From 84d9c625bfea59e274550651111ae9edfdc40fbd Mon Sep 17 00:00:00 2001 From: Lionel Sambuc Date: Fri, 6 Dec 2013 12:04:52 +0100 Subject: [PATCH] Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC) - Fix for possible unset uid/gid in toproto - Fix for default mtree style - Update libelf - Importing libexecinfo - Resynchronize GCC, mpc, gmp, mpfr - build.sh: Replace params with show-params. This has been done as the make target has been renamed in the same way, while a new target named params has been added. This new target generates a file containing all the parameters, instead of printing it on the console. - Update test48 with new etc/services (Fix by Ben Gras explicit_memset.c} | 13 +- common/lib/libc/string/strcmp.c | 6 +- common/lib/libc/string/strlcat.c | 20 +- common/lib/libprop/prop_dictionary.c | 8 +- common/lib/libprop/prop_number.c | 4 +- common/lib/libprop/prop_object.c | 4 +- common/lib/libutil/snprintb.c | 81 +- dist/nvi/cl/extern.h | 59 - dist/nvi/common/dbinternal.h | 3 - dist/nvi/common/extern.h | 218 - dist/nvi/dist/INSTALL | 182 - dist/nvi/dist/Makefile.in | 1797 - dist/nvi/dist/acconfig.h | 126 - dist/nvi/dist/aclocal.m4 | 7440 ---- dist/nvi/dist/compile | 99 - dist/nvi/dist/config.guess | 1516 - dist/nvi/dist/config.h.in | 283 - dist/nvi/dist/config.sub | 1626 - dist/nvi/dist/configure | 30513 ---------------- dist/nvi/dist/depcomp | 411 - dist/nvi/dist/install-sh | 507 - dist/nvi/dist/ltmain.sh | 6930 ---- dist/nvi/dist/missing | 283 - dist/nvi/dist/mkinstalldirs | 40 - dist/nvi/ex/ex.awk | 6 - dist/nvi/ex/ex_def.h | 83 - dist/nvi/ex/extern.h | 133 - dist/nvi/ex/version.h | 3 - dist/nvi/gtk/extern.h | 7 - dist/nvi/include/bitstring.h | 145 - dist/nvi/include/sys/queue.h | 261 - dist/nvi/ip/extern.h | 33 - dist/nvi/ipc/extern.h | 9 - dist/nvi/ipc/ipc_def.h | 62 - dist/nvi/motif/extern.h | 4 - dist/nvi/motif_l/extern.h | 31 - dist/nvi/perl_api/extern.h | 12 - dist/nvi/tcl_api/extern.h | 4 - dist/nvi/vi/extern.h | 150 - distrib/common/Makefile.bootcd | 2 +- distrib/common/Makefile.image | 5 +- distrib/common/Makefile.mdset | 12 +- distrib/common/Makefile.minirootkmod | 56 + .../common/bootimage/Makefile.installimage | 10 +- distrib/common/bootimage/Makefile.liveimage | 11 +- distrib/common/bootimage/fstab.in | 2 +- distrib/common/bootimage/fstab.install.in | 2 +- distrib/common/cgdroot.rc | 60 + distrib/common/list.cgdroot | 10 + distrib/common/mtree.cgdroot | 8 + distrib/sets/Makefile | 30 +- distrib/sets/README | 15 +- distrib/sets/checkflist | 6 +- distrib/sets/comments | 4 + distrib/sets/deps | 9 + distrib/sets/descrs | 9 + distrib/sets/getdirs.awk | 11 +- distrib/sets/lists/base/ad.arm | 395 +- distrib/sets/lists/base/ad.arm.shl | 7 + distrib/sets/lists/base/ad.armeb | 12 - distrib/sets/lists/base/ad.mips | 712 +- distrib/sets/lists/base/ad.mips64eb | 624 - distrib/sets/lists/base/ad.mips64el | 624 - distrib/sets/lists/base/md.acorn26 | 4 - distrib/sets/lists/base/md.acorn32 | 6 +- distrib/sets/lists/base/md.amd64 | 200 +- distrib/sets/lists/base/md.bebox | 6 +- distrib/sets/lists/base/md.cobalt | 4 +- distrib/sets/lists/base/md.evbarm | 10 - distrib/sets/lists/base/md.evbarm.armeb | 3 - distrib/sets/lists/base/md.ews4800mips | 4 +- distrib/sets/lists/base/md.hpcarm | 5 +- distrib/sets/lists/base/md.luna68k | 2 + distrib/sets/lists/base/md.macppc | 4 +- distrib/sets/lists/base/md.mmeye | 4 +- distrib/sets/lists/base/md.ofppc | 4 +- distrib/sets/lists/base/md.prep | 4 +- distrib/sets/lists/base/md.shark | 6 +- distrib/sets/lists/base/md.sparc | 10 +- distrib/sets/lists/base/md.sparc64 | 179 +- distrib/sets/lists/base/md.sun2 | 3 +- distrib/sets/lists/base/md.x68k | 4 +- distrib/sets/lists/base/md.zaurus | 7 - distrib/sets/lists/base/mi | 635 +- distrib/sets/lists/base/rescue.ad.arm | 4 +- distrib/sets/lists/base/rescue.ad.armeb | 3 - distrib/sets/lists/base/rescue.mi | 6 +- distrib/sets/lists/base/shl.mi | 241 +- distrib/sets/lists/comp/ad.arm | 1805 +- distrib/sets/lists/comp/ad.arm.shl | 5 + distrib/sets/lists/comp/ad.armeb | 108 - distrib/sets/lists/comp/ad.hppa | 3 +- distrib/sets/lists/comp/ad.m68k | 10 +- distrib/sets/lists/comp/ad.m68k.shl | 4 +- distrib/sets/lists/comp/ad.mips | 1294 +- distrib/sets/lists/comp/ad.mips64eb | 1637 - distrib/sets/lists/comp/ad.mips64el | 1637 - distrib/sets/lists/comp/ad.powerpc | 20 +- distrib/sets/lists/comp/ad.sh3 | 3 +- distrib/sets/lists/comp/md.acorn26 | 104 - distrib/sets/lists/comp/md.acorn32 | 58 - distrib/sets/lists/comp/md.alpha | 8 +- distrib/sets/lists/comp/md.amd64 | 522 +- distrib/sets/lists/comp/md.amiga | 7 +- distrib/sets/lists/comp/md.amigappc | 7 +- distrib/sets/lists/comp/md.atari | 12 +- distrib/sets/lists/comp/md.bebox | 5 +- distrib/sets/lists/comp/md.cats | 51 - distrib/sets/lists/comp/md.emips | 5 +- distrib/sets/lists/comp/md.evbarm | 50 - distrib/sets/lists/comp/md.evbcf | 47 + distrib/sets/lists/comp/md.evbmips | 3 +- distrib/sets/lists/comp/md.evbppc | 3 +- distrib/sets/lists/comp/md.ews4800mips | 5 +- distrib/sets/lists/comp/md.hp300 | 5 +- distrib/sets/lists/comp/md.hp700 | 3 +- distrib/sets/lists/comp/md.hpcarm | 52 - distrib/sets/lists/comp/md.hpcmips | 6 +- distrib/sets/lists/comp/md.hpcsh | 5 +- distrib/sets/lists/comp/md.i386 | 171 +- distrib/sets/lists/comp/md.ibmnws | 3 +- distrib/sets/lists/comp/md.iyonix | 50 - distrib/sets/lists/comp/md.landisk | 4 +- distrib/sets/lists/comp/md.macppc | 7 +- distrib/sets/lists/comp/md.mipsco | 4 +- distrib/sets/lists/comp/md.mmeye | 4 +- distrib/sets/lists/comp/md.mvme68k | 4 +- distrib/sets/lists/comp/md.mvmeppc | 3 +- distrib/sets/lists/comp/md.netwinder | 50 - distrib/sets/lists/comp/md.newsmips | 3 +- distrib/sets/lists/comp/md.ofppc | 4 +- distrib/sets/lists/comp/md.prep | 5 +- distrib/sets/lists/comp/md.rs6000 | 4 +- distrib/sets/lists/comp/md.sandpoint | 3 +- distrib/sets/lists/comp/md.sbmips | 3 +- distrib/sets/lists/comp/md.sgimips | 4 +- distrib/sets/lists/comp/md.shark | 55 - distrib/sets/lists/comp/md.sparc | 17 +- distrib/sets/lists/comp/md.sparc64 | 343 +- distrib/sets/lists/comp/md.sun2 | 3 +- distrib/sets/lists/comp/md.sun3 | 4 +- distrib/sets/lists/comp/md.vax | 8 +- distrib/sets/lists/comp/md.x68k | 12 +- distrib/sets/lists/comp/md.zaurus | 52 - distrib/sets/lists/comp/mi | 4293 +-- distrib/sets/lists/comp/shl.mi | 263 +- distrib/sets/lists/debug/ad.arm | 217 + distrib/sets/lists/debug/ad.m68k | 4 + distrib/sets/lists/debug/ad.m68k.shl | 3 + distrib/sets/lists/debug/ad.mips | 389 + distrib/sets/lists/debug/ad.powerpc | 4 + distrib/sets/lists/debug/md.alpha | 7 + distrib/sets/lists/debug/md.amd64 | 338 + distrib/sets/lists/debug/md.amiga | 6 + distrib/sets/lists/debug/md.atari | 11 + distrib/sets/lists/debug/md.bebox | 3 + distrib/sets/lists/debug/md.dreamcast | 1 + distrib/sets/lists/debug/md.evbmips | 1 + distrib/sets/lists/debug/md.ews4800mips | 1 + distrib/sets/lists/debug/md.hp300 | 4 + distrib/sets/lists/debug/md.hp700 | 2 + distrib/sets/lists/debug/md.hpcmips | 4 + distrib/sets/lists/debug/md.hpcsh | 4 + distrib/sets/lists/debug/md.i386 | 19 + distrib/sets/lists/debug/md.luna68k | 1 + distrib/sets/lists/debug/md.mac68k | 1 + distrib/sets/lists/debug/md.macppc | 5 + distrib/sets/lists/debug/md.mipsco | 2 + distrib/sets/lists/debug/md.mmeye | 3 + distrib/sets/lists/debug/md.mvme68k | 3 + distrib/sets/lists/debug/md.newsmips | 1 + distrib/sets/lists/debug/md.ofppc | 2 + distrib/sets/lists/debug/md.pmax | 1 + distrib/sets/lists/debug/md.prep | 3 + distrib/sets/lists/debug/md.rs6000 | 2 + distrib/sets/lists/debug/md.sgimips | 2 + distrib/sets/lists/debug/md.sparc | 10 + distrib/sets/lists/debug/md.sparc64 | 328 + distrib/sets/lists/debug/md.sun2 | 2 + distrib/sets/lists/debug/md.sun3 | 3 + distrib/sets/lists/debug/md.vax | 2 + distrib/sets/lists/debug/md.x68k | 11 + distrib/sets/lists/debug/mi | 2142 ++ distrib/sets/lists/debug/module.mi | 4 + distrib/sets/lists/debug/shl.mi | 281 + distrib/sets/lists/etc/md.evbarm | 2 + distrib/sets/lists/etc/mi | 26 +- distrib/sets/lists/games/mi | 10 +- distrib/sets/lists/man/mi | 450 +- distrib/sets/lists/minix/md.evbarm | 90 +- distrib/sets/lists/minix/md.i386 | 6 +- distrib/sets/lists/minix/mi | 257 +- distrib/sets/lists/misc/mi | 44 +- distrib/sets/lists/modules/ad.arm | 4 +- .../lists/modules/{ad.mips64eb => ad.mips} | 2 +- distrib/sets/lists/modules/ad.mips64el | 3 - distrib/sets/lists/modules/ad.mipseb | 3 - distrib/sets/lists/modules/ad.mipsel | 3 - distrib/sets/lists/modules/md.amd64 | 12 +- distrib/sets/lists/modules/md.evbppc | 50 +- distrib/sets/lists/modules/md.i386 | 6 +- distrib/sets/lists/modules/md.sparc | 6 +- distrib/sets/lists/modules/mi | 36 +- distrib/sets/lists/tests/mi | 570 +- distrib/sets/lists/tests/module.mi | 6 +- distrib/sets/lists/tests/shl.mi | 2 +- distrib/sets/lists/text/mi | 4 +- distrib/sets/lists/xbase/md.amd64 | 4 +- distrib/sets/lists/xbase/md.i386 | 4 +- distrib/sets/lists/xbase/mi | 158 +- distrib/sets/lists/xbase/shl.mi | 63 +- distrib/sets/lists/xcomp/md.acorn32 | 4 +- distrib/sets/lists/xcomp/md.alpha | 8 +- distrib/sets/lists/xcomp/md.amd64 | 111 +- distrib/sets/lists/xcomp/md.amiga | 4 +- distrib/sets/lists/xcomp/md.cats | 49 +- distrib/sets/lists/xcomp/md.dreamcast | 7 +- distrib/sets/lists/xcomp/md.evbmips | 27 +- distrib/sets/lists/xcomp/md.ews4800mips | 7 +- distrib/sets/lists/xcomp/md.hp300 | 5 +- distrib/sets/lists/xcomp/md.hpcarm | 7 +- distrib/sets/lists/xcomp/md.hpcmips | 7 +- distrib/sets/lists/xcomp/md.hpcsh | 7 +- distrib/sets/lists/xcomp/md.i386 | 110 +- distrib/sets/lists/xcomp/md.luna68k | 5 +- distrib/sets/lists/xcomp/md.mac68k | 4 +- distrib/sets/lists/xcomp/md.macppc | 57 +- distrib/sets/lists/xcomp/md.netwinder | 17 +- distrib/sets/lists/xcomp/md.newsmips | 7 +- distrib/sets/lists/xcomp/md.ofppc | 50 +- distrib/sets/lists/xcomp/md.pmax | 4 +- distrib/sets/lists/xcomp/md.sgimips | 31 +- distrib/sets/lists/xcomp/md.shark | 33 +- distrib/sets/lists/xcomp/md.sparc | 48 +- distrib/sets/lists/xcomp/md.sparc64 | 47 +- distrib/sets/lists/xcomp/md.sun3 | 7 +- distrib/sets/lists/xcomp/md.vax | 23 +- distrib/sets/lists/xcomp/md.x68k | 4 +- distrib/sets/lists/xcomp/md.zaurus | 5 +- distrib/sets/lists/xcomp/mi | 485 +- distrib/sets/lists/xcomp/shl.mi | 143 +- distrib/sets/lists/xdebug/md.acorn32 | 3 + distrib/sets/lists/xdebug/md.alpha | 25 + distrib/sets/lists/xdebug/md.amd64 | 198 + distrib/sets/lists/xdebug/md.amiga | 3 + distrib/sets/lists/xdebug/md.bebox | 34 + distrib/sets/lists/xdebug/md.cats | 121 + distrib/sets/lists/xdebug/md.dreamcast | 36 + distrib/sets/lists/xdebug/md.evbarm | 41 + distrib/sets/lists/xdebug/md.evbarm.armeb | 41 + distrib/sets/lists/xdebug/md.evbmips | 62 + distrib/sets/lists/xdebug/md.ews4800mips | 36 + distrib/sets/lists/xdebug/md.hp300 | 34 + distrib/sets/lists/xdebug/md.hpcarm | 36 + distrib/sets/lists/xdebug/md.hpcmips | 36 + distrib/sets/lists/xdebug/md.hpcsh | 36 + distrib/sets/lists/xdebug/md.i386 | 248 + distrib/sets/lists/xdebug/md.luna68k | 34 + distrib/sets/lists/xdebug/md.mac68k | 3 + distrib/sets/lists/xdebug/md.macppc | 120 + distrib/sets/lists/xdebug/md.netwinder | 59 + distrib/sets/lists/xdebug/md.newsmips | 36 + distrib/sets/lists/xdebug/md.ofppc | 101 + distrib/sets/lists/xdebug/md.pmax | 3 + distrib/sets/lists/xdebug/md.prep | 34 + distrib/sets/lists/xdebug/md.sgimips | 79 + distrib/sets/lists/xdebug/md.shark | 82 + distrib/sets/lists/xdebug/md.sparc | 95 + distrib/sets/lists/xdebug/md.sparc64 | 97 + distrib/sets/lists/xdebug/md.sun3 | 6 + distrib/sets/lists/xdebug/md.vax | 55 + distrib/sets/lists/xdebug/md.x68k | 3 + distrib/sets/lists/xdebug/md.zaurus | 34 + distrib/sets/lists/xdebug/mi | 404 + distrib/sets/lists/xdebug/shl.mi | 145 + distrib/sets/lists/xetc/mi | 19 +- distrib/sets/lists/xserver/md.alpha | 5 +- distrib/sets/lists/xserver/md.amd64 | 27 +- distrib/sets/lists/xserver/md.bebox | 22 +- distrib/sets/lists/xserver/md.cats | 31 +- distrib/sets/lists/xserver/md.dreamcast | 17 +- distrib/sets/lists/xserver/md.evbarm | 19 +- distrib/sets/lists/xserver/md.evbmips | 15 +- distrib/sets/lists/xserver/md.ews4800mips | 17 +- distrib/sets/lists/xserver/md.hp300 | 17 +- distrib/sets/lists/xserver/md.hpcarm | 17 +- distrib/sets/lists/xserver/md.hpcmips | 17 +- distrib/sets/lists/xserver/md.hpcsh | 17 +- distrib/sets/lists/xserver/md.i386 | 80 +- distrib/sets/lists/xserver/md.luna68k | 17 +- distrib/sets/lists/xserver/md.macppc | 31 +- distrib/sets/lists/xserver/md.netwinder | 30 +- distrib/sets/lists/xserver/md.newsmips | 17 +- distrib/sets/lists/xserver/md.ofppc | 21 +- distrib/sets/lists/xserver/md.prep | 22 +- distrib/sets/lists/xserver/md.sgimips | 30 +- distrib/sets/lists/xserver/md.shark | 31 +- distrib/sets/lists/xserver/md.sparc | 28 +- distrib/sets/lists/xserver/md.sparc64 | 30 +- distrib/sets/lists/xserver/md.vax | 16 +- distrib/sets/lists/xserver/md.zaurus | 19 +- distrib/sets/lists/xserver/mi | 6 +- distrib/sets/makeflist | 4 +- distrib/sets/maketars | 38 +- distrib/sets/mkvars.mk | 26 +- distrib/sets/regpkg | 6 +- distrib/sets/regpkgset | 2 +- distrib/sets/sets.subr | 37 +- distrib/sets/sort-list | 7 + drivers/Makefile | 20 +- drivers/amddev/amddev.c | 1 + drivers/dec21140A/dec21140A.c | 2 +- drivers/memory/memory.c | 1 + drivers/orinoco/orinoco.c | 1 + drivers/pci/pci.c | 1 + drivers/ramdisk/Makefile | 3 +- drivers/ramdisk/proto | 2 +- drivers/ramdisk/rc | 2 +- drivers/ti1225/ti1225.c | 1 + drivers/vbox/hgcm.c | 2 + etc/Makefile | 108 +- etc/Makefile.params | 130 + etc/defaults/Makefile | 4 +- etc/man.conf | 13 +- etc/mtree/Makefile | 7 +- etc/mtree/NetBSD.dist.base | 9 + etc/mtree/NetBSD.dist.tests | 6 +- etc/mtree/special | 9 +- etc/protocols | 295 +- etc/rc.conf | 2 +- etc/rc.subr | 32 +- etc/services | 19873 +++++++++- etc/shells | 7 + external/bsd/Makefile | 7 +- external/bsd/atf/Makefile.inc | 3 + external/bsd/atf/dist/atf-c/detail/fs.c | 4 +- external/bsd/atf/dist/atf-c/detail/process.c | 2 +- external/bsd/atf/lib/libatf-c++/Makefile | 7 +- external/bsd/atf/lib/libatf-c/bconfig.h | 2 +- external/bsd/byacc/dist/AUTHORS | 2 +- external/bsd/byacc/dist/CHANGES | 308 + external/bsd/byacc/dist/README | 2 +- external/bsd/byacc/dist/VERSION | 2 +- external/bsd/byacc/dist/aclocal.m4 | 408 +- external/bsd/byacc/dist/closure.c | 6 +- external/bsd/byacc/dist/config.guess | 226 +- external/bsd/byacc/dist/config.sub | 169 +- external/bsd/byacc/dist/config_h.in | 55 +- external/bsd/byacc/dist/configure | 2627 +- external/bsd/byacc/dist/configure.in | 14 +- external/bsd/byacc/dist/defs.h | 24 +- external/bsd/byacc/dist/error.c | 6 +- external/bsd/byacc/dist/lr0.c | 8 +- external/bsd/byacc/dist/main.c | 30 +- external/bsd/byacc/dist/makefile.in | 5 +- external/bsd/byacc/dist/mkpar.c | 9 +- external/bsd/byacc/dist/output.c | 50 +- external/bsd/byacc/dist/package/byacc.spec | 4 +- .../bsd/byacc/dist/package/debian/changelog | 30 + .../bsd/byacc/dist/package/debian/copyright | 4 +- .../bsd/byacc/dist/package/pkgsrc/Makefile | 2 +- external/bsd/byacc/dist/package/pkgsrc/PLIST | 2 +- .../bsd/byacc/dist/package/pkgsrc/distinfo | 2 +- external/bsd/byacc/dist/reader.c | 75 +- external/bsd/byacc/dist/skeleton.c | 12 +- external/bsd/byacc/dist/symtab.c | 13 +- external/bsd/byacc/dist/test/README | 2 +- external/bsd/byacc/dist/test/calc.tab.c | 54 +- external/bsd/byacc/dist/test/calc.y | 10 +- external/bsd/byacc/dist/test/calc1.tab.c | 78 +- external/bsd/byacc/dist/test/calc1.y | 12 +- external/bsd/byacc/dist/test/calc2.tab.c | 57 +- external/bsd/byacc/dist/test/calc2.y | 13 +- external/bsd/byacc/dist/test/calc3.tab.c | 62 +- external/bsd/byacc/dist/test/calc3.y | 12 +- external/bsd/byacc/dist/test/code_calc.code.c | 55 +- external/bsd/byacc/dist/test/code_calc.y | 11 +- .../bsd/byacc/dist/test/code_error.code.c | 21 +- external/bsd/byacc/dist/test/code_error.y | 11 +- external/bsd/byacc/dist/test/error.tab.c | 23 +- external/bsd/byacc/dist/test/error.y | 11 +- external/bsd/byacc/dist/test/ftp.output | 22 +- external/bsd/byacc/dist/test/ftp.tab.c | 640 +- external/bsd/byacc/dist/test/ftp.tab.h | 49 +- external/bsd/byacc/dist/test/ftp.y | 243 +- external/bsd/byacc/dist/test/grammar.tab.c | 194 +- external/bsd/byacc/dist/test/grammar.y | 18 +- external/bsd/byacc/dist/test/pure_calc.tab.c | 72 +- external/bsd/byacc/dist/test/pure_calc.y | 22 +- external/bsd/byacc/dist/test/pure_error.tab.c | 31 +- external/bsd/byacc/dist/test/pure_error.y | 16 +- .../bsd/byacc/dist/test/quote_calc-s.output | 557 + .../bsd/byacc/dist/test/quote_calc-s.tab.c | 689 + .../bsd/byacc/dist/test/quote_calc-s.tab.h | 11 + .../bsd/byacc/dist/test/quote_calc.output | 557 + external/bsd/byacc/dist/test/quote_calc.tab.c | 695 + external/bsd/byacc/dist/test/quote_calc.tab.h | 17 + external/bsd/byacc/dist/test/quote_calc.y | 114 + .../bsd/byacc/dist/test/quote_calc2-s.output | 557 + .../bsd/byacc/dist/test/quote_calc2-s.tab.c | 689 + .../bsd/byacc/dist/test/quote_calc2-s.tab.h | 11 + .../bsd/byacc/dist/test/quote_calc2.output | 557 + .../bsd/byacc/dist/test/quote_calc2.tab.c | 695 + .../bsd/byacc/dist/test/quote_calc2.tab.h | 17 + external/bsd/byacc/dist/test/quote_calc2.y | 114 + .../bsd/byacc/dist/test/quote_calc3-s.output | 557 + .../bsd/byacc/dist/test/quote_calc3-s.tab.c | 690 + .../bsd/byacc/dist/test/quote_calc3-s.tab.h | 11 + .../bsd/byacc/dist/test/quote_calc3.output | 557 + .../bsd/byacc/dist/test/quote_calc3.tab.c | 690 + .../bsd/byacc/dist/test/quote_calc3.tab.h | 11 + external/bsd/byacc/dist/test/quote_calc3.y | 114 + .../bsd/byacc/dist/test/quote_calc4-s.output | 557 + .../bsd/byacc/dist/test/quote_calc4-s.tab.c | 690 + .../bsd/byacc/dist/test/quote_calc4-s.tab.h | 11 + .../bsd/byacc/dist/test/quote_calc4.output | 557 + .../bsd/byacc/dist/test/quote_calc4.tab.c | 690 + .../bsd/byacc/dist/test/quote_calc4.tab.h | 11 + external/bsd/byacc/dist/test/quote_calc4.y | 114 + external/bsd/byacc/dist/test/run_lint.sh | 2 +- external/bsd/byacc/dist/test/run_make.sh | 125 +- external/bsd/byacc/dist/test/run_test.sh | 71 +- external/bsd/byacc/dist/verbose.c | 9 +- external/bsd/byacc/dist/vmsbuild.com | 2 +- external/bsd/byacc/dist/warshall.c | 7 +- external/bsd/byacc/dist/yacc.1 | 95 +- external/bsd/byacc/include/config.h | 55 +- external/bsd/bzip2/dist/bzip2.c | 6 +- external/bsd/file/bin/Makefile | 5 +- external/bsd/file/dist/ChangeLog | 77 + external/bsd/file/dist/Makefile.in | 255 +- external/bsd/file/dist/README | 19 +- external/bsd/file/dist/TODO | 16 +- external/bsd/file/dist/aclocal.m4 | 510 +- external/bsd/file/dist/compile | 231 +- external/bsd/file/dist/config.guess | 204 +- external/bsd/file/dist/config.h.in | 155 +- external/bsd/file/dist/config.sub | 50 +- external/bsd/file/dist/configure | 3759 +- external/bsd/file/dist/configure.ac | 66 +- external/bsd/file/dist/depcomp | 246 +- external/bsd/file/dist/doc/Makefile.in | 66 +- external/bsd/file/dist/doc/file.1 | 62 +- external/bsd/file/dist/doc/libmagic.3 | 25 +- external/bsd/file/dist/doc/magic.5 | 152 +- external/bsd/file/dist/install-sh | 16 +- external/bsd/file/dist/magic/Localstuff | 2 +- external/bsd/file/dist/magic/Makefile.am | 13 +- external/bsd/file/dist/magic/Makefile.in | 94 +- external/bsd/file/dist/magic/magdir/adventure | 14 +- external/bsd/file/dist/magic/magdir/amigaos | 5 +- external/bsd/file/dist/magic/magdir/animation | 17 +- external/bsd/file/dist/magic/magdir/aout | 46 + external/bsd/file/dist/magic/magdir/apple | 29 +- external/bsd/file/dist/magic/magdir/archive | 175 +- external/bsd/file/dist/magic/magdir/assembler | 16 +- external/bsd/file/dist/magic/magdir/audio | 5 +- external/bsd/file/dist/magic/magdir/bsdi | 16 +- external/bsd/file/dist/magic/magdir/c-lang | 12 +- external/bsd/file/dist/magic/magdir/cafebabe | 47 +- external/bsd/file/dist/magic/magdir/claris | 10 +- external/bsd/file/dist/magic/magdir/commands | 7 +- external/bsd/file/dist/magic/magdir/console | 6 +- external/bsd/file/dist/magic/magdir/convex | 4 +- external/bsd/file/dist/magic/magdir/cubemap | 8 + external/bsd/file/dist/magic/magdir/cups | 64 +- external/bsd/file/dist/magic/magdir/database | 335 +- external/bsd/file/dist/magic/magdir/diff | 15 +- external/bsd/file/dist/magic/magdir/digital | 30 +- external/bsd/file/dist/magic/magdir/dolby | 3 +- external/bsd/file/dist/magic/magdir/dump | 106 +- external/bsd/file/dist/magic/magdir/elf | 453 +- external/bsd/file/dist/magic/magdir/epoc | 11 +- .../bsd/file/dist/magic/magdir/filesystems | 833 +- external/bsd/file/dist/magic/magdir/fonts | 21 +- external/bsd/file/dist/magic/magdir/fortran | 3 +- external/bsd/file/dist/magic/magdir/geo | 14 +- external/bsd/file/dist/magic/magdir/gnome | 59 + .../bsd/file/dist/magic/magdir/gnome-keyring | 26 - external/bsd/file/dist/magic/magdir/gnu | 17 +- external/bsd/file/dist/magic/magdir/gpt | 241 + .../bsd/file/dist/magic/magdir/hitachi-sh | 5 +- external/bsd/file/dist/magic/magdir/ibm6000 | 10 +- external/bsd/file/dist/magic/magdir/icc | 51 + external/bsd/file/dist/magic/magdir/images | 189 +- external/bsd/file/dist/magic/magdir/intel | 4 +- external/bsd/file/dist/magic/magdir/java | 12 +- .../bsd/file/dist/magic/magdir/javascript | 17 + external/bsd/file/dist/magic/magdir/jpeg | 19 +- external/bsd/file/dist/magic/magdir/keepass | 20 + external/bsd/file/dist/magic/magdir/linux | 18 +- external/bsd/file/dist/magic/magdir/llvm | 14 +- external/bsd/file/dist/magic/magdir/lua | 3 +- external/bsd/file/dist/magic/magdir/mach | 268 +- external/bsd/file/dist/magic/magdir/macos | 7 + external/bsd/file/dist/magic/magdir/mail.news | 7 +- external/bsd/file/dist/magic/magdir/maple | 4 +- external/bsd/file/dist/magic/magdir/matroska | 16 +- external/bsd/file/dist/magic/magdir/mips | 68 +- external/bsd/file/dist/magic/magdir/misctools | 12 +- external/bsd/file/dist/magic/magdir/msdos | 57 +- external/bsd/file/dist/magic/magdir/msooxml | 10 +- external/bsd/file/dist/magic/magdir/natinst | 4 +- external/bsd/file/dist/magic/magdir/netbsd | 10 +- external/bsd/file/dist/magic/magdir/perl | 9 +- external/bsd/file/dist/magic/magdir/pwsafe | 14 + external/bsd/file/dist/magic/magdir/python | 8 +- external/bsd/file/dist/magic/magdir/revision | 4 +- external/bsd/file/dist/magic/magdir/riff | 6 +- external/bsd/file/dist/magic/magdir/rpm | 27 +- external/bsd/file/dist/magic/magdir/sgi | 71 +- external/bsd/file/dist/magic/magdir/sgml | 18 +- external/bsd/file/dist/magic/magdir/sniffer | 164 +- external/bsd/file/dist/magic/magdir/sql | 27 +- external/bsd/file/dist/magic/magdir/sun | 67 +- external/bsd/file/dist/magic/magdir/unknown | 47 +- external/bsd/file/dist/magic/magdir/uterus | 16 + external/bsd/file/dist/magic/magdir/vax | 18 +- external/bsd/file/dist/magic/magdir/vms | 8 +- external/bsd/file/dist/magic/magdir/windows | 49 +- .../bsd/file/dist/magic/magdir/wordprocessors | 8 +- external/bsd/file/dist/magic/magdir/wsdl | 4 +- external/bsd/file/dist/magic/magdir/xilinx | 5 +- external/bsd/file/dist/magic/magdir/xwindows | 4 +- external/bsd/file/dist/missing | 148 +- external/bsd/file/dist/python/Makefile.in | 66 +- external/bsd/file/dist/src/Makefile.am | 9 +- external/bsd/file/dist/src/Makefile.in | 204 +- external/bsd/file/dist/src/apprentice.c | 976 +- external/bsd/file/dist/src/ascmagic.c | 8 +- external/bsd/file/dist/src/asctime_r.c | 25 + external/bsd/file/dist/src/cdf.c | 17 +- external/bsd/file/dist/src/cdf.h | 4 +- external/bsd/file/dist/src/cdf_time.c | 21 +- external/bsd/file/dist/src/compress.c | 39 +- external/bsd/file/dist/src/ctime_r.c | 25 + external/bsd/file/dist/src/elfclass.h | 5 +- external/bsd/file/dist/src/file.c | 53 +- external/bsd/file/dist/src/file.h | 71 +- external/bsd/file/dist/src/file_opts.h | 4 +- external/bsd/file/dist/src/fsmagic.c | 135 +- external/bsd/file/dist/src/funcs.c | 8 +- external/bsd/file/dist/src/getline.c | 4 +- external/bsd/file/dist/src/magic.c | 124 +- .../bsd/file/dist/src/{magic.h => magic.h.in} | 5 +- external/bsd/file/dist/src/pread.c | 20 + external/bsd/file/dist/src/print.c | 66 +- external/bsd/file/dist/src/readcdf.c | 34 +- external/bsd/file/dist/src/readelf.c | 147 +- external/bsd/file/dist/src/readelf.h | 10 +- external/bsd/file/dist/src/softmagic.c | 292 +- external/bsd/file/dist/src/vasprintf.c | 27 +- external/bsd/file/dist/tests/Makefile.in | 148 +- external/bsd/file/file2netbsd | 18 +- external/bsd/file/include/config.h | 159 +- external/bsd/file/lib/Makefile | 8 +- external/bsd/file/lib/shlib_version | 4 +- external/bsd/flex/dist/ChangeLog | 5442 +-- external/bsd/flex/dist/INSTALL | 241 +- external/bsd/flex/dist/Makefile.am | 30 +- external/bsd/flex/dist/Makefile.in | 589 +- external/bsd/flex/dist/NEWS | 30 + external/bsd/flex/dist/README.cvs | 6 +- external/bsd/flex/dist/aclocal.m4 | 470 +- external/bsd/flex/dist/buf.c | 28 +- external/bsd/flex/dist/compile | 21 +- external/bsd/flex/dist/conf.in | 15 +- external/bsd/flex/dist/config.guess | 193 +- external/bsd/flex/dist/config.sub | 210 +- external/bsd/flex/dist/configure | 11201 +++--- external/bsd/flex/dist/configure.in | 45 +- external/bsd/flex/dist/depcomp | 172 +- external/bsd/flex/dist/dfa.c | 15 +- external/bsd/flex/dist/doc/Makefile.am | 2 +- external/bsd/flex/dist/doc/Makefile.in | 421 +- external/bsd/flex/dist/doc/flex.1 | 6 +- external/bsd/flex/dist/doc/flex.info | 470 +- external/bsd/flex/dist/doc/flex.info-1 | 349 +- external/bsd/flex/dist/doc/flex.info-2 | Bin 52175 -> 52182 bytes external/bsd/flex/dist/doc/flex.pdf | Bin 697753 -> 773710 bytes external/bsd/flex/dist/doc/flex.texi | 105 +- external/bsd/flex/dist/doc/mdate-sh | 18 +- external/bsd/flex/dist/doc/stamp-vti | 8 +- external/bsd/flex/dist/doc/texinfo.tex | 3119 +- external/bsd/flex/dist/doc/version.texi | 10 +- external/bsd/flex/dist/examples/Makefile.in | 258 +- .../bsd/flex/dist/examples/fastwc/Makefile.in | 130 +- .../bsd/flex/dist/examples/manual/Makefile.in | 130 +- external/bsd/flex/dist/filter.c | 35 +- external/bsd/flex/dist/flex.skl | 125 +- external/bsd/flex/dist/flexdef.h | 23 +- external/bsd/flex/dist/flexint.h | 4 +- external/bsd/flex/dist/gen.c | 4 +- external/bsd/flex/dist/initparse.c | 424 +- external/bsd/flex/dist/install-sh | 511 +- external/bsd/flex/dist/lib/Makefile.am | 4 + external/bsd/flex/dist/lib/Makefile.in | 461 + external/bsd/flex/dist/lib/lib.c | 9 + external/bsd/flex/dist/lib/malloc.c | 19 + external/bsd/flex/dist/lib/realloc.c | 29 + external/bsd/flex/dist/m4/Makefile.am | 1 - external/bsd/flex/dist/m4/Makefile.in | 316 - external/bsd/flex/dist/m4/codeset.m4 | 23 - external/bsd/flex/dist/m4/glibc21.m4 | 32 - external/bsd/flex/dist/m4/intdiv0.m4 | 72 - external/bsd/flex/dist/m4/inttypes-pri.m4 | 32 - external/bsd/flex/dist/m4/inttypes.m4 | 27 - external/bsd/flex/dist/m4/inttypes_h.m4 | 28 - external/bsd/flex/dist/m4/isc-posix.m4 | 26 - external/bsd/flex/dist/m4/lcmessage.m4 | 32 - external/bsd/flex/dist/m4/stdint_h.m4 | 28 - external/bsd/flex/dist/m4/uintmax_t.m4 | 32 - external/bsd/flex/dist/m4/ulonglong.m4 | 23 - external/bsd/flex/dist/main.c | 13 +- external/bsd/flex/dist/misc.c | 145 +- external/bsd/flex/dist/missing | 104 +- external/bsd/flex/dist/parse.y | 12 +- external/bsd/flex/dist/po/LINGUAS | 1 + external/bsd/flex/dist/po/ca.po | 217 +- external/bsd/flex/dist/po/da.po | 193 +- external/bsd/flex/dist/po/de.po | 202 +- external/bsd/flex/dist/po/es.po | 193 +- external/bsd/flex/dist/po/fi.gmo | Bin 0 -> 22521 bytes external/bsd/flex/dist/po/flex.pot | 193 +- external/bsd/flex/dist/po/fr.po | 627 +- external/bsd/flex/dist/po/ga.po | 598 +- external/bsd/flex/dist/po/ko.po | 193 +- external/bsd/flex/dist/po/nl.po | 195 +- external/bsd/flex/dist/po/pl.po | 202 +- external/bsd/flex/dist/po/pt_BR.po | 195 +- external/bsd/flex/dist/po/ro.po | 195 +- external/bsd/flex/dist/po/ru.po | 195 +- external/bsd/flex/dist/po/sv.po | 195 +- external/bsd/flex/dist/po/tr.po | 195 +- external/bsd/flex/dist/po/vi.po | 327 +- external/bsd/flex/dist/po/zh_CN.po | 193 +- external/bsd/flex/dist/regex.c | 18 +- external/bsd/flex/dist/scan.l | 12 +- external/bsd/flex/dist/scanflags.c | 5 +- external/bsd/flex/dist/scanopt.c | 17 +- external/bsd/flex/dist/tables.c | 11 +- external/bsd/flex/dist/tests/Makefile.in | 265 +- .../bsd/flex/dist/tests/TEMPLATE/Makefile.in | 131 +- .../dist/tests/test-alloc-extra/Makefile.in | 130 +- .../flex/dist/tests/test-array-nr/Makefile.in | 130 +- .../flex/dist/tests/test-array-r/Makefile.in | 130 +- .../flex/dist/tests/test-basic-nr/Makefile.in | 130 +- .../flex/dist/tests/test-basic-r/Makefile.in | 130 +- .../flex/dist/tests/test-bison-nr/Makefile.am | 8 +- .../flex/dist/tests/test-bison-nr/Makefile.in | 140 +- .../dist/tests/test-bison-yylloc/Makefile.am | 8 +- .../dist/tests/test-bison-yylloc/Makefile.in | 140 +- .../dist/tests/test-bison-yylval/Makefile.am | 8 +- .../dist/tests/test-bison-yylval/Makefile.in | 140 +- .../dist/tests/test-c++-basic/Makefile.in | 130 +- .../test-c++-multiple-scanners/Makefile.in | 131 +- .../dist/tests/test-c++-yywrap/Makefile.in | 130 +- .../flex/dist/tests/test-c-cpp-nr/Makefile.in | 130 +- .../flex/dist/tests/test-c-cpp-r/Makefile.in | 130 +- .../bsd/flex/dist/tests/test-ccl/Makefile.in | 131 +- .../test-concatenated-options/Makefile.in | 130 +- .../flex/dist/tests/test-debug-nr/Makefile.in | 130 +- .../flex/dist/tests/test-debug-r/Makefile.in | 130 +- .../flex/dist/tests/test-extended/Makefile.in | 131 +- .../dist/tests/test-header-nr/Makefile.in | 131 +- .../flex/dist/tests/test-header-r/Makefile.in | 131 +- .../tests/test-include-by-buffer/Makefile.in | 130 +- .../tests/test-include-by-push/Makefile.in | 130 +- .../test-include-by-reentrant/Makefile.in | 130 +- .../dist/tests/test-linedir-r/Makefile.in | 131 +- .../dist/tests/test-lineno-nr/Makefile.in | 130 +- .../flex/dist/tests/test-lineno-r/Makefile.in | 130 +- .../flex/dist/tests/test-mem-nr/Makefile.in | 130 +- .../flex/dist/tests/test-mem-r/Makefile.in | 130 +- .../test-multiple-scanners-nr/Makefile.in | 131 +- .../test-multiple-scanners-r/Makefile.in | 131 +- .../dist/tests/test-noansi-nr/Makefile.in | 130 +- .../flex/dist/tests/test-noansi-r/Makefile.in | 130 +- .../flex/dist/tests/test-posix/Makefile.in | 130 +- .../tests/test-posixly-correct/Makefile.in | 130 +- .../dist/tests/test-prefix-nr/Makefile.in | 130 +- .../flex/dist/tests/test-prefix-r/Makefile.in | 130 +- .../flex/dist/tests/test-pthread/Makefile.am | 4 +- .../flex/dist/tests/test-pthread/Makefile.in | 136 +- .../flex/dist/tests/test-quotes/Makefile.in | 131 +- .../flex/dist/tests/test-reject/Makefile.in | 130 +- .../bsd/flex/dist/tests/test-reject/scanner.l | 8 +- .../dist/tests/test-rescan-nr/Makefile.in | 131 +- .../flex/dist/tests/test-rescan-r/Makefile.in | 131 +- .../dist/tests/test-string-nr/Makefile.in | 130 +- .../flex/dist/tests/test-string-r/Makefile.in | 130 +- .../dist/tests/test-table-opts/Makefile.in | 130 +- .../flex/dist/tests/test-table-opts/scanner.l | 8 +- .../bsd/flex/dist/tests/test-top/Makefile.in | 131 +- .../flex/dist/tests/test-yyextra/Makefile.in | 130 +- external/bsd/flex/dist/tools/Makefile.am | 3 +- external/bsd/flex/dist/tools/Makefile.in | 133 +- external/bsd/flex/dist/tools/cvs2cl.pl | 1977 - external/bsd/flex/dist/tools/cvsauthors | 5 - external/bsd/flex/dist/tools/git2cl | 372 + external/bsd/flex/dist/ylwrap | 222 + external/bsd/flex/include/config.h | 27 +- external/bsd/kyua-cli/Makefile.inc | 21 +- external/bsd/kyua-cli/config.h | 6 +- external/bsd/kyua-cli/dist/NEWS | 25 +- .../bsd/kyua-cli/dist/bootstrap/package.m4 | 4 +- .../bsd/kyua-cli/dist/bootstrap/testsuite | 10 +- external/bsd/kyua-cli/dist/cli/cmd_report.cpp | 60 +- .../bsd/kyua-cli/dist/cli/cmd_report_html.cpp | 82 +- external/bsd/kyua-cli/dist/cli/common.cpp | 67 + external/bsd/kyua-cli/dist/cli/common.hpp | 14 +- .../bsd/kyua-cli/dist/cli/common_test.cpp | 83 + .../kyua-cli/dist/doc/kyua-report-html.1.in | 21 +- external/bsd/kyua-cli/dist/engine/action.hpp | 5 +- external/bsd/kyua-cli/dist/engine/context.hpp | 4 +- .../dist/engine/drivers/debug_test.hpp | 3 +- .../dist/engine/drivers/list_tests.hpp | 3 +- .../dist/engine/drivers/run_tests.hpp | 3 +- .../dist/engine/drivers/scan_action.hpp | 3 +- external/bsd/kyua-cli/dist/engine/filters.hpp | 3 +- .../bsd/kyua-cli/dist/engine/metadata.hpp | 5 +- .../kyua-cli/dist/engine/metadata_test.cpp | 2 +- .../bsd/kyua-cli/dist/engine/test_case.cpp | 68 +- .../bsd/kyua-cli/dist/engine/test_case.hpp | 6 +- .../kyua-cli/dist/engine/test_case_test.cpp | 43 + .../bsd/kyua-cli/dist/engine/test_program.hpp | 6 +- .../dist/engine/test_program_test.cpp | 58 + external/bsd/kyua-cli/dist/engine/testers.cpp | 3 +- .../bsd/kyua-cli/dist/engine/testers_test.cpp | 76 +- .../dist/integration/cmd_debug_test.sh | 7 +- .../dist/integration/cmd_list_test.sh | 7 +- .../dist/integration/cmd_report_html_test.sh | 76 +- .../dist/integration/cmd_test_test.sh | 7 +- external/bsd/kyua-cli/dist/misc/index.html | 10 +- external/bsd/kyua-cli/dist/store/backend.hpp | 4 +- .../bsd/kyua-cli/dist/store/transaction.cpp | 4 +- .../bsd/kyua-cli/dist/store/transaction.hpp | 8 +- .../dist/utils/cmdline/exceptions.hpp | 1 + .../bsd/kyua-cli/dist/utils/cmdline/ui.hpp | 4 - .../kyua-cli/dist/utils/config/lua_module.cpp | 27 +- .../bsd/kyua-cli/dist/utils/config/tree.hpp | 4 +- external/bsd/kyua-cli/dist/utils/datetime.cpp | 8 +- external/bsd/kyua-cli/dist/utils/datetime.hpp | 9 +- .../kyua-cli/dist/utils/format/exceptions.hpp | 1 + external/bsd/kyua-cli/dist/utils/fs/Kyuafile | 2 +- .../kyua-cli/dist/utils/fs/auto_cleaners.hpp | 6 +- .../bsd/kyua-cli/dist/utils/fs/exceptions.hpp | 1 + external/bsd/kyua-cli/dist/utils/passwd.hpp | 3 +- .../bsd/kyua-cli/dist/utils/process/child.cpp | 3 +- .../bsd/kyua-cli/dist/utils/shared_ptr.hpp | 46 + .../kyua-cli/dist/utils/signals/misc_test.cpp | 9 +- .../kyua-cli/dist/utils/sqlite/database.hpp | 4 +- .../kyua-cli/dist/utils/sqlite/statement.hpp | 5 +- .../dist/utils/sqlite/transaction.hpp | 4 +- external/bsd/kyua-cli/dist/utils/units.cpp | 6 +- external/bsd/kyua-cli/dist/utils/units.hpp | 7 +- external/bsd/kyua-cli/lib/Makefile.inc | 7 +- external/bsd/kyua-cli/lib/utils/Makefile | 8 +- external/bsd/kyua-cli/share/man/man5/Makefile | 4 +- external/bsd/kyua-cli/share/man/man7/Makefile | 4 +- .../tests/kyua-cli/bootstrap/Makefile | 4 - external/bsd/kyua-cli/usr.bin/kyua/Makefile | 4 +- external/bsd/kyua-testers/dist/Kyuafile | 2 +- external/bsd/kyua-testers/dist/atf_list.c | 4 +- external/bsd/kyua-testers/dist/atf_main.c | 4 - external/bsd/kyua-testers/dist/atf_result.c | 4 - external/bsd/kyua-testers/dist/fs.c | 2 +- external/bsd/kyua-testers/dist/plain_main.c | 4 - external/bsd/kyua-testers/dist/run_test.c | 4 - .../bsd/kyua-testers/dist/stacktrace_test.c | 4 - .../bsd/kyua-testers/share/man/man1/Makefile | 3 + .../bsd/kyua-testers/share/man/man5/Makefile | 3 + .../kyua-testers/tests/kyua-testers/Makefile | 2 +- external/bsd/less/dist/LICENSE | 2 +- external/bsd/less/dist/Makefile.aut | 5 +- external/bsd/less/dist/NEWS | 49 +- external/bsd/less/dist/README | 13 +- external/bsd/less/dist/brac.c | 7 +- external/bsd/less/dist/ch.c | 20 +- external/bsd/less/dist/charset.c | 7 +- external/bsd/less/dist/charset.h | 7 +- external/bsd/less/dist/cmd.h | 12 +- external/bsd/less/dist/cmdbuf.c | 77 +- external/bsd/less/dist/command.c | 77 +- external/bsd/less/dist/configure | 465 +- external/bsd/less/dist/configure.ac | 66 +- external/bsd/less/dist/cvt.c | 32 +- external/bsd/less/dist/decode.c | 8 +- external/bsd/less/dist/defines.ds | 20 +- external/bsd/less/dist/defines.h | 26 +- external/bsd/less/dist/defines.h.in | 24 +- external/bsd/less/dist/defines.o2 | 17 +- external/bsd/less/dist/defines.o9 | 17 +- external/bsd/less/dist/defines.wn | 17 +- external/bsd/less/dist/edit.c | 11 +- external/bsd/less/dist/filename.c | 55 +- external/bsd/less/dist/forwback.c | 7 +- external/bsd/less/dist/funcs.h | 3 +- external/bsd/less/dist/help.c | 29 +- external/bsd/less/dist/ifile.c | 7 +- external/bsd/less/dist/input.c | 9 +- external/bsd/less/dist/jump.c | 9 +- external/bsd/less/dist/less.1 | 80 +- external/bsd/less/dist/less.h | 10 +- external/bsd/less/dist/less.hlp | 27 +- external/bsd/less/dist/lessecho.1 | 19 +- external/bsd/less/dist/lessecho.c | 9 +- external/bsd/less/dist/lesskey.1 | 10 +- external/bsd/less/dist/lesskey.c | 10 +- external/bsd/less/dist/lesskey.h | 7 +- external/bsd/less/dist/lglob.h | 7 +- external/bsd/less/dist/line.c | 13 +- external/bsd/less/dist/linenum.c | 7 +- external/bsd/less/dist/lsystem.c | 7 +- external/bsd/less/dist/main.c | 8 +- external/bsd/less/dist/mark.c | 7 +- external/bsd/less/dist/mkhelp.c | 7 +- external/bsd/less/dist/optfunc.c | 32 +- external/bsd/less/dist/option.c | 57 +- external/bsd/less/dist/option.h | 7 +- external/bsd/less/dist/opttbl.c | 17 +- external/bsd/less/dist/os.c | 7 +- external/bsd/less/dist/output.c | 33 +- external/bsd/less/dist/pattern.c | 178 +- external/bsd/less/dist/pattern.h | 18 +- external/bsd/less/dist/pckeys.h | 7 +- external/bsd/less/dist/position.c | 9 +- external/bsd/less/dist/position.h | 7 +- external/bsd/less/dist/prompt.c | 19 +- external/bsd/less/dist/regexp.c | 2 +- external/bsd/less/dist/regexp.h | 2 +- external/bsd/less/dist/screen.c | 11 +- external/bsd/less/dist/scrsize.c | 7 +- external/bsd/less/dist/search.c | 83 +- external/bsd/less/dist/signal.c | 7 +- external/bsd/less/dist/tags.c | 7 +- external/bsd/less/dist/ttyin.c | 7 +- external/bsd/less/dist/version.c | 31 +- external/bsd/libarchive/Makefile.inc | 3 - .../dist/libarchive/archive_entry.3 | 2 +- .../libarchive/dist/libarchive/archive_read.3 | 2 +- .../dist/libarchive/archive_read_disk.3 | 2 +- .../libarchive/dist/libarchive/archive_util.3 | 2 +- .../dist/libarchive/archive_write.3 | 2 +- .../dist/libarchive/archive_write_disk.3 | 2 +- .../archive_write_set_format_shar.c | 6 +- .../libarchive/dist/libarchive/libarchive.3 | 2 +- .../dist/libarchive/libarchive_internals.3 | 2 +- external/bsd/libarchive/dist/libarchive/tar.5 | 2 +- .../libarchive/lib/libarchive/shlib_version | 4 +- external/bsd/libelf/Makefile | 5 + external/bsd/libelf/Makefile.inc | 11 + .../bsd/libelf/dist}/Makefile | 37 +- .../bsd/libelf/dist}/README | 4 +- .../bsd/libelf/dist}/Version.map | 6 +- .../bsd/libelf/dist}/_libelf.h | 63 +- .../libelf => external/bsd/libelf/dist}/elf.3 | 54 +- .../bsd/libelf/dist}/elf_begin.3 | 23 +- .../bsd/libelf/dist}/elf_begin.c | 104 +- .../bsd/libelf/dist}/elf_cntl.3 | 8 +- .../bsd/libelf/dist}/elf_cntl.c | 9 +- .../bsd/libelf/dist}/elf_data.c | 70 +- .../bsd/libelf/dist}/elf_end.3 | 6 +- .../bsd/libelf/dist}/elf_end.c | 20 +- .../bsd/libelf/dist}/elf_errmsg.3 | 6 +- .../bsd/libelf/dist}/elf_errmsg.c | 37 +- .../bsd/libelf/dist}/elf_errno.c | 23 +- .../bsd/libelf/dist}/elf_fill.3 | 6 +- .../bsd/libelf/dist}/elf_fill.c | 7 +- .../bsd/libelf/dist}/elf_flag.c | 42 +- .../bsd/libelf/dist}/elf_flagdata.3 | 43 +- .../bsd/libelf/dist}/elf_getarhdr.3 | 6 +- .../bsd/libelf/dist}/elf_getarhdr.c | 13 +- .../bsd/libelf/dist}/elf_getarsym.3 | 6 +- .../bsd/libelf/dist}/elf_getarsym.c | 12 +- .../bsd/libelf/dist}/elf_getbase.3 | 28 +- .../bsd/libelf/dist}/elf_getbase.c | 15 +- .../bsd/libelf/dist}/elf_getdata.3 | 88 +- .../bsd/libelf/dist}/elf_getident.3 | 6 +- .../bsd/libelf/dist}/elf_getident.c | 13 +- .../bsd/libelf/dist}/elf_getphnum.3 | 18 +- .../bsd/libelf/dist}/elf_getscn.3 | 6 +- .../bsd/libelf/dist}/elf_getshnum.3 | 16 +- .../bsd/libelf/dist}/elf_getshstrndx.3 | 17 +- .../bsd/libelf/dist}/elf_hash.3 | 6 +- .../bsd/libelf/dist}/elf_hash.c | 14 +- .../bsd/libelf/dist}/elf_kind.3 | 6 +- .../bsd/libelf/dist}/elf_kind.c | 7 +- .../bsd/libelf/dist}/elf_memory.3 | 6 +- .../bsd/libelf/dist}/elf_memory.c | 7 +- .../bsd/libelf/dist}/elf_next.3 | 6 +- .../bsd/libelf/dist}/elf_next.c | 12 +- .../bsd/libelf/dist}/elf_phnum.c | 30 +- .../bsd/libelf/dist}/elf_rand.3 | 6 +- .../bsd/libelf/dist}/elf_rand.c | 7 +- .../bsd/libelf/dist}/elf_rawfile.3 | 6 +- .../bsd/libelf/dist}/elf_rawfile.c | 7 +- .../bsd/libelf/dist}/elf_scn.c | 36 +- .../bsd/libelf/dist}/elf_shnum.c | 30 +- .../bsd/libelf/dist}/elf_shstrndx.c | 29 +- .../bsd/libelf/dist}/elf_strptr.3 | 8 +- .../bsd/libelf/dist}/elf_strptr.c | 17 +- .../bsd/libelf/dist}/elf_types.m4 | 58 +- .../bsd/libelf/dist}/elf_update.3 | 10 +- .../bsd/libelf/dist}/elf_update.c | 66 +- .../bsd/libelf/dist}/elf_version.3 | 6 +- .../bsd/libelf/dist}/elf_version.c | 7 +- .../bsd/libelf/dist}/gelf.3 | 6 +- .../bsd/libelf/dist}/gelf.h | 25 +- .../bsd/libelf/dist}/gelf_cap.c | 14 +- .../bsd/libelf/dist}/gelf_checksum.3 | 6 +- .../bsd/libelf/dist}/gelf_checksum.c | 7 +- .../bsd/libelf/dist}/gelf_dyn.c | 12 +- .../bsd/libelf/dist}/gelf_ehdr.c | 16 +- .../bsd/libelf/dist}/gelf_fsize.3 | 8 +- .../bsd/libelf/dist}/gelf_fsize.c | 7 +- .../bsd/libelf/dist}/gelf_getcap.3 | 6 +- .../bsd/libelf/dist}/gelf_getclass.3 | 6 +- .../bsd/libelf/dist}/gelf_getclass.c | 7 +- .../bsd/libelf/dist}/gelf_getdyn.3 | 6 +- .../bsd/libelf/dist}/gelf_getehdr.3 | 6 +- .../bsd/libelf/dist}/gelf_getmove.3 | 6 +- .../bsd/libelf/dist}/gelf_getphdr.3 | 6 +- .../bsd/libelf/dist}/gelf_getrel.3 | 6 +- .../bsd/libelf/dist}/gelf_getrela.3 | 6 +- .../bsd/libelf/dist}/gelf_getshdr.3 | 6 +- .../bsd/libelf/dist}/gelf_getsym.3 | 6 +- .../bsd/libelf/dist}/gelf_getsyminfo.3 | 6 +- .../bsd/libelf/dist}/gelf_getsymshndx.3 | 6 +- .../bsd/libelf/dist}/gelf_move.c | 14 +- .../bsd/libelf/dist}/gelf_newehdr.3 | 6 +- .../bsd/libelf/dist}/gelf_newphdr.3 | 6 +- .../bsd/libelf/dist}/gelf_phdr.c | 12 +- .../bsd/libelf/dist}/gelf_rel.c | 12 +- .../bsd/libelf/dist}/gelf_rela.c | 12 +- .../bsd/libelf/dist}/gelf_shdr.c | 16 +- .../bsd/libelf/dist}/gelf_sym.c | 12 +- .../bsd/libelf/dist}/gelf_syminfo.c | 14 +- .../bsd/libelf/dist}/gelf_symshndx.c | 12 +- .../bsd/libelf/dist}/gelf_update_ehdr.3 | 6 +- .../bsd/libelf/dist}/gelf_xlate.c | 6 +- .../bsd/libelf/dist}/gelf_xlatetof.3 | 6 +- external/bsd/libelf/dist/libelf.c | 73 + .../bsd/libelf/dist}/libelf.h | 82 +- .../bsd/libelf/dist}/libelf_align.c | 56 +- .../bsd/libelf/dist}/libelf_allocate.c | 32 +- external/bsd/libelf/dist/libelf_ar.c | 490 + .../bsd/libelf/dist}/libelf_checksum.c | 11 +- .../bsd/libelf/dist}/libelf_convert.m4 | 571 +- .../bsd/libelf/dist}/libelf_data.c | 37 +- .../bsd/libelf/dist}/libelf_ehdr.c | 41 +- .../bsd/libelf/dist}/libelf_extended.c | 12 +- .../bsd/libelf/dist}/libelf_fsize.m4 | 27 +- .../bsd/libelf/dist}/libelf_msize.m4 | 19 +- .../bsd/libelf/dist}/libelf_phdr.c | 23 +- .../bsd/libelf/dist}/libelf_shdr.c | 11 +- .../bsd/libelf/dist}/libelf_xlate.c | 25 +- external/bsd/libelf/lib/Makefile | 148 + external/bsd/libelf/lib/shlib_version | 6 + external/bsd/libelf/prepare-import.sh | 41 + external/bsd/lutok/dist/NEWS | 23 + external/bsd/lutok/dist/c_gate_test.cpp | 2 +- external/bsd/lutok/dist/debug.hpp | 9 +- external/bsd/lutok/dist/state.cpp | 34 +- external/bsd/lutok/dist/state.hpp | 14 +- external/bsd/lutok/dist/state_test.cpp | 84 +- external/bsd/lutok/lib/liblutok/Makefile | 9 +- external/bsd/lutok/lib/liblutok/config.h | 6 +- external/bsd/lutok/lib/liblutok/shlib_version | 4 +- .../bsd/lutok/tests/lib/liblutok/Makefile | 13 +- external/bsd/mdocml/dist/Makefile | 22 +- external/bsd/mdocml/dist/TODO | 372 + external/bsd/mdocml/dist/apropos.1 | 40 +- external/bsd/mdocml/dist/apropos.c | 124 +- external/bsd/mdocml/dist/apropos_db.c | 145 +- external/bsd/mdocml/dist/apropos_db.h | 22 +- external/bsd/mdocml/dist/cgi.c | 75 +- external/bsd/mdocml/dist/lib.in | 11 +- external/bsd/mdocml/dist/libmandoc.h | 2 + external/bsd/mdocml/dist/man.cgi.7 | 4 +- external/bsd/mdocml/dist/mandocdb.c | 419 +- external/bsd/mdocml/dist/mandocdb.h | 6 +- external/bsd/mdocml/dist/mdoc_argv.c | 4 +- external/bsd/mdocml/dist/mdoc_validate.c | 11 +- external/bsd/mdocml/dist/read.c | 9 +- external/bsd/mdocml/dist/roff.c | 225 +- external/bsd/mdocml/dist/st.in | 4 +- external/bsd/mdocml/dist/tbl_data.c | 8 +- external/bsd/mdocml/dist/whatis.1 | 34 +- external/bsd/mdocml/man/Makefile | 4 + external/bsd/mdocml/prepare-import.sh | 1 - {usr.bin => external/bsd}/nvi/Makefile | 8 +- external/bsd/nvi/Makefile.inc | 10 + .../bsd}/nvi/catalog/Makefile | 3 +- {dist/nvi => external/bsd/nvi/dist}/Changes | 0 {dist/nvi => external/bsd/nvi/dist}/LICENSE | 2 +- {dist/nvi => external/bsd/nvi/dist}/README | 4 +- .../nvi => external/bsd/nvi/dist}/README.1st | 0 .../nvi => external/bsd/nvi/dist}/README.DB3 | 0 {dist/nvi => external/bsd/nvi/dist}/TODO | 2 +- .../bsd/nvi/dist}/build.unix/README | 2 +- .../bsd/nvi/dist}/build.unix/README.LynxOS | 0 .../bsd/nvi/dist}/build.unix/README.Solaris | 0 .../bsd/nvi/dist}/catalog/Makefile | 2 +- .../bsd/nvi/dist}/catalog/README | 2 +- .../bsd/nvi/dist}/catalog/dump.c | 5 +- .../bsd/nvi/dist}/catalog/dutch.base | 0 .../bsd/nvi/dist/catalog/dutch.check | 0 .../bsd/nvi/dist}/catalog/dutch.owner | 0 external/bsd/nvi/dist/catalog/english.check | 0 .../bsd/nvi/dist}/catalog/english.owner | 0 .../bsd/nvi/dist}/catalog/french.base | 0 external/bsd/nvi/dist/catalog/french.check | 0 .../bsd/nvi/dist}/catalog/german.base | 0 external/bsd/nvi/dist/catalog/german.check | 0 .../bsd/nvi/dist}/catalog/german.owner | 0 .../bsd/nvi/dist}/catalog/ru_RU.KOI8-R.base | 0 .../bsd/nvi/dist}/catalog/ru_RU.KOI8-R.owner | 0 .../bsd/nvi/dist/catalog/ru_SU.KOI8-R.base | 0 .../bsd/nvi/dist/catalog/ru_SU.KOI8-R.check | 0 .../bsd/nvi/dist/catalog/ru_SU.KOI8-R.owner | 0 .../bsd/nvi/dist}/catalog/spanish.base | 0 external/bsd/nvi/dist/catalog/spanish.check | 0 .../bsd/nvi/dist}/catalog/spell.ok | 0 .../bsd/nvi/dist}/catalog/swedish.base | 0 external/bsd/nvi/dist/catalog/swedish.check | 0 .../bsd/nvi/dist}/catalog/swedish.owner | 0 .../bsd/nvi/dist}/cl/README.signal | 2 +- {dist/nvi => external/bsd/nvi/dist}/cl/cl.h | 9 +- .../nvi => external/bsd/nvi/dist}/cl/cl_bsd.c | 7 +- .../bsd/nvi/dist}/cl/cl_funcs.c | 22 +- .../bsd/nvi/dist}/cl/cl_main.c | 7 +- .../bsd/nvi/dist}/cl/cl_read.c | 5 +- .../bsd/nvi/dist}/cl/cl_screen.c | 11 +- .../bsd/nvi/dist}/cl/cl_term.c | 11 +- .../bsd/nvi/dist}/clib/bsearch.c | 2 - .../nvi => external/bsd/nvi/dist}/clib/env.c | 2 - .../bsd/nvi/dist}/clib/gethostname.c | 2 - .../bsd/nvi/dist}/clib/iswblank.c | 4 +- .../bsd/nvi/dist}/clib/memchr.c | 2 - .../bsd/nvi/dist}/clib/memset.c | 2 - .../bsd/nvi/dist}/clib/mkstemp.c | 4 +- .../nvi => external/bsd/nvi/dist}/clib/mmap.c | 2 - .../bsd/nvi/dist}/clib/snprintf.c | 2 - .../bsd/nvi/dist}/clib/strdup.c | 2 - .../bsd/nvi/dist}/clib/strpbrk.c | 2 - .../bsd/nvi/dist}/clib/strsep.c | 2 - .../bsd/nvi/dist}/clib/strtol.c | 2 - .../bsd/nvi/dist}/clib/strtoul.c | 2 - .../bsd/nvi/dist}/clib/vsnprintf.c | 2 - .../bsd/nvi/dist}/common/api.c | 42 +- .../bsd/nvi/dist}/common/args.h | 5 +- .../bsd/nvi/dist}/common/common.h | 13 +- .../bsd/nvi/dist}/common/conv.c | 36 +- .../bsd/nvi/dist}/common/conv.h | 3 +- .../bsd/nvi/dist}/common/cut.c | 61 +- .../bsd/nvi/dist}/common/cut.h | 12 +- .../bsd/nvi/dist}/common/db1.c | 2 +- external/bsd/nvi/dist/common/dbinternal.h | 6 + .../bsd/nvi/dist}/common/delete.c | 5 +- .../bsd/nvi/dist}/common/dldb.c | 3 +- .../bsd/nvi/dist}/common/exf.c | 171 +- .../bsd/nvi/dist}/common/exf.h | 9 +- .../nvi => external/bsd/nvi/dist}/common/gs.c | 35 +- .../nvi => external/bsd/nvi/dist}/common/gs.h | 15 +- .../bsd/nvi/dist}/common/key.c | 19 +- .../bsd/nvi/dist}/common/key.h | 7 +- .../bsd/nvi/dist}/common/log.c | 7 +- .../bsd/nvi/dist}/common/log.h | 5 +- external/bsd/nvi/dist/common/log1.c | 777 + .../bsd/nvi/dist}/common/log4.c | 5 +- .../bsd/nvi/dist}/common/main.c | 9 +- .../bsd/nvi/dist}/common/mark.c | 17 +- .../bsd/nvi/dist}/common/mark.h | 5 +- .../bsd/nvi/dist}/common/mem.h | 7 +- .../bsd/nvi/dist}/common/msg.c | 21 +- .../bsd/nvi/dist}/common/msg.h | 5 +- .../bsd/nvi/dist}/common/multibyte.h | 14 +- .../bsd/nvi/dist}/common/nothread.c | 5 +- .../bsd/nvi/dist}/common/options.awk | 2 +- .../bsd/nvi/dist}/common/options.c | 11 +- .../bsd/nvi/dist}/common/options.h | 5 +- .../bsd/nvi/dist}/common/options_f.c | 5 +- .../bsd/nvi/dist}/common/pthread.c | 5 +- .../bsd/nvi/dist}/common/put.c | 25 +- .../bsd/nvi/dist}/common/recover.c | 18 +- .../bsd/nvi/dist}/common/screen.c | 56 +- .../bsd/nvi/dist}/common/screen.h | 13 +- .../bsd/nvi/dist}/common/search.c | 9 +- .../bsd/nvi/dist}/common/seq.c | 19 +- .../bsd/nvi/dist}/common/seq.h | 5 +- .../bsd/nvi/dist}/common/trace.c | 22 +- .../bsd/nvi/dist}/common/util.c | 7 +- .../bsd/nvi/dist}/common/util.h | 5 +- .../bsd/nvi/dist}/common/util2.c | 3 +- .../bsd/nvi/dist}/common/vi.src | 0 .../bsd/nvi/dist}/common/vi_auto.c | 2 - .../bsd/nvi/dist}/common/vi_auto.h | 2 - .../bsd/nvi/dist/common/vi_db.c | 200 +- .../bsd/nvi/dist/common/vi_db.h | 32 +- external/bsd/nvi/dist/common/vi_db1.c | 736 + .../bsd/nvi/dist}/common/vi_rec.c | 2 - external/bsd/nvi/dist/dist/AUTHORS | 0 external/bsd/nvi/dist/dist/COPYING | 674 + external/bsd/nvi/dist/dist/ChangeLog | 0 .../bsd/nvi/dist}/dist/ExtUtils/Embed.pm | 4 +- external/bsd/nvi/dist/dist/INSTALL | 370 + .../bsd/nvi/dist}/dist/Makefile.am | 54 +- external/bsd/nvi/dist/dist/NEWS | 0 external/bsd/nvi/dist/dist/README | 0 external/bsd/nvi/dist/dist/compile | 342 + .../bsd/nvi/dist/dist/configure.ac | 291 +- external/bsd/nvi/dist/dist/depcomp | 780 + .../bsd/nvi/dist}/dist/distrib | 2 +- .../nvi => external/bsd/nvi/dist}/dist/export | 0 .../bsd/nvi/dist}/dist/findconfig | 0 .../bsd/nvi/dist}/dist/ltconfig | 0 .../bsd/nvi/dist}/dist/m4/gtk.m4 | 2 +- external/bsd/nvi/dist/dist/missing | 330 + external/bsd/nvi/dist/dist/mkinstalldirs | 162 + .../bsd/nvi/dist}/dist/pathnames.h.in | 2 +- .../bsd/nvi/dist}/dist/port.h.in | 2 +- .../bsd/nvi/dist}/dist/recover.in | 2 +- .../nvi => external/bsd/nvi/dist}/dist/script | 0 .../bsd/nvi/dist}/dist/spell.ok | 0 .../nvi => external/bsd/nvi/dist}/docs/README | 2 +- .../bsd/nvi/dist}/docs/edit/Makefile | 2 +- .../bsd/nvi/dist}/docs/edit/edittut.ms | 2 +- .../bsd/nvi/dist}/docs/exref/Makefile | 2 +- .../bsd/nvi/dist}/docs/exref/ex.rm | 2 +- .../bsd/nvi/dist}/docs/exref/ex.summary | 2 +- .../bsd/nvi/dist}/docs/vi.man/Makefile | 2 +- .../bsd/nvi/dist}/docs/vi.man/spell.ok | 0 .../bsd/nvi/dist}/docs/vi.man/vi.1 | 6 +- .../bsd/nvi/dist}/docs/vi.ref/Makefile | 2 +- .../bsd/nvi/dist}/docs/vi.ref/ex.cmd.texi | 3 +- .../bsd/nvi/dist}/docs/vi.ref/ref.texi | 3 +- .../bsd/nvi/dist}/docs/vi.ref/set.opt.texi | 3 +- .../bsd/nvi/dist}/docs/vi.ref/spell.ok | 0 .../bsd/nvi/dist}/docs/vi.ref/vi.cmd.texi | 3 +- .../bsd/nvi/dist}/docs/vi.ref/vi.texi | 3 +- .../bsd/nvi/dist}/docs/vitut/Makefile | 2 +- .../bsd/nvi/dist}/docs/vitut/vi.apwh.ms | 2 +- .../bsd/nvi/dist}/docs/vitut/vi.chars | 2 +- .../bsd/nvi/dist}/docs/vitut/vi.in | 2 +- .../bsd/nvi/dist}/docs/vitut/vi.summary | 2 +- external/bsd/nvi/dist/ex/ex.awk | 6 + {dist/nvi => external/bsd/nvi/dist}/ex/ex.c | 46 +- {dist/nvi => external/bsd/nvi/dist}/ex/ex.h | 13 +- .../bsd/nvi/dist}/ex/ex_abbrev.c | 5 +- .../bsd/nvi/dist}/ex/ex_append.c | 11 +- .../bsd/nvi/dist}/ex/ex_args.c | 7 +- .../bsd/nvi/dist}/ex/ex_argv.c | 26 +- .../nvi => external/bsd/nvi/dist}/ex/ex_at.c | 22 +- .../bsd/nvi/dist}/ex/ex_bang.c | 8 +- .../nvi => external/bsd/nvi/dist}/ex/ex_cd.c | 5 +- .../nvi => external/bsd/nvi/dist}/ex/ex_cmd.c | 5 +- .../bsd/nvi/dist}/ex/ex_cscope.c | 69 +- .../bsd/nvi/dist}/ex/ex_delete.c | 5 +- .../bsd/nvi/dist}/ex/ex_display.c | 66 +- .../bsd/nvi/dist}/ex/ex_edit.c | 7 +- .../bsd/nvi/dist}/ex/ex_equal.c | 5 +- .../bsd/nvi/dist}/ex/ex_file.c | 5 +- .../bsd/nvi/dist}/ex/ex_filter.c | 5 +- .../bsd/nvi/dist}/ex/ex_global.c | 29 +- .../bsd/nvi/dist}/ex/ex_init.c | 9 +- .../bsd/nvi/dist}/ex/ex_join.c | 10 +- .../nvi => external/bsd/nvi/dist}/ex/ex_map.c | 5 +- .../bsd/nvi/dist}/ex/ex_mark.c | 5 +- .../bsd/nvi/dist}/ex/ex_mkexrc.c | 5 +- .../bsd/nvi/dist}/ex/ex_move.c | 18 +- .../bsd/nvi/dist}/ex/ex_open.c | 5 +- .../bsd/nvi/dist}/ex/ex_perl.c | 5 +- .../bsd/nvi/dist}/ex/ex_preserve.c | 5 +- .../bsd/nvi/dist}/ex/ex_print.c | 11 +- .../nvi => external/bsd/nvi/dist}/ex/ex_put.c | 5 +- .../bsd/nvi/dist}/ex/ex_quit.c | 5 +- .../bsd/nvi/dist}/ex/ex_read.c | 7 +- .../bsd/nvi/dist}/ex/ex_screen.c | 11 +- .../bsd/nvi/dist}/ex/ex_script.c | 26 +- .../nvi => external/bsd/nvi/dist}/ex/ex_set.c | 5 +- .../bsd/nvi/dist}/ex/ex_shell.c | 5 +- .../bsd/nvi/dist}/ex/ex_shift.c | 5 +- .../bsd/nvi/dist}/ex/ex_source.c | 5 +- .../bsd/nvi/dist}/ex/ex_stop.c | 5 +- .../bsd/nvi/dist}/ex/ex_subst.c | 13 +- .../nvi => external/bsd/nvi/dist}/ex/ex_tag.c | 155 +- .../nvi => external/bsd/nvi/dist}/ex/ex_tcl.c | 5 +- .../nvi => external/bsd/nvi/dist}/ex/ex_txt.c | 25 +- .../bsd/nvi/dist}/ex/ex_undo.c | 5 +- .../bsd/nvi/dist}/ex/ex_usage.c | 7 +- .../bsd/nvi/dist}/ex/ex_util.c | 9 +- .../bsd/nvi/dist}/ex/ex_version.c | 5 +- .../bsd/nvi/dist}/ex/ex_visual.c | 5 +- .../bsd/nvi/dist}/ex/ex_write.c | 5 +- .../bsd/nvi/dist}/ex/ex_yank.c | 5 +- {dist/nvi => external/bsd/nvi/dist}/ex/ex_z.c | 5 +- .../nvi => external/bsd/nvi/dist}/ex/script.h | 5 +- {dist/nvi => external/bsd/nvi/dist}/ex/tag.h | 11 +- {dist/nvi => external/bsd/nvi/dist}/gtk/gtk.h | 3 +- .../bsd/nvi/dist}/gtk/gtk_main.c | 4 +- .../nvi => external/bsd/nvi/dist}/gtk/gtkvi.c | 4 +- .../nvi => external/bsd/nvi/dist}/gtk/gtkvi.h | 3 +- .../bsd/nvi/dist}/gtk/gtkviscreen.c | 2 - .../bsd/nvi/dist}/gtk/gtkviscreen.h | 3 +- .../bsd/nvi/dist}/gtk/gtkviwindow.c | 4 +- .../bsd/nvi/dist}/gtk/gtkviwindow.h | 3 +- .../bsd/nvi/dist}/ip/ip_funcs.c | 25 +- .../bsd/nvi/dist}/ip/ip_main.c | 15 +- .../bsd/nvi/dist}/ip/ip_read.c | 100 +- .../bsd/nvi/dist}/ip/ip_screen.c | 10 +- .../bsd/nvi/dist}/ip/ip_term.c | 19 +- .../nvi => external/bsd/nvi/dist}/ip/vipc.pl | 0 {dist/nvi => external/bsd/nvi/dist}/ipc/ip.h | 14 +- .../bsd/nvi/dist}/ipc/ip_run.c | 62 +- .../bsd/nvi/dist}/ipc/ip_send.c | 12 +- .../bsd/nvi/dist}/ipc/ip_trans.c | 9 +- .../nvi => external/bsd/nvi/dist}/ipc/ipc.awk | 0 .../bsd/nvi/dist}/ipc/ipc_cmd.c | 7 +- .../bsd/nvi/dist}/ipc/ipc_method.c | 28 +- .../bsd/nvi/dist}/ipc/vipc.awk | 0 .../bsd/nvi/dist}/motif/m_cde.c | 6 +- .../bsd/nvi/dist}/motif/m_main.c | 5 +- .../bsd/nvi/dist}/motif/nvi.xbm | 0 .../bsd/nvi/dist}/motif/nvi.xpm | 0 .../bsd/nvi/dist}/motif_l/TODO | 0 .../bsd/nvi/dist}/motif_l/m_copypaste.c | 4 +- .../bsd/nvi/dist}/motif_l/m_func.c | 4 +- .../bsd/nvi/dist}/motif_l/m_menu.c | 4 +- .../bsd/nvi/dist}/motif_l/m_motif.h | 7 +- .../bsd/nvi/dist}/motif_l/m_options.c | 4 +- .../bsd/nvi/dist}/motif_l/m_prompt.c | 4 +- .../bsd/nvi/dist}/motif_l/m_ruler.c | 5 +- .../bsd/nvi/dist}/motif_l/m_search.c | 4 +- .../bsd/nvi/dist}/motif_l/m_tags.c | 4 +- .../bsd/nvi/dist}/motif_l/m_util.c | 4 +- .../bsd/nvi/dist}/motif_l/m_vi.c | 6 +- .../bsd/nvi/dist}/motif_l/vi_mextern.h | 5 +- .../bsd/nvi/dist}/motif_l/xtabbed.c | 6 +- .../bsd/nvi/dist}/perl_api/VI.pod | 0 .../bsd/nvi/dist}/perl_api/nviperl.pod | 0 .../bsd/nvi/dist}/perl_api/perl.xs | 4 +- .../bsd/nvi/dist}/perl_api/perlsfio.c | 6 +- .../bsd/nvi/dist}/perl_api/typemap | 0 .../bsd/nvi/dist}/perl_scripts/forall.pl | 0 .../bsd/nvi/dist}/perl_scripts/make.pl | 0 .../bsd/nvi/dist}/perl_scripts/tk.pl | 0 .../bsd/nvi/dist}/perl_scripts/wc.pl | 0 .../bsd/nvi/dist}/regex/COPYRIGHT | 0 .../bsd/nvi/dist}/regex/WHATSNEW | 0 .../bsd/nvi/dist}/regex/cclass.h | 3 +- .../bsd/nvi/dist}/regex/cname.h | 3 +- .../bsd/nvi/dist}/regex/engine.c | 4 +- .../bsd/nvi/dist}/regex/re_format.7 | 2 - .../bsd/nvi/dist}/regex/regcomp.c | 5 +- .../bsd/nvi/dist}/regex/regerror.c | 3 +- .../bsd/nvi/dist}/regex/regex.3 | 2 - .../bsd/nvi/dist}/regex/regex.h | 3 +- .../bsd/nvi/dist}/regex/regex2.h | 3 +- .../bsd/nvi/dist}/regex/regexec.c | 3 +- .../bsd/nvi/dist}/regex/regfree.c | 3 +- .../bsd/nvi/dist}/regex/utils.h | 3 +- .../bsd/nvi/dist}/tcl_api/tcl.c | 6 +- .../bsd/nvi/dist}/tcl_scripts/errors.tcl | 2 +- .../bsd/nvi/dist}/tcl_scripts/gnats.tcl | 2 +- .../bsd/nvi/dist}/tcl_scripts/mailprocs.tcl | 2 +- .../bsd/nvi/dist}/tcl_scripts/wc.tcl | 2 +- {dist/nvi => external/bsd/nvi/dist}/vi/getc.c | 5 +- {dist/nvi => external/bsd/nvi/dist}/vi/v_at.c | 10 +- {dist/nvi => external/bsd/nvi/dist}/vi/v_ch.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_cmd.c | 5 +- .../bsd/nvi/dist}/vi/v_delete.c | 5 +- .../bsd/nvi/dist}/vi/v_event.c | 5 +- {dist/nvi => external/bsd/nvi/dist}/vi/v_ex.c | 11 +- .../bsd/nvi/dist}/vi/v_increment.c | 42 +- .../nvi => external/bsd/nvi/dist}/vi/v_init.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_itxt.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_left.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_mark.c | 8 +- .../bsd/nvi/dist}/vi/v_match.c | 5 +- .../bsd/nvi/dist}/vi/v_paragraph.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_put.c | 5 +- .../bsd/nvi/dist}/vi/v_redraw.c | 5 +- .../bsd/nvi/dist}/vi/v_replace.c | 5 +- .../bsd/nvi/dist}/vi/v_right.c | 5 +- .../bsd/nvi/dist}/vi/v_screen.c | 13 +- .../bsd/nvi/dist}/vi/v_scroll.c | 5 +- .../bsd/nvi/dist}/vi/v_search.c | 74 +- .../bsd/nvi/dist}/vi/v_section.c | 5 +- .../bsd/nvi/dist}/vi/v_sentence.c | 5 +- .../bsd/nvi/dist}/vi/v_status.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_txt.c | 64 +- .../bsd/nvi/dist}/vi/v_ulcase.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_undo.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_util.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_word.c | 5 +- .../bsd/nvi/dist}/vi/v_xchar.c | 5 +- .../nvi => external/bsd/nvi/dist}/vi/v_yank.c | 5 +- {dist/nvi => external/bsd/nvi/dist}/vi/v_z.c | 5 +- .../bsd/nvi/dist}/vi/v_zexit.c | 5 +- {dist/nvi => external/bsd/nvi/dist}/vi/vi.c | 36 +- {dist/nvi => external/bsd/nvi/dist}/vi/vi.h | 7 +- .../bsd/nvi/dist}/vi/vs_line.c | 7 +- .../nvi => external/bsd/nvi/dist}/vi/vs_msg.c | 23 +- .../bsd/nvi/dist}/vi/vs_refresh.c | 17 +- .../bsd/nvi/dist}/vi/vs_relative.c | 5 +- .../bsd/nvi/dist}/vi/vs_smap.c | 15 +- .../bsd/nvi/dist}/vi/vs_split.c | 113 +- external/bsd/nvi/docs/Makefile | 9 + external/bsd/nvi/docs/USD.doc/Makefile | 5 + .../bsd}/nvi/docs/USD.doc/edit/Makefile | 2 +- .../bsd}/nvi/docs/USD.doc/edit/edit.vindex | 2 +- .../bsd}/nvi/docs/USD.doc/exref/Makefile | 2 +- .../bsd}/nvi/docs/USD.doc/vi.ref/Makefile | 2 +- .../bsd}/nvi/docs/USD.doc/vi.ref/ex.cmd.roff | 2 +- .../bsd}/nvi/docs/USD.doc/vi.ref/merge.awk | 2 +- .../bsd}/nvi/docs/USD.doc/vi.ref/set.opt.roff | 2 +- .../bsd}/nvi/docs/USD.doc/vi.ref/vi.cmd.roff | 2 +- .../bsd}/nvi/docs/USD.doc/vi.ref/vi.ref | 2 +- .../bsd}/nvi/docs/USD.doc/vitut/Makefile | 2 +- {usr.bin => external/bsd}/nvi/docs/ev | 0 {usr.bin => external/bsd}/nvi/docs/help | 0 .../bsd}/nvi/docs/info/Makefile | 2 +- .../bsd}/nvi/docs/internals/autowrite | 0 .../bsd}/nvi/docs/internals/context | 0 .../bsd}/nvi/docs/internals/gdb.script | 0 .../bsd}/nvi/docs/internals/input | 0 .../bsd}/nvi/docs/internals/openmode | 0 .../bsd}/nvi/docs/internals/quoting | 0 .../bsd}/nvi/docs/internals/structures | 0 {dist => external/bsd}/nvi/nvi2netbsd | 51 +- external/bsd/nvi/usr.bin/Makefile | 3 + .../bsd/nvi/usr.bin/nvi}/Makefile | 67 +- external/bsd/nvi/usr.bin/nvi/compat.h | 199 + .../bsd/nvi/usr.bin/nvi}/config.h | 200 +- .../bsd/nvi/usr.bin/nvi}/ipc_gen.c | 17 +- .../bsd/nvi/usr.bin/nvi}/pathnames.h | 2 +- .../bsd/nvi/usr.bin/nvi}/port.h | 4 +- .../bsd/nvi/usr.bin}/recover/Makefile | 2 +- .../bsd/nvi/usr.bin}/recover/virecover | 2 +- .../bsd/nvi/usr.bin}/recover/virecover.8 | 4 +- external/gpl3/Makefile | 4 +- external/gpl3/gcc/files/arm-minix.h | 44 +- external/gpl3/gcc/files/minix-spec.h | 26 +- external/gpl3/gcc/files/minix.h | 17 + external/gpl3/gcc/gcc2netbsd | 71 + external/gpl3/gcc/lib/Makefile | 11 +- external/gpl3/gcc/lib/Makefile.hacks | 4 +- external/gpl3/gcc/lib/crtstuff/arch/alpha.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/arm.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/armeb.mk | 8 +- .../gpl3/gcc/lib/crtstuff/arch/coldfire.mk | 13 + external/gpl3/gcc/lib/crtstuff/arch/earm.mk | 5 +- external/gpl3/gcc/lib/crtstuff/arch/earmeb.mk | 11 + external/gpl3/gcc/lib/crtstuff/arch/earmhf.mk | 11 + .../gpl3/gcc/lib/crtstuff/arch/earmhfeb.mk | 11 + external/gpl3/gcc/lib/crtstuff/arch/earmv4.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv4eb.mk | 13 + external/gpl3/gcc/lib/crtstuff/arch/earmv6.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv6eb.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv6hf.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv6hfeb.mk | 13 + external/gpl3/gcc/lib/crtstuff/arch/earmv7.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv7eb.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv7hf.mk | 13 + .../gpl3/gcc/lib/crtstuff/arch/earmv7hfeb.mk | 13 + external/gpl3/gcc/lib/crtstuff/arch/hppa.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/i386.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/ia64.mk | 11 + external/gpl3/gcc/lib/crtstuff/arch/m68000.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/m68k.mk | 6 +- .../gpl3/gcc/lib/crtstuff/arch/mips64eb.mk | 6 +- .../gpl3/gcc/lib/crtstuff/arch/mips64el.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/mipseb.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/mipsel.mk | 6 +- .../gpl3/gcc/lib/crtstuff/arch/powerpc.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/sh3eb.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/sh3el.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/sparc.mk | 6 +- .../gpl3/gcc/lib/crtstuff/arch/sparc64.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/vax.mk | 6 +- external/gpl3/gcc/lib/crtstuff/arch/x86_64.mk | 6 +- external/gpl3/gcc/lib/libgcc/Makefile | 20 +- external/gpl3/gcc/lib/libgcc/Makefile.inc | 45 +- external/gpl3/gcc/lib/libgcc/Makefile.srcs | 16 +- external/gpl3/gcc/lib/libgcc/arch/alpha.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/arm.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/armeb.mk | 6 +- external/gpl3/gcc/lib/libgcc/arch/coldfire.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earm.mk | 10 +- external/gpl3/gcc/lib/libgcc/arch/earmeb.mk | 24 + external/gpl3/gcc/lib/libgcc/arch/earmhf.mk | 24 + external/gpl3/gcc/lib/libgcc/arch/earmhfeb.mk | 24 + external/gpl3/gcc/lib/libgcc/arch/earmv4.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv4eb.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv6.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv6eb.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv6hf.mk | 26 + .../gpl3/gcc/lib/libgcc/arch/earmv6hfeb.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv7.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv7eb.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/earmv7hf.mk | 26 + .../gpl3/gcc/lib/libgcc/arch/earmv7hfeb.mk | 26 + external/gpl3/gcc/lib/libgcc/arch/hppa.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/i386.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/ia64.mk | 24 + external/gpl3/gcc/lib/libgcc/arch/m68000.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/m68k.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/mips64eb.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/mips64el.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/mipseb.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/mipsel.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/powerpc.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/sh3eb.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/sh3el.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/sparc.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/sparc64.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/vax.mk | 4 +- external/gpl3/gcc/lib/libgcc/arch/x86_64.mk | 4 +- external/gpl3/gcc/lib/libgcc/libgcc/Makefile | 13 +- .../gpl3/gcc/lib/libgcc/libgcc_s/Makefile | 2 + external/gpl3/gcc/lib/libgcc/libgcov/Makefile | 14 +- .../lib/libgcc/libgcov/arch/coldfire/defs.mk | 7 + .../libgcc/libgcov/arch/coldfire/gcov-iov.h | 8 + .../gcc/lib/libgcc/libgcov/arch/earm/defs.mk | 2 +- .../lib/libgcc/libgcov/arch/earm/gcov-iov.h | 2 +- .../lib/libgcc/libgcov/arch/earmeb/defs.mk | 5 + .../lib/libgcc/libgcov/arch/earmeb/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmhf/defs.mk | 5 + .../lib/libgcc/libgcov/arch/earmhf/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmhfeb/defs.mk | 5 + .../libgcc/libgcov/arch/earmhfeb/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv4/defs.mk | 7 + .../lib/libgcc/libgcov/arch/earmv4/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv4eb/defs.mk | 7 + .../libgcc/libgcov/arch/earmv4eb/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv6/defs.mk | 7 + .../lib/libgcc/libgcov/arch/earmv6/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv6eb/defs.mk | 7 + .../libgcc/libgcov/arch/earmv6eb/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv6hf/defs.mk | 7 + .../libgcc/libgcov/arch/earmv6hf/gcov-iov.h | 8 + .../libgcc/libgcov/arch/earmv6hfeb/defs.mk | 7 + .../libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv7/defs.mk | 7 + .../lib/libgcc/libgcov/arch/earmv7/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv7eb/defs.mk | 7 + .../libgcc/libgcov/arch/earmv7eb/gcov-iov.h | 8 + .../lib/libgcc/libgcov/arch/earmv7hf/defs.mk | 7 + .../libgcc/libgcov/arch/earmv7hf/gcov-iov.h | 8 + .../libgcc/libgcov/arch/earmv7hfeb/defs.mk | 7 + .../libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h | 8 + .../gcc/lib/libgcc/libgcov/arch/ia64/defs.mk | 5 + .../lib/libgcc/libgcov/arch/ia64/gcov-iov.h | 8 + external/gpl3/gcc/lib/libgomp/Makefile | 6 +- .../gcc/lib/libgomp/arch/coldfire/config.h | 136 + .../lib/libgomp/arch/coldfire/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/coldfire/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/coldfire/omp.h | 109 + .../gpl3/gcc/lib/libgomp/arch/earm/config.h | 4 +- .../gcc/lib/libgomp/arch/earm/libgomp.spec | 2 +- .../gcc/lib/libgomp/arch/earm/libgomp_f.h | 2 +- external/gpl3/gcc/lib/libgomp/arch/earm/omp.h | 2 +- .../gpl3/gcc/lib/libgomp/arch/earmeb/config.h | 136 + .../gcc/lib/libgomp/arch/earmeb/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmeb/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmeb/omp.h | 109 + .../gpl3/gcc/lib/libgomp/arch/earmhf/config.h | 136 + .../gcc/lib/libgomp/arch/earmhf/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmhf/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmhf/omp.h | 109 + .../gcc/lib/libgomp/arch/earmhfeb/config.h | 136 + .../lib/libgomp/arch/earmhfeb/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmhfeb/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmhfeb/omp.h | 109 + .../gpl3/gcc/lib/libgomp/arch/earmv4/config.h | 136 + .../gcc/lib/libgomp/arch/earmv4/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv4/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv4/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv4eb/config.h | 136 + .../lib/libgomp/arch/earmv4eb/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv4eb/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv4eb/omp.h | 109 + .../gpl3/gcc/lib/libgomp/arch/earmv6/config.h | 136 + .../gcc/lib/libgomp/arch/earmv6/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv6/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv6/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv6eb/config.h | 136 + .../lib/libgomp/arch/earmv6eb/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv6eb/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv6eb/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv6hf/config.h | 136 + .../lib/libgomp/arch/earmv6hf/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv6hf/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv6hf/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv6hfeb/config.h | 136 + .../lib/libgomp/arch/earmv6hfeb/libgomp.spec | 7 + .../lib/libgomp/arch/earmv6hfeb/libgomp_f.h | 97 + .../gcc/lib/libgomp/arch/earmv6hfeb/omp.h | 109 + .../gpl3/gcc/lib/libgomp/arch/earmv7/config.h | 136 + .../gcc/lib/libgomp/arch/earmv7/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv7/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv7/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv7eb/config.h | 136 + .../lib/libgomp/arch/earmv7eb/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv7eb/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv7eb/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv7hf/config.h | 136 + .../lib/libgomp/arch/earmv7hf/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/earmv7hf/libgomp_f.h | 97 + .../gpl3/gcc/lib/libgomp/arch/earmv7hf/omp.h | 109 + .../gcc/lib/libgomp/arch/earmv7hfeb/config.h | 136 + .../lib/libgomp/arch/earmv7hfeb/libgomp.spec | 7 + .../lib/libgomp/arch/earmv7hfeb/libgomp_f.h | 97 + .../gcc/lib/libgomp/arch/earmv7hfeb/omp.h | 109 + .../gpl3/gcc/lib/libgomp/arch/ia64/config.h | 136 + .../gcc/lib/libgomp/arch/ia64/libgomp.spec | 7 + .../gcc/lib/libgomp/arch/ia64/libgomp_f.h | 97 + external/gpl3/gcc/lib/libgomp/arch/ia64/omp.h | 109 + external/gpl3/gcc/lib/libiberty/Makefile | 6 +- .../gcc/lib/libiberty/arch/armeb/config.h | 4 +- .../gcc/lib/libiberty/arch/coldfire/config.h | 480 + .../gpl3/gcc/lib/libiberty/arch/earm/config.h | 16 +- .../gcc/lib/libiberty/arch/earmeb/config.h | 480 + .../gcc/lib/libiberty/arch/earmhf/config.h | 480 + .../gcc/lib/libiberty/arch/earmhfeb/config.h | 480 + .../gcc/lib/libiberty/arch/earmv4/config.h | 480 + .../gcc/lib/libiberty/arch/earmv4eb/config.h | 480 + .../gcc/lib/libiberty/arch/earmv6/config.h | 480 + .../gcc/lib/libiberty/arch/earmv6eb/config.h | 480 + .../gcc/lib/libiberty/arch/earmv6hf/config.h | 480 + .../lib/libiberty/arch/earmv6hfeb/config.h | 480 + .../gcc/lib/libiberty/arch/earmv7/config.h | 480 + .../gcc/lib/libiberty/arch/earmv7eb/config.h | 480 + .../gcc/lib/libiberty/arch/earmv7hf/config.h | 480 + .../lib/libiberty/arch/earmv7hfeb/config.h | 480 + .../gpl3/gcc/lib/libiberty/arch/i386/config.h | 14 +- .../gpl3/gcc/lib/libiberty/arch/ia64/config.h | 480 + external/gpl3/gcc/lib/libiberty/defs.mk | 7 +- external/gpl3/gcc/lib/libobjc/Makefile | 19 +- .../gcc/lib/libobjc/arch/coldfire/config.h | 73 + .../gcc/lib/libobjc/arch/coldfire/defs.mk | 16 + .../gpl3/gcc/lib/libobjc/arch/earm/config.h | 2 +- .../gpl3/gcc/lib/libobjc/arch/earm/defs.mk | 2 +- .../gpl3/gcc/lib/libobjc/arch/earmeb/config.h | 73 + .../gpl3/gcc/lib/libobjc/arch/earmeb/defs.mk | 10 + .../gpl3/gcc/lib/libobjc/arch/earmhf/config.h | 73 + .../gpl3/gcc/lib/libobjc/arch/earmhf/defs.mk | 10 + .../gcc/lib/libobjc/arch/earmhfeb/config.h | 73 + .../gcc/lib/libobjc/arch/earmhfeb/defs.mk | 10 + .../gpl3/gcc/lib/libobjc/arch/earmv4/config.h | 73 + .../gpl3/gcc/lib/libobjc/arch/earmv4/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv4eb/config.h | 73 + .../gcc/lib/libobjc/arch/earmv4eb/defs.mk | 16 + .../gpl3/gcc/lib/libobjc/arch/earmv6/config.h | 73 + .../gpl3/gcc/lib/libobjc/arch/earmv6/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv6eb/config.h | 73 + .../gcc/lib/libobjc/arch/earmv6eb/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv6hf/config.h | 73 + .../gcc/lib/libobjc/arch/earmv6hf/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv6hfeb/config.h | 73 + .../gcc/lib/libobjc/arch/earmv6hfeb/defs.mk | 16 + .../gpl3/gcc/lib/libobjc/arch/earmv7/config.h | 73 + .../gpl3/gcc/lib/libobjc/arch/earmv7/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv7eb/config.h | 73 + .../gcc/lib/libobjc/arch/earmv7eb/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv7hf/config.h | 73 + .../gcc/lib/libobjc/arch/earmv7hf/defs.mk | 16 + .../gcc/lib/libobjc/arch/earmv7hfeb/config.h | 73 + .../gcc/lib/libobjc/arch/earmv7hfeb/defs.mk | 16 + .../gpl3/gcc/lib/libobjc/arch/ia64/config.h | 73 + .../gpl3/gcc/lib/libobjc/arch/ia64/defs.mk | 10 + external/gpl3/gcc/lib/libstdc++-v3/Makefile | 15 +- .../gpl3/gcc/lib/libstdc++-v3/Makefile.inc | 3 + .../gcc/lib/libstdc++-v3/arch/arm/c++config.h | 4 +- .../gcc/lib/libstdc++-v3/arch/arm/config.h | 4 +- .../lib/libstdc++-v3/arch/armeb/c++config.h | 4 +- .../gcc/lib/libstdc++-v3/arch/armeb/config.h | 4 +- .../libstdc++-v3/arch/coldfire/c++allocator.h | 41 + .../libstdc++-v3/arch/coldfire/c++config.h | 1507 + .../lib/libstdc++-v3/arch/coldfire/config.h | 1127 + .../arch/coldfire/cxxabi_tweaks.h | 62 + .../lib/libstdc++-v3/arch/coldfire/defs.mk | 48 + .../lib/libstdc++-v3/arch/coldfire/gstdint.h | 51 + .../libstdc++-v3/arch/coldfire/gthr-default.h | 872 + .../libstdc++-v3/arch/coldfire/gthr-posix.h | 872 + .../libstdc++-v3/arch/coldfire/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/coldfire/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/coldfire/gthr.h | 177 + .../lib/libstdc++-v3/arch/earm/c++config.h | 6 +- .../gcc/lib/libstdc++-v3/arch/earm/config.h | 6 +- .../libstdc++-v3/arch/earm/cxxabi_tweaks.h | 2 +- .../gcc/lib/libstdc++-v3/arch/earm/gstdint.h | 4 +- .../libstdc++-v3/arch/earmeb/c++allocator.h | 41 + .../lib/libstdc++-v3/arch/earmeb/c++config.h | 1507 + .../gcc/lib/libstdc++-v3/arch/earmeb/config.h | 1127 + .../libstdc++-v3/arch/earmeb/cxxabi_tweaks.h | 85 + .../gcc/lib/libstdc++-v3/arch/earmeb/defs.mk | 34 + .../lib/libstdc++-v3/arch/earmeb/gstdint.h | 51 + .../libstdc++-v3/arch/earmeb/gthr-default.h | 872 + .../lib/libstdc++-v3/arch/earmeb/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmeb/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmeb/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmeb/gthr.h | 177 + .../libstdc++-v3/arch/earmhf/c++allocator.h | 41 + .../lib/libstdc++-v3/arch/earmhf/c++config.h | 1507 + .../gcc/lib/libstdc++-v3/arch/earmhf/config.h | 1127 + .../libstdc++-v3/arch/earmhf/cxxabi_tweaks.h | 85 + .../gcc/lib/libstdc++-v3/arch/earmhf/defs.mk | 34 + .../lib/libstdc++-v3/arch/earmhf/gstdint.h | 51 + .../libstdc++-v3/arch/earmhf/gthr-default.h | 872 + .../lib/libstdc++-v3/arch/earmhf/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmhf/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmhf/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmhf/gthr.h | 177 + .../libstdc++-v3/arch/earmhfeb/c++allocator.h | 41 + .../libstdc++-v3/arch/earmhfeb/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmhfeb/config.h | 1127 + .../arch/earmhfeb/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmhfeb/defs.mk | 34 + .../lib/libstdc++-v3/arch/earmhfeb/gstdint.h | 51 + .../libstdc++-v3/arch/earmhfeb/gthr-default.h | 872 + .../libstdc++-v3/arch/earmhfeb/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmhfeb/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmhfeb/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmhfeb/gthr.h | 177 + .../libstdc++-v3/arch/earmv4/c++allocator.h | 41 + .../lib/libstdc++-v3/arch/earmv4/c++config.h | 1507 + .../gcc/lib/libstdc++-v3/arch/earmv4/config.h | 1127 + .../libstdc++-v3/arch/earmv4/cxxabi_tweaks.h | 85 + .../gcc/lib/libstdc++-v3/arch/earmv4/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv4/gstdint.h | 51 + .../libstdc++-v3/arch/earmv4/gthr-default.h | 872 + .../lib/libstdc++-v3/arch/earmv4/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv4/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv4/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv4/gthr.h | 177 + .../libstdc++-v3/arch/earmv4eb/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv4eb/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv4eb/config.h | 1127 + .../arch/earmv4eb/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv4eb/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv4eb/gstdint.h | 51 + .../libstdc++-v3/arch/earmv4eb/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv4eb/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv4eb/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv4eb/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv4eb/gthr.h | 177 + .../libstdc++-v3/arch/earmv6/c++allocator.h | 41 + .../lib/libstdc++-v3/arch/earmv6/c++config.h | 1507 + .../gcc/lib/libstdc++-v3/arch/earmv6/config.h | 1127 + .../libstdc++-v3/arch/earmv6/cxxabi_tweaks.h | 85 + .../gcc/lib/libstdc++-v3/arch/earmv6/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv6/gstdint.h | 51 + .../libstdc++-v3/arch/earmv6/gthr-default.h | 872 + .../lib/libstdc++-v3/arch/earmv6/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv6/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv6/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv6/gthr.h | 177 + .../libstdc++-v3/arch/earmv6eb/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv6eb/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv6eb/config.h | 1127 + .../arch/earmv6eb/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv6eb/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv6eb/gstdint.h | 51 + .../libstdc++-v3/arch/earmv6eb/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv6eb/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv6eb/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv6eb/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv6eb/gthr.h | 177 + .../libstdc++-v3/arch/earmv6hf/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv6hf/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv6hf/config.h | 1127 + .../arch/earmv6hf/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv6hf/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv6hf/gstdint.h | 51 + .../libstdc++-v3/arch/earmv6hf/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv6hf/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv6hf/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv6hf/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv6hf/gthr.h | 177 + .../arch/earmv6hfeb/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv6hfeb/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv6hfeb/config.h | 1127 + .../arch/earmv6hfeb/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv6hfeb/defs.mk | 48 + .../libstdc++-v3/arch/earmv6hfeb/gstdint.h | 51 + .../arch/earmv6hfeb/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv6hfeb/gthr-posix.h | 872 + .../arch/earmv6hfeb/gthr-single.h | 296 + .../libstdc++-v3/arch/earmv6hfeb/gthr-tpf.h | 233 + .../lib/libstdc++-v3/arch/earmv6hfeb/gthr.h | 177 + .../libstdc++-v3/arch/earmv7/c++allocator.h | 41 + .../lib/libstdc++-v3/arch/earmv7/c++config.h | 1507 + .../gcc/lib/libstdc++-v3/arch/earmv7/config.h | 1127 + .../libstdc++-v3/arch/earmv7/cxxabi_tweaks.h | 85 + .../gcc/lib/libstdc++-v3/arch/earmv7/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv7/gstdint.h | 51 + .../libstdc++-v3/arch/earmv7/gthr-default.h | 872 + .../lib/libstdc++-v3/arch/earmv7/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv7/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv7/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv7/gthr.h | 177 + .../libstdc++-v3/arch/earmv7eb/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv7eb/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv7eb/config.h | 1127 + .../arch/earmv7eb/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv7eb/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv7eb/gstdint.h | 51 + .../libstdc++-v3/arch/earmv7eb/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv7eb/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv7eb/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv7eb/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv7eb/gthr.h | 177 + .../libstdc++-v3/arch/earmv7hf/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv7hf/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv7hf/config.h | 1127 + .../arch/earmv7hf/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv7hf/defs.mk | 48 + .../lib/libstdc++-v3/arch/earmv7hf/gstdint.h | 51 + .../libstdc++-v3/arch/earmv7hf/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv7hf/gthr-posix.h | 872 + .../libstdc++-v3/arch/earmv7hf/gthr-single.h | 296 + .../lib/libstdc++-v3/arch/earmv7hf/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/earmv7hf/gthr.h | 177 + .../arch/earmv7hfeb/c++allocator.h | 41 + .../libstdc++-v3/arch/earmv7hfeb/c++config.h | 1507 + .../lib/libstdc++-v3/arch/earmv7hfeb/config.h | 1127 + .../arch/earmv7hfeb/cxxabi_tweaks.h | 85 + .../lib/libstdc++-v3/arch/earmv7hfeb/defs.mk | 48 + .../libstdc++-v3/arch/earmv7hfeb/gstdint.h | 51 + .../arch/earmv7hfeb/gthr-default.h | 872 + .../libstdc++-v3/arch/earmv7hfeb/gthr-posix.h | 872 + .../arch/earmv7hfeb/gthr-single.h | 296 + .../libstdc++-v3/arch/earmv7hfeb/gthr-tpf.h | 233 + .../lib/libstdc++-v3/arch/earmv7hfeb/gthr.h | 177 + .../gcc/lib/libstdc++-v3/arch/i386/config.h | 2 +- .../lib/libstdc++-v3/arch/ia64/c++allocator.h | 41 + .../lib/libstdc++-v3/arch/ia64/c++config.h | 1507 + .../gcc/lib/libstdc++-v3/arch/ia64/config.h | 1127 + .../libstdc++-v3/arch/ia64/cxxabi_tweaks.h | 62 + .../gcc/lib/libstdc++-v3/arch/ia64/defs.mk | 34 + .../gcc/lib/libstdc++-v3/arch/ia64/gstdint.h | 51 + .../lib/libstdc++-v3/arch/ia64/gthr-default.h | 872 + .../lib/libstdc++-v3/arch/ia64/gthr-posix.h | 872 + .../lib/libstdc++-v3/arch/ia64/gthr-single.h | 296 + .../gcc/lib/libstdc++-v3/arch/ia64/gthr-tpf.h | 233 + .../gcc/lib/libstdc++-v3/arch/ia64/gthr.h | 177 + .../gcc/lib/libstdc++-v3/include/Makefile | 5 +- .../gcc/lib/libstdc++-v3/include/Makefile.inc | 3 + .../libstdc++-v3/include/backward/Makefile | 5 +- .../lib/libstdc++-v3/include/bits/Makefile | 15 +- .../lib/libstdc++-v3/include/debug/Makefile | 5 +- .../lib/libstdc++-v3/include/decimal/Makefile | 5 +- .../gcc/lib/libstdc++-v3/include/ext/Makefile | 5 +- .../libstdc++-v3/include/parallel/Makefile | 5 +- .../gcc/lib/libstdc++-v3/include/tr1/Makefile | 5 +- .../libstdc++-v3/include/tr1_impl/Makefile | 5 +- external/gpl3/gcc/lib/libsupc++/Makefile | 16 +- .../gpl3/gcc/lib/libsupc++/Makefile.common | 6 +- external/gpl3/gcc/patches/0000-gcc_nbsd.patch | 4798 ++- external/gpl3/gcc/patches/0001-minix.patch | 93 +- external/gpl3/gcc/usr.bin/Makefile | 6 +- external/gpl3/gcc/usr.bin/Makefile.backend | 9 +- external/gpl3/gcc/usr.bin/Makefile.inc | 22 +- external/gpl3/gcc/usr.bin/backend/Makefile | 31 +- external/gpl3/gcc/usr.bin/cpp/Makefile | 6 +- external/gpl3/gcc/usr.bin/frontend/Makefile | 6 +- .../gcc/usr.bin/gcc/arch/alpha/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/arm/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/arm/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/armeb/auto-host.h | 4 +- .../gcc/usr.bin/gcc/arch/armeb/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/armeb/defs.mk | 10 +- external/gpl3/gcc/usr.bin/gcc/arch/armeb/tm.h | 6 +- .../usr.bin/gcc/arch/coldfire/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/coldfire/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/coldfire/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/coldfire/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/coldfire/config.h | 14 + .../usr.bin/gcc/arch/coldfire/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/coldfire/defs.mk | 52 + .../usr.bin/gcc/arch/coldfire/gthr-default.h | 5 + .../usr.bin/gcc/arch/coldfire/gtyp-input.list | 185 + .../gcc/usr.bin/gcc/arch/coldfire/multilib.h | 20 + .../gcc/arch/coldfire/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h | 31 + .../gcc/usr.bin/gcc/arch/earm/auto-host.h | 26 +- .../gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h | 2 +- .../gpl3/gcc/usr.bin/gcc/arch/earm/config.h | 2 +- .../gcc/usr.bin/gcc/arch/earm/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk | 24 +- .../gcc/usr.bin/gcc/arch/earm/gtyp-input.list | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h | 2 +- .../usr.bin/gcc/arch/earm/plugin-version.h | 2 +- external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h | 6 +- .../gcc/usr.bin/gcc/arch/earmeb/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmeb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmeb/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmeb/bversion.h | 8 + .../gpl3/gcc/usr.bin/gcc/arch/earmeb/config.h | 14 + .../gcc/usr.bin/gcc/arch/earmeb/configargs.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk | 52 + .../usr.bin/gcc/arch/earmeb/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmeb/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmeb/multilib.h | 32 + .../usr.bin/gcc/arch/earmeb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmeb/tm.h | 32 + .../gcc/usr.bin/gcc/arch/earmhf/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmhf/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmhf/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmhf/bversion.h | 8 + .../gpl3/gcc/usr.bin/gcc/arch/earmhf/config.h | 14 + .../gcc/usr.bin/gcc/arch/earmhf/configargs.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk | 52 + .../usr.bin/gcc/arch/earmhf/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmhf/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmhf/multilib.h | 32 + .../usr.bin/gcc/arch/earmhf/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmhf/tm.h | 32 + .../usr.bin/gcc/arch/earmhfeb/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmhfeb/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmhfeb/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmhfeb/config.h | 14 + .../usr.bin/gcc/arch/earmhfeb/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmhfeb/defs.mk | 52 + .../usr.bin/gcc/arch/earmhfeb/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmhfeb/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmhfeb/multilib.h | 32 + .../gcc/arch/earmhfeb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmhfeb/tm.h | 35 + .../gcc/usr.bin/gcc/arch/earmv4/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv4/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv4/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv4/bversion.h | 8 + .../gpl3/gcc/usr.bin/gcc/arch/earmv4/config.h | 14 + .../gcc/usr.bin/gcc/arch/earmv4/configargs.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/earmv4/defs.mk | 52 + .../usr.bin/gcc/arch/earmv4/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv4/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv4/multilib.h | 32 + .../usr.bin/gcc/arch/earmv4/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv4/tm.h | 29 + .../usr.bin/gcc/arch/earmv4eb/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv4eb/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv4eb/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv4eb/config.h | 14 + .../usr.bin/gcc/arch/earmv4eb/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv4eb/defs.mk | 52 + .../usr.bin/gcc/arch/earmv4eb/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv4eb/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv4eb/multilib.h | 32 + .../gcc/arch/earmv4eb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv4eb/tm.h | 32 + .../gcc/usr.bin/gcc/arch/earmv6/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv6/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv6/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv6/bversion.h | 8 + .../gpl3/gcc/usr.bin/gcc/arch/earmv6/config.h | 14 + .../gcc/usr.bin/gcc/arch/earmv6/configargs.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk | 52 + .../usr.bin/gcc/arch/earmv6/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv6/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv6/multilib.h | 32 + .../usr.bin/gcc/arch/earmv6/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv6/tm.h | 29 + .../usr.bin/gcc/arch/earmv6eb/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv6eb/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv6eb/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv6eb/config.h | 14 + .../usr.bin/gcc/arch/earmv6eb/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv6eb/defs.mk | 52 + .../usr.bin/gcc/arch/earmv6eb/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv6eb/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv6eb/multilib.h | 32 + .../gcc/arch/earmv6eb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv6eb/tm.h | 32 + .../usr.bin/gcc/arch/earmv6hf/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv6hf/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv6hf/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv6hf/config.h | 14 + .../usr.bin/gcc/arch/earmv6hf/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv6hf/defs.mk | 52 + .../usr.bin/gcc/arch/earmv6hf/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv6hf/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv6hf/multilib.h | 32 + .../gcc/arch/earmv6hf/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv6hf/tm.h | 32 + .../usr.bin/gcc/arch/earmv6hfeb/all-tree.def | 5 + .../usr.bin/gcc/arch/earmv6hfeb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv6hfeb/bconfig.h | 11 + .../usr.bin/gcc/arch/earmv6hfeb/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv6hfeb/config.h | 14 + .../usr.bin/gcc/arch/earmv6hfeb/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk | 52 + .../gcc/arch/earmv6hfeb/gthr-default.h | 5 + .../gcc/arch/earmv6hfeb/gtyp-input.list | 189 + .../usr.bin/gcc/arch/earmv6hfeb/multilib.h | 32 + .../gcc/arch/earmv6hfeb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/tm.h | 35 + .../gcc/usr.bin/gcc/arch/earmv7/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv7/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv7/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv7/bversion.h | 8 + .../gpl3/gcc/usr.bin/gcc/arch/earmv7/config.h | 14 + .../gcc/usr.bin/gcc/arch/earmv7/configargs.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk | 52 + .../usr.bin/gcc/arch/earmv7/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv7/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv7/multilib.h | 32 + .../usr.bin/gcc/arch/earmv7/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv7/tm.h | 29 + .../usr.bin/gcc/arch/earmv7eb/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv7eb/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv7eb/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv7eb/config.h | 14 + .../usr.bin/gcc/arch/earmv7eb/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv7eb/defs.mk | 52 + .../usr.bin/gcc/arch/earmv7eb/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv7eb/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv7eb/multilib.h | 32 + .../gcc/arch/earmv7eb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv7eb/tm.h | 32 + .../usr.bin/gcc/arch/earmv7hf/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv7hf/bconfig.h | 11 + .../gcc/usr.bin/gcc/arch/earmv7hf/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv7hf/config.h | 14 + .../usr.bin/gcc/arch/earmv7hf/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv7hf/defs.mk | 52 + .../usr.bin/gcc/arch/earmv7hf/gthr-default.h | 5 + .../usr.bin/gcc/arch/earmv7hf/gtyp-input.list | 189 + .../gcc/usr.bin/gcc/arch/earmv7hf/multilib.h | 32 + .../gcc/arch/earmv7hf/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv7hf/tm.h | 32 + .../usr.bin/gcc/arch/earmv7hfeb/all-tree.def | 5 + .../usr.bin/gcc/arch/earmv7hfeb/auto-host.h | 1915 + .../gcc/usr.bin/gcc/arch/earmv7hfeb/bconfig.h | 11 + .../usr.bin/gcc/arch/earmv7hfeb/bversion.h | 8 + .../gcc/usr.bin/gcc/arch/earmv7hfeb/config.h | 14 + .../usr.bin/gcc/arch/earmv7hfeb/configargs.h | 11 + .../gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk | 52 + .../gcc/arch/earmv7hfeb/gthr-default.h | 5 + .../gcc/arch/earmv7hfeb/gtyp-input.list | 189 + .../usr.bin/gcc/arch/earmv7hfeb/multilib.h | 32 + .../gcc/arch/earmv7hfeb/plugin-version.h | 17 + .../gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/tm.h | 35 + .../gcc/usr.bin/gcc/arch/hppa/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/i386/auto-host.h | 24 +- .../gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h | 2 +- .../gcc/usr.bin/gcc/arch/i386/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk | 12 +- .../gcc/usr.bin/gcc/arch/ia64/all-tree.def | 5 + .../gcc/usr.bin/gcc/arch/ia64/auto-host.h | 1915 + .../gpl3/gcc/usr.bin/gcc/arch/ia64/bconfig.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h | 8 + .../gpl3/gcc/usr.bin/gcc/arch/ia64/config.h | 14 + .../gcc/usr.bin/gcc/arch/ia64/configargs.h | 11 + .../gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk | 52 + .../gcc/usr.bin/gcc/arch/ia64/gthr-default.h | 5 + .../gcc/usr.bin/gcc/arch/ia64/gtyp-input.list | 186 + .../gpl3/gcc/usr.bin/gcc/arch/ia64/multilib.h | 20 + .../usr.bin/gcc/arch/ia64/plugin-version.h | 17 + external/gpl3/gcc/usr.bin/gcc/arch/ia64/tm.h | 26 + .../gcc/usr.bin/gcc/arch/m68000/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/m68k/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk | 8 +- .../usr.bin/gcc/arch/mips64eb/configargs.h | 4 +- .../gcc/usr.bin/gcc/arch/mips64eb/defs.mk | 8 +- .../usr.bin/gcc/arch/mips64el/configargs.h | 4 +- .../gcc/usr.bin/gcc/arch/mips64el/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/mipseb/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/mipsel/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/powerpc/configargs.h | 12 +- .../gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/sh3eb/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/sh3el/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/sparc/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/sparc64/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/vax/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk | 8 +- .../gcc/usr.bin/gcc/arch/x86_64/configargs.h | 4 +- .../gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk | 8 +- external/gpl3/gcc/usr.bin/include/Makefile | 8 +- external/gpl3/gcc/usr.bin/libcpp/Makefile | 5 +- .../gcc/usr.bin/libcpp/arch/coldfire/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earm/config.h | 4 +- .../gcc/usr.bin/libcpp/arch/earmeb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmhf/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmhfeb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv4/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv4eb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv6/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv6eb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv6hf/config.h | 290 + .../usr.bin/libcpp/arch/earmv6hfeb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv7/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv7eb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/earmv7hf/config.h | 290 + .../usr.bin/libcpp/arch/earmv7hfeb/config.h | 290 + .../gcc/usr.bin/libcpp/arch/ia64/config.h | 290 + .../gpl3/gcc/usr.bin/libdecnumber/Makefile | 2 +- .../usr.bin/libdecnumber/arch/armeb/config.h | 4 +- .../libdecnumber/arch/coldfire/config.h | 99 + .../usr.bin/libdecnumber/arch/earm/config.h | 2 +- .../usr.bin/libdecnumber/arch/earmeb/config.h | 99 + .../usr.bin/libdecnumber/arch/earmhf/config.h | 99 + .../libdecnumber/arch/earmhfeb/config.h | 99 + .../usr.bin/libdecnumber/arch/earmv4/config.h | 99 + .../libdecnumber/arch/earmv4eb/config.h | 99 + .../usr.bin/libdecnumber/arch/earmv6/config.h | 99 + .../libdecnumber/arch/earmv6eb/config.h | 99 + .../libdecnumber/arch/earmv6hf/config.h | 99 + .../libdecnumber/arch/earmv6hfeb/config.h | 99 + .../usr.bin/libdecnumber/arch/earmv7/config.h | 99 + .../libdecnumber/arch/earmv7eb/config.h | 99 + .../libdecnumber/arch/earmv7hf/config.h | 99 + .../libdecnumber/arch/earmv7hfeb/config.h | 99 + .../usr.bin/libdecnumber/arch/ia64/config.h | 99 + external/historical/nawk/bin/Makefile | 6 +- external/historical/nawk/dist/FIXES | 58 + external/historical/nawk/dist/README | 2 +- external/historical/nawk/dist/awkgram.y | 4 +- external/historical/nawk/dist/b.c | 4 + external/historical/nawk/dist/lib.c | 20 +- external/historical/nawk/dist/main.c | 38 +- external/historical/nawk/dist/makefile | 18 +- external/historical/nawk/dist/proctab.c | 188 +- external/historical/nawk/dist/proto.h | 8 +- external/historical/nawk/dist/run.c | 16 +- external/historical/nawk/dist/tran.c | 26 +- external/historical/nawk/dist/ytab.c | 1679 + external/historical/nawk/dist/ytab.h | 101 + external/lgpl3/gmp/Makefile.netbsd-gmp | 6 +- external/lgpl3/gmp/README | 6 +- external/lgpl3/gmp/fetch.sh | 10 +- external/lgpl3/gmp/lib/libgmp/Makefile | 70 +- .../gmp/lib/libgmp/arch/alpha/Makefile.inc | 73 +- .../lgpl3/gmp/lib/libgmp/arch/alpha/config.h | 73 +- .../lgpl3/gmp/lib/libgmp/arch/alpha/config.m4 | 2 +- .../lgpl3/gmp/lib/libgmp/arch/alpha/gmp.h | 789 +- .../gmp/lib/libgmp/arch/arm/Makefile.inc | 118 +- .../lgpl3/gmp/lib/libgmp/arch/arm/config.h | 113 +- .../lgpl3/gmp/lib/libgmp/arch/arm/config.m4 | 1 + .../gmp/lib/libgmp/arch/arm/gmp-mparam.h | 150 +- external/lgpl3/gmp/lib/libgmp/arch/arm/gmp.h | 785 +- external/lgpl3/gmp/lib/libgmp/arch/arm/mp.h | 164 - .../gmp/lib/libgmp/arch/armeb/Makefile.inc | 118 +- .../lgpl3/gmp/lib/libgmp/arch/armeb/config.h | 121 +- .../lgpl3/gmp/lib/libgmp/arch/armeb/config.m4 | 6 +- .../gmp/lib/libgmp/arch/armeb/gmp-mparam.h | 150 +- .../lgpl3/gmp/lib/libgmp/arch/armeb/gmp.h | 791 +- external/lgpl3/gmp/lib/libgmp/arch/armeb/mp.h | 164 - .../gmp/lib/libgmp/arch/coldfire/Makefile.inc | 193 + .../gmp/lib/libgmp/arch/coldfire/config.h | 630 + .../gmp/lib/libgmp/arch/coldfire/config.m4 | 19 + .../gmp/lib/libgmp/arch/coldfire/gmp-mparam.h | 22 + .../lgpl3/gmp/lib/libgmp/arch/coldfire/gmp.h | 2231 ++ .../gmp/lib/libgmp/arch/earm/Makefile.inc | 118 +- .../lgpl3/gmp/lib/libgmp/arch/earm/config.h | 113 +- .../lgpl3/gmp/lib/libgmp/arch/earm/config.m4 | 2 +- .../gmp/lib/libgmp/arch/earm/gmp-mparam.h | 150 +- external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h | 791 +- external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h | 164 - .../gmp/lib/libgmp/arch/earmeb/Makefile.inc | 204 + .../lgpl3/gmp/lib/libgmp/arch/earmeb/config.h | 630 + .../gmp/lib/libgmp/arch/earmeb/config.m4 | 35 + .../gmp/lib/libgmp/arch/earmeb/gmp-mparam.h | 116 + .../lgpl3/gmp/lib/libgmp/arch/earmeb/gmp.h | 2231 ++ .../gmp/lib/libgmp/arch/earmhf/Makefile.inc | 204 + .../lgpl3/gmp/lib/libgmp/arch/earmhf/config.h | 630 + .../gmp/lib/libgmp/arch/earmhf/config.m4 | 35 + .../gmp/lib/libgmp/arch/earmhf/gmp-mparam.h | 116 + .../lgpl3/gmp/lib/libgmp/arch/earmhf/gmp.h | 2231 ++ .../gmp/lib/libgmp/arch/earmhfeb/Makefile.inc | 204 + .../gmp/lib/libgmp/arch/earmhfeb/config.h | 630 + .../gmp/lib/libgmp/arch/earmhfeb/config.m4 | 35 + .../gmp/lib/libgmp/arch/earmhfeb/gmp-mparam.h | 116 + .../lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp.h | 2231 ++ .../gmp/lib/libgmp/arch/hppa/Makefile.inc | 73 +- .../lgpl3/gmp/lib/libgmp/arch/hppa/config.h | 69 +- external/lgpl3/gmp/lib/libgmp/arch/hppa/gmp.h | 789 +- external/lgpl3/gmp/lib/libgmp/arch/hppa/mp.h | 164 - .../gmp/lib/libgmp/arch/i386/Makefile.inc | 111 +- .../lgpl3/gmp/lib/libgmp/arch/i386/config.h | 87 +- external/lgpl3/gmp/lib/libgmp/arch/i386/gmp.h | 789 +- external/lgpl3/gmp/lib/libgmp/arch/i386/mp.h | 164 - .../gmp/lib/libgmp/arch/ia64/Makefile.inc | 174 + .../lgpl3/gmp/lib/libgmp/arch/ia64/config.h | 587 + .../lgpl3/gmp/lib/libgmp/arch/ia64/config.m4 | 35 + .../gmp/lib/libgmp/arch/ia64/gmp-mparam.h | 207 + external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp.h | 2283 ++ .../gmp/lib/libgmp/arch/{alpha => ia64}/mp.h | 0 .../gmp/lib/libgmp/arch/m68000/Makefile.inc | 75 +- .../lgpl3/gmp/lib/libgmp/arch/m68000/config.h | 69 +- .../gmp/lib/libgmp/arch/m68000/config.m4 | 2 +- .../lgpl3/gmp/lib/libgmp/arch/m68000/gmp.h | 791 +- .../lgpl3/gmp/lib/libgmp/arch/m68000/mp.h | 164 - .../gmp/lib/libgmp/arch/m68k/Makefile.inc | 75 +- .../lgpl3/gmp/lib/libgmp/arch/m68k/config.h | 69 +- external/lgpl3/gmp/lib/libgmp/arch/m68k/gmp.h | 791 +- external/lgpl3/gmp/lib/libgmp/arch/m68k/mp.h | 164 - .../gmp/lib/libgmp/arch/mips64eb/Makefile.inc | 81 +- .../gmp/lib/libgmp/arch/mips64eb/config.h | 73 +- .../gmp/lib/libgmp/arch/mips64eb/gmp-mparam.h | 5 - .../lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp.h | 797 +- .../lgpl3/gmp/lib/libgmp/arch/mips64eb/mp.h | 164 - .../gmp/lib/libgmp/arch/mips64el/Makefile.inc | 98 +- .../gmp/lib/libgmp/arch/mips64el/config.h | 75 +- .../gmp/lib/libgmp/arch/mips64el/gmp-mparam.h | 5 - .../lgpl3/gmp/lib/libgmp/arch/mips64el/gmp.h | 795 +- .../lgpl3/gmp/lib/libgmp/arch/mips64el/mp.h | 164 - .../gmp/lib/libgmp/arch/mipseb/Makefile.inc | 79 +- .../lgpl3/gmp/lib/libgmp/arch/mipseb/config.h | 69 +- .../lgpl3/gmp/lib/libgmp/arch/mipseb/gmp.h | 789 +- .../lgpl3/gmp/lib/libgmp/arch/mipseb/mp.h | 164 - .../gmp/lib/libgmp/arch/mipsel/Makefile.inc | 73 +- .../lgpl3/gmp/lib/libgmp/arch/mipsel/config.h | 75 +- .../lgpl3/gmp/lib/libgmp/arch/mipsel/gmp.h | 789 +- .../lgpl3/gmp/lib/libgmp/arch/mipsel/mp.h | 164 - .../gmp/lib/libgmp/arch/powerpc/Makefile.inc | 79 +- .../gmp/lib/libgmp/arch/powerpc/config.h | 75 +- .../gmp/lib/libgmp/arch/powerpc/config.m4 | 5 +- .../gmp/lib/libgmp/arch/powerpc/gmp-mparam.h | 70 +- .../lgpl3/gmp/lib/libgmp/arch/powerpc/gmp.h | 789 +- .../lgpl3/gmp/lib/libgmp/arch/powerpc/mp.h | 164 - .../lib/libgmp/arch/powerpc64/Makefile.inc | 30 +- .../gmp/lib/libgmp/arch/sh3eb/Makefile.inc | 92 +- .../lgpl3/gmp/lib/libgmp/arch/sh3eb/config.h | 75 +- .../lgpl3/gmp/lib/libgmp/arch/sh3eb/config.m4 | 15 +- .../lgpl3/gmp/lib/libgmp/arch/sh3eb/gmp.h | 789 +- external/lgpl3/gmp/lib/libgmp/arch/sh3eb/mp.h | 164 - .../gmp/lib/libgmp/arch/sh3el/Makefile.inc | 92 +- .../lgpl3/gmp/lib/libgmp/arch/sh3el/config.h | 69 +- .../lgpl3/gmp/lib/libgmp/arch/sh3el/config.m4 | 2 +- .../lgpl3/gmp/lib/libgmp/arch/sh3el/gmp.h | 789 +- external/lgpl3/gmp/lib/libgmp/arch/sh3el/mp.h | 164 - .../gmp/lib/libgmp/arch/sparc/Makefile.inc | 76 +- .../lgpl3/gmp/lib/libgmp/arch/sparc/config.h | 69 +- .../lgpl3/gmp/lib/libgmp/arch/sparc/gmp.h | 783 +- external/lgpl3/gmp/lib/libgmp/arch/sparc/mp.h | 164 - .../gmp/lib/libgmp/arch/sparc64/Makefile.inc | 114 +- .../gmp/lib/libgmp/arch/sparc64/config.h | 87 +- .../gmp/lib/libgmp/arch/sparc64/gmp-mparam.h | 12 +- .../lgpl3/gmp/lib/libgmp/arch/sparc64/gmp.h | 793 +- .../lgpl3/gmp/lib/libgmp/arch/sparc64/mp.h | 164 - .../gmp/lib/libgmp/arch/vax/Makefile.inc | 127 +- .../lgpl3/gmp/lib/libgmp/arch/vax/config.h | 83 +- .../lgpl3/gmp/lib/libgmp/arch/vax/config.m4 | 14 + external/lgpl3/gmp/lib/libgmp/arch/vax/gmp.h | 789 +- external/lgpl3/gmp/lib/libgmp/arch/vax/mp.h | 164 - .../gmp/lib/libgmp/arch/x86_64/Makefile.inc | 87 +- .../lgpl3/gmp/lib/libgmp/arch/x86_64/config.h | 81 +- .../gmp/lib/libgmp/arch/x86_64/config.m4 | 1 + .../gmp/lib/libgmp/arch/x86_64/gmp-mparam.h | 118 +- .../lgpl3/gmp/lib/libgmp/arch/x86_64/gmp.h | 795 +- .../lgpl3/gmp/lib/libgmp/arch/x86_64/mp.h | 164 - external/lgpl3/gmp/patches/0000-gmp.patch | 3229 +- external/{lgpl2 => lgpl3}/mpc/fetch.sh | 10 +- .../{lgpl2 => lgpl3}/mpc/lib/libmpc/Makefile | 19 +- .../{lgpl2 => lgpl3}/mpc/lib/libmpc/config.h | 30 +- external/lgpl3/mpfr/fetch.sh | 10 +- external/lgpl3/mpfr/lib/libmpfr/Makefile | 13 +- external/lgpl3/mpfr/lib/libmpfr/shlib_version | 6 - external/lgpl3/mpfr/patches/0000-mpfr.patch | 320 +- external/mit/lua/lib/liblua/Makefile | 4 +- external/public-domain/xz/lib/Makefile | 6 +- external/public-domain/xz/lib/shlib_version | 4 +- gnu/Makefile | 5 +- gnu/usr.bin/Makefile | 20 +- gnu/usr.bin/texinfo/common/config.h | 6 +- gnu/usr.bin/texinfo/install-info/Makefile | 5 - gnu/usr.bin/texinfo/texindex/Makefile | 5 - include/Makefile | 6 +- include/arch/earm/include/Makefile | 2 +- include/complex.h | 20 +- include/ctype.h | 29 +- include/db.h | 5 +- include/fenv.h | 6 +- include/heimdal/config.h | 1477 - include/heimdal/crypto-headers.h | 27 - include/heimdal/hx509_err.h | 88 - include/heimdal/krb5-types.h | 16 - include/heimdal/krb_err.h | 65 - include/heimdal/protos.h | 277 - include/heimdal/roken.h | 235 - include/heimdal/version.h | 2 - include/inttypes.h | 18 +- include/iso646.h | 4 +- include/langinfo.h | 12 +- include/limits.h | 16 +- include/locale.h | 50 +- include/math.h | 130 +- include/minix/Makefile | 2 +- include/minix/gcov.h | 9 + include/minix/log.h | 6 +- include/minix/mount.h | 22 - include/minix/vm.h | 6 + include/mntopts.h | 3 +- include/mpool.h | 10 +- include/netdb.h | 16 +- include/nl_types.h | 15 +- include/pwd.h | 2 +- include/res_update.h | 8 +- include/resolv.h | 3 +- include/rpc/svc.h | 4 +- include/rpcsvc/yp_prot.h | 4 +- include/search.h | 3 +- include/signal.h | 8 +- include/ssp/string.h | 5 +- include/stdbool.h | 6 +- include/stdio.h | 74 +- include/stdlib.h | 55 +- include/string.h | 24 +- include/time.h | 17 +- include/ttyent.h | 3 +- include/unistd.h | 45 +- include/util.h | 30 +- include/vis.h | 32 +- include/wchar.h | 87 +- include/wctype.h | 28 +- kernel/arch/earm/Makefile.inc | 67 +- kernel/arch/earm/bsp/ti/Makefile.inc | 8 +- kernel/arch/earm/phys_copy.S | 82 +- kernel/arch/i386/Makefile.inc | 68 +- lib/Makefile | 162 +- lib/Makefile.inc | 2 +- lib/bumpversion | 127 + lib/checkoldver | 155 + lib/checkver | 232 + lib/checkvers | 210 + lib/csu/Makefile | 21 +- lib/csu/README | 30 + lib/csu/arch/alpha/Makefile.inc | 3 + lib/csu/arch/alpha/crt0.S | 54 + lib/csu/arch/alpha/crtbegin.h | 50 + lib/csu/arch/alpha/crtend.S | 55 + lib/csu/arch/alpha/crtfm.c | 68 + lib/csu/arch/alpha/crti.S | 55 + lib/csu/arch/alpha/crtn.S | 45 + lib/csu/arch/arm/Makefile.inc | 8 +- lib/csu/arch/arm/crtbegin.S | 293 - lib/csu/arch/arm/crtbegin.h | 38 + lib/csu/arch/earm/Makefile.inc | 6 +- lib/csu/arch/earm/crt0.S | 11 +- lib/csu/arch/earm/crtbegin.S | 216 - lib/csu/arch/earm/crtbegin.h | 50 + lib/csu/arch/hppa/Makefile.inc | 3 + lib/csu/arch/hppa/crt0.S | 67 + lib/csu/arch/hppa/crtbegin.h | 43 + lib/csu/arch/hppa/crtend.S | 56 + lib/csu/arch/hppa/crti.S | 55 + lib/csu/arch/hppa/crtn.S | 46 + lib/csu/arch/m68k/Makefile.inc | 4 +- lib/csu/arch/m68k/crt0.S | 12 +- lib/csu/arch/m68k/crtbegin.h | 45 + lib/csu/arch/m68k/crtend.S | 55 + lib/csu/arch/mips/Makefile.inc | 3 + lib/csu/arch/mips/crt0.S | 58 + lib/csu/arch/mips/crtbegin.h | 66 + lib/csu/arch/mips/crtend.S | 55 + lib/csu/arch/mips/crti.S | 60 + lib/csu/arch/mips/crtn.S | 52 + lib/csu/arch/powerpc/Makefile.inc | 6 +- lib/csu/arch/powerpc/crtbegin.S | 268 - lib/csu/arch/powerpc/crtbegin.h | 36 + lib/csu/arch/powerpc/crtend.S | 7 +- lib/csu/arch/sh3/crtbegin.S | 30 +- lib/csu/arch/sparc/Makefile.inc | 4 +- lib/csu/arch/sparc/crt0.S | 23 +- lib/csu/arch/sparc/crtbegin.h | 40 + lib/csu/arch/sparc/crtend.S | 55 + lib/csu/arch/sparc64/Makefile.inc | 5 + .../getprogname.c => csu/arch/sparc64/crt0.S} | 81 +- lib/csu/arch/sparc64/crtbegin.h | 40 + lib/csu/arch/sparc64/crtend.S | 55 + .../{hppa/dot_init.h => arch/sparc64/crti.S} | 71 +- .../dot_init.h => arch/sparc64/crtn.S} | 59 +- lib/csu/arch/vax/Makefile.inc | 6 +- lib/csu/arch/vax/crt0.S | 55 +- lib/csu/arch/vax/crtbegin.S | 178 + lib/csu/arch/vax/crtbegin.h | 36 + lib/csu/arch/vax/crtend.S | 55 + lib/csu/arm_elf/Makefile | 8 - lib/csu/arm_elf/crt0.c | 111 - lib/csu/common/Makefile.inc | 66 +- lib/csu/common/compident.S | 65 + lib/csu/common/crt0-common.c | 40 +- lib/csu/common/crtbegin.c | 135 + lib/csu/common/sysident.S | 28 +- lib/csu/common/sysident_assym.cf | 15 + lib/csu/common_elf/common.h | 4 +- lib/csu/hppa/Makefile | 4 - lib/csu/hppa/crt0.c | 139 - lib/libaudiodriver/Makefile | 2 + lib/libbdev/Makefile | 3 + lib/libblockdriver/Makefile | 3 + lib/libbz2/Makefile | 5 - lib/libbz2/shlib_version | 7 +- lib/libc/Makefile | 23 +- lib/libc/Makefile.inc | 7 +- lib/libc/arch/alpha/gen/__longjmp14.c | 3 +- lib/libc/arch/alpha/gen/__setjmp14.S | 3 +- lib/libc/arch/alpha/gen/fpsetmask.c | 7 +- lib/libc/arch/alpha/gen/fpsetsticky.c | 7 +- lib/libc/arch/arm/Makefile.inc | 29 +- lib/libc/arch/arm/SYS.h | 61 +- lib/libc/arch/arm/gen/Makefile.inc | 15 +- lib/libc/arch/arm/gen/__aeabi_dcmpun.c | 54 + lib/libc/arch/arm/gen/__aeabi_fcmpun.c | 54 + lib/libc/arch/arm/gen/_setjmp.S | 171 +- lib/libc/arch/arm/gen/alloca.S | 19 +- lib/libc/arch/arm/gen/setjmp.S | 215 +- lib/libc/arch/arm/gen/sigsetjmp.S | 56 +- lib/libc/arch/arm/gen/swapcontext.S | 61 +- lib/libc/arch/arm/hardfloat/fabs.S | 40 + lib/libc/arch/arm/hardfloat/fpgetmask.S | 61 +- lib/libc/arch/arm/hardfloat/fpgetround.c | 68 +- lib/libc/arch/arm/hardfloat/fpgetsticky.S | 59 +- lib/libc/arch/arm/hardfloat/fpsetmask.S | 70 +- lib/libc/arch/arm/hardfloat/fpsetround.c | 71 +- lib/libc/arch/arm/hardfloat/fpsetsticky.S | 68 +- lib/libc/arch/arm/misc/arm_initfini.c | 72 + lib/libc/arch/arm/softfloat/__aeabi_dcmpeq.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_dcmple.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_dcmplt.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_dcmpun.c | 28 + lib/libc/arch/arm/softfloat/__aeabi_fcmpeq.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_fcmple.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_fcmplt.c | 23 + lib/libc/arch/arm/softfloat/__aeabi_fcmpun.c | 28 + lib/libc/arch/arm/softfloat/arm-gcc.h | 4 +- lib/libc/arch/arm/softfloat/softfloat.h | 3 +- lib/libc/arch/arm/string/Makefile.inc | 30 +- lib/libc/arch/arm/string/strncat_naive.S | 53 + lib/libc/arch/arm/sys-minix/__sigreturn.S | 4 +- lib/libc/arch/arm/sys-minix/ucontext.S | 1 + lib/libc/arch/arm/sys/__aeabi_read_tp.S | 20 +- lib/libc/arch/arm/sys/__clone.S | 75 +- lib/libc/arch/arm/sys/__sigtramp2.S | 3 +- lib/libc/arch/arm/sys/__vfork14.S | 17 +- lib/libc/arch/arm/sys/brk.S | 43 +- lib/libc/arch/arm/sys/cerror.S | 71 +- lib/libc/arch/arm/sys/fork.S | 7 +- lib/libc/arch/arm/sys/getcontext.S | 19 +- lib/libc/arch/arm/sys/pipe.S | 10 +- lib/libc/arch/arm/sys/ptrace.S | 49 +- lib/libc/arch/arm/sys/sbrk.S | 36 +- lib/libc/arch/hppa/SYS.h | 6 +- lib/libc/arch/hppa/gen/_resumecontext.S | 6 +- lib/libc/arch/hppa/gen/resumecontext.c | 6 +- lib/libc/arch/hppa/sys/brk.S | 16 +- lib/libc/arch/hppa/sys/cerror.S | 4 +- lib/libc/arch/hppa/sys/sbrk.S | 16 +- lib/libc/arch/i386/SYS.h | 4 +- lib/libc/arch/i386/gen/fixunsdfsi.S | 8 +- lib/libc/arch/i386/gen/resumecontext.S | 10 +- lib/libc/arch/i386/gen/setjmp.S | 13 +- lib/libc/arch/i386/gen/sigsetjmp.S | 13 +- lib/libc/arch/i386/gen/swapcontext.S | 10 +- lib/libc/arch/i386/sys-minix/__sigreturn.S | 8 +- lib/libc/arch/i386/sys-minix/ucontext.S | 1 + lib/libc/arch/i386/sys/__clone.S | 4 +- lib/libc/arch/i386/sys/brk.S | 6 +- lib/libc/arch/i386/sys/cerror.S | 8 +- lib/libc/arch/i386/sys/ptrace.S | 8 +- lib/libc/arch/i386/sys/sbrk.S | 6 +- lib/libc/arch/ia64/gen/Makefile.inc | 4 +- lib/libc/arch/m68k/Makefile.inc | 9 +- lib/libc/arch/m68k/SYS.h | 19 +- lib/libc/arch/m68k/gdtoa/Makefile.inc | 4 +- lib/libc/arch/m68k/gen/Makefile.inc | 27 +- lib/libc/arch/m68k/gen/_setjmp.S | 38 +- lib/libc/arch/m68k/gen/alloca.S | 16 +- lib/libc/arch/m68k/gen/ashlsi3.S | 9 +- lib/libc/arch/m68k/gen/ashrsi3.S | 9 +- lib/libc/arch/m68k/gen/fabs.S | 15 +- lib/libc/arch/m68k/gen/flt_rounds.S | 25 - lib/libc/arch/m68k/gen/flt_rounds_softfloat.S | 12 +- lib/libc/arch/m68k/gen/fpgetmask.S | 18 - lib/libc/arch/m68k/gen/fpgetround.S | 18 - lib/libc/arch/m68k/gen/fpgetsticky.S | 18 - lib/libc/arch/m68k/gen/fpsetmask.S | 23 - lib/libc/arch/m68k/gen/fpsetround.S | 23 - lib/libc/arch/m68k/gen/fpsetsticky.S | 23 - lib/libc/arch/m68k/gen/lshlsi3.S | 9 +- lib/libc/arch/m68k/gen/lshrsi3.S | 9 +- lib/libc/arch/m68k/gen/negdf2.S | 13 +- lib/libc/arch/m68k/gen/negsf2.S | 11 +- lib/libc/arch/m68k/gen/resumecontext.S | 18 +- lib/libc/arch/m68k/gen/setjmp.S | 45 +- lib/libc/arch/m68k/gen/sigsetjmp.S | 16 +- lib/libc/arch/m68k/gen/swapcontext.S | 16 +- lib/libc/arch/m68k/gen/umulsi3.S | 9 +- lib/libc/arch/m68k/genassym.cf | 52 + lib/libc/arch/m68k/hardfloat/Makefile.inc | 16 + .../arch/m68k/{gen => hardfloat}/adddf3.S | 15 +- .../arch/m68k/{gen => hardfloat}/addsf3.S | 9 +- .../arch/m68k/{gen => hardfloat}/cmpdf2.S | 23 +- .../arch/m68k/{gen => hardfloat}/cmpsf2.S | 23 +- .../arch/m68k/{gen => hardfloat}/divdf3.S | 15 +- .../arch/m68k/{gen => hardfloat}/divsf3.S | 9 +- .../m68k/{gen => hardfloat}/extendsfdf2.S | 13 +- .../arch/m68k/{gen => hardfloat}/fixdfsi.S | 7 +- .../arch/m68k/{gen => hardfloat}/fixunsdfsi.S | 28 +- .../m68k/hardfloat/fixunssfsi.S} | 77 +- .../arch/m68k/{gen => hardfloat}/floatsidf.S | 14 +- lib/libc/arch/m68k/hardfloat/floatunsidf.S | 70 + lib/libc/arch/m68k/hardfloat/floatunsisf.S | 66 + lib/libc/arch/m68k/hardfloat/flt_rounds.c | 45 + lib/libc/arch/m68k/hardfloat/fpgetmask.c | 47 + lib/libc/arch/m68k/hardfloat/fpgetround.c | 47 + lib/libc/arch/m68k/hardfloat/fpgetsticky.c | 47 + lib/libc/arch/m68k/hardfloat/fpsetmask.c | 51 + lib/libc/arch/m68k/hardfloat/fpsetround.c | 51 + lib/libc/arch/m68k/hardfloat/fpsetsticky.c | 51 + .../m68k/hardfloat/ldexp_881.c} | 34 +- lib/libc/arch/m68k/hardfloat/ledf2.S | 55 + lib/libc/arch/m68k/hardfloat/lesf2.S | 55 + lib/libc/arch/m68k/hardfloat/ltdf2.S | 55 + lib/libc/arch/m68k/hardfloat/ltsf2.S | 55 + lib/libc/arch/m68k/{gen => hardfloat}/modf.S | 25 +- .../arch/m68k/{gen => hardfloat}/muldf3.S | 15 +- .../arch/m68k/{gen => hardfloat}/mulsf3.S | 9 +- lib/libc/arch/m68k/hardfloat/nedf2.S | 55 + lib/libc/arch/m68k/hardfloat/nesf2.S | 55 + .../arch/m68k/{gen => hardfloat}/subdf3.S | 15 +- .../arch/m68k/{gen => hardfloat}/subsf3.S | 9 +- .../arch/m68k/{gen => hardfloat}/truncdfsf2.S | 7 +- lib/libc/arch/m68k/hardfloat/unorddf2.S | 52 + lib/libc/arch/m68k/hardfloat/unordsf2.S | 53 + lib/libc/arch/m68k/quad/ashldi3.S | 17 +- lib/libc/arch/m68k/quad/ashrdi3.S | 17 +- lib/libc/arch/m68k/quad/lshrdi3.S | 17 +- lib/libc/arch/m68k/softfloat/softfloat.h | 4 +- lib/libc/arch/m68k/stdlib/abs.S | 7 +- lib/libc/arch/m68k/stdlib/llabs.S | 16 +- lib/libc/arch/m68k/string/memccpy.S | 41 +- lib/libc/arch/m68k/string/swab.S | 19 +- lib/libc/arch/m68k/sys/__clone.S | 27 +- lib/libc/arch/m68k/sys/__m68k_read_tp.S | 2 +- lib/libc/arch/m68k/sys/__mmap.S | 3 +- lib/libc/arch/m68k/sys/__sigtramp2.S | 12 +- lib/libc/arch/m68k/sys/__vfork14.S | 49 +- lib/libc/arch/m68k/sys/_lwp_getprivate.S | 3 +- lib/libc/arch/m68k/sys/brk.S | 47 +- lib/libc/arch/m68k/sys/cerror.S | 30 +- lib/libc/arch/m68k/sys/exect.S | 10 +- lib/libc/arch/m68k/sys/fork.S | 5 +- lib/libc/arch/m68k/sys/getcontext.S | 14 +- lib/libc/arch/m68k/sys/mremap.S | 3 +- lib/libc/arch/m68k/sys/pipe.S | 11 +- lib/libc/arch/m68k/sys/ptrace.S | 37 +- lib/libc/arch/m68k/sys/sbrk.S | 44 +- lib/libc/arch/m68k/sys/shmat.S | 3 +- lib/libc/arch/m68k/sys/syscall.S | 9 +- lib/libc/arch/mips/sys/cerror.S | 6 +- lib/libc/arch/mips/sys/sbrk.S | 10 +- lib/libc/arch/powerpc/Makefile.inc | 3 +- lib/libc/arch/powerpc/gen/swapcontext.S | 8 +- lib/libc/arch/powerpc/genassym.cf | 6 +- lib/libc/arch/powerpc/misc/powerpc_initfini.c | 64 + lib/libc/arch/powerpc/string/bzero.S | 145 +- lib/libc/arch/powerpc/sys/__clone.S | 6 +- lib/libc/arch/powerpc/sys/brk.S | 8 +- lib/libc/arch/powerpc/sys/cerror.S | 14 +- lib/libc/arch/powerpc/sys/ptrace.S | 12 +- lib/libc/arch/powerpc/sys/sbrk.S | 6 +- lib/libc/arch/powerpc64/gen/_lwp.c | 7 +- lib/libc/arch/powerpc64/gen/syncicache.c | 11 +- lib/libc/arch/powerpc64/sys/cerror.S | 8 +- lib/libc/arch/powerpc64/sys/ptrace.S | 6 +- lib/libc/arch/sh3/SYS.h | 8 +- lib/libc/arch/sh3/gen/swapcontext.S | 6 +- lib/libc/arch/sh3/sys/__clone.S | 4 +- lib/libc/arch/sh3/sys/brk.S | 10 +- lib/libc/arch/sh3/sys/cerror.S | 8 +- lib/libc/arch/sh3/sys/ptrace.S | 8 +- lib/libc/arch/sh3/sys/sbrk.S | 10 +- lib/libc/arch/sparc/SYS.h | 4 +- lib/libc/arch/sparc/gen/fixunsdfsi.S | 6 +- lib/libc/arch/sparc/gen/fpsetsticky.c | 7 +- lib/libc/arch/sparc/gen/modf.S | 8 +- lib/libc/arch/sparc/gen/sigsetjmp.S | 8 +- lib/libc/arch/sparc/gen/swapcontext.S | 6 +- lib/libc/arch/sparc/sys/brk.S | 6 +- lib/libc/arch/sparc/sys/cerror.S | 6 +- lib/libc/arch/sparc/sys/ptrace.S | 6 +- lib/libc/arch/sparc/sys/sbrk.S | 6 +- lib/libc/arch/sparc64/SYS.h | 8 +- lib/libc/arch/sparc64/gen/fixunsdfsi.S | 6 +- lib/libc/arch/sparc64/gen/fpclassifyl.c | 10 +- lib/libc/arch/sparc64/gen/fpsetmask.c | 7 +- lib/libc/arch/sparc64/gen/fpsetround.c | 14 +- lib/libc/arch/sparc64/gen/fpsetsticky.c | 7 +- lib/libc/arch/sparc64/gen/isinfl.c | 7 +- lib/libc/arch/sparc64/gen/isnanl.c | 7 +- lib/libc/arch/sparc64/gen/modf.S | 8 +- lib/libc/arch/sparc64/gen/setjmp.S | 20 +- lib/libc/arch/sparc64/gen/sigsetjmp.S | 14 +- lib/libc/arch/sparc64/gen/swapcontext.S | 13 +- lib/libc/arch/sparc64/softfloat/qp.c | 6 +- lib/libc/arch/sparc64/string/memset.S | 196 - lib/libc/arch/sparc64/sys/brk.S | 18 +- lib/libc/arch/sparc64/sys/cerror.S | 20 +- lib/libc/arch/sparc64/sys/sbrk.S | 20 +- lib/libc/arch/vax/sys/brk.S | 13 +- lib/libc/arch/vax/sys/sbrk.S | 15 +- lib/libc/arch/x86_64/gen/__setjmp14.S | 8 +- lib/libc/arch/x86_64/gen/__sigsetjmp14.S | 8 +- lib/libc/arch/x86_64/gen/resumecontext.S | 10 +- lib/libc/arch/x86_64/gen/swapcontext.S | 8 +- lib/libc/arch/x86_64/string/Makefile.inc | 5 +- lib/libc/arch/x86_64/sys/__clone.S | 4 +- lib/libc/arch/x86_64/sys/brk.S | 6 +- lib/libc/arch/x86_64/sys/cerror.S | 8 +- lib/libc/arch/x86_64/sys/ptrace.S | 8 +- lib/libc/arch/x86_64/sys/sbrk.S | 6 +- lib/libc/cdb/cdb.5 | 4 +- lib/libc/cdb/cdbr.3 | 4 +- lib/libc/cdb/cdbr.c | 22 +- lib/libc/cdb/cdbw.3 | 4 +- lib/libc/citrus/Makefile.inc | 4 +- lib/libc/citrus/citrus_bcs_strtol.c | 6 +- lib/libc/citrus/citrus_bcs_strtoul.c | 6 +- lib/libc/citrus/citrus_csmapper.h | 4 +- lib/libc/citrus/citrus_ctype.c | 8 +- lib/libc/citrus/citrus_ctype.h | 22 +- lib/libc/citrus/citrus_ctype_fallback.c | 123 +- lib/libc/citrus/citrus_ctype_fallback.h | 14 +- lib/libc/citrus/citrus_ctype_local.h | 36 +- lib/libc/citrus/citrus_ctype_template.h | 177 +- lib/libc/citrus/citrus_db_factory.c | 12 +- lib/libc/citrus/citrus_lc_ctype.c | 29 +- lib/libc/citrus/citrus_mmap.c | 16 - lib/libc/citrus/citrus_module.c | 22 +- lib/libc/citrus/citrus_none.c | 87 +- lib/libc/citrus/modules/citrus_big5.c | 6 +- lib/libc/citrus/modules/citrus_dechanyu.c | 6 +- lib/libc/citrus/modules/citrus_euc.c | 6 +- lib/libc/citrus/modules/citrus_euctw.c | 6 +- lib/libc/citrus/modules/citrus_gbk2k.c | 6 +- lib/libc/citrus/modules/citrus_hz.c | 6 +- lib/libc/citrus/modules/citrus_iso2022.c | 6 +- lib/libc/citrus/modules/citrus_johab.c | 6 +- lib/libc/citrus/modules/citrus_mskanji.c | 6 +- lib/libc/citrus/modules/citrus_ues.c | 6 +- lib/libc/citrus/modules/citrus_utf7.c | 6 +- lib/libc/citrus/modules/citrus_utf8.c | 6 +- lib/libc/citrus/modules/citrus_viqr.c | 6 +- lib/libc/citrus/modules/citrus_zw.c | 6 +- lib/libc/compat-43/Makefile.inc | 17 +- lib/libc/compat-43/sigsetmask.3 | 4 +- lib/libc/compat/Makefile | 12 +- lib/libc/compat/Makefile.inc | 14 +- lib/libc/compat/arch/arm/gen/compat_setjmp.S | 127 +- .../compat/arch/arm/gen/compat_sigsetjmp.S | 50 +- lib/libc/compat/arch/arm/sys/compat_Ovfork.S | 16 +- .../compat/arch/arm/sys/compat___sigtramp1.S | 5 +- .../compat/arch/arm/sys/compat_sigpending.S | 7 +- .../compat/arch/arm/sys/compat_sigprocmask.S | 36 +- .../compat/arch/arm/sys/compat_sigsuspend.S | 7 +- lib/libc/compat/arch/i386/gen/compat_setjmp.S | 8 +- .../compat/arch/i386/gen/compat_sigsetjmp.S | 8 +- lib/libc/compat/arch/i386/sys/compat_Ovfork.S | 6 +- .../compat/arch/i386/sys/compat_sigprocmask.S | 6 +- .../compat/arch/i386/sys/compat_sigsuspend.S | 6 +- lib/libc/compat/arch/m68k/gen/compat_setjmp.S | 48 +- .../compat/arch/m68k/gen/compat_sigsetjmp.S | 16 +- lib/libc/compat/arch/m68k/sys/compat_Ovfork.S | 47 +- .../arch/m68k/sys/compat___sigreturn14.S | 26 +- .../compat/arch/m68k/sys/compat___sigtramp1.S | 9 +- .../compat/arch/m68k/sys/compat_sigpending.S | 9 +- .../compat/arch/m68k/sys/compat_sigprocmask.S | 29 +- .../compat/arch/m68k/sys/compat_sigreturn.S | 24 +- .../compat/arch/m68k/sys/compat_sigsuspend.S | 16 +- .../compat/arch/sparc/gen/compat_sigsetjmp.S | 8 +- .../arch/sparc64/gen/compat_sigsetjmp.S | 16 +- .../compat/arch/x86_64/sys/compat_Ovfork.S | 6 +- .../arch/x86_64/sys/compat_sigprocmask.S | 6 +- .../arch/x86_64/sys/compat_sigsuspend.S | 6 +- lib/libc/compat/gen/Makefile.inc | 15 +- lib/libc/compat/gen/compat___fts13.c | 8 +- lib/libc/compat/gen/compat___fts30.c | 8 +- lib/libc/compat/gen/compat___fts31.c | 8 +- lib/libc/compat/gen/compat___fts32.c | 8 +- lib/libc/compat/gen/compat_alloca.c | 6 + lib/libc/compat/gen/compat_fts.c | 6 +- lib/libc/compat/gen/compat_getmntinfo.c | 17 +- lib/libc/compat/gen/compat_glob.c | 6 +- lib/libc/compat/gen/compat_time.c | 5 +- lib/libc/compat/gen/compat_times.c | 5 +- lib/libc/compat/include/lwp.h | 5 +- lib/libc/compat/locale/compat_setlocale1.c | 11 +- lib/libc/compat/locale/compat_setlocale32.c | 12 +- lib/libc/compat/stdio/compat_fsetpos.c | 6 +- lib/libc/compat/sys/Makefile.inc | 26 +- lib/libc/compat/sys/compat___fhstat30.c | 10 +- lib/libc/compat/sys/compat___lwp_park50.c | 67 + lib/libc/compat/sys/compat___stat13.c | 16 +- lib/libc/compat/sys/compat___stat30.c | 17 +- lib/libc/compat/sys/compat_getrusage.c | 8 +- lib/libc/compat/sys/compat_gettimeofday.c | 8 +- lib/libc/compat/sys/compat_mknod.c | 8 +- lib/libc/compat/sys/compat_stat.c | 14 +- lib/libc/compat/sys/compat_statfs.c | 17 +- lib/libc/compiler_rt/Makefile.inc | 166 + lib/libc/db/btree/bt_open.c | 51 +- lib/libc/db/btree/bt_overflow.c | 6 +- lib/libc/db/btree/bt_seq.c | 6 +- lib/libc/db/btree/bt_utils.c | 14 +- lib/libc/db/btree/btree.h | 4 +- lib/libc/db/db/Makefile.inc | 4 +- lib/libc/db/db/db.c | 6 +- lib/libc/db/db/dbfile.c | 118 + lib/libc/db/hash/hash.c | 12 +- lib/libc/db/hash/hash_page.c | 44 +- lib/libc/db/hash/ndbmdatum.c | 8 - lib/libc/db/mpool/mpool.c | 44 +- lib/libc/db/recno/rec_close.c | 4 - lib/libc/db/recno/rec_open.c | 13 +- lib/libc/db/recno/rec_put.c | 7 +- lib/libc/db/recno/rec_utils.c | 22 +- lib/libc/gdtoa/Makefile.inc | 6 +- lib/libc/gdtoa/_strtof.c | 13 +- lib/libc/gdtoa/gdtoa.h | 18 +- lib/libc/gdtoa/gdtoa_locks.c | 2 - lib/libc/gdtoa/gdtoaimp.h | 4 +- lib/libc/gdtoa/gethex.c | 24 +- lib/libc/gdtoa/strtod.c | 53 +- lib/libc/gdtoa/strtodg.c | 32 +- lib/libc/gdtoa/strtof.c | 28 +- lib/libc/gdtoa/strtof_vaxf.c | 27 +- lib/libc/gdtoa/strtold_subr.c | 26 +- lib/libc/gdtoa/strtopQ.c | 10 +- lib/libc/gdtoa/strtopx.c | 10 +- lib/libc/gdtoa/strtopxL.c | 10 +- lib/libc/gdtoa/strtord.c | 10 +- lib/libc/gen/Makefile.inc | 7 +- lib/libc/gen/_warn.c | 4 - lib/libc/gen/_warnx.c | 4 - lib/libc/gen/alphasort.c | 4 - lib/libc/gen/arc4random.c | 10 +- lib/libc/gen/closedir.c | 5 - lib/libc/gen/ctype_.c | 101 +- lib/libc/gen/devname.c | 8 +- lib/libc/gen/exec.3 | 60 +- lib/libc/gen/fabs_ieee754.c | 8 +- lib/libc/gen/fixunsdfsi_ieee754.c | 6 +- lib/libc/gen/fixunssfsi_ieee754.c | 6 +- lib/libc/gen/floatunsidf_ieee754.c | 67 + lib/libc/gen/floatunsisf_ieee754.c | 66 + lib/libc/gen/fpclassifyl_ieee754.c | 24 +- lib/libc/gen/ftok.3 | 4 +- lib/libc/gen/fts.3 | 6 +- lib/libc/gen/fts.c | 10 - lib/libc/gen/getlogin.c | 8 +- lib/libc/gen/getpwent.c | 9 - lib/libc/gen/getttyent.c | 31 +- lib/libc/gen/glob.3 | 7 +- lib/libc/gen/glob.c | 42 +- lib/libc/gen/gr_private.h | 4 +- lib/libc/gen/initdir.c | 17 +- lib/libc/gen/isctype.c | 51 +- lib/libc/gen/isinfl_ieee754.c | 14 +- lib/libc/gen/isnanl_ieee754.c | 14 +- lib/libc/gen/minix/getpagesize.c | 2 + lib/libc/gen/minix/raise.c | 4 +- lib/libc/gen/minix/siglist.c | 35 - lib/libc/gen/minix/sysconf.c | 4 +- lib/libc/gen/opendir.c | 20 +- lib/libc/gen/popen.c | 10 +- lib/libc/gen/posix_spawn.3 | 4 +- .../gen/posix_spawn_file_actions_addopen.3 | 4 +- lib/libc/gen/posix_spawn_file_actions_init.3 | 4 +- lib/libc/gen/posix_spawnattr_getflags.3 | 4 +- lib/libc/gen/posix_spawnattr_getpgroup.3 | 4 +- lib/libc/gen/posix_spawnattr_getschedparam.3 | 4 +- lib/libc/gen/posix_spawnattr_getschedpolicy.3 | 4 +- lib/libc/gen/posix_spawnattr_getsigdefault.3 | 4 +- lib/libc/gen/posix_spawnattr_getsigmask.3 | 4 +- lib/libc/gen/posix_spawnattr_init.3 | 4 +- lib/libc/gen/pwcache.c | 4 - lib/libc/gen/readdir.c | 16 +- lib/libc/gen/realpath.3 | 45 +- lib/libc/gen/rewinddir.c | 5 - lib/libc/gen/scandir.c | 8 - lib/libc/gen/seekdir.c | 10 +- lib/libc/gen/sigsetops.c | 8 - lib/libc/gen/sysconf.3 | 8 +- lib/libc/gen/sysconf.c | 13 +- lib/libc/gen/sysctl.c | 4 +- lib/libc/gen/syslog.c | 48 +- lib/libc/gen/telldir.c | 13 +- lib/libc/gen/time.c | 4 - lib/libc/gen/times.c | 4 - lib/libc/gen/tolower_.c | 14 +- lib/libc/gen/toupper_.c | 14 +- lib/libc/gen/ttyname.c | 17 +- lib/libc/gen/ttyslot.c | 8 +- lib/libc/gen/ulimit.c | 8 +- lib/libc/gen/unvis.3 | 35 +- lib/libc/gen/unvis.c | 6 +- lib/libc/gen/utmp.c | 4 - lib/libc/gen/utmpx.c | 45 +- lib/libc/gen/vis.3 | 151 +- lib/libc/gen/vis.c | 833 +- lib/libc/gmon/gmon.c | 14 +- lib/libc/iconv/iconv.3 | 43 +- lib/libc/include/env.h | 6 +- lib/libc/include/extern.h | 16 +- lib/libc/include/namespace.h | 155 +- lib/libc/include/reentrant.h | 54 +- lib/libc/locale/Makefile.inc | 9 +- lib/libc/locale/_def_messages.c | 24 - lib/libc/locale/_def_monetary.c | 42 - lib/libc/locale/_def_numeric.c | 23 - lib/libc/locale/_def_time.c | 42 - lib/libc/locale/_wcstod.h | 36 +- lib/libc/locale/_wcstol.h | 28 +- lib/libc/locale/_wcstoul.h | 28 +- lib/libc/locale/ctype_local.h | 22 +- lib/libc/locale/dummy_lc_template.h | 4 +- lib/{libelf/elf.c => libc/locale/duplocale.c} | 36 +- .../locale/{current_locale.c => freelocale.c} | 26 +- lib/libc/locale/generic_lc_all.c | 6 +- lib/libc/locale/generic_lc_template_decl.h | 4 +- lib/libc/locale/global_locale.c | 192 +- lib/libc/locale/iswctype_mb.c | 87 +- lib/libc/locale/localeconv.c | 12 +- lib/libc/locale/multibyte.h | 17 +- lib/libc/locale/multibyte_amd1.c | 147 +- lib/libc/locale/multibyte_c90.c | 95 +- lib/libc/locale/nb_lc_messages_misc.h | 23 +- lib/libc/locale/nb_lc_monetary_misc.h | 47 +- lib/libc/locale/nb_lc_numeric_misc.h | 29 +- lib/libc/locale/nb_lc_template.h | 84 +- lib/libc/locale/nb_lc_template_decl.h | 8 +- lib/libc/locale/nb_lc_time_misc.h | 43 +- lib/libc/locale/newlocale.c | 105 + lib/libc/locale/nl_langinfo.c | 163 +- lib/libc/locale/rune.c | 60 +- lib/libc/locale/runetable.c | 18 +- lib/libc/locale/runetype_local.h | 14 +- lib/libc/locale/setlocale.c | 106 +- lib/libc/locale/setlocale_local.h | 56 +- lib/libc/locale/wcscoll.c | 15 +- lib/libc/locale/wcsftime.c | 36 +- lib/libc/locale/wcstod.c | 6 +- lib/libc/locale/wcstof.c | 6 +- lib/libc/locale/wcstold.c | 6 +- lib/libc/locale/wcsxfrm.c | 15 +- lib/libc/misc/Makefile.inc | 4 +- lib/libc/misc/initfini.c | 10 +- lib/libc/misc/stack_protector.c | 24 +- lib/libc/nameser/ns_samedomain.c | 28 +- lib/libc/net/Makefile.inc | 16 +- lib/libc/net/getaddrinfo.3 | 7 +- lib/libc/net/getaddrinfo.c | 682 +- lib/libc/net/gethnamaddr.c | 859 +- lib/libc/net/gethostbyname.3 | 6 +- lib/libc/net/getifaddrs.3 | 34 +- lib/libc/net/getnameinfo.3 | 10 +- lib/libc/net/getnameinfo.c | 35 +- lib/libc/net/hostent.h | 106 + lib/libc/net/inet6_getscopeid.3 | 100 + lib/libc/net/inet6_scopeid.c | 79 + lib/libc/net/iso_addr.3 | 110 - lib/libc/net/iso_addr.c | 15 +- lib/libc/net/rcmd.c | 32 +- lib/libc/net/resolver.3 | 169 +- lib/libc/net/sethostent.c | 220 +- lib/libc/nls/Makefile.inc | 5 +- lib/libc/nls/_catclose.c | 26 - lib/libc/nls/_catgets.c | 26 - lib/libc/nls/_catopen.c | 26 - lib/libc/nls/catclose.c | 4 - lib/libc/nls/catopen.c | 49 +- lib/libc/quad/Makefile.inc | 26 +- lib/libc/quad/fixdfdi.c | 6 +- .../snprintf.c => quad/fixdfdi_ieee754.c} | 93 +- lib/libc/quad/fixsfdi.c | 6 +- .../fixsfdi_ieee754.c} | 91 +- lib/libc/quad/fixunsdfdi.c | 6 +- lib/libc/quad/fixunsdfdi_ieee754.c | 85 + lib/libc/quad/fixunssfdi.c | 6 +- lib/libc/quad/fixunssfdi_ieee754.c | 77 + lib/libc/quad/floatdidf.c | 6 +- lib/libc/quad/floatdidf_ieee754.c | 75 + lib/libc/quad/floatdisf.c | 6 +- lib/libc/quad/floatdisf_ieee754.c | 90 + lib/libc/quad/floatundidf.c | 6 +- lib/libc/quad/floatundidf_ieee754.c | 65 + lib/libc/quad/floatundisf.c | 6 +- lib/libc/quad/floatundisf_ieee754.c | 83 + lib/libc/regex/re_format.7 | 32 +- lib/libc/resolv/Makefile.inc | 2 +- lib/libc/resolv/res_comp.c | 4 +- lib/libc/resolv/res_init.c | 20 +- lib/libc/resolv/res_send.c | 176 +- lib/libc/rpc/DISCLAIMER | 56 +- lib/libc/rpc/auth_none.c | 58 +- lib/libc/rpc/auth_unix.c | 64 +- lib/libc/rpc/authunix_prot.c | 58 +- lib/libc/rpc/bindresvport.c | 59 +- lib/libc/rpc/clnt_bcast.c | 59 +- lib/libc/rpc/clnt_dg.c | 88 +- lib/libc/rpc/clnt_generic.c | 77 +- lib/libc/rpc/clnt_perror.c | 58 +- lib/libc/rpc/clnt_raw.c | 58 +- lib/libc/rpc/clnt_simple.c | 58 +- lib/libc/rpc/clnt_vc.c | 146 +- lib/libc/rpc/getnetconfig.c | 53 +- lib/libc/rpc/getnetpath.c | 53 +- lib/libc/rpc/getrpcent.c | 53 +- lib/libc/rpc/getrpcport.c | 58 +- lib/libc/rpc/pmap_clnt.c | 58 +- lib/libc/rpc/pmap_getmaps.c | 58 +- lib/libc/rpc/pmap_getport.c | 58 +- lib/libc/rpc/pmap_prot.c | 58 +- lib/libc/rpc/pmap_prot2.c | 58 +- lib/libc/rpc/pmap_rmt.c | 58 +- lib/libc/rpc/rpc_callmsg.c | 58 +- lib/libc/rpc/rpc_commondata.c | 58 +- lib/libc/rpc/rpc_dtablesize.c | 58 +- lib/libc/rpc/rpc_generic.c | 62 +- lib/libc/rpc/rpc_internal.h | 4 +- lib/libc/rpc/rpc_prot.c | 58 +- lib/libc/rpc/rpc_soc.3 | 4 +- lib/libc/rpc/rpc_soc.c | 59 +- lib/libc/rpc/rpc_svc_reg.3 | 4 +- lib/libc/rpc/rpcb_clnt.c | 59 +- lib/libc/rpc/rpcb_prot.c | 58 +- lib/libc/rpc/rpcb_st_xdr.c | 58 +- lib/libc/rpc/svc.c | 89 +- lib/libc/rpc/svc_auth.c | 58 +- lib/libc/rpc/svc_auth_unix.c | 58 +- lib/libc/rpc/svc_dg.c | 72 +- lib/libc/rpc/svc_dg.h | 56 +- lib/libc/rpc/svc_fdset.c | 63 + lib/libc/rpc/svc_fdset.h | 30 + lib/libc/rpc/svc_generic.c | 144 +- lib/libc/rpc/svc_raw.c | 61 +- lib/libc/rpc/svc_run.c | 83 +- lib/libc/rpc/svc_simple.c | 97 +- lib/libc/rpc/svc_vc.c | 93 +- lib/libc/rpc/xdr.c | 62 +- lib/libc/rpc/xdr_array.c | 60 +- lib/libc/rpc/xdr_float.c | 58 +- lib/libc/rpc/xdr_mem.c | 58 +- lib/libc/rpc/xdr_rec.c | 64 +- lib/libc/rpc/xdr_reference.c | 60 +- lib/libc/rpc/xdr_sizeof.c | 56 +- lib/libc/rpc/xdr_stdio.c | 58 +- lib/libc/shlib_version | 15 +- lib/libc/softfloat/Makefile.inc | 20 +- lib/libc/softfloat/bits32/softfloat.c | 34 +- lib/libc/softfloat/bits64/softfloat.c | 98 +- lib/libc/softfloat/eqdf2.c | 3 +- lib/libc/softfloat/eqsf2.c | 2 +- lib/libc/softfloat/fpsetmask.c | 12 +- lib/libc/softfloat/fpsetround.c | 12 +- lib/libc/softfloat/fpsetsticky.c | 12 +- lib/libc/softfloat/gedf2.c | 3 +- lib/libc/softfloat/gesf2.c | 3 +- lib/libc/softfloat/ledf2.c | 2 +- lib/libc/softfloat/lesf2.c | 2 +- lib/libc/softfloat/softfloat-for-gcc.h | 20 +- lib/libc/softfloat/softfloat-specialize | 18 +- lib/libc/ssp/Makefile.inc | 7 +- lib/libc/ssp/gets_chk.c | 9 +- lib/libc/ssp/memcpy_chk.c | 4 - lib/libc/ssp/memmove_chk.c | 4 - lib/libc/ssp/memset_chk.c | 4 - lib/libc/ssp/ssp.3 | 10 +- lib/libc/ssp/stpcpy_chk.c | 55 + lib/libc/ssp/stpncpy_chk.c | 53 + lib/libc/ssp/strcat_chk.c | 4 - lib/libc/ssp/strcpy_chk.c | 14 +- lib/libc/ssp/strncat_chk.c | 4 - lib/libc/ssp/strncpy_chk.c | 4 - lib/libc/stdio/Makefile.inc | 8 +- lib/libc/stdio/asprintf.c | 85 - lib/libc/stdio/dprintf.c | 18 +- lib/libc/stdio/findfp.c | 8 +- lib/libc/stdio/flags.c | 8 +- lib/libc/stdio/fopen.3 | 10 +- lib/libc/stdio/fprintf.c | 19 +- lib/libc/stdio/fscanf.c | 20 +- lib/libc/stdio/fseeko.c | 3 +- lib/libc/stdio/fwprintf.c | 20 +- lib/libc/stdio/fwscanf.c | 22 +- lib/libc/stdio/gets.c | 11 +- lib/libc/stdio/gettemp.c | 14 +- lib/libc/stdio/local.h | 18 +- lib/libc/stdio/makebuf.c | 3 +- lib/libc/stdio/printf.3 | 36 +- lib/libc/stdio/printf.c | 19 +- lib/libc/stdio/scanf.c | 22 +- lib/libc/stdio/sscanf.c | 42 +- lib/libc/stdio/stdio.c | 12 +- lib/libc/stdio/swprintf.c | 21 +- lib/libc/stdio/swscanf.c | 22 +- lib/libc/stdio/vasprintf.c | 50 +- lib/libc/stdio/vdprintf.c | 17 +- lib/libc/stdio/vfprintf.c | 3 + lib/libc/stdio/vfscanf.c | 98 +- lib/libc/stdio/vfwprintf.c | 90 +- lib/libc/stdio/vfwscanf.c | 95 +- lib/libc/stdio/vprintf.c | 14 +- lib/libc/stdio/vscanf.c | 17 +- lib/libc/stdio/vsnprintf.c | 45 +- lib/libc/stdio/vsprintf.c | 48 +- lib/libc/stdio/vsscanf.c | 20 +- lib/libc/stdio/vswprintf.c | 27 +- lib/libc/stdio/vswscanf.c | 29 +- lib/libc/stdio/vwprintf.c | 13 +- lib/libc/stdio/vwscanf.c | 15 +- lib/libc/stdio/wprintf.c | 20 +- lib/libc/stdio/wscanf.c | 21 +- lib/libc/stdlib/Makefile.inc | 7 +- lib/libc/stdlib/_env.c | 14 +- lib/libc/stdlib/alloca.3 | 38 +- lib/libc/stdlib/at_quick_exit.3 | 63 + lib/libc/stdlib/atexit.3 | 6 +- lib/libc/stdlib/atexit.c | 26 +- lib/libc/stdlib/exit.3 | 4 +- lib/libc/stdlib/jemalloc.3 | 2 +- lib/libc/stdlib/jemalloc.c | 6 +- lib/libc/stdlib/jrand48.c | 6 +- lib/libc/stdlib/lrand48.c | 7 +- lib/libc/stdlib/malloc.c | 22 +- lib/libc/stdlib/mrand48.c | 6 +- lib/libc/stdlib/nrand48.c | 7 +- lib/libc/stdlib/ptsname.3 | 4 +- lib/libc/stdlib/putenv.c | 8 +- lib/libc/stdlib/quick_exit.3 | 59 + lib/libc/stdlib/quick_exit.c | 93 + lib/libc/stdlib/strfmon.3 | 6 +- lib/libc/stdlib/strtoimax.c | 3 +- lib/libc/stdlib/unsetenv.c | 4 - lib/libc/string/Makefile.inc | 10 +- lib/libc/string/_strlcat.c | 45 - lib/libc/string/consttime_memequal.3 | 88 + lib/libc/string/explicit_memset.3 | 82 + lib/libc/string/memcmp.3 | 14 +- lib/libc/string/memset.3 | 13 +- lib/libc/string/stpcpy.c | 8 +- lib/libc/string/stpncpy.c | 8 +- lib/libc/string/strcoll.c | 17 +- lib/libc/string/strerror.c | 68 +- lib/libc/string/strerror_r.c | 47 +- lib/libc/string/strxfrm.c | 21 +- lib/libc/string/wcscasecmp.c | 19 +- lib/libc/string/wcsdup.3 | 4 +- lib/libc/string/wcsncasecmp.c | 19 +- lib/libc/sys-minix/__getcwd.c | 1 - lib/libc/sys-minix/_exit.c | 2 +- lib/libc/sys-minix/access.c | 4 - lib/libc/sys-minix/bind.c | 4 - lib/libc/sys-minix/chdir.c | 5 - lib/libc/sys-minix/chmod.c | 4 - lib/libc/sys-minix/chroot.c | 4 - lib/libc/sys-minix/close.c | 4 - lib/libc/sys-minix/dup.c | 4 - lib/libc/sys-minix/dup2.c | 4 - lib/libc/sys-minix/execve.c | 4 - lib/libc/sys-minix/fchmod.c | 4 - lib/libc/sys-minix/fcntl.c | 4 - lib/libc/sys-minix/flock.c | 4 - lib/libc/sys-minix/fpathconf.c | 4 - lib/libc/sys-minix/fstatfs.c | 4 - lib/libc/sys-minix/fstatvfs.c | 3 +- lib/libc/sys-minix/fsync.c | 4 - lib/libc/sys-minix/getegid.c | 4 - lib/libc/sys-minix/geteuid.c | 4 - lib/libc/sys-minix/getgid.c | 4 - lib/libc/sys-minix/getgroups.c | 5 - lib/libc/sys-minix/getpgrp.c | 4 - lib/libc/sys-minix/getpid.c | 4 - lib/libc/sys-minix/getppid.c | 4 - lib/libc/sys-minix/gettimeofday.c | 4 - lib/libc/sys-minix/getuid.c | 4 - lib/libc/sys-minix/getvfsstat.c | 4 - lib/libc/sys-minix/ioctl.c | 5 +- lib/libc/sys-minix/link.c | 4 - lib/libc/sys-minix/mkdir.c | 4 - lib/libc/sys-minix/mkfifo.c | 4 - lib/libc/sys-minix/mmap.c | 17 +- lib/libc/sys-minix/mount.c | 5 - lib/libc/sys-minix/open.c | 4 - lib/libc/sys-minix/pathconf.c | 4 - lib/libc/sys-minix/pipe.c | 1 - lib/libc/sys-minix/ptrace.c | 4 - lib/libc/sys-minix/rmdir.c | 4 - lib/libc/sys-minix/setgid.c | 5 - lib/libc/sys-minix/setgroups.c | 5 - lib/libc/sys-minix/setsid.c | 4 - lib/libc/sys-minix/setuid.c | 5 - lib/libc/sys-minix/shmat.c | 6 - lib/libc/sys-minix/shmget.c | 4 - lib/libc/sys-minix/shutdown.c | 4 - lib/libc/sys-minix/sigreturn.c | 4 - lib/libc/sys-minix/socketpair.c | 4 - lib/libc/sys-minix/stack_utils.c | 4 - lib/libc/sys-minix/stat.c | 8 - lib/libc/sys-minix/statvfs.c | 1 - lib/libc/sys-minix/stime.c | 8 +- lib/libc/sys-minix/symlink.c | 4 - lib/libc/sys-minix/sync.c | 4 - lib/libc/sys-minix/truncate.c | 4 - lib/libc/sys-minix/umask.c | 4 - lib/libc/sys-minix/unlink.c | 4 - lib/libc/sys-minix/vectorio.c | 5 - lib/libc/sys-minix/write.c | 4 - lib/libc/sys/Makefile.inc | 33 +- lib/libc/sys/_lwp_getprivate.2 | 25 +- lib/libc/sys/accept.2 | 9 +- lib/libc/sys/access.2 | 261 +- lib/libc/sys/chdir.2 | 35 +- lib/libc/sys/chflags.2 | 4 +- lib/libc/sys/chmod.2 | 79 +- lib/libc/sys/chown.2 | 97 +- lib/libc/sys/fsync.2 | 100 +- lib/libc/sys/getgroups.2 | 4 +- lib/libc/sys/kqueue.2 | 8 +- lib/libc/sys/link.2 | 96 +- lib/libc/sys/mkdir.2 | 112 +- lib/libc/sys/mkfifo.2 | 125 +- lib/libc/sys/mknod.2 | 70 +- lib/libc/sys/mknodat.c | 41 + lib/libc/sys/msgrcv.2 | 8 +- lib/libc/sys/msgsnd.2 | 8 +- lib/libc/sys/open.2 | 94 +- lib/libc/sys/pipe.2 | 5 +- lib/libc/sys/posix_fadvise.2 | 6 +- lib/libc/sys/read.2 | 4 +- lib/libc/sys/readlink.2 | 85 +- lib/libc/sys/recv.2 | 4 +- lib/libc/sys/rename.2 | 183 +- lib/libc/sys/select.2 | 8 +- lib/libc/sys/send.2 | 4 +- lib/libc/sys/setgroups.2 | 6 +- lib/libc/sys/sigqueue.2 | 8 +- lib/libc/sys/socket.2 | 6 +- lib/libc/sys/stat.2 | 82 +- lib/libc/sys/symlink.2 | 154 +- lib/libc/sys/timer_create.2 | 5 +- lib/libc/sys/timer_settime.2 | 7 +- lib/libc/sys/unlink.2 | 85 +- lib/libc/sys/utimes.2 | 111 +- lib/libc/sys/write.2 | 4 +- lib/libc/termios/Makefile.inc | 6 - lib/libc/termios/cfmakeraw.c | 4 - lib/libc/termios/tcsendbreak.c | 5 +- lib/libc/termios/tcsetattr.c | 6 +- lib/libc/thread-stub/Makefile.inc | 4 +- lib/libc/thread-stub/thread-stub-init.c | 63 + lib/libc/thread-stub/thread-stub.c | 99 +- lib/libc/time/Makefile | 285 +- lib/libc/time/Theory | 308 +- lib/libc/time/asctime.c | 23 +- lib/libc/time/checktab.awk | 31 +- lib/libc/time/ctime.3 | 88 +- lib/libc/time/difftime.c | 44 +- lib/libc/time/getdate.3 | 35 +- lib/libc/time/ialloc.c | 64 +- lib/libc/time/localtime.c | 430 +- lib/libc/time/private.h | 158 +- lib/libc/time/scheck.c | 55 +- lib/libc/time/strftime.3 | 11 +- lib/libc/time/strftime.c | 119 +- lib/libc/time/strptime.c | 36 +- lib/libc/time/tz-art.htm | 15 +- lib/libc/time/tz-link.htm | 315 +- lib/libc/time/tzfile.5 | 50 +- lib/libc/time/tzfile.h | 17 +- lib/libc/time/tzselect.8 | 74 +- lib/libc/time/tzselect.ksh | 272 +- lib/libc/time/tzset.3 | 57 +- lib/libc/time/version.h | 6 +- lib/libc/time/zdump.8 | 38 +- lib/libc/time/zdump.c | 428 +- lib/libc/time/zic.8 | 87 +- lib/libc/time/zic.c | 1095 +- lib/libc/tls/tls.c | 6 +- lib/libc/yp/yplib.c | 6 - lib/libc_vfp/Makefile | 14 + .../lib/libmpc => lib/libc_vfp}/shlib_version | 5 +- lib/libc_vfp/vfpdf.S | 273 + lib/libc_vfp/vfpsf.S | 267 + lib/libchardriver/Makefile | 3 + lib/libclkconf/Makefile | 3 + lib/libcompat_minix/Makefile | 10 +- lib/libcompat_minix/include/Makefile | 12 + lib/libcompat_minix/include/Makefile.inc | 7 - lib/libcompat_minix/include/earm/Makefile | 8 + .../include/{evbarm => earm}/compat_jmp_buf.h | 0 lib/libcompat_minix/include/i386/Makefile | 8 + lib/libcompat_minix/include/net/Makefile | 4 + lib/libcompat_minix/include/net/gen/Makefile | 8 + lib/libcompat_minix/include/sys/Makefile | 8 + lib/libcrypt/Makefile | 4 +- lib/libcrypt/bcrypt.c | 6 +- lib/libcrypt/crypt-sha1.c | 12 +- lib/libcrypt/md5crypt.c | 6 +- lib/libcrypt/shlib_version | 2 +- lib/libcurses/add_wch.c | 6 +- lib/libcurses/addbytes.c | 337 +- lib/libcurses/addch.c | 6 +- lib/libcurses/addchnstr.c | 13 +- lib/libcurses/border.c | 20 +- lib/libcurses/copywin.c | 2 +- lib/libcurses/curses.c | 5 +- lib/libcurses/curses.h | 4 +- lib/libcurses/curses_private.h | 10 +- lib/libcurses/curses_window.3 | 9 +- lib/libcurses/delwin.c | 8 +- lib/libcurses/getstr.c | 6 +- lib/libcurses/ins_wch.c | 11 +- lib/libcurses/ins_wstr.c | 11 +- lib/libcurses/mvwin.c | 7 +- lib/libcurses/refresh.c | 15 +- lib/libcurses/setterm.c | 41 +- lib/libcurses/shlib_version | 2 +- lib/libcurses/tstp.c | 8 +- lib/libdevman/Makefile | 3 + lib/libedit/Makefile | 9 - lib/libedit/chared.c | 23 +- lib/libedit/config.h | 2 - lib/libedit/editline.3 | 34 +- lib/libedit/editrc.5 | 11 +- lib/libedit/el.c | 18 +- lib/libedit/histedit.h | 5 +- lib/libedit/map.c | 8 +- lib/libedit/read.c | 11 +- lib/libedit/readline.c | 30 +- lib/libedit/readline/readline.h | 4 +- lib/libedit/shlib_version | 4 +- lib/libedit/terminal.c | 2 - lib/libelf/README.build | 66 - lib/libelf/_elftc.h | 167 - lib/libelf/_libelf_config.h | 213 - lib/libelf/compat/mmap.c | 73 - lib/libelf/elf_getphdrnum.3 | 86 - lib/libelf/elf_getshdrnum.3 | 78 - lib/libelf/elf_getshdrstrndx.3 | 79 - lib/libelf/elfdefinitions.h | 2529 -- lib/libelf/libelf_ar.c | 461 - lib/libelf/libelf_ar_util.c | 353 - lib/libelf/libelf_compat.h | 29 - lib/libexecinfo/Makefile | 35 + lib/libexecinfo/backtrace.3 | 159 + lib/libexecinfo/backtrace.c | 249 + lib/libexecinfo/builtin.c | 68 + lib/libexecinfo/execinfo.h | 44 + lib/libexecinfo/shlib_version | 3 + lib/libexecinfo/symtab.c | 195 + lib/libexecinfo/symtab.h | 42 + lib/libexecinfo/unwind.c | 72 + lib/libexecinfo/unwind.h | 68 + lib/libexecinfo/unwind_arm_ehabi_stub.c | 61 + lib/libform/driver.c | 9 +- lib/libform/field.c | 66 +- lib/libform/form.h | 6 +- lib/libform/internals.c | 70 +- lib/libgpio/Makefile | 2 + lib/libhgfs/Makefile | 3 + lib/libi2cdriver/Makefile | 3 + lib/liblwip/Makefile | 3 + lib/libm/Makefile | 186 +- lib/libm/arch/alpha/lrint.S | 21 + lib/libm/arch/alpha/s_copysign.S | 37 + lib/libm/arch/alpha/s_copysignf.S | 37 + lib/libm/arch/arm/e_sqrt.S | 39 + lib/libm/arch/arm/e_sqrtf.S | 39 + lib/libm/arch/arm/fenv.c | 290 + lib/libm/arch/arm/lrint.S | 42 + lib/libm/arch/arm/lrintf.S | 40 + lib/libm/arch/arm/s_fabsf.S | 37 + lib/libm/arch/arm/s_fma.S | 42 + lib/libm/arch/arm/s_fmaf.S | 40 + lib/libm/arch/i387/abi.h | 12 +- lib/libm/arch/i387/fenv.c | 25 +- lib/libm/arch/i387/s_ceil.S | 4 +- lib/libm/arch/i387/s_ceilf.S | 4 +- lib/libm/arch/i387/s_copysign.S | 17 +- lib/libm/arch/i387/s_copysignf.S | 28 +- lib/libm/arch/i387/s_floor.S | 4 +- lib/libm/arch/i387/s_floorf.S | 4 +- lib/libm/arch/i387/s_ilogbl.S | 24 + lib/libm/arch/i387/s_logbl.S | 16 + lib/libm/arch/i387/s_scalbn.S | 22 +- lib/libm/arch/i387/s_scalbnf.S | 21 +- lib/libm/arch/i387/s_scalbnl.S | 41 + lib/libm/arch/i387/shlib_version | 5 +- lib/libm/arch/m68060/Makefile | 23 + lib/libm/arch/m68060/Makefile.list | 18 + lib/libm/arch/m68060/Readme.NetBSD | 31 + lib/libm/arch/m68060/e_acos.S | 21 + lib/libm/arch/m68060/e_acosf.S | 19 + lib/libm/arch/m68060/e_asin.S | 21 + lib/libm/arch/m68060/e_asinf.S | 19 + lib/libm/arch/m68060/e_atanh.S | 21 + lib/libm/arch/m68060/e_atanhf.S | 19 + lib/libm/arch/m68060/e_cosh.S | 21 + lib/libm/arch/m68060/e_coshf.S | 19 + lib/libm/arch/m68060/e_exp.S | 21 + lib/libm/arch/m68060/e_expf.S | 19 + lib/libm/arch/m68060/e_log.S | 21 + lib/libm/arch/m68060/e_log10.S | 21 + lib/libm/arch/m68060/e_log10f.S | 19 + lib/libm/arch/m68060/e_logf.S | 19 + lib/libm/arch/m68060/e_sinh.S | 21 + lib/libm/arch/m68060/e_sinhf.S | 19 + lib/libm/arch/m68060/e_sqrt.S | 21 + lib/libm/arch/m68060/e_sqrtf.S | 19 + lib/libm/arch/m68060/fplsp.hex | 2047 ++ lib/libm/arch/m68060/fplsp_wrap.S | 13 + lib/libm/arch/m68060/k_tan.S | 8 + lib/libm/arch/m68060/k_tanf.S | 8 + lib/libm/arch/m68060/makeas.sh | 195 + lib/libm/arch/m68060/makeoffs.awk | 9 + lib/libm/arch/m68060/s_atan.S | 21 + lib/libm/arch/m68060/s_atanf.S | 19 + lib/libm/arch/m68060/s_cos.S | 21 + lib/libm/arch/m68060/s_cosf.S | 19 + lib/libm/arch/m68060/s_expm1.S | 21 + lib/libm/arch/m68060/s_expm1f.S | 19 + lib/libm/arch/m68060/s_log1p.S | 21 + lib/libm/arch/m68060/s_log1pf.S | 19 + lib/libm/arch/m68060/s_logb.S | 21 + lib/libm/arch/m68060/s_logbf.S | 19 + lib/libm/arch/m68060/s_sin.S | 21 + lib/libm/arch/m68060/s_sinf.S | 19 + lib/libm/arch/m68060/s_tan.S | 21 + lib/libm/arch/m68060/s_tanf.S | 19 + lib/libm/arch/m68060/s_tanh.S | 21 + lib/libm/arch/m68060/s_tanhf.S | 19 + lib/libm/arch/m68k/s_ceil.S | 63 + lib/libm/arch/m68k/s_copysign.S | 66 + lib/libm/arch/m68k/s_finite.S | 53 + lib/libm/arch/m68k/s_floor.S | 63 + lib/libm/arch/m68k/s_rint.S | 52 + lib/libm/arch/mc68881/e_acos.S | 50 + lib/libm/arch/mc68881/e_asin.S | 50 + lib/libm/arch/mc68881/e_atanh.S | 50 + lib/libm/arch/mc68881/e_cosh.S | 50 + lib/libm/arch/mc68881/e_exp.S | 50 + lib/libm/arch/mc68881/e_fmod.S | 20 + lib/libm/arch/mc68881/e_log.S | 50 + lib/libm/arch/mc68881/e_log10.S | 50 + lib/libm/arch/mc68881/e_remainder.S | 20 + lib/libm/arch/mc68881/e_scalb.S | 20 + lib/libm/arch/mc68881/e_sinh.S | 50 + lib/libm/arch/mc68881/e_sqrt.S | 56 + lib/libm/arch/mc68881/s_atan.S | 50 + lib/libm/arch/mc68881/s_cos.S | 50 + lib/libm/arch/mc68881/s_expm1.S | 50 + lib/libm/arch/mc68881/s_log1p.S | 50 + lib/libm/arch/mc68881/s_logb.S | 69 + lib/libm/arch/mc68881/s_scalbn.S | 58 + lib/libm/arch/mc68881/s_sin.S | 50 + lib/libm/arch/mc68881/s_tan.S | 50 + lib/libm/arch/mc68881/s_tanh.S | 50 + lib/libm/arch/sparc/fenv.c | 329 + lib/libm/arch/sparc64/fenv.c | 343 + lib/libm/arch/vax/n_argred.S | 799 + lib/libm/arch/vax/n_atan2.S | 228 + lib/libm/arch/vax/n_cabs.S | 138 + lib/libm/arch/vax/n_cbrt.S | 100 + lib/libm/arch/vax/n_infnan.S | 56 + lib/libm/arch/vax/n_scalbn.S | 82 + lib/libm/arch/vax/n_sincos.S | 111 + lib/libm/arch/vax/n_sqrt.S | 125 + lib/libm/arch/vax/n_support.S | 225 + lib/libm/arch/vax/n_tan.S | 89 + lib/libm/arch/x86_64/fenv.c | 27 +- lib/libm/compiler_rt/Makefile.inc | 33 + lib/libm/complex/Makefile.inc | 5 +- lib/libm/complex/cabs.3 | 74 +- lib/libm/complex/cacos.3 | 78 +- lib/libm/complex/cacosh.3 | 79 +- lib/libm/complex/carg.3 | 82 +- lib/libm/complex/casin.3 | 80 +- lib/libm/complex/casinh.3 | 80 +- lib/libm/complex/catan.3 | 78 +- lib/libm/complex/catan.c | 5 +- lib/libm/complex/catanf.c | 5 +- lib/libm/complex/catanh.3 | 80 +- lib/libm/complex/ccos.3 | 76 +- lib/libm/complex/ccosh.3 | 76 +- lib/libm/complex/cexp.3 | 81 +- lib/libm/complex/cimag.3 | 94 +- lib/libm/complex/clog.3 | 82 +- lib/libm/complex/conj.3 | 81 +- lib/libm/complex/cpow.3 | 78 +- lib/libm/complex/cproj.3 | 94 +- lib/libm/complex/cproj.c | 9 +- lib/libm/complex/cprojf.c | 9 +- lib/libm/complex/cprojl.c | 9 +- lib/libm/complex/creal.3 | 95 +- lib/libm/complex/csin.3 | 76 +- lib/libm/complex/csinh.3 | 76 +- lib/libm/complex/csqrt.3 | 80 +- lib/libm/complex/ctan.3 | 76 +- lib/libm/complex/ctan.c | 5 +- lib/libm/complex/ctanf.c | 5 +- lib/libm/complex/ctanh.3 | 76 +- lib/libm/gen/nan.3 | 4 +- lib/libm/man/acos.3 | 21 +- lib/libm/man/acosh.3 | 24 +- lib/libm/man/asin.3 | 21 +- lib/libm/man/asinh.3 | 24 +- lib/libm/man/atan.3 | 16 +- lib/libm/man/atan2.3 | 20 +- lib/libm/man/atanh.3 | 24 +- lib/libm/man/ceil.3 | 42 +- lib/libm/man/copysign.3 | 90 + lib/libm/man/exp.3 | 292 +- lib/libm/man/fabs.3 | 3 +- lib/libm/man/{floor.3 => finite.3} | 71 +- lib/libm/man/fmod.3 | 14 +- lib/libm/man/ieee.3 | 189 - lib/libm/man/ieee_test.3 | 8 +- lib/libm/man/ilogb.3 | 111 + lib/libm/man/ldexp.3 | 75 +- lib/libm/man/lgamma.3 | 39 +- lib/libm/man/log.3 | 170 + lib/libm/man/math.3 | 648 +- lib/libm/man/nextafter.3 | 126 + lib/libm/man/pow.3 | 80 + lib/libm/man/remainder.3 | 144 + lib/libm/man/rint.3 | 3 +- lib/libm/man/round.3 | 15 +- lib/libm/man/scalbn.3 | 108 + lib/libm/man/sqrt.3 | 27 +- lib/libm/man/tanh.3 | 41 +- lib/libm/man/trunc.3 | 30 +- lib/libm/noieee_src/mathimpl.h | 13 +- lib/libm/noieee_src/n_asincos.c | 14 +- lib/libm/noieee_src/n_atan.c | 10 +- lib/libm/noieee_src/n_cbrt.c | 14 +- lib/libm/noieee_src/n_erf.c | 20 +- lib/libm/noieee_src/n_expm1.c | 8 +- lib/libm/noieee_src/n_fmod.c | 15 +- lib/libm/noieee_src/n_gamma.c | 8 +- lib/libm/noieee_src/n_j0.c | 44 +- lib/libm/noieee_src/n_j1.c | 35 +- lib/libm/noieee_src/n_jn.c | 20 +- lib/libm/noieee_src/n_pow.c | 10 +- lib/libm/shlib_version | 5 +- lib/libm/src/b_exp.c | 137 + lib/libm/src/b_log.c | 406 + lib/libm/src/b_tgamma.c | 317 + lib/libm/src/e_fmod.c | 6 +- lib/libm/src/e_fmodl.c | 158 + lib/libm/src/e_sqrtl.c | 184 + lib/libm/src/k_standard.c | 24 +- lib/libm/src/ldbl_dummy.c | 175 + lib/libm/src/math_private.h | 59 +- lib/libm/src/namespace.h | 38 +- lib/libm/src/s_cbrt.c | 8 +- lib/libm/src/s_cbrtl.c | 145 + lib/libm/src/s_ceil.c | 7 +- lib/libm/src/s_ceill.c | 112 + lib/libm/src/s_exp2.c | 15 +- lib/libm/src/s_fabs.c | 6 +- lib/libm/src/s_fabsl.c | 6 +- lib/libm/src/s_finite.c | 4 +- lib/libm/src/s_finitef.c | 4 +- lib/libm/src/s_floor.c | 7 +- lib/libm/src/s_floorl.c | 112 + lib/libm/src/s_fma.c | 293 + lib/libm/src/s_fmaf.c | 75 + lib/libm/src/s_fmal.c | 279 + lib/libm/src/s_fmax.c | 6 +- lib/libm/src/s_fmaxl.c | 6 +- lib/libm/src/s_fmin.c | 6 +- lib/libm/src/s_fminl.c | 6 +- lib/libm/src/s_frexpl.c | 70 + lib/libm/src/s_ilogb.c | 10 +- lib/libm/src/s_ilogbf.c | 6 +- lib/libm/src/s_ilogbl.c | 76 + lib/libm/src/s_ldexp.c | 30 - lib/libm/src/s_ldexpf.c | 33 - lib/libm/src/s_logb.c | 6 +- lib/libm/src/s_logbl.c | 76 + lib/libm/src/s_nan.c | 124 + lib/libm/src/s_nearbyint.c | 64 + lib/libm/src/s_nextafter.c | 8 +- lib/libm/src/s_nextafterf.c | 4 +- lib/libm/src/s_nextafterl.c | 14 +- lib/libm/src/s_nexttoward.c | 8 +- lib/libm/src/s_nexttowardf.c | 69 + lib/libm/src/s_remquo.c | 153 + lib/libm/src/s_remquof.c | 120 + lib/libm/src/s_rintl.c | 95 + lib/libm/src/s_round.c | 7 +- .../string/_strlcpy.c => libm/src/s_roundl.c} | 62 +- lib/libm/src/s_scalbn.c | 27 +- lib/libm/src/s_scalbnf.c | 21 +- lib/libm/src/s_scalbnl.c | 116 + .../_libelf_ar.h => libm/src/s_tgammaf.c} | 45 +- lib/libm/src/s_trunc.c | 7 +- lib/libm/src/s_truncl.c | 79 + lib/libm/src/w_fmod.c | 6 +- lib/libm/src/w_fmodl.c | 46 + lib/libm/src/w_sqrt.c | 8 +- lib/libm/src/w_sqrtl.c | 44 + lib/libmenu/internals.c | 11 +- lib/libmenu/menu.c | 13 +- lib/libminc/Makefile | 292 +- lib/libminc/_snprintf.c | 9 + lib/libminc/arch/earm/Makefile.libc.inc | 63 +- lib/libminc/arch/i386/Makefile.libc.inc | 57 +- lib/libminc/atoi.c | 21 + lib/libminc/strtol.c | 15 + lib/libminixfs/Makefile | 3 + lib/libminixfs/cache.c | 2 + lib/libminlib/Makefile | 3 + lib/libminlib/fslib.c | 1 + lib/libmthread/Makefile | 2 + lib/libmthread/allocate.c | 9 +- lib/libnetdriver/Makefile | 3 + lib/libnetsock/Makefile | 3 + lib/libprop/Makefile | 5 +- lib/libprop/shlib_version | 6 +- lib/libpuffs/Makefile | 29 +- lib/libpuffs/TODO | 42 + lib/libpuffs/callcontext.c | 17 +- lib/libpuffs/creds.c | 15 +- lib/libpuffs/dispatcher.c | 1175 + lib/libpuffs/flush.c | 135 + lib/libpuffs/framebuf.c | 1069 + lib/libpuffs/glo.h | 2 +- lib/libpuffs/mntopts.h | 13 - lib/libpuffs/null.c | 210 +- lib/libpuffs/opdump.c | 540 + lib/libpuffs/paths.c | 299 + lib/libpuffs/pnode.c | 66 +- lib/libpuffs/puffs.3 | 58 +- lib/libpuffs/puffs.c | 116 +- lib/libpuffs/puffs.h | 194 +- lib/libpuffs/puffs_cc.3 | 5 +- lib/libpuffs/puffs_cred.3 | 4 +- lib/libpuffs/puffs_flush.3 | 113 + lib/libpuffs/puffs_framebuf.3 | 620 + lib/libpuffs/puffs_msgif.h | 261 - lib/libpuffs/puffs_node.3 | 3 +- lib/libpuffs/puffs_ops.3 | 206 +- lib/libpuffs/puffs_path.3 | 2 +- lib/libpuffs/puffs_priv.h | 38 +- lib/libpuffs/puffsdump.h | 68 + lib/libpuffs/requests.c | 241 + lib/libpuffs/shlib_version | 4 +- lib/libpuffs/subr.c | 68 +- lib/libpuffs/suspend.c | 49 + lib/librefuse/Makefile | 15 +- lib/librefuse/refuse.3 | 6 +- lib/librefuse/refuse.c | 27 +- lib/librefuse/refuse_opt.c | 5 +- lib/librefuse/shlib_version | 4 +- lib/librmt/Makefile | 6 +- lib/librmt/rmtlib.c | 5 +- lib/libsffs/Makefile | 3 + lib/libsys/Makefile | 8 +- lib/libsys/vm_cache.c | 3 + lib/libsys/vm_umap.c | 24 - lib/libsys/vprintf.c | 226 - lib/libterminfo/Makefile | 3 - lib/libterminfo/Makefile.hash | 6 +- lib/libterminfo/compile.c | 29 +- lib/libterminfo/curterm.c | 8 +- lib/libterminfo/genman | 7 +- lib/libterminfo/setupterm.c | 10 +- lib/libterminfo/shlib_version | 2 +- lib/libterminfo/term.c | 16 +- lib/libterminfo/term.h | 495 +- lib/libterminfo/term_private.h | 7 +- lib/libterminfo/termcap.3 | 4 +- lib/libterminfo/terminfo.3 | 21 +- lib/libterminfo/terminfo.5.in | 20 +- lib/libterminfo/ti.c | 12 +- lib/libterminfo/tparm.c | 253 +- lib/libterminfo/tputs.c | 14 +- lib/libusb/Makefile | 3 + lib/libutil/Makefile | 44 +- lib/libutil/compat/compat_loginx.c | 10 +- lib/libutil/compat/util.h | 15 +- lib/libutil/efun.c | 12 +- lib/libutil/getbyteorder.3 | 61 + lib/libutil/getbyteorder.c | 54 + lib/libutil/getfsspecname.c | 7 +- lib/libutil/login.c | 4 - lib/libutil/login_cap.3 | 12 +- lib/libutil/login_cap.c | 22 +- lib/libutil/login_tty.c | 2 - lib/libutil/loginx.c | 4 - lib/libutil/opendisk.c | 20 +- lib/libutil/parsedate.3 | 16 +- lib/libutil/parsedate.y | 61 +- lib/libutil/passwd.c | 10 +- lib/libutil/pty.c | 20 +- lib/libutil/shlib_version | 5 +- lib/libutil/snprintb.3 | 24 +- lib/libutil/sockaddr_snprintf.3 | 8 +- lib/libutil/sockaddr_snprintf.c | 132 +- lib/libutil/stat_flags.3 | 6 +- lib/libutil/strpct.3 | 4 +- lib/libutil/ttymsg.3 | 12 +- lib/libvassert/Makefile | 3 + lib/libvboxfs/Makefile | 3 + lib/libvirtio/Makefile | 3 + lib/libvtreefs/Makefile | 3 + lib/libz/shlib_version | 2 +- lib/libz/zlib.3 | 8 +- lib/lua/Makefile | 4 +- lib/lua/gpio/gpio.c | 8 +- lib/lua/sqlite/sqlite.c | 26 +- lib/lua/syslog/Makefile | 6 + lib/lua/syslog/syslog.c | 165 + libexec/Makefile | 8 +- libexec/Makefile.inc | 5 +- libexec/ftpd/cmds.c | 10 +- libexec/ftpd/conf.c | 5 +- libexec/ftpd/extern.h | 8 +- libexec/ftpd/ftpd.c | 53 +- libexec/ftpd/version.h | 6 +- libexec/getty/Makefile | 4 +- libexec/getty/extern.h | 10 +- libexec/getty/getty.8 | 5 +- libexec/getty/gettytab.h | 10 +- libexec/getty/init.c | 169 +- libexec/getty/main.c | 52 +- libexec/getty/subr.c | 66 +- libexec/ld.elf_so/Makefile | 56 +- libexec/ld.elf_so/arch/arm/Makefile.inc | 7 +- libexec/ld.elf_so/arch/arm/find_exidx.c | 86 + libexec/ld.elf_so/arch/i386/mdreloc.c | 21 +- libexec/ld.elf_so/arch/i386/rtld_start.S | 11 - libexec/ld.elf_so/arch/m68k/rtld_start.S | 11 +- libexec/ld.elf_so/arch/mips/Makefile.inc | 10 +- libexec/ld.elf_so/arch/sparc64/mdreloc.c | 8 +- libexec/ld.elf_so/debug.h | 12 +- libexec/ld.elf_so/expand.c | 16 +- libexec/ld.elf_so/headers.c | 56 +- libexec/ld.elf_so/load.c | 33 +- libexec/ld.elf_so/map_object.c | 59 +- libexec/ld.elf_so/map_object_fallback.c | 27 +- libexec/ld.elf_so/paths.c | 22 +- libexec/ld.elf_so/reloc.c | 10 +- libexec/ld.elf_so/rtld.c | 54 +- libexec/ld.elf_so/rtld.h | 40 +- libexec/ld.elf_so/rtldenv.h | 4 +- libexec/ld.elf_so/search.c | 6 +- libexec/ld.elf_so/symbol.c | 13 +- libexec/ld.elf_so/symver.c | 22 +- libexec/ld.elf_so/sysident.h | 25 +- libexec/ld.elf_so/tls.c | 11 +- libexec/ld.elf_so/xmalloc.c | 11 +- libexec/makewhatis/makewhatis.8 | 8 +- libexec/makewhatis/makewhatis.c | 13 +- releasetools/nbsd_ports | 548 +- sbin/Makefile | 64 +- sbin/Makefile.inc | 1 - sbin/fsck/Makefile | 4 - sbin/fsck/fsck.c | 44 +- sbin/fsck/fsutil.c | 90 +- sbin/fsck/fsutil.h | 24 +- sbin/fsck/partutil.c | 128 +- sbin/fsck/preen.c | 20 +- sbin/fsck_ext2fs/Makefile | 2 - sbin/fsck_ext2fs/dir.c | 18 +- sbin/fsck_ext2fs/ext2fs_bswap.c | 121 - sbin/fsck_ext2fs/extern.h | 4 +- sbin/fsck_ext2fs/inode.c | 108 +- sbin/fsck_ext2fs/main.c | 4 +- sbin/fsck_ext2fs/pass1.c | 35 +- sbin/fsck_ext2fs/pass5.c | 6 +- sbin/fsck_ext2fs/setup.c | 34 +- sbin/fsck_ext2fs/utilities.c | 18 +- sbin/init/Makefile | 6 +- sbin/init/init.8 | 30 +- sbin/init/init.c | 64 +- sbin/mknod/Makefile | 4 - sbin/mknod/mknod.c | 16 +- sbin/mknod/pack_dev.c | 48 +- sbin/mknod/pack_dev.h | 9 +- sbin/newfs_ext2fs/Makefile | 16 +- sbin/newfs_ext2fs/mke2fs.c | 161 +- sbin/newfs_ext2fs/newfs_ext2fs.c | 77 +- sbin/reboot/reboot.c | 21 +- sbin/shutdown/Makefile | 4 - servers/ext2/super.c | 1 + servers/ipc/inc.h | 1 + servers/mfs/super.c | 1 + servers/procfs/root.c | 2 +- servers/vfs/fs.h | 4 + servers/vm/mem_cache.c | 2 + servers/vm/mmap.c | 2 + share/Makefile | 10 +- share/misc/acronyms | 126 +- share/misc/acronyms.comp | 537 +- share/misc/airport | 22 +- share/misc/bsd-family-tree | 123 +- share/misc/country | 14 +- share/misc/domains | 4 +- share/misc/flowers | 8 +- share/misc/inter.phone | 4 +- share/misc/make.country | 19 +- share/misc/style | 15 +- share/misc/zipcodes | 4 +- share/mk/Makefile | 8 +- share/mk/bsd.README | 8 +- share/mk/bsd.buildinstall.mk | 29 + share/mk/bsd.clean.mk | 18 +- share/mk/bsd.dep.mk | 59 +- share/mk/bsd.endian.mk | 7 +- share/mk/bsd.files.mk | 14 +- share/mk/bsd.gcc.mk | 10 +- share/mk/bsd.hostlib.mk | 4 +- share/mk/bsd.hostprog.mk | 4 +- share/mk/bsd.ioconf.mk | 4 +- share/mk/bsd.kernobj.mk | 17 +- share/mk/bsd.klinks.mk | 38 +- share/mk/bsd.kmodule.mk | 44 +- share/mk/bsd.lib.mk | 489 +- share/mk/bsd.lua.mk | 7 +- share/mk/bsd.man.mk | 47 +- share/mk/bsd.own.mk | 232 +- share/mk/bsd.prog.mk | 172 +- share/mk/bsd.sys.mk | 52 +- share/mk/bsd.test.mk | 5 - share/mk/bsd.x11.mk | 18 +- share/mk/minix.service.mk | 17 + share/mk/sys.mk | 55 +- share/terminfo/Makefile | 3 - share/terminfo/terminfo | 3441 +- share/zoneinfo/Makefile | 13 +- share/zoneinfo/africa | 188 +- share/zoneinfo/antarctica | 60 +- share/zoneinfo/asia | 323 +- share/zoneinfo/australasia | 153 +- share/zoneinfo/backward | 1 - share/zoneinfo/etcetera | 1 - share/zoneinfo/europe | 162 +- share/zoneinfo/factory | 1 - share/zoneinfo/iso3166.tab | 24 +- share/zoneinfo/leapseconds | 41 +- share/zoneinfo/northamerica | 189 +- share/zoneinfo/pacificnew | 1 - share/zoneinfo/solar87 | 1 - share/zoneinfo/solar88 | 1 - share/zoneinfo/solar89 | 1 - share/zoneinfo/southamerica | 143 +- share/zoneinfo/systemv | 1 - share/zoneinfo/yearistype.sh | 4 +- share/zoneinfo/zone.tab | 28 +- sys/Makefile | 4 +- sys/arch/Makefile | 15 +- sys/arch/README | 78 + sys/arch/arm/include/Makefile | 7 +- sys/arch/arm/include/Makefile.common | 26 + sys/arch/arm/include/aeabi.h | 113 +- sys/arch/arm/include/ansi.h | 27 +- sys/arch/arm/include/apmvar.h | 34 + sys/arch/arm/include/arm32/db_machdep.h | 3 +- sys/arch/arm/include/arm32/frame.h | 125 +- sys/arch/arm/include/arm32/machdep.h | 4 +- sys/arch/arm/include/arm32/param.h | 19 +- sys/arch/arm/include/arm32/pmap.h | 61 +- sys/arch/arm/include/arm32/types.h | 2 +- sys/arch/arm/include/arm32/vmparam.h | 10 +- sys/arch/arm/include/armreg.h | 188 +- sys/arch/arm/include/asm.h | 111 +- sys/arch/arm/include/bus_defs.h | 124 +- sys/arch/arm/include/bus_funcs.h | 10 +- sys/arch/arm/include/byte_swap.h | 7 +- sys/arch/arm/include/cdefs.h | 31 +- sys/arch/arm/include/common/fenv.h | 3 + sys/arch/arm/include/cpu.h | 164 +- sys/arch/arm/include/cpuconf.h | 9 +- sys/arch/arm/include/cpufunc.h | 38 +- sys/arch/arm/include/disklabel.h | 28 +- sys/arch/arm/include/ehabi.h | 133 + sys/arch/arm/include/elf_machdep.h | 157 +- sys/arch/arm/include/fenv.h | 35 + sys/arch/arm/include/float.h | 25 +- sys/arch/arm/include/frame.h | 9 +- sys/arch/arm/include/ieeefp.h | 24 +- sys/arch/arm/include/isa_machdep.h | 5 +- sys/arch/arm/include/joystick.h | 3 + sys/arch/arm/include/limits.h | 3 +- sys/arch/arm/include/lock.h | 38 +- sys/arch/arm/include/locore.h | 204 + sys/arch/arm/include/mcontext.h | 35 +- sys/arch/arm/include/ofisa_machdep.h | 29 +- sys/arch/arm/include/param.h | 134 +- sys/arch/arm/include/pcb.h | 8 +- sys/arch/arm/include/proc.h | 7 +- sys/arch/arm/include/profile.h | 64 +- sys/arch/arm/include/ptrace.h | 9 +- sys/arch/arm/include/reg.h | 16 +- sys/arch/arm/include/setjmp.h | 33 +- sys/arch/arm/include/sysarch.h | 10 +- sys/arch/arm/include/types.h | 4 +- sys/arch/arm/include/vfpreg.h | 27 +- sys/arch/arm/include/vmparam.h | 3 + sys/arch/arm/include/wchar_limits.h | 30 +- sys/arch/evbarm/include/Makefile | 28 +- sys/arch/evbarm/include/aout_machdep.h | 3 + sys/arch/evbarm/include/atomic.h | 1 + sys/arch/evbarm/include/autoconf.h | 43 + .../fp.h => evbarm/include/bootconfig.h} | 77 +- sys/arch/evbarm/include/bus_defs.h | 3 + sys/arch/evbarm/include/bus_funcs.h | 3 + sys/arch/evbarm/include/cpu_counter.h | 3 + sys/arch/evbarm/include/db_machdep.h | 3 + sys/arch/evbarm/include/disklabel.h | 3 +- sys/arch/evbarm/include/intr.h | 155 + sys/arch/evbarm/include/isa_machdep.h | 7 + sys/arch/evbarm/include/joystick.h | 3 + sys/arch/evbarm/include/loadfile_machdep.h | 18 + sys/arch/evbarm/include/netbsd32_machdep.h | 3 + sys/arch/evbarm/include/pcb.h | 3 + sys/arch/evbarm/include/pci_machdep.h | 3 + sys/arch/evbarm/include/pio.h | 3 + sys/arch/evbarm/include/pmap.h | 3 + sys/arch/evbarm/include/pmc.h | 3 + sys/arch/evbarm/include/reg.h | 3 + sys/arch/evbarm/include/sysarch.h | 3 + sys/arch/evbarm/include/trap.h | 3 + sys/arch/i386/conf/stand.ldscript | 64 + sys/arch/i386/include/Makefile | 18 +- sys/arch/i386/include/asm.h | 8 +- sys/arch/i386/include/cpu.h | 4 +- sys/arch/i386/include/frame.h | 8 +- sys/arch/i386/include/limits.h | 3 +- sys/arch/i386/include/mcontext.h | 21 +- sys/arch/i386/include/multiboot.h | 23 +- sys/arch/i386/include/npx.h | 8 +- sys/arch/i386/include/param.h | 9 - sys/arch/i386/include/pcb.h | 2 +- sys/arch/i386/include/proc.h | 2 +- sys/arch/i386/include/signal.h | 8 +- sys/arch/i386/include/types.h | 2 +- sys/arch/i386/include/vmparam.h | 4 +- sys/arch/i386/stand/Makefile.booters | 16 +- sys/arch/i386/stand/Makefile.inc | 7 +- sys/arch/i386/stand/boot/Makefile.boot | 20 +- sys/arch/i386/stand/boot/boot2.c | 43 +- sys/arch/i386/stand/boot/version | 3 +- sys/arch/i386/stand/bootxx/Makefile | 2 +- sys/arch/i386/stand/bootxx/Makefile.bootxx | 19 +- sys/arch/i386/stand/bootxx/boot1.c | 28 +- sys/arch/i386/stand/cdboot/Makefile | 10 +- sys/arch/i386/stand/lib/Makefile.inc | 2 + sys/arch/i386/stand/lib/biosdisk.c | 11 +- sys/arch/i386/stand/lib/boot_params.S | 4 + sys/arch/i386/stand/lib/bootinfo.h | 8 +- sys/arch/i386/stand/lib/bootinfo_biosgeom.c | 6 +- sys/arch/i386/stand/lib/bootmenu.c | 100 +- sys/arch/i386/stand/lib/bootmenu.h | 3 +- sys/arch/i386/stand/lib/bootmod.h | 3 +- sys/arch/i386/stand/lib/dosfile.c | 5 +- sys/arch/i386/stand/lib/exec.c | 19 +- sys/arch/i386/stand/lib/libi386.h | 9 +- sys/arch/i386/stand/lib/menuutils.c | 12 + sys/arch/i386/stand/lib/pcio.c | 14 + sys/arch/i386/stand/lib/vbe.c | 4 +- sys/arch/i386/stand/mbr/Makefile.mbr | 4 +- sys/arch/i386/stand/mbr/mbr.S | 4 +- sys/arch/x86/include/bootinfo.h | 5 +- sys/arch/x86/include/cacheinfo.h | 67 +- sys/arch/x86/include/cpu.h | 7 +- sys/arch/x86/include/cpu_ucode.h | 5 +- sys/arch/x86/include/float.h | 4 +- sys/arch/x86/include/i82093reg.h | 30 +- sys/arch/x86/include/i82489reg.h | 28 +- sys/arch/x86/include/intrdefs.h | 2 +- sys/arch/x86/include/lock.h | 52 +- sys/arch/x86/include/machdep.h | 4 +- sys/arch/x86/include/mpacpi.h | 4 +- sys/arch/x86/include/pci_machdep_common.h | 11 +- sys/arch/x86/include/pmap.h | 8 +- sys/arch/x86/include/specialreg.h | 351 +- sys/compat/sys/clockctl.h | 74 + sys/compat/sys/cpuio.h | 9 + sys/compat/sys/dirent.h | 45 + sys/compat/sys/event.h | 44 + sys/compat/sys/ipc.h | 108 + sys/compat/sys/mman.h | 42 + sys/compat/sys/mount.h | 119 + sys/compat/sys/msg.h | 172 + sys/compat/sys/poll.h | 54 + sys/compat/sys/resource.h | 68 + sys/compat/sys/rnd.h | 150 + sys/compat/sys/select.h | 61 + sys/compat/sys/sem.h | 125 + sys/compat/sys/shm.h | 170 + sys/compat/sys/siginfo.h | 85 + sys/compat/sys/signal.h | 88 + sys/compat/sys/signalvar.h | 53 + sys/compat/sys/sigtypes.h | 83 + sys/compat/sys/socket.h | 92 + sys/compat/sys/sockio.h | 187 + sys/compat/sys/stat.h | 203 + sys/compat/sys/time.h | 74 + sys/compat/sys/time_types.h | 124 + sys/compat/sys/times.h | 48 + sys/compat/sys/timex.h | 54 + sys/compat/sys/ttycom.h | 66 + sys/compat/sys/ucontext.h | 73 + sys/compat/sys/wait.h | 48 + sys/conf/copyright | 6 +- sys/conf/osrelease.sh | 3 +- sys/dev/Makefile | 4 +- sys/dev/i2c/i2c_io.h | 5 + sys/dev/ic/comreg.h | 8 +- sys/dev/ic/ns16550reg.h | 10 +- sys/dev/videomode/edid.c | 6 +- sys/dev/videomode/pickmode.c | 4 +- sys/dev/videomode/vesagtf.c | 12 +- sys/dev/vndvar.h | 21 +- sys/fs/Makefile | 6 + sys/fs/cd9660/Makefile | 8 + sys/fs/cd9660/TODO | 47 + sys/fs/cd9660/TODO.hibler | 13 + sys/fs/cd9660/cd9660_bmap.c | 104 + sys/fs/cd9660/cd9660_extern.h | 115 + sys/fs/cd9660/cd9660_lookup.c | 435 + sys/fs/cd9660/cd9660_mount.h | 59 + sys/fs/cd9660/cd9660_node.c | 444 + sys/fs/cd9660/cd9660_node.h | 142 + sys/fs/cd9660/cd9660_rrip.c | 703 + sys/fs/cd9660/cd9660_rrip.h | 143 + sys/fs/cd9660/cd9660_util.c | 239 + sys/fs/cd9660/cd9660_vfsops.c | 927 + sys/fs/cd9660/cd9660_vnops.c | 993 + sys/fs/cd9660/files.cd9660 | 11 + sys/fs/cd9660/iso_rrip.h | 85 + sys/fs/msdosfs/Makefile | 7 + sys/fs/msdosfs/TODO | 8 + sys/fs/msdosfs/bootsect.h | 112 + sys/fs/msdosfs/bpb.h | 6 +- sys/fs/msdosfs/denode.h | 327 + sys/fs/msdosfs/direntry.h | 13 +- sys/fs/msdosfs/fat.h | 119 + sys/fs/msdosfs/files.msdosfs | 10 + sys/fs/msdosfs/msdosfs_conv.c | 843 + sys/fs/msdosfs/msdosfs_denode.c | 879 + sys/fs/msdosfs/msdosfs_fat.c | 1098 + sys/fs/msdosfs/msdosfs_lookup.c | 1171 + sys/fs/msdosfs/msdosfs_vfsops.c | 1112 + sys/fs/msdosfs/msdosfs_vnops.c | 1911 + sys/fs/msdosfs/msdosfsmount.h | 255 + sys/fs/puffs/Makefile | 7 + sys/fs/puffs/TODO | 10 + sys/fs/puffs/files.puffs | 10 + sys/fs/puffs/puffs_compat.c | 437 + sys/fs/puffs/puffs_msgif.c | 1287 + sys/fs/puffs/puffs_msgif.h | 699 + sys/fs/puffs/puffs_node.c | 499 + sys/fs/puffs/puffs_subr.c | 217 + sys/fs/puffs/puffs_sys.h | 365 + sys/fs/puffs/puffs_vfsops.c | 887 + sys/fs/puffs/puffs_vnops.c | 3269 ++ sys/fs/unicode.h | 161 + sys/lib/libkern/libkern.h | 7 +- sys/lib/{libsa => libkern}/xlat_mbr_fstype.c | 5 +- sys/lib/libsa/Makefile | 23 +- sys/lib/libsa/Makefile.inc | 4 +- sys/lib/libsa/cread.c | 16 +- sys/lib/libsa/dosfs.c | 4 +- sys/lib/libsa/ext2fs.c | 61 +- sys/lib/libsa/lfsv1.c | 11 +- sys/lib/libsa/lfsv2.c | 15 +- sys/lib/libsa/loadfile_elf32.c | 6 +- sys/lib/libsa/ls.c | 4 +- sys/lib/libsa/minixfs3.c | 18 +- sys/lib/libsa/minixfs3.h | 14 +- sys/lib/libsa/netif.c | 5 +- sys/lib/libsa/saerrno.h | 4 - sys/lib/libsa/subr_prf.c | 33 + sys/lib/libsa/ufs.c | 58 +- sys/lib/libz/Makefile.inc | 4 +- sys/net/Makefile | 12 +- sys/net/if_ether.h | 30 +- sys/net/route.h | 6 +- sys/netinet/Makefile | 29 +- sys/netinet/in.h | 14 +- sys/netinet/ip.h | 3 +- sys/netinet6/Makefile | 8 +- sys/netinet6/in6.h | 25 +- sys/sys/Makefile | 4 +- sys/sys/aout_mids.h | 3 +- sys/sys/bitops.h | 45 +- sys/sys/bootblock.h | 6 +- sys/sys/bus_proto.h | 4 +- sys/sys/cdefs.h | 68 +- sys/sys/cdefs_elf.h | 8 +- sys/sys/conf.h | 6 +- sys/sys/cprng.h | 87 +- sys/sys/cpu.h | 16 +- sys/sys/cpu_data.h | 3 +- sys/sys/cpuio.h | 16 +- sys/sys/ctype_bits.h | 32 +- sys/sys/ctype_inline.h | 34 +- sys/sys/device.h | 21 +- sys/sys/dirhash.h | 4 +- sys/sys/disk.h | 4 +- sys/sys/disklabel.h | 9 +- sys/sys/disklabel_gpt.h | 18 +- sys/sys/dkio.h | 13 +- sys/sys/dtrace_bsd.h | 13 +- sys/sys/envsys.h | 4 +- sys/sys/errno.h | 8 +- sys/sys/exec.h | 5 +- sys/sys/exec_elf.h | 61 +- sys/sys/fcntl.h | 19 +- sys/sys/fd_set.h | 7 +- sys/sys/featuretest.h | 12 +- sys/sys/file.h | 6 +- sys/sys/float_ieee754.h | 4 +- sys/sys/fstypes.h | 14 +- sys/sys/ieee754.h | 5 +- sys/sys/intr.h | 12 +- sys/sys/inttypes.h | 5 +- sys/sys/ioccom.h | 9 +- sys/sys/ioctl.h | 8 +- sys/sys/ioctl_compat.h | 22 +- sys/sys/ipc.h | 4 +- sys/sys/kauth.h | 8 +- sys/sys/kcpuset.h | 25 +- sys/sys/kernel.h | 3 +- sys/sys/kernhist.h | 22 +- sys/sys/ksem.h | 17 +- sys/sys/ksyms.h | 12 +- sys/sys/localedef.h | 17 +- sys/sys/lockdebug.h | 10 +- sys/sys/lua.h | 103 + sys/sys/lwp.h | 12 +- sys/sys/mbuf.h | 19 +- sys/sys/mman.h | 12 +- sys/sys/module.h | 4 +- sys/sys/mount.h | 37 +- sys/sys/namei.h | 37 +- sys/sys/param.h | 8 +- sys/sys/pcu.h | 29 +- sys/sys/physmap.h | 70 + sys/sys/pmf.h | 9 +- sys/sys/power.h | 18 +- sys/sys/proc.h | 14 +- sys/sys/pset.h | 3 +- sys/sys/ptrace.h | 4 +- sys/sys/queue.h | 777 +- sys/sys/quotactl.h | 4 +- sys/sys/resourcevar.h | 4 +- sys/sys/rnd.h | 41 +- sys/sys/rndsink.h | 53 + sys/sys/sdt.h | 13 +- sys/sys/select.h | 4 +- sys/sys/sem.h | 4 +- sys/sys/shm.h | 6 +- sys/sys/siginfo.h | 11 +- sys/sys/signal.h | 16 +- sys/sys/signalvar.h | 12 +- sys/sys/socket.h | 7 +- sys/sys/socketvar.h | 7 +- sys/sys/sockio.h | 8 +- sys/sys/spawn.h | 3 +- sys/sys/stat.h | 73 +- sys/sys/statvfs.h | 8 +- sys/sys/stdint.h | 8 +- sys/sys/syscall.h | 15 +- sys/sys/syscallargs.h | 33 +- sys/sys/syscallvar.h | 29 +- sys/sys/sysctl.h | 53 +- sys/sys/syslimits.h | 23 +- sys/sys/systm.h | 7 +- sys/sys/termios.h | 164 +- sys/sys/time.h | 7 +- sys/sys/timepps.h | 13 +- sys/sys/times.h | 4 - sys/sys/timevar.h | 4 +- sys/sys/tree.h | 30 +- sys/sys/tty.h | 3 +- sys/sys/ttycom.h | 15 +- sys/sys/ttydefaults.h | 8 +- sys/sys/types.h | 4 +- sys/sys/ucontext.h | 17 +- sys/sys/unistd.h | 9 +- sys/sys/userret.h | 3 +- sys/sys/utsname.h | 10 +- sys/sys/vfs_syscalls.h | 15 +- sys/sys/vmem.h | 13 +- sys/sys/vmem_impl.h | 139 + sys/sys/vnode.h | 29 +- sys/sys/vnode_if.h | 6 +- sys/sys/wapbl.h | 9 +- sys/sys/xcall.h | 4 +- sys/ufs/chfs/chfs.h | 399 +- sys/ufs/chfs/chfs_args.h | 15 +- sys/ufs/chfs/chfs_build.c | 106 +- sys/ufs/chfs/chfs_erase.c | 25 +- sys/ufs/chfs/chfs_gc.c | 436 +- sys/ufs/chfs/chfs_ihash.c | 10 +- sys/ufs/chfs/chfs_inode.h | 83 +- sys/ufs/chfs/chfs_malloc.c | 65 +- sys/ufs/chfs/chfs_nodeops.c | 174 +- sys/ufs/chfs/chfs_pool.c | 9 +- sys/ufs/chfs/chfs_readinode.c | 322 +- sys/ufs/chfs/chfs_scan.c | 257 +- sys/ufs/chfs/chfs_subr.c | 306 +- sys/ufs/chfs/chfs_vfsops.c | 190 +- sys/ufs/chfs/chfs_vnode.c | 132 +- sys/ufs/chfs/chfs_vnode_cache.c | 45 +- sys/ufs/chfs/chfs_vnops.c | 306 +- sys/ufs/chfs/chfs_wbuf.c | 128 +- sys/ufs/chfs/chfs_write.c | 183 +- sys/ufs/chfs/debug.c | 48 - sys/ufs/chfs/debug.h | 15 +- sys/ufs/chfs/ebh.c | 6 +- sys/ufs/chfs/ebh.h | 48 +- sys/ufs/chfs/ebh_misc.h | 16 +- sys/ufs/chfs/media.h | 187 +- sys/ufs/ext2fs/ext2fs.h | 63 +- sys/ufs/ext2fs/ext2fs_alloc.c | 18 +- sys/ufs/ext2fs/ext2fs_balloc.c | 34 +- sys/ufs/ext2fs/ext2fs_bmap.c | 14 +- sys/ufs/ext2fs/ext2fs_bswap.c | 11 +- sys/ufs/ext2fs/ext2fs_dinode.h | 59 +- sys/ufs/ext2fs/ext2fs_dir.h | 4 +- sys/ufs/ext2fs/ext2fs_extern.h | 9 +- sys/ufs/ext2fs/ext2fs_inode.c | 125 +- sys/ufs/ext2fs/ext2fs_lookup.c | 85 +- sys/ufs/ext2fs/ext2fs_readwrite.c | 39 +- sys/ufs/ext2fs/ext2fs_rename.c | 992 + sys/ufs/ext2fs/ext2fs_subr.c | 9 +- sys/ufs/ext2fs/ext2fs_vfsops.c | 94 +- sys/ufs/ext2fs/ext2fs_vnops.c | 521 +- sys/ufs/ffs/ffs_alloc.c | 410 +- sys/ufs/ffs/ffs_balloc.c | 130 +- sys/ufs/ffs/ffs_bswap.c | 12 +- sys/ufs/ffs/ffs_extern.h | 6 +- sys/ufs/ffs/ffs_inode.c | 101 +- sys/ufs/ffs/ffs_snapshot.c | 244 +- sys/ufs/ffs/ffs_subr.c | 6 +- sys/ufs/ffs/ffs_vfsops.c | 170 +- sys/ufs/ffs/ffs_vnops.c | 62 +- sys/ufs/ffs/ffs_wapbl.c | 43 +- sys/ufs/ffs/fs.h | 79 +- sys/ufs/files.ufs | 65 +- sys/ufs/lfs/Makefile | 4 +- sys/ufs/lfs/README.wc | 26 + sys/ufs/lfs/lfs.h | 751 +- sys/ufs/lfs/lfs_alloc.c | 58 +- sys/ufs/lfs/lfs_balloc.c | 70 +- sys/ufs/lfs/lfs_bio.c | 114 +- sys/ufs/lfs/lfs_cksum.c | 5 +- sys/ufs/lfs/lfs_debug.c | 18 +- sys/ufs/lfs/lfs_extern.h | 20 +- sys/ufs/lfs/lfs_inode.c | 163 +- sys/ufs/lfs/lfs_inode.h | 335 + sys/ufs/lfs/lfs_itimes.c | 8 +- sys/ufs/lfs/lfs_kernel.h | 113 + sys/ufs/lfs/lfs_rename.c | 1174 + sys/ufs/lfs/lfs_rfw.c | 105 +- sys/ufs/lfs/lfs_segment.c | 294 +- sys/ufs/lfs/lfs_subr.c | 18 +- sys/ufs/lfs/lfs_syscalls.c | 156 +- sys/ufs/lfs/lfs_vfsops.c | 659 +- sys/ufs/lfs/lfs_vnops.c | 831 +- sys/ufs/lfs/ulfs_bmap.c | 411 + sys/ufs/lfs/ulfs_bswap.h | 81 + sys/ufs/lfs/ulfs_dinode.h | 62 + sys/ufs/lfs/ulfs_dirhash.c | 1171 + sys/ufs/lfs/ulfs_dirhash.h | 130 + sys/ufs/lfs/ulfs_extattr.c | 1596 + sys/ufs/lfs/ulfs_extattr.h | 129 + sys/ufs/lfs/ulfs_extern.h | 191 + sys/ufs/lfs/ulfs_ihash.c | 192 + sys/ufs/lfs/ulfs_inode.c | 270 + sys/ufs/lfs/ulfs_inode.h | 278 + sys/ufs/lfs/ulfs_lookup.c | 1526 + sys/ufs/lfs/ulfs_quota.c | 1005 + sys/ufs/lfs/ulfs_quota.h | 146 + sys/ufs/lfs/ulfs_quota1.c | 901 + sys/ufs/lfs/ulfs_quota1.h | 105 + sys/ufs/lfs/ulfs_quota1_subr.c | 90 + sys/ufs/lfs/ulfs_quota2.c | 1625 + sys/ufs/lfs/ulfs_quota2.h | 129 + sys/ufs/lfs/ulfs_quota2_subr.c | 130 + sys/ufs/lfs/ulfs_quotacommon.h | 98 + sys/ufs/lfs/ulfs_readwrite.c | 527 + sys/ufs/lfs/ulfs_snapshot.c | 89 + sys/ufs/lfs/ulfs_vfsops.c | 291 + sys/ufs/lfs/ulfs_vnops.c | 1570 + sys/ufs/lfs/ulfsmount.h | 134 + sys/ufs/mfs/mfs_vfsops.c | 8 +- sys/ufs/ufs/dinode.h | 42 +- sys/ufs/ufs/dir.h | 40 +- sys/ufs/ufs/dirhash.h | 4 +- sys/ufs/ufs/inode.h | 20 +- sys/ufs/ufs/quota.h | 28 +- sys/ufs/ufs/quota1.h | 17 +- sys/ufs/ufs/quota1_subr.c | 51 +- sys/ufs/ufs/quota2.h | 48 +- sys/ufs/ufs/quota2_subr.c | 25 +- sys/ufs/ufs/ufs_bmap.c | 26 +- sys/ufs/ufs/ufs_bswap.h | 22 +- sys/ufs/ufs/ufs_dirhash.c | 28 +- sys/ufs/ufs/ufs_extattr.c | 141 +- sys/ufs/ufs/ufs_extern.h | 37 +- sys/ufs/ufs/ufs_inode.c | 6 +- sys/ufs/ufs/ufs_lookup.c | 212 +- sys/ufs/ufs/ufs_quota.c | 672 +- sys/ufs/ufs/ufs_quota.h | 31 +- sys/ufs/ufs/ufs_quota1.c | 174 +- sys/ufs/ufs/ufs_quota2.c | 948 +- sys/ufs/ufs/ufs_readwrite.c | 79 +- sys/ufs/ufs/ufs_rename.c | 1057 + sys/ufs/ufs/ufs_vfsops.c | 47 +- sys/ufs/ufs/ufs_vnops.c | 1160 +- sys/ufs/ufs/ufs_wapbl.c | 5 +- sys/ufs/ufs/ufs_wapbl.h | 4 +- sys/ufs/ufs/ufsmount.h | 20 +- sys/uvm/pmap/pmap.h | 93 +- sys/uvm/pmap/pmap_tlb.h | 177 + sys/uvm/uvm_aobj.h | 4 +- sys/uvm/uvm_extern.h | 10 +- sys/uvm/uvm_map.h | 3 +- sys/uvm/uvm_page.h | 6 +- sys/uvm/uvm_param.h | 6 + sys/uvm/uvm_pmap.h | 6 +- sys/uvm/uvm_swap.h | 4 +- test/Makefile | 8 +- test/blocktest/Makefile.inc | 2 +- test/test48.c | 41 +- test/testcache.h | 1 + test/testsh2.sh | 2 +- tests/Makefile.inc | 3 + tests/bin/Makefile | 3 +- tests/bin/sh/t_expand.sh | 18 +- tests/fs/common/fstest_puffs.c | 8 +- tests/fs/ffs/ffs_common.sh | 4 +- tests/fs/nfs/nfsservice/mountd.c | 6 +- tests/fs/nfs/nfsservice/nfsd.c | 13 +- tests/fs/nfs/nfsservice/rpcbind/pmap_svc.c | 5 +- tests/fs/nfs/nfsservice/rpcbind/rpcbind.c | 8 +- tests/fs/puffs/h_dtfs/dtfs_subr.c | 5 +- tests/fs/puffs/h_dtfs/dtfs_vnops.c | 4 +- tests/fs/puffs/t_basic.c | 4 +- tests/fs/vfs/t_io.c | 60 +- tests/fs/vfs/t_vnops.c | 8 +- tests/include/sys/Makefile | 3 +- tests/include/sys/t_cdefs.c | 8 +- tests/include/sys/t_socket.c | 23 +- tests/include/t_inttypes.c | 58 +- tests/kernel/t_lockf.c | 6 +- tests/kernel/t_sysv.c | 24 +- tests/lib/Makefile | 2 +- tests/lib/csu/arch/hppa/h_initfini_align.S | 12 + tests/lib/csu/arch/sparc64/h_initfini_align.S | 11 + tests/lib/libbpfjit/t_bpfjit.c | 331 +- tests/lib/libc/Makefile | 5 +- tests/lib/libc/db/t_db.sh | 4 +- tests/lib/libc/gen/t_dir.c | 7 +- tests/lib/libc/gen/t_isnan.c | 8 +- tests/lib/libc/locale/Makefile | 3 +- tests/lib/libc/net/Makefile | 11 +- tests/lib/libc/net/h_hostent.c | 190 + tests/lib/libc/net/hosts | 11 + tests/lib/libc/net/t_hostent.sh | 188 + tests/lib/libc/regex/Makefile | 10 + tests/lib/libc/stdio/t_fmemopen.c | 13 +- tests/lib/libc/sys/Makefile | 2 +- tests/lib/libc/sys/t_msgrcv.c | 47 +- tests/lib/libc/tls/dso/h_tls_dlopen.c | 5 +- tests/lib/libc/tls_dso/h_tls_dynamic.c | 4 +- tests/lib/libcurses/Makefile | 5 + tests/lib/libcurses/check_files/addchstr.chk | 2 +- tests/lib/libcurses/director/testlang_conf.l | 8 +- tests/lib/libcurses/testframe.txt | 1 + tests/lib/libexecinfo/Makefile | 4 +- tests/lib/libexecinfo/t_backtrace.c | 26 +- tests/lib/libm/Makefile | 6 +- tests/lib/libm/t_cbrt.c | 124 +- tests/lib/libm/t_ceil.c | 544 +- tests/lib/libm/t_fmod.c | 63 + tests/lib/libm/t_precision.c | 76 + tests/lib/libm/t_round.c | 9 +- tests/lib/libm/t_sqrt.c | 124 +- tests/lib/libobjc/t_threads.m | 34 +- tests/lib/libppath/Makefile | 3 +- tests/lib/libpthread/t_cond.c | 10 +- tests/lib/libpthread/t_sigmask.c | 10 +- tests/lib/libutil/t_snprintb.c | 47 +- tests/net/Makefile | 4 +- tests/net/mpls/Makefile | 10 + tests/net/mpls/t_ldp_regen.sh | 174 + tests/net/mpls/t_mpls_fw.sh | 188 + tests/net/mpls/t_rfc4182.sh | 165 + tests/net/net/Makefile | 3 +- tests/net/net/t_pktinfo.c | 5 +- tests/net/net/t_tcp.c | 220 + tests/net/net/t_unix.c | 220 +- tests/rump/rumpkern/t_copy.c | 28 +- tests/rump/rumpnet/t_shmif.sh | 14 +- tests/usr.bin/Makefile | 4 +- tests/usr.bin/make/d_dotwait.out | 6 +- tests/usr.bin/tr/Makefile | 9 + tests/usr.bin/tr/t_basic.sh | 195 + tests/usr.sbin/mtree/mtree_d_create.out | 6 +- tests/usr.sbin/mtree/t_mtree.sh | 3 + tools/Makefile | 175 +- tools/Makefile.gnuhost | 21 +- tools/Makefile.host | 20 +- tools/Makefile.nbincludes | 2 - tools/binstall/Makefile | 21 +- tools/binstall/mkmanifest | 33 + tools/binutils/mknative-binutils | 4 +- tools/compat/Makefile | 112 +- tools/compat/cdbr.h | 5 + tools/compat/cdbw.h | 5 + tools/compat/compat_defs.h | 23 +- tools/compat/configure | 1302 +- tools/compat/configure.ac | 22 +- tools/compat/defs.mk.in | 79 +- tools/compat/dprintf.c | 77 + tools/compat/fs/msdosfs/bootsect.h | 1 + tools/compat/fs/msdosfs/bpb.h | 1 + tools/compat/fs/msdosfs/denode.h | 1 + tools/compat/fs/msdosfs/direntry.h | 1 + tools/compat/fs/msdosfs/fat.h | 1 + tools/compat/fs/msdosfs/msdosfsmount.h | 1 + tools/compat/nbtool_config.h.in | 14 +- tools/compat/rmd160.h | 5 + tools/compat/sha1.h | 5 + tools/compat/sha2.h | 5 + tools/compat/sys/sha1.h | 3 +- tools/gcc/Makefile | 80 +- tools/gcc/README.mknative | 25 +- tools/gcc/mknative-gcc | 39 +- tools/gcc/mknative.common | 8 +- tools/genassym/Makefile | 6 +- tools/gmake/Makefile | 4 +- tools/headerlist | 6 +- tools/host-mkdep/Makefile | 45 +- tools/host-mkdep/host-mkdep.in | 21 +- tools/lorder/Makefile | 5 +- tools/mpc/Makefile | 4 +- tools/mtree/Makefile | 4 +- tools/texinfo/Makefile | 8 +- usr.bin/Makefile | 30 +- usr.bin/bdes/Makefile | 3 +- usr.bin/bdes/bdes.c | 104 +- usr.bin/bzip2/Makefile | 4 - usr.bin/checknr/Makefile | 4 +- usr.bin/checknr/checknr.c | 111 +- usr.bin/chpass/Makefile | 4 - usr.bin/chpass/chpass.1 | 8 +- usr.bin/chpass/chpass.c | 18 +- usr.bin/chpass/chpass.h | 4 +- usr.bin/chpass/edit.c | 11 +- usr.bin/cksum/cksum.1 | 4 +- usr.bin/cksum/cksum.c | 9 +- usr.bin/deroff/deroff.c | 20 +- usr.bin/du/du.1 | 13 +- usr.bin/du/du.c | 36 +- usr.bin/fsplit/fsplit.c | 7 +- usr.bin/ftp/Makefile | 4 - usr.bin/ftp/fetch.c | 132 +- usr.bin/ftp/ftp.c | 12 +- usr.bin/ftp/version.h | 4 +- usr.bin/gzip/Makefile | 19 +- usr.bin/gzip/gzip.1 | 4 +- usr.bin/gzip/gzip.c | 4 +- usr.bin/gzip/zgrep | 4 +- usr.bin/gzip/zmore | 10 +- usr.bin/gzip/zmore.1 | 30 +- usr.bin/hexdump/conv.c | 6 +- usr.bin/hexdump/display.c | 8 +- usr.bin/infocmp/Makefile | 3 +- usr.bin/infocmp/infocmp.1 | 4 +- usr.bin/infocmp/infocmp.c | 10 +- usr.bin/lam/lam.1 | 4 +- usr.bin/ldd/Makefile.common | 8 +- usr.bin/ldd/Makefile.elf | 10 +- usr.bin/ldd/Makefile.inc | 4 +- usr.bin/ldd/ldd.c | 129 +- usr.bin/ldd/ldd.h | 5 +- usr.bin/ldd/ldd_elfxx.c | 114 +- usr.bin/lock/lock.c | 11 +- usr.bin/login/Makefile | 9 +- usr.bin/login/common.c | 30 +- usr.bin/login/common.h | 16 +- usr.bin/login/k5login.c | 122 +- usr.bin/login/login.c | 48 +- usr.bin/login/login_pam.c | 25 +- usr.bin/m4/m4.1 | 8 +- usr.bin/m4/mdef.h | 10 +- usr.bin/make/Makefile.bak | 71 - usr.bin/make/compat.c | 24 +- usr.bin/make/cond.c | 37 +- usr.bin/make/dir.c | 15 +- usr.bin/make/hash.c | 9 +- usr.bin/make/job.c | 178 +- usr.bin/make/job.h | 4 +- usr.bin/make/lst.lib/lstMember.c | 9 +- usr.bin/make/main.c | 344 +- usr.bin/make/make.1 | 135 +- usr.bin/make/make.c | 10 +- usr.bin/make/make.h | 9 +- usr.bin/make/meta.c | 175 +- usr.bin/make/meta.h | 5 +- usr.bin/make/parse.c | 132 +- usr.bin/make/suff.c | 199 +- usr.bin/make/unit-tests/Makefile | 8 +- usr.bin/make/unit-tests/export-env | 24 + usr.bin/make/unit-tests/order | 20 + usr.bin/make/unit-tests/sunshcmd | 10 + usr.bin/make/unit-tests/test.exp | 14 + usr.bin/make/util.c | 9 +- usr.bin/make/var.c | 126 +- usr.bin/man/Makefile | 6 +- usr.bin/man/man.1 | 9 +- usr.bin/man/man.c | 163 +- usr.bin/man/man.conf.5 | 24 +- usr.bin/man/manconf.c | 8 +- usr.bin/menuc/defs.h | 12 +- usr.bin/mkdep/Makefile | 3 - usr.bin/mkdep/findcc.c | 7 +- usr.bin/mkdep/mkdep.1 | 26 +- usr.bin/mkdep/mkdep.c | 175 +- usr.bin/mktemp/mktemp.1 | 215 +- usr.bin/mktemp/mktemp.c | 7 +- usr.bin/msgc/defs.h | 11 +- usr.bin/nbperf/nbperf-bdz.c | 20 +- usr.bin/nbperf/nbperf.1 | 4 +- usr.bin/nbperf/nbperf.c | 10 +- usr.bin/nbperf/nbperf.h | 4 +- usr.bin/newgrp/Makefile | 5 - usr.bin/newgrp/grutil.c | 7 +- usr.bin/newgrp/newgrp.c | 4 +- usr.bin/nvi/Makefile.inc | 11 - usr.bin/nvi/docs/Makefile | 5 - usr.bin/nvi/docs/USD.doc/Makefile | 5 - usr.bin/passwd/Makefile | 8 +- usr.bin/paste/paste.1 | 12 +- usr.bin/printf/Makefile | 4 +- usr.bin/printf/printf.c | 56 +- usr.bin/renice/renice.8 | 6 +- usr.bin/sdiff/sdiff.1 | 4 +- usr.bin/sed/Makefile | 3 - usr.bin/sed/TEST/sed.test | 10 +- usr.bin/sed/compile.c | 7 +- usr.bin/sed/process.c | 11 +- usr.bin/sed/sed.1 | 10 +- usr.bin/seq/seq.1 | 10 +- usr.bin/shlock/shlock.1 | 8 +- usr.bin/sort/fields.c | 19 +- usr.bin/sort/init.c | 11 +- usr.bin/sort/sort.1 | 12 +- usr.bin/sort/sort.c | 4 +- usr.bin/sort/sort.h | 4 +- usr.bin/stat/Makefile | 8 - usr.bin/stat/stat.1 | 15 +- usr.bin/stat/stat.c | 18 +- usr.bin/su/su.1 | 10 +- usr.bin/su/su.c | 8 +- usr.bin/su/su_pam.c | 43 +- usr.bin/tic/tic.1 | 16 +- usr.bin/tic/tic.c | 154 +- usr.bin/toproto/toproto.c | 18 +- usr.bin/tput/Makefile | 4 +- usr.bin/tput/tput.c | 128 +- usr.bin/tr/Makefile | 6 +- usr.bin/tr/extern.h | 17 +- usr.bin/tr/str.c | 271 +- usr.bin/tr/tr.1 | 22 +- usr.bin/tr/tr.c | 170 +- usr.bin/uname/Makefile | 4 - usr.bin/uname/uname.c | 22 +- usr.bin/uniq/uniq.1 | 24 +- usr.bin/uniq/uniq.c | 8 +- usr.bin/unvis/unvis.1 | 4 +- usr.bin/vis/vis.1 | 28 +- usr.bin/vis/vis.c | 94 +- usr.bin/wall/wall.c | 1 - usr.bin/whois/whois.c | 6 +- usr.bin/xinstall/xinstall.c | 20 +- usr.sbin/Makefile | 29 +- usr.sbin/Makefile.inc | 4 - usr.sbin/installboot/Makefile | 51 +- usr.sbin/installboot/arch/amiga.c | 6 +- usr.sbin/installboot/arch/hp300.c | 7 +- usr.sbin/installboot/arch/hp700.c | 11 +- usr.sbin/installboot/arch/i386.c | 27 +- usr.sbin/installboot/arch/landisk.c | 9 +- usr.sbin/installboot/arch/next68k.c | 12 +- usr.sbin/installboot/arch/pmax.c | 6 +- usr.sbin/installboot/arch/vax.c | 99 +- usr.sbin/installboot/ext2fs.c | 24 +- usr.sbin/installboot/ffs.c | 36 +- usr.sbin/installboot/installboot.c | 5 +- usr.sbin/installboot/machines.c | 6 - usr.sbin/mkfs.mfs/Makefile | 3 +- usr.sbin/mkfs.mfs/Makefile.mkfs | 8 +- usr.sbin/mkfs.mfs/v3/Makefile | 11 +- usr.sbin/mkproto/Makefile | 3 + usr.sbin/mtree/Makefile | 4 +- usr.sbin/mtree/compare.c | 162 +- usr.sbin/mtree/create.c | 94 +- usr.sbin/mtree/extern.h | 18 +- usr.sbin/mtree/getid.c | 10 +- usr.sbin/mtree/misc.c | 11 +- usr.sbin/mtree/mtree.8 | 64 +- usr.sbin/mtree/mtree.c | 80 +- usr.sbin/mtree/only.c | 152 + usr.sbin/mtree/spec.c | 40 +- usr.sbin/mtree/verify.c | 8 +- usr.sbin/postinstall/postinstall | 130 +- usr.sbin/pwd_mkdb/pwd_mkdb.c | 25 +- usr.sbin/user/user.c | 18 +- usr.sbin/vipw/vipw.8 | 4 +- usr.sbin/vipw/vipw.c | 13 +- usr.sbin/vnconfig/vnconfig.8 | 78 +- usr.sbin/vnconfig/vnconfig.c | 112 +- usr.sbin/zic/Makefile | 8 +- usr.sbin/zic/Makefile.inc | 2 + 4655 files changed, 379317 insertions(+), 151059 deletions(-) create mode 100644 Makefile.inc create mode 100644 common/include/ppath/Makefile create mode 100644 common/include/ppath/ppath.h create mode 100644 common/include/ppath/ppath_impl.h create mode 100644 common/lib/libc/arch/arm/atomic/atomic_add_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_add_8.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_and_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_and_8.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_cas_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_nand_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_nand_32.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_nand_64.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_nand_8.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_or_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_or_8.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_simplelock.c create mode 100644 common/lib/libc/arch/arm/atomic/atomic_sub_64.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_swap_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_xor_16.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_xor_32.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_xor_64.S create mode 100644 common/lib/libc/arch/arm/atomic/atomic_xor_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_1.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_2.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_4.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S create mode 100644 common/lib/libc/arch/arm/atomic/sync_fetch_and_xor_8.S create mode 100644 common/lib/libc/arch/arm/gen/__aeabi_idiv0.c create mode 100644 common/lib/libc/arch/arm/gen/__aeabi_ldiv0.c create mode 100644 common/lib/libc/arch/arm/gen/divide.S create mode 100644 common/lib/libc/arch/arm/gen/neon_mask.S create mode 100644 common/lib/libc/arch/arm/gen/udivsi3.S create mode 100644 common/lib/libc/arch/arm/string/memcpy_neon.S create mode 100644 common/lib/libc/arch/arm/string/memset_arm.S create mode 100644 common/lib/libc/arch/arm/string/memset_naive.S create mode 100644 common/lib/libc/arch/arm/string/memset_neon.S create mode 100644 common/lib/libc/arch/arm/string/strcat.S create mode 100644 common/lib/libc/arch/arm/string/strcat_arm.S create mode 100644 common/lib/libc/arch/arm/string/strcat_naive.S create mode 100644 common/lib/libc/arch/arm/string/strchr.S create mode 100644 common/lib/libc/arch/arm/string/strchr_arm.S create mode 100644 common/lib/libc/arch/arm/string/strchr_naive.S create mode 100644 common/lib/libc/arch/arm/string/strcpy.S create mode 100644 common/lib/libc/arch/arm/string/strcpy_arm.S create mode 100644 common/lib/libc/arch/arm/string/strcpy_naive.S create mode 100644 common/lib/libc/arch/arm/string/strcpy_thumb.S create mode 100644 common/lib/libc/arch/arm/string/strlcat.S create mode 100644 common/lib/libc/arch/arm/string/strlcat_arm.S create mode 100644 common/lib/libc/arch/arm/string/strlcat_naive.S create mode 100644 common/lib/libc/arch/arm/string/strlcpy.S create mode 100644 common/lib/libc/arch/arm/string/strlen.S create mode 100644 common/lib/libc/arch/arm/string/strlen_arm.S create mode 100644 common/lib/libc/arch/arm/string/strlen_naive.S create mode 100644 common/lib/libc/arch/arm/string/strlen_neon.S create mode 100644 common/lib/libc/arch/arm/string/strncpy.S create mode 100644 common/lib/libc/arch/arm/string/strnlen.S create mode 100644 common/lib/libc/arch/arm/string/strrchr.S create mode 100644 common/lib/libc/arch/arm/string/strrchr_arm.S create mode 100644 common/lib/libc/arch/arm/string/strrchr_naive.S create mode 100644 common/lib/libc/arch/sparc/atomic/atomic_cas_up.S rename {lib => common/lib}/libc/arch/sparc64/string/memcpy.S (63%) create mode 100644 common/lib/libc/arch/sparc64/string/memset.S create mode 100644 common/lib/libc/arch/sparc64/string/strmacros.h delete mode 100644 common/lib/libc/arch/x86_64/string/bzero.S delete mode 100644 common/lib/libc/string/consttime_bcmp.c create mode 100644 common/lib/libc/string/consttime_memequal.c rename common/lib/libc/string/{explicit_bzero.c => explicit_memset.c} (56%) delete mode 100644 dist/nvi/cl/extern.h delete mode 100644 dist/nvi/common/dbinternal.h delete mode 100644 dist/nvi/common/extern.h delete mode 100644 dist/nvi/dist/INSTALL delete mode 100644 dist/nvi/dist/Makefile.in delete mode 100644 dist/nvi/dist/acconfig.h delete mode 100644 dist/nvi/dist/aclocal.m4 delete mode 100644 dist/nvi/dist/compile delete mode 100644 dist/nvi/dist/config.guess delete mode 100644 dist/nvi/dist/config.h.in delete mode 100644 dist/nvi/dist/config.sub delete mode 100644 dist/nvi/dist/configure delete mode 100644 dist/nvi/dist/depcomp delete mode 100644 dist/nvi/dist/install-sh delete mode 100644 dist/nvi/dist/ltmain.sh delete mode 100644 dist/nvi/dist/missing delete mode 100644 dist/nvi/dist/mkinstalldirs delete mode 100644 dist/nvi/ex/ex.awk delete mode 100644 dist/nvi/ex/ex_def.h delete mode 100644 dist/nvi/ex/extern.h delete mode 100644 dist/nvi/ex/version.h delete mode 100644 dist/nvi/gtk/extern.h delete mode 100644 dist/nvi/include/bitstring.h delete mode 100644 dist/nvi/include/sys/queue.h delete mode 100644 dist/nvi/ip/extern.h delete mode 100644 dist/nvi/ipc/extern.h delete mode 100644 dist/nvi/ipc/ipc_def.h delete mode 100644 dist/nvi/motif/extern.h delete mode 100644 dist/nvi/motif_l/extern.h delete mode 100644 dist/nvi/perl_api/extern.h delete mode 100644 dist/nvi/tcl_api/extern.h delete mode 100644 dist/nvi/vi/extern.h create mode 100644 distrib/common/Makefile.minirootkmod create mode 100644 distrib/common/cgdroot.rc create mode 100644 distrib/common/list.cgdroot create mode 100644 distrib/common/mtree.cgdroot create mode 100644 distrib/sets/lists/base/ad.arm.shl delete mode 100644 distrib/sets/lists/base/ad.armeb delete mode 100644 distrib/sets/lists/base/ad.mips64eb delete mode 100644 distrib/sets/lists/base/ad.mips64el delete mode 100644 distrib/sets/lists/base/md.acorn26 delete mode 100644 distrib/sets/lists/base/md.evbarm delete mode 100644 distrib/sets/lists/base/md.evbarm.armeb create mode 100644 distrib/sets/lists/base/md.luna68k delete mode 100644 distrib/sets/lists/base/md.zaurus delete mode 100644 distrib/sets/lists/base/rescue.ad.armeb create mode 100644 distrib/sets/lists/comp/ad.arm.shl delete mode 100644 distrib/sets/lists/comp/ad.armeb delete mode 100644 distrib/sets/lists/comp/ad.mips64eb delete mode 100644 distrib/sets/lists/comp/ad.mips64el delete mode 100644 distrib/sets/lists/comp/md.acorn26 delete mode 100644 distrib/sets/lists/comp/md.acorn32 delete mode 100644 distrib/sets/lists/comp/md.cats delete mode 100644 distrib/sets/lists/comp/md.evbarm create mode 100644 distrib/sets/lists/comp/md.evbcf delete mode 100644 distrib/sets/lists/comp/md.hpcarm delete mode 100644 distrib/sets/lists/comp/md.iyonix delete mode 100644 distrib/sets/lists/comp/md.netwinder delete mode 100644 distrib/sets/lists/comp/md.shark delete mode 100644 distrib/sets/lists/comp/md.zaurus create mode 100644 distrib/sets/lists/debug/ad.arm create mode 100644 distrib/sets/lists/debug/ad.m68k create mode 100644 distrib/sets/lists/debug/ad.m68k.shl create mode 100644 distrib/sets/lists/debug/ad.mips create mode 100644 distrib/sets/lists/debug/ad.powerpc create mode 100644 distrib/sets/lists/debug/md.alpha create mode 100644 distrib/sets/lists/debug/md.amd64 create mode 100644 distrib/sets/lists/debug/md.amiga create mode 100644 distrib/sets/lists/debug/md.atari create mode 100644 distrib/sets/lists/debug/md.bebox create mode 100644 distrib/sets/lists/debug/md.dreamcast create mode 100644 distrib/sets/lists/debug/md.evbmips create mode 100644 distrib/sets/lists/debug/md.ews4800mips create mode 100644 distrib/sets/lists/debug/md.hp300 create mode 100644 distrib/sets/lists/debug/md.hp700 create mode 100644 distrib/sets/lists/debug/md.hpcmips create mode 100644 distrib/sets/lists/debug/md.hpcsh create mode 100644 distrib/sets/lists/debug/md.i386 create mode 100644 distrib/sets/lists/debug/md.luna68k create mode 100644 distrib/sets/lists/debug/md.mac68k create mode 100644 distrib/sets/lists/debug/md.macppc create mode 100644 distrib/sets/lists/debug/md.mipsco create mode 100644 distrib/sets/lists/debug/md.mmeye create mode 100644 distrib/sets/lists/debug/md.mvme68k create mode 100644 distrib/sets/lists/debug/md.newsmips create mode 100644 distrib/sets/lists/debug/md.ofppc create mode 100644 distrib/sets/lists/debug/md.pmax create mode 100644 distrib/sets/lists/debug/md.prep create mode 100644 distrib/sets/lists/debug/md.rs6000 create mode 100644 distrib/sets/lists/debug/md.sgimips create mode 100644 distrib/sets/lists/debug/md.sparc create mode 100644 distrib/sets/lists/debug/md.sparc64 create mode 100644 distrib/sets/lists/debug/md.sun2 create mode 100644 distrib/sets/lists/debug/md.sun3 create mode 100644 distrib/sets/lists/debug/md.vax create mode 100644 distrib/sets/lists/debug/md.x68k create mode 100644 distrib/sets/lists/debug/mi create mode 100644 distrib/sets/lists/debug/module.mi create mode 100644 distrib/sets/lists/debug/shl.mi create mode 100644 distrib/sets/lists/etc/md.evbarm rename distrib/sets/lists/modules/{ad.mips64eb => ad.mips} (66%) delete mode 100644 distrib/sets/lists/modules/ad.mips64el delete mode 100644 distrib/sets/lists/modules/ad.mipseb delete mode 100644 distrib/sets/lists/modules/ad.mipsel create mode 100644 distrib/sets/lists/xdebug/md.acorn32 create mode 100644 distrib/sets/lists/xdebug/md.alpha create mode 100644 distrib/sets/lists/xdebug/md.amd64 create mode 100644 distrib/sets/lists/xdebug/md.amiga create mode 100644 distrib/sets/lists/xdebug/md.bebox create mode 100644 distrib/sets/lists/xdebug/md.cats create mode 100644 distrib/sets/lists/xdebug/md.dreamcast create mode 100644 distrib/sets/lists/xdebug/md.evbarm create mode 100644 distrib/sets/lists/xdebug/md.evbarm.armeb create mode 100644 distrib/sets/lists/xdebug/md.evbmips create mode 100644 distrib/sets/lists/xdebug/md.ews4800mips create mode 100644 distrib/sets/lists/xdebug/md.hp300 create mode 100644 distrib/sets/lists/xdebug/md.hpcarm create mode 100644 distrib/sets/lists/xdebug/md.hpcmips create mode 100644 distrib/sets/lists/xdebug/md.hpcsh create mode 100644 distrib/sets/lists/xdebug/md.i386 create mode 100644 distrib/sets/lists/xdebug/md.luna68k create mode 100644 distrib/sets/lists/xdebug/md.mac68k create mode 100644 distrib/sets/lists/xdebug/md.macppc create mode 100644 distrib/sets/lists/xdebug/md.netwinder create mode 100644 distrib/sets/lists/xdebug/md.newsmips create mode 100644 distrib/sets/lists/xdebug/md.ofppc create mode 100644 distrib/sets/lists/xdebug/md.pmax create mode 100644 distrib/sets/lists/xdebug/md.prep create mode 100644 distrib/sets/lists/xdebug/md.sgimips create mode 100644 distrib/sets/lists/xdebug/md.shark create mode 100644 distrib/sets/lists/xdebug/md.sparc create mode 100644 distrib/sets/lists/xdebug/md.sparc64 create mode 100644 distrib/sets/lists/xdebug/md.sun3 create mode 100644 distrib/sets/lists/xdebug/md.vax create mode 100644 distrib/sets/lists/xdebug/md.x68k create mode 100644 distrib/sets/lists/xdebug/md.zaurus create mode 100644 distrib/sets/lists/xdebug/mi create mode 100644 distrib/sets/lists/xdebug/shl.mi create mode 100755 distrib/sets/sort-list create mode 100644 etc/Makefile.params mode change 100755 => 100644 etc/services create mode 100644 external/bsd/byacc/dist/test/quote_calc-s.output create mode 100644 external/bsd/byacc/dist/test/quote_calc-s.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc-s.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc.output create mode 100644 external/bsd/byacc/dist/test/quote_calc.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc.y create mode 100644 external/bsd/byacc/dist/test/quote_calc2-s.output create mode 100644 external/bsd/byacc/dist/test/quote_calc2-s.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc2-s.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc2.output create mode 100644 external/bsd/byacc/dist/test/quote_calc2.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc2.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc2.y create mode 100644 external/bsd/byacc/dist/test/quote_calc3-s.output create mode 100644 external/bsd/byacc/dist/test/quote_calc3-s.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc3-s.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc3.output create mode 100644 external/bsd/byacc/dist/test/quote_calc3.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc3.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc3.y create mode 100644 external/bsd/byacc/dist/test/quote_calc4-s.output create mode 100644 external/bsd/byacc/dist/test/quote_calc4-s.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc4-s.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc4.output create mode 100644 external/bsd/byacc/dist/test/quote_calc4.tab.c create mode 100644 external/bsd/byacc/dist/test/quote_calc4.tab.h create mode 100644 external/bsd/byacc/dist/test/quote_calc4.y create mode 100644 external/bsd/file/dist/magic/magdir/aout create mode 100644 external/bsd/file/dist/magic/magdir/cubemap create mode 100644 external/bsd/file/dist/magic/magdir/gnome delete mode 100644 external/bsd/file/dist/magic/magdir/gnome-keyring create mode 100644 external/bsd/file/dist/magic/magdir/gpt create mode 100644 external/bsd/file/dist/magic/magdir/icc create mode 100644 external/bsd/file/dist/magic/magdir/javascript create mode 100644 external/bsd/file/dist/magic/magdir/keepass create mode 100644 external/bsd/file/dist/magic/magdir/macos create mode 100644 external/bsd/file/dist/magic/magdir/pwsafe create mode 100644 external/bsd/file/dist/magic/magdir/uterus create mode 100644 external/bsd/file/dist/src/asctime_r.c create mode 100644 external/bsd/file/dist/src/ctime_r.c rename external/bsd/file/dist/src/{magic.h => magic.h.in} (98%) create mode 100644 external/bsd/file/dist/src/pread.c create mode 100644 external/bsd/flex/dist/lib/Makefile.am create mode 100644 external/bsd/flex/dist/lib/Makefile.in create mode 100644 external/bsd/flex/dist/lib/lib.c create mode 100644 external/bsd/flex/dist/lib/malloc.c create mode 100644 external/bsd/flex/dist/lib/realloc.c delete mode 100644 external/bsd/flex/dist/m4/Makefile.am delete mode 100644 external/bsd/flex/dist/m4/Makefile.in delete mode 100644 external/bsd/flex/dist/m4/codeset.m4 delete mode 100644 external/bsd/flex/dist/m4/glibc21.m4 delete mode 100644 external/bsd/flex/dist/m4/intdiv0.m4 delete mode 100644 external/bsd/flex/dist/m4/inttypes-pri.m4 delete mode 100644 external/bsd/flex/dist/m4/inttypes.m4 delete mode 100644 external/bsd/flex/dist/m4/inttypes_h.m4 delete mode 100644 external/bsd/flex/dist/m4/isc-posix.m4 delete mode 100644 external/bsd/flex/dist/m4/lcmessage.m4 delete mode 100644 external/bsd/flex/dist/m4/stdint_h.m4 delete mode 100644 external/bsd/flex/dist/m4/uintmax_t.m4 delete mode 100644 external/bsd/flex/dist/m4/ulonglong.m4 create mode 100644 external/bsd/flex/dist/po/fi.gmo delete mode 100644 external/bsd/flex/dist/tools/cvs2cl.pl delete mode 100644 external/bsd/flex/dist/tools/cvsauthors create mode 100755 external/bsd/flex/dist/tools/git2cl create mode 100755 external/bsd/flex/dist/ylwrap create mode 100644 external/bsd/kyua-cli/dist/utils/shared_ptr.hpp create mode 100644 external/bsd/libelf/Makefile create mode 100644 external/bsd/libelf/Makefile.inc rename {lib/libelf => external/bsd/libelf/dist}/Makefile (88%) rename {lib/libelf => external/bsd/libelf/dist}/README (73%) rename {lib/libelf => external/bsd/libelf/dist}/Version.map (90%) rename {lib/libelf => external/bsd/libelf/dist}/_libelf.h (81%) rename {lib/libelf => external/bsd/libelf/dist}/elf.3 (96%) rename {lib/libelf => external/bsd/libelf/dist}/elf_begin.3 (95%) rename {lib/libelf => external/bsd/libelf/dist}/elf_begin.c (64%) rename {lib/libelf => external/bsd/libelf/dist}/elf_cntl.3 (91%) rename {lib/libelf => external/bsd/libelf/dist}/elf_cntl.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/elf_data.c (83%) rename {lib/libelf => external/bsd/libelf/dist}/elf_end.3 (91%) rename {lib/libelf => external/bsd/libelf/dist}/elf_end.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/elf_errmsg.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/elf_errmsg.c (77%) rename {lib/libelf => external/bsd/libelf/dist}/elf_errno.c (79%) rename {lib/libelf => external/bsd/libelf/dist}/elf_fill.3 (89%) rename {lib/libelf => external/bsd/libelf/dist}/elf_fill.c (87%) rename {lib/libelf => external/bsd/libelf/dist}/elf_flag.c (83%) rename {lib/libelf => external/bsd/libelf/dist}/elf_flagdata.3 (82%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getarhdr.3 (92%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getarhdr.c (84%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getarsym.3 (94%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getarsym.c (86%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getbase.3 (76%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getbase.c (84%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getdata.3 (75%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getident.3 (91%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getident.c (86%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getphnum.3 (89%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getscn.3 (94%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getshnum.3 (89%) rename {lib/libelf => external/bsd/libelf/dist}/elf_getshstrndx.3 (90%) rename {lib/libelf => external/bsd/libelf/dist}/elf_hash.3 (90%) rename {lib/libelf => external/bsd/libelf/dist}/elf_hash.c (81%) rename {lib/libelf => external/bsd/libelf/dist}/elf_kind.3 (90%) rename {lib/libelf => external/bsd/libelf/dist}/elf_kind.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/elf_memory.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/elf_memory.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/elf_next.3 (92%) rename {lib/libelf => external/bsd/libelf/dist}/elf_next.c (86%) rename {lib/libelf => external/bsd/libelf/dist}/elf_phnum.c (84%) rename {lib/libelf => external/bsd/libelf/dist}/elf_rand.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/elf_rand.c (90%) rename {lib/libelf => external/bsd/libelf/dist}/elf_rawfile.3 (91%) rename {lib/libelf => external/bsd/libelf/dist}/elf_rawfile.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/elf_scn.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/elf_shnum.c (84%) rename {lib/libelf => external/bsd/libelf/dist}/elf_shstrndx.c (84%) rename {lib/libelf => external/bsd/libelf/dist}/elf_strptr.3 (92%) rename {lib/libelf => external/bsd/libelf/dist}/elf_strptr.c (90%) rename {lib/libelf => external/bsd/libelf/dist}/elf_types.m4 (85%) rename {lib/libelf => external/bsd/libelf/dist}/elf_update.3 (96%) rename {lib/libelf => external/bsd/libelf/dist}/elf_update.c (95%) rename {lib/libelf => external/bsd/libelf/dist}/elf_version.3 (92%) rename {lib/libelf => external/bsd/libelf/dist}/elf_version.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/gelf.3 (96%) rename {lib/libelf => external/bsd/libelf/dist}/gelf.h (90%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_cap.c (90%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_checksum.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_checksum.c (88%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_dyn.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_ehdr.c (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_fsize.3 (92%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_fsize.c (89%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getcap.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getclass.3 (89%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getclass.c (86%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getdyn.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getehdr.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getmove.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getphdr.3 (94%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getrel.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getrela.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getshdr.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getsym.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getsyminfo.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_getsymshndx.3 (94%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_move.c (91%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_newehdr.3 (95%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_newphdr.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_phdr.c (94%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_rel.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_rela.c (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_shdr.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_sym.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_syminfo.c (90%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_symshndx.c (91%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_update_ehdr.3 (93%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_xlate.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/gelf_xlatetof.3 (96%) create mode 100644 external/bsd/libelf/dist/libelf.c rename {lib/libelf => external/bsd/libelf/dist}/libelf.h (78%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_align.c (77%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_allocate.c (88%) create mode 100644 external/bsd/libelf/dist/libelf_ar.c rename {lib/libelf => external/bsd/libelf/dist}/libelf_checksum.c (90%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_convert.m4 (61%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_data.c (76%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_ehdr.c (84%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_extended.c (92%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_fsize.m4 (89%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_msize.m4 (87%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_phdr.c (87%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_shdr.c (86%) rename {lib/libelf => external/bsd/libelf/dist}/libelf_xlate.c (88%) create mode 100644 external/bsd/libelf/lib/Makefile create mode 100644 external/bsd/libelf/lib/shlib_version create mode 100755 external/bsd/libelf/prepare-import.sh create mode 100644 external/bsd/mdocml/dist/TODO rename {usr.bin => external/bsd}/nvi/Makefile (52%) create mode 100644 external/bsd/nvi/Makefile.inc rename {usr.bin => external/bsd}/nvi/catalog/Makefile (97%) rename {dist/nvi => external/bsd/nvi/dist}/Changes (100%) rename {dist/nvi => external/bsd/nvi/dist}/LICENSE (95%) rename {dist/nvi => external/bsd/nvi/dist}/README (95%) rename {dist/nvi => external/bsd/nvi/dist}/README.1st (100%) rename {dist/nvi => external/bsd/nvi/dist}/README.DB3 (100%) rename {dist/nvi => external/bsd/nvi/dist}/TODO (98%) rename {dist/nvi => external/bsd/nvi/dist}/build.unix/README (99%) rename {dist/nvi => external/bsd/nvi/dist}/build.unix/README.LynxOS (100%) rename {dist/nvi => external/bsd/nvi/dist}/build.unix/README.Solaris (100%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/Makefile (96%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/README (98%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/dump.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/dutch.base (100%) rename dist/nvi/dist/stamp-h.in => external/bsd/nvi/dist/catalog/dutch.check (100%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/dutch.owner (100%) create mode 100644 external/bsd/nvi/dist/catalog/english.check rename {dist/nvi => external/bsd/nvi/dist}/catalog/english.owner (100%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/french.base (100%) create mode 100644 external/bsd/nvi/dist/catalog/french.check rename {dist/nvi => external/bsd/nvi/dist}/catalog/german.base (100%) create mode 100644 external/bsd/nvi/dist/catalog/german.check rename {dist/nvi => external/bsd/nvi/dist}/catalog/german.owner (100%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/ru_RU.KOI8-R.base (100%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/ru_RU.KOI8-R.owner (100%) create mode 100644 external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.base create mode 100644 external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.check create mode 100644 external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.owner rename {dist/nvi => external/bsd/nvi/dist}/catalog/spanish.base (100%) create mode 100644 external/bsd/nvi/dist/catalog/spanish.check rename {dist/nvi => external/bsd/nvi/dist}/catalog/spell.ok (100%) rename {dist/nvi => external/bsd/nvi/dist}/catalog/swedish.base (100%) create mode 100644 external/bsd/nvi/dist/catalog/swedish.check rename {dist/nvi => external/bsd/nvi/dist}/catalog/swedish.owner (100%) rename {dist/nvi => external/bsd/nvi/dist}/cl/README.signal (98%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl.h (94%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl_bsd.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl_funcs.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl_main.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl_read.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl_screen.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/cl/cl_term.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/clib/bsearch.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/clib/env.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/clib/gethostname.c (83%) rename {dist/nvi => external/bsd/nvi/dist}/clib/iswblank.c (75%) rename {dist/nvi => external/bsd/nvi/dist}/clib/memchr.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/clib/memset.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/clib/mkstemp.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/clib/mmap.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/clib/snprintf.c (90%) rename {dist/nvi => external/bsd/nvi/dist}/clib/strdup.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/clib/strpbrk.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/clib/strsep.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/clib/strtol.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/clib/strtoul.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/clib/vsnprintf.c (86%) rename {dist/nvi => external/bsd/nvi/dist}/common/api.c (92%) rename {dist/nvi => external/bsd/nvi/dist}/common/args.h (84%) rename {dist/nvi => external/bsd/nvi/dist}/common/common.h (90%) rename {dist/nvi => external/bsd/nvi/dist}/common/conv.c (90%) rename {dist/nvi => external/bsd/nvi/dist}/common/conv.h (91%) rename {dist/nvi => external/bsd/nvi/dist}/common/cut.c (90%) rename {dist/nvi => external/bsd/nvi/dist}/common/cut.h (88%) rename {dist/nvi => external/bsd/nvi/dist}/common/db1.c (99%) create mode 100644 external/bsd/nvi/dist/common/dbinternal.h rename {dist/nvi => external/bsd/nvi/dist}/common/delete.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/common/dldb.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/common/exf.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/common/exf.h (91%) rename {dist/nvi => external/bsd/nvi/dist}/common/gs.c (84%) rename {dist/nvi => external/bsd/nvi/dist}/common/gs.h (94%) rename {dist/nvi => external/bsd/nvi/dist}/common/key.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/common/key.h (98%) rename {dist/nvi => external/bsd/nvi/dist}/common/log.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/common/log.h (80%) create mode 100644 external/bsd/nvi/dist/common/log1.c rename {dist/nvi => external/bsd/nvi/dist}/common/log4.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/common/main.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/common/mark.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/common/mark.h (90%) rename {dist/nvi => external/bsd/nvi/dist}/common/mem.h (96%) rename {dist/nvi => external/bsd/nvi/dist}/common/msg.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/common/msg.h (93%) rename {dist/nvi => external/bsd/nvi/dist}/common/multibyte.h (87%) rename {dist/nvi => external/bsd/nvi/dist}/common/nothread.c (89%) rename {dist/nvi => external/bsd/nvi/dist}/common/options.awk (78%) rename {dist/nvi => external/bsd/nvi/dist}/common/options.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/common/options.h (95%) rename {dist/nvi => external/bsd/nvi/dist}/common/options_f.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/common/pthread.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/common/put.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/common/recover.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/common/screen.c (88%) rename {dist/nvi => external/bsd/nvi/dist}/common/screen.h (96%) rename {dist/nvi => external/bsd/nvi/dist}/common/search.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/common/seq.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/common/seq.h (91%) rename {dist/nvi => external/bsd/nvi/dist}/common/trace.c (77%) rename {dist/nvi => external/bsd/nvi/dist}/common/util.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/common/util.h (92%) rename {dist/nvi => external/bsd/nvi/dist}/common/util2.c (90%) rename {dist/nvi => external/bsd/nvi/dist}/common/vi.src (100%) rename {dist/nvi => external/bsd/nvi/dist}/common/vi_auto.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/common/vi_auto.h (91%) rename dist/nvi/common/db.c => external/bsd/nvi/dist/common/vi_db.c (76%) rename dist/nvi/common/db.h => external/bsd/nvi/dist/common/vi_db.h (80%) create mode 100644 external/bsd/nvi/dist/common/vi_db1.c rename {dist/nvi => external/bsd/nvi/dist}/common/vi_rec.c (98%) create mode 100644 external/bsd/nvi/dist/dist/AUTHORS create mode 100644 external/bsd/nvi/dist/dist/COPYING create mode 100644 external/bsd/nvi/dist/dist/ChangeLog rename {dist/nvi => external/bsd/nvi/dist}/dist/ExtUtils/Embed.pm (98%) create mode 100644 external/bsd/nvi/dist/dist/INSTALL rename {dist/nvi => external/bsd/nvi/dist}/dist/Makefile.am (88%) create mode 100644 external/bsd/nvi/dist/dist/NEWS create mode 100644 external/bsd/nvi/dist/dist/README create mode 100644 external/bsd/nvi/dist/dist/compile rename dist/nvi/dist/configure.in => external/bsd/nvi/dist/dist/configure.ac (83%) create mode 100644 external/bsd/nvi/dist/dist/depcomp rename {dist/nvi => external/bsd/nvi/dist}/dist/distrib (95%) rename {dist/nvi => external/bsd/nvi/dist}/dist/export (100%) rename {dist/nvi => external/bsd/nvi/dist}/dist/findconfig (100%) rename {dist/nvi => external/bsd/nvi/dist}/dist/ltconfig (100%) rename {dist/nvi => external/bsd/nvi/dist}/dist/m4/gtk.m4 (99%) create mode 100644 external/bsd/nvi/dist/dist/missing create mode 100644 external/bsd/nvi/dist/dist/mkinstalldirs rename {dist/nvi => external/bsd/nvi/dist}/dist/pathnames.h.in (88%) rename {dist/nvi => external/bsd/nvi/dist}/dist/port.h.in (97%) rename {dist/nvi => external/bsd/nvi/dist}/dist/recover.in (93%) rename {dist/nvi => external/bsd/nvi/dist}/dist/script (100%) rename {dist/nvi => external/bsd/nvi/dist}/dist/spell.ok (100%) rename {dist/nvi => external/bsd/nvi/dist}/docs/README (92%) rename {dist/nvi => external/bsd/nvi/dist}/docs/edit/Makefile (78%) rename {dist/nvi => external/bsd/nvi/dist}/docs/edit/edittut.ms (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/exref/Makefile (86%) rename {dist/nvi => external/bsd/nvi/dist}/docs/exref/ex.rm (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/exref/ex.summary (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.man/Makefile (80%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.man/spell.ok (100%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.man/vi.1 (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/Makefile (83%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/ex.cmd.texi (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/ref.texi (90%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/set.opt.texi (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/spell.ok (100%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/vi.cmd.texi (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vi.ref/vi.texi (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vitut/Makefile (91%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vitut/vi.apwh.ms (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vitut/vi.chars (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vitut/vi.in (99%) rename {dist/nvi => external/bsd/nvi/dist}/docs/vitut/vi.summary (99%) create mode 100644 external/bsd/nvi/dist/ex/ex.awk rename {dist/nvi => external/bsd/nvi/dist}/ex/ex.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex.h (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_abbrev.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_append.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_args.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_argv.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_at.c (86%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_bang.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_cd.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_cmd.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_cscope.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_delete.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_display.c (65%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_edit.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_equal.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_file.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_filter.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_global.c (92%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_init.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_join.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_map.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_mark.c (87%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_mkexrc.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_move.c (90%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_open.c (88%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_perl.c (92%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_preserve.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_print.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_put.c (88%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_quit.c (87%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_read.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_screen.c (89%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_script.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_set.c (86%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_shell.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_shift.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_source.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_stop.c (88%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_subst.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_tag.c (90%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_tcl.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_txt.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_undo.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_usage.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_util.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_version.c (85%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_visual.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_write.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_yank.c (88%) rename {dist/nvi => external/bsd/nvi/dist}/ex/ex_z.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/ex/script.h (79%) rename {dist/nvi => external/bsd/nvi/dist}/ex/tag.h (91%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtk.h (70%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtk_main.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtkvi.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtkvi.h (77%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtkviscreen.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtkviscreen.h (96%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtkviwindow.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/gtk/gtkviwindow.h (94%) rename {dist/nvi => external/bsd/nvi/dist}/ip/ip_funcs.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/ip/ip_main.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ip/ip_read.c (79%) rename {dist/nvi => external/bsd/nvi/dist}/ip/ip_screen.c (86%) rename {dist/nvi => external/bsd/nvi/dist}/ip/ip_term.c (82%) rename {dist/nvi => external/bsd/nvi/dist}/ip/vipc.pl (100%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ip.h (96%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ip_run.c (82%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ip_send.c (89%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ip_trans.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ipc.awk (100%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ipc_cmd.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/ipc_method.c (89%) rename {dist/nvi => external/bsd/nvi/dist}/ipc/vipc.awk (100%) rename {dist/nvi => external/bsd/nvi/dist}/motif/m_cde.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/motif/m_main.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/motif/nvi.xbm (100%) rename {dist/nvi => external/bsd/nvi/dist}/motif/nvi.xpm (100%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/TODO (100%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_copypaste.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_func.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_menu.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_motif.h (93%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_options.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_prompt.c (93%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_ruler.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_search.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_tags.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_util.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/m_vi.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/vi_mextern.h (86%) rename {dist/nvi => external/bsd/nvi/dist}/motif_l/xtabbed.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/perl_api/VI.pod (100%) rename {dist/nvi => external/bsd/nvi/dist}/perl_api/nviperl.pod (100%) rename {dist/nvi => external/bsd/nvi/dist}/perl_api/perl.xs (99%) rename {dist/nvi => external/bsd/nvi/dist}/perl_api/perlsfio.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/perl_api/typemap (100%) rename {dist/nvi => external/bsd/nvi/dist}/perl_scripts/forall.pl (100%) rename {dist/nvi => external/bsd/nvi/dist}/perl_scripts/make.pl (100%) rename {dist/nvi => external/bsd/nvi/dist}/perl_scripts/tk.pl (100%) rename {dist/nvi => external/bsd/nvi/dist}/perl_scripts/wc.pl (100%) rename {dist/nvi => external/bsd/nvi/dist}/regex/COPYRIGHT (100%) rename {dist/nvi => external/bsd/nvi/dist}/regex/WHATSNEW (100%) rename {dist/nvi => external/bsd/nvi/dist}/regex/cclass.h (98%) rename {dist/nvi => external/bsd/nvi/dist}/regex/cname.h (98%) rename {dist/nvi => external/bsd/nvi/dist}/regex/engine.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/regex/re_format.7 (99%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regcomp.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regerror.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regex.3 (99%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regex.h (98%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regex2.h (99%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regexec.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/regex/regfree.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/regex/utils.h (97%) rename {dist/nvi => external/bsd/nvi/dist}/tcl_api/tcl.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/tcl_scripts/errors.tcl (92%) rename {dist/nvi => external/bsd/nvi/dist}/tcl_scripts/gnats.tcl (96%) rename {dist/nvi => external/bsd/nvi/dist}/tcl_scripts/mailprocs.tcl (96%) rename {dist/nvi => external/bsd/nvi/dist}/tcl_scripts/wc.tcl (79%) rename {dist/nvi => external/bsd/nvi/dist}/vi/getc.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_at.c (91%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_ch.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_cmd.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_delete.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_event.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_ex.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_increment.c (84%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_init.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_itxt.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_left.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_mark.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_match.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_paragraph.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_put.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_redraw.c (85%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_replace.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_right.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_screen.c (82%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_scroll.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_search.c (89%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_section.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_sentence.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_status.c (85%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_txt.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_ulcase.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_undo.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_util.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_word.c (99%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_xchar.c (94%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_yank.c (95%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_z.c (96%) rename {dist/nvi => external/bsd/nvi/dist}/vi/v_zexit.c (89%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vi.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vi.h (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vs_line.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vs_msg.c (97%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vs_refresh.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vs_relative.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vs_smap.c (98%) rename {dist/nvi => external/bsd/nvi/dist}/vi/vs_split.c (90%) create mode 100644 external/bsd/nvi/docs/Makefile create mode 100644 external/bsd/nvi/docs/USD.doc/Makefile rename {usr.bin => external/bsd}/nvi/docs/USD.doc/edit/Makefile (90%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/edit/edit.vindex (97%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/exref/Makefile (86%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vi.ref/Makefile (93%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vi.ref/ex.cmd.roff (99%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vi.ref/merge.awk (78%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vi.ref/set.opt.roff (99%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vi.ref/vi.cmd.roff (99%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vi.ref/vi.ref (99%) rename {usr.bin => external/bsd}/nvi/docs/USD.doc/vitut/Makefile (89%) rename {usr.bin => external/bsd}/nvi/docs/ev (100%) rename {usr.bin => external/bsd}/nvi/docs/help (100%) rename {usr.bin => external/bsd}/nvi/docs/info/Makefile (75%) rename {usr.bin => external/bsd}/nvi/docs/internals/autowrite (100%) rename {usr.bin => external/bsd}/nvi/docs/internals/context (100%) rename {usr.bin => external/bsd}/nvi/docs/internals/gdb.script (100%) rename {usr.bin => external/bsd}/nvi/docs/internals/input (100%) rename {usr.bin => external/bsd}/nvi/docs/internals/openmode (100%) rename {usr.bin => external/bsd}/nvi/docs/internals/quoting (100%) rename {usr.bin => external/bsd}/nvi/docs/internals/structures (100%) rename {dist => external/bsd}/nvi/nvi2netbsd (67%) mode change 100644 => 100755 create mode 100644 external/bsd/nvi/usr.bin/Makefile rename {usr.bin/nvi/build => external/bsd/nvi/usr.bin/nvi}/Makefile (53%) create mode 100644 external/bsd/nvi/usr.bin/nvi/compat.h rename {usr.bin/nvi/build => external/bsd/nvi/usr.bin/nvi}/config.h (80%) rename {dist/nvi/ipc => external/bsd/nvi/usr.bin/nvi}/ipc_gen.c (97%) rename {usr.bin/nvi/build => external/bsd/nvi/usr.bin/nvi}/pathnames.h (87%) rename {usr.bin/nvi/build => external/bsd/nvi/usr.bin/nvi}/port.h (96%) rename {usr.bin/nvi => external/bsd/nvi/usr.bin}/recover/Makefile (59%) rename {usr.bin/nvi => external/bsd/nvi/usr.bin}/recover/virecover (94%) rename {usr.bin/nvi => external/bsd/nvi/usr.bin}/recover/virecover.8 (96%) create mode 100755 external/gpl3/gcc/gcc2netbsd create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/coldfire.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmeb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmhf.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmhfeb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv4.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv4eb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv6.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv6eb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv6hf.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv6hfeb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv7.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv7eb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv7hf.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/earmv7hfeb.mk create mode 100644 external/gpl3/gcc/lib/crtstuff/arch/ia64.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/coldfire.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmeb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmhf.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmhfeb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv4.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv4eb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv6.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv6eb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv6hf.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv6hfeb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv7.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv7eb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv7hf.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/earmv7hfeb.mk create mode 100644 external/gpl3/gcc/lib/libgcc/arch/ia64.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/defs.mk create mode 100644 external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/gcov-iov.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/coldfire/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmeb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhf/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmhfeb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv4eb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6eb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hf/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7eb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hf/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/omp.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/ia64/config.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp.spec create mode 100644 external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp_f.h create mode 100644 external/gpl3/gcc/lib/libgomp/arch/ia64/omp.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libiberty/arch/ia64/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/coldfire/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmhf/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmhfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv4/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv4eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6hf/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7hf/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libobjc/arch/ia64/config.h create mode 100644 external/gpl3/gcc/lib/libobjc/arch/ia64/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/Makefile.inc create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++allocator.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/config.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/cxxabi_tweaks.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/defs.mk create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gstdint.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-default.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-posix.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-single.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-tpf.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr.h create mode 100644 external/gpl3/gcc/lib/libstdc++-v3/include/Makefile.inc create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmeb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhf/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/tm.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/all-tree.def create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/auto-host.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/bconfig.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/config.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/configargs.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/gthr-default.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/gtyp-input.list create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/multilib.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/plugin-version.h create mode 100644 external/gpl3/gcc/usr.bin/gcc/arch/ia64/tm.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libcpp/arch/ia64/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/coldfire/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhf/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hf/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7eb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hf/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hfeb/config.h create mode 100644 external/gpl3/gcc/usr.bin/libdecnumber/arch/ia64/config.h create mode 100644 external/historical/nawk/dist/ytab.c create mode 100644 external/historical/nawk/dist/ytab.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/arm/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/armeb/mp.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/coldfire/Makefile.inc create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.m4 create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp-mparam.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmeb/Makefile.inc create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.m4 create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp-mparam.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhf/Makefile.inc create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.m4 create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp-mparam.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/Makefile.inc create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.m4 create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp-mparam.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/hppa/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/i386/mp.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/ia64/Makefile.inc create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/ia64/config.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/ia64/config.m4 create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp-mparam.h create mode 100644 external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp.h rename external/lgpl3/gmp/lib/libgmp/arch/{alpha => ia64}/mp.h (100%) delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/m68000/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/m68k/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/mips64eb/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/mips64el/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/mipseb/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/mipsel/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/powerpc/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/sh3eb/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/sh3el/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/sparc/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/sparc64/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/vax/mp.h delete mode 100644 external/lgpl3/gmp/lib/libgmp/arch/x86_64/mp.h rename external/{lgpl2 => lgpl3}/mpc/fetch.sh (60%) rename external/{lgpl2 => lgpl3}/mpc/lib/libmpc/Makefile (82%) rename external/{lgpl2 => lgpl3}/mpc/lib/libmpc/config.h (88%) delete mode 100644 external/lgpl3/mpfr/lib/libmpfr/shlib_version delete mode 100644 include/heimdal/config.h delete mode 100644 include/heimdal/crypto-headers.h delete mode 100644 include/heimdal/hx509_err.h delete mode 100644 include/heimdal/krb5-types.h delete mode 100644 include/heimdal/krb_err.h delete mode 100644 include/heimdal/protos.h delete mode 100644 include/heimdal/roken.h delete mode 100644 include/heimdal/version.h delete mode 100644 include/minix/mount.h create mode 100755 lib/bumpversion create mode 100755 lib/checkoldver create mode 100755 lib/checkver create mode 100755 lib/checkvers create mode 100644 lib/csu/arch/alpha/Makefile.inc create mode 100644 lib/csu/arch/alpha/crt0.S create mode 100644 lib/csu/arch/alpha/crtbegin.h create mode 100644 lib/csu/arch/alpha/crtend.S create mode 100644 lib/csu/arch/alpha/crtfm.c create mode 100644 lib/csu/arch/alpha/crti.S create mode 100644 lib/csu/arch/alpha/crtn.S delete mode 100644 lib/csu/arch/arm/crtbegin.S create mode 100644 lib/csu/arch/arm/crtbegin.h delete mode 100644 lib/csu/arch/earm/crtbegin.S create mode 100644 lib/csu/arch/earm/crtbegin.h create mode 100644 lib/csu/arch/hppa/Makefile.inc create mode 100644 lib/csu/arch/hppa/crt0.S create mode 100644 lib/csu/arch/hppa/crtbegin.h create mode 100644 lib/csu/arch/hppa/crtend.S create mode 100644 lib/csu/arch/hppa/crti.S create mode 100644 lib/csu/arch/hppa/crtn.S create mode 100644 lib/csu/arch/m68k/crtbegin.h create mode 100644 lib/csu/arch/m68k/crtend.S create mode 100644 lib/csu/arch/mips/Makefile.inc create mode 100644 lib/csu/arch/mips/crt0.S create mode 100644 lib/csu/arch/mips/crtbegin.h create mode 100644 lib/csu/arch/mips/crtend.S create mode 100644 lib/csu/arch/mips/crti.S create mode 100644 lib/csu/arch/mips/crtn.S delete mode 100644 lib/csu/arch/powerpc/crtbegin.S create mode 100644 lib/csu/arch/powerpc/crtbegin.h create mode 100644 lib/csu/arch/sparc/crtbegin.h create mode 100644 lib/csu/arch/sparc/crtend.S create mode 100644 lib/csu/arch/sparc64/Makefile.inc rename lib/{libc/gen/minix/getprogname.c => csu/arch/sparc64/crt0.S} (58%) create mode 100644 lib/csu/arch/sparc64/crtbegin.h create mode 100644 lib/csu/arch/sparc64/crtend.S rename lib/csu/{hppa/dot_init.h => arch/sparc64/crti.S} (51%) rename lib/csu/{arm_elf/dot_init.h => arch/sparc64/crtn.S} (53%) create mode 100644 lib/csu/arch/vax/crtbegin.S create mode 100644 lib/csu/arch/vax/crtbegin.h create mode 100644 lib/csu/arch/vax/crtend.S delete mode 100644 lib/csu/arm_elf/Makefile delete mode 100644 lib/csu/arm_elf/crt0.c create mode 100644 lib/csu/common/compident.S create mode 100644 lib/csu/common/crtbegin.c delete mode 100644 lib/csu/hppa/Makefile delete mode 100644 lib/csu/hppa/crt0.c create mode 100644 lib/libc/arch/arm/gen/__aeabi_dcmpun.c create mode 100644 lib/libc/arch/arm/gen/__aeabi_fcmpun.c create mode 100644 lib/libc/arch/arm/hardfloat/fabs.S create mode 100644 lib/libc/arch/arm/misc/arm_initfini.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_dcmpeq.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_dcmple.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_dcmplt.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_dcmpun.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_fcmpeq.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_fcmple.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_fcmplt.c create mode 100644 lib/libc/arch/arm/softfloat/__aeabi_fcmpun.c create mode 100644 lib/libc/arch/arm/string/strncat_naive.S delete mode 100644 lib/libc/arch/m68k/gen/flt_rounds.S delete mode 100644 lib/libc/arch/m68k/gen/fpgetmask.S delete mode 100644 lib/libc/arch/m68k/gen/fpgetround.S delete mode 100644 lib/libc/arch/m68k/gen/fpgetsticky.S delete mode 100644 lib/libc/arch/m68k/gen/fpsetmask.S delete mode 100644 lib/libc/arch/m68k/gen/fpsetround.S delete mode 100644 lib/libc/arch/m68k/gen/fpsetsticky.S create mode 100644 lib/libc/arch/m68k/genassym.cf create mode 100644 lib/libc/arch/m68k/hardfloat/Makefile.inc rename lib/libc/arch/m68k/{gen => hardfloat}/adddf3.S (89%) rename lib/libc/arch/m68k/{gen => hardfloat}/addsf3.S (91%) rename lib/libc/arch/m68k/{gen => hardfloat}/cmpdf2.S (87%) rename lib/libc/arch/m68k/{gen => hardfloat}/cmpsf2.S (87%) rename lib/libc/arch/m68k/{gen => hardfloat}/divdf3.S (89%) rename lib/libc/arch/m68k/{gen => hardfloat}/divsf3.S (91%) rename lib/libc/arch/m68k/{gen => hardfloat}/extendsfdf2.S (89%) rename lib/libc/arch/m68k/{gen => hardfloat}/fixdfsi.S (92%) rename lib/libc/arch/m68k/{gen => hardfloat}/fixunsdfsi.S (81%) rename lib/libc/{stdio/sprintf.c => arch/m68k/hardfloat/fixunssfsi.S} (65%) rename lib/libc/arch/m68k/{gen => hardfloat}/floatsidf.S (89%) create mode 100644 lib/libc/arch/m68k/hardfloat/floatunsidf.S create mode 100644 lib/libc/arch/m68k/hardfloat/floatunsisf.S create mode 100644 lib/libc/arch/m68k/hardfloat/flt_rounds.c create mode 100644 lib/libc/arch/m68k/hardfloat/fpgetmask.c create mode 100644 lib/libc/arch/m68k/hardfloat/fpgetround.c create mode 100644 lib/libc/arch/m68k/hardfloat/fpgetsticky.c create mode 100644 lib/libc/arch/m68k/hardfloat/fpsetmask.c create mode 100644 lib/libc/arch/m68k/hardfloat/fpsetround.c create mode 100644 lib/libc/arch/m68k/hardfloat/fpsetsticky.c rename lib/libc/{string/_strerror_r.c => arch/m68k/hardfloat/ldexp_881.c} (75%) create mode 100644 lib/libc/arch/m68k/hardfloat/ledf2.S create mode 100644 lib/libc/arch/m68k/hardfloat/lesf2.S create mode 100644 lib/libc/arch/m68k/hardfloat/ltdf2.S create mode 100644 lib/libc/arch/m68k/hardfloat/ltsf2.S rename lib/libc/arch/m68k/{gen => hardfloat}/modf.S (85%) rename lib/libc/arch/m68k/{gen => hardfloat}/muldf3.S (89%) rename lib/libc/arch/m68k/{gen => hardfloat}/mulsf3.S (91%) create mode 100644 lib/libc/arch/m68k/hardfloat/nedf2.S create mode 100644 lib/libc/arch/m68k/hardfloat/nesf2.S rename lib/libc/arch/m68k/{gen => hardfloat}/subdf3.S (89%) rename lib/libc/arch/m68k/{gen => hardfloat}/subsf3.S (91%) rename lib/libc/arch/m68k/{gen => hardfloat}/truncdfsf2.S (92%) create mode 100644 lib/libc/arch/m68k/hardfloat/unorddf2.S create mode 100644 lib/libc/arch/m68k/hardfloat/unordsf2.S create mode 100644 lib/libc/arch/powerpc/misc/powerpc_initfini.c delete mode 100644 lib/libc/arch/sparc64/string/memset.S create mode 100644 lib/libc/compat/gen/compat_alloca.c create mode 100644 lib/libc/compat/sys/compat___lwp_park50.c create mode 100644 lib/libc/compiler_rt/Makefile.inc create mode 100644 lib/libc/db/db/dbfile.c create mode 100644 lib/libc/gen/floatunsidf_ieee754.c create mode 100644 lib/libc/gen/floatunsisf_ieee754.c delete mode 100644 lib/libc/gen/minix/siglist.c delete mode 100644 lib/libc/locale/_def_messages.c delete mode 100644 lib/libc/locale/_def_monetary.c delete mode 100644 lib/libc/locale/_def_numeric.c delete mode 100644 lib/libc/locale/_def_time.c rename lib/{libelf/elf.c => libc/locale/duplocale.c} (72%) rename lib/libc/locale/{current_locale.c => freelocale.c} (75%) create mode 100644 lib/libc/locale/newlocale.c create mode 100644 lib/libc/net/hostent.h create mode 100644 lib/libc/net/inet6_getscopeid.3 create mode 100644 lib/libc/net/inet6_scopeid.c delete mode 100644 lib/libc/net/iso_addr.3 delete mode 100644 lib/libc/nls/_catclose.c delete mode 100644 lib/libc/nls/_catgets.c delete mode 100644 lib/libc/nls/_catopen.c rename lib/libc/{stdio/snprintf.c => quad/fixdfdi_ieee754.c} (57%) rename lib/libc/{locale/runetype_misc.h => quad/fixsfdi_ieee754.c} (56%) create mode 100644 lib/libc/quad/fixunsdfdi_ieee754.c create mode 100644 lib/libc/quad/fixunssfdi_ieee754.c create mode 100644 lib/libc/quad/floatdidf_ieee754.c create mode 100644 lib/libc/quad/floatdisf_ieee754.c create mode 100644 lib/libc/quad/floatundidf_ieee754.c create mode 100644 lib/libc/quad/floatundisf_ieee754.c create mode 100644 lib/libc/rpc/svc_fdset.c create mode 100644 lib/libc/rpc/svc_fdset.h create mode 100644 lib/libc/ssp/stpcpy_chk.c create mode 100644 lib/libc/ssp/stpncpy_chk.c delete mode 100644 lib/libc/stdio/asprintf.c create mode 100644 lib/libc/stdlib/at_quick_exit.3 create mode 100644 lib/libc/stdlib/quick_exit.3 create mode 100644 lib/libc/stdlib/quick_exit.c delete mode 100644 lib/libc/string/_strlcat.c create mode 100644 lib/libc/string/consttime_memequal.3 create mode 100644 lib/libc/string/explicit_memset.3 create mode 100644 lib/libc/sys/mknodat.c create mode 100644 lib/libc/thread-stub/thread-stub-init.c create mode 100644 lib/libc_vfp/Makefile rename {external/lgpl2/mpc/lib/libmpc => lib/libc_vfp}/shlib_version (51%) create mode 100644 lib/libc_vfp/vfpdf.S create mode 100644 lib/libc_vfp/vfpsf.S create mode 100644 lib/libcompat_minix/include/Makefile delete mode 100644 lib/libcompat_minix/include/Makefile.inc create mode 100644 lib/libcompat_minix/include/earm/Makefile rename lib/libcompat_minix/include/{evbarm => earm}/compat_jmp_buf.h (100%) create mode 100644 lib/libcompat_minix/include/i386/Makefile create mode 100644 lib/libcompat_minix/include/net/Makefile create mode 100644 lib/libcompat_minix/include/net/gen/Makefile create mode 100644 lib/libcompat_minix/include/sys/Makefile delete mode 100644 lib/libelf/README.build delete mode 100644 lib/libelf/_elftc.h delete mode 100644 lib/libelf/_libelf_config.h delete mode 100644 lib/libelf/compat/mmap.c delete mode 100644 lib/libelf/elf_getphdrnum.3 delete mode 100644 lib/libelf/elf_getshdrnum.3 delete mode 100644 lib/libelf/elf_getshdrstrndx.3 delete mode 100644 lib/libelf/elfdefinitions.h delete mode 100644 lib/libelf/libelf_ar.c delete mode 100644 lib/libelf/libelf_ar_util.c delete mode 100644 lib/libelf/libelf_compat.h create mode 100644 lib/libexecinfo/Makefile create mode 100644 lib/libexecinfo/backtrace.3 create mode 100644 lib/libexecinfo/backtrace.c create mode 100644 lib/libexecinfo/builtin.c create mode 100644 lib/libexecinfo/execinfo.h create mode 100644 lib/libexecinfo/shlib_version create mode 100644 lib/libexecinfo/symtab.c create mode 100644 lib/libexecinfo/symtab.h create mode 100644 lib/libexecinfo/unwind.c create mode 100644 lib/libexecinfo/unwind.h create mode 100644 lib/libexecinfo/unwind_arm_ehabi_stub.c create mode 100644 lib/libm/arch/alpha/lrint.S create mode 100644 lib/libm/arch/alpha/s_copysign.S create mode 100644 lib/libm/arch/alpha/s_copysignf.S create mode 100644 lib/libm/arch/arm/e_sqrt.S create mode 100644 lib/libm/arch/arm/e_sqrtf.S create mode 100644 lib/libm/arch/arm/fenv.c create mode 100644 lib/libm/arch/arm/lrint.S create mode 100644 lib/libm/arch/arm/lrintf.S create mode 100644 lib/libm/arch/arm/s_fabsf.S create mode 100644 lib/libm/arch/arm/s_fma.S create mode 100644 lib/libm/arch/arm/s_fmaf.S create mode 100644 lib/libm/arch/i387/s_ilogbl.S create mode 100644 lib/libm/arch/i387/s_logbl.S create mode 100644 lib/libm/arch/i387/s_scalbnl.S create mode 100644 lib/libm/arch/m68060/Makefile create mode 100644 lib/libm/arch/m68060/Makefile.list create mode 100644 lib/libm/arch/m68060/Readme.NetBSD create mode 100644 lib/libm/arch/m68060/e_acos.S create mode 100644 lib/libm/arch/m68060/e_acosf.S create mode 100644 lib/libm/arch/m68060/e_asin.S create mode 100644 lib/libm/arch/m68060/e_asinf.S create mode 100644 lib/libm/arch/m68060/e_atanh.S create mode 100644 lib/libm/arch/m68060/e_atanhf.S create mode 100644 lib/libm/arch/m68060/e_cosh.S create mode 100644 lib/libm/arch/m68060/e_coshf.S create mode 100644 lib/libm/arch/m68060/e_exp.S create mode 100644 lib/libm/arch/m68060/e_expf.S create mode 100644 lib/libm/arch/m68060/e_log.S create mode 100644 lib/libm/arch/m68060/e_log10.S create mode 100644 lib/libm/arch/m68060/e_log10f.S create mode 100644 lib/libm/arch/m68060/e_logf.S create mode 100644 lib/libm/arch/m68060/e_sinh.S create mode 100644 lib/libm/arch/m68060/e_sinhf.S create mode 100644 lib/libm/arch/m68060/e_sqrt.S create mode 100644 lib/libm/arch/m68060/e_sqrtf.S create mode 100644 lib/libm/arch/m68060/fplsp.hex create mode 100644 lib/libm/arch/m68060/fplsp_wrap.S create mode 100644 lib/libm/arch/m68060/k_tan.S create mode 100644 lib/libm/arch/m68060/k_tanf.S create mode 100644 lib/libm/arch/m68060/makeas.sh create mode 100644 lib/libm/arch/m68060/makeoffs.awk create mode 100644 lib/libm/arch/m68060/s_atan.S create mode 100644 lib/libm/arch/m68060/s_atanf.S create mode 100644 lib/libm/arch/m68060/s_cos.S create mode 100644 lib/libm/arch/m68060/s_cosf.S create mode 100644 lib/libm/arch/m68060/s_expm1.S create mode 100644 lib/libm/arch/m68060/s_expm1f.S create mode 100644 lib/libm/arch/m68060/s_log1p.S create mode 100644 lib/libm/arch/m68060/s_log1pf.S create mode 100644 lib/libm/arch/m68060/s_logb.S create mode 100644 lib/libm/arch/m68060/s_logbf.S create mode 100644 lib/libm/arch/m68060/s_sin.S create mode 100644 lib/libm/arch/m68060/s_sinf.S create mode 100644 lib/libm/arch/m68060/s_tan.S create mode 100644 lib/libm/arch/m68060/s_tanf.S create mode 100644 lib/libm/arch/m68060/s_tanh.S create mode 100644 lib/libm/arch/m68060/s_tanhf.S create mode 100644 lib/libm/arch/m68k/s_ceil.S create mode 100644 lib/libm/arch/m68k/s_copysign.S create mode 100644 lib/libm/arch/m68k/s_finite.S create mode 100644 lib/libm/arch/m68k/s_floor.S create mode 100644 lib/libm/arch/m68k/s_rint.S create mode 100644 lib/libm/arch/mc68881/e_acos.S create mode 100644 lib/libm/arch/mc68881/e_asin.S create mode 100644 lib/libm/arch/mc68881/e_atanh.S create mode 100644 lib/libm/arch/mc68881/e_cosh.S create mode 100644 lib/libm/arch/mc68881/e_exp.S create mode 100644 lib/libm/arch/mc68881/e_fmod.S create mode 100644 lib/libm/arch/mc68881/e_log.S create mode 100644 lib/libm/arch/mc68881/e_log10.S create mode 100644 lib/libm/arch/mc68881/e_remainder.S create mode 100644 lib/libm/arch/mc68881/e_scalb.S create mode 100644 lib/libm/arch/mc68881/e_sinh.S create mode 100644 lib/libm/arch/mc68881/e_sqrt.S create mode 100644 lib/libm/arch/mc68881/s_atan.S create mode 100644 lib/libm/arch/mc68881/s_cos.S create mode 100644 lib/libm/arch/mc68881/s_expm1.S create mode 100644 lib/libm/arch/mc68881/s_log1p.S create mode 100644 lib/libm/arch/mc68881/s_logb.S create mode 100644 lib/libm/arch/mc68881/s_scalbn.S create mode 100644 lib/libm/arch/mc68881/s_sin.S create mode 100644 lib/libm/arch/mc68881/s_tan.S create mode 100644 lib/libm/arch/mc68881/s_tanh.S create mode 100644 lib/libm/arch/sparc/fenv.c create mode 100644 lib/libm/arch/sparc64/fenv.c create mode 100644 lib/libm/arch/vax/n_argred.S create mode 100644 lib/libm/arch/vax/n_atan2.S create mode 100644 lib/libm/arch/vax/n_cabs.S create mode 100644 lib/libm/arch/vax/n_cbrt.S create mode 100644 lib/libm/arch/vax/n_infnan.S create mode 100644 lib/libm/arch/vax/n_scalbn.S create mode 100644 lib/libm/arch/vax/n_sincos.S create mode 100644 lib/libm/arch/vax/n_sqrt.S create mode 100644 lib/libm/arch/vax/n_support.S create mode 100644 lib/libm/arch/vax/n_tan.S create mode 100644 lib/libm/compiler_rt/Makefile.inc create mode 100644 lib/libm/man/copysign.3 rename lib/libm/man/{floor.3 => finite.3} (67%) delete mode 100644 lib/libm/man/ieee.3 create mode 100644 lib/libm/man/ilogb.3 create mode 100644 lib/libm/man/log.3 create mode 100644 lib/libm/man/nextafter.3 create mode 100644 lib/libm/man/pow.3 create mode 100644 lib/libm/man/remainder.3 create mode 100644 lib/libm/man/scalbn.3 create mode 100644 lib/libm/src/b_exp.c create mode 100644 lib/libm/src/b_log.c create mode 100644 lib/libm/src/b_tgamma.c create mode 100644 lib/libm/src/e_fmodl.c create mode 100644 lib/libm/src/e_sqrtl.c create mode 100644 lib/libm/src/ldbl_dummy.c create mode 100644 lib/libm/src/s_cbrtl.c create mode 100644 lib/libm/src/s_ceill.c create mode 100644 lib/libm/src/s_floorl.c create mode 100644 lib/libm/src/s_fma.c create mode 100644 lib/libm/src/s_fmaf.c create mode 100644 lib/libm/src/s_fmal.c create mode 100644 lib/libm/src/s_frexpl.c create mode 100644 lib/libm/src/s_ilogbl.c delete mode 100644 lib/libm/src/s_ldexp.c delete mode 100644 lib/libm/src/s_ldexpf.c create mode 100644 lib/libm/src/s_logbl.c create mode 100644 lib/libm/src/s_nan.c create mode 100644 lib/libm/src/s_nearbyint.c create mode 100644 lib/libm/src/s_nexttowardf.c create mode 100644 lib/libm/src/s_remquo.c create mode 100644 lib/libm/src/s_remquof.c create mode 100644 lib/libm/src/s_rintl.c rename lib/{libc/string/_strlcpy.c => libm/src/s_roundl.c} (63%) create mode 100644 lib/libm/src/s_scalbnl.c rename lib/{libelf/_libelf_ar.h => libm/src/s_tgammaf.c} (57%) create mode 100644 lib/libm/src/s_truncl.c create mode 100644 lib/libm/src/w_fmodl.c create mode 100644 lib/libm/src/w_sqrtl.c create mode 100644 lib/libminc/_snprintf.c create mode 100644 lib/libminc/atoi.c create mode 100644 lib/libminc/strtol.c create mode 100644 lib/libpuffs/TODO create mode 100644 lib/libpuffs/dispatcher.c create mode 100644 lib/libpuffs/flush.c create mode 100644 lib/libpuffs/framebuf.c delete mode 100644 lib/libpuffs/mntopts.h create mode 100644 lib/libpuffs/opdump.c create mode 100644 lib/libpuffs/paths.c create mode 100644 lib/libpuffs/puffs_flush.3 create mode 100644 lib/libpuffs/puffs_framebuf.3 delete mode 100644 lib/libpuffs/puffs_msgif.h create mode 100644 lib/libpuffs/puffsdump.h create mode 100644 lib/libpuffs/requests.c create mode 100644 lib/libpuffs/suspend.c delete mode 100644 lib/libsys/vm_umap.c delete mode 100644 lib/libsys/vprintf.c create mode 100644 lib/libutil/getbyteorder.3 create mode 100644 lib/libutil/getbyteorder.c create mode 100644 lib/lua/syslog/Makefile create mode 100644 lib/lua/syslog/syslog.c create mode 100644 libexec/ld.elf_so/arch/arm/find_exidx.c delete mode 100644 sbin/fsck_ext2fs/ext2fs_bswap.c create mode 100644 share/mk/bsd.buildinstall.mk create mode 100644 sys/arch/README create mode 100644 sys/arch/arm/include/Makefile.common create mode 100644 sys/arch/arm/include/apmvar.h create mode 100644 sys/arch/arm/include/common/fenv.h create mode 100644 sys/arch/arm/include/ehabi.h create mode 100644 sys/arch/arm/include/fenv.h create mode 100644 sys/arch/arm/include/joystick.h create mode 100644 sys/arch/arm/include/locore.h create mode 100644 sys/arch/arm/include/vmparam.h create mode 100644 sys/arch/evbarm/include/aout_machdep.h create mode 100644 sys/arch/evbarm/include/atomic.h create mode 100644 sys/arch/evbarm/include/autoconf.h rename sys/arch/{arm/include/fp.h => evbarm/include/bootconfig.h} (57%) create mode 100644 sys/arch/evbarm/include/bus_defs.h create mode 100644 sys/arch/evbarm/include/bus_funcs.h create mode 100644 sys/arch/evbarm/include/cpu_counter.h create mode 100644 sys/arch/evbarm/include/db_machdep.h create mode 100644 sys/arch/evbarm/include/intr.h create mode 100644 sys/arch/evbarm/include/isa_machdep.h create mode 100644 sys/arch/evbarm/include/joystick.h create mode 100644 sys/arch/evbarm/include/loadfile_machdep.h create mode 100644 sys/arch/evbarm/include/netbsd32_machdep.h create mode 100644 sys/arch/evbarm/include/pcb.h create mode 100644 sys/arch/evbarm/include/pci_machdep.h create mode 100644 sys/arch/evbarm/include/pio.h create mode 100644 sys/arch/evbarm/include/pmap.h create mode 100644 sys/arch/evbarm/include/pmc.h create mode 100644 sys/arch/evbarm/include/reg.h create mode 100644 sys/arch/evbarm/include/sysarch.h create mode 100644 sys/arch/evbarm/include/trap.h create mode 100644 sys/arch/i386/conf/stand.ldscript create mode 100644 sys/compat/sys/clockctl.h create mode 100644 sys/compat/sys/cpuio.h create mode 100644 sys/compat/sys/dirent.h create mode 100644 sys/compat/sys/event.h create mode 100644 sys/compat/sys/ipc.h create mode 100644 sys/compat/sys/mman.h create mode 100644 sys/compat/sys/mount.h create mode 100644 sys/compat/sys/msg.h create mode 100644 sys/compat/sys/poll.h create mode 100644 sys/compat/sys/resource.h create mode 100644 sys/compat/sys/rnd.h create mode 100644 sys/compat/sys/select.h create mode 100644 sys/compat/sys/sem.h create mode 100644 sys/compat/sys/shm.h create mode 100644 sys/compat/sys/siginfo.h create mode 100644 sys/compat/sys/signal.h create mode 100644 sys/compat/sys/signalvar.h create mode 100644 sys/compat/sys/sigtypes.h create mode 100644 sys/compat/sys/socket.h create mode 100644 sys/compat/sys/sockio.h create mode 100644 sys/compat/sys/stat.h create mode 100644 sys/compat/sys/time.h create mode 100644 sys/compat/sys/time_types.h create mode 100644 sys/compat/sys/times.h create mode 100644 sys/compat/sys/timex.h create mode 100644 sys/compat/sys/ttycom.h create mode 100644 sys/compat/sys/ucontext.h create mode 100644 sys/compat/sys/wait.h create mode 100644 sys/fs/Makefile create mode 100644 sys/fs/cd9660/Makefile create mode 100644 sys/fs/cd9660/TODO create mode 100644 sys/fs/cd9660/TODO.hibler create mode 100644 sys/fs/cd9660/cd9660_bmap.c create mode 100644 sys/fs/cd9660/cd9660_extern.h create mode 100644 sys/fs/cd9660/cd9660_lookup.c create mode 100644 sys/fs/cd9660/cd9660_mount.h create mode 100644 sys/fs/cd9660/cd9660_node.c create mode 100644 sys/fs/cd9660/cd9660_node.h create mode 100644 sys/fs/cd9660/cd9660_rrip.c create mode 100644 sys/fs/cd9660/cd9660_rrip.h create mode 100644 sys/fs/cd9660/cd9660_util.c create mode 100644 sys/fs/cd9660/cd9660_vfsops.c create mode 100644 sys/fs/cd9660/cd9660_vnops.c create mode 100644 sys/fs/cd9660/files.cd9660 create mode 100644 sys/fs/cd9660/iso_rrip.h create mode 100644 sys/fs/msdosfs/Makefile create mode 100644 sys/fs/msdosfs/TODO create mode 100644 sys/fs/msdosfs/bootsect.h create mode 100644 sys/fs/msdosfs/denode.h create mode 100644 sys/fs/msdosfs/fat.h create mode 100644 sys/fs/msdosfs/files.msdosfs create mode 100644 sys/fs/msdosfs/msdosfs_conv.c create mode 100644 sys/fs/msdosfs/msdosfs_denode.c create mode 100644 sys/fs/msdosfs/msdosfs_fat.c create mode 100644 sys/fs/msdosfs/msdosfs_lookup.c create mode 100644 sys/fs/msdosfs/msdosfs_vfsops.c create mode 100644 sys/fs/msdosfs/msdosfs_vnops.c create mode 100644 sys/fs/msdosfs/msdosfsmount.h create mode 100644 sys/fs/puffs/Makefile create mode 100644 sys/fs/puffs/TODO create mode 100644 sys/fs/puffs/files.puffs create mode 100644 sys/fs/puffs/puffs_compat.c create mode 100644 sys/fs/puffs/puffs_msgif.c create mode 100644 sys/fs/puffs/puffs_msgif.h create mode 100644 sys/fs/puffs/puffs_node.c create mode 100644 sys/fs/puffs/puffs_subr.c create mode 100644 sys/fs/puffs/puffs_sys.h create mode 100644 sys/fs/puffs/puffs_vfsops.c create mode 100644 sys/fs/puffs/puffs_vnops.c create mode 100644 sys/fs/unicode.h rename sys/lib/{libsa => libkern}/xlat_mbr_fstype.c (92%) create mode 100644 sys/sys/lua.h create mode 100644 sys/sys/physmap.h create mode 100644 sys/sys/rndsink.h create mode 100644 sys/sys/vmem_impl.h delete mode 100644 sys/ufs/chfs/debug.c create mode 100644 sys/ufs/ext2fs/ext2fs_rename.c create mode 100644 sys/ufs/lfs/README.wc create mode 100644 sys/ufs/lfs/lfs_inode.h create mode 100644 sys/ufs/lfs/lfs_kernel.h create mode 100644 sys/ufs/lfs/lfs_rename.c create mode 100644 sys/ufs/lfs/ulfs_bmap.c create mode 100644 sys/ufs/lfs/ulfs_bswap.h create mode 100644 sys/ufs/lfs/ulfs_dinode.h create mode 100644 sys/ufs/lfs/ulfs_dirhash.c create mode 100644 sys/ufs/lfs/ulfs_dirhash.h create mode 100644 sys/ufs/lfs/ulfs_extattr.c create mode 100644 sys/ufs/lfs/ulfs_extattr.h create mode 100644 sys/ufs/lfs/ulfs_extern.h create mode 100644 sys/ufs/lfs/ulfs_ihash.c create mode 100644 sys/ufs/lfs/ulfs_inode.c create mode 100644 sys/ufs/lfs/ulfs_inode.h create mode 100644 sys/ufs/lfs/ulfs_lookup.c create mode 100644 sys/ufs/lfs/ulfs_quota.c create mode 100644 sys/ufs/lfs/ulfs_quota.h create mode 100644 sys/ufs/lfs/ulfs_quota1.c create mode 100644 sys/ufs/lfs/ulfs_quota1.h create mode 100644 sys/ufs/lfs/ulfs_quota1_subr.c create mode 100644 sys/ufs/lfs/ulfs_quota2.c create mode 100644 sys/ufs/lfs/ulfs_quota2.h create mode 100644 sys/ufs/lfs/ulfs_quota2_subr.c create mode 100644 sys/ufs/lfs/ulfs_quotacommon.h create mode 100644 sys/ufs/lfs/ulfs_readwrite.c create mode 100644 sys/ufs/lfs/ulfs_snapshot.c create mode 100644 sys/ufs/lfs/ulfs_vfsops.c create mode 100644 sys/ufs/lfs/ulfs_vnops.c create mode 100644 sys/ufs/lfs/ulfsmount.h create mode 100644 sys/ufs/ufs/ufs_rename.c create mode 100644 sys/uvm/pmap/pmap_tlb.h create mode 100644 tests/lib/csu/arch/hppa/h_initfini_align.S create mode 100644 tests/lib/csu/arch/sparc64/h_initfini_align.S create mode 100644 tests/lib/libc/net/h_hostent.c create mode 100644 tests/lib/libc/net/hosts create mode 100644 tests/lib/libc/net/t_hostent.sh create mode 100644 tests/lib/libm/t_fmod.c create mode 100644 tests/lib/libm/t_precision.c create mode 100644 tests/net/mpls/Makefile create mode 100755 tests/net/mpls/t_ldp_regen.sh create mode 100644 tests/net/mpls/t_mpls_fw.sh create mode 100644 tests/net/mpls/t_rfc4182.sh create mode 100644 tests/net/net/t_tcp.c create mode 100644 tests/usr.bin/tr/Makefile create mode 100644 tests/usr.bin/tr/t_basic.sh create mode 100755 tools/binstall/mkmanifest create mode 100644 tools/compat/cdbr.h create mode 100644 tools/compat/cdbw.h create mode 100644 tools/compat/dprintf.c create mode 100644 tools/compat/fs/msdosfs/bootsect.h create mode 100644 tools/compat/fs/msdosfs/bpb.h create mode 100644 tools/compat/fs/msdosfs/denode.h create mode 100644 tools/compat/fs/msdosfs/direntry.h create mode 100644 tools/compat/fs/msdosfs/fat.h create mode 100644 tools/compat/fs/msdosfs/msdosfsmount.h create mode 100644 tools/compat/rmd160.h create mode 100644 tools/compat/sha1.h create mode 100644 tools/compat/sha2.h delete mode 100644 usr.bin/make/Makefile.bak create mode 100644 usr.bin/make/unit-tests/export-env create mode 100644 usr.bin/make/unit-tests/order create mode 100644 usr.bin/make/unit-tests/sunshcmd delete mode 100644 usr.bin/nvi/Makefile.inc delete mode 100644 usr.bin/nvi/docs/Makefile delete mode 100644 usr.bin/nvi/docs/USD.doc/Makefile create mode 100644 usr.sbin/mtree/only.c create mode 100644 usr.sbin/zic/Makefile.inc diff --git a/Makefile b/Makefile index 73ca3efa5..f9c51feb3 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.299 2012/08/17 16:22:27 joerg Exp $ +# $NetBSD: Makefile,v 1.303 2013/07/16 09:52:21 joerg Exp $ # # This is the top-level makefile for building NetBSD. For an outline of @@ -87,11 +87,11 @@ # do-top-obj: creates the top level object directory. # do-tools-obj: creates object directories for the host toolchain. # do-tools: builds host toolchain. +# params: record the values of variables that might affect the +# build. # obj: creates object directories. # do-distrib-dirs: creates the distribution directories. # includes: installs include files. -# do-tools-compat: builds the "libnbcompat" library; needed for some -# random host tool programs in the source tree. # do-lib: builds and installs prerequisites from lib # if ${MKCOMPAT} != "no". # do-compat-lib: builds and installs prerequisites from compat/lib @@ -137,15 +137,14 @@ _SRC_TOP_OBJ_= # _SUBDIR is used to set SUBDIR, after removing directories that have # BUILD_${dir}=no, or that have no ${dir}/Makefile. # -_SUBDIR= tools lib .WAIT include gnu external crypto/external bin games -_SUBDIR+= libexec sbin usr.bin -_SUBDIR+= commands man -_SUBDIR+= common drivers kernel servers -_SUBDIR+= usr.sbin share rescue sys etc test tests compat .WAIT distrib regress - +_SUBDIR= tools lib include gnu external crypto/external bin games .if defined(__MINIX) -_SUBDIR+= benchmarks -.endif +_SUBDIR+= commands man benchmarks test +_SUBDIR+= kernel servers drivers +.endif # defined(__MINIX) +_SUBDIR+= libexec sbin usr.bin +_SUBDIR+= usr.sbin share sys etc tests compat +_SUBDIR+= .WAIT rescue .WAIT distrib regress .for dir in ${_SUBDIR} .if "${dir}" == ".WAIT" \ @@ -232,6 +231,7 @@ BUILDTARGETS+= do-tools-obj .endif BUILDTARGETS+= do-tools .endif # USETOOLS # } +BUILDTARGETS+= params .if ${MKOBJDIRS} != "no" BUILDTARGETS+= obj .endif @@ -264,6 +264,32 @@ BUILDTARGETS+= do-obsolete includes-lib: .PHONY includes-include includes-sys includes-gnu: .PHONY includes-lib +# +# Record the values of variables that might affect the build. +# If no values have changed, avoid updating the timestamp +# of the params file. +# +# This is referenced by _NETBSD_VERSION_DEPENDS in . +# +.include "${NETBSDSRCDIR}/etc/Makefile.params" +CLEANDIRFILES+= params +params: .EXEC + ${_MKMSG_CREATE} params + @${PRINT_PARAMS} >${.TARGET}.new + @if cmp -s ${.TARGET}.new ${.TARGET} > /dev/null 2>&1; then \ + : "params is unchanged" ; \ + rm ${.TARGET}.new ; \ + else \ + : "params has changed or is new" ; \ + mv ${.TARGET}.new ${.TARGET} ; \ + fi + +# +# Display current make(1) parameters +# +show-params: .PHONY .MAKE + @${PRINT_PARAMS} + # # Build the system and install into DESTDIR. # @@ -342,7 +368,7 @@ installworld: .PHONY .MAKE .endif .if !defined(INSTALLWORLDDIR) || \ ${INSTALLWORLDDIR} == "" || ${INSTALLWORLDDIR} == "/" -.if (${HOST_UNAME_S} != "Minix") +.if (${HOST_UNAME_S} != "NetBSD") && (${HOST_UNAME_S} != "Minix") @echo "Won't cross-make ${.TARGET} from ${HOST_UNAME_S} to Minix with INSTALLWORLDDIR=/" @false .endif @@ -468,12 +494,8 @@ do-${targ}: .PHONY ${targ} @true .endfor -.for dir in tools tools/compat -do-${dir:S/\//-/g}: .PHONY .MAKE -.for targ in dependall install - ${MAKEDIRTARGET} ${dir} ${targ} -.endfor -.endfor +do-tools: .PHONY .MAKE + ${MAKEDIRTARGET} tools build_install do-lib: .PHONY .MAKE ${MAKEDIRTARGET} lib build_install @@ -540,9 +562,3 @@ dependall-distrib depend-distrib all-distrib: .PHONY .include .include .include - -# -# Display current make(1) parameters -# -params: .PHONY .MAKE - ${MAKEDIRTARGET} etc params diff --git a/Makefile.inc b/Makefile.inc new file mode 100644 index 000000000..def3c2ec7 --- /dev/null +++ b/Makefile.inc @@ -0,0 +1,16 @@ +# $NetBSD: Makefile.inc,v 1.4 2002/04/10 14:53:43 lukem Exp $ + +.ifndef ABSTOP +ABSTOP!= cd ${.PARSEDIR}; pwd + +.if (${.PARSEDIR} == ${.CURDIR}) +RELTOP:= . +.else +RELTOP:= ${.PARSEDIR:S,^${.CURDIR},,} +.endif + +# you can set BSD{SRC,OBJ}DIR in Makefile.local.inc +.if exists(${ABSTOP}/Makefile.local.inc) +.include "${ABSTOP}/Makefile.local.inc" +.endif +.endif diff --git a/bin/Makefile b/bin/Makefile index 94699f456..fd20021cd 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -1,7 +1,8 @@ # $NetBSD: Makefile,v 1.22 2007/12/31 15:31:24 ad Exp $ # @(#)Makefile 8.1 (Berkeley) 5/31/93 -SUBDIR= cat date df echo ed expr kill ksh ln ls \ - mkdir pax pwd rm rmdir sync test stty +SUBDIR= cat date df echo ed expr \ + kill ksh ln ls mkdir pax pwd rm rmdir \ + stty sync test .include diff --git a/bin/cat/cat.1 b/bin/cat/cat.1 index d2e07539d..92789f887 100644 --- a/bin/cat/cat.1 +++ b/bin/cat/cat.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: cat.1,v 1.34 2012/08/09 07:26:28 dholland Exp $ +.\" $NetBSD: cat.1,v 1.36 2012/11/10 18:41:10 wiz Exp $ .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -32,7 +32,7 @@ .\" .\" @(#)cat.1 8.3 (Berkeley) 5/2/95 .\" -.Dd April 6, 2012 +.Dd November 10, 2012 .Dt CAT 1 .Os .Sh NAME @@ -41,6 +41,7 @@ .Sh SYNOPSIS .Nm .Op Fl beflnstuv +.Op Fl B Ar bsize .Op Fl .Op Ar .Sh DESCRIPTION @@ -65,6 +66,11 @@ is just a verbose synonym for .Pp The options are as follows: .Bl -tag -width Ds +.It Fl B Ar bsize +Read with a buffer size of +.Ar bsize +bytes, instead of the default buffer size which is the blocksize of the +output file. .It Fl b Implies the .Fl n diff --git a/bin/cat/cat.c b/bin/cat/cat.c index 176aeb986..71693b422 100644 --- a/bin/cat/cat.c +++ b/bin/cat/cat.c @@ -1,4 +1,4 @@ -/* $NetBSD: cat.c,v 1.48 2012/03/17 23:35:28 christos Exp $ */ +/* $NetBSD: cat.c,v 1.52 2012/11/19 19:41:31 christos Exp $ */ /* * Copyright (c) 1989, 1993 @@ -44,7 +44,7 @@ __COPYRIGHT( #if 0 static char sccsid[] = "@(#)cat.c 8.2 (Berkeley) 4/27/95"; #else -__RCSID("$NetBSD: cat.c,v 1.48 2012/03/17 23:35:28 christos Exp $"); +__RCSID("$NetBSD: cat.c,v 1.52 2012/11/19 19:41:31 christos Exp $"); #endif #endif /* not lint */ @@ -61,11 +61,11 @@ __RCSID("$NetBSD: cat.c,v 1.48 2012/03/17 23:35:28 christos Exp $"); #include #include -int bflag, eflag, fflag, lflag, nflag, sflag, tflag, vflag; -int rval; -const char *filename; +static int bflag, eflag, fflag, lflag, nflag, sflag, tflag, vflag; +static size_t bsize; +static int rval; +static const char *filename; -int main(int, char *[]); void cook_args(char *argv[]); void cook_buf(FILE *); void raw_args(char *argv[]); @@ -80,8 +80,11 @@ main(int argc, char *argv[]) setprogname(argv[0]); (void)setlocale(LC_ALL, ""); - while ((ch = getopt(argc, argv, "beflnstuv")) != -1) + while ((ch = getopt(argc, argv, "B:beflnstuv")) != -1) switch (ch) { + case 'B': + bsize = (size_t)strtol(optarg, NULL, 0); + break; case 'b': bflag = nflag = 1; /* -b implies -n */ break; @@ -112,9 +115,9 @@ main(int argc, char *argv[]) default: case '?': (void)fprintf(stderr, - "usage: cat [-beflnstuv] [-] [file ...]\n"); - exit(EXIT_FAILURE); - /* NOTREACHED */ + "Usage: %s [-beflnstuv] [-B bsize] [-] " + "[file ...]\n", getprogname()); + return EXIT_FAILURE; } argv += optind; @@ -133,7 +136,7 @@ main(int argc, char *argv[]) raw_args(argv); if (fclose(stdout)) err(EXIT_FAILURE, "stdout"); - return (rval); + return rval; } void @@ -286,7 +289,6 @@ raw_cat(int rfd) { static char *buf; static char fb_buf[BUFSIZ]; - static size_t bsize; ssize_t nr, nw, off; int wfd; @@ -295,10 +297,15 @@ raw_cat(int rfd) if (buf == NULL) { struct stat sbuf; - if (fstat(wfd, &sbuf) == 0 && sbuf.st_blksize > 0 && - (size_t)sbuf.st_blksize > sizeof(fb_buf)) { - bsize = sbuf.st_blksize; + if (bsize == 0) { + if (fstat(wfd, &sbuf) == 0 && sbuf.st_blksize > 0 && + (size_t)sbuf.st_blksize > sizeof(fb_buf)) + bsize = sbuf.st_blksize; + } + if (bsize > sizeof(fb_buf)) { buf = malloc(bsize); + if (buf == NULL) + warnx("malloc, using %zu buffer", bsize); } if (buf == NULL) { bsize = sizeof(fb_buf); diff --git a/bin/date/Makefile b/bin/date/Makefile index 0735d7f2a..2c60862b2 100644 --- a/bin/date/Makefile +++ b/bin/date/Makefile @@ -7,9 +7,6 @@ DPADD+= ${LIBUTIL} LDADD+= -lutil CPPFLAGS+=-I${.CURDIR} -TZDIR= /usr/share/zoneinfo -CPPFLAGS+= -DHAVE_ADJTIME=0 -DTZDIR=\"$(TZDIR)\" - COPTS.date.c = -Wno-format-nonliteral .include diff --git a/bin/date/date.1 b/bin/date/date.1 index 98af67328..bf925c286 100644 --- a/bin/date/date.1 +++ b/bin/date/date.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: date.1,v 1.41 2010/02/04 22:56:11 wiz Exp $ +.\" $NetBSD: date.1,v 1.42 2012/04/06 11:36:56 wiz Exp $ .\" .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -84,7 +84,7 @@ The utility .Xr timed 8 is used to synchronize the clocks on groups of machines. By default, if -timed +.Xr timed 8 is running, .Nm will set the time on all of the machines in the local group. @@ -153,7 +153,7 @@ The second of the minute, from 00 to 61. .Pp Everything but the minutes is optional. .Pp -Time changes for Daylight Saving and Standard time and leap seconds +Time changes for Daylight Saving and Standard Time and leap seconds and years are handled automatically. .Sh ENVIRONMENT The following environment variables affect the execution of @@ -217,12 +217,13 @@ On these occasions, prints: .Ql Network time being set . The message -.Ql Communication error with timed +.Ql Communication error with +.Xr timed 8 occurs when the communication between .Nm and -timed +.Xr timed 8 fails. .Sh SEE ALSO .Xr adjtime 2 , @@ -231,6 +232,7 @@ fails. .Xr parsedate 3 , .Xr strftime 3 , .Xr utmp 5 , +.Xr environ 7 , .Xr timed 8 .Rs .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" diff --git a/bin/date/date.c b/bin/date/date.c index 9a3d22c24..4a11d0242 100644 --- a/bin/date/date.c +++ b/bin/date/date.c @@ -92,11 +92,11 @@ main(int argc, char *argv[]) nflag = 1; break; case 'd': -#ifndef __minix +#if !defined(__minix) rflag = 1; tval = parsedate(optarg, NULL, NULL); if (tval == -1) -#endif +#endif /* !defined(__minix) */ badarg: errx(EXIT_FAILURE, "Cannot parse `%s'", optarg); break; @@ -311,19 +311,12 @@ setthetime(const char *p) /* set the time */ if (nflag || netsettime(new_time)) { logwtmp("|", "date", ""); -#if HAVE_ADJTIME if (aflag) { tv.tv_sec = new_time - tval; tv.tv_usec = 0; if (adjtime(&tv, NULL)) err(EXIT_FAILURE, "adjtime"); - } -#else - if (aflag) { - err(EXIT_FAILURE, "no adjtime"); - } -#endif - else { + } else { tval = new_time; tv.tv_sec = tval; tv.tv_usec = 0; diff --git a/bin/ed/re.c b/bin/ed/re.c index a2696adc8..bda8ca4eb 100644 --- a/bin/ed/re.c +++ b/bin/ed/re.c @@ -1,4 +1,4 @@ -/* $NetBSD: re.c,v 1.19 2005/02/17 16:29:26 xtraeme Exp $ */ +/* $NetBSD: re.c,v 1.20 2013/06/28 15:04:35 joerg Exp $ */ /* re.c: This file contains the regular expression interface routines for the ed line editor. */ @@ -33,7 +33,7 @@ #if 0 static char *rcsid = "@(#)re.c,v 1.6 1994/02/01 00:34:43 alm Exp"; #else -__RCSID("$NetBSD: re.c,v 1.19 2005/02/17 16:29:26 xtraeme Exp $"); +__RCSID("$NetBSD: re.c,v 1.20 2013/06/28 15:04:35 joerg Exp $"); #endif #endif /* not lint */ @@ -95,7 +95,7 @@ extract_pattern(int delimiter) default: break; case '[': - if ((nd = parse_char_class(++nd)) == NULL) { + if ((nd = parse_char_class(nd + 1)) == NULL) { sprintf(errmsg, "unbalanced brackets ([])"); return NULL; } diff --git a/bin/ksh/c_sh.c b/bin/ksh/c_sh.c index ba3ae2bed..dbda824d5 100644 --- a/bin/ksh/c_sh.c +++ b/bin/ksh/c_sh.c @@ -1,4 +1,4 @@ -/* $NetBSD: c_sh.c,v 1.14 2011/08/31 16:24:54 plunky Exp $ */ +/* $NetBSD: c_sh.c,v 1.15 2013/10/18 19:53:34 christos Exp $ */ /* * built-in Bourne commands @@ -6,7 +6,7 @@ #include #ifndef lint -__RCSID("$NetBSD: c_sh.c,v 1.14 2011/08/31 16:24:54 plunky Exp $"); +__RCSID("$NetBSD: c_sh.c,v 1.15 2013/10/18 19:53:34 christos Exp $"); #endif @@ -506,6 +506,8 @@ c_trap(wp) shprintf(" %s", p->name); shprintf(newline); } +#else + __USE(anydfl); #endif return 0; } diff --git a/bin/ksh/config.h b/bin/ksh/config.h index e8ae8e6ea..f43eaae78 100644 --- a/bin/ksh/config.h +++ b/bin/ksh/config.h @@ -1,3 +1,5 @@ +/* $NetBSD: config.h,v 1.8 2004/08/19 23:00:22 christos Exp $ */ + /* config.h. Generated automatically by configure. */ /* config.h.in. Generated automatically from configure.in by autoheader. */ /* @@ -9,7 +11,6 @@ #ifndef CONFIG_H #define CONFIG_H - /* Define if on AIX 3. System headers sometimes define this. We just want to avoid a redefinition error message. */ @@ -23,12 +24,11 @@ /* Define to empty if the keyword does not work. */ /* #undef const */ - /* Define to `int' if doesn't define. */ /* #undef gid_t */ /* Define if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ +#define HAVE_MMAP 1 /* Define if your struct stat has st_rdev. */ #define HAVE_ST_RDEV 1 @@ -53,10 +53,10 @@ /* Define if the system does not provide POSIX.1 features except with this defined. */ -#define _POSIX_1_SOURCE 2 +/* #undef _POSIX_1_SOURCE */ /* Define if you need to in order for stat and other things to work. */ -#define _POSIX_SOURCE 1 +/* #undef _POSIX_SOURCE */ /* Define as the return type of signal handlers (int or void). */ #define RETSIGTYPE void @@ -76,7 +76,7 @@ /* Define if the closedir function returns void instead of int. */ /* #undef VOID_CLOSEDIR */ -/* Define if your kernal doesn't handle scripts starting with #! */ +/* Define if your kernel doesn't handle scripts starting with #! */ /* #undef SHARPBANG */ /* Define if dup2() preserves the close-on-exec flag (ultrix does this) */ @@ -146,7 +146,7 @@ #define SYS_ERRLIST_DECLARED 1 /* Define if sys_siglist[] is in the C library */ -/* #undef HAVE_SYS_SIGLIST */ +#define HAVE_SYS_SIGLIST 1 /* Define if you have a sane header file */ #define HAVE_TERMIOS_H 1 @@ -158,7 +158,7 @@ #define HAVE_MEMMOVE 1 /* Define if you have a bcopy() function in your C library */ -/* #undef HAVE_BCOPY */ +#define HAVE_BCOPY /* Define if you have a lstat() function in your C library */ #define HAVE_LSTAT 1 @@ -172,6 +172,9 @@ /* Define if opendir() will open non-directory files */ /* #undef OPENDIR_DOES_NONDIR */ +/* Define if you have a dup2() function in your C library */ +#define HAVE_DUP2 1 + /* Define if the pgrp of setpgrp() can't be the pid of a zombie process */ /* #undef NEED_PGRP_SYNC */ @@ -184,50 +187,54 @@ /* Define if you arg running OS2 with the EMX library */ /* #undef OS2 */ -/* Define if you have a POSIX.1 compatiable */ +/* Define if you have a POSIX.1 compatible */ #define POSIX_SYS_WAIT 1 /* Define if your OS maps references to /dev/fd/n to file descriptor n */ /* #undef HAVE_DEV_FD */ +/* Default PATH */ +#ifdef RESCUEDIR +#define DEFAULT_PATH RESCUEDIR ":/bin:/usr/bin:/sbin:/usr/sbin" +#else +#define DEFAULT_PATH "/bin:/usr/bin:/sbin:/usr/sbin" +#endif + /* Define if your C library's getwd/getcwd function dumps core in unreadable * directories. */ /* #undef HPUX_GETWD_BUG */ -/* Default PATH (see comments in configure.in for more details) */ -#define DEFAULT_PATH "/bin:/usr/bin:/usr/ucb" - -/* Include ksh features? (see comments in configure.in for more details) */ +/* Include ksh features? */ #define KSH 1 -/* Include emacs editing? (see comments in configure.in for more details) */ +/* Include emacs editing? */ #define EMACS 1 -/* Include vi editing? (see comments in configure.in for more details) */ +/* Include vi editing? */ #define VI 1 -/* Include job control? (see comments in configure.in for more details) */ +/* Include job control? */ #define JOBS 1 -/* Include brace-expansion? (see comments in configure.in for more details) */ +/* Include brace-expansion? */ #define BRACE_EXPAND 1 -/* Include any history? (see comments in configure.in for more details) */ +/* Include any history? */ #define HISTORY 1 -/* Include complex history? (see comments in configure.in for more details) */ +/* Include complex history? */ /* #undef COMPLEX_HISTORY */ -/* Strict POSIX behaviour? (see comments in configure.in for more details) */ -/* #undef POSIXLY_CORRECT */ +/* Strict POSIX behaviour? */ +#define POSIXLY_CORRECT 1 -/* Specify default $ENV? (see comments in configure.in for more details) */ -/* #undef DEFAULT_ENV */ +/* Specify default $ENV? */ +#define DEFAULT_ENV "$HOME/.kshrc" -/* Include shl(1) support? (see comments in configure.in for more details) */ +/* Include shl(1) support? */ /* #undef SWTCH */ -/* Include game-of-life? (see comments in configure.in for more details) */ +/* Include game-of-life? */ /* #undef SILLY */ /* The number of bytes in a int. */ @@ -237,14 +244,11 @@ #define SIZEOF_LONG 4 /* Define if you have the _setjmp function. */ -/* #undef HAVE__SETJMP */ +#define HAVE__SETJMP /* Define if you have the confstr function. */ /* #undef HAVE_CONFSTR */ -/* Define if you have the dup2 function. */ -#define HAVE_DUP2 1 - /* Define if you have the flock function. */ #define HAVE_FLOCK 1 @@ -261,7 +265,7 @@ /* #undef HAVE_GETRUSAGE */ /* Define if you have the getwd function. */ -/* #undef HAVE_GETWD */ +#define HAVE_GETWD 1 /* Define if you have the killpg function. */ #define HAVE_KILLPG 1 @@ -281,11 +285,6 @@ /* Define if you have the strerror function. */ #define HAVE_STRERROR 1 -/* Define if you have the strlcat function. */ -#define HAVE_STRLCAT 1 -/* Define if you have the strlcpy function. */ -#define HAVE_STRLCPY 1 - /* Define if you have the strstr function. */ #define HAVE_STRSTR 1 @@ -296,7 +295,7 @@ #define HAVE_TCSETPGRP 1 /* Define if you have the ulimit function. */ -#define HAVE_ULIMIT 1 +#define HAVE_ULIMIT /* Define if you have the valloc function. */ #define HAVE_VALLOC 1 @@ -335,7 +334,7 @@ #define HAVE_STRING_H 1 /* Define if you have the header file. */ -/* #undef HAVE_SYS_DIR_H */ +#define HAVE_SYS_DIR_H /* Define if you have the header file. */ /* #undef HAVE_SYS_NDIR_H */ @@ -353,7 +352,7 @@ #define HAVE_SYS_WAIT_H 1 /* Define if you have the header file. */ -#define HAVE_ULIMIT_H 1 +#define HAVE_ULIMIT_H /* Define if you have the header file. */ /* #undef HAVE_VALUES_H */ diff --git a/bin/ksh/eval.c b/bin/ksh/eval.c index 3ce2026e1..4c016ecdf 100644 --- a/bin/ksh/eval.c +++ b/bin/ksh/eval.c @@ -1,4 +1,4 @@ -/* $NetBSD: eval.c,v 1.14 2011/08/21 21:24:34 dholland Exp $ */ +/* $NetBSD: eval.c,v 1.15 2013/10/18 19:53:34 christos Exp $ */ /* * Expansion - quoting, separation, substitution, globbing @@ -6,7 +6,7 @@ #include #ifndef lint -__RCSID("$NetBSD: eval.c,v 1.14 2011/08/21 21:24:34 dholland Exp $"); +__RCSID("$NetBSD: eval.c,v 1.15 2013/10/18 19:53:34 christos Exp $"); #endif #include @@ -729,13 +729,11 @@ varsub(xp, sp, word, stypep, slenp) /* Check for size of array */ if ((p=strchr(sp,'[')) && (p[1]=='*'||p[1]=='@') && p[2]==']') { int n = 0; - int max = 0; vp = global(arrayname(sp)); if (vp->flag & (ISSET|ARRAY)) zero_ok = 1; for (; vp; vp = vp->u.array) if (vp->flag & ISSET) { - max = vp->index + 1; n++; } c = n; /* ksh88/ksh93 go for number, not max index */ diff --git a/bin/ksh/expand.h b/bin/ksh/expand.h index a34424b06..5618af222 100644 --- a/bin/ksh/expand.h +++ b/bin/ksh/expand.h @@ -1,9 +1,9 @@ -/* $NetBSD: expand.h,v 1.4 2001/07/26 15:05:07 wiz Exp $ */ +/* $NetBSD: expand.h,v 1.5 2013/10/18 19:53:34 christos Exp $ */ /* * Expanding strings */ -/* $Id: expand.h,v 1.4 2001/07/26 15:05:07 wiz Exp $ */ +/* $Id: expand.h,v 1.5 2013/10/18 19:53:34 christos Exp $ */ #define X_EXTRA 8 /* this many extra bytes in X string */ @@ -40,6 +40,7 @@ typedef char * XStringP; (xs).beg = alloc((xs).len + X_EXTRA, (xs).areap); \ (xs).end = (xs).beg + (xs).len; \ xp = (xs).beg; \ + __USE(xp); \ } while (0) /* stuff char into string */ diff --git a/bin/ksh/history.c b/bin/ksh/history.c index e29aade44..1758464c7 100644 --- a/bin/ksh/history.c +++ b/bin/ksh/history.c @@ -741,7 +741,8 @@ hist_finish() { static int once; int fd; -#if !defined(O_EXLOCK) && defined(LOCK_EX) +#if defined(__minix) + /* LSC: FIXME: Minix doesn't implement O_EXLOCK yet. */ int rc; #endif FILE *fh; @@ -760,13 +761,8 @@ hist_finish() else hp = histlist; - fd = open(hname, O_WRONLY | O_CREAT | O_TRUNC -#ifdef O_EXLOCK - | O_EXLOCK -#endif - , 0777); - -#if !defined(O_EXLOCK) && defined(LOCK_EX) + fd = open(hname, O_WRONLY | O_CREAT | O_TRUNC | O_EXLOCK, 0777); +#if defined(__minix) do { rc = flock(fd, LOCK_EX); if (rc == -1 && errno != EINTR) @@ -779,7 +775,7 @@ hist_finish() if (fd >= 0 && (fh = fdopen(fd, "w"))) { for (i = 0; hp + i <= histptr && hp[i]; i++) fprintf(fh, "%s%c", hp[i], '\0'); -#if !defined(O_EXLOCK) && defined(LOCK_EX) +#if defined(__minix) flock(fd, LOCK_UN); #endif fclose(fh); diff --git a/bin/ls/ls.1 b/bin/ls/ls.1 index 1d10b17a7..a3e698d78 100644 --- a/bin/ls/ls.1 +++ b/bin/ls/ls.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: ls.1,v 1.69 2011/04/02 08:38:56 mbalmer Exp $ +.\" $NetBSD: ls.1,v 1.72 2012/11/20 12:37:29 abs Exp $ .\" .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -32,7 +32,7 @@ .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 .\" -.Dd April 2, 2011 +.Dd November 20, 2012 .Dt LS 1 .Os .Sh NAME @@ -40,19 +40,19 @@ .Nd list directory contents .Sh SYNOPSIS .Nm -.Op Fl AaBbCcdFfghikLlMmnopqRrSsTtuWwx1 +.Op Fl 1AaBbCcdFfghikLlMmnopqRrSsTtuWwx .Op Ar .Sh DESCRIPTION -For each operand that names a +For each .Ar file -of a type other than +operand that names a file of a type other than directory, .Nm displays its name as well as any requested, associated information. -For each operand that names a +For each .Ar file -of type directory, +operand that names a file of type directory, .Nm displays the names of files contained within that directory, as well as any requested, associated @@ -67,6 +67,11 @@ lexicographical order. .Pp The following options are available: .Bl -tag -width indent +.It Fl \&1 +(The numeric digit +.Dq one ) . +Force output to be one entry per line. +This is the default when output is not to a terminal. .It Fl A List all entries except for .Ql \&. @@ -88,13 +93,18 @@ but use C escape codes whenever possible. Force multi-column output; this is the default when output is to a terminal. .It Fl c Use time when file status was last changed, -instead of time of last modification of the file for sorting -.Pq Fl t -or printing -.Pq Fl l . +instead of time of last modification of the file for printing +.Pq Fl l +or sorting +.Pq Fl t . +Overrides +.Fl u . .It Fl d Directories are listed as plain files (not searched recursively) and symbolic links in the argument list are not followed. +Turns off +.Fl R +if also given. .It Fl F Display a slash .Pq Sq \&/ @@ -123,9 +133,9 @@ The same as except that the owner is not printed. .It Fl h Modifies the -.Fl s -and .Fl l +and +.Fl s options, causing the sizes to be reported in bytes displayed in a human readable format. Overrides @@ -138,15 +148,8 @@ For each file, print the file's file serial number (inode number). Modifies the .Fl s option, causing the sizes to be reported in kilobytes. -The rightmost of the -.Fl k -and -.Fl h -flags overrides the previous flag. -See also -.Fl h -and -.Fl M . +Overrides +.Fl h . .It Fl L For each file, if it's a link, evaluate file information and file type of the referenced file and not the link itself; however still print @@ -169,8 +172,8 @@ options, causing the sizes or block counts reported to be separated with commas (or a locale appropriate separator) resulting in a more readable output. Overrides -.Fl h . -Does not override +.Fl h ; +does not override .Fl k . .It Fl m Stream output format; list files across the page, separated by commas. @@ -201,6 +204,8 @@ the character this is the default when output is to a terminal. .It Fl R Recursively list subdirectories encountered. +See also +.Fl d . .It Fl r Reverse the order of the sort to get reverse lexicographical order or the smallest or oldest entries first. @@ -230,10 +235,12 @@ order. .It Fl u Use time of last access, instead of last modification -of the file for sorting -.Pq Fl t -or printing -.Pq Fl l . +of the file for printing +.Pq Fl l +or sorting +.Pq Fl t . +Overrides +.Fl c . .It Fl W Display whiteouts when scanning directories. .It Fl w @@ -241,19 +248,14 @@ Force raw printing of non-printable characters. This is the default when output is not to a terminal. .It Fl x Multi-column output sorted across the page rather than down the page. -.It Fl \&1 -(The numeric digit -.Dq one ) . -Force output to be one entry per line. -This is the default when output is not to a terminal. .El .Pp The .Fl B , .Fl b , -.Fl w , +.Fl q , and -.Fl q +.Fl w options all override each other; the last one specified determines the format used for non-printable characters. .Pp @@ -278,13 +280,6 @@ even if .Fl g was specified last. .Pp -The -.Fl c -and -.Fl u -options override each other; the last one specified determines -the file time used. -.Pp By default, .Nm lists one entry per line to standard @@ -296,11 +291,11 @@ options are specified. .Pp File information is displayed with one or more .Aq blank -separating the information associated with the +characters separating the information associated with the .Fl i , -.Fl s , +.Fl l , and -.Fl l +.Fl s options. .Ss The Long Format If the @@ -333,9 +328,12 @@ pathname .El .Pp In addition, for each directory whose contents are displayed, the total -number of 512-byte blocks used by the files in the directory is displayed -on a line by itself immediately before the information for the files in the -directory. +number of file system blocks in units of 512 bytes or +.Ev BLOCKSIZE +(see +.Sx ENVIRONMENT ) +used by the files in the directory is displayed on a line by itself +immediately before the information for the files in the directory. .Pp If the owner or group names are not a known owner or group name, or the @@ -358,6 +356,8 @@ The entry type character describes the type of file, as follows: .Pp .Bl -tag -width 4n -offset indent -compact +.It Sy \- +Regular file. .It Sy a Archive state 1. .It Sy A @@ -370,14 +370,12 @@ Character special file. Directory. .It Sy l Symbolic link. -.It Sy s -Socket link. .It Sy p FIFO. +.It Sy s +Socket link. .It Sy w Whiteout. -.It Sy \- -Regular file. .El .Pp The next three fields @@ -457,11 +455,11 @@ The following environment variables affect the execution of If the environment variable .Ev BLOCKSIZE is set, and the -.Fl h -and .Fl k -options are not specified, the block counts +option is not specified, the block counts (see +.Fl l +and .Fl s ) will be displayed in units of that size block. .It Ev COLUMNS diff --git a/bin/ls/ls.c b/bin/ls/ls.c index aceaa8dea..23120bd08 100644 --- a/bin/ls/ls.c +++ b/bin/ls/ls.c @@ -1,4 +1,4 @@ -/* $NetBSD: ls.c,v 1.69 2011/08/29 14:44:21 joerg Exp $ */ +/* $NetBSD: ls.c,v 1.70 2012/11/20 12:37:29 abs Exp $ */ /* * Copyright (c) 1989, 1993, 1994 @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993, 1994\ #if 0 static char sccsid[] = "@(#)ls.c 8.7 (Berkeley) 8/5/94"; #else -__RCSID("$NetBSD: ls.c,v 1.69 2011/08/29 14:44:21 joerg Exp $"); +__RCSID("$NetBSD: ls.c,v 1.70 2012/11/20 12:37:29 abs Exp $"); #endif #endif /* not lint */ @@ -117,7 +117,7 @@ usage(void) { (void)fprintf(stderr, - "usage: %s [-AaBbCcdFfghikLlMmnopqRrSsTtuWwx1] [file ...]\n", + "usage: %s [-1AaBbCcdFfghikLlMmnopqRrSsTtuWwx] [file ...]\n", getprogname()); exit(EXIT_FAILURE); /* NOTREACHED */ @@ -331,7 +331,7 @@ ls_main(int argc, char *argv[]) fts_options |= FTS_WHITEOUT; #endif - /* If -l or -s, figure out block size. */ + /* If -i, -l, or -s, figure out block size. */ if (f_inode || f_longform || f_size) { if (!kflag) (void)getbsize(NULL, &blocksize); diff --git a/bin/ls/print.c b/bin/ls/print.c index 17a806363..12ee60771 100644 --- a/bin/ls/print.c +++ b/bin/ls/print.c @@ -1,4 +1,4 @@ -/* $NetBSD: print.c,v 1.51 2012/06/29 12:51:38 yamt Exp $ */ +/* $NetBSD: print.c,v 1.52 2013/05/02 22:43:55 zafer Exp $ */ /* * Copyright (c) 1989, 1993, 1994 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)print.c 8.5 (Berkeley) 7/28/94"; #else -__RCSID("$NetBSD: print.c,v 1.51 2012/06/29 12:51:38 yamt Exp $"); +__RCSID("$NetBSD: print.c,v 1.52 2013/05/02 22:43:55 zafer Exp $"); #endif #endif /* not lint */ @@ -461,4 +461,3 @@ printlink(FTSENT *p) else (void)printf("%s", path); } - diff --git a/bin/mkdir/Makefile b/bin/mkdir/Makefile index e8b7f39eb..7f40def92 100644 --- a/bin/mkdir/Makefile +++ b/bin/mkdir/Makefile @@ -2,9 +2,5 @@ # @(#)Makefile 8.1 (Berkeley) 5/31/93 PROG= mkdir -.ifdef __MINIX -WARNS=3 -SYMLINKS= $(BINDIR)/$(PROG) /usr/bin/$(PROG) -.endif .include diff --git a/bin/mkdir/mkdir.1 b/bin/mkdir/mkdir.1 index 605126f0b..3c726bbd2 100644 --- a/bin/mkdir/mkdir.1 +++ b/bin/mkdir/mkdir.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: mkdir.1,v 1.16 2003/08/07 09:05:16 agc Exp $ +.\" $NetBSD: mkdir.1,v 1.17 2012/03/22 07:58:17 wiz Exp $ .\" .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -49,7 +49,7 @@ creates the directories named as operands, in the order specified, using mode .Li rwxrwxrwx (\&0777) as modified by the current -.Xr umask 2 . +.Xr umask 2 . .Pp The options are as follows: .Pp diff --git a/bin/mkdir/mkdir.c b/bin/mkdir/mkdir.c index 78d4c3b5e..cb60b8806 100644 --- a/bin/mkdir/mkdir.c +++ b/bin/mkdir/mkdir.c @@ -1,4 +1,4 @@ -/* $NetBSD: mkdir.c,v 1.37 2008/07/20 00:52:40 lukem Exp $ */ +/* $NetBSD: mkdir.c,v 1.38 2011/08/29 14:45:28 joerg Exp $ */ /* * Copyright (c) 1983, 1992, 1993 @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1983, 1992, 1993\ #if 0 static char sccsid[] = "@(#)mkdir.c 8.2 (Berkeley) 1/25/94"; #else -__RCSID("$NetBSD: mkdir.c,v 1.37 2008/07/20 00:52:40 lukem Exp $"); +__RCSID("$NetBSD: mkdir.c,v 1.38 2011/08/29 14:45:28 joerg Exp $"); #endif #endif /* not lint */ @@ -55,9 +55,8 @@ __RCSID("$NetBSD: mkdir.c,v 1.37 2008/07/20 00:52:40 lukem Exp $"); #include #include -int mkpath(char *, mode_t, mode_t); -void usage(void); -int main(int, char *[]); +static int mkpath(char *, mode_t, mode_t); +__dead static void usage(void); int main(int argc, char *argv[]) @@ -149,7 +148,7 @@ main(int argc, char *argv[]) * mode - file mode of terminal directory * dir_mode - file mode of intermediate directories */ -int +static int mkpath(char *path, mode_t mode, mode_t dir_mode) { struct stat sb; @@ -213,7 +212,7 @@ mkpath(char *path, mode_t mode, mode_t dir_mode) return 0; } -void +static void usage(void) { diff --git a/bin/pax/Makefile b/bin/pax/Makefile index 70415cdb9..0e6e13e13 100644 --- a/bin/pax/Makefile +++ b/bin/pax/Makefile @@ -3,10 +3,6 @@ .include -.if defined(__MINIX) -WARNS=2 -.endif - PROG= pax SRCS= ar_io.c ar_subs.c buf_subs.c file_subs.c ftree.c\ gen_subs.c getoldopt.c options.c pat_rep.c pax.c sel_subs.c tables.c\ diff --git a/bin/pax/file_subs.c b/bin/pax/file_subs.c index 4b16abf7d..840bf4980 100644 --- a/bin/pax/file_subs.c +++ b/bin/pax/file_subs.c @@ -1,4 +1,4 @@ -/* $NetBSD: file_subs.c,v 1.62 2009/04/07 19:52:35 perry Exp $ */ +/* $NetBSD: file_subs.c,v 1.63 2013/07/29 17:46:36 christos Exp $ */ /*- * Copyright (c) 1992 Keith Muller. @@ -42,7 +42,7 @@ #if 0 static char sccsid[] = "@(#)file_subs.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: file_subs.c,v 1.62 2009/04/07 19:52:35 perry Exp $"); +__RCSID("$NetBSD: file_subs.c,v 1.63 2013/07/29 17:46:36 christos Exp $"); #endif #endif /* not lint */ @@ -62,9 +62,9 @@ __RCSID("$NetBSD: file_subs.c,v 1.62 2009/04/07 19:52:35 perry Exp $"); #include "extern.h" #include "options.h" -#ifdef __minix +#if defined(__minix) #include -#endif +#endif /* defined(__minix) */ char *xtmp_name; @@ -164,7 +164,7 @@ file_creat(ARCHD *arcn, int write_to_hardlink) * in the path until chk_path() finds that it cannot fix * anything further. if that happens we just give up. */ -#ifdef __minix +#if defined(__minix) { /* For minix, generate the temporary filename * conservatively - just write Xes into the last component. @@ -179,7 +179,7 @@ file_creat(ARCHD *arcn, int write_to_hardlink) #else (void)snprintf(arcn->tmp_name, arcn->nlen + 8, "%s.XXXXXX", arcn->name); -#endif +#endif /* defined(__minix) */ fd = mkstemp(arcn->tmp_name); if (fd >= 0) break; @@ -809,9 +809,9 @@ set_ftime(char *fnm, time_t mtime, time_t atime, int frc, int slk) struct timeval tv[2]; struct stat sb; - tv[0].tv_sec = (long)atime; + tv[0].tv_sec = atime; tv[0].tv_usec = 0; - tv[1].tv_sec = (long)mtime; + tv[1].tv_sec = mtime; tv[1].tv_usec = 0; if (!frc && (!patime || !pmtime)) { /* diff --git a/bin/pax/options.c b/bin/pax/options.c index c6c9eb908..f91a7cfd6 100644 --- a/bin/pax/options.c +++ b/bin/pax/options.c @@ -1,4 +1,4 @@ -/* $NetBSD: options.c,v 1.114 2012/08/09 11:05:59 christos Exp $ */ +/* $NetBSD: options.c,v 1.115 2013/11/14 04:00:48 christos Exp $ */ /*- * Copyright (c) 1992 Keith Muller. @@ -42,7 +42,7 @@ #if 0 static char sccsid[] = "@(#)options.c 8.2 (Berkeley) 4/18/94"; #else -__RCSID("$NetBSD: options.c,v 1.114 2012/08/09 11:05:59 christos Exp $"); +__RCSID("$NetBSD: options.c,v 1.115 2013/11/14 04:00:48 christos Exp $"); #endif #endif /* not lint */ @@ -128,8 +128,9 @@ static int get_line_error; #define OPT_STRICT 15 #define OPT_SPARSE 16 #define OPT_XZ 17 +#define OPT_GNU 18 #if !HAVE_NBTOOL_CONFIG_H -#define OPT_CHROOT 18 +#define OPT_CHROOT 19 #endif /* @@ -248,6 +249,8 @@ struct option pax_longopts[] = { OPT_USE_COMPRESS_PROGRAM }, { "xz", no_argument, 0, OPT_XZ }, + { "gnu", no_argument, 0, + OPT_GNU }, { 0, 0, 0, 0 }, }; @@ -655,6 +658,9 @@ pax_options(int argc, char **argv) case OPT_XZ: gzip_program = XZ_CMD; break; + case OPT_GNU: + is_gnutar = 1; + break; case '?': default: pax_usage(); diff --git a/bin/pax/pax.1 b/bin/pax/pax.1 index 1682e1af4..41f388444 100644 --- a/bin/pax/pax.1 +++ b/bin/pax/pax.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: pax.1,v 1.61 2011/06/19 07:34:24 wiz Exp $ +.\" $NetBSD: pax.1,v 1.63 2013/11/14 07:45:05 wiz Exp $ .\" .\" Copyright (c) 1992 Keith Muller. .\" Copyright (c) 1992, 1993 @@ -33,7 +33,7 @@ .\" .\" @(#)pax.1 8.4 (Berkeley) 4/18/94 .\" -.Dd June 18, 2011 +.Dd November 13, 2013 .Dt PAX 1 .Os .Sh NAME @@ -740,6 +740,8 @@ as the result of any specific archive format restrictions. The individual archive formats may impose additional restrictions on use. Typical archive format restrictions include (but are not limited to): file pathname length, file size, link pathname length and the type of the file. +.It Fl Fl gnu +Recognize GNU tar extensions. .It Fl Fl xz Use .Xr xz 1 diff --git a/bin/pax/pax.c b/bin/pax/pax.c index 563f71d37..b8a3232ca 100644 --- a/bin/pax/pax.c +++ b/bin/pax/pax.c @@ -374,13 +374,13 @@ sig_cleanup(int which_sig) static int gen_init(void) { -#ifndef __minix +#if !defined(__minix) struct rlimit reslimit; -#endif +#endif /* !defined(__minix) */ struct sigaction n_hand; struct sigaction o_hand; -#ifndef __minix +#if !defined(__minix) /* * Really needed to handle large archives. We can run out of memory for * internal tables really fast when we have a whole lot of files... @@ -416,7 +416,7 @@ gen_init(void) (void)setrlimit(RLIMIT_RSS , &reslimit); } #endif -#endif /* __minix */ +#endif /* !defined(__minix) */ /* * Handle posix locale diff --git a/bin/pax/pax.h b/bin/pax/pax.h index f6ada4bda..fad93eb84 100644 --- a/bin/pax/pax.h +++ b/bin/pax/pax.h @@ -37,9 +37,9 @@ #if ! HAVE_NBTOOL_CONFIG_H #define HAVE_LUTIMES 1 -#ifndef __minix +#if !defined(__minix) #define HAVE_STRUCT_STAT_ST_FLAGS 1 -#endif +#endif /* !defined(__minix) */ #endif /* @@ -246,7 +246,6 @@ typedef struct oplist { #ifdef HOSTPROG # include "pack_dev.h" /* explicitly use NetBSD's macros */ - # define MAJOR(x) major_netbsd(x) # define MINOR(x) minor_netbsd(x) # define TODEV(x, y) makedev_netbsd((x), (y)) diff --git a/bin/pax/tables.c b/bin/pax/tables.c index 7325bf762..dd135fe65 100644 --- a/bin/pax/tables.c +++ b/bin/pax/tables.c @@ -1,4 +1,4 @@ -/* $NetBSD: tables.c,v 1.30 2008/01/10 04:24:51 tls Exp $ */ +/* $NetBSD: tables.c,v 1.31 2013/10/18 19:53:34 christos Exp $ */ /*- * Copyright (c) 1992 Keith Muller. @@ -42,7 +42,7 @@ #if 0 static char sccsid[] = "@(#)tables.c 8.1 (Berkeley) 5/31/93"; #else -__RCSID("$NetBSD: tables.c,v 1.30 2008/01/10 04:24:51 tls Exp $"); +__RCSID("$NetBSD: tables.c,v 1.31 2013/10/18 19:53:34 christos Exp $"); #endif #endif /* not lint */ @@ -1155,7 +1155,9 @@ add_dir(char *name, int nlen, struct stat *psb, int frc_mode) return; } name = rp; +#ifdef DIRS_USE_FILE nlen = strlen(name); +#endif } #ifdef DIRS_USE_FILE diff --git a/bin/pax/tar.c b/bin/pax/tar.c index 483349fa6..2b8129813 100644 --- a/bin/pax/tar.c +++ b/bin/pax/tar.c @@ -1,4 +1,4 @@ -/* $NetBSD: tar.c,v 1.70 2012/08/09 08:09:22 christos Exp $ */ +/* $NetBSD: tar.c,v 1.71 2013/01/24 17:43:44 christos Exp $ */ /*- * Copyright (c) 1992 Keith Muller. @@ -42,7 +42,7 @@ #if 0 static char sccsid[] = "@(#)tar.c 8.2 (Berkeley) 4/18/94"; #else -__RCSID("$NetBSD: tar.c,v 1.70 2012/08/09 08:09:22 christos Exp $"); +__RCSID("$NetBSD: tar.c,v 1.71 2013/01/24 17:43:44 christos Exp $"); #endif #endif /* not lint */ @@ -948,6 +948,13 @@ ustar_rd(ARCHD *arcn, char *buf) hd->typeflag == LONGLINKTYPE ? "Link" : "File"); } break; + case FILEXTYPE: + case GLOBXTYPE: + tty_warn(0, "%s extended headers posix ustar archive." + " Extracting as plain files. Following files might be" + " in the wrong directory or have wrong attributes.", + hd->typeflag == FILEXTYPE ? "File" : "Global"); + /*FALLTHROUGH*/ case CONTTYPE: case AREGTYPE: case REGTYPE: diff --git a/bin/pax/tar.h b/bin/pax/tar.h index 6d26cb69c..ae7f6ce61 100644 --- a/bin/pax/tar.h +++ b/bin/pax/tar.h @@ -1,4 +1,4 @@ -/* $NetBSD: tar.h,v 1.9 2004/05/11 17:12:26 christos Exp $ */ +/* $NetBSD: tar.h,v 1.10 2013/01/24 17:43:44 christos Exp $ */ /*- * Copyright (c) 1992 Keith Muller. @@ -59,6 +59,8 @@ #define DIRTYPE '5' /* Directory */ #define FIFOTYPE '6' /* FIFO */ #define CONTTYPE '7' /* high perf file */ +#define GLOBXTYPE 'g' /* global extended header */ +#define FILEXTYPE 'x' /* file extended header */ /* * GNU tar compatibility; diff --git a/bin/rm/rm.1 b/bin/rm/rm.1 index ac37b896b..676da51fc 100644 --- a/bin/rm/rm.1 +++ b/bin/rm/rm.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: rm.1,v 1.24 2006/09/02 23:28:32 wiz Exp $ +.\" $NetBSD: rm.1,v 1.27 2013/04/26 19:34:34 wiz Exp $ .\" .\" Copyright (c) 1990, 1993, 1994, 2003 .\" The Regents of the University of California. All rights reserved. @@ -32,7 +32,7 @@ .\" .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 .\" -.Dd August 25, 2006 +.Dd April 26, 2013 .Dt RM 1 .Os .Sh NAME @@ -41,7 +41,7 @@ .Sh SYNOPSIS .Nm .Op Fl f | Fl i -.Op Fl dPRrvW +.Op Fl dPRrvWx .Ar .Sh DESCRIPTION The @@ -99,7 +99,6 @@ each directory's contents are processed (as well as before the attempt is made to remove the directory). If the user does not respond affirmatively, the file hierarchy rooted in that directory is skipped. -.Pp .It Fl r Equivalent to .Fl R . @@ -111,6 +110,8 @@ to be verbose, showing files as they are processed. Attempts to undelete the named files. Currently, this option can only be used to recover files covered by whiteouts. +.It Fl x +When removing a hierarchy, do not cross mount points. .El .Pp The @@ -145,6 +146,18 @@ can be accomplished as follows: or .Pp .Ic "rm ./-file" +.Sh COMPATIBILITY +The +.Nm +utility differs from historical implementations in that the +.Fl f +option only masks attempts to remove non-existent files instead of +masking a large variety of errors. +.Pp +Also, historical +.Bx +implementations prompted on the standard output, +not the standard error output. .Sh SEE ALSO .Xr rmdir 1 , .Xr undelete 2 , @@ -152,6 +165,31 @@ or .Xr fts 3 , .Xr getopt 3 , .Xr symlink 7 +.Sh STANDARDS +The +.Nm +utility is expected to be +.St -p1003.2 +compatible. +The +.Fl v +and +.Fl x +options are extensions. +.Pp +The +.Fl P +option attempts to conform to U.S. DoD 5220-22.M, "National Industrial +Security Program Operating Manual" ("NISPOM") as updated by Change +2 and the July 23, 2003 "Clearing \*[Am] Sanitization Matrix". +However, unlike earlier revisions of NISPOM, the 2003 matrix imposes +requirements which make it clear that the standard does not and +can not apply to the erasure of individual files, in particular +requirements relating to spare sector management for an entire +magnetic disk. +.Em Because these requirements are not met, the +.Fl P +.Em option does not conform to the standard . .Sh BUGS The .Fl P @@ -170,38 +208,3 @@ too costly for default operation. However, it will at least prevent the recovery of data from FFS volumes with .Xr fsdb 8 . -.Sh COMPATIBILITY -The -.Nm -utility differs from historical implementations in that the -.Fl f -option only masks attempts to remove non-existent files instead of -masking a large variety of errors. -.Pp -Also, historical -.Bx -implementations prompted on the standard output, -not the standard error output. -.Sh STANDARDS -The -.Nm -utility is expected to be -.St -p1003.2 -compatible. -The -.Fl v -option is an extension. -.Pp -The -.Fl P -option attempts to conform to U.S. DoD 5220-22.M, "National Industrial -Security Program Operating Manual" ("NISPOM") as updated by Change -2 and the July 23, 2003 "Clearing \*[Am] Sanitization Matrix". -However, unlike earlier revisions of NISPOM, the 2003 matrix imposes -requirements which make it clear that the standard does not and -can not apply to the erasure of individual files, in particular -requirements relating to spare sector management for an entire -magnetic disk. -.Em Because these requirements are not met, the -.Fl P -.Em option does not conform to the standard . diff --git a/bin/rm/rm.c b/bin/rm/rm.c index ddf85dc71..93882acc6 100644 --- a/bin/rm/rm.c +++ b/bin/rm/rm.c @@ -1,4 +1,4 @@ -/* $NetBSD: rm.c,v 1.50 2011/08/29 14:48:46 joerg Exp $ */ +/* $NetBSD: rm.c,v 1.53 2013/04/26 18:43:22 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994, 2003 @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1990, 1993, 1994\ #if 0 static char sccsid[] = "@(#)rm.c 8.8 (Berkeley) 4/27/95"; #else -__RCSID("$NetBSD: rm.c,v 1.50 2011/08/29 14:48:46 joerg Exp $"); +__RCSID("$NetBSD: rm.c,v 1.53 2013/04/26 18:43:22 christos Exp $"); #endif #endif /* not lint */ @@ -54,28 +54,32 @@ __RCSID("$NetBSD: rm.c,v 1.50 2011/08/29 14:48:46 joerg Exp $"); #include #include #include +#include #include #include #include #include static int dflag, eval, fflag, iflag, Pflag, stdin_ok, vflag, Wflag; +static int xflag; +static sig_atomic_t pinfo; static int check(char *, char *, struct stat *); static void checkdot(char **); +static void progress(int); static void rm_file(char **); static int rm_overwrite(char *, struct stat *); static void rm_tree(char **); __dead static void usage(void); -#ifdef __minix +#if defined(__minix) # ifndef O_SYNC # define O_SYNC 0 # endif # ifndef O_RSYNC # define O_RSYNC 0 # endif -#endif +#endif /* defined(__minix) */ /* * For the sake of the `-f' flag, check whether an error number indicates the @@ -100,8 +104,8 @@ main(int argc, char *argv[]) setprogname(argv[0]); (void)setlocale(LC_ALL, ""); - Pflag = rflag = 0; - while ((ch = getopt(argc, argv, "dfiPRrvW")) != -1) + Pflag = rflag = xflag = 0; + while ((ch = getopt(argc, argv, "dfiPRrvWx")) != -1) switch (ch) { case 'd': dflag = 1; @@ -124,6 +128,9 @@ main(int argc, char *argv[]) case 'v': vflag = 1; break; + case 'x': + xflag = 1; + break; case 'W': Wflag = 1; break; @@ -140,6 +147,8 @@ main(int argc, char *argv[]) usage(); } + (void)signal(SIGINFO, progress); + checkdot(argv); if (*argv) { @@ -177,10 +186,12 @@ rm_tree(char **argv) flags = FTS_PHYSICAL; if (!needstat) flags |= FTS_NOSTAT; -#ifndef __minix +#if !defined(__minix) if (Wflag) flags |= FTS_WHITEOUT; -#endif +#endif /* !defined(__minix) */ + if (xflag) + flags |= FTS_XDEV; if ((fts = fts_open(argv, flags, NULL)) == NULL) err(1, "fts_open failed"); while ((p = fts_read(fts)) != NULL) { @@ -244,13 +255,13 @@ rm_tree(char **argv) continue; break; -#ifndef __minix +#if !defined(__minix) case FTS_W: rval = undelete(p->fts_accpath); if (rval != 0 && fflag && errno == ENOENT) continue; break; -#endif +#endif /* !defined(__minix) */ default: if (Pflag) { @@ -265,8 +276,10 @@ rm_tree(char **argv) if (rval != 0) { warn("%s", p->fts_path); eval = 1; - } else if (vflag) + } else if (vflag || pinfo) { + pinfo = 0; (void)printf("%s\n", p->fts_path); + } } if (errno) err(1, "fts_read"); @@ -288,11 +301,11 @@ rm_file(char **argv) /* Assume if can't stat the file, can't unlink it. */ if (lstat(f, &sb)) { if (Wflag) { -#ifdef __minix +#if defined(__minix) sb.st_mode = S_IWUSR|S_IRUSR; #else sb.st_mode = S_IFWHT|S_IWUSR|S_IRUSR; -#endif +#endif /* defined(__minix) */ } else { if (!fflag || !NONEXISTENT(errno)) { warn("%s", f); @@ -311,17 +324,17 @@ rm_file(char **argv) eval = 1; continue; } -#ifndef __minix +#if !defined(__minix) if (!fflag && !S_ISWHT(sb.st_mode) && !check(f, f, &sb)) #else if (!fflag && !check(f, f, &sb)) -#endif +#endif /* !defined(__minix) */ continue; -#ifndef __minix +#if !defined(__minix) if (S_ISWHT(sb.st_mode)) rval = undelete(f); else -#endif +#endif /* !defined(__minix) */ if (S_ISDIR(sb.st_mode)) rval = rmdir(f); else { @@ -397,7 +410,7 @@ rm_file(char **argv) static int rm_overwrite(char *file, struct stat *sbp) { - struct stat sb; + struct stat sb, sb2; int fd, randint; char randchar; @@ -411,9 +424,19 @@ rm_overwrite(char *file, struct stat *sbp) return 0; /* flags to try to defeat hidden caching by forcing seeks */ - if ((fd = open(file, O_RDWR|O_SYNC|O_RSYNC, 0)) == -1) + if ((fd = open(file, O_RDWR|O_SYNC|O_RSYNC|O_NOFOLLOW, 0)) == -1) goto err; + if (fstat(fd, &sb2)) { + goto err; + } + + if (sb2.st_dev != sbp->st_dev || sb2.st_ino != sbp->st_ino || + !S_ISREG(sb2.st_mode)) { + errno = EPERM; + goto err; + } + #define RAND_BYTES 1 #define THIS_BYTE 0 @@ -598,8 +621,15 @@ static void usage(void) { - (void)fprintf(stderr, "usage: %s [-f|-i] [-dPRrvW] file ...\n", + (void)fprintf(stderr, "usage: %s [-f|-i] [-dPRrvWx] file ...\n", getprogname()); exit(1); /* NOTREACHED */ } + +static void +progress(int sig __unused) +{ + + pinfo++; +} diff --git a/bin/stty/extern.h b/bin/stty/extern.h index c26916cd7..92598eb43 100644 --- a/bin/stty/extern.h +++ b/bin/stty/extern.h @@ -1,4 +1,4 @@ -/* $NetBSD: extern.h,v 1.12 2011/08/29 14:51:19 joerg Exp $ */ +/* $NetBSD: extern.h,v 1.13 2013/09/12 19:47:23 christos Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -43,7 +43,7 @@ void gread(struct termios *, char *); int ksearch(char ***, struct info *); int msearch(char ***, struct info *); void optlist(void); -void print(struct termios *, struct winsize *, int, enum FMT); +void print(struct termios *, struct winsize *, int, const char *, enum FMT); __dead void usage(void); extern const struct cchar cchars1[], cchars2[]; diff --git a/bin/stty/key.c b/bin/stty/key.c index bf24c21b9..65c108db8 100644 --- a/bin/stty/key.c +++ b/bin/stty/key.c @@ -1,4 +1,4 @@ -/* $NetBSD: key.c,v 1.20 2004/04/01 16:10:03 tsarna Exp $ */ +/* $NetBSD: key.c,v 1.21 2013/09/12 19:47:23 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)key.c 8.4 (Berkeley) 2/20/95"; #else -__RCSID("$NetBSD: key.c,v 1.20 2004/04/01 16:10:03 tsarna Exp $"); +__RCSID("$NetBSD: key.c,v 1.21 2013/09/12 19:47:23 christos Exp $"); #endif #endif /* not lint */ @@ -146,7 +146,7 @@ ksearch(char ***argvp, struct info *ip) void f_all(struct info *ip) { - print(&ip->t, &ip->win, ip->ldisc, STTY_BSD); + print(&ip->t, &ip->win, ip->queue, ip->ldisc, STTY_BSD); } void @@ -185,7 +185,7 @@ f_dec(struct info *ip) void f_everything(struct info *ip) { - print(&ip->t, &ip->win, ip->ldisc, STTY_BSD); + print(&ip->t, &ip->win, ip->queue, ip->ldisc, STTY_BSD); } void @@ -319,21 +319,13 @@ f_tty(struct info *ip) void f_ostart(struct info *ip) { -#ifndef __minix if (ioctl (0, TIOCSTART) < 0) -#else - if (ioctl (0, TIOCSTART, NULL) < 0) -#endif err(1, "TIOCSTART"); } void f_ostop(struct info *ip) { -#ifndef __minix if (ioctl (0, TIOCSTOP) < 0) -#else - if (ioctl (0, TIOCSTOP, NULL) < 0) -#endif err(1, "TIOCSTOP"); } diff --git a/bin/stty/print.c b/bin/stty/print.c index 135df9afc..6f2de1a58 100644 --- a/bin/stty/print.c +++ b/bin/stty/print.c @@ -1,4 +1,4 @@ -/* $NetBSD: print.c,v 1.22 2005/06/26 19:10:49 christos Exp $ */ +/* $NetBSD: print.c,v 1.23 2013/09/12 19:47:23 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)print.c 8.6 (Berkeley) 4/16/94"; #else -__RCSID("$NetBSD: print.c,v 1.22 2005/06/26 19:10:49 christos Exp $"); +__RCSID("$NetBSD: print.c,v 1.23 2013/09/12 19:47:23 christos Exp $"); #endif #endif /* not lint */ @@ -52,7 +52,8 @@ static void bput(const char *); static const char *ccval(const struct cchar *, int); void -print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt) +print(struct termios *tp, struct winsize *wp, int queue, const char *ldisc, + enum FMT fmt) { const struct cchar *p; long tmp; @@ -62,29 +63,6 @@ print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt) cnt = 0; - /* Line discipline. */ -#ifdef TTYDISC - if (ldisc != TTYDISC) { - switch(ldisc) { - case TABLDISC: - cnt += printf("tablet disc; "); - break; - case SLIPDISC: - cnt += printf("slip disc; "); - break; - case PPPDISC: - cnt += printf("ppp disc; "); - break; - case STRIPDISC: - cnt += printf("strip disc; "); - break; - default: - cnt += printf("#%d disc; ", ldisc); - break; - } - } -#endif - /* Line speed. */ ispeed = cfgetispeed(tp); ospeed = cfgetospeed(tp); @@ -93,8 +71,14 @@ print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt) printf("ispeed %d baud; ospeed %d baud;", ispeed, ospeed); else cnt += printf("speed %d baud;", ispeed); - if (fmt >= STTY_BSD) + if (fmt >= STTY_BSD) { cnt += printf(" %d rows; %d columns;", wp->ws_row, wp->ws_col); + if (queue) + cnt += printf(" queue = %d;", queue); + if (ldisc) + cnt += printf(" line = %s;", ldisc); + } + if (cnt) (void)printf("\n"); diff --git a/bin/stty/stty.c b/bin/stty/stty.c index e4a59521c..a1cbd49ba 100644 --- a/bin/stty/stty.c +++ b/bin/stty/stty.c @@ -1,4 +1,4 @@ -/* $NetBSD: stty.c,v 1.22 2012/06/20 10:09:43 wiz Exp $ */ +/* $NetBSD: stty.c,v 1.23 2013/09/12 19:47:23 christos Exp $ */ /*- * Copyright (c) 1989, 1991, 1993, 1994 @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1991, 1993, 1994\ #if 0 static char sccsid[] = "@(#)stty.c 8.3 (Berkeley) 4/2/94"; #else -__RCSID("$NetBSD: stty.c,v 1.22 2012/06/20 10:09:43 wiz Exp $"); +__RCSID("$NetBSD: stty.c,v 1.23 2013/09/12 19:47:23 christos Exp $"); #endif #endif /* not lint */ @@ -58,8 +58,6 @@ __RCSID("$NetBSD: stty.c,v 1.22 2012/06/20 10:09:43 wiz Exp $"); #include "stty.h" #include "extern.h" -int main(int, char *[]); - int main(int argc, char *argv[]) { @@ -99,12 +97,14 @@ main(int argc, char *argv[]) args: argc -= optind; argv += optind; - if (ioctl(i.fd, TIOCGETD, &i.ldisc) < 0) - err(1, "TIOCGETD"); + if (ioctl(i.fd, TIOCGLINED, i.ldisc) < 0) + err(1, "TIOCGLINED"); if (tcgetattr(i.fd, &i.t) < 0) err(1, "tcgetattr"); if (ioctl(i.fd, TIOCGWINSZ, &i.win) < 0) warn("TIOCGWINSZ"); + if (ioctl(i.fd, TIOCGQSIZE, &i.queue) < 0) + warn("TIOCGQSIZE"); switch(fmt) { case STTY_NOTSET: @@ -113,7 +113,7 @@ args: argc -= optind; /* FALLTHROUGH */ case STTY_BSD: case STTY_POSIX: - print(&i.t, &i.win, i.ldisc, fmt); + print(&i.t, &i.win, i.queue, i.ldisc, fmt); break; case STTY_GFLAG: gprint(&i.t); diff --git a/bin/stty/stty.h b/bin/stty/stty.h index 4f0c59e39..8b93cba7e 100644 --- a/bin/stty/stty.h +++ b/bin/stty/stty.h @@ -1,4 +1,4 @@ -/* $NetBSD: stty.h,v 1.10 2003/08/07 09:05:42 agc Exp $ */ +/* $NetBSD: stty.h,v 1.11 2013/09/12 19:47:23 christos Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -39,7 +39,8 @@ struct info { int fd; /* file descriptor */ - int ldisc; /* line discipline */ + linedn_t ldisc; /* line discipline */ + int queue; /* queue size */ int off; /* turn off */ int set; /* need set */ int wset; /* need window set */ diff --git a/bin/test/test.1 b/bin/test/test.1 index 091b7c6d0..2a7fce7bd 100644 --- a/bin/test/test.1 +++ b/bin/test/test.1 @@ -1,4 +1,4 @@ -.\" $NetBSD: test.1,v 1.27 2009/11/10 18:19:46 wiz Exp $ +.\" $NetBSD: test.1,v 1.28 2012/12/16 17:57:49 wiz Exp $ .\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -32,7 +32,7 @@ .\" .\" @(#)test.1 8.1 (Berkeley) 5/31/93 .\" -.Dd November 10, 2009 +.Dd December 16, 2012 .Dt TEST 1 .Os .Sh NAME @@ -40,13 +40,13 @@ .Nm \&[ .Nd condition evaluation utility .Sh SYNOPSIS -.Nm test +.Nm .Ar expression .Nm \&[ .Ar expression Cm \&] .Sh DESCRIPTION The -.Nm test +.Nm utility evaluates .Ar expression and, if it evaluates @@ -55,12 +55,12 @@ it returns 1 (false). If .Ar expression is not given, -.Nm test +.Nm also returns 1 (false). .Pp All operators and flags are separate arguments to the -.Nm test +.Nm utility. .Pp The following primaries are used to construct @@ -293,19 +293,9 @@ Note that all file tests with the exception of and .Fl L follow symbolic links and thus evaluate the test for the file pointed at. -.Sh GRAMMAR AMBIGUITY -The -.Nm test -grammar is inherently ambiguous. -In order to assure a degree of consistency, the cases described in -.St -p1003.2 -section 4.62.4, -are evaluated consistently according to the rules specified in the -standards document. -All other cases are subject to the ambiguity in the command semantics. .Sh EXIT STATUS The -.Nm test +.Nm utility exits with one of the following values: .Bl -tag -width Ds .It 0 @@ -319,7 +309,17 @@ An error occurred. .El .Sh STANDARDS The -.Nm test +.Nm utility implements a superset of the .St -p1003.2 specification. +.Sh CAVEATS +The +.Nm +grammar is inherently ambiguous. +In order to assure a degree of consistency, the cases described in +.St -p1003.2 +section 4.62.4, +are evaluated consistently according to the rules specified in the +standards document. +All other cases are subject to the ambiguity in the command semantics. diff --git a/bin/test/test.c b/bin/test/test.c index 1497e4de8..1f91403ee 100644 --- a/bin/test/test.c +++ b/bin/test/test.c @@ -1,4 +1,4 @@ -/* $NetBSD: test.c,v 1.39 2012/03/15 02:02:21 joerg Exp $ */ +/* $NetBSD: test.c,v 1.40 2013/05/04 06:26:44 uebayasi Exp $ */ /* * test(1); version 7-like -- author Erik Baalbergen @@ -12,7 +12,7 @@ #include #ifndef lint -__RCSID("$NetBSD: test.c,v 1.39 2012/03/15 02:02:21 joerg Exp $"); +__RCSID("$NetBSD: test.c,v 1.40 2013/05/04 06:26:44 uebayasi Exp $"); #endif #include @@ -694,7 +694,7 @@ newerf(const char *f1, const char *f2) return (stat(f1, &b1) == 0 && stat(f2, &b2) == 0 && - b1.st_mtime > b2.st_mtime); + timespeccmp(&b1.st_mtim, &b2.st_mtim, >)); } static int @@ -704,7 +704,7 @@ olderf(const char *f1, const char *f2) return (stat(f1, &b1) == 0 && stat(f2, &b2) == 0 && - b1.st_mtime < b2.st_mtime); + timespeccmp(&b1.st_mtim, &b2.st_mtim, <)); } static int diff --git a/build.sh b/build.sh index bded6a7f7..6fb217649 100755 --- a/build.sh +++ b/build.sh @@ -1,5 +1,5 @@ #! /usr/bin/env sh -# $NetBSD: build.sh,v 1.256 2012/09/29 04:02:42 tsutsui Exp $ +# $NetBSD: build.sh,v 1.273 2013/08/30 10:29:06 pooka Exp $ # # Copyright (c) 2001-2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -263,6 +263,8 @@ progname=${0##*/} toppid=$$ results=/dev/null tab=' ' +nl=' +' trap "exit 1" 1 2 3 15 bomb() @@ -428,6 +430,7 @@ initdefaults() unsetmakeenv INFODIR unsetmakeenv LESSCHARSET unsetmakeenv MAKEFLAGS + unsetmakeenv TERMINFO setmakeenv LC_ALL C # Find information about the build platform. This should be @@ -505,7 +508,8 @@ initdefaults() do_iso_image_source=false do_live_image=false do_install_image=false - do_params=false + do_disk_image=false + do_show_params=false do_rump=false # done_{operation}=true if given operation has been done. @@ -546,211 +550,255 @@ initdefaults() } +# valid_MACHINE_ARCH -- A multi-line string, listing all valid +# MACHINE/MACHINE_ARCH pairs. +# +# Each line contains a MACHINE and MACHINE_ARCH value, an optional ALIAS +# which may be used to refer to the MACHINE/MACHINE_ARCH pair, and an +# optional DEFAULT or NO_DEFAULT keyword. +# +# When a MACHINE corresponds to multiple possible values of +# MACHINE_ARCH, then this table should list all allowed combinations. +# If the MACHINE is associated with a default MACHINE_ARCH (to be +# used when the user specifies the MACHINE but fails to specify the +# MACHINE_ARCH), then one of the lines should have the "DEFAULT" +# keyword. If there is no default MACHINE_ARCH for a particular +# MACHINE, then there should be a line with the "NO_DEFAULT" keyword, +# and with a blank MACHINE_ARCH. +# +valid_MACHINE_ARCH=' +MACHINE=acorn26 MACHINE_ARCH=arm +MACHINE=acorn32 MACHINE_ARCH=arm +MACHINE=algor MACHINE_ARCH=mips64el ALIAS=algor64 +MACHINE=algor MACHINE_ARCH=mipsel DEFAULT +MACHINE=alpha MACHINE_ARCH=alpha +MACHINE=amd64 MACHINE_ARCH=x86_64 +MACHINE=amiga MACHINE_ARCH=m68k +MACHINE=amigappc MACHINE_ARCH=powerpc +MACHINE=arc MACHINE_ARCH=mips64el ALIAS=arc64 +MACHINE=arc MACHINE_ARCH=mipsel DEFAULT +MACHINE=atari MACHINE_ARCH=m68k +MACHINE=bebox MACHINE_ARCH=powerpc +MACHINE=cats MACHINE_ARCH=arm DEFAULT +MACHINE=cats MACHINE_ARCH=earmv4 ALIAS=ecats +MACHINE=cesfic MACHINE_ARCH=m68k +MACHINE=cobalt MACHINE_ARCH=mips64el ALIAS=cobalt64 +MACHINE=cobalt MACHINE_ARCH=mipsel DEFAULT +MACHINE=dreamcast MACHINE_ARCH=sh3el +MACHINE=emips MACHINE_ARCH=mipseb +MACHINE=epoc32 MACHINE_ARCH=arm +MACHINE=evbarm MACHINE_ARCH=arm ALIAS=evbarm-el DEFAULT +MACHINE=evbarm MACHINE_ARCH=armeb ALIAS=evbarm-eb +MACHINE=evbarm MACHINE_ARCH=earm ALIAS=evbearm-el +MACHINE=evbarm MACHINE_ARCH=earmeb ALIAS=evbearm-eb +MACHINE=evbarm MACHINE_ARCH=earmhf ALIAS=evbearmhf-el +MACHINE=evbarm MACHINE_ARCH=earmhfeb ALIAS=evbearmhf-eb +MACHINE=evbarm MACHINE_ARCH=earmv4 ALIAS=evbearmv4-el +MACHINE=evbarm MACHINE_ARCH=earmv4eb ALIAS=evbearmv4-eb +MACHINE=evbarm MACHINE_ARCH=earmv5 ALIAS=evbearmv5-el +MACHINE=evbarm MACHINE_ARCH=earmv5eb ALIAS=evbearmv5-eb +MACHINE=evbarm MACHINE_ARCH=earmv6 ALIAS=evbearmv6-el +MACHINE=evbarm MACHINE_ARCH=earmv6hf ALIAS=evbearmv6hf-el +MACHINE=evbarm MACHINE_ARCH=earmv6eb ALIAS=evbearmv6-eb +MACHINE=evbarm MACHINE_ARCH=earmv6hfeb ALIAS=evbearmv6hf-eb +MACHINE=evbarm MACHINE_ARCH=earmv7 ALIAS=evbearmv7-el +MACHINE=evbarm MACHINE_ARCH=earmv7eb ALIAS=evbearmv7-eb +MACHINE=evbarm MACHINE_ARCH=earmv7hf ALIAS=evbearmv7hf-el +MACHINE=evbarm MACHINE_ARCH=earmv7hfeb ALIAS=evbearmv7hf-eb +MACHINE=evbcf MACHINE_ARCH=coldfire +MACHINE=evbmips MACHINE_ARCH= NO_DEFAULT +MACHINE=evbmips MACHINE_ARCH=mips64eb ALIAS=evbmips64-eb +MACHINE=evbmips MACHINE_ARCH=mips64el ALIAS=evbmips64-el +MACHINE=evbmips MACHINE_ARCH=mipseb ALIAS=evbmips-eb +MACHINE=evbmips MACHINE_ARCH=mipsel ALIAS=evbmips-el +MACHINE=evbppc MACHINE_ARCH=powerpc DEFAULT +MACHINE=evbppc MACHINE_ARCH=powerpc64 ALIAS=evbppc64 +MACHINE=evbsh3 MACHINE_ARCH= NO_DEFAULT +MACHINE=evbsh3 MACHINE_ARCH=sh3eb ALIAS=evbsh3-eb +MACHINE=evbsh3 MACHINE_ARCH=sh3el ALIAS=evbsh3-el +MACHINE=ews4800mips MACHINE_ARCH=mipseb +MACHINE=hp300 MACHINE_ARCH=m68k +MACHINE=hp700 MACHINE_ARCH=hppa +MACHINE=hpcarm MACHINE_ARCH=arm DEFAULT +MACHINE=hpcarm MACHINE_ARCH=earm ALIAS=hpcearm +MACHINE=hpcmips MACHINE_ARCH=mipsel +MACHINE=hpcsh MACHINE_ARCH=sh3el +MACHINE=i386 MACHINE_ARCH=i386 +MACHINE=ia64 MACHINE_ARCH=ia64 +MACHINE=ibmnws MACHINE_ARCH=powerpc +MACHINE=iyonix MACHINE_ARCH=arm DEFAULT +MACHINE=iyonix MACHINE_ARCH=earm ALIAS=eiyonix +MACHINE=landisk MACHINE_ARCH=sh3el +MACHINE=luna68k MACHINE_ARCH=m68k +MACHINE=mac68k MACHINE_ARCH=m68k +MACHINE=macppc MACHINE_ARCH=powerpc DEFAULT +MACHINE=macppc MACHINE_ARCH=powerpc64 ALIAS=macppc64 +MACHINE=mipsco MACHINE_ARCH=mipseb +MACHINE=mmeye MACHINE_ARCH=sh3eb +MACHINE=mvme68k MACHINE_ARCH=m68k +MACHINE=mvmeppc MACHINE_ARCH=powerpc +MACHINE=netwinder MACHINE_ARCH=arm DEFAULT +MACHINE=netwinder MACHINE_ARCH=earmv4 ALIAS=enetwinder +MACHINE=news68k MACHINE_ARCH=m68k +MACHINE=newsmips MACHINE_ARCH=mipseb +MACHINE=next68k MACHINE_ARCH=m68k +MACHINE=ofppc MACHINE_ARCH=powerpc DEFAULT +MACHINE=ofppc MACHINE_ARCH=powerpc64 ALIAS=ofppc64 +MACHINE=pmax MACHINE_ARCH=mips64el ALIAS=pmax64 +MACHINE=pmax MACHINE_ARCH=mipsel DEFAULT +MACHINE=prep MACHINE_ARCH=powerpc +MACHINE=rs6000 MACHINE_ARCH=powerpc +MACHINE=sandpoint MACHINE_ARCH=powerpc +MACHINE=sbmips MACHINE_ARCH= NO_DEFAULT +MACHINE=sbmips MACHINE_ARCH=mips64eb ALIAS=sbmips64-eb +MACHINE=sbmips MACHINE_ARCH=mips64el ALIAS=sbmips64-el +MACHINE=sbmips MACHINE_ARCH=mipseb ALIAS=sbmips-eb +MACHINE=sbmips MACHINE_ARCH=mipsel ALIAS=sbmips-el +MACHINE=sgimips MACHINE_ARCH=mips64eb ALIAS=sgimips64 +MACHINE=sgimips MACHINE_ARCH=mipseb DEFAULT +MACHINE=shark MACHINE_ARCH=arm DEFAULT +MACHINE=shark MACHINE_ARCH=earmv4 ALIAS=eshark +MACHINE=sparc MACHINE_ARCH=sparc +MACHINE=sparc64 MACHINE_ARCH=sparc64 +MACHINE=sun2 MACHINE_ARCH=m68000 +MACHINE=sun3 MACHINE_ARCH=m68k +MACHINE=vax MACHINE_ARCH=vax +MACHINE=x68k MACHINE_ARCH=m68k +MACHINE=zaurus MACHINE_ARCH=arm DEFAULT +MACHINE=zaurus MACHINE_ARCH=earm ALIAS=ezaurus +' + +# getarch -- find the default MACHINE_ARCH for a MACHINE, +# or convert an alias to a MACHINE/MACHINE_ARCH pair. +# +# Saves MACHINE in makewrappermachine before possibly modifying MACHINE. +# +# Sets MACHINE and MACHINE_ARCH if the input MACHINE value is +# recognised as an alias, or recognised as a machine that has a default +# MACHINE_ARCH (or that has only one possible MACHINE_ARCH). +# +# Leaves MACHINE and MACHINE_ARCH unchanged if MACHINE is recognised +# as being associated with multiple MACHINE_ARCH values with no default. +# +# Bombs if MACHINE is not recognised. +# getarch() { - # Translate some MACHINE name aliases (known only to build.sh) - # into proper MACHINE and MACHINE_ARCH names. Save the alias - # name in makewrappermachine. - # - case "${MACHINE}" in + local IFS + local found="" + local line - evbearm-e[bl]) - makewrappermachine=${MACHINE} - # MACHINE_ARCH is "arm" or "armeb", not "armel" - MACHINE_ARCH=earm${MACHINE##*-} - MACHINE_ARCH=${MACHINE_ARCH%el} - MACHINE=evbarm + IFS="${nl}" + makewrappermachine="${MACHINE}" + for line in ${valid_MACHINE_ARCH}; do + line="${line%%#*}" # ignore comments + line="$( IFS=" ${tab}" ; echo $line )" # normalise white space + case "${line} " in + "") + # skip blank lines or comment lines + continue + ;; + *" ALIAS=${MACHINE} "*) + # Found a line with a matching ALIAS=. + found="$line" + break + ;; + "MACHINE=${MACHINE} "*" NO_DEFAULT"*) + # Found an explicit "NO_DEFAULT" for this MACHINE. + found="$line" + break + ;; + "MACHINE=${MACHINE} "*" DEFAULT"*) + # Found an explicit "DEFAULT" for this MACHINE. + found="$line" + break + ;; + "MACHINE=${MACHINE} "*) + # Found a line for this MACHINE. If it's the + # first such line, then tentatively accept it. + # If it's not the first matching line, then + # remember that there was more than one match. + case "$found" in + '') found="$line" ;; + *) found="MULTIPLE_MATCHES" ; break ;; + esac + ;; + esac + done + + case "$found" in + *NO_DEFAULT*|*MULTIPLE_MATCHES*) + # MACHINE is OK, but MACHINE_ARCH is still unknown + return ;; - - evbarm-e[bl]) - makewrappermachine=${MACHINE} - # MACHINE_ARCH is "arm" or "armeb", not "armel" - MACHINE_ARCH=arm${MACHINE##*-} - MACHINE_ARCH=${MACHINE_ARCH%el} - MACHINE=${MACHINE%-e[bl]} + "MACHINE="*" MACHINE_ARCH="*) + # Obey the MACHINE= and MACHINE_ARCH= parts of the line. + IFS=" " + for frag in ${found}; do + case "$frag" in + MACHINE=*|MACHINE_ARCH=*) + eval "$frag" + ;; + esac + done ;; - - evbmips-e[bl]|sbmips-e[bl]) - makewrappermachine=${MACHINE} - MACHINE_ARCH=mips${MACHINE##*-} - MACHINE=${MACHINE%-e[bl]} - ;; - - evbmips64-e[bl]|sbmips64-e[bl]) - makewrappermachine=${MACHINE} - MACHINE_ARCH=mips64${MACHINE##*-} - MACHINE=${MACHINE%64-e[bl]} - ;; - - evbsh3-e[bl]) - makewrappermachine=${MACHINE} - MACHINE_ARCH=sh3${MACHINE##*-} - MACHINE=${MACHINE%-e[bl]} - ;; - - esac - - # Translate a MACHINE into a default MACHINE_ARCH. - # - case "${MACHINE}" in - - acorn26|acorn32|cats|hpcarm|iyonix|netwinder|shark|zaurus) - MACHINE_ARCH=arm - ;; - - evbarm) # unspecified MACHINE_ARCH gets LE - MACHINE_ARCH=${MACHINE_ARCH:=arm} - ;; - - hp700) - MACHINE_ARCH=hppa - ;; - - sun2) - MACHINE_ARCH=m68000 - ;; - - amiga|atari|cesfic|hp300|luna68k|mac68k|mvme68k|news68k|next68k|sun3|x68k) - MACHINE_ARCH=m68k - ;; - - evbmips|sbmips) # no default MACHINE_ARCH - ;; - - sgimips64) - makewrappermachine=${MACHINE} - MACHINE=${MACHINE%64} - MACHINE_ARCH=mips64eb - ;; - - ews4800mips|mipsco|newsmips|sgimips|emips) - MACHINE_ARCH=mipseb - ;; - - algor64|arc64|cobalt64|pmax64) - makewrappermachine=${MACHINE} - MACHINE=${MACHINE%64} - MACHINE_ARCH=mips64el - ;; - - algor|arc|cobalt|hpcmips|pmax) - MACHINE_ARCH=mipsel - ;; - - evbppc64|macppc64|ofppc64) - makewrappermachine=${MACHINE} - MACHINE=${MACHINE%64} - MACHINE_ARCH=powerpc64 - ;; - - amigappc|bebox|evbppc|ibmnws|macppc|mvmeppc|ofppc|prep|rs6000|sandpoint) - MACHINE_ARCH=powerpc - ;; - - evbsh3) # no default MACHINE_ARCH - ;; - - mmeye) - MACHINE_ARCH=sh3eb - ;; - - dreamcast|hpcsh|landisk) - MACHINE_ARCH=sh3el - ;; - - amd64) - MACHINE_ARCH=x86_64 - ;; - - alpha|i386|sparc|sparc64|vax|ia64) - MACHINE_ARCH=${MACHINE} - ;; - - i[4-6]86) - # LSC FIXME: This is required as uname -m reports the actual machine. - # We will be able to remove this once our triple has been cleaned up - # (at this time we compile only for i386, and use an incorrect host triple) - MACHINE=i386 - MACHINE_ARCH=i386 - ;; - *) bomb "Unknown target MACHINE: ${MACHINE}" ;; - esac } +# validatearch -- check that the MACHINE/MACHINE_ARCH pair is supported. +# +# Bombs if the pair is not supported. +# validatearch() { - # Ensure that the MACHINE_ARCH exists (and is supported by build.sh). - # + local IFS + local line + local foundpair=false foundmachine=false foundarch=false + case "${MACHINE_ARCH}" in - - alpha|arm|armeb|earm|earmeb|hppa|i386|m68000|m68k|mipse[bl]|mips64e[bl]|powerpc|powerpc64|sh3e[bl]|sparc|sparc64|vax|x86_64|ia64) - ;; - "") bomb "No MACHINE_ARCH provided" ;; + esac - *) + IFS="${nl}" + for line in ${valid_MACHINE_ARCH}; do + line="${line%%#*}" # ignore comments + line="$( IFS=" ${tab}" ; echo $line )" # normalise white space + case "${line} " in + "") + # skip blank lines or comment lines + continue + ;; + "MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH} "*) + foundpair=true + ;; + "MACHINE=${MACHINE} "*) + foundmachine=true + ;; + *"MACHINE_ARCH=${MACHINE_ARCH} "*) + foundarch=true + ;; + esac + done + + case "${foundpair}:${foundmachine}:${foundarch}" in + true:*) + : OK + ;; + *:false:*) + bomb "Unknown target MACHINE: ${MACHINE}" + ;; + *:*:false) bomb "Unknown target MACHINE_ARCH: ${MACHINE_ARCH}" ;; - - esac - - # Determine valid MACHINE_ARCHs for MACHINE - # - case "${MACHINE}" in - - evbarm) - arches="arm armeb earm earmeb" - ;; - - cats|iyonix|netwinder|shark|zaurus) - arches="arm earm" - ;; - - algor|arc|cobalt|pmax) - arches="mipsel mips64el" - ;; - - evbmips|sbmips) - arches="mipseb mipsel mips64eb mips64el" - ;; - - sgimips) - arches="mipseb mips64eb" - ;; - - evbsh3) - arches="sh3eb sh3el" - ;; - - macppc|evbppc|ofppc) - arches="powerpc powerpc64" - ;; *) - oma="${MACHINE_ARCH}" - getarch - arches="${MACHINE_ARCH}" - MACHINE_ARCH="${oma}" + bomb "MACHINE_ARCH '${MACHINE_ARCH}' does not support MACHINE '${MACHINE}'" ;; - esac - - # Ensure that MACHINE_ARCH supports MACHINE - # - archok=false - for a in ${arches}; do - if [ "${a}" = "${MACHINE_ARCH}" ]; then - archok=true - break - fi - done - ${archok} || - bomb "MACHINE_ARCH '${MACHINE_ARCH}' does not support MACHINE '${MACHINE}'" } # nobomb_getmakevar -- @@ -892,7 +940,9 @@ Usage: ${progname} [-EhnorUuxy] [-a arch] [-B buildid] [-C cdextras] RELEASEDIR/RELEASEMACHINEDIR/installation/liveimage. install-image Create bootable installation image in RELEASEDIR/RELEASEMACHINEDIR/installation/installimage. - params Display various make(1) parameters. + disk-image=target Creae bootable disk image in + RELEASEDIR/RELEASEMACHINEDIR/binary/gzimg/target.img.gz. + show-params Display various make(1) parameters. Options: -a arch Set MACHINE_ARCH to arch. [Default: deduced from MACHINE] @@ -1152,7 +1202,11 @@ parseoptions() usage ;; - makewrapper|cleandir|obj|tools|build|distribution|release|sets|sourcesets|syspkgs|params) + makewrapper|cleandir|obj|tools|build|distribution|release|sets|sourcesets|syspkgs) + ;; + + show-params) + op=show_params # used as part of a variable name ;; iso-image) @@ -1178,6 +1232,14 @@ parseoptions() bomb "Must supply a kernel name with \`${op}=...'" ;; + disk-image=*) + arg=${op#*=} + op=disk_image + [ -n "${arg}" ] || + bomb "Must supply a target name with \`${op}=...'" + + ;; + modules) op=modules ;; @@ -1226,6 +1288,24 @@ parseoptions() # sanitycheck() { + # Non-root should always use either the -U or -E flag. + # + if ! ${do_expertmode} && \ + [ "$id_u" -ne 0 ] && \ + [ "${MKUNPRIVED}" = "no" ] ; then + bomb "-U or -E must be set for build as an unprivileged user." + fi + + # Install as non-root is a bad idea. + # + if ${do_install} && [ "$id_u" -ne 0 ] ; then + if ${do_expertmode}; then + warning "Will install as an unprivileged user." + else + bomb "-E must be set for install as an unprivileged user." + fi + fi + # If the PATH contains any non-absolute components (including, # but not limited to, "." or ""), then complain. As an exception, # allow "" or "." as the last component of the PATH. This is fatal @@ -1375,7 +1455,7 @@ print_tooldir_make() # 1. build a new version of nbmake in a temporary directory; # 2. use the temporary nbmake to create the top level obj directory; # 3. use $(getmakevar TOOLDIR) with the temporary nbmake to -# get the corect value of TOOLDIR; +# get the correct value of TOOLDIR; # 4. move the temporary nbmake to ${TOOLDIR}/bin/nbmake. # # However, people don't like building nbmake unnecessarily if their @@ -1409,7 +1489,8 @@ rebuildmake() ${runcmd} env CC="${HOST_CC-cc}" CPPFLAGS="${HOST_CPPFLAGS}" \ CFLAGS="${HOST_CFLAGS--O}" LDFLAGS="${HOST_LDFLAGS}" \ ${HOST_SH} "${TOP}/tools/make/configure" || - bomb "Configure of ${toolprefix}make failed" + ( cp ${tmpdir}/config.log ${tmpdir}-config.log + bomb "Configure of ${toolprefix}make failed, see ${tmpdir}-config.log for details" ) ${runcmd} ${HOST_SH} buildmake.sh || bomb "Build of ${toolprefix}make failed" make="${tmpdir}/${toolprefix}make" @@ -1423,10 +1504,23 @@ rebuildmake() # Perform some late sanity checks, after rebuildmake, # but before createmakewrapper or any real work. # -# Also create the top-level obj directory. +# Creates the top-level obj directory, because that +# is needed by some of the sanity checks. +# +# Prints status messages reporting the values of several variables. # validatemakeparams() { + # MAKECONF (which defaults to /etc/mk.conf in share/mk/bsd.own.mk) + # can affect many things, so mention it in an early status message. + # + MAKECONF=$(getmakevar MAKECONF) + if [ -e "${MAKECONF}" ]; then + statusmsg2 "MAKECONF file:" "${MAKECONF}" + else + statusmsg2 "MAKECONF file:" "${MAKECONF} (File not found)" + fi + if [ "${runcmd}" = "echo" ]; then TOOLCHAIN_MISSING=no EXTERNAL_TOOLCHAIN="" @@ -1540,45 +1634,26 @@ validatemakeparams() removedirs="${TOOLDIR}" if [ -z "${DESTDIR}" ] || [ "${DESTDIR}" = "/" ]; then - if ${do_build} || ${do_distribution} || ${do_release}; then - if ! ${do_build} || \ - [ "${uname_s}" != "Minix" ] || \ - [ "${uname_m}" != "${MACHINE}" ]; then - bomb "DESTDIR must != / for cross builds, or ${progname} 'distribution' or 'release'." - fi - if ! ${do_expertmode}; then - bomb "DESTDIR must != / for non -E (expert) builds" - fi - statusmsg "WARNING: Building to /, in expert mode." - statusmsg " This may cause your system to break! Reasons include:" - statusmsg " - your kernel is not up to date" - statusmsg " - the libraries or toolchain have changed" - statusmsg " YOU HAVE BEEN WARNED!" + if ${do_distribution} || ${do_release} || \ + ( [ "${uname_s}" != "NetBSD" ] && [ "${uname_s}" != "Minix" ] ) || \ + [ "${uname_m}" != "${MACHINE}" ]; then + bomb "DESTDIR must != / for cross builds, or ${progname} 'distribution' or 'release'." fi + if ! ${do_expertmode}; then + bomb "DESTDIR must != / for non -E (expert) builds" + fi + statusmsg "WARNING: Building to /, in expert mode." + statusmsg " This may cause your system to break! Reasons include:" + statusmsg " - your kernel is not up to date" + statusmsg " - the libraries or toolchain have changed" + statusmsg " YOU HAVE BEEN WARNED!" else removedirs="${removedirs} ${DESTDIR}" fi - if ${do_build} || ${do_distribution} || ${do_release}; then - if ! ${do_expertmode} && \ - [ "$id_u" -ne 0 ] && \ - [ "${MKUNPRIVED}" = "no" ] ; then - bomb "-U or -E must be set for build as an unprivileged user." - fi - fi if ${do_releasekernel} && [ -z "${RELEASEDIR}" ]; then bomb "Must set RELEASEDIR with \`releasekernel=...'" fi - # Install as non-root is a bad idea. - # - if ${do_install} && [ "$id_u" -ne 0 ] ; then - if ${do_expertmode}; then - warning "Will install as an unprivileged user." - else - bomb "-E must be set for install as an unprivileged user." - fi - fi - # If a previous build.sh run used -U (and therefore created a # METALOG file), then most subsequent build.sh runs must also # use -U. If DESTDIR is about to be removed, then don't perform @@ -1589,9 +1664,7 @@ validatemakeparams() # DESTDIR is about to be removed ;; *) - if ( ${do_build} || ${do_distribution} || ${do_release} || \ - ${do_install} ) && \ - [ -e "${DESTDIR}/METALOG" ] && \ + if [ -e "${DESTDIR}/METALOG" ] && \ [ "${MKUNPRIVED}" = "no" ] ; then if $do_expertmode; then warning "A previous build.sh run specified -U." @@ -1678,7 +1751,7 @@ createmakewrapper() eval cat < -#endif - #include "deflate.h" const char deflate_copyright[] = diff --git a/common/dist/zlib/gzio.c b/common/dist/zlib/gzio.c index f4970be04..77bc73255 100644 --- a/common/dist/zlib/gzio.c +++ b/common/dist/zlib/gzio.c @@ -1,4 +1,4 @@ -/* $NetBSD: gzio.c,v 1.3 2011/05/19 22:23:12 tsutsui Exp $ */ +/* $NetBSD: gzio.c,v 1.4 2013/11/07 17:26:13 christos Exp $ */ /* gzio.c -- IO on .gz files * Copyright (C) 1995-2005 Jean-loup Gailly. @@ -157,6 +157,8 @@ local gzFile gz_open (path, mode, fd) if (s->mode == 'w') { #ifdef NO_GZCOMPRESS err = Z_STREAM_ERROR; + __USE(level); + __USE(strategy); #else err = deflateInit2(&(s->stream), level, Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, strategy); diff --git a/common/dist/zlib/infback.c b/common/dist/zlib/infback.c index 2f074dbfc..af697b764 100644 --- a/common/dist/zlib/infback.c +++ b/common/dist/zlib/infback.c @@ -12,10 +12,6 @@ inflate_fast() can be used with either inflate.c or infback.c. */ -#if defined(__minix) && defined(_STANDALONE) -#include -#endif - #include "zutil.h" #include "inftrees.h" #include "inflate.h" diff --git a/common/dist/zlib/inflate.c b/common/dist/zlib/inflate.c index fef7e8b43..12461dc54 100644 --- a/common/dist/zlib/inflate.c +++ b/common/dist/zlib/inflate.c @@ -82,10 +82,6 @@ * The history for versions after 1.2.0 are in ChangeLog in zlib distribution. */ -#if defined(__minix) && defined(_STANDALONE) -#include -#endif - #include "zutil.h" #include "inftrees.h" #include "inflate.h" diff --git a/common/dist/zlib/zutil.h b/common/dist/zlib/zutil.h index 38dfc9193..f1b34c9c6 100644 --- a/common/dist/zlib/zutil.h +++ b/common/dist/zlib/zutil.h @@ -18,13 +18,12 @@ #define ZLIB_INTERNAL #include "zlib.h" -#if defined(__NetBSD__) && (defined(_KERNEL) || defined(_STANDALONE)) +#if (defined(__minix) || defined(__NetBSD__)) && (defined(_KERNEL) || defined(_STANDALONE)) /* XXX doesn't seem to need anything at all, but this is for consistency. */ # include #else -#if defined(__minix) && !defined(_STANDALONE) #ifdef STDC # ifndef _WIN32_WCE # include @@ -47,7 +46,6 @@ # include # endif #endif -#endif /* defined(__minix) && !defined(_STANDALONE) */ #endif /* __NetBSD__ && (_KERNEL || _STANDALONE) */ #ifndef local diff --git a/common/include/ppath/Makefile b/common/include/ppath/Makefile new file mode 100644 index 000000000..f9eb78f2c --- /dev/null +++ b/common/include/ppath/Makefile @@ -0,0 +1,9 @@ +# $Id: Makefile,v 1.1 2011/08/25 16:15:29 dyoung Exp $ +# $NetBSD: Makefile,v 1.1 2011/08/25 16:15:29 dyoung Exp $ + +INCS= ppath.h ppath_impl.h + +INCSDIR= /usr/include/ppath + +.include + diff --git a/common/include/ppath/ppath.h b/common/include/ppath/ppath.h new file mode 100644 index 000000000..4e8f9978b --- /dev/null +++ b/common/include/ppath/ppath.h @@ -0,0 +1,91 @@ +/* $Id: ppath.h,v 1.1 2011/08/25 16:15:29 dyoung Exp $ */ + +/* Copyright (c) 2010 David Young. All rights reserved. */ + +#ifndef _PPATH_H +#define _PPATH_H + +#include + +#define PPATH_MAX_COMPONENTS 16 + +struct _ppath; +struct _ppath_component; +typedef struct _ppath ppath_t; +typedef struct _ppath_component ppath_component_t; + +ppath_component_t *ppath_idx(unsigned int); +ppath_component_t *ppath_key(const char *); + +ppath_component_t *ppath_component_retain(ppath_component_t *); +void ppath_component_release(ppath_component_t *); + +ppath_t *ppath_create(void); +unsigned int ppath_length(const ppath_t *); +int ppath_component_idx(const ppath_component_t *); +const char *ppath_component_key(const ppath_component_t *); +ppath_t *ppath_pop(ppath_t *, ppath_component_t **); +ppath_t *ppath_push(ppath_t *, ppath_component_t *); +ppath_component_t *ppath_component_at(const ppath_t *, unsigned int); +ppath_t *ppath_subpath(const ppath_t *, unsigned int, unsigned int); +ppath_t *ppath_push_idx(ppath_t *, unsigned int); +ppath_t *ppath_push_key(ppath_t *, const char *); +ppath_t *ppath_replace_idx(ppath_t *, unsigned int); +ppath_t *ppath_replace_key(ppath_t *, const char *); + +ppath_t *ppath_copy(const ppath_t *); +ppath_t *ppath_retain(ppath_t *); +void ppath_release(ppath_t *); + +prop_object_t ppath_lookup(prop_object_t, const ppath_t *); + +int ppath_copydel_object(prop_object_t, prop_object_t *, const ppath_t *); +int ppath_copyset_object(prop_object_t, prop_object_t *, const ppath_t *, + prop_object_t); +int ppath_create_object(prop_object_t, const ppath_t *, prop_object_t); +int ppath_set_object(prop_object_t, const ppath_t *, prop_object_t); +int ppath_get_object(prop_object_t, const ppath_t *, prop_object_t *); +int ppath_delete_object(prop_object_t, const ppath_t *); + +int ppath_copydel_bool(prop_object_t, prop_object_t *, const ppath_t *); +int ppath_copyset_bool(prop_object_t, prop_object_t *, const ppath_t *, bool); +int ppath_create_bool(prop_object_t, const ppath_t *, bool); +int ppath_create_int64(prop_object_t, const ppath_t *, int64_t); +int ppath_create_uint64(prop_object_t, const ppath_t *, uint64_t); +int ppath_create_data(prop_object_t, const ppath_t *, const void *, size_t); +int ppath_create_string(prop_object_t, const ppath_t *, const char *); +int ppath_set_bool(prop_object_t, const ppath_t *, bool); +int ppath_get_bool(prop_object_t, const ppath_t *, bool *); +int ppath_delete_bool(prop_object_t, const ppath_t *); + +int ppath_copydel_data(prop_object_t, prop_object_t *, const ppath_t *); +int ppath_copyset_data(prop_object_t, prop_object_t *, const ppath_t *, + const void *, size_t); +int ppath_set_data(prop_object_t, const ppath_t *, const void *, size_t); +int ppath_get_data(prop_object_t, const ppath_t *, const void **, size_t *); +int ppath_dup_data(prop_object_t, const ppath_t *, void **, size_t *); +int ppath_delete_data(prop_object_t, const ppath_t *); + +int ppath_copydel_int64(prop_object_t, prop_object_t *, const ppath_t *); +int ppath_copyset_int64(prop_object_t, prop_object_t *, const ppath_t *, + int64_t); +int ppath_set_int64(prop_object_t, const ppath_t *, int64_t); +int ppath_get_int64(prop_object_t, const ppath_t *, int64_t *); +int ppath_delete_int64(prop_object_t, const ppath_t *); + +int ppath_copydel_string(prop_object_t, prop_object_t *, const ppath_t *); +int ppath_copyset_string(prop_object_t, prop_object_t *, const ppath_t *, + const char *); +int ppath_set_string(prop_object_t, const ppath_t *, const char *); +int ppath_get_string(prop_object_t, const ppath_t *, const char **); +int ppath_dup_string(prop_object_t, const ppath_t *, char **); +int ppath_delete_string(prop_object_t, const ppath_t *); + +int ppath_copydel_uint64(prop_object_t, prop_object_t *, const ppath_t *); +int ppath_copyset_uint64(prop_object_t, prop_object_t *, const ppath_t *, + uint64_t); +int ppath_set_uint64(prop_object_t, const ppath_t *, uint64_t); +int ppath_get_uint64(prop_object_t, const ppath_t *, uint64_t *); +int ppath_delete_uint64(prop_object_t, const ppath_t *); + +#endif /* _PPATH_H */ diff --git a/common/include/ppath/ppath_impl.h b/common/include/ppath/ppath_impl.h new file mode 100644 index 000000000..8bb3ce4ed --- /dev/null +++ b/common/include/ppath/ppath_impl.h @@ -0,0 +1,23 @@ +/* $Id: ppath_impl.h,v 1.1 2011/08/25 16:15:29 dyoung Exp $ */ + +/* Copyright (c) 2010 David Young. All rights reserved. */ + +#if defined(__NetBSD__) && (defined(_KERNEL) || defined(_STANDALONE)) +#include +#include +#define ppath_assert(__x) KASSERT(__x) +#else +#include +#include +#include +#include +#define ppath_assert(__x) assert(__x) +#endif /* defined(__NetBSD__) && (defined(_KERNEL) || defined(_STANDALONE)) */ + +void *ppath_alloc(size_t); +void ppath_free(void *, size_t); +void ppath_component_extant_inc(void); +void ppath_component_extant_dec(void); +void ppath_extant_inc(void); +void ppath_extant_dec(void); + diff --git a/common/lib/libc/arch/arm/atomic/Makefile.inc b/common/lib/libc/arch/arm/atomic/Makefile.inc index 5b4da5e4b..ba9044e38 100644 --- a/common/lib/libc/arch/arm/atomic/Makefile.inc +++ b/common/lib/libc/arch/arm/atomic/Makefile.inc @@ -1,16 +1,22 @@ -# $NetBSD: Makefile.inc,v 1.10 2012/09/11 20:51:25 matt Exp $ +# $NetBSD: Makefile.inc,v 1.14 2013/11/08 22:42:52 matt Exp $ -ARMV6= ${CPUFLAGS:M-march=armv7*} ${CPUFLAGS:M-mcpu=cortex*} -ARMV6+= ${CPUFLAGS:M-march=armv6*} ${CPUFLAGS:M-mcpu=arm11*} -ARMV6+= ${CFLAGS:M-march=armv7*:} ${CFLAGS:M-mcpu=cortex*} +ARMV6= ${CPUFLAGS:M-march=armv6*} ${CPUFLAGS:M-mcpu=arm11*} ARMV6+= ${CFLAGS:M-march=armv6*:} ${CFLAGS:M-mcpu=arm11*} -ARMV6+= ${CPPFLAGS:M-march=armv7*:} ${CPPFLAGS:M-mcpu=cortex*} ARMV6+= ${CPPFLAGS:M-march=armv6*:} ${CPPFLAGS:M-mcpu=arm11*} +ARMV7= ${CPUFLAGS:M-march=armv7*} ${CPUFLAGS:M-mcpu=cortex*} +ARMV7+= ${CFLAGS:M-march=armv7*:} ${CFLAGS:M-mcpu=cortex*} +ARMV7+= ${CPPFLAGS:M-march=armv7*:} ${CPPFLAGS:M-mcpu=cortex*} +.if empty(CFLAGS:M-march=*) && empty(CFLAGS:M-mcpu=*) \ + && empty(CPPFLAGS:M-march=*) && empty(CPPFLAGS:M-mcpu=*) \ + && empty(CPUFLAGS:M-march=*) && empty(CPUFLAGS:M-mcpu=*) +ARMV6+= ${MACHINE_ARCH:Mearmv6*} +ARMV7+= ${MACHINE_ARCH:Mearmv7*} +.endif .if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \ || ${LIB} == "rump" || (defined(__MINIX) && ${LIB} == "sys")) -.if empty(ARMV6) +.if empty(ARMV6) && empty(ARMV7) SRCS.atomic+= atomic_add_32_cas.c atomic_add_32_nv_cas.c \ atomic_and_32_cas.c atomic_and_32_nv_cas.c \ atomic_dec_32_cas.c atomic_dec_32_nv_cas.c \ @@ -18,19 +24,37 @@ SRCS.atomic+= atomic_add_32_cas.c atomic_add_32_nv_cas.c \ atomic_or_32_cas.c atomic_or_32_nv_cas.c \ atomic_swap_32_cas.c membar_ops_nop.c .else -SRCS.atomic+= atomic_add_32.S atomic_and_32.S atomic_cas_32.S -SRCS.atomic+= atomic_dec_32.S atomic_inc_32.S atomic_or_32.S -SRCS.atomic+= atomic_swap.S membar_ops.S -SRCS.atomic+= atomic_add_64.S atomic_and_64.S atomic_cas_64.S -SRCS.atomic+= atomic_dec_64.S atomic_inc_64.S atomic_or_64.S -SRCS.atomic+= atomic_swap_64.S +.for op in add and cas nand or xor +.for sz in 8 16 32 64 +SRCS.atomic+= atomic_${op}_${sz}.S +.endfor +.endfor +SRCS.atomic+= atomic_dec_32.S atomic_dec_64.S +SRCS.atomic+= atomic_inc_32.S atomic_inc_64.S +SRCS.atomic+= atomic_swap.S atomic_swap_16.S atomic_swap_64.S +SRCS.atomic+= membar_ops.S +.for op in add and nand or sub xor +SRCS.atomic+= sync_fetch_and_${op}_8.S +.endfor +.for sz in 1 2 4 8 +SRCS.atomic+= sync_bool_compare_and_swap_${sz}.S +.endfor +.endif + +.endif + +.if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread" || ${LIB} == "rump") + +SRCS.atomic+= atomic_simplelock.c +.if empty(ARMV7) +CPUFLAGS.atomic_simplelock.c+= -marm .endif .endif .if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread") -.if empty(ARMV6) +.if empty(ARMV6) && empty(ARMV7) SRCS.atomic+= atomic_init_testset.c SRCS.atomic+= atomic_cas_up.S CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP @@ -40,4 +64,10 @@ SRCS.atomic+= atomic_init_cas.c .endif +.if !empty(ARMV6) +.for f in ${SRCS.atomic:M*.S} +CPUFLAGS.$f+= -marm +.endfor +.endif + SRCS+= ${SRCS.atomic} diff --git a/common/lib/libc/arch/arm/atomic/atomic_add_16.S b/common/lib/libc/arch/arm/atomic/atomic_add_16.S new file mode 100644 index 000000000..203aec898 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_add_16.S @@ -0,0 +1,100 @@ +/* $NetBSD: atomic_add_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_sub_16) + negs r1, r1 + /* FALLTHROUGH */ +ENTRY_NP(_atomic_add_16) + mov ip, r0 +1: ldrexh r0, [ip] /* load old value */ + adds r3, r0, r1 /* calculate new value */ + strexh r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_add_16) +END(_atomic_sub_16) + +ATOMIC_OP_ALIAS(atomic_add_16,_atomic_add_16) +ATOMIC_OP_ALIAS(atomic_add_short,_atomic_add_16) +ATOMIC_OP_ALIAS(atomic_add_ushort,_atomic_add_16) +STRONG_ALIAS(__sync_fetch_and_add_2,_atomic_add_16) +STRONG_ALIAS(_atomic_add_short,_atomic_add_16) +STRONG_ALIAS(_atomic_add_ushort,_atomic_add_16) + +ATOMIC_OP_ALIAS(atomic_sub_16,_atomic_sub_16) +ATOMIC_OP_ALIAS(atomic_sub_short,_atomic_sub_16) +ATOMIC_OP_ALIAS(atomic_sub_ushort,_atomic_sub_16) +STRONG_ALIAS(__sync_fetch_and_sub_2,_atomic_sub_16) +STRONG_ALIAS(_atomic_sub_short,_atomic_sub_16) +STRONG_ALIAS(_atomic_sub_ushort,_atomic_sub_16) + +ENTRY_NP(_atomic_sub_16_nv) + negs r1, r1 + /* FALLTHROUGH */ +ENTRY_NP(_atomic_add_16_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexh r0, [ip] /* load old value */ + adds r0, r0, r1 /* calculate new value (return value) */ + strexh r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_add_16_nv) +END(_atomic_sub_16_nv) +ATOMIC_OP_ALIAS(atomic_add_16_nv,_atomic_add_16_nv) +ATOMIC_OP_ALIAS(atomic_add_short_nv,_atomic_add_16_nv) +ATOMIC_OP_ALIAS(atomic_add_ushort_nv,_atomic_add_16_nv) +STRONG_ALIAS(__sync_add_and_fetch_2,_atomic_add_16_nv) +STRONG_ALIAS(_atomic_add_short_nv,_atomic_add_16_nv) +STRONG_ALIAS(_atomic_add_ushort_nv,_atomic_add_16_nv) + +ATOMIC_OP_ALIAS(atomic_sub_16_nv,_atomic_sub_16_nv) +ATOMIC_OP_ALIAS(atomic_sub_short_nv,_atomic_sub_16_nv) +ATOMIC_OP_ALIAS(atomic_sub_ushort_nv,_atomic_sub_16_nv) +STRONG_ALIAS(__sync_sub_and_fetch_2,_atomic_sub_16_nv) +STRONG_ALIAS(_atomic_sub_short_nv,_atomic_sub_16_nv) +STRONG_ALIAS(_atomic_sub_ushort_nv,_atomic_sub_16_nv) +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_add_32.S b/common/lib/libc/arch/arm/atomic/atomic_add_32.S index 79eb006ea..0e265274e 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_add_32.S +++ b/common/lib/libc/arch/arm/atomic/atomic_add_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add_32.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_add_32.S,v 1.6 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -33,48 +33,76 @@ #ifdef _ARM_ARCH_6 +ENTRY_NP(_atomic_sub_32) + negs r1, r1 + /* FALLTHROUGH */ ENTRY_NP(_atomic_add_32) - mov r3, r0 /* need r0 for return value */ -1: ldrex r0, [r3] /* load old value (to be returned) */ - add r2, r0, r1 /* calculate new value */ - strex ip, r2, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 +1: ldrex r0, [ip] /* load old value */ + adds r3, r0, r1 /* calculate new value */ + strex r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return old value */ - END(_atomic_add_32) +END(_atomic_add_32) +END(_atomic_sub_32) + ATOMIC_OP_ALIAS(atomic_add_32,_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_int,_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_long,_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_ptr,_atomic_add_32) +STRONG_ALIAS(__sync_fetch_and_add_4,_atomic_add_32) STRONG_ALIAS(_atomic_add_int,_atomic_add_32) STRONG_ALIAS(_atomic_add_long,_atomic_add_32) STRONG_ALIAS(_atomic_add_ptr,_atomic_add_32) +ATOMIC_OP_ALIAS(atomic_sub_32,_atomic_sub_32) +ATOMIC_OP_ALIAS(atomic_sub_int,_atomic_sub_32) +ATOMIC_OP_ALIAS(atomic_sub_long,_atomic_sub_32) +ATOMIC_OP_ALIAS(atomic_sub_ptr,_atomic_sub_32) +STRONG_ALIAS(__sync_fetch_and_sub_4,_atomic_sub_32) +STRONG_ALIAS(_atomic_sub_int,_atomic_sub_32) +STRONG_ALIAS(_atomic_sub_long,_atomic_sub_32) +STRONG_ALIAS(_atomic_sub_ptr,_atomic_sub_32) + +ENTRY_NP(_atomic_sub_32_nv) + negs r1, r1 + /* FALLTHROUGH */ ENTRY_NP(_atomic_add_32_nv) - mov r3, r0 /* need r0 for return value */ -1: ldrex r0, [r3] /* load old value */ - add r0, r0, r1 /* calculate new value (return value) */ - strex r2, r0, [r3] /* try to store */ + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + adds r0, r0, r1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_add_32_nv) +END(_atomic_add_32_nv) +END(_atomic_sub_32_nv) ATOMIC_OP_ALIAS(atomic_add_32_nv,_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_int_nv,_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_long_nv,_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_ptr_nv,_atomic_add_32_nv) +STRONG_ALIAS(__sync_add_and_fetch_4,_atomic_add_32_nv) STRONG_ALIAS(_atomic_add_int_nv,_atomic_add_32_nv) STRONG_ALIAS(_atomic_add_long_nv,_atomic_add_32_nv) STRONG_ALIAS(_atomic_add_ptr_nv,_atomic_add_32_nv) +ATOMIC_OP_ALIAS(atomic_sub_32_nv,_atomic_sub_32_nv) +ATOMIC_OP_ALIAS(atomic_sub_int_nv,_atomic_sub_32_nv) +ATOMIC_OP_ALIAS(atomic_sub_long_nv,_atomic_sub_32_nv) +ATOMIC_OP_ALIAS(atomic_sub_ptr_nv,_atomic_sub_32_nv) +STRONG_ALIAS(__sync_sub_and_fetch_4,_atomic_sub_32_nv) +STRONG_ALIAS(_atomic_sub_int_nv,_atomic_sub_32_nv) +STRONG_ALIAS(_atomic_sub_long_nv,_atomic_sub_32_nv) +STRONG_ALIAS(_atomic_sub_ptr_nv,_atomic_sub_32_nv) #endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_add_64.S b/common/lib/libc/arch/arm/atomic/atomic_add_64.S index f79e10c34..fd2721f0e 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_add_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_add_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add_64.S,v 1.3 2012/09/13 00:36:12 matt Exp $ */ +/* $NetBSD: atomic_add_64.S,v 1.10 2013/11/30 20:43:53 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,50 +32,31 @@ #ifdef _ARM_ARCH_6 -ENTRY_NP(_atomic_add_64) - str r4, [sp, #-4]! /* save temporary */ - mov r4, r0 /* need r0 for return value */ -#ifndef __ARM_EABI__ - mov r3, r2 - mov r2, r1 -#endif -1: ldrexd r0, [r4] /* load old value (to be returned) */ - adds NLO, LO, NLO /* calculate new value */ - adc NHI, HI, NHI /* calculate new value */ - strexd ip, r2, [r4] /* try to store */ - cmp ip, #0 /* succeed? */ - bne 1b /* no, try again */ -#ifdef _ARM_ARCH_7 - dmb -#else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ -#endif - ldr r4, [sp], #4 /* restore temporary */ - RET /* return old value */ - END(_atomic_add_64) -ATOMIC_OP_ALIAS(atomic_add_64,_atomic_add_64) - ENTRY_NP(_atomic_add_64_nv) - str r4, [sp, #-4]! /* save temporary */ - mov r4, r0 /* need r0 for return value */ + push {r3,r4} /* save temporary */ + mov ip, r0 /* need r0 for return value */ #ifndef __ARM_EABI__ mov r3, r2 mov r2, r1 #endif -1: ldrexd r0, [r4] /* load old value */ +1: ldrexd r0, r1, [ip] /* load old value */ adds LO, LO, NLO /* calculate new value lo */ - adc HI, HI, NHI /* calculate new value hi */ - strexd ip, r0, [r4] /* try to store */ - cmp ip, #0 /* succeed? */ + adcs HI, HI, NHI /* calculate new value hi */ + strexd r4, r0, r1, [ip] /* try to store */ + cmp r4, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - ldr r4, [sp], #4 /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET /* return new value */ - END(_atomic_add_64_nv) +END(_atomic_add_64_nv) + +STRONG_ALIAS(_atomic_add_64,_atomic_add_64_nv) ATOMIC_OP_ALIAS(atomic_add_64_nv,_atomic_add_64_nv) +ATOMIC_OP_ALIAS(atomic_add_64,_atomic_add_64) +STRONG_ALIAS(__sync_add_and_fetch_8,_atomic_add_64_nv) #endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_add_8.S b/common/lib/libc/arch/arm/atomic/atomic_add_8.S new file mode 100644 index 000000000..920732954 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_add_8.S @@ -0,0 +1,100 @@ +/* $NetBSD: atomic_add_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_sub_8) + negs r1, r1 + /* FALLTHROUGH */ +ENTRY_NP(_atomic_add_8) + mov ip, r0 +1: ldrexb r0, [ip] /* load old value */ + adds r3, r0, r1 /* calculate new value */ + strexb r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_add_8) +END(_atomic_sub_8) + +ATOMIC_OP_ALIAS(atomic_add_8,_atomic_add_8) +ATOMIC_OP_ALIAS(atomic_add_char,_atomic_add_8) +ATOMIC_OP_ALIAS(atomic_add_uchar,_atomic_add_8) +STRONG_ALIAS(__sync_fetch_and_add_1,_atomic_add_8) +STRONG_ALIAS(_atomic_add_char,_atomic_add_8) +STRONG_ALIAS(_atomic_add_uchar,_atomic_add_8) + +ATOMIC_OP_ALIAS(atomic_sub_8,_atomic_sub_8) +ATOMIC_OP_ALIAS(atomic_sub_char,_atomic_sub_8) +ATOMIC_OP_ALIAS(atomic_sub_uchar,_atomic_sub_8) +STRONG_ALIAS(__sync_fetch_and_sub_1,_atomic_sub_8) +STRONG_ALIAS(_atomic_sub_char,_atomic_sub_8) +STRONG_ALIAS(_atomic_sub_uchar,_atomic_sub_8) + +ENTRY_NP(_atomic_sub_8_nv) + negs r1, r1 + /* FALLTHROUGH */ +ENTRY_NP(_atomic_add_8_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexb r0, [ip] /* load old value */ + adds r0, r0, r1 /* calculate new value (return value) */ + strexb r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_add_8_nv) +END(_atomic_sub_8_nv) +ATOMIC_OP_ALIAS(atomic_add_8_nv,_atomic_add_8_nv) +ATOMIC_OP_ALIAS(atomic_add_char_nv,_atomic_add_8_nv) +ATOMIC_OP_ALIAS(atomic_add_uchar_nv,_atomic_add_8_nv) +STRONG_ALIAS(__sync_add_and_fetch_1,_atomic_add_8_nv) +STRONG_ALIAS(_atomic_add_char_nv,_atomic_add_8_nv) +STRONG_ALIAS(_atomic_add_uchar_nv,_atomic_add_8_nv) + +ATOMIC_OP_ALIAS(atomic_sub_8_nv,_atomic_sub_8_nv) +ATOMIC_OP_ALIAS(atomic_sub_char_nv,_atomic_sub_8_nv) +ATOMIC_OP_ALIAS(atomic_sub_uchar_nv,_atomic_sub_8_nv) +STRONG_ALIAS(__sync_sub_and_fetch_1,_atomic_sub_8_nv) +STRONG_ALIAS(_atomic_sub_char_nv,_atomic_sub_8_nv) +STRONG_ALIAS(_atomic_sub_uchar_nv,_atomic_sub_8_nv) +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_and_16.S b/common/lib/libc/arch/arm/atomic/atomic_and_16.S new file mode 100644 index 000000000..26a478012 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_and_16.S @@ -0,0 +1,76 @@ +/* $NetBSD: atomic_and_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_and_16) + mov ip, r0 +1: ldrexh r0, [ip] /* load old value (to be returned) */ + ands r3, r0, r1 /* calculate new value */ + strexh r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_and_16) + +ATOMIC_OP_ALIAS(atomic_and_16,_atomic_and_16) +ATOMIC_OP_ALIAS(atomic_and_ushort,_atomic_and_16) +STRONG_ALIAS(__sync_fetch_and_and_2,_atomic_and_16) +STRONG_ALIAS(_atomic_and_ushort,_atomic_and_16) + +ENTRY_NP(_atomic_and_16_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexh r0, [ip] /* load old value */ + ands r0, r0, r1 /* calculate new value (return value) */ + strexh r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_and_16_nv) + +ATOMIC_OP_ALIAS(atomic_and_16_nv,_atomic_and_16_nv) +ATOMIC_OP_ALIAS(atomic_and_ushort_nv,_atomic_and_16_nv) +STRONG_ALIAS(__sync_and_and_fetch_2,_atomic_and_16_nv) +STRONG_ALIAS(_atomic_and_ushort_nv,_atomic_and_16_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_and_32.S b/common/lib/libc/arch/arm/atomic/atomic_and_32.S index d55440cda..ab84d66f6 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_and_32.S +++ b/common/lib/libc/arch/arm/atomic/atomic_and_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and_32.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_and_32.S,v 1.6 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -34,42 +34,46 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_and_32) - mov r3, r0 /* need r0 for return value */ -1: ldrex r0, [r3] /* load old value (to be returned) */ - and r2, r0, r1 /* calculate new value */ - strex ip, r2, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 +1: ldrex r0, [ip] /* load old value (to be returned) */ + ands r3, r0, r1 /* calculate new value */ + strex r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return old value */ - END(_atomic_and_32) +END(_atomic_and_32) + ATOMIC_OP_ALIAS(atomic_and_32,_atomic_and_32) ATOMIC_OP_ALIAS(atomic_and_uint,_atomic_and_32) ATOMIC_OP_ALIAS(atomic_and_ulong,_atomic_and_32) +STRONG_ALIAS(__sync_fetch_and_and_4,_atomic_and_32) STRONG_ALIAS(_atomic_and_uint,_atomic_and_32) STRONG_ALIAS(_atomic_and_ulong,_atomic_and_32) ENTRY_NP(_atomic_and_32_nv) - mov r3, r0 /* need r0 for return value */ -1: ldrex r0, [r3] /* load old value */ - and r0, r0, r1 /* calculate new value (return value) */ - strex r2, r0, [r3] /* try to store */ + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + ands r0, r0, r1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_and_32_nv) +END(_atomic_and_32_nv) + ATOMIC_OP_ALIAS(atomic_and_32_nv,_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_uint_nv,_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_ulong_nv,_atomic_and_32_nv) +STRONG_ALIAS(__sync_and_and_fetch_4,_atomic_and_32_nv) STRONG_ALIAS(_atomic_and_uint_nv,_atomic_and_32_nv) STRONG_ALIAS(_atomic_and_ulong_nv,_atomic_and_32_nv) diff --git a/common/lib/libc/arch/arm/atomic/atomic_and_64.S b/common/lib/libc/arch/arm/atomic/atomic_and_64.S index 1c2f3f27c..b24ca6c85 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_and_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_and_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and_64.S,v 1.2 2012/09/13 00:36:12 matt Exp $ */ +/* $NetBSD: atomic_and_64.S,v 1.9 2013/11/30 21:09:11 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,50 +32,31 @@ #ifdef _ARM_ARCH_6 -ENTRY_NP(_atomic_and_64) - str r4, [sp, #-4]! /* save temporary */ -#ifndef __ARM_EABI__ - mov r3, r2 - mov r2, r1 -#endif - mov r4, r0 /* need r0 for return value */ -1: ldrexd r0, [r4] /* load old value (to be returned) */ - and r2, r0, r2 /* calculate new value */ - and r3, r1, r3 /* calculate new value */ - strexd ip, r2, [r4] /* try to store */ - cmp ip, #0 /* succeed? */ - bne 1b /* no, try again */ -#ifdef _ARM_ARCH_7 - dmb -#else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ -#endif - ldr r4, [sp], #4 /* restore temporary */ - RET /* return old value */ - END(_atomic_and_64) -ATOMIC_OP_ALIAS(atomic_and_64,_atomic_and_64) - ENTRY_NP(_atomic_and_64_nv) - str r4, [sp, #-4]! /* save temporary */ + push {r3,r4} /* save temporary */ #ifndef __ARM_EABI__ mov r3, r2 mov r2, r1 #endif - mov r4, r0 /* need r0 for return value */ -1: ldrexd r0, [r4] /* load old value */ - and r0, r0, r2 /* calculate new value */ - and r1, r1, r3 /* calculate new value */ - strexd ip, r0, [r4] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 /* need r0 for return value */ +1: ldrexd r0, r1, [ip] /* load old value */ + ands r0, r0, r2 /* calculate new value */ + ands r1, r1, r3 /* calculate new value */ + strexd r4, r0, r1, [ip] /* try to store */ + cmp r4, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - ldr r4, [sp], #4 /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET /* return new value */ - END(_atomic_and_64_nv) +END(_atomic_and_64_nv) + +STRONG_ALIAS(_atomic_and_64,_atomic_and_64_nv) ATOMIC_OP_ALIAS(atomic_and_64_nv,_atomic_and_64_nv) +ATOMIC_OP_ALIAS(atomic_and_64,_atomic_and_64_nv) +STRONG_ALIAS(__sync_and_and_fetch_8,_atomic_and_64_nv) #endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_and_8.S b/common/lib/libc/arch/arm/atomic/atomic_and_8.S new file mode 100644 index 000000000..c844d3161 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_and_8.S @@ -0,0 +1,76 @@ +/* $NetBSD: atomic_and_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_and_8) + mov ip, r0 +1: ldrexb r0, [ip] /* load old value (to be returned) */ + ands r3, r0, r1 /* calculate new value */ + strexb r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_and_8) + +ATOMIC_OP_ALIAS(atomic_and_8,_atomic_and_8) +ATOMIC_OP_ALIAS(atomic_and_uchar,_atomic_and_8) +STRONG_ALIAS(__sync_fetch_and_and_1,_atomic_and_8) +STRONG_ALIAS(_atomic_and_uchar,_atomic_and_8) + +ENTRY_NP(_atomic_and_8_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexb r0, [ip] /* load old value */ + ands r0, r0, r1 /* calculate new value (return value) */ + strexb r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_and_8_nv) + +ATOMIC_OP_ALIAS(atomic_and_8_nv,_atomic_and_8_nv) +ATOMIC_OP_ALIAS(atomic_and_uchar_nv,_atomic_and_8_nv) +STRONG_ALIAS(__sync_and_and_fetch_1,_atomic_and_8_nv) +STRONG_ALIAS(_atomic_and_uchar_nv,_atomic_and_8_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_cas_16.S b/common/lib/libc/arch/arm/atomic/atomic_cas_16.S new file mode 100644 index 000000000..1eb9707c9 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_cas_16.S @@ -0,0 +1,64 @@ +/* $NetBSD: atomic_cas_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#if defined(_ARM_ARCH_6) +/* + * ARMv6 has load-exclusive/store-exclusive which works for both user + * and kernel. + */ +ENTRY_NP(_atomic_cas_16) + mov ip, r0 /* we need r0 for return value */ +1: + ldrexh r0, [ip] /* load old value */ + cmp r0, r1 /* compare? */ +#ifdef __thumb__ + bne 2f +#else + RETc(ne) /* return if different */ +#endif + strexh r3, r2, [ip] /* store new value */ + cmp r3, #0 /* succeed? */ + bne 1b /* nope, try again. */ +#ifdef _ARM_ARCH_7 + dsb /* data synchronization barrier */ +#else + mcr p15, 0, r3, c7, c10, 4 /* data synchronization barrier */ +#endif +2: RET /* return. */ +END(_atomic_cas_16) + +ATOMIC_OP_ALIAS(atomic_cas_16,_atomic_cas_16) +STRONG_ALIAS(_atomic_cas_short,_atomic_cas_16) +STRONG_ALIAS(_atomic_cas_ushort,_atomic_cas_16) +STRONG_ALIAS(__sync_val_compare_and_swap_2,_atomic_cas_16) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_cas_32.S b/common/lib/libc/arch/arm/atomic/atomic_cas_32.S index c4011e7b2..b7cb89f6a 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_cas_32.S +++ b/common/lib/libc/arch/arm/atomic/atomic_cas_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_32.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_cas_32.S,v 1.6 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -36,21 +36,25 @@ * and kernel. */ ENTRY_NP(_atomic_cas_32) - mov r3, r0 /* we need r0 for return value */ + mov ip, r0 /* we need r0 for return value */ 1: - ldrex r0, [r3] /* load old value */ - teq r0, r1 /* compare? */ + ldrex r0, [ip] /* load old value */ + cmp r0, r1 /* compare? */ +#ifdef __thumb__ + bne 2f /* return if different */ +#else RETc(ne) /* return if different */ - strex ip, r2, [r3] /* store new value */ - cmp ip, #0 /* succeed? */ +#endif + strex r3, r2, [ip] /* store new value */ + cmp r3, #0 /* succeed? */ bne 1b /* nope, try again. */ #ifdef _ARM_ARCH_7 dsb #else - mcr p15, 0, ip, c7, c10, 4 /* data synchronization barrier */ + mcr p15, 0, r3, c7, c10, 4 /* data synchronization barrier */ #endif - RET /* return. */ - END(_atomic_cas_32) +2: RET /* return. */ +END(_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_32,_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_uint,_atomic_cas_32) @@ -60,6 +64,7 @@ ATOMIC_OP_ALIAS(atomic_cas_32_ni,_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_uint_ni,_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_ulong_ni,_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_ptr_ni,_atomic_cas_32) +STRONG_ALIAS(__sync_val_compare_and_swap_4,_atomic_cas_32) STRONG_ALIAS(_atomic_cas_uint,_atomic_cas_32) STRONG_ALIAS(_atomic_cas_ulong,_atomic_cas_32) STRONG_ALIAS(_atomic_cas_32_ni,_atomic_cas_32) @@ -68,4 +73,4 @@ STRONG_ALIAS(_atomic_cas_uint_ni,_atomic_cas_32) STRONG_ALIAS(_atomic_cas_ulong_ni,_atomic_cas_32) STRONG_ALIAS(_atomic_cas_ptr,_atomic_cas_32) -#endif /* _ARCH_ARM_6 */ +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_cas_64.S b/common/lib/libc/arch/arm/atomic/atomic_cas_64.S index d5046ebdb..b9b07c856 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_cas_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_cas_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_64.S,v 1.1 2012/09/11 20:51:25 matt Exp $ */ +/* $NetBSD: atomic_cas_64.S,v 1.5 2013/11/30 21:09:11 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -36,23 +36,28 @@ * and kernel. */ ENTRY_NP(_atomic_cas_64) - stmfd sp!, {r4, r5, r6} /* save temporaries */ - mov r6, r0 /* we need r0 for return value */ + push {r4, r5, r6} /* save temporaries */ + mov ip, r0 /* we need r0 for return value */ #ifdef __ARM_EABI__ - ldrd r4, [sp] /* fetch new value */ + ldrd r4, r5, [sp] /* fetch new value */ #else - ldr r5, [sp, #4] /* fetch new value */ ldr r4, [sp, #0] /* fetch new value */ + ldr r5, [sp, #4] /* fetch new value */ mov r3, r2 /* r2 will be overwritten by r1 which ... */ mov r2, r1 /* r1 will be overwritten by ldrexd */ #endif 1: - ldrexd r0, [r6] /* load current value */ - teq r0, r2 /* compare to old? 1st half */ - teqeq r1, r3 /* compare to old? 2nd half */ + ldrexd r0, r1, [ip] /* load current value */ + cmp r0, r2 /* compare to old? 1st half */ +#ifdef __thumb__ bne 2f /* jump to return if different */ - strexd ip, r4, [r6] /* store new value */ - cmp ip, #0 /* succeed? */ + cmp r1, r3 /* compare to old? 2nd half */ +#else + cmpeq r1, r3 /* compare to old? 2nd half */ +#endif + bne 2f /* jump to return if different */ + strexd r6, r4, r5, [ip] /* store new value */ + cmp r6, #0 /* succeed? */ bne 1b /* nope, try again. */ #ifdef _ARM_ARCH_7 dsb @@ -60,10 +65,11 @@ ENTRY_NP(_atomic_cas_64) mcr p15, 0, ip, c7, c10, 4 /* data synchronization barrier */ #endif 2: - ldmfd sp!, {r4, r5, r6} /* restore temporaries */ + pop {r4, r5, r6} /* restore temporaries */ RET /* return. */ - END(_atomic_cas_64) +END(_atomic_cas_64) ATOMIC_OP_ALIAS(atomic_cas_64,_atomic_cas_64) +STRONG_ALIAS(__sync_val_compare_and_swap_8,_atomic_cas_64) -#endif /* _ARCH_ARM_6 */ +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_cas_8.S b/common/lib/libc/arch/arm/atomic/atomic_cas_8.S index fc5ddeefe..99d852166 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_cas_8.S +++ b/common/lib/libc/arch/arm/atomic/atomic_cas_8.S @@ -1,6 +1,7 @@ -/* $NetBSD: atomic_cas_8.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_cas_8.S,v 1.6 2013/11/08 22:42:52 matt Exp $ */ + /*- - * Copyright (c) 2008 The NetBSD Foundation, Inc. + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation @@ -36,24 +37,29 @@ * and kernel. */ ENTRY_NP(_atomic_cas_8) - mov r3, r0 /* we need r0 for return value */ + mov ip, r0 /* we need r0 for return value */ 1: - ldrexb r0, [r3] /* load old value */ - teq r0, r1 /* compare? */ + ldrexb r0, [ip] /* load old value */ + cmp r0, r1 /* compare? */ +#ifdef __thumb__ + bne 2f +#else RETc(ne) /* return if different */ - strexb ip, r2, [r3] /* store new value */ - cmp ip, #0 /* succeed? */ +#endif + strexb r3, r2, [ip] /* store new value */ + cmp r3, #0 /* succeed? */ bne 1b /* nope, try again. */ #ifdef _ARM_ARCH_7 dsb /* data synchronization barrier */ #else - mcr p15, 0, ip, c7, c10, 4 /* data synchronization barrier */ + mcr p15, 0, r3, c7, c10, 4 /* data synchronization barrier */ #endif - RET /* return. */ +2: RET /* return. */ END(_atomic_cas_8) ATOMIC_OP_ALIAS(atomic_cas_8,_atomic_cas_8) STRONG_ALIAS(_atomic_cas_char,_atomic_cas_8) STRONG_ALIAS(_atomic_cas_uchar,_atomic_cas_8) +STRONG_ALIAS(__sync_val_compare_and_swap_1,_atomic_cas_8) -#endif /* _ARCH_ARM_6 */ +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_cas_up.S b/common/lib/libc/arch/arm/atomic/atomic_cas_up.S index 9fe854ea2..ba672e241 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_cas_up.S +++ b/common/lib/libc/arch/arm/atomic/atomic_cas_up.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_up.S,v 1.2 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_cas_up.S,v 1.4 2013/08/19 00:35:06 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -35,9 +35,16 @@ ENTRY(_atomic_cas_up) .hidden _C_LABEL(_atomic_cas_up) mov r3, r0 + .align 0 RAS_START_ASM_HIDDEN(_atomic_cas) ldr r0, [r3] cmp r0, r1 +#if defined(__thumb__) + beq 1f +#else streq r2, [r3] +#endif + .align 0 RAS_END_ASM_HIDDEN(_atomic_cas) - RET +1: RET +END(_atomic_cas_up) diff --git a/common/lib/libc/arch/arm/atomic/atomic_dec_32.S b/common/lib/libc/arch/arm/atomic/atomic_dec_32.S index 5d8b3d249..34f013630 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_dec_32.S +++ b/common/lib/libc/arch/arm/atomic/atomic_dec_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_dec_32.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_dec_32.S,v 1.5 2013/08/11 04:41:17 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,19 +33,19 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_dec_32) - mov r2, r0 /* need r0 for return value */ -1: ldrex r0, [r2] /* load old value (return value) */ - sub r1, r0, #1 /* calculate new value */ - strex r3, r1, [r2] /* try to store */ - cmp r3, #0 /* succeed? */ +1: ldrex r3, [r0] /* load old value (return value) */ + subs r3, r3, #1 /* calculate new value */ + strex r2, r3, [r0] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_dec_32) +END(_atomic_dec_32) + ATOMIC_OP_ALIAS(atomic_dec_32,_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_uint,_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_ulong,_atomic_dec_32) @@ -55,19 +55,20 @@ STRONG_ALIAS(_atomic_dec_ulong,_atomic_dec_32) STRONG_ALIAS(_atomic_dec_ptr,_atomic_dec_32) ENTRY_NP(_atomic_dec_32_nv) - mov r2, r0 /* need r0 for return value */ -1: ldrex r0, [r2] /* load old value */ - sub r0, r0, #1 /* calculate new value (return value) */ - strex r1, r0, [r2] /* try to store */ - cmp r1, #0 /* succeed? */ + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + subs r0, r0, #1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_dec_32_nv) +END(_atomic_dec_32_nv) + ATOMIC_OP_ALIAS(atomic_dec_32_nv,_atomic_dec_32_nv) ATOMIC_OP_ALIAS(atomic_dec_uint_nv,_atomic_dec_32_nv) ATOMIC_OP_ALIAS(atomic_dec_ulong_nv,_atomic_dec_32_nv) diff --git a/common/lib/libc/arch/arm/atomic/atomic_dec_64.S b/common/lib/libc/arch/arm/atomic/atomic_dec_64.S index 5315fdda1..33fe0827c 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_dec_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_dec_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_dec_64.S,v 1.2 2012/09/13 00:36:12 matt Exp $ */ +/* $NetBSD: atomic_dec_64.S,v 1.7 2013/11/30 21:09:11 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,42 +32,24 @@ #ifdef _ARM_ARCH_6 -ENTRY_NP(_atomic_dec_64) - mvn r2, #0 - mov r3, r0 /* need r0 for return value */ -1: ldrexd r0, [r3] /* load old value (return value) */ - adds LO, LO, r2 /* calculate new value */ - adc HI, HI, r2 /* calculate new value */ - strexd ip, r0, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ - bne 1b /* no, try again? */ -#ifdef _ARM_ARCH_7 - dmb -#else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ -#endif - adds LO, LO, #1 - adc HI, HI, #0 - RET /* return old value */ - END(_atomic_dec_64) -ATOMIC_OP_ALIAS(atomic_dec_64,_atomic_dec_64) - ENTRY_NP(_atomic_dec_64_nv) - mvn r2, #0 - mov r3, r0 /* need r0 for return value */ -1: ldrexd r0, [r3] /* load old value */ - adds LO, LO, r2 /* calculate new value */ - adc HI, HI, r2 /* calculate new value */ - strexd ip, r0, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 /* need r0 for return value */ +1: ldrexd r0, r1, [ip] /* load old value */ + subs LO, LO, #1 /* calculate new value */ + sbcs HI, HI, #0 /* calculate new value */ + strexd r2, r0, r1, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_dec_64_nv) +END(_atomic_dec_64_nv) + +STRONG_ALIAS(_atomic_dec_64,_atomic_dec_64_nv) ATOMIC_OP_ALIAS(atomic_dec_64_nv,_atomic_dec_64_nv) +ATOMIC_OP_ALIAS(atomic_dec_64,_atomic_dec_64) #endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_inc_32.S b/common/lib/libc/arch/arm/atomic/atomic_inc_32.S index cc08ce658..845a90668 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_inc_32.S +++ b/common/lib/libc/arch/arm/atomic/atomic_inc_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_inc_32.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_inc_32.S,v 1.7 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,19 +33,18 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_inc_32) - mov r2, r0 /* need r0 for return value */ -1: ldrex r0, [r2] /* load old value (return value) */ - add r1, r0, #1 /* calculate new value */ - strex r3, r1, [r2] /* try to store */ - cmp r3, #0 /* succeed? */ +1: ldrex r3, [r0] /* load old value (return value) */ + adds r3, r3, #1 /* calculate new value */ + strex r2, r3, [r0] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_inc_32) +END(_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_32,_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_uint,_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_ulong,_atomic_inc_32) @@ -55,19 +54,19 @@ STRONG_ALIAS(_atomic_inc_ulong,_atomic_inc_32) STRONG_ALIAS(_atomic_inc_ptr,_atomic_inc_32) ENTRY_NP(_atomic_inc_32_nv) - mov r2, r0 /* need r0 for return value */ -1: ldrex r0, [r2] /* load old value */ - add r0, r0, #1 /* calculate new value (return value) */ - strex r1, r0, [r2] /* try to store */ - cmp r1, #0 /* succeed? */ + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + adds r0, r0, #1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_inc_32_nv) +END(_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_32_nv,_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_uint_nv,_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_ulong_nv,_atomic_inc_32_nv) @@ -76,4 +75,4 @@ STRONG_ALIAS(_atomic_inc_uint_nv,_atomic_inc_32_nv) STRONG_ALIAS(_atomic_inc_ulong_nv,_atomic_inc_32_nv) STRONG_ALIAS(_atomic_inc_ptr_nv,_atomic_inc_32_nv) -#endif /* _ARCH_ARM_6 */ +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_inc_64.S b/common/lib/libc/arch/arm/atomic/atomic_inc_64.S index c798a9cb7..c078f0730 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_inc_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_inc_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_inc_64.S,v 1.2 2012/09/13 00:36:12 matt Exp $ */ +/* $NetBSD: atomic_inc_64.S,v 1.9 2013/11/30 21:09:11 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,41 +32,24 @@ #ifdef _ARM_ARCH_6 -ENTRY_NP(_atomic_inc_64) - mov r3, r0 /* need r0 for return value */ -1: ldrexd r0, [r3] /* load old value (return value) */ - adds LO, LO, #1 /* calculate new value */ - adc HI, HI, #0 /* zero means we carried */ - strexd ip, r0, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ - bne 1b /* no, try again? */ -#ifdef _ARM_ARCH_7 - dmb -#else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ -#endif - mvn r2, #0 /* r2 = -1 */ - adds LO, LO, r2 /* add it */ - adc HI, HI, r2 /* add with carry */ - RET /* return orig value */ - END(_atomic_inc_64) -ATOMIC_OP_ALIAS(atomic_inc_64,_atomic_inc_64) - ENTRY_NP(_atomic_inc_64_nv) - mov r3, r0 /* need r0 for return value */ -1: ldrexd r0, [r3] /* load old value */ - add LO, LO, #1 /* calculate new value (return value) */ - adc HI, HI, #0 /* fold carry into high */ - strexd ip, r0, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 /* need r0 for return value */ +1: ldrexd r0, r1, [ip] /* load old value */ + adds LO, LO, #1 /* calculate new value (return value) */ + adcs HI, HI, #0 /* fold carry into high */ + strexd r2, r0, r1, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_inc_64_nv) -ATOMIC_OP_ALIAS(atomic_inc_64_nv,_atomic_inc_64_nv) +END(_atomic_inc_64_nv) -#endif /* _ARCH_ARM_6 */ +STRONG_ALIAS(_atomic_inc_64,_atomic_inc_64_nv) +ATOMIC_OP_ALIAS(atomic_inc_64_nv,_atomic_inc_64_nv) +ATOMIC_OP_ALIAS(atomic_inc_64,_atomic_inc_64) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_nand_16.S b/common/lib/libc/arch/arm/atomic/atomic_nand_16.S new file mode 100644 index 000000000..7798745b2 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_nand_16.S @@ -0,0 +1,78 @@ +/* $NetBSD: atomic_nand_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_nand_16) + mov ip, r0 +1: ldrexh r0, [ip] /* load old value (to be returned) */ + mvns r3, r0 /* complement source */ + ands r3, r3, r1 /* calculate new value */ + strexh r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_nand_16) + +ATOMIC_OP_ALIAS(atomic_nand_16,_atomic_nand_16) +ATOMIC_OP_ALIAS(atomic_nand_ushort,_atomic_nand_16) +STRONG_ALIAS(__sync_fetch_and_nand_2,_atomic_nand_16) +STRONG_ALIAS(_atomic_nand_ushort,_atomic_nand_16) + +ENTRY_NP(_atomic_nand_16_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexh r0, [ip] /* load old value */ + mvns r0, r0 /* complement source */ + ands r0, r0, r1 /* calculate new value (return value) */ + strexh r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_nand_16_nv) + +ATOMIC_OP_ALIAS(atomic_nand_16_nv,_atomic_nand_16_nv) +ATOMIC_OP_ALIAS(atomic_nand_ushort_nv,_atomic_nand_16_nv) +STRONG_ALIAS(__sync_nand_and_fetch_2,_atomic_nand_16_nv) +STRONG_ALIAS(_atomic_nand_ushort_nv,_atomic_nand_16_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_nand_32.S b/common/lib/libc/arch/arm/atomic/atomic_nand_32.S new file mode 100644 index 000000000..dbe363876 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_nand_32.S @@ -0,0 +1,82 @@ +/* $NetBSD: atomic_nand_32.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_nand_32) + mov ip, r0 +1: ldrex r0, [ip] /* load old value (to be returned) */ + mvns r3, r0 /* complement source */ + ands r3, r3, r1 /* calculate new value */ + strex r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_nand_32) + +ATOMIC_OP_ALIAS(atomic_nand_32,_atomic_nand_32) +ATOMIC_OP_ALIAS(atomic_nand_uint,_atomic_nand_32) +ATOMIC_OP_ALIAS(atomic_nand_ulong,_atomic_nand_32) +STRONG_ALIAS(__sync_fetch_and_nand_4,_atomic_nand_32) +STRONG_ALIAS(_atomic_nand_uint,_atomic_nand_32) +STRONG_ALIAS(_atomic_nand_ulong,_atomic_nand_32) + +ENTRY_NP(_atomic_nand_32_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + mvns r0, r0 /* complement source */ + ands r0, r0, r1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_nand_32_nv) + +ATOMIC_OP_ALIAS(atomic_nand_32_nv,_atomic_nand_32_nv) +ATOMIC_OP_ALIAS(atomic_nand_uint_nv,_atomic_nand_32_nv) +ATOMIC_OP_ALIAS(atomic_nand_ulong_nv,_atomic_nand_32_nv) +STRONG_ALIAS(__sync_nand_and_fetch_4,_atomic_nand_32_nv) +STRONG_ALIAS(_atomic_nand_uint_nv,_atomic_nand_32_nv) +STRONG_ALIAS(_atomic_nand_ulong_nv,_atomic_nand_32_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_nand_64.S b/common/lib/libc/arch/arm/atomic/atomic_nand_64.S new file mode 100644 index 000000000..ccfed9de2 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_nand_64.S @@ -0,0 +1,64 @@ +/* $NetBSD: atomic_nand_64.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_nand_64_nv) + push {r3,r4} /* save temporary */ +#ifndef __ARM_EABI__ + mov r3, r2 + mov r2, r1 +#endif + mov ip, r0 /* need r0 for return value */ +1: ldrexd r0, r1, [ip] /* load old value */ + mvns r0, r0 /* complement old value */ + mvns r1, r1 /* complement old value */ + ands r0, r0, r2 /* calculate new value */ + ands r1, r1, r3 /* calculate new value */ + strexd r4, r0, r1, [ip] /* try to store */ + cmp r4, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ +#endif + pop {r3,r4} /* restore temporary */ + RET /* return new value */ +END(_atomic_nand_64_nv) + +STRONG_ALIAS(_atomic_nand_64,_atomic_nand_64_nv) +ATOMIC_OP_ALIAS(atomic_nand_64_nv,_atomic_nand_64_nv) +ATOMIC_OP_ALIAS(atomic_nand_64,_atomic_nand_64_nv) +STRONG_ALIAS(__sync_nand_and_fetch_8,_atomic_nand_64_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_nand_8.S b/common/lib/libc/arch/arm/atomic/atomic_nand_8.S new file mode 100644 index 000000000..110ef1b62 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_nand_8.S @@ -0,0 +1,78 @@ +/* $NetBSD: atomic_nand_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_nand_8) + mov ip, r0 +1: ldrexb r0, [ip] /* load old value (to be returned) */ + mvns r3, r0 /* complement source */ + ands r3, r3, r1 /* calculate new value */ + strexb r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_nand_8) + +ATOMIC_OP_ALIAS(atomic_nand_8,_atomic_nand_8) +ATOMIC_OP_ALIAS(atomic_nand_uchar,_atomic_nand_8) +STRONG_ALIAS(__sync_fetch_and_nand_1,_atomic_nand_8) +STRONG_ALIAS(_atomic_nand_uchar,_atomic_nand_8) + +ENTRY_NP(_atomic_nand_8_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexb r0, [ip] /* load old value */ + mvns r0, r0 /* complement source */ + ands r0, r0, r1 /* calculate new value (return value) */ + strexb r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_nand_8_nv) + +ATOMIC_OP_ALIAS(atomic_nand_8_nv,_atomic_nand_8_nv) +ATOMIC_OP_ALIAS(atomic_nand_uchar_nv,_atomic_nand_8_nv) +STRONG_ALIAS(__sync_nand_and_fetch_1,_atomic_nand_8_nv) +STRONG_ALIAS(_atomic_nand_uchar_nv,_atomic_nand_8_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_op_asm.h b/common/lib/libc/arch/arm/atomic/atomic_op_asm.h index 05cffe003..274e415f2 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_op_asm.h +++ b/common/lib/libc/arch/arm/atomic/atomic_op_asm.h @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_op_asm.h,v 1.3 2012/09/11 20:51:25 matt Exp $ */ +/* $NetBSD: atomic_op_asm.h,v 1.4 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -56,11 +56,15 @@ #define LO r1 #define NHI r2 #define NLO r3 +#define THI r4 +#define TLO r5 #else #define LO r0 #define HI r1 #define NLO r2 #define NHI r3 +#define TLO r4 +#define THI r5 #endif #endif /* _ATOMIC_OP_ASM_H_ */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_or_16.S b/common/lib/libc/arch/arm/atomic/atomic_or_16.S new file mode 100644 index 000000000..d89d53c54 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_or_16.S @@ -0,0 +1,75 @@ +/* $NetBSD: atomic_or_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_or_16) + mov ip, r0 +1: ldrexh r0, [ip] /* load old value (to be returned) */ + orrs r3, r0, r1 /* calculate new value */ + strexh r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_or_16) + +ATOMIC_OP_ALIAS(atomic_or_16,_atomic_or_16) +ATOMIC_OP_ALIAS(atomic_or_ushort,_atomic_or_16) +STRONG_ALIAS(__sync_fetch_and_or_2,_atomic_or_16) +STRONG_ALIAS(_atomic_or_ushort,_atomic_or_16) + +ENTRY_NP(_atomic_or_16_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexh r0, [ip] /* load old value */ + orrs r0, r0, r1 /* calculate new value (return value) */ + strexh r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_or_16_nv) + +ATOMIC_OP_ALIAS(atomic_or_16_nv,_atomic_or_16_nv) +ATOMIC_OP_ALIAS(atomic_or_ushort_nv,_atomic_or_16_nv) +STRONG_ALIAS(__sync_or_and_fetch_2,_atomic_or_16_nv) +STRONG_ALIAS(_atomic_or_ushort_nv,_atomic_or_16_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_or_32.S b/common/lib/libc/arch/arm/atomic/atomic_or_32.S index 9a64a54f6..1e3fedac8 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_or_32.S +++ b/common/lib/libc/arch/arm/atomic/atomic_or_32.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or_32.S,v 1.3 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_or_32.S,v 1.6 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,42 +33,46 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_atomic_or_32) - mov r3, r0 /* need r0 for return value */ -1: ldrex r0, [r3] /* load old value (to be returned) */ - orr r2, r0, r1 /* calculate new value */ - strex ip, r2, [r3] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 +1: ldrex r0, [ip] /* load old value (to be returned) */ + orrs r3, r0, r1 /* calculate new value */ + strex r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ bne 1b /* no, try again */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return old value */ - END(_atomic_or_32) +END(_atomic_or_32) + ATOMIC_OP_ALIAS(atomic_or_32,_atomic_or_32) ATOMIC_OP_ALIAS(atomic_or_uint,_atomic_or_32) ATOMIC_OP_ALIAS(atomic_or_ulong,_atomic_or_32) +STRONG_ALIAS(__sync_fetch_and_or_4,_atomic_or_32) STRONG_ALIAS(_atomic_or_uint,_atomic_or_32) STRONG_ALIAS(_atomic_or_ulong,_atomic_or_32) ENTRY_NP(_atomic_or_32_nv) - mov r3, r0 /* need r0 for return value */ -1: ldrex r0, [r3] /* load old value */ - orr r0, r0, r1 /* calculate new value (return value) */ - strex r2, r0, [r3] /* try to store */ + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + orrs r0, r0, r1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ cmp r2, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ #endif RET /* return new value */ - END(_atomic_or_32_nv) +END(_atomic_or_32_nv) + ATOMIC_OP_ALIAS(atomic_or_32_nv,_atomic_or_32_nv) ATOMIC_OP_ALIAS(atomic_or_uint_nv,_atomic_or_32_nv) ATOMIC_OP_ALIAS(atomic_or_ulong_nv,_atomic_or_32_nv) +STRONG_ALIAS(__sync_or_and_fetch_4,_atomic_or_32_nv) STRONG_ALIAS(_atomic_or_uint_nv,_atomic_or_32_nv) STRONG_ALIAS(_atomic_or_ulong_nv,_atomic_or_32_nv) diff --git a/common/lib/libc/arch/arm/atomic/atomic_or_64.S b/common/lib/libc/arch/arm/atomic/atomic_or_64.S index 7b73057ed..140e481ca 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_or_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_or_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or_64.S,v 1.2 2012/09/13 00:36:12 matt Exp $ */ +/* $NetBSD: atomic_or_64.S,v 1.9 2013/11/30 21:09:11 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -32,50 +32,31 @@ #ifdef _ARM_ARCH_6 -ENTRY_NP(_atomic_or_64) - str r4, [sp, #-4]! /* save temporary */ -#ifndef __ARM_EABI__ - mov r3, r2 - mov r2, r1 -#endif - mov r4, r0 /* need r0 for return value */ -1: ldrexd r0, [r4] /* load old value (to be returned) */ - orr r2, r0, r2 /* calculate new value */ - orr r3, r1, r3 /* calculate new value */ - strexd ip, r2, [r4] /* try to store */ - cmp ip, #0 /* succeed? */ - bne 1b /* no, try again */ -#ifdef _ARM_ARCH_7 - dmb -#else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ -#endif - ldr r4, [sp], #4 /* restore temporary */ - RET /* return old value */ - END(_atomic_or_64) -ATOMIC_OP_ALIAS(atomic_or_64,_atomic_or_64) - ENTRY_NP(_atomic_or_64_nv) - str r4, [sp, #-4]! /* save temporary */ + push {r3,r4} /* save temporary */ #ifndef __ARM_EABI__ mov r3, r2 mov r2, r1 #endif - mov r4, r0 /* need r0 for return value */ -1: ldrexd r0, [r4] /* load old value */ - orr r0, r0, r2 /* calculate new value (return value) */ - orr r1, r1, r3 /* calculate new value (return value) */ - strexd ip, r0, [r4] /* try to store */ - cmp ip, #0 /* succeed? */ + mov ip, r0 /* need r0 for return value */ +1: ldrexd r0, r1, [ip] /* load old value */ + orrs r0, r0, r2 /* calculate new value (return value) */ + orrs r1, r1, r3 /* calculate new value (return value) */ + strexd r4, r0, r1, [ip] /* try to store */ + cmp r4, #0 /* succeed? */ bne 1b /* no, try again? */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - ldr r4, [sp], #4 /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET /* return new value */ - END(_atomic_or_64_nv) +END(_atomic_or_64_nv) + +STRONG_ALIAS(_atomic_or_64,_atomic_or_64_nv) ATOMIC_OP_ALIAS(atomic_or_64_nv,_atomic_or_64_nv) +ATOMIC_OP_ALIAS(atomic_or_64,_atomic_or_64) +STRONG_ALIAS(__sync_or_and_fetch_8,_atomic_or_64) #endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_or_8.S b/common/lib/libc/arch/arm/atomic/atomic_or_8.S new file mode 100644 index 000000000..a618c6a54 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_or_8.S @@ -0,0 +1,76 @@ +/* $NetBSD: atomic_or_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_or_8) + mov ip, r0 +1: ldrexb r0, [ip] /* load old value (to be returned) */ + orrs r3, r0, r1 /* calculate new value */ + strexb r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_or_8) + +ATOMIC_OP_ALIAS(atomic_or_8,_atomic_or_8) +ATOMIC_OP_ALIAS(atomic_or_char,_atomic_or_8) +STRONG_ALIAS(__sync_fetch_and_or_1,_atomic_or_8) +STRONG_ALIAS(_atomic_or_char,_atomic_or_8) + +ENTRY_NP(_atomic_or_8_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexb r0, [ip] /* load old value */ + orrs r0, r0, r1 /* calculate new value (return value) */ + strexb r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_or_8_nv) + +ATOMIC_OP_ALIAS(atomic_or_8_nv,_atomic_or_8_nv) +ATOMIC_OP_ALIAS(atomic_or_char_nv,_atomic_or_8_nv) +STRONG_ALIAS(__sync_or_and_fetch_1,_atomic_or_8_nv) +STRONG_ALIAS(_atomic_or_char_nv,_atomic_or_8_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_simplelock.c b/common/lib/libc/arch/arm/atomic/atomic_simplelock.c new file mode 100644 index 000000000..b0bb09a4a --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_simplelock.c @@ -0,0 +1,72 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +__RCSID("$NetBSD: atomic_simplelock.c,v 1.2 2013/08/16 01:47:41 matt Exp $"); + +#include + +#if !defined(_ARM_ARCH_T2) +/* + * We need to use the inlines so redefine out of the way. + */ +#define __cpu_simple_lock __arm_simple_lock +#define __cpu_simple_lock_try __arm_simple_lock_try +#include +/* + * Now get rid of them. + */ +#undef __cpu_simple_lock +#undef __cpu_simple_lock_try + +/* + * Since we overrode lock.h we have to provide these ourselves. + */ +#ifdef __LIBPTHREAD_SOURCE__ +__dso_hidden void __cpu_simple_lock(__cpu_simple_lock_t *); +__dso_hidden int __cpu_simple_lock_try(__cpu_simple_lock_t *); +#else +void __cpu_simple_lock(__cpu_simple_lock_t *); +int __cpu_simple_lock_try(__cpu_simple_lock_t *); +#endif + +void +__cpu_simple_lock(__cpu_simple_lock_t *alp) +{ + + __arm_simple_lock(alp); +} + +int +__cpu_simple_lock_try(__cpu_simple_lock_t *alp) +{ + + return __arm_simple_lock_try(alp); +} +#endif diff --git a/common/lib/libc/arch/arm/atomic/atomic_sub_64.S b/common/lib/libc/arch/arm/atomic/atomic_sub_64.S new file mode 100644 index 000000000..2aad16d92 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_sub_64.S @@ -0,0 +1,63 @@ +/* $NetBSD: atomic_sub_64.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_sub_64_nv) + push {r3,r4} /* save temporary */ + mov ip, r0 /* need r0 for return value */ +#ifndef __ARM_EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, [ip] /* load old value */ + subs LO, LO, NLO /* calculate new value lo */ + sbcs HI, HI, NHI /* calculate new value hi */ + strexd r4, r0, [ip] /* try to store */ + cmp r4, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ +#endif + pop {r3,r4} /* restore temporary */ + RET /* return new value */ +END(_atomic_sub_64_nv) + +STRONG_ALIAS(_atomic_sub_64,_atomic_sub_64_nv) +ATOMIC_OP_ALIAS(atomic_sub_64_nv,_atomic_sub_64_nv) +ATOMIC_OP_ALIAS(atomic_sub_64,_atomic_sub_64) +STRONG_ALIAS(__sync_sub_and_fetch_8,_atomic_sub_64_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_swap.S b/common/lib/libc/arch/arm/atomic/atomic_swap.S index b7776c2ec..2191db20e 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_swap.S +++ b/common/lib/libc/arch/arm/atomic/atomic_swap.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap.S,v 1.4 2012/08/31 23:41:52 matt Exp $ */ +/* $NetBSD: atomic_swap.S,v 1.8 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2007,2012 The NetBSD Foundation, Inc. @@ -45,42 +45,58 @@ */ ENTRY_NP(_atomic_swap_32) - mov r2, r0 + mov ip, r0 1: #ifdef _ARM_ARCH_6 - ldrex r0, [r2] + ldrex r0, [ip] cmp r0, r1 - strexne ip, r1, [r2] +#ifdef __thumb__ + beq 99f + strex r3, r1, [ip] + cmp r3, #0 #else - swp r0, r1, [r2] - cmp r0, r1 - movsne ip, #0 + strexne r3, r1, [ip] + cmpne r3, #0 +#endif +#else + swp r0, r1, [ip] + cmp r0, r1 + movnes r3, #0 + cmpne r3, #0 #endif - cmpne ip, #0 bne 1b #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r3, c7, c10, 5 /* data memory barrier */ #endif +99: RET - END(_atomic_swap_32) +END(_atomic_swap_32) + ATOMIC_OP_ALIAS(atomic_swap_32,_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_uint,_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_ulong,_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_ptr,_atomic_swap_32) +STRONG_ALIAS(__sync_lock_test_and_set_4,_atomic_swap_32) STRONG_ALIAS(_atomic_swap_uint,_atomic_swap_32) STRONG_ALIAS(_atomic_swap_ulong,_atomic_swap_32) STRONG_ALIAS(_atomic_swap_ptr,_atomic_swap_32) +ENTRY_NP(__sync_lock_release_4) + mov r1, #0 + strb r1, [r0] + RET +END(__sync_lock_release_4) + ENTRY_NP(_atomic_swap_8) - mov r2, r0 + mov ip, r0 1: #ifdef _ARM_ARCH_6 - ldrexb r0, [r2] - strexb r3, r1, [r2] + ldrexb r0, [ip] + strexb r3, r1, [ip] #else - swpb r0, r1, [r2] + swpb r0, r1, [ip] mov r3, #0 #endif cmp r3, #0 @@ -91,9 +107,17 @@ ENTRY_NP(_atomic_swap_8) mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ #endif RET - END(_atomic_swap_8) +END(_atomic_swap_8) + ATOMIC_OP_ALIAS(atomic_swap_8,_atomic_swap_8) ATOMIC_OP_ALIAS(atomic_swap_char,_atomic_swap_8) ATOMIC_OP_ALIAS(atomic_swap_uchar,_atomic_swap_8) +STRONG_ALIAS(__sync_lock_test_and_set_1,_atomic_swap_8) STRONG_ALIAS(_atomic_swap_char,_atomic_swap_8) STRONG_ALIAS(_atomic_swap_uchar,_atomic_swap_8) + +ENTRY_NP(__sync_lock_release_1) + mov r1, #0 + strb r1, [r0] + RET +END(__sync_lock_release_1) diff --git a/common/lib/libc/arch/arm/atomic/atomic_swap_16.S b/common/lib/libc/arch/arm/atomic/atomic_swap_16.S new file mode 100644 index 000000000..f8e71d0d2 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_swap_16.S @@ -0,0 +1,62 @@ +/* $NetBSD: atomic_swap_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 +ENTRY_NP(_atomic_swap_16) + mov ip, r0 +1: + ldrexh r0, [ip] + strexh r3, r1, [ip] + cmp r3, #0 + bne 1b +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ +#endif + RET +END(_atomic_swap_16) + +ATOMIC_OP_ALIAS(atomic_swap_16,_atomic_swap_16) +ATOMIC_OP_ALIAS(atomic_swap_short,_atomic_swap_16) +ATOMIC_OP_ALIAS(atomic_swap_ushort,_atomic_swap_16) +STRONG_ALIAS(__sync_lock_test_and_set_2,_atomic_swap_16) +STRONG_ALIAS(_atomic_swap_short,_atomic_swap_16) +STRONG_ALIAS(_atomic_swap_ushort,_atomic_swap_16) + +ENTRY_NP(__sync_lock_release_2) + mov r1, #0 + strh r1, [r0] + RET +END(__sync_lock_release_2) +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_swap_64.S b/common/lib/libc/arch/arm/atomic/atomic_swap_64.S index f0f110be3..221a50ee3 100644 --- a/common/lib/libc/arch/arm/atomic/atomic_swap_64.S +++ b/common/lib/libc/arch/arm/atomic/atomic_swap_64.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap_64.S,v 1.2 2012/09/13 00:36:12 matt Exp $ */ +/* $NetBSD: atomic_swap_64.S,v 1.7 2013/11/30 21:09:11 joerg Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,23 +31,30 @@ #include "atomic_op_asm.h" ENTRY_NP(_atomic_swap_64) - str r4, [sp, #-4]! /* save temporary */ - mov r4, r0 /* return value will be in r0 */ + push {r3,r4} /* save temporary */ + mov ip, r0 /* return value will be in r0 */ #ifndef __ARM_EABI__ mov r3, r2 /* r2 will be overwriten by r1 */ mov r2, r1 /* and r1 will be overwritten by ldrexd */ #endif -1: - ldrexd r0, [r4] /* load old value */ - strexd ip, r2, [r4] /* store new value */ - cmpne ip, #0 /* succeed? */ +1: ldrexd r0, r1, [ip] /* load old value */ + strexd r4, r2, r3, [ip] /* store new value */ + cmp r4, #0 /* succeed? */ bne 1b /* no, try again */ #ifdef _ARM_ARCH_7 dmb #else - mcr p15, 0, ip, c7, c10, 5 /* data memory barrier */ + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ #endif - ldr r4, [sp], #4 /* restore temporary */ + pop {r3,r4} /* restore temporary */ RET - END(_atomic_swap_64) +END(_atomic_swap_64) ATOMIC_OP_ALIAS(atomic_swap_64,_atomic_swap_64) +STRONG_ALIAS(__sync_lock_test_and_set_8,_atomic_swap_64) + +ENTRY_NP(__sync_lock_release_8) + mov r2, #0 + mov r3, #0 + strd r2, r3, [r0] + RET +END(__sync_lock_release_8) diff --git a/common/lib/libc/arch/arm/atomic/atomic_xor_16.S b/common/lib/libc/arch/arm/atomic/atomic_xor_16.S new file mode 100644 index 000000000..c60261195 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_xor_16.S @@ -0,0 +1,76 @@ +/* $NetBSD: atomic_xor_16.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_xor_16) + mov ip, r0 +1: ldrexh r0, [ip] /* load old value (to be returned) */ + eors r3, r0, r1 /* calculate new value */ + strexh r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_xor_16) + +ATOMIC_OP_ALIAS(atomic_xor_16,_atomic_xor_16) +ATOMIC_OP_ALIAS(atomic_xor_ushort,_atomic_xor_16) +STRONG_ALIAS(__sync_fetch_and_xor_2,_atomic_xor_16) +STRONG_ALIAS(_atomic_xor_ushort,_atomic_xor_16) + +ENTRY_NP(_atomic_xor_16_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexh r0, [ip] /* load old value */ + eors r0, r0, r1 /* calculate new value (return value) */ + strexh r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_xor_16_nv) + +ATOMIC_OP_ALIAS(atomic_xor_16_nv,_atomic_xor_16_nv) +ATOMIC_OP_ALIAS(atomic_xor_ushort_nv,_atomic_xor_16_nv) +STRONG_ALIAS(__sync_xor_and_fetch_2,_atomic_xor_16_nv) +STRONG_ALIAS(_atomic_xor_ushort_nv,_atomic_xor_16_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_xor_32.S b/common/lib/libc/arch/arm/atomic/atomic_xor_32.S new file mode 100644 index 000000000..7893274b9 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_xor_32.S @@ -0,0 +1,79 @@ +/* $NetBSD: atomic_xor_32.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ +/*- + * Copyright (c) 2008 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_xor_32) + mov ip, r0 +1: ldrex r0, [ip] /* load old value (to be returned) */ + eors r3, r0, r1 /* calculate new value */ + strex r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_xor_32) + +ATOMIC_OP_ALIAS(atomic_xor_32,_atomic_xor_32) +ATOMIC_OP_ALIAS(atomic_xor_uint,_atomic_xor_32) +ATOMIC_OP_ALIAS(atomic_xor_ulong,_atomic_xor_32) +STRONG_ALIAS(__sync_fetch_and_xor_4,_atomic_xor_32) +STRONG_ALIAS(_atomic_xor_uint,_atomic_xor_32) +STRONG_ALIAS(_atomic_xor_ulong,_atomic_xor_32) + +ENTRY_NP(_atomic_xor_32_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrex r0, [ip] /* load old value */ + eors r0, r0, r1 /* calculate new value (return value) */ + strex r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_xor_32_nv) + +ATOMIC_OP_ALIAS(atomic_xor_32_nv,_atomic_xor_32_nv) +ATOMIC_OP_ALIAS(atomic_xor_uint_nv,_atomic_xor_32_nv) +ATOMIC_OP_ALIAS(atomic_xor_ulong_nv,_atomic_xor_32_nv) +STRONG_ALIAS(__sync_xor_and_fetch_4,_atomic_xor_32_nv) +STRONG_ALIAS(_atomic_xor_uint_nv,_atomic_xor_32_nv) +STRONG_ALIAS(_atomic_xor_ulong_nv,_atomic_xor_32_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_xor_64.S b/common/lib/libc/arch/arm/atomic/atomic_xor_64.S new file mode 100644 index 000000000..b370086d0 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_xor_64.S @@ -0,0 +1,62 @@ +/* $NetBSD: atomic_xor_64.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_xor_64_nv) + push {r3,r4} /* save temporary */ +#ifndef __ARM_EABI__ + mov r3, r2 + mov r2, r1 +#endif + mov ip, r0 /* need r0 for return value */ +1: ldrexd r0, r1, [ip] /* load old value */ + eors r0, r0, r2 /* calculate new value (return value) */ + eors r1, r1, r3 /* calculate new value (return value) */ + strexd r4, r0, r1, [ip] /* try to store */ + cmp r4, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r4, c7, c10, 5 /* data memory barrier */ +#endif + pop {r3,r4} /* restore temporary */ + RET /* return new value */ +END(_atomic_xor_64_nv) + +STRONG_ALIAS(_atomic_xor_64,_atomic_xor_64_nv) +ATOMIC_OP_ALIAS(atomic_xor_64_nv,_atomic_xor_64_nv) +ATOMIC_OP_ALIAS(atomic_xor_64,_atomic_xor_64) +STRONG_ALIAS(__sync_xor_and_fetch_8,_atomic_xor_64) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/atomic_xor_8.S b/common/lib/libc/arch/arm/atomic/atomic_xor_8.S new file mode 100644 index 000000000..d337cc715 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/atomic_xor_8.S @@ -0,0 +1,76 @@ +/* $NetBSD: atomic_xor_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(_atomic_xor_8) + mov ip, r0 +1: ldrexb r0, [ip] /* load old value (to be returned) */ + eors r3, r0, r1 /* calculate new value */ + strexb r2, r3, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return old value */ +END(_atomic_xor_8) + +ATOMIC_OP_ALIAS(atomic_xor_8,_atomic_xor_8) +ATOMIC_OP_ALIAS(atomic_xor_uchar,_atomic_xor_8) +STRONG_ALIAS(__sync_fetch_and_xor_1,_atomic_xor_8) +STRONG_ALIAS(_atomic_xor_uchar,_atomic_xor_8) + +ENTRY_NP(_atomic_xor_8_nv) + mov ip, r0 /* need r0 for return value */ +1: ldrexb r0, [ip] /* load old value */ + eors r0, r0, r1 /* calculate new value (return value) */ + strexb r2, r0, [ip] /* try to store */ + cmp r2, #0 /* succeed? */ + bne 1b /* no, try again? */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + RET /* return new value */ +END(_atomic_xor_8_nv) + +ATOMIC_OP_ALIAS(atomic_xor_8_nv,_atomic_xor_8_nv) +ATOMIC_OP_ALIAS(atomic_xor_uchar_nv,_atomic_xor_8_nv) +STRONG_ALIAS(__sync_xor_and_fetch_1,_atomic_xor_8_nv) +STRONG_ALIAS(_atomic_xor_uchar_nv,_atomic_xor_8_nv) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/membar_ops.S b/common/lib/libc/arch/arm/atomic/membar_ops.S index 568ba65d8..9debaa994 100644 --- a/common/lib/libc/arch/arm/atomic/membar_ops.S +++ b/common/lib/libc/arch/arm/atomic/membar_ops.S @@ -1,4 +1,4 @@ -/* $NetBSD: membar_ops.S,v 1.3 2012/08/16 16:49:10 matt Exp $ */ +/* $NetBSD: membar_ops.S,v 1.4 2013/11/08 22:42:52 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -39,7 +39,7 @@ ENTRY_NP(_membar_producer) mcr p15, 0, r0, c7, c10, 4 /* Data Synchronization Barrier */ #endif RET - END(_membar_producer) +END(_membar_producer) ATOMIC_OP_ALIAS(membar_producer,_membar_producer) ATOMIC_OP_ALIAS(membar_write,_membar_producer) STRONG_ALIAS(_membar_write,_membar_producer) @@ -51,12 +51,13 @@ ENTRY_NP(_membar_sync) mcr p15, 0, r0, c7, c10, 5 /* Data Memory Barrier */ #endif RET - END(_membar_sync) +END(_membar_sync) ATOMIC_OP_ALIAS(membar_sync,_membar_sync) ATOMIC_OP_ALIAS(membar_enter,_membar_sync) ATOMIC_OP_ALIAS(membar_exit,_membar_sync) ATOMIC_OP_ALIAS(membar_consumer,_membar_sync) ATOMIC_OP_ALIAS(membar_read,_membar_sync) +STRONG_ALIAS(__sync_synchronize,_membar_sync) STRONG_ALIAS(_membar_enter,_membar_sync) STRONG_ALIAS(_membar_exit,_membar_sync) STRONG_ALIAS(_membar_consumer,_membar_sync) diff --git a/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_1.S b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_1.S new file mode 100644 index 000000000..8640bab86 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_1.S @@ -0,0 +1,62 @@ +/* $NetBSD: sync_bool_compare_and_swap_1.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#if defined(_ARM_ARCH_6) +/* + * ARMv6 has load-exclusive/store-exclusive which works for both user + * and kernel. + */ +ENTRY_NP(__sync_bool_compare_and_swap_1) + mov ip, r0 /* we need r0 for return value */ + mov r0, #0 /* assume no match */ +1: + ldrexb r3, [ip] /* load old value */ + cmp r3, r1 /* compare? */ +#ifdef __thumb__ + bne 2f +#else + RETc(ne) /* return if different */ +#endif + strexb r0, r2, [ip] /* store new value */ + cmp r0, #0 /* succeed? */ + bne 1b /* nope, try again. */ + mov r0, #1 /* it was a success */ +#ifdef _ARM_ARCH_7 + dsb /* data synchronization barrier */ +#else + mcr p15, 0, r3, c7, c10, 4 /* data synchronization barrier */ +#endif +2: RET /* return. */ +END(__sync_bool_compare_and_swap_1) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_2.S b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_2.S new file mode 100644 index 000000000..4bb35cefe --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_2.S @@ -0,0 +1,61 @@ +/* $NetBSD: sync_bool_compare_and_swap_2.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#if defined(_ARM_ARCH_6) +/* + * ARMv6 has load-exclusive/store-exclusive which works for both user + * and kernel. + */ +ENTRY_NP(__sync_bool_compare_and_swap_2) + mov ip, r0 /* we need r0 for return value */ + movs r0, #0 /* assume failure */ +1: + ldrexh r3, [ip] /* load old value */ + cmp r3, r1 /* compare? */ +#ifdef __thumb__ + bne 2f +#else + RETc(ne) /* return if different */ +#endif + strexh r0, r2, [ip] /* store new value */ + cmp r0, #0 /* succeed? */ + bne 1b /* nope, try again. */ + movs r0, #1 /* indicate success */ +#ifdef _ARM_ARCH_7 + dsb /* data synchronization barrier */ +#else + mcr p15, 0, r3, c7, c10, 4 /* data synchronization barrier */ +#endif +2: RET /* return. */ +END(__sync_bool_compare_and_swap_2) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_4.S b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_4.S new file mode 100644 index 000000000..fc9a3da7d --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_4.S @@ -0,0 +1,61 @@ +/* $NetBSD: sync_bool_compare_and_swap_4.S,v 1.1 2013/11/08 22:42:52 matt Exp $ */ +/*- + * Copyright (c) 2008 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#if defined(_ARM_ARCH_6) +/* + * ARMv6 has load-exclusive/store-exclusive which works for both user + * and kernel. + */ +ENTRY_NP(__sync_bool_compare_and_swap_4) + mov ip, r0 /* we need r0 for return value */ + movs r0, #0 /* assume failure */ +1: + ldrex r3, [ip] /* load old value */ + cmp r3, r1 /* compare? */ +#ifdef __thumb__ + bne 2f /* return if different */ +#else + RETc(ne) /* return if different */ +#endif + strex r0, r2, [ip] /* store new value */ + cmp r0, #0 /* succeed? */ + bne 1b /* nope, try again. */ + movs r0, #1 /* indicate success */ +#ifdef _ARM_ARCH_7 + dsb +#else + mcr p15, 0, r3, c7, c10, 4 /* data synchronization barrier */ +#endif +2: RET /* return. */ +END(__sync_bool_compare_and_swap_4) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S new file mode 100644 index 000000000..c4da803d4 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S @@ -0,0 +1,73 @@ +/* $NetBSD: sync_bool_compare_and_swap_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#if defined(_ARM_ARCH_6) +/* + * ARMv6 has load-exclusive/store-exclusive which works for both user + * and kernel. + */ +ENTRY_NP(__sync_bool_compare_and_swap_8) + push {r4-r7} /* save temporaries */ + mov ip, r0 /* we need r0 for return value */ + movs r0, #0 /* assume failure */ +#ifdef __ARM_EABI__ + ldrd r4, r5, [sp] /* fetch new value from stack */ +#else + ldr r4, [sp, #0] /* fetch new value from stack */ + ldr r5, [sp, #4] /* fetch new value from stack */ + mov r3, r2 /* r2 will be overwritten by r1 which ... */ + mov r2, r1 /* r1 will be overwritten by ldrexd */ +#endif +1: + ldrexd r6, r7, [ip] /* load current value */ + cmp r6, r2 /* compare to old? 1st half */ +#ifdef __thumb__ + bne 2f /* jump to return if different */ + cmp r7, r3 /* compare to old? 2nd half */ +#else + cmpeq r7, r3 /* compare to old? 2nd half */ +#endif + bne 2f /* jump to return if different */ + strexd r0, r4, r5, [ip] /* store new value */ + cmp r0, #0 /* succeed? */ + bne 1b /* nope, try again. */ + movs r0, #1 /* indicate success */ +#ifdef _ARM_ARCH_7 + dsb +#else + mcr p15, 0, ip, c7, c10, 4 /* data synchronization barrier */ +#endif +2: pop {r4-r7} /* restore temporaries */ + RET /* return. */ +END(__sync_bool_compare_and_swap_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S b/common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S new file mode 100644 index 000000000..0b54faa21 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S @@ -0,0 +1,58 @@ +/* $NetBSD: sync_fetch_and_add_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(__sync_fetch_and_add_8) + push {r4-r7} + mov ip, r0 +#ifndef __ARM__EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, r1, [ip] /* load old value */ + adds TLO, LO, NLO /* calculate new value */ + adcs THI, HI, NHI /* calculate new value */ + strexd r6, r4, r5, [ip] /* try to store */ + cmp r6, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + pop {r4-r7} + RET /* return old value */ +END(__sync_fetch_and_add_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S b/common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S new file mode 100644 index 000000000..1fdf5c329 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S @@ -0,0 +1,58 @@ +/* $NetBSD: sync_fetch_and_and_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(__sync_fetch_and_and_8) + push {r4-r7} + mov ip, r0 +#ifndef __ARM__EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, r1, [ip] /* load old value */ + ands r4, r0, r2 /* calculate new value */ + ands r5, r1, r3 /* calculate new value */ + strexd r6, r4, r5, [ip] /* try to store */ + cmp r6, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + pop {r4-r7} + RET /* return old value */ +END(__sync_fetch_and_and_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S b/common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S new file mode 100644 index 000000000..ee28b916f --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S @@ -0,0 +1,60 @@ +/* $NetBSD: sync_fetch_and_nand_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(__sync_fetch_and_nand_8) + push {r4-r7} + mov ip, r0 +#ifndef __ARM__EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, r1, [ip] /* load old value */ + mvns r4, r0 /* complement old value */ + mvns r5, r0 /* complement old value */ + ands r4, r4, r2 /* calculate new value */ + ands r5, r5, r3 /* calculate new value */ + strexd r6, r4, r5, [ip] /* try to store */ + cmp r6, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + pop {r4-r7} + RET /* return old value */ +END(__sync_fetch_and_nand_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S b/common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S new file mode 100644 index 000000000..cb98f4537 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S @@ -0,0 +1,58 @@ +/* $NetBSD: sync_fetch_and_or_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(__sync_fetch_and_or_8) + push {r4-r7} + mov ip, r0 +#ifndef __ARM__EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, r1, [ip] /* load old value */ + orrs r4, r0, r2 /* calculate new value */ + orrs r5, r1, r3 /* calculate new value */ + strexd r6, r4, r5, [ip] /* try to store */ + cmp r6, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + pop {r4-r7} + RET /* return old value */ +END(__sync_fetch_and_or_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S b/common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S new file mode 100644 index 000000000..4035218d6 --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S @@ -0,0 +1,58 @@ +/* $NetBSD: sync_fetch_and_sub_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(__sync_fetch_and_sub_8) + push {r4-r7} + mov ip, r0 +#ifndef __ARM__EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, r1, [ip] /* load old value */ + subs TLO, LO, NLO /* calculate new value */ + sbcs THI, HI, NHI /* calculate new value */ + strexd r6, r4, r5, [ip] /* try to store */ + cmp r6, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + pop {r4-r7} + RET /* return old value */ +END(__sync_fetch_and_sub_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/atomic/sync_fetch_and_xor_8.S b/common/lib/libc/arch/arm/atomic/sync_fetch_and_xor_8.S new file mode 100644 index 000000000..479f2d68c --- /dev/null +++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_xor_8.S @@ -0,0 +1,58 @@ +/* $NetBSD: sync_fetch_and_xor_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "atomic_op_asm.h" + +#ifdef _ARM_ARCH_6 + +ENTRY_NP(__sync_fetch_and_xor_8) + push {r4-r7} + mov ip, r0 +#ifndef __ARM__EABI__ + mov r3, r2 + mov r2, r1 +#endif +1: ldrexd r0, r1, [ip] /* load old value */ + eors r4, r0, r2 /* calculate new value */ + eors r5, r1, r3 /* calculate new value */ + strexd r6, r4, r5, [ip] /* try to store */ + cmp r6, #0 /* succeed? */ + bne 1b /* no, try again */ +#ifdef _ARM_ARCH_7 + dmb +#else + mcr p15, 0, r2, c7, c10, 5 /* data memory barrier */ +#endif + pop {r4-r7} + RET /* return old value */ +END(__sync_fetch_and_xor_8) + +#endif /* _ARM_ARCH_6 */ diff --git a/common/lib/libc/arch/arm/gen/__aeabi_idiv0.c b/common/lib/libc/arch/arm/gen/__aeabi_idiv0.c new file mode 100644 index 000000000..2ac290be5 --- /dev/null +++ b/common/lib/libc/arch/arm/gen/__aeabi_idiv0.c @@ -0,0 +1,64 @@ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +__RCSID("$NetBSD: __aeabi_idiv0.c,v 1.2 2013/05/08 05:13:56 matt Exp $"); + +#if !defined(_KERNEL) && !defined(_STANDALONE) +#include +#include +#include +#include +#include +#endif + +#include + +int +__aeabi_idiv0(int result) +{ +/* MINIX: LSC: Changed || to &&. */ +#if !defined(_KERNEL) && !defined(_STANDALONE) +#if !defined(__minix) /* LSC: No sigqueueinfo on Minix. */ + siginfo_t info; + + memset(&info, 0, sizeof info); + info.si_signo = SIGFPE; + info.si_pid = getpid(); + info.si_uid = geteuid(); + info.si_code = FPE_INTDIV; + sigqueueinfo(getpid(), &info); +#else + /* LSC: So just trigger the signal. */ + raise(SIGFPE); +#endif /* !defined(__minix) */ +#endif + return result; +} diff --git a/common/lib/libc/arch/arm/gen/__aeabi_ldiv0.c b/common/lib/libc/arch/arm/gen/__aeabi_ldiv0.c new file mode 100644 index 000000000..1a2d7d65e --- /dev/null +++ b/common/lib/libc/arch/arm/gen/__aeabi_ldiv0.c @@ -0,0 +1,63 @@ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +__RCSID("$NetBSD: __aeabi_ldiv0.c,v 1.2 2013/05/08 05:13:56 matt Exp $"); + +#if !defined(_KERNEL) && !defined(_STANDALONE) +#include +#include +#include +#include +#include +#endif + +#include + +long long +__aeabi_ldiv0(long long result) +{ +#if !defined(_KERNEL) && !defined(_STANDALONE) +#if !defined(__minix) /* LSC: No sigqueueinfo on Minix. */ + siginfo_t info; + + memset(&info, 0, sizeof info); + info.si_signo = SIGFPE; + info.si_pid = getpid(); + info.si_uid = geteuid(); + info.si_code = FPE_INTDIV; + sigqueueinfo(getpid(), &info); +#else + /* LSC: So just trigger the signal. */ + raise(SIGFPE); +#endif /* !defined(__minix) */ +#endif + return result; +} diff --git a/common/lib/libc/arch/arm/gen/byte_swap_2.S b/common/lib/libc/arch/arm/gen/byte_swap_2.S index 843bd9227..5a816f583 100644 --- a/common/lib/libc/arch/arm/gen/byte_swap_2.S +++ b/common/lib/libc/arch/arm/gen/byte_swap_2.S @@ -1,4 +1,4 @@ -/* $NetBSD: byte_swap_2.S,v 1.4 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: byte_swap_2.S,v 1.6 2013/08/19 03:44:18 matt Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -32,16 +32,30 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -_ENTRY(_C_LABEL(bswap16)) +#define FUNC _C_LABEL(bswap16) #else -_ENTRY(_C_LABEL(__bswap16)) +#define FUNC _C_LABEL(__bswap16) #endif -#if BYTE_ORDER == LITTLE_ENDIAN -_ENTRY(_C_LABEL(ntohs)) -_ENTRY(_C_LABEL(htons)) -#endif -_PROF_PROLOGUE + +ENTRY(FUNC) +#ifdef _ARM_ARCH_6 + rev16 r0, r0 +#elif !defined(__thumb__) and r1, r0, #0xff mov r0, r0, lsr #8 orr r0, r0, r1, lsl #8 +#else + movs r2, #0xff + movs r1, r0 + ands r1, r1, r2 + lsls r1, r1, #8 + lsrs r0, r0, #8 + ands r0, r0, r2 + orrs r0, r0, r1 +#endif RET +END(FUNC) +#if BYTE_ORDER == LITTLE_ENDIAN +STRONG_ALIAS(_C_LABEL(ntohs), FUNC) +STRONG_ALIAS(_C_LABEL(htons), FUNC) +#endif diff --git a/common/lib/libc/arch/arm/gen/byte_swap_4.S b/common/lib/libc/arch/arm/gen/byte_swap_4.S index 265b898d9..a898f9772 100644 --- a/common/lib/libc/arch/arm/gen/byte_swap_4.S +++ b/common/lib/libc/arch/arm/gen/byte_swap_4.S @@ -1,4 +1,4 @@ -/* $NetBSD: byte_swap_4.S,v 1.4 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: byte_swap_4.S,v 1.7 2013/08/19 03:44:47 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -32,17 +32,34 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -_ENTRY(_C_LABEL(bswap32)) +#define FUNC _C_LABEL(bswap32) #else -_ENTRY(_C_LABEL(__bswap32)) +#define FUNC _C_LABEL(__bswap32) #endif -#if BYTE_ORDER == LITTLE_ENDIAN -_ENTRY(_C_LABEL(ntohl)) -_ENTRY(_C_LABEL(htonl)) +ENTRY(FUNC) +#ifdef _ARM_ARCH_6 + rev r0, r0 +#elif !defined(__thumb__) + eor r1, r0, r0, ror #16 /* 4.3.2.1 -> 42.31.42.31 */ + bic r1, r1, #0x00FF0000 /* 42.31.42.31 -> 42.0.42.31 */ + mov r0, r0, ror #8 /* 4.3.2.1 -> 1.4.3.2 */ + eor r0, r0, r1, lsr #8 /* 1.4.3.2 ^ 0.42.0.42 -> 1.2.3.4 */ +#else + movs r3, #16 + lsls r1, r0, #8 /* 4.3.2.1 -> 3.2.1.0 /* + lsrs r0, r0, #8 /* 4.3.2.1 -> 0.4.3.2 */ + rors r1, r3 /* 3.2.1.0 -> 1.0.3.2 */ + rors r0, r3 /* 0.4.3.2 -> 3.2.0.4 */ + lsrs r1, r1, #8 /* 1.0.3.2 -> 0.1.0.3 */ + lsls r1, r1, #8 /* 0.1.0.3 -> 1.0.3.0 */ + lsls r0, r0, #8 /* 3.2.0.4 -> 2.0.4.0 */ + lsrs r0, r0, #8 /* 2.0.4.0 -> 0.2.0.4 */ + orrs r0, r0, r1 /* 1.0.3.0 | 0.2.0.4 -> 1.2.3.4 */ #endif -_PROF_PROLOGUE - eor r1, r0, r0, ror #16 - bic r1, r1, #0x00FF0000 - mov r0, r0, ror #8 - eor r0, r0, r1, lsr #8 RET +END(FUNC) + +#if BYTE_ORDER == LITTLE_ENDIAN +STRONG_ALIAS(_C_LABEL(ntohl), FUNC) +STRONG_ALIAS(_C_LABEL(htonl), FUNC) +#endif diff --git a/common/lib/libc/arch/arm/gen/divide.S b/common/lib/libc/arch/arm/gen/divide.S new file mode 100644 index 000000000..c5b7a8a68 --- /dev/null +++ b/common/lib/libc/arch/arm/gen/divide.S @@ -0,0 +1,381 @@ +/* $NetBSD: divide.S,v 1.4 2013/08/19 03:47:06 matt Exp $ */ + +/* + * 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. + */ + +#ifndef __ARM_ARCH_EXT_IDIV__ + +#include + +/* + * stack is aligned as there's a possibility of branching to .L_overflow + * which makes a C call + */ + +_ARM_ENTRY(__udivide) /* r0 = r0 / r1; r1 = r0 % r1 */ + eor r0, r1, r0 + eor r1, r0, r1 + eor r0, r1, r0 + /* r0 = r1 / r0; r1 = r1 % r0 */ + cmp r0, #1 + bcc .L_overflow + beq .L_divide_l0 + mov ip, #0 + movs r1, r1 + bpl .L_divide_l1 + orr ip, ip, #0x20000000 /* ip bit 0x20000000 = -ve r1 */ + movs r1, r1, lsr #1 + orrcs ip, ip, #0x10000000 /* ip bit 0x10000000 = bit 0 of r1 */ + b .L_divide_l1 + +.L_divide_l0: /* r0 == 1 */ + mov r0, r1 + mov r1, #0 + RET +END(__udivide) + +_ARM_ENTRY(__divide) /* r0 = r0 / r1; r1 = r0 % r1 */ + eor r0, r1, r0 + eor r1, r0, r1 + eor r0, r1, r0 + /* r0 = r1 / r0; r1 = r1 % r0 */ + cmp r0, #1 + bcc .L_overflow + beq .L_divide_l0 + ands ip, r0, #0x80000000 + rsbmi r0, r0, #0 + ands r2, r1, #0x80000000 + eor ip, ip, r2 + rsbmi r1, r1, #0 + orr ip, r2, ip, lsr #1 /* ip bit 0x40000000 = -ve division */ + /* ip bit 0x80000000 = -ve remainder */ + +.L_divide_l1: + mov r2, #1 + mov r3, #0 + + /* + * If the highest bit of the dividend is set, we have to be + * careful when shifting the divisor. Test this. + */ + movs r1,r1 + bpl .L_old_code + + /* + * At this point, the highest bit of r1 is known to be set. + * We abuse this below in the tst instructions. + */ + tst r1, r0 /*, lsl #0 */ + bmi .L_divide_b1 + tst r1, r0, lsl #1 + bmi .L_divide_b2 + tst r1, r0, lsl #2 + bmi .L_divide_b3 + tst r1, r0, lsl #3 + bmi .L_divide_b4 + tst r1, r0, lsl #4 + bmi .L_divide_b5 + tst r1, r0, lsl #5 + bmi .L_divide_b6 + tst r1, r0, lsl #6 + bmi .L_divide_b7 + tst r1, r0, lsl #7 + bmi .L_divide_b8 + tst r1, r0, lsl #8 + bmi .L_divide_b9 + tst r1, r0, lsl #9 + bmi .L_divide_b10 + tst r1, r0, lsl #10 + bmi .L_divide_b11 + tst r1, r0, lsl #11 + bmi .L_divide_b12 + tst r1, r0, lsl #12 + bmi .L_divide_b13 + tst r1, r0, lsl #13 + bmi .L_divide_b14 + tst r1, r0, lsl #14 + bmi .L_divide_b15 + tst r1, r0, lsl #15 + bmi .L_divide_b16 + tst r1, r0, lsl #16 + bmi .L_divide_b17 + tst r1, r0, lsl #17 + bmi .L_divide_b18 + tst r1, r0, lsl #18 + bmi .L_divide_b19 + tst r1, r0, lsl #19 + bmi .L_divide_b20 + tst r1, r0, lsl #20 + bmi .L_divide_b21 + tst r1, r0, lsl #21 + bmi .L_divide_b22 + tst r1, r0, lsl #22 + bmi .L_divide_b23 + tst r1, r0, lsl #23 + bmi .L_divide_b24 + tst r1, r0, lsl #24 + bmi .L_divide_b25 + tst r1, r0, lsl #25 + bmi .L_divide_b26 + tst r1, r0, lsl #26 + bmi .L_divide_b27 + tst r1, r0, lsl #27 + bmi .L_divide_b28 + tst r1, r0, lsl #28 + bmi .L_divide_b29 + tst r1, r0, lsl #29 + bmi .L_divide_b30 + tst r1, r0, lsl #30 + bmi .L_divide_b31 +/* + * instead of: + * tst r1, r0, lsl #31 + * bmi .L_divide_b32 + */ + b .L_divide_b32 + +.L_old_code: + cmp r1, r0 + bcc .L_divide_b0 + cmp r1, r0, lsl #1 + bcc .L_divide_b1 + cmp r1, r0, lsl #2 + bcc .L_divide_b2 + cmp r1, r0, lsl #3 + bcc .L_divide_b3 + cmp r1, r0, lsl #4 + bcc .L_divide_b4 + cmp r1, r0, lsl #5 + bcc .L_divide_b5 + cmp r1, r0, lsl #6 + bcc .L_divide_b6 + cmp r1, r0, lsl #7 + bcc .L_divide_b7 + cmp r1, r0, lsl #8 + bcc .L_divide_b8 + cmp r1, r0, lsl #9 + bcc .L_divide_b9 + cmp r1, r0, lsl #10 + bcc .L_divide_b10 + cmp r1, r0, lsl #11 + bcc .L_divide_b11 + cmp r1, r0, lsl #12 + bcc .L_divide_b12 + cmp r1, r0, lsl #13 + bcc .L_divide_b13 + cmp r1, r0, lsl #14 + bcc .L_divide_b14 + cmp r1, r0, lsl #15 + bcc .L_divide_b15 + cmp r1, r0, lsl #16 + bcc .L_divide_b16 + cmp r1, r0, lsl #17 + bcc .L_divide_b17 + cmp r1, r0, lsl #18 + bcc .L_divide_b18 + cmp r1, r0, lsl #19 + bcc .L_divide_b19 + cmp r1, r0, lsl #20 + bcc .L_divide_b20 + cmp r1, r0, lsl #21 + bcc .L_divide_b21 + cmp r1, r0, lsl #22 + bcc .L_divide_b22 + cmp r1, r0, lsl #23 + bcc .L_divide_b23 + cmp r1, r0, lsl #24 + bcc .L_divide_b24 + cmp r1, r0, lsl #25 + bcc .L_divide_b25 + cmp r1, r0, lsl #26 + bcc .L_divide_b26 + cmp r1, r0, lsl #27 + bcc .L_divide_b27 + cmp r1, r0, lsl #28 + bcc .L_divide_b28 + cmp r1, r0, lsl #29 + bcc .L_divide_b29 + cmp r1, r0, lsl #30 + bcc .L_divide_b30 +.L_divide_b32: + cmp r1, r0, lsl #31 + subhs r1, r1,r0, lsl #31 + addhs r3, r3,r2, lsl #31 +.L_divide_b31: + cmp r1, r0, lsl #30 + subhs r1, r1,r0, lsl #30 + addhs r3, r3,r2, lsl #30 +.L_divide_b30: + cmp r1, r0, lsl #29 + subhs r1, r1,r0, lsl #29 + addhs r3, r3,r2, lsl #29 +.L_divide_b29: + cmp r1, r0, lsl #28 + subhs r1, r1,r0, lsl #28 + addhs r3, r3,r2, lsl #28 +.L_divide_b28: + cmp r1, r0, lsl #27 + subhs r1, r1,r0, lsl #27 + addhs r3, r3,r2, lsl #27 +.L_divide_b27: + cmp r1, r0, lsl #26 + subhs r1, r1,r0, lsl #26 + addhs r3, r3,r2, lsl #26 +.L_divide_b26: + cmp r1, r0, lsl #25 + subhs r1, r1,r0, lsl #25 + addhs r3, r3,r2, lsl #25 +.L_divide_b25: + cmp r1, r0, lsl #24 + subhs r1, r1,r0, lsl #24 + addhs r3, r3,r2, lsl #24 +.L_divide_b24: + cmp r1, r0, lsl #23 + subhs r1, r1,r0, lsl #23 + addhs r3, r3,r2, lsl #23 +.L_divide_b23: + cmp r1, r0, lsl #22 + subhs r1, r1,r0, lsl #22 + addhs r3, r3,r2, lsl #22 +.L_divide_b22: + cmp r1, r0, lsl #21 + subhs r1, r1,r0, lsl #21 + addhs r3, r3,r2, lsl #21 +.L_divide_b21: + cmp r1, r0, lsl #20 + subhs r1, r1,r0, lsl #20 + addhs r3, r3,r2, lsl #20 +.L_divide_b20: + cmp r1, r0, lsl #19 + subhs r1, r1,r0, lsl #19 + addhs r3, r3,r2, lsl #19 +.L_divide_b19: + cmp r1, r0, lsl #18 + subhs r1, r1,r0, lsl #18 + addhs r3, r3,r2, lsl #18 +.L_divide_b18: + cmp r1, r0, lsl #17 + subhs r1, r1,r0, lsl #17 + addhs r3, r3,r2, lsl #17 +.L_divide_b17: + cmp r1, r0, lsl #16 + subhs r1, r1,r0, lsl #16 + addhs r3, r3,r2, lsl #16 +.L_divide_b16: + cmp r1, r0, lsl #15 + subhs r1, r1,r0, lsl #15 + addhs r3, r3,r2, lsl #15 +.L_divide_b15: + cmp r1, r0, lsl #14 + subhs r1, r1,r0, lsl #14 + addhs r3, r3,r2, lsl #14 +.L_divide_b14: + cmp r1, r0, lsl #13 + subhs r1, r1,r0, lsl #13 + addhs r3, r3,r2, lsl #13 +.L_divide_b13: + cmp r1, r0, lsl #12 + subhs r1, r1,r0, lsl #12 + addhs r3, r3,r2, lsl #12 +.L_divide_b12: + cmp r1, r0, lsl #11 + subhs r1, r1,r0, lsl #11 + addhs r3, r3,r2, lsl #11 +.L_divide_b11: + cmp r1, r0, lsl #10 + subhs r1, r1,r0, lsl #10 + addhs r3, r3,r2, lsl #10 +.L_divide_b10: + cmp r1, r0, lsl #9 + subhs r1, r1,r0, lsl #9 + addhs r3, r3,r2, lsl #9 +.L_divide_b9: + cmp r1, r0, lsl #8 + subhs r1, r1,r0, lsl #8 + addhs r3, r3,r2, lsl #8 +.L_divide_b8: + cmp r1, r0, lsl #7 + subhs r1, r1,r0, lsl #7 + addhs r3, r3,r2, lsl #7 +.L_divide_b7: + cmp r1, r0, lsl #6 + subhs r1, r1,r0, lsl #6 + addhs r3, r3,r2, lsl #6 +.L_divide_b6: + cmp r1, r0, lsl #5 + subhs r1, r1,r0, lsl #5 + addhs r3, r3,r2, lsl #5 +.L_divide_b5: + cmp r1, r0, lsl #4 + subhs r1, r1,r0, lsl #4 + addhs r3, r3,r2, lsl #4 +.L_divide_b4: + cmp r1, r0, lsl #3 + subhs r1, r1,r0, lsl #3 + addhs r3, r3,r2, lsl #3 +.L_divide_b3: + cmp r1, r0, lsl #2 + subhs r1, r1,r0, lsl #2 + addhs r3, r3,r2, lsl #2 +.L_divide_b2: + cmp r1, r0, lsl #1 + subhs r1, r1,r0, lsl #1 + addhs r3, r3,r2, lsl #1 +.L_divide_b1: + cmp r1, r0 + subhs r1, r1, r0 + addhs r3, r3, r2 +.L_divide_b0: + + tst ip, #0x20000000 + bne .L_udivide_l1 + mov r0, r3 + cmp ip, #0 + rsbmi r1, r1, #0 + movs ip, ip, lsl #1 + bicmi r0, r0, #0x80000000 /* Fix incase we divided 0x80000000 */ + rsbmi r0, r0, #0 + RET + +.L_udivide_l1: + tst ip, #0x10000000 + mov r1, r1, lsl #1 + orrne r1, r1, #1 + mov r3, r3, lsl #1 + cmp r1, r0 + subhs r1, r1, r0 + addhs r3, r3, r2 + mov r0, r3 + RET + +.L_overflow: +#if !defined(_KERNEL) && !defined(_STANDALONE) +#ifdef __ARM_EABI__ + mov r0, r1 /* return quotient */ + b PLT_SYM(__aeabi_idiv0) +#else + mov r0, #8 /* SIGFPE */ + bl PLT_SYM(_C_LABEL(raise)) /* raise it */ + mov r0, #0 + RET +#endif +#else + /* XXX should cause a fatal error */ + mvn r0, #0 + RET +#endif + +END(__divide) + +#endif /* __ARM_ARCH_EXT_IDIV__ */ diff --git a/common/lib/libc/arch/arm/gen/divsi3.S b/common/lib/libc/arch/arm/gen/divsi3.S index c6d799c49..f9320ebc6 100644 --- a/common/lib/libc/arch/arm/gen/divsi3.S +++ b/common/lib/libc/arch/arm/gen/divsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: divsi3.S,v 1.3 2012/10/10 02:16:54 christos Exp $ */ +/* $NetBSD: divsi3.S,v 1.13 2013/09/12 15:36:14 joerg Exp $ */ /* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND @@ -16,359 +16,64 @@ #include -/* - * stack is aligned as there's a possibility of branching to .L_overflow - * which makes a C call - */ - -.L_overflow: -#if !defined(_KERNEL) && !defined(_STANDALONE) && !defined(_LIBMINC) - mov r0, #8 /* SIGFPE */ - bl PIC_SYM(_C_LABEL(raise), PLT) /* raise it */ - mov r0, #0 +#if defined(__thumb__) && !defined(_ARM_ARCH_T2) +ARM_ENTRY(__divsi3) #else - /* XXX should cause a fatal error */ - mvn r0, #0 -#endif - RET - -ENTRY_NP(__aeabi_uidivmod) -ENTRY_NP(__aeabi_uidiv) -ENTRY(__udivsi3) -.L_udivide: /* r0 = r0 / r1; r1 = r0 % r1 */ - eor r0, r1, r0 - eor r1, r0, r1 - eor r0, r1, r0 - /* r0 = r1 / r0; r1 = r1 % r0 */ - cmp r0, #1 - bcc .L_overflow - beq .L_divide_l0 - mov ip, #0 - movs r1, r1 - bpl .L_divide_l1 - orr ip, ip, #0x20000000 /* ip bit 0x20000000 = -ve r1 */ - movs r1, r1, lsr #1 - orrcs ip, ip, #0x10000000 /* ip bit 0x10000000 = bit 0 of r1 */ - b .L_divide_l1 - -.L_divide_l0: /* r0 == 1 */ - mov r0, r1 - mov r1, #0 - RET - -ENTRY_NP(__aeabi_idivmod) -ENTRY_NP(__aeabi_idiv) ENTRY(__divsi3) -.L_divide: /* r0 = r0 / r1; r1 = r0 % r1 */ - eor r0, r1, r0 - eor r1, r0, r1 - eor r0, r1, r0 - /* r0 = r1 / r0; r1 = r1 % r0 */ - cmp r0, #1 - bcc .L_overflow - beq .L_divide_l0 - ands ip, r0, #0x80000000 - rsbmi r0, r0, #0 - ands r2, r1, #0x80000000 - eor ip, ip, r2 - rsbmi r1, r1, #0 - orr ip, r2, ip, lsr #1 /* ip bit 0x40000000 = -ve division */ - /* ip bit 0x80000000 = -ve remainder */ - -.L_divide_l1: - mov r2, #1 - mov r3, #0 - - /* - * If the highest bit of the dividend is set, we have to be - * careful when shifting the divisor. Test this. - */ - movs r1,r1 - bpl .L_old_code - - /* - * At this point, the highest bit of r1 is known to be set. - * We abuse this below in the tst instructions. - */ - tst r1, r0 /*, lsl #0 */ - bmi .L_divide_b1 - tst r1, r0, lsl #1 - bmi .L_divide_b2 - tst r1, r0, lsl #2 - bmi .L_divide_b3 - tst r1, r0, lsl #3 - bmi .L_divide_b4 - tst r1, r0, lsl #4 - bmi .L_divide_b5 - tst r1, r0, lsl #5 - bmi .L_divide_b6 - tst r1, r0, lsl #6 - bmi .L_divide_b7 - tst r1, r0, lsl #7 - bmi .L_divide_b8 - tst r1, r0, lsl #8 - bmi .L_divide_b9 - tst r1, r0, lsl #9 - bmi .L_divide_b10 - tst r1, r0, lsl #10 - bmi .L_divide_b11 - tst r1, r0, lsl #11 - bmi .L_divide_b12 - tst r1, r0, lsl #12 - bmi .L_divide_b13 - tst r1, r0, lsl #13 - bmi .L_divide_b14 - tst r1, r0, lsl #14 - bmi .L_divide_b15 - tst r1, r0, lsl #15 - bmi .L_divide_b16 - tst r1, r0, lsl #16 - bmi .L_divide_b17 - tst r1, r0, lsl #17 - bmi .L_divide_b18 - tst r1, r0, lsl #18 - bmi .L_divide_b19 - tst r1, r0, lsl #19 - bmi .L_divide_b20 - tst r1, r0, lsl #20 - bmi .L_divide_b21 - tst r1, r0, lsl #21 - bmi .L_divide_b22 - tst r1, r0, lsl #22 - bmi .L_divide_b23 - tst r1, r0, lsl #23 - bmi .L_divide_b24 - tst r1, r0, lsl #24 - bmi .L_divide_b25 - tst r1, r0, lsl #25 - bmi .L_divide_b26 - tst r1, r0, lsl #26 - bmi .L_divide_b27 - tst r1, r0, lsl #27 - bmi .L_divide_b28 - tst r1, r0, lsl #28 - bmi .L_divide_b29 - tst r1, r0, lsl #29 - bmi .L_divide_b30 - tst r1, r0, lsl #30 - bmi .L_divide_b31 -/* - * instead of: - * tst r1, r0, lsl #31 - * bmi .L_divide_b32 - */ - b .L_divide_b32 - -.L_old_code: - cmp r1, r0 - bcc .L_divide_b0 - cmp r1, r0, lsl #1 - bcc .L_divide_b1 - cmp r1, r0, lsl #2 - bcc .L_divide_b2 - cmp r1, r0, lsl #3 - bcc .L_divide_b3 - cmp r1, r0, lsl #4 - bcc .L_divide_b4 - cmp r1, r0, lsl #5 - bcc .L_divide_b5 - cmp r1, r0, lsl #6 - bcc .L_divide_b6 - cmp r1, r0, lsl #7 - bcc .L_divide_b7 - cmp r1, r0, lsl #8 - bcc .L_divide_b8 - cmp r1, r0, lsl #9 - bcc .L_divide_b9 - cmp r1, r0, lsl #10 - bcc .L_divide_b10 - cmp r1, r0, lsl #11 - bcc .L_divide_b11 - cmp r1, r0, lsl #12 - bcc .L_divide_b12 - cmp r1, r0, lsl #13 - bcc .L_divide_b13 - cmp r1, r0, lsl #14 - bcc .L_divide_b14 - cmp r1, r0, lsl #15 - bcc .L_divide_b15 - cmp r1, r0, lsl #16 - bcc .L_divide_b16 - cmp r1, r0, lsl #17 - bcc .L_divide_b17 - cmp r1, r0, lsl #18 - bcc .L_divide_b18 - cmp r1, r0, lsl #19 - bcc .L_divide_b19 - cmp r1, r0, lsl #20 - bcc .L_divide_b20 - cmp r1, r0, lsl #21 - bcc .L_divide_b21 - cmp r1, r0, lsl #22 - bcc .L_divide_b22 - cmp r1, r0, lsl #23 - bcc .L_divide_b23 - cmp r1, r0, lsl #24 - bcc .L_divide_b24 - cmp r1, r0, lsl #25 - bcc .L_divide_b25 - cmp r1, r0, lsl #26 - bcc .L_divide_b26 - cmp r1, r0, lsl #27 - bcc .L_divide_b27 - cmp r1, r0, lsl #28 - bcc .L_divide_b28 - cmp r1, r0, lsl #29 - bcc .L_divide_b29 - cmp r1, r0, lsl #30 - bcc .L_divide_b30 -.L_divide_b32: - cmp r1, r0, lsl #31 - subhs r1, r1,r0, lsl #31 - addhs r3, r3,r2, lsl #31 -.L_divide_b31: - cmp r1, r0, lsl #30 - subhs r1, r1,r0, lsl #30 - addhs r3, r3,r2, lsl #30 -.L_divide_b30: - cmp r1, r0, lsl #29 - subhs r1, r1,r0, lsl #29 - addhs r3, r3,r2, lsl #29 -.L_divide_b29: - cmp r1, r0, lsl #28 - subhs r1, r1,r0, lsl #28 - addhs r3, r3,r2, lsl #28 -.L_divide_b28: - cmp r1, r0, lsl #27 - subhs r1, r1,r0, lsl #27 - addhs r3, r3,r2, lsl #27 -.L_divide_b27: - cmp r1, r0, lsl #26 - subhs r1, r1,r0, lsl #26 - addhs r3, r3,r2, lsl #26 -.L_divide_b26: - cmp r1, r0, lsl #25 - subhs r1, r1,r0, lsl #25 - addhs r3, r3,r2, lsl #25 -.L_divide_b25: - cmp r1, r0, lsl #24 - subhs r1, r1,r0, lsl #24 - addhs r3, r3,r2, lsl #24 -.L_divide_b24: - cmp r1, r0, lsl #23 - subhs r1, r1,r0, lsl #23 - addhs r3, r3,r2, lsl #23 -.L_divide_b23: - cmp r1, r0, lsl #22 - subhs r1, r1,r0, lsl #22 - addhs r3, r3,r2, lsl #22 -.L_divide_b22: - cmp r1, r0, lsl #21 - subhs r1, r1,r0, lsl #21 - addhs r3, r3,r2, lsl #21 -.L_divide_b21: - cmp r1, r0, lsl #20 - subhs r1, r1,r0, lsl #20 - addhs r3, r3,r2, lsl #20 -.L_divide_b20: - cmp r1, r0, lsl #19 - subhs r1, r1,r0, lsl #19 - addhs r3, r3,r2, lsl #19 -.L_divide_b19: - cmp r1, r0, lsl #18 - subhs r1, r1,r0, lsl #18 - addhs r3, r3,r2, lsl #18 -.L_divide_b18: - cmp r1, r0, lsl #17 - subhs r1, r1,r0, lsl #17 - addhs r3, r3,r2, lsl #17 -.L_divide_b17: - cmp r1, r0, lsl #16 - subhs r1, r1,r0, lsl #16 - addhs r3, r3,r2, lsl #16 -.L_divide_b16: - cmp r1, r0, lsl #15 - subhs r1, r1,r0, lsl #15 - addhs r3, r3,r2, lsl #15 -.L_divide_b15: - cmp r1, r0, lsl #14 - subhs r1, r1,r0, lsl #14 - addhs r3, r3,r2, lsl #14 -.L_divide_b14: - cmp r1, r0, lsl #13 - subhs r1, r1,r0, lsl #13 - addhs r3, r3,r2, lsl #13 -.L_divide_b13: - cmp r1, r0, lsl #12 - subhs r1, r1,r0, lsl #12 - addhs r3, r3,r2, lsl #12 -.L_divide_b12: - cmp r1, r0, lsl #11 - subhs r1, r1,r0, lsl #11 - addhs r3, r3,r2, lsl #11 -.L_divide_b11: - cmp r1, r0, lsl #10 - subhs r1, r1,r0, lsl #10 - addhs r3, r3,r2, lsl #10 -.L_divide_b10: - cmp r1, r0, lsl #9 - subhs r1, r1,r0, lsl #9 - addhs r3, r3,r2, lsl #9 -.L_divide_b9: - cmp r1, r0, lsl #8 - subhs r1, r1,r0, lsl #8 - addhs r3, r3,r2, lsl #8 -.L_divide_b8: - cmp r1, r0, lsl #7 - subhs r1, r1,r0, lsl #7 - addhs r3, r3,r2, lsl #7 -.L_divide_b7: - cmp r1, r0, lsl #6 - subhs r1, r1,r0, lsl #6 - addhs r3, r3,r2, lsl #6 -.L_divide_b6: - cmp r1, r0, lsl #5 - subhs r1, r1,r0, lsl #5 - addhs r3, r3,r2, lsl #5 -.L_divide_b5: - cmp r1, r0, lsl #4 - subhs r1, r1,r0, lsl #4 - addhs r3, r3,r2, lsl #4 -.L_divide_b4: - cmp r1, r0, lsl #3 - subhs r1, r1,r0, lsl #3 - addhs r3, r3,r2, lsl #3 -.L_divide_b3: - cmp r1, r0, lsl #2 - subhs r1, r1,r0, lsl #2 - addhs r3, r3,r2, lsl #2 -.L_divide_b2: - cmp r1, r0, lsl #1 - subhs r1, r1,r0, lsl #1 - addhs r3, r3,r2, lsl #1 -.L_divide_b1: - cmp r1, r0 - subhs r1, r1, r0 - addhs r3, r3, r2 -.L_divide_b0: - - tst ip, #0x20000000 - bne .L_udivide_l1 - mov r0, r3 - cmp ip, #0 - rsbmi r1, r1, #0 - movs ip, ip, lsl #1 - bicmi r0, r0, #0x80000000 /* Fix incase we divided 0x80000000 */ - rsbmi r0, r0, #0 +#endif +#if defined(__ARM_ARCH_EXT_IDIV__) +# if defined(__ARM_EABI__) + mov r3, r0 @ save for mls +# endif + sdiv r0, r0, r1 +# if defined(__ARM_EABI__) + mls r1, r0, r1, r3 @ return modulus in r1 +# endif + RET +#elif defined(__ARM_EABI__) && defined(_LIBC) + cmp r1, #0 @ dividing by 0? + beq .Ldiv0 @ call __aeabi_idiv0 + ldr r2, .Lhwdiv_present +#ifdef __PIC__ + add r2, r2, pc @ pc = &.LPIC0 +# endif + ldr r2, [r2] +.LPIC0: cmp r2, #0 + beq __divide + mov r3, r0 +# if defined(__ARM_ARCH_EXT_IDIV__) + sdiv r0, r0, r1 + mls r1, r0, r1, r3 @ return modulus in r1 +# elif defined(__thumb__) && defined(_ARM_ARCH_T2) + .inst.w 0xfb90f0f1 + .inst.w 0xfb003111 +# else + .inst 0xe710f110 + .inst 0xe0613190 +# endif RET -.L_udivide_l1: - tst ip, #0x10000000 - mov r1, r1, lsl #1 - orrne r1, r1, #1 - mov r3, r3, lsl #1 - cmp r1, r0 - subhs r1, r1, r0 - addhs r3, r3, r2 - mov r0, r3 - RET + .align 0 +.Lhwdiv_present: + .word REL_SYM(_libc_arm_hwdiv_present, .LPIC0) + + .align 0 +.Ldiv0: push {r0, lr} /* save r0 */ + cmp r0, #0 + mvnge r0, #0x80000000 /* INT_MAX = 0x7fffffff */ + movlt r0, #0x80000000 /* INT_MIN = 0x80000000 */ + bl _C_LABEL(__aeabi_idiv0) + pop {r1, pc} /* restore r0 as r1 */ +#else /* !__ARM_EABI__ */ + b __divide +#endif +END(__divsi3) + +#if defined(__ARM_EABI__) +STRONG_ALIAS(__aeabi_idivmod, __divsi3) +STRONG_ALIAS(__aeabi_idiv, __divsi3) +#if defined(PIC_SYMVER) + .symver __aeabi_idiv,__aeabi_idiv@@GCC_3.5 + .symver __aeabi_idivmod,__aeabi_idivmod@@GCC_3.5 +#endif +#endif diff --git a/common/lib/libc/arch/arm/gen/modsi3.S b/common/lib/libc/arch/arm/gen/modsi3.S index fce26633f..5d8c6102a 100644 --- a/common/lib/libc/arch/arm/gen/modsi3.S +++ b/common/lib/libc/arch/arm/gen/modsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: modsi3.S,v 1.1 2012/10/10 02:16:54 christos Exp $ */ +/* $NetBSD: modsi3.S,v 1.4 2013/08/15 21:40:11 matt Exp $ */ /* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND @@ -16,16 +16,23 @@ #include +#ifndef __ARM_EABI__ /* * stack is aligned as there's a possibility of branching to .L_overflow * which makes a C call */ ENTRY(__modsi3) - stmfd sp!, {lr} - sub sp, sp, #4 /* align stack */ +#ifdef __ARM_ARCH_EXT_IDIV__ + sdiv r3, r0, r1 + mls r0, r3, r1, r0 +#else + str lr, [sp, #-8]! /* push lr */ bl PIC_SYM(__divsi3, PLT) - add sp, sp, #4 /* unalign stack */ mov r0, r1 - ldmfd sp!, {pc} + ldr lr, [sp], #8 /* pop lr */ +#endif + RET +END(__modsi3) +#endif diff --git a/common/lib/libc/arch/arm/gen/neon_mask.S b/common/lib/libc/arch/arm/gen/neon_mask.S new file mode 100644 index 000000000..07ac56024 --- /dev/null +++ b/common/lib/libc/arch/arm/gen/neon_mask.S @@ -0,0 +1,59 @@ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +#ifdef _ARM_ARCH_7 + +RCSID("$NetBSD: neon_mask.S,v 1.2 2012/12/18 06:14:23 matt Exp $") + +/* + * __neon_loading_qword_bitmask(size_t len); + * IN r0 = length of mask in bits + * OUT q0 = mask + */ +ENTRY(__neon_leading_qword_bitmask) + cmp r0, #64 /* which dword is partial? */ +#ifdef __ARMEL__ + sublt r0, r0, #64 /* 1st dword needs MSBs cleared */ + subge r1, r0, #128 /* 2nd dword needs MSBs cleared */ +#else + rsblt r0, r0, #64 /* 1st dword needs LSBs cleared */ + rsbge r1, r0, #128 /* 2nd dword needs LSBs cleared */ +#endif + movge r0, #0 /* 1st dword needs to left alone */ + movlt r1, #64 /* 2st dword needs to be cleared */ + vmov d2, r0, r1 /* move dword shifts to SIMD */ + vmovl.u32 q1, d2 /* 2 U32 -> 2 U64 */ + vmvn.u64 q0, #0 /* create a mask */ + vshl.u64 q0, q0, q1 /* shift out unneeded bytes */ + RET +END(__neon_leading_qword_bitmask) + +#endif /* _ARM_ARCH_7 */ diff --git a/common/lib/libc/arch/arm/gen/udivsi3.S b/common/lib/libc/arch/arm/gen/udivsi3.S new file mode 100644 index 000000000..5e6a77a2f --- /dev/null +++ b/common/lib/libc/arch/arm/gen/udivsi3.S @@ -0,0 +1,74 @@ +/* $NetBSD: udivsi3.S,v 1.9 2013/09/12 15:36:14 joerg Exp $ */ + +/* + * 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. + */ + +#include + +#if defined(__ARM_EABI__) && defined(__thumb__) && !defined(_ARM_ARCH_T2) +ARM_ENTRY(__udivsi3) +#else +ENTRY(__udivsi3) +#endif +#if defined(__ARM_ARCH_EXT_IDIV__) +# if defined(__ARM_EABI__) + mov r3, r0 @ save for mls +# endif + udiv r0, r0, r1 +# if defined(__ARM_EABI__) + mls r1, r0, r1, r3 @ return modulus in r1 +# endif + RET +#elif defined(__ARM_EABI__) && defined(_LIBC) + cmp r1, #0 + beq .Ldiv0 + ldr r2, .Lhwdiv_present +#ifdef __PIC__ + add r2, r2, pc /* pc = &.LPIC0 */ +# endif + ldr r2, [r2] +.LPIC0: cmp r2, #0 + beq __udivide + mov r3, r0 +# if defined(__ARM_ARCH_EXT_IDIV__) + udiv r0, r0, r1 + mls r1, r0, r1, r3 /* return modulus in r1 */ +# elif defined(__thumb__) && defined(_ARM_ARCH_T2) + .inst.w 0xfbb0f0f1 + .inst.w 0xfb003111 +# else + .inst 0xe730f110 + .inst 0xe0613190 +# endif + RET + + .align 0 +.Lhwdiv_present: + .word REL_SYM(_libc_arm_hwdiv_present, .LPIC0) + + /* Handle divide by zero */ + .align 0 +.Ldiv0: push {r0, lr} /* save r0 */ + mvns r0, #0 /* thumb2 */ + bl _C_LABEL(__aeabi_idiv0) + pop {r1, pc} /* restore r0 as r1 */ +#else + b __udivide +#endif +END(__udivsi3) + +#ifdef __ARM_EABI__ +STRONG_ALIAS(__aeabi_uidivmod, __udivsi3) +STRONG_ALIAS(__aeabi_uidiv, __udivsi3) +#endif diff --git a/common/lib/libc/arch/arm/gen/umodsi3.S b/common/lib/libc/arch/arm/gen/umodsi3.S index 18ec2fffb..35f5da246 100644 --- a/common/lib/libc/arch/arm/gen/umodsi3.S +++ b/common/lib/libc/arch/arm/gen/umodsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: umodsi3.S,v 1.1 2012/10/10 02:16:54 christos Exp $ */ +/* $NetBSD: umodsi3.S,v 1.4 2013/08/15 21:40:11 matt Exp $ */ /* * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND @@ -16,15 +16,22 @@ #include +#ifndef __ARM_EABI__ /* * stack is aligned as there's a possibility of branching to .L_overflow * which makes a C call */ ENTRY(__umodsi3) - stmfd sp!, {lr} - sub sp, sp, #4 /* align stack */ +#ifdef __ARM_ARCH_EXT_IDIV__ + udiv r3, r0, r1 + mls r0, r3, r1, r0 +#else + str lr, [sp, #-8]! /* push lr */ bl PIC_SYM(__udivsi3, PLT) - add sp, sp, #4 /* unalign stack */ mov r0, r1 - ldmfd sp!, {pc} + ldr lr, [sp], #8 /* pop lr */ +#endif + RET +END(__umodsi3) +#endif diff --git a/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S b/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S index 259ff63fe..7febfbed9 100644 --- a/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S +++ b/common/lib/libc/arch/arm/quad/__aeabi_ldivmod.S @@ -29,13 +29,8 @@ #include -RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.1 2012/08/05 06:33:51 matt Exp $") +RCSID("$NetBSD: __aeabi_ldivmod.S,v 1.12 2013/08/19 03:27:34 matt Exp $") -ENTRY(__aeabi_ldivmod) - push {r4-r5, sl, lr} -#define NEG r5 - mov NEG, #0 - #ifdef __ARMEB__ #define ALO r1 /* incoming numerator, outgoing quotient */ #define AHI r0 /* incoming numerator, outgoing quotient */ @@ -48,54 +43,135 @@ ENTRY(__aeabi_ldivmod) #define BHI r3 /* incoming denominator, outgoing remainder */ #endif +ENTRY(__aeabi_ldivmod) +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif +#if !defined(_KERNEL) && !defined(_STANDALONE) +#if !defined(__thumb__) + orrs ip, BLO, BHI + beq .Ldivbyzero +#elif defined(_ARM_ARCH_T2) + cbnz BLO, 1f + cbz BHI, .Ldivbyzero +#else + cmp BLO, #0 + bne 1f + cmp BHI, #0 + beq .Ldivbyzero +#endif +1: +#endif + + push {r4-r6, lr} +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 6, -8 + .cfi_offset 5, -12 + .cfi_offset 4, -16 +#endif +#define NEG r5 + movs NEG, #0 + cmp BHI, #0 bge 2f - eor NEG, NEG, #1 /* flip quotient sign */ + movs NEG, #1 /* flip quotient sign */ bl .Lnegate_b bcs .Lmaxdenom 2: cmp AHI, #0 - /* bge 3f */ +#ifdef __thumb__ + bge 3f + movs r4, #3 + eors NEG, NEG, r4 /* flip quotient sign, flip remainder sign */ + bl .Lnegate_a +3: +#else eorlt NEG, NEG, #3 /* flip quotient sign, flip remainder sign */ bllt .Lnegate_a -3: +#endif + /* * Arguments are setup, allocate some stack for the remainder * and call __qdivrem for the heavy lifting. */ - sub sp, sp, #8 - mov r4, sp /* pointer to remainder */ - push {r4} +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 32 +#endif + sub sp, sp, #16 +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + adds r4, sp, #8 +#else + mov r4, sp + adds r4, r4, #8 +#endif + str r4, [sp] bl PLT_SYM(__qdivrem) - add sp, sp, #4 /* forget pointer to remainder */ + add sp, sp, #8 +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 24 + .cfi_offset 3, -20 + .cfi_offset 2, -24 +#endif - teq NEG, #0 /* any signs to flip? */ /* * The quotient is already in the right place and neither value * needs its sign flipped. */ - popeq {r2-r5, sl, lr} - RETc(eq) +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz NEG, .Lnegate_neither +#else + cmp NEG, #0 /* any signs to flip? */ + beq .Lnegate_neither +#endif - pop {r2, r3} - tst NEG, #2 /* does remainder need to be negative? */ - blne .Lnegate_b - tst NEG, #1 /* does quotient need to be negative? */ - blne .Lnegate_a - pop {r4-r5, sl, lr} - RET + cmp NEG, #2 /* does remainder need to be negative? */ + beq .Lnegate_b_only /* 2 means b only */ + bgt .Lnegate_both /* 3 means both */ +.Lnegate_a_only: + bl .Lnegate_a /* 1 means a only */ +.Lnegate_neither: + pop {r2-r6, pc} /* grab b from stack */ +.Lnegate_both: + bl .Lnegate_a +.Lnegate_b_only: + pop {r2-r3} /* get remainder */ +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 16 +#endif + bl .Lnegate_b /* negate it */ + pop {r4-r6, pc} + .align 0 .Lnegate_a: - rsbs ALO, ALO, #0 - rsc AHI, AHI, #0 +#ifdef __thumb__ + movs r4, AHI + movs AHI, #0 + negs ALO, ALO + sbcs AHI, AHI, r4 +#else + negs ALO, ALO + rsc AHI, AHI, #0 +#endif RET + .align 0 .Lnegate_b: - rsbs BLO, BLO, #0 - rsc BHI, BHI, #0 +#ifdef __thumb__ + movs r4, BHI + movs BHI, #0 + negs BLO, BLO + sbcs BHI, BHI, r4 +#else + negs BLO, BLO + rsc BHI, BHI, #0 +#endif RET + .align 0 .Lmaxdenom: /* * We had a carry so the denominator must have INT64_MIN @@ -103,28 +179,71 @@ ENTRY(__aeabi_ldivmod) * them to see if the numerator has the same value. We * don't have to worry about sign. */ - teq BHI, AHI - teqeq BLO, ALO + cmp BHI, AHI +#ifdef __thumb__ + bne 1f + cmp BLO, ALO +#else + cmpeq BLO, ALO +#endif bne 1f /* * They were equal, so we return a quotient of 1 and remainder of 0. */ - mov ALO, #1 - mov AHI, #0 - mov BLO, #0 - mov BHI, #0 - pop {r4-r5, sl, lr} - RET + movs ALO, #1 + movs AHI, #0 + movs BLO, #0 + movs BHI, #0 + pop {r4-r6, pc} /* * Our remainder must be the numerator and our quotient is 0. */ -1: mov BLO, ALO - mov BHI, AHI - mov ALO, #0 - mov AHI, #0 - pop {r4-r5, sl, lr} - RET + .align 0 +1: movs BLO, ALO + movs BHI, AHI + movs ALO, #0 + movs AHI, #0 + pop {r4-r6, pc} +#if !defined(_KERNEL) && !defined(_STANDALONE) + .align 0 +.Ldivbyzero: + push {r0-r1,r4,lr} +#ifdef __ARM_EABI__ + .save {r0-r1,r4,lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif + cmp AHI, #0 +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) +#ifdef __thumb__ + ittee ge +#endif + mvnge ALO, #0 + mvnge AHI, #0x80000000 + movlt ALO, #0 + movlt AHI, #0x80000000 +#else + blt 1f + movs ALO, #0 + mvns ALO, ALO + mov AHI, ALO + lsrs AHI, AHI, #1 + b 2f +1: + movs ALO, #0 + movs AHI, #1 + lsls AHI, AHI, #31 +2: +#endif /* __thumb__ && !_ARM_ARCH_T2 */ + bl PLT_SYM(__aeabi_ldiv0) + pop {r2-r4, pc} +#endif /* !_KERNEL && !_STANDALONE */ +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif END(__aeabi_ldivmod) diff --git a/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S b/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S index 12351d133..93e1f2915 100644 --- a/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S +++ b/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S @@ -29,7 +29,7 @@ #include -RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.2 2012/08/05 06:34:09 matt Exp $") +RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.7 2013/08/19 03:43:07 matt Exp $") /* * typedef struct { unsigned long long quo, rem } ulldiv_t; @@ -38,16 +38,79 @@ RCSID("$NetBSD: __aeabi_uldivmod.S,v 1.2 2012/08/05 06:34:09 matt Exp $") */ ENTRY(__aeabi_uldivmod) +#ifdef __ARM_EABI__ + .fnstart + .cfi_startproc +#endif +#if !defined(_KERNEL) && !defined(_STANDALONE) +#if !defined(__thumb__) + orrs ip, r2, r3 + beq .Ldivbyzero +#elif defined(_ARM_ARCH_T2) + cbnz r2, 1f + cbz r3, .Ldivbyzero +1: +#else + cmp r2, #0 + bne 1f + cmp r3, #0 + beq .Ldivbyzero +1: +#endif +#endif + push {r4,lr} - sub sp, sp, #8 +#ifdef __ARM_EABI__ + .save {r4,lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif + sub sp, sp, #16 +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 24 +#endif +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + add r4, sp, #8 +#else mov r4, sp - push {r4} + adds r4, r4, #8 +#endif + str r4, [sp] bl PLT_SYM(__qdivrem) - add sp, sp, #4 + add sp, sp, #8 +#ifdef __ARM_EABI__ + .cfi_def_cfa_offset 16 + .cfi_offset 3, -12 + .cfi_offset 2, -16 +#endif /* * The remainder is already on the stack just waiting to be popped * into r2/r3. */ - pop {r2-r4,lr} - RET + pop {r2-r4,pc} + +#if !defined(_KERNEL) && !defined(_STANDALONE) +.Ldivbyzero: + push {r0-r1,r4,lr} +#ifdef __ARM_EABI__ + .save {r0-r1,r4,lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif +#ifdef __thumb__ + movs r0, #0 + mvns r0, r0 +#else + mvn r0, #0 +#endif + mvns r1, r0 + bl PLT_SYM(__aeabi_ldiv0) + pop {r2-r4,pc} +#endif +#ifdef __ARM_EABI__ + .cfi_endproc + .fnend +#endif END(__aeabi_uldivmod) diff --git a/common/lib/libc/arch/arm/string/ffs.S b/common/lib/libc/arch/arm/string/ffs.S index 49d7b4cb9..fd9bb7076 100644 --- a/common/lib/libc/arch/arm/string/ffs.S +++ b/common/lib/libc/arch/arm/string/ffs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.2 2011/07/03 07:13:31 matt Exp $ */ +/* $NetBSD: ffs.S,v 1.6 2013/09/30 13:07:51 skrll Exp $ */ /* * Copyright (c) 2001 Christopher Gilbert * All rights reserved. @@ -30,7 +30,7 @@ #include -RCSID("$NetBSD: ffs.S,v 1.2 2011/07/03 07:13:31 matt Exp $") +RCSID("$NetBSD: ffs.S,v 1.6 2013/09/30 13:07:51 skrll Exp $") /* * ffs - find first set bit, this algorithm isolates the first set @@ -45,17 +45,23 @@ RCSID("$NetBSD: ffs.S,v 1.2 2011/07/03 07:13:31 matt Exp $") * 16 Feb 1994. */ WEAK_ALIAS(__ffssi2,ffs) +#if (defined(_ARM_ARCH_5) && !defined(__thumb__)) || defined(_ARM_ARCH_T2) +#if defined(_ARM_ARCH_T2) ENTRY(ffs) -#ifdef _ARM_ARCH_5 +#else +ARM_ENTRY(ffs) +#endif /* (X & -X) gives LSB or zero. */ - rsb r1, r0, #0 + neg r1, r0 and r0, r0, r1 clz r0, r0 rsb r0, r0, #32 RET +END(ffs) #else +ARM_ENTRY(ffs) /* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry */ - rsb r1, r0, #0 + neg r1, r0 ands r0, r0, r1 /* * now r0 has at most one set bit, call this X @@ -67,7 +73,7 @@ ENTRY(ffs) rsbne r0, r0, r0, lsl #16 /* r0 = X * 0x0450fbaf */ /* now lookup in table indexed on top 6 bits of r0 */ - ldrneb r0, [ r2, r0, lsr #26 ] + ldrbne r0, [r2, r0, lsr #26] RET .text; @@ -82,4 +88,5 @@ ENTRY(ffs) .byte 10, 0, 0, 25, 0, 0, 21, 27 /* 40-47 */ .byte 31, 0, 0, 0, 0, 24, 0, 20 /* 48-55 */ .byte 30, 0, 23, 19, 29, 18, 17, 0 /* 56-63 */ +END(ffs) #endif diff --git a/common/lib/libc/arch/arm/string/memcmp.S b/common/lib/libc/arch/arm/string/memcmp.S index eb2e0a872..f715c95e2 100644 --- a/common/lib/libc/arch/arm/string/memcmp.S +++ b/common/lib/libc/arch/arm/string/memcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: memcmp.S,v 1.3 2013/08/19 06:23:59 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -64,7 +64,7 @@ #include -RCSID("$NetBSD: memcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $") +RCSID("$NetBSD: memcmp.S,v 1.3 2013/08/19 06:23:59 matt Exp $") ENTRY(memcmp) mov ip, r0 @@ -76,7 +76,7 @@ ENTRY(memcmp) /* Are both addresses aligned the same way? */ cmp r2, #0x00 - eornes r3, ip, r1 + eorsne r3, ip, r1 RETc(eq) /* len == 0, or same addresses! */ tst r3, #0x03 subne r2, r2, #0x01 @@ -157,24 +157,25 @@ ENTRY(memcmp) ldrb r0, [ip, #0x00] /* r0 = b1#0 */ ldrb r2, [r1, #0x01] /* r2 = b2#1 */ subs r0, r0, r3 /* r0 = b1#0 - b2#0 */ - ldreqb r3, [ip, #0x01] /* r3 = b1#1 */ + ldrbeq r3, [ip, #0x01] /* r3 = b1#1 */ RETc(ne) /* Return if mismatch on #0 */ subs r0, r3, r2 /* r0 = b1#1 - b2#1 */ - ldreqb r3, [r1, #0x02] /* r3 = b2#2 */ - ldreqb r0, [ip, #0x02] /* r0 = b1#2 */ + ldrbeq r3, [r1, #0x02] /* r3 = b2#2 */ + ldrbeq r0, [ip, #0x02] /* r0 = b1#2 */ RETc(ne) /* Return if mismatch on #1 */ ldrb r2, [r1, #0x03] /* r2 = b2#3 */ subs r0, r0, r3 /* r0 = b1#2 - b2#2 */ - ldreqb r3, [ip, #0x03] /* r3 = b1#3 */ + ldrbeq r3, [ip, #0x03] /* r3 = b1#3 */ RETc(ne) /* Return if mismatch on #2 */ subs r0, r3, r2 /* r0 = b1#3 - b2#3 */ - ldreqb r3, [r1, #0x04] /* r3 = b2#4 */ - ldreqb r0, [ip, #0x04] /* r0 = b1#4 */ + ldrbeq r3, [r1, #0x04] /* r3 = b2#4 */ + ldrbeq r0, [ip, #0x04] /* r0 = b1#4 */ RETc(ne) /* Return if mismatch on #3 */ ldrb r2, [r1, #0x05] /* r2 = b2#5 */ subs r0, r0, r3 /* r0 = b1#4 - b2#4 */ - ldreqb r3, [ip, #0x05] /* r3 = b1#5 */ + ldrbeq r3, [ip, #0x05] /* r3 = b1#5 */ RETc(ne) /* Return if mismatch on #4 */ sub r0, r3, r2 /* r0 = b1#5 - b2#5 */ RET #endif +END(memcmp) diff --git a/common/lib/libc/arch/arm/string/memcpy.S b/common/lib/libc/arch/arm/string/memcpy.S index c2c65a0ab..4e6c5485f 100644 --- a/common/lib/libc/arch/arm/string/memcpy.S +++ b/common/lib/libc/arch/arm/string/memcpy.S @@ -1,4 +1,6 @@ -/* $NetBSD: memcpy.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: memcpy.S,v 1.5 2013/08/20 07:25:52 matt Exp $ */ + +#include #if !defined(__XSCALE__) || defined(_STANDALONE) #include "memcpy_arm.S" diff --git a/common/lib/libc/arch/arm/string/memcpy_arm.S b/common/lib/libc/arch/arm/string/memcpy_arm.S index 81c1a55be..fadb4943f 100644 --- a/common/lib/libc/arch/arm/string/memcpy_arm.S +++ b/common/lib/libc/arch/arm/string/memcpy_arm.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcpy_arm.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: memcpy_arm.S,v 1.4 2013/08/11 04:56:32 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,6 +31,10 @@ #include +#if defined(__ARM_EABI__) +STRONG_ALIAS(__aeabi_memcpy, memcpy) +#endif + /* * This is one fun bit of code ... * Some easy listening music is suggested while trying to understand this @@ -63,7 +67,7 @@ /* LINTSTUB: Func: void *memcpy(void *dst, const void *src, size_t len) */ ENTRY(memcpy) /* save leaf functions having to store this away */ - stmdb sp!, {r0, lr} /* memcpy() returns dest addr */ + push {r0, lr} /* memcpy() returns dest addr */ subs r2, r2, #4 blt .Lmemcpy_l4 /* less than 4 bytes */ @@ -78,7 +82,7 @@ ENTRY(memcpy) blt .Lmemcpy_l12 /* less than 12 bytes (4 from above) */ subs r2, r2, #0x14 blt .Lmemcpy_l32 /* less than 32 bytes (12 from above) */ - stmdb sp!, {r4} /* borrow r4 */ + push {r4} /* borrow r4 */ /* blat 32 bytes at a time */ /* XXX for really big copies perhaps we should use more registers */ @@ -91,19 +95,19 @@ ENTRY(memcpy) bge .Lmemcpy_loop32 cmn r2, #0x10 - ldmgeia r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ - stmgeia r0!, {r3, r4, r12, lr} + ldmiage r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ + stmiage r0!, {r3, r4, r12, lr} subge r2, r2, #0x10 - ldmia sp!, {r4} /* return r4 */ + pop {r4} /* return r4 */ .Lmemcpy_l32: adds r2, r2, #0x14 /* blat 12 bytes at a time */ .Lmemcpy_loop12: - ldmgeia r1!, {r3, r12, lr} - stmgeia r0!, {r3, r12, lr} - subges r2, r2, #0x0c + ldmiage r1!, {r3, r12, lr} + stmiage r0!, {r3, r12, lr} + subsge r2, r2, #0x0c bge .Lmemcpy_loop12 .Lmemcpy_l12: @@ -113,27 +117,27 @@ ENTRY(memcpy) subs r2, r2, #4 ldrlt r3, [r1], #4 strlt r3, [r0], #4 - ldmgeia r1!, {r3, r12} - stmgeia r0!, {r3, r12} + ldmiage r1!, {r3, r12} + stmiage r0!, {r3, r12} subge r2, r2, #4 .Lmemcpy_l4: /* less than 4 bytes to go */ adds r2, r2, #4 #ifdef __APCS_26_ - ldmeqia sp!, {r0, pc}^ /* done */ + ldmiaeq sp!, {r0, pc}^ /* done */ #else - ldmeqia sp!, {r0, pc} /* done */ + popeq {r0, pc} /* done */ #endif /* copy the crud byte at a time */ cmp r2, #2 ldrb r3, [r1], #1 strb r3, [r0], #1 - ldrgeb r3, [r1], #1 - strgeb r3, [r0], #1 - ldrgtb r3, [r1], #1 - strgtb r3, [r0], #1 - ldmia sp!, {r0, pc} + ldrbge r3, [r1], #1 + strbge r3, [r0], #1 + ldrbgt r3, [r1], #1 + strbgt r3, [r0], #1 + pop {r0, pc} /* erg - unaligned destination */ .Lmemcpy_destul: @@ -143,10 +147,10 @@ ENTRY(memcpy) /* align destination with byte copies */ ldrb r3, [r1], #1 strb r3, [r0], #1 - ldrgeb r3, [r1], #1 - strgeb r3, [r0], #1 - ldrgtb r3, [r1], #1 - strgtb r3, [r0], #1 + ldrbge r3, [r1], #1 + strbge r3, [r0], #1 + ldrbgt r3, [r1], #1 + strbgt r3, [r0], #1 subs r2, r2, r12 blt .Lmemcpy_l4 /* less the 4 bytes */ @@ -164,7 +168,7 @@ ENTRY(memcpy) cmp r2, #0x0c blt .Lmemcpy_srcul1loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5} + push {r4, r5} .Lmemcpy_srcul1loop16: #ifdef __ARMEB__ @@ -193,7 +197,7 @@ ENTRY(memcpy) stmia r0!, {r3-r5, r12} subs r2, r2, #0x10 bge .Lmemcpy_srcul1loop16 - ldmia sp!, {r4, r5} + pop {r4, r5} adds r2, r2, #0x0c blt .Lmemcpy_srcul1l4 @@ -221,7 +225,7 @@ ENTRY(memcpy) cmp r2, #0x0c blt .Lmemcpy_srcul2loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5} + push {r4, r5} .Lmemcpy_srcul2loop16: #ifdef __ARMEB__ @@ -250,7 +254,7 @@ ENTRY(memcpy) stmia r0!, {r3-r5, r12} subs r2, r2, #0x10 bge .Lmemcpy_srcul2loop16 - ldmia sp!, {r4, r5} + pop {r4, r5} adds r2, r2, #0x0c blt .Lmemcpy_srcul2l4 @@ -278,7 +282,7 @@ ENTRY(memcpy) cmp r2, #0x0c blt .Lmemcpy_srcul3loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5} + push {r4, r5} .Lmemcpy_srcul3loop16: #ifdef __ARMEB__ @@ -307,7 +311,7 @@ ENTRY(memcpy) stmia r0!, {r3-r5, r12} subs r2, r2, #0x10 bge .Lmemcpy_srcul3loop16 - ldmia sp!, {r4, r5} + pop {r4, r5} adds r2, r2, #0x0c blt .Lmemcpy_srcul3l4 @@ -330,3 +334,4 @@ ENTRY(memcpy) .Lmemcpy_srcul3l4: sub r1, r1, #1 b .Lmemcpy_l4 +END(memcpy) diff --git a/common/lib/libc/arch/arm/string/memcpy_neon.S b/common/lib/libc/arch/arm/string/memcpy_neon.S new file mode 100644 index 000000000..229833300 --- /dev/null +++ b/common/lib/libc/arch/arm/string/memcpy_neon.S @@ -0,0 +1,277 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: memcpy_neon.S,v 1.1 2013/01/03 09:34:44 matt Exp $") + + .text +ENTRY(memcpy) + teq r2, #0 /* 0 length? */ + cmpne r0, r1 /* if not, does src == dst? */ + RETc(eq) /* yes, (to either) return */ + + mov r3, r0 /* keep r0 unchanged */ +#if 0 + cmp r2, #16 /* copy less than 8 bytes? */ + bge .Ldst_aligner /* nope, do it the long way */ + +1: ldrb ip, [r1], #1 /* load a byte from src */ + subs r2, r2, #1 /* and more to transfer? */ + strb ip, [r3], #1 /* save it to dst */ + bne 1b /* yes, do next byte */ + RET /* return */ +#endif + +.Ldst_aligner: + tst r3, #7 /* is dst pointer word aligned? */ + beq .Lsrc_aligner /* yes, check src pointer */ + /* + * Until the dst pointer is word aligned, read src and dst byte by + * byte until it is aligned or we've copied everything. + */ + ldrb ip, [r1], #1 /* load a byte from src */ + strb ip, [r3], #1 /* save the byte to dst */ + subs r2, r2, #1 /* end of transfer? */ + bne .Ldst_aligner /* no, try next byte */ + RET /* yes, we're done! */ + +.Lsrc_aligner: + push {r4-r5} /* save some registers */ + add r4, r2, r3 /* keep a pointer to the end of src */ + ands r5, r1, #7 /* get misalignment of src pointer */ + beq .Lcongruent_main /* aligned, do it the fast way */ + + vdup.8 d1, r5 /* set offset for table */ + rsb r5, r5, #8 /* calculate leftover of each word */ + bic r1, r1, #7 /* dword align src pointer */ + + vldr d0, .Ltbl_value /* load table value */ + vadd.u8 d0, d0, d1 /* add offset to it */ + + vld1.64 {d1}, [r1:64]! /* load a dword from src */ + + cmp r2, r5 /* do we already have enough? */ + bgt .Lincongruent /* no, so read more */ + +.Lincongruent_finish: + vtbl.8 d0, {d1-d2}, d0 /* merge last dwords */ + cmp r2, #8 /* room for a full dword? */ +#ifdef __ARMEB__ + vrev64.32 d0, d0 /* word swap to LE */ +#endif + blt .Lfinish /* no, write final partial dword */ + vst1.32 {d0}, [r3:64] /* yes, write final full dword */ + b .Ldone /* and we're done! */ + +.Lincongruent: + vld1.64 {d2}, [r1:64]! /* load a dword */ + cmp r2, #8 /* can we write a full dword? */ + blt .Lincongruent_finish /* no, finish it. */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vst1.64 {d1}, [r3:64]! /* store a dword */ + subs r2, r2, #8 /* have we written everything? */ + beq .Ldone /* yes, we're done! */ + vmov d1, d2 /* prepare for next dword */ + tst r3, #63 /* are we 64-byte aligned? */ + bne .Lincongruent /* no, load next dword */ + + /* + * We are now 64-byte aligneds so all writes should fill one or more + * cachelines. Even if d1 has 7 bytes cached, to write 32 bytes we + * still need to read 4 dwords (3 full dwords and 1 dword for that + * last byte). + */ + cmp r2, #32 /* can we write 4 more dwords? */ + blt .Lincongruent_dword /* no, handle dword by dword */ + vld1.64 {d2-d5}, [r1:64]! /* read 4 dwords */ + cmp r2, #64 /* can we write 4 more dwords? */ + blt .Lincongruent_4dword /* no, handle it */ + +1: vld1.64 {d7-d10}, [r1:64]! /* read 4 dwords */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vtbl.8 d2, {d2-d3}, d0 /* reorder */ + vtbl.8 d3, {d3-d4}, d0 /* reorder */ + vtbl.8 d4, {d4-d5}, d0 /* reorder */ + vst1.64 {d1-d4}, [r3:64]! /* write 4 dwords */ + vmov d6, d5 /* move out of the way the load */ + cmp r2, #96 /* have 8+4 dwords to write? */ + blt 2f /* no more data, skip the load */ + vld1.64 {d2-d5}, [r1:64]! /* more data, load 4 dwords */ +2: vtbl.8 d6, {d6-d7}, d0 /* reorder */ + vtbl.8 d7, {d7-d8}, d0 /* reorder */ + vtbl.8 d8, {d8-d9}, d0 /* reorder */ + vtbl.8 d9, {d9-d10}, d0 /* reorder */ + vst1.64 {d6-d9}, [r3:64]! /* write 4 dwords */ + subs r2, r2, #64 + beq .Ldone + vmov d1, d10 + cmp r2, #64 + bge 1b + + /* + * we have leftovers in d1 and new untranslated date in d2-d5. + */ +.Lincongruent_4dword: + cmp r2, #32 + blt .Lincongruent_dword + + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vtbl.8 d2, {d2-d3}, d0 /* reorder */ + vtbl.8 d3, {d3-d4}, d0 /* reorder */ + vtbl.8 d4, {d4-d5}, d0 /* reorder */ + vst1.64 {d1-d4}, [r3:64]! /* write 4 dwords */ + vmov d1, d5 /* move leftovers */ + subs r2, r2, #32 + beq .Ldone + +.Lincongruent_dword: +#if 0 + cmp r2, r5 /* enough in leftovers? */ + ble .Lincongruent_finish /* yes, finish it. */ + vld1.64 {d2}, [r1:64]! /* load a dword */ + cmp r2, #8 /* can we write a full dword? */ + blt .Lincongruent_finish /* no, finish it. */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vst1.64 {d1}, [r3:64]! /* store a dword */ + subs r2, r2, #8 /* have we written everything? */ + beq .Ldone /* yes, we're done! */ + b .Lincongruent_dword /* and go get it */ +#else + cmp r2, r5 /* are the bytes we have enough? */ + ble .Lincongruent_finish /* yes, finish it. */ + mov ip, r2 /* get remaining count */ + bic ip, ip, #7 /* truncate to a dword */ + rsb ip, ip, #32 /* subtract from 32 */ + ands r2, r2, #7 /* count mod 8 */ + add pc, pc, ip, lsl #1 /* and jump! */ + nop + vld1.64 {d2}, [r1:64]! /* load a dword */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vst1.64 {d1}, [r3:64]! /* store a dword */ + vmov d1, d2 /* prepare for next dword */ + vld1.64 {d2}, [r1:64]! /* load a dword */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vst1.64 {d1}, [r3:64]! /* store a dword */ + vmov d1, d2 /* prepare for next dword */ + vld1.64 {d2}, [r1:64]! /* load a dword */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vst1.64 {d1}, [r3:64]! /* store a dword */ + vmov d1, d2 /* prepare for next dword */ + vld1.64 {d2}, [r1:64]! /* load a dword */ + vtbl.8 d1, {d1-d2}, d0 /* reorder */ + vst1.64 {d1}, [r3:64]! /* store a dword */ + vmov d1, d2 /* prepare for next dword */ + beq .Ldone + vld1.64 {d2}, [r1:64]! /* load a dword */ + b .Lincongruent_finish /* write last partial dowrd */ +#endif + +.Lcongruent_main: + vld1.32 {d0}, [r1:64]! /* load next dword */ + cmp r2, #8 /* compare current ptr against end */ + blt .Lfinish /* greater so write final dword */ + vst1.32 {d0}, [r3:64]! /* store dword */ + subs r2, r2, #8 /* compare current ptr against end */ + beq .Ldone /* equal? we're done! */ + tst r3, #63 /* have we hit a 64-byte boundary? */ + bne .Lcongruent_main /* no, write next word */ + + cmp r2, #64 /* can we write 4 dwords? */ + blt .Lcongruent_loop /* no, this dword by dword */ + vldm r1!, {d0-d7} /* load next 7 dwords */ + cmp r2, #128 /* can we write 16 dwords */ + blt 3f /* no, then deal with 8 dwords */ + + /* + * The following writes two 64-byte interleaving stores and loads. + */ +1: vldm r1!, {d8-d15} /* load next 8 dwords */ + vstm r3!, {d0-d7} /* store 8 more dwords */ + cmp r2, #192 /* can we write 16+8 dwords? */ + blt 2f /* no, don't load the next 8 dwords */ + vldm r1!, {d0-d7} /* yes, load next 8 dwords */ +2: vstm r3!, {d8-d15} /* store 8 more dwords */ + sub r2, r2, #128 /* we just stored 16 (8+8) dwords */ + beq .Ldone /* if 0, we're done! */ + cmp r2, #128 /* can we write 16 dwords */ + bge 1b /* yes, do it again */ + cmp r2, #64 /* have we loaded 8 dwords? */ + blt .Lcongruent_loop /* no, proceed to do it dword */ + + /* + * We now have 8 dwords we can write in d0-d7. + */ +3: vstm r3!, {d0-d7} /* store 8 more dwords */ + subs r2, r2, #64 /* we wrote 8 dwords */ + beq .Ldone /* if 0, we're done! */ + +.Lcongruent_loop: + vld1.32 {d0}, [r1]! /* load dword from src */ + cmp r2, #8 /* can we write a full dword? */ + blt .Lfinish /* no, write last partial dword */ +.Lcongruent_loop_start: + vst1.32 {d0}, [r3]! /* store dword into dst */ + subs r2, r2, #8 /* subtract it from length */ + beq .Ldone /* if 0, we're done! */ + vld1.32 {d0}, [r1]! /* load dword from src */ + cmp r2, #8 /* can we write a full dword? */ + bge .Lcongruent_loop_start /* yes, so do it */ + +.Lfinish: + vmov r4, r5, d0 /* get last dword from NEON */ + tst r2, #4 /* do we have at least 4 bytes left? */ + strne r4, [r3], #4 /* store the 1st word */ + movne r4, r5 /* move 2nd word into place */ + tst r2, #2 /* do we have at least 2 bytes left? */ +#ifdef __ARMEB__ + movne r4, r4, ror #16 /* yes, swap halfwords */ +#endif + strneh r4, [r3], #2 /* yes, store the halfword */ +#ifdef __ARMEL__ + movne r4, r4, lsr #16 /* yes, discard just written bytes */ +#endif + tst r2, #1 /* do we have a final byte? */ +#ifdef __ARMEB__ + movne r4, r4, lsr #24 /* yes, move MSB to LSB */ +#endif + strneb r4, [r3], #1 /* yes, store it */ + +.Ldone: + pop {r4-r5} /* restore registers */ + RET + + .p2align 3 +.Ltbl_value: +#ifdef __ARMEL__ + .quad 0x0706050403020100 +#else + .quad 0x0001020304050607 +#endif +END(memcpy) diff --git a/common/lib/libc/arch/arm/string/memcpy_xscale.S b/common/lib/libc/arch/arm/string/memcpy_xscale.S index 3e157d075..abc92a279 100644 --- a/common/lib/libc/arch/arm/string/memcpy_xscale.S +++ b/common/lib/libc/arch/arm/string/memcpy_xscale.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcpy_xscale.S,v 1.2 2007/06/21 21:37:04 scw Exp $ */ +/* $NetBSD: memcpy_xscale.S,v 1.4 2013/08/19 01:08:53 matt Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -51,12 +51,12 @@ ENTRY(memcpy) ldrb ip, [r1], #0x01 sub r2, r2, #0x01 strb ip, [r3], #0x01 - ldrleb ip, [r1], #0x01 + ldrble ip, [r1], #0x01 suble r2, r2, #0x01 - strleb ip, [r3], #0x01 - ldrltb ip, [r1], #0x01 + strble ip, [r3], #0x01 + ldrblt ip, [r1], #0x01 sublt r2, r2, #0x01 - strltb ip, [r3], #0x01 + strblt ip, [r3], #0x01 /* Destination buffer is now word aligned */ .Lmemcpy_wordaligned: @@ -66,7 +66,7 @@ ENTRY(memcpy) /* Quad-align the destination buffer */ tst r3, #0x07 /* Already quad aligned? */ ldrne ip, [r1], #0x04 - stmfd sp!, {r4-r9} /* Free up some registers */ + push {r4-r9} /* Free up some registers */ subne r2, r2, #0x04 strne ip, [r3], #0x04 @@ -133,8 +133,8 @@ ENTRY(memcpy) .Lmemcpy_w_lessthan128: adds r2, r2, #0x80 /* Adjust for extra sub */ - ldmeqfd sp!, {r4-r9} - bxeq lr /* Return now if done */ + popeq {r4-r9} + RETc(eq) /* Return now if done */ subs r2, r2, #0x20 blt .Lmemcpy_w_lessthan32 @@ -158,8 +158,8 @@ ENTRY(memcpy) .Lmemcpy_w_lessthan32: adds r2, r2, #0x20 /* Adjust for extra sub */ - ldmeqfd sp!, {r4-r9} - bxeq lr /* Return now if done */ + popeq {r4-r9} + RETc(eq) /* Return now if done */ and r4, r2, #0x18 rsbs r4, r4, #0x18 @@ -185,21 +185,21 @@ ENTRY(memcpy) strd r4, [r3], #0x08 /* Less than 8 bytes remaining */ - ldmfd sp!, {r4-r9} - bxeq lr /* Return now if done */ + pop {r4-r9} + RETc(eq) /* Return now if done */ subs r2, r2, #0x04 ldrge ip, [r1], #0x04 strge ip, [r3], #0x04 - bxeq lr /* Return now if done */ + RETc(eq) /* Return now if done */ addlt r2, r2, #0x04 ldrb ip, [r1], #0x01 cmp r2, #0x02 - ldrgeb r2, [r1], #0x01 + ldrbge r2, [r1], #0x01 strb ip, [r3], #0x01 - ldrgtb ip, [r1] - strgeb r2, [r3], #0x01 - strgtb ip, [r3] - bx lr + ldrbgt ip, [r1] + strbge r2, [r3], #0x01 + strbgt ip, [r3] + RET /* @@ -207,7 +207,7 @@ ENTRY(memcpy) * The destination buffer is word aligned, but the source buffer is not. */ .Lmemcpy_bad_align: - stmfd sp!, {r4-r7} + push {r4-r7} bic r1, r1, #0x03 cmp ip, #2 ldr ip, [r1], #0x04 @@ -287,8 +287,8 @@ ENTRY(memcpy) str r6, [r3], #0x04 str r7, [r3], #0x04 subs r2, r2, #0x10 - ldmeqfd sp!, {r4-r7} - bxeq lr /* Return now if done */ + popeq {r4-r7} + RETc(eq) /* Return now if done */ .Lmemcpy_bad1_loop16_short: subs r2, r2, #0x04 @@ -385,8 +385,8 @@ ENTRY(memcpy) str r6, [r3], #0x04 str r7, [r3], #0x04 subs r2, r2, #0x10 - ldmeqfd sp!, {r4-r7} - bxeq lr /* Return now if done */ + popeq {r4-r7} + RETc(eq) /* Return now if done */ .Lmemcpy_bad2_loop16_short: subs r2, r2, #0x04 @@ -483,8 +483,8 @@ ENTRY(memcpy) str r6, [r3], #0x04 str r7, [r3], #0x04 subs r2, r2, #0x10 - ldmeqfd sp!, {r4-r7} - bxeq lr /* Return now if done */ + popeq {r4-r7} + RETc(eq) /* Return now if done */ .Lmemcpy_bad3_loop16_short: subs r2, r2, #0x04 @@ -509,17 +509,17 @@ ENTRY(memcpy) sub r1, r1, #0x01 .Lmemcpy_bad_done: - ldmfd sp!, {r4-r7} + pop {r4-r7} adds r2, r2, #0x04 - bxeq lr + RETc(eq) ldrb ip, [r1], #0x01 cmp r2, #0x02 - ldrgeb r2, [r1], #0x01 + ldrbge r2, [r1], #0x01 strb ip, [r3], #0x01 - ldrgtb ip, [r1] - strgeb r2, [r3], #0x01 - strgtb ip, [r3] - bx lr + ldrbgt ip, [r1] + strbge r2, [r3], #0x01 + strbgt ip, [r3] + RET /* @@ -531,7 +531,7 @@ ENTRY(memcpy) #ifndef _STANDALONE add pc, pc, r2, lsl #2 nop - bx lr /* 0x00 */ + RET /* 0x00 */ b .Lmemcpy_bytewise /* 0x01 */ b .Lmemcpy_bytewise /* 0x02 */ b .Lmemcpy_bytewise /* 0x03 */ @@ -550,9 +550,9 @@ ENTRY(memcpy) ldrb ip, [r1], #0x01 1: subs r2, r2, #0x01 strb ip, [r3], #0x01 - ldrneb ip, [r1], #0x01 + ldrbne ip, [r1], #0x01 bne 1b - bx lr + RET #ifndef _STANDALONE /****************************************************************************** @@ -573,7 +573,7 @@ ENTRY(memcpy) */ ldr r2, [r1] str r2, [r0] - bx lr + RET LMEMCPY_4_PAD /* @@ -589,7 +589,7 @@ ENTRY(memcpy) orr r3, r3, r2, lsl #24 /* r3 = 3210 */ #endif str r3, [r0] - bx lr + RET LMEMCPY_4_PAD /* @@ -604,7 +604,7 @@ ENTRY(memcpy) #endif orr r3, r2, r3, lsl #16 str r3, [r0] - bx lr + RET LMEMCPY_4_PAD /* @@ -620,7 +620,7 @@ ENTRY(memcpy) orr r3, r3, r2, lsl #8 /* r3 = 3210 */ #endif str r3, [r0] - bx lr + RET LMEMCPY_4_PAD /* @@ -639,7 +639,7 @@ ENTRY(memcpy) strb r1, [r0, #0x03] #endif strh r3, [r0, #0x01] - bx lr + RET LMEMCPY_4_PAD /* @@ -651,7 +651,7 @@ ENTRY(memcpy) strb r2, [r0] strh r3, [r0, #0x01] strb r1, [r0, #0x03] - bx lr + RET LMEMCPY_4_PAD /* @@ -672,7 +672,7 @@ ENTRY(memcpy) #endif strh r2, [r0, #0x01] strb r3, [r0, #0x03] - bx lr + RET LMEMCPY_4_PAD /* @@ -684,7 +684,7 @@ ENTRY(memcpy) strb r2, [r0] strh r3, [r0, #0x01] strb r1, [r0, #0x03] - bx lr + RET LMEMCPY_4_PAD /* @@ -700,7 +700,7 @@ ENTRY(memcpy) mov r3, r2, lsr #16 strh r3, [r0, #0x02] #endif - bx lr + RET LMEMCPY_4_PAD /* @@ -718,7 +718,7 @@ ENTRY(memcpy) orr r2, r2, r3, lsl #8 /* r2 = xx32 */ #endif strh r2, [r0, #0x02] - bx lr + RET LMEMCPY_4_PAD /* @@ -728,7 +728,7 @@ ENTRY(memcpy) ldrh r3, [r1, #0x02] strh r2, [r0] strh r3, [r0, #0x02] - bx lr + RET LMEMCPY_4_PAD /* @@ -746,7 +746,7 @@ ENTRY(memcpy) orr r3, r3, r2, lsr #24 /* r3 = 3210 */ #endif strh r3, [r0] - bx lr + RET LMEMCPY_4_PAD /* @@ -766,7 +766,7 @@ ENTRY(memcpy) strh r3, [r0, #0x01] strb r1, [r0, #0x03] #endif - bx lr + RET LMEMCPY_4_PAD /* @@ -778,7 +778,7 @@ ENTRY(memcpy) strb r2, [r0] strh r3, [r0, #0x01] strb r1, [r0, #0x03] - bx lr + RET LMEMCPY_4_PAD /* @@ -803,7 +803,7 @@ ENTRY(memcpy) mov r3, r3, lsr #8 /* r3 = ...3 */ strb r3, [r0, #0x03] #endif - bx lr + RET LMEMCPY_4_PAD /* @@ -815,7 +815,7 @@ ENTRY(memcpy) strb r2, [r0] strh r3, [r0, #0x01] strb r1, [r0, #0x03] - bx lr + RET LMEMCPY_4_PAD @@ -839,7 +839,7 @@ ENTRY(memcpy) ldrh r3, [r1, #0x04] str r2, [r0] strh r3, [r0, #0x04] - bx lr + RET LMEMCPY_6_PAD /* @@ -857,7 +857,7 @@ ENTRY(memcpy) mov r3, r3, lsr #8 /* BE:r3 = .345 LE:r3 = .x54 */ str r2, [r0] strh r3, [r0, #0x04] - bx lr + RET LMEMCPY_6_PAD /* @@ -876,7 +876,7 @@ ENTRY(memcpy) str r2, [r0] strh r1, [r0, #0x04] #endif - bx lr + RET LMEMCPY_6_PAD /* @@ -898,7 +898,7 @@ ENTRY(memcpy) #endif str r2, [r0] strh r1, [r0, #0x04] - bx lr + RET LMEMCPY_6_PAD /* @@ -921,7 +921,7 @@ ENTRY(memcpy) #endif strh r3, [r0, #0x03] strb r2, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD /* @@ -935,7 +935,7 @@ ENTRY(memcpy) strh r3, [r0, #0x01] strh ip, [r0, #0x03] strb r1, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD /* @@ -962,7 +962,7 @@ ENTRY(memcpy) orr r3, r3, r1, lsl #8 /* r3 = 4321 */ strh r3, [r0, #0x01] #endif - bx lr + RET LMEMCPY_6_PAD /* @@ -976,7 +976,7 @@ ENTRY(memcpy) strh r3, [r0, #0x01] strh ip, [r0, #0x03] strb r1, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD /* @@ -997,7 +997,7 @@ ENTRY(memcpy) strh r3, [r0] str r2, [r0, #0x02] #endif - bx lr + RET LMEMCPY_6_PAD /* @@ -1015,7 +1015,7 @@ ENTRY(memcpy) #endif strh r1, [r0] str r2, [r0, #0x02] - bx lr + RET LMEMCPY_6_PAD /* @@ -1025,7 +1025,7 @@ ENTRY(memcpy) ldr r3, [r1, #0x02] strh r2, [r0] str r3, [r0, #0x02] - bx lr + RET LMEMCPY_6_PAD /* @@ -1045,7 +1045,7 @@ ENTRY(memcpy) #endif strh r3, [r0] str r1, [r0, #0x02] - bx lr + RET LMEMCPY_6_PAD /* @@ -1066,7 +1066,7 @@ ENTRY(memcpy) #endif str r2, [r0, #0x01] strb r1, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD /* @@ -1080,7 +1080,7 @@ ENTRY(memcpy) strh r3, [r0, #0x01] strh ip, [r0, #0x03] strb r1, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD /* @@ -1101,7 +1101,7 @@ ENTRY(memcpy) #endif str r2, [r0, #0x01] strb r1, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD /* @@ -1113,7 +1113,7 @@ ENTRY(memcpy) strb r2, [r0] str r3, [r0, #0x01] strb r1, [r0, #0x05] - bx lr + RET LMEMCPY_6_PAD @@ -1137,7 +1137,7 @@ ENTRY(memcpy) ldr r3, [r1, #0x04] str r2, [r0] str r3, [r0, #0x04] - bx lr + RET LMEMCPY_8_PAD /* @@ -1158,7 +1158,7 @@ ENTRY(memcpy) #endif str r3, [r0] str r2, [r0, #0x04] - bx lr + RET LMEMCPY_8_PAD /* @@ -1178,7 +1178,7 @@ ENTRY(memcpy) #endif str r2, [r0] str r3, [r0, #0x04] - bx lr + RET LMEMCPY_8_PAD /* @@ -1199,7 +1199,7 @@ ENTRY(memcpy) #endif str r3, [r0] str r2, [r0, #0x04] - bx lr + RET LMEMCPY_8_PAD /* @@ -1224,7 +1224,7 @@ ENTRY(memcpy) #endif strh r1, [r0, #0x01] str r3, [r0, #0x03] - bx lr + RET LMEMCPY_8_PAD /* @@ -1238,7 +1238,7 @@ ENTRY(memcpy) strh r3, [r0, #0x01] str ip, [r0, #0x03] strb r1, [r0, #0x07] - bx lr + RET LMEMCPY_8_PAD /* @@ -1266,7 +1266,7 @@ ENTRY(memcpy) #endif strh ip, [r0, #0x01] str r3, [r0, #0x03] - bx lr + RET LMEMCPY_8_PAD /* @@ -1287,7 +1287,7 @@ ENTRY(memcpy) #endif str r2, [r0, #0x03] strb r1, [r0, #0x07] - bx lr + RET LMEMCPY_8_PAD /* @@ -1307,7 +1307,7 @@ ENTRY(memcpy) #endif str r2, [r0, #0x02] strh r3, [r0, #0x06] - bx lr + RET LMEMCPY_8_PAD /* @@ -1330,7 +1330,7 @@ ENTRY(memcpy) #endif str r1, [r0, #0x02] strh r3, [r0, #0x06] - bx lr + RET LMEMCPY_8_PAD /* @@ -1342,7 +1342,7 @@ ENTRY(memcpy) strh r2, [r0] str ip, [r0, #0x02] strh r3, [r0, #0x06] - bx lr + RET LMEMCPY_8_PAD /* @@ -1365,7 +1365,7 @@ ENTRY(memcpy) #endif str r3, [r0, #0x02] strh r2, [r0] - bx lr + RET LMEMCPY_8_PAD /* @@ -1390,7 +1390,7 @@ ENTRY(memcpy) orr r2, r2, r3, lsl #24 /* r2 = 4321 */ str r2, [r0, #0x01] #endif - bx lr + RET LMEMCPY_8_PAD /* @@ -1411,7 +1411,7 @@ ENTRY(memcpy) #endif str r2, [r0, #0x01] strb r1, [r0, #0x07] - bx lr + RET LMEMCPY_8_PAD /* @@ -1439,7 +1439,7 @@ ENTRY(memcpy) #endif str ip, [r0, #0x01] strh r1, [r0, #0x05] - bx lr + RET LMEMCPY_8_PAD /* @@ -1453,7 +1453,7 @@ ENTRY(memcpy) str ip, [r0, #0x01] strh r3, [r0, #0x05] strb r1, [r0, #0x07] - bx lr + RET LMEMCPY_8_PAD /****************************************************************************** @@ -1478,7 +1478,7 @@ ENTRY(memcpy) str r2, [r0] str r3, [r0, #0x04] str r1, [r0, #0x08] - bx lr + RET LMEMCPY_C_PAD /* @@ -1506,7 +1506,7 @@ ENTRY(memcpy) #endif str r2, [r0, #0x04] str r1, [r0] - bx lr + RET LMEMCPY_C_PAD /* @@ -1533,7 +1533,7 @@ ENTRY(memcpy) #endif str r3, [r0, #0x04] str r1, [r0, #0x08] - bx lr + RET LMEMCPY_C_PAD /* @@ -1561,7 +1561,7 @@ ENTRY(memcpy) #endif str r3, [r0, #0x04] str r1, [r0, #0x08] - bx lr + RET LMEMCPY_C_PAD /* @@ -1590,7 +1590,7 @@ ENTRY(memcpy) str r2, [r0, #0x03] str r1, [r0, #0x07] strb ip, [r0, #0x0b] - bx lr + RET LMEMCPY_C_PAD /* @@ -1606,7 +1606,7 @@ ENTRY(memcpy) str ip, [r0, #0x03] str r2, [r0, #0x07] strb r1, [r0, #0x0b] - bx lr + RET LMEMCPY_C_PAD /* @@ -1640,7 +1640,7 @@ ENTRY(memcpy) str r3, [r0, #0x03] str r2, [r0, #0x07] strb r1, [r0, #0x0b] - bx lr + RET LMEMCPY_C_PAD /* @@ -1670,7 +1670,7 @@ ENTRY(memcpy) str r3, [r0, #0x03] str ip, [r0, #0x07] strb r1, [r0, #0x0b] - bx lr + RET LMEMCPY_C_PAD /* @@ -1696,7 +1696,7 @@ ENTRY(memcpy) str r1, [r0, #0x02] str r3, [r0, #0x06] strh r2, [r0, #0x0a] - bx lr + RET LMEMCPY_C_PAD /* @@ -1725,7 +1725,7 @@ ENTRY(memcpy) str r2, [r0, #0x02] str r3, [r0, #0x06] strh r1, [r0, #0x0a] - bx lr + RET LMEMCPY_C_PAD /* @@ -1739,7 +1739,7 @@ ENTRY(memcpy) str r3, [r0, #0x02] str ip, [r0, #0x06] strh r1, [r0, #0x0a] - bx lr + RET LMEMCPY_C_PAD /* @@ -1768,7 +1768,7 @@ ENTRY(memcpy) str r2, [r0, #0x06] str r3, [r0, #0x02] strh r1, [r0] - bx lr + RET LMEMCPY_C_PAD /* @@ -1802,7 +1802,7 @@ ENTRY(memcpy) mov r1, r1, lsr #16 /* r1 = ...B */ strb r1, [r0, #0x0b] #endif - bx lr + RET LMEMCPY_C_PAD /* @@ -1832,7 +1832,7 @@ ENTRY(memcpy) str r3, [r0, #0x05] str ip, [r0, #0x01] strb r1, [r0] - bx lr + RET LMEMCPY_C_PAD /* @@ -1873,7 +1873,7 @@ ENTRY(memcpy) strh ip, [r0, #0x09] strb r1, [r0, #0x0b] #endif - bx lr + RET LMEMCPY_C_PAD /* @@ -1889,5 +1889,6 @@ ENTRY(memcpy) str ip, [r0, #0x05] strh r2, [r0, #0x09] strb r1, [r0, #0x0b] - bx lr + RET +END(memcpy) #endif /* !_STANDALONE */ diff --git a/common/lib/libc/arch/arm/string/memmove.S b/common/lib/libc/arch/arm/string/memmove.S index 606d7055f..e1261d5e0 100644 --- a/common/lib/libc/arch/arm/string/memmove.S +++ b/common/lib/libc/arch/arm/string/memmove.S @@ -1,4 +1,4 @@ -/* $NetBSD: memmove.S,v 1.3 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: memmove.S,v 1.7 2013/11/30 20:20:42 joerg Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -49,7 +49,7 @@ ENTRY(bcopy) subhs r3, r0, r1 /* if (dst > src) r3 = dst - src */ sublo r3, r1, r0 /* if (src > dst) r3 = src - dst */ cmp r3, r2 /* if (r3 >= len) we have an overlap */ - bhs PIC_SYM(_C_LABEL(memcpy), PLT) + bhs PLT_SYM(_C_LABEL(memcpy)) /* Determine copy direction */ cmp r1, r0 @@ -58,7 +58,7 @@ ENTRY(bcopy) moveq r0, #0 /* Quick abort for len=0 */ RETc(eq) - stmdb sp!, {r0, lr} /* memmove() returns dest addr */ + push {r0, lr} /* memmove() returns dest addr */ subs r2, r2, #4 blt .Lmemmove_fl4 /* less than 4 bytes */ ands r12, r0, #3 @@ -72,7 +72,7 @@ ENTRY(bcopy) blt .Lmemmove_fl12 /* less than 12 bytes (4 from above) */ subs r2, r2, #0x14 blt .Lmemmove_fl32 /* less than 32 bytes (12 from above) */ - stmdb sp!, {r4} /* borrow r4 */ + push {r4} /* borrow r4 */ /* blat 32 bytes at a time */ /* XXX for really big copies perhaps we should use more registers */ @@ -85,19 +85,19 @@ ENTRY(bcopy) bge .Lmemmove_floop32 cmn r2, #0x10 - ldmgeia r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ - stmgeia r0!, {r3, r4, r12, lr} + ldmiage r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ + stmiage r0!, {r3, r4, r12, lr} subge r2, r2, #0x10 - ldmia sp!, {r4} /* return r4 */ + pop {r4} /* return r4 */ .Lmemmove_fl32: adds r2, r2, #0x14 /* blat 12 bytes at a time */ .Lmemmove_floop12: - ldmgeia r1!, {r3, r12, lr} - stmgeia r0!, {r3, r12, lr} - subges r2, r2, #0x0c + ldmiage r1!, {r3, r12, lr} + stmiage r0!, {r3, r12, lr} + subsge r2, r2, #0x0c bge .Lmemmove_floop12 .Lmemmove_fl12: @@ -107,24 +107,24 @@ ENTRY(bcopy) subs r2, r2, #4 ldrlt r3, [r1], #4 strlt r3, [r0], #4 - ldmgeia r1!, {r3, r12} - stmgeia r0!, {r3, r12} + ldmiage r1!, {r3, r12} + stmiage r0!, {r3, r12} subge r2, r2, #4 .Lmemmove_fl4: /* less than 4 bytes to go */ adds r2, r2, #4 - ldmeqia sp!, {r0, pc} /* done */ + popeq {r0, pc} /* done */ /* copy the crud byte at a time */ cmp r2, #2 ldrb r3, [r1], #1 strb r3, [r0], #1 - ldrgeb r3, [r1], #1 - strgeb r3, [r0], #1 - ldrgtb r3, [r1], #1 - strgtb r3, [r0], #1 - ldmia sp!, {r0, pc} + ldrbge r3, [r1], #1 + strbge r3, [r0], #1 + ldrbgt r3, [r1], #1 + strbgt r3, [r0], #1 + pop {r0, pc} /* erg - unaligned destination */ .Lmemmove_fdestul: @@ -134,10 +134,10 @@ ENTRY(bcopy) /* align destination with byte copies */ ldrb r3, [r1], #1 strb r3, [r0], #1 - ldrgeb r3, [r1], #1 - strgeb r3, [r0], #1 - ldrgtb r3, [r1], #1 - strgtb r3, [r0], #1 + ldrbge r3, [r1], #1 + strbge r3, [r0], #1 + ldrbgt r3, [r1], #1 + strbgt r3, [r0], #1 subs r2, r2, r12 blt .Lmemmove_fl4 /* less the 4 bytes */ @@ -155,7 +155,7 @@ ENTRY(bcopy) cmp r2, #0x0c blt .Lmemmove_fsrcul1loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5} + push {r4, r5} .Lmemmove_fsrcul1loop16: #ifdef __ARMEB__ @@ -184,7 +184,7 @@ ENTRY(bcopy) stmia r0!, {r3-r5, r12} subs r2, r2, #0x10 bge .Lmemmove_fsrcul1loop16 - ldmia sp!, {r4, r5} + pop {r4, r5} adds r2, r2, #0x0c blt .Lmemmove_fsrcul1l4 @@ -212,7 +212,7 @@ ENTRY(bcopy) cmp r2, #0x0c blt .Lmemmove_fsrcul2loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5} + push {r4, r5} .Lmemmove_fsrcul2loop16: #ifdef __ARMEB__ @@ -241,7 +241,7 @@ ENTRY(bcopy) stmia r0!, {r3-r5, r12} subs r2, r2, #0x10 bge .Lmemmove_fsrcul2loop16 - ldmia sp!, {r4, r5} + pop {r4, r5} adds r2, r2, #0x0c blt .Lmemmove_fsrcul2l4 @@ -269,7 +269,7 @@ ENTRY(bcopy) cmp r2, #0x0c blt .Lmemmove_fsrcul3loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5} + push {r4, r5} .Lmemmove_fsrcul3loop16: #ifdef __ARMEB__ @@ -298,7 +298,7 @@ ENTRY(bcopy) stmia r0!, {r3-r5, r12} subs r2, r2, #0x10 bge .Lmemmove_fsrcul3loop16 - ldmia sp!, {r4, r5} + pop {r4, r5} adds r2, r2, #0x0c blt .Lmemmove_fsrcul3l4 @@ -336,7 +336,7 @@ ENTRY(bcopy) /* We have aligned source and destination */ subs r2, r2, #8 blt .Lmemmove_bl12 /* less than 12 bytes (4 from above) */ - stmdb sp!, {r4, lr} + push {r4, lr} subs r2, r2, #0x14 /* less than 32 bytes (12 from above) */ blt .Lmemmove_bl32 @@ -352,14 +352,14 @@ ENTRY(bcopy) .Lmemmove_bl32: cmn r2, #0x10 - ldmgedb r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ - stmgedb r0!, {r3, r4, r12, lr} + ldmdbge r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ + stmdbge r0!, {r3, r4, r12, lr} subge r2, r2, #0x10 adds r2, r2, #0x14 - ldmgedb r1!, {r3, r12, lr} /* blat a remaining 12 bytes */ - stmgedb r0!, {r3, r12, lr} + ldmdbge r1!, {r3, r12, lr} /* blat a remaining 12 bytes */ + stmdbge r0!, {r3, r12, lr} subge r2, r2, #0x0c - ldmia sp!, {r4, lr} + pop {r4, lr} .Lmemmove_bl12: adds r2, r2, #8 @@ -367,8 +367,8 @@ ENTRY(bcopy) subs r2, r2, #4 ldrlt r3, [r1, #-4]! strlt r3, [r0, #-4]! - ldmgedb r1!, {r3, r12} - stmgedb r0!, {r3, r12} + ldmdbge r1!, {r3, r12} + stmdbge r0!, {r3, r12} subge r2, r2, #4 .Lmemmove_bl4: @@ -380,10 +380,10 @@ ENTRY(bcopy) cmp r2, #2 ldrb r3, [r1, #-1]! strb r3, [r0, #-1]! - ldrgeb r3, [r1, #-1]! - strgeb r3, [r0, #-1]! - ldrgtb r3, [r1, #-1]! - strgtb r3, [r0, #-1]! + ldrbge r3, [r1, #-1]! + strbge r3, [r0, #-1]! + ldrbgt r3, [r1, #-1]! + strbgt r3, [r0, #-1]! RET /* erg - unaligned destination */ @@ -393,10 +393,10 @@ ENTRY(bcopy) /* align destination with byte copies */ ldrb r3, [r1, #-1]! strb r3, [r0, #-1]! - ldrgeb r3, [r1, #-1]! - strgeb r3, [r0, #-1]! - ldrgtb r3, [r1, #-1]! - strgtb r3, [r0, #-1]! + ldrbge r3, [r1, #-1]! + strbge r3, [r0, #-1]! + ldrbgt r3, [r1, #-1]! + strbgt r3, [r0, #-1]! subs r2, r2, r12 blt .Lmemmove_bl4 /* less than 4 bytes to go */ ands r12, r1, #3 @@ -413,7 +413,7 @@ ENTRY(bcopy) cmp r2, #0x0c blt .Lmemmove_bsrcul3loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5, lr} + push {r4, r5, lr} .Lmemmove_bsrcul3loop16: #ifdef __ARMEB__ @@ -442,7 +442,7 @@ ENTRY(bcopy) stmdb r0!, {r4, r5, r12, lr} subs r2, r2, #0x10 bge .Lmemmove_bsrcul3loop16 - ldmia sp!, {r4, r5, lr} + pop {r4, r5, lr} adds r2, r2, #0x0c blt .Lmemmove_bsrcul3l4 @@ -470,7 +470,7 @@ ENTRY(bcopy) cmp r2, #0x0c blt .Lmemmove_bsrcul2loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5, lr} + push {r4, r5, lr} .Lmemmove_bsrcul2loop16: #ifdef __ARMEB__ @@ -499,7 +499,7 @@ ENTRY(bcopy) stmdb r0!, {r4, r5, r12, lr} subs r2, r2, #0x10 bge .Lmemmove_bsrcul2loop16 - ldmia sp!, {r4, r5, lr} + pop {r4, r5, lr} adds r2, r2, #0x0c blt .Lmemmove_bsrcul2l4 @@ -527,7 +527,7 @@ ENTRY(bcopy) cmp r2, #0x0c blt .Lmemmove_bsrcul1loop4 sub r2, r2, #0x0c - stmdb sp!, {r4, r5, lr} + push {r4, r5, lr} .Lmemmove_bsrcul1loop32: #ifdef __ARMEB__ @@ -556,7 +556,7 @@ ENTRY(bcopy) stmdb r0!, {r4, r5, r12, lr} subs r2, r2, #0x10 bge .Lmemmove_bsrcul1loop32 - ldmia sp!, {r4, r5, lr} + pop {r4, r5, lr} adds r2, r2, #0x0c blt .Lmemmove_bsrcul1l4 @@ -579,3 +579,12 @@ ENTRY(bcopy) .Lmemmove_bsrcul1l4: add r1, r1, #1 b .Lmemmove_bl4 +#ifndef _BCOPY +END(memmove) +#else +END(bcopy) +#endif + +#if defined(__ARM_EABI__) && !defined(BCOPY) +STRONG_ALIAS(__aeabi_memmove, memmove) +#endif diff --git a/common/lib/libc/arch/arm/string/memset.S b/common/lib/libc/arch/arm/string/memset.S index cd9c6fa2d..500ddfef4 100644 --- a/common/lib/libc/arch/arm/string/memset.S +++ b/common/lib/libc/arch/arm/string/memset.S @@ -1,4 +1,4 @@ -/* $NetBSD: memset.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: memset.S,v 1.6 2013/11/30 21:09:11 joerg Exp $ */ /* * Copyright 2003 Wasabi Systems, Inc. @@ -68,6 +68,10 @@ #include +#if defined(__ARM_EABI__) && !defined(BZER0) +STRONG_ALIAS(__aeabi_memset, memset) +#endif + /* * memset: Sets a block of memory to the specified value * @@ -102,7 +106,7 @@ ENTRY(memset) #ifndef _BZERO orr r3, r3, r3, lsl #8 /* Extend value to 16-bits */ #endif -#ifdef __XSCALE__ +#ifdef _ARM_ARCH_DWORD_OK tst ip, #0x04 /* Quad-align for Xscale */ #else cmp r1, #0x10 @@ -110,7 +114,7 @@ ENTRY(memset) #ifndef _BZERO orr r3, r3, r3, lsl #16 /* Extend value to 32-bits */ #endif -#ifdef __XSCALE__ +#ifdef _ARM_ARCH_DWORD_OK subne r1, r1, #0x04 /* Quad-align if necessary */ strne r3, [ip], #0x04 cmp r1, #0x10 @@ -123,40 +127,40 @@ ENTRY(memset) /* Do 128 bytes at a time */ .Lmemset_loop128: subs r1, r1, #0x80 -#ifdef __XSCALE__ - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 +#ifdef _ARM_ARCH_DWORD_OK + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 #else - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} #endif bgt .Lmemset_loop128 RETc(eq) /* Zero length so just exit */ @@ -166,16 +170,16 @@ ENTRY(memset) /* Do 32 bytes at a time */ .Lmemset_loop32: subs r1, r1, #0x20 -#ifdef __XSCALE__ - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 +#ifdef _ARM_ARCH_DWORD_OK + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 #else - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} #endif bgt .Lmemset_loop32 RETc(eq) /* Zero length so just exit */ @@ -183,12 +187,12 @@ ENTRY(memset) adds r1, r1, #0x10 /* Partially adjust for extra sub */ /* Deal with 16 bytes or more */ -#ifdef __XSCALE__ - strged r2, [ip], #0x08 - strged r2, [ip], #0x08 +#ifdef _ARM_ARCH_DWORD_OK + strdge r2, r3, [ip], #0x08 + strdge r2, r3, [ip], #0x08 #else - stmgeia ip!, {r2-r3} - stmgeia ip!, {r2-r3} + stmiage ip!, {r2-r3} + stmiage ip!, {r2-r3} #endif RETc(eq) /* Zero length so just exit */ @@ -201,7 +205,7 @@ ENTRY(memset) bgt .Lmemset_loop4 RETc(eq) /* Zero length so just exit */ -#ifdef __XSCALE__ +#ifdef _ARM_ARCH_DWORD_OK /* Compensate for 64-bit alignment check */ adds r1, r1, #0x04 RETc(eq) @@ -211,17 +215,17 @@ ENTRY(memset) #endif strb r3, [ip], #0x01 /* Set 1 byte */ - strgeb r3, [ip], #0x01 /* Set another byte */ - strgtb r3, [ip] /* and a third */ + strbge r3, [ip], #0x01 /* Set another byte */ + strbgt r3, [ip] /* and a third */ RET /* Exit */ .Lmemset_wordunaligned: rsb r2, r2, #0x004 strb r3, [ip], #0x01 /* Set 1 byte */ cmp r2, #0x02 - strgeb r3, [ip], #0x01 /* Set another byte */ + strbge r3, [ip], #0x01 /* Set another byte */ sub r1, r1, r2 - strgtb r3, [ip], #0x01 /* and a third */ + strbgt r3, [ip], #0x01 /* and a third */ cmp r1, #0x04 /* More than 4 bytes left? */ bge .Lmemset_wordaligned /* Yup */ @@ -230,6 +234,11 @@ ENTRY(memset) RETc(eq) /* Zero length so exit */ strb r3, [ip], #0x01 /* Set 1 byte */ cmp r1, #0x02 - strgeb r3, [ip], #0x01 /* Set another byte */ - strgtb r3, [ip] /* and a third */ + strbge r3, [ip], #0x01 /* Set another byte */ + strbgt r3, [ip] /* and a third */ RET /* Exit */ +#ifdef _BZERO +END(bzero) +#else +END(memset) +#endif diff --git a/common/lib/libc/arch/arm/string/memset_arm.S b/common/lib/libc/arch/arm/string/memset_arm.S new file mode 100644 index 000000000..b7831df6f --- /dev/null +++ b/common/lib/libc/arch/arm/string/memset_arm.S @@ -0,0 +1,173 @@ +/* $NetBSD: memset_arm.S,v 1.2 2013/01/14 19:15:13 matt Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +#if defined(NEON) +#define STORE8 vst1.32 {d0}, [ip:64]! +#define STORE16 vst1.32 {d0-d1}, [ip:64]! +#define STORE32 vst1.32 {d0-d3}, [ip:64]! +#elif defined(VFP) +#define STORE8 vstmia ip!, {d0} +#define STORE16 vstmia ip!, {d0-d1} +#define STORE32 vstmia ip!, {d0-d3} +#elif defined(_ARM_ARCH_DWORD_OK) +#define STORE8 strd r2, [ip], #8 +#define STORE16 STORE8; STORE8 +#define STORE32 STORE16; STORE16 +#else +#define STORE8 stmia ip!, {r2,r3} +#define STORE16 STORE8; STORE8 +#define STORE32 STORE16; STORE16 +#endif +/* + * memset: Sets a block of memory to the specified value + * Using NEON instructions + * + * On entry: + * r0 - dest address + * r1 - byte to write + * r2 - number of bytes to write + * + * On exit: + * r0 - dest address + */ +/* LINTSTUB: Func: void *memset(void *, int, size_t) */ +ENTRY(memset) + ands r3, r1, #0xff /* We deal with bytes */ + orrne r3, r3, r3, lsl #8 /* replicate to all bytes */ + orrne r3, r3, r3, lsl #16 /* replicate to all bytes */ + movs r1, r2 /* we need r2 & r3 */ + RETc(eq) /* return if length is 0 */ + mov ip, r0 /* r0 needs to stay the same */ + + cmp r1, #12 /* is this a small memset? *? + blt .Lbyte_by_byte /* then do it byte by byte */ + + /* Ok first we will dword align the address */ + ands r2, ip, #7 /* grab the bottom three bits */ + beq .Lmemset_dwordaligned /* The addr is dword aligned */ + + rsb r2, r2, #8 /* how far until dword aligned? */ + sub r1, r1, r2 /* subtract it from remaining length */ + mov r2, r3 /* duplicate fill value */ + + tst ip, #1 /* halfword aligned? */ + strneb r3, [ip], #1 /* no, write a byte */ + tst ip, #2 /* word aligned? */ + strneh r3, [ip], #2 /* no, write a halfword */ + tst ip, #4 /* dword aligned? */ + strne r3, [ip], #4 /* no, write a word */ + + /* We are now doubleword aligned */ +.Lmemset_dwordaligned: +#if defined(NEON) + vdup.8 q0, r3 /* move fill to SIMD */ + vmov q1, q0 /* put fill in q1 (d2-d3) */ +#elif defined(VFP) + mov r2, r3 /* duplicate fill value */ + vmov d0, r2, r3 /* move to VFP */ + vmov d1, r2, r3 + vmov d2, r2, r3 + vmov d3, r2, r3 +#endif + +#if 1 + cmp r1, #128 + blt .Lmemset_mainloop + ands r2, ip, #63 /* check for 64-byte alignment */ + beq .Lmemset_mainloop + /* + * Let's align to a 64-byte boundary so that stores don't cross + * cacheline boundaries. We also know we have at least 128-bytes to + * copy so we don't have to worry about the length at the moment. + */ + rsb r2, r2, #64 /* how many bytes until 64 bytes */ + sub r1, r1, r2 /* subtract from remaining length */ +#if !defined(NEON) && !defined(VFP) + mov r2, r3 /* put fill back in r2 */ +#endif + + tst ip, #8 /* quadword aligned? */ + beq 1f /* yes */ + STORE8 /* no, store a dword */ +1: tst ip, #16 /* octaword aligned? *? + beq 2f /* yes */ + STORE16 /* no, store a quadword */ +2: tst ip, #32 /* 32 word aligned? */ + beq .Lmemset_mainloop /* yes */ + STORE32 /* no, make 64-byte aligned */ +#endif + +.Lmemset_mainloop: +#if !defined(NEON) && !defined(VFP) + mov r2, r3 /* put fill back in r2 */ +#endif + subs r1, r1, #64 /* subtract an initial 64 */ + blt .Lmemset_lessthan_64bytes + +3: STORE32 /* store first octaword */ + STORE32 /* store second octaword */ + RETc(eq) /* return if done */ + subs r1, r1, #64 /* subtract another 64 */ + bge 3b /* and do other if still >= 0 */ +.Lmemset_lessthan_64bytes: + tst r1, #32 /* do we have 16 bytes left? */ + beq .Lmemset_lessthan_32bytes + STORE32 /* yes, store an octaword */ + bics r1, r1, #32 /* subtract 16 */ + RETc(eq) /* return if length is 0 */ +.Lmemset_lessthan_32bytes: + tst r1, #16 /* do we have 16 bytes left? */ + beq .Lmemset_lessthan_16bytes + STORE16 /* yes, store a quadword */ + bics r1, r1, #16 /* subtract 16 */ + RETc(eq) /* return if length is 0 */ +.Lmemset_lessthan_16bytes: + tst r1, #8 /* do we have 8 bytes left? */ + beq .Lmemset_lessthan_8bytes/* no */ + STORE8 /* yes, store a dword */ + bics r1, r1, #8 /* subtract 8 */ + RETc(eq) /* return if length is 0 */ +.Lmemset_lessthan_8bytes: + tst r1, #4 /* do we have a word left? */ + strne r2, [ip], #4 /* yes, so write one */ + tst r1, #2 /* do we have a halfword left? */ + strneh r2, [ip], #2 /* yes, so write one */ + tst r1, #1 /* do we have a byte left? */ + strneb r2, [ip], #1 /* yes, so write one */ + RET /* return */ + +.Lbyte_by_byte: + subs r1, r1, #1 /* can we write a byte? */ + RETc(lt) /* no, we're done */ + strb r3, [ip], #1 /* yes, so do it */ + b .Lbyte_by_byte /* try next byte */ +END(memset) diff --git a/common/lib/libc/arch/arm/string/memset_naive.S b/common/lib/libc/arch/arm/string/memset_naive.S new file mode 100644 index 000000000..78b339480 --- /dev/null +++ b/common/lib/libc/arch/arm/string/memset_naive.S @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: memset_naive.S,v 1.1 2013/01/08 20:15:00 matt Exp $") + +/* + * This isn't quite as simple/short as it could be but the truly trivial + * memset was an order of magnitude slower than this. + */ + +ENTRY(memset) +/* LINTSTUB: void *memset(void *, int, size_t) */ + mov ip, r0 /* need to preserve r0 */ + cmp r2, #10 /* 10 bytes or less? */ + ble .Lbyte_by_byte /* yes, bytewise is faster */ + ands r3, r1, #0xff /* we are dealing with bytes */ + orrne r3, r3, r3, lsl #8 /* move value into 2nd byte lane */ + orrne r3, r3, r3, lsl #16 /* move value into all byte lanes */ + mov r1, r2 /* move count */ + ands r2, ip, #7 /* are we dword aligned? */ + beq 1f /* yes we are */ + rsb r2, r2, #8 /* how many bytes until aligned? */ + sub r1, r1, r2 /* subtract from count */ + tst ip, #1 /* halfword aligned? */ + strneb r3, [ip], #1 /* nope, write a byte */ + tst ip, #2 /* word aligned? */ + strneh r3, [ip], #2 /* nope, write a halfword */ + tst ip, #4 /* dword aligned? */ + strne r3, [ip], #4 /* nope, write a word */ + /* + * At this point, we are dword aligned. + */ +1: mov r2, r3 /* duplicate fill value */ +2: subs r1, r1, #16 /* can we write 16 bytes? */ + stmgeia ip!, {r2,r3} /* yes, write the first 8 of them */ + stmgeia ip!, {r2,r3} /* yes, write the second 8 of them */ + bgt 2b /* more left to fill */ + RETc(eq) /* no, return */ + /* + * Our count went negative but the bits below 16 haven't changed. + * So we are effectively testing modulo 16. + */ + tst r1, #8 /* can we write at least 8 bytes? */ + stmneia ip!, {r2,r3} /* so do it */ + tst r1, #4 /* can we write at least 4 bytes? */ + strne r3, [ip], #4 /* so do it */ + tst r1, #2 /* can we write at least 2 bytes? */ + strneh r3, [ip], #2 /* so do it */ + tst r1, #1 /* can we write 1 bytes? */ + strneb r3, [ip], #1 /* so do it */ + RET /* return */ + +.Lbyte_by_byte: + subs r2, r2, #1 /* can we write a byte? */ + RETc(lt) /* no, return */ + strb r3, [ip], #1 /* write a byte */ + b .Lbyte_by_byte /* do next byte */ +END(memset) diff --git a/common/lib/libc/arch/arm/string/memset_neon.S b/common/lib/libc/arch/arm/string/memset_neon.S new file mode 100644 index 000000000..f32c96f51 --- /dev/null +++ b/common/lib/libc/arch/arm/string/memset_neon.S @@ -0,0 +1,186 @@ +/* $NetBSD: memset_neon.S,v 1.1 2012/12/13 01:41:59 matt Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#include "assym.h" + +/* + * memset: Sets a block of memory to the specified value + * Using NEON instructions + * + * On entry: + * r0 - dest address + * r1 - byte to write + * r2 - number of bytes to write + * + * On exit: + * r0 - dest address + */ +/* LINTSTUB: Func: void *memset(void *, int, size_t) */ +ENTRY(memset) + and r3, r1, #0xff /* We deal with bytes */ + mov r1, r2 + mov ip, r0 /* r0 needs to stay the same */ + + vdup.8 q0, r3 /* move fill to SIMD */ + /* we no longer need to keep the fill value in a ARM register */ + + /* Ok first we will dword align the address */ + ands r2, ip, #7 /* grab the bottom three bits */ + beq .Lmemset_dwordaligned /* The addr is dword aligned */ + + bic ip, ip, #7 /* clear bottom three bits of addr */ + vldr d7, [ip] /* load from memory */ + add r1, r1, r2 /* add "pre-fill" to length */ + lsl r2, r2, #3 /* byte to no-fill bit count */ + +#ifdef __ARMEB__ + neg r1, r1 /* start from the MSB */ +#endif + vmov s4, r2 /* move to SIMD d2 */ + vmvn.u64 d3, #0 /* set all ones */ + vshl.u64 d3, d3, d2 /* create a no-fill mask */ + vmvn.u64 d2, d3 /* invert mask for a fill-mask */ + vand d7, d7, d3 /* mask out fill bits */ + vand d2, d0, d2 /* mask out no-fill bits */ + vorr d7, d2, d7 /* merge fill and memory */ + + cmp r1, #8 /* Do we have less than 8 bytes */ + movlt r2, #0 /* indicate this is the last word */ + blt .Lmemset_lessthaneight_noload + + vstmia ip!, {d7} /* write back to memory */ + subs r1, r1, #8 /* and remove 8 bytes from the length */ + RETc(eq) + + /* We are now doubleword aligned */ +.Lmemset_dwordaligned: + vmov q1, q0 /* put fill in q1 (d2-d3) */ + vmov q2, q0 /* put fill in q2 (d4-d5) */ + vmov q3, q0 /* put fill in q3 (d6-d7) */ + + and r2, ip, #63 /* check for 64-byte alignment */ + beq .Lmemset_8dwordaligned + /* + * Let's align to a 64-byte boundary so that stores don't cross + * cacheline boundaries. We also know we have at least 128-bytes to + * copy so we don't have to worry about the length at the moment. + */ + rsb r2, r2, #64 /* how many bytes until 64 bytes */ + cmp r1, r2 /* compare against length */ + andlt r2, r1, #0x38 /* if < len, use trunc(len, 8) */ + subs r1, r1, r2 /* subtract from len */ + add pc, pc, r2 /* and jump to it */ + nop + RETc(eq); b .Lmemset_lessthaneight + vstmia ip!, {d0}; b .Lmemset_8dwordaligned + vstmia ip!, {d0-d1}; b .Lmemset_8dwordaligned + vstmia ip!, {d0-d2}; b .Lmemset_8dwordaligned + vstmia ip!, {d0-d3}; b .Lmemset_8dwordaligned + vstmia ip!, {d0-d4}; b .Lmemset_8dwordaligned + vstmia ip!, {d0-d5}; b .Lmemset_8dwordaligned + vstmia ip!, {d0-d6} +.Lmemset_8dwordaligned: + vmov d0, d1 /* restore in case of unaligned start */ + cmp r1, #8 /* do we have less than 8 bytes */ + movlt r2, #0 /* indicate last word */ + blt .Lmemset_lessthaneight + + cmp r1, #512 + blt .Lmemset_sub512 + + /* Do 512 bytes at a time */ + mov r2, #512 +.Lmemset_512: + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} + vstmia ip!, {d0-d7} +.Lmemset_0: + subs r1, r1, r2 + RETc(eq) /* return if done */ + cmp r1, #512 + bge .Lmemset_512 + + /* + * We have less than 512 bytes left, but since the sequence above + * store 64 bytes at a time, we determine the number of instructions + * we need to store the remainder (if >= 64 bytes) and execute that + * many vstmia. + */ +.Lmemset_sub512: + lsr r2, r1, #6 /* divide by 64 */ + lslne r4, r2, #2 /* multiply by 4 */ + addne r4, r4, #1f + 8 - .Lmemset_0 + /* add the # of bytes between */ +1: subne pc, r4 /* and go */ + + /* + * We have less than 64 bytes to copy on a 8dword aligned address + */ + and r2, r1, #56 /* get # of full dwords */ + ands r1, r1, #7 /* get # of extra bytes */ + beq .Lmemset_finalstore + /* + * The last word is a partial fill so load its value and update it + * to include the fill value. + */ +.Lmemset_lessthaneight: + vldr d7, [ip, r2] /* load the last partial dword */ +.Lmemset_lessthaneight_noload: + lsl r1, r1, #3 /* byte to fill bit count */ +#ifdef __ARMEB__ + neg r1, r1 /* start from the MSB */ +#endif + vmov s4, r1 /* move to SIMD d2 */ + vmvn.u64 d3, #0 /* set all ones */ + vshl.u64 d3, d3, d2 /* create a no-fill mask */ + vmvn.u64 d2, d3 /* invert mask */ + vand d7, d7, d2 /* keep no-fill bits */ + vand d2, d0, d3 /* mask out no-fill bits */ + vorr d7, d2, d7 /* merge fill and no-fill */ + vmov q1, q0 /* restore d2 & d3 */ + add r2, r2, #8 /* compensate for the partial dword */ +.Lmemset_finalstore: + add pc, pc, r2 /* and jump to it */ + nop + vstr d7, [ip]; RET + vstmia ip, {d6-d7}; RET + vstmia ip, {d5-d7}; RET + vstmia ip, {d4-d7}; RET + vstmia ip, {d3-d7}; RET + vstmia ip, {d2-d7}; RET + vstmia ip, {d1-d7}; RET + vstmia ip, {d0-d7}; RET +END(memset) diff --git a/common/lib/libc/arch/arm/string/strcat.S b/common/lib/libc/arch/arm/string/strcat.S new file mode 100644 index 000000000..be9abc8ac --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcat.S @@ -0,0 +1,7 @@ +/* $NetBSD: strcat.S,v 1.1 2013/01/23 05:46:17 matt Exp $ */ + +#if defined(_STANDALONE) +#include "strcat_naive.S" +#else +#include "strcat_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strcat_arm.S b/common/lib/libc/arch/arm/string/strcat_arm.S new file mode 100644 index 000000000..1a79589e2 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcat_arm.S @@ -0,0 +1,65 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +/* + * Implementation of strcat using strlen/strcpy. + */ +ENTRY(strcat) +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .fnstart + .cfi_startproc +#endif + push {r3-r5, lr} /* save registers */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .save {r3-r5, lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 5, -8 + .cfi_offset 4, -12 + .cfi_offset 3, -16 +#endif + + mov r4, r0 /* save dst */ + mov r5, r1 /* save append */ + + bl PLT_SYM(strlen) /* find length of dst */ + + adds r0, r0, r4 /* add to dst pointer */ + mov r1, r5 /* fetch append */ + bl PLT_SYM(strcpy) /* append string */ + + mov r0, r4 /* restore dst as return value */ + pop {r3-r5, pc} /* restore registers */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_endproc + .fnend +#endif +END(strcat) diff --git a/common/lib/libc/arch/arm/string/strcat_naive.S b/common/lib/libc/arch/arm/string/strcat_naive.S new file mode 100644 index 000000000..a3ea68ead --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcat_naive.S @@ -0,0 +1,62 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strcat_naive.S,v 1.3 2013/08/19 17:02:25 matt Exp $") + +ENTRY(strcat) + mov ip, r0 /* need to preserve r0 */ +#if defined(__thumb__) +1: ldrb r2, [r0] /* load next byte */ + adds r0, r0, #1 /* advance */ + cmp r2, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ + subs r0, r0, #1 /* back up one to the NUL */ + subs r1, r1, r0 /* save one increment */ +2: ldrb r2, [r1, r0] /* load next byte from append */ + strb r2, [r0] /* store it */ + adds r0, r0, #1 /* advance */ + cmp r2, #0 /* was it a NUL? */ + bne 2b /* no, get next byte */ + mov r0, ip /* restore dst address */ + RET /* return */ +#else /* !__thumb__ */ + mov ip, r0 /* need to preserve r0 */ +1: ldrb r2, [ip], #1 /* load next byte */ + teq r2, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ + sub ip, ip, #1 /* back up one to the NUL */ +2: ldrb r2, [r1], #1 /* load next byte from append */ + strb r2, [ip], #1 /* store it */ + teq r2, #0 /* was it a NUL? */ + bne 2b /* no, get next byte */ + RET /* return */ +#endif +END(strcat) diff --git a/common/lib/libc/arch/arm/string/strchr.S b/common/lib/libc/arch/arm/string/strchr.S new file mode 100644 index 000000000..621734eb8 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strchr.S @@ -0,0 +1,11 @@ +/* $NetBSD: strchr.S,v 1.4 2013/08/20 08:07:30 matt Exp $ */ + +#include + +STRONG_ALIAS(index, strchr) + +#if defined(_STANDALONE) || (defined(__thumb__) && !defined(_ARM_ARCH_T2)) +#include "strchr_naive.S" +#else +#include "strchr_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strchr_arm.S b/common/lib/libc/arch/arm/string/strchr_arm.S new file mode 100644 index 000000000..864ce61a8 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strchr_arm.S @@ -0,0 +1,172 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strchr_arm.S,v 1.8 2013/08/19 17:50:04 matt Exp $") + +#if defined(__thumb__) && !defined(_ARM_ARCH_T2) +#error Only Thumb2 or ARM supported +#endif + +#ifdef __ARMEL__ +#define BYTE0 0x000000ff +#define BYTE1 0x0000ff00 +#define BYTE2 0x00ff0000 +#define BYTE3 0xff000000 +#define lshi lsl +#define lshis lsls +#else +#define BYTE0 0xff000000 +#define BYTE1 0x00ff0000 +#define BYTE2 0x0000ff00 +#define BYTE3 0x000000ff +#define lshi lsr +#define lshis lsrs +#endif + + .text +ENTRY(strchr) + and r2, r1, #0xff /* restrict to byte value */ +1: tst r0, #3 /* test for word alignment */ + beq .Lpre_main_loop /* finally word aligned */ + ldrb r3, [r0], #1 /* load a byte */ + cmp r3, r2 /* is it a match? */ + beq 2f /* yes, return current ptr - 1 */ + cmp r3, #0 /* no, was it 0? */ + bne 1b /* no, try next byte */ + movs r0, #0 /* yes, set return value to NULL */ + RET /* return */ +2: subs r0, r0, #1 /* back up by one */ + RET /* return */ +.Lpre_main_loop: +#if defined(_ARM_ARCH_7) + movw ip, #0xfefe /* magic constant; 254 in each byte */ + movt ip, #0xfefe /* magic constant; 254 in each byte */ +#elif defined(_ARM_ARCH_6) + mov ip, #0xfe /* put 254 in low byte */ + orr ip, ip, ip, lsl #8 /* move to next byte */ + orr ip, ip, ip, lsl #16 /* move to next halfword */ +#endif /* _ARM_ARCH_6 */ + orr r2, r2, r2, lsl #8 /* move to next byte */ + orr r2, r2, r2, lsl #16 /* move to next halfword */ +.Lmain_loop: + ldr r3, [r0], #4 /* load next word */ +#if defined(_ARM_ARCH_6) + /* + * Add 254 to each byte using the UQADD8 (unsigned saturating add 8) + * instruction. For every non-NUL byte, the result for that byte will + * become 255. For NUL, it will be 254. When we complement the + * result, if the result is non-0 then we must have encountered a NUL. + */ + uqadd8 r1, r3, ip /* NUL detection happens here */ + eors r3, r3, r2 /* xor to clear each lane */ + uqadd8 r3, r3, ip /* char detection happens here */ + ands r3, r3, r1 /* merge results */ + mvns r3, r3 /* is the complement non-0? */ + beq .Lmain_loop /* no, then keep going */ + + /* + * We've encountered a NUL or a match but we don't know which happened + * first. + */ +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, .Lfind_match /* searching for NUL? yes, find it */ +#else + cmp r2, #0 /* searching for NUL? */ + beq .Lfind_match /* yes, find the match */ +#endif + mvns r1, r1 /* did we encounter a NUL? */ + beq .Lfind_match /* no, find the match */ + bics r3, r3, r1 /* clear match for the NUL(s) */ + beq .Lnomatch /* any left set? if not, no match */ + lshis r1, r1, #8 /* replicate NUL bit to other bytes */ +#ifdef __thumb__ + itt ne +#endif + orrne r1, r1, r1, lshi #8 /* replicate NUL bit to other bytes */ + orrne r1, r1, r1, lshi #8 /* replicate NUL bit to other bytes */ + bics r3, r3, r1 /* clear any match bits after the NUL */ + beq .Lnomatch /* any left set? if not, no match */ +.Lfind_match: +#ifdef __ARMEL__ + rev r3, r3 /* we want this in BE for the CLZ */ +#endif + clz r3, r3 /* count how many leading zeros */ + add r0, r0, r3, lsr #3 /* divide that by 8 and add to count */ + subs r0, r0, #4 /* compensate for the post-inc */ + RET +.Lnomatch: + movs r0, #0 + RET +#else + /* + * No fancy shortcuts so just test each byte lane for a NUL. + * (other tests for NULs in a word take more instructions/cycles). + */ + eor r1, r3, r2 /* xor .. */ + tst r3, #BYTE0 /* is this byte NUL? */ + tstne r1, #BYTE0 /* no, does this byte match? */ + tstne r3, #BYTE1 /* no, is this byte NUL? */ + tstne r1, #BYTE1 /* no, does this byte match? */ + tstne r3, #BYTE2 /* no, is this byte NUL? */ + tstne r1, #BYTE2 /* no, does this byte match? */ + tstne r3, #BYTE3 /* no, is this byte NUL? */ + tstne r1, #BYTE3 /* no, does this byte match? */ + bne .Lmain_loop + + sub r2, r0, #4 /* un post-inc */ + mov r0, #0 /* assume no match */ + + tst r1, #BYTE0 /* does this byte match? */ + moveq r0, r2 /* yes, point to it */ + RETc(eq) /* and return */ + tst r3, #BYTE0 /* is this byte NUL? */ + RETc(eq) /* yes, return NULL */ + + tst r1, #BYTE1 /* does this byte match? */ + addeq r0, r2, #1 /* yes, point to it */ + RETc(eq) /* and return */ + tst r3, #BYTE1 /* is this byte NUL? */ + RETc(eq) /* yes, return NULL */ + + tst r1, #BYTE2 /* does this byte match? */ + addeq r0, r2, #2 /* yes, point to it */ + RETc(eq) /* and return */ + tst r3, #BYTE2 /* is this byte NUL? */ + RETc(eq) /* yes, return NULL */ + + tst r1, #BYTE3 /* does this byte match? */ + addeq r0, r2, #3 /* yes, point to it */ + /* + * Since no NULs and no matches this must be the only case left. + */ + RET /* return */ +#endif /* _ARM_ARCH_6 */ +END(strchr) diff --git a/common/lib/libc/arch/arm/string/strchr_naive.S b/common/lib/libc/arch/arm/string/strchr_naive.S new file mode 100644 index 000000000..9cbdcf53d --- /dev/null +++ b/common/lib/libc/arch/arm/string/strchr_naive.S @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strchr_naive.S,v 1.4 2013/08/19 17:02:25 matt Exp $") + +/* LINTSTUB: char * strchr(const char *, int) */ +ENTRY(strchr) +#ifdef __thumb__ + movs r3, #0xff + ands r1, r1, r3 /* restrict to a byte value */ +1: ldrb r3, [r0] /* read a byte */ + cmp r3, r1 /* does it match? */ + beq 2f /* yes, set return value */ + adds r0, r0, #1 /* advance to next byte */ + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ + movs r0, #0 /* set return to NULL */ +2: RET /* return */ +#else + mov r2, r0 /* using r0 as return value */ + mov r0, #0 /* default to no match */ + and r1, r1, #0xff /* restrict to a byte value */ +1: ldrb r3, [r2], #1 /* read a byte */ + cmp r3, r1 /* does it match? */ + subeq r0, r2, #1 /* yes, set return value to point to it */ + cmpne r3, #0 /* no, was it a NUL? */ + bne 1b /* no, get next byte */ + RET +#endif +END(strchr) diff --git a/common/lib/libc/arch/arm/string/strcmp.S b/common/lib/libc/arch/arm/string/strcmp.S index a00cbbf3b..186991457 100644 --- a/common/lib/libc/arch/arm/string/strcmp.S +++ b/common/lib/libc/arch/arm/string/strcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: strcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strcmp.S,v 1.2 2013/08/19 00:56:12 matt Exp $ */ /* * Copyright (c) 2002 ARM Ltd @@ -30,14 +30,24 @@ #include -RCSID("$NetBSD: strcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $") +RCSID("$NetBSD: strcmp.S,v 1.2 2013/08/19 00:56:12 matt Exp $") ENTRY(strcmp) -1: - ldrb r2, [r0], #1 +#if !defined(__thumb__) +1: ldrb r2, [r0], #1 ldrb r3, [r1], #1 cmp r2, #1 cmpcs r2, r3 +#else + subs r1, r1, r0 /* this allows us to only one increment */ +1: ldrb r2, [r0] + ldrb r3, [r1, r0] + adds r0, r0, #1 /* increment */ + cmp r2, #1 + bcc 2f + cmp r2, r3 +#endif beq 1b - sub r0, r2, r3 +2: subs r0, r2, r3 RET +END(strcmp) diff --git a/common/lib/libc/arch/arm/string/strcpy.S b/common/lib/libc/arch/arm/string/strcpy.S new file mode 100644 index 000000000..9585c97a1 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcpy.S @@ -0,0 +1,11 @@ +/* $NetBSD: strcpy.S,v 1.5 2013/08/20 21:35:24 matt Exp $ */ + +#if defined(_STANDALONE) +#ifdef __thumb__ +#include "strcpy_thumb.S" +#else +#include "strcpy_naive.S" +#endif +#else +#include "strcpy_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strcpy_arm.S b/common/lib/libc/arch/arm/string/strcpy_arm.S new file mode 100644 index 000000000..8ad6ea079 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcpy_arm.S @@ -0,0 +1,527 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strcpy_arm.S,v 1.3 2013/08/11 04:56:32 matt Exp $") + +#ifdef STRLCPY +#ifdef _LIBC +WEAK_ALIAS(strlcpy, _strlcpy) +#endif +#define FUNCNAME strlcpy +#elif defined(STRNCPY) +#define FUNCNAME strncpy +#else +#define FUNCNAME strcpy +#endif + +#ifdef _LIBC +#include "namespace.h" +#endif + +#ifdef __ARMEL__ +#define lslo lsr /* shift to lower address */ +#define lshi lsl /* shift to higher address */ +#define BYTE0 0x000000ff +#define BYTE1 0x0000ff00 +#define BYTE2 0x00ff0000 +#define BYTE3 0xff000000 +#else +#define lslo lsl /* shift to lower address */ +#define lshi lsr /* shift to higher address */ +#define BYTE0 0xff000000 +#define BYTE1 0x00ff0000 +#define BYTE2 0x0000ff00 +#define BYTE3 0x000000ff +#endif + +/* + * On armv6 and later, to quickly determine if a word contains a NUL (0) byte, + * we add 254 to each byte using the UQADD8 (unsigned saturating add 8) + * instruction. For every non-NUL byte, the result for that byte will become + * 255. For NUL, it will be 254. When we complement the result of all 4 adds, + * if the result is non-0 then we must have encountered a NUL. + * + * For earlier architecture, we just use tst on all 4 bytes. There are other + * algorithms to detect NULs but they take longer and use more instructions. + */ + +/* + * char *strcpy(char *dst, const char *src); + * char *strncpy(char *dst, const char *src, size_t len); + * size_t strlcpy(char *dst, const char *src, size_t len); + */ + + .text +ENTRY(FUNCNAME) +#if defined(STRLCPY) + cmp r2, #1 /* is length 1 or less? */ + bhi 1f /* no, do normal */ + moveq r3, #0 /* = 1? load NUL */ + strbeq r3, [r0] /* = 1? write NUL to dst */ + mov r0, r1 /* move src to r0 */ + b PLT_SYM(_C_LABEL(strlen)) /* and tailcall strlen */ +1: + sub r2, r2, #1 /* leave one byte for NUL */ +#endif +#if defined(STRNCPY) + cmp r2, #0 /* 0 length? */ + RETc(eq) /* yes, just return */ +#endif + push {r4-r9} /* save some registers */ +#ifdef _ARM_ARCH_6 +#ifdef _ARM_ARCH_7 + movw r7, #0xfefe /* magic constant; 254 in each byte */ +#else + mov r7, #0xfe /* put 254 in low byte */ + orr r7, r7, r7, lsl #8 /* move to next byte */ +#endif + orr r7, r7, r7, lsl #16 /* move to next halfword */ +#endif + +#if defined(STRLCPY) + add r6, r1, #1 /* save for return (deal with NUL) */ +#else + mov r6, r0 /* save for return */ +#endif + +.Ldst_align: + tst r0, #3 /* check for dst alignment */ + beq .Ldst_aligned /* ok, proceed to next check */ + ldrb r5, [r1], #1 /* load a byte */ +#if defined(STRNCPY) + subs r2, r2, #1 /* subtract out from count */ + bmi .Ldst_full /* zero? the dst has no more room */ +#endif + strb r5, [r0], #1 /* store a byte */ + teq r5, #0 /* was it a NUL? */ + beq .Lend_of_string /* yes, we are done */ +#if defined(STRLCPY) + subs r2, r2, #1 /* subtract one from count */ + strbeq r2, [r0], #1 /* zero? write trailing NUL */ + beq .Ldst_full /* zero? the dst has no more room */ +#endif + b .Ldst_align /* loop around for next byte */ +.Ldst_aligned: + tst r1, #3 /* get the misalignment of src */ + bne .Lincongruent /* !=? incongruent (slower) */ + + /* =? congruent (faster) */ + +.Lcongruent: +#if defined(STRLCPY) + add r6, r6, #3 /* compensate for word post-inc */ +#endif + b .Lcongruent_mainloop_load +.Lcongruent_mainloop: +#if defined(STRLCPY) || defined(STRNCPY) + subs r2, r2, #4 /* subtract 4 from the count */ + bmi .Lno_more_room +#endif + str r5, [r0], #4 /* store word into dst */ +#if defined(STRLCPY) + beq .Lno_more_room /* count is 0? no room in dst */ +#endif +#if defined(STRNCPY) + beq .Ldst_full_word_aligned /* count is 0? no room in dst */ +#endif +.Lcongruent_mainloop_load: + ldr r5, [r1], #4 /* load word from source */ +#if defined(_ARM_ARCH_6) + uqadd8 r3, r5, r7 /* magic happens here */ + mvns r3, r3 /* is the complemented result 0? */ + beq .Lcongruent_mainloop /* yes, no NULs, do it again */ +#else + tst r5, #BYTE0 /* does byte 0 contain a NUL? */ + tstne r5, #BYTE1 /* no, does byte 1 contain a NUL? */ + tstne r5, #BYTE2 /* no, does byte 2 contain a NUL? */ + tstne r5, #BYTE3 /* no, does byte 3 contain a NUL? */ + bne .Lcongruent_mainloop /* yes, no NULs, do it again */ +#endif +#if defined(STRLCPY) && 0 + sub r1, r1, #3 /* back up src pointer */ +#endif +#if defined(_ARM_ARCH_6) +#ifdef __ARMEL__ + rev r3, r3 /* CLZ needs BE data */ +#endif + clz r3, r3 /* count leading zeros */ +#else + mov r3, #0 /* assume NUL is in byte 0 */ + tst r5, #BYTE0 /* is NUL in byte 2? */ + beq .Lcongruent_last_bytes /* yes, done searching. */ + mov r3, #8 /* assume NUL is in byte 1 */ + tst r5, #BYTE1 /* is NUL in byte 2? */ + beq .Lcongruent_last_bytes /* yes, done searching. */ + mov r3, #16 /* assume NUL is in byte 2 */ + tst r5, #BYTE2 /* is NUL in byte 2? */ +#if !defined(STRLCPY) + beq .Lcongruent_last_bytes /* yes, done searching. */ + mov r3, #24 /* NUL must be in byte 3 */ +#else + movne r3, #24 /* no, then NUL is in byte 3 */ +#endif +#endif /* _ARM_ARCH_6 */ +#if defined(STRLCPY) +.Lcongruent_last_bytes: +#endif +#if defined(STRLCPY) + add r1, r1, r3, lsr #3 /* position to point at NUL + 4 */ +#endif + b .Llast_bytes /* store the last bytes */ + + +.Lincongruent: + /* + * At this point dst is word aligned by src is not. Read bytes + * from src until it is read aligned. + */ + and r3, r1, #3 /* extract misalignment */ + mov r9, r3, lsl #3 /* calculate discard shift */ + rsb r8, r9, #32 /* calculate insertion shift */ +#if defined(STRLCPY) + add r6, r6, #3 /* compensate for word post-inc */ +#endif + bic r1, r1, #3 /* word align src */ + ldr r5, [r1], #4 /* load word frm src */ + mov r4, r5, lslo r9 /* discard lo bytes from src */ + tst r4, #BYTE0 /* does byte 0 contain a NUL? */ +#if defined(STRNCPY) + beq .Lend_of_string /* yes, zero fill rest of string */ +#else + moveq r3, r9 /* yes, set offset */ + beq .Lincongruent_end_of_string /* yes, deal with the last bytes */ +#endif + /* + * To make our test for NULs below do not generate false positives, + * fill the bytes in the word we don't want to match with all 1s. + */ + mvn r3, #0 /* create a mask */ + mov r3, r3, lslo r8 /* zero out bytes being kept */ + orr r5, r5, r3 /* merge src and mask */ +#ifdef _ARM_ARCH_6 + uqadd8 r3, r5, r7 /* NUL detection magic happens */ + mvns r3, r3 /* is the complemented result 0? */ + beq .Lincongruent_mainloop_load /* yes, no NUL encountered! */ +#ifdef __ARMEL__ + rev r3, r3 /* CLZ wants BE input */ +#endif + clz r3, r3 /* count leading zeros */ +#else + /* + * We already tested for byte 0 above so we don't need to it again. + */ + mov r3, #24 /* assume NUL is in byte 3 */ + tst r5, #BYTE1 /* did we find a NUL in byte 1? */ + subeq r3, r3, #8 /* yes, decremnt byte position */ + tstne r5, #BYTE2 /* no, did we find a NUL in byte 2? */ + subeq r3, r3, #8 /* yes, decremnt byte position */ + tstne r5, #BYTE3 /* no, did we find a NUL in byte 3? */ + bne .Lincongruent_mainloop_load /* no, no NUL encountered! */ +#endif + mov r5, r4 /* discard already dealt with bytes */ +.Lincongruent_end_of_string: +#if defined(STRLCPY) + add r1, r1, r3, lsr #3 /* then add offset to NUL */ +#endif + sub r3, r3, r9 /* adjust NUL offset */ + b .Llast_bytes /* NUL encountered! finish up */ + +#if defined(STRLCPY) || defined(STRNCPY) +.Lincongruent_no_more_room: + mov r5, r4 /* move data to be stored to r5 */ + b .Lno_more_room /* fill remaining space */ +#endif /* STRLCPY || STRNCPY */ + + /* + * At this point both dst and src are word aligned and r4 contains + * partial contents from src. + */ +.Lincongruent_mainloop: + orr r4, r4, r5, lshi r8 /* put new src data into dst word */ +#if defined(STRLCPY) || defined(STRNCPY) + subs r2, r2, #4 /* subtract 4 from count */ + bmi .Lincongruent_no_more_room /* count < 0? dst will be full */ +#endif + str r4, [r0], #4 /* store word in dst */ +#if defined(STRLCPY) + beq .Lno_more_room /* space left is 0? stop copy */ +#endif +#if defined(STRNCPY) + beq .Ldst_full_word_aligned /* space left is 0? stop copy */ +#endif + mov r4, r5, lslo r9 /* move rest of src into dst word */ +.Lincongruent_mainloop_load: + ldr r5, [r1], #4 /* read src */ +#ifdef _ARM_ARCH_6 + uqadd8 r3, r5, r7 /* magic happens here */ + mvns r3, r3 /* is the complemented result 0? */ + beq .Lincongruent_mainloop /* yes, no NUL encountered! */ + /* + * fall into this since we encountered a NULL. At this point we have + * from 1-5 bytes (excluding trailing NUL) to write. + */ +#ifdef __ARMEL__ + rev r3, r3 /* CLZ works on BE data */ +#endif + clz r3, r3 /* count leading zeroes */ +#else + tst r5, #BYTE0 /* does byte 0 contain a NUL? */ + tstne r5, #BYTE1 /* no, does byte 1 contain a NUL? */ + tstne r5, #BYTE2 /* no, does byte 2 contain a NUL? */ + tstne r5, #BYTE3 /* no, does byte 3 contain a NUL? */ + bne .Lincongruent_mainloop /* no, no NUL encountered! */ + /* + * fall into this since we encountered a NULL. At this point we have + * from 1-5 bytes (excluding trailing NUL) to write. + */ + mov r3, #0 /* assume a NUL is in byte 0 */ + tst r5, #BYTE0 /* is there a NUL in byte 0? */ + beq 1f /* yes, found a NUL! */ + mov r3, #8 /* assume a NUL is in byte 1 */ + tst r5, #BYTE1 /* is there a NUL in byte 0? */ + beq 1f /* yes, found a NUL! */ + tst r5, #BYTE2 /* is there a NUL in byte 2? */ + moveq r3, #16 /* yes, mark its position */ + movne r3, #24 /* no, it must be in byte 3 */ +1: +#endif + orr r4, r4, r5, lshi r8 /* merge new and old src words */ +#if defined(STRLCPY) + add r1, r1, r3, lsr #3 /* adjust src to point to NUL */ +#endif + add r3, r3, r8 /* add remainder bytes worth */ + cmp r3, #32 /* do we have at least one word to write? */ + movlt r5, r4 /* no, move source bytes to expected reg */ + blt .Llast_bytes /* no, deal with them */ +#if defined(STRLCPY) + subs r2, r2, #4 /* subtract 4 from count */ + bpl 1f /* we have space for at least 4 */ + /* + * Since the space just went minus, we don't have enough room to + * write all 4 bytes. In fact, the most we can write is 3 so just + * just lie and say we have 3 bytes to write and discard the rest. + */ + add r2, r2, #4 /* add 4 back */ + mov r3, #24 /* say we have 3 bytes */ + mov r5, r4 /* discard the bytes we can't store */ + b .Llast_bytes /* and treat this as our last word */ +1: +#elif defined(STRNCPY) + subs r2, r2, #4 /* subtract 4 from count */ + bmi .Lincongruent_no_more_room /* count < 0? dst will be full */ +#endif + str r4, [r0], #4 /* store dst word */ +#if defined(STRNCPY) + beq .Ldst_full_word_aligned /* space left is 0? stop copy */ +#endif +#if defined(STRLCPY) + bne 1f /* we still have space remaining */ + strb r2, [r0] /* write final NUL */ + b .Lend_of_string /* we are done */ +1: +#endif + /* + * Subtract the 32 bits just written from the number of bits left + * to write. If 0 bits are left and not doing strncpy, just write + * the trailing NUL and be done. + */ + subs r3, r3, #32 /* we wrote one word */ +#if !defined(STRNCPY) + bne 1f /* no more data? */ + strb r3, [r0] /* write final NUL */ + b .Lend_of_string /* we are done */ +1: +#endif + /* + * At this point after writing 4 bytes, we have 0 or 1 bytes left to + * write (excluding the trailing NUL). + */ + mov r5, r5, lslo r9 /* get remainder of src */ + + /* fall into .Llast_bytes */ + +#if !defined(STRLCPY) +.Lcongruent_last_bytes: +#endif +.Llast_bytes: + /* + * r5 contains the last word and is in host byte order. + * r3 contains number of bits left to copy (0..31). + * r1 should point to the NUL + 4. + */ + bics ip, r3, #7 /* truncate bits, is result 0? */ +#if !defined(STRNCPY) + bne 1f /* no, have to write some bytes */ + strb ip, [r0] /* yes, write trailing NUL */ + b .Lend_of_string /* yes, and we are the end */ +1: +#endif +#if defined(STRLCPY) || defined(STRNCPY) + cmp r2, ip, lsr #3 /* is there enough room? */ + movlt ip, r2, lsl #3 /* no, only fill remaining space */ +#endif + mvn r3, #0 /* create a mask */ + mov r3, r3, lshi ip /* clear leading bytes */ + bic r5, r5, r3 /* clear trailing bytes */ +#if defined(STRNCPY) + cmp r2, #4 /* room for 4 bytes? */ + movge ip, #32 /* yes, we will write 4 bytes */ + bge 2f /* yes, and go do it */ + mvn r3, #0 /* create a mask (again) */ + mov ip, r2, lsl #3 /* remaining space bytes -> bits */ + mov r3, r3, lshi ip /* clear remaining bytes */ +#elif defined(STRLCPY) + cmp r2, #3 /* do we have room for 3 bytes & NUL? */ + bge 2f /* yes, just clear out dst */ + mov r3, r3, lshi #8 /* mask out trailing NUL */ +#else + cmp ip, #24 /* are we writing 3 bytes & a NUL? */ + bge 2f /* yes, just overwrite dst */ + mov r3, r3, lshi #8 /* mask out trailing NUL */ +#endif /* !STRNCPY */ + ldr r4, [r0] /* fetch dst word */ + and r4, r4, r3 /* preserve trailing bytes */ + orr r5, r5, r4 /* merge dst with src */ +2: str r5, [r0], #4 /* store last word */ +#if defined(STRNCPY) + subs r2, r2, ip, lsr #3 /* subtract bytes cleared from count */ + beq .Ldst_full_word_aligned +#endif + b .Lend_of_string + +#if defined(STRLCPY) || defined(STRNCPY) +.Lno_more_room: +#if defined(STRLCPY) + cmp r2, #-1 /* tried to write 3 bytes? */ + blt 1f /* less, partial word write */ + cmp r2, #0 /* no space left? */ + strbeq r2, [r0] /* write the final NUL */ + bicne r5, r5, #BYTE3 /* clear trailing NUL */ + strne r5, [r0] /* write last word */ + b .Ldst_full_word_aligned /* the dst buffer is full */ +1: +#endif /* STRLCPY */ + add r2, r2, #4 /* restore remaining space */ + ldr r4, [r0] /* load dst */ + mvn r3, #0 /* create a mask */ + mov r2, r2, lsl #3 /* bytes -> bits */ + mov r3, r3, lshi r2 /* clear leading bytes */ + bic r5, r5, r3 /* clear trailing bytes from src */ +#if defined(STRLCPY) + mov r3, r3, lshi #8 /* mask out trailing NUL */ +#endif /* STRLCPY */ + and r4, r4, r3 /* preserve trailing bytes in dst */ + orr r4, r4, r5 /* merge src with dst */ + str r4, [r0], #4 /* write last word */ + b .Ldst_full_word_aligned +#endif /* STRLCPY || STRNCPY */ + +#if defined(STRLCPY) + /* + * Destination was filled (and NUL terminated). + * All that's left is count the number of bytes left in src. + */ +.Ldst_full: +1: tst r1, #3 /* dst word aligned? */ + beq 2f /* yes, so do it word by word */ + ldrb r5, [r1], #1 /* load next byte */ + teq r5, #0 /* is it a NUL? */ + bne 1b /* no, check alignment */ + b .Lend_of_string /* and return */ +2: add r6, r6, #3 /* compensate for post-inc */ +.Ldst_full_word_aligned: +3: ldr r5, [r1], #4 /* load word from src */ +#ifdef _ARM_ARCH_6 + uqadd8 r5, r5, r7 /* perform NUL magic */ + mvns r5, r5 /* complement all 0s? */ + beq 3b /* yes, no NUL so get next word */ +#else + tst r5, #BYTE0 /* does byte 0 contain a NUL? */ + tstne r5, #BYTE1 /* no, does byte 1 contain a NUL? */ + tstne r5, #BYTE2 /* no, does byte 2 contain a NUL? */ + tstne r5, #BYTE3 /* no, does byte 3 contain a NUL? */ + bne 3b /* no, no NUL encountered! */ +#endif +#ifdef _ARM_ARCH_6 +#ifdef __ARMEL__ + rev r5, r5 /* CLZ needs BE data */ +#endif + clz r5, r5 /* count leading zeros */ + add r1, r1, r5, lsr #3 /* add offset to NUL to src pointer */ +#else + tst r5, #BYTE0 /* is there a NUL in byte 0? */ + beq 4f /* yes, don't check any further */ + add r1, r1, #1 /* no, advance src pointer by 1 */ + tst r5, #BYTE1 /* is there a NUL in byte 1? */ + beq 4f /* yes, don't check any further */ + add r1, r1, #1 /* no, advance src pointer by 1 */ + tst r5, #BYTE2 /* is there a NUL in byte 2? */ + addne r1, r1, #1 /* no, there must be in byte 3 */ +4: +#endif /* _ARM_ARCH_6 */ +.Lend_of_string: + sub r0, r1, r6 /* subtract start from finish */ + pop {r4-r9} /* restore registers */ + RET +#elif defined(STRNCPY) +.Lend_of_string: + teq r2, #0 /* any bytes left to zero? */ + beq 3f /* no, just return. */ + mov r1, #0 /* yes, prepare to zero */ + cmp r2, #16 /* some, but not a lot? */ + ble 1f + mov r4, lr /* preserve lr */ + bl PLT_SYM(_C_LABEL(memset)) /* yes, and let memset do it */ + mov lr, r4 /* restore lr */ + b 3f /* return */ +1: add ip, r0, r2 /* calculate stopping point */ +2: strb r1, [r0], #1 /* clear a byte */ + cmp r0, ip /* done? */ + blt 2b /* no, clear next byte */ +3: mov r0, r6 /* restore dst pointer */ + pop {r4-r9} /* restore registers */ + RET +.Ldst_full: +.Ldst_full_word_aligned: + /* + * Destination was filled (but not NUL terminated). + * All that's left is return the start of dst + */ + mov r0, r6 /* restore dst pointer */ + pop {r4-r9} /* restore registers */ + RET +#else +.Lend_of_string: + mov r0, r6 /* restore dst pointer */ + pop {r4-r9} /* restore registers */ + RET +#endif +END(FUNCNAME) diff --git a/common/lib/libc/arch/arm/string/strcpy_naive.S b/common/lib/libc/arch/arm/string/strcpy_naive.S new file mode 100644 index 000000000..b11fc833b --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcpy_naive.S @@ -0,0 +1,93 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strcpy_naive.S,v 1.4 2013/08/20 21:37:39 matt Exp $") + +#ifdef _LIBC +#ifdef STRLCPY +WEAK_ALIAS(strlcpy, _strlcpy) +#endif +#include "namespace.h" +#endif + +/* + * These are "naive" versions of the str*cpy routines designed to be simple + * and small. + */ + +#if defined(STRLCPY) +/* LINTSTUB: size_t strlcpy(char *, const char *, size_t) */ +ENTRY(strlcpy) + add ip, r1, #1 /* save src pointer (+ NUL) */ + subs r2, r2, #1 /* make sure there's room for a NUL */ + blt 3f /* no room, do the strlen */ + add r2, r2, r0 /* get end of dst */ +1: cmp r0, r2 /* room for another char? */ + beq 2f /* no, write NUL and do the strlen */ + ldrb r3, [r1], #1 /* read a byte */ + strb r3, [r0], #1 /* write a byte */ + teq r3, #0 /* was it a NUL? */ + bne 1b /* no, do next byte */ + b 4f /* yes, end of string, so return */ +2: mov r3, #0 /* NUL */ + strb r3, [r0] /* write to end of string */ +3: ldrb r3, [r1], #1 /* read a byte */ + teq r3, #0 /* was it a NUL? */ + bne 3b /* no, get next byte */ +4: sub r0, r1, ip /* return length of src string */ + RET +END(strlcpy) +#elif defined(STRNCPY) +/* LINTSTUB: char * strncpy(char *, const char *, size_t) */ +ENTRY(strncpy) + mov ip, r0 /* we want to preserve r0 */ + add r2, r2, r0 /* get end of dst buffer */ +1: cmp ip, r2 /* are at the end of dst already? */ + RETc(eq) /* yes, just return. */ + ldrb r3, [r1], #1 /* read a byte */ + strb r3, [ip], #1 /* write a byte */ + teq r3, #0 /* was it a NUL? */ + bne 1b /* no, try next byte */ +2: cmp ip, r2 /* are at the end of dst already? */ + strblt r3, [ip], #1 /* no, write a NUL */ + blt 2b /* until dst is filled */ +3: RET /* return dst pointer */ +END(strncpy) +#else +/* LINTSTUB: char * strcpy(char *, const char *) */ +ENTRY(strcpy) + mov ip, r0 /* we want to preserve r0 */ +1: ldrb r3, [r1], #1 /* read a byte */ + strb r3, [ip], #1 /* write a byte */ + teq r3, #0 /* was it a NUL? */ + bne 1b /* no, try next byte */ + RET /* return dst pointer */ +END(strcpy) +#endif diff --git a/common/lib/libc/arch/arm/string/strcpy_thumb.S b/common/lib/libc/arch/arm/string/strcpy_thumb.S new file mode 100644 index 000000000..4b5f892ea --- /dev/null +++ b/common/lib/libc/arch/arm/string/strcpy_thumb.S @@ -0,0 +1,102 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strcpy_thumb.S,v 1.1 2013/08/20 21:32:50 matt Exp $") + +#ifdef _LIBC +#ifdef STRLCPY +WEAK_ALIAS(strlcpy, _strlcpy) +#endif +#include "namespace.h" +#endif + +/* + * These are "naive" versions of the str*cpy routines designed to be simple + * and small. + */ + +#if defined(STRLCPY) +/* LINTSTUB: size_t strlcpy(char *, const char *, size_t) */ +ENTRY(strlcpy) + adds r3, r1, #1 /* save src pointer (+ NUL) */ + subs r2, r2, #1 /* make sure there's room for a NUL */ + blt 3f /* no room, do the strlen */ + adds r2, r2, r0 /* get end of dst */ + subs r0, r0, r1 /* bias against r1 so one incr */ +1: cmp r0, r2 /* room for another char? */ + beq 2f /* no, write NUL and do the strlen */ + ldrb r3, [r1] /* read a byte */ + strb r3, [r0, r1] /* write a byte */ + adds r1, r1, #1 /* advance to next byte */ + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, do next byte */ + b 4f /* yes, end of string, so return */ +2: movs r3, #0 /* NUL */ + strb r3, [r0] /* write to end of string */ +3: ldrb r3, [r1] /* read a byte */ + adds r1, r1, #1 /* advance to next byte */ + cmp r3, #0 /* was it a NUL? */ + bne 3b /* no, get next byte */ +4: subs r0, r1, r3 /* return length of src string */ + RET +END(strlcpy) +#elif defined(STRNCPY) +/* LINTSTUB: char * strncpy(char *, const char *, size_t) */ +ENTRY(strncpy) + mov ip, r0 /* we want to preserve r0 */ + adds r2, r2, r0 /* get end of dst buffer */ + subs r1, r1, r0 /* allows to only increment once */ +1: cmp r0, r2 /* are at the end of dst already? */ + beq 3f /* yes, just return. */ + ldrb r3, [r1, r0] /* read a byte */ + strb r3, [r0] /* write a byte */ + adds r0, r0, #1 /* advance a byte */ + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, try next byte */ +2: cmp r0, r2 /* are at the end of dst already? */ + beq 3f /* yes, exit loop + strb r3, [r0] /* write a NUL */ + adds r0, r0, #1 /* advance a bytes */ + b 2b /* until dst is filled */ +3: mov r0, ip /* return dst pointer */ + RET +END(strncpy) +#else +/* LINTSTUB: char * strcpy(char *, const char *) */ +ENTRY(strcpy) + subs r2, r0, r1 /* we want to preserve r0 */ +1: ldrb r3, [r1] /* read a byte */ + strb r3, [r2, r1] /* write a byte */ + adds r1, r1, #1 /* advance to next byte */ + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, try next byte */ + RET /* return dst pointer */ +END(strcpy) +#endif diff --git a/common/lib/libc/arch/arm/string/strlcat.S b/common/lib/libc/arch/arm/string/strlcat.S new file mode 100644 index 000000000..2828e4181 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlcat.S @@ -0,0 +1,14 @@ +/* $NetBSD: strlcat.S,v 1.2 2013/08/20 21:08:54 matt Exp $ */ + +#include + +#ifdef _LIBC +WEAK_ALIAS(strlcat, _strlcat) +#include "namespace.h" +#endif + +#if defined(_STANDALONE) && 0 /* arm version is always smaller */ +#include "strlcat_naive.S" +#else +#include "strlcat_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strlcat_arm.S b/common/lib/libc/arch/arm/string/strlcat_arm.S new file mode 100644 index 000000000..a20b4bd9e --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlcat_arm.S @@ -0,0 +1,67 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strlcat_arm.S,v 1.5 2013/09/05 05:15:47 matt Exp $") + +/* LINTSTUB: size_t strlcat(char *, const char *, size_t) */ +ENTRY(strlcat) +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .fnstart + .cfi_startproc +#endif + push {r4-r6, lr} +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .save {r4-r6, lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 6, -8 + .cfi_offset 5, -12 + .cfi_offset 4, -16 +#endif + mov r4, r0 /* save dst */ + mov r5, r1 /* save src */ + mov r6, r2 /* save siz */ + + mov r1, r6 /* get siz */ + bl PLT_SYM(strnlen) /* find length of dst (up to siz) */ + + subs r2, r6, r0 /* get remaining space in dst */ + mov r1, r5 /* restore src */ + mov r5, r0 /* save remaining space */ + adds r0, r0, r4 /* set start to end of dst */ + bl PLT_SYM(strlcpy) /* attempt to copy src */ + adds r0, r0, r5 /* add remaining to strlcpy return */ + pop {r4-r6, pc} /* restore registers and return */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_endproc + .fnend +#endif +END(strlcat) diff --git a/common/lib/libc/arch/arm/string/strlcat_naive.S b/common/lib/libc/arch/arm/string/strlcat_naive.S new file mode 100644 index 000000000..9fa3ac8a3 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlcat_naive.S @@ -0,0 +1,79 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strlcat_naive.S,v 1.3 2013/08/22 19:25:00 matt Exp $") + +/* LINTSTUB: size_t strlcat(char *, const char *, size_t) */ +ENTRY(strlcat) + adds r3, r2, r0 /* point to just end of dst */ + mov ip, r0 /* need to keep r0 for a while */ +1: cmp ip, r3 /* still within dst? */ + beq 3f /* no, get length of src */ + ldrb r2, [ip], #1 /* load next byte */ + cmp r2, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ + + sub r0, ip, r0 /* get actual length of dst */ + subs r0, r0, #1 /* account for the trailing NUL */ + subs r3, r3, #1 /* back up to last byte in dst */ + sub ip, ip, #1 /* back up over the NUL */ + +2: ldrb r2, [r1], #1 /* load next byte from append */ +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, 5f /* was it a NUL? yes, end of append */ +#else + cmp r2, #0 /* was it a NUL? */ + beq 5f /* yes, end of append */ +#endif + adds r0, r0, #1 /* count another byte */ + cmp ip, r3 /* do we have enough room for it? */ +#ifdef __thumb__ + bge 2b + strb r2, [ip], #1 /* yes, store it */ +#else + strblt r2, [ip], #1 /* yes, store it */ +#endif + b 2b /* get next byte from append */ + +3: subs r0, r3, r0 /* move size to return value */ +4: ldrb r2, [r1], #1 /* load next byte from append */ +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, 6f /* was it a NUL? yes, we're done */ +#else + RETc(eq) /* yes, we're done */ +#endif + adds r0, r0, #1 /* add one to return value */ + b 4b /* get next byte from append */ + +5: movs r2, #0 /* NUL */ + strb r2, [ip] /* append final NUL */ +6: RET /* return */ +END(strlcat) diff --git a/common/lib/libc/arch/arm/string/strlcpy.S b/common/lib/libc/arch/arm/string/strlcpy.S new file mode 100644 index 000000000..83708ac4b --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlcpy.S @@ -0,0 +1,13 @@ +/* $NetBSD: strlcpy.S,v 1.5 2013/08/20 21:35:24 matt Exp $ */ + +#define STRLCPY + +#if defined(_STANDALONE) +#if defined(__thumb__) +#include "strcpy_thumb.S" +#else +#include "strcpy_naive.S" +#endif +#else +#include "strcpy_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strlen.S b/common/lib/libc/arch/arm/string/strlen.S new file mode 100644 index 000000000..034289bd3 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlen.S @@ -0,0 +1,9 @@ +/* $NetBSD: strlen.S,v 1.4 2013/08/20 08:07:30 matt Exp $ */ + +#include + +#if defined(_STANDALONE) || (defined(__thumb__) && !defined(_ARM_ARCH_T2)) +#include "strlen_naive.S" +#else +#include "strlen_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strlen_arm.S b/common/lib/libc/arch/arm/string/strlen_arm.S new file mode 100644 index 000000000..38b1c9d34 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlen_arm.S @@ -0,0 +1,180 @@ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strlen_arm.S,v 1.8 2013/09/05 05:15:47 matt Exp $") + +#if defined(__thumb__) && !defined(_ARM_ARCH_T2) +#error Only Thumb2 or ARM supported +#endif + +#ifdef __ARMEL__ +#define BYTE0 0x000000ff +#define BYTE1 0x0000ff00 +#define BYTE2 0x00ff0000 +#define BYTE3 0xff000000 +#else +#define BYTE0 0xff000000 +#define BYTE1 0x00ff0000 +#define BYTE2 0x0000ff00 +#define BYTE3 0x000000ff +#endif + +#ifdef STRNLEN +#define FUNCNAME strnlen +#else +#define FUNCNAME strlen +#endif + + .text +ENTRY(FUNCNAME) +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .fnstart + .cfi_startproc +#endif +#ifdef STRNLEN + push {r4,r5} /* save some registers */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .save {r4,r5} + .cfi_def_cfa_offset 8 + .cfi_offset 5, -4 + .cfi_offset 4, -8 +#endif + adds r5, r0, r1 /* get ptr to end of string */ + mov r4, r1 /* save maxlen */ +#endif + adds r2, r0, #4 /* for the final post-inc */ +1: tst r0, #3 /* test for word alignment */ + beq .Lpre_main_loop /* finally word aligned */ +#ifdef STRNLEN + cmp r0, r5 /* have we gone too far? */ + beq .Lmaxed_out /* yes, return maxlen */ +#endif + ldrb r3, [r0], #1 /* load a byte */ + cmp r3, #0 /* is it 0? */ + bne 1b /* no, try next byte */ + subs r2, r2, #3 /* subtract (4 - the NUL) */ + subs r0, r0, r2 /* subtract start */ +#ifdef STRNLEN + pop {r4, r5} /* restore registers */ +#endif + RET /* return */ +.Lpre_main_loop: +#if defined(_ARM_ARCH_7) + movw r1, #0xfefe /* magic constant; 254 in each byte */ + movt r1, #0xfefe /* magic constant; 254 in each byte */ +#elif defined(_ARM_ARCH_6) + mov r1, #0xfe /* put 254 in low byte */ + orr r1, r1, r1, lsl #8 /* move to next byte */ + orr r1, r1, r1, lsl #16 /* move to next halfword */ +#endif /* _ARM_ARCH_6 */ +.Lmain_loop: +#ifdef STRNLEN + cmp r0, r5 /* gone too far? */ + bge .Lmaxed_out /* yes, return maxlen */ +#endif + ldr r3, [r0], #4 /* load next word */ +#if defined(_ARM_ARCH_6) + /* + * Add 254 to each byte using the UQADD8 (unsigned saturating add 8) + * instruction. For every non-NUL byte, the result for that byte will + * become 255. For NUL, it will be 254. When we complement the + * result, if the result is non-0 then we must have encountered a NUL. + */ + uqadd8 r3, r3, r1 /* magic happens here */ + mvns r3, r3 /* is the complemented result non-0? */ + beq .Lmain_loop /* no, then we encountered no NULs */ +#else + /* + * No fancy shortcuts so just test each byte lane for a NUL. + * (other tests for NULs in a word take more instructions/cycles). + */ + tst r3, #BYTE0 /* is this byte 0? */ + tstne r3, #BYTE1 /* no, is this byte 0? */ + tstne r3, #BYTE2 /* no, is this byte 0? */ + tstne r3, #BYTE3 /* no, is this byte 0? */ + bne .Lmain_loop /* no, then get next word */ +#endif +#if defined(_ARM_ARCH_6) + /* + * We encountered a NUL. Find out where by doing a CLZ and then + * shifting right by 3. That will be the number of non-NUL bytes. + */ +#ifdef __ARMEL__ + rev r3, r3 /* we want this in BE for the CLZ */ +#endif + clz r3, r3 /* count how many leading zeros */ +#ifdef __thumb__ + lsrs r3, r3, #3 + adds r0, r0, r3 /* divide that by 8 and add to count */ +#else + add r0, r0, r3, lsr #3 /* divide that by 8 and add to count */ +#endif +#else + /* + * We encountered a NUL. + */ + tst r3, #BYTE0 /* 1st byte was NUL? */ + beq 1f /* yes, done adding */ + add r0, r0, #1 /* we have one more non-NUL byte */ + tst r3, #BYTE1 /* 2nd byte was NUL? */ + beq 1f /* yes, done adding */ + add r0, r0, #1 /* we have one more non-NUL byte */ + tst r3, #BYTE2 /* 3rd byte was NUL? */ + addne r0, r0, #1 /* no, we have one more non-NUL byte */ +1: +#endif /* _ARM_ARCH_6 */ + /* + * r0 now points to 4 past the NUL due to the post-inc. Subtract the + * start of the string (which also has 4 added to it to compensate for + * the post-inc. + */ + subs r0, r0, r2 /* subtract start to get length */ +#ifdef STRNLEN + cmp r0, r4 /* is it larger than maxlen? */ +#ifdef __thumb__ + it gt +#endif + movgt r0, r4 /* yes, return maxlen */ + pop {r4, r5} /* restore registers */ +#endif + RET /* return */ + +#ifdef STRNLEN +.Lmaxed_out: + mov r0, r4 /* return maxlen */ + pop {r4, r5} /* restore registers */ + RET /* return */ +#endif +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_endproc + .fnend +#endif +END(FUNCNAME) diff --git a/common/lib/libc/arch/arm/string/strlen_naive.S b/common/lib/libc/arch/arm/string/strlen_naive.S new file mode 100644 index 000000000..557ace97c --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlen_naive.S @@ -0,0 +1,74 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strlen_naive.S,v 1.8 2013/08/19 17:02:25 matt Exp $") + +#ifdef STRNLEN +/* LINTSTUB: size_t strnlen(const char *, size_t) */ +ENTRY(strnlen) + adds r3, r0, #1 /* start of src + NUL */ +#ifdef __thumb__ + adds r2, r0, r1 /* &src[maxlen] */ + mov ip, r2 +#else + adds ip, r0, r1 /* &src[maxlen] */ +#endif +1: cmp r0, ip /* is this of string? */ + beq 2f /* yes it is */ +#ifdef __thumb__ + ldrb r2, [r0] /* read a byte */ + adds r0, r0, #1 /* advance to next byte */ +#else + ldrb r2, [r0], #1 /* read a byte */ +#endif + cmp r2, #0 /* is it a NUL? */ + bne 1b /* no, get next byte */ + subs r0, r0, r3 /* get difference between start and end */ + RET /* return */ +2: mov r0, r1 /* get maxlen */ + RET /* return */ +END(strnlen) +#else /* STRNLEN */ +/* LINTSTUB: size_t strlen(const char *) */ +ENTRY(strlen) + adds r3, r0, #1 /* start of src + NUL */ +1: +#ifdef __thumb__ + ldrb r2, [r0] /* read a byte */ + adds r0, r0, #1 +#else + ldrb r2, [r0], #1 /* read a byte */ +#endif + cmp r2, #0 /* is it a NUL? */ + bne 1b /* no, get next byte */ + subs r0, r0, r3 /* return difference between start and end */ + RET +END(strlen) +#endif /* !STRNLEN */ diff --git a/common/lib/libc/arch/arm/string/strlen_neon.S b/common/lib/libc/arch/arm/string/strlen_neon.S new file mode 100644 index 000000000..c5c07aac6 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strlen_neon.S @@ -0,0 +1,86 @@ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strlen_neon.S,v 1.3 2012/12/28 05:15:08 matt Exp $") + .text + +ENTRY(strlen) + mov ip, r0 /* we use r0 for return value */ + ands r1, r0, #15 /* verify qword alignment */ + neg r0, r1 /* subtract misalignment from count */ + veor q2, q2, q2 /* clear mask */ + mov r3, #7 /* NBBY - 1 */ + vdup.32 q3, r3 /* dup throughout q3 */ + movw r3, #0x0404 /* magic since there are 4 bytes per U32 */ + orr r3, r3, lsl #16 /* copy to upper 16 bits */ + beq .Lmain_loop + veor q0, q0, q0 /* clear q0 */ + vmvn q2, q2 /* set all 16 bytes of mask to all 1s */ + bic ip, ip, #15 /* qword align string address */ + lsl r1, r1, #3 /* convert to bits */ + cmp r1, #64 + rsbgt r1, r1, #128 /* > 64? BE so we are shifting LSW right */ + movgt r2, #0 /* > 64? leave MSW alone */ + rsble r2, r1, #64 /* <=64? BE so we are shifting MSW right */ + movle r1, #64 /* <=64? clear LSW */ + vmov d0, r1, r2 /* set shifts for lower and upper halves */ + vmovl.u32 q0, d0 /* 2 U32 -> 2 U64 */ + vshl.u64 q2, q2, q0 /* shift */ + /* + * Main loop. Load 16 bytes, do a clz, + */ +.Lmain_loop: + vld1.64 {d0, d1}, [ip:128]! /* load qword */ +#ifdef __ARMEL__ + vrev64.8 q0, q0 /* convert to BE for clz */ +#endif + vswp d0, d1 /* swap dwords to get BE qword */ + vorr q0, q0, q2 /* or "in" leading byte mask */ + veor q2, q2, q2 /* clear leading byte mask */ + vceq.i8 q1, q0, #0 /* test each byte for 0 */ + /* Why couldn't there be a 64-bit CLZ? */ + vclz.u32 q1, q1 /* count leading zeroes to find the 0 byte */ + vadd.u32 q1, q1, q3 /* round up to byte bounary */ + vshr.u32 q1, q1, #3 /* convert to bytes */ + vmovn.u32 d0, q1 /* 4 I32 -> 4 I16 */ + vmovn.u16 d0, q0 /* 4 I16 -> 4 I8 */ + vmov r2, s0 /* get counts */ + eors r2, r2, r3 /* xor with 0x04040404 */ + addeq r0, #16 /* 0? no NULs */ + beq .Lmain_loop /* get next qword */ + clz ip, r2 /* count leading zeros */ + mov r2, r2, lsl ip /* discard them */ + mov ip, ip, lsr #3 /* divide leading zeroes by 8 */ + add r0, r0, ip, lsl #2 /* multiple by 4 and add to count */ + and r2, r2, #(3 << 29) + add r0, r0, r2, lsr #29 + RET /* and return. */ +END(strlen) diff --git a/common/lib/libc/arch/arm/string/strncmp.S b/common/lib/libc/arch/arm/string/strncmp.S index fe770525c..992dc36f9 100644 --- a/common/lib/libc/arch/arm/string/strncmp.S +++ b/common/lib/libc/arch/arm/string/strncmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: strncmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strncmp.S,v 1.2 2013/08/19 00:57:25 matt Exp $ */ /* * Copyright (c) 2002 ARM Ltd @@ -30,22 +30,48 @@ #include -RCSID("$NetBSD: strncmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $") +RCSID("$NetBSD: strncmp.S,v 1.2 2013/08/19 00:57:25 matt Exp $") ENTRY(strncmp) /* if ((len - 1) < 0) return 0 */ subs r2, r2, #1 +#ifdef __thumb__ + bmi 5f +#else movmi r0, #0 RETc(mi) +#endif /* ip == last src address to compare */ +#ifdef __thumb__ + adds r3, r0, r2 + mov ip, r3 + subs r1, r1, r0 +#else add ip, r0, r2 +#endif 1: +#ifdef __thumb__ + ldrb r2, [r0] + ldrb r3, [r1, r0] + adds r0, r0, #1 + cmp ip, r0 /* exhausted length? */ + bcc 4f /* yes, we're done */ + cmp r2, #1 /* NUL? */ + bcc 4f /* yes, we're done */ + cmp r2, r3 /* different? */ +#else ldrb r2, [r0], #1 ldrb r3, [r1], #1 cmp ip, r0 cmpcs r2, #1 cmpcs r2, r3 +#endif beq 1b - sub r0, r2, r3 +4: subs r0, r2, r3 RET +#ifdef __thumb__ +5: movs r0, #0 + RET +#endif +END(strncmp) diff --git a/common/lib/libc/arch/arm/string/strncpy.S b/common/lib/libc/arch/arm/string/strncpy.S new file mode 100644 index 000000000..dc3465e04 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strncpy.S @@ -0,0 +1,13 @@ +/* $NetBSD: strncpy.S,v 1.3 2013/08/20 21:35:24 matt Exp $ */ + +#define STRNCPY + +#if defined(_STANDALONE) +#if defined(__thumb__) +#include "strcpy_thumb.S" +#else +#include "strcpy_naive.S" +#endif +#else +#include "strcpy_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strnlen.S b/common/lib/libc/arch/arm/string/strnlen.S new file mode 100644 index 000000000..21fbf2737 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strnlen.S @@ -0,0 +1,11 @@ +/* $NetBSD: strnlen.S,v 1.3 2013/08/20 08:08:59 matt Exp $ */ + +#include /* for _ARM_ARCH_T2 */ + +#define STRNLEN + +#if defined(_STANDALONE) || (defined(__thumb__) && !defined(_ARM_ARCH_T2)) +#include "strlen_naive.S" +#else +#include "strlen_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strrchr.S b/common/lib/libc/arch/arm/string/strrchr.S new file mode 100644 index 000000000..cbbe9de48 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strrchr.S @@ -0,0 +1,11 @@ +/* $NetBSD: strrchr.S,v 1.4 2013/08/20 08:07:30 matt Exp $ */ + +#include + +STRONG_ALIAS(rindex, strrchr) + +#if defined(_STANDALONE) || (defined(__thumb__) && !defined(_ARM_ARCH_T2)) +#include "strrchr_naive.S" +#else +#include "strrchr_arm.S" +#endif diff --git a/common/lib/libc/arch/arm/string/strrchr_arm.S b/common/lib/libc/arch/arm/string/strrchr_arm.S new file mode 100644 index 000000000..c07e28096 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strrchr_arm.S @@ -0,0 +1,161 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strrchr_arm.S,v 1.6 2013/08/25 06:15:06 matt Exp $") + +#ifdef __ARMEL__ +#define BYTE0 0x000000ff +#define BYTE1 0x0000ff00 +#define BYTE2 0x00ff0000 +#define BYTE3 0xff000000 +#define lshi lsl +#define lshis lsls +#else +#define BYTE0 0xff000000 +#define BYTE1 0x00ff0000 +#define BYTE2 0x0000ff00 +#define BYTE3 0x000000ff +#define lshi lsr +#define lshis lsrs +#endif + +ENTRY(strrchr) + ands r2, r1, #0xff /* is the byte value NUL? */ + bne 1f /* no, do it the hard way */ + push {r0, lr} /* save pointer and return addr */ + bl PLT_SYM(strlen) /* get length */ + pop {r1, r2} /* restore pointer / return addr */ + adds r0, r0, r1 /* add pointer to length */ + RETr(r2) /* return */ + +1: mov r1, r0 /* we use r0 at the return value */ + movs r0, #0 /* return NULL by default */ +2: tst r1, #3 /* test for word alignment */ + beq .Lpre_main_loop /* finally word aligned */ + ldrb r3, [r1], #1 /* load a byte */ + cmp r3, r2 /* did it match? */ +#ifdef __thumb__ + it eq +#endif + subeq r0, r1, #1 /* yes, remember that it did */ + cmp r3, #0 /* was it NUL? */ + bne 2b /* no, try next byte */ + RET /* return */ +.Lpre_main_loop: + push {r4, r5} /* save some registers */ +#if defined(_ARM_ARCH_7) + movw ip, #0xfefe /* magic constant; 254 in each byte */ + movt ip, #0xfefe /* magic constant; 254 in each byte */ +#elif defined(_ARM_ARCH_6) + mov ip, #0xfe /* put 254 in low byte */ + orr ip, ip, ip, lsl #8 /* move to next byte */ + orr ip, ip, ip, lsl #16 /* move to next halfword */ +#endif /* _ARM_ARCH_6 */ + orr r2, r2, r2, lsl #8 /* move to next byte */ + orr r2, r2, r2, lsl #16 /* move to next halfword */ +.Lmain_loop: + ldr r3, [r1], #4 /* load next word */ +#if defined(_ARM_ARCH_6) + /* + * Add 254 to each byte using the UQADD8 (unsigned saturating add 8) + * instruction. For every non-NUL byte, the result for that byte will + * become 255. For NUL, it will be 254. When we complement the + * result, if the result is non-0 then we must have encountered a NUL. + */ + uqadd8 r4, r3, ip /* NUL detection happens here */ + usub8 r3, r3, r2 /* bias for char looked for? */ + uqadd8 r5, r3, ip /* char detection happens here */ + ands r3, r4, r5 /* merge results */ + mvns r3, r3 /* is the complement non-0? */ + beq .Lmain_loop /* no, then keep going */ + + mvns r5, r5 /* get we find any matching bytes? */ + beq .Ldone /* no, then we hit the end, return */ + mvns r4, r4 /* did we encounter a NUL? */ + beq .Lfind_match /* no, find matching byte */ + /* + * Copy the NUL bit to the following byte lanes. Then clear any match + * bits in those byte lanes to prevent false positives in those bytes. + */ + bics r5, r5, r4 /* clear any NUL match bits */ + beq .Ldone /* no remaining matches, we're done */ + lshis r3, r4, #8 /* shift up a byte */ +#ifdef __thumb__ + itt ne +#endif + orrsne r3, r3, r3, lshi #8 /* if non 0, copy up to next byte */ + orrsne r3, r3, r3, lshi #8 /* if non 0, copy up to last byte */ + bics r5, r5, r3 /* clear match bits */ + beq .Ldone /* no remaining matches, we're done */ +.Lfind_match: +#ifdef __ARMEL__ + rev r5, r5 /* we want this in BE for the CLZ */ +#endif + /* + * If we have multiple matches, we want to the select the "last" match + * in the word which will be the lowest bit set. + */ + subs r3, r5, #1 /* subtract 1 */ + ands r3, r3, r5 /* and with mask */ + eors r5, r5, r3 /* only have the lowest bit set left */ + clz r5, r5 /* count how many leading zeros */ + add r0, r1, r5, lsr #3 /* divide that by 8 and add to count */ + subs r0, r0, #4 /* compensate for the post-inc */ + cmp r4, #0 /* did we read any NULs? */ + beq .Lmain_loop /* no, get next word */ +#else + /* + * No fancy shortcuts so just test each byte lane for a NUL. + * (other tests for NULs in a word take more instructions/cycles). + */ + eor r4, r3, r2 /* xor .. */ + tst r3, #BYTE0 /* is byte 0 a NUL? */ + beq .Ldone /* yes, then we're done */ + tst r4, #BYTE0 /* is byte 0 a match? */ + subeq r0, r1, #4 /* yes, remember its location */ + tst r3, #BYTE1 /* is byte 1 a NUL? */ + beq .Ldone /* yes, then we're done */ + tst r4, #BYTE1 /* is byte 1 a match? */ + subeq r0, r1, #3 /* yes, remember its location */ + tst r3, #BYTE2 /* is byte 2 a NUL? */ + beq .Ldone /* yes, then we're done */ + tst r4, #BYTE2 /* is byte 2 a match? */ + subeq r0, r1, #2 /* yes, remember its location */ + tst r3, #BYTE3 /* is byte 3 a NUL? */ + beq .Ldone /* yes, then we're done */ + tst r4, #BYTE3 /* is byte 3 a match? */ + subeq r0, r1, #1 /* yes, remember its location */ + b .Lmain_loop +#endif /* _ARM_ARCH_6 */ +.Ldone: + pop {r4, r5} + RET +END(strrchr) diff --git a/common/lib/libc/arch/arm/string/strrchr_naive.S b/common/lib/libc/arch/arm/string/strrchr_naive.S new file mode 100644 index 000000000..2af949865 --- /dev/null +++ b/common/lib/libc/arch/arm/string/strrchr_naive.S @@ -0,0 +1,56 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strrchr_naive.S,v 1.4 2013/08/19 17:02:25 matt Exp $") + +/* LINTSTUB: char * strrchr(const char *, int) */ +ENTRY(strrchr) + mov r2, r0 /* using r0 as return value */ + movs r0, #0 /* default to no match */ +#ifdef __thumb__ + movs r3, #0xff + ands r1, r1, r3 /* restrict to a byte value */ +1: ldrb r3, [r2] /* read a byte */ + cmp r3, r1 /* does it match? */ + bne 2f /* no, go and advance */ + mov r0, r2 /* yes, set return value to point to it */ +2: adds r2, r2, #1 /* advance to next byte */ + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ +#else + and r1, r1, #0xff /* restrict to a byte value */ +1: ldrb r3, [r2], #1 /* read a byte */ + cmp r3, r1 /* does it match? */ + subeq r0, r2, #1 /* yes, set return value to point to it */ + cmp r3, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ +#endif + RET +END(strrchr) diff --git a/common/lib/libc/arch/i386/string/strchr.S b/common/lib/libc/arch/i386/string/strchr.S index 2ad317547..400bcdad7 100644 --- a/common/lib/libc/arch/i386/string/strchr.S +++ b/common/lib/libc/arch/i386/string/strchr.S @@ -100,8 +100,4 @@ ENTRY(strchr) popl %esi ret -#ifdef __minix -STRONG_ALIAS(_C_LABEL(index),_C_LABEL(strchr)) -#else STRONG_ALIAS(index,strchr) -#endif diff --git a/common/lib/libc/arch/i386/string/strrchr.S b/common/lib/libc/arch/i386/string/strrchr.S index d7ef0b18a..26ef5441d 100644 --- a/common/lib/libc/arch/i386/string/strrchr.S +++ b/common/lib/libc/arch/i386/string/strrchr.S @@ -93,8 +93,4 @@ ENTRY(strrchr) popl %esi ret -#ifdef __minix -STRONG_ALIAS(_C_LABEL(rindex),_C_LABEL(strrchr)) -#else STRONG_ALIAS(rindex,strrchr) -#endif diff --git a/common/lib/libc/arch/m68k/atomic/Makefile.inc b/common/lib/libc/arch/m68k/atomic/Makefile.inc index f4e367605..e8fcded46 100644 --- a/common/lib/libc/arch/m68k/atomic/Makefile.inc +++ b/common/lib/libc/arch/m68k/atomic/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.9 2009/01/04 17:54:29 pooka Exp $ +# $NetBSD: Makefile.inc,v 1.10 2013/07/18 19:49:00 matt Exp $ # # Note: The atomic operations here in these assembly files are atomic @@ -11,7 +11,7 @@ .if defined(LIB) && (${LIB} == "kern" || ${LIB} == "c" || ${LIB} == "pthread" \ || ${LIB} == "rump") -.if ${MACHINE_ARCH} != "m68000" +.if ${MACHINE_ARCH} == "m68k" SRCS+= atomic_add.S atomic_and.S atomic_cas.S atomic_dec.S \ atomic_inc.S atomic_or.S atomic_swap.S membar_ops_nop.c @@ -27,7 +27,7 @@ SRCS+= atomic_add_32_cas.c atomic_add_32_nv_cas.c atomic_and_32_cas.c \ .endif .if defined(LIB) && (${LIB} == "c" || ${LIB} == "pthread") -.if ${MACHINE_ARCH} != "m68000" +.if ${MACHINE_ARCH} == "m68k" SRCS+= atomic_init_cas.c diff --git a/common/lib/libc/arch/m68k/atomic/atomic_add.S b/common/lib/libc/arch/m68k/atomic/atomic_add.S index e8c5d907e..4e7cdfc76 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_add.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_add.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_add.S,v 1.4 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_add.S,v 1.6 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -35,10 +35,11 @@ .align 2 ENTRY(_atomic_add_32) - movl %sp@(4), %a0 - movl %sp@(8), %d0 - addl %d0, %a0@ + movl 4(%sp), %a0 + movl 8(%sp), %d0 + addl %d0, (%a0) rts +END(_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_32,_atomic_add_32) ATOMIC_OP_ALIAS(atomic_add_int,_atomic_add_32) STRONG_ALIAS(_atomic_add_int,_atomic_add_32) @@ -48,14 +49,16 @@ ATOMIC_OP_ALIAS(atomic_add_ptr,_atomic_add_32) STRONG_ALIAS(_atomic_add_ptr,_atomic_add_32) ENTRY(_atomic_add_32_nv) - movl %sp@(4), %a0 -1: movl %a0@, %d0 + movl 4(%sp), %a0 +1: movl (%a0), %d0 movl %d0, %d1 - addl %sp@(8), %d0 - casl %d1, %d0, %a0@ + addl 8(%sp), %d0 + casl %d1, %d0, (%a0) bne 1b movl %d0, %a0 /* pointers return also in %a0 */ rts +END(_atomic_add_32_nv) + ATOMIC_OP_ALIAS(atomic_add_32_nv,_atomic_add_32_nv) ATOMIC_OP_ALIAS(atomic_add_int_nv,_atomic_add_32_nv) STRONG_ALIAS(_atomic_add_int_nv,_atomic_add_32_nv) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_and.S b/common/lib/libc/arch/m68k/atomic/atomic_and.S index 4426fd0db..a5884ae4e 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_and.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_and.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_and.S,v 1.6 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_and.S,v 1.8 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -34,10 +34,11 @@ .text ENTRY(_atomic_and_32) - movl %sp@(4), %a0 - movl %sp@(8), %d0 - andl %d0, %a0@ + movl 4(%sp), %a0 + movl 8(%sp), %d0 + andl %d0, (%a0) rts +END(_atomic_and_32) ATOMIC_OP_ALIAS(atomic_and_32,_atomic_and_32) ATOMIC_OP_ALIAS(atomic_and_uint,_atomic_and_32) STRONG_ALIAS(_atomic_and_uint,_atomic_and_32) @@ -47,13 +48,14 @@ ATOMIC_OP_ALIAS(atomic_and_ptr,_atomic_and_32) STRONG_ALIAS(_atomic_and_ptr,_atomic_and_32) ENTRY(_atomic_and_32_nv) - movl %sp@(4), %a0 -1: movl %a0@, %d0 + movl 4(%sp), %a0 +1: movl (%a0), %d0 movl %d0, %d1 - andl %sp@(8), %d0 - casl %d1, %d0, %a0@ + andl 8(%sp), %d0 + casl %d1, %d0, (%a0) bne 1b rts +END(_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_32_nv,_atomic_and_32_nv) ATOMIC_OP_ALIAS(atomic_and_uint_nv,_atomic_and_32_nv) STRONG_ALIAS(_atomic_and_uint_nv,_atomic_and_32_nv) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_cas.S b/common/lib/libc/arch/m68k/atomic/atomic_cas.S index c5f5036d2..948c9dc84 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_cas.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_cas.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas.S,v 1.5 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_cas.S,v 1.7 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007, 2008 The NetBSD Foundation, Inc. @@ -34,13 +34,14 @@ .text ENTRY(_atomic_cas_32) - movl %sp@(4), %a0 - movl %sp@(8), %d0 - movl %sp@(12), %d1 - casl %d0, %d1, %a0@ + movl 4(%sp), %a0 + movl 8(%sp), %d0 + movl 12(%sp), %d1 + casl %d0, %d1, (%a0) /* %d0 now contains the old value */ movl %d0, %a0 /* pointers return also in %a0 */ rts +END(_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_32,_atomic_cas_32) ATOMIC_OP_ALIAS(atomic_cas_uint,_atomic_cas_32) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_cas_68000.S b/common/lib/libc/arch/m68k/atomic/atomic_cas_68000.S index c3daeadb8..7fb852cda 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_cas_68000.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_cas_68000.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas_68000.S,v 1.3 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_cas_68000.S,v 1.5 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -37,13 +37,13 @@ ENTRY(_atomic_cas_up) .hidden _C_LABEL(_atomic_cas_up) - movl %sp@(4), %a0 /* Fetch ptr */ + movl 4(%sp), %a0 /* Fetch ptr */ RAS_START_ASM_HIDDEN(_atomic_cas) - movl %a0@, %d0 /* d0 = *ptr */ - cmpl %sp@(8), %d0 /* Same as old? */ + movl (%a0), %d0 /* d0 = *ptr */ + cmpl 8(%sp), %d0 /* Same as old? */ jne 1f /* Nope */ - movl %sp@(12), %a0@ /* *ptr = new */ + movl 12(%sp), (%a0) /* *ptr = new */ RAS_END_ASM_HIDDEN(_atomic_cas) 1: rts - +END(_atomic_cas_up) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_dec.S b/common/lib/libc/arch/m68k/atomic/atomic_dec.S index d5cd3e7d1..fab1cfa9c 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_dec.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_dec.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_dec.S,v 1.4 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_dec.S,v 1.6 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -34,9 +34,10 @@ .text ENTRY(_atomic_dec_32) - movl %sp@(4), %a0 - subql #1, %a0@ + movl 4(%sp), %a0 + subql #1, (%a0) rts +END(_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_32,_atomic_dec_32) ATOMIC_OP_ALIAS(atomic_dec_uint,_atomic_dec_32) STRONG_ALIAS(_atomic_dec_uint,_atomic_dec_32) @@ -46,14 +47,15 @@ ATOMIC_OP_ALIAS(atomic_dec_ptr,_atomic_dec_32) STRONG_ALIAS(_atomic_dec_ptr,_atomic_dec_32) ENTRY(_atomic_dec_32_nv) - movl %sp@(4), %a0 -1: movl %a0@, %d0 + movl 4(%sp), %a0 +1: movl (%a0), %d0 movl %d0, %d1 subql #1, %d0 - casl %d1, %d0, %a0@ + casl %d1, %d0, (%a0) bne 1b movl %d0, %a0 /* pointers return also in %a0 */ rts +END(_atomic_dec_32_nv) ATOMIC_OP_ALIAS(atomic_dec_32_nv,_atomic_dec_32_nv) ATOMIC_OP_ALIAS(atomic_dec_uint_nv,_atomic_dec_32_nv) STRONG_ALIAS(_atomic_dec_uint_nv,_atomic_dec_32_nv) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_inc.S b/common/lib/libc/arch/m68k/atomic/atomic_inc.S index bed844a49..6579aaac4 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_inc.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_inc.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_inc.S,v 1.4 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_inc.S,v 1.6 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -34,9 +34,10 @@ .text ENTRY(_atomic_inc_32) - movl %sp@(4), %a0 - addql #1, %a0@ + movl 4(%sp), %a0 + addql #1, (%a0) rts +END(_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_32,_atomic_inc_32) ATOMIC_OP_ALIAS(atomic_inc_uint,_atomic_inc_32) STRONG_ALIAS(_atomic_inc_uint,_atomic_inc_32) @@ -46,14 +47,15 @@ ATOMIC_OP_ALIAS(atomic_inc_ptr,_atomic_inc_32) STRONG_ALIAS(_atomic_inc_ptr,_atomic_inc_32) ENTRY(_atomic_inc_32_nv) - movl %sp@(4), %a0 -1: movl %a0@, %d0 + movl 4(%sp), %a0 +1: movl (%a0), %d0 movl %d0, %d1 addql #1, %d0 - casl %d1, %d0, %a0@ + casl %d1, %d0, (%a0) bne 1b movl %d0, %a0 /* pointers return also in %a0 */ rts +END(_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_32_nv,_atomic_inc_32_nv) ATOMIC_OP_ALIAS(atomic_inc_uint_nv,_atomic_inc_32_nv) STRONG_ALIAS(_atomic_inc_uint_nv,_atomic_inc_32_nv) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_or.S b/common/lib/libc/arch/m68k/atomic/atomic_or.S index bb739b640..9ca184059 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_or.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_or.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_or.S,v 1.6 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_or.S,v 1.8 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -34,10 +34,11 @@ .text ENTRY(_atomic_or_32) - movl %sp@(4), %a0 - movl %sp@(8), %d0 - orl %d0, %a0@ + movl 4(%sp), %a0 + movl 8(%sp), %d0 + orl %d0, (%a0) rts +END(_atomic_or_32) ATOMIC_OP_ALIAS(atomic_or_32,_atomic_or_32) ATOMIC_OP_ALIAS(atomic_or_uint,_atomic_or_32) STRONG_ALIAS(_atomic_or_uint,_atomic_or_32) @@ -47,11 +48,11 @@ ATOMIC_OP_ALIAS(atomic_or_ptr,_atomic_or_32) STRONG_ALIAS(_atomic_or_ptr,_atomic_or_32) ENTRY(_atomic_or_32_nv) - movl %sp@(4), %a0 -1: movl %a0@, %d0 + movl 4(%sp), %a0 +1: movl (%a0), %d0 movl %d0, %d1 - orl %sp@(8), %d0 - casl %d1, %d0, %a0@ + orl 8(%sp), %d0 + casl %d1, %d0, (%a0) bne 1b rts ATOMIC_OP_ALIAS(atomic_or_32_nv,_atomic_or_32_nv) diff --git a/common/lib/libc/arch/m68k/atomic/atomic_swap.S b/common/lib/libc/arch/m68k/atomic/atomic_swap.S index 53389aeed..2d2bae32a 100644 --- a/common/lib/libc/arch/m68k/atomic/atomic_swap.S +++ b/common/lib/libc/arch/m68k/atomic/atomic_swap.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_swap.S,v 1.4 2008/05/25 15:56:11 chs Exp $ */ +/* $NetBSD: atomic_swap.S,v 1.6 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -34,14 +34,15 @@ .text ENTRY(_atomic_swap_32) - movl %sp@(4), %a0 -1: movl %a0@, %d0 - movl %sp@(8), %d1 - casl %d0, %d1, %a0@ + movl 4(%sp), %a0 +1: movl (%a0), %d0 + movl 8(%sp), %d1 + casl %d0, %d1, (%a0) bne 1b /* %d0 now contains the old value */ movl %d0, %a0 /* pointers return also in %a0 */ rts +END(_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_32,_atomic_swap_32) ATOMIC_OP_ALIAS(atomic_swap_uint,_atomic_swap_32) STRONG_ALIAS(_atomic_swap_uint,_atomic_swap_32) diff --git a/common/lib/libc/arch/m68k/gen/bswap16.S b/common/lib/libc/arch/m68k/gen/bswap16.S index f7c84718a..a505c0eab 100644 --- a/common/lib/libc/arch/m68k/gen/bswap16.S +++ b/common/lib/libc/arch/m68k/gen/bswap16.S @@ -1,4 +1,4 @@ -/* $NetBSD: bswap16.S,v 1.2 2007/09/19 20:31:34 he Exp $ */ +/* $NetBSD: bswap16.S,v 1.5 2013/07/18 22:42:50 matt Exp $ */ /* * Copyright (C) 1996 Scott Reynolds. All rights reserved. @@ -29,10 +29,26 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -_ENTRY(_C_LABEL(bswap16)) +#define BSWAP16 _C_LABEL(bswap16) #else /* defined(_KERNEL) || defined(_STANDALONE) */ -_ENTRY(_C_LABEL(__bswap16)) +#define BSWAP16 _C_LABEL(__bswap16) #endif /* defined(_KERNEL) || defined(_STANDALONE) */ - movl %sp@(4),%d0 + +_ENTRY(BSWAP16) +#ifdef __mcfisac__ + mvzw 6(%sp),%d0 + swap %d0 + byterev %d0 +#elif defined(__mcoldfire__) + mvzw 6(%sp),%d0 + movl %d0,%d1 + mvzb %d0,%d0 + lsll #8,%d0 + lsrl #8,%d1 + orl %d1,%d0 +#else + movl 4(%sp),%d0 rolw #8,%d0 +#endif rts +END(BSWAP16) diff --git a/common/lib/libc/arch/m68k/gen/bswap32.S b/common/lib/libc/arch/m68k/gen/bswap32.S index f8b0b9206..e14a1505a 100644 --- a/common/lib/libc/arch/m68k/gen/bswap32.S +++ b/common/lib/libc/arch/m68k/gen/bswap32.S @@ -1,4 +1,4 @@ -/* $NetBSD: bswap32.S,v 1.2 2007/09/19 20:31:34 he Exp $ */ +/* $NetBSD: bswap32.S,v 1.5 2013/07/18 22:42:50 matt Exp $ */ /* * Copyright (C) 1996 Scott Reynolds. All rights reserved. @@ -29,12 +29,27 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -_ENTRY(_C_LABEL(bswap32)) +#define BSWAP32 _C_LABEL(bswap32) #else /* defined(_KERNEL) || defined(_STANDALONE) */ -_ENTRY(_C_LABEL(__bswap32)) +#define BSWAP32 _C_LABEL(__bswap32) #endif /* defined(_KERNEL) || defined(_STANDALONE) */ - movl %sp@(4),%d0 - rolw #8,%d0 - swap %d0 + +_ENTRY(BSWAP32) + movl 4(%sp),%d0 +#ifdef __mcfisac__ + byterev %d0 +#elif defined(__mcoldfire__) + movl %d0,%d1 + lsrl #8,%d0 | ABCD -> 0ABC + andl #0x00ff00ff,%d0 | 0ABC -> 0A0C + andl #0x00ff00ff,%d1 | ABCD -> 0B0D + lsll #8,%d1 | 0B0D -> B0D0 + orl %d1,%d0 | 0A0C | B0D0 -> BADC + swap %d0 | BADC -> DCBA +#else + rolw #8,%d0 + swap %d0 rolw #8,%d0 +#endif rts +END(BSWAP32) diff --git a/common/lib/libc/arch/m68k/gen/bswap64.S b/common/lib/libc/arch/m68k/gen/bswap64.S index ebce236b0..2d38dd921 100644 --- a/common/lib/libc/arch/m68k/gen/bswap64.S +++ b/common/lib/libc/arch/m68k/gen/bswap64.S @@ -1,4 +1,4 @@ -/* $NetBSD: bswap64.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: bswap64.S,v 1.4 2013/07/18 22:42:50 matt Exp $ */ /* * Copyright (C) 1996 Scott Reynolds. All rights reserved. @@ -29,12 +29,36 @@ #include ENTRY(bswap64) - movl %sp@(4),%d1 - movl %sp@(8),%d0 + movl 4(%sp),%d1 + movl 8(%sp),%d0 +#ifdef __mcfisac__ + byterev %d0 + byterev %d1 +#elif defined(__mcoldfire__) + movl %d3,-(%sp) + movl %d2,-(%sp) + movl #0x00ff00ff, %d3 + movl %d0,%d2 + andl %d3,%d2 + lsll #8,%d2 + lsrl #8,%d0 + andl %d3,%d0 + orl %d2,%d0 + movl %d1,%d2 + andl %d3,%d2 + lsll #8,%d2 + lsrl #8,%d1 + andl %d3,%d1 + orl %d2,%d1 + movl (%sp)+,%d2 + movl (%sp)+,%d3 +#else rolw #8,%d1 rolw #8,%d0 swap %d1 swap %d0 rolw #8,%d0 rolw #8,%d1 +#endif rts +END(bswap64) diff --git a/common/lib/libc/arch/m68k/gen/divsi3.S b/common/lib/libc/arch/m68k/gen/divsi3.S index a49bec9fb..278c33123 100644 --- a/common/lib/libc/arch/m68k/gen/divsi3.S +++ b/common/lib/libc/arch/m68k/gen/divsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: divsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $ */ +/* $NetBSD: divsi3.S,v 1.5 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,29 +39,32 @@ #if 0 RCSID("from: @(#)divsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: divsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $") + RCSID("$NetBSD: divsi3.S,v 1.5 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* int / int */ -ENTRY(__divsi3) #ifndef __mc68010__ - movel %sp@(4),%d0 - divsl %sp@(8),%d0 +ENTRY(__divsi3) + movel 4(%sp),%d0 + divsl 8(%sp),%d0 rts +END(__divsi3) #else +ENTRY(__divsi3) | NB: this requires that __udivsi3 preserve %a0: - movel %sp@(4), %d1 | load the dividend + movel 4(%sp), %d1 | load the dividend bpl 1f - negl %sp@(4) | store abs(dividend) -1: movel %sp@(8), %d0 | load the divisor + negl 4(%sp) | store abs(dividend) +1: movel 8(%sp), %d0 | load the divisor bpl 2f - negl %sp@(8) | store abs(divisor) + negl 8(%sp) | store abs(divisor) 2: eorl %d1, %d0 bpl 3f | branch if sgn(divisor) == sgn(dividend) - movel %sp@+, %a0 | pop return address - pea %pc@(Lret) | push our return address + movel (%sp)+, %a0 | pop return address + pea (.Lret,%pc) | push our return address 3: jmp _C_LABEL(__udivsi3) -Lret: negl %d0 | negate quotient - jmp %a0@ +.Lret: negl %d0 | negate quotient + jmp (%a0) +END(__divsi3) #endif /* __mc68010__ */ diff --git a/common/lib/libc/arch/m68k/gen/modsi3.S b/common/lib/libc/arch/m68k/gen/modsi3.S index 4808e8000..4a6cb58fd 100644 --- a/common/lib/libc/arch/m68k/gen/modsi3.S +++ b/common/lib/libc/arch/m68k/gen/modsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: modsi3.S,v 1.3 2006/01/13 16:07:59 christos Exp $ */ +/* $NetBSD: modsi3.S,v 1.6 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,30 +39,33 @@ #if 0 RCSID("from: @(#)modsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: modsi3.S,v 1.3 2006/01/13 16:07:59 christos Exp $") + RCSID("$NetBSD: modsi3.S,v 1.6 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* int % int */ -ENTRY(__modsi3) #ifndef __mc68010__ - movel %sp@(4),%d1 - divsll %sp@(8),%d0:%d1 +ENTRY(__modsi3) + movel 4(%sp),%d1 + divsll 8(%sp),%d0:%d1 rts +END(__modsi3) #else +ENTRY(__modsi3) | NB: this requires that __udivsi3 preserve %a0 and return | the modulus in %d1: - movel %sp@+, %a0 | pop return address - movel %sp@(4), %d1 | load the divisor + movel (%sp)+, %a0 | pop return address + movel 4(%sp), %d1 | load the divisor bpl 1f - negl %sp@(4) | store abs(divisor) -1: movel %sp@, %d0 | load the dividend - pea %pc@(Lret) | push our return address + negl 4(%sp) | store abs(divisor) +1: movel (%sp), %d0 | load the dividend + pea (.Lret,%pc) | push our return address bpl 2f - negl %sp@(4) | store abs(dividend) - subql #2, %sp@ | adjust return address + negl 4(%sp) | store abs(dividend) + subql #2, (%sp) | adjust return address 2: jmp _C_LABEL(__udivsi3) negl %d1 | negate modulus -Lret: movl %d1, %d0 | move modulus into %d0 - jmp %a0@ +.Lret: movl %d1, %d0 | move modulus into %d0 + jmp (%a0) +END(__modsi3) #endif /* __mc68010__ */ diff --git a/common/lib/libc/arch/m68k/gen/mulsi3.S b/common/lib/libc/arch/m68k/gen/mulsi3.S index 2a34faf19..c4c739131 100644 --- a/common/lib/libc/arch/m68k/gen/mulsi3.S +++ b/common/lib/libc/arch/m68k/gen/mulsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: mulsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $ */ +/* $NetBSD: mulsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,24 +39,24 @@ #if 0 RCSID("from: @(#)mulsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: mulsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $") + RCSID("$NetBSD: mulsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* int * int */ ENTRY(__mulsi3) #ifndef __mc68010__ - movel %sp@(4),%d0 - mulsl %sp@(8),%d0 + movel 4(%sp),%d0 + mulsl 8(%sp),%d0 #else | NB: this requires that __udivsi3 preserve %a0 and return | the modulus in %d1: - movew %sp@(6), %d0 + movew 6(%sp), %d0 movel %d0, %a0 | save B - muluw %sp@(8), %d0 | %d0 holds B * C - movew %sp@(10), %d1 + muluw 8(%sp), %d0 | %d0 holds B * C + movew 10(%sp), %d1 movel %d1, %a1 | save D - muluw %sp@(4), %d1 | %d1 holds A * D + muluw 4(%sp), %d1 | %d1 holds A * D addw %d1, %d0 | %d0 holds (B * C) + (A * D) swap %d0 clrw %d0 | %d0 holds ((B * C) + (A * D)) << 16 @@ -66,3 +66,4 @@ ENTRY(__mulsi3) addl %a0, %d0 | final result #endif /* __mc68010__ */ rts +END(__mulsi3) diff --git a/common/lib/libc/arch/m68k/gen/udivsi3.S b/common/lib/libc/arch/m68k/gen/udivsi3.S index d2da961a3..b0c19a92c 100644 --- a/common/lib/libc/arch/m68k/gen/udivsi3.S +++ b/common/lib/libc/arch/m68k/gen/udivsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: udivsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $ */ +/* $NetBSD: udivsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,20 +39,22 @@ #if 0 RCSID("from: @(#)udivsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: udivsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $") + RCSID("$NetBSD: udivsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* unsigned / unsigned */ -ENTRY(__udivsi3) #ifndef __mc68010__ - movel %sp@(4),%d0 - divul %sp@(8),%d0 +ENTRY(__udivsi3) + movel 4(%sp),%d0 + divul 8(%sp),%d0 rts +END(__udivsi3) #else - movel %d2, %sp@- | save %d2 - movel %sp@(12), %d0 | load divisor - movel %sp@(8), %d1 | load dividend +ENTRY(__udivsi3) + movel %d2, -(%sp) | save %d2 + movel 12(%sp), %d0 | load divisor + movel 8(%sp), %d1 | load dividend | first, we divide the divisor and dividend by two until | the divisor fits into 16 bits: @@ -100,7 +102,7 @@ ENTRY(__udivsi3) | as in mulsi3, we have to do the multiply in stages to avoid | overflow: - movel %sp@(12), %d2 | load divisor + movel 12(%sp), %d2 | load divisor swap %d2 movel %d0, %d1 muluw %d2, %d1 | high(divisor) * low(guess) @@ -116,11 +118,12 @@ ENTRY(__udivsi3) muluw %d0, %d2 | low(guess) * low(divisor) addl %d1, %d2 | %d2 = guess * divisor - movel %sp@(8), %d1 | load original dividend + movel 8(%sp), %d1 | load original dividend subl %d2, %d1 | subtract bcc 3f subql #1, %d0 | adjust quotient addl %a1, %d1 | adjust remainder -3: movel %sp@+, %d2 | restore %d2 +3: movel (%sp)+, %d2 | restore %d2 rts +END(__udivsi3) #endif /* __mc68010__ */ diff --git a/common/lib/libc/arch/m68k/gen/umodsi3.S b/common/lib/libc/arch/m68k/gen/umodsi3.S index c07b761b6..5cb05dcc1 100644 --- a/common/lib/libc/arch/m68k/gen/umodsi3.S +++ b/common/lib/libc/arch/m68k/gen/umodsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: umodsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $ */ +/* $NetBSD: umodsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,21 +39,24 @@ #if 0 RCSID("from: @(#)umodsi3.s 5.1 (Berkeley) 6/7/90")( #else - RCSID("$NetBSD: umodsi3.S,v 1.2 2006/01/05 22:33:34 he Exp $") + RCSID("$NetBSD: umodsi3.S,v 1.4 2013/07/16 23:24:18 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* unsigned % unsigned */ -ENTRY(__umodsi3) #ifndef __mc68010__ - movel %sp@(4),%d1 - divull %sp@(8),%d0:%d1 +ENTRY(__umodsi3) + movel 4(%sp),%d1 + divull 8(%sp),%d0:%d1 rts +END(__umodsi3) #else +ENTRY(__umodsi3) | NB: this requires that __udivsi3 preserve the %a0 | register, and that it returns the modulus in %d1: - movel %sp@+, %a0 | pop the return address + movel (%sp)+, %a0 | pop the return address jsr _C_LABEL(__udivsi3) movel %d1, %d0 | move the modulus into %d0 - jmp %a0@ | return + jmp (%a0) | return +END(__umodsi3) #endif /* __mc68010__ */ diff --git a/common/lib/libc/arch/m68k/net/htonl.S b/common/lib/libc/arch/m68k/net/htonl.S index 05c7ed85e..b388f2089 100644 --- a/common/lib/libc/arch/m68k/net/htonl.S +++ b/common/lib/libc/arch/m68k/net/htonl.S @@ -1,4 +1,4 @@ -/* $NetBSD: htonl.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: htonl.S,v 1.3 2013/07/16 23:24:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,12 +39,13 @@ #if 0 RCSID("from: @(#)htonl.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: htonl.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: htonl.S,v 1.3 2013/07/16 23:24:19 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* netorder = htonl(hostorder) */ ENTRY(htonl) - movl %sp@(4),%d0 + movl 4(%sp),%d0 rts +END(htonl) diff --git a/common/lib/libc/arch/m68k/net/htons.S b/common/lib/libc/arch/m68k/net/htons.S index 306aee3c9..35aa35686 100644 --- a/common/lib/libc/arch/m68k/net/htons.S +++ b/common/lib/libc/arch/m68k/net/htons.S @@ -1,4 +1,4 @@ -/* $NetBSD: htons.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: htons.S,v 1.3 2013/07/16 23:24:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)htons.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: htons.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: htons.S,v 1.3 2013/07/16 23:24:19 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,5 +47,6 @@ ENTRY(htons) clrl %d0 - movw %sp@(6),%d0 + movw 6(%sp),%d0 rts +END(htons) diff --git a/common/lib/libc/arch/m68k/net/ntohl.S b/common/lib/libc/arch/m68k/net/ntohl.S index ed2a5fa20..e2a90dad7 100644 --- a/common/lib/libc/arch/m68k/net/ntohl.S +++ b/common/lib/libc/arch/m68k/net/ntohl.S @@ -1,4 +1,4 @@ -/* $NetBSD: ntohl.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: ntohl.S,v 1.3 2013/07/16 23:24:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,12 +39,13 @@ #if 0 RCSID("from: @(#)ntohl.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ntohl.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: ntohl.S,v 1.3 2013/07/16 23:24:19 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* hostorder = ntohl(netorder) */ ENTRY(ntohl) - movl %sp@(4),%d0 + movl 4(%sp),%d0 rts +END(ntohl) diff --git a/common/lib/libc/arch/m68k/net/ntohs.S b/common/lib/libc/arch/m68k/net/ntohs.S index 38438d67f..cd12d7c83 100644 --- a/common/lib/libc/arch/m68k/net/ntohs.S +++ b/common/lib/libc/arch/m68k/net/ntohs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ntohs.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: ntohs.S,v 1.3 2013/07/16 23:24:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)ntohs.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ntohs.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: ntohs.S,v 1.3 2013/07/16 23:24:19 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,5 +47,6 @@ ENTRY(ntohs) clrl %d0 - movw %sp@(6),%d0 + movw 6(%sp),%d0 rts +END(ntohs) diff --git a/common/lib/libc/arch/m68k/string/bcmp.S b/common/lib/libc/arch/m68k/string/bcmp.S index 80a254cbf..081a551cb 100644 --- a/common/lib/libc/arch/m68k/string/bcmp.S +++ b/common/lib/libc/arch/m68k/string/bcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: bcmp.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: bcmp.S,v 1.6 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -68,21 +68,34 @@ #if 0 RCSID("from: @(#)bcmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: bcmp.S,v 1.2 2008/04/28 20:22:52 martin Exp $") + RCSID("$NetBSD: bcmp.S,v 1.6 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ +#ifdef __mcoldfire__ +#define CMPMB(a,b) movb b,%d2; cmpb a,%d2 +#define CMPMW(a,b) movw b,%d2; cmpw a,%d2 +#define CMPML(a,b) movl b,%d2; cmpl a,%d2 +#else +#define CMPMB(a,b) cmpmb a,b +#define CMPMW(a,b) cmpmw a,b +#define CMPML(a,b) cmpml a,b +#endif + ENTRY(bcmp) - movl %sp@(4),%a0 | string 1 - movl %sp@(8),%a1 | string 2 - movl %sp@(12),%d1 | length + movl 4(%sp),%a0 | string 1 + movl 8(%sp),%a1 | string 2 + movl 12(%sp),%d1 | length +#ifdef __mcoldfire__ + movl %d2,-(%sp) | save temp +#endif /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ cmpl #8,%d1 - jlt Lbcbyte + jlt .Lbcbyte #ifdef __mc68010__ /* @@ -93,75 +106,91 @@ ENTRY(bcmp) movl %a0,%d0 addl %a1,%d0 btst #0,%d0 - jne Lbcbyte + jne .Lbcbyte #endif /* __mc68010__ */ /* word align */ movl %a0,%d0 btst #0,%d0 - jeq Lbcalgndw - cmpmb %a0@+,%a1@+ - jne Lbcnoteq + jeq .Lbcalgndw + CMPMB((%a0)+,(%a1)+) + jne .Lbcnoteq subql #1,%d1 -Lbcalgndw: +.Lbcalgndw: /* long word align */ btst #1,%d0 - jeq Lbcalgndl - cmpmw %a0@+,%a1@+ - jne Lbcnoteq + jeq .Lbcalgndl + CMPMW((%a0)+,(%a1)+) + jne .Lbcnoteq subql #2,%d1 -Lbcalgndl: +.Lbcalgndl: /* compare by 8 longwords */ movl %d1,%d0 lsrl #5,%d0 | cnt = len / 32 - jeq Lbclong | if (cnt) + jeq .Lbclong | if (cnt) andl #31,%d1 | len %= 32 subql #1,%d0 | set up for dbf -Lbc32loop: - cmpml %a0@+,%a1@+ | compare 8 longwords - jne Lbcnoteq | not equal, return non-zero - cmpml %a0@+,%a1@+ - jne Lbcnoteq - cmpml %a0@+,%a1@+ - jne Lbcnoteq - cmpml %a0@+,%a1@+ - jne Lbcnoteq - cmpml %a0@+,%a1@+ - jne Lbcnoteq - cmpml %a0@+,%a1@+ - jne Lbcnoteq - cmpml %a0@+,%a1@+ - jne Lbcnoteq - cmpml %a0@+,%a1@+ - jne Lbcnoteq - dbf %d0,Lbc32loop | till done +.Lbc32loop: + CMPML((%a0)+,(%a1)+) | compare 1 of 8 longwords + jne .Lbcnoteq | not equal, return non-zero + CMPML((%a0)+,(%a1)+) | compare 2 of 8 longwords + jne .Lbcnoteq + CMPML((%a0)+,(%a1)+) | compare 3 of 8 longwords + jne .Lbcnoteq + CMPML((%a0)+,(%a1)+) | compare 4 of 8 longwords + jne .Lbcnoteq + CMPML((%a0)+,(%a1)+) | compare 5 of 8 longwords + jne .Lbcnoteq + CMPML((%a0)+,(%a1)+) | compare 6 of 8 longwords + jne .Lbcnoteq + CMPML((%a0)+,(%a1)+) | compare 7 of 8 longwords + jne .Lbcnoteq + CMPML((%a0)+,(%a1)+) | compare 8 of 8 longwords + jne .Lbcnoteq +#ifndef __mcoldfire__ + dbf %d0,.Lbc32loop | till done clrw %d0 +#endif subql #1,%d0 - jcc Lbc32loop + jcc .Lbc32loop -Lbclong: +.Lbclong: /* compare by longwords */ movl %d1,%d0 lsrl #2,%d0 | cnt = len / 4 - jeq Lbcbyte | if (cnt) + jeq .Lbcbyte | if (cnt) subql #1,%d0 | set up for dbf -Lbclloop: - cmpml %a0@+,%a1@+ | compare a longword - jne Lbcnoteq | not equal, return non-zero - dbf %d0,Lbclloop | till done +.Lbclloop: + CMPML((%a0)+,(%a1)+) | compare a longword + jne .Lbcnoteq | not equal, return non-zero +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbclloop | till done +#else + dbf %d0,.Lbclloop | till done +#endif andl #3,%d1 | len %= 4 - jeq Lbcdone + jeq .Lbcdone subql #1,%d1 | set up for dbf -Lbcbloop: - cmpmb %a0@+,%a1@+ | compare a byte - jne Lbcnoteq | not equal, return non-zero -Lbcbyte: - dbf %d1,Lbcbloop -Lbcdone: +.Lbcbloop: + CMPMB((%a0)+,(%a1)+) | compare a byte + jne .Lbcnoteq | not equal, return non-zero +.Lbcbyte: +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbcbloop | till done +#else + dbf %d1,.Lbcbloop +#endif +.Lbcdone: +#ifdef __mcoldfire__ + movl (%sp)+,%d2 | restore temp +#endif movql #0,%d0 rts -Lbcnoteq: +.Lbcnoteq: movql #1,%d0 rts +END(bcmp) diff --git a/common/lib/libc/arch/m68k/string/bcopy.S b/common/lib/libc/arch/m68k/string/bcopy.S index 308294894..2775ac4c9 100644 --- a/common/lib/libc/arch/m68k/string/bcopy.S +++ b/common/lib/libc/arch/m68k/string/bcopy.S @@ -1,4 +1,4 @@ -/* $NetBSD: bcopy.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: bcopy.S,v 1.6 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -68,38 +68,38 @@ #if 0 RCSID("from: @(#)bcopy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: bcopy.S,v 1.2 2008/04/28 20:22:52 martin Exp $") + RCSID("$NetBSD: bcopy.S,v 1.6 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ #ifdef MEMCOPY -ENTRY(memcpy) +#define XCOPY memcpy +#elif defined(MEMMOVE) +#define XCOPY memmove #else -#ifdef MEMMOVE -ENTRY(memmove) -#else -ENTRY(bcopy) -#endif +#define XCOPY bcopy #endif + +ENTRY(XCOPY) #if defined(MEMCOPY) || defined(MEMMOVE) - movl %sp@(4),%a1 | dest address - movl %sp@(8),%a0 | src address + movl 4(%sp),%a1 | dest address + movl 8(%sp),%a0 | src address #else - movl %sp@(4),%a0 | src address - movl %sp@(8),%a1 | dest address + movl 4(%sp),%a0 | src address + movl 8(%sp),%a1 | dest address #endif - movl %sp@(12),%d1 | count + movl 12(%sp),%d1 | count cmpl %a1,%a0 | src after dest? - jlt Lbcback | yes, must copy backwards + jlt .Lbcback | yes, must copy backwards /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ cmpl #8,%d1 - jlt Lbcfbyte + jlt .Lbcfbyte #ifdef __mc68010__ /* @@ -110,62 +110,74 @@ ENTRY(bcopy) movl %a0,%d0 addl %a1,%d0 btst #0,%d0 - jne Lbcfbyte + jne .Lbcfbyte #endif /* __mc68010__ */ /* word align */ movl %a1,%d0 btst #0,%d0 | if (dst & 1) - jeq Lbcfalgndw | - movb %a0@+,%a1@+ | *(char *)dst++ = *(char *) src++ + jeq .Lbcfalgndw | + movb (%a0)+,(%a1)+ | *(char *)dst++ = *(char *) src++ subql #1,%d1 | len-- -Lbcfalgndw: +.Lbcfalgndw: /* long word align */ btst #1,%d0 | if (dst & 2) - jeq Lbcfalgndl - movw %a0@+,%a1@+ | *(short *)dst++ = *(short *) dst++ + jeq .Lbcfalgndl + movw (%a0)+,(%a1)+ | *(short *)dst++ = *(short *) dst++ subql #2,%d1 | len -= 2 -Lbcfalgndl: +.Lbcfalgndl: /* copy by 8 longwords */ movel %d1,%d0 lsrl #5,%d0 | cnt = len / 32 - jeq Lbcflong | if (cnt) + jeq .Lbcflong | if (cnt) andl #31,%d1 | len %= 32 subql #1,%d0 | set up for dbf -Lbcf32loop: - movl %a0@+,%a1@+ | copy 8 long words - movl %a0@+,%a1@+ - movl %a0@+,%a1@+ - movl %a0@+,%a1@+ - movl %a0@+,%a1@+ - movl %a0@+,%a1@+ - movl %a0@+,%a1@+ - movl %a0@+,%a1@+ - dbf %d0,Lbcf32loop | till done +.Lbcf32loop: + movl (%a0)+,(%a1)+ | copy 8 long words + movl (%a0)+,(%a1)+ + movl (%a0)+,(%a1)+ + movl (%a0)+,(%a1)+ + movl (%a0)+,(%a1)+ + movl (%a0)+,(%a1)+ + movl (%a0)+,(%a1)+ + movl (%a0)+,(%a1)+ +#ifndef __mcoldfire__ + dbf %d0,.Lbcf32loop | till done clrw %d0 +#endif subql #1,%d0 - jcc Lbcf32loop + jcc .Lbcf32loop -Lbcflong: +.Lbcflong: /* copy by longwords */ movel %d1,%d0 lsrl #2,%d0 | cnt = len / 4 - jeq Lbcfbyte | if (cnt) + jeq .Lbcfbyte | if (cnt) subql #1,%d0 | set up for dbf -Lbcflloop: - movl %a0@+,%a1@+ | copy longwords - dbf %d0,Lbcflloop | til done +.Lbcflloop: + movl (%a0)+,(%a1)+ | copy longwords +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbcflloop | til done +#else + dbf %d0,.Lbcflloop | til done +#endif andl #3,%d1 | len %= 4 - jeq Lbcdone + jeq .Lbcdone subql #1,%d1 | set up for dbf -Lbcfbloop: - movb %a0@+,%a1@+ | copy bytes -Lbcfbyte: - dbf %d1,Lbcfbloop | till done -Lbcdone: +.Lbcfbloop: + movb (%a0)+,(%a1)+ | copy bytes +.Lbcfbyte: +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbcfbloop | til done +#else + dbf %d1,.Lbcfbloop | till done +#endif +.Lbcdone: #if defined(MEMCOPY) || defined(MEMMOVE) - movl %sp@(4),%d0 | dest address + movl 4(%sp),%d0 | dest address #if defined(__SVR4_ABI__) moveal %d0,%a0 #endif @@ -173,7 +185,7 @@ Lbcdone: rts -Lbcback: +.Lbcback: addl %d1,%a0 | src pointer to end addl %d1,%a1 | dest pointer to end @@ -182,7 +194,7 @@ Lbcback: * if the string is too short. */ cmpl #8,%d1 - jlt Lbcbbyte + jlt .Lbcbbyte #ifdef __mc68010__ /* @@ -193,64 +205,77 @@ Lbcback: movl %a0,%d0 addl %a1,%d0 btst #0,%d0 - jne Lbcbbyte + jne .Lbcbbyte #endif /* __mc68010__ */ /* word align */ movl %a1,%d0 btst #0,%d0 | if (dst & 1) - jeq Lbcbalgndw | - movb %a0@-,%a1@- | *(char *)dst-- = *(char *) src-- + jeq .Lbcbalgndw | + movb -(%a0),-(%a1) | *(char *)dst-- = *(char *) src-- subql #1,%d1 | len-- -Lbcbalgndw: +.Lbcbalgndw: /* long word align */ btst #1,%d0 | if (dst & 2) - jeq Lbcbalgndl - movw %a0@-,%a1@- | *(short *)dst-- = *(short *) dst-- + jeq .Lbcbalgndl + movw -(%a0),-(%a1) | *(short *)dst-- = *(short *) dst-- subql #2,%d1 | len -= 2 -Lbcbalgndl: +.Lbcbalgndl: /* copy by 8 longwords */ movel %d1,%d0 lsrl #5,%d0 | cnt = len / 32 - jeq Lbcblong | if (cnt) + jeq .Lbcblong | if (cnt) andl #31,%d1 | len %= 32 subql #1,%d0 | set up for dbf -Lbcb32loop: - movl %a0@-,%a1@- | copy 8 long words - movl %a0@-,%a1@- - movl %a0@-,%a1@- - movl %a0@-,%a1@- - movl %a0@-,%a1@- - movl %a0@-,%a1@- - movl %a0@-,%a1@- - movl %a0@-,%a1@- - dbf %d0,Lbcb32loop | till done +.Lbcb32loop: + movl -(%a0),-(%a1) | copy 8 long words + movl -(%a0),-(%a1) + movl -(%a0),-(%a1) + movl -(%a0),-(%a1) + movl -(%a0),-(%a1) + movl -(%a0),-(%a1) + movl -(%a0),-(%a1) + movl -(%a0),-(%a1) +#ifndef __mcoldfire__ + dbf %d0,.Lbcb32loop | till done clrw %d0 +#endif subql #1,%d0 - jcc Lbcb32loop + jcc .Lbcb32loop -Lbcblong: +.Lbcblong: /* copy by longwords */ movel %d1,%d0 lsrl #2,%d0 | cnt = len / 4 - jeq Lbcbbyte | if (cnt) + jeq .Lbcbbyte | if (cnt) subql #1,%d0 | set up for dbf -Lbcblloop: - movl %a0@-,%a1@- | copy longwords - dbf %d0,Lbcblloop | til done +.Lbcblloop: + movl -(%a0),-(%a1) | copy longwords +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbcblloop | til done +#else + dbf %d0,.Lbcblloop | til done +#endif andl #3,%d1 | len %= 4 - jeq Lbcdone + jeq .Lbcdone subql #1,%d1 | set up for dbf -Lbcbbloop: - movb %a0@-,%a1@- | copy bytes -Lbcbbyte: - dbf %d1,Lbcbbloop | till done +.Lbcbbloop: + movb -(%a0),-(%a1) | copy bytes +.Lbcbbyte: +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbcbbloop | til done +#else + dbf %d1,.Lbcbbloop | till done +#endif #if defined(MEMCOPY) || defined(MEMMOVE) - movl %sp@(4),%d0 | dest address + movl 4(%sp),%d0 | dest address #if defined(__SVR4_ABI__) moveal %d0,%a0 #endif #endif rts +END(XCOPY) diff --git a/common/lib/libc/arch/m68k/string/bzero.S b/common/lib/libc/arch/m68k/string/bzero.S index 4d04ddfd1..0228eabf3 100644 --- a/common/lib/libc/arch/m68k/string/bzero.S +++ b/common/lib/libc/arch/m68k/string/bzero.S @@ -1,4 +1,4 @@ -/* $NetBSD: bzero.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: bzero.S,v 1.6 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -68,74 +68,87 @@ #if 0 RCSID("from: @(#)bzero.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: bzero.S,v 1.2 2008/04/28 20:22:52 martin Exp $") + RCSID("$NetBSD: bzero.S,v 1.6 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(bzero) - movl %d2,%sp@- - movl %sp@(8),%a0 | destination - movl %sp@(12),%d1 | count + movl %d2,-(%sp) + movl 8(%sp),%a0 | destination + movl 12(%sp),%d1 | count - movql #0,%d2 + clrl %d2 /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ cmpl #8,%d1 - jlt Lbzbyte + jlt .Lbzbyte /* word align */ movl %a0,%d0 btst #0,%d0 | if (dst & 1) - jeq Lbzalgndw | - movb %d2,%a0@+ | *(char *)dst++ = 0 + jeq .Lbzalgndw | + movb %d2,(%a0)+ | *(char *)dst++ = 0 subql #1,%d1 | len-- -Lbzalgndw: +.Lbzalgndw: /* long word align */ btst #1,%d0 | if (dst & 2) - jeq Lbzalgndl | - movw %d2,%a0@+ | *(short *)dst++ = 0 + jeq .Lbzalgndl | + movw %d2,(%a0)+ | *(short *)dst++ = 0 subql #2,%d1 | len -= 2 -Lbzalgndl: +.Lbzalgndl: /* zero by 8 longwords */ movel %d1,%d0 lsrl #5,%d0 | cnt = len / 32 - jeq Lbzlong | if (cnt) + jeq .Lbzlong | if (cnt) andl #31,%d1 | len %= 32 subql #1,%d0 | set up for dbf -Lbz32loop: - movl %d2,%a0@+ | zero 8 long words - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - dbf %d0,Lbz32loop | till done +.Lbz32loop: + movl %d2,(%a0)+ | zero 8 long words + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ +#ifndef __mcoldfire__ + dbf %d0,.Lbz32loop | till done clrw %d0 +#endif subql #1,%d0 - jcc Lbz32loop + jcc .Lbz32loop -Lbzlong: +.Lbzlong: /* copy by longwords */ movel %d1,%d0 lsrl #2,%d0 | cnt = len / 4 - jeq Lbzbyte | if (cnt) + jeq .Lbzbyte | if (cnt) subql #1,%d0 | set up for dbf -Lbzlloop: - movl %d2,%a0@+ | clear longwords - dbf %d0,Lbzlloop | till done +.Lbzlloop: + movl %d2,(%a0)+ | clear longwords +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbzlloop | till done +#else + dbf %d0,.Lbzlloop | till done +#endif andl #3,%d1 | len %= 4 - jeq Lbzdone + jeq .Lbzdone subql #1,%d1 | set up for dbf -Lbzbloop: - movb %d2,%a0@+ | zero bytes -Lbzbyte: - dbf %d1,Lbzbloop | till done -Lbzdone: - movl %sp@+,%d2 +.Lbzbloop: + movb %d2,(%a0)+ | zero bytes +.Lbzbyte: +#ifdef __mcoldfire__ + subql #1,%d0 | decrement + jcc .Lbzbloop | till done +#else + dbf %d1,.Lbzbloop | till done +#endif +.Lbzdone: + movl (%sp)+,%d2 rts +END(bzero) diff --git a/common/lib/libc/arch/m68k/string/ffs.S b/common/lib/libc/arch/m68k/string/ffs.S index ead152e71..2fc4347b2 100644 --- a/common/lib/libc/arch/m68k/string/ffs.S +++ b/common/lib/libc/arch/m68k/string/ffs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.2 2011/07/09 14:57:29 mrg Exp $ */ +/* $NetBSD: ffs.S,v 1.6 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)ffs.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ffs.S,v 1.2 2011/07/09 14:57:29 mrg Exp $") + RCSID("$NetBSD: ffs.S,v 1.6 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,30 +47,49 @@ WEAK_ALIAS(__ffssi2,ffs) -#ifndef __mc68010__ +#if (!defined(__mc68010__) && !defined(__mcoldfire__)) || defined(__mcfisac__) ENTRY(ffs) - movl %sp@(4),%d0 + movl 4(%sp),%d0 movl %d0,%d1 negl %d0 andl %d0,%d1 movql #32,%d0 +#if defined(__mcfisac__) + ff1.l %d1 | count leading zeros +#else bfffo %d1{#0:#32},%d1 +#endif subl %d1,%d0 rts +END(ffs) + +#elif defined(__mcoldfire__) + +ENTRY(ffs) + clrl %d0 + movl 4(%sp),%d1 + jeq .L2 | return 0 if 0 +.L1: + addql #1,%d0 + lsrl #1,%d1 | shift low bit into carry + jcc .L1 | keep looping while carry is clear. +.L2: + rts #else /* __mc68010__ */ ENTRY(ffs) - movl %sp@(4),%d0 - jeq L2 + movl 4(%sp),%d0 + jeq .L2 movql #31,%d1 -L1: +.L1: lsrl #1,%d0 - dbcs %d1,L1 + dbcs %d1,.L1 movql #32,%d0 subl %d1,%d0 -L2: +.L2: rts +END(ffs) #endif /* __mc68010__ */ diff --git a/common/lib/libc/arch/m68k/string/memcmp.S b/common/lib/libc/arch/m68k/string/memcmp.S index 760a1ffe9..f6d17b1c7 100644 --- a/common/lib/libc/arch/m68k/string/memcmp.S +++ b/common/lib/libc/arch/m68k/string/memcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: memcmp.S,v 1.5 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,12 +39,22 @@ #if 0 RCSID("from: @(#)bcmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: memcmp.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: memcmp.S,v 1.5 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* memcmp(s1, s2, n) */ +#ifdef __mcoldfire__ +#define CMPMB(a,b) movb b,%d2; cmpb a,%d2 +#define CMPMW(a,b) movw b,%d2; cmpw a,%d2 +#define CMPML(a,b) movl b,%d2; cmpl a,%d2 +#else +#define CMPMB(a,b) cmpmb a,b +#define CMPMW(a,b) cmpmw a,b +#define CMPML(a,b) cmpml a,b +#endif + /* * This is probably not the best we can do, but it is still 2-10 times * faster than the C version in the portable gen directory. @@ -54,47 +64,54 @@ * - use nested DBcc instructions or use one and limit size to 64K */ ENTRY(memcmp) - movl %sp@(4),%a0 | string 1 - movl %sp@(8),%a1 | string 2 - movl %sp@(12),%d0 | length - jeq bcdone | if zero, nothing to do + movl 4(%sp),%a0 | string 1 + movl 8(%sp),%a1 | string 2 + movl 12(%sp),%d0 | length +#ifdef __mcoldfire__ + movl %d2,-(%sp) | save temp +#endif + jeq .Lbcdone | if zero, nothing to do movl %a0,%d1 btst #0,%d1 | string 1 address odd? - jeq bceven | no, skip alignment - cmpmb %a0@+,%a1@+ | yes, compare a byte - jne bcnoteq | not equal, return non-zero + jeq .Lbceven | no, skip alignment + CMPMB((%a0)+,(%a1)+) | yes, compare a byte + jne .Lbcnoteq | not equal, return non-zero subql #1,%d0 | adjust count - jeq bcdone | count 0, reutrn zero -bceven: + jeq .Lbcdone | count 0, reutrn zero +.Lbceven: movl %a1,%d1 btst #0,%d1 | string 2 address odd? - jne bcbloop | yes, no hope for alignment, compare bytes + jne .Lbcbloop | yes, no hope for alignment, compare bytes movl %d0,%d1 | no, both even lsrl #2,%d1 | convert count to longword count - jeq bcbloop | count 0, skip longword loop -bclloop: - cmpml %a0@+,%a1@+ | compare a longword - jne bcnoteql | not equal, return non-zero + jeq .Lbcbloop | count 0, skip longword loop +.Lbclloop: + CMPML((%a0)+,(%a1)+) | compare a longword + jne .Lbcnoteql | not equal, return non-zero subql #1,%d1 | adjust count - jne bclloop | still more, keep comparing + jne .Lbclloop | still more, keep comparing andl #3,%d0 | what remains - jeq bcdone | nothing, all done -bcbloop: - cmpmb %a0@+,%a1@+ | compare a byte - jne bcnoteq | not equal, return non-zero + jeq .Lbcdone | nothing, all done +.Lbcbloop: + CMPMB((%a0)+,(%a1)+) | compare a byte + jne .Lbcnoteq | not equal, return non-zero subql #1,%d0 | adjust count - jne bcbloop | still more, keep going + jne .Lbcbloop | still more, keep going rts -bcnoteql: +.Lbcnoteql: subql #4,%a0 subql #4,%a1 movl #4,%d0 - jra bcbloop -bcnoteq: + jra .Lbcbloop +.Lbcnoteq: clrl %d0 clrl %d1 - movb %a0@-,%d0 - movb %a1@-,%d1 + movb -(%a0),%d0 + movb -(%a1),%d1 subl %d1,%d0 -bcdone: +.Lbcdone: +#ifdef __mcoldfire__ + movl (%sp)+,%sp | restore temp +#endif rts +END(memcmp) diff --git a/common/lib/libc/arch/m68k/string/memset.S b/common/lib/libc/arch/m68k/string/memset.S index ff5d5b8f6..d8dbecab1 100644 --- a/common/lib/libc/arch/m68k/string/memset.S +++ b/common/lib/libc/arch/m68k/string/memset.S @@ -1,4 +1,4 @@ -/* $NetBSD: memset.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: memset.S,v 1.7 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -68,95 +68,107 @@ #if 0 RCSID("from: @(#)bzero.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: memset.S,v 1.2 2008/04/28 20:22:52 martin Exp $") + RCSID("$NetBSD: memset.S,v 1.7 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(memset) - movl %d2,%sp@- - movl %sp@(8),%a0 | destination - movl %sp@(16),%d1 | count - movb %sp@(15),%d2 | character + movl %d2,-(%sp) + movl 8(%sp),%a0 | destination + movl 16(%sp),%d1 | count + movb 15(%sp),%d2 | get fill character /* * It isn't worth the overhead of aligning to {long}word boundries * if the string is too short. */ cmpl #15,%d1 - jlt Lbzbyte + jlt .Lbzbyte - clrl %d0 | replicate byte to fill longword - movb %d2,%d0 - movl %d0,%d2 - lsll #8,%d0 - orl %d0,%d2 - lsll #8,%d0 - orl %d0,%d2 + clrl %d0 + moveb %d2,%d0 + movel %d0,%d2 lsll #8,%d0 orl %d0,%d2 + lsll #8,%d0 + orl %d0,%d2 + lsll #8,%d0 + orl %d0,%d2 /* word align */ movl %a0,%d0 btst #0,%d0 | if (dst & 1) - jeq Lbzalgndw | - movb %d2,%a0@+ | *(char *)dst++ = X + jeq .Lbzalgndw | + movb %d2,(%a0)+ | *(char *)dst++ = X subql #1,%d1 | len-- addql #1,%d0 -Lbzalgndw: +.Lbzalgndw: #ifndef __mc68010__ /* long word align */ btst #1,%d0 | if (dst & 2) - jeq Lbzalgndl | - movw %d2,%a0@+ | *(short *)dst++ = X + jeq .Lbzalgndl | + movw %d2,(%a0)+ | *(short *)dst++ = X subql #2,%d1 | len -= 2 -Lbzalgndl: +.Lbzalgndl: /* set by 8 longwords */ movel %d1,%d0 lsrl #5,%d0 | cnt = len / 32 - jeq Lbzlong | if (cnt) + jeq .Lbzlong | if (cnt) andl #31,%d1 | len %= 32 subql #1,%d0 | set up for dbf -Lbz32loop: - movl %d2,%a0@+ | set 8 long words - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - movl %d2,%a0@+ - dbf %d0,Lbz32loop | till done +.Lbz32loop: + movl %d2,(%a0)+ | set 8 long words + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ + movl %d2,(%a0)+ +#ifndef __mcoldfire__ + dbf %d0,.Lbz32loop | till done clrw %d0 +#endif subql #1,%d0 - jcc Lbz32loop + jcc .Lbz32loop #endif /* !__mc68010__ */ -Lbzlong: +.Lbzlong: /* set by longwords */ movel %d1,%d0 lsrl #2,%d0 | cnt = len / 4 - jeq Lbzbyte | if (cnt) + jeq .Lbzbyte | if (cnt) subql #1,%d0 | set up for dbf -Lbzlloop: - movl %d2,%a0@+ | clear longwords - dbf %d0,Lbzlloop | till done +.Lbzlloop: + movl %d2,(%a0)+ | clear longwords +#ifndef __mcoldfire__ + dbf %d0,.Lbzlloop | till done +#endif #ifdef __mc68010__ clrw %d0 - subql #1,%d0 - jcc Lbzlloop #endif /* __mc68010__ */ +#if defined(__m68010) || defined(__mcoldfire__) + subql #1,%d0 + jcc .Lbzlloop +#endif /* __mc68010__ || __mcoldfire__ */ andl #3,%d1 | len %= 4 - jeq Lbzdone + jeq .Lbzdone subql #1,%d1 | set up for dbf -Lbzbloop: - movb %d2,%a0@+ | set bytes -Lbzbyte: - dbf %d1,Lbzbloop | till done -Lbzdone: - movl %sp@(8),%d0 | return destination +.Lbzbloop: + movb %d2,(%a0)+ | set bytes +.Lbzbyte: +#ifdef __mcoldfire__ + subql #1,%d1 | decrement + jcc .Lbzbloop | till done +#else + dbf %d1,.Lbzbloop | till done +#endif +.Lbzdone: + movl 8(%sp),%d0 | return destination #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif - movl %sp@+,%d2 + movl (%sp)+,%d2 rts +END(memset) diff --git a/common/lib/libc/arch/m68k/string/strcat.S b/common/lib/libc/arch/m68k/string/strcat.S index 0f144d178..53678c7d9 100644 --- a/common/lib/libc/arch/m68k/string/strcat.S +++ b/common/lib/libc/arch/m68k/string/strcat.S @@ -1,4 +1,4 @@ -/* $NetBSD: strcat.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strcat.S,v 1.4 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,22 +39,23 @@ #if 0 RCSID("from: @(#)strcpy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strcat.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: strcat.S,v 1.4 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strcat) - movl %sp@(8),%a0 | a0 = fromaddr - movl %sp@(4),%d0 | return value is toaddr + movl 8(%sp),%a0 | a0 = fromaddr + movl 4(%sp),%d0 | return value is toaddr movl %d0,%a1 | a1 = toaddr -Lslloop: - tstb %a1@+ | null? - jne Lslloop | no, keep going +.Lslloop: + tstb (%a1)+ | null? + jne .Lslloop | no, keep going subql #1,%a1 -Lscloop: - movb %a0@+,%a1@+ | copy a byte - jne Lscloop | copied non-null, keep going +.Lscloop: + movb (%a0)+,(%a1)+ | copy a byte + jne .Lscloop | copied non-null, keep going #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif rts +END(strcat) diff --git a/common/lib/libc/arch/m68k/string/strchr.S b/common/lib/libc/arch/m68k/string/strchr.S index 10412c527..b27ead865 100644 --- a/common/lib/libc/arch/m68k/string/strchr.S +++ b/common/lib/libc/arch/m68k/string/strchr.S @@ -1,4 +1,4 @@ -/* $NetBSD: strchr.S,v 1.2 2009/07/17 19:37:57 dsl Exp $ */ +/* $NetBSD: strchr.S,v 1.4 2013/07/16 23:24:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,17 @@ #if 0 RCSID("from: @(#)index.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strchr.S,v 1.2 2009/07/17 19:37:57 dsl Exp $") + RCSID("$NetBSD: strchr.S,v 1.4 2013/07/16 23:24:19 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strchr) - movl %sp@(4),%a0 | string - movb %sp@(11),%d0 | char to look for + movl 4(%sp),%a0 | string + movb 11(%sp),%d0 | char to look for ixloop: - cmpb %a0@,%d0 | found our char? + cmpb (%a0),%d0 | found our char? jeq ixfound | yes, break out - tstb %a0@+ | null? + tstb (%a0)+ | null? jne ixloop | no, keep going moveq #0,%d0 | not found, return null #ifdef __SVR4_ABI__ @@ -59,5 +59,6 @@ ixloop: ixfound: movl %a0,%d0 | found, return pointer rts +END(strchr) STRONG_ALIAS(index,strchr) diff --git a/common/lib/libc/arch/m68k/string/strcmp.S b/common/lib/libc/arch/m68k/string/strcmp.S index 04bdbfc43..8f438abc8 100644 --- a/common/lib/libc/arch/m68k/string/strcmp.S +++ b/common/lib/libc/arch/m68k/string/strcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: strcmp.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: strcmp.S,v 1.7 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -33,39 +33,53 @@ #include #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: strcmp.S,v 1.2 2008/04/28 20:22:52 martin Exp $") + RCSID("$NetBSD: strcmp.S,v 1.7 2013/09/07 19:06:29 chs Exp $") #endif /* LIBC_SCCS and not lint */ +#ifdef __mcoldfire__ +#define GETC(a,b) mvsb a,b +#define SUBC(a,b) mvsb a,%d0; subl %d0,b +#else +#define GETC(a,b) movb a,b +#define SUBC(a,b) subb a,b +#endif + ENTRY(strcmp) - movl %sp@(4),%a0 - movl %sp@(8),%a1 -L1: /* unrolled by 4 for 680[23]0's */ - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + movl 4(%sp),%a0 + movl 8(%sp),%a1 +.L1: /* unrolled by 4 for 680[23]0's */ + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jeq L1 + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jeq .L1 -L3: scs %d0 +.L3: +#ifdef __mcoldfire__ + movl %d1,%d0 +#else + scs %d0 EXTBL(%d0) movb %d1,%d0 +#endif rts -L2: movq #0,%d0 - movb %a1@,%d0 +.L2: movq #0,%d0 + movb (%a1),%d0 negl %d0 rts +END(strcmp) diff --git a/common/lib/libc/arch/m68k/string/strcpy.S b/common/lib/libc/arch/m68k/string/strcpy.S index 2aa681fb6..572e18833 100644 --- a/common/lib/libc/arch/m68k/string/strcpy.S +++ b/common/lib/libc/arch/m68k/string/strcpy.S @@ -1,4 +1,4 @@ -/* $NetBSD: strcpy.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strcpy.S,v 1.4 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,18 +39,19 @@ #if 0 RCSID("from: @(#)strcpy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strcpy.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: strcpy.S,v 1.4 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strcpy) - movl %sp@(8),%a0 | a0 = fromaddr - movl %sp@(4),%d0 | return value is toaddr + movl 8(%sp),%a0 | a0 = fromaddr + movl 4(%sp),%d0 | return value is toaddr movl %d0,%a1 | a1 = toaddr -Lscloop: - movb %a0@+,%a1@+ | copy a byte - jne Lscloop | copied non-null, keep going +.Lscloop: + movb (%a0)+,(%a1)+ | copy a byte + jne .Lscloop | copied non-null, keep going #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif rts +END(strcpy) diff --git a/common/lib/libc/arch/m68k/string/strlen.S b/common/lib/libc/arch/m68k/string/strlen.S index 9a9a5894c..b6b9c8ef3 100644 --- a/common/lib/libc/arch/m68k/string/strlen.S +++ b/common/lib/libc/arch/m68k/string/strlen.S @@ -1,4 +1,4 @@ -/* $NetBSD: strlen.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strlen.S,v 1.4 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,16 +39,17 @@ #if 0 RCSID("from: @(#)strlen.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strlen.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: strlen.S,v 1.4 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strlen) - movl %sp@(4),%a0 | string + movl 4(%sp),%a0 | string movl %a0,%d0 notl %d0 -Lslloop: - tstb %a0@+ | null? - jne Lslloop | no, keep going +.Lslloop: + tstb (%a0)+ | null? + jne .Lslloop | no, keep going addl %a0,%d0 rts +END(strlen) diff --git a/common/lib/libc/arch/m68k/string/strncmp.S b/common/lib/libc/arch/m68k/string/strncmp.S index 7bee4c6a6..9faad4522 100644 --- a/common/lib/libc/arch/m68k/string/strncmp.S +++ b/common/lib/libc/arch/m68k/string/strncmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: strncmp.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: strncmp.S,v 1.7 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -33,46 +33,68 @@ #include #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: strncmp.S,v 1.2 2008/04/28 20:22:52 martin Exp $") + RCSID("$NetBSD: strncmp.S,v 1.7 2013/09/07 19:06:29 chs Exp $") #endif /* LIBC_SCCS and not lint */ + +#ifdef __mcoldfire__ +#define GETC(a,b) mvsb a,b +#define SUBC(a,b) mvsb a,%d2; subl %d2,b +#else +#define GETC(a,b) movb a,b +#define SUBC(a,b) subb a,b +#endif + ENTRY(strncmp) - movl %sp@(12),%d0 - jeq L4 - movl %sp@(4),%a0 - movl %sp@(8),%a1 -L1: /* unroll by 4 for m680[23]0's */ - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + movl 12(%sp),%d0 + jeq .L4 + movl 4(%sp),%a0 + movl 8(%sp),%a1 +#ifdef __coldfire__ + movl %d2,-(%sp) | save temp +#endif +.L1: /* unroll by 4 for m680[23]0's */ + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 subql #1,%d0 - jeq L4 + jeq .L4 - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 subql #1,%d0 - jeq L4 + jeq .L4 - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 subql #1,%d0 - jeq L4 + jeq .L4 - movb %a0@+,%d1 - jeq L2 - subb %a1@+,%d1 - jne L3 + GETC((%a0)+,%d1) + jeq .L2 + SUBC((%a1)+,%d1) + jne .L3 subql #1,%d0 - jne L1 -L4: rts + jne .L1 +#ifdef __mcoldfire__ + movl (%sp)+,%d2 | restore temp +#endif +.L4: rts -L2: subb %a1@,%d1 -L3: scs %d0 +.L2: SUBC((%a1),%d1) +.L3: +#ifdef __mcoldfire__ + movl (%sp)+,%d2 | restore temp + movl %d1,%d0 +#else + scs %d0 EXTBL(%d0) - movb %d1,%d0 + moveb %d1,%d0 +#endif rts +END(strncmp) diff --git a/common/lib/libc/arch/m68k/string/strncpy.S b/common/lib/libc/arch/m68k/string/strncpy.S index d08c95b7f..eac819f87 100644 --- a/common/lib/libc/arch/m68k/string/strncpy.S +++ b/common/lib/libc/arch/m68k/string/strncpy.S @@ -1,4 +1,4 @@ -/* $NetBSD: strncpy.S,v 1.1 2005/12/20 19:28:49 christos Exp $ */ +/* $NetBSD: strncpy.S,v 1.5 2013/09/07 19:06:29 chs Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,35 +39,42 @@ #if 0 RCSID("from: @(#)strncpy.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strncpy.S,v 1.1 2005/12/20 19:28:49 christos Exp $") + RCSID("$NetBSD: strncpy.S,v 1.5 2013/09/07 19:06:29 chs Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strncpy) - movl %sp@(4),%d0 | return value is toaddr - movl %sp@(12),%d1 | count - jeq Lscdone | nothing to do - movl %sp@(8),%a0 | a0 = fromaddr + movl 4(%sp),%d0 | return value is toaddr + movl 12(%sp),%d1 | count + jeq .Lscdone | nothing to do + movl 8(%sp),%a0 | a0 = fromaddr movl %d0,%a1 | a1 = toaddr subql #1,%d1 -Lscloop: - movb %a0@+,%a1@+ | copy a byte - dbeq %d1,Lscloop | loop through low word of d1 - jeq Lscpadding | copied null, padding if necessary +.Lscloop: + movb (%a0)+,(%a1)+ | copy a byte +#ifndef __mcoldfire__ + dbeq %d1,.Lscloop | loop through low word of d1 +#endif + jeq .Lscpadding | copied null, padding if necessary +#ifndef __mcoldfire__ clrw %d1 | clear low word of d1 +#endif subql #1,%d1 | adjust count for long copies - jcc Lscloop | more room, keep going -Lscdone: + jcc .Lscloop | more room, keep going +.Lscdone: #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif rts -Lscploop: - clrb %a1@+ | clear a byte - dbra %d1,Lscploop | keep going +.Lscploop: + clrb (%a1)+ | clear a byte +#ifndef __mcoldfire__ + dbra %d1,.Lscploop | keep going clrw %d1 -Lscpadding: +#endif +.Lscpadding: subql #1,%d1 - jcc Lscploop - jra Lscdone + jcc .Lscploop + jra .Lscdone +END(strncpy) diff --git a/common/lib/libc/arch/m68k/string/strrchr.S b/common/lib/libc/arch/m68k/string/strrchr.S index c9b5f6be1..7db5c2538 100644 --- a/common/lib/libc/arch/m68k/string/strrchr.S +++ b/common/lib/libc/arch/m68k/string/strrchr.S @@ -1,4 +1,4 @@ -/* $NetBSD: strrchr.S,v 1.2 2009/07/17 19:37:57 dsl Exp $ */ +/* $NetBSD: strrchr.S,v 1.4 2013/07/16 23:24:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,22 +39,23 @@ #if 0 RCSID("from: @(#)rindex.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: strrchr.S,v 1.2 2009/07/17 19:37:57 dsl Exp $") + RCSID("$NetBSD: strrchr.S,v 1.4 2013/07/16 23:24:19 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(strrchr) - movl %sp@(4),%a1 | string - movb %sp@(11),%d0 | char to look for + movl 4(%sp),%a1 | string + movb 11(%sp),%d0 | char to look for subl %a0,%a0 | clear rindex pointer rixloop: - cmpb %a1@,%d0 | found our char? + cmpb (%a1),%d0 | found our char? jne rixnope | no, check for null movl %a1,%a0 | yes, remember location rixnope: - tstb %a1@+ | null? + tstb (%a1)+ | null? jne rixloop | no, keep going movl %a0,%d0 | return value rts +END(strrchr) STRONG_ALIAS(rindex,strrchr) diff --git a/common/lib/libc/arch/powerpc/string/memcmp.S b/common/lib/libc/arch/powerpc/string/memcmp.S index 2e5f6d6a0..cac9a87bf 100644 --- a/common/lib/libc/arch/powerpc/string/memcmp.S +++ b/common/lib/libc/arch/powerpc/string/memcmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcmp.S,v 1.3 2011/01/15 07:31:12 matt Exp $ */ +/* $NetBSD: memcmp.S,v 1.4 2013/07/04 20:57:59 matt Exp $ */ /* stropt/memcmp.S, pl_string_common, pl_linux 10/11/04 11:45:35 * ========================================================================== @@ -206,7 +206,7 @@ bbb: cmplw %r8, %r6 - bdnzt+ eq, bbb + bdnzt eq, bbb bne all_done diff --git a/common/lib/libc/arch/sparc/atomic/Makefile.inc b/common/lib/libc/arch/sparc/atomic/Makefile.inc index dd8c33b8a..345cf8bf3 100644 --- a/common/lib/libc/arch/sparc/atomic/Makefile.inc +++ b/common/lib/libc/arch/sparc/atomic/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.14 2009/03/13 19:16:46 abs Exp $ +# $NetBSD: Makefile.inc,v 1.15 2012/11/28 21:39:59 martin Exp $ .include @@ -29,7 +29,8 @@ SRCS+= atomic_cas.S . endif . if (${LIB} == "c" || ${LIB} == "pthread") -SRCS+= atomic_init_testset.c +CPPFLAGS+= -D__HAVE_ASM_ATOMIC_CAS_UP +SRCS+= atomic_init_testset.c atomic_cas_up.S . endif . endif diff --git a/common/lib/libc/arch/sparc/atomic/atomic_cas.S b/common/lib/libc/arch/sparc/atomic/atomic_cas.S index 2d1c20949..5c11b04e7 100644 --- a/common/lib/libc/arch/sparc/atomic/atomic_cas.S +++ b/common/lib/libc/arch/sparc/atomic/atomic_cas.S @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_cas.S,v 1.11 2011/02/22 18:45:10 pooka Exp $ */ +/* $NetBSD: atomic_cas.S,v 1.12 2013/09/12 15:36:14 joerg Exp $ */ /*- * Copyright (c) 2007, 2008 The NetBSD Foundation, Inc. @@ -63,14 +63,14 @@ #if defined(MULTIPROCESSOR) .section .bss .align 1024 -#ifdef PIC +#ifdef __PIC__ .globl _C_LABEL(_atomic_cas_locktab) #endif OTYPE(_C_LABEL(_atomic_cas_locktab)) _C_LABEL(_atomic_cas_locktab): .space 1024 -#ifdef PIC +#ifdef __PIC__ /* o4 is not used for PSR in PIC cases, so we can use it here */ #define GETLOCKTAB \ PIC_PROLOGUE(%o3,%o4) ;\ diff --git a/common/lib/libc/arch/sparc/atomic/atomic_cas_up.S b/common/lib/libc/arch/sparc/atomic/atomic_cas_up.S new file mode 100644 index 000000000..cb61e4bf2 --- /dev/null +++ b/common/lib/libc/arch/sparc/atomic/atomic_cas_up.S @@ -0,0 +1,45 @@ +/* $NetBSD: atomic_cas_up.S,v 1.1 2012/11/28 21:39:59 martin Exp $ */ + +/*- + * Copyright (c) 2012 The NetBSD Foundation, 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: + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#include "atomic_op_asm.h" + + .text + +ENTRY(_atomic_cas_up) + .hidden _C_LABEL(_atomic_cas_up) +RAS_START_ASM_HIDDEN(_atomic_cas) + ld [%o0], %o3 ! get old value + cmp %o1, %o3 ! old == new? + beq,a 1f ! yes, do the store + st %o2, [%o0] ! (in the delay slot) +RAS_END_ASM_HIDDEN(_atomic_cas) +1: + retl + mov %o3, %o0 ! return old value + diff --git a/common/lib/libc/arch/sparc/string/ffs.S b/common/lib/libc/arch/sparc/string/ffs.S index 5e8a2474d..f37cbd905 100644 --- a/common/lib/libc/arch/sparc/string/ffs.S +++ b/common/lib/libc/arch/sparc/string/ffs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.3 2011/07/04 11:18:23 mrg Exp $ */ +/* $NetBSD: ffs.S,v 1.4 2013/09/12 15:36:14 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)ffs.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: ffs.S,v 1.3 2011/07/04 11:18:23 mrg Exp $") + RCSID("$NetBSD: ffs.S,v 1.4 2013/09/12 15:36:14 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -60,7 +60,7 @@ */ WEAK_ALIAS(__ffssi2,ffs) ENTRY(ffs) -#ifdef PIC +#ifdef __PIC__ PICCY_SET(ffstab, %o2, %o3) #else set ffstab, %o2 diff --git a/common/lib/libc/arch/sparc64/string/ffs.S b/common/lib/libc/arch/sparc64/string/ffs.S index 93e620ae2..2d459492f 100644 --- a/common/lib/libc/arch/sparc64/string/ffs.S +++ b/common/lib/libc/arch/sparc64/string/ffs.S @@ -1,4 +1,4 @@ -/* $NetBSD: ffs.S,v 1.2 2009/12/19 19:09:48 pooka Exp $ */ +/* $NetBSD: ffs.S,v 1.3 2013/09/12 15:36:14 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)ffs.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: ffs.S,v 1.2 2009/12/19 19:09:48 pooka Exp $") + RCSID("$NetBSD: ffs.S,v 1.3 2013/09/12 15:36:14 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -81,7 +81,7 @@ ENTRY(ffs) * that ffstab[0] must be -24 so that ffs(0) will return 0. */ ENTRY(ffs) -#ifdef PIC +#ifdef __PIC__ PICCY_SET(ffstab, %o2, %o3) #else set ffstab, %o2 diff --git a/lib/libc/arch/sparc64/string/memcpy.S b/common/lib/libc/arch/sparc64/string/memcpy.S similarity index 63% rename from lib/libc/arch/sparc64/string/memcpy.S rename to common/lib/libc/arch/sparc64/string/memcpy.S index 6bc391b28..1b65a11ba 100644 --- a/lib/libc/arch/sparc64/string/memcpy.S +++ b/common/lib/libc/arch/sparc64/string/memcpy.S @@ -1,32 +1,19 @@ -/* $NetBSD: memcpy.S,v 1.5 2011/07/12 07:51:33 mrg Exp $ */ +/* $NetBSD: memcpy.S,v 1.2 2013/03/17 02:13:10 christos Exp $ */ /* - * Copyright (c) 2001 Eduardo E. Horvath - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. + * Copyright (c) 1996-2002 Eduardo Horvath + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -36,40 +23,14 @@ * SUCH DAMAGE. * */ - -#include -#ifndef _LOCORE -#define _LOCORE -#endif -#include -#include -#include - +#include "strmacros.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: memcpy.S,v 1.5 2011/07/12 07:51:33 mrg Exp $") +RCSID("$NetBSD: memcpy.S,v 1.2 2013/03/17 02:13:10 christos Exp $") #endif /* LIBC_SCCS and not lint */ -#define EMPTY nop -#define NOTREACHED ta 1 - -#define BCOPY_SMALL 16 -#define BLOCK_SIZE SPARC64_BLOCK_SIZE -#define BLOCK_ALIGN SPARC64_BLOCK_ALIGN - -#if 0 -#define ASI_STORE ASI_BLK_COMMIT_P -#else -#define ASI_STORE ASI_BLK_P -#endif - -#ifndef _ALIGN -#define _ALIGN .align 8 -#endif - -#if 1 /* - * kernel bcopy/memcpy - * Assumes regions do not overlap; has no useful return value. + * memcpy + * Assumes regions do not overlap; * * Must not use %g7 (see copyin/copyout above). */ @@ -81,14 +42,17 @@ ENTRY(memcpy) /* dest, src, size */ mov %o0, %o3 mov %o1, %o0 mov %o3, %o1 -#endif +#if !defined(_KERNEL) || defined(_RUMPKERNEL) ENTRY(bcopy) /* src, dest, size */ +#endif #ifdef DEBUG +#if defined(_KERNEL) && !defined(_RUMPKERNEL) set pmapdebug, %o4 ld [%o4], %o4 btst 0x80, %o4 ! PDB_COPY bz,pt %icc, 3f nop +#endif save %sp, -CC64FSZ, %sp mov %i0, %o1 set 2f, %o0 @@ -98,24 +62,16 @@ ENTRY(bcopy) /* src, dest, size */ ! ta 1; nop restore .data -2: .asciz "bcopy(%p->%p,%x)\n" +2: .asciz "memcpy(%p<-%p,%x)\n" _ALIGN .text 3: #endif - /* - * Check for overlaps and punt. - * - * If src <= dest <= src+len we have a problem. - */ - sub %o1, %o0, %o3 + cmp %o2, BCOPY_SMALL - cmp %o3, %o2 - blu,pn %xcc, Lovbcopy - cmp %o2, BCOPY_SMALL -Lbcopy_start: - bge,pt %xcc, 2f ! if >= this many, go be fancy. +Lmemcpy_start: + bge,pt CCCR, 2f ! if >= this many, go be fancy. cmp %o2, 256 mov %o1, %o5 ! Save memcpy return value @@ -124,7 +80,7 @@ Lbcopy_start: */ deccc %o2 ! while (--len >= 0) bl 1f - EMPTY + .empty 0: inc %o0 ldsb [%o0 - 1], %o4 ! (++dst)[-1] = *src++; @@ -137,46 +93,16 @@ Lbcopy_start: mov %o5, %o0 NOTREACHED - /* - * Overlapping bcopies -- punt. - */ -Lovbcopy: - - /* - * Since src comes before dst, and the regions might overlap, - * we have to do the copy starting at the end and working backwards. - * - * We could optimize this, but it almost never happens. - */ - mov %o1, %o5 ! Retval - add %o2, %o0, %o0 ! src += len - add %o2, %o1, %o1 ! dst += len - - deccc %o2 - bl,pn %xcc, 1f - dec %o0 -0: - dec %o1 - ldsb [%o0], %o4 - dec %o0 - - deccc %o2 - bge,pt %xcc, 0b - stb %o4, [%o1] -1: - retl - mov %o5, %o0 - /* * Plenty of data to copy, so try to do it optimally. */ 2: -#if 1 +#ifdef USE_BLOCK_STORE_LOAD ! If it is big enough, use VIS instructions - bge Lbcopy_block + bge Lmemcpy_block nop -#endif -Lbcopy_fancy: +#endif /* USE_BLOCK_STORE_LOAD */ +Lmemcpy_fancy: !! !! First align the output to a 8-byte entity @@ -184,100 +110,100 @@ Lbcopy_fancy: save %sp, -CC64FSZ, %sp - mov %i0, %o0 - mov %i1, %o1 + mov %i0, %l0 + mov %i1, %l1 - mov %i2, %o2 - btst 1, %o1 + mov %i2, %l2 + btst 1, %l1 bz,pt %icc, 4f - btst 2, %o1 - ldub [%o0], %o4 ! Load 1st byte + btst 2, %l1 + ldub [%l0], %l4 ! Load 1st byte - deccc 1, %o2 - ble,pn %xcc, Lbcopy_finish ! XXXX - inc 1, %o0 + deccc 1, %l2 + ble,pn CCCR, Lmemcpy_finish ! XXXX + inc 1, %l0 - stb %o4, [%o1] ! Store 1st byte - inc 1, %o1 ! Update address - btst 2, %o1 + stb %l4, [%l1] ! Store 1st byte + inc 1, %l1 ! Update address + btst 2, %l1 4: bz,pt %icc, 4f - btst 1, %o0 + btst 1, %l0 bz,a 1f - lduh [%o0], %o4 ! Load short + lduh [%l0], %l4 ! Load short - ldub [%o0], %o4 ! Load bytes + ldub [%l0], %l4 ! Load bytes - ldub [%o0+1], %o3 - sllx %o4, 8, %o4 - or %o3, %o4, %o4 + ldub [%l0+1], %l3 + sllx %l4, 8, %l4 + or %l3, %l4, %l4 1: - deccc 2, %o2 - ble,pn %xcc, Lbcopy_finish ! XXXX - inc 2, %o0 - sth %o4, [%o1] ! Store 1st short + deccc 2, %l2 + ble,pn CCCR, Lmemcpy_finish ! XXXX + inc 2, %l0 + sth %l4, [%l1] ! Store 1st short - inc 2, %o1 + inc 2, %l1 4: - btst 4, %o1 - bz,pt %xcc, 4f + btst 4, %l1 + bz,pt CCCR, 4f - btst 3, %o0 - bz,a,pt %xcc, 1f - lduw [%o0], %o4 ! Load word -1 + btst 3, %l0 + bz,a,pt CCCR, 1f + lduw [%l0], %l4 ! Load word -1 - btst 1, %o0 + btst 1, %l0 bz,a,pt %icc, 2f - lduh [%o0], %o4 + lduh [%l0], %l4 - ldub [%o0], %o4 + ldub [%l0], %l4 - lduh [%o0+1], %o3 - sllx %o4, 16, %o4 - or %o4, %o3, %o4 + lduh [%l0+1], %l3 + sllx %l4, 16, %l4 + or %l4, %l3, %l4 - ldub [%o0+3], %o3 - sllx %o4, 8, %o4 + ldub [%l0+3], %l3 + sllx %l4, 8, %l4 ba,pt %icc, 1f - or %o4, %o3, %o4 + or %l4, %l3, %l4 2: - lduh [%o0+2], %o3 - sllx %o4, 16, %o4 - or %o4, %o3, %o4 + lduh [%l0+2], %l3 + sllx %l4, 16, %l4 + or %l4, %l3, %l4 1: - deccc 4, %o2 - ble,pn %xcc, Lbcopy_finish ! XXXX - inc 4, %o0 + deccc 4, %l2 + ble,pn CCCR, Lmemcpy_finish ! XXXX + inc 4, %l0 - st %o4, [%o1] ! Store word - inc 4, %o1 + st %l4, [%l1] ! Store word + inc 4, %l1 4: !! !! We are now 32-bit aligned in the dest. !! -Lbcopy__common: +Lmemcpy_common: - and %o0, 7, %o4 ! Shift amount - andn %o0, 7, %o0 ! Source addr + and %l0, 7, %l4 ! Shift amount + andn %l0, 7, %l0 ! Source addr - brz,pt %o4, Lbcopy_noshift8 ! No shift version... + brz,pt %l4, Lmemcpy_noshift8 ! No shift version... - sllx %o4, 3, %o4 ! In bits - mov 8<<3, %o3 + sllx %l4, 3, %l4 ! In bits + mov 8<<3, %l3 - ldx [%o0], %l0 ! Load word -1 - sub %o3, %o4, %o3 ! Reverse shift - deccc 16*8, %o2 ! Have enough room? + ldx [%l0], %o0 ! Load word -1 + sub %l3, %l4, %l3 ! Reverse shift + deccc 12*8, %l2 ! Have enough room? - sllx %l0, %o4, %l0 - bl,pn %xcc, 2f - and %o3, 0x38, %o3 -Lbcopy_unrolled8: + sllx %o0, %l4, %o0 + bl,pn CCCR, 2f + and %l3, 0x38, %l3 +Lmemcpy_unrolled8: /* * This is about as close to optimal as you can get, since @@ -285,420 +211,218 @@ Lbcopy_unrolled8: * 3 dependent operations on the data. */ -! ldx [%o0+0*8], %l0 ! Already done -! sllx %l0, %o4, %l0 ! Already done - ldx [%o0+1*8], %l1 - ldx [%o0+2*8], %l2 - ldx [%o0+3*8], %l3 - ldx [%o0+4*8], %l4 - ldx [%o0+5*8], %l5 - ldx [%o0+6*8], %l6 -#if 1 +! ldx [%l0+0*8], %o0 ! Already done +! sllx %o0, %l4, %o0 ! Already done + ldx [%l0+1*8], %o1 + ldx [%l0+2*8], %o2 + ldx [%l0+3*8], %o3 + ldx [%l0+4*8], %o4 ba,pt %icc, 1f - ldx [%o0+7*8], %l7 + ldx [%l0+5*8], %o5 .align 8 1: - srlx %l1, %o3, %g1 - inc 8*8, %o0 + srlx %o1, %l3, %g1 + inc 6*8, %l0 - sllx %l1, %o4, %l1 - or %g1, %l0, %o5 - ldx [%o0+0*8], %l0 + sllx %o1, %l4, %o1 + or %g1, %o0, %g6 + ldx [%l0+0*8], %o0 - stx %o5, [%o1+0*8] - srlx %l2, %o3, %g1 + stx %g6, [%l1+0*8] + srlx %o2, %l3, %g1 - sllx %l2, %o4, %l2 - or %g1, %l1, %o5 - ldx [%o0+1*8], %l1 + sllx %o2, %l4, %o2 + or %g1, %o1, %g6 + ldx [%l0+1*8], %o1 - stx %o5, [%o1+1*8] - srlx %l3, %o3, %g1 + stx %g6, [%l1+1*8] + srlx %o3, %l3, %g1 - sllx %l3, %o4, %l3 - or %g1, %l2, %o5 - ldx [%o0+2*8], %l2 + sllx %o3, %l4, %o3 + or %g1, %o2, %g6 + ldx [%l0+2*8], %o2 - stx %o5, [%o1+2*8] - srlx %l4, %o3, %g1 + stx %g6, [%l1+2*8] + srlx %o4, %l3, %g1 - sllx %l4, %o4, %l4 - or %g1, %l3, %o5 - ldx [%o0+3*8], %l3 + sllx %o4, %l4, %o4 + or %g1, %o3, %g6 + ldx [%l0+3*8], %o3 - stx %o5, [%o1+3*8] - srlx %l5, %o3, %g1 + stx %g6, [%l1+3*8] + srlx %o5, %l3, %g1 - sllx %l5, %o4, %l5 - or %g1, %l4, %o5 - ldx [%o0+4*8], %l4 - - stx %o5, [%o1+4*8] - srlx %l6, %o3, %g1 - - sllx %l6, %o4, %l6 - or %g1, %l5, %o5 - ldx [%o0+5*8], %l5 - - stx %o5, [%o1+5*8] - srlx %l7, %o3, %g1 - - sllx %l7, %o4, %l7 - or %g1, %l6, %o5 - ldx [%o0+6*8], %l6 - - stx %o5, [%o1+6*8] - srlx %l0, %o3, %g1 - deccc 8*8, %o2 ! Have enough room? - - sllx %l0, %o4, %l0 ! Next loop - or %g1, %l7, %o5 - ldx [%o0+7*8], %l7 - - stx %o5, [%o1+7*8] - bge,pt %xcc, 1b - inc 8*8, %o1 + sllx %o5, %l4, %o5 + or %g1, %o4, %g6 + ldx [%l0+4*8], %o4 -Lbcopy_unrolled8_cleanup: + stx %g6, [%l1+4*8] + srlx %o0, %l3, %g1 + deccc 6*8, %l2 ! Have enough room? + + sllx %o0, %l4, %o0 ! Next loop + or %g1, %o5, %g6 + ldx [%l0+5*8], %o5 + + stx %g6, [%l1+5*8] + bge,pt CCCR, 1b + inc 6*8, %l1 + +Lmemcpy_unrolled8_cleanup: !! !! Finished 8 byte block, unload the regs. !! - srlx %l1, %o3, %g1 - inc 7*8, %o0 + srlx %o1, %l3, %g1 + inc 5*8, %l0 - sllx %l1, %o4, %l1 - or %g1, %l0, %o5 + sllx %o1, %l4, %o1 + or %g1, %o0, %g6 - stx %o5, [%o1+0*8] - srlx %l2, %o3, %g1 + stx %g6, [%l1+0*8] + srlx %o2, %l3, %g1 - sllx %l2, %o4, %l2 - or %g1, %l1, %o5 + sllx %o2, %l4, %o2 + or %g1, %o1, %g6 - stx %o5, [%o1+1*8] - srlx %l3, %o3, %g1 + stx %g6, [%l1+1*8] + srlx %o3, %l3, %g1 - sllx %l3, %o4, %l3 - or %g1, %l2, %o5 + sllx %o3, %l4, %o3 + or %g1, %o2, %g6 - stx %o5, [%o1+2*8] - srlx %l4, %o3, %g1 + stx %g6, [%l1+2*8] + srlx %o4, %l3, %g1 - sllx %l4, %o4, %l4 - or %g1, %l3, %o5 + sllx %o4, %l4, %o4 + or %g1, %o3, %g6 - stx %o5, [%o1+3*8] - srlx %l5, %o3, %g1 + stx %g6, [%l1+3*8] + srlx %o5, %l3, %g1 - sllx %l5, %o4, %l5 - or %g1, %l4, %o5 + sllx %o5, %l4, %o5 + or %g1, %o4, %g6 - stx %o5, [%o1+4*8] - srlx %l6, %o3, %g1 + stx %g6, [%l1+4*8] + inc 5*8, %l1 - sllx %l6, %o4, %l6 - or %g1, %l5, %o5 - - stx %o5, [%o1+5*8] - srlx %l7, %o3, %g1 - - sllx %l7, %o4, %l7 - or %g1, %l6, %o5 - - stx %o5, [%o1+6*8] - inc 7*8, %o1 - - mov %l7, %l0 ! Save our unused data - dec 7*8, %o2 -#else - /* - * This version also handles aligned copies at almost the - * same speed. It should take the same number of cycles - * as the previous version, but is slightly slower, probably - * due to i$ issues. - */ - ldx [%o0+7*8], %l7 - ba,pt %icc, 1f - clr %g1 - .align 32 -1: - srlx %l1, %o3, %g1 - bz,pn %xcc, 3f - inc 8*8, %o0 - - sllx %l1, %o4, %l1 - or %g1, %l0, %o5 - ba,pt %icc, 4f - ldx [%o0+0*8], %l0 - - nop -3: - mov %l0, %o5 - ldx [%o0+0*8], %l0 - -4: - bz,pn %icc, 3f - stx %o5, [%o1+0*8] - srlx %l2, %o3, %g1 - - sllx %l2, %o4, %l2 -3: - or %g1, %l1, %o5 - ldx [%o0+1*8], %l1 - - bz,pn %icc, 3f - stx %o5, [%o1+1*8] - srlx %l3, %o3, %g1 - - sllx %l3, %o4, %l3 -3: - or %g1, %l2, %o5 - ldx [%o0+2*8], %l2 - - bz,pn %icc, 3f - stx %o5, [%o1+2*8] - srlx %l4, %o3, %g1 - - sllx %l4, %o4, %l4 -3: - or %g1, %l3, %o5 - ldx [%o0+3*8], %l3 - - bz,pn %icc, 3f - stx %o5, [%o1+3*8] - srlx %l5, %o3, %g1 - - sllx %l5, %o4, %l5 -3: - or %g1, %l4, %o5 - ldx [%o0+4*8], %l4 - - bz,pn %icc, 3f - stx %o5, [%o1+4*8] - srlx %l6, %o3, %g1 - - sllx %l6, %o4, %l6 -3: - or %g1, %l5, %o5 - ldx [%o0+5*8], %l5 - - bz,pn %icc, 3f - stx %o5, [%o1+5*8] - srlx %l7, %o3, %g1 - - sllx %l7, %o4, %l7 -3: - or %g1, %l6, %o5 - ldx [%o0+6*8], %l6 - - bz,pn %icc, 3f - stx %o5, [%o1+6*8] - srlx %l0, %o3, %g1 - - sllx %l0, %o4, %l0 ! Next loop -3: - or %g1, %l7, %o5 - ldx [%o0+7*8], %l7 - deccc 8*8, %o2 ! Have enough room? - - stx %o5, [%o1+7*8] - inc 8*8, %o1 - bge,pt %xcc, 1b - tst %o4 - - - !! - !! Now unload all those regs - !! -Lbcopy_unrolled8_cleanup: - srlx %l1, %o3, %g1 - bz,pn %xcc, 3f - inc 7*8, %o0 ! Point at the last load - - sllx %l1, %o4, %l1 - ba,pt %icc, 4f - or %g1, %l0, %o5 - -3: - mov %l0, %o5 - -4: - bz,pn %icc, 3f - stx %o5, [%o1+0*8] - srlx %l2, %o3, %g1 - - sllx %l2, %o4, %l2 -3: - or %g1, %l1, %o5 - - bz,pn %icc, 3f - stx %o5, [%o1+1*8] - srlx %l3, %o3, %g1 - - sllx %l3, %o4, %l3 -3: - or %g1, %l2, %o5 - - bz,pn %icc, 3f - stx %o5, [%o1+2*8] - srlx %l4, %o3, %g1 - - sllx %l4, %o4, %l4 -3: - or %g1, %l3, %o5 - - bz,pn %icc, 3f - stx %o5, [%o1+3*8] - srlx %l5, %o3, %g1 - - sllx %l5, %o4, %l5 -3: - or %g1, %l4, %o5 - - bz,pn %icc, 3f - stx %o5, [%o1+4*8] - srlx %l6, %o3, %g1 - - sllx %l6, %o4, %l6 -3: - or %g1, %l5, %o5 - - bz,pn %icc, 3f - stx %o5, [%o1+5*8] - srlx %l7, %o3, %g1 - - sllx %l7, %o4, %l7 -3: - or %g1, %l6, %o5 - mov %l7, %l0 ! Shuffle to %l0 - - stx %o5, [%o1+6*8] - or %g1, %l7, %o5 - dec 7*8, %o2 - - inc 7*8, %o1 ! Point at last store -#endif + mov %o5, %o0 ! Save our unused data + dec 5*8, %l2 2: - inccc 16*8, %o2 - bz,pn %icc, Lbcopy_complete + inccc 12*8, %l2 + bz,pn %icc, Lmemcpy_complete !! Unrolled 8 times -Lbcopy_aligned8: -! ldx [%o0], %l0 ! Already done -! sllx %l0, %o4, %l0 ! Shift high word +Lmemcpy_aligned8: +! ldx [%l0], %o0 ! Already done +! sllx %o0, %l4, %o0 ! Shift high word - deccc 8, %o2 ! Pre-decrement - bl,pn %xcc, Lbcopy_finish + deccc 8, %l2 ! Pre-decrement + bl,pn CCCR, Lmemcpy_finish 1: - ldx [%o0+8], %l1 ! Load word 0 - inc 8, %o0 + ldx [%l0+8], %o1 ! Load word 0 + inc 8, %l0 - srlx %l1, %o3, %o5 - or %o5, %l0, %o5 ! Combine + srlx %o1, %l3, %g6 + or %g6, %o0, %g6 ! Combine - stx %o5, [%o1] ! Store result - inc 8, %o1 + stx %g6, [%l1] ! Store result + inc 8, %l1 - deccc 8, %o2 - bge,pn %xcc, 1b - sllx %l1, %o4, %l0 + deccc 8, %l2 + bge,pn CCCR, 1b + sllx %o1, %l4, %o0 - btst 7, %o2 ! Done? - bz,pt %xcc, Lbcopy_complete + btst 7, %l2 ! Done? + bz,pt CCCR, Lmemcpy_complete !! - !! Loadup the last dregs into %l0 and shift it into place + !! Loadup the last dregs into %o0 and shift it into place !! - srlx %o3, 3, %o5 ! # bytes in %l0 - dec 8, %o5 ! - 8 + srlx %l3, 3, %g6 ! # bytes in %o0 + dec 8, %g6 ! - 8 !! n-8 - (by - 8) -> n - by - subcc %o2, %o5, %g0 ! # bytes we need - ble,pt %icc, Lbcopy_finish + subcc %l2, %g6, %g0 ! # bytes we need + ble,pt %icc, Lmemcpy_finish nop - ldx [%o0+8], %l1 ! Need another word - srlx %l1, %o3, %l1 - ba,pt %icc, Lbcopy_finish - or %l0, %l1, %l0 ! All loaded up. + ldx [%l0+8], %o1 ! Need another word + srlx %o1, %l3, %o1 + ba,pt %icc, Lmemcpy_finish + or %o0, %o1, %o0 ! All loaded up. -Lbcopy_noshift8: - deccc 8*8, %o2 ! Have enough room? - bl,pn %xcc, 2f +Lmemcpy_noshift8: + deccc 6*8, %l2 ! Have enough room? + bl,pn CCCR, 2f nop ba,pt %icc, 1f nop .align 32 1: - ldx [%o0+0*8], %l0 - ldx [%o0+1*8], %l1 - ldx [%o0+2*8], %l2 - ldx [%o0+3*8], %l3 - stx %l0, [%o1+0*8] - stx %l1, [%o1+1*8] - stx %l2, [%o1+2*8] - stx %l3, [%o1+3*8] + ldx [%l0+0*8], %o0 + ldx [%l0+1*8], %o1 + ldx [%l0+2*8], %o2 + stx %o0, [%l1+0*8] + stx %o1, [%l1+1*8] + stx %o2, [%l1+2*8] - ldx [%o0+4*8], %l4 - ldx [%o0+5*8], %l5 - ldx [%o0+6*8], %l6 - ldx [%o0+7*8], %l7 - inc 8*8, %o0 - stx %l4, [%o1+4*8] - stx %l5, [%o1+5*8] - deccc 8*8, %o2 - stx %l6, [%o1+6*8] - stx %l7, [%o1+7*8] - stx %l2, [%o1+2*8] - bge,pt %xcc, 1b - inc 8*8, %o1 + ldx [%l0+3*8], %o3 + ldx [%l0+4*8], %o4 + ldx [%l0+5*8], %o5 + inc 6*8, %l0 + stx %o3, [%l1+3*8] + deccc 6*8, %l2 + stx %o4, [%l1+4*8] + stx %o5, [%l1+5*8] + bge,pt CCCR, 1b + inc 6*8, %l1 2: - inc 8*8, %o2 + inc 6*8, %l2 1: - deccc 8, %o2 + deccc 8, %l2 bl,pn %icc, 1f ! < 0 --> sub word nop - ldx [%o0], %o5 - inc 8, %o0 - stx %o5, [%o1] + ldx [%l0], %g6 + inc 8, %l0 + stx %g6, [%l1] bg,pt %icc, 1b ! Exactly 0 --> done - inc 8, %o1 + inc 8, %l1 1: - btst 7, %o2 ! Done? - bz,pt %xcc, Lbcopy_complete - clr %o4 - ldx [%o0], %l0 -Lbcopy_finish: + btst 7, %l2 ! Done? + bz,pt CCCR, Lmemcpy_complete + clr %l4 + ldx [%l0], %o0 +Lmemcpy_finish: - brz,pn %o2, 2f ! 100% complete? - cmp %o2, 8 ! Exactly 8 bytes? - bz,a,pn %xcc, 2f - stx %l0, [%o1] + brz,pn %l2, 2f ! 100% complete? + cmp %l2, 8 ! Exactly 8 bytes? + bz,a,pn CCCR, 2f + stx %o0, [%l1] - btst 4, %o2 ! Word store? - bz %xcc, 1f - srlx %l0, 32, %o5 ! Shift high word down - stw %o5, [%o1] - inc 4, %o1 - mov %l0, %o5 ! Operate on the low bits + btst 4, %l2 ! Word store? + bz CCCR, 1f + srlx %o0, 32, %g6 ! Shift high word down + stw %g6, [%l1] + inc 4, %l1 + mov %o0, %g6 ! Operate on the low bits 1: - btst 2, %o2 - mov %o5, %l0 + btst 2, %l2 + mov %g6, %o0 bz 1f - srlx %l0, 16, %o5 + srlx %o0, 16, %g6 - sth %o5, [%o1] ! Store short - inc 2, %o1 - mov %l0, %o5 ! Operate on low bytes + sth %g6, [%l1] ! Store short + inc 2, %l1 + mov %o0, %g6 ! Operate on low bytes 1: - mov %o5, %l0 - btst 1, %o2 ! Byte aligned? + mov %g6, %o0 + btst 1, %l2 ! Byte aligned? bz 2f - srlx %l0, 8, %o5 + srlx %o0, 8, %g6 - stb %o5, [%o1] ! Store last byte - inc 1, %o1 ! Update address + stb %g6, [%l1] ! Store last byte + inc 1, %l1 ! Update address 2: -Lbcopy_complete: +Lmemcpy_complete: #if 0 !! !! verify copy success. @@ -725,22 +449,22 @@ Lbcopy_complete: call printf sub %i2, %l4, %o5 set 1f, %o0 - mov %i0, %o1 - mov %i1, %o2 + mov %i0, %o2 + mov %i1, %o1 call printf mov %i2, %o3 ta 1 .data -0: .asciz "bcopy failed: %x@%p != %x@%p byte %d\n" -1: .asciz "bcopy(%p, %p, %lx)\n" - _ALIGN +0: .asciz "memcpy failed: %x@%p != %x@%p byte %d\n" +1: .asciz "memcpy(%p, %p, %lx)\n" + .align 8 .text 2: #endif ret restore %i1, %g0, %o0 -#if 1 +#ifdef USE_BLOCK_STORE_LOAD /* * Block copy. Useful for >256 byte copies. @@ -750,32 +474,41 @@ Lbcopy_complete: * figure out why sometime. */ -Lbcopy_block: -#ifdef _KERNEL +Lmemcpy_block: + sethi %hi(block_disable), %o3 + ldx [ %o3 + %lo(block_disable) ], %o3 + brnz,pn %o3, Lmemcpy_fancy + !! Make sure our trap table is installed + set _C_LABEL(trapbase), %o5 + rdpr %tba, %o3 + sub %o3, %o5, %o3 + brnz,pn %o3, Lmemcpy_fancy ! No, then don't use block load/store + nop +#if defined(_KERNEL) && !defined(_RUMPKERNEL) /* * Kernel: * * Here we use VIS instructions to do a block clear of a page. * But before we can do that we need to save and enable the FPU. - * The last owner of the FPU registers is fpproc, and - * fpproc->p_md.md_fpstate is the current fpstate. If that's not + * The last owner of the FPU registers is fplwp, and + * fplwp->l_md.md_fpstate is the current fpstate. If that's not * null, call savefpstate() with it to store our current fp state. * * Next, allocate an aligned fpstate on the stack. We will properly * nest calls on a particular stack so this should not be a problem. * - * Now we grab either curproc (or if we're on the interrupt stack - * proc0). We stash its existing fpstate in a local register and - * put our new fpstate in curproc->p_md.md_fpstate. We point - * fpproc at curproc (or proc0) and enable the FPU. + * Now we grab either curlwp (or if we're on the interrupt stack + * lwp0). We stash its existing fpstate in a local register and + * put our new fpstate in curlwp->p_md.md_fpstate. We point + * fplwp at curlwp (or lwp0) and enable the FPU. * * If we are ever preempted, our FPU state will be saved in our * fpstate. Then, when we're resumed and we take an FPDISABLED * trap, the trap handler will be able to fish our FPU state out - * of curproc (or proc0). + * of curlwp (or lwp0). * * On exiting this routine we undo the damage: restore the original - * pointer to curproc->p_md.md_fpstate, clear our fpproc, and disable + * pointer to curlwp->p_md.md_fpstate, clear our fplwp, and disable * the MMU. * * @@ -786,10 +519,10 @@ Lbcopy_block: * %i2 size * * %l0 XXXX DEBUG old fpstate - * %l1 fpproc (hi bits only) - * %l2 orig fpproc + * %l1 fplwp (hi bits only) + * %l2 orig fplwp * %l3 orig fpstate - * %l5 curproc + * %l5 curlwp * %l6 old fpstate * * Register ussage, Kernel and user: @@ -802,44 +535,12 @@ Lbcopy_block: * %o5 last safe fetchable address */ -#if 1 ENABLE_FPU(0) -#else - save %sp, -(CC64FSZ+FS_SIZE+BLOCK_SIZE), %sp ! Allocate an fpstate - sethi %hi(FPPROC), %l1 - LDPTR [%l1 + %lo(FPPROC)], %l2 ! Load fpproc - add %sp, (CC64FSZ+STKB+BLOCK_SIZE-1), %l0 ! Calculate pointer to fpstate - brz,pt %l2, 1f ! fpproc == NULL? - andn %l0, BLOCK_ALIGN, %l0 ! And make it block aligned - LDPTR [%l2 + P_FPSTATE], %l3 - brz,pn %l3, 1f ! Make sure we have an fpstate - mov %l3, %o0 - call _C_LABEL(savefpstate) ! Save the old fpstate - set EINTSTACK-STKB, %l4 ! Are we on intr stack? - cmp %sp, %l4 - bgu,pt %xcc, 1f - set INTSTACK-STKB, %l4 - cmp %sp, %l4 - blu %xcc, 1f -0: - sethi %hi(_C_LABEL(proc0)), %l4 ! Yes, use proc0 - ba,pt %xcc, 2f ! XXXX needs to change to CPUs idle proc - or %l4, %lo(_C_LABEL(proc0)), %l5 -1: - sethi %hi(CURPROC), %l4 ! Use curproc - LDPTR [%l4 + %lo(CURPROC)], %l5 - brz,pn %l5, 0b ! If curproc is NULL need to use proc0 - nop -2: - LDPTR [%l5 + P_FPSTATE], %l6 ! Save old fpstate - STPTR %l0, [%l5 + P_FPSTATE] ! Insert new fpstate - STPTR %l5, [%l1 + %lo(FPPROC)] ! Set new fpproc - wr %g0, FPRS_FEF, %fprs ! Enable FPU -#endif + mov %i0, %o0 ! Src addr. mov %i1, %o1 ! Store our dest ptr here. mov %i2, %o2 ! Len counter -#endif +#endif /* _KERNEL */ !! !! First align the output to a 64-bit entity @@ -863,7 +564,7 @@ Lbcopy_block: alignaddr %o0, %o4, %o4 ! Base addr for load. cmp %o3, %o4 - be,pt %xcc, 1f ! Already loaded? + be,pt CCCR, 1f ! Already loaded? mov %o4, %o3 fmovd %f2, %f0 ! No. Shift ldd [%o3+8], %f2 ! And load @@ -883,7 +584,7 @@ Lbcopy_block: alignaddr %o0, %o4, %o4 ! calculate shift mask and dest. cmp %o3, %o4 ! Addresses same? - be,pt %xcc, 1f + be,pt CCCR, 1f mov %o4, %o3 fmovd %f2, %f0 ! Shuffle data ldd [%o3+8], %f2 ! Load word 0 @@ -895,7 +596,7 @@ Lbcopy_block: inc 2, %o1 inc 2, %o0 4: - brz,pn %o2, Lbcopy_blockfinish ! XXXX + brz,pn %o2, Lmemcpy_blockfinish ! XXXX btst 4, %o1 bz 4f @@ -904,7 +605,7 @@ Lbcopy_block: alignaddr %o0, %o4, %o4 ! calculate shift mask and dest. cmp %o3, %o4 ! Addresses same? - beq,pt %xcc, 1f + beq,pt CCCR, 1f mov %o4, %o3 fmovd %f2, %f0 ! Shuffle data ldd [%o3+8], %f2 ! Load word 0 @@ -916,17 +617,17 @@ Lbcopy_block: inc 4, %o1 inc 4, %o0 4: - brz,pn %o2, Lbcopy_blockfinish ! XXXX + brz,pn %o2, Lmemcpy_blockfinish ! XXXX !! !! We are now 32-bit aligned in the dest. !! -Lbcopy_block_common: +Lmemcpy_block_common: mov -0, %o4 alignaddr %o0, %o4, %o4 ! base - shift cmp %o3, %o4 ! Addresses same? - beq,pt %xcc, 1f + beq,pt CCCR, 1f mov %o4, %o3 fmovd %f2, %f0 ! Shuffle data ldd [%o3+8], %f2 ! Load word 0 @@ -936,15 +637,15 @@ Lbcopy_block_common: !! !! Continue until our dest is block aligned !! -Lbcopy_block_aligned8: +Lmemcpy_block_aligned8: 1: - brz %o2, Lbcopy_blockfinish + brz %o2, Lmemcpy_blockfinish btst BLOCK_ALIGN, %o1 ! Block aligned? bz 1f faligndata %f0, %f2, %f4 ! Generate result deccc 8, %o2 - ble,pn %icc, Lbcopy_blockfinish ! Should never happen + ble,pn %icc, Lmemcpy_blockfinish ! Should never happen fmovd %f4, %f48 std %f4, [%o1] ! Store result @@ -954,7 +655,7 @@ Lbcopy_block_aligned8: inc 8, %o0 ba,pt %xcc, 1b ! Not yet. ldd [%o0], %f2 ! Load next part -Lbcopy_block_aligned64: +Lmemcpy_block_aligned64: 1: /* @@ -1036,7 +737,7 @@ Lbcopy_block_aligned64: rd %pc, %o4 1: and %o0, 0x31, %o3 - add %o3, (Lbcopy_block_jmp - 1b), %o3 + add %o3, (Lmemcpy_block_jmp - 1b), %o3 jmpl %o4 + %o3, %g0 nop @@ -1044,7 +745,7 @@ Lbcopy_block_aligned64: !! Jump table !! -Lbcopy_block_jmp: +Lmemcpy_block_jmp: ba,a,pt %xcc, L100 nop ba,a,pt %xcc, L101 @@ -1099,7 +800,7 @@ L100: faligndata %f6, %f8, %f40 faligndata %f8, %f10, %f42 faligndata %f10, %f12, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f12, %f14, %f46 bleu,a,pn %icc, 2f @@ -1118,7 +819,7 @@ L100: faligndata %f22, %f24, %f40 faligndata %f24, %f26, %f42 faligndata %f26, %f28, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f28, %f30, %f46 bleu,a,pn %icc, 2f @@ -1137,7 +838,7 @@ L100: faligndata %f54, %f56, %f40 faligndata %f56, %f58, %f42 faligndata %f58, %f60, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f60, %f62, %f46 bleu,a,pn %icc, 2f ldda [%o0] ASI_BLK_P, %f16 ! Increment is at top @@ -1197,7 +898,7 @@ L101: ldda [%o0] ASI_BLK_P, %f48 membar #Sync 2: - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f14, %f16, %f46 stda %f32, [%o1] ASI_STORE @@ -1217,7 +918,7 @@ L101: ldda [%o0] ASI_BLK_P, %f0 membar #Sync 2: - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f30, %f48, %f46 stda %f32, [%o1] ASI_STORE @@ -1237,7 +938,7 @@ L101: ldda [%o0] ASI_BLK_P, %f16 membar #Sync 2: - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f62, %f0, %f46 stda %f32, [%o1] ASI_STORE @@ -1294,7 +995,7 @@ L102: 2: faligndata %f14, %f16, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f16, %f18, %f46 stda %f32, [%o1] ASI_STORE @@ -1314,7 +1015,7 @@ L102: membar #Sync 2: faligndata %f30, %f48, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f48, %f50, %f46 stda %f32, [%o1] ASI_STORE @@ -1334,7 +1035,7 @@ L102: membar #Sync 2: faligndata %f62, %f0, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f0, %f2, %f46 stda %f32, [%o1] ASI_STORE @@ -1389,7 +1090,7 @@ L103: faligndata %f14, %f16, %f42 inc BLOCK_SIZE, %o0 faligndata %f16, %f18, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f18, %f20, %f46 stda %f32, [%o1] ASI_STORE @@ -1409,7 +1110,7 @@ L103: faligndata %f30, %f48, %f42 inc BLOCK_SIZE, %o0 faligndata %f48, %f50, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f50, %f52, %f46 stda %f32, [%o1] ASI_STORE @@ -1429,7 +1130,7 @@ L103: faligndata %f62, %f0, %f42 inc BLOCK_SIZE, %o0 faligndata %f0, %f2, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f2, %f4, %f46 stda %f32, [%o1] ASI_STORE @@ -1482,7 +1183,7 @@ L104: faligndata %f16, %f18, %f42 inc BLOCK_SIZE, %o0 faligndata %f18, %f20, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f20, %f22, %f46 stda %f32, [%o1] ASI_STORE @@ -1502,7 +1203,7 @@ L104: faligndata %f48, %f50, %f42 inc BLOCK_SIZE, %o0 faligndata %f50, %f52, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f52, %f54, %f46 stda %f32, [%o1] ASI_STORE @@ -1522,7 +1223,7 @@ L104: faligndata %f0, %f2, %f42 inc BLOCK_SIZE, %o0 faligndata %f2, %f4, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f4, %f6, %f46 stda %f32, [%o1] ASI_STORE @@ -1573,7 +1274,7 @@ L105: inc BLOCK_SIZE, %o0 faligndata %f18, %f20, %f42 faligndata %f20, %f22, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f22, %f24, %f46 stda %f32, [%o1] ASI_STORE @@ -1593,7 +1294,7 @@ L105: inc BLOCK_SIZE, %o0 faligndata %f50, %f52, %f42 faligndata %f52, %f54, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f54, %f56, %f46 stda %f32, [%o1] ASI_STORE @@ -1613,7 +1314,7 @@ L105: inc BLOCK_SIZE, %o0 faligndata %f2, %f4, %f42 faligndata %f4, %f6, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f6, %f8, %f46 stda %f32, [%o1] ASI_STORE @@ -1663,7 +1364,7 @@ L106: faligndata %f18, %f20, %f40 faligndata %f20, %f22, %f42 faligndata %f22, %f24, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f24, %f26, %f46 stda %f32, [%o1] ASI_STORE @@ -1683,7 +1384,7 @@ L106: faligndata %f52, %f54, %f42 inc BLOCK_SIZE, %o0 faligndata %f54, %f56, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f56, %f58, %f46 stda %f32, [%o1] ASI_STORE @@ -1703,7 +1404,7 @@ L106: faligndata %f4, %f6, %f42 inc BLOCK_SIZE, %o0 faligndata %f6, %f8, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f8, %f10, %f46 stda %f32, [%o1] ASI_STORE @@ -1751,7 +1452,7 @@ L107: faligndata %f20, %f22, %f40 faligndata %f22, %f24, %f42 faligndata %f24, %f26, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f26, %f28, %f46 stda %f32, [%o1] ASI_STORE @@ -1771,7 +1472,7 @@ L107: inc BLOCK_SIZE, %o0 faligndata %f54, %f56, %f42 faligndata %f56, %f58, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f58, %f60, %f46 stda %f32, [%o1] ASI_STORE @@ -1792,19 +1493,19 @@ L107: faligndata %f6, %f8, %f42 faligndata %f8, %f10, %f44 - brlez,pn %o2, Lbcopy_blockdone + brlez,pn %o2, Lmemcpy_blockdone faligndata %f10, %f12, %f46 stda %f32, [%o1] ASI_STORE ba 3b inc BLOCK_SIZE, %o1 -Lbcopy_blockdone: +Lmemcpy_blockdone: inc BLOCK_SIZE, %o2 ! Fixup our overcommit membar #Sync ! Finish any pending loads #define FINISH_REG(f) \ deccc 8, %o2; \ - bl,a Lbcopy_blockfinish; \ + bl,a Lmemcpy_blockfinish; \ fmovd f, %f48; \ std f, [%o1]; \ inc 8, %o1 @@ -1823,15 +1524,15 @@ Lbcopy_blockdone: !! The low 3 bits have the sub-word bits needed to be !! stored [because (x-8)&0x7 == x]. !! -Lbcopy_blockfinish: +Lmemcpy_blockfinish: brz,pn %o2, 2f ! 100% complete? fmovd %f48, %f4 cmp %o2, 8 ! Exactly 8 bytes? - bz,a,pn %xcc, 2f + bz,a,pn CCCR, 2f std %f4, [%o1] btst 4, %o2 ! Word store? - bz %xcc, 1f + bz CCCR, 1f nop st %f4, [%o1] inc 4, %o1 @@ -1889,75 +1590,38 @@ Lbcopy_blockfinish: call prom_printf sub %i2, %l4, %o5 set 1f, %o0 - mov %i0, %o1 - mov %i1, %o2 + mov %i0, %o2 + mov %i1, %o1 call prom_printf mov %i2, %o3 ta 1 .data _ALIGN -block_disable: .xword 0 -0: .asciz "bcopy failed: %x@%p != %x@%p byte %d\r\n" -1: .asciz "bcopy(%p, %p, %lx)\r\n" +0: .asciz "block memcpy failed: %x@%p != %x@%p byte %d\r\n" +1: .asciz "memcpy(%p, %p, %lx)\r\n" _ALIGN .text 2: #endif -#ifdef _KERNEL +#if defined(_KERNEL) && !defined(_RUMPKERNEL) - set 1f, %o0 - mov %i0, %o1 - mov %i1, %o2 - call printf - mov %i2, %o3 - - .data - _ALIGN -1: .asciz "block exit (%p, %p, %d)\n" - _ALIGN - .text /* * Weve saved our possible fpstate, now disable the fpu * and continue with life. */ -#if 1 RESTORE_FPU -#else -#ifdef DEBUG - LDPTR [%l1 + %lo(FPPROC)], %l7 - cmp %l7, %l5 -! tnz 1 ! fpproc has changed! - LDPTR [%l5 + P_FPSTATE], %l7 - cmp %l7, %l0 - tnz 1 ! fpstate has changed! -#endif - andcc %l2, %l3, %g0 ! If (fpproc && fpstate) - STPTR %l2, [%l1 + %lo(FPPROC)] ! Restore old fproc - bz,pt %xcc, 1f ! Skip if no fpstate - STPTR %l6, [%l5 + P_FPSTATE] ! Restore old fpstate - - call _C_LABEL(loadfpstate) ! Re-load orig fpstate - mov %l3, %o0 -1: -#endif - set 1f, %o0 - mov %i0, %o1 - mov %i1, %o2 - call printf - mov %i2, %o3 - - .data - _ALIGN -1: .asciz "block done (%p, %p, %d)\n" - _ALIGN - .text - - ret restore %g1, 0, %o0 ! Return DEST for memcpy #endif - retl + retl mov %g1, %o0 -#endif - - +/* + * Use block_disable to turn off block insns for + * memcpy/memset + */ + .data + .align 8 + .globl block_disable +block_disable: .xword 1 + .text +#endif /* USE_BLOCK_STORE_LOAD */ diff --git a/common/lib/libc/arch/sparc64/string/memset.S b/common/lib/libc/arch/sparc64/string/memset.S new file mode 100644 index 000000000..d24773c61 --- /dev/null +++ b/common/lib/libc/arch/sparc64/string/memset.S @@ -0,0 +1,218 @@ +/* $NetBSD: memset.S,v 1.2 2013/03/17 02:12:41 christos Exp $ */ + +/* + * Copyright (c) 1996-2002 Eduardo Horvath + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 "strmacros.h" +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: memset.S,v 1.2 2013/03/17 02:12:41 christos Exp $") +#endif /* LIBC_SCCS and not lint */ + + +/* + * XXXXXXXXXXXXXXXXXXXX + * We need to make sure that this doesn't use floating point + * before our trap handlers are installed or we could panic + * XXXXXXXXXXXXXXXXXXXX + */ +/* + * memset(addr, c, len) + * + * We want to use VIS instructions if we're clearing out more than + * 256 bytes, but to do that we need to properly save and restore the + * FP registers. Unfortunately the code to do that in the kernel needs + * to keep track of the current owner of the FPU, hence the different + * code. + * + * XXXXX To produce more efficient code, we do not allow lengths + * greater than 0x80000000000000000, which are negative numbers. + * This should not really be an issue since the VA hole should + * cause any such ranges to fail anyway. + */ +#if !defined(_KERNEL) || defined(_RUMPKERNEL) +ENTRY(bzero) + ! %o0 = addr, %o1 = len + mov %o1, %o2 + clr %o1 ! ser pattern +#endif +ENTRY(memset) + ! %o0 = addr, %o1 = pattern, %o2 = len + mov %o0, %o4 ! Save original pointer + +Lmemset_internal: + btst 7, %o0 ! Word aligned? + bz,pn %xcc, 0f + nop + inc %o0 + deccc %o2 ! Store up to 7 bytes + bge,a,pt CCCR, Lmemset_internal + stb %o1, [%o0 - 1] + + retl ! Duplicate Lmemset_done + mov %o4, %o0 +0: + /* + * Duplicate the pattern so it fills 64-bits. + */ + andcc %o1, 0x0ff, %o1 ! No need to extend zero + bz,pt %icc, 1f + sllx %o1, 8, %o3 ! sigh. all dependent insns. + or %o1, %o3, %o1 + sllx %o1, 16, %o3 + or %o1, %o3, %o1 + sllx %o1, 32, %o3 + or %o1, %o3, %o1 +1: +#ifdef USE_BLOCK_STORE_LOAD + !! Now we are 64-bit aligned + cmp %o2, 256 ! Use block clear if len > 256 + bge,pt CCCR, Lmemset_block ! use block store insns +#endif /* USE_BLOCK_STORE_LOAD */ + deccc 8, %o2 +Lmemset_longs: + bl,pn CCCR, Lmemset_cleanup ! Less than 8 bytes left + nop +3: + inc 8, %o0 + deccc 8, %o2 + bge,pt CCCR, 3b + stx %o1, [%o0 - 8] ! Do 1 longword at a time + + /* + * Len is in [-8..-1] where -8 => done, -7 => 1 byte to zero, + * -6 => two bytes, etc. Mop up this remainder, if any. + */ +Lmemset_cleanup: + btst 4, %o2 + bz,pt CCCR, 5f ! if (len & 4) { + nop + stw %o1, [%o0] ! *(int *)addr = 0; + inc 4, %o0 ! addr += 4; +5: + btst 2, %o2 + bz,pt CCCR, 7f ! if (len & 2) { + nop + sth %o1, [%o0] ! *(short *)addr = 0; + inc 2, %o0 ! addr += 2; +7: + btst 1, %o2 + bnz,a %icc, Lmemset_done ! if (len & 1) + stb %o1, [%o0] ! *addr = 0; +Lmemset_done: + retl + mov %o4, %o0 ! Restore ponter for memset (ugh) + +#ifdef USE_BLOCK_STORE_LOAD +Lmemset_block: + sethi %hi(block_disable), %o3 + ldx [ %o3 + %lo(block_disable) ], %o3 + brnz,pn %o3, Lmemset_longs + !! Make sure our trap table is installed + set _C_LABEL(trapbase), %o5 + rdpr %tba, %o3 + sub %o3, %o5, %o3 + brnz,pn %o3, Lmemset_longs ! No, then don't use block load/store + nop +/* + * Kernel: + * + * Here we use VIS instructions to do a block clear of a page. + * But before we can do that we need to save and enable the FPU. + * The last owner of the FPU registers is fplwp, and + * fplwp->l_md.md_fpstate is the current fpstate. If that's not + * null, call savefpstate() with it to store our current fp state. + * + * Next, allocate an aligned fpstate on the stack. We will properly + * nest calls on a particular stack so this should not be a problem. + * + * Now we grab either curlwp (or if we're on the interrupt stack + * lwp0). We stash its existing fpstate in a local register and + * put our new fpstate in curlwp->p_md.md_fpstate. We point + * fplwp at curlwp (or lwp0) and enable the FPU. + * + * If we are ever preempted, our FPU state will be saved in our + * fpstate. Then, when we're resumed and we take an FPDISABLED + * trap, the trap handler will be able to fish our FPU state out + * of curlwp (or lwp0). + * + * On exiting this routine we undo the damage: restore the original + * pointer to curlwp->p_md.md_fpstate, clear our fplwp, and disable + * the MMU. + * + */ + + ENABLE_FPU(0) + + !! We are now 8-byte aligned. We need to become 64-byte aligned. + btst 63, %i0 + bz,pt CCCR, 2f + nop +1: + stx %i1, [%i0] + inc 8, %i0 + btst 63, %i0 + bnz,pt %xcc, 1b + dec 8, %i2 + +2: + brz %i1, 3f ! Skip the memory op + fzero %f0 ! if pattern is 0 + +#ifdef _LP64 + stx %i1, [%i0] ! Flush this puppy to RAM + membar #StoreLoad + ldd [%i0], %f0 +#else + stw %i1, [%i0] ! Flush this puppy to RAM + membar #StoreLoad + ld [%i0], %f0 + fmovsa %icc, %f0, %f1 +#endif + +3: + fmovd %f0, %f2 ! Duplicate the pattern + fmovd %f0, %f4 + fmovd %f0, %f6 + fmovd %f0, %f8 + fmovd %f0, %f10 + fmovd %f0, %f12 + fmovd %f0, %f14 + + !! Remember: we were 8 bytes too far + dec 56, %i2 ! Go one iteration too far +5: + stda %f0, [%i0] ASI_STORE ! Store 64 bytes + deccc BLOCK_SIZE, %i2 + bg,pt %icc, 5b + inc BLOCK_SIZE, %i0 + + membar #Sync +/* + * We've saved our possible fpstate, now disable the fpu + * and continue with life. + */ + RESTORE_FPU + addcc %i2, 56, %i2 ! Restore the count + ba,pt %xcc, Lmemset_longs ! Finish up the remainder + restore +#endif /* USE_BLOCK_STORE_LOAD */ diff --git a/common/lib/libc/arch/sparc64/string/strmacros.h b/common/lib/libc/arch/sparc64/string/strmacros.h new file mode 100644 index 000000000..420c6ab55 --- /dev/null +++ b/common/lib/libc/arch/sparc64/string/strmacros.h @@ -0,0 +1,119 @@ +/* $NetBSD: strmacros.h,v 1.1 2013/03/17 00:42:32 christos Exp $ */ + +/* + * Copyright (c) 1996-2002 Eduardo Horvath + * 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. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 +#if defined(_KERNEL) && !defined(_RUMPKERNEL) +#define USE_BLOCK_STORE_LOAD /* enable block load/store ops */ +#include "assym.h" +#include +#include +#include +#include +#include +#include + +#ifdef USE_BLOCK_STORE_LOAD + +#define BLOCK_SIZE SPARC64_BLOCK_SIZE +#define BLOCK_ALIGN SPARC64_BLOCK_ALIGN + +/* + * The following routines allow fpu use in the kernel. + * + * They allocate a stack frame and use all local regs. Extra + * local storage can be requested by setting the siz parameter, + * and can be accessed at %sp+CC64FSZ. + */ + +#define ENABLE_FPU(siz) \ + save %sp, -(CC64FSZ), %sp; /* Allocate a stack frame */ \ + sethi %hi(FPLWP), %l1; \ + add %fp, STKB-FS_SIZE, %l0; /* Allocate a fpstate */\ + LDPTR [%l1 + %lo(FPLWP)], %l2; /* Load fplwp */ \ + andn %l0, BLOCK_ALIGN, %l0; /* Align it */ \ + clr %l3; /* NULL fpstate */ \ + brz,pt %l2, 1f; /* fplwp == NULL? */ \ + add %l0, -STKB-CC64FSZ-(siz), %sp; /* Set proper %sp */ \ + LDPTR [%l2 + L_FPSTATE], %l3; \ + brz,pn %l3, 1f; /* Make sure we have an fpstate */ \ + mov %l3, %o0; \ + call _C_LABEL(savefpstate); /* Save the old fpstate */ \ +1: \ + set EINTSTACK-STKB, %l4; /* Are we on intr stack? */ \ + cmp %sp, %l4; \ + bgu,pt %xcc, 1f; \ + set INTSTACK-STKB, %l4; \ + cmp %sp, %l4; \ + blu %xcc, 1f; \ +0: \ + sethi %hi(_C_LABEL(lwp0)), %l4; /* Yes, use lpw0 */ \ + ba,pt %xcc, 2f; /* XXXX needs to change to CPUs idle proc */ \ + or %l4, %lo(_C_LABEL(lwp0)), %l5; \ +1: \ + sethi %hi(CURLWP), %l4; /* Use curlwp */ \ + LDPTR [%l4 + %lo(CURLWP)], %l5; \ + brz,pn %l5, 0b; nop; /* If curlwp is NULL need to use lwp0 */\ +2: \ + LDPTR [%l5 + L_FPSTATE], %l6; /* Save old fpstate */ \ + STPTR %l0, [%l5 + L_FPSTATE]; /* Insert new fpstate */\ + STPTR %l5, [%l1 + %lo(FPLWP)]; /* Set new fplwp */ \ + wr %g0, FPRS_FEF, %fprs /* Enable FPU */ + +/* + * Weve saved our possible fpstate, now disable the fpu + * and continue with life. + */ +#ifdef DEBUG +#define __CHECK_FPU \ + LDPTR [%l5 + L_FPSTATE], %l7; \ + cmp %l7, %l0; \ + tnz 1; +#else +#define __CHECK_FPU +#endif + +#define RESTORE_FPU \ + __CHECK_FPU \ + STPTR %l2, [%l1 + %lo(FPLWP)]; /* Restore old fproc */ \ + wr %g0, 0, %fprs; /* Disable fpu */ \ + brz,pt %l3, 1f; /* Skip if no fpstate */ \ + STPTR %l6, [%l5 + L_FPSTATE]; /* Restore old fpstate */\ + \ + mov %l3, %o0; \ + call _C_LABEL(loadfpstate); /* Reload orig fpstate */\ +1: \ + membar #Sync; /* Finish all FP ops */ + +#endif /* USE_BLOCK_STORE_LOAD */ + +#ifdef USE_BLOCK_STORE_LOAD +#if 0 +#define ASI_STORE ASI_BLK_COMMIT_P +#else +#define ASI_STORE ASI_BLK_P +#endif +#endif /* USE_BLOCK_STORE_LOAD */ +#endif /* _KERNEL && !_RUMPKERNEL */ diff --git a/common/lib/libc/arch/x86_64/string/bzero.S b/common/lib/libc/arch/x86_64/string/bzero.S deleted file mode 100644 index 27c6e4a8a..000000000 --- a/common/lib/libc/arch/x86_64/string/bzero.S +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Code for bzero() is in memset.S - * - * This file is left in place so that libc.a doesn't get a duplicate - * symbol error on update builds. - * - * If you are reading this in 2010, delete the file! - */ diff --git a/common/lib/libc/atomic/atomic_init_cas.c b/common/lib/libc/atomic/atomic_init_cas.c index 51a83d011..f99d96ccc 100644 --- a/common/lib/libc/atomic/atomic_init_cas.c +++ b/common/lib/libc/atomic/atomic_init_cas.c @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_init_cas.c,v 1.3 2008/04/28 20:22:53 martin Exp $ */ +/* $NetBSD: atomic_init_cas.c,v 1.4 2013/08/21 03:00:56 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -32,11 +32,11 @@ */ #include -__RCSID("$NetBSD: atomic_init_cas.c,v 1.3 2008/04/28 20:22:53 martin Exp $"); +__RCSID("$NetBSD: atomic_init_cas.c,v 1.4 2013/08/21 03:00:56 matt Exp $"); void __libc_atomic_init(void) __attribute__ ((visibility("hidden"))); -void +void __section(".text.startup") __libc_atomic_init(void) { diff --git a/common/lib/libc/atomic/atomic_init_testset.c b/common/lib/libc/atomic/atomic_init_testset.c index f85ddf5b1..dab958fcf 100644 --- a/common/lib/libc/atomic/atomic_init_testset.c +++ b/common/lib/libc/atomic/atomic_init_testset.c @@ -1,4 +1,4 @@ -/* $NetBSD: atomic_init_testset.c,v 1.8 2012/02/28 20:41:19 joerg Exp $ */ +/* $NetBSD: atomic_init_testset.c,v 1.9 2013/08/21 03:00:56 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ */ #include -__RCSID("$NetBSD: atomic_init_testset.c,v 1.8 2012/02/28 20:41:19 joerg Exp $"); +__RCSID("$NetBSD: atomic_init_testset.c,v 1.9 2013/08/21 03:00:56 matt Exp $"); #include "atomic_op_namespace.h" @@ -109,7 +109,7 @@ _atomic_cas_32(volatile uint32_t *ptr, uint32_t old, uint32_t new) return (*_atomic_cas_fn)(ptr, old, new); } -void +void __section(".text.startup") __libc_atomic_init(void) { #if !defined(__minix) diff --git a/common/lib/libc/gen/bswap64.c b/common/lib/libc/gen/bswap64.c index b2decf94d..dfb321510 100644 --- a/common/lib/libc/gen/bswap64.c +++ b/common/lib/libc/gen/bswap64.c @@ -15,6 +15,10 @@ __RCSID("$NetBSD: bswap64.c,v 1.3 2009/03/16 05:59:21 cegger Exp $"); #undef bswap64 +#if defined(__minix) && defined(_STANDALONE) +#undef bswap32 +#endif /* defined(__minix) && defined(_STANDALONE) */ + uint64_t bswap64(uint64_t x) { diff --git a/common/lib/libc/hash/murmurhash/murmurhash.c b/common/lib/libc/hash/murmurhash/murmurhash.c index 87915c31e..e4a987ce7 100644 --- a/common/lib/libc/hash/murmurhash/murmurhash.c +++ b/common/lib/libc/hash/murmurhash/murmurhash.c @@ -1,4 +1,4 @@ -/* $NetBSD: murmurhash.c,v 1.4 2012/07/10 17:05:38 christos Exp $ */ +/* $NetBSD: murmurhash.c,v 1.6 2013/10/26 21:06:38 rmind Exp $ */ /* * MurmurHash2 -- from the original code: @@ -14,23 +14,26 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -__KERNEL_RCSID(0, "$NetBSD: murmurhash.c,v 1.4 2012/07/10 17:05:38 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: murmurhash.c,v 1.6 2013/10/26 21:06:38 rmind Exp $"); #else #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: murmurhash.c,v 1.4 2012/07/10 17:05:38 christos Exp $"); +__RCSID("$NetBSD: murmurhash.c,v 1.6 2013/10/26 21:06:38 rmind Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #endif #include +#include #include +#if !defined(_KERNEL) && !defined(_STANDALONE) #ifdef __weak_alias __weak_alias(murmurhash2,_murmurhash2) #endif +#endif uint32_t murmurhash2(const void *key, size_t len, uint32_t seed) @@ -46,23 +49,39 @@ murmurhash2(const void *key, size_t len, uint32_t seed) const uint8_t *data = key; uint32_t h = seed ^ (uint32_t)len; - while (len >= sizeof(uint32_t)) { - uint32_t k; + if (__predict_true(ALIGNED_POINTER(key, uint32_t))) { + while (len >= sizeof(uint32_t)) { + uint32_t k = *(const uint32_t *)data; - k = data[0]; - k |= data[1] << 8; - k |= data[2] << 16; - k |= data[3] << 24; + k *= m; + k ^= k >> r; + k *= m; - k *= m; - k ^= k >> r; - k *= m; + h *= m; + h ^= k; - h *= m; - h ^= k; + data += sizeof(uint32_t); + len -= sizeof(uint32_t); + } + } else { + while (len >= sizeof(uint32_t)) { + uint32_t k; - data += sizeof(uint32_t); - len -= sizeof(uint32_t); + k = data[0]; + k |= data[1] << 8; + k |= data[2] << 16; + k |= data[3] << 24; + + k *= m; + k ^= k >> r; + k *= m; + + h *= m; + h ^= k; + + data += sizeof(uint32_t); + len -= sizeof(uint32_t); + } } /* Handle the last few bytes of the input array. */ diff --git a/common/lib/libc/hash/sha2/sha2.c b/common/lib/libc/hash/sha2/sha2.c index 55fd47df0..27ace13bc 100644 --- a/common/lib/libc/hash/sha2/sha2.c +++ b/common/lib/libc/hash/sha2/sha2.c @@ -1,4 +1,4 @@ -/* $NetBSD: sha2.c,v 1.21 2010/01/24 21:11:18 joerg Exp $ */ +/* $NetBSD: sha2.c,v 1.24 2013/06/09 19:46:56 christos Exp $ */ /* $KAME: sha2.c,v 1.9 2003/07/20 00:28:38 itojun Exp $ */ /* @@ -43,7 +43,7 @@ #include #if defined(_KERNEL) || defined(_STANDALONE) -__KERNEL_RCSID(0, "$NetBSD: sha2.c,v 1.21 2010/01/24 21:11:18 joerg Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sha2.c,v 1.24 2013/06/09 19:46:56 christos Exp $"); #include /* XXX: to pull for vax memset(9) */ #include @@ -51,7 +51,7 @@ __KERNEL_RCSID(0, "$NetBSD: sha2.c,v 1.21 2010/01/24 21:11:18 joerg Exp $"); #else #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: sha2.c,v 1.21 2010/01/24 21:11:18 joerg Exp $"); +__RCSID("$NetBSD: sha2.c,v 1.24 2013/06/09 19:46:56 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -62,49 +62,8 @@ __RCSID("$NetBSD: sha2.c,v 1.21 2010/01/24 21:11:18 joerg Exp $"); #include #include -#if HAVE_NBTOOL_CONFIG_H -# if HAVE_SYS_ENDIAN_H -# include -# else -# undef htobe32 -# undef htobe64 -# undef be32toh -# undef be64toh - -static uint32_t -htobe32(uint32_t x) -{ - uint8_t p[4]; - memcpy(p, &x, 4); - - return ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); -} - -static uint64_t -htobe64(uint64_t x) -{ - uint8_t p[8]; - uint32_t u, v; - memcpy(p, &x, 8); - - u = ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); - v = ((p[4] << 24) | (p[5] << 16) | (p[6] << 8) | p[7]); - - return ((((uint64_t)u) << 32) | v); -} - -static uint32_t -be32toh(uint32_t x) -{ - return htobe32(x); -} - -static uint64_t -be64toh(uint64_t x) -{ - return htobe64(x); -} -# endif +#if HAVE_SYS_ENDIAN_H +# include #endif /*** SHA-256/384/512 Various Length Definitions ***********************/ @@ -326,7 +285,7 @@ SHA256_Init(SHA256_CTX *context) /* Unrolled SHA-256 round macros: */ #define ROUND256_0_TO_15(a,b,c,d,e,f,g,h) \ - W256[j] = be32toh(*data); \ + W256[j] = be32dec(data); \ ++data; \ T1 = (h) + Sigma1_256(e) + Ch((e), (f), (g)) + \ K256[j] + W256[j]; \ @@ -426,7 +385,7 @@ SHA256_Transform(SHA256_CTX *context, const uint32_t *data) j = 0; do { - W256[j] = be32toh(*data); + W256[j] = be32dec(data); ++data; /* Apply the SHA-256 compression function to update a..h */ T1 = h + Sigma1_256(e) + Ch(e, f, g) + K256[j] + W256[j]; @@ -672,7 +631,7 @@ SHA512_Init(SHA512_CTX *context) /* Unrolled SHA-512 round macros: */ #define ROUND512_0_TO_15(a,b,c,d,e,f,g,h) \ - W512[j] = be64toh(*data); \ + W512[j] = be64dec(data); \ ++data; \ T1 = (h) + Sigma1_512(e) + Ch((e), (f), (g)) + \ K512[j] + W512[j]; \ @@ -767,7 +726,7 @@ SHA512_Transform(SHA512_CTX *context, const uint64_t *data) j = 0; do { - W512[j] = be64toh(*data); + W512[j] = be64dec(data); ++data; /* Apply the SHA-512 compression function to update a..h */ T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j]; diff --git a/common/lib/libc/quad/lshldi3.c b/common/lib/libc/quad/lshldi3.c index 2c51669e5..9263c4a77 100644 --- a/common/lib/libc/quad/lshldi3.c +++ b/common/lib/libc/quad/lshldi3.c @@ -1,4 +1,4 @@ -/* $NetBSD: lshldi3.c,v 1.3 2012/08/06 02:31:54 matt Exp $ */ +/* $NetBSD: lshldi3.c,v 1.4 2012/12/07 15:41:02 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,7 +38,7 @@ #if 0 static char sccsid[] = "@(#)lshldi3.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: lshldi3.c,v 1.3 2012/08/06 02:31:54 matt Exp $"); +__RCSID("$NetBSD: lshldi3.c,v 1.4 2012/12/07 15:41:02 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -59,7 +59,7 @@ __lshldi3(quad_t a, qshift_t shift) return(a); aa.q = a; if (shift >= INT_BITS) { - aa.ul[H] = aa.ul[L] << (shift - INT_BITS); + aa.ul[H] = aa.ul[L] << (unsigned int)(shift - INT_BITS); aa.ul[L] = 0; } else { aa.ul[H] = (aa.ul[H] << shift) | diff --git a/common/lib/libc/stdlib/_strtol.h b/common/lib/libc/stdlib/_strtol.h index e722f0a88..1901e560d 100644 --- a/common/lib/libc/stdlib/_strtol.h +++ b/common/lib/libc/stdlib/_strtol.h @@ -1,4 +1,4 @@ -/* $NetBSD: _strtol.h,v 1.3 2012/03/09 15:41:16 christos Exp $ */ +/* $NetBSD: _strtol.h,v 1.7 2013/05/17 12:55:56 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -41,9 +41,19 @@ * __INT_MIN : lower limit of the return type * __INT_MAX : upper limit of the return type */ - +#if defined(_KERNEL) || defined(_STANDALONE) || defined(HAVE_NBTOOL_CONFIG_H) || defined(BCS_ONLY) __INT _FUNCNAME(const char *nptr, char **endptr, int base) +#else +#include +#include "setlocale_local.h" +#define INT_FUNCNAME_(pre, name, post) pre ## name ## post +#define INT_FUNCNAME(pre, name, post) INT_FUNCNAME_(pre, name, post) + +static __INT +INT_FUNCNAME(_int_, _FUNCNAME, _l)(const char *nptr, char **endptr, + int base, locale_t loc) +#endif { const char *s; __INT acc, cutoff; @@ -72,9 +82,16 @@ _FUNCNAME(const char *nptr, char **endptr, int base) * assume decimal; if base is already 16, allow 0x. */ s = nptr; +#if defined(_KERNEL) || defined(_STANDALONE) || \ + defined(HAVE_NBTOOL_CONFIG_H) || defined(BCS_ONLY) do { c = *s++; } while (isspace(c)); +#else + do { + c = *s++; + } while (isspace_l(c, loc)); +#endif if (c == '-') { neg = 1; c = *s++; @@ -120,10 +137,12 @@ _FUNCNAME(const char *nptr, char **endptr, int base) cutlim = -cutlim; } for (acc = 0, any = 0;; c = *s++) { - if (isdigit(c)) + if (c >= '0' && c <= '9') i = c - '0'; - else if (isalpha(c)) - i = c - (isupper(c) ? 'A' - 10 : 'a' - 10); + else if (c >= 'a' && c <= 'z') + i = (c - 'a') + 10; + else if (c >= 'A' && c <= 'Z') + i = (c - 'A') + 10; else break; if (i >= base) @@ -167,3 +186,18 @@ _FUNCNAME(const char *nptr, char **endptr, int base) *endptr = __UNCONST(any ? s - 1 : nptr); return(acc); } + +#if !defined(_KERNEL) && !defined(_STANDALONE) && \ + !defined(HAVE_NBTOOL_CONFIG_H) && !defined(BCS_ONLY) +__INT +_FUNCNAME(const char *nptr, char **endptr, int base) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, _current_locale()); +} + +__INT +INT_FUNCNAME(, _FUNCNAME, _l)(const char *nptr, char **endptr, int base, locale_t loc) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, loc); +} +#endif diff --git a/common/lib/libc/stdlib/_strtoul.h b/common/lib/libc/stdlib/_strtoul.h index 8256ffd74..27e2e079d 100644 --- a/common/lib/libc/stdlib/_strtoul.h +++ b/common/lib/libc/stdlib/_strtoul.h @@ -1,4 +1,4 @@ -/* $NetBSD: _strtoul.h,v 1.3 2012/03/22 15:57:29 christos Exp $ */ +/* $NetBSD: _strtoul.h,v 1.7 2013/05/17 12:55:56 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -40,9 +40,20 @@ * __UINT : return type * __UINT_MAX : upper limit of the return type */ - +#if defined(_KERNEL) || defined(_STANDALONE) || \ + defined(HAVE_NBTOOL_CONFIG_H) || defined(BCS_ONLY) __UINT _FUNCNAME(const char *nptr, char **endptr, int base) +#else +#include +#include "setlocale_local.h" +#define INT_FUNCNAME_(pre, name, post) pre ## name ## post +#define INT_FUNCNAME(pre, name, post) INT_FUNCNAME_(pre, name, post) + +static __UINT +INT_FUNCNAME(_int_, _FUNCNAME, _l)(const char *nptr, char **endptr, + int base, locale_t loc) +#endif { const char *s; __UINT acc, cutoff; @@ -68,9 +79,16 @@ _FUNCNAME(const char *nptr, char **endptr, int base) * assume decimal; if base is already 16, allow 0x. */ s = nptr; +#if defined(_KERNEL) || defined(_STANDALONE) || \ + defined(HAVE_NBTOOL_CONFIG_H) || defined(BCS_ONLY) do { c = *s++; } while (isspace(c)); +#else + do { + c = *s++; + } while (isspace_l(c, loc)); +#endif if (c == '-') { neg = 1; c = *s++; @@ -94,10 +112,12 @@ _FUNCNAME(const char *nptr, char **endptr, int base) cutoff = ((__UINT)__UINT_MAX / (__UINT)base); cutlim = (int)((__UINT)__UINT_MAX % (__UINT)base); for (acc = 0, any = 0;; c = *s++) { - if (isdigit(c)) + if (c >= '0' && c <= '9') i = c - '0'; - else if (isalpha(c)) - i = c - (isupper(c) ? 'A' - 10 : 'a' - 10); + else if (c >= 'a' && c <= 'z') + i = (c - 'a') + 10; + else if (c >= 'A' && c <= 'Z') + i = (c - 'A') + 10; else break; if (i >= base) @@ -126,3 +146,18 @@ _FUNCNAME(const char *nptr, char **endptr, int base) *endptr = __UNCONST(any ? s - 1 : nptr); return(acc); } + +#if !defined(_KERNEL) && !defined(_STANDALONE) && \ + !defined(HAVE_NBTOOL_CONFIG_H) && !defined(BCS_ONLY) +__UINT +_FUNCNAME(const char *nptr, char **endptr, int base) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, _current_locale()); +} + +__UINT +INT_FUNCNAME(, _FUNCNAME, _l)(const char *nptr, char **endptr, int base, locale_t loc) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, loc); +} +#endif diff --git a/common/lib/libc/stdlib/strtoll.c b/common/lib/libc/stdlib/strtoll.c index 184f92c90..551f5f4ff 100644 --- a/common/lib/libc/stdlib/strtoll.c +++ b/common/lib/libc/stdlib/strtoll.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtoll.c,v 1.6 2008/08/22 03:00:02 matt Exp $ */ +/* $NetBSD: strtoll.c,v 1.7 2013/04/16 21:44:06 joerg Exp $ */ /*- * Copyright (c) 2005 The DragonFly Project. All rights reserved. @@ -32,7 +32,7 @@ #endif #include -__RCSID("$NetBSD: strtoll.c,v 1.6 2008/08/22 03:00:02 matt Exp $"); +__RCSID("$NetBSD: strtoll.c,v 1.7 2013/04/16 21:44:06 joerg Exp $"); #ifdef _LIBC #include "namespace.h" @@ -63,4 +63,5 @@ __RCSID("$NetBSD: strtoll.c,v 1.6 2008/08/22 03:00:02 matt Exp $"); #ifdef _LIBC __weak_alias(strtoll, _strtoll) +__weak_alias(strtoll_l, _strtoll_l) #endif diff --git a/common/lib/libc/stdlib/strtoull.c b/common/lib/libc/stdlib/strtoull.c index 72efd4ae9..afd04776f 100644 --- a/common/lib/libc/stdlib/strtoull.c +++ b/common/lib/libc/stdlib/strtoull.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtoull.c,v 1.5 2008/09/10 18:08:58 joerg Exp $ */ +/* $NetBSD: strtoull.c,v 1.6 2013/04/16 21:44:06 joerg Exp $ */ /*- * Copyright (c) 2005 The DragonFly Project. All rights reserved. @@ -32,7 +32,7 @@ #endif #include -__RCSID("$NetBSD: strtoull.c,v 1.5 2008/09/10 18:08:58 joerg Exp $"); +__RCSID("$NetBSD: strtoull.c,v 1.6 2013/04/16 21:44:06 joerg Exp $"); #ifdef _LIBC #include "namespace.h" @@ -62,4 +62,5 @@ __RCSID("$NetBSD: strtoull.c,v 1.5 2008/09/10 18:08:58 joerg Exp $"); #ifdef _LIBC __weak_alias(strtoull, _strtoull) +__weak_alias(strtoull_l, _strtoull_l) #endif diff --git a/common/lib/libc/stdlib/strtoumax.c b/common/lib/libc/stdlib/strtoumax.c index d8356e0b1..cf098d1d2 100644 --- a/common/lib/libc/stdlib/strtoumax.c +++ b/common/lib/libc/stdlib/strtoumax.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtoumax.c,v 1.5 2008/09/10 18:08:58 joerg Exp $ */ +/* $NetBSD: strtoumax.c,v 1.6 2013/04/16 21:44:06 joerg Exp $ */ /*- * Copyright (c) 2005 The DragonFly Project. All rights reserved. @@ -32,7 +32,7 @@ #endif #include -__RCSID("$NetBSD: strtoumax.c,v 1.5 2008/09/10 18:08:58 joerg Exp $"); +__RCSID("$NetBSD: strtoumax.c,v 1.6 2013/04/16 21:44:06 joerg Exp $"); #ifdef _LIBC #include "namespace.h" @@ -63,4 +63,5 @@ __RCSID("$NetBSD: strtoumax.c,v 1.5 2008/09/10 18:08:58 joerg Exp $"); #ifdef _LIBC __weak_alias(strtoumax, _strtoumax) +__weak_alias(strtoumax_l, _strtoumax_l) #endif diff --git a/common/lib/libc/string/consttime_bcmp.c b/common/lib/libc/string/consttime_bcmp.c deleted file mode 100644 index e6c0b31c1..000000000 --- a/common/lib/libc/string/consttime_bcmp.c +++ /dev/null @@ -1,19 +0,0 @@ -/* $NetBSD: consttime_bcmp.c,v 1.1 2012/08/30 12:16:49 drochner Exp $ */ - -#if !defined(_KERNEL) && !defined(_STANDALONE) -#include -#define consttime_bcmp __consttime_bcmp -#else -#include -#endif - -int -consttime_bcmp(const void *b1, const void *b2, size_t len) -{ - const char *c1 = b1, *c2 = b2; - int res = 0; - - while (len --) - res |= *c1++ ^ *c2++; - return res; -} diff --git a/common/lib/libc/string/consttime_memequal.c b/common/lib/libc/string/consttime_memequal.c new file mode 100644 index 000000000..a00d7e197 --- /dev/null +++ b/common/lib/libc/string/consttime_memequal.c @@ -0,0 +1,32 @@ +/* $NetBSD: consttime_memequal.c,v 1.4 2013/08/28 19:31:14 riastradh Exp $ */ + +#if !defined(_KERNEL) && !defined(_STANDALONE) +#include "namespace.h" +#include +#ifdef __weak_alias +__weak_alias(consttime_memequal,_consttime_memequal) +#endif +#else +#include +#endif + +int +consttime_memequal(const void *b1, const void *b2, size_t len) +{ + const char *c1 = b1, *c2 = b2; + int res = 0; + + while (len --) + res |= *c1++ ^ *c2++; + + /* + * If the compiler for your favourite architecture generates a + * conditional branch for `!res', it will be a data-dependent + * branch, in which case this should be replaced by + * + * return (1 - (1 & ((res - 1) >> 8))); + * + * or rewritten in assembly. + */ + return !res; +} diff --git a/common/lib/libc/string/explicit_bzero.c b/common/lib/libc/string/explicit_memset.c similarity index 56% rename from common/lib/libc/string/explicit_bzero.c rename to common/lib/libc/string/explicit_memset.c index c34410cfd..b6bd43f90 100644 --- a/common/lib/libc/string/explicit_bzero.c +++ b/common/lib/libc/string/explicit_memset.c @@ -1,8 +1,11 @@ -/* $NetBSD: explicit_bzero.c,v 1.1 2012/08/30 12:16:49 drochner Exp $ */ +/* $NetBSD: explicit_memset.c,v 1.3 2013/08/28 17:47:07 riastradh Exp $ */ #if !defined(_KERNEL) && !defined(_STANDALONE) +#include "namespace.h" #include -#define explicit_bzero __explicit_bzero +#ifdef __weak_alias +__weak_alias(explicit_memset,_explicit_memset) +#endif #define explicit_memset_impl __explicit_memset_impl #else #include @@ -14,9 +17,9 @@ */ void *(* volatile explicit_memset_impl)(void *, int, size_t) = memset; -void -explicit_bzero(void *b, size_t len) +void * +explicit_memset(void *b, int c, size_t len) { - (*explicit_memset_impl)(b, 0, len); + return (*explicit_memset_impl)(b, c, len); } diff --git a/common/lib/libc/string/strcmp.c b/common/lib/libc/string/strcmp.c index e17aab2db..4105de552 100644 --- a/common/lib/libc/string/strcmp.c +++ b/common/lib/libc/string/strcmp.c @@ -1,4 +1,4 @@ -/* $NetBSD: strcmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $ */ +/* $NetBSD: strcmp.c,v 1.3 2013/07/01 20:51:59 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)strcmp.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: strcmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $"); +__RCSID("$NetBSD: strcmp.c,v 1.3 2013/07/01 20:51:59 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -48,6 +48,8 @@ __RCSID("$NetBSD: strcmp.c,v 1.2 2007/06/04 18:19:27 christos Exp $"); #include #endif +#undef strcmp + /* * Compare strings. */ diff --git a/common/lib/libc/string/strlcat.c b/common/lib/libc/string/strlcat.c index d4a8d7eba..909dc9b29 100644 --- a/common/lib/libc/string/strlcat.c +++ b/common/lib/libc/string/strlcat.c @@ -1,4 +1,4 @@ -/* $NetBSD: strlcat.c,v 1.3 2007/06/04 18:19:27 christos Exp $ */ +/* $NetBSD: strlcat.c,v 1.4 2013/01/23 07:57:27 matt Exp $ */ /* $OpenBSD: strlcat.c,v 1.10 2003/04/12 21:56:39 millert Exp $ */ /* @@ -24,7 +24,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: strlcat.c,v 1.3 2007/06/04 18:19:27 christos Exp $"); +__RCSID("$NetBSD: strlcat.c,v 1.4 2013/01/23 07:57:27 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #ifdef _LIBC @@ -55,6 +55,7 @@ __weak_alias(strlcat, _strlcat) size_t strlcat(char *dst, const char *src, size_t siz) { +#if 1 char *d = dst; const char *s = src; size_t n = siz; @@ -81,5 +82,20 @@ strlcat(char *dst, const char *src, size_t siz) *d = '\0'; return(dlen + (s - src)); /* count does not include NUL */ +#else + _DIAGASSERT(dst != NULL); + _DIAGASSERT(src != NULL); + + /* + * Find length of string in dst (maxing out at siz). + */ + size_t dlen = strnlen(dst, siz); + + /* + * Copy src into any remaining space in dst (truncating if needed). + * Note strlcpy(dst, src, 0) returns strlen(src). + */ + return dlen + strlcpy(dst + dlen, src, siz - dlen); +#endif } #endif diff --git a/common/lib/libprop/prop_dictionary.c b/common/lib/libprop/prop_dictionary.c index 6e1435088..203e8ccbb 100644 --- a/common/lib/libprop/prop_dictionary.c +++ b/common/lib/libprop/prop_dictionary.c @@ -1,4 +1,4 @@ -/* $NetBSD: prop_dictionary.c,v 1.38 2012/07/27 09:10:59 pooka Exp $ */ +/* $NetBSD: prop_dictionary.c,v 1.39 2013/10/18 18:26:20 martin Exp $ */ /*- * Copyright (c) 2006, 2007 The NetBSD Foundation, Inc. @@ -338,7 +338,7 @@ _prop_dict_keysym_alloc(const char *key) rpdk = _prop_rb_tree_insert_node(&_prop_dict_keysym_tree, pdk); _PROP_ASSERT(rpdk == pdk); _PROP_MUTEX_UNLOCK(_prop_dict_keysym_tree_mutex); - return (pdk); + return (rpdk); } static _prop_object_free_rv_t @@ -655,9 +655,9 @@ static void _prop_dictionary_iterator_reset(void *v) { struct _prop_dictionary_iterator *pdi = v; -#ifdef _REENTRANT +#if defined(__minix) && defined(_REENTRANT) prop_dictionary_t pd _PROP_ARG_UNUSED = pdi->pdi_base.pi_obj; -#endif +#endif /* defined(__minix) && defined(_REENTRANT) */ _PROP_RWLOCK_RDLOCK(pd->pd_rwlock); _prop_dictionary_iterator_reset_locked(pdi); diff --git a/common/lib/libprop/prop_number.c b/common/lib/libprop/prop_number.c index c6b47c5d7..1d56f8033 100644 --- a/common/lib/libprop/prop_number.c +++ b/common/lib/libprop/prop_number.c @@ -1,4 +1,4 @@ -/* $NetBSD: prop_number.c,v 1.24 2012/07/27 09:10:59 pooka Exp $ */ +/* $NetBSD: prop_number.c,v 1.25 2013/10/18 18:26:20 martin Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -314,7 +314,7 @@ _prop_number_alloc(const struct _prop_number_value *pnv) rpn = _prop_rb_tree_insert_node(&_prop_number_tree, pn); _PROP_ASSERT(rpn == pn); _PROP_MUTEX_UNLOCK(_prop_number_tree_mutex); - return (pn); + return (rpn); } /* diff --git a/common/lib/libprop/prop_object.c b/common/lib/libprop/prop_object.c index ea26bff95..12e040355 100644 --- a/common/lib/libprop/prop_object.c +++ b/common/lib/libprop/prop_object.c @@ -1,4 +1,4 @@ -/* $NetBSD: prop_object.c,v 1.28 2012/07/27 09:10:59 pooka Exp $ */ +/* $NetBSD: prop_object.c,v 1.29 2013/10/18 18:26:20 martin Exp $ */ /*- * Copyright (c) 2006, 2007 The NetBSD Foundation, Inc. @@ -1001,7 +1001,7 @@ void prop_object_retain(prop_object_t obj) { struct _prop_object *po = obj; - uint32_t ncnt; + uint32_t ncnt __unused; _PROP_ATOMIC_INC32_NV(&po->po_refcnt, ncnt); _PROP_ASSERT(ncnt != 0); diff --git a/common/lib/libutil/snprintb.c b/common/lib/libutil/snprintb.c index 2efaa01cc..3f7ef88cf 100644 --- a/common/lib/libutil/snprintb.c +++ b/common/lib/libutil/snprintb.c @@ -1,4 +1,4 @@ -/* $NetBSD: snprintb.c,v 1.7 2012/01/23 03:22:41 christos Exp $ */ +/* $NetBSD: snprintb.c,v 1.14 2013/08/08 22:18:20 pgoyette Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -41,23 +41,24 @@ # include # if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: snprintb.c,v 1.7 2012/01/23 03:22:41 christos Exp $"); +__RCSID("$NetBSD: snprintb.c,v 1.14 2013/08/08 22:18:20 pgoyette Exp $"); # endif # include -# include +# include # include # include # include -# else +# else /* ! _KERNEL */ # include -__KERNEL_RCSID(0, "$NetBSD: snprintb.c,v 1.7 2012/01/23 03:22:41 christos Exp $"); +__KERNEL_RCSID(0, "$NetBSD: snprintb.c,v 1.14 2013/08/08 22:18:20 pgoyette Exp $"); # include # include # include # include -# endif +# endif /* ! _KERNEL */ +# ifndef HAVE_SNPRINTB_M int snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, size_t l_max) @@ -114,12 +115,12 @@ snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, if ((val == 0) && (ch != '\177')) goto terminate; -#define STORE(c) { l_len++; \ +#define STORE(c) do { l_len++; \ if ((size_t)(++t_len) < buflen) \ *bp++ = (c); \ } while ( /* CONSTCOND */ 0) -#define BACKUP { if (s_bp != NULL) { \ +#define BACKUP do { if (s_bp != NULL) { \ bp = s_bp; s_bp = NULL; \ t_len -= l_len - s_len; \ restart = 1; \ @@ -131,32 +132,34 @@ snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, t_len += v_len; l_len = v_len; bp += v_len; \ } while ( /* CONSTCOND */ 0) -#define PUTSEP \ - if (l_max > 0 && (size_t)l_len >= l_max) { \ - BACKUP; \ - STORE('<'); \ - } else { \ - /* Remember separator location */ \ - if (l_max > 0 && sep != '<') { \ - s_len = l_len; \ - s_bp = bp; \ - s_fmt = cur_fmt; \ +#define PUTSEP do { \ + if (l_max > 0 && (size_t)l_len >= l_max) { \ + BACKUP; \ + STORE('<'); \ + } else { \ + /* Remember separator location */ \ + if (l_max > 0 && sep != '<') { \ + s_len = l_len; \ + s_bp = bp; \ + s_fmt = cur_fmt; \ + } \ + STORE(sep); \ + restart = 0; \ } \ - STORE(sep); \ - restart = 0; \ - } \ + } while ( /* CONSTCOND */ 0) -#define PUTCHR(c) \ - if (l_max > 0 && (size_t)l_len >= (l_max - 1)) { \ - BACKUP; \ - if (restart == 0) { \ +#define PUTCHR(c) do { \ + if (l_max > 0 && (size_t)l_len >= (l_max - 1)) {\ + BACKUP; \ + if (restart == 0) \ + STORE(c); \ + else \ + sep = '<'; \ + } else { \ STORE(c); \ - } else \ - sep = '<'; \ - } else { \ - STORE(c); \ - restart = 0; \ - } \ + restart = 0; \ + } \ + } while ( /* CONSTCOND */ 0) #define PUTS(s) while ((ch = *(s)++) != 0) { \ PUTCHR(ch); \ @@ -193,7 +196,7 @@ snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, bit = *bitfmt++; /* now 0-origin */ switch (ch) { case 'b': - if (((u_int)(val >> bit) & 1) == 0) + if (((unsigned int)(val >> bit) & 1) == 0) goto skip; cur_fmt = c_fmt; PUTSEP; @@ -214,10 +217,10 @@ snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, sep = ','; if (ch == 'F') /* just extract */ break; - if (restart == 0) { + if (restart == 0) PUTS(bitfmt); + if (restart == 0) PUTCHR('='); - } if (restart == 0) { f_len = snprintf(bp, buflen - t_len, sbase, field); @@ -227,10 +230,8 @@ snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, l_len += f_len; if ((size_t)t_len < buflen) bp += f_len; - if (l_max > 0 && - (size_t)l_len > l_max) { + if (l_max > 0 && (size_t)l_len > l_max) PUTCHR('#'); - } } break; case '=': @@ -243,9 +244,8 @@ snprintb_m(char *buf, size_t buflen, const char *bitfmt, uint64_t val, */ if ((int)field != bit) goto skip; - if (ch == '=') { + if (ch == '=') PUTCHR('='); - } PUTS(bitfmt); break; default: @@ -278,4 +278,5 @@ snprintb(char *buf, size_t buflen, const char *bitfmt, uint64_t val) { return snprintb_m(buf, buflen, bitfmt, val, 0); } -#endif +# endif /* ! HAVE_SNPRINTB_M */ +#endif /* ! _STANDALONE */ diff --git a/dist/nvi/cl/extern.h b/dist/nvi/cl/extern.h deleted file mode 100644 index 8f91515f5..000000000 --- a/dist/nvi/cl/extern.h +++ /dev/null @@ -1,59 +0,0 @@ -/* $NetBSD: extern.h,v 1.3 2010/02/03 15:34:37 roy Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -#ifndef HAVE_CURSES_WADDNSTR -int waddnstr __P((WINDOW*, char *, int)); -#endif -#ifndef HAVE_CURSES_BEEP -void beep __P((void)); -#endif -#ifndef HAVE_CURSES_FLASH -void flash __P((void)); -#endif -#ifndef HAVE_CURSES_IDLOK -void idlok __P((WINDOW *, int)); -#endif -#ifndef HAVE_CURSES_KEYPAD -int keypad __P((void *, int)); -#endif -#ifndef HAVE_CURSES_NEWTERM -void *newterm __P((const char *, FILE *, FILE *)); -#endif -#ifndef HAVE_CURSES_SETUPTERM -void setupterm __P((char *, int, int *)); -#endif -#ifndef HAVE_CURSES_TIGETSTR -char *tigetstr __P((const char *)); -int tigetnum __P((const char *)); -#endif -int cl_waddstr __P((SCR *, const CHAR_T *, size_t)); -int cl_addstr __P((SCR *, const char *, size_t)); -int cl_attr __P((SCR *, scr_attr_t, int)); -int cl_baud __P((SCR *, u_long *)); -int cl_bell __P((SCR *)); -int cl_clrtoeol __P((SCR *)); -int cl_cursor __P((SCR *, size_t *, size_t *)); -int cl_deleteln __P((SCR *)); -int cl_discard __P((SCR *, SCR **)); -int cl_ex_adjust __P((SCR *, exadj_t)); -int cl_insertln __P((SCR *)); -int cl_keyval __P((SCR *, scr_keyval_t, CHAR_T *, int *)); -int cl_move __P((SCR *, size_t, size_t)); -int cl_refresh __P((SCR *, int)); -int cl_rename __P((SCR *, char *, int)); -void cl_setname __P((GS *, char *)); -int cl_split __P((SCR *, SCR *)); -int cl_suspend __P((SCR *, int *)); -void cl_usage __P((void)); -int sig_init __P((GS *, SCR *)); -int cl_event __P((SCR *, EVENT *, u_int32_t, int)); -int cl_screen __P((SCR *, u_int32_t)); -int cl_quit __P((GS *)); -int cl_getcap __P((SCR *, const char *, char **)); -int cl_term_init __P((SCR *)); -int cl_term_end __P((GS *)); -int cl_fmap __P((SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t)); -int cl_optchange __P((SCR *, int, const char *, u_long *)); -int cl_omesg __P((SCR *, CL_PRIVATE *, int)); -int cl_ssize __P((SCR *, int, size_t *, size_t *, int *)); -int cl_putchar __P((int)); diff --git a/dist/nvi/common/dbinternal.h b/dist/nvi/common/dbinternal.h deleted file mode 100644 index 35856fc22..000000000 --- a/dist/nvi/common/dbinternal.h +++ /dev/null @@ -1,3 +0,0 @@ -int db_env_create(DB_ENV **, u_int32_t); -int db_create(DB **, DB_ENV *, u_int32_t); -const char *db_strerror(int); diff --git a/dist/nvi/common/extern.h b/dist/nvi/common/extern.h deleted file mode 100644 index b65e0b4f9..000000000 --- a/dist/nvi/common/extern.h +++ /dev/null @@ -1,218 +0,0 @@ -/* $NetBSD: extern.h,v 1.5 2011/11/23 19:25:28 tnozaki Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -SCR *api_fscreen __P((int, char *)); -int api_aline __P((SCR *, db_recno_t, char *, size_t)); -int api_extend __P((SCR *, db_recno_t)); -int api_dline __P((SCR *, db_recno_t)); -int api_gline __P((SCR *, db_recno_t, CHAR_T **, size_t *)); -int api_iline __P((SCR *, db_recno_t, CHAR_T *, size_t)); -int api_lline __P((SCR *, db_recno_t *)); -int api_sline __P((SCR *, db_recno_t, CHAR_T *, size_t)); -int api_getmark __P((SCR *, int, MARK *)); -int api_setmark __P((SCR *, int, MARK *)); -int api_nextmark __P((SCR *, int, char *)); -int api_getcursor __P((SCR *, MARK *)); -int api_setcursor __P((SCR *, MARK *)); -void api_emessage __P((SCR *, char *)); -void api_imessage __P((SCR *, char *)); -int api_edit __P((SCR *, char *, SCR **, int)); -int api_escreen __P((SCR *)); -int api_swscreen __P((SCR *, SCR *)); -int api_map __P((SCR *, char *, char *, size_t)); -int api_unmap __P((SCR *, char *)); -int api_opts_get __P((SCR *, const CHAR_T *, char **, int *)); -int api_opts_set __P((SCR *, const CHAR_T *, const char *, u_long, int)); -int api_run_str __P((SCR *, char *)); -TAGQ * api_tagq_new __P((SCR*, char*)); -void api_tagq_add __P((SCR*, TAGQ*, char*, char *, char *)); -int api_tagq_push __P((SCR*, TAGQ**)); -void api_tagq_free __P((SCR*, TAGQ*)); -int cut __P((SCR *, ARG_CHAR_T *, MARK *, MARK *, int)); -int cut_line __P((SCR *, db_recno_t, size_t, size_t, CB *)); -void cut_close __P((WIN *)); -TEXT *text_init __P((SCR *, const CHAR_T *, size_t, size_t)); -void text_lfree __P((TEXTH *)); -void text_free __P((TEXT *)); -int db_eget __P((SCR *, db_recno_t, CHAR_T **, size_t *, int *)); -int db_get __P((SCR *, db_recno_t, u_int32_t, CHAR_T **, size_t *)); -int db_delete __P((SCR *, db_recno_t)); -int db_append __P((SCR *, int, db_recno_t, const CHAR_T *, size_t)); -int db_insert __P((SCR *, db_recno_t, CHAR_T *, size_t)); -int db_set __P((SCR *, db_recno_t, CHAR_T *, size_t)); -int db_exist __P((SCR *, db_recno_t)); -int db_last __P((SCR *, db_recno_t *)); -void db_err __P((SCR *, db_recno_t)); -int scr_update __P((SCR *sp, db_recno_t lno, - lnop_t op, int current)); -void update_cache __P((SCR *sp, lnop_t op, db_recno_t lno)); -int line_insdel __P((SCR *sp, lnop_t op, db_recno_t lno)); -int del __P((SCR *, MARK *, MARK *, int)); -FREF *file_add __P((SCR *, const char *)); -int file_init __P((SCR *, FREF *, char *, int)); -int file_end __P((SCR *, EXF *, int)); -int file_write __P((SCR *, MARK *, MARK *, char *, int)); -int file_m1 __P((SCR *, int, int)); -int file_m2 __P((SCR *, int)); -int file_m3 __P((SCR *, int)); -int file_aw __P((SCR *, int)); -void set_alt_name __P((SCR *, const char *)); -lockr_t file_lock __P((SCR *, char *, int *, int, int)); -GS * gs_init __P((char*)); -WIN * gs_new_win __P((GS *gp)); -int win_end __P((WIN *wp)); -void gs_end __P((GS *)); -int v_key_init __P((SCR *)); -void v_key_ilookup __P((SCR *)); -size_t v_key_len __P((SCR *, ARG_CHAR_T)); -u_char *v_key_name __P((SCR *, ARG_CHAR_T)); -e_key_t v_key_val __P((SCR *, ARG_CHAR_T)); -int v_event_push __P((SCR *, EVENT *, const CHAR_T *, size_t, u_int)); -int v_event_get __P((SCR *, EVENT *, int, u_int32_t)); -void v_event_err __P((SCR *, EVENT *)); -int v_event_flush __P((SCR *, u_int)); -int log_init __P((SCR *, EXF *)); -int log_end __P((SCR *, EXF *)); -int log_cursor __P((SCR *)); -int log_line __P((SCR *, db_recno_t, u_int)); -int log_mark __P((SCR *, LMARK *)); -int log_backward __P((SCR *, MARK *)); -int log_setline __P((SCR *)); -int log_forward __P((SCR *, MARK *)); -int log_init __P((SCR *, EXF *)); -int log_end __P((SCR *, EXF *)); -int log_cursor __P((SCR *)); -int log_line __P((SCR *, db_recno_t, u_int)); -int log_mark __P((SCR *, LMARK *)); -int log_backward __P((SCR *, MARK *)); -int log_setline __P((SCR *)); -int log_forward __P((SCR *, MARK *)); -int editor __P((WIN *, int, char *[])); -int mark_init __P((SCR *, EXF *)); -int mark_end __P((SCR *, EXF *)); -int mark_get __P((SCR *, ARG_CHAR_T, MARK *, mtype_t)); -int mark_set __P((SCR *, ARG_CHAR_T, MARK *, int)); -int mark_insdel __P((SCR *, lnop_t, db_recno_t)); -void msgq __P((SCR *, mtype_t, const char *, ...)) - __attribute__((__format__(__printf__, 3, 4))); -void msgq_wstr __P((SCR *, mtype_t, const CHAR_T *, const char *)); -void msgq_str __P((SCR *, mtype_t, const char *, const char *)); -void mod_rpt __P((SCR *)); -void msgq_status __P((SCR *, db_recno_t, u_int)); -int msg_open __P((SCR *, const char *)); -void msg_close __P((GS *)); -const char *msg_cmsg __P((SCR *, cmsg_t, size_t *)); -const char *msg_cat __P((SCR *, const char *, size_t *)); -char *msg_print __P((SCR *, const char *, int *)); -void thread_init __P((GS *gp)); -int opts_init __P((SCR *, int *)); -int opts_set __P((SCR *, ARGS *[], const char *)); -int o_set __P((SCR *, int, u_int, const char *, u_long)); -int opts_empty __P((SCR *, int, int)); -void opts_dump __P((SCR *, enum optdisp)); -int opts_save __P((SCR *, FILE *)); -OPTLIST const *opts_search __P((const CHAR_T *)); -void opts_nomatch __P((SCR *, const CHAR_T *)); -int opts_copy __P((SCR *, SCR *)); -void opts_free __P((SCR *)); -int f_altwerase __P((SCR *, OPTION *, const char *, u_long *)); -int f_columns __P((SCR *, OPTION *, const char *, u_long *)); -int f_lines __P((SCR *, OPTION *, const char *, u_long *)); -int f_lisp __P((SCR *, OPTION *, const char *, u_long *)); -int f_msgcat __P((SCR *, OPTION *, const char *, u_long *)); -int f_paragraph __P((SCR *, OPTION *, const char *, u_long *)); -int f_print __P((SCR *, OPTION *, const char *, u_long *)); -int f_readonly __P((SCR *, OPTION *, const char *, u_long *)); -int f_recompile __P((SCR *, OPTION *, const char *, u_long *)); -int f_reformat __P((SCR *, OPTION *, const char *, u_long *)); -int f_section __P((SCR *, OPTION *, const char *, u_long *)); -int f_ttywerase __P((SCR *, OPTION *, const char *, u_long *)); -int f_w300 __P((SCR *, OPTION *, const char *, u_long *)); -int f_w1200 __P((SCR *, OPTION *, const char *, u_long *)); -int f_w9600 __P((SCR *, OPTION *, const char *, u_long *)); -int f_window __P((SCR *, OPTION *, const char *, u_long *)); -int f_encoding __P((SCR *, OPTION *, const char *, u_long *)); -void thread_init __P((GS *gp)); -int put __P((SCR *, CB *, ARG_CHAR_T *, MARK *, MARK *, int)); -int rcv_tmp __P((SCR *, EXF *, char *)); -int rcv_init __P((SCR *)); -int rcv_sync __P((SCR *, u_int)); -int rcv_list __P((SCR *)); -int rcv_read __P((SCR *, FREF *)); -int screen_init __P((GS *, SCR *, SCR **)); -int screen_end __P((SCR *)); -SCR *screen_next __P((SCR *)); -int f_search __P((SCR *, - MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int)); -int b_search __P((SCR *, - MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int)); -void search_busy __P((SCR *, busy_t)); -int seq_set __P((SCR *, CHAR_T *, - size_t, CHAR_T *, size_t, CHAR_T *, size_t, seq_t, int)); -int seq_delete __P((SCR *, CHAR_T *, size_t, seq_t)); -int seq_mdel __P((SEQ *)); -SEQ *seq_find - __P((SCR *, SEQ **, EVENT *, CHAR_T *, size_t, seq_t, int *)); -void seq_close __P((GS *)); -int seq_dump __P((SCR *, seq_t, int)); -int seq_save __P((SCR *, FILE *, const char *, seq_t)); -int e_memcmp __P((CHAR_T *, EVENT *, size_t)); -void vtrace_end __P((void)); -void vtrace_init __P((char *)); -void vtrace __P((const char *, ...)) - __attribute__((__format__(__printf__, 1, 2))); -void *binc __P((SCR *, void *, size_t *, size_t)); -int nonblank __P((SCR *, db_recno_t, size_t *)); -const char *tail __P((const char *)); -char *v_strdup __P((SCR *, const char *, size_t)); -CHAR_T *v_wstrdup __P((SCR *, const CHAR_T *, size_t)); -enum nresult nget_uslong __P((SCR *, u_long *, const CHAR_T *, CHAR_T **, int)); -enum nresult nget_slong __P((SCR *, long *, const CHAR_T *, CHAR_T **, int)); -#ifdef USE_DB4_LOGGING -int __vi_marker_log __P((DB_ENV *, DB_TXN *, DB_LSN *, u_int32_t, - u_int32_t)); -int __vi_marker_getpgnos __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_marker_print __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_marker_read __P((DB_ENV *, void *, __vi_marker_args **)); -int __vi_cursor_log __P((DB_ENV *, DB_TXN *, DB_LSN *, u_int32_t, - u_int32_t, db_recno_t, size_t)); -int __vi_cursor_getpgnos __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_cursor_print __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_cursor_read __P((DB_ENV *, void *, __vi_cursor_args **)); -int __vi_mark_log __P((DB_ENV *, DB_TXN *, DB_LSN *, u_int32_t, - LMARK *)); -int __vi_mark_getpgnos __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_mark_print __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_mark_read __P((DB_ENV *, void *, __vi_mark_args **)); -int __vi_change_log __P((DB_ENV *, DB_TXN *, DB_LSN *, u_int32_t, - u_int32_t, db_recno_t)); -int __vi_change_getpgnos __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_change_print __P((DB_ENV *, DBT *, DB_LSN *, db_recops, - void *)); -int __vi_change_read __P((DB_ENV *, void *, __vi_change_args **)); -int __vi_init_print __P((DB_ENV *, int (***)(DB_ENV *, DBT *, - DB_LSN *, db_recops, void *), size_t *)); -int __vi_init_getpgnos __P((DB_ENV *, int (***)(DB_ENV *, DBT *, - DB_LSN *, db_recops, void *), size_t *)); -int __vi_init_recover __P((DB_ENV *)); -#endif -#ifdef USE_DB4_LOGGING -int __vi_marker_recover - __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); -int __vi_cursor_recover - __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); -int __vi_mark_recover - __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); -int __vi_change_recover - __P((DB_ENV *, DBT *, DB_LSN *, db_recops, void *)); -int __vi_log_truncate __P((EXF *ep)); -int __vi_log_dispatch __P((DB_ENV *dbenv, DBT *data, DB_LSN *lsn, db_recops ops)); -int __vi_log_traverse __P((SCR *sp, undo_t undo, MARK *)); -#endif diff --git a/dist/nvi/dist/INSTALL b/dist/nvi/dist/INSTALL deleted file mode 100644 index b42a17ac4..000000000 --- a/dist/nvi/dist/INSTALL +++ /dev/null @@ -1,182 +0,0 @@ -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=PATH' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. diff --git a/dist/nvi/dist/Makefile.in b/dist/nvi/dist/Makefile.in deleted file mode 100644 index 7bca817f9..000000000 --- a/dist/nvi/dist/Makefile.in +++ /dev/null @@ -1,1797 +0,0 @@ -# Makefile.in generated by automake 1.10 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006 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@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@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@ -EXTRA_PROGRAMS = vi$(EXEEXT) vi-ipc$(EXEEXT) vi-motif$(EXEEXT) \ - vi-gtk$(EXEEXT) -subdir = . -DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(srcdir)/pathnames.h.in $(srcdir)/port.h.in \ - $(srcdir)/recover.in $(top_srcdir)/configure INSTALL \ - acconfig.h compile config.guess config.sub depcomp install-sh \ - ltconfig ltmain.sh missing mkinstalldirs -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gtk.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_HEADER = config.h -CONFIG_CLEAN_FILES = port.h pathnames.h recover -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" -libLTLIBRARIES_INSTALL = $(INSTALL) -LTLIBRARIES = $(lib_LTLIBRARIES) -am_libvi_la_OBJECTS = api.lo conv.lo cut.lo delete.lo ex.lo \ - ex_abbrev.lo ex_append.lo ex_args.lo ex_argv.lo ex_at.lo \ - ex_bang.lo ex_cd.lo ex_cmd.lo ex_cscope.lo ex_delete.lo \ - ex_display.lo ex_edit.lo ex_equal.lo ex_file.lo ex_filter.lo \ - ex_global.lo ex_init.lo ex_join.lo ex_map.lo ex_mark.lo \ - ex_mkexrc.lo ex_move.lo ex_open.lo ex_perl.lo ex_preserve.lo \ - ex_print.lo ex_put.lo ex_quit.lo ex_read.lo ex_screen.lo \ - ex_script.lo ex_set.lo ex_shell.lo ex_shift.lo ex_source.lo \ - ex_stop.lo ex_subst.lo ex_tag.lo ex_tcl.lo ex_txt.lo \ - ex_undo.lo ex_usage.lo ex_util.lo ex_version.lo ex_visual.lo \ - ex_write.lo ex_yank.lo ex_z.lo exf.lo getc.lo gs.lo key.lo \ - db.lo main.lo mark.lo msg.lo options.lo options_f.lo put.lo \ - recover.lo screen.lo search.lo seq.lo trace.lo util.lo \ - util2.lo v_at.lo v_ch.lo v_cmd.lo v_delete.lo v_event.lo \ - v_ex.lo v_increment.lo v_init.lo v_itxt.lo v_left.lo v_mark.lo \ - v_match.lo v_paragraph.lo v_put.lo v_redraw.lo v_replace.lo \ - v_right.lo v_screen.lo v_scroll.lo v_search.lo v_section.lo \ - v_sentence.lo v_status.lo v_txt.lo v_ulcase.lo v_undo.lo \ - v_util.lo v_word.lo v_xchar.lo v_yank.lo v_z.lo v_zexit.lo \ - vi.lo vs_line.lo vs_msg.lo vs_refresh.lo vs_relative.lo \ - vs_smap.lo vs_split.lo -libvi_la_OBJECTS = $(am_libvi_la_OBJECTS) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) -am_vi_OBJECTS = vi-cl_bsd.$(OBJEXT) vi-cl_funcs.$(OBJEXT) \ - vi-cl_main.$(OBJEXT) vi-cl_read.$(OBJEXT) \ - vi-cl_screen.$(OBJEXT) vi-cl_term.$(OBJEXT) \ - vi-nothread.$(OBJEXT) -vi_OBJECTS = $(am_vi_OBJECTS) -vi_DEPENDENCIES = libvi.la -vi_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(vi_LDFLAGS) \ - $(LDFLAGS) -o $@ -am_vi_gtk_OBJECTS = vi_gtk-util2.$(OBJEXT) vi_gtk-ip_run.$(OBJEXT) \ - vi_gtk-ip_send.$(OBJEXT) vi_gtk-ip_trans.$(OBJEXT) \ - vi_gtk-ipc_cmd.$(OBJEXT) vi_gtk-ipc_method.$(OBJEXT) \ - vi_gtk-gtk_main.$(OBJEXT) vi_gtk-gtkvi.$(OBJEXT) \ - vi_gtk-gtkviscreen.$(OBJEXT) vi_gtk-gtkviwindow.$(OBJEXT) -vi_gtk_OBJECTS = $(am_vi_gtk_OBJECTS) -vi_gtk_DEPENDENCIES = @LIBOBJS@ -vi_gtk_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(vi_gtk_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -am_vi_ipc_OBJECTS = ip_funcs.$(OBJEXT) ip_main.$(OBJEXT) \ - ip_read.$(OBJEXT) ip_screen.$(OBJEXT) ip_send.$(OBJEXT) \ - ip_term.$(OBJEXT) -vi_ipc_OBJECTS = $(am_vi_ipc_OBJECTS) -vi_ipc_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(vi_ipc_LDFLAGS) \ - $(LDFLAGS) -o $@ -am_vi_motif_OBJECTS = vi_motif-ip_run.$(OBJEXT) \ - vi_motif-ip_send.$(OBJEXT) vi_motif-ip_trans.$(OBJEXT) \ - vi_motif-ipc_cmd.$(OBJEXT) vi_motif-ipc_method.$(OBJEXT) \ - vi_motif-m_main.$(OBJEXT) vi_motif-m_cde.$(OBJEXT) \ - vi_motif-trace.$(OBJEXT) vi_motif-m_copypaste.$(OBJEXT) \ - vi_motif-m_func.$(OBJEXT) vi_motif-m_menu.$(OBJEXT) \ - vi_motif-m_options.$(OBJEXT) vi_motif-m_prompt.$(OBJEXT) \ - vi_motif-m_ruler.$(OBJEXT) vi_motif-m_search.$(OBJEXT) \ - vi_motif-m_tags.$(OBJEXT) vi_motif-m_util.$(OBJEXT) \ - vi_motif-m_vi.$(OBJEXT) vi_motif-xtabbed.$(OBJEXT) -vi_motif_OBJECTS = $(am_vi_motif_OBJECTS) -vi_motif_DEPENDENCIES = @LIBOBJS@ -vi_motif_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(vi_motif_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -DEFAULT_INCLUDES = -I.@am__isrc@ -depcomp = -am__depfiles_maybe = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ - $(LDFLAGS) -o $@ -SOURCES = $(libvi_la_SOURCES) $(EXTRA_libvi_la_SOURCES) $(vi_SOURCES) \ - $(vi_gtk_SOURCES) $(vi_ipc_SOURCES) $(vi_motif_SOURCES) -DIST_SOURCES = $(libvi_la_SOURCES) $(EXTRA_libvi_la_SOURCES) \ - $(vi_SOURCES) $(vi_gtk_SOURCES) $(vi_ipc_SOURCES) \ - $(vi_motif_SOURCES) -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } -DIST_ARCHIVES = $(distdir).tar.gz -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AR = @AR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = $(OPTFLAG) -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CURSCPPFLAGS = @CURSCPPFLAGS@ -CURSLDFLAGS = @CURSLDFLAGS@ -CURSLIBS = @CURSLIBS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO = @ECHO@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ -GREP = @GREP@ -GTKINCS = @GTKINCS@ -GTKLIBS = @GTKLIBS@ -GTK_CFLAGS = @GTK_CFLAGS@ -GTK_CONFIG = @GTK_CONFIG@ -GTK_LIBS = @GTK_LIBS@ -HAVE_NCURSESW = @HAVE_NCURSESW@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INUSE = @INUSE@ -IPCOBJS = @IPCOBJS@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MKDIR_P = @MKDIR_P@ -MOTIFLIBS = @MOTIFLIBS@ -NEED_FPRINTF_PROTO = @NEED_FPRINTF_PROTO@ -OBJEXT = @OBJEXT@ -OPTFLAG = @OPTFLAG@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -XINCS = @XINCS@ -XMKMF = @XMKMF@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -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@ -dl_src = @dl_src@ -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@ -int16_decl = @int16_decl@ -int32_decl = @int32_decl@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -no_op_OPTFLAG = @no_op_OPTFLAG@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -perlldflags = @perlldflags@ -perllibs = @perllibs@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -shrpenv = @shrpenv@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -u_char_decl = @u_char_decl@ -u_int16_decl = @u_int16_decl@ -u_int32_decl = @u_int32_decl@ -u_int8_decl = @u_int8_decl@ -u_int_decl = @u_int_decl@ -u_long_decl = @u_long_decl@ -u_short_decl = @u_short_decl@ -vi_cv_path_ar = @vi_cv_path_ar@ -vi_cv_path_chmod = @vi_cv_path_chmod@ -vi_cv_path_cp = @vi_cv_path_cp@ -vi_cv_path_db3 = @vi_cv_path_db3@ -vi_cv_path_fuser = @vi_cv_path_fuser@ -vi_cv_path_ln = @vi_cv_path_ln@ -vi_cv_path_lsof = @vi_cv_path_lsof@ -vi_cv_path_mkdir = @vi_cv_path_mkdir@ -vi_cv_path_perl = @vi_cv_path_perl@ -vi_cv_path_preserve = @vi_cv_path_preserve@ -vi_cv_path_ranlib = @vi_cv_path_ranlib@ -vi_cv_path_rm = @vi_cv_path_rm@ -vi_cv_path_sendmail = @vi_cv_path_sendmail@ -vi_cv_path_shell = @vi_cv_path_shell@ -vi_cv_path_strip = @vi_cv_path_strip@ -vi_cv_perllib = @vi_cv_perllib@ -vi_ipc = @vi_ipc@ -vi_programs = @vi_programs@ -visrcdir = @srcdir@/.. -ACLOCAL_AMFLAGS = -I m4 -lib_LTLIBRARIES = libvi.la -libvi_la_SOURCES = \ - $(visrcdir)/common/api.c \ - $(visrcdir)/common/conv.c \ - $(visrcdir)/common/conv.h \ - $(visrcdir)/common/cut.c \ - $(visrcdir)/common/delete.c \ - $(visrcdir)/common/args.h \ - $(visrcdir)/common/common.h \ - $(visrcdir)/common/cut.h \ - $(visrcdir)/common/db.h \ - $(visrcdir)/common/exf.h \ - $(visrcdir)/common/gs.h \ - $(visrcdir)/common/key.h \ - $(visrcdir)/common/log.h \ - $(visrcdir)/common/mark.h \ - $(visrcdir)/common/mem.h \ - $(visrcdir)/common/multibyte.h \ - $(visrcdir)/common/msg.h \ - $(visrcdir)/common/options.h \ - $(visrcdir)/common/options_def.h \ - $(visrcdir)/common/screen.h \ - $(visrcdir)/common/seq.h \ - $(visrcdir)/common/util.h \ - $(visrcdir)/ex/ex.c \ - $(visrcdir)/ex/ex_abbrev.c \ - $(visrcdir)/ex/ex_append.c \ - $(visrcdir)/ex/ex_args.c \ - $(visrcdir)/ex/ex_argv.c \ - $(visrcdir)/ex/ex_at.c \ - $(visrcdir)/ex/ex_bang.c \ - $(visrcdir)/ex/ex_cd.c \ - $(visrcdir)/ex/ex_cmd.c \ - $(visrcdir)/ex/ex_cscope.c \ - $(visrcdir)/ex/ex_delete.c \ - $(visrcdir)/ex/ex_display.c \ - $(visrcdir)/ex/ex_edit.c \ - $(visrcdir)/ex/ex_equal.c \ - $(visrcdir)/ex/ex_file.c \ - $(visrcdir)/ex/ex_filter.c \ - $(visrcdir)/ex/ex_global.c \ - $(visrcdir)/ex/ex_init.c \ - $(visrcdir)/ex/ex_join.c \ - $(visrcdir)/ex/ex_map.c \ - $(visrcdir)/ex/ex_mark.c \ - $(visrcdir)/ex/ex_mkexrc.c \ - $(visrcdir)/ex/ex_move.c \ - $(visrcdir)/ex/ex_open.c \ - $(visrcdir)/ex/ex_perl.c \ - $(visrcdir)/ex/ex_preserve.c \ - $(visrcdir)/ex/ex_print.c \ - $(visrcdir)/ex/ex_put.c \ - $(visrcdir)/ex/ex_quit.c \ - $(visrcdir)/ex/ex_read.c \ - $(visrcdir)/ex/ex_screen.c \ - $(visrcdir)/ex/ex_script.c \ - $(visrcdir)/ex/ex_set.c \ - $(visrcdir)/ex/ex_shell.c \ - $(visrcdir)/ex/ex_shift.c \ - $(visrcdir)/ex/ex_source.c \ - $(visrcdir)/ex/ex_stop.c \ - $(visrcdir)/ex/ex_subst.c \ - $(visrcdir)/ex/ex_tag.c \ - $(visrcdir)/ex/ex_tcl.c \ - $(visrcdir)/ex/ex_txt.c \ - $(visrcdir)/ex/ex_undo.c \ - $(visrcdir)/ex/ex_usage.c \ - $(visrcdir)/ex/ex_util.c \ - $(visrcdir)/ex/ex_version.c \ - $(visrcdir)/ex/ex_visual.c \ - $(visrcdir)/ex/ex_write.c \ - $(visrcdir)/ex/ex_yank.c \ - $(visrcdir)/ex/ex_z.c \ - $(visrcdir)/ex/ex.h \ - $(visrcdir)/ex/ex_def.h \ - $(visrcdir)/ex/script.h \ - $(visrcdir)/ex/tag.h \ - $(visrcdir)/ex/version.h \ - $(visrcdir)/common/exf.c \ - $(visrcdir)/vi/getc.c \ - $(visrcdir)/vi/vi.h \ - $(visrcdir)/common/gs.c \ - $(visrcdir)/common/key.c \ - $(visrcdir)/common/db.c \ - $(visrcdir)/common/main.c \ - $(visrcdir)/common/mark.c \ - $(visrcdir)/common/msg.c \ - $(visrcdir)/common/options.c \ - $(visrcdir)/common/options_f.c \ - $(visrcdir)/common/put.c \ - $(visrcdir)/common/recover.c \ - $(visrcdir)/common/screen.c \ - $(visrcdir)/common/search.c \ - $(visrcdir)/common/seq.c \ - $(visrcdir)/common/trace.c \ - $(visrcdir)/common/util.c \ - $(visrcdir)/common/util2.c \ - $(visrcdir)/vi/v_at.c \ - $(visrcdir)/vi/v_ch.c \ - $(visrcdir)/vi/v_cmd.c \ - $(visrcdir)/vi/v_delete.c \ - $(visrcdir)/vi/v_event.c \ - $(visrcdir)/vi/v_ex.c \ - $(visrcdir)/vi/v_increment.c \ - $(visrcdir)/vi/v_init.c \ - $(visrcdir)/vi/v_itxt.c \ - $(visrcdir)/vi/v_left.c \ - $(visrcdir)/vi/v_mark.c \ - $(visrcdir)/vi/v_match.c \ - $(visrcdir)/vi/v_paragraph.c \ - $(visrcdir)/vi/v_put.c \ - $(visrcdir)/vi/v_redraw.c \ - $(visrcdir)/vi/v_replace.c \ - $(visrcdir)/vi/v_right.c \ - $(visrcdir)/vi/v_screen.c \ - $(visrcdir)/vi/v_scroll.c \ - $(visrcdir)/vi/v_search.c \ - $(visrcdir)/vi/v_section.c \ - $(visrcdir)/vi/v_sentence.c \ - $(visrcdir)/vi/v_status.c \ - $(visrcdir)/vi/v_txt.c \ - $(visrcdir)/vi/v_ulcase.c \ - $(visrcdir)/vi/v_undo.c \ - $(visrcdir)/vi/v_util.c \ - $(visrcdir)/vi/v_word.c \ - $(visrcdir)/vi/v_xchar.c \ - $(visrcdir)/vi/v_yank.c \ - $(visrcdir)/vi/v_z.c \ - $(visrcdir)/vi/v_zexit.c \ - $(visrcdir)/vi/vi.c \ - $(visrcdir)/vi/vs_line.c \ - $(visrcdir)/vi/vs_msg.c \ - $(visrcdir)/vi/vs_refresh.c \ - $(visrcdir)/vi/vs_relative.c \ - $(visrcdir)/vi/vs_smap.c \ - $(visrcdir)/vi/vs_split.c - -EXTRA_libvi_la_SOURCES = \ - $(visrcdir)/regex/regcomp.c \ - $(visrcdir)/regex/regerror.c \ - $(visrcdir)/regex/regexec.c \ - $(visrcdir)/regex/regfree.c \ - $(visrcdir)/regex/cclass.h \ - $(visrcdir)/regex/cname.h \ - $(visrcdir)/regex/regex.h \ - $(visrcdir)/regex/regex2.h \ - $(visrcdir)/regex/utils.h \ - $(visrcdir)/common/dldb.c \ - $(visrcdir)/common/log.c \ - $(visrcdir)/common/log4.c \ - $(visrcdir)/clib/bsearch.c \ - $(visrcdir)/clib/env.c \ - $(visrcdir)/clib/gethostname.c \ - $(visrcdir)/clib/iswblank.c \ - $(visrcdir)/clib/memchr.c \ - $(visrcdir)/clib/memset.c \ - $(visrcdir)/clib/mkstemp.c \ - $(visrcdir)/clib/mmap.c \ - $(visrcdir)/clib/snprintf.c \ - $(visrcdir)/clib/strdup.c \ - $(visrcdir)/clib/strpbrk.c \ - $(visrcdir)/clib/strsep.c \ - $(visrcdir)/clib/strtol.c \ - $(visrcdir)/clib/strtoul.c \ - $(visrcdir)/clib/vsnprintf.c \ - $(visrcdir)/common/pthread.c \ - $(visrcdir)/common/vi_auto.c \ - $(visrcdir)/common/vi_rec.c \ - $(visrcdir)/perl_api/perl.xs \ - $(visrcdir)/perl_api/perlsfio.c \ - $(visrcdir)/tcl_api/tcl.c - -# Is this the way to do it ? -libvi_la_DEPENDENCIES = @LTLIBOBJS@ -libvi_la_LIBADD = @LTLIBOBJS@ -bin_PROGRAMS = @vi_programs@ @vi_ipc@ -vi_SOURCES = \ - $(visrcdir)/cl/cl.h \ - $(visrcdir)/cl/cl_bsd.c \ - $(visrcdir)/cl/cl_funcs.c \ - $(visrcdir)/cl/cl_main.c \ - $(visrcdir)/cl/cl_read.c \ - $(visrcdir)/cl/cl_screen.c \ - $(visrcdir)/cl/cl_term.c \ - $(visrcdir)/common/nothread.c - -vi_LDADD = libvi.la @perllibs@ @CURSLIBS@ -vi_CPPFLAGS = @CURSCPPFLAGS@ @perlldflags@ $(AM_CPPFLAGS) -vi_LDFLAGS = @CURSLDFLAGS@ @perlldflags@ -vi_ipc_SOURCES = \ - $(visrcdir)/ip/ip_funcs.c \ - $(visrcdir)/ip/ip_main.c \ - $(visrcdir)/ip/ip_read.c \ - $(visrcdir)/ip/ip_screen.c \ - $(visrcdir)/ipc/ip_send.c \ - $(visrcdir)/ipc/ip.h \ - $(visrcdir)/ip/ip_term.c - -vi_ipc_LDADD = libvi.la @perllibs@ @IPCOBJS@ -vi_ipc_LDFLAGS = @perlldflags@ -vi_ipc_DEPENDENCIES = @IPCOBJS@ -vi_gtk_SOURCES = \ - $(visrcdir)/common/util2.c \ - $(visrcdir)/ipc/ip_run.c \ - $(visrcdir)/ipc/ip_send.c \ - $(visrcdir)/ipc/ip_trans.c \ - $(visrcdir)/ipc/ipc_cmd.c \ - $(visrcdir)/ipc/ipc_method.c \ - $(visrcdir)/gtk/gtk_main.c \ - $(visrcdir)/gtk/gtkvi.c \ - $(visrcdir)/gtk/gtkviscreen.c \ - $(visrcdir)/gtk/gtkviwindow.c - -vi_gtk_LDADD = @GTKLIBS@ @LIBOBJS@ -vi_gtk_CFLAGS = @GTKINCS@ @XINCS@ -vi_motif_SOURCES = \ - $(visrcdir)/ipc/ip_run.c \ - $(visrcdir)/ipc/ip_send.c \ - $(visrcdir)/ipc/ip_trans.c \ - $(visrcdir)/ipc/ipc_cmd.c \ - $(visrcdir)/ipc/ipc_method.c \ - $(visrcdir)/motif/m_main.c \ - $(visrcdir)/motif/m_cde.c \ - $(visrcdir)/common/trace.c \ - $(visrcdir)/motif_l/m_copypaste.c \ - $(visrcdir)/motif_l/m_func.c \ - $(visrcdir)/motif_l/m_menu.c \ - $(visrcdir)/motif_l/m_options.c \ - $(visrcdir)/motif_l/m_prompt.c \ - $(visrcdir)/motif_l/m_ruler.c \ - $(visrcdir)/motif_l/m_search.c \ - $(visrcdir)/motif_l/m_tags.c \ - $(visrcdir)/motif_l/m_util.c \ - $(visrcdir)/motif_l/m_vi.c \ - $(visrcdir)/motif_l/xtabbed.c - -vi_motif_LDADD = @MOTIFLIBS@ @LIBOBJS@ -vi_motif_CFLAGS = @XINCS@ -VI = -DVI=\"$(bindir)/`echo vi-ipc | sed '$(transform)'`\" -AM_CPPFLAGS = -D__REGEX_PRIVATE -I. -I$(visrcdir)/include $(VI) -PERL = @vi_cv_path_perl@ -PERLLIB = @vi_cv_perllib@ -SHRPENV = @shrpenv@ -chmod = @vi_cv_path_chmod@ -cp = @vi_cv_path_cp@ -ln = @vi_cv_path_ln@ -mkdir = @vi_cv_path_mkdir@ -rm = @vi_cv_path_rm@ -strip = @vi_cv_path_strip@ -dmode = 755 -emode = 555 -fmode = 444 -cat = dutch english french german ru_SU.KOI8-R spanish swedish -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -am--refresh: - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign --ignore-deps'; \ - cd $(srcdir) && $(AUTOMAKE) --foreign --ignore-deps \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign --ignore-deps Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --foreign --ignore-deps 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: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) - -config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) $(top_srcdir)/acconfig.h - cd $(top_srcdir) && $(AUTOHEADER) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -port.h: $(top_builddir)/config.status $(srcdir)/port.h.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -pathnames.h: $(top_builddir)/config.status $(srcdir)/pathnames.h.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -recover: $(top_builddir)/config.status $(srcdir)/recover.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ - else :; fi; \ - done - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libvi.la: $(libvi_la_OBJECTS) $(libvi_la_DEPENDENCIES) - $(LINK) -rpath $(libdir) $(libvi_la_OBJECTS) $(libvi_la_LIBADD) $(LIBS) -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - || test -f $$p1 \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f $$p $$f"; \ - rm -f $$p $$f ; \ - done -vi$(EXEEXT): $(vi_OBJECTS) $(vi_DEPENDENCIES) - @rm -f vi$(EXEEXT) - $(vi_LINK) $(vi_OBJECTS) $(vi_LDADD) $(LIBS) -vi-gtk$(EXEEXT): $(vi_gtk_OBJECTS) $(vi_gtk_DEPENDENCIES) - @rm -f vi-gtk$(EXEEXT) - $(vi_gtk_LINK) $(vi_gtk_OBJECTS) $(vi_gtk_LDADD) $(LIBS) -vi-ipc$(EXEEXT): $(vi_ipc_OBJECTS) $(vi_ipc_DEPENDENCIES) - @rm -f vi-ipc$(EXEEXT) - $(vi_ipc_LINK) $(vi_ipc_OBJECTS) $(vi_ipc_LDADD) $(LIBS) -vi-motif$(EXEEXT): $(vi_motif_OBJECTS) $(vi_motif_DEPENDENCIES) - @rm -f vi-motif$(EXEEXT) - $(vi_motif_LINK) $(vi_motif_OBJECTS) $(vi_motif_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -.c.o: - $(COMPILE) -c $< - -.c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` - -.c.lo: - $(LTCOMPILE) -c -o $@ $< - -api.lo: $(visrcdir)/common/api.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o api.lo `test -f '$(visrcdir)/common/api.c' || echo '$(srcdir)/'`$(visrcdir)/common/api.c - -conv.lo: $(visrcdir)/common/conv.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o conv.lo `test -f '$(visrcdir)/common/conv.c' || echo '$(srcdir)/'`$(visrcdir)/common/conv.c - -cut.lo: $(visrcdir)/common/cut.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cut.lo `test -f '$(visrcdir)/common/cut.c' || echo '$(srcdir)/'`$(visrcdir)/common/cut.c - -delete.lo: $(visrcdir)/common/delete.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o delete.lo `test -f '$(visrcdir)/common/delete.c' || echo '$(srcdir)/'`$(visrcdir)/common/delete.c - -ex.lo: $(visrcdir)/ex/ex.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex.lo `test -f '$(visrcdir)/ex/ex.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex.c - -ex_abbrev.lo: $(visrcdir)/ex/ex_abbrev.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_abbrev.lo `test -f '$(visrcdir)/ex/ex_abbrev.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_abbrev.c - -ex_append.lo: $(visrcdir)/ex/ex_append.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_append.lo `test -f '$(visrcdir)/ex/ex_append.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_append.c - -ex_args.lo: $(visrcdir)/ex/ex_args.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_args.lo `test -f '$(visrcdir)/ex/ex_args.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_args.c - -ex_argv.lo: $(visrcdir)/ex/ex_argv.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_argv.lo `test -f '$(visrcdir)/ex/ex_argv.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_argv.c - -ex_at.lo: $(visrcdir)/ex/ex_at.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_at.lo `test -f '$(visrcdir)/ex/ex_at.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_at.c - -ex_bang.lo: $(visrcdir)/ex/ex_bang.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_bang.lo `test -f '$(visrcdir)/ex/ex_bang.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_bang.c - -ex_cd.lo: $(visrcdir)/ex/ex_cd.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_cd.lo `test -f '$(visrcdir)/ex/ex_cd.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_cd.c - -ex_cmd.lo: $(visrcdir)/ex/ex_cmd.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_cmd.lo `test -f '$(visrcdir)/ex/ex_cmd.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_cmd.c - -ex_cscope.lo: $(visrcdir)/ex/ex_cscope.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_cscope.lo `test -f '$(visrcdir)/ex/ex_cscope.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_cscope.c - -ex_delete.lo: $(visrcdir)/ex/ex_delete.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_delete.lo `test -f '$(visrcdir)/ex/ex_delete.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_delete.c - -ex_display.lo: $(visrcdir)/ex/ex_display.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_display.lo `test -f '$(visrcdir)/ex/ex_display.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_display.c - -ex_edit.lo: $(visrcdir)/ex/ex_edit.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_edit.lo `test -f '$(visrcdir)/ex/ex_edit.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_edit.c - -ex_equal.lo: $(visrcdir)/ex/ex_equal.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_equal.lo `test -f '$(visrcdir)/ex/ex_equal.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_equal.c - -ex_file.lo: $(visrcdir)/ex/ex_file.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_file.lo `test -f '$(visrcdir)/ex/ex_file.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_file.c - -ex_filter.lo: $(visrcdir)/ex/ex_filter.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_filter.lo `test -f '$(visrcdir)/ex/ex_filter.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_filter.c - -ex_global.lo: $(visrcdir)/ex/ex_global.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_global.lo `test -f '$(visrcdir)/ex/ex_global.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_global.c - -ex_init.lo: $(visrcdir)/ex/ex_init.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_init.lo `test -f '$(visrcdir)/ex/ex_init.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_init.c - -ex_join.lo: $(visrcdir)/ex/ex_join.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_join.lo `test -f '$(visrcdir)/ex/ex_join.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_join.c - -ex_map.lo: $(visrcdir)/ex/ex_map.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_map.lo `test -f '$(visrcdir)/ex/ex_map.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_map.c - -ex_mark.lo: $(visrcdir)/ex/ex_mark.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_mark.lo `test -f '$(visrcdir)/ex/ex_mark.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_mark.c - -ex_mkexrc.lo: $(visrcdir)/ex/ex_mkexrc.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_mkexrc.lo `test -f '$(visrcdir)/ex/ex_mkexrc.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_mkexrc.c - -ex_move.lo: $(visrcdir)/ex/ex_move.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_move.lo `test -f '$(visrcdir)/ex/ex_move.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_move.c - -ex_open.lo: $(visrcdir)/ex/ex_open.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_open.lo `test -f '$(visrcdir)/ex/ex_open.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_open.c - -ex_perl.lo: $(visrcdir)/ex/ex_perl.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_perl.lo `test -f '$(visrcdir)/ex/ex_perl.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_perl.c - -ex_preserve.lo: $(visrcdir)/ex/ex_preserve.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_preserve.lo `test -f '$(visrcdir)/ex/ex_preserve.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_preserve.c - -ex_print.lo: $(visrcdir)/ex/ex_print.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_print.lo `test -f '$(visrcdir)/ex/ex_print.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_print.c - -ex_put.lo: $(visrcdir)/ex/ex_put.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_put.lo `test -f '$(visrcdir)/ex/ex_put.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_put.c - -ex_quit.lo: $(visrcdir)/ex/ex_quit.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_quit.lo `test -f '$(visrcdir)/ex/ex_quit.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_quit.c - -ex_read.lo: $(visrcdir)/ex/ex_read.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_read.lo `test -f '$(visrcdir)/ex/ex_read.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_read.c - -ex_screen.lo: $(visrcdir)/ex/ex_screen.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_screen.lo `test -f '$(visrcdir)/ex/ex_screen.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_screen.c - -ex_script.lo: $(visrcdir)/ex/ex_script.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_script.lo `test -f '$(visrcdir)/ex/ex_script.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_script.c - -ex_set.lo: $(visrcdir)/ex/ex_set.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_set.lo `test -f '$(visrcdir)/ex/ex_set.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_set.c - -ex_shell.lo: $(visrcdir)/ex/ex_shell.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_shell.lo `test -f '$(visrcdir)/ex/ex_shell.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_shell.c - -ex_shift.lo: $(visrcdir)/ex/ex_shift.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_shift.lo `test -f '$(visrcdir)/ex/ex_shift.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_shift.c - -ex_source.lo: $(visrcdir)/ex/ex_source.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_source.lo `test -f '$(visrcdir)/ex/ex_source.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_source.c - -ex_stop.lo: $(visrcdir)/ex/ex_stop.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_stop.lo `test -f '$(visrcdir)/ex/ex_stop.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_stop.c - -ex_subst.lo: $(visrcdir)/ex/ex_subst.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_subst.lo `test -f '$(visrcdir)/ex/ex_subst.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_subst.c - -ex_tag.lo: $(visrcdir)/ex/ex_tag.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_tag.lo `test -f '$(visrcdir)/ex/ex_tag.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_tag.c - -ex_tcl.lo: $(visrcdir)/ex/ex_tcl.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_tcl.lo `test -f '$(visrcdir)/ex/ex_tcl.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_tcl.c - -ex_txt.lo: $(visrcdir)/ex/ex_txt.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_txt.lo `test -f '$(visrcdir)/ex/ex_txt.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_txt.c - -ex_undo.lo: $(visrcdir)/ex/ex_undo.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_undo.lo `test -f '$(visrcdir)/ex/ex_undo.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_undo.c - -ex_usage.lo: $(visrcdir)/ex/ex_usage.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_usage.lo `test -f '$(visrcdir)/ex/ex_usage.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_usage.c - -ex_util.lo: $(visrcdir)/ex/ex_util.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_util.lo `test -f '$(visrcdir)/ex/ex_util.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_util.c - -ex_version.lo: $(visrcdir)/ex/ex_version.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_version.lo `test -f '$(visrcdir)/ex/ex_version.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_version.c - -ex_visual.lo: $(visrcdir)/ex/ex_visual.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_visual.lo `test -f '$(visrcdir)/ex/ex_visual.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_visual.c - -ex_write.lo: $(visrcdir)/ex/ex_write.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_write.lo `test -f '$(visrcdir)/ex/ex_write.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_write.c - -ex_yank.lo: $(visrcdir)/ex/ex_yank.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_yank.lo `test -f '$(visrcdir)/ex/ex_yank.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_yank.c - -ex_z.lo: $(visrcdir)/ex/ex_z.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ex_z.lo `test -f '$(visrcdir)/ex/ex_z.c' || echo '$(srcdir)/'`$(visrcdir)/ex/ex_z.c - -exf.lo: $(visrcdir)/common/exf.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o exf.lo `test -f '$(visrcdir)/common/exf.c' || echo '$(srcdir)/'`$(visrcdir)/common/exf.c - -getc.lo: $(visrcdir)/vi/getc.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getc.lo `test -f '$(visrcdir)/vi/getc.c' || echo '$(srcdir)/'`$(visrcdir)/vi/getc.c - -gs.lo: $(visrcdir)/common/gs.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gs.lo `test -f '$(visrcdir)/common/gs.c' || echo '$(srcdir)/'`$(visrcdir)/common/gs.c - -key.lo: $(visrcdir)/common/key.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o key.lo `test -f '$(visrcdir)/common/key.c' || echo '$(srcdir)/'`$(visrcdir)/common/key.c - -db.lo: $(visrcdir)/common/db.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o db.lo `test -f '$(visrcdir)/common/db.c' || echo '$(srcdir)/'`$(visrcdir)/common/db.c - -main.lo: $(visrcdir)/common/main.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o main.lo `test -f '$(visrcdir)/common/main.c' || echo '$(srcdir)/'`$(visrcdir)/common/main.c - -mark.lo: $(visrcdir)/common/mark.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mark.lo `test -f '$(visrcdir)/common/mark.c' || echo '$(srcdir)/'`$(visrcdir)/common/mark.c - -msg.lo: $(visrcdir)/common/msg.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o msg.lo `test -f '$(visrcdir)/common/msg.c' || echo '$(srcdir)/'`$(visrcdir)/common/msg.c - -options.lo: $(visrcdir)/common/options.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o options.lo `test -f '$(visrcdir)/common/options.c' || echo '$(srcdir)/'`$(visrcdir)/common/options.c - -options_f.lo: $(visrcdir)/common/options_f.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o options_f.lo `test -f '$(visrcdir)/common/options_f.c' || echo '$(srcdir)/'`$(visrcdir)/common/options_f.c - -put.lo: $(visrcdir)/common/put.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o put.lo `test -f '$(visrcdir)/common/put.c' || echo '$(srcdir)/'`$(visrcdir)/common/put.c - -recover.lo: $(visrcdir)/common/recover.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o recover.lo `test -f '$(visrcdir)/common/recover.c' || echo '$(srcdir)/'`$(visrcdir)/common/recover.c - -screen.lo: $(visrcdir)/common/screen.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o screen.lo `test -f '$(visrcdir)/common/screen.c' || echo '$(srcdir)/'`$(visrcdir)/common/screen.c - -search.lo: $(visrcdir)/common/search.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o search.lo `test -f '$(visrcdir)/common/search.c' || echo '$(srcdir)/'`$(visrcdir)/common/search.c - -seq.lo: $(visrcdir)/common/seq.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o seq.lo `test -f '$(visrcdir)/common/seq.c' || echo '$(srcdir)/'`$(visrcdir)/common/seq.c - -trace.lo: $(visrcdir)/common/trace.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o trace.lo `test -f '$(visrcdir)/common/trace.c' || echo '$(srcdir)/'`$(visrcdir)/common/trace.c - -util.lo: $(visrcdir)/common/util.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o util.lo `test -f '$(visrcdir)/common/util.c' || echo '$(srcdir)/'`$(visrcdir)/common/util.c - -util2.lo: $(visrcdir)/common/util2.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o util2.lo `test -f '$(visrcdir)/common/util2.c' || echo '$(srcdir)/'`$(visrcdir)/common/util2.c - -v_at.lo: $(visrcdir)/vi/v_at.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_at.lo `test -f '$(visrcdir)/vi/v_at.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_at.c - -v_ch.lo: $(visrcdir)/vi/v_ch.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_ch.lo `test -f '$(visrcdir)/vi/v_ch.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_ch.c - -v_cmd.lo: $(visrcdir)/vi/v_cmd.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_cmd.lo `test -f '$(visrcdir)/vi/v_cmd.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_cmd.c - -v_delete.lo: $(visrcdir)/vi/v_delete.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_delete.lo `test -f '$(visrcdir)/vi/v_delete.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_delete.c - -v_event.lo: $(visrcdir)/vi/v_event.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_event.lo `test -f '$(visrcdir)/vi/v_event.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_event.c - -v_ex.lo: $(visrcdir)/vi/v_ex.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_ex.lo `test -f '$(visrcdir)/vi/v_ex.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_ex.c - -v_increment.lo: $(visrcdir)/vi/v_increment.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_increment.lo `test -f '$(visrcdir)/vi/v_increment.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_increment.c - -v_init.lo: $(visrcdir)/vi/v_init.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_init.lo `test -f '$(visrcdir)/vi/v_init.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_init.c - -v_itxt.lo: $(visrcdir)/vi/v_itxt.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_itxt.lo `test -f '$(visrcdir)/vi/v_itxt.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_itxt.c - -v_left.lo: $(visrcdir)/vi/v_left.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_left.lo `test -f '$(visrcdir)/vi/v_left.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_left.c - -v_mark.lo: $(visrcdir)/vi/v_mark.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_mark.lo `test -f '$(visrcdir)/vi/v_mark.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_mark.c - -v_match.lo: $(visrcdir)/vi/v_match.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_match.lo `test -f '$(visrcdir)/vi/v_match.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_match.c - -v_paragraph.lo: $(visrcdir)/vi/v_paragraph.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_paragraph.lo `test -f '$(visrcdir)/vi/v_paragraph.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_paragraph.c - -v_put.lo: $(visrcdir)/vi/v_put.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_put.lo `test -f '$(visrcdir)/vi/v_put.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_put.c - -v_redraw.lo: $(visrcdir)/vi/v_redraw.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_redraw.lo `test -f '$(visrcdir)/vi/v_redraw.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_redraw.c - -v_replace.lo: $(visrcdir)/vi/v_replace.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_replace.lo `test -f '$(visrcdir)/vi/v_replace.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_replace.c - -v_right.lo: $(visrcdir)/vi/v_right.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_right.lo `test -f '$(visrcdir)/vi/v_right.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_right.c - -v_screen.lo: $(visrcdir)/vi/v_screen.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_screen.lo `test -f '$(visrcdir)/vi/v_screen.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_screen.c - -v_scroll.lo: $(visrcdir)/vi/v_scroll.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_scroll.lo `test -f '$(visrcdir)/vi/v_scroll.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_scroll.c - -v_search.lo: $(visrcdir)/vi/v_search.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_search.lo `test -f '$(visrcdir)/vi/v_search.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_search.c - -v_section.lo: $(visrcdir)/vi/v_section.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_section.lo `test -f '$(visrcdir)/vi/v_section.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_section.c - -v_sentence.lo: $(visrcdir)/vi/v_sentence.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_sentence.lo `test -f '$(visrcdir)/vi/v_sentence.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_sentence.c - -v_status.lo: $(visrcdir)/vi/v_status.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_status.lo `test -f '$(visrcdir)/vi/v_status.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_status.c - -v_txt.lo: $(visrcdir)/vi/v_txt.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_txt.lo `test -f '$(visrcdir)/vi/v_txt.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_txt.c - -v_ulcase.lo: $(visrcdir)/vi/v_ulcase.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_ulcase.lo `test -f '$(visrcdir)/vi/v_ulcase.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_ulcase.c - -v_undo.lo: $(visrcdir)/vi/v_undo.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_undo.lo `test -f '$(visrcdir)/vi/v_undo.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_undo.c - -v_util.lo: $(visrcdir)/vi/v_util.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_util.lo `test -f '$(visrcdir)/vi/v_util.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_util.c - -v_word.lo: $(visrcdir)/vi/v_word.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_word.lo `test -f '$(visrcdir)/vi/v_word.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_word.c - -v_xchar.lo: $(visrcdir)/vi/v_xchar.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_xchar.lo `test -f '$(visrcdir)/vi/v_xchar.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_xchar.c - -v_yank.lo: $(visrcdir)/vi/v_yank.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_yank.lo `test -f '$(visrcdir)/vi/v_yank.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_yank.c - -v_z.lo: $(visrcdir)/vi/v_z.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_z.lo `test -f '$(visrcdir)/vi/v_z.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_z.c - -v_zexit.lo: $(visrcdir)/vi/v_zexit.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o v_zexit.lo `test -f '$(visrcdir)/vi/v_zexit.c' || echo '$(srcdir)/'`$(visrcdir)/vi/v_zexit.c - -vi.lo: $(visrcdir)/vi/vi.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi.lo `test -f '$(visrcdir)/vi/vi.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vi.c - -vs_line.lo: $(visrcdir)/vi/vs_line.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vs_line.lo `test -f '$(visrcdir)/vi/vs_line.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vs_line.c - -vs_msg.lo: $(visrcdir)/vi/vs_msg.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vs_msg.lo `test -f '$(visrcdir)/vi/vs_msg.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vs_msg.c - -vs_refresh.lo: $(visrcdir)/vi/vs_refresh.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vs_refresh.lo `test -f '$(visrcdir)/vi/vs_refresh.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vs_refresh.c - -vs_relative.lo: $(visrcdir)/vi/vs_relative.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vs_relative.lo `test -f '$(visrcdir)/vi/vs_relative.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vs_relative.c - -vs_smap.lo: $(visrcdir)/vi/vs_smap.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vs_smap.lo `test -f '$(visrcdir)/vi/vs_smap.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vs_smap.c - -vs_split.lo: $(visrcdir)/vi/vs_split.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vs_split.lo `test -f '$(visrcdir)/vi/vs_split.c' || echo '$(srcdir)/'`$(visrcdir)/vi/vs_split.c - -regcomp.lo: $(visrcdir)/regex/regcomp.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regcomp.lo `test -f '$(visrcdir)/regex/regcomp.c' || echo '$(srcdir)/'`$(visrcdir)/regex/regcomp.c - -regerror.lo: $(visrcdir)/regex/regerror.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regerror.lo `test -f '$(visrcdir)/regex/regerror.c' || echo '$(srcdir)/'`$(visrcdir)/regex/regerror.c - -regexec.lo: $(visrcdir)/regex/regexec.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regexec.lo `test -f '$(visrcdir)/regex/regexec.c' || echo '$(srcdir)/'`$(visrcdir)/regex/regexec.c - -regfree.lo: $(visrcdir)/regex/regfree.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o regfree.lo `test -f '$(visrcdir)/regex/regfree.c' || echo '$(srcdir)/'`$(visrcdir)/regex/regfree.c - -dldb.lo: $(visrcdir)/common/dldb.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dldb.lo `test -f '$(visrcdir)/common/dldb.c' || echo '$(srcdir)/'`$(visrcdir)/common/dldb.c - -log.lo: $(visrcdir)/common/log.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o log.lo `test -f '$(visrcdir)/common/log.c' || echo '$(srcdir)/'`$(visrcdir)/common/log.c - -log4.lo: $(visrcdir)/common/log4.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o log4.lo `test -f '$(visrcdir)/common/log4.c' || echo '$(srcdir)/'`$(visrcdir)/common/log4.c - -bsearch.lo: $(visrcdir)/clib/bsearch.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bsearch.lo `test -f '$(visrcdir)/clib/bsearch.c' || echo '$(srcdir)/'`$(visrcdir)/clib/bsearch.c - -env.lo: $(visrcdir)/clib/env.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o env.lo `test -f '$(visrcdir)/clib/env.c' || echo '$(srcdir)/'`$(visrcdir)/clib/env.c - -gethostname.lo: $(visrcdir)/clib/gethostname.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gethostname.lo `test -f '$(visrcdir)/clib/gethostname.c' || echo '$(srcdir)/'`$(visrcdir)/clib/gethostname.c - -iswblank.lo: $(visrcdir)/clib/iswblank.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o iswblank.lo `test -f '$(visrcdir)/clib/iswblank.c' || echo '$(srcdir)/'`$(visrcdir)/clib/iswblank.c - -memchr.lo: $(visrcdir)/clib/memchr.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memchr.lo `test -f '$(visrcdir)/clib/memchr.c' || echo '$(srcdir)/'`$(visrcdir)/clib/memchr.c - -memset.lo: $(visrcdir)/clib/memset.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memset.lo `test -f '$(visrcdir)/clib/memset.c' || echo '$(srcdir)/'`$(visrcdir)/clib/memset.c - -mkstemp.lo: $(visrcdir)/clib/mkstemp.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mkstemp.lo `test -f '$(visrcdir)/clib/mkstemp.c' || echo '$(srcdir)/'`$(visrcdir)/clib/mkstemp.c - -mmap.lo: $(visrcdir)/clib/mmap.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o mmap.lo `test -f '$(visrcdir)/clib/mmap.c' || echo '$(srcdir)/'`$(visrcdir)/clib/mmap.c - -snprintf.lo: $(visrcdir)/clib/snprintf.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o snprintf.lo `test -f '$(visrcdir)/clib/snprintf.c' || echo '$(srcdir)/'`$(visrcdir)/clib/snprintf.c - -strdup.lo: $(visrcdir)/clib/strdup.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strdup.lo `test -f '$(visrcdir)/clib/strdup.c' || echo '$(srcdir)/'`$(visrcdir)/clib/strdup.c - -strpbrk.lo: $(visrcdir)/clib/strpbrk.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strpbrk.lo `test -f '$(visrcdir)/clib/strpbrk.c' || echo '$(srcdir)/'`$(visrcdir)/clib/strpbrk.c - -strsep.lo: $(visrcdir)/clib/strsep.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strsep.lo `test -f '$(visrcdir)/clib/strsep.c' || echo '$(srcdir)/'`$(visrcdir)/clib/strsep.c - -strtol.lo: $(visrcdir)/clib/strtol.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtol.lo `test -f '$(visrcdir)/clib/strtol.c' || echo '$(srcdir)/'`$(visrcdir)/clib/strtol.c - -strtoul.lo: $(visrcdir)/clib/strtoul.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o strtoul.lo `test -f '$(visrcdir)/clib/strtoul.c' || echo '$(srcdir)/'`$(visrcdir)/clib/strtoul.c - -vsnprintf.lo: $(visrcdir)/clib/vsnprintf.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vsnprintf.lo `test -f '$(visrcdir)/clib/vsnprintf.c' || echo '$(srcdir)/'`$(visrcdir)/clib/vsnprintf.c - -pthread.lo: $(visrcdir)/common/pthread.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o pthread.lo `test -f '$(visrcdir)/common/pthread.c' || echo '$(srcdir)/'`$(visrcdir)/common/pthread.c - -vi_auto.lo: $(visrcdir)/common/vi_auto.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi_auto.lo `test -f '$(visrcdir)/common/vi_auto.c' || echo '$(srcdir)/'`$(visrcdir)/common/vi_auto.c - -vi_rec.lo: $(visrcdir)/common/vi_rec.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi_rec.lo `test -f '$(visrcdir)/common/vi_rec.c' || echo '$(srcdir)/'`$(visrcdir)/common/vi_rec.c - -perlsfio.lo: $(visrcdir)/perl_api/perlsfio.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o perlsfio.lo `test -f '$(visrcdir)/perl_api/perlsfio.c' || echo '$(srcdir)/'`$(visrcdir)/perl_api/perlsfio.c - -tcl.lo: $(visrcdir)/tcl_api/tcl.c - $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o tcl.lo `test -f '$(visrcdir)/tcl_api/tcl.c' || echo '$(srcdir)/'`$(visrcdir)/tcl_api/tcl.c - -vi-cl_bsd.o: $(visrcdir)/cl/cl_bsd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_bsd.o `test -f '$(visrcdir)/cl/cl_bsd.c' || echo '$(srcdir)/'`$(visrcdir)/cl/cl_bsd.c - -vi-cl_bsd.obj: $(visrcdir)/cl/cl_bsd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_bsd.obj `if test -f '$(visrcdir)/cl/cl_bsd.c'; then $(CYGPATH_W) '$(visrcdir)/cl/cl_bsd.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/cl/cl_bsd.c'; fi` - -vi-cl_funcs.o: $(visrcdir)/cl/cl_funcs.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_funcs.o `test -f '$(visrcdir)/cl/cl_funcs.c' || echo '$(srcdir)/'`$(visrcdir)/cl/cl_funcs.c - -vi-cl_funcs.obj: $(visrcdir)/cl/cl_funcs.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_funcs.obj `if test -f '$(visrcdir)/cl/cl_funcs.c'; then $(CYGPATH_W) '$(visrcdir)/cl/cl_funcs.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/cl/cl_funcs.c'; fi` - -vi-cl_main.o: $(visrcdir)/cl/cl_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_main.o `test -f '$(visrcdir)/cl/cl_main.c' || echo '$(srcdir)/'`$(visrcdir)/cl/cl_main.c - -vi-cl_main.obj: $(visrcdir)/cl/cl_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_main.obj `if test -f '$(visrcdir)/cl/cl_main.c'; then $(CYGPATH_W) '$(visrcdir)/cl/cl_main.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/cl/cl_main.c'; fi` - -vi-cl_read.o: $(visrcdir)/cl/cl_read.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_read.o `test -f '$(visrcdir)/cl/cl_read.c' || echo '$(srcdir)/'`$(visrcdir)/cl/cl_read.c - -vi-cl_read.obj: $(visrcdir)/cl/cl_read.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_read.obj `if test -f '$(visrcdir)/cl/cl_read.c'; then $(CYGPATH_W) '$(visrcdir)/cl/cl_read.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/cl/cl_read.c'; fi` - -vi-cl_screen.o: $(visrcdir)/cl/cl_screen.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_screen.o `test -f '$(visrcdir)/cl/cl_screen.c' || echo '$(srcdir)/'`$(visrcdir)/cl/cl_screen.c - -vi-cl_screen.obj: $(visrcdir)/cl/cl_screen.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_screen.obj `if test -f '$(visrcdir)/cl/cl_screen.c'; then $(CYGPATH_W) '$(visrcdir)/cl/cl_screen.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/cl/cl_screen.c'; fi` - -vi-cl_term.o: $(visrcdir)/cl/cl_term.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_term.o `test -f '$(visrcdir)/cl/cl_term.c' || echo '$(srcdir)/'`$(visrcdir)/cl/cl_term.c - -vi-cl_term.obj: $(visrcdir)/cl/cl_term.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-cl_term.obj `if test -f '$(visrcdir)/cl/cl_term.c'; then $(CYGPATH_W) '$(visrcdir)/cl/cl_term.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/cl/cl_term.c'; fi` - -vi-nothread.o: $(visrcdir)/common/nothread.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-nothread.o `test -f '$(visrcdir)/common/nothread.c' || echo '$(srcdir)/'`$(visrcdir)/common/nothread.c - -vi-nothread.obj: $(visrcdir)/common/nothread.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(vi_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o vi-nothread.obj `if test -f '$(visrcdir)/common/nothread.c'; then $(CYGPATH_W) '$(visrcdir)/common/nothread.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/common/nothread.c'; fi` - -vi_gtk-util2.o: $(visrcdir)/common/util2.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-util2.o `test -f '$(visrcdir)/common/util2.c' || echo '$(srcdir)/'`$(visrcdir)/common/util2.c - -vi_gtk-util2.obj: $(visrcdir)/common/util2.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-util2.obj `if test -f '$(visrcdir)/common/util2.c'; then $(CYGPATH_W) '$(visrcdir)/common/util2.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/common/util2.c'; fi` - -vi_gtk-ip_run.o: $(visrcdir)/ipc/ip_run.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ip_run.o `test -f '$(visrcdir)/ipc/ip_run.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_run.c - -vi_gtk-ip_run.obj: $(visrcdir)/ipc/ip_run.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ip_run.obj `if test -f '$(visrcdir)/ipc/ip_run.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_run.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_run.c'; fi` - -vi_gtk-ip_send.o: $(visrcdir)/ipc/ip_send.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ip_send.o `test -f '$(visrcdir)/ipc/ip_send.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_send.c - -vi_gtk-ip_send.obj: $(visrcdir)/ipc/ip_send.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ip_send.obj `if test -f '$(visrcdir)/ipc/ip_send.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_send.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_send.c'; fi` - -vi_gtk-ip_trans.o: $(visrcdir)/ipc/ip_trans.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ip_trans.o `test -f '$(visrcdir)/ipc/ip_trans.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_trans.c - -vi_gtk-ip_trans.obj: $(visrcdir)/ipc/ip_trans.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ip_trans.obj `if test -f '$(visrcdir)/ipc/ip_trans.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_trans.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_trans.c'; fi` - -vi_gtk-ipc_cmd.o: $(visrcdir)/ipc/ipc_cmd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ipc_cmd.o `test -f '$(visrcdir)/ipc/ipc_cmd.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ipc_cmd.c - -vi_gtk-ipc_cmd.obj: $(visrcdir)/ipc/ipc_cmd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ipc_cmd.obj `if test -f '$(visrcdir)/ipc/ipc_cmd.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ipc_cmd.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ipc_cmd.c'; fi` - -vi_gtk-ipc_method.o: $(visrcdir)/ipc/ipc_method.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ipc_method.o `test -f '$(visrcdir)/ipc/ipc_method.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ipc_method.c - -vi_gtk-ipc_method.obj: $(visrcdir)/ipc/ipc_method.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-ipc_method.obj `if test -f '$(visrcdir)/ipc/ipc_method.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ipc_method.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ipc_method.c'; fi` - -vi_gtk-gtk_main.o: $(visrcdir)/gtk/gtk_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtk_main.o `test -f '$(visrcdir)/gtk/gtk_main.c' || echo '$(srcdir)/'`$(visrcdir)/gtk/gtk_main.c - -vi_gtk-gtk_main.obj: $(visrcdir)/gtk/gtk_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtk_main.obj `if test -f '$(visrcdir)/gtk/gtk_main.c'; then $(CYGPATH_W) '$(visrcdir)/gtk/gtk_main.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/gtk/gtk_main.c'; fi` - -vi_gtk-gtkvi.o: $(visrcdir)/gtk/gtkvi.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtkvi.o `test -f '$(visrcdir)/gtk/gtkvi.c' || echo '$(srcdir)/'`$(visrcdir)/gtk/gtkvi.c - -vi_gtk-gtkvi.obj: $(visrcdir)/gtk/gtkvi.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtkvi.obj `if test -f '$(visrcdir)/gtk/gtkvi.c'; then $(CYGPATH_W) '$(visrcdir)/gtk/gtkvi.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/gtk/gtkvi.c'; fi` - -vi_gtk-gtkviscreen.o: $(visrcdir)/gtk/gtkviscreen.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtkviscreen.o `test -f '$(visrcdir)/gtk/gtkviscreen.c' || echo '$(srcdir)/'`$(visrcdir)/gtk/gtkviscreen.c - -vi_gtk-gtkviscreen.obj: $(visrcdir)/gtk/gtkviscreen.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtkviscreen.obj `if test -f '$(visrcdir)/gtk/gtkviscreen.c'; then $(CYGPATH_W) '$(visrcdir)/gtk/gtkviscreen.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/gtk/gtkviscreen.c'; fi` - -vi_gtk-gtkviwindow.o: $(visrcdir)/gtk/gtkviwindow.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtkviwindow.o `test -f '$(visrcdir)/gtk/gtkviwindow.c' || echo '$(srcdir)/'`$(visrcdir)/gtk/gtkviwindow.c - -vi_gtk-gtkviwindow.obj: $(visrcdir)/gtk/gtkviwindow.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_gtk_CFLAGS) $(CFLAGS) -c -o vi_gtk-gtkviwindow.obj `if test -f '$(visrcdir)/gtk/gtkviwindow.c'; then $(CYGPATH_W) '$(visrcdir)/gtk/gtkviwindow.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/gtk/gtkviwindow.c'; fi` - -ip_funcs.o: $(visrcdir)/ip/ip_funcs.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_funcs.o `test -f '$(visrcdir)/ip/ip_funcs.c' || echo '$(srcdir)/'`$(visrcdir)/ip/ip_funcs.c - -ip_funcs.obj: $(visrcdir)/ip/ip_funcs.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_funcs.obj `if test -f '$(visrcdir)/ip/ip_funcs.c'; then $(CYGPATH_W) '$(visrcdir)/ip/ip_funcs.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ip/ip_funcs.c'; fi` - -ip_main.o: $(visrcdir)/ip/ip_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_main.o `test -f '$(visrcdir)/ip/ip_main.c' || echo '$(srcdir)/'`$(visrcdir)/ip/ip_main.c - -ip_main.obj: $(visrcdir)/ip/ip_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_main.obj `if test -f '$(visrcdir)/ip/ip_main.c'; then $(CYGPATH_W) '$(visrcdir)/ip/ip_main.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ip/ip_main.c'; fi` - -ip_read.o: $(visrcdir)/ip/ip_read.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_read.o `test -f '$(visrcdir)/ip/ip_read.c' || echo '$(srcdir)/'`$(visrcdir)/ip/ip_read.c - -ip_read.obj: $(visrcdir)/ip/ip_read.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_read.obj `if test -f '$(visrcdir)/ip/ip_read.c'; then $(CYGPATH_W) '$(visrcdir)/ip/ip_read.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ip/ip_read.c'; fi` - -ip_screen.o: $(visrcdir)/ip/ip_screen.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_screen.o `test -f '$(visrcdir)/ip/ip_screen.c' || echo '$(srcdir)/'`$(visrcdir)/ip/ip_screen.c - -ip_screen.obj: $(visrcdir)/ip/ip_screen.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_screen.obj `if test -f '$(visrcdir)/ip/ip_screen.c'; then $(CYGPATH_W) '$(visrcdir)/ip/ip_screen.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ip/ip_screen.c'; fi` - -ip_send.o: $(visrcdir)/ipc/ip_send.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_send.o `test -f '$(visrcdir)/ipc/ip_send.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_send.c - -ip_send.obj: $(visrcdir)/ipc/ip_send.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_send.obj `if test -f '$(visrcdir)/ipc/ip_send.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_send.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_send.c'; fi` - -ip_term.o: $(visrcdir)/ip/ip_term.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_term.o `test -f '$(visrcdir)/ip/ip_term.c' || echo '$(srcdir)/'`$(visrcdir)/ip/ip_term.c - -ip_term.obj: $(visrcdir)/ip/ip_term.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ip_term.obj `if test -f '$(visrcdir)/ip/ip_term.c'; then $(CYGPATH_W) '$(visrcdir)/ip/ip_term.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ip/ip_term.c'; fi` - -vi_motif-ip_run.o: $(visrcdir)/ipc/ip_run.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ip_run.o `test -f '$(visrcdir)/ipc/ip_run.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_run.c - -vi_motif-ip_run.obj: $(visrcdir)/ipc/ip_run.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ip_run.obj `if test -f '$(visrcdir)/ipc/ip_run.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_run.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_run.c'; fi` - -vi_motif-ip_send.o: $(visrcdir)/ipc/ip_send.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ip_send.o `test -f '$(visrcdir)/ipc/ip_send.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_send.c - -vi_motif-ip_send.obj: $(visrcdir)/ipc/ip_send.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ip_send.obj `if test -f '$(visrcdir)/ipc/ip_send.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_send.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_send.c'; fi` - -vi_motif-ip_trans.o: $(visrcdir)/ipc/ip_trans.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ip_trans.o `test -f '$(visrcdir)/ipc/ip_trans.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ip_trans.c - -vi_motif-ip_trans.obj: $(visrcdir)/ipc/ip_trans.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ip_trans.obj `if test -f '$(visrcdir)/ipc/ip_trans.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ip_trans.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ip_trans.c'; fi` - -vi_motif-ipc_cmd.o: $(visrcdir)/ipc/ipc_cmd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ipc_cmd.o `test -f '$(visrcdir)/ipc/ipc_cmd.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ipc_cmd.c - -vi_motif-ipc_cmd.obj: $(visrcdir)/ipc/ipc_cmd.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ipc_cmd.obj `if test -f '$(visrcdir)/ipc/ipc_cmd.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ipc_cmd.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ipc_cmd.c'; fi` - -vi_motif-ipc_method.o: $(visrcdir)/ipc/ipc_method.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ipc_method.o `test -f '$(visrcdir)/ipc/ipc_method.c' || echo '$(srcdir)/'`$(visrcdir)/ipc/ipc_method.c - -vi_motif-ipc_method.obj: $(visrcdir)/ipc/ipc_method.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-ipc_method.obj `if test -f '$(visrcdir)/ipc/ipc_method.c'; then $(CYGPATH_W) '$(visrcdir)/ipc/ipc_method.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/ipc/ipc_method.c'; fi` - -vi_motif-m_main.o: $(visrcdir)/motif/m_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_main.o `test -f '$(visrcdir)/motif/m_main.c' || echo '$(srcdir)/'`$(visrcdir)/motif/m_main.c - -vi_motif-m_main.obj: $(visrcdir)/motif/m_main.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_main.obj `if test -f '$(visrcdir)/motif/m_main.c'; then $(CYGPATH_W) '$(visrcdir)/motif/m_main.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif/m_main.c'; fi` - -vi_motif-m_cde.o: $(visrcdir)/motif/m_cde.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_cde.o `test -f '$(visrcdir)/motif/m_cde.c' || echo '$(srcdir)/'`$(visrcdir)/motif/m_cde.c - -vi_motif-m_cde.obj: $(visrcdir)/motif/m_cde.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_cde.obj `if test -f '$(visrcdir)/motif/m_cde.c'; then $(CYGPATH_W) '$(visrcdir)/motif/m_cde.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif/m_cde.c'; fi` - -vi_motif-trace.o: $(visrcdir)/common/trace.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-trace.o `test -f '$(visrcdir)/common/trace.c' || echo '$(srcdir)/'`$(visrcdir)/common/trace.c - -vi_motif-trace.obj: $(visrcdir)/common/trace.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-trace.obj `if test -f '$(visrcdir)/common/trace.c'; then $(CYGPATH_W) '$(visrcdir)/common/trace.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/common/trace.c'; fi` - -vi_motif-m_copypaste.o: $(visrcdir)/motif_l/m_copypaste.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_copypaste.o `test -f '$(visrcdir)/motif_l/m_copypaste.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_copypaste.c - -vi_motif-m_copypaste.obj: $(visrcdir)/motif_l/m_copypaste.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_copypaste.obj `if test -f '$(visrcdir)/motif_l/m_copypaste.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_copypaste.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_copypaste.c'; fi` - -vi_motif-m_func.o: $(visrcdir)/motif_l/m_func.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_func.o `test -f '$(visrcdir)/motif_l/m_func.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_func.c - -vi_motif-m_func.obj: $(visrcdir)/motif_l/m_func.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_func.obj `if test -f '$(visrcdir)/motif_l/m_func.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_func.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_func.c'; fi` - -vi_motif-m_menu.o: $(visrcdir)/motif_l/m_menu.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_menu.o `test -f '$(visrcdir)/motif_l/m_menu.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_menu.c - -vi_motif-m_menu.obj: $(visrcdir)/motif_l/m_menu.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_menu.obj `if test -f '$(visrcdir)/motif_l/m_menu.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_menu.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_menu.c'; fi` - -vi_motif-m_options.o: $(visrcdir)/motif_l/m_options.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_options.o `test -f '$(visrcdir)/motif_l/m_options.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_options.c - -vi_motif-m_options.obj: $(visrcdir)/motif_l/m_options.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_options.obj `if test -f '$(visrcdir)/motif_l/m_options.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_options.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_options.c'; fi` - -vi_motif-m_prompt.o: $(visrcdir)/motif_l/m_prompt.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_prompt.o `test -f '$(visrcdir)/motif_l/m_prompt.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_prompt.c - -vi_motif-m_prompt.obj: $(visrcdir)/motif_l/m_prompt.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_prompt.obj `if test -f '$(visrcdir)/motif_l/m_prompt.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_prompt.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_prompt.c'; fi` - -vi_motif-m_ruler.o: $(visrcdir)/motif_l/m_ruler.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_ruler.o `test -f '$(visrcdir)/motif_l/m_ruler.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_ruler.c - -vi_motif-m_ruler.obj: $(visrcdir)/motif_l/m_ruler.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_ruler.obj `if test -f '$(visrcdir)/motif_l/m_ruler.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_ruler.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_ruler.c'; fi` - -vi_motif-m_search.o: $(visrcdir)/motif_l/m_search.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_search.o `test -f '$(visrcdir)/motif_l/m_search.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_search.c - -vi_motif-m_search.obj: $(visrcdir)/motif_l/m_search.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_search.obj `if test -f '$(visrcdir)/motif_l/m_search.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_search.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_search.c'; fi` - -vi_motif-m_tags.o: $(visrcdir)/motif_l/m_tags.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_tags.o `test -f '$(visrcdir)/motif_l/m_tags.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_tags.c - -vi_motif-m_tags.obj: $(visrcdir)/motif_l/m_tags.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_tags.obj `if test -f '$(visrcdir)/motif_l/m_tags.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_tags.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_tags.c'; fi` - -vi_motif-m_util.o: $(visrcdir)/motif_l/m_util.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_util.o `test -f '$(visrcdir)/motif_l/m_util.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_util.c - -vi_motif-m_util.obj: $(visrcdir)/motif_l/m_util.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_util.obj `if test -f '$(visrcdir)/motif_l/m_util.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_util.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_util.c'; fi` - -vi_motif-m_vi.o: $(visrcdir)/motif_l/m_vi.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_vi.o `test -f '$(visrcdir)/motif_l/m_vi.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/m_vi.c - -vi_motif-m_vi.obj: $(visrcdir)/motif_l/m_vi.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-m_vi.obj `if test -f '$(visrcdir)/motif_l/m_vi.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/m_vi.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/m_vi.c'; fi` - -vi_motif-xtabbed.o: $(visrcdir)/motif_l/xtabbed.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-xtabbed.o `test -f '$(visrcdir)/motif_l/xtabbed.c' || echo '$(srcdir)/'`$(visrcdir)/motif_l/xtabbed.c - -vi_motif-xtabbed.obj: $(visrcdir)/motif_l/xtabbed.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vi_motif_CFLAGS) $(CFLAGS) -c -o vi_motif-xtabbed.obj `if test -f '$(visrcdir)/motif_l/xtabbed.c'; then $(CYGPATH_W) '$(visrcdir)/motif_l/xtabbed.c'; else $(CYGPATH_W) '$(srcdir)/$(visrcdir)/motif_l/xtabbed.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool - -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; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique -tags: TAGS - -TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(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; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ - fi -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) config.h.in $(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; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d $(distdir) || mkdir $(distdir) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) - -dist-tarZ: distdir - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) - -dist-shar: distdir - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) - -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst - chmod a-w $(distdir) - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ - && ../configure --srcdir=.. --prefix="$$dc_install_base" \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck - $(am__remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @cd $(distuninstallcheck_dir) \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) config.h -install-binPROGRAMS: install-libLTLIBRARIES - -installdirs: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -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) - -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-binPROGRAMS clean-generic clean-libLTLIBRARIES \ - clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: install-data-local - -install-dvi: install-dvi-am - -install-exec-am: install-binPROGRAMS install-exec-local \ - install-libLTLIBRARIES - -install-html: install-html-am - -install-info: install-info-am - -install-man: - -install-pdf: install-pdf-am - -install-ps: 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 \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES \ - uninstall-local - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ - clean-libtool ctags dist dist-all dist-bzip2 dist-gzip \ - dist-shar dist-tarZ dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ - distclean-libtool distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-data-local install-dvi install-dvi-am \ - install-exec install-exec-am install-exec-local install-html \ - install-html-am install-info install-info-am \ - install-libLTLIBRARIES 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 mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-libLTLIBRARIES uninstall-local - - -perl.c: $(visrcdir)/perl_api/perl.xs $(visrcdir)/perl_api/typemap - echo "#define _PATH_PERLSCRIPTS \"$(datadir)/vi/perl\"" > $@ - $(PERL) -e 'unless ($$] >= 5.005) {' \ - -e 'for (qw(incgv sv_undef errgv na)) {' \ - -e 'print "#define PL_$$_ $$_\n" }} ' >> $@ - $(PERL) $(PERLLIB)/ExtUtils/xsubpp -typemap \ - $(PERLLIB)/ExtUtils/typemap $(visrcdir)/perl_api/perl.xs >> $@ - ($(PERL) -ne 'print "sub $$1 {\$$curscr->$$1(\@_)}\n"' \ - -e 'if /newXS\("VI::([^\":]*)"/;' $@ ; echo "1;") > VI.pm -perlxsi.c: - perl -MExtUtils::Embed -e xsinit -- -std VI - -install-exec-local: - cd $(DESTDIR)$(bindir) && $(rm) -f `echo ex | sed '$(transform)'` - cd $(DESTDIR)$(bindir) && $(rm) -f `echo view | sed '$(transform)'` - cd $(DESTDIR)$(bindir) && $(ln) \ - `echo vi | sed '$(transform)'` `echo ex | sed '$(transform)'` - cd $(DESTDIR)$(bindir) && $(ln) \ - `echo vi | sed '$(transform)'` `echo view | sed '$(transform)'` - -install-data-local: install_common - @[ -d $(DESTDIR)$(mandir) ] || \ - ($(mkdir) $(DESTDIR)$(mandir) && \ - $(chmod) $(dmode) $(DESTDIR)$(mandir)) - @[ -d $(DESTDIR)$(mandir)/cat1 ] || \ - ($(mkdir) $(DESTDIR)$(mandir)/cat1 && \ - $(chmod) $(dmode) $(DESTDIR)$(mandir)/cat1) - @echo "Installing man pages: $(DESTDIR)$(mandir) ..." - @cd $(DESTDIR)$(mandir)/cat1 && \ - $(rm) -f `echo vi.0 | sed '$(transform)'` - @$(cp) $(visrcdir)/docs/vi.man/vi.0 \ - $(DESTDIR)$(mandir)/cat1/`echo vi.0 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/cat1 && \ - $(chmod) $(fmode) `echo vi.0 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/cat1 && \ - $(rm) -f `echo ex.0 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/cat1 && \ - $(rm) -f `echo view.0 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/cat1 && $(ln) \ - `echo vi.0 | sed '$(transform)'` `echo ex.0 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/cat1 && $(ln) \ - `echo vi.0 | sed '$(transform)'` `echo view.0 | sed '$(transform)'` - @[ -d $(DESTDIR)$(mandir)/man1 ] || \ - ($(mkdir) $(DESTDIR)$(mandir)/man1 && \ - $(chmod) $(dmode) $(DESTDIR)$(mandir)/man1) - @cd $(DESTDIR)$(mandir)/man1 && \ - $(rm) -f `echo vi.1 | sed '$(transform)'` - @$(cp) $(visrcdir)/docs/vi.man/vi.1 \ - $(DESTDIR)$(mandir)/man1/`echo vi.1 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/man1 && \ - $(chmod) $(fmode) `echo vi.1 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/man1 && \ - $(rm) -f `echo ex.1 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/man1 && \ - $(rm) -f `echo view.1 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/man1 && $(ln) \ - `echo vi.1 | sed '$(transform)'` `echo ex.1 | sed '$(transform)'` - @cd $(DESTDIR)$(mandir)/man1 && $(ln) \ - `echo vi.1 | sed '$(transform)'` `echo view.1 | sed '$(transform)'` -install_common: - @[ -f $(chmod) ] || (echo 'chmod not found.'; exit 1) - @[ -f $(cp) ] || (echo 'cp not found.'; exit 1) - @[ -f $(ln) ] || (echo 'ln not found.'; exit 1) - @[ -f $(mkdir) ] || (echo 'mkdir not found.'; exit 1) - @[ -f $(rm) ] || (echo 'rm not found.'; exit 1) - @[ -d $(DESTDIR)$(prefix) ] || \ - ($(mkdir) $(DESTDIR)$(prefix) && \ - $(chmod) $(dmode) $(DESTDIR)$(prefix)) - @[ -d $(DESTDIR)$(exec_prefix) ] || \ - ($(mkdir) $(DESTDIR)$(exec_prefix) && \ - $(chmod) $(dmode) $(DESTDIR)$(exec_prefix)) - @[ -d $(DESTDIR)$(datadir) ] || \ - ($(mkdir) $(DESTDIR)$(datadir) && \ - $(chmod) $(dmode) $(DESTDIR)$(datadir)) - @$(rm) -rf $(DESTDIR)$(datadir)/vi - @$(mkdir) $(DESTDIR)$(datadir)/vi && \ - $(chmod) $(dmode) $(DESTDIR)$(datadir)/vi - @echo "Installing message catalogs: $(datadir)/vi/catalog ..." - @$(mkdir) $(DESTDIR)$(datadir)/vi/catalog && \ - $(chmod) $(dmode) $(DESTDIR)$(datadir)/vi/catalog - @(cd $(visrcdir)/catalog && \ - $(cp) $(cat) $(DESTDIR)$(datadir)/vi/catalog && \ - cd $(DESTDIR)$(datadir)/vi/catalog && $(chmod) $(fmode) *) - @echo "Installing Perl scripts: $(datadir)/vi/perl ..." - @$(mkdir) $(DESTDIR)$(datadir)/vi/perl && \ - $(chmod) $(dmode) $(DESTDIR)$(datadir)/vi/perl - @[ ! -f VI.pm ] || \ - ($(cp) VI.pm $(DESTDIR)$(datadir)/vi/perl && \ - (cd $(DESTDIR)$(datadir)/vi/perl && $(chmod) $(fmode) VI.pm)) - @(cd $(visrcdir)/perl_scripts && \ - $(cp) *.pl $(DESTDIR)$(datadir)/vi/perl && \ - cd $(DESTDIR)$(datadir)/vi/perl && $(chmod) $(fmode) *.pl) - @echo "Installing Tcl scripts: $(datadir)/vi/tcl ..." - @$(mkdir) $(DESTDIR)$(datadir)/vi/tcl && \ - $(chmod) $(dmode) $(DESTDIR)$(datadir)/vi/tcl - @(cd $(visrcdir)/tcl_scripts && \ - $(cp) *.tcl $(DESTDIR)$(datadir)/vi/tcl && \ - cd $(DESTDIR)$(datadir)/vi/tcl && $(chmod) $(fmode) *.tcl) - @echo "Installing recover script: $(datadir)/vi/recover ..." - @($(cp) recover $(DESTDIR)$(datadir)/vi/recover && \ - $(chmod) $(emode) $(DESTDIR)$(datadir)/vi/recover) - -uninstall-local: - $(rm) -rf $(DESTDIR)$(datadir)/vi - cd $(DESTDIR)$(bindir) && $(rm) -f `echo ex | sed '$(transform)'` - cd $(DESTDIR)$(bindir) && $(rm) -f `echo view | sed '$(transform)'` - cd $(DESTDIR)$(mandir)/cat1 && \ - $(rm) -f `echo ex.0 | sed '$(transform)'` - cd $(DESTDIR)$(mandir)/cat1 && \ - $(rm) -f `echo vi.0 | sed '$(transform)'` - cd $(DESTDIR)$(mandir)/cat1 && \ - $(rm) -f `echo view.0 | sed '$(transform)'` - cd $(DESTDIR)$(mandir)/man1 && \ - $(rm) -f `echo ex.1 | sed '$(transform)'` - cd $(DESTDIR)$(mandir)/man1 && \ - $(rm) -f `echo vi.1 | sed '$(transform)'` - cd $(DESTDIR)$(mandir)/man1 && \ - $(rm) -f `echo view.1 | sed '$(transform)'` -# 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/dist/nvi/dist/acconfig.h b/dist/nvi/dist/acconfig.h deleted file mode 100644 index 83ba4f191..000000000 --- a/dist/nvi/dist/acconfig.h +++ /dev/null @@ -1,126 +0,0 @@ -/* $NetBSD: acconfig.h,v 1.1.1.2 2008/05/18 14:29:55 aymeric Exp $ */ - -/* Id: acconfig.h,v 8.34 2002/01/19 23:01:35 skimo Exp (Berkeley) Date: 2002/01/19 23:01:35 */ - -/* Define to `int' if doesn't define. */ -#undef ssize_t - -/* Define if you want a debugging version. */ -#undef DEBUG - -/* Define if you have a System V-style (broken) gettimeofday. */ -#undef HAVE_BROKEN_GETTIMEOFDAY - -/* Define if you have a Ultrix-style (broken) vdisable. */ -#undef HAVE_BROKEN_VDISABLE - -/* Define if you have a BSD version of curses. */ -#undef HAVE_BSD_CURSES - -/* Define if you have wide ncurses(3). */ -#undef HAVE_NCURSESW - -/* Define if you have the curses(3) waddnwstr function. */ -#undef HAVE_CURSES_ADDNWSTR - -/* Define if you have the curses(3) waddnstr function. */ -#undef HAVE_CURSES_WADDNSTR - -/* Define if you have the curses(3) beep function. */ -#undef HAVE_CURSES_BEEP - -/* Define if you have the curses(3) flash function. */ -#undef HAVE_CURSES_FLASH - -/* Define if you have the curses(3) idlok function. */ -#undef HAVE_CURSES_IDLOK - -/* Define if you have the curses(3) keypad function. */ -#undef HAVE_CURSES_KEYPAD - -/* Define if you have the curses(3) newterm function. */ -#undef HAVE_CURSES_NEWTERM - -/* Define if you have the curses(3) setupterm function. */ -#undef HAVE_CURSES_SETUPTERM - -/* Define if you have the curses(3) tigetstr/tigetnum functions. */ -#undef HAVE_CURSES_TIGETSTR - -/* Define if you have the DB __hash_open call in the C library. */ -#undef HAVE_DB_HASH_OPEN - -/* Define if you have the chsize(2) system call. */ -#undef HAVE_FTRUNCATE_CHSIZE - -/* Define if you have the ftruncate(2) system call. */ -#undef HAVE_FTRUNCATE_FTRUNCATE - -/* Define if you have gcc. */ -#undef HAVE_GCC - -/* Define if you have fcntl(2) style locking. */ -#undef HAVE_LOCK_FCNTL - -/* Define if you have flock(2) style locking. */ -#undef HAVE_LOCK_FLOCK - -/* Define is appropriate pango is available */ -#undef HAVE_PANGO - -/* Define if you want to compile in the Perl interpreter. */ -#undef HAVE_PERL_INTERP - -/* Define if using pthread. */ -#undef HAVE_PTHREAD - -/* Define if you have the Berkeley style revoke(2) system call. */ -#undef HAVE_REVOKE - -/* Define if you have the Berkeley style strsep(3) function. */ -#undef HAVE_STRSEP - -/* Define if you have */ -#undef HAVE_SYS_MMAN_H - -/* Define if you have */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the System V style pty calls. */ -#undef HAVE_SYS5_PTY - -/* Define if you want to compile in the Tcl interpreter. */ -#undef HAVE_TCL_INTERP - -/* Define is appropriate zvt is available */ -#undef HAVE_ZVT - -/* Define if your sprintf returns a pointer, not a length. */ -#undef SPRINTF_RET_CHARPNT - -/* Define when using db1 */ -#undef USE_DB1 - -/* Define when using db4 logging */ -#undef USE_DB4_LOGGING - -/* Define when dynamically loading DB 3 */ -#undef USE_DYNAMIC_LOADING - -/* Define when iconv can be used */ -#undef USE_ICONV - -/* Define when perl's setenv should be used */ -#undef USE_PERL_SETENV - -/* Define when using S-Lang */ -#undef USE_SLANG_CURSES - -/* Define when using wide characters */ -#undef USE_WIDECHAR - -/* Define if you have */ -#undef HAVE_NCURSES_H - -/* Define when fprintf prototype not in an obvious place */ -#undef NEED_FPRINTF_PROTO diff --git a/dist/nvi/dist/aclocal.m4 b/dist/nvi/dist/aclocal.m4 deleted file mode 100644 index 6b8a4a123..000000000 --- a/dist/nvi/dist/aclocal.m4 +++ /dev/null @@ -1,7440 +0,0 @@ -# generated automatically by aclocal 1.10 -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 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. - -# 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_if(m4_PACKAGE_VERSION, [2.61],, -[m4_fatal([this file was generated for autoconf 2.61. -You have another version of autoconf. If you want to use that, -you should regenerate the build system entirely.], [63])]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- - -# serial 51 AC_PROG_LIBTOOL - - -# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) -# ----------------------------------------------------------- -# If this macro is not defined by Autoconf, define it here. -m4_ifdef([AC_PROVIDE_IFELSE], - [], - [m4_define([AC_PROVIDE_IFELSE], - [m4_ifdef([AC_PROVIDE_$1], - [$2], [$3])])]) - - -# AC_PROG_LIBTOOL -# --------------- -AC_DEFUN([AC_PROG_LIBTOOL], -[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl -dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX -dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. - AC_PROVIDE_IFELSE([AC_PROG_CXX], - [AC_LIBTOOL_CXX], - [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX - ])]) -dnl And a similar setup for Fortran 77 support - AC_PROVIDE_IFELSE([AC_PROG_F77], - [AC_LIBTOOL_F77], - [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77 -])]) - -dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. -dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run -dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. - AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], - [AC_LIBTOOL_GCJ], - [ifdef([AC_PROG_GCJ], - [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([A][M_PROG_GCJ], - [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) - ifdef([LT_AC_PROG_GCJ], - [define([LT_AC_PROG_GCJ], - defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) -])])# AC_PROG_LIBTOOL - - -# _AC_PROG_LIBTOOL -# ---------------- -AC_DEFUN([_AC_PROG_LIBTOOL], -[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl -AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl -AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl -AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -# Prevent multiple expansion -define([AC_PROG_LIBTOOL], []) -])# _AC_PROG_LIBTOOL - - -# AC_LIBTOOL_SETUP -# ---------------- -AC_DEFUN([AC_LIBTOOL_SETUP], -[AC_PREREQ(2.50)dnl -AC_REQUIRE([AC_ENABLE_SHARED])dnl -AC_REQUIRE([AC_ENABLE_STATIC])dnl -AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_LD])dnl -AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl -AC_REQUIRE([AC_PROG_NM])dnl - -AC_REQUIRE([AC_PROG_LN_S])dnl -AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! -AC_REQUIRE([AC_OBJEXT])dnl -AC_REQUIRE([AC_EXEEXT])dnl -dnl - -AC_LIBTOOL_SYS_MAX_CMD_LEN -AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -AC_LIBTOOL_OBJDIR - -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -_LT_AC_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] - -# Same as above, but do not quote variable references. -[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -AC_CHECK_TOOL(AR, ar, false) -AC_CHECK_TOOL(RANLIB, ranlib, :) -AC_CHECK_TOOL(STRIP, strip, :) - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - AC_PATH_MAGIC - fi - ;; -esac - -AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -enable_win32_dll=yes, enable_win32_dll=no) - -AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -AC_ARG_WITH([pic], - [AC_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=default - -# Use C for the default configuration in the libtool script -tagname= -AC_LIBTOOL_LANG_C_CONFIG -_LT_AC_TAGCONFIG -])# AC_LIBTOOL_SETUP - - -# _LT_AC_SYS_COMPILER -# ------------------- -AC_DEFUN([_LT_AC_SYS_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_AC_SYS_COMPILER - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -AC_DEFUN([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -AC_DEFUN([_LT_COMPILER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -AC_DEFUN([_LT_LINKER_BOILERPLATE], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* -])# _LT_LINKER_BOILERPLATE - - -# _LT_AC_SYS_LIBPATH_AIX -# ---------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_AC_SYS_LIBPATH_AIX - - -# _LT_AC_SHELL_INIT(ARG) -# ---------------------- -AC_DEFUN([_LT_AC_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_AC_SHELL_INIT - - -# _LT_AC_PROG_ECHO_BACKSLASH -# -------------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], -[_LT_AC_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -echo=${ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(ECHO) -])])# _LT_AC_PROG_ECHO_BACKSLASH - - -# _LT_AC_LOCK -# ----------- -AC_DEFUN([_LT_AC_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AC_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], -[*-*-cygwin* | *-*-mingw* | *-*-pw32*) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; - ]) -esac - -need_locks="$enable_libtool_lock" - -])# _LT_AC_LOCK - - -# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED]) -AC_CACHE_CHECK([$1], [$2], - [$2=no - ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $rm conftest* -]) - -if test x"[$]$2" = xyes; then - ifelse([$5], , :, [$5]) -else - ifelse([$6], , :, [$6]) -fi -])# AC_LIBTOOL_COMPILER_OPTION - - -# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ------------------------------------------------------------ -# Check whether the given compiler option works -AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - ifelse([$4], , :, [$4]) -else - ifelse([$5], , :, [$5]) -fi -])# AC_LIBTOOL_LINKER_OPTION - - -# AC_LIBTOOL_SYS_MAX_CMD_LEN -# -------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], -[# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -])# AC_LIBTOOL_SYS_MAX_CMD_LEN - - -# _LT_AC_CHECK_DLFCN -# ------------------ -AC_DEFUN([_LT_AC_CHECK_DLFCN], -[AC_CHECK_HEADERS(dlfcn.h)dnl -])# _LT_AC_CHECK_DLFCN - - -# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# --------------------------------------------------------------------- -AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -}] -EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_AC_TRY_DLOPEN_SELF - - -# AC_LIBTOOL_DLOPEN_SELF -# ---------------------- -AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], -[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_AC_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -])# AC_LIBTOOL_DLOPEN_SELF - - -# AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) -# --------------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler -AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* -]) -])# AC_LIBTOOL_PROG_CC_C_O - - -# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) -# ----------------------------------------- -# Check to see if we can do hard links to lock some files if needed -AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], -[AC_REQUIRE([_LT_AC_LOCK])dnl - -hard_links="nottested" -if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS - - -# AC_LIBTOOL_OBJDIR -# ----------------- -AC_DEFUN([AC_LIBTOOL_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -])# AC_LIBTOOL_OBJDIR - - -# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) -# ---------------------------------------------- -# Check hardcoding attributes. -AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_AC_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_AC_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_AC_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_AC_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH - - -# AC_LIBTOOL_SYS_LIB_STRIP -# ------------------------ -AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], -[striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) -fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -])# AC_LIBTOOL_SYS_LIB_STRIP - - -# AC_LIBTOOL_SYS_DYNAMIC_LINKER -# ----------------------------- -# PORTME Fill in your ld.so characteristics -AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -m4_if($1,[],[ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi -])# AC_LIBTOOL_SYS_DYNAMIC_LINKER - - -# _LT_AC_TAGCONFIG -# ---------------- -AC_DEFUN([_LT_AC_TAGCONFIG], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_ARG_WITH([tags], - [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@], - [include additional configurations @<:@automatic@:>@])], - [tagnames="$withval"]) - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - AC_MSG_WARN([output file `$ofile' does not exist]) - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) - else - AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in - "") ;; - *) AC_MSG_ERROR([invalid tag name: $tagname]) - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - AC_MSG_ERROR([tag name \"$tagname\" already exists]) - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_LIBTOOL_LANG_CXX_CONFIG - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - AC_LIBTOOL_LANG_F77_CONFIG - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - AC_LIBTOOL_LANG_GCJ_CONFIG - else - tagname="" - fi - ;; - - RC) - AC_LIBTOOL_LANG_RC_CONFIG - ;; - - *) - AC_MSG_ERROR([Unsupported tag name: $tagname]) - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - AC_MSG_ERROR([unable to update list of available tagged configurations.]) - fi -fi -])# _LT_AC_TAGCONFIG - - -# AC_LIBTOOL_DLOPEN -# ----------------- -# enable checks for dlopen support -AC_DEFUN([AC_LIBTOOL_DLOPEN], - [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_DLOPEN - - -# AC_LIBTOOL_WIN32_DLL -# -------------------- -# declare package support for building win32 DLLs -AC_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) -])# AC_LIBTOOL_WIN32_DLL - - -# AC_ENABLE_SHARED([DEFAULT]) -# --------------------------- -# implement the --enable-shared flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_SHARED], -[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([shared], - [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]AC_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=]AC_ENABLE_SHARED_DEFAULT) -])# AC_ENABLE_SHARED - - -# AC_DISABLE_SHARED -# ----------------- -# set the default shared flag to --disable-shared -AC_DEFUN([AC_DISABLE_SHARED], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_SHARED(no) -])# AC_DISABLE_SHARED - - -# AC_ENABLE_STATIC([DEFAULT]) -# --------------------------- -# implement the --enable-static flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_STATIC], -[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([static], - [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]AC_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=]AC_ENABLE_STATIC_DEFAULT) -])# AC_ENABLE_STATIC - - -# AC_DISABLE_STATIC -# ----------------- -# set the default static flag to --disable-static -AC_DEFUN([AC_DISABLE_STATIC], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_STATIC(no) -])# AC_DISABLE_STATIC - - -# AC_ENABLE_FAST_INSTALL([DEFAULT]) -# --------------------------------- -# implement the --enable-fast-install flag -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -AC_DEFUN([AC_ENABLE_FAST_INSTALL], -[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl -AC_ARG_ENABLE([fast-install], - [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]AC_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=]AC_ENABLE_FAST_INSTALL_DEFAULT) -])# AC_ENABLE_FAST_INSTALL - - -# AC_DISABLE_FAST_INSTALL -# ----------------------- -# set the default to --disable-fast-install -AC_DEFUN([AC_DISABLE_FAST_INSTALL], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -AC_ENABLE_FAST_INSTALL(no) -])# AC_DISABLE_FAST_INSTALL - - -# AC_LIBTOOL_PICMODE([MODE]) -# -------------------------- -# implement the --with-pic flag -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -AC_DEFUN([AC_LIBTOOL_PICMODE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl -pic_mode=ifelse($#,1,$1,default) -])# AC_LIBTOOL_PICMODE - - -# AC_PROG_EGREP -# ------------- -# This is predefined starting with Autoconf 2.54, so this conditional -# definition can be removed once we require Autoconf 2.54 or later. -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP], -[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], - [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' - fi]) - EGREP=$ac_cv_prog_egrep - AC_SUBST([EGREP]) -])]) - - -# AC_PATH_TOOL_PREFIX -# ------------------- -# find a file program which can recognize shared library -AC_DEFUN([AC_PATH_TOOL_PREFIX], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="ifelse([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -])# AC_PATH_TOOL_PREFIX - - -# AC_PATH_MAGIC -# ------------- -# find a file program which can recognize a shared library -AC_DEFUN([AC_PATH_MAGIC], -[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# AC_PATH_MAGIC - - -# AC_PROG_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([AC_PROG_LD], -[AC_ARG_WITH([gnu-ld], - [AC_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no]) -AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown -])# AC_DEPLIBS_CHECK_METHOD - - -# AC_PROG_NM -# ---------- -# find the pathname to a BSD-compatible name lister -AC_DEFUN([AC_PROG_NM], -[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi]) -NM="$lt_cv_path_NM" -])# AC_PROG_NM - - -# AC_CHECK_LIBM -# ------------- -# check for math library -AC_DEFUN([AC_CHECK_LIBM], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -])# AC_CHECK_LIBM - - -# AC_LIBLTDL_CONVENIENCE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# it is assumed to be `libltdl'. LIBLTDL will be prefixed with -# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/' -# (note the single quotes!). If your package is not flat and you're not -# using automake, define top_builddir and top_srcdir appropriately in -# the Makefiles. -AC_DEFUN([AC_LIBLTDL_CONVENIENCE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; - esac - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_CONVENIENCE - - -# AC_LIBLTDL_INSTALLABLE([DIRECTORY]) -# ----------------------------------- -# sets LIBLTDL to the link flags for the libltdl installable library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided, -# and an installed libltdl is not found, it is assumed to be `libltdl'. -# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with -# '${top_srcdir}/' (note the single quotes!). If your package is not -# flat and you're not using automake, define top_builddir and top_srcdir -# appropriately in the Makefiles. -# In the future, this macro may have to be called after AC_PROG_LIBTOOL. -AC_DEFUN([AC_LIBLTDL_INSTALLABLE], -[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl - AC_CHECK_LIB(ltdl, lt_dlinit, - [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], - [if test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - else - enable_ltdl_install=yes - fi - ]) - if test x"$enable_ltdl_install" = x"yes"; then - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la - LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) - else - ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLINCL= - fi - # For backwards non-gettext consistent compatibility... - INCLTDL="$LTDLINCL" -])# AC_LIBLTDL_INSTALLABLE - - -# AC_LIBTOOL_CXX -# -------------- -# enable support for C++ libraries -AC_DEFUN([AC_LIBTOOL_CXX], -[AC_REQUIRE([_LT_AC_LANG_CXX]) -])# AC_LIBTOOL_CXX - - -# _LT_AC_LANG_CXX -# --------------- -AC_DEFUN([_LT_AC_LANG_CXX], -[AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) -])# _LT_AC_LANG_CXX - -# _LT_AC_PROG_CXXCPP -# ------------------ -AC_DEFUN([_LT_AC_PROG_CXXCPP], -[ -AC_REQUIRE([AC_PROG_CXX]) -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -fi -])# _LT_AC_PROG_CXXCPP - -# AC_LIBTOOL_F77 -# -------------- -# enable support for Fortran 77 libraries -AC_DEFUN([AC_LIBTOOL_F77], -[AC_REQUIRE([_LT_AC_LANG_F77]) -])# AC_LIBTOOL_F77 - - -# _LT_AC_LANG_F77 -# --------------- -AC_DEFUN([_LT_AC_LANG_F77], -[AC_REQUIRE([AC_PROG_F77]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77]) -])# _LT_AC_LANG_F77 - - -# AC_LIBTOOL_GCJ -# -------------- -# enable support for GCJ libraries -AC_DEFUN([AC_LIBTOOL_GCJ], -[AC_REQUIRE([_LT_AC_LANG_GCJ]) -])# AC_LIBTOOL_GCJ - - -# _LT_AC_LANG_GCJ -# --------------- -AC_DEFUN([_LT_AC_LANG_GCJ], -[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], - [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], - [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], - [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], - [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ]) -])# _LT_AC_LANG_GCJ - - -# AC_LIBTOOL_RC -# ------------- -# enable support for Windows resource files -AC_DEFUN([AC_LIBTOOL_RC], -[AC_REQUIRE([LT_AC_PROG_RC]) -_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC]) -])# AC_LIBTOOL_RC - - -# AC_LIBTOOL_LANG_C_CONFIG -# ------------------------ -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) -AC_DEFUN([_LT_AC_LANG_C_CONFIG], -[lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_AC_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);}' - -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF - -# Report which library types will actually be built -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_C_CONFIG - - -# AC_LIBTOOL_LANG_CXX_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) -AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], -[AC_LANG_PUSH(C++) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([_LT_AC_PROG_CXXCPP]) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Dependencies to place before and after the object being linked: -_LT_AC_TAGVAR(predep_objects, $1)= -_LT_AC_TAGVAR(postdep_objects, $1)= -_LT_AC_TAGVAR(predeps, $1)= -_LT_AC_TAGVAR(postdeps, $1)= -_LT_AC_TAGVAR(compiler_lib_search_path, $1)= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_AC_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(int, char *[[]]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' -else - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - AC_PROG_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -_LT_AC_TAGVAR(ld_shlibs, $1)=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aix4* | aix5*) - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - 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]].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - freebsd-elf*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - ;; - gnu*) - ;; - hpux9*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - m88k*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; -esac -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_AC_TAGVAR(GCC, $1)="$GXX" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_POSTDEP_PREDEP($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -])# AC_LIBTOOL_LANG_CXX_CONFIG - -# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------------------ -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],[ -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -ifelse([$1],[],[cat > conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_AC_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac -])# AC_LIBTOOL_POSTDEP_PREDEP - -# AC_LIBTOOL_LANG_F77_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) -AC_DEFUN([_LT_AC_LANG_F77_CONFIG], -[AC_REQUIRE([AC_PROG_F77]) -AC_LANG_PUSH(Fortran 77) - -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_AC_TAGVAR(allow_undefined_flag, $1)= -_LT_AC_TAGVAR(always_export_symbols, $1)=no -_LT_AC_TAGVAR(archive_expsym_cmds, $1)= -_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_direct, $1)=no -_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_AC_TAGVAR(hardcode_libdir_separator, $1)= -_LT_AC_TAGVAR(hardcode_minus_L, $1)=no -_LT_AC_TAGVAR(hardcode_automatic, $1)=no -_LT_AC_TAGVAR(module_cmds, $1)= -_LT_AC_TAGVAR(module_expsym_cmds, $1)= -_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_AC_TAGVAR(no_undefined_flag, $1)= -_LT_AC_TAGVAR(whole_archive_flag_spec, $1)= -_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -AC_MSG_CHECKING([if libtool supports shared libraries]) -AC_MSG_RESULT([$can_build_shared]) - -AC_MSG_CHECKING([whether to build shared libraries]) -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -AC_MSG_RESULT([$enable_shared]) - -AC_MSG_CHECKING([whether to build static libraries]) -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -AC_MSG_RESULT([$enable_static]) - -_LT_AC_TAGVAR(GCC, $1)="$G77" -_LT_AC_TAGVAR(LD, $1)="$LD" - -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_POP -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_F77_CONFIG - - -# AC_LIBTOOL_LANG_GCJ_CONFIG -# -------------------------- -# Ensure that the configuration vars for the C compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) -AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], -[AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) -AC_LIBTOOL_PROG_COMPILER_PIC($1) -AC_LIBTOOL_PROG_CC_C_O($1) -AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) -AC_LIBTOOL_PROG_LD_SHLIBS($1) -AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) -AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_GCJ_CONFIG - - -# AC_LIBTOOL_LANG_RC_CONFIG -# ------------------------- -# Ensure that the configuration vars for the Windows resource compiler are -# suitably defined. Those variables are subsequently used by -# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. -AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) -AC_DEFUN([_LT_AC_LANG_RC_CONFIG], -[AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_AC_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_AC_SYS_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -_LT_AC_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -AC_LIBTOOL_CONFIG($1) - -AC_LANG_RESTORE -CC="$lt_save_CC" -])# AC_LIBTOOL_LANG_RC_CONFIG - - -# AC_LIBTOOL_CONFIG([TAGNAME]) -# ---------------------------- -# If TAGNAME is not passed, then create an initial libtool script -# with a default configuration from the untagged config vars. Otherwise -# add code to config.status for appending the configuration named by -# TAGNAME from the matching tagged config vars. -AC_DEFUN([AC_LIBTOOL_CONFIG], -[# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - _LT_AC_TAGVAR(compiler, $1) \ - _LT_AC_TAGVAR(CC, $1) \ - _LT_AC_TAGVAR(LD, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ - _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ - _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ - _LT_AC_TAGVAR(old_archive_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ - _LT_AC_TAGVAR(predep_objects, $1) \ - _LT_AC_TAGVAR(postdep_objects, $1) \ - _LT_AC_TAGVAR(predeps, $1) \ - _LT_AC_TAGVAR(postdeps, $1) \ - _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ - _LT_AC_TAGVAR(archive_cmds, $1) \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ - _LT_AC_TAGVAR(postinstall_cmds, $1) \ - _LT_AC_TAGVAR(postuninstall_cmds, $1) \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ - _LT_AC_TAGVAR(allow_undefined_flag, $1) \ - _LT_AC_TAGVAR(no_undefined_flag, $1) \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \ - _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ - _LT_AC_TAGVAR(hardcode_automatic, $1) \ - _LT_AC_TAGVAR(module_cmds, $1) \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) \ - _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ - _LT_AC_TAGVAR(fix_srcfile_path, $1) \ - _LT_AC_TAGVAR(exclude_expsyms, $1) \ - _LT_AC_TAGVAR(include_expsyms, $1); do - - case $var in - _LT_AC_TAGVAR(old_archive_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ - _LT_AC_TAGVAR(archive_cmds, $1) | \ - _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(module_cmds, $1) | \ - _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ - _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\[$]0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` - ;; - esac - -ifelse([$1], [], - [cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - AC_MSG_NOTICE([creating $ofile])], - [cfgfile="$ofile"]) - - cat <<__EOF__ >> "$cfgfile" -ifelse([$1], [], -[#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 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. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG], -[# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) - -# Is the compiler the GNU C compiler? -with_gcc=$_LT_AC_TAGVAR(GCC, $1) - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_[]_LT_AC_TAGVAR(LD, $1) - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) - -# Commands used to build and install a shared archive. -archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) -archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1) -module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1) - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1) - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) - -# The commands to list exported symbols. -export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) - -# Symbols that must always be exported. -include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) - -ifelse([$1],[], -[# ### END LIBTOOL CONFIG], -[# ### END LIBTOOL TAG CONFIG: $tagname]) - -__EOF__ - -ifelse([$1],[], [ - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -]) -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi -])# AC_LIBTOOL_CONFIG - - -# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], -[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl - -_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI - - -# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE -# --------------------------------- -AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], -[AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([LT_AC_PROG_SED]) -AC_REQUIRE([AC_PROG_NM]) -AC_REQUIRE([AC_OBJEXT]) -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[[ABCDGIRSTW]]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext < $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[[]] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi -]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE - - -# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) -# --------------------------------------- -AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], -[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_AC_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) - ifelse([$1],[CXX],[ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then - AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), - [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) -]) - - -# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) -# ------------------------------------ -# See if the linker supports building shared libraries. -AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], -[AC_REQUIRE([LT_AC_PROG_SED])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -ifelse([$1],[CXX],[ - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw*) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -],[ - runpath_var= - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)= - _LT_AC_TAGVAR(archive_expsym_cmds, $1)= - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= - _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown - _LT_AC_TAGVAR(hardcode_automatic, $1)=no - _LT_AC_TAGVAR(module_cmds, $1)= - _LT_AC_TAGVAR(module_expsym_cmds, $1)= - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_AC_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - _LT_CC_BASENAME([$compiler]) - 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 - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - - # Samuel A. Falvo II 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't use - # them. - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=no - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix4* | aix5*) - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - else - _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' - fi - 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]].*|aix5*) - 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 - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_AC_TAGVAR(archive_cmds, $1)='' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_AC_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - _LT_AC_SYS_LIBPATH_AIX - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - # see comment about different semantics on the GNU ld section - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - bsdi[[45]]*) - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - 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. - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi - ;; - - dgux*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_AC_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - fi -]) -AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_AC_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) - _LT_AC_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) - then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac -])# AC_LIBTOOL_PROG_LD_SHLIBS - - -# _LT_AC_FILE_LTDLL_C -# ------------------- -# Be careful that the start marker always follows a newline. -AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ -# /* ltdll.c starts here */ -# #define WIN32_LEAN_AND_MEAN -# #include -# #undef WIN32_LEAN_AND_MEAN -# #include -# -# #ifndef __CYGWIN__ -# # ifdef __CYGWIN32__ -# # define __CYGWIN__ __CYGWIN32__ -# # endif -# #endif -# -# #ifdef __cplusplus -# extern "C" { -# #endif -# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); -# #ifdef __cplusplus -# } -# #endif -# -# #ifdef __CYGWIN__ -# #include -# DECLARE_CYGWIN_DLL( DllMain ); -# #endif -# HINSTANCE __hDllInstance_base; -# -# BOOL APIENTRY -# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) -# { -# __hDllInstance_base = hInst; -# return TRUE; -# } -# /* ltdll.c ends here */ -])# _LT_AC_FILE_LTDLL_C - - -# _LT_AC_TAGVAR(VARNAME, [TAGNAME]) -# --------------------------------- -AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) - - -# old names -AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) -AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) -AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) -AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) -AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) - -# This is just to silence aclocal about the macro not being used -ifelse([AC_DISABLE_FAST_INSTALL]) - -AC_DEFUN([LT_AC_PROG_GCJ], -[AC_CHECK_TOOL(GCJ, gcj, no) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS) -]) - -AC_DEFUN([LT_AC_PROG_RC], -[AC_CHECK_TOOL(RC, windres, no) -]) - - -# Cheap backport of AS_EXECUTABLE_P and required macros -# from Autoconf 2.59; we should not use $as_executable_p directly. - -# _AS_TEST_PREPARE -# ---------------- -m4_ifndef([_AS_TEST_PREPARE], -[m4_defun([_AS_TEST_PREPARE], -[if test -x / >/dev/null 2>&1; then - as_executable_p='test -x' -else - as_executable_p='test -f' -fi -])])# _AS_TEST_PREPARE - -# AS_EXECUTABLE_P -# --------------- -# Check whether a file is executable. -m4_ifndef([AS_EXECUTABLE_P], -[m4_defun([AS_EXECUTABLE_P], -[AS_REQUIRE([_AS_TEST_PREPARE])dnl -$as_executable_p $1[]dnl -])])# AS_EXECUTABLE_P - -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -# LT_AC_PROG_SED -# -------------- -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -AC_DEFUN([LT_AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -]) - -# Copyright (C) 2002, 2003, 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_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.10' -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.10], [], - [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 AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10])dnl -_AM_AUTOCONF_VERSION(m4_PACKAGE_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 -# 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 8 - -# 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 -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 -# 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 - -# 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 - 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 - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 -# 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 3 - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; 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 10q "$mf" | grep '^#.*generated by automake' > /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"]) -]) - -# Copyright (C) 1996, 1997, 2000, 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. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 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. - -# serial 12 - -# 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.60])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) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -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 -]) -]) - - -# 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_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) - -# 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_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} -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])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 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 3 - -# 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 done -.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 -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -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 -# 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_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 -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# 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 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 3 - -# _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], -[AC_FOREACH([_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 -# 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_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# 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 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_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_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 /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([m4/gtk.m4]) diff --git a/dist/nvi/dist/compile b/dist/nvi/dist/compile deleted file mode 100644 index 9bb997a6a..000000000 --- a/dist/nvi/dist/compile +++ /dev/null @@ -1,99 +0,0 @@ -#! /bin/sh - -# Wrapper for compilers which do not understand `-c -o'. - -# Copyright 1999, 2000 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. - -# Usage: -# compile PROGRAM [ARGS]... -# `-o FOO.o' is removed from the args passed to the actual compile. - -prog=$1 -shift - -ofile= -cfile= -args= -while test $# -gt 0; do - case "$1" in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we do something ugly here. - ofile=$2 - shift - case "$ofile" in - *.o | *.obj) - ;; - *) - args="$args -o $ofile" - ofile= - ;; - esac - ;; - *.c) - cfile=$1 - args="$args $1" - ;; - *) - args="$args $1" - ;; - esac - 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 "$prog" $args -fi - -# Name of file we expect compiler to create. -cofile=`echo $cfile | sed -e 's|^.*/||' -e '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. -"$prog" $args -status=$? - -if test -f "$cofile"; then - mv "$cofile" "$ofile" -fi - -rmdir $lockdir -exit $status diff --git a/dist/nvi/dist/config.guess b/dist/nvi/dist/config.guess deleted file mode 100644 index 951383e35..000000000 --- a/dist/nvi/dist/config.guess +++ /dev/null @@ -1,1516 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-05-17' - -# 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 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. - - -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -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." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:[3456]*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T | authenticamd) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - cris:Linux:*:*) - echo cris-axis-linux-gnu - exit ;; - crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu - exit ;; - frv:Linux:*:*) - echo frv-unknown-linux-gnu - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - or32:Linux:*:*) - echo or32-unknown-linux-gnu - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu - exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - unknown) UNAME_PROCESSOR=powerpc ;; - esac - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NSE-?:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -eval $set_cc_for_build -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix\n"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - c34*) - echo c34-convex-bsd - exit ;; - c38*) - echo c38-convex-bsd - exit ;; - c4*) - echo c4-convex-bsd - exit ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -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` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/dist/nvi/dist/config.h.in b/dist/nvi/dist/config.h.in deleted file mode 100644 index c1bda3e98..000000000 --- a/dist/nvi/dist/config.h.in +++ /dev/null @@ -1,283 +0,0 @@ -/* config.h.in. Generated from configure.in by autoheader. */ -/* Id: acconfig.h,v 8.34 2002/01/19 23:01:35 skimo Exp (Berkeley) Date: 2002/01/19 23:01:35 */ - -/* Define to `int' if doesn't define. */ -#undef ssize_t - -/* Define if you want a debugging version. */ -#undef DEBUG - -/* Define if you have a System V-style (broken) gettimeofday. */ -#undef HAVE_BROKEN_GETTIMEOFDAY - -/* Define if you have a Ultrix-style (broken) vdisable. */ -#undef HAVE_BROKEN_VDISABLE - -/* Define if you have a BSD version of curses. */ -#undef HAVE_BSD_CURSES - -/* Define if you have wide ncurses(3). */ -#undef HAVE_NCURSESW - -/* Define if you have the curses(3) waddnwstr function. */ -#undef HAVE_CURSES_ADDNWSTR - -/* Define if you have the curses(3) waddnstr function. */ -#undef HAVE_CURSES_WADDNSTR - -/* Define if you have the curses(3) beep function. */ -#undef HAVE_CURSES_BEEP - -/* Define if you have the curses(3) flash function. */ -#undef HAVE_CURSES_FLASH - -/* Define if you have the curses(3) idlok function. */ -#undef HAVE_CURSES_IDLOK - -/* Define if you have the curses(3) keypad function. */ -#undef HAVE_CURSES_KEYPAD - -/* Define if you have the curses(3) newterm function. */ -#undef HAVE_CURSES_NEWTERM - -/* Define if you have the curses(3) setupterm function. */ -#undef HAVE_CURSES_SETUPTERM - -/* Define if you have the curses(3) tigetstr/tigetnum functions. */ -#undef HAVE_CURSES_TIGETSTR - -/* Define if you have the DB __hash_open call in the C library. */ -#undef HAVE_DB_HASH_OPEN - -/* Define if you have the chsize(2) system call. */ -#undef HAVE_FTRUNCATE_CHSIZE - -/* Define if you have the ftruncate(2) system call. */ -#undef HAVE_FTRUNCATE_FTRUNCATE - -/* Define if you have gcc. */ -#undef HAVE_GCC - -/* Define if you have fcntl(2) style locking. */ -#undef HAVE_LOCK_FCNTL - -/* Define if you have flock(2) style locking. */ -#undef HAVE_LOCK_FLOCK - -/* Define is appropriate pango is available */ -#undef HAVE_PANGO - -/* Define if you want to compile in the Perl interpreter. */ -#undef HAVE_PERL_INTERP - -/* Define if using pthread. */ -#undef HAVE_PTHREAD - -/* Define if you have the Berkeley style revoke(2) system call. */ -#undef HAVE_REVOKE - -/* Define if you have the Berkeley style strsep(3) function. */ -#undef HAVE_STRSEP - -/* Define if you have */ -#undef HAVE_SYS_MMAN_H - -/* Define if you have */ -#undef HAVE_SYS_SELECT_H - -/* Define if you have the System V style pty calls. */ -#undef HAVE_SYS5_PTY - -/* Define if you want to compile in the Tcl interpreter. */ -#undef HAVE_TCL_INTERP - -/* Define is appropriate zvt is available */ -#undef HAVE_ZVT - -/* Define if your sprintf returns a pointer, not a length. */ -#undef SPRINTF_RET_CHARPNT - -/* Define when using db1 */ -#undef USE_DB1 - -/* Define when using db4 logging */ -#undef USE_DB4_LOGGING - -/* Define when dynamically loading DB 3 */ -#undef USE_DYNAMIC_LOADING - -/* Define when iconv can be used */ -#undef USE_ICONV - -/* Define when perl's setenv should be used */ -#undef USE_PERL_SETENV - -/* Define when using S-Lang */ -#undef USE_SLANG_CURSES - -/* Define when using wide characters */ -#undef USE_WIDECHAR - -/* Define if you have */ -#undef HAVE_NCURSES_H - -/* Define when fprintf prototype not in an obvious place */ -#undef NEED_FPRINTF_PROTO - -/* Define to 1 if you have the `bsearch' function. */ -#undef HAVE_BSEARCH - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the `fork' function. */ -#undef HAVE_FORK - -/* Define to 1 if you have the `gethostname' function. */ -#undef HAVE_GETHOSTNAME - -/* Define to 1 if you have the `getpagesize' function. */ -#undef HAVE_GETPAGESIZE - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `iswblank' function. */ -#undef HAVE_ISWBLANK - -/* Define to 1 if you have the `memchr' function. */ -#undef HAVE_MEMCHR - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the `mkstemp' function. */ -#undef HAVE_MKSTEMP - -/* Define to 1 if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define to 1 if you have the header file. */ -#undef HAVE_NCURSESW_NCURSES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_NCURSES_H - -/* Define to 1 if you have the `select' function. */ -#undef HAVE_SELECT - -/* Define to 1 if you have the `setenv' function. */ -#undef HAVE_SETENV - -/* Define to 1 if you have the `snprintf' function. */ -#undef HAVE_SNPRINTF - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strdup' function. */ -#undef HAVE_STRDUP - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strpbrk' function. */ -#undef HAVE_STRPBRK - -/* Define to 1 if you have the `strsep' function. */ -#undef HAVE_STRSEP - -/* Define to 1 if `st_blksize' is member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_BLKSIZE - -/* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use - `HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */ -#undef HAVE_ST_BLKSIZE - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `unsetenv' function. */ -#undef HAVE_UNSETENV - -/* Define to 1 if you have the `vfork' function. */ -#undef HAVE_VFORK - -/* Define to 1 if you have the header file. */ -#undef HAVE_VFORK_H - -/* Define to 1 if you have the `vsnprintf' function. */ -#undef HAVE_VSNPRINTF - -/* Define to 1 if `fork' works. */ -#undef HAVE_WORKING_FORK - -/* Define to 1 if `vfork' works. */ -#undef HAVE_WORKING_VFORK - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if your declares `struct tm'. */ -#undef TM_IN_SYS_TIME - -/* Version number of package */ -#undef VERSION - -/* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to `int' if does not define. */ -#undef mode_t - -/* Define to `long int' if does not define. */ -#undef off_t - -/* Define to `int' if does not define. */ -#undef pid_t - -/* Define to `unsigned int' if does not define. */ -#undef size_t - -/* Define to `int' if does not define. */ -#undef ssize_t - -/* Define as `fork' if `vfork' does not work. */ -#undef vfork diff --git a/dist/nvi/dist/config.sub b/dist/nvi/dist/config.sub deleted file mode 100644 index c060f4483..000000000 --- a/dist/nvi/dist/config.sub +++ /dev/null @@ -1,1626 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. - -timestamp='2007-04-29' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# 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 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. - - -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -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." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ - uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ - | bfin \ - | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | mt \ - | msp430 \ - | nios | nios2 \ - | ns16k | ns32k \ - | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ - | pyramid \ - | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu | strongarm \ - | tahoe | thumb | tic4x | tic80 | tron \ - | v850 | v850e \ - | we32k \ - | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ - | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nios-* | nios2-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ - | pyramid-* \ - | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tron-* \ - | v850-* | v850e-* | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ - | ymp-* \ - | z8k-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16c) - basic_machine=cr16c-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - 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 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tic55x | c55x*) - basic_machine=tic55x-unknown - os=-coff - ;; - tic6x | c6x*) - basic_machine=tic6x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -kaos*) - os=-kaos - ;; - -zvmoe) - os=-zvmoe - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/dist/nvi/dist/configure b/dist/nvi/dist/configure deleted file mode 100644 index b23e1677e..000000000 --- a/dist/nvi/dist/configure +++ /dev/null @@ -1,30513 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61. -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006 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=: - # 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 - - - - -# PATH needs CR -# 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 - -# 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 - -# 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.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -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 - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -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) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -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 - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - -if test "x$CONFIG_SHELL" = x; then - if (eval ":") 2>/dev/null; then - as_have_required=yes -else - as_have_required=no -fi - - if test $as_have_required = yes && (eval ": -(as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=\$LINENO - as_lineno_2=\$LINENO - test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && - test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } -") 2> /dev/null; then - : -else - as_candidate_shells= - 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=. - case $as_dir in - /*) - for as_base in sh bash ksh sh5; do - as_candidate_shells="$as_candidate_shells $as_dir/$as_base" - done;; - esac -done -IFS=$as_save_IFS - - - for as_shell in $as_candidate_shells $SHELL; do - # Try only shells that exist, to save several forks. - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { ("$as_shell") 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # 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 - - -: -_ASEOF -}; then - CONFIG_SHELL=$as_shell - as_have_required=yes - if { "$as_shell" 2> /dev/null <<\_ASEOF -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # 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_func_return () { - (exit $1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = "$1" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test $exitcode = 0) || { (exit 1); exit 1; } - -( - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } - -_ASEOF -}; then - break -fi - -fi - - done - - if test "x$CONFIG_SHELL" != x; then - for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} -fi - - - if test $as_have_required = no; then - echo This script requires a shell more modern than all the - echo shells that I found on your system. Please install a - echo modern shell, or manually run the script under such a - echo shell if you do have one. - { (exit 1); exit 1; } -fi - - -fi - -fi - - - -(eval "as_func_return () { - (exit \$1) -} -as_func_success () { - as_func_return 0 -} -as_func_failure () { - as_func_return 1 -} -as_func_ret_success () { - return 0 -} -as_func_ret_failure () { - return 1 -} - -exitcode=0 -if as_func_success; then - : -else - exitcode=1 - echo as_func_success failed. -fi - -if as_func_failure; then - exitcode=1 - echo as_func_failure succeeded. -fi - -if as_func_ret_success; then - : -else - exitcode=1 - echo as_func_ret_success failed. -fi - -if as_func_ret_failure; then - exitcode=1 - echo as_func_ret_failure succeeded. -fi - -if ( set x; as_func_ret_success y && test x = \"\$1\" ); then - : -else - exitcode=1 - echo positional parameters were not saved. -fi - -test \$exitcode = 0") || { - echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message -} - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # 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 after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, 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 - # scripts with optimization help from Paolo Bonzini. 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" || - { 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" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -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 -fi -echo >conf$$.file -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 -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=: -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'" - - - - -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','` - ;; -esac - -echo=${ECHO-echo} -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then - # Yippee, $echo works! - : -else - # Restart under the correct shell. - exec $SHELL "$0" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat </dev/null 2>&1 && unset CDPATH - -if test -z "$ECHO"; then -if test "X${echo_test_string+set}" != Xset; then -# find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if (echo_test_string=`eval $cmd`) 2>/dev/null && - echo_test_string=`eval $cmd` && - (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null - then - break - fi - done -fi - -if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : -else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$echo" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - echo='print -r' - elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"} - else - # Try using printf. - echo='printf %s\n' - if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - echo="$CONFIG_SHELL $0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - echo="$CONFIG_SHELL $0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do - if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "$0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"} - else - # Oops. We lost completely, so just stick with echo. - echo=echo - fi - fi - fi - fi -fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -ECHO=$echo -if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then - ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" -fi - - - - -tagnames=${tagnames+${tagnames},}CXX - -tagnames=${tagnames+${tagnames},}F77 - -exec 7<&0 &1 - -# Name of the host. -# 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` - -# -# 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} - -# Identity of this package. -PACKAGE_NAME= -PACKAGE_TARNAME= -PACKAGE_VERSION= -PACKAGE_STRING= -PACKAGE_BUGREPORT= - -ac_unique_file="../common/main.c" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -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 -datarootdir -datadir -sysconfdir -sharedstatedir -localstatedir -includedir -oldincludedir -docdir -infodir -htmldir -dvidir -pdfdir -psdir -libdir -localedir -mandir -DEFS -ECHO_C -ECHO_N -ECHO_T -LIBS -build_alias -host_alias -target_alias -INSTALL_PROGRAM -INSTALL_SCRIPT -INSTALL_DATA -am__isrc -CYGPATH_W -PACKAGE -VERSION -ACLOCAL -AUTOCONF -AUTOMAKE -AUTOHEADER -MAKEINFO -install_sh -STRIP -INSTALL_STRIP_PROGRAM -mkdir_p -AWK -SET_MAKE -am__leading_dot -AMTAR -am__tar -am__untar -build -build_cpu -build_vendor -build_os -host -host_cpu -host_vendor -host_os -CC -CFLAGS -LDFLAGS -CPPFLAGS -ac_ct_CC -EXEEXT -OBJEXT -DEPDIR -am__include -am__quote -AMDEP_TRUE -AMDEP_FALSE -AMDEPBACKSLASH -CCDEPMODE -am__fastdepCC_TRUE -am__fastdepCC_FALSE -SED -GREP -EGREP -LN_S -ECHO -AR -RANLIB -CPP -CXX -CXXFLAGS -ac_ct_CXX -CXXDEPMODE -am__fastdepCXX_TRUE -am__fastdepCXX_FALSE -CXXCPP -F77 -FFLAGS -ac_ct_F77 -LIBTOOL -OPTFLAG -no_op_OPTFLAG -vi_cv_path_shell -vi_cv_path_sendmail -vi_cv_path_perl -vi_cv_path_preserve -vi_cv_path_fuser -vi_cv_path_lsof -INUSE -vi_cv_path_ar -vi_cv_path_chmod -vi_cv_path_cp -vi_cv_path_ln -vi_cv_path_mkdir -vi_cv_path_rm -vi_cv_path_ranlib -vi_cv_path_strip -XMKMF -XINCS -LIBOBJS -vi_programs -vi_ipc -GTKLIBS -GTKINCS -PKG_CONFIG -GTK_CONFIG -GTK_CFLAGS -GTK_LIBS -MOTIFLIBS -IPCOBJS -shrpenv -perlldflags -perllibs -vi_cv_perllib -CURSLIBS -CURSCPPFLAGS -CURSLDFLAGS -HAVE_NCURSESW -u_char_decl -u_short_decl -u_int_decl -u_long_decl -u_int8_decl -u_int16_decl -int16_decl -u_int32_decl -int32_decl -NEED_FPRINTF_PROTO -dl_src -vi_cv_path_db3 -LTLIBOBJS' -ac_subst_files='' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CPP -CXX -CXXFLAGS -CCC -CXXCPP -F77 -FFLAGS -XMKMF' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -# 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}' -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=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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - 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 ;; - - -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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - 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=\$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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - 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=\$ac_optarg ;; - - -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - 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. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) { echo "$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. - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 - { (exit 1); exit 1; }; } - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - 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'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } -fi - -# Be sure to have absolute directory names. -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 - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; } -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 - 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 .` || - { echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { echo "$as_me: error: pwd does not report name of working directory" >&2 - { (exit 1); exit 1; }; } - - -# 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 -- "$0" || -$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 - 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 .." - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 - { (exit 1); exit 1; }; } -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 - { (exit 1); exit 1; }; } - 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 this package 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/PACKAGE] - --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 - -X features: - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR - -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 - - cat <<\_ACEOF - -Optional Features: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors - --disable-libtool-lock avoid locking (might break parallel builds) - --enable-debug Build a debugging version. - --disable-runpath Don't record path of libraries in binary. - --enable-trace Build a tracing version. - --enable-widechar Build a wide char aware vi. - --enable-gtk Build a Gtk front-end for vi. - --disable-gtktest Do not try to compile and run a test GTK program - --enable-motif Build a Motif front-end for vi. - --enable-threads Turn on thread support. - --enable-perlinterp Include a Perl interpreter in vi. - --enable-tclinterp Include a Tk/Tcl interpreter in vi. - --enable-dynamic-loading Load DB 3 dynamically. - --enable-db4-logging Enable experimental/broken db4 logging. - --disable-re DON'T use the nvi-provided RE routines. - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-pic try to use only PIC/non-PIC objects [default=use - both] - --with-tags[=TAGS] include additional configurations [automatic] - --with-x use the X Window System - --with-gtk-prefix=PFX Prefix where GTK is installed (optional) - --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional) - --with-curses=DIR Path to curses installation. - --with-db=bundled|system Which db to use. - --with-db-prefix=PFX Path to db installation. - --with-db-build=prefix Path to db build. - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CPP C preprocessor - CXX C++ compiler command - CXXFLAGS C++ compiler flags - CXXCPP C++ preprocessor - F77 Fortran 77 compiler command - FFLAGS Fortran 77 compiler flags - XMKMF Path to xmkmf, Makefile generator for X Window System - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -_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" || continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`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 - 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 -configure -generated by GNU Autoconf 2.61 - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006 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 -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 $as_me, which was -generated by GNU Autoconf 2.61. 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=. - 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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; - 2) - 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 - 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 - ac_configure_args="$ac_configure_args '$ac_arg'" - ;; - esac - done -done -$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. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - 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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_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 - - 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=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## -## File substitutions. ## -## ------------------- ## -_ASBOX - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## -## confdefs.h. ## -## ----------- ## -_ASBOX - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - 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 && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - 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 - -# 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 - - -# Let the site file select an alternate cache file if it wants to. -# Prefer explicitly selected file to automatically selected ones. -if test -n "$CONFIG_SITE"; then - set x "$CONFIG_SITE" -elif test "x$prefix" != xNONE; then - set x "$prefix/share/config.site" "$prefix/etc/config.site" -else - set x "$ac_default_prefix/share/config.site" \ - "$ac_default_prefix/etc/config.site" -fi -shift -for ac_site_file -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" - 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. - 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";; - esac - fi -else - { 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 - 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,) - { 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) - { 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 - { 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=`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. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { 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 - - - - - - - - - - - - - - - - - -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 - { { 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. - - -am__api_version='1.10' - -# 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. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. 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 -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$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' - -{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } -# Just in case -sleep 1 -echo timestamp > conftest.file -# 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". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}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 $. echo might interpret backslashes. -# By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm -f conftest.sed - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} -fi - -{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 -echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - - 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. - test -d ./--version && rmdir ./--version - MKDIR_P="$ac_install_sh -d" - fi -fi -{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5 -echo "${ECHO_T}$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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } -set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - SET_MAKE= -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 - -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 - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } - 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=vi - VERSION=1.81.6 - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# 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"} - -install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} - -# 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -{ 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_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&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" - -# 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 -' - - - - - -ac_config_headers="$ac_config_headers config.h" - - -# 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. -{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done -IFS=$as_save_IFS - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. 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 -{ echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$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' - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 -echo "$as_me: error: cannot run $SHELL $ac_aux_dir/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_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 && - { { 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=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_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; } -case $ac_cv_build in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 -echo "$as_me: error: invalid value of canonical build" >&2;} - { (exit 1); exit 1; }; };; -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 - - -{ 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 - 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` || - { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 -echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} - { (exit 1); exit 1; }; } -fi - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 -echo "$as_me: error: invalid value of canonical host" >&2;} - { (exit 1); exit 1; }; };; -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 - - - -# Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then - enableval=$enable_shared; 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 -else - enable_shared=yes -fi - - -# Check whether --enable-static was given. -if test "${enable_static+set}" = set; then - enableval=$enable_static; 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 -else - enable_static=yes -fi - - -# Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then - enableval=$enable_fast_install; 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 -else - enable_fast_install=yes -fi - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi - - -{ echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_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 - - -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 -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 -{ 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. -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="${ac_tool_prefix}gcc" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 -{ 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 { 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_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -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 - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -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. -set dummy ${ac_tool_prefix}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_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. -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="${ac_tool_prefix}cc" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - 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 -{ 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. -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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 - 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 -{ 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. -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="$ac_tool_prefix$ac_prog" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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 { 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_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -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 - - - 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:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -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. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -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. -{ 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[^ ]*//'` -# -# List of possible output files, starting from the most likely. -# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) -# only as a last resort. b.out is created by i960 compilers. -ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' -# -# The IRIX 6 linker writes into existing files which may not be -# executable, retaining their permissions. Remove them first so a -# subsequent execution test works. -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; 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 '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) - ;; - [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. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi - -{ echo "$as_me:$LINENO: result: $ac_file" >&5 -echo "${ECHO_T}$ac_file" >&6; } -if test -z "$ac_file"; then - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { 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 - -ac_exeext=$ac_cv_exeext - -# Check that 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' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 -# Check that 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 { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - 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 -# `rm'. -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 | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { 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$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 -{ 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&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 -{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - 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 -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -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 -{ 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 - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -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 -{ 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 - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* 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 - 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. */ -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);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -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__" -do - CC="$ac_save_CC $ac_arg" - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -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 -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -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 - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - 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 - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$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 - - -{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 -echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } -if test "${lt_cv_path_SED+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done - -fi - -SED=$lt_cv_path_SED - -{ echo "$as_me:$LINENO: result: $SED" >&5 -echo "${ECHO_T}$SED" >&6; } - -{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 -echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Extract the first word of "grep ggrep" to use in msg output -if test -z "$GREP"; then -set dummy grep ggrep; ac_prog_name=$2 -if test "${ac_cv_path_GREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_GREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue - # Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_GREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -GREP="$ac_cv_path_GREP" -if test -z "$GREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_GREP=$GREP -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 -echo "${ECHO_T}$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - # Extract the first word of "egrep" to use in msg output -if test -z "$EGREP"; then -set dummy egrep; ac_prog_name=$2 -if test "${ac_cv_path_EGREP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_path_EGREP_found=false -# Loop through the user's path and test for each of PROGNAME-LIST -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue - # Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - ac_count=`expr $ac_count + 1` - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - - $ac_path_EGREP_found && break 3 - done -done - -done -IFS=$as_save_IFS - - -fi - -EGREP="$ac_cv_path_EGREP" -if test -z "$EGREP"; then - { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 -echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} - { (exit 1); exit 1; }; } -fi - -else - ac_cv_path_EGREP=$EGREP -fi - - - fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 -echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - -{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 -echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 -echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 -echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } -if test "${lt_cv_path_NM+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm -fi -fi -{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 -echo "${ECHO_T}$lt_cv_path_NM" >&6; } -NM="$lt_cv_path_NM" - -{ echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else - { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6; } -fi - -{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 -echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix4* | aix5*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - if ( file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -nto-qnx*) - lt_cv_deplibs_check_method=unknown - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 -echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line 4459 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 -echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - 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 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - lt_cv_cc_needs_belf=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - lt_cv_cc_needs_belf=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext 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 - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 -echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) LD="${LD-ld} -64" ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - - -esac - -need_locks="$enable_libtool_lock" - - -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 -{ 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 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" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.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.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.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.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ 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 - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.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.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.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.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { 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 -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 - - -{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_header_stdc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_header_stdc=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then - : -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Header=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_header in dlfcn.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC - 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # 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_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for C++ compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ 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_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - 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 -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } -GXX=`test $ac_compiler_gnu = yes && echo yes` -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CXXFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cxx_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -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_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -depcc="$CXX" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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_CXX_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - 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 - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= -fi - - - - -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -{ 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; } -if test -z "$CXXCPP"; then - if test "${ac_cv_prog_CXXCPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # Double quotes because CXXCPP needs to be expanded - for CXXCPP in "$CXX -E" "/lib/cpp" - do - ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.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.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.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.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - break -fi - - done - ac_cv_prog_CXXCPP=$CXXCPP - -fi - CXXCPP=$ac_cv_prog_CXXCPP -else - ac_cv_prog_CXXCPP=$CXXCPP -fi -{ echo "$as_me:$LINENO: result: $CXXCPP" >&5 -echo "${ECHO_T}$CXXCPP" >&6; } -ac_preproc_ok=false -for ac_cxx_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.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.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || - test ! -s conftest.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.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : -else - { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&5 -echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -fi - -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - -fi - - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn - 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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$F77"; then - ac_cv_prog_F77="$F77" # 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_F77="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -F77=$ac_cv_prog_F77 -if test -n "$F77"; then - { echo "$as_me:$LINENO: result: $F77" >&5 -echo "${ECHO_T}$F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$F77" && break - done -fi -if test -z "$F77"; then - ac_ct_F77=$F77 - for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ac_ct_F77"; then - ac_cv_prog_ac_ct_F77="$ac_ct_F77" # 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_F77="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -ac_ct_F77=$ac_cv_prog_ac_ct_F77 -if test -n "$ac_ct_F77"; then - { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 -echo "${ECHO_T}$ac_ct_F77" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$ac_ct_F77" && break -done - - if test "x$ac_ct_F77" = x; then - F77="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - F77=$ac_ct_F77 - fi -fi - - -# Provide some information about the compiler. -echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -rm -f a.out - -# If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) -ac_save_ext=$ac_ext -ac_ext=F -{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 -echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } -if test "${ac_cv_f77_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF - program main -#ifndef __GNUC__ - choke me -#endif - - end -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - 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 -ac_cv_f77_compiler_gnu=$ac_compiler_gnu - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } -ac_ext=$ac_save_ext -ac_test_FFLAGS=${FFLAGS+set} -ac_save_FFLAGS=$FFLAGS -FFLAGS= -{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 -echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } -if test "${ac_cv_prog_f77_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - FFLAGS=-g -cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_f77_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_prog_f77_g=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 -echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } -if test "$ac_test_FFLAGS" = set; then - FFLAGS=$ac_save_FFLAGS -elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-g -O2" - else - FFLAGS="-g" - fi -else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then - FFLAGS="-O2" - else - FFLAGS= - fi -fi - -G77=`test $ac_compiler_gnu = yes && echo yes` -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 - - - -# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! - -# find the maximum length of command line arguments -{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 -echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ - = "XX$teststring") >/dev/null 2>&1 && - new_result=`expr "X$teststring" : ".*" 2>&1` && - lt_cv_sys_max_cmd_len=$new_result && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - teststring= - # Add a significant safety factor because C++ compilers can tack on massive - # amounts of additional arguments before passing them to the linker. - # It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 -echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } -else - { echo "$as_me:$LINENO: result: none" >&5 -echo "${ECHO_T}none" >&6; } -fi - - - - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 -echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Transform an extracted symbol line into a proper C declaration -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32*) - symcode='[ABCDGISTW]' - ;; -hpux*) # Its linker distinguishes data from code symbols - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - ;; -linux* | k*bsd*-gnu) - if test "$host_cpu" = ia64; then - symcode='[ABCDGIRSTW]' - lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Try without a prefix undercore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 - (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if grep ' nm_test_var$' "$nlist" >/dev/null; then - if grep ' nm_test_func$' "$nlist" >/dev/null; then - cat < conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' - - cat <> conftest.$ac_ext -#if defined (__STDC__) && __STDC__ -# define lt_ptr_t void * -#else -# define lt_ptr_t char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - lt_ptr_t address; -} -lt_preloaded_symbols[] = -{ -EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext - cat <<\EOF >> conftest.$ac_ext - {0, (lt_ptr_t) 0} -}; - -#ifdef __cplusplus -} -#endif -EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { echo "$as_me:$LINENO: result: failed" >&5 -echo "${ECHO_T}failed" >&6; } -else - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } -fi - -{ echo "$as_me:$LINENO: checking for objdir" >&5 -echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } -if test "${lt_cv_objdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 -echo "${ECHO_T}$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='sed -e 1s/^X//' -sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Constants: -rm="rm -f" - -# Global variables: -default_ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -ltmain="$ac_aux_dir/ltmain.sh" -ofile="$default_ofile" -with_gnu_ld="$lt_cv_prog_gnu_ld" - -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 -{ 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. -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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $AR" >&5 -echo "${ECHO_T}$AR" >&6; } -else - { 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 -{ 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. -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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 -echo "${ECHO_T}$ac_ct_AR" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -{ 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_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&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}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; 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_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -{ 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_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -test -z "$AS" && AS=as -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$DLLTOOL" && DLLTOOL=dlltool -test -z "$LD" && LD=ld -test -z "$LN_S" && LN_S="ln -s" -test -z "$MAGIC_CMD" && MAGIC_CMD=file -test -z "$NM" && NM=nm -test -z "$SED" && SED=sed -test -z "$OBJDUMP" && OBJDUMP=objdump -test -z "$RANLIB" && RANLIB=: -test -z "$STRIP" && STRIP=: -test -z "$ac_objext" && ac_objext=o - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 -echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { echo "$as_me:$LINENO: checking for file" >&5 -echo $ECHO_N "checking for file... $ECHO_C" >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 -echo "${ECHO_T}$MAGIC_CMD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -enable_dlopen=no -enable_win32_dll=no - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - -test -z "$pic_mode" && pic_mode=default - -# Use C for the default configuration in the libtool script -tagname= -lt_save_CC="$CC" -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 - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$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);}' - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7196: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7200: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic='-qnocommon' - lt_prog_compiler_wl='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7486: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:7490: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } - -if test x"$lt_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works=yes - fi - else - lt_prog_compiler_static_works=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } - -if test x"$lt_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7590: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:7594: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag= - enable_shared_with_static_runtimes=no - archive_cmds= - archive_expsym_cmds= - old_archive_From_new_cmds= - old_archive_from_expsyms_cmds= - export_dynamic_flag_spec= - whole_archive_flag_spec= - thread_safe_flag_spec= - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= - hardcode_libdir_separator= - hardcode_direct=no - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - link_all_deplibs=unknown - hardcode_automatic=no - module_cmds= - module_expsym_cmds= - always_export_symbols=no - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - 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 - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - - # Samuel A. Falvo II 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't use - # them. - ld_shlibs=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix4* | aix5*) - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - 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].*|aix5*) - 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 - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - 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=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - whole_archive_flag_spec='' - link_all_deplibs=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - freebsd1*) - ld_shlibs=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - 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 - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld='+b $libdir' - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - export_dynamic_flag_spec='${wl}-E' - - # 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*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld='-rpath $libdir' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5 -echo "${ECHO_T}$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc=no - else - archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 -echo "${ECHO_T}$archive_cmds_need_lc" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`echo $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || \ - test -n "$runpath_var" || \ - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action" >&5 -echo "${ECHO_T}$hardcode_action" >&6; } - -if test "$hardcode_action" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - -striplib= -old_striplib= -{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 -echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - ;; - *) - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - ;; - esac -fi - -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - { echo "$as_me:$LINENO: checking for shl_load" >&5 -echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } -if test "${ac_cv_func_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define shl_load to an innocuous variant, in case declares shl_load. - For example, HP-UX 11i declares gettimeofday. */ -#define shl_load innocuous_shl_load - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shl_load (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef shl_load - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_shl_load || defined __stub___shl_load -choke me -#endif - -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 -echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } -if test $ac_cv_func_shl_load = yes; then - lt_cv_dlopen="shl_load" -else - { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 -echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_shl_load=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_shl_load=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } -if test $ac_cv_lib_dld_shl_load = yes; then - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" -else - { echo "$as_me:$LINENO: checking for dlopen" >&5 -echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } -if test "${ac_cv_func_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define dlopen to an innocuous variant, in case declares dlopen. - For example, HP-UX 11i declares gettimeofday. */ -#define dlopen innocuous_dlopen - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char dlopen (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef dlopen - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_dlopen || defined __stub___dlopen -choke me -#endif - -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_func_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_func_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 -echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } -if test $ac_cv_func_dlopen = yes; then - lt_cv_dlopen="dlopen" -else - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 -echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_svld_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_svld_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } -if test $ac_cv_lib_svld_dlopen = yes; then - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 -echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dld_dld_link=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dld_dld_link=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 -echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } -if test $ac_cv_lib_dld_dld_link = yes; then - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 -echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 -echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext < -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -#ifdef __cplusplus -extern "C" void exit (int); -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - exit (status); -} -EOF - if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 -echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - -# Report which library types will actually be built -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler \ - CC \ - LD \ - lt_prog_compiler_wl \ - lt_prog_compiler_pic \ - lt_prog_compiler_static \ - lt_prog_compiler_no_builtin_flag \ - export_dynamic_flag_spec \ - thread_safe_flag_spec \ - whole_archive_flag_spec \ - enable_shared_with_static_runtimes \ - old_archive_cmds \ - old_archive_from_new_cmds \ - predep_objects \ - postdep_objects \ - predeps \ - postdeps \ - compiler_lib_search_path \ - archive_cmds \ - archive_expsym_cmds \ - postinstall_cmds \ - postuninstall_cmds \ - old_archive_from_expsyms_cmds \ - allow_undefined_flag \ - no_undefined_flag \ - export_symbols_cmds \ - hardcode_libdir_flag_spec \ - hardcode_libdir_flag_spec_ld \ - hardcode_libdir_separator \ - hardcode_automatic \ - module_cmds \ - module_expsym_cmds \ - lt_cv_prog_compiler_c_o \ - fix_srcfile_path \ - exclude_expsyms \ - include_expsyms; do - - case $var in - old_archive_cmds | \ - old_archive_from_new_cmds | \ - archive_cmds | \ - archive_expsym_cmds | \ - module_cmds | \ - module_expsym_cmds | \ - old_archive_from_expsyms_cmds | \ - export_symbols_cmds | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="${ofile}T" - trap "$rm \"$cfgfile\"; exit 1" 1 2 15 - $rm -f "$cfgfile" - { echo "$as_me:$LINENO: creating $ofile" >&5 -echo "$as_me: creating $ofile" >&6;} - - cat <<__EOF__ >> "$cfgfile" -#! $SHELL - -# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 -# Free Software Foundation, Inc. -# -# This file is part of GNU Libtool: -# Originally by Gordon Matzigkeit , 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. - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="$SED -e 1s/^X//" - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# The names of the tagged configurations supported by this script. -available_tags= - -# ### BEGIN LIBTOOL CONFIG - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU C compiler? -with_gcc=$GCC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to yes if using DIR/libNAME${shared_ext} 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 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# ### END LIBTOOL CONFIG - -__EOF__ - - - case $host_os in - aix3*) - cat <<\EOF >> "$cfgfile" - -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -EOF - ;; - esac - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || \ - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -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 - -CC="$lt_save_CC" - - -# Check whether --with-tags was given. -if test "${with_tags+set}" = set; then - withval=$with_tags; tagnames="$withval" -fi - - -if test -f "$ltmain" && test -n "$tagnames"; then - if test ! -f "${ofile}"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} - fi - - if test -z "$LTCC"; then - eval "`$SHELL ${ofile} --config | grep '^LTCC='`" - if test -z "$LTCC"; then - { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 -echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} - else - { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 -echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} - fi - fi - if test -z "$LTCFLAGS"; then - eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" - fi - - # Extract list of available tagged configurations in $ofile. - # Note that this assumes the entire list is on one line. - available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` - - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for tagname in $tagnames; do - IFS="$lt_save_ifs" - # Check whether tagname contains only valid characters - case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in - "") ;; - *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 -echo "$as_me: error: invalid tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null - then - { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 -echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} - { (exit 1); exit 1; }; } - fi - - # Update the list of available tags. - if test -n "$tagname"; then - echo appending configuration tag \"$tagname\" to $ofile - - case $tagname in - CXX) - if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - - - - -archive_cmds_need_lc_CXX=no -allow_undefined_flag_CXX= -always_export_symbols_CXX=no -archive_expsym_cmds_CXX= -export_dynamic_flag_spec_CXX= -hardcode_direct_CXX=no -hardcode_libdir_flag_spec_CXX= -hardcode_libdir_flag_spec_ld_CXX= -hardcode_libdir_separator_CXX= -hardcode_minus_L_CXX=no -hardcode_shlibpath_var_CXX=unsupported -hardcode_automatic_CXX=no -module_cmds_CXX= -module_expsym_cmds_CXX= -link_all_deplibs_CXX=unknown -old_archive_cmds_CXX=$old_archive_cmds -no_undefined_flag_CXX= -whole_archive_flag_spec_CXX= -enable_shared_with_static_runtimes_CXX=no - -# Dependencies to place before and after the object being linked: -predep_objects_CXX= -postdep_objects_CXX= -predeps_CXX= -postdeps_CXX= -compiler_lib_search_path_CXX= - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -objext_CXX=$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(int, char *[]) { return(0); }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_LD=$LD -lt_save_GCC=$GCC -GCC=$GXX -lt_save_with_gnu_ld=$with_gnu_ld -lt_save_path_LD=$lt_cv_path_LD -if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx -else - $as_unset lt_cv_prog_gnu_ld -fi -if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX -else - $as_unset lt_cv_path_LD -fi -test -z "${LDCXX+set}" || LD=$LDCXX -CC=${CXX-"c++"} -compiler=$CC -compiler_CXX=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# We don't want -fno-exception wen compiling C++ code, so set the -# no_builtin_flag separately -if test "$GXX" = yes; then - lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' -else - lt_prog_compiler_no_builtin_flag_CXX= -fi - -if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 -echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } -else - { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } -fi -if test "${lt_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -echo "${ECHO_T}$LD" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ - grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_CXX= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - -else - GXX=no - with_gnu_ld=no - wlarc= -fi - -# PORTME: fill in a description of your system's C++ link characteristics -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } -ld_shlibs_CXX=yes -case $host_os in - aix3*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aix4* | aix5*) - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - 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].*|aix5*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_CXX='' - hardcode_direct_CXX=yes - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_CXX=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_CXX=yes - hardcode_libdir_flag_spec_CXX='-L$libdir' - hardcode_libdir_separator_CXX= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_CXX=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_CXX='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - - archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_CXX="-z nodefs" - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_CXX=' ${wl}-bernotok' - allow_undefined_flag_CXX=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_CXX='$convenience' - archive_cmds_need_lc_CXX=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_CXX=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_CXX=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_CXX='-L$libdir' - allow_undefined_flag_CXX=unsupported - always_export_symbols_CXX=no - enable_shared_with_static_runtimes_CXX=yes - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_CXX=no - fi - ;; - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_direct_CXX=no - hardcode_automatic_CXX=yes - hardcode_shlibpath_var_CXX=unsupported - whole_archive_flag_spec_CXX='' - link_all_deplibs_CXX=yes - - if test "$GXX" = yes ; then - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_CXX=no - ;; - esac - fi - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - freebsd[12]*) - # C++ shared libraries reported to be fairly broken before switch to ELF - ld_shlibs_CXX=no - ;; - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes - ;; - gnu*) - ;; - hpux9*) - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - export_dynamic_flag_spec_CXX='${wl}-E' - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - case $host_cpu in - hppa*64*|ia64*) ;; - *) - export_dynamic_flag_spec_CXX='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - ;; - *) - hardcode_direct_CXX=yes - hardcode_minus_L_CXX=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - interix[3-9]*) - hardcode_direct_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' - fi - fi - link_all_deplibs_CXX=yes - ;; - esac - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc*) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - archive_cmds_need_lc_CXX=no - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC*) - # Portland Group C++ compiler - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_CXX='${wl}--export-dynamic' - whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - hardcode_libdir_flag_spec_CXX='-R$libdir' - whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - lynxos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - m88k*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - openbsd2*) - # C++ shared libraries are fairly broken - ld_shlibs_CXX=no - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_CXX=yes - hardcode_shlibpath_var_CXX=no - archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - export_dynamic_flag_spec_CXX='${wl}-E' - whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd='echo' - else - ld_shlibs_CXX=no - fi - ;; - osf3*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' - - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' - hardcode_libdir_separator_CXX=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - cxx*) - allow_undefined_flag_CXX=' -expect_unresolved \*' - archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ - $rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-rpath $libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - - hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_CXX=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"' - - else - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - fi - ;; - esac - ;; - psos*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - archive_cmds_need_lc_CXX=yes - no_undefined_flag_CXX=' -zdefs' - archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - hardcode_libdir_flag_spec_CXX='-R$libdir' - hardcode_shlibpath_var_CXX=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' - ;; - esac - link_all_deplibs_CXX=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - no_undefined_flag_CXX=' ${wl}-z ${wl}defs' - if $CC --version | grep -v '^2\.7' > /dev/null; then - archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\"" - fi - - hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_CXX='${wl}-z,text' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - # So that behaviour is only enabled if SCOABSPATH is set to a - # non-empty value in the environment. Most likely only useful for - # creating official distributions of packages. - # This is a hack until libtool officially supports absolute path - # names for shared libraries. - no_undefined_flag_CXX='${wl}-z,text' - allow_undefined_flag_CXX='${wl}-z,nodefs' - archive_cmds_need_lc_CXX=no - hardcode_shlibpath_var_CXX=no - hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_CXX=':' - link_all_deplibs_CXX=yes - export_dynamic_flag_spec_CXX='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - esac - ;; - vxworks*) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; - *) - # FIXME: insert proper C++ library support - ld_shlibs_CXX=no - ;; -esac -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -GCC_CXX="$GXX" -LD_CXX="$LD" - - -cat > conftest.$ac_ext <&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - # The `*' in the case matches for architectures that use `case' in - # $output_verbose_cmd can trigger glob expansion during the loop - # eval without this substitution. - output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"` - - for p in `eval $output_verbose_link_cmd`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" \ - || test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$compiler_lib_search_path_CXX"; then - compiler_lib_search_path_CXX="${prev}${p}" - else - compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$postdeps_CXX"; then - postdeps_CXX="${prev}${p}" - else - postdeps_CXX="${postdeps_CXX} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$predep_objects_CXX"; then - predep_objects_CXX="$p" - else - predep_objects_CXX="$predep_objects_CXX $p" - fi - else - if test -z "$postdep_objects_CXX"; then - postdep_objects_CXX="$p" - else - postdep_objects_CXX="$postdep_objects_CXX $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling CXX test program" -fi - -$rm -f confest.$objext - -# PORTME: override above test on systems where it is broken -case $host_os in -interix[3-9]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - predep_objects_CXX= - postdep_objects_CXX= - postdeps_CXX= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - # - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - postdeps_CXX='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac - - -case " $postdeps_CXX " in -*" -lc "*) archive_cmds_need_lc_CXX=no ;; -esac - -lt_prog_compiler_wl_CXX= -lt_prog_compiler_pic_CXX= -lt_prog_compiler_static_CXX= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - fi - ;; - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' - ;; - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_CXX='-DDLL_EXPORT' - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_CXX='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - lt_prog_compiler_pic_CXX= - ;; - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_CXX=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - ;; - *) - lt_prog_compiler_pic_CXX='-fPIC' - ;; - esac - else - case $host_os in - aix4* | aix5*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_CXX='-Bstatic' - else - lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_CXX='-qnocommon' - lt_prog_compiler_wl_CXX='-Wl,' - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - lt_prog_compiler_pic_CXX='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - lt_prog_compiler_pic_CXX='+Z' - fi - ;; - aCC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_CXX='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_static_CXX='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - lt_prog_compiler_wl_CXX='--backend -Wl,' - lt_prog_compiler_pic_CXX='-fPIC' - ;; - icpc* | ecpc*) - # Intel C++ - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-static' - ;; - pgCC*) - # Portland Group C++ compiler. - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-fpic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - lt_prog_compiler_pic_CXX='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - lt_prog_compiler_wl_CXX='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - lt_prog_compiler_pic_CXX='-pic' - ;; - cxx*) - # Digital/Compaq C++ - lt_prog_compiler_wl_CXX='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - lt_prog_compiler_pic_CXX= - lt_prog_compiler_static_CXX='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - lt_prog_compiler_wl_CXX='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - lt_prog_compiler_pic_CXX='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - lt_prog_compiler_pic_CXX='-pic' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - lcc*) - # Lucid - lt_prog_compiler_pic_CXX='-pic' - ;; - *) - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - lt_prog_compiler_pic_CXX='-KPIC' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - lt_prog_compiler_wl_CXX='-Wl,' - lt_prog_compiler_pic_CXX='-KPIC' - lt_prog_compiler_static_CXX='-Bstatic' - ;; - esac - ;; - vxworks*) - ;; - *) - lt_prog_compiler_can_build_shared_CXX=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_CXX"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_CXX=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12459: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:12463: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_CXX=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } - -if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then - case $lt_prog_compiler_pic_CXX in - "" | " "*) ;; - *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; - esac -else - lt_prog_compiler_pic_CXX= - lt_prog_compiler_can_build_shared_CXX=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_CXX= - ;; - *) - lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_CXX=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_CXX=yes - fi - else - lt_prog_compiler_static_works_CXX=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } - -if test x"$lt_prog_compiler_static_works_CXX" = xyes; then - : -else - lt_prog_compiler_static_CXX= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_CXX=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12563: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:12567: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_CXX=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix4* | aix5*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - export_symbols_cmds_CXX="$ltdll_cmds" - ;; - cygwin* | mingw*) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - ;; - *) - export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - -{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 -echo "${ECHO_T}$ld_shlibs_CXX" >&6; } -test "$ld_shlibs_CXX" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_CXX" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_CXX=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_CXX in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_CXX - pic_flag=$lt_prog_compiler_pic_CXX - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_CXX - allow_undefined_flag_CXX= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_CXX=no - else - archive_cmds_need_lc_CXX=yes - fi - allow_undefined_flag_CXX=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_CXX= -if test -n "$hardcode_libdir_flag_spec_CXX" || \ - test -n "$runpath_var_CXX" || \ - test "X$hardcode_automatic_CXX" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_CXX" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no && - test "$hardcode_minus_L_CXX" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_CXX=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_CXX=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_CXX=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 -echo "${ECHO_T}$hardcode_action_CXX" >&6; } - -if test "$hardcode_action_CXX" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_CXX \ - CC_CXX \ - LD_CXX \ - lt_prog_compiler_wl_CXX \ - lt_prog_compiler_pic_CXX \ - lt_prog_compiler_static_CXX \ - lt_prog_compiler_no_builtin_flag_CXX \ - export_dynamic_flag_spec_CXX \ - thread_safe_flag_spec_CXX \ - whole_archive_flag_spec_CXX \ - enable_shared_with_static_runtimes_CXX \ - old_archive_cmds_CXX \ - old_archive_from_new_cmds_CXX \ - predep_objects_CXX \ - postdep_objects_CXX \ - predeps_CXX \ - postdeps_CXX \ - compiler_lib_search_path_CXX \ - archive_cmds_CXX \ - archive_expsym_cmds_CXX \ - postinstall_cmds_CXX \ - postuninstall_cmds_CXX \ - old_archive_from_expsyms_cmds_CXX \ - allow_undefined_flag_CXX \ - no_undefined_flag_CXX \ - export_symbols_cmds_CXX \ - hardcode_libdir_flag_spec_CXX \ - hardcode_libdir_flag_spec_ld_CXX \ - hardcode_libdir_separator_CXX \ - hardcode_automatic_CXX \ - module_cmds_CXX \ - module_expsym_cmds_CXX \ - lt_cv_prog_compiler_c_o_CXX \ - fix_srcfile_path_CXX \ - exclude_expsyms_CXX \ - include_expsyms_CXX; do - - case $var in - old_archive_cmds_CXX | \ - old_archive_from_new_cmds_CXX | \ - archive_cmds_CXX | \ - archive_expsym_cmds_CXX | \ - module_cmds_CXX | \ - module_expsym_cmds_CXX | \ - old_archive_from_expsyms_cmds_CXX | \ - export_symbols_cmds_CXX | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_CXX - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_CXX - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_CXX - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_CXX - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_CXX - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_CXX -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_CXX - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_CXX -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_CXX -archive_expsym_cmds=$lt_archive_expsym_cmds_CXX -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_CXX -module_expsym_cmds=$lt_module_expsym_cmds_CXX - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_CXX - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_CXX - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_CXX - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_CXX - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_CXX - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_CXX - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_CXX - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_CXX - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_CXX - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_CXX - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_CXX - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_CXX - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_CXX - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_CXX - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_CXX - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -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 - -CC=$lt_save_CC -LDCXX=$LD -LD=$lt_save_LD -GCC=$lt_save_GCC -with_gnu_ldcxx=$with_gnu_ld -with_gnu_ld=$lt_save_with_gnu_ld -lt_cv_path_LDCXX=$lt_cv_path_LD -lt_cv_path_LD=$lt_save_path_LD -lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld -lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld - - else - tagname="" - fi - ;; - - F77) - if test -n "$F77" && test "X$F77" != "Xno"; then - -ac_ext=f -ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' -ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_f77_compiler_gnu - - -archive_cmds_need_lc_F77=no -allow_undefined_flag_F77= -always_export_symbols_F77=no -archive_expsym_cmds_F77= -export_dynamic_flag_spec_F77= -hardcode_direct_F77=no -hardcode_libdir_flag_spec_F77= -hardcode_libdir_flag_spec_ld_F77= -hardcode_libdir_separator_F77= -hardcode_minus_L_F77=no -hardcode_automatic_F77=no -module_cmds_F77= -module_expsym_cmds_F77= -link_all_deplibs_F77=unknown -old_archive_cmds_F77=$old_archive_cmds -no_undefined_flag_F77= -whole_archive_flag_spec_F77= -enable_shared_with_static_runtimes_F77=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -objext_F77=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="\ - subroutine t - return - end -" - -# Code to be used in simple link tests -lt_simple_link_test_code="\ - program t - end -" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${F77-"f77"} -compiler=$CC -compiler_F77=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 -echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } -{ echo "$as_me:$LINENO: result: $can_build_shared" >&5 -echo "${ECHO_T}$can_build_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 -echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } -test "$can_build_shared" = "no" && enable_shared=no - -# On AIX, shared libraries and static libraries use the same namespace, and -# are all built from PIC. -case $host_os in -aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; -aix4* | aix5*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; -esac -{ echo "$as_me:$LINENO: result: $enable_shared" >&5 -echo "${ECHO_T}$enable_shared" >&6; } - -{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5 -echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } -# Make sure either enable_shared or enable_static is yes. -test "$enable_shared" = yes || enable_static=yes -{ echo "$as_me:$LINENO: result: $enable_static" >&5 -echo "${ECHO_T}$enable_static" >&6; } - -GCC_F77="$G77" -LD_F77="$LD" - -lt_prog_compiler_wl_F77= -lt_prog_compiler_pic_F77= -lt_prog_compiler_static_F77= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_static_F77='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_F77='-fno-common' - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_F77=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_F77=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_F77='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_F77='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_F77='-Bstatic' - else - lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_F77='-qnocommon' - lt_prog_compiler_wl_F77='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_F77='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_F77='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_F77='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_F77='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_F77='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-fpic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_F77='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - lt_prog_compiler_wl_F77='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_F77='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_F77='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_F77='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_F77='-Qoption ld ';; - *) - lt_prog_compiler_wl_F77='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_F77='-Qoption ld ' - lt_prog_compiler_pic_F77='-PIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_F77='-Kconform_pic' - lt_prog_compiler_static_F77='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_pic_F77='-KPIC' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_F77='-Wl,' - lt_prog_compiler_can_build_shared_F77=no - ;; - - uts4*) - lt_prog_compiler_pic_F77='-pic' - lt_prog_compiler_static_F77='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_F77"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_F77=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_F77" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14125: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:14129: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_F77=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } - -if test x"$lt_prog_compiler_pic_works_F77" = xyes; then - case $lt_prog_compiler_pic_F77 in - "" | " "*) ;; - *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; - esac -else - lt_prog_compiler_pic_F77= - lt_prog_compiler_can_build_shared_F77=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_F77= - ;; - *) - lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_F77=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_F77=yes - fi - else - lt_prog_compiler_static_works_F77=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } - -if test x"$lt_prog_compiler_static_works_F77" = xyes; then - : -else - lt_prog_compiler_static_F77= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_F77=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14229: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:14233: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_F77=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_F77= - enable_shared_with_static_runtimes_F77=no - archive_cmds_F77= - archive_expsym_cmds_F77= - old_archive_From_new_cmds_F77= - old_archive_from_expsyms_cmds_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - thread_safe_flag_spec_F77= - hardcode_libdir_flag_spec_F77= - hardcode_libdir_flag_spec_ld_F77= - hardcode_libdir_separator_F77= - hardcode_direct_F77=no - hardcode_minus_L_F77=no - hardcode_shlibpath_var_F77=unsupported - link_all_deplibs_F77=unknown - hardcode_automatic_F77=no - module_cmds_F77= - module_expsym_cmds_F77= - always_export_symbols_F77=no - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_F77= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_F77="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - 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 - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_F77=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_F77='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_F77= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - - # Samuel A. Falvo II 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't use - # them. - ld_shlibs_F77=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_F77=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_F77='-L$libdir' - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=no - enable_shared_with_static_runtimes_F77=yes - export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_F77=no - fi - ;; - - interix[3-9]*) - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_F77=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_F77=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_F77=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_F77=no - fi - ;; - esac - - if test "$ld_shlibs_F77" = no; then - runpath_var= - hardcode_libdir_flag_spec_F77= - export_dynamic_flag_spec_F77= - whole_archive_flag_spec_F77= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_F77=unsupported - always_export_symbols_F77=yes - archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_F77=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_F77=unsupported - fi - ;; - - aix4* | aix5*) - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - 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].*|aix5*) - 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 - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_F77='' - hardcode_direct_F77=yes - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_F77=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_F77=yes - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_libdir_separator_F77= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_F77=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_F77='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_F77="-z nodefs" - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF - program main - - end -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_f77_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_F77=' ${wl}-bernotok' - allow_undefined_flag_F77=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_F77='$convenience' - archive_cmds_need_lc_F77=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_F77=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_F77=-rdynamic - ;; - - 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_F77=' ' - allow_undefined_flag_F77=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_F77='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_F77='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_F77=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_F77=no - hardcode_direct_F77=no - hardcode_automatic_F77=yes - hardcode_shlibpath_var_F77=unsupported - whole_archive_flag_spec_F77='' - link_all_deplibs_F77=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_F77=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - freebsd1*) - ld_shlibs_F77=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_direct_F77=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_F77=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_F77='+b $libdir' - hardcode_direct_F77=no - hardcode_shlibpath_var_F77=no - ;; - *) - hardcode_direct_F77=yes - export_dynamic_flag_spec_F77='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_F77=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - link_all_deplibs_F77=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - newsos6) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - hardcode_shlibpath_var_F77=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_F77=yes - hardcode_shlibpath_var_F77=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - export_dynamic_flag_spec_F77='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - ;; - *) - archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs_F77=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_minus_L_F77=yes - allow_undefined_flag_F77=unsupported - archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_F77=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_F77=' -expect_unresolved \*' - archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_F77='-rpath $libdir' - fi - hardcode_libdir_separator_F77=: - ;; - - solaris*) - no_undefined_flag_F77=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_shlibpath_var_F77=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_F77=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_direct_F77=yes - hardcode_minus_L_F77=yes - hardcode_shlibpath_var_F77=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_F77='$CC -r -o $output$reload_objs' - hardcode_direct_F77=no - ;; - motorola) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_F77=no - ;; - - sysv4.3*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - export_dynamic_flag_spec_F77='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_F77=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_F77=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_F77='${wl}-z,text' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_F77='${wl}-z,text' - allow_undefined_flag_F77='${wl}-z,nodefs' - archive_cmds_need_lc_F77=no - hardcode_shlibpath_var_F77=no - hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_F77=':' - link_all_deplibs_F77=yes - export_dynamic_flag_spec_F77='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_F77='-L$libdir' - hardcode_shlibpath_var_F77=no - ;; - - *) - ld_shlibs_F77=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 -echo "${ECHO_T}$ld_shlibs_F77" >&6; } -test "$ld_shlibs_F77" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_F77" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_F77=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_F77 in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_F77 - pic_flag=$lt_prog_compiler_pic_F77 - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_F77 - allow_undefined_flag_F77= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_F77=no - else - archive_cmds_need_lc_F77=yes - fi - allow_undefined_flag_F77=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_F77= -if test -n "$hardcode_libdir_flag_spec_F77" || \ - test -n "$runpath_var_F77" || \ - test "X$hardcode_automatic_F77" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_F77" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no && - test "$hardcode_minus_L_F77" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_F77=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_F77=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_F77=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 -echo "${ECHO_T}$hardcode_action_F77" >&6; } - -if test "$hardcode_action_F77" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_F77 \ - CC_F77 \ - LD_F77 \ - lt_prog_compiler_wl_F77 \ - lt_prog_compiler_pic_F77 \ - lt_prog_compiler_static_F77 \ - lt_prog_compiler_no_builtin_flag_F77 \ - export_dynamic_flag_spec_F77 \ - thread_safe_flag_spec_F77 \ - whole_archive_flag_spec_F77 \ - enable_shared_with_static_runtimes_F77 \ - old_archive_cmds_F77 \ - old_archive_from_new_cmds_F77 \ - predep_objects_F77 \ - postdep_objects_F77 \ - predeps_F77 \ - postdeps_F77 \ - compiler_lib_search_path_F77 \ - archive_cmds_F77 \ - archive_expsym_cmds_F77 \ - postinstall_cmds_F77 \ - postuninstall_cmds_F77 \ - old_archive_from_expsyms_cmds_F77 \ - allow_undefined_flag_F77 \ - no_undefined_flag_F77 \ - export_symbols_cmds_F77 \ - hardcode_libdir_flag_spec_F77 \ - hardcode_libdir_flag_spec_ld_F77 \ - hardcode_libdir_separator_F77 \ - hardcode_automatic_F77 \ - module_cmds_F77 \ - module_expsym_cmds_F77 \ - lt_cv_prog_compiler_c_o_F77 \ - fix_srcfile_path_F77 \ - exclude_expsyms_F77 \ - include_expsyms_F77; do - - case $var in - old_archive_cmds_F77 | \ - old_archive_from_new_cmds_F77 | \ - archive_cmds_F77 | \ - archive_expsym_cmds_F77 | \ - module_cmds_F77 | \ - module_expsym_cmds_F77 | \ - old_archive_from_expsyms_cmds_F77 | \ - export_symbols_cmds_F77 | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_F77 - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_F77 - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_F77 - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_F77 - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_F77 - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_F77 -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77 - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_F77 - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_F77 -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77 - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_F77 -archive_expsym_cmds=$lt_archive_expsym_cmds_F77 -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_F77 -module_expsym_cmds=$lt_module_expsym_cmds_F77 - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_F77 - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_F77 - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_F77 - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_F77 - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_F77 - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_F77 - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_F77 - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77 - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77 - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_F77 - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_F77 - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_F77 - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_F77 - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_F77 - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_F77 - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_F77 - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_F77 - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -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 - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - GCJ) - if test -n "$GCJ" && test "X$GCJ" != "Xno"; then - - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -objext_GCJ=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${GCJ-"gcj"} -compiler=$CC -compiler_GCJ=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -archive_cmds_need_lc_GCJ=no - -old_archive_cmds_GCJ=$old_archive_cmds - - -lt_prog_compiler_no_builtin_flag_GCJ= - -if test "$GCC" = yes; then - lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' - - -{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16416: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16420: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" -else - : -fi - -fi - -lt_prog_compiler_wl_GCJ= -lt_prog_compiler_pic_GCJ= -lt_prog_compiler_static_GCJ= - -{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 -echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } - - if test "$GCC" = yes; then - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_static_GCJ='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - amigaos*) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic_GCJ='-fno-common' - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared_GCJ=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic_GCJ=-Kconform_pic - fi - ;; - - hpux*) - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - ;; - - *) - lt_prog_compiler_pic_GCJ='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl_GCJ='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static_GCJ='-Bstatic' - else - lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' - fi - ;; - darwin*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - case $cc_basename in - xlc*) - lt_prog_compiler_pic_GCJ='-qnocommon' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - esac - ;; - - mingw* | cygwin* | pw32* | os2*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic_GCJ='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl_GCJ='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - newsos6) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - icc* | ecc*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-fpic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - lt_prog_compiler_wl_GCJ='' - ;; - esac - ;; - esac - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl_GCJ='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static_GCJ='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - lt_prog_compiler_wl_GCJ='-Qoption ld ';; - *) - lt_prog_compiler_wl_GCJ='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl_GCJ='-Qoption ld ' - lt_prog_compiler_pic_GCJ='-PIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic_GCJ='-Kconform_pic' - lt_prog_compiler_static_GCJ='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_pic_GCJ='-KPIC' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl_GCJ='-Wl,' - lt_prog_compiler_can_build_shared_GCJ=no - ;; - - uts4*) - lt_prog_compiler_pic_GCJ='-pic' - lt_prog_compiler_static_GCJ='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic_GCJ"; then - -{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 -echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_pic_works_GCJ=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic_GCJ" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16706: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:16710: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_pic_works_GCJ=yes - fi - fi - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then - case $lt_prog_compiler_pic_GCJ in - "" | " "*) ;; - *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; - esac -else - lt_prog_compiler_pic_GCJ= - lt_prog_compiler_can_build_shared_GCJ=no -fi - -fi -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic_GCJ= - ;; - *) - lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" - ;; -esac - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" -{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } -if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_prog_compiler_static_works_GCJ=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_prog_compiler_static_works_GCJ=yes - fi - else - lt_prog_compiler_static_works_GCJ=yes - fi - fi - $rm conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 -echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } - -if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then - : -else - lt_prog_compiler_static_GCJ= -fi - - -{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 -echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } -if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - lt_cv_prog_compiler_c_o_GCJ=no - $rm -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16810: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:16814: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o_GCJ=yes - fi - fi - chmod u+w . 2>&5 - $rm conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files - $rm out/* && rmdir out - cd .. - rmdir conftest - $rm conftest* - -fi -{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 -echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 -echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } - hard_links=yes - $rm conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { echo "$as_me:$LINENO: result: $hard_links" >&5 -echo "${ECHO_T}$hard_links" >&6; } - if test "$hard_links" = no; then - { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - -{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } - - runpath_var= - allow_undefined_flag_GCJ= - enable_shared_with_static_runtimes_GCJ=no - archive_cmds_GCJ= - archive_expsym_cmds_GCJ= - old_archive_From_new_cmds_GCJ= - old_archive_from_expsyms_cmds_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - thread_safe_flag_spec_GCJ= - hardcode_libdir_flag_spec_GCJ= - hardcode_libdir_flag_spec_ld_GCJ= - hardcode_libdir_separator_GCJ= - hardcode_direct_GCJ=no - hardcode_minus_L_GCJ=no - hardcode_shlibpath_var_GCJ=unsupported - link_all_deplibs_GCJ=unknown - hardcode_automatic_GCJ=no - module_cmds_GCJ= - module_expsym_cmds_GCJ= - always_export_symbols_GCJ=no - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms_GCJ= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms_GCJ="_GLOBAL_OFFSET_TABLE_" - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - extract_expsyms_cmds= - # Just being paranoid about ensuring that cc_basename is set. - for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - - 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 - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs_GCJ=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' - export_dynamic_flag_spec_GCJ='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec_GCJ= - fi - supports_anon_versioning=no - case `$LD -v 2>/dev/null` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -EOF - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - - # Samuel A. Falvo II 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't use - # them. - ld_shlibs_GCJ=no - ;; - - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag_GCJ=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - cygwin* | mingw* | pw32*) - # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec_GCJ='-L$libdir' - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=no - enable_shared_with_static_runtimes_GCJ=yes - export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - interix[3-9]*) - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - tmp_addflag= - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - *) - tmp_sharedflag='-shared' ;; - esac - archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test $supports_anon_versioning = yes; then - archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - $echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - else - ld_shlibs_GCJ=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs_GCJ=no - cat <&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -EOF - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs_GCJ=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs_GCJ=no - fi - ;; - esac - - if test "$ld_shlibs_GCJ" = no; then - runpath_var= - hardcode_libdir_flag_spec_GCJ= - export_dynamic_flag_spec_GCJ= - whole_archive_flag_spec_GCJ= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag_GCJ=unsupported - always_export_symbols_GCJ=yes - archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L_GCJ=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct_GCJ=unsupported - fi - ;; - - aix4* | aix5*) - 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 - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | grep 'GNU' > /dev/null; then - export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' - fi - 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].*|aix5*) - 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 - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds_GCJ='' - hardcode_direct_GCJ=yes - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct_GCJ=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L_GCJ=yes - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_libdir_separator_GCJ= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols_GCJ=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag_GCJ='-berok' - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag_GCJ="-z nodefs" - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an empty executable. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi - - hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag_GCJ=' ${wl}-bernotok' - allow_undefined_flag_GCJ=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec_GCJ='$convenience' - archive_cmds_need_lc_GCJ=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - # see comment about different semantics on the GNU ld section - ld_shlibs_GCJ=no - ;; - - bsdi[45]*) - export_dynamic_flag_spec_GCJ=-rdynamic - ;; - - 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_GCJ=' ' - allow_undefined_flag_GCJ=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_From_new_cmds_GCJ='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' - fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' - enable_shared_with_static_runtimes_GCJ=yes - ;; - - darwin* | rhapsody*) - case $host_os in - rhapsody* | darwin1.[012]) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[012]) - allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' - ;; - 10.*) - allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' - ;; - esac - fi - ;; - esac - archive_cmds_need_lc_GCJ=no - hardcode_direct_GCJ=no - hardcode_automatic_GCJ=yes - hardcode_shlibpath_var_GCJ=unsupported - whole_archive_flag_spec_GCJ='' - link_all_deplibs_GCJ=yes - if test "$GCC" = yes ; then - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - case $cc_basename in - xlc*) - output_verbose_link_cmd='echo' - archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' - module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds - archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - ;; - *) - ld_shlibs_GCJ=no - ;; - esac - fi - ;; - - dgux*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - freebsd1*) - ld_shlibs_GCJ=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_direct_GCJ=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' - hardcode_direct_GCJ=no - hardcode_shlibpath_var_GCJ=no - ;; - *) - hardcode_direct_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L_GCJ=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - link_all_deplibs_GCJ=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - newsos6) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - hardcode_shlibpath_var_GCJ=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct_GCJ=yes - hardcode_shlibpath_var_GCJ=no - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - export_dynamic_flag_spec_GCJ='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - ;; - *) - archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs_GCJ=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_minus_L_GCJ=yes - allow_undefined_flag_GCJ=unsupported - archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - fi - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator_GCJ=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag_GCJ=' -expect_unresolved \*' - archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ - $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec_GCJ='-rpath $libdir' - fi - hardcode_libdir_separator_GCJ=: - ;; - - solaris*) - no_undefined_flag_GCJ=' -z text' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' - else - wlarc='' - archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - fi - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_shlibpath_var_GCJ=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs_GCJ=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_direct_GCJ=yes - hardcode_minus_L_GCJ=yes - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds_GCJ='$CC -r -o $output$reload_objs' - hardcode_direct_GCJ=no - ;; - motorola) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var_GCJ=no - ;; - - sysv4.3*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - export_dynamic_flag_spec_GCJ='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var_GCJ=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs_GCJ=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag_GCJ='${wl}-z,text' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag_GCJ='${wl}-z,text' - allow_undefined_flag_GCJ='${wl}-z,nodefs' - archive_cmds_need_lc_GCJ=no - hardcode_shlibpath_var_GCJ=no - hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator_GCJ=':' - link_all_deplibs_GCJ=yes - export_dynamic_flag_spec_GCJ='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec_GCJ='-L$libdir' - hardcode_shlibpath_var_GCJ=no - ;; - - *) - ld_shlibs_GCJ=no - ;; - esac - fi - -{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 -echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } -test "$ld_shlibs_GCJ" = no && can_build_shared=no - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc_GCJ" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc_GCJ=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds_GCJ in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 -echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } - $rm conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl_GCJ - pic_flag=$lt_prog_compiler_pic_GCJ - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ - allow_undefined_flag_GCJ= - if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 - (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - then - archive_cmds_need_lc_GCJ=no - else - archive_cmds_need_lc_GCJ=yes - fi - allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $rm conftest* - { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 -echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } - ;; - esac - fi - ;; -esac - -{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 -echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" - -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix4* | aix5*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $rm \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[123]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[3-9]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -nto-qnx*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - export_dynamic_flag_spec='${wl}-Blargedynsym' - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - shlibpath_overrides_runpath=no - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - shlibpath_overrides_runpath=yes - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5 -echo "${ECHO_T}$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 -echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } -hardcode_action_GCJ= -if test -n "$hardcode_libdir_flag_spec_GCJ" || \ - test -n "$runpath_var_GCJ" || \ - test "X$hardcode_automatic_GCJ" = "Xyes" ; then - - # We can hardcode non-existant directories. - if test "$hardcode_direct_GCJ" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no && - test "$hardcode_minus_L_GCJ" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action_GCJ=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action_GCJ=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action_GCJ=unsupported -fi -{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 -echo "${ECHO_T}$hardcode_action_GCJ" >&6; } - -if test "$hardcode_action_GCJ" = relink; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_GCJ \ - CC_GCJ \ - LD_GCJ \ - lt_prog_compiler_wl_GCJ \ - lt_prog_compiler_pic_GCJ \ - lt_prog_compiler_static_GCJ \ - lt_prog_compiler_no_builtin_flag_GCJ \ - export_dynamic_flag_spec_GCJ \ - thread_safe_flag_spec_GCJ \ - whole_archive_flag_spec_GCJ \ - enable_shared_with_static_runtimes_GCJ \ - old_archive_cmds_GCJ \ - old_archive_from_new_cmds_GCJ \ - predep_objects_GCJ \ - postdep_objects_GCJ \ - predeps_GCJ \ - postdeps_GCJ \ - compiler_lib_search_path_GCJ \ - archive_cmds_GCJ \ - archive_expsym_cmds_GCJ \ - postinstall_cmds_GCJ \ - postuninstall_cmds_GCJ \ - old_archive_from_expsyms_cmds_GCJ \ - allow_undefined_flag_GCJ \ - no_undefined_flag_GCJ \ - export_symbols_cmds_GCJ \ - hardcode_libdir_flag_spec_GCJ \ - hardcode_libdir_flag_spec_ld_GCJ \ - hardcode_libdir_separator_GCJ \ - hardcode_automatic_GCJ \ - module_cmds_GCJ \ - module_expsym_cmds_GCJ \ - lt_cv_prog_compiler_c_o_GCJ \ - fix_srcfile_path_GCJ \ - exclude_expsyms_GCJ \ - include_expsyms_GCJ; do - - case $var in - old_archive_cmds_GCJ | \ - old_archive_from_new_cmds_GCJ | \ - archive_cmds_GCJ | \ - archive_expsym_cmds_GCJ | \ - module_cmds_GCJ | \ - module_expsym_cmds_GCJ | \ - old_archive_from_expsyms_cmds_GCJ | \ - export_symbols_cmds_GCJ | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_GCJ - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_GCJ - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_GCJ - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_GCJ - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_GCJ - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_GCJ -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_GCJ - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_GCJ -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_GCJ -archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_GCJ -module_expsym_cmds=$lt_module_expsym_cmds_GCJ - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_GCJ - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_GCJ - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_GCJ - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_GCJ - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_GCJ - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_GCJ - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_GCJ - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_GCJ - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_GCJ - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_GCJ - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_GCJ - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_GCJ - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_GCJ - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_GCJ - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -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 - -CC="$lt_save_CC" - - else - tagname="" - fi - ;; - - RC) - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$rm conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$rm conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -CC=${RC-"windres"} -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` - -lt_cv_prog_compiler_c_o_RC=yes - -# The else clause should only fire when bootstrapping the -# libtool distribution, otherwise you forgot to ship ltmain.sh -# with your package, and you will get complaints that there are -# no rules to generate ltmain.sh. -if test -f "$ltmain"; then - # See if we are running on zsh, and set the options which allow our commands through - # without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - # Now quote all the things that may contain metacharacters while being - # careful not to overquote the AC_SUBSTed values. We take copies of the - # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ - SED SHELL STRIP \ - libname_spec library_names_spec soname_spec extract_expsyms_cmds \ - old_striplib striplib file_magic_cmd finish_cmds finish_eval \ - deplibs_check_method reload_flag reload_cmds need_locks \ - lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ - lt_cv_sys_global_symbol_to_c_name_address \ - sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ - old_postinstall_cmds old_postuninstall_cmds \ - compiler_RC \ - CC_RC \ - LD_RC \ - lt_prog_compiler_wl_RC \ - lt_prog_compiler_pic_RC \ - lt_prog_compiler_static_RC \ - lt_prog_compiler_no_builtin_flag_RC \ - export_dynamic_flag_spec_RC \ - thread_safe_flag_spec_RC \ - whole_archive_flag_spec_RC \ - enable_shared_with_static_runtimes_RC \ - old_archive_cmds_RC \ - old_archive_from_new_cmds_RC \ - predep_objects_RC \ - postdep_objects_RC \ - predeps_RC \ - postdeps_RC \ - compiler_lib_search_path_RC \ - archive_cmds_RC \ - archive_expsym_cmds_RC \ - postinstall_cmds_RC \ - postuninstall_cmds_RC \ - old_archive_from_expsyms_cmds_RC \ - allow_undefined_flag_RC \ - no_undefined_flag_RC \ - export_symbols_cmds_RC \ - hardcode_libdir_flag_spec_RC \ - hardcode_libdir_flag_spec_ld_RC \ - hardcode_libdir_separator_RC \ - hardcode_automatic_RC \ - module_cmds_RC \ - module_expsym_cmds_RC \ - lt_cv_prog_compiler_c_o_RC \ - fix_srcfile_path_RC \ - exclude_expsyms_RC \ - include_expsyms_RC; do - - case $var in - old_archive_cmds_RC | \ - old_archive_from_new_cmds_RC | \ - archive_cmds_RC | \ - archive_expsym_cmds_RC | \ - module_cmds_RC | \ - module_expsym_cmds_RC | \ - old_archive_from_expsyms_cmds_RC | \ - export_symbols_cmds_RC | \ - extract_expsyms_cmds | reload_cmds | finish_cmds | \ - postinstall_cmds | postuninstall_cmds | \ - old_postinstall_cmds | old_postuninstall_cmds | \ - sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) - # Double-quote double-evaled strings. - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" - ;; - *) - eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" - ;; - esac - done - - case $lt_echo in - *'\$0 --fallback-echo"') - lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'` - ;; - esac - -cfgfile="$ofile" - - cat <<__EOF__ >> "$cfgfile" -# ### BEGIN LIBTOOL TAG CONFIG: $tagname - -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# An echo program that does not interpret backslashes. -echo=$lt_echo - -# The archiver. -AR=$lt_AR -AR_FLAGS=$lt_AR_FLAGS - -# A C compiler. -LTCC=$lt_LTCC - -# LTCC compiler flags. -LTCFLAGS=$lt_LTCFLAGS - -# A language-specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU C compiler? -with_gcc=$GCC_RC - -# An ERE matcher. -EGREP=$lt_EGREP - -# The linker used to build libraries. -LD=$lt_LD_RC - -# Whether we need hard or soft links. -LN_S=$lt_LN_S - -# A BSD-compatible nm program. -NM=$lt_NM - -# A symbol stripping program -STRIP=$lt_STRIP - -# Used to examine libraries when file_magic_cmd begins "file" -MAGIC_CMD=$MAGIC_CMD - -# Used on cygwin: DLL creation program. -DLLTOOL="$DLLTOOL" - -# Used on cygwin: object dumper. -OBJDUMP="$OBJDUMP" - -# Used on cygwin: assembler. -AS="$AS" - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Object file suffix (normally "o"). -objext="$ac_objext" - -# Old archive suffix (normally "a"). -libext="$libext" - -# Shared library suffix (normally ".so"). -shrext_cmds='$shrext_cmds' - -# Executable file suffix (normally ""). -exeext="$exeext" - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC -pic_mode=$pic_mode - -# What is the maximum length of a command? -max_cmd_len=$lt_cv_sys_max_cmd_len - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Do we need the lib prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Compiler flag to generate thread-safe objects. -thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC - -# Library versioning type. -version_type=$version_type - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME. -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Commands used to build and install an old-style archive. -RANLIB=$lt_RANLIB -old_archive_cmds=$lt_old_archive_cmds_RC -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build and install a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC -postinstall_cmds=$lt_postinstall_cmds -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to build a loadable module (assumed same as above if empty) -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - -# Dependencies to place before the objects being linked to create a -# shared library. -predep_objects=$lt_predep_objects_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdep_objects=$lt_postdep_objects_RC - -# Dependencies to place before the objects being linked to create a -# shared library. -predeps=$lt_predeps_RC - -# Dependencies to place after the objects being linked to create a -# shared library. -postdeps=$lt_postdeps_RC - -# The library search path used internally by the compiler when linking -# a shared library. -compiler_lib_search_path=$lt_compiler_lib_search_path_RC - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method == file_magic. -file_magic_cmd=$lt_file_magic_cmd - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that forces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# Same as above, but a single script fragment to be evaled but not shown. -finish_eval=$lt_finish_eval - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# This is the shared library runtime path variable. -runpath_var=$runpath_var - -# This is the shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# If ld is used when linking, flag to hardcode \$libdir into -# a binary during linking. This must work even if \$libdir does -# not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC - -# Whether we need a single -rpath flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the -# resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to yes if using the -LDIR flag during linking hardcodes DIR into the -# resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into -# the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to yes if building a shared library automatically hardcodes DIR into the library -# and all subsequent libraries and executables linked against it. -hardcode_automatic=$hardcode_automatic_RC - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at relink time. -variables_saved_for_relink="$variables_saved_for_relink" - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Compile-time system search path for libraries -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Fix the shell variable \$srcfile for the compiler. -fix_srcfile_path=$lt_fix_srcfile_path - -# Set to yes if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# ### END LIBTOOL TAG CONFIG: $tagname - -__EOF__ - - -else - # If there is no Makefile yet, we rely on a make rule to execute - # `config.status --recheck' to rerun these tests and create the - # libtool script then. - ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` - if test -f "$ltmain_in"; then - test -f Makefile && make "$ltmain" - fi -fi - - -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 - -CC="$lt_save_CC" - - ;; - - *) - { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 -echo "$as_me: error: Unsupported tag name: $tagname" >&2;} - { (exit 1); exit 1; }; } - ;; - esac - - # Append the new tag name to the list of available tags. - if test -n "$tagname" ; then - available_tags="$available_tags $tagname" - fi - fi - done - IFS="$lt_save_ifs" - - # Now substitute the updated list of available tags. - if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then - mv "${ofile}T" "$ofile" - chmod +x "$ofile" - else - rm -f "${ofile}T" - { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 -echo "$as_me: error: unable to update list of available tagged configurations." >&2;} - { (exit 1); exit 1; }; } - fi -fi - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - -# Prevent multiple expansion - - - - - - - - - - - - - - - - - - - - - -{ echo "$as_me:$LINENO: checking if --enable-debug option specified" >&5 -echo $ECHO_N "checking if --enable-debug option specified... $ECHO_C" >&6; } -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then - enableval=$enable_debug; vi_cv_debug=$enableval -else - vi_cv_debug="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_debug" >&5 -echo "${ECHO_T}$vi_cv_debug" >&6; } -if test "$vi_cv_debug" = yes; then - cat >>confdefs.h <<\_ACEOF -#define DEBUG 1 -_ACEOF - - OPTFLAG=${OPTFLAG-"-g"} - no_op_OPTFLAG=${no_op_OPTFLAG-"-g"} -fi - - - -case "$host_os" in -aix3.2.5) OPTFLAG=${OPTFLAG-"-O"};; -aix4.1*) CFLAGS=${CFLAGS-"-qstrict"} - OPTFLAG=${OPTFLAG-"-O3"};; -aux*) CPPFLAGS=${CPPFLAGS-"-ZP -D_BSD_SOURCE -D_SYSV_SOURCE -D_AUX_SOURCE"} - LDFLAGS=${LDFLAGS-"-ZP"} - OPTFLAG=${OPTFLAG-"-O"};; -bsd4.4) OPTFLAG=${OPTFLAG-"-O2"};; -bsdi*) CC=${CC-"shlicc"} - OPTFLAG=${OPTFLAG-"-O2"};; -irix6*) OPTFLAG=${OPTFLAG-"-O2"};; -irix*) OPTFLAG=${OPTFLAG-"-O2"};; -lynxos*) 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 -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 -{ 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. -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="${ac_tool_prefix}gcc" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 -{ 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 { 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_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -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 - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -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. -set dummy ${ac_tool_prefix}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_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. -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="${ac_tool_prefix}cc" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - 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 -{ 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. -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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 - 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 -{ 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. -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="$ac_tool_prefix$ac_prog" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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 { 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_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -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 - - - 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:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -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. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - 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 -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -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 -{ 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 - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -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 -{ 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 - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* 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 - 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. */ -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);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -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__" -do - CC="$ac_save_CC $ac_arg" - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -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 -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -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 - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - 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 - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$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 - - - { echo "$as_me:$LINENO: checking for GNU C (gcc) version 2.x" >&5 -echo $ECHO_N "checking for GNU C (gcc) version 2.x... $ECHO_C" >&6; } - ac_cv_gcc_vers=`${CC-cc} -v 2>&1 | \ - grep "gcc version " | sed 's/.*version //'` - ac_cv_gcc_major=`echo "$ac_cv_gcc_vers" | sed 's/\..*//'` - if test "$ac_cv_gcc_major" = "2" ; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - { echo "$as_me:$LINENO: WARNING: Nvi requires gcc 2.x to build on LynxOS." >&5 -echo "$as_me: WARNING: Nvi requires gcc 2.x to build on LynxOS." >&2;} - { { echo "$as_me:$LINENO: error: See build/README.LynxOS for more information." >&5 -echo "$as_me: error: See build/README.LynxOS for more information." >&2;} - { (exit 1); exit 1; }; } - fi;; -nextstep3) CPPFLAGS=${CPPFLAGS-"-w -pipe -posix"} - LDFLAGS=${LDFLAGS-"-posix"} - OPTFLAG=${OPTFLAG-"-O2"};; -osf*) CFLAGS=${CFLAGS-"-Olimit 1000"};; -solaris*) no_op_OPTFLAG=${no_op_OPTFLAG-""};; -sunos*) no_op_OPTFLAG=${no_op_OPTFLAG-""};; -esac - - -OPTFLAG=${OPTFLAG-"-O"} - - -CC=${CC-cc} -CFLAGS=${CFLAGS-""} -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 -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 -{ 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. -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="${ac_tool_prefix}gcc" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 -{ 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 { 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_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -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 - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -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. -set dummy ${ac_tool_prefix}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_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. -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="${ac_tool_prefix}cc" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - 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 -{ 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. -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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 - 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 -{ 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. -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="$ac_tool_prefix$ac_prog" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6; } -else - { 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 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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 { 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_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -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 - - - 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:) -{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&5 -echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -whose name does not start with the host triplet. If you think this -configuration is useful to you, please write to autoconf@gnu.org." >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -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. -echo "$as_me:$LINENO: checking for C compiler version" >&5 -ac_compiler=`set X $ac_compile; echo $2` -{ (ac_try="$ac_compiler --version >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler --version >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -v >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -v >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (ac_try="$ac_compiler -V >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_compiler -V >&5") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } - -{ 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_compiler_gnu=yes -else - 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 -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -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 -{ 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 - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - CFLAGS="" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - : -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_g=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -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 -{ 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 - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 -echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* 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 - 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. */ -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);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -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__" -do - CC="$ac_save_CC $ac_arg" - 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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_prog_cc_c89=$ac_arg -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 -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6; } ;; - xno) - { echo "$as_me:$LINENO: result: unsupported" >&5 -echo "${ECHO_T}unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; -esac - - -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 - -depcc="$CC" am_compiler_list= - -{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 - 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 - - case $depmode in - 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 - ;; - none) break ;; - esac - # 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. - if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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 -{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$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 "$GCC" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_GCC 1 -_ACEOF - -fi - - -no_op_OPTFLAG=${no_op_OPTFLAG-"$OPTFLAG"} - -case "$host_os" in -bsdi2.1) LIBS=${LIBS-"-lipc"};; -dgux*) LIBS=${LIBS-"-ldgc"};; -irix6*) LIBS=${LIBS-"-lbsd"};; -irix*) LIBS=${LIBS-"-lc_s -lbsd"};; -isc*) LIBS=${LIBS-"-lcposix -linet"};; -netbsd1*) LIBS=${LIBS-"-lcrypt"};; -ptx*) LIBS=${LIBS-"-lseq -linet -lsocket"};; -sco3.2*) LIBS=${LIBS-"-lsocket"};; -sinix*) LIBS=${LIBS-"-lelf -lc"};; -solaris*) LIBS=${LIBS-"-lsocket -lnsl -ldl"};; -wgs*) LIBS=${LIBS-"-lnsl"};; -esac - -case "$host_os" in -aux*) LIBOBJS="getopt.o strpbrk.o $LIBOBJS";; -esac - -case "$host_os" in -ultrix*) cat >>confdefs.h <<\_ACEOF -#define HAVE_BROKEN_VDISABLE 1 -_ACEOF -;; -esac - -{ echo "$as_me:$LINENO: checking whether recording of pathnames of libraries is enabled" >&5 -echo $ECHO_N "checking whether recording of pathnames of libraries is enabled... $ECHO_C" >&6; } -# Check whether --enable-runpath was given. -if test "${enable_runpath+set}" = set; then - enableval=$enable_runpath; vi_cv_runpath="$enableval" -else - vi_cv_runpath="yes" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_runpath" >&5 -echo "${ECHO_T}$vi_cv_runpath" >&6; } - -if test "X$vi_cv_runpath" = "Xyes"; then - LRscript='s/^\(.*\)/-R\1 -L\1 /' -else - LRscript='s/^\(.*\)/-L\1 /' -fi - -{ echo "$as_me:$LINENO: checking if --enable-trace option specified" >&5 -echo $ECHO_N "checking if --enable-trace option specified... $ECHO_C" >&6; } -# Check whether --enable-trace was given. -if test "${enable_trace+set}" = set; then - enableval=$enable_trace; vi_cv_trace="yes" -else - vi_cv_trace="no" -fi - -if test "$vi_cv_trace" = yes; then - CPPFLAGS="-DTRACE $CPPFLAGS" -fi -{ echo "$as_me:$LINENO: result: $vi_cv_trace" >&5 -echo "${ECHO_T}$vi_cv_trace" >&6; } - -CPPFLAGS="$ADDCPPFLAGS $CPPFLAGS" - -LDFLAGS="$ADDLDFLAGS $LDFLAGS" - -LIBS="$ADDLIBS $LIBS" - -PATH="$PATH:/usr/bin:/usr/sbin:/sbin:/etc:/usr/etc:/usr/lib:/usr/ucblib" - -# Extract the first word of "sh", so it can be a program name with args. -set dummy sh; 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_path_vi_cv_path_shell+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_shell in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_shell="$vi_cv_path_shell" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_shell="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_shell" && ac_cv_path_vi_cv_path_shell="no" - ;; -esac -fi -vi_cv_path_shell=$ac_cv_path_vi_cv_path_shell -if test -n "$vi_cv_path_shell"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_shell" >&5 -echo "${ECHO_T}$vi_cv_path_shell" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -if test "$vi_cv_path_shell" = no; then - { { echo "$as_me:$LINENO: error: No shell utility found." >&5 -echo "$as_me: error: No shell utility found." >&2;} - { (exit 1); exit 1; }; } -fi - -# Extract the first word of "sendmail", so it can be a program name with args. -set dummy sendmail; 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_path_vi_cv_path_sendmail+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_sendmail in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_sendmail="$vi_cv_path_sendmail" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_sendmail="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_sendmail" && ac_cv_path_vi_cv_path_sendmail="no" - ;; -esac -fi -vi_cv_path_sendmail=$ac_cv_path_vi_cv_path_sendmail -if test -n "$vi_cv_path_sendmail"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_sendmail" >&5 -echo "${ECHO_T}$vi_cv_path_sendmail" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -if test "$vi_cv_path_sendmail" = no; then - { echo "$as_me:$LINENO: WARNING: No sendmail utility found;" >&5 -echo "$as_me: WARNING: No sendmail utility found;" >&2;} - { echo "$as_me:$LINENO: WARNING: users will not be told of saved files." >&5 -echo "$as_me: WARNING: users will not be told of saved files." >&2;} -fi - - -for ac_prog in perl5 perl -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_vi_cv_path_perl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_perl in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_perl="$vi_cv_path_perl" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -vi_cv_path_perl=$ac_cv_path_vi_cv_path_perl -if test -n "$vi_cv_path_perl"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_perl" >&5 -echo "${ECHO_T}$vi_cv_path_perl" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$vi_cv_path_perl" && break -done -test -n "$vi_cv_path_perl" || vi_cv_path_perl="no" - - - -{ echo "$as_me:$LINENO: checking for preserve directory" >&5 -echo $ECHO_N "checking for preserve directory... $ECHO_C" >&6; } -if test "${vi_cv_path_preserve+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - dirlist="/var/preserve /var/tmp /usr/tmp" - vi_cv_path_preserve=no - for i in $dirlist; do - if test -d $i/vi.recover; then - vi_cv_path_preserve=$i/vi.recover - break; - fi - done - if test "$vi_cv_path_preserve" = no; then - for i in $dirlist; do - if test -d $i -a -w $i; then - vi_cv_path_preserve=$i/vi.recover - break; - fi - done - - fi -fi - -if test "$vi_cv_path_preserve" = no; then - { { echo "$as_me:$LINENO: error: No writeable preserve directory found." >&5 -echo "$as_me: error: No writeable preserve directory found." >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: $vi_cv_path_preserve" >&5 -echo "${ECHO_T}$vi_cv_path_preserve" >&6; } -# Extract the first word of "fuser", so it can be a program name with args. -set dummy fuser; 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_path_vi_cv_path_fuser+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_fuser in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_fuser="$vi_cv_path_fuser" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_fuser="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_fuser" && ac_cv_path_vi_cv_path_fuser="no" - ;; -esac -fi -vi_cv_path_fuser=$ac_cv_path_vi_cv_path_fuser -if test -n "$vi_cv_path_fuser"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_fuser" >&5 -echo "${ECHO_T}$vi_cv_path_fuser" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "lsof", so it can be a program name with args. -set dummy lsof; 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_path_vi_cv_path_lsof+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_lsof in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_lsof="$vi_cv_path_lsof" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_lsof="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_lsof" && ac_cv_path_vi_cv_path_lsof="no" - ;; -esac -fi -vi_cv_path_lsof=$ac_cv_path_vi_cv_path_lsof -if test -n "$vi_cv_path_lsof"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_lsof" >&5 -echo "${ECHO_T}$vi_cv_path_lsof" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - -INUSE="" -if test "$vi_cv_path_lsof" != no; then - INUSE='test `lsof -t $i`' -fi -if test "$vi_cv_path_fuser" != no; then - INUSE='fuser -s $i' -fi - -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 -{ echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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" - echo "$as_me:$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 - { echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - test -n "$AWK" && break -done - -# Extract the first word of "ar", so it can be a program name with args. -set dummy ar; 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_path_vi_cv_path_ar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_ar in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_ar="$vi_cv_path_ar" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_ar="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_ar" && ac_cv_path_vi_cv_path_ar="missing_ar" - ;; -esac -fi -vi_cv_path_ar=$ac_cv_path_vi_cv_path_ar -if test -n "$vi_cv_path_ar"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_ar" >&5 -echo "${ECHO_T}$vi_cv_path_ar" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "chmod", so it can be a program name with args. -set dummy chmod; 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_path_vi_cv_path_chmod+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_chmod in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_chmod="$vi_cv_path_chmod" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_chmod="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_chmod" && ac_cv_path_vi_cv_path_chmod="missing_chmod" - ;; -esac -fi -vi_cv_path_chmod=$ac_cv_path_vi_cv_path_chmod -if test -n "$vi_cv_path_chmod"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_chmod" >&5 -echo "${ECHO_T}$vi_cv_path_chmod" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "cp", so it can be a program name with args. -set dummy cp; 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_path_vi_cv_path_cp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_cp in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_cp="$vi_cv_path_cp" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_cp="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_cp" && ac_cv_path_vi_cv_path_cp="missing_cp" - ;; -esac -fi -vi_cv_path_cp=$ac_cv_path_vi_cv_path_cp -if test -n "$vi_cv_path_cp"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_cp" >&5 -echo "${ECHO_T}$vi_cv_path_cp" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "ln", so it can be a program name with args. -set dummy ln; 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_path_vi_cv_path_ln+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_ln in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_ln="$vi_cv_path_ln" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_ln="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_ln" && ac_cv_path_vi_cv_path_ln="missing_ln" - ;; -esac -fi -vi_cv_path_ln=$ac_cv_path_vi_cv_path_ln -if test -n "$vi_cv_path_ln"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_ln" >&5 -echo "${ECHO_T}$vi_cv_path_ln" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "mkdir", so it can be a program name with args. -set dummy mkdir; 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_path_vi_cv_path_mkdir+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_mkdir in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_mkdir="$vi_cv_path_mkdir" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_mkdir="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_mkdir" && ac_cv_path_vi_cv_path_mkdir="missing_mkdir" - ;; -esac -fi -vi_cv_path_mkdir=$ac_cv_path_vi_cv_path_mkdir -if test -n "$vi_cv_path_mkdir"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_mkdir" >&5 -echo "${ECHO_T}$vi_cv_path_mkdir" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "rm", so it can be a program name with args. -set dummy rm; 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_path_vi_cv_path_rm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_rm in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_rm="$vi_cv_path_rm" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_rm="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_rm" && ac_cv_path_vi_cv_path_rm="missing_rm" - ;; -esac -fi -vi_cv_path_rm=$ac_cv_path_vi_cv_path_rm -if test -n "$vi_cv_path_rm"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_rm" >&5 -echo "${ECHO_T}$vi_cv_path_rm" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; 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_path_vi_cv_path_ranlib+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_ranlib in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_ranlib="$vi_cv_path_ranlib" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_ranlib="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_ranlib" && ac_cv_path_vi_cv_path_ranlib="missing_ranlib" - ;; -esac -fi -vi_cv_path_ranlib=$ac_cv_path_vi_cv_path_ranlib -if test -n "$vi_cv_path_ranlib"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_ranlib" >&5 -echo "${ECHO_T}$vi_cv_path_ranlib" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - -# Extract the first word of "strip", so it can be a program name with args. -set dummy strip; 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_path_vi_cv_path_strip+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_strip in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_strip="$vi_cv_path_strip" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_strip="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_strip" && ac_cv_path_vi_cv_path_strip="missing_strip" - ;; -esac -fi -vi_cv_path_strip=$ac_cv_path_vi_cv_path_strip -if test -n "$vi_cv_path_strip"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_strip" >&5 -echo "${ECHO_T}$vi_cv_path_strip" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - -{ echo "$as_me:$LINENO: checking for X" >&5 -echo $ECHO_N "checking for X... $ECHO_C" >&6; } - - -# Check whether --with-x was given. -if test "${with_x+set}" = set; then - withval=$with_x; -fi - -# $have_x is `yes', `no', `disabled', or empty when we do not yet know. -if test "x$with_x" = xno; then - # The user explicitly disabled X. - have_x=disabled -else - case $x_includes,$x_libraries in #( - *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 -echo "$as_me: error: Cannot use X directory names containing '" >&2;} - { (exit 1); exit 1; }; };; #( - *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # One or both of the vars are not set, and there is no cached value. -ac_x_includes=no ac_x_libraries=no -rm -f -r conftest.dir -if mkdir conftest.dir; then - cd conftest.dir - cat >Imakefile <<'_ACEOF' -incroot: - @echo incroot='${INCROOT}' -usrlibdir: - @echo usrlibdir='${USRLIBDIR}' -libdir: - @echo libdir='${LIBDIR}' -_ACEOF - if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then - # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - for ac_var in incroot usrlibdir libdir; do - eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" - done - # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. - for ac_extension in a so sl; do - if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && - test -f "$ac_im_libdir/libX11.$ac_extension"; then - ac_im_usrlibdir=$ac_im_libdir; break - fi - done - # Screen out bogus values from the imake configuration. They are - # bogus both because they are the default anyway, and because - # using them would break gcc on systems where it needs fixed includes. - case $ac_im_incroot in - /usr/include) ac_x_includes= ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in - /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi - cd .. - rm -f -r conftest.dir -fi - -# Standard set of common directories for X headers. -# Check X11 before X11Rn because it is often a symlink to the current release. -ac_x_header_dirs=' -/usr/X11/include -/usr/X11R6/include -/usr/X11R5/include -/usr/X11R4/include - -/usr/include/X11 -/usr/include/X11R6 -/usr/include/X11R5 -/usr/include/X11R4 - -/usr/local/X11/include -/usr/local/X11R6/include -/usr/local/X11R5/include -/usr/local/X11R4/include - -/usr/local/include/X11 -/usr/local/include/X11R6 -/usr/local/include/X11R5 -/usr/local/include/X11R4 - -/usr/X386/include -/usr/x386/include -/usr/XFree86/include/X11 - -/usr/include -/usr/local/include -/usr/unsupported/include -/usr/athena/include -/usr/local/x11r5/include -/usr/lpp/Xamples/include - -/usr/openwin/include -/usr/openwin/share/include' - -if test "$ac_x_includes" = no; then - # Guess where to find include files, by looking for Xlib.h. - # First, try using that file with no special directory specified. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - # We can compile using X headers with no special include directory. -ac_x_includes= -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - for ac_dir in $ac_x_header_dirs; do - if test -r "$ac_dir/X11/Xlib.h"; then - ac_x_includes=$ac_dir - break - fi -done -fi - -rm -f conftest.err conftest.$ac_ext -fi # $ac_x_includes = no - -if test "$ac_x_libraries" = no; then - # Check for the libraries. - # See if we find them without any special options. - # Don't add to $LIBS permanently. - ac_save_LIBS=$LIBS - LIBS="-lX11 $LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -XrmInitialize () - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - LIBS=$ac_save_LIBS -# We can link X programs with no special library path. -ac_x_libraries= -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - LIBS=$ac_save_LIBS -for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` -do - # Don't even attempt the hair of trying to link an X program! - for ac_extension in a so sl; do - if test -r "$ac_dir/libX11.$ac_extension"; then - ac_x_libraries=$ac_dir - break 2 - fi - done -done -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi # $ac_x_libraries = no - -case $ac_x_includes,$ac_x_libraries in #( - no,* | *,no | *\'*) - # Didn't find X, or a directory has "'" in its name. - ac_cv_have_x="have_x=no";; #( - *) - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes\ - ac_x_includes='$ac_x_includes'\ - ac_x_libraries='$ac_x_libraries'" -esac -fi -;; #( - *) have_x=yes;; - esac - eval "$ac_cv_have_x" -fi # $with_x != no - -if test "$have_x" != yes; then - { echo "$as_me:$LINENO: result: $have_x" >&5 -echo "${ECHO_T}$have_x" >&6; } - no_x=yes -else - # If each of the values was on the command line, it overrides each guess. - test "x$x_includes" = xNONE && x_includes=$ac_x_includes - test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries - # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes\ - ac_x_includes='$x_includes'\ - ac_x_libraries='$x_libraries'" - { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 -echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; } -fi - - -if test "$no_x" != yes; then - if test "X$x_libraries" != "X"; then - XLIBS="`echo $x_libraries | sed "$LRscript"` $XLIBS" - fi - XLIBS="$XLIBS -lX11" - if test "X$x_includes" != "X"; then - XINCS="-I$x_includes" - fi -fi - - - -{ echo "$as_me:$LINENO: checking if --enable-widechar option specified" >&5 -echo $ECHO_N "checking if --enable-widechar option specified... $ECHO_C" >&6; } -# Check whether --enable-widechar was given. -if test "${enable_widechar+set}" = set; then - enableval=$enable_widechar; vi_cv_widechar=$enableval -else - vi_cv_widechar="no" -fi - -if test "$vi_cv_widechar" = "yes"; then - cat >>confdefs.h <<\_ACEOF -#define USE_WIDECHAR 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_widechar" >&5 -echo "${ECHO_T}$vi_cv_widechar" >&6; } - -if test "${ac_cv_header_langinfo_h+set}" = set; then - { echo "$as_me:$LINENO: checking for langinfo.h" >&5 -echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6; } -if test "${ac_cv_header_langinfo_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5 -echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking langinfo.h usability" >&5 -echo $ECHO_N "checking langinfo.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking langinfo.h presence" >&5 -echo $ECHO_N "checking langinfo.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: langinfo.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: langinfo.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: langinfo.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: langinfo.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: langinfo.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: langinfo.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: langinfo.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: langinfo.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: langinfo.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: langinfo.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: langinfo.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: langinfo.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: langinfo.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for langinfo.h" >&5 -echo $ECHO_N "checking for langinfo.h... $ECHO_C" >&6; } -if test "${ac_cv_header_langinfo_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_langinfo_h=$ac_header_preproc -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_langinfo_h" >&5 -echo "${ECHO_T}$ac_cv_header_langinfo_h" >&6; } - -fi -if test $ac_cv_header_langinfo_h = yes; then - - if test "${ac_cv_header_iconv_h+set}" = set; then - { echo "$as_me:$LINENO: checking for iconv.h" >&5 -echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -echo "${ECHO_T}$ac_cv_header_iconv_h" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking iconv.h usability" >&5 -echo $ECHO_N "checking iconv.h usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking iconv.h presence" >&5 -echo $ECHO_N "checking iconv.h presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: iconv.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: iconv.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: iconv.h: present but cannot be compiled" >&5 -echo "$as_me: WARNING: iconv.h: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: iconv.h: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: iconv.h: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: iconv.h: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: iconv.h: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: iconv.h: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: iconv.h: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: iconv.h: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: iconv.h: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: iconv.h: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for iconv.h" >&5 -echo $ECHO_N "checking for iconv.h... $ECHO_C" >&6; } -if test "${ac_cv_header_iconv_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_header_iconv_h=$ac_header_preproc -fi -{ echo "$as_me:$LINENO: result: $ac_cv_header_iconv_h" >&5 -echo "${ECHO_T}$ac_cv_header_iconv_h" >&6; } - -fi -if test $ac_cv_header_iconv_h = yes; then - - cat >>confdefs.h <<\_ACEOF -#define USE_ICONV 1 -_ACEOF - - -for ac_func in iswblank -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" - ;; -esac - -fi -done - - - -fi - - - -fi - - - - - - - -{ echo "$as_me:$LINENO: checking if --enable-gtk option specified" >&5 -echo $ECHO_N "checking if --enable-gtk option specified... $ECHO_C" >&6; } -# Check whether --enable-gtk was given. -if test "${enable_gtk+set}" = set; then - enableval=$enable_gtk; vi_cv_gtk=$enableval -else - vi_cv_gtk="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_gtk" >&5 -echo "${ECHO_T}$vi_cv_gtk" >&6; } -if test "$vi_cv_gtk" = "yes"; then - # - # Find pkg-config - # - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; 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_path_PKG_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - 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_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -echo "${ECHO_T}$PKG_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test x$PKG_CONFIG = xno ; then - if test "$vi_cv_widechar" = "yes"; then - { { echo "$as_me:$LINENO: error: *** pkg-config not found. See http://pkgconfig.sourceforge.net" >&5 -echo "$as_me: error: *** pkg-config not found. See http://pkgconfig.sourceforge.net" >&2;} - { (exit 1); exit 1; }; } - fi - - else - if ! $PKG_CONFIG --atleast-pkgconfig-version 0.5 ; then - if test "$vi_cv_widechar" = "yes"; then - { { echo "$as_me:$LINENO: error: *** pkg-config too old; version 0.5 or better required." >&5 -echo "$as_me: error: *** pkg-config too old; version 0.5 or better required." >&2;} - { (exit 1); exit 1; }; } - fi - PKG_CONFIG=no - fi - - fi - if test x$PKG_CONFIG = xno ; then - PKG_CONFIG=/bin/false - fi - - vi_programs="$vi_programs vi-gtk" - vi_ipc=vi-ipc - { echo "$as_me:$LINENO: checking for gtk+" >&5 -echo $ECHO_N "checking for gtk+... $ECHO_C" >&6; } - if $PKG_CONFIG gtk+-2.0 ; then - GTKINCS=`$PKG_CONFIG --cflags gtk+-2.0` - GTKLIBS=`$PKG_CONFIG --libs gtk+-2.0` - - { echo "$as_me:$LINENO: result: ok" >&5 -echo "${ECHO_T}ok" >&6; } - cat >>confdefs.h <<\_ACEOF -#define HAVE_PANGO 1 -_ACEOF - - else - if test "$vi_cv_widechar" = "yes"; then - { { echo "$as_me:$LINENO: error: -*** gtk+-2.0 is required. The latest version of gtk -*** is always available from ftp://ftp.gtk.org/. - " >&5 -echo "$as_me: error: -*** gtk+-2.0 is required. The latest version of gtk -*** is always available from ftp://ftp.gtk.org/. - " >&2;} - { (exit 1); exit 1; }; } - else - -# Check whether --with-gtk-prefix was given. -if test "${with_gtk_prefix+set}" = set; then - withval=$with_gtk_prefix; gtk_config_prefix="$withval" -else - gtk_config_prefix="" -fi - - -# Check whether --with-gtk-exec-prefix was given. -if test "${with_gtk_exec_prefix+set}" = set; then - withval=$with_gtk_exec_prefix; gtk_config_exec_prefix="$withval" -else - gtk_config_exec_prefix="" -fi - -# Check whether --enable-gtktest was given. -if test "${enable_gtktest+set}" = set; then - enableval=$enable_gtktest; -else - enable_gtktest=yes -fi - - - for module in . - do - case "$module" in - gthread) - gtk_config_args="$gtk_config_args gthread" - ;; - esac - done - - if test x$gtk_config_exec_prefix != x ; then - gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config - fi - fi - if test x$gtk_config_prefix != x ; then - gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix" - if test x${GTK_CONFIG+set} != xset ; then - GTK_CONFIG=$gtk_config_prefix/bin/gtk-config - fi - fi - - # Extract the first word of "gtk-config", so it can be a program name with args. -set dummy gtk-config; 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_path_GTK_CONFIG+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $GTK_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_GTK_CONFIG="$GTK_CONFIG" # Let the user override the test with a path. - ;; - *) - 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_path_GTK_CONFIG="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GTK_CONFIG" && ac_cv_path_GTK_CONFIG="no" - ;; -esac -fi -GTK_CONFIG=$ac_cv_path_GTK_CONFIG -if test -n "$GTK_CONFIG"; then - { echo "$as_me:$LINENO: result: $GTK_CONFIG" >&5 -echo "${ECHO_T}$GTK_CONFIG" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - min_gtk_version=1.2.0 - { echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5 -echo $ECHO_N "checking for GTK - version >= $min_gtk_version... $ECHO_C" >&6; } - no_gtk="" - if test "$GTK_CONFIG" = "no" ; then - no_gtk=yes - else - GTK_CFLAGS=`$GTK_CONFIG $gtk_config_args --cflags` - GTK_LIBS=`$GTK_CONFIG $gtk_config_args --libs` - gtk_config_major_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - gtk_config_minor_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - gtk_config_micro_version=`$GTK_CONFIG $gtk_config_args --version | \ - sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` - if test "x$enable_gtktest" = "xyes" ; then - ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" - rm -f conf.gtktest - if test "$cross_compiling" = yes; then - echo $ac_n "cross compiling; assumed OK... $ac_c" -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include - -int -main () -{ - int major, minor, micro; - char *tmp_version; - - system ("touch conf.gtktest"); - - /* HP/UX 9 (%@#!) writes to sscanf strings */ - tmp_version = g_strdup("$min_gtk_version"); - if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { - printf("%s, bad version string\n", "$min_gtk_version"); - exit(1); - } - - if ((gtk_major_version != $gtk_config_major_version) || - (gtk_minor_version != $gtk_config_minor_version) || - (gtk_micro_version != $gtk_config_micro_version)) - { - printf("\n*** 'gtk-config --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n", - $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version, - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf ("*** was found! If gtk-config was correct, then it is best\n"); - printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n"); - printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n"); - printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n"); - printf("*** required on your system.\n"); - printf("*** If gtk-config was wrong, set the environment variable GTK_CONFIG\n"); - printf("*** to point to the correct copy of gtk-config, and remove the file config.cache\n"); - printf("*** before re-running configure\n"); - } -#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION) - else if ((gtk_major_version != GTK_MAJOR_VERSION) || - (gtk_minor_version != GTK_MINOR_VERSION) || - (gtk_micro_version != GTK_MICRO_VERSION)) - { - printf("*** GTK+ header files (version %d.%d.%d) do not match\n", - GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("*** library (version %d.%d.%d)\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - } -#endif /* defined (GTK_MAJOR_VERSION) ... */ - else - { - if ((gtk_major_version > major) || - ((gtk_major_version == major) && (gtk_minor_version > minor)) || - ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro))) - { - return 0; - } - else - { - printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n", - gtk_major_version, gtk_minor_version, gtk_micro_version); - printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n", - major, minor, micro); - printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n"); - printf("***\n"); - printf("*** If you have already installed a sufficiently new version, this error\n"); - printf("*** probably means that the wrong copy of the gtk-config shell script is\n"); - printf("*** being found. The easiest way to fix this is to remove the old version\n"); - printf("*** of GTK+, but you can also set the GTK_CONFIG environment to point to the\n"); - printf("*** correct copy of gtk-config. (In this case, you will have to\n"); - printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n"); - printf("*** so that the correct libraries are found at run-time))\n"); - } - } - return 1; -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - : -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -no_gtk=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - if test "x$no_gtk" = x ; then - { echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6; } - : - else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } - if test "$GTK_CONFIG" = "no" ; then - echo "*** The gtk-config script installed by GTK could not be found" - echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the GTK_CONFIG environment variable to the" - echo "*** full path to gtk-config." - else - if test -f conf.gtktest ; then - : - else - echo "*** Could not run GTK test program, checking why..." - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$LIBS $GTK_LIBS" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include - -int -main () -{ - return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - echo "*** The test program compiled, but did not run. This usually means" - echo "*** that the run-time linker is not finding GTK or finding the wrong" - echo "*** version of GTK. If it is not finding GTK, you'll need to set your" - echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" - echo "*** to the installed location Also, make sure you have run ldconfig if that" - echo "*** is required on your system" - echo "***" - echo "*** If you have an old version installed, it is best to remove it, although" - echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" - echo "***" - echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that" - echo "*** came with the system with the command" - echo "***" - echo "*** rpm --erase --nodeps gtk gtk-devel" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - echo "*** The test program failed to compile or link. See the file config.log for the" - echo "*** exact error that occured. This usually means GTK was incorrectly installed" - echo "*** or that you have moved GTK since it was installed. In the latter case, you" - echo "*** may want to edit the gtk-config script: $GTK_CONFIG" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$ac_save_CFLAGS" - LIBS="$ac_save_LIBS" - fi - fi - GTK_CFLAGS="" - GTK_LIBS="" - : - fi - - - rm -f conf.gtktest - - GTKINCS="$GTK_CFLAGS" - GTKLIBS="$GTK_LIBS $LIBS" - fi - fi - - SAVELIBS="$LIBS" - LIBS="-lutil $GTKLIBS" - { echo "$as_me:$LINENO: checking for zvt_get_ptys in -lnvizvt" >&5 -echo $ECHO_N "checking for zvt_get_ptys in -lnvizvt... $ECHO_C" >&6; } -if test "${ac_cv_lib_nvizvt_zvt_get_ptys+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnvizvt $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char zvt_get_ptys (); -int -main () -{ -return zvt_get_ptys (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_nvizvt_zvt_get_ptys=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_nvizvt_zvt_get_ptys=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_nvizvt_zvt_get_ptys" >&5 -echo "${ECHO_T}$ac_cv_lib_nvizvt_zvt_get_ptys" >&6; } -if test $ac_cv_lib_nvizvt_zvt_get_ptys = yes; then - vi_cv_zvt="yes" -else - vi_cv_zvt="no" -fi - - if test "$vi_cv_zvt" = "yes"; then - GTKLIBS="-lnvizvt $LIBS" - cat >>confdefs.h <<\_ACEOF -#define HAVE_ZVT 1 -_ACEOF - - fi - LIBS="$SAVELIBS" -# AC_PATH_PROG(vi_cv_gnome_config, gnome-config, no) -# if test "$vi_cv_gnome_config" != "no"; then -# ZVTLIBS=`$vi_cv_gnome_config zvt --libs` -# GTKLIBS="$ZVTLIBS $GTKLIBS" -# fi -fi - - -{ echo "$as_me:$LINENO: checking if --enable-motif option specified" >&5 -echo $ECHO_N "checking if --enable-motif option specified... $ECHO_C" >&6; } -# Check whether --enable-motif was given. -if test "${enable_motif+set}" = set; then - enableval=$enable_motif; vi_cv_motif=$enableval -else - vi_cv_motif="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_motif" >&5 -echo "${ECHO_T}$vi_cv_motif" >&6; } -if test "$vi_cv_motif" = "yes"; then - vi_programs="$vi_programs vi-motif" - vi_ipc=vi-ipc - - - case "$host_os" in - bsdi*) CC=cc;; - esac - - - MOTIFLIBS="-lXm -lXt" - { echo "$as_me:$LINENO: checking for main in -lSM" >&5 -echo $ECHO_N "checking for main in -lSM... $ECHO_C" >&6; } -if test "${ac_cv_lib_SM_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lSM "$XLIBS" $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_SM_main=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_SM_main=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_SM_main" >&5 -echo "${ECHO_T}$ac_cv_lib_SM_main" >&6; } -if test $ac_cv_lib_SM_main = yes; then - vi_cv_smlib="yes" -else - vi_cv_smlib="no" -fi - - if test "$vi_cv_smlib" = "yes"; then - MOTIFLIBS="$MOTIFLIBS -lSM" - fi - { echo "$as_me:$LINENO: checking for main in -lICE" >&5 -echo $ECHO_N "checking for main in -lICE... $ECHO_C" >&6; } -if test "${ac_cv_lib_ICE_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lICE "$XLIBS" $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_ICE_main=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_ICE_main=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_main" >&5 -echo "${ECHO_T}$ac_cv_lib_ICE_main" >&6; } -if test $ac_cv_lib_ICE_main = yes; then - vi_cv_icelib="yes" -else - vi_cv_icelib="no" -fi - - if test "$vi_cv_icelib" = "yes"; then - MOTIFLIBS="$MOTIFLIBS -lICE" - fi - { echo "$as_me:$LINENO: checking for main in -lXext" >&5 -echo $ECHO_N "checking for main in -lXext... $ECHO_C" >&6; } -if test "${ac_cv_lib_Xext_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXext "$XLIBS" $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_Xext_main=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_Xext_main=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_main" >&5 -echo "${ECHO_T}$ac_cv_lib_Xext_main" >&6; } -if test $ac_cv_lib_Xext_main = yes; then - vi_cv_xextlib="yes" -else - vi_cv_xextlib="no" -fi - - if test "$vi_cv_xextlib" = "yes"; then - MOTIFLIBS="$MOTIFLIBS -lXext" - fi - { echo "$as_me:$LINENO: checking for main in -lXpm" >&5 -echo $ECHO_N "checking for main in -lXpm... $ECHO_C" >&6; } -if test "${ac_cv_lib_Xpm_main+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lXpm "$XLIBS" $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_Xpm_main=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_Xpm_main=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_main" >&5 -echo "${ECHO_T}$ac_cv_lib_Xpm_main" >&6; } -if test $ac_cv_lib_Xpm_main = yes; then - vi_cv_xpmlib="yes" -else - vi_cv_xpmlib="no" -fi - - if test "$vi_cv_xpmlib" = "yes"; then - MOTIFLIBS="$MOTIFLIBS -lXpm" - fi - MOTIFLIBS="$MOTIFLIBS $XLIBS -lm $LIBS" -fi - - -{ echo "$as_me:$LINENO: checking if --enable-threads option specified" >&5 -echo $ECHO_N "checking if --enable-threads option specified... $ECHO_C" >&6; } -# Check whether --enable-threads was given. -if test "${enable_threads+set}" = set; then - enableval=$enable_threads; vi_cv_threads=$enableval -else - vi_cv_threads="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_threads" >&5 -echo "${ECHO_T}$vi_cv_threads" >&6; } -if test "$vi_cv_threads" = "yes"; then - LIBS="$LIBS -lpthread" - if test "${vi_cv_have_pthreads+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -pthread_self() - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_pthreads=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_pthreads=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_pthreads" = "no"; then - { { echo "$as_me:$LINENO: error: No threading library found" >&5 -echo "$as_me: error: No threading library found" >&2;} - { (exit 1); exit 1; }; } - fi - IPCOBJS="pthread.o $IPCOBJS" - cat >>confdefs.h <<\_ACEOF -#define HAVE_PTHREAD 1 -_ACEOF - -else - IPCOBJS="nothread.o $IPCOBJS" -fi - - - - - -{ echo "$as_me:$LINENO: checking if --enable-perlinterp option specified" >&5 -echo $ECHO_N "checking if --enable-perlinterp option specified... $ECHO_C" >&6; } -# Check whether --enable-perlinterp was given. -if test "${enable_perlinterp+set}" = set; then - enableval=$enable_perlinterp; vi_cv_perlinterp=$enableval -else - vi_cv_perlinterp="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_perlinterp" >&5 -echo "${ECHO_T}$vi_cv_perlinterp" >&6; } -if test "$vi_cv_perlinterp" = "yes"; then - if test "$vi_cv_path_perl" = no; then - { { echo "$as_me:$LINENO: error: No perl5 utility found." >&5 -echo "$as_me: error: No perl5 utility found." >&2;} - { (exit 1); exit 1; }; } - fi - $vi_cv_path_perl -e 'require 5.004' || { - { { echo "$as_me:$LINENO: error: perl5 must be version 5.004 or later." >&5 -echo "$as_me: error: perl5 must be version 5.004 or later." >&2;} - { (exit 1); exit 1; }; } - } - if test "$vi_cv_threads" = "yes"; then - useithreads=`$vi_cv_path_perl -MConfig -e 'print $Config{useithreads}'` - if test "X$useithreads" != "Xdefine"; then - { { echo "$as_me:$LINENO: error: vi threading only compatible with perl's ithreads." >&5 -echo "$as_me: error: vi threading only compatible with perl's ithreads." >&2;} - { (exit 1); exit 1; }; } - fi - fi - - eval `$vi_cv_path_perl -V:shrpenv` - vi_cv_perllib=`$vi_cv_path_perl -MConfig -e 'print $Config{privlib}'` - perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \ - -e 'ccflags;perl_inc'` - if test "X$perlcppflags" != "X"; then - CPPFLAGS="$perlcppflags $CPPFLAGS" - fi - perllibs=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \ - -e 'ldopts'` - perlldflags=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \ - -e 'ccdlflags'` - LIBOBJS="perl.o perlxsi.o perlsfio.o $LIBOBJS" - cat >>confdefs.h <<\_ACEOF -#define HAVE_PERL_INTERP 1 -_ACEOF - - { echo "$as_me:$LINENO: checking whether we need to use perl's setenv" >&5 -echo $ECHO_N "checking whether we need to use perl's setenv... $ECHO_C" >&6; } -if test "${vi_cv_perl_setenv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -#include -#include -#include -int main(){ -#if defined(USE_ENVIRON_ARRAY) && !defined(PERL_USE_SAFE_PUTENV) -exit(0); -#else -exit(1); -#endif -} - -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_perl_setenv=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_perl_setenv=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_perl_setenv" >&5 -echo "${ECHO_T}$vi_cv_perl_setenv" >&6; } - if test "$vi_cv_perl_setenv" = yes; then - cat >>confdefs.h <<\_ACEOF -#define USE_PERL_SETENV 1 -_ACEOF - - fi -fi - -{ echo "$as_me:$LINENO: checking if --enable-tclinterp option specified" >&5 -echo $ECHO_N "checking if --enable-tclinterp option specified... $ECHO_C" >&6; } -# Check whether --enable-tclinterp was given. -if test "${enable_tclinterp+set}" = set; then - enableval=$enable_tclinterp; vi_cv_tclinterp=$enableval -else - vi_cv_tclinterp="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_tclinterp" >&5 -echo "${ECHO_T}$vi_cv_tclinterp" >&6; } -if test "$vi_cv_tclinterp" = "yes"; then - { echo "$as_me:$LINENO: checking for tclConfig.sh" >&5 -echo $ECHO_N "checking for tclConfig.sh... $ECHO_C" >&6; } - if test "${vi_cv_tclconfig+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - vi_cv_tclconfig=`$srcdir/findconfig` -fi - - { echo "$as_me:$LINENO: result: $vi_cv_tclconfig" >&5 -echo "${ECHO_T}$vi_cv_tclconfig" >&6; } - if test "x$vi_cv_tclconfig" = x; then - { { echo "$as_me:$LINENO: error: No Tcl library found;" >&5 -echo "$as_me: error: No Tcl library found;" >&2;} - { (exit 1); exit 1; }; } - fi - . $vi_cv_tclconfig - LIBOBJS="tcl.o $LIBOBJS" - LIBS="$TCL_LIB_SPEC $TCL_LIBS $LIBS" - cat >>confdefs.h <<\_ACEOF -#define HAVE_TCL_INTERP 1 -_ACEOF - -fi - - - - - - - SAVELIBS="$LIBS" - SAVELDFLAGS="$LDFLAGS" - SAVECPPFLAGS="$CPPFLAGS" - -# Check whether --with-curses was given. -if test "${with_curses+set}" = set; then - withval=$with_curses; -fi - - if test "x$with_curses" != "x"; then - CURSLDFLAGS="`echo $with_curses/lib | sed "$LRscript"` $CURSLDFLAGS" - CURSCPPFLAGS="-I$with_curses/include $CURSCPPFLAGS" - fi; - LDFLAGS="$CURSLDFLAGS $LDFLAGS" - CPPFLAGS="$CURSCPPFLAGS $CPPFLAGS" - - if test "$vi_cv_widechar" = "yes"; then - for vi_cv_curses in ncurses ncursesw curses; do - as_ac_Lib=`echo "ac_cv_lib_$vi_cv_curses''_waddnwstr" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for waddnwstr in -l$vi_cv_curses" >&5 -echo $ECHO_N "checking for waddnwstr in -l$vi_cv_curses... $ECHO_C" >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-l$vi_cv_curses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char waddnwstr (); -int -main () -{ -return waddnwstr (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -ac_res=`eval echo '${'$as_ac_Lib'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Lib'}'` = yes; then - break -fi - - vi_cv_curses=unknown - done - else - for vi_cv_curses in ncurses ncursesw curses; do - as_ac_Lib=`echo "ac_cv_lib_$vi_cv_curses''_initscr" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for initscr in -l$vi_cv_curses" >&5 -echo $ECHO_N "checking for initscr in -l$vi_cv_curses... $ECHO_C" >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-l$vi_cv_curses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char initscr (); -int -main () -{ -return initscr (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -ac_res=`eval echo '${'$as_ac_Lib'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Lib'}'` = yes; then - break -fi - - vi_cv_curses=unknown - done - fi - - if test "$vi_cv_curses" != "unknown"; then - CURSHEADER=curses.h - if test "$vi_cv_curses" = "ncurses"; then - -for ac_header in ncurses.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - CURSHEADER=ncurses.h -fi - -done - - fi - if test "$vi_cv_curses" = "ncursesw"; then - -for ac_header in ncursesw/ncurses.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - CURSHEADER=ncursesw/ncurses.h -fi - -done - - fi - vi_programs="vi $vi_programs" - CURSLIBS="-l$vi_cv_curses" - else - { echo "$as_me:$LINENO: WARNING: *** No suitable curses library found." >&5 -echo "$as_me: WARNING: *** No suitable curses library found." >&2;} - if test "$vi_programs"X = X; then - { { echo "$as_me:$LINENO: error: No executable to build." >&5 -echo "$as_me: error: No executable to build." >&2;} - { (exit 1); exit 1; }; } - fi - fi - -as_ac_Lib=`echo "ac_cv_lib_$vi_cv_curses''_tgetent" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for tgetent in -l$vi_cv_curses" >&5 -echo $ECHO_N "checking for tgetent in -l$vi_cv_curses... $ECHO_C" >&6; } -if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-l$vi_cv_curses $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_Lib=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_Lib=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -ac_res=`eval echo '${'$as_ac_Lib'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_Lib'}'` = yes; then - vi_cv_curses_tgetent=yes -else - vi_cv_curses_tgetent=no -fi - -if test "$vi_cv_curses_tgetent" = no; then - { echo "$as_me:$LINENO: checking for tgetent in -ltermlib" >&5 -echo $ECHO_N "checking for tgetent in -ltermlib... $ECHO_C" >&6; } -if test "${ac_cv_lib_termlib_tgetent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermlib $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_termlib_tgetent=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_termlib_tgetent=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_termlib_tgetent" >&5 -echo "${ECHO_T}$ac_cv_lib_termlib_tgetent" >&6; } -if test $ac_cv_lib_termlib_tgetent = yes; then - vi_cv_termlib=-ltermlib -else - vi_cv_termlib=no -fi - - if test "$vi_cv_termlib" = no; then - { echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5 -echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6; } -if test "${ac_cv_lib_termcap_tgetent+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ltermcap $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char tgetent (); -int -main () -{ -return tgetent (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_termcap_tgetent=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_termcap_tgetent=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5 -echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6; } -if test $ac_cv_lib_termcap_tgetent = yes; then - vi_cv_termlib=-ltermcap -else - vi_cv_termlib=no -fi - - fi -fi -if test "$vi_cv_termlib" != no; then - CURSLIBS="$CURSLIBS $vi_cv_termlib" -fi - - LIBS="$SAVELIBS" - LDFLAGS="$SAVELDFLAGS" - CPPFLAGS="$SAVECPPFLAGS" - -{ echo "$as_me:$LINENO: checking for sys/mman.h" >&5 -echo $ECHO_N "checking for sys/mman.h... $ECHO_C" >&6; } -if test "${vi_cv_include_sys_mman+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - vi_cv_include_sys_mman=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_include_sys_mman=no -fi - -rm -f conftest.err conftest.$ac_ext -fi - -if test "$vi_cv_include_sys_mman" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_MMAN_H 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_include_sys_mman" >&5 -echo "${ECHO_T}$vi_cv_include_sys_mman" >&6; } - -{ echo "$as_me:$LINENO: checking for sys/select.h" >&5 -echo $ECHO_N "checking for sys/select.h... $ECHO_C" >&6; } -if test "${vi_cv_include_sys_select+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - vi_cv_include_sys_select=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_include_sys_select=no -fi - -rm -f conftest.err conftest.$ac_ext -fi - -if test "$vi_cv_include_sys_select" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_SELECT_H 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_include_sys_select" >&5 -echo "${ECHO_T}$vi_cv_include_sys_select" >&6; } - -{ echo "$as_me:$LINENO: checking for ssize_t" >&5 -echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6; } -if test "${ac_cv_type_ssize_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef ssize_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_ssize_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_ssize_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5 -echo "${ECHO_T}$ac_cv_type_ssize_t" >&6; } -if test $ac_cv_type_ssize_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define ssize_t int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } -if test "${ac_cv_c_bigendian+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # See if sys/param.h defines the BYTE_ORDER macro. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ - && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) - bogus endian macros -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - # It does; now see whether it defined to BIG_ENDIAN or not. -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_bigendian=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_bigendian=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - # It does not; compile a test program. -if test "$cross_compiling" = yes; then - # try to guess the endianness by grepping values into an object file - ac_cv_c_bigendian=unknown - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } -short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } -int -main () -{ - _ascii (); _ebcdic (); - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then - ac_cv_c_bigendian=yes -fi -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi -fi -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_bigendian=no -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 -echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } -case $ac_cv_c_bigendian in - yes) - -cat >>confdefs.h <<\_ACEOF -#define WORDS_BIGENDIAN 1 -_ACEOF - ;; - no) - ;; - *) - { { echo "$as_me:$LINENO: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 -echo "$as_me: error: unknown endianness -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} - { (exit 1); exit 1; }; } ;; -esac - -{ echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset cs; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *pcpcc; - char **ppc; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - pcpcc = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++pcpcc; - ppc = (char**) pcpcc; - pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - if (s) return 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - if (!foo) return 0; - } - return !cs[0] && !zero.x; -#endif - - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_c_const=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6; } -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5 -echo $ECHO_N "checking for struct stat.st_blksize... $ECHO_C" >&6; } -if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static struct stat ac_aggr; -if (sizeof ac_aggr.st_blksize) -return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_member_struct_stat_st_blksize=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_member_struct_stat_st_blksize=no -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 -{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blksize" >&5 -echo "${ECHO_T}$ac_cv_member_struct_stat_st_blksize" >&6; } -if test $ac_cv_member_struct_stat_st_blksize = yes; then - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_BLKSIZE 1 -_ACEOF - - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ST_BLKSIZE 1 -_ACEOF - -fi - - -{ echo "$as_me:$LINENO: checking for mode_t" >&5 -echo $ECHO_N "checking for mode_t... $ECHO_C" >&6; } -if test "${ac_cv_type_mode_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef mode_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_mode_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_mode_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 -echo "${ECHO_T}$ac_cv_type_mode_t" >&6; } -if test $ac_cv_type_mode_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define mode_t int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for off_t" >&5 -echo $ECHO_N "checking for off_t... $ECHO_C" >&6; } -if test "${ac_cv_type_off_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef off_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_off_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_off_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 -echo "${ECHO_T}$ac_cv_type_off_t" >&6; } -if test $ac_cv_type_off_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define off_t long int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for pid_t" >&5 -echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } -if test "${ac_cv_type_pid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef pid_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_pid_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_pid_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 -echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } -if test $ac_cv_type_pid_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define pid_t int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -typedef size_t ac__type_new_; -int -main () -{ -if ((ac__type_new_ *) 0) - return 0; -if (sizeof (ac__type_new_)) - return 0; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_type_size_t=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6; } -if test $ac_cv_type_size_t = yes; then - : -else - -cat >>confdefs.h <<_ACEOF -#define size_t unsigned int -_ACEOF - -fi - -{ echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5 -echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6; } -if test "${ac_cv_struct_tm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include - -int -main () -{ -struct tm tm; - int *p = &tm.tm_sec; - return !p; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_cv_struct_tm=time.h -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_struct_tm=sys/time.h -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5 -echo "${ECHO_T}$ac_cv_struct_tm" >&6; } -if test $ac_cv_struct_tm = sys/time.h; then - -cat >>confdefs.h <<\_ACEOF -#define TM_IN_SYS_TIME 1 -_ACEOF - -fi - - - - - - -for ac_func in bsearch gethostname memchr memset -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" - ;; -esac - -fi -done - - - - - - -for ac_func in mkstemp mmap strdup strpbrk -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" - ;; -esac - -fi -done - - - - -for ac_func in snprintf vsnprintf -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" - ;; -esac - -fi -done - - - - -for ac_func in select -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - - -for ac_func in setenv -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - need_env=no -else - need_env=yes -fi -done - - -for ac_func in strsep -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - need_strsep=no -else - need_strsep=yes -fi -done - - -for ac_func in unsetenv -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -else - need_env=yes -fi -done - - - - -for ac_header in stdlib.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_func in getpagesize -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -{ echo "$as_me:$LINENO: checking for working mmap" >&5 -echo $ECHO_N "checking for working mmap... $ECHO_C" >&6; } -if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -/* malloc might have been renamed as rpl_malloc. */ -#undef malloc - -/* Thanks to Mike Haertel and Jim Avera for this test. - Here is a matrix of mmap possibilities: - mmap private not fixed - mmap private fixed at somewhere currently unmapped - mmap private fixed at somewhere already mapped - mmap shared not fixed - mmap shared fixed at somewhere currently unmapped - mmap shared fixed at somewhere already mapped - For private mappings, we should verify that changes cannot be read() - back from the file, nor mmap's back from the file at a different - address. (There have been systems where private was not correctly - implemented like the infamous i386 svr4.0, and systems where the - VM page cache was not coherent with the file system buffer cache - like early versions of FreeBSD and possibly contemporary NetBSD.) - For shared mappings, we should conversely verify that changes get - propagated back to all the places they're supposed to be. - - Grep wants private fixed already mapped. - The main things grep needs to know about mmap are: - * does it exist and is it safe to write into the mmap'd area - * how to use it (BSD variants) */ - -#include -#include - -#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H -char *malloc (); -#endif - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -int -main () -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize (); - - /* First, make a file with some known garbage in it. */ - data = (char *) malloc (pagesize); - if (!data) - return 1; - for (i = 0; i < pagesize; ++i) - *(data + i) = rand (); - umask (0); - fd = creat ("conftest.mmap", 0600); - if (fd < 0) - return 1; - if (write (fd, data, pagesize) != pagesize) - return 1; - close (fd); - - /* Next, try to mmap the file at a fixed address which already has - something else allocated at it. If we can, also make sure that - we see the same garbage. */ - fd = open ("conftest.mmap", O_RDWR); - if (fd < 0) - return 1; - data2 = (char *) malloc (2 * pagesize); - if (!data2) - return 1; - data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - return 1; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - return 1; - - /* Finally, make sure that changes to the mapped area do not - percolate back to the file as seen by read(). (This is a bug on - some variants of i386 svr4.0.) */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = (char *) malloc (pagesize); - if (!data3) - return 1; - if (read (fd, data3, pagesize) != pagesize) - return 1; - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - return 1; - close (fd); - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_mmap_fixed_mapped=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 -echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6; } -if test $ac_cv_func_mmap_fixed_mapped = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_MMAP 1 -_ACEOF - -fi -rm -f conftest.mmap - - -for ac_header in vfork.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - { echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -else - # Is the header compilable? -{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6; } - -# Is the header present? -{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - - ;; -esac -{ echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } -if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -ac_res=`eval echo '${'$as_ac_Header'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - -for ac_func in fork vfork -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -{ echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } -if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$ac_func || defined __stub___$ac_func -choke me -#endif - -int -main () -{ -return $ac_func (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - eval "$as_ac_var=no" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi -ac_res=`eval echo '${'$as_ac_var'}'` - { echo "$as_me:$LINENO: result: $ac_res" >&5 -echo "${ECHO_T}$ac_res" >&6; } -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - -fi -done - -if test "x$ac_cv_func_fork" = xyes; then - { echo "$as_me:$LINENO: checking for working fork" >&5 -echo $ECHO_N "checking for working fork... $ECHO_C" >&6; } -if test "${ac_cv_func_fork_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_fork_works=cross -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* By Ruediger Kuhlmann. */ - return fork () < 0; - - ; - return 0; -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_fork_works=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_fork_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 -echo "${ECHO_T}$ac_cv_func_fork_works" >&6; } - -else - ac_cv_func_fork_works=$ac_cv_func_fork -fi -if test "x$ac_cv_func_fork_works" = xcross; then - case $host in - *-*-amigaos* | *-*-msdosdjgpp*) - # Override, as these systems have only a dummy fork() stub - ac_cv_func_fork_works=no - ;; - *) - ac_cv_func_fork_works=yes - ;; - esac - { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 -echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} -fi -ac_cv_func_vfork_works=$ac_cv_func_vfork -if test "x$ac_cv_func_vfork" = xyes; then - { echo "$as_me:$LINENO: checking for working vfork" >&5 -echo $ECHO_N "checking for working vfork... $ECHO_C" >&6; } -if test "${ac_cv_func_vfork_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_vfork_works=cross -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Thanks to Paul Eggert for this test. */ -$ac_includes_default -#include -#ifdef HAVE_VFORK_H -# include -#endif -/* On some sparc systems, changes by the child to local and incoming - argument registers are propagated back to the parent. The compiler - is told about this with #include , but some compilers - (e.g. gcc -O) don't grok . Test for this by using a - static variable whose address is put into a register that is - clobbered by the vfork. */ -static void -#ifdef __cplusplus -sparc_address_test (int arg) -# else -sparc_address_test (arg) int arg; -#endif -{ - static pid_t child; - if (!child) { - child = vfork (); - if (child < 0) { - perror ("vfork"); - _exit(2); - } - if (!child) { - arg = getpid(); - write(-1, "", 0); - _exit (arg); - } - } -} - -int -main () -{ - pid_t parent = getpid (); - pid_t child; - - sparc_address_test (0); - - child = vfork (); - - if (child == 0) { - /* Here is another test for sparc vfork register problems. This - test uses lots of local variables, at least as many local - variables as main has allocated so far including compiler - temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris - 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should - reuse the register of parent for one of the local variables, - since it will think that parent can't possibly be used any more - in this routine. Assigning to the local variable will thus - munge parent in the parent process. */ - pid_t - p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), - p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); - /* Convince the compiler that p..p7 are live; otherwise, it might - use the same hardware register for all 8 local variables. */ - if (p != p1 || p != p2 || p != p3 || p != p4 - || p != p5 || p != p6 || p != p7) - _exit(1); - - /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent - from child file descriptors. If the child closes a descriptor - before it execs or exits, this munges the parent's descriptor - as well. Test for this by closing stdout in the child. */ - _exit(close(fileno(stdout)) != 0); - } else { - int status; - struct stat st; - - while (wait(&status) != child) - ; - return ( - /* Was there some problem with vforking? */ - child < 0 - - /* Did the child fail? (This shouldn't happen.) */ - || status - - /* Did the vfork/compiler bug occur? */ - || parent != getpid() - - /* Did the file descriptor bug occur? */ - || fstat(fileno(stdout), &st) != 0 - ); - } -} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_vfork_works=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_func_vfork_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -{ echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 -echo "${ECHO_T}$ac_cv_func_vfork_works" >&6; } - -fi; -if test "x$ac_cv_func_fork_works" = xcross; then - ac_cv_func_vfork_works=$ac_cv_func_vfork - { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 -echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} -fi - -if test "x$ac_cv_func_vfork_works" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_VFORK 1 -_ACEOF - -else - -cat >>confdefs.h <<\_ACEOF -#define vfork fork -_ACEOF - -fi -if test "x$ac_cv_func_fork_works" = xyes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_FORK 1 -_ACEOF - -fi - - -if test "$need_env" = yes; then - LIBOBJS="env.o $LIBOBJS" -fi - -if test "$need_strsep" = yes; then - LIBOBJS="strsep.o $LIBOBJS" -fi - -{ echo "$as_me:$LINENO: checking for fcntl/flock" >&5 -echo $ECHO_N "checking for fcntl/flock... $ECHO_C" >&6; } -if test "${vi_cv_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - vi_cv_lock=none - case "$host_os" in - dgux*);; - irix*);; - *) - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -flock(0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_lock=flock -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext;; - esac - if test "$vi_cv_lock" = none; then - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -fcntl(0, F_SETLK, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_lock=fcntl -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - fi -fi - - -if test "$vi_cv_lock" = flock; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_LOCK_FLOCK 1 -_ACEOF - -fi -if test "$vi_cv_lock" = fcntl; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_LOCK_FCNTL 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_lock" >&5 -echo "${ECHO_T}$vi_cv_lock" >&6; } - -{ echo "$as_me:$LINENO: checking for ftruncate/chsize" >&5 -echo $ECHO_N "checking for ftruncate/chsize... $ECHO_C" >&6; } -if test "${vi_cv_ftruncate+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -ftruncate(0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_ftruncate=ftruncate -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -chsize(0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_ftruncate=chsize -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_ftruncate=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test "$vi_cv_ftruncate" = ftruncate; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_FTRUNCATE_FTRUNCATE 1 -_ACEOF - -fi -if test "$vi_cv_ftruncate" = chsize; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_FTRUNCATE_CHSIZE 1 -_ACEOF - -fi -if test "$vi_cv_ftruncate" = no; then - { { echo "$as_me:$LINENO: error: No file truncation system call." >&5 -echo "$as_me: error: No file truncation system call." >&2;} - { (exit 1); exit 1; }; } -fi -{ echo "$as_me:$LINENO: result: $vi_cv_ftruncate" >&5 -echo "${ECHO_T}$vi_cv_ftruncate" >&6; } - -CSAVELIBS="$LIBS" -CSAVELDFLAGS="$LDFLAGS" -CSAVECPPFLAGS="$CPPFLAGS" -LIBS="$CURSLIBS $LIBS" -LDFLAGS="$CURSLDFLAGS $LDFLAGS" -CPPFLAGS="$CURSCPPFLAGS $CPPFLAGS" -{ echo "$as_me:$LINENO: checking for tigetstr/tigetnum" >&5 -echo $ECHO_N "checking for tigetstr/tigetnum... $ECHO_C" >&6; } -if test "${vi_cv_have_curses_tigetstr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -tigetstr(0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_tigetstr=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_tigetstr=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test "$vi_cv_have_curses_tigetstr" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_TIGETSTR 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_have_curses_tigetstr" >&5 -echo "${ECHO_T}$vi_cv_have_curses_tigetstr" >&6; } - -if test "$vi_cv_curses" = "bundled curses"; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_BSD_CURSES 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_WADDNSTR 1 -_ACEOF - - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_IDLOK 1 -_ACEOF - -else - { echo "$as_me:$LINENO: checking for waddnstr" >&5 -echo $ECHO_N "checking for waddnstr... $ECHO_C" >&6; } - if test "${vi_cv_have_curses_waddnstr+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -waddnstr(stdscr, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_waddnstr=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_waddnstr=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_curses_waddnstr" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_WADDNSTR 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: result: $vi_cv_have_curses_waddnstr" >&5 -echo "${ECHO_T}$vi_cv_have_curses_waddnstr" >&6; } - - { echo "$as_me:$LINENO: checking for beep" >&5 -echo $ECHO_N "checking for beep... $ECHO_C" >&6; } - if test "${vi_cv_have_curses_beep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -beep(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_beep=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_beep=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_curses_beep" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_BEEP 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: result: $vi_cv_have_curses_beep" >&5 -echo "${ECHO_T}$vi_cv_have_curses_beep" >&6; } - - { echo "$as_me:$LINENO: checking for flash" >&5 -echo $ECHO_N "checking for flash... $ECHO_C" >&6; } - if test "${vi_cv_have_curses_flash+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -flash(); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_flash=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_flash=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_curses_flash" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_FLASH 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: result: $vi_cv_have_curses_flash" >&5 -echo "${ECHO_T}$vi_cv_have_curses_flash" >&6; } - - { echo "$as_me:$LINENO: checking for idlok" >&5 -echo $ECHO_N "checking for idlok... $ECHO_C" >&6; } - if test "${vi_cv_have_curses_idlok+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -idlok(0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_idlok=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_idlok=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_curses_idlok" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_IDLOK 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: result: $vi_cv_have_curses_idlok" >&5 -echo "${ECHO_T}$vi_cv_have_curses_idlok" >&6; } - - { echo "$as_me:$LINENO: checking for keypad" >&5 -echo $ECHO_N "checking for keypad... $ECHO_C" >&6; } - if test "${vi_cv_have_curses_keypad+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -keypad(0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_keypad=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_keypad=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_curses_keypad" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_KEYPAD 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: result: $vi_cv_have_curses_keypad" >&5 -echo "${ECHO_T}$vi_cv_have_curses_keypad" >&6; } - - { echo "$as_me:$LINENO: checking for newterm" >&5 -echo $ECHO_N "checking for newterm... $ECHO_C" >&6; } - if test "${vi_cv_have_curses_newterm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -newterm(0, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_newterm=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_newterm=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - - if test "$vi_cv_have_curses_newterm" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_NEWTERM 1 -_ACEOF - - fi - { echo "$as_me:$LINENO: result: $vi_cv_have_curses_newterm" >&5 -echo "${ECHO_T}$vi_cv_have_curses_newterm" >&6; } - - if test "$vi_cv_have_curses_newterm" = no; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_BSD_CURSES 1 -_ACEOF - - fi -fi - -{ echo "$as_me:$LINENO: checking for setupterm" >&5 -echo $ECHO_N "checking for setupterm... $ECHO_C" >&6; } -if test "${vi_cv_have_curses_setupterm+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$CURSHEADER> -int -main () -{ -setupterm(0, 0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_have_curses_setupterm=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_have_curses_setupterm=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test "$vi_cv_have_curses_setupterm" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_CURSES_SETUPTERM 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_have_curses_setupterm" >&5 -echo "${ECHO_T}$vi_cv_have_curses_setupterm" >&6; } -LIBS="$CSAVELIBS" -LDFLAGS="$CSAVELDFLAGS" -CPPFLAGS="$CSAVECPPFLAGS" - -{ echo "$as_me:$LINENO: checking for broken gettimeofday system call" >&5 -echo $ECHO_N "checking for broken gettimeofday system call... $ECHO_C" >&6; } -if test "${vi_cv_gettimeofday+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -#include -int -main () -{ -gettimeofday(0, 0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_gettimeofday=okay -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_gettimeofday=broken -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test "$vi_cv_gettimeofday" = broken; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_BROKEN_GETTIMEOFDAY 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_gettimeofday" >&5 -echo "${ECHO_T}$vi_cv_gettimeofday" >&6; } - -{ echo "$as_me:$LINENO: checking for System V pty calls" >&5 -echo $ECHO_N "checking for System V pty calls... $ECHO_C" >&6; } -if test "${vi_cv_sys5_pty+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -grantpt(0); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_sys5_pty=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_sys5_pty=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test "$vi_cv_sys5_pty" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS5_PTY 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_sys5_pty" >&5 -echo "${ECHO_T}$vi_cv_sys5_pty" >&6; } - -{ echo "$as_me:$LINENO: checking for revoke system call" >&5 -echo $ECHO_N "checking for revoke system call... $ECHO_C" >&6; } -if test "${vi_cv_revoke+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -int -main () -{ -revoke("a"); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_revoke=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_revoke=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -fi - -if test "$vi_cv_revoke" = yes; then - cat >>confdefs.h <<\_ACEOF -#define HAVE_REVOKE 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_revoke" >&5 -echo "${ECHO_T}$vi_cv_revoke" >&6; } - -{ echo "$as_me:$LINENO: checking for int type sprintf return value" >&5 -echo $ECHO_N "checking for int type sprintf return value... $ECHO_C" >&6; } -if test "${vi_cv_sprintf_count+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){char buf[20]; exit(sprintf(buf, "XXX") != 3);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_sprintf_count=yes -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_sprintf_count=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -if test "$vi_cv_sprintf_count" = no; then - cat >>confdefs.h <<\_ACEOF -#define SPRINTF_RET_CHARPNT 1 -_ACEOF - -fi -{ echo "$as_me:$LINENO: result: $vi_cv_sprintf_count" >&5 -echo "${ECHO_T}$vi_cv_sprintf_count" >&6; } - - - -{ echo "$as_me:$LINENO: checking for u_char" >&5 -echo $ECHO_N "checking for u_char... $ECHO_C" >&6; } -if test "${vi_cv_uchar+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_char foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_uchar=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_uchar=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_uchar" >&5 -echo "${ECHO_T}$vi_cv_uchar" >&6; } -if test "$vi_cv_uchar" = no; then - u_char_decl="typedef unsigned char u_char;" -fi - - -{ echo "$as_me:$LINENO: checking for u_short" >&5 -echo $ECHO_N "checking for u_short... $ECHO_C" >&6; } -if test "${vi_cv_ushort+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_short foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_ushort=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_ushort=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_ushort" >&5 -echo "${ECHO_T}$vi_cv_ushort" >&6; } -if test "$vi_cv_ushort" = no; then - u_short_decl="typedef unsigned short u_short;" -fi - - -{ echo "$as_me:$LINENO: checking for u_int" >&5 -echo $ECHO_N "checking for u_int... $ECHO_C" >&6; } -if test "${vi_cv_uint+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_int foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_uint=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_uint=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_uint" >&5 -echo "${ECHO_T}$vi_cv_uint" >&6; } -if test "$vi_cv_uint" = no; then - u_int_decl="typedef unsigned int u_int;" -fi - - -{ echo "$as_me:$LINENO: checking for u_long" >&5 -echo $ECHO_N "checking for u_long... $ECHO_C" >&6; } -if test "${vi_cv_ulong+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_long foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_ulong=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_ulong=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_ulong" >&5 -echo "${ECHO_T}$vi_cv_ulong" >&6; } -if test "$vi_cv_ulong" = no; then - u_long_decl="typedef unsigned long u_long;" -fi - - -{ echo "$as_me:$LINENO: checking for u_int8_t" >&5 -echo $ECHO_N "checking for u_int8_t... $ECHO_C" >&6; } -if test "${vi_cv_uint8+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_int8_t foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_uint8=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(unsigned char) != 1);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_uint8="unsigned char" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_uint8=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_uint8" >&5 -echo "${ECHO_T}$vi_cv_uint8" >&6; } -if test "$vi_cv_uint8" = no; then - { { echo "$as_me:$LINENO: error: No unsigned 8-bit integral type." >&5 -echo "$as_me: error: No unsigned 8-bit integral type." >&2;} - { (exit 1); exit 1; }; } -fi -if test "$vi_cv_uint8" != yes; then - u_int8_decl="typedef $vi_cv_uint8 u_int8_t;" -fi - - -{ echo "$as_me:$LINENO: checking for u_int16_t" >&5 -echo $ECHO_N "checking for u_int16_t... $ECHO_C" >&6; } -if test "${vi_cv_uint16+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_int16_t foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_uint16=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(unsigned short) != 2);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_uint16="unsigned short" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(unsigned int) != 2);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_uint16="unsigned int" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_uint16=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_uint16" >&5 -echo "${ECHO_T}$vi_cv_uint16" >&6; } -if test "$vi_cv_uint16" = no; then - { { echo "$as_me:$LINENO: error: No unsigned 16-bit integral type." >&5 -echo "$as_me: error: No unsigned 16-bit integral type." >&2;} - { (exit 1); exit 1; }; } -fi -if test "$vi_cv_uint16" != yes; then - u_int16_decl="typedef $vi_cv_uint16 u_int16_t;" -fi - - -{ echo "$as_me:$LINENO: checking for int16_t" >&5 -echo $ECHO_N "checking for int16_t... $ECHO_C" >&6; } -if test "${vi_cv_int16+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int16_t foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_int16=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(short) != 2);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_int16="short" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(int) != 2);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_int16="int" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_int16=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_int16" >&5 -echo "${ECHO_T}$vi_cv_int16" >&6; } -if test "$vi_cv_int16" = no; then - { { echo "$as_me:$LINENO: error: No signed 16-bit integral type." >&5 -echo "$as_me: error: No signed 16-bit integral type." >&2;} - { (exit 1); exit 1; }; } -fi -if test "$vi_cv_int16" != yes; then - int16_decl="typedef $vi_cv_int16 int16_t;" -fi - - -{ echo "$as_me:$LINENO: checking for u_int32_t" >&5 -echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6; } -if test "${vi_cv_uint32+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -u_int32_t foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_uint32=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(unsigned int) != 4);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_uint32="unsigned int" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(unsigned long) != 4);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_uint32="unsigned long" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_uint32=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_uint32" >&5 -echo "${ECHO_T}$vi_cv_uint32" >&6; } -if test "$vi_cv_uint32" = no; then - { { echo "$as_me:$LINENO: error: No unsigned 32-bit integral type." >&5 -echo "$as_me: error: No unsigned 32-bit integral type." >&2;} - { (exit 1); exit 1; }; } -fi -if test "$vi_cv_uint32" != yes; then - u_int32_decl="typedef $vi_cv_uint32 u_int32_t;" -fi - - -{ echo "$as_me:$LINENO: checking for int32_t" >&5 -echo $ECHO_N "checking for int32_t... $ECHO_C" >&6; } -if test "${vi_cv_int32+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -int32_t foo; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_int32=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(int) != 4);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_int32="int" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -if test "$cross_compiling" = yes; then - { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling -See \`config.log' for more details." >&5 -echo "$as_me: error: cannot run test program while cross compiling -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; } -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -main(){exit(sizeof(long) != 4);} -_ACEOF -rm -f conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - vi_cv_int32="long" -else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -vi_cv_int32=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi - - -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_int32" >&5 -echo "${ECHO_T}$vi_cv_int32" >&6; } -if test "$vi_cv_int32" = no; then - { { echo "$as_me:$LINENO: error: No signed 32-bit integral type." >&5 -echo "$as_me: error: No signed 32-bit integral type." >&2;} - { (exit 1); exit 1; }; } -fi -if test "$vi_cv_int32" != yes; then - int32_decl="typedef $vi_cv_int32 int32_t;" -fi - -{ echo "$as_me:$LINENO: checking return type of fprintf" >&5 -echo $ECHO_N "checking return type of fprintf... $ECHO_C" >&6; } -if test "${vi_cv_type_fprintf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int fprintf (); - -int -main () -{ -int i; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_type_fprintf=int -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_type_fprintf=void -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_type_fprintf" >&5 -echo "${ECHO_T}$vi_cv_type_fprintf" >&6; } - - -{ echo "$as_me:$LINENO: checking fprintf prototype needed" >&5 -echo $ECHO_N "checking fprintf prototype needed... $ECHO_C" >&6; } -if test "${vi_cv_proto_fprintf+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - #include -typedef int (*funcPtr)(); - -int -main () -{ -funcPtr ptr = (funcPtr) fprintf; - ; - return 0; -} -_ACEOF -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 "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - vi_cv_proto_fprintf=no -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_proto_fprintf=yes -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ echo "$as_me:$LINENO: result: $vi_cv_proto_fprintf" >&5 -echo "${ECHO_T}$vi_cv_proto_fprintf" >&6; } -if test "$vi_cv_proto_fprintf" = yes; then - cat >>confdefs.h <<\_ACEOF -#define NEED_FPRINTF_PROTO 1 -_ACEOF - -fi - - -# Check whether --with-db_type was given. -if test "${with_db_type+set}" = set; then - withval=$with_db_type; -fi - -case "$with_db_type" in -"db1") - { echo "$as_me:$LINENO: WARNING: Use of db1 is not officially supported." >&5 -echo "$as_me: WARNING: Use of db1 is not officially supported." >&2;} - cat >>confdefs.h <<\_ACEOF -#define USE_DB1 1 -_ACEOF - - ;; -"system") - ;; -*) - with_db_type="bundled" - ;; -esac - - -# Check whether --with-db_prefix was given. -if test "${with_db_prefix+set}" = set; then - withval=$with_db_prefix; -fi - - -SAVELDFLAGS="$LDFLAGS" -if test "x$with_db_prefix" != "x"; then - LDFLAGS="-L$with_db_prefix/lib $LDFLAGS" - CPPFLAGS="-I$with_db_prefix/include $CPPFLAGS" -fi -if test "$with_db_type" != db1; then - SAVELIBS="$LIBS" - - LIBS="$LIBS -ldb" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -db_create(NULL,NULL,0) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - vi_cv_dbfatal="no" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - vi_cv_dbfatal="yes" -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext - if test "$vi_cv_dbfatal" = "yes"; then - { { echo "$as_me:$LINENO: error: Need DB 3." >&5 -echo "$as_me: error: Need DB 3." >&2;} - { (exit 1); exit 1; }; } - fi - - LIBS="$SAVELIBS" -fi -LDFLAGS="$SAVELDFLAGS" - - -{ echo "$as_me:$LINENO: checking if --enable-dynamic-loading option specified" >&5 -echo $ECHO_N "checking if --enable-dynamic-loading option specified... $ECHO_C" >&6; } -# Check whether --enable-dynamic-loading was given. -if test "${enable_dynamic_loading+set}" = set; then - enableval=$enable_dynamic_loading; vi_cv_dl=$enableval -else - vi_cv_dl="no" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_dl" >&5 -echo "${ECHO_T}$vi_cv_dl" >&6; } -if test "$vi_cv_dl" = yes; then - { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 -echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 - (eval "$ac_link") 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); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && - $as_test_x conftest$ac_exeext; then - ac_cv_lib_dl_dlopen=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_dl_dlopen=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 -echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } -if test $ac_cv_lib_dl_dlopen = yes; then - vi_cv_dlfatal="no" -else - vi_cv_dlfatal="yes" -fi - - if test "$vi_cv_dlfatal" = "yes"; then - { { echo "$as_me:$LINENO: error: Need dl to support dynamic loading." >&5 -echo "$as_me: error: Need dl to support dynamic loading." >&2;} - { (exit 1); exit 1; }; } - fi - OLDPATH="$PATH" - - PATH="$with_db_prefix/lib:/usr/lib:/lib" - # Extract the first word of "libdb-3.so", so it can be a program name with args. -set dummy libdb-3.so; 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_path_vi_cv_path_db3+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - case $vi_cv_path_db3 in - [\\/]* | ?:[\\/]*) - ac_cv_path_vi_cv_path_db3="$vi_cv_path_db3" # Let the user override the test with a path. - ;; - *) - 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_path_vi_cv_path_db3="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - test -z "$ac_cv_path_vi_cv_path_db3" && ac_cv_path_vi_cv_path_db3="no" - ;; -esac -fi -vi_cv_path_db3=$ac_cv_path_vi_cv_path_db3 -if test -n "$vi_cv_path_db3"; then - { echo "$as_me:$LINENO: result: $vi_cv_path_db3" >&5 -echo "${ECHO_T}$vi_cv_path_db3" >&6; } -else - { echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6; } -fi - - - if test "$vi_cv_path_db3" = no; then - { { echo "$as_me:$LINENO: error: Path of libdb-3.so not found." >&5 -echo "$as_me: error: Path of libdb-3.so not found." >&2;} - { (exit 1); exit 1; }; } - fi - PATH="$OLDPATH" - - cat >>confdefs.h <<\_ACEOF -#define USE_DYNAMIC_LOADING 1 -_ACEOF - - LIBOBJS="dldb.o $LIBOBJS" - dl_src=../common/dldb.c - LIBS="-ldl $LIBS" -else - LIBS="-ldb $LIBS" - if test "X$with_db_prefix" != "X"; then - LDFLAGS="`echo $with_db_prefix/lib | sed "$LRscript"` $LDFLAGS" - fi -fi - - -# Check whether --with-db_build was given. -if test "${with_db_build+set}" = set; then - withval=$with_db_build; -fi - -if test "x$with_db_build" != "x"; then - vi_cv_dbsrc=`$AWK '/^srcdir/ {gsub("srcdir[ \t]*=","");print $1}' \ - $with_db_build/Makefile` - case $with_db_build in - *[\\/]);; - *) - with_db_build="$with_db_build/";; - esac - case $vi_cv_dbsrc in - [\\/]*);; - *) - vi_cv_dbsrc="$with_db_build$vi_cv_dbsrc";; - esac -fi; - -vi_cv_db4="no" -# Check whether --enable-log4 was given. -if test "${enable_log4+set}" = set; then - enableval=$enable_log4; - { echo "$as_me:$LINENO: checking for DB 4" >&5 -echo $ECHO_N "checking for DB 4... $ECHO_C" >&6; } - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include - DB_VERSION_MAJOR -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "^4" >/dev/null 2>&1; then - vi_cv_db4="yes" -else - vi_cv_db4="no" -fi -rm -f conftest* - - { echo "$as_me:$LINENO: result: $vi_cv_db4" >&5 -echo "${ECHO_T}$vi_cv_db4" >&6; } - -fi - -if test "$vi_cv_db4" = "yes"; then - CPPFLAGS="-I$vi_cv_dbsrc/include $CPPFLAGS" - CPPFLAGS="-I$vi_cv_dbsrc/include_auto $CPPFLAGS" - CPPFLAGS="-I$with_db_build $CPPFLAGS" - cat >>confdefs.h <<\_ACEOF -#define USE_DB4_LOGGING 1 -_ACEOF - - LIBOBJS="log4.o vi_auto.o vi_rec.o $LIBOBJS" -else - LIBOBJS="log.o $LIBOBJS" -fi - -{ echo "$as_me:$LINENO: checking if --disable-re option specified" >&5 -echo $ECHO_N "checking if --disable-re option specified... $ECHO_C" >&6; } -# Check whether --enable-re was given. -if test "${enable_re+set}" = set; then - enableval=$enable_re; if test "$enable_re" = "yes"; then - vi_cv_re_lib="bundled RE" - else - vi_cv_re_lib="other RE" - fi -else - vi_cv_re_lib="bundled RE" -fi - -{ echo "$as_me:$LINENO: result: $vi_cv_re_lib" >&5 -echo "${ECHO_T}$vi_cv_re_lib" >&6; } -case "$vi_cv_re_lib" in -"bundled RE") - CPPFLAGS="-I\$(visrcdir)/regex $CPPFLAGS" - LIBOBJS="regcomp.o regerror.o regexec.o regfree.o $LIBOBJS";; -"other RE") - ;; -esac - -ac_config_files="$ac_config_files Makefile port.h:port.h.in pathnames.h:pathnames.h.in recover:recover.in" - -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_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - *) $as_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 - test "x$cache_file" != "x/dev/null" && - { echo "$as_me:$LINENO: updating cache $cache_file" >&5 -echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file - else - { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 -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}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -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=`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. - ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" - ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } -fi - -: ${CONFIG_STATUS=./config.status} -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ 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. -# 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} -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## 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=: - # 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 - - - - -# PATH needs CR -# 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 - -# 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 - -# 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.) -as_nl=' -' -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -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 - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - { (exit 1); exit 1; } -fi - -# Work around bugs in pre-3.0 UWIN ksh. -for as_var in ENV MAIL MAILPATH -do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -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) >/dev/null 2>&1 && $as_unset $as_var - fi -done - -# Required to use basename. -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 - - -# Name of the executable. -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# CDPATH. -$as_unset CDPATH - - - - as_lineno_1=$LINENO - as_lineno_2=$LINENO - test "x$as_lineno_1" != "x$as_lineno_2" && - test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { - - # 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 after each line using $LINENO; the second 'sed' - # does the real work. The second script uses 'N' to pair each - # line-number line with the line containing $LINENO, 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 - # scripts with optimization help from Paolo Bonzini. 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" || - { 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" - # Exit status is that of the last command. - exit -} - - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in --n*) - case `echo 'x\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - *) ECHO_C='\c';; - esac;; -*) - ECHO_N='-n';; -esac - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -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 -fi -echo >conf$$.file -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 -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=: -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 - -# 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 $as_me, which was -generated by GNU Autoconf 2.61. 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 - -cat >>$CONFIG_STATUS <<_ACEOF -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF -ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. - -Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, 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 - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -ac_cs_version="\\ -config.status -configured by $0, generated by GNU Autoconf 2.61, - with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Copyright (C) 2006 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' -_ACEOF - -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_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 ) - echo "$ac_cs_version"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - 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) - # Conflict between --help and --header - { 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 ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) { echo "$as_me: error: unrecognized option: $1 -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } ;; - - *) ac_config_targets="$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 -if \$ac_cs_recheck; then - echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 - CONFIG_SHELL=$SHELL - export CONFIG_SHELL - exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "port.h") CONFIG_FILES="$CONFIG_FILES port.h:port.h.in" ;; - "pathnames.h") CONFIG_FILES="$CONFIG_FILES pathnames.h:pathnames.h.in" ;; - "recover") CONFIG_FILES="$CONFIG_FILES recover:recover.in" ;; - - *) { { 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 -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - 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= - trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 -n "$tmp" && test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || -{ - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } -} - -# -# Set up the sed scripts for CONFIG_FILES section. -# - -# 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 - -_ACEOF - - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -SHELL!$SHELL$ac_delim -PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim -PACKAGE_NAME!$PACKAGE_NAME$ac_delim -PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim -PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim -PACKAGE_STRING!$PACKAGE_STRING$ac_delim -PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim -exec_prefix!$exec_prefix$ac_delim -prefix!$prefix$ac_delim -program_transform_name!$program_transform_name$ac_delim -bindir!$bindir$ac_delim -sbindir!$sbindir$ac_delim -libexecdir!$libexecdir$ac_delim -datarootdir!$datarootdir$ac_delim -datadir!$datadir$ac_delim -sysconfdir!$sysconfdir$ac_delim -sharedstatedir!$sharedstatedir$ac_delim -localstatedir!$localstatedir$ac_delim -includedir!$includedir$ac_delim -oldincludedir!$oldincludedir$ac_delim -docdir!$docdir$ac_delim -infodir!$infodir$ac_delim -htmldir!$htmldir$ac_delim -dvidir!$dvidir$ac_delim -pdfdir!$pdfdir$ac_delim -psdir!$psdir$ac_delim -libdir!$libdir$ac_delim -localedir!$localedir$ac_delim -mandir!$mandir$ac_delim -DEFS!$DEFS$ac_delim -ECHO_C!$ECHO_C$ac_delim -ECHO_N!$ECHO_N$ac_delim -ECHO_T!$ECHO_T$ac_delim -LIBS!$LIBS$ac_delim -build_alias!$build_alias$ac_delim -host_alias!$host_alias$ac_delim -target_alias!$target_alias$ac_delim -INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim -INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim -INSTALL_DATA!$INSTALL_DATA$ac_delim -am__isrc!$am__isrc$ac_delim -CYGPATH_W!$CYGPATH_W$ac_delim -PACKAGE!$PACKAGE$ac_delim -VERSION!$VERSION$ac_delim -ACLOCAL!$ACLOCAL$ac_delim -AUTOCONF!$AUTOCONF$ac_delim -AUTOMAKE!$AUTOMAKE$ac_delim -AUTOHEADER!$AUTOHEADER$ac_delim -MAKEINFO!$MAKEINFO$ac_delim -install_sh!$install_sh$ac_delim -STRIP!$STRIP$ac_delim -INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim -mkdir_p!$mkdir_p$ac_delim -AWK!$AWK$ac_delim -SET_MAKE!$SET_MAKE$ac_delim -am__leading_dot!$am__leading_dot$ac_delim -AMTAR!$AMTAR$ac_delim -am__tar!$am__tar$ac_delim -am__untar!$am__untar$ac_delim -build!$build$ac_delim -build_cpu!$build_cpu$ac_delim -build_vendor!$build_vendor$ac_delim -build_os!$build_os$ac_delim -host!$host$ac_delim -host_cpu!$host_cpu$ac_delim -host_vendor!$host_vendor$ac_delim -host_os!$host_os$ac_delim -CC!$CC$ac_delim -CFLAGS!$CFLAGS$ac_delim -LDFLAGS!$LDFLAGS$ac_delim -CPPFLAGS!$CPPFLAGS$ac_delim -ac_ct_CC!$ac_ct_CC$ac_delim -EXEEXT!$EXEEXT$ac_delim -OBJEXT!$OBJEXT$ac_delim -DEPDIR!$DEPDIR$ac_delim -am__include!$am__include$ac_delim -am__quote!$am__quote$ac_delim -AMDEP_TRUE!$AMDEP_TRUE$ac_delim -AMDEP_FALSE!$AMDEP_FALSE$ac_delim -AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim -CCDEPMODE!$CCDEPMODE$ac_delim -am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim -am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim -SED!$SED$ac_delim -GREP!$GREP$ac_delim -EGREP!$EGREP$ac_delim -LN_S!$LN_S$ac_delim -ECHO!$ECHO$ac_delim -AR!$AR$ac_delim -RANLIB!$RANLIB$ac_delim -CPP!$CPP$ac_delim -CXX!$CXX$ac_delim -CXXFLAGS!$CXXFLAGS$ac_delim -ac_ct_CXX!$ac_ct_CXX$ac_delim -CXXDEPMODE!$CXXDEPMODE$ac_delim -am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim -am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -CEOF$ac_eof -_ACEOF - - -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - cat >conf$$subs.sed <<_ACEOF -CXXCPP!$CXXCPP$ac_delim -F77!$F77$ac_delim -FFLAGS!$FFLAGS$ac_delim -ac_ct_F77!$ac_ct_F77$ac_delim -LIBTOOL!$LIBTOOL$ac_delim -OPTFLAG!$OPTFLAG$ac_delim -no_op_OPTFLAG!$no_op_OPTFLAG$ac_delim -vi_cv_path_shell!$vi_cv_path_shell$ac_delim -vi_cv_path_sendmail!$vi_cv_path_sendmail$ac_delim -vi_cv_path_perl!$vi_cv_path_perl$ac_delim -vi_cv_path_preserve!$vi_cv_path_preserve$ac_delim -vi_cv_path_fuser!$vi_cv_path_fuser$ac_delim -vi_cv_path_lsof!$vi_cv_path_lsof$ac_delim -INUSE!$INUSE$ac_delim -vi_cv_path_ar!$vi_cv_path_ar$ac_delim -vi_cv_path_chmod!$vi_cv_path_chmod$ac_delim -vi_cv_path_cp!$vi_cv_path_cp$ac_delim -vi_cv_path_ln!$vi_cv_path_ln$ac_delim -vi_cv_path_mkdir!$vi_cv_path_mkdir$ac_delim -vi_cv_path_rm!$vi_cv_path_rm$ac_delim -vi_cv_path_ranlib!$vi_cv_path_ranlib$ac_delim -vi_cv_path_strip!$vi_cv_path_strip$ac_delim -XMKMF!$XMKMF$ac_delim -XINCS!$XINCS$ac_delim -LIBOBJS!$LIBOBJS$ac_delim -vi_programs!$vi_programs$ac_delim -vi_ipc!$vi_ipc$ac_delim -GTKLIBS!$GTKLIBS$ac_delim -GTKINCS!$GTKINCS$ac_delim -PKG_CONFIG!$PKG_CONFIG$ac_delim -GTK_CONFIG!$GTK_CONFIG$ac_delim -GTK_CFLAGS!$GTK_CFLAGS$ac_delim -GTK_LIBS!$GTK_LIBS$ac_delim -MOTIFLIBS!$MOTIFLIBS$ac_delim -IPCOBJS!$IPCOBJS$ac_delim -shrpenv!$shrpenv$ac_delim -perlldflags!$perlldflags$ac_delim -perllibs!$perllibs$ac_delim -vi_cv_perllib!$vi_cv_perllib$ac_delim -CURSLIBS!$CURSLIBS$ac_delim -CURSCPPFLAGS!$CURSCPPFLAGS$ac_delim -CURSLDFLAGS!$CURSLDFLAGS$ac_delim -HAVE_NCURSESW!$HAVE_NCURSESW$ac_delim -u_char_decl!$u_char_decl$ac_delim -u_short_decl!$u_short_decl$ac_delim -u_int_decl!$u_int_decl$ac_delim -u_long_decl!$u_long_decl$ac_delim -u_int8_decl!$u_int8_decl$ac_delim -u_int16_decl!$u_int16_decl$ac_delim -int16_decl!$int16_decl$ac_delim -u_int32_decl!$u_int32_decl$ac_delim -int32_decl!$int32_decl$ac_delim -NEED_FPRINTF_PROTO!$NEED_FPRINTF_PROTO$ac_delim -dl_src!$dl_src$ac_delim -vi_cv_path_db3!$vi_cv_path_db3$ac_delim -LTLIBOBJS!$LTLIBOBJS$ac_delim -_ACEOF - - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 56; then - break - elif $ac_last_try; then - { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` -if test -n "$ac_eof"; then - ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` - ac_eof=`expr $ac_eof + 1` -fi - -cat >>$CONFIG_STATUS <<_ACEOF -cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end -_ACEOF -sed ' -s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g -s/^/s,@/; s/!/@,|#_!!_#|/ -:n -t n -s/'"$ac_delim"'$/,g/; t -s/$/\\/; p -N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n -' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF -:end -s/|#_!!_#|//g -CEOF$ac_eof -_ACEOF - - -# 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 - -cat >>$CONFIG_STATUS <<\_ACEOF -fi # test -n "$CONFIG_FILES" - - -for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[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="$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 || - { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 -echo "$as_me: error: cannot find input file: $ac_f" >&2;} - { (exit 1); exit 1; }; };; - esac - ac_file_inputs="$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 "`IFS=: - echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - fi - - case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin";; - 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 || -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" - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`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 || -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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_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=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`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 -# 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= - -case `sed -n '/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p -' $ac_file_inputs` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF - 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 - sed "$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s&@configure_input@&$configure_input&;t t -s&@top_builddir@&$ac_top_builddir_sub&;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 -" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && - { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 -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 "$tmp/stdin" - case $ac_file in - -) cat "$tmp/out"; rm -f "$tmp/out";; - *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; - esac - ;; - :H) - # - # CONFIG_HEADER - # -_ACEOF - -# Transform confdefs.h into a sed script `conftest.defines', that -# substitutes the proper values into config.h.in to produce config.h. -rm -f conftest.defines conftest.tail -# First, append a space to every undef/define line, to ease matching. -echo 's/$/ /' >conftest.defines -# Then, protect against being on the right side of a sed subst, or in -# an unquoted here document, in config.status. If some macros were -# called several times there might be several #defines for the same -# symbol, which is useless. But do not sort them, since the last -# AC_DEFINE must be honored. -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where -# NAME is the cpp macro being defined, VALUE is the value it is being given. -# PARAMS is the parameter list in the macro definition--in most cases, it's -# just an empty string. -ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' -ac_dB='\\)[ (].*,\\1define\\2' -ac_dC=' ' -ac_dD=' ,' - -uniq confdefs.h | - sed -n ' - t rset - :rset - s/^[ ]*#[ ]*define[ ][ ]*// - t ok - d - :ok - s/[\\&,]/\\&/g - s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p - s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p - ' >>conftest.defines - -# Remove the space that was appended to ease matching. -# Then replace #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -# (The regexp can be short, since the line contains either #define or #undef.) -echo 's/ $// -s,^[ #]*u.*,/* & */,' >>conftest.defines - -# Break up conftest.defines: -ac_max_sed_lines=50 - -# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" -# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" -# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" -# et cetera. -ac_in='$ac_file_inputs' -ac_out='"$tmp/out1"' -ac_nxt='"$tmp/out2"' - -while : -do - # Write a here document: - cat >>$CONFIG_STATUS <<_ACEOF - # First, check the format of the line: - cat >"\$tmp/defines.sed" <<\\CEOF -/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def -/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def -b -:def -_ACEOF - sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS - ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in - sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail - grep . conftest.tail >/dev/null || break - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines conftest.tail - -echo "ac_result=$ac_in" >>$CONFIG_STATUS -cat >>$CONFIG_STATUS <<\_ACEOF - if test x"$ac_file" != x-; then - echo "/* $configure_input */" >"$tmp/config.h" - cat "$ac_result" >>"$tmp/config.h" - if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f $ac_file - mv "$tmp/config.h" $ac_file - fi - else - echo "/* $configure_input */" - cat "$ac_result" - fi - rm -f "$tmp/out12" -# Compute $ac_file's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $ac_file | $ac_file:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $ac_file" >`$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 || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 -echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; 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 10q "$mf" | grep '^#.*generated by automake' > /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 || -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 || -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 - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`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 || -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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} - { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done -done - ;; - - esac -done # for ac_tag - - -{ (exit 0); exit 0; } -_ACEOF -chmod +x $CONFIG_STATUS -ac_clean_files=$ac_clean_files_save - - -# 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 || { (exit 1); exit 1; } -fi - diff --git a/dist/nvi/dist/depcomp b/dist/nvi/dist/depcomp deleted file mode 100644 index 65899658e..000000000 --- a/dist/nvi/dist/depcomp +++ /dev/null @@ -1,411 +0,0 @@ -#! /bin/sh - -# depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000 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 -# 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, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, 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. - -# Originally written by Alexandre Oliva . - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi -# `libtool' can also be set to `yes' or `no'. - -depfile=${depfile-`echo "$object" | sed 's,\([^/]*\)$,.deps/\1,;s/\.\([^.]*\)$/.P\1/'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> $depfile - echo >> $depfile - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. This file always lives in the current directory. - # Also, the AIX compiler puts `$object:' at the start of each line; - # $object doesn't have directory information. - stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" - outname="$stripped.o" - if test "$libtool" = yes; then - "$@" -Wc,-M - else - "$@" -M - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -tru64) - # The Tru64 AIX compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - - tmpdepfile1="$object.d" - tmpdepfile2=`echo "$object" | sed -e 's/.o$/.d/'` - if test "$libtool" = yes; then - "$@" -Wc,-MD - else - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - else - tmpdepfile="$tmpdepfile2" - fi - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a space and a tab in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - test -z "$dashmflag" && dashmflag=-M - ( IFS=" " - case " $* " in - *" --mode=compile "*) # this is libtool, let us make it quiet - for arg - do # cycle over the arguments - case "$arg" in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - # X makedepend - ( - shift - cleared=no - for arg in "$@"; do - case $cleared in no) - set ""; shift - cleared=yes - esac - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift;; - -*) - ;; - *) - set fnord "$@" "$arg"; shift;; - esac - done - obj_suffix="`echo $object | sed 's/^.*\././'`" - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} 2>/dev/null -o"$obj_suffix" -f"$tmpdepfile" "$@" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tail +3 "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the proprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. - ( IFS=" " - case " $* " in - *" --mode=compile "*) - for arg - do # cycle over the arguments - case $arg in - "--mode=compile") - # insert --quiet before "--mode=compile" - set fnord "$@" --quiet - shift # fnord - ;; - esac - set fnord "$@" "$arg" - shift # fnord - shift # "$arg" - done - ;; - esac - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" - ) & - proc=$! - "$@" - stat=$? - wait "$proc" - if test "$stat" != 0; then exit $stat; fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 diff --git a/dist/nvi/dist/install-sh b/dist/nvi/dist/install-sh deleted file mode 100644 index 4fbbae7b7..000000000 --- a/dist/nvi/dist/install-sh +++ /dev/null @@ -1,507 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2006-10-14.15 - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# `make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -posix_glob= -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chmodcmd=$chmodprog -chowncmd= -chgrpcmd= -stripcmd= -rmcmd="$rmprog -f" -mvcmd="$mvprog" -src= -dst= -dir_arg= -dstarg= -no_target_directory= - -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - shift - shift - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t) dstarg=$2 - shift - shift - continue;; - - -T) no_target_directory=true - shift - continue;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac -done - -if test $# -ne 0 && test -z "$dir_arg$dstarg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call `install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src ;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dstarg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dstarg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst ;; - esac - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix=/ ;; - -*) prefix=./ ;; - *) prefix= ;; - esac - - case $posix_glob in - '') - if (set -f) 2>/dev/null; then - posix_glob=true - else - posix_glob=false - fi ;; - esac - - oIFS=$IFS - IFS=/ - $posix_glob && set -f - set fnord $dstdir - shift - $posix_glob && set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dst"; then - $doit $rmcmd -f "$dst" 2>/dev/null \ - || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ - && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ - || { - echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - else - : - fi - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - } || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" -# End: diff --git a/dist/nvi/dist/ltmain.sh b/dist/nvi/dist/ltmain.sh deleted file mode 100644 index 4598ec61c..000000000 --- a/dist/nvi/dist/ltmain.sh +++ /dev/null @@ -1,6930 +0,0 @@ -# ltmain.sh - Provide generalized library-building support services. -# NOTE: Changing this file will not affect anything until you rerun configure. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007 Free Software Foundation, Inc. -# Originally by Gordon Matzigkeit , 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. - -basename="s,^.*/,,g" - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - -# The name of this program: -progname=`echo "$progpath" | $SED $basename` -modename="$progname" - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 - -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.24 -TIMESTAMP=" (1.1220.2.455 2007/06/24 02:13:29)" - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # 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 -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# Check that we have a working $echo. -if test "X$1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X$1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then - # Yippee, $echo works! - : -else - # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$progpath" --no-reexec ${1+"$@"} -fi - -if test "X$1" = X--fallback-echo; then - # used as fallback echo - shift - cat <&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE -fi - -# Global variables. -mode=$default_mode -nonopt= -prev= -prevopt= -run= -show="$echo" -show_help= -execute_dlfiles= -duplicate_deps=no -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -##################################### -# Shell function definitions: -# This seems to be the best place for them - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $mkdir "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || { - $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 - exit $EXIT_FAILURE - } - fi - - $echo "X$my_tmpdir" | $Xsed -} - - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -func_win32_libid () -{ - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then - win32_nmres=`eval $NM -f posix -A $1 | \ - $SED -n -e '1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $echo $win32_libid_type -} - - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - CC_quoted="$CC_quoted $arg" - done - case "$@ " in - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit $EXIT_FAILURE -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - - $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" - $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 - exit $EXIT_FAILURE - fi -} - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - my_status="" - - $show "${rm}r $my_gentop" - $run ${rm}r "$my_gentop" - $show "$mkdir $my_gentop" - $run $mkdir "$my_gentop" - my_status=$? - if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then - exit $my_status - fi - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - extracted_serial=`expr $extracted_serial + 1` - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - $show "${rm}r $my_xdir" - $run ${rm}r "$my_xdir" - $show "$mkdir $my_xdir" - $run $mkdir "$my_xdir" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then - exit $exit_status - fi - case $host in - *-darwin*) - $show "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - if test -z "$run"; then - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` - darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` - if test -n "$darwin_arches"; then - darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - $show "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we have a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` - lipo -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - ${rm}r unfat-$$ - cd "$darwin_orig_dir" - else - cd "$darwin_orig_dir" - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - fi # $run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` - done - func_extract_archives_result="$my_oldobjs" -} -# End of Shell function definitions -##################################### - -# Darwin sucks -eval std_shrext=\"$shrext_cmds\" - -disable_libs=no - -# Parse our command line options once, thoroughly. -while test "$#" -gt 0 -do - arg="$1" - shift - - case $arg in - -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;; - *) optarg= ;; - esac - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - execute_dlfiles) - execute_dlfiles="$execute_dlfiles $arg" - ;; - tag) - tagname="$arg" - preserve_args="${preserve_args}=$arg" - - # Check whether tagname contains only valid characters - case $tagname in - *[!-_A-Za-z0-9,/]*) - $echo "$progname: invalid tag name: $tagname" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $tagname in - CC) - # Don't test for the "default" C tag, as we know, it's there, but - # not specially marked. - ;; - *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then - taglist="$taglist $tagname" - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" - else - $echo "$progname: ignoring unknown tag $tagname" 1>&2 - fi - ;; - esac - ;; - *) - eval "$prev=\$arg" - ;; - esac - - prev= - prevopt= - continue - fi - - # Have we seen a non-optional argument yet? - case $arg in - --help) - show_help=yes - ;; - - --version) - echo "\ -$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP - -Copyright (C) 2007 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." - exit $? - ;; - - --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath - # Now print the configurations for the tags. - for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" - done - exit $? - ;; - - --debug) - $echo "$progname: enabling shell trace mode" - set -x - preserve_args="$preserve_args $arg" - ;; - - --dry-run | -n) - run=: - ;; - - --features) - $echo "host: $host" - if test "$build_libtool_libs" = yes; then - $echo "enable shared libraries" - else - $echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - $echo "enable static libraries" - else - $echo "disable static libraries" - fi - exit $? - ;; - - --finish) mode="finish" ;; - - --mode) prevopt="--mode" prev=mode ;; - --mode=*) mode="$optarg" ;; - - --preserve-dup-deps) duplicate_deps="yes" ;; - - --quiet | --silent) - show=: - preserve_args="$preserve_args $arg" - ;; - - --tag) - prevopt="--tag" - prev=tag - preserve_args="$preserve_args --tag" - ;; - --tag=*) - set tag "$optarg" ${1+"$@"} - shift - prev=tag - preserve_args="$preserve_args --tag" - ;; - - -dlopen) - prevopt="-dlopen" - prev=execute_dlfiles - ;; - - -*) - $echo "$modename: unrecognized option \`$arg'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - - *) - nonopt="$arg" - break - ;; - esac -done - -if test -n "$prevopt"; then - $echo "$modename: option \`$prevopt' requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE -fi - -case $disable_libs in -no) - ;; -shared) - build_libtool_libs=no - build_old_libs=yes - ;; -static) - build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` - ;; -esac - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -if test -z "$show_help"; then - - # Infer the operation mode. - if test -z "$mode"; then - $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2 - $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2 - case $nonopt in - *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*) - mode=link - for arg - do - case $arg in - -c) - mode=compile - break - ;; - esac - done - ;; - *db | *dbx | *strace | *truss) - mode=execute - ;; - *install*|cp|mv) - mode=install - ;; - *rm) - mode=uninstall - ;; - *) - # If we have no mode, but dlfiles were specified, then do execute mode. - test -n "$execute_dlfiles" && mode=execute - - # Just use the default operation mode. - if test -z "$mode"; then - if test -n "$nonopt"; then - $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2 - else - $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2 - fi - fi - ;; - esac - fi - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$execute_dlfiles" && test "$mode" != execute; then - $echo "$modename: unrecognized option \`-dlopen'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$modename --help --mode=$mode' for more information." - - # These modes are in order of execution frequency so that they run quickly. - case $mode in - # libtool compile mode - compile) - modename="$modename: compile" - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - if test -n "$libobj" ; then - $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit $EXIT_FAILURE - fi - arg_mode=target - continue - ;; - - -static | -prefer-pic | -prefer-non-pic) - later="$later $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - lastarg="$lastarg $arg" - done - IFS="$save_ifs" - lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"` - - # Add the arguments to base_compile. - base_compile="$base_compile $lastarg" - continue - ;; - - * ) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"` - - case $lastarg in - # Double-quote args containing other shell metacharacters. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, and some SunOS ksh mistreat backslash-escaping - # in scan sets (worked around with variable expansion), - # and furthermore cannot handle '|' '&' '(' ')' in scan sets - # at all, so we specify them separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - lastarg="\"$lastarg\"" - ;; - esac - - base_compile="$base_compile $lastarg" - done # for arg - - case $arg_mode in - arg) - $echo "$modename: you must specify an argument for -Xcompile" - exit $EXIT_FAILURE - ;; - target) - $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit $EXIT_FAILURE - ;; - *) - # Get the name of the library object. - [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'` - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - xform='[cCFSifmso]' - case $libobj in - *.ada) xform=ada ;; - *.adb) xform=adb ;; - *.ads) xform=ads ;; - *.asm) xform=asm ;; - *.c++) xform=c++ ;; - *.cc) xform=cc ;; - *.ii) xform=ii ;; - *.class) xform=class ;; - *.cpp) xform=cpp ;; - *.cxx) xform=cxx ;; - *.[fF][09]?) xform=[fF][09]. ;; - *.for) xform=for ;; - *.java) xform=java ;; - *.obj) xform=obj ;; - esac - - libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"` - - case $libobj in - *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; - *) - $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -static) - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` - case $qlibobj in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qlibobj="\"$qlibobj\"" ;; - esac - test "X$libobj" != "X$qlibobj" \ - && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." - objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$obj"; then - xdir= - else - xdir=$xdir/ - fi - lobj=${xdir}$objdir/$objname - - if test -z "$base_compile"; then - $echo "$modename: you must specify a compilation command" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - $run $rm $removelist - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $run ln "$progpath" "$lockfile" 2>/dev/null; do - $show "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $echo "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - $echo "$srcfile" > "$lockfile" - fi - - if test -n "$fix_srcfile_path"; then - eval srcfile=\"$fix_srcfile_path\" - fi - qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` - case $qsrcfile in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qsrcfile="\"$qsrcfile\"" ;; - esac - - $run $rm "$libobj" "${libobj}T" - - # Create a libtool object file (analogous to a ".la" file), - # but don't create it if we're doing a dry run. - test -z "$run" && cat > ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - $show "$mv $output_obj $lobj" - if $run $mv $output_obj $lobj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the PIC object to the libtool object file. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T </dev/null`" != "X$srcfile"; then - $echo "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $run $rm $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - $show "$mv $output_obj $obj" - if $run $mv $output_obj $obj; then : - else - error=$? - $run $rm $removelist - exit $error - fi - fi - - # Append the name of the non-PIC object the libtool object file. - # Only append if the libtool object file exists. - test -z "$run" && cat >> ${libobj}T <> ${libobj}T <&2 - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test - ;; - *) qarg=$arg ;; - esac - libtool_args="$libtool_args $qarg" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - compile_command="$compile_command @OUTPUT@" - finalize_command="$finalize_command @OUTPUT@" - ;; - esac - - case $prev in - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - compile_command="$compile_command @SYMFILE@" - finalize_command="$finalize_command @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - dlfiles="$dlfiles $arg" - else - dlprefiles="$dlprefiles $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - if test ! -f "$arg"; then - $echo "$modename: symbol file \`$arg' does not exist" - exit $EXIT_FAILURE - fi - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat $save_arg` - do -# moreargs="$moreargs $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - done - else - $echo "$modename: link input file \`$save_arg' does not exist" - exit $EXIT_FAILURE - fi - arg=$save_arg - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) rpath="$rpath $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) xrpath="$xrpath $arg" ;; - esac - fi - prev= - continue - ;; - xcompiler) - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - xlinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $wl$qarg" - prev= - compile_command="$compile_command $wl$qarg" - finalize_command="$finalize_command $wl$qarg" - continue - ;; - xcclinker) - linker_flags="$linker_flags $qarg" - compiler_flags="$compiler_flags $qarg" - prev= - compile_command="$compile_command $qarg" - finalize_command="$finalize_command $qarg" - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - darwin_framework|darwin_framework_skip) - test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - prev= - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - compile_command="$compile_command $link_static_flag" - finalize_command="$finalize_command $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2 - continue - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: more than one -exported-symbols argument is not allowed" - exit $EXIT_FAILURE - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework|-arch|-isysroot) - case " $CC " in - *" ${arg} ${1} "* | *" ${arg} ${1} "*) - prev=darwin_framework_skip ;; - *) compiler_flags="$compiler_flags $arg" - prev=darwin_framework ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - ;; - esac - continue - ;; - - -L*) - dir=`$echo "X$arg" | $Xsed -e 's/^-L//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - notinst_path="$notinst_path $dir" - fi - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "*) ;; - *) - deplibs="$deplibs -L$dir" - lib_search_path="$lib_search_path $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - *) dllsearchpath="$dllsearchpath:$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - deplibs="$deplibs -framework System" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - deplibs="$deplibs $arg" - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - -model) - compile_command="$compile_command $arg" - compiler_flags="$compiler_flags $arg" - finalize_command="$finalize_command $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - compiler_flags="$compiler_flags $arg" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # -64, -mips[0-9] enable 64-bit mode on the SGI compiler - # -r[0-9][0-9]* specifies the processor on the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler - # +DA*, +DD* enable 64-bit mode on the HP compiler - # -q* pass through compiler args for the IBM compiler - # -m* pass through architecture-specific compiler args for GCC - # -m*, -t[45]*, -txscale* pass through architecture-specific - # compiler args for GCC - # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC - # -F/path gives path to uninstalled frameworks, gcc on darwin - # @file GCC response files - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) - - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - compiler_flags="$compiler_flags $arg" - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2 - $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2 - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - dir=`$echo "X$arg" | $Xsed -e 's/^-R//'` - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit $EXIT_FAILURE - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -Wc,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Wl,*) - args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'` - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - case $flag in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - flag="\"$flag\"" - ;; - esac - arg="$arg $wl$flag" - compiler_flags="$compiler_flags $wl$flag" - linker_flags="$linker_flags $flag" - done - IFS="$save_ifs" - arg=`$echo "X$arg" | $Xsed -e "s/^ //"` - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # Some other compiler flag. - -* | +*) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - - *.$objext) - # A standard object. - objs="$objs $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - pic_object= - non_pic_object= - - # Read the .lo file - # If there is no directory component, then add one. - case $arg in - */* | *\\*) . $arg ;; - *) . ./$arg ;; - esac - - if test -z "$pic_object" || \ - test -z "$non_pic_object" || - test "$pic_object" = none && \ - test "$non_pic_object" = none; then - $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit $EXIT_FAILURE - fi - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - dlfiles="$dlfiles $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - dlprefiles="$dlprefiles $pic_object" - prev= - fi - - # A PIC object. - libobjs="$libobjs $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - non_pic_objects="$non_pic_objects $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if test -z "$run"; then - $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit $EXIT_FAILURE - else - # Dry-run case. - - # Extract subdirectory from the argument. - xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'` - if test "X$xdir" = "X$arg"; then - xdir= - else - xdir="$xdir/" - fi - - pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"` - non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"` - libobjs="$libobjs $pic_object" - non_pic_objects="$non_pic_objects $non_pic_object" - fi - fi - ;; - - *.$libext) - # An archive. - deplibs="$deplibs $arg" - old_deplibs="$old_deplibs $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - dlfiles="$dlfiles $arg" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - dlprefiles="$dlprefiles $arg" - prev= - else - deplibs="$deplibs $arg" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - done # argument parsing loop - - if test -n "$prev"; then - $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - compile_command="$compile_command $arg" - finalize_command="$finalize_command $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'` - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'` - if test "X$output_objdir" = "X$output"; then - output_objdir="$objdir" - else - output_objdir="$output_objdir/$objdir" - fi - # Create the object directory. - if test ! -d "$output_objdir"; then - $show "$mkdir $output_objdir" - $run $mkdir $output_objdir - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then - exit $exit_status - fi - fi - - # Determine the type of output - case $output in - "") - $echo "$modename: you must specify an output file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - case $host in - *cygwin* | *mingw* | *pw32*) - # don't eliminate duplications in $postdeps and $predeps - duplicate_compiler_generated_deps=yes - ;; - *) - duplicate_compiler_generated_deps=$duplicate_deps - ;; - esac - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if test "X$duplicate_deps" = "Xyes" ; then - case "$libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - libs="$libs $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;; - esac - pre_post_deps="$pre_post_deps $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - case $linkmode in - lib) - passes="conv link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - for pass in $passes; do - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - compiler_flags="$compiler_flags $deplib" - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 - continue - fi - name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` - for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if (${SED} -e '2q' $lib | - grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - library_names= - old_library= - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` - ;; - *) - $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'` - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) xrpath="$xrpath $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) lib="$deplib" ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - if eval $echo \"$deplib\" 2>/dev/null \ - | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - $echo - $echo "*** Warning: Trying to link with static lib archive $deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because the file extensions .$libext of this argument makes me believe" - $echo "*** that it is just a static archive that I should not used here." - else - $echo - $echo "*** Warning: Linking the shared library $output against the" - $echo "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - newdlprefiles="$newdlprefiles $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - newdlfiles="$newdlfiles $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - if test "$found" = yes || test -f "$lib"; then : - else - $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2 - exit $EXIT_FAILURE - fi - - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - - ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` - test "X$ladir" = "X$lib" && ladir="." - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && dlfiles="$dlfiles $dlopen" - test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # It is a libtool convenience library, so add in its objects. - convenience="$convenience $ladir/$objdir/$old_library" - old_convenience="$old_convenience $ladir/$objdir/$old_library" - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - elif test "$linkmode" != prog && test "$linkmode" != lib; then - $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit $EXIT_FAILURE - fi - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - for l in $old_library $library_names; do - linklib="$l" - done - if test -z "$linklib"; then - $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - dlprefiles="$dlprefiles $lib $dependency_libs" - else - newdlfiles="$newdlfiles $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2 - $echo "$modename: passing it literally to the linker, although it might fail" 1>&2 - abs_ladir="$ladir" - fi - ;; - esac - laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - $echo "$modename: warning: library \`$lib' was moved." 1>&2 - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$libdir" - absdir="$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - notinst_path="$notinst_path $abs_ladir" - fi - fi # $installed = yes - name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir"; then - $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit $EXIT_FAILURE - fi - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - newdlprefiles="$newdlprefiles $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - newdlprefiles="$newdlprefiles $dir/$dlname" - else - newdlprefiles="$newdlprefiles $dir/$linklib" - fi - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - newlib_search_path="$newlib_search_path $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath " in - *" $dir "*) ;; - *" $absdir "*) ;; - *) temp_rpath="$temp_rpath $absdir" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes ; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - if test "$installed" = no; then - notinst_deplibs="$notinst_deplibs $lib" - need_relink=yes - fi - # This is a shared library - - # Warn about portability, can't link against -module's on - # some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then - $echo - if test "$linkmode" = prog; then - $echo "*** Warning: Linking the executable $output against the loadable module" - else - $echo "*** Warning: Linking the shared library $output against the loadable module" - fi - $echo "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) compile_rpath="$compile_rpath $absdir" - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - realname="$2" - shift; shift - libname=`eval \\$echo \"$libname_spec\"` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw*) - major=`expr $current - $age` - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - soname=`$echo $soroot | ${SED} -e 's/^.*\///'` - newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a" - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - $show "extracting exported symbol list from \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$extract_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - $show "generating import library for \`$soname'" - save_ifs="$IFS"; IFS='~' - cmds=$old_archive_from_expsyms_cmds - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a module then we can not link against - # it, someone is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | - $EGREP ": [^:]* bundle" >/dev/null ; then - $echo "** Warning, lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - $echo - $echo "** And there doesn't seem to be a static archive available" - $echo "** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$dir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - $echo "$modename: configuration error: unsupported hardcode properties" - exit $EXIT_FAILURE - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && \ - test "$hardcode_minus_L" != yes && \ - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - add_dir="$add_dir -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - $echo - $echo "*** Warning: This system can not link to static lib archive $lib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - $echo "*** But as you try to build a module library, libtool will still create " - $echo "*** a static module, that should work as long as the dlopening application" - $echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'` - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) xrpath="$xrpath $temp_xrpath";; - esac;; - *) temp_deplibs="$temp_deplibs $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - newlib_search_path="$newlib_search_path $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - if test "X$duplicate_deps" = "Xyes" ; then - case "$tmp_libs " in - *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; - esac - fi - tmp_libs="$tmp_libs $deplib" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - case $deplib in - -L*) path="$deplib" ;; - *.la) - dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$deplib" && dir="." - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2 - absdir="$dir" - fi - ;; - esac - if grep "^installed=no" $deplib > /dev/null; then - path="$absdir/$objdir" - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - if test "$absdir" != "$libdir"; then - $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 - fi - path="$absdir" - fi - depdepl= - case $host in - *-*-darwin*) - # we do not want to link against static libs, - # but need to link against shared - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$path/$depdepl" ; then - depdepl="$path/$depdepl" - fi - # do not add paths which are already there - case " $newlib_search_path " in - *" $path "*) ;; - *) newlib_search_path="$newlib_search_path $path";; - esac - fi - path="" - ;; - *) - path="-L$path" - ;; - esac - ;; - -l*) - case $host in - *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" - ;; - *) continue ;; - esac - ;; - *) continue ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - case " $deplibs " in - *" $depdepl "*) ;; - *) deplibs="$depdepl $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) lib_search_path="$lib_search_path $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - ;; - *) tmp_libs="$tmp_libs $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - tmp_libs="$tmp_libs $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for archives" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for archives" 1>&2 - fi - - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2 - fi - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - objs="$objs$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - if test "$module" = no; then - $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit $EXIT_FAILURE - else - $echo - $echo "*** Warning: Linking the shared library $output against the non-libtool" - $echo "*** objects $objs is not portable!" - libobjs="$libobjs $objs" - fi - fi - - if test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2 - fi - - set dummy $rpath - if test "$#" -gt 2; then - $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2 - fi - install_libdir="$2" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2 - fi - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - IFS="$save_ifs" - - if test -n "$8"; then - $echo "$modename: too many parameters to \`-version-info'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$2" - number_minor="$3" - number_revision="$4" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - darwin|linux|osf|windows|none) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - current=`expr $number_major + $number_minor` - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$2" - revision="$3" - age="$4" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test "$age" -gt "$current"; then - $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 - $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit $EXIT_FAILURE - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - minor_current=`expr $current + 1` - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current"; - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - major=`expr $current - $age` - else - major=`expr $current - $age + 1` - fi - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - iface=`expr $revision - $loop` - loop=`expr $loop - 1` - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) - major=.`expr $current - $age` - versuffix="$major.$age.$revision" - ;; - - osf) - major=.`expr $current - $age` - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - iface=`expr $current - $loop` - loop=`expr $loop - 1` - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - verstring="$verstring:${current}.0" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - major=`expr $current - $age` - versuffix="-$major" - ;; - - *) - $echo "$modename: unknown library version type \`$version_type'" 1>&2 - $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2 - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - fi - - if test "$mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$echo "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - removelist="$removelist $p" - ;; - *) ;; - esac - done - if test -n "$removelist"; then - $show "${rm}r $removelist" - $run ${rm}r $removelist - fi - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - oldlibs="$oldlibs $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"` - # deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"` - # dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - temp_xrpath="$temp_xrpath -R$libdir" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) dlfiles="$dlfiles $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) dlprefiles="$dlprefiles $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - deplibs="$deplibs -framework System" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - deplibs="$deplibs -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $rm conftest.c - cat > conftest.c </dev/null` - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null \ - | grep " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$file_magic_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for file magic test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a file magic. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method - match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` - for a_deplib in $deplibs; do - name=`expr $a_deplib : '-l\(.*\)'` - # If $name is empty we are operating on a -L argument. - if test -n "$name" && test "$name" != "0"; then - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval \\$echo \"$libname_spec\"` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval $echo \"$potent_lib\" 2>/dev/null \ - | ${SED} 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - newdeplibs="$newdeplibs $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - $echo - $echo "*** Warning: linker path does not have real file for library $a_deplib." - $echo "*** I have the capability to make that library automatically link in when" - $echo "*** you link to this library. But I can only do this if you have a" - $echo "*** shared version of the library, which you do not appear to have" - $echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $echo "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $echo "*** with $libname and none of the candidates passed a file format test" - $echo "*** using a regex pattern. Last file checked: $potlib" - fi - fi - else - # Add a -L argument. - newdeplibs="$newdeplibs $a_deplib" - fi - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \ - -e 's/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"` - done - fi - if $echo "X $tmp_deplibs" | $Xsed -e 's/[ ]//g' \ - | grep . >/dev/null; then - $echo - if test "X$deplibs_check_method" = "Xnone"; then - $echo "*** Warning: inter-library dependencies are not supported in this platform." - else - $echo "*** Warning: inter-library dependencies are not known to be supported." - fi - $echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - fi - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - $echo - $echo "*** Warning: libtool could not satisfy all declared inter-library" - $echo "*** dependencies of module $libname. Therefore, libtool will create" - $echo "*** a static module, that should work as long as the dlopening" - $echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - $echo - $echo "*** However, this would only work if libtool was able to extract symbol" - $echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - $echo "*** not find such a program. So, this module is probably useless." - $echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - $echo "*** The inter-library dependencies that have been dropped here will be" - $echo "*** automatically added whenever a program is linked with this library" - $echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - $echo - $echo "*** Since this library must not contain undefined symbols," - $echo "*** because either the platform does not support them or" - $echo "*** it was explicitly requested with -no-undefined," - $echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - deplibs="$new_libs" - - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - dep_rpath="$dep_rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - if test -n "$hardcode_libdir_flag_spec_ld"; then - case $archive_cmds in - *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; - *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; - esac - else - eval dep_rpath=\"$hardcode_libdir_flag_spec\" - fi - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - realname="$2" - shift; shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - linknames="$linknames $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - if len=`expr "X$cmd" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - $show "$cmd" - $run eval "$cmd" || exit $? - skipped_export=false - else - # The command line is too long to execute in one step. - $show "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex"; then - $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\"" - $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - $show "$mv \"${export_symbols}T\" \"$export_symbols\"" - $run eval '$mv "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"' - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - tmp_deplibs="$tmp_deplibs $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - else - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - libobjs="$libobjs $func_extract_archives_result" - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - linker_flags="$linker_flags $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise. - $echo "creating reloadable object files..." - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - output_la=`$echo "X$output" | $Xsed -e "$basename"` - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - delfiles= - last_robj= - k=1 - output=$output_objdir/$output_la-${k}.$objext - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - eval test_cmds=\"$reload_cmds $objlist $last_robj\" - if test "X$objlist" = X || - { len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; }; then - objlist="$objlist $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - eval concat_cmds=\"$reload_cmds $objlist $last_robj\" - else - # All subsequent reloadable object files will link in - # the last one created. - eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - k=`expr $k + 1` - output=$output_objdir/$output_la-${k}.$objext - objlist=$obj - len=1 - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" - - if ${skipped_export-false}; then - $show "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $run $rm $export_symbols - libobjs=$output - # Append the command to create the export file. - eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\" - fi - - # Set up a command to remove the reloadable object files - # after they are used. - i=0 - while test "$i" -lt "$k" - do - i=`expr $i + 1` - delfiles="$delfiles $output_objdir/$output_la-${i}.$objext" - done - - $echo "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - - # Append the command to remove the reloadable object files - # to the just-reset $cmds. - eval cmds=\"\$cmds~\$rm $delfiles\" - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)" - $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $? - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$deplibs"; then - $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 - fi - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2 - fi - - if test -n "$rpath"; then - $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2 - fi - - if test -n "$xrpath"; then - $echo "$modename: warning: \`-R' is ignored for objects" 1>&2 - fi - - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for objects" 1>&2 - fi - - case $output in - *.lo) - if test -n "$objs$old_deplibs"; then - $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2 - exit $EXIT_FAILURE - fi - libobj="$output" - obj=`$echo "X$output" | $Xsed -e "$lo2o"` - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $run $rm $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - generated="$generated $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $run eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - cmds=$reload_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - fi - - if test -n "$gentop"; then - $show "${rm}r $gentop" - $run ${rm}r $gentop - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;; - esac - if test -n "$vinfo"; then - $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2 - fi - - if test -n "$release"; then - $echo "$modename: warning: \`-release' is ignored for programs" 1>&2 - fi - - if test "$preload" = yes; then - if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown && - test "$dlopen_self_static" = unknown; then - $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support." - fi - fi - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` - ;; - esac - - case $host in - *darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - if test "$tagname" = CXX ; then - compile_command="$compile_command ${wl}-bind_at_load" - finalize_command="$finalize_command ${wl}-bind_at_load" - fi - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - new_libs="$new_libs -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$new_libs $deplib" ;; - esac - ;; - *) new_libs="$new_libs $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - compile_command="$compile_command $compile_deplibs" - finalize_command="$finalize_command $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) finalize_rpath="$finalize_rpath $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) perm_rpath="$perm_rpath $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*) - testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - *) dllsearchpath="$dllsearchpath:$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - *) dllsearchpath="$dllsearchpath:$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - rpath="$rpath $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - fi - - dlsyms= - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - dlsyms="${outputname}S.c" - else - $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2 - fi - fi - - if test -n "$dlsyms"; then - case $dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${outputname}.nm" - - $show "$rm $nlist ${nlist}S ${nlist}T" - $run $rm "$nlist" "${nlist}S" "${nlist}T" - - # Parse the name list into a source file. - $show "creating $output_objdir/$dlsyms" - - test -z "$run" && $echo > "$output_objdir/$dlsyms" "\ -/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */ -/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -/* Prevent the only kind of declaration conflicts we can make. */ -#define lt_preloaded_symbols some_other_symbol - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - $show "generating symbol list for \`$output'" - - test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` - for arg in $progfiles; do - $show "extracting global C symbols from \`$arg'" - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - if test -n "$export_symbols_regex"; then - $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - $run eval '$mv "$nlist"T "$nlist"' - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $run $rm $export_symbols - $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - else - $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - $run eval 'mv "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* ) - $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - fi - fi - - for arg in $dlprefiles; do - $show "extracting global C symbols from \`$arg'" - name=`$echo "$arg" | ${SED} -e 's%^.*/%%'` - $run eval '$echo ": $name " >> "$nlist"' - $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'" - done - - if test -z "$run"; then - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $mv "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if grep -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - grep -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"' - else - $echo '/* NONE */' >> "$output_objdir/$dlsyms" - fi - - $echo >> "$output_objdir/$dlsyms" "\ - -#undef lt_preloaded_symbols - -#if defined (__STDC__) && __STDC__ -# define lt_ptr void * -#else -# define lt_ptr char * -# define const -#endif - -/* The mapping between symbol names and symbols. */ -" - - case $host in - *cygwin* | *mingw* ) - $echo >> "$output_objdir/$dlsyms" "\ -/* DATA imports from DLLs on WIN32 can't be const, because - runtime relocations are performed -- see ld's documentation - on pseudo-relocs */ -struct { -" - ;; - * ) - $echo >> "$output_objdir/$dlsyms" "\ -const struct { -" - ;; - esac - - - $echo >> "$output_objdir/$dlsyms" "\ - const char *name; - lt_ptr address; -} -lt_preloaded_symbols[] = -{\ -" - - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms" - - $echo >> "$output_objdir/$dlsyms" "\ - {0, (lt_ptr) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - fi - - pic_flag_for_symtable= - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";; - esac;; - *-*-hpux*) - case "$compile_command " in - *" -static "*) ;; - *) pic_flag_for_symtable=" $pic_flag";; - esac - esac - - # Now compile the dynamic symbol file. - $show "(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" - $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $? - - # Clean up the generated files. - $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T" - $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T" - - # Transform the symbol file into the correct name. - case $host in - *cygwin* | *mingw* ) - if test -f "$output_objdir/${outputname}.def" ; then - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` - else - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - fi - ;; - * ) - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` - ;; - esac - ;; - *) - $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 - exit $EXIT_FAILURE - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` - fi - - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - # Replace the output file specification. - compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - $show "$link_command" - $run eval "$link_command" - exit_status=$? - - # Delete the generated files. - if test -n "$dlsyms"; then - $show "$rm $output_objdir/${outputname}S.${objext}" - $run $rm "$output_objdir/${outputname}S.${objext}" - fi - - exit $exit_status - fi - - if test -n "$shlibpath_var"; then - # We should set the shlibpath_var - rpath= - for dir in $temp_rpath; do - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) - # Absolute path. - rpath="$rpath$dir:" - ;; - *) - # Relative path: add a thisdir entry. - rpath="$rpath\$thisdir/$dir:" - ;; - esac - done - temp_rpath="$rpath" - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - rpath="$rpath$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - rpath="$rpath$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $run $rm $output - # Link the executable and exit - $show "$link_command" - $run eval "$link_command" || exit $? - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2 - $echo "$modename: \`$output' will be relinked during installation" 1>&2 - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname - - $show "$link_command" - $run eval "$link_command" || exit $? - - # Now create the wrapper script. - $show "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - fi - - # Quote $echo for shipping. - if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then - case $progpath in - [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; - *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; - esac - qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"` - else - qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"` - fi - - # Only actually do things if our run command is non-null. - if test -z "$run"; then - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - output_name=`basename $output` - output_path=`dirname $output` - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $rm $cwrappersource $cwrapper - trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - cat > $cwrappersource <> $cwrappersource<<"EOF" -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -/* -DDEBUG is fairly common in CFLAGS. */ -#undef DEBUG -#if defined DEBUGWRAPPER -# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) -#else -# define DEBUG(format, ...) -#endif - -const char *program_name = NULL; - -void * xmalloc (size_t num); -char * xstrdup (const char *string); -const char * base_name (const char *name); -char * find_executable(const char *wrapper); -int check_executable(const char *path); -char * strendzap(char *str, const char *pat); -void lt_fatal (const char *message, ...); - -int -main (int argc, char *argv[]) -{ - char **newargz; - int i; - - program_name = (char *) xstrdup (base_name (argv[0])); - DEBUG("(main) argv[0] : %s\n",argv[0]); - DEBUG("(main) program_name : %s\n",program_name); - newargz = XMALLOC(char *, argc+2); -EOF - - cat >> $cwrappersource <> $cwrappersource <<"EOF" - newargz[1] = find_executable(argv[0]); - if (newargz[1] == NULL) - lt_fatal("Couldn't find %s", argv[0]); - DEBUG("(main) found exe at : %s\n",newargz[1]); - /* we know the script has the same name, without the .exe */ - /* so make sure newargz[1] doesn't end in .exe */ - strendzap(newargz[1],".exe"); - for (i = 1; i < argc; i++) - newargz[i+1] = xstrdup(argv[i]); - newargz[argc+1] = NULL; - - for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" - return 127; -} - -void * -xmalloc (size_t num) -{ - void * p = (void *) malloc (num); - if (!p) - lt_fatal ("Memory exhausted"); - - return p; -} - -char * -xstrdup (const char *string) -{ - return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL -; -} - -const char * -base_name (const char *name) -{ - const char *base; - -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - /* Skip over the disk name in MSDOS pathnames. */ - if (isalpha ((unsigned char)name[0]) && name[1] == ':') - name += 2; -#endif - - for (base = name; *name; name++) - if (IS_DIR_SEPARATOR (*name)) - base = name + 1; - return base; -} - -int -check_executable(const char * path) -{ - struct stat st; - - DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); - if ((!path) || (!*path)) - return 0; - - if ((stat (path, &st) >= 0) && - ( - /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ -#if defined (S_IXOTH) - ((st.st_mode & S_IXOTH) == S_IXOTH) || -#endif -#if defined (S_IXGRP) - ((st.st_mode & S_IXGRP) == S_IXGRP) || -#endif - ((st.st_mode & S_IXUSR) == S_IXUSR)) - ) - return 1; - else - return 0; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise */ -char * -find_executable (const char* wrapper) -{ - int has_slash = 0; - const char* p; - const char* p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char* concat_name; - - DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char* path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char* q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR(*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal ("getcwd failed"); - tmp_len = strlen(tmp); - concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable(concat_name)) - return concat_name; - XFREE(concat_name); - return NULL; -} - -char * -strendzap(char *str, const char *pat) -{ - size_t len, patlen; - - assert(str != NULL); - assert(pat != NULL); - - len = strlen(str); - patlen = strlen(pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp(str, pat) == 0) - *str = '\0'; - } - return str; -} - -static void -lt_error_core (int exit_status, const char * mode, - const char * message, va_list ap) -{ - fprintf (stderr, "%s: %s: ", program_name, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, "FATAL", message, ap); - va_end (ap); -} -EOF - # we should really use a build-platform specific compiler - # here, but OTOH, the wrappers (shell script and this C one) - # are only useful if you want to execute the "real" binary. - # Since the "real" binary is built for $host, then this - # wrapper might as well be built for $host, too. - $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource - ;; - esac - $rm $output - trap "$rm $output; exit $EXIT_FAILURE" 1 2 15 - - $echo > $output "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed='${SED} -e 1s/^X//' -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # 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 -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variable: - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$echo are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - echo=\"$qecho\" - file=\"\$0\" - # Make sure echo works. - if test \"X\$1\" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift - elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then - # Yippee, \$echo works! - : - else - # Restart under the correct shell, and then maybe \$echo will work. - exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"} - fi - fi\ -" - $echo >> $output "\ - - # Find the directory that this script lives in. - thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\` - done - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $echo >> $output "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || \\ - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $mkdir \"\$progdir\" - else - $rm \"\$progdir/\$file\" - fi" - - $echo >> $output "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $echo \"\$relink_command_output\" >&2 - $rm \"\$progdir/\$file\" - exit $EXIT_FAILURE - fi - fi - - $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $rm \"\$progdir/\$program\"; - $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $rm \"\$progdir/\$file\" - fi" - else - $echo >> $output "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $echo >> $output "\ - - if test -f \"\$progdir/\$program\"; then" - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $echo >> $output "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` - - export $shlibpath_var -" - fi - - # fixup the dll searchpath if we need to. - if test -n "$dllsearchpath"; then - $echo >> $output "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - $echo >> $output "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2*) - $echo >> $output "\ - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $echo >> $output "\ - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $echo >> $output "\ - \$echo \"\$0: cannot exec \$program \$*\" - exit $EXIT_FAILURE - fi - else - # The program doesn't exist. - \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$echo \"This script is just a wrapper for \$program.\" 1>&2 - $echo \"See the $PACKAGE documentation for more information.\" 1>&2 - exit $EXIT_FAILURE - fi -fi\ -" - chmod +x $output - fi - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - func_extract_archives $gentop $addlibs - oldobjs="$oldobjs $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - $echo "X$obj" | $Xsed -e 's%^.*/%%' - done | sort | sort -uc >/dev/null 2>&1); then - : - else - $echo "copying selected object files to avoid basename conflicts..." - - if test -z "$gentop"; then - gentop="$output_objdir/${outputname}x" - generated="$generated $gentop" - - $show "${rm}r $gentop" - $run ${rm}r "$gentop" - $show "$mkdir $gentop" - $run $mkdir "$gentop" - exit_status=$? - if test "$exit_status" -ne 0 && test ! -d "$gentop"; then - exit $exit_status - fi - fi - - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - counter=`expr $counter + 1` - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - $run ln "$obj" "$gentop/$newobj" || - $run cp "$obj" "$gentop/$newobj" - oldobjs="$oldobjs $gentop/$newobj" - ;; - *) oldobjs="$oldobjs $obj" ;; - esac - done - fi - - eval cmds=\"$old_archive_cmds\" - - if len=`expr "X$cmds" : ".*"` && - test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - $echo "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - for obj in $save_oldobjs - do - oldobjs="$objlist $obj" - objlist="$objlist $obj" - eval test_cmds=\"$old_archive_cmds\" - if len=`expr "X$test_cmds" : ".*" 2>/dev/null` && - test "$len" -le "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - eval cmd=\"$cmd\" - IFS="$save_ifs" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$generated"; then - $show "${rm}r$generated" - $run ${rm}r$generated - fi - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - $show "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"` - relink_command="$var=\"$var_value\"; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - - # Only create the output if not a dry run. - if test -z "$run"; then - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - if test -z "$libdir"; then - $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdependency_libs="$newdependency_libs $libdir/$name" - ;; - *) newdependency_libs="$newdependency_libs $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - for lib in $dlfiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlfiles="$newdlfiles $libdir/$name" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'` - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - if test -z "$libdir"; then - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit $EXIT_FAILURE - fi - newdlprefiles="$newdlprefiles $libdir/$name" - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlfiles="$newdlfiles $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - newdlprefiles="$newdlprefiles $abs" - done - dlprefiles="$newdlprefiles" - fi - $rm $output - # place dlname in correct position for cygwin - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; - esac - $echo > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $echo >> $output "\ -relink_command=\"$relink_command\"" - fi - done - fi - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)" - $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $? - ;; - esac - exit $EXIT_SUCCESS - ;; - - # libtool install mode - install) - modename="$modename: install" - - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - $echo "X$nonopt" | grep shtool > /dev/null; then - # Aesthetically quote it. - arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$arg " - arg="$1" - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog$arg" - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - for arg - do - if test -n "$dest"; then - files="$files $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - case " $install_prog " in - *[\\\ /]cp\ *) ;; - *) prev=$arg ;; - esac - ;; - -g | -m | -o) prev=$arg ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"` - case $arg in - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - arg="\"$arg\"" - ;; - esac - install_prog="$install_prog $arg" - done - - if test -z "$install_prog"; then - $echo "$modename: you must specify an install program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$prev"; then - $echo "$modename: the \`$prev' option requires an argument" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - if test -z "$files"; then - if test -z "$dest"; then - $echo "$modename: no file or destination specified" 1>&2 - else - $echo "$modename: you must specify a destination" 1>&2 - fi - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Strip any trailing slash from the destination. - dest=`$echo "X$dest" | $Xsed -e 's%/$%%'` - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'` - test "X$destdir" = "X$dest" && destdir=. - destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'` - - # Not a directory, so check to see that there is only one file specified. - set dummy $files - if test "$#" -gt 2; then - $echo "$modename: \`$dest' is not a directory" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - staticlibs="$staticlibs $file" - ;; - - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$file' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - library_names= - old_library= - relink_command= - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) current_libdirs="$current_libdirs $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) future_libdirs="$future_libdirs $libdir" ;; - esac - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/ - test "X$dir" = "X$file/" && dir= - dir="$dir$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - if test "$inst_prefix_dir" = "$destdir"; then - $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2 - exit $EXIT_FAILURE - fi - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` - else - relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` - fi - - $echo "$modename: warning: relinking \`$file'" 1>&2 - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - exit $EXIT_FAILURE - fi - fi - - # See the names of the shared library. - set dummy $library_names - if test -n "$2"; then - realname="$2" - shift - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - $show "$install_prog $dir/$srcname $destdir/$realname" - $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $? - if test -n "$stripme" && test -n "$striplib"; then - $show "$striplib $destdir/$realname" - $run eval "$striplib $destdir/$realname" || exit $? - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - if test "$linkname" != "$realname"; then - $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" - fi - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - cmds=$postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$mode" = relink; then - $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - fi - - # Install the pseudo-library for information purposes. - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - instname="$dir/$name"i - $show "$install_prog $instname $destdir/$name" - $run eval "$install_prog $instname $destdir/$name" || exit $? - - # Maybe install the static library, too. - test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"` - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - # Install the libtool object if requested. - if test -n "$destfile"; then - $show "$install_prog $file $destfile" - $run eval "$install_prog $file $destfile" || exit $? - fi - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - staticobj=`$echo "X$file" | $Xsed -e "$lo2o"` - - $show "$install_prog $staticobj $staticdest" - $run eval "$install_prog \$staticobj \$staticdest" || exit $? - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - file=`$echo $file|${SED} 's,.exe$,,'` - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin*|*mingw*) - wrapper=`$echo $file | ${SED} -e 's,.exe$,,'` - ;; - *) - wrapper=$file - ;; - esac - if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then - notinst_deplibs= - relink_command= - - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - # Check the variables that should have been set. - if test -z "$notinst_deplibs"; then - $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2 - exit $EXIT_FAILURE - fi - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - # If there is no directory component, then add one. - case $lib in - */* | *\\*) . $lib ;; - *) . ./$lib ;; - esac - fi - libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2 - finalize=no - fi - done - - relink_command= - # Note that it is not necessary on cygwin/mingw to append a dot to - # foo even if both foo and FILE.exe exist: automatic-append-.exe - # behavior happens only for exec(3), not for open(2)! Also, sourcing - # `FILE.' does not work on cygwin managed mounts. - # - # If there is no directory component, then add one. - case $wrapper in - */* | *\\*) . ${wrapper} ;; - *) . ./${wrapper} ;; - esac - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - if test "$finalize" = yes && test -z "$run"; then - tmpdir=`func_mktempdir` - file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` - - $show "$relink_command" - if $run eval "$relink_command"; then : - else - $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2 - ${rm}r "$tmpdir" - continue - fi - file="$outputname" - else - $echo "$modename: warning: cannot relink \`$file'" 1>&2 - fi - else - # Install the binary that we compiled earlier. - file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'` - ;; - esac - ;; - esac - $show "$install_prog$stripme $file $destfile" - $run eval "$install_prog\$stripme \$file \$destfile" || exit $? - test -n "$outputname" && ${rm}r "$tmpdir" - ;; - esac - done - - for file in $staticlibs; do - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - - $show "$install_prog $file $oldlib" - $run eval "$install_prog \$file \$oldlib" || exit $? - - if test -n "$stripme" && test -n "$old_striplib"; then - $show "$old_striplib $oldlib" - $run eval "$old_striplib $oldlib" || exit $? - fi - - # Do each command in the postinstall commands. - cmds=$old_postinstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || exit $? - done - IFS="$save_ifs" - done - - if test -n "$future_libdirs"; then - $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2 - fi - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - test -n "$run" && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi - ;; - - # libtool finish mode - finish) - modename="$modename: finish" - libdirs="$nonopt" - admincmds= - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for dir - do - libdirs="$libdirs $dir" - done - - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - cmds=$finish_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" || admincmds="$admincmds - $cmd" - done - IFS="$save_ifs" - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $run eval "$cmds" || admincmds="$admincmds - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - test "$show" = : && exit $EXIT_SUCCESS - - $echo "X----------------------------------------------------------------------" | $Xsed - $echo "Libraries have been installed in:" - for libdir in $libdirs; do - $echo " $libdir" - done - $echo - $echo "If you ever happen to want to link against installed libraries" - $echo "in a given directory, LIBDIR, you must either use libtool, and" - $echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - $echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - $echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - $echo " during execution" - fi - if test -n "$runpath_var"; then - $echo " - add LIBDIR to the \`$runpath_var' environment variable" - $echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $echo " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $echo " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - $echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - $echo - $echo "See any operating system documentation about shared libraries for" - $echo "more information, such as the ld(1) and ld.so(8) manual pages." - $echo "X----------------------------------------------------------------------" | $Xsed - exit $EXIT_SUCCESS - ;; - - # libtool execute mode - execute) - modename="$modename: execute" - - # The first argument is the command name. - cmd="$nonopt" - if test -z "$cmd"; then - $echo "$modename: you must specify a COMMAND" 1>&2 - $echo "$help" - exit $EXIT_FAILURE - fi - - # Handle -dlopen flags immediately. - for file in $execute_dlfiles; do - if test ! -f "$file"; then - $echo "$modename: \`$file' is not a file" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - dir= - case $file in - *.la) - # Check to see that this really is a libtool archive. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : - else - $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Read the libtool library. - dlname= - library_names= - - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'" - continue - fi - - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - - if test -f "$dir/$objdir/$dlname"; then - dir="$dir/$objdir" - else - if test ! -f "$dir/$dlname"; then - $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 - exit $EXIT_FAILURE - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - test "X$dir" = "X$file" && dir=. - ;; - - *) - $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2 - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -*) ;; - *) - # Do a test to see if this is really a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - # If there is no directory component, then add one. - case $file in - */* | *\\*) . $file ;; - *) . ./$file ;; - esac - - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"` - args="$args \"$file\"" - done - - if test -z "$run"; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" - $echo "export $shlibpath_var" - fi - $echo "$cmd$args" - exit $EXIT_SUCCESS - fi - ;; - - # libtool clean and uninstall mode - clean | uninstall) - modename="$modename: $mode" - rm="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) rm="$rm $arg"; rmforce=yes ;; - -*) rm="$rm $arg" ;; - *) files="$files $arg" ;; - esac - done - - if test -z "$rm"; then - $echo "$modename: you must specify an RM program" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - fi - - rmdirs= - - origobjdir="$objdir" - for file in $files; do - dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'` - if test "X$dir" = "X$file"; then - dir=. - objdir="$origobjdir" - else - objdir="$dir/$origobjdir" - fi - name=`$echo "X$file" | $Xsed -e 's%^.*/%%'` - test "$mode" = uninstall && objdir="$dir" - - # Remember objdir for removal later, being careful to avoid duplicates - if test "$mode" = clean; then - case " $rmdirs " in - *" $objdir "*) ;; - *) rmdirs="$rmdirs $objdir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if (test -L "$file") >/dev/null 2>&1 \ - || (test -h "$file") >/dev/null 2>&1 \ - || test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - . $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - rmfiles="$rmfiles $objdir/$n" - done - test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library" - - case "$mode" in - clean) - case " $library_names " in - # " " in the beginning catches empty $dlname - *" $dlname "*) ;; - *) rmfiles="$rmfiles $objdir/$dlname" ;; - esac - test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - cmds=$postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - cmds=$old_postuninstall_cmds - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $show "$cmd" - $run eval "$cmd" - if test "$?" -ne 0 && test "$rmforce" != yes; then - exit_status=1 - fi - done - IFS="$save_ifs" - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - - # Read the .lo file - . $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" \ - && test "$pic_object" != none; then - rmfiles="$rmfiles $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" \ - && test "$non_pic_object" != none; then - rmfiles="$rmfiles $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$mode" = clean ; then - noexename=$name - case $file in - *.exe) - file=`$echo $file|${SED} 's,.exe$,,'` - noexename=`$echo $name|${SED} 's,.exe$,,'` - # $file with .exe has already been added to rmfiles, - # add $file without .exe - rmfiles="$rmfiles $file" - ;; - esac - # Do a test to see if this is a libtool program. - if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then - relink_command= - . $dir/$noexename - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - rmfiles="$rmfiles $objdir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - rmfiles="$rmfiles $objdir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - $show "$rm $rmfiles" - $run $rm $rmfiles || exit_status=1 - done - objdir="$origobjdir" - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - $show "rmdir $dir" - $run rmdir $dir >/dev/null 2>&1 - fi - done - - exit $exit_status - ;; - - "") - $echo "$modename: you must specify a MODE" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - ;; - esac - - if test -z "$exec_cmd"; then - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$generic_help" 1>&2 - exit $EXIT_FAILURE - fi -fi # test -z "$show_help" - -if test -n "$exec_cmd"; then - eval exec $exec_cmd - exit $EXIT_FAILURE -fi - -# We need to display help for each of the modes. -case $mode in -"") $echo \ -"Usage: $modename [OPTION]... [MODE-ARG]... - -Provide generalized library-building support services. - - --config show all configuration variables - --debug enable verbose shell tracing --n, --dry-run display commands without modifying any files - --features display basic configuration information and exit - --finish same as \`--mode=finish' - --help display this help message and exit - --mode=MODE use operation mode MODE [default=inferred from MODE-ARGS] - --quiet same as \`--silent' - --silent don't print informational messages - --tag=TAG use configuration variables from tag TAG - --version print version information - -MODE must be one of the following: - - clean remove files from the build directory - compile compile a source file into a libtool object - execute automatically set library path, then run a program - finish complete the installation of libtool libraries - install install libraries or executables - link create a library or an executable - uninstall remove libraries from an installed directory - -MODE-ARGS vary depending on the MODE. Try \`$modename --help --mode=MODE' for -a more detailed description of MODE. - -Report bugs to ." - exit $EXIT_SUCCESS - ;; - -clean) - $echo \ -"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - -compile) - $echo \ -"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -prefer-pic try to building PIC objects only - -prefer-non-pic try to building non-PIC objects only - -static always build a \`.o' file suitable for static linking - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - -execute) - $echo \ -"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - -finish) - $echo \ -"Usage: $modename [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - -install) - $echo \ -"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - -link) - $echo \ -"Usage: $modename [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - -uninstall) - $echo \ -"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - -*) - $echo "$modename: invalid operation mode \`$mode'" 1>&2 - $echo "$help" 1>&2 - exit $EXIT_FAILURE - ;; -esac - -$echo -$echo "Try \`$modename --help' for more information about other modes." - -exit $? - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -disable_libs=shared -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -disable_libs=static -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: diff --git a/dist/nvi/dist/missing b/dist/nvi/dist/missing deleted file mode 100644 index 0a7fb5a2a..000000000 --- a/dist/nvi/dist/missing +++ /dev/null @@ -1,283 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. -# Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard , 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, 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., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, 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. - -if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 -fi - -run=: - -# In the cases where this matters, `missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi - -case "$1" in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails - -Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c - makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch]" - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.3 - GNU automake" - ;; - - -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" - exit 1 - ;; - - aclocal) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case "$f" in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; - - automake) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - bison|yacc) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package - in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." - rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if [ ! -f y.tab.h ]; then - echo >y.tab.h - fi - if [ ! -f y.tab.c ]; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex|flex) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package - in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." - rm -f lex.yy.c - if [ $# -ne 1 ]; then - eval LASTARG="\${$#}" - case "$LASTARG" in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if [ ! -f lex.yy.c ]; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man) - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." - - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit 1 - fi - ;; - - makeinfo) - if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then - # We have makeinfo, but it failed. - exit 1 - fi - - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi - touch $file - ;; - - tar) - shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar ${1+"$@"} && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar ${1+"$@"} && exit 0 - fi - firstarg="$1" - if shift; then - case "$firstarg" in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - case "$firstarg" in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" ${1+"$@"} && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - - *) - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, - it often tells you about the needed prerequirements for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." - exit 1 - ;; -esac - -exit 0 diff --git a/dist/nvi/dist/mkinstalldirs b/dist/nvi/dist/mkinstalldirs deleted file mode 100644 index f35df973f..000000000 --- a/dist/nvi/dist/mkinstalldirs +++ /dev/null @@ -1,40 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -# Id: mkinstalldirs,v 8.3 2001/08/27 19:52:59 skimo Exp - -errstatus=0 - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case "$pathcomp" in - -* ) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# mkinstalldirs ends here diff --git a/dist/nvi/ex/ex.awk b/dist/nvi/ex/ex.awk deleted file mode 100644 index 9cbb53f20..000000000 --- a/dist/nvi/ex/ex.awk +++ /dev/null @@ -1,6 +0,0 @@ -# Id: ex.awk,v 10.1 1995/06/08 18:55:37 bostic Exp (Berkeley) Date: 1995/06/08 18:55:37 - -/^\/\* C_[0-9A-Z_]* \*\/$/ { - printf("#define %s %d\n", $2, cnt++); - next; -} diff --git a/dist/nvi/ex/ex_def.h b/dist/nvi/ex/ex_def.h deleted file mode 100644 index 8854f4b7d..000000000 --- a/dist/nvi/ex/ex_def.h +++ /dev/null @@ -1,83 +0,0 @@ -/* $NetBSD: ex_def.h,v 1.2 2008/10/29 17:50:49 christos Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -#define C_SCROLL 0 -#define C_BANG 1 -#define C_HASH 2 -#define C_SUBAGAIN 3 -#define C_STAR 4 -#define C_SHIFTL 5 -#define C_EQUAL 6 -#define C_SHIFTR 7 -#define C_AT 8 -#define C_APPEND 9 -#define C_ABBR 10 -#define C_ARGS 11 -#define C_BG 12 -#define C_CHANGE 13 -#define C_CD 14 -#define C_CHDIR 15 -#define C_COPY 16 -#define C_CSCOPE 17 -#define C_DELETE 18 -#define C_DISPLAY 19 -#define C_EDIT 20 -#define C_EX 21 -#define C_EXUSAGE 22 -#define C_FILE 23 -#define C_FG 24 -#define C_GLOBAL 25 -#define C_HELP 26 -#define C_INSERT 27 -#define C_JOIN 28 -#define C_K 29 -#define C_LIST 30 -#define C_MOVE 31 -#define C_MARK 32 -#define C_MAP 33 -#define C_MKEXRC 34 -#define C_NEXT 35 -#define C_NUMBER 36 -#define C_OPEN 37 -#define C_PRINT 38 -#define C_PERLCMD 39 -#define C_PERLDOCMD 40 -#define C_PRESERVE 41 -#define C_PREVIOUS 42 -#define C_PUT 43 -#define C_QUIT 44 -#define C_READ 45 -#define C_RECOVER 46 -#define C_RESIZE 47 -#define C_REWIND 48 -#define C_RTAG 49 -#define C_SUBSTITUTE 50 -#define C_SCRIPT 51 -#define C_SET 52 -#define C_SHELL 53 -#define C_SOURCE 54 -#define C_STOP 55 -#define C_SUSPEND 56 -#define C_T 57 -#define C_TAG 58 -#define C_TAGNEXT 59 -#define C_TAGPOP 60 -#define C_TAGPREV 61 -#define C_TAGTOP 62 -#define C_TCLCMD 63 -#define C_UNDO 64 -#define C_UNABBREVIATE 65 -#define C_UNMAP 66 -#define C_V 67 -#define C_VERSION 68 -#define C_VISUAL_EX 69 -#define C_VISUAL_VI 70 -#define C_VIUSAGE 71 -#define C_VSPLIT 72 -#define C_WRITE 73 -#define C_WN 74 -#define C_WQ 75 -#define C_XIT 76 -#define C_YANK 77 -#define C_Z 78 -#define C_SUBTILDE 79 diff --git a/dist/nvi/ex/extern.h b/dist/nvi/ex/extern.h deleted file mode 100644 index 4703ec788..000000000 --- a/dist/nvi/ex/extern.h +++ /dev/null @@ -1,133 +0,0 @@ -/* $NetBSD: extern.h,v 1.4 2009/11/14 23:40:11 christos Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int ex __P((SCR **)); -int ex_cmd __P((SCR *)); -int ex_range __P((SCR *, EXCMD *, int *)); -int ex_is_abbrev __P((SCR *, CHAR_T *, size_t)); -int ex_is_unmap __P((SCR *, CHAR_T *, size_t)); -void ex_badaddr - __P((SCR *, EXCMDLIST const *, enum badaddr, enum nresult)); -int ex_abbr __P((SCR *, EXCMD *)); -int ex_unabbr __P((SCR *, EXCMD *)); -int ex_append __P((SCR *, EXCMD *)); -int ex_change __P((SCR *, EXCMD *)); -int ex_insert __P((SCR *, EXCMD *)); -int ex_next __P((SCR *, EXCMD *)); -int ex_prev __P((SCR *, EXCMD *)); -int ex_rew __P((SCR *, EXCMD *)); -int ex_args __P((SCR *, EXCMD *)); -char **ex_buildargv __P((SCR *, EXCMD *, char *)); -int argv_init __P((SCR *, EXCMD *)); -int argv_exp0 __P((SCR *, EXCMD *, const CHAR_T *, size_t)); -int argv_exp1 __P((SCR *, EXCMD *, const CHAR_T *, size_t, int)); -int argv_exp2 __P((SCR *, EXCMD *, const CHAR_T *, size_t)); -int argv_exp3 __P((SCR *, EXCMD *, const CHAR_T *, size_t)); -int argv_free __P((SCR *)); -int ex_at __P((SCR *, EXCMD *)); -int ex_bang __P((SCR *, EXCMD *)); -int ex_cd __P((SCR *, EXCMD *)); -int ex_cscope __P((SCR *, EXCMD *)); -int cscope_display __P((SCR *)); -int cscope_search __P((SCR *, TAGQ *, TAG *)); -int ex_delete __P((SCR *, EXCMD *)); -int ex_display __P((SCR *, EXCMD *)); -int ex_edit __P((SCR *, EXCMD *)); -int ex_equal __P((SCR *, EXCMD *)); -int ex_file __P((SCR *, EXCMD *)); -int ex_filter __P((SCR *, - EXCMD *, MARK *, MARK *, MARK *, CHAR_T *, enum filtertype)); -int ex_global __P((SCR *, EXCMD *)); -int ex_v __P((SCR *, EXCMD *)); -int ex_g_insdel __P((SCR *, lnop_t, db_recno_t)); -int ex_screen_copy __P((SCR *, SCR *)); -int ex_screen_end __P((SCR *)); -int ex_optchange __P((SCR *, int, const char *, u_long *)); -int ex_exrc __P((SCR *)); -int ex_run_str __P((SCR *, const char *, const CHAR_T *, size_t, int, int)); -int ex_join __P((SCR *, EXCMD *)); -int ex_map __P((SCR *, EXCMD *)); -int ex_unmap __P((SCR *, EXCMD *)); -int ex_mark __P((SCR *, EXCMD *)); -int ex_mkexrc __P((SCR *, EXCMD *)); -int ex_copy __P((SCR *, EXCMD *)); -int ex_move __P((SCR *, EXCMD *)); -int ex_open __P((SCR *, EXCMD *)); -int ex_perl __P((SCR*, EXCMD *)); -int ex_preserve __P((SCR *, EXCMD *)); -int ex_recover __P((SCR *, EXCMD *)); -int ex_list __P((SCR *, EXCMD *)); -int ex_number __P((SCR *, EXCMD *)); -int ex_pr __P((SCR *, EXCMD *)); -int ex_print __P((SCR *, EXCMD *, MARK *, MARK *, u_int32_t)); -int ex_ldisplay __P((SCR *, const CHAR_T *, size_t, size_t, u_int)); -int ex_scprint __P((SCR *, MARK *, MARK *)); -int ex_printf __P((SCR *, const char *, ...)) - __attribute__((__format__(__printf__, 2, 3))); -int ex_puts __P((SCR *, const char *)); -int ex_fflush __P((SCR *sp)); -int ex_put __P((SCR *, EXCMD *)); -int ex_quit __P((SCR *, EXCMD *)); -int ex_read __P((SCR *, EXCMD *)); -int ex_readfp __P((SCR *, const char *, FILE *, MARK *, db_recno_t *, int)); -int ex_bg __P((SCR *, EXCMD *)); -int ex_fg __P((SCR *, EXCMD *)); -int ex_resize __P((SCR *, EXCMD *)); -int ex_sdisplay __P((SCR *)); -int ex_script __P((SCR *, EXCMD *)); -int sscr_exec __P((SCR *, db_recno_t)); -int sscr_check_input __P((SCR *sp, fd_set *rdfd, int maxfd)); -int sscr_input __P((SCR *)); -int sscr_end __P((SCR *)); -int ex_set __P((SCR *, EXCMD *)); -int ex_shell __P((SCR *, EXCMD *)); -int ex_exec_proc __P((SCR *, EXCMD *, const char *, const char *, int)); -int proc_wait __P((SCR *, long, const char *, int, int)); -int ex_shiftl __P((SCR *, EXCMD *)); -int ex_shiftr __P((SCR *, EXCMD *)); -int ex_source __P((SCR *, EXCMD *)); -int ex_stop __P((SCR *, EXCMD *)); -int ex_s __P((SCR *, EXCMD *)); -int ex_subagain __P((SCR *, EXCMD *)); -int ex_subtilde __P((SCR *, EXCMD *)); -int re_compile __P((SCR *, - CHAR_T *, size_t, CHAR_T **, size_t *, regex_t *, u_int)); -void re_error __P((SCR *, int, regex_t *)); -int ex_tag_first __P((SCR *, const CHAR_T *)); -int ex_rtag_push __P((SCR *, EXCMD *)); -int ex_tag_push __P((SCR *, EXCMD *)); -int ex_tag_next __P((SCR *, EXCMD *)); -int ex_tag_prev __P((SCR *, EXCMD *)); -int ex_tag_nswitch __P((SCR *, TAG *, int)); -int ex_tag_Nswitch __P((SCR *, TAG *, int)); -int ex_tag_pop __P((SCR *, EXCMD *)); -int ex_tag_top __P((SCR *, EXCMD *)); -int ex_tag_display __P((SCR *)); -int ex_tag_copy __P((SCR *, SCR *)); -int tagq_free __P((SCR *, TAGQ *)); -int tagq_push __P((SCR*, TAGQ*, int, int )); -void tag_msg __P((SCR *, tagmsg_t, char *)); -int ex_tagf_alloc __P((SCR *, const char *)); -int ex_tag_free __P((SCR *)); -int ex_tcl __P((SCR*, EXCMD *)); -int ex_txt __P((SCR *, TEXTH *, ARG_CHAR_T, u_int32_t)); -int ex_undo __P((SCR *, EXCMD *)); -int ex_help __P((SCR *, EXCMD *)); -int ex_usage __P((SCR *, EXCMD *)); -int ex_viusage __P((SCR *, EXCMD *)); -void ex_cinit __P((SCR *, EXCMD *, int, int, db_recno_t, db_recno_t, int)); -int ex_getline __P((SCR *, FILE *, size_t *)); -int ex_ncheck __P((SCR *, int)); -int ex_init __P((SCR *)); -void ex_wemsg __P((SCR *, const CHAR_T *, exm_t)); -void ex_emsg __P((SCR *, const char *, exm_t)); -int ex_version __P((SCR *, EXCMD *)); -int ex_visual __P((SCR *, EXCMD *)); -int ex_wn __P((SCR *, EXCMD *)); -int ex_wq __P((SCR *, EXCMD *)); -int ex_write __P((SCR *, EXCMD *)); -int ex_xit __P((SCR *, EXCMD *)); -int ex_writefp __P((SCR *, - const char *, FILE *, MARK *, MARK *, u_long *, u_long *, int)); -int ex_yank __P((SCR *, EXCMD *)); -int ex_z __P((SCR *, EXCMD *)); diff --git a/dist/nvi/ex/version.h b/dist/nvi/ex/version.h deleted file mode 100644 index 5d3939ee9..000000000 --- a/dist/nvi/ex/version.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $NetBSD: version.h,v 1.4 2009/08/11 21:42:03 aymeric Exp $ */ - -#define VI_VERSION "nvi-1.81.6nb5 (2009-08-11)" diff --git a/dist/nvi/gtk/extern.h b/dist/nvi/gtk/extern.h deleted file mode 100644 index 2a0743854..000000000 --- a/dist/nvi/gtk/extern.h +++ /dev/null @@ -1,7 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:22 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int gtk_vi_init __P((GtkVi **, int, char*[])); -void gtk_vi_quit __P((GtkViWindow*, gint)); -void gtk_vi_show_term __P((GtkViWindow*, gint)); -void gtk_vi_key_press_event __P((GtkViWindow*, GdkEventKey*)); diff --git a/dist/nvi/include/bitstring.h b/dist/nvi/include/bitstring.h deleted file mode 100644 index af0f92cde..000000000 --- a/dist/nvi/include/bitstring.h +++ /dev/null @@ -1,145 +0,0 @@ -/* $NetBSD: bitstring.h,v 1.1.1.2 2008/05/18 14:31:23 aymeric Exp $ */ - -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Paul Vixie. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)bitstring.h 8.1 (Berkeley) 7/19/93 - */ - -#ifndef _BITSTRING_H_ -#define _BITSTRING_H_ - -typedef unsigned char bitstr_t; - -/* internal macros */ - /* byte of the bitstring bit is in */ -#define _bit_byte(bit) \ - ((bit) >> 3) - - /* mask for the bit within its byte */ -#define _bit_mask(bit) \ - (1 << ((bit)&0x7)) - -/* external macros */ - /* bytes in a bitstring of nbits bits */ -#define bitstr_size(nbits) \ - ((((nbits) - 1) >> 3) + 1) - - /* allocate a bitstring */ -#define bit_alloc(nbits) \ - (bitstr_t *)calloc(1, \ - (unsigned int)bitstr_size(nbits) * sizeof(bitstr_t)) - - /* allocate a bitstring on the stack */ -#define bit_decl(name, nbits) \ - (name)[bitstr_size(nbits)] - - /* is bit N of bitstring name set? */ -#define bit_test(name, bit) \ - ((name)[_bit_byte(bit)] & _bit_mask(bit)) - - /* set bit N of bitstring name */ -#define bit_set(name, bit) \ - (name)[_bit_byte(bit)] |= _bit_mask(bit) - - /* clear bit N of bitstring name */ -#define bit_clear(name, bit) \ - (name)[_bit_byte(bit)] &= ~_bit_mask(bit) - - /* clear bits start ... stop in bitstring */ -#define bit_nclear(name, start, stop) { \ - register bitstr_t *_name = name; \ - register int _start = start, _stop = stop; \ - register int _startbyte = _bit_byte(_start); \ - register int _stopbyte = _bit_byte(_stop); \ - if (_startbyte == _stopbyte) { \ - _name[_startbyte] &= ((0xff >> (8 - (_start&0x7))) | \ - (0xff << ((_stop&0x7) + 1))); \ - } else { \ - _name[_startbyte] &= 0xff >> (8 - (_start&0x7)); \ - while (++_startbyte < _stopbyte) \ - _name[_startbyte] = 0; \ - _name[_stopbyte] &= 0xff << ((_stop&0x7) + 1); \ - } \ -} - - /* set bits start ... stop in bitstring */ -#define bit_nset(name, start, stop) { \ - register bitstr_t *_name = name; \ - register int _start = start, _stop = stop; \ - register int _startbyte = _bit_byte(_start); \ - register int _stopbyte = _bit_byte(_stop); \ - if (_startbyte == _stopbyte) { \ - _name[_startbyte] |= ((0xff << (_start&0x7)) & \ - (0xff >> (7 - (_stop&0x7)))); \ - } else { \ - _name[_startbyte] |= 0xff << ((_start)&0x7); \ - while (++_startbyte < _stopbyte) \ - _name[_startbyte] = 0xff; \ - _name[_stopbyte] |= 0xff >> (7 - (_stop&0x7)); \ - } \ -} - - /* find first bit clear in name */ -#define bit_ffc(name, nbits, value) { \ - register bitstr_t *_name = name; \ - register int _byte, _nbits = nbits; \ - register int _stopbyte = _bit_byte(_nbits), _value = -1; \ - for (_byte = 0; _byte <= _stopbyte; ++_byte) \ - if (_name[_byte] != 0xff) { \ - _value = _byte << 3; \ - for (_stopbyte = _name[_byte]; (_stopbyte&0x1); \ - ++_value, _stopbyte >>= 1); \ - break; \ - } \ - *(value) = _value; \ -} - - /* find first bit set in name */ -#define bit_ffs(name, nbits, value) { \ - register bitstr_t *_name = name; \ - register int _byte, _nbits = nbits; \ - register int _stopbyte = _bit_byte(_nbits), _value = -1; \ - for (_byte = 0; _byte <= _stopbyte; ++_byte) \ - if (_name[_byte]) { \ - _value = _byte << 3; \ - for (_stopbyte = _name[_byte]; !(_stopbyte&0x1); \ - ++_value, _stopbyte >>= 1); \ - break; \ - } \ - *(value) = _value; \ -} - -#endif /* !_BITSTRING_H_ */ diff --git a/dist/nvi/include/sys/queue.h b/dist/nvi/include/sys/queue.h deleted file mode 100644 index 4d7010908..000000000 --- a/dist/nvi/include/sys/queue.h +++ /dev/null @@ -1,261 +0,0 @@ -/* $NetBSD: queue.h,v 1.1.1.2 2008/05/18 14:31:23 aymeric Exp $ */ - -/* - * Copyright (c) 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)queue.h 8.5 (Berkeley) 8/20/94 - */ - -#ifndef _SYS_QUEUE_H_ -#define _SYS_QUEUE_H_ - -/* - * This file defines three types of data structures: lists, tail queues, - * and circular queues. - * - * A list is headed by a single forward pointer (or an array of forward - * pointers for a hash table header). The elements are doubly linked - * so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before - * or after an existing element or at the head of the list. A list - * may only be traversed in the forward direction. - * - * A tail queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or - * after an existing element, at the head of the list, or at the end of - * the list. A tail queue may only be traversed in the forward direction. - * - * A circle queue is headed by a pair of pointers, one to the head of the - * list and the other to the tail of the list. The elements are doubly - * linked so that an arbitrary element can be removed without a need to - * traverse the list. New elements can be added to the list before or after - * an existing element, at the head of the list, or at the end of the list. - * A circle queue may be traversed in either direction, but has a more - * complex end of list detection. - * - * For details on the use of these macros, see the queue(3) manual page. - */ - -/* - * List definitions. - */ -#define LIST_HEAD(name, type) \ -struct name { \ - struct type *lh_first; /* first element */ \ -} - -#define LIST_ENTRY(type) \ -struct { \ - struct type *le_next; /* next element */ \ - struct type **le_prev; /* address of previous next element */ \ -} - -/* - * List functions. - */ -#define LIST_INIT(head) { \ - (head)->lh_first = NULL; \ -} - -#define LIST_INSERT_AFTER(listelm, elm, field) { \ - if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ - (listelm)->field.le_next->field.le_prev = \ - &(elm)->field.le_next; \ - (listelm)->field.le_next = (elm); \ - (elm)->field.le_prev = &(listelm)->field.le_next; \ -} - -#define LIST_INSERT_BEFORE(listelm, elm, field) { \ - (elm)->field.le_prev = (listelm)->field.le_prev; \ - (elm)->field.le_next = (listelm); \ - *(listelm)->field.le_prev = (elm); \ - (listelm)->field.le_prev = &(elm)->field.le_next; \ -} - -#define LIST_INSERT_HEAD(head, elm, field) { \ - if (((elm)->field.le_next = (head)->lh_first) != NULL) \ - (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ - (head)->lh_first = (elm); \ - (elm)->field.le_prev = &(head)->lh_first; \ -} - -#define LIST_REMOVE(elm, field) { \ - if ((elm)->field.le_next != NULL) \ - (elm)->field.le_next->field.le_prev = \ - (elm)->field.le_prev; \ - *(elm)->field.le_prev = (elm)->field.le_next; \ -} - -/* - * Tail queue definitions. - */ -#define TAILQ_HEAD(name, type) \ -struct name { \ - struct type *tqh_first; /* first element */ \ - struct type **tqh_last; /* addr of last next element */ \ -} - -#define TAILQ_ENTRY(type) \ -struct { \ - struct type *tqe_next; /* next element */ \ - struct type **tqe_prev; /* address of previous next element */ \ -} - -/* - * Tail queue functions. - */ -#define TAILQ_INIT(head) { \ - (head)->tqh_first = NULL; \ - (head)->tqh_last = &(head)->tqh_first; \ -} - -#define TAILQ_INSERT_HEAD(head, elm, field) { \ - if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ - (head)->tqh_first->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (head)->tqh_first = (elm); \ - (elm)->field.tqe_prev = &(head)->tqh_first; \ -} - -#define TAILQ_INSERT_TAIL(head, elm, field) { \ - (elm)->field.tqe_next = NULL; \ - (elm)->field.tqe_prev = (head)->tqh_last; \ - *(head)->tqh_last = (elm); \ - (head)->tqh_last = &(elm)->field.tqe_next; \ -} - -#define TAILQ_INSERT_AFTER(head, listelm, elm, field) { \ - if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ - (elm)->field.tqe_next->field.tqe_prev = \ - &(elm)->field.tqe_next; \ - else \ - (head)->tqh_last = &(elm)->field.tqe_next; \ - (listelm)->field.tqe_next = (elm); \ - (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ -} - -#define TAILQ_INSERT_BEFORE(listelm, elm, field) { \ - (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ - (elm)->field.tqe_next = (listelm); \ - *(listelm)->field.tqe_prev = (elm); \ - (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ -} - -#define TAILQ_REMOVE(head, elm, field) { \ - if (((elm)->field.tqe_next) != NULL) \ - (elm)->field.tqe_next->field.tqe_prev = \ - (elm)->field.tqe_prev; \ - else \ - (head)->tqh_last = (elm)->field.tqe_prev; \ - *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ -} - -/* - * Circular queue definitions. - */ -#define CIRCLEQ_HEAD(name, type) \ -struct name { \ - struct type *cqh_first; /* first element */ \ - struct type *cqh_last; /* last element */ \ -} - -#define CIRCLEQ_ENTRY(type) \ -struct { \ - struct type *cqe_next; /* next element */ \ - struct type *cqe_prev; /* previous element */ \ -} - -/* - * Circular queue functions. - */ -#define CIRCLEQ_INIT(head) { \ - (head)->cqh_first = (void *)(head); \ - (head)->cqh_last = (void *)(head); \ -} - -#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) { \ - (elm)->field.cqe_next = (listelm)->field.cqe_next; \ - (elm)->field.cqe_prev = (listelm); \ - if ((listelm)->field.cqe_next == (void *)(head)) \ - (head)->cqh_last = (elm); \ - else \ - (listelm)->field.cqe_next->field.cqe_prev = (elm); \ - (listelm)->field.cqe_next = (elm); \ -} - -#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) { \ - (elm)->field.cqe_next = (listelm); \ - (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ - if ((listelm)->field.cqe_prev == (void *)(head)) \ - (head)->cqh_first = (elm); \ - else \ - (listelm)->field.cqe_prev->field.cqe_next = (elm); \ - (listelm)->field.cqe_prev = (elm); \ -} - -#define CIRCLEQ_INSERT_HEAD(head, elm, field) { \ - (elm)->field.cqe_next = (head)->cqh_first; \ - (elm)->field.cqe_prev = (void *)(head); \ - if ((head)->cqh_last == (void *)(head)) \ - (head)->cqh_last = (elm); \ - else \ - (head)->cqh_first->field.cqe_prev = (elm); \ - (head)->cqh_first = (elm); \ -} - -#define CIRCLEQ_INSERT_TAIL(head, elm, field) { \ - (elm)->field.cqe_next = (void *)(head); \ - (elm)->field.cqe_prev = (head)->cqh_last; \ - if ((head)->cqh_first == (void *)(head)) \ - (head)->cqh_first = (elm); \ - else \ - (head)->cqh_last->field.cqe_next = (elm); \ - (head)->cqh_last = (elm); \ -} - -#define CIRCLEQ_REMOVE(head, elm, field) { \ - if ((elm)->field.cqe_next == (void *)(head)) \ - (head)->cqh_last = (elm)->field.cqe_prev; \ - else \ - (elm)->field.cqe_next->field.cqe_prev = \ - (elm)->field.cqe_prev; \ - if ((elm)->field.cqe_prev == (void *)(head)) \ - (head)->cqh_first = (elm)->field.cqe_next; \ - else \ - (elm)->field.cqe_prev->field.cqe_next = \ - (elm)->field.cqe_next; \ -} -#endif /* !_SYS_QUEUE_H_ */ diff --git a/dist/nvi/ip/extern.h b/dist/nvi/ip/extern.h deleted file mode 100644 index 932bb2995..000000000 --- a/dist/nvi/ip/extern.h +++ /dev/null @@ -1,33 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:24 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int ip_waddstr __P((SCR *, const CHAR_T *, size_t)); -int ip_addstr __P((SCR *, const char *, size_t)); -int ip_attr __P((SCR *, scr_attr_t, int)); -int ip_baud __P((SCR *, u_long *)); -int ip_bell __P((SCR *)); -void ip_busy __P((SCR *, const char *, busy_t)); -int ip_child __P((SCR *)); -int ip_clrtoeol __P((SCR *)); -int ip_cursor __P((SCR *, size_t *, size_t *)); -int ip_deleteln __P((SCR *)); -int ip_discard __P((SCR *, SCR **)); -int ip_ex_adjust __P((SCR *, exadj_t)); -int ip_insertln __P((SCR *)); -int ip_keyval __P((SCR *, scr_keyval_t, CHAR_T *, int *)); -int ip_move __P((SCR *, size_t, size_t)); -void ip_msg __P((SCR *, mtype_t, char *, size_t)); -int ip_refresh __P((SCR *, int)); -int ip_rename __P((SCR *, char *, int)); -int ip_reply __P((SCR *, int, char *)); -int ip_split __P((SCR *, SCR *)); -int ip_suspend __P((SCR *, int *)); -void ip_usage __P((void)); -int ip_event __P((SCR *, EVENT *, u_int32_t, int)); -int ip_wevent __P((WIN *, SCR *, EVENT *, u_int32_t, int)); -int ip_screen __P((SCR *, u_int32_t)); -int ip_quit __P((WIN *)); -int ip_term_init __P((SCR *)); -int ip_term_end __P((GS *)); -int ip_fmap __P((SCR *, seq_t, CHAR_T *, size_t, CHAR_T *, size_t)); -int ip_optchange __P((SCR *, int, char *, u_long *)); diff --git a/dist/nvi/ipc/extern.h b/dist/nvi/ipc/extern.h deleted file mode 100644 index 8555dae00..000000000 --- a/dist/nvi/ipc/extern.h +++ /dev/null @@ -1,9 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:25 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int vi_run __P((IPVI *, int, char *[])); -int vi_send __P((int, char *, IP_BUF *)); -int vi_input __P((IPVIWIN *, int)); -int vi_wsend __P((IPVIWIN*, char *, IP_BUF *)); -int vi_translate __P((IPVIWIN *, char *, size_t *, IP_BUF *)); -int vi_create __P((IPVI **, u_int32_t)); diff --git a/dist/nvi/ipc/ipc_def.h b/dist/nvi/ipc/ipc_def.h deleted file mode 100644 index ac910dc27..000000000 --- a/dist/nvi/ipc/ipc_def.h +++ /dev/null @@ -1,62 +0,0 @@ -/* $NetBSD: ipc_def.h,v 1.1.1.1 2008/05/18 14:31:25 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -#define SI_ADDSTR 1 -#define SI_ATTRIBUTE 2 -#define SI_BELL 3 -#define SI_BUSY_OFF 4 -#define SI_BUSY_ON 5 -#define SI_CLRTOEOL 6 -#define SI_DELETELN 7 -#define SI_DISCARD 8 -#define SI_EDITOPT 9 -#define SI_INSERTLN 10 -#define SI_MOVE 11 -#define SI_QUIT 12 -#define SI_REDRAW 13 -#define SI_REFRESH 14 -#define SI_RENAME 15 -#define SI_REPLY 16 -#define SI_REWRITE 17 -#define SI_SCROLLBAR 18 -#define SI_SELECT 19 -#define SI_SPLIT 20 -#define SI_WADDSTR 21 -#define SI_EVENT_SUP 22 -#define VI_C_BOL 1 -#define VI_C_BOTTOM 2 -#define VI_C_DEL 3 -#define VI_C_DOWN 4 -#define VI_C_EOL 5 -#define VI_C_INSERT 6 -#define VI_C_LEFT 7 -#define VI_C_PGDOWN 8 -#define VI_C_PGUP 9 -#define VI_C_RIGHT 10 -#define VI_C_SEARCH 11 -#define VI_C_SETTOP 12 -#define VI_C_TOP 13 -#define VI_C_UP 14 -#define VI_EDIT 15 -#define VI_EDITOPT 16 -#define VI_EDITSPLIT 17 -#define VI_EOF 18 -#define VI_ERR 19 -#define VI_FLAGS 20 -#define VI_INTERRUPT 21 -#define VI_MOUSE_MOVE 22 -#define VI_QUIT 23 -#define VI_RESIZE 24 -#define VI_SEL_END 25 -#define VI_SEL_START 26 -#define VI_SIGHUP 27 -#define VI_SIGTERM 28 -#define VI_STRING 29 -#define VI_TAG 30 -#define VI_TAGAS 31 -#define VI_TAGSPLIT 32 -#define VI_UNDO 33 -#define VI_WQ 34 -#define VI_WRITE 35 -#define VI_WRITEAS 36 -#define VI_EVENT_SUP 37 diff --git a/dist/nvi/motif/extern.h b/dist/nvi/motif/extern.h deleted file mode 100644 index 625466818..000000000 --- a/dist/nvi/motif/extern.h +++ /dev/null @@ -1,4 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:26 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int is_cde __P((Display *)); diff --git a/dist/nvi/motif_l/extern.h b/dist/nvi/motif_l/extern.h deleted file mode 100644 index fd7b15701..000000000 --- a/dist/nvi/motif_l/extern.h +++ /dev/null @@ -1,31 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:33 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -void __vi_InitCopyPaste - __P((int (*)(), int (*)(), int (*)(), int (*)())); -void __vi_AcquirePrimary __P((Widget)); -void __vi_PasteFromClipboard __P((Widget)); -void __vi_send_command_string __P((String)); -void __vi_cancel_cb __P((Widget, XtPointer, XtPointer)); -void __vi_modal_dialog __P((Widget)); -Widget vi_create_menubar __P((Widget)); -int __vi_editopt __P((IPVI *, const char *, u_int32_t, const char *, u_int32_t, u_int32_t)); -void __vi_show_options_dialog __P((Widget, String)); -int __vi_toggle __P((char *)); -Widget __vi_create_search_toggles __P((Widget, optData[])); -void __vi_set_text_ruler __P((int, int)); -void __vi_search __P((Widget)); -void __XutConvertResources __P((Widget, String, XutResource *, int)); -void __vi_set_scroll_block __P((void)); -void __vi_clear_scroll_block __P((void)); -void vi_input_func __P((XtPointer, int *, XtInputId *)); -void __vi_draw_text __P((xvi_screen *, int, int, int)); -void __vi_expose_func __P((Widget, XtPointer, XtPointer)); -Widget vi_create_editor __P((String, Widget, void (*)(void))); -void __vi_set_cursor __P((xvi_screen *, int)); -void __vi_set_word_at_caret __P((xvi_screen *)); -void draw_caret __P((xvi_screen *)); -void __vi_erase_caret __P((xvi_screen *)); -void __vi_move_caret __P((xvi_screen *, int, int)); -Widget __vi_CreateTabbedFolder - __P((String, Widget, String, int, void (*)(Widget, int))); diff --git a/dist/nvi/perl_api/extern.h b/dist/nvi/perl_api/extern.h deleted file mode 100644 index 42223c0d8..000000000 --- a/dist/nvi/perl_api/extern.h +++ /dev/null @@ -1,12 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:34 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -#ifdef USE_SFIO -Sfdisc_t* sfdcnewnvi __P((SCR*)); -#endif -int perl_end __P((GS *)); -int perl_init __P((SCR *)); -int perl_screen_end __P((SCR*)); -int perl_setenv __P((SCR* sp, const char *name, const char *value)); -int perl_ex_perl __P((SCR*, CHAR_T *, size_t, db_recno_t, db_recno_t)); -int perl_ex_perldo __P((SCR*, CHAR_T *, size_t, db_recno_t, db_recno_t)); diff --git a/dist/nvi/tcl_api/extern.h b/dist/nvi/tcl_api/extern.h deleted file mode 100644 index c3ce610cd..000000000 --- a/dist/nvi/tcl_api/extern.h +++ /dev/null @@ -1,4 +0,0 @@ -/* $NetBSD: extern.h,v 1.1.1.1 2008/05/18 14:31:39 aymeric Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int tcl_init __P((GS *)); diff --git a/dist/nvi/vi/extern.h b/dist/nvi/vi/extern.h deleted file mode 100644 index 312b475ce..000000000 --- a/dist/nvi/vi/extern.h +++ /dev/null @@ -1,150 +0,0 @@ -/* $NetBSD: extern.h,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - -/* Do not edit: automatically built by build/distrib. */ -int cs_init __P((SCR *, VCS *)); -int cs_next __P((SCR *, VCS *)); -int cs_fspace __P((SCR *, VCS *)); -int cs_fblank __P((SCR *, VCS *)); -int cs_prev __P((SCR *, VCS *)); -int cs_bblank __P((SCR *, VCS *)); -int v_at __P((SCR *, VICMD *)); -int v_chrepeat __P((SCR *, VICMD *)); -int v_chrrepeat __P((SCR *, VICMD *)); -int v_cht __P((SCR *, VICMD *)); -int v_chf __P((SCR *, VICMD *)); -int v_chT __P((SCR *, VICMD *)); -int v_chF __P((SCR *, VICMD *)); -int v_delete __P((SCR *, VICMD *)); -int v_erepaint __P((SCR *, EVENT *)); -int v_event __P((SCR *, VICMD *)); -int v_again __P((SCR *, VICMD *)); -int v_exmode __P((SCR *, VICMD *)); -int v_join __P((SCR *, VICMD *)); -int v_shiftl __P((SCR *, VICMD *)); -int v_shiftr __P((SCR *, VICMD *)); -int v_suspend __P((SCR *, VICMD *)); -int v_switch __P((SCR *, VICMD *)); -int v_tagpush __P((SCR *, VICMD *)); -int v_tagpop __P((SCR *, VICMD *)); -int v_filter __P((SCR *, VICMD *)); -int v_exec_ex __P((SCR *, VICMD *, EXCMD *)); -int v_ex __P((SCR *, VICMD *)); -int v_ecl_exec __P((SCR *)); -int v_increment __P((SCR *, VICMD *)); -int v_screen_copy __P((SCR *, SCR *)); -int v_screen_end __P((SCR *)); -int v_optchange __P((SCR *, int, const char *, u_long *)); -int v_iA __P((SCR *, VICMD *)); -int v_ia __P((SCR *, VICMD *)); -int v_iI __P((SCR *, VICMD *)); -int v_ii __P((SCR *, VICMD *)); -int v_iO __P((SCR *, VICMD *)); -int v_io __P((SCR *, VICMD *)); -int v_change __P((SCR *, VICMD *)); -int v_Replace __P((SCR *, VICMD *)); -int v_subst __P((SCR *, VICMD *)); -int v_left __P((SCR *, VICMD *)); -int v_cfirst __P((SCR *, VICMD *)); -int v_first __P((SCR *, VICMD *)); -int v_ncol __P((SCR *, VICMD *)); -int v_zero __P((SCR *, VICMD *)); -int v_mark __P((SCR *, VICMD *)); -int v_bmark __P((SCR *, VICMD *)); -int v_fmark __P((SCR *, VICMD *)); -int v_emark __P((SCR *, VICMD *)); -int v_match __P((SCR *, VICMD *)); -int v_paragraphf __P((SCR *, VICMD *)); -int v_paragraphb __P((SCR *, VICMD *)); -int v_buildps __P((SCR *, const char *, const char *)); -int v_Put __P((SCR *, VICMD *)); -int v_put __P((SCR *, VICMD *)); -int v_redraw __P((SCR *, VICMD *)); -int v_replace __P((SCR *, VICMD *)); -int v_right __P((SCR *, VICMD *)); -int v_dollar __P((SCR *, VICMD *)); -int v_screen __P((SCR *, VICMD *)); -int v_lgoto __P((SCR *, VICMD *)); -int v_home __P((SCR *, VICMD *)); -int v_middle __P((SCR *, VICMD *)); -int v_bottom __P((SCR *, VICMD *)); -int v_up __P((SCR *, VICMD *)); -int v_cr __P((SCR *, VICMD *)); -int v_down __P((SCR *, VICMD *)); -int v_hpageup __P((SCR *, VICMD *)); -int v_hpagedown __P((SCR *, VICMD *)); -int v_pagedown __P((SCR *, VICMD *)); -int v_pageup __P((SCR *, VICMD *)); -int v_lineup __P((SCR *, VICMD *)); -int v_linedown __P((SCR *, VICMD *)); -int v_searchb __P((SCR *, VICMD *)); -int v_searchf __P((SCR *, VICMD *)); -int v_searchN __P((SCR *, VICMD *)); -int v_searchn __P((SCR *, VICMD *)); -int v_searchw __P((SCR *, VICMD *)); -int v_esearch __P((SCR *, VICMD *)); -int v_correct __P((SCR *, VICMD *, int)); -int v_sectionf __P((SCR *, VICMD *)); -int v_sectionb __P((SCR *, VICMD *)); -int v_sentencef __P((SCR *, VICMD *)); -int v_sentenceb __P((SCR *, VICMD *)); -int v_status __P((SCR *, VICMD *)); -int v_tcmd __P((SCR *, VICMD *, ARG_CHAR_T, u_int)); -int v_txt __P((SCR *, VICMD *, MARK *, - const CHAR_T *, size_t, ARG_CHAR_T, db_recno_t, u_long, u_int32_t)); -int v_txt_auto __P((SCR *, db_recno_t, TEXT *, size_t, TEXT *)); -int v_ulcase __P((SCR *, VICMD *)); -int v_mulcase __P((SCR *, VICMD *)); -int v_Undo __P((SCR *, VICMD *)); -int v_undo __P((SCR *, VICMD *)); -void v_eof __P((SCR *, MARK *)); -void v_eol __P((SCR *, MARK *)); -void v_nomove __P((SCR *)); -void v_sof __P((SCR *, MARK *)); -void v_sol __P((SCR *)); -int v_isempty __P((CHAR_T *, size_t)); -void v_emsg __P((SCR *, const char *, vim_t)); -int v_wordW __P((SCR *, VICMD *)); -int v_wordw __P((SCR *, VICMD *)); -int v_wordE __P((SCR *, VICMD *)); -int v_worde __P((SCR *, VICMD *)); -int v_wordB __P((SCR *, VICMD *)); -int v_wordb __P((SCR *, VICMD *)); -int v_xchar __P((SCR *, VICMD *)); -int v_Xchar __P((SCR *, VICMD *)); -int v_yank __P((SCR *, VICMD *)); -int v_z __P((SCR *, VICMD *)); -int vs_crel __P((SCR *, long)); -int v_zexit __P((SCR *, VICMD *)); -int vi __P((SCR **)); -int v_curword __P((SCR *)); -int vs_line __P((SCR *, SMAP *, size_t *, size_t *)); -int vs_number __P((SCR *)); -void vs_busy __P((SCR *, const char *, busy_t)); -void vs_home __P((SCR *)); -void vs_update __P((SCR *, const char *, const CHAR_T *)); -void vs_msg __P((SCR *, mtype_t, char *, size_t)); -int vs_ex_resolve __P((SCR *, int *)); -int vs_resolve __P((SCR *, SCR *, int)); -int vs_refresh __P((SCR *, int)); -int vs_column __P((SCR *, size_t *)); -size_t vs_screens __P((SCR *, db_recno_t, size_t *)); -size_t vs_columns __P((SCR *, CHAR_T *, db_recno_t, size_t *, size_t *)); -size_t vs_rcm __P((SCR *, db_recno_t, int)); -size_t vs_colpos __P((SCR *, db_recno_t, size_t)); -int vs_change __P((SCR *, db_recno_t, lnop_t)); -int vs_sm_fill __P((SCR *, db_recno_t, pos_t)); -int vs_sm_scroll __P((SCR *, MARK *, db_recno_t, scroll_t)); -int vs_sm_1up __P((SCR *)); -int vs_sm_1down __P((SCR *)); -int vs_sm_next __P((SCR *, SMAP *, SMAP *)); -int vs_sm_prev __P((SCR *, SMAP *, SMAP *)); -int vs_sm_cursor __P((SCR *, SMAP **)); -int vs_sm_position __P((SCR *, MARK *, u_long, pos_t)); -db_recno_t vs_sm_nlines __P((SCR *, SMAP *, db_recno_t, size_t)); -int vs_split __P((SCR *, SCR *, int)); -int vs_vsplit __P((SCR *, SCR *)); -int vs_discard __P((SCR *, SCR **)); -int vs_fg __P((SCR *, SCR **, CHAR_T *, int)); -int vs_bg __P((SCR *)); -int vs_swap __P((SCR *, SCR **, const char *)); -int vs_resize __P((SCR *, long, adj_t)); diff --git a/distrib/common/Makefile.bootcd b/distrib/common/Makefile.bootcd index bfbf9bca4..0187d6809 100644 --- a/distrib/common/Makefile.bootcd +++ b/distrib/common/Makefile.bootcd @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.bootcd,v 1.20 2012/08/17 16:57:59 riz Exp $ +# $NetBSD: Makefile.bootcd,v 1.22 2013/01/29 19:48:41 christos Exp $ # # Makefile snipped to create a CD/DVD ISO # diff --git a/distrib/common/Makefile.image b/distrib/common/Makefile.image index bc9cdaa7e..a3ad6cae2 100644 --- a/distrib/common/Makefile.image +++ b/distrib/common/Makefile.image @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.image,v 1.31 2009/04/03 22:36:35 perry Exp $ +# $NetBSD: Makefile.image,v 1.32 2013/05/24 21:34:19 christos Exp $ # # Makefile snippet to build a tree from the provided lists, # and make an ffs file system image from that tree @@ -82,12 +82,13 @@ CLEANFILES+= ${WORKSPEC} ${WORKSPEC}.tmp .endif # ! target (${WORKSPEC}) # } .if defined(IMAGE) # { +IMGMAKEFSOPTIONS?= -o bsize=4096,fsize=512 ${IMAGE}: ${WORKBUILT} [ "${.OODATE}" = ${WORKBUILT} -a -f ${IMAGE} -a ! ${IMAGE} -ot ${WORKBUILT} ] || { \ ${_MKSHMSG_CREATE} ${.CURDIR:T}/${.TARGET}; \ rm -f ${.TARGET} ${.TARGET}.tmp; \ ${TOOL_MAKEFS} -t ffs -B ${IMAGEENDIAN} -s ${IMAGESIZE} -F ${WORKSPEC} \ - -N ${NETBSDSRCDIR}/etc -o bsize=4096,fsize=512 \ + -N ${NETBSDSRCDIR}/etc ${IMGMAKEFSOPTIONS} \ -o optimization=space,minfree=0 \ ${MAKEFS_FLAGS} ${.TARGET}.tmp ${WORKDIR} \ && mv -f ${.TARGET}.tmp ${.TARGET}; \ diff --git a/distrib/common/Makefile.mdset b/distrib/common/Makefile.mdset index a52d97c8d..bb5256064 100644 --- a/distrib/common/Makefile.mdset +++ b/distrib/common/Makefile.mdset @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.mdset,v 1.35 2011/01/01 16:56:18 jym Exp $ +# $NetBSD: Makefile.mdset,v 1.38 2013/08/15 12:39:28 joerg Exp $ # # Makefile snippet to ${TOOL_MDSETIMAGE} file system images into kernels # @@ -69,7 +69,12 @@ _MAKEFILE_MDSET_=1 .include +# The default is to build for all MDSETTARGETS +ALL_KERNELS?= + + .for _K _I _F in ${MDSETTARGETS} # { +.for currentsel in ${ALL_KERNELS} # { +.if ${currentsel} == "+" || ${_K} == ${currentsel} _KERNEL:=${_K} # (work around obscure issue in make(1)) .if (${_KERNEL:M*/*} != "") @@ -148,7 +153,7 @@ ${_KERNEL.${_K}.${_F}}: .NOTMAIN ${_KERNNAME.${_K}.${_F}} ${_I} ${NM} ${.TARGET}.tmp | gzip -9n > ${.TARGET}.symbols.gz .endif .if !defined(MDSET_NOSTRIP.${_FILENAME}) && !defined(MDSET_NOSTRIP) - ${STRIP} -R .comment -R .ident ${.TARGET}.tmp + ${STRIP} -R .eh_frame -R .eh_frame_hdr -R .comment -R .ident ${.TARGET}.tmp .endif @mv ${.TARGET}.tmp ${.TARGET} .if defined(MDSET_POST.${_FILENAME}) || defined(MDSET_POST) @@ -166,6 +171,8 @@ ${_KERNEL.${_K}.${_F}}.gz: ${_KERNEL.${_K}.${_F}} gzip -9nc ${.ALLSRC} > ${.TARGET} .endif # } +.endif +.endfor # } .endfor # } CLEANFILES+= ${KERNELS} ${KERNELSYMS} @@ -174,6 +181,7 @@ realall: ${KERNELS} .if defined(MDSET_RELEASEDIR) release:: check_RELEASEDIR .WAIT ${KERNELS} + test -z "${KERNELS}" || \ ${RELEASE_INSTALL} ${KERNELS} ${KERNELSYMS} \ ${RELEASEDIR}/${RELEASEMACHINEDIR}/${MDSET_RELEASEDIR} .endif diff --git a/distrib/common/Makefile.minirootkmod b/distrib/common/Makefile.minirootkmod new file mode 100644 index 000000000..def21c0cb --- /dev/null +++ b/distrib/common/Makefile.minirootkmod @@ -0,0 +1,56 @@ +# $NetBSD: Makefile.minirootkmod,v 1.1 2012/10/16 08:19:36 apb Exp $ +# +# Makefile snippet to build a miniroot kernel module (e.g. miniroot.kmod) +# +# Required variables: +# NETBSDSRCDIR top level of src tree (set by ) +# +# Optional variables: +# MINIROOT Basename of the kernel module to be created. +# ".kmod" will be appended to get the file name. +# [default: miniroot] +# RAMDISK Basename of the ramdisk to be embedded in the +# kernel module. This is used as both a directory +# name (${.CURDIR}/../ramdisks/${RAMDISK}) and +# as a file name within the .OBJDIR of that +# directory (${RAMDISK}.fs). [default: ramdisk] +# + +MINIROOT?= miniroot +RAMDISK?= ramdisk + +.include +.include "${.PARSEDIR}/Makefile.distrib" + +MKMAN= no +PROG= ${MINIROOT}.kmod + +# SRCMOD is a skeleton version of miniroot.kmod, without an embedded ramdisk. +# It should already have been created by "make install" in +# .../sys/modules/miniroot, and its name includes literal "miniroot", +# not variable ${MINIROOT}. +# +# DSTMOD is a copy of SRCMOD that is modified to include an embedded ramdisk. +# It will be created by rules in this Makefile. +# +# RAMDISKFS is the ramdisk image to be included inside DSTMOD. It should +# already have been created by the Makefile in RAMDISKSRCDIR. +# +SRCMOD= ${DESTDIR}/stand/${MACHINE}/${MODULEVER}/modules/miniroot/miniroot.kmod +DSTMOD= ${.OBJDIR}/${MINIROOT}.kmod +RAMDISKSRCDIR= ${.CURDIR}/../ramdisks/${RAMDISK} +RAMDISKOBJDIR!= cd ${RAMDISKSRCDIR} && ${PRINTOBJDIR} +RAMDISKFS= ${RAMDISKOBJDIR}/${RAMDISK}.fs + +${MINIROOT}.kmod: ${RAMDISKFS} ${SRCMOD} + ${OBJCOPY} --add-section miniroot=${RAMDISKFS} \ + --set-section-flags miniroot=alloc,contents,load,data \ + ${SRCMOD} ${DSTMOD}.tmp + gzip -9nc < ${DSTMOD}.tmp > ${DSTMOD} + rm -f ${DSTMOD}.tmp + +.include + +release: ${PROG} + ${HOST_INSTALL_FILE} -m ${BINMODE} ${PROG} \ + ${RELEASEDIR}/${RELEASEMACHINEDIR}/installation/miniroot/ diff --git a/distrib/common/bootimage/Makefile.installimage b/distrib/common/bootimage/Makefile.installimage index b2dd91902..84918b2a9 100644 --- a/distrib/common/bootimage/Makefile.installimage +++ b/distrib/common/bootimage/Makefile.installimage @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.installimage,v 1.3 2012/04/22 07:23:42 tsutsui Exp $ +# $NetBSD: Makefile.installimage,v 1.4 2012/11/03 14:25:32 tsutsui Exp $ # # Common Makefile to create a bootable installation image for USB flash etc. # @@ -8,6 +8,11 @@ # INSTIMGBASE # Basename of the liveimage # +# Optional variables: +# INSTIMAGEMB +# target image size in MB +# (if empty default IMAGEMB in Makefile.bootimage is used) +# # See Makefile.bootimage for other variables. # @@ -21,6 +26,9 @@ check_INSTIMGBASE: .PHONY .NOTMAIN .endif .endif +.if defined(INSTIMAGEMB) +IMAGEMB= ${INSTIMAGEMB} +.endif SWAPMB= 0 # no swap OMIT_SWAPIMG= yes # nothing to write diff --git a/distrib/common/bootimage/Makefile.liveimage b/distrib/common/bootimage/Makefile.liveimage index d118653cd..295b9f5b6 100644 --- a/distrib/common/bootimage/Makefile.liveimage +++ b/distrib/common/bootimage/Makefile.liveimage @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.liveimage,v 1.2 2012/01/22 16:50:00 tsutsui Exp $ +# $NetBSD: Makefile.liveimage,v 1.3 2012/11/03 14:25:32 tsutsui Exp $ # # Common Makefile to create a bootable FS image for USB flash or emulators # @@ -8,6 +8,11 @@ # LIVEIMGBASE # Basename of the liveimage # +# Optional variables: +# LIVEIMAGEMB +# target image size in MB +# (if empty default IMAGEMB in Makefile.bootimage is used) +# # See Makefile.bootimage for other variables. # @@ -21,6 +26,10 @@ check_LIVEIMGBASE: .PHONY .NOTMAIN .endif .endif +.if defined(LIVEIMAGEMB) +IMAGEMB= ${LIVEIMAGEMB} +.endif + IMGBASE= ${LIVEIMGBASE} .include "${NETBSDSRCDIR}/distrib/common/bootimage/Makefile.bootimage" diff --git a/distrib/common/bootimage/fstab.in b/distrib/common/bootimage/fstab.in index e7c413bb0..86cc4c65d 100644 --- a/distrib/common/bootimage/fstab.in +++ b/distrib/common/bootimage/fstab.in @@ -1,4 +1,4 @@ -/dev/@@BOOTDISK@@a / ffs rw,log 1 1 +/dev/@@BOOTDISK@@a / ffs rw 1 1 /dev/@@BOOTDISK@@b none none sw 0 0 ptyfs /dev/pts ptyfs rw 0 0 kernfs /kern kernfs rw,noauto 0 0 diff --git a/distrib/common/bootimage/fstab.install.in b/distrib/common/bootimage/fstab.install.in index 721f22203..4cf228d46 100644 --- a/distrib/common/bootimage/fstab.install.in +++ b/distrib/common/bootimage/fstab.install.in @@ -1,2 +1,2 @@ -/dev/@@BOOTDISK@@a / ffs rw,log 1 1 +/dev/@@BOOTDISK@@a / ffs rw 1 1 tmpfs /tmp tmpfs rw 0 0 diff --git a/distrib/common/cgdroot.rc b/distrib/common/cgdroot.rc new file mode 100644 index 000000000..b0cad616d --- /dev/null +++ b/distrib/common/cgdroot.rc @@ -0,0 +1,60 @@ +# $NetBSD: cgdroot.rc,v 1.1 2013/07/15 00:25:38 khorben Exp $ +# +# Copyright (c) 2013 Pierre Pronchery +# 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 ``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 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. + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +export PATH +TERM=wsvt25 +export TERM +HOME=/ +export HOME +BLOCKSIZE=1k +export BLOCKSIZE +EDITOR=ed +export EDITOR + +umask 022 + +mount -o ro /dev/wd0a /etc/cgd +if [ $? -ne 0 ]; then + echo "Could not mount the boot partition" 1>&2 + exit 2 +fi +/sbin/wsconsctl -d -w splash.enable=0 > /dev/null 2>&1 +cgdconfig -C +if [ $? -ne 0 ]; then + echo "Could not decrypt the encrypted volume" 1>&2 + umount /etc/cgd + exit 2 +fi +mount -o ro /dev/cgd0a /altroot +if [ $? -ne 0 ]; then + echo "Could not mount the root partition" 1>&2 + cgdconfig -U + umount /etc/cgd + exit 2 +fi +umount /etc/cgd +/sbin/wsconsctl -d -w splash.enable=1 > /dev/null 2>&1 +sysctl -w init.root=/altroot diff --git a/distrib/common/list.cgdroot b/distrib/common/list.cgdroot new file mode 100644 index 000000000..b7eb94168 --- /dev/null +++ b/distrib/common/list.cgdroot @@ -0,0 +1,10 @@ +# $NetBSD: list.cgdroot,v 1.1 2013/07/15 00:25:38 khorben Exp $ +# +# list file (c.f. parselist.awk) for cgd full-disk encryption. +# + +PROG sbin/cgdconfig +PROG sbin/wsconsctl +LIBS -lcrypto + +COPY ${NETBSDSRCDIR}/distrib/common/cgdroot.rc etc/rc diff --git a/distrib/common/mtree.cgdroot b/distrib/common/mtree.cgdroot new file mode 100644 index 000000000..efe03ba8e --- /dev/null +++ b/distrib/common/mtree.cgdroot @@ -0,0 +1,8 @@ +# $NetBSD: mtree.cgdroot,v 1.1 2013/07/15 00:25:38 khorben Exp $ + +/set type=dir uname=root gname=wheel mode=0755 + +. +./altroot +./etc +./etc/cgd mode=0700 diff --git a/distrib/sets/Makefile b/distrib/sets/Makefile index 62cad67c1..6472df9dd 100644 --- a/distrib/sets/Makefile +++ b/distrib/sets/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.84 2011/08/09 15:02:30 jmcneill Exp $ +# $NetBSD: Makefile,v 1.90 2013/10/30 15:17:01 apb Exp $ # Experimental RCS METALOG versioning # (Needs host's rcs(1) commands) @@ -124,9 +124,17 @@ clean_METALOG: .PHONY METALOG.unpriv= -M ${METALOG}.sanitised sanitise_METALOG: .PHONY ${METALOG}.sanitised ${METALOG}.sanitised: ${METALOG} - sort ${METALOG} | \ - ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \ +# We keep only the last entry for update builds, but for clean builds we +# want to make sure we install files only once. +.if ${MKUPDATE} != "no" + ${TOOL_AWK} \ + '{ a[$$1] = $$0; } END { for (f in a) print a[f]; }' ${METALOG} | \ + sort | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \ >${METALOG}.new +.else + sort ${METALOG} | ${TOOL_MTREE} -CSM -k all -N ${NETBSDSRCDIR}/etc \ + >${METALOG}.new +.endif mv ${METALOG}.new ${METALOG}.sanitised .if defined(RCSMETALOG) . ./metalog.subr; \ @@ -299,6 +307,22 @@ makesyspkgsums: .PHONY check_RELEASEDIR makedeps: .PHONY ${SETSCMD} ./syspkgdeps all >${.CURDIR}/deps +# Sort the lists files +sortlists: .PHONY + find ${.CURDIR}/lists \! \( -name CVS -prune \) -type f -print \ + | while read f ; do \ + ${_MKSHMSG} "sorting $${f#${.CURDIR}/}" ; \ + { grep '^#' "$$f" ; \ + grep -v '^#' "$$f" | sort ; \ + } >"$$f".tmp; \ + if cmp "$$f" "$$f".tmp >/dev/null; then \ + : "$$f is unchanged" ; \ + rm "$$f".tmp ; \ + else \ + mv "$$f".tmp "$$f" ; \ + fi ; \ + done + # # MAIN ENTRY POINTS # diff --git a/distrib/sets/README b/distrib/sets/README index a476d2b53..425766e89 100644 --- a/distrib/sets/README +++ b/distrib/sets/README @@ -1,4 +1,4 @@ -# $NetBSD: README,v 1.11 2009/09/12 09:24:32 jnemeth Exp $ +# $NetBSD: README,v 1.13 2013/08/06 22:33:59 soren Exp $ the scripts should be run from the directory where they reside. @@ -43,6 +43,9 @@ the sets are as follows: within. Also, includes all library and system call manual pages. + debug: Debugging libraries (_g.a/MKDEBUGLIB) and (.debug/MKDEBUG) + binaries. + etc: /etc, and associated files (/var/cron/tabs, /root, etc.). things that shouldn't be blindly reinstalled on an upgrade. @@ -65,15 +68,5 @@ the sets are as follows: text: text processing tools. groff and all of its friends. includes man pages for all bins contained within. - -as noted, in addition to the "standard" files in each dir, there's -a file called 'md_share' in lists/man. it's the list of man pages -that are installed from /usr/src/share, which are machine-dependent. -(note that ones that are installed from elsewhere, and thus are -installed on only one architecture, are listed in the md.${ARCH} -file.) basically, it's grepped through, to see which of the -machine-dependent man pages that are always installed should go -in the 'man' set, and which should go into the 'misc' set. - Each set must contain "./etc/mtree/set." within the mi list. Failure to add this will break unprivileged builds. diff --git a/distrib/sets/checkflist b/distrib/sets/checkflist index 6a1b5c617..bc8f19a23 100644 --- a/distrib/sets/checkflist +++ b/distrib/sets/checkflist @@ -1,6 +1,6 @@ #! /bin/sh -- # -# $NetBSD: checkflist,v 1.42 2009/12/11 11:48:41 uebayasi Exp $ +# $NetBSD: checkflist,v 1.44 2013/06/10 05:03:20 mrg Exp $ # # Verify output of makeflist against contents of ${DESTDIR} and ${metalog}. @@ -55,7 +55,7 @@ while getopts xybL:M:em ch; do case ${ch} in x) xargs="-x" - origin="./etc/X11 ./etc/fonts ./usr/X11R6" + origin="./etc/X11 ./etc/fonts ./usr/X11R6 ./usr/X11R7" ;; y) xargs="-y" @@ -143,6 +143,8 @@ generate_mlist() if [ -n "${metalog}" ]; then ${AWK} '{print $1}' <"${metalog}" \ | ${SORT} -u | ignore_exceptions >"${SETS_MLIST}" +else + SETS_MLIST=/dev/null fi } diff --git a/distrib/sets/comments b/distrib/sets/comments index 4e7edc978..953d11da2 100644 --- a/distrib/sets/comments +++ b/distrib/sets/comments @@ -163,6 +163,7 @@ base-texinfo_locale-tr Turkish language support for the GNU texinfo software base-texinfo_locale-zh Chinese language support for the GNU texinfo software base-timed-bin utilities for the timed(8) network time daemon base-tn3270-bin utilities for connecting to IBM VM/CMS systems +base-tpm-bin utilities for the Trusted Platform Module base-usd-share directory structure for the User's Supplementary Documentation base-util-bin standard utilities for use by users base-util-root root file system support for standard user utilities @@ -433,6 +434,9 @@ man-timed-catman formatted manual pages for the timed(8) network time daemon man-timed-man manual pages source for the timed(8) network time daemon man-tn3270-catman formatted manual pages for utilities for connecting to IBM VM/CMS systems man-tn3270-man manual pages source for utilities for connecting to IBM VM/CMS systems +man-tpm-catman formated manual pages for the Trusted Platform Module utilities +man-tpm-htmlman HTML documentation for the Trusted Platform Module utilities +man-tpm-man documentation for the Trusted Platform Module utilities man-util-catman formatted manual pages for basic user utilities man-util-info the GNU texinfo software man-util-man manual pages source for basic user utilities diff --git a/distrib/sets/deps b/distrib/sets/deps index 14d26e6d6..ef17a45b1 100644 --- a/distrib/sets/deps +++ b/distrib/sets/deps @@ -165,6 +165,7 @@ base-texinfo_locale-tr base-locale-tr base-texinfo_locale-zh base-locale-zh base-timed-bin base-sys-usr base-tn3270-bin base-sys-usr +base-tpm-bin base-sys-usr base-usd-share base-sys-share base-util-bin base-sys-usr base-util-root base-sys-root @@ -265,6 +266,11 @@ comp-sys-man base-man-share comp-sys-root base-sys-root comp-sysutil-catman base-man-share comp-sysutil-man base-man-share +comp-tpm-catman base-man-share +comp-tpm-htmlman base-man-share +comp-tpm-debug base-sys-usr +comp-tpm-lib base-sys-usr +comp-tpm-man base-man-share comp-util-bin base-sys-usr comp-util-catman base-man-share comp-util-man base-man-share @@ -458,6 +464,9 @@ man-timed-catman base-man-share man-timed-man base-man-share man-tn3270-catman base-man-share man-tn3270-man base-man-share +man-tpm-catman base-man-share +man-tpm-htmlman base-man-share +man-tpm-man base-man-share man-util-catman base-man-share man-util-info base-texinfo-share man-util-man base-man-share diff --git a/distrib/sets/descrs b/distrib/sets/descrs index 934a0e402..d7733ff00 100644 --- a/distrib/sets/descrs +++ b/distrib/sets/descrs @@ -171,6 +171,7 @@ base-texinfo_locale-tr Turkish language support for the GNU texinfo software base-texinfo_locale-zh Chinese language support for the GNU texinfo software base-timed-bin utilities for the timed(8) network time daemon base-tn3270-bin utilities for connecting to IBM VM/CMS systems +base-tpm-bin utilities for the Trusted Platform Module base-usd-share directory structure for the User's Supplementary Documentation base-util-bin standard utilities for use by users base-util-root root file system support for standard user utilities @@ -493,6 +494,11 @@ comp-sysutil-catman formatted manual pages for system utilities comp-sysutil-man manual pages source for system utilities comp-sysutil-root manual pages source for system utilities comp-sysutil-sbin system utilities +comp-tpm-catman formated manual pages for the Trusted Platform Module libraries +comp-tpm-debug debugging symbols for the Trusted Platfor Module utilities and libraries +comp-tpm-htmlman HTML documentation for the Trusted Platform Module libraries +comp-tpm-lib libraries for the Trusted Platform Module +comp-tpm-man documentation for the Trusted Platform Module libraries comp-util-bin programming utilities comp-util-catman formatted manual pages for programming utilities comp-util-man manual pages source for programming utilities @@ -693,6 +699,9 @@ man-timed-catman formatted manual pages for the timed(8) network time daemon man-timed-man manual pages source for the timed(8) network time daemon man-tn3270-catman formatted manual pages for utilities for connecting to IBM VM/CMS systems man-tn3270-man manual pages source for utilities for connecting to IBM VM/CMS systems +man-tpm-catman formated manual pages for the Trusted Platform Module utilities +man-tpm-htmlman HTML documentation for the Trusted Platform Module utilities +man-tpm-man documentation for the Trusted Platform Module utilities man-util-catman formatted manual pages for basic user utilities man-util-info the GNU texinfo software man-util-man manual pages source for basic user utilities diff --git a/distrib/sets/getdirs.awk b/distrib/sets/getdirs.awk index f82e6a2a6..869b203f4 100644 --- a/distrib/sets/getdirs.awk +++ b/distrib/sets/getdirs.awk @@ -1,4 +1,4 @@ -# $NetBSD: getdirs.awk,v 1.5 2012/02/08 16:51:09 njoly Exp $ +# $NetBSD: getdirs.awk,v 1.6 2013/03/12 13:08:00 njoly Exp $ # # Copyright (c) 2002 The NetBSD Foundation, Inc. # All rights reserved. @@ -59,6 +59,15 @@ function dirname(file) \ exit 1 } +# error if path has a trailing slash +# +/\/$/ \ +{ + print "Unsupported path with trailing slash:" >"/dev/stderr" + print >"/dev/stderr" + exit 1 +} + # all other lines are parsed # { diff --git a/distrib/sets/lists/base/ad.arm b/distrib/sets/lists/base/ad.arm index c7d60f26c..e351660fe 100644 --- a/distrib/sets/lists/base/ad.arm +++ b/distrib/sets/lists/base/ad.arm @@ -1,5 +1,17 @@ -# $NetBSD: ad.arm,v 1.12 2009/02/14 22:46:05 abs Exp $ -./sbin/ldconfig base-sysutil-root pic +# $NetBSD: ad.arm,v 1.28 2013/11/13 09:49:08 mbalmer Exp $ +./lib/oabi base-compat-shlib compat +./lib/oabi/npf base-npf-shlib compat +./lib/oabi/npf/ext_log.so base-npf-shlib compat,pic +./lib/oabi/npf/ext_log.so.0 base-npf-shlib compat,pic +./lib/oabi/npf/ext_log.so.0.0 base-npf-shlib compat,pic +./lib/oabi/npf/ext_normalize.so base-npf-shlib compat,pic +./lib/oabi/npf/ext_normalize.so.0 base-npf-shlib compat,pic +./lib/oabi/npf/ext_normalize.so.0.0 base-npf-shlib compat,pic +./lib/oabi/npf/ext_rndblock.so base-npf-shlib compat,pic +./lib/oabi/npf/ext_rndblock.so.0 base-npf-shlib compat,pic +./lib/oabi/npf/ext_rndblock.so.0.0 base-npf-shlib compat,pic +./libexec/ld.elf_so-oabi base-sysutil-bin compat,pic +./sbin/ldconfig base-sysutil-root pic,endian=1234 ./usr/bin/fdformat base-util-bin ./usr/lib/libarm.so base-sys-shlib pic ./usr/lib/libarm.so.0 base-sys-shlib pic @@ -7,4 +19,381 @@ ./usr/lib/libpmc.so base-sys-shlib pic ./usr/lib/libpmc.so.1 base-sys-shlib pic ./usr/lib/libpmc.so.1.0 base-sys-shlib pic -./usr/libexec/ld.so base-sys-shlib pic +./usr/lib/oabi base-compat-lib compat,eabi +./usr/lib/oabi/i18n base-compat-lib compat,eabi +./usr/lib/oabi/i18n/libBIG5.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libEUC.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libHZ.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libISO2022.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUES.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUES.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUTF7.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUTF8.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libVIQR.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libZW.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libZW.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic +./usr/lib/oabi/libamu.so.4 base-compat-shlib compat,pic +./usr/lib/oabi/libamu.so.4.0 base-compat-shlib compat,pic +./usr/lib/oabi/libarchive.so.3 base-compat-shlib compat,pic +./usr/lib/oabi/libarchive.so.3.1 base-compat-shlib compat,pic +./usr/lib/oabi/libarm.so.0 base-sys-shlib compat,pic +./usr/lib/oabi/libarm.so.0.0 base-sys-shlib compat,pic +./usr/lib/oabi/libasn1.so.9 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libatf-c++.so.0 base-compat-shlib compat,pic,atf +./usr/lib/oabi/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf +./usr/lib/oabi/libatf-c.so.0 base-compat-shlib compat,pic,atf +./usr/lib/oabi/libatf-c.so.0.0 base-compat-shlib compat,pic,atf +./usr/lib/oabi/libbfd.so.13 base-compat-shlib compat,pic,binutils +./usr/lib/oabi/libbfd.so.13.0 base-compat-shlib compat,pic,binutils +./usr/lib/oabi/libbind9.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libbind9.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/libbluetooth.so.4 base-compat-shlib compat,pic +./usr/lib/oabi/libbluetooth.so.4.2 base-compat-shlib compat,pic +./usr/lib/oabi/libbsdmalloc.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libbsdmalloc.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libbz2.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libbz2.so.1.1 base-compat-shlib compat,pic +./usr/lib/oabi/libc++.so.1 base-compat-shlib compat,pic,libcxx +./usr/lib/oabi/libc++.so.1.0 base-compat-shlib compat,pic,libcxx +./usr/lib/oabi/libc.so.12 base-compat-shlib compat,pic +./usr/lib/oabi/libc.so.12.187 base-compat-shlib compat,pic +./usr/lib/oabi/libc_vfp.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libc_vfp.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libcom_err.so.7 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libcrypt.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libcrypt.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libcrypto.so.8 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libcrypto.so.8.1 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libcrypto_idea.so.7 base-obsolete obsolete +./usr/lib/oabi/libcrypto_idea.so.7.0 base-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2.so.7 base-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2.so.7.0 base-obsolete obsolete +./usr/lib/oabi/libcrypto_rc5.so.7 base-compat-shlib compat,pic,crypto,crypto_rc5 +./usr/lib/oabi/libcrypto_rc5.so.7.0 base-compat-shlib compat,pic,crypto,crypto_rc5 +./usr/lib/oabi/libcurses.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libcurses.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/libdes.so.8 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libdes.so.8.1 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libdevmapper.so.1 base-compat-shlib compat,pic,lvm +./usr/lib/oabi/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm +./usr/lib/oabi/libdm.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libdm.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libdns.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libdns.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/libdns_sd.so.0 base-compat-shlib compat,pic,mdns +./usr/lib/oabi/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns +./usr/lib/oabi/libdwarf.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libdwarf.so.0.1 base-compat-shlib compat,pic +./usr/lib/oabi/libedit.so.3 base-compat-shlib compat,pic +./usr/lib/oabi/libedit.so.3.1 base-compat-shlib compat,pic +./usr/lib/oabi/libelf.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libelf.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libevent.so.4 base-compat-shlib compat,pic +./usr/lib/oabi/libevent.so.4.0 base-compat-shlib compat,pic +./usr/lib/oabi/libevent_openssl.so.4 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libevent_openssl.so.4.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libevent_pthreads.so.4 base-compat-shlib compat,pic +./usr/lib/oabi/libevent_pthreads.so.4.0 base-compat-shlib compat,pic +./usr/lib/oabi/libexecinfo.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libexecinfo.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libexpat.so.2 base-compat-shlib compat,pic +./usr/lib/oabi/libexpat.so.2.1 base-compat-shlib compat,pic +./usr/lib/oabi/libfetch.so.3 base-compat-shlib compat,pic +./usr/lib/oabi/libfetch.so.3.0 base-compat-shlib compat,pic +./usr/lib/oabi/libform.so.6 base-compat-shlib compat,pic +./usr/lib/oabi/libform.so.6.0 base-compat-shlib compat,pic +./usr/lib/oabi/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds +./usr/lib/oabi/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds +./usr/lib/oabi/libgmp.so.10 base-compat-shlib obsolete +./usr/lib/oabi/libgmp.so.10.2 base-compat-shlib obsolete +./usr/lib/oabi/libgnumalloc.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libgnumalloc.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libgomp.so.1 base-compat-shlib compat,pic,gcc=45 +./usr/lib/oabi/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45 +./usr/lib/oabi/libgomp.so.1 base-compat-shlib compat,pic,gcc=48 +./usr/lib/oabi/libgomp.so.1.1 base-compat-shlib compat,pic,gcc=48 +./usr/lib/oabi/libgssapi.so.10 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libhdb.so.14 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libheimbase.so.1 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libhx509.so.5 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libintl.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libintl.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libipsec.so.3 base-compat-shlib compat,pic +./usr/lib/oabi/libipsec.so.3.0 base-compat-shlib compat,pic +./usr/lib/oabi/libisc.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libisc.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/libisccc.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libisccc.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/libisccfg.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libisccfg.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/libiscsi.so.2 base-compat-shlib compat,pic,iscsi +./usr/lib/oabi/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi +./usr/lib/oabi/libisns.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libisns.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkafs.so.12 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkdc.so.2 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkrb5.so.26 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libkvm.so.6 base-compat-shlib compat,pic +./usr/lib/oabi/libkvm.so.6.0 base-compat-shlib compat,pic +./usr/lib/oabi/liblber.so.3 base-compat-shlib compat,pic,ldap +./usr/lib/oabi/liblber.so.3.2 base-compat-shlib compat,pic,ldap +./usr/lib/oabi/libldap.so.4 base-compat-shlib compat,pic,ldap +./usr/lib/oabi/libldap.so.4.2 base-compat-shlib compat,pic,ldap +./usr/lib/oabi/libldap_r.so.4 base-compat-shlib compat,pic,ldap +./usr/lib/oabi/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap +./usr/lib/oabi/liblua.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/liblua.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/liblutok.so.1 base-obsolete obsolete +./usr/lib/oabi/liblutok.so.1.0 base-obsolete obsolete +./usr/lib/oabi/liblutok.so.2 base-compat-shlib compat,pic,kyua +./usr/lib/oabi/liblutok.so.2.0 base-compat-shlib compat,pic,kyua +./usr/lib/oabi/liblwres.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/liblwres.so.7.0 base-compat-shlib compat,pic +./usr/lib/oabi/liblzf.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/liblzf.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/liblzma.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/liblzma.so.1.1 base-compat-shlib compat,pic +./usr/lib/oabi/libm.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libm.so.0.10 base-compat-shlib compat,pic +./usr/lib/oabi/libmagic.so.5 base-compat-shlib compat,pic +./usr/lib/oabi/libmagic.so.5.0 base-compat-shlib compat,pic +./usr/lib/oabi/libmenu.so.6 base-compat-shlib compat,pic +./usr/lib/oabi/libmenu.so.6.0 base-compat-shlib compat,pic +./usr/lib/oabi/libmj.so.1 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libmj.so.1.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libmpc.so.2 base-compat-shlib obsolete +./usr/lib/oabi/libmpc.so.2.0 base-compat-shlib obsolete +./usr/lib/oabi/libmpfr.so.4 base-compat-shlib obsolete +./usr/lib/oabi/libmpfr.so.4.1 base-compat-shlib obsolete +./usr/lib/oabi/libnetpgp.so.3 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libnetpgpverify.so.4 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libnetpgpverify.so.4.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libnpf.so.0 base-compat-shlib compat,pic,npf +./usr/lib/oabi/libnpf.so.0.0 base-compat-shlib compat,pic,npf +./usr/lib/oabi/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,gcc=4 +./usr/lib/oabi/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,gcc=45 +./usr/lib/oabi/libobjc.so.4 base-compat-shlib compat,pic,gcccmds,gcc=48 +./usr/lib/oabi/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,gcc=4 +./usr/lib/oabi/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,gcc=45 +./usr/lib/oabi/libobjc.so.4.0 base-compat-shlib compat,pic,gcccmds,gcc=48 +./usr/lib/oabi/libopcodes.so.6 base-compat-shlib compat,pic,binutils +./usr/lib/oabi/libopcodes.so.6.0 base-compat-shlib compat,pic,binutils +./usr/lib/oabi/libossaudio.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libossaudio.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libp2k.so.2 base-compat-shlib compat,pic,rump +./usr/lib/oabi/libp2k.so.2.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/libpam.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/libpam.so.4.0 base-compat-shlib compat,pic,pam +./usr/lib/oabi/libpcap.so.5 base-compat-shlib compat,pic +./usr/lib/oabi/libpcap.so.5.0 base-compat-shlib compat,pic +./usr/lib/oabi/libpci.so.2 base-compat-shlib compat,pic +./usr/lib/oabi/libpci.so.2 base-compat-shlib compat,pic +./usr/lib/oabi/libpci.so.2.0 base-compat-shlib compat,pic +./usr/lib/oabi/libpci.so.2.0 base-compat-shlib compat,pic +./usr/lib/oabi/libperfuse.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libperfuse.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libpmc.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libpmc.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libposix.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libposix.so.0.1 base-compat-shlib compat,pic +./usr/lib/oabi/libppath.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libppath.so.0.0 base-compat-shlib compat,pic +./usr/lib/oabi/libprop.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libprop.so.1.1 base-compat-shlib compat,pic +./usr/lib/oabi/libpthread.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libpthread.so.1.2 base-compat-shlib compat,pic +./usr/lib/oabi/libpthread_dbg.so.2 base-compat-shlib compat,pic +./usr/lib/oabi/libpthread_dbg.so.2.0 base-compat-shlib compat,pic +./usr/lib/oabi/libpuffs.so.2 base-compat-shlib compat,pic +./usr/lib/oabi/libpuffs.so.2.0 base-compat-shlib compat,pic +./usr/lib/oabi/libquota.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libquota.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libradius.so.4 base-compat-shlib compat,pic +./usr/lib/oabi/libradius.so.4.0 base-compat-shlib compat,pic +./usr/lib/oabi/librefuse.so.2 base-compat-shlib compat,pic +./usr/lib/oabi/librefuse.so.2.0 base-compat-shlib compat,pic +./usr/lib/oabi/libresolv.so.3 base-compat-shlib compat,pic +./usr/lib/oabi/libresolv.so.3.0 base-compat-shlib compat,pic +./usr/lib/oabi/libroken.so.19 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libroken.so.19.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/librpcsvc.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/librpcsvc.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/librt.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/librt.so.1.1 base-compat-shlib compat,pic +./usr/lib/oabi/librump.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librump.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpclient.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpclient.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpcrypto.so.0 base-obsolete obsolete +./usr/lib/oabi/librumpcrypto.so.0.0 base-obsolete obsolete +./usr/lib/oabi/librumpdev.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpdev.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumphijack.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumphijack.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpnet.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpnet.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpuser.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpuser.so.0.1 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpvfs.so.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/libsaslc.so.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libsdp.so.2 base-obsolete obsolete +./usr/lib/oabi/libsdp.so.2.0 base-obsolete obsolete +./usr/lib/oabi/libskey.so.2 base-compat-shlib compat,pic,skey +./usr/lib/oabi/libskey.so.2.0 base-compat-shlib compat,pic,skey +./usr/lib/oabi/libsl.so.5 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libsl.so.5.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libsqlite3.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libsqlite3.so.1.1 base-compat-shlib compat,pic +./usr/lib/oabi/libss.so.6 base-compat-shlib obsolete +./usr/lib/oabi/libss.so.6.0 base-compat-shlib obsolete +./usr/lib/oabi/libssh.so.22 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libssh.so.22.0 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libssl.so.10 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libssl.so.10.1 base-compat-shlib compat,pic,crypto +./usr/lib/oabi/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx,libstdcxx +./usr/lib/oabi/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx,libstdcxx +./usr/lib/oabi/libstdc++.so.7.2 base-compat-shlib gcc=48,compat,pic,cxx,libstdcxx +./usr/lib/oabi/libsupc++.so.0 base-compat-shlib obsolete +./usr/lib/oabi/libsupc++.so.0.0 base-compat-shlib obsolete +./usr/lib/oabi/libtermcap.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libtermcap.so.0.6 base-compat-shlib compat,pic +./usr/lib/oabi/libterminfo.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libterminfo.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libtermlib.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libtermlib.so.0.6 base-compat-shlib compat,pic +./usr/lib/oabi/libtre.so.0 base-compat-shlib compat,pic +./usr/lib/oabi/libtre.so.0.8 base-compat-shlib compat,pic +./usr/lib/oabi/libukfs.so.1 base-compat-shlib compat,pic,rump +./usr/lib/oabi/libukfs.so.1.0 base-compat-shlib compat,pic,rump +./usr/lib/oabi/libusbhid.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libusbhid.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libutil.so.7 base-compat-shlib compat,pic +./usr/lib/oabi/libutil.so.7.21 base-compat-shlib compat,pic +./usr/lib/oabi/libwind.so.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libwind.so.0.0 base-compat-shlib compat,pic,kerberos +./usr/lib/oabi/libwrap.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libwrap.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/libz.so.1 base-compat-shlib compat,pic +./usr/lib/oabi/libz.so.1.0 base-compat-shlib compat,pic +./usr/lib/oabi/lua base-compat-shlib compat +./usr/lib/oabi/lua/5.1 base-compat-shlib compat +./usr/lib/oabi/lua/5.1/gpio.so base-compat-shlib compat,pic +./usr/lib/oabi/lua/5.1/sqlite.so base-compat-shlib compat,pic +./usr/lib/oabi/lua/5.1/syslog.so base-compat-shlib compat,pic +./usr/lib/oabi/npf base-obsolete obsolete +./usr/lib/oabi/npf/ext_log.so base-obsolete obsolete +./usr/lib/oabi/npf/ext_log.so.0 base-obsolete obsolete +./usr/lib/oabi/npf/ext_log.so.0.0 base-obsolete obsolete +./usr/lib/oabi/npf/ext_normalise.so base-obsolete obsolete +./usr/lib/oabi/npf/ext_normalise.so.0 base-obsolete obsolete +./usr/lib/oabi/npf/ext_normalise.so.0.0 base-obsolete obsolete +./usr/lib/oabi/npf/ext_rndblock.so base-obsolete obsolete +./usr/lib/oabi/npf/ext_rndblock.so.0 base-obsolete obsolete +./usr/lib/oabi/npf/ext_rndblock.so.0.0 base-obsolete obsolete +./usr/lib/oabi/security base-compat-shlib compat,eabi +./usr/lib/oabi/security/pam_afslog.so.4 base-compat-shlib compat,pic,kerberos,pam +./usr/lib/oabi/security/pam_chroot.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_deny.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_echo.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_exec.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_ftpusers.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_group.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_guest.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_krb5.so.4 base-compat-shlib compat,pic,kerberos,pam +./usr/lib/oabi/security/pam_ksu.so.4 base-compat-shlib compat,pic,kerberos,pam +./usr/lib/oabi/security/pam_lastlog.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_login_access.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_nologin.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_permit.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_radius.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_rhosts.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_rootok.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_securetty.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_self.so.4 base-compat-shlib compat,pic,pam +./usr/lib/oabi/security/pam_skey.so.4 base-compat-shlib compat,pic,skey,pam +./usr/lib/oabi/security/pam_ssh.so.4 base-compat-shlib compat,pic,crypto,pam +./usr/lib/oabi/security/pam_unix.so.4 base-compat-shlib compat,pic,pam +./usr/libexec/ld.elf_so-oabi base-sysutil-bin compat,pic +./usr/libexec/ld.so base-sys-shlib pic,endian=1234 +./usr/mdec/BBBB base-obsolete obsolete +./usr/mdec/boot26 base-sysutil-bin endian=1234,!eabi +./usr/mdec/boot26,ffa base-sysutil-bin endian=1234,!eabi +./usr/mdec/boot32 base-sysutil-bin endian=1234,!eabi +./usr/mdec/boot32,ffa base-sysutil-bin endian=1234,!eabi +./usr/mdec/bootimx23 base-sysutil-bin endian=1234 +./usr/mdec/bootmini2440 base-sysutil-bin +./usr/mdec/gzboot_ADI_BRH_0x00140000.bin base-sysutil-bin +./usr/mdec/gzboot_GEMINI_0x01600000.bin base-sysutil-bin endian=1234 +./usr/mdec/gzboot_IQ80310_0x00080000.bin base-sysutil-bin endian=1234 +./usr/mdec/gzboot_IQ80321_0xf0080000.bin base-sysutil-bin endian=1234 +./usr/mdec/gzboot_SMDK2410_0x00000000.bin base-sysutil-bin endian=1234 +./usr/mdec/gzboot_SMDK2800_0x00000000.bin base-sysutil-bin endian=1234 +./usr/mdec/gzboot_SMDK2800_0x00100000.bin base-sysutil-bin endian=1234 +./usr/mdec/gzboot_TS7200_0x60660000.bin base-sysutil-bin endian=1234 +./usr/mdec/nbfs base-sysutil-bin endian=1234,!eabi +./usr/mdec/nbfs,ffa base-sysutil-bin endian=1234,!eabi +./usr/mdec/zboot base-sysutil-bin endian=1234 +./usr/mdec/zbsdmod.o base-sysutil-bin endian=1234 +./usr/sbin/apm base-sysutil-bin +./usr/sbin/apmd base-sysutil-bin +./usr/sbin/eeprom base-sysutil-bin +./usr/sbin/elftosb base-sysutil-bin endian=1234 +./usr/sbin/ofctl base-sysutil-bin +./usr/sbin/sbkeygen base-sysutil-bin endian=1234 +./usr/sbin/sbtool base-sysutil-bin endian=1234 +./usr/sbin/tpctl base-sysutil-bin +./usr/sbin/zzz base-sysutil-bin diff --git a/distrib/sets/lists/base/ad.arm.shl b/distrib/sets/lists/base/ad.arm.shl new file mode 100644 index 000000000..698bdf126 --- /dev/null +++ b/distrib/sets/lists/base/ad.arm.shl @@ -0,0 +1,7 @@ +# $NetBSD: ad.arm.shl,v 1.4 2013/02/05 07:31:50 matt Exp $ +./lib/libc_vfp.so base-sys-shlib dynamicroot,softfloat +./lib/libc_vfp.so.0 base-sys-shlib dynamicroot,softfloat +./lib/libc_vfp.so.0.0 base-sys-shlib dynamicroot,softfloat +./usr/lib/libc_vfp.so base-sys-shlib softfloat +./usr/lib/libc_vfp.so.0 base-sys-shlib softfloat +./usr/lib/libc_vfp.so.0.0 base-sys-shlib softfloat diff --git a/distrib/sets/lists/base/ad.armeb b/distrib/sets/lists/base/ad.armeb deleted file mode 100644 index 9b1afc7be..000000000 --- a/distrib/sets/lists/base/ad.armeb +++ /dev/null @@ -1,12 +0,0 @@ -# $NetBSD: ad.armeb,v 1.5 2010/03/14 23:32:08 mrg Exp $ -# -# The armeb MACHINE_ARCH never existed in NetBSD as a.out, so we -# skip the old a.out compatibility tools. -# -./usr/bin/fdformat base-util-bin -./usr/lib/libarm.so base-sys-shlib pic -./usr/lib/libarm.so.0 base-sys-shlib pic -./usr/lib/libarm.so.0.0 base-sys-shlib pic -./usr/lib/libpmc.so base-sys-shlib pic -./usr/lib/libpmc.so.1 base-sys-shlib pic -./usr/lib/libpmc.so.1.0 base-sys-shlib pic diff --git a/distrib/sets/lists/base/ad.mips b/distrib/sets/lists/base/ad.mips index 61b9f1a26..2ed97bdf1 100644 --- a/distrib/sets/lists/base/ad.mips +++ b/distrib/sets/lists/base/ad.mips @@ -1,2 +1,710 @@ -# $NetBSD: ad.mips,v 1.9 2008/11/12 12:35:50 ad Exp $ -./usr/lkm/ldscript base-obsolete obsolete +# $NetBSD: ad.mips,v 1.23 2013/11/13 09:49:08 mbalmer Exp $ +./lib/64 base-compat-shlib compat,arch64 +./lib/64/npf base-npf-shlib compat,arch64 +./lib/64/npf/ext_log.so base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_log.so.0 base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_log.so.0.0 base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_normalize.so base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_normalize.so.0 base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_normalize.so.0.0 base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_rndblock.so base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_rndblock.so.0 base-npf-shlib compat,pic,arch64 +./lib/64/npf/ext_rndblock.so.0.0 base-npf-shlib compat,pic,arch64 +./lib/o32 base-compat-shlib compat,arch64 +./lib/o32/npf base-npf-shlib compat,arch64 +./lib/o32/npf/ext_log.so base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_log.so.0 base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_log.so.0.0 base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_normalize.so base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_normalize.so.0 base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_normalize.so.0.0 base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_rndblock.so base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_rndblock.so.0 base-npf-shlib compat,pic,arch64 +./lib/o32/npf/ext_rndblock.so.0.0 base-npf-shlib compat,pic,arch64 +./libexec/ld.elf_so-64 base-compat-shlib compat,pic,arch64 +./libexec/ld.elf_so-o32 base-sysutil-bin compat,pic,arch64 +./usr/lib/64 base-compat-lib arch64 +./usr/lib/64/i18n base-compat-lib arch64 +./usr/lib/64/i18n/libBIG5.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libEUC.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libHZ.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libISO2022.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUES.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUES.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUTF7.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUTF8.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libVIQR.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libZW.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libZW.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/64/libamu.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libamu.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libarchive.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libarchive.so.3.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libasn1.so.9 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libatf-c++.so.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/64/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/64/libatf-c.so.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/64/libatf-c.so.0.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/64/libbfd.so.13 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/64/libbfd.so.13.0 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/64/libbind9.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbind9.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbluetooth.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbluetooth.so.4.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbsdmalloc.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbsdmalloc.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbz2.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libbz2.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libc++.so.1 base-compat-shlib compat,pic,libcxx,arch64 +./usr/lib/64/libc++.so.1.0 base-compat-shlib compat,pic,libcxx,arch64 +./usr/lib/64/libc.so.12 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libc.so.12.187 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libcom_err.so.7 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libcrypt.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libcrypt.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libcrypto.so.8 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libcrypto.so.8.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libcrypto_idea.so.7 base-obsolete obsolete +./usr/lib/64/libcrypto_idea.so.7.0 base-obsolete obsolete +./usr/lib/64/libcrypto_mdc2.so.7 base-obsolete obsolete +./usr/lib/64/libcrypto_mdc2.so.7.0 base-obsolete obsolete +./usr/lib/64/libcrypto_rc5.so.7 base-compat-shlib compat,pic,crypto,crypto_rc5,arch64 +./usr/lib/64/libcrypto_rc5.so.7.0 base-compat-shlib compat,pic,crypto,crypto_rc5,arch64 +./usr/lib/64/libcurses.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libcurses.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libdes.so.8 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libdes.so.8.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libdevmapper.so.1 base-compat-shlib compat,pic,lvm,arch64 +./usr/lib/64/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm,arch64 +./usr/lib/64/libdm.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libdm.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libdns.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libdns.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libdns_sd.so.0 base-compat-shlib compat,pic,mdns,arch64 +./usr/lib/64/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns,arch64 +./usr/lib/64/libdwarf.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libdwarf.so.0.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libedit.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libedit.so.3.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libelf.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libelf.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libevent.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libevent.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libevent_openssl.so.4 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libevent_openssl.so.4.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libevent_pthreads.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libevent_pthreads.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libexecinfo.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libexecinfo.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libexpat.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libexpat.so.2.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libfetch.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libfetch.so.3.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libform.so.6 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libform.so.6.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds,arch64 +./usr/lib/64/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds,arch64 +./usr/lib/64/libgmp.so.10 base-compat-shlib obsolete,arch64 +./usr/lib/64/libgmp.so.10.2 base-compat-shlib obsolete,arch64 +./usr/lib/64/libgnumalloc.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libgnumalloc.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libgomp.so.1 base-compat-shlib compat,pic,gcc=45,notyet,arch64 +./usr/lib/64/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45,notyet,arch64 +./usr/lib/64/libgomp.so.1 base-compat-shlib compat,pic,gcc=48,notyet,arch64 +./usr/lib/64/libgomp.so.1.1 base-compat-shlib compat,pic,gcc=48,notyet,arch64 +./usr/lib/64/libgssapi.so.10 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libhdb.so.14 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libheimbase.so.1 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libhx509.so.5 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libintl.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libintl.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libipsec.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libipsec.so.3.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisc.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisc.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisccc.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisccc.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisccfg.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisccfg.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libiscsi.so.2 base-compat-shlib compat,pic,iscsi,arch64 +./usr/lib/64/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi,arch64 +./usr/lib/64/libisns.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libisns.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkafs.so.12 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkdc.so.2 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkrb5.so.26 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libkvm.so.6 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libkvm.so.6.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblber.so.3 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/64/liblber.so.3.2 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/64/libldap.so.4 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/64/libldap.so.4.2 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/64/libldap_r.so.4 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/64/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/64/liblua.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblua.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblutok.so.1 base-obsolete obsolete +./usr/lib/64/liblutok.so.1.0 base-obsolete obsolete +./usr/lib/64/liblutok.so.2 base-compat-shlib compat,pic,kyua,arch64 +./usr/lib/64/liblutok.so.2.0 base-compat-shlib compat,pic,kyua,arch64 +./usr/lib/64/liblwres.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblwres.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblzf.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblzf.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblzma.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/liblzma.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libm.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libm.so.0.10 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libmagic.so.5 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libmagic.so.5.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libmenu.so.6 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libmenu.so.6.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libmj.so.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libmj.so.1.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libmpc.so.2 base-compat-shlib obsolete,arch64 +./usr/lib/64/libmpc.so.2.0 base-compat-shlib obsolete,arch64 +./usr/lib/64/libmpfr.so.4 base-compat-shlib obsolete,arch64 +./usr/lib/64/libmpfr.so.4.1 base-compat-shlib obsolete,arch64 +./usr/lib/64/libnetpgp.so.3 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libnetpgpverify.so.4 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libnetpgpverify.so.4.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libnpf.so.0 base-compat-shlib compat,pic,npf,arch64 +./usr/lib/64/libnpf.so.0.0 base-compat-shlib compat,pic,npf,arch64 +./usr/lib/64/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,arch64,gcc=4 +./usr/lib/64/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,arch64,gcc=45 +./usr/lib/64/libobjc.so.4 base-compat-shlib compat,pic,gcccmds,arch64,gcc=48 +./usr/lib/64/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,arch64,gcc=4 +./usr/lib/64/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,arch64,gcc=45 +./usr/lib/64/libobjc.so.4.0 base-compat-shlib compat,pic,gcccmds,arch64,gcc=48 +./usr/lib/64/libopcodes.so.6 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/64/libopcodes.so.6.0 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/64/libossaudio.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libossaudio.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libp2k.so.2 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/libp2k.so.2.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/libpam.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/libpam.so.4.0 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/libpcap.so.5 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpcap.so.5.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpci.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpci.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libperfuse.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libperfuse.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libposix.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libposix.so.0.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libppath.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libppath.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libprop.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libprop.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpthread.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpthread.so.1.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpthread_dbg.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpthread_dbg.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpuffs.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpuffs.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libquota.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libquota.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libradius.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libradius.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/librefuse.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/64/librefuse.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libresolv.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libresolv.so.3.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libroken.so.19 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libroken.so.19.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/librpcsvc.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/librpcsvc.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/librt.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/librt.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/librump.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librump.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpclient.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpclient.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpcrypto.so.0 base-obsolete obsolete,rump +./usr/lib/64/librumpcrypto.so.0.0 base-obsolete obsolete,rump +./usr/lib/64/librumpdev.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpdev.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumphijack.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumphijack.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpnet.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpnet.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpuser.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpuser.so.0.1 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpvfs.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/libsaslc.so.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libsdp.so.2 base-obsolete obsolete +./usr/lib/64/libsdp.so.2.0 base-obsolete obsolete +./usr/lib/64/libskey.so.2 base-compat-shlib compat,pic,skey,arch64 +./usr/lib/64/libskey.so.2.0 base-compat-shlib compat,pic,skey,arch64 +./usr/lib/64/libsl.so.5 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libsl.so.5.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libsqlite3.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libsqlite3.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libss.so.6 base-compat-shlib obsolete,arch64 +./usr/lib/64/libss.so.6.0 base-compat-shlib obsolete,arch64 +./usr/lib/64/libssh.so.22 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libssh.so.22.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libssl.so.10 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libssl.so.10.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/64/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds,libstdcxx,arch64 +./usr/lib/64/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx,libstdcxx,arch64 +./usr/lib/64/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx,libstdcxx,arch64 +./usr/lib/64/libstdc++.so.7.2 base-compat-shlib gcc=48,compat,pic,cxx,libstdcxx,arch64 +./usr/lib/64/libsupc++.so.0 base-compat-shlib obsolete,arch64 +./usr/lib/64/libsupc++.so.0.0 base-compat-shlib obsolete,arch64 +./usr/lib/64/libtermcap.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libtermcap.so.0.6 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libterminfo.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libterminfo.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libtermlib.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libtermlib.so.0.6 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libtre.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libtre.so.0.8 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libukfs.so.1 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/libukfs.so.1.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/64/libusbhid.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libusbhid.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libutil.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libutil.so.7.21 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libwind.so.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libwind.so.0.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/64/libwrap.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libwrap.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libz.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libz.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/lua base-compat-shlib compat,arch64 +./usr/lib/64/lua/5.1 base-compat-shlib compat,arch64 +./usr/lib/64/lua/5.1/gpio.so base-compat-shlib compat,pic,arch64 +./usr/lib/64/lua/5.1/sqlite.so base-compat-shlib compat,pic,arch64 +./usr/lib/64/lua/5.1/syslog.so base-compat-shlib compat,pic,arch64 +./usr/lib/64/npf base-obsolete obsolete +./usr/lib/64/npf/ext_log.so base-obsolete obsolete +./usr/lib/64/npf/ext_log.so.0 base-obsolete obsolete +./usr/lib/64/npf/ext_log.so.0.0 base-obsolete obsolete +./usr/lib/64/npf/ext_normalise.so base-obsolete obsolete +./usr/lib/64/npf/ext_normalise.so.0 base-obsolete obsolete +./usr/lib/64/npf/ext_normalise.so.0.0 base-obsolete obsolete +./usr/lib/64/npf/ext_rndblock.so base-obsolete obsolete +./usr/lib/64/npf/ext_rndblock.so.0 base-obsolete obsolete +./usr/lib/64/npf/ext_rndblock.so.0.0 base-obsolete obsolete +./usr/lib/64/security base-compat-shlib arch64 +./usr/lib/64/security/pam_afslog.so.4 base-compat-shlib compat,pic,kerberos,pam,arch64 +./usr/lib/64/security/pam_chroot.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_deny.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_echo.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_exec.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_ftpusers.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_group.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_guest.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_krb5.so.4 base-compat-shlib compat,pic,kerberos,pam,arch64 +./usr/lib/64/security/pam_ksu.so.4 base-compat-shlib compat,pic,kerberos,pam,arch64 +./usr/lib/64/security/pam_lastlog.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_login_access.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_nologin.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_permit.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_radius.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_rhosts.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_rootok.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_securetty.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_self.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/64/security/pam_skey.so.4 base-compat-shlib compat,pic,skey,pam,arch64 +./usr/lib/64/security/pam_ssh.so.4 base-compat-shlib compat,pic,crypto,pam,arch64 +./usr/lib/64/security/pam_unix.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32 base-compat-lib arch64 +./usr/lib/o32/i18n base-compat-lib arch64 +./usr/lib/o32/i18n/libBIG5.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libEUC.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libHZ.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libISO2022.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUES.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUES.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUTF7.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUTF8.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libVIQR.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libZW.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libZW.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic,arch64 +./usr/lib/o32/libamu.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libamu.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libarchive.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libarchive.so.3.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libasn1.so.9 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libatf-c++.so.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/o32/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/o32/libatf-c.so.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/o32/libatf-c.so.0.0 base-compat-shlib compat,pic,atf,arch64 +./usr/lib/o32/libbfd.so.13 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/o32/libbfd.so.13.0 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/o32/libbind9.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbind9.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbluetooth.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbluetooth.so.4.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbsdmalloc.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbsdmalloc.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbz2.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libbz2.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libc++.so.1 base-compat-shlib compat,pic,libcxx,arch64 +./usr/lib/o32/libc++.so.1.0 base-compat-shlib compat,pic,libcxx,arch64 +./usr/lib/o32/libc.so.12 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libc.so.12.187 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libcom_err.so.7 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libcrypt.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libcrypt.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libcrypto.so.8 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libcrypto.so.8.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libcurses.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libcurses.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libdes.so.8 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libdes.so.8.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libdevmapper.so.1 base-compat-shlib compat,pic,lvm,arch64 +./usr/lib/o32/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm,arch64 +./usr/lib/o32/libdm.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libdm.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libdns.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libdns.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libdns_sd.so.0 base-compat-shlib compat,pic,mdns,arch64 +./usr/lib/o32/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns,arch64 +./usr/lib/o32/libdwarf.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libdwarf.so.0.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libedit.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libedit.so.3.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libelf.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libelf.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libevent.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libevent.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libevent_openssl.so.4 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libevent_openssl.so.4.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libevent_pthreads.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libevent_pthreads.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libexecinfo.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libexecinfo.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libexpat.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libexpat.so.2.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libfetch.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libfetch.so.3.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libform.so.6 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libform.so.6.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds,arch64 +./usr/lib/o32/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds,arch64 +./usr/lib/o32/libgmp.so.10 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libgmp.so.10.2 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libgnumalloc.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libgnumalloc.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libgomp.so.1 base-compat-shlib compat,pic,gcc=45,arch64 +./usr/lib/o32/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45,arch64 +./usr/lib/o32/libgomp.so.1 base-compat-shlib compat,pic,gcc=48,arch64 +./usr/lib/o32/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=48,arch64 +./usr/lib/o32/libgssapi.so.10 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libhdb.so.14 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libheimbase.so.1 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libhx509.so.5 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libintl.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libintl.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libipsec.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libipsec.so.3.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisc.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisc.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisccc.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisccc.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisccfg.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisccfg.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libiscsi.so.2 base-compat-shlib compat,pic,iscsi,arch64 +./usr/lib/o32/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi,arch64 +./usr/lib/o32/libisns.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libisns.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkafs.so.12 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkdc.so.2 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkrb5.so.26 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libkvm.so.6 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libkvm.so.6.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblber.so.3 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/o32/liblber.so.3.2 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/o32/libldap.so.4 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/o32/libldap.so.4.2 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/o32/libldap_r.so.4 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/o32/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap,arch64 +./usr/lib/o32/liblua.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblua.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblutok.so.1 base-compat-shlib compat,pic,kyua,arch64 +./usr/lib/o32/liblutok.so.1.0 base-compat-shlib compat,pic,kyua,arch64 +./usr/lib/o32/liblwres.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblwres.so.7.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblzf.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblzf.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblzma.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/liblzma.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libm.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libm.so.0.10 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libmagic.so.5 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libmagic.so.5.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libmenu.so.6 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libmenu.so.6.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libmj.so.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libmj.so.1.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libmpc.so.2 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libmpc.so.2.0 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libmpfr.so.4 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libmpfr.so.4.1 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libnetpgp.so.3 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libnetpgpverify.so.4 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libnetpgpverify.so.4.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libnpf.so.0 base-compat-shlib compat,pic,npf,arch64 +./usr/lib/o32/libnpf.so.0.0 base-compat-shlib compat,pic,npf,arch64 +./usr/lib/o32/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,arch64,gcc=4 +./usr/lib/o32/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,arch64,gcc=45 +./usr/lib/o32/libobjc.so.4 base-compat-shlib compat,pic,gcccmds,arch64,gcc=48 +./usr/lib/o32/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,arch64,gcc=4 +./usr/lib/o32/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,arch64,gcc=45 +./usr/lib/o32/libobjc.so.4.0 base-compat-shlib compat,pic,gcccmds,arch64,gcc=48 +./usr/lib/o32/libopcodes.so.6 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/o32/libopcodes.so.6.0 base-compat-shlib compat,pic,binutils,arch64 +./usr/lib/o32/libossaudio.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libossaudio.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libp2k.so.2 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/libp2k.so.2.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/libpam.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/libpam.so.4.0 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/libpcap.so.5 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpcap.so.5.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpci.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpci.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libperfuse.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libperfuse.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libposix.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libposix.so.0.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libppath.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libppath.so.0.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libprop.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libprop.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpthread.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpthread.so.1.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpthread_dbg.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpthread_dbg.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpuffs.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpuffs.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libquota.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libquota.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libradius.so.4 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libradius.so.4.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/librefuse.so.2 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/librefuse.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libresolv.so.3 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libresolv.so.3.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libroken.so.19 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libroken.so.19.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/librpcsvc.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/librpcsvc.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/librt.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/librt.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/librump.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librump.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpclient.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpclient.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpcrypto.so.0 base-obsolete obsolete,rump +./usr/lib/o32/librumpcrypto.so.0.0 base-obsolete obsolete,rump +./usr/lib/o32/librumpdev.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpdev.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumphijack.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumphijack.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpnet.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpnet.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpuser.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpuser.so.0.1 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpvfs.so.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/libsaslc.so.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libsdp.so.2 base-obsolete obsolete +./usr/lib/o32/libsdp.so.2.0 base-obsolete obsolete +./usr/lib/o32/libskey.so.2 base-compat-shlib compat,pic,skey,arch64 +./usr/lib/o32/libskey.so.2.0 base-compat-shlib compat,pic,skey,arch64 +./usr/lib/o32/libsl.so.5 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libsl.so.5.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libsqlite3.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libsqlite3.so.1.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libss.so.6 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libss.so.6.0 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libssh.so.22 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libssh.so.22.0 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libssl.so.10 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libssl.so.10.1 base-compat-shlib compat,pic,crypto,arch64 +./usr/lib/o32/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds,libstdcxx,arch64 +./usr/lib/o32/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx,libstdcxx,arch64 +./usr/lib/o32/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx,libstdcxx,arch64 +./usr/lib/o32/libstdc++.so.7.2 base-compat-shlib gcc=48,compat,pic,cxx,libstdcxx,arch64 +./usr/lib/o32/libsupc++.so.0 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libsupc++.so.0.0 base-compat-shlib obsolete,arch64 +./usr/lib/o32/libtermcap.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libtermcap.so.0.6 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libterminfo.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libterminfo.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libtermlib.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libtermlib.so.0.6 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libtre.so.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libtre.so.0.8 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libukfs.so.1 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/libukfs.so.1.0 base-compat-shlib compat,pic,rump,arch64 +./usr/lib/o32/libusbhid.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libusbhid.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libutil.so.7 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libutil.so.7.21 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libwind.so.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libwind.so.0.0 base-compat-shlib compat,pic,kerberos,arch64 +./usr/lib/o32/libwrap.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libwrap.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libz.so.1 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libz.so.1.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/lua base-compat-shlib compat,arch64 +./usr/lib/o32/lua/5.1 base-compat-shlib compat,arch64 +./usr/lib/o32/lua/5.1/gpio.so base-compat-shlib compat,pic,arch64 +./usr/lib/o32/lua/5.1/sqlite.so base-compat-shlib compat,pic,arch64 +./usr/lib/o32/lua/5.1/syslog.so base-compat-shlib compat,pic,arch64 +./usr/lib/o32/npf base-obsolete obsolete +./usr/lib/o32/npf/ext_log.so base-obsolete obsolete +./usr/lib/o32/npf/ext_log.so.0 base-obsolete obsolete +./usr/lib/o32/npf/ext_log.so.0.0 base-obsolete obsolete +./usr/lib/o32/npf/ext_normalise.so base-obsolete obsolete +./usr/lib/o32/npf/ext_normalise.so.0 base-obsolete obsolete +./usr/lib/o32/npf/ext_normalise.so.0.0 base-obsolete obsolete +./usr/lib/o32/npf/ext_rndblock.so base-obsolete obsolete +./usr/lib/o32/npf/ext_rndblock.so.0 base-obsolete obsolete +./usr/lib/o32/npf/ext_rndblock.so.0.0 base-obsolete obsolete +./usr/lib/o32/security base-compat-shlib arch64 +./usr/lib/o32/security/pam_afslog.so.4 base-compat-shlib compat,pic,kerberos,pam,arch64 +./usr/lib/o32/security/pam_chroot.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_deny.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_echo.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_exec.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_ftpusers.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_group.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_guest.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_krb5.so.4 base-compat-shlib compat,pic,kerberos,pam,arch64 +./usr/lib/o32/security/pam_ksu.so.4 base-compat-shlib compat,pic,kerberos,pam,arch64 +./usr/lib/o32/security/pam_lastlog.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_login_access.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_nologin.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_permit.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_radius.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_rhosts.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_rootok.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_securetty.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_self.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/lib/o32/security/pam_skey.so.4 base-compat-shlib compat,pic,skey,pam,arch64 +./usr/lib/o32/security/pam_ssh.so.4 base-compat-shlib compat,pic,crypto,pam,arch64 +./usr/lib/o32/security/pam_unix.so.4 base-compat-shlib compat,pic,pam,arch64 +./usr/libdata/debug/lib/64 base-compat-lib compat,arch64 +./usr/libdata/debug/lib/64/npf base-compat-lib compat,arch64 +./usr/libdata/debug/lib/o32 base-compat-lib compat,arch64 +./usr/libdata/debug/lib/o32/npf base-compat-lib compat,arch64 +./usr/libdata/debug/usr/lib/64 base-compat-lib compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n base-compat-lib compat,arch64 +./usr/libdata/debug/usr/lib/64/npf base-obsolete obsolete +./usr/libdata/debug/usr/lib/o32 base-compat-lib compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n base-compat-lib compat,arch64 +./usr/libdata/debug/usr/lib/o32/npf base-obsolete obsolete +./usr/libexec/ld.elf_so-64 base-compat-shlib compat,pic,arch64 +./usr/libexec/ld.elf_so-o32 base-sysutil-bin compat,pic,arch64 +./usr/lkm/ldscript base-obsolete obsolete diff --git a/distrib/sets/lists/base/ad.mips64eb b/distrib/sets/lists/base/ad.mips64eb deleted file mode 100644 index 5786bd723..000000000 --- a/distrib/sets/lists/base/ad.mips64eb +++ /dev/null @@ -1,624 +0,0 @@ -# $NetBSD: ad.mips64eb,v 1.101 2012/09/16 18:59:24 tls Exp $ -./libexec/ld.elf_so-64 base-compat-shlib compat,pic -./libexec/ld.elf_so-o32 base-sysutil-bin compat,pic -./usr/lib/64 base-compat-lib -./usr/lib/64/i18n base-compat-lib -./usr/lib/64/i18n/libBIG5.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUC.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libHZ.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libISO2022.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUES.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUES.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF7.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF8.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libVIQR.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libZW.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libZW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/libamu.so.4 base-compat-shlib compat,pic -./usr/lib/64/libamu.so.4.0 base-compat-shlib compat,pic -./usr/lib/64/libarchive.so.3 base-compat-shlib compat,pic -./usr/lib/64/libarchive.so.3.1 base-compat-shlib compat,pic -./usr/lib/64/libasn1.so.9 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libatf-c.so.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libatf-c.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libatf-c++.so.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libbfd.so.12 base-compat-shlib compat,pic,binutils -./usr/lib/64/libbfd.so.12.0 base-compat-shlib compat,pic,binutils -./usr/lib/64/libbind9.so.5 base-compat-shlib compat,pic -./usr/lib/64/libbind9.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libbluetooth.so.4 base-compat-shlib compat,pic -./usr/lib/64/libbluetooth.so.4.2 base-compat-shlib compat,pic -./usr/lib/64/libbsdmalloc.so.0 base-compat-shlib compat,pic -./usr/lib/64/libbsdmalloc.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libexecinfo.so.0 base-compat-shlib compat,pic -./usr/lib/64/libexecinfo.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libbz2.so.1 base-compat-shlib compat,pic -./usr/lib/64/libbz2.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libc.so.12 base-compat-shlib compat,pic -./usr/lib/64/libc.so.12.185 base-compat-shlib compat,pic -./usr/lib/64/libcom_err.so.7 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libcrypt.so.1 base-compat-shlib compat,pic -./usr/lib/64/libcrypt.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libcrypto.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/64/libcrypto.so.8.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libcrypto_idea.so.7 base-obsolete obsolete -./usr/lib/64/libcrypto_idea.so.7.0 base-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.so.7 base-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.so.7.0 base-obsolete obsolete -./usr/lib/64/libcrypto_rc5.so.7 base-compat-shlib compat,pic,crypto,crypto_rc5 -./usr/lib/64/libcrypto_rc5.so.7.0 base-compat-shlib compat,pic,crypto,crypto_rc5 -./usr/lib/64/libcurses.so.7 base-compat-shlib compat,pic -./usr/lib/64/libcurses.so.7.0 base-compat-shlib compat,pic -./usr/lib/64/libdes.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/64/libdes.so.8.1 base-compat-shlib compat,pic,crypto -./usr/lib/64/libdevmapper.so.1 base-compat-shlib compat,pic,lvm -./usr/lib/64/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm -./usr/lib/64/libdm.so.0 base-compat-shlib compat,pic -./usr/lib/64/libdm.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libdns.so.5 base-compat-shlib compat,pic -./usr/lib/64/libdns.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libdns_sd.so.0 base-compat-shlib compat,pic,mdns -./usr/lib/64/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns -./usr/lib/64/libdwarf.so.0 base-compat-shlib compat,pic -./usr/lib/64/libdwarf.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libedit.so.3 base-compat-shlib compat,pic -./usr/lib/64/libedit.so.3.0 base-compat-shlib compat,pic -./usr/lib/64/libelf.so.0 base-compat-shlib compat,pic -./usr/lib/64/libelf.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libevent.so.3 base-compat-shlib compat,pic -./usr/lib/64/libevent.so.3.2 base-compat-shlib compat,pic -./usr/lib/64/libexpat.so.2 base-compat-shlib compat,pic -./usr/lib/64/libexpat.so.2.1 base-compat-shlib compat,pic -./usr/lib/64/libfetch.so.3 base-compat-shlib compat,pic -./usr/lib/64/libfetch.so.3.0 base-compat-shlib compat,pic -./usr/lib/64/libform.so.6 base-compat-shlib compat,pic -./usr/lib/64/libform.so.6.0 base-compat-shlib compat,pic -./usr/lib/64/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libgmp.so.10 base-compat-shlib obsolete -./usr/lib/64/libgmp.so.10.2 base-compat-shlib obsolete -./usr/lib/64/libgnumalloc.so.1 base-compat-shlib compat,pic -./usr/lib/64/libgnumalloc.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libgomp.so.1 base-compat-shlib compat,pic,gcc=45,notyet -./usr/lib/64/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45,notyet -./usr/lib/64/libgssapi.so.10 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhdb.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimbase.so.1 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhx509.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libintl.so.1 base-compat-shlib compat,pic -./usr/lib/64/libintl.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libipsec.so.3 base-compat-shlib compat,pic -./usr/lib/64/libipsec.so.3.0 base-compat-shlib compat,pic -./usr/lib/64/libisc.so.5 base-compat-shlib compat,pic -./usr/lib/64/libisc.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libisccc.so.5 base-compat-shlib compat,pic -./usr/lib/64/libisccc.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libisccfg.so.5 base-compat-shlib compat,pic -./usr/lib/64/libisccfg.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libiscsi.so.2 base-compat-shlib compat,pic,iscsi -./usr/lib/64/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi -./usr/lib/64/libisns.so.0 base-compat-shlib compat,pic -./usr/lib/64/libisns.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkafs.so.12 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkdc.so.2 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkrb5.so.26 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkvm.so.6 base-compat-shlib compat,pic -./usr/lib/64/libkvm.so.6.0 base-compat-shlib compat,pic -./usr/lib/64/liblber.so.3 base-compat-shlib compat,pic,ldap -./usr/lib/64/liblber.so.3.2 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap_r.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/64/liblua.so.1 base-compat-shlib compat,pic -./usr/lib/64/liblua.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/liblwres.so.5 base-compat-shlib compat,pic -./usr/lib/64/liblwres.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/liblzf.so.1 base-compat-shlib compat,pic -./usr/lib/64/liblzf.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/liblzma.so.1 base-compat-shlib compat,pic -./usr/lib/64/liblzma.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libm.so.0 base-compat-shlib compat,pic -./usr/lib/64/libm.so.0.10 base-compat-shlib compat,pic -./usr/lib/64/libmagic.so.3 base-compat-shlib compat,pic -./usr/lib/64/libmagic.so.3.1 base-compat-shlib compat,pic -./usr/lib/64/libmenu.so.6 base-compat-shlib compat,pic -./usr/lib/64/libmenu.so.6.0 base-compat-shlib compat,pic -./usr/lib/64/libmj.so.1 base-compat-shlib compat,pic,crypto -./usr/lib/64/libmj.so.1.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libmpc.so.2 base-compat-shlib obsolete -./usr/lib/64/libmpc.so.2.0 base-compat-shlib obsolete -./usr/lib/64/libmpfr.so.4 base-compat-shlib obsolete -./usr/lib/64/libmpfr.so.4.1 base-compat-shlib obsolete -./usr/lib/64/libnetpgp.so.3 base-compat-shlib compat,pic,crypto -./usr/lib/64/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libnpf.so.0 base-compat-shlib compat,pic,npf -./usr/lib/64/libnpf.so.0.0 base-compat-shlib compat,pic,npf -./usr/lib/64/libobjc.so.3 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libopcodes.so.5 base-compat-shlib compat,pic,binutils -./usr/lib/64/libopcodes.so.5.0 base-compat-shlib compat,pic,binutils -./usr/lib/64/libossaudio.so.1 base-compat-shlib compat,pic -./usr/lib/64/libossaudio.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libp2k.so.2 base-compat-shlib compat,pic,rump -./usr/lib/64/libp2k.so.2.0 base-compat-shlib compat,pic,rump -./usr/lib/64/libpam.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/libpam.so.3.0 base-compat-shlib compat,pic,pam -./usr/lib/64/libpcap.so.4 base-compat-shlib compat,pic -./usr/lib/64/libpcap.so.4.0 base-compat-shlib compat,pic -./usr/lib/64/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/64/libpci.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libperfuse.so.0 base-compat-shlib compat,pic -./usr/lib/64/libperfuse.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libposix.so.0 base-compat-shlib compat,pic -./usr/lib/64/libposix.so.0.1 base-compat-shlib compat,pic -./usr/lib/64/libppath.so.0 base-compat-shlib compat,pic -./usr/lib/64/libppath.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libprop.so.1 base-compat-shlib compat,pic -./usr/lib/64/libprop.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libpthread.so.1 base-compat-shlib compat,pic -./usr/lib/64/libpthread.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libpthread_dbg.so.2 base-compat-shlib compat,pic -./usr/lib/64/libpthread_dbg.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libpuffs.so.2 base-compat-shlib compat,pic -./usr/lib/64/libpuffs.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libquota.so.1 base-compat-shlib compat,pic -./usr/lib/64/libquota.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libradius.so.4 base-compat-shlib compat,pic -./usr/lib/64/libradius.so.4.0 base-compat-shlib compat,pic -./usr/lib/64/librefuse.so.2 base-compat-shlib compat,pic -./usr/lib/64/librefuse.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libresolv.so.2 base-compat-shlib compat,pic -./usr/lib/64/libresolv.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libroken.so.19 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libroken.so.19.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/librpcsvc.so.1 base-compat-shlib compat,pic -./usr/lib/64/librpcsvc.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/librt.so.1 base-compat-shlib compat,pic -./usr/lib/64/librt.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/librump.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librump.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpclient.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpclient.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpcrypto.so.0 base-obsolete obsolete -./usr/lib/64/librumpcrypto.so.0.0 base-obsolete obsolete -./usr/lib/64/librumpdev.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpdev.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumphijack.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumphijack.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpnet.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpnet.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpuser.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpuser.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpvfs.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/libsaslc.so.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libsdp.so.2 base-obsolete obsolete -./usr/lib/64/libsdp.so.2.0 base-obsolete obsolete -./usr/lib/64/libskey.so.2 base-compat-shlib compat,pic,skey -./usr/lib/64/libskey.so.2.0 base-compat-shlib compat,pic,skey -./usr/lib/64/libsl.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libsl.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libsqlite3.so.1 base-compat-shlib compat,pic -./usr/lib/64/libsqlite3.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libss.so.6 base-compat-shlib obsolete -./usr/lib/64/libss.so.6.0 base-compat-shlib obsolete -./usr/lib/64/libssh.so.19 base-compat-shlib compat,pic,crypto -./usr/lib/64/libssh.so.19.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libssl.so.10 base-compat-shlib compat,pic,crypto -./usr/lib/64/libssl.so.10.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds -./usr/lib/64/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx -./usr/lib/64/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx -./usr/lib/64/libsupc++.so.0 base-compat-shlib obsolete -./usr/lib/64/libsupc++.so.0.0 base-compat-shlib obsolete -./usr/lib/64/libtermcap.so.0 base-compat-shlib compat,pic -./usr/lib/64/libtermcap.so.0.6 base-compat-shlib compat,pic -./usr/lib/64/libterminfo.so.1 base-compat-shlib compat,pic -./usr/lib/64/libterminfo.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libtermlib.so.0 base-compat-shlib compat,pic -./usr/lib/64/libtermlib.so.0.6 base-compat-shlib compat,pic -./usr/lib/64/libtre.so.0 base-compat-shlib compat,pic -./usr/lib/64/libtre.so.0.8 base-compat-shlib compat,pic -./usr/lib/64/libukfs.so.1 base-compat-shlib compat,pic,rump -./usr/lib/64/libukfs.so.1.0 base-compat-shlib compat,pic,rump -./usr/lib/64/libusbhid.so.1 base-compat-shlib compat,pic -./usr/lib/64/libusbhid.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libutil.so.7 base-compat-shlib compat,pic -./usr/lib/64/libutil.so.7.21 base-compat-shlib compat,pic -./usr/lib/64/libwind.so.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libwind.so.0.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libwrap.so.1 base-compat-shlib compat,pic -./usr/lib/64/libwrap.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libz.so.1 base-compat-shlib compat,pic -./usr/lib/64/libz.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/lua base-compat-shlib compat -./usr/lib/64/lua/5.1 base-compat-shlib compat -./usr/lib/64/lua/5.1/gpio.so base-compat-shlib compat,pic -./usr/lib/64/lua/5.1/sqlite.so base-compat-shlib compat,pic -./usr/lib/64/security base-compat-shlib -./usr/lib/64/security/pam_afslog.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/64/security/pam_chroot.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_deny.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_echo.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_exec.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_ftpusers.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_group.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_guest.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_krb5.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/64/security/pam_ksu.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/64/security/pam_lastlog.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_login_access.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_nologin.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_permit.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_radius.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_rhosts.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_rootok.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_securetty.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_self.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_skey.so.3 base-compat-shlib compat,pic,skey,pam -./usr/lib/64/security/pam_ssh.so.3 base-compat-shlib compat,pic,crypto,pam -./usr/lib/64/security/pam_unix.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32 base-compat-lib -./usr/lib/o32/i18n base-compat-lib -./usr/lib/o32/i18n/libBIG5.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUC.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libHZ.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libISO2022.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUES.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUES.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF7.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF8.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libVIQR.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libZW.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libZW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/libamu.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libamu.so.4.0 base-compat-shlib compat,pic -./usr/lib/o32/libarchive.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libarchive.so.3.1 base-compat-shlib compat,pic -./usr/lib/o32/libasn1.so.9 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libatf-c.so.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libatf-c.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libatf-c++.so.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libbfd.so.12 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libbfd.so.12.0 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libbind9.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libbind9.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libbluetooth.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libbluetooth.so.4.2 base-compat-shlib compat,pic -./usr/lib/o32/libbsdmalloc.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libbsdmalloc.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libbz2.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libbz2.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libc.so.12 base-compat-shlib compat,pic -./usr/lib/o32/libc.so.12.185 base-compat-shlib compat,pic -./usr/lib/o32/libcom_err.so.7 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libcrypt.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libcrypt.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libcrypto.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libcrypto.so.8.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libcurses.so.7 base-compat-shlib compat,pic -./usr/lib/o32/libcurses.so.7.0 base-compat-shlib compat,pic -./usr/lib/o32/libdes.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libdes.so.8.1 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libdevmapper.so.1 base-compat-shlib compat,pic,lvm -./usr/lib/o32/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm -./usr/lib/o32/libdm.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libdm.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libdns.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libdns.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libdns_sd.so.0 base-compat-shlib compat,pic,mdns -./usr/lib/o32/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns -./usr/lib/o32/libdwarf.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libdwarf.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libedit.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libedit.so.3.0 base-compat-shlib compat,pic -./usr/lib/o32/libelf.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libelf.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libevent.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libevent.so.3.2 base-compat-shlib compat,pic -./usr/lib/o32/libexpat.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libexpat.so.2.1 base-compat-shlib compat,pic -./usr/lib/o32/libfetch.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libfetch.so.3.0 base-compat-shlib compat,pic -./usr/lib/o32/libform.so.6 base-compat-shlib compat,pic -./usr/lib/o32/libform.so.6.0 base-compat-shlib compat,pic -./usr/lib/o32/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libgmp.so.10 base-compat-shlib obsolete -./usr/lib/o32/libgmp.so.10.2 base-compat-shlib obsolete -./usr/lib/o32/libgnumalloc.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libgnumalloc.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libgomp.so.1 base-compat-shlib compat,pic,gcc=45 -./usr/lib/o32/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45 -./usr/lib/o32/libgssapi.so.10 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhdb.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimbase.so.1 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhx509.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libintl.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libintl.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libipsec.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libipsec.so.3.0 base-compat-shlib compat,pic -./usr/lib/o32/libisc.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libisc.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libisccc.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libisccc.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libisccfg.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libisccfg.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libiscsi.so.2 base-compat-shlib compat,pic,iscsi -./usr/lib/o32/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi -./usr/lib/o32/libisns.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libisns.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkafs.so.12 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkdc.so.2 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkrb5.so.26 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkvm.so.6 base-compat-shlib compat,pic -./usr/lib/o32/libkvm.so.6.0 base-compat-shlib compat,pic -./usr/lib/o32/liblber.so.3 base-compat-shlib compat,pic,ldap -./usr/lib/o32/liblber.so.3.2 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap_r.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/o32/liblua.so.1 base-compat-shlib compat,pic -./usr/lib/o32/liblua.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/liblwres.so.5 base-compat-shlib compat,pic -./usr/lib/o32/liblwres.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/liblzf.so.1 base-compat-shlib compat,pic -./usr/lib/o32/liblzf.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/liblzma.so.1 base-compat-shlib compat,pic -./usr/lib/o32/liblzma.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libm.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libm.so.0.10 base-compat-shlib compat,pic -./usr/lib/o32/libmagic.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libmagic.so.3.1 base-compat-shlib compat,pic -./usr/lib/o32/libmenu.so.6 base-compat-shlib compat,pic -./usr/lib/o32/libmenu.so.6.0 base-compat-shlib compat,pic -./usr/lib/o32/libmj.so.1 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libmj.so.1.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libmpc.so.2 base-compat-shlib obsolete -./usr/lib/o32/libmpc.so.2.0 base-compat-shlib obsolete -./usr/lib/o32/libmpfr.so.4 base-compat-shlib obsolete -./usr/lib/o32/libmpfr.so.4.1 base-compat-shlib obsolete -./usr/lib/o32/libnetpgp.so.3 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libnpf.so.0 base-compat-shlib compat,pic,npf -./usr/lib/o32/libnpf.so.0.0 base-compat-shlib compat,pic,npf -./usr/lib/o32/libobjc.so.3 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libopcodes.so.5 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libopcodes.so.5.0 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libossaudio.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libossaudio.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libp2k.so.2 base-compat-shlib compat,pic,rump -./usr/lib/o32/libp2k.so.2.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/libpam.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/libpam.so.3.0 base-compat-shlib compat,pic,pam -./usr/lib/o32/libpcap.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libpcap.so.4.0 base-compat-shlib compat,pic -./usr/lib/o32/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libpci.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libperfuse.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libperfuse.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libposix.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libposix.so.0.1 base-compat-shlib compat,pic -./usr/lib/o32/libppath.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libppath.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libprop.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libprop.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libpthread.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libpthread.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libpthread_dbg.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libpthread_dbg.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libpuffs.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libpuffs.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libquota.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libquota.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libradius.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libradius.so.4.0 base-compat-shlib compat,pic -./usr/lib/o32/librefuse.so.2 base-compat-shlib compat,pic -./usr/lib/o32/librefuse.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libresolv.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libresolv.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libroken.so.19 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libroken.so.19.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/librpcsvc.so.1 base-compat-shlib compat,pic -./usr/lib/o32/librpcsvc.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/librt.so.1 base-compat-shlib compat,pic -./usr/lib/o32/librt.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/librump.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librump.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpclient.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpclient.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpcrypto.so.0 base-obsolete obsolete,rump -./usr/lib/o32/librumpcrypto.so.0.0 base-obsolete obsolete,rump -./usr/lib/o32/librumpdev.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpdev.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumphijack.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumphijack.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpnet.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpnet.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpuser.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpuser.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpvfs.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/libsaslc.so.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libsdp.so.2 base-obsolete obsolete -./usr/lib/o32/libsdp.so.2.0 base-obsolete obsolete -./usr/lib/o32/libskey.so.2 base-compat-shlib compat,pic,skey -./usr/lib/o32/libskey.so.2.0 base-compat-shlib compat,pic,skey -./usr/lib/o32/libsl.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libsl.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libsqlite3.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libsqlite3.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libss.so.6 base-compat-shlib obsolete -./usr/lib/o32/libss.so.6.0 base-compat-shlib obsolete -./usr/lib/o32/libssh.so.19 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libssh.so.19.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libssl.so.10 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libssl.so.10.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds -./usr/lib/o32/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx -./usr/lib/o32/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx -./usr/lib/o32/libsupc++.so.0 base-compat-shlib obsolete -./usr/lib/o32/libsupc++.so.0.0 base-compat-shlib obsolete -./usr/lib/o32/libtermcap.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libtermcap.so.0.6 base-compat-shlib compat,pic -./usr/lib/o32/libterminfo.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libterminfo.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libtermlib.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libtermlib.so.0.6 base-compat-shlib compat,pic -./usr/lib/o32/libtre.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libtre.so.0.8 base-compat-shlib compat,pic -./usr/lib/o32/libukfs.so.1 base-compat-shlib compat,pic,rump -./usr/lib/o32/libukfs.so.1.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/libusbhid.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libusbhid.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libutil.so.7 base-compat-shlib compat,pic -./usr/lib/o32/libutil.so.7.21 base-compat-shlib compat,pic -./usr/lib/o32/libwind.so.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libwind.so.0.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libwrap.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libwrap.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libexecinfo.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libexecinfo.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libz.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libz.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/lua base-compat-shlib compat -./usr/lib/o32/lua/5.1 base-compat-shlib compat -./usr/lib/o32/lua/5.1/gpio.so base-compat-shlib compat,pic -./usr/lib/o32/lua/5.1/sqlite.so base-compat-shlib compat,pic -./usr/lib/o32/security base-compat-shlib -./usr/lib/o32/security/pam_afslog.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/o32/security/pam_chroot.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_deny.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_echo.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_exec.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_ftpusers.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_group.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_guest.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_krb5.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/o32/security/pam_ksu.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/o32/security/pam_lastlog.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_login_access.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_nologin.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_permit.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_radius.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_rhosts.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_rootok.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_securetty.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_self.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_skey.so.3 base-compat-shlib compat,pic,skey,pam -./usr/lib/o32/security/pam_ssh.so.3 base-compat-shlib compat,pic,crypto,pam -./usr/lib/o32/security/pam_unix.so.3 base-compat-shlib compat,pic,pam -./usr/libdata/debug/usr/lib/64 base-compat-lib compat -./usr/libdata/debug/usr/lib/64/i18n base-compat-lib compat -./usr/libdata/debug/usr/lib/o32 base-compat-lib compat -./usr/libdata/debug/usr/lib/o32/i18n base-compat-lib compat -./usr/libexec/ld.elf_so-64 base-compat-shlib compat,pic -./usr/libexec/ld.elf_so-o32 base-sysutil-bin compat,pic -./usr/lkm/ldscript base-obsolete obsolete diff --git a/distrib/sets/lists/base/ad.mips64el b/distrib/sets/lists/base/ad.mips64el deleted file mode 100644 index 1d3417f71..000000000 --- a/distrib/sets/lists/base/ad.mips64el +++ /dev/null @@ -1,624 +0,0 @@ -# $NetBSD: ad.mips64el,v 1.100 2012/09/16 18:59:24 tls Exp $ -./libexec/ld.elf_so-64 base-compat-shlib compat,pic -./libexec/ld.elf_so-o32 base-sysutil-bin compat,pic -./usr/lib/64 base-compat-lib -./usr/lib/64/i18n base-compat-lib -./usr/lib/64/i18n/libBIG5.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUC.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libHZ.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libISO2022.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUES.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUES.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF7.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF8.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libVIQR.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libZW.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libZW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic -./usr/lib/64/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic -./usr/lib/64/libamu.so.4 base-compat-shlib compat,pic -./usr/lib/64/libamu.so.4.0 base-compat-shlib compat,pic -./usr/lib/64/libarchive.so.3 base-compat-shlib compat,pic -./usr/lib/64/libarchive.so.3.1 base-compat-shlib compat,pic -./usr/lib/64/libasn1.so.9 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libatf-c.so.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libatf-c.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libatf-c++.so.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/64/libbfd.so.12 base-compat-shlib compat,pic,binutils -./usr/lib/64/libbfd.so.12.0 base-compat-shlib compat,pic,binutils -./usr/lib/64/libbind9.so.5 base-compat-shlib compat,pic -./usr/lib/64/libbind9.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libbluetooth.so.4 base-compat-shlib compat,pic -./usr/lib/64/libbluetooth.so.4.2 base-compat-shlib compat,pic -./usr/lib/64/libbsdmalloc.so.0 base-compat-shlib compat,pic -./usr/lib/64/libbsdmalloc.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libbz2.so.1 base-compat-shlib compat,pic -./usr/lib/64/libbz2.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libc.so.12 base-compat-shlib compat,pic -./usr/lib/64/libc.so.12.185 base-compat-shlib compat,pic -./usr/lib/64/libcom_err.so.7 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libcrypt.so.1 base-compat-shlib compat,pic -./usr/lib/64/libcrypt.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libcrypto.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/64/libcrypto.so.8.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libcrypto_idea.so.7 base-obsolete obsolete -./usr/lib/64/libcrypto_idea.so.7.0 base-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.so.7 base-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.so.7.0 base-obsolete obsolete -./usr/lib/64/libcrypto_rc5.so.7 base-compat-shlib compat,pic,crypto,crypto_rc5 -./usr/lib/64/libcrypto_rc5.so.7.0 base-compat-shlib compat,pic,crypto,crypto_rc5 -./usr/lib/64/libcurses.so.7 base-compat-shlib compat,pic -./usr/lib/64/libcurses.so.7.0 base-compat-shlib compat,pic -./usr/lib/64/libdes.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/64/libdes.so.8.1 base-compat-shlib compat,pic,crypto -./usr/lib/64/libdevmapper.so.1 base-compat-shlib compat,pic,lvm -./usr/lib/64/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm -./usr/lib/64/libdm.so.0 base-compat-shlib compat,pic -./usr/lib/64/libdm.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libdns.so.5 base-compat-shlib compat,pic -./usr/lib/64/libdns.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libdns_sd.so.0 base-compat-shlib compat,pic,mdns -./usr/lib/64/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns -./usr/lib/64/libdwarf.so.0 base-compat-shlib compat,pic -./usr/lib/64/libdwarf.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libedit.so.3 base-compat-shlib compat,pic -./usr/lib/64/libedit.so.3.0 base-compat-shlib compat,pic -./usr/lib/64/libelf.so.0 base-compat-shlib compat,pic -./usr/lib/64/libelf.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libevent.so.3 base-compat-shlib compat,pic -./usr/lib/64/libevent.so.3.2 base-compat-shlib compat,pic -./usr/lib/64/libexpat.so.2 base-compat-shlib compat,pic -./usr/lib/64/libexpat.so.2.1 base-compat-shlib compat,pic -./usr/lib/64/libfetch.so.3 base-compat-shlib compat,pic -./usr/lib/64/libfetch.so.3.0 base-compat-shlib compat,pic -./usr/lib/64/libform.so.6 base-compat-shlib compat,pic -./usr/lib/64/libform.so.6.0 base-compat-shlib compat,pic -./usr/lib/64/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libgmp.so.10 base-compat-shlib obsolete -./usr/lib/64/libgmp.so.10.2 base-compat-shlib obsolete -./usr/lib/64/libgnumalloc.so.1 base-compat-shlib compat,pic -./usr/lib/64/libgnumalloc.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libgomp.so.1 base-compat-shlib compat,pic,gcc=45,notyet -./usr/lib/64/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45,notyet -./usr/lib/64/libgssapi.so.10 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhdb.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimbase.so.1 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhx509.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libintl.so.1 base-compat-shlib compat,pic -./usr/lib/64/libintl.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libipsec.so.3 base-compat-shlib compat,pic -./usr/lib/64/libipsec.so.3.0 base-compat-shlib compat,pic -./usr/lib/64/libisc.so.5 base-compat-shlib compat,pic -./usr/lib/64/libisc.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libisccc.so.5 base-compat-shlib compat,pic -./usr/lib/64/libisccc.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libisccfg.so.5 base-compat-shlib compat,pic -./usr/lib/64/libisccfg.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/libiscsi.so.2 base-compat-shlib compat,pic,iscsi -./usr/lib/64/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi -./usr/lib/64/libisns.so.0 base-compat-shlib compat,pic -./usr/lib/64/libisns.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkafs.so.12 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkdc.so.2 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkrb5.so.26 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libkvm.so.6 base-compat-shlib compat,pic -./usr/lib/64/libkvm.so.6.0 base-compat-shlib compat,pic -./usr/lib/64/liblber.so.3 base-compat-shlib compat,pic,ldap -./usr/lib/64/liblber.so.3.2 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap_r.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/64/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/64/liblua.so.1 base-compat-shlib compat,pic -./usr/lib/64/liblua.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/liblwres.so.5 base-compat-shlib compat,pic -./usr/lib/64/liblwres.so.5.7 base-compat-shlib compat,pic -./usr/lib/64/liblzf.so.1 base-compat-shlib compat,pic -./usr/lib/64/liblzf.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/liblzma.so.1 base-compat-shlib compat,pic -./usr/lib/64/liblzma.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libm.so.0 base-compat-shlib compat,pic -./usr/lib/64/libm.so.0.10 base-compat-shlib compat,pic -./usr/lib/64/libmagic.so.3 base-compat-shlib compat,pic -./usr/lib/64/libmagic.so.3.1 base-compat-shlib compat,pic -./usr/lib/64/libmenu.so.6 base-compat-shlib compat,pic -./usr/lib/64/libmenu.so.6.0 base-compat-shlib compat,pic -./usr/lib/64/libmj.so.1 base-compat-shlib compat,pic,crypto -./usr/lib/64/libmj.so.1.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libmpc.so.2 base-compat-shlib obsolete -./usr/lib/64/libmpc.so.2.0 base-compat-shlib obsolete -./usr/lib/64/libmpfr.so.4 base-compat-shlib obsolete -./usr/lib/64/libmpfr.so.4.1 base-compat-shlib obsolete -./usr/lib/64/libnetpgp.so.3 base-compat-shlib compat,pic,crypto -./usr/lib/64/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libnpf.so.0 base-compat-shlib compat,pic,npf -./usr/lib/64/libnpf.so.0.0 base-compat-shlib compat,pic,npf -./usr/lib/64/libobjc.so.3 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/64/libopcodes.so.5 base-compat-shlib compat,pic,binutils -./usr/lib/64/libopcodes.so.5.0 base-compat-shlib compat,pic,binutils -./usr/lib/64/libossaudio.so.1 base-compat-shlib compat,pic -./usr/lib/64/libossaudio.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libp2k.so.2 base-compat-shlib compat,pic,rump -./usr/lib/64/libp2k.so.2.0 base-compat-shlib compat,pic,rump -./usr/lib/64/libpam.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/libpam.so.3.0 base-compat-shlib compat,pic,pam -./usr/lib/64/libpcap.so.4 base-compat-shlib compat,pic -./usr/lib/64/libpcap.so.4.0 base-compat-shlib compat,pic -./usr/lib/64/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/64/libpci.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libperfuse.so.0 base-compat-shlib compat,pic -./usr/lib/64/libperfuse.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libposix.so.0 base-compat-shlib compat,pic -./usr/lib/64/libposix.so.0.1 base-compat-shlib compat,pic -./usr/lib/64/libppath.so.0 base-compat-shlib compat,pic -./usr/lib/64/libppath.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libprop.so.1 base-compat-shlib compat,pic -./usr/lib/64/libprop.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libpthread.so.1 base-compat-shlib compat,pic -./usr/lib/64/libpthread.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libpthread_dbg.so.2 base-compat-shlib compat,pic -./usr/lib/64/libpthread_dbg.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libpuffs.so.2 base-compat-shlib compat,pic -./usr/lib/64/libpuffs.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libquota.so.1 base-compat-shlib compat,pic -./usr/lib/64/libquota.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libradius.so.4 base-compat-shlib compat,pic -./usr/lib/64/libradius.so.4.0 base-compat-shlib compat,pic -./usr/lib/64/librefuse.so.2 base-compat-shlib compat,pic -./usr/lib/64/librefuse.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libresolv.so.2 base-compat-shlib compat,pic -./usr/lib/64/libresolv.so.2.0 base-compat-shlib compat,pic -./usr/lib/64/libroken.so.19 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libroken.so.19.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/librpcsvc.so.1 base-compat-shlib compat,pic -./usr/lib/64/librpcsvc.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/librt.so.1 base-compat-shlib compat,pic -./usr/lib/64/librt.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/librump.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librump.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpclient.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpclient.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpcrypto.so.0 base-obsolete obsolete,rump -./usr/lib/64/librumpcrypto.so.0.0 base-obsolete obsolete,rump -./usr/lib/64/librumpdev.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpdev.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumphijack.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumphijack.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpnet.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpnet.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpuser.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpuser.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpvfs.so.0 base-compat-shlib compat,pic,rump -./usr/lib/64/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/64/libsaslc.so.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libsdp.so.2 base-obsolete obsolete -./usr/lib/64/libsdp.so.2.0 base-obsolete obsolete -./usr/lib/64/libskey.so.2 base-compat-shlib compat,pic,skey -./usr/lib/64/libskey.so.2.0 base-compat-shlib compat,pic,skey -./usr/lib/64/libsl.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libsl.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libsqlite3.so.1 base-compat-shlib compat,pic -./usr/lib/64/libsqlite3.so.1.1 base-compat-shlib compat,pic -./usr/lib/64/libss.so.6 base-compat-shlib obsolete -./usr/lib/64/libss.so.6.0 base-compat-shlib obsolete -./usr/lib/64/libssh.so.19 base-compat-shlib compat,pic,crypto -./usr/lib/64/libssh.so.19.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libssl.so.10 base-compat-shlib compat,pic,crypto -./usr/lib/64/libssl.so.10.0 base-compat-shlib compat,pic,crypto -./usr/lib/64/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds -./usr/lib/64/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx -./usr/lib/64/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx -./usr/lib/64/libsupc++.so.0 base-compat-shlib obsolete -./usr/lib/64/libsupc++.so.0.0 base-compat-shlib obsolete -./usr/lib/64/libtermcap.so.0 base-compat-shlib compat,pic -./usr/lib/64/libtermcap.so.0.6 base-compat-shlib compat,pic -./usr/lib/64/libterminfo.so.1 base-compat-shlib compat,pic -./usr/lib/64/libterminfo.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libtermlib.so.0 base-compat-shlib compat,pic -./usr/lib/64/libtermlib.so.0.6 base-compat-shlib compat,pic -./usr/lib/64/libtre.so.0 base-compat-shlib compat,pic -./usr/lib/64/libtre.so.0.8 base-compat-shlib compat,pic -./usr/lib/64/libukfs.so.1 base-compat-shlib compat,pic,rump -./usr/lib/64/libukfs.so.1.0 base-compat-shlib compat,pic,rump -./usr/lib/64/libusbhid.so.1 base-compat-shlib compat,pic -./usr/lib/64/libusbhid.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libutil.so.7 base-compat-shlib compat,pic -./usr/lib/64/libutil.so.7.21 base-compat-shlib compat,pic -./usr/lib/64/libwind.so.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libwind.so.0.0 base-compat-shlib compat,pic,kerberos -./usr/lib/64/libwrap.so.1 base-compat-shlib compat,pic -./usr/lib/64/libwrap.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/libexecinfo.so.0 base-compat-shlib compat,pic -./usr/lib/64/libexecinfo.so.0.0 base-compat-shlib compat,pic -./usr/lib/64/libz.so.1 base-compat-shlib compat,pic -./usr/lib/64/libz.so.1.0 base-compat-shlib compat,pic -./usr/lib/64/lua base-compat-shlib compat -./usr/lib/64/lua/5.1 base-compat-shlib compat -./usr/lib/64/lua/5.1/gpio.so base-compat-shlib compat,pic -./usr/lib/64/lua/5.1/sqlite.so base-compat-shlib compat,pic -./usr/lib/64/security base-compat-shlib -./usr/lib/64/security/pam_afslog.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/64/security/pam_chroot.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_deny.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_echo.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_exec.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_ftpusers.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_group.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_guest.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_krb5.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/64/security/pam_ksu.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/64/security/pam_lastlog.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_login_access.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_nologin.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_permit.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_radius.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_rhosts.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_rootok.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_securetty.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_self.so.3 base-compat-shlib compat,pic,pam -./usr/lib/64/security/pam_skey.so.3 base-compat-shlib compat,pic,skey,pam -./usr/lib/64/security/pam_ssh.so.3 base-compat-shlib compat,pic,crypto,pam -./usr/lib/64/security/pam_unix.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32 base-compat-lib -./usr/lib/o32/i18n base-compat-lib -./usr/lib/o32/i18n/libBIG5.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libBIG5.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libDECHanyu.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libDECHanyu.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUC.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUC.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libGBK2K.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libGBK2K.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libHZ.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libHZ.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libISO2022.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libISO2022.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libJOHAB.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libJOHAB.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libMSKanji.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libMSKanji.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUES.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUES.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF1632.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF1632.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF7.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF7.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF8.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libUTF8.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libVIQR.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libVIQR.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libZW.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libZW.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_none.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_std.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libiconv_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_646.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_646.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_none.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_none.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_parallel.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_parallel.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_serial.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_serial.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_std.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_std.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_zone.so.5 base-i18n-shlib compat,pic -./usr/lib/o32/i18n/libmapper_zone.so.5.0 base-i18n-shlib compat,pic -./usr/lib/o32/libamu.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libamu.so.4.0 base-compat-shlib compat,pic -./usr/lib/o32/libarchive.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libarchive.so.3.1 base-compat-shlib compat,pic -./usr/lib/o32/libasn1.so.9 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libatf-c.so.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libatf-c.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libatf-c++.so.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/o32/libbfd.so.12 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libbfd.so.12.0 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libbind9.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libbind9.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libbluetooth.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libbluetooth.so.4.2 base-compat-shlib compat,pic -./usr/lib/o32/libbsdmalloc.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libbsdmalloc.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libbz2.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libbz2.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libc.so.12 base-compat-shlib compat,pic -./usr/lib/o32/libc.so.12.185 base-compat-shlib compat,pic -./usr/lib/o32/libcom_err.so.7 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libcrypt.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libcrypt.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libcrypto.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libcrypto.so.8.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libcurses.so.7 base-compat-shlib compat,pic -./usr/lib/o32/libcurses.so.7.0 base-compat-shlib compat,pic -./usr/lib/o32/libdes.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libdes.so.8.1 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libdevmapper.so.1 base-compat-shlib compat,pic,lvm -./usr/lib/o32/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm -./usr/lib/o32/libdm.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libdm.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libdns.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libdns.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libdns_sd.so.0 base-compat-shlib compat,pic,mdns -./usr/lib/o32/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns -./usr/lib/o32/libdwarf.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libdwarf.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libedit.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libedit.so.3.0 base-compat-shlib compat,pic -./usr/lib/o32/libelf.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libelf.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libevent.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libevent.so.3.2 base-compat-shlib compat,pic -./usr/lib/o32/libexpat.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libexpat.so.2.1 base-compat-shlib compat,pic -./usr/lib/o32/libfetch.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libfetch.so.3.0 base-compat-shlib compat,pic -./usr/lib/o32/libform.so.6 base-compat-shlib compat,pic -./usr/lib/o32/libform.so.6.0 base-compat-shlib compat,pic -./usr/lib/o32/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libgmp.so.10 base-compat-shlib obsolete -./usr/lib/o32/libgmp.so.10.2 base-compat-shlib obsolete -./usr/lib/o32/libgnumalloc.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libgnumalloc.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libgomp.so.1 base-compat-shlib compat,pic,gcc=45 -./usr/lib/o32/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45 -./usr/lib/o32/libgssapi.so.10 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhdb.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhdb.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimbase.so.1 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimbase.so.1.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimntlm.so.4 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libheimntlm.so.4.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhx509.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libhx509.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libintl.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libintl.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libipsec.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libipsec.so.3.0 base-compat-shlib compat,pic -./usr/lib/o32/libisc.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libisc.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libisccc.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libisccc.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libisccfg.so.5 base-compat-shlib compat,pic -./usr/lib/o32/libisccfg.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/libiscsi.so.2 base-compat-shlib compat,pic,iscsi -./usr/lib/o32/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi -./usr/lib/o32/libisns.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libisns.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libkadm5clnt.so.13 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5clnt.so.13.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5srv.so.14 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5srv.so.14.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkafs.so.12 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkafs.so.12.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkdc.so.2 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkdc.so.2.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkrb5.so.26 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkrb5.so.26.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libkvm.so.6 base-compat-shlib compat,pic -./usr/lib/o32/libkvm.so.6.0 base-compat-shlib compat,pic -./usr/lib/o32/liblber.so.3 base-compat-shlib compat,pic,ldap -./usr/lib/o32/liblber.so.3.2 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap_r.so.4 base-compat-shlib compat,pic,ldap -./usr/lib/o32/libldap_r.so.4.2 base-compat-shlib compat,pic,ldap -./usr/lib/o32/liblua.so.1 base-compat-shlib compat,pic -./usr/lib/o32/liblua.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/liblwres.so.5 base-compat-shlib compat,pic -./usr/lib/o32/liblwres.so.5.7 base-compat-shlib compat,pic -./usr/lib/o32/liblzf.so.1 base-compat-shlib compat,pic -./usr/lib/o32/liblzf.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/liblzma.so.1 base-compat-shlib compat,pic -./usr/lib/o32/liblzma.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libm.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libm.so.0.10 base-compat-shlib compat,pic -./usr/lib/o32/libmagic.so.3 base-compat-shlib compat,pic -./usr/lib/o32/libmagic.so.3.1 base-compat-shlib compat,pic -./usr/lib/o32/libmenu.so.6 base-compat-shlib compat,pic -./usr/lib/o32/libmenu.so.6.0 base-compat-shlib compat,pic -./usr/lib/o32/libmj.so.1 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libmj.so.1.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libmpc.so.2 base-compat-shlib obsolete -./usr/lib/o32/libmpc.so.2.0 base-compat-shlib obsolete -./usr/lib/o32/libmpfr.so.4 base-compat-shlib obsolete -./usr/lib/o32/libmpfr.so.4.1 base-compat-shlib obsolete -./usr/lib/o32/libnetpgp.so.3 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libnpf.so.0 base-compat-shlib compat,pic,npf -./usr/lib/o32/libnpf.so.0.0 base-compat-shlib compat,pic,npf -./usr/lib/o32/libobjc.so.3 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/o32/libopcodes.so.5 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libopcodes.so.5.0 base-compat-shlib compat,pic,binutils -./usr/lib/o32/libossaudio.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libossaudio.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libp2k.so.2 base-compat-shlib compat,pic,rump -./usr/lib/o32/libp2k.so.2.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/libpam.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/libpam.so.3.0 base-compat-shlib compat,pic,pam -./usr/lib/o32/libpcap.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libpcap.so.4.0 base-compat-shlib compat,pic -./usr/lib/o32/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libpci.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libperfuse.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libperfuse.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libposix.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libposix.so.0.1 base-compat-shlib compat,pic -./usr/lib/o32/libppath.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libppath.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libprop.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libprop.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libpthread.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libpthread.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libpthread_dbg.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libpthread_dbg.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libpuffs.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libpuffs.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libquota.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libquota.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libradius.so.4 base-compat-shlib compat,pic -./usr/lib/o32/libradius.so.4.0 base-compat-shlib compat,pic -./usr/lib/o32/librefuse.so.2 base-compat-shlib compat,pic -./usr/lib/o32/librefuse.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libresolv.so.2 base-compat-shlib compat,pic -./usr/lib/o32/libresolv.so.2.0 base-compat-shlib compat,pic -./usr/lib/o32/libroken.so.19 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libroken.so.19.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/librpcsvc.so.1 base-compat-shlib compat,pic -./usr/lib/o32/librpcsvc.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/librt.so.1 base-compat-shlib compat,pic -./usr/lib/o32/librt.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/librump.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librump.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpclient.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpclient.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpcrypto.so.0 base-obsolete obsolete,rump -./usr/lib/o32/librumpcrypto.so.0.0 base-obsolete obsolete,rump -./usr/lib/o32/librumpdev.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpdev.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumphijack.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumphijack.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpnet.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpnet.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpuser.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpuser.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpvfs.so.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/libsaslc.so.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libsaslc.so.0.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libsdp.so.2 base-obsolete obsolete -./usr/lib/o32/libsdp.so.2.0 base-obsolete obsolete -./usr/lib/o32/libskey.so.2 base-compat-shlib compat,pic,skey -./usr/lib/o32/libskey.so.2.0 base-compat-shlib compat,pic,skey -./usr/lib/o32/libsl.so.5 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libsl.so.5.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libsqlite3.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libsqlite3.so.1.1 base-compat-shlib compat,pic -./usr/lib/o32/libss.so.6 base-compat-shlib obsolete -./usr/lib/o32/libss.so.6.0 base-compat-shlib obsolete -./usr/lib/o32/libssh.so.19 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libssh.so.19.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libssl.so.10 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libssl.so.10.0 base-compat-shlib compat,pic,crypto -./usr/lib/o32/libstdc++.so.7 base-compat-shlib compat,pic,cxx,gcccmds -./usr/lib/o32/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,cxx -./usr/lib/o32/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,cxx -./usr/lib/o32/libsupc++.so.0 base-compat-shlib obsolete -./usr/lib/o32/libsupc++.so.0.0 base-compat-shlib obsolete -./usr/lib/o32/libtermcap.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libtermcap.so.0.6 base-compat-shlib compat,pic -./usr/lib/o32/libterminfo.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libterminfo.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libtermlib.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libtermlib.so.0.6 base-compat-shlib compat,pic -./usr/lib/o32/libtre.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libtre.so.0.8 base-compat-shlib compat,pic -./usr/lib/o32/libukfs.so.1 base-compat-shlib compat,pic,rump -./usr/lib/o32/libukfs.so.1.0 base-compat-shlib compat,pic,rump -./usr/lib/o32/libusbhid.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libusbhid.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libutil.so.7 base-compat-shlib compat,pic -./usr/lib/o32/libutil.so.7.21 base-compat-shlib compat,pic -./usr/lib/o32/libwind.so.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libwind.so.0.0 base-compat-shlib compat,pic,kerberos -./usr/lib/o32/libwrap.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libwrap.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/libexecinfo.so.0 base-compat-shlib compat,pic -./usr/lib/o32/libexecinfo.so.0.0 base-compat-shlib compat,pic -./usr/lib/o32/libz.so.1 base-compat-shlib compat,pic -./usr/lib/o32/libz.so.1.0 base-compat-shlib compat,pic -./usr/lib/o32/lua base-compat-shlib compat -./usr/lib/o32/lua/5.1 base-compat-shlib compat -./usr/lib/o32/lua/5.1/gpio.so base-compat-shlib compat,pic -./usr/lib/o32/lua/5.1/sqlite.so base-compat-shlib compat,pic -./usr/lib/o32/security base-compat-shlib -./usr/lib/o32/security/pam_afslog.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/o32/security/pam_chroot.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_deny.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_echo.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_exec.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_ftpusers.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_group.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_guest.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_krb5.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/o32/security/pam_ksu.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/o32/security/pam_lastlog.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_login_access.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_nologin.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_permit.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_radius.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_rhosts.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_rootok.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_securetty.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_self.so.3 base-compat-shlib compat,pic,pam -./usr/lib/o32/security/pam_skey.so.3 base-compat-shlib compat,pic,skey,pam -./usr/lib/o32/security/pam_ssh.so.3 base-compat-shlib compat,pic,crypto,pam -./usr/lib/o32/security/pam_unix.so.3 base-compat-shlib compat,pic,pam -./usr/libdata/debug/usr/lib/64 base-compat-lib compat -./usr/libdata/debug/usr/lib/64/i18n base-compat-lib compat -./usr/libdata/debug/usr/lib/o32 base-compat-lib compat -./usr/libdata/debug/usr/lib/o32/i18n base-compat-lib compat -./usr/libexec/ld.elf_so-64 base-compat-shlib compat,pic -./usr/libexec/ld.elf_so-o32 base-sysutil-bin compat,pic -./usr/lkm/ldscript base-obsolete obsolete diff --git a/distrib/sets/lists/base/md.acorn26 b/distrib/sets/lists/base/md.acorn26 deleted file mode 100644 index 1743c8c2f..000000000 --- a/distrib/sets/lists/base/md.acorn26 +++ /dev/null @@ -1,4 +0,0 @@ -# $NetBSD: md.acorn26,v 1.6 2008/11/29 17:57:33 tsutsui Exp $ -./usr/mdec/BBBB base-obsolete obsolete -./usr/mdec/boot26 base-sysutil-bin -./usr/mdec/boot26,ffa base-sysutil-bin diff --git a/distrib/sets/lists/base/md.acorn32 b/distrib/sets/lists/base/md.acorn32 index 9eb3b8032..2c952775a 100644 --- a/distrib/sets/lists/base/md.acorn32 +++ b/distrib/sets/lists/base/md.acorn32 @@ -1,6 +1,2 @@ -# $NetBSD: md.acorn32,v 1.12 2009/02/14 22:46:05 abs Exp $ +# $NetBSD: md.acorn32,v 1.13 2013/05/02 03:56:38 matt Exp $ ./dev/beep base-obsolete obsolete -./usr/mdec/boot32 base-sysutil-bin -./usr/mdec/boot32,ffa base-sysutil-bin -./usr/mdec/nbfs base-sysutil-bin -./usr/mdec/nbfs,ffa base-sysutil-bin diff --git a/distrib/sets/lists/base/md.amd64 b/distrib/sets/lists/base/md.amd64 index 2ddb9b9e6..ad0e6ecb4 100644 --- a/distrib/sets/lists/base/md.amd64 +++ b/distrib/sets/lists/base/md.amd64 @@ -1,6 +1,17 @@ -# $NetBSD: md.amd64,v 1.177 2012/09/16 18:59:24 tls Exp $ +# $NetBSD: md.amd64,v 1.218 2013/11/13 09:49:08 mbalmer Exp $ ./dev/lms0 base-obsolete obsolete ./dev/mms0 base-obsolete obsolete +./lib/i386 base-compat-shlib compat +./lib/i386/npf base-npf-shlib compat +./lib/i386/npf/ext_log.so base-npf-shlib compat,pic +./lib/i386/npf/ext_log.so.0 base-npf-shlib compat,pic +./lib/i386/npf/ext_log.so.0.0 base-npf-shlib compat,pic +./lib/i386/npf/ext_normalize.so base-npf-shlib compat,pic +./lib/i386/npf/ext_normalize.so.0 base-npf-shlib compat,pic +./lib/i386/npf/ext_normalize.so.0.0 base-npf-shlib compat,pic +./lib/i386/npf/ext_rndblock.so base-npf-shlib compat,pic +./lib/i386/npf/ext_rndblock.so.0 base-npf-shlib compat,pic +./lib/i386/npf/ext_rndblock.so.0.0 base-npf-shlib compat,pic ./libexec/ld.elf_so-i386 base-sys-shlib compat,pic ./usr/bin/fdformat base-util-bin ./usr/bin/iasl base-util-bin @@ -58,28 +69,30 @@ ./usr/lib/i386/libarchive.so.3.1 base-compat-shlib compat,pic ./usr/lib/i386/libasn1.so.9 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos -./usr/lib/i386/libatf-c.so.0 base-compat-shlib compat,pic,atf -./usr/lib/i386/libatf-c.so.0.0 base-compat-shlib compat,pic,atf ./usr/lib/i386/libatf-c++.so.0 base-compat-shlib compat,pic,atf ./usr/lib/i386/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/i386/libbfd.so.12 base-compat-shlib compat,pic,binutils -./usr/lib/i386/libbfd.so.12.0 base-compat-shlib compat,pic,binutils -./usr/lib/i386/libbind9.so.5 base-compat-shlib compat,pic -./usr/lib/i386/libbind9.so.5.7 base-compat-shlib compat,pic +./usr/lib/i386/libatf-c.so.0 base-compat-shlib compat,pic,atf +./usr/lib/i386/libatf-c.so.0.0 base-compat-shlib compat,pic,atf +./usr/lib/i386/libbfd.so.13 base-compat-shlib compat,pic,binutils +./usr/lib/i386/libbfd.so.13.0 base-compat-shlib compat,pic,binutils +./usr/lib/i386/libbind9.so.7 base-compat-shlib compat,pic +./usr/lib/i386/libbind9.so.7.0 base-compat-shlib compat,pic ./usr/lib/i386/libbluetooth.so.4 base-compat-shlib compat,pic ./usr/lib/i386/libbluetooth.so.4.2 base-compat-shlib compat,pic ./usr/lib/i386/libbsdmalloc.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libbsdmalloc.so.0.0 base-compat-shlib compat,pic ./usr/lib/i386/libbz2.so.1 base-compat-shlib compat,pic ./usr/lib/i386/libbz2.so.1.1 base-compat-shlib compat,pic +./usr/lib/i386/libc++.so.1 base-compat-shlib compat,pic,libcxx +./usr/lib/i386/libc++.so.1.0 base-compat-shlib compat,pic,libcxx ./usr/lib/i386/libc.so.12 base-compat-shlib compat,pic -./usr/lib/i386/libc.so.12.185 base-compat-shlib compat,pic +./usr/lib/i386/libc.so.12.187 base-compat-shlib compat,pic ./usr/lib/i386/libcom_err.so.7 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libcrypt.so.1 base-compat-shlib compat,pic ./usr/lib/i386/libcrypt.so.1.0 base-compat-shlib compat,pic ./usr/lib/i386/libcrypto.so.8 base-compat-shlib compat,pic -./usr/lib/i386/libcrypto.so.8.0 base-compat-shlib compat,pic +./usr/lib/i386/libcrypto.so.8.1 base-compat-shlib compat,pic ./usr/lib/i386/libcrypto_idea.so.7 base-obsolete obsolete ./usr/lib/i386/libcrypto_idea.so.7.0 base-obsolete obsolete ./usr/lib/i386/libcrypto_mdc2.so.7 base-obsolete obsolete @@ -88,30 +101,29 @@ ./usr/lib/i386/libcrypto_rc5.so.7.0 base-compat-shlib compat,pic,crypto,crypto_rc5 ./usr/lib/i386/libcurses.so.7 base-compat-shlib compat,pic ./usr/lib/i386/libcurses.so.7.0 base-compat-shlib compat,pic -./usr/lib/i386/libgmp.so.10 base-compat-shlib obsolete -./usr/lib/i386/libgmp.so.10.2 base-compat-shlib obsolete -./usr/lib/i386/libmpc.so.2 base-compat-shlib obsolete -./usr/lib/i386/libmpc.so.2.0 base-compat-shlib obsolete -./usr/lib/i386/libmpfr.so.4 base-compat-shlib obsolete -./usr/lib/i386/libmpfr.so.4.1 base-compat-shlib obsolete ./usr/lib/i386/libdes.so.8 base-compat-shlib compat,pic ./usr/lib/i386/libdes.so.8.1 base-compat-shlib compat,pic ./usr/lib/i386/libdevmapper.so.1 base-compat-shlib compat,pic,lvm ./usr/lib/i386/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm ./usr/lib/i386/libdm.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libdm.so.0.0 base-compat-shlib compat,pic -./usr/lib/i386/libdns.so.5 base-compat-shlib compat,pic -./usr/lib/i386/libdns.so.5.7 base-compat-shlib compat,pic +./usr/lib/i386/libdns.so.7 base-compat-shlib compat,pic +./usr/lib/i386/libdns.so.7.0 base-compat-shlib compat,pic ./usr/lib/i386/libdns_sd.so.0 base-compat-shlib compat,pic,mdns ./usr/lib/i386/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns ./usr/lib/i386/libdwarf.so.0 base-compat-shlib compat,pic -./usr/lib/i386/libdwarf.so.0.0 base-compat-shlib compat,pic +./usr/lib/i386/libdwarf.so.0.1 base-compat-shlib compat,pic ./usr/lib/i386/libedit.so.3 base-compat-shlib compat,pic -./usr/lib/i386/libedit.so.3.0 base-compat-shlib compat,pic +./usr/lib/i386/libedit.so.3.1 base-compat-shlib compat,pic ./usr/lib/i386/libelf.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libelf.so.0.0 base-compat-shlib compat,pic -./usr/lib/i386/libevent.so.3 base-compat-shlib compat,pic -./usr/lib/i386/libevent.so.3.2 base-compat-shlib compat,pic +./usr/lib/i386/libevent.so.4 base-compat-shlib compat,pic +./usr/lib/i386/libevent.so.4.0 base-compat-shlib compat,pic +./usr/lib/i386/libevent_openssl.so.4 base-compat-shlib compat,pic,crypto +./usr/lib/i386/libevent_openssl.so.4.0 base-compat-shlib compat,pic,crypto +./usr/lib/i386/libevent_pthreads.so.4 base-compat-shlib compat,pic +./usr/lib/i386/libevent_pthreads.so.4.0 base-compat-shlib compat,pic +./usr/lib/i386/libexecinfo.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libexecinfo.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libexecinfo.so.0.0 base-compat-shlib compat,pic ./usr/lib/i386/libexpat.so.2 base-compat-shlib compat,pic @@ -122,10 +134,14 @@ ./usr/lib/i386/libform.so.6.0 base-compat-shlib compat,pic ./usr/lib/i386/libgcc_s.so.1 base-compat-shlib compat,pic,gcccmds ./usr/lib/i386/libgcc_s.so.1.0 base-compat-shlib compat,pic,gcccmds +./usr/lib/i386/libgmp.so.10 base-compat-shlib obsolete +./usr/lib/i386/libgmp.so.10.2 base-compat-shlib obsolete ./usr/lib/i386/libgnumalloc.so.1 base-compat-shlib compat,pic ./usr/lib/i386/libgnumalloc.so.1.0 base-compat-shlib compat,pic ./usr/lib/i386/libgomp.so.1 base-compat-shlib compat,pic,gcc=45 ./usr/lib/i386/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45 +./usr/lib/i386/libgomp.so.1 base-compat-shlib compat,pic,gcc=48 +./usr/lib/i386/libgomp.so.1.1 base-compat-shlib compat,pic,gcc=48 ./usr/lib/i386/libgssapi.so.10 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libhdb.so.14 base-compat-shlib compat,pic,kerberos @@ -142,12 +158,12 @@ ./usr/lib/i386/libintl.so.1.0 base-compat-shlib compat,pic ./usr/lib/i386/libipsec.so.3 base-compat-shlib compat,pic ./usr/lib/i386/libipsec.so.3.0 base-compat-shlib compat,pic -./usr/lib/i386/libisc.so.5 base-compat-shlib compat,pic -./usr/lib/i386/libisc.so.5.7 base-compat-shlib compat,pic -./usr/lib/i386/libisccc.so.5 base-compat-shlib compat,pic -./usr/lib/i386/libisccc.so.5.7 base-compat-shlib compat,pic -./usr/lib/i386/libisccfg.so.5 base-compat-shlib compat,pic -./usr/lib/i386/libisccfg.so.5.7 base-compat-shlib compat,pic +./usr/lib/i386/libisc.so.7 base-compat-shlib compat,pic +./usr/lib/i386/libisc.so.7.0 base-compat-shlib compat,pic +./usr/lib/i386/libisccc.so.7 base-compat-shlib compat,pic +./usr/lib/i386/libisccc.so.7.0 base-compat-shlib compat,pic +./usr/lib/i386/libisccfg.so.7 base-compat-shlib compat,pic +./usr/lib/i386/libisccfg.so.7.0 base-compat-shlib compat,pic ./usr/lib/i386/libiscsi.so.2 base-compat-shlib compat,pic,iscsi ./usr/lib/i386/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi ./usr/lib/i386/libisns.so.0 base-compat-shlib compat,pic @@ -173,36 +189,51 @@ ./usr/lib/i386/liblua.so base-compat-shlib compat,pic ./usr/lib/i386/liblua.so.1 base-compat-shlib compat,pic ./usr/lib/i386/liblua.so.1.0 base-compat-shlib compat,pic -./usr/lib/i386/liblwres.so.5 base-compat-shlib compat,pic -./usr/lib/i386/liblwres.so.5.7 base-compat-shlib compat,pic +./usr/lib/i386/liblutok.so base-compat-shlib compat,pic,kyua +./usr/lib/i386/liblutok.so.1 base-obsolete obsolete +./usr/lib/i386/liblutok.so.1.0 base-obsolete obsolete +./usr/lib/i386/liblutok.so.2 base-compat-shlib compat,pic,kyua +./usr/lib/i386/liblutok.so.2.0 base-compat-shlib compat,pic,kyua +./usr/lib/i386/liblwres.so.7 base-compat-shlib compat,pic +./usr/lib/i386/liblwres.so.7.0 base-compat-shlib compat,pic ./usr/lib/i386/liblzf.so.1 base-compat-shlib compat,pic ./usr/lib/i386/liblzf.so.1.0 base-compat-shlib compat,pic ./usr/lib/i386/liblzma.so.1 base-compat-shlib compat,pic ./usr/lib/i386/liblzma.so.1.1 base-compat-shlib compat,pic ./usr/lib/i386/libm.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libm.so.0.10 base-compat-shlib compat,pic -./usr/lib/i386/libmagic.so.3 base-compat-shlib compat,pic -./usr/lib/i386/libmagic.so.3.1 base-compat-shlib compat,pic +./usr/lib/i386/libmagic.so.5 base-compat-shlib compat,pic +./usr/lib/i386/libmagic.so.5.0 base-compat-shlib compat,pic ./usr/lib/i386/libmenu.so.6 base-compat-shlib compat,pic ./usr/lib/i386/libmenu.so.6.0 base-compat-shlib compat,pic ./usr/lib/i386/libmj.so.1 base-compat-shlib compat,pic,crypto ./usr/lib/i386/libmj.so.1.0 base-compat-shlib compat,pic,crypto +./usr/lib/i386/libmpc.so.2 base-compat-shlib obsolete +./usr/lib/i386/libmpc.so.2.0 base-compat-shlib obsolete +./usr/lib/i386/libmpfr.so.4 base-compat-shlib obsolete +./usr/lib/i386/libmpfr.so.4.1 base-compat-shlib obsolete ./usr/lib/i386/libnetpgp.so.3 base-compat-shlib compat,pic ./usr/lib/i386/libnetpgp.so.3.0 base-compat-shlib compat,pic +./usr/lib/i386/libnetpgpverify.so.4 base-compat-shlib compat,pic +./usr/lib/i386/libnetpgpverify.so.4.0 base-compat-shlib compat,pic ./usr/lib/i386/libnpf.so.0 base-compat-shlib compat,pic,npf ./usr/lib/i386/libnpf.so.0.0 base-compat-shlib compat,pic,npf -./usr/lib/i386/libobjc.so.3 base-compat-shlib compat,pic,gcccmds -./usr/lib/i386/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/i386/libopcodes.so.5 base-compat-shlib compat,pic,binutils -./usr/lib/i386/libopcodes.so.5.0 base-compat-shlib compat,pic,binutils +./usr/lib/i386/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,gcc=4 +./usr/lib/i386/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,gcc=45 +./usr/lib/i386/libobjc.so.4 base-compat-shlib compat,pic,gcccmds,gcc=48 +./usr/lib/i386/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,gcc=4 +./usr/lib/i386/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,gcc=45 +./usr/lib/i386/libobjc.so.4.0 base-compat-shlib compat,pic,gcccmds,gcc=48 +./usr/lib/i386/libopcodes.so.6 base-compat-shlib compat,pic,binutils +./usr/lib/i386/libopcodes.so.6.0 base-compat-shlib compat,pic,binutils ./usr/lib/i386/libossaudio.so.1 base-compat-shlib compat,pic ./usr/lib/i386/libossaudio.so.1.0 base-compat-shlib compat,pic ./usr/lib/i386/libp2k.so.2 base-compat-shlib compat,pic,rump ./usr/lib/i386/libp2k.so.2.0 base-compat-shlib compat,pic,rump -./usr/lib/i386/libpam.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/libpam.so.3.0 base-compat-shlib compat,pic,pam -./usr/lib/i386/libpcap.so.4 base-compat-shlib compat,pic -./usr/lib/i386/libpcap.so.4.0 base-compat-shlib compat,pic +./usr/lib/i386/libpam.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/libpam.so.4.0 base-compat-shlib compat,pic,pam +./usr/lib/i386/libpcap.so.5 base-compat-shlib compat,pic +./usr/lib/i386/libpcap.so.5.0 base-compat-shlib compat,pic ./usr/lib/i386/libpci.so.2 base-compat-shlib compat,pic ./usr/lib/i386/libpci.so.2.0 base-compat-shlib compat,pic ./usr/lib/i386/libperfuse.so base-compat-shlib compat,pic @@ -215,7 +246,7 @@ ./usr/lib/i386/libprop.so.1 base-compat-shlib compat,pic ./usr/lib/i386/libprop.so.1.1 base-compat-shlib compat,pic ./usr/lib/i386/libpthread.so.1 base-compat-shlib compat,pic -./usr/lib/i386/libpthread.so.1.1 base-compat-shlib compat,pic +./usr/lib/i386/libpthread.so.1.2 base-compat-shlib compat,pic ./usr/lib/i386/libpthread_dbg.so.2 base-compat-shlib compat,pic ./usr/lib/i386/libpthread_dbg.so.2.0 base-compat-shlib compat,pic ./usr/lib/i386/libpuffs.so.2 base-compat-shlib compat,pic @@ -226,8 +257,8 @@ ./usr/lib/i386/libradius.so.4.0 base-compat-shlib compat,pic ./usr/lib/i386/librefuse.so.2 base-compat-shlib compat,pic ./usr/lib/i386/librefuse.so.2.0 base-compat-shlib compat,pic -./usr/lib/i386/libresolv.so.2 base-compat-shlib compat,pic -./usr/lib/i386/libresolv.so.2.0 base-compat-shlib compat,pic +./usr/lib/i386/libresolv.so.3 base-compat-shlib compat,pic +./usr/lib/i386/libresolv.so.3.0 base-compat-shlib compat,pic ./usr/lib/i386/libroken.so.19 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libroken.so.19.0 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/librpcsvc.so.1 base-compat-shlib compat,pic @@ -236,18 +267,18 @@ ./usr/lib/i386/librt.so.1.1 base-compat-shlib compat,pic ./usr/lib/i386/librump.so.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librump.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/i386/librumpcrypto.so.0 base-obsolete obsolete,rump -./usr/lib/i386/librumpcrypto.so.0.0 base-obsolete obsolete,rump ./usr/lib/i386/librumpclient.so.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpclient.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/i386/librumpcrypto.so.0 base-obsolete obsolete,rump +./usr/lib/i386/librumpcrypto.so.0.0 base-obsolete obsolete,rump ./usr/lib/i386/librumpdev.so.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpdev.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/i386/librumphijack.so.0 base-compat-shlib compat,pic,rump +./usr/lib/i386/librumphijack.so.0.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpnet.so.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpnet.so.0.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpuser.so.0 base-compat-shlib compat,pic,rump -./usr/lib/i386/librumpuser.so.0.0 base-compat-shlib compat,pic,rump -./usr/lib/i386/librumphijack.so.0 base-compat-shlib compat,pic,rump -./usr/lib/i386/librumphijack.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/i386/librumpuser.so.0.1 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpvfs.so.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/libsaslc.so.0 base-compat-shlib compat,pic,crypto @@ -258,13 +289,14 @@ ./usr/lib/i386/libsl.so.5.0 base-compat-shlib compat,pic,kerberos ./usr/lib/i386/libsqlite3.so.1 base-compat-shlib compat,pic ./usr/lib/i386/libsqlite3.so.1.1 base-compat-shlib compat,pic -./usr/lib/i386/libssh.so.19 base-compat-shlib compat,pic -./usr/lib/i386/libssh.so.19.0 base-compat-shlib compat,pic +./usr/lib/i386/libssh.so.22 base-compat-shlib compat,pic +./usr/lib/i386/libssh.so.22.0 base-compat-shlib compat,pic ./usr/lib/i386/libssl.so.10 base-compat-shlib compat,pic -./usr/lib/i386/libssl.so.10.0 base-compat-shlib compat,pic -./usr/lib/i386/libstdc++.so.7 base-compat-shlib compat,pic,gcccmds -./usr/lib/i386/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic -./usr/lib/i386/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic +./usr/lib/i386/libssl.so.10.1 base-compat-shlib compat,pic +./usr/lib/i386/libstdc++.so.7 base-compat-shlib compat,pic,gcccmds,libstdcxx +./usr/lib/i386/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,libstdcxx +./usr/lib/i386/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,libstdcxx +./usr/lib/i386/libstdc++.so.7.2 base-compat-shlib gcc=48,compat,pic,libstdcxx ./usr/lib/i386/libsupc++.so.1 base-obsolete obsolete ./usr/lib/i386/libsupc++.so.1.0 base-obsolete obsolete ./usr/lib/i386/libtermcap.so.0 base-compat-shlib compat,pic @@ -273,8 +305,12 @@ ./usr/lib/i386/libterminfo.so.1.0 base-compat-shlib compat,pic ./usr/lib/i386/libtermlib.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libtermlib.so.0.6 base-compat-shlib compat,pic +./usr/lib/i386/libtpm_unseal.so.1 base-compat-shlib compat,pic,tpm +./usr/lib/i386/libtpm_unseal.so.1.0 base-compat-shlib compat,pic,tpm ./usr/lib/i386/libtre.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libtre.so.0.8 base-compat-shlib compat,pic +./usr/lib/i386/libtspi.so.3 base-compat-shlib compat,pic,tpm +./usr/lib/i386/libtspi.so.3.0 base-compat-shlib compat,pic,tpm ./usr/lib/i386/libukfs.so.1 base-compat-shlib compat,pic,rump ./usr/lib/i386/libukfs.so.1.0 base-compat-shlib compat,pic,rump ./usr/lib/i386/libusbhid.so.1 base-compat-shlib compat,pic @@ -291,34 +327,48 @@ ./usr/lib/i386/lua/5.1 base-compat-shlib compat ./usr/lib/i386/lua/5.1/gpio.so base-compat-shlib compat,pic ./usr/lib/i386/lua/5.1/sqlite.so base-compat-shlib compat,pic +./usr/lib/i386/lua/5.1/syslog.so base-compat-shlib compat,pic +./usr/lib/i386/npf base-obsolete obsolete +./usr/lib/i386/npf/ext_log.so base-obsolete obsolete +./usr/lib/i386/npf/ext_log.so.0 base-obsolete obsolete +./usr/lib/i386/npf/ext_log.so.0.0 base-obsolete obsolete +./usr/lib/i386/npf/ext_normalise.so base-obsolete obsolete +./usr/lib/i386/npf/ext_normalise.so.0 base-obsolete obsolete +./usr/lib/i386/npf/ext_normalise.so.0.0 base-obsolete obsolete +./usr/lib/i386/npf/ext_rndblock.so base-obsolete obsolete +./usr/lib/i386/npf/ext_rndblock.so.0 base-obsolete obsolete +./usr/lib/i386/npf/ext_rndblock.so.0.0 base-obsolete obsolete ./usr/lib/i386/security base-compat-shlib compat -./usr/lib/i386/security/pam_afslog.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/i386/security/pam_chroot.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_deny.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_echo.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_exec.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_ftpusers.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_group.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_guest.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_krb5.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/i386/security/pam_ksu.so.3 base-compat-shlib compat,pic,kerberos,pam -./usr/lib/i386/security/pam_lastlog.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_login_access.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_nologin.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_permit.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_radius.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_rhosts.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_rootok.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_securetty.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_self.so.3 base-compat-shlib compat,pic,pam -./usr/lib/i386/security/pam_skey.so.3 base-compat-shlib compat,pic,skey,pam -./usr/lib/i386/security/pam_ssh.so.3 base-compat-shlib compat,pic,crypto,pam -./usr/lib/i386/security/pam_unix.so.3 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_afslog.so.4 base-compat-shlib compat,pic,kerberos,pam +./usr/lib/i386/security/pam_chroot.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_deny.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_echo.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_exec.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_ftpusers.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_group.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_guest.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_krb5.so.4 base-compat-shlib compat,pic,kerberos,pam +./usr/lib/i386/security/pam_ksu.so.4 base-compat-shlib compat,pic,kerberos,pam +./usr/lib/i386/security/pam_lastlog.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_login_access.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_nologin.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_permit.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_radius.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_rhosts.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_rootok.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_securetty.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_self.so.4 base-compat-shlib compat,pic,pam +./usr/lib/i386/security/pam_skey.so.4 base-compat-shlib compat,pic,skey,pam +./usr/lib/i386/security/pam_ssh.so.4 base-compat-shlib compat,pic,crypto,pam +./usr/lib/i386/security/pam_unix.so.4 base-compat-shlib compat,pic,pam ./usr/lib/libx86_64.so base-sys-shlib pic ./usr/lib/libx86_64.so.0 base-sys-shlib pic ./usr/lib/libx86_64.so.0.0 base-sys-shlib pic +./usr/libdata/debug/lib/i386 base-compat-lib compat +./usr/libdata/debug/lib/i386/npf base-compat-lib compat ./usr/libdata/debug/usr/lib/i386 base-compat-lib compat ./usr/libdata/debug/usr/lib/i386/i18n base-compat-lib compat +./usr/libdata/debug/usr/lib/i386/npf base-obsolete obsolete ./usr/libexec/ld.elf_so-i386 base-sys-shlib compat,pic ./usr/lkm/aps.o base-obsolete obsolete ./usr/lkm/compat_linux.o base-obsolete obsolete diff --git a/distrib/sets/lists/base/md.bebox b/distrib/sets/lists/base/md.bebox index b887d58a4..0b7763dc6 100644 --- a/distrib/sets/lists/base/md.bebox +++ b/distrib/sets/lists/base/md.bebox @@ -1,7 +1,7 @@ -# $NetBSD: md.bebox,v 1.19 2009/02/14 22:46:05 abs Exp $ +# $NetBSD: md.bebox,v 1.20 2013/08/11 22:29:02 joerg Exp $ ./dev/pms0 base-obsolete obsolete ./usr/mdec/boot base-sysutil-root -./usr/mdec/elf2pef base-obsolete obsolete -./usr/mdec/mkbootimage base-sysutil-root ./usr/mdec/boot_com0 base-sysutil-root ./usr/mdec/boot_vga base-sysutil-root +./usr/mdec/elf2pef base-obsolete obsolete +./usr/mdec/mkbootimage base-sysutil-root diff --git a/distrib/sets/lists/base/md.cobalt b/distrib/sets/lists/base/md.cobalt index bec3f7b72..95aedd49b 100644 --- a/distrib/sets/lists/base/md.cobalt +++ b/distrib/sets/lists/base/md.cobalt @@ -1,3 +1,3 @@ -# $NetBSD: md.cobalt,v 1.10 2008/11/29 17:57:33 tsutsui Exp $ -./usr/mdec/installkernel base-sysutil-bin +# $NetBSD: md.cobalt,v 1.11 2013/08/11 22:29:02 joerg Exp $ ./usr/mdec/boot base-sysutil-bin +./usr/mdec/installkernel base-sysutil-bin diff --git a/distrib/sets/lists/base/md.evbarm b/distrib/sets/lists/base/md.evbarm deleted file mode 100644 index 618895ab3..000000000 --- a/distrib/sets/lists/base/md.evbarm +++ /dev/null @@ -1,10 +0,0 @@ -# $NetBSD: md.evbarm,v 1.10 2012/01/30 03:28:35 nisimura Exp $ -./usr/mdec/gzboot_ADI_BRH_0x00140000.bin base-sysutil-bin -./usr/mdec/gzboot_GEMINI_0x01600000.bin base-sysutil-bin -./usr/mdec/gzboot_IQ80310_0x00080000.bin base-sysutil-bin -./usr/mdec/gzboot_IQ80321_0xf0080000.bin base-sysutil-bin -./usr/mdec/gzboot_SMDK2410_0x00000000.bin base-sysutil-bin -./usr/mdec/gzboot_SMDK2800_0x00000000.bin base-sysutil-bin -./usr/mdec/gzboot_SMDK2800_0x00100000.bin base-sysutil-bin -./usr/mdec/gzboot_TS7200_0x60660000.bin base-sysutil-bin -./usr/mdec/bootmini2440 base-sysutil-bin diff --git a/distrib/sets/lists/base/md.evbarm.armeb b/distrib/sets/lists/base/md.evbarm.armeb deleted file mode 100644 index 1574c0e3b..000000000 --- a/distrib/sets/lists/base/md.evbarm.armeb +++ /dev/null @@ -1,3 +0,0 @@ -# $NetBSD: md.evbarm.armeb,v 1.4 2012/10/14 12:36:57 msaitoh Exp $ -./usr/mdec/gzboot_ADI_BRH_0x00140000.bin base-sysutil-bin -./usr/mdec/bootmini2440 base-sysutil-bin diff --git a/distrib/sets/lists/base/md.ews4800mips b/distrib/sets/lists/base/md.ews4800mips index 89048f0a1..a73a78635 100644 --- a/distrib/sets/lists/base/md.ews4800mips +++ b/distrib/sets/lists/base/md.ews4800mips @@ -1,6 +1,6 @@ -# $NetBSD: md.ews4800mips,v 1.5 2008/11/29 17:57:33 tsutsui Exp $ +# $NetBSD: md.ews4800mips,v 1.6 2013/08/11 22:29:02 joerg Exp $ ./usr/mdec/boot base-sysutil-bin ./usr/mdec/boot.coff base-sysutil-bin +./usr/mdec/boot_kernel.gz base-sysutil-bin ./usr/mdec/bootxx_bfs base-sysutil-bin ./usr/mdec/bootxx_ustarfs base-sysutil-bin -./usr/mdec/boot_kernel.gz base-sysutil-bin diff --git a/distrib/sets/lists/base/md.hpcarm b/distrib/sets/lists/base/md.hpcarm index 7c525b194..56bdb432e 100644 --- a/distrib/sets/lists/base/md.hpcarm +++ b/distrib/sets/lists/base/md.hpcarm @@ -1,8 +1,5 @@ -# $NetBSD: md.hpcarm,v 1.11 2008/11/29 17:57:33 tsutsui Exp $ +# $NetBSD: md.hpcarm,v 1.12 2013/05/02 03:56:38 matt Exp $ ./dev/beep base-obsolete obsolete ./dev/mouse-qms0 base-obsolete obsolete ./dev/pms0 base-obsolete obsolete ./dev/qms0 base-obsolete obsolete -./usr/sbin/apm base-sysutil-bin -./usr/sbin/tpctl base-sysutil-bin -./usr/sbin/zzz base-sysutil-bin diff --git a/distrib/sets/lists/base/md.luna68k b/distrib/sets/lists/base/md.luna68k new file mode 100644 index 000000000..0f6044694 --- /dev/null +++ b/distrib/sets/lists/base/md.luna68k @@ -0,0 +1,2 @@ +# $NetBSD: md.luna68k,v 1.5 2013/01/06 07:04:48 tsutsui Exp $ +./usr/mdec/boot base-sysutil-bin diff --git a/distrib/sets/lists/base/md.macppc b/distrib/sets/lists/base/md.macppc index 92dd444c3..50f53edec 100644 --- a/distrib/sets/lists/base/md.macppc +++ b/distrib/sets/lists/base/md.macppc @@ -1,4 +1,4 @@ -# $NetBSD: md.macppc,v 1.31 2012/04/06 22:46:15 christos Exp $ +# $NetBSD: md.macppc,v 1.32 2013/08/11 22:29:02 joerg Exp $ ./usr/mdec/bootxx base-sysutil-bin ./usr/mdec/installboot base-obsolete obsolete ./usr/mdec/mbr base-obsolete obsolete @@ -7,6 +7,6 @@ ./usr/mdec/ofwboot.xcf base-sysutil-bin ./usr/sbin/apm base-sysutil-bin ./usr/sbin/apmd base-sysutil-bin -./usr/sbin/zzz base-sysutil-bin ./usr/sbin/eeprom base-sysutil-bin ./usr/sbin/ofctl base-sysutil-bin +./usr/sbin/zzz base-sysutil-bin diff --git a/distrib/sets/lists/base/md.mmeye b/distrib/sets/lists/base/md.mmeye index 493eb830c..5f916d002 100644 --- a/distrib/sets/lists/base/md.mmeye +++ b/distrib/sets/lists/base/md.mmeye @@ -1,4 +1,4 @@ -# $NetBSD: md.mmeye,v 1.8 2011/03/05 21:19:46 he Exp $ +# $NetBSD: md.mmeye,v 1.9 2013/08/11 22:29:02 joerg Exp $ +./usr/mdec/boot base-sysutil-bin ./usr/mdec/bootelf base-sysutil-bin ./usr/mdec/osloader base-sysutil-bin -./usr/mdec/boot base-sysutil-bin diff --git a/distrib/sets/lists/base/md.ofppc b/distrib/sets/lists/base/md.ofppc index 85dc2a3db..63e73d058 100644 --- a/distrib/sets/lists/base/md.ofppc +++ b/distrib/sets/lists/base/md.ofppc @@ -1,5 +1,5 @@ -# $NetBSD: md.ofppc,v 1.11 2010/06/20 21:32:33 matt Exp $ -./usr/mdec/ofwboot base-sysutil-bin +# $NetBSD: md.ofppc,v 1.12 2013/08/11 22:29:02 joerg Exp $ ./usr/mdec/mkbootinfo base-sysutil-bin ./usr/mdec/netbsd.chrp base-sysutil-bin +./usr/mdec/ofwboot base-sysutil-bin ./usr/sbin/ofctl base-sysutil-bin diff --git a/distrib/sets/lists/base/md.prep b/distrib/sets/lists/base/md.prep index f131894cf..38f9faa7b 100644 --- a/distrib/sets/lists/base/md.prep +++ b/distrib/sets/lists/base/md.prep @@ -1,7 +1,7 @@ -# $NetBSD: md.prep,v 1.15 2008/11/29 17:57:34 tsutsui Exp $ +# $NetBSD: md.prep,v 1.16 2013/08/11 22:29:02 joerg Exp $ ./usr/mdec/boot base-sysutil-bin ./usr/mdec/boot_com0 base-sysutil-bin ./usr/mdec/boot_com0_vreset base-sysutil-bin -./usr/mdec/mkbootimage base-sysutil-bin ./usr/mdec/installboot base-obsolete obsolete +./usr/mdec/mkbootimage base-sysutil-bin ./usr/sbin/eeprom base-sysutil-bin diff --git a/distrib/sets/lists/base/md.shark b/distrib/sets/lists/base/md.shark index 9340022b4..abd1faa82 100644 --- a/distrib/sets/lists/base/md.shark +++ b/distrib/sets/lists/base/md.shark @@ -1,7 +1,3 @@ -# $NetBSD: md.shark,v 1.10 2011/12/15 07:52:13 macallan Exp $ +# $NetBSD: md.shark,v 1.11 2013/05/02 03:56:38 matt Exp $ ./dev/mouse-qms0 base-obsolete obsolete ./dev/qms0 base-obsolete obsolete -./usr/sbin/eeprom base-sysutil-bin -./sbin/ldconfig base-sysutil-root pic -./usr/libexec/ld.so base-sys-shlib pic -./usr/sbin/ofctl base-sysutil-bin diff --git a/distrib/sets/lists/base/md.sparc b/distrib/sets/lists/base/md.sparc index 7623c1008..b6374af39 100644 --- a/distrib/sets/lists/base/md.sparc +++ b/distrib/sets/lists/base/md.sparc @@ -1,7 +1,7 @@ -# $NetBSD: md.sparc,v 1.80 2010/03/10 23:13:09 abs Exp $ -./sbin/edlabel base-sysutil-root obsolete +# $NetBSD: md.sparc,v 1.81 2013/08/11 22:29:02 joerg Exp $ ./lib/libsparc_v8.so.0 base-sys-shlib dynamicroot,pic ./lib/libsparc_v8.so.0.0 base-sys-shlib dynamicroot,pic +./sbin/edlabel base-sysutil-root obsolete ./sbin/ldconfig base-sysutil-root pic ./usr/bin/fdformat base-util-bin ./usr/lib/libsparc_v8.so.0 base-sys-shlib pic @@ -18,9 +18,9 @@ ./usr/mdec/installboot base-obsolete obsolete ./usr/mdec/ofwboot base-sysutil-bin ./usr/mdec/ofwboot.net base-sysutil-bin -./usr/sbin/apmd base-sysutil-bin ./usr/sbin/apm base-sysutil-bin -./usr/sbin/zzz base-sysutil-bin +./usr/sbin/apmd base-sysutil-bin ./usr/sbin/eeprom base-sysutil-bin -./usr/sbin/tadpolectl base-sysutil-bin ./usr/sbin/ofctl base-sysutil-bin +./usr/sbin/tadpolectl base-sysutil-bin +./usr/sbin/zzz base-sysutil-bin diff --git a/distrib/sets/lists/base/md.sparc64 b/distrib/sets/lists/base/md.sparc64 index 0e2128217..c02a1c7c9 100644 --- a/distrib/sets/lists/base/md.sparc64 +++ b/distrib/sets/lists/base/md.sparc64 @@ -1,4 +1,15 @@ -# $NetBSD: md.sparc64,v 1.166 2012/09/16 18:59:24 tls Exp $ +# $NetBSD: md.sparc64,v 1.205 2013/11/13 09:49:08 mbalmer Exp $ +./lib/sparc base-npf-shlib compat +./lib/sparc/npf base-npf-shlib compat +./lib/sparc/npf/ext_log.so base-npf-shlib compat,pic +./lib/sparc/npf/ext_log.so.0 base-npf-shlib compat,pic +./lib/sparc/npf/ext_log.so.0.0 base-npf-shlib compat,pic +./lib/sparc/npf/ext_normalize.so base-npf-shlib compat,pic +./lib/sparc/npf/ext_normalize.so.0 base-npf-shlib compat,pic +./lib/sparc/npf/ext_normalize.so.0.0 base-npf-shlib compat,pic +./lib/sparc/npf/ext_rndblock.so base-npf-shlib compat,pic +./lib/sparc/npf/ext_rndblock.so.0 base-npf-shlib compat,pic +./lib/sparc/npf/ext_rndblock.so.0.0 base-npf-shlib compat,pic ./libexec/ld.elf_so-sparc base-sysutil-bin compat,pic ./sbin/edlabel base-sysutil-root obsolete ./usr/bin/fdformat base-util-bin @@ -56,28 +67,30 @@ ./usr/lib/sparc/libarchive.so.3.1 base-compat-shlib compat,pic ./usr/lib/sparc/libasn1.so.9 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libasn1.so.9.0 base-compat-shlib compat,pic,kerberos -./usr/lib/sparc/libatf-c.so.0 base-compat-shlib compat,pic,atf -./usr/lib/sparc/libatf-c.so.0.0 base-compat-shlib compat,pic,atf ./usr/lib/sparc/libatf-c++.so.0 base-compat-shlib compat,pic,atf ./usr/lib/sparc/libatf-c++.so.0.0 base-compat-shlib compat,pic,atf -./usr/lib/sparc/libbfd.so.12 base-compat-shlib compat,pic,binutils -./usr/lib/sparc/libbfd.so.12.0 base-compat-shlib compat,pic,binutils -./usr/lib/sparc/libbind9.so.5 base-compat-shlib compat,pic -./usr/lib/sparc/libbind9.so.5.7 base-compat-shlib compat,pic +./usr/lib/sparc/libatf-c.so.0 base-compat-shlib compat,pic,atf +./usr/lib/sparc/libatf-c.so.0.0 base-compat-shlib compat,pic,atf +./usr/lib/sparc/libbfd.so.13 base-compat-shlib compat,pic,binutils +./usr/lib/sparc/libbfd.so.13.0 base-compat-shlib compat,pic,binutils +./usr/lib/sparc/libbind9.so.7 base-compat-shlib compat,pic +./usr/lib/sparc/libbind9.so.7.0 base-compat-shlib compat,pic ./usr/lib/sparc/libbluetooth.so.4 base-compat-shlib compat,pic ./usr/lib/sparc/libbluetooth.so.4.2 base-compat-shlib compat,pic ./usr/lib/sparc/libbsdmalloc.so.0 base-compat-shlib compat,pic ./usr/lib/sparc/libbsdmalloc.so.0.0 base-compat-shlib compat,pic ./usr/lib/sparc/libbz2.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/libbz2.so.1.1 base-compat-shlib compat,pic +./usr/lib/sparc/libc++.so.1 base-compat-shlib compat,pic,libcxx +./usr/lib/sparc/libc++.so.1.0 base-compat-shlib compat,pic,libcxx ./usr/lib/sparc/libc.so.12 base-compat-shlib compat,pic -./usr/lib/sparc/libc.so.12.185 base-compat-shlib compat,pic +./usr/lib/sparc/libc.so.12.187 base-compat-shlib compat,pic ./usr/lib/sparc/libcom_err.so.7 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libcom_err.so.7.0 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libcrypt.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/libcrypt.so.1.0 base-compat-shlib compat,pic ./usr/lib/sparc/libcrypto.so.8 base-compat-shlib compat,pic,crypto -./usr/lib/sparc/libcrypto.so.8.0 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libcrypto.so.8.1 base-compat-shlib compat,pic,crypto ./usr/lib/sparc/libcrypto_idea.so.7 base-obsolete obsolete ./usr/lib/sparc/libcrypto_idea.so.7.0 base-obsolete obsolete ./usr/lib/sparc/libcrypto_mdc2.so.7 base-obsolete obsolete @@ -92,18 +105,24 @@ ./usr/lib/sparc/libdevmapper.so.1.0 base-compat-shlib compat,pic,lvm ./usr/lib/sparc/libdm.so.0 base-compat-shlib compat,pic ./usr/lib/sparc/libdm.so.0.0 base-compat-shlib compat,pic -./usr/lib/sparc/libdns.so.5 base-compat-shlib compat,pic -./usr/lib/sparc/libdns.so.5.7 base-compat-shlib compat,pic +./usr/lib/sparc/libdns.so.7 base-compat-shlib compat,pic +./usr/lib/sparc/libdns.so.7.0 base-compat-shlib compat,pic ./usr/lib/sparc/libdns_sd.so.0 base-compat-shlib compat,pic,mdns ./usr/lib/sparc/libdns_sd.so.0.0 base-compat-shlib compat,pic,mdns ./usr/lib/sparc/libdwarf.so.0 base-compat-shlib compat,pic -./usr/lib/sparc/libdwarf.so.0.0 base-compat-shlib compat,pic +./usr/lib/sparc/libdwarf.so.0.1 base-compat-shlib compat,pic ./usr/lib/sparc/libedit.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/libedit.so.3.0 base-compat-shlib compat,pic +./usr/lib/sparc/libedit.so.3.1 base-compat-shlib compat,pic ./usr/lib/sparc/libelf.so.0 base-compat-shlib compat,pic ./usr/lib/sparc/libelf.so.0.0 base-compat-shlib compat,pic -./usr/lib/sparc/libevent.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/libevent.so.3.2 base-compat-shlib compat,pic +./usr/lib/sparc/libevent.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/libevent.so.4.0 base-compat-shlib compat,pic +./usr/lib/sparc/libevent_openssl.so.4 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libevent_openssl.so.4.0 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libevent_pthreads.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/libevent_pthreads.so.4.0 base-compat-shlib compat,pic +./usr/lib/sparc/libexecinfo.so.0 base-compat-shlib compat,pic +./usr/lib/sparc/libexecinfo.so.0.0 base-compat-shlib compat,pic ./usr/lib/sparc/libexpat.so.2 base-compat-shlib compat,pic ./usr/lib/sparc/libexpat.so.2.1 base-compat-shlib compat,pic ./usr/lib/sparc/libfetch.so.3 base-compat-shlib compat,pic @@ -118,6 +137,8 @@ ./usr/lib/sparc/libgnumalloc.so.1.0 base-compat-shlib compat,pic ./usr/lib/sparc/libgomp.so.1 base-compat-shlib compat,pic,gcc=45 ./usr/lib/sparc/libgomp.so.1.0 base-compat-shlib compat,pic,gcc=45 +./usr/lib/sparc/libgomp.so.1 base-compat-shlib compat,pic,gcc=48 +./usr/lib/sparc/libgomp.so.1.1 base-compat-shlib compat,pic,gcc=48 ./usr/lib/sparc/libgssapi.so.10 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libgssapi.so.10.0 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libhdb.so.14 base-compat-shlib compat,pic,kerberos @@ -132,12 +153,12 @@ ./usr/lib/sparc/libintl.so.1.0 base-compat-shlib compat,pic ./usr/lib/sparc/libipsec.so.3 base-compat-shlib compat,pic ./usr/lib/sparc/libipsec.so.3.0 base-compat-shlib compat,pic -./usr/lib/sparc/libisc.so.5 base-compat-shlib compat,pic -./usr/lib/sparc/libisc.so.5.7 base-compat-shlib compat,pic -./usr/lib/sparc/libisccc.so.5 base-compat-shlib compat,pic -./usr/lib/sparc/libisccc.so.5.7 base-compat-shlib compat,pic -./usr/lib/sparc/libisccfg.so.5 base-compat-shlib compat,pic -./usr/lib/sparc/libisccfg.so.5.7 base-compat-shlib compat,pic +./usr/lib/sparc/libisc.so.7 base-compat-shlib compat,pic +./usr/lib/sparc/libisc.so.7.0 base-compat-shlib compat,pic +./usr/lib/sparc/libisccc.so.7 base-compat-shlib compat,pic +./usr/lib/sparc/libisccc.so.7.0 base-compat-shlib compat,pic +./usr/lib/sparc/libisccfg.so.7 base-compat-shlib compat,pic +./usr/lib/sparc/libisccfg.so.7.0 base-compat-shlib compat,pic ./usr/lib/sparc/libiscsi.so.2 base-compat-shlib compat,pic,iscsi ./usr/lib/sparc/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi ./usr/lib/sparc/libisns.so.0 base-compat-shlib compat,pic @@ -163,16 +184,21 @@ ./usr/lib/sparc/liblua.so base-compat-shlib compat,pic ./usr/lib/sparc/liblua.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/liblua.so.1.0 base-compat-shlib compat,pic -./usr/lib/sparc/liblwres.so.5 base-compat-shlib compat,pic -./usr/lib/sparc/liblwres.so.5.7 base-compat-shlib compat,pic +./usr/lib/sparc/liblutok.so base-compat-shlib compat,pic,kyua +./usr/lib/sparc/liblutok.so.1 base-obsolete obsolete +./usr/lib/sparc/liblutok.so.1.0 base-obsolete obsolete +./usr/lib/sparc/liblutok.so.2 base-compat-shlib compat,pic,kyua +./usr/lib/sparc/liblutok.so.2.0 base-compat-shlib compat,pic,kyua +./usr/lib/sparc/liblwres.so.7 base-compat-shlib compat,pic +./usr/lib/sparc/liblwres.so.7.0 base-compat-shlib compat,pic ./usr/lib/sparc/liblzf.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/liblzf.so.1.0 base-compat-shlib compat,pic ./usr/lib/sparc/liblzma.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/liblzma.so.1.1 base-compat-shlib compat,pic ./usr/lib/sparc/libm.so.0 base-compat-shlib compat,pic ./usr/lib/sparc/libm.so.0.10 base-compat-shlib compat,pic -./usr/lib/sparc/libmagic.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/libmagic.so.3.1 base-compat-shlib compat,pic +./usr/lib/sparc/libmagic.so.5 base-compat-shlib compat,pic +./usr/lib/sparc/libmagic.so.5.0 base-compat-shlib compat,pic ./usr/lib/sparc/libmenu.so.6 base-compat-shlib compat,pic ./usr/lib/sparc/libmenu.so.6.0 base-compat-shlib compat,pic ./usr/lib/sparc/libmj.so.1 base-compat-shlib compat,pic,crypto @@ -183,20 +209,26 @@ ./usr/lib/sparc/libmpfr.so.4.1 base-compat-shlib obsolete ./usr/lib/sparc/libnetpgp.so.3 base-compat-shlib compat,pic,crypto ./usr/lib/sparc/libnetpgp.so.3.0 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libnetpgpverify.so.4 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libnetpgpverify.so.4.0 base-compat-shlib compat,pic,crypto ./usr/lib/sparc/libnpf.so.0 base-compat-shlib compat,pic,npf ./usr/lib/sparc/libnpf.so.0.0 base-compat-shlib compat,pic,npf -./usr/lib/sparc/libobjc.so.3 base-compat-shlib compat,pic,gcccmds -./usr/lib/sparc/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds -./usr/lib/sparc/libopcodes.so.5 base-compat-shlib compat,pic,binutils -./usr/lib/sparc/libopcodes.so.5.0 base-compat-shlib compat,pic,binutils +./usr/lib/sparc/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,gcc=4 +./usr/lib/sparc/libobjc.so.3 base-compat-shlib compat,pic,gcccmds,gcc=45 +./usr/lib/sparc/libobjc.so.4 base-compat-shlib compat,pic,gcccmds,gcc=48 +./usr/lib/sparc/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,gcc=4 +./usr/lib/sparc/libobjc.so.3.0 base-compat-shlib compat,pic,gcccmds,gcc=45 +./usr/lib/sparc/libobjc.so.4.0 base-compat-shlib compat,pic,gcccmds,gcc=48 +./usr/lib/sparc/libopcodes.so.6 base-compat-shlib compat,pic,binutils +./usr/lib/sparc/libopcodes.so.6.0 base-compat-shlib compat,pic,binutils ./usr/lib/sparc/libossaudio.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/libossaudio.so.1.0 base-compat-shlib compat,pic ./usr/lib/sparc/libp2k.so.2 base-compat-shlib compat,pic,rump ./usr/lib/sparc/libp2k.so.2.0 base-compat-shlib compat,pic,rump -./usr/lib/sparc/libpam.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/libpam.so.3.0 base-compat-shlib compat,pic -./usr/lib/sparc/libpcap.so.4 base-compat-shlib compat,pic -./usr/lib/sparc/libpcap.so.4.0 base-compat-shlib compat,pic +./usr/lib/sparc/libpam.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/libpam.so.4.0 base-compat-shlib compat,pic +./usr/lib/sparc/libpcap.so.5 base-compat-shlib compat,pic +./usr/lib/sparc/libpcap.so.5.0 base-compat-shlib compat,pic ./usr/lib/sparc/libpci.so.2 base-compat-shlib compat,pic ./usr/lib/sparc/libpci.so.2.0 base-compat-shlib compat,pic ./usr/lib/sparc/libperfuse.so base-compat-shlib compat,pic @@ -209,7 +241,7 @@ ./usr/lib/sparc/libprop.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/libprop.so.1.1 base-compat-shlib compat,pic ./usr/lib/sparc/libpthread.so.1 base-compat-shlib compat,pic -./usr/lib/sparc/libpthread.so.1.1 base-compat-shlib compat,pic +./usr/lib/sparc/libpthread.so.1.2 base-compat-shlib compat,pic ./usr/lib/sparc/libpthread_dbg.so.2 base-compat-shlib compat,pic ./usr/lib/sparc/libpthread_dbg.so.2.0 base-compat-shlib compat,pic ./usr/lib/sparc/libpuffs.so.2 base-compat-shlib compat,pic @@ -220,8 +252,8 @@ ./usr/lib/sparc/libradius.so.4.0 base-compat-shlib compat,pic ./usr/lib/sparc/librefuse.so.2 base-compat-shlib compat,pic ./usr/lib/sparc/librefuse.so.2.0 base-compat-shlib compat,pic -./usr/lib/sparc/libresolv.so.2 base-compat-shlib compat,pic -./usr/lib/sparc/libresolv.so.2.0 base-compat-shlib compat,pic +./usr/lib/sparc/libresolv.so.3 base-compat-shlib compat,pic +./usr/lib/sparc/libresolv.so.3.0 base-compat-shlib compat,pic ./usr/lib/sparc/libroken.so.19 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libroken.so.19.0 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/librpcsvc.so.1 base-compat-shlib compat,pic @@ -241,7 +273,7 @@ ./usr/lib/sparc/librumpnet.so.0 base-compat-shlib compat,pic,rump ./usr/lib/sparc/librumpnet.so.0.0 base-compat-shlib compat,pic,rump ./usr/lib/sparc/librumpuser.so.0 base-compat-shlib compat,pic,rump -./usr/lib/sparc/librumpuser.so.0.0 base-compat-shlib compat,pic,rump +./usr/lib/sparc/librumpuser.so.0.1 base-compat-shlib compat,pic,rump ./usr/lib/sparc/librumpvfs.so.0 base-compat-shlib compat,pic,rump ./usr/lib/sparc/librumpvfs.so.0.0 base-compat-shlib compat,pic,rump ./usr/lib/sparc/libsaslc.so.0 base-compat-shlib compat,pic,crypto @@ -254,13 +286,14 @@ ./usr/lib/sparc/libsqlite3.so.1.1 base-compat-shlib compat,pic ./usr/lib/sparc/libss.so.6 base-compat-shlib obsolete ./usr/lib/sparc/libss.so.6.0 base-compat-shlib obsolete -./usr/lib/sparc/libssh.so.19 base-compat-shlib compat,pic,crypto -./usr/lib/sparc/libssh.so.19.0 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libssh.so.22 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libssh.so.22.0 base-compat-shlib compat,pic,crypto ./usr/lib/sparc/libssl.so.10 base-compat-shlib compat,pic,crypto -./usr/lib/sparc/libssl.so.10.0 base-compat-shlib compat,pic,crypto -./usr/lib/sparc/libstdc++.so.7 base-compat-shlib compat,pic,gcccmds -./usr/lib/sparc/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic -./usr/lib/sparc/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic +./usr/lib/sparc/libssl.so.10.1 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/libstdc++.so.7 base-compat-shlib compat,pic,gcccmds,libstdcxx +./usr/lib/sparc/libstdc++.so.7.0 base-compat-shlib gcc=4,compat,pic,libstdcxx +./usr/lib/sparc/libstdc++.so.7.1 base-compat-shlib gcc=45,compat,pic,libstdcxx +./usr/lib/sparc/libstdc++.so.7.2 base-compat-shlib gcc=48,compat,pic,libstdcxx ./usr/lib/sparc/libsupc++.so.1 base-obsolete obsolete ./usr/lib/sparc/libsupc++.so.1.0 base-obsolete obsolete ./usr/lib/sparc/libtermcap.so.0 base-compat-shlib compat,pic @@ -281,39 +314,51 @@ ./usr/lib/sparc/libwind.so.0.0 base-compat-shlib compat,pic,kerberos ./usr/lib/sparc/libwrap.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/libwrap.so.1.0 base-compat-shlib compat,pic -./usr/lib/sparc/libexecinfo.so.0 base-compat-shlib compat,pic -./usr/lib/sparc/libexecinfo.so.0.0 base-compat-shlib compat,pic ./usr/lib/sparc/libz.so.1 base-compat-shlib compat,pic ./usr/lib/sparc/libz.so.1.0 base-compat-shlib compat,pic ./usr/lib/sparc/lua base-compat-shlib compat ./usr/lib/sparc/lua/5.1 base-compat-shlib compat ./usr/lib/sparc/lua/5.1/gpio.so base-compat-shlib compat,pic ./usr/lib/sparc/lua/5.1/sqlite.so base-compat-shlib compat,pic +./usr/lib/sparc/lua/5.1/syslog.so base-compat-shlib compat,pic +./usr/lib/sparc/npf base-obsolete obsolete +./usr/lib/sparc/npf/ext_log.so base-obsolete obsolete +./usr/lib/sparc/npf/ext_log.so.0 base-obsolete obsolete +./usr/lib/sparc/npf/ext_log.so.0.0 base-obsolete obsolete +./usr/lib/sparc/npf/ext_normalise.so base-obsolete obsolete +./usr/lib/sparc/npf/ext_normalise.so.0 base-obsolete obsolete +./usr/lib/sparc/npf/ext_normalise.so.0.0 base-obsolete obsolete +./usr/lib/sparc/npf/ext_rndblock.so base-obsolete obsolete +./usr/lib/sparc/npf/ext_rndblock.so.0 base-obsolete obsolete +./usr/lib/sparc/npf/ext_rndblock.so.0.0 base-obsolete obsolete ./usr/lib/sparc/security base-compat-shlib compat -./usr/lib/sparc/security/pam_afslog.so.3 base-compat-shlib compat,pic,kerberos -./usr/lib/sparc/security/pam_chroot.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_deny.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_echo.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_exec.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_ftpusers.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_group.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_guest.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_krb5.so.3 base-compat-shlib compat,pic,kerberos -./usr/lib/sparc/security/pam_ksu.so.3 base-compat-shlib compat,pic,kerberos -./usr/lib/sparc/security/pam_lastlog.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_login_access.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_nologin.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_permit.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_radius.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_rhosts.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_rootok.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_securetty.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_self.so.3 base-compat-shlib compat,pic -./usr/lib/sparc/security/pam_skey.so.3 base-compat-shlib compat,pic,skey -./usr/lib/sparc/security/pam_ssh.so.3 base-compat-shlib compat,pic,crypto -./usr/lib/sparc/security/pam_unix.so.3 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_afslog.so.4 base-compat-shlib compat,pic,kerberos +./usr/lib/sparc/security/pam_chroot.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_deny.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_echo.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_exec.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_ftpusers.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_group.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_guest.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_krb5.so.4 base-compat-shlib compat,pic,kerberos +./usr/lib/sparc/security/pam_ksu.so.4 base-compat-shlib compat,pic,kerberos +./usr/lib/sparc/security/pam_lastlog.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_login_access.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_nologin.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_permit.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_radius.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_rhosts.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_rootok.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_securetty.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_self.so.4 base-compat-shlib compat,pic +./usr/lib/sparc/security/pam_skey.so.4 base-compat-shlib compat,pic,skey +./usr/lib/sparc/security/pam_ssh.so.4 base-compat-shlib compat,pic,crypto +./usr/lib/sparc/security/pam_unix.so.4 base-compat-shlib compat,pic +./usr/libdata/debug/lib/sparc base-compat-lib compat +./usr/libdata/debug/lib/sparc/npf base-compat-lib compat ./usr/libdata/debug/usr/lib/sparc base-compat-lib compat ./usr/libdata/debug/usr/lib/sparc/i18n base-compat-lib compat +./usr/libdata/debug/usr/lib/sparc/npf base-obsolete obsolete ./usr/libexec/ld.elf_so-sparc base-sysutil-bin compat,pic ./usr/lkm/compat_netbsd32.o base-obsolete obsolete ./usr/lkm/compat_sunos32.o base-obsolete obsolete diff --git a/distrib/sets/lists/base/md.sun2 b/distrib/sets/lists/base/md.sun2 index e3e5eb097..e0ad278cc 100644 --- a/distrib/sets/lists/base/md.sun2 +++ b/distrib/sets/lists/base/md.sun2 @@ -1,4 +1,5 @@ -# $NetBSD: md.sun2,v 1.9 2009/02/14 11:33:56 abs Exp $ +# $NetBSD: md.sun2,v 1.11 2013/08/11 22:29:02 joerg Exp $ +./usr/bin/fdformat base-util-bin ./usr/mdec/bootxx base-sysutil-bin ./usr/mdec/bootyy base-sysutil-bin ./usr/mdec/installboot base-obsolete obsolete diff --git a/distrib/sets/lists/base/md.x68k b/distrib/sets/lists/base/md.x68k index b4b93642b..10d428d0e 100644 --- a/distrib/sets/lists/base/md.x68k +++ b/distrib/sets/lists/base/md.x68k @@ -1,4 +1,4 @@ -# $NetBSD: md.x68k,v 1.45 2012/10/12 20:16:30 tsutsui Exp $ +# $NetBSD: md.x68k,v 1.46 2013/08/11 22:29:02 joerg Exp $ ./dev/pow0 base-obsolete obsolete ./dev/pow1 base-obsolete obsolete ./usr/bin/bellctrl base-util-bin @@ -18,12 +18,12 @@ ./usr/mdec/newdisk base-sysutil-bin ./usr/mdec/sdboot_ufs base-sysutil-bin ./usr/mdec/xxboot base-obsolete obsolete -./usr/mdec/xxboot_ufs base-sysutil-bin ./usr/mdec/xxboot_cd9660 base-sysutil-bin ./usr/mdec/xxboot_ffsv1 base-sysutil-bin ./usr/mdec/xxboot_ffsv2 base-sysutil-bin ./usr/mdec/xxboot_lfsv1 base-sysutil-bin ./usr/mdec/xxboot_lfsv2 base-sysutil-bin +./usr/mdec/xxboot_ufs base-sysutil-bin ./usr/sbin/memswitch base-sysutil-bin ./usr/sbin/poffd base-obsolete obsolete ./usr/share/keymaps/x68k/ascii_kmap base-sys-share diff --git a/distrib/sets/lists/base/md.zaurus b/distrib/sets/lists/base/md.zaurus deleted file mode 100644 index a6b32ea38..000000000 --- a/distrib/sets/lists/base/md.zaurus +++ /dev/null @@ -1,7 +0,0 @@ -# $NetBSD: md.zaurus,v 1.7 2009/03/03 08:02:41 nonaka Exp $ -./usr/mdec/zboot base-sysutil-bin -./usr/mdec/zbsdmod.o base-sysutil-bin -./usr/sbin/apm base-sysutil-bin -./usr/sbin/apmd base-sysutil-bin -./usr/sbin/tpctl base-sysutil-bin -./usr/sbin/zzz base-sysutil-bin diff --git a/distrib/sets/lists/base/mi b/distrib/sets/lists/base/mi index 571e5cbfb..d30b416be 100644 --- a/distrib/sets/lists/base/mi +++ b/distrib/sets/lists/base/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1009 2012/09/18 15:14:40 skrll Exp $ +# $NetBSD: mi,v 1.1051 2013/12/01 09:13:55 martin Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -99,6 +99,7 @@ ./etc/iscsi base-sysutil-root ./etc/kerberosIV base-obsolete obsolete ./etc/kerberosV base-krb5-root +./etc/kyua base-kyua-root ./etc/mail base-postfix-bin ./etc/mtree base-sys-root ./etc/mtree/set.base base-sys-root @@ -126,8 +127,14 @@ ./lib base-sys-root ./lib/libdes.so base-obsolete obsolete ./lib/libssp.so base-obsolete obsolete +./lib/npf base-sys-root ./libdata base-sys-root ./libdata/firmware base-firmware-root +./libdata/firmware/if_athn base-firmware-root +./libdata/firmware/if_athn/athn-ar7010 base-firmware-root +./libdata/firmware/if_athn/athn-ar7010-11 base-firmware-root +./libdata/firmware/if_athn/athn-ar9271 base-firmware-root +./libdata/firmware/if_athn/athn-license base-firmware-root ./libdata/firmware/if_ipw base-firmware-root ./libdata/firmware/if_ipw/LICENSE base-firmware-root ./libdata/firmware/if_ipw/ipw2100-1.2-i.fw base-firmware-root @@ -145,6 +152,7 @@ ./libdata/firmware/if_iwn/LICENSE.iwlwifi-5150-ucode base-firmware-root ./libdata/firmware/if_iwn/LICENSE.iwlwifi-6000-ucode base-firmware-root ./libdata/firmware/if_iwn/LICENSE.iwlwifi-6000g2a-ucode base-firmware-root +./libdata/firmware/if_iwn/LICENSE.iwlwifi-6000g2b-ucode base-firmware-root ./libdata/firmware/if_iwn/LICENSE.iwlwifi-6050-ucode base-firmware-root ./libdata/firmware/if_iwn/README.iwlwifi-1000-ucode base-firmware-root ./libdata/firmware/if_iwn/README.iwlwifi-4965-ucode base-firmware-root @@ -152,6 +160,7 @@ ./libdata/firmware/if_iwn/README.iwlwifi-5150-ucode base-firmware-root ./libdata/firmware/if_iwn/README.iwlwifi-6000-ucode base-firmware-root ./libdata/firmware/if_iwn/README.iwlwifi-6000g2a-ucode base-firmware-root +./libdata/firmware/if_iwn/README.iwlwifi-6000g2b-ucode base-firmware-root ./libdata/firmware/if_iwn/README.iwlwifi-6050-ucode base-firmware-root ./libdata/firmware/if_iwn/iwlwifi-1000-3.ucode base-firmware-root ./libdata/firmware/if_iwn/iwlwifi-4965-1.ucode base-obsolete obsolete @@ -161,6 +170,7 @@ ./libdata/firmware/if_iwn/iwlwifi-5150-2.ucode base-firmware-root ./libdata/firmware/if_iwn/iwlwifi-6000-4.ucode base-firmware-root ./libdata/firmware/if_iwn/iwlwifi-6000g2a-5.ucode base-firmware-root +./libdata/firmware/if_iwn/iwlwifi-6000g2b-6.ucode base-firmware-root ./libdata/firmware/if_iwn/iwlwifi-6050-5.ucode base-firmware-root ./libdata/firmware/if_otus base-firmware-root ./libdata/firmware/if_otus/otus-init base-firmware-root @@ -201,14 +211,17 @@ ./libexec base-sys-root ./libexec/devpubd-hooks base-sysutil-root ./libexec/devpubd-hooks/01-makedev base-sysutil-root +./libexec/devpubd-hooks/02-wedgenames base-sysutil-root ./libexec/devpubd-run-hooks base-sysutil-root ./libexec/dhcpcd-hooks base-dhcpcd-root ./libexec/dhcpcd-hooks/01-test base-dhcpcd-root ./libexec/dhcpcd-hooks/02-dump base-dhcpcd-root ./libexec/dhcpcd-hooks/10-mtu base-dhcpcd-root ./libexec/dhcpcd-hooks/10-resolv.conf base-obsolete obsolete +./libexec/dhcpcd-hooks/10-wpa_supplicant base-dhcpcd-root ./libexec/dhcpcd-hooks/14-lookup-hostname base-obsolete obsolete ./libexec/dhcpcd-hooks/15-hostname base-obsolete obsolete +./libexec/dhcpcd-hooks/15-timezone base-dhcpcd-root ./libexec/dhcpcd-hooks/20-resolv.conf base-dhcpcd-root ./libexec/dhcpcd-hooks/29-lookup-hostname base-dhcpcd-root ./libexec/dhcpcd-hooks/30-hostname base-dhcpcd-root @@ -270,6 +283,7 @@ ./sbin/iscsid base-iscsi-bin iscsi ./sbin/ispppcontrol base-obsolete obsolete ./sbin/lmcctl base-obsolete obsolete +./sbin/luactl base-sysutil-root ./sbin/lvm base-lvm-root lvm ./sbin/mbrlabel base-sysutil-root ./sbin/mknod base-sysutil-root @@ -321,6 +335,7 @@ ./sbin/nfsd base-obsolete obsolete ./sbin/nfsiod base-obsolete obsolete ./sbin/nologin base-sysutil-root +./sbin/npfctl base-npf-bin npf ./sbin/pdisk base-sysutil-root ./sbin/pfctl base-pf-root pf ./sbin/pflogd base-pf-root pf @@ -386,15 +401,20 @@ ./usr/bin/arpaname base-bind-bin ./usr/bin/at base-cron-bin ./usr/bin/atf-check base-obsolete obsolete -./usr/bin/atf-config base-atf-bin atf +./usr/bin/atf-config base-atf-bin atf,!kyua +./usr/bin/atf-config base-obsolete kyua,obsolete ./usr/bin/atf-report base-atf-bin atf +./usr/bin/atf-report base-kyua-bin kyua ./usr/bin/atf-run base-atf-bin atf +./usr/bin/atf-run base-kyua-bin kyua ./usr/bin/atf-sh base-atf-bin atf -./usr/bin/atf-version base-atf-bin atf +./usr/bin/atf-version base-atf-bin atf,!kyua +./usr/bin/atf-version base-obsolete kyua,obsolete +./usr/bin/atf2kyua base-kyua-bin kyua ./usr/bin/atq base-cron-bin ./usr/bin/atrm base-cron-bin -./usr/bin/audioctl base-audio-bin ./usr/bin/audiocfg base-audio-bin +./usr/bin/audioctl base-audio-bin ./usr/bin/audioplay base-audio-bin ./usr/bin/audiorecord base-audio-bin ./usr/bin/awk base-util-bin @@ -422,9 +442,9 @@ ./usr/bin/chsh base-util-bin ./usr/bin/ci base-rcs-bin ./usr/bin/cksum base-util-bin +./usr/bin/cleantags base-util-bin ./usr/bin/clear base-util-bin ./usr/bin/cmp base-util-bin -./usr/bin/cleantags base-util-bin ./usr/bin/co base-rcs-bin ./usr/bin/col base-util-bin ./usr/bin/colcrt base-util-bin @@ -462,6 +482,7 @@ ./usr/bin/fincore base-util-bin ./usr/bin/find base-util-bin ./usr/bin/finger base-util-bin +./usr/bin/flock base-util-bin ./usr/bin/fmt base-util-bin ./usr/bin/fold base-util-bin ./usr/bin/from base-mail-bin @@ -515,6 +536,7 @@ ./usr/bin/krb5-config base-krb5-bin kerberos ./usr/bin/ktrace base-debug-bin ./usr/bin/ktruss base-debug-bin +./usr/bin/kyua base-kyua-bin kyua ./usr/bin/lam base-util-bin ./usr/bin/last base-util-bin ./usr/bin/lastcomm base-util-bin @@ -559,6 +581,7 @@ ./usr/bin/mailx base-mail-bin ./usr/bin/make base-util-bin ./usr/bin/man base-man-bin +./usr/bin/mandoc base-man-bin ./usr/bin/md2 base-util-bin ./usr/bin/md4 base-util-bin ./usr/bin/md5 base-util-bin @@ -706,6 +729,9 @@ ./usr/bin/top base-util-bin ./usr/bin/touch base-util-bin ./usr/bin/tpfmt base-util-bin +./usr/bin/tpm_sealdata base-tpm-bin tpm +./usr/bin/tpm_unsealdata base-tpm-bin tpm +./usr/bin/tpm_version base-tpm-bin tpm ./usr/bin/tput base-util-bin ./usr/bin/tr base-util-bin ./usr/bin/true base-util-bin @@ -775,6 +801,7 @@ ./usr/bin/zfgrep base-util-bin ./usr/bin/zforce base-util-bin ./usr/bin/zgrep base-util-bin +./usr/bin/zless base-util-bin ./usr/bin/zmore base-util-bin ./usr/bin/znew base-util-bin ./usr/bin/ztest base-zfs-bin zfs @@ -784,9 +811,14 @@ ./usr/include/adosfs base-c-usr ./usr/include/altq base-c-usr ./usr/include/arpa base-c-usr +./usr/include/c++ base-cxx-usr +./usr/include/c++/experimental base-cxx-usr +./usr/include/c++/ext base-cxx-usr ./usr/include/cdk base-obsolete obsolete ./usr/include/clang-3.0 base-obsolete obsolete -./usr/include/clang-3.2 base-c-usr +./usr/include/clang-3.2 base-obsolete obsolete +./usr/include/clang-3.3 base-obsolete obsolete +./usr/include/clang-3.4 base-c-usr ./usr/include/compat base-obsolete obsolete ./usr/include/crypto base-c-usr ./usr/include/dev base-c-usr @@ -796,8 +828,8 @@ ./usr/include/dev/dm base-c-usr ./usr/include/dev/dmover base-c-usr ./usr/include/dev/dtv base-c-usr -./usr/include/dev/filemon base-c-usr ./usr/include/dev/eisa base-obsolete obsolete +./usr/include/dev/filemon base-c-usr ./usr/include/dev/hpc base-c-usr ./usr/include/dev/i2c base-c-usr ./usr/include/dev/i2o base-c-usr @@ -829,6 +861,7 @@ ./usr/include/dev/vinum base-obsolete obsolete ./usr/include/dev/vme base-c-usr ./usr/include/dev/wscons base-c-usr +./usr/include/event2 base-c-usr ./usr/include/filecorefs base-c-usr ./usr/include/fs base-c-usr ./usr/include/fs/efs base-c-usr @@ -848,15 +881,45 @@ ./usr/include/g++/debug base-cxx-usr ./usr/include/g++/decimal base-cxx-usr ./usr/include/g++/ext base-cxx-usr +./usr/include/g++/ext/pb_ds base-cxx-usr +./usr/include/g++/ext/pb_ds/detail base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/binary_heap_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/binomial_heap_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/branch_policy base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/eq_fn base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/hash_fn base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/list_update_map_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/list_update_policy base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/pairing_heap_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/pat_trie_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/resize_policy base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/splay_tree_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/thin_heap_ base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/tree_policy base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/trie_policy base-cxx-usr +./usr/include/g++/ext/pb_ds/detail/unordered_iterator base-cxx-usr ./usr/include/g++/gen base-obsolete obsolete ./usr/include/g++/parallel base-cxx-usr +./usr/include/g++/profile base-cxx-usr +./usr/include/g++/profile/impl base-cxx-usr ./usr/include/g++/std base-obsolete obsolete ./usr/include/g++/tr1 base-cxx-usr ./usr/include/g++/tr1_impl base-cxx-usr -./usr/include/gcc-4.1 base-obsolete !gcc,obsolete +./usr/include/g++/tr2 base-cxx-usr ./usr/include/gcc-4.1 base-c-usr gcc=4 +./usr/include/gcc-4.1 base-obsolete !gcc,obsolete ./usr/include/gcc-4.1 base-obsolete gcc=45,obsolete +./usr/include/gcc-4.1 base-obsolete gcc=48,obsolete ./usr/include/gcc-4.5 base-c-usr +./usr/include/gcc-4.8 base-c-usr ./usr/include/gssapi base-c-usr ./usr/include/gssapi/rpc base-obsolete obsolete ./usr/include/isofs base-c-usr @@ -893,11 +956,12 @@ ./usr/include/netinet6 base-c-usr ./usr/include/netipsec base-c-usr ./usr/include/netisdn base-c-usr -./usr/include/netiso base-c-usr +./usr/include/netiso base-obsolete obsolete ./usr/include/netkey base-c-usr ./usr/include/netmpls base-c-usr ./usr/include/netnatm base-c-usr ./usr/include/netns base-obsolete obsolete +./usr/include/netpgp base-c-usr ./usr/include/netsmb base-c-usr ./usr/include/nfs base-c-usr ./usr/include/ntfs base-c-usr @@ -935,7 +999,7 @@ ./usr/lib/libusb.so base-obsolete obsolete ./usr/lib/lua base-sys-usr ./usr/lib/lua/5.1 base-sys-usr -./usr/lib/npf base-sys-usr +./usr/lib/npf base-obsolete obsolete ./usr/lib/runemodule base-obsolete obsolete ./usr/lib/runemodule/libBIG5.a base-obsolete obsolete ./usr/lib/runemodule/libBIG5.so base-obsolete obsolete @@ -969,6 +1033,8 @@ ./usr/libdata base-sys-usr ./usr/libdata/debug base-sys-usr ./usr/libdata/debug/bin base-sys-usr +./usr/libdata/debug/lib base-sys-usr +./usr/libdata/debug/lib/npf base-sys-usr ./usr/libdata/debug/libexec base-sys-usr ./usr/libdata/debug/sbin base-sys-usr ./usr/libdata/debug/usr base-sys-usr @@ -976,7 +1042,7 @@ ./usr/libdata/debug/usr/games base-sys-usr ./usr/libdata/debug/usr/lib base-sys-usr ./usr/libdata/debug/usr/lib/i18n base-i18n-root -./usr/libdata/debug/usr/lib/npf base-sys-usr +./usr/libdata/debug/usr/lib/npf base-obsolete obsolete ./usr/libdata/debug/usr/libexec base-sys-usr ./usr/libdata/debug/usr/libexec/ching base-sys-usr ./usr/libdata/debug/usr/libexec/lpr base-sys-usr @@ -1056,6 +1122,8 @@ ./usr/libexec/kdc base-obsolete obsolete ./usr/libexec/kfd base-obsolete obsolete ./usr/libexec/kpasswdd base-krb5-bin kerberos +./usr/libexec/kyua-atf-tester base-kyua-bin kyua +./usr/libexec/kyua-plain-tester base-kyua-bin kyua ./usr/libexec/lfs_cleanerd base-obsolete obsolete ./usr/libexec/locate.bigram base-sysutil-bin ./usr/libexec/locate.code base-sysutil-bin @@ -1220,6 +1288,7 @@ ./usr/sbin/dnssec-settime base-bind-bin ./usr/sbin/dnssec-signkey base-obsolete obsolete ./usr/sbin/dnssec-signzone base-bind-bin +./usr/sbin/dnssec-verify base-bind-bin ./usr/sbin/download-vulnerability-list base-pkgutil-bin crypto ./usr/sbin/dtmfdecode base-isdn-bin ./usr/sbin/dtrace base-debug-bin dtrace @@ -1311,6 +1380,7 @@ ./usr/sbin/mailwrapper base-mailwrapper-bin ./usr/sbin/makedbm base-nis-bin yp ./usr/sbin/makefs base-sysutil-bin +./usr/sbin/makemandb base-man-bin makemandb ./usr/sbin/makemap base-obsolete obsolete ./usr/sbin/map-mbone base-netutil-bin ./usr/sbin/mbrlabel base-obsolete obsolete @@ -1356,7 +1426,7 @@ ./usr/sbin/netgroup_mkdb base-nis-bin ./usr/sbin/nfsd base-nfsserver-bin ./usr/sbin/nfsiod base-obsolete obsolete -./usr/sbin/npfctl base-npf-bin npf +./usr/sbin/npfctl base-obsolete obsolete ./usr/sbin/npftest base-npf-bin npf,rump,pic ./usr/sbin/nsec3hash base-bind-bin ./usr/sbin/nslookup base-obsolete obsolete @@ -1495,8 +1565,30 @@ ./usr/sbin/tcpdmatch base-netutil-bin ./usr/sbin/tcpdrop base-netutil-bin ./usr/sbin/tcpdump base-netutil-bin +./usr/sbin/tcsd base-tpm-bin tpm ./usr/sbin/timed base-timed-bin ./usr/sbin/timedc base-timed-bin +./usr/sbin/tpm_changeownerauth base-tpm-bin tpm +./usr/sbin/tpm_clear base-tpm-bin tpm +./usr/sbin/tpm_createek base-tpm-bin tpm +./usr/sbin/tpm_getpubek base-tpm-bin tpm +./usr/sbin/tpm_nvdefine base-tpm-bin tpm +./usr/sbin/tpm_nvinfo base-tpm-bin tpm +./usr/sbin/tpm_nvread base-tpm-bin tpm +./usr/sbin/tpm_nvrelease base-tpm-bin tpm +./usr/sbin/tpm_nvwrite base-tpm-bin tpm +./usr/sbin/tpm_resetdalock base-tpm-bin tpm +./usr/sbin/tpm_restrictpubek base-tpm-bin tpm +./usr/sbin/tpm_restrictsrk base-tpm-bin tpm +./usr/sbin/tpm_revokeek base-tpm-bin tpm +./usr/sbin/tpm_selftest base-tpm-bin tpm +./usr/sbin/tpm_setactive base-tpm-bin tpm +./usr/sbin/tpm_setclearable base-tpm-bin tpm +./usr/sbin/tpm_setenable base-tpm-bin tpm +./usr/sbin/tpm_setoperatorauth base-tpm-bin tpm +./usr/sbin/tpm_setownable base-tpm-bin tpm +./usr/sbin/tpm_setpresence base-tpm-bin tpm +./usr/sbin/tpm_takeownership base-tpm-bin tpm ./usr/sbin/tprof base-sysutil-bin ./usr/sbin/traceroute base-netutil-bin ./usr/sbin/traceroute6 base-netutil-bin use_inet6 @@ -1514,6 +1606,7 @@ ./usr/sbin/veriexecgen base-sysutil-bin ./usr/sbin/vipw base-sysutil-bin ./usr/sbin/vnconfig base-sysutil-bin +./usr/sbin/vndconfig base-sysutil-bin ./usr/sbin/wake base-obsolete obsolete ./usr/sbin/wakeonlan base-netutil-bin ./usr/sbin/wiconfig base-sysutil-bin @@ -1540,8 +1633,9 @@ ./usr/sbin/zdump base-sysutil-bin ./usr/sbin/zic base-sysutil-bin ./usr/share base-sys-share -./usr/share/atf base-atf-share -./usr/share/atf/atf-run.hooks base-atf-bin share,atf +./usr/share/atf base-atf-share +./usr/share/atf/atf-run.hooks base-atf-bin share,atf,!kyua +./usr/share/atf/atf-run.hooks base-obsolete share,kyua,obsolete ./usr/share/atf/atf.config.subr base-obsolete obsolete ./usr/share/atf/atf.footer.subr base-obsolete obsolete ./usr/share/atf/atf.header.subr base-obsolete obsolete @@ -1676,9 +1770,10 @@ ./usr/share/examples/mount_portal base-miscfs-examples ./usr/share/examples/named base-obsolete obsolete ./usr/share/examples/npf base-netutil-examples -./usr/share/examples/npf/host-npf.conf base-netutil-examples -./usr/share/examples/npf/soho_gw-npf.conf base-netutil-examples ./usr/share/examples/npf/hashtablefile base-netutil-examples +./usr/share/examples/npf/host-npf.conf base-netutil-examples +./usr/share/examples/npf/l2tp_gw-npf.conf base-netutil-examples +./usr/share/examples/npf/soho_gw-npf.conf base-netutil-examples ./usr/share/examples/npf/treetablefile base-netutil-examples ./usr/share/examples/openssl base-crypto-examples ./usr/share/examples/pf base-netutil-examples @@ -2488,6 +2583,18 @@ ./usr/share/keymaps/amiga base-sys-share ./usr/share/keymaps/atari base-sys-share ./usr/share/keymaps/x68k base-sys-share +./usr/share/kyua-atf-compat base-kyua-bin +./usr/share/kyua-atf-compat/lib.subr base-kyua-bin kyua +./usr/share/kyua-atf-compat/tests_lib.subr base-kyua-bin kyua +./usr/share/kyua-cli base-kyua-bin +./usr/share/kyua-cli/misc base-kyua-bin +./usr/share/kyua-cli/misc/context.html base-kyua-bin share,kyua +./usr/share/kyua-cli/misc/index.html base-kyua-bin share,kyua +./usr/share/kyua-cli/misc/report.css base-kyua-bin share,kyua +./usr/share/kyua-cli/misc/test_result.html base-kyua-bin share,kyua +./usr/share/kyua-cli/store base-kyua-bin +./usr/share/kyua-cli/store/migrate_v1_v2.sql base-kyua-bin share,kyua +./usr/share/kyua-cli/store/schema_v2.sql base-kyua-bin share,kyua ./usr/share/ldscripts base-obsolete obsolete ./usr/share/legal base-sys-share ./usr/share/legal/COPYRIGHT base-sys-share share @@ -2534,6 +2641,13 @@ ./usr/share/locale/af_ZA.ISO8859-15/LC_MONETARY base-locale-af nls ./usr/share/locale/af_ZA.ISO8859-15/LC_NUMERIC base-locale-af nls ./usr/share/locale/af_ZA.ISO8859-15/LC_TIME base-locale-af nls +./usr/share/locale/af_ZA.UTF-8 base-locale-af +./usr/share/locale/af_ZA.UTF-8/LC_CTYPE base-locale-af nls +./usr/share/locale/af_ZA.UTF-8/LC_MESSAGES base-locale-af nls +./usr/share/locale/af_ZA.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-af nls +./usr/share/locale/af_ZA.UTF-8/LC_MONETARY base-locale-af nls +./usr/share/locale/af_ZA.UTF-8/LC_NUMERIC base-locale-af nls +./usr/share/locale/af_ZA.UTF-8/LC_TIME base-locale-af nls ./usr/share/locale/be base-locale-be ./usr/share/locale/be/LC_MESSAGES base-locale-be ./usr/share/locale/be_BY.CP1251 base-locale-be @@ -2550,6 +2664,13 @@ ./usr/share/locale/be_BY.ISO8859-5/LC_MONETARY base-locale-be nls ./usr/share/locale/be_BY.ISO8859-5/LC_NUMERIC base-locale-be nls ./usr/share/locale/be_BY.ISO8859-5/LC_TIME base-locale-be nls +./usr/share/locale/be_BY.UTF-8 base-locale-be +./usr/share/locale/be_BY.UTF-8/LC_CTYPE base-locale-be nls +./usr/share/locale/be_BY.UTF-8/LC_MESSAGES base-locale-be nls +./usr/share/locale/be_BY.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-be nls +./usr/share/locale/be_BY.UTF-8/LC_MONETARY base-locale-be nls +./usr/share/locale/be_BY.UTF-8/LC_NUMERIC base-locale-be nls +./usr/share/locale/be_BY.UTF-8/LC_TIME base-locale-be nls ./usr/share/locale/bg_BG.CP1251 base-locale-bg ./usr/share/locale/bg_BG.CP1251/LC_CTYPE base-locale-bg nls ./usr/share/locale/bg_BG.CP1251/LC_MESSAGES base-locale-bg @@ -2557,6 +2678,13 @@ ./usr/share/locale/bg_BG.CP1251/LC_MONETARY base-locale-bg nls ./usr/share/locale/bg_BG.CP1251/LC_NUMERIC base-locale-bg nls ./usr/share/locale/bg_BG.CP1251/LC_TIME base-locale-bg nls +./usr/share/locale/bg_BG.UTF-8 base-locale-bg +./usr/share/locale/bg_BG.UTF-8/LC_CTYPE base-locale-bg nls +./usr/share/locale/bg_BG.UTF-8/LC_MESSAGES base-locale-bg nls +./usr/share/locale/bg_BG.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-bg nls +./usr/share/locale/bg_BG.UTF-8/LC_MONETARY base-locale-bg nls +./usr/share/locale/bg_BG.UTF-8/LC_NUMERIC base-locale-bg nls +./usr/share/locale/bg_BG.UTF-8/LC_TIME base-locale-bg nls ./usr/share/locale/ca base-locale-ca ./usr/share/locale/ca/LC_MESSAGES base-locale-ca ./usr/share/locale/ca_ES.ISO8859-1 base-locale-ca @@ -2573,6 +2701,13 @@ ./usr/share/locale/ca_ES.ISO8859-15/LC_MONETARY base-locale-ca nls ./usr/share/locale/ca_ES.ISO8859-15/LC_NUMERIC base-locale-ca nls ./usr/share/locale/ca_ES.ISO8859-15/LC_TIME base-locale-ca nls +./usr/share/locale/ca_ES.UTF-8 base-locale-ca +./usr/share/locale/ca_ES.UTF-8/LC_CTYPE base-locale-ca nls +./usr/share/locale/ca_ES.UTF-8/LC_MESSAGES base-locale-ca nls +./usr/share/locale/ca_ES.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ca nls +./usr/share/locale/ca_ES.UTF-8/LC_MONETARY base-locale-ca nls +./usr/share/locale/ca_ES.UTF-8/LC_NUMERIC base-locale-ca nls +./usr/share/locale/ca_ES.UTF-8/LC_TIME base-locale-ca nls ./usr/share/locale/cs base-locale-cs ./usr/share/locale/cs/LC_MESSAGES base-locale-cs ./usr/share/locale/cs/LC_MESSAGES/grep.mo base-util_locale-cs nls,!bsdgrep @@ -2586,6 +2721,13 @@ ./usr/share/locale/cs_CZ.ISO8859-2/LC_MONETARY base-locale-cs nls ./usr/share/locale/cs_CZ.ISO8859-2/LC_NUMERIC base-locale-cs nls ./usr/share/locale/cs_CZ.ISO8859-2/LC_TIME base-locale-cs nls +./usr/share/locale/cs_CZ.UTF-8 base-locale-cs +./usr/share/locale/cs_CZ.UTF-8/LC_CTYPE base-locale-cs nls +./usr/share/locale/cs_CZ.UTF-8/LC_MESSAGES base-locale-cs nls +./usr/share/locale/cs_CZ.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-cs nls +./usr/share/locale/cs_CZ.UTF-8/LC_MONETARY base-locale-cs nls +./usr/share/locale/cs_CZ.UTF-8/LC_NUMERIC base-locale-cs nls +./usr/share/locale/cs_CZ.UTF-8/LC_TIME base-locale-cs nls ./usr/share/locale/da base-locale-da ./usr/share/locale/da/LC_MESSAGES base-locale-da ./usr/share/locale/da/LC_MESSAGES/tar.mo base-obsolete obsolete @@ -2604,6 +2746,13 @@ ./usr/share/locale/da_DK.ISO8859-15/LC_MONETARY base-locale-da nls ./usr/share/locale/da_DK.ISO8859-15/LC_NUMERIC base-locale-da nls ./usr/share/locale/da_DK.ISO8859-15/LC_TIME base-locale-da nls +./usr/share/locale/da_DK.UTF-8 base-locale-da +./usr/share/locale/da_DK.UTF-8/LC_CTYPE base-locale-da nls +./usr/share/locale/da_DK.UTF-8/LC_MESSAGES base-locale-da nls +./usr/share/locale/da_DK.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-da nls +./usr/share/locale/da_DK.UTF-8/LC_MONETARY base-locale-da nls +./usr/share/locale/da_DK.UTF-8/LC_NUMERIC base-locale-da nls +./usr/share/locale/da_DK.UTF-8/LC_TIME base-locale-da nls ./usr/share/locale/de base-locale-de ./usr/share/locale/de/LC_MESSAGES base-locale-de ./usr/share/locale/de/LC_MESSAGES/grep.mo base-util_locale-de nls,!bsdgrep @@ -2625,6 +2774,13 @@ ./usr/share/locale/de_AT.ISO8859-15/LC_MONETARY base-locale-de nls ./usr/share/locale/de_AT.ISO8859-15/LC_NUMERIC base-locale-de nls ./usr/share/locale/de_AT.ISO8859-15/LC_TIME base-locale-de nls +./usr/share/locale/de_AT.UTF-8 base-locale-de +./usr/share/locale/de_AT.UTF-8/LC_CTYPE base-locale-de nls +./usr/share/locale/de_AT.UTF-8/LC_MESSAGES base-locale-de nls +./usr/share/locale/de_AT.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-de nls +./usr/share/locale/de_AT.UTF-8/LC_MONETARY base-locale-de nls +./usr/share/locale/de_AT.UTF-8/LC_NUMERIC base-locale-de nls +./usr/share/locale/de_AT.UTF-8/LC_TIME base-locale-de nls ./usr/share/locale/de_AT/LC_MESSAGES base-locale-de ./usr/share/locale/de_AT/LC_MESSAGES/texinfo.mo base-texinfo_locale-de nls ./usr/share/locale/de_CH.ISO8859-1 base-locale-de @@ -2641,6 +2797,13 @@ ./usr/share/locale/de_CH.ISO8859-15/LC_MONETARY base-locale-de nls ./usr/share/locale/de_CH.ISO8859-15/LC_NUMERIC base-locale-de nls ./usr/share/locale/de_CH.ISO8859-15/LC_TIME base-locale-de nls +./usr/share/locale/de_CH.UTF-8 base-locale-de +./usr/share/locale/de_CH.UTF-8/LC_CTYPE base-locale-de nls +./usr/share/locale/de_CH.UTF-8/LC_MESSAGES base-locale-de nls +./usr/share/locale/de_CH.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-de nls +./usr/share/locale/de_CH.UTF-8/LC_MONETARY base-locale-de nls +./usr/share/locale/de_CH.UTF-8/LC_NUMERIC base-locale-de nls +./usr/share/locale/de_CH.UTF-8/LC_TIME base-locale-de nls ./usr/share/locale/de_DE.ISO8859-1 base-locale-de ./usr/share/locale/de_DE.ISO8859-1/LC_CTYPE base-locale-de nls ./usr/share/locale/de_DE.ISO8859-1/LC_MESSAGES base-locale-de @@ -2655,6 +2818,13 @@ ./usr/share/locale/de_DE.ISO8859-15/LC_MONETARY base-locale-de nls ./usr/share/locale/de_DE.ISO8859-15/LC_NUMERIC base-locale-de nls ./usr/share/locale/de_DE.ISO8859-15/LC_TIME base-locale-de nls +./usr/share/locale/de_DE.UTF-8 base-locale-de +./usr/share/locale/de_DE.UTF-8/LC_CTYPE base-locale-de nls +./usr/share/locale/de_DE.UTF-8/LC_MESSAGES base-locale-de nls +./usr/share/locale/de_DE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-de nls +./usr/share/locale/de_DE.UTF-8/LC_MONETARY base-locale-de nls +./usr/share/locale/de_DE.UTF-8/LC_NUMERIC base-locale-de nls +./usr/share/locale/de_DE.UTF-8/LC_TIME base-locale-de nls ./usr/share/locale/el base-locale-el ./usr/share/locale/el/LC_MESSAGES base-locale-el ./usr/share/locale/el/LC_MESSAGES/grep.mo base-util_locale-el nls,!bsdgrep @@ -2665,6 +2835,13 @@ ./usr/share/locale/el_GR.ISO8859-7/LC_MONETARY base-locale-el nls ./usr/share/locale/el_GR.ISO8859-7/LC_NUMERIC base-locale-el nls ./usr/share/locale/el_GR.ISO8859-7/LC_TIME base-locale-el nls +./usr/share/locale/el_GR.UTF-8 base-locale-el +./usr/share/locale/el_GR.UTF-8/LC_CTYPE base-locale-el nls +./usr/share/locale/el_GR.UTF-8/LC_MESSAGES base-locale-el nls +./usr/share/locale/el_GR.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-el nls +./usr/share/locale/el_GR.UTF-8/LC_MONETARY base-locale-el nls +./usr/share/locale/el_GR.UTF-8/LC_NUMERIC base-locale-el nls +./usr/share/locale/el_GR.UTF-8/LC_TIME base-locale-el nls ./usr/share/locale/en@boldquot base-locale-en ./usr/share/locale/en@boldquot/LC_MESSAGES base-locale-en ./usr/share/locale/en@quot base-locale-en @@ -2683,6 +2860,13 @@ ./usr/share/locale/en_AU.ISO8859-15/LC_MONETARY base-locale-en nls ./usr/share/locale/en_AU.ISO8859-15/LC_NUMERIC base-locale-en nls ./usr/share/locale/en_AU.ISO8859-15/LC_TIME base-locale-en nls +./usr/share/locale/en_AU.UTF-8 base-locale-en +./usr/share/locale/en_AU.UTF-8/LC_CTYPE base-locale-en nls +./usr/share/locale/en_AU.UTF-8/LC_MESSAGES base-locale-en nls +./usr/share/locale/en_AU.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-en nls +./usr/share/locale/en_AU.UTF-8/LC_MONETARY base-locale-en nls +./usr/share/locale/en_AU.UTF-8/LC_NUMERIC base-locale-en nls +./usr/share/locale/en_AU.UTF-8/LC_TIME base-locale-en nls ./usr/share/locale/en_CA.ISO8859-1 base-locale-en ./usr/share/locale/en_CA.ISO8859-1/LC_CTYPE base-locale-en nls ./usr/share/locale/en_CA.ISO8859-1/LC_MESSAGES base-locale-en @@ -2697,6 +2881,13 @@ ./usr/share/locale/en_CA.ISO8859-15/LC_MONETARY base-locale-en nls ./usr/share/locale/en_CA.ISO8859-15/LC_NUMERIC base-locale-en nls ./usr/share/locale/en_CA.ISO8859-15/LC_TIME base-locale-en nls +./usr/share/locale/en_CA.UTF-8 base-locale-en +./usr/share/locale/en_CA.UTF-8/LC_CTYPE base-locale-en nls +./usr/share/locale/en_CA.UTF-8/LC_MESSAGES base-locale-en nls +./usr/share/locale/en_CA.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-en nls +./usr/share/locale/en_CA.UTF-8/LC_MONETARY base-locale-en nls +./usr/share/locale/en_CA.UTF-8/LC_NUMERIC base-locale-en nls +./usr/share/locale/en_CA.UTF-8/LC_TIME base-locale-en nls ./usr/share/locale/en_GB.ISO8859-1 base-locale-en ./usr/share/locale/en_GB.ISO8859-1/LC_CTYPE base-locale-en nls ./usr/share/locale/en_GB.ISO8859-1/LC_MESSAGES base-locale-en @@ -2711,6 +2902,13 @@ ./usr/share/locale/en_GB.ISO8859-15/LC_MONETARY base-locale-en nls ./usr/share/locale/en_GB.ISO8859-15/LC_NUMERIC base-locale-en nls ./usr/share/locale/en_GB.ISO8859-15/LC_TIME base-locale-en nls +./usr/share/locale/en_GB.UTF-8 base-locale-en +./usr/share/locale/en_GB.UTF-8/LC_CTYPE base-locale-en nls +./usr/share/locale/en_GB.UTF-8/LC_MESSAGES base-locale-en nls +./usr/share/locale/en_GB.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-en nls +./usr/share/locale/en_GB.UTF-8/LC_MONETARY base-locale-en nls +./usr/share/locale/en_GB.UTF-8/LC_NUMERIC base-locale-en nls +./usr/share/locale/en_GB.UTF-8/LC_TIME base-locale-en nls ./usr/share/locale/en_NZ.ISO8859-1 base-locale-en ./usr/share/locale/en_NZ.ISO8859-1/LC_CTYPE base-locale-en nls ./usr/share/locale/en_NZ.ISO8859-1/LC_MESSAGES base-locale-en @@ -2725,6 +2923,13 @@ ./usr/share/locale/en_NZ.ISO8859-15/LC_MONETARY base-locale-en nls ./usr/share/locale/en_NZ.ISO8859-15/LC_NUMERIC base-locale-en nls ./usr/share/locale/en_NZ.ISO8859-15/LC_TIME base-locale-en nls +./usr/share/locale/en_NZ.UTF-8 base-locale-en +./usr/share/locale/en_NZ.UTF-8/LC_CTYPE base-locale-en nls +./usr/share/locale/en_NZ.UTF-8/LC_MESSAGES base-locale-en nls +./usr/share/locale/en_NZ.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-en nls +./usr/share/locale/en_NZ.UTF-8/LC_MONETARY base-locale-en nls +./usr/share/locale/en_NZ.UTF-8/LC_NUMERIC base-locale-en nls +./usr/share/locale/en_NZ.UTF-8/LC_TIME base-locale-en nls ./usr/share/locale/en_US.ISO8859-1 base-locale-en ./usr/share/locale/en_US.ISO8859-1/LC_CTYPE base-locale-en nls ./usr/share/locale/en_US.ISO8859-1/LC_MESSAGES base-locale-en @@ -2777,6 +2982,13 @@ ./usr/share/locale/es_ES.ISO8859-15/LC_MONETARY base-locale-es nls ./usr/share/locale/es_ES.ISO8859-15/LC_NUMERIC base-locale-es nls ./usr/share/locale/es_ES.ISO8859-15/LC_TIME base-locale-es nls +./usr/share/locale/es_ES.UTF-8 base-locale-es +./usr/share/locale/es_ES.UTF-8/LC_CTYPE base-locale-es nls +./usr/share/locale/es_ES.UTF-8/LC_MESSAGES base-locale-es nls +./usr/share/locale/es_ES.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-es nls +./usr/share/locale/es_ES.UTF-8/LC_MONETARY base-locale-es nls +./usr/share/locale/es_ES.UTF-8/LC_NUMERIC base-locale-es nls +./usr/share/locale/es_ES.UTF-8/LC_TIME base-locale-es nls ./usr/share/locale/et base-locale-et ./usr/share/locale/et/LC_MESSAGES base-locale-et ./usr/share/locale/et/LC_MESSAGES/grep.mo base-util_locale-et nls,!bsdgrep @@ -2788,6 +3000,13 @@ ./usr/share/locale/et_EE.ISO8859-15/LC_MONETARY base-locale-et nls ./usr/share/locale/et_EE.ISO8859-15/LC_NUMERIC base-locale-et nls ./usr/share/locale/et_EE.ISO8859-15/LC_TIME base-locale-et nls +./usr/share/locale/et_EE.UTF-8 base-locale-ee +./usr/share/locale/et_EE.UTF-8/LC_CTYPE base-locale-ee nls +./usr/share/locale/et_EE.UTF-8/LC_MESSAGES base-locale-ee nls +./usr/share/locale/et_EE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ee nls +./usr/share/locale/et_EE.UTF-8/LC_MONETARY base-locale-ee nls +./usr/share/locale/et_EE.UTF-8/LC_NUMERIC base-locale-ee nls +./usr/share/locale/et_EE.UTF-8/LC_TIME base-locale-ee nls ./usr/share/locale/eu_ES.ISO8859-1 base-locale-eu ./usr/share/locale/eu_ES.ISO8859-1/LC_CTYPE base-locale-eu nls ./usr/share/locale/eu_ES.ISO8859-1/LC_MESSAGES base-locale-eu @@ -2802,6 +3021,13 @@ ./usr/share/locale/eu_ES.ISO8859-15/LC_MONETARY base-locale-eu nls ./usr/share/locale/eu_ES.ISO8859-15/LC_NUMERIC base-locale-eu nls ./usr/share/locale/eu_ES.ISO8859-15/LC_TIME base-locale-eu nls +./usr/share/locale/eu_ES.UTF-8 base-locale-eu +./usr/share/locale/eu_ES.UTF-8/LC_CTYPE base-locale-eu nls +./usr/share/locale/eu_ES.UTF-8/LC_MESSAGES base-locale-eu nls +./usr/share/locale/eu_ES.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-eu nls +./usr/share/locale/eu_ES.UTF-8/LC_MONETARY base-locale-eu nls +./usr/share/locale/eu_ES.UTF-8/LC_NUMERIC base-locale-eu nls +./usr/share/locale/eu_ES.UTF-8/LC_TIME base-locale-eu nls ./usr/share/locale/fi base-locale-fi ./usr/share/locale/fi/LC_MESSAGES base-locale-fi ./usr/share/locale/fi_FI.ISO8859-1 base-locale-fi @@ -2818,6 +3044,13 @@ ./usr/share/locale/fi_FI.ISO8859-15/LC_MONETARY base-locale-fi nls ./usr/share/locale/fi_FI.ISO8859-15/LC_NUMERIC base-locale-fi nls ./usr/share/locale/fi_FI.ISO8859-15/LC_TIME base-locale-fi nls +./usr/share/locale/fi_FI.UTF-8 base-locale-fi +./usr/share/locale/fi_FI.UTF-8/LC_CTYPE base-locale-fi nls +./usr/share/locale/fi_FI.UTF-8/LC_MESSAGES base-locale-fi nls +./usr/share/locale/fi_FI.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-fi nls +./usr/share/locale/fi_FI.UTF-8/LC_MONETARY base-locale-fi nls +./usr/share/locale/fi_FI.UTF-8/LC_NUMERIC base-locale-fi nls +./usr/share/locale/fi_FI.UTF-8/LC_TIME base-locale-fi nls ./usr/share/locale/fr base-locale-fr ./usr/share/locale/fr/LC_MESSAGES base-locale-fr ./usr/share/locale/fr/LC_MESSAGES/grep.mo base-util_locale-fr nls,!bsdgrep @@ -2924,6 +3157,13 @@ ./usr/share/locale/hr_HR.ISO8859-2/LC_MONETARY base-locale-hr nls ./usr/share/locale/hr_HR.ISO8859-2/LC_NUMERIC base-locale-hr nls ./usr/share/locale/hr_HR.ISO8859-2/LC_TIME base-locale-hr nls +./usr/share/locale/hr_HR.UTF-8 base-locale-hr +./usr/share/locale/hr_HR.UTF-8/LC_CTYPE base-locale-hr nls +./usr/share/locale/hr_HR.UTF-8/LC_MESSAGES base-locale-hr nls +./usr/share/locale/hr_HR.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-hr nls +./usr/share/locale/hr_HR.UTF-8/LC_MONETARY base-locale-hr nls +./usr/share/locale/hr_HR.UTF-8/LC_NUMERIC base-locale-hr nls +./usr/share/locale/hr_HR.UTF-8/LC_TIME base-locale-hr nls ./usr/share/locale/hu_HU.ISO8859-2 base-locale-hu ./usr/share/locale/hu_HU.ISO8859-2/LC_CTYPE base-locale-hu nls ./usr/share/locale/hu_HU.ISO8859-2/LC_MESSAGES base-locale-hu @@ -2931,6 +3171,13 @@ ./usr/share/locale/hu_HU.ISO8859-2/LC_MONETARY base-locale-hu nls ./usr/share/locale/hu_HU.ISO8859-2/LC_NUMERIC base-locale-hu nls ./usr/share/locale/hu_HU.ISO8859-2/LC_TIME base-locale-hu nls +./usr/share/locale/hu_HU.UTF-8 base-locale-hu +./usr/share/locale/hu_HU.UTF-8/LC_CTYPE base-locale-hu nls +./usr/share/locale/hu_HU.UTF-8/LC_MESSAGES base-locale-hu nls +./usr/share/locale/hu_HU.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-hu nls +./usr/share/locale/hu_HU.UTF-8/LC_MONETARY base-locale-hu nls +./usr/share/locale/hu_HU.UTF-8/LC_NUMERIC base-locale-hu nls +./usr/share/locale/hu_HU.UTF-8/LC_TIME base-locale-hu nls ./usr/share/locale/hy_AM.ARMSCII-8 base-locale-hy ./usr/share/locale/hy_AM.ARMSCII-8/LC_CTYPE base-locale-hy nls ./usr/share/locale/hy_AM.ARMSCII-8/LC_MESSAGES base-locale-hy @@ -2938,6 +3185,13 @@ ./usr/share/locale/hy_AM.ARMSCII-8/LC_MONETARY base-locale-hy nls ./usr/share/locale/hy_AM.ARMSCII-8/LC_NUMERIC base-locale-hy nls ./usr/share/locale/hy_AM.ARMSCII-8/LC_TIME base-locale-hy nls +./usr/share/locale/hy_AM.UTF-8 base-locale-hy +./usr/share/locale/hy_AM.UTF-8/LC_CTYPE base-locale-hy nls +./usr/share/locale/hy_AM.UTF-8/LC_MESSAGES base-locale-hy nls +./usr/share/locale/hy_AM.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-hy nls +./usr/share/locale/hy_AM.UTF-8/LC_MONETARY base-locale-hy nls +./usr/share/locale/hy_AM.UTF-8/LC_NUMERIC base-locale-hy nls +./usr/share/locale/hy_AM.UTF-8/LC_TIME base-locale-hy nls ./usr/share/locale/id base-locale-id ./usr/share/locale/id/LC_MESSAGES base-locale-id ./usr/share/locale/id/LC_MESSAGES/grep.mo base-util_locale-id nls,!bsdgrep @@ -2956,6 +3210,13 @@ ./usr/share/locale/is_IS.ISO8859-15/LC_MONETARY base-locale-is nls ./usr/share/locale/is_IS.ISO8859-15/LC_NUMERIC base-locale-is nls ./usr/share/locale/is_IS.ISO8859-15/LC_TIME base-locale-is nls +./usr/share/locale/is_IS.UTF-8 base-locale-is +./usr/share/locale/is_IS.UTF-8/LC_CTYPE base-locale-is nls +./usr/share/locale/is_IS.UTF-8/LC_MESSAGES base-locale-is nls +./usr/share/locale/is_IS.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-is nls +./usr/share/locale/is_IS.UTF-8/LC_MONETARY base-locale-is nls +./usr/share/locale/is_IS.UTF-8/LC_NUMERIC base-locale-is nls +./usr/share/locale/is_IS.UTF-8/LC_TIME base-locale-is nls ./usr/share/locale/it base-locale-it ./usr/share/locale/it/LC_MESSAGES base-locale-it ./usr/share/locale/it/LC_MESSAGES/grep.mo base-util_locale-it nls,!bsdgrep @@ -2975,6 +3236,13 @@ ./usr/share/locale/it_CH.ISO8859-15/LC_MONETARY base-locale-it nls ./usr/share/locale/it_CH.ISO8859-15/LC_NUMERIC base-locale-it nls ./usr/share/locale/it_CH.ISO8859-15/LC_TIME base-locale-it nls +./usr/share/locale/it_CH.UTF-8 base-locale-it +./usr/share/locale/it_CH.UTF-8/LC_CTYPE base-locale-it nls +./usr/share/locale/it_CH.UTF-8/LC_MESSAGES base-locale-it nls +./usr/share/locale/it_CH.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-it nls +./usr/share/locale/it_CH.UTF-8/LC_MONETARY base-locale-it nls +./usr/share/locale/it_CH.UTF-8/LC_NUMERIC base-locale-it nls +./usr/share/locale/it_CH.UTF-8/LC_TIME base-locale-it nls ./usr/share/locale/it_IT.ISO8859-1 base-locale-it ./usr/share/locale/it_IT.ISO8859-1/LC_CTYPE base-locale-it nls ./usr/share/locale/it_IT.ISO8859-1/LC_MESSAGES base-locale-it @@ -2989,6 +3257,13 @@ ./usr/share/locale/it_IT.ISO8859-15/LC_MONETARY base-locale-it nls ./usr/share/locale/it_IT.ISO8859-15/LC_NUMERIC base-locale-it nls ./usr/share/locale/it_IT.ISO8859-15/LC_TIME base-locale-it nls +./usr/share/locale/it_IT.UTF-8 base-locale-it +./usr/share/locale/it_IT.UTF-8/LC_CTYPE base-locale-it nls +./usr/share/locale/it_IT.UTF-8/LC_MESSAGES base-locale-it nls +./usr/share/locale/it_IT.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-it nls +./usr/share/locale/it_IT.UTF-8/LC_MONETARY base-locale-it nls +./usr/share/locale/it_IT.UTF-8/LC_NUMERIC base-locale-it nls +./usr/share/locale/it_IT.UTF-8/LC_TIME base-locale-it nls ./usr/share/locale/ja base-locale-ja ./usr/share/locale/ja/LC_MESSAGES base-locale-ja ./usr/share/locale/ja/LC_MESSAGES/grep.mo base-util_locale-ja nls,!bsdgrep @@ -3019,6 +3294,13 @@ ./usr/share/locale/ja_JP.SJIS/LC_MONETARY base-locale-ja nls ./usr/share/locale/ja_JP.SJIS/LC_NUMERIC base-locale-ja nls ./usr/share/locale/ja_JP.SJIS/LC_TIME base-locale-ja nls +./usr/share/locale/ja_JP.UTF-8 base-locale-ja +./usr/share/locale/ja_JP.UTF-8/LC_CTYPE base-locale-ja nls +./usr/share/locale/ja_JP.UTF-8/LC_MESSAGES base-locale-ja nls +./usr/share/locale/ja_JP.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ja nls +./usr/share/locale/ja_JP.UTF-8/LC_MONETARY base-locale-ja nls +./usr/share/locale/ja_JP.UTF-8/LC_NUMERIC base-locale-ja nls +./usr/share/locale/ja_JP.UTF-8/LC_TIME base-locale-ja nls ./usr/share/locale/ja_JP.ct base-locale-ja ./usr/share/locale/ja_JP.ct/LC_CTYPE base-locale-ja nls ./usr/share/locale/ja_JP.ct/LC_MESSAGES base-locale-ja @@ -3040,12 +3322,24 @@ ./usr/share/locale/kk_KZ.PT154/LC_MONETARY base-locale-kk nls ./usr/share/locale/kk_KZ.PT154/LC_NUMERIC base-locale-kk nls ./usr/share/locale/kk_KZ.PT154/LC_TIME base-locale-kk nls +./usr/share/locale/kk_KZ.UTF-8 base-locale-kk +./usr/share/locale/kk_KZ.UTF-8/LC_CTYPE base-locale-kk nls +./usr/share/locale/kk_KZ.UTF-8/LC_MESSAGES base-locale-kk nls +./usr/share/locale/kk_KZ.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-kk nls +./usr/share/locale/kk_KZ.UTF-8/LC_MONETARY base-locale-kk nls +./usr/share/locale/kk_KZ.UTF-8/LC_NUMERIC base-locale-kk nls +./usr/share/locale/kk_KZ.UTF-8/LC_TIME base-locale-kk nls ./usr/share/locale/ko base-locale-ko ./usr/share/locale/ko/LC_MESSAGES base-locale-ko ./usr/share/locale/ko/LC_MESSAGES/grep.mo base-locale-ko nls,!bsdgrep ./usr/share/locale/ko/LC_MESSAGES/tar.mo base-obsolete obsolete -./usr/share/locale/ko_KR.UTF-8 base-obsolete obsolete -./usr/share/locale/ko_KR.UTF-8/LC_CTYPE base-obsolete obsolete +./usr/share/locale/ko_KR.UTF-8 base-locale-ko nls +./usr/share/locale/ko_KR.UTF-8/LC_CTYPE base-locale-ko nls +./usr/share/locale/ko_KR.UTF-8/LC_MESSAGES base-locale-ko nls +./usr/share/locale/ko_KR.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ko nls +./usr/share/locale/ko_KR.UTF-8/LC_MONETARY base-locale-ko nls +./usr/share/locale/ko_KR.UTF-8/LC_NUMERIC base-locale-ko nls +./usr/share/locale/ko_KR.UTF-8/LC_TIME base-locale-ko nls ./usr/share/locale/ko_KR.eucKR base-locale-ko ./usr/share/locale/ko_KR.eucKR/LC_CTYPE base-locale-ko nls ./usr/share/locale/ko_KR.eucKR/LC_MESSAGES base-locale-ko @@ -3068,9 +3362,37 @@ ./usr/share/locale/lt_LT.ISO8859-4/LC_MONETARY base-locale-lt nls ./usr/share/locale/lt_LT.ISO8859-4/LC_NUMERIC base-locale-lt nls ./usr/share/locale/lt_LT.ISO8859-4/LC_TIME base-locale-lt nls +./usr/share/locale/lt_LT.UTF-8 base-locale-lt +./usr/share/locale/lt_LT.UTF-8/LC_CTYPE base-locale-lt nls +./usr/share/locale/lt_LT.UTF-8/LC_MESSAGES base-locale-lt nls +./usr/share/locale/lt_LT.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-lt nls +./usr/share/locale/lt_LT.UTF-8/LC_MONETARY base-locale-lt nls +./usr/share/locale/lt_LT.UTF-8/LC_NUMERIC base-locale-lt nls +./usr/share/locale/lt_LT.UTF-8/LC_TIME base-locale-lt nls ./usr/share/locale/nb base-locale-nb ./usr/share/locale/nb/LC_MESSAGES base-locale-nb ./usr/share/locale/nb/LC_MESSAGES/texinfo.mo base-texinfo_locale-nb nls +./usr/share/locale/nb_NO.ISO8859-1 base-locale-nb +./usr/share/locale/nb_NO.ISO8859-1/LC_CTYPE base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-1/LC_MESSAGES base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-1/LC_MESSAGES/SYS_LC_MESSAGES base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-1/LC_MONETARY base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-1/LC_NUMERIC base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-1/LC_TIME base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-15 base-locale-nb +./usr/share/locale/nb_NO.ISO8859-15/LC_CTYPE base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-15/LC_MESSAGES base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-15/LC_MESSAGES/SYS_LC_MESSAGES base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-15/LC_MONETARY base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-15/LC_NUMERIC base-locale-nb nls +./usr/share/locale/nb_NO.ISO8859-15/LC_TIME base-locale-nb nls +./usr/share/locale/nb_NO.UTF-8 base-locale-nb +./usr/share/locale/nb_NO.UTF-8/LC_CTYPE base-locale-nb nls +./usr/share/locale/nb_NO.UTF-8/LC_MESSAGES base-locale-nb nls +./usr/share/locale/nb_NO.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-nb nls +./usr/share/locale/nb_NO.UTF-8/LC_MONETARY base-locale-nb nls +./usr/share/locale/nb_NO.UTF-8/LC_NUMERIC base-locale-nb nls +./usr/share/locale/nb_NO.UTF-8/LC_TIME base-locale-nb nls ./usr/share/locale/nl base-locale-nl ./usr/share/locale/nl/LC_MESSAGES base-locale-nl ./usr/share/locale/nl/LC_MESSAGES/grep.mo base-locale-nl nls,!bsdgrep @@ -3090,6 +3412,13 @@ ./usr/share/locale/nl_BE.ISO8859-15/LC_MONETARY base-locale-nl nls ./usr/share/locale/nl_BE.ISO8859-15/LC_NUMERIC base-locale-nl nls ./usr/share/locale/nl_BE.ISO8859-15/LC_TIME base-locale-nl nls +./usr/share/locale/nl_BE.UTF-8 base-locale-nl +./usr/share/locale/nl_BE.UTF-8/LC_CTYPE base-locale-nl nls +./usr/share/locale/nl_BE.UTF-8/LC_MESSAGES base-locale-nl nls +./usr/share/locale/nl_BE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-nl nls +./usr/share/locale/nl_BE.UTF-8/LC_MONETARY base-locale-nl nls +./usr/share/locale/nl_BE.UTF-8/LC_NUMERIC base-locale-nl nls +./usr/share/locale/nl_BE.UTF-8/LC_TIME base-locale-nl nls ./usr/share/locale/nl_NL.ISO8859-1 base-locale-nl ./usr/share/locale/nl_NL.ISO8859-1/LC_CTYPE base-locale-nl nls ./usr/share/locale/nl_NL.ISO8859-1/LC_MESSAGES base-locale-nl @@ -3104,6 +3433,13 @@ ./usr/share/locale/nl_NL.ISO8859-15/LC_MONETARY base-locale-nl nls ./usr/share/locale/nl_NL.ISO8859-15/LC_NUMERIC base-locale-nl nls ./usr/share/locale/nl_NL.ISO8859-15/LC_TIME base-locale-nl nls +./usr/share/locale/nl_NL.UTF-8 base-locale-nl +./usr/share/locale/nl_NL.UTF-8/LC_CTYPE base-locale-nl nls +./usr/share/locale/nl_NL.UTF-8/LC_MESSAGES base-locale-nl nls +./usr/share/locale/nl_NL.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-nl nls +./usr/share/locale/nl_NL.UTF-8/LC_MONETARY base-locale-nl nls +./usr/share/locale/nl_NL.UTF-8/LC_NUMERIC base-locale-nl nls +./usr/share/locale/nl_NL.UTF-8/LC_TIME base-locale-nl nls ./usr/share/locale/nn base-locale-nn ./usr/share/locale/nn/LC_MESSAGES base-locale-nn ./usr/share/locale/nn_NO.ISO8859-1 base-locale-nn @@ -3120,6 +3456,13 @@ ./usr/share/locale/nn_NO.ISO8859-15/LC_MONETARY base-locale-nn nls ./usr/share/locale/nn_NO.ISO8859-15/LC_NUMERIC base-locale-nn nls ./usr/share/locale/nn_NO.ISO8859-15/LC_TIME base-locale-nn nls +./usr/share/locale/nn_NO.UTF-8 base-locale-nn +./usr/share/locale/nn_NO.UTF-8/LC_CTYPE base-locale-nn nls +./usr/share/locale/nn_NO.UTF-8/LC_MESSAGES base-locale-nn nls +./usr/share/locale/nn_NO.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-nn nls +./usr/share/locale/nn_NO.UTF-8/LC_MONETARY base-locale-nn nls +./usr/share/locale/nn_NO.UTF-8/LC_NUMERIC base-locale-nn nls +./usr/share/locale/nn_NO.UTF-8/LC_TIME base-locale-nn nls ./usr/share/locale/no base-locale-no ./usr/share/locale/no/LC_MESSAGES base-locale-no ./usr/share/locale/no/LC_MESSAGES/grep.mo base-locale-no nls,!bsdgrep @@ -3127,20 +3470,20 @@ ./usr/share/locale/no/LC_MESSAGES/texinfo.mo base-texinfo_locale-no nls ./usr/share/locale/no@nynorsk base-locale-no ./usr/share/locale/no@nynorsk/LC_MESSAGES base-locale-no -./usr/share/locale/no_NO.ISO8859-1 base-locale-no -./usr/share/locale/no_NO.ISO8859-1/LC_CTYPE base-locale-no nls -./usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES base-locale-no -./usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES/SYS_LC_MESSAGES base-locale-no nls -./usr/share/locale/no_NO.ISO8859-1/LC_MONETARY base-locale-no nls -./usr/share/locale/no_NO.ISO8859-1/LC_NUMERIC base-locale-no nls -./usr/share/locale/no_NO.ISO8859-1/LC_TIME base-locale-no nls -./usr/share/locale/no_NO.ISO8859-15 base-locale-no -./usr/share/locale/no_NO.ISO8859-15/LC_CTYPE base-locale-no nls -./usr/share/locale/no_NO.ISO8859-15/LC_MESSAGES base-locale-no -./usr/share/locale/no_NO.ISO8859-15/LC_MESSAGES/SYS_LC_MESSAGES base-locale-no nls -./usr/share/locale/no_NO.ISO8859-15/LC_MONETARY base-locale-no nls -./usr/share/locale/no_NO.ISO8859-15/LC_NUMERIC base-locale-no nls -./usr/share/locale/no_NO.ISO8859-15/LC_TIME base-locale-no nls +./usr/share/locale/no_NO.ISO8859-1 base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-1/LC_CTYPE base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-1/LC_MESSAGES/SYS_LC_MESSAGES base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-1/LC_MONETARY base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-1/LC_NUMERIC base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-1/LC_TIME base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15 base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15/LC_CTYPE base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15/LC_MESSAGES base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15/LC_MESSAGES/SYS_LC_MESSAGES base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15/LC_MONETARY base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15/LC_NUMERIC base-obsolete obsolete +./usr/share/locale/no_NO.ISO8859-15/LC_TIME base-obsolete obsolete ./usr/share/locale/pl base-locale-pl ./usr/share/locale/pl/LC_MESSAGES base-locale-pl ./usr/share/locale/pl/LC_MESSAGES/grep.mo base-locale-pl nls,!bsdgrep @@ -3153,6 +3496,13 @@ ./usr/share/locale/pl_PL.ISO8859-2/LC_MONETARY base-locale-pl nls ./usr/share/locale/pl_PL.ISO8859-2/LC_NUMERIC base-locale-pl nls ./usr/share/locale/pl_PL.ISO8859-2/LC_TIME base-locale-pl nls +./usr/share/locale/pl_PL.UTF-8 base-locale-pl +./usr/share/locale/pl_PL.UTF-8/LC_CTYPE base-locale-pl nls +./usr/share/locale/pl_PL.UTF-8/LC_MESSAGES base-locale-pl nls +./usr/share/locale/pl_PL.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-pl nls +./usr/share/locale/pl_PL.UTF-8/LC_MONETARY base-locale-pl nls +./usr/share/locale/pl_PL.UTF-8/LC_NUMERIC base-locale-pl nls +./usr/share/locale/pl_PL.UTF-8/LC_TIME base-locale-pl nls ./usr/share/locale/pt base-locale-pt ./usr/share/locale/pt/LC_MESSAGES base-locale-pt ./usr/share/locale/pt/LC_MESSAGES/tar.mo base-obsolete obsolete @@ -3164,6 +3514,13 @@ ./usr/share/locale/pt_BR.ISO8859-1/LC_MONETARY base-locale-pt nls ./usr/share/locale/pt_BR.ISO8859-1/LC_NUMERIC base-locale-pt nls ./usr/share/locale/pt_BR.ISO8859-1/LC_TIME base-locale-pt nls +./usr/share/locale/pt_BR.UTF-8 base-locale-pt +./usr/share/locale/pt_BR.UTF-8/LC_CTYPE base-locale-pt nls +./usr/share/locale/pt_BR.UTF-8/LC_MESSAGES base-locale-pt nls +./usr/share/locale/pt_BR.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-pt nls +./usr/share/locale/pt_BR.UTF-8/LC_MONETARY base-locale-pt nls +./usr/share/locale/pt_BR.UTF-8/LC_NUMERIC base-locale-pt nls +./usr/share/locale/pt_BR.UTF-8/LC_TIME base-locale-pt nls ./usr/share/locale/pt_BR/LC_MESSAGES base-locale-pt ./usr/share/locale/pt_BR/LC_MESSAGES/grep.mo base-locale-pt nls,!bsdgrep ./usr/share/locale/pt_BR/LC_MESSAGES/tar.mo base-obsolete obsolete @@ -3181,6 +3538,13 @@ ./usr/share/locale/pt_PT.ISO8859-15/LC_MONETARY base-locale-pt nls ./usr/share/locale/pt_PT.ISO8859-15/LC_NUMERIC base-locale-pt nls ./usr/share/locale/pt_PT.ISO8859-15/LC_TIME base-locale-pt nls +./usr/share/locale/pt_PT.UTF-8 base-locale-pt +./usr/share/locale/pt_PT.UTF-8/LC_CTYPE base-locale-pt nls +./usr/share/locale/pt_PT.UTF-8/LC_MESSAGES base-locale-pt nls +./usr/share/locale/pt_PT.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-pt nls +./usr/share/locale/pt_PT.UTF-8/LC_MONETARY base-locale-pt nls +./usr/share/locale/pt_PT.UTF-8/LC_NUMERIC base-locale-pt nls +./usr/share/locale/pt_PT.UTF-8/LC_TIME base-locale-pt nls ./usr/share/locale/ro base-locale-ro ./usr/share/locale/ro/LC_MESSAGES base-locale-ro ./usr/share/locale/ro/LC_MESSAGES/texinfo.mo base-texinfo_locale-ro nls @@ -3191,6 +3555,13 @@ ./usr/share/locale/ro_RO.ISO8859-2/LC_MONETARY base-locale-ro nls ./usr/share/locale/ro_RO.ISO8859-2/LC_NUMERIC base-locale-ro nls ./usr/share/locale/ro_RO.ISO8859-2/LC_TIME base-locale-ro nls +./usr/share/locale/ro_RO.UTF-8 base-locale-ro +./usr/share/locale/ro_RO.UTF-8/LC_CTYPE base-locale-ro nls +./usr/share/locale/ro_RO.UTF-8/LC_MESSAGES base-locale-ro nls +./usr/share/locale/ro_RO.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ro nls +./usr/share/locale/ro_RO.UTF-8/LC_MONETARY base-locale-ro nls +./usr/share/locale/ro_RO.UTF-8/LC_NUMERIC base-locale-ro nls +./usr/share/locale/ro_RO.UTF-8/LC_TIME base-locale-ro nls ./usr/share/locale/ru base-locale-ru ./usr/share/locale/ru/LC_MESSAGES base-locale-ru ./usr/share/locale/ru/LC_MESSAGES/grep.mo base-locale-ru nls,!bsdgrep @@ -3203,6 +3574,13 @@ ./usr/share/locale/ru_BY.CP1251/LC_MONETARY base-locale-ru nls ./usr/share/locale/ru_BY.CP1251/LC_NUMERIC base-locale-ru nls ./usr/share/locale/ru_BY.CP1251/LC_TIME base-locale-ru nls +./usr/share/locale/ru_BY.UTF-8 base-locale-ru +./usr/share/locale/ru_BY.UTF-8/LC_CTYPE base-locale-ru nls +./usr/share/locale/ru_BY.UTF-8/LC_MESSAGES base-locale-ru nls +./usr/share/locale/ru_BY.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ru nls +./usr/share/locale/ru_BY.UTF-8/LC_MONETARY base-locale-ru nls +./usr/share/locale/ru_BY.UTF-8/LC_NUMERIC base-locale-ru nls +./usr/share/locale/ru_BY.UTF-8/LC_TIME base-locale-ru nls ./usr/share/locale/ru_RU.CP1251 base-locale-ru ./usr/share/locale/ru_RU.CP1251/LC_CTYPE base-locale-ru nls ./usr/share/locale/ru_RU.CP1251/LC_MESSAGES base-locale-ru @@ -3231,6 +3609,13 @@ ./usr/share/locale/ru_RU.KOI8-R/LC_MONETARY base-locale-ru nls ./usr/share/locale/ru_RU.KOI8-R/LC_NUMERIC base-locale-ru nls ./usr/share/locale/ru_RU.KOI8-R/LC_TIME base-locale-ru nls +./usr/share/locale/ru_RU.UTF-8 base-locale-ru +./usr/share/locale/ru_RU.UTF-8/LC_CTYPE base-locale-ru nls +./usr/share/locale/ru_RU.UTF-8/LC_MESSAGES base-locale-ru nls +./usr/share/locale/ru_RU.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-ru nls +./usr/share/locale/ru_RU.UTF-8/LC_MONETARY base-locale-ru nls +./usr/share/locale/ru_RU.UTF-8/LC_NUMERIC base-locale-ru nls +./usr/share/locale/ru_RU.UTF-8/LC_TIME base-locale-ru nls ./usr/share/locale/ru_SU.CP866 base-obsolete obsolete ./usr/share/locale/ru_SU.CP866/LC_CTYPE base-obsolete obsolete ./usr/share/locale/ru_SU.ISO8859-5 base-obsolete obsolete @@ -3246,6 +3631,13 @@ ./usr/share/locale/sk_SK.ISO8859-2/LC_MONETARY base-locale-sk nls ./usr/share/locale/sk_SK.ISO8859-2/LC_NUMERIC base-locale-sk nls ./usr/share/locale/sk_SK.ISO8859-2/LC_TIME base-locale-sk nls +./usr/share/locale/sk_SK.UTF-8 base-locale-sk +./usr/share/locale/sk_SK.UTF-8/LC_CTYPE base-locale-sk nls +./usr/share/locale/sk_SK.UTF-8/LC_MESSAGES base-locale-sk nls +./usr/share/locale/sk_SK.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sk nls +./usr/share/locale/sk_SK.UTF-8/LC_MONETARY base-locale-sk nls +./usr/share/locale/sk_SK.UTF-8/LC_NUMERIC base-locale-sk nls +./usr/share/locale/sk_SK.UTF-8/LC_TIME base-locale-sk nls ./usr/share/locale/sl base-locale-sl ./usr/share/locale/sl/LC_MESSAGES base-locale-sl ./usr/share/locale/sl/LC_MESSAGES/grep.mo base-locale-sl nls,!bsdgrep @@ -3257,36 +3649,99 @@ ./usr/share/locale/sl_SI.ISO8859-2/LC_MONETARY base-locale-sl nls ./usr/share/locale/sl_SI.ISO8859-2/LC_NUMERIC base-locale-sl nls ./usr/share/locale/sl_SI.ISO8859-2/LC_TIME base-locale-sl nls +./usr/share/locale/sl_SI.UTF-8 base-locale-sl +./usr/share/locale/sl_SI.UTF-8/LC_CTYPE base-locale-sl nls +./usr/share/locale/sl_SI.UTF-8/LC_MESSAGES base-locale-sl nls +./usr/share/locale/sl_SI.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sl nls +./usr/share/locale/sl_SI.UTF-8/LC_MONETARY base-locale-sl nls +./usr/share/locale/sl_SI.UTF-8/LC_NUMERIC base-locale-sl nls +./usr/share/locale/sl_SI.UTF-8/LC_TIME base-locale-sl nls ./usr/share/locale/sr base-locale-sr ./usr/share/locale/sr/LC_MESSAGES base-locale-sr -./usr/share/locale/sr_ME.ISO8859-2 base-locale-sr -./usr/share/locale/sr_ME.ISO8859-2/LC_CTYPE base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-2/LC_MESSAGES base-locale-sr -./usr/share/locale/sr_ME.ISO8859-2/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-2/LC_MONETARY base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-2/LC_NUMERIC base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-2/LC_TIME base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-5 base-locale-sr -./usr/share/locale/sr_ME.ISO8859-5/LC_CTYPE base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-5/LC_MESSAGES base-locale-sr -./usr/share/locale/sr_ME.ISO8859-5/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-5/LC_MONETARY base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-5/LC_NUMERIC base-locale-sr nls -./usr/share/locale/sr_ME.ISO8859-5/LC_TIME base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-2 base-locale-sr -./usr/share/locale/sr_RS.ISO8859-2/LC_CTYPE base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES base-locale-sr -./usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-2/LC_MONETARY base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-2/LC_NUMERIC base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-2/LC_TIME base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-5 base-locale-sr -./usr/share/locale/sr_RS.ISO8859-5/LC_CTYPE base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-5/LC_MESSAGES base-locale-sr -./usr/share/locale/sr_RS.ISO8859-5/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-5/LC_MONETARY base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-5/LC_NUMERIC base-locale-sr nls -./usr/share/locale/sr_RS.ISO8859-5/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.ISO8859-5 base-locale-sr +./usr/share/locale/sr_Cyrl_ME.ISO8859-5/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.ISO8859-5/LC_MESSAGES base-locale-sr +./usr/share/locale/sr_Cyrl_ME.ISO8859-5/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.ISO8859-5/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.ISO8859-5/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.ISO8859-5/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.UTF-8 base-locale-sr +./usr/share/locale/sr_Cyrl_ME.UTF-8/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.UTF-8/LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.UTF-8/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.UTF-8/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Cyrl_ME.UTF-8/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.ISO8859-5 base-locale-sr +./usr/share/locale/sr_Cyrl_RS.ISO8859-5/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.ISO8859-5/LC_MESSAGES base-locale-sr +./usr/share/locale/sr_Cyrl_RS.ISO8859-5/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.ISO8859-5/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.ISO8859-5/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.ISO8859-5/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.UTF-8 base-locale-sr +./usr/share/locale/sr_Cyrl_RS.UTF-8/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.UTF-8/LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.UTF-8/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.UTF-8/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Cyrl_RS.UTF-8/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Latn_ME.ISO8859-2 base-locale-sr +./usr/share/locale/sr_Latn_ME.ISO8859-2/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Latn_ME.ISO8859-2/LC_MESSAGES base-locale-sr +./usr/share/locale/sr_Latn_ME.ISO8859-2/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Latn_ME.ISO8859-2/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Latn_ME.ISO8859-2/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Latn_ME.ISO8859-2/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Latn_ME.UTF-8 base-locale-sr +./usr/share/locale/sr_Latn_ME.UTF-8/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Latn_ME.UTF-8/LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Latn_ME.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Latn_ME.UTF-8/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Latn_ME.UTF-8/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Latn_ME.UTF-8/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Latn_RS.ISO8859-2 base-locale-sr +./usr/share/locale/sr_Latn_RS.ISO8859-2/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Latn_RS.ISO8859-2/LC_MESSAGES base-locale-sr +./usr/share/locale/sr_Latn_RS.ISO8859-2/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Latn_RS.ISO8859-2/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Latn_RS.ISO8859-2/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Latn_RS.ISO8859-2/LC_TIME base-locale-sr nls +./usr/share/locale/sr_Latn_RS.UTF-8 base-locale-sr +./usr/share/locale/sr_Latn_RS.UTF-8/LC_CTYPE base-locale-sr nls +./usr/share/locale/sr_Latn_RS.UTF-8/LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Latn_RS.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sr nls +./usr/share/locale/sr_Latn_RS.UTF-8/LC_MONETARY base-locale-sr nls +./usr/share/locale/sr_Latn_RS.UTF-8/LC_NUMERIC base-locale-sr nls +./usr/share/locale/sr_Latn_RS.UTF-8/LC_TIME base-locale-sr nls +./usr/share/locale/sr_ME.ISO8859-2 base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-2/LC_CTYPE base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-2/LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-2/LC_MESSAGES/SYS_LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-2/LC_MONETARY base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-2/LC_NUMERIC base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-2/LC_TIME base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5 base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5/LC_CTYPE base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5/LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5/LC_MESSAGES/SYS_LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5/LC_MONETARY base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5/LC_NUMERIC base-obsolete obsolete +./usr/share/locale/sr_ME.ISO8859-5/LC_TIME base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2 base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2/LC_CTYPE base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2/LC_MESSAGES/SYS_LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2/LC_MONETARY base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2/LC_NUMERIC base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-2/LC_TIME base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5 base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5/LC_CTYPE base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5/LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5/LC_MESSAGES/SYS_LC_MESSAGES base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5/LC_MONETARY base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5/LC_NUMERIC base-obsolete obsolete +./usr/share/locale/sr_RS.ISO8859-5/LC_TIME base-obsolete obsolete ./usr/share/locale/sr_YU.ISO8859-2 base-obsolete obsolete ./usr/share/locale/sr_YU.ISO8859-2/LC_CTYPE base-obsolete obsolete ./usr/share/locale/sr_YU.ISO8859-5 base-obsolete obsolete @@ -3310,6 +3765,13 @@ ./usr/share/locale/sv_SE.ISO8859-15/LC_MONETARY base-locale-sv nls ./usr/share/locale/sv_SE.ISO8859-15/LC_NUMERIC base-locale-sv nls ./usr/share/locale/sv_SE.ISO8859-15/LC_TIME base-locale-sv nls +./usr/share/locale/sv_SE.UTF-8 base-locale-sv +./usr/share/locale/sv_SE.UTF-8/LC_CTYPE base-locale-sv nls +./usr/share/locale/sv_SE.UTF-8/LC_MESSAGES base-locale-sv nls +./usr/share/locale/sv_SE.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-sv nls +./usr/share/locale/sv_SE.UTF-8/LC_MONETARY base-locale-sv nls +./usr/share/locale/sv_SE.UTF-8/LC_NUMERIC base-locale-sv nls +./usr/share/locale/sv_SE.UTF-8/LC_TIME base-locale-sv nls ./usr/share/locale/tr base-locale-tr ./usr/share/locale/tr/LC_MESSAGES base-locale-tr ./usr/share/locale/tr/LC_MESSAGES/tar.mo base-obsolete obsolete @@ -3321,6 +3783,13 @@ ./usr/share/locale/tr_TR.ISO8859-9/LC_MONETARY base-locale-tr nls ./usr/share/locale/tr_TR.ISO8859-9/LC_NUMERIC base-locale-tr nls ./usr/share/locale/tr_TR.ISO8859-9/LC_TIME base-locale-tr nls +./usr/share/locale/tr_TR.UTF-8 base-locale-tr +./usr/share/locale/tr_TR.UTF-8/LC_CTYPE base-locale-tr nls +./usr/share/locale/tr_TR.UTF-8/LC_MESSAGES base-locale-tr nls +./usr/share/locale/tr_TR.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-tr nls +./usr/share/locale/tr_TR.UTF-8/LC_MONETARY base-locale-tr nls +./usr/share/locale/tr_TR.UTF-8/LC_NUMERIC base-locale-tr nls +./usr/share/locale/tr_TR.UTF-8/LC_TIME base-locale-tr nls ./usr/share/locale/uk base-locale-uk ./usr/share/locale/uk/LC_MESSAGES base-locale-uk ./usr/share/locale/uk_UA.CP1251 base-locale-uk @@ -3344,6 +3813,13 @@ ./usr/share/locale/uk_UA.KOI8-U/LC_MONETARY base-locale-uk nls ./usr/share/locale/uk_UA.KOI8-U/LC_NUMERIC base-locale-uk nls ./usr/share/locale/uk_UA.KOI8-U/LC_TIME base-locale-uk nls +./usr/share/locale/uk_UA.UTF-8 base-locale-uk +./usr/share/locale/uk_UA.UTF-8/LC_CTYPE base-locale-uk nls +./usr/share/locale/uk_UA.UTF-8/LC_MESSAGES base-locale-uk nls +./usr/share/locale/uk_UA.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-uk nls +./usr/share/locale/uk_UA.UTF-8/LC_MONETARY base-locale-uk nls +./usr/share/locale/uk_UA.UTF-8/LC_NUMERIC base-locale-uk nls +./usr/share/locale/uk_UA.UTF-8/LC_TIME base-locale-uk nls ./usr/share/locale/zh_CN base-locale-zh ./usr/share/locale/zh_CN.GB18030 base-locale-zh ./usr/share/locale/zh_CN.GB18030/LC_CTYPE base-locale-zh nls @@ -3352,6 +3828,13 @@ ./usr/share/locale/zh_CN.GB18030/LC_MONETARY base-locale-zh nls ./usr/share/locale/zh_CN.GB18030/LC_NUMERIC base-locale-zh nls ./usr/share/locale/zh_CN.GB18030/LC_TIME base-locale-zh nls +./usr/share/locale/zh_CN.UTF-8 base-locale-zh +./usr/share/locale/zh_CN.UTF-8/LC_CTYPE base-locale-zh nls +./usr/share/locale/zh_CN.UTF-8/LC_MESSAGES base-locale-zh nls +./usr/share/locale/zh_CN.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-zh nls +./usr/share/locale/zh_CN.UTF-8/LC_MONETARY base-locale-zh nls +./usr/share/locale/zh_CN.UTF-8/LC_NUMERIC base-locale-zh nls +./usr/share/locale/zh_CN.UTF-8/LC_TIME base-locale-zh nls ./usr/share/locale/zh_CN.eucCN base-locale-zh ./usr/share/locale/zh_CN.eucCN/LC_CTYPE base-locale-zh nls ./usr/share/locale/zh_CN.eucCN/LC_MESSAGES base-locale-zh @@ -3370,6 +3853,13 @@ ./usr/share/locale/zh_HK.Big5hkscs/LC_MONETARY base-locale-zh nls ./usr/share/locale/zh_HK.Big5hkscs/LC_NUMERIC base-locale-zh nls ./usr/share/locale/zh_HK.Big5hkscs/LC_TIME base-locale-zh nls +./usr/share/locale/zh_HK.UTF-8 base-locale-zh +./usr/share/locale/zh_HK.UTF-8/LC_CTYPE base-locale-zh nls +./usr/share/locale/zh_HK.UTF-8/LC_MESSAGES base-locale-zh nls +./usr/share/locale/zh_HK.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-zh nls +./usr/share/locale/zh_HK.UTF-8/LC_MONETARY base-locale-zh nls +./usr/share/locale/zh_HK.UTF-8/LC_NUMERIC base-locale-zh nls +./usr/share/locale/zh_HK.UTF-8/LC_TIME base-locale-zh nls ./usr/share/locale/zh_TW base-locale-zh ./usr/share/locale/zh_TW.BIG5 base-obsolete obsolete ./usr/share/locale/zh_TW.BIG5/LC_CTYPE base-obsolete obsolete @@ -3380,6 +3870,13 @@ ./usr/share/locale/zh_TW.Big5/LC_MONETARY base-locale-zh nls ./usr/share/locale/zh_TW.Big5/LC_NUMERIC base-locale-zh nls ./usr/share/locale/zh_TW.Big5/LC_TIME base-locale-zh nls +./usr/share/locale/zh_TW.UTF-8 base-locale-zh +./usr/share/locale/zh_TW.UTF-8/LC_CTYPE base-locale-zh nls +./usr/share/locale/zh_TW.UTF-8/LC_MESSAGES base-locale-zh nls +./usr/share/locale/zh_TW.UTF-8/LC_MESSAGES/SYS_LC_MESSAGES base-locale-zh nls +./usr/share/locale/zh_TW.UTF-8/LC_MONETARY base-locale-zh nls +./usr/share/locale/zh_TW.UTF-8/LC_NUMERIC base-locale-zh nls +./usr/share/locale/zh_TW.UTF-8/LC_TIME base-locale-zh nls ./usr/share/locale/zh_TW.eucTW base-locale-zh ./usr/share/locale/zh_TW.eucTW/LC_CTYPE base-locale-zh nls ./usr/share/locale/zh_TW.eucTW/LC_MESSAGES base-locale-zh @@ -3401,6 +3898,7 @@ ./usr/share/man/cat3 base-man-share ./usr/share/man/cat3/atari base-obsolete obsolete ./usr/share/man/cat3f base-obsolete obsolete +./usr/share/man/cat3lua base-man-share ./usr/share/man/cat4 base-man-share ./usr/share/man/cat4/acorn26 base-man-share ./usr/share/man/cat4/acorn32 base-man-share @@ -3520,6 +4018,7 @@ ./usr/share/man/cat9/vax base-man-share ./usr/share/man/cat9/x68k base-man-share ./usr/share/man/cat9/x86 base-man-share +./usr/share/man/cat9lua base-man-share ./usr/share/man/html1 base-man-share ./usr/share/man/html1/atari base-man-share ./usr/share/man/html1/hp300 base-man-share @@ -3527,6 +4026,7 @@ ./usr/share/man/html2 base-man-share ./usr/share/man/html3 base-man-share ./usr/share/man/html3f base-man-share +./usr/share/man/html3lua base-man-share ./usr/share/man/html4 base-man-share ./usr/share/man/html4/acorn26 base-man-share ./usr/share/man/html4/acorn32 base-man-share @@ -3645,6 +4145,7 @@ ./usr/share/man/html9/vax base-man-share ./usr/share/man/html9/x68k base-man-share ./usr/share/man/html9/x86 base-man-share +./usr/share/man/html9lua base-man-share ./usr/share/man/makewhatis.sed base-man-share !makemandb,share ./usr/share/man/man1 base-man-share ./usr/share/man/man1/atari base-man-share @@ -3654,6 +4155,7 @@ ./usr/share/man/man3 base-man-share ./usr/share/man/man3/atari base-obsolete obsolete ./usr/share/man/man3f base-man-share +./usr/share/man/man3lua base-man-share ./usr/share/man/man4 base-man-share ./usr/share/man/man4/acorn26 base-man-share ./usr/share/man/man4/acorn32 base-man-share @@ -3773,6 +4275,7 @@ ./usr/share/man/man9/vax base-man-share ./usr/share/man/man9/x68k base-man-share ./usr/share/man/man9/x86 base-man-share +./usr/share/man/man9lua base-man-share ./usr/share/man/whatis.db base-man-share man,!makemandb ./usr/share/me base-groff-share ./usr/share/misc base-terminfo-share @@ -3797,6 +4300,7 @@ ./usr/share/misc/vgrindefs.db base-groff-share share ./usr/share/mk base-util-share ./usr/share/mk/bsd.README base-mk-share share +./usr/share/mk/bsd.buildinstall.mk base-mk-share share ./usr/share/mk/bsd.clang-analyze.mk base-mk-share share ./usr/share/mk/bsd.clean.mk base-mk-share share ./usr/share/mk/bsd.crypto.mk base-obsolete obsolete @@ -4379,9 +4883,9 @@ ./usr/share/zoneinfo/America/Coral_Harbour base-sys-share share ./usr/share/zoneinfo/America/Cordoba base-sys-share share ./usr/share/zoneinfo/America/Costa_Rica base-sys-share share +./usr/share/zoneinfo/America/Creston base-sys-share share ./usr/share/zoneinfo/America/Cuiaba base-sys-share share ./usr/share/zoneinfo/America/Curacao base-sys-share share -./usr/share/zoneinfo/America/Creston base-sys-share share ./usr/share/zoneinfo/America/Danmarkshavn base-sys-share share ./usr/share/zoneinfo/America/Dawson base-sys-share share ./usr/share/zoneinfo/America/Dawson_Creek base-sys-share share @@ -4563,6 +5067,7 @@ ./usr/share/zoneinfo/Asia/Kashgar base-sys-share share ./usr/share/zoneinfo/Asia/Kathmandu base-sys-share share ./usr/share/zoneinfo/Asia/Katmandu base-sys-share share +./usr/share/zoneinfo/Asia/Khandyga base-sys-share share ./usr/share/zoneinfo/Asia/Kolkata base-sys-share share ./usr/share/zoneinfo/Asia/Krasnoyarsk base-sys-share share ./usr/share/zoneinfo/Asia/Kuala_Lumpur base-sys-share share @@ -4608,6 +5113,7 @@ ./usr/share/zoneinfo/Asia/Ulaanbaatar base-sys-share share ./usr/share/zoneinfo/Asia/Ulan_Bator base-sys-share share ./usr/share/zoneinfo/Asia/Urumqi base-sys-share share +./usr/share/zoneinfo/Asia/Ust-Nera base-sys-share share ./usr/share/zoneinfo/Asia/Vientiane base-sys-share share ./usr/share/zoneinfo/Asia/Vladivostok base-sys-share share ./usr/share/zoneinfo/Asia/Yakutsk base-sys-share share @@ -4723,6 +5229,7 @@ ./usr/share/zoneinfo/Europe/Brussels base-sys-share share ./usr/share/zoneinfo/Europe/Bucharest base-sys-share share ./usr/share/zoneinfo/Europe/Budapest base-sys-share share +./usr/share/zoneinfo/Europe/Busingen base-sys-share share ./usr/share/zoneinfo/Europe/Chisinau base-sys-share share ./usr/share/zoneinfo/Europe/Copenhagen base-sys-share share ./usr/share/zoneinfo/Europe/Dublin base-sys-share share @@ -4970,6 +5477,10 @@ ./var/chroot/ntpd/var/run base-ntp-root ./var/chroot/pflogd base-sys-root ./var/chroot/pfspamd base-obsolete obsolete +./var/chroot/rtadvd base-sys-root +./var/chroot/rtadvd/etc base-sys-root +./var/chroot/rtadvd/var base-sys-root +./var/chroot/rtadvd/var/run base-sys-root ./var/chroot/spamd base-obsolete obsolete ./var/chroot/sshd base-sys-root ./var/chroot/tcpdump base-sys-root @@ -4984,6 +5495,7 @@ ./var/db/obsolete base-sys-root ./var/db/obsolete/base base-sys-root ./var/db/obsolete/comp base-sys-root +./var/db/obsolete/debug base-sys-root debug ./var/db/obsolete/etc base-sys-root ./var/db/obsolete/games base-sys-root ./var/db/obsolete/man base-sys-root @@ -5024,6 +5536,7 @@ ./var/run/lwresd base-bind-root ./var/run/named base-bind-root ./var/rwho base-netutil-root +./var/shm base-sys-root ./var/spool base-sys-root ./var/spool/ftp base-netutil-root ./var/spool/ftp/bin base-netutil-root diff --git a/distrib/sets/lists/base/rescue.ad.arm b/distrib/sets/lists/base/rescue.ad.arm index 9be02f254..9f56a5719 100644 --- a/distrib/sets/lists/base/rescue.ad.arm +++ b/distrib/sets/lists/base/rescue.ad.arm @@ -1,2 +1,2 @@ -# $NetBSD: rescue.ad.arm,v 1.2 2004/01/11 10:24:59 lukem Exp $ -./rescue/ldconfig base-rescue-root +# $NetBSD: rescue.ad.arm,v 1.3 2013/04/30 23:46:46 matt Exp $ +./rescue/ldconfig base-rescue-root endian=1234 diff --git a/distrib/sets/lists/base/rescue.ad.armeb b/distrib/sets/lists/base/rescue.ad.armeb deleted file mode 100644 index d06bf3f3e..000000000 --- a/distrib/sets/lists/base/rescue.ad.armeb +++ /dev/null @@ -1,3 +0,0 @@ -# $NetBSD: rescue.ad.armeb,v 1.3 2004/03/03 16:41:17 thorpej Exp $ -# No armeb rescue files. DO NOT DELETE THIS EMPTY FILE! If you -# do, then armeb will incorrectly use the generic arm rescue files. diff --git a/distrib/sets/lists/base/rescue.mi b/distrib/sets/lists/base/rescue.mi index 8c07f3b50..c116b9479 100644 --- a/distrib/sets/lists/base/rescue.mi +++ b/distrib/sets/lists/base/rescue.mi @@ -1,4 +1,4 @@ -# $NetBSD: rescue.mi,v 1.34 2012/05/25 21:46:13 jnemeth Exp $ +# $NetBSD: rescue.mi,v 1.35 2013/08/11 22:29:02 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -66,8 +66,8 @@ ./rescue/ldd base-rescue-root ./rescue/less base-rescue-root ./rescue/lfs_cleanerd base-rescue-root -./rescue/lmcctl base-obsolete obsolete ./rescue/lmcconfig base-rescue-root +./rescue/lmcctl base-obsolete obsolete ./rescue/ln base-rescue-root ./rescue/ls base-rescue-root ./rescue/mbrlabel base-rescue-root @@ -152,8 +152,8 @@ ./rescue/tunefs base-rescue-root ./rescue/umount base-rescue-root ./rescue/veriexecctl base-rescue-root -./rescue/vnconfig base-rescue-root ./rescue/vi base-rescue-root +./rescue/vnconfig base-rescue-root ./rescue/wdogctl base-rescue-root ./rescue/wsconsctl base-rescue-root ./rescue/zcat base-rescue-root diff --git a/distrib/sets/lists/base/shl.mi b/distrib/sets/lists/base/shl.mi index 878b074ea..31d521225 100644 --- a/distrib/sets/lists/base/shl.mi +++ b/distrib/sets/lists/base/shl.mi @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.637 2012/09/16 18:59:25 tls Exp $ +# $NetBSD: shl.mi,v 1.681 2013/11/16 13:01:38 alnsn Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -15,22 +15,22 @@ # ./lib/libc.so base-sys-shlib dynamicroot ./lib/libc.so.12 base-sys-shlib dynamicroot -./lib/libc.so.12.185 base-sys-shlib dynamicroot +./lib/libc.so.12.187 base-sys-shlib dynamicroot ./lib/libcrypt.so base-sys-shlib dynamicroot ./lib/libcrypt.so.1 base-sys-shlib dynamicroot ./lib/libcrypt.so.1.0 base-sys-shlib dynamicroot ./lib/libcrypto.so base-crypto-shlib crypto,dynamicroot ./lib/libcrypto.so.8 base-crypto-shlib crypto,dynamicroot -./lib/libcrypto.so.8.0 base-crypto-shlib crypto,dynamicroot +./lib/libcrypto.so.8.1 base-crypto-shlib crypto,dynamicroot ./lib/libdevmapper.so base-lvm-shlib lvm,dynamicroot ./lib/libdevmapper.so.1 base-lvm-shlib lvm,dynamicroot ./lib/libdevmapper.so.1.0 base-lvm-shlib lvm,dynamicroot ./lib/libedit.so base-sys-shlib dynamicroot ./lib/libedit.so.3 base-sys-shlib dynamicroot -./lib/libedit.so.3.0 base-sys-shlib dynamicroot +./lib/libedit.so.3.1 base-sys-shlib dynamicroot ./lib/libevent.so base-sys-shlib dynamicroot -./lib/libevent.so.3 base-sys-shlib dynamicroot -./lib/libevent.so.3.2 base-sys-shlib dynamicroot +./lib/libevent.so.4 base-sys-shlib dynamicroot +./lib/libevent.so.4.0 base-sys-shlib dynamicroot ./lib/libgcc_s.so base-sys-shlib gcc ./lib/libgcc_s.so.1 base-sys-shlib gcc ./lib/libgcc_s.so.1.0 base-sys-shlib gcc @@ -49,6 +49,12 @@ ./lib/libm.so base-sys-shlib dynamicroot ./lib/libm.so.0 base-sys-shlib dynamicroot ./lib/libm.so.0.10 base-sys-shlib dynamicroot +./lib/libnpf.so base-sys-shlib dynamicroot +./lib/libnpf.so.0 base-sys-shlib dynamicroot +./lib/libnpf.so.0.0 base-sys-shlib dynamicroot +./lib/libpcap.so base-sys-shlib dynamicroot +./lib/libpcap.so.5 base-sys-shlib dynamicroot +./lib/libpcap.so.5.0 base-sys-shlib dynamicroot ./lib/libppath.so base-sys-shlib dynamicroot ./lib/libppath.so.0 base-sys-shlib dynamicroot ./lib/libppath.so.0.0 base-sys-shlib dynamicroot @@ -76,6 +82,15 @@ ./lib/libz.so base-sys-shlib dynamicroot ./lib/libz.so.1 base-sys-shlib dynamicroot ./lib/libz.so.1.0 base-sys-shlib dynamicroot +./lib/npf/ext_log.so base-npf-shlib npf +./lib/npf/ext_log.so.0 base-npf-shlib npf +./lib/npf/ext_log.so.0.0 base-npf-shlib npf +./lib/npf/ext_normalize.so base-npf-shlib npf +./lib/npf/ext_normalize.so.0 base-npf-shlib npf +./lib/npf/ext_normalize.so.0.0 base-npf-shlib npf +./lib/npf/ext_rndblock.so base-npf-shlib npf +./lib/npf/ext_rndblock.so.0 base-npf-shlib npf +./lib/npf/ext_rndblock.so.0.0 base-npf-shlib npf ./libexec/ld.elf_so base-sys-shlib dynamicroot ./usr/lib/i18n/libBIG5.so base-i18n-shlib ./usr/lib/i18n/libBIG5.so.5 base-i18n-shlib @@ -154,20 +169,20 @@ ./usr/lib/libasn1.so base-krb5-shlib kerberos ./usr/lib/libasn1.so.9 base-krb5-shlib kerberos ./usr/lib/libasn1.so.9.0 base-krb5-shlib kerberos -./usr/lib/libatf-c.so base-atf-shlib atf -./usr/lib/libatf-c.so.0 base-atf-shlib atf -./usr/lib/libatf-c.so.0.0 base-atf-shlib atf ./usr/lib/libatf-c++.so base-atf-shlib atf ./usr/lib/libatf-c++.so.0 base-atf-shlib atf ./usr/lib/libatf-c++.so.0.0 base-atf-shlib atf +./usr/lib/libatf-c.so base-atf-shlib atf +./usr/lib/libatf-c.so.0 base-atf-shlib atf +./usr/lib/libatf-c.so.0.0 base-atf-shlib atf ./usr/lib/libavl.so base-zfs-shlib dynamicroot,zfs ./usr/lib/libavl.so.0 base-zfs-shlib dynamicroot,zfs ./usr/lib/libavl.so.0.0 base-zfs-shlib zfs,dynamicroot -./usr/lib/libbfd.so.12 base-sys-shlib binutils -./usr/lib/libbfd.so.12.0 base-sys-shlib binutils +./usr/lib/libbfd.so.13 base-sys-shlib binutils +./usr/lib/libbfd.so.13.0 base-sys-shlib binutils ./usr/lib/libbind9.so base-bind-shlib -./usr/lib/libbind9.so.5 base-bind-shlib -./usr/lib/libbind9.so.5.7 base-bind-shlib +./usr/lib/libbind9.so.7 base-bind-shlib +./usr/lib/libbind9.so.7.0 base-bind-shlib ./usr/lib/libbluetooth.so base-sys-shlib ./usr/lib/libbluetooth.so.4 base-sys-shlib ./usr/lib/libbluetooth.so.4.2 base-sys-shlib @@ -177,9 +192,12 @@ ./usr/lib/libbz2.so base-sys-shlib ./usr/lib/libbz2.so.1 base-sys-shlib ./usr/lib/libbz2.so.1.1 base-sys-shlib +./usr/lib/libc++.so base-sys-shlib libcxx +./usr/lib/libc++.so.1 base-sys-shlib libcxx +./usr/lib/libc++.so.1.0 base-sys-shlib libcxx ./usr/lib/libc.so base-sys-shlib ./usr/lib/libc.so.12 base-sys-shlib -./usr/lib/libc.so.12.185 base-sys-shlib +./usr/lib/libc.so.12.187 base-sys-shlib ./usr/lib/libcdk.so base-obsolete obsolete ./usr/lib/libcom_err.so base-krb5-shlib kerberos ./usr/lib/libcom_err.so.7 base-krb5-shlib kerberos @@ -189,7 +207,7 @@ ./usr/lib/libcrypt.so.1.0 base-sys-shlib ./usr/lib/libcrypto.so base-crypto-shlib crypto ./usr/lib/libcrypto.so.8 base-crypto-shlib crypto -./usr/lib/libcrypto.so.8.0 base-crypto-shlib crypto +./usr/lib/libcrypto.so.8.1 base-crypto-shlib crypto ./usr/lib/libcrypto_idea.so.7 base-obsolete obsolete ./usr/lib/libcrypto_idea.so.7.0 base-obsolete obsolete ./usr/lib/libcrypto_mdc2.so.7 base-obsolete obsolete @@ -214,8 +232,8 @@ ./usr/lib/libdm.so.0 base-sys-shlib ./usr/lib/libdm.so.0.0 base-sys-shlib ./usr/lib/libdns.so base-bind-shlib -./usr/lib/libdns.so.5 base-bind-shlib -./usr/lib/libdns.so.5.7 base-bind-shlib +./usr/lib/libdns.so.7 base-bind-shlib +./usr/lib/libdns.so.7.0 base-bind-shlib ./usr/lib/libdns_sd.so base-mdns-shlib mdns ./usr/lib/libdns_sd.so.0 base-mdns-shlib mdns ./usr/lib/libdns_sd.so.0.0 base-mdns-shlib mdns @@ -224,16 +242,22 @@ ./usr/lib/libdtrace.so.2.0 base-sys-shlib dtrace ./usr/lib/libdwarf.so base-sys-shlib ./usr/lib/libdwarf.so.0 base-sys-shlib -./usr/lib/libdwarf.so.0.0 base-sys-shlib +./usr/lib/libdwarf.so.0.1 base-sys-shlib ./usr/lib/libedit.so base-sys-shlib ./usr/lib/libedit.so.3 base-sys-shlib -./usr/lib/libedit.so.3.0 base-sys-shlib +./usr/lib/libedit.so.3.1 base-sys-shlib ./usr/lib/libelf.so base-sys-shlib ./usr/lib/libelf.so.0 base-sys-shlib ./usr/lib/libelf.so.0.0 base-sys-shlib ./usr/lib/libevent.so base-sys-shlib -./usr/lib/libevent.so.3 base-sys-shlib -./usr/lib/libevent.so.3.2 base-sys-shlib +./usr/lib/libevent.so.4 base-sys-shlib +./usr/lib/libevent.so.4.0 base-sys-shlib +./usr/lib/libevent_openssl.so base-sys-shlib crypto +./usr/lib/libevent_openssl.so.4 base-sys-shlib crypto +./usr/lib/libevent_openssl.so.4.0 base-sys-shlib crypto +./usr/lib/libevent_pthreads.so base-sys-shlib +./usr/lib/libevent_pthreads.so.4 base-sys-shlib +./usr/lib/libevent_pthreads.so.4.0 base-sys-shlib ./usr/lib/libexecinfo.so base-sys-shlib ./usr/lib/libexecinfo.so.0 base-sys-shlib ./usr/lib/libexecinfo.so.0.0 base-sys-shlib @@ -258,6 +282,9 @@ ./usr/lib/libgomp.so base-sys-shlib gcc=45 ./usr/lib/libgomp.so.1 base-sys-shlib gcc=45 ./usr/lib/libgomp.so.1.0 base-sys-shlib gcc=45 +./usr/lib/libgomp.so base-sys-shlib gcc=48 +./usr/lib/libgomp.so.1 base-sys-shlib gcc=48 +./usr/lib/libgomp.so.1.1 base-sys-shlib gcc=48 ./usr/lib/libgssapi.so base-krb5-shlib kerberos ./usr/lib/libgssapi.so.10 base-krb5-shlib kerberos ./usr/lib/libgssapi.so.10.0 base-krb5-shlib kerberos @@ -280,14 +307,14 @@ ./usr/lib/libipsec.so.3 base-net-shlib ./usr/lib/libipsec.so.3.0 base-net-shlib ./usr/lib/libisc.so base-bind-shlib -./usr/lib/libisc.so.5 base-bind-shlib -./usr/lib/libisc.so.5.7 base-bind-shlib +./usr/lib/libisc.so.7 base-bind-shlib +./usr/lib/libisc.so.7.0 base-bind-shlib ./usr/lib/libisccc.so base-bind-shlib -./usr/lib/libisccc.so.5 base-bind-shlib -./usr/lib/libisccc.so.5.7 base-bind-shlib +./usr/lib/libisccc.so.7 base-bind-shlib +./usr/lib/libisccc.so.7.0 base-bind-shlib ./usr/lib/libisccfg.so base-bind-shlib -./usr/lib/libisccfg.so.5 base-bind-shlib -./usr/lib/libisccfg.so.5.7 base-bind-shlib +./usr/lib/libisccfg.so.7 base-bind-shlib +./usr/lib/libisccfg.so.7.0 base-bind-shlib ./usr/lib/libiscsi.so base-iscsi-shlib iscsi ./usr/lib/libiscsi.so.2 base-iscsi-shlib iscsi ./usr/lib/libiscsi.so.2.0 base-iscsi-shlib iscsi @@ -304,10 +331,10 @@ ./usr/lib/libkafs.so base-krb5-shlib kerberos ./usr/lib/libkafs.so.12 base-krb5-shlib kerberos ./usr/lib/libkafs.so.12.0 base-krb5-shlib kerberos +./usr/lib/libkdb.so base-obsolete obsolete ./usr/lib/libkdc.so base-krb5-shlib kerberos ./usr/lib/libkdc.so.2 base-krb5-shlib kerberos ./usr/lib/libkdc.so.2.0 base-krb5-shlib kerberos -./usr/lib/libkdb.so base-obsolete obsolete ./usr/lib/libkrb.so base-obsolete obsolete ./usr/lib/libkrb5.so base-krb5-shlib kerberos ./usr/lib/libkrb5.so.26 base-krb5-shlib kerberos @@ -328,21 +355,26 @@ ./usr/lib/liblua.so base-sys-shlib ./usr/lib/liblua.so.1 base-sys-shlib ./usr/lib/liblua.so.1.0 base-sys-shlib +./usr/lib/liblutok.so base-sys-shlib kyua +./usr/lib/liblutok.so.1 base-obsolete obsolete +./usr/lib/liblutok.so.1.0 base-obsolete obsolete +./usr/lib/liblutok.so.2 base-sys-shlib kyua +./usr/lib/liblutok.so.2.0 base-sys-shlib kyua ./usr/lib/liblwres.so base-bind-shlib -./usr/lib/liblwres.so.5 base-bind-shlib -./usr/lib/liblwres.so.5.7 base-bind-shlib -./usr/lib/liblzma.so base-sys-shlib -./usr/lib/liblzma.so.1 base-sys-shlib -./usr/lib/liblzma.so.1.1 base-sys-shlib +./usr/lib/liblwres.so.7 base-bind-shlib +./usr/lib/liblwres.so.7.0 base-bind-shlib ./usr/lib/liblzf.so base-sys-shlib ./usr/lib/liblzf.so.1 base-sys-shlib ./usr/lib/liblzf.so.1.0 base-sys-shlib +./usr/lib/liblzma.so base-sys-shlib +./usr/lib/liblzma.so.1 base-sys-shlib +./usr/lib/liblzma.so.1.1 base-sys-shlib ./usr/lib/libm.so base-sys-shlib ./usr/lib/libm.so.0 base-sys-shlib ./usr/lib/libm.so.0.10 base-sys-shlib ./usr/lib/libmagic.so base-sys-shlib -./usr/lib/libmagic.so.3 base-sys-shlib -./usr/lib/libmagic.so.3.1 base-sys-shlib +./usr/lib/libmagic.so.5 base-sys-shlib +./usr/lib/libmagic.so.5.0 base-sys-shlib ./usr/lib/libmenu.so base-sys-shlib ./usr/lib/libmenu.so.6 base-sys-shlib ./usr/lib/libmenu.so.6.0 base-sys-shlib @@ -352,6 +384,9 @@ ./usr/lib/libnetpgp.so base-crypto-shlib crypto ./usr/lib/libnetpgp.so.3 base-crypto-shlib crypto ./usr/lib/libnetpgp.so.3.0 base-crypto-shlib crypto +./usr/lib/libnetpgpverify.so base-crypto-shlib crypto +./usr/lib/libnetpgpverify.so.4 base-crypto-shlib crypto +./usr/lib/libnetpgpverify.so.4.0 base-crypto-shlib crypto ./usr/lib/libnpf.so base-npf-shlib npf ./usr/lib/libnpf.so.0 base-npf-shlib npf ./usr/lib/libnpf.so.0.0 base-npf-shlib npf @@ -360,30 +395,32 @@ ./usr/lib/libnvpair.so.0.0 base-zfs-shlib zfs,dynamicroot ./usr/lib/libobjc.so base-sys-shlib gcc ./usr/lib/libobjc.so.3 base-sys-shlib gcc=4 -./usr/lib/libobjc.so.3.0 base-sys-shlib gcc=4 ./usr/lib/libobjc.so.3 base-sys-shlib gcc=45 +./usr/lib/libobjc.so.4 base-sys-shlib gcc=48 +./usr/lib/libobjc.so.3.0 base-sys-shlib gcc=4 ./usr/lib/libobjc.so.3.0 base-sys-shlib gcc=45 +./usr/lib/libobjc.so.4.0 base-sys-shlib gcc=48 ./usr/lib/libopenpgpsdk.so base-obsolete obsolete ./usr/lib/libopenpgpsdk.so.0 base-obsolete obsolete ./usr/lib/libopenpgpsdk.so.0.9 base-obsolete obsolete ./usr/lib/libossaudio.so base-sys-shlib ./usr/lib/libossaudio.so.1 base-sys-shlib ./usr/lib/libossaudio.so.1.0 base-sys-shlib -./usr/lib/libperfuse.so base-perfuse-shlib -./usr/lib/libperfuse.so.0 base-perfuse-shlib -./usr/lib/libperfuse.so.0.0 base-perfuse-shlib ./usr/lib/libp2k.so base-puffs-shlib rump ./usr/lib/libp2k.so.2 base-puffs-shlib rump ./usr/lib/libp2k.so.2.0 base-puffs-shlib rump ./usr/lib/libpam.so base-sys-shlib pam -./usr/lib/libpam.so.3 base-sys-shlib pam -./usr/lib/libpam.so.3.0 base-sys-shlib pam +./usr/lib/libpam.so.4 base-sys-shlib pam +./usr/lib/libpam.so.4.0 base-sys-shlib pam ./usr/lib/libpcap.so base-net-shlib -./usr/lib/libpcap.so.4 base-net-shlib -./usr/lib/libpcap.so.4.0 base-net-shlib +./usr/lib/libpcap.so.5 base-net-shlib +./usr/lib/libpcap.so.5.0 base-net-shlib ./usr/lib/libpci.so base-sys-shlib ./usr/lib/libpci.so.2 base-sys-shlib ./usr/lib/libpci.so.2.0 base-sys-shlib +./usr/lib/libperfuse.so base-perfuse-shlib +./usr/lib/libperfuse.so.0 base-perfuse-shlib +./usr/lib/libperfuse.so.0.0 base-perfuse-shlib ./usr/lib/libposix.so base-sys-shlib ./usr/lib/libposix.so.0 base-sys-shlib ./usr/lib/libposix.so.0.1 base-sys-shlib @@ -395,7 +432,7 @@ ./usr/lib/libprop.so.1.1 base-sys-shlib ./usr/lib/libpthread.so base-sys-shlib ./usr/lib/libpthread.so.1 base-sys-shlib -./usr/lib/libpthread.so.1.1 base-sys-shlib +./usr/lib/libpthread.so.1.2 base-sys-shlib ./usr/lib/libpthread_dbg.so base-sys-shlib ./usr/lib/libpthread_dbg.so.2 base-sys-shlib ./usr/lib/libpthread_dbg.so.2.0 base-sys-shlib @@ -412,8 +449,8 @@ ./usr/lib/librefuse.so.2 base-refuse-shlib ./usr/lib/librefuse.so.2.0 base-refuse-shlib ./usr/lib/libresolv.so base-net-shlib -./usr/lib/libresolv.so.2 base-net-shlib -./usr/lib/libresolv.so.2.0 base-net-shlib +./usr/lib/libresolv.so.3 base-net-shlib +./usr/lib/libresolv.so.3.0 base-net-shlib ./usr/lib/libroken.so base-krb5-shlib kerberos ./usr/lib/libroken.so.19 base-krb5-shlib kerberos ./usr/lib/libroken.so.19.0 base-krb5-shlib kerberos @@ -591,12 +628,18 @@ ./usr/lib/librumpfs_zfs.so base-rump-shlib zfs,rump ./usr/lib/librumpfs_zfs.so.0 base-rump-shlib zfs,rump ./usr/lib/librumpfs_zfs.so.0.0 base-rump-shlib zfs,rump +./usr/lib/librumphijack.so base-rump-shlib rump +./usr/lib/librumphijack.so.0 base-rump-shlib rump +./usr/lib/librumphijack.so.0.0 base-rump-shlib rump ./usr/lib/librumpkern_crypto.so base-rump-shlib rump ./usr/lib/librumpkern_crypto.so.0 base-rump-shlib rump ./usr/lib/librumpkern_crypto.so.0.0 base-rump-shlib rump ./usr/lib/librumpkern_ksem.so base-obsolete obsolete ./usr/lib/librumpkern_ksem.so.0 base-obsolete obsolete ./usr/lib/librumpkern_ksem.so.0.0 base-obsolete obsolete +./usr/lib/librumpkern_sljit.so base-rump-shlib sljit,rump +./usr/lib/librumpkern_sljit.so.0 base-rump-shlib sljit,rump +./usr/lib/librumpkern_sljit.so.0.0 base-rump-shlib sljit,rump ./usr/lib/librumpkern_solaris.so base-rump-shlib zfs,rump ./usr/lib/librumpkern_solaris.so.0 base-rump-shlib zfs,rump ./usr/lib/librumpkern_solaris.so.0.0 base-rump-shlib zfs,rump @@ -612,6 +655,9 @@ ./usr/lib/librumpnet_agr.so base-rump-shlib rump ./usr/lib/librumpnet_agr.so.0 base-rump-shlib rump ./usr/lib/librumpnet_agr.so.0.0 base-rump-shlib rump +./usr/lib/librumpnet_bpfjit.so base-rump-shlib sljit,rump +./usr/lib/librumpnet_bpfjit.so.0 base-rump-shlib sljit,rump +./usr/lib/librumpnet_bpfjit.so.0.0 base-rump-shlib sljit,rump ./usr/lib/librumpnet_bridge.so base-rump-shlib rump ./usr/lib/librumpnet_bridge.so.0 base-rump-shlib rump ./usr/lib/librumpnet_bridge.so.0.0 base-rump-shlib rump @@ -630,6 +676,15 @@ ./usr/lib/librumpnet_netinet.so base-rump-shlib rump ./usr/lib/librumpnet_netinet.so.0 base-rump-shlib rump ./usr/lib/librumpnet_netinet.so.0.0 base-rump-shlib rump +./usr/lib/librumpnet_netinet6.so base-rump-shlib rump +./usr/lib/librumpnet_netinet6.so.0 base-rump-shlib rump +./usr/lib/librumpnet_netinet6.so.0.0 base-rump-shlib rump +./usr/lib/librumpnet_netmpls.so base-rump-shlib rump +./usr/lib/librumpnet_netmpls.so.0 base-rump-shlib rump +./usr/lib/librumpnet_netmpls.so.0.0 base-rump-shlib rump +./usr/lib/librumpnet_npf.so base-rump-shlib rump +./usr/lib/librumpnet_npf.so.0 base-rump-shlib rump +./usr/lib/librumpnet_npf.so.0.0 base-rump-shlib rump ./usr/lib/librumpnet_shmif.so base-rump-shlib rump ./usr/lib/librumpnet_shmif.so.0 base-rump-shlib rump ./usr/lib/librumpnet_shmif.so.0.0 base-rump-shlib rump @@ -641,10 +696,7 @@ ./usr/lib/librumpnet_virtif.so.0.0 base-rump-shlib rump ./usr/lib/librumpuser.so base-rump-shlib rump ./usr/lib/librumpuser.so.0 base-rump-shlib rump -./usr/lib/librumpuser.so.0.0 base-rump-shlib rump -./usr/lib/librumphijack.so base-rump-shlib rump -./usr/lib/librumphijack.so.0 base-rump-shlib rump -./usr/lib/librumphijack.so.0.0 base-rump-shlib rump +./usr/lib/librumpuser.so.0.1 base-rump-shlib rump ./usr/lib/librumpvfs.so base-rump-shlib rump ./usr/lib/librumpvfs.so.0 base-rump-shlib rump ./usr/lib/librumpvfs.so.0.0 base-rump-shlib rump @@ -669,18 +721,21 @@ ./usr/lib/libsqlite3.so.1.1 base-sys-shlib ./usr/lib/libss.so base-obsolete obsolete ./usr/lib/libssh.so base-secsh-shlib crypto -./usr/lib/libssh.so.19 base-secsh-shlib crypto -./usr/lib/libssh.so.19.0 base-secsh-shlib crypto +./usr/lib/libssh.so.22 base-secsh-shlib crypto +./usr/lib/libssh.so.22.0 base-secsh-shlib crypto ./usr/lib/libssl.so base-crypto-shlib crypto ./usr/lib/libssl.so.10 base-crypto-shlib crypto -./usr/lib/libssl.so.10.0 base-crypto-shlib crypto -./usr/lib/libstdc++.so base-sys-shlib gcc,cxx -./usr/lib/libstdc++.so.5 base-sys-shlib gcc=3 -./usr/lib/libstdc++.so.5.0 base-sys-shlib gcc=3,cxx -./usr/lib/libstdc++.so.7 base-sys-shlib gcc=4,cxx -./usr/lib/libstdc++.so.7 base-sys-shlib gcc=45,cxx -./usr/lib/libstdc++.so.7.0 base-sys-shlib gcc=4,cxx -./usr/lib/libstdc++.so.7.1 base-sys-shlib gcc=45,cxx +./usr/lib/libssl.so.10.1 base-crypto-shlib crypto +./usr/lib/libstdc++.so base-sys-shlib gcc,cxx,libstdcxx +./usr/lib/libstdc++.so.5 base-sys-shlib gcc=3,libstdcxx +./usr/lib/libstdc++.so.5.0 base-sys-shlib gcc=3,cxx,libstdcxx +./usr/lib/libstdc++.so.7 base-sys-shlib gcc=4,cxx,libstdcxx +./usr/lib/libstdc++.so.7 base-sys-shlib gcc=45,cxx,libstdcxx +./usr/lib/libstdc++.so.7 base-sys-shlib gcc=48,cxx,libstdcxx +./usr/lib/libstdc++.so.7.0 base-sys-shlib gcc=4,cxx,libstdcxx +./usr/lib/libstdc++.so.7.1 base-sys-shlib gcc=45,cxx,libstdcxx +./usr/lib/libstdc++.so.7.2 base-sys-shlib gcc=48,cxx,libstdcxx +./usr/lib/libtelnet.so base-obsolete obsolete ./usr/lib/libtermcap.so base-sys-shlib ./usr/lib/libtermcap.so.0 base-sys-shlib ./usr/lib/libtermcap.so.0.6 base-sys-shlib @@ -690,9 +745,15 @@ ./usr/lib/libtermlib.so base-sys-shlib ./usr/lib/libtermlib.so.0 base-sys-shlib ./usr/lib/libtermlib.so.0.6 base-sys-shlib +./usr/lib/libtpm_unseal.so base-sys-shlib tpm +./usr/lib/libtpm_unseal.so.1 base-sys-shlib tpm +./usr/lib/libtpm_unseal.so.1.0 base-sys-shlib tpm ./usr/lib/libtre.so base-sys-shlib ./usr/lib/libtre.so.0 base-sys-shlib ./usr/lib/libtre.so.0.8 base-sys-shlib +./usr/lib/libtspi.so base-sys-shlib tpm +./usr/lib/libtspi.so.3 base-sys-shlib tpm +./usr/lib/libtspi.so.3.0 base-sys-shlib tpm ./usr/lib/libukfs.so base-sys-shlib rump ./usr/lib/libukfs.so.1 base-sys-shlib rump ./usr/lib/libukfs.so.1.0 base-sys-shlib rump @@ -726,35 +787,39 @@ ./usr/lib/libzpool_pic.a base-zfs-shlib zfs,dynamicroot ./usr/lib/lua/5.1/gpio.so base-sys-shlib ./usr/lib/lua/5.1/sqlite.so base-sys-shlib -./usr/lib/npf/ext_log.so base-npf-shlib npf -./usr/lib/npf/ext_log.so.0 base-npf-shlib npf -./usr/lib/npf/ext_log.so.0.0 base-npf-shlib npf -./usr/lib/npf/ext_normalise.so base-npf-shlib npf -./usr/lib/npf/ext_normalise.so.0 base-npf-shlib npf -./usr/lib/npf/ext_normalise.so.0.0 base-npf-shlib npf +./usr/lib/lua/5.1/syslog.so base-sys-shlib +./usr/lib/npf/ext_log.so base-obsolete obsolete +./usr/lib/npf/ext_log.so.0 base-obsolete obsolete +./usr/lib/npf/ext_log.so.0.0 base-obsolete obsolete +./usr/lib/npf/ext_normalise.so base-obsolete obsolete +./usr/lib/npf/ext_normalise.so.0 base-obsolete obsolete +./usr/lib/npf/ext_normalise.so.0.0 base-obsolete obsolete +./usr/lib/npf/ext_rndblock.so base-obsolete obsolete +./usr/lib/npf/ext_rndblock.so.0 base-obsolete obsolete +./usr/lib/npf/ext_rndblock.so.0.0 base-obsolete obsolete ./usr/lib/nss_mdns.so.0 base-obsolete obsolete ./usr/lib/nss_mdnsd.so.0 base-mdns-shlib mdns ./usr/lib/nss_multicast_dns.so.0 base-mdns-shlib mdns -./usr/lib/security/pam_afslog.so.3 base-sys-shlib kerberos,pam -./usr/lib/security/pam_chroot.so.3 base-sys-shlib pam -./usr/lib/security/pam_deny.so.3 base-sys-shlib pam -./usr/lib/security/pam_echo.so.3 base-sys-shlib pam -./usr/lib/security/pam_exec.so.3 base-sys-shlib pam -./usr/lib/security/pam_ftpusers.so.3 base-sys-shlib pam -./usr/lib/security/pam_group.so.3 base-sys-shlib pam -./usr/lib/security/pam_guest.so.3 base-sys-shlib pam -./usr/lib/security/pam_krb5.so.3 base-sys-shlib kerberos,pam -./usr/lib/security/pam_ksu.so.3 base-sys-shlib kerberos,pam -./usr/lib/security/pam_lastlog.so.3 base-sys-shlib pam -./usr/lib/security/pam_login_access.so.3 base-sys-shlib pam -./usr/lib/security/pam_nologin.so.3 base-sys-shlib pam -./usr/lib/security/pam_permit.so.3 base-sys-shlib pam -./usr/lib/security/pam_radius.so.3 base-sys-shlib pam -./usr/lib/security/pam_rhosts.so.3 base-sys-shlib pam -./usr/lib/security/pam_rootok.so.3 base-sys-shlib pam -./usr/lib/security/pam_securetty.so.3 base-sys-shlib pam -./usr/lib/security/pam_self.so.3 base-sys-shlib pam -./usr/lib/security/pam_skey.so.3 base-sys-shlib skey,pam -./usr/lib/security/pam_ssh.so.3 base-sys-shlib crypto,pam -./usr/lib/security/pam_unix.so.3 base-sys-shlib pam +./usr/lib/security/pam_afslog.so.4 base-sys-shlib kerberos,pam +./usr/lib/security/pam_chroot.so.4 base-sys-shlib pam +./usr/lib/security/pam_deny.so.4 base-sys-shlib pam +./usr/lib/security/pam_echo.so.4 base-sys-shlib pam +./usr/lib/security/pam_exec.so.4 base-sys-shlib pam +./usr/lib/security/pam_ftpusers.so.4 base-sys-shlib pam +./usr/lib/security/pam_group.so.4 base-sys-shlib pam +./usr/lib/security/pam_guest.so.4 base-sys-shlib pam +./usr/lib/security/pam_krb5.so.4 base-sys-shlib kerberos,pam +./usr/lib/security/pam_ksu.so.4 base-sys-shlib kerberos,pam +./usr/lib/security/pam_lastlog.so.4 base-sys-shlib pam +./usr/lib/security/pam_login_access.so.4 base-sys-shlib pam +./usr/lib/security/pam_nologin.so.4 base-sys-shlib pam +./usr/lib/security/pam_permit.so.4 base-sys-shlib pam +./usr/lib/security/pam_radius.so.4 base-sys-shlib pam +./usr/lib/security/pam_rhosts.so.4 base-sys-shlib pam +./usr/lib/security/pam_rootok.so.4 base-sys-shlib pam +./usr/lib/security/pam_securetty.so.4 base-sys-shlib pam +./usr/lib/security/pam_self.so.4 base-sys-shlib pam +./usr/lib/security/pam_skey.so.4 base-sys-shlib skey,pam +./usr/lib/security/pam_ssh.so.4 base-sys-shlib crypto,pam +./usr/lib/security/pam_unix.so.4 base-sys-shlib pam ./usr/libexec/ld.elf_so base-sys-shlib diff --git a/distrib/sets/lists/comp/ad.arm b/distrib/sets/lists/comp/ad.arm index ba29e5039..3ef277ed7 100644 --- a/distrib/sets/lists/comp/ad.arm +++ b/distrib/sets/lists/comp/ad.arm @@ -1,11 +1,115 @@ -# $NetBSD: ad.arm,v 1.41 2012/08/15 20:38:50 matt Exp $ -./usr/include/gcc-4.5/arm_neon.h comp-c-include gcccmds,gcc=45 -./usr/include/gcc-4.5/mmintrin.h comp-c-include gcccmds,gcc=45 -./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +# $NetBSD: ad.arm,v 1.53 2013/11/30 13:23:57 skrll Exp $ +./usr/include/acorn26 comp-c-include +./usr/include/acorn26/ansi.h comp-obsolete obsolete +./usr/include/acorn26/aout_machdep.h comp-obsolete obsolete +./usr/include/acorn26/asm.h comp-obsolete obsolete +./usr/include/acorn26/boot.h comp-obsolete obsolete +./usr/include/acorn26/bswap.h comp-obsolete obsolete +./usr/include/acorn26/bus.h comp-obsolete obsolete +./usr/include/acorn26/cdefs.h comp-obsolete obsolete +./usr/include/acorn26/cpu.h comp-obsolete obsolete +./usr/include/acorn26/db_machdep.h comp-obsolete obsolete +./usr/include/acorn26/disklabel.h comp-c-include +./usr/include/acorn26/elf_machdep.h comp-obsolete obsolete +./usr/include/acorn26/endian.h comp-obsolete obsolete +./usr/include/acorn26/endian_machdep.h comp-obsolete obsolete +./usr/include/acorn26/fenv.h comp-obsolete obsolete +./usr/include/acorn26/float.h comp-obsolete obsolete +./usr/include/acorn26/fp.h comp-obsolete obsolete +./usr/include/acorn26/frame.h comp-obsolete obsolete +./usr/include/acorn26/ieee.h comp-obsolete obsolete +./usr/include/acorn26/ieeefp.h comp-obsolete obsolete +./usr/include/acorn26/int_const.h comp-obsolete obsolete +./usr/include/acorn26/int_fmtio.h comp-obsolete obsolete +./usr/include/acorn26/int_limits.h comp-obsolete obsolete +./usr/include/acorn26/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/acorn26/int_types.h comp-obsolete obsolete +./usr/include/acorn26/intr.h comp-c-include +./usr/include/acorn26/ipkdb.h comp-obsolete obsolete +./usr/include/acorn26/irq.h comp-obsolete obsolete +./usr/include/acorn26/limits.h comp-obsolete obsolete +./usr/include/acorn26/lock.h comp-obsolete obsolete +./usr/include/acorn26/math.h comp-obsolete obsolete +./usr/include/acorn26/mcontext.h comp-obsolete obsolete +./usr/include/acorn26/mutex.h comp-obsolete obsolete +./usr/include/acorn26/param.h comp-obsolete obsolete +./usr/include/acorn26/pcb.h comp-obsolete obsolete +./usr/include/acorn26/pmap.h comp-obsolete obsolete +./usr/include/acorn26/pmc.h comp-obsolete obsolete +./usr/include/acorn26/proc.h comp-obsolete obsolete +./usr/include/acorn26/profile.h comp-obsolete obsolete +./usr/include/acorn26/ptrace.h comp-obsolete obsolete +./usr/include/acorn26/reg.h comp-obsolete obsolete +./usr/include/acorn26/rwlock.h comp-obsolete obsolete +./usr/include/acorn26/setjmp.h comp-obsolete obsolete +./usr/include/acorn26/signal.h comp-obsolete obsolete +./usr/include/acorn26/stdarg.h comp-obsolete obsolete +./usr/include/acorn26/sysarch.h comp-obsolete obsolete +./usr/include/acorn26/trap.h comp-obsolete obsolete +./usr/include/acorn26/types.h comp-obsolete obsolete +./usr/include/acorn26/varargs.h comp-obsolete obsolete +./usr/include/acorn26/vmparam.h comp-c-include +./usr/include/acorn26/wchar_limits.h comp-obsolete obsolete +./usr/include/acorn32 comp-c-include +./usr/include/acorn32/ansi.h comp-obsolete obsolete +./usr/include/acorn32/aout_machdep.h comp-obsolete obsolete +./usr/include/acorn32/asm.h comp-obsolete obsolete +./usr/include/acorn32/beep.h comp-obsolete obsolete +./usr/include/acorn32/bswap.h comp-obsolete obsolete +./usr/include/acorn32/bus.h comp-obsolete obsolete +./usr/include/acorn32/cdefs.h comp-obsolete obsolete +./usr/include/acorn32/conf.h comp-obsolete obsolete +./usr/include/acorn32/cpu.h comp-obsolete obsolete +./usr/include/acorn32/db_machdep.h comp-obsolete obsolete +./usr/include/acorn32/disklabel.h comp-c-include +./usr/include/acorn32/elf_machdep.h comp-obsolete obsolete +./usr/include/acorn32/endian.h comp-obsolete obsolete +./usr/include/acorn32/endian_machdep.h comp-obsolete obsolete +./usr/include/acorn32/fenv.h comp-obsolete obsolete +./usr/include/acorn32/float.h comp-obsolete obsolete +./usr/include/acorn32/fp.h comp-obsolete obsolete +./usr/include/acorn32/frame.h comp-obsolete obsolete +./usr/include/acorn32/ieee.h comp-obsolete obsolete +./usr/include/acorn32/ieeefp.h comp-obsolete obsolete +./usr/include/acorn32/int_const.h comp-obsolete obsolete +./usr/include/acorn32/int_fmtio.h comp-obsolete obsolete +./usr/include/acorn32/int_limits.h comp-obsolete obsolete +./usr/include/acorn32/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/acorn32/int_types.h comp-obsolete obsolete +./usr/include/acorn32/intr.h comp-c-include +./usr/include/acorn32/ipkdb.h comp-obsolete obsolete +./usr/include/acorn32/joystick.h comp-obsolete obsolete +./usr/include/acorn32/kbd.h comp-obsolete obsolete +./usr/include/acorn32/limits.h comp-obsolete obsolete +./usr/include/acorn32/lock.h comp-obsolete obsolete +./usr/include/acorn32/math.h comp-obsolete obsolete +./usr/include/acorn32/mcontext.h comp-obsolete obsolete +./usr/include/acorn32/mouse.h comp-obsolete obsolete +./usr/include/acorn32/mutex.h comp-obsolete obsolete +./usr/include/acorn32/param.h comp-obsolete obsolete +./usr/include/acorn32/pcb.h comp-obsolete obsolete +./usr/include/acorn32/pmap.h comp-obsolete obsolete +./usr/include/acorn32/pmc.h comp-obsolete obsolete +./usr/include/acorn32/proc.h comp-obsolete obsolete +./usr/include/acorn32/profile.h comp-obsolete obsolete +./usr/include/acorn32/ptrace.h comp-obsolete obsolete +./usr/include/acorn32/reg.h comp-obsolete obsolete +./usr/include/acorn32/rwlock.h comp-obsolete obsolete +./usr/include/acorn32/setjmp.h comp-obsolete obsolete +./usr/include/acorn32/signal.h comp-obsolete obsolete +./usr/include/acorn32/stdarg.h comp-obsolete obsolete +./usr/include/acorn32/sysarch.h comp-obsolete obsolete +./usr/include/acorn32/trap.h comp-obsolete obsolete +./usr/include/acorn32/types.h comp-obsolete obsolete +./usr/include/acorn32/varargs.h comp-obsolete obsolete +./usr/include/acorn32/vconsole.h comp-obsolete obsolete +./usr/include/acorn32/vmparam.h comp-obsolete obsolete +./usr/include/acorn32/wchar_limits.h comp-obsolete obsolete ./usr/include/arm comp-c-include ./usr/include/arm/aeabi.h comp-c-include ./usr/include/arm/ansi.h comp-c-include ./usr/include/arm/aout_machdep.h comp-c-include +./usr/include/arm/apmvar.h comp-c-include ./usr/include/arm/arm26 comp-c-include ./usr/include/arm/arm26/types.h comp-c-include ./usr/include/arm/arm32 comp-c-include @@ -35,10 +139,11 @@ ./usr/include/arm/elf_machdep.h comp-c-include ./usr/include/arm/endian.h comp-c-include ./usr/include/arm/endian_machdep.h comp-c-include +./usr/include/arm/fenv.h comp-c-include ./usr/include/arm/float.h comp-c-include ./usr/include/arm/footbridge comp-c-include ./usr/include/arm/footbridge/footbridge_intr.h comp-c-include -./usr/include/arm/fp.h comp-c-include +./usr/include/arm/fp.h comp-obsolete obsolete ./usr/include/arm/frame.h comp-c-include ./usr/include/arm/ieee.h comp-c-include ./usr/include/arm/ieeefp.h comp-c-include @@ -50,6 +155,7 @@ ./usr/include/arm/iomd comp-obsolete obsolete ./usr/include/arm/iomd/vidc.h comp-obsolete obsolete ./usr/include/arm/ipkdb.h comp-obsolete obsolete +./usr/include/arm/joystick.h comp-c-include ./usr/include/arm/kcore.h comp-c-include ./usr/include/arm/limits.h comp-c-include ./usr/include/arm/lock.h comp-c-include @@ -71,9 +177,61 @@ ./usr/include/arm/sysarch.h comp-c-include ./usr/include/arm/trap.h comp-c-include ./usr/include/arm/types.h comp-c-include -./usr/include/arm/vfpreg.h comp-c-include ./usr/include/arm/varargs.h comp-obsolete obsolete +./usr/include/arm/vfpreg.h comp-c-include +./usr/include/arm/vmparam.h comp-c-include ./usr/include/arm/wchar_limits.h comp-c-include +./usr/include/arm26 comp-obsolete obsolete +./usr/include/arm26/_G_config.h comp-obsolete obsolete +./usr/include/arm26/ansi.h comp-obsolete obsolete +./usr/include/arm26/aout_machdep.h comp-obsolete obsolete +./usr/include/arm26/armreg.h comp-obsolete obsolete +./usr/include/arm26/asm.h comp-obsolete obsolete +./usr/include/arm26/boot.h comp-obsolete obsolete +./usr/include/arm26/bswap.h comp-obsolete obsolete +./usr/include/arm26/bus.h comp-obsolete obsolete +./usr/include/arm26/cdefs.h comp-obsolete obsolete +./usr/include/arm26/cpu.h comp-obsolete obsolete +./usr/include/arm26/db_machdep.h comp-obsolete obsolete +./usr/include/arm26/disklabel.h comp-obsolete obsolete +./usr/include/arm26/disklabel_acorn.h comp-obsolete obsolete +./usr/include/arm26/elf_machdep.h comp-obsolete obsolete +./usr/include/arm26/endian.h comp-obsolete obsolete +./usr/include/arm26/endian_machdep.h comp-obsolete obsolete +./usr/include/arm26/float.h comp-obsolete obsolete +./usr/include/arm26/fp.h comp-obsolete obsolete +./usr/include/arm26/frame.h comp-obsolete obsolete +./usr/include/arm26/ieee.h comp-obsolete obsolete +./usr/include/arm26/ieeefp.h comp-obsolete obsolete +./usr/include/arm26/int_const.h comp-obsolete obsolete +./usr/include/arm26/int_fmtio.h comp-obsolete obsolete +./usr/include/arm26/int_limits.h comp-obsolete obsolete +./usr/include/arm26/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/arm26/int_types.h comp-obsolete obsolete +./usr/include/arm26/intr.h comp-obsolete obsolete +./usr/include/arm26/ipkdb.h comp-obsolete obsolete +./usr/include/arm26/irq.h comp-obsolete obsolete +./usr/include/arm26/limits.h comp-obsolete obsolete +./usr/include/arm26/lock.h comp-obsolete obsolete +./usr/include/arm26/math.h comp-obsolete obsolete +./usr/include/arm26/param.h comp-obsolete obsolete +./usr/include/arm26/pcb.h comp-obsolete obsolete +./usr/include/arm26/pmap.h comp-obsolete obsolete +./usr/include/arm26/proc.h comp-obsolete obsolete +./usr/include/arm26/profile.h comp-obsolete obsolete +./usr/include/arm26/pte.h comp-obsolete obsolete +./usr/include/arm26/ptrace.h comp-obsolete obsolete +./usr/include/arm26/reg.h comp-obsolete obsolete +./usr/include/arm26/setjmp.h comp-obsolete obsolete +./usr/include/arm26/signal.h comp-obsolete obsolete +./usr/include/arm26/spl.h comp-obsolete obsolete +./usr/include/arm26/stdarg.h comp-obsolete obsolete +./usr/include/arm26/sysarch.h comp-obsolete obsolete +./usr/include/arm26/trap.h comp-obsolete obsolete +./usr/include/arm26/types.h comp-obsolete obsolete +./usr/include/arm26/undefined.h comp-obsolete obsolete +./usr/include/arm26/varargs.h comp-obsolete obsolete +./usr/include/arm26/vmparam.h comp-obsolete obsolete ./usr/include/arm32/bootconfig.h comp-obsolete obsolete ./usr/include/arm32/cpufunc.h comp-obsolete obsolete ./usr/include/arm32/cpus.h comp-obsolete obsolete @@ -83,23 +241,1640 @@ ./usr/include/arm32/psl.h comp-obsolete obsolete ./usr/include/arm32/pte.h comp-obsolete obsolete ./usr/include/arm32/undefined.h comp-obsolete obsolete +./usr/include/cats comp-c-include +./usr/include/cats/ansi.h comp-obsolete obsolete +./usr/include/cats/aout_machdep.h comp-obsolete obsolete +./usr/include/cats/asm.h comp-obsolete obsolete +./usr/include/cats/bswap.h comp-obsolete obsolete +./usr/include/cats/bus.h comp-obsolete obsolete +./usr/include/cats/byte_swap.h comp-obsolete obsolete +./usr/include/cats/cdefs.h comp-obsolete obsolete +./usr/include/cats/cpu.h comp-obsolete obsolete +./usr/include/cats/db_machdep.h comp-obsolete obsolete +./usr/include/cats/disklabel.h comp-c-include +./usr/include/cats/elf_machdep.h comp-obsolete obsolete +./usr/include/cats/endian.h comp-obsolete obsolete +./usr/include/cats/endian_machdep.h comp-obsolete obsolete +./usr/include/cats/fenv.h comp-obsolete obsolete +./usr/include/cats/float.h comp-obsolete obsolete +./usr/include/cats/fp.h comp-obsolete obsolete +./usr/include/cats/frame.h comp-obsolete obsolete +./usr/include/cats/ieee.h comp-obsolete obsolete +./usr/include/cats/ieeefp.h comp-obsolete obsolete +./usr/include/cats/int_const.h comp-obsolete obsolete +./usr/include/cats/int_fmtio.h comp-obsolete obsolete +./usr/include/cats/int_limits.h comp-obsolete obsolete +./usr/include/cats/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/cats/int_types.h comp-obsolete obsolete +./usr/include/cats/intr.h comp-c-include +./usr/include/cats/ipkdb.h comp-obsolete obsolete +./usr/include/cats/joystick.h comp-obsolete obsolete +./usr/include/cats/limits.h comp-obsolete obsolete +./usr/include/cats/lock.h comp-obsolete obsolete +./usr/include/cats/math.h comp-obsolete obsolete +./usr/include/cats/mcontext.h comp-obsolete obsolete +./usr/include/cats/mutex.h comp-obsolete obsolete +./usr/include/cats/param.h comp-obsolete obsolete +./usr/include/cats/pcb.h comp-obsolete obsolete +./usr/include/cats/pmap.h comp-obsolete obsolete +./usr/include/cats/pmc.h comp-obsolete obsolete +./usr/include/cats/proc.h comp-obsolete obsolete +./usr/include/cats/profile.h comp-obsolete obsolete +./usr/include/cats/ptrace.h comp-obsolete obsolete +./usr/include/cats/reg.h comp-obsolete obsolete +./usr/include/cats/rwlock.h comp-obsolete obsolete +./usr/include/cats/setjmp.h comp-obsolete obsolete +./usr/include/cats/signal.h comp-obsolete obsolete +./usr/include/cats/stdarg.h comp-obsolete obsolete +./usr/include/cats/sysarch.h comp-obsolete obsolete +./usr/include/cats/trap.h comp-obsolete obsolete +./usr/include/cats/types.h comp-obsolete obsolete +./usr/include/cats/varargs.h comp-obsolete obsolete +./usr/include/cats/vmparam.h comp-obsolete obsolete +./usr/include/cats/wchar_limits.h comp-obsolete obsolete +./usr/include/epoc32 comp-c-include +./usr/include/epoc32/ansi.h comp-obsolete obsolete +./usr/include/epoc32/aout_machdep.h comp-obsolete obsolete +./usr/include/epoc32/asm.h comp-obsolete obsolete +./usr/include/epoc32/bswap.h comp-obsolete obsolete +./usr/include/epoc32/cdefs.h comp-obsolete obsolete +./usr/include/epoc32/cpu.h comp-obsolete obsolete +./usr/include/epoc32/disklabel.h comp-c-include +./usr/include/epoc32/elf_machdep.h comp-obsolete obsolete +./usr/include/epoc32/endian.h comp-obsolete obsolete +./usr/include/epoc32/endian_machdep.h comp-obsolete obsolete +./usr/include/epoc32/fenv.h comp-obsolete obsolete +./usr/include/epoc32/float.h comp-obsolete obsolete +./usr/include/epoc32/frame.h comp-obsolete obsolete +./usr/include/epoc32/ieee.h comp-obsolete obsolete +./usr/include/epoc32/ieeefp.h comp-obsolete obsolete +./usr/include/epoc32/int_const.h comp-obsolete obsolete +./usr/include/epoc32/int_fmtio.h comp-obsolete obsolete +./usr/include/epoc32/int_limits.h comp-obsolete obsolete +./usr/include/epoc32/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/epoc32/int_types.h comp-obsolete obsolete +./usr/include/epoc32/intr.h comp-c-include +./usr/include/epoc32/limits.h comp-obsolete obsolete +./usr/include/epoc32/lock.h comp-obsolete obsolete +./usr/include/epoc32/math.h comp-obsolete obsolete +./usr/include/epoc32/mcontext.h comp-obsolete obsolete +./usr/include/epoc32/mutex.h comp-obsolete obsolete +./usr/include/epoc32/param.h comp-obsolete obsolete +./usr/include/epoc32/pcb.h comp-obsolete obsolete +./usr/include/epoc32/pmap.h comp-obsolete obsolete +./usr/include/epoc32/pmc.h comp-obsolete obsolete +./usr/include/epoc32/proc.h comp-obsolete obsolete +./usr/include/epoc32/profile.h comp-obsolete obsolete +./usr/include/epoc32/ptrace.h comp-obsolete obsolete +./usr/include/epoc32/reg.h comp-obsolete obsolete +./usr/include/epoc32/rwlock.h comp-obsolete obsolete +./usr/include/epoc32/setjmp.h comp-obsolete obsolete +./usr/include/epoc32/signal.h comp-obsolete obsolete +./usr/include/epoc32/sysarch.h comp-obsolete obsolete +./usr/include/epoc32/trap.h comp-obsolete obsolete +./usr/include/epoc32/types.h comp-obsolete obsolete +./usr/include/epoc32/vmparam.h comp-obsolete obsolete +./usr/include/epoc32/wchar_limits.h comp-obsolete obsolete +./usr/include/evbarm comp-c-include +./usr/include/evbarm/ansi.h comp-obsolete obsolete +./usr/include/evbarm/aout_machdep.h comp-obsolete obsolete +./usr/include/evbarm/asm.h comp-obsolete obsolete +./usr/include/evbarm/bswap.h comp-obsolete obsolete +./usr/include/evbarm/bus.h comp-obsolete obsolete +./usr/include/evbarm/cdefs.h comp-obsolete obsolete +./usr/include/evbarm/cpu.h comp-obsolete obsolete +./usr/include/evbarm/db_machdep.h comp-obsolete obsolete +./usr/include/evbarm/disklabel.h comp-c-include +./usr/include/evbarm/elf_machdep.h comp-obsolete obsolete +./usr/include/evbarm/endian.h comp-obsolete obsolete +./usr/include/evbarm/endian_machdep.h comp-obsolete obsolete +./usr/include/evbarm/fenv.h comp-obsolete obsolete +./usr/include/evbarm/float.h comp-obsolete obsolete +./usr/include/evbarm/fp.h comp-obsolete obsolete +./usr/include/evbarm/frame.h comp-obsolete obsolete +./usr/include/evbarm/ieee.h comp-obsolete obsolete +./usr/include/evbarm/ieeefp.h comp-obsolete obsolete +./usr/include/evbarm/int_const.h comp-obsolete obsolete +./usr/include/evbarm/int_fmtio.h comp-obsolete obsolete +./usr/include/evbarm/int_limits.h comp-obsolete obsolete +./usr/include/evbarm/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/evbarm/int_types.h comp-obsolete obsolete +./usr/include/evbarm/intr.h comp-c-include +./usr/include/evbarm/ipkdb.h comp-obsolete obsolete +./usr/include/evbarm/joystick.h comp-obsolete obsolete +./usr/include/evbarm/limits.h comp-obsolete obsolete +./usr/include/evbarm/lock.h comp-obsolete obsolete +./usr/include/evbarm/math.h comp-obsolete obsolete +./usr/include/evbarm/mcontext.h comp-obsolete obsolete +./usr/include/evbarm/mutex.h comp-obsolete obsolete +./usr/include/evbarm/param.h comp-obsolete obsolete +./usr/include/evbarm/pcb.h comp-obsolete obsolete +./usr/include/evbarm/pmap.h comp-obsolete obsolete +./usr/include/evbarm/pmc.h comp-obsolete obsolete +./usr/include/evbarm/proc.h comp-obsolete obsolete +./usr/include/evbarm/profile.h comp-obsolete obsolete +./usr/include/evbarm/ptrace.h comp-obsolete obsolete +./usr/include/evbarm/reg.h comp-obsolete obsolete +./usr/include/evbarm/rwlock.h comp-obsolete obsolete +./usr/include/evbarm/setjmp.h comp-obsolete obsolete +./usr/include/evbarm/signal.h comp-obsolete obsolete +./usr/include/evbarm/stdarg.h comp-obsolete obsolete +./usr/include/evbarm/sysarch.h comp-obsolete obsolete +./usr/include/evbarm/trap.h comp-obsolete obsolete +./usr/include/evbarm/types.h comp-obsolete obsolete +./usr/include/evbarm/varargs.h comp-obsolete obsolete +./usr/include/evbarm/vmparam.h comp-obsolete obsolete +./usr/include/evbarm/wchar_limits.h comp-obsolete obsolete +./usr/include/gcc-4.5/arm_neon.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.5/mmintrin.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/arm_neon.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/unwind-arm-common.h comp-c-include gcccmds,gcc=48,eabi +./usr/include/hpcarm comp-c-include +./usr/include/hpcarm/ansi.h comp-obsolete obsolete +./usr/include/hpcarm/aout_machdep.h comp-obsolete obsolete +./usr/include/hpcarm/apmvar.h comp-obsolete obsolete +./usr/include/hpcarm/asm.h comp-obsolete obsolete +./usr/include/hpcarm/bswap.h comp-obsolete obsolete +./usr/include/hpcarm/bus.h comp-obsolete obsolete +./usr/include/hpcarm/cdefs.h comp-obsolete obsolete +./usr/include/hpcarm/cpu.h comp-obsolete obsolete +./usr/include/hpcarm/db_machdep.h comp-obsolete obsolete +./usr/include/hpcarm/disklabel.h comp-c-include +./usr/include/hpcarm/elf_machdep.h comp-obsolete obsolete +./usr/include/hpcarm/endian.h comp-obsolete obsolete +./usr/include/hpcarm/endian_machdep.h comp-obsolete obsolete +./usr/include/hpcarm/fenv.h comp-obsolete obsolete +./usr/include/hpcarm/float.h comp-obsolete obsolete +./usr/include/hpcarm/fp.h comp-obsolete obsolete +./usr/include/hpcarm/frame.h comp-obsolete obsolete +./usr/include/hpcarm/ieee.h comp-obsolete obsolete +./usr/include/hpcarm/ieeefp.h comp-obsolete obsolete +./usr/include/hpcarm/int_const.h comp-obsolete obsolete +./usr/include/hpcarm/int_fmtio.h comp-obsolete obsolete +./usr/include/hpcarm/int_limits.h comp-obsolete obsolete +./usr/include/hpcarm/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/hpcarm/int_types.h comp-obsolete obsolete +./usr/include/hpcarm/intr.h comp-c-include +./usr/include/hpcarm/ipkdb.h comp-obsolete obsolete +./usr/include/hpcarm/limits.h comp-obsolete obsolete +./usr/include/hpcarm/lock.h comp-obsolete obsolete +./usr/include/hpcarm/math.h comp-obsolete obsolete +./usr/include/hpcarm/mcontext.h comp-obsolete obsolete +./usr/include/hpcarm/mutex.h comp-obsolete obsolete +./usr/include/hpcarm/param.h comp-obsolete obsolete +./usr/include/hpcarm/pcb.h comp-obsolete obsolete +./usr/include/hpcarm/pmap.h comp-obsolete obsolete +./usr/include/hpcarm/pmc.h comp-obsolete obsolete +./usr/include/hpcarm/proc.h comp-obsolete obsolete +./usr/include/hpcarm/profile.h comp-obsolete obsolete +./usr/include/hpcarm/ptrace.h comp-obsolete obsolete +./usr/include/hpcarm/reg.h comp-obsolete obsolete +./usr/include/hpcarm/rwlock.h comp-obsolete obsolete +./usr/include/hpcarm/setjmp.h comp-obsolete obsolete +./usr/include/hpcarm/signal.h comp-obsolete obsolete +./usr/include/hpcarm/stdarg.h comp-obsolete obsolete +./usr/include/hpcarm/sysarch.h comp-obsolete obsolete +./usr/include/hpcarm/trap.h comp-obsolete obsolete +./usr/include/hpcarm/types.h comp-obsolete obsolete +./usr/include/hpcarm/varargs.h comp-obsolete obsolete +./usr/include/hpcarm/vmparam.h comp-obsolete obsolete +./usr/include/hpcarm/wchar_limits.h comp-obsolete obsolete ./usr/include/ieeefp.h comp-c-include +./usr/include/iyonix comp-c-include +./usr/include/iyonix/ansi.h comp-obsolete obsolete +./usr/include/iyonix/aout_machdep.h comp-obsolete obsolete +./usr/include/iyonix/asm.h comp-obsolete obsolete +./usr/include/iyonix/bswap.h comp-obsolete obsolete +./usr/include/iyonix/bus.h comp-obsolete obsolete +./usr/include/iyonix/cdefs.h comp-obsolete obsolete +./usr/include/iyonix/cpu.h comp-obsolete obsolete +./usr/include/iyonix/db_machdep.h comp-obsolete obsolete +./usr/include/iyonix/disklabel.h comp-c-include +./usr/include/iyonix/elf_machdep.h comp-obsolete obsolete +./usr/include/iyonix/endian.h comp-obsolete obsolete +./usr/include/iyonix/endian_machdep.h comp-obsolete obsolete +./usr/include/iyonix/fenv.h comp-obsolete obsolete +./usr/include/iyonix/float.h comp-obsolete obsolete +./usr/include/iyonix/fp.h comp-obsolete obsolete +./usr/include/iyonix/frame.h comp-obsolete obsolete +./usr/include/iyonix/ieee.h comp-obsolete obsolete +./usr/include/iyonix/ieeefp.h comp-obsolete obsolete +./usr/include/iyonix/int_const.h comp-obsolete obsolete +./usr/include/iyonix/int_fmtio.h comp-obsolete obsolete +./usr/include/iyonix/int_limits.h comp-obsolete obsolete +./usr/include/iyonix/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/iyonix/int_types.h comp-obsolete obsolete +./usr/include/iyonix/intr.h comp-c-include +./usr/include/iyonix/ipkdb.h comp-obsolete obsolete +./usr/include/iyonix/joystick.h comp-obsolete obsolete +./usr/include/iyonix/limits.h comp-obsolete obsolete +./usr/include/iyonix/lock.h comp-obsolete obsolete +./usr/include/iyonix/math.h comp-obsolete obsolete +./usr/include/iyonix/mcontext.h comp-obsolete obsolete +./usr/include/iyonix/mutex.h comp-obsolete obsolete +./usr/include/iyonix/param.h comp-obsolete obsolete +./usr/include/iyonix/pcb.h comp-obsolete obsolete +./usr/include/iyonix/pmap.h comp-obsolete obsolete +./usr/include/iyonix/pmc.h comp-obsolete obsolete +./usr/include/iyonix/proc.h comp-obsolete obsolete +./usr/include/iyonix/profile.h comp-obsolete obsolete +./usr/include/iyonix/ptrace.h comp-obsolete obsolete +./usr/include/iyonix/reg.h comp-obsolete obsolete +./usr/include/iyonix/rwlock.h comp-obsolete obsolete +./usr/include/iyonix/setjmp.h comp-obsolete obsolete +./usr/include/iyonix/signal.h comp-obsolete obsolete +./usr/include/iyonix/stdarg.h comp-obsolete obsolete +./usr/include/iyonix/sysarch.h comp-obsolete obsolete +./usr/include/iyonix/trap.h comp-obsolete obsolete +./usr/include/iyonix/types.h comp-obsolete obsolete +./usr/include/iyonix/varargs.h comp-obsolete obsolete +./usr/include/iyonix/vmparam.h comp-obsolete obsolete +./usr/include/iyonix/wchar_limits.h comp-obsolete obsolete +./usr/include/netwinder comp-c-include +./usr/include/netwinder/ansi.h comp-obsolete obsolete +./usr/include/netwinder/aout_machdep.h comp-obsolete obsolete +./usr/include/netwinder/asm.h comp-obsolete obsolete +./usr/include/netwinder/bswap.h comp-obsolete obsolete +./usr/include/netwinder/bus.h comp-obsolete obsolete +./usr/include/netwinder/cdefs.h comp-obsolete obsolete +./usr/include/netwinder/cpu.h comp-obsolete obsolete +./usr/include/netwinder/db_machdep.h comp-obsolete obsolete +./usr/include/netwinder/disklabel.h comp-c-include +./usr/include/netwinder/elf_machdep.h comp-obsolete obsolete +./usr/include/netwinder/endian.h comp-obsolete obsolete +./usr/include/netwinder/endian_machdep.h comp-obsolete obsolete +./usr/include/netwinder/fenv.h comp-obsolete obsolete +./usr/include/netwinder/float.h comp-obsolete obsolete +./usr/include/netwinder/fp.h comp-obsolete obsolete +./usr/include/netwinder/frame.h comp-obsolete obsolete +./usr/include/netwinder/ieee.h comp-obsolete obsolete +./usr/include/netwinder/ieeefp.h comp-obsolete obsolete +./usr/include/netwinder/int_const.h comp-obsolete obsolete +./usr/include/netwinder/int_fmtio.h comp-obsolete obsolete +./usr/include/netwinder/int_limits.h comp-obsolete obsolete +./usr/include/netwinder/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/netwinder/int_types.h comp-obsolete obsolete +./usr/include/netwinder/intr.h comp-c-include +./usr/include/netwinder/ipkdb.h comp-obsolete obsolete +./usr/include/netwinder/joystick.h comp-obsolete obsolete +./usr/include/netwinder/limits.h comp-obsolete obsolete +./usr/include/netwinder/lock.h comp-obsolete obsolete +./usr/include/netwinder/math.h comp-obsolete obsolete +./usr/include/netwinder/mcontext.h comp-obsolete obsolete +./usr/include/netwinder/mutex.h comp-obsolete obsolete +./usr/include/netwinder/param.h comp-obsolete obsolete +./usr/include/netwinder/pcb.h comp-obsolete obsolete +./usr/include/netwinder/pmap.h comp-obsolete obsolete +./usr/include/netwinder/pmc.h comp-obsolete obsolete +./usr/include/netwinder/proc.h comp-obsolete obsolete +./usr/include/netwinder/profile.h comp-obsolete obsolete +./usr/include/netwinder/ptrace.h comp-obsolete obsolete +./usr/include/netwinder/reg.h comp-obsolete obsolete +./usr/include/netwinder/rwlock.h comp-obsolete obsolete +./usr/include/netwinder/setjmp.h comp-obsolete obsolete +./usr/include/netwinder/signal.h comp-obsolete obsolete +./usr/include/netwinder/stdarg.h comp-obsolete obsolete +./usr/include/netwinder/sysarch.h comp-obsolete obsolete +./usr/include/netwinder/trap.h comp-obsolete obsolete +./usr/include/netwinder/types.h comp-obsolete obsolete +./usr/include/netwinder/varargs.h comp-obsolete obsolete +./usr/include/netwinder/vmparam.h comp-obsolete obsolete +./usr/include/netwinder/wchar_limits.h comp-obsolete obsolete ./usr/include/pmc.h comp-c-include +./usr/include/shark comp-c-include +./usr/include/shark/ansi.h comp-obsolete obsolete +./usr/include/shark/aout_machdep.h comp-obsolete obsolete +./usr/include/shark/asm.h comp-obsolete obsolete +./usr/include/shark/bswap.h comp-obsolete obsolete +./usr/include/shark/bus.h comp-obsolete obsolete +./usr/include/shark/cdefs.h comp-obsolete obsolete +./usr/include/shark/cpu.h comp-obsolete obsolete +./usr/include/shark/db_machdep.h comp-obsolete obsolete +./usr/include/shark/devmap.h comp-c-include +./usr/include/shark/disklabel.h comp-c-include +./usr/include/shark/elf_machdep.h comp-obsolete obsolete +./usr/include/shark/endian.h comp-obsolete obsolete +./usr/include/shark/endian_machdep.h comp-obsolete obsolete +./usr/include/shark/float.h comp-obsolete obsolete +./usr/include/shark/fp.h comp-obsolete obsolete +./usr/include/shark/frame.h comp-obsolete obsolete +./usr/include/shark/ieee.h comp-obsolete obsolete +./usr/include/shark/ieeefp.h comp-obsolete obsolete +./usr/include/shark/int_const.h comp-obsolete obsolete +./usr/include/shark/int_fmtio.h comp-obsolete obsolete +./usr/include/shark/int_limits.h comp-obsolete obsolete +./usr/include/shark/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/shark/int_types.h comp-obsolete obsolete +./usr/include/shark/intr.h comp-c-include +./usr/include/shark/ipkdb.h comp-obsolete obsolete +./usr/include/shark/joystick.h comp-obsolete obsolete +./usr/include/shark/limits.h comp-obsolete obsolete +./usr/include/shark/lock.h comp-obsolete obsolete +./usr/include/shark/math.h comp-obsolete obsolete +./usr/include/shark/mcontext.h comp-obsolete obsolete +./usr/include/shark/mutex.h comp-obsolete obsolete +./usr/include/shark/param.h comp-obsolete obsolete +./usr/include/shark/pcb.h comp-obsolete obsolete +./usr/include/shark/pmap.h comp-obsolete obsolete +./usr/include/shark/pmc.h comp-obsolete obsolete +./usr/include/shark/proc.h comp-obsolete obsolete +./usr/include/shark/profile.h comp-obsolete obsolete +./usr/include/shark/ptrace.h comp-obsolete obsolete +./usr/include/shark/reg.h comp-obsolete obsolete +./usr/include/shark/rwlock.h comp-obsolete obsolete +./usr/include/shark/setjmp.h comp-obsolete obsolete +./usr/include/shark/signal.h comp-obsolete obsolete +./usr/include/shark/stdarg.h comp-obsolete obsolete +./usr/include/shark/sysarch.h comp-obsolete obsolete +./usr/include/shark/trap.h comp-obsolete obsolete +./usr/include/shark/types.h comp-obsolete obsolete +./usr/include/shark/varargs.h comp-obsolete obsolete +./usr/include/shark/vmparam.h comp-obsolete obsolete +./usr/include/shark/wchar_limits.h comp-obsolete obsolete +./usr/include/zaurus comp-c-include +./usr/include/zaurus/ansi.h comp-obsolete obsolete +./usr/include/zaurus/aout_machdep.h comp-obsolete obsolete +./usr/include/zaurus/apmvar.h comp-obsolete obsolete +./usr/include/zaurus/asm.h comp-obsolete obsolete +./usr/include/zaurus/bswap.h comp-obsolete obsolete +./usr/include/zaurus/bus.h comp-obsolete obsolete +./usr/include/zaurus/cdefs.h comp-obsolete obsolete +./usr/include/zaurus/cpu.h comp-obsolete obsolete +./usr/include/zaurus/disklabel.h comp-c-include +./usr/include/zaurus/elf_machdep.h comp-obsolete obsolete +./usr/include/zaurus/endian.h comp-obsolete obsolete +./usr/include/zaurus/endian_machdep.h comp-obsolete obsolete +./usr/include/zaurus/fenv.h comp-obsolete obsolete +./usr/include/zaurus/float.h comp-obsolete obsolete +./usr/include/zaurus/fp.h comp-obsolete obsolete +./usr/include/zaurus/frame.h comp-obsolete obsolete +./usr/include/zaurus/ieee.h comp-obsolete obsolete +./usr/include/zaurus/ieeefp.h comp-obsolete obsolete +./usr/include/zaurus/int_const.h comp-obsolete obsolete +./usr/include/zaurus/int_fmtio.h comp-obsolete obsolete +./usr/include/zaurus/int_limits.h comp-obsolete obsolete +./usr/include/zaurus/int_mwgwtypes.h comp-obsolete obsolete +./usr/include/zaurus/int_types.h comp-obsolete obsolete +./usr/include/zaurus/intr.h comp-c-include +./usr/include/zaurus/ipkdb.h comp-obsolete obsolete +./usr/include/zaurus/limits.h comp-obsolete obsolete +./usr/include/zaurus/lock.h comp-obsolete obsolete +./usr/include/zaurus/math.h comp-obsolete obsolete +./usr/include/zaurus/mcontext.h comp-obsolete obsolete +./usr/include/zaurus/mutex.h comp-obsolete obsolete +./usr/include/zaurus/param.h comp-obsolete obsolete +./usr/include/zaurus/pcb.h comp-obsolete obsolete +./usr/include/zaurus/pmap.h comp-obsolete obsolete +./usr/include/zaurus/pmc.h comp-obsolete obsolete +./usr/include/zaurus/proc.h comp-obsolete obsolete +./usr/include/zaurus/profile.h comp-obsolete obsolete +./usr/include/zaurus/ptrace.h comp-obsolete obsolete +./usr/include/zaurus/reg.h comp-obsolete obsolete +./usr/include/zaurus/rwlock.h comp-obsolete obsolete +./usr/include/zaurus/setjmp.h comp-obsolete obsolete +./usr/include/zaurus/signal.h comp-obsolete obsolete +./usr/include/zaurus/stdarg.h comp-obsolete obsolete +./usr/include/zaurus/sysarch.h comp-obsolete obsolete +./usr/include/zaurus/trap.h comp-obsolete obsolete +./usr/include/zaurus/types.h comp-obsolete obsolete +./usr/include/zaurus/varargs.h comp-obsolete obsolete +./usr/include/zaurus/vmparam.h comp-obsolete obsolete +./usr/include/zaurus/wchar_limits.h comp-obsolete obsolete ./usr/lib/libarm.a comp-c-lib -./usr/lib/libarm_g.a -unknown- debuglib ./usr/lib/libarm32.a comp-obsolete obsolete ./usr/lib/libarm32_p.a comp-obsolete obsolete -./usr/lib/libarm32_pic.a comp-obsolete obsolete ./usr/lib/libarm_p.a comp-c-lib profile -./usr/lib/libarm_pic.a comp-c-piclib +./usr/lib/libc_vfp.a comp-c-lib softfloat +./usr/lib/libc_vfp_p.a comp-c-lib profile,softfloat ./usr/lib/libpmc.a comp-c-lib -./usr/lib/libpmc_g.a -unknown- debuglib ./usr/lib/libpmc_p.a comp-c-proflib profile -./usr/lib/libpmc_pic.a comp-c-piclib -./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/libarm.so.0.0.debug comp-sys-debug debug,pic -./usr/libdata/debug/usr/lib/libpmc.so.1.0.debug comp-sys-debug debug,pic +./usr/lib/oabi/crt0.o comp-c-lib compat +./usr/lib/oabi/crt0.o comp-c-lib compat +./usr/lib/oabi/crtbegin.o comp-c-lib compat +./usr/lib/oabi/crtbegin.o comp-c-lib compat +./usr/lib/oabi/crtbeginS.o comp-c-lib compat,pic +./usr/lib/oabi/crtbeginS.o comp-c-lib compat,pic +./usr/lib/oabi/crtbeginT.o comp-c-lib compat,pic +./usr/lib/oabi/crtbeginT.o comp-c-lib compat,pic +./usr/lib/oabi/crtend.o comp-c-lib compat +./usr/lib/oabi/crtend.o comp-c-lib compat +./usr/lib/oabi/crtendS.o comp-c-lib compat,pic +./usr/lib/oabi/crtendS.o comp-c-lib compat,pic +./usr/lib/oabi/crti.o comp-c-lib compat +./usr/lib/oabi/crti.o comp-c-lib compat +./usr/lib/oabi/crtn.o comp-c-lib compat +./usr/lib/oabi/crtn.o comp-c-lib compat +./usr/lib/oabi/gcrt0.o comp-c-lib compat +./usr/lib/oabi/gcrt0.o comp-c-lib compat +./usr/lib/oabi/i18n/libBIG5.a comp-c-lib compat +./usr/lib/oabi/i18n/libBIG5.a comp-c-lib compat +./usr/lib/oabi/i18n/libBIG5.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libBIG5.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libBIG5_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libBIG5_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libBIG5_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libBIG5_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libDECHanyu.a comp-c-lib compat +./usr/lib/oabi/i18n/libDECHanyu.a comp-c-lib compat +./usr/lib/oabi/i18n/libDECHanyu.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libDECHanyu.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libDECHanyu_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libDECHanyu_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libDECHanyu_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libDECHanyu_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUC.a comp-c-lib compat +./usr/lib/oabi/i18n/libEUC.a comp-c-lib compat +./usr/lib/oabi/i18n/libEUC.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libEUC.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libEUCTW.a comp-c-lib compat +./usr/lib/oabi/i18n/libEUCTW.a comp-c-lib compat +./usr/lib/oabi/i18n/libEUCTW.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libEUCTW.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libEUCTW_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUCTW_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUCTW_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUCTW_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUC_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUC_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUC_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libEUC_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libGBK2K.a comp-c-lib compat +./usr/lib/oabi/i18n/libGBK2K.a comp-c-lib compat +./usr/lib/oabi/i18n/libGBK2K.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libGBK2K.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libGBK2K_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libGBK2K_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libGBK2K_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libGBK2K_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libHZ.a comp-c-lib compat +./usr/lib/oabi/i18n/libHZ.a comp-c-lib compat +./usr/lib/oabi/i18n/libHZ.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libHZ.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libHZ_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libHZ_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libHZ_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libHZ_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libISO2022.a comp-c-lib compat +./usr/lib/oabi/i18n/libISO2022.a comp-c-lib compat +./usr/lib/oabi/i18n/libISO2022.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libISO2022.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libISO2022_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libISO2022_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libISO2022_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libISO2022_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libJOHAB.a comp-c-lib compat +./usr/lib/oabi/i18n/libJOHAB.a comp-c-lib compat +./usr/lib/oabi/i18n/libJOHAB.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libJOHAB.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libJOHAB_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libJOHAB_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libJOHAB_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libJOHAB_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libMSKanji.a comp-c-lib compat +./usr/lib/oabi/i18n/libMSKanji.a comp-c-lib compat +./usr/lib/oabi/i18n/libMSKanji.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libMSKanji.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libMSKanji_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libMSKanji_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libMSKanji_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libMSKanji_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUES.a comp-c-lib compat +./usr/lib/oabi/i18n/libUES.a comp-c-lib compat +./usr/lib/oabi/i18n/libUES.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUES.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUES_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUES_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUES_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUES_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF1632.a comp-c-lib compat +./usr/lib/oabi/i18n/libUTF1632.a comp-c-lib compat +./usr/lib/oabi/i18n/libUTF1632.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUTF1632.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUTF1632_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF1632_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF1632_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF1632_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF7.a comp-c-lib compat +./usr/lib/oabi/i18n/libUTF7.a comp-c-lib compat +./usr/lib/oabi/i18n/libUTF7.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUTF7.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUTF7_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF7_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF7_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF7_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF8.a comp-c-lib compat +./usr/lib/oabi/i18n/libUTF8.a comp-c-lib compat +./usr/lib/oabi/i18n/libUTF8.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUTF8.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libUTF8_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF8_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF8_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libUTF8_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libVIQR.a comp-c-lib compat +./usr/lib/oabi/i18n/libVIQR.a comp-c-lib compat +./usr/lib/oabi/i18n/libVIQR.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libVIQR.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libVIQR_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libVIQR_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libVIQR_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libVIQR_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libZW.a comp-c-lib compat +./usr/lib/oabi/i18n/libZW.a comp-c-lib compat +./usr/lib/oabi/i18n/libZW.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libZW.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libZW_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libZW_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libZW_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libZW_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_none.a comp-c-lib compat +./usr/lib/oabi/i18n/libiconv_none.a comp-c-lib compat +./usr/lib/oabi/i18n/libiconv_none.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_none.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_none_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_none_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_none_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_none_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_std.a comp-c-lib compat +./usr/lib/oabi/i18n/libiconv_std.a comp-c-lib compat +./usr/lib/oabi/i18n/libiconv_std.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_std.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libiconv_std_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_std_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_std_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libiconv_std_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_646.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_646.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_646.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_646.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_646_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_646_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_646_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_646_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_none.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_none.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_none.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_none.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_none_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_none_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_none_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_none_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_parallel.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_parallel.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_parallel.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_parallel.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_parallel_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_parallel_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_parallel_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_parallel_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_serial.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_serial.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_serial.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_serial.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_serial_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_serial_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_serial_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_serial_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_std.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_std.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_std.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_std.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_std_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_std_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_std_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_std_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_zone.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_zone.a comp-c-lib compat +./usr/lib/oabi/i18n/libmapper_zone.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_zone.so base-sys-shlib compat,pic +./usr/lib/oabi/i18n/libmapper_zone_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_zone_p.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_zone_pic.a comp-obsolete obsolete +./usr/lib/oabi/i18n/libmapper_zone_pic.a comp-obsolete obsolete +./usr/lib/oabi/libarchive.a comp-c-lib compat +./usr/lib/oabi/libarchive.a comp-c-lib compat +./usr/lib/oabi/libarchive.so base-sys-shlib compat,pic +./usr/lib/oabi/libarchive.so base-sys-shlib compat,pic +./usr/lib/oabi/libarchive_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libarchive_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libarchive_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libarchive_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libarm.a comp-c-lib compat +./usr/lib/oabi/libarm.so base-sys-shlib compat,pic +./usr/lib/oabi/libarm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libarm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libasn1.a comp-c-lib compat,kerberos +./usr/lib/oabi/libasn1.a comp-c-lib compat,kerberos +./usr/lib/oabi/libasn1.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libasn1.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libasn1_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libasn1_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libasn1_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libasn1_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libatf-c++.a comp-c-lib compat,atf +./usr/lib/oabi/libatf-c++.a comp-c-lib compat,atf +./usr/lib/oabi/libatf-c++.so base-sys-lib compat,pic,atf +./usr/lib/oabi/libatf-c++.so base-sys-lib compat,pic,atf +./usr/lib/oabi/libatf-c++_p.a comp-c-proflib compat,profile,atf +./usr/lib/oabi/libatf-c++_p.a comp-c-proflib compat,profile,atf +./usr/lib/oabi/libatf-c++_pic.a comp-c-piclib compat,pic,atf +./usr/lib/oabi/libatf-c++_pic.a comp-c-piclib compat,pic,atf +./usr/lib/oabi/libatf-c.a comp-c-lib compat,atf +./usr/lib/oabi/libatf-c.a comp-c-lib compat,atf +./usr/lib/oabi/libatf-c.so base-sys-lib compat,pic,atf +./usr/lib/oabi/libatf-c.so base-sys-lib compat,pic,atf +./usr/lib/oabi/libatf-c_p.a comp-c-proflib compat,profile,atf +./usr/lib/oabi/libatf-c_p.a comp-c-proflib compat,profile,atf +./usr/lib/oabi/libatf-c_pic.a comp-c-piclib compat,pic,atf +./usr/lib/oabi/libatf-c_pic.a comp-c-piclib compat,pic,atf +./usr/lib/oabi/libbfd.a comp-obsolete obsolete +./usr/lib/oabi/libbfd.a comp-obsolete obsolete +./usr/lib/oabi/libbfd.so base-obsolete obsolete +./usr/lib/oabi/libbfd.so base-obsolete obsolete +./usr/lib/oabi/libbfd_p.a comp-obsolete obsolete +./usr/lib/oabi/libbfd_p.a comp-obsolete obsolete +./usr/lib/oabi/libbfd_pic.a comp-obsolete obsolete +./usr/lib/oabi/libbfd_pic.a comp-obsolete obsolete +./usr/lib/oabi/libbind9.a comp-c-lib compat +./usr/lib/oabi/libbind9.a comp-c-lib compat +./usr/lib/oabi/libbind9.so base-sys-shlib compat,pic +./usr/lib/oabi/libbind9.so base-sys-shlib compat,pic +./usr/lib/oabi/libbind9_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbind9_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbind9_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbind9_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbluetooth.a comp-c-lib compat +./usr/lib/oabi/libbluetooth.a comp-c-lib compat +./usr/lib/oabi/libbluetooth.so base-sys-shlib compat,pic +./usr/lib/oabi/libbluetooth.so base-sys-shlib compat,pic +./usr/lib/oabi/libbluetooth_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbluetooth_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbluetooth_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbluetooth_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbsdmalloc.a comp-c-lib compat +./usr/lib/oabi/libbsdmalloc.a comp-c-lib compat +./usr/lib/oabi/libbsdmalloc.so base-sys-shlib compat,pic +./usr/lib/oabi/libbsdmalloc.so base-sys-shlib compat,pic +./usr/lib/oabi/libbsdmalloc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbsdmalloc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbsdmalloc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbsdmalloc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbz2.a comp-c-lib compat +./usr/lib/oabi/libbz2.a comp-c-lib compat +./usr/lib/oabi/libbz2.so base-sys-shlib compat,pic +./usr/lib/oabi/libbz2.so base-sys-shlib compat,pic +./usr/lib/oabi/libbz2_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbz2_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libbz2_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libbz2_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libc++.a comp-c-lib compat,libcxx +./usr/lib/oabi/libc++.so comp-sys-shlib compat,pic,libcxx +./usr/lib/oabi/libc++_p.a comp-c-proflib compat,profile,libcxx +./usr/lib/oabi/libc++_pic.a comp-c-piclib compat,pic,libcxx +./usr/lib/oabi/libc.a comp-c-lib compat +./usr/lib/oabi/libc.a comp-c-lib compat +./usr/lib/oabi/libc.so base-sys-shlib compat,pic +./usr/lib/oabi/libc.so base-sys-shlib compat,pic +./usr/lib/oabi/libc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libc_vfp.a comp-c-lib compat +./usr/lib/oabi/libc_vfp.so base-sys-shlib compat,pic +./usr/lib/oabi/libc_vfp_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libc_vfp_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libcom_err.a comp-c-lib compat,kerberos +./usr/lib/oabi/libcom_err.a comp-c-lib compat,kerberos +./usr/lib/oabi/libcom_err.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libcom_err.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libcom_err_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libcom_err_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libcom_err_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libcom_err_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libcompat.a comp-c-lib compat +./usr/lib/oabi/libcompat.a comp-c-lib compat +./usr/lib/oabi/libcompat_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libcompat_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libcompat_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libcompat_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libcrypt.a comp-c-lib compat +./usr/lib/oabi/libcrypt.a comp-c-lib compat +./usr/lib/oabi/libcrypt.so base-sys-shlib compat,pic +./usr/lib/oabi/libcrypt.so base-sys-shlib compat,pic +./usr/lib/oabi/libcrypt_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libcrypt_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libcrypt_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libcrypt_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libcrypto.a comp-c-lib compat,crypto +./usr/lib/oabi/libcrypto.a comp-c-lib compat,crypto +./usr/lib/oabi/libcrypto.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libcrypto.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libcrypto_idea.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_idea.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_idea.so base-obsolete obsolete +./usr/lib/oabi/libcrypto_idea_p.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_idea_p.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_idea_pic.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2.so base-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2_p.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2_p.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_mdc2_pic.a comp-obsolete obsolete +./usr/lib/oabi/libcrypto_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libcrypto_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libcrypto_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libcrypto_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libcrypto_rc5.a comp-c-lib crypto_rc5,compat +./usr/lib/oabi/libcrypto_rc5.a comp-c-lib crypto_rc5,compat +./usr/lib/oabi/libcrypto_rc5.so base-sys-shlib compat,crypto,crypto_rc5,pic +./usr/lib/oabi/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile +./usr/lib/oabi/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile +./usr/lib/oabi/libcrypto_rc5_pic.a comp-c-piclib compat,crypto,crypto_rc5,pic +./usr/lib/oabi/libcurses.a comp-c-lib compat +./usr/lib/oabi/libcurses.a comp-c-lib compat +./usr/lib/oabi/libcurses.so base-sys-shlib compat,pic +./usr/lib/oabi/libcurses.so base-sys-shlib compat,pic +./usr/lib/oabi/libcurses_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libcurses_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libcurses_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libcurses_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libdes.a comp-c-lib compat,crypto +./usr/lib/oabi/libdes.a comp-c-lib compat,crypto +./usr/lib/oabi/libdes.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libdes.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libdes_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libdes_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libdes_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libdes_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libdevmapper.a comp-lvm-lib compat,lvm +./usr/lib/oabi/libdevmapper.a comp-lvm-lib compat,lvm +./usr/lib/oabi/libdevmapper.so base-lvm-shlib compat,lvm,pic +./usr/lib/oabi/libdevmapper.so base-lvm-shlib compat,lvm,pic +./usr/lib/oabi/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm +./usr/lib/oabi/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm +./usr/lib/oabi/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm +./usr/lib/oabi/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm +./usr/lib/oabi/libdm.a comp-c-lib compat +./usr/lib/oabi/libdm.a comp-c-lib compat +./usr/lib/oabi/libdm.so base-sys-shlib compat,pic +./usr/lib/oabi/libdm.so base-sys-shlib compat,pic +./usr/lib/oabi/libdm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libdm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libdm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libdm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libdns.a comp-c-lib compat +./usr/lib/oabi/libdns.a comp-c-lib compat +./usr/lib/oabi/libdns.so base-sys-shlib compat,pic +./usr/lib/oabi/libdns.so base-sys-shlib compat,pic +./usr/lib/oabi/libdns_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libdns_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libdns_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libdns_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libdns_sd.a comp-c-lib compat,mdns +./usr/lib/oabi/libdns_sd.a comp-c-lib compat,mdns +./usr/lib/oabi/libdns_sd.so base-mdns-shlib compat,pic,mdns +./usr/lib/oabi/libdns_sd.so base-mdns-shlib compat,pic,mdns +./usr/lib/oabi/libdns_sd_p.a comp-c-proflib compat,profile,mdns +./usr/lib/oabi/libdns_sd_p.a comp-c-proflib compat,profile,mdns +./usr/lib/oabi/libdns_sd_pic.a comp-c-piclib compat,pic,mdns +./usr/lib/oabi/libdns_sd_pic.a comp-c-piclib compat,pic,mdns +./usr/lib/oabi/libdwarf.a comp-c-lib compat +./usr/lib/oabi/libdwarf.a comp-c-lib compat +./usr/lib/oabi/libdwarf.so base-sys-shlib compat,pic +./usr/lib/oabi/libdwarf.so base-sys-shlib compat,pic +./usr/lib/oabi/libdwarf_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libdwarf_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libdwarf_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libdwarf_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libedit.a comp-c-lib compat +./usr/lib/oabi/libedit.a comp-c-lib compat +./usr/lib/oabi/libedit.so base-sys-shlib compat,pic +./usr/lib/oabi/libedit.so base-sys-shlib compat,pic +./usr/lib/oabi/libedit_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libedit_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libedit_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libedit_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libelf.a comp-c-lib compat +./usr/lib/oabi/libelf.a comp-c-lib compat +./usr/lib/oabi/libelf.so base-sys-shlib compat,pic +./usr/lib/oabi/libelf.so base-sys-shlib compat,pic +./usr/lib/oabi/libelf_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libelf_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libelf_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libelf_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libevent.a comp-c-lib compat +./usr/lib/oabi/libevent.a comp-c-lib compat +./usr/lib/oabi/libevent.so base-sys-shlib compat,pic +./usr/lib/oabi/libevent.so base-sys-shlib compat,pic +./usr/lib/oabi/libevent_openssl.a comp-c-lib compat,crypto +./usr/lib/oabi/libevent_openssl.a comp-c-lib compat,crypto +./usr/lib/oabi/libevent_openssl.so base-sys-shlib compat,pic,crypto +./usr/lib/oabi/libevent_openssl.so base-sys-shlib compat,pic,crypto +./usr/lib/oabi/libevent_openssl_p.a comp-c-proflib compat,profile,crypto +./usr/lib/oabi/libevent_openssl_p.a comp-c-proflib compat,profile,crypto +./usr/lib/oabi/libevent_openssl_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/oabi/libevent_openssl_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/oabi/libevent_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libevent_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libevent_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libevent_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libevent_pthreads.a comp-c-lib compat +./usr/lib/oabi/libevent_pthreads.a comp-c-lib compat +./usr/lib/oabi/libevent_pthreads.so base-sys-shlib compat,pic +./usr/lib/oabi/libevent_pthreads.so base-sys-shlib compat,pic +./usr/lib/oabi/libevent_pthreads_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libevent_pthreads_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libevent_pthreads_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libevent_pthreads_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libexecinfo.a comp-c-lib compat +./usr/lib/oabi/libexecinfo.a comp-c-lib compat +./usr/lib/oabi/libexecinfo.so base-sys-shlib compat,pic +./usr/lib/oabi/libexecinfo.so base-sys-shlib compat,pic +./usr/lib/oabi/libexecinfo_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libexecinfo_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libexecinfo_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libexecinfo_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libexpat.a comp-c-lib compat +./usr/lib/oabi/libexpat.a comp-c-lib compat +./usr/lib/oabi/libexpat.so base-sys-shlib compat,pic +./usr/lib/oabi/libexpat.so base-sys-shlib compat,pic +./usr/lib/oabi/libexpat_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libexpat_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libexpat_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libexpat_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libfetch.a comp-c-lib compat +./usr/lib/oabi/libfetch.a comp-c-lib compat +./usr/lib/oabi/libfetch.so base-sys-shlib compat,pic +./usr/lib/oabi/libfetch.so base-sys-shlib compat,pic +./usr/lib/oabi/libfetch_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libfetch_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libfetch_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libfetch_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libfl.a comp-c-lib compat +./usr/lib/oabi/libfl.a comp-c-lib compat +./usr/lib/oabi/libfl_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libfl_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libform.a comp-c-lib compat +./usr/lib/oabi/libform.a comp-c-lib compat +./usr/lib/oabi/libform.so base-sys-shlib compat,pic +./usr/lib/oabi/libform.so base-sys-shlib compat,pic +./usr/lib/oabi/libform_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libform_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libform_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libform_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libgcc.a comp-c-lib compat +./usr/lib/oabi/libgcc.a comp-c-lib compat,gcccmds +./usr/lib/oabi/libgcc_eh.a comp-c-lib compat,pic +./usr/lib/oabi/libgcc_eh.a comp-c-lib compat,pic,gcccmds +./usr/lib/oabi/libgcc_eh_p.a comp-c-proflib obsolete +./usr/lib/oabi/libgcc_eh_p.a comp-c-proflib obsolete +./usr/lib/oabi/libgcc_eh_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libgcc_eh_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libgcc_p.a comp-c-proflib obsolete +./usr/lib/oabi/libgcc_p.a comp-c-proflib obsolete +./usr/lib/oabi/libgcc_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libgcc_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libgcc_s.a comp-obsolete obsolete +./usr/lib/oabi/libgcc_s.a comp-obsolete obsolete +./usr/lib/oabi/libgcc_s.so base-sys-shlib compat,pic +./usr/lib/oabi/libgcc_s.so base-sys-shlib compat,pic,gcccmds +./usr/lib/oabi/libgcc_s_p.a comp-obsolete obsolete +./usr/lib/oabi/libgcc_s_p.a comp-obsolete obsolete +./usr/lib/oabi/libgcc_s_pic.a comp-obsolete obsolete +./usr/lib/oabi/libgcc_s_pic.a comp-obsolete obsolete +./usr/lib/oabi/libgcov.a comp-c-lib compat,gcccmds +./usr/lib/oabi/libgcov.a comp-c-lib compat,gcccmds +./usr/lib/oabi/libgcov_p.a comp-obsolete obsolete +./usr/lib/oabi/libgcov_p.a comp-obsolete obsolete +./usr/lib/oabi/libgcov_pic.a comp-obsolete obsolete +./usr/lib/oabi/libgcov_pic.a comp-obsolete obsolete +./usr/lib/oabi/libgmp.a comp-c-lib obsolete +./usr/lib/oabi/libgmp.a comp-c-lib obsolete +./usr/lib/oabi/libgmp.so base-sys-shlib obsolete +./usr/lib/oabi/libgmp.so base-sys-shlib obsolete +./usr/lib/oabi/libgmp_p.a comp-c-proflib obsolete +./usr/lib/oabi/libgmp_p.a comp-c-proflib obsolete +./usr/lib/oabi/libgmp_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libgmp_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libgnumalloc.a comp-c-lib compat +./usr/lib/oabi/libgnumalloc.a comp-c-lib compat +./usr/lib/oabi/libgnumalloc.so base-sys-shlib compat,pic +./usr/lib/oabi/libgnumalloc.so base-sys-shlib compat,pic +./usr/lib/oabi/libgnumalloc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libgnumalloc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libgnumalloc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libgnumalloc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libgomp.a comp-c-lib compat,gcc=45 +./usr/lib/oabi/libgomp.a comp-c-lib compat,gcc=48 +./usr/lib/oabi/libgomp.so base-sys-shlib compat,pic,gcc=45 +./usr/lib/oabi/libgomp.so base-sys-shlib compat,pic,gcc=48 +./usr/lib/oabi/libgomp_p.a comp-c-proflib compat,profile,gcc=45 +./usr/lib/oabi/libgomp_p.a comp-c-proflib compat,profile,gcc=48 +./usr/lib/oabi/libgomp_pic.a comp-c-piclib compat,pic,gcc=45 +./usr/lib/oabi/libgomp_pic.a comp-c-piclib compat,pic,gcc=48 +./usr/lib/oabi/libgssapi.a comp-c-lib compat,kerberos +./usr/lib/oabi/libgssapi.a comp-c-lib compat,kerberos +./usr/lib/oabi/libgssapi.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libgssapi.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libgssapi_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libgssapi_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libgssapi_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libgssapi_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libhdb.a comp-c-lib compat,kerberos +./usr/lib/oabi/libhdb.a comp-c-lib compat,kerberos +./usr/lib/oabi/libhdb.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libhdb.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libhdb_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libhdb_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libhdb_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libhdb_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libheimbase.a comp-c-lib compat,kerberos +./usr/lib/oabi/libheimbase.a comp-c-lib compat,kerberos +./usr/lib/oabi/libheimbase.so comp-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libheimbase.so comp-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libheimbase_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libheimbase_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libheimbase_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/oabi/libheimbase_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/oabi/libheimntlm.a comp-c-lib compat,kerberos +./usr/lib/oabi/libheimntlm.a comp-c-lib compat,kerberos +./usr/lib/oabi/libheimntlm.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libheimntlm.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libheimntlm_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libheimntlm_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libhx509.a comp-c-lib compat,kerberos +./usr/lib/oabi/libhx509.a comp-c-lib compat,kerberos +./usr/lib/oabi/libhx509.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libhx509.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libhx509_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libhx509_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libhx509_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libhx509_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libiberty.a comp-obsolete obsolete +./usr/lib/oabi/libiberty.a comp-obsolete obsolete +./usr/lib/oabi/libiberty_p.a comp-obsolete obsolete +./usr/lib/oabi/libiberty_p.a comp-obsolete obsolete +./usr/lib/oabi/libiberty_pic.a comp-obsolete obsolete +./usr/lib/oabi/libiberty_pic.a comp-obsolete obsolete +./usr/lib/oabi/libintl.a comp-c-lib compat +./usr/lib/oabi/libintl.a comp-c-lib compat +./usr/lib/oabi/libintl.so base-sys-shlib compat,pic +./usr/lib/oabi/libintl.so base-sys-shlib compat,pic +./usr/lib/oabi/libintl_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libintl_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libintl_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libintl_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libipsec.a comp-c-lib compat +./usr/lib/oabi/libipsec.a comp-c-lib compat +./usr/lib/oabi/libipsec.so base-sys-shlib compat,pic +./usr/lib/oabi/libipsec.so base-sys-shlib compat,pic +./usr/lib/oabi/libipsec_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libipsec_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libipsec_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libipsec_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisc.a comp-c-lib compat +./usr/lib/oabi/libisc.a comp-c-lib compat +./usr/lib/oabi/libisc.so base-sys-shlib compat,pic +./usr/lib/oabi/libisc.so base-sys-shlib compat,pic +./usr/lib/oabi/libisc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisccc.a comp-c-lib compat +./usr/lib/oabi/libisccc.a comp-c-lib compat +./usr/lib/oabi/libisccc.so base-sys-shlib compat,pic +./usr/lib/oabi/libisccc.so base-sys-shlib compat,pic +./usr/lib/oabi/libisccc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisccc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisccc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisccc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisccfg.a comp-c-lib compat +./usr/lib/oabi/libisccfg.a comp-c-lib compat +./usr/lib/oabi/libisccfg.so base-sys-shlib compat,pic +./usr/lib/oabi/libisccfg.so base-sys-shlib compat,pic +./usr/lib/oabi/libisccfg_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisccfg_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisccfg_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisccfg_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libiscsi.a comp-c-lib compat,iscsi +./usr/lib/oabi/libiscsi.a comp-c-lib compat,iscsi +./usr/lib/oabi/libiscsi.so base-sys-shlib compat,pic,iscsi +./usr/lib/oabi/libiscsi.so base-sys-shlib compat,pic,iscsi +./usr/lib/oabi/libiscsi_p.a comp-c-proflib compat,profile,iscsi +./usr/lib/oabi/libiscsi_p.a comp-c-proflib compat,profile,iscsi +./usr/lib/oabi/libiscsi_pic.a comp-c-piclib compat,pic,iscsi +./usr/lib/oabi/libiscsi_pic.a comp-c-piclib compat,pic,iscsi +./usr/lib/oabi/libisns.a comp-c-lib compat +./usr/lib/oabi/libisns.a comp-c-lib compat +./usr/lib/oabi/libisns.so comp-sys-shlib compat +./usr/lib/oabi/libisns.so comp-sys-shlib compat +./usr/lib/oabi/libisns_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisns_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libisns_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libisns_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libkadm5clnt.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkadm5clnt.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkadm5clnt.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5clnt.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkadm5srv.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkadm5srv.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkadm5srv.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5srv.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkafs.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkafs.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkafs.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkafs.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkafs_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkafs_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkafs_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkafs_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkdc.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkdc.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkdc.so comp-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkdc.so comp-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkdc_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkdc_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkdc_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/oabi/libkdc_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/oabi/libkrb5.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkrb5.a comp-c-lib compat,kerberos +./usr/lib/oabi/libkrb5.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkrb5.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libkrb5_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkrb5_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libkrb5_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkrb5_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libkvm.a comp-c-lib compat +./usr/lib/oabi/libkvm.a comp-c-lib compat +./usr/lib/oabi/libkvm.so base-sys-shlib compat,pic +./usr/lib/oabi/libkvm.so base-sys-shlib compat,pic +./usr/lib/oabi/libkvm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libkvm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libkvm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libkvm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libl.a comp-c-lib compat +./usr/lib/oabi/libl.a comp-c-lib compat +./usr/lib/oabi/libl_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libl_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libl_pic.a comp-obsolete obsolete +./usr/lib/oabi/libl_pic.a comp-obsolete obsolete +./usr/lib/oabi/liblber.a comp-c-lib compat,ldap +./usr/lib/oabi/liblber.a comp-c-lib compat,ldap +./usr/lib/oabi/liblber.so base-sys-shlib compat,pic,ldap +./usr/lib/oabi/liblber.so base-sys-shlib compat,pic,ldap +./usr/lib/oabi/liblber_p.a comp-c-proflib compat,profile,ldap +./usr/lib/oabi/liblber_p.a comp-c-proflib compat,profile,ldap +./usr/lib/oabi/liblber_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/oabi/liblber_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/oabi/libldap.a comp-c-lib compat,ldap +./usr/lib/oabi/libldap.a comp-c-lib compat,ldap +./usr/lib/oabi/libldap.so base-sys-shlib compat,pic,ldap +./usr/lib/oabi/libldap.so base-sys-shlib compat,pic,ldap +./usr/lib/oabi/libldap_p.a comp-c-proflib compat,profile,ldap +./usr/lib/oabi/libldap_p.a comp-c-proflib compat,profile,ldap +./usr/lib/oabi/libldap_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/oabi/libldap_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/oabi/libldap_r.a comp-c-lib compat,ldap +./usr/lib/oabi/libldap_r.a comp-c-lib compat,ldap +./usr/lib/oabi/libldap_r.so base-sys-shlib compat,pic,ldap +./usr/lib/oabi/libldap_r.so base-sys-shlib compat,pic,ldap +./usr/lib/oabi/libldap_r_p.a comp-c-proflib compat,profile,ldap +./usr/lib/oabi/libldap_r_p.a comp-c-proflib compat,profile,ldap +./usr/lib/oabi/libldap_r_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/oabi/libldap_r_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/oabi/liblua.a comp-c-lib compat +./usr/lib/oabi/liblua.a comp-c-lib compat +./usr/lib/oabi/liblua.so base-sys-shlib compat,pic +./usr/lib/oabi/liblua.so base-sys-shlib compat,pic +./usr/lib/oabi/liblua_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblua_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblua_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblua_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblutok.a comp-c-lib compat,kyua +./usr/lib/oabi/liblutok.a comp-c-lib compat,kyua +./usr/lib/oabi/liblutok.so base-sys-shlib compat,pic,kyua +./usr/lib/oabi/liblutok.so base-sys-shlib compat,pic,kyua +./usr/lib/oabi/liblutok_p.a comp-c-proflib compat,profile,kyua +./usr/lib/oabi/liblutok_p.a comp-c-proflib compat,profile,kyua +./usr/lib/oabi/liblutok_pic.a comp-c-piclib compat,pic,kyua +./usr/lib/oabi/liblutok_pic.a comp-c-piclib compat,pic,kyua +./usr/lib/oabi/liblwres.a comp-c-lib compat +./usr/lib/oabi/liblwres.a comp-c-lib compat +./usr/lib/oabi/liblwres.so base-sys-shlib compat,pic +./usr/lib/oabi/liblwres.so base-sys-shlib compat,pic +./usr/lib/oabi/liblwres_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblwres_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblwres_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblwres_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblzf.a comp-c-lib compat +./usr/lib/oabi/liblzf.a comp-c-lib compat +./usr/lib/oabi/liblzf.so base-sys-shlib compat,pic +./usr/lib/oabi/liblzf.so base-sys-shlib compat,pic +./usr/lib/oabi/liblzf_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblzf_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblzf_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblzf_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblzma.a comp-c-lib compat +./usr/lib/oabi/liblzma.a comp-c-lib compat +./usr/lib/oabi/liblzma.so base-sys-shlib compat,pic +./usr/lib/oabi/liblzma.so base-sys-shlib compat,pic +./usr/lib/oabi/liblzma_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblzma_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liblzma_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liblzma_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libm.a comp-c-lib compat +./usr/lib/oabi/libm.a comp-c-lib compat +./usr/lib/oabi/libm.so base-sys-shlib compat,pic +./usr/lib/oabi/libm.so base-sys-shlib compat,pic +./usr/lib/oabi/libm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libm_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libm_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libmagic.a comp-c-lib compat +./usr/lib/oabi/libmagic.a comp-c-lib compat +./usr/lib/oabi/libmagic.so base-sys-shlib compat,pic +./usr/lib/oabi/libmagic.so base-sys-shlib compat,pic +./usr/lib/oabi/libmagic_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libmagic_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libmagic_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libmagic_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libmenu.a comp-c-lib compat +./usr/lib/oabi/libmenu.a comp-c-lib compat +./usr/lib/oabi/libmenu.so base-sys-shlib compat,pic +./usr/lib/oabi/libmenu.so base-sys-shlib compat,pic +./usr/lib/oabi/libmenu_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libmenu_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libmenu_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libmenu_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libmj.a comp-c-lib compat,crypto +./usr/lib/oabi/libmj.a comp-c-lib compat,crypto +./usr/lib/oabi/libmj.so comp-sys-shlib compat,crypto,pic +./usr/lib/oabi/libmj.so comp-sys-shlib compat,crypto,pic +./usr/lib/oabi/libmj_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libmj_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libmj_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libmj_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libmpc.a comp-c-lib obsolete +./usr/lib/oabi/libmpc.a comp-c-lib obsolete +./usr/lib/oabi/libmpc.so base-sys-shlib obsolete +./usr/lib/oabi/libmpc.so base-sys-shlib obsolete +./usr/lib/oabi/libmpc_p.a comp-c-proflib obsolete +./usr/lib/oabi/libmpc_p.a comp-c-proflib obsolete +./usr/lib/oabi/libmpc_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libmpc_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libmpfr.a comp-c-lib obsolete +./usr/lib/oabi/libmpfr.a comp-c-lib obsolete +./usr/lib/oabi/libmpfr.so base-sys-shlib obsolete +./usr/lib/oabi/libmpfr.so base-sys-shlib obsolete +./usr/lib/oabi/libmpfr_p.a comp-c-proflib obsolete +./usr/lib/oabi/libmpfr_p.a comp-c-proflib obsolete +./usr/lib/oabi/libmpfr_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libmpfr_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libnetpgp.a comp-c-lib compat,crypto +./usr/lib/oabi/libnetpgp.a comp-c-lib compat,crypto +./usr/lib/oabi/libnetpgp.so comp-sys-shlib compat,crypto,pic +./usr/lib/oabi/libnetpgp.so comp-sys-shlib compat,crypto,pic +./usr/lib/oabi/libnetpgp_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libnetpgp_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libnetpgp_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libnetpgp_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libnetpgpverify.a comp-c-lib compat,crypto +./usr/lib/oabi/libnetpgpverify.a comp-c-lib compat,crypto +./usr/lib/oabi/libnetpgpverify.so comp-sys-shlib compat,crypto,pic +./usr/lib/oabi/libnetpgpverify.so comp-sys-shlib compat,crypto,pic +./usr/lib/oabi/libnetpgpverify_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libnetpgpverify_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libnetpgpverify_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libnetpgpverify_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libnpf.a comp-c-lib compat,npf +./usr/lib/oabi/libnpf.a comp-c-lib compat,npf +./usr/lib/oabi/libnpf.so comp-sys-shlib compat,npf,pic +./usr/lib/oabi/libnpf.so comp-sys-shlib compat,npf,pic +./usr/lib/oabi/libnpf_p.a comp-c-proflib compat,npf,profile +./usr/lib/oabi/libnpf_p.a comp-c-proflib compat,npf,profile +./usr/lib/oabi/libnpf_pic.a comp-c-piclib compat,npf,pic +./usr/lib/oabi/libnpf_pic.a comp-c-piclib compat,npf,pic +./usr/lib/oabi/libobjc.a comp-c-lib compat,gcccmds +./usr/lib/oabi/libobjc.a comp-c-lib compat,gcccmds +./usr/lib/oabi/libobjc.so base-sys-shlib compat,pic,gcccmds +./usr/lib/oabi/libobjc.so base-sys-shlib compat,pic,gcccmds +./usr/lib/oabi/libobjc_p.a comp-c-proflib compat,profile,gcccmds +./usr/lib/oabi/libobjc_p.a comp-c-proflib compat,profile,gcccmds +./usr/lib/oabi/libobjc_pic.a comp-c-piclib compat,pic,gcccmds +./usr/lib/oabi/libobjc_pic.a comp-c-piclib compat,pic,gcccmds +./usr/lib/oabi/libopcodes.a comp-obsolete obsolete +./usr/lib/oabi/libopcodes.a comp-obsolete obsolete +./usr/lib/oabi/libopcodes.so base-obsolete obsolete +./usr/lib/oabi/libopcodes.so base-obsolete obsolete +./usr/lib/oabi/libopcodes_p.a comp-obsolete obsolete +./usr/lib/oabi/libopcodes_p.a comp-obsolete obsolete +./usr/lib/oabi/libopcodes_pic.a comp-obsolete obsolete +./usr/lib/oabi/libopcodes_pic.a comp-obsolete obsolete +./usr/lib/oabi/libossaudio.a comp-c-lib compat +./usr/lib/oabi/libossaudio.a comp-c-lib compat +./usr/lib/oabi/libossaudio.so base-sys-shlib compat,pic +./usr/lib/oabi/libossaudio.so base-sys-shlib compat,pic +./usr/lib/oabi/libossaudio_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libossaudio_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libossaudio_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libossaudio_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libp2k.a comp-c-lib compat,rump +./usr/lib/oabi/libp2k.a comp-c-lib compat,rump +./usr/lib/oabi/libp2k.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/libp2k.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/libp2k_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/libp2k_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/libp2k_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/libp2k_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/libpam.a comp-c-lib compat +./usr/lib/oabi/libpam.a comp-c-lib compat +./usr/lib/oabi/libpam.so base-sys-shlib compat,pic +./usr/lib/oabi/libpam.so base-sys-shlib compat,pic +./usr/lib/oabi/libpam_p.a comp-obsolete obsolete +./usr/lib/oabi/libpam_p.a comp-obsolete obsolete +./usr/lib/oabi/libpam_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpam_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpcap.a comp-c-lib compat +./usr/lib/oabi/libpcap.a comp-c-lib compat +./usr/lib/oabi/libpcap.so base-sys-shlib compat,pic +./usr/lib/oabi/libpcap.so base-sys-shlib compat,pic +./usr/lib/oabi/libpcap_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpcap_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpcap_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpcap_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpci.a comp-c-lib compat +./usr/lib/oabi/libpci.a comp-c-lib compat +./usr/lib/oabi/libpci.so base-sys-shlib compat,pic +./usr/lib/oabi/libpci.so base-sys-shlib compat,pic +./usr/lib/oabi/libpci_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpci_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpci_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpci_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libperfuse.a comp-c-lib compat +./usr/lib/oabi/libperfuse.a comp-c-lib compat +./usr/lib/oabi/libperfuse.so base-sys-shlib compat,pic +./usr/lib/oabi/libperfuse.so base-sys-shlib compat,pic +./usr/lib/oabi/libperfuse_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libperfuse_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libperfuse_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libperfuse_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpmc.a comp-c-lib compat +./usr/lib/oabi/libpmc.so base-sys-shlib compat,pic +./usr/lib/oabi/libpmc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpmc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libposix.a comp-c-lib compat +./usr/lib/oabi/libposix.a comp-c-lib compat +./usr/lib/oabi/libposix.so base-sys-shlib compat,pic +./usr/lib/oabi/libposix.so base-sys-shlib compat,pic +./usr/lib/oabi/libposix_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libposix_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libposix_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libposix_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libppath.a comp-c-lib compat +./usr/lib/oabi/libppath.a comp-c-lib compat +./usr/lib/oabi/libppath.so base-sys-shlib compat,pic +./usr/lib/oabi/libppath.so base-sys-shlib compat,pic +./usr/lib/oabi/libppath_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libppath_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libppath_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libppath_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libprop.a comp-c-lib compat +./usr/lib/oabi/libprop.a comp-c-lib compat +./usr/lib/oabi/libprop.so base-sys-shlib compat,pic +./usr/lib/oabi/libprop.so base-sys-shlib compat,pic +./usr/lib/oabi/libprop_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libprop_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libprop_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libprop_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpthread.a comp-c-lib compat +./usr/lib/oabi/libpthread.a comp-c-lib compat +./usr/lib/oabi/libpthread.so base-sys-shlib compat,pic +./usr/lib/oabi/libpthread.so base-sys-shlib compat,pic +./usr/lib/oabi/libpthread_dbg.a comp-c-lib compat +./usr/lib/oabi/libpthread_dbg.a comp-c-lib compat +./usr/lib/oabi/libpthread_dbg.so base-sys-shlib compat,pic +./usr/lib/oabi/libpthread_dbg.so base-sys-shlib compat,pic +./usr/lib/oabi/libpthread_dbg_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpthread_dbg_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpthread_dbg_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpthread_dbg_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpthread_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpthread_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpthread_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpthread_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpuffs.a comp-c-lib compat +./usr/lib/oabi/libpuffs.a comp-c-lib compat +./usr/lib/oabi/libpuffs.so base-sys-shlib compat,pic +./usr/lib/oabi/libpuffs.so base-sys-shlib compat,pic +./usr/lib/oabi/libpuffs_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpuffs_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libpuffs_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libpuffs_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libquota.a comp-c-lib compat +./usr/lib/oabi/libquota.a comp-c-lib compat +./usr/lib/oabi/libquota.so base-sys-shlib compat,pic +./usr/lib/oabi/libquota.so base-sys-shlib compat,pic +./usr/lib/oabi/libquota_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libquota_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libquota_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libquota_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libradius.a comp-c-lib compat +./usr/lib/oabi/libradius.a comp-c-lib compat +./usr/lib/oabi/libradius.so base-sys-shlib compat,pic +./usr/lib/oabi/libradius.so base-sys-shlib compat,pic +./usr/lib/oabi/libradius_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libradius_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libradius_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libradius_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librefuse.a comp-c-lib compat +./usr/lib/oabi/librefuse.a comp-c-lib compat +./usr/lib/oabi/librefuse.so base-sys-shlib compat,pic +./usr/lib/oabi/librefuse.so base-sys-shlib compat,pic +./usr/lib/oabi/librefuse_p.a comp-c-proflib compat,profile +./usr/lib/oabi/librefuse_p.a comp-c-proflib compat,profile +./usr/lib/oabi/librefuse_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librefuse_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libresolv.a comp-c-lib compat +./usr/lib/oabi/libresolv.a comp-c-lib compat +./usr/lib/oabi/libresolv.so base-sys-shlib compat,pic +./usr/lib/oabi/libresolv.so base-sys-shlib compat,pic +./usr/lib/oabi/libresolv_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libresolv_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libresolv_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libresolv_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librmt.a comp-c-lib compat +./usr/lib/oabi/librmt.a comp-c-lib compat +./usr/lib/oabi/librmt_p.a comp-obsolete obsolete +./usr/lib/oabi/librmt_p.a comp-obsolete obsolete +./usr/lib/oabi/librmt_pic.a comp-obsolete obsolete +./usr/lib/oabi/librmt_pic.a comp-obsolete obsolete +./usr/lib/oabi/libroken.a comp-c-lib compat,kerberos +./usr/lib/oabi/libroken.a comp-c-lib compat,kerberos +./usr/lib/oabi/libroken.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libroken.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libroken_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libroken_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libroken_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libroken_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/librpcsvc.a comp-c-lib compat +./usr/lib/oabi/librpcsvc.a comp-c-lib compat +./usr/lib/oabi/librpcsvc.so base-sys-shlib compat,pic +./usr/lib/oabi/librpcsvc.so base-sys-shlib compat,pic +./usr/lib/oabi/librpcsvc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/librpcsvc_p.a comp-c-proflib compat,profile +./usr/lib/oabi/librpcsvc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librpcsvc_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librt.a comp-c-lib compat +./usr/lib/oabi/librt.a comp-c-lib compat +./usr/lib/oabi/librt.so base-sys-shlib compat,pic +./usr/lib/oabi/librt.so base-sys-shlib compat,pic +./usr/lib/oabi/librt_p.a comp-c-proflib compat,profile +./usr/lib/oabi/librt_p.a comp-c-proflib compat,profile +./usr/lib/oabi/librt_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librt_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/librump.a comp-c-lib compat,rump +./usr/lib/oabi/librump.a comp-c-lib compat,rump +./usr/lib/oabi/librump.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librump.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librump_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librump_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librump_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librump_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpclient.a comp-c-lib compat,rump +./usr/lib/oabi/librumpclient.a comp-c-lib compat,rump +./usr/lib/oabi/librumpclient.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpclient.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpclient_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpclient_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpclient_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpclient_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpcrypto.a comp-obsolete obsolete +./usr/lib/oabi/librumpcrypto.a comp-obsolete obsolete +./usr/lib/oabi/librumpcrypto.so base-obsolete obsolete +./usr/lib/oabi/librumpcrypto.so base-obsolete obsolete +./usr/lib/oabi/librumpcrypto_p.a comp-obsolete obsolete +./usr/lib/oabi/librumpcrypto_p.a comp-obsolete obsolete +./usr/lib/oabi/librumpcrypto_pic.a comp-obsolete obsolete +./usr/lib/oabi/librumpcrypto_pic.a comp-obsolete obsolete +./usr/lib/oabi/librumpdev.a comp-c-lib compat,rump +./usr/lib/oabi/librumpdev.a comp-c-lib compat,rump +./usr/lib/oabi/librumpdev.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpdev.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpdev_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpdev_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpdev_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpdev_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumphijack.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumphijack.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumphijack_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumphijack_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpnet.a comp-c-lib compat,rump +./usr/lib/oabi/librumpnet.a comp-c-lib compat,rump +./usr/lib/oabi/librumpnet.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpnet.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpnet_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpnet_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpnet_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpnet_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpuser.a comp-c-lib compat,rump +./usr/lib/oabi/librumpuser.a comp-c-lib compat,rump +./usr/lib/oabi/librumpuser.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpuser.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpuser_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpuser_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpuser_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpuser_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpvfs.a comp-c-lib compat,rump +./usr/lib/oabi/librumpvfs.a comp-c-lib compat,rump +./usr/lib/oabi/librumpvfs.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpvfs.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/librumpvfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpvfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/librumpvfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/librumpvfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/libsaslc.a comp-c-lib compat,crypto +./usr/lib/oabi/libsaslc.a comp-c-lib compat,crypto +./usr/lib/oabi/libsaslc.so base-sys-shlib compat,pic,crypto +./usr/lib/oabi/libsaslc.so base-sys-shlib compat,pic,crypto +./usr/lib/oabi/libsaslc_p.a comp-c-proflib compat,profile,crypto +./usr/lib/oabi/libsaslc_p.a comp-c-proflib compat,profile,crypto +./usr/lib/oabi/libsaslc_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/oabi/libsaslc_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/oabi/libsdp.a comp-obsolete obsolete +./usr/lib/oabi/libsdp.a comp-obsolete obsolete +./usr/lib/oabi/libsdp.so base-obsolete obsolete +./usr/lib/oabi/libsdp.so base-obsolete obsolete +./usr/lib/oabi/libsdp_p.a comp-obsolete obsolete +./usr/lib/oabi/libsdp_p.a comp-obsolete obsolete +./usr/lib/oabi/libsdp_pic.a comp-obsolete obsolete +./usr/lib/oabi/libsdp_pic.a comp-obsolete obsolete +./usr/lib/oabi/libskey.a comp-c-lib compat,skey +./usr/lib/oabi/libskey.a comp-c-lib compat,skey +./usr/lib/oabi/libskey.so base-sys-shlib compat,pic,skey +./usr/lib/oabi/libskey.so base-sys-shlib compat,pic,skey +./usr/lib/oabi/libskey_p.a comp-c-proflib compat,profile,skey +./usr/lib/oabi/libskey_p.a comp-c-proflib compat,profile,skey +./usr/lib/oabi/libskey_pic.a comp-c-piclib compat,pic,skey +./usr/lib/oabi/libskey_pic.a comp-c-piclib compat,pic,skey +./usr/lib/oabi/libsl.a comp-c-lib compat,kerberos +./usr/lib/oabi/libsl.a comp-c-lib compat,kerberos +./usr/lib/oabi/libsl.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libsl.so base-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libsl_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libsl_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libsl_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libsl_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libsqlite3.a comp-c-lib compat +./usr/lib/oabi/libsqlite3.a comp-c-lib compat +./usr/lib/oabi/libsqlite3.so base-sys-shlib compat,pic +./usr/lib/oabi/libsqlite3.so base-sys-shlib compat,pic +./usr/lib/oabi/libsqlite3_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libsqlite3_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libsqlite3_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libsqlite3_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libss.a comp-c-lib obsolete +./usr/lib/oabi/libss.a comp-c-lib obsolete +./usr/lib/oabi/libss.so base-sys-shlib obsolete +./usr/lib/oabi/libss.so base-sys-shlib obsolete +./usr/lib/oabi/libss_p.a comp-c-proflib obsolete +./usr/lib/oabi/libss_p.a comp-c-proflib obsolete +./usr/lib/oabi/libss_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libss_pic.a comp-c-piclib obsolete +./usr/lib/oabi/libssh.a comp-c-lib compat,crypto +./usr/lib/oabi/libssh.a comp-c-lib compat,crypto +./usr/lib/oabi/libssh.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libssh.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libssh_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libssh_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libssh_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libssh_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libssl.a comp-c-lib compat,crypto +./usr/lib/oabi/libssl.a comp-c-lib compat,crypto +./usr/lib/oabi/libssl.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libssl.so base-sys-shlib compat,crypto,pic +./usr/lib/oabi/libssl_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libssl_p.a comp-c-proflib compat,crypto,profile +./usr/lib/oabi/libssl_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libssl_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/oabi/libstdc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libsupc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libsupc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/oabi/libsupc++.so base-obsolete obsolete +./usr/lib/oabi/libsupc++.so base-obsolete obsolete +./usr/lib/oabi/libsupc++_pic.a comp-obsolete obsolete +./usr/lib/oabi/libsupc++_pic.a comp-obsolete obsolete +./usr/lib/oabi/libtermcap.a comp-c-lib compat +./usr/lib/oabi/libtermcap.a comp-c-lib compat +./usr/lib/oabi/libtermcap.so base-sys-shlib compat,pic +./usr/lib/oabi/libtermcap.so base-sys-shlib compat,pic +./usr/lib/oabi/libtermcap_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libtermcap_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libtermcap_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libtermcap_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libterminfo.a comp-c-lib compat +./usr/lib/oabi/libterminfo.a comp-c-lib compat +./usr/lib/oabi/libterminfo.so base-sys-shlib compat,pic +./usr/lib/oabi/libterminfo.so base-sys-shlib compat,pic +./usr/lib/oabi/libterminfo_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libterminfo_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libterminfo_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libterminfo_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libtermlib.a comp-c-lib compat +./usr/lib/oabi/libtermlib.a comp-c-lib compat +./usr/lib/oabi/libtermlib.so base-sys-shlib compat,pic +./usr/lib/oabi/libtermlib.so base-sys-shlib compat,pic +./usr/lib/oabi/libtermlib_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libtermlib_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libtermlib_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libtermlib_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libtre.a comp-c-lib compat +./usr/lib/oabi/libtre.a comp-c-lib compat +./usr/lib/oabi/libtre.so base-sys-shlib compat,pic +./usr/lib/oabi/libtre.so base-sys-shlib compat,pic +./usr/lib/oabi/libtre_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libtre_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libtre_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libtre_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libukfs.a comp-c-lib compat,rump +./usr/lib/oabi/libukfs.a comp-c-lib compat,rump +./usr/lib/oabi/libukfs.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/libukfs.so base-sys-shlib compat,pic,rump +./usr/lib/oabi/libukfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/libukfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/oabi/libukfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/libukfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/oabi/libusbhid.a comp-c-lib compat +./usr/lib/oabi/libusbhid.a comp-c-lib compat +./usr/lib/oabi/libusbhid.so base-sys-shlib compat,pic +./usr/lib/oabi/libusbhid.so base-sys-shlib compat,pic +./usr/lib/oabi/libusbhid_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libusbhid_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libusbhid_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libusbhid_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libutil.a comp-c-lib compat +./usr/lib/oabi/libutil.a comp-c-lib compat +./usr/lib/oabi/libutil.so base-sys-shlib compat,pic +./usr/lib/oabi/libutil.so base-sys-shlib compat,pic +./usr/lib/oabi/libutil_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libutil_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libutil_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libutil_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libvers.a comp-obsolete obsolete +./usr/lib/oabi/libvers.a comp-obsolete obsolete +./usr/lib/oabi/libvers_p.a comp-obsolete obsolete +./usr/lib/oabi/libvers_p.a comp-obsolete obsolete +./usr/lib/oabi/libvers_pic.a comp-obsolete obsolete +./usr/lib/oabi/libvers_pic.a comp-obsolete obsolete +./usr/lib/oabi/libwind.a comp-c-lib compat,kerberos +./usr/lib/oabi/libwind.a comp-c-lib compat,kerberos +./usr/lib/oabi/libwind.so comp-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libwind.so comp-sys-shlib compat,pic,kerberos +./usr/lib/oabi/libwind_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libwind_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/oabi/libwind_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libwind_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/oabi/libwrap.a comp-c-lib compat +./usr/lib/oabi/libwrap.a comp-c-lib compat +./usr/lib/oabi/libwrap.so base-sys-shlib compat,pic +./usr/lib/oabi/libwrap.so base-sys-shlib compat,pic +./usr/lib/oabi/libwrap_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libwrap_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libwrap_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libwrap_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/liby.a comp-c-lib compat +./usr/lib/oabi/liby.a comp-c-lib compat +./usr/lib/oabi/liby_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liby_p.a comp-c-proflib compat,profile +./usr/lib/oabi/liby_pic.a comp-obsolete obsolete +./usr/lib/oabi/liby_pic.a comp-obsolete obsolete +./usr/lib/oabi/libz.a comp-c-lib compat +./usr/lib/oabi/libz.a comp-c-lib compat +./usr/lib/oabi/libz.so base-sys-shlib compat,pic +./usr/lib/oabi/libz.so base-sys-shlib compat,pic +./usr/lib/oabi/libz_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libz_p.a comp-c-proflib compat,profile +./usr/lib/oabi/libz_pic.a comp-c-piclib compat,pic +./usr/lib/oabi/libz_pic.a comp-c-piclib compat,pic ./usr/libdata/lint/llib-larm.ln comp-c-lintlib lint ./usr/libdata/lint/llib-larm32.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lpmc.ln comp-c-lintlib lint diff --git a/distrib/sets/lists/comp/ad.arm.shl b/distrib/sets/lists/comp/ad.arm.shl new file mode 100644 index 000000000..e26398f26 --- /dev/null +++ b/distrib/sets/lists/comp/ad.arm.shl @@ -0,0 +1,5 @@ +# $NetBSD: ad.arm.shl,v 1.4 2013/02/05 07:31:50 matt Exp $ +./usr/lib/libarm32_pic.a comp-obsolete obsolete +./usr/lib/libarm_pic.a comp-c-piclib +./usr/lib/libc_vfp_pic.a comp-c-piclib softfloat +./usr/lib/libpmc_pic.a comp-c-piclib diff --git a/distrib/sets/lists/comp/ad.armeb b/distrib/sets/lists/comp/ad.armeb deleted file mode 100644 index 44fc98051..000000000 --- a/distrib/sets/lists/comp/ad.armeb +++ /dev/null @@ -1,108 +0,0 @@ -# $NetBSD: ad.armeb,v 1.8 2012/10/14 12:36:58 msaitoh Exp $ -# -# The armeb MACHINE_ARCH never existed in NetBSD as a.out, so we -# skip the old a.out compatibility tools. -# -./usr/include/gcc-4.5/arm_neon.h comp-c-include gcccmds,gcc=45 -./usr/include/gcc-4.5/mmintrin.h comp-c-include gcccmds,gcc=45 -./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 -./usr/include/arm comp-c-include -./usr/include/arm/aeabi.h comp-c-include -./usr/include/arm/ansi.h comp-c-include -./usr/include/arm/aout_machdep.h comp-c-include -./usr/include/arm/arm26 comp-c-include -./usr/include/arm/arm26/types.h comp-c-include -./usr/include/arm/arm32 comp-c-include -./usr/include/arm/arm32/bus.h comp-obsolete obsolete -./usr/include/arm/arm32/frame.h comp-c-include -./usr/include/arm/arm32/katelib.h comp-c-include -./usr/include/arm/arm32/param.h comp-c-include -./usr/include/arm/arm32/pmap.h comp-c-include -./usr/include/arm/arm32/psl.h comp-c-include -./usr/include/arm/arm32/pte.h comp-c-include -./usr/include/arm/arm32/rtc.h comp-c-include -./usr/include/arm/arm32/sysarch.h comp-obsolete obsolete -./usr/include/arm/arm32/types.h comp-c-include -./usr/include/arm/arm32/vmparam.h comp-c-include -./usr/include/arm/armreg.h comp-c-include -./usr/include/arm/asm.h comp-c-include -./usr/include/arm/atomic.h comp-c-include -./usr/include/arm/bswap.h comp-c-include -./usr/include/arm/bus.h comp-obsolete obsolete -./usr/include/arm/byte_swap.h comp-c-include -./usr/include/arm/cdefs.h comp-c-include -./usr/include/arm/cpu.h comp-c-include -./usr/include/arm/cpuconf.h comp-c-include -./usr/include/arm/db_machdep.h comp-obsolete obsolete -./usr/include/arm/disklabel.h comp-c-include -./usr/include/arm/disklabel_acorn.h comp-obsolete obsolete -./usr/include/arm/elf_machdep.h comp-c-include -./usr/include/arm/endian.h comp-c-include -./usr/include/arm/endian_machdep.h comp-c-include -./usr/include/arm/float.h comp-c-include -./usr/include/arm/footbridge comp-c-include -./usr/include/arm/footbridge/footbridge_intr.h comp-c-include -./usr/include/arm/fp.h comp-c-include -./usr/include/arm/frame.h comp-c-include -./usr/include/arm/ieee.h comp-c-include -./usr/include/arm/ieeefp.h comp-c-include -./usr/include/arm/int_const.h comp-c-include -./usr/include/arm/int_fmtio.h comp-c-include -./usr/include/arm/int_limits.h comp-c-include -./usr/include/arm/int_mwgwtypes.h comp-c-include -./usr/include/arm/int_types.h comp-c-include -./usr/include/arm/iomd comp-obsolete obsolete -./usr/include/arm/iomd/vidc.h comp-obsolete obsolete -./usr/include/arm/ipkdb.h comp-obsolete obsolete -./usr/include/arm/kcore.h comp-c-include -./usr/include/arm/limits.h comp-c-include -./usr/include/arm/lock.h comp-c-include -./usr/include/arm/math.h comp-c-include -./usr/include/arm/mcontext.h comp-c-include -./usr/include/arm/mutex.h comp-c-include -./usr/include/arm/param.h comp-c-include -./usr/include/arm/pcb.h comp-c-include -./usr/include/arm/pmc.h comp-c-include -./usr/include/arm/proc.h comp-c-include -./usr/include/arm/profile.h comp-c-include -./usr/include/arm/ptrace.h comp-c-include -./usr/include/arm/reg.h comp-c-include -./usr/include/arm/rwlock.h comp-c-include -./usr/include/arm/setjmp.h comp-c-include -./usr/include/arm/signal.h comp-c-include -./usr/include/arm/stdarg.h comp-obsolete obsolete -./usr/include/arm/swi.h comp-c-include -./usr/include/arm/sysarch.h comp-c-include -./usr/include/arm/trap.h comp-c-include -./usr/include/arm/types.h comp-c-include -./usr/include/arm/vfpreg.h comp-c-include -./usr/include/arm/varargs.h comp-obsolete obsolete -./usr/include/arm/wchar_limits.h comp-c-include -./usr/include/arm32/bootconfig.h comp-obsolete obsolete -./usr/include/arm32/cpufunc.h comp-obsolete obsolete -./usr/include/arm32/cpus.h comp-obsolete obsolete -./usr/include/arm32/disklabel_acorn.h comp-obsolete obsolete -./usr/include/arm32/irqhandler.h comp-obsolete obsolete -./usr/include/arm32/katelib.h comp-obsolete obsolete -./usr/include/arm32/psl.h comp-obsolete obsolete -./usr/include/arm32/pte.h comp-obsolete obsolete -./usr/include/arm32/undefined.h comp-obsolete obsolete -./usr/include/ieeefp.h comp-c-include -./usr/include/pmc.h comp-c-include -./usr/lib/libarm.a comp-c-lib -./usr/lib/libarm_g.a -unknown- debuglib -./usr/lib/libarm32.a comp-obsolete obsolete -./usr/lib/libarm32_p.a comp-obsolete obsolete -./usr/lib/libarm32_pic.a comp-obsolete obsolete -./usr/lib/libarm_p.a comp-c-lib profile -./usr/lib/libarm_pic.a comp-c-piclib -./usr/lib/libpmc.a comp-c-lib -./usr/lib/libpmc_g.a -unknown- debuglib -./usr/lib/libpmc_p.a comp-c-proflib profile -./usr/lib/libpmc_pic.a comp-c-piclib -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/libarm.so.0.0.debug comp-sys-debug debug,pic -./usr/libdata/debug/usr/lib/libpmc.so.1.0.debug comp-sys-debug debug,pic -./usr/libdata/lint/llib-larm.ln comp-c-lintlib lint -./usr/libdata/lint/llib-larm32.ln comp-obsolete obsolete -./usr/libdata/lint/llib-lpmc.ln comp-c-lintlib lint diff --git a/distrib/sets/lists/comp/ad.hppa b/distrib/sets/lists/comp/ad.hppa index 283700736..b97be7955 100644 --- a/distrib/sets/lists/comp/ad.hppa +++ b/distrib/sets/lists/comp/ad.hppa @@ -1,5 +1,6 @@ -# $NetBSD: ad.hppa,v 1.6 2011/08/07 01:49:12 mrg Exp $ +# $NetBSD: ad.hppa,v 1.7 2013/11/01 07:48:31 mrg Exp $ ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 ./usr/include/hppa comp-c-include ./usr/include/hppa/ansi.h comp-c-include ./usr/include/hppa/aout_machdep.h comp-c-include diff --git a/distrib/sets/lists/comp/ad.m68k b/distrib/sets/lists/comp/ad.m68k index 1e12a2f6b..be057c84f 100644 --- a/distrib/sets/lists/comp/ad.m68k +++ b/distrib/sets/lists/comp/ad.m68k @@ -1,7 +1,9 @@ -# $NetBSD: ad.m68k,v 1.45 2011/07/17 20:54:30 joerg Exp $ +# $NetBSD: ad.m68k,v 1.49 2013/11/01 07:48:31 mrg Exp $ ./usr/bin/elf2aout comp-sysutil-bin -./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/math-68881.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/math-68881.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 ./usr/include/m68k comp-c-include ./usr/include/m68k/ansi.h comp-c-include ./usr/include/m68k/aout_machdep.h comp-c-include @@ -23,6 +25,7 @@ ./usr/include/m68k/endian.h comp-c-include ./usr/include/m68k/endian_machdep.h comp-c-include ./usr/include/m68k/float.h comp-c-include +./usr/include/m68k/fpreg.h comp-c-include ./usr/include/m68k/frame.h comp-c-include ./usr/include/m68k/ieee.h comp-c-include ./usr/include/m68k/ieeefp.h comp-c-include @@ -61,6 +64,3 @@ ./usr/include/m68k/wchar_limits.h comp-c-include ./usr/lib/libm68k.a comp-c-lib ./usr/lib/libm68k_p.a comp-c-lib profile -./usr/lib/libm68k_g.a -unknown- debuglib -./usr/libdata/debug/usr/bin/elf2aout.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug diff --git a/distrib/sets/lists/comp/ad.m68k.shl b/distrib/sets/lists/comp/ad.m68k.shl index a032cafcb..641ae71ac 100644 --- a/distrib/sets/lists/comp/ad.m68k.shl +++ b/distrib/sets/lists/comp/ad.m68k.shl @@ -1,4 +1,2 @@ -# $NetBSD: ad.m68k.shl,v 1.8 2010/05/09 11:58:15 lukem Exp $ +# $NetBSD: ad.m68k.shl,v 1.9 2013/01/16 16:01:05 christos Exp $ ./usr/lib/libm68k_pic.a comp-c-piclib -./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/lib/libm68k.so.0.0.debug comp-sys-debug debug diff --git a/distrib/sets/lists/comp/ad.mips b/distrib/sets/lists/comp/ad.mips index ab74c9f05..cad0b1054 100644 --- a/distrib/sets/lists/comp/ad.mips +++ b/distrib/sets/lists/comp/ad.mips @@ -1,8 +1,13 @@ -# $NetBSD: ad.mips,v 1.38 2011/07/17 20:54:30 joerg Exp $ +# $NetBSD: ad.mips,v 1.44 2013/11/12 19:06:06 mrg Exp $ ./usr/bin/elf2aout comp-obsolete obsolete ./usr/bin/elf2ecoff comp-sysutil-bin +./usr/include/g++/bits/mips32 comp-c-include arch64 +./usr/include/g++/bits/mips64 comp-c-include arch64 +./usr/include/g++/bits/mipso32 comp-c-include arch64 ./usr/include/gcc-4.5/loongson.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/loongson.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 ./usr/include/mips comp-c-include ./usr/include/mips/ansi.h comp-c-include ./usr/include/mips/aout_machdep.h comp-obsolete obsolete @@ -54,6 +59,7 @@ ./usr/include/mips/rwlock.h comp-c-include ./usr/include/mips/setjmp.h comp-c-include ./usr/include/mips/signal.h comp-c-include +./usr/include/mips/sljitarch.h comp-c-include ./usr/include/mips/stdarg.h comp-obsolete obsolete ./usr/include/mips/sysarch.h comp-c-include ./usr/include/mips/trap.h comp-c-include @@ -61,5 +67,1287 @@ ./usr/include/mips/varargs.h comp-obsolete obsolete ./usr/include/mips/vmparam.h comp-c-include ./usr/include/mips/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/bin/elf2aout.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/elf2ecoff.debug comp-sysutil-debug debug +./usr/lib/64/crt0.o comp-c-lib compat +./usr/lib/64/crtbegin.o comp-c-lib compat +./usr/lib/64/crtbeginS.o comp-c-lib compat,pic +./usr/lib/64/crtbeginT.o comp-c-lib compat,pic +./usr/lib/64/crtend.o comp-c-lib compat +./usr/lib/64/crtendS.o comp-c-lib compat,pic +./usr/lib/64/crti.o comp-c-lib compat +./usr/lib/64/crtn.o comp-c-lib compat +./usr/lib/64/gcrt0.o comp-c-lib compat +./usr/lib/64/i18n/libBIG5.a comp-c-lib compat +./usr/lib/64/i18n/libBIG5.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libBIG5_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libBIG5_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libDECHanyu.a comp-c-lib compat +./usr/lib/64/i18n/libDECHanyu.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libDECHanyu_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libDECHanyu_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libEUC.a comp-c-lib compat +./usr/lib/64/i18n/libEUC.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libEUCTW.a comp-c-lib compat +./usr/lib/64/i18n/libEUCTW.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libEUCTW_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libEUCTW_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libEUC_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libEUC_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libGBK2K.a comp-c-lib compat +./usr/lib/64/i18n/libGBK2K.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libGBK2K_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libGBK2K_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libHZ.a comp-c-lib compat +./usr/lib/64/i18n/libHZ.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libHZ_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libHZ_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libISO2022.a comp-c-lib compat +./usr/lib/64/i18n/libISO2022.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libISO2022_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libISO2022_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libJOHAB.a comp-c-lib compat +./usr/lib/64/i18n/libJOHAB.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libJOHAB_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libJOHAB_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libMSKanji.a comp-c-lib compat +./usr/lib/64/i18n/libMSKanji.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libMSKanji_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libMSKanji_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libUES.a comp-c-lib compat +./usr/lib/64/i18n/libUES.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libUES_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libUES_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libUTF1632.a comp-c-lib compat +./usr/lib/64/i18n/libUTF1632.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libUTF1632_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libUTF1632_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libUTF7.a comp-c-lib compat +./usr/lib/64/i18n/libUTF7.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libUTF7_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libUTF7_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libUTF8.a comp-c-lib compat +./usr/lib/64/i18n/libUTF8.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libUTF8_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libUTF8_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libVIQR.a comp-c-lib compat +./usr/lib/64/i18n/libVIQR.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libVIQR_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libVIQR_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libZW.a comp-c-lib compat +./usr/lib/64/i18n/libZW.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libZW_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libZW_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libiconv_none.a comp-c-lib compat +./usr/lib/64/i18n/libiconv_none.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libiconv_none_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libiconv_none_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libiconv_std.a comp-c-lib compat +./usr/lib/64/i18n/libiconv_std.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libiconv_std_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libiconv_std_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_646.a comp-c-lib compat +./usr/lib/64/i18n/libmapper_646.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libmapper_646_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_646_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_none.a comp-c-lib compat +./usr/lib/64/i18n/libmapper_none.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libmapper_none_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_none_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_parallel.a comp-c-lib compat +./usr/lib/64/i18n/libmapper_parallel.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libmapper_parallel_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_parallel_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_serial.a comp-c-lib compat +./usr/lib/64/i18n/libmapper_serial.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libmapper_serial_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_serial_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_std.a comp-c-lib compat +./usr/lib/64/i18n/libmapper_std.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libmapper_std_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_std_pic.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_zone.a comp-c-lib compat +./usr/lib/64/i18n/libmapper_zone.so base-sys-shlib compat,pic +./usr/lib/64/i18n/libmapper_zone_p.a comp-obsolete obsolete +./usr/lib/64/i18n/libmapper_zone_pic.a comp-obsolete obsolete +./usr/lib/64/libarchive.a comp-c-lib compat +./usr/lib/64/libarchive.so base-sys-shlib compat,pic +./usr/lib/64/libarchive_p.a comp-c-proflib compat,profile +./usr/lib/64/libarchive_pic.a comp-c-piclib compat,pic +./usr/lib/64/libasn1.a comp-c-lib compat,kerberos +./usr/lib/64/libasn1.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libasn1_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libasn1_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libatf-c++.a comp-c-lib compat,atf +./usr/lib/64/libatf-c++.so base-sys-lib compat,pic,atf +./usr/lib/64/libatf-c++_p.a comp-c-proflib compat,profile,atf +./usr/lib/64/libatf-c++_pic.a comp-c-piclib compat,pic,atf +./usr/lib/64/libatf-c.a comp-c-lib compat,atf +./usr/lib/64/libatf-c.so base-sys-lib compat,pic,atf +./usr/lib/64/libatf-c_p.a comp-c-proflib compat,profile,atf +./usr/lib/64/libatf-c_pic.a comp-c-piclib compat,pic,atf +./usr/lib/64/libbfd.a comp-obsolete obsolete +./usr/lib/64/libbfd.so base-obsolete obsolete +./usr/lib/64/libbfd_p.a comp-obsolete obsolete +./usr/lib/64/libbfd_pic.a comp-obsolete obsolete +./usr/lib/64/libbind9.a comp-c-lib compat +./usr/lib/64/libbind9.so base-sys-shlib compat,pic +./usr/lib/64/libbind9_p.a comp-c-proflib compat,profile +./usr/lib/64/libbind9_pic.a comp-c-piclib compat,pic +./usr/lib/64/libbluetooth.a comp-c-lib compat +./usr/lib/64/libbluetooth.so base-sys-shlib compat,pic +./usr/lib/64/libbluetooth_p.a comp-c-proflib compat,profile +./usr/lib/64/libbluetooth_pic.a comp-c-piclib compat,pic +./usr/lib/64/libbsdmalloc.a comp-c-lib compat +./usr/lib/64/libbsdmalloc.so base-sys-shlib compat,pic +./usr/lib/64/libbsdmalloc_p.a comp-c-proflib compat,profile +./usr/lib/64/libbsdmalloc_pic.a comp-c-piclib compat,pic +./usr/lib/64/libbz2.a comp-c-lib compat +./usr/lib/64/libbz2.so base-sys-shlib compat,pic +./usr/lib/64/libbz2_p.a comp-c-proflib compat,profile +./usr/lib/64/libbz2_pic.a comp-c-piclib compat,pic +./usr/lib/64/libc++.a comp-c-lib compat,libcxx +./usr/lib/64/libc++.so comp-sys-shlib compat,pic,libcxx +./usr/lib/64/libc++_p.a comp-c-proflib compat,profile,libcxx +./usr/lib/64/libc++_pic.a comp-c-piclib compat,pic,libcxx +./usr/lib/64/libc.a comp-c-lib compat +./usr/lib/64/libc.so base-sys-shlib compat,pic +./usr/lib/64/libc_p.a comp-c-proflib compat,profile +./usr/lib/64/libc_pic.a comp-c-piclib compat,pic +./usr/lib/64/libcom_err.a comp-c-lib compat,kerberos +./usr/lib/64/libcom_err.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libcom_err_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libcom_err_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libcompat.a comp-c-lib compat +./usr/lib/64/libcompat_p.a comp-c-proflib compat,profile +./usr/lib/64/libcompat_pic.a comp-c-piclib compat,pic +./usr/lib/64/libcrypt.a comp-c-lib compat +./usr/lib/64/libcrypt.so base-sys-shlib compat,pic +./usr/lib/64/libcrypt_p.a comp-c-proflib compat,profile +./usr/lib/64/libcrypt_pic.a comp-c-piclib compat,pic +./usr/lib/64/libcrypto.a comp-c-lib compat,crypto +./usr/lib/64/libcrypto.so base-sys-shlib compat,crypto,pic +./usr/lib/64/libcrypto_idea.a comp-obsolete obsolete +./usr/lib/64/libcrypto_idea.so base-obsolete obsolete +./usr/lib/64/libcrypto_idea_p.a comp-obsolete obsolete +./usr/lib/64/libcrypto_idea_pic.a comp-obsolete obsolete +./usr/lib/64/libcrypto_mdc2.a comp-obsolete obsolete +./usr/lib/64/libcrypto_mdc2.so base-obsolete obsolete +./usr/lib/64/libcrypto_mdc2_p.a comp-obsolete obsolete +./usr/lib/64/libcrypto_mdc2_pic.a comp-obsolete obsolete +./usr/lib/64/libcrypto_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libcrypto_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libcrypto_rc5.a comp-c-lib crypto_rc5,compat +./usr/lib/64/libcrypto_rc5.so base-sys-shlib compat,crypto,crypto_rc5,pic +./usr/lib/64/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile +./usr/lib/64/libcrypto_rc5_pic.a comp-c-piclib compat,crypto,crypto_rc5,pic +./usr/lib/64/libcurses.a comp-c-lib compat +./usr/lib/64/libcurses.so base-sys-shlib compat,pic +./usr/lib/64/libcurses_p.a comp-c-proflib compat,profile +./usr/lib/64/libcurses_pic.a comp-c-piclib compat,pic +./usr/lib/64/libdes.a comp-c-lib compat,crypto +./usr/lib/64/libdes.so base-sys-shlib compat,crypto,pic +./usr/lib/64/libdes_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libdes_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libdevmapper.a comp-lvm-lib compat,lvm +./usr/lib/64/libdevmapper.so base-lvm-shlib compat,lvm,pic +./usr/lib/64/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm +./usr/lib/64/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm +./usr/lib/64/libdm.a comp-c-lib compat +./usr/lib/64/libdm.so base-sys-shlib compat,pic +./usr/lib/64/libdm_p.a comp-c-proflib compat,profile +./usr/lib/64/libdm_pic.a comp-c-piclib compat,pic +./usr/lib/64/libdns.a comp-c-lib compat +./usr/lib/64/libdns.so base-sys-shlib compat,pic +./usr/lib/64/libdns_p.a comp-c-proflib compat,profile +./usr/lib/64/libdns_pic.a comp-c-piclib compat,pic +./usr/lib/64/libdns_sd.a comp-c-lib compat,mdns +./usr/lib/64/libdns_sd.so base-mdns-shlib compat,pic,mdns +./usr/lib/64/libdns_sd_p.a comp-c-proflib compat,profile,mdns +./usr/lib/64/libdns_sd_pic.a comp-c-piclib compat,pic,mdns +./usr/lib/64/libdwarf.a comp-c-lib compat +./usr/lib/64/libdwarf.so base-sys-shlib compat,pic +./usr/lib/64/libdwarf_p.a comp-c-proflib compat,profile +./usr/lib/64/libdwarf_pic.a comp-c-piclib compat,pic +./usr/lib/64/libedit.a comp-c-lib compat +./usr/lib/64/libedit.so base-sys-shlib compat,pic +./usr/lib/64/libedit_p.a comp-c-proflib compat,profile +./usr/lib/64/libedit_pic.a comp-c-piclib compat,pic +./usr/lib/64/libelf.a comp-c-lib compat +./usr/lib/64/libelf.so base-sys-shlib compat,pic +./usr/lib/64/libelf_p.a comp-c-proflib compat,profile +./usr/lib/64/libelf_pic.a comp-c-piclib compat,pic +./usr/lib/64/libevent.a comp-c-lib compat +./usr/lib/64/libevent.so base-sys-shlib compat,pic +./usr/lib/64/libevent_openssl.a comp-c-lib compat,crypto +./usr/lib/64/libevent_openssl.so base-sys-shlib compat,pic,crypto +./usr/lib/64/libevent_openssl_p.a comp-c-proflib compat,profile,crypto +./usr/lib/64/libevent_openssl_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/64/libevent_p.a comp-c-proflib compat,profile +./usr/lib/64/libevent_pic.a comp-c-piclib compat,pic +./usr/lib/64/libevent_pthreads.a comp-c-lib compat +./usr/lib/64/libevent_pthreads.so base-sys-shlib compat,pic +./usr/lib/64/libevent_pthreads_p.a comp-c-proflib compat,profile +./usr/lib/64/libevent_pthreads_pic.a comp-c-piclib compat,pic +./usr/lib/64/libexecinfo.a comp-c-lib compat +./usr/lib/64/libexecinfo.so base-sys-shlib compat,pic +./usr/lib/64/libexecinfo_p.a comp-c-proflib compat,profile +./usr/lib/64/libexecinfo_pic.a comp-c-piclib compat,pic +./usr/lib/64/libexpat.a comp-c-lib compat +./usr/lib/64/libexpat.so base-sys-shlib compat,pic +./usr/lib/64/libexpat_p.a comp-c-proflib compat,profile +./usr/lib/64/libexpat_pic.a comp-c-piclib compat,pic +./usr/lib/64/libfetch.a comp-c-lib compat +./usr/lib/64/libfetch.so base-sys-shlib compat,pic +./usr/lib/64/libfetch_p.a comp-c-proflib compat,profile +./usr/lib/64/libfetch_pic.a comp-c-piclib compat,pic +./usr/lib/64/libfl.a comp-c-lib compat +./usr/lib/64/libfl_p.a comp-c-proflib compat,profile +./usr/lib/64/libform.a comp-c-lib compat +./usr/lib/64/libform.so base-sys-shlib compat,pic +./usr/lib/64/libform_p.a comp-c-proflib compat,profile +./usr/lib/64/libform_pic.a comp-c-piclib compat,pic +./usr/lib/64/libgcc.a comp-c-lib compat,gcccmds +./usr/lib/64/libgcc_eh.a comp-c-lib compat,pic,gcccmds +./usr/lib/64/libgcc_eh_p.a comp-c-proflib obsolete +./usr/lib/64/libgcc_eh_pic.a comp-c-piclib obsolete +./usr/lib/64/libgcc_p.a comp-c-proflib obsolete +./usr/lib/64/libgcc_pic.a comp-c-piclib obsolete +./usr/lib/64/libgcc_s.a comp-obsolete obsolete +./usr/lib/64/libgcc_s.so base-sys-shlib compat,pic,gcccmds +./usr/lib/64/libgcc_s_p.a comp-obsolete obsolete +./usr/lib/64/libgcc_s_pic.a comp-obsolete obsolete +./usr/lib/64/libgcov.a comp-c-lib compat,gcccmds +./usr/lib/64/libgcov_p.a comp-obsolete obsolete +./usr/lib/64/libgcov_pic.a comp-obsolete obsolete +./usr/lib/64/libgmp.a comp-c-lib obsolete +./usr/lib/64/libgmp.so base-sys-shlib obsolete +./usr/lib/64/libgmp_p.a comp-c-proflib obsolete +./usr/lib/64/libgmp_pic.a comp-c-piclib obsolete +./usr/lib/64/libgnumalloc.a comp-c-lib compat +./usr/lib/64/libgnumalloc.so base-sys-shlib compat,pic +./usr/lib/64/libgnumalloc_p.a comp-c-proflib compat,profile +./usr/lib/64/libgnumalloc_pic.a comp-c-piclib compat,pic +./usr/lib/64/libgomp.a comp-c-lib compat,gcc=45,notyet +./usr/lib/64/libgomp.so base-sys-shlib compat,pic,gcc=45,notyet +./usr/lib/64/libgomp_p.a comp-c-proflib compat,profile,gcc=45,notyet +./usr/lib/64/libgomp_pic.a comp-c-piclib compat,pic,gcc=45,notyet +./usr/lib/64/libgomp.a comp-c-lib compat,gcc=48,notyet +./usr/lib/64/libgomp.so base-sys-shlib compat,pic,gcc=48,notyet +./usr/lib/64/libgomp_p.a comp-c-proflib compat,profile,gcc=48,notyet +./usr/lib/64/libgomp_pic.a comp-c-piclib compat,pic,gcc=48,notyet +./usr/lib/64/libgssapi.a comp-c-lib compat,kerberos +./usr/lib/64/libgssapi.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libgssapi_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libgssapi_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libhdb.a comp-c-lib compat,kerberos +./usr/lib/64/libhdb.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libhdb_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libhdb_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libheimbase.a comp-c-lib compat,kerberos +./usr/lib/64/libheimbase.so comp-sys-shlib compat,pic,kerberos +./usr/lib/64/libheimbase_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libheimbase_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/64/libheimntlm.a comp-c-lib compat,kerberos +./usr/lib/64/libheimntlm.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libheimntlm_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libhx509.a comp-c-lib compat,kerberos +./usr/lib/64/libhx509.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libhx509_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libhx509_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libiberty.a comp-obsolete obsolete +./usr/lib/64/libiberty_p.a comp-obsolete obsolete +./usr/lib/64/libiberty_pic.a comp-obsolete obsolete +./usr/lib/64/libintl.a comp-c-lib compat +./usr/lib/64/libintl.so base-sys-shlib compat,pic +./usr/lib/64/libintl_p.a comp-c-proflib compat,profile +./usr/lib/64/libintl_pic.a comp-c-piclib compat,pic +./usr/lib/64/libipsec.a comp-c-lib compat +./usr/lib/64/libipsec.so base-sys-shlib compat,pic +./usr/lib/64/libipsec_p.a comp-c-proflib compat,profile +./usr/lib/64/libipsec_pic.a comp-c-piclib compat,pic +./usr/lib/64/libisc.a comp-c-lib compat +./usr/lib/64/libisc.so base-sys-shlib compat,pic +./usr/lib/64/libisc_p.a comp-c-proflib compat,profile +./usr/lib/64/libisc_pic.a comp-c-piclib compat,pic +./usr/lib/64/libisccc.a comp-c-lib compat +./usr/lib/64/libisccc.so base-sys-shlib compat,pic +./usr/lib/64/libisccc_p.a comp-c-proflib compat,profile +./usr/lib/64/libisccc_pic.a comp-c-piclib compat,pic +./usr/lib/64/libisccfg.a comp-c-lib compat +./usr/lib/64/libisccfg.so base-sys-shlib compat,pic +./usr/lib/64/libisccfg_p.a comp-c-proflib compat,profile +./usr/lib/64/libisccfg_pic.a comp-c-piclib compat,pic +./usr/lib/64/libiscsi.a comp-c-lib compat,iscsi +./usr/lib/64/libiscsi.so base-sys-shlib compat,pic,iscsi +./usr/lib/64/libiscsi_p.a comp-c-proflib compat,profile,iscsi +./usr/lib/64/libiscsi_pic.a comp-c-piclib compat,pic,iscsi +./usr/lib/64/libisns.a comp-c-lib compat +./usr/lib/64/libisns.so comp-sys-shlib compat +./usr/lib/64/libisns_p.a comp-c-proflib compat,profile +./usr/lib/64/libisns_pic.a comp-c-piclib compat,pic +./usr/lib/64/libkadm5clnt.a comp-c-lib compat,kerberos +./usr/lib/64/libkadm5clnt.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libkadm5srv.a comp-c-lib compat,kerberos +./usr/lib/64/libkadm5srv.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libkafs.a comp-c-lib compat,kerberos +./usr/lib/64/libkafs.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libkafs_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libkafs_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libkdc.a comp-c-lib compat,kerberos +./usr/lib/64/libkdc.so comp-sys-shlib compat,pic,kerberos +./usr/lib/64/libkdc_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libkdc_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/64/libkrb5.a comp-c-lib compat,kerberos +./usr/lib/64/libkrb5.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libkrb5_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libkrb5_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libkvm.a comp-c-lib compat +./usr/lib/64/libkvm.so base-sys-shlib compat,pic +./usr/lib/64/libkvm_p.a comp-c-proflib compat,profile +./usr/lib/64/libkvm_pic.a comp-c-piclib compat,pic +./usr/lib/64/libl.a comp-c-lib compat +./usr/lib/64/libl_p.a comp-c-proflib compat,profile +./usr/lib/64/libl_pic.a comp-obsolete obsolete +./usr/lib/64/liblber.a comp-c-lib compat,ldap +./usr/lib/64/liblber.so base-sys-shlib compat,pic,ldap +./usr/lib/64/liblber_p.a comp-c-proflib compat,profile,ldap +./usr/lib/64/liblber_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/64/libldap.a comp-c-lib compat,ldap +./usr/lib/64/libldap.so base-sys-shlib compat,pic,ldap +./usr/lib/64/libldap_p.a comp-c-proflib compat,profile,ldap +./usr/lib/64/libldap_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/64/libldap_r.a comp-c-lib compat,ldap +./usr/lib/64/libldap_r.so base-sys-shlib compat,pic,ldap +./usr/lib/64/libldap_r_p.a comp-c-proflib compat,profile,ldap +./usr/lib/64/libldap_r_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/64/liblua.a comp-c-lib compat +./usr/lib/64/liblua.so base-sys-shlib compat,pic +./usr/lib/64/liblua_p.a comp-c-proflib compat,profile +./usr/lib/64/liblua_pic.a comp-c-piclib compat,pic +./usr/lib/64/liblutok.a comp-c-lib compat,kyua +./usr/lib/64/liblutok.so base-sys-shlib compat,pic,kyua +./usr/lib/64/liblutok_p.a comp-c-proflib compat,profile,kyua +./usr/lib/64/liblutok_pic.a comp-c-piclib compat,pic,kyua +./usr/lib/64/liblwres.a comp-c-lib compat +./usr/lib/64/liblwres.so base-sys-shlib compat,pic +./usr/lib/64/liblwres_p.a comp-c-proflib compat,profile +./usr/lib/64/liblwres_pic.a comp-c-piclib compat,pic +./usr/lib/64/liblzf.a comp-c-lib compat +./usr/lib/64/liblzf.so base-sys-shlib compat,pic +./usr/lib/64/liblzf_p.a comp-c-proflib compat,profile +./usr/lib/64/liblzf_pic.a comp-c-piclib compat,pic +./usr/lib/64/liblzma.a comp-c-lib compat +./usr/lib/64/liblzma.so base-sys-shlib compat,pic +./usr/lib/64/liblzma_p.a comp-c-proflib compat,profile +./usr/lib/64/liblzma_pic.a comp-c-piclib compat,pic +./usr/lib/64/libm.a comp-c-lib compat +./usr/lib/64/libm.so base-sys-shlib compat,pic +./usr/lib/64/libm_p.a comp-c-proflib compat,profile +./usr/lib/64/libm_pic.a comp-c-piclib compat,pic +./usr/lib/64/libmagic.a comp-c-lib compat +./usr/lib/64/libmagic.so base-sys-shlib compat,pic +./usr/lib/64/libmagic_p.a comp-c-proflib compat,profile +./usr/lib/64/libmagic_pic.a comp-c-piclib compat,pic +./usr/lib/64/libmenu.a comp-c-lib compat +./usr/lib/64/libmenu.so base-sys-shlib compat,pic +./usr/lib/64/libmenu_p.a comp-c-proflib compat,profile +./usr/lib/64/libmenu_pic.a comp-c-piclib compat,pic +./usr/lib/64/libmj.a comp-c-lib compat,crypto +./usr/lib/64/libmj.so comp-sys-shlib compat,crypto,pic +./usr/lib/64/libmj_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libmj_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libmpc.a comp-c-lib obsolete +./usr/lib/64/libmpc.so base-sys-shlib obsolete +./usr/lib/64/libmpc_p.a comp-c-proflib obsolete +./usr/lib/64/libmpc_pic.a comp-c-piclib obsolete +./usr/lib/64/libmpfr.a comp-c-lib obsolete +./usr/lib/64/libmpfr.so base-sys-shlib obsolete +./usr/lib/64/libmpfr_p.a comp-c-proflib obsolete +./usr/lib/64/libmpfr_pic.a comp-c-piclib obsolete +./usr/lib/64/libnetpgp.a comp-c-lib compat,crypto +./usr/lib/64/libnetpgp.so comp-sys-shlib compat,crypto,pic +./usr/lib/64/libnetpgp_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libnetpgp_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libnetpgpverify.a comp-c-lib compat,crypto +./usr/lib/64/libnetpgpverify.so comp-sys-shlib compat,crypto,pic +./usr/lib/64/libnetpgpverify_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libnetpgpverify_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libnpf.a comp-c-lib compat,npf +./usr/lib/64/libnpf.so comp-sys-shlib compat,npf,pic +./usr/lib/64/libnpf_p.a comp-c-proflib compat,npf,profile +./usr/lib/64/libnpf_pic.a comp-c-piclib compat,npf,pic +./usr/lib/64/libobjc.a comp-c-lib compat,gcccmds +./usr/lib/64/libobjc.so base-sys-shlib compat,pic,gcccmds +./usr/lib/64/libobjc_p.a comp-c-proflib compat,profile,gcccmds +./usr/lib/64/libobjc_pic.a comp-c-piclib compat,pic,gcccmds +./usr/lib/64/libopcodes.a comp-obsolete obsolete +./usr/lib/64/libopcodes.so base-obsolete obsolete +./usr/lib/64/libopcodes_p.a comp-obsolete obsolete +./usr/lib/64/libopcodes_pic.a comp-obsolete obsolete +./usr/lib/64/libossaudio.a comp-c-lib compat +./usr/lib/64/libossaudio.so base-sys-shlib compat,pic +./usr/lib/64/libossaudio_p.a comp-c-proflib compat,profile +./usr/lib/64/libossaudio_pic.a comp-c-piclib compat,pic +./usr/lib/64/libp2k.a comp-c-lib compat,rump +./usr/lib/64/libp2k.so base-sys-shlib compat,pic,rump +./usr/lib/64/libp2k_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/libp2k_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/libpam.a comp-c-lib compat +./usr/lib/64/libpam.so base-sys-shlib compat,pic +./usr/lib/64/libpam_p.a comp-obsolete obsolete +./usr/lib/64/libpam_pic.a comp-c-piclib compat,pic +./usr/lib/64/libpcap.a comp-c-lib compat +./usr/lib/64/libpcap.so base-sys-shlib compat,pic +./usr/lib/64/libpcap_p.a comp-c-proflib compat,profile +./usr/lib/64/libpcap_pic.a comp-c-piclib compat,pic +./usr/lib/64/libpci.a comp-c-lib compat +./usr/lib/64/libpci.so base-sys-shlib compat,pic +./usr/lib/64/libpci_p.a comp-c-proflib compat,profile +./usr/lib/64/libpci_pic.a comp-c-piclib compat,pic +./usr/lib/64/libperfuse.a comp-c-lib compat +./usr/lib/64/libperfuse.so base-sys-shlib compat,pic +./usr/lib/64/libperfuse_p.a comp-c-proflib compat,profile +./usr/lib/64/libperfuse_pic.a comp-c-piclib compat,pic +./usr/lib/64/libposix.a comp-c-lib compat +./usr/lib/64/libposix.so base-sys-shlib compat,pic +./usr/lib/64/libposix_p.a comp-c-proflib compat,profile +./usr/lib/64/libposix_pic.a comp-c-piclib compat,pic +./usr/lib/64/libppath.a comp-c-lib compat +./usr/lib/64/libppath.so base-sys-shlib compat,pic +./usr/lib/64/libppath_p.a comp-c-proflib compat,profile +./usr/lib/64/libppath_pic.a comp-c-piclib compat,pic +./usr/lib/64/libprop.a comp-c-lib compat +./usr/lib/64/libprop.so base-sys-shlib compat,pic +./usr/lib/64/libprop_p.a comp-c-proflib compat,profile +./usr/lib/64/libprop_pic.a comp-c-piclib compat,pic +./usr/lib/64/libpthread.a comp-c-lib compat +./usr/lib/64/libpthread.so base-sys-shlib compat,pic +./usr/lib/64/libpthread_dbg.a comp-c-lib compat +./usr/lib/64/libpthread_dbg.so base-sys-shlib compat,pic +./usr/lib/64/libpthread_dbg_p.a comp-c-proflib compat,profile +./usr/lib/64/libpthread_dbg_pic.a comp-c-piclib compat,pic +./usr/lib/64/libpthread_p.a comp-c-proflib compat,profile +./usr/lib/64/libpthread_pic.a comp-c-piclib compat,pic +./usr/lib/64/libpuffs.a comp-c-lib compat +./usr/lib/64/libpuffs.so base-sys-shlib compat,pic +./usr/lib/64/libpuffs_p.a comp-c-proflib compat,profile +./usr/lib/64/libpuffs_pic.a comp-c-piclib compat,pic +./usr/lib/64/libquota.a comp-c-lib compat +./usr/lib/64/libquota.so base-sys-shlib compat,pic +./usr/lib/64/libquota_p.a comp-c-proflib compat,profile +./usr/lib/64/libquota_pic.a comp-c-piclib compat,pic +./usr/lib/64/libradius.a comp-c-lib compat +./usr/lib/64/libradius.so base-sys-shlib compat,pic +./usr/lib/64/libradius_p.a comp-c-proflib compat,profile +./usr/lib/64/libradius_pic.a comp-c-piclib compat,pic +./usr/lib/64/librefuse.a comp-c-lib compat +./usr/lib/64/librefuse.so base-sys-shlib compat,pic +./usr/lib/64/librefuse_p.a comp-c-proflib compat,profile +./usr/lib/64/librefuse_pic.a comp-c-piclib compat,pic +./usr/lib/64/libresolv.a comp-c-lib compat +./usr/lib/64/libresolv.so base-sys-shlib compat,pic +./usr/lib/64/libresolv_p.a comp-c-proflib compat,profile +./usr/lib/64/libresolv_pic.a comp-c-piclib compat,pic +./usr/lib/64/librmt.a comp-c-lib compat +./usr/lib/64/librmt_p.a comp-obsolete obsolete +./usr/lib/64/librmt_pic.a comp-obsolete obsolete +./usr/lib/64/libroken.a comp-c-lib compat,kerberos +./usr/lib/64/libroken.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libroken_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libroken_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/librpcsvc.a comp-c-lib compat +./usr/lib/64/librpcsvc.so base-sys-shlib compat,pic +./usr/lib/64/librpcsvc_p.a comp-c-proflib compat,profile +./usr/lib/64/librpcsvc_pic.a comp-c-piclib compat,pic +./usr/lib/64/librt.a comp-c-lib compat +./usr/lib/64/librt.so base-sys-shlib compat,pic +./usr/lib/64/librt_p.a comp-c-proflib compat,profile +./usr/lib/64/librt_pic.a comp-c-piclib compat,pic +./usr/lib/64/librump.a comp-c-lib compat,rump +./usr/lib/64/librump.so base-sys-shlib compat,pic,rump +./usr/lib/64/librump_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/librump_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/librumpclient.a comp-c-lib compat,rump +./usr/lib/64/librumpclient.so base-sys-shlib compat,pic,rump +./usr/lib/64/librumpclient_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/librumpclient_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/librumpcrypto.a comp-obsolete obsolete +./usr/lib/64/librumpcrypto.so base-obsolete obsolete +./usr/lib/64/librumpcrypto_p.a comp-obsolete obsolete +./usr/lib/64/librumpcrypto_pic.a comp-obsolete obsolete +./usr/lib/64/librumpdev.a comp-c-lib compat,rump +./usr/lib/64/librumpdev.so base-sys-shlib compat,pic,rump +./usr/lib/64/librumpdev_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/librumpdev_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/librumphijack.so base-sys-shlib compat,pic,rump +./usr/lib/64/librumphijack_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/librumpnet.a comp-c-lib compat,rump +./usr/lib/64/librumpnet.so base-sys-shlib compat,pic,rump +./usr/lib/64/librumpnet_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/librumpnet_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/librumpuser.a comp-c-lib compat,rump +./usr/lib/64/librumpuser.so base-sys-shlib compat,pic,rump +./usr/lib/64/librumpuser_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/librumpuser_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/librumpvfs.a comp-c-lib compat,rump +./usr/lib/64/librumpvfs.so base-sys-shlib compat,pic,rump +./usr/lib/64/librumpvfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/librumpvfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/libsaslc.a comp-c-lib compat,crypto +./usr/lib/64/libsaslc.so base-sys-shlib compat,pic,crypto +./usr/lib/64/libsaslc_p.a comp-c-proflib compat,profile,crypto +./usr/lib/64/libsaslc_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/64/libsdp.a comp-obsolete obsolete +./usr/lib/64/libsdp.so base-obsolete obsolete +./usr/lib/64/libsdp_p.a comp-obsolete obsolete +./usr/lib/64/libsdp_pic.a comp-obsolete obsolete +./usr/lib/64/libskey.a comp-c-lib compat,skey +./usr/lib/64/libskey.so base-sys-shlib compat,pic,skey +./usr/lib/64/libskey_p.a comp-c-proflib compat,profile,skey +./usr/lib/64/libskey_pic.a comp-c-piclib compat,pic,skey +./usr/lib/64/libsl.a comp-c-lib compat,kerberos +./usr/lib/64/libsl.so base-sys-shlib compat,pic,kerberos +./usr/lib/64/libsl_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libsl_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libsqlite3.a comp-c-lib compat +./usr/lib/64/libsqlite3.so base-sys-shlib compat,pic +./usr/lib/64/libsqlite3_p.a comp-c-proflib compat,profile +./usr/lib/64/libsqlite3_pic.a comp-c-piclib compat,pic +./usr/lib/64/libss.a comp-c-lib obsolete +./usr/lib/64/libss.so base-sys-shlib obsolete +./usr/lib/64/libss_p.a comp-c-proflib obsolete +./usr/lib/64/libss_pic.a comp-c-piclib obsolete +./usr/lib/64/libssh.a comp-c-lib compat,crypto +./usr/lib/64/libssh.so base-sys-shlib compat,crypto,pic +./usr/lib/64/libssh_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libssh_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libssl.a comp-c-lib compat,crypto +./usr/lib/64/libssl.so base-sys-shlib compat,crypto,pic +./usr/lib/64/libssl_p.a comp-c-proflib compat,crypto,profile +./usr/lib/64/libssl_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/64/libstdc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/64/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/64/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds,libstdcxx +./usr/lib/64/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/64/libsupc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/64/libsupc++.so base-obsolete obsolete +./usr/lib/64/libsupc++_pic.a comp-obsolete obsolete +./usr/lib/64/libtermcap.a comp-c-lib compat +./usr/lib/64/libtermcap.so base-sys-shlib compat,pic +./usr/lib/64/libtermcap_p.a comp-c-proflib compat,profile +./usr/lib/64/libtermcap_pic.a comp-c-piclib compat,pic +./usr/lib/64/libterminfo.a comp-c-lib compat +./usr/lib/64/libterminfo.so base-sys-shlib compat,pic +./usr/lib/64/libterminfo_p.a comp-c-proflib compat,profile +./usr/lib/64/libterminfo_pic.a comp-c-piclib compat,pic +./usr/lib/64/libtermlib.a comp-c-lib compat +./usr/lib/64/libtermlib.so base-sys-shlib compat,pic +./usr/lib/64/libtermlib_p.a comp-c-proflib compat,profile +./usr/lib/64/libtermlib_pic.a comp-c-piclib compat,pic +./usr/lib/64/libtre.a comp-c-lib compat +./usr/lib/64/libtre.so base-sys-shlib compat,pic +./usr/lib/64/libtre_p.a comp-c-proflib compat,profile +./usr/lib/64/libtre_pic.a comp-c-piclib compat,pic +./usr/lib/64/libukfs.a comp-c-lib compat,rump +./usr/lib/64/libukfs.so base-sys-shlib compat,pic,rump +./usr/lib/64/libukfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/64/libukfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/64/libusbhid.a comp-c-lib compat +./usr/lib/64/libusbhid.so base-sys-shlib compat,pic +./usr/lib/64/libusbhid_p.a comp-c-proflib compat,profile +./usr/lib/64/libusbhid_pic.a comp-c-piclib compat,pic +./usr/lib/64/libutil.a comp-c-lib compat +./usr/lib/64/libutil.so base-sys-shlib compat,pic +./usr/lib/64/libutil_p.a comp-c-proflib compat,profile +./usr/lib/64/libutil_pic.a comp-c-piclib compat,pic +./usr/lib/64/libvers.a comp-obsolete obsolete +./usr/lib/64/libvers_p.a comp-obsolete obsolete +./usr/lib/64/libvers_pic.a comp-obsolete obsolete +./usr/lib/64/libwind.a comp-c-lib compat,kerberos +./usr/lib/64/libwind.so comp-sys-shlib compat,pic,kerberos +./usr/lib/64/libwind_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/64/libwind_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/64/libwrap.a comp-c-lib compat +./usr/lib/64/libwrap.so base-sys-shlib compat,pic +./usr/lib/64/libwrap_p.a comp-c-proflib compat,profile +./usr/lib/64/libwrap_pic.a comp-c-piclib compat,pic +./usr/lib/64/liby.a comp-c-lib compat +./usr/lib/64/liby_p.a comp-c-proflib compat,profile +./usr/lib/64/liby_pic.a comp-obsolete obsolete +./usr/lib/64/libz.a comp-c-lib compat +./usr/lib/64/libz.so base-sys-shlib compat,pic +./usr/lib/64/libz_p.a comp-c-proflib compat,profile +./usr/lib/64/libz_pic.a comp-c-piclib compat,pic +./usr/lib/o32/crt0.o comp-c-lib compat +./usr/lib/o32/crtbegin.o comp-c-lib compat +./usr/lib/o32/crtbeginS.o comp-c-lib compat,pic +./usr/lib/o32/crtbeginT.o comp-c-lib compat,pic +./usr/lib/o32/crtend.o comp-c-lib compat +./usr/lib/o32/crtendS.o comp-c-lib compat,pic +./usr/lib/o32/crti.o comp-c-lib compat +./usr/lib/o32/crtn.o comp-c-lib compat +./usr/lib/o32/gcrt0.o comp-c-lib compat +./usr/lib/o32/i18n/libBIG5.a comp-c-lib compat +./usr/lib/o32/i18n/libBIG5.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libBIG5_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libBIG5_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libDECHanyu.a comp-c-lib compat +./usr/lib/o32/i18n/libDECHanyu.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libDECHanyu_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libDECHanyu_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libEUC.a comp-c-lib compat +./usr/lib/o32/i18n/libEUC.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libEUCTW.a comp-c-lib compat +./usr/lib/o32/i18n/libEUCTW.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libEUCTW_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libEUCTW_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libEUC_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libEUC_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libGBK2K.a comp-c-lib compat +./usr/lib/o32/i18n/libGBK2K.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libGBK2K_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libGBK2K_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libHZ.a comp-c-lib compat +./usr/lib/o32/i18n/libHZ.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libHZ_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libHZ_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libISO2022.a comp-c-lib compat +./usr/lib/o32/i18n/libISO2022.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libISO2022_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libISO2022_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libJOHAB.a comp-c-lib compat +./usr/lib/o32/i18n/libJOHAB.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libJOHAB_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libJOHAB_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libMSKanji.a comp-c-lib compat +./usr/lib/o32/i18n/libMSKanji.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libMSKanji_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libMSKanji_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUES.a comp-c-lib compat +./usr/lib/o32/i18n/libUES.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libUES_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUES_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUTF1632.a comp-c-lib compat +./usr/lib/o32/i18n/libUTF1632.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libUTF1632_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUTF1632_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUTF7.a comp-c-lib compat +./usr/lib/o32/i18n/libUTF7.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libUTF7_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUTF7_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUTF8.a comp-c-lib compat +./usr/lib/o32/i18n/libUTF8.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libUTF8_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libUTF8_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libVIQR.a comp-c-lib compat +./usr/lib/o32/i18n/libVIQR.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libVIQR_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libVIQR_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libZW.a comp-c-lib compat +./usr/lib/o32/i18n/libZW.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libZW_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libZW_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libiconv_none.a comp-c-lib compat +./usr/lib/o32/i18n/libiconv_none.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libiconv_none_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libiconv_none_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libiconv_std.a comp-c-lib compat +./usr/lib/o32/i18n/libiconv_std.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libiconv_std_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libiconv_std_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_646.a comp-c-lib compat +./usr/lib/o32/i18n/libmapper_646.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libmapper_646_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_646_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_none.a comp-c-lib compat +./usr/lib/o32/i18n/libmapper_none.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libmapper_none_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_none_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_parallel.a comp-c-lib compat +./usr/lib/o32/i18n/libmapper_parallel.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libmapper_parallel_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_parallel_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_serial.a comp-c-lib compat +./usr/lib/o32/i18n/libmapper_serial.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libmapper_serial_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_serial_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_std.a comp-c-lib compat +./usr/lib/o32/i18n/libmapper_std.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libmapper_std_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_std_pic.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_zone.a comp-c-lib compat +./usr/lib/o32/i18n/libmapper_zone.so base-sys-shlib compat,pic +./usr/lib/o32/i18n/libmapper_zone_p.a comp-obsolete obsolete +./usr/lib/o32/i18n/libmapper_zone_pic.a comp-obsolete obsolete +./usr/lib/o32/libarchive.a comp-c-lib compat +./usr/lib/o32/libarchive.so base-sys-shlib compat,pic +./usr/lib/o32/libarchive_p.a comp-c-proflib compat,profile +./usr/lib/o32/libarchive_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libasn1.a comp-c-lib compat,kerberos +./usr/lib/o32/libasn1.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libasn1_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libasn1_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libatf-c++.a comp-c-lib compat,atf +./usr/lib/o32/libatf-c++.so base-sys-lib compat,pic,atf +./usr/lib/o32/libatf-c++_p.a comp-c-proflib compat,profile,atf +./usr/lib/o32/libatf-c++_pic.a comp-c-piclib compat,pic,atf +./usr/lib/o32/libatf-c.a comp-c-lib compat,atf +./usr/lib/o32/libatf-c.so base-sys-lib compat,pic,atf +./usr/lib/o32/libatf-c_p.a comp-c-proflib compat,profile,atf +./usr/lib/o32/libatf-c_pic.a comp-c-piclib compat,pic,atf +./usr/lib/o32/libbfd.a comp-obsolete obsolete +./usr/lib/o32/libbfd.so base-obsolete obsolete +./usr/lib/o32/libbfd_p.a comp-obsolete obsolete +./usr/lib/o32/libbfd_pic.a comp-obsolete obsolete +./usr/lib/o32/libbind9.a comp-c-lib compat +./usr/lib/o32/libbind9.so base-sys-shlib compat,pic +./usr/lib/o32/libbind9_p.a comp-c-proflib compat,profile +./usr/lib/o32/libbind9_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libbluetooth.a comp-c-lib compat +./usr/lib/o32/libbluetooth.so base-sys-shlib compat,pic +./usr/lib/o32/libbluetooth_p.a comp-c-proflib compat,profile +./usr/lib/o32/libbluetooth_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libbsdmalloc.a comp-c-lib compat +./usr/lib/o32/libbsdmalloc.so base-sys-shlib compat,pic +./usr/lib/o32/libbsdmalloc_p.a comp-c-proflib compat,profile +./usr/lib/o32/libbsdmalloc_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libbz2.a comp-c-lib compat +./usr/lib/o32/libbz2.so base-sys-shlib compat,pic +./usr/lib/o32/libbz2_p.a comp-c-proflib compat,profile +./usr/lib/o32/libbz2_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libc++.a comp-c-lib compat,libcxx +./usr/lib/o32/libc++.so comp-sys-shlib compat,pic,libcxx +./usr/lib/o32/libc++_p.a comp-c-proflib compat,profile,libcxx +./usr/lib/o32/libc++_pic.a comp-c-piclib compat,pic,libcxx +./usr/lib/o32/libc.a comp-c-lib compat +./usr/lib/o32/libc.so base-sys-shlib compat,pic +./usr/lib/o32/libc_p.a comp-c-proflib compat,profile +./usr/lib/o32/libc_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libcom_err.a comp-c-lib compat,kerberos +./usr/lib/o32/libcom_err.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libcom_err_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libcom_err_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libcompat.a comp-c-lib compat +./usr/lib/o32/libcompat_p.a comp-c-proflib compat,profile +./usr/lib/o32/libcompat_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libcrypt.a comp-c-lib compat +./usr/lib/o32/libcrypt.so base-sys-shlib compat,pic +./usr/lib/o32/libcrypt_p.a comp-c-proflib compat,profile +./usr/lib/o32/libcrypt_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libcrypto.a comp-c-lib compat,crypto +./usr/lib/o32/libcrypto.so base-sys-shlib compat,crypto,pic +./usr/lib/o32/libcrypto_idea.a comp-obsolete obsolete +./usr/lib/o32/libcrypto_idea_p.a comp-obsolete obsolete +./usr/lib/o32/libcrypto_mdc2.a comp-obsolete obsolete +./usr/lib/o32/libcrypto_mdc2_p.a comp-obsolete obsolete +./usr/lib/o32/libcrypto_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libcrypto_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libcrypto_rc5.a comp-c-lib crypto_rc5,compat +./usr/lib/o32/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile +./usr/lib/o32/libcurses.a comp-c-lib compat +./usr/lib/o32/libcurses.so base-sys-shlib compat,pic +./usr/lib/o32/libcurses_p.a comp-c-proflib compat,profile +./usr/lib/o32/libcurses_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libdes.a comp-c-lib compat,crypto +./usr/lib/o32/libdes.so base-sys-shlib compat,crypto,pic +./usr/lib/o32/libdes_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libdes_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libdevmapper.a comp-lvm-lib compat,lvm +./usr/lib/o32/libdevmapper.so base-lvm-shlib compat,lvm,pic +./usr/lib/o32/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm +./usr/lib/o32/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm +./usr/lib/o32/libdm.a comp-c-lib compat +./usr/lib/o32/libdm.so base-sys-shlib compat,pic +./usr/lib/o32/libdm_p.a comp-c-proflib compat,profile +./usr/lib/o32/libdm_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libdns.a comp-c-lib compat +./usr/lib/o32/libdns.so base-sys-shlib compat,pic +./usr/lib/o32/libdns_p.a comp-c-proflib compat,profile +./usr/lib/o32/libdns_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libdns_sd.a comp-c-lib compat,mdns +./usr/lib/o32/libdns_sd.so base-mdns-shlib compat,pic,mdns +./usr/lib/o32/libdns_sd_p.a comp-c-proflib compat,profile,mdns +./usr/lib/o32/libdns_sd_pic.a comp-c-piclib compat,pic,mdns +./usr/lib/o32/libdwarf.a comp-c-lib compat +./usr/lib/o32/libdwarf.so base-sys-shlib compat,pic +./usr/lib/o32/libdwarf_p.a comp-c-proflib compat,profile +./usr/lib/o32/libdwarf_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libedit.a comp-c-lib compat +./usr/lib/o32/libedit.so base-sys-shlib compat,pic +./usr/lib/o32/libedit_p.a comp-c-proflib compat,profile +./usr/lib/o32/libedit_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libelf.a comp-c-lib compat +./usr/lib/o32/libelf.so base-sys-shlib compat,pic +./usr/lib/o32/libelf_p.a comp-c-proflib compat,profile +./usr/lib/o32/libelf_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libevent.a comp-c-lib compat +./usr/lib/o32/libevent.so base-sys-shlib compat,pic +./usr/lib/o32/libevent_openssl.a comp-c-lib compat,crypto +./usr/lib/o32/libevent_openssl.so base-sys-shlib compat,pic,crypto +./usr/lib/o32/libevent_openssl_p.a comp-c-proflib compat,profile,crypto +./usr/lib/o32/libevent_openssl_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/o32/libevent_p.a comp-c-proflib compat,profile +./usr/lib/o32/libevent_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libevent_pthreads.a comp-c-lib compat +./usr/lib/o32/libevent_pthreads.so base-sys-shlib compat,pic +./usr/lib/o32/libevent_pthreads_p.a comp-c-proflib compat,profile +./usr/lib/o32/libevent_pthreads_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libexecinfo.a comp-c-lib compat +./usr/lib/o32/libexecinfo.so base-sys-shlib compat,pic +./usr/lib/o32/libexecinfo_p.a comp-c-proflib compat,profile +./usr/lib/o32/libexecinfo_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libexpat.a comp-c-lib compat +./usr/lib/o32/libexpat.so base-sys-shlib compat,pic +./usr/lib/o32/libexpat_p.a comp-c-proflib compat,profile +./usr/lib/o32/libexpat_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libfetch.a comp-c-lib compat +./usr/lib/o32/libfetch.so base-sys-shlib compat,pic +./usr/lib/o32/libfetch_p.a comp-c-proflib compat,profile +./usr/lib/o32/libfetch_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libfl.a comp-c-lib compat +./usr/lib/o32/libfl_p.a comp-c-proflib compat,profile +./usr/lib/o32/libform.a comp-c-lib compat +./usr/lib/o32/libform.so base-sys-shlib compat,pic +./usr/lib/o32/libform_p.a comp-c-proflib compat,profile +./usr/lib/o32/libform_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libgcc.a comp-c-lib compat +./usr/lib/o32/libgcc_eh.a comp-c-lib compat,pic +./usr/lib/o32/libgcc_eh_p.a comp-c-proflib obsolete +./usr/lib/o32/libgcc_eh_pic.a comp-c-piclib obsolete +./usr/lib/o32/libgcc_p.a comp-c-proflib obsolete +./usr/lib/o32/libgcc_pic.a comp-c-piclib obsolete +./usr/lib/o32/libgcc_s.a comp-obsolete obsolete +./usr/lib/o32/libgcc_s.so base-sys-shlib compat,pic +./usr/lib/o32/libgcc_s_p.a comp-obsolete obsolete +./usr/lib/o32/libgcc_s_pic.a comp-obsolete obsolete +./usr/lib/o32/libgcov.a comp-c-lib compat,gcccmds +./usr/lib/o32/libgcov_p.a comp-obsolete obsolete +./usr/lib/o32/libgcov_pic.a comp-obsolete obsolete +./usr/lib/o32/libgmp.a comp-c-lib obsolete +./usr/lib/o32/libgmp.so base-sys-shlib obsolete +./usr/lib/o32/libgmp_p.a comp-c-proflib obsolete +./usr/lib/o32/libgmp_pic.a comp-c-piclib obsolete +./usr/lib/o32/libgnumalloc.a comp-c-lib compat +./usr/lib/o32/libgnumalloc.so base-sys-shlib compat,pic +./usr/lib/o32/libgnumalloc_p.a comp-c-proflib compat,profile +./usr/lib/o32/libgnumalloc_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libgomp.a comp-c-lib compat,gcc=45 +./usr/lib/o32/libgomp.so base-sys-shlib compat,pic,gcc=45 +./usr/lib/o32/libgomp_p.a comp-c-proflib compat,profile,gcc=45 +./usr/lib/o32/libgomp_pic.a comp-c-piclib compat,pic,gcc=45 +./usr/lib/o32/libgomp.a comp-c-lib compat,gcc=48 +./usr/lib/o32/libgomp.so base-sys-shlib compat,pic,gcc=48 +./usr/lib/o32/libgomp_p.a comp-c-proflib compat,profile,gcc=48 +./usr/lib/o32/libgomp_pic.a comp-c-piclib compat,pic,gcc=48 +./usr/lib/o32/libgssapi.a comp-c-lib compat,kerberos +./usr/lib/o32/libgssapi.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libgssapi_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libgssapi_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libhdb.a comp-c-lib compat,kerberos +./usr/lib/o32/libhdb.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libhdb_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libhdb_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libheimbase.a comp-c-lib compat,kerberos +./usr/lib/o32/libheimbase.so comp-sys-shlib compat,pic,kerberos +./usr/lib/o32/libheimbase_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libheimbase_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/o32/libheimntlm.a comp-c-lib compat,kerberos +./usr/lib/o32/libheimntlm.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libheimntlm_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libhx509.a comp-c-lib compat,kerberos +./usr/lib/o32/libhx509.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libhx509_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libhx509_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libiberty.a comp-obsolete obsolete +./usr/lib/o32/libiberty_p.a comp-obsolete obsolete +./usr/lib/o32/libiberty_pic.a comp-obsolete obsolete +./usr/lib/o32/libintl.a comp-c-lib compat +./usr/lib/o32/libintl.so base-sys-shlib compat,pic +./usr/lib/o32/libintl_p.a comp-c-proflib compat,profile +./usr/lib/o32/libintl_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libipsec.a comp-c-lib compat +./usr/lib/o32/libipsec.so base-sys-shlib compat,pic +./usr/lib/o32/libipsec_p.a comp-c-proflib compat,profile +./usr/lib/o32/libipsec_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libisc.a comp-c-lib compat +./usr/lib/o32/libisc.so base-sys-shlib compat,pic +./usr/lib/o32/libisc_p.a comp-c-proflib compat,profile +./usr/lib/o32/libisc_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libisccc.a comp-c-lib compat +./usr/lib/o32/libisccc.so base-sys-shlib compat,pic +./usr/lib/o32/libisccc_p.a comp-c-proflib compat,profile +./usr/lib/o32/libisccc_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libisccfg.a comp-c-lib compat +./usr/lib/o32/libisccfg.so base-sys-shlib compat,pic +./usr/lib/o32/libisccfg_p.a comp-c-proflib compat,profile +./usr/lib/o32/libisccfg_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libiscsi.a comp-c-lib compat,iscsi +./usr/lib/o32/libiscsi.so base-sys-shlib compat,pic,iscsi +./usr/lib/o32/libiscsi_p.a comp-c-proflib compat,profile,iscsi +./usr/lib/o32/libiscsi_pic.a comp-c-piclib compat,pic,iscsi +./usr/lib/o32/libisns.a comp-c-lib compat +./usr/lib/o32/libisns.so comp-sys-shlib compat +./usr/lib/o32/libisns_p.a comp-c-proflib compat,profile +./usr/lib/o32/libisns_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libkadm5clnt.a comp-c-lib compat,kerberos +./usr/lib/o32/libkadm5clnt.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libkadm5srv.a comp-c-lib compat,kerberos +./usr/lib/o32/libkadm5srv.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libkafs.a comp-c-lib compat,kerberos +./usr/lib/o32/libkafs.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libkafs_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libkafs_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libkdc.a comp-c-lib compat,kerberos +./usr/lib/o32/libkdc.so comp-sys-shlib compat,pic,kerberos +./usr/lib/o32/libkdc_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libkdc_pic.a comp-c-proflib compat,pic,kerberos +./usr/lib/o32/libkrb5.a comp-c-lib compat,kerberos +./usr/lib/o32/libkrb5.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libkrb5_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libkrb5_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libkvm.a comp-c-lib compat +./usr/lib/o32/libkvm.so base-sys-shlib compat,pic +./usr/lib/o32/libkvm_p.a comp-c-proflib compat,profile +./usr/lib/o32/libkvm_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libl.a comp-c-lib compat +./usr/lib/o32/libl_p.a comp-c-proflib compat,profile +./usr/lib/o32/libl_pic.a comp-obsolete obsolete +./usr/lib/o32/liblber.a comp-c-lib compat,ldap +./usr/lib/o32/liblber.so base-sys-shlib compat,pic,ldap +./usr/lib/o32/liblber_p.a comp-c-proflib compat,profile,ldap +./usr/lib/o32/liblber_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/o32/libldap.a comp-c-lib compat,ldap +./usr/lib/o32/libldap.so base-sys-shlib compat,pic,ldap +./usr/lib/o32/libldap_p.a comp-c-proflib compat,profile,ldap +./usr/lib/o32/libldap_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/o32/libldap_r.a comp-c-lib compat,ldap +./usr/lib/o32/libldap_r.so base-sys-shlib compat,pic,ldap +./usr/lib/o32/libldap_r_p.a comp-c-proflib compat,profile,ldap +./usr/lib/o32/libldap_r_pic.a comp-c-piclib compat,pic,ldap +./usr/lib/o32/liblua.a comp-c-lib compat +./usr/lib/o32/liblua.so base-sys-shlib compat,pic +./usr/lib/o32/liblua_p.a comp-c-proflib compat,profile +./usr/lib/o32/liblua_pic.a comp-c-piclib compat,pic +./usr/lib/o32/liblutok.a comp-c-lib compat,kyua +./usr/lib/o32/liblutok.so base-sys-shlib compat,pic,kyua +./usr/lib/o32/liblutok_p.a comp-c-proflib compat,profile,kyua +./usr/lib/o32/liblutok_pic.a comp-c-piclib compat,pic,kyua +./usr/lib/o32/liblwres.a comp-c-lib compat +./usr/lib/o32/liblwres.so base-sys-shlib compat,pic +./usr/lib/o32/liblwres_p.a comp-c-proflib compat,profile +./usr/lib/o32/liblwres_pic.a comp-c-piclib compat,pic +./usr/lib/o32/liblzf.a comp-c-lib compat +./usr/lib/o32/liblzf.so base-sys-shlib compat,pic +./usr/lib/o32/liblzf_p.a comp-c-proflib compat,profile +./usr/lib/o32/liblzf_pic.a comp-c-piclib compat,pic +./usr/lib/o32/liblzma.a comp-c-lib compat +./usr/lib/o32/liblzma.so base-sys-shlib compat,pic +./usr/lib/o32/liblzma_p.a comp-c-proflib compat,profile +./usr/lib/o32/liblzma_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libm.a comp-c-lib compat +./usr/lib/o32/libm.so base-sys-shlib compat,pic +./usr/lib/o32/libm_p.a comp-c-proflib compat,profile +./usr/lib/o32/libm_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libmagic.a comp-c-lib compat +./usr/lib/o32/libmagic.so base-sys-shlib compat,pic +./usr/lib/o32/libmagic_p.a comp-c-proflib compat,profile +./usr/lib/o32/libmagic_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libmenu.a comp-c-lib compat +./usr/lib/o32/libmenu.so base-sys-shlib compat,pic +./usr/lib/o32/libmenu_p.a comp-c-proflib compat,profile +./usr/lib/o32/libmenu_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libmj.a comp-c-lib compat,crypto +./usr/lib/o32/libmj.so comp-sys-shlib compat,crypto,pic +./usr/lib/o32/libmj_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libmj_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libmpc.a comp-c-lib obsolete +./usr/lib/o32/libmpc.so base-sys-shlib obsolete +./usr/lib/o32/libmpc_p.a comp-c-proflib obsolete +./usr/lib/o32/libmpc_pic.a comp-c-piclib obsolete +./usr/lib/o32/libmpfr.a comp-c-lib obsolete +./usr/lib/o32/libmpfr.so base-sys-shlib obsolete +./usr/lib/o32/libmpfr_p.a comp-c-proflib obsolete +./usr/lib/o32/libmpfr_pic.a comp-c-piclib obsolete +./usr/lib/o32/libnetpgp.a comp-c-lib compat,crypto +./usr/lib/o32/libnetpgp.so comp-sys-shlib compat,crypto,pic +./usr/lib/o32/libnetpgp_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libnetpgp_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libnetpgpverify.a comp-c-lib compat,crypto +./usr/lib/o32/libnetpgpverify.so comp-sys-shlib compat,crypto,pic +./usr/lib/o32/libnetpgpverify_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libnetpgpverify_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libnpf.a comp-c-lib compat,npf +./usr/lib/o32/libnpf.so comp-sys-shlib compat,npf,pic +./usr/lib/o32/libnpf_p.a comp-c-proflib compat,npf,profile +./usr/lib/o32/libnpf_pic.a comp-c-piclib compat,npf,pic +./usr/lib/o32/libobjc.a comp-c-lib compat,gcccmds +./usr/lib/o32/libobjc.so base-sys-shlib compat,pic,gcccmds +./usr/lib/o32/libobjc_p.a comp-c-proflib compat,profile,gcccmds +./usr/lib/o32/libobjc_pic.a comp-c-piclib compat,pic,gcccmds +./usr/lib/o32/libopcodes.a comp-obsolete obsolete +./usr/lib/o32/libopcodes.so base-obsolete obsolete +./usr/lib/o32/libopcodes_p.a comp-obsolete obsolete +./usr/lib/o32/libopcodes_pic.a comp-obsolete obsolete +./usr/lib/o32/libossaudio.a comp-c-lib compat +./usr/lib/o32/libossaudio.so base-sys-shlib compat,pic +./usr/lib/o32/libossaudio_p.a comp-c-proflib compat,profile +./usr/lib/o32/libossaudio_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libp2k.a comp-c-lib compat,rump +./usr/lib/o32/libp2k.so base-sys-shlib compat,pic,rump +./usr/lib/o32/libp2k_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/libp2k_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/libpam.a comp-c-lib compat +./usr/lib/o32/libpam.so base-sys-shlib compat,pic +./usr/lib/o32/libpam_p.a comp-obsolete obsolete +./usr/lib/o32/libpam_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libpcap.a comp-c-lib compat +./usr/lib/o32/libpcap.so base-sys-shlib compat,pic +./usr/lib/o32/libpcap_p.a comp-c-proflib compat,profile +./usr/lib/o32/libpcap_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libpci.a comp-c-lib compat +./usr/lib/o32/libpci.so base-sys-shlib compat,pic +./usr/lib/o32/libpci_p.a comp-c-proflib compat,profile +./usr/lib/o32/libpci_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libperfuse.a comp-c-lib compat +./usr/lib/o32/libperfuse.so base-sys-shlib compat,pic +./usr/lib/o32/libperfuse_p.a comp-c-proflib compat,profile +./usr/lib/o32/libperfuse_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libposix.a comp-c-lib compat +./usr/lib/o32/libposix.so base-sys-shlib compat,pic +./usr/lib/o32/libposix_p.a comp-c-proflib compat,profile +./usr/lib/o32/libposix_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libppath.a comp-c-lib compat +./usr/lib/o32/libppath.so base-sys-shlib compat,pic +./usr/lib/o32/libppath_p.a comp-c-proflib compat,profile +./usr/lib/o32/libppath_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libprop.a comp-c-lib compat +./usr/lib/o32/libprop.so base-sys-shlib compat,pic +./usr/lib/o32/libprop_p.a comp-c-proflib compat,profile +./usr/lib/o32/libprop_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libpthread.a comp-c-lib compat +./usr/lib/o32/libpthread.so base-sys-shlib compat,pic +./usr/lib/o32/libpthread_dbg.a comp-c-lib compat +./usr/lib/o32/libpthread_dbg.so base-sys-shlib compat,pic +./usr/lib/o32/libpthread_dbg_p.a comp-c-proflib compat,profile +./usr/lib/o32/libpthread_dbg_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libpthread_p.a comp-c-proflib compat,profile +./usr/lib/o32/libpthread_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libpuffs.a comp-c-lib compat +./usr/lib/o32/libpuffs.so base-sys-shlib compat,pic +./usr/lib/o32/libpuffs_p.a comp-c-proflib compat,profile +./usr/lib/o32/libpuffs_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libquota.a comp-c-lib compat +./usr/lib/o32/libquota.so base-sys-shlib compat,pic +./usr/lib/o32/libquota_p.a comp-c-proflib compat,profile +./usr/lib/o32/libquota_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libradius.a comp-c-lib compat +./usr/lib/o32/libradius.so base-sys-shlib compat,pic +./usr/lib/o32/libradius_p.a comp-c-proflib compat,profile +./usr/lib/o32/libradius_pic.a comp-c-piclib compat,pic +./usr/lib/o32/librefuse.a comp-c-lib compat +./usr/lib/o32/librefuse.so base-sys-shlib compat,pic +./usr/lib/o32/librefuse_p.a comp-c-proflib compat,profile +./usr/lib/o32/librefuse_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libresolv.a comp-c-lib compat +./usr/lib/o32/libresolv.so base-sys-shlib compat,pic +./usr/lib/o32/libresolv_p.a comp-c-proflib compat,profile +./usr/lib/o32/libresolv_pic.a comp-c-piclib compat,pic +./usr/lib/o32/librmt.a comp-c-lib compat +./usr/lib/o32/librmt_p.a comp-obsolete obsolete +./usr/lib/o32/librmt_pic.a comp-obsolete obsolete +./usr/lib/o32/libroken.a comp-c-lib compat,kerberos +./usr/lib/o32/libroken.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libroken_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libroken_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/librpcsvc.a comp-c-lib compat +./usr/lib/o32/librpcsvc.so base-sys-shlib compat,pic +./usr/lib/o32/librpcsvc_p.a comp-c-proflib compat,profile +./usr/lib/o32/librpcsvc_pic.a comp-c-piclib compat,pic +./usr/lib/o32/librt.a comp-c-lib compat +./usr/lib/o32/librt.so base-sys-shlib compat,pic +./usr/lib/o32/librt_p.a comp-c-proflib compat,profile +./usr/lib/o32/librt_pic.a comp-c-piclib compat,pic +./usr/lib/o32/librump.a comp-c-lib compat,rump +./usr/lib/o32/librump.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librump_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/librump_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/librumpclient.a comp-c-lib compat,rump +./usr/lib/o32/librumpclient.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librumpclient_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/librumpclient_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/librumpcrypto.a comp-obsolete obsolete +./usr/lib/o32/librumpcrypto.so base-obsolete obsolete +./usr/lib/o32/librumpcrypto_p.a comp-obsolete obsolete +./usr/lib/o32/librumpcrypto_pic.a comp-obsolete obsolete +./usr/lib/o32/librumpdev.a comp-c-lib compat,rump +./usr/lib/o32/librumpdev.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librumpdev_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/librumpdev_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/librumphijack.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librumphijack_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/librumpnet.a comp-c-lib compat,rump +./usr/lib/o32/librumpnet.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librumpnet_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/librumpnet_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/librumpuser.a comp-c-lib compat,rump +./usr/lib/o32/librumpuser.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librumpuser_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/librumpuser_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/librumpvfs.a comp-c-lib compat,rump +./usr/lib/o32/librumpvfs.so base-sys-shlib compat,pic,rump +./usr/lib/o32/librumpvfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/librumpvfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/libsaslc.a comp-c-lib compat,crypto +./usr/lib/o32/libsaslc.so base-sys-shlib compat,pic,crypto +./usr/lib/o32/libsaslc_p.a comp-c-proflib compat,profile,crypto +./usr/lib/o32/libsaslc_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/o32/libsdp.a comp-obsolete obsolete +./usr/lib/o32/libsdp.so base-obsolete obsolete +./usr/lib/o32/libsdp_p.a comp-obsolete obsolete +./usr/lib/o32/libsdp_pic.a comp-obsolete obsolete +./usr/lib/o32/libskey.a comp-c-lib compat,skey +./usr/lib/o32/libskey.so base-sys-shlib compat,pic,skey +./usr/lib/o32/libskey_p.a comp-c-proflib compat,profile,skey +./usr/lib/o32/libskey_pic.a comp-c-piclib compat,pic,skey +./usr/lib/o32/libsl.a comp-c-lib compat,kerberos +./usr/lib/o32/libsl.so base-sys-shlib compat,pic,kerberos +./usr/lib/o32/libsl_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libsl_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libsqlite3.a comp-c-lib compat +./usr/lib/o32/libsqlite3.so base-sys-shlib compat,pic +./usr/lib/o32/libsqlite3_p.a comp-c-proflib compat,profile +./usr/lib/o32/libsqlite3_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libss.a comp-c-lib obsolete +./usr/lib/o32/libss.so base-sys-shlib obsolete +./usr/lib/o32/libss_p.a comp-c-proflib obsolete +./usr/lib/o32/libss_pic.a comp-c-piclib obsolete +./usr/lib/o32/libssh.a comp-c-lib compat,crypto +./usr/lib/o32/libssh.so base-sys-shlib compat,crypto,pic +./usr/lib/o32/libssh_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libssh_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libssl.a comp-c-lib compat,crypto +./usr/lib/o32/libssl.so base-sys-shlib compat,crypto,pic +./usr/lib/o32/libssl_p.a comp-c-proflib compat,crypto,profile +./usr/lib/o32/libssl_pic.a comp-c-piclib compat,crypto,pic +./usr/lib/o32/libstdc++.a comp-c-lib compat,cxx,libstdcxx +./usr/lib/o32/libstdc++.so base-sys-shlib compat,pic,cxx,libstdcxx +./usr/lib/o32/libstdc++_p.a comp-c-proflib compat,profile,cxx,libstdcxx +./usr/lib/o32/libstdc++_pic.a comp-c-piclib compat,pic,cxx,libstdcxx +./usr/lib/o32/libsupc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/o32/libsupc++.so base-obsolete obsolete +./usr/lib/o32/libsupc++_pic.a comp-obsolete obsolete +./usr/lib/o32/libtermcap.a comp-c-lib compat +./usr/lib/o32/libtermcap.so base-sys-shlib compat,pic +./usr/lib/o32/libtermcap_p.a comp-c-proflib compat,profile +./usr/lib/o32/libtermcap_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libterminfo.a comp-c-lib compat +./usr/lib/o32/libterminfo.so base-sys-shlib compat,pic +./usr/lib/o32/libterminfo_p.a comp-c-proflib compat,profile +./usr/lib/o32/libterminfo_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libtermlib.a comp-c-lib compat +./usr/lib/o32/libtermlib.so base-sys-shlib compat,pic +./usr/lib/o32/libtermlib_p.a comp-c-proflib compat,profile +./usr/lib/o32/libtermlib_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libtre.a comp-c-lib compat +./usr/lib/o32/libtre.so base-sys-shlib compat,pic +./usr/lib/o32/libtre_p.a comp-c-proflib compat,profile +./usr/lib/o32/libtre_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libukfs.a comp-c-lib compat,rump +./usr/lib/o32/libukfs.so base-sys-shlib compat,pic,rump +./usr/lib/o32/libukfs_p.a comp-c-proflib compat,profile,rump +./usr/lib/o32/libukfs_pic.a comp-c-piclib compat,pic,rump +./usr/lib/o32/libusbhid.a comp-c-lib compat +./usr/lib/o32/libusbhid.so base-sys-shlib compat,pic +./usr/lib/o32/libusbhid_p.a comp-c-proflib compat,profile +./usr/lib/o32/libusbhid_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libutil.a comp-c-lib compat +./usr/lib/o32/libutil.so base-sys-shlib compat,pic +./usr/lib/o32/libutil_p.a comp-c-proflib compat,profile +./usr/lib/o32/libutil_pic.a comp-c-piclib compat,pic +./usr/lib/o32/libvers.a comp-obsolete obsolete +./usr/lib/o32/libvers_p.a comp-obsolete obsolete +./usr/lib/o32/libvers_pic.a comp-obsolete obsolete +./usr/lib/o32/libwind.a comp-c-lib compat,kerberos +./usr/lib/o32/libwind.so comp-sys-shlib compat,pic,kerberos +./usr/lib/o32/libwind_p.a comp-c-proflib compat,profile,kerberos +./usr/lib/o32/libwind_pic.a comp-c-piclib compat,pic,kerberos +./usr/lib/o32/libwrap.a comp-c-lib compat +./usr/lib/o32/libwrap.so base-sys-shlib compat,pic +./usr/lib/o32/libwrap_p.a comp-c-proflib compat,profile +./usr/lib/o32/libwrap_pic.a comp-c-piclib compat,pic +./usr/lib/o32/liby.a comp-c-lib compat +./usr/lib/o32/liby_p.a comp-c-proflib compat,profile +./usr/lib/o32/liby_pic.a comp-obsolete obsolete +./usr/lib/o32/libz.a comp-c-lib compat +./usr/lib/o32/libz.so base-sys-shlib compat,pic +./usr/lib/o32/libz_p.a comp-c-proflib compat,profile +./usr/lib/o32/libz_pic.a comp-c-piclib compat,pic +./usr/libdata/ldscripts/elf32btsmip.x comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xbn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xr comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xs comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xsc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xsw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xu comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmip.xw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.x comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xbn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xr comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xs comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xsc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xsw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xu comp-util-bin arch64 +./usr/libdata/ldscripts/elf32btsmipn32.xw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.x comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xbn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xr comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xs comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xsc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xsw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xu comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmip.xw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.x comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xbn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xn comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xr comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xs comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xsc comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xsw comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xu comp-util-bin arch64 +./usr/libdata/ldscripts/elf32ltsmipn32.xw comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.x comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xbn comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xc comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xn comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xr comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xs comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xsc comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xsw comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xu comp-util-bin arch64 +./usr/libdata/ldscripts/elf64btsmip.xw comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.x comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xbn comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xc comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xn comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xr comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xs comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xsc comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xsw comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xu comp-util-bin arch64 +./usr/libdata/ldscripts/elf64ltsmip.xw comp-util-bin arch64 diff --git a/distrib/sets/lists/comp/ad.mips64eb b/distrib/sets/lists/comp/ad.mips64eb deleted file mode 100644 index 4ea4e6b6b..000000000 --- a/distrib/sets/lists/comp/ad.mips64eb +++ /dev/null @@ -1,1637 +0,0 @@ -# $NetBSD: ad.mips64eb,v 1.90 2012/09/16 18:59:25 tls Exp $ -./usr/bin/elf2aout comp-obsolete obsolete -./usr/bin/elf2ecoff comp-sysutil-bin -./usr/include/gcc-4.5/loongson.h comp-c-include gcccmds,gcc=45 -./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 -./usr/include/mips comp-c-include -./usr/include/mips/ansi.h comp-c-include -./usr/include/mips/aout_machdep.h comp-obsolete obsolete -./usr/include/mips/asm.h comp-c-include -./usr/include/mips/bsd-aout.h comp-obsolete obsolete -./usr/include/mips/bswap.h comp-c-include -./usr/include/mips/cachectl.h comp-c-include -./usr/include/mips/cdefs.h comp-c-include -./usr/include/mips/cpu.h comp-c-include -./usr/include/mips/cpuregs.h comp-c-include -./usr/include/mips/db_machdep.h comp-obsolete obsolete -./usr/include/mips/ecoff_machdep.h comp-c-include -./usr/include/mips/elf.h comp-obsolete obsolete -./usr/include/mips/elf_machdep.h comp-c-include -./usr/include/mips/endian.h comp-c-include -./usr/include/mips/endian_machdep.h comp-c-include -./usr/include/mips/float.h comp-c-include -./usr/include/mips/ieee.h comp-c-include -./usr/include/mips/ieeefp.h comp-c-include -./usr/include/mips/int_const.h comp-c-include -./usr/include/mips/int_fmtio.h comp-c-include -./usr/include/mips/int_limits.h comp-c-include -./usr/include/mips/int_mwgwtypes.h comp-c-include -./usr/include/mips/int_types.h comp-c-include -./usr/include/mips/kcore.h comp-c-include -./usr/include/mips/kdbparam.h comp-c-include -./usr/include/mips/limits.h comp-c-include -./usr/include/mips/lock.h comp-c-include -./usr/include/mips/locore.h comp-c-include -./usr/include/mips/math.h comp-c-include -./usr/include/mips/mcontext.h comp-c-include -./usr/include/mips/mips1_pte.h comp-c-include -./usr/include/mips/mips3_pte.h comp-c-include -./usr/include/mips/mips_opcode.h comp-c-include -./usr/include/mips/mips_param.h comp-c-include -./usr/include/mips/mutex.h comp-c-include -./usr/include/mips/pcb.h comp-c-include -./usr/include/mips/pmap.h comp-c-include -./usr/include/mips/pmc.h comp-c-include -./usr/include/mips/proc.h comp-c-include -./usr/include/mips/profile.h comp-c-include -./usr/include/mips/psl.h comp-c-include -./usr/include/mips/pte.h comp-c-include -./usr/include/mips/ptrace.h comp-c-include -./usr/include/mips/reg.h comp-c-include -./usr/include/mips/regdef.h comp-c-include -./usr/include/mips/regnum.h comp-c-include -./usr/include/mips/reloc.h comp-c-include -./usr/include/mips/rwlock.h comp-c-include -./usr/include/mips/setjmp.h comp-c-include -./usr/include/mips/signal.h comp-c-include -./usr/include/mips/stdarg.h comp-obsolete obsolete -./usr/include/mips/sysarch.h comp-c-include -./usr/include/mips/trap.h comp-c-include -./usr/include/mips/types.h comp-c-include -./usr/include/mips/varargs.h comp-obsolete obsolete -./usr/include/mips/vmparam.h comp-c-include -./usr/include/mips/wchar_limits.h comp-c-include -./usr/lib/64/crt0.o comp-c-lib compat -./usr/lib/64/crtbegin.o comp-c-lib compat -./usr/lib/64/crtbeginS.o comp-c-lib compat,pic -./usr/lib/64/crtbeginT.o comp-c-lib compat,pic -./usr/lib/64/crtend.o comp-c-lib compat -./usr/lib/64/crtendS.o comp-c-lib compat,pic -./usr/lib/64/crti.o comp-c-lib compat -./usr/lib/64/crtn.o comp-c-lib compat -./usr/lib/64/gcrt0.o comp-c-lib compat -./usr/lib/64/i18n/libBIG5.a comp-c-lib compat -./usr/lib/64/i18n/libBIG5.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libBIG5_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libBIG5_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libDECHanyu.a comp-c-lib compat -./usr/lib/64/i18n/libDECHanyu.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libDECHanyu_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libDECHanyu_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUC.a comp-c-lib compat -./usr/lib/64/i18n/libEUC.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libEUCTW.a comp-c-lib compat -./usr/lib/64/i18n/libEUCTW.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libEUCTW_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUCTW_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUC_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUC_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libGBK2K.a comp-c-lib compat -./usr/lib/64/i18n/libGBK2K.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libGBK2K_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libGBK2K_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libHZ.a comp-c-lib compat -./usr/lib/64/i18n/libHZ.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libHZ_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libHZ_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libISO2022.a comp-c-lib compat -./usr/lib/64/i18n/libISO2022.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libISO2022_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libISO2022_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libJOHAB.a comp-c-lib compat -./usr/lib/64/i18n/libJOHAB.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libJOHAB_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libJOHAB_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libMSKanji.a comp-c-lib compat -./usr/lib/64/i18n/libMSKanji.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libMSKanji_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libMSKanji_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUES.a comp-c-lib compat -./usr/lib/64/i18n/libUES.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUES_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUES_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF1632.a comp-c-lib compat -./usr/lib/64/i18n/libUTF1632.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUTF1632_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF1632_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF7.a comp-c-lib compat -./usr/lib/64/i18n/libUTF7.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUTF7_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF7_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF8.a comp-c-lib compat -./usr/lib/64/i18n/libUTF8.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUTF8_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF8_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libVIQR.a comp-c-lib compat -./usr/lib/64/i18n/libVIQR.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libVIQR_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libVIQR_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libZW.a comp-c-lib compat -./usr/lib/64/i18n/libZW.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libZW_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libZW_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_none.a comp-c-lib compat -./usr/lib/64/i18n/libiconv_none.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libiconv_none_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_none_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_std.a comp-c-lib compat -./usr/lib/64/i18n/libiconv_std.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libiconv_std_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_std_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_646.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_646.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_646_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_646_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_none.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_none.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_none_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_none_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_parallel.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_parallel.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_parallel_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_parallel_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_serial.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_serial.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_serial_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_serial_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_std.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_std.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_std_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_std_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_zone.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_zone.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_zone_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_zone_pic.a comp-obsolete obsolete -./usr/lib/64/libarchive.a comp-c-lib compat -./usr/lib/64/libarchive.so base-sys-shlib compat,pic -./usr/lib/64/libarchive_p.a comp-c-proflib compat,profile -./usr/lib/64/libarchive_pic.a comp-c-piclib compat,pic -./usr/lib/64/libasn1.a comp-c-lib compat,kerberos -./usr/lib/64/libasn1.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libasn1_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libasn1_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libatf-c++.a comp-c-lib compat,atf -./usr/lib/64/libatf-c++.so base-sys-lib compat,pic,atf -./usr/lib/64/libatf-c++_p.a comp-c-proflib compat,profile,atf -./usr/lib/64/libatf-c++_pic.a comp-c-piclib compat,pic,atf -./usr/lib/64/libatf-c.a comp-c-lib compat,atf -./usr/lib/64/libatf-c.so base-sys-lib compat,pic,atf -./usr/lib/64/libatf-c_p.a comp-c-proflib compat,profile,atf -./usr/lib/64/libatf-c_pic.a comp-c-piclib compat,pic,atf -./usr/lib/64/libbfd.a comp-obsolete obsolete -./usr/lib/64/libbfd.so base-obsolete obsolete -./usr/lib/64/libbfd_p.a comp-obsolete obsolete -./usr/lib/64/libbfd_pic.a comp-obsolete obsolete -./usr/lib/64/libbind9.a comp-c-lib compat -./usr/lib/64/libbind9.so base-sys-shlib compat,pic -./usr/lib/64/libbind9_p.a comp-c-proflib compat,profile -./usr/lib/64/libbind9_pic.a comp-c-piclib compat,pic -./usr/lib/64/libbluetooth.a comp-c-lib compat -./usr/lib/64/libbluetooth.so base-sys-shlib compat,pic -./usr/lib/64/libbluetooth_p.a comp-c-proflib compat,profile -./usr/lib/64/libbluetooth_pic.a comp-c-piclib compat,pic -./usr/lib/64/libbsdmalloc.a comp-c-lib compat -./usr/lib/64/libbsdmalloc.so base-sys-shlib compat,pic -./usr/lib/64/libbsdmalloc_p.a comp-c-proflib compat,profile -./usr/lib/64/libbsdmalloc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libbz2.a comp-c-lib compat -./usr/lib/64/libbz2.so base-sys-shlib compat,pic -./usr/lib/64/libbz2_p.a comp-c-proflib compat,profile -./usr/lib/64/libbz2_pic.a comp-c-piclib compat,pic -./usr/lib/64/libc.a comp-c-lib compat -./usr/lib/64/libc.so base-sys-shlib compat,pic -./usr/lib/64/libc_p.a comp-c-proflib compat,profile -./usr/lib/64/libc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libcom_err.a comp-c-lib compat,kerberos -./usr/lib/64/libcom_err.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libcom_err_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libcom_err_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libcompat.a comp-c-lib compat -./usr/lib/64/libcompat_p.a comp-c-proflib compat,profile -./usr/lib/64/libcompat_pic.a comp-c-piclib compat,pic -./usr/lib/64/libcrypt.a comp-c-lib compat -./usr/lib/64/libcrypt.so base-sys-shlib compat,pic -./usr/lib/64/libcrypt_p.a comp-c-proflib compat,profile -./usr/lib/64/libcrypt_pic.a comp-c-piclib compat,pic -./usr/lib/64/libcrypto.a comp-c-lib compat,crypto -./usr/lib/64/libcrypto_g.a comp-c-proflib compat,crypto,debuglib -./usr/lib/64/libcrypto.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libcrypto_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libcrypto_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libcrypto_idea.a comp-obsolete obsolete -./usr/lib/64/libcrypto_idea.so base-obsolete obsolete -./usr/lib/64/libcrypto_idea_g.a comp-obsolete obsolete -./usr/lib/64/libcrypto_idea_p.a comp-obsolete obsolete -./usr/lib/64/libcrypto_idea_pic.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.so base-obsolete obsolete -./usr/lib/64/libcrypto_mdc2_g.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2_p.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2_pic.a comp-obsolete obsolete -./usr/lib/64/libcrypto_rc5.a comp-c-lib crypto_rc5,compat -./usr/lib/64/libcrypto_rc5.so base-sys-shlib compat,crypto,crypto_rc5,pic -./usr/lib/64/libcrypto_rc5_g.a comp-c-proflib compat,crypto,crypto_rc5,debuglib -./usr/lib/64/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile -./usr/lib/64/libcrypto_rc5_pic.a comp-c-piclib compat,crypto,crypto_rc5,pic -./usr/lib/64/libcurses.a comp-c-lib compat -./usr/lib/64/libcurses.so base-sys-shlib compat,pic -./usr/lib/64/libcurses_p.a comp-c-proflib compat,profile -./usr/lib/64/libcurses_pic.a comp-c-piclib compat,pic -./usr/lib/64/libdes.a comp-c-lib compat,crypto -./usr/lib/64/libdes.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libdes_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libdes_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libdevmapper.a comp-lvm-lib compat,lvm -./usr/lib/64/libdevmapper.so base-lvm-shlib compat,lvm,pic -./usr/lib/64/libdevmapper_g.a -unknown- compat,debuglib,lvm -./usr/lib/64/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm -./usr/lib/64/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm -./usr/lib/64/libdm.a comp-c-lib compat -./usr/lib/64/libdm.so base-sys-shlib compat,pic -./usr/lib/64/libdm_g.a -unknown- compat,debuglib -./usr/lib/64/libdm_p.a comp-c-proflib compat,profile -./usr/lib/64/libdm_pic.a comp-c-piclib compat,pic -./usr/lib/64/libdns.a comp-c-lib compat -./usr/lib/64/libdns.so base-sys-shlib compat,pic -./usr/lib/64/libdns_p.a comp-c-proflib compat,profile -./usr/lib/64/libdns_pic.a comp-c-piclib compat,pic -./usr/lib/64/libdns_sd.a comp-c-lib compat,mdns -./usr/lib/64/libdns_sd.so base-mdns-shlib compat,pic,mdns -./usr/lib/64/libdns_sd_p.a comp-c-proflib compat,profile,mdns -./usr/lib/64/libdns_sd_pic.a comp-c-piclib compat,pic,mdns -./usr/lib/64/libdwarf.a comp-c-lib compat -./usr/lib/64/libdwarf.so base-sys-shlib compat,pic -./usr/lib/64/libdwarf_p.a comp-c-proflib compat,profile -./usr/lib/64/libdwarf_pic.a comp-c-piclib compat,pic -./usr/lib/64/libedit.a comp-c-lib compat -./usr/lib/64/libedit.so base-sys-shlib compat,pic -./usr/lib/64/libedit_p.a comp-c-proflib compat,profile -./usr/lib/64/libedit_pic.a comp-c-piclib compat,pic -./usr/lib/64/libelf.a comp-c-lib compat -./usr/lib/64/libelf.so base-sys-shlib compat,pic -./usr/lib/64/libelf_p.a comp-c-proflib compat,profile -./usr/lib/64/libelf_pic.a comp-c-piclib compat,pic -./usr/lib/64/libevent.a comp-c-lib compat -./usr/lib/64/libevent.so base-sys-shlib compat,pic -./usr/lib/64/libevent_p.a comp-c-proflib compat,profile -./usr/lib/64/libevent_pic.a comp-c-piclib compat,pic -./usr/lib/64/libexecinfo.a comp-c-lib compat -./usr/lib/64/libexecinfo.so base-sys-shlib compat,pic -./usr/lib/64/libexecinfo_p.a comp-c-proflib compat,profile -./usr/lib/64/libexecinfo_pic.a comp-c-piclib compat,pic -./usr/lib/64/libexpat.a comp-c-lib compat -./usr/lib/64/libexpat.so base-sys-shlib compat,pic -./usr/lib/64/libexpat_p.a comp-c-proflib compat,profile -./usr/lib/64/libexpat_pic.a comp-c-piclib compat,pic -./usr/lib/64/libfetch.a comp-c-lib compat -./usr/lib/64/libfetch.so base-sys-shlib compat,pic -./usr/lib/64/libfetch_p.a comp-c-proflib compat,profile -./usr/lib/64/libfetch_pic.a comp-c-piclib compat,pic -./usr/lib/64/libfl.a comp-c-lib compat -./usr/lib/64/libfl_p.a comp-c-proflib compat,profile -./usr/lib/64/libform.a comp-c-lib compat -./usr/lib/64/libform.so base-sys-shlib compat,pic -./usr/lib/64/libform_p.a comp-c-proflib compat,profile -./usr/lib/64/libform_pic.a comp-c-piclib compat,pic -./usr/lib/64/libgcc.a comp-c-lib compat,gcccmds -./usr/lib/64/libgcc_eh.a comp-c-lib compat,pic,gcccmds -./usr/lib/64/libgcc_eh_p.a comp-c-proflib obsolete -./usr/lib/64/libgcc_eh_pic.a comp-c-piclib obsolete -./usr/lib/64/libgcc_p.a comp-c-proflib obsolete -./usr/lib/64/libgcc_pic.a comp-c-piclib obsolete -./usr/lib/64/libgcc_s.a comp-obsolete obsolete -./usr/lib/64/libgcc_s.so base-sys-shlib compat,pic,gcccmds -./usr/lib/64/libgcc_s_p.a comp-obsolete obsolete -./usr/lib/64/libgcc_s_pic.a comp-obsolete obsolete -./usr/lib/64/libgcov.a comp-c-lib compat,gcccmds -./usr/lib/64/libgcov_p.a comp-obsolete obsolete -./usr/lib/64/libgcov_pic.a comp-obsolete obsolete -./usr/lib/64/libgmp.a comp-c-lib obsolete -./usr/lib/64/libgmp.so base-sys-shlib obsolete -./usr/lib/64/libgmp_g.a -unknown- obsolete -./usr/lib/64/libgmp_p.a comp-c-proflib obsolete -./usr/lib/64/libgmp_pic.a comp-c-piclib obsolete -./usr/lib/64/libgnumalloc.a comp-c-lib compat -./usr/lib/64/libgnumalloc.so base-sys-shlib compat,pic -./usr/lib/64/libgnumalloc_p.a comp-c-proflib compat,profile -./usr/lib/64/libgnumalloc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libgomp.a comp-c-lib compat,gcc=45,notyet -./usr/lib/64/libgomp.so base-sys-shlib compat,pic,gcc=45,notyet -./usr/lib/64/libgomp_p.a comp-c-proflib compat,profile,gcc=45,notyet -./usr/lib/64/libgomp_pic.a comp-c-piclib compat,pic,gcc=45,notyet -./usr/lib/64/libgssapi.a comp-c-lib compat,kerberos -./usr/lib/64/libgssapi.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libgssapi_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libgssapi_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libhdb.a comp-c-lib compat,kerberos -./usr/lib/64/libhdb.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libhdb_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libhdb_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libheimbase.a comp-c-lib compat,kerberos -./usr/lib/64/libheimbase.so comp-sys-shlib compat,pic,kerberos -./usr/lib/64/libheimbase_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/64/libheimbase_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libheimbase_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/64/libheimntlm.a comp-c-lib compat,kerberos -./usr/lib/64/libheimntlm.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libheimntlm_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libhx509.a comp-c-lib compat,kerberos -./usr/lib/64/libhx509.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libhx509_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libhx509_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libiberty.a comp-obsolete obsolete -./usr/lib/64/libiberty_p.a comp-obsolete obsolete -./usr/lib/64/libiberty_pic.a comp-obsolete obsolete -./usr/lib/64/libintl.a comp-c-lib compat -./usr/lib/64/libintl.so base-sys-shlib compat,pic -./usr/lib/64/libintl_p.a comp-c-proflib compat,profile -./usr/lib/64/libintl_pic.a comp-c-piclib compat,pic -./usr/lib/64/libipsec.a comp-c-lib compat -./usr/lib/64/libipsec.so base-sys-shlib compat,pic -./usr/lib/64/libipsec_p.a comp-c-proflib compat,profile -./usr/lib/64/libipsec_pic.a comp-c-piclib compat,pic -./usr/lib/64/libisc.a comp-c-lib compat -./usr/lib/64/libisc.so base-sys-shlib compat,pic -./usr/lib/64/libisc_p.a comp-c-proflib compat,profile -./usr/lib/64/libisc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libisccc.a comp-c-lib compat -./usr/lib/64/libisccc.so base-sys-shlib compat,pic -./usr/lib/64/libisccc_p.a comp-c-proflib compat,profile -./usr/lib/64/libisccc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libisccfg.a comp-c-lib compat -./usr/lib/64/libisccfg.so base-sys-shlib compat,pic -./usr/lib/64/libisccfg_p.a comp-c-proflib compat,profile -./usr/lib/64/libisccfg_pic.a comp-c-piclib compat,pic -./usr/lib/64/libiscsi.a comp-c-lib compat,iscsi -./usr/lib/64/libiscsi.so base-sys-shlib compat,pic,iscsi -./usr/lib/64/libiscsi_p.a comp-c-proflib compat,profile,iscsi -./usr/lib/64/libiscsi_pic.a comp-c-piclib compat,pic,iscsi -./usr/lib/64/libisns.a comp-c-lib compat -./usr/lib/64/libisns.so comp-sys-shlib compat -./usr/lib/64/libisns_p.a comp-c-proflib compat,profile -./usr/lib/64/libisns_pic.a comp-c-piclib compat,pic -./usr/lib/64/libkadm5clnt.a comp-c-lib compat,kerberos -./usr/lib/64/libkadm5clnt.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkadm5srv.a comp-c-lib compat,kerberos -./usr/lib/64/libkadm5srv.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkafs.a comp-c-lib compat,kerberos -./usr/lib/64/libkafs.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkafs_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkafs_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkdc.a comp-c-lib compat,kerberos -./usr/lib/64/libkdc.so comp-sys-shlib compat,pic,kerberos -./usr/lib/64/libkdc_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/64/libkdc_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkdc_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/64/libkrb5.a comp-c-lib compat,kerberos -./usr/lib/64/libkrb5.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkrb5_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkrb5_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkvm.a comp-c-lib compat -./usr/lib/64/libkvm.so base-sys-shlib compat,pic -./usr/lib/64/libkvm_p.a comp-c-proflib compat,profile -./usr/lib/64/libkvm_pic.a comp-c-piclib compat,pic -./usr/lib/64/libl.a comp-c-lib compat -./usr/lib/64/libl_p.a comp-c-proflib compat,profile -./usr/lib/64/libl_pic.a comp-obsolete obsolete -./usr/lib/64/liblber.a comp-c-lib compat,ldap -./usr/lib/64/liblber.so base-sys-shlib compat,pic,ldap -./usr/lib/64/liblber_p.a comp-c-proflib compat,profile,ldap -./usr/lib/64/liblber_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/64/libldap.a comp-c-lib compat,ldap -./usr/lib/64/libldap.so base-sys-shlib compat,pic,ldap -./usr/lib/64/libldap_p.a comp-c-proflib compat,profile,ldap -./usr/lib/64/libldap_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/64/libldap_r.a comp-c-lib compat,ldap -./usr/lib/64/libldap_r.so base-sys-shlib compat,pic,ldap -./usr/lib/64/libldap_r_p.a comp-c-proflib compat,profile,ldap -./usr/lib/64/libldap_r_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/64/liblua.a comp-c-lib compat -./usr/lib/64/liblua.so base-sys-shlib compat,pic -./usr/lib/64/liblua_p.a comp-c-proflib compat,profile -./usr/lib/64/liblua_pic.a comp-c-piclib compat,pic -./usr/lib/64/liblwres.a comp-c-lib compat -./usr/lib/64/liblwres.so base-sys-shlib compat,pic -./usr/lib/64/liblwres_p.a comp-c-proflib compat,profile -./usr/lib/64/liblwres_pic.a comp-c-piclib compat,pic -./usr/lib/64/liblzf.a comp-c-lib compat -./usr/lib/64/liblzf.so base-sys-shlib compat,pic -./usr/lib/64/liblzf_g.a -unknown- compat,debuglib -./usr/lib/64/liblzf_p.a comp-c-proflib compat,profile -./usr/lib/64/liblzf_pic.a comp-c-piclib compat,pic -./usr/lib/64/liblzma.a comp-c-lib compat -./usr/lib/64/liblzma.so base-sys-shlib compat,pic -./usr/lib/64/liblzma_p.a comp-c-proflib compat,profile -./usr/lib/64/liblzma_pic.a comp-c-piclib compat,pic -./usr/lib/64/libm.a comp-c-lib compat -./usr/lib/64/libm.so base-sys-shlib compat,pic -./usr/lib/64/libm_p.a comp-c-proflib compat,profile -./usr/lib/64/libm_pic.a comp-c-piclib compat,pic -./usr/lib/64/libmagic.a comp-c-lib compat -./usr/lib/64/libmagic.so base-sys-shlib compat,pic -./usr/lib/64/libmagic_p.a comp-c-proflib compat,profile -./usr/lib/64/libmagic_pic.a comp-c-piclib compat,pic -./usr/lib/64/libmenu.a comp-c-lib compat -./usr/lib/64/libmenu.so base-sys-shlib compat,pic -./usr/lib/64/libmenu_p.a comp-c-proflib compat,profile -./usr/lib/64/libmenu_pic.a comp-c-piclib compat,pic -./usr/lib/64/libmj.a comp-c-lib compat,crypto -./usr/lib/64/libmj.so comp-sys-shlib compat,crypto,pic -./usr/lib/64/libmj_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libmj_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libmpc.a comp-c-lib obsolete -./usr/lib/64/libmpc.so base-sys-shlib obsolete -./usr/lib/64/libmpc_g.a -unknown- obsolete -./usr/lib/64/libmpc_p.a comp-c-proflib obsolete -./usr/lib/64/libmpc_pic.a comp-c-piclib obsolete -./usr/lib/64/libmpfr.a comp-c-lib obsolete -./usr/lib/64/libmpfr.so base-sys-shlib obsolete -./usr/lib/64/libmpfr_g.a -unknown- obsolete -./usr/lib/64/libmpfr_p.a comp-c-proflib obsolete -./usr/lib/64/libmpfr_pic.a comp-c-piclib obsolete -./usr/lib/64/libnetpgp.a comp-c-lib compat,crypto -./usr/lib/64/libnetpgp.so comp-sys-shlib compat,crypto,pic -./usr/lib/64/libnetpgp_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libnetpgp_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libnpf.a comp-c-lib compat,npf -./usr/lib/64/libnpf.so comp-sys-shlib compat,npf,pic -./usr/lib/64/libnpf_p.a comp-c-proflib compat,npf,profile -./usr/lib/64/libnpf_pic.a comp-c-piclib compat,npf,pic -./usr/lib/64/libobjc.a comp-c-lib compat,gcccmds -./usr/lib/64/libobjc.so base-sys-shlib compat,pic,gcccmds -./usr/lib/64/libobjc_p.a comp-c-proflib compat,profile,gcccmds -./usr/lib/64/libobjc_pic.a comp-c-piclib compat,pic,gcccmds -./usr/lib/64/libopcodes.a comp-obsolete obsolete -./usr/lib/64/libopcodes.so base-obsolete obsolete -./usr/lib/64/libopcodes_p.a comp-obsolete obsolete -./usr/lib/64/libopcodes_pic.a comp-obsolete obsolete -./usr/lib/64/libossaudio.a comp-c-lib compat -./usr/lib/64/libossaudio.so base-sys-shlib compat,pic -./usr/lib/64/libossaudio_p.a comp-c-proflib compat,profile -./usr/lib/64/libossaudio_pic.a comp-c-piclib compat,pic -./usr/lib/64/libp2k.a comp-c-lib compat,rump -./usr/lib/64/libp2k.so base-sys-shlib compat,pic,rump -./usr/lib/64/libp2k_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/libp2k_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/libpam.a comp-c-lib compat -./usr/lib/64/libpam.so base-sys-shlib compat,pic -./usr/lib/64/libpam_p.a comp-obsolete obsolete -./usr/lib/64/libpam_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpcap.a comp-c-lib compat -./usr/lib/64/libpcap.so base-sys-shlib compat,pic -./usr/lib/64/libpcap_p.a comp-c-proflib compat,profile -./usr/lib/64/libpcap_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpci.a comp-c-lib compat -./usr/lib/64/libpci.so base-sys-shlib compat,pic -./usr/lib/64/libpci_p.a comp-c-proflib compat,profile -./usr/lib/64/libpci_pic.a comp-c-piclib compat,pic -./usr/lib/64/libperfuse.a comp-c-lib compat -./usr/lib/64/libperfuse.so base-sys-shlib compat,pic -./usr/lib/64/libperfuse_g.a comp-c-proflib compat,debuglib -./usr/lib/64/libperfuse_p.a comp-c-proflib compat,profile -./usr/lib/64/libperfuse_pic.a comp-c-piclib compat,pic -./usr/lib/64/libposix.a comp-c-lib compat -./usr/lib/64/libposix.so base-sys-shlib compat,pic -./usr/lib/64/libposix_p.a comp-c-proflib compat,profile -./usr/lib/64/libposix_pic.a comp-c-piclib compat,pic -./usr/lib/64/libppath.a comp-c-lib compat -./usr/lib/64/libppath.so base-sys-shlib compat,pic -./usr/lib/64/libppath_p.a comp-c-proflib compat,profile -./usr/lib/64/libppath_pic.a comp-c-piclib compat,pic -./usr/lib/64/libprop.a comp-c-lib compat -./usr/lib/64/libprop.so base-sys-shlib compat,pic -./usr/lib/64/libprop_p.a comp-c-proflib compat,profile -./usr/lib/64/libprop_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpthread.a comp-c-lib compat -./usr/lib/64/libpthread.so base-sys-shlib compat,pic -./usr/lib/64/libpthread_dbg.a comp-c-lib compat -./usr/lib/64/libpthread_dbg.so base-sys-shlib compat,pic -./usr/lib/64/libpthread_dbg_p.a comp-c-proflib compat,profile -./usr/lib/64/libpthread_dbg_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpthread_p.a comp-c-proflib compat,profile -./usr/lib/64/libpthread_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpuffs.a comp-c-lib compat -./usr/lib/64/libpuffs.so base-sys-shlib compat,pic -./usr/lib/64/libpuffs_p.a comp-c-proflib compat,profile -./usr/lib/64/libpuffs_pic.a comp-c-piclib compat,pic -./usr/lib/64/libquota.a comp-c-lib compat -./usr/lib/64/libquota.so base-sys-shlib compat,pic -./usr/lib/64/libquota_p.a comp-c-proflib compat,profile -./usr/lib/64/libquota_pic.a comp-c-piclib compat,pic -./usr/lib/64/libradius.a comp-c-lib compat -./usr/lib/64/libradius.so base-sys-shlib compat,pic -./usr/lib/64/libradius_p.a comp-c-proflib compat,profile -./usr/lib/64/libradius_pic.a comp-c-piclib compat,pic -./usr/lib/64/librefuse.a comp-c-lib compat -./usr/lib/64/librefuse.so base-sys-shlib compat,pic -./usr/lib/64/librefuse_p.a comp-c-proflib compat,profile -./usr/lib/64/librefuse_pic.a comp-c-piclib compat,pic -./usr/lib/64/libresolv.a comp-c-lib compat -./usr/lib/64/libresolv.so base-sys-shlib compat,pic -./usr/lib/64/libresolv_p.a comp-c-proflib compat,profile -./usr/lib/64/libresolv_pic.a comp-c-piclib compat,pic -./usr/lib/64/librmt.a comp-c-lib compat -./usr/lib/64/librmt_p.a comp-obsolete obsolete -./usr/lib/64/librmt_pic.a comp-obsolete obsolete -./usr/lib/64/libroken.a comp-c-lib compat,kerberos -./usr/lib/64/libroken.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libroken_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libroken_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/librpcsvc.a comp-c-lib compat -./usr/lib/64/librpcsvc.so base-sys-shlib compat,pic -./usr/lib/64/librpcsvc_p.a comp-c-proflib compat,profile -./usr/lib/64/librpcsvc_pic.a comp-c-piclib compat,pic -./usr/lib/64/librt.a comp-c-lib compat -./usr/lib/64/librt.so base-sys-shlib compat,pic -./usr/lib/64/librt_p.a comp-c-proflib compat,profile -./usr/lib/64/librt_pic.a comp-c-piclib compat,pic -./usr/lib/64/librump.a comp-c-lib compat,rump -./usr/lib/64/librump.so base-sys-shlib compat,pic,rump -./usr/lib/64/librump_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librump_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpclient.a comp-c-lib compat,rump -./usr/lib/64/librumpclient.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpclient_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpclient_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpcrypto.a comp-obsolete obsolete -./usr/lib/64/librumpcrypto.so base-obsolete obsolete -./usr/lib/64/librumpcrypto_p.a comp-obsolete obsolete -./usr/lib/64/librumpcrypto_pic.a comp-obsolete obsolete -./usr/lib/64/librumpdev.a comp-c-lib compat,rump -./usr/lib/64/librumpdev.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpdev_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpdev_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumphijack.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumphijack_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpnet.a comp-c-lib compat,rump -./usr/lib/64/librumpnet.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpnet_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpnet_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpuser.a comp-c-lib compat,rump -./usr/lib/64/librumpuser.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpuser_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpuser_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpvfs.a comp-c-lib compat,rump -./usr/lib/64/librumpvfs.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpvfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpvfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/libsaslc.a comp-c-lib compat,crypto -./usr/lib/64/libsaslc.so base-sys-shlib compat,pic,crypto -./usr/lib/64/libsaslc_p.a comp-c-proflib compat,profile,crypto -./usr/lib/64/libsaslc_pic.a comp-c-piclib compat,pic,crypto -./usr/lib/64/libsdp.a comp-obsolete obsolete -./usr/lib/64/libsdp.so base-obsolete obsolete -./usr/lib/64/libsdp_p.a comp-obsolete obsolete -./usr/lib/64/libsdp_pic.a comp-obsolete obsolete -./usr/lib/64/libskey.a comp-c-lib compat,skey -./usr/lib/64/libskey.so base-sys-shlib compat,pic,skey -./usr/lib/64/libskey_p.a comp-c-proflib compat,profile,skey -./usr/lib/64/libskey_pic.a comp-c-piclib compat,pic,skey -./usr/lib/64/libsl.a comp-c-lib compat,kerberos -./usr/lib/64/libsl.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libsl_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libsl_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libsqlite3.a comp-c-lib compat -./usr/lib/64/libsqlite3.so base-sys-shlib compat,pic -./usr/lib/64/libsqlite3_p.a comp-c-proflib compat,profile -./usr/lib/64/libsqlite3_pic.a comp-c-piclib compat,pic -./usr/lib/64/libss.a comp-c-lib obsolete -./usr/lib/64/libss.so base-sys-shlib obsolete -./usr/lib/64/libss_p.a comp-c-proflib obsolete -./usr/lib/64/libss_pic.a comp-c-piclib obsolete -./usr/lib/64/libssh.a comp-c-lib compat,crypto -./usr/lib/64/libssh.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libssh_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libssh_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libssl.a comp-c-lib compat,crypto -./usr/lib/64/libssl.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libssl_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libssl_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libstdc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/64/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds -./usr/lib/64/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds -./usr/lib/64/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds -./usr/lib/64/libsupc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/64/libsupc++.so base-obsolete obsolete -./usr/lib/64/libsupc++_pic.a comp-obsolete obsolete -./usr/lib/64/libtermcap.a comp-c-lib compat -./usr/lib/64/libtermcap.so base-sys-shlib compat,pic -./usr/lib/64/libtermcap_p.a comp-c-proflib compat,profile -./usr/lib/64/libtermcap_pic.a comp-c-piclib compat,pic -./usr/lib/64/libterminfo.a comp-c-lib compat -./usr/lib/64/libterminfo.so base-sys-shlib compat,pic -./usr/lib/64/libterminfo_p.a comp-c-proflib compat,profile -./usr/lib/64/libterminfo_pic.a comp-c-piclib compat,pic -./usr/lib/64/libtermlib.a comp-c-lib compat -./usr/lib/64/libtermlib.so base-sys-shlib compat,pic -./usr/lib/64/libtermlib_p.a comp-c-proflib compat,profile -./usr/lib/64/libtermlib_pic.a comp-c-piclib compat,pic -./usr/lib/64/libtre.a comp-c-lib compat -./usr/lib/64/libtre.so base-sys-shlib compat,pic -./usr/lib/64/libtre_p.a comp-c-proflib compat,profile -./usr/lib/64/libtre_pic.a comp-c-piclib compat,pic -./usr/lib/64/libukfs.a comp-c-lib compat,rump -./usr/lib/64/libukfs.so base-sys-shlib compat,pic,rump -./usr/lib/64/libukfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/libukfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/libusbhid.a comp-c-lib compat -./usr/lib/64/libusbhid.so base-sys-shlib compat,pic -./usr/lib/64/libusbhid_p.a comp-c-proflib compat,profile -./usr/lib/64/libusbhid_pic.a comp-c-piclib compat,pic -./usr/lib/64/libutil.a comp-c-lib compat -./usr/lib/64/libutil.so base-sys-shlib compat,pic -./usr/lib/64/libutil_p.a comp-c-proflib compat,profile -./usr/lib/64/libutil_pic.a comp-c-piclib compat,pic -./usr/lib/64/libvers.a comp-obsolete obsolete -./usr/lib/64/libvers_p.a comp-obsolete obsolete -./usr/lib/64/libvers_pic.a comp-obsolete obsolete -./usr/lib/64/libwind.a comp-c-lib compat,kerberos -./usr/lib/64/libwind.so comp-sys-shlib compat,pic,kerberos -./usr/lib/64/libwind_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/64/libwind_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libwind_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libwrap.a comp-c-lib compat -./usr/lib/64/libwrap.so base-sys-shlib compat,pic -./usr/lib/64/libwrap_p.a comp-c-proflib compat,profile -./usr/lib/64/libwrap_pic.a comp-c-piclib compat,pic -./usr/lib/64/liby.a comp-c-lib compat -./usr/lib/64/liby_p.a comp-c-proflib compat,profile -./usr/lib/64/liby_pic.a comp-obsolete obsolete -./usr/lib/64/libz.a comp-c-lib compat -./usr/lib/64/libz.so base-sys-shlib compat,pic -./usr/lib/64/libz_p.a comp-c-proflib compat,profile -./usr/lib/64/libz_pic.a comp-c-piclib compat,pic -./usr/lib/o32/crt0.o comp-c-lib compat -./usr/lib/o32/crtbegin.o comp-c-lib compat -./usr/lib/o32/crtbeginS.o comp-c-lib compat,pic -./usr/lib/o32/crtbeginT.o comp-c-lib compat,pic -./usr/lib/o32/crtend.o comp-c-lib compat -./usr/lib/o32/crtendS.o comp-c-lib compat,pic -./usr/lib/o32/crti.o comp-c-lib compat -./usr/lib/o32/crtn.o comp-c-lib compat -./usr/lib/o32/gcrt0.o comp-c-lib compat -./usr/lib/o32/i18n/libBIG5.a comp-c-lib compat -./usr/lib/o32/i18n/libBIG5.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libBIG5_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libBIG5_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libDECHanyu.a comp-c-lib compat -./usr/lib/o32/i18n/libDECHanyu.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libDECHanyu_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libDECHanyu_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUC.a comp-c-lib compat -./usr/lib/o32/i18n/libEUC.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW.a comp-c-lib compat -./usr/lib/o32/i18n/libEUCTW.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUCTW_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUC_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUC_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libGBK2K.a comp-c-lib compat -./usr/lib/o32/i18n/libGBK2K.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libGBK2K_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libGBK2K_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libHZ.a comp-c-lib compat -./usr/lib/o32/i18n/libHZ.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libHZ_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libHZ_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libISO2022.a comp-c-lib compat -./usr/lib/o32/i18n/libISO2022.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libISO2022_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libISO2022_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libJOHAB.a comp-c-lib compat -./usr/lib/o32/i18n/libJOHAB.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libJOHAB_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libJOHAB_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libMSKanji.a comp-c-lib compat -./usr/lib/o32/i18n/libMSKanji.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libMSKanji_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libMSKanji_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUES.a comp-c-lib compat -./usr/lib/o32/i18n/libUES.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUES_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUES_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF1632.a comp-c-lib compat -./usr/lib/o32/i18n/libUTF1632.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUTF1632_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF1632_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF7.a comp-c-lib compat -./usr/lib/o32/i18n/libUTF7.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUTF7_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF7_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF8.a comp-c-lib compat -./usr/lib/o32/i18n/libUTF8.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUTF8_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF8_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libVIQR.a comp-c-lib compat -./usr/lib/o32/i18n/libVIQR.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libVIQR_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libVIQR_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libZW.a comp-c-lib compat -./usr/lib/o32/i18n/libZW.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libZW_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libZW_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_none.a comp-c-lib compat -./usr/lib/o32/i18n/libiconv_none.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libiconv_none_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_none_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_std.a comp-c-lib compat -./usr/lib/o32/i18n/libiconv_std.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libiconv_std_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_std_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_646.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_646.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_646_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_646_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_none.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_none.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_none_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_none_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_parallel.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_parallel.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_parallel_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_parallel_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_serial.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_serial.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_serial_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_serial_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_std.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_std.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_std_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_std_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_zone.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_zone.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_zone_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_zone_pic.a comp-obsolete obsolete -./usr/lib/o32/libarchive.a comp-c-lib compat -./usr/lib/o32/libarchive.so base-sys-shlib compat,pic -./usr/lib/o32/libarchive_p.a comp-c-proflib compat,profile -./usr/lib/o32/libarchive_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libasn1.a comp-c-lib compat,kerberos -./usr/lib/o32/libasn1.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libasn1_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libasn1_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libatf-c++.a comp-c-lib compat,atf -./usr/lib/o32/libatf-c++.so base-sys-lib compat,pic,atf -./usr/lib/o32/libatf-c++_p.a comp-c-proflib compat,profile,atf -./usr/lib/o32/libatf-c++_pic.a comp-c-piclib compat,pic,atf -./usr/lib/o32/libatf-c.a comp-c-lib compat,atf -./usr/lib/o32/libatf-c.so base-sys-lib compat,pic,atf -./usr/lib/o32/libatf-c_p.a comp-c-proflib compat,profile,atf -./usr/lib/o32/libatf-c_pic.a comp-c-piclib compat,pic,atf -./usr/lib/o32/libbfd.a comp-obsolete obsolete -./usr/lib/o32/libbfd.so base-obsolete obsolete -./usr/lib/o32/libbfd_p.a comp-obsolete obsolete -./usr/lib/o32/libbfd_pic.a comp-obsolete obsolete -./usr/lib/o32/libbind9.a comp-c-lib compat -./usr/lib/o32/libbind9.so base-sys-shlib compat,pic -./usr/lib/o32/libbind9_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbind9_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libbluetooth.a comp-c-lib compat -./usr/lib/o32/libbluetooth.so base-sys-shlib compat,pic -./usr/lib/o32/libbluetooth_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbluetooth_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libbsdmalloc.a comp-c-lib compat -./usr/lib/o32/libbsdmalloc.so base-sys-shlib compat,pic -./usr/lib/o32/libbsdmalloc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbsdmalloc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libbz2.a comp-c-lib compat -./usr/lib/o32/libbz2.so base-sys-shlib compat,pic -./usr/lib/o32/libbz2_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbz2_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libc.a comp-c-lib compat -./usr/lib/o32/libc.so base-sys-shlib compat,pic -./usr/lib/o32/libc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libcom_err.a comp-c-lib compat,kerberos -./usr/lib/o32/libcom_err.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libcom_err_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libcom_err_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libcompat.a comp-c-lib compat -./usr/lib/o32/libcompat_p.a comp-c-proflib compat,profile -./usr/lib/o32/libcompat_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libcrypt.a comp-c-lib compat -./usr/lib/o32/libcrypt.so base-sys-shlib compat,pic -./usr/lib/o32/libcrypt_p.a comp-c-proflib compat,profile -./usr/lib/o32/libcrypt_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libcrypto.a comp-c-lib compat,crypto -./usr/lib/o32/libcrypto.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libcrypto_idea.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_idea_p.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_mdc2.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_mdc2_p.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libcrypto_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libcrypto_rc5.a comp-c-lib crypto_rc5,compat -./usr/lib/o32/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile -./usr/lib/o32/libcurses.a comp-c-lib compat -./usr/lib/o32/libcurses.so base-sys-shlib compat,pic -./usr/lib/o32/libcurses_p.a comp-c-proflib compat,profile -./usr/lib/o32/libcurses_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libdes.a comp-c-lib compat,crypto -./usr/lib/o32/libdes.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libdes_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libdes_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libdevmapper.a comp-lvm-lib compat,lvm -./usr/lib/o32/libdevmapper.so base-lvm-shlib compat,lvm,pic -./usr/lib/o32/libdevmapper_g.a -unknown- compat,debuglib,lvm -./usr/lib/o32/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm -./usr/lib/o32/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm -./usr/lib/o32/libdm.a comp-c-lib compat -./usr/lib/o32/libdm.so base-sys-shlib compat,pic -./usr/lib/o32/libdm_g.a -unknown- compat,debuglib -./usr/lib/o32/libdm_p.a comp-c-proflib compat,profile -./usr/lib/o32/libdm_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libdns.a comp-c-lib compat -./usr/lib/o32/libdns.so base-sys-shlib compat,pic -./usr/lib/o32/libdns_p.a comp-c-proflib compat,profile -./usr/lib/o32/libdns_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libdns_sd.a comp-c-lib compat,mdns -./usr/lib/o32/libdns_sd.so base-mdns-shlib compat,pic,mdns -./usr/lib/o32/libdns_sd_p.a comp-c-proflib compat,profile,mdns -./usr/lib/o32/libdns_sd_pic.a comp-c-piclib compat,pic,mdns -./usr/lib/o32/libdwarf.a comp-c-lib compat -./usr/lib/o32/libdwarf.so base-sys-shlib compat,pic -./usr/lib/o32/libdwarf_p.a comp-c-proflib compat,profile -./usr/lib/o32/libdwarf_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libedit.a comp-c-lib compat -./usr/lib/o32/libedit.so base-sys-shlib compat,pic -./usr/lib/o32/libedit_p.a comp-c-proflib compat,profile -./usr/lib/o32/libedit_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libelf.a comp-c-lib compat -./usr/lib/o32/libelf.so base-sys-shlib compat,pic -./usr/lib/o32/libelf_p.a comp-c-proflib compat,profile -./usr/lib/o32/libelf_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libevent.a comp-c-lib compat -./usr/lib/o32/libevent.so base-sys-shlib compat,pic -./usr/lib/o32/libevent_p.a comp-c-proflib compat,profile -./usr/lib/o32/libevent_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libexecinfo.a comp-c-lib compat -./usr/lib/o32/libexecinfo.so base-sys-shlib compat,pic -./usr/lib/o32/libexecinfo_p.a comp-c-proflib compat,profile -./usr/lib/o32/libexecinfo_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libexpat.a comp-c-lib compat -./usr/lib/o32/libexpat.so base-sys-shlib compat,pic -./usr/lib/o32/libexpat_p.a comp-c-proflib compat,profile -./usr/lib/o32/libexpat_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libfetch.a comp-c-lib compat -./usr/lib/o32/libfetch.so base-sys-shlib compat,pic -./usr/lib/o32/libfetch_p.a comp-c-proflib compat,profile -./usr/lib/o32/libfetch_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libfl.a comp-c-lib compat -./usr/lib/o32/libfl_p.a comp-c-proflib compat,profile -./usr/lib/o32/libform.a comp-c-lib compat -./usr/lib/o32/libform.so base-sys-shlib compat,pic -./usr/lib/o32/libform_p.a comp-c-proflib compat,profile -./usr/lib/o32/libform_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libgcc.a comp-c-lib compat -./usr/lib/o32/libgcc_eh.a comp-c-lib compat,pic -./usr/lib/o32/libgcc_eh_p.a comp-c-proflib obsolete -./usr/lib/o32/libgcc_eh_pic.a comp-c-piclib obsolete -./usr/lib/o32/libgcc_p.a comp-c-proflib obsolete -./usr/lib/o32/libgcc_pic.a comp-c-piclib obsolete -./usr/lib/o32/libgcc_s.a comp-obsolete obsolete -./usr/lib/o32/libgcc_s.so base-sys-shlib compat,pic -./usr/lib/o32/libgcc_s_p.a comp-obsolete obsolete -./usr/lib/o32/libgcc_s_pic.a comp-obsolete obsolete -./usr/lib/o32/libgcov.a comp-c-lib compat,gcccmds -./usr/lib/o32/libgcov_p.a comp-obsolete obsolete -./usr/lib/o32/libgcov_pic.a comp-obsolete obsolete -./usr/lib/o32/libgmp.a comp-c-lib obsolete -./usr/lib/o32/libgmp.so base-sys-shlib obsolete -./usr/lib/o32/libgmp_g.a -unknown- obsolete -./usr/lib/o32/libgmp_p.a comp-c-proflib obsolete -./usr/lib/o32/libgmp_pic.a comp-c-piclib obsolete -./usr/lib/o32/libgnumalloc.a comp-c-lib compat -./usr/lib/o32/libgnumalloc.so base-sys-shlib compat,pic -./usr/lib/o32/libgnumalloc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libgnumalloc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libgomp.a comp-c-lib compat,gcc=45 -./usr/lib/o32/libgomp.so base-sys-shlib compat,pic,gcc=45 -./usr/lib/o32/libgomp_p.a comp-c-proflib compat,profile,gcc=45 -./usr/lib/o32/libgomp_pic.a comp-c-piclib compat,pic,gcc=45 -./usr/lib/o32/libgssapi.a comp-c-lib compat,kerberos -./usr/lib/o32/libgssapi.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libgssapi_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libgssapi_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libhdb.a comp-c-lib compat,kerberos -./usr/lib/o32/libhdb.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libhdb_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libhdb_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libheimbase.a comp-c-lib compat,kerberos -./usr/lib/o32/libheimbase.so comp-sys-shlib compat,pic,kerberos -./usr/lib/o32/libheimbase_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/o32/libheimbase_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libheimbase_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/o32/libheimntlm.a comp-c-lib compat,kerberos -./usr/lib/o32/libheimntlm.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libheimntlm_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libhx509.a comp-c-lib compat,kerberos -./usr/lib/o32/libhx509.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libhx509_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libhx509_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libiberty.a comp-obsolete obsolete -./usr/lib/o32/libiberty_p.a comp-obsolete obsolete -./usr/lib/o32/libiberty_pic.a comp-obsolete obsolete -./usr/lib/o32/libintl.a comp-c-lib compat -./usr/lib/o32/libintl.so base-sys-shlib compat,pic -./usr/lib/o32/libintl_p.a comp-c-proflib compat,profile -./usr/lib/o32/libintl_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libipsec.a comp-c-lib compat -./usr/lib/o32/libipsec.so base-sys-shlib compat,pic -./usr/lib/o32/libipsec_p.a comp-c-proflib compat,profile -./usr/lib/o32/libipsec_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libisc.a comp-c-lib compat -./usr/lib/o32/libisc.so base-sys-shlib compat,pic -./usr/lib/o32/libisc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libisccc.a comp-c-lib compat -./usr/lib/o32/libisccc.so base-sys-shlib compat,pic -./usr/lib/o32/libisccc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisccc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libisccfg.a comp-c-lib compat -./usr/lib/o32/libisccfg.so base-sys-shlib compat,pic -./usr/lib/o32/libisccfg_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisccfg_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libiscsi.a comp-c-lib compat,iscsi -./usr/lib/o32/libiscsi.so base-sys-shlib compat,pic,iscsi -./usr/lib/o32/libiscsi_p.a comp-c-proflib compat,profile,iscsi -./usr/lib/o32/libiscsi_pic.a comp-c-piclib compat,pic,iscsi -./usr/lib/o32/libisns.a comp-c-lib compat -./usr/lib/o32/libisns.so comp-sys-shlib compat -./usr/lib/o32/libisns_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisns_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libkadm5clnt.a comp-c-lib compat,kerberos -./usr/lib/o32/libkadm5clnt.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkadm5srv.a comp-c-lib compat,kerberos -./usr/lib/o32/libkadm5srv.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkafs.a comp-c-lib compat,kerberos -./usr/lib/o32/libkafs.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkafs_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkafs_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkdc.a comp-c-lib compat,kerberos -./usr/lib/o32/libkdc.so comp-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkdc_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/o32/libkdc_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkdc_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/o32/libkrb5.a comp-c-lib compat,kerberos -./usr/lib/o32/libkrb5.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkrb5_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkrb5_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkvm.a comp-c-lib compat -./usr/lib/o32/libkvm.so base-sys-shlib compat,pic -./usr/lib/o32/libkvm_p.a comp-c-proflib compat,profile -./usr/lib/o32/libkvm_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libl.a comp-c-lib compat -./usr/lib/o32/libl_p.a comp-c-proflib compat,profile -./usr/lib/o32/libl_pic.a comp-obsolete obsolete -./usr/lib/o32/liblber.a comp-c-lib compat,ldap -./usr/lib/o32/liblber.so base-sys-shlib compat,pic,ldap -./usr/lib/o32/liblber_p.a comp-c-proflib compat,profile,ldap -./usr/lib/o32/liblber_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/o32/libldap.a comp-c-lib compat,ldap -./usr/lib/o32/libldap.so base-sys-shlib compat,pic,ldap -./usr/lib/o32/libldap_p.a comp-c-proflib compat,profile,ldap -./usr/lib/o32/libldap_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/o32/libldap_r.a comp-c-lib compat,ldap -./usr/lib/o32/libldap_r.so base-sys-shlib compat,pic,ldap -./usr/lib/o32/libldap_r_p.a comp-c-proflib compat,profile,ldap -./usr/lib/o32/libldap_r_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/o32/liblua.a comp-c-lib compat -./usr/lib/o32/liblua.so base-sys-shlib compat,pic -./usr/lib/o32/liblua_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblua_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liblwres.a comp-c-lib compat -./usr/lib/o32/liblwres.so base-sys-shlib compat,pic -./usr/lib/o32/liblwres_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblwres_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liblzf.a comp-c-lib compat -./usr/lib/o32/liblzf.so base-sys-shlib compat,pic -./usr/lib/o32/liblzf_g.a -unknown- compat,debuglib -./usr/lib/o32/liblzf_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblzf_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liblzma.a comp-c-lib compat -./usr/lib/o32/liblzma.so base-sys-shlib compat,pic -./usr/lib/o32/liblzma_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblzma_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libm.a comp-c-lib compat -./usr/lib/o32/libm.so base-sys-shlib compat,pic -./usr/lib/o32/libm_p.a comp-c-proflib compat,profile -./usr/lib/o32/libm_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libmagic.a comp-c-lib compat -./usr/lib/o32/libmagic.so base-sys-shlib compat,pic -./usr/lib/o32/libmagic_p.a comp-c-proflib compat,profile -./usr/lib/o32/libmagic_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libmenu.a comp-c-lib compat -./usr/lib/o32/libmenu.so base-sys-shlib compat,pic -./usr/lib/o32/libmenu_p.a comp-c-proflib compat,profile -./usr/lib/o32/libmenu_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libmj.a comp-c-lib compat,crypto -./usr/lib/o32/libmj.so comp-sys-shlib compat,crypto,pic -./usr/lib/o32/libmj_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libmj_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libmpc.a comp-c-lib obsolete -./usr/lib/o32/libmpc.so base-sys-shlib obsolete -./usr/lib/o32/libmpc_g.a -unknown- obsolete -./usr/lib/o32/libmpc_p.a comp-c-proflib obsolete -./usr/lib/o32/libmpc_pic.a comp-c-piclib obsolete -./usr/lib/o32/libmpfr.a comp-c-lib obsolete -./usr/lib/o32/libmpfr.so base-sys-shlib obsolete -./usr/lib/o32/libmpfr_g.a -unknown- obsolete -./usr/lib/o32/libmpfr_p.a comp-c-proflib obsolete -./usr/lib/o32/libmpfr_pic.a comp-c-piclib obsolete -./usr/lib/o32/libnetpgp.a comp-c-lib compat,crypto -./usr/lib/o32/libnetpgp.so comp-sys-shlib compat,crypto,pic -./usr/lib/o32/libnetpgp_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libnetpgp_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libnpf.a comp-c-lib compat,npf -./usr/lib/o32/libnpf.so comp-sys-shlib compat,npf,pic -./usr/lib/o32/libnpf_p.a comp-c-proflib compat,npf,profile -./usr/lib/o32/libnpf_pic.a comp-c-piclib compat,npf,pic -./usr/lib/o32/libobjc.a comp-c-lib compat,gcccmds -./usr/lib/o32/libobjc.so base-sys-shlib compat,pic,gcccmds -./usr/lib/o32/libobjc_p.a comp-c-proflib compat,profile,gcccmds -./usr/lib/o32/libobjc_pic.a comp-c-piclib compat,pic,gcccmds -./usr/lib/o32/libopcodes.a comp-obsolete obsolete -./usr/lib/o32/libopcodes.so base-obsolete obsolete -./usr/lib/o32/libopcodes_p.a comp-obsolete obsolete -./usr/lib/o32/libopcodes_pic.a comp-obsolete obsolete -./usr/lib/o32/libossaudio.a comp-c-lib compat -./usr/lib/o32/libossaudio.so base-sys-shlib compat,pic -./usr/lib/o32/libossaudio_p.a comp-c-proflib compat,profile -./usr/lib/o32/libossaudio_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libp2k.a comp-c-lib compat,rump -./usr/lib/o32/libp2k.so base-sys-shlib compat,pic,rump -./usr/lib/o32/libp2k_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/libp2k_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/libpam.a comp-c-lib compat -./usr/lib/o32/libpam.so base-sys-shlib compat,pic -./usr/lib/o32/libpam_p.a comp-obsolete obsolete -./usr/lib/o32/libpam_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpcap.a comp-c-lib compat -./usr/lib/o32/libpcap.so base-sys-shlib compat,pic -./usr/lib/o32/libpcap_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpcap_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpci.a comp-c-lib compat -./usr/lib/o32/libpci.so base-sys-shlib compat,pic -./usr/lib/o32/libpci_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpci_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libperfuse.a comp-c-lib compat -./usr/lib/o32/libperfuse.so base-sys-shlib compat,pic -./usr/lib/o32/libperfuse_g.a comp-c-proflib compat,debuglib -./usr/lib/o32/libperfuse_p.a comp-c-proflib compat,profile -./usr/lib/o32/libperfuse_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libposix.a comp-c-lib compat -./usr/lib/o32/libposix.so base-sys-shlib compat,pic -./usr/lib/o32/libposix_p.a comp-c-proflib compat,profile -./usr/lib/o32/libposix_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libppath.a comp-c-lib compat -./usr/lib/o32/libppath.so base-sys-shlib compat,pic -./usr/lib/o32/libppath_p.a comp-c-proflib compat,profile -./usr/lib/o32/libppath_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libprop.a comp-c-lib compat -./usr/lib/o32/libprop.so base-sys-shlib compat,pic -./usr/lib/o32/libprop_p.a comp-c-proflib compat,profile -./usr/lib/o32/libprop_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpthread.a comp-c-lib compat -./usr/lib/o32/libpthread.so base-sys-shlib compat,pic -./usr/lib/o32/libpthread_dbg.a comp-c-lib compat -./usr/lib/o32/libpthread_dbg.so base-sys-shlib compat,pic -./usr/lib/o32/libpthread_dbg_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpthread_dbg_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpthread_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpthread_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpuffs.a comp-c-lib compat -./usr/lib/o32/libpuffs.so base-sys-shlib compat,pic -./usr/lib/o32/libpuffs_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpuffs_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libquota.a comp-c-lib compat -./usr/lib/o32/libquota.so base-sys-shlib compat,pic -./usr/lib/o32/libquota_p.a comp-c-proflib compat,profile -./usr/lib/o32/libquota_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libradius.a comp-c-lib compat -./usr/lib/o32/libradius.so base-sys-shlib compat,pic -./usr/lib/o32/libradius_p.a comp-c-proflib compat,profile -./usr/lib/o32/libradius_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librefuse.a comp-c-lib compat -./usr/lib/o32/librefuse.so base-sys-shlib compat,pic -./usr/lib/o32/librefuse_p.a comp-c-proflib compat,profile -./usr/lib/o32/librefuse_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libresolv.a comp-c-lib compat -./usr/lib/o32/libresolv.so base-sys-shlib compat,pic -./usr/lib/o32/libresolv_p.a comp-c-proflib compat,profile -./usr/lib/o32/libresolv_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librmt.a comp-c-lib compat -./usr/lib/o32/librmt_p.a comp-obsolete obsolete -./usr/lib/o32/librmt_pic.a comp-obsolete obsolete -./usr/lib/o32/libroken.a comp-c-lib compat,kerberos -./usr/lib/o32/libroken.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libroken_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libroken_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/librpcsvc.a comp-c-lib compat -./usr/lib/o32/librpcsvc.so base-sys-shlib compat,pic -./usr/lib/o32/librpcsvc_p.a comp-c-proflib compat,profile -./usr/lib/o32/librpcsvc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librt.a comp-c-lib compat -./usr/lib/o32/librt.so base-sys-shlib compat,pic -./usr/lib/o32/librt_p.a comp-c-proflib compat,profile -./usr/lib/o32/librt_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librump.a comp-c-lib compat,rump -./usr/lib/o32/librump.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librump_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librump_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpclient.a comp-c-lib compat,rump -./usr/lib/o32/librumpclient.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpclient_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpclient_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpcrypto.a comp-obsolete obsolete -./usr/lib/o32/librumpcrypto.so base-obsolete obsolete -./usr/lib/o32/librumpcrypto_p.a comp-obsolete obsolete -./usr/lib/o32/librumpcrypto_pic.a comp-obsolete obsolete -./usr/lib/o32/librumpdev.a comp-c-lib compat,rump -./usr/lib/o32/librumpdev.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpdev_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpdev_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumphijack.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumphijack_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpnet.a comp-c-lib compat,rump -./usr/lib/o32/librumpnet.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpnet_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpnet_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpuser.a comp-c-lib compat,rump -./usr/lib/o32/librumpuser.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpuser_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpuser_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpvfs.a comp-c-lib compat,rump -./usr/lib/o32/librumpvfs.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpvfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpvfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/libsaslc.a comp-c-lib compat,crypto -./usr/lib/o32/libsaslc.so base-sys-shlib compat,pic,crypto -./usr/lib/o32/libsaslc_p.a comp-c-proflib compat,profile,crypto -./usr/lib/o32/libsaslc_pic.a comp-c-piclib compat,pic,crypto -./usr/lib/o32/libsdp.a comp-obsolete obsolete -./usr/lib/o32/libsdp.so base-obsolete obsolete -./usr/lib/o32/libsdp_p.a comp-obsolete obsolete -./usr/lib/o32/libsdp_pic.a comp-obsolete obsolete -./usr/lib/o32/libskey.a comp-c-lib compat,skey -./usr/lib/o32/libskey.so base-sys-shlib compat,pic,skey -./usr/lib/o32/libskey_p.a comp-c-proflib compat,profile,skey -./usr/lib/o32/libskey_pic.a comp-c-piclib compat,pic,skey -./usr/lib/o32/libsl.a comp-c-lib compat,kerberos -./usr/lib/o32/libsl.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libsl_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libsl_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libsqlite3.a comp-c-lib compat -./usr/lib/o32/libsqlite3.so base-sys-shlib compat,pic -./usr/lib/o32/libsqlite3_p.a comp-c-proflib compat,profile -./usr/lib/o32/libsqlite3_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libss.a comp-c-lib obsolete -./usr/lib/o32/libss.so base-sys-shlib obsolete -./usr/lib/o32/libss_p.a comp-c-proflib obsolete -./usr/lib/o32/libss_pic.a comp-c-piclib obsolete -./usr/lib/o32/libssh.a comp-c-lib compat,crypto -./usr/lib/o32/libssh.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libssh_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libssh_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libssl.a comp-c-lib compat,crypto -./usr/lib/o32/libssl.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libssl_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libssl_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libstdc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/o32/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds -./usr/lib/o32/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds -./usr/lib/o32/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds -./usr/lib/o32/libsupc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/o32/libsupc++.so base-obsolete obsolete -./usr/lib/o32/libsupc++_pic.a comp-obsolete obsolete -./usr/lib/o32/libtermcap.a comp-c-lib compat -./usr/lib/o32/libtermcap.so base-sys-shlib compat,pic -./usr/lib/o32/libtermcap_p.a comp-c-proflib compat,profile -./usr/lib/o32/libtermcap_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libterminfo.a comp-c-lib compat -./usr/lib/o32/libterminfo.so base-sys-shlib compat,pic -./usr/lib/o32/libterminfo_p.a comp-c-proflib compat,profile -./usr/lib/o32/libterminfo_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libtermlib.a comp-c-lib compat -./usr/lib/o32/libtermlib.so base-sys-shlib compat,pic -./usr/lib/o32/libtermlib_p.a comp-c-proflib compat,profile -./usr/lib/o32/libtermlib_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libtre.a comp-c-lib compat -./usr/lib/o32/libtre.so base-sys-shlib compat,pic -./usr/lib/o32/libtre_p.a comp-c-proflib compat,profile -./usr/lib/o32/libtre_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libukfs.a comp-c-lib compat,rump -./usr/lib/o32/libukfs.so base-sys-shlib compat,pic,rump -./usr/lib/o32/libukfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/libukfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/libusbhid.a comp-c-lib compat -./usr/lib/o32/libusbhid.so base-sys-shlib compat,pic -./usr/lib/o32/libusbhid_p.a comp-c-proflib compat,profile -./usr/lib/o32/libusbhid_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libutil.a comp-c-lib compat -./usr/lib/o32/libutil.so base-sys-shlib compat,pic -./usr/lib/o32/libutil_p.a comp-c-proflib compat,profile -./usr/lib/o32/libutil_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libvers.a comp-obsolete obsolete -./usr/lib/o32/libvers_p.a comp-obsolete obsolete -./usr/lib/o32/libvers_pic.a comp-obsolete obsolete -./usr/lib/o32/libwind.a comp-c-lib compat,kerberos -./usr/lib/o32/libwind.so comp-sys-shlib compat,pic,kerberos -./usr/lib/o32/libwind_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/o32/libwind_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libwind_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libwrap.a comp-c-lib compat -./usr/lib/o32/libwrap.so base-sys-shlib compat,pic -./usr/lib/o32/libwrap_p.a comp-c-proflib compat,profile -./usr/lib/o32/libwrap_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liby.a comp-c-lib compat -./usr/lib/o32/liby_p.a comp-c-proflib compat,profile -./usr/lib/o32/liby_pic.a comp-obsolete obsolete -./usr/lib/o32/libz.a comp-c-lib compat -./usr/lib/o32/libz.so base-sys-shlib compat,pic -./usr/lib/o32/libz_p.a comp-c-proflib compat,profile -./usr/lib/o32/libz_pic.a comp-c-piclib compat,pic -./usr/libdata/debug/usr/bin/elf2aout.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/elf2ecoff.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/libamu.so.4.0.debug comp-amd-debug debug,compat -./usr/libdata/debug/usr/lib/64/libarchive.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/64/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/64/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libbfd.so.12.0.debug comp-sys-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/64/libbind9.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libbluetooth.so.4.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libbz2.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libc.so.12.185.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libcrypt.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libcrypto.so.8.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/64/libcurses.so.7.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat -./usr/libdata/debug/usr/lib/64/libdm.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libdns.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat -./usr/libdata/debug/usr/lib/64/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/64/libdwarf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libedit.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libelf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libevent.so.3.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libexecinfo.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libexpat.so.2.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libfetch.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libform.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/64/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat -./usr/libdata/debug/usr/lib/64/libgmp.so.10.2.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/64/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45,notyet -./usr/libdata/debug/usr/lib/64/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/64/libintl.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libipsec.so.3.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libisc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libisccc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libisccfg.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat -./usr/libdata/debug/usr/lib/64/libisns.so.0.0.debug comp-isns-debug debug,compat -./usr/libdata/debug/usr/lib/64/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkvm.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/64/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/64/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/64/liblua.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblwres.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblzf.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblzma.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libm.so.0.10.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmagic.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmenu.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmj.so.1.0.debug comp-crypto-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmpc.so.2.0.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/64/libmpfr.so.4.1.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/64/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat -./usr/libdata/debug/usr/lib/64/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/64/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat -./usr/libdata/debug/usr/lib/64/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat -./usr/libdata/debug/usr/lib/64/libopcodes.so.5.0.debug comp-c-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/64/libossaudio.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/libpam.so.3.0.debug comp-sys-debug pam,debug,compat -./usr/libdata/debug/usr/lib/64/libpcap.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpci.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/64/libposix.so.0.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libppath.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libprop.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpthread.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpuffs.so.2.0.debug comp-puffs-debug debug,compat -./usr/libdata/debug/usr/lib/64/libquota.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libradius.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/librefuse.so.2.0.debug comp-refuse-debug debug,compat -./usr/libdata/debug/usr/lib/64/libresolv.so.2.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/librpcsvc.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/librt.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/librump.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat -./usr/libdata/debug/usr/lib/64/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpuser.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libskey.so.2.0.debug comp-sys-debug skey,debug,compat -./usr/libdata/debug/usr/lib/64/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/64/libsqlite3.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libss.so.6.0.debug comp-krb5-debug obsolete -./usr/libdata/debug/usr/lib/64/libssh.so.19.0.debug comp-secsh-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libssl.so.10.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat -./usr/libdata/debug/usr/lib/64/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat -./usr/libdata/debug/usr/lib/64/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat -./usr/libdata/debug/usr/lib/64/libterminfo.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libtre.so.0.8.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libusbhid.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libutil.so.7.21.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libwrap.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libz.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libamu.so.4.0.debug comp-amd-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libarchive.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/o32/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/o32/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libbfd.so.12.0.debug comp-sys-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/o32/libbind9.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libbluetooth.so.4.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libbz2.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libc.so.12.185.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libcrypt.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libcrypto.so.8.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/o32/libcurses.so.7.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat -./usr/libdata/debug/usr/lib/o32/libdm.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libdns.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat -./usr/libdata/debug/usr/lib/o32/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/o32/libdwarf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libedit.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libelf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libevent.so.3.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libexecinfo.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libexpat.so.2.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libfetch.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libform.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/o32/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat -./usr/libdata/debug/usr/lib/o32/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45 -./usr/libdata/debug/usr/lib/o32/libgmp.so.10.2.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/o32/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/o32/libintl.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libipsec.so.3.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libisc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libisccc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libisccfg.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat -./usr/libdata/debug/usr/lib/o32/libisns.so.0.0.debug comp-isns-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkvm.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/o32/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/o32/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/o32/liblua.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblwres.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblzf.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblzma.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libm.so.0.10.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmagic.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmenu.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmj.so.1.0.debug comp-crypto-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmpc.so.2.0.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/o32/libmpfr.so.4.1.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/o32/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat -./usr/libdata/debug/usr/lib/o32/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/o32/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat -./usr/libdata/debug/usr/lib/o32/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat -./usr/libdata/debug/usr/lib/o32/libopcodes.so.5.0.debug comp-c-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/o32/libossaudio.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/libpam.so.3.0.debug comp-sys-debug pam,debug,compat -./usr/libdata/debug/usr/lib/o32/libpcap.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpci.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/o32/libposix.so.0.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libppath.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libprop.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpthread.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpuffs.so.2.0.debug comp-puffs-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libquota.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libradius.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/librefuse.so.2.0.debug comp-refuse-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libresolv.so.2.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/librpcsvc.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/librt.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/librump.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat -./usr/libdata/debug/usr/lib/o32/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpuser.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libskey.so.2.0.debug comp-sys-debug skey,debug,compat -./usr/libdata/debug/usr/lib/o32/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/o32/libsqlite3.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libss.so.6.0.debug comp-krb5-debug obsolete -./usr/libdata/debug/usr/lib/o32/libssh.so.19.0.debug comp-secsh-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libssl.so.10.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat -./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat -./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat -./usr/libdata/debug/usr/lib/o32/libterminfo.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libtre.so.0.8.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libusbhid.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libutil.so.7.21.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libwrap.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libz.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/ldscripts/elf32btsmip.x comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xw comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.x comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xbn comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xc comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xn comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xr comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xs comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xsc comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xsw comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xu comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.x comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.x comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xbn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xr comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xs comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xsc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xsw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xu comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xw comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.x comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xw comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.x comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xw comp-util-bin diff --git a/distrib/sets/lists/comp/ad.mips64el b/distrib/sets/lists/comp/ad.mips64el deleted file mode 100644 index aca68b056..000000000 --- a/distrib/sets/lists/comp/ad.mips64el +++ /dev/null @@ -1,1637 +0,0 @@ -# $NetBSD: ad.mips64el,v 1.92 2012/09/16 18:59:25 tls Exp $ -./usr/bin/elf2aout comp-obsolete obsolete -./usr/bin/elf2ecoff comp-sysutil-bin -./usr/include/gcc-4.5/loongson.h comp-c-include gcccmds,gcc=45 -./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 -./usr/include/mips comp-c-include -./usr/include/mips/ansi.h comp-c-include -./usr/include/mips/aout_machdep.h comp-obsolete obsolete -./usr/include/mips/asm.h comp-c-include -./usr/include/mips/bsd-aout.h comp-obsolete obsolete -./usr/include/mips/bswap.h comp-c-include -./usr/include/mips/cachectl.h comp-c-include -./usr/include/mips/cdefs.h comp-c-include -./usr/include/mips/cpu.h comp-c-include -./usr/include/mips/cpuregs.h comp-c-include -./usr/include/mips/db_machdep.h comp-obsolete obsolete -./usr/include/mips/ecoff_machdep.h comp-c-include -./usr/include/mips/elf.h comp-obsolete obsolete -./usr/include/mips/elf_machdep.h comp-c-include -./usr/include/mips/endian.h comp-c-include -./usr/include/mips/endian_machdep.h comp-c-include -./usr/include/mips/float.h comp-c-include -./usr/include/mips/ieee.h comp-c-include -./usr/include/mips/ieeefp.h comp-c-include -./usr/include/mips/int_const.h comp-c-include -./usr/include/mips/int_fmtio.h comp-c-include -./usr/include/mips/int_limits.h comp-c-include -./usr/include/mips/int_mwgwtypes.h comp-c-include -./usr/include/mips/int_types.h comp-c-include -./usr/include/mips/kcore.h comp-c-include -./usr/include/mips/kdbparam.h comp-c-include -./usr/include/mips/limits.h comp-c-include -./usr/include/mips/lock.h comp-c-include -./usr/include/mips/locore.h comp-c-include -./usr/include/mips/math.h comp-c-include -./usr/include/mips/mcontext.h comp-c-include -./usr/include/mips/mips1_pte.h comp-c-include -./usr/include/mips/mips3_pte.h comp-c-include -./usr/include/mips/mips_opcode.h comp-c-include -./usr/include/mips/mips_param.h comp-c-include -./usr/include/mips/mutex.h comp-c-include -./usr/include/mips/pcb.h comp-c-include -./usr/include/mips/pmap.h comp-c-include -./usr/include/mips/pmc.h comp-c-include -./usr/include/mips/proc.h comp-c-include -./usr/include/mips/profile.h comp-c-include -./usr/include/mips/psl.h comp-c-include -./usr/include/mips/pte.h comp-c-include -./usr/include/mips/ptrace.h comp-c-include -./usr/include/mips/reg.h comp-c-include -./usr/include/mips/regdef.h comp-c-include -./usr/include/mips/regnum.h comp-c-include -./usr/include/mips/reloc.h comp-c-include -./usr/include/mips/rwlock.h comp-c-include -./usr/include/mips/setjmp.h comp-c-include -./usr/include/mips/signal.h comp-c-include -./usr/include/mips/stdarg.h comp-obsolete obsolete -./usr/include/mips/sysarch.h comp-c-include -./usr/include/mips/trap.h comp-c-include -./usr/include/mips/types.h comp-c-include -./usr/include/mips/varargs.h comp-obsolete obsolete -./usr/include/mips/vmparam.h comp-c-include -./usr/include/mips/wchar_limits.h comp-c-include -./usr/lib/64/crt0.o comp-c-lib compat -./usr/lib/64/crtbegin.o comp-c-lib compat -./usr/lib/64/crtbeginS.o comp-c-lib compat,pic -./usr/lib/64/crtbeginT.o comp-c-lib compat,pic -./usr/lib/64/crtend.o comp-c-lib compat -./usr/lib/64/crtendS.o comp-c-lib compat,pic -./usr/lib/64/crti.o comp-c-lib compat -./usr/lib/64/crtn.o comp-c-lib compat -./usr/lib/64/gcrt0.o comp-c-lib compat -./usr/lib/64/i18n/libBIG5.a comp-c-lib compat -./usr/lib/64/i18n/libBIG5.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libBIG5_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libBIG5_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libDECHanyu.a comp-c-lib compat -./usr/lib/64/i18n/libDECHanyu.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libDECHanyu_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libDECHanyu_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUC.a comp-c-lib compat -./usr/lib/64/i18n/libEUC.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libEUCTW.a comp-c-lib compat -./usr/lib/64/i18n/libEUCTW.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libEUCTW_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUCTW_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUC_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libEUC_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libGBK2K.a comp-c-lib compat -./usr/lib/64/i18n/libGBK2K.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libGBK2K_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libGBK2K_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libHZ.a comp-c-lib compat -./usr/lib/64/i18n/libHZ.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libHZ_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libHZ_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libISO2022.a comp-c-lib compat -./usr/lib/64/i18n/libISO2022.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libISO2022_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libISO2022_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libJOHAB.a comp-c-lib compat -./usr/lib/64/i18n/libJOHAB.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libJOHAB_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libJOHAB_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libMSKanji.a comp-c-lib compat -./usr/lib/64/i18n/libMSKanji.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libMSKanji_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libMSKanji_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUES.a comp-c-lib compat -./usr/lib/64/i18n/libUES.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUES_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUES_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF1632.a comp-c-lib compat -./usr/lib/64/i18n/libUTF1632.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUTF1632_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF1632_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF7.a comp-c-lib compat -./usr/lib/64/i18n/libUTF7.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUTF7_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF7_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF8.a comp-c-lib compat -./usr/lib/64/i18n/libUTF8.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libUTF8_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libUTF8_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libVIQR.a comp-c-lib compat -./usr/lib/64/i18n/libVIQR.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libVIQR_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libVIQR_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libZW.a comp-c-lib compat -./usr/lib/64/i18n/libZW.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libZW_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libZW_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_none.a comp-c-lib compat -./usr/lib/64/i18n/libiconv_none.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libiconv_none_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_none_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_std.a comp-c-lib compat -./usr/lib/64/i18n/libiconv_std.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libiconv_std_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libiconv_std_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_646.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_646.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_646_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_646_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_none.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_none.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_none_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_none_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_parallel.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_parallel.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_parallel_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_parallel_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_serial.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_serial.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_serial_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_serial_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_std.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_std.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_std_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_std_pic.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_zone.a comp-c-lib compat -./usr/lib/64/i18n/libmapper_zone.so base-sys-shlib compat,pic -./usr/lib/64/i18n/libmapper_zone_p.a comp-obsolete obsolete -./usr/lib/64/i18n/libmapper_zone_pic.a comp-obsolete obsolete -./usr/lib/64/libarchive.a comp-c-lib compat -./usr/lib/64/libarchive.so base-sys-shlib compat,pic -./usr/lib/64/libarchive_p.a comp-c-proflib compat,profile -./usr/lib/64/libarchive_pic.a comp-c-piclib compat,pic -./usr/lib/64/libasn1.a comp-c-lib compat,kerberos -./usr/lib/64/libasn1.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libasn1_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libasn1_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libatf-c++.a comp-c-lib compat,atf -./usr/lib/64/libatf-c++.so base-sys-lib compat,pic,atf -./usr/lib/64/libatf-c++_p.a comp-c-proflib compat,profile,atf -./usr/lib/64/libatf-c++_pic.a comp-c-piclib compat,pic,atf -./usr/lib/64/libatf-c.a comp-c-lib compat,atf -./usr/lib/64/libatf-c.so base-sys-lib compat,pic,atf -./usr/lib/64/libatf-c_p.a comp-c-proflib compat,profile,atf -./usr/lib/64/libatf-c_pic.a comp-c-piclib compat,pic,atf -./usr/lib/64/libbfd.a comp-obsolete obsolete -./usr/lib/64/libbfd.so base-obsolete obsolete -./usr/lib/64/libbfd_p.a comp-obsolete obsolete -./usr/lib/64/libbfd_pic.a comp-obsolete obsolete -./usr/lib/64/libbind9.a comp-c-lib compat -./usr/lib/64/libbind9.so base-sys-shlib compat,pic -./usr/lib/64/libbind9_p.a comp-c-proflib compat,profile -./usr/lib/64/libbind9_pic.a comp-c-piclib compat,pic -./usr/lib/64/libbluetooth.a comp-c-lib compat -./usr/lib/64/libbluetooth.so base-sys-shlib compat,pic -./usr/lib/64/libbluetooth_p.a comp-c-proflib compat,profile -./usr/lib/64/libbluetooth_pic.a comp-c-piclib compat,pic -./usr/lib/64/libbsdmalloc.a comp-c-lib compat -./usr/lib/64/libbsdmalloc.so base-sys-shlib compat,pic -./usr/lib/64/libbsdmalloc_p.a comp-c-proflib compat,profile -./usr/lib/64/libbsdmalloc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libbz2.a comp-c-lib compat -./usr/lib/64/libbz2.so base-sys-shlib compat,pic -./usr/lib/64/libbz2_p.a comp-c-proflib compat,profile -./usr/lib/64/libbz2_pic.a comp-c-piclib compat,pic -./usr/lib/64/libc.a comp-c-lib compat -./usr/lib/64/libc.so base-sys-shlib compat,pic -./usr/lib/64/libc_p.a comp-c-proflib compat,profile -./usr/lib/64/libc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libcom_err.a comp-c-lib compat,kerberos -./usr/lib/64/libcom_err.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libcom_err_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libcom_err_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libcompat.a comp-c-lib compat -./usr/lib/64/libcompat_p.a comp-c-proflib compat,profile -./usr/lib/64/libcompat_pic.a comp-c-piclib compat,pic -./usr/lib/64/libcrypt.a comp-c-lib compat -./usr/lib/64/libcrypt.so base-sys-shlib compat,pic -./usr/lib/64/libcrypt_p.a comp-c-proflib compat,profile -./usr/lib/64/libcrypt_pic.a comp-c-piclib compat,pic -./usr/lib/64/libcrypto.a comp-c-lib compat,crypto -./usr/lib/64/libcrypto_g.a comp-c-proflib compat,crypto,debuglib -./usr/lib/64/libcrypto.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libcrypto_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libcrypto_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libcrypto_idea.a comp-obsolete obsolete -./usr/lib/64/libcrypto_idea.so base-obsolete obsolete -./usr/lib/64/libcrypto_idea_g.a comp-obsolete obsolete -./usr/lib/64/libcrypto_idea_p.a comp-obsolete obsolete -./usr/lib/64/libcrypto_idea_pic.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2.so base-obsolete obsolete -./usr/lib/64/libcrypto_mdc2_g.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2_p.a comp-obsolete obsolete -./usr/lib/64/libcrypto_mdc2_pic.a comp-obsolete obsolete -./usr/lib/64/libcrypto_rc5.a comp-c-lib crypto_rc5,compat -./usr/lib/64/libcrypto_rc5.so base-sys-shlib compat,crypto,crypto_rc5,pic -./usr/lib/64/libcrypto_rc5_g.a comp-c-proflib compat,crypto,crypto_rc5,debuglib -./usr/lib/64/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile -./usr/lib/64/libcrypto_rc5_pic.a comp-c-piclib compat,crypto,crypto_rc5,pic -./usr/lib/64/libcurses.a comp-c-lib compat -./usr/lib/64/libcurses.so base-sys-shlib compat,pic -./usr/lib/64/libcurses_p.a comp-c-proflib compat,profile -./usr/lib/64/libcurses_pic.a comp-c-piclib compat,pic -./usr/lib/64/libdes.a comp-c-lib compat,crypto -./usr/lib/64/libdes.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libdes_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libdes_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libdevmapper.a comp-lvm-lib compat,lvm -./usr/lib/64/libdevmapper.so base-lvm-shlib compat,lvm,pic -./usr/lib/64/libdevmapper_g.a -unknown- compat,debuglib,lvm -./usr/lib/64/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm -./usr/lib/64/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm -./usr/lib/64/libdm.a comp-c-lib compat -./usr/lib/64/libdm.so base-sys-shlib compat,pic -./usr/lib/64/libdm_g.a -unknown- compat,debuglib -./usr/lib/64/libdm_p.a comp-c-proflib compat,profile -./usr/lib/64/libdm_pic.a comp-c-piclib compat,pic -./usr/lib/64/libdns.a comp-c-lib compat -./usr/lib/64/libdns.so base-sys-shlib compat,pic -./usr/lib/64/libdns_p.a comp-c-proflib compat,profile -./usr/lib/64/libdns_pic.a comp-c-piclib compat,pic -./usr/lib/64/libdns_sd.a comp-c-lib compat,mdns -./usr/lib/64/libdns_sd.so base-mdns-shlib compat,pic,mdns -./usr/lib/64/libdns_sd_p.a comp-c-proflib compat,profile,mdns -./usr/lib/64/libdns_sd_pic.a comp-c-piclib compat,pic,mdns -./usr/lib/64/libdwarf.a comp-c-lib compat -./usr/lib/64/libdwarf.so base-sys-shlib compat,pic -./usr/lib/64/libdwarf_p.a comp-c-proflib compat,profile -./usr/lib/64/libdwarf_pic.a comp-c-piclib compat,pic -./usr/lib/64/libedit.a comp-c-lib compat -./usr/lib/64/libedit.so base-sys-shlib compat,pic -./usr/lib/64/libedit_p.a comp-c-proflib compat,profile -./usr/lib/64/libedit_pic.a comp-c-piclib compat,pic -./usr/lib/64/libelf.a comp-c-lib compat -./usr/lib/64/libelf.so base-sys-shlib compat,pic -./usr/lib/64/libelf_p.a comp-c-proflib compat,profile -./usr/lib/64/libelf_pic.a comp-c-piclib compat,pic -./usr/lib/64/libevent.a comp-c-lib compat -./usr/lib/64/libevent.so base-sys-shlib compat,pic -./usr/lib/64/libevent_p.a comp-c-proflib compat,profile -./usr/lib/64/libevent_pic.a comp-c-piclib compat,pic -./usr/lib/64/libexecinfo.a comp-c-lib compat -./usr/lib/64/libexecinfo.so base-sys-shlib compat,pic -./usr/lib/64/libexecinfo_p.a comp-c-proflib compat,profile -./usr/lib/64/libexecinfo_pic.a comp-c-piclib compat,pic -./usr/lib/64/libexpat.a comp-c-lib compat -./usr/lib/64/libexpat.so base-sys-shlib compat,pic -./usr/lib/64/libexpat_p.a comp-c-proflib compat,profile -./usr/lib/64/libexpat_pic.a comp-c-piclib compat,pic -./usr/lib/64/libfetch.a comp-c-lib compat -./usr/lib/64/libfetch.so base-sys-shlib compat,pic -./usr/lib/64/libfetch_p.a comp-c-proflib compat,profile -./usr/lib/64/libfetch_pic.a comp-c-piclib compat,pic -./usr/lib/64/libfl.a comp-c-lib compat -./usr/lib/64/libfl_p.a comp-c-proflib compat,profile -./usr/lib/64/libform.a comp-c-lib compat -./usr/lib/64/libform.so base-sys-shlib compat,pic -./usr/lib/64/libform_p.a comp-c-proflib compat,profile -./usr/lib/64/libform_pic.a comp-c-piclib compat,pic -./usr/lib/64/libgcc.a comp-c-lib compat,gcccmds -./usr/lib/64/libgcc_eh.a comp-c-lib compat,pic,gcccmds -./usr/lib/64/libgcc_eh_p.a comp-c-proflib obsolete -./usr/lib/64/libgcc_eh_pic.a comp-c-piclib obsolete -./usr/lib/64/libgcc_p.a comp-c-proflib obsolete -./usr/lib/64/libgcc_pic.a comp-c-piclib obsolete -./usr/lib/64/libgcc_s.a comp-obsolete obsolete -./usr/lib/64/libgcc_s.so base-sys-shlib compat,pic,gcccmds -./usr/lib/64/libgcc_s_p.a comp-obsolete obsolete -./usr/lib/64/libgcc_s_pic.a comp-obsolete obsolete -./usr/lib/64/libgcov.a comp-c-lib compat,gcccmds -./usr/lib/64/libgcov_p.a comp-obsolete obsolete -./usr/lib/64/libgcov_pic.a comp-obsolete obsolete -./usr/lib/64/libgmp.a comp-c-lib obsolete -./usr/lib/64/libgmp.so base-sys-shlib obsolete -./usr/lib/64/libgmp_g.a -unknown- obsolete -./usr/lib/64/libgmp_p.a comp-c-proflib obsolete -./usr/lib/64/libgmp_pic.a comp-c-piclib obsolete -./usr/lib/64/libgnumalloc.a comp-c-lib compat -./usr/lib/64/libgnumalloc.so base-sys-shlib compat,pic -./usr/lib/64/libgnumalloc_p.a comp-c-proflib compat,profile -./usr/lib/64/libgnumalloc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libgomp.a comp-c-lib compat,gcc=45,notyet -./usr/lib/64/libgomp.so base-sys-shlib compat,pic,gcc=45,notyet -./usr/lib/64/libgomp_p.a comp-c-proflib compat,profile,gcc=45,notyet -./usr/lib/64/libgomp_pic.a comp-c-piclib compat,pic,gcc=45,notyet -./usr/lib/64/libgssapi.a comp-c-lib compat,kerberos -./usr/lib/64/libgssapi.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libgssapi_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libgssapi_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libhdb.a comp-c-lib compat,kerberos -./usr/lib/64/libhdb.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libhdb_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libhdb_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libheimbase.a comp-c-lib compat,kerberos -./usr/lib/64/libheimbase.so comp-sys-shlib compat,pic,kerberos -./usr/lib/64/libheimbase_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/64/libheimbase_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libheimbase_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/64/libheimntlm.a comp-c-lib compat,kerberos -./usr/lib/64/libheimntlm.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libheimntlm_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libhx509.a comp-c-lib compat,kerberos -./usr/lib/64/libhx509.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libhx509_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libhx509_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libiberty.a comp-obsolete obsolete -./usr/lib/64/libiberty_p.a comp-obsolete obsolete -./usr/lib/64/libiberty_pic.a comp-obsolete obsolete -./usr/lib/64/libintl.a comp-c-lib compat -./usr/lib/64/libintl.so base-sys-shlib compat,pic -./usr/lib/64/libintl_p.a comp-c-proflib compat,profile -./usr/lib/64/libintl_pic.a comp-c-piclib compat,pic -./usr/lib/64/libipsec.a comp-c-lib compat -./usr/lib/64/libipsec.so base-sys-shlib compat,pic -./usr/lib/64/libipsec_p.a comp-c-proflib compat,profile -./usr/lib/64/libipsec_pic.a comp-c-piclib compat,pic -./usr/lib/64/libisc.a comp-c-lib compat -./usr/lib/64/libisc.so base-sys-shlib compat,pic -./usr/lib/64/libisc_p.a comp-c-proflib compat,profile -./usr/lib/64/libisc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libisccc.a comp-c-lib compat -./usr/lib/64/libisccc.so base-sys-shlib compat,pic -./usr/lib/64/libisccc_p.a comp-c-proflib compat,profile -./usr/lib/64/libisccc_pic.a comp-c-piclib compat,pic -./usr/lib/64/libisccfg.a comp-c-lib compat -./usr/lib/64/libisccfg.so base-sys-shlib compat,pic -./usr/lib/64/libisccfg_p.a comp-c-proflib compat,profile -./usr/lib/64/libisccfg_pic.a comp-c-piclib compat,pic -./usr/lib/64/libiscsi.a comp-c-lib compat,iscsi -./usr/lib/64/libiscsi.so base-sys-shlib compat,pic,iscsi -./usr/lib/64/libiscsi_p.a comp-c-proflib compat,profile,iscsi -./usr/lib/64/libiscsi_pic.a comp-c-piclib compat,pic,iscsi -./usr/lib/64/libisns.a comp-c-lib compat -./usr/lib/64/libisns.so comp-sys-shlib compat -./usr/lib/64/libisns_p.a comp-c-proflib compat,profile -./usr/lib/64/libisns_pic.a comp-c-piclib compat,pic -./usr/lib/64/libkadm5clnt.a comp-c-lib compat,kerberos -./usr/lib/64/libkadm5clnt.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkadm5srv.a comp-c-lib compat,kerberos -./usr/lib/64/libkadm5srv.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkafs.a comp-c-lib compat,kerberos -./usr/lib/64/libkafs.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkafs_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkafs_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkdc.a comp-c-lib compat,kerberos -./usr/lib/64/libkdc.so comp-sys-shlib compat,pic,kerberos -./usr/lib/64/libkdc_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/64/libkdc_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkdc_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/64/libkrb5.a comp-c-lib compat,kerberos -./usr/lib/64/libkrb5.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libkrb5_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libkrb5_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libkvm.a comp-c-lib compat -./usr/lib/64/libkvm.so base-sys-shlib compat,pic -./usr/lib/64/libkvm_p.a comp-c-proflib compat,profile -./usr/lib/64/libkvm_pic.a comp-c-piclib compat,pic -./usr/lib/64/libl.a comp-c-lib compat -./usr/lib/64/libl_p.a comp-c-proflib compat,profile -./usr/lib/64/libl_pic.a comp-obsolete obsolete -./usr/lib/64/liblber.a comp-c-lib compat,ldap -./usr/lib/64/liblber.so base-sys-shlib compat,pic,ldap -./usr/lib/64/liblber_p.a comp-c-proflib compat,profile,ldap -./usr/lib/64/liblber_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/64/libldap.a comp-c-lib compat,ldap -./usr/lib/64/libldap.so base-sys-shlib compat,pic,ldap -./usr/lib/64/libldap_p.a comp-c-proflib compat,profile,ldap -./usr/lib/64/libldap_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/64/libldap_r.a comp-c-lib compat,ldap -./usr/lib/64/libldap_r.so base-sys-shlib compat,pic,ldap -./usr/lib/64/libldap_r_p.a comp-c-proflib compat,profile,ldap -./usr/lib/64/libldap_r_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/64/liblua.a comp-c-lib compat -./usr/lib/64/liblua.so base-sys-shlib compat,pic -./usr/lib/64/liblua_p.a comp-c-proflib compat,profile -./usr/lib/64/liblua_pic.a comp-c-piclib compat,pic -./usr/lib/64/liblwres.a comp-c-lib compat -./usr/lib/64/liblwres.so base-sys-shlib compat,pic -./usr/lib/64/liblwres_p.a comp-c-proflib compat,profile -./usr/lib/64/liblwres_pic.a comp-c-piclib compat,pic -./usr/lib/64/liblzf.a comp-c-lib compat -./usr/lib/64/liblzf.so base-sys-shlib compat,pic -./usr/lib/64/liblzf_g.a -unknown- compat,debuglib -./usr/lib/64/liblzf_p.a comp-c-proflib compat,profile -./usr/lib/64/liblzf_pic.a comp-c-piclib compat,pic -./usr/lib/64/liblzma.a comp-c-lib compat -./usr/lib/64/liblzma.so base-sys-shlib compat,pic -./usr/lib/64/liblzma_p.a comp-c-proflib compat,profile -./usr/lib/64/liblzma_pic.a comp-c-piclib compat,pic -./usr/lib/64/libm.a comp-c-lib compat -./usr/lib/64/libm.so base-sys-shlib compat,pic -./usr/lib/64/libm_p.a comp-c-proflib compat,profile -./usr/lib/64/libm_pic.a comp-c-piclib compat,pic -./usr/lib/64/libmagic.a comp-c-lib compat -./usr/lib/64/libmagic.so base-sys-shlib compat,pic -./usr/lib/64/libmagic_p.a comp-c-proflib compat,profile -./usr/lib/64/libmagic_pic.a comp-c-piclib compat,pic -./usr/lib/64/libmenu.a comp-c-lib compat -./usr/lib/64/libmenu.so base-sys-shlib compat,pic -./usr/lib/64/libmenu_p.a comp-c-proflib compat,profile -./usr/lib/64/libmenu_pic.a comp-c-piclib compat,pic -./usr/lib/64/libmj.a comp-c-lib compat,crypto -./usr/lib/64/libmj.so comp-sys-shlib compat,crypto,pic -./usr/lib/64/libmj_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libmj_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libmpc.a comp-c-lib obsolete -./usr/lib/64/libmpc.so base-sys-shlib obsolete -./usr/lib/64/libmpc_g.a -unknown- obsolete -./usr/lib/64/libmpc_p.a comp-c-proflib obsolete -./usr/lib/64/libmpc_pic.a comp-c-piclib obsolete -./usr/lib/64/libmpfr.a comp-c-lib obsolete -./usr/lib/64/libmpfr.so base-sys-shlib obsolete -./usr/lib/64/libmpfr_g.a -unknown- obsolete -./usr/lib/64/libmpfr_p.a comp-c-proflib obsolete -./usr/lib/64/libmpfr_pic.a comp-c-piclib obsolete -./usr/lib/64/libnetpgp.a comp-c-lib compat,crypto -./usr/lib/64/libnetpgp.so comp-sys-shlib compat,crypto,pic -./usr/lib/64/libnetpgp_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libnetpgp_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libnpf.a comp-c-lib compat,npf -./usr/lib/64/libnpf.so comp-sys-shlib compat,npf,pic -./usr/lib/64/libnpf_p.a comp-c-proflib compat,npf,profile -./usr/lib/64/libnpf_pic.a comp-c-piclib compat,npf,pic -./usr/lib/64/libobjc.a comp-c-lib compat,gcccmds -./usr/lib/64/libobjc.so base-sys-shlib compat,pic,gcccmds -./usr/lib/64/libobjc_p.a comp-c-proflib compat,profile,gcccmds -./usr/lib/64/libobjc_pic.a comp-c-piclib compat,pic,gcccmds -./usr/lib/64/libopcodes.a comp-obsolete obsolete -./usr/lib/64/libopcodes.so base-obsolete obsolete -./usr/lib/64/libopcodes_p.a comp-obsolete obsolete -./usr/lib/64/libopcodes_pic.a comp-obsolete obsolete -./usr/lib/64/libossaudio.a comp-c-lib compat -./usr/lib/64/libossaudio.so base-sys-shlib compat,pic -./usr/lib/64/libossaudio_p.a comp-c-proflib compat,profile -./usr/lib/64/libossaudio_pic.a comp-c-piclib compat,pic -./usr/lib/64/libp2k.a comp-c-lib compat,rump -./usr/lib/64/libp2k.so base-sys-shlib compat,pic,rump -./usr/lib/64/libp2k_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/libp2k_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/libpam.a comp-c-lib compat -./usr/lib/64/libpam.so base-sys-shlib compat,pic -./usr/lib/64/libpam_p.a comp-obsolete obsolete -./usr/lib/64/libpam_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpcap.a comp-c-lib compat -./usr/lib/64/libpcap.so base-sys-shlib compat,pic -./usr/lib/64/libpcap_p.a comp-c-proflib compat,profile -./usr/lib/64/libpcap_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpci.a comp-c-lib compat -./usr/lib/64/libpci.so base-sys-shlib compat,pic -./usr/lib/64/libpci_p.a comp-c-proflib compat,profile -./usr/lib/64/libpci_pic.a comp-c-piclib compat,pic -./usr/lib/64/libperfuse.a comp-c-lib compat -./usr/lib/64/libperfuse.so base-sys-shlib compat,pic -./usr/lib/64/libperfuse_g.a comp-c-proflib compat,debuglib -./usr/lib/64/libperfuse_p.a comp-c-proflib compat,profile -./usr/lib/64/libperfuse_pic.a comp-c-piclib compat,pic -./usr/lib/64/libposix.a comp-c-lib compat -./usr/lib/64/libposix.so base-sys-shlib compat,pic -./usr/lib/64/libposix_p.a comp-c-proflib compat,profile -./usr/lib/64/libposix_pic.a comp-c-piclib compat,pic -./usr/lib/64/libppath.a comp-c-lib compat -./usr/lib/64/libppath.so base-sys-shlib compat,pic -./usr/lib/64/libppath_p.a comp-c-proflib compat,profile -./usr/lib/64/libppath_pic.a comp-c-piclib compat,pic -./usr/lib/64/libprop.a comp-c-lib compat -./usr/lib/64/libprop.so base-sys-shlib compat,pic -./usr/lib/64/libprop_p.a comp-c-proflib compat,profile -./usr/lib/64/libprop_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpthread.a comp-c-lib compat -./usr/lib/64/libpthread.so base-sys-shlib compat,pic -./usr/lib/64/libpthread_dbg.a comp-c-lib compat -./usr/lib/64/libpthread_dbg.so base-sys-shlib compat,pic -./usr/lib/64/libpthread_dbg_p.a comp-c-proflib compat,profile -./usr/lib/64/libpthread_dbg_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpthread_p.a comp-c-proflib compat,profile -./usr/lib/64/libpthread_pic.a comp-c-piclib compat,pic -./usr/lib/64/libpuffs.a comp-c-lib compat -./usr/lib/64/libpuffs.so base-sys-shlib compat,pic -./usr/lib/64/libpuffs_p.a comp-c-proflib compat,profile -./usr/lib/64/libpuffs_pic.a comp-c-piclib compat,pic -./usr/lib/64/libquota.a comp-c-lib compat -./usr/lib/64/libquota.so base-sys-shlib compat,pic -./usr/lib/64/libquota_p.a comp-c-proflib compat,profile -./usr/lib/64/libquota_pic.a comp-c-piclib compat,pic -./usr/lib/64/libradius.a comp-c-lib compat -./usr/lib/64/libradius.so base-sys-shlib compat,pic -./usr/lib/64/libradius_p.a comp-c-proflib compat,profile -./usr/lib/64/libradius_pic.a comp-c-piclib compat,pic -./usr/lib/64/librefuse.a comp-c-lib compat -./usr/lib/64/librefuse.so base-sys-shlib compat,pic -./usr/lib/64/librefuse_p.a comp-c-proflib compat,profile -./usr/lib/64/librefuse_pic.a comp-c-piclib compat,pic -./usr/lib/64/libresolv.a comp-c-lib compat -./usr/lib/64/libresolv.so base-sys-shlib compat,pic -./usr/lib/64/libresolv_p.a comp-c-proflib compat,profile -./usr/lib/64/libresolv_pic.a comp-c-piclib compat,pic -./usr/lib/64/librmt.a comp-c-lib compat -./usr/lib/64/librmt_p.a comp-obsolete obsolete -./usr/lib/64/librmt_pic.a comp-obsolete obsolete -./usr/lib/64/libroken.a comp-c-lib compat,kerberos -./usr/lib/64/libroken.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libroken_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libroken_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/librpcsvc.a comp-c-lib compat -./usr/lib/64/librpcsvc.so base-sys-shlib compat,pic -./usr/lib/64/librpcsvc_p.a comp-c-proflib compat,profile -./usr/lib/64/librpcsvc_pic.a comp-c-piclib compat,pic -./usr/lib/64/librt.a comp-c-lib compat -./usr/lib/64/librt.so base-sys-shlib compat,pic -./usr/lib/64/librt_p.a comp-c-proflib compat,profile -./usr/lib/64/librt_pic.a comp-c-piclib compat,pic -./usr/lib/64/librump.a comp-c-lib compat,rump -./usr/lib/64/librump.so base-sys-shlib compat,pic,rump -./usr/lib/64/librump_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librump_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpclient.a comp-c-lib compat,rump -./usr/lib/64/librumpclient.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpclient_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpclient_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpcrypto.a comp-obsolete obsolete -./usr/lib/64/librumpcrypto.so base-obsolete obsolete -./usr/lib/64/librumpcrypto_p.a comp-obsolete obsolete -./usr/lib/64/librumpcrypto_pic.a comp-obsolete obsolete -./usr/lib/64/librumpdev.a comp-c-lib compat,rump -./usr/lib/64/librumpdev.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpdev_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpdev_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumphijack.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumphijack_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpnet.a comp-c-lib compat,rump -./usr/lib/64/librumpnet.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpnet_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpnet_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpuser.a comp-c-lib compat,rump -./usr/lib/64/librumpuser.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpuser_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpuser_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/librumpvfs.a comp-c-lib compat,rump -./usr/lib/64/librumpvfs.so base-sys-shlib compat,pic,rump -./usr/lib/64/librumpvfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/librumpvfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/libsaslc.a comp-c-lib compat,crypto -./usr/lib/64/libsaslc.so base-sys-shlib compat,pic,crypto -./usr/lib/64/libsaslc_p.a comp-c-proflib compat,profile,crypto -./usr/lib/64/libsaslc_pic.a comp-c-piclib compat,pic,crypto -./usr/lib/64/libsdp.a comp-obsolete obsolete -./usr/lib/64/libsdp.so base-obsolete obsolete -./usr/lib/64/libsdp_p.a comp-obsolete obsolete -./usr/lib/64/libsdp_pic.a comp-obsolete obsolete -./usr/lib/64/libskey.a comp-c-lib compat,skey -./usr/lib/64/libskey.so base-sys-shlib compat,pic,skey -./usr/lib/64/libskey_p.a comp-c-proflib compat,profile,skey -./usr/lib/64/libskey_pic.a comp-c-piclib compat,pic,skey -./usr/lib/64/libsl.a comp-c-lib compat,kerberos -./usr/lib/64/libsl.so base-sys-shlib compat,pic,kerberos -./usr/lib/64/libsl_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libsl_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libsqlite3.a comp-c-lib compat -./usr/lib/64/libsqlite3.so base-sys-shlib compat,pic -./usr/lib/64/libsqlite3_p.a comp-c-proflib compat,profile -./usr/lib/64/libsqlite3_pic.a comp-c-piclib compat,pic -./usr/lib/64/libss.a comp-c-lib obsolete -./usr/lib/64/libss.so base-sys-shlib obsolete -./usr/lib/64/libss_p.a comp-c-proflib obsolete -./usr/lib/64/libss_pic.a comp-c-piclib obsolete -./usr/lib/64/libssh.a comp-c-lib compat,crypto -./usr/lib/64/libssh.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libssh_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libssh_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libssl.a comp-c-lib compat,crypto -./usr/lib/64/libssl.so base-sys-shlib compat,crypto,pic -./usr/lib/64/libssl_p.a comp-c-proflib compat,crypto,profile -./usr/lib/64/libssl_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/64/libstdc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/64/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds -./usr/lib/64/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds -./usr/lib/64/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds -./usr/lib/64/libsupc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/64/libsupc++.so base-obsolete obsolete -./usr/lib/64/libsupc++_pic.a comp-obsolete obsolete -./usr/lib/64/libtermcap.a comp-c-lib compat -./usr/lib/64/libtermcap.so base-sys-shlib compat,pic -./usr/lib/64/libtermcap_p.a comp-c-proflib compat,profile -./usr/lib/64/libtermcap_pic.a comp-c-piclib compat,pic -./usr/lib/64/libterminfo.a comp-c-lib compat -./usr/lib/64/libterminfo.so base-sys-shlib compat,pic -./usr/lib/64/libterminfo_p.a comp-c-proflib compat,profile -./usr/lib/64/libterminfo_pic.a comp-c-piclib compat,pic -./usr/lib/64/libtermlib.a comp-c-lib compat -./usr/lib/64/libtermlib.so base-sys-shlib compat,pic -./usr/lib/64/libtermlib_p.a comp-c-proflib compat,profile -./usr/lib/64/libtermlib_pic.a comp-c-piclib compat,pic -./usr/lib/64/libtre.a comp-c-lib compat -./usr/lib/64/libtre.so base-sys-shlib compat,pic -./usr/lib/64/libtre_p.a comp-c-proflib compat,profile -./usr/lib/64/libtre_pic.a comp-c-piclib compat,pic -./usr/lib/64/libukfs.a comp-c-lib compat,rump -./usr/lib/64/libukfs.so base-sys-shlib compat,pic,rump -./usr/lib/64/libukfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/64/libukfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/64/libusbhid.a comp-c-lib compat -./usr/lib/64/libusbhid.so base-sys-shlib compat,pic -./usr/lib/64/libusbhid_p.a comp-c-proflib compat,profile -./usr/lib/64/libusbhid_pic.a comp-c-piclib compat,pic -./usr/lib/64/libutil.a comp-c-lib compat -./usr/lib/64/libutil.so base-sys-shlib compat,pic -./usr/lib/64/libutil_p.a comp-c-proflib compat,profile -./usr/lib/64/libutil_pic.a comp-c-piclib compat,pic -./usr/lib/64/libvers.a comp-obsolete obsolete -./usr/lib/64/libvers_p.a comp-obsolete obsolete -./usr/lib/64/libvers_pic.a comp-obsolete obsolete -./usr/lib/64/libwind.a comp-c-lib compat,kerberos -./usr/lib/64/libwind.so comp-sys-shlib compat,pic,kerberos -./usr/lib/64/libwind_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/64/libwind_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/64/libwind_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/64/libwrap.a comp-c-lib compat -./usr/lib/64/libwrap.so base-sys-shlib compat,pic -./usr/lib/64/libwrap_p.a comp-c-proflib compat,profile -./usr/lib/64/libwrap_pic.a comp-c-piclib compat,pic -./usr/lib/64/liby.a comp-c-lib compat -./usr/lib/64/liby_p.a comp-c-proflib compat,profile -./usr/lib/64/liby_pic.a comp-obsolete obsolete -./usr/lib/64/libz.a comp-c-lib compat -./usr/lib/64/libz.so base-sys-shlib compat,pic -./usr/lib/64/libz_p.a comp-c-proflib compat,profile -./usr/lib/64/libz_pic.a comp-c-piclib compat,pic -./usr/lib/o32/crt0.o comp-c-lib compat -./usr/lib/o32/crtbegin.o comp-c-lib compat -./usr/lib/o32/crtbeginS.o comp-c-lib compat,pic -./usr/lib/o32/crtbeginT.o comp-c-lib compat,pic -./usr/lib/o32/crtend.o comp-c-lib compat -./usr/lib/o32/crtendS.o comp-c-lib compat,pic -./usr/lib/o32/crti.o comp-c-lib compat -./usr/lib/o32/crtn.o comp-c-lib compat -./usr/lib/o32/gcrt0.o comp-c-lib compat -./usr/lib/o32/i18n/libBIG5.a comp-c-lib compat -./usr/lib/o32/i18n/libBIG5.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libBIG5_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libBIG5_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libDECHanyu.a comp-c-lib compat -./usr/lib/o32/i18n/libDECHanyu.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libDECHanyu_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libDECHanyu_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUC.a comp-c-lib compat -./usr/lib/o32/i18n/libEUC.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW.a comp-c-lib compat -./usr/lib/o32/i18n/libEUCTW.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libEUCTW_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUCTW_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUC_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libEUC_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libGBK2K.a comp-c-lib compat -./usr/lib/o32/i18n/libGBK2K.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libGBK2K_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libGBK2K_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libHZ.a comp-c-lib compat -./usr/lib/o32/i18n/libHZ.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libHZ_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libHZ_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libISO2022.a comp-c-lib compat -./usr/lib/o32/i18n/libISO2022.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libISO2022_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libISO2022_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libJOHAB.a comp-c-lib compat -./usr/lib/o32/i18n/libJOHAB.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libJOHAB_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libJOHAB_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libMSKanji.a comp-c-lib compat -./usr/lib/o32/i18n/libMSKanji.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libMSKanji_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libMSKanji_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUES.a comp-c-lib compat -./usr/lib/o32/i18n/libUES.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUES_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUES_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF1632.a comp-c-lib compat -./usr/lib/o32/i18n/libUTF1632.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUTF1632_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF1632_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF7.a comp-c-lib compat -./usr/lib/o32/i18n/libUTF7.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUTF7_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF7_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF8.a comp-c-lib compat -./usr/lib/o32/i18n/libUTF8.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libUTF8_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libUTF8_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libVIQR.a comp-c-lib compat -./usr/lib/o32/i18n/libVIQR.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libVIQR_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libVIQR_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libZW.a comp-c-lib compat -./usr/lib/o32/i18n/libZW.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libZW_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libZW_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_none.a comp-c-lib compat -./usr/lib/o32/i18n/libiconv_none.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libiconv_none_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_none_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_std.a comp-c-lib compat -./usr/lib/o32/i18n/libiconv_std.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libiconv_std_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libiconv_std_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_646.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_646.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_646_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_646_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_none.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_none.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_none_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_none_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_parallel.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_parallel.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_parallel_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_parallel_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_serial.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_serial.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_serial_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_serial_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_std.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_std.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_std_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_std_pic.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_zone.a comp-c-lib compat -./usr/lib/o32/i18n/libmapper_zone.so base-sys-shlib compat,pic -./usr/lib/o32/i18n/libmapper_zone_p.a comp-obsolete obsolete -./usr/lib/o32/i18n/libmapper_zone_pic.a comp-obsolete obsolete -./usr/lib/o32/libarchive.a comp-c-lib compat -./usr/lib/o32/libarchive.so base-sys-shlib compat,pic -./usr/lib/o32/libarchive_p.a comp-c-proflib compat,profile -./usr/lib/o32/libarchive_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libasn1.a comp-c-lib compat,kerberos -./usr/lib/o32/libasn1.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libasn1_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libasn1_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libatf-c++.a comp-c-lib compat,atf -./usr/lib/o32/libatf-c++.so base-sys-lib compat,pic,atf -./usr/lib/o32/libatf-c++_p.a comp-c-proflib compat,profile,atf -./usr/lib/o32/libatf-c++_pic.a comp-c-piclib compat,pic,atf -./usr/lib/o32/libatf-c.a comp-c-lib compat,atf -./usr/lib/o32/libatf-c.so base-sys-lib compat,pic,atf -./usr/lib/o32/libatf-c_p.a comp-c-proflib compat,profile,atf -./usr/lib/o32/libatf-c_pic.a comp-c-piclib compat,pic,atf -./usr/lib/o32/libbfd.a comp-obsolete obsolete -./usr/lib/o32/libbfd.so base-obsolete obsolete -./usr/lib/o32/libbfd_p.a comp-obsolete obsolete -./usr/lib/o32/libbfd_pic.a comp-obsolete obsolete -./usr/lib/o32/libbind9.a comp-c-lib compat -./usr/lib/o32/libbind9.so base-sys-shlib compat,pic -./usr/lib/o32/libbind9_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbind9_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libbluetooth.a comp-c-lib compat -./usr/lib/o32/libbluetooth.so base-sys-shlib compat,pic -./usr/lib/o32/libbluetooth_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbluetooth_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libbsdmalloc.a comp-c-lib compat -./usr/lib/o32/libbsdmalloc.so base-sys-shlib compat,pic -./usr/lib/o32/libbsdmalloc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbsdmalloc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libbz2.a comp-c-lib compat -./usr/lib/o32/libbz2.so base-sys-shlib compat,pic -./usr/lib/o32/libbz2_p.a comp-c-proflib compat,profile -./usr/lib/o32/libbz2_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libc.a comp-c-lib compat -./usr/lib/o32/libc.so base-sys-shlib compat,pic -./usr/lib/o32/libc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libcom_err.a comp-c-lib compat,kerberos -./usr/lib/o32/libcom_err.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libcom_err_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libcom_err_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libcompat.a comp-c-lib compat -./usr/lib/o32/libcompat_p.a comp-c-proflib compat,profile -./usr/lib/o32/libcompat_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libcrypt.a comp-c-lib compat -./usr/lib/o32/libcrypt.so base-sys-shlib compat,pic -./usr/lib/o32/libcrypt_p.a comp-c-proflib compat,profile -./usr/lib/o32/libcrypt_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libcrypto.a comp-c-lib compat,crypto -./usr/lib/o32/libcrypto.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libcrypto_idea.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_idea_p.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_mdc2.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_mdc2_p.a comp-obsolete obsolete -./usr/lib/o32/libcrypto_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libcrypto_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libcrypto_rc5.a comp-c-lib crypto_rc5,compat -./usr/lib/o32/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile -./usr/lib/o32/libcurses.a comp-c-lib compat -./usr/lib/o32/libcurses.so base-sys-shlib compat,pic -./usr/lib/o32/libcurses_p.a comp-c-proflib compat,profile -./usr/lib/o32/libcurses_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libdes.a comp-c-lib compat,crypto -./usr/lib/o32/libdes.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libdes_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libdes_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libdevmapper.a comp-lvm-lib compat,lvm -./usr/lib/o32/libdevmapper.so base-lvm-shlib compat,lvm,pic -./usr/lib/o32/libdevmapper_g.a -unknown- compat,debuglib,lvm -./usr/lib/o32/libdevmapper_p.a comp-lvm-proflib compat,profile,lvm -./usr/lib/o32/libdevmapper_pic.a comp-lvm-piclib compat,pic,lvm -./usr/lib/o32/libdm.a comp-c-lib compat -./usr/lib/o32/libdm.so base-sys-shlib compat,pic -./usr/lib/o32/libdm_g.a -unknown- compat,debuglib -./usr/lib/o32/libdm_p.a comp-c-proflib compat,profile -./usr/lib/o32/libdm_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libdns.a comp-c-lib compat -./usr/lib/o32/libdns.so base-sys-shlib compat,pic -./usr/lib/o32/libdns_p.a comp-c-proflib compat,profile -./usr/lib/o32/libdns_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libdns_sd.a comp-c-lib compat,mdns -./usr/lib/o32/libdns_sd.so base-mdns-shlib compat,pic,mdns -./usr/lib/o32/libdns_sd_p.a comp-c-proflib compat,profile,mdns -./usr/lib/o32/libdns_sd_pic.a comp-c-piclib compat,pic,mdns -./usr/lib/o32/libdwarf.a comp-c-lib compat -./usr/lib/o32/libdwarf.so base-sys-shlib compat,pic -./usr/lib/o32/libdwarf_p.a comp-c-proflib compat,profile -./usr/lib/o32/libdwarf_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libedit.a comp-c-lib compat -./usr/lib/o32/libedit.so base-sys-shlib compat,pic -./usr/lib/o32/libedit_p.a comp-c-proflib compat,profile -./usr/lib/o32/libedit_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libelf.a comp-c-lib compat -./usr/lib/o32/libelf.so base-sys-shlib compat,pic -./usr/lib/o32/libelf_p.a comp-c-proflib compat,profile -./usr/lib/o32/libelf_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libevent.a comp-c-lib compat -./usr/lib/o32/libevent.so base-sys-shlib compat,pic -./usr/lib/o32/libevent_p.a comp-c-proflib compat,profile -./usr/lib/o32/libevent_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libexecinfo.a comp-c-lib compat -./usr/lib/o32/libexecinfo.so base-sys-shlib compat,pic -./usr/lib/o32/libexecinfo_p.a comp-c-proflib compat,profile -./usr/lib/o32/libexecinfo_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libexpat.a comp-c-lib compat -./usr/lib/o32/libexpat.so base-sys-shlib compat,pic -./usr/lib/o32/libexpat_p.a comp-c-proflib compat,profile -./usr/lib/o32/libexpat_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libfetch.a comp-c-lib compat -./usr/lib/o32/libfetch.so base-sys-shlib compat,pic -./usr/lib/o32/libfetch_p.a comp-c-proflib compat,profile -./usr/lib/o32/libfetch_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libfl.a comp-c-lib compat -./usr/lib/o32/libfl_p.a comp-c-proflib compat,profile -./usr/lib/o32/libform.a comp-c-lib compat -./usr/lib/o32/libform.so base-sys-shlib compat,pic -./usr/lib/o32/libform_p.a comp-c-proflib compat,profile -./usr/lib/o32/libform_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libgcc.a comp-c-lib compat -./usr/lib/o32/libgcc_eh.a comp-c-lib compat,pic -./usr/lib/o32/libgcc_eh_p.a comp-c-proflib obsolete -./usr/lib/o32/libgcc_eh_pic.a comp-c-piclib obsolete -./usr/lib/o32/libgcc_p.a comp-c-proflib obsolete -./usr/lib/o32/libgcc_pic.a comp-c-piclib obsolete -./usr/lib/o32/libgcc_s.a comp-obsolete obsolete -./usr/lib/o32/libgcc_s.so base-sys-shlib compat,pic -./usr/lib/o32/libgcc_s_p.a comp-obsolete obsolete -./usr/lib/o32/libgcc_s_pic.a comp-obsolete obsolete -./usr/lib/o32/libgcov.a comp-c-lib compat,gcccmds -./usr/lib/o32/libgcov_p.a comp-obsolete obsolete -./usr/lib/o32/libgcov_pic.a comp-obsolete obsolete -./usr/lib/o32/libgmp.a comp-c-lib obsolete -./usr/lib/o32/libgmp.so base-sys-shlib obsolete -./usr/lib/o32/libgmp_g.a -unknown- obsolete -./usr/lib/o32/libgmp_p.a comp-c-proflib obsolete -./usr/lib/o32/libgmp_pic.a comp-c-piclib obsolete -./usr/lib/o32/libgnumalloc.a comp-c-lib compat -./usr/lib/o32/libgnumalloc.so base-sys-shlib compat,pic -./usr/lib/o32/libgnumalloc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libgnumalloc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libgomp.a comp-c-lib compat,gcc=45 -./usr/lib/o32/libgomp.so base-sys-shlib compat,pic,gcc=45 -./usr/lib/o32/libgomp_p.a comp-c-proflib compat,profile,gcc=45 -./usr/lib/o32/libgomp_pic.a comp-c-piclib compat,pic,gcc=45 -./usr/lib/o32/libgssapi.a comp-c-lib compat,kerberos -./usr/lib/o32/libgssapi.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libgssapi_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libgssapi_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libhdb.a comp-c-lib compat,kerberos -./usr/lib/o32/libhdb.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libhdb_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libhdb_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libheimbase.a comp-c-lib compat,kerberos -./usr/lib/o32/libheimbase.so comp-sys-shlib compat,pic,kerberos -./usr/lib/o32/libheimbase_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/o32/libheimbase_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libheimbase_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/o32/libheimntlm.a comp-c-lib compat,kerberos -./usr/lib/o32/libheimntlm.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libheimntlm_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libhx509.a comp-c-lib compat,kerberos -./usr/lib/o32/libhx509.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libhx509_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libhx509_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libiberty.a comp-obsolete obsolete -./usr/lib/o32/libiberty_p.a comp-obsolete obsolete -./usr/lib/o32/libiberty_pic.a comp-obsolete obsolete -./usr/lib/o32/libintl.a comp-c-lib compat -./usr/lib/o32/libintl.so base-sys-shlib compat,pic -./usr/lib/o32/libintl_p.a comp-c-proflib compat,profile -./usr/lib/o32/libintl_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libipsec.a comp-c-lib compat -./usr/lib/o32/libipsec.so base-sys-shlib compat,pic -./usr/lib/o32/libipsec_p.a comp-c-proflib compat,profile -./usr/lib/o32/libipsec_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libisc.a comp-c-lib compat -./usr/lib/o32/libisc.so base-sys-shlib compat,pic -./usr/lib/o32/libisc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libisccc.a comp-c-lib compat -./usr/lib/o32/libisccc.so base-sys-shlib compat,pic -./usr/lib/o32/libisccc_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisccc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libisccfg.a comp-c-lib compat -./usr/lib/o32/libisccfg.so base-sys-shlib compat,pic -./usr/lib/o32/libisccfg_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisccfg_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libiscsi.a comp-c-lib compat,iscsi -./usr/lib/o32/libiscsi.so base-sys-shlib compat,pic,iscsi -./usr/lib/o32/libiscsi_p.a comp-c-proflib compat,profile,iscsi -./usr/lib/o32/libiscsi_pic.a comp-c-piclib compat,pic,iscsi -./usr/lib/o32/libisns.a comp-c-lib compat -./usr/lib/o32/libisns.so comp-sys-shlib compat -./usr/lib/o32/libisns_p.a comp-c-proflib compat,profile -./usr/lib/o32/libisns_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libkadm5clnt.a comp-c-lib compat,kerberos -./usr/lib/o32/libkadm5clnt.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkadm5srv.a comp-c-lib compat,kerberos -./usr/lib/o32/libkadm5srv.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkafs.a comp-c-lib compat,kerberos -./usr/lib/o32/libkafs.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkafs_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkafs_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkdc.a comp-c-lib compat,kerberos -./usr/lib/o32/libkdc.so comp-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkdc_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/o32/libkdc_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkdc_pic.a comp-c-proflib compat,pic,kerberos -./usr/lib/o32/libkrb5.a comp-c-lib compat,kerberos -./usr/lib/o32/libkrb5.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libkrb5_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libkrb5_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libkvm.a comp-c-lib compat -./usr/lib/o32/libkvm.so base-sys-shlib compat,pic -./usr/lib/o32/libkvm_p.a comp-c-proflib compat,profile -./usr/lib/o32/libkvm_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libl.a comp-c-lib compat -./usr/lib/o32/libl_p.a comp-c-proflib compat,profile -./usr/lib/o32/libl_pic.a comp-obsolete obsolete -./usr/lib/o32/liblber.a comp-c-lib compat,ldap -./usr/lib/o32/liblber.so base-sys-shlib compat,pic,ldap -./usr/lib/o32/liblber_p.a comp-c-proflib compat,profile,ldap -./usr/lib/o32/liblber_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/o32/libldap.a comp-c-lib compat,ldap -./usr/lib/o32/libldap.so base-sys-shlib compat,pic,ldap -./usr/lib/o32/libldap_p.a comp-c-proflib compat,profile,ldap -./usr/lib/o32/libldap_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/o32/libldap_r.a comp-c-lib compat,ldap -./usr/lib/o32/libldap_r.so base-sys-shlib compat,pic,ldap -./usr/lib/o32/libldap_r_p.a comp-c-proflib compat,profile,ldap -./usr/lib/o32/libldap_r_pic.a comp-c-piclib compat,pic,ldap -./usr/lib/o32/liblua.a comp-c-lib compat -./usr/lib/o32/liblua.so base-sys-shlib compat,pic -./usr/lib/o32/liblua_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblua_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liblwres.a comp-c-lib compat -./usr/lib/o32/liblwres.so base-sys-shlib compat,pic -./usr/lib/o32/liblwres_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblwres_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liblzf.a comp-c-lib compat -./usr/lib/o32/liblzf.so base-sys-shlib compat,pic -./usr/lib/o32/liblzf_g.a -unknown- compat,debuglib -./usr/lib/o32/liblzf_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblzf_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liblzma.a comp-c-lib compat -./usr/lib/o32/liblzma.so base-sys-shlib compat,pic -./usr/lib/o32/liblzma_p.a comp-c-proflib compat,profile -./usr/lib/o32/liblzma_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libm.a comp-c-lib compat -./usr/lib/o32/libm.so base-sys-shlib compat,pic -./usr/lib/o32/libm_p.a comp-c-proflib compat,profile -./usr/lib/o32/libm_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libmagic.a comp-c-lib compat -./usr/lib/o32/libmagic.so base-sys-shlib compat,pic -./usr/lib/o32/libmagic_p.a comp-c-proflib compat,profile -./usr/lib/o32/libmagic_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libmenu.a comp-c-lib compat -./usr/lib/o32/libmenu.so base-sys-shlib compat,pic -./usr/lib/o32/libmenu_p.a comp-c-proflib compat,profile -./usr/lib/o32/libmenu_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libmj.a comp-c-lib compat,crypto -./usr/lib/o32/libmj.so comp-sys-shlib compat,crypto,pic -./usr/lib/o32/libmj_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libmj_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libmpc.a comp-c-lib obsolete -./usr/lib/o32/libmpc.so base-sys-shlib obsolete -./usr/lib/o32/libmpc_g.a -unknown- obsolete -./usr/lib/o32/libmpc_p.a comp-c-proflib obsolete -./usr/lib/o32/libmpc_pic.a comp-c-piclib obsolete -./usr/lib/o32/libmpfr.a comp-c-lib obsolete -./usr/lib/o32/libmpfr.so base-sys-shlib obsolete -./usr/lib/o32/libmpfr_g.a -unknown- obsolete -./usr/lib/o32/libmpfr_p.a comp-c-proflib obsolete -./usr/lib/o32/libmpfr_pic.a comp-c-piclib obsolete -./usr/lib/o32/libnetpgp.a comp-c-lib compat,crypto -./usr/lib/o32/libnetpgp.so comp-sys-shlib compat,crypto,pic -./usr/lib/o32/libnetpgp_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libnetpgp_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libnpf.a comp-c-lib compat,npf -./usr/lib/o32/libnpf.so comp-sys-shlib compat,npf,pic -./usr/lib/o32/libnpf_p.a comp-c-proflib compat,npf,profile -./usr/lib/o32/libnpf_pic.a comp-c-piclib compat,npf,pic -./usr/lib/o32/libobjc.a comp-c-lib compat,gcccmds -./usr/lib/o32/libobjc.so base-sys-shlib compat,pic,gcccmds -./usr/lib/o32/libobjc_p.a comp-c-proflib compat,profile,gcccmds -./usr/lib/o32/libobjc_pic.a comp-c-piclib compat,pic,gcccmds -./usr/lib/o32/libopcodes.a comp-obsolete obsolete -./usr/lib/o32/libopcodes.so base-obsolete obsolete -./usr/lib/o32/libopcodes_p.a comp-obsolete obsolete -./usr/lib/o32/libopcodes_pic.a comp-obsolete obsolete -./usr/lib/o32/libossaudio.a comp-c-lib compat -./usr/lib/o32/libossaudio.so base-sys-shlib compat,pic -./usr/lib/o32/libossaudio_p.a comp-c-proflib compat,profile -./usr/lib/o32/libossaudio_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libp2k.a comp-c-lib compat,rump -./usr/lib/o32/libp2k.so base-sys-shlib compat,pic,rump -./usr/lib/o32/libp2k_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/libp2k_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/libpam.a comp-c-lib compat -./usr/lib/o32/libpam.so base-sys-shlib compat,pic -./usr/lib/o32/libpam_p.a comp-obsolete obsolete -./usr/lib/o32/libpam_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpcap.a comp-c-lib compat -./usr/lib/o32/libpcap.so base-sys-shlib compat,pic -./usr/lib/o32/libpcap_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpcap_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpci.a comp-c-lib compat -./usr/lib/o32/libpci.so base-sys-shlib compat,pic -./usr/lib/o32/libpci_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpci_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libperfuse.a comp-c-lib compat -./usr/lib/o32/libperfuse.so base-sys-shlib compat,pic -./usr/lib/o32/libperfuse_g.a comp-c-proflib compat,debuglib -./usr/lib/o32/libperfuse_p.a comp-c-proflib compat,profile -./usr/lib/o32/libperfuse_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libposix.a comp-c-lib compat -./usr/lib/o32/libposix.so base-sys-shlib compat,pic -./usr/lib/o32/libposix_p.a comp-c-proflib compat,profile -./usr/lib/o32/libposix_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libppath.a comp-c-lib compat -./usr/lib/o32/libppath.so base-sys-shlib compat,pic -./usr/lib/o32/libppath_p.a comp-c-proflib compat,profile -./usr/lib/o32/libppath_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libprop.a comp-c-lib compat -./usr/lib/o32/libprop.so base-sys-shlib compat,pic -./usr/lib/o32/libprop_p.a comp-c-proflib compat,profile -./usr/lib/o32/libprop_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpthread.a comp-c-lib compat -./usr/lib/o32/libpthread.so base-sys-shlib compat,pic -./usr/lib/o32/libpthread_dbg.a comp-c-lib compat -./usr/lib/o32/libpthread_dbg.so base-sys-shlib compat,pic -./usr/lib/o32/libpthread_dbg_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpthread_dbg_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpthread_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpthread_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libpuffs.a comp-c-lib compat -./usr/lib/o32/libpuffs.so base-sys-shlib compat,pic -./usr/lib/o32/libpuffs_p.a comp-c-proflib compat,profile -./usr/lib/o32/libpuffs_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libquota.a comp-c-lib compat -./usr/lib/o32/libquota.so base-sys-shlib compat,pic -./usr/lib/o32/libquota_p.a comp-c-proflib compat,profile -./usr/lib/o32/libquota_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libradius.a comp-c-lib compat -./usr/lib/o32/libradius.so base-sys-shlib compat,pic -./usr/lib/o32/libradius_p.a comp-c-proflib compat,profile -./usr/lib/o32/libradius_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librefuse.a comp-c-lib compat -./usr/lib/o32/librefuse.so base-sys-shlib compat,pic -./usr/lib/o32/librefuse_p.a comp-c-proflib compat,profile -./usr/lib/o32/librefuse_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libresolv.a comp-c-lib compat -./usr/lib/o32/libresolv.so base-sys-shlib compat,pic -./usr/lib/o32/libresolv_p.a comp-c-proflib compat,profile -./usr/lib/o32/libresolv_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librmt.a comp-c-lib compat -./usr/lib/o32/librmt_p.a comp-obsolete obsolete -./usr/lib/o32/librmt_pic.a comp-obsolete obsolete -./usr/lib/o32/libroken.a comp-c-lib compat,kerberos -./usr/lib/o32/libroken.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libroken_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libroken_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/librpcsvc.a comp-c-lib compat -./usr/lib/o32/librpcsvc.so base-sys-shlib compat,pic -./usr/lib/o32/librpcsvc_p.a comp-c-proflib compat,profile -./usr/lib/o32/librpcsvc_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librt.a comp-c-lib compat -./usr/lib/o32/librt.so base-sys-shlib compat,pic -./usr/lib/o32/librt_p.a comp-c-proflib compat,profile -./usr/lib/o32/librt_pic.a comp-c-piclib compat,pic -./usr/lib/o32/librump.a comp-c-lib compat,rump -./usr/lib/o32/librump.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librump_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librump_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpclient.a comp-c-lib compat,rump -./usr/lib/o32/librumpclient.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpclient_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpclient_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpcrypto.a comp-obsolete obsolete -./usr/lib/o32/librumpcrypto.so base-obsolete obsolete -./usr/lib/o32/librumpcrypto_p.a comp-obsolete obsolete -./usr/lib/o32/librumpcrypto_pic.a comp-obsolete obsolete -./usr/lib/o32/librumpdev.a comp-c-lib compat,rump -./usr/lib/o32/librumpdev.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpdev_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpdev_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumphijack.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumphijack_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpnet.a comp-c-lib compat,rump -./usr/lib/o32/librumpnet.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpnet_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpnet_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpuser.a comp-c-lib compat,rump -./usr/lib/o32/librumpuser.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpuser_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpuser_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/librumpvfs.a comp-c-lib compat,rump -./usr/lib/o32/librumpvfs.so base-sys-shlib compat,pic,rump -./usr/lib/o32/librumpvfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/librumpvfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/libsaslc.a comp-c-lib compat,crypto -./usr/lib/o32/libsaslc.so base-sys-shlib compat,pic,crypto -./usr/lib/o32/libsaslc_p.a comp-c-proflib compat,profile,crypto -./usr/lib/o32/libsaslc_pic.a comp-c-piclib compat,pic,crypto -./usr/lib/o32/libsdp.a comp-obsolete obsolete -./usr/lib/o32/libsdp.so base-obsolete obsolete -./usr/lib/o32/libsdp_p.a comp-obsolete obsolete -./usr/lib/o32/libsdp_pic.a comp-obsolete obsolete -./usr/lib/o32/libskey.a comp-c-lib compat,skey -./usr/lib/o32/libskey.so base-sys-shlib compat,pic,skey -./usr/lib/o32/libskey_p.a comp-c-proflib compat,profile,skey -./usr/lib/o32/libskey_pic.a comp-c-piclib compat,pic,skey -./usr/lib/o32/libsl.a comp-c-lib compat,kerberos -./usr/lib/o32/libsl.so base-sys-shlib compat,pic,kerberos -./usr/lib/o32/libsl_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libsl_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libsqlite3.a comp-c-lib compat -./usr/lib/o32/libsqlite3.so base-sys-shlib compat,pic -./usr/lib/o32/libsqlite3_p.a comp-c-proflib compat,profile -./usr/lib/o32/libsqlite3_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libss.a comp-c-lib obsolete -./usr/lib/o32/libss.so base-sys-shlib obsolete -./usr/lib/o32/libss_p.a comp-c-proflib obsolete -./usr/lib/o32/libss_pic.a comp-c-piclib obsolete -./usr/lib/o32/libssh.a comp-c-lib compat,crypto -./usr/lib/o32/libssh.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libssh_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libssh_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libssl.a comp-c-lib compat,crypto -./usr/lib/o32/libssl.so base-sys-shlib compat,crypto,pic -./usr/lib/o32/libssl_p.a comp-c-proflib compat,crypto,profile -./usr/lib/o32/libssl_pic.a comp-c-piclib compat,crypto,pic -./usr/lib/o32/libstdc++.a comp-c-lib compat,cxx -./usr/lib/o32/libstdc++.so base-sys-shlib compat,pic,cxx -./usr/lib/o32/libstdc++_p.a comp-c-proflib compat,profile,cxx -./usr/lib/o32/libstdc++_pic.a comp-c-piclib compat,pic,cxx -./usr/lib/o32/libsupc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/o32/libsupc++.so base-obsolete obsolete -./usr/lib/o32/libsupc++_pic.a comp-obsolete obsolete -./usr/lib/o32/libtermcap.a comp-c-lib compat -./usr/lib/o32/libtermcap.so base-sys-shlib compat,pic -./usr/lib/o32/libtermcap_p.a comp-c-proflib compat,profile -./usr/lib/o32/libtermcap_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libterminfo.a comp-c-lib compat -./usr/lib/o32/libterminfo.so base-sys-shlib compat,pic -./usr/lib/o32/libterminfo_p.a comp-c-proflib compat,profile -./usr/lib/o32/libterminfo_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libtermlib.a comp-c-lib compat -./usr/lib/o32/libtermlib.so base-sys-shlib compat,pic -./usr/lib/o32/libtermlib_p.a comp-c-proflib compat,profile -./usr/lib/o32/libtermlib_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libtre.a comp-c-lib compat -./usr/lib/o32/libtre.so base-sys-shlib compat,pic -./usr/lib/o32/libtre_p.a comp-c-proflib compat,profile -./usr/lib/o32/libtre_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libukfs.a comp-c-lib compat,rump -./usr/lib/o32/libukfs.so base-sys-shlib compat,pic,rump -./usr/lib/o32/libukfs_p.a comp-c-proflib compat,profile,rump -./usr/lib/o32/libukfs_pic.a comp-c-piclib compat,pic,rump -./usr/lib/o32/libusbhid.a comp-c-lib compat -./usr/lib/o32/libusbhid.so base-sys-shlib compat,pic -./usr/lib/o32/libusbhid_p.a comp-c-proflib compat,profile -./usr/lib/o32/libusbhid_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libutil.a comp-c-lib compat -./usr/lib/o32/libutil.so base-sys-shlib compat,pic -./usr/lib/o32/libutil_p.a comp-c-proflib compat,profile -./usr/lib/o32/libutil_pic.a comp-c-piclib compat,pic -./usr/lib/o32/libvers.a comp-obsolete obsolete -./usr/lib/o32/libvers_p.a comp-obsolete obsolete -./usr/lib/o32/libvers_pic.a comp-obsolete obsolete -./usr/lib/o32/libwind.a comp-c-lib compat,kerberos -./usr/lib/o32/libwind.so comp-sys-shlib compat,pic,kerberos -./usr/lib/o32/libwind_g.a comp-c-proflib compat,debuglib,kerberos -./usr/lib/o32/libwind_p.a comp-c-proflib compat,profile,kerberos -./usr/lib/o32/libwind_pic.a comp-c-piclib compat,pic,kerberos -./usr/lib/o32/libwrap.a comp-c-lib compat -./usr/lib/o32/libwrap.so base-sys-shlib compat,pic -./usr/lib/o32/libwrap_p.a comp-c-proflib compat,profile -./usr/lib/o32/libwrap_pic.a comp-c-piclib compat,pic -./usr/lib/o32/liby.a comp-c-lib compat -./usr/lib/o32/liby_p.a comp-c-proflib compat,profile -./usr/lib/o32/liby_pic.a comp-obsolete obsolete -./usr/lib/o32/libz.a comp-c-lib compat -./usr/lib/o32/libz.so base-sys-shlib compat,pic -./usr/lib/o32/libz_p.a comp-c-proflib compat,profile -./usr/lib/o32/libz_pic.a comp-c-piclib compat,pic -./usr/libdata/debug/usr/bin/elf2aout.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/elf2ecoff.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/64/libamu.so.4.0.debug comp-amd-debug debug,compat -./usr/libdata/debug/usr/lib/64/libarchive.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/64/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/64/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libbfd.so.12.0.debug comp-sys-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/64/libbind9.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libbluetooth.so.4.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libbz2.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libc.so.12.185.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libcrypt.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libcrypto.so.8.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/64/libcurses.so.7.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat -./usr/libdata/debug/usr/lib/64/libdm.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libdns.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat -./usr/libdata/debug/usr/lib/64/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/64/libdwarf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libedit.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libelf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libevent.so.3.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libexecinfo.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libexpat.so.2.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libfetch.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libform.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/64/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat -./usr/libdata/debug/usr/lib/64/libgmp.so.10.2.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/64/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45,notyet -./usr/libdata/debug/usr/lib/64/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/64/libintl.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libipsec.so.3.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libisc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libisccc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libisccfg.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat -./usr/libdata/debug/usr/lib/64/libisns.so.0.0.debug comp-isns-debug debug,compat -./usr/libdata/debug/usr/lib/64/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libkvm.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/64/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/64/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/64/liblua.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblwres.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblzf.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/liblzma.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libm.so.0.10.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmagic.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmenu.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmj.so.1.0.debug comp-crypto-debug debug,compat -./usr/libdata/debug/usr/lib/64/libmpc.so.2.0.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/64/libmpfr.so.4.1.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/64/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat -./usr/libdata/debug/usr/lib/64/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/64/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat -./usr/libdata/debug/usr/lib/64/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat -./usr/libdata/debug/usr/lib/64/libopcodes.so.5.0.debug comp-c-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/64/libossaudio.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/libpam.so.3.0.debug comp-sys-debug pam,debug,compat -./usr/libdata/debug/usr/lib/64/libpcap.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpci.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/64/libposix.so.0.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libppath.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libprop.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpthread.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libpuffs.so.2.0.debug comp-puffs-debug debug,compat -./usr/libdata/debug/usr/lib/64/libquota.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libradius.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/librefuse.so.2.0.debug comp-refuse-debug debug,compat -./usr/libdata/debug/usr/lib/64/libresolv.so.2.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/64/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/librpcsvc.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/librt.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/librump.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat -./usr/libdata/debug/usr/lib/64/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpuser.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libskey.so.2.0.debug comp-sys-debug skey,debug,compat -./usr/libdata/debug/usr/lib/64/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/64/libsqlite3.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libss.so.6.0.debug comp-krb5-debug obsolete -./usr/libdata/debug/usr/lib/64/libssh.so.19.0.debug comp-secsh-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libssl.so.10.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/64/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat -./usr/libdata/debug/usr/lib/64/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat -./usr/libdata/debug/usr/lib/64/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat -./usr/libdata/debug/usr/lib/64/libterminfo.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libtre.so.0.8.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump -./usr/libdata/debug/usr/lib/64/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libusbhid.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libutil.so.7.21.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/64/libwrap.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/64/libz.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/64/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/64/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libamu.so.4.0.debug comp-amd-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libarchive.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/o32/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/o32/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libbfd.so.12.0.debug comp-sys-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/o32/libbind9.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libbluetooth.so.4.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libbz2.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libc.so.12.185.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libcrypt.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libcrypto.so.8.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/o32/libcurses.so.7.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat -./usr/libdata/debug/usr/lib/o32/libdm.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libdns.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat -./usr/libdata/debug/usr/lib/o32/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat -./usr/libdata/debug/usr/lib/o32/libdwarf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libedit.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libelf.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libevent.so.3.2.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libexecinfo.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libexpat.so.2.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libfetch.so.3.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libform.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/o32/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat -./usr/libdata/debug/usr/lib/o32/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45 -./usr/libdata/debug/usr/lib/o32/libgmp.so.10.2.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/o32/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/o32/libintl.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libipsec.so.3.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libisc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libisccc.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libisccfg.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat -./usr/libdata/debug/usr/lib/o32/libisns.so.0.0.debug comp-isns-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libkvm.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/o32/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/o32/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat -./usr/libdata/debug/usr/lib/o32/liblua.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblwres.so.5.7.debug comp-bind-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblzf.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/liblzma.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libm.so.0.10.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmagic.so.3.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmenu.so.6.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmj.so.1.0.debug comp-crypto-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libmpc.so.2.0.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/o32/libmpfr.so.4.1.debug comp-sys-debug obsolete -./usr/libdata/debug/usr/lib/o32/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat -./usr/libdata/debug/usr/lib/o32/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat -./usr/libdata/debug/usr/lib/o32/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat -./usr/libdata/debug/usr/lib/o32/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat -./usr/libdata/debug/usr/lib/o32/libopcodes.so.5.0.debug comp-c-debug binutils,debug,compat -./usr/libdata/debug/usr/lib/o32/libossaudio.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/libpam.so.3.0.debug comp-sys-debug pam,debug,compat -./usr/libdata/debug/usr/lib/o32/libpcap.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpci.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/o32/libposix.so.0.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libppath.so.0.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libprop.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpthread.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libpuffs.so.2.0.debug comp-puffs-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libquota.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libradius.so.4.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/librefuse.so.2.0.debug comp-refuse-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libresolv.so.2.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/o32/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/librpcsvc.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/librt.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/librump.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat -./usr/libdata/debug/usr/lib/o32/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpuser.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libskey.so.2.0.debug comp-sys-debug skey,debug,compat -./usr/libdata/debug/usr/lib/o32/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat -./usr/libdata/debug/usr/lib/o32/libsqlite3.so.1.1.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libss.so.6.0.debug comp-krb5-debug obsolete -./usr/libdata/debug/usr/lib/o32/libssh.so.19.0.debug comp-secsh-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libssl.so.10.0.debug comp-crypto-debug crypto,debug,compat -./usr/libdata/debug/usr/lib/o32/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat -./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat -./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat -./usr/libdata/debug/usr/lib/o32/libterminfo.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libtre.so.0.8.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump -./usr/libdata/debug/usr/lib/o32/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libusbhid.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libutil.so.7.21.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/o32/libwrap.so.1.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libz.so.1.0.debug comp-sys-debug debug,compat -./usr/libdata/debug/usr/lib/o32/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/debug/usr/lib/o32/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat -./usr/libdata/ldscripts/elf32btsmip.x comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf32btsmip.xw comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.x comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xbn comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xc comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xn comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xr comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xs comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xsc comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xsw comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xu comp-util-bin -./usr/libdata/ldscripts/elf32btsmipn32.xw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.x comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf32ltsmip.xw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.x comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xbn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xn comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xr comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xs comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xsc comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xsw comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xu comp-util-bin -./usr/libdata/ldscripts/elf32ltsmipn32.xw comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.x comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf64btsmip.xw comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.x comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xbn comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xc comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xn comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xr comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xs comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xsc comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xsw comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xu comp-util-bin -./usr/libdata/ldscripts/elf64ltsmip.xw comp-util-bin diff --git a/distrib/sets/lists/comp/ad.powerpc b/distrib/sets/lists/comp/ad.powerpc index 42a648de5..c330e2e60 100644 --- a/distrib/sets/lists/comp/ad.powerpc +++ b/distrib/sets/lists/comp/ad.powerpc @@ -1,11 +1,14 @@ -# $NetBSD: ad.powerpc,v 1.59 2012/06/16 17:01:02 joerg Exp $ +# $NetBSD: ad.powerpc,v 1.64 2013/11/17 14:34:11 alnsn Exp $ ./usr/bin/elf2aout comp-sysutil-bin ./usr/bin/psim comp-debug-bin gdb ./usr/include/altivec.h comp-obsolete obsolete ./usr/include/clang-3.0/altivec.h comp-obsolete obsolete -./usr/include/clang-3.2/altivec.h comp-c-include llvm +./usr/include/clang-3.2/altivec.h comp-obsolete obsolete +./usr/include/clang-3.3/altivec.h comp-obsolete obsolete +./usr/include/clang-3.4/altivec.h comp-c-include llvm ./usr/include/gcc-4.1/altivec.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/altivec.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/altivec.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.5/altivec.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/paired.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/ppc-asm.h comp-c-include gcccmds,gcc=45 @@ -15,6 +18,15 @@ ./usr/include/gcc-4.5/spu2vmx.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/vec_types.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/altivec.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/paired.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/ppc-asm.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/ppu_intrinsics.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/si2vmx.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/spe.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/spu2vmx.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/vec_types.h comp-c-include gcccmds,gcc=48 ./usr/include/powerpc comp-c-include ./usr/include/powerpc/ansi.h comp-c-include ./usr/include/powerpc/aout_machdep.h comp-c-include @@ -84,6 +96,7 @@ ./usr/include/powerpc/rwlock.h comp-c-include ./usr/include/powerpc/setjmp.h comp-c-include ./usr/include/powerpc/signal.h comp-c-include +./usr/include/powerpc/sljitarch.h comp-c-include ./usr/include/powerpc/spr.h comp-c-include ./usr/include/powerpc/stdarg.h comp-obsolete obsolete ./usr/include/powerpc/trap.h comp-c-include @@ -92,6 +105,3 @@ ./usr/include/powerpc/varargs.h comp-obsolete obsolete ./usr/include/powerpc/vmparam.h comp-c-include ./usr/include/powerpc/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/bin/elf2aout.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/psim.debug comp-debug-debug debug,gdb diff --git a/distrib/sets/lists/comp/ad.sh3 b/distrib/sets/lists/comp/ad.sh3 index 978a5828b..cd4540d16 100644 --- a/distrib/sets/lists/comp/ad.sh3 +++ b/distrib/sets/lists/comp/ad.sh3 @@ -1,5 +1,6 @@ -# $NetBSD: ad.sh3,v 1.28 2011/07/18 17:39:05 dyoung Exp $ +# $NetBSD: ad.sh3,v 1.29 2013/11/01 07:48:31 mrg Exp $ ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 ./usr/include/ieeefp.h comp-c-include ./usr/include/sh3 comp-c-include ./usr/include/sh3/ansi.h comp-c-include diff --git a/distrib/sets/lists/comp/md.acorn26 b/distrib/sets/lists/comp/md.acorn26 deleted file mode 100644 index 68f7b9c46..000000000 --- a/distrib/sets/lists/comp/md.acorn26 +++ /dev/null @@ -1,104 +0,0 @@ -# $NetBSD: md.acorn26,v 1.14 2011/07/19 16:05:09 dyoung Exp $ -./usr/include/acorn26 comp-c-include -./usr/include/acorn26/ansi.h comp-c-include -./usr/include/acorn26/aout_machdep.h comp-c-include -./usr/include/acorn26/asm.h comp-c-include -./usr/include/acorn26/boot.h comp-c-include -./usr/include/acorn26/bswap.h comp-c-include -./usr/include/acorn26/bus.h comp-obsolete obsolete -./usr/include/acorn26/cdefs.h comp-c-include -./usr/include/acorn26/cpu.h comp-c-include -./usr/include/acorn26/db_machdep.h comp-obsolete obsolete -./usr/include/acorn26/disklabel.h comp-c-include -./usr/include/acorn26/elf_machdep.h comp-c-include -./usr/include/acorn26/endian.h comp-c-include -./usr/include/acorn26/endian_machdep.h comp-c-include -./usr/include/acorn26/float.h comp-c-include -./usr/include/acorn26/fp.h comp-c-include -./usr/include/acorn26/frame.h comp-c-include -./usr/include/acorn26/ieee.h comp-c-include -./usr/include/acorn26/ieeefp.h comp-c-include -./usr/include/acorn26/int_const.h comp-c-include -./usr/include/acorn26/int_fmtio.h comp-c-include -./usr/include/acorn26/int_limits.h comp-c-include -./usr/include/acorn26/int_mwgwtypes.h comp-c-include -./usr/include/acorn26/int_types.h comp-c-include -./usr/include/acorn26/intr.h comp-c-include -./usr/include/acorn26/ipkdb.h comp-obsolete obsolete -./usr/include/acorn26/irq.h comp-c-include -./usr/include/acorn26/limits.h comp-c-include -./usr/include/acorn26/lock.h comp-c-include -./usr/include/acorn26/math.h comp-c-include -./usr/include/acorn26/mcontext.h comp-c-include -./usr/include/acorn26/mutex.h comp-c-include -./usr/include/acorn26/param.h comp-c-include -./usr/include/acorn26/pcb.h comp-c-include -./usr/include/acorn26/pmap.h comp-c-include -./usr/include/acorn26/pmc.h comp-c-include -./usr/include/acorn26/proc.h comp-c-include -./usr/include/acorn26/profile.h comp-c-include -./usr/include/acorn26/ptrace.h comp-c-include -./usr/include/acorn26/reg.h comp-c-include -./usr/include/acorn26/rwlock.h comp-c-include -./usr/include/acorn26/setjmp.h comp-c-include -./usr/include/acorn26/signal.h comp-c-include -./usr/include/acorn26/stdarg.h comp-obsolete obsolete -./usr/include/acorn26/sysarch.h comp-c-include -./usr/include/acorn26/trap.h comp-c-include -./usr/include/acorn26/types.h comp-c-include -./usr/include/acorn26/varargs.h comp-obsolete obsolete -./usr/include/acorn26/vmparam.h comp-c-include -./usr/include/acorn26/wchar_limits.h comp-c-include -./usr/include/arm/arm32/bus.h comp-obsolete obsolete -./usr/include/arm/arm32/sysarch.h comp-obsolete obsolete -./usr/include/arm26 comp-obsolete obsolete -./usr/include/arm26/_G_config.h comp-obsolete obsolete -./usr/include/arm26/ansi.h comp-obsolete obsolete -./usr/include/arm26/aout_machdep.h comp-obsolete obsolete -./usr/include/arm26/armreg.h comp-obsolete obsolete -./usr/include/arm26/asm.h comp-obsolete obsolete -./usr/include/arm26/boot.h comp-obsolete obsolete -./usr/include/arm26/bswap.h comp-obsolete obsolete -./usr/include/arm26/bus.h comp-obsolete obsolete -./usr/include/arm26/cdefs.h comp-obsolete obsolete -./usr/include/arm26/cpu.h comp-obsolete obsolete -./usr/include/arm26/db_machdep.h comp-obsolete obsolete -./usr/include/arm26/disklabel.h comp-obsolete obsolete -./usr/include/arm26/disklabel_acorn.h comp-obsolete obsolete -./usr/include/arm26/elf_machdep.h comp-obsolete obsolete -./usr/include/arm26/endian.h comp-obsolete obsolete -./usr/include/arm26/endian_machdep.h comp-obsolete obsolete -./usr/include/arm26/float.h comp-obsolete obsolete -./usr/include/arm26/fp.h comp-obsolete obsolete -./usr/include/arm26/frame.h comp-obsolete obsolete -./usr/include/arm26/ieee.h comp-obsolete obsolete -./usr/include/arm26/ieeefp.h comp-obsolete obsolete -./usr/include/arm26/int_const.h comp-obsolete obsolete -./usr/include/arm26/int_fmtio.h comp-obsolete obsolete -./usr/include/arm26/int_limits.h comp-obsolete obsolete -./usr/include/arm26/int_mwgwtypes.h comp-obsolete obsolete -./usr/include/arm26/int_types.h comp-obsolete obsolete -./usr/include/arm26/intr.h comp-obsolete obsolete -./usr/include/arm26/ipkdb.h comp-obsolete obsolete -./usr/include/arm26/irq.h comp-obsolete obsolete -./usr/include/arm26/limits.h comp-obsolete obsolete -./usr/include/arm26/lock.h comp-obsolete obsolete -./usr/include/arm26/math.h comp-obsolete obsolete -./usr/include/arm26/param.h comp-obsolete obsolete -./usr/include/arm26/pcb.h comp-obsolete obsolete -./usr/include/arm26/pmap.h comp-obsolete obsolete -./usr/include/arm26/proc.h comp-obsolete obsolete -./usr/include/arm26/profile.h comp-obsolete obsolete -./usr/include/arm26/pte.h comp-obsolete obsolete -./usr/include/arm26/ptrace.h comp-obsolete obsolete -./usr/include/arm26/reg.h comp-obsolete obsolete -./usr/include/arm26/setjmp.h comp-obsolete obsolete -./usr/include/arm26/signal.h comp-obsolete obsolete -./usr/include/arm26/spl.h comp-obsolete obsolete -./usr/include/arm26/stdarg.h comp-obsolete obsolete -./usr/include/arm26/sysarch.h comp-obsolete obsolete -./usr/include/arm26/trap.h comp-obsolete obsolete -./usr/include/arm26/types.h comp-obsolete obsolete -./usr/include/arm26/undefined.h comp-obsolete obsolete -./usr/include/arm26/varargs.h comp-obsolete obsolete -./usr/include/arm26/vmparam.h comp-obsolete obsolete diff --git a/distrib/sets/lists/comp/md.acorn32 b/distrib/sets/lists/comp/md.acorn32 deleted file mode 100644 index d1a0cae6a..000000000 --- a/distrib/sets/lists/comp/md.acorn32 +++ /dev/null @@ -1,58 +0,0 @@ -# $NetBSD: md.acorn32,v 1.26 2011/07/19 15:59:51 dyoung Exp $ -#./usr/include/acorn32/devmap.h comp-c-include -./usr/include/acorn32 comp-c-include -./usr/include/acorn32/ansi.h comp-c-include -./usr/include/acorn32/aout_machdep.h comp-c-include -./usr/include/acorn32/asm.h comp-c-include -./usr/include/acorn32/beep.h comp-obsolete obsolete -./usr/include/acorn32/bswap.h comp-c-include -./usr/include/acorn32/bus.h comp-obsolete obsolete -./usr/include/acorn32/cdefs.h comp-c-include -./usr/include/acorn32/conf.h comp-obsolete obsolete -./usr/include/acorn32/cpu.h comp-c-include -./usr/include/acorn32/db_machdep.h comp-obsolete obsolete -./usr/include/acorn32/disklabel.h comp-c-include -./usr/include/acorn32/elf_machdep.h comp-c-include -./usr/include/acorn32/endian.h comp-c-include -./usr/include/acorn32/endian_machdep.h comp-c-include -./usr/include/acorn32/float.h comp-c-include -./usr/include/acorn32/fp.h comp-c-include -./usr/include/acorn32/frame.h comp-c-include -./usr/include/acorn32/ieee.h comp-c-include -./usr/include/acorn32/ieeefp.h comp-c-include -./usr/include/acorn32/int_const.h comp-c-include -./usr/include/acorn32/int_fmtio.h comp-c-include -./usr/include/acorn32/int_limits.h comp-c-include -./usr/include/acorn32/int_mwgwtypes.h comp-c-include -./usr/include/acorn32/int_types.h comp-c-include -./usr/include/acorn32/intr.h comp-c-include -./usr/include/acorn32/ipkdb.h comp-obsolete obsolete -./usr/include/acorn32/joystick.h comp-c-include -./usr/include/acorn32/kbd.h comp-obsolete obsolete -./usr/include/acorn32/limits.h comp-c-include -./usr/include/acorn32/lock.h comp-c-include -./usr/include/acorn32/math.h comp-c-include -./usr/include/acorn32/mcontext.h comp-c-include -./usr/include/acorn32/mouse.h comp-obsolete obsolete -./usr/include/acorn32/mutex.h comp-c-include -./usr/include/acorn32/param.h comp-c-include -./usr/include/acorn32/pcb.h comp-c-include -./usr/include/acorn32/pmap.h comp-c-include -./usr/include/acorn32/pmc.h comp-c-include -./usr/include/acorn32/proc.h comp-c-include -./usr/include/acorn32/profile.h comp-c-include -./usr/include/acorn32/ptrace.h comp-c-include -./usr/include/acorn32/reg.h comp-c-include -./usr/include/acorn32/rwlock.h comp-c-include -./usr/include/acorn32/setjmp.h comp-c-include -./usr/include/acorn32/signal.h comp-c-include -./usr/include/acorn32/stdarg.h comp-obsolete obsolete -./usr/include/acorn32/sysarch.h comp-c-include -./usr/include/acorn32/trap.h comp-c-include -./usr/include/acorn32/types.h comp-c-include -./usr/include/acorn32/varargs.h comp-obsolete obsolete -./usr/include/acorn32/vconsole.h comp-obsolete obsolete -./usr/include/acorn32/vmparam.h comp-c-include -./usr/include/acorn32/wchar_limits.h comp-c-include -./usr/include/ieeefp.h comp-c-include -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug diff --git a/distrib/sets/lists/comp/md.alpha b/distrib/sets/lists/comp/md.alpha index 197588039..5dce7e5b4 100644 --- a/distrib/sets/lists/comp/md.alpha +++ b/distrib/sets/lists/comp/md.alpha @@ -1,4 +1,4 @@ -# $NetBSD: md.alpha,v 1.63 2011/08/12 22:22:49 dyoung Exp $ +# $NetBSD: md.alpha,v 1.65 2013/11/01 07:48:31 mrg Exp $ ./usr/include/alpha comp-c-include ./usr/include/alpha/_G_config.h comp-obsolete obsolete ./usr/include/alpha/alpha_cpu.h comp-c-include @@ -70,14 +70,10 @@ ./usr/include/alpha/wsconsio.h comp-obsolete obsolete ./usr/include/alpha/z8530var.h comp-c-include ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 ./usr/include/ieeefp.h comp-c-include ./usr/lib/crtfm.o comp-c-lib ./usr/lib/libalpha.a comp-c-lib ./usr/lib/libalpha_p.a comp-c-proflib profile ./usr/lib/libalpha_pic.a comp-c-piclib ./usr/libdata/lint/llib-lalpha.ln comp-c-lintlib lint -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/libalpha.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/mdec/setnetbootinfo.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/bad144.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.amd64 b/distrib/sets/lists/comp/md.amd64 index aa5e1f66d..9d9a87d1d 100644 --- a/distrib/sets/lists/comp/md.amd64 +++ b/distrib/sets/lists/comp/md.amd64 @@ -1,4 +1,5 @@ -# $NetBSD: md.amd64,v 1.177 2012/09/16 18:59:25 tls Exp $ +# $NetBSD: md.amd64,v 1.209 2013/11/07 01:18:19 joerg Exp $ + ./usr/include/amd64 comp-c-include ./usr/include/amd64/ansi.h comp-c-include ./usr/include/amd64/aout_machdep.h comp-c-include @@ -57,6 +58,7 @@ ./usr/include/amd64/segments.h comp-c-include ./usr/include/amd64/setjmp.h comp-c-include ./usr/include/amd64/signal.h comp-c-include +./usr/include/amd64/sljitarch.h comp-c-include ./usr/include/amd64/specialreg.h comp-c-include ./usr/include/amd64/stdarg.h comp-obsolete obsolete ./usr/include/amd64/sysarch.h comp-c-include @@ -67,8 +69,8 @@ ./usr/include/amd64/varargs.h comp-obsolete obsolete ./usr/include/amd64/vmparam.h comp-c-include ./usr/include/amd64/wchar_limits.h comp-c-include -./usr/include/clang-3.0/avxintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/avx2intrin.h comp-obsolete obsolete +./usr/include/clang-3.0/avxintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/bmi2intrin.h comp-obsolete obsolete ./usr/include/clang-3.0/bmiintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/emmintrin.h comp-obsolete obsolete @@ -86,39 +88,110 @@ ./usr/include/clang-3.0/wmmintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/x86intrin.h comp-obsolete obsolete ./usr/include/clang-3.0/xmmintrin.h comp-obsolete obsolete -./usr/include/clang-3.2/ammintrin.h comp-c-include llvm -./usr/include/clang-3.2/avxintrin.h comp-c-include llvm -./usr/include/clang-3.2/avx2intrin.h comp-c-include llvm -./usr/include/clang-3.2/bmi2intrin.h comp-c-include llvm -./usr/include/clang-3.2/bmiintrin.h comp-c-include llvm -./usr/include/clang-3.2/emmintrin.h comp-c-include llvm -./usr/include/clang-3.2/fma4intrin.h comp-c-include llvm -./usr/include/clang-3.2/fmaintrin.h comp-c-include llvm -./usr/include/clang-3.2/immintrin.h comp-c-include llvm -./usr/include/clang-3.2/lzcntintrin.h comp-c-include llvm -./usr/include/clang-3.2/mm3dnow.h comp-c-include llvm -./usr/include/clang-3.2/mm_malloc.h comp-c-include llvm -./usr/include/clang-3.2/mmintrin.h comp-c-include llvm -./usr/include/clang-3.2/nmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/pmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/popcntintrin.h comp-c-include llvm -./usr/include/clang-3.2/smmintrin.h comp-c-include llvm -./usr/include/clang-3.2/tmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/wmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/x86intrin.h comp-c-include llvm -./usr/include/clang-3.2/xmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/xopintrin.h comp-c-include llvm +./usr/include/clang-3.2/__wmmintrin_aes.h comp-obsolete obsolete +./usr/include/clang-3.2/__wmmintrin_pclmul.h comp-obsolete obsolete +./usr/include/clang-3.2/ammintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/avx2intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/avxintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/bmi2intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/bmiintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/emmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/f16cintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/fma4intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/fmaintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/immintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/lzcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/mm3dnow.h comp-obsolete obsolete +./usr/include/clang-3.2/mm_malloc.h comp-obsolete obsolete +./usr/include/clang-3.2/mmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/nmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/pmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/popcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/rtmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/smmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/tmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/wmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/x86intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/xmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/xopintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/__wmmintrin_aes.h comp-obsolete obsolete +./usr/include/clang-3.3/__wmmintrin_pclmul.h comp-obsolete obsolete +./usr/include/clang-3.3/ammintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/avx2intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/avxintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/bmi2intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/bmiintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/emmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/f16cintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/fma4intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/fmaintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/immintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/lzcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/mm3dnow.h comp-obsolete obsolete +./usr/include/clang-3.3/mm_malloc.h comp-obsolete obsolete +./usr/include/clang-3.3/mmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/nmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/pmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/popcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/prfchwintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/rdseedintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/rtmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/smmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/tmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/wmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/x86intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/xmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/xopintrin.h comp-obsolete obsolete +./usr/include/clang-3.4/__wmmintrin_aes.h comp-c-include llvm +./usr/include/clang-3.4/__wmmintrin_pclmul.h comp-c-include llvm +./usr/include/clang-3.4/ammintrin.h comp-c-include llvm +./usr/include/clang-3.4/avx2intrin.h comp-c-include llvm +./usr/include/clang-3.4/avxintrin.h comp-c-include llvm +./usr/include/clang-3.4/bmi2intrin.h comp-c-include llvm +./usr/include/clang-3.4/bmiintrin.h comp-c-include llvm +./usr/include/clang-3.4/emmintrin.h comp-c-include llvm +./usr/include/clang-3.4/f16cintrin.h comp-c-include llvm +./usr/include/clang-3.4/fma4intrin.h comp-c-include llvm +./usr/include/clang-3.4/fmaintrin.h comp-c-include llvm +./usr/include/clang-3.4/immintrin.h comp-c-include llvm +./usr/include/clang-3.4/lzcntintrin.h comp-c-include llvm +./usr/include/clang-3.4/mm3dnow.h comp-c-include llvm +./usr/include/clang-3.4/mm_malloc.h comp-c-include llvm +./usr/include/clang-3.4/mmintrin.h comp-c-include llvm +./usr/include/clang-3.4/nmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/pmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/popcntintrin.h comp-c-include llvm +./usr/include/clang-3.4/prfchwintrin.h comp-c-include llvm +./usr/include/clang-3.4/rdseedintrin.h comp-c-include llvm +./usr/include/clang-3.4/rtmintrin.h comp-c-include llvm +./usr/include/clang-3.4/shaintrin.h comp-c-include llvm +./usr/include/clang-3.4/smmintrin.h comp-c-include llvm +./usr/include/clang-3.4/tbmintrin.h comp-c-include llvm +./usr/include/clang-3.4/tmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/wmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/x86intrin.h comp-c-include llvm +./usr/include/clang-3.4/xmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/xopintrin.h comp-c-include llvm ./usr/include/emmintrin.h comp-obsolete obsolete +./usr/include/g++/bits/i386 comp-c-include +./usr/include/g++/bits/i386/c++config.h comp-c-include gcccmds,gcc=48,compat +./usr/include/g++/bits/x86_64 comp-c-include +./usr/include/g++/bits/x86_64/c++config.h comp-c-include gcccmds,gcc=48,compat ./usr/include/gcc-4.1/emmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/emmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/emmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/mm_malloc.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/mm_malloc.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/mm_malloc.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/mmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/mmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/mmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/pmmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/pmmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/pmmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/xmmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/xmmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/xmmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.5/abmintrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/ammintrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/avxintrin.h comp-c-include gcccmds,gcc=45 @@ -143,6 +216,45 @@ ./usr/include/gcc-4.5/x86intrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/xmmintrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/xopintrin.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/adxintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/ammintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/avx2intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/avxintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/bmi2intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/bmiintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/bmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/cpuid.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/cross-stdarg.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/emmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/f16cintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/fma4intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/fmaintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/fxsrintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/ia32intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/immintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/lwpintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/lzcntintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mm3dnow.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mm_malloc.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/nmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/pmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/popcntintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/prfchwintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/rdseedintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/rtmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/smmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tbmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/wmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/x86intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xopintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xsaveintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xsaveoptintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xtestintrin.h comp-c-include gcccmds,gcc=48 + ./usr/include/i386 comp-c-include ./usr/include/i386/ansi.h comp-c-include ./usr/include/i386/aout_machdep.h comp-c-include @@ -201,6 +313,7 @@ ./usr/include/i386/segments.h comp-c-include ./usr/include/i386/setjmp.h comp-c-include ./usr/include/i386/signal.h comp-c-include +./usr/include/i386/sljitarch.h comp-c-include ./usr/include/i386/specialreg.h comp-c-include ./usr/include/i386/spkr.h comp-c-include ./usr/include/i386/stdarg.h comp-obsolete obsolete @@ -320,639 +433,532 @@ ./usr/lib/i386/gcrt0.o comp-c-lib compat ./usr/lib/i386/i18n/libBIG5.a comp-c-lib compat ./usr/lib/i386/i18n/libBIG5.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libBIG5_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libBIG5_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libBIG5_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libDECHanyu.a comp-c-lib compat ./usr/lib/i386/i18n/libDECHanyu.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libDECHanyu_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libDECHanyu_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libDECHanyu_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libEUC.a comp-c-lib compat ./usr/lib/i386/i18n/libEUC.so comp-sys-shlib compat,pic ./usr/lib/i386/i18n/libEUCTW.a comp-c-lib compat ./usr/lib/i386/i18n/libEUCTW.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libEUCTW_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libEUCTW_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libEUCTW_pic.a comp-obsolete obsolete -./usr/lib/i386/i18n/libEUC_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libEUC_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libEUC_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libGBK2K.a comp-c-lib compat ./usr/lib/i386/i18n/libGBK2K.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libGBK2K_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libGBK2K_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libGBK2K_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libHZ.a comp-c-lib compat ./usr/lib/i386/i18n/libHZ.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libHZ_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libHZ_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libHZ_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libISO2022.a comp-c-lib compat ./usr/lib/i386/i18n/libISO2022.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libISO2022_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libISO2022_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libISO2022_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libJOHAB.a comp-c-lib compat ./usr/lib/i386/i18n/libJOHAB.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libJOHAB_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libJOHAB_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libJOHAB_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libMSKanji.a comp-c-lib compat ./usr/lib/i386/i18n/libMSKanji.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libMSKanji_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libMSKanji_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libMSKanji_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUES.a comp-c-lib compat ./usr/lib/i386/i18n/libUES.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libUES_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libUES_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUES_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUTF1632.a comp-c-lib compat ./usr/lib/i386/i18n/libUTF1632.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libUTF1632_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libUTF1632_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUTF1632_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUTF7.a comp-c-lib compat ./usr/lib/i386/i18n/libUTF7.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libUTF7_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libUTF7_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUTF7_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUTF8.a comp-c-lib compat ./usr/lib/i386/i18n/libUTF8.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libUTF8_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libUTF8_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libUTF8_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libVIQR.a comp-c-lib compat ./usr/lib/i386/i18n/libVIQR.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libVIQR_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libVIQR_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libVIQR_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libZW.a comp-c-lib compat ./usr/lib/i386/i18n/libZW.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libZW_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libZW_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libZW_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libiconv_none.a comp-c-lib compat ./usr/lib/i386/i18n/libiconv_none.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libiconv_none_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libiconv_none_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libiconv_none_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libiconv_std.a comp-c-lib compat ./usr/lib/i386/i18n/libiconv_std.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libiconv_std_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libiconv_std_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libiconv_std_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_646.a comp-c-lib compat ./usr/lib/i386/i18n/libmapper_646.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libmapper_646_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libmapper_646_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_646_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_none.a comp-c-lib compat ./usr/lib/i386/i18n/libmapper_none.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libmapper_none_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libmapper_none_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_none_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_parallel.a comp-c-lib compat ./usr/lib/i386/i18n/libmapper_parallel.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libmapper_parallel_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libmapper_parallel_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_parallel_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_serial.a comp-c-lib compat ./usr/lib/i386/i18n/libmapper_serial.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libmapper_serial_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libmapper_serial_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_serial_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_std.a comp-c-lib compat ./usr/lib/i386/i18n/libmapper_std.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libmapper_std_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libmapper_std_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_std_pic.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_zone.a comp-c-lib compat ./usr/lib/i386/i18n/libmapper_zone.so comp-sys-shlib compat,pic -./usr/lib/i386/i18n/libmapper_zone_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/i18n/libmapper_zone_p.a comp-obsolete obsolete ./usr/lib/i386/i18n/libmapper_zone_pic.a comp-obsolete obsolete ./usr/lib/i386/libamu.a comp-obsolete obsolete -./usr/lib/i386/libamu_g.a comp-obsolete obsolete ./usr/lib/i386/libamu_p.a comp-obsolete obsolete ./usr/lib/i386/libamu_pic.a comp-obsolete obsolete ./usr/lib/i386/libarchive.a comp-c-lib compat ./usr/lib/i386/libarchive.so comp-sys-shlib compat,pic -./usr/lib/i386/libarchive_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libarchive_p.a comp-c-proflib compat,profile ./usr/lib/i386/libarchive_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libasn1.a comp-c-lib compat,kerberos ./usr/lib/i386/libasn1.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libasn1_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libasn1_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libasn1_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libatf-c++.a comp-c-lib compat,atf ./usr/lib/i386/libatf-c++.so comp-sys-shlib compat,pic,atf -./usr/lib/i386/libatf-c++_g.a comp-c-proflib compat,debuglib,atf ./usr/lib/i386/libatf-c++_p.a comp-c-proflib compat,profile,atf ./usr/lib/i386/libatf-c++_pic.a comp-c-piclib compat,pic,atf ./usr/lib/i386/libatf-c.a comp-c-lib compat,atf ./usr/lib/i386/libatf-c.so comp-sys-shlib compat,pic,atf -./usr/lib/i386/libatf-c_g.a comp-c-proflib compat,debuglib,atf ./usr/lib/i386/libatf-c_p.a comp-c-proflib compat,profile,atf ./usr/lib/i386/libatf-c_pic.a comp-c-piclib compat,pic,atf ./usr/lib/i386/libbfd.a comp-obsolete obsolete ./usr/lib/i386/libbfd.so comp-obsolete obsolete -./usr/lib/i386/libbfd_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libbfd_p.a comp-obsolete obsolete ./usr/lib/i386/libbfd_pic.a comp-obsolete obsolete ./usr/lib/i386/libbind9.a comp-c-lib compat ./usr/lib/i386/libbind9.so comp-sys-shlib compat,pic -./usr/lib/i386/libbind9_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libbind9_p.a comp-c-proflib compat,profile ./usr/lib/i386/libbind9_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libbluetooth.a comp-c-lib compat ./usr/lib/i386/libbluetooth.so comp-sys-shlib compat,pic -./usr/lib/i386/libbluetooth_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libbluetooth_p.a comp-c-proflib compat,profile ./usr/lib/i386/libbluetooth_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libbsdmalloc.a comp-c-lib compat ./usr/lib/i386/libbsdmalloc.so comp-sys-shlib compat,pic -./usr/lib/i386/libbsdmalloc_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libbsdmalloc_p.a comp-c-proflib compat,profile ./usr/lib/i386/libbsdmalloc_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libbz2.a comp-c-lib compat ./usr/lib/i386/libbz2.so comp-sys-shlib compat,pic -./usr/lib/i386/libbz2_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libbz2_p.a comp-c-proflib compat,profile ./usr/lib/i386/libbz2_pic.a comp-c-piclib compat,pic +./usr/lib/i386/libc++.a comp-c-lib compat,libcxx +./usr/lib/i386/libc++.so comp-sys-shlib compat,pic,libcxx +./usr/lib/i386/libc++_p.a comp-c-proflib compat,profile,libcxx +./usr/lib/i386/libc++_pic.a comp-c-piclib compat,pic,libcxx ./usr/lib/i386/libc.a comp-c-lib compat ./usr/lib/i386/libc.so comp-sys-shlib compat,pic -./usr/lib/i386/libc_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libc_p.a comp-c-proflib compat,profile ./usr/lib/i386/libc_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libcom_err.a comp-c-lib compat,kerberos ./usr/lib/i386/libcom_err.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libcom_err_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libcom_err_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libcom_err_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libcompat.a comp-c-lib compat -./usr/lib/i386/libcompat_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libcompat_p.a comp-c-proflib compat,profile ./usr/lib/i386/libcompat_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libcrypt.a comp-c-lib compat ./usr/lib/i386/libcrypt.so comp-sys-shlib compat,pic -./usr/lib/i386/libcrypt_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libcrypt_p.a comp-c-proflib compat,profile ./usr/lib/i386/libcrypt_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libcrypto.a comp-c-lib compat,crypto -./usr/lib/i386/libcrypto_g.a comp-c-proflib compat,crypto,debuglib ./usr/lib/i386/libcrypto.so base-sys-shlib compat,crypto,pic -./usr/lib/i386/libcrypto_p.a comp-c-proflib compat,crypto,profile -./usr/lib/i386/libcrypto_pic.a comp-c-piclib compat,crypto,pic ./usr/lib/i386/libcrypto_idea.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_idea.so base-obsolete obsolete -./usr/lib/i386/libcrypto_idea_g.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_idea_p.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_idea_pic.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_mdc2.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_mdc2.so base-obsolete obsolete -./usr/lib/i386/libcrypto_mdc2_g.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_mdc2_p.a comp-obsolete obsolete ./usr/lib/i386/libcrypto_mdc2_pic.a comp-obsolete obsolete +./usr/lib/i386/libcrypto_p.a comp-c-proflib compat,crypto,profile +./usr/lib/i386/libcrypto_pic.a comp-c-piclib compat,crypto,pic ./usr/lib/i386/libcrypto_rc5.a comp-c-lib crypto_rc5,compat ./usr/lib/i386/libcrypto_rc5.so base-sys-shlib compat,crypto,crypto_rc5,pic -./usr/lib/i386/libcrypto_rc5_g.a comp-c-proflib compat,crypto,crypto_rc5,debuglib ./usr/lib/i386/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile ./usr/lib/i386/libcrypto_rc5_pic.a comp-c-piclib compat,crypto,crypto_rc5,pic ./usr/lib/i386/libcurses.a comp-c-lib compat ./usr/lib/i386/libcurses.so comp-sys-shlib compat,pic -./usr/lib/i386/libcurses_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libcurses_p.a comp-c-proflib compat,profile ./usr/lib/i386/libcurses_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libdes.a comp-c-lib compat ./usr/lib/i386/libdes.so comp-sys-shlib compat,pic -./usr/lib/i386/libdes_g.a -unknown- compat,debuglib ./usr/lib/i386/libdes_p.a comp-c-proflib compat,profile ./usr/lib/i386/libdes_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libdevmapper.a comp-c-lib compat,lvm ./usr/lib/i386/libdevmapper.so comp-sys-shlib compat,pic,lvm -./usr/lib/i386/libdevmapper_g.a -unknown- compat,debuglib,lvm ./usr/lib/i386/libdevmapper_p.a comp-c-proflib compat,profile,lvm ./usr/lib/i386/libdevmapper_pic.a comp-c-piclib compat,pic,lvm ./usr/lib/i386/libdm.a comp-c-lib compat ./usr/lib/i386/libdm.so comp-sys-shlib compat,pic -./usr/lib/i386/libdm_g.a -unknown- compat,debuglib ./usr/lib/i386/libdm_p.a comp-c-proflib compat,profile ./usr/lib/i386/libdm_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libdns.a comp-c-lib compat ./usr/lib/i386/libdns.so comp-sys-shlib compat,pic -./usr/lib/i386/libdns_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libdns_p.a comp-c-proflib compat,profile ./usr/lib/i386/libdns_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libdns_sd.a comp-c-lib compat,mdns ./usr/lib/i386/libdns_sd.so comp-mdns-shlib compat,pic,mdns -./usr/lib/i386/libdns_sd_g.a comp-c-proflib compat,debuglib,mdns ./usr/lib/i386/libdns_sd_p.a comp-c-proflib compat,profile,mdns ./usr/lib/i386/libdns_sd_pic.a comp-c-piclib compat,pic,mdns ./usr/lib/i386/libdwarf.a comp-c-lib compat ./usr/lib/i386/libdwarf.so comp-sys-shlib compat,pic -./usr/lib/i386/libdwarf_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libdwarf_p.a comp-c-proflib compat,profile ./usr/lib/i386/libdwarf_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libedit.a comp-c-lib compat ./usr/lib/i386/libedit.so comp-sys-shlib compat,pic -./usr/lib/i386/libedit_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libedit_p.a comp-c-proflib compat,profile ./usr/lib/i386/libedit_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libelf.a comp-c-lib compat ./usr/lib/i386/libelf.so comp-sys-shlib compat,pic -./usr/lib/i386/libelf_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libelf_p.a comp-c-proflib compat,profile ./usr/lib/i386/libelf_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libevent.a comp-c-lib compat ./usr/lib/i386/libevent.so comp-sys-shlib compat,pic -./usr/lib/i386/libevent_g.a comp-c-proflib compat,debuglib +./usr/lib/i386/libevent_openssl.a comp-c-lib compat,crypto +./usr/lib/i386/libevent_openssl.so comp-sys-shlib compat,pic,crypto +./usr/lib/i386/libevent_openssl_p.a comp-c-proflib compat,profile,crypto +./usr/lib/i386/libevent_openssl_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/i386/libevent_p.a comp-c-proflib compat,profile ./usr/lib/i386/libevent_pic.a comp-c-piclib compat,pic +./usr/lib/i386/libevent_pthreads.a comp-c-lib compat +./usr/lib/i386/libevent_pthreads.so comp-sys-shlib compat,pic +./usr/lib/i386/libevent_pthreads_p.a comp-c-proflib compat,profile +./usr/lib/i386/libevent_pthreads_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libexecinfo.a comp-c-lib compat ./usr/lib/i386/libexecinfo.so comp-sys-shlib compat,pic -./usr/lib/i386/libexecinfo_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libexecinfo_p.a comp-c-proflib compat,profile ./usr/lib/i386/libexecinfo_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libexpat.a comp-c-lib compat ./usr/lib/i386/libexpat.so comp-sys-shlib compat,pic -./usr/lib/i386/libexpat_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libexpat_p.a comp-c-proflib compat,profile ./usr/lib/i386/libexpat_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libfetch.a comp-c-lib compat ./usr/lib/i386/libfetch.so comp-sys-shlib compat,pic -./usr/lib/i386/libfetch_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libfetch_p.a comp-c-proflib compat,profile ./usr/lib/i386/libfetch_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libfl.a comp-c-lib compat -./usr/lib/i386/libfl_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libfl_p.a comp-c-proflib compat,profile ./usr/lib/i386/libform.a comp-c-lib compat ./usr/lib/i386/libform.so comp-sys-shlib compat,pic -./usr/lib/i386/libform_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libform_p.a comp-c-proflib compat,profile ./usr/lib/i386/libform_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libgcc.a comp-c-lib compat,gcccmds ./usr/lib/i386/libgcc_eh.a comp-c-lib compat,pic,gcccmds -./usr/lib/i386/libgcc_eh_g.a comp-c-proflib compat,debuglib,gcccmds ./usr/lib/i386/libgcc_eh_p.a comp-c-proflib obsolete ./usr/lib/i386/libgcc_eh_pic.a comp-c-piclib obsolete -./usr/lib/i386/libgcc_g.a comp-c-proflib compat,debuglib,gcccmds ./usr/lib/i386/libgcc_p.a comp-c-proflib obsolete ./usr/lib/i386/libgcc_pic.a comp-c-piclib obsolete ./usr/lib/i386/libgcc_s.a comp-obsolete obsolete ./usr/lib/i386/libgcc_s.so comp-sys-shlib compat,pic,gcccmds -./usr/lib/i386/libgcc_s_g.a comp-c-proflib compat,debuglib,gcccmds ./usr/lib/i386/libgcc_s_p.a comp-obsolete obsolete ./usr/lib/i386/libgcc_s_pic.a comp-obsolete obsolete ./usr/lib/i386/libgcov.a comp-c-lib compat,gcccmds -./usr/lib/i386/libgcov_g.a comp-c-proflib compat,debuglib,gcccmds ./usr/lib/i386/libgcov_p.a comp-obsolete obsolete ./usr/lib/i386/libgcov_pic.a comp-obsolete obsolete ./usr/lib/i386/libgmp.a comp-c-lib obsolete ./usr/lib/i386/libgmp.so comp-sys-shlib obsolete -./usr/lib/i386/libgmp_g.a -unknown- obsolete ./usr/lib/i386/libgmp_p.a comp-c-proflib obsolete ./usr/lib/i386/libgmp_pic.a comp-c-piclib obsolete ./usr/lib/i386/libgnumalloc.a comp-c-lib compat ./usr/lib/i386/libgnumalloc.so comp-sys-shlib compat,pic -./usr/lib/i386/libgnumalloc_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libgnumalloc_p.a comp-c-proflib compat,profile ./usr/lib/i386/libgnumalloc_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libgomp.a comp-sys-shlib compat,gcc=45 ./usr/lib/i386/libgomp.so comp-sys-shlib compat,pic,gcc=45 -./usr/lib/i386/libgomp_g.a comp-c-proflib compat,debuglib,gcc=45 ./usr/lib/i386/libgomp_p.a comp-c-proflib compat,profile,gcc=45 ./usr/lib/i386/libgomp_pic.a comp-c-piclib compat,pic,gcc=45 +./usr/lib/i386/libgomp.a comp-sys-shlib compat,gcc=48 +./usr/lib/i386/libgomp.so comp-sys-shlib compat,pic,gcc=48 +./usr/lib/i386/libgomp_p.a comp-c-proflib compat,profile,gcc=48 +./usr/lib/i386/libgomp_pic.a comp-c-piclib compat,pic,gcc=48 ./usr/lib/i386/libgssapi.a comp-c-lib compat,kerberos ./usr/lib/i386/libgssapi.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libgssapi_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libgssapi_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libgssapi_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libhdb.a comp-c-lib compat,kerberos ./usr/lib/i386/libhdb.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libhdb_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libhdb_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libhdb_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libheimbase.a comp-c-lib compat,kerberos ./usr/lib/i386/libheimbase.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libheimbase_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libheimbase_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libheimbase_pic.a comp-c-proflib compat,pic,kerberos ./usr/lib/i386/libheimntlm.a comp-c-lib compat,kerberos ./usr/lib/i386/libheimntlm.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libheimntlm_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libheimntlm_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libhx509.a comp-c-lib compat,kerberos ./usr/lib/i386/libhx509.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libhx509_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libhx509_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libhx509_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libi386.a comp-c-lib compat ./usr/lib/i386/libi386.so comp-sys-shlib compat,pic -./usr/lib/i386/libi386_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libi386_p.a comp-c-proflib compat,profile ./usr/lib/i386/libi386_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libiberty.a comp-obsolete obsolete -./usr/lib/i386/libiberty_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libiberty_p.a comp-obsolete obsolete ./usr/lib/i386/libiberty_pic.a comp-obsolete obsolete ./usr/lib/i386/libintl.a comp-c-lib compat ./usr/lib/i386/libintl.so comp-sys-shlib compat,pic -./usr/lib/i386/libintl_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libintl_p.a comp-c-proflib compat,profile ./usr/lib/i386/libintl_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libipsec.a comp-c-lib compat ./usr/lib/i386/libipsec.so comp-sys-shlib compat,pic -./usr/lib/i386/libipsec_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libipsec_p.a comp-c-proflib compat,profile ./usr/lib/i386/libipsec_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libisc.a comp-c-lib compat ./usr/lib/i386/libisc.so comp-sys-shlib compat,pic -./usr/lib/i386/libisc_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libisc_p.a comp-c-proflib compat,profile ./usr/lib/i386/libisc_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libisccc.a comp-c-lib compat ./usr/lib/i386/libisccc.so comp-sys-shlib compat,pic -./usr/lib/i386/libisccc_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libisccc_p.a comp-c-proflib compat,profile ./usr/lib/i386/libisccc_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libisccfg.a comp-c-lib compat ./usr/lib/i386/libisccfg.so comp-sys-shlib compat,pic -./usr/lib/i386/libisccfg_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libisccfg_p.a comp-c-proflib compat,profile ./usr/lib/i386/libisccfg_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libiscsi.a comp-c-lib compat,iscsi ./usr/lib/i386/libiscsi.so base-sys-shlib compat,pic,iscsi -./usr/lib/i386/libiscsi_g.a base-sys-shlib compat,debuglib,iscsi ./usr/lib/i386/libiscsi_p.a comp-c-proflib compat,profile,iscsi ./usr/lib/i386/libiscsi_pic.a comp-c-piclib compat,pic,iscsi ./usr/lib/i386/libisns.a comp-c-lib compat ./usr/lib/i386/libisns.so comp-sys-shlib compat -./usr/lib/i386/libisns_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libisns_p.a comp-c-proflib compat,profile ./usr/lib/i386/libisns_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libkadm5clnt.a comp-c-lib compat,kerberos ./usr/lib/i386/libkadm5clnt.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libkadm5clnt_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libkadm5srv.a comp-c-lib compat,kerberos ./usr/lib/i386/libkadm5srv.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libkadm5srv_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libkafs.a comp-c-lib compat,kerberos ./usr/lib/i386/libkafs.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libkafs_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libkafs_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libkafs_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libkdc.a comp-c-lib compat,kerberos ./usr/lib/i386/libkdc.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libkdc_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libkdc_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libkdc_pic.a comp-c-proflib compat,pic,kerberos ./usr/lib/i386/libkrb5.a comp-c-lib compat,kerberos ./usr/lib/i386/libkrb5.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libkrb5_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libkrb5_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libkrb5_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libkvm.a comp-c-lib compat ./usr/lib/i386/libkvm.so comp-sys-shlib compat,pic -./usr/lib/i386/libkvm_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libkvm_p.a comp-c-proflib compat,profile ./usr/lib/i386/libkvm_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libl.a comp-c-lib compat -./usr/lib/i386/libl_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libl_p.a comp-c-proflib compat,profile ./usr/lib/i386/libl_pic.a comp-obsolete obsolete ./usr/lib/i386/liblber.a comp-c-lib compat,ldap ./usr/lib/i386/liblber.so comp-sys-shlib compat,pic,ldap -./usr/lib/i386/liblber_g.a comp-c-proflib compat,debuglib,ldap ./usr/lib/i386/liblber_p.a comp-c-proflib compat,profile,ldap ./usr/lib/i386/liblber_pic.a comp-c-piclib compat,pic,ldap ./usr/lib/i386/libldap.a comp-c-lib compat,ldap ./usr/lib/i386/libldap.so comp-sys-shlib compat,pic,ldap -./usr/lib/i386/libldap_g.a comp-c-proflib compat,debuglib,ldap ./usr/lib/i386/libldap_p.a comp-c-proflib compat,profile,ldap ./usr/lib/i386/libldap_pic.a comp-c-piclib compat,pic,ldap ./usr/lib/i386/libldap_r.a comp-c-lib compat,ldap ./usr/lib/i386/libldap_r.so comp-sys-shlib compat,pic,ldap -./usr/lib/i386/libldap_r_g.a comp-c-proflib compat,debuglib,ldap ./usr/lib/i386/libldap_r_p.a comp-c-proflib compat,profile,ldap ./usr/lib/i386/libldap_r_pic.a comp-c-piclib compat,pic,ldap ./usr/lib/i386/liblua.a comp-c-lib compat -./usr/lib/i386/liblua_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/liblua_p.a comp-c-proflib compat,profile ./usr/lib/i386/liblua_pic.a comp-c-piclib compat,pic +./usr/lib/i386/liblutok.a comp-c-lib compat,kyua +./usr/lib/i386/liblutok_p.a comp-c-proflib compat,profile,kyua +./usr/lib/i386/liblutok_pic.a comp-c-piclib compat,pic,kyua ./usr/lib/i386/liblwres.a comp-c-lib compat ./usr/lib/i386/liblwres.so comp-sys-shlib compat,pic -./usr/lib/i386/liblwres_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/liblwres_p.a comp-c-proflib compat,profile ./usr/lib/i386/liblwres_pic.a comp-c-piclib compat,pic ./usr/lib/i386/liblzf.a comp-c-lib compat ./usr/lib/i386/liblzf.so comp-sys-shlib compat,pic -./usr/lib/i386/liblzf_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/liblzf_p.a comp-c-proflib compat,profile ./usr/lib/i386/liblzf_pic.a comp-c-piclib compat,pic ./usr/lib/i386/liblzma.a comp-c-lib compat ./usr/lib/i386/liblzma.so comp-sys-shlib compat,pic -./usr/lib/i386/liblzma_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/liblzma_p.a comp-c-proflib compat,profile ./usr/lib/i386/liblzma_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libm.a comp-c-lib compat ./usr/lib/i386/libm.so comp-sys-shlib compat,pic -./usr/lib/i386/libm_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libm_p.a comp-c-proflib compat,profile ./usr/lib/i386/libm_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libmagic.a comp-c-lib compat ./usr/lib/i386/libmagic.so comp-sys-shlib compat,pic -./usr/lib/i386/libmagic_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libmagic_p.a comp-c-proflib compat,profile ./usr/lib/i386/libmagic_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libmenu.a comp-c-lib compat ./usr/lib/i386/libmenu.so comp-sys-shlib compat,pic -./usr/lib/i386/libmenu_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libmenu_p.a comp-c-proflib compat,profile ./usr/lib/i386/libmenu_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libmj.a comp-c-lib compat ./usr/lib/i386/libmj.so comp-sys-shlib compat,pic -./usr/lib/i386/libmj_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libmj_p.a comp-c-proflib compat,profile ./usr/lib/i386/libmj_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libmpc.a comp-c-lib obsolete ./usr/lib/i386/libmpc.so comp-sys-shlib obsolete -./usr/lib/i386/libmpc_g.a -unknown- obsolete ./usr/lib/i386/libmpc_p.a comp-c-proflib obsolete ./usr/lib/i386/libmpc_pic.a comp-c-piclib obsolete ./usr/lib/i386/libmpfr.a comp-c-lib obsolete ./usr/lib/i386/libmpfr.so comp-sys-shlib obsolete -./usr/lib/i386/libmpfr_g.a -unknown- obsolete ./usr/lib/i386/libmpfr_p.a comp-c-proflib obsolete ./usr/lib/i386/libmpfr_pic.a comp-c-piclib obsolete ./usr/lib/i386/libnetpgp.a comp-c-lib compat ./usr/lib/i386/libnetpgp.so comp-sys-shlib compat,pic -./usr/lib/i386/libnetpgp_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libnetpgp_p.a comp-c-proflib compat,profile ./usr/lib/i386/libnetpgp_pic.a comp-c-piclib compat,pic +./usr/lib/i386/libnetpgpverify.a comp-c-lib compat +./usr/lib/i386/libnetpgpverify.so comp-sys-shlib compat,pic +./usr/lib/i386/libnetpgpverify_p.a comp-c-proflib compat,profile +./usr/lib/i386/libnetpgpverify_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libnpf.a comp-c-lib compat,npf ./usr/lib/i386/libnpf.so comp-sys-shlib compat,npf,pic -./usr/lib/i386/libnpf_g.a comp-c-proflib compat,npf,debuglib ./usr/lib/i386/libnpf_p.a comp-c-proflib compat,npf,profile ./usr/lib/i386/libnpf_pic.a comp-c-piclib compat,npf,pic ./usr/lib/i386/libobjc.a comp-c-lib compat,gcccmds ./usr/lib/i386/libobjc.so comp-sys-shlib compat,pic,gcccmds -./usr/lib/i386/libobjc_g.a comp-c-proflib compat,debuglib,gcccmds ./usr/lib/i386/libobjc_p.a comp-c-proflib compat,profile,gcccmds ./usr/lib/i386/libobjc_pic.a comp-c-piclib compat,pic,gcccmds ./usr/lib/i386/libopcodes.a comp-obsolete obsolete ./usr/lib/i386/libopcodes.so comp-obsolete obsolete -./usr/lib/i386/libopcodes_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libopcodes_p.a comp-obsolete obsolete ./usr/lib/i386/libopcodes_pic.a comp-obsolete obsolete ./usr/lib/i386/libossaudio.a comp-c-lib compat ./usr/lib/i386/libossaudio.so comp-sys-shlib compat,pic -./usr/lib/i386/libossaudio_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libossaudio_p.a comp-c-proflib compat,profile ./usr/lib/i386/libossaudio_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libp2k.a comp-c-lib compat,rump ./usr/lib/i386/libp2k.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/libp2k_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/libp2k_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/libp2k_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/libpam.a comp-c-lib compat,pam ./usr/lib/i386/libpam.so comp-sys-shlib compat,pic,pam -./usr/lib/i386/libpam_g.a comp-c-proflib compat,debuglib,pam ./usr/lib/i386/libpam_p.a comp-obsolete obsolete ./usr/lib/i386/libpam_pic.a comp-c-piclib compat,pic,pam ./usr/lib/i386/libpcap.a comp-c-lib compat ./usr/lib/i386/libpcap.so comp-sys-shlib compat,pic -./usr/lib/i386/libpcap_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libpcap_p.a comp-c-proflib compat,profile ./usr/lib/i386/libpcap_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libpci.a comp-c-lib compat ./usr/lib/i386/libpci.so comp-sys-shlib compat,pic -./usr/lib/i386/libpci_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libpci_p.a comp-c-proflib compat,profile ./usr/lib/i386/libpci_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libperfuse.a comp-c-lib compat ./usr/lib/i386/libperfuse.so comp-sys-shlib compat,pic -./usr/lib/i386/libperfuse_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libperfuse_p.a comp-c-proflib compat,profile ./usr/lib/i386/libperfuse_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libposix.a comp-c-lib compat ./usr/lib/i386/libposix.so comp-sys-shlib compat,pic -./usr/lib/i386/libposix_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libposix_p.a comp-c-proflib compat,profile ./usr/lib/i386/libposix_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libppath.a comp-c-lib compat ./usr/lib/i386/libppath.so comp-sys-shlib compat,pic -./usr/lib/i386/libppath_g.a -unknown- compat,debuglib ./usr/lib/i386/libppath_p.a comp-c-proflib compat,profile ./usr/lib/i386/libppath_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libprop.a comp-c-lib compat ./usr/lib/i386/libprop.so comp-sys-shlib compat,pic -./usr/lib/i386/libprop_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libprop_p.a comp-c-proflib compat,profile ./usr/lib/i386/libprop_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libpthread.a comp-c-lib compat ./usr/lib/i386/libpthread.so comp-sys-shlib compat,pic ./usr/lib/i386/libpthread_dbg.a comp-c-lib compat ./usr/lib/i386/libpthread_dbg.so comp-sys-shlib compat,pic -./usr/lib/i386/libpthread_dbg_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libpthread_dbg_p.a comp-c-proflib compat,profile ./usr/lib/i386/libpthread_dbg_pic.a comp-c-piclib compat,pic -./usr/lib/i386/libpthread_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libpthread_p.a comp-c-proflib compat,profile ./usr/lib/i386/libpthread_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libpuffs.a comp-c-lib compat ./usr/lib/i386/libpuffs.so comp-sys-shlib compat,pic -./usr/lib/i386/libpuffs_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libpuffs_p.a comp-c-proflib compat,profile ./usr/lib/i386/libpuffs_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libquota.a comp-c-lib compat ./usr/lib/i386/libquota.so comp-sys-shlib compat,pic -./usr/lib/i386/libquota_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libquota_p.a comp-c-proflib compat,profile ./usr/lib/i386/libquota_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libradius.a comp-c-lib compat ./usr/lib/i386/libradius.so comp-sys-shlib compat,pic -./usr/lib/i386/libradius_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libradius_p.a comp-c-proflib compat,profile ./usr/lib/i386/libradius_pic.a comp-c-piclib compat,pic ./usr/lib/i386/librefuse.a comp-c-lib compat ./usr/lib/i386/librefuse.so comp-sys-shlib compat,pic -./usr/lib/i386/librefuse_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/librefuse_p.a comp-c-proflib compat,profile ./usr/lib/i386/librefuse_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libresolv.a comp-c-lib compat ./usr/lib/i386/libresolv.so comp-sys-shlib compat,pic -./usr/lib/i386/libresolv_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libresolv_p.a comp-c-proflib compat,profile ./usr/lib/i386/libresolv_pic.a comp-c-piclib compat,pic ./usr/lib/i386/librmt.a comp-c-lib compat -./usr/lib/i386/librmt_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/librmt_p.a comp-obsolete obsolete ./usr/lib/i386/librmt_pic.a comp-obsolete obsolete ./usr/lib/i386/libroken.a comp-c-lib compat,kerberos ./usr/lib/i386/libroken.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libroken_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libroken_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libroken_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/librpcsvc.a comp-c-lib compat ./usr/lib/i386/librpcsvc.so comp-sys-shlib compat,pic -./usr/lib/i386/librpcsvc_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/librpcsvc_p.a comp-c-proflib compat,profile ./usr/lib/i386/librpcsvc_pic.a comp-c-piclib compat,pic ./usr/lib/i386/librt.a comp-c-lib compat ./usr/lib/i386/librt.so comp-sys-shlib compat,pic -./usr/lib/i386/librt_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/librt_p.a comp-c-proflib compat,profile ./usr/lib/i386/librt_pic.a comp-c-piclib compat,pic ./usr/lib/i386/librump.a comp-c-lib compat,rump ./usr/lib/i386/librump.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librump_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/librump_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/librump_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/librumpclient.a comp-c-lib compat,rump ./usr/lib/i386/librumpclient.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librumpclient_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/librumpclient_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/librumpclient_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/librumpcrypto.a comp-obsolete obsolete,rump ./usr/lib/i386/librumpcrypto.so comp-obsolete obsolete,rump -./usr/lib/i386/librumpcrypto_g.a comp-obsolete obsolete,rump ./usr/lib/i386/librumpcrypto_p.a comp-obsolete obsolete,rump ./usr/lib/i386/librumpcrypto_pic.a comp-obsolete obsolete,rump ./usr/lib/i386/librumpdev.a comp-c-lib compat,rump ./usr/lib/i386/librumpdev.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librumpdev_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/librumpdev_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/librumpdev_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/librumphijack.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librumphijack_g.a -unknown- compat,debuglib,rump ./usr/lib/i386/librumphijack_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/librumpnet.a comp-c-lib compat,rump ./usr/lib/i386/librumpnet.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librumpnet_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/librumpnet_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/librumpnet_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/librumpuser.a comp-c-lib compat,rump ./usr/lib/i386/librumpuser.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librumpuser_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/librumpuser_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/librumpuser_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/librumpvfs.a comp-c-lib compat,rump ./usr/lib/i386/librumpvfs.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/librumpvfs_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/librumpvfs_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/librumpvfs_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/libsaslc.a comp-c-lib compat,crypto ./usr/lib/i386/libsaslc.so comp-sys-shlib compat,pic,crypto -./usr/lib/i386/libsaslc_g.a comp-c-proflib compat,debuglib,crypto ./usr/lib/i386/libsaslc_p.a comp-c-proflib compat,profile,crypto ./usr/lib/i386/libsaslc_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/i386/libsdp.a comp-obsolete obsolete @@ -961,254 +967,95 @@ ./usr/lib/i386/libsdp_pic.a comp-obsolete obsolete ./usr/lib/i386/libskey.a comp-c-lib compat,skey ./usr/lib/i386/libskey.so comp-sys-shlib compat,pic,skey -./usr/lib/i386/libskey_g.a comp-c-proflib compat,debuglib,skey ./usr/lib/i386/libskey_p.a comp-c-proflib compat,profile,skey ./usr/lib/i386/libskey_pic.a comp-c-piclib compat,pic,skey ./usr/lib/i386/libsl.a comp-c-lib compat,kerberos ./usr/lib/i386/libsl.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libsl_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libsl_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libsl_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libsqlite3.a comp-c-lib compat ./usr/lib/i386/libsqlite3.so comp-sys-shlib compat,pic -./usr/lib/i386/libsqlite3_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libsqlite3_p.a comp-c-proflib compat,profile ./usr/lib/i386/libsqlite3_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libss.a comp-obsolete obsolete ./usr/lib/i386/libss.so comp-obsolete obsolete -./usr/lib/i386/libss_g.a comp-obsolete obsolete ./usr/lib/i386/libss_p.a comp-obsolete obsolete ./usr/lib/i386/libss_pic.a comp-obsolete obsolete ./usr/lib/i386/libssh.a comp-c-lib compat ./usr/lib/i386/libssh.so comp-sys-shlib compat,pic -./usr/lib/i386/libssh_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libssh_p.a comp-c-proflib compat,profile ./usr/lib/i386/libssh_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libssl.a comp-c-lib compat ./usr/lib/i386/libssl.so comp-sys-shlib compat,pic -./usr/lib/i386/libssl_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libssl_p.a comp-c-proflib compat,profile ./usr/lib/i386/libssl_pic.a comp-c-piclib compat,pic -./usr/lib/i386/libstdc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/i386/libstdc++.so comp-sys-shlib compat,pic,cxx,gcccmds -./usr/lib/i386/libstdc++_g.a comp-c-proflib compat,debuglib,cxx,gcccmds -./usr/lib/i386/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds -./usr/lib/i386/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds -./usr/lib/i386/libsupc++.a comp-c-lib compat,cxx,gcccmds +./usr/lib/i386/libstdc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/i386/libstdc++.so comp-sys-shlib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/i386/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds,libstdcxx +./usr/lib/i386/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/i386/libsupc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx ./usr/lib/i386/libsupc++.so comp-obsolete obsolete -./usr/lib/i386/libsupc++_g.a comp-c-proflib compat,debuglib,cxx,gcccmds ./usr/lib/i386/libsupc++_pic.a comp-obsolete obsolete +./usr/lib/i386/libtddl.a comp-c-lib compat,tpm +./usr/lib/i386/libtddl_p.a comp-c-proflib compat,profile,tpm +./usr/lib/i386/libtddl_pic.a comp-c-piclib compat,pic,tpm ./usr/lib/i386/libtermcap.a comp-c-lib compat ./usr/lib/i386/libtermcap.so comp-sys-shlib compat,pic ./usr/lib/i386/libtermcap_p.a comp-c-proflib compat,profile ./usr/lib/i386/libtermcap_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libterminfo.a comp-c-lib compat ./usr/lib/i386/libterminfo.so comp-sys-shlib compat,pic -./usr/lib/i386/libterminfo_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libterminfo_p.a comp-c-proflib compat,profile ./usr/lib/i386/libterminfo_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libtermlib.a comp-c-lib compat ./usr/lib/i386/libtermlib.so comp-sys-shlib compat,pic ./usr/lib/i386/libtermlib_p.a comp-c-proflib compat,profile ./usr/lib/i386/libtermlib_pic.a comp-c-piclib compat,pic +./usr/lib/i386/libtpm_unseal.a comp-c-lib compat,tpm +./usr/lib/i386/libtpm_unseal.so comp-sys-shlib compat,pic,tpm +./usr/lib/i386/libtpm_unseal_p.a comp-c-proflib compat,profile,tpm +./usr/lib/i386/libtpm_unseal_pic.a comp-c-piclib compat,pic,tpm ./usr/lib/i386/libtre.a comp-c-lib compat ./usr/lib/i386/libtre.so comp-sys-shlib compat,pic -./usr/lib/i386/libtre_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libtre_p.a comp-c-proflib compat,profile ./usr/lib/i386/libtre_pic.a comp-c-piclib compat,pic +./usr/lib/i386/libtspi.a comp-c-lib compat,tpm +./usr/lib/i386/libtspi.so comp-sys-shlib compat,pic,tpm +./usr/lib/i386/libtspi_p.a comp-c-proflib compat,profile,tpm +./usr/lib/i386/libtspi_pic.a comp-c-piclib compat,pic,tpm ./usr/lib/i386/libukfs.a comp-c-lib compat,rump ./usr/lib/i386/libukfs.so comp-sys-shlib compat,pic,rump -./usr/lib/i386/libukfs_g.a comp-c-proflib compat,debuglib,rump ./usr/lib/i386/libukfs_p.a comp-c-proflib compat,profile,rump ./usr/lib/i386/libukfs_pic.a comp-c-piclib compat,pic,rump ./usr/lib/i386/libusbhid.a comp-c-lib compat ./usr/lib/i386/libusbhid.so comp-sys-shlib compat,pic -./usr/lib/i386/libusbhid_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libusbhid_p.a comp-c-proflib compat,profile ./usr/lib/i386/libusbhid_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libutil.a comp-c-lib compat ./usr/lib/i386/libutil.so comp-sys-shlib compat,pic -./usr/lib/i386/libutil_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libutil_p.a comp-c-proflib compat,profile ./usr/lib/i386/libutil_pic.a comp-c-piclib compat,pic ./usr/lib/i386/libvers.a comp-obsolete obsolete -./usr/lib/i386/libvers_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libvers_p.a comp-obsolete obsolete ./usr/lib/i386/libvers_pic.a comp-obsolete obsolete ./usr/lib/i386/libwind.a comp-c-lib compat,kerberos ./usr/lib/i386/libwind.so comp-sys-shlib compat,pic,kerberos -./usr/lib/i386/libwind_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/i386/libwind_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/i386/libwind_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/i386/libwrap.a comp-c-lib compat ./usr/lib/i386/libwrap.so comp-sys-shlib compat,pic -./usr/lib/i386/libwrap_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libwrap_p.a comp-c-proflib compat,profile ./usr/lib/i386/libwrap_pic.a comp-c-piclib compat,pic ./usr/lib/i386/liby.a comp-c-lib compat -./usr/lib/i386/liby_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/liby_p.a comp-c-proflib compat,profile ./usr/lib/i386/liby_pic.a comp-obsolete obsolete ./usr/lib/i386/libz.a comp-c-lib compat ./usr/lib/i386/libz.so comp-sys-shlib compat,pic -./usr/lib/i386/libz_g.a comp-c-proflib compat,debuglib ./usr/lib/i386/libz_p.a comp-c-proflib compat,profile ./usr/lib/i386/libz_pic.a comp-c-piclib compat,pic ./usr/lib/libx86_64.a comp-c-lib -./usr/lib/libx86_64_g.a comp-c-proflib debuglib ./usr/lib/libx86_64_p.a comp-c-proflib profile ./usr/lib/libx86_64_pic.a comp-c-piclib pic -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/iasl.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/i386/i18n/libBIG5.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libDECHanyu.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libEUC.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libEUCTW.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libGBK2K.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libHZ.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libISO2022.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libJOHAB.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libMSKanji.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libUES.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libUTF1632.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libUTF7.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libUTF8.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libVIQR.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libZW.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libiconv_none.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libiconv_std.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libmapper_646.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libmapper_none.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libmapper_parallel.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libmapper_serial.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libmapper_std.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/i18n/libmapper_zone.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libamu.so.4.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libarchive.so.3.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/i386/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/i386/libbfd.so.12.0.debug comp-compat-shlib compat,pic,binutils,debug -./usr/libdata/debug/usr/lib/i386/libbind9.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libbluetooth.so.4.2.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libbsdmalloc.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libbz2.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libc.so.12.185.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libcrypt.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libcrypto.so.8.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libcurses.so.7.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libdes.so.8.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libdevmapper.so.1.0.debug comp-compat-shlib compat,pic,lvm,debug -./usr/libdata/debug/usr/lib/i386/libdm.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libdns.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libdns_sd.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libdwarf.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libedit.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libelf.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libevent.so.3.2.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libexecinfo.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libexpat.so.2.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libfetch.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libform.so.6.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libgcc_s.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libgmp.so.10.2.debug comp-compat-shlib obsolete -./usr/libdata/debug/usr/lib/i386/libgnumalloc.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libgomp.so.1.0.debug comp-compat-shlib compat,pic,debug,gcc=45 -./usr/libdata/debug/usr/lib/i386/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libhx509.so.5.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libi386.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libintl.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libipsec.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libisc.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libisccc.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libisccfg.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libiscsi.so.2.0.debug comp-compat-shlib compat,pic,debug,iscsi -./usr/libdata/debug/usr/lib/i386/libisns.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libkvm.so.6.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/liblber.so.3.2.debug comp-compat-shlib compat,pic,ldap,debug -./usr/libdata/debug/usr/lib/i386/libldap.so.4.2.debug comp-compat-shlib compat,pic,ldap,debug -./usr/libdata/debug/usr/lib/i386/libldap_r.so.4.2.debug comp-compat-shlib compat,pic,ldap,debug -./usr/libdata/debug/usr/lib/i386/liblua.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/liblwres.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/liblzf.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/liblzma.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libm.so.0.10.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libmagic.so.3.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libmenu.so.6.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libmj.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libmpc.so.2.0.debug comp-compat-shlib obsolete -./usr/libdata/debug/usr/lib/i386/libmpfr.so.4.1.debug comp-compat-shlib obsolete -./usr/libdata/debug/usr/lib/i386/libnetpgp.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libnpf.so.0.0.debug comp-compat-shlib compat,pic,npf,debug -./usr/libdata/debug/usr/lib/i386/libobjc.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libopcodes.so.5.0.debug comp-compat-shlib compat,pic,binutils,debug -./usr/libdata/debug/usr/lib/i386/libossaudio.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libp2k.so.2.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/libpam.so.3.0.debug comp-compat-shlib compat,pic,pam,debug -./usr/libdata/debug/usr/lib/i386/libpcap.so.4.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libpci.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libposix.so.0.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libppath.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libprop.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libpthread.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libpthread_dbg.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libpuffs.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libquota.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libradius.so.4.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/librefuse.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libresolv.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/librpcsvc.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/librt.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/librump.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/librumpclient.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/librumpcrypto.so.0.0.debug comp-obsolete obsolete,rump -./usr/libdata/debug/usr/lib/i386/librumpdev.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/librumphijack.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/librumpnet.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/librumpuser.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/librumpvfs.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/libsaslc.so.0.0.debug comp-compat-shlib compat,pic,crypto,debug -./usr/libdata/debug/usr/lib/i386/libskey.so.2.0.debug comp-compat-shlib compat,pic,skey,debug -./usr/libdata/debug/usr/lib/i386/libsl.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/i386/libsl.so.5.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libsqlite3.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libss.so.6.0.debug comp-compat-shlib obsolete -./usr/libdata/debug/usr/lib/i386/libssh.so.19.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libssl.so.10.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libstdc++.so.7.0.debug comp-compat-shlib gcc=4,compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libstdc++.so.7.1.debug comp-compat-shlib gcc=45,compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libterminfo.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libtre.so.0.8.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libukfs.so.1.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/i386/libusbhid.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libutil.so.7.21.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/i386/libwrap.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libz.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/libx86_64.so.0.0.debug comp-sys-shlib pic,debug -./usr/libdata/debug/usr/sbin/acpidump.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/amldb.debug comp-sysutil-debug debug ./usr/libdata/ldscripts/elf_i386.x comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xbn comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xc comp-util-bin binutils @@ -1222,6 +1069,19 @@ ./usr/libdata/ldscripts/elf_i386.xsw comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xu comp-util-bin binutils ./usr/libdata/ldscripts/elf_i386.xw comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.x comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xbn comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xc comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xd comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xdc comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xdw comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xn comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xr comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xs comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xsc comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xsw comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xu comp-util-bin binutils +./usr/libdata/ldscripts/elf_k1om.xw comp-util-bin binutils ./usr/libdata/ldscripts/elf_l1om.x comp-util-bin binutils ./usr/libdata/ldscripts/elf_l1om.xbn comp-util-bin binutils ./usr/libdata/ldscripts/elf_l1om.xc comp-util-bin binutils diff --git a/distrib/sets/lists/comp/md.amiga b/distrib/sets/lists/comp/md.amiga index 664f8deb9..665c7ecce 100644 --- a/distrib/sets/lists/comp/md.amiga +++ b/distrib/sets/lists/comp/md.amiga @@ -1,4 +1,4 @@ -# $NetBSD: md.amiga,v 1.58 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.amiga,v 1.59 2013/01/16 16:01:06 christos Exp $ ./usr/include/amiga comp-c-include ./usr/include/amiga/_G_config.h comp-obsolete obsolete ./usr/include/amiga/ansi.h comp-c-include @@ -56,8 +56,3 @@ ./usr/include/ieeefp.h comp-c-include ./usr/lib/c++rt0.o comp-obsolete obsolete ./usr/lib/scrt0.o comp-obsolete obsolete -./usr/libdata/debug/sbin/binpatch.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/grfconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/iteconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/loadkmap.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/videomode.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.amigappc b/distrib/sets/lists/comp/md.amigappc index 432340d4d..0971ff5c3 100644 --- a/distrib/sets/lists/comp/md.amigappc +++ b/distrib/sets/lists/comp/md.amigappc @@ -1,14 +1,11 @@ -# $NetBSD: md.amigappc,v 1.8 2011/07/17 20:54:31 joerg Exp $ -./usr/include/ieeefp.h comp-c-include +# $NetBSD: md.amigappc,v 1.11 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/amigappc comp-c-include ./usr/include/amigappc/_G_config.h comp-obsolete obsolete ./usr/include/amigappc/ansi.h comp-c-include ./usr/include/amigappc/aout_machdep.h comp-c-include ./usr/include/amigappc/asm.h comp-c-include ./usr/include/amigappc/atomic.h comp-obsolete obsolete -#XXX./usr/include/amigappc/autoconf.h comp-c-include ./usr/include/amigappc/bat.h comp-obsolete obsolete -#XXX./usr/include/amigappc/bus.h comp-c-include ./usr/include/amigappc/bswap.h comp-c-include ./usr/include/amigappc/bus.h comp-obsolete obsolete ./usr/include/amigappc/cdefs.h comp-c-include @@ -53,6 +50,7 @@ ./usr/include/amigappc/rwlock.h comp-c-include ./usr/include/amigappc/setjmp.h comp-c-include ./usr/include/amigappc/signal.h comp-c-include +./usr/include/amigappc/sljitarch.h comp-c-include ./usr/include/amigappc/spr.h comp-obsolete obsolete ./usr/include/amigappc/stdarg.h comp-obsolete obsolete ./usr/include/amigappc/trap.h comp-c-include @@ -61,3 +59,4 @@ ./usr/include/amigappc/vmparam.h comp-c-include ./usr/include/amigappc/wchar_limits.h comp-c-include ./usr/include/amigappc/z8530var.h comp-obsolete obsolete +./usr/include/ieeefp.h comp-c-include diff --git a/distrib/sets/lists/comp/md.atari b/distrib/sets/lists/comp/md.atari index 581851361..0ee66e36c 100644 --- a/distrib/sets/lists/comp/md.atari +++ b/distrib/sets/lists/comp/md.atari @@ -1,4 +1,4 @@ -# $NetBSD: md.atari,v 1.58 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.atari,v 1.59 2013/01/16 16:01:06 christos Exp $ ./usr/include/atari comp-c-include ./usr/include/atari/_G_config.h comp-obsolete obsolete ./usr/include/atari/ahdilabel.h comp-c-include @@ -58,13 +58,3 @@ ./usr/include/atari/vuid_event.h comp-c-include ./usr/include/atari/wchar_limits.h comp-c-include ./usr/include/ieeefp.h comp-c-include -./usr/libdata/debug/sbin/ahdilabel.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/binpatch.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/edahdi.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/msconfig.debug comp-util-debug debug -./usr/libdata/debug/usr/mdec/installboot.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/bootpref.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/iteconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/loadkmap.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.bebox b/distrib/sets/lists/comp/md.bebox index d2236e1b7..0a5b64f8b 100644 --- a/distrib/sets/lists/comp/md.bebox +++ b/distrib/sets/lists/comp/md.bebox @@ -1,4 +1,4 @@ -# $NetBSD: md.bebox,v 1.35 2011/08/10 07:56:59 kiyohara Exp $ +# $NetBSD: md.bebox,v 1.37 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/bebox comp-c-include ./usr/include/bebox/_G_config.h comp-obsolete obsolete ./usr/include/bebox/ansi.h comp-c-include @@ -56,6 +56,7 @@ ./usr/include/bebox/rwlock.h comp-c-include ./usr/include/bebox/setjmp.h comp-c-include ./usr/include/bebox/signal.h comp-c-include +./usr/include/bebox/sljitarch.h comp-c-include ./usr/include/bebox/spkr.h comp-c-include ./usr/include/bebox/spr.h comp-obsolete obsolete ./usr/include/bebox/stdarg.h comp-obsolete obsolete @@ -66,5 +67,3 @@ ./usr/include/bebox/vmparam.h comp-c-include ./usr/include/bebox/wchar_limits.h comp-c-include ./usr/include/ieeefp.h comp-c-include -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.cats b/distrib/sets/lists/comp/md.cats deleted file mode 100644 index 00756531d..000000000 --- a/distrib/sets/lists/comp/md.cats +++ /dev/null @@ -1,51 +0,0 @@ -# $NetBSD: md.cats,v 1.17 2011/07/18 17:18:14 dyoung Exp $ -./usr/include/cats comp-c-include -./usr/include/cats/ansi.h comp-c-include -./usr/include/cats/aout_machdep.h comp-c-include -./usr/include/cats/asm.h comp-c-include -./usr/include/cats/bswap.h comp-c-include -./usr/include/cats/bus.h comp-obsolete obsolete -./usr/include/cats/byte_swap.h comp-obsolete obsolete -./usr/include/cats/cdefs.h comp-c-include -./usr/include/cats/cpu.h comp-c-include -./usr/include/cats/db_machdep.h comp-obsolete obsolete -./usr/include/cats/disklabel.h comp-c-include -./usr/include/cats/elf_machdep.h comp-c-include -./usr/include/cats/endian.h comp-c-include -./usr/include/cats/endian_machdep.h comp-c-include -./usr/include/cats/float.h comp-c-include -./usr/include/cats/fp.h comp-c-include -./usr/include/cats/frame.h comp-c-include -./usr/include/cats/ieee.h comp-c-include -./usr/include/cats/ieeefp.h comp-c-include -./usr/include/cats/int_const.h comp-c-include -./usr/include/cats/int_fmtio.h comp-c-include -./usr/include/cats/int_limits.h comp-c-include -./usr/include/cats/int_mwgwtypes.h comp-c-include -./usr/include/cats/int_types.h comp-c-include -./usr/include/cats/intr.h comp-c-include -./usr/include/cats/ipkdb.h comp-obsolete obsolete -./usr/include/cats/joystick.h comp-c-include -./usr/include/cats/limits.h comp-c-include -./usr/include/cats/lock.h comp-c-include -./usr/include/cats/math.h comp-c-include -./usr/include/cats/mcontext.h comp-c-include -./usr/include/cats/mutex.h comp-c-include -./usr/include/cats/param.h comp-c-include -./usr/include/cats/pcb.h comp-c-include -./usr/include/cats/pmap.h comp-c-include -./usr/include/cats/pmc.h comp-c-include -./usr/include/cats/proc.h comp-c-include -./usr/include/cats/profile.h comp-c-include -./usr/include/cats/ptrace.h comp-c-include -./usr/include/cats/reg.h comp-c-include -./usr/include/cats/rwlock.h comp-c-include -./usr/include/cats/setjmp.h comp-c-include -./usr/include/cats/signal.h comp-c-include -./usr/include/cats/stdarg.h comp-obsolete obsolete -./usr/include/cats/sysarch.h comp-c-include -./usr/include/cats/trap.h comp-c-include -./usr/include/cats/types.h comp-c-include -./usr/include/cats/varargs.h comp-obsolete obsolete -./usr/include/cats/vmparam.h comp-c-include -./usr/include/cats/wchar_limits.h comp-c-include diff --git a/distrib/sets/lists/comp/md.emips b/distrib/sets/lists/comp/md.emips index 25e9658c9..b1da35d57 100644 --- a/distrib/sets/lists/comp/md.emips +++ b/distrib/sets/lists/comp/md.emips @@ -1,6 +1,5 @@ -# $NetBSD: md.emips,v 1.2 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.emips,v 1.4 2013/08/11 22:29:02 joerg Exp $ # -./usr/include/ieeefp.h comp-c-include ./usr/include/emips comp-c-include ./usr/include/emips/ansi.h comp-c-include ./usr/include/emips/asm.h comp-c-include @@ -49,9 +48,11 @@ ./usr/include/emips/rwlock.h comp-c-include ./usr/include/emips/setjmp.h comp-c-include ./usr/include/emips/signal.h comp-c-include +./usr/include/emips/sljitarch.h comp-c-include ./usr/include/emips/stdarg.h comp-obsolete obsolete ./usr/include/emips/trap.h comp-c-include ./usr/include/emips/types.h comp-c-include ./usr/include/emips/varargs.h comp-obsolete obsolete ./usr/include/emips/vmparam.h comp-c-include ./usr/include/emips/wchar_limits.h comp-c-include +./usr/include/ieeefp.h comp-c-include diff --git a/distrib/sets/lists/comp/md.evbarm b/distrib/sets/lists/comp/md.evbarm deleted file mode 100644 index 0edf27b5e..000000000 --- a/distrib/sets/lists/comp/md.evbarm +++ /dev/null @@ -1,50 +0,0 @@ -# $NetBSD: md.evbarm,v 1.15 2011/07/18 17:18:14 dyoung Exp $ -./usr/include/evbarm comp-c-include -./usr/include/evbarm/ansi.h comp-c-include -./usr/include/evbarm/aout_machdep.h comp-c-include -./usr/include/evbarm/asm.h comp-c-include -./usr/include/evbarm/bswap.h comp-c-include -./usr/include/evbarm/bus.h comp-obsolete obsolete -./usr/include/evbarm/cdefs.h comp-c-include -./usr/include/evbarm/cpu.h comp-c-include -./usr/include/evbarm/db_machdep.h comp-obsolete obsolete -./usr/include/evbarm/disklabel.h comp-c-include -./usr/include/evbarm/elf_machdep.h comp-c-include -./usr/include/evbarm/endian.h comp-c-include -./usr/include/evbarm/endian_machdep.h comp-c-include -./usr/include/evbarm/float.h comp-c-include -./usr/include/evbarm/fp.h comp-c-include -./usr/include/evbarm/frame.h comp-c-include -./usr/include/evbarm/ieee.h comp-c-include -./usr/include/evbarm/ieeefp.h comp-c-include -./usr/include/evbarm/int_const.h comp-c-include -./usr/include/evbarm/int_fmtio.h comp-c-include -./usr/include/evbarm/int_limits.h comp-c-include -./usr/include/evbarm/int_mwgwtypes.h comp-c-include -./usr/include/evbarm/int_types.h comp-c-include -./usr/include/evbarm/intr.h comp-c-include -./usr/include/evbarm/ipkdb.h comp-obsolete obsolete -./usr/include/evbarm/joystick.h comp-c-include -./usr/include/evbarm/limits.h comp-c-include -./usr/include/evbarm/lock.h comp-c-include -./usr/include/evbarm/math.h comp-c-include -./usr/include/evbarm/mcontext.h comp-c-include -./usr/include/evbarm/mutex.h comp-c-include -./usr/include/evbarm/param.h comp-c-include -./usr/include/evbarm/pcb.h comp-c-include -./usr/include/evbarm/pmap.h comp-c-include -./usr/include/evbarm/pmc.h comp-c-include -./usr/include/evbarm/proc.h comp-c-include -./usr/include/evbarm/profile.h comp-c-include -./usr/include/evbarm/ptrace.h comp-c-include -./usr/include/evbarm/reg.h comp-c-include -./usr/include/evbarm/rwlock.h comp-c-include -./usr/include/evbarm/setjmp.h comp-c-include -./usr/include/evbarm/signal.h comp-c-include -./usr/include/evbarm/stdarg.h comp-obsolete obsolete -./usr/include/evbarm/sysarch.h comp-c-include -./usr/include/evbarm/trap.h comp-c-include -./usr/include/evbarm/types.h comp-c-include -./usr/include/evbarm/varargs.h comp-obsolete obsolete -./usr/include/evbarm/vmparam.h comp-c-include -./usr/include/evbarm/wchar_limits.h comp-c-include diff --git a/distrib/sets/lists/comp/md.evbcf b/distrib/sets/lists/comp/md.evbcf new file mode 100644 index 000000000..34c99db17 --- /dev/null +++ b/distrib/sets/lists/comp/md.evbcf @@ -0,0 +1,47 @@ +# $NetBSD: md.evbcf,v 1.2 2013/08/11 22:29:02 joerg Exp $ +./usr/include/evbcf comp-c-include +./usr/include/evbcf/ansi.h comp-c-include +./usr/include/evbcf/aout_machdep.h comp-c-include +./usr/include/evbcf/asm.h comp-c-include +./usr/include/evbcf/autoconf.h comp-c-include +./usr/include/evbcf/bswap.h comp-c-include +./usr/include/evbcf/cdefs.h comp-c-include +./usr/include/evbcf/cpu.h comp-c-include +./usr/include/evbcf/disklabel.h comp-c-include +./usr/include/evbcf/elf_machdep.h comp-c-include +./usr/include/evbcf/endian.h comp-c-include +./usr/include/evbcf/endian_machdep.h comp-c-include +./usr/include/evbcf/float.h comp-c-include +./usr/include/evbcf/frame.h comp-c-include +./usr/include/evbcf/ieee.h comp-c-include +./usr/include/evbcf/ieeefp.h comp-c-include +./usr/include/evbcf/int_const.h comp-c-include +./usr/include/evbcf/int_fmtio.h comp-c-include +./usr/include/evbcf/int_limits.h comp-c-include +./usr/include/evbcf/int_mwgwtypes.h comp-c-include +./usr/include/evbcf/int_types.h comp-c-include +./usr/include/evbcf/intr.h comp-c-include +./usr/include/evbcf/kcore.h comp-c-include +./usr/include/evbcf/limits.h comp-c-include +./usr/include/evbcf/lock.h comp-c-include +./usr/include/evbcf/math.h comp-c-include +./usr/include/evbcf/mcontext.h comp-c-include +./usr/include/evbcf/mutex.h comp-c-include +./usr/include/evbcf/param.h comp-c-include +./usr/include/evbcf/pcb.h comp-c-include +./usr/include/evbcf/pmap.h comp-c-include +./usr/include/evbcf/pmc.h comp-c-include +./usr/include/evbcf/proc.h comp-c-include +./usr/include/evbcf/profile.h comp-c-include +./usr/include/evbcf/psl.h comp-c-include +./usr/include/evbcf/pte.h comp-c-include +./usr/include/evbcf/ptrace.h comp-c-include +./usr/include/evbcf/reg.h comp-c-include +./usr/include/evbcf/rwlock.h comp-c-include +./usr/include/evbcf/setjmp.h comp-c-include +./usr/include/evbcf/signal.h comp-c-include +./usr/include/evbcf/trap.h comp-c-include +./usr/include/evbcf/types.h comp-c-include +./usr/include/evbcf/vmparam.h comp-c-include +./usr/include/evbcf/wchar_limits.h comp-c-include +./usr/include/ieeefp.h comp-c-include diff --git a/distrib/sets/lists/comp/md.evbmips b/distrib/sets/lists/comp/md.evbmips index 39af46ef3..4dd6ae12f 100644 --- a/distrib/sets/lists/comp/md.evbmips +++ b/distrib/sets/lists/comp/md.evbmips @@ -1,4 +1,4 @@ -# $NetBSD: md.evbmips,v 1.16 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.evbmips,v 1.17 2012/11/24 14:00:35 alnsn Exp $ ./usr/include/evbmips comp-c-include ./usr/include/evbmips/_G_config.h comp-obsolete obsolete ./usr/include/evbmips/ansi.h comp-c-include @@ -52,6 +52,7 @@ ./usr/include/evbmips/rwlock.h comp-c-include ./usr/include/evbmips/setjmp.h comp-c-include ./usr/include/evbmips/signal.h comp-c-include +./usr/include/evbmips/sljitarch.h comp-c-include ./usr/include/evbmips/stdarg.h comp-obsolete obsolete ./usr/include/evbmips/trap.h comp-c-include ./usr/include/evbmips/types.h comp-c-include diff --git a/distrib/sets/lists/comp/md.evbppc b/distrib/sets/lists/comp/md.evbppc index 5c3295f69..963210027 100644 --- a/distrib/sets/lists/comp/md.evbppc +++ b/distrib/sets/lists/comp/md.evbppc @@ -1,4 +1,4 @@ -# $NetBSD: md.evbppc,v 1.12 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.evbppc,v 1.13 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/evbppc comp-c-include ./usr/include/evbppc/_G_config.h comp-obsolete obsolete ./usr/include/evbppc/ansi.h comp-c-include @@ -48,6 +48,7 @@ ./usr/include/evbppc/rwlock.h comp-c-include ./usr/include/evbppc/setjmp.h comp-c-include ./usr/include/evbppc/signal.h comp-c-include +./usr/include/evbppc/sljitarch.h comp-c-include ./usr/include/evbppc/spr.h comp-obsolete obsolete ./usr/include/evbppc/stdarg.h comp-obsolete obsolete ./usr/include/evbppc/trap.h comp-c-include diff --git a/distrib/sets/lists/comp/md.ews4800mips b/distrib/sets/lists/comp/md.ews4800mips index 0a5b1684f..76128fa71 100644 --- a/distrib/sets/lists/comp/md.ews4800mips +++ b/distrib/sets/lists/comp/md.ews4800mips @@ -1,5 +1,4 @@ -# $NetBSD: md.ews4800mips,v 1.5 2011/07/17 20:54:31 joerg Exp $ -./usr/include/ieeefp.h comp-c-include +# $NetBSD: md.ews4800mips,v 1.7 2013/08/11 22:29:02 joerg Exp $ ./usr/include/ews4800mips comp-c-include ./usr/include/ews4800mips/ansi.h comp-c-include ./usr/include/ews4800mips/aout_machdep.h comp-c-include @@ -48,6 +47,7 @@ ./usr/include/ews4800mips/rwlock.h comp-c-include ./usr/include/ews4800mips/setjmp.h comp-c-include ./usr/include/ews4800mips/signal.h comp-c-include +./usr/include/ews4800mips/sljitarch.h comp-c-include ./usr/include/ews4800mips/stdarg.h comp-obsolete obsolete ./usr/include/ews4800mips/trap.h comp-c-include ./usr/include/ews4800mips/types.h comp-c-include @@ -55,3 +55,4 @@ ./usr/include/ews4800mips/vmparam.h comp-c-include ./usr/include/ews4800mips/vtoc.h comp-c-include ./usr/include/ews4800mips/wchar_limits.h comp-c-include +./usr/include/ieeefp.h comp-c-include diff --git a/distrib/sets/lists/comp/md.hp300 b/distrib/sets/lists/comp/md.hp300 index 88ff00166..8cf43ca42 100644 --- a/distrib/sets/lists/comp/md.hp300 +++ b/distrib/sets/lists/comp/md.hp300 @@ -1,4 +1,4 @@ -# $NetBSD: md.hp300,v 1.61 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.hp300,v 1.62 2013/01/16 16:01:06 christos Exp $ ./usr/include/hp300 comp-c-include ./usr/include/hp300/_G_config.h comp-obsolete obsolete ./usr/include/hp300/ansi.h comp-c-include @@ -53,6 +53,3 @@ ./usr/include/hp300/vmparam.h comp-c-include ./usr/include/hp300/wchar_limits.h comp-c-include ./usr/include/ieeefp.h comp-c-include -./usr/libdata/debug/usr/mdec/mkboot.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/grfinfo.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/hilinfo.debug comp-obsolete obsolete diff --git a/distrib/sets/lists/comp/md.hp700 b/distrib/sets/lists/comp/md.hp700 index 611cca812..4c2b4c9e1 100644 --- a/distrib/sets/lists/comp/md.hp700 +++ b/distrib/sets/lists/comp/md.hp700 @@ -1,4 +1,4 @@ -# $NetBSD: md.hp700,v 1.9 2012/05/27 11:26:38 skrll Exp $ +# $NetBSD: md.hp700,v 1.10 2013/01/16 16:01:06 christos Exp $ ./usr/include/hp700 comp-c-include ./usr/include/hp700/ansi.h comp-c-include ./usr/include/hp700/aout_machdep.h comp-c-include @@ -61,4 +61,3 @@ ./usr/include/hp700/varargs.h comp-obsolete obsolete ./usr/include/hp700/vmparam.h comp-c-include ./usr/include/hp700/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/mdec/mkboot.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.hpcarm b/distrib/sets/lists/comp/md.hpcarm deleted file mode 100644 index 53a27f4f4..000000000 --- a/distrib/sets/lists/comp/md.hpcarm +++ /dev/null @@ -1,52 +0,0 @@ -# $NetBSD: md.hpcarm,v 1.17 2011/07/19 15:37:38 dyoung Exp $ -./usr/include/hpcarm comp-c-include -./usr/include/hpcarm/ansi.h comp-c-include -./usr/include/hpcarm/aout_machdep.h comp-c-include -./usr/include/hpcarm/apmvar.h comp-c-include -./usr/include/hpcarm/asm.h comp-c-include -./usr/include/hpcarm/bswap.h comp-c-include -./usr/include/hpcarm/bus.h comp-obsolete obsolete -./usr/include/hpcarm/cdefs.h comp-c-include -./usr/include/hpcarm/cpu.h comp-c-include -./usr/include/hpcarm/db_machdep.h comp-obsolete obsolete -./usr/include/hpcarm/disklabel.h comp-c-include -./usr/include/hpcarm/elf_machdep.h comp-c-include -./usr/include/hpcarm/endian.h comp-c-include -./usr/include/hpcarm/endian_machdep.h comp-c-include -./usr/include/hpcarm/float.h comp-c-include -./usr/include/hpcarm/fp.h comp-c-include -./usr/include/hpcarm/frame.h comp-c-include -./usr/include/hpcarm/ieee.h comp-c-include -./usr/include/hpcarm/ieeefp.h comp-c-include -./usr/include/hpcarm/int_const.h comp-c-include -./usr/include/hpcarm/int_fmtio.h comp-c-include -./usr/include/hpcarm/int_limits.h comp-c-include -./usr/include/hpcarm/int_mwgwtypes.h comp-c-include -./usr/include/hpcarm/int_types.h comp-c-include -./usr/include/hpcarm/intr.h comp-c-include -./usr/include/hpcarm/ipkdb.h comp-obsolete obsolete -./usr/include/hpcarm/limits.h comp-c-include -./usr/include/hpcarm/lock.h comp-c-include -./usr/include/hpcarm/math.h comp-c-include -./usr/include/hpcarm/mcontext.h comp-c-include -./usr/include/hpcarm/mutex.h comp-c-include -./usr/include/hpcarm/param.h comp-c-include -./usr/include/hpcarm/pcb.h comp-c-include -./usr/include/hpcarm/pmap.h comp-c-include -./usr/include/hpcarm/pmc.h comp-c-include -./usr/include/hpcarm/proc.h comp-c-include -./usr/include/hpcarm/profile.h comp-c-include -./usr/include/hpcarm/ptrace.h comp-c-include -./usr/include/hpcarm/reg.h comp-c-include -./usr/include/hpcarm/rwlock.h comp-c-include -./usr/include/hpcarm/setjmp.h comp-c-include -./usr/include/hpcarm/signal.h comp-c-include -./usr/include/hpcarm/stdarg.h comp-obsolete obsolete -./usr/include/hpcarm/sysarch.h comp-c-include -./usr/include/hpcarm/trap.h comp-c-include -./usr/include/hpcarm/types.h comp-c-include -./usr/include/hpcarm/varargs.h comp-obsolete obsolete -./usr/include/hpcarm/vmparam.h comp-c-include -./usr/include/hpcarm/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.hpcmips b/distrib/sets/lists/comp/md.hpcmips index 2b5c03c47..7debc968c 100644 --- a/distrib/sets/lists/comp/md.hpcmips +++ b/distrib/sets/lists/comp/md.hpcmips @@ -1,4 +1,4 @@ -# $NetBSD: md.hpcmips,v 1.29 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.hpcmips,v 1.31 2013/01/16 16:01:06 christos Exp $ ./usr/include/dev/hpc/hpcfbio.h comp-c-include ./usr/include/hpcmips comp-c-include ./usr/include/hpcmips/_G_config.h comp-obsolete obsolete @@ -54,6 +54,7 @@ ./usr/include/hpcmips/rwlock.h comp-c-include ./usr/include/hpcmips/setjmp.h comp-c-include ./usr/include/hpcmips/signal.h comp-c-include +./usr/include/hpcmips/sljitarch.h comp-c-include ./usr/include/hpcmips/stdarg.h comp-obsolete obsolete ./usr/include/hpcmips/sysconf.h comp-c-include ./usr/include/hpcmips/trap.h comp-c-include @@ -62,6 +63,3 @@ ./usr/include/hpcmips/vmparam.h comp-c-include ./usr/include/hpcmips/wchar_limits.h comp-c-include ./usr/include/ieeefp.h comp-c-include -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.hpcsh b/distrib/sets/lists/comp/md.hpcsh index 0ab979f79..1329f863e 100644 --- a/distrib/sets/lists/comp/md.hpcsh +++ b/distrib/sets/lists/comp/md.hpcsh @@ -1,4 +1,4 @@ -# $NetBSD: md.hpcsh,v 1.26 2011/07/19 15:30:51 dyoung Exp $ +# $NetBSD: md.hpcsh,v 1.27 2013/01/16 16:01:06 christos Exp $ ./usr/include/hpcsh comp-c-include ./usr/include/hpcsh/_G_config.h comp-obsolete obsolete ./usr/include/hpcsh/ansi.h comp-c-include @@ -58,6 +58,3 @@ ./usr/include/hpcsh/wchar_limits.h comp-c-include ./usr/include/ieeefp.h comp-c-include ./usr/include/sh3/db_disasm.h comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.i386 b/distrib/sets/lists/comp/md.i386 index e62790d14..7c0ef9620 100644 --- a/distrib/sets/lists/comp/md.i386 +++ b/distrib/sets/lists/comp/md.i386 @@ -1,6 +1,6 @@ -# $NetBSD: md.i386,v 1.127 2012/08/29 17:13:21 drochner Exp $ -./usr/include/clang-3.0/avxintrin.h comp-obsolete obsolete +# $NetBSD: md.i386,v 1.140 2013/11/08 03:13:29 christos Exp $ ./usr/include/clang-3.0/avx2intrin.h comp-obsolete obsolete +./usr/include/clang-3.0/avxintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/bmi2intrin.h comp-obsolete obsolete ./usr/include/clang-3.0/bmiintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/emmintrin.h comp-obsolete obsolete @@ -18,39 +18,106 @@ ./usr/include/clang-3.0/wmmintrin.h comp-obsolete obsolete ./usr/include/clang-3.0/x86intrin.h comp-obsolete obsolete ./usr/include/clang-3.0/xmmintrin.h comp-obsolete obsolete -./usr/include/clang-3.2/ammintrin.h comp-c-include llvm -./usr/include/clang-3.2/avxintrin.h comp-c-include llvm -./usr/include/clang-3.2/avx2intrin.h comp-c-include llvm -./usr/include/clang-3.2/bmi2intrin.h comp-c-include llvm -./usr/include/clang-3.2/bmiintrin.h comp-c-include llvm -./usr/include/clang-3.2/emmintrin.h comp-c-include llvm -./usr/include/clang-3.2/fma4intrin.h comp-c-include llvm -./usr/include/clang-3.2/fmaintrin.h comp-c-include llvm -./usr/include/clang-3.2/immintrin.h comp-c-include llvm -./usr/include/clang-3.2/lzcntintrin.h comp-c-include llvm -./usr/include/clang-3.2/mm3dnow.h comp-c-include llvm -./usr/include/clang-3.2/mm_malloc.h comp-c-include llvm -./usr/include/clang-3.2/mmintrin.h comp-c-include llvm -./usr/include/clang-3.2/nmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/pmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/popcntintrin.h comp-c-include llvm -./usr/include/clang-3.2/smmintrin.h comp-c-include llvm -./usr/include/clang-3.2/tmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/wmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/x86intrin.h comp-c-include llvm -./usr/include/clang-3.2/xmmintrin.h comp-c-include llvm -./usr/include/clang-3.2/xopintrin.h comp-c-include llvm +./usr/include/clang-3.2/__wmmintrin_aes.h comp-obsolete obsolete +./usr/include/clang-3.2/__wmmintrin_pclmul.h comp-obsolete obsolete +./usr/include/clang-3.2/ammintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/avx2intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/avxintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/bmi2intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/bmiintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/emmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/f16cintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/fma4intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/fmaintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/immintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/lzcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/mm3dnow.h comp-obsolete obsolete +./usr/include/clang-3.2/mm_malloc.h comp-obsolete obsolete +./usr/include/clang-3.2/mmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/nmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/pmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/popcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/rtmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/smmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/tmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/wmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/x86intrin.h comp-obsolete obsolete +./usr/include/clang-3.2/xmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.2/xopintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/__wmmintrin_aes.h comp-obsolete obsolete +./usr/include/clang-3.3/__wmmintrin_pclmul.h comp-obsolete obsolete +./usr/include/clang-3.3/ammintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/avx2intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/avxintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/bmi2intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/bmiintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/emmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/f16cintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/fma4intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/fmaintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/immintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/lzcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/mm3dnow.h comp-obsolete obsolete +./usr/include/clang-3.3/mm_malloc.h comp-obsolete obsolete +./usr/include/clang-3.3/mmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/nmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/pmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/popcntintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/prfchwintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/rdseedintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/rtmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/smmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/tmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/wmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/x86intrin.h comp-obsolete obsolete +./usr/include/clang-3.3/xmmintrin.h comp-obsolete obsolete +./usr/include/clang-3.3/xopintrin.h comp-obsolete obsolete +./usr/include/clang-3.4/__wmmintrin_aes.h comp-c-include llvm +./usr/include/clang-3.4/__wmmintrin_pclmul.h comp-c-include llvm +./usr/include/clang-3.4/ammintrin.h comp-c-include llvm +./usr/include/clang-3.4/avx2intrin.h comp-c-include llvm +./usr/include/clang-3.4/avxintrin.h comp-c-include llvm +./usr/include/clang-3.4/bmi2intrin.h comp-c-include llvm +./usr/include/clang-3.4/bmiintrin.h comp-c-include llvm +./usr/include/clang-3.4/emmintrin.h comp-c-include llvm +./usr/include/clang-3.4/f16cintrin.h comp-c-include llvm +./usr/include/clang-3.4/fma4intrin.h comp-c-include llvm +./usr/include/clang-3.4/fmaintrin.h comp-c-include llvm +./usr/include/clang-3.4/immintrin.h comp-c-include llvm +./usr/include/clang-3.4/lzcntintrin.h comp-c-include llvm +./usr/include/clang-3.4/mm3dnow.h comp-c-include llvm +./usr/include/clang-3.4/mm_malloc.h comp-c-include llvm +./usr/include/clang-3.4/mmintrin.h comp-c-include llvm +./usr/include/clang-3.4/nmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/pmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/popcntintrin.h comp-c-include llvm +./usr/include/clang-3.4/prfchwintrin.h comp-c-include llvm +./usr/include/clang-3.4/rdseedintrin.h comp-c-include llvm +./usr/include/clang-3.4/rtmintrin.h comp-c-include llvm +./usr/include/clang-3.4/shaintrin.h comp-c-include llvm +./usr/include/clang-3.4/smmintrin.h comp-c-include llvm +./usr/include/clang-3.4/tbmintrin.h comp-c-include llvm +./usr/include/clang-3.4/tmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/wmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/x86intrin.h comp-c-include llvm +./usr/include/clang-3.4/xmmintrin.h comp-c-include llvm +./usr/include/clang-3.4/xopintrin.h comp-c-include llvm ./usr/include/emmintrin.h comp-obsolete obsolete ./usr/include/gcc-4.1/emmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/emmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/emmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/mm_malloc.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/mm_malloc.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/mm_malloc.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/mmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/mmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/mmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/pmmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/pmmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/pmmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.1/xmmintrin.h comp-c-include gcccmds,gcc=4 ./usr/include/gcc-4.1/xmmintrin.h comp-obsolete gcc=45,obsolete +./usr/include/gcc-4.1/xmmintrin.h comp-obsolete gcc=48,obsolete ./usr/include/gcc-4.5/abmintrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/ammintrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/avxintrin.h comp-c-include gcccmds,gcc=45 @@ -75,6 +142,44 @@ ./usr/include/gcc-4.5/x86intrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/xmmintrin.h comp-c-include gcccmds,gcc=45 ./usr/include/gcc-4.5/xopintrin.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/adxintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/ammintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/avx2intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/avxintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/bmi2intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/bmiintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/bmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/cpuid.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/cross-stdarg.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/emmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/f16cintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/fma4intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/fmaintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/fxsrintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/ia32intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/immintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/lwpintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/lzcntintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mm3dnow.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mm_malloc.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/mmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/nmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/pmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/popcntintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/prfchwintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/rdseedintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/rtmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/smmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tbmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/tmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/wmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/x86intrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xmmintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xopintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xsaveintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xsaveoptintrin.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/xtestintrin.h comp-c-include gcccmds,gcc=48 ./usr/include/i386 comp-c-include ./usr/include/i386/_G_config.h comp-obsolete obsolete ./usr/include/i386/ansi.h comp-c-include @@ -141,6 +246,7 @@ ./usr/include/i386/segments.h comp-c-include ./usr/include/i386/setjmp.h comp-c-include ./usr/include/i386/signal.h comp-c-include +./usr/include/i386/sljitarch.h comp-c-include ./usr/include/i386/specialreg.h comp-c-include ./usr/include/i386/spkr.h comp-c-include ./usr/include/i386/stdarg.h comp-obsolete obsolete @@ -192,30 +298,13 @@ ./usr/include/xen/xenio3.h comp-c-include ./usr/include/xmmintrin.h comp-obsolete obsolete ./usr/lib/libi386.a comp-c-lib -./usr/lib/libi386_g.a -unknown- debuglib ./usr/lib/libi386_p.a comp-c-proflib profile ./usr/lib/libi386_pic.a comp-c-piclib pic ./usr/lib/libm387.a comp-c-lib -./usr/lib/libm387_g.a -unknown- debuglib ./usr/lib/libm387_p.a comp-c-proflib profile ./usr/lib/libm387_pic.a comp-c-piclib pic ./usr/lib/libpmc.a comp-c-lib -./usr/lib/libpmc_g.a -unknown- debuglib ./usr/lib/libpmc_p.a comp-c-proflib profile ./usr/lib/libpmc_pic.a comp-c-piclib pic -./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/iasl.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/pmc.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/libi386.so.1.0.debug comp-sys-debug pic,debug -./usr/libdata/debug/usr/lib/libm387.so.0.1.debug comp-sys-debug pic,debug -./usr/libdata/debug/usr/lib/libpmc.so.1.0.debug comp-sys-debug pic,debug -./usr/libdata/debug/usr/sbin/acpidump.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/amldb.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/bad144.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ipwctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ndiscvt.debug comp-sysutil-debug debug ./usr/libdata/lint/llib-li386.ln comp-c-lintlib lint ./usr/libdata/lint/llib-lpmc.ln comp-c-lintlib lint diff --git a/distrib/sets/lists/comp/md.ibmnws b/distrib/sets/lists/comp/md.ibmnws index 81a3e3c07..8a79d303f 100644 --- a/distrib/sets/lists/comp/md.ibmnws +++ b/distrib/sets/lists/comp/md.ibmnws @@ -1,4 +1,4 @@ -# $NetBSD: md.ibmnws,v 1.10 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.ibmnws,v 1.11 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ibmnws comp-c-include ./usr/include/ibmnws/_G_config.h comp-obsolete obsolete ./usr/include/ibmnws/ansi.h comp-c-include @@ -51,6 +51,7 @@ ./usr/include/ibmnws/rwlock.h comp-c-include ./usr/include/ibmnws/setjmp.h comp-c-include ./usr/include/ibmnws/signal.h comp-c-include +./usr/include/ibmnws/sljitarch.h comp-c-include ./usr/include/ibmnws/spr.h comp-obsolete obsolete ./usr/include/ibmnws/stdarg.h comp-obsolete obsolete ./usr/include/ibmnws/trap.h comp-c-include diff --git a/distrib/sets/lists/comp/md.iyonix b/distrib/sets/lists/comp/md.iyonix deleted file mode 100644 index 8f8b5e50b..000000000 --- a/distrib/sets/lists/comp/md.iyonix +++ /dev/null @@ -1,50 +0,0 @@ -# $NetBSD: md.iyonix,v 1.7 2011/07/18 17:18:14 dyoung Exp $ -./usr/include/iyonix comp-c-include -./usr/include/iyonix/ansi.h comp-c-include -./usr/include/iyonix/aout_machdep.h comp-c-include -./usr/include/iyonix/asm.h comp-c-include -./usr/include/iyonix/bswap.h comp-c-include -./usr/include/iyonix/bus.h comp-obsolete obsolete -./usr/include/iyonix/cdefs.h comp-c-include -./usr/include/iyonix/cpu.h comp-c-include -./usr/include/iyonix/db_machdep.h comp-obsolete obsolete -./usr/include/iyonix/disklabel.h comp-c-include -./usr/include/iyonix/elf_machdep.h comp-c-include -./usr/include/iyonix/endian.h comp-c-include -./usr/include/iyonix/endian_machdep.h comp-c-include -./usr/include/iyonix/float.h comp-c-include -./usr/include/iyonix/fp.h comp-c-include -./usr/include/iyonix/frame.h comp-c-include -./usr/include/iyonix/ieee.h comp-c-include -./usr/include/iyonix/ieeefp.h comp-c-include -./usr/include/iyonix/int_const.h comp-c-include -./usr/include/iyonix/int_fmtio.h comp-c-include -./usr/include/iyonix/int_limits.h comp-c-include -./usr/include/iyonix/int_mwgwtypes.h comp-c-include -./usr/include/iyonix/int_types.h comp-c-include -./usr/include/iyonix/intr.h comp-c-include -./usr/include/iyonix/ipkdb.h comp-obsolete obsolete -./usr/include/iyonix/joystick.h comp-c-include -./usr/include/iyonix/limits.h comp-c-include -./usr/include/iyonix/lock.h comp-c-include -./usr/include/iyonix/math.h comp-c-include -./usr/include/iyonix/mcontext.h comp-c-include -./usr/include/iyonix/mutex.h comp-c-include -./usr/include/iyonix/param.h comp-c-include -./usr/include/iyonix/pcb.h comp-c-include -./usr/include/iyonix/pmap.h comp-c-include -./usr/include/iyonix/pmc.h comp-c-include -./usr/include/iyonix/proc.h comp-c-include -./usr/include/iyonix/profile.h comp-c-include -./usr/include/iyonix/ptrace.h comp-c-include -./usr/include/iyonix/reg.h comp-c-include -./usr/include/iyonix/rwlock.h comp-c-include -./usr/include/iyonix/setjmp.h comp-c-include -./usr/include/iyonix/signal.h comp-c-include -./usr/include/iyonix/stdarg.h comp-obsolete obsolete -./usr/include/iyonix/sysarch.h comp-c-include -./usr/include/iyonix/trap.h comp-c-include -./usr/include/iyonix/types.h comp-c-include -./usr/include/iyonix/varargs.h comp-obsolete obsolete -./usr/include/iyonix/vmparam.h comp-c-include -./usr/include/iyonix/wchar_limits.h comp-c-include diff --git a/distrib/sets/lists/comp/md.landisk b/distrib/sets/lists/comp/md.landisk index efc336c90..34aa0b3cc 100644 --- a/distrib/sets/lists/comp/md.landisk +++ b/distrib/sets/lists/comp/md.landisk @@ -1,4 +1,4 @@ -# $NetBSD: md.landisk,v 1.4 2011/07/18 17:29:20 dyoung Exp $ +# $NetBSD: md.landisk,v 1.5 2013/08/11 22:29:02 joerg Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/landisk comp-c-include ./usr/include/landisk/ansi.h comp-c-include @@ -28,8 +28,8 @@ ./usr/include/landisk/int_types.h comp-c-include ./usr/include/landisk/intr.h comp-c-include ./usr/include/landisk/limits.h comp-c-include -./usr/include/landisk/lock.h comp-c-include ./usr/include/landisk/loadfile_machdep.h comp-c-include +./usr/include/landisk/lock.h comp-c-include ./usr/include/landisk/math.h comp-c-include ./usr/include/landisk/mcontext.h comp-c-include ./usr/include/landisk/mutex.h comp-c-include diff --git a/distrib/sets/lists/comp/md.macppc b/distrib/sets/lists/comp/md.macppc index c65be351e..fe0b3e3ef 100644 --- a/distrib/sets/lists/comp/md.macppc +++ b/distrib/sets/lists/comp/md.macppc @@ -1,4 +1,4 @@ -# $NetBSD: md.macppc,v 1.36 2012/04/06 22:46:16 christos Exp $ +# $NetBSD: md.macppc,v 1.38 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/macppc comp-c-include ./usr/include/macppc/_G_config.h comp-obsolete obsolete @@ -56,6 +56,7 @@ ./usr/include/macppc/rwlock.h comp-c-include ./usr/include/macppc/setjmp.h comp-c-include ./usr/include/macppc/signal.h comp-c-include +./usr/include/macppc/sljitarch.h comp-c-include ./usr/include/macppc/spr.h comp-obsolete obsolete ./usr/include/macppc/stdarg.h comp-obsolete obsolete ./usr/include/macppc/trap.h comp-c-include @@ -64,7 +65,3 @@ ./usr/include/macppc/vmparam.h comp-c-include ./usr/include/macppc/wchar_limits.h comp-c-include ./usr/include/macppc/z8530var.h comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.mipsco b/distrib/sets/lists/comp/md.mipsco index a109a70ab..879d3d4fd 100644 --- a/distrib/sets/lists/comp/md.mipsco +++ b/distrib/sets/lists/comp/md.mipsco @@ -1,4 +1,4 @@ -# $NetBSD: md.mipsco,v 1.20 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.mipsco,v 1.22 2013/01/16 16:01:06 christos Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/mipsco comp-c-include ./usr/include/mipsco/_G_config.h comp-obsolete obsolete @@ -54,6 +54,7 @@ ./usr/include/mipsco/rwlock.h comp-c-include ./usr/include/mipsco/setjmp.h comp-c-include ./usr/include/mipsco/signal.h comp-c-include +./usr/include/mipsco/sljitarch.h comp-c-include ./usr/include/mipsco/stdarg.h comp-obsolete obsolete ./usr/include/mipsco/sysconf.h comp-c-include ./usr/include/mipsco/trap.h comp-c-include @@ -62,4 +63,3 @@ ./usr/include/mipsco/vmparam.h comp-c-include ./usr/include/mipsco/wchar_limits.h comp-c-include ./usr/include/mipsco/z8530var.h comp-c-include -./usr/libdata/debug/usr/mdec/installboot.debug -unknown- debug diff --git a/distrib/sets/lists/comp/md.mmeye b/distrib/sets/lists/comp/md.mmeye index 7d7d07746..7fa34de1f 100644 --- a/distrib/sets/lists/comp/md.mmeye +++ b/distrib/sets/lists/comp/md.mmeye @@ -1,4 +1,4 @@ -# $NetBSD: md.mmeye,v 1.30 2011/07/19 15:17:20 dyoung Exp $ +# $NetBSD: md.mmeye,v 1.31 2013/01/16 16:01:06 christos Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/mmeye comp-c-include ./usr/include/mmeye/_G_config.h comp-obsolete obsolete @@ -59,5 +59,3 @@ ./usr/include/mmeye/vmparam.h comp-c-include ./usr/include/mmeye/wchar_limits.h comp-c-include ./usr/include/sh3/db_disasm.h comp-obsolete obsolete -./usr/libdata/debug/usr/mdec/bootelf.debug -unknown- debug -./usr/libdata/debug/usr/mdec/osloader.debug -unknown- debug diff --git a/distrib/sets/lists/comp/md.mvme68k b/distrib/sets/lists/comp/md.mvme68k index 269c3ee03..8a98131d3 100644 --- a/distrib/sets/lists/comp/md.mvme68k +++ b/distrib/sets/lists/comp/md.mvme68k @@ -1,4 +1,4 @@ -# $NetBSD: md.mvme68k,v 1.36 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.mvme68k,v 1.37 2013/01/16 16:01:06 christos Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/mvme68k comp-c-include ./usr/include/mvme68k/_G_config.h comp-obsolete obsolete @@ -52,5 +52,3 @@ ./usr/include/mvme68k/vmparam.h comp-c-include ./usr/include/mvme68k/wchar_limits.h comp-c-include ./usr/include/mvme68k/z8530var.h comp-c-include -./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete -./usr/libdata/debug/usr/mdec/installboot.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.mvmeppc b/distrib/sets/lists/comp/md.mvmeppc index d9772659a..df4a67b15 100644 --- a/distrib/sets/lists/comp/md.mvmeppc +++ b/distrib/sets/lists/comp/md.mvmeppc @@ -1,4 +1,4 @@ -# $NetBSD: md.mvmeppc,v 1.14 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.mvmeppc,v 1.15 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/mvmeppc comp-c-include ./usr/include/mvmeppc/_G_config.h comp-obsolete obsolete @@ -52,6 +52,7 @@ ./usr/include/mvmeppc/rwlock.h comp-c-include ./usr/include/mvmeppc/setjmp.h comp-c-include ./usr/include/mvmeppc/signal.h comp-c-include +./usr/include/mvmeppc/sljitarch.h comp-c-include ./usr/include/mvmeppc/spr.h comp-obsolete obsolete ./usr/include/mvmeppc/stdarg.h comp-obsolete obsolete ./usr/include/mvmeppc/trap.h comp-c-include diff --git a/distrib/sets/lists/comp/md.netwinder b/distrib/sets/lists/comp/md.netwinder deleted file mode 100644 index a152dbe9c..000000000 --- a/distrib/sets/lists/comp/md.netwinder +++ /dev/null @@ -1,50 +0,0 @@ -# $NetBSD: md.netwinder,v 1.14 2011/07/18 17:18:14 dyoung Exp $ -./usr/include/netwinder comp-c-include -./usr/include/netwinder/ansi.h comp-c-include -./usr/include/netwinder/aout_machdep.h comp-c-include -./usr/include/netwinder/asm.h comp-c-include -./usr/include/netwinder/bswap.h comp-c-include -./usr/include/netwinder/bus.h comp-obsolete obsolete -./usr/include/netwinder/cdefs.h comp-c-include -./usr/include/netwinder/cpu.h comp-c-include -./usr/include/netwinder/db_machdep.h comp-obsolete obsolete -./usr/include/netwinder/disklabel.h comp-c-include -./usr/include/netwinder/elf_machdep.h comp-c-include -./usr/include/netwinder/endian.h comp-c-include -./usr/include/netwinder/endian_machdep.h comp-c-include -./usr/include/netwinder/float.h comp-c-include -./usr/include/netwinder/fp.h comp-c-include -./usr/include/netwinder/frame.h comp-c-include -./usr/include/netwinder/ieee.h comp-c-include -./usr/include/netwinder/ieeefp.h comp-c-include -./usr/include/netwinder/int_const.h comp-c-include -./usr/include/netwinder/int_fmtio.h comp-c-include -./usr/include/netwinder/int_limits.h comp-c-include -./usr/include/netwinder/int_mwgwtypes.h comp-c-include -./usr/include/netwinder/int_types.h comp-c-include -./usr/include/netwinder/intr.h comp-c-include -./usr/include/netwinder/ipkdb.h comp-obsolete obsolete -./usr/include/netwinder/joystick.h comp-c-include -./usr/include/netwinder/limits.h comp-c-include -./usr/include/netwinder/lock.h comp-c-include -./usr/include/netwinder/math.h comp-c-include -./usr/include/netwinder/mcontext.h comp-c-include -./usr/include/netwinder/mutex.h comp-c-include -./usr/include/netwinder/param.h comp-c-include -./usr/include/netwinder/pcb.h comp-c-include -./usr/include/netwinder/pmap.h comp-c-include -./usr/include/netwinder/pmc.h comp-c-include -./usr/include/netwinder/proc.h comp-c-include -./usr/include/netwinder/profile.h comp-c-include -./usr/include/netwinder/ptrace.h comp-c-include -./usr/include/netwinder/reg.h comp-c-include -./usr/include/netwinder/rwlock.h comp-c-include -./usr/include/netwinder/setjmp.h comp-c-include -./usr/include/netwinder/signal.h comp-c-include -./usr/include/netwinder/stdarg.h comp-obsolete obsolete -./usr/include/netwinder/sysarch.h comp-c-include -./usr/include/netwinder/trap.h comp-c-include -./usr/include/netwinder/types.h comp-c-include -./usr/include/netwinder/varargs.h comp-obsolete obsolete -./usr/include/netwinder/vmparam.h comp-c-include -./usr/include/netwinder/wchar_limits.h comp-c-include diff --git a/distrib/sets/lists/comp/md.newsmips b/distrib/sets/lists/comp/md.newsmips index 8f7635e71..7e94fe44c 100644 --- a/distrib/sets/lists/comp/md.newsmips +++ b/distrib/sets/lists/comp/md.newsmips @@ -1,4 +1,4 @@ -# $NetBSD: md.newsmips,v 1.29 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.newsmips,v 1.30 2012/11/25 21:55:50 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/newsmips comp-c-include ./usr/include/newsmips/_G_config.h comp-obsolete obsolete @@ -57,6 +57,7 @@ ./usr/include/newsmips/rwlock.h comp-c-include ./usr/include/newsmips/setjmp.h comp-c-include ./usr/include/newsmips/signal.h comp-c-include +./usr/include/newsmips/sljitarch.h comp-c-include ./usr/include/newsmips/stdarg.h comp-obsolete obsolete ./usr/include/newsmips/trap.h comp-c-include ./usr/include/newsmips/types.h comp-c-include diff --git a/distrib/sets/lists/comp/md.ofppc b/distrib/sets/lists/comp/md.ofppc index 32729ff49..4ef6013d1 100644 --- a/distrib/sets/lists/comp/md.ofppc +++ b/distrib/sets/lists/comp/md.ofppc @@ -1,4 +1,4 @@ -# $NetBSD: md.ofppc,v 1.13 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.ofppc,v 1.15 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/ofppc comp-c-include ./usr/include/ofppc/_G_config.h comp-obsolete obsolete @@ -47,6 +47,7 @@ ./usr/include/ofppc/rwlock.h comp-c-include ./usr/include/ofppc/setjmp.h comp-c-include ./usr/include/ofppc/signal.h comp-c-include +./usr/include/ofppc/sljitarch.h comp-c-include ./usr/include/ofppc/spr.h comp-obsolete obsolete ./usr/include/ofppc/stdarg.h comp-obsolete obsolete ./usr/include/ofppc/trap.h comp-c-include @@ -54,4 +55,3 @@ ./usr/include/ofppc/varargs.h comp-obsolete obsolete ./usr/include/ofppc/vmparam.h comp-c-include ./usr/include/ofppc/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.prep b/distrib/sets/lists/comp/md.prep index a9dc7a264..c6372ec63 100644 --- a/distrib/sets/lists/comp/md.prep +++ b/distrib/sets/lists/comp/md.prep @@ -1,4 +1,4 @@ -# $NetBSD: md.prep,v 1.27 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.prep,v 1.29 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/prep comp-c-include ./usr/include/prep/_G_config.h comp-obsolete obsolete @@ -54,6 +54,7 @@ ./usr/include/prep/rwlock.h comp-c-include ./usr/include/prep/setjmp.h comp-c-include ./usr/include/prep/signal.h comp-c-include +./usr/include/prep/sljitarch.h comp-c-include ./usr/include/prep/spkr.h comp-c-include ./usr/include/prep/spr.h comp-obsolete obsolete ./usr/include/prep/stdarg.h comp-obsolete obsolete @@ -62,5 +63,3 @@ ./usr/include/prep/varargs.h comp-obsolete obsolete ./usr/include/prep/vmparam.h comp-c-include ./usr/include/prep/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.rs6000 b/distrib/sets/lists/comp/md.rs6000 index 3d3fcd46f..d766b3d71 100644 --- a/distrib/sets/lists/comp/md.rs6000 +++ b/distrib/sets/lists/comp/md.rs6000 @@ -1,4 +1,4 @@ -# $NetBSD: md.rs6000,v 1.5 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.rs6000,v 1.7 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/rs6000 comp-c-include ./usr/include/rs6000/ansi.h comp-c-include @@ -44,6 +44,7 @@ ./usr/include/rs6000/rwlock.h comp-c-include ./usr/include/rs6000/setjmp.h comp-c-include ./usr/include/rs6000/signal.h comp-c-include +./usr/include/rs6000/sljitarch.h comp-c-include ./usr/include/rs6000/spr.h comp-obsolete obsolete ./usr/include/rs6000/stdarg.h comp-obsolete obsolete ./usr/include/rs6000/trap.h comp-c-include @@ -51,4 +52,3 @@ ./usr/include/rs6000/varargs.h comp-obsolete obsolete ./usr/include/rs6000/vmparam.h comp-c-include ./usr/include/rs6000/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.sandpoint b/distrib/sets/lists/comp/md.sandpoint index c82d97a21..c7f6371c9 100644 --- a/distrib/sets/lists/comp/md.sandpoint +++ b/distrib/sets/lists/comp/md.sandpoint @@ -1,4 +1,4 @@ -# $NetBSD: md.sandpoint,v 1.16 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.sandpoint,v 1.17 2013/11/17 14:34:11 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/sandpoint comp-c-include ./usr/include/sandpoint/_G_config.h comp-obsolete obsolete @@ -53,6 +53,7 @@ ./usr/include/sandpoint/rwlock.h comp-c-include ./usr/include/sandpoint/setjmp.h comp-c-include ./usr/include/sandpoint/signal.h comp-c-include +./usr/include/sandpoint/sljitarch.h comp-c-include ./usr/include/sandpoint/spr.h comp-obsolete obsolete ./usr/include/sandpoint/stdarg.h comp-obsolete obsolete ./usr/include/sandpoint/trap.h comp-c-include diff --git a/distrib/sets/lists/comp/md.sbmips b/distrib/sets/lists/comp/md.sbmips index 494a0b44a..198f229a1 100644 --- a/distrib/sets/lists/comp/md.sbmips +++ b/distrib/sets/lists/comp/md.sbmips @@ -1,4 +1,4 @@ -# $NetBSD: md.sbmips,v 1.14 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.sbmips,v 1.15 2012/11/25 21:55:50 alnsn Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/sbmips comp-c-include ./usr/include/sbmips/_G_config.h comp-obsolete obsolete @@ -48,6 +48,7 @@ ./usr/include/sbmips/rwlock.h comp-c-include ./usr/include/sbmips/setjmp.h comp-c-include ./usr/include/sbmips/signal.h comp-c-include +./usr/include/sbmips/sljitarch.h comp-c-include ./usr/include/sbmips/stdarg.h comp-obsolete obsolete ./usr/include/sbmips/trap.h comp-c-include ./usr/include/sbmips/types.h comp-c-include diff --git a/distrib/sets/lists/comp/md.sgimips b/distrib/sets/lists/comp/md.sgimips index 6f41eacf8..4afd95c89 100644 --- a/distrib/sets/lists/comp/md.sgimips +++ b/distrib/sets/lists/comp/md.sgimips @@ -1,4 +1,4 @@ -# $NetBSD: md.sgimips,v 1.17 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.sgimips,v 1.19 2013/01/16 16:01:06 christos Exp $ ./usr/include/dev/crmfbreg.h comp-c-include ./usr/include/ieeefp.h comp-c-include ./usr/include/sgimips comp-c-include @@ -53,6 +53,7 @@ ./usr/include/sgimips/rwlock.h comp-c-include ./usr/include/sgimips/setjmp.h comp-c-include ./usr/include/sgimips/signal.h comp-c-include +./usr/include/sgimips/sljitarch.h comp-c-include ./usr/include/sgimips/stdarg.h comp-obsolete obsolete ./usr/include/sgimips/trap.h comp-c-include ./usr/include/sgimips/types.h comp-c-include @@ -60,4 +61,3 @@ ./usr/include/sgimips/vmparam.h comp-c-include ./usr/include/sgimips/wchar_limits.h comp-c-include ./usr/include/sgimips/z8530var.h comp-c-include -./usr/libdata/debug/usr/mdec/sgivol.debug -unknown- debug diff --git a/distrib/sets/lists/comp/md.shark b/distrib/sets/lists/comp/md.shark deleted file mode 100644 index ef08d480a..000000000 --- a/distrib/sets/lists/comp/md.shark +++ /dev/null @@ -1,55 +0,0 @@ -# $NetBSD: md.shark,v 1.20 2011/12/19 15:09:52 njoly Exp $ -./usr/include/ieeefp.h comp-c-include -./usr/include/shark comp-c-include -./usr/include/shark/ansi.h comp-c-include -./usr/include/shark/aout_machdep.h comp-c-include -./usr/include/shark/asm.h comp-c-include -./usr/include/shark/bswap.h comp-c-include -./usr/include/shark/bus.h comp-obsolete obsolete -./usr/include/shark/cdefs.h comp-c-include -./usr/include/shark/cpu.h comp-c-include -./usr/include/shark/db_machdep.h comp-obsolete obsolete -./usr/include/shark/devmap.h comp-c-include -./usr/include/shark/disklabel.h comp-c-include -./usr/include/shark/elf_machdep.h comp-c-include -./usr/include/shark/endian.h comp-c-include -./usr/include/shark/endian_machdep.h comp-c-include -./usr/include/shark/float.h comp-c-include -./usr/include/shark/fp.h comp-c-include -./usr/include/shark/frame.h comp-c-include -./usr/include/shark/ieee.h comp-c-include -./usr/include/shark/ieeefp.h comp-c-include -./usr/include/shark/int_const.h comp-c-include -./usr/include/shark/int_fmtio.h comp-c-include -./usr/include/shark/int_limits.h comp-c-include -./usr/include/shark/int_mwgwtypes.h comp-c-include -./usr/include/shark/int_types.h comp-c-include -./usr/include/shark/intr.h comp-c-include -./usr/include/shark/ipkdb.h comp-obsolete obsolete -./usr/include/shark/joystick.h comp-c-include -./usr/include/shark/limits.h comp-c-include -./usr/include/shark/lock.h comp-c-include -./usr/include/shark/math.h comp-c-include -./usr/include/shark/mcontext.h comp-c-include -./usr/include/shark/mutex.h comp-c-include -./usr/include/shark/param.h comp-c-include -./usr/include/shark/pcb.h comp-c-include -./usr/include/shark/pmap.h comp-c-include -./usr/include/shark/pmc.h comp-c-include -./usr/include/shark/proc.h comp-c-include -./usr/include/shark/profile.h comp-c-include -./usr/include/shark/ptrace.h comp-c-include -./usr/include/shark/reg.h comp-c-include -./usr/include/shark/rwlock.h comp-c-include -./usr/include/shark/setjmp.h comp-c-include -./usr/include/shark/signal.h comp-c-include -./usr/include/shark/stdarg.h comp-obsolete obsolete -./usr/include/shark/sysarch.h comp-c-include -./usr/include/shark/trap.h comp-c-include -./usr/include/shark/types.h comp-c-include -./usr/include/shark/varargs.h comp-obsolete obsolete -./usr/include/shark/vmparam.h comp-c-include -./usr/include/shark/wchar_limits.h comp-c-include -./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic -./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.sparc b/distrib/sets/lists/comp/md.sparc index 07e6fd127..a7e79172b 100644 --- a/distrib/sets/lists/comp/md.sparc +++ b/distrib/sets/lists/comp/md.sparc @@ -1,5 +1,7 @@ -# $NetBSD: md.sparc,v 1.76 2011/07/17 20:54:31 joerg Exp $ +# $NetBSD: md.sparc,v 1.82 2013/11/06 00:53:39 mrg Exp $ ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/visintrin.h comp-c-include gcccmds,gcc=48 ./usr/include/ieeefp.h comp-c-include ./usr/include/sparc comp-c-include ./usr/include/sparc/_G_config.h comp-obsolete obsolete @@ -57,7 +59,9 @@ ./usr/include/sparc/rwlock.h comp-c-include ./usr/include/sparc/setjmp.h comp-c-include ./usr/include/sparc/signal.h comp-c-include +./usr/include/sparc/sljitarch.h comp-c-include ./usr/include/sparc/stdarg.h comp-obsolete obsolete +./usr/include/sparc/sxreg.h comp-c-include ./usr/include/sparc/tctrl.h comp-c-include ./usr/include/sparc/trap.h comp-c-include ./usr/include/sparc/types.h comp-c-include @@ -95,12 +99,12 @@ ./usr/include/sparc64/ieee.h comp-c-include ./usr/include/sparc64/ieeefp.h comp-c-include ./usr/include/sparc64/instr.h comp-c-include -./usr/include/sparc64/intr.h comp-c-include ./usr/include/sparc64/int_const.h comp-c-include ./usr/include/sparc64/int_fmtio.h comp-c-include ./usr/include/sparc64/int_limits.h comp-c-include ./usr/include/sparc64/int_mwgwtypes.h comp-c-include ./usr/include/sparc64/int_types.h comp-c-include +./usr/include/sparc64/intr.h comp-c-include ./usr/include/sparc64/joystick.h comp-c-include ./usr/include/sparc64/kbd.h comp-c-include ./usr/include/sparc64/kbio.h comp-c-include @@ -136,12 +140,3 @@ ./usr/include/sparc64/vuid_event.h comp-c-include ./usr/include/sparc64/wchar_limits.h comp-c-include ./usr/include/sparc64/z8530var.h comp-c-include -./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete -./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/libsparc_v8.so.0.0.debug comp-sys-debug debug,pic -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/tadpolectl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.sparc64 b/distrib/sets/lists/comp/md.sparc64 index 37155f39a..be69013ef 100644 --- a/distrib/sets/lists/comp/md.sparc64 +++ b/distrib/sets/lists/comp/md.sparc64 @@ -1,5 +1,11 @@ -# $NetBSD: md.sparc64,v 1.157 2012/09/16 18:59:25 tls Exp $ +# $NetBSD: md.sparc64,v 1.176 2013/11/14 12:19:35 martin Exp $ +./usr/include/g++/bits/sparc comp-c-include +./usr/include/g++/bits/sparc/c++config.h comp-c-include gcccmds,gcc=48,compat +./usr/include/g++/bits/sparc64 comp-c-include +./usr/include/g++/bits/sparc64/c++config.h comp-c-include gcccmds,gcc=48,compat ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/gcc-4.8/visintrin.h comp-c-include gcccmds,gcc=48 ./usr/include/ieeefp.h comp-c-include ./usr/include/sparc comp-c-include ./usr/include/sparc/_G_config.h comp-obsolete obsolete @@ -57,6 +63,7 @@ ./usr/include/sparc/rwlock.h comp-c-include ./usr/include/sparc/setjmp.h comp-c-include ./usr/include/sparc/signal.h comp-c-include +./usr/include/sparc/sljitarch.h comp-c-include ./usr/include/sparc/stdarg.h comp-obsolete obsolete ./usr/include/sparc/tctrl.h comp-c-include ./usr/include/sparc/trap.h comp-c-include @@ -136,6 +143,9 @@ ./usr/include/sparc64/vuid_event.h comp-c-include ./usr/include/sparc64/wchar_limits.h comp-c-include ./usr/include/sparc64/z8530var.h comp-c-include +./usr/lib/sparc_mcmedany.o comp-c-lib +./usr/lib/sparc_mcmedlow.o comp-c-lib +./usr/lib/sparc_mcmedmid.o comp-c-lib ./usr/lib/sparc/crt0.o comp-c-lib compat ./usr/lib/sparc/crtbegin.o comp-c-lib compat ./usr/lib/sparc/crtbeginS.o comp-c-lib compat,pic @@ -147,524 +157,440 @@ ./usr/lib/sparc/gcrt0.o comp-c-lib compat ./usr/lib/sparc/i18n/libBIG5.a comp-c-lib compat ./usr/lib/sparc/i18n/libBIG5.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libBIG5_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libBIG5_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libBIG5_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libDECHanyu.a comp-c-lib compat ./usr/lib/sparc/i18n/libDECHanyu.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libDECHanyu_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libDECHanyu_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libDECHanyu_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libEUC.a comp-c-lib compat ./usr/lib/sparc/i18n/libEUC.so base-sys-shlib compat,pic ./usr/lib/sparc/i18n/libEUCTW.a comp-c-lib compat ./usr/lib/sparc/i18n/libEUCTW.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libEUCTW_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libEUCTW_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libEUCTW_pic.a comp-obsolete obsolete -./usr/lib/sparc/i18n/libEUC_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libEUC_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libEUC_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libGBK2K.a comp-c-lib compat ./usr/lib/sparc/i18n/libGBK2K.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libGBK2K_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libGBK2K_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libGBK2K_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libHZ.a comp-c-lib compat ./usr/lib/sparc/i18n/libHZ.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libHZ_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libHZ_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libHZ_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libISO2022.a comp-c-lib compat ./usr/lib/sparc/i18n/libISO2022.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libISO2022_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libISO2022_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libISO2022_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libJOHAB.a comp-c-lib compat ./usr/lib/sparc/i18n/libJOHAB.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libJOHAB_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libJOHAB_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libJOHAB_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libMSKanji.a comp-c-lib compat ./usr/lib/sparc/i18n/libMSKanji.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libMSKanji_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libMSKanji_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libMSKanji_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUES.a comp-c-lib compat ./usr/lib/sparc/i18n/libUES.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libUES_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUES_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUES_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF1632.a comp-c-lib compat ./usr/lib/sparc/i18n/libUTF1632.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libUTF1632_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF1632_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF1632_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF7.a comp-c-lib compat ./usr/lib/sparc/i18n/libUTF7.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libUTF7_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF7_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF7_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF8.a comp-c-lib compat ./usr/lib/sparc/i18n/libUTF8.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libUTF8_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF8_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libUTF8_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libVIQR.a comp-c-lib compat ./usr/lib/sparc/i18n/libVIQR.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libVIQR_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libVIQR_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libVIQR_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libZW.a comp-c-lib compat ./usr/lib/sparc/i18n/libZW.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libZW_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libZW_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libZW_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libiconv_none.a comp-c-lib compat ./usr/lib/sparc/i18n/libiconv_none.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libiconv_none_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libiconv_none_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libiconv_none_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libiconv_std.a comp-c-lib compat ./usr/lib/sparc/i18n/libiconv_std.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libiconv_std_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libiconv_std_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libiconv_std_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_646.a comp-c-lib compat ./usr/lib/sparc/i18n/libmapper_646.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libmapper_646_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_646_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_646_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_none.a comp-c-lib compat ./usr/lib/sparc/i18n/libmapper_none.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libmapper_none_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_none_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_none_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_parallel.a comp-c-lib compat ./usr/lib/sparc/i18n/libmapper_parallel.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libmapper_parallel_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_parallel_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_parallel_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_serial.a comp-c-lib compat ./usr/lib/sparc/i18n/libmapper_serial.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libmapper_serial_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_serial_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_serial_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_std.a comp-c-lib compat ./usr/lib/sparc/i18n/libmapper_std.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libmapper_std_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_std_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_std_pic.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_zone.a comp-c-lib compat ./usr/lib/sparc/i18n/libmapper_zone.so base-sys-shlib compat,pic -./usr/lib/sparc/i18n/libmapper_zone_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_zone_p.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libmapper_zone_pic.a comp-obsolete obsolete -./usr/lib/sparc/libamu_g.a -unknown- compat,debuglib ./usr/lib/sparc/libarchive.a comp-c-lib compat ./usr/lib/sparc/libarchive.so base-sys-shlib compat,pic -./usr/lib/sparc/libarchive_g.a -unknown- compat,debuglib ./usr/lib/sparc/libarchive_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libarchive_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libasn1.a comp-c-lib compat,kerberos ./usr/lib/sparc/libasn1.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libasn1_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libasn1_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libasn1_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libatf-c++.a comp-c-lib compat,atf ./usr/lib/sparc/libatf-c++.so base-sys-shlib compat,pic,atf -./usr/lib/sparc/libatf-c++_g.a -unknown- compat,debuglib,atf ./usr/lib/sparc/libatf-c++_p.a comp-c-proflib compat,profile,atf ./usr/lib/sparc/libatf-c++_pic.a comp-c-piclib compat,pic,atf ./usr/lib/sparc/libatf-c.a comp-c-lib compat,atf ./usr/lib/sparc/libatf-c.so base-sys-shlib compat,pic,atf -./usr/lib/sparc/libatf-c_g.a -unknown- compat,debuglib,atf ./usr/lib/sparc/libatf-c_p.a comp-c-proflib compat,profile,atf ./usr/lib/sparc/libatf-c_pic.a comp-c-piclib compat,pic,atf ./usr/lib/sparc/libbfd.a comp-obsolete obsolete ./usr/lib/sparc/libbfd.so base-obsolete obsolete -./usr/lib/sparc/libbfd_g.a comp-obsolete obsolete ./usr/lib/sparc/libbfd_p.a comp-obsolete obsolete ./usr/lib/sparc/libbfd_pic.a comp-obsolete obsolete ./usr/lib/sparc/libbind9.a comp-c-lib compat ./usr/lib/sparc/libbind9.so base-sys-shlib compat,pic -./usr/lib/sparc/libbind9_g.a -unknown- compat,debuglib ./usr/lib/sparc/libbind9_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libbind9_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libbluetooth.a comp-c-lib compat ./usr/lib/sparc/libbluetooth.so base-sys-shlib compat,pic -./usr/lib/sparc/libbluetooth_g.a -unknown- compat,debuglib ./usr/lib/sparc/libbluetooth_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libbluetooth_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libbsdmalloc.a comp-c-lib compat ./usr/lib/sparc/libbsdmalloc.so base-sys-shlib compat,pic -./usr/lib/sparc/libbsdmalloc_g.a -unknown- compat,debuglib ./usr/lib/sparc/libbsdmalloc_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libbsdmalloc_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libbz2.a comp-c-lib compat ./usr/lib/sparc/libbz2.so base-sys-shlib compat,pic -./usr/lib/sparc/libbz2_g.a -unknown- compat,debuglib ./usr/lib/sparc/libbz2_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libbz2_pic.a comp-c-piclib compat,pic +./usr/lib/sparc/libc++.a comp-c-lib compat,libcxx +./usr/lib/sparc/libc++.so comp-sys-shlib compat,pic,libcxx +./usr/lib/sparc/libc++_p.a comp-c-proflib compat,profile,libcxx +./usr/lib/sparc/libc++_pic.a comp-c-piclib compat,pic,libcxx ./usr/lib/sparc/libc.a comp-c-lib compat ./usr/lib/sparc/libc.so base-sys-shlib compat,pic -./usr/lib/sparc/libc_g.a -unknown- compat,debuglib ./usr/lib/sparc/libc_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libc_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libcom_err.a comp-c-lib compat,kerberos ./usr/lib/sparc/libcom_err.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libcom_err_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libcom_err_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libcom_err_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libcompat.a comp-c-lib compat -./usr/lib/sparc/libcompat_g.a -unknown- compat,debuglib ./usr/lib/sparc/libcompat_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libcompat_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libcrypt.a comp-c-lib compat ./usr/lib/sparc/libcrypt.so base-sys-shlib compat,pic -./usr/lib/sparc/libcrypt_g.a -unknown- compat,debuglib ./usr/lib/sparc/libcrypt_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libcrypt_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libcrypto.a comp-c-lib compat,crypto -./usr/lib/sparc/libcrypto_g.a comp-c-proflib compat,crypto,debuglib ./usr/lib/sparc/libcrypto.so base-sys-shlib compat,crypto,pic -./usr/lib/sparc/libcrypto_p.a comp-c-proflib compat,crypto,profile -./usr/lib/sparc/libcrypto_pic.a comp-c-piclib compat,crypto,pic ./usr/lib/sparc/libcrypto_idea.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_idea.so base-obsolete obsolete -./usr/lib/sparc/libcrypto_idea_g.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_idea_p.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_idea_pic.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_mdc2.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_mdc2.so base-obsolete obsolete -./usr/lib/sparc/libcrypto_mdc2_g.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_mdc2_p.a comp-obsolete obsolete ./usr/lib/sparc/libcrypto_mdc2_pic.a comp-obsolete obsolete +./usr/lib/sparc/libcrypto_p.a comp-c-proflib compat,crypto,profile +./usr/lib/sparc/libcrypto_pic.a comp-c-piclib compat,crypto,pic ./usr/lib/sparc/libcrypto_rc5.a comp-c-lib crypto_rc5,compat ./usr/lib/sparc/libcrypto_rc5.so base-sys-shlib compat,crypto,crypto_rc5,pic -./usr/lib/sparc/libcrypto_rc5_g.a comp-c-proflib compat,crypto,crypto_rc5,debuglib ./usr/lib/sparc/libcrypto_rc5_p.a comp-c-proflib crypto_rc5,compat,profile ./usr/lib/sparc/libcrypto_rc5_pic.a comp-c-piclib compat,crypto,crypto_rc5,pic ./usr/lib/sparc/libcurses.a comp-c-lib compat ./usr/lib/sparc/libcurses.so base-sys-shlib compat,pic -./usr/lib/sparc/libcurses_g.a -unknown- compat,debuglib ./usr/lib/sparc/libcurses_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libcurses_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libdes.a comp-c-lib compat,crypto ./usr/lib/sparc/libdes.so base-sys-shlib compat,pic,crypto -./usr/lib/sparc/libdes_g.a -unknown- compat,debuglib,crypto ./usr/lib/sparc/libdes_p.a comp-c-proflib compat,profile,crypto ./usr/lib/sparc/libdes_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/sparc/libdevmapper.a comp-c-lib compat,lvm ./usr/lib/sparc/libdevmapper.so base-sys-shlib compat,pic,lvm -./usr/lib/sparc/libdevmapper_g.a -unknown- compat,debuglib,lvm ./usr/lib/sparc/libdevmapper_p.a comp-c-proflib compat,profile,lvm ./usr/lib/sparc/libdevmapper_pic.a comp-c-piclib compat,pic,lvm ./usr/lib/sparc/libdm.a comp-c-lib compat ./usr/lib/sparc/libdm.so base-sys-shlib compat,pic -./usr/lib/sparc/libdm_g.a -unknown- compat,debuglib ./usr/lib/sparc/libdm_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libdm_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libdns.a comp-c-lib compat ./usr/lib/sparc/libdns.so base-sys-shlib compat,pic -./usr/lib/sparc/libdns_g.a -unknown- compat,debuglib ./usr/lib/sparc/libdns_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libdns_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libdns_sd.a comp-c-lib compat,mdns ./usr/lib/sparc/libdns_sd.so base-mdns-shlib compat,pic,mdns -./usr/lib/sparc/libdns_sd_g.a -unknown- compat,debuglib,mdns ./usr/lib/sparc/libdns_sd_p.a comp-c-proflib compat,profile,mdns ./usr/lib/sparc/libdns_sd_pic.a comp-c-piclib compat,pic,mdns ./usr/lib/sparc/libdwarf.a comp-c-lib compat ./usr/lib/sparc/libdwarf.so base-sys-shlib compat,pic -./usr/lib/sparc/libdwarf_g.a -unknown- compat,debuglib ./usr/lib/sparc/libdwarf_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libdwarf_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libedit.a comp-c-lib compat ./usr/lib/sparc/libedit.so base-sys-shlib compat,pic -./usr/lib/sparc/libedit_g.a -unknown- compat,debuglib ./usr/lib/sparc/libedit_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libedit_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libelf.a comp-c-lib compat ./usr/lib/sparc/libelf.so base-sys-shlib compat,pic -./usr/lib/sparc/libelf_g.a -unknown- compat,debuglib ./usr/lib/sparc/libelf_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libelf_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libevent.a comp-c-lib compat ./usr/lib/sparc/libevent.so base-sys-shlib compat,pic -./usr/lib/sparc/libevent_g.a -unknown- compat,debuglib +./usr/lib/sparc/libevent_openssl.a comp-c-lib compat,crypto +./usr/lib/sparc/libevent_openssl.so base-sys-shlib compat,pic,crypto +./usr/lib/sparc/libevent_openssl_p.a comp-c-proflib compat,profile,crypto +./usr/lib/sparc/libevent_openssl_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/sparc/libevent_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libevent_pic.a comp-c-piclib compat,pic +./usr/lib/sparc/libevent_pthreads.a comp-c-lib compat +./usr/lib/sparc/libevent_pthreads.so base-sys-shlib compat,pic +./usr/lib/sparc/libevent_pthreads_p.a comp-c-proflib compat,profile +./usr/lib/sparc/libevent_pthreads_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libexecinfo.a comp-c-lib compat ./usr/lib/sparc/libexecinfo.so base-sys-shlib compat,pic -./usr/lib/sparc/libexecinfo_g.a -unknown- compat,debuglib ./usr/lib/sparc/libexecinfo_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libexecinfo_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libexpat.a comp-c-lib compat ./usr/lib/sparc/libexpat.so base-sys-shlib compat,pic -./usr/lib/sparc/libexpat_g.a -unknown- compat,debuglib ./usr/lib/sparc/libexpat_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libexpat_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libfetch.a comp-c-lib compat ./usr/lib/sparc/libfetch.so base-sys-shlib compat,pic -./usr/lib/sparc/libfetch_g.a -unknown- compat,debuglib ./usr/lib/sparc/libfetch_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libfetch_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libfl.a comp-c-lib compat -./usr/lib/sparc/libfl_g.a -unknown- compat,debuglib ./usr/lib/sparc/libfl_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libform.a comp-c-lib compat ./usr/lib/sparc/libform.so base-sys-shlib compat,pic -./usr/lib/sparc/libform_g.a -unknown- compat,debuglib ./usr/lib/sparc/libform_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libform_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libgcc.a comp-c-lib compat,gcccmds ./usr/lib/sparc/libgcc_eh.a comp-c-lib compat,pic,gcccmds -./usr/lib/sparc/libgcc_eh_g.a -unknown- compat,debuglib,pic,gcccmds ./usr/lib/sparc/libgcc_eh_p.a comp-c-proflib obsolete ./usr/lib/sparc/libgcc_eh_pic.a comp-c-piclib obsolete -./usr/lib/sparc/libgcc_g.a -unknown- compat,debuglib,gcccmds ./usr/lib/sparc/libgcc_p.a comp-c-proflib obsolete ./usr/lib/sparc/libgcc_pic.a comp-c-piclib obsolete ./usr/lib/sparc/libgcc_s.a comp-obsolete obsolete ./usr/lib/sparc/libgcc_s.so base-sys-shlib compat,pic,gcccmds -./usr/lib/sparc/libgcc_s_g.a comp-obsolete obsolete ./usr/lib/sparc/libgcc_s_p.a comp-obsolete obsolete ./usr/lib/sparc/libgcc_s_pic.a comp-obsolete obsolete ./usr/lib/sparc/libgcov.a comp-c-lib compat,gcccmds -./usr/lib/sparc/libgcov_g.a comp-obsolete obsolete ./usr/lib/sparc/libgcov_p.a comp-obsolete obsolete ./usr/lib/sparc/libgcov_pic.a comp-obsolete obsolete ./usr/lib/sparc/libgmp.a comp-c-lib obsolete ./usr/lib/sparc/libgmp.so base-sys-shlib obsolete -./usr/lib/sparc/libgmp_g.a -unknown- obsolete ./usr/lib/sparc/libgmp_p.a comp-c-proflib obsolete ./usr/lib/sparc/libgmp_pic.a comp-c-piclib obsolete ./usr/lib/sparc/libgnumalloc.a comp-c-lib compat ./usr/lib/sparc/libgnumalloc.so base-sys-shlib compat,pic -./usr/lib/sparc/libgnumalloc_g.a -unknown- compat,debuglib ./usr/lib/sparc/libgnumalloc_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libgnumalloc_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libgomp.a comp-c-lib compat,gcc=45 ./usr/lib/sparc/libgomp.so base-sys-shlib compat,pic,gcc=45 -./usr/lib/sparc/libgomp_g.a -unknown- compat,debuglib,gcc=45 ./usr/lib/sparc/libgomp_p.a comp-c-proflib compat,profile,gcc=45 ./usr/lib/sparc/libgomp_pic.a comp-c-piclib compat,pic,gcc=45 +./usr/lib/sparc/libgomp.a comp-c-lib compat,gcc=48 +./usr/lib/sparc/libgomp.so base-sys-shlib compat,pic,gcc=48 +./usr/lib/sparc/libgomp_p.a comp-c-proflib compat,profile,gcc=48 +./usr/lib/sparc/libgomp_pic.a comp-c-piclib compat,pic,gcc=48 ./usr/lib/sparc/libgssapi.a comp-c-lib compat,kerberos ./usr/lib/sparc/libgssapi.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libgssapi_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libgssapi_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libgssapi_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libhdb.a comp-c-lib compat,kerberos ./usr/lib/sparc/libhdb.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libhdb_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libhdb_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libhdb_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libheimbase.a comp-c-lib compat,kerberos ./usr/lib/sparc/libheimbase.so comp-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libheimbase_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/sparc/libheimbase_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libheimbase_pic.a comp-c-proflib compat,pic,kerberos ./usr/lib/sparc/libheimntlm.a comp-c-lib compat,kerberos ./usr/lib/sparc/libheimntlm.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libheimntlm_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libheimntlm_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libheimntlm_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libhx509.a comp-c-lib compat,kerberos ./usr/lib/sparc/libhx509.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libhx509_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libhx509_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libhx509_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libiberty.a comp-obsolete obsolete -./usr/lib/sparc/libiberty_g.a comp-obsolete obsolete ./usr/lib/sparc/libiberty_p.a comp-obsolete obsolete ./usr/lib/sparc/libiberty_pic.a comp-obsolete obsolete ./usr/lib/sparc/libintl.a comp-c-lib compat ./usr/lib/sparc/libintl.so base-sys-shlib compat,pic -./usr/lib/sparc/libintl_g.a -unknown- compat,debuglib ./usr/lib/sparc/libintl_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libintl_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libipsec.a comp-c-lib compat ./usr/lib/sparc/libipsec.so base-sys-shlib compat,pic -./usr/lib/sparc/libipsec_g.a -unknown- compat,debuglib ./usr/lib/sparc/libipsec_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libipsec_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libisc.a comp-c-lib compat ./usr/lib/sparc/libisc.so base-sys-shlib compat,pic -./usr/lib/sparc/libisc_g.a -unknown- compat,debuglib ./usr/lib/sparc/libisc_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libisc_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libisccc.a comp-c-lib compat ./usr/lib/sparc/libisccc.so base-sys-shlib compat,pic -./usr/lib/sparc/libisccc_g.a -unknown- compat,debuglib ./usr/lib/sparc/libisccc_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libisccc_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libisccfg.a comp-c-lib compat ./usr/lib/sparc/libisccfg.so base-sys-shlib compat,pic -./usr/lib/sparc/libisccfg_g.a -unknown- compat,debuglib ./usr/lib/sparc/libisccfg_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libisccfg_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libiscsi.a comp-c-lib compat,iscsi ./usr/lib/sparc/libiscsi.so base-sys-shlib compat,pic,iscsi -./usr/lib/sparc/libiscsi_g.a -unknown- compat,debuglib,iscsi ./usr/lib/sparc/libiscsi_p.a comp-c-proflib compat,profile,iscsi ./usr/lib/sparc/libiscsi_pic.a comp-c-piclib compat,pic,iscsi ./usr/lib/sparc/libisns.a comp-c-lib compat ./usr/lib/sparc/libisns.so comp-sys-shlib compat -./usr/lib/sparc/libisns_g.a comp-c-piclib compat,debuglib ./usr/lib/sparc/libisns_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libisns_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libkadm5clnt.a comp-c-lib compat,kerberos ./usr/lib/sparc/libkadm5clnt.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libkadm5clnt_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libkadm5clnt_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libkadm5clnt_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libkadm5srv.a comp-c-lib compat,kerberos ./usr/lib/sparc/libkadm5srv.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libkadm5srv_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libkadm5srv_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libkadm5srv_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libkafs.a comp-c-lib compat,kerberos ./usr/lib/sparc/libkafs.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libkafs_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libkafs_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libkafs_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libkdc.a comp-c-lib compat,kerberos ./usr/lib/sparc/libkdc.so comp-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libkdc_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/sparc/libkdc_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libkdc_pic.a comp-c-proflib compat,pic,kerberos ./usr/lib/sparc/libkrb5.a comp-c-lib compat,kerberos ./usr/lib/sparc/libkrb5.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libkrb5_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libkrb5_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libkrb5_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libkvm.a comp-c-lib compat ./usr/lib/sparc/libkvm.so base-sys-shlib compat,pic -./usr/lib/sparc/libkvm_g.a -unknown- compat,debuglib ./usr/lib/sparc/libkvm_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libkvm_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libl.a comp-c-lib compat -./usr/lib/sparc/libl_g.a -unknown- compat,debuglib ./usr/lib/sparc/libl_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libl_pic.a comp-obsolete obsolete ./usr/lib/sparc/liblber.a comp-c-lib compat,ldap ./usr/lib/sparc/liblber.so base-sys-shlib compat,pic,ldap -./usr/lib/sparc/liblber_g.a -unknown- compat,debuglib,ldap ./usr/lib/sparc/liblber_p.a comp-c-proflib compat,profile,ldap ./usr/lib/sparc/liblber_pic.a comp-c-piclib compat,pic,ldap ./usr/lib/sparc/libldap.a comp-c-lib compat,ldap ./usr/lib/sparc/libldap.so base-sys-shlib compat,pic,ldap -./usr/lib/sparc/libldap_g.a -unknown- compat,debuglib,ldap ./usr/lib/sparc/libldap_p.a comp-c-proflib compat,profile,ldap ./usr/lib/sparc/libldap_pic.a comp-c-piclib compat,pic,ldap ./usr/lib/sparc/libldap_r.a comp-c-lib compat,ldap ./usr/lib/sparc/libldap_r.so base-sys-shlib compat,pic,ldap -./usr/lib/sparc/libldap_r_g.a -unknown- compat,debuglib,ldap ./usr/lib/sparc/libldap_r_p.a comp-c-proflib compat,profile,ldap ./usr/lib/sparc/libldap_r_pic.a comp-c-piclib compat,pic,ldap ./usr/lib/sparc/liblua.a comp-c-lib compat -./usr/lib/sparc/liblua_g.a -unknown- compat,debuglib ./usr/lib/sparc/liblua_p.a comp-c-proflib compat,profile ./usr/lib/sparc/liblua_pic.a comp-c-piclib compat,pic +./usr/lib/sparc/liblutok.a comp-c-lib compat,kyua +./usr/lib/sparc/liblutok_p.a comp-c-proflib compat,profile,kyua +./usr/lib/sparc/liblutok_pic.a comp-c-piclib compat,pic,kyua ./usr/lib/sparc/liblwres.a comp-c-lib compat ./usr/lib/sparc/liblwres.so base-sys-shlib compat,pic -./usr/lib/sparc/liblwres_g.a -unknown- compat,debuglib ./usr/lib/sparc/liblwres_p.a comp-c-proflib compat,profile ./usr/lib/sparc/liblwres_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/liblzf.a comp-c-lib compat ./usr/lib/sparc/liblzf.so base-sys-shlib compat,pic -./usr/lib/sparc/liblzf_g.a -unknown- compat,debuglib ./usr/lib/sparc/liblzf_p.a comp-c-proflib compat,profile ./usr/lib/sparc/liblzf_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/liblzma.a comp-c-lib compat ./usr/lib/sparc/liblzma.so base-sys-shlib compat,pic -./usr/lib/sparc/liblzma_g.a -unknown- compat,debuglib ./usr/lib/sparc/liblzma_p.a comp-c-proflib compat,profile ./usr/lib/sparc/liblzma_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libm.a comp-c-lib compat ./usr/lib/sparc/libm.so base-sys-shlib compat,pic -./usr/lib/sparc/libm_g.a -unknown- compat,debuglib ./usr/lib/sparc/libm_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libm_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libmagic.a comp-c-lib compat ./usr/lib/sparc/libmagic.so comp-sys-shlib compat,pic -./usr/lib/sparc/libmagic_g.a -unknown- compat,debuglib ./usr/lib/sparc/libmagic_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libmagic_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libmenu.a comp-c-lib compat ./usr/lib/sparc/libmenu.so base-sys-shlib compat,pic -./usr/lib/sparc/libmenu_g.a -unknown- compat,debuglib ./usr/lib/sparc/libmenu_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libmenu_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libmj.a comp-c-lib compat,crypto ./usr/lib/sparc/libmj.so comp-sys-shlib compat,pic,crypto -./usr/lib/sparc/libmj_g.a -unknown- compat,debuglib,crypto ./usr/lib/sparc/libmj_p.a comp-c-proflib compat,profile,crypto ./usr/lib/sparc/libmj_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/sparc/libmpc.a comp-c-lib obsolete ./usr/lib/sparc/libmpc.so base-sys-shlib obsolete -./usr/lib/sparc/libmpc_g.a -unknown- obsolete ./usr/lib/sparc/libmpc_p.a comp-c-proflib obsolete ./usr/lib/sparc/libmpc_pic.a comp-c-piclib obsolete ./usr/lib/sparc/libmpfr.a comp-c-lib obsolete ./usr/lib/sparc/libmpfr.so base-sys-shlib obsolete -./usr/lib/sparc/libmpfr_g.a -unknown- obsolete ./usr/lib/sparc/libmpfr_p.a comp-c-proflib obsolete ./usr/lib/sparc/libmpfr_pic.a comp-c-piclib obsolete ./usr/lib/sparc/libnetpgp.a comp-c-lib compat,crypto ./usr/lib/sparc/libnetpgp.so comp-sys-shlib compat,pic,crypto -./usr/lib/sparc/libnetpgp_g.a -unknown- compat,debuglib,crypto ./usr/lib/sparc/libnetpgp_p.a comp-c-proflib compat,profile,crypto ./usr/lib/sparc/libnetpgp_pic.a comp-c-piclib compat,pic,crypto +./usr/lib/sparc/libnetpgpverify.a comp-c-lib compat,crypto +./usr/lib/sparc/libnetpgpverify.so comp-sys-shlib compat,pic,crypto +./usr/lib/sparc/libnetpgpverify_p.a comp-c-proflib compat,profile,crypto +./usr/lib/sparc/libnetpgpverify_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/sparc/libnpf.a comp-c-lib compat,npf ./usr/lib/sparc/libnpf.so comp-sys-shlib compat,pic,npf -./usr/lib/sparc/libnpf_g.a -unknown- compat,debuglib,npf ./usr/lib/sparc/libnpf_p.a comp-c-proflib compat,profile,npf ./usr/lib/sparc/libnpf_pic.a comp-c-piclib compat,pic,npf ./usr/lib/sparc/libobjc.a comp-c-lib compat,gcccmds ./usr/lib/sparc/libobjc.so base-sys-shlib compat,pic,gcccmds -./usr/lib/sparc/libobjc_g.a -unknown- compat,debuglib,gcccmds ./usr/lib/sparc/libobjc_p.a comp-c-proflib compat,profile,gcccmds ./usr/lib/sparc/libobjc_pic.a comp-c-piclib compat,pic,gcccmds ./usr/lib/sparc/libopcodes.a comp-obsolete obsolete ./usr/lib/sparc/libopcodes.so base-obsolete obsolete -./usr/lib/sparc/libopcodes_g.a comp-obsolete obsolete ./usr/lib/sparc/libopcodes_p.a comp-obsolete obsolete ./usr/lib/sparc/libopcodes_pic.a comp-obsolete obsolete ./usr/lib/sparc/libossaudio.a comp-c-lib compat ./usr/lib/sparc/libossaudio.so base-sys-shlib compat,pic -./usr/lib/sparc/libossaudio_g.a -unknown- compat,debuglib ./usr/lib/sparc/libossaudio_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libossaudio_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libp2k.a comp-c-lib compat,rump ./usr/lib/sparc/libp2k.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/libp2k_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/libp2k_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/libp2k_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/libpam.a comp-c-lib compat ./usr/lib/sparc/libpam.so base-sys-shlib compat,pic -./usr/lib/sparc/libpam_g.a comp-obsolete obsolete ./usr/lib/sparc/libpam_p.a comp-obsolete obsolete ./usr/lib/sparc/libpam_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libpcap.a comp-c-lib compat ./usr/lib/sparc/libpcap.so base-sys-shlib compat,pic -./usr/lib/sparc/libpcap_g.a -unknown- compat,debuglib ./usr/lib/sparc/libpcap_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libpcap_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libpci.a comp-c-lib compat ./usr/lib/sparc/libpci.so base-sys-shlib compat,pic -./usr/lib/sparc/libpci_g.a -unknown- compat,debuglib ./usr/lib/sparc/libpci_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libpci_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libperfuse.a comp-c-lib compat ./usr/lib/sparc/libperfuse.so comp-sys-shlib compat,pic -./usr/lib/sparc/libperfuse_g.a comp-c-proflib compat,debuglib ./usr/lib/sparc/libperfuse_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libperfuse_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libposix.a comp-c-lib compat ./usr/lib/sparc/libposix.so base-sys-shlib compat,pic -./usr/lib/sparc/libposix_g.a -unknown- compat,debuglib ./usr/lib/sparc/libposix_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libposix_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libppath.a comp-c-lib compat @@ -673,353 +599,166 @@ ./usr/lib/sparc/libppath_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libprop.a comp-c-lib compat ./usr/lib/sparc/libprop.so base-sys-shlib compat,pic -./usr/lib/sparc/libprop_g.a -unknown- compat,debuglib ./usr/lib/sparc/libprop_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libprop_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libpthread.a comp-c-lib compat ./usr/lib/sparc/libpthread.so base-sys-shlib compat,pic ./usr/lib/sparc/libpthread_dbg.a comp-c-lib compat ./usr/lib/sparc/libpthread_dbg.so base-sys-shlib compat,pic -./usr/lib/sparc/libpthread_dbg_g.a -unknown- compat,debuglib ./usr/lib/sparc/libpthread_dbg_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libpthread_dbg_pic.a comp-c-piclib compat,pic -./usr/lib/sparc/libpthread_g.a -unknown- compat,debuglib ./usr/lib/sparc/libpthread_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libpthread_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libpuffs.a comp-c-lib compat ./usr/lib/sparc/libpuffs.so base-sys-shlib compat,pic -./usr/lib/sparc/libpuffs_g.a -unknown- compat,debuglib ./usr/lib/sparc/libpuffs_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libpuffs_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libquota.a comp-c-lib compat ./usr/lib/sparc/libquota.so base-sys-shlib compat,pic -./usr/lib/sparc/libquota_g.a -unknown- compat,debuglib ./usr/lib/sparc/libquota_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libquota_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libradius.a comp-c-lib compat ./usr/lib/sparc/libradius.so base-sys-shlib compat,pic -./usr/lib/sparc/libradius_g.a -unknown- compat,debuglib ./usr/lib/sparc/libradius_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libradius_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/librefuse.a comp-c-lib compat ./usr/lib/sparc/librefuse.so base-sys-shlib compat,pic -./usr/lib/sparc/librefuse_g.a -unknown- compat,debuglib ./usr/lib/sparc/librefuse_p.a comp-c-proflib compat,profile ./usr/lib/sparc/librefuse_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libresolv.a comp-c-lib compat ./usr/lib/sparc/libresolv.so base-sys-shlib compat,pic -./usr/lib/sparc/libresolv_g.a -unknown- compat,debuglib ./usr/lib/sparc/libresolv_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libresolv_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/librmt.a comp-c-lib compat -./usr/lib/sparc/librmt_g.a comp-obsolete obsolete ./usr/lib/sparc/librmt_p.a comp-obsolete obsolete ./usr/lib/sparc/librmt_pic.a comp-obsolete obsolete ./usr/lib/sparc/libroken.a comp-c-lib compat,kerberos ./usr/lib/sparc/libroken.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libroken_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libroken_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libroken_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/librpcsvc.a comp-c-lib compat ./usr/lib/sparc/librpcsvc.so base-sys-shlib compat,pic -./usr/lib/sparc/librpcsvc_g.a -unknown- compat,debuglib ./usr/lib/sparc/librpcsvc_p.a comp-c-proflib compat,profile ./usr/lib/sparc/librpcsvc_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/librt.a comp-c-lib compat ./usr/lib/sparc/librt.so base-sys-shlib compat,pic -./usr/lib/sparc/librt_g.a -unknown- compat,debuglib ./usr/lib/sparc/librt_p.a comp-c-proflib compat,profile ./usr/lib/sparc/librt_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/librump.a comp-c-lib compat,rump ./usr/lib/sparc/librump.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librump_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librump_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/librump_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/librumpclient.a comp-c-lib compat,rump ./usr/lib/sparc/librumpclient.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librumpclient_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librumpclient_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/librumpclient_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/librumpcrypto.a comp-obsolete obsolete,rump ./usr/lib/sparc/librumpcrypto.so base-obsolete obsolete,rump -./usr/lib/sparc/librumpcrypto_g.a comp-obsolete obsolete,rump ./usr/lib/sparc/librumpcrypto_p.a comp-obsolete obsolete,rump ./usr/lib/sparc/librumpcrypto_pic.a comp-obsolete obsolete,rump ./usr/lib/sparc/librumpdev.a comp-c-lib compat,rump ./usr/lib/sparc/librumpdev.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librumpdev_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librumpdev_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/librumpdev_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/librumphijack.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librumphijack_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librumphijack_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/librumpnet.a comp-c-lib compat,rump ./usr/lib/sparc/librumpnet.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librumpnet_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librumpnet_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/librumpnet_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/librumpuser.a comp-c-lib compat,rump ./usr/lib/sparc/librumpuser.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librumpuser_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librumpuser_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/librumpuser_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/librumpvfs.a comp-c-lib compat,rump ./usr/lib/sparc/librumpvfs.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/librumpvfs_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/librumpvfs_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/librumpvfs_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/libsaslc.a comp-c-lib compat,crypto ./usr/lib/sparc/libsaslc.so base-sys-shlib compat,pic,crypto -./usr/lib/sparc/libsaslc_g.a -unknown- compat,debuglib,crypto ./usr/lib/sparc/libsaslc_p.a comp-c-proflib compat,profile,crypto ./usr/lib/sparc/libsaslc_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/sparc/libsdp.a comp-obsolete obsolete ./usr/lib/sparc/libsdp.so base-obsolete obsolete -./usr/lib/sparc/libsdp_g.a comp-obsolete obsolete ./usr/lib/sparc/libsdp_p.a comp-obsolete obsolete ./usr/lib/sparc/libsdp_pic.a comp-obsolete obsolete ./usr/lib/sparc/libskey.a comp-c-lib compat,skey ./usr/lib/sparc/libskey.so base-sys-shlib compat,pic,skey -./usr/lib/sparc/libskey_g.a -unknown- compat,debuglib,skey ./usr/lib/sparc/libskey_p.a comp-c-proflib compat,profile,skey ./usr/lib/sparc/libskey_pic.a comp-c-piclib compat,pic,skey ./usr/lib/sparc/libsl.a comp-c-lib compat,kerberos ./usr/lib/sparc/libsl.so base-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libsl_g.a -unknown- compat,debuglib,kerberos ./usr/lib/sparc/libsl_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libsl_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libsqlite3.a comp-c-lib compat ./usr/lib/sparc/libsqlite3.so base-sys-shlib compat,pic -./usr/lib/sparc/libsqlite3_g.a -unknown- compat,debuglib ./usr/lib/sparc/libsqlite3_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libsqlite3_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libss.a comp-c-lib obsolete ./usr/lib/sparc/libss.so base-sys-shlib obsolete -./usr/lib/sparc/libss_g.a -unknown- obsolete ./usr/lib/sparc/libss_p.a comp-c-proflib obsolete ./usr/lib/sparc/libss_pic.a comp-c-piclib obsolete ./usr/lib/sparc/libssh.a comp-c-lib compat,crypto ./usr/lib/sparc/libssh.so base-sys-shlib compat,pic,crypto -./usr/lib/sparc/libssh_g.a -unknown- compat,debuglib,crypto ./usr/lib/sparc/libssh_p.a comp-c-proflib compat,profile,crypto ./usr/lib/sparc/libssh_pic.a comp-c-piclib compat,pic,crypto ./usr/lib/sparc/libssl.a comp-c-lib compat,crypto ./usr/lib/sparc/libssl.so base-sys-shlib compat,pic,crypto -./usr/lib/sparc/libssl_g.a -unknown- compat,debuglib,crypto ./usr/lib/sparc/libssl_p.a comp-c-proflib compat,profile,crypto ./usr/lib/sparc/libssl_pic.a comp-c-piclib compat,pic,crypto -./usr/lib/sparc/libstdc++.a comp-c-lib compat,cxx,gcccmds -./usr/lib/sparc/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds -./usr/lib/sparc/libstdc++_g.a -unknown- compat,debuglib,cxx,gcccmds -./usr/lib/sparc/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds -./usr/lib/sparc/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds -./usr/lib/sparc/libsupc++.a comp-c-lib compat,cxx,gcccmds +./usr/lib/sparc/libstdc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx +./usr/lib/sparc/libstdc++.so base-sys-shlib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/sparc/libstdc++_p.a comp-c-proflib compat,profile,cxx,gcccmds,libstdcxx +./usr/lib/sparc/libstdc++_pic.a comp-c-piclib compat,pic,cxx,gcccmds,libstdcxx +./usr/lib/sparc/libsupc++.a comp-c-lib compat,cxx,gcccmds,libstdcxx ./usr/lib/sparc/libsupc++.so base-obsolete obsolete -./usr/lib/sparc/libsupc++_g.a -unknown- compat,debuglib,gcccmds ./usr/lib/sparc/libsupc++_pic.a comp-obsolete obsolete ./usr/lib/sparc/libtermcap.a comp-c-lib compat ./usr/lib/sparc/libtermcap.so base-sys-shlib compat,pic -./usr/lib/sparc/libtermcap_g.a obsolete compat,obsolete ./usr/lib/sparc/libtermcap_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libtermcap_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libterminfo.a comp-c-lib compat ./usr/lib/sparc/libterminfo.so base-sys-shlib compat,pic -./usr/lib/sparc/libterminfo_g.a -unknown- compat,debuglib ./usr/lib/sparc/libterminfo_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libterminfo_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libtermlib.a comp-c-lib compat ./usr/lib/sparc/libtermlib.so base-sys-shlib compat,pic -./usr/lib/sparc/libtermlib_g.a obsolete compat,obsolete ./usr/lib/sparc/libtermlib_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libtermlib_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libtre.a comp-c-lib compat ./usr/lib/sparc/libtre.so base-sys-shlib compat,pic -./usr/lib/sparc/libtre_g.a obsolete compat,obsolete ./usr/lib/sparc/libtre_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libtre_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libukfs.a comp-c-lib compat,rump ./usr/lib/sparc/libukfs.so base-sys-shlib compat,pic,rump -./usr/lib/sparc/libukfs_g.a -unknown- compat,debuglib,rump ./usr/lib/sparc/libukfs_p.a comp-c-proflib compat,profile,rump ./usr/lib/sparc/libukfs_pic.a comp-c-piclib compat,pic,rump ./usr/lib/sparc/libusbhid.a comp-c-lib compat ./usr/lib/sparc/libusbhid.so base-sys-shlib compat,pic -./usr/lib/sparc/libusbhid_g.a -unknown- compat,debuglib ./usr/lib/sparc/libusbhid_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libusbhid_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libutil.a comp-c-lib compat ./usr/lib/sparc/libutil.so base-sys-shlib compat,pic -./usr/lib/sparc/libutil_g.a -unknown- compat,debuglib ./usr/lib/sparc/libutil_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libutil_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/libvers.a comp-obsolete obsolete -./usr/lib/sparc/libvers_g.a comp-obsolete obsolete ./usr/lib/sparc/libvers_p.a comp-obsolete obsolete ./usr/lib/sparc/libvers_pic.a comp-obsolete obsolete ./usr/lib/sparc/libwind.a comp-c-lib compat,kerberos ./usr/lib/sparc/libwind.so comp-sys-shlib compat,pic,kerberos -./usr/lib/sparc/libwind_g.a comp-c-proflib compat,debuglib,kerberos ./usr/lib/sparc/libwind_p.a comp-c-proflib compat,profile,kerberos ./usr/lib/sparc/libwind_pic.a comp-c-piclib compat,pic,kerberos ./usr/lib/sparc/libwrap.a comp-c-lib compat ./usr/lib/sparc/libwrap.so base-sys-shlib compat,pic -./usr/lib/sparc/libwrap_g.a -unknown- compat,debuglib ./usr/lib/sparc/libwrap_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libwrap_pic.a comp-c-piclib compat,pic ./usr/lib/sparc/liby.a comp-c-lib compat -./usr/lib/sparc/liby_g.a -unknown- compat,debuglib ./usr/lib/sparc/liby_p.a comp-c-proflib compat,profile ./usr/lib/sparc/liby_pic.a comp-obsolete obsolete ./usr/lib/sparc/libz.a comp-c-lib compat ./usr/lib/sparc/libz.so base-sys-shlib compat,pic -./usr/lib/sparc/libz_g.a -unknown- compat,debuglib ./usr/lib/sparc/libz_p.a comp-c-proflib compat,profile ./usr/lib/sparc/libz_pic.a comp-c-piclib compat,pic -./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete -./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug -./usr/libdata/debug/usr/lib/sparc/i18n/libBIG5.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libDECHanyu.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libEUC.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libEUCTW.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libGBK2K.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libHZ.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libISO2022.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libJOHAB.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libMSKanji.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libUES.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libUTF1632.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libUTF7.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libUTF8.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libVIQR.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libZW.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_none.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_std.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_646.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_none.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_parallel.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_serial.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_std.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_zone.so.5.0.debug comp-i18n-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libamu.so.4.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libarchive.so.3.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/sparc/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug -./usr/libdata/debug/usr/lib/sparc/libbfd.so.12.0.debug comp-compat-shlib compat,pic,binutils,debug -./usr/libdata/debug/usr/lib/sparc/libbind9.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libbluetooth.so.4.2.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libbsdmalloc.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libbz2.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libc.so.12.185.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libcrypt.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libcrypto.so.8.0.debug comp-compat-shlib compat,pic,debug,crypto -./usr/libdata/debug/usr/lib/sparc/libcurses.so.7.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libdes.so.8.1.debug comp-compat-shlib compat,pic,debug,crypto -./usr/libdata/debug/usr/lib/sparc/libdevmapper.so.1.0.debug comp-compat-shlib compat,pic,debug,lvm -./usr/libdata/debug/usr/lib/sparc/libdm.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libdns.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libdns_sd.so.0.0.debug comp-compat-shlib compat,pic,debug,mdns -./usr/libdata/debug/usr/lib/sparc/libdwarf.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libedit.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libelf.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libevent.so.3.2.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libexecinfo.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libexpat.so.2.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libfetch.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libform.so.6.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libgcc_s.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libgnumalloc.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libgomp.so.1.0.debug comp-compat-shlib compat,pic,debug,gcc=45 -./usr/libdata/debug/usr/lib/sparc/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libhx509.so.5.0.debug comp-compat-shlib compat,pic,debug,kerberos -./usr/libdata/debug/usr/lib/sparc/libintl.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libipsec.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libisc.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libisccc.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libisccfg.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libiscsi.so.2.0.debug comp-compat-shlib compat,pic,debug,iscsi -./usr/libdata/debug/usr/lib/sparc/libisns.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libkvm.so.6.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/liblber.so.3.2.debug comp-compat-shlib compat,pic,debug,ldap -./usr/libdata/debug/usr/lib/sparc/libldap.so.4.2.debug comp-compat-shlib compat,pic,debug,ldap -./usr/libdata/debug/usr/lib/sparc/libldap_r.so.4.2.debug comp-compat-shlib compat,pic,debug,ldap -./usr/libdata/debug/usr/lib/sparc/liblua.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/liblwres.so.5.7.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/liblzf.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/liblzma.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libm.so.0.10.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libmagic.so.3.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libmenu.so.6.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libmj.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libnetpgp.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libnpf.so.0.0.debug comp-compat-shlib compat,pic,debug,npf -./usr/libdata/debug/usr/lib/sparc/libobjc.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libopcodes.so.5.0.debug comp-compat-shlib compat,pic,binutils,debug -./usr/libdata/debug/usr/lib/sparc/libossaudio.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libp2k.so.2.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/libpam.so.3.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libpcap.so.4.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libpci.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libposix.so.0.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libppath.so.0.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libprop.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libpthread.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libpthread_dbg.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libpuffs.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libquota.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libradius.so.4.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/librefuse.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libresolv.so.2.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete -./usr/libdata/debug/usr/lib/sparc/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/librpcsvc.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/librt.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/librump.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/librumpclient.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/librumpcrypto.so.0.0.debug comp-obsolete obsolete,rump -./usr/libdata/debug/usr/lib/sparc/librumpdev.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/librumphijack.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/librumpnet.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/librumpuser.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/librumpvfs.so.0.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/libsaslc.so.0.0.debug comp-compat-shlib compat,pic,debug,crypto -./usr/libdata/debug/usr/lib/sparc/libskey.so.2.0.debug comp-compat-shlib compat,pic,debug,skey -./usr/libdata/debug/usr/lib/sparc/libsl.so.5.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libsqlite3.so.1.1.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libss.so.6.0.debug comp-compat-shlib obsolete -./usr/libdata/debug/usr/lib/sparc/libssh.so.19.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libssl.so.10.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libstdc++.so.7.0.debug comp-compat-shlib gcc=4,compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libstdc++.so.7.1.debug comp-compat-shlib gcc=45,compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libterminfo.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libtre.so.0.8.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libukfs.so.1.0.debug comp-compat-shlib compat,pic,debug,rump -./usr/libdata/debug/usr/lib/sparc/libusbhid.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libutil.so.7.21.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug -./usr/libdata/debug/usr/lib/sparc/libwrap.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libz.so.1.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug ./usr/libdata/ldscripts/elf32_sparc.x comp-util-bin binutils ./usr/libdata/ldscripts/elf32_sparc.xbn comp-util-bin binutils ./usr/libdata/ldscripts/elf32_sparc.xc comp-util-bin binutils diff --git a/distrib/sets/lists/comp/md.sun2 b/distrib/sets/lists/comp/md.sun2 index 3cc14ae79..2e20d32c7 100644 --- a/distrib/sets/lists/comp/md.sun2 +++ b/distrib/sets/lists/comp/md.sun2 @@ -1,4 +1,4 @@ -# $NetBSD: md.sun2,v 1.19 2011/07/17 20:54:32 joerg Exp $ +# $NetBSD: md.sun2,v 1.20 2013/01/16 16:01:06 christos Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/sun2 comp-c-include ./usr/include/sun2/_G_config.h comp-obsolete obsolete @@ -69,4 +69,3 @@ ./usr/include/sun68k/intr.h comp-c-include ./usr/include/sun68k/mon.h comp-c-include ./usr/include/sun68k/psl.h comp-c-include -./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete diff --git a/distrib/sets/lists/comp/md.sun3 b/distrib/sets/lists/comp/md.sun3 index bb6f4f9ce..993623dd5 100644 --- a/distrib/sets/lists/comp/md.sun3 +++ b/distrib/sets/lists/comp/md.sun3 @@ -1,4 +1,4 @@ -# $NetBSD: md.sun3,v 1.61 2011/07/17 20:54:32 joerg Exp $ +# $NetBSD: md.sun3,v 1.62 2013/01/16 16:01:06 christos Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/sun3 comp-c-include ./usr/include/sun3/_G_config.h comp-obsolete obsolete @@ -80,5 +80,3 @@ ./usr/include/sun68k/intr.h comp-c-include ./usr/include/sun68k/mon.h comp-c-include ./usr/include/sun68k/psl.h comp-c-include -./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete -./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/md.vax b/distrib/sets/lists/comp/md.vax index 09556184b..a6ef463d7 100644 --- a/distrib/sets/lists/comp/md.vax +++ b/distrib/sets/lists/comp/md.vax @@ -1,6 +1,7 @@ -# $NetBSD: md.vax,v 1.37 2011/11/10 17:18:22 chs Exp $ -./usr/include/ieeefp.h comp-obsolete obsolete +# $NetBSD: md.vax,v 1.40 2013/11/01 07:48:31 mrg Exp $ ./usr/include/gcc-4.5/tgmath.h comp-c-include gcccmds,gcc=45 +./usr/include/gcc-4.8/tgmath.h comp-c-include gcccmds,gcc=48 +./usr/include/ieeefp.h comp-obsolete obsolete ./usr/include/vax comp-c-include ./usr/include/vax/_G_config.h comp-obsolete obsolete ./usr/include/vax/ansi.h comp-c-include @@ -41,8 +42,8 @@ ./usr/include/vax/macros.h comp-c-include ./usr/include/vax/math.h comp-c-include ./usr/include/vax/mcontext.h comp-c-include -./usr/include/vax/mutex.h comp-c-include ./usr/include/vax/mtpr.h comp-c-include +./usr/include/vax/mutex.h comp-c-include ./usr/include/vax/nexus.h comp-c-include ./usr/include/vax/param.h comp-c-include ./usr/include/vax/pcb.h comp-c-include @@ -76,4 +77,3 @@ ./usr/include/vax/wchar_limits.h comp-c-include ./usr/lib/c++rt0.o comp-obsolete obsolete ./usr/lib/scrt0.o comp-obsolete obsolete -./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic diff --git a/distrib/sets/lists/comp/md.x68k b/distrib/sets/lists/comp/md.x68k index 629a278a0..c63e17ab3 100644 --- a/distrib/sets/lists/comp/md.x68k +++ b/distrib/sets/lists/comp/md.x68k @@ -1,4 +1,4 @@ -# $NetBSD: md.x68k,v 1.59 2011/11/19 12:27:42 isaki Exp $ +# $NetBSD: md.x68k,v 1.60 2013/01/16 16:01:06 christos Exp $ ./usr/include/ieeefp.h comp-c-include ./usr/include/x68k comp-c-include ./usr/include/x68k/_G_config.h comp-obsolete obsolete @@ -66,13 +66,3 @@ ./usr/include/x68k/vmparam.h comp-c-include ./usr/include/x68k/vuid_event.h comp-c-include ./usr/include/x68k/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/bin/bellctrl.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/loadfont.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/loadkmap.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/palette.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/rtcalarm.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tvctrl.debug comp-util-debug debug -./usr/libdata/debug/usr/mdec/installboot.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/mdec/newdisk.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/memswitch.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/poffd.debug comp-obsolete obsolete diff --git a/distrib/sets/lists/comp/md.zaurus b/distrib/sets/lists/comp/md.zaurus deleted file mode 100644 index f02f0bb66..000000000 --- a/distrib/sets/lists/comp/md.zaurus +++ /dev/null @@ -1,52 +0,0 @@ -# $NetBSD: md.zaurus,v 1.9 2011/07/19 15:12:26 dyoung Exp $ -./usr/include/zaurus comp-c-include -./usr/include/zaurus/ansi.h comp-c-include -./usr/include/zaurus/aout_machdep.h comp-c-include -./usr/include/zaurus/apmvar.h comp-c-include -./usr/include/zaurus/asm.h comp-c-include -./usr/include/zaurus/bswap.h comp-c-include -./usr/include/zaurus/bus.h comp-obsolete obsolete -./usr/include/zaurus/cdefs.h comp-c-include -./usr/include/zaurus/cpu.h comp-c-include -./usr/include/zaurus/disklabel.h comp-c-include -./usr/include/zaurus/elf_machdep.h comp-c-include -./usr/include/zaurus/endian.h comp-c-include -./usr/include/zaurus/endian_machdep.h comp-c-include -./usr/include/zaurus/float.h comp-c-include -./usr/include/zaurus/fp.h comp-c-include -./usr/include/zaurus/frame.h comp-c-include -./usr/include/zaurus/ieee.h comp-c-include -./usr/include/zaurus/ieeefp.h comp-c-include -./usr/include/zaurus/int_const.h comp-c-include -./usr/include/zaurus/int_fmtio.h comp-c-include -./usr/include/zaurus/int_limits.h comp-c-include -./usr/include/zaurus/int_mwgwtypes.h comp-c-include -./usr/include/zaurus/int_types.h comp-c-include -./usr/include/zaurus/intr.h comp-c-include -./usr/include/zaurus/ipkdb.h comp-obsolete obsolete -./usr/include/zaurus/limits.h comp-c-include -./usr/include/zaurus/lock.h comp-c-include -./usr/include/zaurus/math.h comp-c-include -./usr/include/zaurus/mcontext.h comp-c-include -./usr/include/zaurus/mutex.h comp-c-include -./usr/include/zaurus/param.h comp-c-include -./usr/include/zaurus/pcb.h comp-c-include -./usr/include/zaurus/pmap.h comp-c-include -./usr/include/zaurus/pmc.h comp-c-include -./usr/include/zaurus/proc.h comp-c-include -./usr/include/zaurus/profile.h comp-c-include -./usr/include/zaurus/ptrace.h comp-c-include -./usr/include/zaurus/reg.h comp-c-include -./usr/include/zaurus/rwlock.h comp-c-include -./usr/include/zaurus/setjmp.h comp-c-include -./usr/include/zaurus/signal.h comp-c-include -./usr/include/zaurus/stdarg.h comp-obsolete obsolete -./usr/include/zaurus/sysarch.h comp-c-include -./usr/include/zaurus/trap.h comp-c-include -./usr/include/zaurus/types.h comp-c-include -./usr/include/zaurus/varargs.h comp-obsolete obsolete -./usr/include/zaurus/vmparam.h comp-c-include -./usr/include/zaurus/wchar_limits.h comp-c-include -./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/comp/mi b/distrib/sets/lists/comp/mi index cb7ede567..e7e3a3128 100644 --- a/distrib/sets/lists/comp/mi +++ b/distrib/sets/lists/comp/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1783 2012/10/02 01:47:39 christos Exp $ +# $NetBSD: mi,v 1.1867 2013/11/28 13:47:29 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -47,8 +47,11 @@ ./usr/bin/gettext comp-c-bin ./usr/bin/gettextize comp-obsolete obsolete ./usr/bin/gprof comp-debug-bin binutils +./usr/bin/ld.mcld comp-c-bin mclinker ./usr/bin/lex comp-c-bin ./usr/bin/lint comp-c-bin +./usr/bin/lld comp-c-bin lld +./usr/bin/lldb comp-c-bin lldb ./usr/bin/llvm-tblgen comp-c-bin llvm ./usr/bin/lorder comp-util-bin ./usr/bin/luac comp-util-bin @@ -75,6 +78,7 @@ ./usr/bin/pcc comp-c-bin pcc ./usr/bin/protoize comp-c-bin gcc=4,gcccmds ./usr/bin/protoize comp-obsolete gcc=45,obsolete +./usr/bin/protoize comp-obsolete gcc=48,obsolete ./usr/bin/ranlib comp-util-bin binutils ./usr/bin/rcs2log comp-cvs-bin cvs ./usr/bin/readelf comp-util-bin binutils @@ -87,6 +91,7 @@ ./usr/bin/unifdefall comp-util-bin ./usr/bin/unprotoize comp-c-bin gcc=4,gcccmds ./usr/bin/unprotoize comp-obsolete gcc=45,obsolete +./usr/bin/unprotoize comp-obsolete gcc=48,obsolete ./usr/bin/xgettext comp-c-bin ./usr/bin/xstr comp-c-bin ./usr/bin/yacc comp-c-bin @@ -139,6 +144,7 @@ ./usr/include/atf-c++/fs.hpp comp-obsolete obsolete ./usr/include/atf-c++/io.hpp comp-obsolete obsolete ./usr/include/atf-c++/macros.hpp comp-atf-include atf +./usr/include/atf-c++/noncopyable.hpp comp-atf-include atf ./usr/include/atf-c++/parser.hpp comp-obsolete obsolete ./usr/include/atf-c++/process.hpp comp-obsolete obsolete ./usr/include/atf-c++/sanity.hpp comp-obsolete obsolete @@ -202,6 +208,110 @@ ./usr/include/bluetooth.h comp-c-include ./usr/include/bm.h comp-c-include ./usr/include/bzlib.h comp-c-include +./usr/include/c++/__bit_reference comp-cxx-include libcxx +./usr/include/c++/__config comp-cxx-include libcxx +./usr/include/c++/__debug comp-cxx-include libcxx +./usr/include/c++/__functional_03 comp-cxx-include libcxx +./usr/include/c++/__functional_base comp-cxx-include libcxx +./usr/include/c++/__functional_base_03 comp-cxx-include libcxx +./usr/include/c++/__hash_table comp-cxx-include libcxx +./usr/include/c++/__locale comp-cxx-include libcxx +./usr/include/c++/__mutex_base comp-cxx-include libcxx +./usr/include/c++/__split_buffer comp-cxx-include libcxx +./usr/include/c++/__sso_allocator comp-cxx-include libcxx +./usr/include/c++/__std_stream comp-cxx-include libcxx +./usr/include/c++/__tree comp-cxx-include libcxx +./usr/include/c++/__tuple comp-cxx-include libcxx +./usr/include/c++/__tuple_03 comp-cxx-include libcxx +./usr/include/c++/__undef_min_max comp-cxx-include libcxx +./usr/include/c++/algorithm comp-cxx-include libcxx +./usr/include/c++/array comp-cxx-include libcxx +./usr/include/c++/atomic comp-cxx-include libcxx +./usr/include/c++/bitset comp-cxx-include libcxx +./usr/include/c++/cassert comp-cxx-include libcxx +./usr/include/c++/ccomplex comp-cxx-include libcxx +./usr/include/c++/cctype comp-cxx-include libcxx +./usr/include/c++/cerrno comp-cxx-include libcxx +./usr/include/c++/cfenv comp-cxx-include libcxx +./usr/include/c++/cfloat comp-cxx-include libcxx +./usr/include/c++/chrono comp-cxx-include libcxx +./usr/include/c++/cinttypes comp-cxx-include libcxx +./usr/include/c++/ciso646 comp-cxx-include libcxx +./usr/include/c++/climits comp-cxx-include libcxx +./usr/include/c++/clocale comp-cxx-include libcxx +./usr/include/c++/cmath comp-cxx-include libcxx +./usr/include/c++/codecvt comp-cxx-include libcxx +./usr/include/c++/complex comp-cxx-include libcxx +./usr/include/c++/complex.h comp-cxx-include libcxx +./usr/include/c++/condition_variable comp-cxx-include libcxx +./usr/include/c++/csetjmp comp-cxx-include libcxx +./usr/include/c++/csignal comp-cxx-include libcxx +./usr/include/c++/cstdarg comp-cxx-include libcxx +./usr/include/c++/cstdbool comp-cxx-include libcxx +./usr/include/c++/cstddef comp-cxx-include libcxx +./usr/include/c++/cstdint comp-cxx-include libcxx +./usr/include/c++/cstdio comp-cxx-include libcxx +./usr/include/c++/cstdlib comp-cxx-include libcxx +./usr/include/c++/cstring comp-cxx-include libcxx +./usr/include/c++/ctgmath comp-cxx-include libcxx +./usr/include/c++/ctime comp-cxx-include libcxx +./usr/include/c++/cwchar comp-cxx-include libcxx +./usr/include/c++/cwctype comp-cxx-include libcxx +./usr/include/c++/cxxabi.h comp-cxx-include libcxx +./usr/include/c++/deque comp-cxx-include libcxx +./usr/include/c++/dynarray comp-obsolete obsolete +./usr/include/c++/exception comp-cxx-include libcxx +./usr/include/c++/experimental/dynarray comp-cxx-include libcxx +./usr/include/c++/experimental/optional comp-cxx-include libcxx +./usr/include/c++/ext/__hash comp-cxx-include libcxx +./usr/include/c++/ext/hash_map comp-cxx-include libcxx +./usr/include/c++/ext/hash_set comp-cxx-include libcxx +./usr/include/c++/forward_list comp-cxx-include libcxx +./usr/include/c++/fstream comp-cxx-include libcxx +./usr/include/c++/functional comp-cxx-include libcxx +./usr/include/c++/future comp-cxx-include libcxx +./usr/include/c++/initializer_list comp-cxx-include libcxx +./usr/include/c++/iomanip comp-cxx-include libcxx +./usr/include/c++/ios comp-cxx-include libcxx +./usr/include/c++/iosfwd comp-cxx-include libcxx +./usr/include/c++/iostream comp-cxx-include libcxx +./usr/include/c++/istream comp-cxx-include libcxx +./usr/include/c++/iterator comp-cxx-include libcxx +./usr/include/c++/limits comp-cxx-include libcxx +./usr/include/c++/list comp-cxx-include libcxx +./usr/include/c++/locale comp-cxx-include libcxx +./usr/include/c++/map comp-cxx-include libcxx +./usr/include/c++/memory comp-cxx-include libcxx +./usr/include/c++/mutex comp-cxx-include libcxx +./usr/include/c++/new comp-cxx-include libcxx +./usr/include/c++/numeric comp-cxx-include libcxx +./usr/include/c++/optional comp-obsolete obsolete +./usr/include/c++/ostream comp-cxx-include libcxx +./usr/include/c++/queue comp-cxx-include libcxx +./usr/include/c++/random comp-cxx-include libcxx +./usr/include/c++/ratio comp-cxx-include libcxx +./usr/include/c++/regex comp-cxx-include libcxx +./usr/include/c++/scoped_allocator comp-cxx-include libcxx +./usr/include/c++/set comp-cxx-include libcxx +./usr/include/c++/shared_mutex comp-cxx-include libcxx +./usr/include/c++/sstream comp-cxx-include libcxx +./usr/include/c++/stack comp-cxx-include libcxx +./usr/include/c++/stdexcept comp-cxx-include libcxx +./usr/include/c++/streambuf comp-cxx-include libcxx +./usr/include/c++/string comp-cxx-include libcxx +./usr/include/c++/strstream comp-cxx-include libcxx +./usr/include/c++/system_error comp-cxx-include libcxx +./usr/include/c++/tgmath.h comp-cxx-include libcxx +./usr/include/c++/thread comp-cxx-include libcxx +./usr/include/c++/tuple comp-cxx-include libcxx +./usr/include/c++/type_traits comp-cxx-include libcxx +./usr/include/c++/typeindex comp-cxx-include libcxx +./usr/include/c++/typeinfo comp-cxx-include libcxx +./usr/include/c++/unordered_map comp-cxx-include libcxx +./usr/include/c++/unordered_set comp-cxx-include libcxx +./usr/include/c++/utility comp-cxx-include libcxx +./usr/include/c++/valarray comp-cxx-include libcxx +./usr/include/c++/vector comp-cxx-include libcxx ./usr/include/cdbr.h comp-c-include ./usr/include/cdbw.h comp-c-include ./usr/include/cdk/alphalist.h comp-obsolete obsolete @@ -646,8 +756,33 @@ ./usr/include/errno.h comp-c-include ./usr/include/eti.h comp-c-include ./usr/include/evdns.h comp-c-include -./usr/include/event-config.h comp-c-include +./usr/include/event-config.h comp-obsolete obsolete ./usr/include/event.h comp-c-include +./usr/include/event2/buffer.h comp-c-include +./usr/include/event2/buffer_compat.h comp-c-include +./usr/include/event2/bufferevent.h comp-c-include +./usr/include/event2/bufferevent_compat.h comp-c-include +./usr/include/event2/bufferevent_ssl.h comp-c-include +./usr/include/event2/bufferevent_struct.h comp-c-include +./usr/include/event2/dns.h comp-c-include +./usr/include/event2/dns_compat.h comp-c-include +./usr/include/event2/dns_struct.h comp-c-include +./usr/include/event2/event-config.h comp-c-include +./usr/include/event2/event.h comp-c-include +./usr/include/event2/event_compat.h comp-c-include +./usr/include/event2/event_struct.h comp-c-include +./usr/include/event2/http.h comp-c-include +./usr/include/event2/http_compat.h comp-c-include +./usr/include/event2/http_struct.h comp-c-include +./usr/include/event2/keyvalq_struct.h comp-c-include +./usr/include/event2/listener.h comp-c-include +./usr/include/event2/rpc.h comp-c-include +./usr/include/event2/rpc_compat.h comp-c-include +./usr/include/event2/rpc_struct.h comp-c-include +./usr/include/event2/tag.h comp-c-include +./usr/include/event2/tag_compat.h comp-c-include +./usr/include/event2/thread.h comp-c-include +./usr/include/event2/util.h comp-c-include ./usr/include/evhttp.h comp-c-include ./usr/include/evrpc.h comp-c-include ./usr/include/evutil.h comp-c-include @@ -729,409 +864,835 @@ ./usr/include/g++/_G_config.h comp-obsolete obsolete ./usr/include/g++/algo.h comp-obsolete obsolete ./usr/include/g++/algobase.h comp-obsolete obsolete -./usr/include/g++/algorithm comp-cxx-include gcc,cxx +./usr/include/g++/algorithm comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/alloc.h comp-obsolete obsolete -./usr/include/g++/array comp-cxx-include gcc=45,cxx -./usr/include/g++/atomic comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/algo.h comp-cxx-include gcc=4,cxx +./usr/include/g++/array comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/array comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/atomic comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/atomic comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/algo.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/algo.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/algobase.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/algo.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/algobase.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/algobase.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/alloc.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/algobase.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/alloc.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/alloc.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/auto_ptr.h comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/backward_warning.h comp-cxx-include gcc,cxx -./usr/include/g++/backward/binders.h comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/bvector.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/alloc.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/auto_ptr.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/backward/auto_ptr.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/backward_warning.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/backward/binders.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/backward/binders.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/bvector.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/bvector.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/complex.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/bvector.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/complex.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/complex.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/defalloc.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/complex.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/defalloc.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/defalloc.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/deque.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/defalloc.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/deque.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/deque.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/fstream.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/deque.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/fstream.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/fstream.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/function.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/fstream.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/function.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/function.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/hash_fun.h comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/hash_map comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/hash_map.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/function.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/hash_fun.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/backward/hash_fun.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/hash_map comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/backward/hash_map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/hash_map.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/hash_map.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/hash_set comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/hash_set.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/hash_map.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/hash_set comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/backward/hash_set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/hash_set.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/hash_set.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/hashtable.h comp-cxx-include gcc=4,cxx -./usr/include/g++/backward/hashtable.h comp-cxx-include gcc=45,cxx -./usr/include/g++/backward/heap.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/hash_set.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/hashtable.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/backward/hashtable.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/backward/hashtable.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/backward/heap.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/heap.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/iomanip.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/heap.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/iomanip.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/iomanip.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/iostream.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/iomanip.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/iostream.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/iostream.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/istream.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/iostream.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/istream.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/istream.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/iterator.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/istream.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/iterator.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/iterator.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/list.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/iterator.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/list.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/list.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/map.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/list.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/map.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/map.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/multimap.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/map.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/multimap.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/multimap.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/multiset.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/multimap.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/multiset.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/multiset.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/new.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/multiset.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/new.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/new.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/ostream.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/new.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/ostream.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/ostream.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/pair.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/ostream.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/pair.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/pair.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/queue.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/pair.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/queue.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/queue.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/rope.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/queue.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/rope.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/rope.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/set.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/rope.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/set.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/set.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/slist.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/set.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/slist.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/slist.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/stack.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/slist.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/stack.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/stack.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/stream.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/stack.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/stream.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/stream.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/streambuf.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/stream.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/streambuf.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/streambuf.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/strstream comp-cxx-include gcc,cxx -./usr/include/g++/backward/tempbuf.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/streambuf.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/strstream comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/backward/tempbuf.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/tempbuf.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/tree.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/tempbuf.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/tree.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/tree.h comp-obsolete gcc=45,obsolete -./usr/include/g++/backward/vector.h comp-cxx-include gcc=4,cxx +./usr/include/g++/backward/tree.h comp-obsolete gcc=48,obsolete +./usr/include/g++/backward/vector.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/backward/vector.h comp-obsolete gcc=45,obsolete +./usr/include/g++/backward/vector.h comp-obsolete gcc=48,obsolete ./usr/include/g++/bitdo1.h comp-obsolete obsolete ./usr/include/g++/bitdo2.h comp-obsolete obsolete ./usr/include/g++/bitprims.h comp-obsolete obsolete -./usr/include/g++/bits/algorithmfwd.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomic_0.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomic_2.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomic_base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomic_word.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/atomic_word.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomicfwd_c.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomicfwd_cxx.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/atomicity.h comp-cxx-include gcc=4,cxx +./usr/include/g++/bits/algorithmfwd.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/algorithmfwd.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/alloc_traits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/atomic_0.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/atomic_2.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/atomic_base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/atomic_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/atomic_lockfree_defines.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/atomic_word.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/atomic_word.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/atomic_word.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/atomicfwd_c.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/atomicfwd_cxx.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/atomicity.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/bits/atomicity.h comp-obsolete gcc=45,obsolete -./usr/include/g++/bits/basic_file.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/basic_ios.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/basic_ios.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/basic_string.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/basic_string.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/boost_concept_check.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/c++0x_warning.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/c++allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/c++allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/c++config.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/c++io.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/c++locale.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/char_traits.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/cmath.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/codecvt.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/codecvt_specializations.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/atomicity.h comp-obsolete gcc=48,obsolete +./usr/include/g++/bits/basic_file.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/basic_ios.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/basic_ios.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/basic_string.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/basic_string.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/boost_concept_check.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/c++0x_warning.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/c++0x_warning.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/c++allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/c++allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/c++allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/c++config.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/c++io.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/c++locale.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/char_traits.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/cmath.tcc comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/cmath.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/codecvt.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/codecvt_specializations.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/codecvt_specializations.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/concept_check.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/concurrence.h comp-cxx-include gcc=4,cxx +./usr/include/g++/bits/concept_check.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/concurrence.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/bits/concurrence.h comp-obsolete gcc=45,obsolete -./usr/include/g++/bits/cpp_type_traits.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/cpu_defines.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/cpu_defines.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/ctype_base.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/ctype_inline.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/ctype_noninline.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/cxxabi_tweaks.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/cxxabi_tweaks.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/deque.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/error_constants.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/extc++.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/forward_list.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/forward_list.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/fpos.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/concurrence.h comp-obsolete gcc=48,obsolete +./usr/include/g++/bits/cpp_type_traits.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/cpu_defines.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/cpu_defines.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/cpu_defines.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/ctype_base.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/ctype_inline.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/ctype_noninline.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/ctype_noninline.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/cxxabi_forced.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/cxxabi_tweaks.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/cxxabi_tweaks.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/cxxabi_tweaks.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/deque.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/error_constants.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/error_constants.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/exception_defines.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/exception_ptr.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/extc++.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/extc++.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/forward_list.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/forward_list.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/forward_list.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/forward_list.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/fpos.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/fpos.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/fstream.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/functexcept.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/functional_hash.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/gslice.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/gslice_array.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/gthr-default.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/gthr-posix.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/gthr-single.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/gthr-tpf.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/gthr-tpf.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/gthr.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/hashtable.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/hashtable_policy.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/indirect_array.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/ios_base.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/istream.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/list.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/locale_classes.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/locale_classes.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/locale_facets.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/locale_facets.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/locale_facets_nonio.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/locale_facets_nonio.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/localefwd.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/mask_array.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/messages_members.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/move.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/os_defines.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/ostream.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/ostream_insert.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/postypes.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/postypes.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/pthread_allocimpl.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/fstream.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/functexcept.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/functional_hash.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/functional_hash.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/gslice.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/gslice_array.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/gthr-default.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/gthr-posix.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/gthr-single.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/gthr-tpf.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/gthr-tpf.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/gthr.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/hash_bytes.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/hashtable.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/hashtable.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/hashtable_policy.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/hashtable_policy.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/indirect_array.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/ios_base.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/istream.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/list.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/locale_classes.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/locale_classes.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/locale_classes.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/locale_facets.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/locale_facets.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/locale_facets_nonio.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/locale_facets_nonio.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/locale_facets_nonio.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/locale_facets_nonio.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/localefwd.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/mask_array.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/memoryfwd.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/messages_members.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/move.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/move.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/nested_exception.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/opt_random.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/os_defines.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/ostream.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/ostream_insert.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/ostream_insert.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/postypes.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/postypes.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/postypes.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/pthread_allocimpl.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/pthread_allocimpl.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/random.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/random.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/shared_ptr.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/shared_ptr_base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/slice_array.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/sstream.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/stdc++.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/stdtr1c++.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/stl_algo.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_algobase.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_alloc.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/ptr_traits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/random.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/random.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/random.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/random.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/range_access.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_compiler.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_constants.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_cursor.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_error.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_grep_matcher.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_grep_matcher.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_nfa.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/regex_nfa.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/shared_ptr.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/shared_ptr.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/shared_ptr_base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/shared_ptr_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/slice_array.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/sstream.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stdc++.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/stdc++.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/stdtr1c++.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/stdtr1c++.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/stl_algo.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_algobase.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_alloc.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/stl_alloc.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/stl_bvector.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_construct.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_deque.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_function.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_heap.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_iterator.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_iterator_base_funcs.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_iterator_base_types.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_list.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_map.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_multimap.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_multiset.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_numeric.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_pair.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_pthread_alloc.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/stl_bvector.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_construct.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_deque.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_function.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_heap.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_iterator.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_iterator_base_funcs.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_iterator_base_types.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_list.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_map.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_multimap.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_multiset.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_numeric.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_pair.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_pthread_alloc.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/stl_pthread_alloc.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/stl_queue.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_raw_storage_iter.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_relops.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_set.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_stack.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_tempbuf.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_threads.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/stl_queue.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_raw_storage_iter.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_relops.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_set.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_stack.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_tempbuf.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_threads.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/stl_threads.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/stl_tree.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_uninitialized.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stl_vector.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stream_iterator.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/streambuf.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/streambuf_iterator.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/stringfwd.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/time_members.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/type_traits.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/stl_tree.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_uninitialized.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stl_vector.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stream_iterator.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/streambuf.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/streambuf_iterator.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/stringfwd.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/time_members.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/type_traits.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/type_traits.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/unique_ptr.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/unordered_map.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/unordered_set.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/valarray_after.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/valarray_after.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/valarray_array.h comp-cxx-include gcc,cxx -./usr/include/g++/bits/valarray_array.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bits/valarray_before.h comp-cxx-include gcc=4,cxx -./usr/include/g++/bits/valarray_before.h comp-cxx-include gcc=45,cxx -./usr/include/g++/bits/valarray_meta.h comp-cxx-include gcc=3,cxx +./usr/include/g++/bits/unique_ptr.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/unique_ptr.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/unordered_map.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/unordered_map.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/unordered_set.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/unordered_set.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/uses_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/valarray_after.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/valarray_after.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/valarray_after.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/valarray_array.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/valarray_array.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bits/valarray_before.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/bits/valarray_before.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/bits/valarray_before.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/bits/valarray_meta.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/bits/valarray_meta.h comp-obsolete gcc=4,obsolete -./usr/include/g++/bits/vector.tcc comp-cxx-include gcc,cxx -./usr/include/g++/bitset comp-cxx-include gcc,cxx +./usr/include/g++/bits/vector.tcc comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/bitset comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/bool.h comp-obsolete obsolete ./usr/include/g++/builtin.h comp-obsolete obsolete ./usr/include/g++/builtinbuf.h comp-obsolete obsolete ./usr/include/g++/bvector.h comp-obsolete obsolete -./usr/include/g++/c++config.h comp-cxx-include gcc=4,cxx +./usr/include/g++/c++config.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/c++config.h comp-obsolete gcc=45,obsolete -./usr/include/g++/cassert comp-cxx-include gcc,cxx -./usr/include/g++/ccomplex comp-cxx-include gcc=45,cxx -./usr/include/g++/cctype comp-cxx-include gcc,cxx -./usr/include/g++/cerrno comp-cxx-include gcc,cxx -./usr/include/g++/cfenv comp-cxx-include gcc=45,cxx -./usr/include/g++/cfloat comp-cxx-include gcc,cxx -./usr/include/g++/chrono comp-cxx-include gcc=45,cxx -./usr/include/g++/cinttypes comp-cxx-include gcc=45,cxx -./usr/include/g++/ciso646 comp-cxx-include gcc,cxx -./usr/include/g++/climits comp-cxx-include gcc,cxx -./usr/include/g++/clocale comp-cxx-include gcc,cxx -./usr/include/g++/cmath comp-cxx-include gcc,cxx +./usr/include/g++/c++config.h comp-obsolete gcc=48,obsolete +./usr/include/g++/cassert comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ccomplex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ccomplex comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/cctype comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cerrno comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cfenv comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/cfenv comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/cfloat comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/chrono comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/chrono comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/cinttypes comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/cinttypes comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ciso646 comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/climits comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/clocale comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cmath comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/compare.h comp-obsolete obsolete -./usr/include/g++/complex comp-cxx-include gcc,cxx -./usr/include/g++/complex.h comp-obsolete gcc=45,cxx -./usr/include/g++/condition_variable comp-cxx-include gcc=45,cxx -./usr/include/g++/csetjmp comp-cxx-include gcc,cxx -./usr/include/g++/csignal comp-cxx-include gcc,cxx -./usr/include/g++/cstdarg comp-cxx-include gcc,cxx -./usr/include/g++/cstdbool comp-cxx-include gcc=45,cxx -./usr/include/g++/cstddef comp-cxx-include gcc,cxx -./usr/include/g++/cstdint comp-cxx-include gcc=45,cxx -./usr/include/g++/cstdio comp-cxx-include gcc,cxx -./usr/include/g++/cstdlib comp-cxx-include gcc,cxx -./usr/include/g++/cstring comp-cxx-include gcc,cxx -./usr/include/g++/ctgmath comp-cxx-include gcc=45,cxx -./usr/include/g++/ctime comp-cxx-include gcc,cxx -./usr/include/g++/cwchar comp-cxx-include gcc,cxx -./usr/include/g++/cwctype comp-cxx-include gcc,cxx -./usr/include/g++/cxxabi-forced.h comp-cxx-include gcc=45,cxx -./usr/include/g++/cxxabi.h comp-cxx-include gcc,cxx -./usr/include/g++/debug/bitset comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/bitset comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/debug.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/debug.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/deque comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/deque comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/formatter.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/formatter.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/functions.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/functions.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/hash_map comp-cxx-include gcc=4,cxx +./usr/include/g++/complex comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/complex.h comp-obsolete gcc=45,obsolete +./usr/include/g++/complex.h comp-obsolete gcc=48,obsolete +./usr/include/g++/condition_variable comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/condition_variable comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/csetjmp comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/csignal comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cstdalign comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/cstdarg comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cstdbool comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/cstdbool comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/cstddef comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cstdint comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/cstdint comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/cstdio comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cstdlib comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cstring comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ctgmath comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ctgmath comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ctime comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cwchar comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cwctype comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/cxxabi-forced.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/cxxabi.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/debug/array comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/bitset comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/bitset comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/bitset comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/debug.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/debug.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/debug.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/deque comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/deque comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/deque comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/formatter.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/formatter.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/formatter.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/forward_list comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/functions.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/functions.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/functions.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/hash_map comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/debug/hash_map comp-obsolete gcc=45,obsolete -./usr/include/g++/debug/hash_map.h comp-cxx-include gcc=4,cxx +./usr/include/g++/debug/hash_map comp-obsolete gcc=48,obsolete +./usr/include/g++/debug/hash_map.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/debug/hash_map.h comp-obsolete gcc=45,obsolete -./usr/include/g++/debug/hash_multimap.h comp-cxx-include gcc=4,cxx +./usr/include/g++/debug/hash_map.h comp-obsolete gcc=48,obsolete +./usr/include/g++/debug/hash_multimap.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/debug/hash_multimap.h comp-obsolete gcc=45,obsolete -./usr/include/g++/debug/hash_multiset.h comp-cxx-include gcc=4,cxx +./usr/include/g++/debug/hash_multimap.h comp-obsolete gcc=48,obsolete +./usr/include/g++/debug/hash_multiset.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/debug/hash_multiset.h comp-obsolete gcc=45,obsolete -./usr/include/g++/debug/hash_set comp-cxx-include gcc=4,cxx +./usr/include/g++/debug/hash_multiset.h comp-obsolete gcc=48,obsolete +./usr/include/g++/debug/hash_set comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/debug/hash_set comp-obsolete gcc=45,obsolete -./usr/include/g++/debug/hash_set.h comp-cxx-include gcc=4,cxx +./usr/include/g++/debug/hash_set comp-obsolete gcc=48,obsolete +./usr/include/g++/debug/hash_set.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/debug/hash_set.h comp-obsolete gcc=45,obsolete -./usr/include/g++/debug/list comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/list comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/macros.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/macros.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/map comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/map comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/map.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/map.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/multimap.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/multimap.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/multiset.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/multiset.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/safe_base.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/safe_base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/safe_iterator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/safe_iterator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/safe_iterator.tcc comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/safe_iterator.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/safe_sequence.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/safe_sequence.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/set comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/set comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/set.h comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/set.h comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/string comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/string comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/unordered_map comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/unordered_set comp-cxx-include gcc=45,cxx -./usr/include/g++/debug/vector comp-cxx-include gcc=4,cxx -./usr/include/g++/debug/vector comp-cxx-include gcc=45,cxx -./usr/include/g++/decimal/decimal comp-cxx-include gcc=45,cxx -./usr/include/g++/decimal/decimal.h comp-cxx-include gcc=45,cxx +./usr/include/g++/debug/hash_set.h comp-obsolete gcc=48,obsolete +./usr/include/g++/debug/list comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/list comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/list comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/macros.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/macros.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/macros.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/map comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/map comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/map.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/map.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/map.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/multimap.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/multimap.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/multimap.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/multiset.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/multiset.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/multiset.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_base.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/safe_base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/safe_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_iterator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/safe_iterator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/safe_iterator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_iterator.tcc comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/safe_iterator.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/safe_iterator.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_local_iterator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_local_iterator.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_sequence.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/safe_sequence.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/safe_sequence.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_sequence.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_unordered_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_unordered_container.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/safe_unordered_container.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/set comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/set comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/set.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/set.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/set.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/string comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/string comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/string comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/unordered_map comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/unordered_map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/unordered_set comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/unordered_set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/debug/vector comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/debug/vector comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/debug/vector comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/decimal/decimal comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/decimal/decimal comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/decimal/decimal.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/decimal/decimal.h comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/defalloc.h comp-obsolete obsolete -./usr/include/g++/deque comp-cxx-include gcc,cxx -./usr/include/g++/deque.h comp-obsolete obsolete -./usr/include/g++/editbuf.h comp-obsolete obsolete -./usr/include/g++/exception comp-cxx-include gcc,cxx -./usr/include/g++/exception_defines.h comp-cxx-include gcc,cxx -./usr/include/g++/exception_ptr.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/algorithm comp-cxx-include gcc,cxx -./usr/include/g++/ext/array_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/array_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/atomicity.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/bitmap_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/bitmap_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/cast.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/codecvt_specializations.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/codecvt_specializations.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/concurrence.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/debug_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/debug_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/enc_filebuf.h comp-cxx-include gcc=3,cxx -./usr/include/g++/ext/enc_filebuf.h comp-cxx-include gcc=45,cxx +./usr/include/g++/deque comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/deque.h comp-obsolete obsolete,libstdcxx +./usr/include/g++/editbuf.h comp-obsolete obsolete,libstdcxx +./usr/include/g++/exception comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/exception_defines.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/exception_defines.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/exception_ptr.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/algorithm comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/alloc_traits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/array_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/array_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/array_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/atomicity.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/atomicity.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/bitmap_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/bitmap_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/bitmap_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/cast.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/cast.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/cmath comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/codecvt_specializations.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/codecvt_specializations.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/codecvt_specializations.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/concurrence.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/concurrence.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/debug_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/debug_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/debug_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/enc_filebuf.h comp-cxx-include gcc=3,cxx,libstdcxx +./usr/include/g++/ext/enc_filebuf.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/enc_filebuf.h comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/ext/enc_filebuf.h comp-obsolete gcc=4,obsolete -./usr/include/g++/ext/extptr_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/functional comp-cxx-include gcc,cxx -./usr/include/g++/ext/hash_fun.h comp-cxx-include gcc=4,cxx +./usr/include/g++/ext/extptr_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/extptr_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/functional comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/hash_fun.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/ext/hash_fun.h comp-obsolete gcc=45,obsolete -./usr/include/g++/ext/hash_map comp-cxx-include gcc,cxx -./usr/include/g++/ext/hash_set comp-cxx-include gcc,cxx -./usr/include/g++/ext/hashtable.h comp-cxx-include gcc=4,cxx +./usr/include/g++/ext/hash_fun.h comp-obsolete gcc=48,obsolete +./usr/include/g++/ext/hash_map comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/hash_set comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/hashtable.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/ext/hashtable.h comp-obsolete gcc=45,obsolete -./usr/include/g++/ext/iterator comp-cxx-include gcc,cxx -./usr/include/g++/ext/malloc_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/malloc_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/memory comp-cxx-include gcc,cxx -./usr/include/g++/ext/mt_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/mt_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/new_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/new_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/numeric comp-cxx-include gcc,cxx -./usr/include/g++/ext/numeric_traits.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/pod_char_traits.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/pod_char_traits.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/pointer.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/pool_allocator.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/pool_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/rb_tree comp-cxx-include gcc,cxx -./usr/include/g++/ext/rc_string_base.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/rc_string_base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/rope comp-cxx-include gcc,cxx -./usr/include/g++/ext/ropeimpl.h comp-cxx-include gcc,cxx -./usr/include/g++/ext/slist comp-cxx-include gcc,cxx -./usr/include/g++/ext/sso_string_base.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/sso_string_base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/stdio_filebuf.h comp-cxx-include gcc,cxx -./usr/include/g++/ext/stdio_sync_filebuf.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/stdio_sync_filebuf.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/stl_hash_fun.h comp-cxx-include gcc=3,cxx +./usr/include/g++/ext/hashtable.h comp-obsolete gcc=48,obsolete +./usr/include/g++/ext/iterator comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/malloc_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/malloc_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/malloc_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/memory comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/mt_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/mt_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/mt_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/new_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/new_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/new_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/numeric comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/numeric_traits.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/numeric_traits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/opt_random.h comp-cxx-include gcc=48,obsolete +./usr/include/g++/ext/pb_ds/assoc_container.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/const_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/entry_pred.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/point_const_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/resize_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/branch_policy/branch_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/branch_policy/traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/cond_dealtor.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/container_base_dispatch.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/debug_map_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/eq_fn/eq_by_less.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/point_const_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/lu_map_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_policy/lu_counter_metadata.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/priority_queue_base_dispatch.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/node.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/node.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/splay_tree_/traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/standard_policies.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/tree_trace_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/sample_trie_access_traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/trie_policy/trie_string_access_traits_imp.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/type_utils.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/types_traits.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/unordered_iterator/iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/unordered_iterator/point_const_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/exception.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/hash_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/list_update_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/priority_queue.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/tag_and_trait.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/tree_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pb_ds/trie_policy.hpp comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pod_char_traits.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/pod_char_traits.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/pod_char_traits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pointer.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/pointer.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/pool_allocator.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/pool_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/pool_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/random comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/random.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/rb_tree comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/rc_string_base.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/rc_string_base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/rc_string_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/rope comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/ropeimpl.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/slist comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/sso_string_base.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/sso_string_base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/sso_string_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/stdio_filebuf.h comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/ext/stdio_sync_filebuf.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/stdio_sync_filebuf.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/stdio_sync_filebuf.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/stl_hash_fun.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/ext/stl_hash_fun.h comp-obsolete gcc=4,obsolete -./usr/include/g++/ext/stl_hashtable.h comp-cxx-include gcc=3,cxx +./usr/include/g++/ext/stl_hashtable.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/ext/stl_hashtable.h comp-obsolete gcc=4,obsolete -./usr/include/g++/ext/stl_rope.h comp-cxx-include gcc=3,cxx +./usr/include/g++/ext/stl_rope.h comp-cxx-include gcc=3,cxx,libstdcxx ./usr/include/g++/ext/stl_rope.h comp-obsolete gcc=4,obsolete -./usr/include/g++/ext/string_conversions.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/throw_allocator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/type_traits.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/typelist.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/typelist.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/vstring.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/vstring.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/vstring.tcc comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/vstring.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/vstring_fwd.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/vstring_fwd.h comp-cxx-include gcc=45,cxx -./usr/include/g++/ext/vstring_util.h comp-cxx-include gcc=4,cxx -./usr/include/g++/ext/vstring_util.h comp-cxx-include gcc=45,cxx +./usr/include/g++/ext/string_conversions.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/string_conversions.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/throw_allocator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/throw_allocator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/type_traits.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/type_traits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/typelist.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/typelist.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/typelist.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/vstring.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/vstring.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/vstring.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/vstring.tcc comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/vstring.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/vstring.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/vstring_fwd.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/vstring_fwd.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/vstring_fwd.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/ext/vstring_util.h comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/ext/vstring_util.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ext/vstring_util.h comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/faralloc.h comp-obsolete obsolete ./usr/include/g++/fdeque.h comp-obsolete obsolete -./usr/include/g++/fenv.h comp-cxx-include gcc=45,cxx +./usr/include/g++/fenv.h comp-cxx-include gcc=45,cxx,libstdcxx ./usr/include/g++/flist.h comp-obsolete obsolete ./usr/include/g++/floatio.h comp-obsolete obsolete ./usr/include/g++/fmap.h comp-obsolete obsolete ./usr/include/g++/fmultmap.h comp-obsolete obsolete ./usr/include/g++/fmultset.h comp-obsolete obsolete -./usr/include/g++/forward_list comp-cxx-include gcc=45,cxx +./usr/include/g++/forward_list comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/forward_list comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/fset.h comp-obsolete obsolete -./usr/include/g++/fstream comp-cxx-include gcc,cxx +./usr/include/g++/fstream comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/fstream.h comp-obsolete obsolete ./usr/include/g++/function.h comp-obsolete obsolete -./usr/include/g++/functional comp-cxx-include gcc,cxx -./usr/include/g++/future comp-cxx-include gcc=45,cxx +./usr/include/g++/functional comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/future comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/future comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/gen comp-obsolete obsolete ./usr/include/g++/gen/AVLMap.ccP comp-obsolete obsolete ./usr/include/g++/gen/AVLMap.hP comp-obsolete obsolete @@ -1269,121 +1830,200 @@ ./usr/include/g++/hugalloc.h comp-obsolete obsolete ./usr/include/g++/hvector.h comp-obsolete obsolete ./usr/include/g++/indstream.h comp-obsolete obsolete -./usr/include/g++/initializer_list comp-cxx-include gcc=45,cxx +./usr/include/g++/initializer_list comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/initializer_list comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/iolibio.h comp-obsolete obsolete -./usr/include/g++/iomanip comp-cxx-include gcc,cxx +./usr/include/g++/iomanip comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/iomanip.h comp-obsolete obsolete ./usr/include/g++/ioprivate.h comp-obsolete obsolete -./usr/include/g++/ios comp-cxx-include gcc,cxx -./usr/include/g++/iosfwd comp-cxx-include gcc,cxx +./usr/include/g++/ios comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/iosfwd comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/iostdio.h comp-obsolete obsolete -./usr/include/g++/iostream comp-cxx-include gcc,cxx +./usr/include/g++/iostream comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/iostream.h comp-obsolete obsolete ./usr/include/g++/iostreamP.h comp-obsolete obsolete -./usr/include/g++/istream comp-cxx-include gcc,cxx +./usr/include/g++/istream comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/istream.h comp-obsolete obsolete -./usr/include/g++/iterator comp-cxx-include gcc,cxx +./usr/include/g++/iterator comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/iterator.h comp-obsolete obsolete ./usr/include/g++/lbvector.h comp-obsolete obsolete ./usr/include/g++/ldeque.h comp-obsolete obsolete ./usr/include/g++/libc.h comp-obsolete obsolete ./usr/include/g++/libio.h comp-obsolete obsolete ./usr/include/g++/libioP.h comp-obsolete obsolete -./usr/include/g++/limits comp-cxx-include gcc,cxx -./usr/include/g++/list comp-cxx-include gcc,cxx +./usr/include/g++/limits comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/list comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/list.h comp-obsolete obsolete ./usr/include/g++/llist.h comp-obsolete obsolete ./usr/include/g++/lmap.h comp-obsolete obsolete ./usr/include/g++/lmultmap.h comp-obsolete obsolete ./usr/include/g++/lmultset.h comp-obsolete obsolete ./usr/include/g++/lngalloc.h comp-obsolete obsolete -./usr/include/g++/locale comp-cxx-include gcc,cxx +./usr/include/g++/locale comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/lset.h comp-obsolete obsolete -./usr/include/g++/map comp-cxx-include gcc,cxx +./usr/include/g++/map comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/map.h comp-obsolete obsolete -./usr/include/g++/memory comp-cxx-include gcc,cxx +./usr/include/g++/memory comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/minmax.h comp-obsolete obsolete ./usr/include/g++/multimap.h comp-obsolete obsolete ./usr/include/g++/multiset.h comp-obsolete obsolete -./usr/include/g++/mutex comp-cxx-include gcc=45,cxx +./usr/include/g++/mutex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/mutex comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/neralloc.h comp-obsolete obsolete -./usr/include/g++/nested_exception.h comp-cxx-include gcc=45,cxx -./usr/include/g++/new comp-cxx-include gcc,cxx +./usr/include/g++/nested_exception.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/new comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/new.h comp-obsolete obsolete ./usr/include/g++/nmap.h comp-obsolete obsolete ./usr/include/g++/nmultmap.h comp-obsolete obsolete ./usr/include/g++/nmultset.h comp-obsolete obsolete ./usr/include/g++/nset.h comp-obsolete obsolete -./usr/include/g++/numeric comp-cxx-include gcc,cxx +./usr/include/g++/numeric comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/osfcn.h comp-obsolete obsolete -./usr/include/g++/ostream comp-cxx-include gcc,cxx +./usr/include/g++/ostream comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/ostream.h comp-obsolete obsolete ./usr/include/g++/pair.h comp-obsolete obsolete -./usr/include/g++/parallel/algo.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/algobase.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/algorithm comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/algorithmfwd.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/balanced_quicksort.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/basic_iterator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/checkers.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/compatibility.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/compiletime_settings.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/equally_split.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/features.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/find.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/find_selectors.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/for_each.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/for_each_selectors.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/iterator.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/list_partition.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/losertree.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/merge.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/multiseq_selection.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/multiway_merge.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/multiway_mergesort.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/numeric comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/numericfwd.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/omp_loop.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/omp_loop_static.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/par_loop.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/parallel.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/partial_sum.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/partition.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/queue.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/quicksort.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/random_number.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/random_shuffle.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/search.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/set_operations.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/settings.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/sort.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/tags.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/types.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/unique_copy.h comp-cxx-include gcc=45,cxx -./usr/include/g++/parallel/workstealing.h comp-cxx-include gcc=45,cxx +./usr/include/g++/parallel/algo.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/algo.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/algobase.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/algobase.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/algorithm comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/algorithm comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/algorithmfwd.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/algorithmfwd.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/balanced_quicksort.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/balanced_quicksort.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/basic_iterator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/basic_iterator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/checkers.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/checkers.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/compatibility.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/compatibility.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/compiletime_settings.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/compiletime_settings.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/equally_split.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/equally_split.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/features.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/features.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/find.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/find.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/find_selectors.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/find_selectors.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/for_each.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/for_each.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/for_each_selectors.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/for_each_selectors.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/iterator.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/iterator.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/list_partition.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/list_partition.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/losertree.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/losertree.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/merge.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/merge.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/multiseq_selection.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/multiseq_selection.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/multiway_merge.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/multiway_merge.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/multiway_mergesort.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/multiway_mergesort.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/numeric comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/numeric comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/numericfwd.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/numericfwd.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/omp_loop.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/omp_loop.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/omp_loop_static.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/omp_loop_static.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/par_loop.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/par_loop.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/parallel.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/parallel.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/partial_sum.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/partial_sum.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/partition.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/partition.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/queue.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/queue.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/quicksort.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/quicksort.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/random_number.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/random_number.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/random_shuffle.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/random_shuffle.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/search.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/search.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/set_operations.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/set_operations.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/settings.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/settings.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/sort.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/sort.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/tags.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/tags.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/types.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/types.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/unique_copy.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/unique_copy.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/parallel/workstealing.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/parallel/workstealing.h comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/parsestream.h comp-obsolete obsolete ./usr/include/g++/pfstream.h comp-obsolete obsolete ./usr/include/g++/procbuf.h comp-obsolete obsolete +./usr/include/g++/profile/array comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/bitset comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/deque comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/forward_list comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_algos.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_container_size.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_hash_func.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_hashtable_size.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_list_to_slist.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_list_to_vector.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_map_to_unordered_map.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_node.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_state.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_trace.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_vector_size.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/impl/profiler_vector_to_list.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/iterator_tracker.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/list comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/map.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/multimap.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/multiset.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/set.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/unordered_base.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/unordered_map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/unordered_set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/profile/vector comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/projectn.h comp-obsolete obsolete ./usr/include/g++/pthread_alloc comp-obsolete obsolete ./usr/include/g++/pthread_alloc.h comp-obsolete obsolete -./usr/include/g++/queue comp-cxx-include gcc,cxx -./usr/include/g++/random comp-cxx-include gcc=45,cxx +./usr/include/g++/queue comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/random comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/random comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/random.cc comp-obsolete obsolete -./usr/include/g++/ratio comp-cxx-include gcc=45,cxx -./usr/include/g++/regex comp-cxx-include gcc=45,cxx +./usr/include/g++/ratio comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/ratio comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/regex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/regex comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/regex.h comp-obsolete obsolete ./usr/include/g++/rope comp-obsolete obsolete ./usr/include/g++/rope.h comp-obsolete obsolete ./usr/include/g++/ropeimpl.h comp-obsolete obsolete ./usr/include/g++/rx.h comp-obsolete obsolete -./usr/include/g++/set comp-cxx-include gcc,cxx +./usr/include/g++/scoped_allocator comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/set comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/set.h comp-obsolete obsolete ./usr/include/g++/slist comp-obsolete obsolete ./usr/include/g++/slist.h comp-obsolete obsolete -./usr/include/g++/sstream comp-cxx-include gcc,cxx -./usr/include/g++/stack comp-cxx-include gcc,cxx +./usr/include/g++/sstream comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/stack comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/stack.h comp-obsolete obsolete ./usr/include/g++/std comp-obsolete obsolete ./usr/include/g++/std.h comp-obsolete obsolete @@ -1434,9 +2074,9 @@ ./usr/include/g++/std/valarray_array.h comp-obsolete obsolete ./usr/include/g++/std/valarray_array.tcc comp-obsolete obsolete ./usr/include/g++/std/valarray_meta.h comp-obsolete obsolete -./usr/include/g++/stdatomic.h comp-cxx-include gcc=45,cxx +./usr/include/g++/stdatomic.h comp-cxx-include gcc=45,cxx,libstdcxx ./usr/include/g++/stddef comp-obsolete obsolete -./usr/include/g++/stdexcept comp-cxx-include gcc,cxx +./usr/include/g++/stdexcept comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/stdiostream.h comp-obsolete obsolete ./usr/include/g++/stl.h comp-obsolete obsolete ./usr/include/g++/stl_algo.h comp-obsolete obsolete @@ -1472,142 +2112,229 @@ ./usr/include/g++/stl_vector.h comp-obsolete obsolete ./usr/include/g++/strclass.h comp-obsolete obsolete ./usr/include/g++/stream.h comp-obsolete obsolete -./usr/include/g++/streambuf comp-cxx-include gcc,cxx +./usr/include/g++/streambuf comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/streambuf.h comp-obsolete obsolete ./usr/include/g++/strfile.h comp-obsolete obsolete -./usr/include/g++/string comp-cxx-include gcc,cxx +./usr/include/g++/string comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/strstream comp-obsolete obsolete ./usr/include/g++/strstream.h comp-obsolete obsolete ./usr/include/g++/swap.h comp-obsolete obsolete ./usr/include/g++/sysent.h comp-obsolete obsolete -./usr/include/g++/system_error comp-cxx-include gcc=45,cxx +./usr/include/g++/system_error comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/system_error comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/tempbuf.cc comp-obsolete obsolete ./usr/include/g++/tempbuf.h comp-obsolete obsolete -./usr/include/g++/tgmath.h comp-cxx-include gcc=45,cxx -./usr/include/g++/thread comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/array comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/array comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/bessel_function.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/beta_function.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/bind_iterate.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tgmath.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/thread comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/thread comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/array comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/array comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/array comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/bessel_function.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/bessel_function.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/beta_function.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/beta_function.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/bind_iterate.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/bind_iterate.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/bind_repeat.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/bind_iterate.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/bind_repeat.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/bind_repeat.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/boost_shared_ptr.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/bind_repeat.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/boost_shared_ptr.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/boost_shared_ptr.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/ccomplex comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cctype comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cfenv comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cfloat comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cinttypes comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/climits comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cmath comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/complex comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/complex.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cstdarg comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cstdbool comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cstdint comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cstdio comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cstdlib comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/ctgmath comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/ctime comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/ctype.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cwchar comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/cwctype comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/ell_integral.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/exp_integral.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/fenv.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/float.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/functional comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/functional comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/functional_hash.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/functional_iterate.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/boost_shared_ptr.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/ccomplex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/ccomplex comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cctype comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cctype comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cfenv comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cfenv comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cfloat comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cfloat comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cinttypes comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cinttypes comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/climits comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/climits comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cmath comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cmath comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/complex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/complex comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/complex.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/complex.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cstdarg comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cstdarg comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cstdbool comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cstdbool comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cstdint comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cstdint comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cstdio comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cstdio comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cstdlib comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cstdlib comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/ctgmath comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/ctgmath comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/ctime comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/ctime comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/ctype.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/ctype.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cwchar comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cwchar comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/cwctype comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/cwctype comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/ell_integral.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/ell_integral.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/exp_integral.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/exp_integral.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/fenv.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/fenv.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/float.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/float.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/functional comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/functional comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/functional comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/functional_hash.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/functional_hash.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/functional_iterate.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/functional_iterate.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/gamma.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/hashtable comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/functional_iterate.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/gamma.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/gamma.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/hashtable comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/hashtable comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/hashtable.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/hashtable_policy.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/hypergeometric.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/inttypes.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/legendre_function.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/limits.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/math.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/memory comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/memory comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/modified_bessel_func.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/mu_iterate.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/hashtable comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/hashtable.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/hashtable.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/hashtable_policy.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/hashtable_policy.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/hypergeometric.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/hypergeometric.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/inttypes.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/inttypes.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/legendre_function.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/legendre_function.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/limits.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/limits.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/math.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/math.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/memory comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/memory comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/memory comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/modified_bessel_func.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/modified_bessel_func.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/mu_iterate.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/mu_iterate.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/poly_hermite.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/poly_laguerre.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/random comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/random.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/random.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/ref_fwd.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/mu_iterate.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/poly_hermite.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/poly_hermite.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/poly_laguerre.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/poly_laguerre.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/random comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/random comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/random.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/random.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/random.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/random.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/ref_fwd.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/ref_fwd.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/ref_wrap_iterate.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/ref_fwd.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/ref_wrap_iterate.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/ref_wrap_iterate.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/regex comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/repeat.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/ref_wrap_iterate.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/regex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/regex comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/repeat.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/repeat.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/riemann_zeta.tcc comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/shared_ptr.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/special_function_util.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/stdarg.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/stdbool.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/stdint.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/stdio.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/stdlib.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/tgmath.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/tuple comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/tuple comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/tuple_iterate.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/repeat.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/riemann_zeta.tcc comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/riemann_zeta.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/shared_ptr.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/shared_ptr.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/special_function_util.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/special_function_util.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/stdarg.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/stdarg.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/stdbool.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/stdbool.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/stdint.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/stdint.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/stdio.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/stdio.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/stdlib.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/stdlib.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/tgmath.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/tgmath.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/tuple comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/tuple comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/tuple comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/tuple_iterate.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/tuple_iterate.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/type_traits comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/type_traits comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/type_traits_fwd.h comp-cxx-include gcc=4,cxx +./usr/include/g++/tr1/tuple_iterate.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/type_traits comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/type_traits comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/type_traits comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/type_traits_fwd.h comp-cxx-include gcc=4,cxx,libstdcxx ./usr/include/g++/tr1/type_traits_fwd.h comp-obsolete gcc=45,obsolete -./usr/include/g++/tr1/unordered_map comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/unordered_map comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/unordered_map.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/unordered_set comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/unordered_set comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/unordered_set.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/utility comp-cxx-include gcc=4,cxx -./usr/include/g++/tr1/utility comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/wchar.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1/wctype.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/array comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/boost_sp_counted_base.h comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cctype comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cfenv comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cinttypes comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cmath comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/complex comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cstdint comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cstdio comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cstdlib comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cwchar comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/cwctype comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/regex comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/type_traits comp-cxx-include gcc=45,cxx -./usr/include/g++/tr1_impl/utility comp-cxx-include gcc=45,cxx +./usr/include/g++/tr1/type_traits_fwd.h comp-obsolete gcc=48,obsolete +./usr/include/g++/tr1/unordered_map comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/unordered_map comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/unordered_map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/unordered_map.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/unordered_map.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/unordered_set comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/unordered_set comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/unordered_set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/unordered_set.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/unordered_set.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/utility comp-cxx-include gcc=4,cxx,libstdcxx +./usr/include/g++/tr1/utility comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/utility comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/wchar.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/wchar.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1/wctype.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1/wctype.h comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr1_impl/array comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/boost_sp_counted_base.h comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cctype comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cfenv comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cinttypes comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cmath comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/complex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cstdint comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cstdio comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cstdlib comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cwchar comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/cwctype comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/regex comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/type_traits comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr1_impl/utility comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tr2/bool_set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr2/bool_set.tcc comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr2/dynamic_bitset comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr2/ratio comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/tr2/type_traits comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/tree.cc comp-obsolete obsolete ./usr/include/g++/tree.h comp-obsolete obsolete -./usr/include/g++/tuple comp-cxx-include gcc=45,cxx -./usr/include/g++/type_traits comp-cxx-include gcc=45,cxx +./usr/include/g++/tuple comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/tuple comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/type_traits comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/type_traits comp-cxx-include gcc=48,cxx,libstdcxx ./usr/include/g++/type_traits.h comp-obsolete obsolete -./usr/include/g++/typeinfo comp-cxx-include gcc,cxx +./usr/include/g++/typeindex comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/typeinfo comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/typemacros.h comp-obsolete obsolete -./usr/include/g++/unordered_map comp-cxx-include gcc=45,cxx -./usr/include/g++/unordered_set comp-cxx-include gcc=45,cxx -./usr/include/g++/utility comp-cxx-include gcc,cxx -./usr/include/g++/valarray comp-cxx-include gcc,cxx +./usr/include/g++/unordered_map comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/unordered_map comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/unordered_set comp-cxx-include gcc=45,cxx,libstdcxx +./usr/include/g++/unordered_set comp-cxx-include gcc=48,cxx,libstdcxx +./usr/include/g++/utility comp-cxx-include gcc,cxx,libstdcxx +./usr/include/g++/valarray comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/values.h comp-obsolete obsolete -./usr/include/g++/vector comp-cxx-include gcc,cxx +./usr/include/g++/vector comp-cxx-include gcc,cxx,libstdcxx ./usr/include/g++/vector.h comp-obsolete obsolete ./usr/include/gcc-4.5/mf-runtime.h comp-gcc-include gcc=45 ./usr/include/gcc-4.5/omp.h comp-gcc-include gcc=45 +./usr/include/gcc-4.8/mf-runtime.h comp-gcc-include gcc=48 +./usr/include/gcc-4.8/omp.h comp-gcc-include gcc=48 ./usr/include/gelf.h comp-c-include ./usr/include/getopt.h comp-c-include ./usr/include/glob.h comp-c-include @@ -1742,8 +2469,18 @@ ./usr/include/locale.h comp-c-include ./usr/include/login_cap.h comp-c-include ./usr/include/lua.h comp-c-include +./usr/include/lua.hpp comp-c-include ./usr/include/luaconf.h comp-c-include ./usr/include/lualib.h comp-c-include +./usr/include/lutok comp-c-include +./usr/include/lutok/c_gate.hpp comp-c-include kyua +./usr/include/lutok/debug.hpp comp-c-include kyua +./usr/include/lutok/exceptions.hpp comp-c-include kyua +./usr/include/lutok/operations.hpp comp-c-include kyua +./usr/include/lutok/stack_cleaner.hpp comp-c-include kyua +./usr/include/lutok/state.hpp comp-c-include kyua +./usr/include/lutok/state.ipp comp-c-include kyua +./usr/include/lutok/test_utils.hpp comp-c-include kyua ./usr/include/lwp.h comp-c-include ./usr/include/lzf.h comp-c-include ./usr/include/lzfP.h comp-c-include @@ -1804,8 +2541,9 @@ ./usr/include/ndbm.h comp-c-include ./usr/include/net/agr/if_agrioctl.h comp-c-include ./usr/include/net/bpf.h comp-c-include -./usr/include/net/bpfdesc.h comp-c-include ./usr/include/net/bpf_jit.h comp-c-include obsolete +./usr/include/net/bpfdesc.h comp-c-include +./usr/include/net/bpfjit.h comp-c-include ./usr/include/net/dlt.h comp-c-include ./usr/include/net/ethertypes.h comp-c-include ./usr/include/net/if.h comp-c-include @@ -1842,7 +2580,7 @@ ./usr/include/net/net_stats.h comp-c-include ./usr/include/net/netisr.h comp-c-include ./usr/include/net/npf.h comp-c-include -./usr/include/net/npf_ncode.h comp-c-include +./usr/include/net/npf_ncode.h comp-obsolete obsolete ./usr/include/net/pfil.h comp-c-include ./usr/include/net/pfkeyv2.h comp-c-include ./usr/include/net/pfvar.h comp-c-include @@ -1981,35 +2719,35 @@ ./usr/include/netisdn/i4b_rbch_ioctl.h comp-c-include ./usr/include/netisdn/i4b_tel_ioctl.h comp-c-include ./usr/include/netisdn/i4b_trace.h comp-c-include -./usr/include/netiso/argo_debug.h comp-c-include -./usr/include/netiso/clnl.h comp-c-include -./usr/include/netiso/clnp.h comp-c-include -./usr/include/netiso/clnp_stat.h comp-c-include -./usr/include/netiso/cltp_var.h comp-c-include -./usr/include/netiso/cons.h comp-c-include +./usr/include/netiso/argo_debug.h comp-obsolete obsolete +./usr/include/netiso/clnl.h comp-obsolete obsolete +./usr/include/netiso/clnp.h comp-obsolete obsolete +./usr/include/netiso/clnp_stat.h comp-obsolete obsolete +./usr/include/netiso/cltp_var.h comp-obsolete obsolete +./usr/include/netiso/cons.h comp-obsolete obsolete ./usr/include/netiso/cons_pcb.h comp-obsolete obsolete -./usr/include/netiso/eonvar.h comp-c-include -./usr/include/netiso/esis.h comp-c-include -./usr/include/netiso/idrp_var.h comp-c-include -./usr/include/netiso/iso.h comp-c-include -./usr/include/netiso/iso_errno.h comp-c-include -./usr/include/netiso/iso_pcb.h comp-c-include -./usr/include/netiso/iso_snpac.h comp-c-include -./usr/include/netiso/iso_var.h comp-c-include -./usr/include/netiso/tp_clnp.h comp-c-include -./usr/include/netiso/tp_events.h comp-c-include -./usr/include/netiso/tp_ip.h comp-c-include -./usr/include/netiso/tp_meas.h comp-c-include -./usr/include/netiso/tp_param.h comp-c-include -./usr/include/netiso/tp_pcb.h comp-c-include -./usr/include/netiso/tp_seq.h comp-c-include -./usr/include/netiso/tp_stat.h comp-c-include -./usr/include/netiso/tp_states.h comp-c-include -./usr/include/netiso/tp_timer.h comp-c-include -./usr/include/netiso/tp_tpdu.h comp-c-include -./usr/include/netiso/tp_trace.h comp-c-include -./usr/include/netiso/tp_user.h comp-c-include -./usr/include/netiso/tp_var.h comp-c-include +./usr/include/netiso/eonvar.h comp-obsolete obsolete +./usr/include/netiso/esis.h comp-obsolete obsolete +./usr/include/netiso/idrp_var.h comp-obsolete obsolete +./usr/include/netiso/iso.h comp-obsolete obsolete +./usr/include/netiso/iso_errno.h comp-obsolete obsolete +./usr/include/netiso/iso_pcb.h comp-obsolete obsolete +./usr/include/netiso/iso_snpac.h comp-obsolete obsolete +./usr/include/netiso/iso_var.h comp-obsolete obsolete +./usr/include/netiso/tp_clnp.h comp-obsolete obsolete +./usr/include/netiso/tp_events.h comp-obsolete obsolete +./usr/include/netiso/tp_ip.h comp-obsolete obsolete +./usr/include/netiso/tp_meas.h comp-obsolete obsolete +./usr/include/netiso/tp_param.h comp-obsolete obsolete +./usr/include/netiso/tp_pcb.h comp-obsolete obsolete +./usr/include/netiso/tp_seq.h comp-obsolete obsolete +./usr/include/netiso/tp_stat.h comp-obsolete obsolete +./usr/include/netiso/tp_states.h comp-obsolete obsolete +./usr/include/netiso/tp_timer.h comp-obsolete obsolete +./usr/include/netiso/tp_tpdu.h comp-obsolete obsolete +./usr/include/netiso/tp_trace.h comp-obsolete obsolete +./usr/include/netiso/tp_user.h comp-obsolete obsolete +./usr/include/netiso/tp_var.h comp-obsolete obsolete ./usr/include/netiso/tuba_table.h comp-obsolete obsolete ./usr/include/netkey/key.h comp-obsolete obsolete ./usr/include/netkey/key_debug.h comp-obsolete obsolete @@ -2032,6 +2770,7 @@ ./usr/include/netns/spp_timer.h comp-obsolete obsolete ./usr/include/netns/spp_var.h comp-obsolete obsolete ./usr/include/netpgp.h comp-c-include crypto +./usr/include/netpgp/verify.h comp-c-include crypto ./usr/include/netsmb/iconv.h comp-c-include ./usr/include/netsmb/netbios.h comp-c-include ./usr/include/netsmb/smb.h comp-c-include @@ -2067,17 +2806,28 @@ ./usr/include/objc/NXConstStr.h comp-c-include gcc ./usr/include/objc/Object.h comp-c-include gcc ./usr/include/objc/Protocol.h comp-c-include gcc -./usr/include/objc/encoding.h comp-c-include gcc -./usr/include/objc/hash.h comp-c-include gcc +./usr/include/objc/encoding.h comp-c-include gcc=4 +./usr/include/objc/encoding.h comp-c-include gcc=45 +./usr/include/objc/hash.h comp-c-include gcc=4 +./usr/include/objc/hash.h comp-c-include gcc=45 ./usr/include/objc/list.h comp-obsolete obsolete -./usr/include/objc/objc-api.h comp-c-include gcc +./usr/include/objc/message.h comp-objc-include libstdcxx,gcc=48 +./usr/include/objc/objc-api.h comp-c-include gcc=4 +./usr/include/objc/objc-api.h comp-c-include gcc=45 ./usr/include/objc/objc-decls.h comp-cxx-include gcc=4 ./usr/include/objc/objc-decls.h comp-cxx-include gcc=45,cxx -./usr/include/objc/objc-list.h comp-c-include gcc +./usr/include/objc/objc-decls.h comp-cxx-include gcc=48,cxx +./usr/include/objc/objc-exception.h comp-objc-include libstdcxx,gcc=48 +./usr/include/objc/objc-list.h comp-c-include gcc=4 +./usr/include/objc/objc-list.h comp-c-include gcc=45 +./usr/include/objc/objc-sync.h comp-objc-include libstdcxx,gcc=48 ./usr/include/objc/objc.h comp-c-include gcc -./usr/include/objc/sarray.h comp-c-include gcc +./usr/include/objc/runtime.h comp-objc-include libstdcxx,gcc=48 +./usr/include/objc/sarray.h comp-c-include gcc=4 +./usr/include/objc/sarray.h comp-c-include gcc=45 ./usr/include/objc/thr.h comp-c-include gcc -./usr/include/objc/typedstream.h comp-c-include gcc +./usr/include/objc/typedstream.h comp-c-include gcc=4 +./usr/include/objc/typedstream.h comp-c-include gcc=45 ./usr/include/openpgpsdk/accumulate.h comp-obsolete obsolete ./usr/include/openpgpsdk/armour.h comp-obsolete obsolete ./usr/include/openpgpsdk/callback.h comp-obsolete obsolete @@ -2303,6 +3053,8 @@ ./usr/include/rump/rumpkern_if_pub.h comp-c-include rump ./usr/include/rump/rumpnet_if_pub.h comp-c-include rump ./usr/include/rump/rumpuser.h comp-c-include rump +./usr/include/rump/rumpuser_component.h comp-c-include rump +./usr/include/rump/rumpuser_port.h comp-c-include rump ./usr/include/rump/rumpvfs_if_pub.h comp-c-include rump ./usr/include/rump/rumpvnode_if.h comp-c-include rump ./usr/include/rump/scsitest.h comp-c-include rump @@ -2448,6 +3200,7 @@ ./usr/include/sys/localedef.h comp-c-include ./usr/include/sys/lock.h comp-c-include ./usr/include/sys/lockf.h comp-c-include +./usr/include/sys/lua.h comp-c-include ./usr/include/sys/lwp.h comp-c-include ./usr/include/sys/lwpctl.h comp-c-include ./usr/include/sys/malloc.h comp-c-include @@ -2582,6 +3335,31 @@ ./usr/include/termios.h comp-c-include ./usr/include/threadlib.h comp-obsolete obsolete ./usr/include/time.h comp-c-include +./usr/include/trousers/trousers.h comp-c-include tpm +./usr/include/trousers/tss.h comp-c-include tpm +./usr/include/tss/compat11b.h comp-c-include tpm +./usr/include/tss/platform.h comp-c-include tpm +./usr/include/tss/tcpa_defines.h comp-c-include tpm +./usr/include/tss/tcpa_error.h comp-c-include tpm +./usr/include/tss/tcpa_struct.h comp-c-include tpm +./usr/include/tss/tcpa_typedef.h comp-c-include tpm +./usr/include/tss/tcs.h comp-c-include tpm +./usr/include/tss/tcs_defines.h comp-c-include tpm +./usr/include/tss/tcs_error.h comp-c-include tpm +./usr/include/tss/tcs_structs.h comp-c-include tpm +./usr/include/tss/tcs_typedef.h comp-c-include tpm +./usr/include/tss/tddl_error.h comp-c-include tpm +./usr/include/tss/tddlapi_error.h comp-c-include tpm +./usr/include/tss/tddli.h comp-c-include tpm +./usr/include/tss/tpm.h comp-c-include tpm +./usr/include/tss/tpm_error.h comp-c-include tpm +./usr/include/tss/tpm_ordinal.h comp-c-include tpm +./usr/include/tss/tspi.h comp-c-include tpm +./usr/include/tss/tss_defines.h comp-c-include tpm +./usr/include/tss/tss_error.h comp-c-include tpm +./usr/include/tss/tss_error_basics.h comp-c-include tpm +./usr/include/tss/tss_structs.h comp-c-include tpm +./usr/include/tss/tss_typedef.h comp-c-include tpm ./usr/include/ttyent.h comp-c-include ./usr/include/tzfile.h comp-c-include ./usr/include/ucontext.h comp-c-include @@ -2593,6 +3371,7 @@ ./usr/include/ufs/ffs/fs.h comp-c-include ./usr/include/ufs/lfs/lfs.h comp-c-include ./usr/include/ufs/lfs/lfs_extern.h comp-c-include +./usr/include/ufs/lfs/lfs_inode.h comp-c-include ./usr/include/ufs/mfs/mfs_extern.h comp-c-include ./usr/include/ufs/mfs/mfsiom.h comp-obsolete obsolete ./usr/include/ufs/mfs/mfsnode.h comp-c-include @@ -2611,6 +3390,7 @@ ./usr/include/ulimit.h comp-c-include ./usr/include/unctrl.h comp-c-include ./usr/include/unistd.h comp-c-include +./usr/include/unwind.h comp-c-include !libgcc ./usr/include/usb.h comp-obsolete obsolete ./usr/include/usbhid.h comp-c-include ./usr/include/util.h comp-c-include @@ -2675,289 +3455,202 @@ ./usr/lib/crt0.o comp-c-lib ./usr/lib/gcrt0.o comp-c-lib ./usr/lib/i18n/libBIG5.a comp-i18n-lib -./usr/lib/i18n/libBIG5_g.a -unknown- debuglib ./usr/lib/i18n/libDECHanyu.a comp-i18n-lib -./usr/lib/i18n/libDECHanyu_g.a -unknown- debuglib ./usr/lib/i18n/libEUC.a comp-i18n-lib ./usr/lib/i18n/libEUCTW.a comp-i18n-lib -./usr/lib/i18n/libEUCTW_g.a -unknown- debuglib -./usr/lib/i18n/libEUC_g.a -unknown- debuglib ./usr/lib/i18n/libGBK2K.a comp-i18n-lib -./usr/lib/i18n/libGBK2K_g.a -unknown- debuglib ./usr/lib/i18n/libHZ.a comp-i18n-lib -./usr/lib/i18n/libHZ_g.a -unknown- debuglib ./usr/lib/i18n/libISO2022.a comp-i18n-lib -./usr/lib/i18n/libISO2022_g.a -unknown- debuglib ./usr/lib/i18n/libJOHAB.a comp-i18n-lib -./usr/lib/i18n/libJOHAB_g.a -unknown- debuglib ./usr/lib/i18n/libMSKanji.a comp-i18n-lib -./usr/lib/i18n/libMSKanji_g.a -unknown- debuglib ./usr/lib/i18n/libUES.a comp-i18n-lib -./usr/lib/i18n/libUES_g.a -unknown- debuglib ./usr/lib/i18n/libUTF1632.a comp-i18n-lib -./usr/lib/i18n/libUTF1632_g.a -unknown- debuglib ./usr/lib/i18n/libUTF7.a comp-i18n-lib -./usr/lib/i18n/libUTF7_g.a -unknown- debuglib ./usr/lib/i18n/libUTF8.a comp-i18n-lib -./usr/lib/i18n/libUTF8_g.a -unknown- debuglib ./usr/lib/i18n/libVIQR.a comp-i18n-lib -./usr/lib/i18n/libVIQR_g.a -unknown- debuglib ./usr/lib/i18n/libZW.a comp-i18n-lib -./usr/lib/i18n/libZW_g.a -unknown- debuglib ./usr/lib/i18n/libiconv_none.a comp-i18n-lib -./usr/lib/i18n/libiconv_none_g.a -unknown- debuglib ./usr/lib/i18n/libiconv_std.a comp-i18n-lib -./usr/lib/i18n/libiconv_std_g.a -unknown- debuglib ./usr/lib/i18n/libmapper_646.a comp-i18n-lib -./usr/lib/i18n/libmapper_646_g.a -unknown- debuglib ./usr/lib/i18n/libmapper_none.a comp-i18n-lib -./usr/lib/i18n/libmapper_none_g.a -unknown- debuglib ./usr/lib/i18n/libmapper_parallel.a comp-i18n-lib -./usr/lib/i18n/libmapper_parallel_g.a -unknown- debuglib ./usr/lib/i18n/libmapper_serial.a comp-i18n-lib -./usr/lib/i18n/libmapper_serial_g.a -unknown- debuglib ./usr/lib/i18n/libmapper_std.a comp-i18n-lib -./usr/lib/i18n/libmapper_std_g.a -unknown- debuglib ./usr/lib/i18n/libmapper_zone.a comp-i18n-lib -./usr/lib/i18n/libmapper_zone_g.a -unknown- debuglib ./usr/lib/libamu.a comp-obsolete obsolete -./usr/lib/libamu_g.a comp-obsolete obsolete ./usr/lib/libamu_p.a comp-obsolete obsolete -./usr/lib/libamu_pic.a comp-obsolete obsolete ./usr/lib/libarchive.a comp-c-lib -./usr/lib/libarchive_g.a -unknown- debuglib ./usr/lib/libarchive_p.a comp-c-proflib profile ./usr/lib/libasn1.a comp-krb5-lib kerberos -./usr/lib/libasn1_g.a -unknown- debuglib,kerberos ./usr/lib/libasn1_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libatf-c++.a comp-atf-lib atf -./usr/lib/libatf-c++_g.a -unknown- atf,debuglib ./usr/lib/libatf-c++_p.a comp-atf-lib atf,profile ./usr/lib/libatf-c.a comp-atf-lib atf -./usr/lib/libatf-c_g.a -unknown- atf,debuglib ./usr/lib/libatf-c_p.a comp-atf-lib atf,profile ./usr/lib/libatf.a comp-obsolete obsolete ./usr/lib/libatf_p.a comp-obsolete obsolete ./usr/lib/libavl.a comp-zfs-lib zfs -./usr/lib/libavl_g.a -unknown- debuglib,zfs ./usr/lib/libavl_p.a comp-zfs-proflib profile,zfs ./usr/lib/libbfd.a comp-obsolete obsolete -./usr/lib/libbfd_g.a -unknown- debuglib,binutils ./usr/lib/libbind9.a comp-bind-lib -./usr/lib/libbind9_g.a -unknown- debuglib ./usr/lib/libbind9_p.a comp-bind-proflib profile ./usr/lib/libbluetooth.a comp-c-lib -./usr/lib/libbluetooth_g.a -unknown- debuglib ./usr/lib/libbluetooth_p.a comp-c-proflib profile ./usr/lib/libbsdmalloc.a comp-c-lib -./usr/lib/libbsdmalloc_g.a -unknown- debuglib ./usr/lib/libbsdmalloc_p.a comp-c-proflib profile ./usr/lib/libbz2.a comp-c-lib -./usr/lib/libbz2_g.a -unknown- debuglib ./usr/lib/libbz2_p.a comp-c-proflib profile +./usr/lib/libc++.a comp-c-lib libcxx +./usr/lib/libc++_p.a comp-c-proflib libcxx,profile ./usr/lib/libc.a comp-c-lib -./usr/lib/libc_g.a -unknown- debuglib ./usr/lib/libc_p.a comp-c-proflib profile ./usr/lib/libcdk.a comp-obsolete obsolete ./usr/lib/libcdk_p.a comp-obsolete obsolete ./usr/lib/libcom_err.a comp-krb5-lib kerberos -./usr/lib/libcom_err_g.a -unknown- debuglib,kerberos ./usr/lib/libcom_err_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libcompat.a comp-c-lib -./usr/lib/libcompat_g.a -unknown- debuglib ./usr/lib/libcompat_p.a comp-c-proflib profile ./usr/lib/libcrypt.a comp-c-lib -./usr/lib/libcrypt_g.a -unknown- debuglib ./usr/lib/libcrypt_p.a comp-c-proflib profile ./usr/lib/libcrypto.a comp-c-lib crypto -./usr/lib/libcrypto_g.a -unknown- debuglib,crypto ./usr/lib/libcrypto_idea.a comp-obsolete obsolete -./usr/lib/libcrypto_idea_g.a comp-obsolete obsolete ./usr/lib/libcrypto_idea_p.a comp-obsolete obsolete ./usr/lib/libcrypto_mdc2.a comp-obsolete obsolete -./usr/lib/libcrypto_mdc2_g.a comp-obsolete obsolete ./usr/lib/libcrypto_mdc2_p.a comp-obsolete obsolete ./usr/lib/libcrypto_p.a comp-c-proflib profile,crypto ./usr/lib/libcrypto_rc5.a comp-c-lib crypto_rc5 -./usr/lib/libcrypto_rc5_g.a -unknown- debuglib,crypto_rc5 ./usr/lib/libcrypto_rc5_p.a comp-c-proflib profile,crypto_rc5 ./usr/lib/libctf.a comp-c-lib dtrace -./usr/lib/libctf_g.a -unknown- dtrace,debuglib ./usr/lib/libctf_p.a comp-c-proflib dtrace,profile ./usr/lib/libcurses.a comp-c-lib -./usr/lib/libcurses_g.a -unknown- debuglib ./usr/lib/libcurses_p.a comp-c-proflib profile ./usr/lib/libdes.a comp-c-lib crypto -./usr/lib/libdes_g.a -unknown- debuglib,crypto ./usr/lib/libdes_p.a comp-c-proflib profile,crypto ./usr/lib/libdevmapper.a comp-lvm-lib lvm -./usr/lib/libdevmapper_g.a -unknown- debuglib,lvm ./usr/lib/libdevmapper_p.a comp-lvm-proflib profile,lvm ./usr/lib/libdm.a comp-c-lib -./usr/lib/libdm_g.a -unknown- debuglib ./usr/lib/libdm_p.a comp-c-proflib profile ./usr/lib/libdns.a comp-bind-lib -./usr/lib/libdns_g.a -unknown- debuglib ./usr/lib/libdns_p.a comp-bind-proflib profile ./usr/lib/libdns_sd.a comp-mdns-lib mdns -./usr/lib/libdns_sd_g.a -unknown- debuglib,mdns ./usr/lib/libdns_sd_p.a comp-mdns-proflib profile,mdns ./usr/lib/libdtrace.a comp-c-lib dtrace -./usr/lib/libdtrace_g.a -unknown- dtrace,debuglib ./usr/lib/libdtrace_p.a comp-c-proflib dtrace,profile ./usr/lib/libdwarf.a comp-c-lib -./usr/lib/libdwarf_g.a -unknown- debuglib ./usr/lib/libdwarf_p.a comp-c-proflib profile ./usr/lib/libedit.a comp-c-lib -./usr/lib/libedit_g.a -unknown- debuglib ./usr/lib/libedit_p.a comp-c-proflib profile ./usr/lib/libelf.a comp-c-lib -./usr/lib/libelf_g.a -unknown- debuglib ./usr/lib/libelf_p.a comp-c-proflib profile ./usr/lib/libevent.a comp-c-lib -./usr/lib/libevent_g.a -unknown- debuglib +./usr/lib/libevent_openssl.a comp-c-lib crypto +./usr/lib/libevent_openssl_p.a comp-c-proflib profile,crypto ./usr/lib/libevent_p.a comp-c-proflib profile +./usr/lib/libevent_pthreads.a comp-c-lib +./usr/lib/libevent_pthreads_p.a comp-c-proflib profile ./usr/lib/libexecinfo.a comp-c-lib -./usr/lib/libexecinfo_g.a -unknown- debuglib ./usr/lib/libexecinfo_p.a comp-c-proflib profile ./usr/lib/libexpat.a comp-c-lib -./usr/lib/libexpat_g.a -unknown- debuglib ./usr/lib/libexpat_p.a comp-c-proflib profile ./usr/lib/libfetch.a comp-c-lib -./usr/lib/libfetch_g.a -unknown- debuglib ./usr/lib/libfetch_p.a comp-c-proflib profile ./usr/lib/libfl.a comp-c-lib -./usr/lib/libfl_g.a -unknown- debuglib ./usr/lib/libfl_p.a comp-c-proflib profile ./usr/lib/libform.a comp-c-lib -./usr/lib/libform_g.a -unknown- debuglib ./usr/lib/libform_p.a comp-c-proflib profile ./usr/lib/libfrtbegin.a comp-c-lib gcc=3 ./usr/lib/libfrtbegin.a comp-obsolete gcc=4,obsolete ./usr/lib/libg++_p.a comp-obsolete obsolete -./usr/lib/libg++_pic.a comp-obsolete obsolete ./usr/lib/libg++a comp-obsolete obsolete ./usr/lib/libg2c.a comp-fortran-lib gcc=3 ./usr/lib/libg2c.a comp-obsolete gcc=4,obsolete ./usr/lib/libg2c_p.a comp-fortran-proflib gcc=3,profile ./usr/lib/libg2c_p.a comp-obsolete gcc=4,obsolete ./usr/lib/libgcc.a comp-c-lib gcccmds -./usr/lib/libgcc_eh_g.a -unknown- debuglib,gcccmds -./usr/lib/libgcc_g.a -unknown- debuglib,gcccmds ./usr/lib/libgcc_p.a comp-c-proflib obsolete ./usr/lib/libgcc_s.a comp-obsolete obsolete -./usr/lib/libgcc_s_g.a -unknown- debuglib,gcccmds ./usr/lib/libgcov.a comp-c-lib gcccmds -./usr/lib/libgcov_g.a -unknown- debuglib,gcccmds ./usr/lib/libgmp.a -unknown- obsolete ./usr/lib/libgmp.a comp-c-lib obsolete ./usr/lib/libgmp_p.a comp-c-proflib obsolete ./usr/lib/libgnumalloc.a comp-c-lib -./usr/lib/libgnumalloc_g.a -unknown- debuglib ./usr/lib/libgnumalloc_p.a comp-c-proflib profile ./usr/lib/libgomp.a comp-c-lib gcc=45 +./usr/lib/libgomp.a comp-c-lib gcc=48 ./usr/lib/libgomp.spec comp-c-lib gcc=45 -./usr/lib/libgomp_g.a -unknown- debuglib,gcc=45 +./usr/lib/libgomp.spec comp-c-lib gcc=48 ./usr/lib/libgomp_p.a comp-c-proflib profile,gcc=45 +./usr/lib/libgomp_p.a comp-c-proflib profile,gcc=48 ./usr/lib/libgssapi.a comp-krb5-lib kerberos -./usr/lib/libgssapi_g.a -unknown- debuglib,kerberos ./usr/lib/libgssapi_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libhdb.a comp-c-lib kerberos -./usr/lib/libhdb_g.a -unknown- debuglib,kerberos ./usr/lib/libhdb_p.a comp-c-proflib profile,kerberos ./usr/lib/libheimbase.a comp-krb5-lib kerberos -./usr/lib/libheimbase_g.a -unknown- debuglib,kerberos ./usr/lib/libheimbase_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libheimntlm.a comp-krb5-lib kerberos -./usr/lib/libheimntlm_g.a -unknown- debuglib,kerberos ./usr/lib/libheimntlm_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libhx509.a comp-krb5-lib kerberos -./usr/lib/libhx509_g.a -unknown- debuglib,kerberos ./usr/lib/libhx509_p.a comp-krb5-proflib profile,kerberos -./usr/lib/libiberty_g.a -unknown- debuglib,binutils ./usr/lib/libintl.a comp-c-lib -./usr/lib/libintl_g.a -unknown- debuglib ./usr/lib/libintl_p.a comp-c-proflib profile ./usr/lib/libipsec.a comp-c-lib -./usr/lib/libipsec_g.a -unknown- debuglib ./usr/lib/libipsec_p.a comp-c-proflib profile ./usr/lib/libisc.a comp-bind-lib -./usr/lib/libisc_g.a -unknown- debuglib ./usr/lib/libisc_p.a comp-bind-lib profile ./usr/lib/libisccc.a comp-bind-lib -./usr/lib/libisccc_g.a -unknown- debuglib ./usr/lib/libisccc_p.a comp-bind-proflib profile ./usr/lib/libisccfg.a comp-bind-lib -./usr/lib/libisccfg_g.a -unknown- debuglib ./usr/lib/libisccfg_p.a comp-bind-proflib profile ./usr/lib/libiscsi.a comp-iscsi-lib iscsi -./usr/lib/libiscsi_g.a -unknown- debuglib,iscsi ./usr/lib/libiscsi_p.a comp-iscsi-proflib profile,iscsi ./usr/lib/libisns.a comp-isns-lib -./usr/lib/libisns_g.a comp-isns-lib debuglib ./usr/lib/libisns_p.a comp-isns-proflib profile ./usr/lib/libkadm.a comp-obsolete obsolete ./usr/lib/libkadm5clnt.a comp-krb5-lib kerberos -./usr/lib/libkadm5clnt_g.a -unknown- debuglib,kerberos ./usr/lib/libkadm5clnt_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libkadm5srv.a comp-krb5-lib kerberos -./usr/lib/libkadm5srv_g.a -unknown- debuglib,kerberos ./usr/lib/libkadm5srv_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libkadm_p.a comp-obsolete obsolete ./usr/lib/libkafs.a comp-krb5-lib kerberos -./usr/lib/libkafs_g.a -unknown- debuglib,kerberos ./usr/lib/libkafs_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libkdb.a comp-obsolete obsolete ./usr/lib/libkdb_p.a comp-obsolete obsolete ./usr/lib/libkdc.a comp-krb5-lib kerberos -./usr/lib/libkdc_g.a -unknown- debuglib,kerberos ./usr/lib/libkdc_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libkrb.a comp-obsolete obsolete ./usr/lib/libkrb5.a comp-krb5-lib kerberos -./usr/lib/libkrb5_g.a -unknown- debuglib,kerberos ./usr/lib/libkrb5_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libkrb_p.a comp-obsolete obsolete ./usr/lib/libkstream.a comp-obsolete obsolete ./usr/lib/libkstream_p.a comp-obsolete obsolete ./usr/lib/libkvm.a comp-c-lib -./usr/lib/libkvm_g.a -unknown- debuglib ./usr/lib/libkvm_p.a comp-c-proflib profile ./usr/lib/libl.a comp-c-lib -./usr/lib/libl_g.a -unknown- debuglib ./usr/lib/libl_p.a comp-c-proflib profile ./usr/lib/liblber.a comp-ldap-lib ldap -./usr/lib/liblber_g.a -unknown- debuglib,ldap ./usr/lib/liblber_p.a comp-ldap-proflib profile,ldap ./usr/lib/libldap.a comp-ldap-lib ldap -./usr/lib/libldap_g.a -unknown- debuglib,ldap ./usr/lib/libldap_p.a comp-ldap-proflib profile,ldap ./usr/lib/libldap_r.a comp-ldap-lib ldap -./usr/lib/libldap_r_g.a -unknown- debuglib,ldap ./usr/lib/libldap_r_p.a comp-ldap-proflib profile,ldap ./usr/lib/liblua.a comp-c-lib -./usr/lib/liblua_g.a -unknown- debuglib ./usr/lib/liblua_p.a comp-c-proflib profile +./usr/lib/liblutok.a comp-c-lib kyua +./usr/lib/liblutok_p.a comp-c-proflib profile,kyua ./usr/lib/liblwres.a comp-bind-lib -./usr/lib/liblwres_g.a -unknown- debuglib ./usr/lib/liblwres_p.a comp-bind-proflib profile ./usr/lib/liblzf.a comp-c-lib -./usr/lib/liblzf_g.a -unknown- debuglib ./usr/lib/liblzf_p.a comp-c-proflib profile ./usr/lib/liblzma.a comp-c-lib -./usr/lib/liblzma_g.a -unknown- debuglib ./usr/lib/liblzma_p.a comp-c-proflib profile ./usr/lib/libm.a comp-c-lib -./usr/lib/libm_g.a -unknown- debuglib ./usr/lib/libm_p.a comp-c-proflib profile ./usr/lib/libmagic.a comp-c-lib -./usr/lib/libmagic_g.a -unknown- debuglib ./usr/lib/libmagic_p.a comp-c-proflib profile ./usr/lib/libmenu.a comp-c-lib -./usr/lib/libmenu_g.a -unknown- debuglib ./usr/lib/libmenu_p.a comp-c-proflib profile ./usr/lib/libmilter.a comp-obsolete obsolete ./usr/lib/libmj.a comp-c-lib crypto -./usr/lib/libmj_g.a -unknown- debuglib ./usr/lib/libmj_p.a comp-c-proflib profile,crypto ./usr/lib/libmpc.a -unknown- obsolete ./usr/lib/libmpc.a comp-c-lib obsolete @@ -2966,1404 +3659,302 @@ ./usr/lib/libmpfr.a comp-c-lib obsolete ./usr/lib/libmpfr_p.a comp-c-proflib obsolete ./usr/lib/libmudflap.a comp-c-lib gcc=45 -./usr/lib/libmudflap_g.a -unknown- gcc=45,debuglib +./usr/lib/libmudflap.a comp-c-lib gcc=48 ./usr/lib/libmudflap_p.a comp-c-proflib gcc=45,profile +./usr/lib/libmudflap_p.a comp-c-proflib gcc=48,profile ./usr/lib/libmudflapth.a comp-c-lib gcc=45 -./usr/lib/libmudflapth_g.a -unknown- gcc=45,debuglib +./usr/lib/libmudflapth.a comp-c-lib gcc=48 ./usr/lib/libmudflapth_p.a comp-c-proflib gcc=45,profile +./usr/lib/libmudflapth_p.a comp-c-proflib gcc=48,profile ./usr/lib/libnetpgp.a comp-c-lib crypto -./usr/lib/libnetpgp_g.a -unknown- debuglib ./usr/lib/libnetpgp_p.a comp-c-proflib profile,crypto +./usr/lib/libnetpgpverify.a comp-c-lib crypto +./usr/lib/libnetpgpverify_p.a comp-c-proflib profile,crypto ./usr/lib/libnpf.a comp-npf-lib npf -./usr/lib/libnpf_g.a -unknown- debuglib ./usr/lib/libnpf_p.a comp-npf-proflib profile,npf ./usr/lib/libntp.a comp-obsolete obsolete ./usr/lib/libntp_p.a comp-obsolete obsolete -./usr/lib/libntp_pic.a comp-obsolete obsolete ./usr/lib/libnvpair.a comp-zfs-lib zfs -./usr/lib/libnvpair_g.a -unknown- debuglib,zfs ./usr/lib/libnvpair_p.a comp-zfs-proflib profile,zfs ./usr/lib/libobjc.a comp-objc-lib gcccmds -./usr/lib/libobjc_g.a -unknown- debuglib,gcccmds ./usr/lib/libobjc_p.a comp-objc-proflib profile,gcccmds -./usr/lib/libopcodes_g.a comp-obsolete debuglib,binutils ./usr/lib/libopenpgpsdk.a comp-obsolete obsolete -./usr/lib/libopenpgpsdk_g.a comp-obsolete obsolete ./usr/lib/libopenpgpsdk_p.a comp-obsolete obsolete ./usr/lib/libossaudio.a comp-c-lib -./usr/lib/libossaudio_g.a -unknown- debuglib ./usr/lib/libossaudio_p.a comp-c-proflib profile ./usr/lib/libp2k.a comp-puffs-lib rump -./usr/lib/libp2k_g.a -unknown- debuglib,rump ./usr/lib/libp2k_p.a comp-puffs-proflib profile,rump ./usr/lib/libpam.a comp-c-lib pam -./usr/lib/libpam_g.a -unknown- pam,debuglib ./usr/lib/libpcap.a comp-c-lib -./usr/lib/libpcap_g.a -unknown- debuglib ./usr/lib/libpcap_p.a comp-c-proflib profile ./usr/lib/libpcc.a comp-obsolete obsolete -./usr/lib/libpcc_g.a -unknown- obsolete ./usr/lib/libpcc_p.a comp-obsolete obsolete ./usr/lib/libpci.a comp-c-lib -./usr/lib/libpci_g.a -unknown- debuglib ./usr/lib/libpci_p.a comp-c-proflib profile ./usr/lib/libperfuse.a comp-perfuse-lib -./usr/lib/libperfuse_g.a comp-perfuse-lib debuglib ./usr/lib/libperfuse_p.a comp-perfuse-proflib profile ./usr/lib/libposix.a comp-c-lib -./usr/lib/libposix_g.a -unknown- debuglib ./usr/lib/libposix_p.a comp-c-proflib profile ./usr/lib/libppath.a comp-c-lib -./usr/lib/libppath_g.a -unknown- debuglib ./usr/lib/libppath_p.a comp-c-proflib profile ./usr/lib/libprop.a comp-c-lib -./usr/lib/libprop_g.a -unknown- debuglib ./usr/lib/libprop_p.a comp-c-proflib profile ./usr/lib/libpthread.a comp-c-lib ./usr/lib/libpthread_dbg.a comp-c-lib -./usr/lib/libpthread_dbg_g.a -unknown- debuglib ./usr/lib/libpthread_dbg_p.a comp-c-proflib profile -./usr/lib/libpthread_g.a -unknown- debuglib ./usr/lib/libpthread_p.a comp-c-proflib profile ./usr/lib/libpuffs.a comp-puffs-lib -./usr/lib/libpuffs_g.a -unknown- debuglib ./usr/lib/libpuffs_p.a comp-puffs-proflib profile ./usr/lib/libquota.a comp-c-lib -./usr/lib/libquota_g.a -unknown- debuglib ./usr/lib/libquota_p.a comp-c-proflib profile ./usr/lib/libradius.a comp-c-lib -./usr/lib/libradius_g.a -unknown- debuglib ./usr/lib/libradius_p.a comp-c-proflib profile ./usr/lib/librefuse.a comp-refuse-lib -./usr/lib/librefuse_g.a -unknown- debuglib ./usr/lib/librefuse_p.a comp-refuse-proflib profile ./usr/lib/libresolv.a comp-c-lib -./usr/lib/libresolv_g.a -unknown- debuglib ./usr/lib/libresolv_p.a comp-c-proflib profile ./usr/lib/librmt.a comp-c-lib -./usr/lib/librmt_g.a -unknown- debuglib ./usr/lib/libroken.a comp-krb5-lib kerberos -./usr/lib/libroken_g.a -unknown- debuglib,kerberos ./usr/lib/libroken_p.a comp-krb5-proflib profile,kerberos ./usr/lib/librpcsvc.a comp-c-lib -./usr/lib/librpcsvc_g.a -unknown- debuglib ./usr/lib/librpcsvc_p.a comp-c-proflib profile ./usr/lib/librt.a comp-c-lib -./usr/lib/librt_g.a -unknown- debuglib ./usr/lib/librt_p.a comp-c-proflib profile ./usr/lib/librump.a comp-c-lib rump -./usr/lib/librump_g.a -unknown- debuglib,rump ./usr/lib/librump_p.a comp-c-proflib profile,rump ./usr/lib/librumpclient.a comp-c-lib rump -./usr/lib/librumpclient_g.a -unknown- debuglib,rump ./usr/lib/librumpclient_p.a comp-c-proflib profile,rump ./usr/lib/librumpcrypto.a comp-obsolete obsolete -./usr/lib/librumpcrypto_g.a comp-obsolete obsolete ./usr/lib/librumpcrypto_p.a comp-obsolete obsolete ./usr/lib/librumpdev.a comp-c-lib rump ./usr/lib/librumpdev_audio.a comp-c-lib rump -./usr/lib/librumpdev_audio_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_audio_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_bpf.a comp-c-lib rump -./usr/lib/librumpdev_bpf_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_bpf_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_cgd.a comp-c-lib rump -./usr/lib/librumpdev_cgd_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_cgd_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_disk.a comp-c-lib rump -./usr/lib/librumpdev_disk_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_disk_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_dm.a comp-c-lib rump -./usr/lib/librumpdev_dm_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_dm_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_drvctl.a comp-c-lib rump -./usr/lib/librumpdev_drvctl_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_drvctl_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_fss.a comp-c-lib rump -./usr/lib/librumpdev_fss_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_fss_p.a comp-c-proflib profile,rump -./usr/lib/librumpdev_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_md.a comp-c-lib rump -./usr/lib/librumpdev_md_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_md_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_netsmb.a comp-c-lib rump -./usr/lib/librumpdev_netsmb_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_netsmb_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_pad.a comp-c-lib rump -./usr/lib/librumpdev_pad_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_pad_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_pud.a comp-c-lib rump -./usr/lib/librumpdev_pud_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_pud_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_putter.a comp-c-lib rump -./usr/lib/librumpdev_putter_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_putter_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_raidframe.a comp-c-lib rump -./usr/lib/librumpdev_raidframe_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_raidframe_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_rnd.a comp-c-lib rump -./usr/lib/librumpdev_rnd_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_rnd_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_scsipi.a comp-c-lib rump -./usr/lib/librumpdev_scsipi_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_scsipi_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_scsitest.a comp-c-lib rump -./usr/lib/librumpdev_scsitest_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_scsitest_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_sysmon.a comp-c-lib rump -./usr/lib/librumpdev_sysmon_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_sysmon_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_ubt.a comp-c-lib rump -./usr/lib/librumpdev_ubt_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_ubt_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_ucom.a comp-c-lib rump -./usr/lib/librumpdev_ucom_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_ucom_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_ugenhc.a comp-c-lib rump -./usr/lib/librumpdev_ugenhc_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_ugenhc_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_ulpt.a comp-c-lib rump -./usr/lib/librumpdev_ulpt_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_ulpt_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_umass.a comp-c-lib rump -./usr/lib/librumpdev_umass_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_umass_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_usb.a comp-c-lib rump -./usr/lib/librumpdev_usb_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_usb_p.a comp-c-proflib profile,rump ./usr/lib/librumpdev_wscons.a comp-c-lib rump -./usr/lib/librumpdev_wscons_g.a -unknown- debuglib,rump ./usr/lib/librumpdev_wscons_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_cd9660.a comp-c-lib rump -./usr/lib/librumpfs_cd9660_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_cd9660_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_efs.a comp-c-lib rump -./usr/lib/librumpfs_efs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_efs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_ext2fs.a comp-c-lib rump -./usr/lib/librumpfs_ext2fs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_ext2fs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_fdesc.a comp-c-lib rump -./usr/lib/librumpfs_fdesc_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_fdesc_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_ffs.a comp-c-lib rump -./usr/lib/librumpfs_ffs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_ffs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_hfs.a comp-c-lib rump -./usr/lib/librumpfs_hfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_hfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_kernfs.a comp-c-lib rump -./usr/lib/librumpfs_kernfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_kernfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_lfs.a comp-c-lib rump -./usr/lib/librumpfs_lfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_lfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_mfs.a comp-c-lib rump -./usr/lib/librumpfs_mfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_mfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_msdos.a comp-c-lib rump -./usr/lib/librumpfs_msdos_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_msdos_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_nfs.a comp-c-lib rump -./usr/lib/librumpfs_nfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_nfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_nfsserver.a comp-c-lib rump -./usr/lib/librumpfs_nfsserver_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_nfsserver_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_nilfs.a comp-c-lib rump -./usr/lib/librumpfs_nilfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_nilfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_ntfs.a comp-c-lib rump -./usr/lib/librumpfs_ntfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_ntfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_null.a comp-c-lib rump -./usr/lib/librumpfs_null_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_null_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_nullfs.a comp-obsolete obsolete -./usr/lib/librumpfs_nullfs_g.a comp-obsolete obsolete ./usr/lib/librumpfs_nullfs_p.a comp-obsolete obsolete ./usr/lib/librumpfs_ptyfs.a comp-c-lib rump -./usr/lib/librumpfs_ptyfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_ptyfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_smbfs.a comp-c-lib rump -./usr/lib/librumpfs_smbfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_smbfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_syspuffs.a comp-c-lib rump -./usr/lib/librumpfs_syspuffs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_syspuffs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_sysvbfs.a comp-c-lib rump -./usr/lib/librumpfs_sysvbfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_sysvbfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_tmpfs.a comp-c-lib rump -./usr/lib/librumpfs_tmpfs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_tmpfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_udf.a comp-c-lib rump -./usr/lib/librumpfs_udf_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_udf_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_ufs.a comp-obsolete obsolete -./usr/lib/librumpfs_ufs_g.a comp-obsolete obsolete ./usr/lib/librumpfs_ufs_p.a comp-obsolete obsolete ./usr/lib/librumpfs_umap.a comp-c-lib rump -./usr/lib/librumpfs_umap_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_umap_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_umapfs.a comp-obsolete obsolete -./usr/lib/librumpfs_umapfs_g.a comp-obsolete obsolete ./usr/lib/librumpfs_umapfs_p.a comp-obsolete obsolete ./usr/lib/librumpfs_union.a comp-c-lib rump -./usr/lib/librumpfs_union_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_union_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_v7fs.a comp-c-lib rump -./usr/lib/librumpfs_v7fs_g.a -unknown- debuglib,rump ./usr/lib/librumpfs_v7fs_p.a comp-c-proflib profile,rump ./usr/lib/librumpfs_zfs.a comp-c-lib zfs,rump -./usr/lib/librumpfs_zfs_g.a -unknown- zfs,debuglib,rump ./usr/lib/librumpfs_zfs_p.a comp-c-piclib zfs,profile,rump -./usr/lib/librumphijack_g.a -unknown- debuglib,rump ./usr/lib/librumpkern_crypto.a comp-c-lib rump -./usr/lib/librumpkern_crypto_g.a -unknown- debuglib,rump ./usr/lib/librumpkern_crypto_p.a comp-c-proflib profile,rump ./usr/lib/librumpkern_ksem.a comp-obsolete obsolete -./usr/lib/librumpkern_ksem_g.a comp-obsolete obsolete ./usr/lib/librumpkern_ksem_p.a comp-obsolete obsolete +./usr/lib/librumpkern_sljit.a comp-c-lib sljit,rump +./usr/lib/librumpkern_sljit_p.a comp-c-proflib profile,sljit,rump ./usr/lib/librumpkern_solaris.a comp-c-lib zfs,rump -./usr/lib/librumpkern_solaris_g.a -unknown- debuglib,zfs,rump ./usr/lib/librumpkern_solaris_p.a comp-c-proflib profile,zfs,rump ./usr/lib/librumpkern_tty.a comp-c-lib rump -./usr/lib/librumpkern_tty_g.a -unknown- debuglib,rump ./usr/lib/librumpkern_tty_p.a comp-c-proflib profile,rump ./usr/lib/librumpkern_z.a comp-c-lib rump -./usr/lib/librumpkern_z_g.a -unknown- debuglib,rump ./usr/lib/librumpkern_z_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet.a comp-c-lib rump ./usr/lib/librumpnet_agr.a comp-c-lib rump -./usr/lib/librumpnet_agr_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_agr_p.a comp-c-proflib profile,rump +./usr/lib/librumpnet_bpfjit.a comp-c-lib sljit,rump +./usr/lib/librumpnet_bpfjit_p.a comp-c-proflib profile,sljit,rump ./usr/lib/librumpnet_bridge.a comp-c-lib rump -./usr/lib/librumpnet_bridge_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_bridge_p.a comp-c-proflib profile,rump -./usr/lib/librumpnet_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_local.a comp-c-lib rump -./usr/lib/librumpnet_local_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_local_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_net.a comp-c-lib rump ./usr/lib/librumpnet_net80211.a comp-c-lib rump -./usr/lib/librumpnet_net80211_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_net80211_p.a comp-c-proflib profile,rump -./usr/lib/librumpnet_net_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_net_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_netbt.a comp-c-lib rump -./usr/lib/librumpnet_netbt_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_netbt_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_netinet.a comp-c-lib rump -./usr/lib/librumpnet_netinet_g.a -unknown- debuglib,rump +./usr/lib/librumpnet_netinet6.a comp-c-lib rump +./usr/lib/librumpnet_netinet6_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_netinet_p.a comp-c-proflib profile,rump +./usr/lib/librumpnet_netmpls.a comp-c-lib rump +./usr/lib/librumpnet_netmpls_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_npf.a comp-c-lib rump -./usr/lib/librumpnet_npf_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_npf_p.a comp-c-lib profile,rump ./usr/lib/librumpnet_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_shmif.a comp-c-lib rump -./usr/lib/librumpnet_shmif_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_shmif_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_sockin.a comp-c-lib rump -./usr/lib/librumpnet_sockin_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_sockin_p.a comp-c-proflib profile,rump ./usr/lib/librumpnet_virtif.a comp-c-lib rump -./usr/lib/librumpnet_virtif_g.a -unknown- debuglib,rump ./usr/lib/librumpnet_virtif_p.a comp-c-proflib profile,rump ./usr/lib/librumpuser.a comp-c-lib rump -./usr/lib/librumpuser_g.a -unknown- debuglib,rump ./usr/lib/librumpuser_p.a comp-c-proflib profile,rump ./usr/lib/librumpvfs.a comp-c-lib rump ./usr/lib/librumpvfs_fifofs.a comp-c-lib rump -./usr/lib/librumpvfs_fifofs_g.a -unknown- debuglib,rump ./usr/lib/librumpvfs_fifofs_p.a comp-c-proflib profile,rump -./usr/lib/librumpvfs_g.a -unknown- debuglib,rump ./usr/lib/librumpvfs_layerfs.a comp-c-lib rump -./usr/lib/librumpvfs_layerfs_g.a -unknown- debuglib,rump ./usr/lib/librumpvfs_layerfs_p.a comp-c-proflib profile,rump ./usr/lib/librumpvfs_p.a comp-c-proflib profile,rump ./usr/lib/libsaslc.a comp-c-clib crypto -./usr/lib/libsaslc_g.a -unknown- crypto,debuglib ./usr/lib/libsaslc_p.a comp-c-proflib crypto,profile ./usr/lib/libsdp.a comp-obsolete obsolete -./usr/lib/libsdp_g.a -obsolete obsolete ./usr/lib/libsdp_p.a comp-obsolete obsolete ./usr/lib/libskey.a comp-c-lib skey -./usr/lib/libskey_g.a -unknown- debuglib,skey ./usr/lib/libskey_p.a comp-c-proflib profile,skey ./usr/lib/libsl.a comp-krb5-lib kerberos -./usr/lib/libsl_g.a -unknown- kerberos,debuglib ./usr/lib/libsl_p.a comp-krb5-proflib profile,kerberos ./usr/lib/libsm.a comp-obsolete obsolete ./usr/lib/libsqlite3.a comp-c-clib -./usr/lib/libsqlite3_g.a -unknown- debuglib ./usr/lib/libsqlite3_p.a comp-c-proflib profile ./usr/lib/libss.a comp-obsolete obsolete -./usr/lib/libss_g.a -unknown- obsolete ./usr/lib/libss_p.a comp-obsolete obsolete ./usr/lib/libssh.a comp-c-lib crypto -./usr/lib/libssh_g.a -unknown- debuglib ./usr/lib/libssh_p.a comp-c-proflib profile,crypto ./usr/lib/libssl.a comp-c-lib crypto -./usr/lib/libssl_g.a -unknown- debuglib ./usr/lib/libssl_p.a comp-c-proflib profile,crypto ./usr/lib/libssp.a comp-obsolete obsolete ./usr/lib/libssp_p.a comp-obsolete obsolete -./usr/lib/libstdc++.a comp-cxx-lib cxx,gcccmds -./usr/lib/libstdc++_g.a -unknown- debuglib,cxx,gcccmds -./usr/lib/libstdc++_p.a comp-cxx-proflib profile,cxx,gcccmds -./usr/lib/libsupc++.a comp-cxx-lib cxx,gcccmds -./usr/lib/libsupc++_g.a -unknown- debuglib,cxx,gcccmds +./usr/lib/libstdc++.a comp-cxx-lib cxx,gcccmds,libstdcxx +./usr/lib/libstdc++_p.a comp-cxx-proflib profile,cxx,gcccmds,libstdcxx +./usr/lib/libsupc++.a comp-cxx-lib cxx,gcccmds,libstdcxx +./usr/lib/libtddl.a comp-c-lib tpm +./usr/lib/libtddl_p.a comp-c-proflib tpm,profile ./usr/lib/libtelnet.a comp-obsolete obsolete -./usr/lib/libtelnet.so comp-obsolete obsolete ./usr/lib/libtelnet_p.a comp-obsolete obsolete -./usr/lib/libtelnet_pic.a comp-obsolete obsolete ./usr/lib/libtermcap.a comp-c-lib -./usr/lib/libtermcap_g.a comp-obsolete obsolete ./usr/lib/libtermcap_p.a comp-c-proflib profile ./usr/lib/libterminfo.a comp-c-lib -./usr/lib/libterminfo_g.a -unknown- debuglib ./usr/lib/libterminfo_p.a comp-c-proflib profile ./usr/lib/libtermlib.a comp-c-lib ./usr/lib/libtermlib_p.a comp-c-proflib profile +./usr/lib/libtpm_unseal.a comp-c-lib tpm +./usr/lib/libtpm_unseal_p.a comp-c-proflib tpm,profile ./usr/lib/libtre.a comp-c-lib -./usr/lib/libtre_g.a comp-c-proflib debuglib ./usr/lib/libtre_p.a comp-c-proflib profile +./usr/lib/libtspi.a comp-c-lib tpm +./usr/lib/libtspi_p.a comp-c-proflib tpm,profile ./usr/lib/libukfs.a comp-c-lib rump -./usr/lib/libukfs_g.a -unknown- debuglib,rump ./usr/lib/libukfs_p.a comp-c-proflib profile,rump ./usr/lib/libumem.a comp-zfs-lib zfs -./usr/lib/libumem_g.a -unknown- debuglib,zfs ./usr/lib/libumem_p.a comp-zfs-proflib profile,zfs ./usr/lib/libusb.a comp-obsolete obsolete ./usr/lib/libusb_p.a comp-obsolete obsolete -./usr/lib/libusb_pic.a comp-obsolete obsolete ./usr/lib/libusbhid.a comp-c-lib -./usr/lib/libusbhid_g.a -unknown- debuglib ./usr/lib/libusbhid_p.a comp-c-proflib profile ./usr/lib/libutil.a comp-c-lib -./usr/lib/libutil_g.a -unknown- debuglib ./usr/lib/libutil_p.a comp-c-proflib profile ./usr/lib/libuutil.a comp-zfs-lib zfs -./usr/lib/libuutil_g.a -unknown- debuglib,zfs ./usr/lib/libuutil_p.a comp-zfs-proflib profile,zfs -./usr/lib/libvers_g.a -unknown- kerberos,debuglib ./usr/lib/libwind.a comp-krb5-lib kerberos -./usr/lib/libwind_g.a -unknown- kerberos,debuglib ./usr/lib/libwind_p.a comp-krb5-proflib kerberos,profile ./usr/lib/libwrap.a comp-c-lib -./usr/lib/libwrap_g.a -unknown- debuglib ./usr/lib/libwrap_p.a comp-c-proflib profile ./usr/lib/liby.a comp-c-lib -./usr/lib/liby_g.a -unknown- debuglib ./usr/lib/liby_p.a comp-c-proflib profile ./usr/lib/libz.a comp-c-lib -./usr/lib/libz_g.a -unknown- debuglib ./usr/lib/libz_p.a comp-c-proflib profile ./usr/lib/libzfs.a comp-zfs-lib zfs -./usr/lib/libzfs_g.a -unknown- debuglib,zfs ./usr/lib/libzfs_p.a comp-zfs-proflib profile,zfs ./usr/lib/libzpool.a comp-zfs-lib zfs -./usr/lib/libzpool_g.a -unknown- debuglib,zfs ./usr/lib/libzpool_p.a comp-zfs-proflib profile,zfs ./usr/lib/pkgconfig comp-c-lib ./usr/lib/pkgconfig/atf-c++.pc comp-atf-lib atf,share ./usr/lib/pkgconfig/atf-c.pc comp-atf-lib atf,share ./usr/lib/pkgconfig/atf-sh.pc comp-atf-lib atf,share ./usr/lib/pkgconfig/atf.pc comp-obsolete obsolete +./usr/lib/pkgconfig/kyua-testers.pc comp-kyua-lib kyua,share +./usr/lib/pkgconfig/libcrypto.pc comp-crypto-lib crypto,share +./usr/lib/pkgconfig/libssl.pc comp-crypto-lib crypto,share +./usr/lib/pkgconfig/lutok.pc comp-crypto-lib kyua,share +./usr/lib/pkgconfig/openssl.pc comp-crypto-lib crypto,share ./usr/lib/pkgconfig/sqlite3.pc comp-c-lib -./usr/libdata/debug/bin/cat.debug comp-util-debug debug -./usr/libdata/debug/bin/chio.debug comp-util-debug debug -./usr/libdata/debug/bin/chmod.debug comp-util-debug debug -./usr/libdata/debug/bin/cp.debug comp-util-debug debug -./usr/libdata/debug/bin/csh.debug comp-util-debug debug -./usr/libdata/debug/bin/date.debug comp-util-debug debug -./usr/libdata/debug/bin/dd.debug comp-util-debug debug -./usr/libdata/debug/bin/df.debug comp-util-debug debug -./usr/libdata/debug/bin/domainname.debug comp-nis-debug debug -./usr/libdata/debug/bin/echo.debug comp-util-debug debug -./usr/libdata/debug/bin/ed.debug comp-util-debug debug -./usr/libdata/debug/bin/expr.debug comp-util-debug debug -./usr/libdata/debug/bin/hostname.debug comp-util-debug debug -./usr/libdata/debug/bin/kill.debug comp-util-debug debug -./usr/libdata/debug/bin/ksh.debug comp-util-debug debug -./usr/libdata/debug/bin/ln.debug comp-util-debug debug -./usr/libdata/debug/bin/ls.debug comp-util-debug debug -./usr/libdata/debug/bin/mkdir.debug comp-util-debug debug -./usr/libdata/debug/bin/mt.debug comp-util-debug debug -./usr/libdata/debug/bin/mv.debug comp-util-debug debug -./usr/libdata/debug/bin/pax.debug comp-util-debug debug -./usr/libdata/debug/bin/ps.debug comp-util-debug debug -./usr/libdata/debug/bin/pwd.debug comp-util-debug debug -./usr/libdata/debug/bin/rcmd.debug comp-netutil-debug debug -./usr/libdata/debug/bin/rcp.debug comp-netutil-debug debug -./usr/libdata/debug/bin/rm.debug comp-util-debug debug -./usr/libdata/debug/bin/rmdir.debug comp-util-debug debug -./usr/libdata/debug/bin/rump.dd.debug comp-util-debug debug,rump -./usr/libdata/debug/bin/sh.debug comp-util-debug debug -./usr/libdata/debug/bin/sleep.debug comp-util-debug debug -./usr/libdata/debug/bin/stty.debug comp-util-debug debug -./usr/libdata/debug/bin/sync.debug comp-util-debug debug -./usr/libdata/debug/bin/systrace.debug comp-obsolete obsolete -./usr/libdata/debug/bin/test.debug comp-util-debug debug -./usr/libdata/debug/libexec/lfs_cleanerd.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/amrctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/apmlabel.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/atactl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/badsect.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/bioctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/brconfig.debug comp-netutil-debug debug -./usr/libdata/debug/sbin/ccdconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/cgdconfig.debug comp-sysutil-debug crypto,debug -./usr/libdata/debug/sbin/chown.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/clri.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/devpubd.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dhclient.debug comp-dhclient-debug debug -./usr/libdata/debug/sbin/dhcpcd.debug comp-dhcpcd-debug debug -./usr/libdata/debug/sbin/disklabel.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dkctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dkscan_bsdlabel.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dmctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dmesg.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dmsetup.debug comp-sysutil-debug lvm,debug -./usr/libdata/debug/sbin/drvctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dump.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/dump_lfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fdisk.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsck.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsck_ext2fs.debug comp-ext2fs-debug debug -./usr/libdata/debug/sbin/fsck_ffs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsck_lfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsck_msdos.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsck_v7fs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsdb.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/fsirand.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/gpt.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/ifconfig.debug comp-netutil-debug debug -./usr/libdata/debug/sbin/init.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/ipf.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/sbin/iscsictl.debug comp-iscsi-debug iscsi,debug -./usr/libdata/debug/sbin/iscsid.debug comp-iscsi-debug iscsi,debug -./usr/libdata/debug/sbin/lvm.debug comp-sysutil-debug lvm,debug -./usr/libdata/debug/sbin/mbrlabel.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mknod.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/modload.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/modstat.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/modunload.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_ados.debug comp-adosfs-debug debug -./usr/libdata/debug/sbin/mount_cd9660.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_chfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_efs.debug comp-efs-debug debug -./usr/libdata/debug/sbin/mount_ext2fs.debug comp-ext2fs-debug debug -./usr/libdata/debug/sbin/mount_fdesc.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_ffs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_filecore.debug comp-filecorefs-debug debug -./usr/libdata/debug/sbin/mount_hfs.debug comp-hfs-debug debug -./usr/libdata/debug/sbin/mount_kernfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_lfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_msdos.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_nfs.debug comp-nfsclient-debug debug -./usr/libdata/debug/sbin/mount_nilfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_ntfs.debug comp-ntfs-debug debug -./usr/libdata/debug/sbin/mount_null.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_overlay.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_portal.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_procfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_ptyfs.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_puffs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_smbfs.debug comp-smbfs-debug debug -./usr/libdata/debug/sbin/mount_sysvbfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_tmpfs.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_udf.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/mount_umap.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_union.debug comp-miscfs-debug debug -./usr/libdata/debug/sbin/mount_v7fs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs_ext2fs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs_lfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs_msdos.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs_sysvbfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs_udf.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/newfs_v7fs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/pdisk.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/pfctl.debug comp-pf-debug pf,debug -./usr/libdata/debug/sbin/pflogd.debug comp-pf-debug pf,debug -./usr/libdata/debug/sbin/pfs.debug comp-pf-debug pf,debug -./usr/libdata/debug/sbin/ping.debug comp-netutil-debug debug -./usr/libdata/debug/sbin/ping6.debug comp-netutil-debug use_inet6,debug -./usr/libdata/debug/sbin/pppoectl.debug comp-netutil-debug debug -./usr/libdata/debug/sbin/raidctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/rcorder.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/reboot.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/resize_ffs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/resize_lfs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/restore.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/rndctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/route.debug comp-netutil-debug debug -./usr/libdata/debug/sbin/routed.debug comp-router-debug debug -./usr/libdata/debug/sbin/rtsol.debug comp-netutil-debug use_inet6,debug -./usr/libdata/debug/sbin/rump.cgdconfig.debug comp-sysutil-debug crypto,debug,rump -./usr/libdata/debug/sbin/rump.ifconfig.debug comp-netutil-debug debug,rump -./usr/libdata/debug/sbin/rump.modload.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/sbin/rump.modstat.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/sbin/rump.modunload.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/sbin/rump.ping.debug comp-netutil-debug debug,rump -./usr/libdata/debug/sbin/rump.raidctl.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/sbin/rump.route.debug comp-netutil-debug debug,rump -./usr/libdata/debug/sbin/rump.sysctl.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/sbin/savecore.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/scan_ffs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/scsictl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/setkey.debug comp-netutil-debug debug -./usr/libdata/debug/sbin/shutdown.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/slattach.debug comp-slip-debug debug -./usr/libdata/debug/sbin/svhlabel.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/swapctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/sysctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/tbrconfig.debug comp-router-debug debug -./usr/libdata/debug/sbin/ttyflags.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/tunefs.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/umount.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/veriexecctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/wdogctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/wsconsctl.debug comp-sysutil-debug debug -./usr/libdata/debug/sbin/zfs.debug comp-zfs-debug zfs,debug -./usr/libdata/debug/sbin/zpool.debug comp-zfs-debug zfs,debug -./usr/libdata/debug/usr/bin/addftinfo.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/addr2line.debug comp-debug-debug binutils,debug -./usr/libdata/debug/usr/bin/agrep.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/apply.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/apropos.debug comp-man-debug debug -./usr/libdata/debug/usr/bin/ar.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/arpaname.debug comp-bind-debug debug -./usr/libdata/debug/usr/bin/as.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/asa.debug comp-fortran-debug debug -./usr/libdata/debug/usr/bin/at.debug comp-cron-debug debug -./usr/libdata/debug/usr/bin/atf-check.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/atf-compile.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/atf-config.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/bin/atf-report.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/bin/atf-run.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/bin/atf-sh.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/bin/atf-version.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/bin/audiocfg.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/audioctl.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/audioplay.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/audiorecord.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/awk.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/banner.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/basename.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/bc.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/bdes.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/bin/biff.debug comp-mail-debug debug -./usr/libdata/debug/usr/bin/bthset.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/btkey.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/btpin.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/bzip2.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/bzip2recover.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/c++filt.debug comp-cxx-debug binutils,debug -./usr/libdata/debug/usr/bin/cal.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/calendar.debug comp-calendar-debug debug -./usr/libdata/debug/usr/bin/cap_mkdb.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/cdplay.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/checknr.debug comp-groff-debug debug -./usr/libdata/debug/usr/bin/chflags.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/chpass.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ci.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/cksum.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/cmp.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/co.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/col.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/colcrt.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/colrm.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/column.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/comm.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/compile_et.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/compress.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/config.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/cpp.debug comp-util-debug gcccmds,debug -./usr/libdata/debug/usr/bin/crontab.debug comp-cron-debug debug -./usr/libdata/debug/usr/bin/crunchgen.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/crunchide.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/csplit.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/ctags.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/ctfconvert.debug comp-util-debug dtrace,debug -./usr/libdata/debug/usr/bin/ctfdump.debug comp-util-debug dtrace,debug -./usr/libdata/debug/usr/bin/ctfmerge.debug comp-util-debug dtrace,debug -./usr/libdata/debug/usr/bin/cut.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/cvs.debug comp-cvs-debug cvs,debug -./usr/libdata/debug/usr/bin/db.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/dc.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/deroff.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/diff.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/diff3.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/dig.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/dirname.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/dns-sd.debug comp-mdns-debug mdns,debug -./usr/libdata/debug/usr/bin/du.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/eject.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/elfedit.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/env.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/eqn.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/error.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/expand.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/f77.debug comp-fortran-debug gcc=3,gcccmds,debug -./usr/libdata/debug/usr/bin/fgen.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/file.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/fincore.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/find.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/finger.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/fmt.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/fold.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/fort77.debug comp-fortran-debug gcc=3,gcccmds,debug -./usr/libdata/debug/usr/bin/fpr.debug comp-fortran-debug debug -./usr/libdata/debug/usr/bin/from.debug comp-mail-debug debug -./usr/libdata/debug/usr/bin/fsplit.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/fstat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ftp.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/g++.debug comp-cxx-debug gcccmds,debug -./usr/libdata/debug/usr/bin/g77.debug comp-fortran-debug gcc=3,gcccmds,debug -./usr/libdata/debug/usr/bin/gcc.debug comp-c-debug gcccmds,debug -./usr/libdata/debug/usr/bin/gcore.debug comp-debug-debug debug -./usr/libdata/debug/usr/bin/gcov.debug comp-debug-debug gcccmds,debug -./usr/libdata/debug/usr/bin/gdb.debug comp-debug-debug gdb,debug -./usr/libdata/debug/usr/bin/gdbtui.debug comp-debug-debug gdb,debug -./usr/libdata/debug/usr/bin/gencat.debug comp-locale-debug debug -./usr/libdata/debug/usr/bin/getconf.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/getent.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/getextattr.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/getopt.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/gettext.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/gkermit.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/gprof.debug comp-debug-debug binutils,debug -./usr/libdata/debug/usr/bin/grep.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/grn.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/grodvi.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/groff.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/grolbp.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/grolj4.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/grops.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/grotty.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/gss.debug comp-krb5-debug kerberos,debug,obsolete -./usr/libdata/debug/usr/bin/gsstool.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/gzip.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/head.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/hesinfo.debug comp-hesiod-debug hesiod,debug -./usr/libdata/debug/usr/bin/hexdump.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/host.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/hpftodit.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/hxtool.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/iconv.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/id.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ident.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/indent.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/indxbib.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/info.debug comp-texinfo-debug debug -./usr/libdata/debug/usr/bin/infocmp.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/infokey.debug comp-texinfo-debug debug -./usr/libdata/debug/usr/bin/innetgr.debug comp-nis-debug debug -./usr/libdata/debug/usr/bin/install-info.debug comp-texinfo-debug debug -./usr/libdata/debug/usr/bin/install.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ipcrm.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ipcs.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/join.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/jot.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/kcc.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/kdestroy.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/kdump.debug comp-debug-debug debug -./usr/libdata/debug/usr/bin/kgetcred.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/kinit.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/klist.debug comp-krb5-debug kerberos,debug,obsolete -./usr/libdata/debug/usr/bin/kpasswd.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/ktrace.debug comp-debug-debug debug -./usr/libdata/debug/usr/bin/ktruss.debug comp-debug-debug debug -./usr/libdata/debug/usr/bin/lam.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/last.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lastcomm.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ld.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/ldapcompare.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapdelete.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapexop.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapmodify.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapmodrdn.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldappasswd.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapsearch.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapurl.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldapwhoami.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/bin/ldd.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/leave.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/less.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lessecho.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lesskey.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lex.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/lint.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/lkbib.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/locale.debug comp-locale-debug debug -./usr/libdata/debug/usr/bin/locate.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lock.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/logger.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/login.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/logname.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/look.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lookbib.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/lpq.debug comp-lpr-debug debug -./usr/libdata/debug/usr/bin/lpr.debug comp-lpr-debug debug -./usr/libdata/debug/usr/bin/lprm.debug comp-lpr-debug debug -./usr/libdata/debug/usr/bin/lua.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/luac.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lzf.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/lzmainfo.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/m4.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/mail.debug comp-mail-debug debug -./usr/libdata/debug/usr/bin/make.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/makeinfo.debug comp-texinfo-debug debug -./usr/libdata/debug/usr/bin/man.debug comp-man-debug debug -./usr/libdata/debug/usr/bin/mandoc.debug comp-mdocml-debug debug -./usr/libdata/debug/usr/bin/menuc.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/merge.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/mesg.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/midiplay.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/mixerctl.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/mk_cmds.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/mkcsmapper.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/mkdep.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/mkesdb.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/mkfifo.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/mklocale.debug comp-locale-debug debug -./usr/libdata/debug/usr/bin/mkstr.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/mktemp.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/mkubootimage.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/modstat.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/mset.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/msgattrib.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgc.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgcat.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgcmp.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgcomm.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgconv.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgen.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgexec.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgfmt.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msginit.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgmerge.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msgs.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/msgunfmt.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/msguniq.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/nbperf.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/nbsvtool.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/bin/netgroup.debug comp-nis-debug debug -./usr/libdata/debug/usr/bin/netpgp.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/bin/netpgpkeys.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/bin/netpgpverify.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/bin/netstat.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/newgrp.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/newsyslog.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/nfsstat.debug comp-nfsclient-debug debug -./usr/libdata/debug/usr/bin/nice.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/nl.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/nm.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/nohup.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/nslookup.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/nsupdate.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/nvi.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/objcopy.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/objdump.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/openpgp.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/openssl.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/bin/passwd.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/paste.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/patch.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/pathchk.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/pawd.debug comp-amd-debug debug -./usr/libdata/debug/usr/bin/paxctl.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/pcc.debug comp-c-debug pcc,debug -./usr/libdata/debug/usr/bin/pfbtops.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/pic.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/pigz.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/pkill.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/pmap.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/post-grohtml.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/pr.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/pre-grohtml.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/printenv.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/printf.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/progress.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/protoize.debug comp-c-debug gcc=4,gcccmds,debug -./usr/libdata/debug/usr/bin/protoize.debug comp-obsolete gcc=45,obsolete -./usr/libdata/debug/usr/bin/pwhash.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/qsafe.debug comp-util-debug crypto,debug -./usr/libdata/debug/usr/bin/qsieve.debug comp-util-debug crypto,debug -./usr/libdata/debug/usr/bin/qsubst.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/quota.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/radioctl.debug comp-audio-debug debug -./usr/libdata/debug/usr/bin/ranlib.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/rcs.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/rcsclean.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/rcsdiff.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/rcsmerge.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/rdist.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/readelf.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/refer.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/renice.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/rev.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/revoke.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/rfcomm_sppd.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/rlog.debug comp-rcs-debug debug -./usr/libdata/debug/usr/bin/rlogin.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/rpcgen.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/rpcinfo.debug comp-rpcutil-debug debug -./usr/libdata/debug/usr/bin/rs.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/rsh.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/rump.dhcpclient.debug comp-util-debug debug,rump -./usr/libdata/debug/usr/bin/rump.halt.debug comp-util-debug debug,rump -./usr/libdata/debug/usr/bin/rump.netstat.debug comp-netutil-debug debug,rump -./usr/libdata/debug/usr/bin/rump.sockstat.debug comp-util-debug debug,rump -./usr/libdata/debug/usr/bin/rump_allserver.debug comp-util-debug debug,rump -./usr/libdata/debug/usr/bin/rump_server.debug comp-util-debug debug,rump -./usr/libdata/debug/usr/bin/rup.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/ruptime.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/rusers.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/rwall.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/rwho.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/scp.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/script.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/sdiff.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/sdpquery.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/sed.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/seq.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/sftp.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/shlock.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/shmif_dumpbus.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/showmount.debug comp-nfsclient-debug debug -./usr/libdata/debug/usr/bin/shuffle.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/size.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/skey.debug comp-util-debug skey,debug -./usr/libdata/debug/usr/bin/skeyinfo.debug comp-util-debug skey,debug -./usr/libdata/debug/usr/bin/skeyinit.debug comp-util-debug skey,debug -./usr/libdata/debug/usr/bin/sockstat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/soelim.debug comp-groff-debug debug -./usr/libdata/debug/usr/bin/sort.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/split.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/sqlite3.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ssh-add.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/ssh-agent.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/ssh-keygen.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/ssh-keyscan.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/ssh.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/bin/stat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/string2key.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/strings.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/strip.debug comp-util-debug binutils,debug -./usr/libdata/debug/usr/bin/su.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/systat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tabs.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tail.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/talk.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/tbl.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/tcopy.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tee.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/telnet.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/texindex.debug comp-texinfo-debug debug -./usr/libdata/debug/usr/bin/tfmtodit.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/tftp.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/tic.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/time.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tip.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tmux.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tn3270.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/top.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/touch.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tpfmt.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tput.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tr.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/troff.debug comp-groff-debug groff,debug -./usr/libdata/debug/usr/bin/tset.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tsort.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/tty.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ul.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/uname.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/unexpand.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/unifdef.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/uniq.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/units.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/unprotoize.debug comp-c-debug gcc=4,gcccmds,debug -./usr/libdata/debug/usr/bin/unprotoize.debug comp-obsolete gcc=45,obsolete -./usr/libdata/debug/usr/bin/unvis.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/unzip.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/usbhidaction.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/usbhidctl.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/users.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/utoppya.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/uucp.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/uudecode.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/uuencode.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/uuidgen.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/uulog.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/uuname.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/uupick.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/uustat.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/uux.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/vacation.debug comp-mail-debug debug -./usr/libdata/debug/usr/bin/verify_krb5_conf.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/bin/vi.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/videoctl.debug comp-video-debug debug -./usr/libdata/debug/usr/bin/vis.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/vmstat.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/vndcompress.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/w.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/wall.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/wc.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/what.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/whatis.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/whereis.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/who.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/whois.debug comp-netutil-debug debug -./usr/libdata/debug/usr/bin/window.debug comp-obsolete obsolete -./usr/libdata/debug/usr/bin/write.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/xargs.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/xgettext.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/xmlwf.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/xstr.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/xz.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/yacc.debug comp-c-debug debug -./usr/libdata/debug/usr/bin/yes.debug comp-util-debug debug -./usr/libdata/debug/usr/bin/ypcat.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/bin/ypmatch.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/bin/ypwhich.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/bin/ztest.debug comp-zfs-debug zfs,debug -./usr/libdata/debug/usr/games/adventure.debug comp-games-debug debug -./usr/libdata/debug/usr/games/arithmetic.debug comp-games-debug debug -./usr/libdata/debug/usr/games/atc.debug comp-games-debug debug -./usr/libdata/debug/usr/games/backgammon.debug comp-games-debug debug -./usr/libdata/debug/usr/games/banner.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/battlestar.debug comp-games-debug debug -./usr/libdata/debug/usr/games/bcd.debug comp-games-debug debug -./usr/libdata/debug/usr/games/boggle.debug comp-games-debug debug -./usr/libdata/debug/usr/games/caesar.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/canfield.debug comp-games-debug debug -./usr/libdata/debug/usr/games/cfscores.debug comp-games-debug debug -./usr/libdata/debug/usr/games/colorbars.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/cribbage.debug comp-games-debug debug -./usr/libdata/debug/usr/games/dab.debug comp-games-debug debug -./usr/libdata/debug/usr/games/dm.debug comp-games-debug debug -./usr/libdata/debug/usr/games/factor.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/fish.debug comp-games-debug debug -./usr/libdata/debug/usr/games/fortune.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/gomoku.debug comp-games-debug debug -./usr/libdata/debug/usr/games/hack.debug comp-games-debug debug -./usr/libdata/debug/usr/games/hangman.debug comp-games-debug debug -./usr/libdata/debug/usr/games/hunt.debug comp-games-debug debug -./usr/libdata/debug/usr/games/huntd.debug comp-games-debug debug -./usr/libdata/debug/usr/games/larn.debug comp-games-debug debug -./usr/libdata/debug/usr/games/mille.debug comp-games-debug debug -./usr/libdata/debug/usr/games/monop.debug comp-games-debug debug -./usr/libdata/debug/usr/games/morse.debug comp-games-debug debug -./usr/libdata/debug/usr/games/number.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/phantasia.debug comp-games-debug debug -./usr/libdata/debug/usr/games/pig.debug comp-games-debug debug -./usr/libdata/debug/usr/games/pom.debug comp-games-debug debug -./usr/libdata/debug/usr/games/ppt.debug comp-games-debug debug -./usr/libdata/debug/usr/games/primes.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/quiz.debug comp-games-debug debug -./usr/libdata/debug/usr/games/rain.debug comp-games-debug debug -./usr/libdata/debug/usr/games/random.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/robots.debug comp-games-debug debug -./usr/libdata/debug/usr/games/rogue.debug comp-games-debug debug -./usr/libdata/debug/usr/games/sail.debug comp-games-debug debug -./usr/libdata/debug/usr/games/snake.debug comp-games-debug debug -./usr/libdata/debug/usr/games/snscore.debug comp-games-debug debug -./usr/libdata/debug/usr/games/strfile.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/teachgammon.debug comp-games-debug debug -./usr/libdata/debug/usr/games/tetris.debug comp-games-debug debug -./usr/libdata/debug/usr/games/trek.debug comp-games-debug debug -./usr/libdata/debug/usr/games/unstr.debug comp-utils-debug debug -./usr/libdata/debug/usr/games/worm.debug comp-games-debug debug -./usr/libdata/debug/usr/games/worms.debug comp-games-debug debug -./usr/libdata/debug/usr/games/wump.debug comp-games-debug debug -./usr/libdata/debug/usr/libexec/atf-check.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/libexec/atf-cleanup.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/atf-exec.debug comp-atf-debug obsolete -./usr/libdata/debug/usr/libexec/atf-format.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/atf-killpg.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/atrun.debug comp-cron-debug debug -./usr/libdata/debug/usr/libexec/cc1.debug comp-c-debug gcccmds,debug -./usr/libdata/debug/usr/libexec/cc1obj.debug comp-objc-debug gcccmds,debug -./usr/libdata/debug/usr/libexec/cc1plus.debug comp-cxx-debug gcccmds,debug -./usr/libdata/debug/usr/libexec/ccom.debug comp-c-debug pcc,debug -./usr/libdata/debug/usr/libexec/ching/castching.debug comp-games-debug debug -./usr/libdata/debug/usr/libexec/ching/printching.debug comp-games-debug debug -./usr/libdata/debug/usr/libexec/comsat.debug comp-mail-debug debug -./usr/libdata/debug/usr/libexec/cpp.debug comp-obsolete pcc,obsolete -./usr/libdata/debug/usr/libexec/digest-service.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/libexec/f771.debug comp-fortran-debug gcc=3,gcccmds,debug -./usr/libdata/debug/usr/libexec/f771.debug comp-obsolete gcc=4,obsolete -./usr/libdata/debug/usr/libexec/fingerd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/ftp-proxy.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/ftpd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/getNAME.debug comp-man-debug !makemandb,debug -./usr/libdata/debug/usr/libexec/getty.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/libexec/hpropd.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/libexec/httpd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/identd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/ipropd-master.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/libexec/ipropd-slave.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/libexec/kadmind.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/libexec/kpasswdd.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/libexec/lfs_cleanerd.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/lint1.debug comp-c-debug debug -./usr/libdata/debug/usr/libexec/lint2.debug comp-c-debug debug -./usr/libdata/debug/usr/libexec/locate.bigram.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/libexec/locate.code.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/libexec/lpr/lpf.debug comp-lpr-debug debug -./usr/libdata/debug/usr/libexec/mail.local.debug comp-mail-debug debug -./usr/libdata/debug/usr/libexec/makekey.debug comp-crypto-debug debug -./usr/libdata/debug/usr/libexec/makewhatis.debug comp-man-debug !makemandb,debug -./usr/libdata/debug/usr/libexec/ntalkd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/pcpp.debug comp-c-debug pcc,debug -./usr/libdata/debug/usr/libexec/postfix/anvil.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/bounce.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/cleanup.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/discard.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/dnsblog.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/error.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/flush.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/local.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/master.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/oqmgr.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/pickup.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/pipe.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/postscreen.debug comp-postfix-debug postfix,crypto,debug -./usr/libdata/debug/usr/libexec/postfix/proxymap.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/qmgr.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/scache.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/sendmail.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/showq.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/smtp.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/smtpd.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/spawn.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/tlsmgr.debug comp-postfix-debug postfix,crypto,debug -./usr/libdata/debug/usr/libexec/postfix/tlsproxy.debug comp-postfix-debug postfix,crypto,debug -./usr/libdata/debug/usr/libexec/postfix/trivial-rewrite.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/verify.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/postfix/virtual.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/libexec/rexecd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/rlogind.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/rmail.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/rpc.rquotad.debug comp-nfsserver-debug debug -./usr/libdata/debug/usr/libexec/rpc.rstatd.debug comp-rpcserver-debug debug -./usr/libdata/debug/usr/libexec/rpc.rusersd.debug comp-rpcserver-debug debug -./usr/libdata/debug/usr/libexec/rpc.rwalld.debug comp-rpcserver-debug debug -./usr/libdata/debug/usr/libexec/rpc.sprayd.debug comp-rpcserver-debug debug -./usr/libdata/debug/usr/libexec/rshd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/sftp-server.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/libexec/spellprog.debug comp-util-debug debug -./usr/libdata/debug/usr/libexec/ssh-keysign.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/libexec/ssh-pkcs11-helper.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/libexec/telnetd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/tftp-proxy.debug comp-pf-debug pf,debug -./usr/libdata/debug/usr/libexec/tftpd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/libexec/utmp_update.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/libexec/uucp/uucico.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/uucp/uuconv.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/uucp/uuxqt.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/uucpd.debug comp-obsolete obsolete -./usr/libdata/debug/usr/libexec/vfontedpr.debug comp-groff-debug debug -./usr/libdata/debug/usr/sbin/ac.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/accton.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/altqd.debug comp-router-debug debug -./usr/libdata/debug/usr/sbin/altqstat.debug comp-router-debug debug -./usr/libdata/debug/usr/sbin/amd.debug comp-amd-debug debug -./usr/libdata/debug/usr/sbin/amq.debug comp-amd-debug debug -./usr/libdata/debug/usr/sbin/arp.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/audit-packages.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/authpf.debug comp-pf-debug pf,debug -./usr/libdata/debug/usr/sbin/bootpd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/bootpef.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/bootpgw.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/bootptest.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/btattach.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/btconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/btcontrol.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/btdevctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/bthcid.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/btpand.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/btuartd.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/catman.debug comp-man-debug debug -./usr/libdata/debug/usr/sbin/chat.debug comp-ppp-debug debug -./usr/libdata/debug/usr/sbin/chown.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/chroot.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/chrtbl.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/cnwctl.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/cpuctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/crash.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/cron.debug comp-cron-debug debug -./usr/libdata/debug/usr/sbin/daicctl.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/dbsym.debug comp-sysutil-debug binutils,debug -./usr/libdata/debug/usr/sbin/ddns-confgen.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/dev_mkdb.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/dhcpd.debug comp-dhcpd-debug debug -./usr/libdata/debug/usr/sbin/dhcrelay.debug comp-dhcpd-debug debug -./usr/libdata/debug/usr/sbin/diskpart.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/dnssec-dsfromkey.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/dnssec-keyfromlabel.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/dnssec-keygen.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/dnssec-revoke.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/dnssec-settime.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/dnssec-signzone.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/dtmfdecode.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/dtrace.debug comp-util-debug dtrace,debug -./usr/libdata/debug/usr/sbin/dumpfs.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/dumplfs.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/edquota.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/envstat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/eshconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/extattrctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/faithd.debug comp-router-debug inet6,debug -./usr/libdata/debug/usr/sbin/fixmount.debug comp-nfsclient-debug debug -./usr/libdata/debug/usr/sbin/flashctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/fsinfo.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/fssconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ftp-proxy.debug comp-pf-debug pf,debug -./usr/libdata/debug/usr/sbin/fusermount.debug comp-refuse-debug debug -./usr/libdata/debug/usr/sbin/fwctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/getencstat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/gpioctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/gspa.debug comp-util-debug debug -./usr/libdata/debug/usr/sbin/hdaudioctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/hlfsd.debug comp-amd-debug debug -./usr/libdata/debug/usr/sbin/hostapd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/hostapd_cli.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/hprop.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/i2cscan.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ifmcstat.debug comp-netutil-debug inet6,debug -./usr/libdata/debug/usr/sbin/ifwatchd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/inetd.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/installboot.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/iopctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/iostat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ipfs.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/ipfstat.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/ipftest.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/ipmon.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/ipnat.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/ippool.debug comp-ipf-root ipfilter,debug -./usr/libdata/debug/usr/sbin/ipresend.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/iprop-log.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/ipsend.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/iptest.debug comp-ipf-debug ipfilter,debug -./usr/libdata/debug/usr/sbin/irdaattach.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/iscsi-initiator.debug comp-iscsi-debug iscsi,debug -./usr/libdata/debug/usr/sbin/iscsi-target.debug comp-iscsi-debug iscsi,debug -./usr/libdata/debug/usr/sbin/isdnd.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/isdnmonitor.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/isdntel.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/isdntelctl.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/isdntrace.debug comp-isdn-debug debug -./usr/libdata/debug/usr/sbin/isibootd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/iwictl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/kadmin.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/kcm.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/kdc.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/kdigest.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/kgmon.debug comp-debug-debug debug -./usr/libdata/debug/usr/sbin/kimpersonate.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/kstash.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/ktutil.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/sbin/lastlogin.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ldpd.debug comp-router-debug debug -./usr/libdata/debug/usr/sbin/link.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/lmcconfig.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/lockstat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/lpc.debug comp-lpr-debug debug -./usr/libdata/debug/usr/sbin/lpd.debug comp-lpr-debug debug -./usr/libdata/debug/usr/sbin/lptest.debug comp-lpr-debug debug -./usr/libdata/debug/usr/sbin/mailwrapper.debug comp-mailwrapper-debug debug -./usr/libdata/debug/usr/sbin/makedbm.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/makefs.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/makemandb.debug comp-makemandb-debug makemandb,debug -./usr/libdata/debug/usr/sbin/map-mbone.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/mdconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/mdnsd.debug comp-mdns-debug mdns,debug -./usr/libdata/debug/usr/sbin/mdsetimage.debug comp-sysutil-debug binutils,debug -./usr/libdata/debug/usr/sbin/mk-amd-map.debug comp-amd-debug debug -./usr/libdata/debug/usr/sbin/mkalias.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/mknetid.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/mld6query.debug comp-netutil-debug use_inet6,debug -./usr/libdata/debug/usr/sbin/mlxctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/mmcformat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/mopchk.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/mopcopy.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/mopd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/mopprobe.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/moptrace.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/mount_9p.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/mount_psshfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/mount_puffsportal.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/mount_sysctlfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/mountd.debug comp-nfsserver-debug debug -./usr/libdata/debug/usr/sbin/moused.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/mrinfo.debug comp-router-debug debug -./usr/libdata/debug/usr/sbin/mrouted.debug comp-router-debug debug -./usr/libdata/debug/usr/sbin/mscdlabel.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/mtrace.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/mtree.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/named-checkconf.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/named-checkzone.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/named-journalprint.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/named.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/ncdcs.debug comp-sysutil-root binutils,debug -./usr/libdata/debug/usr/sbin/ndbootd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/ndp.debug comp-netutil-debug inet6,debug -./usr/libdata/debug/usr/sbin/netgroup_mkdb.debug comp-nis-debug debug -./usr/libdata/debug/usr/sbin/nfsd.debug comp-nfsserver-debug debug -./usr/libdata/debug/usr/sbin/npfctl.debug comp-npf-debug npf,debug -./usr/libdata/debug/usr/sbin/npftest.debug comp-npf-debug npf,rump,debug,pic -./usr/libdata/debug/usr/sbin/nsec3hash.debug comp-bind-debug debug -./usr/libdata/debug/usr/sbin/ntp-keygen.debug comp-ntp-debug crypto,debug -./usr/libdata/debug/usr/sbin/ntpd.debug comp-ntp-debug debug -./usr/libdata/debug/usr/sbin/ntpdate.debug comp-ntp-debug debug -./usr/libdata/debug/usr/sbin/ntpdc.debug comp-ntp-debug debug -./usr/libdata/debug/usr/sbin/ntpq.debug comp-ntp-debug debug -./usr/libdata/debug/usr/sbin/ntptime.debug comp-ntp-debug debug -./usr/libdata/debug/usr/sbin/omshell.debug comp-dhcpd-debug debug -./usr/libdata/debug/usr/sbin/pac.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/paxctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/pcictl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/perfused.debug comp-perfuse-debug debug -./usr/libdata/debug/usr/sbin/pkg_add.debug comp-pkgutil-debug debug,crypto -./usr/libdata/debug/usr/sbin/pkg_admin.debug comp-pkgutil-debug debug,crypto -./usr/libdata/debug/usr/sbin/pkg_create.debug comp-pkgutil-debug debug,crypto -./usr/libdata/debug/usr/sbin/pkg_delete.debug comp-pkgutil-debug debug,crypto -./usr/libdata/debug/usr/sbin/pkg_info.debug comp-pkgutil-debug debug,crypto -./usr/libdata/debug/usr/sbin/postalias.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postcat.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postconf.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postdrop.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postfix.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postkick.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postlock.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postlog.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postmap.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postmulti.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postqueue.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/postsuper.debug comp-postfix-debug postfix,debug -./usr/libdata/debug/usr/sbin/powerd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/pppd.debug comp-ppp-debug debug -./usr/libdata/debug/usr/sbin/pppdump.debug comp-ppp-debug debug -./usr/libdata/debug/usr/sbin/pppstats.debug comp-ppp-debug debug -./usr/libdata/debug/usr/sbin/psrset.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/pstat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/pvcsif.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/pvctxctl.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/pwd_mkdb.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/quot.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/quotacheck.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/quotactl.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/quotaon.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/quotarestore.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/racoon.debug comp-netutil-debug crypto,debug -./usr/libdata/debug/usr/sbin/racoonctl.debug comp-netutil-debug crypto,debug -./usr/libdata/debug/usr/sbin/rarpd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/rbootd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/rdate.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/repquota.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/revnetgroup.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/rip6query.debug comp-netutil-debug inet6,debug -./usr/libdata/debug/usr/sbin/rmt.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/rndc-confgen.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/rndc.debug comp-bind-bin debug -./usr/libdata/debug/usr/sbin/route6d.debug comp-router-debug use_inet6,debug -./usr/libdata/debug/usr/sbin/rpc.bootparamd.debug comp-bootserver-debug debug -./usr/libdata/debug/usr/sbin/rpc.lockd.debug comp-nfsserver-debug debug -./usr/libdata/debug/usr/sbin/rpc.pcnfsd.debug comp-nfsserver-debug debug -./usr/libdata/debug/usr/sbin/rpc.statd.debug comp-nfsserver-debug debug -./usr/libdata/debug/usr/sbin/rpc.yppasswdd.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/rpcbind.debug comp-rpcbind-debug debug -./usr/libdata/debug/usr/sbin/rtadvd.debug comp-router-debug use_inet6,debug -./usr/libdata/debug/usr/sbin/rtquery.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/rtsold.debug comp-netutil-debug inet6,debug -./usr/libdata/debug/usr/sbin/rump.envstat.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/usr/sbin/rump.powerd.debug comp-sysutil-debug debug,rump -./usr/libdata/debug/usr/sbin/rump.traceroute.debug comp-netutil-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_cd9660.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_efs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_ext2fs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_ffs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_hfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_lfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_msdos.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_nfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_ntfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_smbfs.debug comp-puffs-debug crypto,debug,rump -./usr/libdata/debug/usr/sbin/rump_syspuffs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_sysvbfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_tmpfs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_udf.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rump_v7fs.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/sbin/rwhod.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/sa.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/schedctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/screenblank.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/sdpd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/services_mkdb.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/sesd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/setencstat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/setobjstat.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/sliplogin.debug comp-slip-debug debug -./usr/libdata/debug/usr/sbin/sntp.debug comp-ntp-debug debug -./usr/libdata/debug/usr/sbin/spray.debug comp-rpcutil-debug debug -./usr/libdata/debug/usr/sbin/srtconfig.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/sshd.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/sbin/stdethers.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/stdhosts.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/sti.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/sunlabel.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/sup.debug comp-sup-debug debug -./usr/libdata/debug/usr/sbin/supfilesrv.debug comp-sup-debug debug -./usr/libdata/debug/usr/sbin/supscan.debug comp-sup-debug debug -./usr/libdata/debug/usr/sbin/syslogd.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/tcpdchk.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/tcpdmatch.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/tcpdrop.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/tcpdump.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/timed.debug comp-timed-debug debug -./usr/libdata/debug/usr/sbin/timedc.debug comp-timed-debug debug -./usr/libdata/debug/usr/sbin/tprof.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/traceroute.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/traceroute6.debug comp-netutil-debug use_inet6,debug -./usr/libdata/debug/usr/sbin/trpt.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/trsp.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/unlink.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/usbdevs.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/user.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/uuchk.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/veriexecgen.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/vipw.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/vnconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wake.debug comp-obsolete obsolete -./usr/libdata/debug/usr/sbin/wakeonlan.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/wiconfig.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wire-test.debug comp-netutil-debug debug -./usr/libdata/debug/usr/sbin/wlanctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wpa_cli.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wpa_passphrase.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wpa_supplicant.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wsconscfg.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wsfontload.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wsmoused.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/wsmuxctl.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/ypbind.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/yppoll.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/yppush.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/ypserv.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/ypset.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/yptest.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/ypxfr.debug comp-nis-debug yp,debug -./usr/libdata/debug/usr/sbin/zdb.debug comp-zfs-debug zfs,debug -./usr/libdata/debug/usr/sbin/zdump.debug comp-sysutil-debug debug -./usr/libdata/debug/usr/sbin/zic.debug comp-sysutil-debug debug ./usr/libdata/ldscripts/kmodule comp-util-share binutils,kmod ./usr/libdata/lint/llib-larchive.ln comp-c-lintlib lint ./usr/libdata/lint/llib-lasn1.ln comp-krb5-lintlib lint,kerberos @@ -4379,15 +3970,19 @@ ./usr/libdata/lint/llib-lcrypto_idea.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lcrypto_mdc2.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lcrypto_rc5.ln comp-c-lintlib lint,crypto_rc5 +./usr/libdata/lint/llib-lctf.ln comp-c-lintlib lint,dtrace ./usr/libdata/lint/llib-lcurses.ln comp-c-lintlib lint ./usr/libdata/lint/llib-ldes.ln comp-c-lintlib lint,crypto ./usr/libdata/lint/llib-ldm.ln comp-c-lintlib lint ./usr/libdata/lint/llib-ldns.ln comp-bind-lintlib lint ./usr/libdata/lint/llib-ldns_sd.ln comp-mdns-lintlib lint,mdns +./usr/libdata/lint/llib-ldtrace.ln comp-c-lintlib lint,dtrace ./usr/libdata/lint/llib-ldwarf.ln comp-c-lintlib lint ./usr/libdata/lint/llib-ledit.ln comp-c-lintlib lint ./usr/libdata/lint/llib-lelf.ln comp-c-lintlib lint ./usr/libdata/lint/llib-levent.ln comp-c-lintlib lint +./usr/libdata/lint/llib-levent_openssl.ln comp-c-lintlib lint,crypto +./usr/libdata/lint/llib-levent_pthreads.ln comp-c-lintlib lint ./usr/libdata/lint/llib-lexecinfo.ln comp-c-lintlib lint ./usr/libdata/lint/llib-lexpat.ln comp-c-lintlib lint ./usr/libdata/lint/llib-lfetch.ln comp-c-lintlib lint @@ -4421,6 +4016,7 @@ ./usr/libdata/lint/llib-lmpc.ln comp-c-lintlib obsolete ./usr/libdata/lint/llib-lmpfr.ln comp-c-lintlib obsolete ./usr/libdata/lint/llib-lnetpgp.ln comp-c-lintlib lint,crypto +./usr/libdata/lint/llib-lnetpgpverify.ln comp-c-lintlib lint,crypto ./usr/libdata/lint/llib-lnpf.ln comp-npf-lintlib lint,npf ./usr/libdata/lint/llib-lntp.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lopenpgpsdk.ln comp-obsolete obsolete @@ -4457,10 +4053,13 @@ ./usr/libdata/lint/llib-lssl.ln comp-c-lintlib lint,crypto ./usr/libdata/lint/llib-lssp.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lstdc.ln comp-c-lintlib lint +./usr/libdata/lint/llib-ltddl.ln comp-c-lintlib tpm,lint ./usr/libdata/lint/llib-ltelnet.ln comp-obsolete obsolete ./usr/libdata/lint/llib-ltermcap.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lterminfo.ln comp-c-lintlib lint +./usr/libdata/lint/llib-ltpm_unseal.ln como-c-lintlib tpm,lint ./usr/libdata/lint/llib-ltre.ln comp-c-lintlib lint +./usr/libdata/lint/llib-ltspi.ln comp-c-lintlib tpm,lint ./usr/libdata/lint/llib-lukfs.ln comp-c-lintlib lint,rump ./usr/libdata/lint/llib-lusb.ln comp-obsolete obsolete ./usr/libdata/lint/llib-lusbhid.ln comp-c-lintlib lint @@ -4749,10 +4348,13 @@ ./usr/share/man/cat2/extattr_set_fd.0 comp-c-catman .cat ./usr/share/man/cat2/extattr_set_file.0 comp-c-catman .cat ./usr/share/man/cat2/extattr_set_link.0 comp-c-catman .cat +./usr/share/man/cat2/faccessat.0 comp-c-catman .cat ./usr/share/man/cat2/fchdir.0 comp-c-catman .cat ./usr/share/man/cat2/fchflags.0 comp-c-catman .cat ./usr/share/man/cat2/fchmod.0 comp-c-catman .cat +./usr/share/man/cat2/fchmodat.0 comp-c-catman .cat ./usr/share/man/cat2/fchown.0 comp-c-catman .cat +./usr/share/man/cat2/fchownat.0 comp-c-catman .cat ./usr/share/man/cat2/fchroot.0 comp-c-catman .cat ./usr/share/man/cat2/fcntl.0 comp-c-catman .cat ./usr/share/man/cat2/fdatasync.0 comp-c-catman .cat @@ -4766,6 +4368,7 @@ ./usr/share/man/cat2/fork.0 comp-c-catman .cat ./usr/share/man/cat2/fpathconf.0 comp-c-catman .cat ./usr/share/man/cat2/fstat.0 comp-c-catman .cat +./usr/share/man/cat2/fstatat.0 comp-c-catman .cat ./usr/share/man/cat2/fstatfs.0 comp-obsolete obsolete ./usr/share/man/cat2/fstatvfs.0 comp-c-catman .cat ./usr/share/man/cat2/fstatvfs1.0 comp-c-catman .cat @@ -4830,14 +4433,18 @@ ./usr/share/man/cat2/listen.0 comp-c-catman .cat ./usr/share/man/cat2/lseek.0 comp-c-catman .cat ./usr/share/man/cat2/lstat.0 comp-c-catman .cat +./usr/share/man/cat2/lutimens.0 comp-c-catman .cat ./usr/share/man/cat2/lutimes.0 comp-c-catman .cat ./usr/share/man/cat2/m68k_sync_icache.0 comp-c-catman .cat ./usr/share/man/cat2/madvise.0 comp-c-catman .cat ./usr/share/man/cat2/mincore.0 comp-c-catman .cat ./usr/share/man/cat2/minherit.0 comp-c-catman .cat ./usr/share/man/cat2/mkdir.0 comp-c-catman .cat +./usr/share/man/cat2/mkdirat.0 comp-c-catman .cat ./usr/share/man/cat2/mkfifo.0 comp-c-catman .cat +./usr/share/man/cat2/mkfifoat.0 comp-c-catman .cat ./usr/share/man/cat2/mknod.0 comp-c-catman .cat +./usr/share/man/cat2/mknodat.0 comp-c-catman .cat ./usr/share/man/cat2/mlock.0 comp-c-catman .cat ./usr/share/man/cat2/mlockall.0 comp-c-catman .cat ./usr/share/man/cat2/mmap.0 comp-c-catman .cat @@ -4858,6 +4465,7 @@ ./usr/share/man/cat2/ntp_adjtime.0 comp-c-catman .cat ./usr/share/man/cat2/ntp_gettime.0 comp-c-catman .cat ./usr/share/man/cat2/open.0 comp-c-catman .cat +./usr/share/man/cat2/openat.0 comp-c-catman .cat ./usr/share/man/cat2/paccept.0 comp-c-catman .cat ./usr/share/man/cat2/pathconf.0 comp-c-catman .cat ./usr/share/man/cat2/pipe.0 comp-c-catman .cat @@ -4879,6 +4487,7 @@ ./usr/share/man/cat2/rasctl.0 comp-c-catman .cat ./usr/share/man/cat2/read.0 comp-c-catman .cat ./usr/share/man/cat2/readlink.0 comp-c-catman .cat +./usr/share/man/cat2/readlinkat.0 comp-c-catman .cat ./usr/share/man/cat2/readv.0 comp-c-catman .cat ./usr/share/man/cat2/reboot.0 comp-c-catman .cat ./usr/share/man/cat2/recv.0 comp-c-catman .cat @@ -4886,6 +4495,7 @@ ./usr/share/man/cat2/recvmmsg.0 comp-c-catman .cat ./usr/share/man/cat2/recvmsg.0 comp-c-catman .cat ./usr/share/man/cat2/rename.0 comp-c-catman .cat +./usr/share/man/cat2/renameat.0 comp-c-catman .cat ./usr/share/man/cat2/revoke.0 comp-c-catman .cat ./usr/share/man/cat2/rmdir.0 comp-c-catman .cat ./usr/share/man/cat2/sa_enable.0 comp-obsolete obsolete @@ -4947,6 +4557,7 @@ ./usr/share/man/cat2/swapctl.0 comp-c-catman .cat ./usr/share/man/cat2/swapon.0 comp-obsolete obsolete ./usr/share/man/cat2/symlink.0 comp-c-catman .cat +./usr/share/man/cat2/symlinkat.0 comp-c-catman .cat ./usr/share/man/cat2/sync.0 comp-c-catman .cat ./usr/share/man/cat2/sysarch.0 comp-c-catman .cat ./usr/share/man/cat2/syscall.0 comp-c-catman .cat @@ -4960,7 +4571,9 @@ ./usr/share/man/cat2/umask.0 comp-c-catman .cat ./usr/share/man/cat2/undelete.0 comp-c-catman .cat ./usr/share/man/cat2/unlink.0 comp-c-catman .cat +./usr/share/man/cat2/unlinkat.0 comp-c-catman .cat ./usr/share/man/cat2/unmount.0 comp-c-catman .cat +./usr/share/man/cat2/utimens.0 comp-c-catman .cat ./usr/share/man/cat2/utimensat.0 comp-c-catman .cat ./usr/share/man/cat2/utimes.0 comp-c-catman .cat ./usr/share/man/cat2/utrace.0 comp-c-catman .cat @@ -5020,25 +4633,25 @@ ./usr/share/man/cat3/BN_set_bit.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/BN_swap.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/BN_zero.0 comp-c-catman crypto,.cat -./usr/share/man/cat3/CIRCLEQ_EMPTY.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_ENTRY.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_FIRST.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_FOREACH.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_FOREACH_REVERSE.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_HEAD.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_HEAD_INITIALIZER.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_INIT.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_INSERT_AFTER.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_INSERT_BEFORE.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_INSERT_HEAD.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_INSERT_TAIL.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_LAST.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_LOOP_NEXT.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_LOOP_PREV.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_NEXT.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_PREV.0 comp-c-catman .cat -./usr/share/man/cat3/CIRCLEQ_REMOVE.0 comp-c-catman .cat -./usr/share/man/cat3/CMSG_DATA.0 comp-c-catman .cat +./usr/share/man/cat3/CIRCLEQ_EMPTY.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_ENTRY.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_FIRST.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_FOREACH.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_FOREACH_REVERSE.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_HEAD.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_HEAD_INITIALIZER.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_INIT.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_INSERT_AFTER.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_INSERT_BEFORE.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_INSERT_HEAD.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_INSERT_TAIL.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_LAST.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_LOOP_NEXT.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_LOOP_PREV.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_NEXT.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_PREV.0 comp-obsolete obsolete +./usr/share/man/cat3/CIRCLEQ_REMOVE.0 comp-obsolete obsolete +./usr/share/man/cat3/CMSG_DATA.0 comp-obsolete obsolete ./usr/share/man/cat3/CMSG_FIRSTHDR.0 comp-c-catman .cat ./usr/share/man/cat3/CMSG_LEN.0 comp-c-catman .cat ./usr/share/man/cat3/CMSG_NXTHDR.0 comp-c-catman .cat @@ -5079,6 +4692,7 @@ ./usr/share/man/cat3/EVP_OpenInit.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/EVP_PKEY_new.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/EVP_PKEY_set1_RSA.0 comp-c-catman crypto,.cat +./usr/share/man/cat3/EVP_PKEY_verify_recover.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/EVP_SealInit.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/EVP_SignInit.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/EVP_VerifyInit.0 comp-c-catman crypto,.cat @@ -5138,10 +4752,12 @@ ./usr/share/man/cat3/GCQ_INIT_HEAD.0 comp-sys-catman .cat ./usr/share/man/cat3/GCQ_ITEM.0 comp-sys-catman .cat ./usr/share/man/cat3/IFTODT.0 comp-c-catman .cat +./usr/share/man/cat3/LIST.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_EMPTY.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_ENTRY.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_FIRST.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_FOREACH.0 comp-c-catman .cat +./usr/share/man/cat3/LIST_FOREACH_SAFE.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_HEAD_INITIALIZER.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_INIT.0 comp-c-catman .cat @@ -5150,6 +4766,7 @@ ./usr/share/man/cat3/LIST_INSERT_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_NEXT.0 comp-c-catman .cat ./usr/share/man/cat3/LIST_REMOVE.0 comp-c-catman .cat +./usr/share/man/cat3/LIST_REPLACE.0 comp-c-catman .cat ./usr/share/man/cat3/MAX.0 comp-c-catman .cat ./usr/share/man/cat3/MD2Data.0 comp-c-catman .cat ./usr/share/man/cat3/MD2End.0 comp-c-catman .cat @@ -5281,10 +4898,13 @@ ./usr/share/man/cat3/SHA512_Init.0 comp-c-catman .cat ./usr/share/man/cat3/SHA512_Transform.0 comp-c-catman .cat ./usr/share/man/cat3/SHA512_Update.0 comp-c-catman .cat +./usr/share/man/cat3/SIMPLEQ.0 comp-c-catman .cat +./usr/share/man/cat3/SIMPLEQ_CONCAT.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_EMPTY.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_ENTRY.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_FIRST.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_FOREACH.0 comp-c-catman .cat +./usr/share/man/cat3/SIMPLEQ_FOREACH_SAFE.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_HEAD_INITIALIZER.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_INIT.0 comp-c-catman .cat @@ -5293,11 +4913,14 @@ ./usr/share/man/cat3/SIMPLEQ_INSERT_TAIL.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_NEXT.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_REMOVE.0 comp-c-catman .cat +./usr/share/man/cat3/SIMPLEQ_REMOVE_AFTER.0 comp-c-catman .cat ./usr/share/man/cat3/SIMPLEQ_REMOVE_HEAD.0 comp-c-catman .cat +./usr/share/man/cat3/SLIST.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_EMPTY.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_ENTRY.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_FIRST.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_FOREACH.0 comp-c-catman .cat +./usr/share/man/cat3/SLIST_FOREACH_SAFE.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_HEAD_INITIALIZER.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_INIT.0 comp-c-catman .cat @@ -5305,6 +4928,7 @@ ./usr/share/man/cat3/SLIST_INSERT_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_NEXT.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_REMOVE.0 comp-c-catman .cat +./usr/share/man/cat3/SLIST_REMOVE_AFTER.0 comp-c-catman .cat ./usr/share/man/cat3/SLIST_REMOVE_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/SMIME_read_PKCS7.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/SMIME_write_PKCS7.0 comp-c-catman crypto,.cat @@ -5402,24 +5026,32 @@ ./usr/share/man/cat3/SSL_state_string.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/SSL_want.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/SSL_write.0 comp-c-catman crypto,.cat +./usr/share/man/cat3/STAILQ.0 comp-c-catman .cat +./usr/share/man/cat3/STAILQ_CONCAT.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_EMPTY.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_ENTRY.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_FIRST.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_FOREACH.0 comp-c-catman .cat +./usr/share/man/cat3/STAILQ_FOREACH_SAFE.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_HEAD_INITIALIZER.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_INIT.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_INSERT_AFTER.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_INSERT_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_INSERT_TAIL.0 comp-c-catman .cat +./usr/share/man/cat3/STAILQ_LAST.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_NEXT.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_REMOVE.0 comp-c-catman .cat ./usr/share/man/cat3/STAILQ_REMOVE_HEAD.0 comp-c-catman .cat +./usr/share/man/cat3/TAILQ.0 comp-c-catman .cat +./usr/share/man/cat3/TAILQ_CONCAT.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_EMPTY.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_ENTRY.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_FIRST.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_FOREACH.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_FOREACH_REVERSE.0 comp-c-catman .cat +./usr/share/man/cat3/TAILQ_FOREACH_REVERSE_SAFE.0 comp-c-catman .cat +./usr/share/man/cat3/TAILQ_FOREACH_SAFE.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_HEAD.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_HEAD_INITIALIZER.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_INIT.0 comp-c-catman .cat @@ -5431,8 +5063,97 @@ ./usr/share/man/cat3/TAILQ_NEXT.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_PREV.0 comp-c-catman .cat ./usr/share/man/cat3/TAILQ_REMOVE.0 comp-c-catman .cat -./usr/share/man/cat3/TIMESPEC_TO_TIMEVAL.0 comp-c-catman .cat -./usr/share/man/cat3/TIMEVAL_TO_TIMESPEC.0 comp-c-catman .cat +./usr/share/man/cat3/TAILQ_REPLACE.0 comp-c-catman .cat +./usr/share/man/cat3/TIMESPEC_TO_TIMEVAL.0 comp-c-catman .cat +./usr/share/man/cat3/TIMEVAL_TO_TIMESPEC.0 comp-c-catman .cat +./usr/share/man/cat3/Tspi_ChangeAuth.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_ChangeAuthAsym.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_Close.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_CloseObject.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_Connect.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_Create.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_CreateObject.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_FreeMemory.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetCapability.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetDefaultPolicy.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetKeyByPublicInfo.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetKeyByUUID.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetRegisteredKeysByUUID.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetRegisteredKeysByUUID2.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_GetTpmObject.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_LoadKeyByBlob.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_LoadKeyByUUID.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_RegisterKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Context_UnregisterKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DAA_IssueCredential.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DAA_IssueInit.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DAA_IssueSetup.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DAA_IssuerKeyVerification.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DAA_VerifyInit.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DAA_VerifySignature.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Data_Bind.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Data_Seal.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Data_Unbind.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Data_Unseal.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_DecodeBER_TssBlob.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_EncodeDER_TssBlob.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_GetAttribData.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_GetAttribUint32.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_GetPolicyObject.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Hash_GetHashValue.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Hash_SetHashValue.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Hash_Sign.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Hash_UpdateHashValue.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Hash_VerifySignature.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_CertifyKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_ConvertMigrationBlob.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_CreateKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_CreateMigrationBlob.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_GetPubKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_LoadKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_UnloadKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Key_WrapKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_PcrComposite_GetPcrValue.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_PcrComposite_SelectPcrIndex.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_PcrComposite_SetPcrValue.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Policy_AssignToObject.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Policy_FlushSecret.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_Policy_SetSecret.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_SetAttribData.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_SetAttribUint32.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_AuthorizeMigrationTicket.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_CMKSetRestrictions.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_CertifySelfTest.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_CheckMaintenancePubKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_ClearOwner.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_CollateIdentityRequest.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_CreateEndorsementKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_CreateMaintenanceArchive.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_DAA_JoinCreateDaaPubKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_DAA_JoinInit.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_DAA_JoinStoreCredential.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_DAA_Sign.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_DirRead.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_DirWrite.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetAuditDigest.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetCapability.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetEvent.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetEventLog.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetEvents.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetPubEndorsementKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetRandom.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetStatus.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_GetTestResult.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_KillMaintenanceFeature.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_LoadMaintenancePubKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_OwnerGetSRKPubKey.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_PcrExtend.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_PcrRead.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_Quote.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_SelfTestFull.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_SetStatus.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_StirRandom.0 comp-c-catman tpm,.cat +./usr/share/man/cat3/Tspi_TPM_TakeOwnership.0 comp-c-catman tpm,.cat ./usr/share/man/cat3/X509_NAME_ENTRY_get_object.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/X509_NAME_add_entry_by_txt.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/X509_NAME_get_index_by_NID.0 comp-c-catman crypto,.cat @@ -5447,6 +5168,12 @@ ./usr/share/man/cat3/X509_verify_cert.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/_DIAGASSERT.0 comp-c-catman .cat ./usr/share/man/cat3/__BIT.0 comp-c-catman .cat +./usr/share/man/cat3/__BITMAP_CLR.0 comp-c-catman .cat +./usr/share/man/cat3/__BITMAP_ISSET.0 comp-c-catman .cat +./usr/share/man/cat3/__BITMAP_SET.0 comp-c-catman .cat +./usr/share/man/cat3/__BITMAP_SIZE.0 comp-c-catman .cat +./usr/share/man/cat3/__BITMAP_TYPE.0 comp-c-catman .cat +./usr/share/man/cat3/__BITMAP_ZERO.0 comp-c-catman .cat ./usr/share/man/cat3/__BITS.0 comp-c-catman .cat ./usr/share/man/cat3/__CONCAT.0 comp-c-catman .cat ./usr/share/man/cat3/__KERNEL_RCSID.0 comp-c-catman .cat @@ -5457,6 +5184,7 @@ ./usr/share/man/cat3/__STRING.0 comp-c-catman .cat ./usr/share/man/cat3/__UNCONST.0 comp-c-catman .cat ./usr/share/man/cat3/__UNVOLATILE.0 comp-c-catman .cat +./usr/share/man/cat3/__USE.0 comp-c-catman .cat ./usr/share/man/cat3/__aligned.0 comp-c-catman .cat ./usr/share/man/cat3/__alignof__.0 comp-c-catman .cat ./usr/share/man/cat3/__arraycount.0 comp-c-catman .cat @@ -5469,6 +5197,8 @@ ./usr/share/man/cat3/__cacheline_aligned.0 comp-c-catman .cat ./usr/share/man/cat3/__constfunc.0 comp-c-catman .cat ./usr/share/man/cat3/__dead.0 comp-c-catman .cat +./usr/share/man/cat3/__debugused.0 comp-c-catman .cat +./usr/share/man/cat3/__diagused.0 comp-c-catman .cat ./usr/share/man/cat3/__insn_barrier.0 comp-c-catman .cat ./usr/share/man/cat3/__noinline.0 comp-c-catman .cat ./usr/share/man/cat3/__packed.0 comp-c-catman .cat @@ -5702,6 +5432,7 @@ ./usr/share/man/cat3/asprintf.0 comp-c-catman .cat ./usr/share/man/cat3/assert.0 comp-c-catman .cat ./usr/share/man/cat3/assume_default_colors.0 comp-c-catman .cat +./usr/share/man/cat3/at_quick_exit.0 comp-c-catman .cat ./usr/share/man/cat3/atan.0 comp-c-catman .cat ./usr/share/man/cat3/atan2.0 comp-c-catman .cat ./usr/share/man/cat3/atan2f.0 comp-c-catman .cat @@ -5856,6 +5587,7 @@ ./usr/share/man/cat3/bit_nset.0 comp-c-catman .cat ./usr/share/man/cat3/bit_set.0 comp-c-catman .cat ./usr/share/man/cat3/bit_test.0 comp-c-catman .cat +./usr/share/man/cat3/bitmap.0 comp-c-catman .cat ./usr/share/man/cat3/bitops.0 comp-c-catman .cat ./usr/share/man/cat3/bits.0 comp-c-catman .cat ./usr/share/man/cat3/bitstr_size.0 comp-c-catman .cat @@ -5916,15 +5648,17 @@ ./usr/share/man/cat3/btowc.0 comp-c-catman .cat ./usr/share/man/cat3/btree.0 comp-c-catman .cat ./usr/share/man/cat3/buffer.0 comp-obsolete obsolete -./usr/share/man/cat3/bufferevent_base_set.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_disable.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_enable.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_free.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_new.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_read.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_settimeout.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_write.0 comp-c-catman .cat -./usr/share/man/cat3/bufferevent_write_buffer.0 comp-c-catman .cat +./usr/share/man/cat3/bufferevent.0 comp-c-catman .cat +./usr/share/man/cat3/bufferevent_base_set.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_disable.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_enable.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_free.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_new.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_read.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_settimeout.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_ssl.0 comp-c-catman .cat +./usr/share/man/cat3/bufferevent_write.0 comp-c-obsolete obsolete +./usr/share/man/cat3/bufferevent_write_buffer.0 comp-c-obsolete obsolete ./usr/share/man/cat3/byteorder.0 comp-c-catman .cat ./usr/share/man/cat3/bzero.0 comp-c-catman .cat ./usr/share/man/cat3/cabs.0 comp-c-catman complex,.cat @@ -5953,6 +5687,7 @@ ./usr/share/man/cat3/cbreak.0 comp-c-catman .cat ./usr/share/man/cat3/cbrt.0 comp-c-catman .cat ./usr/share/man/cat3/cbrtf.0 comp-c-catman .cat +./usr/share/man/cat3/cbrtl.0 comp-c-catman .cat ./usr/share/man/cat3/ccos.0 comp-c-catman complex,.cat ./usr/share/man/cat3/ccosf.0 comp-c-catman complex,.cat ./usr/share/man/cat3/ccosh.0 comp-c-catman complex,.cat @@ -6001,6 +5736,7 @@ ./usr/share/man/cat3/cdk_viewer.0 comp-obsolete obsolete ./usr/share/man/cat3/ceil.0 comp-c-catman .cat ./usr/share/man/cat3/ceilf.0 comp-c-catman .cat +./usr/share/man/cat3/ceill.0 comp-c-catman .cat ./usr/share/man/cat3/cexp.0 comp-c-catman complex,.cat ./usr/share/man/cat3/cexpf.0 comp-c-catman complex,.cat ./usr/share/man/cat3/cfgetispeed.0 comp-c-catman .cat @@ -6081,6 +5817,8 @@ ./usr/share/man/cat3/conj.0 comp-c-catman complex,.cat ./usr/share/man/cat3/conjf.0 comp-c-catman complex,.cat ./usr/share/man/cat3/conjl.0 comp-c-catman complex,.cat +./usr/share/man/cat3/consttime_bcmp.0 comp-obsolete obsolete +./usr/share/man/cat3/consttime_memequal.0 comp-c-catman .cat ./usr/share/man/cat3/copysign.0 comp-c-catman .cat ./usr/share/man/cat3/copysignf.0 comp-c-catman .cat ./usr/share/man/cat3/copysignl.0 comp-c-catman .cat @@ -6392,60 +6130,81 @@ ./usr/share/man/cat3/ether_ntohost.0 comp-c-catman .cat ./usr/share/man/cat3/ethers.0 comp-c-catman .cat ./usr/share/man/cat3/evasprintf.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_add.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_add_buffer.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_add_printf.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_add_vprintf.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_drain.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_find.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_free.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_new.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_read.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_readline.0 comp-c-catman .cat -./usr/share/man/cat3/evbuffer_write.0 comp-c-catman .cat +./usr/share/man/cat3/evbuffer.0 comp-c-catman .cat +./usr/share/man/cat3/evbuffer_add.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_add_buffer.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_add_printf.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_add_vprintf.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_cb_info.0 comp-c-catman .cat +./usr/share/man/cat3/evbuffer_compat.0 comp-c-catman .cat +./usr/share/man/cat3/evbuffer_drain.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_find.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_free.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_iovec.0 comp-c-catman .cat +./usr/share/man/cat3/evbuffer_new.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_ptr.0 comp-c-catman .cat +./usr/share/man/cat3/evbuffer_read.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_readline.0 comp-obsolete obsolete +./usr/share/man/cat3/evbuffer_write.0 comp-obsolete obsolete +./usr/share/man/cat3/evdeprecated.0 comp-c-catman .cat ./usr/share/man/cat3/evdns.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_clear_nameservers_and_suspend.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_count_nameservers.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_err_to_string.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_init.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_nameserver_add.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_nameserver_ip_add.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_resolv_conf_parse.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_resolve_ipv4.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_resolve_reverse.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_resume.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_search_add.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_search_clear.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_search_ndots_set.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_set_log_fn.0 comp-c-catman .cat -./usr/share/man/cat3/evdns_shutdown.0 comp-c-catman .cat +./usr/share/man/cat3/evdns_clear_nameservers_and_suspend.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_compat.0 comp-c-catman .cat +./usr/share/man/cat3/evdns_count_nameservers.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_err_to_string.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_init.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_nameserver_add.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_nameserver_ip_add.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_resolv_conf_parse.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_resolve_ipv4.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_resolve_reverse.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_resume.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_search_add.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_search_clear.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_search_ndots_set.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_set_log_fn.0 comp-obsolete obsolete +./usr/share/man/cat3/evdns_shutdown.0 comp-obsolete obsolete ./usr/share/man/cat3/event.0 comp-c-catman .cat -./usr/share/man/cat3/event_add.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_dispatch.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_free.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_loop.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_loopbreak.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_loopexit.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_once.0 comp-c-catman .cat -./usr/share/man/cat3/event_base_set.0 comp-c-catman .cat -./usr/share/man/cat3/event_del.0 comp-c-catman .cat -./usr/share/man/cat3/event_dispatch.0 comp-c-catman .cat -./usr/share/man/cat3/event_init.0 comp-c-catman .cat -./usr/share/man/cat3/event_initialized.0 comp-c-catman .cat -./usr/share/man/cat3/event_loop.0 comp-c-catman .cat -./usr/share/man/cat3/event_loopbreak.0 comp-c-catman .cat -./usr/share/man/cat3/event_loopexit.0 comp-c-catman .cat -./usr/share/man/cat3/event_once.0 comp-c-catman .cat -./usr/share/man/cat3/event_pending.0 comp-c-catman .cat -./usr/share/man/cat3/event_set.0 comp-c-catman .cat -./usr/share/man/cat3/evhttp_bind_socket.0 comp-c-catman .cat -./usr/share/man/cat3/evhttp_free.0 comp-c-catman .cat -./usr/share/man/cat3/evhttp_new.0 comp-c-catman .cat -./usr/share/man/cat3/evtimer_add.0 comp-c-catman .cat -./usr/share/man/cat3/evtimer_del.0 comp-c-catman .cat -./usr/share/man/cat3/evtimer_initialized.0 comp-c-catman .cat -./usr/share/man/cat3/evtimer_pending.0 comp-c-catman .cat -./usr/share/man/cat3/evtimer_set.0 comp-c-catman .cat +./usr/share/man/cat3/event_add.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base.0 comp-c-catman .cat +./usr/share/man/cat3/event_base_dispatch.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base_free.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base_loop.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base_loopbreak.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base_loopexit.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base_once.0 comp-obsolete obsolete +./usr/share/man/cat3/event_base_set.0 comp-obsolete obsolete +./usr/share/man/cat3/event_compat.0 comp-c-catman .cat +./usr/share/man/cat3/event_config.0 comp-c-catman .cat +./usr/share/man/cat3/event_del.0 comp-obsolete obsolete +./usr/share/man/cat3/event_dispatch.0 comp-obsolete obsolete +./usr/share/man/cat3/event_init.0 comp-obsolete obsolete +./usr/share/man/cat3/event_initialized.0 comp-obsolete obsolete +./usr/share/man/cat3/event_loop.0 comp-obsolete obsolete +./usr/share/man/cat3/event_loopbreak.0 comp-obsolete obsolete +./usr/share/man/cat3/event_loopexit.0 comp-obsolete obsolete +./usr/share/man/cat3/event_once.0 comp-obsolete obsolete +./usr/share/man/cat3/event_pending.0 comp-obsolete obsolete +./usr/share/man/cat3/event_set.0 comp-obsolete obsolete +./usr/share/man/cat3/evhttp.0 comp-c-catman .cat +./usr/share/man/cat3/evhttp_bind_socket.0 comp-obsolete obsolete +./usr/share/man/cat3/evhttp_compat.0 comp-c-catman .cat +./usr/share/man/cat3/evhttp_free.0 comp-obsolete obsolete +./usr/share/man/cat3/evhttp_new.0 comp-obsolete obsolete +./usr/share/man/cat3/evrpc.0 comp-c-catman .cat +./usr/share/man/cat3/evrpc_compat.0 comp-c-catman .cat +./usr/share/man/cat3/evtag.0 comp-c-catman .cat +./usr/share/man/cat3/evtag_compat.0 comp-c-catman .cat +./usr/share/man/cat3/evthread.0 comp-c-catman .cat +./usr/share/man/cat3/evthread_condition_callbacks.0 comp-c-catman .cat +./usr/share/man/cat3/evthread_lock_callbacks.0 comp-c-catman .cat +./usr/share/man/cat3/evtimer_add.0 comp-obsolete obsolete +./usr/share/man/cat3/evtimer_del.0 comp-obsolete obsolete +./usr/share/man/cat3/evtimer_initialized.0 comp-obsolete obsolete +./usr/share/man/cat3/evtimer_pending.0 comp-obsolete obsolete +./usr/share/man/cat3/evtimer_set.0 comp-obsolete obsolete +./usr/share/man/cat3/evutil.0 comp-c-catman .cat +./usr/share/man/cat3/evutil_addrinfo.0 comp-c-catman .cat ./usr/share/man/cat3/exec.0 comp-c-catman .cat ./usr/share/man/cat3/execl.0 comp-c-catman .cat ./usr/share/man/cat3/execle.0 comp-c-catman .cat @@ -6458,6 +6217,8 @@ ./usr/share/man/cat3/exp2.0 comp-c-catman .cat ./usr/share/man/cat3/exp2f.0 comp-c-catman .cat ./usr/share/man/cat3/expf.0 comp-c-catman .cat +./usr/share/man/cat3/explicit_bzero.0 comp-obsolete obsolete +./usr/share/man/cat3/explicit_memset.0 comp-c-catman .cat ./usr/share/man/cat3/expm1.0 comp-c-catman .cat ./usr/share/man/cat3/expm1f.0 comp-c-catman .cat ./usr/share/man/cat3/extattr.0 comp-obsolete obsolete @@ -6534,6 +6295,7 @@ ./usr/share/man/cat3/flockfile.0 comp-c-catman .cat ./usr/share/man/cat3/floor.0 comp-c-catman .cat ./usr/share/man/cat3/floorf.0 comp-c-catman .cat +./usr/share/man/cat3/floorl.0 comp-c-catman .cat ./usr/share/man/cat3/fls32.0 comp-c-catman .cat ./usr/share/man/cat3/fls64.0 comp-c-catman .cat ./usr/share/man/cat3/flushinp.0 comp-c-catman .cat @@ -6547,6 +6309,7 @@ ./usr/share/man/cat3/fminl.0 comp-c-catman .cat ./usr/share/man/cat3/fmod.0 comp-c-catman .cat ./usr/share/man/cat3/fmodf.0 comp-c-catman .cat +./usr/share/man/cat3/fmodl.0 comp-c-catman .cat ./usr/share/man/cat3/fmtcheck.0 comp-c-catman .cat ./usr/share/man/cat3/fmtmsg.0 comp-c-catman .cat ./usr/share/man/cat3/fnmatch.0 comp-c-catman .cat @@ -6704,6 +6467,7 @@ ./usr/share/man/cat3/getbkgd.0 comp-c-catman .cat ./usr/share/man/cat3/getbootfile.0 comp-c-catman .cat ./usr/share/man/cat3/getbsize.0 comp-c-catman .cat +./usr/share/man/cat3/getbyteorder.0 comp-c-catman .cat ./usr/share/man/cat3/getc.0 comp-c-catman .cat ./usr/share/man/cat3/getc_unlocked.0 comp-c-catman .cat ./usr/share/man/cat3/getcap.0 comp-obsolete obsolete @@ -6940,6 +6704,7 @@ ./usr/share/man/cat3/inchstr.0 comp-c-catman .cat ./usr/share/man/cat3/index.0 comp-c-catman .cat ./usr/share/man/cat3/inet.0 comp-c-catman .cat +./usr/share/man/cat3/inet6_getscopeid.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_opt_append.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_opt_find.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_opt_finish.0 comp-c-catman .cat @@ -6953,6 +6718,7 @@ ./usr/share/man/cat3/inet6_option_init.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_option_next.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_option_space.0 comp-c-catman .cat +./usr/share/man/cat3/inet6_putscopeid.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_rth_add.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_rth_getaddr.0 comp-c-catman .cat ./usr/share/man/cat3/inet6_rth_init.0 comp-c-catman .cat @@ -7022,7 +6788,7 @@ ./usr/share/man/cat3/isnormal.0 comp-c-catman .cat ./usr/share/man/cat3/isns.0 comp-isns-catman .cat ./usr/share/man/cat3/iso646.0 comp-c-catman .cat -./usr/share/man/cat3/iso_addr.0 comp-c-catman .cat +./usr/share/man/cat3/iso_addr.0 comp-obsolete obsolete ./usr/share/man/cat3/isprint.0 comp-c-catman .cat ./usr/share/man/cat3/ispunct.0 comp-c-catman .cat ./usr/share/man/cat3/isspace.0 comp-c-catman .cat @@ -7800,6 +7566,7 @@ ./usr/share/man/cat3/libmagic.0 comp-c-catman .cat ./usr/share/man/cat3/libmj.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/libnetpgp.0 comp-c-catman crypto,.cat +./usr/share/man/cat3/libnetpgpverify.0 comp-c-catman crypto,.cat ./usr/share/man/cat3/libperfuse.0 comp-perfuse-catman .cat ./usr/share/man/cat3/libquota.0 comp-c-catman .cat ./usr/share/man/cat3/libradius.0 comp-c-catman .cat @@ -7855,6 +7622,7 @@ ./usr/share/man/cat3/login_getcapstr.0 comp-c-catman .cat ./usr/share/man/cat3/login_getcaptime.0 comp-c-catman .cat ./usr/share/man/cat3/login_getclass.0 comp-c-catman .cat +./usr/share/man/cat3/login_getpwclass.0 comp-c-catman .cat ./usr/share/man/cat3/login_tty.0 comp-c-catman .cat ./usr/share/man/cat3/loginx.0 comp-c-catman .cat ./usr/share/man/cat3/logout.0 comp-c-catman .cat @@ -7931,8 +7699,8 @@ ./usr/share/man/cat3/menu_mark.0 comp-c-catman .cat ./usr/share/man/cat3/menu_new.0 comp-c-catman .cat ./usr/share/man/cat3/menu_opts.0 comp-c-catman .cat -./usr/share/man/cat3/menu_opts_on.0 comp-c-catman .cat ./usr/share/man/cat3/menu_opts_off.0 comp-c-catman .cat +./usr/share/man/cat3/menu_opts_on.0 comp-c-catman .cat ./usr/share/man/cat3/menu_pad.0 comp-c-catman .cat ./usr/share/man/cat3/menu_pattern.0 comp-c-catman .cat ./usr/share/man/cat3/menu_post.0 comp-c-catman .cat @@ -8067,12 +7835,17 @@ ./usr/share/man/cat3/openpam_borrow_cred.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_free_data.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_free_envlist.0 comp-c-catman .cat,pam +./usr/share/man/cat3/openpam_get_feature.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_get_option.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_log.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_nullconv.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_readline.0 comp-c-catman .cat,pam +./usr/share/man/cat3/openpam_readlinev.0 comp-c-catman .cat,pam +./usr/share/man/cat3/openpam_readword.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_restore_cred.0 comp-c-catman .cat,pam +./usr/share/man/cat3/openpam_set_feature.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_set_option.0 comp-c-catman .cat,pam +./usr/share/man/cat3/openpam_straddch.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_subst.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpam_ttyconv.0 comp-c-catman .cat,pam ./usr/share/man/cat3/openpgpsdk.0 comp-obsolete obsolete @@ -8167,8 +7940,8 @@ ./usr/share/man/cat3/pcap_file.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_fileno.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_findalldevs.0 comp-c-catman .cat -./usr/share/man/cat3/pcap_free_datalinks.0 comp-c-catman .cat -./usr/share/man/cat3/pcap_freealldevs.0 comp-c-catman .cat +./usr/share/man/cat3/pcap_free_datalinks.0 comp-obsolete obsolete +./usr/share/man/cat3/pcap_freealldevs.0 comp-obsolete obsolete ./usr/share/man/cat3/pcap_freecode.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_get_selectable_fd.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_geterr.0 comp-c-catman .cat @@ -8176,6 +7949,7 @@ ./usr/share/man/cat3/pcap_is_swapped.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_lib_version.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_list_datalinks.0 comp-c-catman .cat +./usr/share/man/cat3/pcap_list_tstamp_types.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_lookupdev.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_lookupnet.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_loop.0 comp-c-catman .cat @@ -8191,6 +7965,7 @@ ./usr/share/man/cat3/pcap_set_rfmon.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_set_snaplen.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_set_timeout.0 comp-c-catman .cat +./usr/share/man/cat3/pcap_set_tstamp_type.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_setdirection.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_setfilter.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_setnonblock.0 comp-c-catman .cat @@ -8198,6 +7973,8 @@ ./usr/share/man/cat3/pcap_stats.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_statustostr.0 comp-c-catman .cat ./usr/share/man/cat3/pcap_strerror.0 comp-c-catman .cat +./usr/share/man/cat3/pcap_tstamp_type_name_to_val.0 comp-c-catman .cat +./usr/share/man/cat3/pcap_tstamp_type_val_to_name.0 comp-c-catman .cat ./usr/share/man/cat3/pci.0 comp-c-catman .cat ./usr/share/man/cat3/pci_conf_print.0 comp-c-catman .cat ./usr/share/man/cat3/pci_devinfo.0 comp-c-catman .cat @@ -8520,6 +8297,7 @@ ./usr/share/man/cat3/pthread_condattr.0 comp-c-catman .cat ./usr/share/man/cat3/pthread_condattr_destroy.0 comp-c-catman .cat ./usr/share/man/cat3/pthread_condattr_init.0 comp-c-catman .cat +./usr/share/man/cat3/pthread_condattr_setclock.0 comp-c-catman .cat ./usr/share/man/cat3/pthread_create.0 comp-c-catman .cat ./usr/share/man/cat3/pthread_curcpu_np.0 comp-c-catman .cat ./usr/share/man/cat3/pthread_detach.0 comp-c-catman .cat @@ -8623,6 +8401,7 @@ ./usr/share/man/cat3/qiflush.0 comp-c-catman .cat ./usr/share/man/cat3/qsort.0 comp-c-catman .cat ./usr/share/man/cat3/queue.0 comp-c-catman .cat +./usr/share/man/cat3/quick_exit.0 comp-c-catman .cat ./usr/share/man/cat3/quota_close.0 comp-c-catman .cat ./usr/share/man/cat3/quota_delete.0 comp-c-catman .cat ./usr/share/man/cat3/quota_get.0 comp-c-catman .cat @@ -8737,6 +8516,7 @@ ./usr/share/man/cat3/rmtops.0 comp-c-catman .cat ./usr/share/man/cat3/round.0 comp-c-catman .cat ./usr/share/man/cat3/roundf.0 comp-c-catman .cat +./usr/share/man/cat3/roundl.0 comp-c-catman .cat ./usr/share/man/cat3/rpc.0 comp-c-catman .cat ./usr/share/man/cat3/rpc_broadcast.0 comp-c-catman .cat ./usr/share/man/cat3/rpc_broadcast_exp.0 comp-c-catman .cat @@ -8990,11 +8770,11 @@ ./usr/share/man/cat3/sigismember.0 comp-c-catman .cat ./usr/share/man/cat3/siglongjmp.0 comp-c-catman .cat ./usr/share/man/cat3/signal.0 comp-c-catman .cat -./usr/share/man/cat3/signal_add.0 comp-c-catman .cat -./usr/share/man/cat3/signal_del.0 comp-c-catman .cat -./usr/share/man/cat3/signal_initialized.0 comp-c-catman .cat -./usr/share/man/cat3/signal_pending.0 comp-c-catman .cat -./usr/share/man/cat3/signal_set.0 comp-c-catman .cat +./usr/share/man/cat3/signal_add.0 comp-obsolete obsolete +./usr/share/man/cat3/signal_del.0 comp-obsolete obsolete +./usr/share/man/cat3/signal_initialized.0 comp-obsolete obsolete +./usr/share/man/cat3/signal_pending.0 comp-obsolete obsolete +./usr/share/man/cat3/signal_set.0 comp-obsolete obsolete ./usr/share/man/cat3/signbit.0 comp-c-catman .cat ./usr/share/man/cat3/significand.0 comp-c-catman .cat ./usr/share/man/cat3/significandf.0 comp-c-catman .cat @@ -9046,6 +8826,7 @@ ./usr/share/man/cat3/sprintf.0 comp-c-catman .cat ./usr/share/man/cat3/sqrt.0 comp-c-catman .cat ./usr/share/man/cat3/sqrtf.0 comp-c-catman .cat +./usr/share/man/cat3/sqrtl.0 comp-c-catman .cat ./usr/share/man/cat3/sradixsort.0 comp-c-catman .cat ./usr/share/man/cat3/srand.0 comp-c-catman .cat ./usr/share/man/cat3/srand48.0 comp-c-catman .cat @@ -9305,6 +9086,7 @@ ./usr/share/man/cat3/tree.0 comp-c-catman .cat ./usr/share/man/cat3/trunc.0 comp-c-catman .cat ./usr/share/man/cat3/truncf.0 comp-c-catman .cat +./usr/share/man/cat3/truncl.0 comp-c-catman .cat ./usr/share/man/cat3/tsearch.0 comp-c-catman .cat ./usr/share/man/cat3/ttyaction.0 comp-c-catman .cat ./usr/share/man/cat3/ttylock.0 comp-c-catman .cat @@ -9577,12 +9359,14 @@ ./usr/share/man/cat5/ranlib.0 comp-util-catman .cat ./usr/share/man/cat5/statvfs.0 comp-util-catman .cat ./usr/share/man/cat5/tar.0 comp-util-catman .cat +./usr/share/man/cat5/tcsd.conf.0 comp-tpm-catman tpm,.cat ./usr/share/man/cat7/operator.0 comp-c-catman .cat ./usr/share/man/cat8/config.0 comp-obsolete obsolete ./usr/share/man/cat8/config.new.0 comp-obsolete obsolete ./usr/share/man/cat8/cvsbug.0 comp-cvs-catman cvs,.cat ./usr/share/man/cat8/genassym.0 comp-obsolete obsolete ./usr/share/man/cat8/kgmon.0 comp-sysutil-catman .cat +./usr/share/man/cat8/tcsd.0 comp-tpm-catman tpm,.cat ./usr/share/man/cat9/BOOT_FLAG.0 comp-sys-catman .cat ./usr/share/man/cat9/CALLOUT_INITIALIZER.0 comp-obsolete obsolete ./usr/share/man/cat9/CALLOUT_INITIALIZER_SETFUNC.0 comp-obsolete obsolete @@ -9719,7 +9503,6 @@ ./usr/share/man/cat9/VOP_WHITEOUT.0 comp-sys-catman .cat ./usr/share/man/cat9/VOP_WRITE.0 comp-sys-catman .cat ./usr/share/man/cat9/VREF.0 comp-obsolete obsolete -./usr/share/man/cat9/atop.0 comp-sys-catman .cat ./usr/share/man/cat9/accept_filt_add.0 comp-sys-catman .cat ./usr/share/man/cat9/accept_filt_del.0 comp-sys-catman .cat ./usr/share/man/cat9/accept_filt_generic_mod_event.0 comp-sys-catman .cat @@ -9752,6 +9535,7 @@ ./usr/share/man/cat9/arp_ifinit.0 comp-sys-catman .cat ./usr/share/man/cat9/arpintr.0 comp-sys-catman .cat ./usr/share/man/cat9/arpresolve.0 comp-sys-catman .cat +./usr/share/man/cat9/atop.0 comp-sys-catman .cat ./usr/share/man/cat9/audio.0 comp-sys-catman .cat ./usr/share/man/cat9/autoconf.0 comp-sys-catman .cat ./usr/share/man/cat9/bawrite.0 comp-sys-catman .cat @@ -10154,6 +9938,7 @@ ./usr/share/man/cat9/fusword.0 comp-sys-catman .cat ./usr/share/man/cat9/fuword.0 comp-sys-catman .cat ./usr/share/man/cat9/genfs.0 comp-sys-catman .cat +./usr/share/man/cat9/genfs_rename.0 comp-sys-catman .cat ./usr/share/man/cat9/getbintime.0 comp-sys-catman .cat ./usr/share/man/cat9/getbinuptime.0 comp-sys-catman .cat ./usr/share/man/cat9/getblk.0 comp-sys-catman .cat @@ -10292,9 +10077,12 @@ ./usr/share/man/cat9/kcpuset_copy.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_copyin.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_copyout.0 comp-sys-catman .cat +./usr/share/man/cat9/kcpuset_countset.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_create.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_destroy.0 comp-sys-catman .cat +./usr/share/man/cat9/kcpuset_export_32.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_fill.0 comp-sys-catman .cat +./usr/share/man/cat9/kcpuset_isotherset.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_isset.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_iszero.0 comp-sys-catman .cat ./usr/share/man/cat9/kcpuset_match.0 comp-sys-catman .cat @@ -10353,6 +10141,7 @@ ./usr/share/man/cat9/m_copydata.0 comp-sys-catman .cat ./usr/share/man/cat9/m_copym.0 comp-sys-catman .cat ./usr/share/man/cat9/m_copypacket.0 comp-sys-catman .cat +./usr/share/man/cat9/m_copyup.0 comp-sys-catman .cat ./usr/share/man/cat9/m_devget.0 comp-sys-catman .cat ./usr/share/man/cat9/m_dup.0 comp-sys-catman .cat ./usr/share/man/cat9/m_free.0 comp-sys-catman .cat @@ -10402,6 +10191,7 @@ ./usr/share/man/cat9/memoryallocators.0 comp-sys-catman .cat ./usr/share/man/cat9/memset.0 comp-sys-catman .cat ./usr/share/man/cat9/mi_switch.0 comp-sys-catman .cat +./usr/share/man/cat9/microseq.0 comp-sys-catman .cat ./usr/share/man/cat9/microtime.0 comp-sys-catman .cat ./usr/share/man/cat9/microuptime.0 comp-sys-catman .cat ./usr/share/man/cat9/module.0 comp-sys-catman .cat @@ -10436,7 +10226,7 @@ ./usr/share/man/cat9/nanouptime.0 comp-sys-catman .cat ./usr/share/man/cat9/need_resched.0 comp-obsolete obsolete ./usr/share/man/cat9/nextrunqueue.0 comp-obsolete obsolete -./usr/share/man/cat9/npf_ncode.0 comp-sys-catman .cat +./usr/share/man/cat9/npf_ncode.0 comp-obsolete obsolete ./usr/share/man/cat9/nullop.0 comp-sys-catman .cat ./usr/share/man/cat9/old_sysctl.0 comp-sys-catman .cat ./usr/share/man/cat9/opencrypto.0 comp-sys-catman .cat @@ -10511,6 +10301,12 @@ ./usr/share/man/cat9/pcq_maxitems.0 comp-sys-catman .cat ./usr/share/man/cat9/pcq_peek.0 comp-sys-catman .cat ./usr/share/man/cat9/pcq_put.0 comp-sys-catman .cat +./usr/share/man/cat9/pcu.0 comp-sys-catman .cat +./usr/share/man/cat9/pcu_discard.0 comp-sys-catman .cat +./usr/share/man/cat9/pcu_load.0 comp-sys-catman .cat +./usr/share/man/cat9/pcu_save.0 comp-sys-catman .cat +./usr/share/man/cat9/pcu_save_all.0 comp-sys-catman .cat +./usr/share/man/cat9/pcu_used_p.0 comp-sys-catman .cat ./usr/share/man/cat9/percpu.0 comp-sys-catman .cat ./usr/share/man/cat9/percpu_alloc.0 comp-sys-catman .cat ./usr/share/man/cat9/percpu_foreach.0 comp-sys-catman .cat @@ -10600,6 +10396,7 @@ ./usr/share/man/cat9/powerhook_disestablish.0 comp-sys-catman .cat ./usr/share/man/cat9/powerhook_establish.0 comp-sys-catman .cat ./usr/share/man/cat9/powerof2.0 comp-sys-catman .cat +./usr/share/man/cat9/ppi.0 comp-sys-catman .cat ./usr/share/man/cat9/ppsratecheck.0 comp-sys-catman .cat ./usr/share/man/cat9/preempt.0 comp-sys-catman .cat ./usr/share/man/cat9/printf.0 comp-sys-catman .cat @@ -10651,6 +10448,7 @@ ./usr/share/man/cat9/rnd_attach_source.0 comp-sys-catman .cat ./usr/share/man/cat9/rnd_detach_source.0 comp-sys-catman .cat ./usr/share/man/cat9/rnd_extract_data.0 comp-sys-catman .cat +./usr/share/man/cat9/rndsink.0 comp-sys-catman .cat ./usr/share/man/cat9/rootconf.0 comp-sys-catman .cat ./usr/share/man/cat9/round_page.0 comp-sys-catman .cat ./usr/share/man/cat9/rounddown.0 comp-sys-catman .cat @@ -10848,6 +10646,7 @@ ./usr/share/man/cat9/transferlockers.0 comp-sys-catman .cat ./usr/share/man/cat9/trapsignal.0 comp-sys-catman .cat ./usr/share/man/cat9/trunc_page.0 comp-sys-catman .cat +./usr/share/man/cat9/ts2timo.0 comp-sys-catman .cat ./usr/share/man/cat9/tsleep.0 comp-sys-catman .cat ./usr/share/man/cat9/ttyldisc_add.0 comp-sys-catman .cat ./usr/share/man/cat9/ttyldisc_lookup.0 comp-sys-catman .cat @@ -11201,10 +11000,13 @@ ./usr/share/man/html2/extattr_set_fd.html comp-c-htmlman html ./usr/share/man/html2/extattr_set_file.html comp-c-htmlman html ./usr/share/man/html2/extattr_set_link.html comp-c-htmlman html +./usr/share/man/html2/faccessat.html comp-c-htmlman html ./usr/share/man/html2/fchdir.html comp-c-htmlman html ./usr/share/man/html2/fchflags.html comp-c-htmlman html ./usr/share/man/html2/fchmod.html comp-c-htmlman html +./usr/share/man/html2/fchmodat.html comp-c-htmlman html ./usr/share/man/html2/fchown.html comp-c-htmlman html +./usr/share/man/html2/fchownat.html comp-c-htmlman html ./usr/share/man/html2/fchroot.html comp-c-htmlman html ./usr/share/man/html2/fcntl.html comp-c-htmlman html ./usr/share/man/html2/fdatasync.html comp-c-htmlman html @@ -11217,6 +11019,7 @@ ./usr/share/man/html2/fork.html comp-c-htmlman html ./usr/share/man/html2/fpathconf.html comp-c-htmlman html ./usr/share/man/html2/fstat.html comp-c-htmlman html +./usr/share/man/html2/fstatat.html comp-c-htmlman html ./usr/share/man/html2/fstatvfs.html comp-c-htmlman html ./usr/share/man/html2/fstatvfs1.html comp-c-htmlman html ./usr/share/man/html2/fsync.html comp-c-htmlman html @@ -11276,14 +11079,18 @@ ./usr/share/man/html2/listen.html comp-c-htmlman html ./usr/share/man/html2/lseek.html comp-c-htmlman html ./usr/share/man/html2/lstat.html comp-c-htmlman html +./usr/share/man/html2/lutimens.html comp-c-htmlman html ./usr/share/man/html2/lutimes.html comp-c-htmlman html ./usr/share/man/html2/m68k_sync_icache.html comp-c-htmlman html ./usr/share/man/html2/madvise.html comp-c-htmlman html ./usr/share/man/html2/mincore.html comp-c-htmlman html ./usr/share/man/html2/minherit.html comp-c-htmlman html ./usr/share/man/html2/mkdir.html comp-c-htmlman html +./usr/share/man/html2/mkdirat.html comp-c-htmlman html ./usr/share/man/html2/mkfifo.html comp-c-htmlman html +./usr/share/man/html2/mkfifoat.html comp-c-htmlman html ./usr/share/man/html2/mknod.html comp-c-htmlman html +./usr/share/man/html2/mknodat.html comp-c-htmlman html ./usr/share/man/html2/mlock.html comp-c-htmlman html ./usr/share/man/html2/mlockall.html comp-c-htmlman html ./usr/share/man/html2/mmap.html comp-c-htmlman html @@ -11304,6 +11111,7 @@ ./usr/share/man/html2/ntp_adjtime.html comp-c-htmlman html ./usr/share/man/html2/ntp_gettime.html comp-c-htmlman html ./usr/share/man/html2/open.html comp-c-htmlman html +./usr/share/man/html2/openat.html comp-c-htmlman html ./usr/share/man/html2/paccept.html comp-c-htmlman html ./usr/share/man/html2/pathconf.html comp-c-htmlman html ./usr/share/man/html2/pipe.html comp-c-htmlman html @@ -11325,6 +11133,7 @@ ./usr/share/man/html2/rasctl.html comp-c-htmlman html ./usr/share/man/html2/read.html comp-c-htmlman html ./usr/share/man/html2/readlink.html comp-c-htmlman html +./usr/share/man/html2/readlinkat.html comp-c-htmlman html ./usr/share/man/html2/readv.html comp-c-htmlman html ./usr/share/man/html2/reboot.html comp-c-htmlman html ./usr/share/man/html2/recv.html comp-c-htmlman html @@ -11332,6 +11141,7 @@ ./usr/share/man/html2/recvmmsg.html comp-c-htmlman html ./usr/share/man/html2/recvmsg.html comp-c-htmlman html ./usr/share/man/html2/rename.html comp-c-htmlman html +./usr/share/man/html2/renameat.html comp-c-htmlman html ./usr/share/man/html2/revoke.html comp-c-htmlman html ./usr/share/man/html2/rmdir.html comp-c-htmlman html ./usr/share/man/html2/sbrk.html comp-c-htmlman html @@ -11385,6 +11195,7 @@ ./usr/share/man/html2/statvfs1.html comp-c-htmlman html ./usr/share/man/html2/swapctl.html comp-c-htmlman html ./usr/share/man/html2/symlink.html comp-c-htmlman html +./usr/share/man/html2/symlinkat.html comp-c-htmlman html ./usr/share/man/html2/sync.html comp-c-htmlman html ./usr/share/man/html2/sysarch.html comp-c-htmlman html ./usr/share/man/html2/syscall.html comp-c-htmlman html @@ -11398,7 +11209,9 @@ ./usr/share/man/html2/umask.html comp-c-htmlman html ./usr/share/man/html2/undelete.html comp-c-htmlman html ./usr/share/man/html2/unlink.html comp-c-htmlman html +./usr/share/man/html2/unlinkat.html comp-c-htmlman html ./usr/share/man/html2/unmount.html comp-c-htmlman html +./usr/share/man/html2/utimens.html comp-c-htmlman html ./usr/share/man/html2/utimensat.html comp-c-htmlman html ./usr/share/man/html2/utimes.html comp-c-htmlman html ./usr/share/man/html2/utrace.html comp-c-htmlman html @@ -11457,24 +11270,24 @@ ./usr/share/man/html3/BN_set_bit.html comp-c-htmlman crypto,html ./usr/share/man/html3/BN_swap.html comp-c-htmlman crypto,html ./usr/share/man/html3/BN_zero.html comp-c-htmlman crypto,html -./usr/share/man/html3/CIRCLEQ_EMPTY.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_ENTRY.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_FIRST.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_FOREACH.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_FOREACH_REVERSE.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_HEAD.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_HEAD_INITIALIZER.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_INIT.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_INSERT_AFTER.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_INSERT_BEFORE.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_INSERT_HEAD.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_INSERT_TAIL.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_LAST.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_LOOP_NEXT.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_LOOP_PREV.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_NEXT.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_PREV.html comp-c-htmlman html -./usr/share/man/html3/CIRCLEQ_REMOVE.html comp-c-htmlman html +./usr/share/man/html3/CIRCLEQ_EMPTY.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_ENTRY.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_FIRST.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_FOREACH.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_FOREACH_REVERSE.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_HEAD.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_HEAD_INITIALIZER.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_INIT.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_INSERT_AFTER.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_INSERT_BEFORE.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_INSERT_HEAD.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_INSERT_TAIL.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_LAST.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_LOOP_NEXT.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_LOOP_PREV.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_NEXT.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_PREV.html comp-obsolete obsolete +./usr/share/man/html3/CIRCLEQ_REMOVE.html comp-obsolete obsolete ./usr/share/man/html3/CMSG_DATA.html comp-c-htmlman html ./usr/share/man/html3/CMSG_FIRSTHDR.html comp-c-htmlman html ./usr/share/man/html3/CMSG_LEN.html comp-c-htmlman html @@ -11516,6 +11329,7 @@ ./usr/share/man/html3/EVP_OpenInit.html comp-c-htmlman crypto,html ./usr/share/man/html3/EVP_PKEY_new.html comp-c-htmlman crypto,html ./usr/share/man/html3/EVP_PKEY_set1_RSA.html comp-c-htmlman crypto,html +./usr/share/man/html3/EVP_PKEY_verify_recover.html comp-c-htmlman crypto,html ./usr/share/man/html3/EVP_SealInit.html comp-c-htmlman crypto,html ./usr/share/man/html3/EVP_SignInit.html comp-c-htmlman crypto,html ./usr/share/man/html3/EVP_VerifyInit.html comp-c-htmlman crypto,html @@ -11575,10 +11389,12 @@ ./usr/share/man/html3/GCQ_INIT_HEAD.html comp-sys-htmlman html ./usr/share/man/html3/GCQ_ITEM.html comp-sys-htmlman html ./usr/share/man/html3/IFTODT.html comp-c-htmlman html +./usr/share/man/html3/LIST.html comp-c-htmlman html ./usr/share/man/html3/LIST_EMPTY.html comp-c-htmlman html ./usr/share/man/html3/LIST_ENTRY.html comp-c-htmlman html ./usr/share/man/html3/LIST_FIRST.html comp-c-htmlman html ./usr/share/man/html3/LIST_FOREACH.html comp-c-htmlman html +./usr/share/man/html3/LIST_FOREACH_SAFE.html comp-c-htmlman html ./usr/share/man/html3/LIST_HEAD.html comp-c-htmlman html ./usr/share/man/html3/LIST_HEAD_INITIALIZER.html comp-c-htmlman html ./usr/share/man/html3/LIST_INIT.html comp-c-htmlman html @@ -11587,6 +11403,7 @@ ./usr/share/man/html3/LIST_INSERT_HEAD.html comp-c-htmlman html ./usr/share/man/html3/LIST_NEXT.html comp-c-htmlman html ./usr/share/man/html3/LIST_REMOVE.html comp-c-htmlman html +./usr/share/man/html3/LIST_REPLACE.html comp-c-htmlman html ./usr/share/man/html3/MAX.html comp-c-htmlman html ./usr/share/man/html3/MD2Data.html comp-c-htmlman html ./usr/share/man/html3/MD2End.html comp-c-htmlman html @@ -11716,23 +11533,30 @@ ./usr/share/man/html3/SHA512_Init.html comp-c-htmlman html ./usr/share/man/html3/SHA512_Transform.html comp-c-htmlman html ./usr/share/man/html3/SHA512_Update.html comp-c-htmlman html +./usr/share/man/html3/SIMPLEQ.html comp-c-htmlman html +./usr/share/man/html3/SIMPLEQ_CONCAT.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_EMPTY.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_ENTRY.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_FIRST.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_FOREACH.html comp-c-htmlman html +./usr/share/man/html3/SIMPLEQ_FOREACH_SAFE.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_HEAD.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_HEAD_INITIALIZER.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_INIT.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_INSERT_AFTER.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_INSERT_HEAD.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_INSERT_TAIL.html comp-c-htmlman html +./usr/share/man/html3/SIMPLEQ_LAST.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_NEXT.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_REMOVE.html comp-c-htmlman html +./usr/share/man/html3/SIMPLEQ_REMOVE_AFTER.html comp-c-htmlman html ./usr/share/man/html3/SIMPLEQ_REMOVE_HEAD.html comp-c-htmlman html +./usr/share/man/html3/SLIST.html comp-c-htmlman html ./usr/share/man/html3/SLIST_EMPTY.html comp-c-htmlman html ./usr/share/man/html3/SLIST_ENTRY.html comp-c-htmlman html ./usr/share/man/html3/SLIST_FIRST.html comp-c-htmlman html ./usr/share/man/html3/SLIST_FOREACH.html comp-c-htmlman html +./usr/share/man/html3/SLIST_FOREACH_SAFE.html comp-c-htmlman html ./usr/share/man/html3/SLIST_HEAD.html comp-c-htmlman html ./usr/share/man/html3/SLIST_HEAD_INITIALIZER.html comp-c-htmlman html ./usr/share/man/html3/SLIST_INIT.html comp-c-htmlman html @@ -11740,6 +11564,7 @@ ./usr/share/man/html3/SLIST_INSERT_HEAD.html comp-c-htmlman html ./usr/share/man/html3/SLIST_NEXT.html comp-c-htmlman html ./usr/share/man/html3/SLIST_REMOVE.html comp-c-htmlman html +./usr/share/man/html3/SLIST_REMOVE_AFTER.html comp-c-htmlman html ./usr/share/man/html3/SLIST_REMOVE_HEAD.html comp-c-htmlman html ./usr/share/man/html3/SMIME_read_PKCS7.html comp-c-htmlman crypto,html ./usr/share/man/html3/SMIME_write_PKCS7.html comp-c-htmlman crypto,html @@ -11837,24 +11662,32 @@ ./usr/share/man/html3/SSL_state_string.html comp-c-htmlman crypto,html ./usr/share/man/html3/SSL_want.html comp-c-htmlman crypto,html ./usr/share/man/html3/SSL_write.html comp-c-htmlman crypto,html +./usr/share/man/html3/STAILQ.html comp-c-htmlman html +./usr/share/man/html3/STAILQ_CONCAT.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_EMPTY.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_ENTRY.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_FIRST.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_FOREACH.html comp-c-htmlman html +./usr/share/man/html3/STAILQ_FOREACH_SAFE.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_HEAD.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_HEAD_INITIALIZER.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_INIT.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_INSERT_AFTER.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_INSERT_HEAD.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_INSERT_TAIL.html comp-c-htmlman html +./usr/share/man/html3/STAILQ_LAST.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_NEXT.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_REMOVE.html comp-c-htmlman html ./usr/share/man/html3/STAILQ_REMOVE_HEAD.html comp-c-htmlman html +./usr/share/man/html3/TAILQ.html comp-c-htmlman html +./usr/share/man/html3/TAILQ_CONCAT.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_EMPTY.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_ENTRY.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_FIRST.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_FOREACH.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_FOREACH_REVERSE.html comp-c-htmlman html +./usr/share/man/html3/TAILQ_FOREACH_REVERSE_SAFE.html comp-c-htmlman html +./usr/share/man/html3/TAILQ_FOREACH_SAFE.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_HEAD.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_HEAD_INITIALIZER.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_INIT.html comp-c-htmlman html @@ -11866,8 +11699,97 @@ ./usr/share/man/html3/TAILQ_NEXT.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_PREV.html comp-c-htmlman html ./usr/share/man/html3/TAILQ_REMOVE.html comp-c-htmlman html +./usr/share/man/html3/TAILQ_REPLACE.html comp-c-htmlman html ./usr/share/man/html3/TIMESPEC_TO_TIMEVAL.html comp-c-htmlman html ./usr/share/man/html3/TIMEVAL_TO_TIMESPEC.html comp-c-htmlman html +./usr/share/man/html3/Tspi_ChangeAuth.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_ChangeAuthAsym.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_Close.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_CloseObject.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_Connect.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_Create.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_CreateObject.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_FreeMemory.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetCapability.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetDefaultPolicy.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetKeyByPublicInfo.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetKeyByUUID.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetRegisteredKeysByUUID.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetRegisteredKeysByUUID2.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_GetTpmObject.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_LoadKeyByBlob.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_LoadKeyByUUID.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_RegisterKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Context_UnregisterKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DAA_IssueCredential.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DAA_IssueInit.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DAA_IssueSetup.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DAA_IssuerKeyVerification.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DAA_VerifyInit.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DAA_VerifySignature.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Data_Bind.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Data_Seal.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Data_Unbind.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Data_Unseal.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_DecodeBER_TssBlob.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_EncodeDER_TssBlob.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_GetAttribData.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_GetAttribUint32.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_GetPolicyObject.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Hash_GetHashValue.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Hash_SetHashValue.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Hash_Sign.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Hash_UpdateHashValue.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Hash_VerifySignature.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_CertifyKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_ConvertMigrationBlob.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_CreateKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_CreateMigrationBlob.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_GetPubKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_LoadKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_UnloadKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Key_WrapKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_PcrComposite_GetPcrValue.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_PcrComposite_SelectPcrIndex.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_PcrComposite_SetPcrValue.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Policy_AssignToObject.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Policy_FlushSecret.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_Policy_SetSecret.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_SetAttribData.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_SetAttribUint32.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_AuthorizeMigrationTicket.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_CMKSetRestrictions.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_CertifySelfTest.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_CheckMaintenancePubKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_ClearOwner.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_CollateIdentityRequest.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_CreateEndorsementKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_CreateMaintenanceArchive.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_DAA_JoinCreateDaaPubKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_DAA_JoinInit.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_DAA_JoinStoreCredential.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_DAA_Sign.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_DirRead.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_DirWrite.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetAuditDigest.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetCapability.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetEvent.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetEventLog.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetEvents.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetPubEndorsementKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetRandom.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetStatus.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_GetTestResult.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_KillMaintenanceFeature.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_LoadMaintenancePubKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_OwnerGetSRKPubKey.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_PcrExtend.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_PcrRead.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_Quote.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_SelfTestFull.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_SetStatus.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_StirRandom.html comp-c-htmlman tpm,html +./usr/share/man/html3/Tspi_TPM_TakeOwnership.html comp-c-htmlman tpm,html ./usr/share/man/html3/X509_NAME_ENTRY_get_object.html comp-c-htmlman crypto,html ./usr/share/man/html3/X509_NAME_add_entry_by_txt.html comp-c-htmlman crypto,html ./usr/share/man/html3/X509_NAME_get_index_by_NID.html comp-c-htmlman crypto,html @@ -11882,6 +11804,12 @@ ./usr/share/man/html3/X509_verify_cert.html comp-c-htmlman crypto,html ./usr/share/man/html3/_DIAGASSERT.html comp-c-htmlman html ./usr/share/man/html3/__BIT.html comp-c-htmlman html +./usr/share/man/html3/__BITMAP_CLR.html comp-c-htmlman html +./usr/share/man/html3/__BITMAP_ISSET.html comp-c-htmlman html +./usr/share/man/html3/__BITMAP_SET.html comp-c-htmlman html +./usr/share/man/html3/__BITMAP_SIZE.html comp-c-htmlman html +./usr/share/man/html3/__BITMAP_TYPE.html comp-c-htmlman html +./usr/share/man/html3/__BITMAP_ZERO.html comp-c-htmlman html ./usr/share/man/html3/__BITS.html comp-c-htmlman html ./usr/share/man/html3/__CONCAT.html comp-c-htmlman html ./usr/share/man/html3/__KERNEL_RCSID.html comp-c-htmlman html @@ -11892,6 +11820,7 @@ ./usr/share/man/html3/__STRING.html comp-c-htmlman html ./usr/share/man/html3/__UNCONST.html comp-c-htmlman html ./usr/share/man/html3/__UNVOLATILE.html comp-c-htmlman html +./usr/share/man/html3/__USE.html comp-c-htmlman html ./usr/share/man/html3/__aligned.html comp-c-htmlman html ./usr/share/man/html3/__alignof__.html comp-c-htmlman html ./usr/share/man/html3/__arraycount.html comp-c-htmlman html @@ -11904,6 +11833,8 @@ ./usr/share/man/html3/__cacheline_aligned.html comp-c-htmlman html ./usr/share/man/html3/__constfunc.html comp-c-htmlman html ./usr/share/man/html3/__dead.html comp-c-htmlman html +./usr/share/man/html3/__debugused.html comp-c-htmlman html +./usr/share/man/html3/__diagused.html comp-c-htmlman html ./usr/share/man/html3/__insn_barrier.html comp-c-htmlman html ./usr/share/man/html3/__noinline.html comp-c-htmlman html ./usr/share/man/html3/__packed.html comp-c-htmlman html @@ -12137,6 +12068,7 @@ ./usr/share/man/html3/asprintf.html comp-c-htmlman html ./usr/share/man/html3/assert.html comp-c-htmlman html ./usr/share/man/html3/assume_default_colors.html comp-c-htmlman html +./usr/share/man/html3/at_quick_exit.html comp-c-htmlman html ./usr/share/man/html3/atan.html comp-c-htmlman html ./usr/share/man/html3/atan2.html comp-c-htmlman html ./usr/share/man/html3/atan2f.html comp-c-htmlman html @@ -12291,6 +12223,7 @@ ./usr/share/man/html3/bit_nset.html comp-c-htmlman html ./usr/share/man/html3/bit_set.html comp-c-htmlman html ./usr/share/man/html3/bit_test.html comp-c-htmlman html +./usr/share/man/html3/bitmap.html comp-c-htmlman html ./usr/share/man/html3/bitops.html comp-c-htmlman html ./usr/share/man/html3/bits.html comp-c-htmlman html ./usr/share/man/html3/bitstr_size.html comp-c-htmlman html @@ -12341,15 +12274,17 @@ ./usr/share/man/html3/bt_setprotoent.html comp-c-htmlman html ./usr/share/man/html3/btowc.html comp-c-htmlman html ./usr/share/man/html3/btree.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_base_set.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_disable.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_enable.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_free.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_new.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_read.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_settimeout.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_write.html comp-c-htmlman html -./usr/share/man/html3/bufferevent_write_buffer.html comp-c-htmlman html +./usr/share/man/html3/bufferevent.html comp-c-htmlman html +./usr/share/man/html3/bufferevent_base_set.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_disable.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_enable.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_free.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_new.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_read.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_settimeout.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_ssl.html comp-c-htmlman html +./usr/share/man/html3/bufferevent_write.html comp-c-obsolete obsolete +./usr/share/man/html3/bufferevent_write_buffer.html comp-c-obsolete obsolete ./usr/share/man/html3/byteorder.html comp-c-htmlman html ./usr/share/man/html3/bzero.html comp-c-htmlman html ./usr/share/man/html3/cabs.html comp-c-htmlman complex,html @@ -12377,6 +12312,7 @@ ./usr/share/man/html3/cbreak.html comp-c-htmlman html ./usr/share/man/html3/cbrt.html comp-c-htmlman html ./usr/share/man/html3/cbrtf.html comp-c-htmlman html +./usr/share/man/html3/cbrtl.html comp-c-htmlman html ./usr/share/man/html3/ccos.html comp-c-htmlman complex,html ./usr/share/man/html3/ccosf.html comp-c-htmlman complex,html ./usr/share/man/html3/ccosh.html comp-c-htmlman complex,html @@ -12397,6 +12333,7 @@ ./usr/share/man/html3/cdefs.html comp-c-htmlman html ./usr/share/man/html3/ceil.html comp-c-htmlman html ./usr/share/man/html3/ceilf.html comp-c-htmlman html +./usr/share/man/html3/ceill.html comp-c-htmlman html ./usr/share/man/html3/cexp.html comp-c-htmlman complex,html ./usr/share/man/html3/cexpf.html comp-c-htmlman complex,html ./usr/share/man/html3/cfgetispeed.html comp-c-htmlman html @@ -12463,6 +12400,8 @@ ./usr/share/man/html3/conj.html comp-c-htmlman complex,html ./usr/share/man/html3/conjf.html comp-c-htmlman complex,html ./usr/share/man/html3/conjl.html comp-c-htmlman complex,html +./usr/share/man/html3/consttime_bcmp.html comp-obsolete obsolete +./usr/share/man/html3/consttime_memequal.html comp-c-htmlman html ./usr/share/man/html3/copysign.html comp-c-htmlman html ./usr/share/man/html3/copysignf.html comp-c-htmlman html ./usr/share/man/html3/copysignl.html comp-c-htmlman html @@ -12772,60 +12711,81 @@ ./usr/share/man/html3/ether_ntohost.html comp-c-htmlman html ./usr/share/man/html3/ethers.html comp-c-htmlman html ./usr/share/man/html3/evasprintf.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_add.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_add_buffer.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_add_printf.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_add_vprintf.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_drain.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_find.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_free.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_new.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_read.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_readline.html comp-c-htmlman html -./usr/share/man/html3/evbuffer_write.html comp-c-htmlman html -./usr/share/man/html3/evdns.html comp-c-htmlman html -./usr/share/man/html3/evdns_clear_nameservers_and_suspend.html comp-c-htmlman html -./usr/share/man/html3/evdns_count_nameservers.html comp-c-htmlman html -./usr/share/man/html3/evdns_err_to_string.html comp-c-htmlman html -./usr/share/man/html3/evdns_init.html comp-c-htmlman html -./usr/share/man/html3/evdns_nameserver_add.html comp-c-htmlman html -./usr/share/man/html3/evdns_nameserver_ip_add.html comp-c-htmlman html -./usr/share/man/html3/evdns_resolv_conf_parse.html comp-c-htmlman html -./usr/share/man/html3/evdns_resolve_ipv4.html comp-c-htmlman html -./usr/share/man/html3/evdns_resolve_reverse.html comp-c-htmlman html -./usr/share/man/html3/evdns_resume.html comp-c-htmlman html -./usr/share/man/html3/evdns_search_add.html comp-c-htmlman html -./usr/share/man/html3/evdns_search_clear.html comp-c-htmlman html -./usr/share/man/html3/evdns_search_ndots_set.html comp-c-htmlman html -./usr/share/man/html3/evdns_set_log_fn.html comp-c-htmlman html -./usr/share/man/html3/evdns_shutdown.html comp-c-htmlman html -./usr/share/man/html3/event.html comp-c-htmlman html -./usr/share/man/html3/event_add.html comp-c-htmlman html -./usr/share/man/html3/event_base_dispatch.html comp-c-htmlman html -./usr/share/man/html3/event_base_free.html comp-c-htmlman html -./usr/share/man/html3/event_base_loop.html comp-c-htmlman html -./usr/share/man/html3/event_base_loopbreak.html comp-c-htmlman html -./usr/share/man/html3/event_base_loopexit.html comp-c-htmlman html -./usr/share/man/html3/event_base_once.html comp-c-htmlman html -./usr/share/man/html3/event_base_set.html comp-c-htmlman html -./usr/share/man/html3/event_del.html comp-c-htmlman html -./usr/share/man/html3/event_dispatch.html comp-c-htmlman html -./usr/share/man/html3/event_init.html comp-c-htmlman html -./usr/share/man/html3/event_initialized.html comp-c-htmlman html -./usr/share/man/html3/event_loop.html comp-c-htmlman html -./usr/share/man/html3/event_loopbreak.html comp-c-htmlman html -./usr/share/man/html3/event_loopexit.html comp-c-htmlman html -./usr/share/man/html3/event_once.html comp-c-htmlman html -./usr/share/man/html3/event_pending.html comp-c-htmlman html -./usr/share/man/html3/event_set.html comp-c-htmlman html -./usr/share/man/html3/evhttp_bind_socket.html comp-c-htmlman html -./usr/share/man/html3/evhttp_free.html comp-c-htmlman html -./usr/share/man/html3/evhttp_new.html comp-c-htmlman html -./usr/share/man/html3/evtimer_add.html comp-c-htmlman html -./usr/share/man/html3/evtimer_del.html comp-c-htmlman html -./usr/share/man/html3/evtimer_initialized.html comp-c-htmlman html -./usr/share/man/html3/evtimer_pending.html comp-c-htmlman html -./usr/share/man/html3/evtimer_set.html comp-c-htmlman html +./usr/share/man/html3/evbuffer.html comp-c-htmlman html +./usr/share/man/html3/evbuffer_add.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_add_buffer.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_add_printf.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_add_vprintf.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_cb_info.html comp-c-htmlman html +./usr/share/man/html3/evbuffer_compat.html comp-c-htmlman html +./usr/share/man/html3/evbuffer_drain.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_find.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_free.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_iovec.html comp-c-htmlman html +./usr/share/man/html3/evbuffer_new.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_ptr.html comp-c-htmlman html +./usr/share/man/html3/evbuffer_read.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_readline.html comp-obsolete obsolete +./usr/share/man/html3/evbuffer_write.html comp-obsolete obsolete +./usr/share/man/html3/evdeprecated.html comp-c-htmlman html +./usr/share/man/html3/evdns.html comp-c-htmlman html +./usr/share/man/html3/evdns_clear_nameservers_and_suspend.html comp-obsolete obsolete +./usr/share/man/html3/evdns_compat.html comp-c-htmlman html +./usr/share/man/html3/evdns_count_nameservers.html comp-obsolete obsolete +./usr/share/man/html3/evdns_err_to_string.html comp-obsolete obsolete +./usr/share/man/html3/evdns_init.html comp-obsolete obsolete +./usr/share/man/html3/evdns_nameserver_add.html comp-obsolete obsolete +./usr/share/man/html3/evdns_nameserver_ip_add.html comp-obsolete obsolete +./usr/share/man/html3/evdns_resolv_conf_parse.html comp-obsolete obsolete +./usr/share/man/html3/evdns_resolve_ipv4.html comp-obsolete obsolete +./usr/share/man/html3/evdns_resolve_reverse.html comp-obsolete obsolete +./usr/share/man/html3/evdns_resume.html comp-obsolete obsolete +./usr/share/man/html3/evdns_search_add.html comp-obsolete obsolete +./usr/share/man/html3/evdns_search_clear.html comp-obsolete obsolete +./usr/share/man/html3/evdns_search_ndots_set.html comp-obsolete obsolete +./usr/share/man/html3/evdns_set_log_fn.html comp-obsolete obsolete +./usr/share/man/html3/evdns_shutdown.html comp-obsolete obsolete +./usr/share/man/html3/event.html comp-c-htmlman html +./usr/share/man/html3/event_add.html comp-obsolete obsolete +./usr/share/man/html3/event_base.html comp-c-htmlman html +./usr/share/man/html3/event_base_dispatch.html comp-obsolete obsolete +./usr/share/man/html3/event_base_free.html comp-obsolete obsolete +./usr/share/man/html3/event_base_loop.html comp-obsolete obsolete +./usr/share/man/html3/event_base_loopbreak.html comp-obsolete obsolete +./usr/share/man/html3/event_base_loopexit.html comp-obsolete obsolete +./usr/share/man/html3/event_base_once.html comp-obsolete obsolete +./usr/share/man/html3/event_base_set.html comp-obsolete obsolete +./usr/share/man/html3/event_compat.html comp-c-htmlman html +./usr/share/man/html3/event_config.html comp-c-htmlman html +./usr/share/man/html3/event_del.html comp-obsolete obsolete +./usr/share/man/html3/event_dispatch.html comp-obsolete obsolete +./usr/share/man/html3/event_init.html comp-obsolete obsolete +./usr/share/man/html3/event_initialized.html comp-obsolete obsolete +./usr/share/man/html3/event_loop.html comp-obsolete obsolete +./usr/share/man/html3/event_loopbreak.html comp-obsolete obsolete +./usr/share/man/html3/event_loopexit.html comp-obsolete obsolete +./usr/share/man/html3/event_once.html comp-obsolete obsolete +./usr/share/man/html3/event_pending.html comp-obsolete obsolete +./usr/share/man/html3/event_set.html comp-obsolete obsolete +./usr/share/man/html3/evhttp.html comp-c-htmlman html +./usr/share/man/html3/evhttp_bind_socket.html comp-obsolete obsolete +./usr/share/man/html3/evhttp_compat.html comp-c-htmlman html +./usr/share/man/html3/evhttp_free.html comp-obsolete obsolete +./usr/share/man/html3/evhttp_new.html comp-obsolete obsolete +./usr/share/man/html3/evrpc.html comp-c-htmlman html +./usr/share/man/html3/evrpc_compat.html comp-c-htmlman html +./usr/share/man/html3/evtag.html comp-c-htmlman html +./usr/share/man/html3/evtag_compat.html comp-c-htmlman html +./usr/share/man/html3/evthread.html comp-c-htmlman html +./usr/share/man/html3/evthread_condition_callbacks.html comp-c-htmlman html +./usr/share/man/html3/evthread_lock_callbacks.html comp-c-htmlman html +./usr/share/man/html3/evtimer_add.html comp-obsolete obsolete +./usr/share/man/html3/evtimer_del.html comp-obsolete obsolete +./usr/share/man/html3/evtimer_initialized.html comp-obsolete obsolete +./usr/share/man/html3/evtimer_pending.html comp-obsolete obsolete +./usr/share/man/html3/evtimer_set.html comp-obsolete obsolete +./usr/share/man/html3/evutil.html comp-c-htmlman html +./usr/share/man/html3/evutil_addrinfo.html comp-c-htmlman html ./usr/share/man/html3/exec.html comp-c-htmlman html ./usr/share/man/html3/execl.html comp-c-htmlman html ./usr/share/man/html3/execle.html comp-c-htmlman html @@ -12838,6 +12798,8 @@ ./usr/share/man/html3/exp2.html comp-c-htmlman html ./usr/share/man/html3/exp2f.html comp-c-htmlman html ./usr/share/man/html3/expf.html comp-c-htmlman html +./usr/share/man/html3/explicit_bzero.html comp-obsolete obsolete +./usr/share/man/html3/explicit_memset.html comp-c-htmlman html ./usr/share/man/html3/expm1.html comp-c-htmlman html ./usr/share/man/html3/expm1f.html comp-c-htmlman html ./usr/share/man/html3/extattr.html comp-obsolete obsolete @@ -12913,6 +12875,7 @@ ./usr/share/man/html3/flockfile.html comp-c-htmlman html ./usr/share/man/html3/floor.html comp-c-htmlman html ./usr/share/man/html3/floorf.html comp-c-htmlman html +./usr/share/man/html3/floorl.html comp-c-htmlman html ./usr/share/man/html3/fls32.html comp-c-htmlman html ./usr/share/man/html3/fls64.html comp-c-htmlman html ./usr/share/man/html3/flushinp.html comp-c-htmlman html @@ -12926,6 +12889,7 @@ ./usr/share/man/html3/fminl.html comp-c-htmlman html ./usr/share/man/html3/fmod.html comp-c-htmlman html ./usr/share/man/html3/fmodf.html comp-c-htmlman html +./usr/share/man/html3/fmodl.html comp-c-htmlman html ./usr/share/man/html3/fmtcheck.html comp-c-htmlman html ./usr/share/man/html3/fmtmsg.html comp-c-htmlman html ./usr/share/man/html3/fnmatch.html comp-c-htmlman html @@ -13083,6 +13047,7 @@ ./usr/share/man/html3/getbkgd.html comp-c-htmlman html ./usr/share/man/html3/getbootfile.html comp-c-htmlman html ./usr/share/man/html3/getbsize.html comp-c-htmlman html +./usr/share/man/html3/getbyteorder.html comp-c-htmlman html ./usr/share/man/html3/getc.html comp-c-htmlman html ./usr/share/man/html3/getc_unlocked.html comp-c-htmlman html ./usr/share/man/html3/getcap.html comp-obsolete obsolete @@ -13316,6 +13281,7 @@ ./usr/share/man/html3/inchstr.html comp-c-htmlman html ./usr/share/man/html3/index.html comp-c-htmlman html ./usr/share/man/html3/inet.html comp-c-htmlman html +./usr/share/man/html3/inet6_getscopeid.html comp-c-htmlman html ./usr/share/man/html3/inet6_opt_append.html comp-c-htmlman html ./usr/share/man/html3/inet6_opt_find.html comp-c-htmlman html ./usr/share/man/html3/inet6_opt_finish.html comp-c-htmlman html @@ -13329,6 +13295,7 @@ ./usr/share/man/html3/inet6_option_init.html comp-c-htmlman html ./usr/share/man/html3/inet6_option_next.html comp-c-htmlman html ./usr/share/man/html3/inet6_option_space.html comp-c-htmlman html +./usr/share/man/html3/inet6_putscopeid.html comp-c-htmlman html ./usr/share/man/html3/inet6_rth_add.html comp-c-htmlman html ./usr/share/man/html3/inet6_rth_getaddr.html comp-c-htmlman html ./usr/share/man/html3/inet6_rth_init.html comp-c-htmlman html @@ -13399,7 +13366,7 @@ ./usr/share/man/html3/isns.html comp-c-htmlman html ./usr/share/man/html3/isns.html comp-isns-htmlman .html ./usr/share/man/html3/iso646.html comp-c-htmlman html -./usr/share/man/html3/iso_addr.html comp-c-htmlman html +./usr/share/man/html3/iso_addr.html comp-obsolete obsolete ./usr/share/man/html3/isprint.html comp-c-htmlman html ./usr/share/man/html3/ispunct.html comp-c-htmlman html ./usr/share/man/html3/isspace.html comp-c-htmlman html @@ -14156,6 +14123,7 @@ ./usr/share/man/html3/libmagic.html comp-c-htmlman html ./usr/share/man/html3/libmj.html comp-c-htmlman crypto,html ./usr/share/man/html3/libnetpgp.html comp-c-htmlman crypto,html +./usr/share/man/html3/libnetpgpverify.html comp-c-htmlman crypto,html ./usr/share/man/html3/libperfuse.html comp-perfuse-htmlman html ./usr/share/man/html3/libquota.html comp-c-htmlman html ./usr/share/man/html3/libradius.html comp-c-htmlman html @@ -14199,6 +14167,7 @@ ./usr/share/man/html3/login_getcapstr.html comp-c-htmlman html ./usr/share/man/html3/login_getcaptime.html comp-c-htmlman html ./usr/share/man/html3/login_getclass.html comp-c-htmlman html +./usr/share/man/html3/login_getpwclass.html comp-c-htmlman html ./usr/share/man/html3/login_tty.html comp-c-htmlman html ./usr/share/man/html3/loginx.html comp-c-htmlman html ./usr/share/man/html3/logout.html comp-c-htmlman html @@ -14274,8 +14243,8 @@ ./usr/share/man/html3/menu_mark.html comp-c-htmlman html ./usr/share/man/html3/menu_new.html comp-c-htmlman html ./usr/share/man/html3/menu_opts.html comp-c-htmlman html -./usr/share/man/html3/menu_opts_on.html comp-c-htmlman html ./usr/share/man/html3/menu_opts_off.html comp-c-htmlman html +./usr/share/man/html3/menu_opts_on.html comp-c-htmlman html ./usr/share/man/html3/menu_pad.html comp-c-htmlman html ./usr/share/man/html3/menu_pattern.html comp-c-htmlman html ./usr/share/man/html3/menu_post.html comp-c-htmlman html @@ -14407,12 +14376,17 @@ ./usr/share/man/html3/openpam_borrow_cred.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_free_data.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_free_envlist.html comp-c-htmlman html,pam +./usr/share/man/html3/openpam_get_feature.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_get_option.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_log.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_nullconv.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_readline.html comp-c-htmlman html,pam +./usr/share/man/html3/openpam_readlinev.html comp-c-htmlman html,pam +./usr/share/man/html3/openpam_readword.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_restore_cred.html comp-c-htmlman html,pam +./usr/share/man/html3/openpam_set_feature.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_set_option.html comp-c-htmlman html,pam +./usr/share/man/html3/openpam_straddch.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_subst.html comp-c-htmlman html,pam ./usr/share/man/html3/openpam_ttyconv.html comp-c-htmlman html,pam ./usr/share/man/html3/openpgpsdk.html comp-obsolete obsolete @@ -14507,8 +14481,8 @@ ./usr/share/man/html3/pcap_file.html comp-c-htmlman html ./usr/share/man/html3/pcap_fileno.html comp-c-htmlman html ./usr/share/man/html3/pcap_findalldevs.html comp-c-htmlman html -./usr/share/man/html3/pcap_free_datalinks.html comp-c-htmlman html -./usr/share/man/html3/pcap_freealldevs.html comp-c-htmlman html +./usr/share/man/html3/pcap_free_datalinks.html comp-obsolete obsolete +./usr/share/man/html3/pcap_freealldevs.html comp-obsolete obsolete ./usr/share/man/html3/pcap_freecode.html comp-c-htmlman html ./usr/share/man/html3/pcap_get_selectable_fd.html comp-c-htmlman html ./usr/share/man/html3/pcap_geterr.html comp-c-htmlman html @@ -14516,6 +14490,7 @@ ./usr/share/man/html3/pcap_is_swapped.html comp-c-htmlman html ./usr/share/man/html3/pcap_lib_version.html comp-c-htmlman html ./usr/share/man/html3/pcap_list_datalinks.html comp-c-htmlman html +./usr/share/man/html3/pcap_list_tstamp_types.html comp-c-htmlman html ./usr/share/man/html3/pcap_lookupdev.html comp-c-htmlman html ./usr/share/man/html3/pcap_lookupnet.html comp-c-htmlman html ./usr/share/man/html3/pcap_loop.html comp-c-htmlman html @@ -14531,6 +14506,7 @@ ./usr/share/man/html3/pcap_set_rfmon.html comp-c-htmlman html ./usr/share/man/html3/pcap_set_snaplen.html comp-c-htmlman html ./usr/share/man/html3/pcap_set_timeout.html comp-c-htmlman html +./usr/share/man/html3/pcap_set_tstamp_type.html comp-c-htmlman html ./usr/share/man/html3/pcap_setdirection.html comp-c-htmlman html ./usr/share/man/html3/pcap_setfilter.html comp-c-htmlman html ./usr/share/man/html3/pcap_setnonblock.html comp-c-htmlman html @@ -14538,6 +14514,8 @@ ./usr/share/man/html3/pcap_stats.html comp-c-htmlman html ./usr/share/man/html3/pcap_statustostr.html comp-c-htmlman html ./usr/share/man/html3/pcap_strerror.html comp-c-htmlman html +./usr/share/man/html3/pcap_tstamp_type_name_to_val.html comp-c-htmlman html +./usr/share/man/html3/pcap_tstamp_type_val_to_name.html comp-c-htmlman html ./usr/share/man/html3/pci.html comp-c-htmlman html ./usr/share/man/html3/pci_conf_print.html comp-c-htmlman html ./usr/share/man/html3/pci_devinfo.html comp-c-htmlman html @@ -14858,6 +14836,7 @@ ./usr/share/man/html3/pthread_condattr.html comp-c-htmlman html ./usr/share/man/html3/pthread_condattr_destroy.html comp-c-htmlman html ./usr/share/man/html3/pthread_condattr_init.html comp-c-htmlman html +./usr/share/man/html3/pthread_condattr_setclock.html comp-c-htmlman html ./usr/share/man/html3/pthread_create.html comp-c-htmlman html ./usr/share/man/html3/pthread_curcpu_np.html comp-c-htmlman html ./usr/share/man/html3/pthread_detach.html comp-c-htmlman html @@ -14960,6 +14939,7 @@ ./usr/share/man/html3/qiflush.html comp-c-htmlman html ./usr/share/man/html3/qsort.html comp-c-htmlman html ./usr/share/man/html3/queue.html comp-c-htmlman html +./usr/share/man/html3/quick_exit.html comp-c-htmlman html ./usr/share/man/html3/quota_close.html comp-c-htmlman html ./usr/share/man/html3/quota_delete.html comp-c-htmlman html ./usr/share/man/html3/quota_get.html comp-c-htmlman html @@ -15071,6 +15051,7 @@ ./usr/share/man/html3/rmtops.html comp-c-htmlman html ./usr/share/man/html3/round.html comp-c-htmlman html ./usr/share/man/html3/roundf.html comp-c-htmlman html +./usr/share/man/html3/roundl.html comp-c-htmlman html ./usr/share/man/html3/rpc.html comp-c-htmlman html ./usr/share/man/html3/rpc_broadcast.html comp-c-htmlman html ./usr/share/man/html3/rpc_broadcast_exp.html comp-c-htmlman html @@ -15317,11 +15298,11 @@ ./usr/share/man/html3/sigismember.html comp-c-htmlman html ./usr/share/man/html3/siglongjmp.html comp-c-htmlman html ./usr/share/man/html3/signal.html comp-c-htmlman html -./usr/share/man/html3/signal_add.html comp-c-htmlman html -./usr/share/man/html3/signal_del.html comp-c-htmlman html -./usr/share/man/html3/signal_initialized.html comp-c-htmlman html -./usr/share/man/html3/signal_pending.html comp-c-htmlman html -./usr/share/man/html3/signal_set.html comp-c-htmlman html +./usr/share/man/html3/signal_add.html comp-obsolete obsolete +./usr/share/man/html3/signal_del.html comp-obsolete obsolete +./usr/share/man/html3/signal_initialized.html comp-obsolete obsolete +./usr/share/man/html3/signal_pending.html comp-obsolete obsolete +./usr/share/man/html3/signal_set.html comp-obsolete obsolete ./usr/share/man/html3/signbit.html comp-c-htmlman html ./usr/share/man/html3/significand.html comp-c-htmlman html ./usr/share/man/html3/significandf.html comp-c-htmlman html @@ -15362,6 +15343,7 @@ ./usr/share/man/html3/sprintf.html comp-c-htmlman html ./usr/share/man/html3/sqrt.html comp-c-htmlman html ./usr/share/man/html3/sqrtf.html comp-c-htmlman html +./usr/share/man/html3/sqrtl.html comp-c-htmlman html ./usr/share/man/html3/sradixsort.html comp-c-htmlman html ./usr/share/man/html3/srand.html comp-c-htmlman html ./usr/share/man/html3/srand48.html comp-c-htmlman html @@ -15605,6 +15587,7 @@ ./usr/share/man/html3/tree.html comp-c-htmlman html ./usr/share/man/html3/trunc.html comp-c-htmlman html ./usr/share/man/html3/truncf.html comp-c-htmlman html +./usr/share/man/html3/truncl.html comp-c-htmlman html ./usr/share/man/html3/tsearch.html comp-c-htmlman html ./usr/share/man/html3/ttyaction.html comp-c-htmlman html ./usr/share/man/html3/ttylock.html comp-c-htmlman html @@ -15873,9 +15856,11 @@ ./usr/share/man/html5/ranlib.html comp-util-htmlman html ./usr/share/man/html5/statvfs.html comp-util-htmlman html ./usr/share/man/html5/tar.html comp-util-htmlman html +./usr/share/man/html5/tcsd.conf.html comp-tpm-htmlman tpm,html ./usr/share/man/html7/operator.html comp-c-htmlman html ./usr/share/man/html8/cvsbug.html comp-cvs-htmlman cvs,html ./usr/share/man/html8/kgmon.html comp-sysutil-htmlman html +./usr/share/man/html8/tcsd.html comp-tpm-htmlman tpm,html ./usr/share/man/html9/BOOT_FLAG.html comp-sys-htmlman html ./usr/share/man/html9/CARDBUS_PRODUCT.html comp-sys-htmlman html ./usr/share/man/html9/CARDBUS_VENDOR.html comp-sys-htmlman html @@ -15999,7 +15984,6 @@ ./usr/share/man/html9/VOP_WHITEOUT.html comp-sys-htmlman html ./usr/share/man/html9/VOP_WRITE.html comp-sys-htmlman html ./usr/share/man/html9/VREF.html comp-obsolete obsolete -./usr/share/man/html9/atop.html comp-sys-htmlman html ./usr/share/man/html9/accept_filt_add.html comp-sys-htmlman html ./usr/share/man/html9/accept_filt_del.html comp-sys-htmlman html ./usr/share/man/html9/accept_filt_generic_mod_event.html comp-sys-htmlman html @@ -16031,6 +16015,7 @@ ./usr/share/man/html9/arp_ifinit.html comp-sys-htmlman html ./usr/share/man/html9/arpintr.html comp-sys-htmlman html ./usr/share/man/html9/arpresolve.html comp-sys-htmlman html +./usr/share/man/html9/atop.html comp-sys-htmlman html ./usr/share/man/html9/audio.html comp-sys-htmlman html ./usr/share/man/html9/autoconf.html comp-sys-htmlman html ./usr/share/man/html9/bawrite.html comp-sys-htmlman html @@ -16412,6 +16397,7 @@ ./usr/share/man/html9/fusword.html comp-sys-htmlman html ./usr/share/man/html9/fuword.html comp-sys-htmlman html ./usr/share/man/html9/genfs.html comp-sys-htmlman html +./usr/share/man/html9/genfs_rename.html comp-sys-htmlman html ./usr/share/man/html9/getbintime.html comp-sys-htmlman html ./usr/share/man/html9/getbinuptime.html comp-sys-htmlman html ./usr/share/man/html9/getblk.html comp-sys-htmlman html @@ -16548,9 +16534,12 @@ ./usr/share/man/html9/kcpuset_copy.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_copyin.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_copyout.html comp-sys-htmlman html +./usr/share/man/html9/kcpuset_countset.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_create.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_destroy.html comp-sys-htmlman html +./usr/share/man/html9/kcpuset_export_32.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_fill.html comp-sys-htmlman html +./usr/share/man/html9/kcpuset_isotherset.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_isset.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_iszero.html comp-sys-htmlman html ./usr/share/man/html9/kcpuset_match.html comp-sys-htmlman html @@ -16607,6 +16596,7 @@ ./usr/share/man/html9/m_copydata.html comp-sys-htmlman html ./usr/share/man/html9/m_copym.html comp-sys-htmlman html ./usr/share/man/html9/m_copypacket.html comp-sys-htmlman html +./usr/share/man/html9/m_copyup.html comp-sys-htmlman html ./usr/share/man/html9/m_devget.html comp-sys-htmlman html ./usr/share/man/html9/m_dup.html comp-sys-htmlman html ./usr/share/man/html9/m_free.html comp-sys-htmlman html @@ -16656,6 +16646,7 @@ ./usr/share/man/html9/memoryallocators.html comp-sys-htmlman html ./usr/share/man/html9/memset.html comp-sys-htmlman html ./usr/share/man/html9/mi_switch.html comp-sys-htmlman html +./usr/share/man/html9/microseq.html comp-sys-htmlman html ./usr/share/man/html9/microtime.html comp-sys-htmlman html ./usr/share/man/html9/microuptime.html comp-sys-htmlman html ./usr/share/man/html9/module.html comp-sys-htmlman html @@ -16687,7 +16678,7 @@ ./usr/share/man/html9/namei.html comp-sys-htmlman html ./usr/share/man/html9/nanotime.html comp-sys-htmlman html ./usr/share/man/html9/nanouptime.html comp-sys-htmlman html -./usr/share/man/html9/npf_ncode.html comp-sys-htmlman html +./usr/share/man/html9/npf_ncode.html comp-obsolete obsolete ./usr/share/man/html9/nullop.html comp-sys-htmlman html ./usr/share/man/html9/old_sysctl.html comp-sys-htmlman html ./usr/share/man/html9/opencrypto.html comp-sys-htmlman html @@ -16762,6 +16753,12 @@ ./usr/share/man/html9/pcq_maxitems.html comp-sys-htmlman html ./usr/share/man/html9/pcq_peek.html comp-sys-htmlman html ./usr/share/man/html9/pcq_put.html comp-sys-htmlman html +./usr/share/man/html9/pcu.html comp-sys-htmlman html +./usr/share/man/html9/pcu_discard.html comp-sys-htmlman html +./usr/share/man/html9/pcu_load.html comp-sys-htmlman html +./usr/share/man/html9/pcu_save.html comp-sys-htmlman html +./usr/share/man/html9/pcu_save_all.html comp-sys-htmlman html +./usr/share/man/html9/pcu_used_p.html comp-sys-htmlman html ./usr/share/man/html9/percpu.html comp-sys-htmlman html ./usr/share/man/html9/percpu_alloc.html comp-sys-htmlman html ./usr/share/man/html9/percpu_foreach.html comp-sys-htmlman html @@ -16850,6 +16847,7 @@ ./usr/share/man/html9/powerhook_disestablish.html comp-sys-htmlman html ./usr/share/man/html9/powerhook_establish.html comp-sys-htmlman html ./usr/share/man/html9/powerof2.html comp-sys-htmlman html +./usr/share/man/html9/ppi.html comp-sys-htmlman html ./usr/share/man/html9/ppsratecheck.html comp-sys-htmlman html ./usr/share/man/html9/preempt.html comp-sys-htmlman html ./usr/share/man/html9/printf.html comp-sys-htmlman html @@ -16891,6 +16889,7 @@ ./usr/share/man/html9/rnd_attach_source.html comp-sys-htmlman html ./usr/share/man/html9/rnd_detach_source.html comp-sys-htmlman html ./usr/share/man/html9/rnd_extract_data.html comp-sys-htmlman html +./usr/share/man/html9/rndsink.html comp-sys-htmlman html ./usr/share/man/html9/rootconf.html comp-sys-htmlman html ./usr/share/man/html9/round_page.html comp-sys-htmlman html ./usr/share/man/html9/rounddown.html comp-sys-htmlman html @@ -17075,6 +17074,7 @@ ./usr/share/man/html9/transferlockers.html comp-sys-htmlman html ./usr/share/man/html9/trapsignal.html comp-sys-htmlman html ./usr/share/man/html9/trunc_page.html comp-sys-htmlman html +./usr/share/man/html9/ts2timo.html comp-sys-htmlman html ./usr/share/man/html9/tsleep.html comp-sys-htmlman html ./usr/share/man/html9/ttyldisc_add.html comp-sys-htmlman html ./usr/share/man/html9/ttyldisc_lookup.html comp-sys-htmlman html @@ -17423,10 +17423,13 @@ ./usr/share/man/man2/extattr_set_fd.2 comp-c-man .man ./usr/share/man/man2/extattr_set_file.2 comp-c-man .man ./usr/share/man/man2/extattr_set_link.2 comp-c-man .man +./usr/share/man/man2/faccessat.2 comp-c-man .man ./usr/share/man/man2/fchdir.2 comp-c-man .man ./usr/share/man/man2/fchflags.2 comp-c-man .man ./usr/share/man/man2/fchmod.2 comp-c-man .man +./usr/share/man/man2/fchmodat.2 comp-c-man .man ./usr/share/man/man2/fchown.2 comp-c-man .man +./usr/share/man/man2/fchownat.2 comp-c-man .man ./usr/share/man/man2/fchroot.2 comp-c-man .man ./usr/share/man/man2/fcntl.2 comp-c-man .man ./usr/share/man/man2/fdatasync.2 comp-c-man .man @@ -17440,6 +17443,7 @@ ./usr/share/man/man2/fork.2 comp-c-man .man ./usr/share/man/man2/fpathconf.2 comp-c-man .man ./usr/share/man/man2/fstat.2 comp-c-man .man +./usr/share/man/man2/fstatat.2 comp-c-man .man ./usr/share/man/man2/fstatfs.2 comp-obsolete obsolete ./usr/share/man/man2/fstatvfs.2 comp-c-man .man ./usr/share/man/man2/fstatvfs1.2 comp-c-man .man @@ -17503,14 +17507,18 @@ ./usr/share/man/man2/listen.2 comp-c-man .man ./usr/share/man/man2/lseek.2 comp-c-man .man ./usr/share/man/man2/lstat.2 comp-c-man .man +./usr/share/man/man2/lutimens.2 comp-c-man .man ./usr/share/man/man2/lutimes.2 comp-c-man .man ./usr/share/man/man2/m68k_sync_icache.2 comp-c-man .man ./usr/share/man/man2/madvise.2 comp-c-man .man ./usr/share/man/man2/mincore.2 comp-c-man .man ./usr/share/man/man2/minherit.2 comp-c-man .man ./usr/share/man/man2/mkdir.2 comp-c-man .man +./usr/share/man/man2/mkdirat.2 comp-c-man .man ./usr/share/man/man2/mkfifo.2 comp-c-man .man +./usr/share/man/man2/mkfifoat.2 comp-c-man .man ./usr/share/man/man2/mknod.2 comp-c-man .man +./usr/share/man/man2/mknodat.2 comp-c-man .man ./usr/share/man/man2/mlock.2 comp-c-man .man ./usr/share/man/man2/mlockall.2 comp-c-man .man ./usr/share/man/man2/mmap.2 comp-c-man .man @@ -17531,6 +17539,7 @@ ./usr/share/man/man2/ntp_adjtime.2 comp-c-man .man ./usr/share/man/man2/ntp_gettime.2 comp-c-man .man ./usr/share/man/man2/open.2 comp-c-man .man +./usr/share/man/man2/openat.2 comp-c-man .man ./usr/share/man/man2/paccept.2 comp-c-man .man ./usr/share/man/man2/pathconf.2 comp-c-man .man ./usr/share/man/man2/pipe.2 comp-c-man .man @@ -17552,6 +17561,7 @@ ./usr/share/man/man2/rasctl.2 comp-c-man .man ./usr/share/man/man2/read.2 comp-c-man .man ./usr/share/man/man2/readlink.2 comp-c-man .man +./usr/share/man/man2/readlinkat.2 comp-c-man .man ./usr/share/man/man2/readv.2 comp-c-man .man ./usr/share/man/man2/reboot.2 comp-c-man .man ./usr/share/man/man2/recv.2 comp-c-man .man @@ -17559,6 +17569,7 @@ ./usr/share/man/man2/recvmmsg.2 comp-c-man .man ./usr/share/man/man2/recvmsg.2 comp-c-man .man ./usr/share/man/man2/rename.2 comp-c-man .man +./usr/share/man/man2/renameat.2 comp-c-man .man ./usr/share/man/man2/revoke.2 comp-c-man .man ./usr/share/man/man2/rmdir.2 comp-c-man .man ./usr/share/man/man2/sa_enable.2 comp-obsolete obsolete @@ -17619,6 +17630,7 @@ ./usr/share/man/man2/statvfs1.2 comp-c-man .man ./usr/share/man/man2/swapctl.2 comp-c-man .man ./usr/share/man/man2/symlink.2 comp-c-man .man +./usr/share/man/man2/symlinkat.2 comp-c-man .man ./usr/share/man/man2/sync.2 comp-c-man .man ./usr/share/man/man2/sysarch.2 comp-c-man .man ./usr/share/man/man2/syscall.2 comp-c-man .man @@ -17632,7 +17644,9 @@ ./usr/share/man/man2/umask.2 comp-c-man .man ./usr/share/man/man2/undelete.2 comp-c-man .man ./usr/share/man/man2/unlink.2 comp-c-man .man +./usr/share/man/man2/unlinkat.2 comp-c-man .man ./usr/share/man/man2/unmount.2 comp-c-man .man +./usr/share/man/man2/utimens.2 comp-c-man .man ./usr/share/man/man2/utimensat.2 comp-c-man .man ./usr/share/man/man2/utimes.2 comp-c-man .man ./usr/share/man/man2/utrace.2 comp-c-man .man @@ -17692,24 +17706,24 @@ ./usr/share/man/man3/BN_set_bit.3 comp-c-man crypto,.man ./usr/share/man/man3/BN_swap.3 comp-c-man crypto,.man ./usr/share/man/man3/BN_zero.3 comp-c-man crypto,.man -./usr/share/man/man3/CIRCLEQ_EMPTY.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_ENTRY.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_FIRST.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_FOREACH.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_FOREACH_REVERSE.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_HEAD.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_HEAD_INITIALIZER.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_INIT.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_INSERT_AFTER.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_INSERT_BEFORE.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_INSERT_HEAD.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_INSERT_TAIL.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_LAST.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_LOOP_NEXT.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_LOOP_PREV.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_NEXT.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_PREV.3 comp-c-man .man -./usr/share/man/man3/CIRCLEQ_REMOVE.3 comp-c-man .man +./usr/share/man/man3/CIRCLEQ_EMPTY.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_ENTRY.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_FIRST.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_FOREACH.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_FOREACH_REVERSE.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_HEAD.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_HEAD_INITIALIZER.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_INIT.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_INSERT_AFTER.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_INSERT_BEFORE.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_INSERT_HEAD.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_INSERT_TAIL.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_LAST.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_LOOP_NEXT.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_LOOP_PREV.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_NEXT.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_PREV.3 comp-obsolete obsolete +./usr/share/man/man3/CIRCLEQ_REMOVE.3 comp-obsolete obsolete ./usr/share/man/man3/CMSG_DATA.3 comp-c-man .man ./usr/share/man/man3/CMSG_FIRSTHDR.3 comp-c-man .man ./usr/share/man/man3/CMSG_LEN.3 comp-c-man .man @@ -17751,6 +17765,7 @@ ./usr/share/man/man3/EVP_OpenInit.3 comp-c-man crypto,.man ./usr/share/man/man3/EVP_PKEY_new.3 comp-c-man crypto,.man ./usr/share/man/man3/EVP_PKEY_set1_RSA.3 comp-c-man crypto,.man +./usr/share/man/man3/EVP_PKEY_verify_recover.3 comp-c-man crypto,.man ./usr/share/man/man3/EVP_SealInit.3 comp-c-man crypto,.man ./usr/share/man/man3/EVP_SignInit.3 comp-c-man crypto,.man ./usr/share/man/man3/EVP_VerifyInit.3 comp-c-man crypto,.man @@ -17810,10 +17825,12 @@ ./usr/share/man/man3/GCQ_INIT_HEAD.3 comp-sys-man .man ./usr/share/man/man3/GCQ_ITEM.3 comp-sys-man .man ./usr/share/man/man3/IFTODT.3 comp-c-man .man +./usr/share/man/man3/LIST.3 comp-c-man .man ./usr/share/man/man3/LIST_EMPTY.3 comp-c-man .man ./usr/share/man/man3/LIST_ENTRY.3 comp-c-man .man ./usr/share/man/man3/LIST_FIRST.3 comp-c-man .man ./usr/share/man/man3/LIST_FOREACH.3 comp-c-man .man +./usr/share/man/man3/LIST_FOREACH_SAFE.3 comp-c-man .man ./usr/share/man/man3/LIST_HEAD.3 comp-c-man .man ./usr/share/man/man3/LIST_HEAD_INITIALIZER.3 comp-c-man .man ./usr/share/man/man3/LIST_INIT.3 comp-c-man .man @@ -17822,6 +17839,7 @@ ./usr/share/man/man3/LIST_INSERT_HEAD.3 comp-c-man .man ./usr/share/man/man3/LIST_NEXT.3 comp-c-man .man ./usr/share/man/man3/LIST_REMOVE.3 comp-c-man .man +./usr/share/man/man3/LIST_REPLACE.3 comp-c-man .man ./usr/share/man/man3/MAX.3 comp-c-man .man ./usr/share/man/man3/MD2Data.3 comp-c-man .man ./usr/share/man/man3/MD2End.3 comp-c-man .man @@ -17953,23 +17971,30 @@ ./usr/share/man/man3/SHA512_Init.3 comp-c-man .man ./usr/share/man/man3/SHA512_Transform.3 comp-c-man .man ./usr/share/man/man3/SHA512_Update.3 comp-c-man .man +./usr/share/man/man3/SIMPLEQ.3 comp-c-man .man +./usr/share/man/man3/SIMPLEQ_CONCAT.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_EMPTY.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_ENTRY.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_FIRST.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_FOREACH.3 comp-c-man .man +./usr/share/man/man3/SIMPLEQ_FOREACH_SAFE.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_HEAD.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_HEAD_INITIALIZER.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_INIT.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_INSERT_AFTER.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_INSERT_HEAD.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_INSERT_TAIL.3 comp-c-man .man +./usr/share/man/man3/SIMPLEQ_LAST.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_NEXT.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_REMOVE.3 comp-c-man .man +./usr/share/man/man3/SIMPLEQ_REMOVE_AFTER.3 comp-c-man .man ./usr/share/man/man3/SIMPLEQ_REMOVE_HEAD.3 comp-c-man .man +./usr/share/man/man3/SLIST.3 comp-c-man .man ./usr/share/man/man3/SLIST_EMPTY.3 comp-c-man .man ./usr/share/man/man3/SLIST_ENTRY.3 comp-c-man .man ./usr/share/man/man3/SLIST_FIRST.3 comp-c-man .man ./usr/share/man/man3/SLIST_FOREACH.3 comp-c-man .man +./usr/share/man/man3/SLIST_FOREACH_SAFE.3 comp-c-man .man ./usr/share/man/man3/SLIST_HEAD.3 comp-c-man .man ./usr/share/man/man3/SLIST_HEAD_INITIALIZER.3 comp-c-man .man ./usr/share/man/man3/SLIST_INIT.3 comp-c-man .man @@ -17977,6 +18002,7 @@ ./usr/share/man/man3/SLIST_INSERT_HEAD.3 comp-c-man .man ./usr/share/man/man3/SLIST_NEXT.3 comp-c-man .man ./usr/share/man/man3/SLIST_REMOVE.3 comp-c-man .man +./usr/share/man/man3/SLIST_REMOVE_AFTER.3 comp-c-man .man ./usr/share/man/man3/SLIST_REMOVE_HEAD.3 comp-c-man .man ./usr/share/man/man3/SMIME_read_PKCS7.3 comp-c-man crypto,.man ./usr/share/man/man3/SMIME_write_PKCS7.3 comp-c-man crypto,.man @@ -18074,24 +18100,32 @@ ./usr/share/man/man3/SSL_state_string.3 comp-c-man crypto,.man ./usr/share/man/man3/SSL_want.3 comp-c-man crypto,.man ./usr/share/man/man3/SSL_write.3 comp-c-man crypto,.man +./usr/share/man/man3/STAILQ.3 comp-c-man .man +./usr/share/man/man3/STAILQ_CONCAT.3 comp-c-man .man ./usr/share/man/man3/STAILQ_EMPTY.3 comp-c-man .man ./usr/share/man/man3/STAILQ_ENTRY.3 comp-c-man .man ./usr/share/man/man3/STAILQ_FIRST.3 comp-c-man .man ./usr/share/man/man3/STAILQ_FOREACH.3 comp-c-man .man +./usr/share/man/man3/STAILQ_FOREACH_SAFE.3 comp-c-man .man ./usr/share/man/man3/STAILQ_HEAD.3 comp-c-man .man ./usr/share/man/man3/STAILQ_HEAD_INITIALIZER.3 comp-c-man .man ./usr/share/man/man3/STAILQ_INIT.3 comp-c-man .man ./usr/share/man/man3/STAILQ_INSERT_AFTER.3 comp-c-man .man ./usr/share/man/man3/STAILQ_INSERT_HEAD.3 comp-c-man .man ./usr/share/man/man3/STAILQ_INSERT_TAIL.3 comp-c-man .man +./usr/share/man/man3/STAILQ_LAST.3 comp-c-man .man ./usr/share/man/man3/STAILQ_NEXT.3 comp-c-man .man ./usr/share/man/man3/STAILQ_REMOVE.3 comp-c-man .man ./usr/share/man/man3/STAILQ_REMOVE_HEAD.3 comp-c-man .man +./usr/share/man/man3/TAILQ.3 comp-c-man .man +./usr/share/man/man3/TAILQ_CONCAT.3 comp-c-man .man ./usr/share/man/man3/TAILQ_EMPTY.3 comp-c-man .man ./usr/share/man/man3/TAILQ_ENTRY.3 comp-c-man .man ./usr/share/man/man3/TAILQ_FIRST.3 comp-c-man .man ./usr/share/man/man3/TAILQ_FOREACH.3 comp-c-man .man ./usr/share/man/man3/TAILQ_FOREACH_REVERSE.3 comp-c-man .man +./usr/share/man/man3/TAILQ_FOREACH_REVERSE_SAFE.3 comp-c-man .man +./usr/share/man/man3/TAILQ_FOREACH_SAFE.3 comp-c-man .man ./usr/share/man/man3/TAILQ_HEAD.3 comp-c-man .man ./usr/share/man/man3/TAILQ_HEAD_INITIALIZER.3 comp-c-man .man ./usr/share/man/man3/TAILQ_INIT.3 comp-c-man .man @@ -18103,8 +18137,97 @@ ./usr/share/man/man3/TAILQ_NEXT.3 comp-c-man .man ./usr/share/man/man3/TAILQ_PREV.3 comp-c-man .man ./usr/share/man/man3/TAILQ_REMOVE.3 comp-c-man .man +./usr/share/man/man3/TAILQ_REPLACE.3 comp-c-man .man ./usr/share/man/man3/TIMESPEC_TO_TIMEVAL.3 comp-c-man .man ./usr/share/man/man3/TIMEVAL_TO_TIMESPEC.3 comp-c-man .man +./usr/share/man/man3/Tspi_ChangeAuth.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_ChangeAuthAsym.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_Close.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_CloseObject.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_Connect.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_Create.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_CreateObject.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_FreeMemory.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetCapability.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetDefaultPolicy.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetKeyByPublicInfo.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetKeyByUUID.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetRegisteredKeysByUUID.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetRegisteredKeysByUUID2.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_GetTpmObject.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_LoadKeyByBlob.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_LoadKeyByUUID.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_RegisterKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Context_UnregisterKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DAA_IssueCredential.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DAA_IssueInit.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DAA_IssueSetup.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DAA_IssuerKeyVerification.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DAA_VerifyInit.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DAA_VerifySignature.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Data_Bind.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Data_Seal.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Data_Unbind.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Data_Unseal.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_DecodeBER_TssBlob.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_EncodeDER_TssBlob.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_GetAttribData.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_GetAttribUint32.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_GetPolicyObject.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Hash_GetHashValue.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Hash_SetHashValue.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Hash_Sign.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Hash_UpdateHashValue.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Hash_VerifySignature.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_CertifyKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_ConvertMigrationBlob.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_CreateKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_CreateMigrationBlob.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_GetPubKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_LoadKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_UnloadKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Key_WrapKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_PcrComposite_GetPcrValue.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_PcrComposite_SelectPcrIndex.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_PcrComposite_SetPcrValue.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Policy_AssignToObject.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Policy_FlushSecret.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_Policy_SetSecret.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_SetAttribData.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_SetAttribUint32.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_AuthorizeMigrationTicket.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_CMKSetRestrictions.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_CertifySelfTest.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_CheckMaintenancePubKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_ClearOwner.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_CollateIdentityRequest.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_CreateEndorsementKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_CreateMaintenanceArchive.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_DAA_JoinCreateDaaPubKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_DAA_JoinInit.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_DAA_JoinStoreCredential.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_DAA_Sign.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_DirRead.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_DirWrite.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetAuditDigest.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetCapability.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetEvent.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetEventLog.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetEvents.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetPubEndorsementKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetRandom.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetStatus.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_GetTestResult.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_KillMaintenanceFeature.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_LoadMaintenancePubKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_OwnerGetSRKPubKey.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_PcrExtend.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_PcrRead.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_Quote.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_SelfTestFull.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_SetStatus.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_StirRandom.3 comp-c-man tpm,.man +./usr/share/man/man3/Tspi_TPM_TakeOwnership.3 comp-c-man tpm,.man ./usr/share/man/man3/X509_NAME_ENTRY_get_object.3 comp-c-man crypto,.man ./usr/share/man/man3/X509_NAME_add_entry_by_txt.3 comp-c-man crypto,.man ./usr/share/man/man3/X509_NAME_get_index_by_NID.3 comp-c-man crypto,.man @@ -18119,6 +18242,12 @@ ./usr/share/man/man3/X509_verify_cert.3 comp-c-man crypto,.man ./usr/share/man/man3/_DIAGASSERT.3 comp-c-man .man ./usr/share/man/man3/__BIT.3 comp-c-man .man +./usr/share/man/man3/__BITMAP_CLR.3 comp-c-man .man +./usr/share/man/man3/__BITMAP_ISSET.3 comp-c-man .man +./usr/share/man/man3/__BITMAP_SET.3 comp-c-man .man +./usr/share/man/man3/__BITMAP_SIZE.3 comp-c-man .man +./usr/share/man/man3/__BITMAP_TYPE.3 comp-c-man .man +./usr/share/man/man3/__BITMAP_ZERO.3 comp-c-man .man ./usr/share/man/man3/__BITS.3 comp-c-man .man ./usr/share/man/man3/__CONCAT.3 comp-c-man .man ./usr/share/man/man3/__KERNEL_RCSID.3 comp-c-man .man @@ -18129,6 +18258,7 @@ ./usr/share/man/man3/__STRING.3 comp-c-man .man ./usr/share/man/man3/__UNCONST.3 comp-c-man .man ./usr/share/man/man3/__UNVOLATILE.3 comp-c-man .man +./usr/share/man/man3/__USE.3 comp-c-man .man ./usr/share/man/man3/__aligned.3 comp-c-man .man ./usr/share/man/man3/__alignof__.3 comp-c-man .man ./usr/share/man/man3/__arraycount.3 comp-c-man .man @@ -18141,6 +18271,8 @@ ./usr/share/man/man3/__cacheline_aligned.3 comp-c-man .man ./usr/share/man/man3/__constfunc.3 comp-c-man .man ./usr/share/man/man3/__dead.3 comp-c-man .man +./usr/share/man/man3/__debugused.3 comp-c-man .man +./usr/share/man/man3/__diagused.3 comp-c-man .man ./usr/share/man/man3/__insn_barrier.3 comp-c-man .man ./usr/share/man/man3/__noinline.3 comp-c-man .man ./usr/share/man/man3/__packed.3 comp-c-man .man @@ -18374,6 +18506,7 @@ ./usr/share/man/man3/asprintf.3 comp-c-man .man ./usr/share/man/man3/assert.3 comp-c-man .man ./usr/share/man/man3/assume_default_colors.3 comp-c-man .man +./usr/share/man/man3/at_quick_exit.3 comp-c-man .man ./usr/share/man/man3/atan.3 comp-c-man .man ./usr/share/man/man3/atan2.3 comp-c-man .man ./usr/share/man/man3/atan2f.3 comp-c-man .man @@ -18528,6 +18661,7 @@ ./usr/share/man/man3/bit_nset.3 comp-c-man .man ./usr/share/man/man3/bit_set.3 comp-c-man .man ./usr/share/man/man3/bit_test.3 comp-c-man .man +./usr/share/man/man3/bitmap.3 comp-c-man .man ./usr/share/man/man3/bitops.3 comp-c-man .man ./usr/share/man/man3/bits.3 comp-c-man .man ./usr/share/man/man3/bitstr_size.3 comp-c-man .man @@ -18588,15 +18722,17 @@ ./usr/share/man/man3/btowc.3 comp-c-man .man ./usr/share/man/man3/btree.3 comp-c-man .man ./usr/share/man/man3/buffer.3 comp-obsolete obsolete -./usr/share/man/man3/bufferevent_base_set.3 comp-c-man .man -./usr/share/man/man3/bufferevent_disable.3 comp-c-man .man -./usr/share/man/man3/bufferevent_enable.3 comp-c-man .man -./usr/share/man/man3/bufferevent_free.3 comp-c-man .man -./usr/share/man/man3/bufferevent_new.3 comp-c-man .man -./usr/share/man/man3/bufferevent_read.3 comp-c-man .man -./usr/share/man/man3/bufferevent_settimeout.3 comp-c-man .man -./usr/share/man/man3/bufferevent_write.3 comp-c-man .man -./usr/share/man/man3/bufferevent_write_buffer.3 comp-c-man .man +./usr/share/man/man3/bufferevent.3 comp-c-man .man +./usr/share/man/man3/bufferevent_base_set.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_disable.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_enable.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_free.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_new.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_read.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_settimeout.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_ssl.3 comp-c-man .man +./usr/share/man/man3/bufferevent_write.3 comp-c-obsolete obsolete +./usr/share/man/man3/bufferevent_write_buffer.3 comp-c-obsolete obsolete ./usr/share/man/man3/byteorder.3 comp-c-man .man ./usr/share/man/man3/bzero.3 comp-c-man .man ./usr/share/man/man3/cabs.3 comp-c-man complex,.man @@ -18625,6 +18761,7 @@ ./usr/share/man/man3/cbreak.3 comp-c-man .man ./usr/share/man/man3/cbrt.3 comp-c-man .man ./usr/share/man/man3/cbrtf.3 comp-c-man .man +./usr/share/man/man3/cbrtl.3 comp-c-man .man ./usr/share/man/man3/ccos.3 comp-c-man complex,.man ./usr/share/man/man3/ccosf.3 comp-c-man complex,.man ./usr/share/man/man3/ccosh.3 comp-c-man complex,.man @@ -18673,6 +18810,7 @@ ./usr/share/man/man3/cdk_viewer.3 comp-obsolete obsolete ./usr/share/man/man3/ceil.3 comp-c-man .man ./usr/share/man/man3/ceilf.3 comp-c-man .man +./usr/share/man/man3/ceill.3 comp-c-man .man ./usr/share/man/man3/cexp.3 comp-c-man complex,.man ./usr/share/man/man3/cexpf.3 comp-c-man complex,.man ./usr/share/man/man3/cfgetispeed.3 comp-c-man .man @@ -18753,6 +18891,8 @@ ./usr/share/man/man3/conj.3 comp-c-man complex,.man ./usr/share/man/man3/conjf.3 comp-c-man complex,.man ./usr/share/man/man3/conjl.3 comp-c-man complex,.man +./usr/share/man/man3/consttime_bcmp.3 comp-obsolete obsolete +./usr/share/man/man3/consttime_memequal.3 comp-c-man .man ./usr/share/man/man3/copysign.3 comp-c-man .man ./usr/share/man/man3/copysignf.3 comp-c-man .man ./usr/share/man/man3/copysignl.3 comp-c-man .man @@ -19064,60 +19204,81 @@ ./usr/share/man/man3/ether_ntohost.3 comp-c-man .man ./usr/share/man/man3/ethers.3 comp-c-man .man ./usr/share/man/man3/evasprintf.3 comp-c-man .man -./usr/share/man/man3/evbuffer_add.3 comp-c-man .man -./usr/share/man/man3/evbuffer_add_buffer.3 comp-c-man .man -./usr/share/man/man3/evbuffer_add_printf.3 comp-c-man .man -./usr/share/man/man3/evbuffer_add_vprintf.3 comp-c-man .man -./usr/share/man/man3/evbuffer_drain.3 comp-c-man .man -./usr/share/man/man3/evbuffer_find.3 comp-c-man .man -./usr/share/man/man3/evbuffer_free.3 comp-c-man .man -./usr/share/man/man3/evbuffer_new.3 comp-c-man .man -./usr/share/man/man3/evbuffer_read.3 comp-c-man .man -./usr/share/man/man3/evbuffer_readline.3 comp-c-man .man -./usr/share/man/man3/evbuffer_write.3 comp-c-man .man +./usr/share/man/man3/evbuffer.3 comp-c-man .man +./usr/share/man/man3/evbuffer_add.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_add_buffer.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_add_printf.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_add_vprintf.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_cb_info.3 comp-c-man .man +./usr/share/man/man3/evbuffer_compat.3 comp-c-man .man +./usr/share/man/man3/evbuffer_drain.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_find.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_free.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_iovec.3 comp-c-man .man +./usr/share/man/man3/evbuffer_new.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_ptr.3 comp-c-man .man +./usr/share/man/man3/evbuffer_read.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_readline.3 comp-obsolete obsolete +./usr/share/man/man3/evbuffer_write.3 comp-obsolete obsolete +./usr/share/man/man3/evdeprecated.3 comp-c-man .man ./usr/share/man/man3/evdns.3 comp-c-man .man -./usr/share/man/man3/evdns_clear_nameservers_and_suspend.3 comp-c-man .man -./usr/share/man/man3/evdns_count_nameservers.3 comp-c-man .man -./usr/share/man/man3/evdns_err_to_string.3 comp-c-man .man -./usr/share/man/man3/evdns_init.3 comp-c-man .man -./usr/share/man/man3/evdns_nameserver_add.3 comp-c-man .man -./usr/share/man/man3/evdns_nameserver_ip_add.3 comp-c-man .man -./usr/share/man/man3/evdns_resolv_conf_parse.3 comp-c-man .man -./usr/share/man/man3/evdns_resolve_ipv4.3 comp-c-man .man -./usr/share/man/man3/evdns_resolve_reverse.3 comp-c-man .man -./usr/share/man/man3/evdns_resume.3 comp-c-man .man -./usr/share/man/man3/evdns_search_add.3 comp-c-man .man -./usr/share/man/man3/evdns_search_clear.3 comp-c-man .man -./usr/share/man/man3/evdns_search_ndots_set.3 comp-c-man .man -./usr/share/man/man3/evdns_set_log_fn.3 comp-c-man .man -./usr/share/man/man3/evdns_shutdown.3 comp-c-man .man +./usr/share/man/man3/evdns_clear_nameservers_and_suspend.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_compat.3 comp-c-man .man +./usr/share/man/man3/evdns_count_nameservers.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_err_to_string.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_init.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_nameserver_add.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_nameserver_ip_add.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_resolv_conf_parse.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_resolve_ipv4.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_resolve_reverse.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_resume.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_search_add.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_search_clear.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_search_ndots_set.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_set_log_fn.3 comp-obsolete obsolete +./usr/share/man/man3/evdns_shutdown.3 comp-obsolete obsolete ./usr/share/man/man3/event.3 comp-c-man .man -./usr/share/man/man3/event_add.3 comp-c-man .man -./usr/share/man/man3/event_base_dispatch.3 comp-c-man .man -./usr/share/man/man3/event_base_free.3 comp-c-man .man -./usr/share/man/man3/event_base_loop.3 comp-c-man .man -./usr/share/man/man3/event_base_loopbreak.3 comp-c-man .man -./usr/share/man/man3/event_base_loopexit.3 comp-c-man .man -./usr/share/man/man3/event_base_once.3 comp-c-man .man -./usr/share/man/man3/event_base_set.3 comp-c-man .man -./usr/share/man/man3/event_del.3 comp-c-man .man -./usr/share/man/man3/event_dispatch.3 comp-c-man .man -./usr/share/man/man3/event_init.3 comp-c-man .man -./usr/share/man/man3/event_initialized.3 comp-c-man .man -./usr/share/man/man3/event_loop.3 comp-c-man .man -./usr/share/man/man3/event_loopbreak.3 comp-c-man .man -./usr/share/man/man3/event_loopexit.3 comp-c-man .man -./usr/share/man/man3/event_once.3 comp-c-man .man -./usr/share/man/man3/event_pending.3 comp-c-man .man -./usr/share/man/man3/event_set.3 comp-c-man .man -./usr/share/man/man3/evhttp_bind_socket.3 comp-c-man .man -./usr/share/man/man3/evhttp_free.3 comp-c-man .man -./usr/share/man/man3/evhttp_new.3 comp-c-man .man -./usr/share/man/man3/evtimer_add.3 comp-c-man .man -./usr/share/man/man3/evtimer_del.3 comp-c-man .man -./usr/share/man/man3/evtimer_initialized.3 comp-c-man .man -./usr/share/man/man3/evtimer_pending.3 comp-c-man .man -./usr/share/man/man3/evtimer_set.3 comp-c-man .man +./usr/share/man/man3/event_add.3 comp-obsolete obsolete +./usr/share/man/man3/event_base.3 comp-c-man .man +./usr/share/man/man3/event_base_dispatch.3 comp-obsolete obsolete +./usr/share/man/man3/event_base_free.3 comp-obsolete obsolete +./usr/share/man/man3/event_base_loop.3 comp-obsolete obsolete +./usr/share/man/man3/event_base_loopbreak.3 comp-obsolete obsolete +./usr/share/man/man3/event_base_loopexit.3 comp-obsolete obsolete +./usr/share/man/man3/event_base_once.3 comp-obsolete obsolete +./usr/share/man/man3/event_base_set.3 comp-obsolete obsolete +./usr/share/man/man3/event_compat.3 comp-c-man .man +./usr/share/man/man3/event_config.3 comp-c-man .man +./usr/share/man/man3/event_del.3 comp-obsolete obsolete +./usr/share/man/man3/event_dispatch.3 comp-obsolete obsolete +./usr/share/man/man3/event_init.3 comp-obsolete obsolete +./usr/share/man/man3/event_initialized.3 comp-obsolete obsolete +./usr/share/man/man3/event_loop.3 comp-obsolete obsolete +./usr/share/man/man3/event_loopbreak.3 comp-obsolete obsolete +./usr/share/man/man3/event_loopexit.3 comp-obsolete obsolete +./usr/share/man/man3/event_once.3 comp-obsolete obsolete +./usr/share/man/man3/event_pending.3 comp-obsolete obsolete +./usr/share/man/man3/event_set.3 comp-obsolete obsolete +./usr/share/man/man3/evhttp.3 comp-c-man .man +./usr/share/man/man3/evhttp_bind_socket.3 comp-obsolete obsolete +./usr/share/man/man3/evhttp_compat.3 comp-c-man .man +./usr/share/man/man3/evhttp_free.3 comp-obsolete obsolete +./usr/share/man/man3/evhttp_new.3 comp-obsolete obsolete +./usr/share/man/man3/evrpc.3 comp-c-man .man +./usr/share/man/man3/evrpc_compat.3 comp-c-man .man +./usr/share/man/man3/evtag.3 comp-c-man .man +./usr/share/man/man3/evtag_compat.3 comp-c-man .man +./usr/share/man/man3/evthread.3 comp-c-man .man +./usr/share/man/man3/evthread_condition_callbacks.3 comp-c-man .man +./usr/share/man/man3/evthread_lock_callbacks.3 comp-c-man .man +./usr/share/man/man3/evtimer_add.3 comp-obsolete obsolete +./usr/share/man/man3/evtimer_del.3 comp-obsolete obsolete +./usr/share/man/man3/evtimer_initialized.3 comp-obsolete obsolete +./usr/share/man/man3/evtimer_pending.3 comp-obsolete obsolete +./usr/share/man/man3/evtimer_set.3 comp-obsolete obsolete +./usr/share/man/man3/evutil.3 comp-c-man .man +./usr/share/man/man3/evutil_addrinfo.3 comp-c-man .man ./usr/share/man/man3/exec.3 comp-c-man .man ./usr/share/man/man3/execl.3 comp-c-man .man ./usr/share/man/man3/execle.3 comp-c-man .man @@ -19130,6 +19291,8 @@ ./usr/share/man/man3/exp2.3 comp-c-man .man ./usr/share/man/man3/exp2f.3 comp-c-man .man ./usr/share/man/man3/expf.3 comp-c-man .man +./usr/share/man/man3/explicit_bzero.3 comp-obsolete obsolete +./usr/share/man/man3/explicit_memset.3 comp-c-man .man ./usr/share/man/man3/expm1.3 comp-c-man .man ./usr/share/man/man3/expm1f.3 comp-c-man .man ./usr/share/man/man3/extattr.3 comp-obsolete obsolete @@ -19206,6 +19369,7 @@ ./usr/share/man/man3/flockfile.3 comp-c-man .man ./usr/share/man/man3/floor.3 comp-c-man .man ./usr/share/man/man3/floorf.3 comp-c-man .man +./usr/share/man/man3/floorl.3 comp-c-man .man ./usr/share/man/man3/fls32.3 comp-c-man .man ./usr/share/man/man3/fls64.3 comp-c-man .man ./usr/share/man/man3/flushinp.3 comp-c-man .man @@ -19219,6 +19383,7 @@ ./usr/share/man/man3/fminl.3 comp-c-man .man ./usr/share/man/man3/fmod.3 comp-c-man .man ./usr/share/man/man3/fmodf.3 comp-c-man .man +./usr/share/man/man3/fmodl.3 comp-c-man .man ./usr/share/man/man3/fmtcheck.3 comp-c-man .man ./usr/share/man/man3/fmtmsg.3 comp-c-man .man ./usr/share/man/man3/fnmatch.3 comp-c-man .man @@ -19376,6 +19541,7 @@ ./usr/share/man/man3/getbkgd.3 comp-c-man .man ./usr/share/man/man3/getbootfile.3 comp-c-man .man ./usr/share/man/man3/getbsize.3 comp-c-man .man +./usr/share/man/man3/getbyteorder.3 comp-c-man .man ./usr/share/man/man3/getc.3 comp-c-man .man ./usr/share/man/man3/getc_unlocked.3 comp-c-man .man ./usr/share/man/man3/getcap.3 comp-obsolete obsolete @@ -19612,6 +19778,7 @@ ./usr/share/man/man3/inchstr.3 comp-c-man .man ./usr/share/man/man3/index.3 comp-c-man .man ./usr/share/man/man3/inet.3 comp-c-man .man +./usr/share/man/man3/inet6_getscopeid.3 comp-c-man .man ./usr/share/man/man3/inet6_opt_append.3 comp-c-man .man ./usr/share/man/man3/inet6_opt_find.3 comp-c-man .man ./usr/share/man/man3/inet6_opt_finish.3 comp-c-man .man @@ -19625,6 +19792,7 @@ ./usr/share/man/man3/inet6_option_init.3 comp-c-man .man ./usr/share/man/man3/inet6_option_next.3 comp-c-man .man ./usr/share/man/man3/inet6_option_space.3 comp-c-man .man +./usr/share/man/man3/inet6_putscopeid.3 comp-c-man .man ./usr/share/man/man3/inet6_rth_add.3 comp-c-man .man ./usr/share/man/man3/inet6_rth_getaddr.3 comp-c-man .man ./usr/share/man/man3/inet6_rth_init.3 comp-c-man .man @@ -19694,7 +19862,7 @@ ./usr/share/man/man3/isnormal.3 comp-c-man .man ./usr/share/man/man3/isns.3 comp-isns-man .man ./usr/share/man/man3/iso646.3 comp-c-man .man -./usr/share/man/man3/iso_addr.3 comp-c-man .man +./usr/share/man/man3/iso_addr.3 comp-obsolete obsolete ./usr/share/man/man3/isprint.3 comp-c-man .man ./usr/share/man/man3/ispunct.3 comp-c-man .man ./usr/share/man/man3/isspace.3 comp-c-man .man @@ -20472,6 +20640,7 @@ ./usr/share/man/man3/libmagic.3 comp-c-man .man ./usr/share/man/man3/libmj.3 comp-c-man crypto,.man ./usr/share/man/man3/libnetpgp.3 comp-c-man crypto,.man +./usr/share/man/man3/libnetpgpverify.3 comp-c-man crypto,.man ./usr/share/man/man3/libperfuse.3 comp-perfuse-man .man ./usr/share/man/man3/libquota.3 comp-c-man .man ./usr/share/man/man3/libradius.3 comp-c-man .man @@ -20527,6 +20696,7 @@ ./usr/share/man/man3/login_getcapstr.3 comp-c-man .man ./usr/share/man/man3/login_getcaptime.3 comp-c-man .man ./usr/share/man/man3/login_getclass.3 comp-c-man .man +./usr/share/man/man3/login_getpwclass.3 comp-c-man .man ./usr/share/man/man3/login_tty.3 comp-c-man .man ./usr/share/man/man3/loginx.3 comp-c-man .man ./usr/share/man/man3/logout.3 comp-c-man .man @@ -20603,8 +20773,8 @@ ./usr/share/man/man3/menu_mark.3 comp-c-man .man ./usr/share/man/man3/menu_new.3 comp-c-man .man ./usr/share/man/man3/menu_opts.3 comp-c-man .man -./usr/share/man/man3/menu_opts_on.3 comp-c-man .man ./usr/share/man/man3/menu_opts_off.3 comp-c-man .man +./usr/share/man/man3/menu_opts_on.3 comp-c-man .man ./usr/share/man/man3/menu_pad.3 comp-c-man .man ./usr/share/man/man3/menu_pattern.3 comp-c-man .man ./usr/share/man/man3/menu_post.3 comp-c-man .man @@ -20739,12 +20909,17 @@ ./usr/share/man/man3/openpam_borrow_cred.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_free_data.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_free_envlist.3 comp-c-man .man,pam +./usr/share/man/man3/openpam_get_feature.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_get_option.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_log.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_nullconv.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_readline.3 comp-c-man .man,pam +./usr/share/man/man3/openpam_readlinev.3 comp-c-man .man,pam +./usr/share/man/man3/openpam_readword.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_restore_cred.3 comp-c-man .man,pam +./usr/share/man/man3/openpam_set_feature.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_set_option.3 comp-c-man .man,pam +./usr/share/man/man3/openpam_straddch.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_subst.3 comp-c-man .man,pam ./usr/share/man/man3/openpam_ttyconv.3 comp-c-man .man,pam ./usr/share/man/man3/openpgpsdk.3 comp-obsolete obsolete @@ -20839,8 +21014,8 @@ ./usr/share/man/man3/pcap_file.3 comp-c-man .man ./usr/share/man/man3/pcap_fileno.3 comp-c-man .man ./usr/share/man/man3/pcap_findalldevs.3 comp-c-man .man -./usr/share/man/man3/pcap_free_datalinks.3 comp-c-man .man -./usr/share/man/man3/pcap_freealldevs.3 comp-c-man .man +./usr/share/man/man3/pcap_free_datalinks.3 comp-obsolete obsolete +./usr/share/man/man3/pcap_freealldevs.3 comp-obsolete obsolete ./usr/share/man/man3/pcap_freecode.3 comp-c-man .man ./usr/share/man/man3/pcap_get_selectable_fd.3 comp-c-man .man ./usr/share/man/man3/pcap_geterr.3 comp-c-man .man @@ -20848,6 +21023,7 @@ ./usr/share/man/man3/pcap_is_swapped.3 comp-c-man .man ./usr/share/man/man3/pcap_lib_version.3 comp-c-man .man ./usr/share/man/man3/pcap_list_datalinks.3 comp-c-man .man +./usr/share/man/man3/pcap_list_tstamp_types.3 comp-c-man .man ./usr/share/man/man3/pcap_lookupdev.3 comp-c-man .man ./usr/share/man/man3/pcap_lookupnet.3 comp-c-man .man ./usr/share/man/man3/pcap_loop.3 comp-c-man .man @@ -20863,6 +21039,7 @@ ./usr/share/man/man3/pcap_set_rfmon.3 comp-c-man .man ./usr/share/man/man3/pcap_set_snaplen.3 comp-c-man .man ./usr/share/man/man3/pcap_set_timeout.3 comp-c-man .man +./usr/share/man/man3/pcap_set_tstamp_type.3 comp-c-man .man ./usr/share/man/man3/pcap_setdirection.3 comp-c-man .man ./usr/share/man/man3/pcap_setfilter.3 comp-c-man .man ./usr/share/man/man3/pcap_setnonblock.3 comp-c-man .man @@ -20870,6 +21047,8 @@ ./usr/share/man/man3/pcap_stats.3 comp-c-man .man ./usr/share/man/man3/pcap_statustostr.3 comp-c-man .man ./usr/share/man/man3/pcap_strerror.3 comp-c-man .man +./usr/share/man/man3/pcap_tstamp_type_name_to_val.3 comp-c-man .man +./usr/share/man/man3/pcap_tstamp_type_val_to_name.3 comp-c-man .man ./usr/share/man/man3/pci.3 comp-c-man .man ./usr/share/man/man3/pci_conf_print.3 comp-c-man .man ./usr/share/man/man3/pci_devinfo.3 comp-c-man .man @@ -21192,6 +21371,7 @@ ./usr/share/man/man3/pthread_condattr.3 comp-c-man .man ./usr/share/man/man3/pthread_condattr_destroy.3 comp-c-man .man ./usr/share/man/man3/pthread_condattr_init.3 comp-c-man .man +./usr/share/man/man3/pthread_condattr_setclock.3 comp-c-man .man ./usr/share/man/man3/pthread_create.3 comp-c-man .man ./usr/share/man/man3/pthread_curcpu_np.3 comp-c-man .man ./usr/share/man/man3/pthread_detach.3 comp-c-man .man @@ -21295,6 +21475,7 @@ ./usr/share/man/man3/qiflush.3 comp-c-man .man ./usr/share/man/man3/qsort.3 comp-c-man .man ./usr/share/man/man3/queue.3 comp-c-man .man +./usr/share/man/man3/quick_exit.3 comp-c-man .man ./usr/share/man/man3/quota_close.3 comp-c-man .man ./usr/share/man/man3/quota_delete.3 comp-c-man .man ./usr/share/man/man3/quota_get.3 comp-c-man .man @@ -21409,6 +21590,7 @@ ./usr/share/man/man3/rmtops.3 comp-c-man .man ./usr/share/man/man3/round.3 comp-c-man .man ./usr/share/man/man3/roundf.3 comp-c-man .man +./usr/share/man/man3/roundl.3 comp-c-man .man ./usr/share/man/man3/rpc.3 comp-c-man .man ./usr/share/man/man3/rpc_broadcast.3 comp-c-man .man ./usr/share/man/man3/rpc_broadcast_exp.3 comp-c-man .man @@ -21658,11 +21840,11 @@ ./usr/share/man/man3/sigismember.3 comp-c-man .man ./usr/share/man/man3/siglongjmp.3 comp-c-man .man ./usr/share/man/man3/signal.3 comp-c-man .man -./usr/share/man/man3/signal_add.3 comp-c-man .man -./usr/share/man/man3/signal_del.3 comp-c-man .man -./usr/share/man/man3/signal_initialized.3 comp-c-man .man -./usr/share/man/man3/signal_pending.3 comp-c-man .man -./usr/share/man/man3/signal_set.3 comp-c-man .man +./usr/share/man/man3/signal_add.3 comp-obsolete obsolete +./usr/share/man/man3/signal_del.3 comp-obsolete obsolete +./usr/share/man/man3/signal_initialized.3 comp-obsolete obsolete +./usr/share/man/man3/signal_pending.3 comp-obsolete obsolete +./usr/share/man/man3/signal_set.3 comp-obsolete obsolete ./usr/share/man/man3/signbit.3 comp-c-man .man ./usr/share/man/man3/significand.3 comp-c-man .man ./usr/share/man/man3/significandf.3 comp-c-man .man @@ -21714,6 +21896,7 @@ ./usr/share/man/man3/sprintf.3 comp-c-man .man ./usr/share/man/man3/sqrt.3 comp-c-man .man ./usr/share/man/man3/sqrtf.3 comp-c-man .man +./usr/share/man/man3/sqrtl.3 comp-c-man .man ./usr/share/man/man3/sradixsort.3 comp-c-man .man ./usr/share/man/man3/srand.3 comp-c-man .man ./usr/share/man/man3/srand48.3 comp-c-man .man @@ -21973,6 +22156,7 @@ ./usr/share/man/man3/tree.3 comp-c-man .man ./usr/share/man/man3/trunc.3 comp-c-man .man ./usr/share/man/man3/truncf.3 comp-c-man .man +./usr/share/man/man3/truncl.3 comp-c-man .man ./usr/share/man/man3/tsearch.3 comp-c-man .man ./usr/share/man/man3/ttyaction.3 comp-c-man .man ./usr/share/man/man3/ttylock.3 comp-c-man .man @@ -22245,11 +22429,13 @@ ./usr/share/man/man5/ranlib.5 comp-util-man .man ./usr/share/man/man5/statvfs.5 comp-util-man .man ./usr/share/man/man5/tar.5 comp-util-man .man +./usr/share/man/man5/tcsd.conf.5 comp-tpm-man tpm,.man ./usr/share/man/man7/operator.7 comp-c-man .man ./usr/share/man/man8/config.8 comp-obsolete obsolete ./usr/share/man/man8/cvsbug.8 comp-cvs-man cvs,.man ./usr/share/man/man8/genassym.8 comp-obsolete obsolete ./usr/share/man/man8/kgmon.8 comp-sysutil-man .man +./usr/share/man/man8/tcsd.8 comp-tpm-man tpm,.man ./usr/share/man/man9/BOOT_FLAG.9 comp-sys-man .man ./usr/share/man/man9/CALLOUT_INITIALIZER.9 comp-obsolete obsolete ./usr/share/man/man9/CALLOUT_INITIALIZER_SETFUNC.9 comp-obsolete obsolete @@ -22386,7 +22572,6 @@ ./usr/share/man/man9/VOP_WHITEOUT.9 comp-sys-man .man ./usr/share/man/man9/VOP_WRITE.9 comp-sys-man .man ./usr/share/man/man9/VREF.9 comp-obsolete obsolete -./usr/share/man/man9/atop.9 comp-sys-man .man ./usr/share/man/man9/accept_filt_add.9 comp-sys-man .man ./usr/share/man/man9/accept_filt_del.9 comp-sys-man .man ./usr/share/man/man9/accept_filt_generic_mod_event.9 comp-sys-man .man @@ -22419,6 +22604,7 @@ ./usr/share/man/man9/arp_ifinit.9 comp-sys-man .man ./usr/share/man/man9/arpintr.9 comp-sys-man .man ./usr/share/man/man9/arpresolve.9 comp-sys-man .man +./usr/share/man/man9/atop.9 comp-sys-man .man ./usr/share/man/man9/audio.9 comp-sys-man .man ./usr/share/man/man9/autoconf.9 comp-sys-man .man ./usr/share/man/man9/bawrite.9 comp-sys-man .man @@ -22821,6 +23007,7 @@ ./usr/share/man/man9/fusword.9 comp-sys-man .man ./usr/share/man/man9/fuword.9 comp-sys-man .man ./usr/share/man/man9/genfs.9 comp-sys-man .man +./usr/share/man/man9/genfs_rename.9 comp-sys-man .man ./usr/share/man/man9/getbintime.9 comp-sys-man .man ./usr/share/man/man9/getbinuptime.9 comp-sys-man .man ./usr/share/man/man9/getblk.9 comp-sys-man .man @@ -22959,9 +23146,12 @@ ./usr/share/man/man9/kcpuset_copy.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_copyin.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_copyout.9 comp-sys-man .man +./usr/share/man/man9/kcpuset_countset.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_create.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_destroy.9 comp-sys-man .man +./usr/share/man/man9/kcpuset_export_32.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_fill.9 comp-sys-man .man +./usr/share/man/man9/kcpuset_isotherset.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_isset.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_iszero.9 comp-sys-man .man ./usr/share/man/man9/kcpuset_match.9 comp-sys-man .man @@ -23020,6 +23210,7 @@ ./usr/share/man/man9/m_copydata.9 comp-sys-man .man ./usr/share/man/man9/m_copym.9 comp-sys-man .man ./usr/share/man/man9/m_copypacket.9 comp-sys-man .man +./usr/share/man/man9/m_copyup.9 comp-sys-man .man ./usr/share/man/man9/m_devget.9 comp-sys-man .man ./usr/share/man/man9/m_dup.9 comp-sys-man .man ./usr/share/man/man9/m_free.9 comp-sys-man .man @@ -23069,6 +23260,7 @@ ./usr/share/man/man9/memoryallocators.9 comp-sys-man .man ./usr/share/man/man9/memset.9 comp-sys-man .man ./usr/share/man/man9/mi_switch.9 comp-sys-man .man +./usr/share/man/man9/microseq.9 comp-sys-man .man ./usr/share/man/man9/microtime.9 comp-sys-man .man ./usr/share/man/man9/microuptime.9 comp-sys-man .man ./usr/share/man/man9/module.9 comp-sys-man .man @@ -23103,7 +23295,7 @@ ./usr/share/man/man9/nanouptime.9 comp-sys-man .man ./usr/share/man/man9/need_resched.9 comp-obsolete obsolete ./usr/share/man/man9/nextrunqueue.9 comp-obsolete obsolete -./usr/share/man/man9/npf_ncode.9 comp-sys-man .man +./usr/share/man/man9/npf_ncode.9 comp-obsolete obsolete ./usr/share/man/man9/nullop.9 comp-sys-man .man ./usr/share/man/man9/old_sysctl.9 comp-sys-man .man ./usr/share/man/man9/opencrypto.9 comp-sys-man .man @@ -23178,6 +23370,12 @@ ./usr/share/man/man9/pcq_maxitems.9 comp-sys-man .man ./usr/share/man/man9/pcq_peek.9 comp-sys-man .man ./usr/share/man/man9/pcq_put.9 comp-sys-man .man +./usr/share/man/man9/pcu.9 comp-sys-man .man +./usr/share/man/man9/pcu_discard.9 comp-sys-man .man +./usr/share/man/man9/pcu_load.9 comp-sys-man .man +./usr/share/man/man9/pcu_save.9 comp-sys-man .man +./usr/share/man/man9/pcu_save_all.9 comp-sys-man .man +./usr/share/man/man9/pcu_used_p.9 comp-sys-man .man ./usr/share/man/man9/percpu.9 comp-sys-man .man ./usr/share/man/man9/percpu_alloc.9 comp-sys-man .man ./usr/share/man/man9/percpu_foreach.9 comp-sys-man .man @@ -23267,6 +23465,7 @@ ./usr/share/man/man9/powerhook_disestablish.9 comp-sys-man .man ./usr/share/man/man9/powerhook_establish.9 comp-sys-man .man ./usr/share/man/man9/powerof2.9 comp-sys-man .man +./usr/share/man/man9/ppi.9 comp-sys-man .man ./usr/share/man/man9/ppsratecheck.9 comp-sys-man .man ./usr/share/man/man9/preempt.9 comp-sys-man .man ./usr/share/man/man9/printf.9 comp-sys-man .man @@ -23318,6 +23517,7 @@ ./usr/share/man/man9/rnd_attach_source.9 comp-sys-man .man ./usr/share/man/man9/rnd_detach_source.9 comp-sys-man .man ./usr/share/man/man9/rnd_extract_data.9 comp-sys-man .man +./usr/share/man/man9/rndsink.9 comp-sys-man .man ./usr/share/man/man9/rootconf.9 comp-sys-man .man ./usr/share/man/man9/round_page.9 comp-sys-man .man ./usr/share/man/man9/rounddown.9 comp-sys-man .man @@ -23515,6 +23715,7 @@ ./usr/share/man/man9/transferlockers.9 comp-sys-man .man ./usr/share/man/man9/trapsignal.9 comp-sys-man .man ./usr/share/man/man9/trunc_page.9 comp-sys-man .man +./usr/share/man/man9/ts2timo.9 comp-sys-man .man ./usr/share/man/man9/tsleep.9 comp-sys-man .man ./usr/share/man/man9/ttyldisc_add.9 comp-sys-man .man ./usr/share/man/man9/ttyldisc_lookup.9 comp-sys-man .man diff --git a/distrib/sets/lists/comp/shl.mi b/distrib/sets/lists/comp/shl.mi index d852c34f0..7606efef8 100644 --- a/distrib/sets/lists/comp/shl.mi +++ b/distrib/sets/lists/comp/shl.mi @@ -1,10 +1,11 @@ -# $NetBSD: shl.mi,v 1.236 2012/09/18 15:14:42 skrll Exp $ +# $NetBSD: shl.mi,v 1.258 2013/11/16 13:01:38 alnsn Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # ./usr/lib/crtbeginS.o comp-c-lib ./usr/lib/crtbeginT.o comp-c-lib ./usr/lib/crtendS.o comp-c-lib +./usr/lib/libamu_pic.a comp-obsolete obsolete ./usr/lib/libarchive_pic.a comp-c-piclib ./usr/lib/libasn1_pic.a comp-c-piclib kerberos ./usr/lib/libatf-c++_pic.a comp-atf-piclib atf @@ -15,6 +16,7 @@ ./usr/lib/libbluetooth_pic.a comp-c-piclib ./usr/lib/libbsdmalloc_pic.a comp-c-piclib ./usr/lib/libbz2_pic.a comp-c-piclib +./usr/lib/libc++_pic.a comp-c-piclib libcxx ./usr/lib/libc_pic.a comp-c-piclib ./usr/lib/libcdk_pic.a comp-obsolete obsolete ./usr/lib/libcom_err_pic.a comp-c-piclib kerberos @@ -32,11 +34,14 @@ ./usr/lib/libdwarf_pic.a comp-c-piclib ./usr/lib/libedit_pic.a comp-c-piclib ./usr/lib/libelf_pic.a comp-c-piclib +./usr/lib/libevent_openssl_pic.a comp-c-piclib crypto ./usr/lib/libevent_pic.a comp-c-piclib +./usr/lib/libevent_pthreads_pic.a comp-c-piclib ./usr/lib/libexecinfo_pic.a comp-c-piclib ./usr/lib/libexpat_pic.a comp-c-piclib ./usr/lib/libfetch_pic.a comp-c-piclib ./usr/lib/libform_pic.a comp-c-piclib +./usr/lib/libg++_pic.a comp-obsolete obsolete ./usr/lib/libg2c_pic.a comp-fortran-lib gcc=3 ./usr/lib/libg2c_pic.a comp-obsolete gcc=4,obsolete ./usr/lib/libgcc_eh.a comp-c-lib gcccmds @@ -44,12 +49,14 @@ ./usr/lib/libgcc_eh_pic.a comp-c-piclib obsolete ./usr/lib/libgcc_pic.a comp-c-lib gcc=4 ./usr/lib/libgcc_pic.a comp-c-lib obsolete,gcc=45 +./usr/lib/libgcc_pic.a comp-c-lib obsolete,gcc=48 ./usr/lib/libgmp.so comp-c-shlib obsolete ./usr/lib/libgmp.so.10 comp-c-shlib obsolete ./usr/lib/libgmp.so.10.2 comp-c-shlib obsolete ./usr/lib/libgmp_pic.a comp-c-piclib obsolete ./usr/lib/libgnumalloc_pic.a comp-c-piclib ./usr/lib/libgomp_pic.a comp-c-piclib gcc=45 +./usr/lib/libgomp_pic.a comp-c-piclib gcc=48 ./usr/lib/libgssapi_pic.a comp-c-piclib kerberos ./usr/lib/libhdb_pic.a comp-c-piclib kerberos ./usr/lib/libheimbase_pic.a comp-c-piclib kerberos @@ -76,6 +83,7 @@ ./usr/lib/libldap_pic.a comp-ldap-piclib ldap ./usr/lib/libldap_r_pic.a comp-ldap-piclib ldap ./usr/lib/liblua_pic.a comp-c-piclib +./usr/lib/liblutok_pic.a comp-c-piclib kyua ./usr/lib/liblwres_pic.a comp-bind-piclib ./usr/lib/liblzf_pic.a comp-c-piclib ./usr/lib/liblzma_pic.a comp-c-piclib @@ -91,20 +99,30 @@ ./usr/lib/libmpfr.so.4 comp-c-shlib obsolete ./usr/lib/libmpfr.so.4.1 comp-c-shlib obsolete ./usr/lib/libmpfr_pic.a comp-c-piclib obsolete -./usr/lib/libmudflap_pic.a comp-c-piclib gcc=45 ./usr/lib/libmudflap.so comp-c-shlib gcc=45 +./usr/lib/libmudflap.so comp-c-shlib gcc=48 ./usr/lib/libmudflap.so.0 comp-c-shlib gcc=45 +./usr/lib/libmudflap.so.0 comp-c-shlib gcc=48 ./usr/lib/libmudflap.so.0.0 comp-c-shlib gcc=45 -./usr/lib/libmudflapth_pic.a comp-c-piclib gcc=45 +./usr/lib/libmudflap.so.0.0 comp-c-shlib gcc=48 +./usr/lib/libmudflap_pic.a comp-c-piclib gcc=45 +./usr/lib/libmudflap_pic.a comp-c-piclib gcc=48 ./usr/lib/libmudflapth.so comp-c-shlib gcc=45 +./usr/lib/libmudflapth.so comp-c-shlib gcc=48 ./usr/lib/libmudflapth.so.0 comp-c-shlib gcc=45 +./usr/lib/libmudflapth.so.0 comp-c-shlib gcc=48 ./usr/lib/libmudflapth.so.0.0 comp-c-shlib gcc=45 +./usr/lib/libmudflapth.so.0.0 comp-c-shlib gcc=48 +./usr/lib/libmudflapth_pic.a comp-c-piclib gcc=45 +./usr/lib/libmudflapth_pic.a comp-c-piclib gcc=48 ./usr/lib/libnetpgp_pic.a comp-c-piclib crypto +./usr/lib/libnetpgpverify_pic.a comp-c-piclib crypto ./usr/lib/libnpf_pic.a comp-npf-piclib npf +./usr/lib/libntp_pic.a comp-obsolete obsolete ./usr/lib/libnvpair_pic.a comp-zfs-piclib zfs ./usr/lib/libobjc_pic.a comp-objc-piclib gcccmds -./usr/lib/libopcodes.so.5 comp-c-shlib binutils -./usr/lib/libopcodes.so.5.0 comp-c-shlib binutils +./usr/lib/libopcodes.so.6 comp-c-shlib binutils +./usr/lib/libopcodes.so.6.0 comp-c-shlib binutils ./usr/lib/libopenpgpsdk_pic.a comp-obsolete obsolete ./usr/lib/libossaudio_pic.a comp-c-piclib ./usr/lib/libp2k_pic.a comp-puffs-piclib rump @@ -185,19 +203,20 @@ ./usr/lib/librumphijack_pic.a comp-c-piclib rump ./usr/lib/librumpkern_crypto_pic.a comp-c-piclib rump ./usr/lib/librumpkern_ksem_pic.a comp-obsolete obsolete +./usr/lib/librumpkern_sljit_pic.a comp-c-piclib sljit,rump ./usr/lib/librumpkern_solaris_pic.a comp-c-piclib zfs,rump ./usr/lib/librumpkern_tty_pic.a comp-c-piclib rump ./usr/lib/librumpkern_z_pic.a comp-c-piclib rump ./usr/lib/librumpnet_agr_pic.a comp-c-piclib rump +./usr/lib/librumpnet_bpfjit_pic.a comp-c-piclib sljit,rump ./usr/lib/librumpnet_bridge_pic.a comp-c-piclib rump ./usr/lib/librumpnet_local_pic.a comp-c-piclib rump ./usr/lib/librumpnet_net80211_pic.a comp-c-piclib rump ./usr/lib/librumpnet_net_pic.a comp-c-piclib rump ./usr/lib/librumpnet_netbt_pic.a comp-c-piclib rump +./usr/lib/librumpnet_netinet6_pic.a comp-c-piclib rump ./usr/lib/librumpnet_netinet_pic.a comp-c-piclib rump -./usr/lib/librumpnet_npf.so comp-c-piclib rump -./usr/lib/librumpnet_npf.so.0 comp-c-piclib rump -./usr/lib/librumpnet_npf.so.0.0 comp-c-piclib rump +./usr/lib/librumpnet_netmpls_pic.a comp-c-piclib rump ./usr/lib/librumpnet_npf_pic.a comp-c-piclib rump ./usr/lib/librumpnet_pic.a comp-c-piclib rump ./usr/lib/librumpnet_shmif_pic.a comp-c-piclib rump @@ -216,13 +235,18 @@ ./usr/lib/libssh_pic.a comp-c-piclib crypto ./usr/lib/libssl_pic.a comp-c-piclib crypto ./usr/lib/libssp_pic.a comp-obsolete obsolete -./usr/lib/libstdc++_pic.a comp-cxx-piclib cxx,gcccmds +./usr/lib/libstdc++_pic.a comp-cxx-piclib cxx,gcccmds,libstdcxx +./usr/lib/libtddl_pic.a comp-c-piclib tpm +./usr/lib/libtelnet_pic.a comp-obsolete obsolete ./usr/lib/libtermcap_pic.a comp-c-piclib ./usr/lib/libterminfo_pic.a comp-c-piclib ./usr/lib/libtermlib_pic.a comp-c-piclib +./usr/lib/libtpm_unseal_pic.a comp-tpm-lib tpm ./usr/lib/libtre_pic.a comp-c-piclib +./usr/lib/libtspi_pic.a comp-c-piclib tpm ./usr/lib/libukfs_pic.a comp-c-piclib rump ./usr/lib/libumem_pic.a comp-zfs-piclib zfs +./usr/lib/libusb_pic.a comp-obsolete obsolete ./usr/lib/libusbhid_pic.a comp-c-piclib ./usr/lib/libutil_pic.a comp-c-piclib ./usr/lib/libuutil_pic.a comp-zfs-piclib zfs @@ -230,221 +254,6 @@ ./usr/lib/libwrap_pic.a comp-c-piclib ./usr/lib/libz_pic.a comp-c-piclib ./usr/lib/libzfs_pic.a comp-zfs-piclib zfs -./usr/libdata/debug/usr/lib/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libEUC.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libHZ.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libUES.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libZW.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug -./usr/libdata/debug/usr/lib/libamu.so.4.0.debug comp-amd-debug debug -./usr/libdata/debug/usr/lib/libarchive.so.3.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libasn1.so.9.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libatf-c.so.0.0.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/lib/libatf-c++.so.0.0.debug comp-atf-debug atf,debug -./usr/libdata/debug/usr/lib/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug -./usr/libdata/debug/usr/lib/libbfd.so.12.0.debug comp-sys-debug binutils,debug -./usr/libdata/debug/usr/lib/libbind9.so.5.7.debug comp-bind-debug debug -./usr/libdata/debug/usr/lib/libbluetooth.so.4.2.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libbsdmalloc.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libbz2.so.1.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libc.so.12.185.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libcom_err.so.7.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libcrypt.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libcrypto.so.8.0.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/lib/libcrypto_idea.so.7.0.debug comp-obsolete obsolete -./usr/libdata/debug/usr/lib/libcrypto_mdc2.so.7.0.debug comp-obsolete obsolete -./usr/libdata/debug/usr/lib/libcrypto_rc5.so.7.0.debug comp-crypto-debug crypto,crypto_rc5,debug -./usr/libdata/debug/usr/lib/libctf.so.2.0.debug comp-sys-debug dtrace,debug -./usr/libdata/debug/usr/lib/libcurses.so.7.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libdes.so.8.1.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/lib/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug -./usr/libdata/debug/usr/lib/libdm.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libdns.so.5.7.debug comp-bind-debug debug -./usr/libdata/debug/usr/lib/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug -./usr/libdata/debug/usr/lib/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug -./usr/libdata/debug/usr/lib/libdwarf.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libedit.so.3.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libelf.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libevent.so.3.2.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libexecinfo.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libexpat.so.2.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libfetch.so.3.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libform.so.6.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug -./usr/libdata/debug/usr/lib/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug -./usr/libdata/debug/usr/lib/libgmp.so.10.2.debug comp-c-shlib obsolete -./usr/libdata/debug/usr/lib/libgnumalloc.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libgomp.so.1.0.debug comp-sys-debug gcc=45,debug -./usr/libdata/debug/usr/lib/libgssapi.so.10.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libhdb.so.14.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libheimbase.so.1.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libheimntlm.so.4.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libintl.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libipsec.so.3.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/libisc.so.5.7.debug comp-bind-debug debug -./usr/libdata/debug/usr/lib/libisccc.so.5.7.debug comp-bind-debug debug -./usr/libdata/debug/usr/lib/libisccfg.so.5.7.debug comp-bind-debug debug -./usr/libdata/debug/usr/lib/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug -./usr/libdata/debug/usr/lib/libisns.so.0.0.debug comp-isns-debug debug -./usr/libdata/debug/usr/lib/libkadm5clnt.so.13.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libkadm5srv.so.14.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libkafs.so.12.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libkdc.so.2.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libkrb5.so.26.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libkvm.so.6.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/liblber.so.3.2.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/lib/libldap.so.4.2.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/lib/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug -./usr/libdata/debug/usr/lib/liblua.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/liblwres.so.5.7.debug comp-bind-debug debug -./usr/libdata/debug/usr/lib/liblzf.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/liblzma.so.1.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libm.so.0.10.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libmagic.so.3.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libmenu.so.6.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libmj.so.1.0.debug comp-crypto-debug debug -./usr/libdata/debug/usr/lib/libmpc.so.2.0.debug comp-c-shlib obsolete -./usr/libdata/debug/usr/lib/libmpfr.so.4.1.debug comp-c-shlib obsolete -./usr/libdata/debug/usr/lib/libmudflap.so.0.0.debug comp-sys-debug gcc=45,debug -./usr/libdata/debug/usr/lib/libmudflapth.so.0.0.debug comp-sys-debug gcc=45,debug -./usr/libdata/debug/usr/lib/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/lib/libnpf.so.0.0.debug comp-npf-debug npf,debug -./usr/libdata/debug/usr/lib/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug -./usr/libdata/debug/usr/lib/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug -./usr/libdata/debug/usr/lib/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug -./usr/libdata/debug/usr/lib/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug -./usr/libdata/debug/usr/lib/libopcodes.so.5.0.debug comp-c-debug binutils,debug -./usr/libdata/debug/usr/lib/libossaudio.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libp2k.so.2.0.debug comp-puffs-debug debug,rump -./usr/libdata/debug/usr/lib/libpam.so.3.0.debug comp-sys-debug pam,debug -./usr/libdata/debug/usr/lib/libpcap.so.4.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/libpci.so.2.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libperfuse.so.0.0.debug comp-perfuse-debug debug -./usr/libdata/debug/usr/lib/libposix.so.0.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libppath.so.0.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libprop.so.1.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libpthread.so.1.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libpthread_dbg.so.2.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libpuffs.so.2.0.debug comp-puffs-debug debug -./usr/libdata/debug/usr/lib/libquota.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libradius.so.4.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/librefuse.so.2.0.debug comp-refuse-debug debug -./usr/libdata/debug/usr/lib/libresolv.so.2.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/libroken.so.19.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/librpcsvc.so.1.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/librt.so.1.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/librump.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpclient.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_audio.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_bpf.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_cgd.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_disk.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_dm.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_drvctl.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_fss.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_md.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_netsmb.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_pad.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_pud.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_putter.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_raidframe.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_rnd.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_scsipi.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_scsitest.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_sysmon.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_ubt.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_ucom.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_ugenhc.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_ulpt.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_umass.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_usb.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpdev_wscons.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_cd9660.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_efs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_ext2fs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_fdesc.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_ffs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_hfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_kernfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_lfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_mfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_msdos.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_nfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_nfsserver.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_nilfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_ntfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_null.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_ptyfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_smbfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_syspuffs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_sysvbfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_tmpfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_udf.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_umap.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_union.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_v7fs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpfs_zfs.so.0.0.debug comp-rump-debug debug,zfs,rump -./usr/libdata/debug/usr/lib/librumphijack.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpkern_crypto.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpkern_ksem.so.0.0.debug comp-obsolete obsolete,rump -./usr/libdata/debug/usr/lib/librumpkern_solaris.so.0.0.debug comp-rump-debug debug,zfs,rump -./usr/libdata/debug/usr/lib/librumpkern_tty.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpkern_z.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_agr.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_bridge.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_local.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_net.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_net80211.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_netbt.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_netinet.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_npf.so.0.0.debug comp-rump-debug npf,debug,rump -./usr/libdata/debug/usr/lib/librumpnet_shmif.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_sockin.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpnet_virtif.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpuser.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpvfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpvfs_fifofs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/librumpvfs_layerfs.so.0.0.debug comp-rump-debug debug,rump -./usr/libdata/debug/usr/lib/libsaslc.so.0.0.debug comp-sys-debug crypto,debug -./usr/libdata/debug/usr/lib/libskey.so.2.0.debug comp-sys-debug skey,debug -./usr/libdata/debug/usr/lib/libsl.so.5.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libsqlite3.so.1.1.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libssh.so.19.0.debug comp-secsh-debug crypto,debug -./usr/libdata/debug/usr/lib/libssl.so.10.0.debug comp-crypto-debug crypto,debug -./usr/libdata/debug/usr/lib/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug -./usr/libdata/debug/usr/lib/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug -./usr/libdata/debug/usr/lib/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug -./usr/libdata/debug/usr/lib/libterminfo.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libtre.so.0.8.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libukfs.so.1.0.debug comp-sys-debug debug,rump -./usr/libdata/debug/usr/lib/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug -./usr/libdata/debug/usr/lib/libusbhid.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libutil.so.7.21.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug -./usr/libdata/debug/usr/lib/libwind.so.0.0.debug comp-krb5-debug kerberos,debug -./usr/libdata/debug/usr/lib/libwrap.so.1.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/libz.so.1.0.debug comp-sys-debug debug -./usr/libdata/debug/usr/lib/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug -./usr/libdata/debug/usr/lib/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug -./usr/libdata/debug/usr/lib/npf/libext_log.so.0.0.debug comp-sys-debug debug,npf -./usr/libdata/debug/usr/lib/npf/libext_normalise.so.0.0.debug comp-sys-debug debug,npf +./usr/libexec/liblto_plugin.so comp-c-bin gcc=48 +./usr/libexec/liblto_plugin.so.0 comp-c-bin gcc=48 +./usr/libexec/liblto_plugin.so.0.0 comp-c-bin gcc=48 diff --git a/distrib/sets/lists/debug/ad.arm b/distrib/sets/lists/debug/ad.arm new file mode 100644 index 000000000..c2b8d3d5a --- /dev/null +++ b/distrib/sets/lists/debug/ad.arm @@ -0,0 +1,217 @@ +# $NetBSD: ad.arm,v 1.19 2013/11/08 19:21:01 christos Exp $ +./usr/lib/libarm_g.a comp-c-debuglib debuglib +./usr/lib/libc_vfp_g.a comp-c-debuglib debuglib,softfloat +./usr/lib/libpmc_g.a comp-c-debuglib debuglib +./usr/lib/oabi/libdevmapper_g.a comp-c-debuglib compat,debuglib,lvm +./usr/lib/oabi/libdm_g.a comp-c-debuglib compat,debuglib +./usr/lib/oabi/libgmp_g.a comp-c-debuglib obsolete +./usr/lib/oabi/libheimbase_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/oabi/libkdc_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/oabi/liblzf_g.a comp-c-debuglib compat,debuglib +./usr/lib/oabi/libmpc_g.a comp-c-debuglib obsolete +./usr/lib/oabi/libmpfr_g.a comp-c-debuglib obsolete +./usr/lib/oabi/libperfuse_g.a comp-c-debuglib compat,debuglib +./usr/lib/oabi/libppath_g.a comp-c-debuglib compat,debuglib +./usr/lib/oabi/libwind_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/libdata/debug/lib/libc_vfp.so.0.0.debug comp-sys-debug debug,pic,softfloat +./usr/libdata/debug/lib/oabi -unknown- debug,compat +./usr/libdata/debug/lib/oabi/npf -unknown- debug,compat +./usr/libdata/debug/lib/oabi/npf/ext_log.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/lib/oabi/npf/ext_normalize.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/lib/oabi/npf/ext_rndblock.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/libexec/ld.elf_so-oabi.debug comp-sys-debug debug,compat +./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic,endian=1234 +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/lib/libarm.so.0.0.debug comp-sys-debug debug,pic +./usr/libdata/debug/usr/lib/libc_vfp.so.0.0.debug comp-sys-debug debug,pic,softfloat +./usr/libdata/debug/usr/lib/libpmc.so.1.0.debug comp-sys-debug debug,pic +./usr/libdata/debug/usr/lib/oabi -unknown- debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n -unknown- debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libamu.so.4.0.debug comp-amd-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libarchive.so.3.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libarm.so.0.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug +./usr/libdata/debug/usr/lib/oabi/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug +./usr/libdata/debug/usr/lib/oabi/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat +./usr/libdata/debug/usr/lib/oabi/libbfd.so.13.0.debug comp-sys-debug binutils,debug,compat +./usr/libdata/debug/usr/lib/oabi/libbind9.so.7.0.debug comp-bind-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libbluetooth.so.4.2.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libbz2.so.1.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libc++.so.1.0.debug comp-sys-debug debug,compat,pic,libcxx +./usr/libdata/debug/usr/lib/oabi/libc.so.12.187.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libc_vfp.so.0.0.debug comp-sys-debug debug,compat,pic +./usr/libdata/debug/usr/lib/oabi/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libcrypt.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libcrypto.so.8.1.debug comp-crypto-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libcrypto_rc5.so.7.0.debug comp-crypto-debug crypto,crypto_rc5,debug,compat +./usr/libdata/debug/usr/lib/oabi/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat +./usr/libdata/debug/usr/lib/oabi/libcurses.so.7.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat +./usr/libdata/debug/usr/lib/oabi/libdm.so.0.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libdns.so.7.0.debug comp-bind-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat +./usr/libdata/debug/usr/lib/oabi/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat +./usr/libdata/debug/usr/lib/oabi/libdwarf.so.0.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libedit.so.3.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libelf.so.0.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libevent.so.4.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libevent_openssl.so.4.0.debug comp-sys-debug debug,compat,crypto +./usr/libdata/debug/usr/lib/oabi/libevent_pthreads.so.4.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libexecinfo.so.0.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libexpat.so.2.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libfetch.so.3.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libform.so.6.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat +./usr/libdata/debug/usr/lib/oabi/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat +./usr/libdata/debug/usr/lib/oabi/libgmp.so.10.2.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/oabi/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45 +./usr/libdata/debug/usr/lib/oabi/libgomp.so.1.1.debug comp-sys-debug debug,compat,gcc=48 +./usr/libdata/debug/usr/lib/oabi/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat +./usr/libdata/debug/usr/lib/oabi/libintl.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libipsec.so.3.0.debug comp-net-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libisc.so.6.0.debug comp-bind-debug debug,compat,obsolete +./usr/libdata/debug/usr/lib/oabi/libisc.so.7.0.debug comp-bind-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libisccc.so.6.0.debug comp-bind-debug debug,compat,obsolete +./usr/libdata/debug/usr/lib/oabi/libisccc.so.7.0.debug comp-bind-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libisccfg.so.6.0.debug comp-bind-debug debug,compat,obsolete +./usr/libdata/debug/usr/lib/oabi/libisccfg.so.7.0.debug comp-bind-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat +./usr/libdata/debug/usr/lib/oabi/libisns.so.0.0.debug comp-isns-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libkvm.so.6.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat +./usr/libdata/debug/usr/lib/oabi/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat +./usr/libdata/debug/usr/lib/oabi/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat +./usr/libdata/debug/usr/lib/oabi/liblua.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/liblutok.so.1.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/oabi/liblutok.so.2.0.debug comp-kyua-debug kyua,debug,compat +./usr/libdata/debug/usr/lib/oabi/liblwres.so.6.0.debug comp-bind-debug debug,compat,obsolete +./usr/libdata/debug/usr/lib/oabi/liblwres.so.7.0.debug comp-bind-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/liblzf.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/liblzma.so.1.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libm.so.0.10.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libmagic.so.5.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libmenu.so.6.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libmj.so.1.0.debug comp-crypto-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libmpc.so.2.0.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/oabi/libmpfr.so.4.1.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/oabi/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libnetpgpverify.so.4.0.debug comp-crypto-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat +./usr/libdata/debug/usr/lib/oabi/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat +./usr/libdata/debug/usr/lib/oabi/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat +./usr/libdata/debug/usr/lib/oabi/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat +./usr/libdata/debug/usr/lib/oabi/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat +./usr/libdata/debug/usr/lib/oabi/libobjc.so.4.0.debug comp-sys-debug gcc=48,debug,compat +./usr/libdata/debug/usr/lib/oabi/libopcodes.so.6.0.debug comp-c-debug binutils,debug,compat +./usr/libdata/debug/usr/lib/oabi/libossaudio.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/libpam.so.4.0.debug comp-sys-debug pam,debug,compat +./usr/libdata/debug/usr/lib/oabi/libpcap.so.5.0.debug comp-net-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libpci.so.2.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/oabi/libpmc.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libposix.so.0.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libppath.so.0.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libprop.so.1.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libpthread.so.1.2.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libpuffs.so.2.0.debug comp-puffs-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libquota.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libradius.so.4.0.debug comp-net-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/librefuse.so.2.0.debug comp-refuse-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libresolv.so.3.0.debug comp-net-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/oabi/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/librpcsvc.so.1.0.debug comp-net-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/librt.so.1.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/librump.so.0.0.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat +./usr/libdata/debug/usr/lib/oabi/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/librumpuser.so.0.1.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libskey.so.2.0.debug comp-sys-debug skey,debug,compat +./usr/libdata/debug/usr/lib/oabi/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat +./usr/libdata/debug/usr/lib/oabi/libsqlite3.so.1.1.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libss.so.6.0.debug comp-krb5-debug obsolete +./usr/libdata/debug/usr/lib/oabi/libssh.so.22.0.debug comp-secsh-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libssl.so.10.1.debug comp-crypto-debug crypto,debug,compat +./usr/libdata/debug/usr/lib/oabi/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat,libstdcxx +./usr/libdata/debug/usr/lib/oabi/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat,libstdcxx +./usr/libdata/debug/usr/lib/oabi/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat,libstdcxx +./usr/libdata/debug/usr/lib/oabi/libstdc++.so.7.2.debug comp-sys-debug gcc=48,cxx,debug,compat,libstdcxx +./usr/libdata/debug/usr/lib/oabi/libterminfo.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libtre.so.0.8.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump +./usr/libdata/debug/usr/lib/oabi/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat +./usr/libdata/debug/usr/lib/oabi/libusbhid.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libutil.so.7.21.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat +./usr/libdata/debug/usr/lib/oabi/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/oabi/libwrap.so.1.0.debug comp-net-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libz.so.1.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat +./usr/libdata/debug/usr/lib/oabi/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat +./usr/libdata/debug/usr/lib/oabi/npf/ext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/oabi/npf/ext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/oabi/npf/ext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/oabi/npf/libext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/oabi/npf/libext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/oabi/npf/libext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/ld.elf_so-oabi comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/eeprom.debug comp-util-debug debug +./usr/libdata/debug/usr/sbin/elftosb.debug comp-util-debug debug,endian=1234 +./usr/libdata/debug/usr/sbin/ofctl.debug comp-util-debug debug +./usr/libdata/debug/usr/sbin/sbkeygen.debug comp-util-debug debug,endian=1234 +./usr/libdata/debug/usr/sbin/sbtool.debug comp-util-debug debug,endian=1234 +./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/ad.m68k b/distrib/sets/lists/debug/ad.m68k new file mode 100644 index 000000000..0e56d1e17 --- /dev/null +++ b/distrib/sets/lists/debug/ad.m68k @@ -0,0 +1,4 @@ +# $NetBSD: ad.m68k,v 1.3 2013/11/02 23:23:51 christos Exp $ +./usr/lib/libm68k_g.a comp-c-debuglib debuglib +./usr/libdata/debug/usr/bin/elf2aout.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug diff --git a/distrib/sets/lists/debug/ad.m68k.shl b/distrib/sets/lists/debug/ad.m68k.shl new file mode 100644 index 000000000..4f9436003 --- /dev/null +++ b/distrib/sets/lists/debug/ad.m68k.shl @@ -0,0 +1,3 @@ +# $NetBSD: ad.m68k.shl,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/lib/libm68k.so.0.0.debug comp-sys-debug debug diff --git a/distrib/sets/lists/debug/ad.mips b/distrib/sets/lists/debug/ad.mips new file mode 100644 index 000000000..3a7ce3298 --- /dev/null +++ b/distrib/sets/lists/debug/ad.mips @@ -0,0 +1,389 @@ +# $NetBSD: ad.mips,v 1.14 2013/11/08 19:21:01 christos Exp $ +./usr/lib/64/libcrypto_g.a comp-c-debuglib compat,crypto,debuglib,arch64 +./usr/lib/64/libcrypto_idea_g.a comp-obsolete obsolete +./usr/lib/64/libcrypto_mdc2_g.a comp-obsolete obsolete +./usr/lib/64/libcrypto_rc5_g.a comp-c-debuglib compat,crypto,crypto_rc5,debuglib,arch64 +./usr/lib/64/libdevmapper_g.a comp-c-debuglib compat,debuglib,lvm,arch64 +./usr/lib/64/libdm_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/64/libgmp_g.a comp-c-debuglib obsolete +./usr/lib/64/libheimbase_g.a comp-c-debuglib compat,debuglib,kerberos,arch64 +./usr/lib/64/libkdc_g.a comp-c-debuglib compat,debuglib,kerberos,arch64 +./usr/lib/64/liblzf_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/64/libmpc_g.a comp-c-debuglib obsolete +./usr/lib/64/libmpfr_g.a comp-c-debuglib obsolete +./usr/lib/64/libperfuse_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/64/libppath_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/64/libwind_g.a comp-c-debuglib compat,debuglib,kerberos,arch64 +./usr/lib/o32/libdevmapper_g.a comp-c-debuglib compat,debuglib,lvm,arch64 +./usr/lib/o32/libdm_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/o32/libgmp_g.a comp-c-debuglib obsolete +./usr/lib/o32/libheimbase_g.a comp-c-debuglib compat,debuglib,kerberos,arch64 +./usr/lib/o32/libkdc_g.a comp-c-debuglib compat,debuglib,kerberos,arch64 +./usr/lib/o32/liblzf_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/o32/libmpc_g.a comp-c-debuglib obsolete +./usr/lib/o32/libmpfr_g.a comp-c-debuglib obsolete +./usr/lib/o32/libperfuse_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/o32/libppath_g.a comp-c-debuglib compat,debuglib,arch64 +./usr/lib/o32/libwind_g.a comp-c-debuglib compat,debuglib,kerberos,arch64 +./usr/libdata/debug/lib/64/npf/ext_log.so.0.0.debug comp-npf-debug debug,compat,arch64 +./usr/libdata/debug/lib/64/npf/ext_normalize.so.0.0.debug comp-npf-debug debug,compat,arch64 +./usr/libdata/debug/lib/64/npf/ext_rndblock.so.0.0.debug comp-npf-debug debug,compat,arch64 +./usr/libdata/debug/lib/o32/npf/ext_log.so.0.0.debug comp-npf-debug debug,compat,arch64 +./usr/libdata/debug/lib/o32/npf/ext_normalize.so.0.0.debug comp-npf-debug debug,compat,arch64 +./usr/libdata/debug/lib/o32/npf/ext_rndblock.so.0.0.debug comp-npf-debug debug,compat,arch64 +./usr/libdata/debug/libexec/ld.elf_so-64.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/libexec/ld.elf_so-o32.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/bin/elf2aout.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/elf2ecoff.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/lib/64/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libamu.so.4.0.debug comp-amd-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libarchive.so.3.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug,arch64 +./usr/libdata/debug/usr/lib/64/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug,arch64 +./usr/libdata/debug/usr/lib/64/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libbfd.so.13.0.debug comp-sys-debug binutils,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libbind9.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libbluetooth.so.4.2.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libbz2.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libc.so.12.187.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libcrypt.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libcrypto.so.8.1.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libcrypto_rc5.so.7.0.debug comp-crypto-debug crypto,crypto_rc5,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libcurses.so.7.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdm.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdns.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libdwarf.so.0.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libedit.so.3.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libelf.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libevent.so.4.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libevent_openssl.so.4.0.debug comp-sys-debug debug,compat,crypto,arch64 +./usr/libdata/debug/usr/lib/64/libevent_pthreads.so.4.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libexecinfo.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libexpat.so.2.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libfetch.so.3.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libform.so.6.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libgmp.so.10.2.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/64/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45,notyet,arch64 +./usr/libdata/debug/usr/lib/64/libgomp.so.1.1.debug comp-sys-debug debug,compat,gcc=48,notyet,arch64 +./usr/libdata/debug/usr/lib/64/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libintl.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libipsec.so.3.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libisc.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/64/libisc.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libisccc.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/64/libisccc.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libisccfg.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/64/libisccfg.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libisns.so.0.0.debug comp-isns-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libkvm.so.6.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/liblua.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/liblutok.so.1.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/64/liblutok.so.2.0.debug comp-kyua-debug kyua,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/liblwres.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/64/liblwres.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/liblzf.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/liblzma.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libm.so.0.10.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libmagic.so.5.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libmenu.so.6.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libmj.so.1.0.debug comp-crypto-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libmpc.so.2.0.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/64/libmpfr.so.4.1.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/64/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libnetpgpverify.so.4.0.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libobjc.so.4.0.debug comp-sys-debug gcc=48,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libopcodes.so.6.0.debug comp-c-debug binutils,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libossaudio.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/libpam.so.4.0.debug comp-sys-debug pam,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libpcap.so.5.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libpci.so.2.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug,arch64 +./usr/libdata/debug/usr/lib/64/libposix.so.0.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libppath.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libprop.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libpthread.so.1.2.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libpuffs.so.2.0.debug comp-puffs-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libquota.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libradius.so.4.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/librefuse.so.2.0.debug comp-refuse-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libresolv.so.3.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/64/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/librpcsvc.so.1.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/librt.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/librump.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat,arch64 +./usr/libdata/debug/usr/lib/64/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/librumpuser.so.0.1.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libskey.so.2.0.debug comp-sys-debug skey,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libsqlite3.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libss.so.6.0.debug comp-krb5-debug obsolete +./usr/libdata/debug/usr/lib/64/libssh.so.22.0.debug comp-secsh-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libssl.so.10.1.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/64/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/64/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/64/libstdc++.so.7.2.debug comp-sys-debug gcc=48,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/64/libterminfo.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libtre.so.0.8.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/64/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libusbhid.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libutil.so.7.21.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/64/libwrap.so.1.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libz.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/npf/ext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/64/npf/ext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/64/npf/ext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/64/npf/libext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/64/npf/libext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/64/npf/libext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libEUC.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libHZ.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libUES.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libZW.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libamu.so.4.0.debug comp-amd-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libarchive.so.3.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libbfd.so.13.0.debug comp-sys-debug binutils,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libbind9.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libbluetooth.so.4.2.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libbsdmalloc.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libbz2.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libc.so.12.187.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libcrypt.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libcrypto.so.8.1.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libcrypto_rc5.so.7.0.debug comp-crypto-debug crypto,crypto_rc5,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libctf.so.2.0.debug comp-sys-debug dtrace,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libcurses.so.7.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdes.so.8.1.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdm.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdns.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libdwarf.so.0.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libedit.so.3.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libelf.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libevent.so.4.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libevent_openssl.so.4.0.debug comp-sys-debug debug,compat,crypto,arch64 +./usr/libdata/debug/usr/lib/o32/libevent_pthreads.so.4.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libexecinfo.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libexpat.so.2.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libfetch.so.3.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libform.so.6.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libgmp.so.10.2.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/o32/libgnumalloc.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=45,arch64 +./usr/libdata/debug/usr/lib/o32/libgomp.so.1.0.debug comp-sys-debug debug,compat,gcc=48,arch64 +./usr/libdata/debug/usr/lib/o32/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libintl.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libipsec.so.3.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libisc.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/o32/libisc.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libisccc.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/o32/libisccc.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libisccfg.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/o32/libisccfg.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libisns.so.0.0.debug comp-isns-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libkvm.so.6.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/liblber.so.3.2.debug comp-ldap-debug ldap,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libldap.so.4.2.debug comp-ldap-debug ldap,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/liblua.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/liblutok.so.1.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/liblutok.so.2.0.debug comp-kyua-debug kyua,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/liblwres.so.6.0.debug comp-bind-debug debug,compat,arch64,obsolete +./usr/libdata/debug/usr/lib/o32/liblwres.so.7.0.debug comp-bind-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/liblzf.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/liblzma.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libm.so.0.10.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libmagic.so.5.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libmenu.so.6.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libmj.so.1.0.debug comp-crypto-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libmpc.so.2.0.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/o32/libmpfr.so.4.1.debug comp-sys-debug obsolete +./usr/libdata/debug/usr/lib/o32/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libnetpgpverify.so.4.0.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libnpf.so.0.0.debug comp-npf-debug npf,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libobjc.so.2.0.debug comp-sys-debug gcc=3,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libobjc.so.4.0.debug comp-sys-debug gcc=48,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libopcodes.so.6.0.debug comp-c-debug binutils,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libossaudio.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/libpam.so.4.0.debug comp-sys-debug pam,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libpcap.so.5.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libpci.so.2.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libposix.so.0.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libppath.so.0.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libprop.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libpthread.so.1.2.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libpthread_dbg.so.2.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libpuffs.so.2.0.debug comp-puffs-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libquota.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libradius.so.4.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/librefuse.so.2.0.debug comp-refuse-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libresolv.so.3.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete,arch64 +./usr/libdata/debug/usr/lib/o32/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/librpcsvc.so.1.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/librt.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/librump.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/librumpclient.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/librumpcrypto.so.0.0.debug comp-obsolete obsolete,compat,arch64 +./usr/libdata/debug/usr/lib/o32/librumpdev.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/librumphijack.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/librumpnet.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/librumpuser.so.0.1.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/librumpvfs.so.0.0.debug comp-rump-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/libsaslc.so.0.0.debug comp-sys-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libskey.so.2.0.debug comp-sys-debug skey,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libsl.so.5.0.debug comp-krb5-debug kerberos,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libsqlite3.so.1.1.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libss.so.6.0.debug comp-krb5-debug obsolete +./usr/libdata/debug/usr/lib/o32/libssh.so.22.0.debug comp-secsh-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libssl.so.10.1.debug comp-crypto-debug crypto,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/o32/libstdc++.so.7.2.debug comp-sys-debug gcc=48,cxx,debug,compat,libstdcxx,arch64 +./usr/libdata/debug/usr/lib/o32/libterminfo.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libtre.so.0.8.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libukfs.so.1.0.debug comp-sys-debug debug,compat,rump,arch64 +./usr/libdata/debug/usr/lib/o32/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libusbhid.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libutil.so.7.21.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug,arch64 +./usr/libdata/debug/usr/lib/o32/libwrap.so.1.0.debug comp-net-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libz.so.1.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/npf/ext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/npf/ext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/npf/ext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/npf/libext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/npf/libext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/o32/npf/libext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/ld.elf_so-64.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/libexec/ld.elf_so-o32.debug comp-sys-debug debug,compat,arch64 diff --git a/distrib/sets/lists/debug/ad.powerpc b/distrib/sets/lists/debug/ad.powerpc new file mode 100644 index 000000000..6ce2d2c0a --- /dev/null +++ b/distrib/sets/lists/debug/ad.powerpc @@ -0,0 +1,4 @@ +# $NetBSD: ad.powerpc,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/usr/bin/elf2aout.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/psim.debug comp-debug-debug debug,gdb diff --git a/distrib/sets/lists/debug/md.alpha b/distrib/sets/lists/debug/md.alpha new file mode 100644 index 000000000..eac93033f --- /dev/null +++ b/distrib/sets/lists/debug/md.alpha @@ -0,0 +1,7 @@ +# $NetBSD: md.alpha,v 1.3 2013/11/02 23:23:51 christos Exp $ +./usr/lib/libalpha_g.a comp-c-debuglib debuglib +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/lib/libalpha.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/mdec/setnetbootinfo.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/bad144.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.amd64 b/distrib/sets/lists/debug/md.amd64 new file mode 100644 index 000000000..5ae39785b --- /dev/null +++ b/distrib/sets/lists/debug/md.amd64 @@ -0,0 +1,338 @@ +# $NetBSD: md.amd64,v 1.36 2013/11/08 19:21:01 christos Exp $ +./usr/lib/i386/i18n/libBIG5_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libDECHanyu_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libEUCTW_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libEUC_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libGBK2K_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libHZ_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libISO2022_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libJOHAB_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libMSKanji_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libUES_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libUTF1632_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libUTF7_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libUTF8_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libVIQR_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libZW_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libiconv_none_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libiconv_std_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libmapper_646_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libmapper_none_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libmapper_parallel_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libmapper_serial_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libmapper_std_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/i18n/libmapper_zone_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libamu_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libarchive_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libasn1_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libatf-c++_g.a comp-c-debuglib compat,debuglib,atf +./usr/lib/i386/libatf-c_g.a comp-c-debuglib compat,debuglib,atf +./usr/lib/i386/libbfd_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libbind9_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libbluetooth_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libbsdmalloc_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libbz2_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libc_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libcom_err_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libcompat_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libcrypt_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libcrypto_g.a comp-c-debuglib compat,crypto,debuglib +./usr/lib/i386/libcrypto_idea_g.a comp-obsolete obsolete +./usr/lib/i386/libcrypto_mdc2_g.a comp-obsolete obsolete +./usr/lib/i386/libcrypto_rc5_g.a comp-c-debuglib compat,crypto,crypto_rc5,debuglib +./usr/lib/i386/libcurses_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libdes_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libdevmapper_g.a comp-c-debuglib compat,debuglib,lvm +./usr/lib/i386/libdm_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libdns_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libdns_sd_g.a comp-c-debuglib compat,debuglib,mdns +./usr/lib/i386/libdwarf_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libedit_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libelf_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libevent_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libevent_openssl_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/i386/libevent_pthreads_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libexecinfo_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libexpat_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libfetch_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libfl_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libform_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libgcc_eh_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/i386/libgcc_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/i386/libgcc_s_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/i386/libgcov_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/i386/libgmp_g.a comp-c-debuglib obsolete +./usr/lib/i386/libgnumalloc_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libgomp_g.a comp-c-debuglib compat,debuglib,gcc=45 +./usr/lib/i386/libgomp_g.a comp-c-debuglib compat,debuglib,gcc=48 +./usr/lib/i386/libgssapi_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libhdb_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libheimbase_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libheimntlm_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libhx509_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libi386_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libiberty_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libintl_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libipsec_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libisc_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libisccc_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libisccfg_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libiscsi_g.a comp-c-debuglib compat,debuglib,iscsi +./usr/lib/i386/libisns_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libkadm5clnt_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libkadm5srv_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libkafs_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libkdc_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libkrb5_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libkvm_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libl_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/liblber_g.a comp-c-debuglib compat,debuglib,ldap +./usr/lib/i386/libldap_g.a comp-c-debuglib compat,debuglib,ldap +./usr/lib/i386/libldap_r_g.a comp-c-debuglib compat,debuglib,ldap +./usr/lib/i386/liblua_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/liblutok_g.a comp-c-debuglib compat,debuglib,kyua +./usr/lib/i386/liblutok_g.a comp-c-debuglib compat,debuglib,kyua +./usr/lib/i386/liblwres_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/liblzf_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/liblzma_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libm_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libmagic_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libmenu_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libmj_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libmpc_g.a comp-c-debuglib obsolete +./usr/lib/i386/libmpfr_g.a comp-c-debuglib obsolete +./usr/lib/i386/libnetpgp_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libnetpgpverify_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libnpf_g.a comp-c-debuglib compat,npf,debuglib +./usr/lib/i386/libobjc_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/i386/libopcodes_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libossaudio_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libp2k_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/libpam_g.a comp-c-debuglib compat,debuglib,pam +./usr/lib/i386/libpcap_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libpci_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libperfuse_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libposix_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libppath_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libprop_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libpthread_dbg_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libpthread_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libpuffs_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libquota_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libradius_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/librefuse_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libresolv_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/librmt_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libroken_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/librpcsvc_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/librt_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/librump_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/librumpclient_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/librumpcrypto_g.a comp-obsolete obsolete,rump +./usr/lib/i386/librumpdev_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/librumphijack_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/librumpnet_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/librumpuser_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/librumpvfs_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/libsaslc_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/i386/libskey_g.a comp-c-debuglib compat,debuglib,skey +./usr/lib/i386/libsl_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libsqlite3_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libss_g.a comp-obsolete obsolete +./usr/lib/i386/libssh_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libssl_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libstdc++_g.a comp-c-debuglib compat,debuglib,cxx,gcccmds,libstdcxx +./usr/lib/i386/libsupc++_g.a comp-c-debuglib compat,debuglib,cxx,gcccmds,libstdcxx +./usr/lib/i386/libtddl_g.a comp-c-debuglib compat,debug,tpm +./usr/lib/i386/libterminfo_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libtpm_unseal_g.a comp-c-debuglib compat,debug,tpm +./usr/lib/i386/libtre_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libtspi_g.a comp-c-debuglib compat,debug,tpm +./usr/lib/i386/libukfs_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/i386/libusbhid_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libutil_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libvers_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libwind_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/i386/libwrap_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/liby_g.a comp-c-debuglib compat,debuglib +./usr/lib/i386/libz_g.a comp-c-debuglib compat,debuglib +./usr/lib/libx86_64_g.a comp-c-debuglib debuglib +./usr/libdata/debug/lib/i386/npf/ext_log.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/lib/i386/npf/ext_normalize.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/lib/i386/npf/ext_rndblock.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/libexec/ld.elf_so-i386.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/iasl.debug comp-util-debug debug +./usr/libdata/debug/usr/lib/i386/i18n/libBIG5.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libDECHanyu.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libEUC.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libEUCTW.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libGBK2K.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libHZ.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libISO2022.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libJOHAB.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libMSKanji.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libUES.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libUTF1632.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libUTF7.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libUTF8.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libVIQR.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libZW.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libiconv_none.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libiconv_std.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libmapper_646.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libmapper_none.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libmapper_parallel.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libmapper_serial.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libmapper_std.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/i18n/libmapper_zone.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libamu.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libarchive.so.3.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug +./usr/libdata/debug/usr/lib/i386/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug +./usr/libdata/debug/usr/lib/i386/libbfd.so.13.0.debug comp-compat-shlib compat,pic,binutils,debug +./usr/libdata/debug/usr/lib/i386/libbind9.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libbluetooth.so.4.2.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libbsdmalloc.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libbz2.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libc.so.12.187.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libcrypt.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libcrypto.so.8.1.debug comp-compat-shlib crypto,compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libcrypto_rc5.so.7.0.debug comp-compat-shlib crypto,crypto_rc5,compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libcurses.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libdes.so.8.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libdevmapper.so.1.0.debug comp-compat-shlib compat,pic,lvm,debug +./usr/libdata/debug/usr/lib/i386/libdm.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libdns.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libdns_sd.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libdwarf.so.0.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libedit.so.3.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libelf.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libevent.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libevent_openssl.so.4.0.debug comp-compat-shlib compat,pic,debug,crypto +./usr/libdata/debug/usr/lib/i386/libevent_pthreads.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libexecinfo.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libexpat.so.2.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libfetch.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libform.so.6.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libgcc_s.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libgmp.so.10.2.debug comp-compat-shlib obsolete +./usr/libdata/debug/usr/lib/i386/libgnumalloc.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libgomp.so.1.0.debug comp-compat-shlib compat,pic,debug,gcc=45 +./usr/libdata/debug/usr/lib/i386/libgomp.so.1.1.debug comp-compat-shlib compat,pic,debug,gcc=48 +./usr/libdata/debug/usr/lib/i386/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libhx509.so.5.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libi386.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libintl.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libipsec.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libisc.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libisc.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libisccc.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libisccc.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libisccfg.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libisccfg.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libiscsi.so.2.0.debug comp-compat-shlib compat,pic,debug,iscsi +./usr/libdata/debug/usr/lib/i386/libisns.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libkvm.so.6.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/liblber.so.3.2.debug comp-compat-shlib compat,pic,ldap,debug +./usr/libdata/debug/usr/lib/i386/libldap.so.4.2.debug comp-compat-shlib compat,pic,ldap,debug +./usr/libdata/debug/usr/lib/i386/libldap_r.so.4.2.debug comp-compat-shlib compat,pic,ldap,debug +./usr/libdata/debug/usr/lib/i386/liblua.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/liblutok.so.1.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/i386/liblutok.so.2.0.debug comp-compat-shlib compat,pic,debug,kyua +./usr/libdata/debug/usr/lib/i386/liblwres.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/i386/liblwres.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/liblzf.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/liblzma.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libm.so.0.10.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libmagic.so.5.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libmenu.so.6.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libmj.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libmpc.so.2.0.debug comp-compat-shlib obsolete +./usr/libdata/debug/usr/lib/i386/libmpfr.so.4.1.debug comp-compat-shlib obsolete +./usr/libdata/debug/usr/lib/i386/libnetpgp.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libnetpgpverify.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libnpf.so.0.0.debug comp-compat-shlib compat,pic,npf,debug +./usr/libdata/debug/usr/lib/i386/libobjc.so.3.0.debug comp-compat-shlib gcc=4,compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libobjc.so.3.0.debug comp-compat-shlib gcc=45,compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libobjc.so.4.0.debug comp-compat-shlib gcc=48,compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libopcodes.so.6.0.debug comp-compat-shlib compat,pic,binutils,debug +./usr/libdata/debug/usr/lib/i386/libossaudio.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libp2k.so.2.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/libpam.so.4.0.debug comp-compat-shlib compat,pic,pam,debug +./usr/libdata/debug/usr/lib/i386/libpcap.so.5.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libpci.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libposix.so.0.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libppath.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libprop.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libpthread.so.1.2.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libpthread_dbg.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libpuffs.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libquota.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libradius.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/librefuse.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libresolv.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/librpcsvc.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/librt.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/librump.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/librumpclient.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/librumpcrypto.so.0.0.debug comp-obsolete obsolete,rump +./usr/libdata/debug/usr/lib/i386/librumpdev.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/librumphijack.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/librumpnet.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/librumpuser.so.0.1.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/librumpvfs.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/libsaslc.so.0.0.debug comp-compat-shlib compat,pic,crypto,debug +./usr/libdata/debug/usr/lib/i386/libskey.so.2.0.debug comp-compat-shlib compat,pic,skey,debug +./usr/libdata/debug/usr/lib/i386/libsl.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/i386/libsl.so.5.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libsqlite3.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libss.so.6.0.debug comp-compat-shlib obsolete +./usr/libdata/debug/usr/lib/i386/libssh.so.22.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libssl.so.10.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libstdc++.so.7.0.debug comp-compat-shlib gcc=4,compat,pic,debug,libstdcxx +./usr/libdata/debug/usr/lib/i386/libstdc++.so.7.1.debug comp-compat-shlib gcc=45,compat,pic,debug,libstdcxx +./usr/libdata/debug/usr/lib/i386/libstdc++.so.7.2.debug comp-compat-shlib gcc=48,compat,pic,debug,libstdcxx +./usr/libdata/debug/usr/lib/i386/libterminfo.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libtpm_unseal.so.1.0.debug comp-compat-shlib compat,pic,debug,tpm +./usr/libdata/debug/usr/lib/i386/libtre.so.0.8.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libtspi.so.3.0.debug comp-compat-shlib compat,pic,debug,tpm +./usr/libdata/debug/usr/lib/i386/libukfs.so.1.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/i386/libusbhid.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libutil.so.7.21.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/i386/libwrap.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libz.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/npf/ext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/i386/npf/ext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/i386/npf/ext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/i386/npf/libext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/i386/npf/libext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/i386/npf/libext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/libx86_64.so.0.0.debug comp-sys-shlib pic,debug +./usr/libdata/debug/usr/libexec/ld.elf_so-i386 comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/ld.elf_so-i386.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/sbin/acpidump.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/amldb.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.amiga b/distrib/sets/lists/debug/md.amiga new file mode 100644 index 000000000..a2eeded98 --- /dev/null +++ b/distrib/sets/lists/debug/md.amiga @@ -0,0 +1,6 @@ +# $NetBSD: md.amiga,v 1.2 2013/01/16 21:11:06 christos Exp $ +./usr/libdata/debug/sbin/binpatch.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/grfconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/iteconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/loadkmap.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/videomode.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.atari b/distrib/sets/lists/debug/md.atari new file mode 100644 index 000000000..7f6173af8 --- /dev/null +++ b/distrib/sets/lists/debug/md.atari @@ -0,0 +1,11 @@ +# $NetBSD: md.atari,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/sbin/ahdilabel.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/binpatch.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/edahdi.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/msconfig.debug comp-util-debug debug +./usr/libdata/debug/usr/mdec/installboot.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/bootpref.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/iteconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/loadkmap.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.bebox b/distrib/sets/lists/debug/md.bebox new file mode 100644 index 000000000..f8d9e3aeb --- /dev/null +++ b/distrib/sets/lists/debug/md.bebox @@ -0,0 +1,3 @@ +# $NetBSD: md.bebox,v 1.2 2013/01/16 21:11:07 christos Exp $ +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.dreamcast b/distrib/sets/lists/debug/md.dreamcast new file mode 100644 index 000000000..fe7b739fa --- /dev/null +++ b/distrib/sets/lists/debug/md.dreamcast @@ -0,0 +1 @@ +# $NetBSD: md.dreamcast,v 1.2 2013/01/16 21:11:07 christos Exp $ diff --git a/distrib/sets/lists/debug/md.evbmips b/distrib/sets/lists/debug/md.evbmips new file mode 100644 index 000000000..615e1fc0a --- /dev/null +++ b/distrib/sets/lists/debug/md.evbmips @@ -0,0 +1 @@ +# $NetBSD: md.evbmips,v 1.2 2013/01/16 21:11:07 christos Exp $ diff --git a/distrib/sets/lists/debug/md.ews4800mips b/distrib/sets/lists/debug/md.ews4800mips new file mode 100644 index 000000000..f50dba3e4 --- /dev/null +++ b/distrib/sets/lists/debug/md.ews4800mips @@ -0,0 +1 @@ +# $NetBSD: md.ews4800mips,v 1.2 2013/01/16 21:11:08 christos Exp $ diff --git a/distrib/sets/lists/debug/md.hp300 b/distrib/sets/lists/debug/md.hp300 new file mode 100644 index 000000000..3c4f5bb45 --- /dev/null +++ b/distrib/sets/lists/debug/md.hp300 @@ -0,0 +1,4 @@ +# $NetBSD: md.hp300,v 1.2 2013/01/16 21:11:08 christos Exp $ +./usr/libdata/debug/usr/mdec/mkboot.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/grfinfo.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/hilinfo.debug comp-obsolete obsolete diff --git a/distrib/sets/lists/debug/md.hp700 b/distrib/sets/lists/debug/md.hp700 new file mode 100644 index 000000000..c918ee766 --- /dev/null +++ b/distrib/sets/lists/debug/md.hp700 @@ -0,0 +1,2 @@ +# $NetBSD: md.hp700,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/usr/mdec/mkboot.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.hpcmips b/distrib/sets/lists/debug/md.hpcmips new file mode 100644 index 000000000..5016f06d1 --- /dev/null +++ b/distrib/sets/lists/debug/md.hpcmips @@ -0,0 +1,4 @@ +# $NetBSD: md.hpcmips,v 1.2 2013/01/16 21:11:08 christos Exp $ +./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.hpcsh b/distrib/sets/lists/debug/md.hpcsh new file mode 100644 index 000000000..0dbf52b6f --- /dev/null +++ b/distrib/sets/lists/debug/md.hpcsh @@ -0,0 +1,4 @@ +# $NetBSD: md.hpcsh,v 1.2 2013/01/16 21:11:08 christos Exp $ +./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/tpctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.i386 b/distrib/sets/lists/debug/md.i386 new file mode 100644 index 000000000..2387c43c6 --- /dev/null +++ b/distrib/sets/lists/debug/md.i386 @@ -0,0 +1,19 @@ +# $NetBSD: md.i386,v 1.5 2013/11/02 23:23:51 christos Exp $ +./usr/lib/libi386_g.a comp-c-debuglib debuglib +./usr/lib/libm387_g.a comp-c-debuglib debuglib +./usr/lib/libpmc_g.a comp-c-debuglib debuglib +./usr/libdata/debug/lib/libm387.so.0.1.debug comp-sys-debug pic,debug +./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/iasl.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/pmc.debug comp-util-debug debug +./usr/libdata/debug/usr/lib/libi386.so.1.0.debug comp-sys-debug pic,debug +./usr/libdata/debug/usr/lib/libm387.so.0.1.debug comp-sys-debug pic,debug +./usr/libdata/debug/usr/lib/libpmc.so.1.0.debug comp-sys-debug pic,debug +./usr/libdata/debug/usr/sbin/acpidump.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/amldb.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/bad144.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ipwctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ndiscvt.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.luna68k b/distrib/sets/lists/debug/md.luna68k new file mode 100644 index 000000000..f9d9de59a --- /dev/null +++ b/distrib/sets/lists/debug/md.luna68k @@ -0,0 +1 @@ +# $NetBSD: md.luna68k,v 1.2 2013/01/16 21:11:08 christos Exp $ diff --git a/distrib/sets/lists/debug/md.mac68k b/distrib/sets/lists/debug/md.mac68k new file mode 100644 index 000000000..eaa6e6d1c --- /dev/null +++ b/distrib/sets/lists/debug/md.mac68k @@ -0,0 +1 @@ +# $NetBSD: md.mac68k,v 1.2 2013/01/16 21:11:08 christos Exp $ diff --git a/distrib/sets/lists/debug/md.macppc b/distrib/sets/lists/debug/md.macppc new file mode 100644 index 000000000..7b05f83c5 --- /dev/null +++ b/distrib/sets/lists/debug/md.macppc @@ -0,0 +1,5 @@ +# $NetBSD: md.macppc,v 1.2 2013/01/16 21:11:09 christos Exp $ +./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.mipsco b/distrib/sets/lists/debug/md.mipsco new file mode 100644 index 000000000..49ac0f696 --- /dev/null +++ b/distrib/sets/lists/debug/md.mipsco @@ -0,0 +1,2 @@ +# $NetBSD: md.mipsco,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/usr/mdec/installboot.debug -unknown- debug diff --git a/distrib/sets/lists/debug/md.mmeye b/distrib/sets/lists/debug/md.mmeye new file mode 100644 index 000000000..354ef0bf0 --- /dev/null +++ b/distrib/sets/lists/debug/md.mmeye @@ -0,0 +1,3 @@ +# $NetBSD: md.mmeye,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/usr/mdec/bootelf.debug -unknown- debug +./usr/libdata/debug/usr/mdec/osloader.debug -unknown- debug diff --git a/distrib/sets/lists/debug/md.mvme68k b/distrib/sets/lists/debug/md.mvme68k new file mode 100644 index 000000000..94c0471ba --- /dev/null +++ b/distrib/sets/lists/debug/md.mvme68k @@ -0,0 +1,3 @@ +# $NetBSD: md.mvme68k,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete +./usr/libdata/debug/usr/mdec/installboot.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.newsmips b/distrib/sets/lists/debug/md.newsmips new file mode 100644 index 000000000..a95d5b33b --- /dev/null +++ b/distrib/sets/lists/debug/md.newsmips @@ -0,0 +1 @@ +# $NetBSD: md.newsmips,v 1.2 2013/01/16 21:11:09 christos Exp $ diff --git a/distrib/sets/lists/debug/md.ofppc b/distrib/sets/lists/debug/md.ofppc new file mode 100644 index 000000000..56d71314e --- /dev/null +++ b/distrib/sets/lists/debug/md.ofppc @@ -0,0 +1,2 @@ +# $NetBSD: md.ofppc,v 1.2 2013/01/16 21:11:09 christos Exp $ +./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.pmax b/distrib/sets/lists/debug/md.pmax new file mode 100644 index 000000000..8f10d9731 --- /dev/null +++ b/distrib/sets/lists/debug/md.pmax @@ -0,0 +1 @@ +# $NetBSD: md.pmax,v 1.2 2013/01/16 21:11:09 christos Exp $ diff --git a/distrib/sets/lists/debug/md.prep b/distrib/sets/lists/debug/md.prep new file mode 100644 index 000000000..2fb79f513 --- /dev/null +++ b/distrib/sets/lists/debug/md.prep @@ -0,0 +1,3 @@ +# $NetBSD: md.prep,v 1.2 2013/01/16 21:11:09 christos Exp $ +./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.rs6000 b/distrib/sets/lists/debug/md.rs6000 new file mode 100644 index 000000000..2e6445340 --- /dev/null +++ b/distrib/sets/lists/debug/md.rs6000 @@ -0,0 +1,2 @@ +# $NetBSD: md.rs6000,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/usr/mdec/mkbootimage.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.sgimips b/distrib/sets/lists/debug/md.sgimips new file mode 100644 index 000000000..08d89f616 --- /dev/null +++ b/distrib/sets/lists/debug/md.sgimips @@ -0,0 +1,2 @@ +# $NetBSD: md.sgimips,v 1.2 2013/01/16 21:11:09 christos Exp $ +./usr/libdata/debug/usr/mdec/sgivol.debug -unknown- debug diff --git a/distrib/sets/lists/debug/md.sparc b/distrib/sets/lists/debug/md.sparc new file mode 100644 index 000000000..919285c97 --- /dev/null +++ b/distrib/sets/lists/debug/md.sparc @@ -0,0 +1,10 @@ +# $NetBSD: md.sparc,v 1.2 2013/01/16 21:11:09 christos Exp $ +./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete +./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/lib/libsparc_v8.so.0.0.debug comp-sys-debug debug,pic +./usr/libdata/debug/usr/sbin/apm.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/apmd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/tadpolectl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.sparc64 b/distrib/sets/lists/debug/md.sparc64 new file mode 100644 index 000000000..6e4cbbbf0 --- /dev/null +++ b/distrib/sets/lists/debug/md.sparc64 @@ -0,0 +1,328 @@ +# $NetBSD: md.sparc64,v 1.37 2013/11/08 19:21:01 christos Exp $ +./usr/lib/sparc/i18n/libBIG5_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libDECHanyu_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libEUCTW_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libEUC_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libGBK2K_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libHZ_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libISO2022_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libJOHAB_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libMSKanji_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libUES_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libUTF1632_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libUTF7_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libUTF8_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libVIQR_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libZW_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libiconv_none_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libiconv_std_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libmapper_646_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libmapper_none_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libmapper_parallel_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libmapper_serial_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libmapper_std_g.a comp-obsolete obsolete +./usr/lib/sparc/i18n/libmapper_zone_g.a comp-obsolete obsolete +./usr/lib/sparc/libamu_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libarchive_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libasn1_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libatf-c++_g.a comp-c-debuglib compat,debuglib,atf +./usr/lib/sparc/libatf-c_g.a comp-c-debuglib compat,debuglib,atf +./usr/lib/sparc/libbfd_g.a comp-obsolete obsolete +./usr/lib/sparc/libbind9_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libbluetooth_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libbsdmalloc_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libbz2_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libc_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libcom_err_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libcompat_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libcrypt_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libcrypto_g.a comp-c-debuglib compat,crypto,debuglib +./usr/lib/sparc/libcrypto_idea_g.a comp-obsolete obsolete +./usr/lib/sparc/libcrypto_mdc2_g.a comp-obsolete obsolete +./usr/lib/sparc/libcrypto_rc5_g.a comp-c-debuglib compat,crypto,crypto_rc5,debuglib +./usr/lib/sparc/libcurses_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libdes_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libdevmapper_g.a comp-c-debuglib compat,debuglib,lvm +./usr/lib/sparc/libdm_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libdns_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libdns_sd_g.a comp-c-debuglib compat,debuglib,mdns +./usr/lib/sparc/libdwarf_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libedit_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libelf_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libevent_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libevent_openssl_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libevent_pthreads_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libexecinfo_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libexpat_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libfetch_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libfl_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libform_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libgcc_eh_g.a comp-c-debuglib compat,debuglib,pic,gcccmds +./usr/lib/sparc/libgcc_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/sparc/libgcc_s_g.a comp-obsolete obsolete +./usr/lib/sparc/libgcov_g.a comp-obsolete obsolete +./usr/lib/sparc/libgmp_g.a comp-c-debuglib obsolete +./usr/lib/sparc/libgnumalloc_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libgomp_g.a comp-c-debuglib compat,debuglib,gcc=45 +./usr/lib/sparc/libgomp_g.a comp-c-debuglib compat,debuglib,gcc=48 +./usr/lib/sparc/libgssapi_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libhdb_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libheimbase_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libheimntlm_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libhx509_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libiberty_g.a comp-obsolete obsolete +./usr/lib/sparc/libintl_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libipsec_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libisc_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libisccc_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libisccfg_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libiscsi_g.a comp-c-debuglib compat,debuglib,iscsi +./usr/lib/sparc/libisns_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libkadm5clnt_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libkadm5srv_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libkafs_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libkdc_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libkrb5_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libkvm_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libl_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/liblber_g.a comp-c-debuglib compat,debuglib,ldap +./usr/lib/sparc/libldap_g.a comp-c-debuglib compat,debuglib,ldap +./usr/lib/sparc/libldap_r_g.a comp-c-debuglib compat,debuglib,ldap +./usr/lib/sparc/liblua_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/liblutok_g.a comp-c-debuglib compat,debuglib,kyua +./usr/lib/sparc/liblutok_g.a comp-c-debuglib compat,debuglib,kyua +./usr/lib/sparc/liblwres_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/liblzf_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/liblzma_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libm_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libmagic_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libmenu_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libmj_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libmpc_g.a comp-c-debuglib obsolete +./usr/lib/sparc/libmpfr_g.a comp-c-debuglib obsolete +./usr/lib/sparc/libnetpgp_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libnetpgpverify_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libnpf_g.a comp-c-debuglib compat,debuglib,npf +./usr/lib/sparc/libobjc_g.a comp-c-debuglib compat,debuglib,gcccmds +./usr/lib/sparc/libopcodes_g.a comp-obsolete obsolete +./usr/lib/sparc/libossaudio_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libp2k_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/libpam_g.a comp-obsolete obsolete +./usr/lib/sparc/libpcap_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libpci_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libperfuse_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libposix_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libppath_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libprop_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libpthread_dbg_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libpthread_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libpuffs_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libquota_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libradius_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/librefuse_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libresolv_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/librmt_g.a comp-obsolete obsolete +./usr/lib/sparc/libroken_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/librpcsvc_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/librt_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/librump_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/librumpclient_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/librumpcrypto_g.a comp-obsolete obsolete,rump +./usr/lib/sparc/librumpdev_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/librumphijack_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/librumpnet_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/librumpuser_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/librumpvfs_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/libsaslc_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libsdp_g.a comp-obsolete obsolete +./usr/lib/sparc/libskey_g.a comp-c-debuglib compat,debuglib,skey +./usr/lib/sparc/libsl_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libsqlite3_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libss_g.a comp-c-debuglib obsolete +./usr/lib/sparc/libssh_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libssl_g.a comp-c-debuglib compat,debuglib,crypto +./usr/lib/sparc/libstdc++_g.a comp-c-debuglib compat,debuglib,cxx,gcccmds,libstdcxx +./usr/lib/sparc/libsupc++_g.a comp-c-debuglib compat,debuglib,gcccmds,libstdcxx +./usr/lib/sparc/libtermcap_g.a obsolete compat,obsolete +./usr/lib/sparc/libterminfo_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libtermlib_g.a obsolete compat,obsolete +./usr/lib/sparc/libtre_g.a obsolete compat,obsolete +./usr/lib/sparc/libukfs_g.a comp-c-debuglib compat,debuglib,rump +./usr/lib/sparc/libusbhid_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libutil_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libvers_g.a comp-obsolete obsolete +./usr/lib/sparc/libwind_g.a comp-c-debuglib compat,debuglib,kerberos +./usr/lib/sparc/libwrap_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/liby_g.a comp-c-debuglib compat,debuglib +./usr/lib/sparc/libz_g.a comp-c-debuglib compat,debuglib +./usr/libdata/debug/lib/sparc/npf/ext_log.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/lib/sparc/npf/ext_normalize.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/lib/sparc/npf/ext_rndblock.so.0.0.debug comp-npf-debug debug,compat +./usr/libdata/debug/libexec/ld.elf_so-sparc.debug comp-sys-debug debug,compat +./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete +./usr/libdata/debug/usr/bin/fdformat.debug comp-util-debug debug +./usr/libdata/debug/usr/lib/sparc/i18n/libBIG5.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libDECHanyu.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libEUC.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libEUCTW.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libGBK2K.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libHZ.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libISO2022.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libJOHAB.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libMSKanji.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libUES.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libUTF1632.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libUTF7.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libUTF8.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libVIQR.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libZW.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_none.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libiconv_std.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_646.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_none.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_parallel.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_serial.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_std.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/i18n/libmapper_zone.so.5.0.debug comp-i18n-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libamu.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libarchive.so.3.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libasn1.so.8.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libasn1.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libatf-c++.so.0.0.debug comp-compat-shlib compat,pic,atf,debug +./usr/libdata/debug/usr/lib/sparc/libatf-c.so.0.0.debug comp-compat-shlib compat,pic,atf,debug +./usr/libdata/debug/usr/lib/sparc/libbfd.so.13.0.debug comp-compat-shlib compat,pic,binutils,debug +./usr/libdata/debug/usr/lib/sparc/libbind9.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libbluetooth.so.4.2.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libbsdmalloc.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libbz2.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libc.so.12.187.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libcom_err.so.6.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libcom_err.so.7.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libcrypt.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libcrypto.so.8.1.debug comp-compat-shlib compat,pic,debug,crypto +./usr/libdata/debug/usr/lib/sparc/libcrypto_rc5.so.7.0.debug comp-compat-shlib compat,pic,debug,crypto,crypto_rc5 +./usr/libdata/debug/usr/lib/sparc/libcurses.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libdes.so.8.1.debug comp-compat-shlib compat,pic,debug,crypto +./usr/libdata/debug/usr/lib/sparc/libdevmapper.so.1.0.debug comp-compat-shlib compat,pic,debug,lvm +./usr/libdata/debug/usr/lib/sparc/libdm.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libdns.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libdns_sd.so.0.0.debug comp-compat-shlib compat,pic,debug,mdns +./usr/libdata/debug/usr/lib/sparc/libdwarf.so.0.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libedit.so.3.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libelf.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libevent.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libevent_openssl.so.4.0.debug comp-compat-shlib compat,pic,debug,crypto +./usr/libdata/debug/usr/lib/sparc/libevent_pthreads.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libexecinfo.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libexpat.so.2.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libfetch.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libform.so.6.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libgcc_s.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libgnumalloc.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libgomp.so.1.0.debug comp-compat-shlib compat,pic,debug,gcc=45 +./usr/libdata/debug/usr/lib/sparc/libgomp.so.1.1.debug comp-compat-shlib compat,pic,debug,gcc=48 +./usr/libdata/debug/usr/lib/sparc/libgssapi.so.10.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libgssapi.so.9.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libhdb.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libhdb.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libheimbase.so.1.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libheimntlm.so.3.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libheimntlm.so.4.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libhx509.so.5.0.debug comp-compat-shlib compat,pic,debug,kerberos +./usr/libdata/debug/usr/lib/sparc/libintl.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libipsec.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libisc.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libisc.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libisccc.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libisccc.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libisccfg.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libisccfg.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libiscsi.so.2.0.debug comp-compat-shlib compat,pic,debug,iscsi +./usr/libdata/debug/usr/lib/sparc/libisns.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libkadm5clnt.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libkadm5clnt.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libkadm5srv.so.13.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libkadm5srv.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libkafs.so.11.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libkafs.so.12.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libkdc.so.2.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libkrb5.so.24.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libkrb5.so.26.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libkvm.so.6.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/liblber.so.3.2.debug comp-compat-shlib compat,pic,debug,ldap +./usr/libdata/debug/usr/lib/sparc/libldap.so.4.2.debug comp-compat-shlib compat,pic,debug,ldap +./usr/libdata/debug/usr/lib/sparc/libldap_r.so.4.2.debug comp-compat-shlib compat,pic,debug,ldap +./usr/libdata/debug/usr/lib/sparc/liblua.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/liblutok.so.1.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/sparc/liblutok.so.2.0.debug comp-compat-shlib compat,pic,debug,kyua +./usr/libdata/debug/usr/lib/sparc/liblwres.so.6.0.debug comp-compat-shlib compat,pic,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/liblwres.so.7.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/liblzf.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/liblzma.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libm.so.0.10.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libmagic.so.5.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libmenu.so.6.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libmj.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libnetpgp.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libnetpgpverify.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libnpf.so.0.0.debug comp-compat-shlib compat,pic,debug,npf +./usr/libdata/debug/usr/lib/sparc/libobjc.so.3.0.debug comp-compat-shlib gcc=4,compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libobjc.so.3.0.debug comp-compat-shlib gcc=45,compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libobjc.so.4.0.debug comp-compat-shlib gcc=48,compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libopcodes.so.6.0.debug comp-compat-shlib compat,pic,binutils,debug +./usr/libdata/debug/usr/lib/sparc/libossaudio.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libp2k.so.2.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/libpam.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libpcap.so.5.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libpci.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libposix.so.0.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libppath.so.0.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libprop.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libpthread.so.1.2.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libpthread_dbg.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libpuffs.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libquota.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libradius.so.4.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/librefuse.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libresolv.so.3.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libroken.so.14.0.debug comp-compat-shlib compat,pic,kerberos,debug,obsolete +./usr/libdata/debug/usr/lib/sparc/libroken.so.19.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/librpcsvc.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/librt.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/librump.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/librumpclient.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/librumpcrypto.so.0.0.debug comp-obsolete obsolete,rump +./usr/libdata/debug/usr/lib/sparc/librumpdev.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/librumphijack.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/librumpnet.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/librumpuser.so.0.1.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/librumpvfs.so.0.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/libsaslc.so.0.0.debug comp-compat-shlib compat,pic,debug,crypto +./usr/libdata/debug/usr/lib/sparc/libskey.so.2.0.debug comp-compat-shlib compat,pic,debug,skey +./usr/libdata/debug/usr/lib/sparc/libsl.so.5.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libsqlite3.so.1.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libss.so.6.0.debug comp-compat-shlib obsolete +./usr/libdata/debug/usr/lib/sparc/libssh.so.22.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libssl.so.10.1.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libstdc++.so.7.0.debug comp-compat-shlib gcc=4,compat,pic,debug,libstdcxx +./usr/libdata/debug/usr/lib/sparc/libstdc++.so.7.1.debug comp-compat-shlib gcc=45,compat,pic,debug,libstdcxx +./usr/libdata/debug/usr/lib/sparc/libstdc++.so.7.2.debug comp-compat-shlib gcc=48,compat,pic,debug,libstdcxx +./usr/libdata/debug/usr/lib/sparc/libterminfo.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libtre.so.0.8.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libukfs.so.1.0.debug comp-compat-shlib compat,pic,debug,rump +./usr/libdata/debug/usr/lib/sparc/libusbhid.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libutil.so.7.21.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libwind.so.0.0.debug comp-compat-shlib compat,pic,kerberos,debug +./usr/libdata/debug/usr/lib/sparc/libwrap.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libz.so.1.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/npf/ext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/sparc/npf/ext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/sparc/npf/ext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/sparc/npf/libext_log.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/sparc/npf/libext_normalise.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/sparc/npf/libext_rndblock.so.0.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/ld.elf_so-sparc.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/libexec/ld.elf_so.sparc comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ofctl.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.sun2 b/distrib/sets/lists/debug/md.sun2 new file mode 100644 index 000000000..ad62081d2 --- /dev/null +++ b/distrib/sets/lists/debug/md.sun2 @@ -0,0 +1,2 @@ +# $NetBSD: md.sun2,v 1.1 2013/01/16 16:01:07 christos Exp $ +./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete diff --git a/distrib/sets/lists/debug/md.sun3 b/distrib/sets/lists/debug/md.sun3 new file mode 100644 index 000000000..f83ef9560 --- /dev/null +++ b/distrib/sets/lists/debug/md.sun3 @@ -0,0 +1,3 @@ +# $NetBSD: md.sun3,v 1.2 2013/01/16 21:11:10 christos Exp $ +./usr/libdata/debug/sbin/edlabel.debug comp-sysutil-debug obsolete +./usr/libdata/debug/usr/sbin/eeprom.debug comp-sysutil-debug debug diff --git a/distrib/sets/lists/debug/md.vax b/distrib/sets/lists/debug/md.vax new file mode 100644 index 000000000..965ffe889 --- /dev/null +++ b/distrib/sets/lists/debug/md.vax @@ -0,0 +1,2 @@ +# $NetBSD: md.vax,v 1.2 2013/01/16 21:11:10 christos Exp $ +./usr/libdata/debug/sbin/ldconfig.debug comp-sysutil-debug debug,pic diff --git a/distrib/sets/lists/debug/md.x68k b/distrib/sets/lists/debug/md.x68k new file mode 100644 index 000000000..7592cef1e --- /dev/null +++ b/distrib/sets/lists/debug/md.x68k @@ -0,0 +1,11 @@ +# $NetBSD: md.x68k,v 1.3 2013/05/24 18:06:05 christos Exp $ +./usr/libdata/debug/usr/bin/bellctrl.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/loadfont.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/loadkmap.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/palette.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/rtcalarm.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/tvctrl.debug comp-util-debug debug +./usr/libdata/debug/usr/mdec/installboot.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/mdec/newdisk.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/memswitch.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/poffd.debug comp-obsolete obsolete diff --git a/distrib/sets/lists/debug/mi b/distrib/sets/lists/debug/mi new file mode 100644 index 000000000..05a9e294c --- /dev/null +++ b/distrib/sets/lists/debug/mi @@ -0,0 +1,2142 @@ +# $NetBSD: mi,v 1.43 2013/11/16 13:01:38 alnsn Exp $ + +./etc/mtree/set.debug comp-sys-root +./usr/lib/i18n/libBIG5_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libDECHanyu_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libEUCTW_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libEUC_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libGBK2K_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libHZ_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libISO2022_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libJOHAB_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libMSKanji_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libUES_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libUTF1632_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libUTF7_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libUTF8_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libVIQR_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libZW_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libiconv_none_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libiconv_std_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libmapper_646_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libmapper_none_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libmapper_parallel_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libmapper_serial_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libmapper_std_g.a comp-c-debuglib debuglib +./usr/lib/i18n/libmapper_zone_g.a comp-c-debuglib debuglib +./usr/lib/libamu_g.a comp-c-debuglib debuglib +./usr/lib/libarchive_g.a comp-c-debuglib debuglib +./usr/lib/libasn1_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libatf-c++_g.a comp-c-debuglib atf,debuglib +./usr/lib/libatf-c_g.a comp-c-debuglib atf,debuglib +./usr/lib/libavl_g.a comp-c-debuglib debuglib,zfs +./usr/lib/libbfd_g.a comp-c-debuglib debuglib,binutils +./usr/lib/libbind9_g.a comp-c-debuglib debuglib +./usr/lib/libbluetooth_g.a comp-c-debuglib debuglib +./usr/lib/libbsdmalloc_g.a comp-c-debuglib debuglib +./usr/lib/libbz2_g.a comp-c-debuglib debuglib +./usr/lib/libc_g.a comp-c-debuglib debuglib +./usr/lib/libcom_err_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libcompat_g.a comp-c-debuglib debuglib +./usr/lib/libcrypt_g.a comp-c-debuglib debuglib +./usr/lib/libcrypto_g.a comp-c-debuglib debuglib,crypto +./usr/lib/libcrypto_idea_g.a comp-obsolete obsolete +./usr/lib/libcrypto_mdc2_g.a comp-obsolete obsolete +./usr/lib/libcrypto_rc5_g.a comp-c-debuglib debuglib,crypto_rc5 +./usr/lib/libctf_g.a comp-c-debuglib dtrace,debuglib +./usr/lib/libcurses_g.a comp-c-debuglib debuglib +./usr/lib/libdes_g.a comp-c-debuglib debuglib,crypto +./usr/lib/libdevmapper_g.a comp-c-debuglib debuglib,lvm +./usr/lib/libdm_g.a comp-c-debuglib debuglib +./usr/lib/libdns_g.a comp-c-debuglib debuglib +./usr/lib/libdns_sd_g.a comp-c-debuglib debuglib,mdns +./usr/lib/libdtrace_g.a comp-c-debuglib dtrace,debuglib +./usr/lib/libdwarf_g.a comp-c-debuglib debuglib +./usr/lib/libedit_g.a comp-c-debuglib debuglib +./usr/lib/libelf_g.a comp-c-debuglib debuglib +./usr/lib/libevent_g.a comp-c-debuglib debuglib +./usr/lib/libevent_openssl_g.a comp-c-debuglib debuglib,crypto +./usr/lib/libevent_pthreads_g.a comp-c-debuglib debuglib +./usr/lib/libexecinfo_g.a comp-c-debuglib debuglib +./usr/lib/libexpat_g.a comp-c-debuglib debuglib +./usr/lib/libfetch_g.a comp-c-debuglib debuglib +./usr/lib/libfl_g.a comp-c-debuglib debuglib +./usr/lib/libform_g.a comp-c-debuglib debuglib +./usr/lib/libgcc_eh_g.a comp-c-debuglib debuglib,gcccmds +./usr/lib/libgcc_g.a comp-c-debuglib debuglib,gcccmds +./usr/lib/libgcc_s_g.a comp-c-debuglib debuglib,gcccmds +./usr/lib/libgcov_g.a comp-c-debuglib debuglib,gcccmds +./usr/lib/libgnumalloc_g.a comp-c-debuglib debuglib +./usr/lib/libgomp_g.a comp-c-debuglib debuglib,gcc=45 +./usr/lib/libgomp_g.a comp-c-debuglib debuglib,gcc=48 +./usr/lib/libgssapi_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libhdb_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libheimbase_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libheimntlm_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libhx509_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libiberty_g.a comp-c-debuglib debuglib,binutils +./usr/lib/libintl_g.a comp-c-debuglib debuglib +./usr/lib/libipsec_g.a comp-c-debuglib debuglib +./usr/lib/libisc_g.a comp-c-debuglib debuglib +./usr/lib/libisccc_g.a comp-c-debuglib debuglib +./usr/lib/libisccfg_g.a comp-c-debuglib debuglib +./usr/lib/libiscsi_g.a comp-c-debuglib debuglib,iscsi +./usr/lib/libisns_g.a comp-c-debuglib debuglib +./usr/lib/libkadm5clnt_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libkadm5srv_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libkafs_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libkdc_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libkrb5_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/libkvm_g.a comp-c-debuglib debuglib +./usr/lib/libl_g.a comp-c-debuglib debuglib +./usr/lib/liblber_g.a comp-c-debuglib debuglib,ldap +./usr/lib/libldap_g.a comp-c-debuglib debuglib,ldap +./usr/lib/libldap_r_g.a comp-c-debuglib debuglib,ldap +./usr/lib/liblua_g.a comp-c-debuglib debuglib +./usr/lib/liblwres_g.a comp-c-debuglib debuglib +./usr/lib/liblzf_g.a comp-c-debuglib debuglib +./usr/lib/liblzma_g.a comp-c-debuglib debuglib +./usr/lib/libm_g.a comp-c-debuglib debuglib +./usr/lib/libmagic_g.a comp-c-debuglib debuglib +./usr/lib/libmenu_g.a comp-c-debuglib debuglib +./usr/lib/libmj_g.a comp-c-debuglib debuglib +./usr/lib/libmudflap_g.a comp-c-debuglib gcc=45,debuglib +./usr/lib/libmudflap_g.a comp-c-debuglib gcc=48,debuglib +./usr/lib/libmudflapth_g.a comp-c-debuglib gcc=45,debuglib +./usr/lib/libmudflapth_g.a comp-c-debuglib gcc=48,debuglib +./usr/lib/libnetpgp_g.a comp-c-debuglib debuglib +./usr/lib/libnetpgpverify_g.a comp-c-debuglib debuglib +./usr/lib/libnpf_g.a comp-c-debuglib debuglib +./usr/lib/libnvpair_g.a comp-c-debuglib debuglib,zfs +./usr/lib/libobjc_g.a comp-c-debuglib debuglib,gcccmds +./usr/lib/libopcodes_g.a comp-obsolete debuglib,binutils +./usr/lib/libopenpgpsdk_g.a comp-obsolete obsolete +./usr/lib/libossaudio_g.a comp-c-debuglib debuglib +./usr/lib/libp2k_g.a comp-c-debuglib debuglib,rump +./usr/lib/libpam_g.a comp-c-debuglib pam,debuglib +./usr/lib/libpcap_g.a comp-c-debuglib debuglib +./usr/lib/libpcc_g.a comp-c-debuglib obsolete +./usr/lib/libpci_g.a comp-c-debuglib debuglib +./usr/lib/libperfuse_g.a comp-c-debuglib debuglib +./usr/lib/libposix_g.a comp-c-debuglib debuglib +./usr/lib/libppath_g.a comp-c-debuglib debuglib +./usr/lib/libprop_g.a comp-c-debuglib debuglib +./usr/lib/libpthread_dbg_g.a comp-c-debuglib debuglib +./usr/lib/libpthread_g.a comp-c-debuglib debuglib +./usr/lib/libpuffs_g.a comp-c-debuglib debuglib +./usr/lib/libquota_g.a comp-c-debuglib debuglib +./usr/lib/libradius_g.a comp-c-debuglib debuglib +./usr/lib/librefuse_g.a comp-c-debuglib debuglib +./usr/lib/libresolv_g.a comp-c-debuglib debuglib +./usr/lib/librmt_g.a comp-c-debuglib debuglib +./usr/lib/libroken_g.a comp-c-debuglib debuglib,kerberos +./usr/lib/librpcsvc_g.a comp-c-debuglib debuglib +./usr/lib/librt_g.a comp-c-debuglib debuglib +./usr/lib/librump_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpclient_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpcrypto_g.a comp-obsolete obsolete +./usr/lib/librumpdev_audio_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_bpf_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_cgd_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_disk_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_dm_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_drvctl_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_fss_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_md_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_netsmb_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_pad_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_pud_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_putter_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_raidframe_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_rnd_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_scsipi_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_scsitest_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_sysmon_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_ubt_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_ucom_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_ugenhc_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_ulpt_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_umass_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_usb_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpdev_wscons_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_cd9660_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_efs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_ext2fs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_fdesc_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_ffs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_hfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_kernfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_lfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_mfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_msdos_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_nfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_nfsserver_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_nilfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_ntfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_null_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_nullfs_g.a comp-obsolete obsolete +./usr/lib/librumpfs_ptyfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_smbfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_syspuffs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_sysvbfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_tmpfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_udf_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_ufs_g.a comp-obsolete obsolete +./usr/lib/librumpfs_umap_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_umapfs_g.a comp-obsolete obsolete +./usr/lib/librumpfs_union_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_v7fs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpfs_zfs_g.a comp-c-debuglib zfs,debuglib,rump +./usr/lib/librumphijack_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpkern_crypto_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpkern_ksem_g.a comp-obsolete obsolete +./usr/lib/librumpkern_sljit_g.a comp-c-debuglib debuglib,sljit,rump +./usr/lib/librumpkern_solaris_g.a comp-c-debuglib debuglib,zfs,rump +./usr/lib/librumpkern_tty_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpkern_z_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_agr_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_bpfjit_g.a comp-c-debuglib debuglib,sljit,rump +./usr/lib/librumpnet_bridge_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_local_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_net80211_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_net_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_netbt_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_netinet6_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_netinet_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_netmpls_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_npf_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_shmif_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_sockin_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpnet_virtif_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpuser_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpvfs_fifofs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpvfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/librumpvfs_layerfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/libsaslc_g.a comp-c-debuglib crypto,debuglib +./usr/lib/libsdp_g.a comp-obsolete obsolete +./usr/lib/libskey_g.a comp-c-debuglib debuglib,skey +./usr/lib/libsl_g.a comp-c-debuglib kerberos,debuglib +./usr/lib/libsqlite3_g.a comp-c-debuglib debuglib +./usr/lib/libss_g.a comp-c-debuglib obsolete +./usr/lib/libssh_g.a comp-c-debuglib debuglib +./usr/lib/libssl_g.a comp-c-debuglib debuglib +./usr/lib/libstdc++_g.a comp-c-debuglib debuglib,cxx,gcccmds,libstdcxx +./usr/lib/libsupc++_g.a comp-c-debuglib debuglib,cxx,gcccmds,libstdcxx +./usr/lib/libtddl_g.a comp-c-debuglib tpm,debuglib +./usr/lib/libtermcap_g.a comp-obsolete obsolete +./usr/lib/libterminfo_g.a comp-c-debuglib debuglib +./usr/lib/libtpm_unseal_g.a comp-c-debuglib tpm,debug +./usr/lib/libtre_g.a comp-c-debuglib debuglib +./usr/lib/libtspi_g.a comp-c-debuglib tpm,debuglib +./usr/lib/libukfs_g.a comp-c-debuglib debuglib,rump +./usr/lib/libumem_g.a comp-c-debuglib debuglib,zfs +./usr/lib/libusbhid_g.a comp-c-debuglib debuglib +./usr/lib/libutil_g.a comp-c-debuglib debuglib +./usr/lib/libuutil_g.a comp-c-debuglib debuglib,zfs +./usr/lib/libvers_g.a comp-c-debuglib kerberos,debuglib +./usr/lib/libwind_g.a comp-c-debuglib kerberos,debuglib +./usr/lib/libwrap_g.a comp-c-debuglib debuglib +./usr/lib/liby_g.a comp-c-debuglib debuglib +./usr/lib/libz_g.a comp-c-debuglib debuglib +./usr/lib/libzfs_g.a comp-c-debuglib debuglib,zfs +./usr/lib/libzpool_g.a comp-c-debuglib debuglib,zfs +./usr/libdata/debug/bin/cat.debug comp-util-debug debug +./usr/libdata/debug/bin/chio.debug comp-util-debug debug +./usr/libdata/debug/bin/chmod.debug comp-util-debug debug +./usr/libdata/debug/bin/cp.debug comp-util-debug debug +./usr/libdata/debug/bin/csh.debug comp-util-debug debug +./usr/libdata/debug/bin/date.debug comp-util-debug debug +./usr/libdata/debug/bin/dd.debug comp-util-debug debug +./usr/libdata/debug/bin/df.debug comp-util-debug debug +./usr/libdata/debug/bin/domainname.debug comp-nis-debug debug +./usr/libdata/debug/bin/echo.debug comp-util-debug debug +./usr/libdata/debug/bin/ed.debug comp-util-debug debug +./usr/libdata/debug/bin/expr.debug comp-util-debug debug +./usr/libdata/debug/bin/hostname.debug comp-util-debug debug +./usr/libdata/debug/bin/kill.debug comp-util-debug debug +./usr/libdata/debug/bin/ksh.debug comp-util-debug debug +./usr/libdata/debug/bin/ln.debug comp-util-debug debug +./usr/libdata/debug/bin/ls.debug comp-util-debug debug +./usr/libdata/debug/bin/mkdir.debug comp-util-debug debug +./usr/libdata/debug/bin/mt.debug comp-util-debug debug +./usr/libdata/debug/bin/mv.debug comp-util-debug debug +./usr/libdata/debug/bin/pax.debug comp-util-debug debug +./usr/libdata/debug/bin/ps.debug comp-util-debug debug +./usr/libdata/debug/bin/pwd.debug comp-util-debug debug +./usr/libdata/debug/bin/rcmd.debug comp-netutil-debug debug +./usr/libdata/debug/bin/rcp.debug comp-netutil-debug debug +./usr/libdata/debug/bin/rm.debug comp-util-debug debug +./usr/libdata/debug/bin/rmdir.debug comp-util-debug debug +./usr/libdata/debug/bin/rump.dd.debug comp-util-debug debug,rump +./usr/libdata/debug/bin/sh.debug comp-util-debug debug +./usr/libdata/debug/bin/sleep.debug comp-util-debug debug +./usr/libdata/debug/bin/stty.debug comp-util-debug debug +./usr/libdata/debug/bin/sync.debug comp-util-debug debug +./usr/libdata/debug/bin/systrace.debug comp-obsolete obsolete +./usr/libdata/debug/bin/test.debug comp-util-debug debug +./usr/libdata/debug/libexec/lfs_cleanerd.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/amrctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/apmlabel.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/atactl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/badsect.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/bioctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/brconfig.debug comp-netutil-debug debug +./usr/libdata/debug/sbin/ccdconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/cgdconfig.debug comp-sysutil-debug crypto,debug +./usr/libdata/debug/sbin/chown.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/clri.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/devpubd.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dhclient.debug comp-dhclient-debug debug +./usr/libdata/debug/sbin/dhcpcd.debug comp-dhcpcd-debug debug +./usr/libdata/debug/sbin/disklabel.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dkctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dkscan_bsdlabel.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dmctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dmesg.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dmsetup.debug comp-sysutil-debug lvm,debug +./usr/libdata/debug/sbin/drvctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dump.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/dump_lfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fdisk.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsck.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsck_ext2fs.debug comp-ext2fs-debug debug +./usr/libdata/debug/sbin/fsck_ffs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsck_lfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsck_msdos.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsck_v7fs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsdb.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/fsirand.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/gpt.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/ifconfig.debug comp-netutil-debug debug +./usr/libdata/debug/sbin/init.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/ipf.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/sbin/iscsictl.debug comp-iscsi-debug iscsi,debug +./usr/libdata/debug/sbin/iscsid.debug comp-iscsi-debug iscsi,debug +./usr/libdata/debug/sbin/luactl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/lvm.debug comp-sysutil-debug lvm,debug +./usr/libdata/debug/sbin/mbrlabel.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mknod.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/modload.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/modstat.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/modunload.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_ados.debug comp-adosfs-debug debug +./usr/libdata/debug/sbin/mount_cd9660.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_chfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_efs.debug comp-efs-debug debug +./usr/libdata/debug/sbin/mount_ext2fs.debug comp-ext2fs-debug debug +./usr/libdata/debug/sbin/mount_fdesc.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_ffs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_filecore.debug comp-filecorefs-debug debug +./usr/libdata/debug/sbin/mount_hfs.debug comp-hfs-debug debug +./usr/libdata/debug/sbin/mount_kernfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_lfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_msdos.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_nfs.debug comp-nfsclient-debug debug +./usr/libdata/debug/sbin/mount_nilfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_ntfs.debug comp-ntfs-debug debug +./usr/libdata/debug/sbin/mount_null.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_overlay.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_portal.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_procfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_ptyfs.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_puffs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_smbfs.debug comp-smbfs-debug debug +./usr/libdata/debug/sbin/mount_sysvbfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_tmpfs.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_udf.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/mount_umap.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_union.debug comp-miscfs-debug debug +./usr/libdata/debug/sbin/mount_v7fs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs_ext2fs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs_lfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs_msdos.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs_sysvbfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs_udf.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/newfs_v7fs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/npfctl.debug comp-npf-debug npf,debug +./usr/libdata/debug/sbin/pdisk.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/pfctl.debug comp-pf-debug pf,debug +./usr/libdata/debug/sbin/pflogd.debug comp-pf-debug pf,debug +./usr/libdata/debug/sbin/pfs.debug comp-pf-debug pf,debug +./usr/libdata/debug/sbin/ping.debug comp-netutil-debug debug +./usr/libdata/debug/sbin/ping6.debug comp-netutil-debug use_inet6,debug +./usr/libdata/debug/sbin/pppoectl.debug comp-netutil-debug debug +./usr/libdata/debug/sbin/raidctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/rcorder.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/reboot.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/resize_ffs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/resize_lfs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/restore.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/rndctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/route.debug comp-netutil-debug debug +./usr/libdata/debug/sbin/routed.debug comp-router-debug debug +./usr/libdata/debug/sbin/rtsol.debug comp-netutil-debug use_inet6,debug +./usr/libdata/debug/sbin/rump.cgdconfig.debug comp-sysutil-debug crypto,debug,rump +./usr/libdata/debug/sbin/rump.ifconfig.debug comp-netutil-debug debug,rump +./usr/libdata/debug/sbin/rump.modload.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/sbin/rump.modstat.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/sbin/rump.modunload.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/sbin/rump.ping.debug comp-netutil-debug debug,rump +./usr/libdata/debug/sbin/rump.raidctl.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/sbin/rump.route.debug comp-netutil-debug debug,rump +./usr/libdata/debug/sbin/rump.sysctl.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/sbin/savecore.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/scan_ffs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/scsictl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/setkey.debug comp-netutil-debug debug +./usr/libdata/debug/sbin/shutdown.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/slattach.debug comp-slip-debug debug +./usr/libdata/debug/sbin/svhlabel.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/swapctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/sysctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/tbrconfig.debug comp-router-debug debug +./usr/libdata/debug/sbin/ttyflags.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/tunefs.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/umount.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/veriexecctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/wdogctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/wsconsctl.debug comp-sysutil-debug debug +./usr/libdata/debug/sbin/zfs.debug comp-zfs-debug zfs,debug +./usr/libdata/debug/sbin/zpool.debug comp-zfs-debug zfs,debug +./usr/libdata/debug/usr/bin/addftinfo.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/addr2line.debug comp-debug-debug binutils,debug +./usr/libdata/debug/usr/bin/agrep.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/apply.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/apropos.debug comp-man-debug debug +./usr/libdata/debug/usr/bin/ar.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/arpaname.debug comp-bind-debug debug +./usr/libdata/debug/usr/bin/as.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/asa.debug comp-fortran-debug debug +./usr/libdata/debug/usr/bin/at.debug comp-cron-debug debug +./usr/libdata/debug/usr/bin/atf-check.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/atf-compile.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/atf-config.debug comp-atf-debug atf,!kyua,debug +./usr/libdata/debug/usr/bin/atf-config.debug comp-obsolete obsolete,kyua,debug +./usr/libdata/debug/usr/bin/atf-report.debug comp-atf-debug atf,!kyua,debug +./usr/libdata/debug/usr/bin/atf-report.debug comp-obsolete obsolete,kyua,debug +./usr/libdata/debug/usr/bin/atf-run.debug comp-atf-debug atf,!kyua,debug +./usr/libdata/debug/usr/bin/atf-run.debug comp-obsolete obsolete,kyua,debug +./usr/libdata/debug/usr/bin/atf-sh.debug comp-atf-debug atf,debug +./usr/libdata/debug/usr/bin/atf-version.debug comp-atf-debug atf,!kyua,debug +./usr/libdata/debug/usr/bin/atf-version.debug comp-obsolete obsolete,kyua,debug +./usr/libdata/debug/usr/bin/audiocfg.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/audioctl.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/audioplay.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/audiorecord.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/awk.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/banner.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/basename.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/bc.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/bdes.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/bin/biff.debug comp-mail-debug debug +./usr/libdata/debug/usr/bin/bthset.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/btkey.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/btpin.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/bzip2.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/bzip2recover.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/c++filt.debug comp-cxx-debug binutils,debug +./usr/libdata/debug/usr/bin/cal.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/calendar.debug comp-calendar-debug debug +./usr/libdata/debug/usr/bin/cap_mkdb.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/cdplay.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/checknr.debug comp-groff-debug debug +./usr/libdata/debug/usr/bin/chflags.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/chpass.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ci.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/cksum.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/clang-tblgen.debug comp-c-debug llvm,debug +./usr/libdata/debug/usr/bin/clang.debug comp-c-debug llvm,debug +./usr/libdata/debug/usr/bin/cmp.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/co.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/col.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/colcrt.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/colrm.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/column.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/comm.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/compile_et.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/compress.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/config.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/cpp.debug comp-util-debug gcccmds,debug +./usr/libdata/debug/usr/bin/crontab.debug comp-cron-debug debug +./usr/libdata/debug/usr/bin/crunchgen.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/crunchide.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/csplit.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/ctags.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/ctfconvert.debug comp-util-debug dtrace,debug +./usr/libdata/debug/usr/bin/ctfdump.debug comp-util-debug dtrace,debug +./usr/libdata/debug/usr/bin/ctfmerge.debug comp-util-debug dtrace,debug +./usr/libdata/debug/usr/bin/cut.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/cvs.debug comp-cvs-debug cvs,debug +./usr/libdata/debug/usr/bin/db.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/dc.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/deroff.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/diff.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/diff3.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/dig.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/dirname.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/dns-sd.debug comp-mdns-debug mdns,debug +./usr/libdata/debug/usr/bin/du.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/eject.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/elfedit.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/env.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/eqn.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/error.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/expand.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/f77.debug comp-fortran-debug gcc=3,gcccmds,debug +./usr/libdata/debug/usr/bin/fgen.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/file.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/fincore.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/find.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/finger.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/flock.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/fmt.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/fold.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/fort77.debug comp-fortran-debug gcc=3,gcccmds,debug +./usr/libdata/debug/usr/bin/fpr.debug comp-fortran-debug debug +./usr/libdata/debug/usr/bin/from.debug comp-mail-debug debug +./usr/libdata/debug/usr/bin/fsplit.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/fstat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ftp.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/g++.debug comp-cxx-debug gcccmds,debug +./usr/libdata/debug/usr/bin/g77.debug comp-fortran-debug gcc=3,gcccmds,debug +./usr/libdata/debug/usr/bin/gcc.debug comp-c-debug gcccmds,debug +./usr/libdata/debug/usr/bin/gcore.debug comp-debug-debug debug +./usr/libdata/debug/usr/bin/gcov.debug comp-debug-debug gcccmds,debug +./usr/libdata/debug/usr/bin/gdb.debug comp-debug-debug gdb,debug +./usr/libdata/debug/usr/bin/gdbtui.debug comp-debug-debug gdb,debug +./usr/libdata/debug/usr/bin/gencat.debug comp-locale-debug debug +./usr/libdata/debug/usr/bin/getconf.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/getent.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/getextattr.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/getopt.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/gettext.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/gkermit.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/gprof.debug comp-debug-debug binutils,debug +./usr/libdata/debug/usr/bin/grep.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/grn.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/grodvi.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/groff.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/grolbp.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/grolj4.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/grops.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/grotty.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/gss.debug comp-krb5-debug kerberos,debug,obsolete +./usr/libdata/debug/usr/bin/gsstool.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/gzip.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/head.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/hesinfo.debug comp-hesiod-debug hesiod,debug +./usr/libdata/debug/usr/bin/hexdump.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/host.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/hpftodit.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/hxtool.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/iconv.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/id.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ident.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/indent.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/indxbib.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/info.debug comp-texinfo-debug debug +./usr/libdata/debug/usr/bin/infocmp.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/infokey.debug comp-texinfo-debug debug +./usr/libdata/debug/usr/bin/innetgr.debug comp-nis-debug debug +./usr/libdata/debug/usr/bin/install-info.debug comp-texinfo-debug debug +./usr/libdata/debug/usr/bin/install.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ipcrm.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ipcs.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/join.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/jot.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/kcc.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/kdestroy.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/kdump.debug comp-debug-debug debug +./usr/libdata/debug/usr/bin/kgetcred.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/kinit.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/klist.debug comp-krb5-debug kerberos,debug,obsolete +./usr/libdata/debug/usr/bin/kpasswd.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/ktrace.debug comp-debug-debug debug +./usr/libdata/debug/usr/bin/ktruss.debug comp-debug-debug debug +./usr/libdata/debug/usr/bin/kyua.debug comp-kyua-debug kyua,debug +./usr/libdata/debug/usr/bin/lam.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/last.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lastcomm.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ld.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/ldapcompare.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapdelete.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapexop.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapmodify.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapmodrdn.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldappasswd.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapsearch.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapurl.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldapwhoami.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/bin/ldd.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/leave.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/less.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lessecho.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lesskey.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lex.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/lint.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/lkbib.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/llvm-tblgen.debug comp-c-debug llvm,debug +./usr/libdata/debug/usr/bin/locale.debug comp-locale-debug debug +./usr/libdata/debug/usr/bin/locate.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lock.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/logger.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/login.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/logname.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/look.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lookbib.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/lpq.debug comp-lpr-debug debug +./usr/libdata/debug/usr/bin/lpr.debug comp-lpr-debug debug +./usr/libdata/debug/usr/bin/lprm.debug comp-lpr-debug debug +./usr/libdata/debug/usr/bin/lua.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/luac.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lzf.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/lzmainfo.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/m4.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/mail.debug comp-mail-debug debug +./usr/libdata/debug/usr/bin/make.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/makeinfo.debug comp-texinfo-debug debug +./usr/libdata/debug/usr/bin/man.debug comp-man-debug debug +./usr/libdata/debug/usr/bin/mandoc.debug comp-mdocml-debug debug +./usr/libdata/debug/usr/bin/menuc.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/merge.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/mesg.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/midiplay.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/mixerctl.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/mk_cmds.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/mkcsmapper.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/mkdep.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/mkesdb.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/mkfifo.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/mklocale.debug comp-locale-debug debug +./usr/libdata/debug/usr/bin/mkstr.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/mktemp.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/mkubootimage.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/modstat.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/mset.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/msgattrib.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgc.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgcat.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgcmp.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgcomm.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgconv.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgen.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgexec.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgfmt.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msginit.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgmerge.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msgs.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/msgunfmt.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/msguniq.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/nbperf.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/nbsvtool.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/bin/netgroup.debug comp-nis-debug debug +./usr/libdata/debug/usr/bin/netpgp.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/bin/netpgpkeys.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/bin/netpgpverify.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/bin/netstat.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/newgrp.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/newsyslog.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/nfsstat.debug comp-nfsclient-debug debug +./usr/libdata/debug/usr/bin/nice.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/nl.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/nm.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/nohup.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/nslookup.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/nsupdate.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/nvi.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/objcopy.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/objdump.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/openpgp.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/openssl.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/bin/passwd.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/paste.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/patch.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/pathchk.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/pawd.debug comp-amd-debug debug +./usr/libdata/debug/usr/bin/paxctl.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/pcc.debug comp-c-debug pcc,debug +./usr/libdata/debug/usr/bin/pfbtops.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/pic.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/pigz.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/pkill.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/pmap.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/post-grohtml.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/pr.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/pre-grohtml.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/printenv.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/printf.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/progress.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/protoize.debug comp-c-debug gcc=4,gcccmds,debug +./usr/libdata/debug/usr/bin/protoize.debug comp-obsolete !gcc=4,obsolete +./usr/libdata/debug/usr/bin/pwhash.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/qsafe.debug comp-util-debug crypto,debug +./usr/libdata/debug/usr/bin/qsieve.debug comp-util-debug crypto,debug +./usr/libdata/debug/usr/bin/qsubst.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/quota.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/radioctl.debug comp-audio-debug debug +./usr/libdata/debug/usr/bin/ranlib.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/rcs.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/rcsclean.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/rcsdiff.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/rcsmerge.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/rdist.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/readelf.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/refer.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/renice.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/rev.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/revoke.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/rfcomm_sppd.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/rlog.debug comp-rcs-debug debug +./usr/libdata/debug/usr/bin/rlogin.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/rpcgen.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/rpcinfo.debug comp-rpcutil-debug debug +./usr/libdata/debug/usr/bin/rs.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/rsh.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/rump.dhcpclient.debug comp-util-debug debug,rump +./usr/libdata/debug/usr/bin/rump.halt.debug comp-util-debug debug,rump +./usr/libdata/debug/usr/bin/rump.netstat.debug comp-netutil-debug debug,rump +./usr/libdata/debug/usr/bin/rump.sockstat.debug comp-util-debug debug,rump +./usr/libdata/debug/usr/bin/rump_allserver.debug comp-util-debug debug,rump +./usr/libdata/debug/usr/bin/rump_server.debug comp-util-debug debug,rump +./usr/libdata/debug/usr/bin/rup.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/ruptime.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/rusers.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/rwall.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/rwho.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/scp.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/script.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/sdiff.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/sdpquery.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/sed.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/seq.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/sftp.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/shlock.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/shmif_dumpbus.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/showmount.debug comp-nfsclient-debug debug +./usr/libdata/debug/usr/bin/shuffle.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/size.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/skey.debug comp-util-debug skey,debug +./usr/libdata/debug/usr/bin/skeyinfo.debug comp-util-debug skey,debug +./usr/libdata/debug/usr/bin/skeyinit.debug comp-util-debug skey,debug +./usr/libdata/debug/usr/bin/sockstat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/soelim.debug comp-groff-debug debug +./usr/libdata/debug/usr/bin/sort.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/split.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/sqlite3.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ssh-add.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/ssh-agent.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/ssh-keygen.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/ssh-keyscan.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/ssh.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/bin/stat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/string2key.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/strings.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/strip.debug comp-util-debug binutils,debug +./usr/libdata/debug/usr/bin/su.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/systat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tabs.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tail.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/talk.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/tbl.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/tcopy.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tee.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/telnet.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/texindex.debug comp-texinfo-debug debug +./usr/libdata/debug/usr/bin/tfmtodit.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/tftp.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/tic.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/time.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tip.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tmux.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tn3270.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/top.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/touch.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tpfmt.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tpm_sealdata.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/bin/tpm_unsealdata.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/bin/tpm_version.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/bin/tput.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tr.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/troff.debug comp-groff-debug groff,debug +./usr/libdata/debug/usr/bin/tset.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tsort.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/tty.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ul.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/uname.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/unexpand.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/unifdef.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/uniq.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/units.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/unprotoize.debug comp-c-debug gcc=4,gcccmds,debug +./usr/libdata/debug/usr/bin/unprotoize.debug comp-obsolete !gcc=4,obsolete +./usr/libdata/debug/usr/bin/unvis.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/unzip.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/usbhidaction.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/usbhidctl.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/users.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/utoppya.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/uucp.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/uudecode.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/uuencode.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/uuidgen.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/uulog.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/uuname.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/uupick.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/uustat.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/uux.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/vacation.debug comp-mail-debug debug +./usr/libdata/debug/usr/bin/verify_krb5_conf.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/bin/vi.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/videoctl.debug comp-video-debug debug +./usr/libdata/debug/usr/bin/vis.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/vmstat.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/vndcompress.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/w.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/wall.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/wc.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/what.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/whatis.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/whereis.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/who.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/whois.debug comp-netutil-debug debug +./usr/libdata/debug/usr/bin/window.debug comp-obsolete obsolete +./usr/libdata/debug/usr/bin/write.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/xargs.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/xgettext.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/xmlwf.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/xstr.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/xz.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/yacc.debug comp-c-debug debug +./usr/libdata/debug/usr/bin/yes.debug comp-util-debug debug +./usr/libdata/debug/usr/bin/ypcat.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/bin/ypmatch.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/bin/ypwhich.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/bin/ztest.debug comp-zfs-debug zfs,debug +./usr/libdata/debug/usr/games/adventure.debug comp-games-debug debug +./usr/libdata/debug/usr/games/arithmetic.debug comp-games-debug debug +./usr/libdata/debug/usr/games/atc.debug comp-games-debug debug +./usr/libdata/debug/usr/games/backgammon.debug comp-games-debug debug +./usr/libdata/debug/usr/games/banner.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/battlestar.debug comp-games-debug debug +./usr/libdata/debug/usr/games/bcd.debug comp-games-debug debug +./usr/libdata/debug/usr/games/boggle.debug comp-games-debug debug +./usr/libdata/debug/usr/games/caesar.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/canfield.debug comp-games-debug debug +./usr/libdata/debug/usr/games/cfscores.debug comp-games-debug debug +./usr/libdata/debug/usr/games/cgram.debug comp-games-debug debug +./usr/libdata/debug/usr/games/colorbars.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/cribbage.debug comp-games-debug debug +./usr/libdata/debug/usr/games/dab.debug comp-games-debug debug +./usr/libdata/debug/usr/games/dm.debug comp-games-debug debug +./usr/libdata/debug/usr/games/factor.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/fish.debug comp-games-debug debug +./usr/libdata/debug/usr/games/fortune.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/gomoku.debug comp-games-debug debug +./usr/libdata/debug/usr/games/hack.debug comp-games-debug debug +./usr/libdata/debug/usr/games/hals_end.debug comp-games-debug debug +./usr/libdata/debug/usr/games/hangman.debug comp-games-debug debug +./usr/libdata/debug/usr/games/hunt.debug comp-games-debug debug +./usr/libdata/debug/usr/games/huntd.debug comp-games-debug debug +./usr/libdata/debug/usr/games/larn.debug comp-games-debug debug +./usr/libdata/debug/usr/games/mille.debug comp-games-debug debug +./usr/libdata/debug/usr/games/monop.debug comp-games-debug debug +./usr/libdata/debug/usr/games/morse.debug comp-games-debug debug +./usr/libdata/debug/usr/games/number.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/phantasia.debug comp-games-debug debug +./usr/libdata/debug/usr/games/pig.debug comp-games-debug debug +./usr/libdata/debug/usr/games/pom.debug comp-games-debug debug +./usr/libdata/debug/usr/games/ppt.debug comp-games-debug debug +./usr/libdata/debug/usr/games/primes.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/quiz.debug comp-games-debug debug +./usr/libdata/debug/usr/games/rain.debug comp-games-debug debug +./usr/libdata/debug/usr/games/random.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/robots.debug comp-games-debug debug +./usr/libdata/debug/usr/games/rogue.debug comp-games-debug debug +./usr/libdata/debug/usr/games/sail.debug comp-games-debug debug +./usr/libdata/debug/usr/games/snake.debug comp-games-debug debug +./usr/libdata/debug/usr/games/snscore.debug comp-games-debug debug +./usr/libdata/debug/usr/games/strfile.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/teachgammon.debug comp-games-debug debug +./usr/libdata/debug/usr/games/tetris.debug comp-games-debug debug +./usr/libdata/debug/usr/games/trek.debug comp-games-debug debug +./usr/libdata/debug/usr/games/unstr.debug comp-utils-debug debug +./usr/libdata/debug/usr/games/worm.debug comp-games-debug debug +./usr/libdata/debug/usr/games/worms.debug comp-games-debug debug +./usr/libdata/debug/usr/games/wump.debug comp-games-debug debug +./usr/libdata/debug/usr/libexec/atf-check.debug comp-atf-debug atf,debug +./usr/libdata/debug/usr/libexec/atf-cleanup.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/atf-exec.debug comp-atf-debug obsolete +./usr/libdata/debug/usr/libexec/atf-format.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/atf-killpg.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/atrun.debug comp-cron-debug debug +./usr/libdata/debug/usr/libexec/cc1.debug comp-c-debug gcccmds,debug +./usr/libdata/debug/usr/libexec/cc1obj.debug comp-objc-debug gcccmds,debug +./usr/libdata/debug/usr/libexec/cc1plus.debug comp-cxx-debug gcccmds,debug +./usr/libdata/debug/usr/libexec/ccom.debug comp-c-debug pcc,debug +./usr/libdata/debug/usr/libexec/ching/castching.debug comp-games-debug debug +./usr/libdata/debug/usr/libexec/ching/printching.debug comp-games-debug debug +./usr/libdata/debug/usr/libexec/comsat.debug comp-mail-debug debug +./usr/libdata/debug/usr/libexec/cpp.debug comp-obsolete pcc,obsolete +./usr/libdata/debug/usr/libexec/digest-service.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/libexec/f771.debug comp-fortran-debug gcc=3,gcccmds,debug +./usr/libdata/debug/usr/libexec/f771.debug comp-obsolete gcc=4,obsolete +./usr/libdata/debug/usr/libexec/fingerd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/ftp-proxy.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/ftpd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/getNAME.debug comp-man-debug !makemandb,debug +./usr/libdata/debug/usr/libexec/getty.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/libexec/hpropd.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/libexec/httpd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/identd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/ipropd-master.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/libexec/ipropd-slave.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/libexec/kadmind.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/libexec/kpasswdd.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/libexec/kyua-atf-tester.debug comp-kyua-debug kyua,debug +./usr/libdata/debug/usr/libexec/kyua-plain-tester.debug comp-kyua-debug kyua,debug +./usr/libdata/debug/usr/libexec/lfs_cleanerd.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/lint1.debug comp-c-debug debug +./usr/libdata/debug/usr/libexec/lint2.debug comp-c-debug debug +./usr/libdata/debug/usr/libexec/locate.bigram.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/libexec/locate.code.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/libexec/lpr/lpf.debug comp-lpr-debug debug +./usr/libdata/debug/usr/libexec/mail.local.debug comp-mail-debug debug +./usr/libdata/debug/usr/libexec/makekey.debug comp-crypto-debug debug +./usr/libdata/debug/usr/libexec/makewhatis.debug comp-man-debug !makemandb,debug +./usr/libdata/debug/usr/libexec/ntalkd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/pcpp.debug comp-c-debug pcc,debug +./usr/libdata/debug/usr/libexec/postfix/anvil.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/bounce.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/cleanup.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/discard.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/dnsblog.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/error.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/flush.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/local.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/master.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/oqmgr.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/pickup.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/pipe.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/postscreen.debug comp-postfix-debug postfix,crypto,debug +./usr/libdata/debug/usr/libexec/postfix/proxymap.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/qmgr.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/scache.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/sendmail.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/showq.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/smtp.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/smtpd.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/spawn.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/tlsmgr.debug comp-postfix-debug postfix,crypto,debug +./usr/libdata/debug/usr/libexec/postfix/tlsproxy.debug comp-postfix-debug postfix,crypto,debug +./usr/libdata/debug/usr/libexec/postfix/trivial-rewrite.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/verify.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/postfix/virtual.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/libexec/rexecd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/rlogind.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/rmail.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/rpc.rquotad.debug comp-nfsserver-debug debug +./usr/libdata/debug/usr/libexec/rpc.rstatd.debug comp-rpcserver-debug debug +./usr/libdata/debug/usr/libexec/rpc.rusersd.debug comp-rpcserver-debug debug +./usr/libdata/debug/usr/libexec/rpc.rwalld.debug comp-rpcserver-debug debug +./usr/libdata/debug/usr/libexec/rpc.sprayd.debug comp-rpcserver-debug debug +./usr/libdata/debug/usr/libexec/rshd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/sftp-server.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/libexec/spellprog.debug comp-util-debug debug +./usr/libdata/debug/usr/libexec/ssh-keysign.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/libexec/ssh-pkcs11-helper.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/libexec/telnetd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/tftp-proxy.debug comp-pf-debug pf,debug +./usr/libdata/debug/usr/libexec/tftpd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/libexec/utmp_update.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/libexec/uucp/uucico.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/uucp/uuconv.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/uucp/uuxqt.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/uucpd.debug comp-obsolete obsolete +./usr/libdata/debug/usr/libexec/vfontedpr.debug comp-groff-debug debug +./usr/libdata/debug/usr/sbin/ac.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/accton.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/altqd.debug comp-router-debug debug +./usr/libdata/debug/usr/sbin/altqstat.debug comp-router-debug debug +./usr/libdata/debug/usr/sbin/amd.debug comp-amd-debug debug +./usr/libdata/debug/usr/sbin/amq.debug comp-amd-debug debug +./usr/libdata/debug/usr/sbin/arp.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/audit-packages.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/authpf.debug comp-pf-debug pf,debug +./usr/libdata/debug/usr/sbin/bootpd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/bootpef.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/bootpgw.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/bootptest.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/btattach.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/btconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/btcontrol.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/btdevctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/bthcid.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/btpand.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/btuartd.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/catman.debug comp-man-debug debug +./usr/libdata/debug/usr/sbin/chat.debug comp-ppp-debug debug +./usr/libdata/debug/usr/sbin/chown.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/chroot.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/chrtbl.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/cnwctl.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/cpuctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/crash.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/cron.debug comp-cron-debug debug +./usr/libdata/debug/usr/sbin/daicctl.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/dbsym.debug comp-sysutil-debug binutils,debug +./usr/libdata/debug/usr/sbin/ddns-confgen.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/dev_mkdb.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/dhcpd.debug comp-dhcpd-debug debug +./usr/libdata/debug/usr/sbin/dhcrelay.debug comp-dhcpd-debug debug +./usr/libdata/debug/usr/sbin/diskpart.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/dnssec-dsfromkey.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dnssec-keyfromlabel.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dnssec-keygen.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dnssec-revoke.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dnssec-settime.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dnssec-signzone.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dnssec-verify.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/dtmfdecode.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/dtrace.debug comp-util-debug dtrace,debug +./usr/libdata/debug/usr/sbin/dumpfs.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/dumplfs.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/edquota.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/envstat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/eshconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/extattrctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/faithd.debug comp-router-debug inet6,debug +./usr/libdata/debug/usr/sbin/fixmount.debug comp-nfsclient-debug debug +./usr/libdata/debug/usr/sbin/flashctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/fsinfo.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/fssconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ftp-proxy.debug comp-pf-debug pf,debug +./usr/libdata/debug/usr/sbin/fusermount.debug comp-refuse-debug debug +./usr/libdata/debug/usr/sbin/fwctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/getencstat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/gpioctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/gspa.debug comp-util-debug debug +./usr/libdata/debug/usr/sbin/hdaudioctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/hlfsd.debug comp-amd-debug debug +./usr/libdata/debug/usr/sbin/hostapd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/hostapd_cli.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/hprop.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/i2cscan.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ifmcstat.debug comp-netutil-debug inet6,debug +./usr/libdata/debug/usr/sbin/ifwatchd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/inetd.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/installboot.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/iopctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/iostat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ipfs.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/ipfstat.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/ipftest.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/ipmon.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/ipnat.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/ippool.debug comp-ipf-root ipfilter,debug +./usr/libdata/debug/usr/sbin/ipresend.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/iprop-log.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/ipsend.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/iptest.debug comp-ipf-debug ipfilter,debug +./usr/libdata/debug/usr/sbin/irdaattach.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/iscsi-initiator.debug comp-iscsi-debug iscsi,debug +./usr/libdata/debug/usr/sbin/iscsi-target.debug comp-iscsi-debug iscsi,debug +./usr/libdata/debug/usr/sbin/isdnd.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/isdnmonitor.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/isdntel.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/isdntelctl.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/isdntrace.debug comp-isdn-debug debug +./usr/libdata/debug/usr/sbin/isibootd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/iwictl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/kadmin.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/kcm.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/kdc.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/kdigest.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/kgmon.debug comp-debug-debug debug +./usr/libdata/debug/usr/sbin/kimpersonate.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/kstash.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/ktutil.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/sbin/lastlogin.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ldpd.debug comp-router-debug debug +./usr/libdata/debug/usr/sbin/link.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/lmcconfig.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/lockstat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/lpc.debug comp-lpr-debug debug +./usr/libdata/debug/usr/sbin/lpd.debug comp-lpr-debug debug +./usr/libdata/debug/usr/sbin/lptest.debug comp-lpr-debug debug +./usr/libdata/debug/usr/sbin/mailwrapper.debug comp-mailwrapper-debug debug +./usr/libdata/debug/usr/sbin/makedbm.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/makefs.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/makemandb.debug comp-makemandb-debug makemandb,debug +./usr/libdata/debug/usr/sbin/map-mbone.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/mdconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/mdnsd.debug comp-mdns-debug mdns,debug +./usr/libdata/debug/usr/sbin/mdsetimage.debug comp-sysutil-debug binutils,debug +./usr/libdata/debug/usr/sbin/mk-amd-map.debug comp-amd-debug debug +./usr/libdata/debug/usr/sbin/mkalias.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/mknetid.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/mld6query.debug comp-netutil-debug use_inet6,debug +./usr/libdata/debug/usr/sbin/mlxctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/mmcformat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/mopchk.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/mopcopy.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/mopd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/mopprobe.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/moptrace.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/mount_9p.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/mount_psshfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/mount_puffsportal.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/mount_sysctlfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/mountd.debug comp-nfsserver-debug debug +./usr/libdata/debug/usr/sbin/moused.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/mrinfo.debug comp-router-debug debug +./usr/libdata/debug/usr/sbin/mrouted.debug comp-router-debug debug +./usr/libdata/debug/usr/sbin/mscdlabel.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/mtrace.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/mtree.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/named-checkconf.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/named-checkzone.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/named-journalprint.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/named.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/ncdcs.debug comp-sysutil-root binutils,debug +./usr/libdata/debug/usr/sbin/ndbootd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/ndp.debug comp-netutil-debug inet6,debug +./usr/libdata/debug/usr/sbin/netgroup_mkdb.debug comp-nis-debug debug +./usr/libdata/debug/usr/sbin/nfsd.debug comp-nfsserver-debug debug +./usr/libdata/debug/usr/sbin/npfctl.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/npftest.debug comp-npf-debug npf,rump,debug,pic +./usr/libdata/debug/usr/sbin/nsec3hash.debug comp-bind-debug debug +./usr/libdata/debug/usr/sbin/ntp-keygen.debug comp-ntp-debug crypto,debug +./usr/libdata/debug/usr/sbin/ntpd.debug comp-ntp-debug debug +./usr/libdata/debug/usr/sbin/ntpdate.debug comp-ntp-debug debug +./usr/libdata/debug/usr/sbin/ntpdc.debug comp-ntp-debug debug +./usr/libdata/debug/usr/sbin/ntpq.debug comp-ntp-debug debug +./usr/libdata/debug/usr/sbin/ntptime.debug comp-ntp-debug debug +./usr/libdata/debug/usr/sbin/omshell.debug comp-dhcpd-debug debug +./usr/libdata/debug/usr/sbin/pac.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/paxctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/pcictl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/perfused.debug comp-perfuse-debug debug +./usr/libdata/debug/usr/sbin/pkg_add.debug comp-pkgutil-debug debug,crypto +./usr/libdata/debug/usr/sbin/pkg_admin.debug comp-pkgutil-debug debug,crypto +./usr/libdata/debug/usr/sbin/pkg_create.debug comp-pkgutil-debug debug,crypto +./usr/libdata/debug/usr/sbin/pkg_delete.debug comp-pkgutil-debug debug,crypto +./usr/libdata/debug/usr/sbin/pkg_info.debug comp-pkgutil-debug debug,crypto +./usr/libdata/debug/usr/sbin/postalias.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postcat.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postconf.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postdrop.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postfix.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postkick.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postlock.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postlog.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postmap.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postmulti.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postqueue.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/postsuper.debug comp-postfix-debug postfix,debug +./usr/libdata/debug/usr/sbin/powerd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/pppd.debug comp-ppp-debug debug +./usr/libdata/debug/usr/sbin/pppdump.debug comp-ppp-debug debug +./usr/libdata/debug/usr/sbin/pppstats.debug comp-ppp-debug debug +./usr/libdata/debug/usr/sbin/psrset.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/pstat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/pvcsif.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/pvctxctl.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/pwd_mkdb.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/quot.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/quotacheck.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/quotactl.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/quotaon.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/quotarestore.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/racoon.debug comp-netutil-debug crypto,debug +./usr/libdata/debug/usr/sbin/racoonctl.debug comp-netutil-debug crypto,debug +./usr/libdata/debug/usr/sbin/rarpd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/rbootd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/rdate.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/repquota.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/revnetgroup.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/rip6query.debug comp-netutil-debug inet6,debug +./usr/libdata/debug/usr/sbin/rmt.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/rndc-confgen.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/rndc.debug comp-bind-bin debug +./usr/libdata/debug/usr/sbin/route6d.debug comp-router-debug use_inet6,debug +./usr/libdata/debug/usr/sbin/rpc.bootparamd.debug comp-bootserver-debug debug +./usr/libdata/debug/usr/sbin/rpc.lockd.debug comp-nfsserver-debug debug +./usr/libdata/debug/usr/sbin/rpc.pcnfsd.debug comp-nfsserver-debug debug +./usr/libdata/debug/usr/sbin/rpc.statd.debug comp-nfsserver-debug debug +./usr/libdata/debug/usr/sbin/rpc.yppasswdd.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/rpcbind.debug comp-rpcbind-debug debug +./usr/libdata/debug/usr/sbin/rtadvd.debug comp-router-debug use_inet6,debug +./usr/libdata/debug/usr/sbin/rtquery.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/rtsold.debug comp-netutil-debug inet6,debug +./usr/libdata/debug/usr/sbin/rump.envstat.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/usr/sbin/rump.powerd.debug comp-sysutil-debug debug,rump +./usr/libdata/debug/usr/sbin/rump.traceroute.debug comp-netutil-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_cd9660.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_efs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_ext2fs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_ffs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_hfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_lfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_msdos.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_nfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_ntfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_smbfs.debug comp-puffs-debug crypto,debug,rump +./usr/libdata/debug/usr/sbin/rump_syspuffs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_sysvbfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_tmpfs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_udf.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rump_v7fs.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/sbin/rwhod.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/sa.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/schedctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/screenblank.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/sdpd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/services_mkdb.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/sesd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/setencstat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/setobjstat.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/sliplogin.debug comp-slip-debug debug +./usr/libdata/debug/usr/sbin/sntp.debug comp-ntp-debug debug +./usr/libdata/debug/usr/sbin/spray.debug comp-rpcutil-debug debug +./usr/libdata/debug/usr/sbin/srtconfig.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/sshd.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/sbin/stdethers.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/stdhosts.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/sti.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/sunlabel.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/sup.debug comp-sup-debug debug +./usr/libdata/debug/usr/sbin/supfilesrv.debug comp-sup-debug debug +./usr/libdata/debug/usr/sbin/supscan.debug comp-sup-debug debug +./usr/libdata/debug/usr/sbin/syslogd.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/tcpdchk.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/tcpdmatch.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/tcpdrop.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/tcpdump.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/tcsd.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/timed.debug comp-timed-debug debug +./usr/libdata/debug/usr/sbin/timedc.debug comp-timed-debug debug +./usr/libdata/debug/usr/sbin/tpm_changeownerauth.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_clear.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_createek.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_getpubek.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_nvdefine.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_nvinfo.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_nvread.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_nvrelease.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_nvwrite.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_resetdalock.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_restrictpubek.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_restrictsrk.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_revokeek.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_selftest.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_setactive.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_setclearable.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_setenable.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_setoperatorauth.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_setownable.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_setpresence.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tpm_takeownership.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/sbin/tprof.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/traceroute.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/traceroute6.debug comp-netutil-debug use_inet6,debug +./usr/libdata/debug/usr/sbin/trpt.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/trsp.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/unlink.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/usbdevs.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/user.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/uuchk.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/veriexecgen.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/vipw.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/vnconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wake.debug comp-obsolete obsolete +./usr/libdata/debug/usr/sbin/wakeonlan.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/wiconfig.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wire-test.debug comp-netutil-debug debug +./usr/libdata/debug/usr/sbin/wlanctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wpa_cli.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wpa_passphrase.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wpa_supplicant.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wsconscfg.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wsfontload.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wsmoused.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/wsmuxctl.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/ypbind.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/yppoll.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/yppush.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/ypserv.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/ypset.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/yptest.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/ypxfr.debug comp-nis-debug yp,debug +./usr/libdata/debug/usr/sbin/zdb.debug comp-zfs-debug zfs,debug +./usr/libdata/debug/usr/sbin/zdump.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/sbin/zic.debug comp-sysutil-debug debug +./usr/libdata/debug/usr/tests/atf/atf-c++/application_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/atf_c++_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/build_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/check_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/config_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/application_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/auto_array_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/env_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/exceptions_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/expand_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/fs_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/parser_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/process_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/sanity_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/text_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/detail/ui_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/env_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/exceptions_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/expand_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/fs_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/io_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/macros_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/parser_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/process_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/sanity_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/signals_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_application.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_atf_c++.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_atffile.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_build.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_check.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_config.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_env.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_exceptions.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_expand.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_formats.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_fs.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_io.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_macros.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_parser.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_process.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_sanity.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_signals.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_tests.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_text.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_ui.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_user.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/t_utils.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/tests_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c++/text_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/ui_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/user_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c++/utils_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/atf_c_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/build_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/check_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/config_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/dynstr_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/env_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/fs_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/list_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/map_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/process_helpers.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/process_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/sanity_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/test_helpers_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/detail/text_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/detail/user_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/dynstr_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/env_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/error_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/fs_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/h_check.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/h_processes.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/list_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/macros_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/map_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/process_helpers.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/process_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/sanity_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_atf_c.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_build.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_check.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_config.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_dynstr.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_env.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_error.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_expand.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_fs.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_h_lib.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_io.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_list.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_macros.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_map.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_process.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_sanity.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_signals.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_tc.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_tcr.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_text.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_tp.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_ui.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/t_user.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/tc_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/test_helpers_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/text_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/tp_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-c/user_test.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-c/utils_test.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/atf-compile/h_mode.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/fail_helper.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-report/fail_helper.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/h_fail.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/h_misc.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/h_pass.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/h_xfail.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/misc_helpers.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-report/misc_helpers.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/pass_helper.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-report/pass_helper.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-report/reader_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-report/reader_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/atffile_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/atffile_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/bad_metadata_helper.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/bad_metadata_helper.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/config_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/config_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/expect_helpers.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/expect_helpers.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/fs_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/fs_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/h_bad_metadata.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/h_fail.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/h_misc.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/h_pass.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/h_several_tcs.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/h_zero_tcs.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/io_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/io_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/misc_helpers.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/misc_helpers.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/pass_helper.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/pass_helper.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/requirements_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/requirements_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/several_tcs_helper.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/several_tcs_helper.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/signals_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/signals_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/t_config.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/t_requirements.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/t_test_program.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/test_program_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/test_program_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/user_test.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/user_test.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/atf-run/zero_tcs_helper.debug tests-atf-tests debug,atf,!kyua +./usr/libdata/debug/usr/tests/atf/atf-run/zero_tcs_helper.debug tests-obsolete debug,kyua,obsolete +./usr/libdata/debug/usr/tests/atf/formats/h_parser.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/formats/t_writers.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/test-programs/c_helpers.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/test-programs/cpp_helpers.debug tests-atf-debug debug,atf +./usr/libdata/debug/usr/tests/atf/test_programs/h_c.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/test_programs/h_cpp.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/tools/h_fail.debug tests-atf-debug obsolete +./usr/libdata/debug/usr/tests/atf/tools/h_misc.debug tests-atf-debug obsolete +./usr/libdata/debug/usr/tests/atf/tools/h_mode.debug tests-atf-debug obsolete +./usr/libdata/debug/usr/tests/atf/tools/h_pass.debug tests-atf-debug obsolete +./usr/libdata/debug/usr/tests/atf/units/t_config.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_env.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_expand.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_fs.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_io.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_parser.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_sanity.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_signals.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_tests.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_text.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_user.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/atf/units/t_utils.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/bin/df/h_df.debug tests-bin-debug debug,atf +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_bftest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_bntest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_casttest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_conftest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_destest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_dhtest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_divtest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_dsatest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_ecdhtest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_ecdsatest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_ectest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_enginetest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_evp_test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_exptest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_hmactest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_ideatest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_lhashtest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_md2test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_md4test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_md5test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_mdc2test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_randtest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_rc2test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_rc4test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_rc5test.debug tests-crypto-debug debug,atf,crypto_rc5,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_ripemdtest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_rsatest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_sha1test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_shatest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_srptest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_threadstest.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/crypto/libcrypto/h_x509v3test.debug tests-crypto-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/dev/audio/h_pad.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/dev/cgd/h_img2cgd/h_img2cgd.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/dev/md/h_mdserv.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/dev/scsipi/t_cd.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/dev/sysmon/t_swwdog.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/h_ffs_server.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/h_quota2_server.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/fs/ffs/h_quota2_tests.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_fifos.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_mount.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_quota2_1.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_quota2_remount.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_renamerace.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/fs/ffs/t_snapshot.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_snapshot_log.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ffs/t_snapshot_v2.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/fifofs/t_fifo.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/hfs/t_pathconvert.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/kernfs/t_basic.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/lfs/t_pr.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/msdosfs/t_snapshot.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/nfs/nfsservice/rumpnfsd.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/nfs/t_mountd.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/nullfs/t_basic.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/psshfs/h_have_puffs.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ptyfs/t_nullpts.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/ptyfs/t_ptyfs.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/puffs/h_dtfs/h_dtfs.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/puffs/h_have_puffs.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/fs/puffs/t_basic.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/puffs/t_fuzz.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/puffs/t_io.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/tmpfs/h_tools.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/tmpfs/t_renamerace.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/umapfs/t_basic.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/union/t_basic.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/fs/union/t_pr.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_full.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_io.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_renamerace.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_rmdirrace.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_ro.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_union.debug tests-obsolete debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_unpriv.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_vfsops.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/fs/vfs/t_vnops.debug tests-fs-debug debug,atf,rump +./usr/libdata/debug/usr/tests/include/machine/t_bswap.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/sys/t_bitops.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/sys/t_bootblock.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/sys/t_cdefs.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/sys/t_socket.debug tests-include-tests debug,atf,rump +./usr/libdata/debug/usr/tests/include/sys/t_tree.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/sys/t_types.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_bitstring.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_bswap.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/include/t_errno.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_glob.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_inttypes.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_limits.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_netdb.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_paths.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_stdint.debug tests-include-tests debug,atf +./usr/libdata/debug/usr/tests/include/t_types.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/h_ps_strings1.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/h_ps_strings2.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/read/t_fifo.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/read/t_file.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/read/t_file2.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/read/t_pipe.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/read/t_ttypty.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/t_ioctl.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/t_proc1.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/t_proc2.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/t_proc3.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/t_sig.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/write/t_fifo.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/write/t_pipe.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/kqueue/write/t_ttypty.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/posix_spawn/h_fileactions.debug tests-kernel-tests obsolete +./usr/libdata/debug/usr/tests/kernel/posix_spawn/h_spawn.debug tests-kernel-tests obsolete +./usr/libdata/debug/usr/tests/kernel/posix_spawn/h_spawnattr.debug tests-kernel-tests obsolete +./usr/libdata/debug/usr/tests/kernel/posix_spawn/t_fileactions.debug tests-kernel-tests obsolete +./usr/libdata/debug/usr/tests/kernel/posix_spawn/t_spawn.debug tests-kernel-tests obsolete +./usr/libdata/debug/usr/tests/kernel/posix_spawn/t_spawnattr.debug tests-kernel-tests obsolete +./usr/libdata/debug/usr/tests/kernel/t_extattrctl.debug tests-kernel-tests debug,atf,rump +./usr/libdata/debug/usr/tests/kernel/t_extent.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_filedesc.debug tests-kernel-tests debug,atf,rump +./usr/libdata/debug/usr/tests/kernel/t_kauth_pr_47598.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_lock.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_lockf.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_lwpctl.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_mkdir.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_mqueue.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_pipe.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_poll3w.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_pollts.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_posix_fadvise.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_pty.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_rnd.debug tests-kernel-tests debug,atf,rump +./usr/libdata/debug/usr/tests/kernel/t_sigaction.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_subr_prf.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_sysv.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/kernel/t_time.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_ucontext.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/t_writev.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/kernel/tty/t_pr.debug tests-kernel-tests debug,atf,rump +./usr/libdata/debug/usr/tests/kyua-cli/bootstrap/atf_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/bootstrap/plain_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_about_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_config_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_db_exec_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_db_migrate_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_debug_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_help_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_list_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_report_html_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_report_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/cmd_test_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/common_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/config_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/cli/main_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/action_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/config_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/context_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/drivers/debug_test_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/drivers/list_tests_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/drivers/list_tests_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/drivers/run_tests_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/drivers/scan_action_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/filters_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/kyuafile_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/metadata_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/test_case_atf_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/test_case_plain_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/test_case_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/test_program_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/test_result_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/engine/testers_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/examples/syntax_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/bad_test_program.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/bogus_test_cases.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/config.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/expect_all_pass.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/expect_some_fail.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/interrupts.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/metadata.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/simple_all_pass.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/integration/helpers/simple_some_fail.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/store/backend_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/store/dbtypes_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/store/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/store/metadata_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/store/schema_inttest.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/store/transaction_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/auto_array_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/base_command_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/commands_map_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/globals_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/options_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/parser_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/cmdline/ui_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/config/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/config/keys_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/config/lua_module_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/config/nodes_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/config/parser_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/config/tree_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/datetime_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/env_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/format/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/format/formatter_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/fs/auto_cleaners_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/fs/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/fs/lua_module_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/fs/operations_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/fs/path_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/logging/macros_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/logging/operations_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/memory_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/optional_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/passwd_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/process/child_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/process/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/process/fdstream_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/process/helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/process/status_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/process/systembuf_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/sanity_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/signals/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/signals/interrupts_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/signals/misc_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/signals/programmer_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/sqlite/c_gate_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/sqlite/database_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/sqlite/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/sqlite/statement_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/sqlite/transaction_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/stream_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/text/exceptions_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/text/operations_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/text/table_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/text/templates_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-cli/utils/units_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/atf_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/atf_inttest.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/atf_list_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/atf_result_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/cli_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/env_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/error_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/fs_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/plain_helpers.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/plain_inttest.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/result_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/run_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/stacktrace_helper.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/stacktrace_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/kyua-testers/text_test.debug tests-kyua-tests debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/csu/h_initfini.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/csu/h_initfini1.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/csu/h_initfini2.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/csu/h_initfini3.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbluetooth/t_bluetooth.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbluetooth/t_sdp_data.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbluetooth/t_sdp_get.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbluetooth/t_sdp_match.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbluetooth/t_sdp_put.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbluetooth/t_sdp_set.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libbpfjit/t_bpfjit.debug tests-lib-debug debug,atf,sljit +./usr/libdata/debug/usr/tests/lib/libc/c063/t_faccessat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_fchmodat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_fchownat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_fexecve.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_fstatat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_linkat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_mkdirat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_mkfifoat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_mknodat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_o_search.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_openat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_readlinkat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_renameat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_symlinkat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_unlinkat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/c063/t_utimensat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/db/h_db.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/posix_spawn/h_fileactions.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/posix_spawn/h_spawn.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/posix_spawn/h_spawnattr.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/posix_spawn/t_fileactions.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/posix_spawn/t_spawn.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/posix_spawn/t_spawnattr.debug tests-kernel-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_alarm.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_assert.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_basedirname.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_closefrom.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_cpuset.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_dir.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_fmtcheck.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_fnmatch.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_fpclassify.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_fpsetmask.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_fpsetround.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_ftok.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_getcwd.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_getgrent.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_glob.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_glob_star.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/gen/t_humanize_number.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_isnan.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_ldexp.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/gen/t_nice.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_pause.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_raise.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_randomid.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_rbstress.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/gen/t_realpath.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_setdomainname.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_sethostname.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_siginfo.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_sleep.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_syslog.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_syslog_pthread.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/gen/t_time.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_ttyname.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/gen/t_vis.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/h_atexit.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/h_nsd_recurse.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/h_protoent.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/h_servent.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/hash/h_hash.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/hash/t_sha2.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/ieeefp/t_except.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/ieeefp/t_nan_inf.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/ieeefp/t_round.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/ieeefp/t_subnormal.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/inet/t_inet_network.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_ctype1.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/locale/t_ctype2.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/locale/t_io.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_mbrtowc.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_mbsnrtowcs.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_mbstowcs.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_mbtowc.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_wcscspn.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_wcspbrk.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_wcsspn.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_wcstod.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/locale/t_wctomb.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/getaddrinfo/h_gai.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/h_hostent.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/h_nsd_recurse.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/h_protoent.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/h_servent.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/t_ether_aton.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/net/t_getprotoent.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/regex/h_regex.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/regex/h_regex_att.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/regex/t_exhaust.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/regex/t_regex_att.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/rpc/t_rpc.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/rpc/t_xdr.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/setjmp/t_setjmp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/setjmp/t_threadjmp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_fgets.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_getcwd.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_gets.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_memcpy.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_memmove.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_memset.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_raw.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_read.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_readlink.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_snprintf.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_sprintf.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_strcat.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_strcpy.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_strncat.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_strncpy.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_vsnprintf.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/ssp/h_vsprintf.debug tests-lib-debug debug,atf,ssp +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_clearerr.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_fflush.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_fmemopen.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_fopen.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_format.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_fputc.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_mktemp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_popen.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_printf.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdio/t_scanf.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/h_atexit.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/h_getopt.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/h_getopt_long.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_abs.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_atoi.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_div.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_environment.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_environment_pth.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_exit.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_getenv.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_getenv_thread.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_hsearch.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_mi_vector_hash.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_posix_memalign.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_random.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_strtod.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_strtol.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_strtox.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/stdlib/t_system.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_memchr.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_memcpy.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_memmem.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_memset.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_popcount.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strcat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strchr.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strcmp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strcpy.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strcspn.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strerror.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_stresep.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_string.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/string/t_strlen.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strpbrk.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strrchr.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_strspn.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/string/t_swab.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_access.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_bitops.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/sys/t_cerror.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/sys/t_chroot.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_clock_gettime.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_clone.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_connect.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_context.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/sys/t_dup.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_fsync.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getcontext.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getgroups.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getitimer.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getlogin.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getpid.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getrusage.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_getsid.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_gettimeofday.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_issetugid.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_kevent.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_kill.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_link.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_listen.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_lwp_create.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_lwp_ctl.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mincore.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mkdir.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mkfifo.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mknod.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mlock.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mmap.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_mprotect.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_msgctl.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_msgget.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_msgrcv.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_msgsnd.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_msync.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_nanosleep.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_pipe.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_pipe2.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_poll.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_posix_fadvise.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/libc/sys/t_recvmmsg.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_revoke.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_select.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_setrlimit.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_setuid.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_sigaction.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_sigqueue.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_sigtimedwait.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_sigtimedwait_pr_47625.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/sys/t_socketpair.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_stat.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_swapcontext.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_timer_create.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_truncate.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_ucontext.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_umask.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_unlink.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/sys/t_write.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/t_cdb.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/t_cerror.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_clone.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_context.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_convfp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/t_gdtoa.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/t_hsearch.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_inet.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_mktime.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_ptm.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_randomid.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/t_strptime.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libc/termios/t_tcsetpgrp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/time/t_mktime.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/time/t_strptime.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/tls/t_tls_static.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/ttyio/t_ptm.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/ttyio/t_ttyio.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libcrypt/t_crypt.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libcurses/director.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libcurses/slave.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libdes/t_des.debug tests-lib-debug debug,atf,crypto +./usr/libdata/debug/usr/tests/lib/libevent/h_event.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libexecinfo/t_backtrace.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/liblutok/c_gate_test.debug tests-lutok-debug debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/liblutok/debug_test.debug tests-lutok-debug debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/liblutok/exceptions_test.debug tests-lutok-debug debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/liblutok/operations_test.debug tests-lutok-debug debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/liblutok/stack_cleaner_test.debug tests-lutok-debug debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/liblutok/state_test.debug tests-lutok-debug debug,atf,kyua +./usr/libdata/debug/usr/tests/lib/libm/t_acos.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_asin.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_atan.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_cbrt.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_ceil.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_cos.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_cosh.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_erf.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_exp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_floor.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libm/t_fmod.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_infinity.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_ldexp.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_libm.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libm/t_log.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_pow.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_precision.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_round.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_scalbn.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_sin.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_sinh.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_sqrt.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_tan.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libm/t_tanh.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libobjc/t_threads.debug tests-lib-debug debug,atf,gcccmds +./usr/libdata/debug/usr/tests/lib/libposix/bsd/t_rename.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libposix/posix1/t_rename.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libposix/posix2/t_rename.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libppath/t_ppath.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libprop/t_basic.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/dlopen/h_pthread_dlopen.so.1.debug tests-lib-debug debug,atf,pic +./usr/libdata/debug/usr/tests/lib/libpthread/dlopen/t_dlopen.debug tests-lib-debug debug,atf,pic +./usr/libdata/debug/usr/tests/lib/libpthread/dlopen/t_dso_pthread_create.debug tests-lib-debug debug,atf,pic +./usr/libdata/debug/usr/tests/lib/libpthread/dlopen/t_main_pthread_create.debug tests-lib-debug debug,atf,pic +./usr/libdata/debug/usr/tests/lib/libpthread/h_atexit.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/h_cancel.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/h_exit.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/h_resolv.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_barrier.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_cond.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_condwait.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_detach.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_equal.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_fork.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_fpu.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_join.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_kill.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_mutex.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_name.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_once.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_preempt.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_rwlock.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_sem.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_siglongjmp.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_sigmask.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_sigsuspend.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_sleep.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/libpthread/t_status.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libpthread/t_swapcontext.debug tests-lib-tests debug,atf +./usr/libdata/debug/usr/tests/lib/librt/t_sched.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/librt/t_sem.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/librumpclient/h_exec.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/librumpclient/h_execthr.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/librumpclient/h_ution.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/librumpclient/t_fd.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/librumphijack/h_client.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/librumphijack/h_cwd.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/librumphijack/h_netget.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/lib/libskey/t_algorithms.debug tests-lib-debug debug,atf,skey +./usr/libdata/debug/usr/tests/lib/libsljit/h_sljit.debug tests-lib-debug debug,atf,sljit +./usr/libdata/debug/usr/tests/lib/libtre/h_regex_att.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/lib/libtre/t_exhaust.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libtre/t_regex_att.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libutil/t_efun.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libutil/t_parsedate.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libutil/t_pidfile.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libutil/t_snprintb.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libutil/t_sockaddr_snprintf.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/semaphore/pthread/t_sem_pth.debug tests-lib-debug debug,atf,rump +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_df_1_noopen1.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_df_1_noopen2.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_dl_symver_v0.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_dl_symver_v1.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_dl_symver_v2.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_locking.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/t_dlerror-cleared.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/t_dlerror-false.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/t_dlinfo.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/t_dlvsym.debug tests-libexec-debug debug,atf,pic +./usr/libdata/debug/usr/tests/net/bpf/t_bpf.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/bpf/t_div-by-zero.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/bpfilter/t_bpfilter.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/carp/t_basic.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/fdpass/fdpass32.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/fdpass/fdpass64.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/icmp/t_forward.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/icmp/t_ping.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/if/t_compat.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/if_loop/t_pr.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/net/t_pktinfo.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/net/t_raw.debug tests-net-debug debug,atf,rump +./usr/libdata/debug/usr/tests/net/net/t_tcp.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/net/t_udp.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/net/t_unix.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/sys/t_connect.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/net/sys/t_listen.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/net/sys/t_rfc6056.debug tests-net-debug debug,atf +./usr/libdata/debug/usr/tests/net/sys/t_socketpair.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/rump/modautoload/t_modautoload.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/h_client/h_forkcli.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/h_client/h_reboot.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/rump/rumpkern/h_client/h_reconcli.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/h_client/h_sigcli.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/h_client/h_simplecli.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/h_client/h_stresscli.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/h_server/h_simpleserver.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_copy.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_kern.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_lwproc.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_modcmd.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_modlinkset.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_signals.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_threads.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_tsleep.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpkern/t_vm.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpvfs/t_basic.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpvfs/t_etfs.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/rump/rumpvfs/t_p2kifs.debug tests-syscall-debug debug,atf,rump +./usr/libdata/debug/usr/tests/syscall/t_access.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_chroot.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_cmsg.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_dup.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_fsync.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_getgroups.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_getlogin.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_getpid.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_getrusage.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_getsid.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_gettimeofday.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_issetugid.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_itimer.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_kill.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_link.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_mincore.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_mkfifo.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_mknod.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_mmap.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_mprotect.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_msync.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_nanosleep.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_poll.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_pollts.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_pselect.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_recvmmsg.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_revoke.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_setrlimit.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_setuid.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_stat.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_timer.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_truncate.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_umask.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/syscall/t_unlink.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/usr.bin/id/h_id.debug tests-usr.bin-debug debug,atf +./usr/libdata/debug/usr/tests/util/df/h_df.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/util/id/h_id.debug tests-obsolete obsolete +./usr/libdata/debug/usr/tests/util/systrace/h_have_systrace.debug tests-obsolete obsolete +./usr/tests/lib/libc/tls/libh_tls_dynamic_g.a comp-c-debuglib atf,debuglib +./usr/tests/libexec/ld.elf_so/h_helper_symver_dso0/libh_helper_symver_dso_g.a comp-c-debuglib atf,debuglib +./usr/tests/libexec/ld.elf_so/h_helper_symver_dso1/libh_helper_symver_dso_g.a comp-c-debuglib atf,debuglib +./usr/tests/libexec/ld.elf_so/h_helper_symver_dso2/libh_helper_symver_dso_g.a comp-c-debuglib atf,debuglib +./usr/tests/libexec/ld.elf_so/libh_helper_dso1_g.a comp-c-debuglib atf,debuglib +./usr/tests/libexec/ld.elf_so/libh_helper_dso2_g.a comp-c-debuglib atf,debuglib diff --git a/distrib/sets/lists/debug/module.mi b/distrib/sets/lists/debug/module.mi new file mode 100644 index 000000000..a36de4d0b --- /dev/null +++ b/distrib/sets/lists/debug/module.mi @@ -0,0 +1,4 @@ +# $NetBSD: module.mi,v 1.1 2013/01/16 16:01:08 christos Exp $ +./usr/libdata/debug/usr/tests/modules/k_helper3.debug tests-sys-debug debug,atf,rump +./usr/libdata/debug/usr/tests/modules/t_builtin.debug tests-sys-debug debug,atf,rump +./usr/libdata/debug/usr/tests/modules/t_modctl.debug tests-sys-debug debug,atf,rump diff --git a/distrib/sets/lists/debug/shl.mi b/distrib/sets/lists/debug/shl.mi new file mode 100644 index 000000000..e38d98dd8 --- /dev/null +++ b/distrib/sets/lists/debug/shl.mi @@ -0,0 +1,281 @@ +# $NetBSD: shl.mi,v 1.42 2013/11/16 13:01:38 alnsn Exp $ +./usr/libdata/debug/lib/libc.so.12.187.debug comp-sys-debug debug +./usr/libdata/debug/lib/libcrypt.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libcrypto.so.8.1.debug comp-sys-debug debug +./usr/libdata/debug/lib/libdevmapper.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libedit.so.3.1.debug comp-sys-debug debug +./usr/libdata/debug/lib/libevent.so.4.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libgcc_s.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libipsec.so.3.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libkvm.so.6.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/liblzf.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/liblzma.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/lib/libm.so.0.10.debug comp-sys-debug debug +./usr/libdata/debug/lib/libnpf.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libpcap.so.5.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libppath.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libprop.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/lib/libradius.so.4.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/librumpclient.so.0.0.debug comp-sys-debug debug,rump +./usr/libdata/debug/lib/libterminfo.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/libutil.so.7.21.debug comp-sys-debug debug +./usr/libdata/debug/lib/libz.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/lib/npf/ext_log.so.0.0.debug comp-sys-debug debug,npf +./usr/libdata/debug/lib/npf/ext_normalize.so.0.0.debug comp-sys-debug debug,npf +./usr/libdata/debug/lib/npf/ext_rndblock.so.0.0.debug comp-sys-debug debug,npf +./usr/libdata/debug/libexec/ld.elf_so.debug comp-sys-debug debug +./usr/libdata/debug/usr/libexec/liblto_plugin.so.0.0.debug comp-sys-debug debug,gcc=48 +./usr/libdata/debug/usr/lib/i18n/libBIG5.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libDECHanyu.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libEUC.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libEUCTW.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libGBK2K.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libHZ.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libISO2022.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libJOHAB.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libMSKanji.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libUES.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libUTF1632.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libUTF7.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libUTF8.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libVIQR.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libZW.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libiconv_none.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libiconv_std.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libmapper_646.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libmapper_none.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libmapper_parallel.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libmapper_serial.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libmapper_std.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/i18n/libmapper_zone.so.5.0.debug comp-i18n-debug debug +./usr/libdata/debug/usr/lib/libamu.so.4.0.debug comp-amd-debug debug +./usr/libdata/debug/usr/lib/libarchive.so.3.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libasn1.so.9.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libatf-c++.so.0.0.debug comp-atf-debug atf,debug +./usr/libdata/debug/usr/lib/libatf-c.so.0.0.debug comp-atf-debug atf,debug +./usr/libdata/debug/usr/lib/libavl.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug +./usr/libdata/debug/usr/lib/libbfd.so.13.0.debug comp-sys-debug binutils,debug +./usr/libdata/debug/usr/lib/libbind9.so.7.0.debug comp-bind-debug debug +./usr/libdata/debug/usr/lib/libbluetooth.so.4.2.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libbsdmalloc.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libbz2.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libc.so.12.187.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libcom_err.so.7.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libcrypt.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libcrypto.so.8.1.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/lib/libcrypto_idea.so.7.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/libcrypto_mdc2.so.7.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/libcrypto_rc5.so.7.0.debug comp-crypto-debug crypto,crypto_rc5,debug +./usr/libdata/debug/usr/lib/libctf.so.2.0.debug comp-sys-debug dtrace,debug +./usr/libdata/debug/usr/lib/libcurses.so.7.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libdes.so.8.1.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/lib/libdevmapper.so.1.0.debug comp-lvm-debug lvm,debug +./usr/libdata/debug/usr/lib/libdm.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libdns.so.7.0.debug comp-bind-debug debug +./usr/libdata/debug/usr/lib/libdns_sd.so.0.0.debug comp-mdns-debug mdns,debug +./usr/libdata/debug/usr/lib/libdtrace.so.2.0.debug comp-sys-debug dtrace,debug +./usr/libdata/debug/usr/lib/libdwarf.so.0.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libedit.so.3.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libelf.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libevent.so.4.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libevent_openssl.so.4.0.debug comp-sys-debug debug,crypto +./usr/libdata/debug/usr/lib/libevent_pthreads.so.4.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libexecinfo.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libexpat.so.2.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libfetch.so.3.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libform.so.6.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libg2c.so.2.0.debug comp-sys-debug gcc=3,debug +./usr/libdata/debug/usr/lib/libgcc_s.so.1.0.debug comp-sys-debug gcc,debug +./usr/libdata/debug/usr/lib/libgmp.so.10.2.debug comp-c-shlib obsolete +./usr/libdata/debug/usr/lib/libgnumalloc.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libgomp.so.1.0.debug comp-sys-debug gcc=45,debug +./usr/libdata/debug/usr/lib/libgomp.so.1.1.debug comp-sys-debug gcc=48,debug +./usr/libdata/debug/usr/lib/libgssapi.so.10.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libhdb.so.14.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libheimbase.so.1.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libheimntlm.so.4.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libhx509.so.5.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libintl.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libipsec.so.3.0.debug comp-net-debug debug +./usr/libdata/debug/usr/lib/libisc.so.6.0.debug comp-bind-debug debug,obsolete +./usr/libdata/debug/usr/lib/libisc.so.7.0.debug comp-bind-debug debug +./usr/libdata/debug/usr/lib/libisccc.so.6.0.debug comp-bind-debug debug,obsolete +./usr/libdata/debug/usr/lib/libisccc.so.7.0.debug comp-bind-debug debug +./usr/libdata/debug/usr/lib/libisccfg.so.6.0.debug comp-bind-debug debug,obsolete +./usr/libdata/debug/usr/lib/libisccfg.so.7.0.debug comp-bind-debug debug +./usr/libdata/debug/usr/lib/libiscsi.so.2.0.debug comp-iscsi-debug iscsi,debug +./usr/libdata/debug/usr/lib/libisns.so.0.0.debug comp-isns-debug debug +./usr/libdata/debug/usr/lib/libkadm5clnt.so.13.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libkadm5srv.so.14.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libkafs.so.12.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libkdc.so.2.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libkrb5.so.26.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libkvm.so.6.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/liblber.so.3.2.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/lib/libldap.so.4.2.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/lib/libldap_r.so.4.2.debug comp-ldap-debug ldap,debug +./usr/libdata/debug/usr/lib/liblua.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/liblutok.so.1.0.debug comp-obsolete obsolete +./usr/libdata/debug/usr/lib/liblutok.so.2.0.debug comp-kyua-debug kyua,debug +./usr/libdata/debug/usr/lib/liblwres.so.6.0.debug comp-bind-debug debug,obsolete +./usr/libdata/debug/usr/lib/liblwres.so.7.0.debug comp-bind-debug debug +./usr/libdata/debug/usr/lib/liblzf.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/liblzma.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libm.so.0.10.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libmagic.so.5.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libmenu.so.6.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libmj.so.1.0.debug comp-crypto-debug debug +./usr/libdata/debug/usr/lib/libmpc.so.2.0.debug comp-c-shlib obsolete +./usr/libdata/debug/usr/lib/libmpfr.so.4.1.debug comp-c-shlib obsolete +./usr/libdata/debug/usr/lib/libmudflap.so.0.0.debug comp-sys-debug gcc=45,debug +./usr/libdata/debug/usr/lib/libmudflap.so.0.0.debug comp-sys-debug gcc=48,debug +./usr/libdata/debug/usr/lib/libmudflapth.so.0.0.debug comp-sys-debug gcc=45,debug +./usr/libdata/debug/usr/lib/libmudflapth.so.0.0.debug comp-sys-debug gcc=48,debug +./usr/libdata/debug/usr/lib/libnetpgp.so.3.0.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/lib/libnetpgpverify.so.4.0.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/lib/libnpf.so.0.0.debug comp-npf-debug npf,debug +./usr/libdata/debug/usr/lib/libnvpair.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug +./usr/libdata/debug/usr/lib/libobjc.so.3.0.debug comp-sys-debug gcc=4,debug +./usr/libdata/debug/usr/lib/libobjc.so.3.0.debug comp-sys-debug gcc=45,debug +./usr/libdata/debug/usr/lib/libobjc.so.4.0.debug comp-sys-debug gcc=48,debug +./usr/libdata/debug/usr/lib/libopcodes.so.6.0.debug comp-c-debug binutils,debug +./usr/libdata/debug/usr/lib/libossaudio.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libp2k.so.2.0.debug comp-puffs-debug debug,rump +./usr/libdata/debug/usr/lib/libpam.so.4.0.debug comp-sys-debug pam,debug +./usr/libdata/debug/usr/lib/libpcap.so.5.0.debug comp-net-debug debug +./usr/libdata/debug/usr/lib/libpci.so.2.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libperfuse.so.0.0.debug comp-perfuse-debug debug +./usr/libdata/debug/usr/lib/libposix.so.0.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libppath.so.0.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libprop.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libpthread.so.1.2.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libpthread_dbg.so.2.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libpuffs.so.2.0.debug comp-puffs-debug debug +./usr/libdata/debug/usr/lib/libquota.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libradius.so.4.0.debug comp-net-debug debug +./usr/libdata/debug/usr/lib/librefuse.so.2.0.debug comp-refuse-debug debug +./usr/libdata/debug/usr/lib/libresolv.so.3.0.debug comp-net-debug debug +./usr/libdata/debug/usr/lib/libroken.so.19.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/librpcsvc.so.1.0.debug comp-net-debug debug +./usr/libdata/debug/usr/lib/librt.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/librump.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpclient.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_audio.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_bpf.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_cgd.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_disk.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_dm.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_drvctl.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_fss.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_md.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_netsmb.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_pad.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_pud.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_putter.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_raidframe.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_rnd.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_scsipi.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_scsitest.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_sysmon.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_ubt.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_ucom.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_ugenhc.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_ulpt.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_umass.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_usb.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpdev_wscons.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_cd9660.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_efs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_ext2fs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_fdesc.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_ffs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_hfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_kernfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_lfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_mfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_msdos.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_nfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_nfsserver.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_nilfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_ntfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_null.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_ptyfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_smbfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_syspuffs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_sysvbfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_tmpfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_udf.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_umap.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_union.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_v7fs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpfs_zfs.so.0.0.debug comp-rump-debug debug,zfs,rump +./usr/libdata/debug/usr/lib/librumphijack.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpkern_crypto.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpkern_ksem.so.0.0.debug comp-obsolete obsolete,rump +./usr/libdata/debug/usr/lib/librumpkern_sljit.so.0.0.debug comp-rump-debug debug,sljit,rump +./usr/libdata/debug/usr/lib/librumpkern_solaris.so.0.0.debug comp-rump-debug debug,zfs,rump +./usr/libdata/debug/usr/lib/librumpkern_tty.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpkern_z.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_agr.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_bpfjit.so.0.0.debug comp-rump-debug debug,sljit,rump +./usr/libdata/debug/usr/lib/librumpnet_bridge.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_local.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_net.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_net80211.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_netbt.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_netinet.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_netinet6.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_netmpls.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_npf.so.0.0.debug comp-rump-debug npf,debug,rump +./usr/libdata/debug/usr/lib/librumpnet_shmif.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_sockin.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpnet_virtif.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpuser.so.0.1.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpvfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpvfs_fifofs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/librumpvfs_layerfs.so.0.0.debug comp-rump-debug debug,rump +./usr/libdata/debug/usr/lib/libsaslc.so.0.0.debug comp-sys-debug crypto,debug +./usr/libdata/debug/usr/lib/libskey.so.2.0.debug comp-sys-debug skey,debug +./usr/libdata/debug/usr/lib/libsl.so.5.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libsqlite3.so.1.1.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libssh.so.22.0.debug comp-secsh-debug crypto,debug +./usr/libdata/debug/usr/lib/libssl.so.10.1.debug comp-crypto-debug crypto,debug +./usr/libdata/debug/usr/lib/libstdc++.so.5.0.debug comp-sys-debug gcc=3,cxx,debug,libstdcxx +./usr/libdata/debug/usr/lib/libstdc++.so.7.0.debug comp-sys-debug gcc=4,cxx,debug,libstdcxx +./usr/libdata/debug/usr/lib/libstdc++.so.7.1.debug comp-sys-debug gcc=45,cxx,debug,libstdcxx +./usr/libdata/debug/usr/lib/libstdc++.so.7.2.debug comp-sys-debug gcc=48,cxx,debug,libstdcxx +./usr/libdata/debug/usr/lib/libterminfo.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libtpm_unseal.so.1.0.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/lib/libtre.so.0.8.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libtspi.so.3.0.debug comp-tpm-debug tpm,debug +./usr/libdata/debug/usr/lib/libukfs.so.1.0.debug comp-sys-debug debug,rump +./usr/libdata/debug/usr/lib/libumem.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug +./usr/libdata/debug/usr/lib/libusbhid.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libutil.so.7.21.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libuutil.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug +./usr/libdata/debug/usr/lib/libwind.so.0.0.debug comp-krb5-debug kerberos,debug +./usr/libdata/debug/usr/lib/libwrap.so.1.0.debug comp-net-debug debug +./usr/libdata/debug/usr/lib/libz.so.1.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libzfs.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug +./usr/libdata/debug/usr/lib/libzpool.so.0.0.debug comp-zfs-debug zfs,dynamicroot,debug +./usr/libdata/debug/usr/lib/npf/ext_log.so.0.0.debug comp-obsolete debug,npf,obsolete +./usr/libdata/debug/usr/lib/npf/ext_normalise.so.0.0.debug comp-obsolete debug,npf,obsolete +./usr/libdata/debug/usr/lib/npf/ext_rndblock.so.0.0.debug comp-obsolete debug,npf,obsolete +./usr/libdata/debug/usr/lib/npf/libext_log.so.0.0.debug comp-obsolete debug,npf,obsolete +./usr/libdata/debug/usr/lib/npf/libext_normalise.so.0.0.debug comp-obsolete debug,npf,obsolete +./usr/libdata/debug/usr/lib/npf/libext_rndblock.so.0.0.debug comp-obsolete debug,npf,obsolete +./usr/libdata/debug/usr/libexec/ld.elf_so.debug comp-sys-debug debug +./usr/libdata/debug/usr/tests/lib/csu/h_initfini3_dso.so.1.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/csu/libh_initfini3_dso.so.1.debug tests-obsolete debug,atf,obsolete +./usr/libdata/debug/usr/tests/lib/libc/tls/h_tls_dlopen.so.1.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/tls/libh_tls_dlopen.so.1.debug tests-obsolete debug,atf,obsolete +./usr/libdata/debug/usr/tests/lib/libc/tls/libh_tls_dynamic.so.1.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/tls/t_tls_dlopen.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/lib/libc/tls/t_tls_dynamic.debug tests-lib-debug debug,atf +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_helper_symver_dso0/libh_helper_symver_dso.so.1.debug tests-libexec-debug debug,atf +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_helper_symver_dso1/libh_helper_symver_dso.so.1.debug tests-libexec-debug debug,atf +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_helper_symver_dso2/libh_helper_symver_dso.so.1.debug tests-libexec-debug debug,atf +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/libh_helper_dso1.so.1.debug tests-libexec-debug debug,atf +./usr/libdata/debug/usr/tests/libexec/ld.elf_so/libh_helper_dso2.so.1.debug tests-libexec-debug debug,atf diff --git a/distrib/sets/lists/etc/md.evbarm b/distrib/sets/lists/etc/md.evbarm new file mode 100644 index 000000000..24ec6c6af --- /dev/null +++ b/distrib/sets/lists/etc/md.evbarm @@ -0,0 +1,2 @@ +# $NetBSD: md.evbarm,v 1.3 2013/08/19 16:34:30 matt Exp $ +./etc/ld.so.conf etc-sys-etc softfloat diff --git a/distrib/sets/lists/etc/mi b/distrib/sets/lists/etc/mi index 3383e9c27..59d049659 100644 --- a/distrib/sets/lists/etc/mi +++ b/distrib/sets/lists/etc/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.228 2012/02/07 19:13:28 joerg Exp $ +# $NetBSD: mi,v 1.232 2013/08/11 22:29:03 joerg Exp $ # # Note: end-user configuration files that are moved to another location # should not be marked "obsolete"; they should just be removed from @@ -17,11 +17,6 @@ ./etc/atf/atf-run.hooks etc-atf-etc atf ./etc/atf/common.conf etc-atf-etc atf ./etc/audit-packages.conf etc-obsolete obsolete -./etc/bootptab etc-bootserver-etc -./etc/changelist etc-sys-etc -./etc/csh.cshrc etc-util-etc -./etc/csh.login etc-util-etc -./etc/csh.logout etc-util-etc ./etc/bluetooth etc-sys-etc ./etc/bluetooth/bluetooth.conf etc-obsolete obsolete ./etc/bluetooth/btattach.conf etc-sys-etc @@ -29,6 +24,11 @@ ./etc/bluetooth/btuartd.conf etc-obsolete obsolete ./etc/bluetooth/hosts etc-sys-etc ./etc/bluetooth/protocols etc-sys-etc +./etc/bootptab etc-bootserver-etc +./etc/changelist etc-sys-etc +./etc/csh.cshrc etc-util-etc +./etc/csh.login etc-util-etc +./etc/csh.logout etc-util-etc ./etc/daily etc-sys-etc ./etc/daily.conf etc-sys-etc ./etc/default etc-obsolete obsolete @@ -40,6 +40,7 @@ ./etc/defaults/daily.conf etc-sys-defaults ./etc/defaults/monthly.conf etc-sys-defaults ./etc/defaults/pf.boot.conf etc-pf-defaults pf +./etc/defaults/pkgpath.conf etc-sys-defaults ./etc/defaults/rc.conf etc-sys-defaults ./etc/defaults/security.conf etc-sys-defaults ./etc/defaults/weekly.conf etc-sys-defaults @@ -73,6 +74,7 @@ ./etc/inetd.conf etc-netutil-etc ./etc/iscsi/auths etc-iscsi-etc iscsi ./etc/iscsi/targets etc-iscsi-etc iscsi +./etc/kyua/kyua.conf etc-kyua-etc kyua ./etc/lkm.conf etc-obsolete obsolete ./etc/localtime etc-sys-etc ./etc/locate.conf etc-sys-etc @@ -92,6 +94,7 @@ ./etc/mtree/special etc-sys-etc ./etc/named.conf etc-bind-etc ./etc/namedb/127 etc-bind-etc +./etc/namedb/bind.keys etc-bind-etc ./etc/namedb/localhost etc-bind-etc ./etc/namedb/loopback.v6 etc-bind-etc ./etc/namedb/root.cache etc-bind-etc @@ -131,6 +134,7 @@ ./etc/pf.conf etc-pf-etc pf ./etc/pf.os etc-pf-etc pf ./etc/phones etc-sys-etc +./etc/pkgpath.conf etc-sys-etc ./etc/postfix/README etc-postfix-etc postfix ./etc/postfix/main.cf etc-postfix-etc postfix ./etc/postfix/master.cf etc-postfix-etc postfix @@ -193,14 +197,14 @@ ./etc/rc.d/envsys etc-sys-rc ./etc/rc.d/fixsb etc-obsolete obsolete ./etc/rc.d/fsck etc-sys-rc -./etc/rc.d/fsck_root etc-sys-rc ./etc/rc.d/fsck.sh etc-obsolete obsolete +./etc/rc.d/fsck_root etc-sys-rc ./etc/rc.d/ftp_proxy etc-net-rc ./etc/rc.d/ftpd etc-net-rc -./etc/rc.d/hostapd etc-net-rc -./etc/rc.d/httpd etc-net-rc ./etc/rc.d/gated etc-obsolete obsolete ./etc/rc.d/gpio etc-sys-rc +./etc/rc.d/hostapd etc-net-rc +./etc/rc.d/httpd etc-net-rc ./etc/rc.d/identd etc-net-rc ./etc/rc.d/ifwatchd etc-net-rc ./etc/rc.d/inetd etc-net-rc @@ -305,10 +309,10 @@ ./etc/rpc etc-net-etc ./etc/saslc.d etc-libsaslc-etc ./etc/saslc.d/mech obsolete obsolete -./etc/saslc.d/saslc etc-libsaslc-etc -./etc/saslc.d/saslc/mech etc-libsaslc-etc ./etc/saslc.d/postfix etc-libsaslc-postfix ./etc/saslc.d/postfix/mech etc-libsaslc-postfix +./etc/saslc.d/saslc etc-libsaslc-etc +./etc/saslc.d/saslc/mech etc-libsaslc-etc ./etc/security etc-sys-etc ./etc/security.conf etc-sys-etc ./etc/services etc-net-etc diff --git a/distrib/sets/lists/games/mi b/distrib/sets/lists/games/mi index c6ce7388c..fd4d42b8f 100644 --- a/distrib/sets/lists/games/mi +++ b/distrib/sets/lists/games/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.47 2012/06/06 00:23:09 christos Exp $ +# $NetBSD: mi,v 1.49 2013/11/12 17:46:21 mbalmer Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -14,6 +14,7 @@ ./usr/games/caesar games-utils-bin ./usr/games/canfield games-games-bin ./usr/games/cfscores games-games-bin +./usr/games/cgram games-games-bin ./usr/games/chess games-obsolete obsolete ./usr/games/ching games-games-bin ./usr/games/colorbars games-utils-bin @@ -26,6 +27,7 @@ ./usr/games/fortune games-utils-bin ./usr/games/gomoku games-games-bin ./usr/games/hack games-games-bin +./usr/games/hals_end games-games-bin ./usr/games/hangman games-games-bin ./usr/games/hide/adventure games-obsolete obsolete ./usr/games/hide/arithmetic games-obsolete obsolete @@ -201,6 +203,7 @@ ./usr/share/man/cat6/boggle.0 games-games-catman .cat ./usr/share/man/cat6/caesar.0 games-utils-catman .cat ./usr/share/man/cat6/canfield.0 games-games-catman .cat +./usr/share/man/cat6/cgram.0 games-games-catman .cat ./usr/share/man/cat6/chess.0 games-obsolete obsolete ./usr/share/man/cat6/ching.0 games-games-catman .cat ./usr/share/man/cat6/colorbars.0 games-utils-catman .cat @@ -212,6 +215,7 @@ ./usr/share/man/cat6/fortune.0 games-utils-catman .cat ./usr/share/man/cat6/gomoku.0 games-games-catman .cat ./usr/share/man/cat6/hack.0 games-games-catman .cat +./usr/share/man/cat6/hals_end.0 games-games-catman .cat ./usr/share/man/cat6/hangman.0 games-games-catman .cat ./usr/share/man/cat6/hunt.0 games-games-catman .cat ./usr/share/man/cat6/huntd.0 games-games-catman .cat @@ -255,6 +259,7 @@ ./usr/share/man/html6/boggle.html games-games-htmlman html ./usr/share/man/html6/caesar.html games-utils-htmlman html ./usr/share/man/html6/canfield.html games-games-htmlman html +./usr/share/man/html6/cgram.html games-games-htmlman html ./usr/share/man/html6/ching.html games-games-htmlman html ./usr/share/man/html6/colorbars.html games-utils-htmlman html ./usr/share/man/html6/countmail.html games-utils-htmlman html @@ -265,6 +270,7 @@ ./usr/share/man/html6/fortune.html games-utils-htmlman html ./usr/share/man/html6/gomoku.html games-games-htmlman html ./usr/share/man/html6/hack.html games-games-htmlman html +./usr/share/man/html6/hals_end.html games-games-htmlman html ./usr/share/man/html6/hangman.html games-games-htmlman html ./usr/share/man/html6/hunt.html games-games-htmlman html ./usr/share/man/html6/huntd.html games-games-htmlman html @@ -308,6 +314,7 @@ ./usr/share/man/man6/boggle.6 games-games-man .man ./usr/share/man/man6/caesar.6 games-utils-man .man ./usr/share/man/man6/canfield.6 games-games-man .man +./usr/share/man/man6/cgram.6 games-games-man .man ./usr/share/man/man6/chess.6 games-obsolete obsolete ./usr/share/man/man6/ching.6 games-games-man .man ./usr/share/man/man6/colorbars.6 games-utils-man .man @@ -319,6 +326,7 @@ ./usr/share/man/man6/fortune.6 games-utils-man .man ./usr/share/man/man6/gomoku.6 games-games-man .man ./usr/share/man/man6/hack.6 games-games-man .man +./usr/share/man/man6/hals_end.6 games-games-man .man ./usr/share/man/man6/hangman.6 games-games-man .man ./usr/share/man/man6/hunt.6 games-games-man .man ./usr/share/man/man6/huntd.6 games-games-man .man diff --git a/distrib/sets/lists/man/mi b/distrib/sets/lists/man/mi index 471a2d749..ce7eb1c5a 100644 --- a/distrib/sets/lists/man/mi +++ b/distrib/sets/lists/man/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1403 2012/09/16 18:59:26 tls Exp $ +# $NetBSD: mi,v 1.1450 2013/11/13 20:55:08 mbalmer Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -54,15 +54,20 @@ ./usr/share/man/cat1/atf-check.0 man-atf-catman .cat,atf ./usr/share/man/cat1/atf-cleanup.0 man-obsolete obsolete ./usr/share/man/cat1/atf-compile.0 man-obsolete obsolete -./usr/share/man/cat1/atf-config.0 man-atf-catman .cat,atf +./usr/share/man/cat1/atf-config.0 man-atf-catman .cat,atf,!kyua +./usr/share/man/cat1/atf-config.0 man-obsolete .cat,kyua,obsolete ./usr/share/man/cat1/atf-exec.0 man-atf-catman obsolete ./usr/share/man/cat1/atf-format.0 man-obsolete obsolete ./usr/share/man/cat1/atf-killpg.0 man-obsolete obsolete ./usr/share/man/cat1/atf-report.0 man-atf-catman .cat,atf +./usr/share/man/cat1/atf-report.0 man-kyua-catman .cat,kyua ./usr/share/man/cat1/atf-run.0 man-atf-catman .cat,atf +./usr/share/man/cat1/atf-run.0 man-kyua-catman .cat,kyua ./usr/share/man/cat1/atf-sh.0 man-atf-catman .cat,atf ./usr/share/man/cat1/atf-test-program.0 man-atf-catman .cat,atf -./usr/share/man/cat1/atf-version.0 man-atf-catman .cat,atf +./usr/share/man/cat1/atf-version.0 man-atf-catman .cat,atf,!kyua +./usr/share/man/cat1/atf-version.0 man-obsolete .cat,kyua,obsolete +./usr/share/man/cat1/atf2kyua.0 man-kyua-catman .cat,kyua ./usr/share/man/cat1/atq.0 man-cron-catman .cat ./usr/share/man/cat1/atrm.0 man-cron-catman .cat ./usr/share/man/cat1/audiocfg.0 man-audio-catman .cat @@ -120,6 +125,9 @@ ./usr/share/man/cat1/csh.0 man-util-catman .cat ./usr/share/man/cat1/csplit.0 man-util-catman .cat ./usr/share/man/cat1/ctags.0 man-c-catman .cat +./usr/share/man/cat1/ctfconvert.0 man-util-catman .cat,dtrace +./usr/share/man/cat1/ctfdump.0 man-util-catman .cat,dtrace +./usr/share/man/cat1/ctfmerge.0 man-util-catman .cat,dtrace ./usr/share/man/cat1/cu.0 man-util-catman .cat ./usr/share/man/cat1/cut.0 man-util-catman .cat ./usr/share/man/cat1/daicctl.0 man-sysutil-catman .cat @@ -159,6 +167,7 @@ ./usr/share/man/cat1/fincore.0 man-util-catman .cat ./usr/share/man/cat1/find.0 man-util-catman .cat ./usr/share/man/cat1/finger.0 man-util-catman .cat +./usr/share/man/cat1/flock.0 man-util-catman .cat ./usr/share/man/cat1/fmt.0 man-util-catman .cat ./usr/share/man/cat1/fold.0 man-util-catman .cat ./usr/share/man/cat1/foreach.0 man-util-catman .cat @@ -233,6 +242,20 @@ ./usr/share/man/cat1/ksh.0 man-util-catman .cat ./usr/share/man/cat1/ktrace.0 man-debug-catman .cat ./usr/share/man/cat1/ktruss.0 man-debug-catman .cat +./usr/share/man/cat1/kyua-about.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-atf-tester.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-config.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-db-exec.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-db-migrate.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-debug.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-help.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-list.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-plain-tester.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-report-html.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-report.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-test.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua-tester.0 man-kyua-catman kyua,.cat +./usr/share/man/cat1/kyua.0 man-kyua-catman kyua,.cat ./usr/share/man/cat1/lam.0 man-util-catman .cat ./usr/share/man/cat1/last.0 man-util-catman .cat ./usr/share/man/cat1/lastcomm.0 man-util-catman .cat @@ -299,6 +322,7 @@ ./usr/share/man/cat1/mkfilters.0 man-ipf-catman ipfilter,.cat ./usr/share/man/cat1/mklocale.0 man-util-catman .cat ./usr/share/man/cat1/mktemp.0 man-util-catman .cat +./usr/share/man/cat1/mkubootimage.0 man-util-catman .cat ./usr/share/man/cat1/mopa.out.0 man-obsolete obsolete ./usr/share/man/cat1/mopchk.0 man-bootserver-catman .cat ./usr/share/man/cat1/mopcopy.0 man-bootserver-catman .cat @@ -494,6 +518,7 @@ ./usr/share/man/cat1/source.0 man-util-catman .cat ./usr/share/man/cat1/spell.0 man-util-catman .cat ./usr/share/man/cat1/split.0 man-util-catman .cat +./usr/share/man/cat1/sqlite3.0 man-util-catman .cat ./usr/share/man/cat1/srtconfig.0 man-netutil-catman .cat ./usr/share/man/cat1/ssh-add.0 man-secsh-catman crypto,.cat ./usr/share/man/cat1/ssh-agent.0 man-secsh-catman crypto,.cat @@ -529,6 +554,8 @@ ./usr/share/man/cat1/top.0 man-util-catman .cat ./usr/share/man/cat1/touch.0 man-util-catman .cat ./usr/share/man/cat1/tpfmt.0 man-util-catman .cat +./usr/share/man/cat1/tpm_sealdata.0 man-tpm-catman tpm,.cat +./usr/share/man/cat1/tpm_version.0 man-tpm-catman tpm,.cat ./usr/share/man/cat1/tput.0 man-util-catman .cat ./usr/share/man/cat1/tr.0 man-util-catman .cat ./usr/share/man/cat1/true.0 man-util-catman .cat @@ -601,6 +628,7 @@ ./usr/share/man/cat1/zfgrep.0 man-util-catman .cat ./usr/share/man/cat1/zforce.0 man-util-catman .cat ./usr/share/man/cat1/zgrep.0 man-util-catman .cat +./usr/share/man/cat1/zless.0 man-util-catman .cat ./usr/share/man/cat1/zmore.0 man-util-catman .cat ./usr/share/man/cat1/znew.0 man-util-catman .cat ./usr/share/man/cat3/atari/ahdi_buildlabel.0 man-obsolete obsolete @@ -610,6 +638,19 @@ ./usr/share/man/cat3/atari/ahdi_writelabel.0 man-obsolete obsolete ./usr/share/man/cat3/i386 man-obsolete obsolete ./usr/share/man/cat3/i386/keycap.0 man-obsolete obsolete +./usr/share/man/cat3lua/gpio.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.attach.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.close.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.info.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.open.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.read.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.set.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.toggle.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.unset.0 man-sys-catman .cat +./usr/share/man/cat3lua/gpio.write.0 man-sys-catman .cat +./usr/share/man/cat3lua/intro.0 man-sys-catman .cat +./usr/share/man/cat3lua/sqlite.0 man-sys-catman .cat +./usr/share/man/cat3lua/syslog.0 man-sys-catman .cat ./usr/share/man/cat4/aac.0 man-sys-catman .cat ./usr/share/man/cat4/ac97.0 man-sys-catman .cat ./usr/share/man/cat4/acardide.0 man-sys-catman .cat @@ -739,6 +780,7 @@ ./usr/share/man/cat4/amiga/cv3dpb.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/ed.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/efa.0 man-sys-catman .cat +./usr/share/man/cat4/amiga/em4k.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/empb.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/es.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/fdc.0 man-sys-catman .cat @@ -764,7 +806,9 @@ ./usr/share/man/cat4/amiga/qn.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/ser.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/wesc.0 man-sys-catman .cat +./usr/share/man/cat4/amiga/xsh.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/xsurf.0 man-sys-catman .cat +./usr/share/man/cat4/amiga/z3rambd.0 man-sys-catman .cat ./usr/share/man/cat4/amiga/zssc.0 man-sys-catman .cat ./usr/share/man/cat4/amr.0 man-sys-catman .cat ./usr/share/man/cat4/ams.0 man-sys-catman .cat @@ -825,6 +869,7 @@ ./usr/share/man/cat4/ate.0 man-sys-catman .cat ./usr/share/man/cat4/atf-test-case.0 man-atf-catman .cat,atf ./usr/share/man/cat4/ath.0 man-sys-catman .cat +./usr/share/man/cat4/athn.0 man-sys-catman .cat ./usr/share/man/cat4/atphy.0 man-sys-catman .cat ./usr/share/man/cat4/atppc.0 man-sys-catman .cat ./usr/share/man/cat4/attimer.0 man-sys-catman .cat @@ -844,6 +889,7 @@ ./usr/share/man/cat4/auvitek.0 man-sys-catman .cat ./usr/share/man/cat4/awi.0 man-sys-catman .cat ./usr/share/man/cat4/axe.0 man-sys-catman .cat +./usr/share/man/cat4/axen.0 man-sys-catman .cat ./usr/share/man/cat4/az.0 man-sys-catman .cat ./usr/share/man/cat4/azalia.0 man-sys-catman .cat ./usr/share/man/cat4/battery_pmu.0 man-sys-catman .cat @@ -896,9 +942,9 @@ ./usr/share/man/cat4/ciss.0 man-sys-catman .cat ./usr/share/man/cat4/clcs.0 man-sys-catman .cat ./usr/share/man/cat4/clct.0 man-sys-catman .cat -./usr/share/man/cat4/clnp.0 man-sys-catman .cat +./usr/share/man/cat4/clnp.0 man-obsolete obsolete ./usr/share/man/cat4/clockctl.0 man-sys-catman .cat -./usr/share/man/cat4/cltp.0 man-sys-catman .cat +./usr/share/man/cat4/cltp.0 man-obsolete obsolete ./usr/share/man/cat4/cmdide.0 man-sys-catman .cat ./usr/share/man/cat4/cmpci.0 man-sys-catman .cat ./usr/share/man/cat4/cms.0 man-sys-catman .cat @@ -906,6 +952,7 @@ ./usr/share/man/cat4/cobalt/gt.0 man-sys-catman .cat ./usr/share/man/cat4/cobalt/intro.0 man-sys-catman .cat ./usr/share/man/cat4/com.0 man-sys-catman .cat +./usr/share/man/cat4/coram.0 man-sys-catman .cat ./usr/share/man/cat4/coretemp.0 man-obsolete obsolete ./usr/share/man/cat4/crypto.0 man-sys-catman .cat ./usr/share/man/cat4/cs.0 man-sys-catman .cat @@ -913,6 +960,7 @@ ./usr/share/man/cat4/cuda.0 man-sys-catman .cat ./usr/share/man/cat4/cue.0 man-sys-catman .cat ./usr/share/man/cat4/cx24227.0 man-sys-catman .cat +./usr/share/man/cat4/cxdtv.0 man-sys-catman .cat ./usr/share/man/cat4/cy.0 man-sys-catman .cat ./usr/share/man/cat4/cypide.0 man-sys-catman .cat ./usr/share/man/cat4/cz.0 man-sys-catman .cat @@ -947,6 +995,7 @@ ./usr/share/man/cat4/dtv.0 man-sys-catman .cat ./usr/share/man/cat4/dtviic.0 man-sys-catman .cat ./usr/share/man/cat4/dty.0 man-sys-catman .cat +./usr/share/man/cat4/dwctwo.0 man-sys-catman .cat ./usr/share/man/cat4/ea.0 man-sys-catman .cat ./usr/share/man/cat4/eap.0 man-sys-catman .cat ./usr/share/man/cat4/eb.0 man-sys-catman .cat @@ -976,7 +1025,7 @@ ./usr/share/man/cat4/esa.0 man-sys-catman .cat ./usr/share/man/cat4/esh.0 man-sys-catman .cat ./usr/share/man/cat4/esiop.0 man-sys-catman .cat -./usr/share/man/cat4/esis.0 man-sys-catman .cat +./usr/share/man/cat4/esis.0 man-obsolete obsolete ./usr/share/man/cat4/esl.0 man-obsolete obsolete ./usr/share/man/cat4/esm.0 man-sys-catman .cat ./usr/share/man/cat4/eso.0 man-sys-catman .cat @@ -985,6 +1034,7 @@ ./usr/share/man/cat4/et.0 man-sys-catman .cat ./usr/share/man/cat4/etherip.0 man-sys-catman .cat ./usr/share/man/cat4/etphy.0 man-sys-catman .cat +./usr/share/man/cat4/evbarm/cpsw.0 man-sys-catman .cat ./usr/share/man/cat4/evbarm/epgpio.0 man-sys-catman .cat ./usr/share/man/cat4/evbarm/intro.0 man-sys-catman .cat ./usr/share/man/cat4/evbarm/iopaau.0 man-sys-catman .cat @@ -1174,6 +1224,7 @@ ./usr/share/man/cat4/i4btrc.0 man-obsolete obsolete ./usr/share/man/cat4/i915drm.0 man-sys-catman .cat ./usr/share/man/cat4/iavc.0 man-sys-catman .cat +./usr/share/man/cat4/ibmcd.0 man-sys-catman .cat ./usr/share/man/cat4/ibmhawk.0 man-sys-catman .cat ./usr/share/man/cat4/ichlpcib.0 man-obsolete obsolete ./usr/share/man/cat4/ichsmb.0 man-sys-catman .cat @@ -1231,7 +1282,7 @@ ./usr/share/man/cat4/isdntel.0 man-sys-catman .cat ./usr/share/man/cat4/isdntrc.0 man-sys-catman .cat ./usr/share/man/cat4/isic.0 man-sys-catman .cat -./usr/share/man/cat4/iso.0 man-sys-catman .cat +./usr/share/man/cat4/iso.0 man-obsolete obsolete ./usr/share/man/cat4/isp.0 man-sys-catman .cat ./usr/share/man/cat4/isv.0 man-sys-catman .cat ./usr/share/man/cat4/it.0 man-obsolete obsolete @@ -1261,9 +1312,11 @@ ./usr/share/man/cat4/lkm.0 man-obsolete obsolete ./usr/share/man/cat4/lm.0 man-sys-catman .cat ./usr/share/man/cat4/lmc.0 man-sys-catman .cat +./usr/share/man/cat4/lmenv.0 man-sys-catman .cat ./usr/share/man/cat4/lmtemp.0 man-sys-catman .cat ./usr/share/man/cat4/lo.0 man-sys-catman .cat ./usr/share/man/cat4/lsu.0 man-obsolete obsolete +./usr/share/man/cat4/lua.0 man-sys-catman .cat ./usr/share/man/cat4/lxtphy.0 man-sys-catman .cat ./usr/share/man/cat4/m25p.0 man-sys-catman .cat ./usr/share/man/cat4/mac68k/adb.0 man-obsolete obsolete @@ -1299,6 +1352,7 @@ ./usr/share/man/cat4/mca.0 man-sys-catman .cat ./usr/share/man/cat4/mcclock.0 man-sys-catman .cat ./usr/share/man/cat4/mcd.0 man-sys-catman .cat +./usr/share/man/cat4/mcp980x.0 man-sys-catman .cat ./usr/share/man/cat4/md.0 man-sys-catman .cat ./usr/share/man/cat4/mfb.0 man-sys-catman .cat ./usr/share/man/cat4/mfi.0 man-sys-catman .cat @@ -1311,13 +1365,15 @@ ./usr/share/man/cat4/mlx.0 man-sys-catman .cat ./usr/share/man/cat4/mly.0 man-sys-catman .cat ./usr/share/man/cat4/module.0 man-obsolete obsolete -./usr/share/man/cat4/mpls.0 man-sys-catman .cat ./usr/share/man/cat4/mpii.0 man-sys-catman .cat +./usr/share/man/cat4/mpl115a.0 man-sys-catman .cat +./usr/share/man/cat4/mpls.0 man-sys-catman .cat ./usr/share/man/cat4/mpt.0 man-sys-catman .cat ./usr/share/man/cat4/mpu.0 man-sys-catman .cat ./usr/share/man/cat4/mr.0 man-obsolete obsolete ./usr/share/man/cat4/msk.0 man-sys-catman .cat ./usr/share/man/cat4/mskc.0 man-sys-catman .cat +./usr/share/man/cat4/msm6242b.0 man-sys-catman .cat ./usr/share/man/cat4/mt2131.0 man-sys-catman .cat ./usr/share/man/cat4/mtd.0 man-sys-catman .cat ./usr/share/man/cat4/mtio.0 man-sys-catman .cat @@ -1448,6 +1504,7 @@ ./usr/share/man/cat4/prep/nvram.0 man-sys-catman .cat ./usr/share/man/cat4/pseye.0 man-sys-catman .cat ./usr/share/man/cat4/pss.0 man-obsolete obsolete +./usr/share/man/cat4/ptcd.0 man-sys-catman .cat ./usr/share/man/cat4/ptm.0 man-sys-catman .cat ./usr/share/man/cat4/pty.0 man-sys-catman .cat ./usr/share/man/cat4/puc.0 man-sys-catman .cat @@ -1595,6 +1652,7 @@ ./usr/share/man/cat4/sparc64/lom.0 man-sys-catman .cat ./usr/share/man/cat4/sparc64/sab.0 man-sys-catman .cat ./usr/share/man/cat4/sparc64/sabtty.0 man-sys-catman .cat +./usr/share/man/cat4/sparc64/tda.0 man-sys-catman .cat ./usr/share/man/cat4/spc.0 man-sys-catman .cat ./usr/share/man/cat4/spdmem.0 man-sys-catman .cat ./usr/share/man/cat4/speaker.0 man-sys-catman .cat @@ -1665,9 +1723,10 @@ ./usr/share/man/cat4/tlp.0 man-sys-catman .cat ./usr/share/man/cat4/tlphy.0 man-sys-catman .cat ./usr/share/man/cat4/tm121temp.0 man-sys-catman .cat -./usr/share/man/cat4/tp.0 man-sys-catman .cat +./usr/share/man/cat4/tp.0 man-obsolete obsolete ./usr/share/man/cat4/tpm.0 man-sys-catman .cat ./usr/share/man/cat4/tprof.0 man-sys-catman .cat +./usr/share/man/cat4/tps65217pmic.0 man-sys-catman .cat ./usr/share/man/cat4/tqphy.0 man-sys-catman .cat ./usr/share/man/cat4/tr.0 man-sys-catman .cat ./usr/share/man/cat4/tra.0 man-sys-catman .cat @@ -1735,6 +1794,7 @@ ./usr/share/man/cat4/uscanner.0 man-sys-catman .cat ./usr/share/man/cat4/userconf.0 man-sys-catman .cat ./usr/share/man/cat4/uslsa.0 man-sys-catman .cat +./usr/share/man/cat4/usmsc.0 man-sys-catman .cat ./usr/share/man/cat4/usscanner.0 man-sys-catman .cat ./usr/share/man/cat4/ustir.0 man-sys-catman .cat ./usr/share/man/cat4/uthum.0 man-sys-catman .cat @@ -1761,6 +1821,7 @@ ./usr/share/man/cat4/vax/dl.0 man-sys-catman .cat ./usr/share/man/cat4/vax/dmc.0 man-sys-catman .cat ./usr/share/man/cat4/vax/dmf.0 man-sys-catman .cat +./usr/share/man/cat4/vax/dmv.0 man-sys-catman .cat ./usr/share/man/cat4/vax/dmz.0 man-sys-catman .cat ./usr/share/man/cat4/vax/dn.0 man-sys-catman .cat ./usr/share/man/cat4/vax/dz.0 man-sys-catman .cat @@ -1872,8 +1933,9 @@ ./usr/share/man/cat4/x86/mem.0 man-sys-catman .cat ./usr/share/man/cat4/x86/odcm.0 man-sys-catman .cat ./usr/share/man/cat4/x86/powernow.0 man-sys-catman .cat -./usr/share/man/cat4/x86/tprof_pmi.0 man-sys-catman .cat +./usr/share/man/cat4/x86/soekrisgpio.0 man-sys-catman .cat ./usr/share/man/cat4/x86/tprof_amdpmi.0 man-sys-catman .cat +./usr/share/man/cat4/x86/tprof_pmi.0 man-sys-catman .cat ./usr/share/man/cat4/x86/vmt.0 man-sys-catman .cat ./usr/share/man/cat4/xbd.0 man-sys-catman .cat ./usr/share/man/cat4/xbdback.0 man-sys-catman .cat @@ -1983,10 +2045,15 @@ ./usr/share/man/cat5/krb.extra.0 man-obsolete obsolete ./usr/share/man/cat5/krb.realms.0 man-obsolete obsolete ./usr/share/man/cat5/krb5.conf.0 man-krb5-catman kerberos,.cat +./usr/share/man/cat5/kyua-tester-list.0 man-kyua-catman kyua,.cat +./usr/share/man/cat5/kyua-tester-result.0 man-kyua-catman kyua,.cat +./usr/share/man/cat5/kyua.conf.0 man-kyua-catman kyua,.cat +./usr/share/man/cat5/kyuafile.0 man-kyua-catman kyua,.cat ./usr/share/man/cat5/lastlog.0 man-sys-catman .cat ./usr/share/man/cat5/lastlogx.0 man-sys-catman .cat ./usr/share/man/cat5/ld.so.conf.0 man-sys-catman .cat ./usr/share/man/cat5/ldap_table.0 man-postfix-catman postfix,.cat +./usr/share/man/cat5/ldpd.conf.0 man-router-catman .cat ./usr/share/man/cat5/link.0 man-sys-catman .cat ./usr/share/man/cat5/lkm.conf.0 man-obsolete obsolete ./usr/share/man/cat5/locale.alias.0 man-sys-catman .cat @@ -2000,6 +2067,7 @@ ./usr/share/man/cat5/map3270.0 man-obsolete obsolete ./usr/share/man/cat5/master.0 man-postfix-catman postfix,.cat ./usr/share/man/cat5/master.passwd.0 man-sys-catman .cat +./usr/share/man/cat5/memcache_table.0 man-postfix-catman postfix,.cat ./usr/share/man/cat5/mixerctl.conf.0 man-audio-catman .cat ./usr/share/man/cat5/moduli.0 man-secsh-catman crypto,.cat ./usr/share/man/cat5/monthly.0 man-sys-catman .cat @@ -2103,6 +2171,10 @@ ./usr/share/man/cat7/hier.0 man-reference-catman .cat ./usr/share/man/cat7/hostname.0 man-reference-catman .cat ./usr/share/man/cat7/intro.0 man-reference-catman .cat +./usr/share/man/cat7/kyua-atf-interface.0 man-kyua-catman kyua,.cat +./usr/share/man/cat7/kyua-build-root.0 man-kyua-catman kyua,.cat +./usr/share/man/cat7/kyua-plain-interface.0 man-kyua-catman kyua,.cat +./usr/share/man/cat7/kyua-test-filters.0 man-kyua-catman kyua,.cat ./usr/share/man/cat7/lint.0 man-reference-catman .cat ./usr/share/man/cat7/mailaddr.0 man-reference-catman .cat ./usr/share/man/cat7/mandoc.0 man-obsolete obsolete @@ -2115,6 +2187,7 @@ ./usr/share/man/cat7/packages.0 man-obsolete obsolete ./usr/share/man/cat7/pcap-filter.0 man-netutil-catman .cat ./usr/share/man/cat7/pcap-linktype.0 man-netutil-catman .cat +./usr/share/man/cat7/pcap-tstamp.0 man-netutil-catman .cat ./usr/share/man/cat7/pkgsrc.0 man-reference-catman .cat ./usr/share/man/cat7/re_format.0 man-reference-catman .cat ./usr/share/man/cat7/release.0 man-reference-catman .cat @@ -2156,7 +2229,7 @@ ./usr/share/man/cat8/altqd.0 man-router-catman .cat ./usr/share/man/cat8/amd.0 man-amd-catman .cat ./usr/share/man/cat8/amd64/MAKEDEV.0 man-obsolete obsolete -./usr/share/man/cat8/amd64/boot.0 man-sys-catman .cat +./usr/share/man/cat8/amd64/boot.0 man-obsolete obsolete ./usr/share/man/cat8/amd64/makedev.0 man-obsolete obsolete ./usr/share/man/cat8/amiga/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/amiga/binpatch.0 man-sysutil-catman .cat @@ -2280,6 +2353,7 @@ ./usr/share/man/cat8/dnssec-settime.0 man-bind-catman .cat ./usr/share/man/cat8/dnssec-signkey.0 man-obsolete obsolete ./usr/share/man/cat8/dnssec-signzone.0 man-bind-catman .cat +./usr/share/man/cat8/dnssec-verify.0 man-bind-catman .cat ./usr/share/man/cat8/dreamcast/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/dreamcast/boot.0 man-sysutil-catman .cat ./usr/share/man/cat8/dreamcast/makedev.0 man-obsolete obsolete @@ -2301,7 +2375,10 @@ ./usr/share/man/cat8/etcupdate.0 man-sysutil-catman .cat ./usr/share/man/cat8/evbarm/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/evbarm/bootmini2440.0 man-sysutil-catman .cat +./usr/share/man/cat8/evbarm/elftosb.0 man-sysutil-catman .cat ./usr/share/man/cat8/evbarm/makedev.0 man-obsolete obsolete +./usr/share/man/cat8/evbarm/sbkeygen.0 man-sysutil-catman .cat +./usr/share/man/cat8/evbarm/sbtool.0 man-sysutil-catman .cat ./usr/share/man/cat8/evbmips/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/evbmips/makedev.0 man-obsolete obsolete ./usr/share/man/cat8/evbppc/MAKEDEV.0 man-obsolete obsolete @@ -2360,8 +2437,8 @@ ./usr/share/man/cat8/hp300/makedev.0 man-obsolete obsolete ./usr/share/man/cat8/hp700/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/hp700/boot.0 man-sys-catman .cat -./usr/share/man/cat8/hp700/mkboot.0 man-sys-catman .cat ./usr/share/man/cat8/hp700/makedev.0 man-obsolete obsolete +./usr/share/man/cat8/hp700/mkboot.0 man-sys-catman .cat ./usr/share/man/cat8/hpcarm/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/hpcarm/boot.0 man-sys-catman .cat ./usr/share/man/cat8/hpcarm/makedev.0 man-obsolete obsolete @@ -2382,18 +2459,18 @@ ./usr/share/man/cat8/i386/apm.0 man-obsolete obsolete ./usr/share/man/cat8/i386/apmd.0 man-obsolete obsolete ./usr/share/man/cat8/i386/bad144.0 man-obsolete obsolete -./usr/share/man/cat8/i386/boot.0 man-sys-catman .cat -./usr/share/man/cat8/i386/boot_console.0 man-sys-catman .cat -./usr/share/man/cat8/i386/bootselect.0 man-sys-catman .cat -./usr/share/man/cat8/i386/dosboot.0 man-sys-catman .cat +./usr/share/man/cat8/i386/boot.0 man-obsolete obsolete +./usr/share/man/cat8/i386/boot_console.0 man-obsolete obsolete +./usr/share/man/cat8/i386/bootselect.0 man-obsolete obsolete +./usr/share/man/cat8/i386/dosboot.0 man-obsolete obsolete ./usr/share/man/cat8/i386/installboot.0 man-obsolete obsolete ./usr/share/man/cat8/i386/ispcvt.0 man-obsolete obsolete ./usr/share/man/cat8/i386/kbdio.0 man-obsolete obsolete ./usr/share/man/cat8/i386/makedev.0 man-obsolete obsolete -./usr/share/man/cat8/i386/mbr.0 man-sys-catman .cat -./usr/share/man/cat8/i386/multiboot.0 man-sys-catman .cat +./usr/share/man/cat8/i386/mbr.0 man-obsolete obsolete +./usr/share/man/cat8/i386/multiboot.0 man-obsolete obsolete ./usr/share/man/cat8/i386/ndiscvt.0 man-netutil-catman .cat -./usr/share/man/cat8/i386/pxeboot.0 man-sys-catman .cat +./usr/share/man/cat8/i386/pxeboot.0 man-obsolete obsolete ./usr/share/man/cat8/i386/reboot.0 man-obsolete obsolete ./usr/share/man/cat8/i386/reboot_i386.0 man-obsolete obsolete ./usr/share/man/cat8/i386/vgaio.0 man-obsolete obsolete @@ -2463,6 +2540,7 @@ ./usr/share/man/cat8/lockstat.0 man-sysutil-catman .cat ./usr/share/man/cat8/lpc.0 man-lpr-catman .cat ./usr/share/man/cat8/lpd.0 man-lpr-catman .cat +./usr/share/man/cat8/luactl.0 man-sysutil-catman .cat ./usr/share/man/cat8/luna68k/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/luna68k/makedev.0 man-obsolete obsolete ./usr/share/man/cat8/lvchange.0 man-lvm-catman lvm,.cat @@ -2900,11 +2978,36 @@ ./usr/share/man/cat8/tlsmgr.0 man-postfix-catman postfix,crypto,.cat ./usr/share/man/cat8/tlsproxy.0 man-postfix-catman postfix,crypto,.cat ./usr/share/man/cat8/tpctl.0 man-sysutil-catman .cat +./usr/share/man/cat8/tpm_changeownerauth.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_clear.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_createek.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_getpubek.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_nvdefine.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_nvinfo.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_nvread.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_nvrelease.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_nvwrite.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_resetdalock.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_restrictpubek.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_revokeek.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_selftest.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_setactive.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_setclearable.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_setenable.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_setoperatorauth.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_setownable.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_setpresence.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tpm_takeownership.0 man-tpm-catman tpm,.cat +./usr/share/man/cat8/tprof.0 man-sysutil-catman .cat +./usr/share/man/cat8/tprof.0 man-sysutil-catman .cat ./usr/share/man/cat8/trace.0 man-postfix-catman postfix,.cat +./usr/share/man/cat8/trace.0 man-postfix-catman postfix,.cat +./usr/share/man/cat8/traceroute.0 man-netutil-catman .cat ./usr/share/man/cat8/traceroute.0 man-netutil-catman .cat ./usr/share/man/cat8/traceroute6.0 man-netutil-catman use_inet6,.cat +./usr/share/man/cat8/traceroute6.0 man-netutil-catman use_inet6,.cat ./usr/share/man/cat8/trivial-rewrite.0 man-postfix-catman postfix,.cat -./usr/share/man/cat8/tprof.0 man-sysutil-catman .cat +./usr/share/man/cat8/trivial-rewrite.0 man-postfix-catman postfix,.cat ./usr/share/man/cat8/trpt.0 man-netutil-catman .cat ./usr/share/man/cat8/trsp.0 man-obsolete obsolete ./usr/share/man/cat8/ttyflags.0 man-sysutil-catman .cat @@ -2961,6 +3064,7 @@ ./usr/share/man/cat8/virtual.0 man-postfix-catman postfix,.cat ./usr/share/man/cat8/vmstat.0 man-obsolete obsolete ./usr/share/man/cat8/vnconfig.0 man-sysutil-catman .cat +./usr/share/man/cat8/vndconfig.0 man-sysutil-catman .cat ./usr/share/man/cat8/wake.0 man-obsolete obsolete ./usr/share/man/cat8/wakeonlan.0 man-netutil-catman .cat ./usr/share/man/cat8/walnut/MAKEDEV.0 man-obsolete obsolete @@ -2987,6 +3091,13 @@ ./usr/share/man/cat8/x68k/newdisk.0 man-sysutil-catman .cat ./usr/share/man/cat8/x68k/poffd.0 man-obsolete obsolete ./usr/share/man/cat8/x68k/rtcalarm.0 man-obsolete obsolete +./usr/share/man/cat8/x86/boot.0 man-sys-catman .cat +./usr/share/man/cat8/x86/boot_console.0 man-sys-catman .cat +./usr/share/man/cat8/x86/bootselect.0 man-sys-catman .cat +./usr/share/man/cat8/x86/dosboot.0 man-sys-catman .cat +./usr/share/man/cat8/x86/mbr.0 man-sys-catman .cat +./usr/share/man/cat8/x86/multiboot.0 man-sys-catman .cat +./usr/share/man/cat8/x86/pxeboot.0 man-sys-catman .cat ./usr/share/man/cat8/x86_64/MAKEDEV.0 man-obsolete obsolete ./usr/share/man/cat8/x86_64/makedev.0 man-obsolete obsolete ./usr/share/man/cat8/xntpd.0 man-obsolete obsolete @@ -3008,6 +3119,9 @@ ./usr/share/man/cat8/zpool.0 man-zfs-catman zfs,.cat ./usr/share/man/cat8/zzz.0 man-sysutil-catman .cat ./usr/share/man/cat9/boot.0 man-obsolete obsolete +./usr/share/man/cat9lua/core.0 man-sys-catman .cat +./usr/share/man/cat9lua/intro.0 man-sys-catman .cat +./usr/share/man/cat9lua/pmf.0 man-sys-catman .cat ./usr/share/man/html1/Mail.html man-mail-htmlman html ./usr/share/man/html1/[.html man-util-htmlman html ./usr/share/man/html1/agrep.html man-util-htmlman html @@ -3022,15 +3136,20 @@ ./usr/share/man/html1/atf-check.html man-atf-htmlman html,atf ./usr/share/man/html1/atf-cleanup.html man-obsolete obsolete ./usr/share/man/html1/atf-compile.html man-obsolete obsolete -./usr/share/man/html1/atf-config.html man-atf-htmlman html,atf +./usr/share/man/html1/atf-config.html man-atf-htmlman html,atf,!kyua +./usr/share/man/html1/atf-config.html man-obsolete html,kyua,obsolete ./usr/share/man/html1/atf-exec.html man-atf-htmlman obsolete ./usr/share/man/html1/atf-format.html man-obsolete obsolete ./usr/share/man/html1/atf-killpg.html man-obsolete obsolete ./usr/share/man/html1/atf-report.html man-atf-htmlman html,atf +./usr/share/man/html1/atf-report.html man-kyua-htmlman html,kyua ./usr/share/man/html1/atf-run.html man-atf-htmlman html,atf +./usr/share/man/html1/atf-run.html man-kyua-htmlman html,kyua ./usr/share/man/html1/atf-sh.html man-atf-htmlman html,atf ./usr/share/man/html1/atf-test-program.html man-atf-htmlman html,atf -./usr/share/man/html1/atf-version.html man-atf-htmlman html,atf +./usr/share/man/html1/atf-version.html man-atf-htmlman html,atf,!kyua +./usr/share/man/html1/atf-version.html man-obsolete html,kyua,obsolete +./usr/share/man/html1/atf2kyua.html man-kyua-htmlman html,kyua ./usr/share/man/html1/atq.html man-cron-htmlman html ./usr/share/man/html1/atrm.html man-cron-htmlman html ./usr/share/man/html1/audiocfg.html man-audio-htmlman html @@ -3088,6 +3207,9 @@ ./usr/share/man/html1/csh.html man-util-htmlman html ./usr/share/man/html1/csplit.html man-util-htmlman html ./usr/share/man/html1/ctags.html man-c-htmlman html +./usr/share/man/html1/ctfconvert.html man-util-htmlman html,dtrace +./usr/share/man/html1/ctfdump.html man-util-htmlman html,dtrace +./usr/share/man/html1/ctfmerge.html man-util-htmlman html,dtrace ./usr/share/man/html1/cu.html man-util-htmlman html ./usr/share/man/html1/cut.html man-util-htmlman html ./usr/share/man/html1/daicctl.html man-sysutil-htmlman html @@ -3125,6 +3247,7 @@ ./usr/share/man/html1/fincore.html man-util-htmlman html ./usr/share/man/html1/find.html man-util-htmlman html ./usr/share/man/html1/finger.html man-util-htmlman html +./usr/share/man/html1/flock.html man-util-htmlman html ./usr/share/man/html1/fmt.html man-util-htmlman html ./usr/share/man/html1/fold.html man-util-htmlman html ./usr/share/man/html1/foreach.html man-util-htmlman html @@ -3186,6 +3309,20 @@ ./usr/share/man/html1/ksh.html man-util-htmlman html ./usr/share/man/html1/ktrace.html man-debug-htmlman html ./usr/share/man/html1/ktruss.html man-debug-htmlman html +./usr/share/man/html1/kyua-about.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-atf-tester.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-config.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-db-exec.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-db-migrate.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-debug.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-help.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-list.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-plain-tester.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-report-html.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-report.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-test.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua-tester.html man-kyua-htmlman kyua,html +./usr/share/man/html1/kyua.html man-kyua-htmlman kyua,html ./usr/share/man/html1/lam.html man-util-htmlman html ./usr/share/man/html1/last.html man-util-htmlman html ./usr/share/man/html1/lastcomm.html man-util-htmlman html @@ -3252,6 +3389,7 @@ ./usr/share/man/html1/mkfilters.html man-ipf-htmlman ipfilter,html ./usr/share/man/html1/mklocale.html man-util-htmlman html ./usr/share/man/html1/mktemp.html man-util-htmlman html +./usr/share/man/html1/mkubootimage.html man-util-htmlman html ./usr/share/man/html1/mopchk.html man-bootserver-htmlman html ./usr/share/man/html1/mopcopy.html man-bootserver-htmlman html ./usr/share/man/html1/mopprobe.html man-bootserver-htmlman html @@ -3441,6 +3579,7 @@ ./usr/share/man/html1/source.html man-util-htmlman html ./usr/share/man/html1/spell.html man-util-htmlman html ./usr/share/man/html1/split.html man-util-htmlman html +./usr/share/man/html1/sqlite3.html man-util-htmlman html ./usr/share/man/html1/srtconfig.html man-netutil-htmlman html ./usr/share/man/html1/ssh-add.html man-secsh-htmlman crypto,html ./usr/share/man/html1/ssh-agent.html man-secsh-htmlman crypto,html @@ -3475,6 +3614,8 @@ ./usr/share/man/html1/top.html man-util-htmlman html ./usr/share/man/html1/touch.html man-util-htmlman html ./usr/share/man/html1/tpfmt.html man-util-htmlman html +./usr/share/man/html1/tpm_sealdata.html man-tpm-htmlman tpm,html +./usr/share/man/html1/tpm_version.html man-tpm-htmlman tpm,html ./usr/share/man/html1/tput.html man-util-htmlman html ./usr/share/man/html1/tr.html man-util-htmlman html ./usr/share/man/html1/true.html man-util-htmlman html @@ -3543,8 +3684,22 @@ ./usr/share/man/html1/zfgrep.html man-util-htmlman html ./usr/share/man/html1/zforce.html man-util-htmlman html ./usr/share/man/html1/zgrep.html man-util-htmlman html +./usr/share/man/html1/zless.html man-util-htmlman html ./usr/share/man/html1/zmore.html man-util-htmlman html ./usr/share/man/html1/znew.html man-util-htmlman html +./usr/share/man/html3lua/gpio.attach.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.close.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.info.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.open.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.read.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.set.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.toggle.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.unset.html man-sys-htmlman html +./usr/share/man/html3lua/gpio.write.html man-sys-htmlman html +./usr/share/man/html3lua/intro.html man-sys-htmlman html +./usr/share/man/html3lua/sqlite.html man-sys-htmlman html +./usr/share/man/html3lua/syslog.html man-sys-htmlman html ./usr/share/man/html4/aac.html man-sys-htmlman html ./usr/share/man/html4/ac97.html man-sys-htmlman html ./usr/share/man/html4/acardide.html man-sys-htmlman html @@ -3665,6 +3820,7 @@ ./usr/share/man/html4/amiga/cv3dpb.html man-sys-htmlman html ./usr/share/man/html4/amiga/ed.html man-sys-htmlman html ./usr/share/man/html4/amiga/efa.html man-sys-htmlman html +./usr/share/man/html4/amiga/em4k.html man-sys-htmlman html ./usr/share/man/html4/amiga/empb.html man-sys-htmlman html ./usr/share/man/html4/amiga/es.html man-sys-htmlman html ./usr/share/man/html4/amiga/fdc.html man-sys-htmlman html @@ -3689,7 +3845,9 @@ ./usr/share/man/html4/amiga/qn.html man-sys-htmlman html ./usr/share/man/html4/amiga/ser.html man-sys-htmlman html ./usr/share/man/html4/amiga/wesc.html man-sys-htmlman html +./usr/share/man/html4/amiga/xsh.html man-sys-htmlman html ./usr/share/man/html4/amiga/xsurf.html man-sys-htmlman html +./usr/share/man/html4/amiga/z3rambd.html man-sys-htmlman html ./usr/share/man/html4/amiga/zssc.html man-sys-htmlman html ./usr/share/man/html4/amr.html man-sys-htmlman html ./usr/share/man/html4/ams.html man-sys-htmlman html @@ -3715,6 +3873,7 @@ ./usr/share/man/html4/ate.html man-sys-htmlman html ./usr/share/man/html4/atf-test-case.html man-atf-htmlman html,atf ./usr/share/man/html4/ath.html man-sys-htmlman html +./usr/share/man/html4/athn.html man-sys-htmlman html ./usr/share/man/html4/atphy.html man-sys-htmlman html ./usr/share/man/html4/atppc.html man-sys-htmlman html ./usr/share/man/html4/attimer.html man-sys-htmlman html @@ -3734,6 +3893,7 @@ ./usr/share/man/html4/auvitek.html man-sys-htmlman html ./usr/share/man/html4/awi.html man-sys-htmlman html ./usr/share/man/html4/axe.html man-sys-htmlman html +./usr/share/man/html4/axen.html man-sys-htmlman html ./usr/share/man/html4/az.html man-sys-htmlman html ./usr/share/man/html4/azalia.html man-sys-htmlman html ./usr/share/man/html4/battery_pmu.html man-sys-htmlman html @@ -3783,9 +3943,9 @@ ./usr/share/man/html4/ciss.html man-sys-htmlman html ./usr/share/man/html4/clcs.html man-sys-htmlman html ./usr/share/man/html4/clct.html man-sys-htmlman html -./usr/share/man/html4/clnp.html man-sys-htmlman html +./usr/share/man/html4/clnp.html man-obsolete obsolete ./usr/share/man/html4/clockctl.html man-sys-htmlman html -./usr/share/man/html4/cltp.html man-sys-htmlman html +./usr/share/man/html4/cltp.html man-obsolete obsolete ./usr/share/man/html4/cmdide.html man-sys-htmlman html ./usr/share/man/html4/cmpci.html man-sys-htmlman html ./usr/share/man/html4/cms.html man-sys-htmlman html @@ -3793,6 +3953,7 @@ ./usr/share/man/html4/cobalt/gt.html man-sys-htmlman html ./usr/share/man/html4/cobalt/intro.html man-sys-htmlman html ./usr/share/man/html4/com.html man-sys-htmlman html +./usr/share/man/html4/coram.html man-sys-htmlman html ./usr/share/man/html4/coretemp.html man-obsolete obsolete ./usr/share/man/html4/crypto.html man-sys-htmlman html ./usr/share/man/html4/cs.html man-sys-htmlman html @@ -3800,6 +3961,7 @@ ./usr/share/man/html4/cuda.html man-sys-htmlman html ./usr/share/man/html4/cue.html man-sys-htmlman html ./usr/share/man/html4/cx24227.html man-sys-htmlman html +./usr/share/man/html4/cxdtv.html man-sys-htmlman html ./usr/share/man/html4/cy.html man-sys-htmlman html ./usr/share/man/html4/cypide.html man-sys-htmlman html ./usr/share/man/html4/cz.html man-sys-htmlman html @@ -3834,6 +3996,7 @@ ./usr/share/man/html4/dtv.html man-sys-htmlman html ./usr/share/man/html4/dtviic.html man-sys-htmlman html ./usr/share/man/html4/dty.html man-sys-htmlman html +./usr/share/man/html4/dwctwo.html man-sys-htmlman html ./usr/share/man/html4/ea.html man-sys-htmlman html ./usr/share/man/html4/eap.html man-sys-htmlman html ./usr/share/man/html4/eb.html man-sys-htmlman html @@ -3863,7 +4026,7 @@ ./usr/share/man/html4/esa.html man-sys-htmlman html ./usr/share/man/html4/esh.html man-sys-htmlman html ./usr/share/man/html4/esiop.html man-sys-htmlman html -./usr/share/man/html4/esis.html man-sys-htmlman html +./usr/share/man/html4/esis.html man-obsolete obsolete ./usr/share/man/html4/esl.html man-obsolete obsolete ./usr/share/man/html4/esm.html man-sys-htmlman html ./usr/share/man/html4/eso.html man-sys-htmlman html @@ -3872,6 +4035,7 @@ ./usr/share/man/html4/et.html man-sys-htmlman html ./usr/share/man/html4/etherip.html man-sys-htmlman html ./usr/share/man/html4/etphy.html man-sys-htmlman html +./usr/share/man/html4/evbarm/cpsw.html man-sys-htmlman html ./usr/share/man/html4/evbarm/epgpio.html man-sys-htmlman html ./usr/share/man/html4/evbarm/intro.html man-sys-htmlman html ./usr/share/man/html4/evbarm/iopaau.html man-sys-htmlman html @@ -4031,6 +4195,7 @@ ./usr/share/man/html4/i386/viac7temp.html man-sys-htmlman html ./usr/share/man/html4/i915drm.html man-sys-htmlman html ./usr/share/man/html4/iavc.html man-sys-htmlman html +./usr/share/man/html4/ibmcd.html man-sys-htmlman html ./usr/share/man/html4/ibmhawk.html man-sys-htmlman html ./usr/share/man/html4/ichlpcib.html man-obsolete obsolete ./usr/share/man/html4/ichsmb.html man-sys-htmlman html @@ -4085,7 +4250,7 @@ ./usr/share/man/html4/isdntel.html man-sys-htmlman html ./usr/share/man/html4/isdntrc.html man-sys-htmlman html ./usr/share/man/html4/isic.html man-sys-htmlman html -./usr/share/man/html4/iso.html man-sys-htmlman html +./usr/share/man/html4/iso.html man-obsolete obsolete ./usr/share/man/html4/isp.html man-sys-htmlman html ./usr/share/man/html4/isv.html man-sys-htmlman html ./usr/share/man/html4/iteide.html man-sys-htmlman html @@ -4114,8 +4279,10 @@ ./usr/share/man/html4/lkm.html man-obsolete obsolete ./usr/share/man/html4/lm.html man-sys-htmlman html ./usr/share/man/html4/lmc.html man-sys-htmlman html +./usr/share/man/html4/lmenv.html man-sys-htmlman html ./usr/share/man/html4/lmtemp.html man-sys-htmlman html ./usr/share/man/html4/lo.html man-sys-htmlman html +./usr/share/man/html4/lua.html man-sys-htmlman html ./usr/share/man/html4/lxtphy.html man-sys-htmlman html ./usr/share/man/html4/m25p.html man-sys-htmlman html ./usr/share/man/html4/mac68k/ae.html man-sys-htmlman html @@ -4147,6 +4314,7 @@ ./usr/share/man/html4/mca.html man-sys-htmlman html ./usr/share/man/html4/mcclock.html man-sys-htmlman html ./usr/share/man/html4/mcd.html man-sys-htmlman html +./usr/share/man/html4/mcp980x.html man-sys-htmlman html ./usr/share/man/html4/md.html man-sys-htmlman html ./usr/share/man/html4/mfb.html man-sys-htmlman html ./usr/share/man/html4/mfi.html man-sys-htmlman html @@ -4159,13 +4327,15 @@ ./usr/share/man/html4/mlx.html man-sys-htmlman html ./usr/share/man/html4/mly.html man-sys-htmlman html ./usr/share/man/html4/module.html man-obsolete obsolete -./usr/share/man/html4/mpls.html man-sys-htmlman html ./usr/share/man/html4/mpii.html man-sys-htmlman html +./usr/share/man/html4/mpl115a.html man-sys-htmlman html +./usr/share/man/html4/mpls.html man-sys-htmlman html ./usr/share/man/html4/mpt.html man-sys-htmlman html ./usr/share/man/html4/mpu.html man-sys-htmlman html ./usr/share/man/html4/mr.html man-obsolete obsolete ./usr/share/man/html4/msk.html man-sys-htmlman html ./usr/share/man/html4/mskc.html man-sys-htmlman html +./usr/share/man/html4/msm6242b.html man-sys-htmlman html ./usr/share/man/html4/mt2131.html man-sys-htmlman html ./usr/share/man/html4/mtd.html man-sys-htmlman html ./usr/share/man/html4/mtio.html man-sys-htmlman html @@ -4270,6 +4440,7 @@ ./usr/share/man/html4/prep/intro.html man-sys-htmlman html ./usr/share/man/html4/prep/nvram.html man-sys-htmlman html ./usr/share/man/html4/pseye.html man-sys-htmlman html +./usr/share/man/html4/ptcd.html man-sys-htmlman html ./usr/share/man/html4/ptm.html man-sys-htmlman html ./usr/share/man/html4/pty.html man-sys-htmlman html ./usr/share/man/html4/puc.html man-sys-htmlman html @@ -4413,6 +4584,7 @@ ./usr/share/man/html4/sparc64/lom.html man-sys-htmlman html ./usr/share/man/html4/sparc64/sab.html man-sys-htmlman html ./usr/share/man/html4/sparc64/sabtty.html man-sys-htmlman html +./usr/share/man/html4/sparc64/tda.html man-sys-htmlman html ./usr/share/man/html4/spc.html man-sys-htmlman html ./usr/share/man/html4/spdmem.html man-sys-htmlman html ./usr/share/man/html4/speaker.html man-sys-htmlman html @@ -4478,9 +4650,10 @@ ./usr/share/man/html4/tlp.html man-sys-htmlman html ./usr/share/man/html4/tlphy.html man-sys-htmlman html ./usr/share/man/html4/tm121temp.html man-sys-htmlman html -./usr/share/man/html4/tp.html man-sys-htmlman html +./usr/share/man/html4/tp.html man-obsolete obsolete ./usr/share/man/html4/tpm.html man-sys-htmlman html ./usr/share/man/html4/tprof.html man-sys-htmlman html +./usr/share/man/html4/tps65217pmic.html man-sys-htmlman html ./usr/share/man/html4/tqphy.html man-sys-htmlman html ./usr/share/man/html4/tr.html man-sys-htmlman html ./usr/share/man/html4/tra.html man-sys-htmlman html @@ -4546,6 +4719,7 @@ ./usr/share/man/html4/uscanner.html man-sys-htmlman html ./usr/share/man/html4/userconf.html man-sys-htmlman html ./usr/share/man/html4/uslsa.html man-sys-htmlman html +./usr/share/man/html4/usmsc.html man-sys-htmlman html ./usr/share/man/html4/usscanner.html man-sys-htmlman html ./usr/share/man/html4/ustir.html man-sys-htmlman html ./usr/share/man/html4/uthum.html man-sys-htmlman html @@ -4572,6 +4746,7 @@ ./usr/share/man/html4/vax/dl.html man-sys-htmlman html ./usr/share/man/html4/vax/dmc.html man-sys-htmlman html ./usr/share/man/html4/vax/dmf.html man-sys-htmlman html +./usr/share/man/html4/vax/dmv.html man-sys-htmlman html ./usr/share/man/html4/vax/dmz.html man-sys-htmlman html ./usr/share/man/html4/vax/dn.html man-sys-htmlman html ./usr/share/man/html4/vax/dz.html man-sys-htmlman html @@ -4679,6 +4854,7 @@ ./usr/share/man/html4/x86/mem.html man-sys-htmlman html ./usr/share/man/html4/x86/odcm.html man-sys-htmlman html ./usr/share/man/html4/x86/powernow.html man-sys-htmlman html +./usr/share/man/html4/x86/soekrisgpio.html man-sys-htmlman html ./usr/share/man/html4/x86/tprof_amdpmi.html man-sys-htmlman html ./usr/share/man/html4/x86/tprof_pmi.html man-sys-htmlman html ./usr/share/man/html4/x86/vmt.html man-sys-htmlman html @@ -4782,10 +4958,15 @@ ./usr/share/man/html5/isdnd.rates.html man-isdn-htmlman html ./usr/share/man/html5/isdnd.rc.html man-isdn-htmlman html ./usr/share/man/html5/krb5.conf.html man-krb5-htmlman kerberos,html +./usr/share/man/html5/kyua-tester-list.html man-kyua-htmlman kyua,html +./usr/share/man/html5/kyua-tester-result.html man-kyua-htmlman kyua,html +./usr/share/man/html5/kyua.conf.html man-kyua-htmlman kyua,html +./usr/share/man/html5/kyuafile.html man-kyua-htmlman kyua,html ./usr/share/man/html5/lastlog.html man-sys-htmlman html ./usr/share/man/html5/lastlogx.html man-sys-htmlman html ./usr/share/man/html5/ld.so.conf.html man-sys-htmlman html ./usr/share/man/html5/ldap_table.html man-postfix-htmlman postfix,html +./usr/share/man/html5/ldpd.conf.html man-router-htmlman html ./usr/share/man/html5/link.html man-sys-htmlman html ./usr/share/man/html5/lkm.conf.html man-obsolete obsolete ./usr/share/man/html5/locale.alias.html man-sys-htmlman html @@ -4799,6 +4980,7 @@ ./usr/share/man/html5/map3270.html man-obsolete obsolete ./usr/share/man/html5/master.html man-postfix-htmlman postfix,html ./usr/share/man/html5/master.passwd.html man-sys-htmlman html +./usr/share/man/html5/memcache_table.html man-postfix-htmlman postfix,html ./usr/share/man/html5/mixerctl.conf.html man-audio-htmlman html ./usr/share/man/html5/moduli.html man-secsh-htmlman crypto,html ./usr/share/man/html5/monthly.conf.html man-sys-htmlman html @@ -4891,6 +5073,10 @@ ./usr/share/man/html7/hier.html man-reference-htmlman html ./usr/share/man/html7/hostname.html man-reference-htmlman html ./usr/share/man/html7/intro.html man-reference-htmlman html +./usr/share/man/html7/kyua-atf-interface.html man-kyua-htmlman kyua,html +./usr/share/man/html7/kyua-build-root.html man-kyua-htmlman kyua,html +./usr/share/man/html7/kyua-plain-interface.html man-kyua-htmlman kyua,html +./usr/share/man/html7/kyua-test-filters.html man-kyua-htmlman kyua,html ./usr/share/man/html7/lint.html man-reference-htmlman html ./usr/share/man/html7/mailaddr.html man-reference-htmlman html ./usr/share/man/html7/mdoc.html man-groff-htmlman html,groff @@ -4899,6 +5085,7 @@ ./usr/share/man/html7/orders.html man-reference-htmlman html ./usr/share/man/html7/pcap-filter.html man-netutil-htmlman html ./usr/share/man/html7/pcap-linktype.html man-netutil-htmlman html +./usr/share/man/html7/pcap-tstamp.html man-netutil-htmlman html ./usr/share/man/html7/pkgsrc.html man-reference-htmlman html ./usr/share/man/html7/re_format.html man-reference-htmlman html ./usr/share/man/html7/release.html man-reference-htmlman html @@ -4929,7 +5116,7 @@ ./usr/share/man/html8/alpha/setnetbootinfo.html man-sysutil-htmlman html ./usr/share/man/html8/altqd.html man-router-htmlman html ./usr/share/man/html8/amd.html man-amd-htmlman html -./usr/share/man/html8/amd64/boot.html man-sys-htmlman html +./usr/share/man/html8/amd64/boot.html man-obsolete obsolete ./usr/share/man/html8/amiga/binpatch.html man-sysutil-htmlman html ./usr/share/man/html8/amiga/boot.html man-sys-htmlman html ./usr/share/man/html8/amiga/grfconfig.html man-sysutil-htmlman html @@ -5024,6 +5211,7 @@ ./usr/share/man/html8/dnssec-revoke.html man-bind-htmlman html ./usr/share/man/html8/dnssec-settime.html man-bind-htmlman html ./usr/share/man/html8/dnssec-signzone.html man-bind-htmlman html +./usr/share/man/html8/dnssec-verify.html man-bind-htmlman html ./usr/share/man/html8/dreamcast/boot.html man-sysutil-htmlman html ./usr/share/man/html8/drvctl.html man-sysutil-htmlman html ./usr/share/man/html8/dump.html man-sysutil-htmlman html @@ -5033,11 +5221,14 @@ ./usr/share/man/html8/edquota.html man-sysutil-htmlman html ./usr/share/man/html8/eeprom.html man-sysutil-htmlman html ./usr/share/man/html8/emips/boot.html man-sys-htmlman html -./usr/share/man/html8/evbarm/bootmini2440.html man-sysutil-htmlman html ./usr/share/man/html8/envstat.html man-sysutil-htmlman html ./usr/share/man/html8/error.html man-postfix-htmlman postfix,html ./usr/share/man/html8/eshconfig.html man-sysutil-htmlman html ./usr/share/man/html8/etcupdate.html man-sysutil-htmlman html +./usr/share/man/html8/evbarm/bootmini2440.html man-sysutil-htmlman html +./usr/share/man/html8/evbarm/elftosb.html man-sysutil-htmlman html +./usr/share/man/html8/evbarm/sbkeygen.html man-sysutil-htmlman html +./usr/share/man/html8/evbarm/sbtool.html man-sysutil-htmlman html ./usr/share/man/html8/extattrctl.html man-sysutil-htmlman html ./usr/share/man/html8/faithd.html man-router-htmlman inet6,html ./usr/share/man/html8/fastboot.html man-sysutil-htmlman html @@ -5091,14 +5282,14 @@ ./usr/share/man/html8/hpropd.html man-krb5-htmlman kerberos,html ./usr/share/man/html8/httpd.html man-netutil-htmlman html ./usr/share/man/html8/i2cscan.html man-sysutil-htmlman html -./usr/share/man/html8/i386/boot.html man-sys-htmlman html -./usr/share/man/html8/i386/boot_console.html man-sys-htmlman html -./usr/share/man/html8/i386/bootselect.html man-sys-htmlman html -./usr/share/man/html8/i386/dosboot.html man-sys-htmlman html -./usr/share/man/html8/i386/mbr.html man-sys-htmlman html -./usr/share/man/html8/i386/multiboot.html man-sys-htmlman html +./usr/share/man/html8/i386/boot.html man-obsolete obsolete +./usr/share/man/html8/i386/boot_console.html man-obsolete obsolete +./usr/share/man/html8/i386/bootselect.html man-obsolete obsolete +./usr/share/man/html8/i386/dosboot.html man-obsolete obsolete +./usr/share/man/html8/i386/mbr.html man-obsolete obsolete +./usr/share/man/html8/i386/multiboot.html man-obsolete obsolete ./usr/share/man/html8/i386/ndiscvt.html man-netutil-htmlman html -./usr/share/man/html8/i386/pxeboot.html man-sys-htmlman html +./usr/share/man/html8/i386/pxeboot.html man-obsolete obsolete ./usr/share/man/html8/i386/w95boot.html man-obsolete obsolete ./usr/share/man/html8/iasl.html man-sysutil-htmlman html ./usr/share/man/html8/identd.html man-netutil-htmlman html @@ -5159,6 +5350,7 @@ ./usr/share/man/html8/lockstat.html man-sysutil-htmlman html ./usr/share/man/html8/lpc.html man-lpr-htmlman html ./usr/share/man/html8/lpd.html man-lpr-htmlman html +./usr/share/man/html8/luactl.html man-sysutil-htmlman html ./usr/share/man/html8/lvchange.html man-lvm-htmlman lvm,html ./usr/share/man/html8/lvconvert.html man-lvm-htmlman lvm,html ./usr/share/man/html8/lvcreate.html man-lvm-htmlman lvm,html @@ -5502,11 +5694,31 @@ ./usr/share/man/html8/tlsmgr.html man-postfix-htmlman postfix,crypto,html ./usr/share/man/html8/tlsproxy.html man-postfix-htmlman postfix,crypto,html ./usr/share/man/html8/tpctl.html man-sysutil-htmlman html +./usr/share/man/html8/tpm_changeownerauth.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_clear.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_createek.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_getpubek.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_nvdefine.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_nvinfo.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_nvread.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_nvrelease.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_nvwrite.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_resetdalock.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_restrictpubek.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_revokeek.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_selftest.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_setactive.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_setclearable.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_setenable.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_setoperatorauth.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_setownable.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_setpresence.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tpm_takeownership.html man-tpm-htmlman tpm,html +./usr/share/man/html8/tprof.html man-sysutil-htmlman html ./usr/share/man/html8/trace.html man-postfix-htmlman postfix,html ./usr/share/man/html8/traceroute.html man-netutil-htmlman html ./usr/share/man/html8/traceroute6.html man-netutil-htmlman use_inet6,html ./usr/share/man/html8/trivial-rewrite.html man-postfix-htmlman postfix,html -./usr/share/man/html8/tprof.html man-sysutil-htmlman html ./usr/share/man/html8/trpt.html man-netutil-htmlman html ./usr/share/man/html8/ttyflags.html man-sysutil-htmlman html ./usr/share/man/html8/tunefs.html man-sysutil-htmlman html @@ -5550,6 +5762,7 @@ ./usr/share/man/html8/virecover.html man-sysutil-htmlman html ./usr/share/man/html8/virtual.html man-postfix-htmlman postfix,html ./usr/share/man/html8/vnconfig.html man-sysutil-htmlman html +./usr/share/man/html8/vndconfig.html man-sysutil-htmlman html ./usr/share/man/html8/wake.html man-obsolete obsolete ./usr/share/man/html8/wakeonlan.html man-netutil-htmlman html ./usr/share/man/html8/wdogctl.html man-sysutil-htmlman html @@ -5572,6 +5785,13 @@ ./usr/share/man/html8/x68k/newdisk.html man-sysutil-htmlman html ./usr/share/man/html8/x68k/poffd.html man-obsolete obsolete ./usr/share/man/html8/x68k/rtcalarm.html man-obsolete obsolete +./usr/share/man/html8/x86/boot.html man-sys-htmlman html +./usr/share/man/html8/x86/boot_console.html man-sys-htmlman html +./usr/share/man/html8/x86/bootselect.html man-sys-htmlman html +./usr/share/man/html8/x86/dosboot.html man-sys-htmlman html +./usr/share/man/html8/x86/mbr.html man-sys-htmlman html +./usr/share/man/html8/x86/multiboot.html man-sys-htmlman html +./usr/share/man/html8/x86/pxeboot.html man-sys-htmlman html ./usr/share/man/html8/yp.html man-nis-htmlman html ./usr/share/man/html8/ypbind.html man-nis-htmlman yp,html ./usr/share/man/html8/ypinit.html man-nis-htmlman yp,html @@ -5588,6 +5808,9 @@ ./usr/share/man/html8/zic.html man-sysutil-htmlman html ./usr/share/man/html8/zpool.html man-zfs-htmlman zfs,html ./usr/share/man/html8/zzz.html man-sysutil-htmlman html +./usr/share/man/html9lua/core.html man-sys-htmlman html +./usr/share/man/html9lua/intro.html man-sys-htmlman html +./usr/share/man/html9lua/pmf.html man-sys-htmlman html ./usr/share/man/man1/Mail.1 man-mail-man .man ./usr/share/man/man1/[.1 man-util-man .man ./usr/share/man/man1/agrep.1 man-util-man .man @@ -5603,15 +5826,20 @@ ./usr/share/man/man1/atf-check.1 man-atf-man .man,atf ./usr/share/man/man1/atf-cleanup.1 man-obsolete obsolete ./usr/share/man/man1/atf-compile.1 man-obsolete obsolete -./usr/share/man/man1/atf-config.1 man-atf-man .man,atf +./usr/share/man/man1/atf-config.1 man-atf-man .man,atf,!kyua +./usr/share/man/man1/atf-config.1 man-obsolete .man,kyua,obsolete ./usr/share/man/man1/atf-exec.1 man-atf-man obsolete ./usr/share/man/man1/atf-format.1 man-obsolete obsolete ./usr/share/man/man1/atf-killpg.1 man-obsolete obsolete ./usr/share/man/man1/atf-report.1 man-atf-man .man,atf +./usr/share/man/man1/atf-report.1 man-kyua-man .man,kyua ./usr/share/man/man1/atf-run.1 man-atf-man .man,atf +./usr/share/man/man1/atf-run.1 man-kyua-man .man,kyua ./usr/share/man/man1/atf-sh.1 man-atf-man .man,atf ./usr/share/man/man1/atf-test-program.1 man-atf-man .man,atf -./usr/share/man/man1/atf-version.1 man-atf-man .man,atf +./usr/share/man/man1/atf-version.1 man-atf-man .man,atf,!kyua +./usr/share/man/man1/atf-version.1 man-obsolete .man,kyua,obsolete +./usr/share/man/man1/atf2kyua.1 man-kyua-man .man,kyua ./usr/share/man/man1/atq.1 man-cron-man .man ./usr/share/man/man1/atrm.1 man-cron-man .man ./usr/share/man/man1/audiocfg.1 man-audio-man .man @@ -5669,6 +5897,9 @@ ./usr/share/man/man1/csh.1 man-util-man .man ./usr/share/man/man1/csplit.1 man-util-man .man ./usr/share/man/man1/ctags.1 man-c-man .man +./usr/share/man/man1/ctfconvert.1 man-util-man .man,dtrace +./usr/share/man/man1/ctfdump.1 man-util-man .man,dtrace +./usr/share/man/man1/ctfmerge.1 man-util-man .man,dtrace ./usr/share/man/man1/cu.1 man-util-man .man ./usr/share/man/man1/cut.1 man-util-man .man ./usr/share/man/man1/daicctl.1 man-sysutil-man .man @@ -5708,6 +5939,7 @@ ./usr/share/man/man1/fincore.1 man-util-man .man ./usr/share/man/man1/find.1 man-util-man .man ./usr/share/man/man1/finger.1 man-util-man .man +./usr/share/man/man1/flock.1 man-util-man .man ./usr/share/man/man1/fmt.1 man-util-man .man ./usr/share/man/man1/fold.1 man-util-man .man ./usr/share/man/man1/foreach.1 man-util-man .man @@ -5782,6 +6014,20 @@ ./usr/share/man/man1/ksh.1 man-util-man .man ./usr/share/man/man1/ktrace.1 man-debug-man .man ./usr/share/man/man1/ktruss.1 man-debug-man .man +./usr/share/man/man1/kyua-about.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-atf-tester.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-config.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-db-exec.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-db-migrate.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-debug.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-help.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-list.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-plain-tester.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-report-html.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-report.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-test.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua-tester.1 man-kyua-man kyua,.man +./usr/share/man/man1/kyua.1 man-kyua-man kyua,.man ./usr/share/man/man1/lam.1 man-util-man .man ./usr/share/man/man1/last.1 man-util-man .man ./usr/share/man/man1/lastcomm.1 man-util-man .man @@ -5848,6 +6094,7 @@ ./usr/share/man/man1/mkfilters.1 man-ipf-man ipfilter,.man ./usr/share/man/man1/mklocale.1 man-util-man .man ./usr/share/man/man1/mktemp.1 man-util-man .man +./usr/share/man/man1/mkubootimage.1 man-util-man .man ./usr/share/man/man1/mopa.out.1 man-obsolete obsolete ./usr/share/man/man1/mopchk.1 man-bootserver-man .man ./usr/share/man/man1/mopcopy.1 man-bootserver-man .man @@ -6043,6 +6290,7 @@ ./usr/share/man/man1/source.1 man-util-man .man ./usr/share/man/man1/spell.1 man-util-man .man ./usr/share/man/man1/split.1 man-util-man .man +./usr/share/man/man1/sqlite3.1 man-util-man .man ./usr/share/man/man1/srtconfig.1 man-netutil-man .man ./usr/share/man/man1/ssh-add.1 man-secsh-man crypto,.man ./usr/share/man/man1/ssh-agent.1 man-secsh-man crypto,.man @@ -6078,6 +6326,8 @@ ./usr/share/man/man1/top.1 man-util-man .man ./usr/share/man/man1/touch.1 man-util-man .man ./usr/share/man/man1/tpfmt.1 man-util-man .man +./usr/share/man/man1/tpm_sealdata.1 man-tpm-man tpm,.man +./usr/share/man/man1/tpm_version.1 man-tpm-man tpm,.man ./usr/share/man/man1/tput.1 man-util-man .man ./usr/share/man/man1/tr.1 man-util-man .man ./usr/share/man/man1/true.1 man-util-man .man @@ -6150,6 +6400,7 @@ ./usr/share/man/man1/zfgrep.1 man-util-man .man ./usr/share/man/man1/zforce.1 man-util-man .man ./usr/share/man/man1/zgrep.1 man-util-man .man +./usr/share/man/man1/zless.1 man-util-man .man ./usr/share/man/man1/zmore.1 man-util-man .man ./usr/share/man/man1/znew.1 man-util-man .man ./usr/share/man/man3/atari/ahdi_buildlabel.3 man-obsolete obsolete @@ -6159,6 +6410,19 @@ ./usr/share/man/man3/atari/ahdi_writelabel.3 man-obsolete obsolete ./usr/share/man/man3/i386 man-obsolete obsolete ./usr/share/man/man3/i386/keycap.3 man-obsolete obsolete +./usr/share/man/man3lua/gpio.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.attach.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.close.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.info.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.open.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.read.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.set.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.toggle.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.unset.3lua man-sys-man .man +./usr/share/man/man3lua/gpio.write.3lua man-sys-man .man +./usr/share/man/man3lua/intro.3lua man-sys-man .man +./usr/share/man/man3lua/sqlite.3lua man-sys-man .man +./usr/share/man/man3lua/syslog.3lua man-sys-man .man ./usr/share/man/man4/aac.4 man-sys-man .man ./usr/share/man/man4/ac97.4 man-sys-man .man ./usr/share/man/man4/acardide.4 man-sys-man .man @@ -6283,11 +6547,12 @@ ./usr/share/man/man4/amiga/autoconf.4 man-sys-man .man ./usr/share/man/man4/amiga/bah.4 man-sys-man .man ./usr/share/man/man4/amiga/bppcsc.4 man-sys-man .man -./usr/share/man/man4/amiga/console.4 man-sys-man .man ./usr/share/man/man4/amiga/clockport.4 man-sys-man .man +./usr/share/man/man4/amiga/console.4 man-sys-man .man ./usr/share/man/man4/amiga/cv3dpb.4 man-sys-man .man ./usr/share/man/man4/amiga/ed.4 man-sys-man .man ./usr/share/man/man4/amiga/efa.4 man-sys-man .man +./usr/share/man/man4/amiga/em4k.4 man-sys-man .man ./usr/share/man/man4/amiga/empb.4 man-sys-man .man ./usr/share/man/man4/amiga/es.4 man-sys-man .man ./usr/share/man/man4/amiga/fdc.4 man-sys-man .man @@ -6313,7 +6578,9 @@ ./usr/share/man/man4/amiga/qn.4 man-sys-man .man ./usr/share/man/man4/amiga/ser.4 man-sys-man .man ./usr/share/man/man4/amiga/wesc.4 man-sys-man .man +./usr/share/man/man4/amiga/xsh.4 man-sys-man .man ./usr/share/man/man4/amiga/xsurf.4 man-sys-man .man +./usr/share/man/man4/amiga/z3rambd.4 man-sys-man .man ./usr/share/man/man4/amiga/zssc.4 man-sys-man .man ./usr/share/man/man4/amr.4 man-sys-man .man ./usr/share/man/man4/ams.4 man-sys-man .man @@ -6374,6 +6641,7 @@ ./usr/share/man/man4/ate.4 man-sys-man .man ./usr/share/man/man4/atf-test-case.4 man-cat-man .man,atf ./usr/share/man/man4/ath.4 man-sys-man .man +./usr/share/man/man4/athn.4 man-sys-man .man ./usr/share/man/man4/atphy.4 man-sys-man .man ./usr/share/man/man4/atppc.4 man-sys-man .man ./usr/share/man/man4/attimer.4 man-sys-man .man @@ -6393,6 +6661,7 @@ ./usr/share/man/man4/auvitek.4 man-sys-man .man ./usr/share/man/man4/awi.4 man-sys-man .man ./usr/share/man/man4/axe.4 man-sys-man .man +./usr/share/man/man4/axen.4 man-sys-man .man ./usr/share/man/man4/az.4 man-sys-man .man ./usr/share/man/man4/azalia.4 man-sys-man .man ./usr/share/man/man4/battery_pmu.4 man-sys-man .man @@ -6445,9 +6714,9 @@ ./usr/share/man/man4/ciss.4 man-sys-man .man ./usr/share/man/man4/clcs.4 man-sys-man .man ./usr/share/man/man4/clct.4 man-sys-man .man -./usr/share/man/man4/clnp.4 man-sys-man .man +./usr/share/man/man4/clnp.4 man-obsolete obsolete ./usr/share/man/man4/clockctl.4 man-sys-man .man -./usr/share/man/man4/cltp.4 man-sys-man .man +./usr/share/man/man4/cltp.4 man-obsolete obsolete ./usr/share/man/man4/cmdide.4 man-sys-man .man ./usr/share/man/man4/cmpci.4 man-sys-man .man ./usr/share/man/man4/cms.4 man-sys-man .man @@ -6455,6 +6724,7 @@ ./usr/share/man/man4/cobalt/gt.4 man-sys-man .man ./usr/share/man/man4/cobalt/intro.4 man-sys-man .man ./usr/share/man/man4/com.4 man-sys-man .man +./usr/share/man/man4/coram.4 man-sys-man .man ./usr/share/man/man4/coretemp.4 man-obsolete obsolete ./usr/share/man/man4/crypto.4 man-sys-man .man ./usr/share/man/man4/cs.4 man-sys-man .man @@ -6462,6 +6732,7 @@ ./usr/share/man/man4/cuda.4 man-sys-man .man ./usr/share/man/man4/cue.4 man-sys-man .man ./usr/share/man/man4/cx24227.4 man-sys-man .man +./usr/share/man/man4/cxdtv.4 man-sys-man .man ./usr/share/man/man4/cy.4 man-sys-man .man ./usr/share/man/man4/cypide.4 man-sys-man .man ./usr/share/man/man4/cz.4 man-sys-man .man @@ -6496,6 +6767,7 @@ ./usr/share/man/man4/dtv.4 man-sys-man .man ./usr/share/man/man4/dtviic.4 man-sys-man .man ./usr/share/man/man4/dty.4 man-sys-man .man +./usr/share/man/man4/dwctwo.4 man-sys-man .man ./usr/share/man/man4/ea.4 man-sys-man .man ./usr/share/man/man4/eap.4 man-sys-man .man ./usr/share/man/man4/eb.4 man-sys-man .man @@ -6525,7 +6797,7 @@ ./usr/share/man/man4/esa.4 man-sys-man .man ./usr/share/man/man4/esh.4 man-sys-man .man ./usr/share/man/man4/esiop.4 man-sys-man .man -./usr/share/man/man4/esis.4 man-sys-man .man +./usr/share/man/man4/esis.4 man-obsolete obsolete ./usr/share/man/man4/esl.4 man-obsolete obsolete ./usr/share/man/man4/esm.4 man-sys-man .man ./usr/share/man/man4/eso.4 man-sys-man .man @@ -6534,6 +6806,7 @@ ./usr/share/man/man4/et.4 man-sys-man .man ./usr/share/man/man4/etherip.4 man-sys-man .man ./usr/share/man/man4/etphy.4 man-sys-man .man +./usr/share/man/man4/evbarm/cpsw.4 man-sys-man .man ./usr/share/man/man4/evbarm/epgpio.4 man-sys-man .man ./usr/share/man/man4/evbarm/intro.4 man-sys-man .man ./usr/share/man/man4/evbarm/iopaau.4 man-sys-man .man @@ -6723,6 +6996,7 @@ ./usr/share/man/man4/i4btrc.4 man-obsolete obsolete ./usr/share/man/man4/i915drm.4 man-sys-man .man ./usr/share/man/man4/iavc.4 man-sys-man .man +./usr/share/man/man4/ibmcd.4 man-sys-man .man ./usr/share/man/man4/ibmhawk.4 man-sys-man .man ./usr/share/man/man4/ichlpcib.4 man-obsolete obsolete ./usr/share/man/man4/ichsmb.4 man-sys-man .man @@ -6780,7 +7054,7 @@ ./usr/share/man/man4/isdntel.4 man-sys-man .man ./usr/share/man/man4/isdntrc.4 man-sys-man .man ./usr/share/man/man4/isic.4 man-sys-man .man -./usr/share/man/man4/iso.4 man-sys-man .man +./usr/share/man/man4/iso.4 man-obsolete obsolete ./usr/share/man/man4/isp.4 man-sys-man .man ./usr/share/man/man4/isv.4 man-sys-man .man ./usr/share/man/man4/it.4 man-obsolete obsolete @@ -6810,9 +7084,11 @@ ./usr/share/man/man4/lkm.4 man-obsolete obsolete ./usr/share/man/man4/lm.4 man-sys-man .man ./usr/share/man/man4/lmc.4 man-sys-man .man +./usr/share/man/man4/lmenv.4 man-sys-man .man ./usr/share/man/man4/lmtemp.4 man-sys-man .man ./usr/share/man/man4/lo.4 man-sys-man .man ./usr/share/man/man4/lsu.4 man-obsolete obsolete +./usr/share/man/man4/lua.4 man-sys-man .man ./usr/share/man/man4/lxtphy.4 man-sys-man .man ./usr/share/man/man4/m25p.4 man-sys-man .man ./usr/share/man/man4/mac68k/adb.4 man-obsolete obsolete @@ -6848,6 +7124,7 @@ ./usr/share/man/man4/mca.4 man-sys-man .man ./usr/share/man/man4/mcclock.4 man-sys-man .man ./usr/share/man/man4/mcd.4 man-sys-man .man +./usr/share/man/man4/mcp980x.4 man-sys-man .man ./usr/share/man/man4/md.4 man-sys-man .man ./usr/share/man/man4/mfb.4 man-sys-man .man ./usr/share/man/man4/mfi.4 man-sys-man .man @@ -6860,13 +7137,15 @@ ./usr/share/man/man4/mlx.4 man-sys-man .man ./usr/share/man/man4/mly.4 man-sys-man .man ./usr/share/man/man4/module.4 man-obsolete obsolete -./usr/share/man/man4/mpls.4 man-sys-man .man ./usr/share/man/man4/mpii.4 man-sys-man .man +./usr/share/man/man4/mpl115a.4 man-sys-man .man +./usr/share/man/man4/mpls.4 man-sys-man .man ./usr/share/man/man4/mpt.4 man-sys-man .man ./usr/share/man/man4/mpu.4 man-sys-man .man ./usr/share/man/man4/mr.4 man-obsolete obsolete ./usr/share/man/man4/msk.4 man-sys-man .man ./usr/share/man/man4/mskc.4 man-sys-man .man +./usr/share/man/man4/msm6242b.4 man-sys-man .man ./usr/share/man/man4/mt2131.4 man-sys-man .man ./usr/share/man/man4/mtd.4 man-sys-man .man ./usr/share/man/man4/mtio.4 man-sys-man .man @@ -6997,6 +7276,7 @@ ./usr/share/man/man4/prep/nvram.4 man-sys-man .man ./usr/share/man/man4/pseye.4 man-sys-man .man ./usr/share/man/man4/pss.4 man-obsolete obsolete +./usr/share/man/man4/ptcd.4 man-sys-man .man ./usr/share/man/man4/ptm.4 man-sys-man .man ./usr/share/man/man4/pty.4 man-sys-man .man ./usr/share/man/man4/puc.4 man-sys-man .man @@ -7144,6 +7424,7 @@ ./usr/share/man/man4/sparc64/lom.4 man-sys-man .man ./usr/share/man/man4/sparc64/sab.4 man-sys-man .man ./usr/share/man/man4/sparc64/sabtty.4 man-sys-man .man +./usr/share/man/man4/sparc64/tda.4 man-sys-man .man ./usr/share/man/man4/spc.4 man-sys-man .man ./usr/share/man/man4/spdmem.4 man-sys-man .man ./usr/share/man/man4/speaker.4 man-sys-man .man @@ -7214,9 +7495,10 @@ ./usr/share/man/man4/tlp.4 man-sys-man .man ./usr/share/man/man4/tlphy.4 man-sys-man .man ./usr/share/man/man4/tm121temp.4 man-sys-man .man -./usr/share/man/man4/tp.4 man-sys-man .man +./usr/share/man/man4/tp.4 man-obsolete obsolete ./usr/share/man/man4/tpm.4 man-sys-man .man ./usr/share/man/man4/tprof.4 man-sys-man .man +./usr/share/man/man4/tps65217pmic.4 man-sys-man .man ./usr/share/man/man4/tqphy.4 man-sys-man .man ./usr/share/man/man4/tr.4 man-sys-man .man ./usr/share/man/man4/tra.4 man-sys-man .man @@ -7284,6 +7566,7 @@ ./usr/share/man/man4/uscanner.4 man-sys-man .man ./usr/share/man/man4/userconf.4 man-sys-man .man ./usr/share/man/man4/uslsa.4 man-sys-man .man +./usr/share/man/man4/usmsc.4 man-sys-man .man ./usr/share/man/man4/usscanner.4 man-sys-man .man ./usr/share/man/man4/ustir.4 man-sys-man .man ./usr/share/man/man4/uthum.4 man-sys-man .man @@ -7310,6 +7593,7 @@ ./usr/share/man/man4/vax/dl.4 man-sys-man .man ./usr/share/man/man4/vax/dmc.4 man-sys-man .man ./usr/share/man/man4/vax/dmf.4 man-sys-man .man +./usr/share/man/man4/vax/dmv.4 man-sys-man .man ./usr/share/man/man4/vax/dmz.4 man-sys-man .man ./usr/share/man/man4/vax/dn.4 man-sys-man .man ./usr/share/man/man4/vax/dz.4 man-sys-man .man @@ -7421,6 +7705,7 @@ ./usr/share/man/man4/x86/mem.4 man-sys-man .man ./usr/share/man/man4/x86/odcm.4 man-sys-man .man ./usr/share/man/man4/x86/powernow.4 man-sys-man .man +./usr/share/man/man4/x86/soekrisgpio.4 man-sys-man .man ./usr/share/man/man4/x86/tprof_amdpmi.4 man-sys-man .man ./usr/share/man/man4/x86/tprof_pmi.4 man-sys-man .man ./usr/share/man/man4/x86/vmt.4 man-sys-man .man @@ -7532,10 +7817,15 @@ ./usr/share/man/man5/krb.extra.5 man-obsolete obsolete ./usr/share/man/man5/krb.realms.5 man-obsolete obsolete ./usr/share/man/man5/krb5.conf.5 man-krb5-man kerberos,.man +./usr/share/man/man5/kyua-tester-list.5 man-kyua-man kyua,.man +./usr/share/man/man5/kyua-tester-result.5 man-kyua-man kyua,.man +./usr/share/man/man5/kyua.conf.5 man-kyua-man kyua,.man +./usr/share/man/man5/kyuafile.5 man-kyua-man kyua,.man ./usr/share/man/man5/lastlog.5 man-sys-man .man ./usr/share/man/man5/lastlogx.5 man-sys-man .man ./usr/share/man/man5/ld.so.conf.5 man-sys-man .man ./usr/share/man/man5/ldap_table.5 man-postfix-man postfix,.man +./usr/share/man/man5/ldpd.conf.5 man-router-man .man ./usr/share/man/man5/link.5 man-sys-man .man ./usr/share/man/man5/lkm.conf.5 man-obsolete obsolete ./usr/share/man/man5/locale.alias.5 man-sys-man .man @@ -7549,6 +7839,7 @@ ./usr/share/man/man5/map3270.5 man-obsolete obsolete ./usr/share/man/man5/master.5 man-postfix-man postfix,.man ./usr/share/man/man5/master.passwd.5 man-sys-man .man +./usr/share/man/man5/memcache_table.5 man-postfix-man postfix,.man ./usr/share/man/man5/mixerctl.conf.5 man-audio-man .man ./usr/share/man/man5/moduli.5 man-secsh-man crypto,.man ./usr/share/man/man5/monthly.5 man-sys-man .man @@ -7607,9 +7898,9 @@ ./usr/share/man/man5/shells.5 man-sys-man .man ./usr/share/man/man5/siginfo.5 man-obsolete obsolete ./usr/share/man/man5/spamd.conf.5 man-obsolete obsolete +./usr/share/man/man5/sqlite_table.5 man-postfix-man postfix,.man ./usr/share/man/man5/ssh_config.5 man-secsh-man crypto,.man ./usr/share/man/man5/sshd_config.5 man-secsh-man crypto,.man -./usr/share/man/man5/sqlite_table.5 man-postfix-man postfix,.man ./usr/share/man/man5/stab.5 man-sys-man .man ./usr/share/man/man5/sysctl.conf.5 man-sys-man .man ./usr/share/man/man5/syslog.conf.5 man-sysutil-man .man @@ -7652,6 +7943,10 @@ ./usr/share/man/man7/hier.7 man-reference-man .man ./usr/share/man/man7/hostname.7 man-reference-man .man ./usr/share/man/man7/intro.7 man-reference-man .man +./usr/share/man/man7/kyua-atf-interface.7 man-kyua-man kyua,.man +./usr/share/man/man7/kyua-build-root.7 man-kyua-man kyua,.man +./usr/share/man/man7/kyua-plain-interface.7 man-kyua-man kyua,.man +./usr/share/man/man7/kyua-test-filters.7 man-kyua-man kyua,.man ./usr/share/man/man7/lint.7 man-reference-man .man ./usr/share/man/man7/mailaddr.7 man-reference-man .man ./usr/share/man/man7/mandoc.7 man-obsolete obsolete @@ -7663,6 +7958,7 @@ ./usr/share/man/man7/packages.7 man-obsolete obsolete ./usr/share/man/man7/pcap-filter.7 man-netutil-man .man ./usr/share/man/man7/pcap-linktype.7 man-netutil-man .man +./usr/share/man/man7/pcap-tstamp.7 man-netutil-man .man ./usr/share/man/man7/pkgsrc.7 man-reference-man .man ./usr/share/man/man7/re_format.7 man-reference-man .man ./usr/share/man/man7/release.7 man-reference-man .man @@ -7704,7 +8000,7 @@ ./usr/share/man/man8/altqd.8 man-router-man .man ./usr/share/man/man8/amd.8 man-amd-man .man ./usr/share/man/man8/amd64/MAKEDEV.8 man-obsolete obsolete -./usr/share/man/man8/amd64/boot.8 man-sys-man .man +./usr/share/man/man8/amd64/boot.8 man-obsolete obsolete ./usr/share/man/man8/amd64/makedev.8 man-obsolete obsolete ./usr/share/man/man8/amiga/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/amiga/binpatch.8 man-sysutil-man .man @@ -7828,6 +8124,7 @@ ./usr/share/man/man8/dnssec-settime.8 man-bind-man .man ./usr/share/man/man8/dnssec-signkey.8 man-obsolete obsolete ./usr/share/man/man8/dnssec-signzone.8 man-bind-man .man +./usr/share/man/man8/dnssec-verify.8 man-bind-man .man ./usr/share/man/man8/dreamcast/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/dreamcast/boot.8 man-sysutil-man .man ./usr/share/man/man8/dreamcast/makedev.8 man-obsolete obsolete @@ -7843,13 +8140,16 @@ ./usr/share/man/man8/emips/boot.8 man-sys-man .man ./usr/share/man/man8/emips/installboot.8 man-obsolete obsolete ./usr/share/man/man8/emips/makedev.8 man-obsolete obsolete -./usr/share/man/man8/evbarm/bootmini2440.8 man-sysutils-man .man ./usr/share/man/man8/envstat.8 man-sysutil-man .man ./usr/share/man/man8/error.8 man-postfix-man postfix,.man ./usr/share/man/man8/eshconfig.8 man-sysutil-man .man ./usr/share/man/man8/etcupdate.8 man-sysutil-man .man ./usr/share/man/man8/evbarm/MAKEDEV.8 man-obsolete obsolete +./usr/share/man/man8/evbarm/bootmini2440.8 man-sysutils-man .man +./usr/share/man/man8/evbarm/elftosb.8 man-sysutil-man .man ./usr/share/man/man8/evbarm/makedev.8 man-obsolete obsolete +./usr/share/man/man8/evbarm/sbkeygen.8 man-sysutil-man .man +./usr/share/man/man8/evbarm/sbtool.8 man-sysutil-man .man ./usr/share/man/man8/evbmips/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/evbmips/makedev.8 man-obsolete obsolete ./usr/share/man/man8/evbppc/MAKEDEV.8 man-obsolete obsolete @@ -7908,8 +8208,8 @@ ./usr/share/man/man8/hp300/makedev.8 man-obsolete obsolete ./usr/share/man/man8/hp700/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/hp700/boot.8 man-sys-man .man -./usr/share/man/man8/hp700/mkboot.8 man-sys-man .man ./usr/share/man/man8/hp700/makedev.8 man-obsolete obsolete +./usr/share/man/man8/hp700/mkboot.8 man-sys-man .man ./usr/share/man/man8/hpcarm/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/hpcarm/boot.8 man-sys-man .man ./usr/share/man/man8/hpcarm/makedev.8 man-obsolete obsolete @@ -7930,18 +8230,18 @@ ./usr/share/man/man8/i386/apm.8 man-obsolete obsolete ./usr/share/man/man8/i386/apmd.8 man-obsolete obsolete ./usr/share/man/man8/i386/bad144.8 man-obsolete obsolete -./usr/share/man/man8/i386/boot.8 man-sys-man .man -./usr/share/man/man8/i386/boot_console.8 man-sys-man .man -./usr/share/man/man8/i386/bootselect.8 man-sys-man .man -./usr/share/man/man8/i386/dosboot.8 man-sys-man .man +./usr/share/man/man8/i386/boot.8 man-obsolete obsolete +./usr/share/man/man8/i386/boot_console.8 man-obsolete obsolete +./usr/share/man/man8/i386/bootselect.8 man-obsolete obsolete +./usr/share/man/man8/i386/dosboot.8 man-obsolete obsolete ./usr/share/man/man8/i386/installboot.8 man-obsolete obsolete ./usr/share/man/man8/i386/ispcvt.8 man-obsolete obsolete ./usr/share/man/man8/i386/kbdio.8 man-obsolete obsolete ./usr/share/man/man8/i386/makedev.8 man-obsolete obsolete -./usr/share/man/man8/i386/mbr.8 man-sys-man .man -./usr/share/man/man8/i386/multiboot.8 man-sys-man .man +./usr/share/man/man8/i386/mbr.8 man-obsolete obsolete +./usr/share/man/man8/i386/multiboot.8 man-obsolete obsolete ./usr/share/man/man8/i386/ndiscvt.8 man-netutil-man .man -./usr/share/man/man8/i386/pxeboot.8 man-sys-man .man +./usr/share/man/man8/i386/pxeboot.8 man-obsolete obsolete ./usr/share/man/man8/i386/reboot.8 man-obsolete obsolete ./usr/share/man/man8/i386/reboot_i386.8 man-obsolete obsolete ./usr/share/man/man8/i386/vgaio.8 man-obsolete obsolete @@ -8012,6 +8312,7 @@ ./usr/share/man/man8/lockstat.8 man-sysutil-man .man ./usr/share/man/man8/lpc.8 man-lpr-man .man ./usr/share/man/man8/lpd.8 man-lpr-man .man +./usr/share/man/man8/luactl.8 man-sysutil-man .man ./usr/share/man/man8/luna68k/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/luna68k/makedev.8 man-obsolete obsolete ./usr/share/man/man8/lvchange.8 man-lvm-man lvm,.man @@ -8449,11 +8750,31 @@ ./usr/share/man/man8/tlsmgr.8 man-postfix-man postfix,crypto,.man ./usr/share/man/man8/tlsproxy.8 man-postfix-man postfix,crypto,.man ./usr/share/man/man8/tpctl.8 man-sysutil-man .man +./usr/share/man/man8/tpm_changeownerauth.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_clear.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_createek.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_getpubek.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_nvdefine.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_nvinfo.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_nvread.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_nvrelease.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_nvwrite.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_resetdalock.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_restrictpubek.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_revokeek.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_selftest.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_setactive.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_setclearable.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_setenable.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_setoperatorauth.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_setownable.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_setpresence.8 man-tpm-man tpm,.man +./usr/share/man/man8/tpm_takeownership.8 man-tpm-man tpm,.man +./usr/share/man/man8/tprof.8 man-sysutil-man .man ./usr/share/man/man8/trace.8 man-postfix-man postfix,.man ./usr/share/man/man8/traceroute.8 man-netutil-man .man ./usr/share/man/man8/traceroute6.8 man-netutil-man use_inet6,.man ./usr/share/man/man8/trivial-rewrite.8 man-postfix-man postfix,.man -./usr/share/man/man8/tprof.8 man-sysutil-man .man ./usr/share/man/man8/trpt.8 man-netutil-man .man ./usr/share/man/man8/trsp.8 man-obsolete obsolete ./usr/share/man/man8/ttyflags.8 man-sysutil-man .man @@ -8510,6 +8831,7 @@ ./usr/share/man/man8/virtual.8 man-postfix-man postfix,.man ./usr/share/man/man8/vmstat.8 man-obsolete obsolete ./usr/share/man/man8/vnconfig.8 man-sysutil-man .man +./usr/share/man/man8/vndconfig.8 man-sysutil-man .man ./usr/share/man/man8/wake.8 man-obsolete obsolete ./usr/share/man/man8/wakeonlan.8 man-netutil-man .man ./usr/share/man/man8/walnut/MAKEDEV.8 man-obsolete obsolete @@ -8536,6 +8858,13 @@ ./usr/share/man/man8/x68k/newdisk.8 man-sysutil-man .man ./usr/share/man/man8/x68k/poffd.8 man-obsolete obsolete ./usr/share/man/man8/x68k/rtcalarm.8 man-obsolete obsolete +./usr/share/man/man8/x86/boot.8 man-sys-man .man +./usr/share/man/man8/x86/boot_console.8 man-sys-man .man +./usr/share/man/man8/x86/bootselect.8 man-sys-man .man +./usr/share/man/man8/x86/dosboot.8 man-sys-man .man +./usr/share/man/man8/x86/mbr.8 man-sys-man .man +./usr/share/man/man8/x86/multiboot.8 man-sys-man .man +./usr/share/man/man8/x86/pxeboot.8 man-sys-man .man ./usr/share/man/man8/x86_64/MAKEDEV.8 man-obsolete obsolete ./usr/share/man/man8/x86_64/makedev.8 man-obsolete obsolete ./usr/share/man/man8/xntpd.8 man-obsolete obsolete @@ -8557,4 +8886,7 @@ ./usr/share/man/man8/zpool.8 man-zfs-man zfs,.man ./usr/share/man/man8/zzz.8 man-sysutil-man .man ./usr/share/man/man9/boot.9 man-obsolete obsolete +./usr/share/man/man9lua/core.9lua man-sys-man .man +./usr/share/man/man9lua/intro.9lua man-sys-man .man +./usr/share/man/man9lua/pmf.9lua man-sys-man .man ./usr/share/man/style.css man-mdocml-htmlman html diff --git a/distrib/sets/lists/minix/md.evbarm b/distrib/sets/lists/minix/md.evbarm index e32bb9ea2..21b7f6a1a 100644 --- a/distrib/sets/lists/minix/md.evbarm +++ b/distrib/sets/lists/minix/md.evbarm @@ -16,90 +16,88 @@ ./usr/include/arm minix-sys ./usr/include/arm/aeabi.h minix-sys ./usr/include/arm/ansi.h minix-sys +./usr/include/arm/aout_machdep.h minix-sys +./usr/include/arm/archconst.h minix-sys +./usr/include/arm/archtypes.h minix-sys ./usr/include/arm/arm26 minix-sys ./usr/include/arm/arm26/types.h minix-sys ./usr/include/arm/arm32 minix-sys +./usr/include/arm/arm32/frame.h minix-sys +./usr/include/arm/arm32/katelib.h minix-sys ./usr/include/arm/arm32/param.h minix-sys +./usr/include/arm/arm32/pmap.h minix-sys +./usr/include/arm/arm32/psl.h minix-sys +./usr/include/arm/arm32/pte.h minix-sys +./usr/include/arm/arm32/rtc.h minix-sys ./usr/include/arm/arm32/types.h minix-sys ./usr/include/arm/arm32/vmparam.h minix-sys +./usr/include/arm/armreg.h minix-sys ./usr/include/arm/asm.h minix-sys +./usr/include/arm/atomic.h minix-sys ./usr/include/arm/bswap.h minix-sys ./usr/include/arm/byte_swap.h minix-sys ./usr/include/arm/cdefs.h minix-sys +./usr/include/arm/compat_jmp_buf.h minix-sys +./usr/include/arm/cpuconf.h minix-sys ./usr/include/arm/cpu.h minix-sys ./usr/include/arm/disklabel.h minix-sys +./usr/include/arm/diskparm.h minix-sys +./usr/include/arm/elf.h minix-sys ./usr/include/arm/elf_machdep.h minix-sys ./usr/include/arm/endian.h minix-sys ./usr/include/arm/endian_machdep.h minix-sys +./usr/include/arm/fenv.h minix-sys ./usr/include/arm/float.h minix-sys +./usr/include/arm/frame.h minix-sys ./usr/include/arm/ieeefp.h minix-sys ./usr/include/arm/ieee.h minix-sys ./usr/include/arm/int_const.h minix-sys +./usr/include/arm/interrupt.h minix-sys ./usr/include/arm/int_fmtio.h minix-sys ./usr/include/arm/int_limits.h minix-sys ./usr/include/arm/int_mwgwtypes.h minix-sys ./usr/include/arm/int_types.h minix-sys +./usr/include/arm/ipcconst.h minix-sys +./usr/include/arm/kcore.h minix-sys ./usr/include/arm/limits.h minix-sys ./usr/include/arm/lock.h minix-sys ./usr/include/arm/math.h minix-sys ./usr/include/arm/mcontext.h minix-sys +./usr/include/arm/memory.h minix-sys +./usr/include/arm/multiboot.h minix-sys ./usr/include/arm/mutex.h minix-sys ./usr/include/arm/param.h minix-sys +./usr/include/arm/partition.h minix-sys +./usr/include/arm/pcb.h minix-sys +./usr/include/arm/pmc.h minix-sys ./usr/include/arm/proc.h minix-sys ./usr/include/arm/profile.h minix-sys +./usr/include/arm/ptrace.h minix-sys +./usr/include/arm/reg.h minix-sys ./usr/include/arm/rwlock.h minix-sys ./usr/include/arm/setjmp.h minix-sys ./usr/include/arm/signal.h minix-sys +./usr/include/arm/stackframe.h minix-sys +./usr/include/arm/swi.h minix-sys +./usr/include/arm/sysarch.h minix-sys +./usr/include/arm/trap.h minix-sys ./usr/include/arm/types.h minix-sys +./usr/include/arm/vfpreg.h minix-sys +./usr/include/arm/vm.h minix-sys +./usr/include/arm/vmparam.h minix-sys ./usr/include/arm/wchar_limits.h minix-sys ./usr/include/evbarm minix-sys -./usr/include/evbarm/ansi.h minix-sys -./usr/include/evbarm/archconst.h minix-sys -./usr/include/evbarm/archtypes.h minix-sys -./usr/include/evbarm/asm.h minix-sys -./usr/include/evbarm/bswap.h minix-sys -./usr/include/evbarm/cdefs.h minix-sys -./usr/include/evbarm/compat_jmp_buf.h minix-sys -./usr/include/evbarm/cpu.h minix-sys ./usr/include/evbarm/disklabel.h minix-sys -./usr/include/evbarm/diskparm.h minix-sys -./usr/include/evbarm/elf.h minix-sys -./usr/include/evbarm/elf_machdep.h minix-sys -./usr/include/evbarm/endian.h minix-sys -./usr/include/evbarm/endian_machdep.h minix-sys -./usr/include/evbarm/float.h minix-sys -./usr/include/evbarm/ieeefp.h minix-sys -./usr/include/evbarm/ieee.h minix-sys -./usr/include/evbarm/int_const.h minix-sys -./usr/include/evbarm/interrupt.h minix-sys -./usr/include/evbarm/int_fmtio.h minix-sys -./usr/include/evbarm/int_limits.h minix-sys -./usr/include/evbarm/int_mwgwtypes.h minix-sys -./usr/include/evbarm/int_types.h minix-sys -./usr/include/evbarm/ipcconst.h minix-sys -./usr/include/evbarm/limits.h minix-sys -./usr/include/evbarm/lock.h minix-sys -./usr/include/evbarm/math.h minix-sys -./usr/include/evbarm/mcontext.h minix-sys -./usr/include/evbarm/memory.h minix-sys -./usr/include/evbarm/multiboot.h minix-sys -./usr/include/evbarm/mutex.h minix-sys -./usr/include/evbarm/param.h minix-sys -./usr/include/evbarm/partition.h minix-sys -./usr/include/evbarm/proc.h minix-sys -./usr/include/evbarm/profile.h minix-sys -./usr/include/evbarm/rwlock.h minix-sys -./usr/include/evbarm/setjmp.h minix-sys -./usr/include/evbarm/signal.h minix-sys -./usr/include/evbarm/stackframe.h minix-sys -./usr/include/evbarm/types.h minix-sys -./usr/include/evbarm/vm.h minix-sys -./usr/include/evbarm/vmparam.h minix-sys -./usr/include/evbarm/wchar_limits.h minix-sys ./usr/include/gcc-4.5/arm_neon.h minix-sys gcccmds -./usr/include/i386 minix-sys obsolete +./usr/include/i386 minix-sys ./usr/lib/libclkconf.a minix-sys ./usr/lib/libclkconf_pic.a minix-sys +./usr/lib/libc_vfp.a minix-sys +./usr/lib/libc_vfp_pic.a minix-sys +./usr/lib/libc_vfp.so.0.0 minix-sys +./usr/lib/libc_vfp.so.0 minix-sys +./usr/lib/libc_vfp.so minix-sys +./usr/lib/libgcc_eh.a minix-sys ./usr/lib/libgpio.a minix-sys ./usr/lib/libgpio_pic.a minix-sys ./usr/lib/libi2cdriver.a minix-sys @@ -119,14 +117,12 @@ ./usr/sbin/tsl2550 minix-sys ./usr/share/beaglebone minix-sys ./usr/share/beaglebone/weather minix-sys -./usr/share/beaglebone/weather/LICENSE minix-sys -./usr/share/beaglebone/weather/README.txt minix-sys ./usr/share/beaglebone/weather/index.html minix-sys ./usr/share/beaglebone/weather/jquery.js minix-sys +./usr/share/beaglebone/weather/LICENSE minix-sys ./usr/share/beaglebone/weather/processing.js minix-sys +./usr/share/beaglebone/weather/README.txt minix-sys ./usr/share/beaglebone/weather/spin.js minix-sys ./usr/share/beaglebone/weather/style.css minix-sys ./usr/share/beaglebone/weather/weatherstation.js minix-sys ./usr/share/beaglebone/weather/weatherstation.lua minix-sys -./usr/tests/minix-posix/mod minix-sys -./usr/tests/minix-posix/test63 minix-sys diff --git a/distrib/sets/lists/minix/md.i386 b/distrib/sets/lists/minix/md.i386 index 9269fee2d..59a293f66 100644 --- a/distrib/sets/lists/minix/md.i386 +++ b/distrib/sets/lists/minix/md.i386 @@ -1,4 +1,3 @@ - ./boot/minix/.temp/mod07_tty minix-sys ./boot/minix/.temp/mod08_mfs minix-sys ./boot/minix/.temp/mod09_vm minix-sys @@ -99,12 +98,14 @@ ./usr/include/i386/ports.h minix-sys ./usr/include/i386/proc.h minix-sys ./usr/include/i386/profile.h minix-sys +./usr/include/i386/ptrace.h minix-sys ./usr/include/i386/rwlock.h minix-sys ./usr/include/i386/segments.h minix-sys ./usr/include/i386/setjmp.h minix-sys ./usr/include/i386/signal.h minix-sys ./usr/include/i386/stackframe.h minix-sys ./usr/include/i386/sysarch.h minix-sys +./usr/include/i386/trap.h minix-sys ./usr/include/i386/tss.h minix-sys ./usr/include/i386/types.h minix-sys ./usr/include/i386/vm.h minix-sys @@ -142,8 +143,8 @@ ./usr/lib/libhgfs_pic.a minix-sys ./usr/lib/libm387.a minix-sys ./usr/lib/libm387_pic.a minix-sys -./usr/lib/libm387.so.0.0 minix-sys ./usr/lib/libm387.so.0 minix-sys +./usr/lib/libm387.so.0.1 minix-sys ./usr/lib/libm387.so minix-sys ./usr/lib/libvassert.a minix-sys ./usr/lib/libvboxfs.a minix-sys @@ -154,6 +155,7 @@ ./usr/mdec/boot_monitor minix-sys ./usr/mdec/bootxx_cd9660 minix-sys ./usr/mdec/bootxx_ext2fs minix-sys +./usr/mdec/bootxx_ffsv1 minix-sys ./usr/mdec/bootxx_minixfs3 minix-sys ./usr/mdec/gptmbr.bin minix-sys ./usr/mdec/mbr minix-sys diff --git a/distrib/sets/lists/minix/mi b/distrib/sets/lists/minix/mi index 57666c8ac..38b41c7df 100644 --- a/distrib/sets/lists/minix/mi +++ b/distrib/sets/lists/minix/mi @@ -18,15 +18,12 @@ ./bin/cpdir minix-sys ./bin/cpio minix-sys ./bin/date minix-sys -./bin/dev2name minix-sys obsolete ./bin/df minix-sys ./bin/echo minix-sys ./bin/ed minix-sys ./bin/expr minix-sys ./bin/false minix-sys ./bin/getopts minix-sys -./bin/getty minix-sys obsolete -./bin/halt minix-sys obsolete ./bin/intr minix-sys ./bin/kill minix-sys ./bin/ksh minix-sys @@ -43,14 +40,11 @@ ./bin/pwd minix-sys ./bin/read minix-sys ./bin/readclock minix-sys -./bin/reboot minix-sys obsolete ./bin/rm minix-sys ./bin/rmdir minix-sys -./bin/sed minix-sys ./bin/service minix-sys ./bin/setup minix-sys ./bin/sh minix-sys -./bin/shutdown minix-sys obsolete ./bin/stty minix-sys ./bin/sync minix-sys ./bin/sysenv minix-sys @@ -88,7 +82,6 @@ ./etc/group minix-sys ./etc/hostname.file minix-sys ./etc/inet.conf minix-sys -./etc/make.conf minix-sys obsolete ./etc/man.conf minix-sys ./etc/master.passwd minix-sys ./etc/mk.conf minix-sys @@ -146,19 +139,16 @@ ./sbin/devman minix-sys ./sbin/ext2 minix-sys ./sbin/fsck minix-sys -./sbin/fsck.ext2 minix-sys ./sbin/fsck_ext2fs minix-sys -./sbin/fsck.mfs minix-sys +./sbin/fsck_mfs minix-sys ./sbin/halt minix-sys ./sbin/init minix-sys ./sbin/input minix-sys ./sbin/is minix-sys ./sbin/isofs minix-sys ./sbin/mfs minix-sys -./sbin/mkfs.ext2 minix-sys ./sbin/mkfs.mfs minix-sys ./sbin/mknod minix-sys -./sbin/newfs_ext2 minix-sys ./sbin/newfs_ext2fs minix-sys ./sbin/nologin minix-sys ./sbin/poweroff minix-sys @@ -211,13 +201,10 @@ ./usr/benchmarks/unixbench/testdir/sort.src minix-sys ./usr/benchmarks/unixbench/tmp minix-sys ./usr/bin minix-sys -./usr/bin/acknm minix-sys obsolete -./usr/bin/acksize minix-sys obsolete ./usr/bin/addr2line minix-sys binutils ./usr/bin/add_route minix-sys ./usr/bin/apropos minix-sys ./usr/bin/ar minix-sys binutils -./usr/bin/arch minix-sys ./usr/bin/arp minix-sys ./usr/bin/as minix-sys binutils ./usr/bin/asa minix-sys @@ -232,7 +219,6 @@ ./usr/bin/autopart minix-sys ./usr/bin/awk minix-sys ./usr/bin/backup minix-sys -./usr/bin/badblocks minix-sys obsolete ./usr/bin/banner minix-sys ./usr/bin/basename minix-sys ./usr/bin/bdes minix-sys @@ -253,7 +239,6 @@ ./usr/bin/cc1plus minix-sys gcccmds ./usr/bin/cdprobe minix-sys ./usr/bin/c++filt minix-sys binutils -./usr/bin/checkhier minix-sys obsolete ./usr/bin/checknr minix-sys ./usr/bin/chfn minix-sys ./usr/bin/chgrp minix-sys @@ -290,7 +275,6 @@ ./usr/bin/DESCRIBE minix-sys ./usr/bin/devmand minix-sys ./usr/bin/devsize minix-sys -./usr/bin/df minix-sys obsolete ./usr/bin/dhcpd minix-sys ./usr/bin/dhrystone minix-sys ./usr/bin/diff minix-sys @@ -300,13 +284,9 @@ ./usr/bin/dosread minix-sys ./usr/bin/doswrite minix-sys ./usr/bin/du minix-sys -./usr/bin/dumpcore minix-sys obsolete ./usr/bin/egrep minix-sys ./usr/bin/eject minix-sys ./usr/bin/elfedit minix-sys binutils -./usr/bin/elvis minix-sys obsolete -./usr/bin/elvprsv minix-sys obsolete -./usr/bin/elvrec minix-sys obsolete ./usr/bin/env minix-sys ./usr/bin/ex minix-sys ./usr/bin/expand minix-sys @@ -321,18 +301,15 @@ ./usr/bin/fix minix-sys ./usr/bin/flex++ minix-sys ./usr/bin/flex minix-sys -./usr/bin/fmt minix-sys obsolete ./usr/bin/fold minix-sys ./usr/bin/format minix-sys ./usr/bin/fortune minix-sys ./usr/bin/fpr minix-sys ./usr/bin/from minix-sys ./usr/bin/fsplit minix-sys -./usr/bin/fstat minix-sys ./usr/bin/ftp minix-sys ./usr/bin/g++ minix-sys gcccmds ./usr/bin/gcc minix-sys gcccmds -./usr/bin/gcore minix-sys obsolete ./usr/bin/gcov minix-sys gcccmds ./usr/bin/gcov-pull minix-sys ./usr/bin/gcpp minix-sys gcccmds @@ -345,7 +322,6 @@ ./usr/bin/gzcat minix-sys ./usr/bin/gzexe minix-sys ./usr/bin/gzip minix-sys -./usr/bin/halt minix-sys obsolete ./usr/bin/head minix-sys ./usr/bin/hexdump minix-sys ./usr/bin/host minix-sys @@ -354,7 +330,6 @@ ./usr/bin/ifconfig minix-sys ./usr/bin/ifdef minix-sys ./usr/bin/indent minix-sys -./usr/bin/in.fingerd minix-sys obsolete ./usr/bin/info minix-sys ./usr/bin/infocmp minix-sys ./usr/bin/infokey minix-sys @@ -370,7 +345,6 @@ ./usr/bin/isoread minix-sys ./usr/bin/join minix-sys ./usr/bin/jot minix-sys -./usr/bin/kill minix-sys obsolete ./usr/bin/kyua minix-sys kyua ./usr/bin/lam minix-sys ./usr/bin/last minix-sys @@ -392,7 +366,6 @@ ./usr/bin/lp minix-sys ./usr/bin/lpd minix-sys ./usr/bin/lspci minix-sys -./usr/bin/lstat minix-sys ./usr/bin/lua minix-sys ./usr/bin/luac minix-sys ./usr/bin/lzcat minix-sys @@ -414,9 +387,7 @@ ./usr/bin/mined minix-sys ./usr/bin/ministat minix-sys ./usr/bin/mkdep minix-sys -./usr/bin/mkdir minix-sys ./usr/bin/mkfifo minix-sys -./usr/bin/mkproto minix-sys obsolete ./usr/bin/mkstr minix-sys ./usr/bin/mktemp minix-sys ./usr/bin/more minix-sys @@ -440,13 +411,11 @@ ./usr/bin/paste minix-sys ./usr/bin/patch minix-sys ./usr/bin/pathchk minix-sys -./usr/bin/pax minix-sys obsolete ./usr/bin/ping minix-sys ./usr/bin/pkgin_all minix-sys ./usr/bin/pkgin_cd minix-sys ./usr/bin/playwave minix-sys ./usr/bin/postinstall minix-sys -./usr/bin/poweroff minix-sys obsolete ./usr/bin/pr minix-sys ./usr/bin/prep minix-sys ./usr/bin/printenv minix-sys @@ -461,13 +430,9 @@ ./usr/bin/rarpd minix-sys ./usr/bin/rawspeed minix-sys ./usr/bin/rcp minix-sys -./usr/bin/rdate minix-sys obsolete -./usr/bin/readall minix-sys obsolete ./usr/bin/readelf minix-sys binutils ./usr/bin/readlink minix-sys -./usr/bin/reboot minix-sys obsolete ./usr/bin/recwave minix-sys -./usr/bin/ref minix-sys obsolete ./usr/bin/remsync minix-sys ./usr/bin/renice minix-sys ./usr/bin/repartition minix-sys @@ -488,7 +453,6 @@ ./usr/bin/shar minix-sys ./usr/bin/shlock minix-sys ./usr/bin/shuffle minix-sys -./usr/bin/shutdown minix-sys obsolete ./usr/bin/size minix-sys binutils ./usr/bin/sleep minix-sys ./usr/bin/slip minix-sys @@ -503,7 +467,6 @@ ./usr/bin/stat minix-sys ./usr/bin/strings minix-sys binutils ./usr/bin/strip minix-sys binutils -./usr/bin/stty minix-sys obsolete ./usr/bin/su minix-sys ./usr/bin/sum minix-sys ./usr/bin/svclog minix-sys @@ -549,7 +512,6 @@ ./usr/bin/unxz minix-sys ./usr/bin/unzip minix-sys ./usr/bin/update minix-sys -./usr/bin/uptime minix-sys obsolete ./usr/bin/users minix-sys ./usr/bin/uud minix-sys ./usr/bin/uudecode minix-sys @@ -587,6 +549,7 @@ ./usr/bin/zfgrep minix-sys ./usr/bin/zforce minix-sys ./usr/bin/zgrep minix-sys +./usr/bin/zless minix-sys ./usr/bin/zmore minix-sys ./usr/bin/znew minix-sys ./usr/etc minix-sys @@ -635,7 +598,6 @@ ./usr/include/cdbr.h minix-sys ./usr/include/cdbw.h minix-sys ./usr/include/compat minix-sys -./usr/include/compat/a.out.h minix-sys obsolete ./usr/include/compat/machine minix-sys ./usr/include/complex.h minix-sys ./usr/include/configfile.h minix-sys @@ -674,12 +636,12 @@ ./usr/include/dirent.h minix-sys ./usr/include/disktab.h minix-sys ./usr/include/dlfcn.h minix-sys -./usr/include/elfdefinitions.h minix-sys ./usr/include/elf.h minix-sys ./usr/include/env.h minix-sys ./usr/include/err.h minix-sys ./usr/include/errno.h minix-sys ./usr/include/eti.h minix-sys +./usr/include/execinfo.h minix-sys ./usr/include/fcntl.h minix-sys ./usr/include/fenv.h minix-sys ./usr/include/fetch.h minix-sys @@ -687,6 +649,9 @@ ./usr/include/fmtmsg.h minix-sys ./usr/include/fnmatch.h minix-sys ./usr/include/form.h minix-sys +./usr/include/fs minix-sys +./usr/include/fs/puffs minix-sys +./usr/include/fs/puffs/puffs_msgif.h minix-sys ./usr/include/fstab.h minix-sys ./usr/include/fts.h minix-sys ./usr/include/ftw.h minix-sys @@ -1098,6 +1063,14 @@ ./usr/include/ifaddrs.h minix-sys ./usr/include/inttypes.h minix-sys ./usr/include/iso646.h minix-sys +./usr/include/isofs minix-sys +./usr/include/isofs/cd9660 minix-sys +./usr/include/isofs/cd9660/cd9660_extern.h minix-sys +./usr/include/isofs/cd9660/cd9660_mount.h minix-sys +./usr/include/isofs/cd9660/cd9660_node.h minix-sys +./usr/include/isofs/cd9660/cd9660_rrip.h minix-sys +./usr/include/isofs/cd9660/iso.h minix-sys +./usr/include/isofs/cd9660/iso_rrip.h minix-sys ./usr/include/kvm.h minix-sys ./usr/include/langinfo.h minix-sys ./usr/include/lauxlib.h minix-sys @@ -1155,24 +1128,21 @@ ./usr/include/minix/acpi.h minix-sys ./usr/include/minix/audio_fw.h minix-sys ./usr/include/minix/bdev.h minix-sys -./usr/include/minix/board.h minix-sys ./usr/include/minix/bitmap.h minix-sys ./usr/include/minix/blockdriver.h minix-sys ./usr/include/minix/blockdriver_mt.h minix-sys +./usr/include/minix/board.h minix-sys ./usr/include/minix/btrace.h minix-sys ./usr/include/minix/callnr.h minix-sys ./usr/include/minix/chardriver.h minix-sys ./usr/include/minix/clkconf.h minix-sys ./usr/include/minix/com.h minix-sys -./usr/include/minix/compiler.h minix-sys obsolete ./usr/include/minix/config.h minix-sys ./usr/include/minix/const.h minix-sys ./usr/include/minix/cpufeature.h minix-sys -./usr/include/minix/crtso.h minix-sys obsolete ./usr/include/minix/debug.h minix-sys ./usr/include/minix/devio.h minix-sys ./usr/include/minix/devman.h minix-sys -./usr/include/minix/dirent.h minix-sys obsolete ./usr/include/minix/dmap.h minix-sys ./usr/include/minix/driver.h minix-sys ./usr/include/minix/drivers.h minix-sys @@ -1194,11 +1164,9 @@ ./usr/include/minix/ipc.h minix-sys ./usr/include/minix/keymap.h minix-sys ./usr/include/minix/libminixfs.h minix-sys -./usr/include/minix/limits.h minix-sys obsolete ./usr/include/minix/log.h minix-sys ./usr/include/minix/minlib.h minix-sys ./usr/include/minix/mmio.h minix-sys -./usr/include/minix/mount.h minix-sys ./usr/include/minix/mthread.h minix-sys ./usr/include/minix/netdriver.h minix-sys ./usr/include/minix/netsock.h minix-sys @@ -1212,7 +1180,6 @@ ./usr/include/minix/procfs.h minix-sys ./usr/include/minix/profile.h minix-sys ./usr/include/minix/queryparam.h minix-sys -./usr/include/minix/reboot.h minix-sys obsolete ./usr/include/minix/rs.h minix-sys ./usr/include/minix/safecopies.h minix-sys ./usr/include/minix/sched.h minix-sys @@ -1224,11 +1191,8 @@ ./usr/include/minix/sysinfo.h minix-sys ./usr/include/minix/syslib.h minix-sys ./usr/include/minix/sysutil.h minix-sys -./usr/include/minix/termios.h minix-sys obsolete ./usr/include/minix/timers.h minix-sys -./usr/include/minix/tty.h minix-sys obsolete ./usr/include/minix/type.h minix-sys -./usr/include/minix/types.h minix-sys obsolete ./usr/include/minix/u64.h minix-sys ./usr/include/minix/usb_ch9.h minix-sys ./usr/include/minix/usb.h minix-sys @@ -1244,6 +1208,13 @@ ./usr/include/monetary.h minix-sys ./usr/include/mpool.h minix-sys ./usr/include/mqueue.h minix-sys +./usr/include/msdosfs minix-sys +./usr/include/msdosfs/bootsect.h minix-sys +./usr/include/msdosfs/bpb.h minix-sys +./usr/include/msdosfs/denode.h minix-sys +./usr/include/msdosfs/direntry.h minix-sys +./usr/include/msdosfs/fat.h minix-sys +./usr/include/msdosfs/msdosfsmount.h minix-sys ./usr/include/ndbm.h minix-sys ./usr/include/net minix-sys ./usr/include/net/ethertypes.h minix-sys @@ -1286,6 +1257,8 @@ ./usr/include/netgroup.h minix-sys ./usr/include/netinet minix-sys ./usr/include/netinet/in.h minix-sys +./usr/include/netinet/in_systm.h minix-sys +./usr/include/netinet/ip.h minix-sys ./usr/include/netinet/tcp.h minix-sys ./usr/include/netinet6 minix-sys ./usr/include/netinet6/in6.h minix-sys @@ -1307,6 +1280,9 @@ ./usr/include/objc/typedstream.h minix-sys gcccmds ./usr/include/paths.h minix-sys ./usr/include/poll.h minix-sys +./usr/include/ppath minix-sys +./usr/include/ppath/ppath.h minix-sys +./usr/include/ppath/ppath_impl.h minix-sys ./usr/include/prop minix-sys ./usr/include/prop/plistref.h minix-sys ./usr/include/prop/prop_array.h minix-sys @@ -1325,7 +1301,6 @@ ./usr/include/protocols/talkd.h minix-sys ./usr/include/protocols/timed.h minix-sys ./usr/include/puffs.h minix-sys -./usr/include/puffs_msgif.h minix-sys ./usr/include/pwd.h minix-sys ./usr/include/quota.h minix-sys ./usr/include/randomid.h minix-sys @@ -1460,7 +1435,6 @@ ./usr/include/sys/ioc_tape.h minix-sys ./usr/include/sys/ioctl_compat.h minix-sys ./usr/include/sys/ioctl.h minix-sys -./usr/include/sys/ioc_tty.h minix-sys obsolete ./usr/include/sys/iostat.h minix-sys ./usr/include/sys/ipc.h minix-sys ./usr/include/sys/jmp_buf.h minix-sys @@ -1476,6 +1450,7 @@ ./usr/include/sys/localedef.h minix-sys ./usr/include/sys/lockf.h minix-sys ./usr/include/sys/lock.h minix-sys +./usr/include/sys/lua.h minix-sys ./usr/include/sys/lwpctl.h minix-sys ./usr/include/sys/lwp.h minix-sys ./usr/include/sys/malloc.h minix-sys @@ -1599,8 +1574,6 @@ ./usr/include/term.h minix-sys ./usr/include/termios.h minix-sys ./usr/include/time.h minix-sys -./usr/include/timers.h minix-sys obsolete -./usr/include/tools.h minix-sys obsolete ./usr/include/ttyent.h minix-sys ./usr/include/tzfile.h minix-sys ./usr/include/ucontext.h minix-sys @@ -1618,6 +1591,7 @@ ./usr/include/ufs/lfs minix-sys ./usr/include/ufs/lfs/lfs_extern.h minix-sys ./usr/include/ufs/lfs/lfs.h minix-sys +./usr/include/ufs/lfs/lfs_inode.h minix-sys ./usr/include/ufs/mfs minix-sys ./usr/include/ufs/mfs/mfs_extern.h minix-sys ./usr/include/ufs/mfs/mfsnode.h minix-sys @@ -1685,7 +1659,6 @@ ./usr/lib/cpp minix-sys ./usr/lib/crontab minix-sys ./usr/lib/crt0.o minix-sys -./usr/lib/crt1.o minix-sys ./usr/lib/crtbegin.o minix-sys ./usr/lib/crtbeginS.o minix-sys ./usr/lib/crtbeginT.o minix-sys @@ -1729,9 +1702,9 @@ ./usr/lib/keymaps/us-swap.map minix-sys ./usr/lib/libarchive.a minix-sys ./usr/lib/libarchive_pic.a minix-sys -./usr/lib/libarchive.so.0.0 minix-sys -./usr/lib/libarchive.so.0 minix-sys ./usr/lib/libarchive.so minix-sys +./usr/lib/libarchive.so.3 minix-sys +./usr/lib/libarchive.so.3.1 minix-sys ./usr/lib/libasyn.a minix-sys ./usr/lib/libasyn_pic.a minix-sys ./usr/lib/libatf-c.a minix-sys atf @@ -1754,9 +1727,9 @@ ./usr/lib/libblockdriver_pic.a minix-sys ./usr/lib/libbz2.a minix-sys ./usr/lib/libbz2_pic.a minix-sys -./usr/lib/libbz2.so.0.0 minix-sys -./usr/lib/libbz2.so.0 minix-sys ./usr/lib/libbz2.so minix-sys +./usr/lib/libbz2.so.1 minix-sys +./usr/lib/libbz2.so.1.1 minix-sys ./usr/lib/libc.a minix-sys ./usr/lib/libchardriver.a minix-sys ./usr/lib/libchardriver_pic.a minix-sys @@ -1769,17 +1742,17 @@ ./usr/lib/libc_pic.a minix-sys ./usr/lib/libcrypt.a minix-sys ./usr/lib/libcrypt_pic.a minix-sys -./usr/lib/libcrypt.so.0.0 minix-sys -./usr/lib/libcrypt.so.0 minix-sys ./usr/lib/libcrypt.so minix-sys -./usr/lib/libc.so.0.0 minix-sys -./usr/lib/libc.so.0 minix-sys +./usr/lib/libcrypt.so.1.0 minix-sys +./usr/lib/libcrypt.so.1 minix-sys ./usr/lib/libc.so minix-sys +./usr/lib/libc.so.12 minix-sys +./usr/lib/libc.so.12.187 minix-sys ./usr/lib/libcurses.a minix-sys ./usr/lib/libcurses_pic.a minix-sys -./usr/lib/libcurses.so.0.0 minix-sys -./usr/lib/libcurses.so.0 minix-sys ./usr/lib/libcurses.so minix-sys +./usr/lib/libcurses.so.7.0 minix-sys +./usr/lib/libcurses.so.7 minix-sys ./usr/lib/libddekit.a minix-sys ./usr/lib/libddekit_pic.a minix-sys ./usr/lib/libddekit_usb_client.a minix-sys @@ -1791,13 +1764,19 @@ ./usr/lib/libedit.a minix-sys ./usr/lib/libedit_pic.a minix-sys ./usr/lib/libedit.so minix-sys -./usr/lib/libedit.so.3.0 minix-sys ./usr/lib/libedit.so.3 minix-sys +./usr/lib/libedit.so.3.1 minix-sys ./usr/lib/libelf.a minix-sys ./usr/lib/libelf_pic.a minix-sys +./usr/lib/libelf.so.0.0 minix-sys ./usr/lib/libelf.so.0 minix-sys ./usr/lib/libelf.so minix-sys ./usr/lib/libexec.a minix-sys +./usr/lib/libexecinfo.a minix-sys +./usr/lib/libexecinfo_pic.a minix-sys +./usr/lib/libexecinfo.so.0.0 minix-sys +./usr/lib/libexecinfo.so.0 minix-sys +./usr/lib/libexecinfo.so minix-sys ./usr/lib/libexec_pic.a minix-sys ./usr/lib/libfetch.a minix-sys ./usr/lib/libfl.a minix-sys @@ -1823,28 +1802,27 @@ ./usr/lib/liblutok.a minix-sys kyua ./usr/lib/liblutok_pic.a minix-sys kyua ./usr/lib/liblutok.so minix-sys kyua -./usr/lib/liblutok.so.1.0 minix-sys kyua -./usr/lib/liblutok.so.1 minix-sys kyua +./usr/lib/liblutok.so.2.0 minix-sys kyua +./usr/lib/liblutok.so.2 minix-sys kyua ./usr/lib/liblwip.a minix-sys ./usr/lib/liblwip_pic.a minix-sys ./usr/lib/liblzma.a minix-sys ./usr/lib/liblzma_pic.a minix-sys -./usr/lib/liblzma.so.0.0 minix-sys -./usr/lib/liblzma.so.0 minix-sys ./usr/lib/liblzma.so minix-sys +./usr/lib/liblzma.so.1 minix-sys +./usr/lib/liblzma.so.1.1 minix-sys ./usr/lib/libm.a minix-sys ./usr/lib/libmagic.a minix-sys ./usr/lib/libmagic_pic.a minix-sys -./usr/lib/libmagic.so.0.0 minix-sys -./usr/lib/libmagic.so.0 minix-sys ./usr/lib/libmagic.so minix-sys +./usr/lib/libmagic.so.5.0 minix-sys +./usr/lib/libmagic.so.5 minix-sys ./usr/lib/libmenu.a minix-sys ./usr/lib/libmenu_pic.a minix-sys ./usr/lib/libmenu.so minix-sys ./usr/lib/libmenu.so.6.0 minix-sys ./usr/lib/libmenu.so.6 minix-sys ./usr/lib/libminc.a minix-sys -./usr/lib/libminc_pic.a minix-sys ./usr/lib/libminixfs.a minix-sys ./usr/lib/libminixfs_pic.a minix-sys ./usr/lib/libminlib.a minix-sys @@ -1853,8 +1831,8 @@ ./usr/lib/libminlib.so.0 minix-sys ./usr/lib/libminlib.so minix-sys ./usr/lib/libm_pic.a minix-sys -./usr/lib/libm.so.0.0 minix-sys ./usr/lib/libm.so.0 minix-sys +./usr/lib/libm.so.0.10 minix-sys ./usr/lib/libm.so minix-sys ./usr/lib/libmthread.a minix-sys ./usr/lib/libmthread_pic.a minix-sys @@ -1871,19 +1849,19 @@ ./usr/lib/libopcodes.so.5 minix-sys binutils ./usr/lib/libprop.a minix-sys ./usr/lib/libprop_pic.a minix-sys -./usr/lib/libprop.so.0.0 minix-sys -./usr/lib/libprop.so.0 minix-sys ./usr/lib/libprop.so minix-sys +./usr/lib/libprop.so.1 minix-sys +./usr/lib/libprop.so.1.1 minix-sys ./usr/lib/libpuffs.a minix-sys ./usr/lib/libpuffs_pic.a minix-sys -./usr/lib/libpuffs.so.0.0 minix-sys -./usr/lib/libpuffs.so.0 minix-sys ./usr/lib/libpuffs.so minix-sys +./usr/lib/libpuffs.so.2.0 minix-sys +./usr/lib/libpuffs.so.2 minix-sys ./usr/lib/librefuse.a minix-sys ./usr/lib/librefuse_pic.a minix-sys -./usr/lib/librefuse.so.0.0 minix-sys -./usr/lib/librefuse.so.0 minix-sys ./usr/lib/librefuse.so minix-sys +./usr/lib/librefuse.so.2.0 minix-sys +./usr/lib/librefuse.so.2 minix-sys ./usr/lib/librmt.a minix-sys ./usr/lib/libsffs.a minix-sys ./usr/lib/libsffs_pic.a minix-sys @@ -1910,9 +1888,9 @@ ./usr/lib/libtermcap.so minix-sys ./usr/lib/libterminfo.a minix-sys ./usr/lib/libterminfo_pic.a minix-sys -./usr/lib/libterminfo.so.0.0 minix-sys -./usr/lib/libterminfo.so.0 minix-sys ./usr/lib/libterminfo.so minix-sys +./usr/lib/libterminfo.so.1.0 minix-sys +./usr/lib/libterminfo.so.1 minix-sys ./usr/lib/libtermlib.a minix-sys ./usr/lib/libtermlib_pic.a minix-sys ./usr/lib/libtermlib.so.0 minix-sys @@ -1924,16 +1902,21 @@ ./usr/lib/libusb_pic.a minix-sys ./usr/lib/libutil.a minix-sys ./usr/lib/libutil_pic.a minix-sys -./usr/lib/libutil.so.0.0 minix-sys -./usr/lib/libutil.so.0 minix-sys ./usr/lib/libutil.so minix-sys +./usr/lib/libutil.so.7 minix-sys +./usr/lib/libutil.so.7.21 minix-sys ./usr/lib/libvtreefs.a minix-sys ./usr/lib/libvtreefs_pic.a minix-sys ./usr/lib/libz.a minix-sys ./usr/lib/libz_pic.a minix-sys -./usr/lib/libz.so.0.0 minix-sys -./usr/lib/libz.so.0 minix-sys ./usr/lib/libz.so minix-sys +./usr/lib/libz.so.1.0 minix-sys +./usr/lib/libz.so.1 minix-sys +./usr/lib/lua minix-sys +./usr/lib/lua/5.1 minix-sys +./usr/lib/lua/5.1/gpio.so minix-sys +./usr/lib/lua/5.1/sqlite.so minix-sys +./usr/lib/lua/5.1/syslog.so minix-sys ./usr/lib/minlib.pc minix-sys ./usr/lib/pkgconfig minix-sys ./usr/lib/pkgconfig/atf-c.pc minix-sys atf @@ -1956,13 +1939,13 @@ ./usr/libexec/kyua-plain-tester minix-sys kyua ./usr/libexec/ld.elf_so minix-sys ./usr/libexec/makewhatis minix-sys +./usr/libexec/virecover minix-sys ./usr/log minix-sys ./usr/Makefile minix-sys ./usr/man minix-sys ./usr/man/man1 minix-sys ./usr/man/man1/..1 minix-sys ./usr/man/man1/[.1 minix-sys -./usr/man/man1/acksize.1 minix-sys obsolete ./usr/man/man1/addr2line.1 minix-sys binutils ./usr/man/man1/apropos.1 minix-sys ./usr/man/man1/ar.1 minix-sys binutils @@ -2030,7 +2013,6 @@ ./usr/man/man1/date.1 minix-sys ./usr/man/man1/dd.1 minix-sys ./usr/man/man1/deroff.1 minix-sys -./usr/man/man1/dev2name.1 minix-sys obsolete ./usr/man/man1/df.1 minix-sys ./usr/man/man1/dhrystone.1 minix-sys ./usr/man/man1/diff.1 minix-sys @@ -2039,14 +2021,11 @@ ./usr/man/man1/dosread.1 minix-sys ./usr/man/man1/doswrite.1 minix-sys ./usr/man/man1/du.1 minix-sys -./usr/man/man1/dumpcore.1 minix-sys obsolete ./usr/man/man1/echo.1 minix-sys ./usr/man/man1/ed.1 minix-sys ./usr/man/man1/egrep.1 minix-sys ./usr/man/man1/eject.1 minix-sys ./usr/man/man1/elfedit.1 minix-sys binutils -./usr/man/man1/elvis.1 minix-sys obsolete -./usr/man/man1/elvrec.1 minix-sys obsolete ./usr/man/man1/env.1 minix-sys ./usr/man/man1/eval.1 minix-sys ./usr/man/man1/ex.1 minix-sys @@ -2063,7 +2042,6 @@ ./usr/man/man1/finger.1 minix-sys ./usr/man/man1/flex.1 minix-sys ./usr/man/man1/flexdoc.1 minix-sys -./usr/man/man1/fmt.1 minix-sys obsolete ./usr/man/man1/fold.1 minix-sys ./usr/man/man1/for.1 minix-sys ./usr/man/man1/format.1 minix-sys @@ -2169,7 +2147,6 @@ ./usr/man/man1/mkdep.1 minix-sys ./usr/man/man1/mkdir.1 minix-sys ./usr/man/man1/mkfifo.1 minix-sys -./usr/man/man1/mkfs.1 minix-sys obsolete ./usr/man/man1/mkfs.mfs.1 minix-sys ./usr/man/man1/mkproto.1 minix-sys ./usr/man/man1/mkstr.1 minix-sys @@ -2180,6 +2157,7 @@ ./usr/man/man1/mt.1 minix-sys ./usr/man/man1/mv.1 minix-sys ./usr/man/man1/nbperf.1 minix-sys +./usr/man/man1/newfs_mfs.1 minix-sys ./usr/man/man1/newgrp.1 minix-sys ./usr/man/man1/nice.1 minix-sys ./usr/man/man1/nl.1 minix-sys @@ -2208,12 +2186,10 @@ ./usr/man/man1/ranlib.1 minix-sys binutils ./usr/man/man1/rcp.1 minix-sys ./usr/man/man1/read.1 minix-sys -./usr/man/man1/readall.1 minix-sys obsolete ./usr/man/man1/readelf.1 minix-sys binutils ./usr/man/man1/readlink.1 minix-sys ./usr/man/man1/readonly.1 minix-sys ./usr/man/man1/recwave.1 minix-sys -./usr/man/man1/ref.1 minix-sys obsolete ./usr/man/man1/remsync.1 minix-sys ./usr/man/man1/return.1 minix-sys ./usr/man/man1/rev.1 minix-sys @@ -2323,11 +2299,11 @@ ./usr/man/man1/zfgrep.1 minix-sys ./usr/man/man1/zforce.1 minix-sys ./usr/man/man1/zgrep.1 minix-sys +./usr/man/man1/zless.1 minix-sys ./usr/man/man1/zmore.1 minix-sys ./usr/man/man1/znew.1 minix-sys ./usr/man/man1x minix-sys ./usr/man/man1x/awk.1x minix-sys -./usr/man/man1x/elvis.1x minix-sys obsolete ./usr/man/man1x/kermit.1x minix-sys ./usr/man/man1x/macros.1x minix-sys ./usr/man/man1x/mined.1x minix-sys @@ -2335,7 +2311,6 @@ ./usr/man/man2/accept.2 minix-sys ./usr/man/man2/access.2 minix-sys ./usr/man/man2/adjtime.2 minix-sys -./usr/man/man2/alarm.2 minix-sys obsolete ./usr/man/man2/bind.2 minix-sys ./usr/man/man2/brk.2 minix-sys ./usr/man/man2/chdir.2 minix-sys @@ -2381,7 +2356,6 @@ ./usr/man/man2/mknod.2 minix-sys ./usr/man/man2/mount.2 minix-sys ./usr/man/man2/open.2 minix-sys -./usr/man/man2/pause.2 minix-sys obsolete ./usr/man/man2/pipe.2 minix-sys ./usr/man/man2/pipe2.2 minix-sys ./usr/man/man2/ptrace.2 minix-sys @@ -2415,7 +2389,6 @@ ./usr/man/man2/symlink.2 minix-sys ./usr/man/man2/sync.2 minix-sys ./usr/man/man2/time.2 minix-sys -./usr/man/man2/times.2 minix-sys obsolete ./usr/man/man2/truncate.2 minix-sys ./usr/man/man2/umask.2 minix-sys ./usr/man/man2/uname.2 minix-sys @@ -2709,6 +2682,7 @@ ./usr/man/man3/atomic_swap_ptr.3 minix-sys ./usr/man/man3/atomic_swap_uint.3 minix-sys ./usr/man/man3/atomic_swap_ulong.3 minix-sys +./usr/man/man3/at_quick_exit.3 minix-sys ./usr/man/man3/attr_get.3 minix-sys ./usr/man/man3/attr_off.3 minix-sys ./usr/man/man3/attroff.3 minix-sys @@ -2716,6 +2690,11 @@ ./usr/man/man3/attron.3 minix-sys ./usr/man/man3/attr_set.3 minix-sys ./usr/man/man3/attrset.3 minix-sys +./usr/man/man3/backtrace.3 minix-sys +./usr/man/man3/backtrace_symbols.3 minix-sys +./usr/man/man3/backtrace_symbols_fd.3 minix-sys +./usr/man/man3/backtrace_symbols_fd_fmt.3 minix-sys +./usr/man/man3/backtrace_symbols_fmt.3 minix-sys ./usr/man/man3/basename.3 minix-sys ./usr/man/man3/bcmp.3 minix-sys ./usr/man/man3/bcopy.3 minix-sys @@ -2763,6 +2742,7 @@ ./usr/man/man3/cbreak.3 minix-sys ./usr/man/man3/cbrt.3 minix-sys ./usr/man/man3/cbrtf.3 minix-sys +./usr/man/man3/cbrtl.3 minix-sys ./usr/man/man3/ccos.3 minix-sys ./usr/man/man3/ccosf.3 minix-sys ./usr/man/man3/ccosh.3 minix-sys @@ -2782,6 +2762,7 @@ ./usr/man/man3/cdbw_put_key.3 minix-sys ./usr/man/man3/ceil.3 minix-sys ./usr/man/man3/ceilf.3 minix-sys +./usr/man/man3/ceill.3 minix-sys ./usr/man/man3/cexp.3 minix-sys ./usr/man/man3/cexpf.3 minix-sys ./usr/man/man3/cfgetispeed.3 minix-sys @@ -2821,6 +2802,8 @@ ./usr/man/man3/confstr.3 minix-sys ./usr/man/man3/conj.3 minix-sys ./usr/man/man3/conjf.3 minix-sys +./usr/man/man3/conjl.3 minix-sys +./usr/man/man3/consttime_memequal.3 minix-sys ./usr/man/man3/copysign.3 minix-sys ./usr/man/man3/copysignf.3 minix-sys ./usr/man/man3/copysignl.3 minix-sys @@ -2832,6 +2815,8 @@ ./usr/man/man3/cpow.3 minix-sys ./usr/man/man3/cpowf.3 minix-sys ./usr/man/man3/cproj.3 minix-sys +./usr/man/man3/cprojf.3 minix-sys +./usr/man/man3/cprojl.3 minix-sys ./usr/man/man3/cpuset.3 minix-sys ./usr/man/man3/cpuset_clr.3 minix-sys ./usr/man/man3/cpuset_create.3 minix-sys @@ -2974,7 +2959,6 @@ ./usr/man/man3/elf_errmsg.3 minix-sys ./usr/man/man3/elf_errno.3 minix-sys ./usr/man/man3/elf_fill.3 minix-sys -./usr/man/man3/elf_flagarhdr.3 minix-sys ./usr/man/man3/elf_flagdata.3 minix-sys ./usr/man/man3/elf_flagehdr.3 minix-sys ./usr/man/man3/elf_flagelf.3 minix-sys @@ -2986,11 +2970,8 @@ ./usr/man/man3/elf_getbase.3 minix-sys ./usr/man/man3/elf_getdata.3 minix-sys ./usr/man/man3/elf_getident.3 minix-sys -./usr/man/man3/elf_getphdrnum.3 minix-sys ./usr/man/man3/elf_getphnum.3 minix-sys ./usr/man/man3/elf_getscn.3 minix-sys -./usr/man/man3/elf_getshdrnum.3 minix-sys -./usr/man/man3/elf_getshdrstrndx.3 minix-sys ./usr/man/man3/elf_getshnum.3 minix-sys ./usr/man/man3/elf_getshstrndx.3 minix-sys ./usr/man/man3/elf_hash.3 minix-sys @@ -3068,9 +3049,9 @@ ./usr/man/man3/exp2f.3 minix-sys ./usr/man/man3/exp.3 minix-sys ./usr/man/man3/expf.3 minix-sys +./usr/man/man3/explicit_memset.3 minix-sys ./usr/man/man3/expm1.3 minix-sys ./usr/man/man3/expm1f.3 minix-sys -./usr/man/man3/extattr.3 minix-sys obsolete ./usr/man/man3/extattr_copy_fd.3 minix-sys ./usr/man/man3/extattr_copy_file.3 minix-sys ./usr/man/man3/extattr_copy_link.3 minix-sys @@ -3136,6 +3117,7 @@ ./usr/man/man3/flockfile.3 minix-sys ./usr/man/man3/floor.3 minix-sys ./usr/man/man3/floorf.3 minix-sys +./usr/man/man3/floorl.3 minix-sys ./usr/man/man3/flushinp.3 minix-sys ./usr/man/man3/flushok.3 minix-sys ./usr/man/man3/fmax.3 minix-sys @@ -3147,6 +3129,7 @@ ./usr/man/man3/fminl.3 minix-sys ./usr/man/man3/fmod.3 minix-sys ./usr/man/man3/fmodf.3 minix-sys +./usr/man/man3/fmodl.3 minix-sys ./usr/man/man3/fmtcheck.3 minix-sys ./usr/man/man3/fmtmsg.3 minix-sys ./usr/man/man3/fnmatch.3 minix-sys @@ -3278,10 +3261,8 @@ ./usr/man/man3/getbegx.3 minix-sys ./usr/man/man3/getbegy.3 minix-sys ./usr/man/man3/getbkgd.3 minix-sys -./usr/man/man3/getbootfile.3 minix-sys obsolete ./usr/man/man3/getbsize.3 minix-sys ./usr/man/man3/getc.3 minix-sys -./usr/man/man3/getcap.3 minix-sys obsolete ./usr/man/man3/getch.3 minix-sys ./usr/man/man3/getchar.3 minix-sys ./usr/man/man3/getchar_unlocked.3 minix-sys @@ -3293,6 +3274,7 @@ ./usr/man/man3/getdate_err.3 minix-sys ./usr/man/man3/getdelim.3 minix-sys ./usr/man/man3/getdevmajor.3 minix-sys +./usr/man/man3/getdirentries.3 minix-sys ./usr/man/man3/getdiskbyname.3 minix-sys ./usr/man/man3/getdomainname.3 minix-sys ./usr/man/man3/getdtablesize.3 minix-sys @@ -3301,6 +3283,7 @@ ./usr/man/man3/getfsent.3 minix-sys ./usr/man/man3/getfsfile.3 minix-sys ./usr/man/man3/getfsspec.3 minix-sys +./usr/man/man3/getfsspecname.3 minix-sys ./usr/man/man3/getgrent.3 minix-sys ./usr/man/man3/getgrent_r.3 minix-sys ./usr/man/man3/getgrgid.3 minix-sys @@ -3391,12 +3374,6 @@ ./usr/man/man3/hdestroy_r.3 minix-sys ./usr/man/man3/heapsort.3 minix-sys ./usr/man/man3/herror.3 minix-sys -./usr/man/man3/hesiod.3 minix-sys obsolete -./usr/man/man3/hesiod_end.3 minix-sys obsolete -./usr/man/man3/hesiod_free_list.3 minix-sys obsolete -./usr/man/man3/hesiod_init.3 minix-sys obsolete -./usr/man/man3/hesiod_resolve.3 minix-sys obsolete -./usr/man/man3/hesiod_to_bind.3 minix-sys obsolete ./usr/man/man3/history.3 minix-sys ./usr/man/man3/history_end.3 minix-sys ./usr/man/man3/history_init.3 minix-sys @@ -3415,7 +3392,6 @@ ./usr/man/man3/iconv_open.3 minix-sys ./usr/man/man3/idcok.3 minix-sys ./usr/man/man3/idlok.3 minix-sys -./usr/man/man3/ieee.3 minix-sys ./usr/man/man3/ieee_test.3 minix-sys ./usr/man/man3/if_freenameindex.3 minix-sys ./usr/man/man3/if_indextoname.3 minix-sys @@ -3423,6 +3399,7 @@ ./usr/man/man3/if_nametoindex.3 minix-sys ./usr/man/man3/ilogb.3 minix-sys ./usr/man/man3/ilogbf.3 minix-sys +./usr/man/man3/ilogbl.3 minix-sys ./usr/man/man3/imaxabs.3 minix-sys ./usr/man/man3/imaxdiv.3 minix-sys ./usr/man/man3/inch.3 minix-sys @@ -3430,6 +3407,7 @@ ./usr/man/man3/inchstr.3 minix-sys ./usr/man/man3/index.3 minix-sys ./usr/man/man3/inet.3 minix-sys +./usr/man/man3/inet6_getscopeid.3 minix-sys ./usr/man/man3/inet6_opt_append.3 minix-sys ./usr/man/man3/inet6_opt_find.3 minix-sys ./usr/man/man3/inet6_opt_finish.3 minix-sys @@ -3443,6 +3421,7 @@ ./usr/man/man3/inet6_option_space.3 minix-sys ./usr/man/man3/inet6_opt_next.3 minix-sys ./usr/man/man3/inet6_opt_set_val.3 minix-sys +./usr/man/man3/inet6_putscopeid.3 minix-sys ./usr/man/man3/inet6_rth_add.3 minix-sys ./usr/man/man3/inet6_rthdr_add.3 minix-sys ./usr/man/man3/inet6_rthdr_getaddr.3 minix-sys @@ -3502,7 +3481,6 @@ ./usr/man/man3/isnan.3 minix-sys ./usr/man/man3/isnanf.3 minix-sys ./usr/man/man3/isnormal.3 minix-sys -./usr/man/man3/iso_addr.3 minix-sys ./usr/man/man3/isprint.3 minix-sys ./usr/man/man3/ispunct.3 minix-sys ./usr/man/man3/isspace.3 minix-sys @@ -3563,6 +3541,7 @@ ./usr/man/man3/libarchive.3 minix-sys ./usr/man/man3/libarchive_internals.3 minix-sys ./usr/man/man3/libmagic.3 minix-sys +./usr/man/man3/libutil.3 minix-sys ./usr/man/man3/link_addr.3 minix-sys ./usr/man/man3/linkaddr.3 minix-sys ./usr/man/man3/link_field.3 minix-sys @@ -3587,6 +3566,7 @@ ./usr/man/man3/log.3 minix-sys ./usr/man/man3/logb.3 minix-sys ./usr/man/man3/logbf.3 minix-sys +./usr/man/man3/logbl.3 minix-sys ./usr/man/man3/logf.3 minix-sys ./usr/man/man3/login.3 minix-sys ./usr/man/man3/login_cap.3 minix-sys @@ -3597,6 +3577,7 @@ ./usr/man/man3/login_getcapstr.3 minix-sys ./usr/man/man3/login_getcaptime.3 minix-sys ./usr/man/man3/login_getclass.3 minix-sys +./usr/man/man3/login_getpwclass.3 minix-sys ./usr/man/man3/login_tty.3 minix-sys ./usr/man/man3/loginx.3 minix-sys ./usr/man/man3/logout.3 minix-sys @@ -3805,6 +3786,7 @@ ./usr/man/man3/overlay.3 minix-sys ./usr/man/man3/overwrite.3 minix-sys ./usr/man/man3/pair_content.3 minix-sys +./usr/man/man3/parsedate.3 minix-sys ./usr/man/man3/pause.3 minix-sys ./usr/man/man3/pclose.3 minix-sys ./usr/man/man3/pechochar.3 minix-sys @@ -4021,6 +4003,8 @@ ./usr/man/man3/puffs.3 minix-sys ./usr/man/man3/puffs_cc.3 minix-sys ./usr/man/man3/puffs_cred.3 minix-sys +./usr/man/man3/puffs_flush.3 minix-sys +./usr/man/man3/puffs_framebuf.3 minix-sys ./usr/man/man3/puffs_node.3 minix-sys ./usr/man/man3/puffs_ops.3 minix-sys ./usr/man/man3/puffs_path.3 minix-sys @@ -4057,6 +4041,7 @@ ./usr/man/man3/qdiv.3 minix-sys ./usr/man/man3/qiflush.3 minix-sys ./usr/man/man3/qsort.3 minix-sys +./usr/man/man3/quick_exit.3 minix-sys ./usr/man/man3/radixsort.3 minix-sys ./usr/man/man3/raise.3 minix-sys ./usr/man/man3/raise_default_signal.3 minix-sys @@ -4086,6 +4071,8 @@ ./usr/man/man3/remainderf.3 minix-sys ./usr/man/man3/remove.3 minix-sys ./usr/man/man3/remque.3 minix-sys +./usr/man/man3/remquo.3 minix-sys +./usr/man/man3/remquof.3 minix-sys ./usr/man/man3/res_close.3 minix-sys ./usr/man/man3/reset_prog_mode.3 minix-sys ./usr/man/man3/reset_shell_mode.3 minix-sys @@ -4133,6 +4120,7 @@ ./usr/man/man3/rmtops.3 minix-sys ./usr/man/man3/round.3 minix-sys ./usr/man/man3/roundf.3 minix-sys +./usr/man/man3/roundl.3 minix-sys ./usr/man/man3/rresvport.3 minix-sys ./usr/man/man3/rresvport_af.3 minix-sys ./usr/man/man3/ruserok.3 minix-sys @@ -4141,6 +4129,7 @@ ./usr/man/man3/scalbf.3 minix-sys ./usr/man/man3/scalbn.3 minix-sys ./usr/man/man3/scalbnf.3 minix-sys +./usr/man/man3/scalbnl.3 minix-sys ./usr/man/man3/scale_form.3 minix-sys ./usr/man/man3/scale_menu.3 minix-sys ./usr/man/man3/scandir.3 minix-sys @@ -4317,10 +4306,12 @@ ./usr/man/man3/snprintb_m.3 minix-sys ./usr/man/man3/snprintf.3 minix-sys ./usr/man/man3/snvis.3 minix-sys +./usr/man/man3/sockaddr_snprintf.3 minix-sys ./usr/man/man3/sockatmark.3 minix-sys ./usr/man/man3/sprintf.3 minix-sys ./usr/man/man3/sqrt.3 minix-sys ./usr/man/man3/sqrtf.3 minix-sys +./usr/man/man3/sqrtl.3 minix-sys ./usr/man/man3/sradixsort.3 minix-sys ./usr/man/man3/srand.3 minix-sys ./usr/man/man3/srand48.3 minix-sys @@ -4375,6 +4366,7 @@ ./usr/man/man3/strsignal.3 minix-sys ./usr/man/man3/strsnvis.3 minix-sys ./usr/man/man3/strsnvisx.3 minix-sys +./usr/man/man3/strspct.3 minix-sys ./usr/man/man3/strspn.3 minix-sys ./usr/man/man3/strstr.3 minix-sys ./usr/man/man3/strsuftoll.3 minix-sys @@ -4440,6 +4432,8 @@ ./usr/man/man3/terminfo.3 minix-sys ./usr/man/man3/termname.3 minix-sys ./usr/man/man3/tfind.3 minix-sys +./usr/man/man3/tgamma.3 minix-sys +./usr/man/man3/tgammaf.3 minix-sys ./usr/man/man3/tgetent.3 minix-sys ./usr/man/man3/tgetflag.3 minix-sys ./usr/man/man3/tgetnum.3 minix-sys @@ -4483,18 +4477,18 @@ ./usr/man/man3/towlower.3 minix-sys ./usr/man/man3/towupper.3 minix-sys ./usr/man/man3/tparm.3 minix-sys -./usr/man/man3/t_parm.3 minix-sys obsolete ./usr/man/man3/tputs.3 minix-sys ./usr/man/man3/trunc.3 minix-sys ./usr/man/man3/truncf.3 minix-sys +./usr/man/man3/truncl.3 minix-sys ./usr/man/man3/tsearch.3 minix-sys ./usr/man/man3/ttyaction.3 minix-sys ./usr/man/man3/ttylock.3 minix-sys +./usr/man/man3/ttymsg.3 minix-sys ./usr/man/man3/ttyname.3 minix-sys ./usr/man/man3/ttyname_r.3 minix-sys ./usr/man/man3/ttyslot.3 minix-sys ./usr/man/man3/ttyunlock.3 minix-sys -./usr/man/man3/t_vparm.3 minix-sys obsolete ./usr/man/man3/twalk.3 minix-sys ./usr/man/man3/tzalloc.3 minix-sys ./usr/man/man3/tzfree.3 minix-sys @@ -4770,11 +4764,9 @@ ./usr/man/man8/add_route.8 minix-sys ./usr/man/man8/adduser.8 minix-sys ./usr/man/man8/backup.8 minix-sys -./usr/man/man8/badblocks.8 minix-sys obsolete ./usr/man/man8/boot.8 minix-sys ./usr/man/man8/btrace.8 minix-sys ./usr/man/man8/cdprobe.8 minix-sys -./usr/man/man8/checkhier.8 minix-sys obsolete ./usr/man/man8/chown.8 minix-sys ./usr/man/man8/chroot.8 minix-sys ./usr/man/man8/cleantmp.8 minix-sys @@ -4782,7 +4774,6 @@ ./usr/man/man8/cron.8 minix-sys ./usr/man/man8/dhcpd.8 minix-sys ./usr/man/man8/diskctl.8 minix-sys -./usr/man/man8/elvprsv.8 minix-sys obsolete ./usr/man/man8/fbdctl.8 minix-sys ./usr/man/man8/fdisk.8 minix-sys ./usr/man/man8/fingerd.8 minix-sys @@ -4854,6 +4845,7 @@ ./usr/man/man8/usermod.8 minix-sys ./usr/man/man8/vbfs.8 minix-sys ./usr/man/man8/vipw.8 minix-sys +./usr/man/man8/virecover.8 minix-sys ./usr/man/man8/vnconfig.8 minix-sys ./usr/man/man8/vndconfig.8 minix-sys ./usr/man/man8/zdump.8 minix-sys @@ -4881,7 +4873,6 @@ ./usr/sbin/groupmod minix-sys ./usr/sbin/i2cscan minix-sys ./usr/sbin/inet minix-sys -./usr/sbin/init minix-sys obsolete ./usr/sbin/installboot_nbsd minix-sys ./usr/sbin/ipc minix-sys ./usr/sbin/kernel minix-sys @@ -4889,10 +4880,11 @@ ./usr/sbin/log minix-sys ./usr/sbin/lwip minix-sys ./usr/sbin/memory minix-sys -./usr/sbin/mkfs.mfs3 minix-sys +./usr/sbin/mkfs.mfsv3 minix-sys ./usr/sbin/mkproto minix-sys ./usr/sbin/mmc minix-sys ./usr/sbin/mtree minix-sys +./usr/sbin/newfs_mfs minix-sys ./usr/sbin/pfs minix-sys ./usr/sbin/pm minix-sys ./usr/sbin/postinstall minix-sys @@ -5005,6 +4997,7 @@ ./usr/share/info/info-stnd.info minix-sys ./usr/share/info/ld.info minix-sys binutils ./usr/share/info/texinfo.info minix-sys +./usr/share/info/vi.info minix-sys ./usr/share/kyua-atf-compat minix-sys atf ./usr/share/kyua-atf-compat/lib.subr minix-sys kyua ./usr/share/kyua-atf-compat/tests_lib.subr minix-sys kyua @@ -5049,6 +5042,7 @@ ./usr/share/misc/units.lib minix-sys ./usr/share/misc/zipcodes minix-sys ./usr/share/mk minix-sys +./usr/share/mk/bsd.buildinstall.mk minix-sys ./usr/share/mk/bsd.clang-analyze.mk minix-sys ./usr/share/mk/bsd.clean.mk minix-sys ./usr/share/mk/bsd.dep.mk minix-sys @@ -5081,16 +5075,21 @@ ./usr/share/mk/bsd.sys.mk minix-sys ./usr/share/mk/bsd.test.mk minix-sys ./usr/share/mk/bsd.x11.mk minix-sys -./usr/share/mk/minix.bootprog.mk minix-sys obsolete -./usr/share/mk/minix.gcc.mk minix-sys obsolete ./usr/share/mk/minix.gcov.mk minix-sys ./usr/share/mk/minix.service.mk minix-sys -./usr/share/mk/pkgsrchooks.mk minix-sys obsolete ./usr/share/mk/sys.mk minix-sys +./usr/share/nvi minix-sys +./usr/share/nvi/catalog minix-sys +./usr/share/nvi/catalog/dutch minix-sys +./usr/share/nvi/catalog/english minix-sys +./usr/share/nvi/catalog/french minix-sys +./usr/share/nvi/catalog/german minix-sys +./usr/share/nvi/catalog/ru_RU.KOI8-R minix-sys +./usr/share/nvi/catalog/spanish minix-sys +./usr/share/nvi/catalog/swedish minix-sys ./usr/share/terminfo minix-sys ./usr/share/terminfo/terminfo minix-sys ./usr/share/terminfo/terminfo.cdb minix-sys -./usr/share/terminfo/terminfo.db minix-sys obsolete ./usr/share/xml minix-sys atf ./usr/share/xml/atf minix-sys atf ./usr/share/xml/atf/tests-results.dtd minix-sys atf,!kyua @@ -5199,6 +5198,7 @@ ./usr/share/zoneinfo/America/Coral_Harbour minix-sys ./usr/share/zoneinfo/America/Cordoba minix-sys ./usr/share/zoneinfo/America/Costa_Rica minix-sys +./usr/share/zoneinfo/America/Creston minix-sys ./usr/share/zoneinfo/America/Cuiaba minix-sys ./usr/share/zoneinfo/America/Curacao minix-sys ./usr/share/zoneinfo/America/Danmarkshavn minix-sys @@ -5379,6 +5379,7 @@ ./usr/share/zoneinfo/Asia/Kashgar minix-sys ./usr/share/zoneinfo/Asia/Kathmandu minix-sys ./usr/share/zoneinfo/Asia/Katmandu minix-sys +./usr/share/zoneinfo/Asia/Khandyga minix-sys ./usr/share/zoneinfo/Asia/Kolkata minix-sys ./usr/share/zoneinfo/Asia/Krasnoyarsk minix-sys ./usr/share/zoneinfo/Asia/Kuala_Lumpur minix-sys @@ -5423,6 +5424,7 @@ ./usr/share/zoneinfo/Asia/Ulaanbaatar minix-sys ./usr/share/zoneinfo/Asia/Ulan_Bator minix-sys ./usr/share/zoneinfo/Asia/Urumqi minix-sys +./usr/share/zoneinfo/Asia/Ust-Nera minix-sys ./usr/share/zoneinfo/Asia/Vientiane minix-sys ./usr/share/zoneinfo/Asia/Vladivostok minix-sys ./usr/share/zoneinfo/Asia/Yakutsk minix-sys @@ -5538,6 +5540,7 @@ ./usr/share/zoneinfo/Europe/Brussels minix-sys ./usr/share/zoneinfo/Europe/Bucharest minix-sys ./usr/share/zoneinfo/Europe/Budapest minix-sys +./usr/share/zoneinfo/Europe/Busingen minix-sys ./usr/share/zoneinfo/Europe/Chisinau minix-sys ./usr/share/zoneinfo/Europe/Copenhagen minix-sys ./usr/share/zoneinfo/Europe/Dublin minix-sys @@ -5879,7 +5882,7 @@ ./var/db minix-sys ./var/db/obsolete minix-sys ./var/db/obsolete/minix minix-sys -./var/db/obsolete/tests minix-sys atf +./var/db/obsolete/tests minix-sys kyua,atf ./var/log minix-sys ./var/mail minix-sys ./var/run minix-sys diff --git a/distrib/sets/lists/misc/mi b/distrib/sets/lists/misc/mi index d2e4a0e2b..edd80d194 100644 --- a/distrib/sets/lists/misc/mi +++ b/distrib/sets/lists/misc/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.177 2012/09/15 17:33:28 plunky Exp $ +# $NetBSD: mi,v 1.185 2013/08/11 22:29:03 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -361,6 +361,7 @@ ./usr/share/doc/html/postfix/mailq.1.html misc-postfix-htmldoc postfix,doc ./usr/share/doc/html/postfix/master.5.html misc-postfix-htmldoc postfix,doc ./usr/share/doc/html/postfix/master.8.html misc-postfix-htmldoc postfix,doc +./usr/share/doc/html/postfix/memcache_table.5.html misc-postfix-htmldoc postfix,doc ./usr/share/doc/html/postfix/motivation.html misc-obsolete obsolete ./usr/share/doc/html/postfix/mysql_table.5.html misc-postfix-htmldoc postfix,doc ./usr/share/doc/html/postfix/newaliases.1.html misc-postfix-htmldoc postfix,doc @@ -420,6 +421,21 @@ ./usr/share/doc/html/postfix/verify.8.html misc-postfix-htmldoc postfix,doc ./usr/share/doc/html/postfix/virtual.5.html misc-postfix-htmldoc postfix,doc ./usr/share/doc/html/postfix/virtual.8.html misc-postfix-htmldoc postfix,doc +./usr/share/doc/kyua-atf-compat misc-kyua-doc +./usr/share/doc/kyua-atf-compat/AUTHORS misc-kyua-doc doc,kyua +./usr/share/doc/kyua-atf-compat/COPYING misc-kyua-doc doc,kyua +./usr/share/doc/kyua-atf-compat/NEWS misc-kyua-doc doc,kyua +./usr/share/doc/kyua-atf-compat/README misc-kyua-doc doc,kyua +./usr/share/doc/kyua-cli misc-kyua-doc +./usr/share/doc/kyua-cli/AUTHORS misc-kyua-doc doc,kyua +./usr/share/doc/kyua-cli/COPYING misc-kyua-doc doc,kyua +./usr/share/doc/kyua-cli/NEWS misc-kyua-doc doc,kyua +./usr/share/doc/kyua-cli/README misc-kyua-doc doc,kyua +./usr/share/doc/kyua-testers misc-kyua-doc +./usr/share/doc/kyua-testers/AUTHORS misc-kyua-doc doc,kyua +./usr/share/doc/kyua-testers/COPYING misc-kyua-doc doc,kyua +./usr/share/doc/kyua-testers/NEWS misc-kyua-doc doc,kyua +./usr/share/doc/kyua-testers/README misc-kyua-doc doc,kyua ./usr/share/doc/psd/00.contents misc-psd-doc doc ./usr/share/doc/psd/05.sysman/0.t misc-psd-doc doc ./usr/share/doc/psd/05.sysman/1.0.t misc-psd-doc doc @@ -678,8 +694,10 @@ ./usr/share/examples/asm/hello/Makefile misc-asm-examples share ./usr/share/examples/asm/hello/powerpc.s misc-asm-examples share ./usr/share/examples/atf misc-atf-examples -./usr/share/examples/atf/atf-run.hooks misc-atf-examples share,atf -./usr/share/examples/atf/tests-results.css misc-atf-examples share,atf +./usr/share/examples/atf/atf-run.hooks misc-atf-examples share,atf,!kyua +./usr/share/examples/atf/atf-run.hooks misc-obsolete share,kyua,obsolete +./usr/share/examples/atf/tests-results.css misc-atf-examples share,atf,!kyua +./usr/share/examples/atf/tests-results.css misc-obsolete share,kyua,obsolete ./usr/share/examples/dhcp/dhcpd.conf misc-dhcpd-examples share ./usr/share/examples/disktab/disktab misc-sys-examples share ./usr/share/examples/emul/linux/etc/LINUX_MAKEDEV misc-sys-examples share @@ -745,10 +763,12 @@ ./usr/share/examples/isdn/isdnd.rates.UK.BT misc-isdn-examples share ./usr/share/examples/isdn/isdnd.rc.sample misc-isdn-examples share ./usr/share/examples/kerberos/krb5.conf misc-krb5-examples kerberos,share +./usr/share/examples/kyua-cli misc-kyua-examples +./usr/share/examples/kyua-cli/Kyuafile.top misc-kyua-examples share,kyua +./usr/share/examples/kyua-cli/kyua.conf misc-kyua-examples share,kyua ./usr/share/examples/libsaslc misc-libsaslc-examples share ./usr/share/examples/libsaslc/README misc-libsaslc-examples share ./usr/share/examples/libsaslc/mech misc-libsaslc-examples share -./usr/share/examples/libsaslc/saslc.conf misc-libsaslc-examples share ./usr/share/examples/libsaslc/mech/ANONYMOUS.conf misc-libsaslc-examples share ./usr/share/examples/libsaslc/mech/CRAM-MD5.conf misc-libsaslc-examples share ./usr/share/examples/libsaslc/mech/DIGEST-MD5.conf misc-libsaslc-examples share @@ -756,6 +776,12 @@ ./usr/share/examples/libsaslc/mech/GSSAPI.conf misc-libsaslc-examples share ./usr/share/examples/libsaslc/mech/LOGIN.conf misc-libsaslc-examples share ./usr/share/examples/libsaslc/mech/PLAIN.conf misc-libsaslc-examples share +./usr/share/examples/libsaslc/saslc.conf misc-libsaslc-examples share +./usr/share/examples/lutok misc-lutok-examples +./usr/share/examples/lutok/bindings.cpp misc-lutok-examples share,kyua +./usr/share/examples/lutok/hello.cpp misc-lutok-examples share,kyua +./usr/share/examples/lutok/interpreter.cpp misc-lutok-examples share,kyua +./usr/share/examples/lutok/raii.cpp misc-lutok-examples share,kyua ./usr/share/examples/mount_portal/advanced.1 misc-sys-examples share ./usr/share/examples/mount_portal/advanced.1.conf misc-sys-examples share ./usr/share/examples/mount_portal/cvs.1 misc-sys-examples share @@ -806,6 +832,7 @@ ./usr/share/examples/postfix/LMTP_README misc-obsolete obsolete ./usr/share/examples/postfix/LOCAL_RECIPIENT_README misc-postfix-examples postfix,doc ./usr/share/examples/postfix/MAILDROP_README misc-postfix-examples postfix,doc +./usr/share/examples/postfix/MEMCACHE_README misc-postfix-examples postfix,doc ./usr/share/examples/postfix/MILTER_README misc-postfix-examples postfix,doc ./usr/share/examples/postfix/MULTI_INSTANCE_README misc-postfix-examples postfix,doc ./usr/share/examples/postfix/MYSQL_README misc-postfix-examples postfix,doc @@ -936,8 +963,11 @@ ./usr/share/postfix misc-obsolete obsolete ./usr/share/xml misc-xml-share ./usr/share/xml/atf misc-atf-share -./usr/share/xml/atf/tests-results.dtd misc-atf-share share,atf -./usr/share/xml/catalog misc-xml-share share +./usr/share/xml/atf/tests-results.dtd misc-atf-share share,atf,!kyua +./usr/share/xml/atf/tests-results.dtd misc-obsolete share,kyua,obsolete +./usr/share/xml/catalog misc-obsolete share,kyua,obsolete +./usr/share/xml/catalog misc-xml-share share,!kyua ./usr/share/xsl misc-xml-share ./usr/share/xsl/atf misc-atf-share -./usr/share/xsl/atf/tests-results.xsl misc-atf-share share,atf +./usr/share/xsl/atf/tests-results.xsl misc-atf-share share,atf,!kyua +./usr/share/xsl/atf/tests-results.xsl misc-obsolete share,kyua,obsolete diff --git a/distrib/sets/lists/modules/ad.arm b/distrib/sets/lists/modules/ad.arm index 9153179a0..0795c3fd5 100644 --- a/distrib/sets/lists/modules/ad.arm +++ b/distrib/sets/lists/modules/ad.arm @@ -1,4 +1,4 @@ -# $NetBSD: ad.arm,v 1.1 2009/09/07 02:27:28 jnemeth Exp $ +# $NetBSD: ad.arm,v 1.2 2013/08/11 22:29:03 joerg Exp $ + ./@MODULEDIR@/exec_elf32 base-kernel-modules kmod ./@MODULEDIR@/exec_elf32/exec_elf32.kmod base-kernel-modules kmod - diff --git a/distrib/sets/lists/modules/ad.mips64eb b/distrib/sets/lists/modules/ad.mips similarity index 66% rename from distrib/sets/lists/modules/ad.mips64eb rename to distrib/sets/lists/modules/ad.mips index c94944d57..f243197e9 100644 --- a/distrib/sets/lists/modules/ad.mips64eb +++ b/distrib/sets/lists/modules/ad.mips @@ -1,3 +1,3 @@ -# $NetBSD: ad.mips64eb,v 1.1 2009/12/15 05:59:51 mrg Exp $ +# $NetBSD: ad.mips,v 1.1 2013/04/30 23:41:24 matt Exp $ ./@MODULEDIR@/exec_elf32 base-kernel-modules kmod ./@MODULEDIR@/exec_elf32/exec_elf32.kmod base-kernel-modules kmod diff --git a/distrib/sets/lists/modules/ad.mips64el b/distrib/sets/lists/modules/ad.mips64el deleted file mode 100644 index 5ddcb0b2d..000000000 --- a/distrib/sets/lists/modules/ad.mips64el +++ /dev/null @@ -1,3 +0,0 @@ -# $NetBSD: ad.mips64el,v 1.1 2009/12/15 05:59:51 mrg Exp $ -./@MODULEDIR@/exec_elf32 base-kernel-modules kmod -./@MODULEDIR@/exec_elf32/exec_elf32.kmod base-kernel-modules kmod diff --git a/distrib/sets/lists/modules/ad.mipseb b/distrib/sets/lists/modules/ad.mipseb deleted file mode 100644 index c161b4748..000000000 --- a/distrib/sets/lists/modules/ad.mipseb +++ /dev/null @@ -1,3 +0,0 @@ -# $NetBSD: ad.mipseb,v 1.1 2009/09/07 02:27:29 jnemeth Exp $ -./@MODULEDIR@/exec_elf32 base-kernel-modules kmod -./@MODULEDIR@/exec_elf32/exec_elf32.kmod base-kernel-modules kmod diff --git a/distrib/sets/lists/modules/ad.mipsel b/distrib/sets/lists/modules/ad.mipsel deleted file mode 100644 index a676c0e72..000000000 --- a/distrib/sets/lists/modules/ad.mipsel +++ /dev/null @@ -1,3 +0,0 @@ -# $NetBSD: ad.mipsel,v 1.1 2009/09/07 02:27:29 jnemeth Exp $ -./@MODULEDIR@/exec_elf32 base-kernel-modules kmod -./@MODULEDIR@/exec_elf32/exec_elf32.kmod base-kernel-modules kmod diff --git a/distrib/sets/lists/modules/md.amd64 b/distrib/sets/lists/modules/md.amd64 index bad3c2c23..3ce1e43b0 100644 --- a/distrib/sets/lists/modules/md.amd64 +++ b/distrib/sets/lists/modules/md.amd64 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.35 2012/10/13 19:42:02 alnsn Exp $ +# $NetBSD: md.amd64,v 1.38 2013/11/17 18:58:28 alnsn Exp $ ./@MODULEDIR@/acpiacad base-kernel-modules kmod ./@MODULEDIR@/acpiacad/acpiacad.kmod base-kernel-modules kmod ./@MODULEDIR@/acpibat base-kernel-modules kmod @@ -39,16 +39,18 @@ ./@MODULEDIR@/auvitek/auvitek.kmod base-kernel-modules kmod ./@MODULEDIR@/azalia base-kernel-modules kmod ./@MODULEDIR@/azalia/azalia.kmod base-kernel-modules kmod +./@MODULEDIR@/bpfjit base-kernel-modules kmod,sljit +./@MODULEDIR@/bpfjit/bpfjit.kmod base-kernel-modules kmod,sljit ./@MODULEDIR@/compat_linux base-kernel-modules kmod ./@MODULEDIR@/compat_linux/compat_linux.kmod base-kernel-modules kmod ./@MODULEDIR@/compat_linux32 base-kernel-modules kmod ./@MODULEDIR@/compat_linux32/compat_linux32.kmod base-kernel-modules kmod ./@MODULEDIR@/compat_netbsd32 base-kernel-modules kmod ./@MODULEDIR@/compat_netbsd32/compat_netbsd32.kmod base-kernel-modules kmod -./@MODULEDIR@/coretemp base-kernel-modules kmod -./@MODULEDIR@/coretemp/coretemp.kmod base-kernel-modules kmod ./@MODULEDIR@/coram base-kernel-modules kmod ./@MODULEDIR@/coram/coram.kmod base-kernel-modules kmod +./@MODULEDIR@/coretemp base-kernel-modules kmod +./@MODULEDIR@/coretemp/coretemp.kmod base-kernel-modules kmod ./@MODULEDIR@/cx24227 base-kernel-modules kmod ./@MODULEDIR@/cx24227/cx24227.kmod base-kernel-modules kmod ./@MODULEDIR@/cxdtv base-kernel-modules kmod @@ -105,8 +107,8 @@ ./@MODULEDIR@/powernow/powernow.kmod base-kernel-modules kmod ./@MODULEDIR@/pwdog base-kernel-modules kmod ./@MODULEDIR@/pwdog/pwdog.kmod base-kernel-modules kmod -./@MODULEDIR@/sljit base-kernel-modules kmod -./@MODULEDIR@/sljit/sljit.kmod base-kernel-modules kmod +./@MODULEDIR@/sljit base-kernel-modules kmod,sljit +./@MODULEDIR@/sljit/sljit.kmod base-kernel-modules kmod,sljit ./@MODULEDIR@/syscallemu base-kernel-modules kmod ./@MODULEDIR@/syscallemu/syscallemu.kmod base-kernel-modules kmod ./@MODULEDIR@/thinkpad base-kernel-modules kmod diff --git a/distrib/sets/lists/modules/md.evbppc b/distrib/sets/lists/modules/md.evbppc index 1d7bbc6a9..1aebca98b 100644 --- a/distrib/sets/lists/modules/md.evbppc +++ b/distrib/sets/lists/modules/md.evbppc @@ -1,4 +1,4 @@ -# $NetBSD: md.evbppc,v 1.28 2012/09/21 08:42:33 martin Exp $ +# $NetBSD: md.evbppc,v 1.37 2013/11/19 12:07:06 kiyohara Exp $ ./stand/powerpc-4xx base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@ base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules base-kernel-modules kmod,compatmodules @@ -76,6 +76,12 @@ ./stand/powerpc-4xx/@OSRELEASE@/modules/hfs/hfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/if_axe base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/if_axe/if_axe.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/if_axen base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/if_axen/if_axen.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/if_npflog base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/if_npflog/if_npflog.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/if_smsc base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/if_smsc/if_smsc.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/iic base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/iic/iic.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/iscsi base-kernel-modules kmod,compatmodules @@ -88,6 +94,12 @@ ./stand/powerpc-4xx/@OSRELEASE@/modules/layerfs/layerfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/lfs base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/lfs/lfs.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/lua base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/lua/lua.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/luacore base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/luacore/luacore.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/luapmf base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/luapmf/luapmf.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/mfs base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/mfs/mfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/miiverbose base-kernel-modules kmod,compatmodules @@ -114,8 +126,12 @@ ./stand/powerpc-4xx/@OSRELEASE@/modules/npf_alg_icmp/npf_alg_icmp.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_log base-kernel-modules kmod ./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_log/npf_ext_log.kmod base-kernel-modules kmod -./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_normalise base-kernel-modules kmod -./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_normalise/npf_ext_normalise.kmod base-kernel-modules kmod +./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_normalise base-obsolete obsolete +./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_normalise/npf_ext_normalise.kmod base-obsolete obsolete +./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_normalize base-kernel-modules kmod +./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_normalize/npf_ext_normalize.kmod base-kernel-modules kmod +./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_rndblock base-kernel-modules kmod +./stand/powerpc-4xx/@OSRELEASE@/modules/npf_ext_rndblock/npf_ext_rndblock.kmod base-kernel-modules kmod ./stand/powerpc-4xx/@OSRELEASE@/modules/ntfs base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/ntfs/ntfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/null base-kernel-modules kmod,compatmodules @@ -182,10 +198,10 @@ ./stand/powerpc-4xx/@OSRELEASE@/modules/union/union.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/usbverbose base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/usbverbose/usbverbose.kmod base-kernel-modules kmod,compatmodules -./stand/powerpc-4xx/@OSRELEASE@/modules/vcoda base-kernel-modules kmod,compatmodules -./stand/powerpc-4xx/@OSRELEASE@/modules/vcoda/vcoda.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/v7fs base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/v7fs/v7fs.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/vcoda base-kernel-modules kmod,compatmodules +./stand/powerpc-4xx/@OSRELEASE@/modules/vcoda/vcoda.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/vnd base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/vnd/vnd.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-4xx/@OSRELEASE@/modules/zfs base-kernel-modules kmod,zfs @@ -267,6 +283,12 @@ ./stand/powerpc-booke/@OSRELEASE@/modules/hfs/hfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/if_axe base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/if_axe/if_axe.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/if_axen base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/if_axen/if_axen.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/if_npflog base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/if_npflog/if_npflog.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/if_smsc base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/if_smsc/if_smsc.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/iic base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/iic/iic.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/iscsi base-kernel-modules kmod,compatmodules @@ -279,6 +301,12 @@ ./stand/powerpc-booke/@OSRELEASE@/modules/layerfs/layerfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/lfs base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/lfs/lfs.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/lua base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/lua/lua.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/luacore base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/luacore/luacore.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/luapmf base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/luapmf/luapmf.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/mfs base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/mfs/mfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/miiverbose base-kernel-modules kmod,compatmodules @@ -305,8 +333,12 @@ ./stand/powerpc-booke/@OSRELEASE@/modules/npf_alg_icmp/npf_alg_icmp.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_log base-kernel-modules kmod ./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_log/npf_ext_log.kmod base-kernel-modules kmod -./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_normalise base-kernel-modules kmod -./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_normalise/npf_ext_normalise.kmod base-kernel-modules kmod +./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_normalise base-obsolete obsolete +./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_normalise/npf_ext_normalise.kmod base-kobsolete obsoleteernel-modules kmod +./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_normalize base-kernel-modules kmod +./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_normalize/npf_ext_normalize.kmod base-kernel-modules kmod +./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_rndblock base-kernel-modules kmod +./stand/powerpc-booke/@OSRELEASE@/modules/npf_ext_rndblock/npf_ext_rndblock.kmod base-kernel-modules kmod ./stand/powerpc-booke/@OSRELEASE@/modules/ntfs base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/ntfs/ntfs.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/null base-kernel-modules kmod,compatmodules @@ -373,10 +405,10 @@ ./stand/powerpc-booke/@OSRELEASE@/modules/union/union.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/usbverbose base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/usbverbose/usbverbose.kmod base-kernel-modules kmod,compatmodules -./stand/powerpc-booke/@OSRELEASE@/modules/vcoda base-kernel-modules kmod,compatmodules -./stand/powerpc-booke/@OSRELEASE@/modules/vcoda/vcoda.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/v7fs base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/v7fs/v7fs.kmod base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/vcoda base-kernel-modules kmod,compatmodules +./stand/powerpc-booke/@OSRELEASE@/modules/vcoda/vcoda.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/vnd base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/vnd/vnd.kmod base-kernel-modules kmod,compatmodules ./stand/powerpc-booke/@OSRELEASE@/modules/zfs base-kernel-modules kmod,zfs diff --git a/distrib/sets/lists/modules/md.i386 b/distrib/sets/lists/modules/md.i386 index cdddf8cf6..86fdd380a 100644 --- a/distrib/sets/lists/modules/md.i386 +++ b/distrib/sets/lists/modules/md.i386 @@ -1,4 +1,4 @@ -# $NetBSD: md.i386,v 1.40 2012/08/06 10:44:08 martin Exp $ +# $NetBSD: md.i386,v 1.43 2013/11/17 18:58:28 alnsn Exp $ ./@MODULEDIR@/acpiacad base-kernel-modules kmod ./@MODULEDIR@/acpiacad/acpiacad.kmod base-kernel-modules kmod ./@MODULEDIR@/acpibat base-kernel-modules kmod @@ -41,6 +41,8 @@ ./@MODULEDIR@/auvitek/auvitek.kmod base-kernel-modules kmod ./@MODULEDIR@/azalia base-kernel-modules kmod ./@MODULEDIR@/azalia/azalia.kmod base-kernel-modules kmod +./@MODULEDIR@/bpfjit base-kernel-modules kmod,sljit +./@MODULEDIR@/bpfjit/bpfjit.kmod base-kernel-modules kmod,sljit ./@MODULEDIR@/compat_freebsd base-kernel-modules kmod ./@MODULEDIR@/compat_freebsd/compat_freebsd.kmod base-kernel-modules kmod ./@MODULEDIR@/compat_ibcs2 base-kernel-modules kmod @@ -125,6 +127,8 @@ ./@MODULEDIR@/savagedrm/savagedrm.kmod base-kernel-modules kmod ./@MODULEDIR@/sisdrm base-kernel-modules kmod ./@MODULEDIR@/sisdrm/sisdrm.kmod base-kernel-modules kmod +./@MODULEDIR@/sljit base-kernel-modules kmod,sljit +./@MODULEDIR@/sljit/sljit.kmod base-kernel-modules kmod,sljit ./@MODULEDIR@/syscallemu base-kernel-modules kmod ./@MODULEDIR@/syscallemu/syscallemu.kmod base-kernel-modules kmod ./@MODULEDIR@/tdfxdrm base-kernel-modules kmod diff --git a/distrib/sets/lists/modules/md.sparc b/distrib/sets/lists/modules/md.sparc index 238a9a7f9..a1d852334 100644 --- a/distrib/sets/lists/modules/md.sparc +++ b/distrib/sets/lists/modules/md.sparc @@ -1,3 +1,7 @@ -# $NetBSD: md.sparc,v 1.1 2009/09/07 02:27:29 jnemeth Exp $ +# $NetBSD: md.sparc,v 1.3 2013/11/17 18:58:28 alnsn Exp $ +./@MODULEDIR@/bpfjit base-kernel-modules kmod,sljit +./@MODULEDIR@/bpfjit/bpfjit.kmod base-kernel-modules kmod,sljit ./@MODULEDIR@/exec_elf32 base-kernel-modules kmod ./@MODULEDIR@/exec_elf32/exec_elf32.kmod base-kernel-modules kmod +./@MODULEDIR@/sljit base-kernel-modules kmod,sljit +./@MODULEDIR@/sljit/sljit.kmod base-kernel-modules kmod,sljit diff --git a/distrib/sets/lists/modules/mi b/distrib/sets/lists/modules/mi index f413f9002..922b03666 100644 --- a/distrib/sets/lists/modules/mi +++ b/distrib/sets/lists/modules/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.48 2012/09/16 13:47:43 rmind Exp $ +# $NetBSD: mi,v 1.59 2013/11/18 16:23:47 bad Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -7,9 +7,6 @@ # powerpc-4xx and powerpc-booke modules are incompatible. # Sorry for any inconvenience this may cause, the management. # -./etc/mtree/set.modules modules-sys-root kmod -./stand/@MACHINE@ base-kernel-modules kmod -./stand/@MACHINE@/@OSRELEASE@ base-kernel-modules kmod ./@MODULEDIR@ base-kernel-modules kmod ./@MODULEDIR@/accf_dataready base-kernel-modules kmod ./@MODULEDIR@/accf_dataready/accf_dataready.kmod base-kernel-modules kmod @@ -35,6 +32,8 @@ ./@MODULEDIR@/compat_ossaudio/compat_ossaudio.kmod base-kernel-modules kmod ./@MODULEDIR@/coredump base-kernel-modules kmod ./@MODULEDIR@/coredump/coredump.kmod base-kernel-modules kmod +./@MODULEDIR@/cyclic base-kernel-modules kmod,dtrace +./@MODULEDIR@/cyclic/cyclic.kmod base-kernel-modules kmod,dtrace ./@MODULEDIR@/dbcool base-kernel-modules kmod ./@MODULEDIR@/dbcool/dbcool.kmod base-kernel-modules kmod ./@MODULEDIR@/dirhash base-obsolete obsolete @@ -79,6 +78,12 @@ ./@MODULEDIR@/hfs/hfs.kmod base-kernel-modules kmod ./@MODULEDIR@/if_axe base-kernel-modules kmod ./@MODULEDIR@/if_axe/if_axe.kmod base-kernel-modules kmod +./@MODULEDIR@/if_axen base-kernel-modules kmod +./@MODULEDIR@/if_axen/if_axen.kmod base-kernel-modules kmod +./@MODULEDIR@/if_npflog base-kernel-modules kmod +./@MODULEDIR@/if_npflog/if_npflog.kmod base-kernel-modules kmod +./@MODULEDIR@/if_smsc base-kernel-modules kmod +./@MODULEDIR@/if_smsc/if_smsc.kmod base-kernel-modules kmod ./@MODULEDIR@/iic base-kernel-modules kmod ./@MODULEDIR@/iic/iic.kmod base-kernel-modules kmod ./@MODULEDIR@/iscsi base-kernel-modules kmod,iscsi @@ -91,6 +96,12 @@ ./@MODULEDIR@/layerfs/layerfs.kmod base-kernel-modules kmod ./@MODULEDIR@/lfs base-kernel-modules kmod ./@MODULEDIR@/lfs/lfs.kmod base-kernel-modules kmod +./@MODULEDIR@/lua base-kernel-modules kmod +./@MODULEDIR@/lua/lua.kmod base-kernel-modules kmod +./@MODULEDIR@/luacore base-kernel-modules kmod +./@MODULEDIR@/luacore/luacore.kmod base-kernel-modules kmod +./@MODULEDIR@/luapmf base-kernel-modules kmod +./@MODULEDIR@/luapmf/luapmf.kmod base-kernel-modules kmod ./@MODULEDIR@/mfs base-kernel-modules kmod ./@MODULEDIR@/mfs/mfs.kmod base-kernel-modules kmod ./@MODULEDIR@/miiverbose base-kernel-modules kmod @@ -117,8 +128,12 @@ ./@MODULEDIR@/npf_alg_icmp/npf_alg_icmp.kmod base-kernel-modules kmod ./@MODULEDIR@/npf_ext_log base-kernel-modules kmod ./@MODULEDIR@/npf_ext_log/npf_ext_log.kmod base-kernel-modules kmod -./@MODULEDIR@/npf_ext_normalise base-kernel-modules kmod -./@MODULEDIR@/npf_ext_normalise/npf_ext_normalise.kmod base-kernel-modules kmod +./@MODULEDIR@/npf_ext_normalise base-obsolete obsolete +./@MODULEDIR@/npf_ext_normalise/npf_ext_normalise.kmod base-obsolete obsolete +./@MODULEDIR@/npf_ext_normalize base-kernel-modules kmod +./@MODULEDIR@/npf_ext_normalize/npf_ext_normalize.kmod base-kernel-modules kmod +./@MODULEDIR@/npf_ext_rndblock base-kernel-modules kmod +./@MODULEDIR@/npf_ext_rndblock/npf_ext_rndblock.kmod base-kernel-modules kmod ./@MODULEDIR@/ntfs base-kernel-modules kmod ./@MODULEDIR@/ntfs/ntfs.kmod base-kernel-modules kmod ./@MODULEDIR@/null base-kernel-modules kmod @@ -139,6 +154,8 @@ ./@MODULEDIR@/ppp_deflate/ppp_deflate.kmod base-kernel-modules kmod ./@MODULEDIR@/procfs base-kernel-modules kmod ./@MODULEDIR@/procfs/procfs.kmod base-kernel-modules kmod +./@MODULEDIR@/profile base-kernel-modules kmod,dtrace +./@MODULEDIR@/profile/profile.kmod base-kernel-modules kmod,dtrace ./@MODULEDIR@/ptyfs base-kernel-modules kmod ./@MODULEDIR@/ptyfs/ptyfs.kmod base-kernel-modules kmod ./@MODULEDIR@/puffs base-kernel-modules kmod @@ -185,11 +202,14 @@ ./@MODULEDIR@/union/union.kmod base-kernel-modules kmod ./@MODULEDIR@/usbverbose base-kernel-modules kmod ./@MODULEDIR@/usbverbose/usbverbose.kmod base-kernel-modules kmod -./@MODULEDIR@/vcoda base-kernel-modules kmod -./@MODULEDIR@/vcoda/vcoda.kmod base-kernel-modules kmod ./@MODULEDIR@/v7fs base-kernel-modules kmod ./@MODULEDIR@/v7fs/v7fs.kmod base-kernel-modules kmod +./@MODULEDIR@/vcoda base-kernel-modules kmod +./@MODULEDIR@/vcoda/vcoda.kmod base-kernel-modules kmod ./@MODULEDIR@/vnd base-kernel-modules kmod ./@MODULEDIR@/vnd/vnd.kmod base-kernel-modules kmod ./@MODULEDIR@/zfs base-kernel-modules kmod,zfs ./@MODULEDIR@/zfs/zfs.kmod base-kernel-modules kmod,zfs +./etc/mtree/set.modules modules-sys-root kmod +./stand/@MACHINE@ base-kernel-modules kmod +./stand/@MACHINE@/@OSRELEASE@ base-kernel-modules kmod diff --git a/distrib/sets/lists/tests/mi b/distrib/sets/lists/tests/mi index 37622e25e..4be3cbd87 100644 --- a/distrib/sets/lists/tests/mi +++ b/distrib/sets/lists/tests/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.527 2013/02/28 21:54:09 christos Exp $ +# $NetBSD: mi,v 1.551 2013/11/12 18:28:36 kefren Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -6,22 +6,21 @@ ./usr/libdata/debug/usr/tests tests-base-debug ./usr/libdata/debug/usr/tests/atf tests-atf-debug ./usr/libdata/debug/usr/tests/atf/atf-c tests-atf-debug -./usr/libdata/debug/usr/tests/atf/atf-c/detail tests-atf-debug ./usr/libdata/debug/usr/tests/atf/atf-c++ tests-atf-debug ./usr/libdata/debug/usr/tests/atf/atf-c++/detail tests-atf-debug +./usr/libdata/debug/usr/tests/atf/atf-c/detail tests-atf-debug ./usr/libdata/debug/usr/tests/atf/atf-compile tests-obsolete obsolete ./usr/libdata/debug/usr/tests/atf/atf-report tests-atf-tests ./usr/libdata/debug/usr/tests/atf/atf-run tests-atf-tests ./usr/libdata/debug/usr/tests/atf/formats tests-atf-debug -./usr/libdata/debug/usr/tests/atf/test_programs tests-obsolete obsolete ./usr/libdata/debug/usr/tests/atf/test-programs tests-atf-debug +./usr/libdata/debug/usr/tests/atf/test_programs tests-obsolete obsolete ./usr/libdata/debug/usr/tests/atf/tools tests-atf-debug obsolete ./usr/libdata/debug/usr/tests/atf/units tests-obsolete obsolete ./usr/libdata/debug/usr/tests/bin tests-bin-debug ./usr/libdata/debug/usr/tests/bin/df tests-bin-debug ./usr/libdata/debug/usr/tests/crypto tests-crypto-debug ./usr/libdata/debug/usr/tests/crypto/libcrypto tests-crypto-debug -./usr/libdata/debug/usr/tests/fs tests-fs-debug ./usr/libdata/debug/usr/tests/dev tests-fs-debug ./usr/libdata/debug/usr/tests/dev/audio tests-fs-debug ./usr/libdata/debug/usr/tests/dev/cgd tests-fs-debug @@ -29,6 +28,7 @@ ./usr/libdata/debug/usr/tests/dev/md tests-fs-debug ./usr/libdata/debug/usr/tests/dev/scsipi tests-fs-debug ./usr/libdata/debug/usr/tests/dev/sysmon tests-fs-debug +./usr/libdata/debug/usr/tests/fs tests-fs-debug ./usr/libdata/debug/usr/tests/fs/ffs tests-fs-debug,rump ./usr/libdata/debug/usr/tests/fs/fifofs tests-fs-debug,rump ./usr/libdata/debug/usr/tests/fs/hfs tests-fs-debug,rump @@ -90,8 +90,8 @@ ./usr/libdata/debug/usr/tests/lib/libc/getaddrinfo/h_gai tests-obsolete obsolete ./usr/libdata/debug/usr/tests/lib/libc/hash tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/ieeefp tests-obsolete obsolete -./usr/libdata/debug/usr/tests/lib/libc/locale tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/inet tests-lib-debug +./usr/libdata/debug/usr/tests/lib/libc/locale tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/net tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/net/getaddrinfo tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/regex tests-lib-debug @@ -103,14 +103,12 @@ ./usr/libdata/debug/usr/tests/lib/libc/string tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/sys tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/termios tests-lib-debug +./usr/libdata/debug/usr/tests/lib/libc/time tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/tls tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libc/ttyio tests-lib-debug -./usr/libdata/debug/usr/tests/lib/libc/time tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libcrypt tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libcurses tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libdes tests-lib-debug -./usr/libdata/debug/usr/tests/lib/semaphore tests-lib-debug -./usr/libdata/debug/usr/tests/lib/semaphore/pthread tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libevent tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libexecinfo tests-lib-debug ./usr/libdata/debug/usr/tests/lib/liblutok tests-lutok-debug @@ -123,6 +121,7 @@ ./usr/libdata/debug/usr/tests/lib/libppath tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libprop tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libpthread tests-lib-debug +./usr/libdata/debug/usr/tests/lib/libpthread/dlopen tests-lib-debug ./usr/libdata/debug/usr/tests/lib/librt tests-lib-debug ./usr/libdata/debug/usr/tests/lib/librumpclient tests-lib-debug ./usr/libdata/debug/usr/tests/lib/librumphijack tests-lib-debug @@ -130,6 +129,8 @@ ./usr/libdata/debug/usr/tests/lib/libsljit tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libtre tests-lib-debug ./usr/libdata/debug/usr/tests/lib/libutil tests-lib-debug +./usr/libdata/debug/usr/tests/lib/semaphore tests-lib-debug +./usr/libdata/debug/usr/tests/lib/semaphore/pthread tests-lib-debug ./usr/libdata/debug/usr/tests/libexec tests-lib-debug ./usr/libdata/debug/usr/tests/libexec/ld.elf_so tests-libexec-debug ./usr/libdata/debug/usr/tests/libexec/ld.elf_so/h_helper_symver_dso0 tests-libexec-debug @@ -170,6 +171,92 @@ ./usr/tests/atf/Atffile tests-atf-tests atf ./usr/tests/atf/Kyuafile tests-atf-tests atf,kyua ./usr/tests/atf/atf-c tests-atf-tests +./usr/tests/atf/atf-c++ tests-atf-tests +./usr/tests/atf/atf-c++/Atffile tests-atf-tests atf +./usr/tests/atf/atf-c++/Kyuafile tests-atf-tests atf,kyua +./usr/tests/atf/atf-c++/application_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/atf_c++_test tests-atf-tests atf +./usr/tests/atf/atf-c++/build_test tests-atf-tests atf +./usr/tests/atf/atf-c++/check_test tests-atf-tests atf +./usr/tests/atf/atf-c++/config_test tests-atf-tests atf +./usr/tests/atf/atf-c++/d_include_application_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_atf_c++_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_atffile_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_build_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_check_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_config_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_env_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_exceptions_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_expand_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_formats_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_fs_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_io_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_macros_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_parser_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_process_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_sanity_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_signals_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_tests_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_text_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_ui_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_user_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_include_utils_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/d_use_macros_hpp.cpp tests-obsolete obsolete +./usr/tests/atf/atf-c++/detail tests-atf-tests +./usr/tests/atf/atf-c++/detail/Atffile tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/Kyuafile tests-atf-tests atf,kyua +./usr/tests/atf/atf-c++/detail/application_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/auto_array_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/env_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/exceptions_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/expand_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/fs_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/parser_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/process_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/sanity_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/text_test tests-atf-tests atf +./usr/tests/atf/atf-c++/detail/ui_test tests-atf-tests atf +./usr/tests/atf/atf-c++/env_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/exceptions_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/expand_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/fs_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/io_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/macros_hpp_test.cpp tests-atf-tests atf +./usr/tests/atf/atf-c++/macros_test tests-atf-tests atf +./usr/tests/atf/atf-c++/parser_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/pkg_config_test tests-atf-tests atf +./usr/tests/atf/atf-c++/process_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/sanity_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/signals_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_application tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_atf_c++ tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_atffile tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_build tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_check tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_config tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_env tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_exceptions tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_expand tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_formats tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_fs tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_io tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_macros tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_parser tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_pkg_config tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_process tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_sanity tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_signals tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_tests tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_text tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_ui tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_user tests-obsolete obsolete +./usr/tests/atf/atf-c++/t_utils tests-obsolete obsolete +./usr/tests/atf/atf-c++/tests_test tests-atf-tests atf +./usr/tests/atf/atf-c++/text_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/ui_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/unused_test.cpp tests-atf-tests atf +./usr/tests/atf/atf-c++/user_test tests-obsolete obsolete +./usr/tests/atf/atf-c++/utils_test tests-atf-tests atf ./usr/tests/atf/atf-c/Atffile tests-atf-tests atf ./usr/tests/atf/atf-c/Kyuafile tests-atf-tests atf,kyua ./usr/tests/atf/atf-c/atf_c_test tests-atf-tests atf @@ -260,91 +347,6 @@ ./usr/tests/atf/atf-c/unused_test.c tests-atf-tests atf ./usr/tests/atf/atf-c/user_test tests-obsolete obsolete ./usr/tests/atf/atf-c/utils_test tests-atf-tests atf -./usr/tests/atf/atf-c++ tests-atf-tests -./usr/tests/atf/atf-c++/Atffile tests-atf-tests atf -./usr/tests/atf/atf-c++/Kyuafile tests-atf-tests atf,kyua -./usr/tests/atf/atf-c++/application_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/atf_c++_test tests-atf-tests atf -./usr/tests/atf/atf-c++/build_test tests-atf-tests atf -./usr/tests/atf/atf-c++/check_test tests-atf-tests atf -./usr/tests/atf/atf-c++/config_test tests-atf-tests atf -./usr/tests/atf/atf-c++/d_include_application_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_atf_c++_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_atffile_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_build_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_check_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_config_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_env_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_exceptions_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_expand_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_formats_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_fs_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_io_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_macros_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_parser_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_process_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_sanity_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_signals_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_tests_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_text_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_ui_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_user_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_include_utils_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/d_use_macros_hpp.cpp tests-obsolete obsolete -./usr/tests/atf/atf-c++/detail tests-atf-tests -./usr/tests/atf/atf-c++/detail/Atffile tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/Kyuafile tests-atf-tests atf,kyua -./usr/tests/atf/atf-c++/detail/application_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/env_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/exceptions_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/expand_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/fs_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/parser_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/process_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/sanity_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/text_test tests-atf-tests atf -./usr/tests/atf/atf-c++/detail/ui_test tests-atf-tests atf -./usr/tests/atf/atf-c++/env_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/exceptions_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/expand_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/fs_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/io_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/macros_hpp_test.cpp tests-atf-tests atf -./usr/tests/atf/atf-c++/macros_test tests-atf-tests atf -./usr/tests/atf/atf-c++/parser_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/pkg_config_test tests-atf-tests atf -./usr/tests/atf/atf-c++/process_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/sanity_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/signals_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_application tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_atf_c++ tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_atffile tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_build tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_check tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_config tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_env tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_exceptions tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_expand tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_formats tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_fs tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_io tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_macros tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_parser tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_pkg_config tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_process tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_sanity tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_signals tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_tests tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_text tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_ui tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_user tests-obsolete obsolete -./usr/tests/atf/atf-c++/t_utils tests-obsolete obsolete -./usr/tests/atf/atf-c++/tests_test tests-atf-tests atf -./usr/tests/atf/atf-c++/text_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/ui_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/unused_test.cpp tests-atf-tests atf -./usr/tests/atf/atf-c++/user_test tests-obsolete obsolete -./usr/tests/atf/atf-c++/utils_test tests-atf-tests atf ./usr/tests/atf/atf-check tests-obsolete obsolete ./usr/tests/atf/atf-check/Atffile tests-obsolete obsolete ./usr/tests/atf/atf-check/integration_test tests-obsolete obsolete @@ -396,8 +398,6 @@ ./usr/tests/atf/atf-run/expect_helpers tests-obsolete obsolete,kyua ./usr/tests/atf/atf-run/fs_test tests-atf-tests atf,!kyua ./usr/tests/atf/atf-run/fs_test tests-obsolete obsolete,kyua -./usr/tests/atf/atf-run/io_test tests-atf-tests atf,!kyua -./usr/tests/atf/atf-run/io_test tests-obsolete obsolete,kyua ./usr/tests/atf/atf-run/h_bad_metadata tests-obsolete obsolete ./usr/tests/atf/atf-run/h_fail tests-obsolete obsolete ./usr/tests/atf/atf-run/h_misc tests-obsolete obsolete @@ -406,6 +406,8 @@ ./usr/tests/atf/atf-run/h_zero_tcs tests-obsolete obsolete ./usr/tests/atf/atf-run/integration_test tests-atf-tests atf,!kyua ./usr/tests/atf/atf-run/integration_test tests-obsolete obsolete,kyua +./usr/tests/atf/atf-run/io_test tests-atf-tests atf,!kyua +./usr/tests/atf/atf-run/io_test tests-obsolete obsolete,kyua ./usr/tests/atf/atf-run/misc_helpers tests-atf-tests atf,!kyua ./usr/tests/atf/atf-run/misc_helpers tests-obsolete obsolete,kyua ./usr/tests/atf/atf-run/pass_helper tests-atf-tests atf,!kyua @@ -515,6 +517,50 @@ ./usr/tests/atf/formats/d_headers_8.experr tests-obsolete obsolete ./usr/tests/atf/formats/d_headers_9 tests-obsolete obsolete ./usr/tests/atf/formats/d_headers_9.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_1 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_1.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_2 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_2.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_3 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_3.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_50 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_50.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_51 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_51.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_52 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_52.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_53 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_53.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_54 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_54.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_60 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_60.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_61 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_61.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_61.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_70 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_70.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_70.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_71 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_71.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_71.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_72 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_72.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_72.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_73 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_73.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_73.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_74 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_74.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_74.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_75 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_75.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_75.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_76 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_76.experr tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_76.expout tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_77 tests-obsolete obsolete +./usr/tests/atf/formats/d_tcr_77.experr tests-obsolete obsolete ./usr/tests/atf/formats/d_tcs_1 tests-obsolete obsolete ./usr/tests/atf/formats/d_tcs_1.errin tests-obsolete obsolete ./usr/tests/atf/formats/d_tcs_1.expout tests-obsolete obsolete @@ -560,50 +606,6 @@ ./usr/tests/atf/formats/d_tcs_57.experr tests-obsolete obsolete ./usr/tests/atf/formats/d_tcs_57.expout tests-obsolete obsolete ./usr/tests/atf/formats/d_tcs_57.outin tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_1 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_1.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_2 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_2.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_3 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_3.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_50 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_50.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_51 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_51.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_52 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_52.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_53 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_53.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_54 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_54.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_60 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_60.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_61 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_61.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_61.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_70 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_70.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_70.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_71 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_71.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_71.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_72 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_72.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_72.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_73 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_73.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_73.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_74 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_74.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_74.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_75 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_75.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_75.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_76 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_76.experr tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_76.expout tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_77 tests-obsolete obsolete -./usr/tests/atf/formats/d_tcr_77.experr tests-obsolete obsolete ./usr/tests/atf/formats/d_tp_1 tests-obsolete obsolete ./usr/tests/atf/formats/d_tp_1.expout tests-obsolete obsolete ./usr/tests/atf/formats/d_tp_2 tests-obsolete obsolete @@ -769,7 +771,10 @@ ./usr/tests/bin/dd/Kyuafile tests-bin-tests atf,kyua ./usr/tests/bin/dd/t_dd tests-bin-tests atf ./usr/tests/bin/df tests-bin-tests -#LSC: Not on MINIX ./usr/tests/bin/df/Kyuafile tests-bin-tests atf,kyua +./usr/tests/bin/df/Atffile tests-bin-tests atf +./usr/tests/bin/df/Kyuafile tests-bin-tests atf,kyua +./usr/tests/bin/df/h_df tests-bin-tests atf +./usr/tests/bin/df/t_df tests-bin-tests atf ./usr/tests/bin/expr tests-bin-tests ./usr/tests/bin/expr/Atffile tests-bin-tests atf ./usr/tests/bin/expr/Kyuafile tests-bin-tests atf,kyua @@ -783,10 +788,6 @@ ./usr/tests/bin/ps/Kyuafile tests-bin-tests atf,kyua ./usr/tests/bin/ps/keywords tests-bin-tests atf ./usr/tests/bin/ps/t_ps tests-bin-tests atf -./usr/tests/bin/sleep tests-bin-tests -./usr/tests/bin/sleep/Atffile tests-bin-tests atf -./usr/tests/bin/sleep/Kyuafile tests-bin-tests atf,kyua -./usr/tests/bin/sleep/t_sleep tests-bin-tests atf ./usr/tests/bin/sh tests-bin-tests ./usr/tests/bin/sh/Atffile tests-bin-tests atf ./usr/tests/bin/sh/Kyuafile tests-bin-tests atf,kyua @@ -800,19 +801,23 @@ ./usr/tests/bin/sh/t_ulimit tests-bin-tests atf ./usr/tests/bin/sh/t_varquote tests-bin-tests atf ./usr/tests/bin/sh/t_wait tests-bin-tests atf +./usr/tests/bin/sleep tests-bin-tests +./usr/tests/bin/sleep/Atffile tests-bin-tests atf +./usr/tests/bin/sleep/Kyuafile tests-bin-tests atf,kyua +./usr/tests/bin/sleep/t_sleep tests-bin-tests atf ./usr/tests/bin/tar tests-bin-tests ./usr/tests/bin/tar/Atffile tests-bin-tests atf ./usr/tests/bin/tar/Kyuafile tests-bin-tests atf,kyua ./usr/tests/bin/tar/t_tar tests-bin-tests atf ./usr/tests/crypto tests-crypto-tests -#LSC: Not on MINIX ./usr/tests/crypto/Kyuafile tests-crypto-tests kyua ./usr/tests/crypto/libcrypto tests-crypto-tests ./usr/tests/crypto/libcrypto/Atffile tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/Kyuafile tests-crypto-tests crypto,kyua +./usr/tests/crypto/libcrypto/d_client.pem tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/d_conf.out tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/d_conf_ssleay.cnf tests-crypto-tests crypto -./usr/tests/crypto/libcrypto/d_client.pem tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/d_server.pem tests-crypto-tests crypto +./usr/tests/crypto/libcrypto/evptests.txt tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_bftest tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_bntest tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_casttest tests-crypto-tests crypto @@ -826,7 +831,6 @@ ./usr/tests/crypto/libcrypto/h_ectest tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_enginetest tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_evp_test tests-crypto-tests crypto -./usr/tests/crypto/libcrypto/evptests.txt tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_exptest tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_hmactest tests-crypto-tests crypto ./usr/tests/crypto/libcrypto/h_ideatest tests-crypto-tests crypto @@ -863,11 +867,11 @@ ./usr/tests/dev/cgd tests-fs-tests ./usr/tests/dev/cgd/Atffile tests-fs-tests atf ./usr/tests/dev/cgd/Kyuafile tests-fs-tests atf,kyua -./usr/tests/dev/cgd/t_cgd tests-fs-tests atf -./usr/tests/dev/cgd/paramsfile tests-fs-tests atf ./usr/tests/dev/cgd/h_img2cgd tests-obsolete obsolete -./usr/tests/dev/cgd/h_img2cgd/h_img2cgd tests-obsolete obsolete ./usr/tests/dev/cgd/h_img2cgd/cgd.conf tests-obsolete obsolete +./usr/tests/dev/cgd/h_img2cgd/h_img2cgd tests-obsolete obsolete +./usr/tests/dev/cgd/paramsfile tests-fs-tests atf +./usr/tests/dev/cgd/t_cgd tests-fs-tests atf ./usr/tests/dev/md tests-fs-tests ./usr/tests/dev/md/Atffile tests-fs-tests atf,rump ./usr/tests/dev/md/Kyuafile tests-fs-tests atf,rump,kyua @@ -892,7 +896,6 @@ ./usr/tests/fs tests-fs-tests ./usr/tests/fs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/Kyuafile tests-fs-tests atf,rump,kyua -./usr/tests/fs/h_funcs.subr tests-fs-tests atf,rump ./usr/tests/fs/ffs tests-fs-tests ./usr/tests/fs/ffs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/ffs/Kyuafile tests-fs-tests atf,rump,kyua @@ -920,6 +923,7 @@ ./usr/tests/fs/fifofs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/fifofs/Kyuafile tests-fs-tests atf,rump,kyua ./usr/tests/fs/fifofs/t_fifo tests-fs-tests atf,rump +./usr/tests/fs/h_funcs.subr tests-fs-tests atf,rump ./usr/tests/fs/hfs tests-fs-tests ./usr/tests/fs/hfs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/hfs/Kyuafile tests-fs-tests atf,rump,kyua @@ -940,11 +944,11 @@ ./usr/tests/fs/nfs tests-fs-tests ./usr/tests/fs/nfs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/nfs/Kyuafile tests-fs-tests atf,rump,kyua -./usr/tests/fs/nfs/t_mountd tests-fs-tests atf,rump -./usr/tests/fs/nfs/t_rquotad tests-fs-tests atf,rump ./usr/tests/fs/nfs/nfsservice tests-fs-tests ./usr/tests/fs/nfs/nfsservice/exports tests-fs-tests atf,rump ./usr/tests/fs/nfs/nfsservice/rumpnfsd tests-fs-tests atf,rump +./usr/tests/fs/nfs/t_mountd tests-fs-tests atf,rump +./usr/tests/fs/nfs/t_rquotad tests-fs-tests atf,rump ./usr/tests/fs/nullfs tests-fs-tests ./usr/tests/fs/nullfs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/nullfs/Kyuafile tests-fs-tests atf,rump,kyua @@ -961,14 +965,11 @@ ./usr/tests/fs/ptyfs tests-fs-tests ./usr/tests/fs/ptyfs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/ptyfs/Kyuafile tests-fs-tests atf,rump,kyua -./usr/tests/fs/ptyfs/t_ptyfs tests-fs-tests atf,rump ./usr/tests/fs/ptyfs/t_nullpts tests-fs-tests atf,rump +./usr/tests/fs/ptyfs/t_ptyfs tests-fs-tests atf,rump ./usr/tests/fs/puffs tests-fs-tests ./usr/tests/fs/puffs/Atffile tests-fs-tests atf,rump ./usr/tests/fs/puffs/Kyuafile tests-fs-tests atf,rump,kyua -./usr/tests/fs/puffs/t_basic tests-fs-tests atf,rump -./usr/tests/fs/puffs/t_fuzz tests-fs-tests atf,rump -./usr/tests/fs/puffs/t_io tests-fs-tests atf,rump ./usr/tests/fs/puffs/h_dtfs tests-fs-tests ./usr/tests/fs/puffs/h_dtfs/h_dtfs tests-fs-tests atf,rump ./usr/tests/fs/puffs/h_have_puffs tests-obsolete obsolete @@ -976,6 +977,9 @@ ./usr/tests/fs/puffs/ssh_host_key tests-obsolete obsolete ./usr/tests/fs/puffs/ssh_host_key.pub tests-obsolete obsolete ./usr/tests/fs/puffs/sshd_config.in tests-obsolete obsolete +./usr/tests/fs/puffs/t_basic tests-fs-tests atf,rump +./usr/tests/fs/puffs/t_fuzz tests-fs-tests atf,rump +./usr/tests/fs/puffs/t_io tests-fs-tests atf,rump ./usr/tests/fs/puffs/t_psshfs tests-obsolete obsolete ./usr/tests/fs/tmpfs tests-fs-tests ./usr/tests/fs/tmpfs/Atffile tests-fs-tests atf,rump @@ -1053,6 +1057,7 @@ ./usr/tests/include/sys tests-include-tests ./usr/tests/include/sys/Atffile tests-include-tests atf ./usr/tests/include/sys/Kyuafile tests-include-tests atf,kyua +./usr/tests/include/sys/t_bitops tests-include-tests atf ./usr/tests/include/sys/t_bootblock tests-include-tests atf ./usr/tests/include/sys/t_cdefs tests-include-tests atf ./usr/tests/include/sys/t_socket tests-include-tests atf,rump @@ -1536,23 +1541,19 @@ ./usr/tests/ipf/t_nat_parse tests-ipf-tests atf,ipfilter ./usr/tests/ipf/t_pools tests-ipf-tests atf,ipfilter ./usr/tests/kernel tests-kernel-tests -#LSC: Not on MINIX ./usr/tests/kernel/Kyuafile tests-kernel-tests atf,kyua ./usr/tests/kernel/kqueue tests-kernel-tests -#LSC: Not on MINIX ./usr/tests/kernel/kqueue/Kyuafile tests-kernel-tests atf,kyua ./usr/tests/kernel/kqueue/read tests-kernel-tests -#LSC: Not on MINIX ./usr/tests/kernel/kqueue/read/Kyuafile tests-kernel-tests atf,kyua ./usr/tests/kernel/kqueue/write tests-kernel-tests -#LSC: Not on MINIX ./usr/tests/kernel/kqueue/write/Kyuafile tests-kernel-tests atf,kyua ./usr/tests/kernel/posix_spawn tests-kernel-tests obsolete ./usr/tests/kernel/posix_spawn/Atffile tests-kernel-tests obsolete -./usr/tests/kernel/posix_spawn/t_spawn tests-kernel-tests obsolete -./usr/tests/kernel/posix_spawn/t_spawnattr tests-kernel-tests obsolete -./usr/tests/kernel/posix_spawn/t_fileactions tests-kernel-tests obsolete -./usr/tests/kernel/posix_spawn/h_spawn tests-kernel-tests obsolete -./usr/tests/kernel/posix_spawn/h_spawnattr tests-kernel-tests obsolete ./usr/tests/kernel/posix_spawn/h_fileactions tests-kernel-tests obsolete ./usr/tests/kernel/posix_spawn/h_nonexec tests-kernel-tests obsolete +./usr/tests/kernel/posix_spawn/h_spawn tests-kernel-tests obsolete +./usr/tests/kernel/posix_spawn/h_spawnattr tests-kernel-tests obsolete ./usr/tests/kernel/posix_spawn/h_zero tests-kernel-tests obsolete +./usr/tests/kernel/posix_spawn/t_fileactions tests-kernel-tests obsolete +./usr/tests/kernel/posix_spawn/t_spawn tests-kernel-tests obsolete +./usr/tests/kernel/posix_spawn/t_spawnattr tests-kernel-tests obsolete ./usr/tests/kernel/t_extattrctl tests-kernel-tests atf,rump ./usr/tests/kernel/t_filedesc tests-kernel-tests atf,rump ./usr/tests/kernel/t_lwpctl tests-obsolete obsolete @@ -1700,7 +1701,6 @@ ./usr/tests/kyua-cli/utils/fs/auto_cleaners_test tests-kyua-tests atf,kyua ./usr/tests/kyua-cli/utils/fs/exceptions_test tests-kyua-tests atf,kyua ./usr/tests/kyua-cli/utils/fs/lua_module_test tests-kyua-tests atf,kyua -#LSC: Not on MINIX ./usr/tests/kyua-cli/utils/fs/operations_test tests-kyua-tests atf,kyua ./usr/tests/kyua-cli/utils/fs/path_test tests-kyua-tests atf,kyua ./usr/tests/kyua-cli/utils/logging tests-kyua-tests ./usr/tests/kyua-cli/utils/logging/Atffile tests-kyua-tests atf,kyua @@ -1754,7 +1754,6 @@ ./usr/tests/kyua-testers/cli_test tests-kyua-tests atf,kyua ./usr/tests/kyua-testers/env_test tests-kyua-tests atf,kyua ./usr/tests/kyua-testers/error_test tests-kyua-tests atf,kyua -#LSC: Not on MINIX ./usr/tests/kyua-testers/fs_test tests-kyua-tests atf,kyua ./usr/tests/kyua-testers/plain_helpers tests-kyua-tests atf,kyua ./usr/tests/kyua-testers/plain_inttest tests-kyua-tests atf,kyua ./usr/tests/kyua-testers/result_test tests-kyua-tests atf,kyua @@ -1774,12 +1773,14 @@ ./usr/tests/lib/csu/h_initfini3 tests-lib-tests atf ./usr/tests/lib/csu/t_crt0 tests-lib-tests atf ./usr/tests/lib/libbluetooth tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libbluetooth/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libbpfjit tests-lib-tests atf +./usr/tests/lib/libbpfjit/Atffile tests-lib-tests atf,sljit +./usr/tests/lib/libbpfjit/Kyuafile tests-lib-tests atf,sljit,kyua +./usr/tests/lib/libbpfjit/t_bpfjit tests-lib-tests atf,sljit ./usr/tests/lib/libc tests-lib-tests ./usr/tests/lib/libc/Atffile tests-lib-tests atf ./usr/tests/lib/libc/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/c063 tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/c063/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/db tests-lib-tests ./usr/tests/lib/libc/db/Atffile tests-lib-tests atf ./usr/tests/lib/libc/db/Kyuafile tests-lib-tests atf,kyua @@ -1787,9 +1788,11 @@ ./usr/tests/lib/libc/db/h_db tests-lib-tests atf ./usr/tests/lib/libc/db/t_db tests-lib-tests atf ./usr/tests/lib/libc/gen tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/gen/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/gen/posix_spawn tests-kernel-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/gen/posix_spawn/Kyuafile tests-kernel-tests atf,kyua +./usr/tests/lib/libc/gen/t_glob_star tests-obsolete obsolete +./usr/tests/lib/libc/gen/t_ldexp tests-obsolete obsolete +./usr/tests/lib/libc/gen/t_rbstress tests-obsolete obsolete +./usr/tests/lib/libc/gen/t_syslog_pthread tests-obsolete obsolete ./usr/tests/lib/libc/getaddrinfo tests-obsolete obsolete ./usr/tests/lib/libc/getaddrinfo/Atffile tests-obsolete obsolete ./usr/tests/lib/libc/getaddrinfo/data tests-obsolete obsolete @@ -1829,6 +1832,10 @@ ./usr/tests/lib/libc/ieeefp/t_nan_inf tests-obsolete obsolete ./usr/tests/lib/libc/ieeefp/t_round tests-obsolete obsolete ./usr/tests/lib/libc/ieeefp/t_subnormal tests-obsolete obsolete +./usr/tests/lib/libc/inet tests-lib-tests +./usr/tests/lib/libc/inet/Atffile tests-lib-tests atf +./usr/tests/lib/libc/inet/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libc/inet/t_inet_network tests-lib-tests atf ./usr/tests/lib/libc/locale tests-lib-tests ./usr/tests/lib/libc/locale/Atffile tests-lib-tests atf ./usr/tests/lib/libc/locale/Kyuafile tests-lib-tests atf,kyua @@ -1836,6 +1843,7 @@ ./usr/tests/lib/libc/locale/t_ctype2 tests-obsolete obsolete ./usr/tests/lib/libc/locale/t_io tests-lib-tests atf ./usr/tests/lib/libc/locale/t_mbrtowc tests-lib-tests atf +./usr/tests/lib/libc/locale/t_mbsnrtowcs tests-lib-tests atf ./usr/tests/lib/libc/locale/t_mbstowcs tests-lib-tests atf ./usr/tests/lib/libc/locale/t_mbtowc tests-lib-tests atf ./usr/tests/lib/libc/locale/t_wcscspn tests-lib-tests atf @@ -1843,19 +1851,17 @@ ./usr/tests/lib/libc/locale/t_wcsspn tests-lib-tests atf ./usr/tests/lib/libc/locale/t_wcstod tests-lib-tests atf ./usr/tests/lib/libc/locale/t_wctomb tests-lib-tests atf -./usr/tests/lib/libc/inet tests-lib-tests -./usr/tests/lib/libc/inet/Atffile tests-lib-tests atf -./usr/tests/lib/libc/inet/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/libc/inet/t_inet_network tests-lib-tests atf ./usr/tests/lib/libc/net tests-lib-tests ./usr/tests/lib/libc/net/Atffile tests-lib-tests atf ./usr/tests/lib/libc/net/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/net/getaddrinfo tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/net/getaddrinfo/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/net/getaddrinfo/data tests-lib-tests +./usr/tests/lib/libc/net/h_hostent tests-lib-tests atf ./usr/tests/lib/libc/net/h_protoent tests-lib-tests atf ./usr/tests/lib/libc/net/h_servent tests-lib-tests atf +./usr/tests/lib/libc/net/hosts tests-lib-tests atf ./usr/tests/lib/libc/net/t_getprotoent tests-lib-tests atf +./usr/tests/lib/libc/net/t_hostent tests-lib-tests atf ./usr/tests/lib/libc/net/t_nsdispatch tests-lib-tests atf ./usr/tests/lib/libc/net/t_protoent tests-lib-tests atf ./usr/tests/lib/libc/net/t_servent tests-lib-tests atf @@ -1897,11 +1903,8 @@ ./usr/tests/lib/libc/regex/t_regex tests-lib-tests atf ./usr/tests/lib/libc/regex/t_regex_att tests-lib-tests atf ./usr/tests/lib/libc/rpc tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/rpc/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/setjmp tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/setjmp/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libc/ssp tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/ssp/Kyuafile tests-lib-tests atf,ssp,kyua ./usr/tests/lib/libc/stdio tests-lib-tests ./usr/tests/lib/libc/stdio/Atffile tests-lib-tests atf ./usr/tests/lib/libc/stdio/Kyuafile tests-lib-tests atf,kyua @@ -1909,9 +1912,11 @@ ./usr/tests/lib/libc/stdio/t_fflush tests-lib-tests atf ./usr/tests/lib/libc/stdio/t_fmemopen tests-lib-tests atf ./usr/tests/lib/libc/stdio/t_fopen tests-lib-tests atf -./usr/tests/lib/libc/stdio/t_fputc tests-lib-tests atf ./usr/tests/lib/libc/stdio/t_format tests-obsolete obsolete +./usr/tests/lib/libc/stdio/t_fputc tests-lib-tests atf +./usr/tests/lib/libc/stdio/t_mktemp tests-lib-tests atf ./usr/tests/lib/libc/stdio/t_popen tests-lib-tests atf +./usr/tests/lib/libc/stdio/t_printf tests-lib-tests atf ./usr/tests/lib/libc/stdio/t_scanf tests-lib-tests atf ./usr/tests/lib/libc/stdlib tests-lib-tests ./usr/tests/lib/libc/stdlib/Atffile tests-lib-tests atf @@ -1919,8 +1924,8 @@ ./usr/tests/lib/libc/stdlib/h_atexit tests-lib-tests atf ./usr/tests/lib/libc/stdlib/h_getopt tests-lib-tests atf ./usr/tests/lib/libc/stdlib/h_getopt_long tests-lib-tests atf -./usr/tests/lib/libc/stdlib/t_atexit tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_abs tests-lib-tests atf +./usr/tests/lib/libc/stdlib/t_atexit tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_atoi tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_div tests-lib-tests atf ./usr/tests/lib/libc/stdlib/t_environment tests-obsolete obsolete @@ -1957,21 +1962,17 @@ ./usr/tests/lib/libc/string/t_strspn tests-lib-tests atf ./usr/tests/lib/libc/string/t_swab tests-lib-tests atf ./usr/tests/lib/libc/sys tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/sys/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/libc/termios tests-lib-tests -./usr/tests/lib/libc/termios/Atffile tests-lib-tests atf -./usr/tests/lib/libc/termios/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/libc/termios/t_tcsetpgrp tests-lib-tests atf -./usr/tests/lib/libc/tls tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/tls/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/libc/ttyio tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libc/ttyio/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libc/sys/t_bitops tests-obsolete obsolete +./usr/tests/lib/libc/sys/t_cerror tests-obsolete obsolete +./usr/tests/lib/libc/sys/t_context tests-obsolete obsolete +./usr/tests/lib/libc/sys/t_posix_fadvise tests-lib-tests atf,rump +./usr/tests/lib/libc/sys/t_sigtimedwait_pr_47625 tests-obsolete obsolete ./usr/tests/lib/libc/t_atexit tests-obsolete obsolete +./usr/tests/lib/libc/t_cdb tests-lib-tests atf ./usr/tests/lib/libc/t_cerror tests-obsolete obsolete ./usr/tests/lib/libc/t_clone tests-obsolete obsolete ./usr/tests/lib/libc/t_context tests-obsolete obsolete ./usr/tests/lib/libc/t_convfp tests-lib-tests atf -./usr/tests/lib/libc/t_cdb tests-lib-tests atf ./usr/tests/lib/libc/t_gdtoa tests-lib-tests atf ./usr/tests/lib/libc/t_hsearch tests-obsolete obsolete ./usr/tests/lib/libc/t_inet tests-obsolete obsolete @@ -1982,14 +1983,23 @@ ./usr/tests/lib/libc/t_randomid tests-obsolete obsolete ./usr/tests/lib/libc/t_servent tests-obsolete obsolete ./usr/tests/lib/libc/t_strptime tests-obsolete obsolete +./usr/tests/lib/libc/termios tests-lib-tests +./usr/tests/lib/libc/termios/Atffile tests-lib-tests atf +./usr/tests/lib/libc/termios/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libc/termios/t_tcsetpgrp tests-lib-tests atf ./usr/tests/lib/libc/time tests-lib-tests +./usr/tests/lib/libc/time/Atffile tests-lib-tests atf +./usr/tests/lib/libc/time/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libc/time/t_mktime tests-lib-tests atf +./usr/tests/lib/libc/time/t_strptime tests-lib-tests atf +./usr/tests/lib/libc/tls tests-lib-tests +./usr/tests/lib/libc/ttyio tests-lib-tests ./usr/tests/lib/libcrypt tests-lib-tests ./usr/tests/lib/libcrypt/Atffile tests-lib-tests ./usr/tests/lib/libcrypt/Kyuafile tests-lib-tests kyua ./usr/tests/lib/libcrypt/t_crypt tests-lib-tests ./usr/tests/lib/libcurses tests-lib-tests ./usr/tests/lib/libcurses/.terminfo.db tests-obsolete obsolete -./usr/tests/lib/libcurses/terminfo.db tests-obsolete obsolete ./usr/tests/lib/libcurses/Atffile tests-lib-tests atf ./usr/tests/lib/libcurses/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libcurses/check_files tests-lib-tests @@ -2052,8 +2062,11 @@ ./usr/tests/lib/libcurses/check_files/wprintw_refresh.chk tests-lib-tests atf ./usr/tests/lib/libcurses/check_files/wscrl1.chk tests-lib-tests atf ./usr/tests/lib/libcurses/check_files/wscrl2.chk tests-lib-tests atf +./usr/tests/lib/libcurses/director tests-lib-tests atf ./usr/tests/lib/libcurses/slave tests-lib-tests atf ./usr/tests/lib/libcurses/t_curses tests-lib-tests atf +./usr/tests/lib/libcurses/terminfo.cdb tests-lib-tests atf +./usr/tests/lib/libcurses/terminfo.db tests-obsolete obsolete ./usr/tests/lib/libcurses/tests tests-lib-tests ./usr/tests/lib/libcurses/tests/addch tests-lib-tests atf ./usr/tests/lib/libcurses/tests/addchnstr tests-lib-tests atf @@ -2088,27 +2101,14 @@ ./usr/tests/lib/libcurses/tests/wprintw tests-lib-tests atf ./usr/tests/lib/libcurses/tests/wscrl tests-lib-tests atf ./usr/tests/lib/libdes tests-lib-tests -./usr/tests/lib/libc/time/Atffile tests-lib-tests atf -./usr/tests/lib/libc/time/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/libc/time/t_mktime tests-lib-tests atf -./usr/tests/lib/libc/time/t_strptime tests-lib-tests atf ./usr/tests/lib/libdes/Atffile tests-lib-tests atf,crypto ./usr/tests/lib/libdes/Kyuafile tests-lib-tests atf,crypto,kyua ./usr/tests/lib/libdes/t_des tests-lib-tests atf,crypto -./usr/tests/lib/semaphore tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/semaphore/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/semaphore/pthread tests-lib-tests -./usr/tests/lib/semaphore/pthread/Atffile tests-lib-tests atf,rump -./usr/tests/lib/semaphore/pthread/Kyuafile tests-lib-tests atf,rump,kyua -./usr/tests/lib/semaphore/pthread/t_sem_pth tests-lib-tests atf,rump -./usr/tests/lib/libbpfjit tests-lib-tests atf -./usr/tests/lib/libbpfjit/Atffile tests-lib-tests atf,sljit -./usr/tests/lib/libbpfjit/Kyuafile tests-lib-tests atf,sljit,kyua -./usr/tests/lib/libbpfjit/t_bpfjit tests-lib-tests atf,sljit ./usr/tests/lib/libevent tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libevent/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libexecinfo tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libexecinfo/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libexecinfo/Atffile tests-lib-tests atf +./usr/tests/lib/libexecinfo/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libexecinfo/t_backtrace tests-lib-tests atf ./usr/tests/lib/liblutok tests-lutok-tests ./usr/tests/lib/liblutok/Atffile tests-lutok-tests atf,kyua ./usr/tests/lib/liblutok/Kyuafile tests-lutok-tests atf,kyua @@ -2131,37 +2131,34 @@ ./usr/tests/lib/libm/t_erf tests-lib-tests atf ./usr/tests/lib/libm/t_exp tests-lib-tests atf ./usr/tests/lib/libm/t_floor tests-obsolete obsolete +./usr/tests/lib/libm/t_fmod tests-lib-tests atf ./usr/tests/lib/libm/t_infinity tests-lib-tests atf ./usr/tests/lib/libm/t_ldexp tests-lib-tests atf -./usr/tests/lib/libm/t_log tests-lib-tests atf ./usr/tests/lib/libm/t_libm tests-obsolete obsolete +./usr/tests/lib/libm/t_log tests-lib-tests atf ./usr/tests/lib/libm/t_pow tests-lib-tests atf +./usr/tests/lib/libm/t_precision tests-lib-tests atf ./usr/tests/lib/libm/t_round tests-lib-tests atf +./usr/tests/lib/libm/t_scalbn tests-lib-tests atf ./usr/tests/lib/libm/t_sin tests-lib-tests atf ./usr/tests/lib/libm/t_sinh tests-lib-tests atf ./usr/tests/lib/libm/t_sqrt tests-lib-tests atf ./usr/tests/lib/libm/t_tan tests-lib-tests atf ./usr/tests/lib/libm/t_tanh tests-lib-tests atf ./usr/tests/lib/libobjc tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libobjc/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libposix tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libposix/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libposix/bsd tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libposix/bsd/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libposix/posix1 tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libposix/posix1/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libposix/posix2 tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libposix/posix2/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libppath tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libppath/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libprop tests-lib-tests atf ./usr/tests/lib/libprop/Atffile tests-lib-tests atf ./usr/tests/lib/libprop/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libprop/t_basic tests-lib-tests atf ./usr/tests/lib/libpthread tests-lib-tests -#LSC: Not on MINIX ./usr/tests/lib/libpthread/Kyuafile tests-lib-tests atf,kyua +./usr/tests/lib/libpthread/dlopen tests-lib-tests +./usr/tests/lib/libpthread/t_status tests-obsolete obsolete ./usr/tests/lib/librt tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/librt/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/librumpclient tests-lib-tests atf ./usr/tests/lib/librumpclient/Atffile tests-lib-tests atf,rump ./usr/tests/lib/librumpclient/Kyuafile tests-lib-tests atf,rump,kyua @@ -2178,16 +2175,16 @@ ./usr/tests/lib/librumphijack/h_netget tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/index.html tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/netstat.expout tests-lib-tests atf,rump +./usr/tests/lib/librumphijack/ssh_config.in tests-lib-tests atf,rump +./usr/tests/lib/librumphijack/ssh_host_key tests-lib-tests atf,rump +./usr/tests/lib/librumphijack/ssh_host_key.pub tests-lib-tests atf,rump +./usr/tests/lib/librumphijack/sshd_config.in tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/t_asyncio tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/t_config tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/t_cwd tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/t_sh tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/t_tcpip tests-lib-tests atf,rump ./usr/tests/lib/librumphijack/t_vfs tests-lib-tests atf,rump -./usr/tests/lib/librumphijack/ssh_config.in tests-lib-tests atf,rump -./usr/tests/lib/librumphijack/ssh_host_key tests-lib-tests atf,rump -./usr/tests/lib/librumphijack/ssh_host_key.pub tests-lib-tests atf,rump -./usr/tests/lib/librumphijack/sshd_config.in tests-lib-tests atf,rump ./usr/tests/lib/libskey tests-lib-tests atf ./usr/tests/lib/libskey/Atffile tests-lib-tests atf,skey ./usr/tests/lib/libskey/Kyuafile tests-lib-tests atf,skey,kyua @@ -2198,27 +2195,29 @@ ./usr/tests/lib/libsljit/h_sljit tests-lib-tests atf,sljit ./usr/tests/lib/libsljit/t_sljit tests-lib-tests atf,sljit ./usr/tests/lib/libtre tests-lib-tests atf -#LSC: Not on MINIX ./usr/tests/lib/libtre/Kyuafile tests-lib-tests atf,kyua -./usr/tests/lib/libtre/h_regex_att tests-obsolete obsolete ./usr/tests/lib/libtre/data tests-lib-tests atf +./usr/tests/lib/libtre/h_regex_att tests-obsolete obsolete ./usr/tests/lib/libutil tests-lib-tests atf ./usr/tests/lib/libutil/Atffile tests-lib-tests atf ./usr/tests/lib/libutil/Kyuafile tests-lib-tests atf,kyua ./usr/tests/lib/libutil/t_efun tests-lib-tests atf ./usr/tests/lib/libutil/t_pidfile tests-lib-tests atf ./usr/tests/lib/libutil/t_snprintb tests-lib-tests atf +./usr/tests/lib/semaphore tests-lib-tests +./usr/tests/lib/semaphore/pthread tests-lib-tests +./usr/tests/lib/semaphore/pthread/Atffile tests-lib-tests atf,rump +./usr/tests/lib/semaphore/pthread/Kyuafile tests-lib-tests atf,rump,kyua +./usr/tests/lib/semaphore/pthread/t_sem_pth tests-lib-tests atf,rump ./usr/tests/libexec tests-lib-tests +./usr/tests/libexec/Atffile tests-lib-tests atf ./usr/tests/libexec/Kyuafile tests-lib-tests atf,kyua ./usr/tests/libexec/ld.elf_so tests-libexec-tests -#LSC: Not on MINIX ./usr/tests/libexec/ld.elf_so/Kyuafile tests-libexec-tests atf,pic,kyua ./usr/tests/libexec/ld.elf_so/data tests-libexec-tests atf ./usr/tests/libexec/ld.elf_so/h_helper_symver_dso0 tests-libexec-tests atf ./usr/tests/libexec/ld.elf_so/h_helper_symver_dso1 tests-libexec-tests atf ./usr/tests/libexec/ld.elf_so/h_helper_symver_dso2 tests-libexec-tests atf ./usr/tests/modules tests-sys-tests ./usr/tests/net tests-net-tests -#LSC: Not on MINIX ./usr/tests/net/Atffile tests-net-tests atf -#LSC: Not on MINIX ./usr/tests/net/Kyuafile tests-net-tests atf,kyua ./usr/tests/net/bpf tests-net-tests ./usr/tests/net/bpf/Atffile tests-net-tests atf,rump ./usr/tests/net/bpf/Kyuafile tests-net-tests atf,rump,kyua @@ -2233,16 +2232,11 @@ ./usr/tests/net/carp/Kyuafile tests-net-tests atf,rump,kyua ./usr/tests/net/carp/t_basic tests-net-tests atf,rump ./usr/tests/net/fdpass tests-net-tests -#LSC: Not on MINIX ./usr/tests/net/fdpass/Atffile tests-net-tests atf -#LSC: Not on MINIX ./usr/tests/net/fdpass/Kyuafile tests-net-tests atf,kyua -#LSC: Not on MINIX ./usr/tests/net/fdpass/fdpass32 tests-net-tests atf -#LSC: Not on MINIX ./usr/tests/net/fdpass/fdpass64 tests-net-tests atf -#LSC: Not on MINIX ./usr/tests/net/fdpass/t_fdpass tests-net-tests atf -./usr/tests/net/icmp/t_forward tests-net-tests atf,rump ./usr/tests/net/icmp tests-net-tests ./usr/tests/net/icmp/Atffile tests-net-tests atf,rump ./usr/tests/net/icmp/Kyuafile tests-net-tests atf,rump,kyua ./usr/tests/net/icmp/t_forward tests-net-tests atf,rump +./usr/tests/net/icmp/t_forward tests-net-tests atf,rump ./usr/tests/net/icmp/t_ping tests-net-tests atf,rump ./usr/tests/net/icmp/t_ping2 tests-net-tests atf,rump ./usr/tests/net/if tests-net-tests @@ -2253,23 +2247,22 @@ ./usr/tests/net/if_loop/Atffile tests-net-tests atf,rump ./usr/tests/net/if_loop/Kyuafile tests-net-tests atf,rump,kyua ./usr/tests/net/if_loop/t_pr tests-net-tests atf,rump +./usr/tests/net/mpls tests-net-tests +./usr/tests/net/mpls/Atffile tests-net-tests atf,rump +./usr/tests/net/mpls/Kyuafile tests-net-tests atf,rump,kyua +./usr/tests/net/mpls/t_ldp_regen tests-net-tests atf,rump +./usr/tests/net/mpls/t_ldp_static tests-net-tests obsolete +./usr/tests/net/mpls/t_mpls_fw tests-net-tests atf,rump +./usr/tests/net/mpls/t_rfc4182 tests-net-tests atf,rump ./usr/tests/net/net tests-net-tests -./usr/tests/net/net/Atffile tests-net-tests atf,rump -./usr/tests/net/net/Kyuafile tests-net-tests atf,rump,kyua ./usr/tests/net/net/t_raw tests-net-tests atf,rump -./usr/tests/net/net/t_udp tests-net-tests atf,rump -./usr/tests/net/net/t_unix tests-net-tests atf,rump ./usr/tests/net/npf tests-net-tests ./usr/tests/net/npf/Atffile tests-net-tests atf,rump ./usr/tests/net/npf/Kyuafile tests-net-tests atf,rump,kyua ./usr/tests/net/npf/npftest.conf tests-net-tests atf,rump ./usr/tests/net/npf/t_npf tests-net-tests atf,rump ./usr/tests/net/route tests-net-tests -#LSC: Not on MINIX ./usr/tests/net/route/Atffile tests-net-tests atf -#LSC: Not on MINIX ./usr/tests/net/route/Kyuafile tests-net-tests atf,kyua -#LSC: Not on MINIX ./usr/tests/net/route/t_change tests-net-tests atf ./usr/tests/net/sys tests-net-tests -#LSC: Not on MINIX ./usr/tests/net/sys/Kyuafile tests-net-tests atf,kyua ./usr/tests/net/sys/t_connect tests-obsolete obsolete ./usr/tests/net/sys/t_listen tests-obsolete obsolete ./usr/tests/net/sys/t_socketpair tests-obsolete obsolete @@ -2283,25 +2276,25 @@ ./usr/tests/rump/rumpkern tests-rump-tests ./usr/tests/rump/rumpkern/Atffile tests-rump-tests atf,rump ./usr/tests/rump/rumpkern/Kyuafile tests-rump-tests atf,rump,kyua -./usr/tests/rump/rumpkern/t_copy tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_kern tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_lwproc tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_modcmd tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_modlinkset tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_sp tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_signals tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_threads tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_tsleep tests-rump-tests atf,rump -./usr/tests/rump/rumpkern/t_vm tests-rump-tests atf,rump ./usr/tests/rump/rumpkern/h_client tests-rump-tests -./usr/tests/rump/rumpkern/h_client/h_reboot tests-obsolete obsolete ./usr/tests/rump/rumpkern/h_client/h_forkcli tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/h_client/h_reboot tests-obsolete obsolete ./usr/tests/rump/rumpkern/h_client/h_reconcli tests-rump-tests atf,rump ./usr/tests/rump/rumpkern/h_client/h_sigcli tests-rump-tests atf,rump ./usr/tests/rump/rumpkern/h_client/h_simplecli tests-rump-tests atf,rump ./usr/tests/rump/rumpkern/h_client/h_stresscli tests-rump-tests atf,rump ./usr/tests/rump/rumpkern/h_server tests-rump-tests ./usr/tests/rump/rumpkern/h_server/h_simpleserver tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_copy tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_kern tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_lwproc tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_modcmd tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_modlinkset tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_signals tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_sp tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_threads tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_tsleep tests-rump-tests atf,rump +./usr/tests/rump/rumpkern/t_vm tests-rump-tests atf,rump ./usr/tests/rump/rumpnet tests-rump-tests ./usr/tests/rump/rumpnet/Atffile tests-rump-tests atf,rump ./usr/tests/rump/rumpnet/Kyuafile tests-rump-tests atf,rump,kyua @@ -2352,16 +2345,16 @@ ./usr/tests/sbin/sysctl/t_perm tests-sbin-tests atf ./usr/tests/sbin/sysctl/t_sysctl tests-sbin-tests atf ./usr/tests/share tests-sys-tests +./usr/tests/share/Atffile tests-sys-tests atf +./usr/tests/share/Kyuafile tests-sys-tests atf,kyua ./usr/tests/share/examples tests-asm-tests ./usr/tests/share/examples/Atffile tests-asm-tests atf,share ./usr/tests/share/examples/Kyuafile tests-asm-tests atf,share,kyua -./usr/tests/share/examples/t_asm tests-asm-tests atf,share -./usr/tests/share/Atffile tests-sys-tests atf -./usr/tests/share/Kyuafile tests-sys-tests atf,kyua ./usr/tests/share/examples/lutok tests-lutok-tests ./usr/tests/share/examples/lutok/Atffile tests-lutok-tests atf,kyua,share ./usr/tests/share/examples/lutok/Kyuafile tests-lutok-tests atf,kyua,share,kyua ./usr/tests/share/examples/lutok/examples_test tests-lutok-tests atf,kyua,share +./usr/tests/share/examples/t_asm tests-asm-tests atf,share ./usr/tests/share/mk tests-mk-tests ./usr/tests/share/mk/Atffile tests-mk-tests atf ./usr/tests/share/mk/Kyuafile tests-mk-tests atf,kyua @@ -2425,7 +2418,6 @@ ./usr/tests/usr.bin/awk tests-usr.bin-tests ./usr/tests/usr.bin/awk/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/awk/Kyuafile tests-usr.bin-tests atf,kyua -./usr/tests/usr.bin/awk/t_awk tests-usr.bin-tests atf ./usr/tests/usr.bin/awk/d_assign_NF.awk tests-usr.bin-tests atf ./usr/tests/usr.bin/awk/d_assign_NF.in tests-usr.bin-tests atf ./usr/tests/usr.bin/awk/d_assign_NF.out tests-usr.bin-tests atf @@ -2449,6 +2441,7 @@ ./usr/tests/usr.bin/awk/d_toupper.awk tests-usr.bin-tests atf ./usr/tests/usr.bin/awk/d_toupper.in tests-usr.bin-tests atf ./usr/tests/usr.bin/awk/d_toupper.out tests-usr.bin-tests atf +./usr/tests/usr.bin/awk/t_awk tests-usr.bin-tests atf ./usr/tests/usr.bin/basename tests-usr.bin-tests ./usr/tests/usr.bin/basename/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/basename/Kyuafile tests-usr.bin-tests atf,kyua @@ -2456,13 +2449,13 @@ ./usr/tests/usr.bin/bzip2 tests-usr.bin-tests ./usr/tests/usr.bin/bzip2/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/Kyuafile tests-usr.bin-tests atf,kyua -./usr/tests/usr.bin/bzip2/t_bzip2 tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/d_sample1.bz2 tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/d_sample1.ref tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/d_sample2.bz2 tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/d_sample2.ref tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/d_sample3.bz2 tests-usr.bin-tests atf ./usr/tests/usr.bin/bzip2/d_sample3.ref tests-usr.bin-tests atf +./usr/tests/usr.bin/bzip2/t_bzip2 tests-usr.bin-tests atf ./usr/tests/usr.bin/cc tests-usr.bin-tests ./usr/tests/usr.bin/cc/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/cc/Kyuafile tests-usr.bin-tests atf,kyua @@ -2475,7 +2468,6 @@ ./usr/tests/usr.bin/config/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/config/Kyuafile tests-usr.bin-tests atf,kyua ./usr/tests/usr.bin/config/Makefile.regress tests-usr.bin-tests atf -./usr/tests/usr.bin/config/t_config tests-usr.bin-tests atf ./usr/tests/usr.bin/config/d_deffs_redef tests-usr.bin-tests atf ./usr/tests/usr.bin/config/d_loop tests-usr.bin-tests atf ./usr/tests/usr.bin/config/d_loop2 tests-usr.bin-tests atf @@ -2495,6 +2487,7 @@ ./usr/tests/usr.bin/config/support/arch/regress/conf/std.regress tests-usr.bin-tests atf ./usr/tests/usr.bin/config/support/conf tests-usr.bin-tests ./usr/tests/usr.bin/config/support/conf/files tests-usr.bin-tests atf +./usr/tests/usr.bin/config/t_config tests-usr.bin-tests atf ./usr/tests/usr.bin/cut tests-usr.bin-tests ./usr/tests/usr.bin/cut/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/cut/Kyuafile tests-usr.bin-tests atf,kyua @@ -2566,7 +2559,10 @@ ./usr/tests/usr.bin/infocmp/Kyuafile tests-usr.bin-tests atf,kyua ./usr/tests/usr.bin/infocmp/t_terminfo tests-usr.bin-tests atf ./usr/tests/usr.bin/jot tests-usr.bin-tests +./usr/tests/usr.bin/jot/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/jot/Kyuafile tests-usr.bin-tests atf,kyua +./usr/tests/usr.bin/jot/d_basic.out tests-usr.bin-tests atf +./usr/tests/usr.bin/jot/t_jot tests-usr.bin-tests atf ./usr/tests/usr.bin/m4 tests-usr.bin-tests ./usr/tests/usr.bin/m4/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/m4/Kyuafile tests-usr.bin-tests atf,kyua @@ -2691,6 +2687,10 @@ ./usr/tests/usr.bin/tmux/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/tmux/Kyuafile tests-usr.bin-tests atf,kyua ./usr/tests/usr.bin/tmux/t_tmux tests-usr.bin-tests atf +./usr/tests/usr.bin/tr tests-usr.bin-tests +./usr/tests/usr.bin/tr/Atffile tests-usr.bin-tests atf +./usr/tests/usr.bin/tr/Kyuafile tests-usr.bin-tests atf,kyua +./usr/tests/usr.bin/tr/t_basic tests-usr.bin-tests atf ./usr/tests/usr.bin/unifdef tests-usr.bin-tests ./usr/tests/usr.bin/unifdef/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/unifdef/Kyuafile tests-usr.bin-tests atf,kyua @@ -2698,8 +2698,50 @@ ./usr/tests/usr.bin/unifdef/d_basic.out tests-usr.bin-tests atf ./usr/tests/usr.bin/unifdef/t_basic tests-usr.bin-tests atf ./usr/tests/usr.bin/xlint tests-usr.bin-tests +./usr/tests/usr.bin/xlint/Atffile tests-usr.bin-tests atf ./usr/tests/usr.bin/xlint/Kyuafile tests-usr.bin-tests atf,kyua ./usr/tests/usr.bin/xlint/lint1 tests-usr.bin-tests +./usr/tests/usr.bin/xlint/lint1/Atffile tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/Kyuafile tests-usr.bin-tests atf,kyua +./usr/tests/usr.bin/xlint/lint1/d_alignof.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_complex_num.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_decls_after_stmt.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_decls_after_stmt2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_for_loops.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_func.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_recursive_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_struct_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_union_init1.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_union_init2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c99_union_init3.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c9x_array_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_c9x_recursive_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_cast_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_cast_init2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_cast_lhs.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_compound_literals1.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_compound_literals2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_constant_conv1.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_constant_conv2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_cvt_in_ternary.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_ellipsis_in_switch.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_gcc_compound_statements2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_gcc_compound_statements3.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_gcc_func.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_gcc_variable_array_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_incorrect_array_size.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_long_double_int.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_nested_structs.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_nolimit_init.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_packed_structs.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_shift_to_narrower_type.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_type_conv1.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_type_conv2.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_type_conv3.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_typename_as_var.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/d_zero_sized_arrays.c tests-usr.bin-tests atf +./usr/tests/usr.bin/xlint/lint1/t_integration tests-usr.bin-tests atf ./usr/tests/usr.sbin tests-usr.sbin-tests ./usr/tests/usr.sbin/Atffile tests-usr.sbin-tests atf ./usr/tests/usr.sbin/Kyuafile tests-usr.sbin-tests atf,kyua @@ -2712,11 +2754,11 @@ ./usr/tests/usr.sbin/mtree/d_convert_D.out tests-usr.sbin-tests atf ./usr/tests/usr.sbin/mtree/d_convert_D_S.out tests-usr.sbin-tests atf ./usr/tests/usr.sbin/mtree/d_create.out tests-obsolete obsolete -./usr/tests/usr.sbin/mtree/mtree_d_create.out tests-usr.sbin-tests atf -./usr/tests/usr.sbin/mtree/netbsd6_d_create.out tests-usr.sbin-tests atf ./usr/tests/usr.sbin/mtree/d_merge.in tests-usr.sbin-tests atf ./usr/tests/usr.sbin/mtree/d_merge_C_M.out tests-usr.sbin-tests atf ./usr/tests/usr.sbin/mtree/d_merge_C_M_S.out tests-usr.sbin-tests atf +./usr/tests/usr.sbin/mtree/mtree_d_create.out tests-usr.sbin-tests atf +./usr/tests/usr.sbin/mtree/netbsd6_d_create.out tests-usr.sbin-tests atf ./usr/tests/usr.sbin/mtree/t_mtree tests-usr.sbin-tests atf ./usr/tests/usr.sbin/tcpdump tests-usr.sbin-tests ./usr/tests/usr.sbin/tcpdump/Atffile tests-usr.sbin-tests atf @@ -2821,8 +2863,8 @@ ./usr/tests/util/grep/d_context_d.out tests-obsolete obsolete ./usr/tests/util/grep/d_egrep.out tests-obsolete obsolete ./usr/tests/util/grep/d_file_exp.in tests-obsolete obsolete -./usr/tests/util/grep/d_file_exp.out tests-obsolete obsolete ./usr/tests/util/grep/d_file_exp.inout tests-obsolete obsolete +./usr/tests/util/grep/d_file_exp.out tests-obsolete obsolete ./usr/tests/util/grep/d_ignore_case.out tests-obsolete obsolete ./usr/tests/util/grep/d_input tests-obsolete obsolete ./usr/tests/util/grep/d_invert.in tests-obsolete obsolete @@ -2836,8 +2878,8 @@ ./usr/tests/util/grep/t_grep tests-obsolete obsolete ./usr/tests/util/id tests-obsolete obsolete ./usr/tests/util/id/Atffile tests-obsolete obsolete -./usr/tests/util/id/libfake_pic.a tests-obsolete obsolete ./usr/tests/util/id/h_id tests-obsolete obsolete +./usr/tests/util/id/libfake_pic.a tests-obsolete obsolete ./usr/tests/util/id/t_groups tests-obsolete obsolete ./usr/tests/util/id/t_id tests-obsolete obsolete ./usr/tests/util/id/t_whoami tests-obsolete obsolete @@ -2933,10 +2975,10 @@ ./usr/tests/util/sh tests-obsolete obsolete ./usr/tests/util/sh/Atffile tests-obsolete obsolete ./usr/tests/util/sh/t_compexit tests-obsolete obsolete +./usr/tests/util/sh/t_evaltested tests-obsolete obsolete ./usr/tests/util/sh/t_exit tests-obsolete obsolete ./usr/tests/util/sh/t_exitstatus tests-obsolete obsolete ./usr/tests/util/sh/t_expand tests-obsolete obsolete -./usr/tests/util/sh/t_evaltested tests-obsolete obsolete ./usr/tests/util/sh/t_fsplit tests-obsolete obsolete ./usr/tests/util/sh/t_here tests-obsolete obsolete ./usr/tests/util/sh/t_set_e tests-obsolete obsolete @@ -2951,8 +2993,8 @@ ./usr/tests/util/sort/t_sort tests-obsolete obsolete ./usr/tests/util/systrace tests-obsolete obsolete ./usr/tests/util/systrace/Atffile tests-obsolete obsolete -./usr/tests/util/systrace/id.policy tests-obsolete obsolete ./usr/tests/util/systrace/h_have_systrace tests-obsolete obsolete +./usr/tests/util/systrace/id.policy tests-obsolete obsolete ./usr/tests/util/systrace/t_id tests-obsolete obsolete ./usr/tests/util/t_basename tests-obsolete obsolete ./usr/tests/util/t_cp tests-obsolete obsolete diff --git a/distrib/sets/lists/tests/module.mi b/distrib/sets/lists/tests/module.mi index 33d2004be..10f42959c 100644 --- a/distrib/sets/lists/tests/module.mi +++ b/distrib/sets/lists/tests/module.mi @@ -1,11 +1,9 @@ -# $NetBSD: module.mi,v 1.10 2012/08/08 14:15:03 christos Exp $ +# $NetBSD: module.mi,v 1.12 2013/02/23 22:01:51 jmmv Exp $ # # These are only made for ports doing modules. # -./usr/libdata/debug/usr/tests/modules/k_helper3.debug tests-sys-debug debug,atf,rump -./usr/libdata/debug/usr/tests/modules/t_builtin.debug tests-sys-debug debug,atf,rump -./usr/libdata/debug/usr/tests/modules/t_modctl.debug tests-sys-debug debug,atf,rump ./usr/tests/modules/Atffile tests-sys-tests atf,rump +./usr/tests/modules/Kyuafile tests-sys-tests atf,rump,kyua ./usr/tests/modules/k_helper tests-sys-tests atf,rump ./usr/tests/modules/k_helper/k_helper.kmod tests-sys-tests atf,rump ./usr/tests/modules/k_helper2 tests-sys-tests atf,rump diff --git a/distrib/sets/lists/tests/shl.mi b/distrib/sets/lists/tests/shl.mi index bcf905c79..787ed1d9b 100644 --- a/distrib/sets/lists/tests/shl.mi +++ b/distrib/sets/lists/tests/shl.mi @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.7 2013/01/16 16:01:08 christos Exp $ +# $NetBSD: shl.mi,v 1.8 2013/08/11 22:29:03 joerg Exp $ # ./usr/tests/lib/csu/h_initfini3_dso.so tests-lib-tests atf ./usr/tests/lib/csu/h_initfini3_dso.so.1 tests-lib-tests atf diff --git a/distrib/sets/lists/text/mi b/distrib/sets/lists/text/mi index 450232b70..dbc6f3d75 100644 --- a/distrib/sets/lists/text/mi +++ b/distrib/sets/lists/text/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.42 2012/02/07 19:13:29 joerg Exp $ +# $NetBSD: mi,v 1.43 2013/07/02 02:15:14 jnemeth Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -22,7 +22,6 @@ ./usr/bin/lkbib text-groff-bin groff ./usr/bin/lookbib text-groff-bin groff ./usr/bin/makeinfo text-texinfo-bin -./usr/bin/mandoc text-mdocml-bin ./usr/bin/neqn text-groff-bin groff ./usr/bin/nroff text-groff-bin groff ./usr/bin/pfbtops text-groff-bin groff @@ -40,7 +39,6 @@ ./usr/bin/troff text-groff-bin groff ./usr/bin/vgrind text-groff-bin ./usr/libexec/vfontedpr text-groff-bin -./usr/sbin/makemandb base-man-bin makemandb ./usr/share/doc/groff text-groff-doc ./usr/share/doc/groff/mom text-groff-doc ./usr/share/doc/groff/mom/README.txt text-groff-doc share,groff diff --git a/distrib/sets/lists/xbase/md.amd64 b/distrib/sets/lists/xbase/md.amd64 index 11a20abce..decadadfd 100644 --- a/distrib/sets/lists/xbase/md.amd64 +++ b/distrib/sets/lists/xbase/md.amd64 @@ -1,5 +1,4 @@ -# $NetBSD: md.amd64,v 1.10 2011/01/20 18:55:38 jmcneill Exp $ -./usr/X11R7/share/pciids/pci.ids -unknown- obsolete +# $NetBSD: md.amd64,v 1.11 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/lib/libI810XvMC.so -unknown- xorg ./usr/X11R7/lib/libI810XvMC.so.1 -unknown- xorg ./usr/X11R7/lib/libI810XvMC.so.1.0 -unknown- xorg @@ -15,3 +14,4 @@ ./usr/X11R7/lib/libdrm_intel.so -unknown- xorg ./usr/X11R7/lib/libdrm_intel.so.0 -unknown- xorg ./usr/X11R7/lib/libdrm_intel.so.0.0 -unknown- xorg +./usr/X11R7/share/pciids/pci.ids -unknown- obsolete diff --git a/distrib/sets/lists/xbase/md.i386 b/distrib/sets/lists/xbase/md.i386 index de2b0be69..3bd76eaf6 100644 --- a/distrib/sets/lists/xbase/md.i386 +++ b/distrib/sets/lists/xbase/md.i386 @@ -1,5 +1,4 @@ -# $NetBSD: md.i386,v 1.26 2011/01/20 18:55:38 jmcneill Exp $ -./usr/X11R7/share/pciids/pci.ids -unknown- obsolete +# $NetBSD: md.i386,v 1.27 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/lib/libI810XvMC.so -unknown- xorg ./usr/X11R7/lib/libI810XvMC.so.1 -unknown- xorg ./usr/X11R7/lib/libI810XvMC.so.1.0 -unknown- xorg @@ -15,3 +14,4 @@ ./usr/X11R7/lib/libdrm_intel.so -unknown- xorg ./usr/X11R7/lib/libdrm_intel.so.0 -unknown- xorg ./usr/X11R7/lib/libdrm_intel.so.0.0 -unknown- xorg +./usr/X11R7/share/pciids/pci.ids -unknown- obsolete diff --git a/distrib/sets/lists/xbase/mi b/distrib/sets/lists/xbase/mi index 7d961c27a..62d09e3f9 100644 --- a/distrib/sets/lists/xbase/mi +++ b/distrib/sets/lists/xbase/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.114 2012/06/13 18:51:36 martin Exp $ +# $NetBSD: mi,v 1.119 2013/08/11 22:29:03 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -1368,8 +1368,10 @@ ./usr/X11R7/bin/fc-cat -unknown- xorg ./usr/X11R7/bin/fc-list -unknown- xorg ./usr/X11R7/bin/fc-match -unknown- xorg +./usr/X11R7/bin/fc-pattern -unknown- xorg ./usr/X11R7/bin/fc-query -unknown- xorg ./usr/X11R7/bin/fc-scan -unknown- xorg +./usr/X11R7/bin/fc-validate -unknown- xorg ./usr/X11R7/bin/fillblnk -unknown- xorg ./usr/X11R7/bin/fonttosfnt -unknown- xorg ./usr/X11R7/bin/fslsfonts -unknown- xorg @@ -1507,16 +1509,14 @@ ./usr/X11R7/include/X11/fonts base-x11-root xorg ./usr/X11R7/include/X11/pixmaps base-x11-root xorg ./usr/X11R7/include/X11/pixmaps/NetBSD-bw.xpm -unknown- xorg -./usr/X11R7/include/X11/pixmaps/NetBSD-inv.xpm -unknown- xorg -./usr/X11R7/include/X11/pixmaps/NetBSD.xpm -unknown- xorg ./usr/X11R7/include/X11/pixmaps/NetBSD-flag.png -unknown- xorg ./usr/X11R7/include/X11/pixmaps/NetBSD-flag1.xpm -unknown- xorg ./usr/X11R7/include/X11/pixmaps/NetBSD-flag2.xpm -unknown- xorg +./usr/X11R7/include/X11/pixmaps/NetBSD-inv.xpm -unknown- xorg +./usr/X11R7/include/X11/pixmaps/NetBSD.xpm -unknown- xorg ./usr/X11R7/include/X11/pixmaps/xorg-bw.xpm -unknown- xorg ./usr/X11R7/include/X11/pixmaps/xorg.xpm -unknown- xorg ./usr/X11R7/include/drm base-x11-root obsolete -./usr/X11R7/include/libdrm base-x11-root xorg -./usr/X11R7/include/libkms base-x11-root xorg ./usr/X11R7/include/fontconfig base-x11-root xorg ./usr/X11R7/include/freetype2 base-x11-root xorg ./usr/X11R7/include/freetype2/freetype base-x11-root xorg @@ -1524,6 +1524,8 @@ ./usr/X11R7/include/freetype2/freetype/config base-x11-root xorg ./usr/X11R7/include/freetype2/freetype/internal base-x11-root xorg ./usr/X11R7/include/freetype2/freetype/internal/services base-x11-root xorg +./usr/X11R7/include/libdrm base-x11-root xorg +./usr/X11R7/include/libkms base-x11-root xorg ./usr/X11R7/include/pixman-1 base-x11-root xorg ./usr/X11R7/include/xcb base-x11-root xorg ./usr/X11R7/include/xorg base-x11-root xorg @@ -1694,18 +1696,18 @@ ./usr/X11R7/lib/X11/locale/ja.JIS/Compose -unknown- xorg ./usr/X11R7/lib/X11/locale/ja.JIS/XI18N_OBJS -unknown- xorg ./usr/X11R7/lib/X11/locale/ja.JIS/XLC_LOCALE -unknown- xorg -./usr/X11R7/lib/X11/locale/ja.S90 base-x11-root xorg -./usr/X11R7/lib/X11/locale/ja.S90/Compose -unknown- xorg -./usr/X11R7/lib/X11/locale/ja.S90/XI18N_OBJS -unknown- xorg -./usr/X11R7/lib/X11/locale/ja.S90/XLC_LOCALE -unknown- xorg +./usr/X11R7/lib/X11/locale/ja.S90 base-x11-obsolete obsolete +./usr/X11R7/lib/X11/locale/ja.S90/Compose -unknown- obsolete +./usr/X11R7/lib/X11/locale/ja.S90/XI18N_OBJS -unknown- obsolete +./usr/X11R7/lib/X11/locale/ja.S90/XLC_LOCALE -unknown- obsolete ./usr/X11R7/lib/X11/locale/ja.SJIS base-x11-root xorg ./usr/X11R7/lib/X11/locale/ja.SJIS/Compose -unknown- xorg ./usr/X11R7/lib/X11/locale/ja.SJIS/XI18N_OBJS -unknown- xorg ./usr/X11R7/lib/X11/locale/ja.SJIS/XLC_LOCALE -unknown- xorg -./usr/X11R7/lib/X11/locale/ja.U90 base-x11-root xorg -./usr/X11R7/lib/X11/locale/ja.U90/Compose -unknown- xorg -./usr/X11R7/lib/X11/locale/ja.U90/XI18N_OBJS -unknown- xorg -./usr/X11R7/lib/X11/locale/ja.U90/XLC_LOCALE -unknown- xorg +./usr/X11R7/lib/X11/locale/ja.U90 base-x11-obsolete obsolete +./usr/X11R7/lib/X11/locale/ja.U90/Compose -unknown- obsolete +./usr/X11R7/lib/X11/locale/ja.U90/XI18N_OBJS -unknown- obsolete +./usr/X11R7/lib/X11/locale/ja.U90/XLC_LOCALE -unknown- obsolete ./usr/X11R7/lib/X11/locale/ja/Compose -unknown- xorg ./usr/X11R7/lib/X11/locale/ja/XI18N_OBJS -unknown- xorg ./usr/X11R7/lib/X11/locale/ja/XLC_LOCALE -unknown- xorg @@ -1858,17 +1860,17 @@ ./usr/X11R7/lib/X11/xkb/compat/basic -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/caps -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/complete -unknown- xorg -./usr/X11R7/lib/X11/xkb/compat/default -unknown- xorg +./usr/X11R7/lib/X11/xkb/compat/default -unknown- obsolete ./usr/X11R7/lib/X11/xkb/compat/iso9995 -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/japan -unknown- xorg -./usr/X11R7/lib/X11/xkb/compat/keypad -unknown- xorg +./usr/X11R7/lib/X11/xkb/compat/keypad -unknown- obsolete ./usr/X11R7/lib/X11/xkb/compat/ledcaps -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/lednum -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/ledscroll -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/level5 -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/misc -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/mousekeys -unknown- xorg -./usr/X11R7/lib/X11/xkb/compat/norepeat -unknown- xorg +./usr/X11R7/lib/X11/xkb/compat/norepeat -unknown- obsolete ./usr/X11R7/lib/X11/xkb/compat/olpc -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/pc -unknown- xorg ./usr/X11R7/lib/X11/xkb/compat/pc98 -unknown- xorg @@ -1936,6 +1938,7 @@ ./usr/X11R7/lib/X11/xkb/keycodes/hp -unknown- xorg ./usr/X11R7/lib/X11/xkb/keycodes/ibm -unknown- xorg ./usr/X11R7/lib/X11/xkb/keycodes/macintosh -unknown- xorg +./usr/X11R7/lib/X11/xkb/keycodes/olpc -unknown- xorg ./usr/X11R7/lib/X11/xkb/keycodes/powerpcps2 -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keycodes/sgi -obsolete- obsolete ./usr/X11R7/lib/X11/xkb/keycodes/sgi/indigo -unknown- obsolete @@ -1949,16 +1952,16 @@ ./usr/X11R7/lib/X11/xkb/keycodes/sun -unknown- xorg ./usr/X11R7/lib/X11/xkb/keycodes/xfree86 -unknown- xorg ./usr/X11R7/lib/X11/xkb/keycodes/xfree98 -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap base-x11-root xorg -./usr/X11R7/lib/X11/xkb/keymap.dir -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/README -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/amiga -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/ataritt -unknown- xorg +./usr/X11R7/lib/X11/xkb/keymap base-x11-root obsolete +./usr/X11R7/lib/X11/xkb/keymap.dir -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/README -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/amiga -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/ataritt -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/digital -obsolete- obsolete ./usr/X11R7/lib/X11/xkb/keymap/digital/us -unknown- obsolete -./usr/X11R7/lib/X11/xkb/keymap/digital_vndr base-x11-root xorg -./usr/X11R7/lib/X11/xkb/keymap/digital_vndr/us -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/macintosh -unknown- xorg +./usr/X11R7/lib/X11/xkb/keymap/digital_vndr base-x11-root obsolete +./usr/X11R7/lib/X11/xkb/keymap/digital_vndr/us -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/macintosh -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sgi -obsolete- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sgi/be -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sgi/bg -unknown- obsolete @@ -1988,31 +1991,31 @@ ./usr/X11R7/lib/X11/xkb/keymap/sgi/sk_qwerty -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sgi/th -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sgi/us -unknown- obsolete -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr base-x11-root xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/be -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/bg -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/ca -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/ch -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/cz -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/de -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/dk -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/dvorak -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/es -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/fi -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/fr -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/gb -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/hu -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/it -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/jp -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/no -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/pl -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/pt -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/ru -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/se -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/sk -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/th -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/us -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sony -unknown- xorg +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr base-x11-root obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/be -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/bg -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/ca -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/ch -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/cz -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/de -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/dk -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/dvorak -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/es -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/fi -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/fr -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/gb -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/hu -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/it -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/jp -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/no -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/pl -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/pt -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/ru -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/se -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/sk -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/th -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sgi_vndr/us -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sony -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sun -obsolete- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sun/de -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sun/es -unknown- obsolete @@ -2024,20 +2027,20 @@ ./usr/X11R7/lib/X11/xkb/keymap/sun/se -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sun/uk -unknown- obsolete ./usr/X11R7/lib/X11/xkb/keymap/sun/us -unknown- obsolete -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr base-x11-root xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/all -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/de -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/es -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/fi -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/fr -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/no -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/pl -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/ru -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/se -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/uk -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/us -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/xfree86 -unknown- xorg -./usr/X11R7/lib/X11/xkb/keymap/xfree98 -unknown- xorg +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr base-x11-root obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/all -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/de -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/es -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/fi -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/fr -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/no -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/pl -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/ru -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/se -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/uk -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/sun_vndr/us -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/xfree86 -unknown- obsolete +./usr/X11R7/lib/X11/xkb/keymap/xfree98 -unknown- obsolete ./usr/X11R7/lib/X11/xkb/rules base-x11-root xorg ./usr/X11R7/lib/X11/xkb/rules/README -unknown- xorg ./usr/X11R7/lib/X11/xkb/rules/base -unknown- xorg @@ -2060,15 +2063,15 @@ ./usr/X11R7/lib/X11/xkb/rules/xorg-it.lst -unknown- obsolete ./usr/X11R7/lib/X11/xkb/rules/xorg.lst -unknown- xorg ./usr/X11R7/lib/X11/xkb/rules/xorg.xml -unknown- xorg -./usr/X11R7/lib/X11/xkb/semantics base-x11-root xorg -./usr/X11R7/lib/X11/xkb/semantics/basic -unknown- xorg -./usr/X11R7/lib/X11/xkb/semantics/complete -unknown- xorg -./usr/X11R7/lib/X11/xkb/semantics/default -unknown- xorg -./usr/X11R7/lib/X11/xkb/semantics/xtest -unknown- xorg +./usr/X11R7/lib/X11/xkb/semantics base-x11-root obsolete +./usr/X11R7/lib/X11/xkb/semantics/basic -unknown- obsolete +./usr/X11R7/lib/X11/xkb/semantics/complete -unknown- obsolete +./usr/X11R7/lib/X11/xkb/semantics/default -unknown- obsolete +./usr/X11R7/lib/X11/xkb/semantics/xtest -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols base-x11-root xorg ./usr/X11R7/lib/X11/xkb/symbols.dir -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/README -unknown- obsolete -./usr/X11R7/lib/X11/xkb/symbols/ad -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/ad -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/af -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/al -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/altwin -unknown- xorg @@ -2085,8 +2088,8 @@ ./usr/X11R7/lib/X11/xkb/symbols/ben -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/bg -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/br -unknown- xorg -./usr/X11R7/lib/X11/xkb/symbols/braille -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/brai -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/braille -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/bs -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/bt -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/bw -unknown- xorg @@ -2121,18 +2124,18 @@ ./usr/X11R7/lib/X11/xkb/symbols/dvorak -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/ee -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/el -unknown- obsolete -./usr/X11R7/lib/X11/xkb/symbols/en_US -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/empty -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/en_US -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/epo -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/es -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/et -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/eurosign -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/extras base-x11-root obsolete ./usr/X11R7/lib/X11/xkb/symbols/extras/apl -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/extras/ir -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/extras/rs -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/extras/ru -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/extras/us -unknown- obsolete -./usr/X11R7/lib/X11/xkb/symbols/eurosign -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/fi -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/fo -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/fr -unknown- xorg @@ -2228,6 +2231,7 @@ ./usr/X11R7/lib/X11/xkb/symbols/macintosh_vndr/se -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/macintosh_vndr/us -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/mao -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/md -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/me -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/mk -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/ml -unknown- xorg @@ -2395,7 +2399,7 @@ ./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/solaris -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/sw -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/tr -unknown- xorg -./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/tuv -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/tuv -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/tw -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/ua -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/sun_vndr/us -unknown- xorg @@ -2413,8 +2417,8 @@ ./usr/X11R7/lib/X11/xkb/symbols/tml -unknown- obsolete ./usr/X11R7/lib/X11/xkb/symbols/tr -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/tr_f -unknown- obsolete -./usr/X11R7/lib/X11/xkb/symbols/typo -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/tw -unknown- xorg +./usr/X11R7/lib/X11/xkb/symbols/typo -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/tz -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/ua -unknown- xorg ./usr/X11R7/lib/X11/xkb/symbols/us -unknown- xorg @@ -2493,8 +2497,10 @@ ./usr/X11R7/man/cat1/fc-cat.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fc-list.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fc-match.0 -unknown- .cat,xorg +./usr/X11R7/man/cat1/fc-pattern.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fc-query.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fc-scan.0 -unknown- .cat,xorg +./usr/X11R7/man/cat1/fc-validate.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fonttosfnt.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fslsfonts.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/fstobdf.0 -unknown- .cat,xorg @@ -2631,8 +2637,10 @@ ./usr/X11R7/man/html1/fc-cat.html -unknown- html,xorg ./usr/X11R7/man/html1/fc-list.html -unknown- html,xorg ./usr/X11R7/man/html1/fc-match.html -unknown- html,xorg +./usr/X11R7/man/html1/fc-pattern.html -unknown- html,xorg ./usr/X11R7/man/html1/fc-query.html -unknown- html,xorg ./usr/X11R7/man/html1/fc-scan.html -unknown- html,xorg +./usr/X11R7/man/html1/fc-validate.html -unknown- html,xorg ./usr/X11R7/man/html1/fonttosfnt.html -unknown- html,xorg ./usr/X11R7/man/html1/fslsfonts.html -unknown- html,xorg ./usr/X11R7/man/html1/fstobdf.html -unknown- html,xorg @@ -2769,8 +2777,10 @@ ./usr/X11R7/man/man1/fc-cat.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fc-list.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fc-match.1 -unknown- .man,xorg +./usr/X11R7/man/man1/fc-pattern.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fc-query.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fc-scan.1 -unknown- .man,xorg +./usr/X11R7/man/man1/fc-validate.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fonttosfnt.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fslsfonts.1 -unknown- .man,xorg ./usr/X11R7/man/man1/fstobdf.1 -unknown- .man,xorg diff --git a/distrib/sets/lists/xbase/shl.mi b/distrib/sets/lists/xbase/shl.mi index aa6bdbd98..26b02e9cd 100644 --- a/distrib/sets/lists/xbase/shl.mi +++ b/distrib/sets/lists/xbase/shl.mi @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.45 2012/02/29 20:07:55 tron Exp $ +# $NetBSD: shl.mi,v 1.53 2013/08/11 22:29:03 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -186,12 +186,12 @@ ./usr/X11R7/lib/libSM.so -unknown- xorg ./usr/X11R7/lib/libSM.so.7 -unknown- xorg ./usr/X11R7/lib/libSM.so.7.0 -unknown- xorg -./usr/X11R7/lib/libX11.so -unknown- xorg -./usr/X11R7/lib/libX11.so.7 -unknown- xorg -./usr/X11R7/lib/libX11.so.7.0 -unknown- xorg ./usr/X11R7/lib/libX11-xcb.so -unknown- xorg ./usr/X11R7/lib/libX11-xcb.so.1 -unknown- xorg ./usr/X11R7/lib/libX11-xcb.so.1.0 -unknown- xorg +./usr/X11R7/lib/libX11.so -unknown- xorg +./usr/X11R7/lib/libX11.so.7 -unknown- xorg +./usr/X11R7/lib/libX11.so.7.0 -unknown- xorg ./usr/X11R7/lib/libXRes.so -unknown- xorg ./usr/X11R7/lib/libXRes.so.2 -unknown- xorg ./usr/X11R7/lib/libXRes.so.2.0 -unknown- xorg @@ -219,6 +219,9 @@ ./usr/X11R7/lib/libXdamage.so -unknown- xorg ./usr/X11R7/lib/libXdamage.so.2 -unknown- xorg ./usr/X11R7/lib/libXdamage.so.2.0 -unknown- xorg +./usr/X11R7/lib/libXdmGreet.so -unknown- xorg +./usr/X11R7/lib/libXdmGreet.so.0 -unknown- xorg +./usr/X11R7/lib/libXdmGreet.so.0.0 -unknown- xorg ./usr/X11R7/lib/libXdmcp.so -unknown- xorg ./usr/X11R7/lib/libXdmcp.so.7 -unknown- xorg ./usr/X11R7/lib/libXdmcp.so.7.0 -unknown- xorg @@ -242,7 +245,7 @@ ./usr/X11R7/lib/libXft.so.3.0 -unknown- xorg ./usr/X11R7/lib/libXi.so -unknown- xorg ./usr/X11R7/lib/libXi.so.7 -unknown- xorg -./usr/X11R7/lib/libXi.so.7.0 -unknown- xorg +./usr/X11R7/lib/libXi.so.7.1 -unknown- xorg ./usr/X11R7/lib/libXinerama.so -unknown- xorg ./usr/X11R7/lib/libXinerama.so.2 -unknown- xorg ./usr/X11R7/lib/libXinerama.so.2.0 -unknown- xorg @@ -266,7 +269,7 @@ ./usr/X11R7/lib/libXprintUtil.so.2.0 -obsolete- obsolete ./usr/X11R7/lib/libXrandr.so -unknown- xorg ./usr/X11R7/lib/libXrandr.so.3 -unknown- xorg -./usr/X11R7/lib/libXrandr.so.3.0 -unknown- xorg +./usr/X11R7/lib/libXrandr.so.3.1 -unknown- xorg ./usr/X11R7/lib/libXrender.so -unknown- xorg ./usr/X11R7/lib/libXrender.so.2 -unknown- xorg ./usr/X11R7/lib/libXrender.so.2.0 -unknown- xorg @@ -311,13 +314,13 @@ ./usr/X11R7/lib/libexpat.so.2.0 -obsolete- obsolete ./usr/X11R7/lib/libfontconfig.so -unknown- xorg ./usr/X11R7/lib/libfontconfig.so.2 -unknown- xorg -./usr/X11R7/lib/libfontconfig.so.2.0 -unknown- xorg +./usr/X11R7/lib/libfontconfig.so.2.2 -unknown- xorg ./usr/X11R7/lib/libfontenc.so -unknown- xorg ./usr/X11R7/lib/libfontenc.so.2 -unknown- xorg ./usr/X11R7/lib/libfontenc.so.2.0 -unknown- xorg ./usr/X11R7/lib/libfreetype.so -unknown- xorg ./usr/X11R7/lib/libfreetype.so.7 -unknown- xorg -./usr/X11R7/lib/libfreetype.so.7.3 -unknown- xorg +./usr/X11R7/lib/libfreetype.so.7.4 -unknown- xorg ./usr/X11R7/lib/libglut.so -unknown- xorg ./usr/X11R7/lib/libglut.so.4 -unknown- xorg ./usr/X11R7/lib/libglut.so.4.0 -unknown- xorg @@ -326,10 +329,10 @@ ./usr/X11R7/lib/liblbxutil.so.2.0 -obsolete- obsolete ./usr/X11R7/lib/libpciaccess.so -unknown- xorg ./usr/X11R7/lib/libpciaccess.so.0 -unknown- xorg -./usr/X11R7/lib/libpciaccess.so.0.2 -unknown- xorg +./usr/X11R7/lib/libpciaccess.so.0.3 -unknown- xorg ./usr/X11R7/lib/libpixman-1.so -unknown- xorg ./usr/X11R7/lib/libpixman-1.so.2 -unknown- xorg -./usr/X11R7/lib/libpixman-1.so.2.1 -unknown- xorg +./usr/X11R7/lib/libpixman-1.so.2.2 -unknown- xorg ./usr/X11R7/lib/libxcb-atom.so -unknown- xorg ./usr/X11R7/lib/libxcb-atom.so.1 -unknown- xorg ./usr/X11R7/lib/libxcb-atom.so.1.0 -unknown- xorg @@ -338,22 +341,22 @@ ./usr/X11R7/lib/libxcb-aux.so.0.0 -unknown- xorg ./usr/X11R7/lib/libxcb-composite.so -unknown- xorg ./usr/X11R7/lib/libxcb-composite.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-composite.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-composite.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-damage.so -unknown- xorg ./usr/X11R7/lib/libxcb-damage.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-damage.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-damage.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-dpms.so -unknown- xorg ./usr/X11R7/lib/libxcb-dpms.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-dpms.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-dpms.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-dri2.so -unknown- xorg ./usr/X11R7/lib/libxcb-dri2.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-dri2.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-dri2.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-event.so -unknown- xorg ./usr/X11R7/lib/libxcb-event.so.1 -unknown- xorg ./usr/X11R7/lib/libxcb-event.so.1.0 -unknown- xorg ./usr/X11R7/lib/libxcb-glx.so -unknown- xorg ./usr/X11R7/lib/libxcb-glx.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-glx.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-glx.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-icccm.so -unknown- xorg ./usr/X11R7/lib/libxcb-icccm.so.1 -unknown- xorg ./usr/X11R7/lib/libxcb-icccm.so.1.0 -unknown- xorg @@ -368,55 +371,55 @@ ./usr/X11R7/lib/libxcb-property.so.1.0 -unknown- xorg ./usr/X11R7/lib/libxcb-randr.so -unknown- xorg ./usr/X11R7/lib/libxcb-randr.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-randr.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-randr.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-record.so -unknown- xorg ./usr/X11R7/lib/libxcb-record.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-record.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-record.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-render-util.so -unknown- xorg ./usr/X11R7/lib/libxcb-render-util.so.0 -unknown- xorg ./usr/X11R7/lib/libxcb-render-util.so.0.0 -unknown- xorg ./usr/X11R7/lib/libxcb-render.so -unknown- xorg ./usr/X11R7/lib/libxcb-render.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-render.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-render.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-reply.so -unknown- xorg ./usr/X11R7/lib/libxcb-reply.so.1 -unknown- xorg ./usr/X11R7/lib/libxcb-reply.so.1.0 -unknown- xorg ./usr/X11R7/lib/libxcb-res.so -unknown- xorg ./usr/X11R7/lib/libxcb-res.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-res.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-res.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-screensaver.so -unknown- xorg ./usr/X11R7/lib/libxcb-screensaver.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-screensaver.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-screensaver.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-shape.so -unknown- xorg ./usr/X11R7/lib/libxcb-shape.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-shape.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-shape.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-shm.so -unknown- xorg ./usr/X11R7/lib/libxcb-shm.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-shm.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-shm.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-sync.so -unknown- xorg ./usr/X11R7/lib/libxcb-sync.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-sync.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-sync.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xevie.so -unknown- xorg ./usr/X11R7/lib/libxcb-xevie.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xevie.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xevie.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xf86dri.so -unknown- xorg ./usr/X11R7/lib/libxcb-xf86dri.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xf86dri.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xf86dri.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xfixes.so -unknown- xorg ./usr/X11R7/lib/libxcb-xfixes.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xfixes.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xfixes.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xinerama.so -unknown- xorg ./usr/X11R7/lib/libxcb-xinerama.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xinerama.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xinerama.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xtest.so -unknown- xorg ./usr/X11R7/lib/libxcb-xtest.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xtest.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xtest.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xv.so -unknown- xorg ./usr/X11R7/lib/libxcb-xv.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xv.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xv.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb-xvmc.so -unknown- xorg ./usr/X11R7/lib/libxcb-xvmc.so.0 -unknown- xorg -./usr/X11R7/lib/libxcb-xvmc.so.0.0 -unknown- xorg +./usr/X11R7/lib/libxcb-xvmc.so.0.1 -unknown- xorg ./usr/X11R7/lib/libxcb.so -unknown- xorg ./usr/X11R7/lib/libxcb.so.1 -unknown- xorg ./usr/X11R7/lib/libxcb.so.1.1 -unknown- xorg diff --git a/distrib/sets/lists/xcomp/md.acorn32 b/distrib/sets/lists/xcomp/md.acorn32 index e70068a93..6df0b05cd 100644 --- a/distrib/sets/lists/xcomp/md.acorn32 +++ b/distrib/sets/lists/xcomp/md.acorn32 @@ -1,3 +1 @@ -# $NetBSD: md.acorn32,v 1.1 2010/03/15 01:17:36 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xarm32VIDC.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +# $NetBSD: md.acorn32,v 1.2 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.alpha b/distrib/sets/lists/xcomp/md.alpha index 81316b80b..5d5a10f6b 100644 --- a/distrib/sets/lists/xcomp/md.alpha +++ b/distrib/sets/lists/xcomp/md.alpha @@ -1,7 +1 @@ -# $NetBSD: md.alpha,v 1.5 2010/03/14 23:19:18 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/XalphaNetBSD.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/XdecNetBSD.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.alpha,v 1.6 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.amd64 b/distrib/sets/lists/xcomp/md.amd64 index 3b0107f2e..2d88de355 100644 --- a/distrib/sets/lists/xcomp/md.amd64 +++ b/distrib/sets/lists/xcomp/md.amd64 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.33 2012/07/24 17:41:50 njoly Exp $ +# $NetBSD: md.amd64,v 1.35 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/include/xf86Optrec.h -unknown- x11 ./usr/X11R6/include/xf86Parser.h -unknown- x11 ./usr/X11R6/man/cat3/XF86VidMode.0 -unknown- .cat,x11 @@ -72,126 +72,21 @@ ./usr/X11R6/man/man4/fpit.4 -unknown- .man,x11 ./usr/X11R7/include/intel_bufmgr.h -unknown- obsolete ./usr/X11R7/lib/libI810XvMC.a -unknown- xorg -./usr/X11R7/lib/libI810XvMC_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libI810XvMC_p.a -unknown- profile,xorg ./usr/X11R7/lib/libI810XvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libIntelXvMC.a -unknown- xorg -./usr/X11R7/lib/libIntelXvMC_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libIntelXvMC_p.a -unknown- profile,xorg ./usr/X11R7/lib/libIntelXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libchromeXvMC.a -unknown- xorg -./usr/X11R7/lib/libchromeXvMC_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/libchromeXvMC_p.a -unknown- profile,xorg -./usr/X11R7/lib/libchromeXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libchromeXvMCPro.a -unknown- xorg -./usr/X11R7/lib/libchromeXvMCPro_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libchromeXvMCPro_p.a -unknown- profile,xorg ./usr/X11R7/lib/libchromeXvMCPro_pic.a -unknown- xorg +./usr/X11R7/lib/libchromeXvMC_p.a -unknown- profile,xorg +./usr/X11R7/lib/libchromeXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libdrm_intel.a -unknown- xorg -./usr/X11R7/lib/libdrm_intel_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libdrm_intel_p.a -unknown- profile,xorg ./usr/X11R7/lib/libdrm_intel_pic.a -unknown- xorg ./usr/X11R7/lib/pkgconfig/libdrm_intel.pc -unknown- xorg -./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/ioport.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/ioport.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xorgconfig.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/libI810XvMC.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libIntelXvMC.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libchromeXvMC.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libchromeXvMCPro.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libdrm_intel.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi810_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi915_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi965_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libs3v_dri.so.0.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsavage_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsis_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtrident_dri.so.0.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libunichrome_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libapm_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libark_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libast_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7017_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7xxx_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_alpine.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_laguna.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi128_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi740_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libintel_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libivch_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libneomagic_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libopenchrome_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeonhd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3virge_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsavage_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsil164_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsis_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtfp410_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtrident_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtseng_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvesa_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmmouse_drv.so.12.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmware_drv.so.11.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmwlegacy_drv.so.11.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvoid_drv.so.1.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libxgi_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete ./usr/libdata/lint/llib-lI810XvMC.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lIntelXvMC.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lchromeXvMC.ln -unknown- lint,xorg diff --git a/distrib/sets/lists/xcomp/md.amiga b/distrib/sets/lists/xcomp/md.amiga index f4580a307..1b1789b68 100644 --- a/distrib/sets/lists/xcomp/md.amiga +++ b/distrib/sets/lists/xcomp/md.amiga @@ -1,3 +1 @@ -# $NetBSD: md.amiga,v 1.3 2010/03/15 07:28:56 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xamiga.debug -unknown- debug -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug +# $NetBSD: md.amiga,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.cats b/distrib/sets/lists/xcomp/md.cats index 296645123..00822ecaf 100644 --- a/distrib/sets/lists/xcomp/md.cats +++ b/distrib/sets/lists/xcomp/md.cats @@ -1,4 +1,4 @@ -# $NetBSD: md.cats,v 1.11 2011/08/03 01:43:25 mrg Exp $ +# $NetBSD: md.cats,v 1.12 2013/01/16 16:01:08 christos Exp $ ./usr/X11R6/include/xf86Optrec.h -unknown- x11 ./usr/X11R6/include/xf86Parser.h -unknown- x11 ./usr/X11R6/man/cat3/XF86VidMode.0 -unknown- .cat,x11 @@ -70,50 +70,3 @@ ./usr/X11R6/man/man3/XF86VidModeSwitchToMode.3 -unknown- .man,x11 ./usr/X11R6/man/man3/XF86VidModeValidateModeLine.3 -unknown- .man,x11 ./usr/X11R6/man/man4/fpit.4 -unknown- .man,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libapm_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libark_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libast_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_alpine.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_laguna.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi128_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi740_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libneomagic_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeonhd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3virge_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsavage_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtrident_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtseng_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvesa_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xcomp/md.dreamcast b/distrib/sets/lists/xcomp/md.dreamcast index c2328485e..c7132aeb9 100644 --- a/distrib/sets/lists/xcomp/md.dreamcast +++ b/distrib/sets/lists/xcomp/md.dreamcast @@ -1,6 +1 @@ -# $NetBSD: md.dreamcast,v 1.2 2010/06/19 18:17:55 tsutsui Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xdreamcast.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.dreamcast,v 1.3 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.evbmips b/distrib/sets/lists/xcomp/md.evbmips index 4fe934915..f3a907ab7 100644 --- a/distrib/sets/lists/xcomp/md.evbmips +++ b/distrib/sets/lists/xcomp/md.evbmips @@ -1,26 +1 @@ -# $NetBSD: md.evbmips,v 1.1 2012/03/21 05:43:09 matt Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xews4800mips.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsis_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +# $NetBSD: md.evbmips,v 1.2 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.ews4800mips b/distrib/sets/lists/xcomp/md.ews4800mips index 42e391ea1..58035ffe6 100644 --- a/distrib/sets/lists/xcomp/md.ews4800mips +++ b/distrib/sets/lists/xcomp/md.ews4800mips @@ -1,6 +1 @@ -# $NetBSD: md.ews4800mips,v 1.1 2011/02/09 13:41:00 tsutsui Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xews4800mips.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.ews4800mips,v 1.2 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.hp300 b/distrib/sets/lists/xcomp/md.hp300 index d82e767db..d20b1196d 100644 --- a/distrib/sets/lists/xcomp/md.hp300 +++ b/distrib/sets/lists/xcomp/md.hp300 @@ -1,4 +1 @@ -# $NetBSD: md.hp300,v 1.3 2011/02/09 13:41:00 tsutsui Exp $ -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.hp300,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.hpcarm b/distrib/sets/lists/xcomp/md.hpcarm index a950378ca..f21f27354 100644 --- a/distrib/sets/lists/xcomp/md.hpcarm +++ b/distrib/sets/lists/xcomp/md.hpcarm @@ -1,6 +1 @@ -# $NetBSD: md.hpcarm,v 1.2 2010/06/18 09:18:16 tsutsui Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xhpc.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.hpcarm,v 1.3 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.hpcmips b/distrib/sets/lists/xcomp/md.hpcmips index b9bf2c593..1b127e87a 100644 --- a/distrib/sets/lists/xcomp/md.hpcmips +++ b/distrib/sets/lists/xcomp/md.hpcmips @@ -1,6 +1 @@ -# $NetBSD: md.hpcmips,v 1.2 2010/06/18 15:55:33 tsutsui Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xhpc.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.hpcmips,v 1.3 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.hpcsh b/distrib/sets/lists/xcomp/md.hpcsh index 53b4bb595..5fac298ed 100644 --- a/distrib/sets/lists/xcomp/md.hpcsh +++ b/distrib/sets/lists/xcomp/md.hpcsh @@ -1,6 +1 @@ -# $NetBSD: md.hpcsh,v 1.3 2010/06/19 18:07:38 tsutsui Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xhpc.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.hpcsh,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.i386 b/distrib/sets/lists/xcomp/md.i386 index e8cc64a38..80b98f517 100644 --- a/distrib/sets/lists/xcomp/md.i386 +++ b/distrib/sets/lists/xcomp/md.i386 @@ -1,4 +1,4 @@ -# $NetBSD: md.i386,v 1.40 2012/07/24 17:41:50 njoly Exp $ +# $NetBSD: md.i386,v 1.42 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/include/xf86Optrec.h -unknown- x11 ./usr/X11R6/include/xf86Parser.h -unknown- x11 ./usr/X11R6/man/cat3/XF86VidMode.0 -unknown- .cat,x11 @@ -72,125 +72,21 @@ ./usr/X11R6/man/man4/fpit.4 -unknown- .man,x11 ./usr/X11R7/include/intel_bufmgr.h -unknown- obsolete ./usr/X11R7/lib/libI810XvMC.a -unknown- xorg -./usr/X11R7/lib/libI810XvMC_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libI810XvMC_p.a -unknown- profile,xorg ./usr/X11R7/lib/libI810XvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libIntelXvMC.a -unknown- xorg -./usr/X11R7/lib/libIntelXvMC_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libIntelXvMC_p.a -unknown- profile,xorg ./usr/X11R7/lib/libIntelXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libchromeXvMC.a -unknown- xorg -./usr/X11R7/lib/libchromeXvMC_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/libchromeXvMC_p.a -unknown- profile,xorg -./usr/X11R7/lib/libchromeXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libchromeXvMCPro.a -unknown- xorg -./usr/X11R7/lib/libchromeXvMCPro_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libchromeXvMCPro_p.a -unknown- profile,xorg ./usr/X11R7/lib/libchromeXvMCPro_pic.a -unknown- xorg +./usr/X11R7/lib/libchromeXvMC_p.a -unknown- profile,xorg +./usr/X11R7/lib/libchromeXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libdrm_intel.a -unknown- xorg -./usr/X11R7/lib/libdrm_intel_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libdrm_intel_p.a -unknown- profile,xorg ./usr/X11R7/lib/libdrm_intel_pic.a -unknown- xorg ./usr/X11R7/lib/pkgconfig/libdrm_intel.pc -unknown- xorg -./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/ioport.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/ioport.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xorgconfig.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/libI810XvMC.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libIntelXvMC.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libchromeXvMC.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libchromeXvMCPro.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libdrm_intel.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi810_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi915_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi965_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libs3v_dri.so.0.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsavage_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsis_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtrident_dri.so.0.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libunichrome_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libapm_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libark_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libast_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7017_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7xxx_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_alpine.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_laguna.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libelographics_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libgeode_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi128_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi740_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libintel_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libivch_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libneomagic_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libopenchrome_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeonhd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3virge_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsavage_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsil164_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsis_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtfp410_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtrident_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtseng_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvesa_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmmouse_drv.so.12.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmware_drv.so.11.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmwlegacy_drv.so.11.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvoid_drv.so.1.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libxgi_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete ./usr/libdata/lint/llib-lI810XvMC.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lIntelXvMC.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lchromeXvMC.ln -unknown- lint,xorg diff --git a/distrib/sets/lists/xcomp/md.luna68k b/distrib/sets/lists/xcomp/md.luna68k index 4af692241..f6b3bbcdf 100644 --- a/distrib/sets/lists/xcomp/md.luna68k +++ b/distrib/sets/lists/xcomp/md.luna68k @@ -1,4 +1 @@ -# $NetBSD: md.luna68k,v 1.1 2011/07/21 10:20:25 tsutsui Exp $ -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.luna68k,v 1.2 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.mac68k b/distrib/sets/lists/xcomp/md.mac68k index 4b2c8fe72..a5c2e8dcb 100644 --- a/distrib/sets/lists/xcomp/md.mac68k +++ b/distrib/sets/lists/xcomp/md.mac68k @@ -1,3 +1 @@ -# $NetBSD: md.mac68k,v 1.3 2010/03/15 02:17:29 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xmac68k.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- x11,debug +# $NetBSD: md.mac68k,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.macppc b/distrib/sets/lists/xcomp/md.macppc index c99696532..2bdfc5694 100644 --- a/distrib/sets/lists/xcomp/md.macppc +++ b/distrib/sets/lists/xcomp/md.macppc @@ -1,4 +1,4 @@ -# $NetBSD: md.macppc,v 1.19 2011/08/03 01:43:25 mrg Exp $ +# $NetBSD: md.macppc,v 1.20 2013/01/16 16:01:08 christos Exp $ ./usr/X11R6/include/X11/extensions/xf86dga.h -unknown- x11 ./usr/X11R6/include/X11/extensions/xf86dga1.h -unknown- x11 ./usr/X11R6/include/X11/extensions/xf86dga1str.h -unknown- x11 @@ -80,58 +80,3 @@ ./usr/X11R7/include/X11/extensions/xf86dga1str.h -unknown- xorg ./usr/X11R7/include/X11/extensions/xf86dgastr.h -unknown- xorg ./usr/X11R7/lib/libXxf86dga.a -unknown- xorg -./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xmacppc.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xcomp/md.netwinder b/distrib/sets/lists/xcomp/md.netwinder index e07aecf89..99001b6c0 100644 --- a/distrib/sets/lists/xcomp/md.netwinder +++ b/distrib/sets/lists/xcomp/md.netwinder @@ -1,21 +1,6 @@ -# $NetBSD: md.netwinder,v 1.7 2010/03/14 23:19:18 mrg Exp $ +# $NetBSD: md.netwinder,v 1.8 2013/01/16 16:01:08 christos Exp $ ./usr/X11R6/include/xf86Optrec.h -unknown- x11 ./usr/X11R6/include/xf86Parser.h -unknown- x11 ./usr/X11R6/man/cat4/fpit.0 -unknown- .cat,x11 ./usr/X11R6/man/html4/fpit.html -unknown- html,x11 ./usr/X11R6/man/man4/fpit.4 -unknown- .man,x11 -./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/ioport.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xorgconfig.debug -unknown- obsolete diff --git a/distrib/sets/lists/xcomp/md.newsmips b/distrib/sets/lists/xcomp/md.newsmips index d7b9ce7a0..1c156fe04 100644 --- a/distrib/sets/lists/xcomp/md.newsmips +++ b/distrib/sets/lists/xcomp/md.newsmips @@ -1,6 +1 @@ -# $NetBSD: md.newsmips,v 1.2 2011/05/21 11:52:29 tsutsui Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xnewsmips.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.newsmips,v 1.3 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.ofppc b/distrib/sets/lists/xcomp/md.ofppc index 9f882b2b7..f9d372e82 100644 --- a/distrib/sets/lists/xcomp/md.ofppc +++ b/distrib/sets/lists/xcomp/md.ofppc @@ -1,49 +1 @@ -# $NetBSD: md.ofppc,v 1.2 2011/12/14 14:18:19 njoly Exp $ -./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- debug,xorg +# $NetBSD: md.ofppc,v 1.3 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.pmax b/distrib/sets/lists/xcomp/md.pmax index 386dfda4f..3e9c97ed3 100644 --- a/distrib/sets/lists/xcomp/md.pmax +++ b/distrib/sets/lists/xcomp/md.pmax @@ -1,3 +1 @@ -# $NetBSD: md.pmax,v 1.3 2010/03/14 08:24:18 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/XdecNetBSD.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +# $NetBSD: md.pmax,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.sgimips b/distrib/sets/lists/xcomp/md.sgimips index e20f8c993..4a9fd42a5 100644 --- a/distrib/sets/lists/xcomp/md.sgimips +++ b/distrib/sets/lists/xcomp/md.sgimips @@ -1,32 +1,3 @@ -# $NetBSD: md.sgimips,v 1.10 2011/08/03 01:43:25 mrg Exp $ +# $NetBSD: md.sgimips,v 1.11 2013/01/16 16:01:08 christos Exp $ ./usr/X11R6/include/xf86Optrec.h -unknown- x11 ./usr/X11R6/include/xf86Parser.h -unknown- x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcrime_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnewport_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xcomp/md.shark b/distrib/sets/lists/xcomp/md.shark index 61271fd5d..3d4dec77d 100644 --- a/distrib/sets/lists/xcomp/md.shark +++ b/distrib/sets/lists/xcomp/md.shark @@ -1,4 +1,4 @@ -# $NetBSD: md.shark,v 1.13 2011/08/03 01:43:25 mrg Exp $ +# $NetBSD: md.shark,v 1.14 2013/01/16 16:01:08 christos Exp $ ./usr/X11R6/include/xf86Optrec.h -unknown- x11 ./usr/X11R6/include/xf86Parser.h -unknown- x11 ./usr/X11R6/man/cat3/XF86VidMode.0 -unknown- .cat,x11 @@ -70,34 +70,3 @@ ./usr/X11R6/man/man3/XF86VidModeSwitchToMode.3 -unknown- .man,x11 ./usr/X11R6/man/man3/XF86VidModeValidateModeLine.3 -unknown- .man,x11 ./usr/X11R6/man/man4/fpit.4 -unknown- .man,x11 -./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libigs_drv.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xcomp/md.sparc b/distrib/sets/lists/xcomp/md.sparc index 0ac476f15..5946283f2 100644 --- a/distrib/sets/lists/xcomp/md.sparc +++ b/distrib/sets/lists/xcomp/md.sparc @@ -1,47 +1 @@ -# $NetBSD: md.sparc,v 1.11 2012/02/14 17:29:51 njoly Exp $ -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libag10e_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libpnozz_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuncg14_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuncg6_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunffb_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunleo_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuntcx_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +# $NetBSD: md.sparc,v 1.12 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.sparc64 b/distrib/sets/lists/xcomp/md.sparc64 index 5a5978469..58bcede15 100644 --- a/distrib/sets/lists/xcomp/md.sparc64 +++ b/distrib/sets/lists/xcomp/md.sparc64 @@ -1,4 +1,4 @@ -# $NetBSD: md.sparc64,v 1.12 2011/08/03 01:43:25 mrg Exp $ +# $NetBSD: md.sparc64,v 1.13 2013/01/16 16:01:08 christos Exp $ ./usr/X11R6/include/X11/extensions/dpms.h -unknown- x11 ./usr/X11R6/include/X11/extensions/dpmsstr.h -unknown- x11 ./usr/X11R6/include/X11/extensions/xf86misc.h -unknown- x11 @@ -10,48 +10,3 @@ ./usr/X11R7/include/X11/extensions/xf86dga1str.h -unknown- xorg ./usr/X11R7/include/X11/extensions/xf86dgastr.h -unknown- xorg ./usr/X11R7/lib/libXxf86dga.a -unknown- xorg -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libag10e_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuncg6_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunffb_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunleo_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvoid_drv.so.1.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xcomp/md.sun3 b/distrib/sets/lists/xcomp/md.sun3 index 2a6aa077d..b67824fd4 100644 --- a/distrib/sets/lists/xcomp/md.sun3 +++ b/distrib/sets/lists/xcomp/md.sun3 @@ -1,6 +1 @@ -# $NetBSD: md.sun3,v 1.3 2010/03/16 01:48:53 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/Xsun.debug -unknown- debug -./usr/libdata/debug/usr/X11R6/bin/XsunMono.debug -unknown- debug -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug -./usr/libdata/debug/usr/X11R6/bin/constype.debug -unknown- debug -./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug +# $NetBSD: md.sun3,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.vax b/distrib/sets/lists/xcomp/md.vax index 80d48d596..2a657876b 100644 --- a/distrib/sets/lists/xcomp/md.vax +++ b/distrib/sets/lists/xcomp/md.vax @@ -1,22 +1 @@ -# $NetBSD: md.vax,v 1.3 2012/07/16 18:19:04 matt Exp $ -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- debug,xorg +# $NetBSD: md.vax,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.x68k b/distrib/sets/lists/xcomp/md.x68k index d1827aae1..00f49d48f 100644 --- a/distrib/sets/lists/xcomp/md.x68k +++ b/distrib/sets/lists/xcomp/md.x68k @@ -1,3 +1 @@ -# $NetBSD: md.x68k,v 1.3 2010/03/16 01:48:53 mrg Exp $ -./usr/libdata/debug/usr/X11R6/bin/X68k.debug -unknown- debug -./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug +# $NetBSD: md.x68k,v 1.4 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/md.zaurus b/distrib/sets/lists/xcomp/md.zaurus index 1748893a0..7c5ca572b 100644 --- a/distrib/sets/lists/xcomp/md.zaurus +++ b/distrib/sets/lists/xcomp/md.zaurus @@ -1,4 +1 @@ -# $NetBSD: md.zaurus,v 1.1 2010/03/14 23:19:18 mrg Exp $ -./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +# $NetBSD: md.zaurus,v 1.2 2013/01/16 16:01:08 christos Exp $ diff --git a/distrib/sets/lists/xcomp/mi b/distrib/sets/lists/xcomp/mi index b6f30a0c3..4354afebd 100644 --- a/distrib/sets/lists/xcomp/mi +++ b/distrib/sets/lists/xcomp/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.134 2012/02/29 20:07:55 tron Exp $ +# $NetBSD: mi,v 1.144 2013/08/11 22:29:03 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -540,145 +540,98 @@ ./usr/X11R6/lib/X11/config/xf86site.def -unknown- x11 ./usr/X11R6/lib/X11/config/xfree86.cf -unknown- x11 ./usr/X11R6/lib/libFS.a -unknown- x11 -./usr/X11R6/lib/libFS_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libFS_p.a -unknown- profile,x11 ./usr/X11R6/lib/libGL.a -unknown- x11 ./usr/X11R6/lib/libGLU.a -unknown- x11 -./usr/X11R6/lib/libGLU_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libGLU_p.a -unknown- profile,x11 -./usr/X11R6/lib/libGL_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libGL_p.a -unknown- profile,x11 ./usr/X11R6/lib/libGLw.a -unknown- x11 -./usr/X11R6/lib/libGLw_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libGLw_p.a -unknown- profile,x11 ./usr/X11R6/lib/libICE.a -unknown- x11 -./usr/X11R6/lib/libICE_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libICE_p.a -unknown- profile,x11 ./usr/X11R6/lib/libOSMesa.a -unknown- x11 -./usr/X11R6/lib/libOSMesa_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libOSMesa_p.a -unknown- profile,x11 ./usr/X11R6/lib/libSM.a -unknown- x11 -./usr/X11R6/lib/libSM_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libSM_p.a -unknown- profile,x11 ./usr/X11R6/lib/libX11.a -unknown- x11 -./usr/X11R6/lib/libX11_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libX11_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXRes.a -unknown- x11 -./usr/X11R6/lib/libXRes_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXRes_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXTrap.a -unknown- x11 -./usr/X11R6/lib/libXTrap_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXTrap_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXau.a -unknown- x11 -./usr/X11R6/lib/libXau_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXau_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXaw.a -unknown- x11 -./usr/X11R6/lib/libXaw_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXaw_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXcursor.a -unknown- x11 -./usr/X11R6/lib/libXcursor_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXcursor_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXdmcp.a -unknown- x11 -./usr/X11R6/lib/libXdmcp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXdmcp_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXext.a -unknown- x11 -./usr/X11R6/lib/libXext_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXext_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXfont.a -unknown- x11 -./usr/X11R6/lib/libXfont_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXfont_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXfontcache.a -unknown- x11 -./usr/X11R6/lib/libXfontcache_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXfontcache_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXft.a -unknown- x11 -./usr/X11R6/lib/libXft_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXft_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXi.a -unknown- x11 -./usr/X11R6/lib/libXi_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXi_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXinerama.a -unknown- x11 -./usr/X11R6/lib/libXinerama_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXinerama_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXmu.a -unknown- x11 -./usr/X11R6/lib/libXmu_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXmu_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXmuu.a -unknown- x11 -./usr/X11R6/lib/libXmuu_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXmuu_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXp.a -unknown- x11 -./usr/X11R6/lib/libXp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXp_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXpm.a -unknown- x11 -./usr/X11R6/lib/libXpm_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXpm_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXrandr.a -unknown- x11 -./usr/X11R6/lib/libXrandr_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXrandr_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXrender.a -unknown- x11 -./usr/X11R6/lib/libXrender_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXrender_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXss.a -unknown- x11 -./usr/X11R6/lib/libXss_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXss_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXt.a -unknown- x11 -./usr/X11R6/lib/libXt_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXt_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXtst.a -unknown- x11 -./usr/X11R6/lib/libXtst_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXtst_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXv.a -unknown- x11 ./usr/X11R6/lib/libXvMC.a -unknown- x11 -./usr/X11R6/lib/libXvMC_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXvMC_p.a -unknown- profile,x11 -./usr/X11R6/lib/libXv_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXv_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXxf86dga.a -unknown- x11 -./usr/X11R6/lib/libXxf86dga_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXxf86dga_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXxf86misc.a -unknown- x11 -./usr/X11R6/lib/libXxf86misc_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXxf86misc_p.a -unknown- profile,x11 ./usr/X11R6/lib/libXxf86vm.a -unknown- x11 -./usr/X11R6/lib/libXxf86vm_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libXxf86vm_p.a -unknown- profile,x11 ./usr/X11R6/lib/libdmx.a -unknown- x11 -./usr/X11R6/lib/libdmx_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libdmx_p.a -unknown- profile,x11 ./usr/X11R6/lib/libdps.a -unknown- x11 -./usr/X11R6/lib/libdps_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libdps_p.a -unknown- profile,x11 ./usr/X11R6/lib/libdpstk.a -unknown- x11 -./usr/X11R6/lib/libdpstk_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libdpstk_p.a -unknown- profile,x11 ./usr/X11R6/lib/libexpat.a -obsolete- obsolete -./usr/X11R6/lib/libexpat_g.a -obsolete- obsolete ./usr/X11R6/lib/libexpat_p.a -obsolete- obsolete ./usr/X11R6/lib/libfntstubs.a -unknown- x11 -./usr/X11R6/lib/libfntstubs_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libfntstubs_p.a -unknown- profile,x11 ./usr/X11R6/lib/libfontconfig.a -unknown- x11 -./usr/X11R6/lib/libfontconfig_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libfontconfig_p.a -unknown- profile,x11 ./usr/X11R6/lib/libfontenc.a -unknown- x11 -./usr/X11R6/lib/libfontenc_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libfontenc_p.a -unknown- profile,x11 ./usr/X11R6/lib/libfreetype.a -unknown- x11 -./usr/X11R6/lib/libfreetype_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libfreetype_p.a -unknown- profile,x11 ./usr/X11R6/lib/liblbxutil.a -unknown- x11 -./usr/X11R6/lib/liblbxutil_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/liblbxutil_p.a -unknown- profile,x11 ./usr/X11R6/lib/liboldX.a -unknown- x11 -./usr/X11R6/lib/liboldX_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/liboldX_p.a -unknown- profile,x11 ./usr/X11R6/lib/libpsres.a -unknown- x11 -./usr/X11R6/lib/libpsres_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libpsres_p.a -unknown- profile,x11 ./usr/X11R6/lib/libxkbfile.a -unknown- x11 -./usr/X11R6/lib/libxkbfile_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libxkbfile_p.a -unknown- profile,x11 ./usr/X11R6/lib/libxkbui.a -unknown- x11 -./usr/X11R6/lib/libxkbui_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/libxkbui_p.a -unknown- profile,x11 ./usr/X11R6/lib/pkgconfig/fontconfig.pc -unknown- x11 ./usr/X11R6/lib/pkgconfig/xcursor.pc -unknown- x11 @@ -5708,11 +5661,13 @@ ./usr/X11R7/include/freetype2/freetype/config/ftstdlib.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/freetype.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftadvanc.h -unknown- xorg +./usr/X11R7/include/freetype2/freetype/ftautoh.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftbbox.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftbdf.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftbitmap.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftbzip2.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftcache.h -unknown- xorg +./usr/X11R7/include/freetype2/freetype/ftcffdrv.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftchapters.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftcid.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/fterrdef.h -unknown- xorg @@ -5743,35 +5698,35 @@ ./usr/X11R7/include/freetype2/freetype/fttypes.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftwinfnt.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ftxf86.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/autohint.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftcalc.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftdebug.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftdriver.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftgloadr.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftmemory.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftobjs.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftrfork.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftserv.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/ftstream.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/fttrace.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/internal.h -unknown- xorg +./usr/X11R7/include/freetype2/freetype/internal/autohint.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftcalc.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftdebug.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftdriver.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftgloadr.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftmemory.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftobjs.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftrfork.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftserv.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/ftstream.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/fttrace.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/internal.h -unknown- obsolete ./usr/X11R7/include/freetype2/freetype/internal/pcftypes.h -unknown- obsolete -./usr/X11R7/include/freetype2/freetype/internal/psaux.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/pshints.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svbdf.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svgldict.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svmm.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svpfr.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svpostnm.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svpscmap.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svpsinfo.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svsfnt.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svttcmap.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svwinfnt.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/services/svxf86nm.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/sfnt.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/t1types.h -unknown- xorg -./usr/X11R7/include/freetype2/freetype/internal/tttypes.h -unknown- xorg +./usr/X11R7/include/freetype2/freetype/internal/psaux.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/pshints.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svbdf.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svgldict.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svmm.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svpfr.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svpostnm.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svpscmap.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svpsinfo.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svsfnt.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svttcmap.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svwinfnt.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/services/svxf86nm.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/sfnt.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/t1types.h -unknown- obsolete +./usr/X11R7/include/freetype2/freetype/internal/tttypes.h -unknown- obsolete ./usr/X11R7/include/freetype2/freetype/t1tables.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/ttnameid.h -unknown- xorg ./usr/X11R7/include/freetype2/freetype/tttables.h -unknown- xorg @@ -5979,6 +5934,7 @@ ./usr/X11R7/include/xorg/xaarop.h -unknown- xorg ./usr/X11R7/include/xorg/xf1bpp.h -unknown- obsolete ./usr/X11R7/include/xorg/xf4bpp.h -unknown- obsolete +./usr/X11R7/include/xorg/xf86-mouse-properties.h -unknown- xorg,xorg_server ./usr/X11R7/include/xorg/xf86.h -unknown- xorg ./usr/X11R7/include/xorg/xf86Crtc.h -unknown- xorg ./usr/X11R7/include/xorg/xf86Cursor.h -unknown- xorg @@ -6135,274 +6091,186 @@ ./usr/X11R7/lib/X11/config/xorgsite.def -unknown- xorg ./usr/X11R7/lib/X11/config/xorgversion.def -unknown- xorg ./usr/X11R7/lib/libFS.a -unknown- xorg -./usr/X11R7/lib/libFS_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libFS_p.a -unknown- profile,xorg ./usr/X11R7/lib/libGL.a -unknown- xorg ./usr/X11R7/lib/libGLU.a -unknown- xorg -./usr/X11R7/lib/libGLU_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libGLU_p.a -unknown- profile,xorg -./usr/X11R7/lib/libGL_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libGL_p.a -unknown- profile,xorg ./usr/X11R7/lib/libGLw.a -unknown- xorg -./usr/X11R7/lib/libGLw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libGLw_p.a -unknown- profile,xorg ./usr/X11R7/lib/libICE.a -unknown- xorg -./usr/X11R7/lib/libICE_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libICE_p.a -unknown- profile,xorg ./usr/X11R7/lib/libOSMesa.a -unknown- xorg -./usr/X11R7/lib/libOSMesa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libOSMesa_p.a -unknown- profile,xorg ./usr/X11R7/lib/libSM.a -unknown- xorg -./usr/X11R7/lib/libSM_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libSM_p.a -unknown- profile,xorg ./usr/X11R7/lib/libX11-xcb.a -unknown- xorg -./usr/X11R7/lib/libX11-xcb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libX11-xcb_p.a -unknown- profile,xorg ./usr/X11R7/lib/libX11.a -unknown- xorg -./usr/X11R7/lib/libX11_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libX11_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXRes.a -unknown- xorg -./usr/X11R7/lib/libXRes_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXRes_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXTrap.a -unknown- xorg -./usr/X11R7/lib/libXTrap_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXTrap_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXau.a -unknown- xorg -./usr/X11R7/lib/libXau_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXau_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXaw.a -unknown- xorg -./usr/X11R7/lib/libXaw6_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXaw7.a -unknown- xorg -./usr/X11R7/lib/libXaw7_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXaw7_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXaw8.a -obsolete- obsolete -./usr/X11R7/lib/libXaw8_g.a -obsolete- obsolete ./usr/X11R7/lib/libXaw8_p.a -obsolete- obsolete ./usr/X11R7/lib/libXaw_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXcomposite.a -unknown- xorg -./usr/X11R7/lib/libXcomposite_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXcomposite_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXcursor.a -unknown- xorg -./usr/X11R7/lib/libXcursor_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXcursor_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXdamage.a -unknown- xorg -./usr/X11R7/lib/libXdamage_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXdamage_p.a -unknown- profile,xorg +./usr/X11R7/lib/libXdmGreet.a -unknown- xorg +./usr/X11R7/lib/libXdmGreet_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXdmcp.a -unknown- xorg -./usr/X11R7/lib/libXdmcp_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXdmcp_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXevie.a -unknown- xorg -./usr/X11R7/lib/libXevie_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXevie_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXext.a -unknown- xorg -./usr/X11R7/lib/libXext_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXext_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXfixes.a -unknown- xorg -./usr/X11R7/lib/libXfixes_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXfixes_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXfont.a -unknown- xorg -./usr/X11R7/lib/libXfont_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXfont_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXfontcache.a -unknown- xorg -./usr/X11R7/lib/libXfontcache_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXfontcache_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXft.a -unknown- xorg -./usr/X11R7/lib/libXft_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXft_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXi.a -unknown- xorg -./usr/X11R7/lib/libXi_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXi_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXinerama.a -unknown- xorg -./usr/X11R7/lib/libXinerama_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXinerama_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXmu.a -unknown- xorg -./usr/X11R7/lib/libXmu_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXmu_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXmuu.a -unknown- xorg -./usr/X11R7/lib/libXmuu_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXmuu_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXp.a -obsolete- obsolete -./usr/X11R7/lib/libXp_g.a -obsolete- obsolete ./usr/X11R7/lib/libXp_p.a -obsolete- obsolete ./usr/X11R7/lib/libXpm.a -unknown- xorg -./usr/X11R7/lib/libXpm_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXpm_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXprintAppUtil.a -obsolete- obsolete -./usr/X11R7/lib/libXprintAppUtil_g.a -obsolete- obsolete ./usr/X11R7/lib/libXprintAppUtil_p.a -obsolete- obsolete ./usr/X11R7/lib/libXprintUtil.a -obsolete- obsolete -./usr/X11R7/lib/libXprintUtil_g.a -obsolete- obsolete ./usr/X11R7/lib/libXprintUtil_p.a -obsolete- obsolete ./usr/X11R7/lib/libXrandr.a -unknown- xorg -./usr/X11R7/lib/libXrandr_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXrandr_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXrender.a -unknown- xorg -./usr/X11R7/lib/libXrender_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXrender_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXres.a -obsolete- obsolete -./usr/X11R7/lib/libXres_g.a -obsolete- obsolete ./usr/X11R7/lib/libXres_p.a -obsolete- obsolete ./usr/X11R7/lib/libXss.a -unknown- xorg -./usr/X11R7/lib/libXss_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXss_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXt.a -unknown- xorg -./usr/X11R7/lib/libXt_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXt_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXtst.a -unknown- xorg -./usr/X11R7/lib/libXtst_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXtst_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXv.a -unknown- xorg ./usr/X11R7/lib/libXvMC.a -unknown- xorg ./usr/X11R7/lib/libXvMCW.a -unknown- xorg -./usr/X11R7/lib/libXvMCW_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXvMCW_p.a -unknown- profile,xorg -./usr/X11R7/lib/libXvMC_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXvMC_p.a -unknown- profile,xorg -./usr/X11R7/lib/libXv_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXv_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXxf86dga.a -unknown- xorg -./usr/X11R7/lib/libXxf86dga_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXxf86dga_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXxf86misc.a -unknown- xorg -./usr/X11R7/lib/libXxf86misc_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXxf86misc_p.a -unknown- profile,xorg ./usr/X11R7/lib/libXxf86vm.a -unknown- xorg -./usr/X11R7/lib/libXxf86vm_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libXxf86vm_p.a -unknown- profile,xorg ./usr/X11R7/lib/libdrm.a -unknown- xorg -./usr/X11R7/lib/libdrm_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libdrm_p.a -unknown- profile,xorg ./usr/X11R7/lib/libdrm_radeon.a -unknown- xorg -./usr/X11R7/lib/libdrm_radeon_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libdrm_radeon_p.a -unknown- profile,xorg ./usr/X11R7/lib/libexpat.a -unknown- obsolete -./usr/X11R7/lib/libexpat_g.a -unknown- obsolete ./usr/X11R7/lib/libexpat_p.a -unknown- obsolete ./usr/X11R7/lib/libfontconfig.a -unknown- xorg -./usr/X11R7/lib/libfontconfig_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libfontconfig_p.a -unknown- profile,xorg ./usr/X11R7/lib/libfontenc.a -unknown- xorg -./usr/X11R7/lib/libfontenc_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libfontenc_p.a -unknown- profile,xorg ./usr/X11R7/lib/libfreetype.a -unknown- xorg -./usr/X11R7/lib/libfreetype_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libfreetype_p.a -unknown- profile,xorg ./usr/X11R7/lib/libglut.a -unknown- xorg -./usr/X11R7/lib/libglut_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libglut_p.a -unknown- profile,xorg ./usr/X11R7/lib/liblbxutil.a -obsolete- obsolete -./usr/X11R7/lib/liblbxutil_g.a -obsolete- obsolete ./usr/X11R7/lib/liblbxutil_p.a -obsolete- obsolete ./usr/X11R7/lib/liblisp.a -unknown- xorg -./usr/X11R7/lib/liblisp_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/liblisp_p.a -unknown- profile,xorg ./usr/X11R7/lib/libmp.a -unknown- xorg -./usr/X11R7/lib/libmp_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libmp_p.a -unknown- profile,xorg ./usr/X11R7/lib/libpciaccess.a -unknown- xorg -./usr/X11R7/lib/libpciaccess_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libpciaccess_p.a -unknown- profile,xorg ./usr/X11R7/lib/libpixman-1.a -unknown- xorg -./usr/X11R7/lib/libpixman-1_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libpixman-1_p.a -unknown- profile,xorg ./usr/X11R7/lib/libre.a -unknown- xorg -./usr/X11R7/lib/libre_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libre_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-atom.a -unknown- xorg -./usr/X11R7/lib/libxcb-atom_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-atom_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-aux.a -unknown- xorg -./usr/X11R7/lib/libxcb-aux_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-aux_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-composite.a -unknown- xorg -./usr/X11R7/lib/libxcb-composite_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-composite_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-damage.a -unknown- xorg -./usr/X11R7/lib/libxcb-damage_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-damage_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-dpms.a -unknown- xorg -./usr/X11R7/lib/libxcb-dpms_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-dpms_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-dri2.a -unknown- xorg -./usr/X11R7/lib/libxcb-dri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-dri2_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-event.a -unknown- xorg -./usr/X11R7/lib/libxcb-event_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-event_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-glx.a -unknown- xorg -./usr/X11R7/lib/libxcb-glx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-glx_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-icccm.a -unknown- xorg -./usr/X11R7/lib/libxcb-icccm_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-icccm_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-image.a -unknown- xorg -./usr/X11R7/lib/libxcb-image_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-image_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-keysyms.a -unknown- xorg -./usr/X11R7/lib/libxcb-keysyms_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-keysyms_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-property.a -unknown- xorg -./usr/X11R7/lib/libxcb-property_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-property_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-randr.a -unknown- xorg -./usr/X11R7/lib/libxcb-randr_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-randr_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-record.a -unknown- xorg -./usr/X11R7/lib/libxcb-record_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-record_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-render-util.a -unknown- xorg -./usr/X11R7/lib/libxcb-render-util_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-render-util_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-render.a -unknown- xorg -./usr/X11R7/lib/libxcb-render_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-render_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-reply.a -unknown- xorg -./usr/X11R7/lib/libxcb-reply_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-reply_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-res.a -unknown- xorg -./usr/X11R7/lib/libxcb-res_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-res_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-screensaver.a -unknown- xorg -./usr/X11R7/lib/libxcb-screensaver_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-screensaver_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-shape.a -unknown- xorg -./usr/X11R7/lib/libxcb-shape_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-shape_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-shm.a -unknown- xorg -./usr/X11R7/lib/libxcb-shm_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-shm_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-sync.a -unknown- xorg -./usr/X11R7/lib/libxcb-sync_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-sync_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xevie.a -unknown- xorg -./usr/X11R7/lib/libxcb-xevie_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xevie_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xf86dri.a -unknown- xorg -./usr/X11R7/lib/libxcb-xf86dri_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xf86dri_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xfixes.a -unknown- xorg -./usr/X11R7/lib/libxcb-xfixes_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xfixes_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xinerama.a -unknown- xorg -./usr/X11R7/lib/libxcb-xinerama_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xinerama_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xtest.a -unknown- xorg -./usr/X11R7/lib/libxcb-xtest_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xtest_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xv.a -unknown- xorg -./usr/X11R7/lib/libxcb-xv_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xv_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb-xvmc.a -unknown- xorg -./usr/X11R7/lib/libxcb-xvmc_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb-xvmc_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxcb.a -unknown- xorg -./usr/X11R7/lib/libxcb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxcb_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxkbfile.a -unknown- xorg -./usr/X11R7/lib/libxkbfile_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxkbfile_p.a -unknown- profile,xorg ./usr/X11R7/lib/libxkbui.a -unknown- xorg -./usr/X11R7/lib/libxkbui_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/libxkbui_p.a -unknown- profile,xorg ./usr/X11R7/lib/pkgconfig/bigreqsproto.pc -unknown- xorg ./usr/X11R7/lib/pkgconfig/compositeproto.pc -unknown- xorg @@ -6503,6 +6371,7 @@ ./usr/X11R7/lib/pkgconfig/xkeyboard-config.pc -unknown- xorg ./usr/X11R7/lib/pkgconfig/xmu.pc -unknown- xorg ./usr/X11R7/lib/pkgconfig/xmuu.pc -unknown- xorg +./usr/X11R7/lib/pkgconfig/xorg-mouse.pc -unknown- xorg,xorg_server ./usr/X11R7/lib/pkgconfig/xorg-server.pc -unknown- xorg ./usr/X11R7/lib/pkgconfig/xp.pc -obsolete- obsolete ./usr/X11R7/lib/pkgconfig/xpm.pc -unknown- xorg @@ -6551,6 +6420,7 @@ ./usr/X11R7/man/cat3/FcBlanksDestroy.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcBlanksIsMember.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCacheCopySet.0 -unknown- .cat,xorg +./usr/X11R7/man/cat3/FcCacheCreateTagFile.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCacheDir.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCacheNumFont.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCacheNumSubdir.0 -unknown- .cat,xorg @@ -6560,6 +6430,7 @@ ./usr/X11R7/man/cat3/FcCharSetCount.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCharSetCoverage.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCharSetCreate.0 -unknown- .cat,xorg +./usr/X11R7/man/cat3/FcCharSetDelChar.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCharSetDestroy.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCharSetEqual.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcCharSetFirstPage.0 -unknown- .cat,xorg @@ -6625,6 +6496,7 @@ ./usr/X11R7/man/cat3/FcFreeTypeCharSetAndSpacing.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcFreeTypeQuery.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcFreeTypeQueryFace.0 -unknown- .cat,xorg +./usr/X11R7/man/cat3/FcGetDefaultLangs.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcGetLangs.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcGetVersion.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcInit.0 -unknown- .cat,xorg @@ -6640,10 +6512,13 @@ ./usr/X11R7/man/cat3/FcLangSetContains.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcLangSetCopy.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcLangSetCreate.0 -unknown- .cat,xorg +./usr/X11R7/man/cat3/FcLangSetDel.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcLangSetDestroy.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcLangSetEqual.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcLangSetHasLang.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcLangSetHash.0 -unknown- .cat,xorg +./usr/X11R7/man/cat3/FcLangSetSubtract.0 -unknown- .cat,xorg +./usr/X11R7/man/cat3/FcLangSetUnion.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcMatrixCopy.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcMatrixEqual.0 -unknown- .cat,xorg ./usr/X11R7/man/cat3/FcMatrixInit.0 -unknown- .cat,xorg @@ -7455,6 +7330,7 @@ ./usr/X11R7/man/html3/FcBlanksDestroy.html -unknown- html,xorg ./usr/X11R7/man/html3/FcBlanksIsMember.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCacheCopySet.html -unknown- html,xorg +./usr/X11R7/man/html3/FcCacheCreateTagFile.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCacheDir.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCacheNumFont.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCacheNumSubdir.html -unknown- html,xorg @@ -7464,6 +7340,7 @@ ./usr/X11R7/man/html3/FcCharSetCount.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCharSetCoverage.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCharSetCreate.html -unknown- html,xorg +./usr/X11R7/man/html3/FcCharSetDelChar.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCharSetDestroy.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCharSetEqual.html -unknown- html,xorg ./usr/X11R7/man/html3/FcCharSetFirstPage.html -unknown- html,xorg @@ -7529,6 +7406,7 @@ ./usr/X11R7/man/html3/FcFreeTypeCharSetAndSpacing.html -unknown- html,xorg ./usr/X11R7/man/html3/FcFreeTypeQuery.html -unknown- html,xorg ./usr/X11R7/man/html3/FcFreeTypeQueryFace.html -unknown- html,xorg +./usr/X11R7/man/html3/FcGetDefaultLangs.html -unknown- html,xorg ./usr/X11R7/man/html3/FcGetLangs.html -unknown- html,xorg ./usr/X11R7/man/html3/FcGetVersion.html -unknown- html,xorg ./usr/X11R7/man/html3/FcInit.html -unknown- html,xorg @@ -7544,10 +7422,13 @@ ./usr/X11R7/man/html3/FcLangSetContains.html -unknown- html,xorg ./usr/X11R7/man/html3/FcLangSetCopy.html -unknown- html,xorg ./usr/X11R7/man/html3/FcLangSetCreate.html -unknown- html,xorg +./usr/X11R7/man/html3/FcLangSetDel.html -unknown- html,xorg ./usr/X11R7/man/html3/FcLangSetDestroy.html -unknown- html,xorg ./usr/X11R7/man/html3/FcLangSetEqual.html -unknown- html,xorg ./usr/X11R7/man/html3/FcLangSetHasLang.html -unknown- html,xorg ./usr/X11R7/man/html3/FcLangSetHash.html -unknown- html,xorg +./usr/X11R7/man/html3/FcLangSetSubtract.html -unknown- html,xorg +./usr/X11R7/man/html3/FcLangSetUnion.html -unknown- html,xorg ./usr/X11R7/man/html3/FcMatrixCopy.html -unknown- html,xorg ./usr/X11R7/man/html3/FcMatrixEqual.html -unknown- html,xorg ./usr/X11R7/man/html3/FcMatrixInit.html -unknown- html,xorg @@ -8358,6 +8239,7 @@ ./usr/X11R7/man/man3/FcBlanksDestroy.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcBlanksIsMember.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCacheCopySet.3 -unknown- .man,xorg +./usr/X11R7/man/man3/FcCacheCreateTagFile.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCacheDir.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCacheNumFont.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCacheNumSubdir.3 -unknown- .man,xorg @@ -8367,6 +8249,7 @@ ./usr/X11R7/man/man3/FcCharSetCount.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCharSetCoverage.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCharSetCreate.3 -unknown- .man,xorg +./usr/X11R7/man/man3/FcCharSetDelChar.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCharSetDestroy.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCharSetEqual.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcCharSetFirstPage.3 -unknown- .man,xorg @@ -8432,6 +8315,7 @@ ./usr/X11R7/man/man3/FcFreeTypeCharSetAndSpacing.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcFreeTypeQuery.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcFreeTypeQueryFace.3 -unknown- .man,xorg +./usr/X11R7/man/man3/FcGetDefaultLangs.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcGetLangs.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcGetVersion.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcInit.3 -unknown- .man,xorg @@ -8447,10 +8331,13 @@ ./usr/X11R7/man/man3/FcLangSetContains.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcLangSetCopy.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcLangSetCreate.3 -unknown- .man,xorg +./usr/X11R7/man/man3/FcLangSetDel.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcLangSetDestroy.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcLangSetEqual.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcLangSetHasLang.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcLangSetHash.3 -unknown- .man,xorg +./usr/X11R7/man/man3/FcLangSetSubtract.3 -unknown- .man,xorg +./usr/X11R7/man/man3/FcLangSetUnion.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcMatrixCopy.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcMatrixEqual.3 -unknown- .man,xorg ./usr/X11R7/man/man3/FcMatrixInit.3 -unknown- .man,xorg @@ -9239,6 +9126,7 @@ ./usr/X11R7/share/xcb/damage.xml -unknown- xorg ./usr/X11R7/share/xcb/dpms.xml -unknown- xorg ./usr/X11R7/share/xcb/dri2.xml -unknown- xorg +./usr/X11R7/share/xcb/ge.xml -unknown- xorg ./usr/X11R7/share/xcb/glx.xml -unknown- xorg ./usr/X11R7/share/xcb/randr.xml -unknown- xorg ./usr/X11R7/share/xcb/record.xml -unknown- xorg @@ -9252,277 +9140,17 @@ ./usr/X11R7/share/xcb/xcb.xsd -unknown- xorg ./usr/X11R7/share/xcb/xevie.xml -unknown- xorg ./usr/X11R7/share/xcb/xf86dri.xml -unknown- xorg +./usr/X11R7/share/xcb/xf86vidmode.xml -unknown- xorg ./usr/X11R7/share/xcb/xfixes.xml -unknown- xorg ./usr/X11R7/share/xcb/xinerama.xml -unknown- xorg ./usr/X11R7/share/xcb/xinput.xml -unknown- xorg +./usr/X11R7/share/xcb/xkb.xml -unknown- xorg ./usr/X11R7/share/xcb/xprint.xml -unknown- xorg ./usr/X11R7/share/xcb/xproto.xml -unknown- xorg ./usr/X11R7/share/xcb/xselinux.xml -unknown- xorg ./usr/X11R7/share/xcb/xtest.xml -unknown- xorg ./usr/X11R7/share/xcb/xv.xml -unknown- xorg ./usr/X11R7/share/xcb/xvmc.xml -unknown- xorg -./usr/libdata/debug/usr/X11R6/bin/Xdmx.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xnest.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/Xprt.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/appres.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/atobm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/bdftopcf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/beforelight.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/bitmap.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/bmtoa.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/cxpm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dga.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmx.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxaddinput.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxaddscreen.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxreconfig.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxresize.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxrminput.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxrmscreen.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxtodmx.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dmxwininfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dpsexec.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/dpsinfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/editres.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/evi.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/fc-cache.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/fc-list.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/fonttosfnt.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/fslsfonts.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/fstobdf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/glxgears.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/glxinfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/iceauth.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/ico.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/imake.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/lbxproxy.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/listres.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/lndir.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/luit.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/makedepend.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/makepsres.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/makestrs.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mkcfm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mkfontdir.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/mkfontscale.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/oclock.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/proxymngr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/pswrap.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/res.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/resize.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/revpath.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/rgb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/rman.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/sessreg.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/setxkbmap.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/showfont.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/showrgb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/smproxy.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/ssh-askpass.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/sxpm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/texteroids.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/twm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/ucs2any.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/vdltodmx.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/viewres.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/x11perf.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xauth.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xbell.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xbiff.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xcalc.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xclipboard.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xclock.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xcmsdb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xconsole.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xcutsel.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xditview.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xdm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xdmx.debug xcomp-obsolete obsolete -./usr/libdata/debug/usr/X11R6/bin/xdmxconfig.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xdpyinfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xedit.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xev.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xeyes.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xfd.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xfindproxy.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xfontsel.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xfs.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xfsinfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xfwp.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xgamma.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xgc.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xhost.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xinit.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xinput.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkbbell.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkbcomp.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkbevd.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkbprint.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkbvleds.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkbwatch.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xkill.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xled.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xload.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xlogo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xlsatoms.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xlsclients.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xlsfonts.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xmag.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xman.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xmessage.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xmh.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xmodmap.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xprop.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xrandr.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xrdb.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xrefresh.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xset.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xsetmode.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xsetpointer.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xsetroot.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xsm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xstdcmap.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xsystrace.debug xcomp-obsolete obsolete -./usr/libdata/debug/usr/X11R6/bin/xterm.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtest.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapchar.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapin.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapinfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapout.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapproto.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapreset.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xtrapstats.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xvidtune.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xvinfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xwd.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xwininfo.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/bin/xwud.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/libexec/chooser.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R6/libexec/rstartd.real.debug -unknown- debug,x11 -./usr/libdata/debug/usr/X11R7/bin/Xnest.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/appres.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/atobm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/bdftopcf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/bdftruncate.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/beforelight.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/bitmap.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/bmtoa.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/cxpm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/dga.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/editres.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fc-cache.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fc-cat.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fc-list.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fc-match.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fc-query.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fc-scan.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fonttosfnt.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fslsfonts.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/fstobdf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/glxgears.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/glxinfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/iceauth.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/ico.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/imake.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/lbxproxy.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/listres.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/lndir.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/luit.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/makedepend.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/makestrs.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/mkfontscale.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/oclock.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/proxymngr.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/resize.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/revpath.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete -./usr/libdata/debug/usr/X11R7/bin/sessreg.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/setxkbmap.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/showrgb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/smproxy.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/ssh-askpass.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/sxpm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/twm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/ucs2any.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/viewres.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/x11perf.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xauth.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xbiff.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xcalc.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xclipboard.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xclock.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xcmsdb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xconsole.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xcutsel.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xditview.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xdm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xdpyinfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xdriinfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xedit.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xev.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xeyes.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xfd.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xfindproxy.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xfontsel.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xfs.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xfsinfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xfwp.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xgamma.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xgc.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xhost.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xinit.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xinput.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkbbell.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkbcomp.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkbevd.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkbprint.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkbvleds.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkbwatch.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xkill.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xload.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xlogo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xlsatoms.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xlsclients.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xlsfonts.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xmag.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xman.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xmessage.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xmh.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xmlwf.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/xmodmap.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xmore.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xphelloworld.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/xplsprinters.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/xprehashprinterlist.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/xprop.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xpsimplehelloworld.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/xpxthelloworld.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/bin/xrandr.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xrdb.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xrefresh.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xset.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xsetmode.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xsetpointer.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xsetroot.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xsetwallpaper.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xsm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xstdcmap.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xterm.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapchar.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapin.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapinfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapout.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapproto.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapreset.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xtrapstats.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xvidtune.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xvinfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xwd.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xwininfo.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/bin/xwud.debug -unknown- debug,xorg -./usr/libdata/debug/usr/X11R7/libexec/chooser.debug -unknown- debug,xorg ./usr/libdata/lint/llib-lFS.ln -unknown- lint,x11 ./usr/libdata/lint/llib-lFS.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lGL.ln -unknown- lint,x11 @@ -9548,6 +9176,7 @@ ./usr/libdata/lint/llib-lXcursor.ln -unknown- lint,x11 ./usr/libdata/lint/llib-lXcursor.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lXdamage.ln -unknown- lint,xorg +./usr/libdata/lint/llib-lXdmGreet.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lXdmcp.ln -unknown- lint,x11 ./usr/libdata/lint/llib-lXdmcp.ln -unknown- lint,xorg ./usr/libdata/lint/llib-lXevie.ln -unknown- lint,xorg diff --git a/distrib/sets/lists/xcomp/shl.mi b/distrib/sets/lists/xcomp/shl.mi index 6d9ef4b1c..88aa3ced9 100644 --- a/distrib/sets/lists/xcomp/shl.mi +++ b/distrib/sets/lists/xcomp/shl.mi @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.31 2012/02/29 20:07:55 tron Exp $ +# $NetBSD: shl.mi,v 1.34 2013/08/11 22:29:03 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -54,8 +54,8 @@ ./usr/X11R7/lib/libICE_pic.a -unknown- xorg ./usr/X11R7/lib/libOSMesa_pic.a -unknown- xorg ./usr/X11R7/lib/libSM_pic.a -unknown- xorg -./usr/X11R7/lib/libX11_pic.a -unknown- xorg ./usr/X11R7/lib/libX11-xcb_pic.a -unknown- xorg +./usr/X11R7/lib/libX11_pic.a -unknown- xorg ./usr/X11R7/lib/libXRes_pic.a -unknown- xorg ./usr/X11R7/lib/libXTrap_pic.a -unknown- xorg ./usr/X11R7/lib/libXau_pic.a -unknown- xorg @@ -64,6 +64,7 @@ ./usr/X11R7/lib/libXcomposite_pic.a -unknown- xorg ./usr/X11R7/lib/libXcursor_pic.a -unknown- xorg ./usr/X11R7/lib/libXdamage_pic.a -unknown- xorg +./usr/X11R7/lib/libXdmGreet_pic.a -unknown- xorg ./usr/X11R7/lib/libXdmcp_pic.a -unknown- xorg ./usr/X11R7/lib/libXevie_pic.a -unknown- xorg ./usr/X11R7/lib/libXext_pic.a -unknown- xorg @@ -85,8 +86,8 @@ ./usr/X11R7/lib/libXss_pic.a -unknown- xorg ./usr/X11R7/lib/libXt_pic.a -unknown- xorg ./usr/X11R7/lib/libXtst_pic.a -unknown- xorg -./usr/X11R7/lib/libXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libXvMCW_pic.a -unknown- xorg +./usr/X11R7/lib/libXvMC_pic.a -unknown- xorg ./usr/X11R7/lib/libXv_pic.a -unknown- xorg ./usr/X11R7/lib/libXxf86dga_pic.a -unknown- xorg ./usr/X11R7/lib/libXxf86misc_pic.a -unknown- xorg @@ -136,139 +137,3 @@ ./usr/X11R7/lib/libxcb_pic.a -unknown- xorg ./usr/X11R7/lib/libxkbfile_pic.a -unknown- xorg ./usr/X11R7/lib/libxkbui_pic.a -unknown- xorg -./usr/libdata/debug/usr/X11R6/lib/libFS.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libGL.so.1.2.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libGLU.so.1.3.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libGLw.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libICE.so.6.3.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libOSMesa.so.4.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libSM.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libX11.so.6.2.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXRes.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXTrap.so.6.4.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXau.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXaw.so.6.1.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXaw.so.7.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXcursor.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXdmcp.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXext.so.6.4.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXfont.so.1.5.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXfontcache.so.1.2.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXft.so.1.1.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXft.so.2.1.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXi.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXinerama.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXmu.so.6.2.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXmuu.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXp.so.6.2.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXpm.so.4.11.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXrandr.so.2.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXrender.so.1.2.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXss.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXt.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXtst.so.6.1.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXv.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXvMC.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXxf86dga.so.1.1.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXxf86misc.so.1.1.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libXxf86vm.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libdmx.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libdps.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libdpstk.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libexpat.so.4.0.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R6/lib/libfontconfig.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libfontenc.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libfreetype.so.9.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/liboldX.so.6.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libpsres.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libxkbfile.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R6/lib/libxkbui.so.1.0.debug -unknown- x11,debug -./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libximcp.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlcDef.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlcUTF8Load.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlibi18n.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlocale.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxomGeneric.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libFS.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libGL.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libGLU.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libGLw.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libICE.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libOSMesa.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libSM.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libX11.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libX11-xcb.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXRes.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXTrap.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXau.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXaw6.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXaw7.so.10.0.debug -unknown xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXcomposite.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXcursor.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXdamage.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXdmcp.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXevie.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXext.so.7.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXfixes.so.4.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXfont.so.3.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXfontcache.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXft.so.3.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXi.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXinerama.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXmu.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXmuu.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXpm.so.5.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXrandr.so.3.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXrender.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXss.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXt.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXtst.so.7.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXv.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXvMC.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXvMCW.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXxf86dga.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXxf86misc.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libXxf86vm.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libdrm.so.3.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libdrm_radeon.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libexpat.so.2.0.debug -obsolete- obsolete -./usr/libdata/debug/usr/X11R7/lib/libfontconfig.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libfontenc.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libfreetype.so.7.3.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libglut.so.4.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libpciaccess.so.0.2.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libpixman-1.so.2.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-atom.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-aux.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-composite.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-damage.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-dpms.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-dri2.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-event.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-glx.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-icccm.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-image.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-keysyms.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-property.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-randr.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-record.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-render-util.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-render.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-reply.so.1.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-res.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-screensaver.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-shape.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-shm.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-sync.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xevie.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xf86dri.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xfixes.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xinerama.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xtest.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xv.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb-xvmc.so.0.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxcb.so.1.1.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxkbfile.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/libxkbui.so.2.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmesa_dri.so.0.debug -unknown- xorg,debug -./usr/libdata/debug/usr/X11R7/lib/modules/dri/libswrast_dri.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.acorn32 b/distrib/sets/lists/xdebug/md.acorn32 new file mode 100644 index 000000000..89d4c5fbf --- /dev/null +++ b/distrib/sets/lists/xdebug/md.acorn32 @@ -0,0 +1,3 @@ +# $NetBSD: md.acorn32,v 1.1 2013/01/16 21:11:12 christos Exp $ +./usr/libdata/debug/usr/X11R6/bin/Xarm32VIDC.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 diff --git a/distrib/sets/lists/xdebug/md.alpha b/distrib/sets/lists/xdebug/md.alpha new file mode 100644 index 000000000..8c57c9a15 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.alpha @@ -0,0 +1,25 @@ +# $NetBSD: md.alpha,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/libdata/debug/usr/X11R6/bin/XalphaNetBSD.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/XdecNetBSD.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.amd64 b/distrib/sets/lists/xdebug/md.amd64 new file mode 100644 index 000000000..19edac5c6 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.amd64 @@ -0,0 +1,198 @@ +# $NetBSD: md.amd64,v 1.5 2013/06/05 06:27:51 mrg Exp $ +./usr/X11R7/lib/libI810XvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libIntelXvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libchromeXvMCPro_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libchromeXvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libdrm_intel_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libexa_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libfb_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libi2c_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libint10_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libvbe_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- xorg,debuglib +./usr/X11R7/lib/modules/libxaa_g.a -unknown- xorg,debuglib +./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/ioport.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/ioport.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xorgconfig.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/libI810XvMC.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libIntelXvMC.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libchromeXvMC.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libchromeXvMCPro.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libdrm_intel.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/i810_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/i915_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/i965_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi810_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi915_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi965_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libs3v_dri.so.0.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsavage_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsis_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtrident_dri.so.0.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libunichrome_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/s3v_dri.so.0.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/savage_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/sis_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/tdfx_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/trident_dri.so.0.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/unichrome_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/apm_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ark_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ast_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ch7017_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ch7xxx_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/chips_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_alpine.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_laguna.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/glint_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/i128_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/i740_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/intel_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ivch_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libapm_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libark_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libast_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7017_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7xxx_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_alpine.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_laguna.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi128_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi740_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libintel_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libivch_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libneomagic_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libopenchrome_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeonhd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3virge_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsavage_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsil164_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsis_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtfp410_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtrident_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtseng_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvesa_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmmouse_drv.so.12.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmware_drv.so.11.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmwlegacy_drv.so.11.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvoid_drv.so.1.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libxgi_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mach64_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/neomagic_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/openchrome_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/savage_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sil164_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/siliconmotion_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sis_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tdfx_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tfp410_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/trident_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tseng_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vesa_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vmmouse_drv.so.13.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vmware_drv.so.13.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so.11.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/void_drv.so.1.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/xgi_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.amiga b/distrib/sets/lists/xdebug/md.amiga new file mode 100644 index 000000000..112d62356 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.amiga @@ -0,0 +1,3 @@ +# $NetBSD: md.amiga,v 1.1 2013/01/16 21:11:13 christos Exp $ +./usr/libdata/debug/usr/X11R6/bin/Xamiga.debug -unknown- debug +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug diff --git a/distrib/sets/lists/xdebug/md.bebox b/distrib/sets/lists/xdebug/md.bebox new file mode 100644 index 000000000..e484d7877 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.bebox @@ -0,0 +1,34 @@ +# $NetBSD: md.bebox,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.cats b/distrib/sets/lists/xdebug/md.cats new file mode 100644 index 000000000..1c7f65b79 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.cats @@ -0,0 +1,121 @@ +# $NetBSD: md.cats,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/apm_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ark_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ast_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/chips_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_alpine.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_laguna.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/glint_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/i128_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/i740_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libapm_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libark_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libast_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_alpine.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_laguna.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi128_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi740_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libneomagic_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeonhd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3virge_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsavage_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtrident_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtseng_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvesa_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/neomagic_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/savage_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/siliconmotion_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tdfx_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/trident_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tseng_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vesa_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.dreamcast b/distrib/sets/lists/xdebug/md.dreamcast new file mode 100644 index 000000000..4f77fe170 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.dreamcast @@ -0,0 +1,36 @@ +# $NetBSD: md.dreamcast,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/Xdreamcast.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.evbarm b/distrib/sets/lists/xdebug/md.evbarm new file mode 100644 index 000000000..82a722977 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.evbarm @@ -0,0 +1,41 @@ +# $NetBSD: md.evbarm,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.evbarm.armeb b/distrib/sets/lists/xdebug/md.evbarm.armeb new file mode 100644 index 000000000..e14a8fad1 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.evbarm.armeb @@ -0,0 +1,41 @@ +# $NetBSD: md.evbarm.armeb,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.evbmips b/distrib/sets/lists/xdebug/md.evbmips new file mode 100644 index 000000000..530423556 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.evbmips @@ -0,0 +1,62 @@ +# $NetBSD: md.evbmips,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/libdata/debug/usr/X11R6/bin/Xews4800mips.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsis_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/siliconmotion_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sis_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.ews4800mips b/distrib/sets/lists/xdebug/md.ews4800mips new file mode 100644 index 000000000..08b7cfcd2 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.ews4800mips @@ -0,0 +1,36 @@ +# $NetBSD: md.ews4800mips,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/Xews4800mips.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.hp300 b/distrib/sets/lists/xdebug/md.hp300 new file mode 100644 index 000000000..155d4c5b6 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.hp300 @@ -0,0 +1,34 @@ +# $NetBSD: md.hp300,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.hpcarm b/distrib/sets/lists/xdebug/md.hpcarm new file mode 100644 index 000000000..ef47a5d8b --- /dev/null +++ b/distrib/sets/lists/xdebug/md.hpcarm @@ -0,0 +1,36 @@ +# $NetBSD: md.hpcarm,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/Xhpc.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.hpcmips b/distrib/sets/lists/xdebug/md.hpcmips new file mode 100644 index 000000000..bcb6cdc91 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.hpcmips @@ -0,0 +1,36 @@ +# $NetBSD: md.hpcmips,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/Xhpc.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.hpcsh b/distrib/sets/lists/xdebug/md.hpcsh new file mode 100644 index 000000000..d0cbe676e --- /dev/null +++ b/distrib/sets/lists/xdebug/md.hpcsh @@ -0,0 +1,36 @@ +# $NetBSD: md.hpcsh,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/Xhpc.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.i386 b/distrib/sets/lists/xdebug/md.i386 new file mode 100644 index 000000000..a6785faff --- /dev/null +++ b/distrib/sets/lists/xdebug/md.i386 @@ -0,0 +1,248 @@ +# $NetBSD: md.i386,v 1.5 2013/06/05 06:27:51 mrg Exp $ +./usr/X11R6/lib/modules/extensions/libGLcore_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/extensions/libdbe_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/extensions/libextmod_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/extensions/libglx_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/extensions/librecord_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/extensions/libxtrap_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/fonts/libbitmap_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/fonts/libfreetype_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/fonts/libspeedo_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/fonts/libtype1_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/fonts/libxtt_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libafb_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libcfb16_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libcfb24_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libcfb32_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libcfb_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libddc_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libfb_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libi2c_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libint10_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/liblayer_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libmfb_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libpcidata_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/librac_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libramdac_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libscanpci_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libshadow_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libshadowfb_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libvbe_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libvgahw_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libxaa_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libxf1bpp_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libxf24_32bpp_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libxf4bpp_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libxf8_16bpp_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/modules/libxf8_32bpp_g.a -unknown- debuglib,x11 +./usr/X11R7/lib/libI810XvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libIntelXvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libchromeXvMCPro_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libchromeXvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libdrm_intel_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libGLcore_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/ioport.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/ioport.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xorgconfig.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/libI810XvMC.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libIntelXvMC.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libchromeXvMC.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libchromeXvMCPro.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libdrm_intel.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/i810_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/i915_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/i965_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi810_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi915_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libi965_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libs3v_dri.so.0.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsavage_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libsis_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtrident_dri.so.0.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libunichrome_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/s3v_dri.so.0.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/savage_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/sis_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/tdfx_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/trident_dri.so.0.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/unichrome_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/apm_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ark_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ast_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ch7017_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ch7xxx_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/chips_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_alpine.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/cirrus_laguna.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/elographics_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/geode_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/glint_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/i128_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/i740_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/intel_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ivch_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libapm_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libark_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libast_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7017_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libch7xxx_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_alpine.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcirrus_laguna.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libelographics_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libgeode_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi128_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libi740_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libintel_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libivch_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libneomagic_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libopenchrome_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeonhd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libs3virge_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsavage_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsil164_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsiliconmotion_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsis_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtfp410_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtrident_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtseng_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvesa_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmmouse_drv.so.12.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmware_drv.so.11.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvmwlegacy_drv.so.11.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvoid_drv.so.1.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libxgi_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mach64_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/neomagic_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/openchrome_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeonhd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/s3virge_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/savage_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sil164_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/siliconmotion_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sis_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tdfx_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tfp410_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/trident_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tseng_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vesa_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vmmouse_drv.so.13.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vmware_drv.so.13.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so.11.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/void_drv.so.1.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/xgi_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.luna68k b/distrib/sets/lists/xdebug/md.luna68k new file mode 100644 index 000000000..dcf747a69 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.luna68k @@ -0,0 +1,34 @@ +# $NetBSD: md.luna68k,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.mac68k b/distrib/sets/lists/xdebug/md.mac68k new file mode 100644 index 000000000..be37d836b --- /dev/null +++ b/distrib/sets/lists/xdebug/md.mac68k @@ -0,0 +1,3 @@ +# $NetBSD: md.mac68k,v 1.1 2013/01/16 21:11:16 christos Exp $ +./usr/libdata/debug/usr/X11R6/bin/Xmac68k.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- x11,debug diff --git a/distrib/sets/lists/xdebug/md.macppc b/distrib/sets/lists/xdebug/md.macppc new file mode 100644 index 000000000..d7ddcd04f --- /dev/null +++ b/distrib/sets/lists/xdebug/md.macppc @@ -0,0 +1,120 @@ +# $NetBSD: md.macppc,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xmacppc.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/tdfx_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/chips_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mach64_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tdfx_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.netwinder b/distrib/sets/lists/xdebug/md.netwinder new file mode 100644 index 000000000..1e581d92c --- /dev/null +++ b/distrib/sets/lists/xdebug/md.netwinder @@ -0,0 +1,59 @@ +# $NetBSD: md.netwinder,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/ioport.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/xorgconfig.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.newsmips b/distrib/sets/lists/xdebug/md.newsmips new file mode 100644 index 000000000..af2d77403 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.newsmips @@ -0,0 +1,36 @@ +# $NetBSD: md.newsmips,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/Xnewsmips.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.ofppc b/distrib/sets/lists/xdebug/md.ofppc new file mode 100644 index 000000000..6d4523418 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.ofppc @@ -0,0 +1,101 @@ +# $NetBSD: md.ofppc,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/gtf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/pcitweak.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/scanpci.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libtdfx_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/dri/tdfx_dri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/chips_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnv_drv.so.2.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libtdfx_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mach64_drv.so.6.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/nv_drv.so.2.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/tdfx_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libint10.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.pmax b/distrib/sets/lists/xdebug/md.pmax new file mode 100644 index 000000000..56a98be4a --- /dev/null +++ b/distrib/sets/lists/xdebug/md.pmax @@ -0,0 +1,3 @@ +# $NetBSD: md.pmax,v 1.1 2013/01/16 21:11:17 christos Exp $ +./usr/libdata/debug/usr/X11R6/bin/XdecNetBSD.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 diff --git a/distrib/sets/lists/xdebug/md.prep b/distrib/sets/lists/xdebug/md.prep new file mode 100644 index 000000000..3269d99e4 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.prep @@ -0,0 +1,34 @@ +# $NetBSD: md.prep,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.sgimips b/distrib/sets/lists/xdebug/md.sgimips new file mode 100644 index 000000000..1fea7854d --- /dev/null +++ b/distrib/sets/lists/xdebug/md.sgimips @@ -0,0 +1,79 @@ +# $NetBSD: md.sgimips,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/crime_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libcrime_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libnewport_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/newport_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.shark b/distrib/sets/lists/xdebug/md.shark new file mode 100644 index 000000000..963ee61df --- /dev/null +++ b/distrib/sets/lists/xdebug/md.shark @@ -0,0 +1,82 @@ +# $NetBSD: md.shark,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R6/bin/XFree86.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mmapw.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86cfg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xf86config.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/chips_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/igs_drv.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libchips_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libigs_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.sparc b/distrib/sets/lists/xdebug/md.sparc new file mode 100644 index 000000000..a33e049eb --- /dev/null +++ b/distrib/sets/lists/xdebug/md.sparc @@ -0,0 +1,95 @@ +# $NetBSD: md.sparc,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ag10e_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/glint_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libag10e_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libpnozz_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuncg14_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuncg6_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunffb_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunleo_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuntcx_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mach64_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/pnozz_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/suncg14_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/suncg6_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sunffb_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sunleo_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/suntcx_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.sparc64 b/distrib/sets/lists/xdebug/md.sparc64 new file mode 100644 index 000000000..8719d84fe --- /dev/null +++ b/distrib/sets/lists/xdebug/md.sparc64 @@ -0,0 +1,97 @@ +# $NetBSD: md.sparc64,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete +./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86cfg.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/xf86config.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmach64_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmga_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr128_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr200_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr300_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libr600_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libradeon_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mach64_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/mga_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r128_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r200_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r300_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/r600_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/radeon_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ag10e_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ati_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/glint_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libag10e_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libati_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libglint_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmach64_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmga_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libr128_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libradeon_drv.so.6.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsuncg6_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunffb_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libsunleo_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libvoid_drv.so.1.debug obsolete obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mach64_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mga_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/r128_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/radeon_drv.so.6.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/suncg6_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sunffb_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/sunleo_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/void_drv.so.1.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxf8_16bpp.so.0.debug -unknown- obsolete diff --git a/distrib/sets/lists/xdebug/md.sun3 b/distrib/sets/lists/xdebug/md.sun3 new file mode 100644 index 000000000..59c64e94c --- /dev/null +++ b/distrib/sets/lists/xdebug/md.sun3 @@ -0,0 +1,6 @@ +# $NetBSD: md.sun3,v 1.1 2013/01/16 21:11:19 christos Exp $ +./usr/libdata/debug/usr/X11R6/bin/Xsun.debug -unknown- debug +./usr/libdata/debug/usr/X11R6/bin/XsunMono.debug -unknown- debug +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug +./usr/libdata/debug/usr/X11R6/bin/constype.debug -unknown- debug +./usr/libdata/debug/usr/X11R6/bin/kbd_mode.debug -unknown- debug diff --git a/distrib/sets/lists/xdebug/md.vax b/distrib/sets/lists/xdebug/md.vax new file mode 100644 index 000000000..d47b899e9 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.vax @@ -0,0 +1,55 @@ +# $NetBSD: md.vax,v 1.3 2013/02/08 15:13:04 christos Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/kbd_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libkbd_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libmouse_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libws_drv.so.1.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/libwsfb_drv.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/mouse_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/ws_drv.so.1.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/drivers/wsfb_drv.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/md.x68k b/distrib/sets/lists/xdebug/md.x68k new file mode 100644 index 000000000..df33d3424 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.x68k @@ -0,0 +1,3 @@ +# $NetBSD: md.x68k,v 1.1 2013/01/16 21:11:19 christos Exp $ +./usr/libdata/debug/usr/X11R6/bin/X68k.debug -unknown- debug +./usr/libdata/debug/usr/X11R6/bin/Xvfb.debug -unknown- debug diff --git a/distrib/sets/lists/xdebug/md.zaurus b/distrib/sets/lists/xdebug/md.zaurus new file mode 100644 index 000000000..793068f15 --- /dev/null +++ b/distrib/sets/lists/xdebug/md.zaurus @@ -0,0 +1,34 @@ +# $NetBSD: md.zaurus,v 1.2 2013/08/11 22:29:03 joerg Exp $ +./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xorg.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cvt.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/gtf.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libdri2.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libextmod.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libglx.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/librecord.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/extensions/libshadow.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libexa.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libi2c.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libshadowfb.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvbe.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libvgahw.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/libxaa.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xdebug/mi b/distrib/sets/lists/xdebug/mi new file mode 100644 index 000000000..46acc0ceb --- /dev/null +++ b/distrib/sets/lists/xdebug/mi @@ -0,0 +1,404 @@ +# $NetBSD: mi,v 1.6 2013/08/11 22:29:03 joerg Exp $ +./etc/mtree/set.xdebug comp-sys-root +./usr/X11R6/lib/libFS_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libGLU_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libGL_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libGLw_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libICE_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libOSMesa_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libSM_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libX11_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXRes_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXTrap_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXau_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXaw_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXcursor_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXdmcp_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXext_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXfont_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXfontcache_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXft_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXi_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXinerama_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXmu_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXmuu_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXp_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXpm_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXrandr_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXrender_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXss_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXt_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXtst_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXvMC_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXv_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXxf86dga_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXxf86misc_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libXxf86vm_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libdmx_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libdps_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libdpstk_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libexpat_g.a -obsolete- obsolete +./usr/X11R6/lib/libfntstubs_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libfontconfig_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libfontenc_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libfreetype_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/liblbxutil_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/liboldX_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libpsres_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libxkbfile_g.a -unknown- debuglib,x11 +./usr/X11R6/lib/libxkbui_g.a -unknown- debuglib,x11 +./usr/X11R7/lib/libFS_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libGLU_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libGL_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libGLw_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libICE_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libOSMesa_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libSM_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libX11-xcb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libX11_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXRes_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXTrap_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXau_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXaw6_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXaw7_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXaw8_g.a -obsolete- obsolete +./usr/X11R7/lib/libXcomposite_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXcursor_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXdamage_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXdmGreet_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXdmcp_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXevie_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXext_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXfixes_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXfont_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXfontcache_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXft_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXi_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXinerama_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXmu_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXmuu_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXp_g.a -obsolete- obsolete +./usr/X11R7/lib/libXpm_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXprintAppUtil_g.a -obsolete- obsolete +./usr/X11R7/lib/libXprintUtil_g.a -obsolete- obsolete +./usr/X11R7/lib/libXrandr_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXrender_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXres_g.a -obsolete- obsolete +./usr/X11R7/lib/libXss_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXt_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXtst_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXvMCW_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXvMC_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXv_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXxf86dga_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXxf86misc_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libXxf86vm_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libdrm_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libdrm_radeon_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libexpat_g.a -unknown- obsolete +./usr/X11R7/lib/libfontconfig_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libfontenc_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libfreetype_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libglut_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/liblbxutil_g.a -obsolete- obsolete +./usr/X11R7/lib/liblisp_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libmp_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libpciaccess_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libpixman-1_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libre_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-atom_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-aux_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-composite_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-damage_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-dpms_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-dri2_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-event_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-glx_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-icccm_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-image_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-keysyms_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-property_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-randr_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-record_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-render-util_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-render_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-reply_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-res_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-screensaver_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-shape_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-shm_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-sync_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xevie_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xf86dri_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xfixes_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xinerama_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xtest_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xv_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb-xvmc_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxcb_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxkbfile_g.a -unknown- debuglib,xorg +./usr/X11R7/lib/libxkbui_g.a -unknown- debuglib,xorg +./usr/libdata/debug/usr/X11R6/bin/Xdmx.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xnest.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/Xprt.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/appres.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/atobm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/bdftopcf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/beforelight.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/bitmap.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/bmtoa.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/cxpm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dga.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmx.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxaddinput.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxaddscreen.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxreconfig.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxresize.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxrminput.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxrmscreen.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxtodmx.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dmxwininfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dpsexec.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/dpsinfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/editres.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/evi.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/fc-cache.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/fc-list.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/fonttosfnt.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/fslsfonts.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/fstobdf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/glxgears.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/glxinfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/iceauth.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/ico.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/imake.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/lbxproxy.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/listres.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/lndir.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/luit.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/makedepend.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/makepsres.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/makestrs.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mkcfm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mkfontdir.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/mkfontscale.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/oclock.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/proxymngr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/pswrap.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/res.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/resize.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/revpath.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/rgb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/rman.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/sessreg.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/setxkbmap.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/showfont.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/showrgb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/smproxy.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/ssh-askpass.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/sxpm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/texteroids.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/twm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/ucs2any.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/vdltodmx.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/viewres.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/x11perf.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xauth.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xbell.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xbiff.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xcalc.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xclipboard.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xclock.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xcmsdb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xconsole.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xcutsel.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xditview.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xdm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xdmx.debug xcomp-obsolete obsolete +./usr/libdata/debug/usr/X11R6/bin/xdmxconfig.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xdpyinfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xedit.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xev.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xeyes.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xfd.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xfindproxy.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xfontsel.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xfs.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xfsinfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xfwp.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xgamma.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xgc.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xhost.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xinit.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xinput.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkbbell.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkbcomp.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkbevd.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkbprint.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkbvleds.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkbwatch.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xkill.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xled.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xload.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xlogo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xlsatoms.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xlsclients.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xlsfonts.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xmag.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xman.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xmessage.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xmh.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xmodmap.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xprop.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xrandr.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xrdb.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xrefresh.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xset.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xsetmode.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xsetpointer.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xsetroot.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xsm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xstdcmap.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xsystrace.debug xcomp-obsolete obsolete +./usr/libdata/debug/usr/X11R6/bin/xterm.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtest.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapchar.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapin.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapinfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapout.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapproto.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapreset.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xtrapstats.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xvidtune.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xvinfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xwd.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xwininfo.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/bin/xwud.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/libexec/chooser.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R6/libexec/rstartd.real.debug -unknown- debug,x11 +./usr/libdata/debug/usr/X11R7/bin/Xnest.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/Xvfb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/appres.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/atobm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/bdftopcf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/bdftruncate.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/beforelight.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/bitmap.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/bmtoa.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/cxpm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/dga.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/editres.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-cache.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-cat.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-list.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-match.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-pattern.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-query.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-scan.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fc-validate.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fonttosfnt.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fslsfonts.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/fstobdf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/glxgears.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/glxinfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/iceauth.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/ico.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/imake.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/lbxproxy.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/listres.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/lndir.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/luit.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/makedepend.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/makestrs.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/mkfontscale.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/oclock.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/pcitweak.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/proxymngr.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/resize.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/revpath.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/scanpci.debug -unknown- obsolete +./usr/libdata/debug/usr/X11R7/bin/sessreg.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/setxkbmap.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/showrgb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/smproxy.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/ssh-askpass.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/sxpm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/twm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/ucs2any.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/viewres.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/x11perf.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xauth.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xbiff.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xcalc.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xclipboard.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xclock.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xcmsdb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xconsole.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xcutsel.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xditview.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xdm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xdpyinfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xdriinfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xedit.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xev.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xeyes.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xfd.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xfindproxy.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xfontsel.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xfs.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xfsinfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xfwp.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xgamma.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xgc.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xhost.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xinit.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xinput.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkbbell.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkbcomp.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkbevd.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkbprint.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkbvleds.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkbwatch.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xkill.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xload.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xlogo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xlsatoms.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xlsclients.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xlsfonts.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xmag.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xman.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xmessage.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xmh.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xmlwf.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/xmodmap.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xmore.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xphelloworld.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/xplsprinters.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/xprehashprinterlist.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/xprop.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xpsimplehelloworld.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/xpxthelloworld.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/bin/xrandr.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xrdb.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xrefresh.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xset.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xsetmode.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xsetpointer.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xsetroot.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xsetwallpaper.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xsm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xstdcmap.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xterm.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapchar.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapin.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapinfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapout.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapproto.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapreset.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xtrapstats.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xvidtune.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xvinfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xwd.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xwininfo.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/bin/xwud.debug -unknown- debug,xorg +./usr/libdata/debug/usr/X11R7/libexec/chooser.debug -unknown- debug,xorg diff --git a/distrib/sets/lists/xdebug/shl.mi b/distrib/sets/lists/xdebug/shl.mi new file mode 100644 index 000000000..a3089e89b --- /dev/null +++ b/distrib/sets/lists/xdebug/shl.mi @@ -0,0 +1,145 @@ +# $NetBSD: shl.mi,v 1.12 2013/08/11 22:29:03 joerg Exp $ +./usr/libdata/debug/usr/X11R6/lib/libFS.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libGL.so.1.2.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libGLU.so.1.3.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libGLw.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libICE.so.6.3.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libOSMesa.so.4.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libSM.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libX11.so.6.2.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXRes.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXTrap.so.6.4.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXau.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXaw.so.6.1.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXaw.so.7.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXcursor.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXdmcp.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXext.so.6.4.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXfont.so.1.5.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXfontcache.so.1.2.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXft.so.1.1.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXft.so.2.1.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXi.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXinerama.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXmu.so.6.2.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXmuu.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXp.so.6.2.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXpm.so.4.11.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXrandr.so.2.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXrender.so.1.2.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXss.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXt.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXtst.so.6.1.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXv.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXvMC.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXxf86dga.so.1.1.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXxf86misc.so.1.1.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libXxf86vm.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libdmx.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libdps.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libdpstk.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libexpat.so.4.0.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R6/lib/libfontconfig.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libfontenc.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libfreetype.so.9.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/liboldX.so.6.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libpsres.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libxkbfile.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R6/lib/libxkbui.so.1.0.debug -unknown- x11,debug +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libximcp.so.2.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlcDef.so.2.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlcUTF8Load.so.2.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlibi18n.so.2.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxlocale.so.2.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/libxomGeneric.so.2.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/ximcp.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/xlcDef.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/xlcUTF8Load.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/xlibi18n.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/xlocale.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/X11/locale/lib/common/xomGeneric.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libFS.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libGL.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libGLU.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libGLw.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libICE.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libOSMesa.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libSM.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libX11-xcb.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libX11.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXRes.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXTrap.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXau.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXaw6.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXaw7.so.10.0.debug -unknown xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXcomposite.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXcursor.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXdamage.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXdmGreet.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXdmcp.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXevie.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXext.so.7.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXfixes.so.4.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXfont.so.3.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXfontcache.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXft.so.3.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXi.so.7.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXinerama.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXmu.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXmuu.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXpm.so.5.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXrandr.so.3.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXrender.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXss.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXt.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXtst.so.7.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXv.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXvMC.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXvMCW.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXxf86dga.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXxf86misc.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libXxf86vm.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libdrm.so.3.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libdrm_radeon.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libexpat.so.2.0.debug -obsolete- obsolete +./usr/libdata/debug/usr/X11R7/lib/libfontconfig.so.2.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libfontenc.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libfreetype.so.7.4.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libglut.so.4.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libpciaccess.so.0.3.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libpixman-1.so.2.2.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-atom.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-aux.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-composite.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-damage.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-dpms.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-dri2.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-event.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-glx.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-icccm.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-image.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-keysyms.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-property.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-randr.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-record.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-render-util.so.0.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-render.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-reply.so.1.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-res.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-screensaver.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-shape.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-shm.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-sync.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xevie.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xf86dri.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xfixes.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xinerama.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xtest.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xv.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb-xvmc.so.0.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxcb.so.1.1.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxkbfile.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/libxkbui.so.2.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libmesa_dri.so.0.debug -unknown- xorg,debug +./usr/libdata/debug/usr/X11R7/lib/modules/dri/libswrast_dri.so.0.debug obsolete xorg,obsolete +./usr/libdata/debug/usr/X11R7/lib/modules/dri/swrast_dri.so.0.debug -unknown- xorg,debug diff --git a/distrib/sets/lists/xetc/mi b/distrib/sets/lists/xetc/mi index c7dd2fa53..690a82fa2 100644 --- a/distrib/sets/lists/xetc/mi +++ b/distrib/sets/lists/xetc/mi @@ -1,11 +1,11 @@ -# $NetBSD: mi,v 1.18 2011/02/18 00:42:20 jmcneill Exp $ +# $NetBSD: mi,v 1.23 2013/08/11 22:29:03 joerg Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # ./etc/X11/fs/config -unknown- x11 ./etc/X11/fs/config -unknown- xorg -./etc/X11/lbxproxy/AtomControl -unknown- x11 ./etc/X11/lbxproxy/AtomControl -obsolete- obsolete,xorg +./etc/X11/lbxproxy/AtomControl -unknown- x11 ./etc/X11/proxymngr/pmconfig -unknown- x11 ./etc/X11/proxymngr/pmconfig -unknown- xorg ./etc/X11/rstart/commands/@List -unknown- x11 @@ -30,9 +30,9 @@ ./etc/X11/xdm/TakeConsole -unknown- xorg ./etc/X11/xdm/Xaccess -unknown- x11 ./etc/X11/xdm/Xaccess -unknown- xorg +./etc/X11/xdm/Xreset -unknown- xorg ./etc/X11/xdm/Xresources -unknown- x11 ./etc/X11/xdm/Xresources -unknown- xorg -./etc/X11/xdm/Xreset -unknown- xorg ./etc/X11/xdm/Xservers -unknown- x11 ./etc/X11/xdm/Xservers -unknown- xorg ./etc/X11/xdm/Xservers.fs -unknown- x11 @@ -57,12 +57,16 @@ ./etc/X11/xsm/system.xsm -unknown- xorg ./etc/fonts/conf.avail/10-autohint.conf -unknown- xorg ./etc/fonts/conf.avail/10-no-sub-pixel.conf -unknown- xorg +./etc/fonts/conf.avail/10-scale-bitmap-fonts.conf -unknown- xorg ./etc/fonts/conf.avail/10-sub-pixel-bgr.conf -unknown- xorg ./etc/fonts/conf.avail/10-sub-pixel-rgb.conf -unknown- xorg ./etc/fonts/conf.avail/10-sub-pixel-vbgr.conf -unknown- xorg ./etc/fonts/conf.avail/10-sub-pixel-vrgb.conf -unknown- xorg ./etc/fonts/conf.avail/10-unhinted.conf -unknown- xorg -./etc/fonts/conf.avail/20-fix-globaladvance.conf -unknown- xorg +./etc/fonts/conf.avail/11-lcdfilter-default.conf -unknown- xorg +./etc/fonts/conf.avail/11-lcdfilter-legacy.conf -unknown- xorg +./etc/fonts/conf.avail/11-lcdfilter-light.conf -unknown- xorg +./etc/fonts/conf.avail/20-fix-globaladvance.conf -unknown- obsolete ./etc/fonts/conf.avail/20-unhint-small-vera.conf -unknown- xorg ./etc/fonts/conf.avail/25-unhint-nonlatin.conf -unknown- xorg ./etc/fonts/conf.avail/30-metric-aliases.conf -unknown- xorg @@ -81,7 +85,8 @@ ./etc/fonts/conf.avail/70-yes-bitmaps.conf -unknown- xorg ./etc/fonts/conf.avail/80-delicious.conf -unknown- xorg ./etc/fonts/conf.avail/90-synthetic.conf -unknown- xorg -./etc/fonts/conf.d/20-fix-globaladvance.conf -unknown- xorg +./etc/fonts/conf.d/10-scale-bitmap-fonts.conf -unknown- xorg +./etc/fonts/conf.d/20-fix-globaladvance.conf -unknown- obsolete ./etc/fonts/conf.d/20-unhint-small-vera.conf -unknown- xorg ./etc/fonts/conf.d/30-metric-aliases.conf -unknown- xorg ./etc/fonts/conf.d/30-urw-aliases.conf -unknown- xorg @@ -102,9 +107,9 @@ ./etc/fonts/fonts.dtd -unknown- xorg ./etc/mtree/set.xetc xetc-sys-root x11 ./etc/mtree/set.xetc xetc-sys-root xorg +./etc/rc.d/fccache etc-x11-rc x11 +./etc/rc.d/fccache etc-x11-rc xorg ./etc/rc.d/xdm etc-x11-rc x11 ./etc/rc.d/xdm etc-x11-rc xorg ./etc/rc.d/xfs etc-x11-rc x11 ./etc/rc.d/xfs etc-x11-rc xorg -./etc/rc.d/fccache etc-x11-rc x11 -./etc/rc.d/fccache etc-x11-rc xorg diff --git a/distrib/sets/lists/xserver/md.alpha b/distrib/sets/lists/xserver/md.alpha index 2f4d9a978..b3f1608c5 100644 --- a/distrib/sets/lists/xserver/md.alpha +++ b/distrib/sets/lists/xserver/md.alpha @@ -1,4 +1,4 @@ -# $NetBSD: md.alpha,v 1.32 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.alpha,v 1.35 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XalphaNetBSD -unknown- x11 ./usr/X11R6/bin/XdecNetBSD -unknown- x11 @@ -123,12 +123,11 @@ ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg diff --git a/distrib/sets/lists/xserver/md.amd64 b/distrib/sets/lists/xserver/md.amd64 index 7554685c6..b532c94ff 100644 --- a/distrib/sets/lists/xserver/md.amd64 +++ b/distrib/sets/lists/xserver/md.amd64 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.65 2012/07/24 17:40:05 njoly Exp $ +# $NetBSD: md.amd64,v 1.70 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/gtf -unknown- x11 @@ -476,11 +476,11 @@ ./usr/X11R7/lib/modules/drivers/via_drv.so -unknown- obsolete ./usr/X11R7/lib/modules/drivers/via_drv.so.0 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/vmmouse_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmmouse_drv.so.12 -unknown- xorg +./usr/X11R7/lib/modules/drivers/vmmouse_drv.so.13 -unknown- xorg ./usr/X11R7/lib/modules/drivers/vmware_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmware_drv.so.11 -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so.11 -unknown- xorg +./usr/X11R7/lib/modules/drivers/vmware_drv.so.13 -unknown- xorg +./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so -unknown- obsolete +./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so.11 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/void_drv.so -unknown- obsolete ./usr/X11R7/lib/modules/drivers/void_drv.so.1 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/ws_drv.so -unknown- xorg @@ -504,27 +504,22 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- xorg,debuglib -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete @@ -533,12 +528,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete @@ -555,22 +548,18 @@ ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.so -unknown- xorg ./usr/X11R7/lib/modules/libint10.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libint10_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libint10_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete @@ -583,22 +572,18 @@ ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- xorg,debuglib ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete diff --git a/distrib/sets/lists/xserver/md.bebox b/distrib/sets/lists/xserver/md.bebox index e7f69968d..0e015c24f 100644 --- a/distrib/sets/lists/xserver/md.bebox +++ b/distrib/sets/lists/xserver/md.bebox @@ -1,4 +1,4 @@ -# $NetBSD: md.bebox,v 1.5 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.bebox,v 1.8 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -29,82 +29,66 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.so -unknown- xorg ./usr/X11R7/lib/modules/libint10.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libint10_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg @@ -125,8 +109,8 @@ ./usr/X11R7/man/html4/cirrus.html -unknown- html,xorg ./usr/X11R7/man/html4/exa.html -unknown- html,xorg ./usr/X11R7/man/html4/kbd.html -unknown- html,xorg -./usr/X11R7/man/html4/mousedrv.html -unknown- html,xorg ./usr/X11R7/man/html4/mga.html -unknown- html,xorg +./usr/X11R7/man/html4/mousedrv.html -unknown- html,xorg ./usr/X11R7/man/html4/s3.html -unknown- html,xorg ./usr/X11R7/man/html4/s3virge.html -unknown- html,xorg ./usr/X11R7/man/html4/vga.html -unknown- obsolete diff --git a/distrib/sets/lists/xserver/md.cats b/distrib/sets/lists/xserver/md.cats index f7ccfe402..46137cf7e 100644 --- a/distrib/sets/lists/xserver/md.cats +++ b/distrib/sets/lists/xserver/md.cats @@ -1,4 +1,4 @@ -# $NetBSD: md.cats,v 1.42 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.cats,v 1.45 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/gtf -unknown- x11 @@ -432,134 +432,107 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.dreamcast b/distrib/sets/lists/xserver/md.dreamcast index 93f05f061..3baa69401 100644 --- a/distrib/sets/lists/xserver/md.dreamcast +++ b/distrib/sets/lists/xserver/md.dreamcast @@ -1,4 +1,4 @@ -# $NetBSD: md.dreamcast,v 1.14 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.dreamcast,v 1.17 2013/08/11 22:29:03 joerg Exp $ ./etc/X11/xorg.conf.jpkbd -unknown- xorg ./etc/X11/xorg.conf.uskbd -unknown- xorg ./usr/X11R6/bin/X -unknown- x11 @@ -24,22 +24,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -48,12 +44,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -62,37 +56,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.evbarm b/distrib/sets/lists/xserver/md.evbarm index 66c26684b..17d777167 100644 --- a/distrib/sets/lists/xserver/md.evbarm +++ b/distrib/sets/lists/xserver/md.evbarm @@ -1,4 +1,4 @@ -# $NetBSD: md.evbarm,v 1.2 2012/09/16 20:23:20 nonaka Exp $ +# $NetBSD: md.evbarm,v 1.6 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -19,77 +19,62 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.evbmips b/distrib/sets/lists/xserver/md.evbmips index 9ee5072c9..ad57aae5a 100644 --- a/distrib/sets/lists/xserver/md.evbmips +++ b/distrib/sets/lists/xserver/md.evbmips @@ -18,37 +18,30 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -57,32 +50,26 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/xorg/protocol.txt -unknown- xorg ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.ews4800mips b/distrib/sets/lists/xserver/md.ews4800mips index 8f94d157f..cdbfe5cd0 100644 --- a/distrib/sets/lists/xserver/md.ews4800mips +++ b/distrib/sets/lists/xserver/md.ews4800mips @@ -1,4 +1,4 @@ -# $NetBSD: md.ews4800mips,v 1.9 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.ews4800mips,v 1.12 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/Xews4800mips -unknown- x11 ./usr/X11R6/man/cat1/Xews4800mips.0 -unknown- .cat,x11 @@ -21,22 +21,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -45,12 +41,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -59,37 +53,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.hp300 b/distrib/sets/lists/xserver/md.hp300 index f1910ed62..c645ecf82 100644 --- a/distrib/sets/lists/xserver/md.hp300 +++ b/distrib/sets/lists/xserver/md.hp300 @@ -1,4 +1,4 @@ -# $NetBSD: md.hp300,v 1.11 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.hp300,v 1.14 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -15,22 +15,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -39,12 +35,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -53,37 +47,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.hpcarm b/distrib/sets/lists/xserver/md.hpcarm index 884b640c3..60fcdff41 100644 --- a/distrib/sets/lists/xserver/md.hpcarm +++ b/distrib/sets/lists/xserver/md.hpcarm @@ -1,4 +1,4 @@ -# $NetBSD: md.hpcarm,v 1.13 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.hpcarm,v 1.16 2013/08/11 22:29:03 joerg Exp $ ./etc/X11/xorg.conf.640x240-jp -unknown xorg ./etc/X11/xorg.conf.640x240-us -unknown xorg ./etc/X11/xorg.conf.640x480-jp -unknown xorg @@ -32,22 +32,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -56,12 +52,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -70,37 +64,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.hpcmips b/distrib/sets/lists/xserver/md.hpcmips index 89f43a649..61649e776 100644 --- a/distrib/sets/lists/xserver/md.hpcmips +++ b/distrib/sets/lists/xserver/md.hpcmips @@ -1,4 +1,4 @@ -# $NetBSD: md.hpcmips,v 1.19 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.hpcmips,v 1.22 2013/08/11 22:29:03 joerg Exp $ ./etc/X11/xorg.conf.640x240-jp -unknown xorg ./etc/X11/xorg.conf.640x240-us -unknown xorg ./etc/X11/xorg.conf.640x480-jp -unknown xorg @@ -28,22 +28,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -52,12 +48,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -66,37 +60,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.hpcsh b/distrib/sets/lists/xserver/md.hpcsh index 0e9ce4a85..795be357f 100644 --- a/distrib/sets/lists/xserver/md.hpcsh +++ b/distrib/sets/lists/xserver/md.hpcsh @@ -1,4 +1,4 @@ -# $NetBSD: md.hpcsh,v 1.12 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.hpcsh,v 1.15 2013/08/11 22:29:03 joerg Exp $ ./etc/X11/xorg.conf.640x240-jp -unknown xorg ./etc/X11/xorg.conf.640x240-us -unknown xorg ./etc/X11/xorg.conf.640x480-jp -unknown xorg @@ -28,22 +28,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -52,12 +48,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -66,37 +60,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.i386 b/distrib/sets/lists/xserver/md.i386 index f91300792..f4ba5a6cf 100644 --- a/distrib/sets/lists/xserver/md.i386 +++ b/distrib/sets/lists/xserver/md.i386 @@ -1,4 +1,4 @@ -# $NetBSD: md.i386,v 1.84 2012/07/24 17:40:06 njoly Exp $ +# $NetBSD: md.i386,v 1.89 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/gtf -unknown- x11 @@ -144,27 +144,16 @@ ./usr/X11R6/lib/modules/drivers/wsfb.o -obsolete- obsolete ./usr/X11R6/lib/modules/drivers/wsfb_drv.o -unknown- x11 ./usr/X11R6/lib/modules/extensions/libGLcore.a -unknown- x11 -./usr/X11R6/lib/modules/extensions/libGLcore_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/extensions/libdbe.a -unknown- x11 -./usr/X11R6/lib/modules/extensions/libdbe_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/extensions/libextmod.a -unknown- x11 -./usr/X11R6/lib/modules/extensions/libextmod_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/extensions/libglx.a -unknown- x11 -./usr/X11R6/lib/modules/extensions/libglx_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/extensions/librecord.a -unknown- x11 -./usr/X11R6/lib/modules/extensions/librecord_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/extensions/libxtrap.a -unknown- x11 -./usr/X11R6/lib/modules/extensions/libxtrap_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/fonts/libbitmap.a -unknown- x11 -./usr/X11R6/lib/modules/fonts/libbitmap_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/fonts/libfreetype.a -unknown- x11 -./usr/X11R6/lib/modules/fonts/libfreetype_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/fonts/libspeedo.a -unknown- x11 -./usr/X11R6/lib/modules/fonts/libspeedo_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/fonts/libtype1.a -unknown- x11 -./usr/X11R6/lib/modules/fonts/libtype1_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/fonts/libxtt.a -unknown- x11 -./usr/X11R6/lib/modules/fonts/libxtt_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/input/acecad_drv.o -unknown- x11 ./usr/X11R6/lib/modules/input/calcomp_drv.o -unknown- x11 ./usr/X11R6/lib/modules/input/citron_drv.o -unknown- x11 @@ -189,55 +178,30 @@ ./usr/X11R6/lib/modules/input/void_drv.o -unknown- x11 ./usr/X11R6/lib/modules/input/wacom_drv.o -unknown- x11 ./usr/X11R6/lib/modules/libafb.a -unknown- x11 -./usr/X11R6/lib/modules/libafb_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libcfb.a -unknown- x11 -./usr/X11R6/lib/modules/libcfb_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libcfb16.a -unknown- x11 -./usr/X11R6/lib/modules/libcfb16_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libcfb24.a -unknown- x11 -./usr/X11R6/lib/modules/libcfb24_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libcfb32.a -unknown- x11 -./usr/X11R6/lib/modules/libcfb32_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libddc.a -unknown- x11 -./usr/X11R6/lib/modules/libddc_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libfb.a -unknown- x11 -./usr/X11R6/lib/modules/libfb_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libi2c.a -unknown- x11 -./usr/X11R6/lib/modules/libi2c_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libint10.a -unknown- x11 -./usr/X11R6/lib/modules/libint10_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/liblayer.a -unknown- x11 -./usr/X11R6/lib/modules/liblayer_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libmfb.a -unknown- x11 -./usr/X11R6/lib/modules/libmfb_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libpcidata.a -unknown- x11 -./usr/X11R6/lib/modules/libpcidata_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/librac.a -unknown- x11 -./usr/X11R6/lib/modules/librac_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libramdac.a -unknown- x11 -./usr/X11R6/lib/modules/libramdac_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libscanpci.a -unknown- x11 -./usr/X11R6/lib/modules/libscanpci_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libshadow.a -unknown- x11 -./usr/X11R6/lib/modules/libshadow_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libshadowfb.a -unknown- x11 -./usr/X11R6/lib/modules/libshadowfb_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libvbe.a -unknown- x11 -./usr/X11R6/lib/modules/libvbe_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libvgahw.a -unknown- x11 -./usr/X11R6/lib/modules/libvgahw_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libxaa.a -unknown- x11 -./usr/X11R6/lib/modules/libxaa_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libxf1bpp.a -unknown- x11 -./usr/X11R6/lib/modules/libxf1bpp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libxf24_32bpp.a -unknown- x11 -./usr/X11R6/lib/modules/libxf24_32bpp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libxf4bpp.a -unknown- x11 -./usr/X11R6/lib/modules/libxf4bpp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libxf8_16bpp.a -unknown- x11 -./usr/X11R6/lib/modules/libxf8_16bpp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/libxf8_32bpp.a -unknown- x11 -./usr/X11R6/lib/modules/libxf8_32bpp_g.a -unknown- debuglib,x11 ./usr/X11R6/lib/modules/v10002d.uc -unknown- x11 ./usr/X11R6/lib/modules/v20002d.uc -unknown- x11 ./usr/X11R6/man/cat1/XFree86.0 -unknown- .cat,x11 @@ -487,10 +451,10 @@ ./usr/X11R7/lib/modules/drivers/cyrix_drv.so.1 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/elographics_drv.so -unknown- xorg ./usr/X11R7/lib/modules/drivers/elographics_drv.so.1 -unknown- xorg -./usr/X11R7/lib/modules/drivers/glint_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/glint_drv.so.1 -unknown- xorg ./usr/X11R7/lib/modules/drivers/geode_drv.so -unknown- xorg ./usr/X11R7/lib/modules/drivers/geode_drv.so.2 -unknown- xorg +./usr/X11R7/lib/modules/drivers/glint_drv.so -unknown- xorg +./usr/X11R7/lib/modules/drivers/glint_drv.so.1 -unknown- xorg ./usr/X11R7/lib/modules/drivers/i128_drv.so -unknown- xorg ./usr/X11R7/lib/modules/drivers/i128_drv.so.1 -unknown- xorg ./usr/X11R7/lib/modules/drivers/i740_drv.so -unknown- xorg @@ -552,11 +516,11 @@ ./usr/X11R7/lib/modules/drivers/via_drv.so -unknown- obsolete ./usr/X11R7/lib/modules/drivers/via_drv.so.0 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/vmmouse_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmmouse_drv.so.12 -unknown- xorg +./usr/X11R7/lib/modules/drivers/vmmouse_drv.so.13 -unknown- xorg ./usr/X11R7/lib/modules/drivers/vmware_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmware_drv.so.11 -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so -unknown- xorg -./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so.11 -unknown- xorg +./usr/X11R7/lib/modules/drivers/vmware_drv.so.13 -unknown- xorg +./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so -unknown- obsolete +./usr/X11R7/lib/modules/drivers/vmwlegacy_drv.so.11 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/void_drv.so -unknown- obsolete ./usr/X11R7/lib/modules/drivers/void_drv.so.1 -unknown- obsolete ./usr/X11R7/lib/modules/drivers/ws_drv.so -unknown- xorg @@ -568,7 +532,6 @@ ./usr/X11R7/lib/modules/extensions/libGLcore.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libGLcore.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libGLcore.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libGLcore_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libGLcore_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb.so -unknown- obsolete @@ -576,134 +539,107 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.so -unknown- xorg ./usr/X11R7/lib/modules/libint10.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libint10_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.luna68k b/distrib/sets/lists/xserver/md.luna68k index 44b3e9f5b..a9afd3a42 100644 --- a/distrib/sets/lists/xserver/md.luna68k +++ b/distrib/sets/lists/xserver/md.luna68k @@ -1,4 +1,4 @@ -# $NetBSD: md.luna68k,v 1.8 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.luna68k,v 1.11 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -15,22 +15,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -39,12 +35,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -53,37 +47,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.macppc b/distrib/sets/lists/xserver/md.macppc index 46b945a94..305cfbb58 100644 --- a/distrib/sets/lists/xserver/md.macppc +++ b/distrib/sets/lists/xserver/md.macppc @@ -1,4 +1,4 @@ -# $NetBSD: md.macppc,v 1.61 2012/10/13 21:21:52 jmmv Exp $ +# $NetBSD: md.macppc,v 1.64 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/Xmacppc -unknown- x11 @@ -367,134 +367,107 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.so -unknown- xorg ./usr/X11R7/lib/modules/libint10.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libint10_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.netwinder b/distrib/sets/lists/xserver/md.netwinder index 868a3b7c1..223aeecf3 100644 --- a/distrib/sets/lists/xserver/md.netwinder +++ b/distrib/sets/lists/xserver/md.netwinder @@ -1,4 +1,4 @@ -# $NetBSD: md.netwinder,v 1.27 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.netwinder,v 1.30 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/gtf -unknown- x11 @@ -282,64 +282,51 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -348,67 +335,54 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.newsmips b/distrib/sets/lists/xserver/md.newsmips index 1bdba6c3d..76cf89a1d 100644 --- a/distrib/sets/lists/xserver/md.newsmips +++ b/distrib/sets/lists/xserver/md.newsmips @@ -1,4 +1,4 @@ -# $NetBSD: md.newsmips,v 1.8 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.newsmips,v 1.11 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/Xnewsmips -unknown- x11 ./usr/X11R6/man/cat1/Xnewsmips.0 -unknown- .cat,x11 @@ -22,22 +22,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -46,12 +42,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -60,37 +54,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.ofppc b/distrib/sets/lists/xserver/md.ofppc index 364e534c7..8415014a6 100644 --- a/distrib/sets/lists/xserver/md.ofppc +++ b/distrib/sets/lists/xserver/md.ofppc @@ -1,4 +1,4 @@ -# $NetBSD: md.ofppc,v 1.14 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.ofppc,v 1.17 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/gtf -unknown- x11 @@ -305,12 +305,12 @@ ./usr/X11R6/man/man4/wacom.4 -unknown- .man,x11 ./usr/X11R6/man/man4/wsfb.4 -unknown- .man,x11 ./usr/X11R6/man/man5/XF86Config.5 -unknown- .man,x11 -./usr/X11R7/lib/X11/doc/README.fonts -unknown- obsolete ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg ./usr/X11R7/bin/gtf -unknown- xorg ./usr/X11R7/lib/X11/doc/README.DRI -unknown- obsolete +./usr/X11R7/lib/X11/doc/README.fonts -unknown- obsolete ./usr/X11R7/lib/X11/doc/README.modes -unknown- xorg ./usr/X11R7/lib/X11/doc/README.rapidaccess -unknown- obsolete ./usr/X11R7/lib/modules/dri/mach64_dri.so -unknown- xorg @@ -356,37 +356,30 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -395,42 +388,34 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.so -unknown- xorg ./usr/X11R7/lib/modules/libint10.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libint10_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.prep b/distrib/sets/lists/xserver/md.prep index 0d3f223f4..b85e4af3e 100644 --- a/distrib/sets/lists/xserver/md.prep +++ b/distrib/sets/lists/xserver/md.prep @@ -1,4 +1,4 @@ -# $NetBSD: md.prep,v 1.9 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.prep,v 1.12 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -27,82 +27,66 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.so -unknown- xorg ./usr/X11R7/lib/modules/libint10.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libint10_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libint10_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg @@ -122,8 +106,8 @@ ./usr/X11R7/man/html4/cirrus.html -unknown- html,xorg ./usr/X11R7/man/html4/exa.html -unknown- html,xorg ./usr/X11R7/man/html4/kbd.html -unknown- html,xorg -./usr/X11R7/man/html4/mousedrv.html -unknown- html,xorg ./usr/X11R7/man/html4/mga.html -unknown- html,xorg +./usr/X11R7/man/html4/mousedrv.html -unknown- html,xorg ./usr/X11R7/man/html4/s3.html -unknown- html,xorg ./usr/X11R7/man/html4/vga.html -unknown- obsolete ./usr/X11R7/man/html4/ws.html -unknown- html,xorg diff --git a/distrib/sets/lists/xserver/md.sgimips b/distrib/sets/lists/xserver/md.sgimips index 6a86ca9db..1b497033f 100644 --- a/distrib/sets/lists/xserver/md.sgimips +++ b/distrib/sets/lists/xserver/md.sgimips @@ -1,4 +1,4 @@ -# $NetBSD: md.sgimips,v 1.42 2011/08/03 01:43:26 mrg Exp $ x11 +# $NetBSD: md.sgimips,v 1.45 2013/08/11 22:29:03 joerg Exp $ x11 ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/Xprt -unknown- x11 @@ -427,64 +427,51 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -493,67 +480,54 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.shark b/distrib/sets/lists/xserver/md.shark index cfdeb0042..9eb756b9d 100644 --- a/distrib/sets/lists/xserver/md.shark +++ b/distrib/sets/lists/xserver/md.shark @@ -1,4 +1,4 @@ -# $NetBSD: md.shark,v 1.39 2011/10/08 18:00:40 christos Exp $ +# $NetBSD: md.shark,v 1.42 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/gtf -unknown- x11 @@ -275,134 +275,107 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libint10.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so -unknown- obsolete ./usr/X11R7/lib/modules/libint10.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libint10_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libint10_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.sparc b/distrib/sets/lists/xserver/md.sparc index 2e45cc19d..e32af0030 100644 --- a/distrib/sets/lists/xserver/md.sparc +++ b/distrib/sets/lists/xserver/md.sparc @@ -1,4 +1,4 @@ -# $NetBSD: md.sparc,v 1.51 2011/08/03 01:43:26 mrg Exp $ +# $NetBSD: md.sparc,v 1.54 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/Xsun -unknown- x11 @@ -346,29 +346,23 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -377,32 +371,26 @@ ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -411,62 +399,50 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.sparc64 b/distrib/sets/lists/xserver/md.sparc64 index 239647911..0e40316a4 100644 --- a/distrib/sets/lists/xserver/md.sparc64 +++ b/distrib/sets/lists/xserver/md.sparc64 @@ -1,4 +1,4 @@ -# $NetBSD: md.sparc64,v 1.49 2011/08/03 01:19:47 mrg Exp $ x11 +# $NetBSD: md.sparc64,v 1.52 2013/08/11 22:29:03 joerg Exp $ x11 ./usr/X11R6/bin/X -unknown- x11 ./usr/X11R6/bin/XFree86 -unknown- x11 ./usr/X11R6/bin/Xsun -unknown- x11 @@ -339,129 +339,103 @@ ./usr/X11R7/lib/modules/extensions/libcfb32.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb32_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb32_pic.a -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libcfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libcfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libglx_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libglx_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libmfb.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libmfb_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libmfb_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libxtrap.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/extensions/libxtrap_g.a -unknown- obsolete ./usr/X11R7/lib/modules/extensions/libxtrap_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libfreetype_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libfreetype_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/fonts/libtype1_g.a -unknown- obsolete ./usr/X11R7/lib/modules/fonts/libtype1_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg ./usr/X11R7/lib/modules/libexa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libexa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libexa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libpcidata.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libpcidata_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libpcidata_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libscanpci_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libscanpci_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf1bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf1bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf1bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf4bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf4bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_32bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_32bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.vax b/distrib/sets/lists/xserver/md.vax index 063645223..95abc4549 100644 --- a/distrib/sets/lists/xserver/md.vax +++ b/distrib/sets/lists/xserver/md.vax @@ -1,4 +1,4 @@ -# $NetBSD: md.vax,v 1.8 2012/05/14 08:42:04 abs Exp $ +# $NetBSD: md.vax,v 1.11 2013/08/11 22:29:03 joerg Exp $ ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -15,22 +15,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -39,12 +35,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -53,32 +47,26 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/md.zaurus b/distrib/sets/lists/xserver/md.zaurus index c3294feff..615da532b 100644 --- a/distrib/sets/lists/xserver/md.zaurus +++ b/distrib/sets/lists/xserver/md.zaurus @@ -1,7 +1,7 @@ -# $NetBSD: md.zaurus,v 1.9 2012/02/10 11:25:42 tsutsui Exp $ -./etc/X11/xorg.conf.sample -unknown- obsolete +# $NetBSD: md.zaurus,v 1.12 2013/08/11 22:29:03 joerg Exp $ ./etc/X11/xorg.conf.C3x00 -unknown- xorg ./etc/X11/xorg.conf.C7x0 -unknown- xorg +./etc/X11/xorg.conf.sample -unknown- obsolete ./usr/X11R7/bin/X -unknown- xorg ./usr/X11R7/bin/Xorg -unknown- xorg ./usr/X11R7/bin/cvt -unknown- xorg @@ -22,22 +22,18 @@ ./usr/X11R7/lib/modules/extensions/libdbe.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri_g.a -unknown- debuglib,xorg -./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libdri2.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libdri2_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libdri2_pic.a -unknown- xorg +./usr/X11R7/lib/modules/extensions/libdri_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libextmod.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libextmod_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libextmod_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libglx.so -unknown- xorg @@ -46,12 +42,10 @@ ./usr/X11R7/lib/modules/extensions/librecord.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/librecord.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/librecord_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/librecord_pic.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.a -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so -unknown- xorg ./usr/X11R7/lib/modules/extensions/libshadow.so.0 -unknown- xorg -./usr/X11R7/lib/modules/extensions/libshadow_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/extensions/libshadow_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.a -unknown- xorg ./usr/X11R7/lib/modules/libexa.so -unknown- xorg @@ -60,37 +54,30 @@ ./usr/X11R7/lib/modules/libfb.a -unknown- xorg ./usr/X11R7/lib/modules/libfb.so -unknown- xorg ./usr/X11R7/lib/modules/libfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.a -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so -unknown- xorg ./usr/X11R7/lib/modules/libi2c.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libi2c_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libi2c_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.a -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so -unknown- xorg ./usr/X11R7/lib/modules/libshadowfb.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libshadowfb_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libshadowfb_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.a -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so -unknown- xorg ./usr/X11R7/lib/modules/libvbe.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvbe_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvbe_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.a -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so -unknown- xorg ./usr/X11R7/lib/modules/libvgahw.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libvgahw_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libvgahw_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.a -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so -unknown- xorg ./usr/X11R7/lib/modules/libxaa.so.0 -unknown- xorg -./usr/X11R7/lib/modules/libxaa_g.a -unknown- debuglib,xorg ./usr/X11R7/lib/modules/libxaa_pic.a -unknown- xorg ./usr/X11R7/lib/modules/libxf8_16bpp.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp.so.0 -unknown- obsolete -./usr/X11R7/lib/modules/libxf8_16bpp_g.a -unknown- obsolete ./usr/X11R7/lib/modules/libxf8_16bpp_pic.a -unknown- obsolete ./usr/X11R7/man/cat1/Xorg.0 -unknown- .cat,xorg ./usr/X11R7/man/cat1/cvt.0 -unknown- .cat,xorg diff --git a/distrib/sets/lists/xserver/mi b/distrib/sets/lists/xserver/mi index f9f73256d..59059f934 100644 --- a/distrib/sets/lists/xserver/mi +++ b/distrib/sets/lists/xserver/mi @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.32 2011/03/09 18:55:56 mrg Exp $ +# $NetBSD: mi,v 1.33 2013/02/09 17:17:36 christos Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -54,8 +54,8 @@ ./usr/X11R6/man/man1/xvidtune.1 -unknown- .man,x11 ./usr/X11R7/bin/Xnest -unknown- xorg ./usr/X11R7/bin/Xvfb -unknown- xorg -./usr/X11R7/lib/modules/dri/mesa_dri.so -unknown- xorg -./usr/X11R7/lib/modules/dri/mesa_dri.so.0 -unknown- xorg +./usr/X11R7/lib/modules/dri/libmesa_dri.so -unknown- xorg +./usr/X11R7/lib/modules/dri/libmesa_dri.so.0 -unknown- xorg ./usr/X11R7/lib/modules/dri/swrast_dri.so -unknown- xorg ./usr/X11R7/lib/modules/dri/swrast_dri.so.0 -unknown- xorg ./usr/X11R7/man/cat1/Xmark.0 -unknown- .cat,xorg diff --git a/distrib/sets/makeflist b/distrib/sets/makeflist index 691f90ddf..1badfb8f7 100755 --- a/distrib/sets/makeflist +++ b/distrib/sets/makeflist @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: makeflist,v 1.76 2009/12/05 15:56:25 cegger Exp $ +# $NetBSD: makeflist,v 1.77 2013/01/14 20:29:26 christos Exp $ # # Print out the files in some or all lists. # Usage: makeflist [-bxlo] [-a arch] [-m machine] [-s setsdir] [setname ...] @@ -29,7 +29,7 @@ USAGE } # handle args -while getopts L:bxXloa:m:s: ch; do +while getopts L:bxloa:m:s: ch; do case ${ch} in L) save_IFS="${IFS}" diff --git a/distrib/sets/maketars b/distrib/sets/maketars index d91c6acf0..bd8532e0d 100644 --- a/distrib/sets/maketars +++ b/distrib/sets/maketars @@ -1,13 +1,13 @@ #!/bin/sh # -# $NetBSD: maketars,v 1.74 2010/08/15 07:27:33 mrg Exp $ +# $NetBSD: maketars,v 1.80 2013/02/07 16:27:41 christos Exp $ # # Make release tar files for some or all lists. Usage: # maketars [-b] [-x] [-i installdir] [-a arch] [-m machine] [-s setsdir] # [-M metalog] [-N etcdir] [-d destdir] [-t tardir] [setname ...] # -# The default sets are "base comp etc games man misc tests text" -# The X sets are "xbase xcomp xetc xfont xserver" +# The default sets are "base comp debug etc games man misc tests text" +# The X sets are "xbase xcomp xdebug xetc xfont xserver" # The extsrc sets are "extbase extcomp extetc" # # If '-i installdir' is given, copy the given sets to installdir @@ -28,6 +28,7 @@ installdir= etcdir= setfilesonly=false quiet=false +skipkeys=time,md5,sha1,sha384,sha512,rmd160,cksum usage() { @@ -166,8 +167,8 @@ for setname in ${lists}; do echo >&2 "makeflist output is empty for ${setname}" exit 1 fi + ${setfilesonly} && msg "Creating ${setlistdir}/set.${setname}" if [ -n "${metalog}" ]; then - ${setfilesonly} && msg "Creating ${setlistdir}/set.${setname}" ${AWK} -f "${rundir}/getdirs.awk" "${SDIR}/flist.${setname}" \ > "${SDIR}/flist.${setname}.full" \ || exit 1 @@ -176,22 +177,28 @@ for setname in ${lists}; do ${AWK} -f "${rundir}/join.awk" \ "${SDIR}/flist.${setname}.full" "${metalog}" echo "./etc/mtree/set.${setname} type=file mode=0444" - ) | ${MTREE} -CS -k all -R time -N "${etcdir}" \ + ) | ${MTREE} -CS -k all -R "${skipkeys}" -N "${etcdir}" \ > "${setlistdir}/set.${setname}" \ || exit 1 # We deliberately do not add set.${setname} to ${metalog}, # because we depend on it as an input. - elif ! cmp -s "${SDIR}/flist.${setname}" \ - "${setlistdir}/set.${setname}" >/dev/null 2>&1; then - rm -f "${setlistdir}/set.${setname}" - cp "${SDIR}/flist.${setname}" "${setlistdir}/set.${setname}" \ - || exit 1 + else + ${MTREE} -c -p "${dest}" -k all -R "${skipkeys}" \ + -O "${SDIR}/flist.${setname}" | ${MTREE} -C -k all > \ + "${setlistdir}/set.${setname}" fi done if ${setfilesonly}; then # exit after creating the set lists exit 0 fi +runpax() { + local s="$1" + shift + (cd "${dest}" && + ${PAX} -dOw -N"${etcdir}" -M "$@" < "${setlistdir}/set.${s}") +} + # # now build the tarfiles # @@ -203,9 +210,7 @@ for setname in ${lists:-${nlists}}; do out="${setname}.tgz" if [ -n "${installdir}" ]; then msg "Copying set ${setname}" - ( cd "${dest}"; \ - ${PAX} -O -rwpe -d -N"${etcdir}" ${metalog:+-M} \ - "${installdir}" < "${setlistdir}/set.${setname}" ) + runpax "${setname}" -rpe "${installdir}" else if [ -n "${metalog}" -a "${tars}/${out}" -nt "${metalog}" ] then @@ -215,11 +220,8 @@ for setname in ${lists:-${nlists}}; do msg "Creating ${out}" rm -f "${tars}/${out}" TMPFILES="${TMPFILES} ${tars}/${out}.tmp" - ( cd "${dest}"; \ - ${PAX} -O -w -d -z -N"${etcdir}" ${metalog:+-M} \ - --use-compress-program ${COMPRESS_PROGRAM} \ - < "${setlistdir}/set.${setname}" ) \ - > "${tars}/${out}.tmp" && + runpax "${setname}" -z --use-compress-program \ + ${COMPRESS_PROGRAM} > "${tars}/${out}.tmp" && mv "${tars}/${out}.tmp" "${tars}/${out}" fi es=$((${es} + $?)) diff --git a/distrib/sets/mkvars.mk b/distrib/sets/mkvars.mk index 8076bacf7..c6d940799 100644 --- a/distrib/sets/mkvars.mk +++ b/distrib/sets/mkvars.mk @@ -1,4 +1,4 @@ -# $NetBSD: mkvars.mk,v 1.6 2011/11/02 14:42:43 he Exp $ +# $NetBSD: mkvars.mk,v 1.13 2013/10/14 16:00:16 joerg Exp $ MKEXTRAVARS= \ MACHINE \ @@ -6,7 +6,8 @@ MKEXTRAVARS= \ MACHINE_CPU \ HAVE_GCC \ HAVE_GDB \ - HAS_SSP \ + HAVE_LIBGCC \ + HAVE_SSP \ OBJECT_FMT \ TOOLCHAIN_MISSING \ EXTSRCS \ @@ -16,19 +17,26 @@ MKEXTRAVARS= \ MKCOMPATMODULES \ MKDYNAMICROOT \ MKMANPAGES \ + MKSLJIT \ + MKSOFTFLOAT \ MKXORG \ + MKXORG_SERVER \ X11FLAVOR \ USE_INET6 \ USE_KERBEROS \ USE_LDAP \ USE_YP \ NETBSDSRCDIR \ - MAKEVERBOSE + MAKEVERBOSE \ + TARGET_ENDIANNESS \ + EABI \ + ARCH64 ##### .include .include +.include .if (${MKMAN} == "no" || empty(MANINSTALL:Mmaninstall)) MKMANPAGES=no @@ -45,6 +53,18 @@ MKXORG:=no . endif .endif +.if (!empty(MACHINE_ARCH:Mearm*)) +EABI=yes +.else +EABI=no +.endif + +.if (!empty(MACHINE_ARCH:M*64*) || ${MACHINE_ARCH} == alpha) +ARCH64=yes +.else +ARCH64=no +.endif + ##### mkvars: mkvarsyesno mkextravars mksolaris .PHONY diff --git a/distrib/sets/regpkg b/distrib/sets/regpkg index 941617bbb..66cf80805 100755 --- a/distrib/sets/regpkg +++ b/distrib/sets/regpkg @@ -1,6 +1,6 @@ #! /bin/sh # -# $NetBSD: regpkg,v 1.19 2009/12/02 15:52:14 apb Exp $ +# $NetBSD: regpkg,v 1.20 2012/11/03 07:59:46 mbalmer Exp $ # # Copyright (c) 2003,2009 The NetBSD Foundation, Inc. # All rights reserved. @@ -628,7 +628,7 @@ EOF # "@name" line and a lot of "@comment MD5:" lines. # { - rcsid='$NetBSD: regpkg,v 1.19 2009/12/02 15:52:14 apb Exp $' + rcsid='$NetBSD: regpkg,v 1.20 2012/11/03 07:59:46 mbalmer Exp $' utcdate="$(${ENV_CMD} TZ=UTC LOCALE=C \ ${DATE} '+%Y-%m-%d %H:%M')" user="${USER:-root}" @@ -992,7 +992,7 @@ do_register_syspkg() } # -# do_create_syspkg_tgz() creates the the binary pkg (*.tgz) if +# do_create_syspkg_tgz() creates the binary pkg (*.tgz) if # appropriate. # # If binpkgfile already exists, that might be an error, depending on diff --git a/distrib/sets/regpkgset b/distrib/sets/regpkgset index 4e1f1c4e6..a8803fdfa 100755 --- a/distrib/sets/regpkgset +++ b/distrib/sets/regpkgset @@ -123,7 +123,7 @@ if [ $# -lt 1 ]; then fi case "$1" in -all) list="${nlists}" ;; +all) list="${nlists}" ;; # For MINIX, see sets.subr *) list="$*" ;; esac diff --git a/distrib/sets/sets.subr b/distrib/sets/sets.subr index 7ee0228ef..06180ceb8 100644 --- a/distrib/sets/sets.subr +++ b/distrib/sets/sets.subr @@ -1,4 +1,4 @@ -# $NetBSD: sets.subr,v 1.138 2012/08/08 14:08:01 christos Exp $ +# $NetBSD: sets.subr,v 1.156 2013/10/14 16:00:16 joerg Exp $ # # @@ -19,7 +19,7 @@ # HAVE_BINUTILS # HAVE_GCC # HAVE_GDB -# HAS_SSP +# HAVE_SSP # TOOLCHAIN_MISSING # OBJECT_FMT # as well as: @@ -144,6 +144,13 @@ if [ "${MKATF}" = "no" ]; then else testset="tests" fi +if [ "${MKDEBUG}" = "no" ]; then + debugset="" + xdebugset="" +else + debugset="debug" + xdebugset="xdebug" +fi # Determine lib type. Do this first so stlib also gets set. if [ "${OBJECT_FMT}" = "ELF" ]; then shlib=elf @@ -156,9 +163,9 @@ if [ "${MKPIC}" = "no" ]; then shlib=no fi # LSC for Minix -#nlists="base comp etc games man misc $modset $testset text" nlists="minix $testset" -xlists="xbase xcomp xetc xfont xserver" +#nlists="base comp $debugset etc games man misc $modset $testset text" +xlists="xbase xcomp $xdebugset xetc xfont xserver" extlists="extbase extcomp extetc" OSRELEASE=$(${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh -k) @@ -174,7 +181,7 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g" # In each file, a record consists of a path and a System Package name, # separated by whitespace. E.g., # -# # $NetBSD: sets.subr,v 1.138 2012/08/08 14:08:01 christos Exp $ +# # $NetBSD: sets.subr,v 1.156 2013/10/14 16:00:16 joerg Exp $ # . base-sys-root [keyword[,...]] # ./altroot base-sys-root # ./bin base-sys-root @@ -223,12 +230,18 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g" # kyua ${MKKYUA} != no # ldap ${MKLDAP} != no # lint ${MKLINT} != no +# libcxx ${MKLIBCXX} != no +# libgcc ${HAVE_LIBGCC} != no +# libstdcxx ${MKLIBSTDCXX} != no +# lld ${MKLLD} != no +# lldb ${MKLLDB} != no # llvm ${MKLLVM} != no # lvm ${MKLVM} != no # makemandb ${MKMAKEMANDB} != no # man ${MKMAN} != no # manpages ${MKMANPAGES} != no # manz ${MKMANZ} != no +# mclinker ${MKMCLINKER} != no # mdns ${MKMDNS} != no # nls ${MKNLS} != no # nvi ${MKNVI} != no @@ -242,13 +255,18 @@ SUBST="${SUBST};s#@MACHINE@#${MACHINE}#g" # rump ${MKRUMP} != no # share ${MKSHARE} != no # skey ${MKSKEY} != no +# sljit ${MKSLJIT} != no +# softfloat ${MKSOFTFLOAT} != no # solaris ${MKDTRACE} != no or ${MKZFS} != no -# ssp ${HAS_SSP} != no +# ssp ${HAVE_SSP} != no +# tpm ${MKTPM} != no # x11 ${MKX11} != no && ${X11FLAVOUR} != "Xorg" # xorg ${MKX11} != no && ${X11FLAVOUR} == "Xorg" +# xorg_server ${MKXORG_SERVER} != no # yp ${MKYP} != no # zfs ${MKZFS} != no # +# endian= = value of ${TARGET_ENDIANNESS} # binutils= = value of ${HAVE_BINUTILS} # gcc= = value of ${HAVE_GCC} # gdb= = value of ${HAVE_GDB} @@ -281,8 +299,9 @@ list_set_files() nv = needvars[vi] kw = tolower(nv) sub(/^mk/, "", kw) - sub(/^has_/, "", kw) - if (ENVIRON[nv] != "no") + sub(/^have_/, "", kw) + sub(/^target_endianness/, "endian", kw) + if (nv != "HAVE_GCC" && ENVIRON[nv] != "no") wanted[kw] = 1 } @@ -298,6 +317,8 @@ list_set_files() wanted[".cat"] = 1 if (("man" in wanted) && ("manpages" in wanted)) wanted[".man"] = 1 + if ("endian" in wanted) + wanted["endian=" "'"${TARGET_ENDIANNESS}"'"] = 1 } /^#/ { diff --git a/distrib/sets/sort-list b/distrib/sets/sort-list new file mode 100755 index 000000000..4b9aa2e15 --- /dev/null +++ b/distrib/sets/sort-list @@ -0,0 +1,7 @@ +#!/bin/sh + +while [ $# != 0 ]; do + ( grep '^#' $1; grep -v '^#' $1 | LC_ALL=C sort ) > $1.tmp + mv $1.tmp $1 + shift +done diff --git a/drivers/Makefile b/drivers/Makefile index d5c626e3e..176a2d956 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -6,27 +6,33 @@ .if ${MKIMAGEONLY} == "yes" .if ${MACHINE_ARCH} == "i386" -SUBDIR= at_wini floppy tty pci pckbd +SUBDIR= at_wini floppy pci pckbd .endif .if ${MACHINE_ARCH} == "earm" -SUBDIR= tty +SUBDIR= .endif +# Drivers available on all platforms +SUBDIR+= tty + .else # ${MKIMAGEONLY} != "yes" .if ${MACHINE_ARCH} == "i386" SUBDIR= ahci amddev atl2 at_wini audio dec21140A dp8390 dpeth \ - e1000 fbd filter floppy fxp hello lance log mmc orinoco pci pckbd \ - printer random readclock rtl8139 rtl8169 ti1225 tty uds vbox acpi \ - virtio_blk virtio_net vnd + e1000 fbd filter floppy fxp hello lance orinoco pci pckbd \ + printer rtl8139 rtl8169 ti1225 vbox acpi \ + virtio_blk virtio_net .endif .if ${MACHINE_ARCH} == "earm" -SUBDIR= bmp085 cat24c256 fb gpio i2c mmc lan8710a log readclock \ - sht21 tda19988 tps65217 tps65950 tsl2550 tty random uds vnd +SUBDIR= bmp085 cat24c256 fb gpio i2c lan8710a \ + sht21 tda19988 tps65217 tps65950 tsl2550 .endif +# Drivers available on all platforms +SUBDIR+= log mmc random tty uds vnd readclock + .endif # ${MKIMAGEONLY} != "yes" # memory driver must be last for ramdisk image diff --git a/drivers/amddev/amddev.c b/drivers/amddev/amddev.c index 913d3a545..c84c8b3f6 100644 --- a/drivers/amddev/amddev.c +++ b/drivers/amddev/amddev.c @@ -14,6 +14,7 @@ Driver for the AMD Device Exclusion Vector (DEV) #include #include #include +#include #include #include #include diff --git a/drivers/dec21140A/dec21140A.c b/drivers/dec21140A/dec21140A.c index 7dab36fbe..8c5a4a184 100644 --- a/drivers/dec21140A/dec21140A.c +++ b/drivers/dec21140A/dec21140A.c @@ -494,7 +494,7 @@ static void do_vread_s(const message * mp, int from_int) incomplete frames to us, so this hack is safe */ if(size<60){ - bzero(&descr->buf1[size], 60-size); + memset(&descr->buf1[size], 0, 60-size); size=60; } /* End ugly hack */ diff --git a/drivers/memory/memory.c b/drivers/memory/memory.c index 29c1ebb5f..fb5aeaa33 100644 --- a/drivers/memory/memory.c +++ b/drivers/memory/memory.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "kernel/const.h" #include "kernel/config.h" diff --git a/drivers/orinoco/orinoco.c b/drivers/orinoco/orinoco.c index 182b3776a..501638a57 100644 --- a/drivers/orinoco/orinoco.c +++ b/drivers/orinoco/orinoco.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include "kernel/const.h" diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 5f476d584..5a4baf7f3 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -9,6 +9,7 @@ Created: Jan 2000 by Philip Homburg #include #include #include +#include #include #include #include diff --git a/drivers/ramdisk/Makefile b/drivers/ramdisk/Makefile index c21e2ef7f..ccbccfbd0 100644 --- a/drivers/ramdisk/Makefile +++ b/drivers/ramdisk/Makefile @@ -31,7 +31,7 @@ ETC= system.conf master.passwd group EXTRA= rc PROTO_FILES= proto.common.etc proto.common.dynamic PROG_DRIVERS= -PROG_COMMANDS= mount umount grep fsck.mfs sh service loadramdisk sysenv +PROG_COMMANDS= mount umount grep fsck_mfs sh service loadramdisk sysenv PROG_SERVERS= input mfs procfs PROG_BIN= PROG_SBIN= @@ -129,6 +129,7 @@ ${PROGROOT}/lib/${lib}/${lib}.so.0: # Generate dependencies rules for binaries dir.sh:= ash +dir.fsck_mfs:= fsck.mfs .for srcdir in bin sbin commands drivers libexec servers usr.bin usr.sbin .for prog in ${PROG_${srcdir:tu}} ${prog}: ${PROGROOT}/${srcdir}/${dir.${prog}:U${prog}}/${prog} diff --git a/drivers/ramdisk/proto b/drivers/ramdisk/proto index 2852fe6e8..2dbc2c3de 100644 --- a/drivers/ramdisk/proto +++ b/drivers/ramdisk/proto @@ -7,7 +7,7 @@ d--755 0 0 #endif sysenv ---755 0 0 sysenv #if RAMDISK_SMALL == 1 - fsck.mfs ---755 0 0 fsck.mfs + fsck_mfs ---755 0 0 fsck_mfs #endif mount ---755 0 0 mount umount ---755 0 0 umount diff --git a/drivers/ramdisk/rc b/drivers/ramdisk/rc index d249cd501..b9bfabbc5 100644 --- a/drivers/ramdisk/rc +++ b/drivers/ramdisk/rc @@ -5,7 +5,7 @@ exec >/dev/log exec 2>/dev/log exec #include #include +#include #include #include "ti1225.h" diff --git a/drivers/vbox/hgcm.c b/drivers/vbox/hgcm.c index 46599901c..c230e1d02 100644 --- a/drivers/vbox/hgcm.c +++ b/drivers/vbox/hgcm.c @@ -1,4 +1,6 @@ /* VirtualBox driver - by D.C. van Moolenbroek */ +#include + #include #include #include diff --git a/etc/Makefile b/etc/Makefile index 08cb513bf..1b36115c1 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.398 2012/08/17 16:59:26 riz Exp $ +# $NetBSD: Makefile,v 1.410 2013/08/19 16:34:29 matt Exp $ # from: @(#)Makefile 8.7 (Berkeley) 5/25/95 # Environment variables without default values: @@ -55,7 +55,7 @@ DISTRIBVER!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh .if !defined(__MINIX) # LSC: We do not yet support iso creation anyway, then do not try to find it. .if !defined(MKISOFS) -MKISOFS!= (which mkisofs || echo true) +MKISOFS!= (which mkisofs || echo true) 2>/dev/null .endif DISTRIBREV!= ${HOST_SH} ${KERNSRCDIR}/conf/osrelease.sh -s # ISO 9660 volume ID. Note that this can only contain [A-Z0-9_]. @@ -104,10 +104,10 @@ BIN1+= bootptab changelist csh.cshrc csh.login \ ftpusers gettytab gpio.conf group hosts hosts.lpd inetd.conf \ locate.conf login.conf mailer.conf man.conf monthly monthly.conf \ mrouted.conf named.conf netconfig networks newsyslog.conf \ - nsswitch.conf ntp.conf passwd.conf phones printcap profile protocols \ - rbootd.conf rc rc.conf rc.local rc.subr rc.shutdown remote rpc \ - security security.conf services shells shrc sysctl.conf syslog.conf \ - weekly weekly.conf wscons.conf + nsswitch.conf ntp.conf passwd.conf pkgpath.conf phones printcap \ + profile protocols rbootd.conf rc rc.conf rc.local rc.subr \ + rc.shutdown remote rpc security security.conf services shells \ + shrc sysctl.conf syslog.conf weekly weekly.conf wscons.conf # Use machine-specific disktab if it exists, or the MI one otherwise .if exists(etc.${MACHINE}/disktab) @@ -116,7 +116,7 @@ BIN1+= etc.${MACHINE}/disktab BIN1+= disktab .endif -.if exists(etc.${MACHINE}/ld.so.conf) +.if exists(etc.${MACHINE}/ld.so.conf) && empty(MACHINE_ARCH:M*arm*hf*) BIN1+= etc.${MACHINE}/ld.so.conf .endif @@ -125,21 +125,8 @@ BIN1+= etc.${MACHINE}/ttyaction .endif # -rw-rw-r-- -.if !empty(DISTRIBVER:M*.99.*) -BIN2+= motd.current -FILESNAME_motd.current= motd -.elif !empty(DISTRIBVER:M*BETA*) -BIN2+= motd.beta -FILESNAME_motd.beta= motd -.elif !empty(DISTRIBVER:M*RC*) -BIN2+= motd.rc -FILESNAME_motd.rc= motd -.elif !empty(DISTRIBVER:M*STABLE*) -BIN2+= motd.stable -FILESNAME_motd.stable= motd -.else BIN2+= motd -.endif +FILESBUILD_motd= YES # -rw------- BIN3+= hosts.equiv @@ -184,6 +171,26 @@ distribution: .PHONY .MAKE check_DESTDIR distrib-dirs .endif # !DISTRIBUTION_DONE +.if !defined(__MINIX) +# motd is copied from a different ${MOTD_SOURCE} depending on DISTRIBVER +# +.if !empty(DISTRIBVER:M*.99.*) +MOTD_SOURCE= motd.current +.elif !empty(DISTRIBVER:M*BETA*) +MOTD_SOURCE= motd.beta +.elif !empty(DISTRIBVER:M*RC*) +MOTD_SOURCE= motd.rc +.elif !empty(DISTRIBVER:M*STABLE*) +MOTD_SOURCE= motd.stable +.else +MOTD_SOURCE= motd.default +.endif +CLEANFILES+= motd +motd: ${.CURDIR}/${MOTD_SOURCE} ${_NETBSD_VERSION_DEPENDS} + ${_MKTARGET_CREATE} + ${HOST_INSTALL_FILE} ${.CURDIR}/${MOTD_SOURCE} ${.TARGET} +.endif # !defined(__MINIX) + CLEANFILES+= MAKEDEV .if !defined(__MINIX) MAKEDEV: ${.CURDIR}/MAKEDEV.awk ${.CURDIR}/MAKEDEV.tmpl \ @@ -202,40 +209,7 @@ MAKEDEV: .PHONY fi .endif # !defined(__MINIX) -RELEASEVARS= BSDOBJDIR BSDSRCDIR BUILDID \ - DESTDIR EXTERNAL_TOOLCHAIN HAVE_GCC HAVE_GDB \ - INSTALLWORLDDIR \ - KERNARCHDIR KERNCONFDIR KERNOBJDIR KERNSRCDIR \ - MACHINE MACHINE_ARCH MAKE MAKECONF MAKEFLAGS \ - MAKEOBJDIR MAKEOBJDIRPREFIX MAKEVERBOSE \ - MKBFD MKBINUTILS MKCATPAGES \ - MKCRYPTO MKCRYPTO_RC5 MKCVS \ - MKDEBUG MKDEBUGLIB MKDOC MKDTRACE MKDYNAMICROOT \ - MKGCC MKGCCCMDS MKGDB \ - MKHESIOD MKHTML MKIEEEFP MKINET6 MKINFO MKIPFILTER \ - MKKERBEROS MKLDAP MKLINKLIB MKLINT \ - MKMAN MKMANZ MKMDNS MKNLS MKNPF MKOBJ MKOBJDIRS \ - MKPAM MKPF MKPIC MKPICINSTALL MKPICLIB MKPOSTFIX MKPROFILE \ - MKSHARE MKSKEY MKSOFTFLOAT MKSTATICLIB \ - MKUNPRIVED MKUPDATE MKX11 MKYP \ - NBUILDJOBS NETBSDSRCDIR \ - NOCLEANDIR NODISTRIBDIRS NOINCLUDES \ - OBJMACHINE \ - RELEASEDIR RELEASEMACHINEDIR TOOLCHAIN_MISSING TOOLDIR \ - USE_HESIOD USE_INET6 USE_JEMALLOC USE_KERBEROS USE_LDAP \ - USE_PAM USE_SKEY USE_YP \ - USETOOLS USR_OBJMACHINE \ - X11SRCDIR X11FLAVOUR - -params: .PHONY -.for var in ${RELEASEVARS} -.if defined(${var}) - @printf "%20s = '%-s'\n" ${var} ${${var}:Q} -.else - @printf "%20s = (undefined)\n" ${var} -.endif -.endfor - +.include "${NETBSDSRCDIR}/etc/Makefile.params" CLEANFILES+= etc-release etc-release: .EXEC .MAKE ${_MKTARGET_CREATE} @@ -247,7 +221,7 @@ etc-release: .EXEC .MAKE printf "%20s %s\n" "Build date" "$$(date -u)"; \ printf "%20s %s\n" "Built by" "$${USER-root}@$$(hostname)"; \ echo ; \ - (cd ${.CURDIR}; ${MAKE} ${MFLAGS} -j1 params); \ + ${PRINT_PARAMS} ; \ ) >${.OBJDIR}/${.TARGET} install-etc-release: .PHONY etc-release @@ -317,8 +291,10 @@ install-etc-files: .PHONY .MAKE check_DESTDIR MAKEDEV ${DESTDIR}/etc/master.passwd .if ${MKUNPRIVED} != "no" ( \ - for metaent in passwd pwd.db spwd.db; do \ - echo "./etc/$${metaent} type=file mode=0644 uname=root gname=operator tags=etc_pkg"; \ + mode=0600; \ + for metaent in spwd.db passwd pwd.db; do \ + echo "./etc/$${metaent} type=file mode=$${mode} uname=root gname=operator tags=etc_pkg"; \ + mode=0644; \ done; \ ) | ${METALOG.add} .endif # MKUNPRIVED != no @@ -477,7 +453,10 @@ OBSOLETE.dir= ${.OBJDIR}/obsolete.dir OBSOLETE.files= base comp etc games man misc text .else OBSOLETE.files= minix -.endif # defined(__MINIX) +.endif # !defined(__MINIX) +.if ${MKDEBUG} != "no" +OBSOLETE.files+= debug +.endif .if ${MKKMOD} != "no" OBSOLETE.files+= modules .endif @@ -674,6 +653,7 @@ snap_post: .PHONY .MAKE build_kernelsets build_releasekernels # external sources (such as make(1)'s environment or command line) # ALL_KERNELS?= ${KERNEL_SETS} ${EXTRA_KERNELS} ${BUILD_KERNELS} +.export ALL_KERNELS GETKERNELAWK= ${TOOL_AWK} '/^config/ {print $$2; found=1} \ END{ if (found == 0) print "netbsd"; }' @@ -704,6 +684,8 @@ build_kernelsets: .PHONY # ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets # .for configfile in ${KERNEL_SETS} # { +.for configsel in ${ALL_KERNELS} +.if ${configfile} == ${configsel} build_kernelsets: kernset-${configfile} kernset-${configfile}: .PHONY build_kernels snap_pre @ kernlist=$$(${GETKERNELAWK} ${KERNCONFDIR}/${configfile}); \ @@ -731,6 +713,8 @@ kernset-${configfile}: .PHONY build_kernels snap_pre done ) | eval $${pax_cmd}; \ } \ } +.endif +.endfor .endfor # KERNEL_SETS # } build_releasekernels: .PHONY @@ -738,6 +722,8 @@ build_releasekernels: .PHONY # ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/kernel # .for configfile in ${KERNEL_SETS} ${EXTRA_KERNELS} # { +.for configsel in ${ALL_KERNELS} +.if ${configfile} == ${configsel} build_releasekernels: releasekern-${configfile} releasekern-${configfile}: .PHONY build_kernels snap_pre @ kernlist=$$(${GETKERNELAWK} ${KERNCONFDIR}/${configfile:C/.*\///}); \ @@ -756,6 +742,8 @@ releasekern-${configfile}: .PHONY build_kernels snap_pre done; \ done; \ } +.endif +.endfor .endfor # KERNEL_SETS EXTRA_KERNELS # } # snap_md_post -- @@ -773,7 +761,7 @@ clean: SUBDIR= defaults rc.d mtree .else SUBDIR= devmand defaults mtree -.endif # defined(__MINIX) +.endif # !defined(__MINIX) .include .include diff --git a/etc/Makefile.params b/etc/Makefile.params new file mode 100644 index 000000000..5a0c2a34d --- /dev/null +++ b/etc/Makefile.params @@ -0,0 +1,130 @@ +# $NetBSD: Makefile.params,v 1.7 2013/11/01 11:09:05 apb Exp $ +# +# Makefile fragment for printing build parameters. +# +# Public variables: +# RELEASEVARS +# List of variables whose value should be printed. +# +# PRINT_PARAMS +# A command to print the desired variables and values +# to stdout, without any additional debugging information. +# Values are printed as single-quoted strings, with +# embedded quotes and newlines escaped in a way that's +# acceptable to sh(1). Undefined values are printed +# as "(undefined)" (without quotation marks). +# +# Internal targets: +# _params: +# Prints the names and values of all the variables +# listed in ${RELEASEVARS}. The desired results may be +# redirected somewhere other than stdout, for example by +# setting _params_redirect='>&3'. stdout and stderr may +# contain unwanted debugging information, from make and +# the shell. +# +# Internal variables: +# _params_redirect: +# If set, this should be a shell redirection specification, such +# as '>&3', controlling where the output from "make _params" will +# be sent. +# +# Example: +# . ${NETBSDSRCDIR}/etc/Makefile.params +# show-params: .MAKE .PHONY # print params to stdout +# @${PRINT_PARAMS} +# + +.include # for some variables +.include # for more variables + +RELEASEVARS= BSDOBJDIR BSDSRCDIR BUILDID \ + DESTDIR DISTRIBVER EXTERNAL_TOOLCHAIN HAVE_GCC HAVE_GDB \ + HAVE_LLVM HAVE_PCC INSTALLWORLDDIR \ + KERNARCHDIR KERNCONFDIR KERNOBJDIR KERNSRCDIR \ + MACHINE MACHINE_ARCH MAKE MAKECONF MAKEFLAGS \ + MAKEOBJDIR MAKEOBJDIRPREFIX MAKEVERBOSE \ + MKATF MKBFD MKBINUTILS MKCATPAGES \ + MKCRYPTO MKCRYPTO_RC5 MKCVS \ + MKDEBUG MKDEBUGLIB MKDOC MKDTRACE MKDYNAMICROOT \ + MKGCC MKGCCCMDS MKGDB \ + MKHESIOD MKHTML MKIEEEFP MKINET6 MKINFO MKIPFILTER \ + MKKERBEROS MKKYUA MKLDAP MKLINKLIB MKLINT MKLLVM \ + MKMAN MKMANZ MKMDNS MKNLS MKNPF MKOBJ MKOBJDIRS \ + MKPAM MKPCC MKPF MKPIC MKPICINSTALL MKPICLIB MKPOSTFIX \ + MKPROFILE \ + MKSHARE MKSKEY MKSOFTFLOAT MKSTATICLIB \ + MKUNPRIVED MKUPDATE MKX11 MKYP \ + NBUILDJOBS NETBSDSRCDIR \ + NOCLEANDIR NODISTRIBDIRS NOINCLUDES \ + OBJMACHINE \ + RELEASEDIR RELEASEMACHINEDIR TOOLCHAIN_MISSING TOOLDIR \ + USE_HESIOD USE_INET6 USE_JEMALLOC USE_KERBEROS USE_LDAP \ + USE_PAM USE_SKEY USE_YP \ + USETOOLS USR_OBJMACHINE \ + X11SRCDIR X11FLAVOUR + + +# +# Duplicate the DISTRIBVER setting from src/etc/Makefile. +# +.ifndef DISTRIBVER +DISTRIBVER!= ${HOST_SH} ${NETBSDSRCDIR}/sys/conf/osrelease.sh +.endif + +# +# _params does the printing. +# +_params_redirect?= # empty + +_params: .PHONY +.for var in ${RELEASEVARS} +.if defined(${var}) + @printf "%20s = '%-s'\n" ${var} ${${var}:C/'/'\\\\''/gW:Q} \ + ${_params_redirect} +.else + @printf "%20s = (undefined)\n" ${var} \ + ${_params_redirect} +.endif +.endfor + +# PRINT_PARAMS: +# +# The output from the "make _params" can include the following types of +# unwanted lines: +# +# make -j prints "--- _params ---"; +# +# if MAKEVERBOSE is set to 3 or more then make prints each "printf" +# command in addition to executing it; +# +# if MAKEVERBOSE is set to 4 then the shell prints each command +# (prefixed with "+"). +# +# So the resulting output can look like this: +# +# --- _params --- +# + echo 'printf "%20s = '\''%-s'\''\n" BSDOBJDIR /usr/obj' +# printf "%20s = '%-s'\n" BSDOBJDIR /usr/obj +# + printf '%20s = '\''%-s'\''\n' BSDOBJDIR /usr/obj +# BSDOBJDIR = '/usr/obj' +# + echo 'printf "%20s = '\''%-s'\''\n" BSDSRCDIR /usr/src' +# printf "%20s = '%-s'\n" BSDSRCDIR /usr/src +# + printf '%20s = '\''%-s'\''\n' BSDSRCDIR /usr/src +# BSDSRCDIR = '/usr/src' +# [...] +# +# where what we want is just this: +# +# BSDOBJDIR = '/usr/obj' +# BSDSRCDIR = '/usr/src' +# [...] +# +# The shell redirections in ${PRINT_PARAMS} ensure that the unwanted +# noise is discarded (via ">/dev/null"), while the desired information +# ends up on the subshell's stdout (via ">&3" and "3>&1"). The value +# of _params_redirect is passed in the environment instead of on the +# command line, to prevent it from appearing in MAKEFLAGS (which would +# appear in the output). +# +PRINT_PARAMS:= (_params_redirect='>&3' ${MAKE} -f ${.PARSEDIR:Q}/${.PARSEFILE:Q} _params 3>&1 >/dev/null) diff --git a/etc/defaults/Makefile b/etc/defaults/Makefile index 8b6d1d191..9fa7717e2 100644 --- a/etc/defaults/Makefile +++ b/etc/defaults/Makefile @@ -1,9 +1,9 @@ -# $NetBSD: Makefile,v 1.5 2011/08/22 20:48:38 jym Exp $ +# $NetBSD: Makefile,v 1.6 2013/05/01 05:36:25 agc Exp $ .include .if !defined(__MINIX) -CONFIGFILES= daily.conf monthly.conf security.conf weekly.conf +CONFIGFILES= daily.conf monthly.conf pkgpath.conf security.conf weekly.conf .else CONFIGFILES= minix.rc.conf .endif # !defined(__MINIX) diff --git a/etc/man.conf b/etc/man.conf index 6b954cbd5..37a89194f 100644 --- a/etc/man.conf +++ b/etc/man.conf @@ -1,4 +1,4 @@ -# $NetBSD: man.conf,v 1.31 2012/10/06 15:33:59 wiz Exp $ +# $NetBSD: man.conf,v 1.34 2013/10/25 08:19:46 mbalmer Exp $ # Sheer, raging paranoia... _version BSD.2 @@ -7,7 +7,7 @@ _version BSD.2 _mandb /var/db/man.db # Subdirectories for paths ending in '/', IN SEARCH ORDER. -_subdir cat1 man1 cat8 man8 cat6 man6 cat2 man2 cat3 man3 cat4 man4 cat5 man5 cat7 man7 man3f cat9 man9 catn mann catl manl +_subdir cat1 man1 cat8 man8 cat6 man6 cat2 man2 cat3 cat3lua man3 man3lua cat4 man4 cat5 man5 cat7 man7 man3f cat9 cat9lua man9 man9lua catn mann catl manl # Files typed by suffix and their commands. # Note the order, .Z must come after .[1-9].Z, or it will match first. @@ -16,6 +16,7 @@ _build .0.Z /usr/bin/zcat %s _build .0.bz2 /usr/bin/bzcat %s _build .0.gz /usr/bin/zcat %s _build .0.xz /usr/bin/xzcat %s +_build .[1-9][a-z]* /usr/bin/mandoc %s _build .[1-9ln] /usr/bin/mandoc %s _build .[1-9ln].Z /usr/bin/zcat %s | /usr/bin/mandoc _build .[1-9ln].bz2 /usr/bin/bzcat %s | /usr/bin/mandoc @@ -30,7 +31,7 @@ _build .tbl.xz /usr/bin/xzcat %s | /usr/bin/mandoc _build .me /usr/bin/nroff -msafer -me %s 2>/dev/null | cat -s _crunch .Z /usr/bin/zcat > %s -_crunch .bz /usr/bin/bzcat > %s +_crunch .bz2 /usr/bin/bzcat > %s _crunch .gz /usr/bin/zcat > %s _crunch .xz /usr/bin/xzcat > %s @@ -39,7 +40,7 @@ _crunch .xz /usr/bin/xzcat > %s # directory with all of the subdirectories listed for the keyword _subdir. # default -# MINIX: Add /usr/man ... +# LSC, for MINIX: Add /usr/man ... _default /usr/{,share,X11R7,X11R6,pkg,local}/man/ # Other sections that represent complete man subdirectories. @@ -54,12 +55,16 @@ local /usr/local/man/ 3 {cat,man}3 3F {cat,man}3f 3f {cat,man}3f +3lua {cat,man}3lua +3l {cat,man}3lua 4 {cat,man}4 5 {cat,man}5 6 {cat,man}6 7 {cat,man}7 8 {cat,man}8 9 {cat,man}9 +9lua {cat,man}9lua +9l {cat,man}9lua l {cat,man}l n {cat,man}n diff --git a/etc/mtree/Makefile b/etc/mtree/Makefile index 9eecf16b7..21124a7f0 100644 --- a/etc/mtree/Makefile +++ b/etc/mtree/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.22 2011/09/10 17:02:46 apb Exp $ +# $NetBSD: Makefile,v 1.24 2013/10/16 14:50:43 christos Exp $ .include @@ -18,10 +18,11 @@ EXTRA_DIST_FILES+= ${.CURDIR}/Minix.gcccmds # XXX these are only used by compat currently, but they could be used # by something else; this may need to be fixed properly in the future. -# TAC these are used by Minix for arch-specific content. .if ${MKCOMPAT} != "no" || defined(__MINIX) .if exists(NetBSD.dist.${MACHINE_ARCH}) EXTRA_DIST_FILES+= ${.CURDIR}/NetBSD.dist.${MACHINE_ARCH} +.elif !empty(MACHINE_ARCH:Mearm*) +EXTRA_DIST_FILES+= ${.CURDIR}/NetBSD.dist.earm .endif .endif @@ -59,7 +60,7 @@ TOOL_MTREE.unpriv= -W # the Makefile. # emit_dist_file: - cat ${.CURDIR}/NetBSD.dist.base ${EXTRA_DIST_FILES} + @cat ${.CURDIR}/NetBSD.dist.base ${EXTRA_DIST_FILES} distrib-dirs: .PHONY check_DESTDIR NetBSD.dist .if !defined(DISTRIBUTION_DONE) # { diff --git a/etc/mtree/NetBSD.dist.base b/etc/mtree/NetBSD.dist.base index edff60217..e1972712f 100644 --- a/etc/mtree/NetBSD.dist.base +++ b/etc/mtree/NetBSD.dist.base @@ -48,13 +48,18 @@ ./usr/include/compat/machine ./usr/include/ddekit ./usr/include/ddekit/minix +./usr/include/fs ./usr/include/g++ ./usr/include/i386 ./usr/include/lutok ./usr/include/lzma +./usr/include/isofs +./usr/include/isofs/cd9660 ./usr/include/minix +./usr/include/msdosfs ./usr/include/net ./usr/include/net/gen +./usr/include/ppath ./usr/include/prop ./usr/include/protocols ./usr/include/readline @@ -75,6 +80,8 @@ ./usr/lib/flex ./usr/lib/fonts ./usr/lib/keymaps +./usr/lib/lua +./usr/lib/lua/5.1 ./usr/lib/pkgconfig ./usr/libexec ./usr/log @@ -106,6 +113,8 @@ ./usr/share/info ./usr/share/misc ./usr/share/mk +./usr/share/nvi +./usr/share/nvi/catalog ./usr/share/terminfo ./usr/share/zoneinfo ./usr/share/zoneinfo/Africa diff --git a/etc/mtree/NetBSD.dist.tests b/etc/mtree/NetBSD.dist.tests index 6aeca1e3f..c0270cbb1 100644 --- a/etc/mtree/NetBSD.dist.tests +++ b/etc/mtree/NetBSD.dist.tests @@ -1,6 +1,6 @@ -# $NetBSD: NetBSD.dist.tests,v 1.96 2013/03/21 19:17:51 christos Exp $ +# $NetBSD: NetBSD.dist.tests,v 1.98 2013/08/11 03:53:12 dholland Exp $ -# LSC Do not take for granted that the last thing done in the previous file +# LSC: Do not take for granted that the last thing done in the previous file # was standard directories... /set type=dir uid=0 gid=0 mode=0755 @@ -330,6 +330,7 @@ ./usr/tests/net/icmp ./usr/tests/net/if ./usr/tests/net/if_loop +./usr/tests/net/mpls ./usr/tests/net/net ./usr/tests/net/npf ./usr/tests/net/route @@ -388,6 +389,7 @@ ./usr/tests/usr.bin/shmif_dumpbus ./usr/tests/usr.bin/sort ./usr/tests/usr.bin/tmux +./usr/tests/usr.bin/tr ./usr/tests/usr.bin/unifdef ./usr/tests/usr.bin/xlint ./usr/tests/usr.bin/xlint/lint1 diff --git a/etc/mtree/special b/etc/mtree/special index f4e151e3d..681649b20 100644 --- a/etc/mtree/special +++ b/etc/mtree/special @@ -1,4 +1,4 @@ -# $NetBSD: special,v 1.142 2012/06/28 16:34:07 kefren Exp $ +# $NetBSD: special,v 1.146 2013/07/09 09:34:58 roy Exp $ # @(#)special 8.2 (Berkeley) 1/23/94 # # This file may be overwritten on upgrades. @@ -193,6 +193,7 @@ ./etc/rc.d/cgd type=file mode=0555 ./etc/rc.d/cleartmp type=file mode=0555 ./etc/rc.d/cron type=file mode=0555 +./etc/rc.d/devpubd type=file mode=0555 ./etc/rc.d/dhclient type=file mode=0555 ./etc/rc.d/dhcpd type=file mode=0555 ./etc/rc.d/dhcrelay type=file mode=0555 @@ -310,6 +311,8 @@ ./etc/ssh/ssh_config type=file mode=0644 optional ./etc/ssh/ssh_host_dsa_key type=file mode=0600 optional tags=nodiff ./etc/ssh/ssh_host_dsa_key.pub type=file mode=0644 optional +./etc/ssh/ssh_host_ecdsa_key type=file mode=0600 optional tags=nodiff +./etc/ssh/ssh_host_ecdsa_key.pub type=file mode=0644 optional ./etc/ssh/ssh_host_key type=file mode=0600 optional tags=nodiff ./etc/ssh/ssh_host_key.pub type=file mode=0644 optional ./etc/ssh/ssh_host_rsa_key type=file mode=0600 optional tags=nodiff @@ -392,6 +395,10 @@ ./var/chroot/ntpd/var/db type=dir mode=0775 gname=ntpd ./var/chroot/ntpd/var/run type=dir mode=0775 gname=ntpd ./var/chroot/pflogd type=dir mode=0755 +./var/chroot/rtadvd type=dir mode=0755 +./var/chroot/rtadvd/etc type=dir mode=0755 +./var/chroot/rtadvd/var type=dir mode=0755 +./var/chroot/rtadvd/var/run type=dir mode=0775 gname=_rtadvd ./var/chroot/sshd type=dir mode=0755 ./var/chroot/tcpdump type=dir mode=0755 ./var/chroot/tftp-proxy type=dir mode=0755 diff --git a/etc/protocols b/etc/protocols index 1726ef545..1561f35a2 100755 --- a/etc/protocols +++ b/etc/protocols @@ -1,19 +1,278 @@ +# $NetBSD: protocols,v 1.26 2013/02/22 03:42:06 christos Exp $ +# See also: protocols(5), http://www.sethwklein.net/projects/iana-etc/ # -# Internet (IP) protocols -# -# @(#)protocols 8.1 (Berkeley) 6/9/93 -# -ip 0 IP # internet protocol, pseudo protocol number -icmp 1 ICMP # internet control message protocol -igmp 2 IGMP # internet group management protocol -ggp 3 GGP # gateway-gateway protocol -tcp 6 TCP # transmission control protocol -egp 8 EGP # exterior gateway protocol -pup 12 PUP # PARC universal packet protocol -udp 17 UDP # user datagram protocol -hmp 20 HMP # host monitoring protocol -xns-idp 22 XNS-IDP # Xerox NS IDP -rdp 27 RDP # reliable data protocol -iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4 -iso-ip 80 ISO-IP # ISO Internet Protocol -encap 98 ENCAP # RFC1241 encapsulation +# Last Updated +# 2013-02-17 +# +# This registry is also available in plain text. +# +# Registry included below +# +# * Assigned Internet Protocol Numbers +# +# Assigned Internet Protocol Numbers +# +# Registration Procedure(s) +# +# IESG Approval or Standards Action +# +# Reference +# [RFC5237] +# +# Note +# +# In the Internet Protocol version 4 (IPv4) [RFC791] there is a field +# called "Protocol" to identify the next level protocol. This is an 8 +# bit field. In Internet Protocol version 6 (IPv6) [RFC2460], this field +# is called the "Next Header" field. +# +# Decimal Keyword Protocol Reference +# protocol num aliases # comments +hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option [RFC2460] +icmp 1 ICMP # Internet Control Message [RFC792] +igmp 2 IGMP # Internet Group Management [RFC1112] +ggp 3 GGP # Gateway-to-Gateway [RFC823] +ipv4 4 IPv4 # IPv4 encapsulation [RFC2003] +st 5 ST # Stream [RFC1190][RFC1819] +tcp 6 TCP # Transmission Control [RFC793] +cbt 7 CBT # CBT [Tony_Ballardie] +egp 8 EGP # Exterior Gateway Protocol [RFC888][David_Mills] +igp 9 IGP # any private interior gateway (used by [Internet_Assigned_Numbers_Authority] +# Cisco for their IGRP) +bbn-rcc-mon 10 BBN-RCC-MON # BBN RCC Monitoring [Steve_Chipman] +nvp-ii 11 NVP-II # Network Voice Protocol [RFC741][Steve_Casner] +# [Boggs, D., J. Shoch, E. Taft, and R. Metcalfe, "PUP: An Internetwork +pup 12 PUP # PUP Architecture", XEROX Palo Alto Research Center, CSL-79-10, July 1979; also in IEEE +# Transactions on Communication, Volume COM-28, Number 4, April 1980.][[XEROX]] +argus 13 ARGUS # ARGUS [Robert_W_Scheifler] +emcon 14 EMCON # EMCON [] +xnet 15 XNET # Cross Net Debugger [Haverty, J., "XNET Formats for Internet Protocol Version 4", IEN 158, October +# 1980.][Jack_Haverty] +chaos 16 CHAOS # Chaos [J_Noel_Chiappa] +udp 17 UDP # User Datagram [RFC768][Jon_Postel] +mux 18 MUX # Multiplexing [Cohen, D. and J. Postel, "Multiplexing Protocol", IEN 90, USC/Information +# Sciences Institute, May 1979.][Jon_Postel] +dcn-meas 19 DCN-MEAS # DCN Measurement Subsystems [David_Mills] +hmp 20 HMP # Host Monitoring [RFC869][Bob_Hinden] +prm 21 PRM # Packet Radio Measurement [Zaw_Sing_Su] +# ["The Ethernet, A Local Area Network: Data Link Layer and Physical Layer +# Specification", AA-K759B-TK, Digital Equipment Corporation, Maynard, MA. Also as: +# "The Ethernet - A Local Area Network", Version 1.0, Digital Equipment Corporation, +xns-idp 22 XNS-IDP # XEROX NS IDP Intel Corporation, Xerox Corporation, September 1980. And: "The Ethernet, A Local +# Area Network: Data Link Layer and Physical Layer Specifications", Digital, Intel +# and Xerox, November 1982. And: XEROX, "The Ethernet, A Local Area Network: Data +# Link Layer and Physical Layer Specification", X3T51/80-50, Xerox Corporation, +# Stamford, CT., October 1980.][[XEROX]] +trunk-1 23 TRUNK-1 # Trunk-1 [Barry_Boehm] +trunk-2 24 TRUNK-2 # Trunk-2 [Barry_Boehm] +leaf-1 25 LEAF-1 # Leaf-1 [Barry_Boehm] +leaf-2 26 LEAF-2 # Leaf-2 [Barry_Boehm] +rdp 27 RDP # Reliable Data Protocol [RFC908][Bob_Hinden] +irtp 28 IRTP # Internet Reliable Transaction [RFC938][Trudy_Miller] +iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4 [RFC905][] +netblt 30 NETBLT # Bulk Data Transfer Protocol [RFC969][David_Clark] +# [Shuttleworth, B., "A Documentary of MFENet, a National Computer Network", +mfe-nsp 31 MFE-NSP # MFE Network Services Protocol UCRL-52317, Lawrence Livermore Labs, Livermore, California, June +# 1977.][Barry_Howard] +merit-inp 32 MERIT-INP # MERIT Internodal Protocol [Hans_Werner_Braun] +dccp 33 DCCP # Datagram Congestion Control Protocol [RFC4340] +3pc 34 3PC # Third Party Connect Protocol [Stuart_A_Friedberg] +idpr 35 IDPR # Inter-Domain Policy Routing Protocol [Martha_Steenstrup] +xtp 36 XTP # XTP [Greg_Chesson] +ddp 37 DDP # Datagram Delivery Protocol [Wesley_Craig] +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto [Martha_Steenstrup] +tp++ 39 TP++ # TP++ Transport Protocol [Dirk_Fromhein] +il 40 IL # IL Transport Protocol [Dave_Presotto] +ipv6 41 IPv6 # IPv6 encapsulation [RFC2473] +sdrp 42 SDRP # Source Demand Routing Protocol [Deborah_Estrin] +ipv6-route 43 IPv6-Route # Routing Header for IPv6 [Steve_Deering] +ipv6-frag 44 IPv6-Frag # Fragment Header for IPv6 [Steve_Deering] +idrp 45 IDRP # Inter-Domain Routing Protocol [Sue_Hares] +rsvp 46 RSVP # Reservation Protocol [RFC2205][RFC3209][Bob_Braden] +gre 47 GRE # Generic Routing Encapsulation [RFC1701][Tony_Li] +dsr 48 DSR # Dynamic Source Routing Protocol [RFC4728] +bna 49 BNA # BNA [Gary Salamon] +esp 50 ESP # Encap Security Payload [RFC4303] +ah 51 AH # Authentication Header [RFC4302] +i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA [K_Robert_Glenn] +swipe 53 SWIPE # IP with Encryption [John_Ioannidis] +narp 54 NARP # NBMA Address Resolution Protocol [RFC1735] +mobile 55 MOBILE # IP Mobility [Charlie_Perkins] +tlsp 56 TLSP # Transport Layer Security Protocol [Christer_Oberg] +# using Kryptonet key management +skip 57 SKIP # SKIP [Tom_Markson] +ipv6-icmp 58 IPv6-ICMP # ICMP for IPv6 [RFC2460] +ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6 [RFC2460] +ipv6-opts 60 IPv6-Opts # Destination Options for IPv6 [RFC2460] +# 61 any host internal protocol [Internet_Assigned_Numbers_Authority] +cftp 62 CFTP # CFTP [Forsdick, H., "CFTP", Network Message, Bolt Beranek and Newman, January +# 1982.][Harry_Forsdick] +# 63 any local network [Internet_Assigned_Numbers_Authority] +sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK [Steven_Blumenthal] +kryptolan 65 KRYPTOLAN # Kryptolan [Paul Liu] +rvd 66 RVD # MIT Remote Virtual Disk Protocol [Michael_Greenwald] +ippc 67 IPPC # Internet Pluribus Packet Core [Steven_Blumenthal] +# 68 any distributed file system [Internet_Assigned_Numbers_Authority] +sat-mon 69 SAT-MON # SATNET Monitoring [Steven_Blumenthal] +visa 70 VISA # VISA Protocol [Gene_Tsudik] +ipcv 71 IPCV # Internet Packet Core Utility [Steven_Blumenthal] +cpnx 72 CPNX # Computer Protocol Network Executive [David Mittnacht] +cphb 73 CPHB # Computer Protocol Heart Beat [David Mittnacht] +wsn 74 WSN # Wang Span Network [Victor Dafoulas] +pvp 75 PVP # Packet Video Protocol [Steve_Casner] +br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring [Steven_Blumenthal] +sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary [William_Melohn] +wb-mon 78 WB-MON # WIDEBAND Monitoring [Steven_Blumenthal] +wb-expak 79 WB-EXPAK # WIDEBAND EXPAK [Steven_Blumenthal] +iso-ip 80 ISO-IP # ISO Internet Protocol [Marshall_T_Rose] +vmtp 81 VMTP # VMTP [Dave_Cheriton] +secure-vmtp 82 SECURE-VMTP # SECURE-VMTP [Dave_Cheriton] +vines 83 VINES # VINES [Brian Horn] +ttp 84 TTP iptm IPTM # TTP [Jim_Stevens] +#iptm 84 IPTM # Protocol Internet Protocol Traffic [Jim_Stevens] +# Manager +nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP [Hans_Werner_Braun] +dgp 86 DGP # Dissimilar Gateway Protocol [M/A-COM Government Systems, "Dissimilar Gateway Protocol Specification, Draft +# Version", Contract no. CS901145, November 16, 1987.][Mike_Little] +tcf 87 TCF # TCF [Guillermo_A_Loyola] +eigrp 88 EIGRP # EIGRP [Cisco Systems, "Gateway Server Reference Manual", Manual Revision B, January 10, +# 1988.][Guenther_Schreiner] +ospfigp 89 OSPFIGP # OSPFIGP [RFC1583][RFC2328][RFC5340][John_Moy] +# [Welch, B., "The Sprite Remote Procedure Call System", Technical Report, +sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol UCB/Computer Science Dept., 86/302, University of California at Berkeley, June +# 1986.][Bruce Willins] +larp 91 LARP # Locus Address Resolution Protocol [Brian Horn] +mtp 92 MTP # Multicast Transport Protocol [Susie_Armstrong] +ax.25 93 AX.25 # AX.25 Frames [Brian_Kantor] +ipip 94 IPIP # IP-within-IP Encapsulation Protocol [John_Ioannidis] +micp 95 MICP # Mobile Internetworking Control Pro. [John_Ioannidis] +scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro. [Howard_Hart] +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation [RFC3378] +encap 98 ENCAP # Encapsulation Header [RFC1241][Robert_Woodburn] +# 99 any private encryption scheme [Internet_Assigned_Numbers_Authority] +gmtp 100 GMTP # GMTP [[RXB5]] +ifmp 101 IFMP # Ipsilon Flow Management Protocol [Bob_Hinden][November 1995, 1997.] +pnni 102 PNNI # PNNI over IP [Ross_Callon] +pim 103 PIM # Protocol Independent Multicast [RFC4601][Dino_Farinacci] +aris 104 ARIS # ARIS [Nancy_Feldman] +scps 105 SCPS # SCPS [Robert_Durst] +qnx 106 QNX # QNX [Michael_Hunter] +a/n 107 A/N # Active Networks [Bob_Braden] +ipcomp 108 IPComp # IP Payload Compression Protocol [RFC2393] +snp 109 SNP # Sitara Networks Protocol [Manickam_R_Sridhar] +compaq-peer 110 Compaq-Peer # Compaq Peer Protocol [Victor_Volpe] +ipx-in-ip 111 IPX-in-IP # IPX in IP [CJ_Lee] +vrrp 112 VRRP # Virtual Router Redundancy Protocol [RFC5798] +pgm 113 PGM # PGM Reliable Transport Protocol [Tony_Speakman] +# 114 any 0-hop protocol [Internet_Assigned_Numbers_Authority] +l2tp 115 L2TP # Layer Two Tunneling Protocol [RFC3931][Bernard_Aboba] +ddx 116 DDX # D-II Data Exchange (DDX) [John_Worley] +iatp 117 IATP # Interactive Agent Transfer Protocol [John_Murphy] +stp 118 STP # Schedule Transfer Protocol [Jean_Michel_Pittet] +srp 119 SRP # SpectraLink Radio Protocol [Mark_Hamilton] +uti 120 UTI # UTI [Peter_Lothberg] +smp 121 SMP # Simple Message Protocol [Leif_Ekblad] +sm 122 SM # SM [Jon_Crowcroft] +ptp 123 PTP # Performance Transparency Protocol [Michael_Welzl] +isis 124 ISIS # over IPv4 [Tony_Przygienda] +fire 125 FIRE # [Criag_Partridge] +crtp 126 CRTP # Combat Radio Transport Protocol [Robert_Sautter] +crudp 127 CRUDP # Combat Radio User Datagram [Robert_Sautter] +sscopmce 128 SSCOPMCE # [Kurt_Waber] +iplt 129 IPLT # [[Hollbach]] +sps 130 SPS # Secure Packet Shield [Bill_McIntosh] +pipe 131 PIPE # Private IP Encapsulation within IP [Bernhard_Petri] +sctp 132 SCTP # Stream Control Transmission Protocol [Randall_R_Stewart] +fc 133 FC # Fibre Channel [Murali_Rajagopal][RFC6172] +rsvp-e2e-ignore 134 RSVP-E2E-IGNORE # [RFC3175] +mobility 135 Mobility # Header [RFC6275] +udplite 136 UDPLite # [RFC3828] +mpls-in-ip 137 MPLS-in-IP # [RFC4023] +manet 138 MANET # MANET Protocols [RFC5498] +hip 139 HIP # Host Identity Protocol [RFC5201] +shim6 140 Shim6 # Shim6 Protocol [RFC5533] +wesp 141 WESP # Wrapped Encapsulating Security [RFC5840] +# Payload +rohc 142 ROHC # Robust Header Compression [RFC5858] +# 143-252 Unassigned [Internet_Assigned_Numbers_Authority] +# 253 Use for experimentation and testing [RFC3692] +# 254 Use for experimentation and testing [RFC3692] +reserved 255 Reserved # [Internet_Assigned_Numbers_Authority] +# +# People +# +# ID Name Contact URI Last Updated +# [Barry_Boehm] Barry Boehm mailto:boehm&arpa.mil +# [Barry_Howard] Barry Howard mailto:Howard&nmfecc.llnl.gov +# [Bernard_Aboba] Bernard Aboba mailto:bernardaµsoft.com 1998-04 +# [Bernhard_Petri] Bernhard Petri mailto:bernhard.petri&siemens.com 2012-07-09 +# [Bill_McIntosh] Bill McIntosh mailto:BMcIntosh&fortresstech.com +# [Bob_Braden] Bob Braden mailto:braden&isi.edu 1997-07 +# [Bob_Hinden] Bob Hinden mailto:bob.hinden&gmail.com 2013-02-17 +# [Brian_Kantor] Brian Kantor mailto:brian&ucsd.edu +# [CJ_Lee] CJ Lee mailto:cj_lee&novell.com 1997-10 +# [Charlie_Perkins] Charlie Perkins mailto:perk&watson.ibm.com 1994-10 +# [Christer_Oberg] Christer Oberg mailto:chg&bull.se 1994-10 +# [Criag_Partridge] Criag Partridge mailto:craig&bbn.com 1999-08 +# [Dave_Cheriton] Dave Cheriton mailto:cheriton&pescadero.stanford.edu +# [Dave_Presotto] Dave Presotto mailto:presotto&plan9.att.com 1995-07 +# [David_Clark] David Clark mailto:ddc&lcs.mit.edu +# [David_Mills] David Mills mailto:Mills&huey.udel.edu +# [Deborah_Estrin] Deborah Estrin mailto:estrin&usc.edu +# [Dino_Farinacci] Dino Farinacci mailto:dino&cisco.com 1996-03 +# [Dirk_Fromhein] Dirk Fromhein mailto:df&watershed.com +# [Gene_Tsudik] Gene Tsudik mailto:tsudik&usc.edu +# [Greg_Chesson] Greg Chesson mailto:Greg&sgi.com +# [Guenther_Schreiner] Guenther Schreiner mailto:snmp-admin&ira.uka.de +# [Guillermo_A_Loyola] Guillermo A. Loyola mailto:LOYOLA&ibm.com +# [Hans_Werner_Braun] Hans-Werner Braun mailto:HWB&mcr.umich.edu +# [Harry_Forsdick] Harry Forsdick mailto:Forsdick&bbn.com +# [Howard_Hart] Howard Hart mailto:hch&hybrid.com +# [Internet_Assigned_Numbers_Authority] Internet Assigned Numbers Authority mailto:iana&iana.org 1995-06 +# [J_Noel_Chiappa] J. Noel Chiappa mailto:JNC&xx.lcs.mit.edu +# [Jack_Haverty] Jack Haverty mailto:jhaverty&oracle.com +# [Jean_Michel_Pittet] Jean-Michel Pittet mailto:jmp&gandalf.engr.sgi.com 1998-11 +# [Jim_Stevens] Jim Stevens mailto:jasteven&rockwellcollins.com 2011-01-26 +# [John_Ioannidis] John Ioannidis mailto:ji&cs.columbia.edu +# [John_Moy] John Moy mailto:jmoy&proteon.com +# [John_Murphy] John Murphy mailto:john.m.murphy&mci.com 1998-10 +# [John_Worley] John Worley mailto:worley&milehigh.net 1998-06 +# [Jon_Crowcroft] Jon Crowcroft mailto:jon&cs.ucl.ac.uk 1999-06 +# [Jon_Postel] Jon Postel mailto:postel&isi.edu +# [K_Robert_Glenn] K. Robert Glenn mailto:glenn&osi.ncsl.nist.gov +# [Kurt_Waber] Kurt Waber mailto:kurt.waber&swisscom.com 1999-08 +# [Leif_Ekblad] Leif Ekblad mailto:leif&rdos.net 2012-08-21 +# [Manickam_R_Sridhar] Manickam R. Sridhar mailto:msridhar&sitaranetworks.com 1997-09 +# [Mark_Hamilton] Mark Hamilton mailto:mah&spectralink.com 1998-11 +# [Marshall_T_Rose] Marshall T. Rose mailto:mrose&dbc.mtview.ca.us +# [Martha_Steenstrup] Martha Steenstrup mailto:MSteenst&bbn.com +# [Michael_Greenwald] Michael Greenwald mailto:Greenwald&scrc-stony-brook.symbolics.com +# [Michael_Hunter] Michael Hunter mailto:mphunter&qnx.com 1997-07 +# [Michael_Welzl] Michael Welzl mailto:michael&tk.uni-linz.ac.at 1999-08 +# [Mike_Little] Mike Little mailto:little&macom4.arpa +# [Murali_Rajagopal] Murali Rajagopal mailto:murali&gadzoox.com 2000-05 +# [Nancy_Feldman] Nancy Feldman mailto:nkf&vnet.ibm.com 1997-01 +# [Peter_Lothberg] Peter Lothberg mailto:roll&stupi.se 1999-03 +# [Randall_R_Stewart] Randall R. Stewart mailto:rrs&lakerest.net 2000-04 +# [Robert_Durst] Robert Durst mailto:durst&mitre.org 1997-03 +# [Robert_Sautter] Robert Sautter mailto:rsautter&acdnj.itt.com 1999-08 +# [Robert_W_Scheifler] Robert W. Scheifler mailto:RWS&xx.lcs.mit.edu +# [Robert_Woodburn] Robert Woodburn mailto:woody&cseic.saic.com +# [Ross_Callon] Ross Callon mailto:rcallon&baynetworks.com 1995-12 +# [Steve_Casner] Steve Casner mailto:casner&isi.edu +# [Steve_Chipman] Steve Chipman mailto:Chipman&f.bbn.com +# [Steve_Deering] Steve Deering mailto:deering&parc.xerox.com 1995-03 +# [Steven_Blumenthal] Steven Blumenthal mailto:BLUMENTHAL&vax.bbn.com +# [Stuart_A_Friedberg] Stuart A. Friedberg mailto:stuart&cs.wisc.edu +# [Sue_Hares] Sue Hares mailto:skh&merit.edu +# [Susie_Armstrong] Susie Armstrong mailto:Armstrong.wbst128&xerox.com +# [Tom_Markson] Tom Markson mailto:markson&osmosys.ingog.com 1995-09 +# [Tony_Ballardie] Tony Ballardie mailto:A.Ballardie&cs.ucl.ac.uk +# [Tony_Li] Tony Li mailto:tony.li&tony.li 2012-10-17 +# [Tony_Przygienda] Tony Przygienda mailto:prz&siara.com 1999-08 +# [Tony_Speakman] Tony Speakman mailto:speakman&cisco.com 1998-01 +# [Trudy_Miller] Trudy Miller mailto:Trudy&acc.com +# [Victor_Volpe] Victor Volpe mailto:vvolpe&smtp.microcom.com 1997-10 +# [Wesley_Craig] Wesley Craig mailto:Wesley.Craig&terminator.cc.umich.edu +# [William_Melohn] William Melohn mailto:Melohn&sun.com +# [Zaw_Sing_Su] Zaw-Sing Su mailto:ZSu&tsca.istc.sri. diff --git a/etc/rc.conf b/etc/rc.conf index 257ced00d..518c9cef7 100644 --- a/etc/rc.conf +++ b/etc/rc.conf @@ -14,7 +14,7 @@ if [ -r /etc/defaults/rc.conf ]; then fi # If this is not set to YES, the system will drop into single-user mode. -# (Doesn't matter for Minix.) +# rc_configured=NO # Add local overrides below diff --git a/etc/rc.subr b/etc/rc.subr index 88434919e..7e6c93325 100644 --- a/etc/rc.subr +++ b/etc/rc.subr @@ -1,4 +1,4 @@ -# $NetBSD: rc.subr,v 1.88 2011/08/11 22:52:47 apb Exp $ +# $NetBSD: rc.subr,v 1.92 2012/12/17 18:17:27 apb Exp $ # # Copyright (c) 1997-2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -152,7 +152,7 @@ mount_critical_filesystems() # multiple lines can't be good, # not even if $_optional is true ;; - *'unknown special file or file system'*) + *[uU]'nknown special file or file system'*) if $_optional; then # ignore this error print_rc_metadata \ @@ -1256,6 +1256,34 @@ collapse_backslash_newline() done } +# Shell implementations of basename and dirname, usable before +# the /usr file system is mounted. +# +basename() +{ + local file="$1" + local suffix="$2" + local base + + base="${file##*/}" # remove up to and including last '/' + base="${base%${suffix}}" # remove suffix, if any + command printf "%s\n" "${base}" +} + +dirname() +{ + local file="$1" + local dir + + case "$file" in + /*/*) dir="${file%/*}" ;; # common case: absolute path + /*) dir="/" ;; # special case: name in root dir + */*) dir="${file%/*}" ;; # common case: relative path with '/' + *) dir="." ;; # special case: name without '/' + esac + command printf "%s\n" "${dir}" +} + # Override the normal "echo" and "printf" commands, so that # partial lines printed by rc.d scripts appear immediately, # instead of being buffered by rc(8)'s post-processor. diff --git a/etc/services b/etc/services old mode 100755 new mode 100644 index a7c07d636..dabc7ec77 --- a/etc/services +++ b/etc/services @@ -1,96 +1,19783 @@ +# $NetBSD: services,v 1.97 2013/03/21 17:45:03 christos Exp $ +# See also: services(5), http://www.sethwklein.net/projects/iana-etc/ # -# Network services, Internet style +# Last Updated +# 2013-02-21 +# +# Expert(s) +# +#Joe Touch; Markku Kojo, Eliot Lear, Allison Mankin, Kumiko Ono, Martin Stiemerling and Lars Eggert +# +# Note +# +#************************************************************************ +#* Since we merged and converted this registry it loads more slowly. We * +#* know it should load faster and are working on ways to achieve that. * +#* Thank you for your patience. * +#************************************************************************ +# +#Service names and port numbers are used to distinguish between different +#services that run over transport protocols such as TCP, UDP, DCCP, and +#SCTP. +# +#Service names are assigned on a first-come, first-served process, as +#documented in [RFC6335]. +# +#Port numbers are assigned in various ways, based on three ranges: System +#Ports (0-1023), User Ports (1024-49151), and the Dynamic and/or Private +#Ports (49152-65535); the difference uses of these ranges is described in +#[RFC6335]. System Ports are assigned by IETF +#process for standards-track protocols, as per [RFC6335]. User Ports +#are assigned by IANA using the "Expert Review" process, as per +#[RFC6335]. Dynamic Ports are not assigned. +# +#The registration procedures for service names and port numbers are +#described in [RFC6335]. +# +#Assigned ports both System and User ports SHOULD NOT be used without +#or prior to IANA registration. +# +#************************************************************************ +#* PLEASE NOTE THE FOLLOWING: * +#* * +#* ASSIGNMENT OF A PORT NUMBER DOES NOT IN ANY WAY IMPLY AN * +#* ENDORSEMENT OF AN APPLICATION OR PRODUCT, AND THE FACT THAT NETWORK * +#* TRAFFIC IS FLOWING TO OR FROM A REGISTERED PORT DOES NOT MEAN THAT * +#* IT IS "GOOD" TRAFFIC, NOR THAT IT NECESSARILY CORRESPONDS TO THE * +#* ASSIGNED SERVICE. FIREWALL AND SYSTEM ADMINISTRATORS SHOULD * +#* CHOOSE HOW TO CONFIGURE THEIR SYSTEMS BASED ON THEIR KNOWLEDGE OF * +#* THE TRAFFIC IN QUESTION, NOT WHETHER THERE IS A PORT NUMBER * +#* REGISTERED OR NOT. * +#************************************************************************ +# +# This registry is also available in plain text. +# +# Transport Registration Modification Service Known +#Service Name Port Number Protocol Description Assignee Contact Date Date Reference Code Unauthorized Assignment Notes +# Uses +# 0 tcp Reserved [Jon_Postel] [Jon_Postel] +# 0 udp Reserved [Jon_Postel] [Jon_Postel] +tcpmux 1/tcp # TCP Port Service Multiplexer [Mark_Lottor] [Mark_Lottor] +tcpmux 1/udp # TCP Port Service Multiplexer [Mark_Lottor] [Mark_Lottor] +compressnet 2/tcp # Management Utility +compressnet 2/udp # Management Utility +compressnet 3/tcp # Compression Process [Bernie_Volz] [Bernie_Volz] +compressnet 3/udp # Compression Process [Bernie_Volz] [Bernie_Volz] +# 4 tcp Unassigned +# 4 udp Unassigned +rje 5/tcp # Remote Job Entry [Jon_Postel] [Jon_Postel] +rje 5/udp # Remote Job Entry [Jon_Postel] [Jon_Postel] +# 6 tcp Unassigned +# 6 udp Unassigned +echo 7/tcp # Echo [Jon_Postel] [Jon_Postel] +echo 7/udp # Echo [Jon_Postel] [Jon_Postel] +# 8 tcp Unassigned +# 8 udp Unassigned +discard 9/tcp # Discard [Jon_Postel] [Jon_Postel] +discard 9/udp # Discard [Jon_Postel] [Jon_Postel] +discard 9/sctp # Discard [Randall_Stewart] [Randall_Stewart] [RFC4960] +discard 9/dccp # Discard [Eddie_Kohler] [Eddie_Kohler] [RFC4340] 1145656131 +# 10 tcp Unassigned +# 10 udp Unassigned +systat 11/tcp # Active Users [Jon_Postel] [Jon_Postel] +systat 11/udp # Active Users [Jon_Postel] [Jon_Postel] +# 12 tcp Unassigned +# 12 udp Unassigned +daytime 13/tcp # Daytime [Jon_Postel] [Jon_Postel] [RFC867] +daytime 13/udp # Daytime [Jon_Postel] [Jon_Postel] [RFC867] +# 14 tcp Unassigned +# 14 udp Unassigned +# 15 tcp Unassigned [was netstat] +# 15 udp Unassigned +# 16 tcp Unassigned +# 16 udp Unassigned +qotd 17/tcp # Quote of the Day [Jon_Postel] [Jon_Postel] +qotd 17/udp # Quote of the Day [Jon_Postel] [Jon_Postel] +msp 18/tcp # Message Send Protocol [Rina_Nethaniel] [Rina_Nethaniel] +# (historic) +msp 18/udp # Message Send Protocol [Rina_Nethaniel] [Rina_Nethaniel] +chargen 19/tcp # Character Generator +chargen 19/udp # Character Generator +ftp-data 20/tcp # File Transfer [Default Data] [Jon_Postel] [Jon_Postel] +ftp-data 20/udp # File Transfer [Default Data] [Jon_Postel] [Jon_Postel] +ftp-data 20/sctp # FTP [Randall_Stewart] [Randall_Stewart] [RFC4960] +ftp 21/tcp # File Transfer [Control] [Jon_Postel] [Jon_Postel] [RFC959] Defined TXT keys: u= p= path= +ftp 21/udp # File Transfer [Control] [Jon_Postel] [Jon_Postel] [RFC959] Defined TXT keys: u= p= path= +ftp 21/sctp # FTP [Randall_Stewart] [Randall_Stewart] [RFC4960] Defined TXT keys: u= p= path= +ssh 22/tcp # The Secure Shell (SSH) [RFC4251] Defined TXT keys: u= p= +# Protocol +ssh 22/udp # The Secure Shell (SSH) [RFC4251] Defined TXT keys: u= p= +ssh 22/sctp # SSH [Randall_Stewart] [Randall_Stewart] [RFC4960] Defined TXT keys: u= p= +telnet 23/tcp # Telnet [Jon_Postel] [Jon_Postel] [RFC854] Defined TXT keys: u= p= +telnet 23/udp # Telnet [Jon_Postel] [Jon_Postel] [RFC854] Defined TXT keys: u= p= +# 24 tcp any private mail system [Rick_Adams] [Rick_Adams] +# 24 udp any private mail system [Rick_Adams] [Rick_Adams] +smtp 25/tcp # Simple Mail Transfer [Jon_Postel] [Jon_Postel] +smtp 25/udp # Simple Mail Transfer [Jon_Postel] [Jon_Postel] +# 26 tcp Unassigned +# 26 udp Unassigned +nsw-fe 27/tcp # NSW User System FE [Robert_Thomas] [Robert_Thomas] +nsw-fe 27/udp # NSW User System FE [Robert_Thomas] [Robert_Thomas] +# 28 tcp Unassigned +# 28 udp Unassigned +msg-icp 29/tcp # MSG ICP [Robert_Thomas] [Robert_Thomas] +msg-icp 29/udp # MSG ICP [Robert_Thomas] [Robert_Thomas] +# 30 tcp Unassigned +# 30 udp Unassigned +msg-auth 31/tcp # MSG Authentication [Robert_Thomas] [Robert_Thomas] +msg-auth 31/udp # MSG Authentication [Robert_Thomas] [Robert_Thomas] +# 32 tcp Unassigned +# 32 udp Unassigned +dsp 33/tcp # Display Support Protocol [Ed_Cain] [Ed_Cain] +dsp 33/udp # Display Support Protocol [Ed_Cain] [Ed_Cain] +# 34 tcp Unassigned +# 34 udp Unassigned +# 35 tcp any private printer server [Jon_Postel] [Jon_Postel] +# 35 udp any private printer server [Jon_Postel] [Jon_Postel] +# 36 tcp Unassigned +# 36 udp Unassigned +time 37/tcp # Time [Jon_Postel] [Jon_Postel] +time 37/udp # Time [Jon_Postel] [Jon_Postel] +rap 38/tcp # Route Access Protocol [Robert_Ullmann] [Robert_Ullmann] +rap 38/udp # Route Access Protocol [Robert_Ullmann] [Robert_Ullmann] +rlp 39/tcp # Resource Location Protocol [Mike_Accetta] [Mike_Accetta] +rlp 39/udp # Resource Location Protocol [Mike_Accetta] [Mike_Accetta] +# 40 tcp Unassigned +# 40 udp Unassigned +graphics 41/tcp # Graphics +graphics 41/udp # Graphics +name 42/tcp # Host Name Server +name 42/udp # Host Name Server +nameserver 42/tcp # Host Name Server +nameserver 42/udp # Host Name Server +nicname 43/tcp whois # Who Is +nicname 43/udp whois # Who Is +mpm-flags 44/tcp # MPM FLAGS Protocol +mpm-flags 44/udp # MPM FLAGS Protocol +mpm 45/tcp # Message Processing Module +# [recv] +mpm 45/udp # Message Processing Module +mpm-snd 46/tcp # MPM [default send] [Jon_Postel] [Jon_Postel] +mpm-snd 46/udp # MPM [default send] [Jon_Postel] [Jon_Postel] +ni-ftp 47/tcp # NI FTP [Steve_Kille] [Steve_Kille] +ni-ftp 47/udp # NI FTP [Steve_Kille] [Steve_Kille] +auditd 48/tcp # Digital Audit Daemon [Larry_Scott] [Larry_Scott] +auditd 48/udp # Digital Audit Daemon [Larry_Scott] [Larry_Scott] +tacacs 49/tcp # Login Host Protocol (TACACS) [Pieter_Ditmars] [Pieter_Ditmars] +tacacs 49/udp # Login Host Protocol (TACACS) [Pieter_Ditmars] [Pieter_Ditmars] +re-mail-ck 50/tcp # Remote Mail Checking [Steve_Dorner] [Steve_Dorner] +re-mail-ck 50/udp # Remote Mail Checking [Steve_Dorner] [Steve_Dorner] +la-maint 51/tcp # IMP Logical Address [Andy_Malis] [Andy_Malis] +# Maintenance +la-maint 51/udp # IMP Logical Address [Andy_Malis] [Andy_Malis] +xns-time 52/tcp # XNS Time Protocol [Susie_Armstrong] [Susie_Armstrong] +xns-time 52/udp # XNS Time Protocol [Susie_Armstrong] [Susie_Armstrong] +domain 53/tcp # Domain Name Server [Paul_Mockapetris] [Paul_Mockapetris] +domain 53/udp # Domain Name Server [Paul_Mockapetris] [Paul_Mockapetris] +xns-ch 54/tcp # XNS Clearinghouse [Susie_Armstrong] [Susie_Armstrong] +xns-ch 54/udp # XNS Clearinghouse [Susie_Armstrong] [Susie_Armstrong] +isi-gl 55/tcp # ISI Graphics Language +isi-gl 55/udp # ISI Graphics Language +xns-auth 56/tcp # XNS Authentication [Susie_Armstrong] [Susie_Armstrong] +xns-auth 56/udp # XNS Authentication [Susie_Armstrong] [Susie_Armstrong] +# 57 tcp any private terminal access [Jon_Postel] [Jon_Postel] +# 57 udp any private terminal access [Jon_Postel] [Jon_Postel] +xns-mail 58/tcp # XNS Mail [Susie_Armstrong] [Susie_Armstrong] +xns-mail 58/udp # XNS Mail [Susie_Armstrong] [Susie_Armstrong] +# 59 tcp any private file service [Jon_Postel] [Jon_Postel] +# 59 udp any private file service [Jon_Postel] [Jon_Postel] +# 60 tcp Unassigned +# 60 udp Unassigned +ni-mail 61/tcp # NI MAIL [Steve_Kille] [Steve_Kille] +ni-mail 61/udp # NI MAIL [Steve_Kille] [Steve_Kille] +acas 62/tcp # ACA Services [E_Wald] [E_Wald] +acas 62/udp # ACA Services [E_Wald] [E_Wald] +# whois++ +# +whoispp 63/tcp # IANA assigned this [Rickard_Schoultz] [Rickard_Schoultz] +# well-formed service name as +# a replacement for "whois++". +# This entry is an alias to "whoispp". This entry is now +whois++ 63/tcp # whois++ [Rickard_Schoultz] [Rickard_Schoultz] historic, not usable for use with many common service +# discovery mechanisms. +# +whoispp 63/udp # IANA assigned this [Rickard_Schoultz] [Rickard_Schoultz] +whois++ 63/udp # whois++ [Rickard_Schoultz] [Rickard_Schoultz] historic, not usable for use with many common service +covia 64/tcp # Communications Integrator [Dan_Smith] [Dan_Smith] +# (CI) +covia 64/udp # Communications Integrator [Dan_Smith] [Dan_Smith] +tacacs-ds 65/tcp # TACACS-Database Service [Kathy_Huber] [Kathy_Huber] +tacacs-ds 65/udp # TACACS-Database Service [Kathy_Huber] [Kathy_Huber] +# Oracle SQL*NET +# +sql-net 66/tcp # IANA assigned this [Jack_Haverty] [Jack_Haverty] +# a replacement for "sql*net". +# This entry is an alias to "sql-net". This entry is now +sql*net 66/tcp # Oracle SQL*NET [Jack_Haverty] [Jack_Haverty] historic, not usable for use with many common service +# +sql-net 66/udp # IANA assigned this [Jack_Haverty] [Jack_Haverty] +sql*net 66/udp # Oracle SQL*NET [Jack_Haverty] [Jack_Haverty] historic, not usable for use with many common service +bootps 67/tcp # Bootstrap Protocol Server [Bill_Croft] [Bill_Croft] [RFC951] Defined TXT keys: None +bootps 67/udp # Bootstrap Protocol Server +bootpc 68/tcp # Bootstrap Protocol Client [Bill_Croft] [Bill_Croft] +bootpc 68/udp # Bootstrap Protocol Client [Bill_Croft] [Bill_Croft] +tftp 69/tcp # Trivial File Transfer [David_Clark] [David_Clark] +tftp 69/udp # Trivial File Transfer [David_Clark] [David_Clark] +gopher 70/tcp # Gopher [Mark_McCahill] [Mark_McCahill] +gopher 70/udp # Gopher [Mark_McCahill] [Mark_McCahill] +netrjs-1 71/tcp # Remote Job Service +netrjs-1 71/udp # Remote Job Service +netrjs-2 72/tcp # Remote Job Service +netrjs-2 72/udp # Remote Job Service +netrjs-3 73/tcp # Remote Job Service +netrjs-3 73/udp # Remote Job Service +netrjs-4 74/tcp # Remote Job Service [Bob_Braden] [Bob_Braden] +netrjs-4 74/udp # Remote Job Service [Bob_Braden] [Bob_Braden] +# 75 tcp any private dial out service [Jon_Postel] [Jon_Postel] +# 75 udp any private dial out service [Jon_Postel] [Jon_Postel] +deos 76/tcp # Distributed External Object [Robert_Ullmann] [Robert_Ullmann] +# Store +deos 76/udp # Distributed External Object [Robert_Ullmann] [Robert_Ullmann] +# 77 tcp any private RJE service [Jon_Postel] [Jon_Postel] +# 77 udp any private RJE service [Jon_Postel] [Jon_Postel] +vettcp 78/tcp # vettcp [Christopher_Leong] [Christopher_Leong] +vettcp 78/udp # vettcp [Christopher_Leong] [Christopher_Leong] +# Unauthorized +# use by some +finger 79/tcp # Finger [David_Zimmerman] [David_Zimmerman] mail users +# (see +# [RFC4146] for +# details) +finger 79/udp # Finger [David_Zimmerman] [David_Zimmerman] mail users +http 80/tcp # World Wide Web HTTP Defined TXT keys: u= p= path= +http 80/udp # World Wide Web HTTP Defined TXT keys: u= p= path= p= +# path= (see txtrecords.html#http) Known +# Subtypes: _printer NOTE: The meaning of this service type, +# though called just "http", actually denotes something more +# precise than just "any data transported using HTTP". The +# DNS-SD service type "http" should only be used to advertise +# content that: * is served over HTTP, * can be displayed by +# "typical" web browser client software, and * is intented +# primarily to be viewed by a human user. Of course, the +# definition of "typical web browser" is subjective, and may +www-http 80/tcp # World Wide Web HTTP [Tim_Berners_Lee] [Tim_Berners_Lee] change over time, but for practical purposes the DNS-SD +# service type "http" can be understood as meaning +# "human-readable HTML content served over HTTP". In some cases +# other widely-supported content types may also be appropriate, +# such as plain text over HTTP, or JPEG image over HTTP. +# Content types not intented primarily for viewing by a human +# user, or not widely-supported in web browsing clients, should +# not be advertised as DNS-SD service type "http", even if they +# do happen to be transported over HTTP. Such types should be +# advertised as their own logical service type with their own +# DNS-SD service type, for example, XUL (XML User Interface +# Language) transported over HTTP is advertised explicitly as +# DNS-SD service type "xul-http". +www-http 80/udp # World Wide Web HTTP [Tim_Berners_Lee] [Tim_Berners_Lee] change over time, but for practical purposes the DNS-SD +http 80/sctp # HTTP [Randall_Stewart] [Randall_Stewart] [RFC4960] Defined TXT keys: u= p= path= Port 126 Previously +# assigned to application above +nxedit 126/udp # NXEdit [Don_Payette] [Don_Payette] 126/tcp Unisys Unitary Login unitary 126/udp Unisys Unitary +locus-con 127/tcp # Locus PC-Interface Conn [Eric_Peterson] [Eric_Peterson] +# Server +locus-con 127/udp # Locus PC-Interface Conn [Eric_Peterson] [Eric_Peterson] +gss-xlicen 128/tcp # GSS X License Verification [John_Light] [John_Light] +gss-xlicen 128/udp # GSS X License Verification [John_Light] [John_Light] +pwdgen 129/tcp # Password Generator Protocol [Frank_J_Wacho] [Frank_J_Wacho] +pwdgen 129/udp # Password Generator Protocol [Frank_J_Wacho] [Frank_J_Wacho] +cisco-fna 130/tcp # cisco FNATIVE +cisco-fna 130/udp # cisco FNATIVE +cisco-tna 131/tcp # cisco TNATIVE +cisco-tna 131/udp # cisco TNATIVE +cisco-sys 132/tcp # cisco SYSMAINT +cisco-sys 132/udp # cisco SYSMAINT +statsrv 133/tcp # Statistics Service [Dave_Mills_2] [Dave_Mills_2] +statsrv 133/udp # Statistics Service [Dave_Mills_2] [Dave_Mills_2] +ingres-net 134/tcp # INGRES-NET Service [Mike_Berrow] [Mike_Berrow] +ingres-net 134/udp # INGRES-NET Service [Mike_Berrow] [Mike_Berrow] +epmap 135/tcp # DCE endpoint resolution [Joe_Pato] [Joe_Pato] +epmap 135/udp # DCE endpoint resolution [Joe_Pato] [Joe_Pato] +profile 136/tcp # PROFILE Naming System [Larry_Peterson] [Larry_Peterson] +profile 136/udp # PROFILE Naming System [Larry_Peterson] [Larry_Peterson] +netbios-ns 137/tcp # NETBIOS Name Service +netbios-ns 137/udp # NETBIOS Name Service +netbios-dgm 138/tcp # NETBIOS Datagram Service +netbios-dgm 138/udp # NETBIOS Datagram Service +netbios-ssn 139/tcp # NETBIOS Session Service [Jon_Postel] [Jon_Postel] +netbios-ssn 139/udp # NETBIOS Session Service [Jon_Postel] [Jon_Postel] +emfis-data 140/tcp # EMFIS Data Service +emfis-data 140/udp # EMFIS Data Service +emfis-cntl 141/tcp # EMFIS Control Service [Gerd_Beling] [Gerd_Beling] +emfis-cntl 141/udp # EMFIS Control Service [Gerd_Beling] [Gerd_Beling] +bl-idm 142/tcp # Britton-Lee IDM [Susie_Snitzer] [Susie_Snitzer] +bl-idm 142/udp # Britton-Lee IDM [Susie_Snitzer] [Susie_Snitzer] +imap 143/tcp # Internet Message Access [Mark_Crispin_2] [Mark_Crispin_2] +imap 143/udp # Internet Message Access [Mark_Crispin_2] [Mark_Crispin_2] +uma 144/tcp # Universal Management [Jay_Whitney] [Jay_Whitney] +# Architecture +uma 144/udp # Universal Management [Jay_Whitney] [Jay_Whitney] +uaac 145/tcp # UAAC Protocol [David_A_Gomberg] [David_A_Gomberg] +uaac 145/udp # UAAC Protocol [David_A_Gomberg] [David_A_Gomberg] +iso-tp0 146/tcp # ISO-IP0 +iso-tp0 146/udp # ISO-IP0 +iso-ip 147/tcp # ISO-IP [Marshall_Rose] [Marshall_Rose] +iso-ip 147/udp # ISO-IP [Marshall_Rose] [Marshall_Rose] +jargon 148/tcp # Jargon [Bill_Weinman] [Bill_Weinman] +jargon 148/udp # Jargon [Bill_Weinman] [Bill_Weinman] +aed-512 149/tcp # AED 512 Emulation Service [Albert_G_Broscius] [Albert_G_Broscius] +aed-512 149/udp # AED 512 Emulation Service [Albert_G_Broscius] [Albert_G_Broscius] +sql-net 150/tcp # SQL-NET [Martin_Picard] [Martin_Picard] +sql-net 150/udp # SQL-NET [Martin_Picard] [Martin_Picard] +hems 151/tcp # HEMS +hems 151/udp # HEMS +bftp 152/tcp # Background File Transfer [Annette_DeSchon] [Annette_DeSchon] +# Program +bftp 152/udp # Background File Transfer [Annette_DeSchon] [Annette_DeSchon] +sgmp 153/tcp # SGMP [Marty_Schoffstahl] [Marty_Schoffstahl] +sgmp 153/udp # SGMP [Marty_Schoffstahl] [Marty_Schoffstahl] +netsc-prod 154/tcp # NETSC +netsc-prod 154/udp # NETSC +netsc-dev 155/tcp # NETSC [Sergio_Heker] [Sergio_Heker] +netsc-dev 155/udp # NETSC [Sergio_Heker] [Sergio_Heker] +sqlsrv 156/tcp # SQL Service [Craig_Rogers] [Craig_Rogers] +sqlsrv 156/udp # SQL Service [Craig_Rogers] [Craig_Rogers] +knet-cmp 157/tcp # KNET/VM Command/Message [Gary_S_Malkin] [Gary_S_Malkin] +knet-cmp 157/udp # KNET/VM Command/Message [Gary_S_Malkin] [Gary_S_Malkin] +pcmail-srv 158/tcp # PCMail Server [Mark_L_Lambert] [Mark_L_Lambert] +pcmail-srv 158/udp # PCMail Server [Mark_L_Lambert] [Mark_L_Lambert] +nss-routing 159/tcp # NSS-Routing [Yakov_Rekhter] [Yakov_Rekhter] +nss-routing 159/udp # NSS-Routing [Yakov_Rekhter] [Yakov_Rekhter] +sgmp-traps 160/tcp # SGMP-TRAPS [Marty_Schoffstahl] [Marty_Schoffstahl] +sgmp-traps 160/udp # SGMP-TRAPS [Marty_Schoffstahl] [Marty_Schoffstahl] +snmp 161/tcp # SNMP +snmp 161/udp # SNMP +snmptrap 162/tcp # SNMPTRAP [Marshall_Rose] [Marshall_Rose] +snmptrap 162/udp # SNMPTRAP [Marshall_Rose] [Marshall_Rose] +cmip-man 163/tcp # CMIP/TCP Manager +cmip-man 163/udp # CMIP/TCP Manager +cmip-agent 164/tcp # CMIP/TCP Agent [Amatzia_Ben_Artzi] [Amatzia_Ben_Artzi] +cmip-agent 164/udp # CMIP/TCP Agent [Amatzia_Ben_Artzi] [Amatzia_Ben_Artzi] +xns-courier 165/tcp # Xerox [Susie_Armstrong_2] [Susie_Armstrong_2] +xns-courier 165/udp # Xerox [Susie_Armstrong_2] [Susie_Armstrong_2] +s-net 166/tcp # Sirius Systems [Brian_Lloyd] [Brian_Lloyd] +s-net 166/udp # Sirius Systems [Brian_Lloyd] [Brian_Lloyd] +namp 167/tcp # NAMP [Marty_Schoffstahl] [Marty_Schoffstahl] +namp 167/udp # NAMP [Marty_Schoffstahl] [Marty_Schoffstahl] +rsvd 168/tcp # RSVD [Alan_Sandell] [Alan_Sandell] 2008-05-01 +rsvd 168/udp # RSVD [Alan_Sandell] [Alan_Sandell] 2008-05-01 +send 169/tcp # SEND [William_D_Wisner] [William_D_Wisner] +send 169/udp # SEND [William_D_Wisner] [William_D_Wisner] +print-srv 170/tcp # Network PostScript [Brian_Reid] [Brian_Reid] +print-srv 170/udp # Network PostScript [Brian_Reid] [Brian_Reid] +multiplex 171/tcp # Network Innovations +# Multiplex +multiplex 171/udp # Network Innovations +# Network Innovations CL/1 +# +cl-1 172/tcp # IANA assigned this [Kevin_DeVault] [Kevin_DeVault] +# a replacement for "cl/1". +# This entry is an alias to "cl-1". This entry is now historic, +cl/1 172/tcp # Network Innovations CL/1 [Kevin_DeVault] [Kevin_DeVault] not usable for use with many common service discovery +# mechanisms. +# +cl-1 172/udp # IANA assigned this [Kevin_DeVault] [Kevin_DeVault] +cl/1 172/udp # Network Innovations CL/1 [Kevin_DeVault] [Kevin_DeVault] not usable for use with many common service discovery +xyplex-mux 173/tcp # Xyplex [Bob_Stewart] [Bob_Stewart] +xyplex-mux 173/udp # Xyplex [Bob_Stewart] [Bob_Stewart] +mailq 174/tcp # MAILQ [Rayan_Zachariassen] [Rayan_Zachariassen] +mailq 174/udp # MAILQ [Rayan_Zachariassen] [Rayan_Zachariassen] +vmnet 175/tcp # VMNET [Christopher_Tengi] [Christopher_Tengi] +vmnet 175/udp # VMNET [Christopher_Tengi] [Christopher_Tengi] +genrad-mux 176/tcp # GENRAD-MUX [Ron_Thornton] [Ron_Thornton] +genrad-mux 176/udp # GENRAD-MUX [Ron_Thornton] [Ron_Thornton] +xdmcp 177/tcp # X Display Manager Control [Robert_W_Scheifler] [Robert_W_Scheifler] +xdmcp 177/udp # X Display Manager Control [Robert_W_Scheifler] [Robert_W_Scheifler] +nextstep 178/tcp # NextStep Window Server [Leo_Hourvitz] [Leo_Hourvitz] +nextstep 178/udp # NextStep Window Server [Leo_Hourvitz] [Leo_Hourvitz] +bgp 179/tcp # Border Gateway Protocol [Kirk_Lougheed] [Kirk_Lougheed] +bgp 179/udp # Border Gateway Protocol [Kirk_Lougheed] [Kirk_Lougheed] +bgp 179/sctp # BGP [Randall_Stewart] [Randall_Stewart] [RFC4960] +ris 180/tcp # Intergraph [Dave_Buehmann] [Dave_Buehmann] +ris 180/udp # Intergraph [Dave_Buehmann] [Dave_Buehmann] +unify 181/tcp # Unify [Daegis_Inc] [Chris_Anderson] 2012-07-31 +unify 181/udp # Unify [Daegis_Inc] [Chris_Anderson] 2012-07-31 +audit 182/tcp # Unisys Audit SITP [Gil_Greenbaum] [Gil_Greenbaum] +audit 182/udp # Unisys Audit SITP [Gil_Greenbaum] [Gil_Greenbaum] +ocbinder 183/tcp # OCBinder +ocbinder 183/udp # OCBinder +ocserver 184/tcp # OCServer [Jerrilynn_Okamura] [Jerrilynn_Okamura] +ocserver 184/udp # OCServer [Jerrilynn_Okamura] [Jerrilynn_Okamura] +remote-kis 185/tcp # Remote-KIS +remote-kis 185/udp # Remote-KIS +kis 186/tcp # KIS Protocol [Ralph_Droms] [Ralph_Droms] +kis 186/udp # KIS Protocol [Ralph_Droms] [Ralph_Droms] +aci 187/tcp # Application Communication [Rick_Carlos] [Rick_Carlos] +# Interface +aci 187/udp # Application Communication [Rick_Carlos] [Rick_Carlos] +mumps 188/tcp # Plus Five's MUMPS [Hokey_Stenn] [Hokey_Stenn] +mumps 188/udp # Plus Five's MUMPS [Hokey_Stenn] [Hokey_Stenn] +qft 189/tcp # Queued File Transport [Wayne_Schroeder] [Wayne_Schroeder] +qft 189/udp # Queued File Transport [Wayne_Schroeder] [Wayne_Schroeder] +gacp 190/tcp # Gateway Access Control [C_Philip_Wood] [C_Philip_Wood] +gacp 190/udp # Gateway Access Control [C_Philip_Wood] [C_Philip_Wood] +prospero 191/tcp # Prospero Directory Service [B_Clifford_Neuman] [B_Clifford_Neuman] +prospero 191/udp # Prospero Directory Service [B_Clifford_Neuman] [B_Clifford_Neuman] +osu-nms 192/tcp # OSU Network Monitoring [Doug_Karl] [Doug_Karl] +# System +osu-nms 192/udp # OSU Network Monitoring [Doug_Karl] [Doug_Karl] +srmp 193/tcp # Spider Remote Monitoring [Ted_J_Socolofsky] [Ted_J_Socolofsky] +srmp 193/udp # Spider Remote Monitoring [Ted_J_Socolofsky] [Ted_J_Socolofsky] +irc 194/tcp # Internet Relay Chat Protocol [Jarkko_Oikarinen] [Jarkko_Oikarinen] +irc 194/udp # Internet Relay Chat Protocol [Jarkko_Oikarinen] [Jarkko_Oikarinen] +dn6-nlm-aud 195/tcp # DNSIX Network Level Module +# Audit +dn6-nlm-aud 195/udp # DNSIX Network Level Module +dn6-smm-red 196/tcp # DNSIX Session Mgt Module [Lawrence_Lebahn] [Lawrence_Lebahn] +# Audit Redir +dn6-smm-red 196/udp # DNSIX Session Mgt Module [Lawrence_Lebahn] [Lawrence_Lebahn] +dls 197/tcp # Directory Location Service +dls 197/udp # Directory Location Service +dls-mon 198/tcp # Directory Location Service [Scott_Bellew] [Scott_Bellew] +# Monitor +dls-mon 198/udp # Directory Location Service [Scott_Bellew] [Scott_Bellew] +smux 199/tcp # SMUX [Marshall_Rose] [Marshall_Rose] +smux 199/udp # SMUX [Marshall_Rose] [Marshall_Rose] +src 200/tcp # IBM System Resource [Gerald_McBrearty] [Gerald_McBrearty] +# Controller +src 200/udp # IBM System Resource [Gerald_McBrearty] [Gerald_McBrearty] +at-rtmp 201/tcp # AppleTalk Routing +at-rtmp 201/udp # AppleTalk Routing +at-nbp 202/tcp # AppleTalk Name Binding +at-nbp 202/udp # AppleTalk Name Binding +at-3 203/tcp # AppleTalk Unused +at-3 203/udp # AppleTalk Unused +at-echo 204/tcp # AppleTalk Echo +at-echo 204/udp # AppleTalk Echo +at-5 205/tcp # AppleTalk Unused +at-5 205/udp # AppleTalk Unused +at-zis 206/tcp # AppleTalk Zone Information +at-zis 206/udp # AppleTalk Zone Information +at-7 207/tcp # AppleTalk Unused +at-7 207/udp # AppleTalk Unused +at-8 208/tcp # AppleTalk Unused [Rob_Chandhok] [Rob_Chandhok] +at-8 208/udp # AppleTalk Unused [Rob_Chandhok] [Rob_Chandhok] +qmtp 209/tcp # The Quick Mail Transfer [Dan_Bernstein] [Dan_Bernstein] +qmtp 209/udp # The Quick Mail Transfer [Dan_Bernstein] [Dan_Bernstein] +# ANSI Z39.50 +# +z39-50 210/tcp # IANA assigned this [Mark_H_Needleman] [Mark_H_Needleman] +# a replacement for "z39.50". +# This entry is an alias to "z39-50". This entry is now +z39.50 210/tcp # ANSI Z39.50 [Mark_H_Needleman] [Mark_H_Needleman] historic, not usable for use with many common service +# +z39-50 210/udp # IANA assigned this [Mark_H_Needleman] [Mark_H_Needleman] +z39.50 210/udp # ANSI Z39.50 [Mark_H_Needleman] [Mark_H_Needleman] historic, not usable for use with many common service +# Texas Instruments 914C/G +# Terminal +914c-g 211/tcp # [Bill_Harrell] [Bill_Harrell] +# IANA assigned this +# a replacement for "914c/g". +# Texas Instruments 914C/G This entry is an alias to "914c-g". This entry is now +914c/g 211/tcp # Terminal [Bill_Harrell] [Bill_Harrell] historic, not usable for use with many common service +914c-g 211/udp # [Bill_Harrell] [Bill_Harrell] +914c/g 211/udp # Terminal [Bill_Harrell] [Bill_Harrell] historic, not usable for use with many common service +anet 212/tcp # ATEXSSTR [Jim_Taylor] [Jim_Taylor] +anet 212/udp # ATEXSSTR [Jim_Taylor] [Jim_Taylor] +ipx 213/tcp # IPX [Don_Provan] [Don_Provan] +ipx 213/udp # IPX [Don_Provan] [Don_Provan] +vmpwscs 214/tcp # VM PWSCS [Dan_Shia] [Dan_Shia] +vmpwscs 214/udp # VM PWSCS [Dan_Shia] [Dan_Shia] +softpc 215/tcp # Insignia Solutions [Martyn_Thomas] [Martyn_Thomas] +softpc 215/udp # Insignia Solutions [Martyn_Thomas] [Martyn_Thomas] +CAIlic 216/tcp # Computer Associates Int'l [Chuck_Spitz] [Chuck_Spitz] +# License Server +CAIlic 216/udp # Computer Associates Int'l [Chuck_Spitz] [Chuck_Spitz] +dbase 217/tcp # dBASE Unix [Don_Gibson] [Don_Gibson] +dbase 217/udp # dBASE Unix [Don_Gibson] [Don_Gibson] +mpp 218/tcp # Netix Message Posting [Shannon_Yeh] [Shannon_Yeh] +mpp 218/udp # Netix Message Posting [Shannon_Yeh] [Shannon_Yeh] +uarps 219/tcp # Unisys ARPs [Ashok_Marwaha] [Ashok_Marwaha] +uarps 219/udp # Unisys ARPs [Ashok_Marwaha] [Ashok_Marwaha] +imap3 220/tcp # Interactive Mail Access [James_Rice] [James_Rice] +# Protocol v3 +imap3 220/udp # Interactive Mail Access [James_Rice] [James_Rice] +fln-spx 221/tcp # Berkeley rlogind with SPX +# auth +fln-spx 221/udp # Berkeley rlogind with SPX +rsh-spx 222/tcp # Berkeley rshd with SPX auth +rsh-spx 222/udp # Berkeley rshd with SPX auth +cdc 223/tcp # Certificate Distribution [Kannan_Alagappan] [Kannan_Alagappan] +# Center +cdc 223/udp # Certificate Distribution [Kannan_Alagappan] [Kannan_Alagappan] +masqdialer 224/tcp # masqdialer [Charles_Wright] [Charles_Wright] Possible Conflict of Port 222 with "Masqdialer" +masqdialer 224/udp # masqdialer [Charles_Wright] [Charles_Wright] Possible Conflict of Port 222 with "Masqdialer" +# 225-241 Reserved [Jon_Postel] [Jon_Postel] +direct 242/tcp # Direct [Herb_Sutter] [Herb_Sutter] +direct 242/udp # Direct [Herb_Sutter] [Herb_Sutter] +sur-meas 243/tcp # Survey Measurement [Dave_Clark] [Dave_Clark] +sur-meas 243/udp # Survey Measurement [Dave_Clark] [Dave_Clark] +inbusiness 244/tcp # inbusiness [Derrick_Hisatake] [Derrick_Hisatake] +inbusiness 244/udp # inbusiness [Derrick_Hisatake] [Derrick_Hisatake] +link 245/tcp # LINK +link 245/udp # LINK +dsp3270 246/tcp # Display Systems Protocol [Weldon_J_Showalter] [Weldon_J_Showalter] +dsp3270 246/udp # Display Systems Protocol [Weldon_J_Showalter] [Weldon_J_Showalter] +# SUBNTBCST_TFTP +# +subntbcst-tftp 247/tcp # IANA assigned this [John_Fake] [John_Fake] +# a replacement for +# "subntbcst_tftp". +# This entry is an alias to "subntbcst-tftp". This entry is now +subntbcst_tftp 247/tcp # SUBNTBCST_TFTP [John_Fake] [John_Fake] historic, not usable for use with many common service +# +subntbcst-tftp 247/udp # IANA assigned this [John_Fake] [John_Fake] +subntbcst_tftp 247/udp # SUBNTBCST_TFTP [John_Fake] [John_Fake] historic, not usable for use with many common service +bhfhs 248/tcp # bhfhs [John_Kelly] [John_Kelly] +bhfhs 248/udp # bhfhs [John_Kelly] [John_Kelly] +# 249-255 Reserved [Jon_Postel] [Jon_Postel] +rap 256/tcp # RAP [J_S_Greenfield] [J_S_Greenfield] +rap 256/udp # RAP [J_S_Greenfield] [J_S_Greenfield] +set 257/tcp # Secure Electronic [Donald_Eastlake] [Donald_Eastlake] +# Transaction +set 257/udp # Secure Electronic [Donald_Eastlake] [Donald_Eastlake] +# 258 Unassigned 2006-09-13 +esro-gen 259/tcp # Efficient Short Remote [Mohsen_Banan] [Mohsen_Banan] +# Operations +esro-gen 259/udp # Efficient Short Remote [Mohsen_Banan] [Mohsen_Banan] +openport 260/tcp # Openport [John_Marland] [John_Marland] +openport 260/udp # Openport [John_Marland] [John_Marland] +nsiiops 261/tcp # IIOP Name Service over [Jeff_Stewart] [Jeff_Stewart] +# TLS/SSL +nsiiops 261/udp # IIOP Name Service over [Jeff_Stewart] [Jeff_Stewart] +arcisdms 262/tcp # Arcisdms [Russell_Crook] [Russell_Crook] +arcisdms 262/udp # Arcisdms [Russell_Crook] [Russell_Crook] +hdap 263/tcp # HDAP [Troy_Gau] [Troy_Gau] +hdap 263/udp # HDAP [Troy_Gau] [Troy_Gau] +bgmp 264/tcp # BGMP [Dave_Thaler] [Dave_Thaler] +bgmp 264/udp # BGMP [Dave_Thaler] [Dave_Thaler] +x-bone-ctl 265/tcp # X-Bone CTL [Joe_Touch] [Joe_Touch] +x-bone-ctl 265/udp # X-Bone CTL [Joe_Touch] [Joe_Touch] +sst 266/tcp # SCSI on ST [Donald_D_Woelz] [Donald_D_Woelz] +sst 266/udp # SCSI on ST [Donald_D_Woelz] [Donald_D_Woelz] +td-service 267/tcp # Tobit David Service Layer +td-service 267/udp # Tobit David Service Layer +td-replica 268/tcp # Tobit David Replica [Franz_Josef_Leuders] [Franz_Josef_Leuders] +td-replica 268/udp # Tobit David Replica [Franz_Josef_Leuders] [Franz_Josef_Leuders] +manet 269/tcp # MANET Protocols [RFC5498] +manet 269/udp # MANET Protocols [RFC5498] +# 270 tcp Reserved +gist 270/udp # Q-mode encapsulation for [RFC5971] +# GIST messages +# IETF Network Endpoint +pt-tls 271/tcp # Assessment (NEA) Posture [IESG] [IETF_Chair] 2012-07-31 [RFC-ietf-nea-pt-tls-08] +# Transport Protocol over TLS +# (PT-TLS) +# 271 udp Reserved +# 272-279 Unassigned +http-mgmt 280/tcp # http-mgmt [Adrian_Pell] [Adrian_Pell] +http-mgmt 280/udp # http-mgmt [Adrian_Pell] [Adrian_Pell] +personal-link 281/tcp # Personal Link [Dan_Cummings] [Dan_Cummings] +personal-link 281/udp # Personal Link [Dan_Cummings] [Dan_Cummings] +cableport-ax 282/tcp # Cable Port A/X [Craig_Langfahl] [Craig_Langfahl] +cableport-ax 282/udp # Cable Port A/X [Craig_Langfahl] [Craig_Langfahl] +rescap 283/tcp # rescap [Paul_Hoffman] [Paul_Hoffman] +rescap 283/udp # rescap [Paul_Hoffman] [Paul_Hoffman] +corerjd 284/tcp # corerjd [Chris_Thornhill] [Chris_Thornhill] +corerjd 284/udp # corerjd [Chris_Thornhill] [Chris_Thornhill] +# 285 Unassigned +fxp 286/tcp # FXP Communication [James_Darnall] [James_Darnall] +fxp 286/udp # FXP Communication [James_Darnall] [James_Darnall] +k-block 287/tcp # K-BLOCK [Simon_P_Jackson] [Simon_P_Jackson] +k-block 287/udp # K-BLOCK [Simon_P_Jackson] [Simon_P_Jackson] +# 288-307 Unassigned +novastorbakcup 308/tcp # Novastor Backup [Brian_Dickman] [Brian_Dickman] +novastorbakcup 308/udp # Novastor Backup [Brian_Dickman] [Brian_Dickman] +entrusttime 309/tcp # EntrustTime [Peter_Whittaker] [Peter_Whittaker] +entrusttime 309/udp # EntrustTime [Peter_Whittaker] [Peter_Whittaker] +bhmds 310/tcp # bhmds [John_Kelly] [John_Kelly] +bhmds 310/udp # bhmds [John_Kelly] [John_Kelly] +asip-webadmin 311/tcp # AppleShare IP WebAdmin [Ann_Huang] [Ann_Huang] +asip-webadmin 311/udp # AppleShare IP WebAdmin [Ann_Huang] [Ann_Huang] +vslmp 312/tcp # VSLMP [Gerben_Wierda] [Gerben_Wierda] +vslmp 312/udp # VSLMP [Gerben_Wierda] [Gerben_Wierda] +magenta-logic 313/tcp # Magenta Logic [Karl_Rousseau] [Karl_Rousseau] +magenta-logic 313/udp # Magenta Logic [Karl_Rousseau] [Karl_Rousseau] +opalis-robot 314/tcp # Opalis Robot [Laurent_Domenech] [Laurent_Domenech] +opalis-robot 314/udp # Opalis Robot [Laurent_Domenech] [Laurent_Domenech] +dpsi 315/tcp # DPSI [Tony_Scamurra] [Tony_Scamurra] +dpsi 315/udp # DPSI [Tony_Scamurra] [Tony_Scamurra] +decauth 316/tcp # decAuth [Michael_Agishtein] [Michael_Agishtein] +decauth 316/udp # decAuth [Michael_Agishtein] [Michael_Agishtein] +zannet 317/tcp # Zannet [Zan_Oliphant] [Zan_Oliphant] +zannet 317/udp # Zannet [Zan_Oliphant] [Zan_Oliphant] +pkix-timestamp 318/tcp # PKIX TimeStamp [Robert_Zuccherato] [Robert_Zuccherato] +pkix-timestamp 318/udp # PKIX TimeStamp [Robert_Zuccherato] [Robert_Zuccherato] +ptp-event 319/tcp # PTP Event [Kang_Lee] [Kang_Lee] 2010-07-27 +ptp-event 319/udp # PTP Event [Kang_Lee] [Kang_Lee] 2010-07-27 +ptp-general 320/tcp # PTP General [Kang_Lee] [Kang_Lee] 2010-07-27 +ptp-general 320/udp # PTP General [Kang_Lee] [Kang_Lee] 2010-07-27 +pip 321/tcp # PIP [Gordon_Mohr] [Gordon_Mohr] +pip 321/udp # PIP [Gordon_Mohr] [Gordon_Mohr] +rtsps 322/tcp # RTSPS [Anders_Klemets] [Anders_Klemets] +rtsps 322/udp # RTSPS [Anders_Klemets] [Anders_Klemets] +rpki-rtr 323/tcp # Resource PKI to Router [IESG] [IETF_Chair] [RFC6810] +# 323 udp Reserved +rpki-rtr-tls 324/tcp # Resource PKI to Router [IESG] [IETF_Chair] [RFC6810] +# Protocol over TLS +# 324 udp Reserved +# 325-332 Unassigned +texar 333/tcp # Texar Security Port [Eugen_Bacic] [Eugen_Bacic] +texar 333/udp # Texar Security Port [Eugen_Bacic] [Eugen_Bacic] +# 334-343 Unassigned +pdap 344/tcp # Prospero Data Access [B_Clifford_Neuman] [B_Clifford_Neuman] +pdap 344/udp # Prospero Data Access [B_Clifford_Neuman] [B_Clifford_Neuman] +pawserv 345/tcp # Perf Analysis Workbench +pawserv 345/udp # Perf Analysis Workbench +zserv 346/tcp # Zebra server +zserv 346/udp # Zebra server +fatserv 347/tcp # Fatmen Server +fatserv 347/udp # Fatmen Server +csi-sgwp 348/tcp # Cabletron Management +csi-sgwp 348/udp # Cabletron Management +mftp 349/tcp # mftp [Dave_Feinleib] [Dave_Feinleib] +mftp 349/udp # mftp [Dave_Feinleib] [Dave_Feinleib] +matip-type-a 350/tcp # MATIP Type A [Alain_Robert] [Alain_Robert] [RFC2351] +matip-type-a 350/udp # MATIP Type A [Alain_Robert] [Alain_Robert] [RFC2351] +matip-type-b 351/tcp # MATIP Type B [Alain_Robert] [Alain_Robert] [RFC2351] +matip-type-b 351/udp # MATIP Type B [Alain_Robert] [Alain_Robert] [RFC2351] +bhoetty 351/tcp # bhoetty [John_Kelly] [John_Kelly] This entry records an unassigned but widespread use (added +# 5/21/97) +bhoetty 351/udp # bhoetty [John_Kelly] [John_Kelly] This entry records an unassigned but widespread use (added +dtag-ste-sb 352/tcp # DTAG [Ruediger_Wald] [Ruediger_Wald] (assigned long ago) +dtag-ste-sb 352/udp # DTAG [Ruediger_Wald] [Ruediger_Wald] (assigned long ago) +bhoedap4 352/tcp # bhoedap4 [John_Kelly] [John_Kelly] This entry records an unassigned but widespread use (added +bhoedap4 352/udp # bhoedap4 [John_Kelly] [John_Kelly] This entry records an unassigned but widespread use (added +ndsauth 353/tcp # NDSAUTH [Jayakumar_Ramalingam] [Jayakumar_Ramalingam] +ndsauth 353/udp # NDSAUTH [Jayakumar_Ramalingam] [Jayakumar_Ramalingam] +bh611 354/tcp # bh611 [John_Kelly] [John_Kelly] +bh611 354/udp # bh611 [John_Kelly] [John_Kelly] +datex-asn 355/tcp # DATEX-ASN [Kenneth_Vaughn] [Kenneth_Vaughn] +datex-asn 355/udp # DATEX-ASN [Kenneth_Vaughn] [Kenneth_Vaughn] +cloanto-net-1 356/tcp # Cloanto Net 1 [Michael_Battilana] [Michael_Battilana] 2010-04-30 +cloanto-net-1 356/udp # Cloanto Net 1 [Michael_Battilana] [Michael_Battilana] 2010-04-30 +bhevent 357/tcp # bhevent [John_Kelly] [John_Kelly] +bhevent 357/udp # bhevent [John_Kelly] [John_Kelly] +shrinkwrap 358/tcp # Shrinkwrap [Bill_Simpson] [Bill_Simpson] +shrinkwrap 358/udp # Shrinkwrap [Bill_Simpson] [Bill_Simpson] +nsrmp 359/tcp # Network Security Risk [Eric_Jacksch] [Eric_Jacksch] +# Management Protocol +nsrmp 359/udp # Network Security Risk [Eric_Jacksch] [Eric_Jacksch] +scoi2odialog 360/tcp # scoi2odialog [Keith_Petley] [Keith_Petley] +scoi2odialog 360/udp # scoi2odialog [Keith_Petley] [Keith_Petley] +semantix 361/tcp # Semantix [Semantix] [Semantix] +semantix 361/udp # Semantix [Semantix] [Semantix] +srssend 362/tcp # SRS Send [Curt_Mayer] [Curt_Mayer] +srssend 362/udp # SRS Send [Curt_Mayer] [Curt_Mayer] +# RSVP Tunnel +# +rsvp-tunnel 363/tcp # IANA assigned this [Andreas_Terzis] [Andreas_Terzis] +# "rsvp_tunnel". +# This entry is an alias to "rsvp-tunnel". This entry is now +rsvp_tunnel 363/tcp # RSVP Tunnel [Andreas_Terzis] [Andreas_Terzis] historic, not usable for use with many common service +# +rsvp-tunnel 363/udp # IANA assigned this [Andreas_Terzis] [Andreas_Terzis] +rsvp_tunnel 363/udp # RSVP Tunnel [Andreas_Terzis] [Andreas_Terzis] historic, not usable for use with many common service +aurora-cmgr 364/tcp # Aurora CMGR [Philip_Budne] [Philip_Budne] +aurora-cmgr 364/udp # Aurora CMGR [Philip_Budne] [Philip_Budne] +dtk 365/tcp # DTK [Fred_Cohen] [Fred_Cohen] +dtk 365/udp # DTK [Fred_Cohen] [Fred_Cohen] +odmr 366/tcp # ODMR [Randall_Gellens] [Randall_Gellens] +odmr 366/udp # ODMR [Randall_Gellens] [Randall_Gellens] +mortgageware 367/tcp # MortgageWare [Ole_Hellevik] [Ole_Hellevik] +mortgageware 367/udp # MortgageWare [Ole_Hellevik] [Ole_Hellevik] +qbikgdp 368/tcp # QbikGDP [Adrien_de_Croy] [Adrien_de_Croy] +qbikgdp 368/udp # QbikGDP [Adrien_de_Croy] [Adrien_de_Croy] +rpc2portmap 369/tcp # rpc2portmap +rpc2portmap 369/udp # rpc2portmap +codaauth2 370/tcp # codaauth2 [Robert_Watson] [Robert_Watson] +codaauth2 370/udp # codaauth2 [Robert_Watson] [Robert_Watson] +clearcase 371/tcp # Clearcase [Dave_LeBlang] [Dave_LeBlang] +clearcase 371/udp # Clearcase [Dave_LeBlang] [Dave_LeBlang] +ulistproc 372/tcp # ListProcessor [Anastasios_Kotsikona] [Anastasios_Kotsikona] +ulistproc 372/udp # ListProcessor [Anastasios_Kotsikona] [Anastasios_Kotsikona] +legent-1 373/tcp # Legent Corporation +legent-1 373/udp # Legent Corporation +legent-2 374/tcp # Legent Corporation [Keith_Boyce] [Keith_Boyce] +legent-2 374/udp # Legent Corporation [Keith_Boyce] [Keith_Boyce] +hassle 375/tcp # Hassle [Reinhard_Doelz] [Reinhard_Doelz] +hassle 375/udp # Hassle [Reinhard_Doelz] [Reinhard_Doelz] +nip 376/tcp # Amiga Envoy Network Inquiry [Heinz_Wrobel] [Heinz_Wrobel] +# Proto +nip 376/udp # Amiga Envoy Network Inquiry [Heinz_Wrobel] [Heinz_Wrobel] +tnETOS 377/tcp # NEC Corporation +tnETOS 377/udp # NEC Corporation +dsETOS 378/tcp # NEC Corporation [Tomoo_Fujita] [Tomoo_Fujita] +dsETOS 378/udp # NEC Corporation [Tomoo_Fujita] [Tomoo_Fujita] +is99c 379/tcp # TIA/EIA/IS-99 modem client +is99c 379/udp # TIA/EIA/IS-99 modem client +is99s 380/tcp # TIA/EIA/IS-99 modem server [Frank_Quick] [Frank_Quick] +is99s 380/udp # TIA/EIA/IS-99 modem server [Frank_Quick] [Frank_Quick] +hp-collector 381/tcp # hp performance data +# collector +hp-collector 381/udp # hp performance data +hp-managed-node 382/tcp # hp performance data managed +# node +hp-managed-node 382/udp # hp performance data managed +hp-alarm-mgr 383/tcp # hp performance data alarm [Frank_Blakely] [Frank_Blakely] +# manager +hp-alarm-mgr 383/udp # hp performance data alarm [Frank_Blakely] [Frank_Blakely] +arns 384/tcp # A Remote Network Server [David_Hornsby] [David_Hornsby] +arns 384/udp # A Remote Network Server [David_Hornsby] [David_Hornsby] +ibm-app 385/tcp # IBM Application [Lisa_Tomita] [Lisa_Tomita] +ibm-app 385/udp # IBM Application [Lisa_Tomita] [Lisa_Tomita] +asa 386/tcp # ASA Message Router Object [Steve_Laitinen] [Steve_Laitinen] +# Def. +asa 386/udp # ASA Message Router Object [Steve_Laitinen] [Steve_Laitinen] +aurp 387/tcp # Appletalk Update-Based [Chris_Ranch] [Chris_Ranch] +# Routing Pro. +aurp 387/udp # Appletalk Update-Based [Chris_Ranch] [Chris_Ranch] +unidata-ldm 388/tcp # Unidata LDM [University_Corporation_for_Atmospheric_Research2] [Steven_Emmerson2] 2012-05-18 +unidata-ldm 388/udp # Unidata LDM [University_Corporation_for_Atmospheric_Research2] [Steven_Emmerson2] 2012-05-18 +ldap 389/tcp # Lightweight Directory Access [Tim_Howes] [Tim_Howes] +ldap 389/udp # Lightweight Directory Access [Tim_Howes] [Tim_Howes] +uis 390/tcp # UIS [Ed_Barron] [Ed_Barron] +uis 390/udp # UIS [Ed_Barron] [Ed_Barron] +synotics-relay 391/tcp # SynOptics SNMP Relay Port +synotics-relay 391/udp # SynOptics SNMP Relay Port +synotics-broker 392/tcp # SynOptics Port Broker Port [Illan_Raab] [Illan_Raab] +synotics-broker 392/udp # SynOptics Port Broker Port [Illan_Raab] [Illan_Raab] +meta5 393/tcp # Meta5 [Jim_Kanzler] [Jim_Kanzler] +meta5 393/udp # Meta5 [Jim_Kanzler] [Jim_Kanzler] +embl-ndt 394/tcp # EMBL Nucleic Data Transfer [Peter_Gad] [Peter_Gad] +embl-ndt 394/udp # EMBL Nucleic Data Transfer [Peter_Gad] [Peter_Gad] +netcp 395/tcp # NetScout Control Protocol [Ashwani_Singhal] [Ashwani_Singhal] 2010-04-07 +netcp 395/udp # NetScout Control Protocol [Ashwani_Singhal] [Ashwani_Singhal] 2010-04-07 +netware-ip 396/tcp # Novell Netware over IP +netware-ip 396/udp # Novell Netware over IP +mptn 397/tcp # Multi Protocol Trans. Net. [Soumitra_Sarkar] [Soumitra_Sarkar] +mptn 397/udp # Multi Protocol Trans. Net. [Soumitra_Sarkar] [Soumitra_Sarkar] +kryptolan 398/tcp # Kryptolan [Peter_de_Laval] [Peter_de_Laval] +kryptolan 398/udp # Kryptolan [Peter_de_Laval] [Peter_de_Laval] +iso-tsap-c2 399/tcp # ISO Transport Class 2 [Yanick_Pouffary] [Yanick_Pouffary] +# Non-Control over TCP +iso-tsap-c2 399/udp # ISO Transport Class 2 [Yanick_Pouffary] [Yanick_Pouffary] +# Non-Control over UDP +osb-sd 400/tcp # Oracle Secure Backup [Joseph_Dziedzic] [Joseph_Dziedzic] 2008-06-06 Formerly was Workstation Solutions +osb-sd 400/udp # Oracle Secure Backup [Joseph_Dziedzic] [Joseph_Dziedzic] 2008-06-06 Formerly was Workstation Solutions +ups 401/tcp # Uninterruptible Power Supply [Charles_Bennett] [Charles_Bennett] 2008-08-29 +ups 401/udp # Uninterruptible Power Supply [Charles_Bennett] [Charles_Bennett] 2008-08-29 +genie 402/tcp # Genie Protocol [Mark_Hankin] [Mark_Hankin] +genie 402/udp # Genie Protocol [Mark_Hankin] [Mark_Hankin] +decap 403/tcp # decap +decap 403/udp # decap +nced 404/tcp # nced +nced 404/udp # nced +ncld 405/tcp # ncld [Richard_Jones] [Richard_Jones] +ncld 405/udp # ncld [Richard_Jones] [Richard_Jones] +imsp 406/tcp # Interactive Mail Support [John_Myers] [John_Myers] +imsp 406/udp # Interactive Mail Support [John_Myers] [John_Myers] +timbuktu 407/tcp # Timbuktu [Marc_Epard] [Marc_Epard] +timbuktu 407/udp # Timbuktu [Marc_Epard] [Marc_Epard] +prm-sm 408/tcp # Prospero Resource Manager +# Sys. Man. +prm-sm 408/udp # Prospero Resource Manager +prm-nm 409/tcp # Prospero Resource Manager [B_Clifford_Neuman] [B_Clifford_Neuman] +# Node Man. +prm-nm 409/udp # Prospero Resource Manager [B_Clifford_Neuman] [B_Clifford_Neuman] +decladebug 410/tcp # DECLadebug Remote Debug [Hewlett_Packard] [Hewlett_Packard] +decladebug 410/udp # DECLadebug Remote Debug [Hewlett_Packard] [Hewlett_Packard] +rmt 411/tcp # Remote MT Protocol [Peter_Eriksson] [Peter_Eriksson] +rmt 411/udp # Remote MT Protocol [Peter_Eriksson] [Peter_Eriksson] +synoptics-trap 412/tcp # Trap Convention Port [Illan_Raab] [Illan_Raab] +synoptics-trap 412/udp # Trap Convention Port [Illan_Raab] [Illan_Raab] +smsp 413/tcp # Storage Management Services [Murthy_Srinivas] [Murthy_Srinivas] +smsp 413/udp # Storage Management Services [Murthy_Srinivas] [Murthy_Srinivas] +infoseek 414/tcp # InfoSeek [Steve_Kirsch] [Steve_Kirsch] +infoseek 414/udp # InfoSeek [Steve_Kirsch] [Steve_Kirsch] +bnet 415/tcp # BNet [Jim_Mertz] [Jim_Mertz] +bnet 415/udp # BNet [Jim_Mertz] [Jim_Mertz] +silverplatter 416/tcp # Silverplatter [Peter_Ciuffetti] [Peter_Ciuffetti] +silverplatter 416/udp # Silverplatter [Peter_Ciuffetti] [Peter_Ciuffetti] +onmux 417/tcp # Onmux [Stephen_Hanna] [Stephen_Hanna] +onmux 417/udp # Onmux [Stephen_Hanna] [Stephen_Hanna] +hyper-g 418/tcp # Hyper-G [Frank_Kappe] [Frank_Kappe] +hyper-g 418/udp # Hyper-G [Frank_Kappe] [Frank_Kappe] +ariel1 419/tcp # Ariel 1 [Joel_Karafin] [Joel_Karafin] +ariel1 419/udp # Ariel 1 [Joel_Karafin] [Joel_Karafin] +smpte 420/tcp # SMPTE [Si_Becker] [Si_Becker] +smpte 420/udp # SMPTE [Si_Becker] [Si_Becker] +ariel2 421/tcp # Ariel 2 +ariel2 421/udp # Ariel 2 +ariel3 422/tcp # Ariel 3 [Joel_Karafin] [Joel_Karafin] +ariel3 422/udp # Ariel 3 [Joel_Karafin] [Joel_Karafin] +opc-job-start 423/tcp # IBM Operations Planning and +# Control Start +opc-job-start 423/udp # IBM Operations Planning and +opc-job-track 424/tcp # IBM Operations Planning and [Conny_Larsson] [Conny_Larsson] +# Control Track +opc-job-track 424/udp # IBM Operations Planning and [Conny_Larsson] [Conny_Larsson] +icad-el 425/tcp # ICAD [Larry_Stone] [Larry_Stone] +icad-el 425/udp # ICAD [Larry_Stone] [Larry_Stone] +smartsdp 426/tcp # smartsdp [Marie_Pierre_Belange] [Marie_Pierre_Belange] +smartsdp 426/udp # smartsdp [Marie_Pierre_Belange] [Marie_Pierre_Belange] +svrloc 427/tcp # Server Location [Veizades] [Veizades] +svrloc 427/udp # Server Location [Veizades] [Veizades] +# OCS_CMU +# +ocs-cmu 428/tcp # IANA assigned this +# a replacement for "ocs_cmu". +# This entry is an alias to "ocs-cmu". This entry is now +ocs_cmu 428/tcp # OCS_CMU historic, not usable for use with many common service +# +ocs-cmu 428/udp # IANA assigned this +ocs_cmu 428/udp # OCS_CMU historic, not usable for use with many common service +# OCS_AMU +# +ocs-amu 429/tcp # IANA assigned this [Florence_Wyman] [Florence_Wyman] +# a replacement for "ocs_amu". +# This entry is an alias to "ocs-amu". This entry is now +ocs_amu 429/tcp # OCS_AMU [Florence_Wyman] [Florence_Wyman] historic, not usable for use with many common service +# +ocs-amu 429/udp # IANA assigned this [Florence_Wyman] [Florence_Wyman] +ocs_amu 429/udp # OCS_AMU [Florence_Wyman] [Florence_Wyman] historic, not usable for use with many common service +utmpsd 430/tcp # UTMPSD +utmpsd 430/udp # UTMPSD +utmpcd 431/tcp # UTMPCD +utmpcd 431/udp # UTMPCD +iasd 432/tcp # IASD [Nir_Baroz] [Nir_Baroz] +iasd 432/udp # IASD [Nir_Baroz] [Nir_Baroz] +nnsp 433/tcp # NNSP [Rob_Robertson] [Rob_Robertson] +nnsp 433/udp # NNSP [Rob_Robertson] [Rob_Robertson] +mobileip-agent 434/tcp # MobileIP-Agent +mobileip-agent 434/udp # MobileIP-Agent +mobilip-mn 435/tcp # MobilIP-MN [Kannan_Alagappan_2] [Kannan_Alagappan_2] +mobilip-mn 435/udp # MobilIP-MN [Kannan_Alagappan_2] [Kannan_Alagappan_2] +dna-cml 436/tcp # DNA-CML [Dan_Flowers] [Dan_Flowers] +dna-cml 436/udp # DNA-CML [Dan_Flowers] [Dan_Flowers] +comscm 437/tcp # comscm [Jim_Teague] [Jim_Teague] +comscm 437/udp # comscm [Jim_Teague] [Jim_Teague] +dsfgw 438/tcp # dsfgw [Andy_McKeen] [Andy_McKeen] +dsfgw 438/udp # dsfgw [Andy_McKeen] [Andy_McKeen] +dasp 439/tcp # dasp [Thomas_Obermair] [Thomas_Obermair] +dasp 439/udp # dasp [Thomas_Obermair] [Thomas_Obermair] +sgcp 440/tcp # sgcp [Marshall_Rose] [Marshall_Rose] +sgcp 440/udp # sgcp [Marshall_Rose] [Marshall_Rose] +decvms-sysmgt 441/tcp # decvms-sysmgt [Lee_Barton] [Lee_Barton] +decvms-sysmgt 441/udp # decvms-sysmgt [Lee_Barton] [Lee_Barton] +# cvc_hostd +# +cvc-hostd 442/tcp # IANA assigned this [Bill_Davidson] [Bill_Davidson] +# "cvc_hostd". +# This entry is an alias to "cvc-hostd". This entry is now +cvc_hostd 442/tcp # cvc_hostd [Bill_Davidson] [Bill_Davidson] historic, not usable for use with many common service +# +cvc-hostd 442/udp # IANA assigned this [Bill_Davidson] [Bill_Davidson] +cvc_hostd 442/udp # cvc_hostd [Bill_Davidson] [Bill_Davidson] historic, not usable for use with many common service +https 443/tcp # http protocol over TLS/SSL [Kipp_E_B_Hickman] [Kipp_E_B_Hickman] +https 443/udp # http protocol over TLS/SSL [Kipp_E_B_Hickman] [Kipp_E_B_Hickman] +https 443/sctp # HTTPS [Randall_Stewart] [Randall_Stewart] [RFC4960] +snpp 444/tcp # Simple Network Paging [RFC1568] +snpp 444/udp # Simple Network Paging [RFC1568] +microsoft-ds 445/tcp # Microsoft-DS [Pradeep_Bahl] [Pradeep_Bahl] +microsoft-ds 445/udp # Microsoft-DS [Pradeep_Bahl] [Pradeep_Bahl] +ddm-rdb 446/tcp # DDM-Remote Relational +# Database Access +ddm-rdb 446/udp # DDM-Remote Relational +ddm-dfm 447/tcp # DDM-Distributed File [Steven_Ritland] [Steven_Ritland] +# Management +ddm-dfm 447/udp # DDM-Distributed File [Steven_Ritland] [Steven_Ritland] +ddm-ssl 448/tcp # DDM-Remote DB Access Using [Steven_Ritland] [Steven_Ritland] +# Secure Sockets +ddm-ssl 448/udp # DDM-Remote DB Access Using [Steven_Ritland] [Steven_Ritland] +as-servermap 449/tcp # AS Server Mapper [Barbara_Foss] [Barbara_Foss] +as-servermap 449/udp # AS Server Mapper [Barbara_Foss] [Barbara_Foss] +# Computer Supported +tserver 450/tcp # Telecomunication [Harvey_S_Schultz] [Harvey_S_Schultz] +# Applications +tserver 450/udp # Telecomunication [Harvey_S_Schultz] [Harvey_S_Schultz] +sfs-smp-net 451/tcp # Cray Network Semaphore +# server +sfs-smp-net 451/udp # Cray Network Semaphore +sfs-config 452/tcp # Cray SFS config server [Walter_Poxon] [Walter_Poxon] +sfs-config 452/udp # Cray SFS config server [Walter_Poxon] [Walter_Poxon] +creativeserver 453/tcp # CreativeServer +creativeserver 453/udp # CreativeServer +contentserver 454/tcp # ContentServer +contentserver 454/udp # ContentServer +creativepartnr 455/tcp # CreativePartnr [Jesus_Ortiz] [Jesus_Ortiz] +creativepartnr 455/udp # CreativePartnr [Jesus_Ortiz] [Jesus_Ortiz] +macon-tcp 456/tcp # macon-tcp [Yoshinobu_Inoue] [Yoshinobu_Inoue] +macon-udp 456/udp # macon-udp [Yoshinobu_Inoue] [Yoshinobu_Inoue] +scohelp 457/tcp # scohelp [Faith_Zack] [Faith_Zack] +scohelp 457/udp # scohelp [Faith_Zack] [Faith_Zack] +appleqtc 458/tcp # apple quick time [Murali_Ranganathan] [Murali_Ranganathan] +appleqtc 458/udp # apple quick time [Murali_Ranganathan] [Murali_Ranganathan] +ampr-rcmd 459/tcp # ampr-rcmd [Rob_Janssen] [Rob_Janssen] +ampr-rcmd 459/udp # ampr-rcmd [Rob_Janssen] [Rob_Janssen] +skronk 460/tcp # skronk [Henry_Strickland] [Henry_Strickland] +skronk 460/udp # skronk [Henry_Strickland] [Henry_Strickland] +datasurfsrv 461/tcp # DataRampSrv +datasurfsrv 461/udp # DataRampSrv +datasurfsrvsec 462/tcp # DataRampSrvSec [Diane_Downie] [Diane_Downie] +datasurfsrvsec 462/udp # DataRampSrvSec [Diane_Downie] [Diane_Downie] +alpes 463/tcp # alpes [Alain_Durand] [Alain_Durand] +alpes 463/udp # alpes [Alain_Durand] [Alain_Durand] +kpasswd 464/tcp # kpasswd [Theodore_Ts_o] [Theodore_Ts_o] +kpasswd 464/udp # kpasswd [Theodore_Ts_o] [Theodore_Ts_o] +urd 465/tcp # URL Rendesvous Directory for +# SSM +igmpv3lite 465/udp # IGMP over UDP for SSM [Toerless_Eckert] [Toerless_Eckert] +digital-vrc 466/tcp # digital-vrc [Peter_Higginson] [Peter_Higginson] +digital-vrc 466/udp # digital-vrc [Peter_Higginson] [Peter_Higginson] +mylex-mapd 467/tcp # mylex-mapd [Gary_Lewis] [Gary_Lewis] +mylex-mapd 467/udp # mylex-mapd [Gary_Lewis] [Gary_Lewis] +photuris 468/tcp # proturis [Bill_Simpson_2] [Bill_Simpson_2] +photuris 468/udp # proturis [Bill_Simpson_2] [Bill_Simpson_2] +rcp 469/tcp # Radio Control Protocol [Jim_Jennings] [Jim_Jennings] +rcp 469/udp # Radio Control Protocol [Jim_Jennings] [Jim_Jennings] +scx-proxy 470/tcp # scx-proxy [Scott_Narveson] [Scott_Narveson] +scx-proxy 470/udp # scx-proxy [Scott_Narveson] [Scott_Narveson] +mondex 471/tcp # Mondex [Bill_Reding] [Bill_Reding] +mondex 471/udp # Mondex [Bill_Reding] [Bill_Reding] +ljk-login 472/tcp # ljk-login [LJK] [LJK] +ljk-login 472/udp # ljk-login [LJK] [LJK] +hybrid-pop 473/tcp # hybrid-pop [Rami_Rubin] [Rami_Rubin] +hybrid-pop 473/udp # hybrid-pop [Rami_Rubin] [Rami_Rubin] +tn-tl-w1 474/tcp # tn-tl-w1 +tn-tl-w2 474/udp # tn-tl-w2 [Ed_Kress] [Ed_Kress] +tcpnethaspsrv 475/tcp # tcpnethaspsrv [Michael_Zunke] [Michael_Zunke] 2010-07-23 +tcpnethaspsrv 475/udp # tcpnethaspsrv [Michael_Zunke] [Michael_Zunke] 2010-07-23 +tn-tl-fd1 476/tcp # tn-tl-fd1 [Ed_Kress] [Ed_Kress] +tn-tl-fd1 476/udp # tn-tl-fd1 [Ed_Kress] [Ed_Kress] +ss7ns 477/tcp # ss7ns [Jean_Michel_URSCH] [Jean_Michel_URSCH] +ss7ns 477/udp # ss7ns [Jean_Michel_URSCH] [Jean_Michel_URSCH] +spsc 478/tcp # spsc [Mike_Rieker] [Mike_Rieker] +spsc 478/udp # spsc [Mike_Rieker] [Mike_Rieker] +iafserver 479/tcp # iafserver +iafserver 479/udp # iafserver +iafdbase 480/tcp # iafdbase [Rick_Yazwinski] [Rick_Yazwinski] +iafdbase 480/udp # iafdbase [Rick_Yazwinski] [Rick_Yazwinski] +ph 481/tcp # Ph service [Roland_Hedberg] [Roland_Hedberg] +ph 481/udp # Ph service [Roland_Hedberg] [Roland_Hedberg] +bgs-nsi 482/tcp # bgs-nsi [Jon_Saperia] [Jon_Saperia] +bgs-nsi 482/udp # bgs-nsi [Jon_Saperia] [Jon_Saperia] +ulpnet 483/tcp # ulpnet [Kevin_Mooney] [Kevin_Mooney] +ulpnet 483/udp # ulpnet [Kevin_Mooney] [Kevin_Mooney] +integra-sme 484/tcp # Integra Software Management [Randall_Dow] [Randall_Dow] +# Environment +integra-sme 484/udp # Integra Software Management [Randall_Dow] [Randall_Dow] +powerburst 485/tcp # Air Soft Power Burst [gary] [gary] +powerburst 485/udp # Air Soft Power Burst [gary] [gary] +avian 486/tcp # avian [Robert_Ullmann_2] [Robert_Ullmann_2] +avian 486/udp # avian [Robert_Ullmann_2] [Robert_Ullmann_2] +saft 487/tcp # saft Simple Asynchronous [Ulli_Horlacher] [Ulli_Horlacher] +# File Transfer +saft 487/udp # saft Simple Asynchronous [Ulli_Horlacher] [Ulli_Horlacher] +gss-http 488/tcp # gss-http [Doug_Rosenthal] [Doug_Rosenthal] +gss-http 488/udp # gss-http [Doug_Rosenthal] [Doug_Rosenthal] +nest-protocol 489/tcp # nest-protocol [Gilles_Gameiro] [Gilles_Gameiro] +nest-protocol 489/udp # nest-protocol [Gilles_Gameiro] [Gilles_Gameiro] +micom-pfs 490/tcp # micom-pfs [David_Misunas] [David_Misunas] +micom-pfs 490/udp # micom-pfs [David_Misunas] [David_Misunas] +go-login 491/tcp # go-login [Troy_Morrison] [Troy_Morrison] +go-login 491/udp # go-login [Troy_Morrison] [Troy_Morrison] +ticf-1 492/tcp # Transport Independent +# Convergence for FNA +ticf-1 492/udp # Transport Independent +ticf-2 493/tcp # Transport Independent [Mamoru_Ito] [Mamoru_Ito] +ticf-2 493/udp # Transport Independent [Mamoru_Ito] [Mamoru_Ito] +pov-ray 494/tcp # POV-Ray [POV_Team_Co_ordinato] [POV_Team_Co_ordinato] +pov-ray 494/udp # POV-Ray [POV_Team_Co_ordinato] [POV_Team_Co_ordinato] +intecourier 495/tcp # intecourier [Steve_Favor] [Steve_Favor] +intecourier 495/udp # intecourier [Steve_Favor] [Steve_Favor] +pim-rp-disc 496/tcp # PIM-RP-DISC [Dino_Farinacci] [Dino_Farinacci] +pim-rp-disc 496/udp # PIM-RP-DISC [Dino_Farinacci] [Dino_Farinacci] +retrospect 497/tcp # Retrospect backup and [Retrospect_Inc] [JG_Heithcock] 2012-02-02 +# restore service +retrospect 497/udp # Retrospect backup and [Retrospect_Inc] [JG_Heithcock] 2012-02-02 +siam 498/tcp # siam [Philippe_Gilbert] [Philippe_Gilbert] +siam 498/udp # siam [Philippe_Gilbert] [Philippe_Gilbert] +iso-ill 499/tcp # ISO ILL Protocol [Mark_H_Needleman] [Mark_H_Needleman] +iso-ill 499/udp # ISO ILL Protocol [Mark_H_Needleman] [Mark_H_Needleman] +isakmp 500/tcp # isakmp [Mark_Schertler] [Mark_Schertler] +isakmp 500/udp # isakmp [Mark_Schertler] [Mark_Schertler] +stmf 501/tcp # STMF [Alan_Ungar] [Alan_Ungar] +stmf 501/udp # STMF [Alan_Ungar] [Alan_Ungar] +asa-appl-proto 502/tcp # asa-appl-proto [Dennis_Dube] [Dennis_Dube] +asa-appl-proto 502/udp # asa-appl-proto [Dennis_Dube] [Dennis_Dube] +intrinsa 503/tcp # Intrinsa [Robert_Ford] [Robert_Ford] +intrinsa 503/udp # Intrinsa [Robert_Ford] [Robert_Ford] +citadel 504/tcp # citadel [Art_Cancro] [Art_Cancro] +citadel 504/udp # citadel [Art_Cancro] [Art_Cancro] +mailbox-lm 505/tcp # mailbox-lm [Beverly_Moody] [Beverly_Moody] +mailbox-lm 505/udp # mailbox-lm [Beverly_Moody] [Beverly_Moody] +ohimsrv 506/tcp # ohimsrv [Scott_Powell] [Scott_Powell] +ohimsrv 506/udp # ohimsrv [Scott_Powell] [Scott_Powell] +crs 507/tcp # crs [Brad_Wright] [Brad_Wright] +crs 507/udp # crs [Brad_Wright] [Brad_Wright] +xvttp 508/tcp # xvttp [Keith_J_Alphonso] [Keith_J_Alphonso] +xvttp 508/udp # xvttp [Keith_J_Alphonso] [Keith_J_Alphonso] +snare 509/tcp # snare [Dennis_Batchelder] [Dennis_Batchelder] +snare 509/udp # snare [Dennis_Batchelder] [Dennis_Batchelder] +fcp 510/tcp # FirstClass Protocol [Mike_Marshburn] [Mike_Marshburn] +fcp 510/udp # FirstClass Protocol [Mike_Marshburn] [Mike_Marshburn] +passgo 511/tcp # PassGo [John_Rainford] [John_Rainford] +passgo 511/udp # PassGo [John_Rainford] [John_Rainford] +# remote process execution; +exec 512/tcp # authentication performed +# using passwords and UNIX +# login names +comsat 512/udp +# used by mail system to +# notify users of new mail +biff 512/udp # received; currently receives +# messages only from processes +# on the same machine +# remote login a la telnet; +# automatic authentication +# performed based on +login 513/tcp # priviledged port numbers and +# distributed data bases which +# identify "authentication +# domains" +# maintains data bases showing +who 513/udp # who's logged in to machines +# on a local net and the load +# average of the machine +# cmd like exec, but automatic +shell 514/tcp # authentication is performed +# as for login server +syslog 514/udp +printer 515/tcp # spooler +printer 515/udp # spooler +videotex 516/tcp # videotex [Daniel_Mavrakis] [Daniel_Mavrakis] +videotex 516/udp # videotex [Daniel_Mavrakis] [Daniel_Mavrakis] +# like tenex link, but across +# machine - unfortunately, +# doesn't use link protocol +talk 517/tcp # (this is actually just a +# rendezvous port from which a +# tcp connection is +# established) +talk 517/udp # (this is actually just a +ntalk 518/tcp +ntalk 518/udp +utime 519/tcp # unixtime +utime 519/udp # unixtime +efs 520/tcp # extended file name server +# local routing process (on +router 520/udp # site); uses variant of Xerox +# NS routing information +# protocol - RIP +ripng 521/tcp # ripng [Robert_E_Minnear] [Robert_E_Minnear] +ripng 521/udp # ripng [Robert_E_Minnear] [Robert_E_Minnear] +ulp 522/tcp # ULP [Max_Morris] [Max_Morris] +ulp 522/udp # ULP [Max_Morris] [Max_Morris] +ibm-db2 523/tcp # IBM-DB2 [Juliana_Hsu] [Juliana_Hsu] +ibm-db2 523/udp # IBM-DB2 [Juliana_Hsu] [Juliana_Hsu] +ncp 524/tcp # NCP [Don_Provan_2] [Don_Provan_2] +ncp 524/udp # NCP [Don_Provan_2] [Don_Provan_2] +timed 525/tcp # timeserver +timed 525/udp # timeserver +tempo 526/tcp # newdate +tempo 526/udp # newdate +stx 527/tcp # Stock IXChange [Fraxion_Software] [Ferdi_Ladeira] 2012-03-21 +stx 527/udp # Stock IXChange [Fraxion_Software] [Ferdi_Ladeira] 2012-03-21 +custix 528/tcp # Customer IXChange [Fraxion_Software] [Ferdi_Ladeira] 2012-03-21 +custix 528/udp # Customer IXChange [Fraxion_Software] [Ferdi_Ladeira] 2012-03-21 +irc-serv 529/tcp # IRC-SERV [Brian_Tackett] [Brian_Tackett] +irc-serv 529/udp # IRC-SERV [Brian_Tackett] [Brian_Tackett] +courier 530/tcp # rpc +courier 530/udp # rpc +conference 531/tcp # chat +conference 531/udp # chat +netnews 532/tcp # readnews +netnews 532/udp # readnews +netwall 533/tcp # for emergency broadcasts [Andreas_Heidemann] [Andreas_Heidemann] +netwall 533/udp # for emergency broadcasts [Andreas_Heidemann] [Andreas_Heidemann] +windream 534/tcp # windream Admin [Uwe_Honermann] [Uwe_Honermann] +windream 534/udp # windream Admin [Uwe_Honermann] [Uwe_Honermann] +iiop 535/tcp # iiop [Jeff_M_Michaud] [Jeff_M_Michaud] +iiop 535/udp # iiop [Jeff_M_Michaud] [Jeff_M_Michaud] +opalis-rdv 536/tcp # opalis-rdv [Laurent_Domenech] [Laurent_Domenech] +opalis-rdv 536/udp # opalis-rdv [Laurent_Domenech] [Laurent_Domenech] +nmsp 537/tcp # Networked Media Streaming [Paul_Santinelli_Jr] [Paul_Santinelli_Jr] +nmsp 537/udp # Networked Media Streaming [Paul_Santinelli_Jr] [Paul_Santinelli_Jr] +gdomap 538/tcp # gdomap [Richard_Frith_Macdon] [Richard_Frith_Macdon] +gdomap 538/udp # gdomap [Richard_Frith_Macdon] [Richard_Frith_Macdon] +apertus-ldp 539/tcp # Apertus Technologies Load +# Determination +apertus-ldp 539/udp # Apertus Technologies Load +uucp 540/tcp # uucpd +uucp 540/udp # uucpd +uucp-rlogin 541/tcp # uucp-rlogin [Stuart_Lynne] [Stuart_Lynne] +uucp-rlogin 541/udp # uucp-rlogin [Stuart_Lynne] [Stuart_Lynne] +commerce 542/tcp # commerce [Randy_Epstein] [Randy_Epstein] +commerce 542/udp # commerce [Randy_Epstein] [Randy_Epstein] +klogin 543/tcp +klogin 543/udp +kshell 544/tcp # krcmd +kshell 544/udp # krcmd +appleqtcsrvr 545/tcp # appleqtcsrvr [Murali_Ranganathan] [Murali_Ranganathan] +appleqtcsrvr 545/udp # appleqtcsrvr [Murali_Ranganathan] [Murali_Ranganathan] +dhcpv6-client 546/tcp # DHCPv6 Client +dhcpv6-client 546/udp # DHCPv6 Client +dhcpv6-server 547/tcp # DHCPv6 Server [Jim_Bound] [Jim_Bound] +dhcpv6-server 547/udp # DHCPv6 Server [Jim_Bound] [Jim_Bound] +afpovertcp 548/tcp # AFP over TCP [Leland_Wallace] [Leland_Wallace] Defined TXT keys: u= p= path= +afpovertcp 548/udp # AFP over TCP [Leland_Wallace] [Leland_Wallace] Defined TXT keys: u= p= path= +idfp 549/tcp # IDFP [Ramana_Kovi] [Ramana_Kovi] +idfp 549/udp # IDFP [Ramana_Kovi] [Ramana_Kovi] +new-rwho 550/tcp # new-who [n/a] +new-rwho 550/udp # new-who [n/a] +cybercash 551/tcp # cybercash [Donald_E_Eastlake] [Donald_E_Eastlake] [RFC1898] +cybercash 551/udp # cybercash [Donald_E_Eastlake] [Donald_E_Eastlake] [RFC1898] +devshr-nts 552/tcp # DeviceShare [Benjamin_Rosenberg] [Benjamin_Rosenberg] +devshr-nts 552/udp # DeviceShare [Benjamin_Rosenberg] [Benjamin_Rosenberg] +pirp 553/tcp # pirp [D_J_Bernstein] [D_J_Bernstein] +pirp 553/udp # pirp [D_J_Bernstein] [D_J_Bernstein] +rtsp 554/tcp # Real Time Streaming Protocol [Rob_Lanphier] [Rob_Lanphier] +# (RTSP) +rtsp 554/udp # Real Time Streaming Protocol [Rob_Lanphier] [Rob_Lanphier] +dsf 555/tcp +dsf 555/udp +remotefs 556/tcp # rfs server +remotefs 556/udp # rfs server +openvms-sysipc 557/tcp # openvms-sysipc [Alan_Potter] [Alan_Potter] +openvms-sysipc 557/udp # openvms-sysipc [Alan_Potter] [Alan_Potter] +sdnskmp 558/tcp # SDNSKMP +sdnskmp 558/udp # SDNSKMP +teedtap 559/tcp # TEEDTAP [Charlie_Limoges] [Charlie_Limoges] +teedtap 559/udp # TEEDTAP [Charlie_Limoges] [Charlie_Limoges] +rmonitor 560/tcp # rmonitord +rmonitor 560/udp # rmonitord +monitor 561/tcp +monitor 561/udp +chshell 562/tcp # chcmd +chshell 562/udp # chcmd +nntps 563/tcp # nntp protocol over TLS/SSL [Kipp_E_B_Hickman_2] [Kipp_E_B_Hickman_2] +# (was snntp) +nntps 563/udp # nntp protocol over TLS/SSL [Kipp_E_B_Hickman_2] [Kipp_E_B_Hickman_2] +9pfs 564/tcp # plan 9 file service +9pfs 564/udp # plan 9 file service +whoami 565/tcp # whoami +whoami 565/udp # whoami +streettalk 566/tcp # streettalk +streettalk 566/udp # streettalk +banyan-rpc 567/tcp # banyan-rpc [Tom_Lemaire] [Tom_Lemaire] +banyan-rpc 567/udp # banyan-rpc [Tom_Lemaire] [Tom_Lemaire] +ms-shuttle 568/tcp # microsoft shuttle [Rudolph_Balaz] [Rudolph_Balaz] +ms-shuttle 568/udp # microsoft shuttle [Rudolph_Balaz] [Rudolph_Balaz] +ms-rome 569/tcp # microsoft rome [Rudolph_Balaz] [Rudolph_Balaz] +ms-rome 569/udp # microsoft rome [Rudolph_Balaz] [Rudolph_Balaz] +meter 570/tcp # demon +meter 570/udp # demon +meter 571/tcp # udemon +meter 571/udp # udemon +sonar 572/tcp # sonar [Keith_Moore] [Keith_Moore] +sonar 572/udp # sonar [Keith_Moore] [Keith_Moore] +banyan-vip 573/tcp # banyan-vip [Denis_Leclerc] [Denis_Leclerc] +banyan-vip 573/udp # banyan-vip [Denis_Leclerc] [Denis_Leclerc] +ftp-agent 574/tcp # FTP Software Agent System [Michael_S_Greenberg] [Michael_S_Greenberg] +ftp-agent 574/udp # FTP Software Agent System [Michael_S_Greenberg] [Michael_S_Greenberg] +vemmi 575/tcp # VEMMI [Daniel_Mavrakis_2] [Daniel_Mavrakis_2] +vemmi 575/udp # VEMMI [Daniel_Mavrakis_2] [Daniel_Mavrakis_2] +ipcd 576/tcp # ipcd +ipcd 576/udp # ipcd +vnas 577/tcp # vnas +vnas 577/udp # vnas +ipdd 578/tcp # ipdd [Jay_Farhat] [Jay_Farhat] +ipdd 578/udp # ipdd [Jay_Farhat] [Jay_Farhat] +decbsrv 579/tcp # decbsrv [Rudi_Martin] [Rudi_Martin] +decbsrv 579/udp # decbsrv [Rudi_Martin] [Rudi_Martin] +sntp-heartbeat 580/tcp # SNTP HEARTBEAT [Louis_Mamakos_2] [Louis_Mamakos_2] +sntp-heartbeat 580/udp # SNTP HEARTBEAT [Louis_Mamakos_2] [Louis_Mamakos_2] +bdp 581/tcp # Bundle Discovery Protocol [Gary_Malkin] [Gary_Malkin] +bdp 581/udp # Bundle Discovery Protocol [Gary_Malkin] [Gary_Malkin] +scc-security 582/tcp # SCC Security [Prashant_Dholakia] [Prashant_Dholakia] +scc-security 582/udp # SCC Security [Prashant_Dholakia] [Prashant_Dholakia] +philips-vc 583/tcp # Philips Video-Conferencing [Janna_Chang] [Janna_Chang] +philips-vc 583/udp # Philips Video-Conferencing [Janna_Chang] [Janna_Chang] +keyserver 584/tcp # Key Server [Gary_Howland] [Gary_Howland] +keyserver 584/udp # Key Server [Gary_Howland] [Gary_Howland] +# 585 De-registered 2006-04-25 Use of 585 is not recommended, use 993 instead +password-chg 586/tcp # Password Change +password-chg 586/udp # Password Change +submission 587/tcp # Message Submission 2011-11-17 [RFC6409] +submission 587/udp # Message Submission 2011-11-17 [RFC6409] +cal 588/tcp # CAL [Myron_Hattig] [Myron_Hattig] +cal 588/udp # CAL [Myron_Hattig] [Myron_Hattig] +eyelink 589/tcp # EyeLink [Dave_Stampe] [Dave_Stampe] +eyelink 589/udp # EyeLink [Dave_Stampe] [Dave_Stampe] +tns-cml 590/tcp # TNS CML [Jerome_Albin] [Jerome_Albin] +tns-cml 590/udp # TNS CML [Jerome_Albin] [Jerome_Albin] +http-alt 591/tcp # FileMaker, Inc. - HTTP [Clay_Maeckel] [Clay_Maeckel] +# Alternate (see Port 80) +http-alt 591/udp # FileMaker, Inc. - HTTP [Clay_Maeckel] [Clay_Maeckel] +eudora-set 592/tcp # Eudora Set [Randall_Gellens] [Randall_Gellens] +eudora-set 592/udp # Eudora Set [Randall_Gellens] [Randall_Gellens] +http-rpc-epmap 593/tcp # HTTP RPC Ep Map [Edward_Reus] [Edward_Reus] +http-rpc-epmap 593/udp # HTTP RPC Ep Map [Edward_Reus] [Edward_Reus] +tpip 594/tcp # TPIP [Brad_Spear] [Brad_Spear] +tpip 594/udp # TPIP [Brad_Spear] [Brad_Spear] +cab-protocol 595/tcp # CAB Protocol [Winston_Hetherington] [Winston_Hetherington] +cab-protocol 595/udp # CAB Protocol [Winston_Hetherington] [Winston_Hetherington] +smsd 596/tcp # SMSD [Wayne_Barlow] [Wayne_Barlow] +smsd 596/udp # SMSD [Wayne_Barlow] [Wayne_Barlow] +ptcnameservice 597/tcp # PTC Name Service [Yuri_Machkasov] [Yuri_Machkasov] +ptcnameservice 597/udp # PTC Name Service [Yuri_Machkasov] [Yuri_Machkasov] +sco-websrvrmg3 598/tcp # SCO Web Server Manager 3 [Simon_Baldwin] [Simon_Baldwin] +sco-websrvrmg3 598/udp # SCO Web Server Manager 3 [Simon_Baldwin] [Simon_Baldwin] +acp 599/tcp # Aeolon Core Protocol [Michael_Alyn_Miller] [Michael_Alyn_Miller] +acp 599/udp # Aeolon Core Protocol [Michael_Alyn_Miller] [Michael_Alyn_Miller] +ipcserver 600/tcp # Sun IPC server [Bill_Schiefelbein] [Bill_Schiefelbein] +ipcserver 600/udp # Sun IPC server [Bill_Schiefelbein] [Bill_Schiefelbein] +syslog-conn 601/tcp # Reliable Syslog Service [RFC3195] +syslog-conn 601/udp # Reliable Syslog Service [RFC3195] +xmlrpc-beep 602/tcp # XML-RPC over BEEP [RFC3529] +xmlrpc-beep 602/udp # XML-RPC over BEEP [RFC3529] +idxp 603/tcp # IDXP [RFC4767] +idxp 603/udp # IDXP [RFC4767] +tunnel 604/tcp # TUNNEL [RFC3620] +tunnel 604/udp # TUNNEL [RFC3620] +soap-beep 605/tcp # SOAP over BEEP [RFC4227] +soap-beep 605/udp # SOAP over BEEP [RFC4227] +urm 606/tcp # Cray Unified Resource +# Manager +urm 606/udp # Cray Unified Resource +nqs 607/tcp # nqs [Bill_Schiefelbein] [Bill_Schiefelbein] +nqs 607/udp # nqs [Bill_Schiefelbein] [Bill_Schiefelbein] +sift-uft 608/tcp # Sender-Initiated/Unsolicited [Rick_Troth] [Rick_Troth] +sift-uft 608/udp # Sender-Initiated/Unsolicited [Rick_Troth] [Rick_Troth] +npmp-trap 609/tcp # npmp-trap +npmp-trap 609/udp # npmp-trap +npmp-local 610/tcp # npmp-local +npmp-local 610/udp # npmp-local +npmp-gui 611/tcp # npmp-gui [John_Barnes] [John_Barnes] +npmp-gui 611/udp # npmp-gui [John_Barnes] [John_Barnes] +hmmp-ind 612/tcp # HMMP Indication +hmmp-ind 612/udp # HMMP Indication +hmmp-op 613/tcp # HMMP Operation [Andrew_Sinclair] [Andrew_Sinclair] +hmmp-op 613/udp # HMMP Operation [Andrew_Sinclair] [Andrew_Sinclair] +sshell 614/tcp # SSLshell [Simon_J_Gerraty] [Simon_J_Gerraty] +sshell 614/udp # SSLshell [Simon_J_Gerraty] [Simon_J_Gerraty] +sco-inetmgr 615/tcp # Internet Configuration +sco-inetmgr 615/udp # Internet Configuration +sco-sysmgr 616/tcp # SCO System Administration +sco-sysmgr 616/udp # SCO System Administration +sco-dtmgr 617/tcp # SCO Desktop Administration [Christopher_Durham] [Christopher_Durham] +sco-dtmgr 617/udp # SCO Desktop Administration [Christopher_Durham] [Christopher_Durham] +dei-icda 618/tcp # DEI-ICDA [David_Turner] [David_Turner] +dei-icda 618/udp # DEI-ICDA [David_Turner] [David_Turner] +compaq-evm 619/tcp # Compaq EVM [Jem_Treadwell] [Jem_Treadwell] +compaq-evm 619/udp # Compaq EVM [Jem_Treadwell] [Jem_Treadwell] +sco-websrvrmgr 620/tcp # SCO WebServer Manager [Christopher_Durham] [Christopher_Durham] +sco-websrvrmgr 620/udp # SCO WebServer Manager [Christopher_Durham] [Christopher_Durham] +escp-ip 621/tcp # ESCP [Lai_Zit_Seng] [Lai_Zit_Seng] +escp-ip 621/udp # ESCP [Lai_Zit_Seng] [Lai_Zit_Seng] +collaborator 622/tcp # Collaborator [Johnson_Davis] [Johnson_Davis] +collaborator 622/udp # Collaborator [Johnson_Davis] [Johnson_Davis] +oob-ws-http 623/tcp # DMTF out-of-band web [Jim_Davis] [Jim_Davis] 2007-06 +# services management protocol +asf-rmcp 623/udp # ASF Remote Management and [Carl_First] [Carl_First] +# Control Protocol +cryptoadmin 624/tcp # Crypto Admin [Tony_Walker] [Tony_Walker] +cryptoadmin 624/udp # Crypto Admin [Tony_Walker] [Tony_Walker] +# DEC DLM +# +dec-dlm 625/tcp # IANA assigned this [Rudi_Martin_2] [Rudi_Martin_2] +# a replacement for "dec_dlm". +# This entry is an alias to "dec-dlm". This entry is now +dec_dlm 625/tcp # DEC DLM [Rudi_Martin_2] [Rudi_Martin_2] historic, not usable for use with many common service +# +dec-dlm 625/udp # IANA assigned this [Rudi_Martin_2] [Rudi_Martin_2] +dec_dlm 625/udp # DEC DLM [Rudi_Martin_2] [Rudi_Martin_2] historic, not usable for use with many common service +asia 626/tcp # ASIA [Michael_Dasenbrock] [Michael_Dasenbrock] +asia 626/udp # ASIA [Michael_Dasenbrock] [Michael_Dasenbrock] +passgo-tivoli 627/tcp # PassGo Tivoli [John_Rainford_2] [John_Rainford_2] +passgo-tivoli 627/udp # PassGo Tivoli [John_Rainford_2] [John_Rainford_2] +qmqp 628/tcp # QMQP [Dan_Bernstein_2] [Dan_Bernstein_2] +qmqp 628/udp # QMQP [Dan_Bernstein_2] [Dan_Bernstein_2] +3com-amp3 629/tcp # 3Com AMP3 [Prakash_Banthia] [Prakash_Banthia] +3com-amp3 629/udp # 3Com AMP3 [Prakash_Banthia] [Prakash_Banthia] +rda 630/tcp # RDA [John_Hadjioannou] [John_Hadjioannou] +rda 630/udp # RDA [John_Hadjioannou] [John_Hadjioannou] +ipp 631/tcp # IPP (Internet Printing [Carl_Uno_Manros] [Carl_Uno_Manros] Defined TXT keys: See BonjourPrinting.pdf. +# Protocol) +ipp 631/udp # IPP (Internet Printing [Carl_Uno_Manros] [Carl_Uno_Manros] Defined TXT keys: See BonjourPrinting.pdf. +bmpp 632/tcp # bmpp [Troy_Rollo] [Troy_Rollo] +bmpp 632/udp # bmpp [Troy_Rollo] [Troy_Rollo] +servstat 633/tcp # Service Status update [Greg_Rose] [Greg_Rose] +# (Sterling Software) +servstat 633/udp # Service Status update [Greg_Rose] [Greg_Rose] +ginad 634/tcp # ginad [Mark_Crother] [Mark_Crother] +ginad 634/udp # ginad [Mark_Crother] [Mark_Crother] +rlzdbase 635/tcp # RLZ DBase [Michael_Ginn] [Michael_Ginn] +rlzdbase 635/udp # RLZ DBase [Michael_Ginn] [Michael_Ginn] +ldaps 636/tcp # ldap protocol over TLS/SSL [Pat_Richard] [Pat_Richard] +# (was sldap) +ldaps 636/udp # ldap protocol over TLS/SSL [Pat_Richard] [Pat_Richard] +lanserver 637/tcp # lanserver [Chris_Larsson] [Chris_Larsson] +lanserver 637/udp # lanserver [Chris_Larsson] [Chris_Larsson] +mcns-sec 638/tcp # mcns-sec [Kaz_Ozawa] [Kaz_Ozawa] +mcns-sec 638/udp # mcns-sec [Kaz_Ozawa] [Kaz_Ozawa] +msdp 639/tcp # MSDP [Dino_Farinacci] [Dino_Farinacci] +msdp 639/udp # MSDP [Dino_Farinacci] [Dino_Farinacci] +entrust-sps 640/tcp # entrust-sps [Marek_Buchler] [Marek_Buchler] +entrust-sps 640/udp # entrust-sps [Marek_Buchler] [Marek_Buchler] +repcmd 641/tcp # repcmd [Scott_Dale] [Scott_Dale] +repcmd 641/udp # repcmd [Scott_Dale] [Scott_Dale] +esro-emsdp 642/tcp # ESRO-EMSDP V1.3 [Mohsen_Banan_2] [Mohsen_Banan_2] +esro-emsdp 642/udp # ESRO-EMSDP V1.3 [Mohsen_Banan_2] [Mohsen_Banan_2] +sanity 643/tcp # SANity [Peter_Viscarola] [Peter_Viscarola] +sanity 643/udp # SANity [Peter_Viscarola] [Peter_Viscarola] +dwr 644/tcp # dwr [Bill_Fenner] [Bill_Fenner] +dwr 644/udp # dwr [Bill_Fenner] [Bill_Fenner] +pssc 645/tcp # PSSC [Egon_Meier_Engelen] [Egon_Meier_Engelen] +pssc 645/udp # PSSC [Egon_Meier_Engelen] [Egon_Meier_Engelen] +ldp 646/tcp # LDP [Bob_Thomas] [Bob_Thomas] +ldp 646/udp # LDP [Bob_Thomas] [Bob_Thomas] +dhcp-failover 647/tcp # DHCP Failover [Bernard_Volz] [Bernard_Volz] +dhcp-failover 647/udp # DHCP Failover [Bernard_Volz] [Bernard_Volz] +rrp 648/tcp # Registry Registrar Protocol [Scott_Hollenbeck] [Scott_Hollenbeck] +# (RRP) +rrp 648/udp # Registry Registrar Protocol [Scott_Hollenbeck] [Scott_Hollenbeck] +cadview-3d 649/tcp # Cadview-3d - streaming 3d [David_Cooper] [David_Cooper] +# models over the internet +cadview-3d 649/udp # Cadview-3d - streaming 3d [David_Cooper] [David_Cooper] +obex 650/tcp # OBEX [Jeff_Garbers] [Jeff_Garbers] +obex 650/udp # OBEX [Jeff_Garbers] [Jeff_Garbers] +ieee-mms 651/tcp # IEEE MMS [Curtis_Anderson] [Curtis_Anderson] +ieee-mms 651/udp # IEEE MMS [Curtis_Anderson] [Curtis_Anderson] +hello-port 652/tcp # HELLO_PORT [Patrick_Cipiere] [Patrick_Cipiere] +hello-port 652/udp # HELLO_PORT [Patrick_Cipiere] [Patrick_Cipiere] +repscmd 653/tcp # RepCmd [Scott_Dale_2] [Scott_Dale_2] +repscmd 653/udp # RepCmd [Scott_Dale_2] [Scott_Dale_2] +aodv 654/tcp # AODV [Charles_Perkins] [Charles_Perkins] +aodv 654/udp # AODV [Charles_Perkins] [Charles_Perkins] +tinc 655/tcp # TINC [Ivo_Timmermans] [Ivo_Timmermans] +tinc 655/udp # TINC [Ivo_Timmermans] [Ivo_Timmermans] +spmp 656/tcp # SPMP [Jakob_Kaivo] [Jakob_Kaivo] +spmp 656/udp # SPMP [Jakob_Kaivo] [Jakob_Kaivo] +rmc 657/tcp # RMC [Michael_Schmidt] [Michael_Schmidt] +rmc 657/udp # RMC [Michael_Schmidt] [Michael_Schmidt] +tenfold 658/tcp # TenFold [Louis_Olszyk] [Louis_Olszyk] +tenfold 658/udp # TenFold [Louis_Olszyk] [Louis_Olszyk] +# 659 Removed 2001-06-06 +mac-srvr-admin 660/tcp # MacOS Server Admin [Forest_Hill] [Forest_Hill] +mac-srvr-admin 660/udp # MacOS Server Admin [Forest_Hill] [Forest_Hill] +hap 661/tcp # HAP [Igor_Plotnikov] [Igor_Plotnikov] +hap 661/udp # HAP [Igor_Plotnikov] [Igor_Plotnikov] +pftp 662/tcp # PFTP [Ben_Schluricke] [Ben_Schluricke] +pftp 662/udp # PFTP [Ben_Schluricke] [Ben_Schluricke] +purenoise 663/tcp # PureNoise [Sam_Osa] [Sam_Osa] +purenoise 663/udp # PureNoise [Sam_Osa] [Sam_Osa] +oob-ws-https 664/tcp # DMTF out-of-band secure web [Jim_Davis] [Jim_Davis] 2007-06 +asf-secure-rmcp 664/udp # ASF Secure Remote Management [Carl_First] [Carl_First] +# and Control Protocol +sun-dr 665/tcp # Sun DR [Harinder_Bhasin] [Harinder_Bhasin] +sun-dr 665/udp # Sun DR [Harinder_Bhasin] [Harinder_Bhasin] +mdqs 666/tcp +mdqs 666/udp +doom 666/tcp # doom Id Software [ddt] [ddt] +doom 666/udp # doom Id Software [ddt] [ddt] +# campaign contribution +disclose 667/tcp # disclosures - SDR [Jim_Dixon] [Jim_Dixon] +# Technologies +disclose 667/udp # disclosures - SDR [Jim_Dixon] [Jim_Dixon] +mecomm 668/tcp # MeComm +mecomm 668/udp # MeComm +meregister 669/tcp # MeRegister [Armin_Sawusch] [Armin_Sawusch] +meregister 669/udp # MeRegister [Armin_Sawusch] [Armin_Sawusch] +vacdsm-sws 670/tcp # VACDSM-SWS +vacdsm-sws 670/udp # VACDSM-SWS +vacdsm-app 671/tcp # VACDSM-APP +vacdsm-app 671/udp # VACDSM-APP +vpps-qua 672/tcp # VPPS-QUA +vpps-qua 672/udp # VPPS-QUA +cimplex 673/tcp # CIMPLEX [Ulysses_G_Smith_Jr] [Ulysses_G_Smith_Jr] +cimplex 673/udp # CIMPLEX [Ulysses_G_Smith_Jr] [Ulysses_G_Smith_Jr] +acap 674/tcp # ACAP [Chris_Newman] [Chris_Newman] 2010-10-15 +acap 674/udp # ACAP [Chris_Newman] [Chris_Newman] 2010-10-15 +dctp 675/tcp # DCTP [Andre_Kramer] [Andre_Kramer] +dctp 675/udp # DCTP [Andre_Kramer] [Andre_Kramer] +vpps-via 676/tcp # VPPS Via [Ulysses_G_Smith_Jr] [Ulysses_G_Smith_Jr] +vpps-via 676/udp # VPPS Via [Ulysses_G_Smith_Jr] [Ulysses_G_Smith_Jr] +vpp 677/tcp # Virtual Presence Protocol [Klaus_Wolf] [Klaus_Wolf] +vpp 677/udp # Virtual Presence Protocol [Klaus_Wolf] [Klaus_Wolf] +ggf-ncp 678/tcp # GNU Generation Foundation [Noah_Paul] [Noah_Paul] +# NCP +ggf-ncp 678/udp # GNU Generation Foundation [Noah_Paul] [Noah_Paul] +mrm 679/tcp # MRM [Liming_Wei] [Liming_Wei] +mrm 679/udp # MRM [Liming_Wei] [Liming_Wei] +entrust-aaas 680/tcp # entrust-aaas +entrust-aaas 680/udp # entrust-aaas +entrust-aams 681/tcp # entrust-aams [Adrian_Mancini] [Adrian_Mancini] +entrust-aams 681/udp # entrust-aams [Adrian_Mancini] [Adrian_Mancini] +xfr 682/tcp # XFR [Noah_Paul_2] [Noah_Paul_2] +xfr 682/udp # XFR [Noah_Paul_2] [Noah_Paul_2] +corba-iiop 683/tcp # CORBA IIOP +corba-iiop 683/udp # CORBA IIOP +corba-iiop-ssl 684/tcp # CORBA IIOP SSL [Andrew_Watson] [Andrew_Watson] +corba-iiop-ssl 684/udp # CORBA IIOP SSL [Andrew_Watson] [Andrew_Watson] +mdc-portmapper 685/tcp # MDC Port Mapper [Noah_Paul] [Noah_Paul] +mdc-portmapper 685/udp # MDC Port Mapper [Noah_Paul] [Noah_Paul] +hcp-wismar 686/tcp # Hardware Control Protocol [David_Merchant] [David_Merchant] +# Wismar +hcp-wismar 686/udp # Hardware Control Protocol [David_Merchant] [David_Merchant] +asipregistry 687/tcp # asipregistry [Erik_Sea] [Erik_Sea] +asipregistry 687/udp # asipregistry [Erik_Sea] [Erik_Sea] +realm-rusd 688/tcp # ApplianceWare managment [Stacy_Kenworthy] [Stacy_Kenworthy] +realm-rusd 688/udp # ApplianceWare managment [Stacy_Kenworthy] [Stacy_Kenworthy] +nmap 689/tcp # NMAP [Peter_Dennis_Bartok] [Peter_Dennis_Bartok] +nmap 689/udp # NMAP [Peter_Dennis_Bartok] [Peter_Dennis_Bartok] +vatp 690/tcp # Velazquez Application [Velneo] [Velneo] +# Transfer Protocol +vatp 690/udp # Velazquez Application [Velneo] [Velneo] +msexch-routing 691/tcp # MS Exchange Routing [David_Lemson] [David_Lemson] +msexch-routing 691/udp # MS Exchange Routing [David_Lemson] [David_Lemson] +hyperwave-isp 692/tcp # Hyperwave-ISP [Gerald_Mesaric] [Gerald_Mesaric] +hyperwave-isp 692/udp # Hyperwave-ISP [Gerald_Mesaric] [Gerald_Mesaric] +connendp 693/tcp # almanid Connection Endpoint [Ronny_Bremer] [Ronny_Bremer] +connendp 693/udp # almanid Connection Endpoint [Ronny_Bremer] [Ronny_Bremer] +ha-cluster 694/tcp # ha-cluster [Alan_Robertson] [Alan_Robertson] +ha-cluster 694/udp # ha-cluster [Alan_Robertson] [Alan_Robertson] +ieee-mms-ssl 695/tcp # IEEE-MMS-SSL [Curtis_Anderson_2] [Curtis_Anderson_2] +ieee-mms-ssl 695/udp # IEEE-MMS-SSL [Curtis_Anderson_2] [Curtis_Anderson_2] +rushd 696/tcp # RUSHD [Greg_Ercolano] [Greg_Ercolano] +rushd 696/udp # RUSHD [Greg_Ercolano] [Greg_Ercolano] +uuidgen 697/tcp # UUIDGEN [James_Falkner] [James_Falkner] +uuidgen 697/udp # UUIDGEN [James_Falkner] [James_Falkner] +olsr 698/tcp # OLSR [Thomas_Clausen] [Thomas_Clausen] +olsr 698/udp # OLSR [Thomas_Clausen] [Thomas_Clausen] +accessnetwork 699/tcp # Access Network [Yingchun_Xu] [Yingchun_Xu] +accessnetwork 699/udp # Access Network [Yingchun_Xu] [Yingchun_Xu] +epp 700/tcp # Extensible Provisioning [RFC5734] +epp 700/udp # Extensible Provisioning [RFC5734] +lmp 701/tcp # Link Management Protocol [RFC4204] +# (LMP) +lmp 701/udp # Link Management Protocol [RFC4204] +iris-beep 702/tcp # IRIS over BEEP [RFC3983] +iris-beep 702/udp # IRIS over BEEP [RFC3983] +# 703 Unassigned +elcsd 704/tcp # errlog copy/server daemon +elcsd 704/udp # errlog copy/server daemon +agentx 705/tcp # AgentX [Bob_Natale] [Bob_Natale] +agentx 705/udp # AgentX [Bob_Natale] [Bob_Natale] +silc 706/tcp # SILC [Pekka_Riikonen] [Pekka_Riikonen] +silc 706/udp # SILC [Pekka_Riikonen] [Pekka_Riikonen] +borland-dsj 707/tcp # Borland DSJ [Gerg_Cole] [Gerg_Cole] +borland-dsj 707/udp # Borland DSJ [Gerg_Cole] [Gerg_Cole] +# 708 Unassigned +entrust-kmsh 709/tcp # Entrust Key Management +# Service Handler +entrust-kmsh 709/udp # Entrust Key Management +entrust-ash 710/tcp # Entrust Administration [Peter_Whittaker] [Peter_Whittaker] +entrust-ash 710/udp # Entrust Administration [Peter_Whittaker] [Peter_Whittaker] +cisco-tdp 711/tcp # Cisco TDP [Bruce_Davie] [Bruce_Davie] +cisco-tdp 711/udp # Cisco TDP [Bruce_Davie] [Bruce_Davie] +tbrpf 712/tcp # TBRPF [RFC3684] +tbrpf 712/udp # TBRPF [RFC3684] +iris-xpc 713/tcp # IRIS over XPC +iris-xpc 713/udp # IRIS over XPC +iris-xpcs 714/tcp # IRIS over XPCS [RFC4992] +iris-xpcs 714/udp # IRIS over XPCS [RFC4992] +iris-lwz 715/tcp # IRIS-LWZ [RFC4993] +iris-lwz 715/udp # IRIS-LWZ [RFC4993] +pana 716/udp # PANA Messages [RFC5191] +# 717-728 Unassigned +netviewdm1 729/tcp # IBM NetView DM/6000 +# Server/Client +netviewdm1 729/udp # IBM NetView DM/6000 +netviewdm2 730/tcp # IBM NetView DM/6000 send/tcp +netviewdm2 730/udp # IBM NetView DM/6000 send/tcp +netviewdm3 731/tcp # IBM NetView DM/6000 [Philippe_Binet] [Philippe_Binet] +# receive/tcp +netviewdm3 731/udp # IBM NetView DM/6000 [Philippe_Binet] [Philippe_Binet] +# 732-740 Unassigned +netgw 741/tcp # netGW [Oliver_Korfmacher] [Oliver_Korfmacher] +netgw 741/udp # netGW [Oliver_Korfmacher] [Oliver_Korfmacher] +netrcs 742/tcp # Network based Rev. Cont. [Gordon_C_Galligher] [Gordon_C_Galligher] +# Sys. +netrcs 742/udp # Network based Rev. Cont. [Gordon_C_Galligher] [Gordon_C_Galligher] +# 743 Unassigned +flexlm 744/tcp # Flexible License Manager [Matt_Christiano] [Matt_Christiano] +flexlm 744/udp # Flexible License Manager [Matt_Christiano] [Matt_Christiano] +# 745-746 Unassigned +fujitsu-dev 747/tcp # Fujitsu Device Control +fujitsu-dev 747/udp # Fujitsu Device Control +ris-cm 748/tcp # Russell Info Sci Calendar +ris-cm 748/udp # Russell Info Sci Calendar +kerberos-adm 749/tcp # kerberos administration +kerberos-adm 749/udp # kerberos administration +rfile 750/tcp +loadav 750/udp +kerberos-iv 750/udp # kerberos version iv [Martin_Hamilton] [Martin_Hamilton] +pump 751/tcp +pump 751/udp +qrh 752/tcp +qrh 752/udp +rrh 753/tcp +rrh 753/udp +tell 754/tcp # send [Josyula_R_Rao] [Josyula_R_Rao] +tell 754/udp # send [Josyula_R_Rao] [Josyula_R_Rao] +# 755-756 Unassigned +nlogin 758/tcp +nlogin 758/udp +con 759/tcp +con 759/udp +ns 760/tcp +ns 760/udp +rxe 761/tcp +rxe 761/udp +quotad 762/tcp +quotad 762/udp +cycleserv 763/tcp +cycleserv 763/udp +omserv 764/tcp +omserv 764/udp +webster 765/tcp # [Josyula_R_Rao] [Josyula_R_Rao] +webster 765/udp # [Josyula_R_Rao] [Josyula_R_Rao] +# 766 Unassigned +phonebook 767/tcp # phone [Josyula_R_Rao] [Josyula_R_Rao] +phonebook 767/udp # phone [Josyula_R_Rao] [Josyula_R_Rao] +# 768 Unassigned +vid 769/tcp +vid 769/udp +cadlock 770/tcp +cadlock 770/udp +rtip 771/tcp +rtip 771/udp +cycleserv2 772/tcp +cycleserv2 772/udp +submit 773/tcp +notify 773/udp +rpasswd 774/tcp +acmaint-dbd 774/udp # well-formed service name as +# "acmaint_dbd". +# This entry is an alias to "acmaint-dbd". This entry is now +acmaint_dbd 774/udp # historic, not usable for use with many common service +entomb 775/tcp +acmaint-transd 775/udp # well-formed service name as +# "acmaint_transd". +# This entry is an alias to "acmaint-transd". This entry is now +acmaint_transd 775/udp # historic, not usable for use with many common service +wpages 776/tcp # [Josyula_R_Rao] [Josyula_R_Rao] +wpages 776/udp # [Josyula_R_Rao] [Josyula_R_Rao] +multiling-http 777/tcp # Multiling HTTP [Alejandro_Bonet] [Alejandro_Bonet] +multiling-http 777/udp # Multiling HTTP [Alejandro_Bonet] [Alejandro_Bonet] +# 778-779 Unassigned +wpgs 780/tcp # [Josyula_R_Rao] [Josyula_R_Rao] +wpgs 780/udp # [Josyula_R_Rao] [Josyula_R_Rao] +# 781-785 Unassigned +# 786 Unassigned 2002-05-08 +# 787 Unassigned 2002-10-08 +# 788-799 Unassigned Use Known on +# port 796 +mdbs-daemon 800/tcp # well-formed service name as +# "mdbs_daemon". +# This entry is an alias to "mdbs-daemon". This entry is now +mdbs_daemon 800/tcp # historic, not usable for use with many common service +mdbs-daemon 800/udp # well-formed service name as +mdbs_daemon 800/udp # historic, not usable for use with many common service +device 801/tcp +device 801/udp +# 802-809 Unassigned +fcp-udp 810/tcp # FCP [Paul_Whittemore] [Paul_Whittemore] +fcp-udp 810/udp # FCP Datagram [Paul_Whittemore] [Paul_Whittemore] +# 811-827 Unassigned +itm-mcell-s 828/tcp # itm-mcell-s [Portnoy_Boxman] [Portnoy_Boxman] +itm-mcell-s 828/udp # itm-mcell-s [Portnoy_Boxman] [Portnoy_Boxman] +pkix-3-ca-ra 829/tcp # PKIX-3 CA/RA [Carlisle_Adams] [Carlisle_Adams] +pkix-3-ca-ra 829/udp # PKIX-3 CA/RA [Carlisle_Adams] [Carlisle_Adams] +netconf-ssh 830/tcp # NETCONF over SSH [RFC6242] +netconf-ssh 830/udp # NETCONF over SSH [RFC6242] +netconf-beep 831/tcp # NETCONF over BEEP [RFC4744] +netconf-beep 831/udp # NETCONF over BEEP [RFC4744] +netconfsoaphttp 832/tcp # NETCONF for SOAP over HTTPS [RFC4743] +netconfsoaphttp 832/udp # NETCONF for SOAP over HTTPS [RFC4743] +netconfsoapbeep 833/tcp # NETCONF for SOAP over BEEP [RFC4743] +netconfsoapbeep 833/udp # NETCONF for SOAP over BEEP [RFC4743] +# 834-846 Unassigned +dhcp-failover2 847/tcp # dhcp-failover 2 [Bernard_Volz] [Bernard_Volz] +dhcp-failover2 847/udp # dhcp-failover 2 [Bernard_Volz] [Bernard_Volz] +gdoi 848/tcp # GDOI [RFC3547] +gdoi 848/udp # GDOI [RFC3547] +# 849-859 Unassigned +iscsi 860/tcp # iSCSI [RFC3720] +iscsi 860/udp # iSCSI [RFC3720] +owamp-control 861/tcp # OWAMP-Control [RFC4656] +owamp-control 861/udp # OWAMP-Control [RFC4656] +twamp-control 862/tcp # Two-way Active Measurement [RFC5357] +# Protocol (TWAMP) Control +twamp-control 862/udp # Two-way Active Measurement [RFC5357] +# 863-872 Unassigned +rsync 873/tcp # rsync [Andrew_Tridgell] [Andrew_Tridgell] +rsync 873/udp # rsync [Andrew_Tridgell] [Andrew_Tridgell] +# 874-885 Unassigned +iclcnet-locate 886/tcp # ICL coNETion locate server [Bob_Lyon] [Bob_Lyon] +iclcnet-locate 886/udp # ICL coNETion locate server [Bob_Lyon] [Bob_Lyon] +# ICL coNETion server info +# +iclcnet-svinfo 887/tcp # IANA assigned this [Bob_Lyon] [Bob_Lyon] +# "iclcnet_svinfo". +# This entry is an alias to "iclcnet-svinfo". This entry is now +iclcnet_svinfo 887/tcp # ICL coNETion server info [Bob_Lyon] [Bob_Lyon] historic, not usable for use with many common service +# +iclcnet-svinfo 887/udp # IANA assigned this [Bob_Lyon] [Bob_Lyon] +iclcnet_svinfo 887/udp # ICL coNETion server info [Bob_Lyon] [Bob_Lyon] historic, not usable for use with many common service +accessbuilder 888/tcp # AccessBuilder [Steve_Sweeney] [Steve_Sweeney] +accessbuilder 888/udp # AccessBuilder [Steve_Sweeney] [Steve_Sweeney] +cddbp 888/tcp # CD Database Protocol [Steve_Scherf] [Steve_Scherf] This entry records an unassigned but widespread use +# 889-899 Unassigned +omginitialrefs 900/tcp # OMG Initial Refs [Christian_Callsen] [Christian_Callsen] +omginitialrefs 900/udp # OMG Initial Refs [Christian_Callsen] [Christian_Callsen] +smpnameres 901/tcp # SMPNAMERES [Leif_Ekblad] [Leif_Ekblad] +smpnameres 901/udp # SMPNAMERES [Leif_Ekblad] [Leif_Ekblad] +ideafarm-door 902/tcp # self documenting Telnet Door +ideafarm-door 902/udp # self documenting Door: send +# 0x00 for info +ideafarm-panic 903/tcp # self documenting Telnet [Wo_o_Ideafarm] [Wo_o_Ideafarm] +# Panic Door +ideafarm-panic 903/udp # self documenting Panic Door: [Wo_o_Ideafarm] [Wo_o_Ideafarm] +# send 0x00 for info +# 904-909 Unassigned +kink 910/tcp # Kerberized Internet [RFC4430] +# Negotiation of Keys (KINK) +kink 910/udp # Kerberized Internet [RFC4430] +xact-backup 911/tcp # xact-backup [Bill_Carroll] [Bill_Carroll] +xact-backup 911/udp # xact-backup [Bill_Carroll] [Bill_Carroll] +apex-mesh 912/tcp # APEX relay-relay service +apex-mesh 912/udp # APEX relay-relay service +apex-edge 913/tcp # APEX endpoint-relay service [RFC3340] +apex-edge 913/udp # APEX endpoint-relay service [RFC3340] +# 914-988 Unassigned +ftps-data 989/tcp # ftp protocol, data, over +ftps-data 989/udp # ftp protocol, data, over +ftps 990/tcp # ftp protocol, control, over [Christopher_Allen] [Christopher_Allen] +ftps 990/udp # ftp protocol, control, over [Christopher_Allen] [Christopher_Allen] +nas 991/tcp # Netnews Administration [Vera_Heinau][Heiko_Schlichting] [Vera_Heinau][Heiko_Schlichting] +nas 991/udp # Netnews Administration [Vera_Heinau][Heiko_Schlichting] [Vera_Heinau][Heiko_Schlichting] +telnets 992/tcp # telnet protocol over TLS/SSL +telnets 992/udp # telnet protocol over TLS/SSL +imaps 993/tcp # imap4 protocol over TLS/SSL +imaps 993/udp # imap4 protocol over TLS/SSL +# 994 tcp Reserved 2011-08-31 (previous contact was[Christopher_Allen]) +# 994 udp Reserved +pop3s 995/tcp # pop3 protocol over TLS/SSL [Gordon_Mangione] [Gordon_Mangione] +# (was spop3) +pop3s 995/udp # pop3 protocol over TLS/SSL [Gordon_Mangione] [Gordon_Mangione] +vsinet 996/tcp # vsinet [Rob_Juergens] [Rob_Juergens] +vsinet 996/udp # vsinet [Rob_Juergens] [Rob_Juergens] +maitrd 997/tcp +maitrd 997/udp +busboy 998/tcp +puparp 998/udp +garcon 999/tcp +applix 999/udp # Applix ac +puprouter 999/tcp +puprouter 999/udp +cadlock2 1000/tcp +cadlock2 1000/udp +# 1001-1009 Unassigned +# 1008 udp Possibly used by Sun +# Solaris???? +surf 1010/tcp # surf [Joseph_Geer] [Joseph_Geer] +surf 1010/udp # surf [Joseph_Geer] [Joseph_Geer] +# 1011-1020 Reserved +exp1 1021/tcp # RFC3692-style Experiment 1 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp1 1021/udp # RFC3692-style Experiment 1 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp1 1021/sctp # RFC3692-style Experiment 1 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp1 1021/dccp # RFC3692-style Experiment 1 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp2 1022/tcp # RFC3692-style Experiment 2 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp2 1022/udp # RFC3692-style Experiment 2 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp2 1022/sctp # RFC3692-style Experiment 2 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +exp2 1022/dccp # RFC3692-style Experiment 2 [IESG] [IETF_Chair] [1][RFC4727][RFC6335] +# 1023 tcp Reserved [IANA] [IANA] +# 1023 udp Reserved [IANA] [IANA] +# 1024 tcp Reserved [IANA] [IANA] +# 1024 udp Reserved [IANA] [IANA] +blackjack 1025/tcp # network blackjack +blackjack 1025/udp # network blackjack +cap 1026/tcp # Calendar Access Protocol [Doug_Royer] [Doug_Royer] 2010-12-09 +cap 1026/udp # Calendar Access Protocol [Doug_Royer] [Doug_Royer] 2010-12-09 +6a44 1027/udp # IPv6 Behind NAT44 CPEs [IESG] [IETF_Chair] 2012-08-02 [RFC6751] +# 1027 tcp Reserved +# 1028 Deprecated 2004-02 +solid-mux 1029/tcp # Solid Mux Server [Anders_Borg] [Anders_Borg] 2004-11 +solid-mux 1029/udp # Solid Mux Server [Anders_Borg] [Anders_Borg] 2004-11 +iad1 1030/tcp # BBN IAD +iad1 1030/udp # BBN IAD +iad2 1031/tcp # BBN IAD +iad2 1031/udp # BBN IAD +iad3 1032/tcp # BBN IAD [Andy_Malis] [Andy_Malis] +iad3 1032/udp # BBN IAD [Andy_Malis] [Andy_Malis] +netinfo-local 1033/tcp # local netinfo port [Marc_Majka] [Marc_Majka] 2002-08 +netinfo-local 1033/udp # local netinfo port [Marc_Majka] [Marc_Majka] 2002-08 +activesync 1034/tcp # ActiveSync Notifications [Sandra_Vargas] [Sandra_Vargas] 2003-03 +activesync 1034/udp # ActiveSync Notifications [Sandra_Vargas] [Sandra_Vargas] 2003-03 +mxxrlogin 1035/tcp # MX-XR RPC [Arnold_E_Mauer] [Arnold_E_Mauer] 2003-04 +mxxrlogin 1035/udp # MX-XR RPC [Arnold_E_Mauer] [Arnold_E_Mauer] 2003-04 +nsstp 1036/tcp # Nebula Secure Segment [Steve_Ravida] [Steve_Ravida] +nsstp 1036/udp # Nebula Secure Segment [Steve_Ravida] [Steve_Ravida] +ams 1037/tcp # AMS [Ronald_R_Ohmer] [Ronald_R_Ohmer] 2004-02 +ams 1037/udp # AMS [Ronald_R_Ohmer] [Ronald_R_Ohmer] 2004-02 +mtqp 1038/tcp # Message Tracking Query [RFC3887] +mtqp 1038/udp # Message Tracking Query [RFC3887] +sbl 1039/tcp # Streamlined Blackhole [Jonathan_A_Zdziaras] [Jonathan_A_Zdziaras] 2004-11 +sbl 1039/udp # Streamlined Blackhole [Jonathan_A_Zdziaras] [Jonathan_A_Zdziaras] 2004-11 +netarx 1040/tcp # Netarx Netcare [Sandy_Kronenberg] [Sandy_Kronenberg] 2008-04-03 +netarx 1040/udp # Netarx Netcare [Sandy_Kronenberg] [Sandy_Kronenberg] 2008-04-03 +danf-ak2 1041/tcp # AK2 Product [Karl_Palsson] [Karl_Palsson] 2004-11 +danf-ak2 1041/udp # AK2 Product [Karl_Palsson] [Karl_Palsson] 2004-11 +afrog 1042/tcp # Subnet Roaming [Michael_Chapman] [Michael_Chapman] 2004-11 +afrog 1042/udp # Subnet Roaming [Michael_Chapman] [Michael_Chapman] 2004-11 +boinc-client 1043/tcp # BOINC Client Control [David_Anderson] [David_Anderson] 2004-11 +boinc-client 1043/udp # BOINC Client Control [David_Anderson] [David_Anderson] 2004-11 +dcutility 1044/tcp # Dev Consortium Utility [Chris_Ryland] [Chris_Ryland] 2004-11 +dcutility 1044/udp # Dev Consortium Utility [Chris_Ryland] [Chris_Ryland] 2004-11 +fpitp 1045/tcp # Fingerprint Image Transfer [Steven_Fields] [Steven_Fields] 2002-02 +fpitp 1045/udp # Fingerprint Image Transfer [Steven_Fields] [Steven_Fields] 2002-02 +wfremotertm 1046/tcp # WebFilter Remote Monitor [Tim_Morgan] [Tim_Morgan] 2004-11 +wfremotertm 1046/udp # WebFilter Remote Monitor [Tim_Morgan] [Tim_Morgan] 2004-11 +neod1 1047/tcp # Sun's NEO Object Request +# Broker +neod1 1047/udp # Sun's NEO Object Request +neod2 1048/tcp # Sun's NEO Object Request [Rohit_Garg] [Rohit_Garg] +neod2 1048/udp # Sun's NEO Object Request [Rohit_Garg] [Rohit_Garg] +td-postman 1049/tcp # Tobit David Postman VPMN [Franz_Josef_Leuders] [Franz_Josef_Leuders] +td-postman 1049/udp # Tobit David Postman VPMN [Franz_Josef_Leuders] [Franz_Josef_Leuders] +cma 1050/tcp # CORBA Management Agent [Ramy_Zaarour] [Ramy_Zaarour] +cma 1050/udp # CORBA Management Agent [Ramy_Zaarour] [Ramy_Zaarour] +optima-vnet 1051/tcp # Optima VNET [Ralf_Doewich] [Ralf_Doewich] +optima-vnet 1051/udp # Optima VNET [Ralf_Doewich] [Ralf_Doewich] +ddt 1052/tcp # Dynamic DNS Tools [Remi_Lefebvre] [Remi_Lefebvre] +ddt 1052/udp # Dynamic DNS Tools [Remi_Lefebvre] [Remi_Lefebvre] +remote-as 1053/tcp # Remote Assistant (RA) [Roman_Kriis] [Roman_Kriis] Use Known on +# port 1053 +remote-as 1053/udp # Remote Assistant (RA) [Roman_Kriis] [Roman_Kriis] +brvread 1054/tcp # BRVREAD [A_Boninn] [A_Boninn] +brvread 1054/udp # BRVREAD [A_Boninn] [A_Boninn] +ansyslmd 1055/tcp # ANSYS - License Manager [Suzanne_Lorrin] [Suzanne_Lorrin] +ansyslmd 1055/udp # ANSYS - License Manager [Suzanne_Lorrin] [Suzanne_Lorrin] +vfo 1056/tcp # VFO [Anthony_Gonzalez] [Anthony_Gonzalez] +vfo 1056/udp # VFO [Anthony_Gonzalez] [Anthony_Gonzalez] +startron 1057/tcp # STARTRON [Markus_Sabadello] [Markus_Sabadello] +startron 1057/udp # STARTRON [Markus_Sabadello] [Markus_Sabadello] +nim 1058/tcp # nim +nim 1058/udp # nim +nimreg 1059/tcp # nimreg [Robert_Gordon] [Robert_Gordon] +nimreg 1059/udp # nimreg [Robert_Gordon] [Robert_Gordon] +polestar 1060/tcp # POLESTAR [Masakuni_Okada] [Masakuni_Okada] +polestar 1060/udp # POLESTAR [Masakuni_Okada] [Masakuni_Okada] +kiosk 1061/tcp # KIOSK [Ken_Ksiazek] [Ken_Ksiazek] +kiosk 1061/udp # KIOSK [Ken_Ksiazek] [Ken_Ksiazek] +veracity 1062/tcp # Veracity [Ross_Williams] [Ross_Williams] +veracity 1062/udp # Veracity [Ross_Williams] [Ross_Williams] +kyoceranetdev 1063/tcp # KyoceraNetDev [Shigenaka_Kanemitsu] [Shigenaka_Kanemitsu] +kyoceranetdev 1063/udp # KyoceraNetDev [Shigenaka_Kanemitsu] [Shigenaka_Kanemitsu] +jstel 1064/tcp # JSTEL [Duane_Kiser] [Duane_Kiser] +jstel 1064/udp # JSTEL [Duane_Kiser] [Duane_Kiser] +syscomlan 1065/tcp # SYSCOMLAN [Alexandre_Lechenne] [Alexandre_Lechenne] 2008-12-10 +syscomlan 1065/udp # SYSCOMLAN [Alexandre_Lechenne] [Alexandre_Lechenne] 2008-12-10 +fpo-fns 1066/tcp # FPO-FNS [Jens_Klose] [Jens_Klose] +fpo-fns 1066/udp # FPO-FNS [Jens_Klose] [Jens_Klose] +# Installation Bootstrap +# Proto. Serv. +# +instl-boots 1067/tcp # IANA assigned this +# "instl_boots". +# Installation Bootstrap This entry is an alias to "instl-boots". This entry is now +instl_boots 1067/tcp # Proto. Serv. historic, not usable for use with many common service +# +instl-boots 1067/udp # IANA assigned this +instl_boots 1067/udp # Proto. Serv. historic, not usable for use with many common service +# Proto. Cli. +# +instl-bootc 1068/tcp # IANA assigned this [David_Arko] [David_Arko] +# "instl_bootc". +# Installation Bootstrap This entry is an alias to "instl-bootc". This entry is now +instl_bootc 1068/tcp # Proto. Cli. [David_Arko] [David_Arko] historic, not usable for use with many common service +# +instl-bootc 1068/udp # IANA assigned this [David_Arko] [David_Arko] +instl_bootc 1068/udp # Proto. Cli. [David_Arko] [David_Arko] historic, not usable for use with many common service +cognex-insight 1069/tcp # COGNEX-INSIGHT [Steve_Olson] [Steve_Olson] +cognex-insight 1069/udp # COGNEX-INSIGHT [Steve_Olson] [Steve_Olson] +gmrupdateserv 1070/tcp # GMRUpdateSERV [Steve_Kellogg] [Steve_Kellogg] +gmrupdateserv 1070/udp # GMRUpdateSERV [Steve_Kellogg] [Steve_Kellogg] +bsquare-voip 1071/tcp # BSQUARE-VOIP [Yen_Lee] [Yen_Lee] +bsquare-voip 1071/udp # BSQUARE-VOIP [Yen_Lee] [Yen_Lee] +cardax 1072/tcp # CARDAX [Charles_Oram] [Charles_Oram] +cardax 1072/udp # CARDAX [Charles_Oram] [Charles_Oram] +bridgecontrol 1073/tcp # Bridge Control [Andy_Heron] [Andy_Heron] +bridgecontrol 1073/udp # Bridge Control [Andy_Heron] [Andy_Heron] +warmspotMgmt 1074/tcp # Warmspot Management Protocol [Robert_C_Henningsga] [Robert_C_Henningsga] +warmspotMgmt 1074/udp # Warmspot Management Protocol [Robert_C_Henningsga] [Robert_C_Henningsga] +rdrmshc 1075/tcp # RDRMSHC [Ericko_Shimada] [Ericko_Shimada] +rdrmshc 1075/udp # RDRMSHC [Ericko_Shimada] [Ericko_Shimada] +dab-sti-c 1076/tcp # DAB STI-C [World_DAB] [World_DAB] +dab-sti-c 1076/udp # DAB STI-C [World_DAB] [World_DAB] +imgames 1077/tcp # IMGames [Jean_A_Ames] [Jean_A_Ames] +imgames 1077/udp # IMGames [Jean_A_Ames] [Jean_A_Ames] +avocent-proxy 1078/tcp # Avocent Proxy Protocol [Steven_W_Clark] [Steven_W_Clark] +avocent-proxy 1078/udp # Avocent Proxy Protocol [Steven_W_Clark] [Steven_W_Clark] +asprovatalk 1079/tcp # ASPROVATalk [Chiew_Farn_Chung] [Chiew_Farn_Chung] +asprovatalk 1079/udp # ASPROVATalk [Chiew_Farn_Chung] [Chiew_Farn_Chung] +socks 1080/tcp # Socks [Ying_Da_Lee] [Ying_Da_Lee] +socks 1080/udp # Socks [Ying_Da_Lee] [Ying_Da_Lee] +pvuniwien 1081/tcp # PVUNIWIEN [Peter_Lipp] [Peter_Lipp] +pvuniwien 1081/udp # PVUNIWIEN [Peter_Lipp] [Peter_Lipp] +amt-esd-prot 1082/tcp # AMT-ESD-PROT [AMTEC_S_p_A] [AMTEC_S_p_A] +amt-esd-prot 1082/udp # AMT-ESD-PROT [AMTEC_S_p_A] [AMTEC_S_p_A] +ansoft-lm-1 1083/tcp # Anasoft License Manager +ansoft-lm-1 1083/udp # Anasoft License Manager +ansoft-lm-2 1084/tcp # Anasoft License Manager +ansoft-lm-2 1084/udp # Anasoft License Manager +webobjects 1085/tcp # Web Objects [Andy_Belk] [Andy_Belk] +webobjects 1085/udp # Web Objects [Andy_Belk] [Andy_Belk] +cplscrambler-lg 1086/tcp # CPL Scrambler Logging +cplscrambler-lg 1086/udp # CPL Scrambler Logging +cplscrambler-in 1087/tcp # CPL Scrambler Internal +cplscrambler-in 1087/udp # CPL Scrambler Internal +cplscrambler-al 1088/tcp # CPL Scrambler Alarm Log [Richard_Corn] [Richard_Corn] +cplscrambler-al 1088/udp # CPL Scrambler Alarm Log [Richard_Corn] [Richard_Corn] +ff-annunc 1089/tcp # FF Annunciation +ff-annunc 1089/udp # FF Annunciation +ff-fms 1090/tcp # FF Fieldbus Message +# Specification +ff-fms 1090/udp # FF Fieldbus Message +ff-sm 1091/tcp # FF System Management [Fieldbus_Foundation] [Fieldbus_Foundation] +ff-sm 1091/udp # FF System Management [Fieldbus_Foundation] [Fieldbus_Foundation] +obrpd 1092/tcp # Open Business Reporting [William_Randolph_Roy] [William_Randolph_Roy] +obrpd 1092/udp # Open Business Reporting [William_Randolph_Roy] [William_Randolph_Roy] +proofd 1093/tcp # PROOFD +proofd 1093/udp # PROOFD +rootd 1094/tcp # ROOTD [Fons_Rademakers] [Fons_Rademakers] +rootd 1094/udp # ROOTD [Fons_Rademakers] [Fons_Rademakers] +nicelink 1095/tcp # NICELink [Jordi_Lisbona] [Jordi_Lisbona] +nicelink 1095/udp # NICELink [Jordi_Lisbona] [Jordi_Lisbona] +cnrprotocol 1096/tcp # Common Name Resolution [Michael_Mealling] [Michael_Mealling] +cnrprotocol 1096/udp # Common Name Resolution [Michael_Mealling] [Michael_Mealling] +sunclustermgr 1097/tcp # Sun Cluster Manager [Ashit_Patel] [Ashit_Patel] +sunclustermgr 1097/udp # Sun Cluster Manager [Ashit_Patel] [Ashit_Patel] +rmiactivation 1098/tcp # RMI Activation +rmiactivation 1098/udp # RMI Activation +rmiregistry 1099/tcp # RMI Registry [Mark_Hodapp] [Mark_Hodapp] +rmiregistry 1099/udp # RMI Registry [Mark_Hodapp] [Mark_Hodapp] +mctp 1100/tcp # MCTP [Vitaly_Revsin] [Vitaly_Revsin] +mctp 1100/udp # MCTP [Vitaly_Revsin] [Vitaly_Revsin] +pt2-discover 1101/tcp # PT2-DISCOVER [Ralph_Kammerlander] [Ralph_Kammerlander] +pt2-discover 1101/udp # PT2-DISCOVER [Ralph_Kammerlander] [Ralph_Kammerlander] +adobeserver-1 1102/tcp # ADOBE SERVER 1 +adobeserver-1 1102/udp # ADOBE SERVER 1 +adobeserver-2 1103/tcp # ADOBE SERVER 2 [Frank_Soetebeer] [Frank_Soetebeer] +adobeserver-2 1103/udp # ADOBE SERVER 2 [Frank_Soetebeer] [Frank_Soetebeer] +xrl 1104/tcp # XRL [Patrick_Robinson] [Patrick_Robinson] +xrl 1104/udp # XRL [Patrick_Robinson] [Patrick_Robinson] +ftranhc 1105/tcp # FTRANHC [Eriko_Shimada] [Eriko_Shimada] +ftranhc 1105/udp # FTRANHC [Eriko_Shimada] [Eriko_Shimada] +isoipsigport-1 1106/tcp # ISOIPSIGPORT-1 +isoipsigport-1 1106/udp # ISOIPSIGPORT-1 +isoipsigport-2 1107/tcp # ISOIPSIGPORT-2 [Peter_Egli] [Peter_Egli] +isoipsigport-2 1107/udp # ISOIPSIGPORT-2 [Peter_Egli] [Peter_Egli] +ratio-adp 1108/tcp # ratio-adp [Oliver_Thulke] [Oliver_Thulke] +ratio-adp 1108/udp # ratio-adp [Oliver_Thulke] [Oliver_Thulke] +# 1109 Reserved - IANA +webadmstart 1110/tcp # Start web admin server +nfsd-keepalive 1110/udp # Client status info [Beth_Crespo] [Beth_Crespo] +lmsocialserver 1111/tcp # LM Social Server [Ron_Lussier] [Ron_Lussier] +lmsocialserver 1111/udp # LM Social Server [Ron_Lussier] [Ron_Lussier] +icp 1112/tcp # Intelligent Communication [Mark_H_David] [Mark_H_David] +icp 1112/udp # Intelligent Communication [Mark_H_David] [Mark_H_David] +ltp-deepspace 1113/tcp # Licklider Transmission [RFC5326] +ltp-deepspace 1113/udp # Licklider Transmission [RFC5326] +mini-sql 1114/tcp # Mini SQL [David_Hughes] [David_Hughes] +mini-sql 1114/udp # Mini SQL [David_Hughes] [David_Hughes] +ardus-trns 1115/tcp # ARDUS Transfer +ardus-trns 1115/udp # ARDUS Transfer +ardus-cntl 1116/tcp # ARDUS Control +ardus-cntl 1116/udp # ARDUS Control +ardus-mtrns 1117/tcp # ARDUS Multicast Transfer [Shinya_Abe] [Shinya_Abe] +ardus-mtrns 1117/udp # ARDUS Multicast Transfer [Shinya_Abe] [Shinya_Abe] +sacred 1118/tcp # SACRED [RFC3767] +sacred 1118/udp # SACRED [RFC3767] +bnetgame 1119/tcp # Battle.net Chat/Game +bnetgame 1119/udp # Battle.net Chat/Game +bnetfile 1120/tcp # Battle.net File Transfer [Domain_Tech] [Domain_Tech] 2005-04 +bnetfile 1120/udp # Battle.net File Transfer [Domain_Tech] [Domain_Tech] 2005-04 +rmpp 1121/tcp # Datalode RMPP [Dave_Ruedger] [Dave_Ruedger] 2003-11 +rmpp 1121/udp # Datalode RMPP [Dave_Ruedger] [Dave_Ruedger] 2003-11 +availant-mgr 1122/tcp # availant-mgr [Steven_Pelletier] [Steven_Pelletier] +availant-mgr 1122/udp # availant-mgr [Steven_Pelletier] [Steven_Pelletier] +murray 1123/tcp # Murray [Stu_Mark] [Stu_Mark] +murray 1123/udp # Murray [Stu_Mark] [Stu_Mark] +hpvmmcontrol 1124/tcp # HP VMM Control +hpvmmcontrol 1124/udp # HP VMM Control +hpvmmagent 1125/tcp # HP VMM Agent +hpvmmagent 1125/udp # HP VMM Agent +hpvmmdata 1126/tcp # HP VMM Agent [John_Morton] [John_Morton] 2004-11 +hpvmmdata 1126/udp # HP VMM Agent [John_Morton] [John_Morton] 2004-11 +kwdb-commn 1127/tcp # KWDB Remote Communication [Lal_Samuel_Varghese] [Lal_Samuel_Varghese] 2005-08 +kwdb-commn 1127/udp # KWDB Remote Communication [Lal_Samuel_Varghese] [Lal_Samuel_Varghese] 2005-08 +saphostctrl 1128/tcp # SAPHostControl over +# SOAP/HTTP +saphostctrl 1128/udp # SAPHostControl over +saphostctrls 1129/tcp # SAPHostControl over [Muscarella_Fabrizio] [Muscarella_Fabrizio] 2006-04 +# SOAP/HTTPS +saphostctrls 1129/udp # SAPHostControl over [Muscarella_Fabrizio] [Muscarella_Fabrizio] 2006-04 +casp 1130/tcp # CAC App Service Protocol +casp 1130/udp # CAC App Service Protocol +caspssl 1131/tcp # CAC App Service Protocol [Enrique_Corujo] [Enrique_Corujo] 2006-02 +# Encripted +caspssl 1131/udp # CAC App Service Protocol [Enrique_Corujo] [Enrique_Corujo] 2006-02 +kvm-via-ip 1132/tcp # KVM-via-IP Management [Ian_Miller] [Ian_Miller] 2006-03 +# Service +kvm-via-ip 1132/udp # KVM-via-IP Management [Ian_Miller] [Ian_Miller] 2006-03 +dfn 1133/tcp # Data Flow Network [Dmitry_Obuvalin] [Dmitry_Obuvalin] 2006-02 +dfn 1133/udp # Data Flow Network [Dmitry_Obuvalin] [Dmitry_Obuvalin] 2006-02 +aplx 1134/tcp # MicroAPL APLX [Richard_Nabavi] [Richard_Nabavi] 2006-02 +aplx 1134/udp # MicroAPL APLX [Richard_Nabavi] [Richard_Nabavi] 2006-02 +omnivision 1135/tcp # OmniVision Communication [Serge_Vacquier] [Serge_Vacquier] 2006-02 +omnivision 1135/udp # OmniVision Communication [Serge_Vacquier] [Serge_Vacquier] 2006-02 +hhb-gateway 1136/tcp # HHB Gateway Control [Richard_Harwell] [Richard_Harwell] 2006-02 +hhb-gateway 1136/udp # HHB Gateway Control [Richard_Harwell] [Richard_Harwell] 2006-02 +trim 1137/tcp # TRIM Workgroup Service [Siva_Poobalasingam] [Siva_Poobalasingam] 2006-03 +trim 1137/udp # TRIM Workgroup Service [Siva_Poobalasingam] [Siva_Poobalasingam] 2006-03 +# encrypted admin requests +# +encrypted-admin 1138/tcp # IANA assigned this [Michael_Elizarov] [Michael_Elizarov] 2007-01 +# "encrypted_admin". +# This entry is an alias to "encrypted-admin". This entry is +encrypted_admin 1138/tcp # encrypted admin requests [Michael_Elizarov] [Michael_Elizarov] 2007-01 now historic, not usable for use with many common service +# +encrypted-admin 1138/udp # IANA assigned this [Michael_Elizarov] [Michael_Elizarov] 2007-01 +encrypted_admin 1138/udp # encrypted admin requests [Michael_Elizarov] [Michael_Elizarov] 2007-01 now historic, not usable for use with many common service +evm 1139/tcp # Enterprise Virtual Manager [Thomas_Hennessy] [Thomas_Hennessy] 2007-10-04 +evm 1139/udp # Enterprise Virtual Manager [Thomas_Hennessy] [Thomas_Hennessy] 2007-10-04 +autonoc 1140/tcp # AutoNOC Network Operations [Kyle_Lussier] [Kyle_Lussier] 2005-12 +autonoc 1140/udp # AutoNOC Network Operations [Kyle_Lussier] [Kyle_Lussier] 2005-12 +mxomss 1141/tcp # User Message Service [Chaoyi_Lang] [Chaoyi_Lang] 2006-01 +mxomss 1141/udp # User Message Service [Chaoyi_Lang] [Chaoyi_Lang] 2006-01 +edtools 1142/tcp # User Discovery Service [Lee_Dolson] [Lee_Dolson] 2006-01 +edtools 1142/udp # User Discovery Service [Lee_Dolson] [Lee_Dolson] 2006-01 +imyx 1143/tcp # Infomatryx Exchange [David_Walling] [David_Walling] 2006-03 +imyx 1143/udp # Infomatryx Exchange [David_Walling] [David_Walling] 2006-03 +fuscript 1144/tcp # Fusion Script [Peter_Loveday] [Peter_Loveday] 2006-01 +fuscript 1144/udp # Fusion Script [Peter_Loveday] [Peter_Loveday] 2006-01 +x9-icue 1145/tcp # X9 iCue Show Control [Brandon_Potter] [Brandon_Potter] 2006-01 +x9-icue 1145/udp # X9 iCue Show Control [Brandon_Potter] [Brandon_Potter] 2006-01 +audit-transfer 1146/tcp # audit transfer [Mark_Wahl] [Mark_Wahl] 2005-11 +audit-transfer 1146/udp # audit transfer [Mark_Wahl] [Mark_Wahl] 2005-11 +capioverlan 1147/tcp # CAPIoverLAN [Diego_Friedel] [Diego_Friedel] 2005-11 +capioverlan 1147/udp # CAPIoverLAN [Diego_Friedel] [Diego_Friedel] 2005-11 +elfiq-repl 1148/tcp # Elfiq Replication Service [Frederick_Parent] [Frederick_Parent] 2005-11 +elfiq-repl 1148/udp # Elfiq Replication Service [Frederick_Parent] [Frederick_Parent] 2005-11 +bvtsonar 1149/tcp # BlueView Sonar Service [Teledyne_BlueView_Inc] [Cat_Zimmermann] 2005-11 2012-09-19 +bvtsonar 1149/udp # BlueView Sonar Service [Teledyne_BlueView_Inc] [Cat_Zimmermann] 2005-11 2012-09-19 +blaze 1150/tcp # Blaze File Server [Curt_Schimmel] [Curt_Schimmel] 2005-11 +blaze 1150/udp # Blaze File Server [Curt_Schimmel] [Curt_Schimmel] 2005-11 +unizensus 1151/tcp # Unizensus Login Server [Dirk_Materlik] [Dirk_Materlik] 2005-11 +unizensus 1151/udp # Unizensus Login Server [Dirk_Materlik] [Dirk_Materlik] 2005-11 +winpoplanmess 1152/tcp # Winpopup LAN Messenger [Vitali_Fomine] [Vitali_Fomine] 2005-11 +winpoplanmess 1152/udp # Winpopup LAN Messenger [Vitali_Fomine] [Vitali_Fomine] 2005-11 +c1222-acse 1153/tcp # ANSI C12.22 Port [RFC6142] +c1222-acse 1153/udp # ANSI C12.22 Port [RFC6142] +resacommunity 1154/tcp # Community Service [Stephane_MONS] [Stephane_MONS] 2005-09 +resacommunity 1154/udp # Community Service [Stephane_MONS] [Stephane_MONS] 2005-09 +nfa 1155/tcp # Network File Access [James_Powell] [James_Powell] +nfa 1155/udp # Network File Access [James_Powell] [James_Powell] +iascontrol-oms 1156/tcp # iasControl OMS [Todd_Guay] [Todd_Guay] 2004-11 +iascontrol-oms 1156/udp # iasControl OMS [Todd_Guay] [Todd_Guay] 2004-11 +iascontrol 1157/tcp # Oracle iASControl [Todd_Guay] [Todd_Guay] 2004-11 +iascontrol 1157/udp # Oracle iASControl [Todd_Guay] [Todd_Guay] 2004-11 +dbcontrol-oms 1158/tcp # dbControl OMS [Todd_Guay] [Todd_Guay] 2004-11 +dbcontrol-oms 1158/udp # dbControl OMS [Todd_Guay] [Todd_Guay] 2004-11 +oracle-oms 1159/tcp # Oracle OMS [Todd_Guay] [Todd_Guay] 2004-11 +oracle-oms 1159/udp # Oracle OMS [Todd_Guay] [Todd_Guay] 2004-11 +olsv 1160/tcp # DB Lite Mult-User Server [Philip_Stephenson] [Philip_Stephenson] 2005-08 +olsv 1160/udp # DB Lite Mult-User Server [Philip_Stephenson] [Philip_Stephenson] 2005-08 +health-polling 1161/tcp # Health Polling +health-polling 1161/udp # Health Polling +health-trap 1162/tcp # Health Trap +health-trap 1162/udp # Health Trap +sddp 1163/tcp # SmartDialer Data Protocol [Lee_Griffiths] [Lee_Griffiths] 2004-11 +sddp 1163/udp # SmartDialer Data Protocol [Lee_Griffiths] [Lee_Griffiths] 2004-11 +qsm-proxy 1164/tcp # QSM Proxy Service [Norm_Lunde] [Norm_Lunde] 2004-11 +qsm-proxy 1164/udp # QSM Proxy Service [Norm_Lunde] [Norm_Lunde] 2004-11 +qsm-gui 1165/tcp # QSM GUI Service [Norm_Lunde] [Norm_Lunde] 2004-11 +qsm-gui 1165/udp # QSM GUI Service [Norm_Lunde] [Norm_Lunde] 2004-11 +qsm-remote 1166/tcp # QSM RemoteExec [Norm_Lunde] [Norm_Lunde] 2004-11 +qsm-remote 1166/udp # QSM RemoteExec [Norm_Lunde] [Norm_Lunde] 2004-11 +cisco-ipsla 1167/tcp # Cisco IP SLAs Control [Emmanuel_Tychon] [Emmanuel_Tychon] 2006-03 +cisco-ipsla 1167/udp # Cisco IP SLAs Control [Emmanuel_Tychon] [Emmanuel_Tychon] 2006-03 +cisco-ipsla 1167/sctp # Cisco IP SLAs Control [Emmanuel_Tychon] [Emmanuel_Tychon] 2006-03 +vchat 1168/tcp # VChat Conference Service [Andreas_Wetzel] [Andreas_Wetzel] 2002-09 +vchat 1168/udp # VChat Conference Service [Andreas_Wetzel] [Andreas_Wetzel] 2002-09 +tripwire 1169/tcp # TRIPWIRE [Ed_Metcalf][Albert_Holt] [Ed_Metcalf][Albert_Holt] +tripwire 1169/udp # TRIPWIRE [Ed_Metcalf][Albert_Holt] [Ed_Metcalf][Albert_Holt] +atc-lm 1170/tcp # AT+C License Manager [Peter_Schafer] [Peter_Schafer] 2004-02 +atc-lm 1170/udp # AT+C License Manager [Peter_Schafer] [Peter_Schafer] 2004-02 +atc-appserver 1171/tcp # AT+C FmiApplicationServer [Peter_Schafer] [Peter_Schafer] 2004-02 +atc-appserver 1171/udp # AT+C FmiApplicationServer [Peter_Schafer] [Peter_Schafer] 2004-02 +dnap 1172/tcp # DNA Protocol [David_McLaughlin] [David_McLaughlin] 2004-11 +dnap 1172/udp # DNA Protocol [David_McLaughlin] [David_McLaughlin] 2004-11 +d-cinema-rrp 1173/tcp # D-Cinema Request-Response [Robert_Baldwin] [Robert_Baldwin] 2004-11 +d-cinema-rrp 1173/udp # D-Cinema Request-Response [Robert_Baldwin] [Robert_Baldwin] 2004-11 +fnet-remote-ui 1174/tcp # FlashNet Remote Admin [Terry_Smyth] [Terry_Smyth] 2004-11 +fnet-remote-ui 1174/udp # FlashNet Remote Admin [Terry_Smyth] [Terry_Smyth] 2004-11 +dossier 1175/tcp # Dossier Server [Rob_Minerick] [Rob_Minerick] 2004-11 +dossier 1175/udp # Dossier Server [Rob_Minerick] [Rob_Minerick] 2004-11 +indigo-server 1176/tcp # Indigo Home Server [Matt_Bendiksen] [Matt_Bendiksen] 2004-11 +indigo-server 1176/udp # Indigo Home Server [Matt_Bendiksen] [Matt_Bendiksen] 2004-11 +dkmessenger 1177/tcp # DKMessenger Protocol [Douglas_Kadlecek] [Douglas_Kadlecek] 2004-11 +dkmessenger 1177/udp # DKMessenger Protocol [Douglas_Kadlecek] [Douglas_Kadlecek] 2004-11 +sgi-storman 1178/tcp # SGI Storage Manager [Greg_Banks] [Greg_Banks] 2004-11 +sgi-storman 1178/udp # SGI Storage Manager [Greg_Banks] [Greg_Banks] 2004-11 +b2n 1179/tcp # Backup To Neighbor [Thomas_Fok] [Thomas_Fok] 2004-11 +b2n 1179/udp # Backup To Neighbor [Thomas_Fok] [Thomas_Fok] 2004-11 +mc-client 1180/tcp # Millicent Client Proxy [Steve_Glassman] [Steve_Glassman] +mc-client 1180/udp # Millicent Client Proxy [Steve_Glassman] [Steve_Glassman] +3comnetman 1181/tcp # 3Com Net Management [Peter_White] [Peter_White] 2004-11 +3comnetman 1181/udp # 3Com Net Management [Peter_White] [Peter_White] 2004-11 +accelenet 1182/tcp # AcceleNet Control +accelenet-data 1182/udp # AcceleNet Data [Peter_Lepeska] [Peter_Lepeska] 2010-09-10 +llsurfup-http 1183/tcp # LL Surfup HTTP +llsurfup-http 1183/udp # LL Surfup HTTP +llsurfup-https 1184/tcp # LL Surfup HTTPS [Katy_Lynn_McCullough] [Katy_Lynn_McCullough] +llsurfup-https 1184/udp # LL Surfup HTTPS [Katy_Lynn_McCullough] [Katy_Lynn_McCullough] +catchpole 1185/tcp # Catchpole port [Christian_Catchpole] [Christian_Catchpole] 2002-03 +catchpole 1185/udp # Catchpole port [Christian_Catchpole] [Christian_Catchpole] 2002-03 +mysql-cluster 1186/tcp # MySQL Cluster Manager [Arjen_Lentz] [Arjen_Lentz] 2004-11 +mysql-cluster 1186/udp # MySQL Cluster Manager [Arjen_Lentz] [Arjen_Lentz] 2004-11 +alias 1187/tcp # Alias Service [Paul_Tokarchuk] [Paul_Tokarchuk] 2004-11 +alias 1187/udp # Alias Service [Paul_Tokarchuk] [Paul_Tokarchuk] 2004-11 +hp-webadmin 1188/tcp # HP Web Admin [Lance_Kind] [Lance_Kind] +hp-webadmin 1188/udp # HP Web Admin [Lance_Kind] [Lance_Kind] +unet 1189/tcp # Unet Connection [Anthony_Stahler] [Anthony_Stahler] 2004-11 +unet 1189/udp # Unet Connection [Anthony_Stahler] [Anthony_Stahler] 2004-11 +commlinx-avl 1190/tcp # CommLinx GPS / AVL System [Peter_Johnson] [Peter_Johnson] 2004-11 +commlinx-avl 1190/udp # CommLinx GPS / AVL System [Peter_Johnson] [Peter_Johnson] 2004-11 +gpfs 1191/tcp # General Parallel File System [Dave_Craft] [Dave_Craft] 2004-11 +gpfs 1191/udp # General Parallel File System [Dave_Craft] [Dave_Craft] 2004-11 +caids-sensor 1192/tcp # caids sensors channel [Gregory_Hostettler] [Gregory_Hostettler] 2004-11 +caids-sensor 1192/udp # caids sensors channel [Gregory_Hostettler] [Gregory_Hostettler] 2004-11 +fiveacross 1193/tcp # Five Across Server [Glenn_Reid] [Glenn_Reid] 2004-11 +fiveacross 1193/udp # Five Across Server [Glenn_Reid] [Glenn_Reid] 2004-11 +openvpn 1194/tcp # OpenVPN [James_Yonan] [James_Yonan] 2004-11 +openvpn 1194/udp # OpenVPN [James_Yonan] [James_Yonan] 2004-11 +rsf-1 1195/tcp # RSF-1 clustering [Dave_Hines] [Dave_Hines] 2004-11 +rsf-1 1195/udp # RSF-1 clustering [Dave_Hines] [Dave_Hines] 2004-11 +netmagic 1196/tcp # Network Magic [Nick_Holt] [Nick_Holt] 2005-08 +netmagic 1196/udp # Network Magic [Nick_Holt] [Nick_Holt] 2005-08 +carrius-rshell 1197/tcp # Carrius Remote Access [Gerry_Dubois] [Gerry_Dubois] 2005-08 +carrius-rshell 1197/udp # Carrius Remote Access [Gerry_Dubois] [Gerry_Dubois] 2005-08 +cajo-discovery 1198/tcp # cajo reference discovery [John_Catherino] [John_Catherino] 2005-08 +cajo-discovery 1198/udp # cajo reference discovery [John_Catherino] [John_Catherino] 2005-08 +dmidi 1199/tcp # DMIDI [Phil_Kerr] [Phil_Kerr] 2002-02 +dmidi 1199/udp # DMIDI [Phil_Kerr] [Phil_Kerr] 2002-02 +scol 1200/tcp # SCOL [Cryo_Networks] [Cryo_Networks] +scol 1200/udp # SCOL [Cryo_Networks] [Cryo_Networks] +nucleus-sand 1201/tcp # Nucleus Sand Database Server [James_Marsh] [James_Marsh] +nucleus-sand 1201/udp # Nucleus Sand Database Server [James_Marsh] [James_Marsh] +caiccipc 1202/tcp # caiccipc [Vince_Re] [Vince_Re] +caiccipc 1202/udp # caiccipc [Vince_Re] [Vince_Re] +ssslic-mgr 1203/tcp # License Validation +ssslic-mgr 1203/udp # License Validation +ssslog-mgr 1204/tcp # Log Request Listener [Eric_Bruno] [Eric_Bruno] +ssslog-mgr 1204/udp # Log Request Listener [Eric_Bruno] [Eric_Bruno] +accord-mgc 1205/tcp # Accord-MGC [Roni_Even] [Roni_Even] +accord-mgc 1205/udp # Accord-MGC [Roni_Even] [Roni_Even] +anthony-data 1206/tcp # Anthony Data [Paul_Dollemore] [Paul_Dollemore] +anthony-data 1206/udp # Anthony Data [Paul_Dollemore] [Paul_Dollemore] +metasage 1207/tcp # MetaSage [Peter_Anvelt] [Peter_Anvelt] +metasage 1207/udp # MetaSage [Peter_Anvelt] [Peter_Anvelt] +seagull-ais 1208/tcp # SEAGULL AIS [Lee_Breisacher] [Lee_Breisacher] +seagull-ais 1208/udp # SEAGULL AIS [Lee_Breisacher] [Lee_Breisacher] +ipcd3 1209/tcp # IPCD3 [Mark_Ciskey] [Mark_Ciskey] +ipcd3 1209/udp # IPCD3 [Mark_Ciskey] [Mark_Ciskey] +eoss 1210/tcp # EOSS [Robert_Armes] [Robert_Armes] +eoss 1210/udp # EOSS [Robert_Armes] [Robert_Armes] +groove-dpp 1211/tcp # Groove DPP [Ken_Moore] [Ken_Moore] +groove-dpp 1211/udp # Groove DPP [Ken_Moore] [Ken_Moore] +lupa 1212/tcp # lupa [Barney_Wolff] [Barney_Wolff] +lupa 1212/udp # lupa [Barney_Wolff] [Barney_Wolff] +mpc-lifenet 1213/tcp # MPC LIFENET [Ward_Silver] [Ward_Silver] +mpc-lifenet 1213/udp # MPC LIFENET [Ward_Silver] [Ward_Silver] +kazaa 1214/tcp # KAZAA [Ahti_Heinla] [Ahti_Heinla] +kazaa 1214/udp # KAZAA [Ahti_Heinla] [Ahti_Heinla] +scanstat-1 1215/tcp # scanSTAT 1.0 [William_Scheding] [William_Scheding] +scanstat-1 1215/udp # scanSTAT 1.0 [William_Scheding] [William_Scheding] +etebac5 1216/tcp # ETEBAC 5 [Jean_Louis_Barbut] [Jean_Louis_Barbut] +etebac5 1216/udp # ETEBAC 5 [Jean_Louis_Barbut] [Jean_Louis_Barbut] +hpss-ndapi 1217/tcp # HPSS NonDCE Gateway [Michael_Gleicher] [Michael_Gleicher] +hpss-ndapi 1217/udp # HPSS NonDCE Gateway [Michael_Gleicher] [Michael_Gleicher] +aeroflight-ads 1218/tcp # AeroFlight-ADs +aeroflight-ads 1218/udp # AeroFlight-ADs +aeroflight-ret 1219/tcp # AeroFlight-Ret [Eric_Johnson] [Eric_Johnson] +aeroflight-ret 1219/udp # AeroFlight-Ret [Eric_Johnson] [Eric_Johnson] +qt-serveradmin 1220/tcp # QT SERVER ADMIN [Chris_LeCroy] [Chris_LeCroy] +qt-serveradmin 1220/udp # QT SERVER ADMIN [Chris_LeCroy] [Chris_LeCroy] +sweetware-apps 1221/tcp # SweetWARE Apps [David_Dunetz] [David_Dunetz] +sweetware-apps 1221/udp # SweetWARE Apps [David_Dunetz] [David_Dunetz] +nerv 1222/tcp # SNI R&D network [Martin_Freiss] [Martin_Freiss] +nerv 1222/udp # SNI R&D network [Martin_Freiss] [Martin_Freiss] +tgp 1223/tcp # TrulyGlobal Protocol [Gur_Kimchi] [Gur_Kimchi] 2008-05-20 +tgp 1223/udp # TrulyGlobal Protocol [Gur_Kimchi] [Gur_Kimchi] 2008-05-20 +vpnz 1224/tcp # VPNz [Tom_Strack] [Tom_Strack] +vpnz 1224/udp # VPNz [Tom_Strack] [Tom_Strack] +slinkysearch 1225/tcp # SLINKYSEARCH [Desmond_Chan] [Desmond_Chan] +slinkysearch 1225/udp # SLINKYSEARCH [Desmond_Chan] [Desmond_Chan] +stgxfws 1226/tcp # STGXFWS [Tetsuya_Shioda] [Tetsuya_Shioda] +stgxfws 1226/udp # STGXFWS [Tetsuya_Shioda] [Tetsuya_Shioda] +dns2go 1227/tcp # DNS2Go [Mike_Courterier] [Mike_Courterier] +dns2go 1227/udp # DNS2Go [Mike_Courterier] [Mike_Courterier] +florence 1228/tcp # FLORENCE [Brian_Trammell] [Brian_Trammell] +florence 1228/udp # FLORENCE [Brian_Trammell] [Brian_Trammell] +zented 1229/tcp # ZENworks Tiered Electronic [Ty_Ellis] [Ty_Ellis] +# Distribution +zented 1229/udp # ZENworks Tiered Electronic [Ty_Ellis] [Ty_Ellis] +periscope 1230/tcp # Periscope [Kevin_Madden] [Kevin_Madden] +periscope 1230/udp # Periscope [Kevin_Madden] [Kevin_Madden] +menandmice-lpm 1231/tcp # menandmice-lpm [Sigfus_Magnusson] [Sigfus_Magnusson] +menandmice-lpm 1231/udp # menandmice-lpm [Sigfus_Magnusson] [Sigfus_Magnusson] +first-defense 1232/tcp # Remote systems monitoring [Nexum] [Michael_Fread] 2012-09-21 Microsoft (unoffically) using 1232 +first-defense 1232/udp # Remote systems monitoring [Nexum] [Michael_Fread] 2012-09-21 Microsoft (unoffically) using 1232 +univ-appserver 1233/tcp # Universal App Server [Tim_Sent] [Tim_Sent] +univ-appserver 1233/udp # Universal App Server [Tim_Sent] [Tim_Sent] +search-agent 1234/tcp # Infoseek Search Agent [Jackie_Wu] [Jackie_Wu] +search-agent 1234/udp # Infoseek Search Agent [Jackie_Wu] [Jackie_Wu] +mosaicsyssvc1 1235/tcp # mosaicsyssvc1 [Brian_Matthews] [Brian_Matthews] +mosaicsyssvc1 1235/udp # mosaicsyssvc1 [Brian_Matthews] [Brian_Matthews] +bvcontrol 1236/tcp # bvcontrol [Daniel_J_Walsh] [Daniel_J_Walsh] +bvcontrol 1236/udp # bvcontrol [Daniel_J_Walsh] [Daniel_J_Walsh] +tsdos390 1237/tcp # tsdos390 [Ben_Pracht] [Ben_Pracht] +tsdos390 1237/udp # tsdos390 [Ben_Pracht] [Ben_Pracht] +hacl-qs 1238/tcp # hacl-qs [Farid_Faez] [Farid_Faez] +hacl-qs 1238/udp # hacl-qs [Farid_Faez] [Farid_Faez] +nmsd 1239/tcp # NMSD [Yuri_Machkasov] [Yuri_Machkasov] +nmsd 1239/udp # NMSD [Yuri_Machkasov] [Yuri_Machkasov] +instantia 1240/tcp # Instantia [Ruth_Slater] [Ruth_Slater] +instantia 1240/udp # Instantia [Ruth_Slater] [Ruth_Slater] +nessus 1241/tcp # nessus [Jordan_Hrycaj] [Jordan_Hrycaj] +nessus 1241/udp # nessus [Jordan_Hrycaj] [Jordan_Hrycaj] +nmasoverip 1242/tcp # NMAS over IP [Hal_Henderson] [Hal_Henderson] +nmasoverip 1242/udp # NMAS over IP [Hal_Henderson] [Hal_Henderson] +serialgateway 1243/tcp # SerialGateway [Stephen_LaValley] [Stephen_LaValley] +serialgateway 1243/udp # SerialGateway [Stephen_LaValley] [Stephen_LaValley] +isbconference1 1244/tcp # isbconference1 +isbconference1 1244/udp # isbconference1 +isbconference2 1245/tcp # isbconference2 [Arnold_Dittmann] [Arnold_Dittmann] +isbconference2 1245/udp # isbconference2 [Arnold_Dittmann] [Arnold_Dittmann] +payrouter 1246/tcp # payrouter [David_Wilson] [David_Wilson] +payrouter 1246/udp # payrouter [David_Wilson] [David_Wilson] +visionpyramid 1247/tcp # VisionPyramid [Gavin_Hutchinson] [Gavin_Hutchinson] +visionpyramid 1247/udp # VisionPyramid [Gavin_Hutchinson] [Gavin_Hutchinson] +hermes 1248/tcp # hermes +hermes 1248/udp # hermes +mesavistaco 1249/tcp # Mesa Vista Co [Rick_LaBanca] [Rick_LaBanca] +mesavistaco 1249/udp # Mesa Vista Co [Rick_LaBanca] [Rick_LaBanca] +swldy-sias 1250/tcp # swldy-sias [Peter_E_Williams] [Peter_E_Williams] +swldy-sias 1250/udp # swldy-sias [Peter_E_Williams] [Peter_E_Williams] +servergraph 1251/tcp # servergraph [Lindsay_Morris] [Lindsay_Morris] +servergraph 1251/udp # servergraph [Lindsay_Morris] [Lindsay_Morris] +bspne-pcc 1252/tcp # bspne-pcc +bspne-pcc 1252/udp # bspne-pcc +q55-pcc 1253/tcp # q55-pcc [Prem_Tirilok] [Prem_Tirilok] +q55-pcc 1253/udp # q55-pcc [Prem_Tirilok] [Prem_Tirilok] +de-noc 1254/tcp # de-noc +de-noc 1254/udp # de-noc +de-cache-query 1255/tcp # de-cache-query +de-cache-query 1255/udp # de-cache-query +de-server 1256/tcp # de-server [Jeff_Burdette] [Jeff_Burdette] +de-server 1256/udp # de-server [Jeff_Burdette] [Jeff_Burdette] +shockwave2 1257/tcp # Shockwave 2 [Dave_Simmons] [Dave_Simmons] +shockwave2 1257/udp # Shockwave 2 [Dave_Simmons] [Dave_Simmons] +opennl 1258/tcp # Open Network Library +opennl 1258/udp # Open Network Library +opennl-voice 1259/tcp # Open Network Library Voice [Phil_Frisbie] [Phil_Frisbie] +opennl-voice 1259/udp # Open Network Library Voice [Phil_Frisbie] [Phil_Frisbie] +ibm-ssd 1260/tcp # ibm-ssd [Barry_Whyte] [Barry_Whyte] +ibm-ssd 1260/udp # ibm-ssd [Barry_Whyte] [Barry_Whyte] +mpshrsv 1261/tcp # mpshrsv [Makoto_Ikeyama] [Makoto_Ikeyama] +mpshrsv 1261/udp # mpshrsv [Makoto_Ikeyama] [Makoto_Ikeyama] +qnts-orb 1262/tcp # QNTS-ORB [Raghurama_Bhat] [Raghurama_Bhat] +qnts-orb 1262/udp # QNTS-ORB [Raghurama_Bhat] [Raghurama_Bhat] +dka 1263/tcp # dka [Chris_Griffin] [Chris_Griffin] +dka 1263/udp # dka [Chris_Griffin] [Chris_Griffin] +prat 1264/tcp # PRAT [Keith_Wood] [Keith_Wood] +prat 1264/udp # PRAT [Keith_Wood] [Keith_Wood] +dssiapi 1265/tcp # DSSIAPI [Jim_Turner] [Jim_Turner] +dssiapi 1265/udp # DSSIAPI [Jim_Turner] [Jim_Turner] +dellpwrappks 1266/tcp # DELLPWRAPPKS [David_Troeger] [David_Troeger] +dellpwrappks 1266/udp # DELLPWRAPPKS [David_Troeger] [David_Troeger] +epc 1267/tcp # eTrust Policy Compliance [Aaron_Stein] [Aaron_Stein] +epc 1267/udp # eTrust Policy Compliance [Aaron_Stein] [Aaron_Stein] +propel-msgsys 1268/tcp # PROPEL-MSGSYS [Bert_Van_der_Linden] [Bert_Van_der_Linden] +propel-msgsys 1268/udp # PROPEL-MSGSYS [Bert_Van_der_Linden] [Bert_Van_der_Linden] +watilapp 1269/tcp # WATiLaPP [Frederic_Weymann] [Frederic_Weymann] +watilapp 1269/udp # WATiLaPP [Frederic_Weymann] [Frederic_Weymann] +opsmgr 1270/tcp # Microsoft Operations Manager [Ashvin_Sanghvi] [Ashvin_Sanghvi] +opsmgr 1270/udp # Microsoft Operations Manager [Ashvin_Sanghvi] [Ashvin_Sanghvi] +excw 1271/tcp # eXcW [Norm_Freedman] [Norm_Freedman] +excw 1271/udp # eXcW [Norm_Freedman] [Norm_Freedman] +cspmlockmgr 1272/tcp # CSPMLockMgr [Ibtsam_Mahfouz] [Ibtsam_Mahfouz] +cspmlockmgr 1272/udp # CSPMLockMgr [Ibtsam_Mahfouz] [Ibtsam_Mahfouz] +emc-gateway 1273/tcp # EMC-Gateway [Rene_Fontaine] [Rene_Fontaine] +emc-gateway 1273/udp # EMC-Gateway [Rene_Fontaine] [Rene_Fontaine] +t1distproc 1274/tcp # t1distproc [Julian_Biddle] [Julian_Biddle] +t1distproc 1274/udp # t1distproc [Julian_Biddle] [Julian_Biddle] +ivcollector 1275/tcp # ivcollector +ivcollector 1275/udp # ivcollector +ivmanager 1276/tcp # ivmanager [Xavier_Roques] [Xavier_Roques] +ivmanager 1276/udp # ivmanager [Xavier_Roques] [Xavier_Roques] +miva-mqs 1277/tcp # mqs [Miva_Corporation] [Miva_Corporation] +miva-mqs 1277/udp # mqs [Miva_Corporation] [Miva_Corporation] +dellwebadmin-1 1278/tcp # Dell Web Admin 1 +dellwebadmin-1 1278/udp # Dell Web Admin 1 +dellwebadmin-2 1279/tcp # Dell Web Admin 2 [Bridget_Navoda] [Bridget_Navoda] +dellwebadmin-2 1279/udp # Dell Web Admin 2 [Bridget_Navoda] [Bridget_Navoda] +pictrography 1280/tcp # Pictrography [Takashi_Hoshino] [Takashi_Hoshino] +pictrography 1280/udp # Pictrography [Takashi_Hoshino] [Takashi_Hoshino] +healthd 1281/tcp # healthd [James_E_Housley] [James_E_Housley] +healthd 1281/udp # healthd [James_E_Housley] [James_E_Housley] +emperion 1282/tcp # Emperion [Claus_Thor_Barth] [Claus_Thor_Barth] +emperion 1282/udp # Emperion [Claus_Thor_Barth] [Claus_Thor_Barth] +productinfo 1283/tcp # Product Information +productinfo 1283/udp # Product Information +iee-qfx 1284/tcp # IEE-QFX [Mehrdad_Ashtiani] [Mehrdad_Ashtiani] 2009-10-19 +iee-qfx 1284/udp # IEE-QFX [Mehrdad_Ashtiani] [Mehrdad_Ashtiani] 2009-10-19 +neoiface 1285/tcp # neoiface [Jason_McManus] [Jason_McManus] +neoiface 1285/udp # neoiface [Jason_McManus] [Jason_McManus] +netuitive 1286/tcp # netuitive [JF_Huard] [JF_Huard] +netuitive 1286/udp # netuitive [JF_Huard] [JF_Huard] +routematch 1287/tcp # RouteMatch Com [Jeff_Jones] [Jeff_Jones] 2005-11 +routematch 1287/udp # RouteMatch Com [Jeff_Jones] [Jeff_Jones] 2005-11 +navbuddy 1288/tcp # NavBuddy [Eric_Hackman] [Eric_Hackman] +navbuddy 1288/udp # NavBuddy [Eric_Hackman] [Eric_Hackman] +jwalkserver 1289/tcp # JWalkServer +jwalkserver 1289/udp # JWalkServer +winjaserver 1290/tcp # WinJaServer +winjaserver 1290/udp # WinJaServer +seagulllms 1291/tcp # SEAGULLLMS [Lee_Breisacher] [Lee_Breisacher] +seagulllms 1291/udp # SEAGULLLMS [Lee_Breisacher] [Lee_Breisacher] +dsdn 1292/tcp # dsdn [Stanislaw_Skowronek] [Stanislaw_Skowronek] +dsdn 1292/udp # dsdn [Stanislaw_Skowronek] [Stanislaw_Skowronek] +pkt-krb-ipsec 1293/tcp # PKT-KRB-IPSec [Nancy_Davoust] [Nancy_Davoust] +pkt-krb-ipsec 1293/udp # PKT-KRB-IPSec [Nancy_Davoust] [Nancy_Davoust] +cmmdriver 1294/tcp # CMMdriver [Lutz_Karras] [Lutz_Karras] +cmmdriver 1294/udp # CMMdriver [Lutz_Karras] [Lutz_Karras] +ehtp 1295/tcp # End-by-Hop Transmission [Alexander_Bogdanov] [Alexander_Bogdanov] +ehtp 1295/udp # End-by-Hop Transmission [Alexander_Bogdanov] [Alexander_Bogdanov] +dproxy 1296/tcp # dproxy +dproxy 1296/udp # dproxy +sdproxy 1297/tcp # sdproxy [Raimond_Diederik] [Raimond_Diederik] +sdproxy 1297/udp # sdproxy [Raimond_Diederik] [Raimond_Diederik] +lpcp 1298/tcp # lpcp [Christian_Stredicke] [Christian_Stredicke] +lpcp 1298/udp # lpcp [Christian_Stredicke] [Christian_Stredicke] +hp-sci 1299/tcp # hp-sci [Kim_Scott] [Kim_Scott] +hp-sci 1299/udp # hp-sci [Kim_Scott] [Kim_Scott] +h323hostcallsc 1300/tcp # H.323 Secure Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +# Signalling +h323hostcallsc 1300/udp # H.323 Secure Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +ci3-software-1 1301/tcp # CI3-Software-1 +ci3-software-1 1301/udp # CI3-Software-1 +ci3-software-2 1302/tcp # CI3-Software-2 [Kelli_Watson] [Kelli_Watson] +ci3-software-2 1302/udp # CI3-Software-2 [Kelli_Watson] [Kelli_Watson] +sftsrv 1303/tcp # sftsrv [Robert_Frazier] [Robert_Frazier] +sftsrv 1303/udp # sftsrv [Robert_Frazier] [Robert_Frazier] +boomerang 1304/tcp # Boomerang [Bruce_Lueckenhoff] [Bruce_Lueckenhoff] +boomerang 1304/udp # Boomerang [Bruce_Lueckenhoff] [Bruce_Lueckenhoff] +pe-mike 1305/tcp # pe-mike [Stephen_Hemminger] [Stephen_Hemminger] +pe-mike 1305/udp # pe-mike [Stephen_Hemminger] [Stephen_Hemminger] +re-conn-proto 1306/tcp # RE-Conn-Proto [Sandeep_Singhal] [Sandeep_Singhal] +re-conn-proto 1306/udp # RE-Conn-Proto [Sandeep_Singhal] [Sandeep_Singhal] +pacmand 1307/tcp # Pacmand [Edward_T_O_Shea] [Edward_T_O_Shea] +pacmand 1307/udp # Pacmand [Edward_T_O_Shea] [Edward_T_O_Shea] +odsi 1308/tcp # Optical Domain Service [K_Arvind] [K_Arvind] +# Interconnect (ODSI) +odsi 1308/udp # Optical Domain Service [K_Arvind] [K_Arvind] +jtag-server 1309/tcp # JTAG server [Andrew_Draper] [Andrew_Draper] +jtag-server 1309/udp # JTAG server [Andrew_Draper] [Andrew_Draper] +husky 1310/tcp # Husky [Mark_Zang] [Mark_Zang] +husky 1310/udp # Husky [Mark_Zang] [Mark_Zang] +rxmon 1311/tcp # RxMon [Javier_Jiminez] [Javier_Jiminez] +rxmon 1311/udp # RxMon [Javier_Jiminez] [Javier_Jiminez] +sti-envision 1312/tcp # STI Envision [Don_Stedman] [Don_Stedman] +sti-envision 1312/udp # STI Envision [Don_Stedman] [Don_Stedman] +# BMC_PATROLDB +# +bmc-patroldb 1313/tcp # IANA assigned this [Portnoy_Boxman] [Portnoy_Boxman] +# "bmc_patroldb". +# This entry is an alias to "bmc-patroldb". This entry is now +bmc_patroldb 1313/tcp # BMC_PATROLDB [Portnoy_Boxman] [Portnoy_Boxman] historic, not usable for use with many common service +# +bmc-patroldb 1313/udp # IANA assigned this [Portnoy_Boxman] [Portnoy_Boxman] +bmc_patroldb 1313/udp # BMC_PATROLDB [Portnoy_Boxman] [Portnoy_Boxman] historic, not usable for use with many common service +pdps 1314/tcp # Photoscript Distributed [Les_Klein] [Les_Klein] +# Printing System +pdps 1314/udp # Photoscript Distributed [Les_Klein] [Les_Klein] +els 1315/tcp # E.L.S., Event Listener [Jim_Cleppe] [Jim_Cleppe] +els 1315/udp # E.L.S., Event Listener [Jim_Cleppe] [Jim_Cleppe] +exbit-escp 1316/tcp # Exbit-ESCP [Morten_Christensen] [Morten_Christensen] +exbit-escp 1316/udp # Exbit-ESCP [Morten_Christensen] [Morten_Christensen] +vrts-ipcserver 1317/tcp # vrts-ipcserver [Bruce_Hestand] [Bruce_Hestand] +vrts-ipcserver 1317/udp # vrts-ipcserver [Bruce_Hestand] [Bruce_Hestand] +krb5gatekeeper 1318/tcp # krb5gatekeeper [Patrick_Moore] [Patrick_Moore] +krb5gatekeeper 1318/udp # krb5gatekeeper [Patrick_Moore] [Patrick_Moore] +amx-icsp 1319/tcp # AMX-ICSP [Jeff_Burch] [Jeff_Burch] +amx-icsp 1319/udp # AMX-ICSP [Jeff_Burch] [Jeff_Burch] +amx-axbnet 1320/tcp # AMX-AXBNET [Jeff_Burch] [Jeff_Burch] +amx-axbnet 1320/udp # AMX-AXBNET [Jeff_Burch] [Jeff_Burch] +pip 1321/tcp # PIP [Gordon_Mohr] [Gordon_Mohr] +pip 1321/udp # PIP [Gordon_Mohr] [Gordon_Mohr] +novation 1322/tcp # Novation [Alan_Dano] [Alan_Dano] +novation 1322/udp # Novation [Alan_Dano] [Alan_Dano] +brcd 1323/tcp # brcd [Todd_Picquelle] [Todd_Picquelle] +brcd 1323/udp # brcd [Todd_Picquelle] [Todd_Picquelle] +delta-mcp 1324/tcp # delta-mcp [Quinton_Tormanen] [Quinton_Tormanen] +delta-mcp 1324/udp # delta-mcp [Quinton_Tormanen] [Quinton_Tormanen] +dx-instrument 1325/tcp # DX-Instrument [Walt_Modic] [Walt_Modic] +dx-instrument 1325/udp # DX-Instrument [Walt_Modic] [Walt_Modic] +wimsic 1326/tcp # WIMSIC [James_Brown] [James_Brown] +wimsic 1326/udp # WIMSIC [James_Brown] [James_Brown] +ultrex 1327/tcp # Ultrex [Tim_Walsh] [Tim_Walsh] +ultrex 1327/udp # Ultrex [Tim_Walsh] [Tim_Walsh] +ewall 1328/tcp # EWALL [Jeff_Busma] [Jeff_Busma] +ewall 1328/udp # EWALL [Jeff_Busma] [Jeff_Busma] +netdb-export 1329/tcp # netdb-export [Konstantinos_Kostis] [Konstantinos_Kostis] +netdb-export 1329/udp # netdb-export [Konstantinos_Kostis] [Konstantinos_Kostis] +streetperfect 1330/tcp # StreetPerfect [Michael_R_Young] [Michael_R_Young] +streetperfect 1330/udp # StreetPerfect [Michael_R_Young] [Michael_R_Young] +intersan 1331/tcp # intersan [Barry_H_Feild] [Barry_H_Feild] +intersan 1331/udp # intersan [Barry_H_Feild] [Barry_H_Feild] +pcia-rxp-b 1332/tcp # PCIA RXP-B [James_Dabbs] [James_Dabbs] +pcia-rxp-b 1332/udp # PCIA RXP-B [James_Dabbs] [James_Dabbs] +passwrd-policy 1333/tcp # Password Policy [Tonio_Pirotta] [Tonio_Pirotta] +passwrd-policy 1333/udp # Password Policy [Tonio_Pirotta] [Tonio_Pirotta] +writesrv 1334/tcp # writesrv [Marvin_Toungate] [Marvin_Toungate] +writesrv 1334/udp # writesrv [Marvin_Toungate] [Marvin_Toungate] +digital-notary 1335/tcp # Digital Notary Protocol [Wes_Doonan] [Wes_Doonan] +digital-notary 1335/udp # Digital Notary Protocol [Wes_Doonan] [Wes_Doonan] +ischat 1336/tcp # Instant Service Chat [Mike_Clise] [Mike_Clise] +ischat 1336/udp # Instant Service Chat [Mike_Clise] [Mike_Clise] +menandmice-dns 1337/tcp # menandmice DNS [Sigfus_Magnusson] [Sigfus_Magnusson] +menandmice-dns 1337/udp # menandmice DNS [Sigfus_Magnusson] [Sigfus_Magnusson] +wmc-log-svc 1338/tcp # WMC-log-svr [Scott_Anderson] [Scott_Anderson] +wmc-log-svc 1338/udp # WMC-log-svr [Scott_Anderson] [Scott_Anderson] +kjtsiteserver 1339/tcp # kjtsiteserver [Jason_Aubain] [Jason_Aubain] +kjtsiteserver 1339/udp # kjtsiteserver [Jason_Aubain] [Jason_Aubain] +naap 1340/tcp # NAAP [Henry_Haverinen] [Henry_Haverinen] +naap 1340/udp # NAAP [Henry_Haverinen] [Henry_Haverinen] +qubes 1341/tcp # QuBES [Eric_Grange] [Eric_Grange] +qubes 1341/udp # QuBES [Eric_Grange] [Eric_Grange] +esbroker 1342/tcp # ESBroker [Alexander_Medvinsky] [Alexander_Medvinsky] +esbroker 1342/udp # ESBroker [Alexander_Medvinsky] [Alexander_Medvinsky] +re101 1343/tcp # re101 [Doriano_Blengino] [Doriano_Blengino] +re101 1343/udp # re101 [Doriano_Blengino] [Doriano_Blengino] +icap 1344/tcp # ICAP [Jeremy_Elson] [Jeremy_Elson] +icap 1344/udp # ICAP [Jeremy_Elson] [Jeremy_Elson] +vpjp 1345/tcp # VPJP [Michael_Collins] [Michael_Collins] +vpjp 1345/udp # VPJP [Michael_Collins] [Michael_Collins] +alta-ana-lm 1346/tcp # Alta Analytics License +alta-ana-lm 1346/udp # Alta Analytics License +bbn-mmc 1347/tcp # multi media conferencing +bbn-mmc 1347/udp # multi media conferencing +bbn-mmx 1348/tcp # multi media conferencing +bbn-mmx 1348/udp # multi media conferencing +sbook 1349/tcp # Registration Network +sbook 1349/udp # Registration Network +editbench 1350/tcp # Registration Network [Simson_L_Garfinkel] [Simson_L_Garfinkel] +editbench 1350/udp # Registration Network [Simson_L_Garfinkel] [Simson_L_Garfinkel] +equationbuilder 1351/tcp # Digital Tool Works (MIT) [Terrence_J_Talbot] [Terrence_J_Talbot] +equationbuilder 1351/udp # Digital Tool Works (MIT) [Terrence_J_Talbot] [Terrence_J_Talbot] +lotusnote 1352/tcp # Lotus Note [Greg_Pflaum] [Greg_Pflaum] 1992-07 +lotusnote 1352/udp # Lotus Note [Greg_Pflaum] [Greg_Pflaum] 1992-07 +relief 1353/tcp # Relief Consulting [John_Feiler] [John_Feiler] +relief 1353/udp # Relief Consulting [John_Feiler] [John_Feiler] +XSIP-network 1354/tcp # Five Across XSIP Network [Glenn_Reid] [Glenn_Reid] +XSIP-network 1354/udp # Five Across XSIP Network [Glenn_Reid] [Glenn_Reid] +intuitive-edge 1355/tcp # Intuitive Edge [Montgomery_Zukowski] [Montgomery_Zukowski] +intuitive-edge 1355/udp # Intuitive Edge [Montgomery_Zukowski] [Montgomery_Zukowski] +cuillamartin 1356/tcp # CuillaMartin Company +cuillamartin 1356/udp # CuillaMartin Company +pegboard 1357/tcp # Electronic PegBoard [Chris_Cuilla] [Chris_Cuilla] +pegboard 1357/udp # Electronic PegBoard [Chris_Cuilla] [Chris_Cuilla] +connlcli 1358/tcp # CONNLCLI +connlcli 1358/udp # CONNLCLI +ftsrv 1359/tcp # FTSRV [Ines_Homem_de_Melo] [Ines_Homem_de_Melo] +ftsrv 1359/udp # FTSRV [Ines_Homem_de_Melo] [Ines_Homem_de_Melo] +mimer 1360/tcp # MIMER [Per_Schroeder] [Per_Schroeder] +mimer 1360/udp # MIMER [Per_Schroeder] [Per_Schroeder] +linx 1361/tcp # LinX [Steffen_Schilke] [Steffen_Schilke] +linx 1361/udp # LinX [Steffen_Schilke] [Steffen_Schilke] +timeflies 1362/tcp # TimeFlies [Doug_Kent] [Doug_Kent] +timeflies 1362/udp # TimeFlies [Doug_Kent] [Doug_Kent] +ndm-requester 1363/tcp # Network DataMover Requester +ndm-requester 1363/udp # Network DataMover Requester +ndm-server 1364/tcp # Network DataMover Server [Toshio_Watanabe] [Toshio_Watanabe] +ndm-server 1364/udp # Network DataMover Server [Toshio_Watanabe] [Toshio_Watanabe] +adapt-sna 1365/tcp # Network Software Associates [Jeffery_Chiao] [Jeffery_Chiao] +adapt-sna 1365/udp # Network Software Associates [Jeffery_Chiao] [Jeffery_Chiao] +netware-csp 1366/tcp # Novell NetWare Comm Service [Laurie_Lindsey] [Laurie_Lindsey] +# Platform +netware-csp 1366/udp # Novell NetWare Comm Service [Laurie_Lindsey] [Laurie_Lindsey] +dcs 1367/tcp # DCS [Stefan_Siebert] [Stefan_Siebert] +dcs 1367/udp # DCS [Stefan_Siebert] [Stefan_Siebert] +screencast 1368/tcp # ScreenCast [Bill_Tschumy] [Bill_Tschumy] +screencast 1368/udp # ScreenCast [Bill_Tschumy] [Bill_Tschumy] +gv-us 1369/tcp # GlobalView to Unix Shell +gv-us 1369/udp # GlobalView to Unix Shell +us-gv 1370/tcp # Unix Shell to GlobalView [Makoto_Mita] [Makoto_Mita] +us-gv 1370/udp # Unix Shell to GlobalView [Makoto_Mita] [Makoto_Mita] +fc-cli 1371/tcp # Fujitsu Config Protocol +fc-cli 1371/udp # Fujitsu Config Protocol +fc-ser 1372/tcp # Fujitsu Config Protocol [Ryuichi_Horie] [Ryuichi_Horie] +fc-ser 1372/udp # Fujitsu Config Protocol [Ryuichi_Horie] [Ryuichi_Horie] +chromagrafx 1373/tcp # Chromagrafx [Mike_Barthelemy] [Mike_Barthelemy] +chromagrafx 1373/udp # Chromagrafx [Mike_Barthelemy] [Mike_Barthelemy] +molly 1374/tcp # EPI Software Systems [Jim_Vlcek] [Jim_Vlcek] +molly 1374/udp # EPI Software Systems [Jim_Vlcek] [Jim_Vlcek] +bytex 1375/tcp # Bytex [Mary_Ann_Burt] [Mary_Ann_Burt] +bytex 1375/udp # Bytex [Mary_Ann_Burt] [Mary_Ann_Burt] +ibm-pps 1376/tcp # IBM Person to Person [Simon_Phipps] [Simon_Phipps] +# Software +ibm-pps 1376/udp # IBM Person to Person [Simon_Phipps] [Simon_Phipps] +cichlid 1377/tcp # Cichlid License Manager [Andy_Burgess] [Andy_Burgess] +cichlid 1377/udp # Cichlid License Manager [Andy_Burgess] [Andy_Burgess] +elan 1378/tcp # Elan License Manager [Ken_Greer] [Ken_Greer] +elan 1378/udp # Elan License Manager [Ken_Greer] [Ken_Greer] +dbreporter 1379/tcp # Integrity Solutions [Tim_Dawson] [Tim_Dawson] +dbreporter 1379/udp # Integrity Solutions [Tim_Dawson] [Tim_Dawson] +telesis-licman 1380/tcp # Telesis Network License [Karl_Schendel_Jr] [Karl_Schendel_Jr] +telesis-licman 1380/udp # Telesis Network License [Karl_Schendel_Jr] [Karl_Schendel_Jr] +apple-licman 1381/tcp # Apple Network License [Earl_Wallace] [Earl_Wallace] +apple-licman 1381/udp # Apple Network License [Earl_Wallace] [Earl_Wallace] +# udt_os +# +udt-os 1382/tcp # IANA assigned this +# a replacement for "udt_os". +# This entry is an alias to "udt-os". This entry is now +udt_os 1382/tcp # udt_os historic, not usable for use with many common service +# +udt-os 1382/udp # IANA assigned this +udt_os 1382/udp # udt_os historic, not usable for use with many common service +gwha 1383/tcp # GW Hannaway Network License [J_Gabriel_Foster] [J_Gabriel_Foster] +gwha 1383/udp # GW Hannaway Network License [J_Gabriel_Foster] [J_Gabriel_Foster] +os-licman 1384/tcp # Objective Solutions License [Donald_Cornwell] [Donald_Cornwell] +os-licman 1384/udp # Objective Solutions License [Donald_Cornwell] [Donald_Cornwell] +# Atex Publishing License +# +atex-elmd 1385/tcp # IANA assigned this [Brett_Sorenson] [Brett_Sorenson] +# "atex_elmd". +# Atex Publishing License This entry is an alias to "atex-elmd". This entry is now +atex_elmd 1385/tcp # Manager [Brett_Sorenson] [Brett_Sorenson] historic, not usable for use with many common service +# +atex-elmd 1385/udp # IANA assigned this [Brett_Sorenson] [Brett_Sorenson] +atex_elmd 1385/udp # Manager [Brett_Sorenson] [Brett_Sorenson] historic, not usable for use with many common service +checksum 1386/tcp # CheckSum License Manager [Andreas_Glocker] [Andreas_Glocker] +checksum 1386/udp # CheckSum License Manager [Andreas_Glocker] [Andreas_Glocker] +cadsi-lm 1387/tcp # Computer Aided Design [Sulistio_Muljadi] [Sulistio_Muljadi] +# Software Inc LM +cadsi-lm 1387/udp # Computer Aided Design [Sulistio_Muljadi] [Sulistio_Muljadi] +objective-dbc 1388/tcp # Objective Solutions DataBase [Donald_Cornwell_2] [Donald_Cornwell_2] +# Cache +objective-dbc 1388/udp # Objective Solutions DataBase [Donald_Cornwell_2] [Donald_Cornwell_2] +iclpv-dm 1389/tcp # Document Manager +iclpv-dm 1389/udp # Document Manager +iclpv-sc 1390/tcp # Storage Controller +iclpv-sc 1390/udp # Storage Controller +iclpv-sas 1391/tcp # Storage Access Server +iclpv-sas 1391/udp # Storage Access Server +iclpv-pm 1392/tcp # Print Manager +iclpv-pm 1392/udp # Print Manager +iclpv-nls 1393/tcp # Network Log Server +iclpv-nls 1393/udp # Network Log Server +iclpv-nlc 1394/tcp # Network Log Client +iclpv-nlc 1394/udp # Network Log Client +iclpv-wsm 1395/tcp # PC Workstation Manager [A_P_Hobson] [A_P_Hobson] +# software +iclpv-wsm 1395/udp # PC Workstation Manager [A_P_Hobson] [A_P_Hobson] +dvl-activemail 1396/tcp # DVL Active Mail +dvl-activemail 1396/udp # DVL Active Mail +audio-activmail 1397/tcp # Audio Active Mail +audio-activmail 1397/udp # Audio Active Mail +video-activmail 1398/tcp # Video Active Mail [Avshalom_Houri] [Avshalom_Houri] +video-activmail 1398/udp # Video Active Mail [Avshalom_Houri] [Avshalom_Houri] +cadkey-licman 1399/tcp # Cadkey License Manager +cadkey-licman 1399/udp # Cadkey License Manager +cadkey-tablet 1400/tcp # Cadkey Tablet Daemon [Joe_McCollough] [Joe_McCollough] +cadkey-tablet 1400/udp # Cadkey Tablet Daemon [Joe_McCollough] [Joe_McCollough] +goldleaf-licman 1401/tcp # Goldleaf License Manager [John_Fox] [John_Fox] +goldleaf-licman 1401/udp # Goldleaf License Manager [John_Fox] [John_Fox] +prm-sm-np 1402/tcp # Prospero Resource Manager +prm-sm-np 1402/udp # Prospero Resource Manager +prm-nm-np 1403/tcp # Prospero Resource Manager [B_Clifford_Neuman] [B_Clifford_Neuman] +prm-nm-np 1403/udp # Prospero Resource Manager [B_Clifford_Neuman] [B_Clifford_Neuman] +igi-lm 1404/tcp # Infinite Graphics License +igi-lm 1404/udp # Infinite Graphics License +ibm-res 1405/tcp # IBM Remote Execution Starter +ibm-res 1405/udp # IBM Remote Execution Starter +netlabs-lm 1406/tcp # NetLabs License Manager +netlabs-lm 1406/udp # NetLabs License Manager +dbsa-lm 1407/tcp # DBSA License Manager [Scott_Shattuck] [Scott_Shattuck] +dbsa-lm 1407/udp # DBSA License Manager [Scott_Shattuck] [Scott_Shattuck] +sophia-lm 1408/tcp # Sophia License Manager [Eric_Brown] [Eric_Brown] +sophia-lm 1408/udp # Sophia License Manager [Eric_Brown] [Eric_Brown] +here-lm 1409/tcp # Here License Manager [David_Ison] [David_Ison] +here-lm 1409/udp # Here License Manager [David_Ison] [David_Ison] +hiq 1410/tcp # HiQ License Manager [Rick_Pugh] [Rick_Pugh] +hiq 1410/udp # HiQ License Manager [Rick_Pugh] [Rick_Pugh] +af 1411/tcp # AudioFile [Jim_Gettys] [Jim_Gettys] +af 1411/udp # AudioFile [Jim_Gettys] [Jim_Gettys] +innosys 1412/tcp # InnoSys +innosys 1412/udp # InnoSys +innosys-acl 1413/tcp # Innosys-ACL [Eric_Welch] [Eric_Welch] +innosys-acl 1413/udp # Innosys-ACL [Eric_Welch] [Eric_Welch] +ibm-mqseries 1414/tcp # IBM MQSeries [Roger_Meli] [Roger_Meli] +ibm-mqseries 1414/udp # IBM MQSeries [Roger_Meli] [Roger_Meli] +dbstar 1415/tcp # DBStar [Jeffrey_Millman] [Jeffrey_Millman] +dbstar 1415/udp # DBStar [Jeffrey_Millman] [Jeffrey_Millman] +# Novell LU6.2 +# +novell-lu6-2 1416/tcp # IANA assigned this [Peter_Liu] [Peter_Liu] +# "novell-lu6.2". +# This entry is an alias to "novell-lu6-2". This entry is now +novell-lu6.2 1416/tcp # Novell LU6.2 [Peter_Liu] [Peter_Liu] historic, not usable for use with many common service +# +novell-lu6-2 1416/udp # IANA assigned this [Peter_Liu] [Peter_Liu] +novell-lu6.2 1416/udp # Novell LU6.2 [Peter_Liu] [Peter_Liu] historic, not usable for use with many common service +timbuktu-srv1 1417/tcp # Timbuktu Service 1 Port +timbuktu-srv1 1417/udp # Timbuktu Service 1 Port +timbuktu-srv2 1418/tcp # Timbuktu Service 2 Port +timbuktu-srv2 1418/udp # Timbuktu Service 2 Port +timbuktu-srv3 1419/tcp # Timbuktu Service 3 Port +timbuktu-srv3 1419/udp # Timbuktu Service 3 Port +timbuktu-srv4 1420/tcp # Timbuktu Service 4 Port [Marc_Epard] [Marc_Epard] +timbuktu-srv4 1420/udp # Timbuktu Service 4 Port [Marc_Epard] [Marc_Epard] +gandalf-lm 1421/tcp # Gandalf License Manager [gilmer] [gilmer] +gandalf-lm 1421/udp # Gandalf License Manager [gilmer] [gilmer] +autodesk-lm 1422/tcp # Autodesk License Manager [David_Ko] [David_Ko] +autodesk-lm 1422/udp # Autodesk License Manager [David_Ko] [David_Ko] +essbase 1423/tcp # Essbase Arbor Software +essbase 1423/udp # Essbase Arbor Software +hybrid 1424/tcp # Hybrid Encryption Protocol [Howard_Hart] [Howard_Hart] +hybrid 1424/udp # Hybrid Encryption Protocol [Howard_Hart] [Howard_Hart] +zion-lm 1425/tcp # Zion Software License [David_Ferrero] [David_Ferrero] +zion-lm 1425/udp # Zion Software License [David_Ferrero] [David_Ferrero] +sais 1426/tcp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +# System 1 +sais 1426/udp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +mloadd 1427/tcp # mloadd monitoring tool [Bob_Braden_2] [Bob_Braden_2] +mloadd 1427/udp # mloadd monitoring tool [Bob_Braden_2] [Bob_Braden_2] +informatik-lm 1428/tcp # Informatik License Manager [Harald_Schlangmann] [Harald_Schlangmann] +informatik-lm 1428/udp # Informatik License Manager [Harald_Schlangmann] [Harald_Schlangmann] +nms 1429/tcp # Hypercom NMS +nms 1429/udp # Hypercom NMS +tpdu 1430/tcp # Hypercom TPDU [Noor_Chowdhury] [Noor_Chowdhury] +tpdu 1430/udp # Hypercom TPDU [Noor_Chowdhury] [Noor_Chowdhury] +rgtp 1431/tcp # Reverse Gossip Transport [Ian_Jackson] [Ian_Jackson] +rgtp 1431/udp # Reverse Gossip Transport [Ian_Jackson] [Ian_Jackson] +blueberry-lm 1432/tcp # Blueberry Software License [Steve_Beigel] [Steve_Beigel] +blueberry-lm 1432/udp # Blueberry Software License [Steve_Beigel] [Steve_Beigel] +ms-sql-s 1433/tcp # Microsoft-SQL-Server +ms-sql-s 1433/udp # Microsoft-SQL-Server +ms-sql-m 1434/tcp # Microsoft-SQL-Monitor [Peter_Hussey] [Peter_Hussey] +ms-sql-m 1434/udp # Microsoft-SQL-Monitor [Peter_Hussey] [Peter_Hussey] +ibm-cics 1435/tcp # IBM CICS [Geoff_Meacock] [Geoff_Meacock] +ibm-cics 1435/udp # IBM CICS [Geoff_Meacock] [Geoff_Meacock] +saism 1436/tcp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +# System 2 +saism 1436/udp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +tabula 1437/tcp # Tabula [Marcelo_Einhorn] [Marcelo_Einhorn] +tabula 1437/udp # Tabula [Marcelo_Einhorn] [Marcelo_Einhorn] +eicon-server 1438/tcp # Eicon Security Agent/Server +eicon-server 1438/udp # Eicon Security Agent/Server +eicon-x25 1439/tcp # Eicon X25/SNA Gateway +eicon-x25 1439/udp # Eicon X25/SNA Gateway +eicon-slp 1440/tcp # Eicon Service Location [Pat_Calhoun] [Pat_Calhoun] +eicon-slp 1440/udp # Eicon Service Location [Pat_Calhoun] [Pat_Calhoun] +cadis-1 1441/tcp # Cadis License Management +cadis-1 1441/udp # Cadis License Management +cadis-2 1442/tcp # Cadis License Management [Todd_Wichers] [Todd_Wichers] +cadis-2 1442/udp # Cadis License Management [Todd_Wichers] [Todd_Wichers] +ies-lm 1443/tcp # Integrated Engineering [David_Tong] [David_Tong] +ies-lm 1443/udp # Integrated Engineering [David_Tong] [David_Tong] +marcam-lm 1444/tcp # Marcam License Management [Therese_Hunt] [Therese_Hunt] +marcam-lm 1444/udp # Marcam License Management [Therese_Hunt] [Therese_Hunt] +proxima-lm 1445/tcp # Proxima License Manager +proxima-lm 1445/udp # Proxima License Manager +ora-lm 1446/tcp # Optical Research Associates +# License Manager +ora-lm 1446/udp # Optical Research Associates +apri-lm 1447/tcp # Applied Parallel Research LM [Jim_Dillon] [Jim_Dillon] +apri-lm 1447/udp # Applied Parallel Research LM [Jim_Dillon] [Jim_Dillon] +oc-lm 1448/tcp # OpenConnect License Manager [Sue_Barnhill] [Sue_Barnhill] +oc-lm 1448/udp # OpenConnect License Manager [Sue_Barnhill] [Sue_Barnhill] +peport 1449/tcp # PEport [Qentin_Neill] [Qentin_Neill] +peport 1449/udp # PEport [Qentin_Neill] [Qentin_Neill] +dwf 1450/tcp # Tandem Distributed Workbench [Mike_Bert] [Mike_Bert] +# Facility +dwf 1450/udp # Tandem Distributed Workbench [Mike_Bert] [Mike_Bert] +infoman 1451/tcp # IBM Information Management [Karen_Burns] [Karen_Burns] +infoman 1451/udp # IBM Information Management [Karen_Burns] [Karen_Burns] +gtegsc-lm 1452/tcp # GTE Government Systems [Mike_Gregory] [Mike_Gregory] +# License Man +gtegsc-lm 1452/udp # GTE Government Systems [Mike_Gregory] [Mike_Gregory] +genie-lm 1453/tcp # Genie License Manager [Paul_Applegate] [Paul_Applegate] +genie-lm 1453/udp # Genie License Manager [Paul_Applegate] [Paul_Applegate] +# interHDL License Manager +# +interhdl-elmd 1454/tcp # IANA assigned this [Eli_Sternheim] [Eli_Sternheim] +# "interhdl_elmd". +# This entry is an alias to "interhdl-elmd". This entry is now +interhdl_elmd 1454/tcp # interHDL License Manager [Eli_Sternheim] [Eli_Sternheim] historic, not usable for use with many common service +# +interhdl-elmd 1454/udp # IANA assigned this [Eli_Sternheim] [Eli_Sternheim] +interhdl_elmd 1454/udp # interHDL License Manager [Eli_Sternheim] [Eli_Sternheim] historic, not usable for use with many common service +esl-lm 1455/tcp # ESL License Manager [Abel_Chou] [Abel_Chou] +esl-lm 1455/udp # ESL License Manager [Abel_Chou] [Abel_Chou] +dca 1456/tcp # DCA [Jeff_Garbers_2] [Jeff_Garbers_2] +dca 1456/udp # DCA [Jeff_Garbers_2] [Jeff_Garbers_2] +valisys-lm 1457/tcp # Valisys License Manager [Leslie_Lincoln] [Leslie_Lincoln] +valisys-lm 1457/udp # Valisys License Manager [Leslie_Lincoln] [Leslie_Lincoln] +nrcabq-lm 1458/tcp # Nichols Research Corp. [Howard_Cole] [Howard_Cole] +nrcabq-lm 1458/udp # Nichols Research Corp. [Howard_Cole] [Howard_Cole] +proshare1 1459/tcp # Proshare Notebook +# Application +proshare1 1459/udp # Proshare Notebook +proshare2 1460/tcp # Proshare Notebook [Robin_Kar] [Robin_Kar] +proshare2 1460/udp # Proshare Notebook [Robin_Kar] [Robin_Kar] +# IBM Wireless LAN +# +ibm-wrless-lan 1461/tcp # IANA assigned this [flanne] [flanne] +# "ibm_wrless_lan". +# This entry is an alias to "ibm-wrless-lan". This entry is now +ibm_wrless_lan 1461/tcp # IBM Wireless LAN [flanne] [flanne] historic, not usable for use with many common service +# +ibm-wrless-lan 1461/udp # IANA assigned this [flanne] [flanne] +ibm_wrless_lan 1461/udp # IBM Wireless LAN [flanne] [flanne] historic, not usable for use with many common service +world-lm 1462/tcp # World License Manager [Michael_S_Amirault] [Michael_S_Amirault] +world-lm 1462/udp # World License Manager [Michael_S_Amirault] [Michael_S_Amirault] +nucleus 1463/tcp # Nucleus [Venky_Nagar] [Venky_Nagar] +nucleus 1463/udp # Nucleus [Venky_Nagar] [Venky_Nagar] +# MSL License Manager +# +msl-lmd 1464/tcp # IANA assigned this [Matt_Timmermans] [Matt_Timmermans] +# a replacement for "msl_lmd". +# This entry is an alias to "msl-lmd". This entry is now +msl_lmd 1464/tcp # MSL License Manager [Matt_Timmermans] [Matt_Timmermans] historic, not usable for use with many common service +# +msl-lmd 1464/udp # IANA assigned this [Matt_Timmermans] [Matt_Timmermans] +msl_lmd 1464/udp # MSL License Manager [Matt_Timmermans] [Matt_Timmermans] historic, not usable for use with many common service +pipes 1465/tcp # Pipes Platform [Mark_Farlin] [Mark_Farlin] +pipes 1465/udp # Pipes Platform [Mark_Farlin] [Mark_Farlin] +oceansoft-lm 1466/tcp # Ocean Software License [Randy_Leonard] [Randy_Leonard] +oceansoft-lm 1466/udp # Ocean Software License [Randy_Leonard] [Randy_Leonard] +csdmbase 1467/tcp # CSDMBASE +csdmbase 1467/udp # CSDMBASE +csdm 1468/tcp # CSDM [Robert_Stabl] [Robert_Stabl] +csdm 1468/udp # CSDM [Robert_Stabl] [Robert_Stabl] +aal-lm 1469/tcp # Active Analysis Limited [David_Snocken] [David_Snocken] +aal-lm 1469/udp # Active Analysis Limited [David_Snocken] [David_Snocken] +uaiact 1470/tcp # Universal Analytics [Mark_R_Ludwig] [Mark_R_Ludwig] +uaiact 1470/udp # Universal Analytics [Mark_R_Ludwig] [Mark_R_Ludwig] +csdmbase 1471/tcp # csdmbase +csdmbase 1471/udp # csdmbase +csdm 1472/tcp # csdm [Robert_Stabl] [Robert_Stabl] +csdm 1472/udp # csdm [Robert_Stabl] [Robert_Stabl] +openmath 1473/tcp # OpenMath [Garth_Mayville] [Garth_Mayville] +openmath 1473/udp # OpenMath [Garth_Mayville] [Garth_Mayville] +telefinder 1474/tcp # Telefinder [Jim_White] [Jim_White] +telefinder 1474/udp # Telefinder [Jim_White] [Jim_White] +taligent-lm 1475/tcp # Taligent License Manager [Mark_Sapsford] [Mark_Sapsford] +taligent-lm 1475/udp # Taligent License Manager [Mark_Sapsford] [Mark_Sapsford] +clvm-cfg 1476/tcp # clvm-cfg [Eric_Soderberg] [Eric_Soderberg] +clvm-cfg 1476/udp # clvm-cfg [Eric_Soderberg] [Eric_Soderberg] +ms-sna-server 1477/tcp # ms-sna-server +ms-sna-server 1477/udp # ms-sna-server +ms-sna-base 1478/tcp # ms-sna-base [Gordon_Mangione] [Gordon_Mangione] +ms-sna-base 1478/udp # ms-sna-base [Gordon_Mangione] [Gordon_Mangione] +dberegister 1479/tcp # dberegister [Brian_Griswold] [Brian_Griswold] +dberegister 1479/udp # dberegister [Brian_Griswold] [Brian_Griswold] +pacerforum 1480/tcp # PacerForum [Peter_Caswell] [Peter_Caswell] +pacerforum 1480/udp # PacerForum [Peter_Caswell] [Peter_Caswell] +airs 1481/tcp # AIRS [Bruce_Wilson] [Bruce_Wilson] +airs 1481/udp # AIRS [Bruce_Wilson] [Bruce_Wilson] +miteksys-lm 1482/tcp # Miteksys License Manager [Shane_McRoberts] [Shane_McRoberts] +miteksys-lm 1482/udp # Miteksys License Manager [Shane_McRoberts] [Shane_McRoberts] +afs 1483/tcp # AFS License Manager [Michael_R_Pizolato] [Michael_R_Pizolato] +afs 1483/udp # AFS License Manager [Michael_R_Pizolato] [Michael_R_Pizolato] +confluent 1484/tcp # Confluent License Manager [James_Greenfiel] [James_Greenfiel] +confluent 1484/udp # Confluent License Manager [James_Greenfiel] [James_Greenfiel] +lansource 1485/tcp # LANSource [Christopher_Wells] [Christopher_Wells] +lansource 1485/udp # LANSource [Christopher_Wells] [Christopher_Wells] +# nms_topo_serv +# +nms-topo-serv 1486/tcp # IANA assigned this [Sylvia_Siu] [Sylvia_Siu] +# "nms_topo_serv". +# This entry is an alias to "nms-topo-serv". This entry is now +nms_topo_serv 1486/tcp # nms_topo_serv [Sylvia_Siu] [Sylvia_Siu] historic, not usable for use with many common service +# +nms-topo-serv 1486/udp # IANA assigned this [Sylvia_Siu] [Sylvia_Siu] +nms_topo_serv 1486/udp # nms_topo_serv [Sylvia_Siu] [Sylvia_Siu] historic, not usable for use with many common service +localinfosrvr 1487/tcp # LocalInfoSrvr [Brian_Matthews_2] [Brian_Matthews_2] +localinfosrvr 1487/udp # LocalInfoSrvr [Brian_Matthews_2] [Brian_Matthews_2] +docstor 1488/tcp # DocStor [Brian_Spears] [Brian_Spears] +docstor 1488/udp # DocStor [Brian_Spears] [Brian_Spears] +dmdocbroker 1489/tcp # dmdocbroker [Razmik_Abnous] [Razmik_Abnous] +dmdocbroker 1489/udp # dmdocbroker [Razmik_Abnous] [Razmik_Abnous] +insitu-conf 1490/tcp # insitu-conf [Paul_Blacknell] [Paul_Blacknell] +insitu-conf 1490/udp # insitu-conf [Paul_Blacknell] [Paul_Blacknell] +# 1491 Unassigned 2009-08-05 Use Known on +# port 1491 +stone-design-1 1492/tcp # stone-design-1 [Andrew_Stone] [Andrew_Stone] +stone-design-1 1492/udp # stone-design-1 [Andrew_Stone] [Andrew_Stone] +# netmap_lm +# +netmap-lm 1493/tcp # IANA assigned this [Phillip_Magson] [Phillip_Magson] +# "netmap_lm". +# This entry is an alias to "netmap-lm". This entry is now +netmap_lm 1493/tcp # netmap_lm [Phillip_Magson] [Phillip_Magson] historic, not usable for use with many common service +# +netmap-lm 1493/udp # IANA assigned this [Phillip_Magson] [Phillip_Magson] +netmap_lm 1493/udp # netmap_lm [Phillip_Magson] [Phillip_Magson] historic, not usable for use with many common service +ica 1494/tcp # ica [John_Richardson] [John_Richardson] +ica 1494/udp # ica [John_Richardson] [John_Richardson] +cvc 1495/tcp # cvc [Bill_Davidson] [Bill_Davidson] +cvc 1495/udp # cvc [Bill_Davidson] [Bill_Davidson] +liberty-lm 1496/tcp # liberty-lm [Jim_Rogers] [Jim_Rogers] +liberty-lm 1496/udp # liberty-lm [Jim_Rogers] [Jim_Rogers] +rfx-lm 1497/tcp # rfx-lm [Bill_Bishop] [Bill_Bishop] +rfx-lm 1497/udp # rfx-lm [Bill_Bishop] [Bill_Bishop] +sybase-sqlany 1498/tcp # Sybase SQL Any [Dave_Neudoerffer] [Dave_Neudoerffer] +sybase-sqlany 1498/udp # Sybase SQL Any [Dave_Neudoerffer] [Dave_Neudoerffer] +fhc 1499/tcp # Federico Heinz Consultora [Federico_Heinz] [Federico_Heinz] +fhc 1499/udp # Federico Heinz Consultora [Federico_Heinz] [Federico_Heinz] +vlsi-lm 1500/tcp # VLSI License Manager [Shue_Lin_Kuo] [Shue_Lin_Kuo] +vlsi-lm 1500/udp # VLSI License Manager [Shue_Lin_Kuo] [Shue_Lin_Kuo] +saiscm 1501/tcp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +# System 3 +saiscm 1501/udp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +shivadiscovery 1502/tcp # Shiva [Jonathan_Wenocur] [Jonathan_Wenocur] +shivadiscovery 1502/udp # Shiva [Jonathan_Wenocur] [Jonathan_Wenocur] +imtc-mcs 1503/tcp # Databeam [Jim_Johnston] [Jim_Johnston] +imtc-mcs 1503/udp # Databeam [Jim_Johnston] [Jim_Johnston] +evb-elm 1504/tcp # EVB Software Engineering [B_G_Mahesh] [B_G_Mahesh] +evb-elm 1504/udp # EVB Software Engineering [B_G_Mahesh] [B_G_Mahesh] +funkproxy 1505/tcp # Funk Software, Inc. [Robert_D_Vincent] [Robert_D_Vincent] +funkproxy 1505/udp # Funk Software, Inc. [Robert_D_Vincent] [Robert_D_Vincent] +utcd 1506/tcp # Universal Time daemon (utcd) [Walter_Poxon] [Walter_Poxon] +utcd 1506/udp # Universal Time daemon (utcd) [Walter_Poxon] [Walter_Poxon] +symplex 1507/tcp # symplex [Mike_Turley] [Mike_Turley] +symplex 1507/udp # symplex [Mike_Turley] [Mike_Turley] +diagmond 1508/tcp # diagmond [Pete_Moscatelli] [Pete_Moscatelli] +diagmond 1508/udp # diagmond [Pete_Moscatelli] [Pete_Moscatelli] +robcad-lm 1509/tcp # Robcad, Ltd. License Manager [Hindin_Joseph] [Hindin_Joseph] +robcad-lm 1509/udp # Robcad, Ltd. License Manager [Hindin_Joseph] [Hindin_Joseph] +mvx-lm 1510/tcp # Midland Valley Exploration [Neil_Salter] [Neil_Salter] +# Ltd. Lic. Man. +mvx-lm 1510/udp # Midland Valley Exploration [Neil_Salter] [Neil_Salter] +3l-l1 1511/tcp # 3l-l1 [Ian_A_Young] [Ian_A_Young] +3l-l1 1511/udp # 3l-l1 [Ian_A_Young] [Ian_A_Young] +wins 1512/tcp # Microsoft's Windows Internet [Pradeep_Bahl] [Pradeep_Bahl] +# Name Service +wins 1512/udp # Microsoft's Windows Internet [Pradeep_Bahl] [Pradeep_Bahl] +fujitsu-dtc 1513/tcp # Fujitsu Systems Business of +# America, Inc +fujitsu-dtc 1513/udp # Fujitsu Systems Business of +fujitsu-dtcns 1514/tcp # Fujitsu Systems Business of [Charles_A_Higgins] [Charles_A_Higgins] +fujitsu-dtcns 1514/udp # Fujitsu Systems Business of [Charles_A_Higgins] [Charles_A_Higgins] +ifor-protocol 1515/tcp # ifor-protocol [Dr_R_P_Alston] [Dr_R_P_Alston] +ifor-protocol 1515/udp # ifor-protocol [Dr_R_P_Alston] [Dr_R_P_Alston] +vpad 1516/tcp # Virtual Places Audio data +vpad 1516/udp # Virtual Places Audio data +vpac 1517/tcp # Virtual Places Audio control +vpac 1517/udp # Virtual Places Audio control +vpvd 1518/tcp # Virtual Places Video data +vpvd 1518/udp # Virtual Places Video data +vpvc 1519/tcp # Virtual Places Video control [Avshalom_Houri] [Avshalom_Houri] +vpvc 1519/udp # Virtual Places Video control [Avshalom_Houri] [Avshalom_Houri] +atm-zip-office 1520/tcp # atm zip office [Wilson_Kwan] [Wilson_Kwan] +atm-zip-office 1520/udp # atm zip office [Wilson_Kwan] [Wilson_Kwan] +ncube-lm 1521/tcp # nCube License Manager [Maxine_Yuen] [Maxine_Yuen] +ncube-lm 1521/udp # nCube License Manager [Maxine_Yuen] [Maxine_Yuen] +ricardo-lm 1522/tcp # Ricardo North America [Mike_Flemming] [Mike_Flemming] +ricardo-lm 1522/udp # Ricardo North America [Mike_Flemming] [Mike_Flemming] +cichild-lm 1523/tcp # cichild [Andy_Burgess] [Andy_Burgess] +cichild-lm 1523/udp # cichild [Andy_Burgess] [Andy_Burgess] +ingreslock 1524/tcp # ingres +ingreslock 1524/udp # ingres +orasrv 1525/tcp # oracle +orasrv 1525/udp # oracle +prospero-np 1525/tcp # Prospero Directory Service +# non-priv +prospero-np 1525/udp # Prospero Directory Service +pdap-np 1526/tcp # Prospero Data Access Prot [B_Clifford_Neuman] [B_Clifford_Neuman] +pdap-np 1526/udp # Prospero Data Access Prot [B_Clifford_Neuman] [B_Clifford_Neuman] +tlisrv 1527/tcp # oracle +tlisrv 1527/udp # oracle +# 1528 Unassigned 2007-10-04 +coauthor 1529/tcp # oracle +coauthor 1529/udp # oracle +rap-service 1530/tcp # rap-service +rap-service 1530/udp # rap-service +rap-listen 1531/tcp # rap-listen [Phil_Servita] [Phil_Servita] +rap-listen 1531/udp # rap-listen [Phil_Servita] [Phil_Servita] +miroconnect 1532/tcp # miroconnect [Michael_Fischer_2] [Michael_Fischer_2] +miroconnect 1532/udp # miroconnect [Michael_Fischer_2] [Michael_Fischer_2] +virtual-places 1533/tcp # Virtual Places Software [Avshalom_Houri] [Avshalom_Houri] +virtual-places 1533/udp # Virtual Places Software [Avshalom_Houri] [Avshalom_Houri] +micromuse-lm 1534/tcp # micromuse-lm [Adam_Kerrison] [Adam_Kerrison] +micromuse-lm 1534/udp # micromuse-lm [Adam_Kerrison] [Adam_Kerrison] +ampr-info 1535/tcp # ampr-info +ampr-info 1535/udp # ampr-info +ampr-inter 1536/tcp # ampr-inter [Rob_Janssen] [Rob_Janssen] +ampr-inter 1536/udp # ampr-inter [Rob_Janssen] [Rob_Janssen] +sdsc-lm 1537/tcp # isi-lm [Len_Wanger] [Len_Wanger] +sdsc-lm 1537/udp # isi-lm [Len_Wanger] [Len_Wanger] +3ds-lm 1538/tcp # 3ds-lm [Keith_Trummel] [Keith_Trummel] +3ds-lm 1538/udp # 3ds-lm [Keith_Trummel] [Keith_Trummel] +intellistor-lm 1539/tcp # Intellistor License Manager [Ron_Vaughn] [Ron_Vaughn] +intellistor-lm 1539/udp # Intellistor License Manager [Ron_Vaughn] [Ron_Vaughn] +rds 1540/tcp # rds +rds 1540/udp # rds +rds2 1541/tcp # rds2 [Sudhakar_Rajamannar] [Sudhakar_Rajamannar] +rds2 1541/udp # rds2 [Sudhakar_Rajamannar] [Sudhakar_Rajamannar] +gridgen-elmd 1542/tcp # gridgen-elmd [John_R_Chawner] [John_R_Chawner] +gridgen-elmd 1542/udp # gridgen-elmd [John_R_Chawner] [John_R_Chawner] +simba-cs 1543/tcp # simba-cs [Betsy_Alexander] [Betsy_Alexander] +simba-cs 1543/udp # simba-cs [Betsy_Alexander] [Betsy_Alexander] +aspeclmd 1544/tcp # aspeclmd [V_Balaji] [V_Balaji] +aspeclmd 1544/udp # aspeclmd [V_Balaji] [V_Balaji] +vistium-share 1545/tcp # vistium-share [Allison_Carleton] [Allison_Carleton] +vistium-share 1545/udp # vistium-share [Allison_Carleton] [Allison_Carleton] +abbaccuray 1546/tcp # abbaccuray [John_Wendt] [John_Wendt] +abbaccuray 1546/udp # abbaccuray [John_Wendt] [John_Wendt] +laplink 1547/tcp # laplink [Michael_Crawford] [Michael_Crawford] +laplink 1547/udp # laplink [Michael_Crawford] [Michael_Crawford] +axon-lm 1548/tcp # Axon License Manager [Mark_Pearce] [Mark_Pearce] +axon-lm 1548/udp # Axon License Manager [Mark_Pearce] [Mark_Pearce] +shivahose 1549/tcp # Shiva Hose +shivasound 1549/udp # Shiva Sound [Kin_Chan] [Kin_Chan] +3m-image-lm 1550/tcp # Image Storage license [J_C_Canessa] [J_C_Canessa] +# manager 3M Company +3m-image-lm 1550/udp # Image Storage license [J_C_Canessa] [J_C_Canessa] +hecmtl-db 1551/tcp # HECMTL-DB [Maxime_Belanger] [Maxime_Belanger] +hecmtl-db 1551/udp # HECMTL-DB [Maxime_Belanger] [Maxime_Belanger] +pciarray 1552/tcp # pciarray [Ron_Folk] [Ron_Folk] +pciarray 1552/udp # pciarray [Ron_Folk] [Ron_Folk] +sna-cs 1553/tcp # sna-cs [Tony_Sowter] [Tony_Sowter] +sna-cs 1553/udp # sna-cs [Tony_Sowter] [Tony_Sowter] +caci-lm 1554/tcp # CACI Products Company [Erik_Blume] [Erik_Blume] +caci-lm 1554/udp # CACI Products Company [Erik_Blume] [Erik_Blume] +livelan 1555/tcp # livelan [Kaynam_Hedayat] [Kaynam_Hedayat] +livelan 1555/udp # livelan [Kaynam_Hedayat] [Kaynam_Hedayat] +# VERITAS Private Branch +# Exchange +# +veritas-pbx 1556/tcp # IANA assigned this [Stefan_Winkel] [Stefan_Winkel] 2004-04 +# "veritas_pbx". +# VERITAS Private Branch This entry is an alias to "veritas-pbx". This entry is now +veritas_pbx 1556/tcp # Exchange [Stefan_Winkel] [Stefan_Winkel] 2004-04 historic, not usable for use with many common service +# +veritas-pbx 1556/udp # IANA assigned this [Stefan_Winkel] [Stefan_Winkel] 2004-04 +veritas_pbx 1556/udp # Exchange [Stefan_Winkel] [Stefan_Winkel] 2004-04 historic, not usable for use with many common service +arbortext-lm 1557/tcp # ArborText License Manager [David_J_Wilson] [David_J_Wilson] +arbortext-lm 1557/udp # ArborText License Manager [David_J_Wilson] [David_J_Wilson] +xingmpeg 1558/tcp # xingmpeg [Howard_Gordon] [Howard_Gordon] +xingmpeg 1558/udp # xingmpeg [Howard_Gordon] [Howard_Gordon] +web2host 1559/tcp # web2host [Stephen_Johnson] [Stephen_Johnson] +web2host 1559/udp # web2host [Stephen_Johnson] [Stephen_Johnson] +asci-val 1560/tcp # ASCI-RemoteSHADOW [Benjamin_Rosenberg] [Benjamin_Rosenberg] +asci-val 1560/udp # ASCI-RemoteSHADOW [Benjamin_Rosenberg] [Benjamin_Rosenberg] +facilityview 1561/tcp # facilityview [Ed_Green] [Ed_Green] +facilityview 1561/udp # facilityview [Ed_Green] [Ed_Green] +pconnectmgr 1562/tcp # pconnectmgr [Bob_Kaiser] [Bob_Kaiser] +pconnectmgr 1562/udp # pconnectmgr [Bob_Kaiser] [Bob_Kaiser] +cadabra-lm 1563/tcp # Cadabra License Manager [Arthur_Castonguay] [Arthur_Castonguay] +cadabra-lm 1563/udp # Cadabra License Manager [Arthur_Castonguay] [Arthur_Castonguay] +pay-per-view 1564/tcp # Pay-Per-View [Brian_Tung] [Brian_Tung] +pay-per-view 1564/udp # Pay-Per-View [Brian_Tung] [Brian_Tung] +winddlb 1565/tcp # WinDD [Kelly_Sims] [Kelly_Sims] +winddlb 1565/udp # WinDD [Kelly_Sims] [Kelly_Sims] +corelvideo 1566/tcp # CORELVIDEO [Ming_Poon] [Ming_Poon] +corelvideo 1566/udp # CORELVIDEO [Ming_Poon] [Ming_Poon] +jlicelmd 1567/tcp # jlicelmd [Christian_Schormann] [Christian_Schormann] +jlicelmd 1567/udp # jlicelmd [Christian_Schormann] [Christian_Schormann] +tsspmap 1568/tcp # tsspmap [Paul_W_Nelson] [Paul_W_Nelson] +tsspmap 1568/udp # tsspmap [Paul_W_Nelson] [Paul_W_Nelson] +ets 1569/tcp # ets [Carstein_Seeberg] [Carstein_Seeberg] +ets 1569/udp # ets [Carstein_Seeberg] [Carstein_Seeberg] +orbixd 1570/tcp # orbixd [Bridget_Walsh] [Bridget_Walsh] +orbixd 1570/udp # orbixd [Bridget_Walsh] [Bridget_Walsh] +rdb-dbs-disp 1571/tcp # Oracle Remote Data Base [mackin] [mackin] +rdb-dbs-disp 1571/udp # Oracle Remote Data Base [mackin] [mackin] +chip-lm 1572/tcp # Chipcom License Manager +chip-lm 1572/udp # Chipcom License Manager +itscomm-ns 1573/tcp # itscomm-ns [Rich_Thompson] [Rich_Thompson] +itscomm-ns 1573/udp # itscomm-ns [Rich_Thompson] [Rich_Thompson] +mvel-lm 1574/tcp # mvel-lm [David_Bisset] [David_Bisset] +mvel-lm 1574/udp # mvel-lm [David_Bisset] [David_Bisset] +oraclenames 1575/tcp # oraclenames [P_V_Shivkumar] [P_V_Shivkumar] +oraclenames 1575/udp # oraclenames [P_V_Shivkumar] [P_V_Shivkumar] +moldflow-lm 1576/tcp # Moldflow License Manager [Lech_Laskowski] [Lech_Laskowski] +moldflow-lm 1576/udp # Moldflow License Manager [Lech_Laskowski] [Lech_Laskowski] +hypercube-lm 1577/tcp # hypercube-lm [Christopher_McLendon] [Christopher_McLendon] +hypercube-lm 1577/udp # hypercube-lm [Christopher_McLendon] [Christopher_McLendon] +jacobus-lm 1578/tcp # Jacobus License Manager [Tony_Cleveland] [Tony_Cleveland] +jacobus-lm 1578/udp # Jacobus License Manager [Tony_Cleveland] [Tony_Cleveland] +ioc-sea-lm 1579/tcp # ioc-sea-lm [Paul_Nelson] [Paul_Nelson] +ioc-sea-lm 1579/udp # ioc-sea-lm [Paul_Nelson] [Paul_Nelson] +tn-tl-r1 1580/tcp # tn-tl-r1 +tn-tl-r2 1580/udp # tn-tl-r2 [Ed_Kress] [Ed_Kress] +mil-2045-47001 1581/tcp # MIL-2045-47001 [Eric_Whitehill] [Eric_Whitehill] +mil-2045-47001 1581/udp # MIL-2045-47001 [Eric_Whitehill] [Eric_Whitehill] +msims 1582/tcp # MSIMS [Glenn_Olander] [Glenn_Olander] +msims 1582/udp # MSIMS [Glenn_Olander] [Glenn_Olander] +simbaexpress 1583/tcp # simbaexpress [Betsy_Alexander] [Betsy_Alexander] +simbaexpress 1583/udp # simbaexpress [Betsy_Alexander] [Betsy_Alexander] +tn-tl-fd2 1584/tcp # tn-tl-fd2 [Ed_Kress] [Ed_Kress] +tn-tl-fd2 1584/udp # tn-tl-fd2 [Ed_Kress] [Ed_Kress] +intv 1585/tcp # intv [Dermot_Tynand] [Dermot_Tynand] +intv 1585/udp # intv [Dermot_Tynand] [Dermot_Tynand] +ibm-abtact 1586/tcp # ibm-abtact [Sandeep_K_Singhal] [Sandeep_K_Singhal] +ibm-abtact 1586/udp # ibm-abtact [Sandeep_K_Singhal] [Sandeep_K_Singhal] +# pra_elmd +# +pra-elmd 1587/tcp # IANA assigned this [Dennis_Mastin] [Dennis_Mastin] +# "pra_elmd". +# This entry is an alias to "pra-elmd". This entry is now +pra_elmd 1587/tcp # pra_elmd [Dennis_Mastin] [Dennis_Mastin] historic, not usable for use with many common service +# +pra-elmd 1587/udp # IANA assigned this [Dennis_Mastin] [Dennis_Mastin] +pra_elmd 1587/udp # pra_elmd [Dennis_Mastin] [Dennis_Mastin] historic, not usable for use with many common service +triquest-lm 1588/tcp # triquest-lm [Nand_Kumar] [Nand_Kumar] +triquest-lm 1588/udp # triquest-lm [Nand_Kumar] [Nand_Kumar] +vqp 1589/tcp # VQP [Keith_McCloghrie] [Keith_McCloghrie] +vqp 1589/udp # VQP [Keith_McCloghrie] [Keith_McCloghrie] +gemini-lm 1590/tcp # gemini-lm [Tony_Sawyer] [Tony_Sawyer] +gemini-lm 1590/udp # gemini-lm [Tony_Sawyer] [Tony_Sawyer] +ncpm-pm 1591/tcp # ncpm-pm [Ted_Power] [Ted_Power] +ncpm-pm 1591/udp # ncpm-pm [Ted_Power] [Ted_Power] +commonspace 1592/tcp # commonspace [Rob_Chandhok_2] [Rob_Chandhok_2] +commonspace 1592/udp # commonspace [Rob_Chandhok_2] [Rob_Chandhok_2] +mainsoft-lm 1593/tcp # mainsoft-lm [Anand_Gangadharan] [Anand_Gangadharan] +mainsoft-lm 1593/udp # mainsoft-lm [Anand_Gangadharan] [Anand_Gangadharan] +sixtrak 1594/tcp # sixtrak [Bob_Rennie] [Bob_Rennie] +sixtrak 1594/udp # sixtrak [Bob_Rennie] [Bob_Rennie] +radio 1595/tcp # radio +radio 1595/udp # radio +radio-sm 1596/tcp # radio-sm +radio-bc 1596/udp # radio-bc [Ken_Chapman] [Ken_Chapman] +orbplus-iiop 1597/tcp # orbplus-iiop [Robert_A_Kukura] [Robert_A_Kukura] +orbplus-iiop 1597/udp # orbplus-iiop [Robert_A_Kukura] [Robert_A_Kukura] +picknfs 1598/tcp # picknfs [John_Lombardo] [John_Lombardo] +picknfs 1598/udp # picknfs [John_Lombardo] [John_Lombardo] +simbaservices 1599/tcp # simbaservices [Betsy_Alexander] [Betsy_Alexander] +simbaservices 1599/udp # simbaservices [Betsy_Alexander] [Betsy_Alexander] +issd 1600/tcp # issd +issd 1600/udp # issd +aas 1601/tcp # aas [Bob_Beard] [Bob_Beard] +aas 1601/udp # aas [Bob_Beard] [Bob_Beard] +inspect 1602/tcp # inspect [Frank_O_Neill] [Frank_O_Neill] +inspect 1602/udp # inspect [Frank_O_Neill] [Frank_O_Neill] +picodbc 1603/tcp # pickodbc [John_Lombardo] [John_Lombardo] +picodbc 1603/udp # pickodbc [John_Lombardo] [John_Lombardo] +icabrowser 1604/tcp # icabrowser [Brad_Pedersen] [Brad_Pedersen] +icabrowser 1604/udp # icabrowser [Brad_Pedersen] [Brad_Pedersen] +slp 1605/tcp # Salutation Manager +# (Salutation Protocol) +slp 1605/udp # Salutation Manager +slm-api 1606/tcp # Salutation Manager (SLM-API) [Tohru_Mori] [Tohru_Mori] +slm-api 1606/udp # Salutation Manager (SLM-API) [Tohru_Mori] [Tohru_Mori] +stt 1607/tcp # stt [Ryan_Bolz] [Ryan_Bolz] +stt 1607/udp # stt [Ryan_Bolz] [Ryan_Bolz] +smart-lm 1608/tcp # Smart Corp. License Manager [Connie_Qiu] [Connie_Qiu] +smart-lm 1608/udp # Smart Corp. License Manager [Connie_Qiu] [Connie_Qiu] +isysg-lm 1609/tcp # isysg-lm [Adam_Curtin] [Adam_Curtin] +isysg-lm 1609/udp # isysg-lm [Adam_Curtin] [Adam_Curtin] +taurus-wh 1610/tcp # taurus-wh [Jeff_Moffatt] [Jeff_Moffatt] +taurus-wh 1610/udp # taurus-wh [Jeff_Moffatt] [Jeff_Moffatt] +ill 1611/tcp # Inter Library Loan [Niall_Murphy] [Niall_Murphy] +ill 1611/udp # Inter Library Loan [Niall_Murphy] [Niall_Murphy] +netbill-trans 1612/tcp # NetBill Transaction Server +netbill-trans 1612/udp # NetBill Transaction Server +netbill-keyrep 1613/tcp # NetBill Key Repository +netbill-keyrep 1613/udp # NetBill Key Repository +netbill-cred 1614/tcp # NetBill Credential Server +netbill-cred 1614/udp # NetBill Credential Server +netbill-auth 1615/tcp # NetBill Authorization Server +netbill-auth 1615/udp # NetBill Authorization Server +netbill-prod 1616/tcp # NetBill Product Server [Marvin_Sirbu] [Marvin_Sirbu] +netbill-prod 1616/udp # NetBill Product Server [Marvin_Sirbu] [Marvin_Sirbu] +nimrod-agent 1617/tcp # Nimrod Inter-Agent [Charles_Lynn] [Charles_Lynn] +# Communication +nimrod-agent 1617/udp # Nimrod Inter-Agent [Charles_Lynn] [Charles_Lynn] +skytelnet 1618/tcp # skytelnet [Byron_Jones] [Byron_Jones] +skytelnet 1618/udp # skytelnet [Byron_Jones] [Byron_Jones] +xs-openstorage 1619/tcp # xs-openstorage [XuiS_Software_Ltd] [XuiS_Software_Ltd] +xs-openstorage 1619/udp # xs-openstorage [XuiS_Software_Ltd] [XuiS_Software_Ltd] +faxportwinport 1620/tcp # faxportwinport [Chris_Wells] [Chris_Wells] +faxportwinport 1620/udp # faxportwinport [Chris_Wells] [Chris_Wells] +softdataphone 1621/tcp # softdataphone [Dror_Gill] [Dror_Gill] +softdataphone 1621/udp # softdataphone [Dror_Gill] [Dror_Gill] +ontime 1622/tcp # ontime [Keith_Rhodes] [Keith_Rhodes] +ontime 1622/udp # ontime [Keith_Rhodes] [Keith_Rhodes] +jaleosnd 1623/tcp # jaleosnd [Christian_Schormann] [Christian_Schormann] +jaleosnd 1623/udp # jaleosnd [Christian_Schormann] [Christian_Schormann] +udp-sr-port 1624/tcp # udp-sr-port [Herb_Jensen] [Herb_Jensen] +udp-sr-port 1624/udp # udp-sr-port [Herb_Jensen] [Herb_Jensen] +svs-omagent 1625/tcp # svs-omagent [Alberto_Berlen] [Alberto_Berlen] +svs-omagent 1625/udp # svs-omagent [Alberto_Berlen] [Alberto_Berlen] +shockwave 1626/tcp # Shockwave [Sarah_Allen] [Sarah_Allen] +shockwave 1626/udp # Shockwave [Sarah_Allen] [Sarah_Allen] +t128-gateway 1627/tcp # T.128 Gateway [Phil_May] [Phil_May] +t128-gateway 1627/udp # T.128 Gateway [Phil_May] [Phil_May] +lontalk-norm 1628/tcp # LonTalk normal +lontalk-norm 1628/udp # LonTalk normal +lontalk-urgnt 1629/tcp # LonTalk urgent [Bob_Dolin] [Bob_Dolin] 2008-04-10 +lontalk-urgnt 1629/udp # LonTalk urgent [Bob_Dolin] [Bob_Dolin] 2008-04-10 +oraclenet8cman 1630/tcp # Oracle Net8 Cman [Tong_Ming_Lee] [Tong_Ming_Lee] +oraclenet8cman 1630/udp # Oracle Net8 Cman [Tong_Ming_Lee] [Tong_Ming_Lee] +visitview 1631/tcp # Visit view [Tom_Whittaker] [Tom_Whittaker] +visitview 1631/udp # Visit view [Tom_Whittaker] [Tom_Whittaker] +pammratc 1632/tcp # PAMMRATC +pammratc 1632/udp # PAMMRATC +pammrpc 1633/tcp # PAMMRPC [John_Britton] [John_Britton] +pammrpc 1633/udp # PAMMRPC [John_Britton] [John_Britton] +loaprobe 1634/tcp # Log On America Probe [James_Tavares] [James_Tavares] +loaprobe 1634/udp # Log On America Probe [James_Tavares] [James_Tavares] +edb-server1 1635/tcp # EDB Server 1 [Carlos_Portela] [Carlos_Portela] +edb-server1 1635/udp # EDB Server 1 [Carlos_Portela] [Carlos_Portela] +isdc 1636/tcp # ISP shared public data +# control +isdc 1636/udp # ISP shared public data +islc 1637/tcp # ISP shared local data +islc 1637/udp # ISP shared local data +ismc 1638/tcp # ISP shared management [Nick_Austin] [Nick_Austin] +ismc 1638/udp # ISP shared management [Nick_Austin] [Nick_Austin] +cert-initiator 1639/tcp # cert-initiator +cert-initiator 1639/udp # cert-initiator +cert-responder 1640/tcp # cert-responder [Tom_Markson] [Tom_Markson] +cert-responder 1640/udp # cert-responder [Tom_Markson] [Tom_Markson] +invision 1641/tcp # InVision [Christopher_Davey] [Christopher_Davey] +invision 1641/udp # InVision [Christopher_Davey] [Christopher_Davey] +isis-am 1642/tcp # isis-am +isis-am 1642/udp # isis-am +isis-ambc 1643/tcp # isis-ambc [Ken_Chapman] [Ken_Chapman] +isis-ambc 1643/udp # isis-ambc [Ken_Chapman] [Ken_Chapman] +saiseh 1644/tcp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +# System 4 +saiseh 1644/udp # Satellite-data Acquisition [Bill_Taylor] [Bill_Taylor] +sightline 1645/tcp # SightLine [admin] [admin] +sightline 1645/udp # SightLine [admin] [admin] +sa-msg-port 1646/tcp # sa-msg-port [Eric_Whitehill] [Eric_Whitehill] +sa-msg-port 1646/udp # sa-msg-port [Eric_Whitehill] [Eric_Whitehill] +rsap 1647/tcp # rsap [Holger_Reif] [Holger_Reif] +rsap 1647/udp # rsap [Holger_Reif] [Holger_Reif] +concurrent-lm 1648/tcp # concurrent-lm [Maggie_Brinsford] [Maggie_Brinsford] +concurrent-lm 1648/udp # concurrent-lm [Maggie_Brinsford] [Maggie_Brinsford] +kermit 1649/tcp # kermit [Frank_da_Cruz] [Frank_da_Cruz] +kermit 1649/udp # kermit [Frank_da_Cruz] [Frank_da_Cruz] +nkd 1650/tcp # nkdn +nkd 1650/udp # nkd +# shiva_confsrvr +# +shiva-confsrvr 1651/tcp # IANA assigned this [Mike_Horowitz] [Mike_Horowitz] +# "shiva_confsrvr". +# This entry is an alias to "shiva-confsrvr". This entry is now +shiva_confsrvr 1651/tcp # shiva_confsrvr [Mike_Horowitz] [Mike_Horowitz] historic, not usable for use with many common service +# +shiva-confsrvr 1651/udp # IANA assigned this [Mike_Horowitz] [Mike_Horowitz] +shiva_confsrvr 1651/udp # shiva_confsrvr [Mike_Horowitz] [Mike_Horowitz] historic, not usable for use with many common service +xnmp 1652/tcp # xnmp [Ali_Saleh] [Ali_Saleh] +xnmp 1652/udp # xnmp [Ali_Saleh] [Ali_Saleh] +alphatech-lm 1653/tcp # alphatech-lm [Joseph_Hauk] [Joseph_Hauk] +alphatech-lm 1653/udp # alphatech-lm [Joseph_Hauk] [Joseph_Hauk] +stargatealerts 1654/tcp # stargatealerts [Tim_Coppernoll] [Tim_Coppernoll] +stargatealerts 1654/udp # stargatealerts [Tim_Coppernoll] [Tim_Coppernoll] +dec-mbadmin 1655/tcp # dec-mbadmin +dec-mbadmin 1655/udp # dec-mbadmin +dec-mbadmin-h 1656/tcp # dec-mbadmin-h [Nick_Shipman] [Nick_Shipman] +dec-mbadmin-h 1656/udp # dec-mbadmin-h [Nick_Shipman] [Nick_Shipman] +fujitsu-mmpdc 1657/tcp # fujitsu-mmpdc [Katsumi_Oomuro] [Katsumi_Oomuro] +fujitsu-mmpdc 1657/udp # fujitsu-mmpdc [Katsumi_Oomuro] [Katsumi_Oomuro] +sixnetudr 1658/tcp # sixnetudr [Bob_Rennie] [Bob_Rennie] +sixnetudr 1658/udp # sixnetudr [Bob_Rennie] [Bob_Rennie] +sg-lm 1659/tcp # Silicon Grail License [William_R_Bishop] [William_R_Bishop] +sg-lm 1659/udp # Silicon Grail License [William_R_Bishop] [William_R_Bishop] +skip-mc-gikreq 1660/tcp # skip-mc-gikreq [Tom_Markson] [Tom_Markson] +skip-mc-gikreq 1660/udp # skip-mc-gikreq [Tom_Markson] [Tom_Markson] +netview-aix-1 1661/tcp # netview-aix-1 +netview-aix-1 1661/udp # netview-aix-1 +netview-aix-2 1662/tcp # netview-aix-2 +netview-aix-2 1662/udp # netview-aix-2 +netview-aix-3 1663/tcp # netview-aix-3 +netview-aix-3 1663/udp # netview-aix-3 +netview-aix-4 1664/tcp # netview-aix-4 +netview-aix-4 1664/udp # netview-aix-4 +netview-aix-5 1665/tcp # netview-aix-5 +netview-aix-5 1665/udp # netview-aix-5 +netview-aix-6 1666/tcp # netview-aix-6 +netview-aix-6 1666/udp # netview-aix-6 +netview-aix-7 1667/tcp # netview-aix-7 +netview-aix-7 1667/udp # netview-aix-7 +netview-aix-8 1668/tcp # netview-aix-8 +netview-aix-8 1668/udp # netview-aix-8 +netview-aix-9 1669/tcp # netview-aix-9 +netview-aix-9 1669/udp # netview-aix-9 +netview-aix-10 1670/tcp # netview-aix-10 +netview-aix-10 1670/udp # netview-aix-10 +netview-aix-11 1671/tcp # netview-aix-11 +netview-aix-11 1671/udp # netview-aix-11 +netview-aix-12 1672/tcp # netview-aix-12 [Martha_Crisson] [Martha_Crisson] +netview-aix-12 1672/udp # netview-aix-12 [Martha_Crisson] [Martha_Crisson] +proshare-mc-1 1673/tcp # Intel Proshare Multicast +proshare-mc-1 1673/udp # Intel Proshare Multicast +proshare-mc-2 1674/tcp # Intel Proshare Multicast [Mark_Lewis] [Mark_Lewis] +proshare-mc-2 1674/udp # Intel Proshare Multicast [Mark_Lewis] [Mark_Lewis] +pdp 1675/tcp # Pacific Data Products [Gary_Morton] [Gary_Morton] +pdp 1675/udp # Pacific Data Products [Gary_Morton] [Gary_Morton] +netcomm1 1676/tcp # netcomm1 +netcomm2 1676/udp # netcomm2 [Bulent_Kasman] [Bulent_Kasman] +groupwise 1677/tcp # groupwise [Brent_Bradshaw] [Brent_Bradshaw] +groupwise 1677/udp # groupwise [Brent_Bradshaw] [Brent_Bradshaw] +prolink 1678/tcp # prolink [Brian_Abramson] [Brian_Abramson] +prolink 1678/udp # prolink [Brian_Abramson] [Brian_Abramson] +darcorp-lm 1679/tcp # darcorp-lm [DARcorp] [DARcorp] +darcorp-lm 1679/udp # darcorp-lm [DARcorp] [DARcorp] +microcom-sbp 1680/tcp # microcom-sbp [Boris_B_Maiden] [Boris_B_Maiden] +microcom-sbp 1680/udp # microcom-sbp [Boris_B_Maiden] [Boris_B_Maiden] +sd-elmd 1681/tcp # sd-elmd [Bryan_Otey] [Bryan_Otey] +sd-elmd 1681/udp # sd-elmd [Bryan_Otey] [Bryan_Otey] +lanyon-lantern 1682/tcp # lanyon-lantern [Robin_Lewis] [Robin_Lewis] +lanyon-lantern 1682/udp # lanyon-lantern [Robin_Lewis] [Robin_Lewis] +ncpm-hip 1683/tcp # ncpm-hip [Ken_Hearn] [Ken_Hearn] +ncpm-hip 1683/udp # ncpm-hip [Ken_Hearn] [Ken_Hearn] +snaresecure 1684/tcp # SnareSecure [Marty_Batchelder] [Marty_Batchelder] +snaresecure 1684/udp # SnareSecure [Marty_Batchelder] [Marty_Batchelder] +n2nremote 1685/tcp # n2nremote [Kin_Chan_2] [Kin_Chan_2] +n2nremote 1685/udp # n2nremote [Kin_Chan_2] [Kin_Chan_2] +cvmon 1686/tcp # cvmon [Carol_Ann_Krug] [Carol_Ann_Krug] +cvmon 1686/udp # cvmon [Carol_Ann_Krug] [Carol_Ann_Krug] +nsjtp-ctrl 1687/tcp # nsjtp-ctrl +nsjtp-ctrl 1687/udp # nsjtp-ctrl +nsjtp-data 1688/tcp # nsjtp-data [Orazio_Granato] [Orazio_Granato] +nsjtp-data 1688/udp # nsjtp-data [Orazio_Granato] [Orazio_Granato] +firefox 1689/tcp # firefox [Mark_S_Edwards] [Mark_S_Edwards] +firefox 1689/udp # firefox [Mark_S_Edwards] [Mark_S_Edwards] +ng-umds 1690/tcp # ng-umds [Louis_E_Simard] [Louis_E_Simard] +ng-umds 1690/udp # ng-umds [Louis_E_Simard] [Louis_E_Simard] +empire-empuma 1691/tcp # empire-empuma [Bobby_Krupczak] [Bobby_Krupczak] +empire-empuma 1691/udp # empire-empuma [Bobby_Krupczak] [Bobby_Krupczak] +sstsys-lm 1692/tcp # sstsys-lm [Yih_Wu_Wang] [Yih_Wu_Wang] +sstsys-lm 1692/udp # sstsys-lm [Yih_Wu_Wang] [Yih_Wu_Wang] +rrirtr 1693/tcp # rrirtr +rrirtr 1693/udp # rrirtr +rrimwm 1694/tcp # rrimwm +rrimwm 1694/udp # rrimwm +rrilwm 1695/tcp # rrilwm +rrilwm 1695/udp # rrilwm +rrifmm 1696/tcp # rrifmm +rrifmm 1696/udp # rrifmm +rrisat 1697/tcp # rrisat [Allen_Briggs] [Allen_Briggs] +rrisat 1697/udp # rrisat [Allen_Briggs] [Allen_Briggs] +rsvp-encap-1 1698/tcp # RSVP-ENCAPSULATION-1 +rsvp-encap-1 1698/udp # RSVP-ENCAPSULATION-1 +rsvp-encap-2 1699/tcp # RSVP-ENCAPSULATION-2 [Bob_Braden_2] [Bob_Braden_2] +rsvp-encap-2 1699/udp # RSVP-ENCAPSULATION-2 [Bob_Braden_2] [Bob_Braden_2] +mps-raft 1700/tcp # mps-raft [Jason_Leupen] [Jason_Leupen] +mps-raft 1700/udp # mps-raft [Jason_Leupen] [Jason_Leupen] +l2f 1701/tcp # l2f +l2f 1701/udp # l2f +l2tp 1701/tcp # l2tp [Andy_Valencia] [Andy_Valencia] +l2tp 1701/udp # l2tp [Andy_Valencia] [Andy_Valencia] +deskshare 1702/tcp # deskshare [Sarah_Thompson] [Sarah_Thompson] +deskshare 1702/udp # deskshare [Sarah_Thompson] [Sarah_Thompson] +hb-engine 1703/tcp # hb-engine [Charles_C_L_Chou] [Charles_C_L_Chou] +hb-engine 1703/udp # hb-engine [Charles_C_L_Chou] [Charles_C_L_Chou] +bcs-broker 1704/tcp # bcs-broker [Andy_Warner] [Andy_Warner] +bcs-broker 1704/udp # bcs-broker [Andy_Warner] [Andy_Warner] +slingshot 1705/tcp # slingshot [Paul_Groarke] [Paul_Groarke] +slingshot 1705/udp # slingshot [Paul_Groarke] [Paul_Groarke] +jetform 1706/tcp # jetform [gdeinsta] [gdeinsta] +jetform 1706/udp # jetform [gdeinsta] [gdeinsta] +vdmplay 1707/tcp # vdmplay [David_Thielen] [David_Thielen] +vdmplay 1707/udp # vdmplay [David_Thielen] [David_Thielen] +gat-lmd 1708/tcp # gat-lmd [Igor_Zaoutine] [Igor_Zaoutine] +gat-lmd 1708/udp # gat-lmd [Igor_Zaoutine] [Igor_Zaoutine] +centra 1709/tcp # centra [Drew_Wolff] [Drew_Wolff] +centra 1709/udp # centra [Drew_Wolff] [Drew_Wolff] +impera 1710/tcp # impera [Stepehen_Campbell] [Stepehen_Campbell] +impera 1710/udp # impera [Stepehen_Campbell] [Stepehen_Campbell] +pptconference 1711/tcp # pptconference [John_Tafoya] [John_Tafoya] +pptconference 1711/udp # pptconference [John_Tafoya] [John_Tafoya] +registrar 1712/tcp # resource monitoring service [Ron_Lawson] [Ron_Lawson] +registrar 1712/udp # resource monitoring service [Ron_Lawson] [Ron_Lawson] +conferencetalk 1713/tcp # ConferenceTalk [George_Kajos] [George_Kajos] +conferencetalk 1713/udp # ConferenceTalk [George_Kajos] [George_Kajos] +sesi-lm 1714/tcp # sesi-lm +sesi-lm 1714/udp # sesi-lm +houdini-lm 1715/tcp # houdini-lm [Paul_Breslin] [Paul_Breslin] +houdini-lm 1715/udp # houdini-lm [Paul_Breslin] [Paul_Breslin] +xmsg 1716/tcp # xmsg [Mark_E_Fogle] [Mark_E_Fogle] +xmsg 1716/udp # xmsg [Mark_E_Fogle] [Mark_E_Fogle] +fj-hdnet 1717/tcp # fj-hdnet [Manabu_Makino] [Manabu_Makino] +fj-hdnet 1717/udp # fj-hdnet [Manabu_Makino] [Manabu_Makino] +h323gatedisc 1718/tcp # H.323 Multicast Gatekeeper [ITU-T] [ITU-T_TSB] 2013-01-31 +# Discover +h323gatedisc 1718/udp # H.323 Multicast Gatekeeper [ITU-T] [ITU-T_TSB] 2013-01-31 +h323gatestat 1719/tcp # H.323 Unicast Gatekeeper [ITU-T] [ITU-T_TSB] 2013-01-31 +# Signaling +h323gatestat 1719/udp # H.323 Unicast Gatekeeper [ITU-T] [ITU-T_TSB] 2013-01-31 +h323hostcall 1720/tcp # H.323 Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +h323hostcall 1720/udp # H.323 Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +caicci 1721/tcp # caicci [Sylvia_Scheuren] [Sylvia_Scheuren] +caicci 1721/udp # caicci [Sylvia_Scheuren] [Sylvia_Scheuren] +hks-lm 1722/tcp # HKS License Manager [Michael_Wood] [Michael_Wood] +hks-lm 1722/udp # HKS License Manager [Michael_Wood] [Michael_Wood] +pptp 1723/tcp # pptp [Ken_Crocker] [Ken_Crocker] +pptp 1723/udp # pptp [Ken_Crocker] [Ken_Crocker] +csbphonemaster 1724/tcp # csbphonemaster [Hans_Peter_Heffels] [Hans_Peter_Heffels] +csbphonemaster 1724/udp # csbphonemaster [Hans_Peter_Heffels] [Hans_Peter_Heffels] +iden-ralp 1725/tcp # iden-ralp [Chris_Stanaway] [Chris_Stanaway] +iden-ralp 1725/udp # iden-ralp [Chris_Stanaway] [Chris_Stanaway] +iberiagames 1726/tcp # IBERIAGAMES [Jose_Luis] [Jose_Luis] +iberiagames 1726/udp # IBERIAGAMES [Jose_Luis] [Jose_Luis] +winddx 1727/tcp # winddx [Bill_Andrews] [Bill_Andrews] +winddx 1727/udp # winddx [Bill_Andrews] [Bill_Andrews] +telindus 1728/tcp # TELINDUS [Paul_Pyck] [Paul_Pyck] +telindus 1728/udp # TELINDUS [Paul_Pyck] [Paul_Pyck] +citynl 1729/tcp # CityNL License Management [CityDisc] [CityDisc] +citynl 1729/udp # CityNL License Management [CityDisc] [CityDisc] +roketz 1730/tcp # roketz [Ahti_Heinla] [Ahti_Heinla] +roketz 1730/udp # roketz [Ahti_Heinla] [Ahti_Heinla] +msiccp 1731/tcp # MSICCP [Max_Morris] [Max_Morris] +msiccp 1731/udp # MSICCP [Max_Morris] [Max_Morris] +proxim 1732/tcp # proxim [Srinivas_N_Mogalapa] [Srinivas_N_Mogalapa] +proxim 1732/udp # proxim [Srinivas_N_Mogalapa] [Srinivas_N_Mogalapa] +siipat 1733/tcp # SIMS - SIIPAT Protocol for [Steve_Ryckman] [Steve_Ryckman] +# Alarm Transmission +siipat 1733/udp # SIMS - SIIPAT Protocol for [Steve_Ryckman] [Steve_Ryckman] +cambertx-lm 1734/tcp # Camber Corporation License [Jeannie_Burleson] [Jeannie_Burleson] +cambertx-lm 1734/udp # Camber Corporation License [Jeannie_Burleson] [Jeannie_Burleson] +privatechat 1735/tcp # PrivateChat [Louis_E_Simard] [Louis_E_Simard] +privatechat 1735/udp # PrivateChat [Louis_E_Simard] [Louis_E_Simard] +street-stream 1736/tcp # street-stream [Glenn_Levitt] [Glenn_Levitt] +street-stream 1736/udp # street-stream [Glenn_Levitt] [Glenn_Levitt] +ultimad 1737/tcp # ultimad [Michael_Lanzetta] [Michael_Lanzetta] +ultimad 1737/udp # ultimad [Michael_Lanzetta] [Michael_Lanzetta] +gamegen1 1738/tcp # GameGen1 [Glen_Pearson] [Glen_Pearson] +gamegen1 1738/udp # GameGen1 [Glen_Pearson] [Glen_Pearson] +webaccess 1739/tcp # webaccess [Christian_Saether] [Christian_Saether] +webaccess 1739/udp # webaccess [Christian_Saether] [Christian_Saether] +encore 1740/tcp # encore [Stuart_Button] [Stuart_Button] +encore 1740/udp # encore [Stuart_Button] [Stuart_Button] +cisco-net-mgmt 1741/tcp # cisco-net-mgmt [John_McCormack] [John_McCormack] +cisco-net-mgmt 1741/udp # cisco-net-mgmt [John_McCormack] [John_McCormack] +3Com-nsd 1742/tcp # 3Com-nsd [Nitza_Steinberg] [Nitza_Steinberg] +3Com-nsd 1742/udp # 3Com-nsd [Nitza_Steinberg] [Nitza_Steinberg] +cinegrfx-lm 1743/tcp # Cinema Graphics License [Rodney_Iwashina] [Rodney_Iwashina] +cinegrfx-lm 1743/udp # Cinema Graphics License [Rodney_Iwashina] [Rodney_Iwashina] +ncpm-ft 1744/tcp # ncpm-ft [Ken_Hearn] [Ken_Hearn] +ncpm-ft 1744/udp # ncpm-ft [Ken_Hearn] [Ken_Hearn] +remote-winsock 1745/tcp # remote-winsock [Avi_Nathan] [Avi_Nathan] +remote-winsock 1745/udp # remote-winsock [Avi_Nathan] [Avi_Nathan] +ftrapid-1 1746/tcp # ftrapid-1 +ftrapid-1 1746/udp # ftrapid-1 +ftrapid-2 1747/tcp # ftrapid-2 [Richard_J_Williams] [Richard_J_Williams] +ftrapid-2 1747/udp # ftrapid-2 [Richard_J_Williams] [Richard_J_Williams] +oracle-em1 1748/tcp # oracle-em1 [Bob_Purvy] [Bob_Purvy] +oracle-em1 1748/udp # oracle-em1 [Bob_Purvy] [Bob_Purvy] +aspen-services 1749/tcp # aspen-services [Mark_B_Hurst] [Mark_B_Hurst] +aspen-services 1749/udp # aspen-services [Mark_B_Hurst] [Mark_B_Hurst] +sslp 1750/tcp # Simple Socket Library's [Dr_Charles_E_Campb] [Dr_Charles_E_Campb] +# PortMaster +sslp 1750/udp # Simple Socket Library's [Dr_Charles_E_Campb] [Dr_Charles_E_Campb] +swiftnet 1751/tcp # SwiftNet [Terry_Lim] [Terry_Lim] +swiftnet 1751/udp # SwiftNet [Terry_Lim] [Terry_Lim] +lofr-lm 1752/tcp # Leap of Faith Research +lofr-lm 1752/udp # Leap of Faith Research +predatar-comms 1753/tcp # Predatar Comms Service [Silverstring_Ltd] [Ronnie_De_Giorgio] 2011-09-15 +# 1753 udp Reserved +oracle-em2 1754/tcp # oracle-em2 [Bob_Purvy] [Bob_Purvy] +oracle-em2 1754/udp # oracle-em2 [Bob_Purvy] [Bob_Purvy] +ms-streaming 1755/tcp # ms-streaming [Bret_O_Rourke] [Bret_O_Rourke] +ms-streaming 1755/udp # ms-streaming [Bret_O_Rourke] [Bret_O_Rourke] +capfast-lmd 1756/tcp # capfast-lmd [Chuck_Neal] [Chuck_Neal] +capfast-lmd 1756/udp # capfast-lmd [Chuck_Neal] [Chuck_Neal] +cnhrp 1757/tcp # cnhrp [William_Stoye] [William_Stoye] +cnhrp 1757/udp # cnhrp [William_Stoye] [William_Stoye] +tftp-mcast 1758/tcp # tftp-mcast [Tom_Emberson] [Tom_Emberson] +tftp-mcast 1758/udp # tftp-mcast [Tom_Emberson] [Tom_Emberson] +spss-lm 1759/tcp # SPSS License Manager [Tex_Hull] [Tex_Hull] +spss-lm 1759/udp # SPSS License Manager [Tex_Hull] [Tex_Hull] +www-ldap-gw 1760/tcp # www-ldap-gw [Nick_Emery] [Nick_Emery] +www-ldap-gw 1760/udp # www-ldap-gw [Nick_Emery] [Nick_Emery] +cft-0 1761/tcp # cft-0 [Martine_Marchand] [Martine_Marchand] +cft-0 1761/udp # cft-0 [Martine_Marchand] [Martine_Marchand] +cft-1 1762/tcp # cft-1 [Martine_Marchand] [Martine_Marchand] +cft-1 1762/udp # cft-1 [Martine_Marchand] [Martine_Marchand] +cft-2 1763/tcp # cft-2 [Martine_Marchand] [Martine_Marchand] +cft-2 1763/udp # cft-2 [Martine_Marchand] [Martine_Marchand] +cft-3 1764/tcp # cft-3 [Martine_Marchand] [Martine_Marchand] +cft-3 1764/udp # cft-3 [Martine_Marchand] [Martine_Marchand] +cft-4 1765/tcp # cft-4 [Martine_Marchand] [Martine_Marchand] +cft-4 1765/udp # cft-4 [Martine_Marchand] [Martine_Marchand] +cft-5 1766/tcp # cft-5 [Martine_Marchand] [Martine_Marchand] +cft-5 1766/udp # cft-5 [Martine_Marchand] [Martine_Marchand] +cft-6 1767/tcp # cft-6 [Martine_Marchand] [Martine_Marchand] +cft-6 1767/udp # cft-6 [Martine_Marchand] [Martine_Marchand] +cft-7 1768/tcp # cft-7 [Martine_Marchand] [Martine_Marchand] +cft-7 1768/udp # cft-7 [Martine_Marchand] [Martine_Marchand] +bmc-net-adm 1769/tcp # bmc-net-adm [Portnoy_Boxman] [Portnoy_Boxman] +bmc-net-adm 1769/udp # bmc-net-adm [Portnoy_Boxman] [Portnoy_Boxman] +bmc-net-svc 1770/tcp # bmc-net-svc [Portnoy_Boxman] [Portnoy_Boxman] +bmc-net-svc 1770/udp # bmc-net-svc [Portnoy_Boxman] [Portnoy_Boxman] +vaultbase 1771/tcp # vaultbase [Jose_A_Sesin] [Jose_A_Sesin] +vaultbase 1771/udp # vaultbase [Jose_A_Sesin] [Jose_A_Sesin] +essweb-gw 1772/tcp # EssWeb Gateway [Bob_Nattenberg] [Bob_Nattenberg] +essweb-gw 1772/udp # EssWeb Gateway [Bob_Nattenberg] [Bob_Nattenberg] +kmscontrol 1773/tcp # KMSControl [Roy_Chastain] [Roy_Chastain] +kmscontrol 1773/udp # KMSControl [Roy_Chastain] [Roy_Chastain] +global-dtserv 1774/tcp # global-dtserv [Nicholas_Davies] [Nicholas_Davies] +global-dtserv 1774/udp # global-dtserv [Nicholas_Davies] [Nicholas_Davies] +# 1775 Unassigned +femis 1776/tcp # Federal Emergency Management [Larry_Gerhardstein] [Larry_Gerhardstein] +# Information System +femis 1776/udp # Federal Emergency Management [Larry_Gerhardstein] [Larry_Gerhardstein] +powerguardian 1777/tcp # powerguardian [Charles_Bennett] [Charles_Bennett] 2008-08-29 +powerguardian 1777/udp # powerguardian [Charles_Bennett] [Charles_Bennett] 2008-08-29 +prodigy-intrnet 1778/tcp # prodigy-internet [Bob_Dedrick] [Bob_Dedrick] +prodigy-intrnet 1778/udp # prodigy-internet [Bob_Dedrick] [Bob_Dedrick] +pharmasoft 1779/tcp # pharmasoft [Ola_Strandberg] [Ola_Strandberg] +pharmasoft 1779/udp # pharmasoft [Ola_Strandberg] [Ola_Strandberg] +dpkeyserv 1780/tcp # dpkeyserv [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +dpkeyserv 1780/udp # dpkeyserv [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +answersoft-lm 1781/tcp # answersoft-lm [James_A_Brewster] [James_A_Brewster] +answersoft-lm 1781/udp # answersoft-lm [James_A_Brewster] [James_A_Brewster] +hp-hcip 1782/tcp # hp-hcip [Allen_Baker] [Allen_Baker] +hp-hcip 1782/udp # hp-hcip [Allen_Baker] [Allen_Baker] +# 1783 Decomissioned Port 04/14/00, [naonao] [naonao] +# ms +finle-lm 1784/tcp # Finle License Manager [Dongling_Wang] [Dongling_Wang] +finle-lm 1784/udp # Finle License Manager [Dongling_Wang] [Dongling_Wang] +windlm 1785/tcp # Wind River Systems License [Will_Dere] [Will_Dere] +windlm 1785/udp # Wind River Systems License [Will_Dere] [Will_Dere] +funk-logger 1786/tcp # funk-logger +funk-logger 1786/udp # funk-logger +funk-license 1787/tcp # funk-license [Cimarron_Boozer][Eric_Wilde] [Cimarron_Boozer][Eric_Wilde] +funk-license 1787/udp # funk-license [Cimarron_Boozer][Eric_Wilde] [Cimarron_Boozer][Eric_Wilde] +psmond 1788/tcp # psmond [Will_Golson] [Will_Golson] +psmond 1788/udp # psmond [Will_Golson] [Will_Golson] +hello 1789/tcp # hello [D_J_Bernstein_2] [D_J_Bernstein_2] +hello 1789/udp # hello [D_J_Bernstein_2] [D_J_Bernstein_2] +nmsp 1790/tcp # Narrative Media Streaming [Paul_Santinelli_Jr] [Paul_Santinelli_Jr] +nmsp 1790/udp # Narrative Media Streaming [Paul_Santinelli_Jr] [Paul_Santinelli_Jr] +ea1 1791/tcp # EA1 [Kirk_MacLean] [Kirk_MacLean] +ea1 1791/udp # EA1 [Kirk_MacLean] [Kirk_MacLean] +ibm-dt-2 1792/tcp # ibm-dt-2 [Sam_Borman] [Sam_Borman] +ibm-dt-2 1792/udp # ibm-dt-2 [Sam_Borman] [Sam_Borman] +rsc-robot 1793/tcp # rsc-robot [Andrew_Jay_Schneider] [Andrew_Jay_Schneider] +rsc-robot 1793/udp # rsc-robot [Andrew_Jay_Schneider] [Andrew_Jay_Schneider] +cera-bcm 1794/tcp # cera-bcm [Leo_Moesgaard] [Leo_Moesgaard] +cera-bcm 1794/udp # cera-bcm [Leo_Moesgaard] [Leo_Moesgaard] +dpi-proxy 1795/tcp # dpi-proxy [Charles_Gordon] [Charles_Gordon] +dpi-proxy 1795/udp # dpi-proxy [Charles_Gordon] [Charles_Gordon] +vocaltec-admin 1796/tcp # Vocaltec Server [Scott_Petrack] [Scott_Petrack] +# Administration +vocaltec-admin 1796/udp # Vocaltec Server [Scott_Petrack] [Scott_Petrack] +uma 1797/tcp # UMA [Martin_Kirk] [Martin_Kirk] +uma 1797/udp # UMA [Martin_Kirk] [Martin_Kirk] +etp 1798/tcp # Event Transfer Protocol [Mike_Wray] [Mike_Wray] +etp 1798/udp # Event Transfer Protocol [Mike_Wray] [Mike_Wray] +netrisk 1799/tcp # NETRISK [Kevin_Green] [Kevin_Green] +netrisk 1799/udp # NETRISK [Kevin_Green] [Kevin_Green] +ansys-lm 1800/tcp # ANSYS-License manager [Suzanne_Lorrin_2] [Suzanne_Lorrin_2] +ansys-lm 1800/udp # ANSYS-License manager [Suzanne_Lorrin_2] [Suzanne_Lorrin_2] +msmq 1801/tcp # Microsoft Message Que [Amnon_Horowitz] [Amnon_Horowitz] +msmq 1801/udp # Microsoft Message Que [Amnon_Horowitz] [Amnon_Horowitz] +concomp1 1802/tcp # ConComp1 [Ed_Vincent] [Ed_Vincent] +concomp1 1802/udp # ConComp1 [Ed_Vincent] [Ed_Vincent] +hp-hcip-gwy 1803/tcp # HP-HCIP-GWY [Allen_Baker] [Allen_Baker] +hp-hcip-gwy 1803/udp # HP-HCIP-GWY [Allen_Baker] [Allen_Baker] +enl 1804/tcp # ENL [Brian_Olson] [Brian_Olson] +enl 1804/udp # ENL [Brian_Olson] [Brian_Olson] +enl-name 1805/tcp # ENL-Name [Brian_Olson] [Brian_Olson] +enl-name 1805/udp # ENL-Name [Brian_Olson] [Brian_Olson] +musiconline 1806/tcp # Musiconline [Craig_Weeks] [Craig_Weeks] +musiconline 1806/udp # Musiconline [Craig_Weeks] [Craig_Weeks] +fhsp 1807/tcp # Fujitsu Hot Standby Protocol [Eiki_Iwata] [Eiki_Iwata] +fhsp 1807/udp # Fujitsu Hot Standby Protocol [Eiki_Iwata] [Eiki_Iwata] +oracle-vp2 1808/tcp # Oracle-VP2 [Craig_Fowler] [Craig_Fowler] +oracle-vp2 1808/udp # Oracle-VP2 [Craig_Fowler] [Craig_Fowler] +oracle-vp1 1809/tcp # Oracle-VP1 [Craig_Fowler] [Craig_Fowler] +oracle-vp1 1809/udp # Oracle-VP1 [Craig_Fowler] [Craig_Fowler] +jerand-lm 1810/tcp # Jerand License Manager [Robert_Monat] [Robert_Monat] +jerand-lm 1810/udp # Jerand License Manager [Robert_Monat] [Robert_Monat] +scientia-sdb 1811/tcp # Scientia-SDB [SYSTEMS_MANAGER] [SYSTEMS_MANAGER] +scientia-sdb 1811/udp # Scientia-SDB [SYSTEMS_MANAGER] [SYSTEMS_MANAGER] +radius 1812/tcp # RADIUS [RFC2865] +radius 1812/udp # RADIUS [RFC2865] +radius-acct 1813/tcp # RADIUS Accounting [RFC2866] +radius-acct 1813/udp # RADIUS Accounting [RFC2866] +tdp-suite 1814/tcp # TDP Suite [Rob_Lockhart] [Rob_Lockhart] +tdp-suite 1814/udp # TDP Suite [Rob_Lockhart] [Rob_Lockhart] +mmpft 1815/tcp # MMPFT [Ralf_Muckenhirn] [Ralf_Muckenhirn] +mmpft 1815/udp # MMPFT [Ralf_Muckenhirn] [Ralf_Muckenhirn] +harp 1816/tcp # HARP [Bjorn_Chambless] [Bjorn_Chambless] +harp 1816/udp # HARP [Bjorn_Chambless] [Bjorn_Chambless] +rkb-oscs 1817/tcp # RKB-OSCS [Robert_Kevin_Breton] [Robert_Kevin_Breton] +rkb-oscs 1817/udp # RKB-OSCS [Robert_Kevin_Breton] [Robert_Kevin_Breton] +etftp 1818/tcp # Enhanced Trivial File [William_Polites] [William_Polites] +etftp 1818/udp # Enhanced Trivial File [William_Polites] [William_Polites] +plato-lm 1819/tcp # Plato License Manager [Mark_Morris] [Mark_Morris] +plato-lm 1819/udp # Plato License Manager [Mark_Morris] [Mark_Morris] +mcagent 1820/tcp # mcagent [Ryoichi_Shinohara] [Ryoichi_Shinohara] +mcagent 1820/udp # mcagent [Ryoichi_Shinohara] [Ryoichi_Shinohara] +donnyworld 1821/tcp # donnyworld [Don_Oliver] [Don_Oliver] +donnyworld 1821/udp # donnyworld [Don_Oliver] [Don_Oliver] +es-elmd 1822/tcp # es-elmd [David_Duncan] [David_Duncan] +es-elmd 1822/udp # es-elmd [David_Duncan] [David_Duncan] +unisys-lm 1823/tcp # Unisys Natural Language [Raymond_A_Diedrichs] [Raymond_A_Diedrichs] +unisys-lm 1823/udp # Unisys Natural Language [Raymond_A_Diedrichs] [Raymond_A_Diedrichs] +metrics-pas 1824/tcp # metrics-pas [Tom_Haapanen] [Tom_Haapanen] +metrics-pas 1824/udp # metrics-pas [Tom_Haapanen] [Tom_Haapanen] +direcpc-video 1825/tcp # DirecPC Video [Chris_Kerrigan] [Chris_Kerrigan] +direcpc-video 1825/udp # DirecPC Video [Chris_Kerrigan] [Chris_Kerrigan] +ardt 1826/tcp # ARDT [Mike_Goddard] [Mike_Goddard] +ardt 1826/udp # ARDT [Mike_Goddard] [Mike_Goddard] +asi 1827/tcp # ASI [Bob_Tournoux] [Bob_Tournoux] +asi 1827/udp # ASI [Bob_Tournoux] [Bob_Tournoux] +itm-mcell-u 1828/tcp # itm-mcell-u [Portnoy_Boxman] [Portnoy_Boxman] +itm-mcell-u 1828/udp # itm-mcell-u [Portnoy_Boxman] [Portnoy_Boxman] +optika-emedia 1829/tcp # Optika eMedia [Daryle_DeBalski] [Daryle_DeBalski] +optika-emedia 1829/udp # Optika eMedia [Daryle_DeBalski] [Daryle_DeBalski] +net8-cman 1830/tcp # Oracle Net8 CMan Admin [Shuvayu_Kanjilal] [Shuvayu_Kanjilal] +net8-cman 1830/udp # Oracle Net8 CMan Admin [Shuvayu_Kanjilal] [Shuvayu_Kanjilal] +myrtle 1831/tcp # Myrtle [Ron_Achin] [Ron_Achin] +myrtle 1831/udp # Myrtle [Ron_Achin] [Ron_Achin] +tht-treasure 1832/tcp # ThoughtTreasure [Erik_Mueller] [Erik_Mueller] +tht-treasure 1832/udp # ThoughtTreasure [Erik_Mueller] [Erik_Mueller] +udpradio 1833/tcp # udpradio [Guus_Sliepen] [Guus_Sliepen] +udpradio 1833/udp # udpradio [Guus_Sliepen] [Guus_Sliepen] +ardusuni 1834/tcp # ARDUS Unicast +ardusuni 1834/udp # ARDUS Unicast +ardusmul 1835/tcp # ARDUS Multicast [Toshikatsu_Ito] [Toshikatsu_Ito] +ardusmul 1835/udp # ARDUS Multicast [Toshikatsu_Ito] [Toshikatsu_Ito] +ste-smsc 1836/tcp # ste-smsc [Tom_Snauwaert] [Tom_Snauwaert] +ste-smsc 1836/udp # ste-smsc [Tom_Snauwaert] [Tom_Snauwaert] +csoft1 1837/tcp # csoft1 [John_Coll] [John_Coll] +csoft1 1837/udp # csoft1 [John_Coll] [John_Coll] +talnet 1838/tcp # TALNET [Aaron_Lav] [Aaron_Lav] +talnet 1838/udp # TALNET [Aaron_Lav] [Aaron_Lav] +netopia-vo1 1839/tcp # netopia-vo1 +netopia-vo1 1839/udp # netopia-vo1 +netopia-vo2 1840/tcp # netopia-vo2 +netopia-vo2 1840/udp # netopia-vo2 +netopia-vo3 1841/tcp # netopia-vo3 +netopia-vo3 1841/udp # netopia-vo3 +netopia-vo4 1842/tcp # netopia-vo4 +netopia-vo4 1842/udp # netopia-vo4 +netopia-vo5 1843/tcp # netopia-vo5 [Marc_Epard] [Marc_Epard] +netopia-vo5 1843/udp # netopia-vo5 [Marc_Epard] [Marc_Epard] +direcpc-dll 1844/tcp # DirecPC-DLL [Chris_Kerrigan] [Chris_Kerrigan] +direcpc-dll 1844/udp # DirecPC-DLL [Chris_Kerrigan] [Chris_Kerrigan] +altalink 1845/tcp # altalink [Alberto_Raydan] [Alberto_Raydan] +altalink 1845/udp # altalink [Alberto_Raydan] [Alberto_Raydan] +tunstall-pnc 1846/tcp # Tunstall PNC [Robert_M_Moore] [Robert_M_Moore] +tunstall-pnc 1846/udp # Tunstall PNC [Robert_M_Moore] [Robert_M_Moore] +slp-notify 1847/tcp # SLP Notification [RFC3082] +slp-notify 1847/udp # SLP Notification [RFC3082] +fjdocdist 1848/tcp # fjdocdist [Yuichi_Ohiwa] [Yuichi_Ohiwa] +fjdocdist 1848/udp # fjdocdist [Yuichi_Ohiwa] [Yuichi_Ohiwa] +alpha-sms 1849/tcp # ALPHA-SMS [Benjamin_Grimm] [Benjamin_Grimm] +alpha-sms 1849/udp # ALPHA-SMS [Benjamin_Grimm] [Benjamin_Grimm] +gsi 1850/tcp # GSI [William_Mullaney] [William_Mullaney] +gsi 1850/udp # GSI [William_Mullaney] [William_Mullaney] +ctcd 1851/tcp # ctcd [John_Ryan] [John_Ryan] +ctcd 1851/udp # ctcd [John_Ryan] [John_Ryan] +virtual-time 1852/tcp # Virtual Time [Angie_S_Morner] [Angie_S_Morner] +virtual-time 1852/udp # Virtual Time [Angie_S_Morner] [Angie_S_Morner] +vids-avtp 1853/tcp # VIDS-AVTP [Sascha_Kuemmel] [Sascha_Kuemmel] +vids-avtp 1853/udp # VIDS-AVTP [Sascha_Kuemmel] [Sascha_Kuemmel] +buddy-draw 1854/tcp # Buddy Draw [Marvin_Shin] [Marvin_Shin] +buddy-draw 1854/udp # Buddy Draw [Marvin_Shin] [Marvin_Shin] +fiorano-rtrsvc 1855/tcp # Fiorano RtrSvc +fiorano-rtrsvc 1855/udp # Fiorano RtrSvc +fiorano-msgsvc 1856/tcp # Fiorano MsgSvc [Albert_Holt_2] [Albert_Holt_2] +fiorano-msgsvc 1856/udp # Fiorano MsgSvc [Albert_Holt_2] [Albert_Holt_2] +datacaptor 1857/tcp # DataCaptor [Steven_M_Forrester] [Steven_M_Forrester] +datacaptor 1857/udp # DataCaptor [Steven_M_Forrester] [Steven_M_Forrester] +privateark 1858/tcp # PrivateArk [Ronen_Zoran] [Ronen_Zoran] +privateark 1858/udp # PrivateArk [Ronen_Zoran] [Ronen_Zoran] +gammafetchsvr 1859/tcp # Gamma Fetcher Server [Cnaan_Aviv] [Cnaan_Aviv] +gammafetchsvr 1859/udp # Gamma Fetcher Server [Cnaan_Aviv] [Cnaan_Aviv] +sunscalar-svc 1860/tcp # SunSCALAR Services [Sanjay_Radia] [Sanjay_Radia] +sunscalar-svc 1860/udp # SunSCALAR Services [Sanjay_Radia] [Sanjay_Radia] +lecroy-vicp 1861/tcp # LeCroy VICP [Anthony_Cake] [Anthony_Cake] +lecroy-vicp 1861/udp # LeCroy VICP [Anthony_Cake] [Anthony_Cake] +mysql-cm-agent 1862/tcp # MySQL Cluster Manager Agent [Andrew_Morgan] [Andrew_Morgan] 2009-12-08 +mysql-cm-agent 1862/udp # MySQL Cluster Manager Agent [Andrew_Morgan] [Andrew_Morgan] 2009-12-08 +msnp 1863/tcp # MSNP [William_Lai] [William_Lai] +msnp 1863/udp # MSNP [William_Lai] [William_Lai] +paradym-31port 1864/tcp # Paradym 31 Port [David_Wooden] [David_Wooden] +paradym-31port 1864/udp # Paradym 31 Port [David_Wooden] [David_Wooden] +entp 1865/tcp # ENTP [Seiko_Epson] [Seiko_Epson] +entp 1865/udp # ENTP [Seiko_Epson] [Seiko_Epson] +swrmi 1866/tcp # swrmi [Jun_Yoshii] [Jun_Yoshii] +swrmi 1866/udp # swrmi [Jun_Yoshii] [Jun_Yoshii] +udrive 1867/tcp # UDRIVE [Robby_Walker] [Robby_Walker] +udrive 1867/udp # UDRIVE [Robby_Walker] [Robby_Walker] +viziblebrowser 1868/tcp # VizibleBrowser [Jimmy_Talbot] [Jimmy_Talbot] +viziblebrowser 1868/udp # VizibleBrowser [Jimmy_Talbot] [Jimmy_Talbot] +transact 1869/tcp # TransAct [TransAct_Futures_Dev] [TransAct_Futures_Dev] +transact 1869/udp # TransAct [TransAct_Futures_Dev] [TransAct_Futures_Dev] +sunscalar-dns 1870/tcp # SunSCALAR DNS Service [Sanjay_Radia] [Sanjay_Radia] +sunscalar-dns 1870/udp # SunSCALAR DNS Service [Sanjay_Radia] [Sanjay_Radia] +canocentral0 1871/tcp # Cano Central 0 +canocentral0 1871/udp # Cano Central 0 +canocentral1 1872/tcp # Cano Central 1 [Mark_McNamara] [Mark_McNamara] +canocentral1 1872/udp # Cano Central 1 [Mark_McNamara] [Mark_McNamara] +fjmpjps 1873/tcp # Fjmpjps +fjmpjps 1873/udp # Fjmpjps +fjswapsnp 1874/tcp # Fjswapsnp [Y_Ohiwa] [Y_Ohiwa] +fjswapsnp 1874/udp # Fjswapsnp [Y_Ohiwa] [Y_Ohiwa] +westell-stats 1875/tcp # westell stats [Thomas_McCabe] [Thomas_McCabe] +westell-stats 1875/udp # westell stats [Thomas_McCabe] [Thomas_McCabe] +ewcappsrv 1876/tcp # ewcappsrv [Howard_Yin] [Howard_Yin] +ewcappsrv 1876/udp # ewcappsrv [Howard_Yin] [Howard_Yin] +hp-webqosdb 1877/tcp # hp-webqosdb [Kim_Scott] [Kim_Scott] +hp-webqosdb 1877/udp # hp-webqosdb [Kim_Scott] [Kim_Scott] +drmsmc 1878/tcp # drmsmc [Katsuhiko_Abe] [Katsuhiko_Abe] +drmsmc 1878/udp # drmsmc [Katsuhiko_Abe] [Katsuhiko_Abe] +nettgain-nms 1879/tcp # NettGain NMS [Dr_Yair_Shapira] [Dr_Yair_Shapira] +nettgain-nms 1879/udp # NettGain NMS [Dr_Yair_Shapira] [Dr_Yair_Shapira] +vsat-control 1880/tcp # Gilat VSAT Control [Yariv_Kaplan] [Yariv_Kaplan] +vsat-control 1880/udp # Gilat VSAT Control [Yariv_Kaplan] [Yariv_Kaplan] +ibm-mqseries2 1881/tcp # IBM WebSphere MQ Everyplace [Jane_Porter] [Jane_Porter] +ibm-mqseries2 1881/udp # IBM WebSphere MQ Everyplace [Jane_Porter] [Jane_Porter] +ecsqdmn 1882/tcp # CA eTrust Common Services [Paul_Wissmiller] [Paul_Wissmiller] +ecsqdmn 1882/udp # CA eTrust Common Services [Paul_Wissmiller] [Paul_Wissmiller] +ibm-mqisdp 1883/tcp # IBM MQSeries SCADA [Andy_Stanford_Clark] [Andy_Stanford_Clark] +ibm-mqisdp 1883/udp # IBM MQSeries SCADA [Andy_Stanford_Clark] [Andy_Stanford_Clark] +idmaps 1884/tcp # Internet Distance Map Svc [Sugih_Jamim] [Sugih_Jamim] +idmaps 1884/udp # Internet Distance Map Svc [Sugih_Jamim] [Sugih_Jamim] +vrtstrapserver 1885/tcp # Veritas Trap Server [Russell_Thrasher] [Russell_Thrasher] +vrtstrapserver 1885/udp # Veritas Trap Server [Russell_Thrasher] [Russell_Thrasher] +leoip 1886/tcp # Leonardo over IP [Dietmar_Finkler] [Dietmar_Finkler] +leoip 1886/udp # Leonardo over IP [Dietmar_Finkler] [Dietmar_Finkler] +filex-lport 1887/tcp # FileX Listening Port [Megan_Woods] [Megan_Woods] +filex-lport 1887/udp # FileX Listening Port [Megan_Woods] [Megan_Woods] +ncconfig 1888/tcp # NC Config Port [Simon_Parker] [Simon_Parker] +ncconfig 1888/udp # NC Config Port [Simon_Parker] [Simon_Parker] +unify-adapter 1889/tcp # Unify Web Adapter Service [Daegis_Inc] [Chris_Anderson] 2012-07-31 +unify-adapter 1889/udp # Unify Web Adapter Service [Daegis_Inc] [Chris_Anderson] 2012-07-31 +wilkenlistener 1890/tcp # wilkenListener [Wilken_GmbH] [Wilken_GmbH] +wilkenlistener 1890/udp # wilkenListener [Wilken_GmbH] [Wilken_GmbH] +childkey-notif 1891/tcp # ChildKey Notification +childkey-notif 1891/udp # ChildKey Notification +childkey-ctrl 1892/tcp # ChildKey Control [Ivan_Berardinelli] [Ivan_Berardinelli] +childkey-ctrl 1892/udp # ChildKey Control [Ivan_Berardinelli] [Ivan_Berardinelli] +elad 1893/tcp # ELAD Protocol [Franco_Milan] [Franco_Milan] +elad 1893/udp # ELAD Protocol [Franco_Milan] [Franco_Milan] +o2server-port 1894/tcp # O2Server Port [Tim_Howard] [Tim_Howard] +o2server-port 1894/udp # O2Server Port [Tim_Howard] [Tim_Howard] +# 1895 tcp unassigned Microsoft (unoffically) using 1895 +# 1895 udp unassigned Microsoft (unoffically) using 1895 +b-novative-ls 1896/tcp # b-novative license server [Matthias_Riese] [Matthias_Riese] +b-novative-ls 1896/udp # b-novative license server [Matthias_Riese] [Matthias_Riese] +metaagent 1897/tcp # MetaAgent [Marie_France_Dubreui] [Marie_France_Dubreui] +metaagent 1897/udp # MetaAgent [Marie_France_Dubreui] [Marie_France_Dubreui] +cymtec-port 1898/tcp # Cymtec secure management [Michael_Mester] [Michael_Mester] +cymtec-port 1898/udp # Cymtec secure management [Michael_Mester] [Michael_Mester] +mc2studios 1899/tcp # MC2Studios [Michael_Coon] [Michael_Coon] +mc2studios 1899/udp # MC2Studios [Michael_Coon] [Michael_Coon] +ssdp 1900/tcp # SSDP [UPnP_Forum] [UPnP_Forum] +ssdp 1900/udp # SSDP [UPnP_Forum] [UPnP_Forum] +fjicl-tep-a 1901/tcp # Fujitsu ICL Terminal [Bob_Lyon] [Bob_Lyon] +# Emulator Program A +fjicl-tep-a 1901/udp # Fujitsu ICL Terminal [Bob_Lyon] [Bob_Lyon] +fjicl-tep-b 1902/tcp # Fujitsu ICL Terminal [Bob_Lyon] [Bob_Lyon] +# Emulator Program B +fjicl-tep-b 1902/udp # Fujitsu ICL Terminal [Bob_Lyon] [Bob_Lyon] +linkname 1903/tcp # Local Link Name Resolution [Dan_Harrington] [Dan_Harrington] +linkname 1903/udp # Local Link Name Resolution [Dan_Harrington] [Dan_Harrington] +fjicl-tep-c 1904/tcp # Fujitsu ICL Terminal [Bob_Lyon] [Bob_Lyon] +# Emulator Program C +fjicl-tep-c 1904/udp # Fujitsu ICL Terminal [Bob_Lyon] [Bob_Lyon] +sugp 1905/tcp # Secure UP.Link Gateway [Peter_King] [Peter_King] +sugp 1905/udp # Secure UP.Link Gateway [Peter_King] [Peter_King] +tpmd 1906/tcp # TPortMapperReq [Sheila_Devins] [Sheila_Devins] +tpmd 1906/udp # TPortMapperReq [Sheila_Devins] [Sheila_Devins] +intrastar 1907/tcp # IntraSTAR [Peter_Schoenberger] [Peter_Schoenberger] +intrastar 1907/udp # IntraSTAR [Peter_Schoenberger] [Peter_Schoenberger] +dawn 1908/tcp # Dawn [Michael_Crawford_2] [Michael_Crawford_2] +dawn 1908/udp # Dawn [Michael_Crawford_2] [Michael_Crawford_2] +global-wlink 1909/tcp # Global World Link [Nicholas_Davies] [Nicholas_Davies] +global-wlink 1909/udp # Global World Link [Nicholas_Davies] [Nicholas_Davies] +ultrabac 1910/tcp # UltraBac Software [Paul_Bunn] [Paul_Bunn] +# communications port +ultrabac 1910/udp # UltraBac Software [Paul_Bunn] [Paul_Bunn] +# Starlight Networks +mtp 1911/tcp # Multimedia Transport [Bruce_Lieberman] [Bruce_Lieberman] +mtp 1911/udp # Multimedia Transport [Bruce_Lieberman] [Bruce_Lieberman] +rhp-iibp 1912/tcp # rhp-iibp [George_Nachman][Tom_Lake] [George_Nachman][Tom_Lake] +rhp-iibp 1912/udp # rhp-iibp [George_Nachman][Tom_Lake] [George_Nachman][Tom_Lake] +armadp 1913/tcp # armadp [Kevin_Welton] [Kevin_Welton] +armadp 1913/udp # armadp [Kevin_Welton] [Kevin_Welton] +elm-momentum 1914/tcp # Elm-Momentum [Willie_Wu] [Willie_Wu] +elm-momentum 1914/udp # Elm-Momentum [Willie_Wu] [Willie_Wu] +facelink 1915/tcp # FACELINK [J_H_Hermans] [J_H_Hermans] +facelink 1915/udp # FACELINK [J_H_Hermans] [J_H_Hermans] +persona 1916/tcp # Persoft Persona [Tom_Spidell] [Tom_Spidell] +persona 1916/udp # Persoft Persona [Tom_Spidell] [Tom_Spidell] +noagent 1917/tcp # nOAgent [Martin_Bestmann] [Martin_Bestmann] +noagent 1917/udp # nOAgent [Martin_Bestmann] [Martin_Bestmann] +can-nds 1918/tcp # IBM Tivole Directory Service +# - NDS +can-nds 1918/udp # IBM Tivole Directory Service +can-dch 1919/tcp # IBM Tivoli Directory Service +# - DCH +can-dch 1919/udp # IBM Tivoli Directory Service +can-ferret 1920/tcp # IBM Tivoli Directory Service [Nic_Catrambone] [Nic_Catrambone] +# - FERRET +can-ferret 1920/udp # IBM Tivoli Directory Service [Nic_Catrambone] [Nic_Catrambone] +noadmin 1921/tcp # NoAdmin [Martin_Bestmann] [Martin_Bestmann] +noadmin 1921/udp # NoAdmin [Martin_Bestmann] [Martin_Bestmann] +tapestry 1922/tcp # Tapestry [Ken_Oliver] [Ken_Oliver] +tapestry 1922/udp # Tapestry [Ken_Oliver] [Ken_Oliver] +spice 1923/tcp # SPICE [Nicholas_Chua] [Nicholas_Chua] +spice 1923/udp # SPICE [Nicholas_Chua] [Nicholas_Chua] +xiip 1924/tcp # XIIP [Alain_Robert_2] [Alain_Robert_2] +xiip 1924/udp # XIIP [Alain_Robert_2] [Alain_Robert_2] +discovery-port 1925/tcp # Surrogate Discovery Port [Keith_Thompson] [Keith_Thompson] +discovery-port 1925/udp # Surrogate Discovery Port [Keith_Thompson] [Keith_Thompson] +egs 1926/tcp # Evolution Game Server [Simon_Butcher] [Simon_Butcher] +egs 1926/udp # Evolution Game Server [Simon_Butcher] [Simon_Butcher] +videte-cipc 1927/tcp # Videte CIPC Port [Videte_IT] [Videte_IT] +videte-cipc 1927/udp # Videte CIPC Port [Videte_IT] [Videte_IT] +emsd-port 1928/tcp # Expnd Maui Srvr Dscovr [Edo_Yahav] [Edo_Yahav] +emsd-port 1928/udp # Expnd Maui Srvr Dscovr [Edo_Yahav] [Edo_Yahav] +bandwiz-system 1929/tcp # Bandwiz System - Server [Joseph_Weihs] [Joseph_Weihs] +bandwiz-system 1929/udp # Bandwiz System - Server [Joseph_Weihs] [Joseph_Weihs] +driveappserver 1930/tcp # Drive AppServer [Andrew_Johnson] [Andrew_Johnson] +driveappserver 1930/udp # Drive AppServer [Andrew_Johnson] [Andrew_Johnson] +amdsched 1931/tcp # AMD SCHED [Michael_Walsh] [Michael_Walsh] +amdsched 1931/udp # AMD SCHED [Michael_Walsh] [Michael_Walsh] +ctt-broker 1932/tcp # CTT Broker [Jens_Edlund] [Jens_Edlund] +ctt-broker 1932/udp # CTT Broker [Jens_Edlund] [Jens_Edlund] +xmapi 1933/tcp # IBM LM MT Agent +xmapi 1933/udp # IBM LM MT Agent +xaapi 1934/tcp # IBM LM Appl Agent [Helga_Wolin] [Helga_Wolin] +xaapi 1934/udp # IBM LM Appl Agent [Helga_Wolin] [Helga_Wolin] +macromedia-fcs 1935/tcp # Macromedia Flash [Pritham_Shetty] [Pritham_Shetty] +# Communications Server MX +macromedia-fcs 1935/udp # Macromedia Flash [Pritham_Shetty] [Pritham_Shetty] +# Communications server MX +jetcmeserver 1936/tcp # JetCmeServer Server Port +jetcmeserver 1936/udp # JetCmeServer Server Port +jwserver 1937/tcp # JetVWay Server Port +jwserver 1937/udp # JetVWay Server Port +jwclient 1938/tcp # JetVWay Client Port +jwclient 1938/udp # JetVWay Client Port +jvserver 1939/tcp # JetVision Server Port +jvserver 1939/udp # JetVision Server Port +jvclient 1940/tcp # JetVision Client Port [Stephen_Tsun] [Stephen_Tsun] +jvclient 1940/udp # JetVision Client Port [Stephen_Tsun] [Stephen_Tsun] +dic-aida 1941/tcp # DIC-Aida [Frans_S_C_Witte] [Frans_S_C_Witte] +dic-aida 1941/udp # DIC-Aida [Frans_S_C_Witte] [Frans_S_C_Witte] +res 1942/tcp # Real Enterprise Service [Bob_Janssen] [Bob_Janssen] +res 1942/udp # Real Enterprise Service [Bob_Janssen] [Bob_Janssen] +beeyond-media 1943/tcp # Beeyond Media [Bob_Deblier] [Bob_Deblier] +beeyond-media 1943/udp # Beeyond Media [Bob_Deblier] [Bob_Deblier] +close-combat 1944/tcp # close-combat [David_Hua] [David_Hua] +close-combat 1944/udp # close-combat [David_Hua] [David_Hua] +dialogic-elmd 1945/tcp # dialogic-elmd [Roger_Kay] [Roger_Kay] +dialogic-elmd 1945/udp # dialogic-elmd [Roger_Kay] [Roger_Kay] +tekpls 1946/tcp # tekpls [Brian_Abramson_2] [Brian_Abramson_2] +tekpls 1946/udp # tekpls [Brian_Abramson_2] [Brian_Abramson_2] +sentinelsrm 1947/tcp # SentinelSRM [Michael_Zunke_2] [Michael_Zunke_2] 2010-07-23 +sentinelsrm 1947/udp # SentinelSRM [Michael_Zunke_2] [Michael_Zunke_2] 2010-07-23 +eye2eye 1948/tcp # eye2eye [Trevor_Bell] [Trevor_Bell] +eye2eye 1948/udp # eye2eye [Trevor_Bell] [Trevor_Bell] +ismaeasdaqlive 1949/tcp # ISMA Easdaq Live [Stephen_Dunne] [Stephen_Dunne] +ismaeasdaqlive 1949/udp # ISMA Easdaq Live [Stephen_Dunne] [Stephen_Dunne] +ismaeasdaqtest 1950/tcp # ISMA Easdaq Test [Stephen_Dunne] [Stephen_Dunne] +ismaeasdaqtest 1950/udp # ISMA Easdaq Test [Stephen_Dunne] [Stephen_Dunne] +bcs-lmserver 1951/tcp # bcs-lmserver [Andy_Warner] [Andy_Warner] +bcs-lmserver 1951/udp # bcs-lmserver [Andy_Warner] [Andy_Warner] +mpnjsc 1952/tcp # mpnjsc [Takenori_Miyahara] [Takenori_Miyahara] +mpnjsc 1952/udp # mpnjsc [Takenori_Miyahara] [Takenori_Miyahara] +rapidbase 1953/tcp # Rapid Base [Antoni_Wolski] [Antoni_Wolski] +rapidbase 1953/udp # Rapid Base [Antoni_Wolski] [Antoni_Wolski] +abr-api 1954/tcp # ABR-API (diskbridge) +abr-api 1954/udp # ABR-API (diskbridge) +abr-secure 1955/tcp # ABR-Secure Data (diskbridge) [Graham_Wooden] [Graham_Wooden] +abr-secure 1955/udp # ABR-Secure Data (diskbridge) [Graham_Wooden] [Graham_Wooden] +vrtl-vmf-ds 1956/tcp # Vertel VMF DS [Alan_Akahoshi] [Alan_Akahoshi] +vrtl-vmf-ds 1956/udp # Vertel VMF DS [Alan_Akahoshi] [Alan_Akahoshi] +unix-status 1957/tcp # unix-status [Thomas_Erskine] [Thomas_Erskine] +unix-status 1957/udp # unix-status [Thomas_Erskine] [Thomas_Erskine] +dxadmind 1958/tcp # CA Administration Daemon [John_Birrell] [John_Birrell] +dxadmind 1958/udp # CA Administration Daemon [John_Birrell] [John_Birrell] +simp-all 1959/tcp # SIMP Channel [Tim_Hunnewell] [Tim_Hunnewell] +simp-all 1959/udp # SIMP Channel [Tim_Hunnewell] [Tim_Hunnewell] +nasmanager 1960/tcp # Merit DAC NASmanager [Richard_S_Conto] [Richard_S_Conto] +nasmanager 1960/udp # Merit DAC NASmanager [Richard_S_Conto] [Richard_S_Conto] +bts-appserver 1961/tcp # BTS APPSERVER [Carl_Obsorn] [Carl_Obsorn] +bts-appserver 1961/udp # BTS APPSERVER [Carl_Obsorn] [Carl_Obsorn] +biap-mp 1962/tcp # BIAP-MP [Louis_Slothouber] [Louis_Slothouber] +biap-mp 1962/udp # BIAP-MP [Louis_Slothouber] [Louis_Slothouber] +webmachine 1963/tcp # WebMachine [Tim_Jowers] [Tim_Jowers] +webmachine 1963/udp # WebMachine [Tim_Jowers] [Tim_Jowers] +solid-e-engine 1964/tcp # SOLID E ENGINE [Ari_Valtanen] [Ari_Valtanen] +solid-e-engine 1964/udp # SOLID E ENGINE [Ari_Valtanen] [Ari_Valtanen] +tivoli-npm 1965/tcp # Tivoli NPM [Ivana_Cuozzo] [Ivana_Cuozzo] +tivoli-npm 1965/udp # Tivoli NPM [Ivana_Cuozzo] [Ivana_Cuozzo] +slush 1966/tcp # Slush [Damien_Miller] [Damien_Miller] +slush 1966/udp # Slush [Damien_Miller] [Damien_Miller] +sns-quote 1967/tcp # SNS Quote [Robert_Ellman] [Robert_Ellman] +sns-quote 1967/udp # SNS Quote [Robert_Ellman] [Robert_Ellman] +lipsinc 1968/tcp # LIPSinc +lipsinc 1968/udp # LIPSinc +lipsinc1 1969/tcp # LIPSinc 1 [Robert_Armington] [Robert_Armington] +lipsinc1 1969/udp # LIPSinc 1 [Robert_Armington] [Robert_Armington] +netop-rc 1970/tcp # NetOp Remote Control +netop-rc 1970/udp # NetOp Remote Control +netop-school 1971/tcp # NetOp School [NetOp_Technical_Supp] [NetOp_Technical_Supp] +netop-school 1971/udp # NetOp School [NetOp_Technical_Supp] [NetOp_Technical_Supp] +intersys-cache 1972/tcp # Cache [Mark_Hanson] [Mark_Hanson] +intersys-cache 1972/udp # Cache [Mark_Hanson] [Mark_Hanson] +dlsrap 1973/tcp # Data Link Switching Remote [Steve_T_Chiang] [Steve_T_Chiang] +# Access Protocol +dlsrap 1973/udp # Data Link Switching Remote [Steve_T_Chiang] [Steve_T_Chiang] +drp 1974/tcp # DRP [Richard_Alan_Johnson] [Richard_Alan_Johnson] +drp 1974/udp # DRP [Richard_Alan_Johnson] [Richard_Alan_Johnson] +tcoflashagent 1975/tcp # TCO Flash Agent +tcoflashagent 1975/udp # TCO Flash Agent +tcoregagent 1976/tcp # TCO Reg Agent +tcoregagent 1976/udp # TCO Reg Agent +tcoaddressbook 1977/tcp # TCO Address Book [Allan_Panitch] [Allan_Panitch] +tcoaddressbook 1977/udp # TCO Address Book [Allan_Panitch] [Allan_Panitch] +unisql 1978/tcp # UniSQL +unisql 1978/udp # UniSQL +unisql-java 1979/tcp # UniSQL Java [Keith_Yarbrough] [Keith_Yarbrough] +unisql-java 1979/udp # UniSQL Java [Keith_Yarbrough] [Keith_Yarbrough] +pearldoc-xact 1980/tcp # PearlDoc XACT [Chris_Vertonghen] [Chris_Vertonghen] +pearldoc-xact 1980/udp # PearlDoc XACT [Chris_Vertonghen] [Chris_Vertonghen] +p2pq 1981/tcp # p2pQ [Warren_Alexander] [Warren_Alexander] +p2pq 1981/udp # p2pQ [Warren_Alexander] [Warren_Alexander] +estamp 1982/tcp # Evidentiary Timestamp [Todd_Glassey] [Todd_Glassey] +estamp 1982/udp # Evidentiary Timestamp [Todd_Glassey] [Todd_Glassey] +lhtp 1983/tcp # Loophole Test Protocol [Kade_Hansson] [Kade_Hansson] +lhtp 1983/udp # Loophole Test Protocol [Kade_Hansson] [Kade_Hansson] +bb 1984/tcp # BB [Sean_MacGuire] [Sean_MacGuire] +bb 1984/udp # BB [Sean_MacGuire] [Sean_MacGuire] +hsrp 1985/tcp # Hot Standby Router Protocol [RFC2281] +hsrp 1985/udp # Hot Standby Router Protocol [RFC2281] +licensedaemon 1986/tcp # cisco license management +licensedaemon 1986/udp # cisco license management +tr-rsrb-p1 1987/tcp # cisco RSRB Priority 1 port +tr-rsrb-p1 1987/udp # cisco RSRB Priority 1 port +tr-rsrb-p2 1988/tcp # cisco RSRB Priority 2 port +tr-rsrb-p2 1988/udp # cisco RSRB Priority 2 port +tr-rsrb-p3 1989/tcp # cisco RSRB Priority 3 port +tr-rsrb-p3 1989/udp # cisco RSRB Priority 3 port +mshnet 1989/tcp # MHSnet system [Bob_Kummerfeld] [Bob_Kummerfeld] This entry records an unassigned but widespread use +mshnet 1989/udp # MHSnet system [Bob_Kummerfeld] [Bob_Kummerfeld] This entry records an unassigned but widespread use +stun-p1 1990/tcp # cisco STUN Priority 1 port +stun-p1 1990/udp # cisco STUN Priority 1 port +stun-p2 1991/tcp # cisco STUN Priority 2 port +stun-p2 1991/udp # cisco STUN Priority 2 port +stun-p3 1992/tcp # cisco STUN Priority 3 port +stun-p3 1992/udp # cisco STUN Priority 3 port +ipsendmsg 1992/tcp # IPsendmsg [Bob_Kummerfeld] [Bob_Kummerfeld] This entry records an unassigned but widespread use +ipsendmsg 1992/udp # IPsendmsg [Bob_Kummerfeld] [Bob_Kummerfeld] This entry records an unassigned but widespread use +snmp-tcp-port 1993/tcp # cisco SNMP TCP port +snmp-tcp-port 1993/udp # cisco SNMP TCP port +stun-port 1994/tcp # cisco serial tunnel port +stun-port 1994/udp # cisco serial tunnel port +perf-port 1995/tcp # cisco perf port +perf-port 1995/udp # cisco perf port +tr-rsrb-port 1996/tcp # cisco Remote SRB port +tr-rsrb-port 1996/udp # cisco Remote SRB port +gdp-port 1997/tcp # cisco Gateway Discovery +gdp-port 1997/udp # cisco Gateway Discovery +x25-svc-port 1998/tcp # cisco X.25 service (XOT) +x25-svc-port 1998/udp # cisco X.25 service (XOT) +tcp-id-port 1999/tcp # cisco identification port +tcp-id-port 1999/udp # cisco identification port +cisco-sccp 2000/tcp # Cisco SCCP [Dan_Wing] [Dan_Wing] 2003-11 +cisco-sccp 2000/udp # Cisco SCCp [Dan_Wing] [Dan_Wing] 2003-11 +dc 2001/tcp +wizard 2001/udp # curry +globe 2002/tcp +globe 2002/udp +brutus 2003/tcp # Brutus Server [Johannes_Skov_Frands] [Johannes_Skov_Frands] 2008-02-28 +brutus 2003/udp # Brutus Server [Johannes_Skov_Frands] [Johannes_Skov_Frands] 2008-02-28 +mailbox 2004/tcp +emce 2004/udp # CCWS mm conf +berknet 2005/tcp +oracle 2005/udp +invokator 2006/tcp +raid-cd 2006/udp # raid +dectalk 2007/tcp +raid-am 2007/udp +conf 2008/tcp +terminaldb 2008/udp +news 2009/tcp +whosockami 2009/udp +search 2010/tcp +pipe-server 2010/udp # well-formed service name as +# "pipe_server". +# This entry is an alias to "pipe-server". This entry is now +pipe_server 2010/udp # historic, not usable for use with many common service +raid-cc 2011/tcp # raid +servserv 2011/udp +ttyinfo 2012/tcp +raid-ac 2012/udp +raid-am 2013/tcp +raid-cd 2013/udp +troff 2014/tcp +raid-sf 2014/udp +cypress 2015/tcp +raid-cs 2015/udp +bootserver 2016/tcp +bootserver 2016/udp +cypress-stat 2017/tcp +bootclient 2017/udp +terminaldb 2018/tcp +rellpack 2018/udp +whosockami 2019/tcp +about 2019/udp +xinupageserver 2020/tcp +xinupageserver 2020/udp +servexec 2021/tcp +xinuexpansion1 2021/udp +down 2022/tcp +xinuexpansion2 2022/udp +xinuexpansion3 2023/tcp +xinuexpansion3 2023/udp +xinuexpansion4 2024/tcp +xinuexpansion4 2024/udp +ellpack 2025/tcp +xribs 2025/udp +scrabble 2026/tcp +scrabble 2026/udp +shadowserver 2027/tcp +shadowserver 2027/udp +submitserver 2028/tcp +submitserver 2028/udp +hsrpv6 2029/tcp # Hot Standby Router Protocol [Ian_Wilson] [Ian_Wilson] 2004-11 +# IPv6 +hsrpv6 2029/udp # Hot Standby Router Protocol [Ian_Wilson] [Ian_Wilson] 2004-11 +device2 2030/tcp +device2 2030/udp +mobrien-chat 2031/tcp # mobrien-chat [Mike_O_Brien] [Mike_O_Brien] 2004-11 +mobrien-chat 2031/udp # mobrien-chat [Mike_O_Brien] [Mike_O_Brien] 2004-11 +blackboard 2032/tcp +blackboard 2032/udp +glogger 2033/tcp +glogger 2033/udp +scoremgr 2034/tcp +scoremgr 2034/udp +imsldoc 2035/tcp +imsldoc 2035/udp +e-dpnet 2036/tcp # Ethernet WS DP network [Peter_Kaever] [Peter_Kaever] 2005-08 +e-dpnet 2036/udp # Ethernet WS DP network [Peter_Kaever] [Peter_Kaever] 2005-08 +applus 2037/tcp # APplus Application Server [Thomas_Boerkel] [Thomas_Boerkel] 2008-06-06 Formerly was P2plus Application Server +applus 2037/udp # APplus Application Server [Thomas_Boerkel] [Thomas_Boerkel] 2008-06-06 Formerly was P2plus Application Server +objectmanager 2038/tcp +objectmanager 2038/udp +prizma 2039/tcp # Prizma Monitoring Service [Dotan_Ofek] [Dotan_Ofek] 2005-12 +prizma 2039/udp # Prizma Monitoring Service [Dotan_Ofek] [Dotan_Ofek] 2005-12 +lam 2040/tcp +lam 2040/udp +interbase 2041/tcp +interbase 2041/udp +isis 2042/tcp # isis +isis 2042/udp # isis +isis-bcast 2043/tcp # isis-bcast [Ken_Chapman] [Ken_Chapman] +isis-bcast 2043/udp # isis-bcast [Ken_Chapman] [Ken_Chapman] +rimsl 2044/tcp +rimsl 2044/udp +cdfunc 2045/tcp +cdfunc 2045/udp +sdfunc 2046/tcp +sdfunc 2046/udp +dls 2047/tcp +dls 2047/udp +dls-monitor 2048/tcp +dls-monitor 2048/udp +shilp 2049/tcp # <== NOTE Conflict on 2049 ! +shilp 2049/udp # <== NOTE Conflict on 2049 ! +nfs 2049/tcp # Network File System - Sun [Brent_Callaghan] [Brent_Callaghan] Defined TXT keys: path= +# Microsystems +nfs 2049/udp # Network File System - Sun [Brent_Callaghan] [Brent_Callaghan] Defined TXT keys: path= +nfs 2049/sctp # Network File System [RFC5665] Defined TXT keys: path= +av-emb-config 2050/tcp # Avaya EMB Config Port [John_Yeager] [John_Yeager] +av-emb-config 2050/udp # Avaya EMB Config Port [John_Yeager] [John_Yeager] +epnsdp 2051/tcp # EPNSDP [Hiroyasu_Ogata] [Hiroyasu_Ogata] +epnsdp 2051/udp # EPNSDP [Hiroyasu_Ogata] [Hiroyasu_Ogata] +clearvisn 2052/tcp # clearVisn Services Port [Dave_Lyons] [Dave_Lyons] +clearvisn 2052/udp # clearVisn Services Port [Dave_Lyons] [Dave_Lyons] +lot105-ds-upd 2053/tcp # Lot105 DSuper Updates [Piers_Scannell] [Piers_Scannell] +lot105-ds-upd 2053/udp # Lot105 DSuper Updates [Piers_Scannell] [Piers_Scannell] +weblogin 2054/tcp # Weblogin Port [Diego_Saravia] [Diego_Saravia] +weblogin 2054/udp # Weblogin Port [Diego_Saravia] [Diego_Saravia] +iop 2055/tcp # Iliad-Odyssey Protocol [Bruce_Lueckenhoff] [Bruce_Lueckenhoff] +iop 2055/udp # Iliad-Odyssey Protocol [Bruce_Lueckenhoff] [Bruce_Lueckenhoff] +omnisky 2056/tcp # OmniSky Port [Oren_Hurvitz] [Oren_Hurvitz] +omnisky 2056/udp # OmniSky Port [Oren_Hurvitz] [Oren_Hurvitz] +rich-cp 2057/tcp # Rich Content Protocol [Ronen_Vainish] [Ronen_Vainish] +rich-cp 2057/udp # Rich Content Protocol [Ronen_Vainish] [Ronen_Vainish] +newwavesearch 2058/tcp # NewWaveSearchables RMI [Thomas_Kerkau] [Thomas_Kerkau] +newwavesearch 2058/udp # NewWaveSearchables RMI [Thomas_Kerkau] [Thomas_Kerkau] +bmc-messaging 2059/tcp # BMC Messaging Service [Portnoy_Boxman] [Portnoy_Boxman] +bmc-messaging 2059/udp # BMC Messaging Service [Portnoy_Boxman] [Portnoy_Boxman] +teleniumdaemon 2060/tcp # Telenium Daemon IF [Nick_Woronuk] [Nick_Woronuk] +teleniumdaemon 2060/udp # Telenium Daemon IF [Nick_Woronuk] [Nick_Woronuk] +netmount 2061/tcp # NetMount [Alex_Oberlander] [Alex_Oberlander] +netmount 2061/udp # NetMount [Alex_Oberlander] [Alex_Oberlander] +icg-swp 2062/tcp # ICG SWP Port +icg-swp 2062/udp # ICG SWP Port +icg-bridge 2063/tcp # ICG Bridge Port +icg-bridge 2063/udp # ICG Bridge Port +icg-iprelay 2064/tcp # ICG IP Relay Port [Steve_Quintana] [Steve_Quintana] +icg-iprelay 2064/udp # ICG IP Relay Port [Steve_Quintana] [Steve_Quintana] +dlsrpn 2065/tcp # Data Link Switch Read Port [Amir_Peless] [Amir_Peless] +# Number +dlsrpn 2065/udp # Data Link Switch Read Port [Amir_Peless] [Amir_Peless] +aura 2066/tcp # AVM USB Remote Architecture [Diego_Friedel] [Diego_Friedel] 2006-03 +aura 2066/udp # AVM USB Remote Architecture [Diego_Friedel] [Diego_Friedel] 2006-03 +dlswpn 2067/tcp # Data Link Switch Write Port [Amir_Peless] [Amir_Peless] +dlswpn 2067/udp # Data Link Switch Write Port [Amir_Peless] [Amir_Peless] +avauthsrvprtcl 2068/tcp # Avocent AuthSrv Protocol [Steven_W_Clark_2] [Steven_W_Clark_2] +avauthsrvprtcl 2068/udp # Avocent AuthSrv Protocol [Steven_W_Clark_2] [Steven_W_Clark_2] +event-port 2069/tcp # HTTP Event Port [Larry_Emlich] [Larry_Emlich] +event-port 2069/udp # HTTP Event Port [Larry_Emlich] [Larry_Emlich] +ah-esp-encap 2070/tcp # AH and ESP Encapsulated in [Amy_Weaver] [Amy_Weaver] +# UDP packet +ah-esp-encap 2070/udp # AH and ESP Encapsulated in [Amy_Weaver] [Amy_Weaver] +acp-port 2071/tcp # Axon Control Protocol [Christiaan_Simons] [Christiaan_Simons] +acp-port 2071/udp # Axon Control Protocol [Christiaan_Simons] [Christiaan_Simons] +msync 2072/tcp # GlobeCast mSync [Piers_Scannell_2] [Piers_Scannell_2] +msync 2072/udp # GlobeCast mSync [Piers_Scannell_2] [Piers_Scannell_2] +gxs-data-port 2073/tcp # DataReel Database Socket [Douglas_M_Gaer] [Douglas_M_Gaer] +gxs-data-port 2073/udp # DataReel Database Socket [Douglas_M_Gaer] [Douglas_M_Gaer] +vrtl-vmf-sa 2074/tcp # Vertel VMF SA [Alan_Akahoshi] [Alan_Akahoshi] +vrtl-vmf-sa 2074/udp # Vertel VMF SA [Alan_Akahoshi] [Alan_Akahoshi] +newlixengine 2075/tcp # Newlix ServerWare Engine +newlixengine 2075/udp # Newlix ServerWare Engine +newlixconfig 2076/tcp # Newlix JSPConfig [Jean_Serge_Gagnon] [Jean_Serge_Gagnon] +newlixconfig 2076/udp # Newlix JSPConfig [Jean_Serge_Gagnon] [Jean_Serge_Gagnon] +tsrmagt 2077/tcp # Old Tivoli Storage Manager +tsrmagt 2077/udp # Old Tivoli Storage Manager +tpcsrvr 2078/tcp # IBM Total Productivity [Justin_R_Bendich] [Justin_R_Bendich] +# Center Server +tpcsrvr 2078/udp # IBM Total Productivity [Justin_R_Bendich] [Justin_R_Bendich] +idware-router 2079/tcp # IDWARE Router Port [Zdenek_Kolba] [Zdenek_Kolba] +idware-router 2079/udp # IDWARE Router Port [Zdenek_Kolba] [Zdenek_Kolba] +autodesk-nlm 2080/tcp # Autodesk NLM (FLEXlm) [Greg_Suppes] [Greg_Suppes] +autodesk-nlm 2080/udp # Autodesk NLM (FLEXlm) [Greg_Suppes] [Greg_Suppes] +kme-trap-port 2081/tcp # KME PRINTER TRAP PORT [Masakatsu_Matsuo] [Masakatsu_Matsuo] +kme-trap-port 2081/udp # KME PRINTER TRAP PORT [Masakatsu_Matsuo] [Masakatsu_Matsuo] +infowave 2082/tcp # Infowave Mobility Server [Kaz_Kylheku] [Kaz_Kylheku] +infowave 2082/udp # Infowave Mobility Server [Kaz_Kylheku] [Kaz_Kylheku] +# The TCP port 2083 was already previously assigned by IANA for +# "RadSec", an early implementation of RADIUS/TLS, prior to +radsec 2083/tcp # Secure Radius Service [IESG] [IETF_Chair] 2005-05 [RFC6614] issuance of this RFC. This early implementation can be +# configured to be compatible to RADIUS/TLS as specified by the +# IETF. See [RFC6614], Appendix A for details. +radsec 2083/udp # Secure Radius Service [Mike_McCauley] [Mike_McCauley] 2005-05 +sunclustergeo 2084/tcp # SunCluster Geographic [Steve_McKinty] [Steve_McKinty] 2005-11 +sunclustergeo 2084/udp # SunCluster Geographic [Steve_McKinty] [Steve_McKinty] 2005-11 +ada-cip 2085/tcp # ADA Control [Eugene_Frenkel] [Eugene_Frenkel] 2005-11 +ada-cip 2085/udp # ADA Control [Eugene_Frenkel] [Eugene_Frenkel] 2005-11 +gnunet 2086/tcp # GNUnet [Christian_Grothoff] [Christian_Grothoff] 2002-10 +gnunet 2086/udp # GNUnet [Christian_Grothoff] [Christian_Grothoff] 2002-10 +eli 2087/tcp # ELI - Event Logging [Maya_Zimerman] [Maya_Zimerman] +# Integration +eli 2087/udp # ELI - Event Logging [Maya_Zimerman] [Maya_Zimerman] +ip-blf 2088/tcp # IP Busy Lamp Field [Jeffrey_Szczepanski] [Jeffrey_Szczepanski] 2005-02 +ip-blf 2088/udp # IP Busy Lamp Field [Jeffrey_Szczepanski] [Jeffrey_Szczepanski] 2005-02 +sep 2089/tcp # Security Encapsulation [Maya_Zimerman] [Maya_Zimerman] +# Protocol - SEP +sep 2089/udp # Security Encapsulation [Maya_Zimerman] [Maya_Zimerman] +lrp 2090/tcp # Load Report Protocol [Amir_Peless] [Amir_Peless] +lrp 2090/udp # Load Report Protocol [Amir_Peless] [Amir_Peless] +prp 2091/tcp # PRP [Amir_Peless] [Amir_Peless] +prp 2091/udp # PRP [Amir_Peless] [Amir_Peless] +descent3 2092/tcp # Descent 3 [Kevin_Bentley] [Kevin_Bentley] +descent3 2092/udp # Descent 3 [Kevin_Bentley] [Kevin_Bentley] +nbx-cc 2093/tcp # NBX CC +nbx-cc 2093/udp # NBX CC +nbx-au 2094/tcp # NBX AU +nbx-au 2094/udp # NBX AU +nbx-ser 2095/tcp # NBX SER +nbx-ser 2095/udp # NBX SER +nbx-dir 2096/tcp # NBX DIR [Henry_Houh] [Henry_Houh] +nbx-dir 2096/udp # NBX DIR [Henry_Houh] [Henry_Houh] +jetformpreview 2097/tcp # Jet Form Preview [Zygmunt_Wiercioch] [Zygmunt_Wiercioch] +jetformpreview 2097/udp # Jet Form Preview [Zygmunt_Wiercioch] [Zygmunt_Wiercioch] +dialog-port 2098/tcp # Dialog Port [Joseph_Mathew] [Joseph_Mathew] +dialog-port 2098/udp # Dialog Port [Joseph_Mathew] [Joseph_Mathew] +h2250-annex-g 2099/tcp # H.225.0 Annex G Signalling [ITU-T] [ITU-T_TSB] 2013-01-31 +h2250-annex-g 2099/udp # H.225.0 Annex G Signalling [ITU-T] [ITU-T_TSB] 2013-01-31 +amiganetfs 2100/tcp # Amiga Network Filesystem [Rudi_Chiarito] [Rudi_Chiarito] +amiganetfs 2100/udp # Amiga Network Filesystem [Rudi_Chiarito] [Rudi_Chiarito] +rtcm-sc104 2101/tcp # rtcm-sc104 [Wolfgang_Rupprecht] [Wolfgang_Rupprecht] +rtcm-sc104 2101/udp # rtcm-sc104 [Wolfgang_Rupprecht] [Wolfgang_Rupprecht] +zephyr-srv 2102/tcp # Zephyr server +zephyr-srv 2102/udp # Zephyr server +zephyr-clt 2103/tcp # Zephyr serv-hm connection +zephyr-clt 2103/udp # Zephyr serv-hm connection +zephyr-hm 2104/tcp # Zephyr hostmanager [Greg_Hudson] [Greg_Hudson] +zephyr-hm 2104/udp # Zephyr hostmanager [Greg_Hudson] [Greg_Hudson] +minipay 2105/tcp # MiniPay [Amir_Herzberg] [Amir_Herzberg] +minipay 2105/udp # MiniPay [Amir_Herzberg] [Amir_Herzberg] +mzap 2106/tcp # MZAP [Dave_Thaler_2] [Dave_Thaler_2] +mzap 2106/udp # MZAP [Dave_Thaler_2] [Dave_Thaler_2] +bintec-admin 2107/tcp # BinTec Admin [Thomas_Schmidt] [Thomas_Schmidt] +bintec-admin 2107/udp # BinTec Admin [Thomas_Schmidt] [Thomas_Schmidt] +comcam 2108/tcp # Comcam [Don_Gilbreath] [Don_Gilbreath] +comcam 2108/udp # Comcam [Don_Gilbreath] [Don_Gilbreath] +ergolight 2109/tcp # Ergolight [Jindra_Ryvola] [Jindra_Ryvola] +ergolight 2109/udp # Ergolight [Jindra_Ryvola] [Jindra_Ryvola] +umsp 2110/tcp # UMSP [Alexander_Bogdanov_2] [Alexander_Bogdanov_2] +umsp 2110/udp # UMSP [Alexander_Bogdanov_2] [Alexander_Bogdanov_2] +dsatp 2111/tcp # OPNET Dynamic Sampling Agent [OPNET_Technologies_Inc] [Edward_Macomber] 2011-09-21 +# Transaction Protocol +dsatp 2111/udp # OPNET Dynamic Sampling Agent [OPNET_Technologies_Inc] [Edward_Macomber] 2011-09-21 +idonix-metanet 2112/tcp # Idonix MetaNet [Paul_Harrison] [Paul_Harrison] +idonix-metanet 2112/udp # Idonix MetaNet [Paul_Harrison] [Paul_Harrison] +hsl-storm 2113/tcp # HSL StoRM [Jost_Faganel] [Jost_Faganel] +hsl-storm 2113/udp # HSL StoRM [Jost_Faganel] [Jost_Faganel] +newheights 2114/tcp # NEWHEIGHTS [Michael_Levy] [Michael_Levy] +newheights 2114/udp # NEWHEIGHTS [Michael_Levy] [Michael_Levy] +kdm 2115/tcp # Key Distribution Manager [Mike_Little] [Mike_Little] +kdm 2115/udp # Key Distribution Manager [Mike_Little] [Mike_Little] +ccowcmr 2116/tcp # CCOWCMR [Mark_Morwood] [Mark_Morwood] +ccowcmr 2116/udp # CCOWCMR [Mark_Morwood] [Mark_Morwood] +mentaclient 2117/tcp # MENTACLIENT +mentaclient 2117/udp # MENTACLIENT +mentaserver 2118/tcp # MENTASERVER [Ilan_Shlosberg] [Ilan_Shlosberg] +mentaserver 2118/udp # MENTASERVER [Ilan_Shlosberg] [Ilan_Shlosberg] +gsigatekeeper 2119/tcp # GSIGATEKEEPER [Steve_Tuecke] [Steve_Tuecke] +gsigatekeeper 2119/udp # GSIGATEKEEPER [Steve_Tuecke] [Steve_Tuecke] +qencp 2120/tcp # Quick Eagle Networks CP [Santa_Dasu] [Santa_Dasu] +qencp 2120/udp # Quick Eagle Networks CP [Santa_Dasu] [Santa_Dasu] +scientia-ssdb 2121/tcp # SCIENTIA-SSDB [SYSTEMS_MANAGER] [SYSTEMS_MANAGER] +scientia-ssdb 2121/udp # SCIENTIA-SSDB [SYSTEMS_MANAGER] [SYSTEMS_MANAGER] +caupc-remote 2122/tcp # CauPC Remote Control [Environics_Oy] [Environics_Oy] +caupc-remote 2122/udp # CauPC Remote Control [Environics_Oy] [Environics_Oy] +gtp-control 2123/tcp # GTP-Control Plane (3GPP) [Alessio_Casati] [Alessio_Casati] +gtp-control 2123/udp # GTP-Control Plane (3GPP) [Alessio_Casati] [Alessio_Casati] +elatelink 2124/tcp # ELATELINK [Tim_Lawrence] [Tim_Lawrence] +elatelink 2124/udp # ELATELINK [Tim_Lawrence] [Tim_Lawrence] +lockstep 2125/tcp # LOCKSTEP [Karl_Forster] [Karl_Forster] +lockstep 2125/udp # LOCKSTEP [Karl_Forster] [Karl_Forster] +pktcable-cops 2126/tcp # PktCable-COPS [Glenn_Russell] [Glenn_Russell] +pktcable-cops 2126/udp # PktCable-COPS [Glenn_Russell] [Glenn_Russell] +index-pc-wb 2127/tcp # INDEX-PC-WB [James_David_Fisher] [James_David_Fisher] +index-pc-wb 2127/udp # INDEX-PC-WB [James_David_Fisher] [James_David_Fisher] +net-steward 2128/tcp # Net Steward Control [Martin_Norman] [Martin_Norman] +net-steward 2128/udp # Net Steward Control [Martin_Norman] [Martin_Norman] +cs-live 2129/tcp # cs-live.com [Matt_Lachance] [Matt_Lachance] +cs-live 2129/udp # cs-live.com [Matt_Lachance] [Matt_Lachance] +xds 2130/tcp # XDS [Peter_Zurich] [Peter_Zurich] +xds 2130/udp # XDS [Peter_Zurich] [Peter_Zurich] +avantageb2b 2131/tcp # Avantageb2b [Avi_Software] [Avi_Software] +avantageb2b 2131/udp # Avantageb2b [Avi_Software] [Avi_Software] +solera-epmap 2132/tcp # SoleraTec End Point Map [Mark_Armstrong] [Mark_Armstrong] +solera-epmap 2132/udp # SoleraTec End Point Map [Mark_Armstrong] [Mark_Armstrong] +zymed-zpp 2133/tcp # ZYMED-ZPP [Gregg_Welker] [Gregg_Welker] +zymed-zpp 2133/udp # ZYMED-ZPP [Gregg_Welker] [Gregg_Welker] +avenue 2134/tcp # AVENUE [Jason_Cater] [Jason_Cater] +avenue 2134/udp # AVENUE [Jason_Cater] [Jason_Cater] +gris 2135/tcp # Grid Resource Information [Steve_Tuecke] [Steve_Tuecke] +gris 2135/udp # Grid Resource Information [Steve_Tuecke] [Steve_Tuecke] +appworxsrv 2136/tcp # APPWORXSRV [Fred_McLain] [Fred_McLain] +appworxsrv 2136/udp # APPWORXSRV [Fred_McLain] [Fred_McLain] +connect 2137/tcp # CONNECT [Reid_Ligon] [Reid_Ligon] +connect 2137/udp # CONNECT [Reid_Ligon] [Reid_Ligon] +unbind-cluster 2138/tcp # UNBIND-CLUSTER [Francois_Harvey] [Francois_Harvey] +unbind-cluster 2138/udp # UNBIND-CLUSTER [Francois_Harvey] [Francois_Harvey] +ias-auth 2139/tcp # IAS-AUTH +ias-auth 2139/udp # IAS-AUTH +ias-reg 2140/tcp # IAS-REG +ias-reg 2140/udp # IAS-REG +ias-admind 2141/tcp # IAS-ADMIND [Baiju_V_Patel] [Baiju_V_Patel] +ias-admind 2141/udp # IAS-ADMIND [Baiju_V_Patel] [Baiju_V_Patel] +tdmoip 2142/tcp # TDM OVER IP [RFC5087] +tdmoip 2142/udp # TDM OVER IP [RFC5087] +lv-jc 2143/tcp # Live Vault Job Control +lv-jc 2143/udp # Live Vault Job Control +lv-ffx 2144/tcp # Live Vault Fast Object +# Transfer +lv-ffx 2144/udp # Live Vault Fast Object +lv-pici 2145/tcp # Live Vault Remote Diagnostic +# Console Support +lv-pici 2145/udp # Live Vault Remote Diagnostic +lv-not 2146/tcp # Live Vault Admin Event +# Notification +lv-not 2146/udp # Live Vault Admin Event +lv-auth 2147/tcp # Live Vault Authentication [Ted_Hess] [Ted_Hess] +lv-auth 2147/udp # Live Vault Authentication [Ted_Hess] [Ted_Hess] +veritas-ucl 2148/tcp # VERITAS UNIVERSAL [Songlin_Ren] [Songlin_Ren] +# COMMUNICATION LAYER +veritas-ucl 2148/udp # VERITAS UNIVERSAL [Songlin_Ren] [Songlin_Ren] +acptsys 2149/tcp # ACPTSYS [Michael_Lekias] [Michael_Lekias] +acptsys 2149/udp # ACPTSYS [Michael_Lekias] [Michael_Lekias] +dynamic3d 2150/tcp # DYNAMIC3D [Tobias_Wegner] [Tobias_Wegner] +dynamic3d 2150/udp # DYNAMIC3D [Tobias_Wegner] [Tobias_Wegner] +docent 2151/tcp # DOCENT [Hali_Lindbloom] [Hali_Lindbloom] +docent 2151/udp # DOCENT [Hali_Lindbloom] [Hali_Lindbloom] +gtp-user 2152/tcp # GTP-User Plane (3GPP) [Alessio_Casati] [Alessio_Casati] +gtp-user 2152/udp # GTP-User Plane (3GPP) [Alessio_Casati] [Alessio_Casati] +ctlptc 2153/tcp # Control Protocol +ctlptc 2153/udp # Control Protocol +stdptc 2154/tcp # Standard Protocol +stdptc 2154/udp # Standard Protocol +brdptc 2155/tcp # Bridge Protocol [Hideki_Hatta] [Hideki_Hatta] 2007-09-27 +brdptc 2155/udp # Bridge Protocol [Hideki_Hatta] [Hideki_Hatta] 2007-09-27 +trp 2156/tcp # Talari Reliable Protocol [John_E_Dickey] [John_E_Dickey] 2007-09-27 +trp 2156/udp # Talari Reliable Protocol [John_E_Dickey] [John_E_Dickey] 2007-09-27 +xnds 2157/tcp # Xerox Network Document Scan [William_R_Lear] [William_R_Lear] 2008-03-06 +xnds 2157/udp # Xerox Network Document Scan [William_R_Lear] [William_R_Lear] 2008-03-06 +touchnetplus 2158/tcp # TouchNetPlus Service [Brian_Toothill] [Brian_Toothill] 2008-03-06 +touchnetplus 2158/udp # TouchNetPlus Service [Brian_Toothill] [Brian_Toothill] 2008-03-06 +gdbremote 2159/tcp # GDB Remote Debug Port [Nigel_Stephens] [Nigel_Stephens] +gdbremote 2159/udp # GDB Remote Debug Port [Nigel_Stephens] [Nigel_Stephens] +apc-2160 2160/tcp # APC 2160 [American_Power_Conve] [American_Power_Conve] +apc-2160 2160/udp # APC 2160 [American_Power_Conve] [American_Power_Conve] +apc-2161 2161/tcp # APC 2161 [American_Power_Conve] [American_Power_Conve] +apc-2161 2161/udp # APC 2161 [American_Power_Conve] [American_Power_Conve] +navisphere 2162/tcp # Navisphere +navisphere 2162/udp # Navisphere +navisphere-sec 2163/tcp # Navisphere Secure [Andreas_Bauer] [Andreas_Bauer] +navisphere-sec 2163/udp # Navisphere Secure [Andreas_Bauer] [Andreas_Bauer] +ddns-v3 2164/tcp # Dynamic DNS Version 3 [Alan_Yates] [Alan_Yates] +ddns-v3 2164/udp # Dynamic DNS Version 3 [Alan_Yates] [Alan_Yates] +x-bone-api 2165/tcp # X-Bone API [Joe_Touch] [Joe_Touch] +x-bone-api 2165/udp # X-Bone API [Joe_Touch] [Joe_Touch] +iwserver 2166/tcp # iwserver [Fred_Surr] [Fred_Surr] +iwserver 2166/udp # iwserver [Fred_Surr] [Fred_Surr] +raw-serial 2167/tcp # Raw Async Serial Link [Benjamin_Green] [Benjamin_Green] +raw-serial 2167/udp # Raw Async Serial Link [Benjamin_Green] [Benjamin_Green] +easy-soft-mux 2168/tcp # easy-soft Multiplexer [Norbert_Kintzler] [Norbert_Kintzler] 2004-11 +easy-soft-mux 2168/udp # easy-soft Multiplexer [Norbert_Kintzler] [Norbert_Kintzler] 2004-11 +# Backbone for Academic +brain 2169/tcp # Information Notification [Archishmat_Gore] [Archishmat_Gore] 2004-11 +# (BRAIN) +brain 2169/udp # Information Notification [Archishmat_Gore] [Archishmat_Gore] 2004-11 +eyetv 2170/tcp # EyeTV Server Port [Elgato_Systems] [Elgato_Systems] 2004-11 +eyetv 2170/udp # EyeTV Server Port [Elgato_Systems] [Elgato_Systems] 2004-11 +msfw-storage 2171/tcp # MS Firewall Storage +msfw-storage 2171/udp # MS Firewall Storage +msfw-s-storage 2172/tcp # MS Firewall SecureStorage +msfw-s-storage 2172/udp # MS Firewall SecureStorage +msfw-replica 2173/tcp # MS Firewall Replication +msfw-replica 2173/udp # MS Firewall Replication +msfw-array 2174/tcp # MS Firewall Intra Array [Itai_Greenberg] [Itai_Greenberg] 2004-11 +msfw-array 2174/udp # MS Firewall Intra Array [Itai_Greenberg] [Itai_Greenberg] 2004-11 +airsync 2175/tcp # Microsoft Desktop AirSync +airsync 2175/udp # Microsoft Desktop AirSync +rapi 2176/tcp # Microsoft ActiveSync Remote [Jon_Xu] [Jon_Xu] 2005-08 +# API +rapi 2176/udp # Microsoft ActiveSync Remote [Jon_Xu] [Jon_Xu] 2005-08 +qwave 2177/tcp # qWAVE Bandwidth Estimate [Gabe_Frost] [Gabe_Frost] 2005-08 +qwave 2177/udp # qWAVE Bandwidth Estimate [Gabe_Frost] [Gabe_Frost] 2005-08 +bitspeer 2178/tcp # Peer Services for BITS [Jeff_Roberts] [Jeff_Roberts] 2005-11 +bitspeer 2178/udp # Peer Services for BITS [Jeff_Roberts] [Jeff_Roberts] 2005-11 +vmrdp 2179/tcp # Microsoft RDP for virtual [Brian_Henry] [Brian_Henry] 2007-03 +# machines +vmrdp 2179/udp # Microsoft RDP for virtual [Brian_Henry] [Brian_Henry] 2007-03 +mc-gt-srv 2180/tcp # Millicent Vendor Gateway [Steve_Glassman] [Steve_Glassman] +mc-gt-srv 2180/udp # Millicent Vendor Gateway [Steve_Glassman] [Steve_Glassman] +eforward 2181/tcp # eforward [Greg_Pringle] [Greg_Pringle] +eforward 2181/udp # eforward [Greg_Pringle] [Greg_Pringle] +cgn-stat 2182/tcp # CGN status +cgn-stat 2182/udp # CGN status +cgn-config 2183/tcp # Code Green configuration [Chris_Michaelson] [Chris_Michaelson] 2005-08 +cgn-config 2183/udp # Code Green configuration [Chris_Michaelson] [Chris_Michaelson] 2005-08 +nvd 2184/tcp # NVD User [Yves_Gattegno] [Yves_Gattegno] 2004-12 +nvd 2184/udp # NVD User [Yves_Gattegno] [Yves_Gattegno] 2004-12 +onbase-dds 2185/tcp # OnBase Distributed Disk [Paul_Tam] [Paul_Tam] 2004-12 +# Services +onbase-dds 2185/udp # OnBase Distributed Disk [Paul_Tam] [Paul_Tam] 2004-12 +gtaua 2186/tcp # Guy-Tek Automated Update [Daniel_Story] [Daniel_Story] 2008-01-25 +gtaua 2186/udp # Guy-Tek Automated Update [Daniel_Story] [Daniel_Story] 2008-01-25 +ssmc 2187/tcp # Sepehr System Management +# Control +ssmd 2187/udp # Sepehr System Management [Shahriar_Pourazin] [Shahriar_Pourazin] 2008-12-02 +# Data +radware-rpm 2188/tcp # Radware Resource Pool [Radware_LTD] [Samuel_Bercovici] 2011-08-05 +# 2188 udp Reserved +radware-rpm-s 2189/tcp # Secure Radware Resource Pool [Radware_LTD] [Samuel_Bercovici] 2011-08-05 +# 2189 udp Reserved +tivoconnect 2190/tcp # TiVoConnect Beacon [Jeffrey_J_Peters] [Jeffrey_J_Peters] 2002-08 +tivoconnect 2190/udp # TiVoConnect Beacon [Jeffrey_J_Peters] [Jeffrey_J_Peters] 2002-08 +tvbus 2191/tcp # TvBus Messaging [Brian_W_Beach] [Brian_W_Beach] 2003-01 +tvbus 2191/udp # TvBus Messaging [Brian_W_Beach] [Brian_W_Beach] 2003-01 +asdis 2192/tcp # ASDIS software management [ASDIS_Support] [ASDIS_Support] 2005-08 +asdis 2192/udp # ASDIS software management [ASDIS_Support] [ASDIS_Support] 2005-08 +drwcs 2193/tcp # Dr.Web Enterprise Management [Eugeny_Gladkih] [Eugeny_Gladkih] 2008-01-31 +drwcs 2193/udp # Dr.Web Enterprise Management [Eugeny_Gladkih] [Eugeny_Gladkih] 2008-01-31 +# 2194-2196 Unassigned +mnp-exchange 2197/tcp # MNP data exchange [Peter_Pramberger] [Peter_Pramberger] 2004-11 +mnp-exchange 2197/udp # MNP data exchange [Peter_Pramberger] [Peter_Pramberger] 2004-11 +onehome-remote 2198/tcp # OneHome Remote Access +onehome-remote 2198/udp # OneHome Remote Access +onehome-help 2199/tcp # OneHome Service Port [Jim_Herman] [Jim_Herman] 2005-08 +onehome-help 2199/udp # OneHome Service Port [Jim_Herman] [Jim_Herman] 2005-08 +ici 2200/tcp # ICI [Brent_Hines] [Brent_Hines] +ici 2200/udp # ICI [Brent_Hines] [Brent_Hines] +ats 2201/tcp # Advanced Training System +ats 2201/udp # Advanced Training System +imtc-map 2202/tcp # Int. Multimedia [Pat_Galvin] [Pat_Galvin] +# Teleconferencing Cosortium +imtc-map 2202/udp # Int. Multimedia [Pat_Galvin] [Pat_Galvin] +b2-runtime 2203/tcp # b2 Runtime Protocol +b2-runtime 2203/udp # b2 Runtime Protocol +b2-license 2204/tcp # b2 License Server [Helge_Frank_Zimpel] [Helge_Frank_Zimpel] 2006-01 +b2-license 2204/udp # b2 License Server [Helge_Frank_Zimpel] [Helge_Frank_Zimpel] 2006-01 +jps 2205/tcp # Java Presentation Server [Leif_Jakob] [Leif_Jakob] 2006-01 +jps 2205/udp # Java Presentation Server [Leif_Jakob] [Leif_Jakob] 2006-01 +hpocbus 2206/tcp # HP OpenCall bus [Jerome_Forissier] [Jerome_Forissier] 2005-12 +hpocbus 2206/udp # HP OpenCall bus [Jerome_Forissier] [Jerome_Forissier] 2005-12 +hpssd 2207/tcp # HP Status and Services [Donald_Welch] [Donald_Welch] 2006-05 +hpssd 2207/udp # HP Status and Services [Donald_Welch] [Donald_Welch] 2006-05 +hpiod 2208/tcp # HP I/O Backend [David_Suffield] [David_Suffield] 2006-05 +hpiod 2208/udp # HP I/O Backend [David_Suffield] [David_Suffield] 2006-05 +rimf-ps 2209/tcp # HP RIM for Files Portal [Patty_Ho] [Patty_Ho] 2007-05 +rimf-ps 2209/udp # HP RIM for Files Portal [Patty_Ho] [Patty_Ho] 2007-05 +noaaport 2210/tcp # NOAAPORT Broadcast Network +noaaport 2210/udp # NOAAPORT Broadcast Network +emwin 2211/tcp # EMWIN [Antonio_Querubin] [Antonio_Querubin] 2008-03-10 +emwin 2211/udp # EMWIN [Antonio_Querubin] [Antonio_Querubin] 2008-03-10 +leecoposserver 2212/tcp # LeeCO POS Server Service [Patrick_Lee] [Patrick_Lee] 2008-03-10 +leecoposserver 2212/udp # LeeCO POS Server Service [Patrick_Lee] [Patrick_Lee] 2008-03-10 +kali 2213/tcp # Kali [Jay_Cotton] [Jay_Cotton] +kali 2213/udp # Kali [Jay_Cotton] [Jay_Cotton] +rpi 2214/tcp # RDQ Protocol Interface [Les_Mather] [Les_Mather] 2005-12 +rpi 2214/udp # RDQ Protocol Interface [Les_Mather] [Les_Mather] 2005-12 +ipcore 2215/tcp # IPCore.co.za GPRS [Administrator] [Administrator] 2005-12 +ipcore 2215/udp # IPCore.co.za GPRS [Administrator] [Administrator] 2005-12 +vtu-comms 2216/tcp # VTU data service [David_Barrass] [David_Barrass] 2006-01 +vtu-comms 2216/udp # VTU data service [David_Barrass] [David_Barrass] 2006-01 +gotodevice 2217/tcp # GoToDevice Device Management [John_Lisek] [John_Lisek] 2006-01 +gotodevice 2217/udp # GoToDevice Device Management [John_Lisek] [John_Lisek] 2006-01 +bounzza 2218/tcp # Bounzza IRC Proxy [Danko_Alexeyev] [Danko_Alexeyev] 2006-02 +bounzza 2218/udp # Bounzza IRC Proxy [Danko_Alexeyev] [Danko_Alexeyev] 2006-02 +netiq-ncap 2219/tcp # NetIQ NCAP Protocol [Roger_Huebner] [Roger_Huebner] 2010-08-25 +netiq-ncap 2219/udp # NetIQ NCAP Protocol [Roger_Huebner] [Roger_Huebner] 2010-08-25 +netiq 2220/tcp # NetIQ End2End [Michael_Sharpe] [Michael_Sharpe] 2010-09-14 +netiq 2220/udp # NetIQ End2End [Michael_Sharpe] [Michael_Sharpe] 2010-09-14 +rockwell-csp1 2221/tcp # Rockwell CSP1 [Brian_Batke] [Brian_Batke] +rockwell-csp1 2221/udp # Rockwell CSP1 [Brian_Batke] [Brian_Batke] +# EtherNet/IP I/O +# +EtherNet-IP-1 2222/tcp # IANA assigned this [Brian_Batke_2] [Brian_Batke_2] New contact added for port 2222 on 2008-02-01 +# "EtherNet/IP-1". +# New contact added for port 2222 on 2008-02-01 This entry is +EtherNet/IP-1 2222/tcp # EtherNet/IP I/O [Brian_Batke_2] [Brian_Batke_2] an alias to "EtherNet-IP-1". This entry is now historic, not +# usable for use with many common service discovery mechanisms. +# +EtherNet-IP-1 2222/udp # IANA assigned this [Brian_Batke_2] [Brian_Batke_2] New contact added for port 2222 on 2008-02-01 +EtherNet/IP-1 2222/udp # EtherNet/IP I/O [Brian_Batke_2] [Brian_Batke_2] an alias to "EtherNet-IP-1". This entry is now historic, not +rockwell-csp2 2223/tcp # Rockwell CSP2 [Brian_Batke] [Brian_Batke] +rockwell-csp2 2223/udp # Rockwell CSP2 [Brian_Batke] [Brian_Batke] +efi-mg 2224/tcp # Easy Flexible [Thomas_Efer] [Thomas_Efer] 2006-03 +# Internet/Multiplayer Games +efi-mg 2224/udp # Easy Flexible [Thomas_Efer] [Thomas_Efer] 2006-03 +rcip-itu 2225/tcp # Resource Connection [ITU_TSB] [ITU_TSB] +# Initiation Protocol +# 2225 udp Reserved +rcip-itu 2225/sctp # Resource Connection [ITU_TSB] [ITU_TSB] +di-drm 2226/tcp # Digital Instinct DRM +di-drm 2226/udp # Digital Instinct DRM +di-msg 2227/tcp # DI Messaging Service [Sean_Ni] [Sean_Ni] 2006-02 +di-msg 2227/udp # DI Messaging Service [Sean_Ni] [Sean_Ni] 2006-02 +ehome-ms 2228/tcp # eHome Message Server [Peter_Gabriel] [Peter_Gabriel] 2006-01 +ehome-ms 2228/udp # eHome Message Server [Peter_Gabriel] [Peter_Gabriel] 2006-01 +datalens 2229/tcp # DataLens Service [Christopher_Bidwell] [Christopher_Bidwell] 2006-02 +datalens 2229/udp # DataLens Service [Christopher_Bidwell] [Christopher_Bidwell] 2006-02 +queueadm 2230/tcp # MetaSoft Job Queue [Ilya_Melamed] [Ilya_Melamed] 2006-06 +# Administration Service +queueadm 2230/udp # MetaSoft Job Queue [Ilya_Melamed] [Ilya_Melamed] 2006-06 +wimaxasncp 2231/tcp # WiMAX ASN Control Plane [Prakash_Iyer] [Prakash_Iyer] 2006-06 +wimaxasncp 2231/udp # WiMAX ASN Control Plane [Prakash_Iyer] [Prakash_Iyer] 2006-06 +ivs-video 2232/tcp # IVS Video default [Thierry_Turletti] [Thierry_Turletti] +ivs-video 2232/udp # IVS Video default [Thierry_Turletti] [Thierry_Turletti] +infocrypt 2233/tcp # INFOCRYPT [Erica_Liu] [Erica_Liu] +infocrypt 2233/udp # INFOCRYPT [Erica_Liu] [Erica_Liu] +directplay 2234/tcp # DirectPlay [Ajay_Jindal] [Ajay_Jindal] +directplay 2234/udp # DirectPlay [Ajay_Jindal] [Ajay_Jindal] +sercomm-wlink 2235/tcp # Sercomm-WLink [Melinda_Tsao] [Melinda_Tsao] +sercomm-wlink 2235/udp # Sercomm-WLink [Melinda_Tsao] [Melinda_Tsao] +nani 2236/tcp # Nani [Steve_Benoit] [Steve_Benoit] +nani 2236/udp # Nani [Steve_Benoit] [Steve_Benoit] +optech-port1-lm 2237/tcp # Optech Port1 License Manager [Gerard_Cannie] [Gerard_Cannie] +optech-port1-lm 2237/udp # Optech Port1 License Manager [Gerard_Cannie] [Gerard_Cannie] +aviva-sna 2238/tcp # AVIVA SNA SERVER [Vick_Keshishian] [Vick_Keshishian] +aviva-sna 2238/udp # AVIVA SNA SERVER [Vick_Keshishian] [Vick_Keshishian] +imagequery 2239/tcp # Image Query [Charles_Jacobs] [Charles_Jacobs] +imagequery 2239/udp # Image Query [Charles_Jacobs] [Charles_Jacobs] +recipe 2240/tcp # RECIPe [Charlie_Limoges] [Charlie_Limoges] 1997-12-16 +recipe 2240/udp # RECIPe [Charlie_Limoges] [Charlie_Limoges] 1997-12-16 +ivsd 2241/tcp # IVS Daemon [Thierry_Turletti] [Thierry_Turletti] +ivsd 2241/udp # IVS Daemon [Thierry_Turletti] [Thierry_Turletti] +foliocorp 2242/tcp # Folio Remote Server [Pat_Mcgowan] [Pat_Mcgowan] +foliocorp 2242/udp # Folio Remote Server [Pat_Mcgowan] [Pat_Mcgowan] +magicom 2243/tcp # Magicom Protocol [Yossi_Appleboum] [Yossi_Appleboum] +magicom 2243/udp # Magicom Protocol [Yossi_Appleboum] [Yossi_Appleboum] +nmsserver 2244/tcp # NMS Server [Dmitry_Krasnonosenki] [Dmitry_Krasnonosenki] +nmsserver 2244/udp # NMS Server [Dmitry_Krasnonosenki] [Dmitry_Krasnonosenki] +hao 2245/tcp # HaO [Panic_Ride] [Panic_Ride] +hao 2245/udp # HaO [Panic_Ride] [Panic_Ride] +pc-mta-addrmap 2246/tcp # PacketCable MTA Addr Map [Dave_Maxwell] [Dave_Maxwell] +pc-mta-addrmap 2246/udp # PacketCable MTA Addr Map [Dave_Maxwell] [Dave_Maxwell] +antidotemgrsvr 2247/tcp # Antidote Deployment Manager [Rod_Waltermann] [Rod_Waltermann] 2006-02 +antidotemgrsvr 2247/udp # Antidote Deployment Manager [Rod_Waltermann] [Rod_Waltermann] 2006-02 +ums 2248/tcp # User Management Service [Andrew_Crockford] [Andrew_Crockford] +ums 2248/udp # User Management Service [Andrew_Crockford] [Andrew_Crockford] +rfmp 2249/tcp # RISO File Manager Protocol [Shinji_Yamanaka] [Shinji_Yamanaka] +rfmp 2249/udp # RISO File Manager Protocol [Shinji_Yamanaka] [Shinji_Yamanaka] +remote-collab 2250/tcp # remote-collab [Richard_Walters] [Richard_Walters] +remote-collab 2250/udp # remote-collab [Richard_Walters] [Richard_Walters] +dif-port 2251/tcp # Distributed Framework Port [Sebastien_Lambla] [Sebastien_Lambla] +dif-port 2251/udp # Distributed Framework Port [Sebastien_Lambla] [Sebastien_Lambla] +njenet-ssl 2252/tcp # NJENET using SSL [Hans_U_Schmidt] [Hans_U_Schmidt] +njenet-ssl 2252/udp # NJENET using SSL [Hans_U_Schmidt] [Hans_U_Schmidt] +dtv-chan-req 2253/tcp # DTV Channel Request [Richard_Hodges] [Richard_Hodges] +dtv-chan-req 2253/udp # DTV Channel Request [Richard_Hodges] [Richard_Hodges] +seispoc 2254/tcp # Seismic P.O.C. Port [Robert_Reimiller] [Robert_Reimiller] +seispoc 2254/udp # Seismic P.O.C. Port [Robert_Reimiller] [Robert_Reimiller] +vrtp 2255/tcp # VRTP - ViRtue Transfer [Max_Fudim] [Max_Fudim] +vrtp 2255/udp # VRTP - ViRtue Transfer [Max_Fudim] [Max_Fudim] +pcc-mfp 2256/tcp # PCC MFP [Kunihiko_Morota] [Kunihiko_Morota] 2005-08 +pcc-mfp 2256/udp # PCC MFP [Kunihiko_Morota] [Kunihiko_Morota] 2005-08 +simple-tx-rx 2257/tcp # simple text/file transfer [Daniel_Kilsdonk] [Daniel_Kilsdonk] 2006-08 +simple-tx-rx 2257/udp # simple text/file transfer [Daniel_Kilsdonk] [Daniel_Kilsdonk] 2006-08 +rcts 2258/tcp # Rotorcraft Communications [Terry_Eldridge] [Terry_Eldridge] 2006-08 +# Test System +rcts 2258/udp # Rotorcraft Communications [Terry_Eldridge] [Terry_Eldridge] 2006-08 +# 2259 Unassigned 2011-06-28 +apc-2260 2260/tcp # APC 2260 [American_Power_Conve] [American_Power_Conve] 2002-02 +apc-2260 2260/udp # APC 2260 [American_Power_Conve] [American_Power_Conve] 2002-02 +comotionmaster 2261/tcp # CoMotion Master Server +comotionmaster 2261/udp # CoMotion Master Server +comotionback 2262/tcp # CoMotion Backup Server [Friedman_Wagner_Dobl] [Friedman_Wagner_Dobl] 2005-09 +comotionback 2262/udp # CoMotion Backup Server [Friedman_Wagner_Dobl] [Friedman_Wagner_Dobl] 2005-09 +ecwcfg 2263/tcp # ECweb Configuration Service [Anders_Hjelm] [Anders_Hjelm] 2006-03 +ecwcfg 2263/udp # ECweb Configuration Service [Anders_Hjelm] [Anders_Hjelm] 2006-03 +apx500api-1 2264/tcp # Audio Precision Apx500 API +# Port 1 +apx500api-1 2264/udp # Audio Precision Apx500 API +apx500api-2 2265/tcp # Audio Precision Apx500 API [Robert_Wright] [Robert_Wright] +# Port 2 +apx500api-2 2265/udp # Audio Precision Apx500 API [Robert_Wright] [Robert_Wright] +mfserver 2266/tcp # M-Files Server [Samppa_Lahtinen] [Samppa_Lahtinen] 2004-06 +mfserver 2266/udp # M-files Server [Samppa_Lahtinen] [Samppa_Lahtinen] 2004-06 +ontobroker 2267/tcp # OntoBroker [Dr_Michael_Erdmann] [Dr_Michael_Erdmann] 2004-12 +ontobroker 2267/udp # OntoBroker [Dr_Michael_Erdmann] [Dr_Michael_Erdmann] 2004-12 +amt 2268/tcp # AMT [Tom_Pusateri] [Tom_Pusateri] 2004-12 +amt 2268/udp # AMT [Tom_Pusateri] [Tom_Pusateri] 2004-12 +mikey 2269/tcp # MIKEY [Karl_Norrman] [Karl_Norrman] 2004-12 +mikey 2269/udp # MIKEY [Karl_Norrman] [Karl_Norrman] 2004-12 +starschool 2270/tcp # starSchool [Adam_Ernst] [Adam_Ernst] 2004-12 +starschool 2270/udp # starSchool [Adam_Ernst] [Adam_Ernst] 2004-12 +mmcals 2271/tcp # Secure Meeting Maker +# Scheduling +mmcals 2271/udp # Secure Meeting Maker +mmcal 2272/tcp # Meeting Maker Scheduling [Andrew_H_Derbyshire] [Andrew_H_Derbyshire] 2004-12 +mmcal 2272/udp # Meeting Maker Scheduling [Andrew_H_Derbyshire] [Andrew_H_Derbyshire] 2004-12 +mysql-im 2273/tcp # MySQL Instance Manager [Petr_Chardin] [Petr_Chardin] 2004-12 +mysql-im 2273/udp # MySQL Instance Manager [Petr_Chardin] [Petr_Chardin] 2004-12 +pcttunnell 2274/tcp # PCTTunneller [ProControl_Technolog] [ProControl_Technolog] 2004-12 +pcttunnell 2274/udp # PCTTunneller [ProControl_Technolog] [ProControl_Technolog] 2004-12 +ibridge-data 2275/tcp # iBridge Conferencing +ibridge-data 2275/udp # iBridge Conferencing +ibridge-mgmt 2276/tcp # iBridge Management [Patrick_Fisher] [Patrick_Fisher] 2004-12 +ibridge-mgmt 2276/udp # iBridge Management [Patrick_Fisher] [Patrick_Fisher] 2004-12 +bluectrlproxy 2277/tcp # Bt device control proxy [Mark_de_Rooi] [Mark_de_Rooi] 2004-12 +bluectrlproxy 2277/udp # Bt device control proxy [Mark_de_Rooi] [Mark_de_Rooi] 2004-12 +s3db 2278/tcp # Simple Stacked Sequences [David_Brandon] [David_Brandon] 2006-08 +# Database +s3db 2278/udp # Simple Stacked Sequences [David_Brandon] [David_Brandon] 2006-08 +xmquery 2279/tcp # xmquery [Niels_Christiansen] [Niels_Christiansen] +xmquery 2279/udp # xmquery [Niels_Christiansen] [Niels_Christiansen] +lnvpoller 2280/tcp # LNVPOLLER +lnvpoller 2280/udp # LNVPOLLER +lnvconsole 2281/tcp # LNVCONSOLE +lnvconsole 2281/udp # LNVCONSOLE +lnvalarm 2282/tcp # LNVALARM +lnvalarm 2282/udp # LNVALARM +lnvstatus 2283/tcp # LNVSTATUS +lnvstatus 2283/udp # LNVSTATUS +lnvmaps 2284/tcp # LNVMAPS +lnvmaps 2284/udp # LNVMAPS +lnvmailmon 2285/tcp # LNVMAILMON [John_Payne] [John_Payne] +lnvmailmon 2285/udp # LNVMAILMON [John_Payne] [John_Payne] +nas-metering 2286/tcp # NAS-Metering [Steven_Sawkins] [Steven_Sawkins] +nas-metering 2286/udp # NAS-Metering [Steven_Sawkins] [Steven_Sawkins] +dna 2287/tcp # DNA [Tung_Nguyen] [Tung_Nguyen] +dna 2287/udp # DNA [Tung_Nguyen] [Tung_Nguyen] +netml 2288/tcp # NETML [Jochen_Hansmeyer] [Jochen_Hansmeyer] +netml 2288/udp # NETML [Jochen_Hansmeyer] [Jochen_Hansmeyer] +dict-lookup 2289/tcp # Lookup dict server [William_Fernando_Mat] [William_Fernando_Mat] 2005-01 +dict-lookup 2289/udp # Lookup dict server [William_Fernando_Mat] [William_Fernando_Mat] 2005-01 +sonus-logging 2290/tcp # Sonus Logging Services [Adwait_Sathe] [Adwait_Sathe] 2005-08 +sonus-logging 2290/udp # Sonus Logging Services [Adwait_Sathe] [Adwait_Sathe] 2005-08 +eapsp 2291/tcp # EPSON Advanced Printer Share [SEIKO_EPSON] [SEIKO_EPSON] 2006-06 +eapsp 2291/udp # EPSON Advanced Printer Share [SEIKO_EPSON] [SEIKO_EPSON] 2006-06 +mib-streaming 2292/tcp # Sonus Element Management [Linda_Lin] [Linda_Lin] 2006-08 +mib-streaming 2292/udp # Sonus Element Management [Linda_Lin] [Linda_Lin] 2006-08 +npdbgmngr 2293/tcp # Network Platform Debug [Robert_Byrne] [Robert_Byrne] 2006-09 +npdbgmngr 2293/udp # Network Platform Debug [Robert_Byrne] [Robert_Byrne] 2006-09 +konshus-lm 2294/tcp # Konshus License Manager [Francois_Painchaud] [Francois_Painchaud] +# (FLEX) +konshus-lm 2294/udp # Konshus License Manager [Francois_Painchaud] [Francois_Painchaud] +advant-lm 2295/tcp # Advant License Manager [Lars_Goran_Magnusson] [Lars_Goran_Magnusson] +advant-lm 2295/udp # Advant License Manager [Lars_Goran_Magnusson] [Lars_Goran_Magnusson] +theta-lm 2296/tcp # Theta License Manager [David_Thompson] [David_Thompson] +# (Rainbow) +theta-lm 2296/udp # Theta License Manager [David_Thompson] [David_Thompson] +d2k-datamover1 2297/tcp # D2K DataMover 1 +d2k-datamover1 2297/udp # D2K DataMover 1 +d2k-datamover2 2298/tcp # D2K DataMover 2 [Eric_Lan] [Eric_Lan] +d2k-datamover2 2298/udp # D2K DataMover 2 [Eric_Lan] [Eric_Lan] +pc-telecommute 2299/tcp # PC Telecommute [John_Daniel_Bonamico] [John_Daniel_Bonamico] +pc-telecommute 2299/udp # PC Telecommute [John_Daniel_Bonamico] [John_Daniel_Bonamico] +cvmmon 2300/tcp # CVMMON [Roger_Kumpf] [Roger_Kumpf] +cvmmon 2300/udp # CVMMON [Roger_Kumpf] [Roger_Kumpf] +cpq-wbem 2301/tcp # Compaq HTTP [Scott_Shaffer] [Scott_Shaffer] +cpq-wbem 2301/udp # Compaq HTTP [Scott_Shaffer] [Scott_Shaffer] +binderysupport 2302/tcp # Bindery Support [Narasimha_Rao_N] [Narasimha_Rao_N] +binderysupport 2302/udp # Bindery Support [Narasimha_Rao_N] [Narasimha_Rao_N] +proxy-gateway 2303/tcp # Proxy Gateway [Paul_Funk] [Paul_Funk] +proxy-gateway 2303/udp # Proxy Gateway [Paul_Funk] [Paul_Funk] +attachmate-uts 2304/tcp # Attachmate UTS [George_Gianelos] [George_Gianelos] +attachmate-uts 2304/udp # Attachmate UTS [George_Gianelos] [George_Gianelos] +mt-scaleserver 2305/tcp # MT ScaleServer [Paul_Glaubitz] [Paul_Glaubitz] +mt-scaleserver 2305/udp # MT ScaleServer [Paul_Glaubitz] [Paul_Glaubitz] +tappi-boxnet 2306/tcp # TAPPI BoxNet [Richard_Spartz] [Richard_Spartz] +tappi-boxnet 2306/udp # TAPPI BoxNet [Richard_Spartz] [Richard_Spartz] +pehelp 2307/tcp # pehelp [Jens_Kilian] [Jens_Kilian] +pehelp 2307/udp # pehelp [Jens_Kilian] [Jens_Kilian] +sdhelp 2308/tcp # sdhelp [Annette_Klecha] [Annette_Klecha] +sdhelp 2308/udp # sdhelp [Annette_Klecha] [Annette_Klecha] +sdserver 2309/tcp # SD Server +sdserver 2309/udp # SD Server +sdclient 2310/tcp # SD Client [Jeurgen_Broesamle] [Jeurgen_Broesamle] +sdclient 2310/udp # SD Client [Jeurgen_Broesamle] [Jeurgen_Broesamle] +messageservice 2311/tcp # Message Service +messageservice 2311/udp # Message Service +wanscaler 2312/tcp # WANScaler Communication [Allen_Samuels] [Allen_Samuels] 2006-11 +wanscaler 2312/udp # WANScaler Communication [Allen_Samuels] [Allen_Samuels] 2006-11 +iapp 2313/tcp # IAPP (Inter Access Point [Henri_Moelard] [Henri_Moelard] +iapp 2313/udp # IAPP (Inter Access Point [Henri_Moelard] [Henri_Moelard] +cr-websystems 2314/tcp # CR WebSystems [Robin_Giese] [Robin_Giese] +cr-websystems 2314/udp # CR WebSystems [Robin_Giese] [Robin_Giese] +precise-sft 2315/tcp # Precise Sft. [Michael_Landwehr] [Michael_Landwehr] +precise-sft 2315/udp # Precise Sft. [Michael_Landwehr] [Michael_Landwehr] +sent-lm 2316/tcp # SENT License Manager [Pisharath_Krishnan] [Pisharath_Krishnan] +sent-lm 2316/udp # SENT License Manager [Pisharath_Krishnan] [Pisharath_Krishnan] +attachmate-g32 2317/tcp # Attachmate G32 [Bryce_Bhatnagar] [Bryce_Bhatnagar] +attachmate-g32 2317/udp # Attachmate G32 [Bryce_Bhatnagar] [Bryce_Bhatnagar] +cadencecontrol 2318/tcp # Cadence Control [Buck_Caldwell] [Buck_Caldwell] +cadencecontrol 2318/udp # Cadence Control [Buck_Caldwell] [Buck_Caldwell] +infolibria 2319/tcp # InfoLibria [Chris_Chiotasso] [Chris_Chiotasso] +infolibria 2319/udp # InfoLibria [Chris_Chiotasso] [Chris_Chiotasso] +siebel-ns 2320/tcp # Siebel NS [Gilberto_Arnaiz] [Gilberto_Arnaiz] +siebel-ns 2320/udp # Siebel NS [Gilberto_Arnaiz] [Gilberto_Arnaiz] +rdlap 2321/tcp # RDLAP [Robert_Wiebe] [Robert_Wiebe] +rdlap 2321/udp # RDLAP [Robert_Wiebe] [Robert_Wiebe] +ofsd 2322/tcp # ofsd +ofsd 2322/udp # ofsd +3d-nfsd 2323/tcp # 3d-nfsd [Mike_Sherrill] [Mike_Sherrill] +3d-nfsd 2323/udp # 3d-nfsd [Mike_Sherrill] [Mike_Sherrill] +cosmocall 2324/tcp # Cosmocall [Steve_Dellutri] [Steve_Dellutri] +cosmocall 2324/udp # Cosmocall [Steve_Dellutri] [Steve_Dellutri] +ansysli 2325/tcp # ANSYS Licensing Interconnect [Suzanne_Lorrin] [Suzanne_Lorrin] Modified: 27 October 2008 +ansysli 2325/udp # ANSYS Licensing Interconnect [Suzanne_Lorrin] [Suzanne_Lorrin] Modified: 27 October 2008 +idcp 2326/tcp # IDCP [Keisokugiken_Corp] [Keisokugiken_Corp] +idcp 2326/udp # IDCP [Keisokugiken_Corp] [Keisokugiken_Corp] +xingcsm 2327/tcp # xingcsm [Dave_Spencer] [Dave_Spencer] +xingcsm 2327/udp # xingcsm [Dave_Spencer] [Dave_Spencer] +netrix-sftm 2328/tcp # Netrix SFTM [Garrett_Herschleb] [Garrett_Herschleb] +netrix-sftm 2328/udp # Netrix SFTM [Garrett_Herschleb] [Garrett_Herschleb] +nvd 2329/tcp # NVD [Peter_Weyman] [Peter_Weyman] +nvd 2329/udp # NVD [Peter_Weyman] [Peter_Weyman] +tscchat 2330/tcp # TSCCHAT [Mike_Jackson] [Mike_Jackson] +tscchat 2330/udp # TSCCHAT [Mike_Jackson] [Mike_Jackson] +agentview 2331/tcp # AGENTVIEW [Ram_Iyer] [Ram_Iyer] +agentview 2331/udp # AGENTVIEW [Ram_Iyer] [Ram_Iyer] +rcc-host 2332/tcp # RCC Host [Martin_Shoemaker] [Martin_Shoemaker] +rcc-host 2332/udp # RCC Host [Martin_Shoemaker] [Martin_Shoemaker] +snapp 2333/tcp # SNAPP [Dan_Burrows] [Dan_Burrows] 2009-09-25 +snapp 2333/udp # SNAPP [Dan_Burrows] [Dan_Burrows] 2009-09-25 +ace-client 2334/tcp # ACE Client Auth +ace-client 2334/udp # ACE Client Auth +ace-proxy 2335/tcp # ACE Proxy [Riaz_Zolfonoon] [Riaz_Zolfonoon] +ace-proxy 2335/udp # ACE Proxy [Riaz_Zolfonoon] [Riaz_Zolfonoon] +appleugcontrol 2336/tcp # Apple UG Control [Gene_Tyacke] [Gene_Tyacke] +appleugcontrol 2336/udp # Apple UG Control [Gene_Tyacke] [Gene_Tyacke] +ideesrv 2337/tcp # ideesrv [Marazzi] [Marazzi] +ideesrv 2337/udp # ideesrv [Marazzi] [Marazzi] +norton-lambert 2338/tcp # Norton Lambert [Richard_de_Mornay] [Richard_de_Mornay] +norton-lambert 2338/udp # Norton Lambert [Richard_de_Mornay] [Richard_de_Mornay] +3com-webview 2339/tcp # 3Com WebView [Jennifer_Grace] [Jennifer_Grace] +3com-webview 2339/udp # 3Com WebView [Jennifer_Grace] [Jennifer_Grace] +# WRS Registry +# +wrs-registry 2340/tcp # IANA assigned this [Christophe_Cleraux] [Christophe_Cleraux] +# "wrs_registry". +# This entry is an alias to "wrs-registry". This entry is now +wrs_registry 2340/tcp # WRS Registry [Christophe_Cleraux] [Christophe_Cleraux] historic, not usable for use with many common service +# +wrs-registry 2340/udp # IANA assigned this [Christophe_Cleraux] [Christophe_Cleraux] +wrs_registry 2340/udp # WRS Registry [Christophe_Cleraux] [Christophe_Cleraux] historic, not usable for use with many common service +xiostatus 2341/tcp # XIO Status [Randy_Maas] [Randy_Maas] +xiostatus 2341/udp # XIO Status [Randy_Maas] [Randy_Maas] +manage-exec 2342/tcp # Seagate Manage Exec [Jim_Flaherty] [Jim_Flaherty] +manage-exec 2342/udp # Seagate Manage Exec [Jim_Flaherty] [Jim_Flaherty] +nati-logos 2343/tcp # nati logos [James_Juhasz] [James_Juhasz] +nati-logos 2343/udp # nati logos [James_Juhasz] [James_Juhasz] +fcmsys 2344/tcp # fcmsys +fcmsys 2344/udp # fcmsys +dbm 2345/tcp # dbm [Dean_Robson] [Dean_Robson] +dbm 2345/udp # dbm [Dean_Robson] [Dean_Robson] +# Game Connection Port +# +redstorm-join 2346/tcp # IANA assigned this +# "redstorm_join". +# This entry is an alias to "redstorm-join". This entry is now +redstorm_join 2346/tcp # Game Connection Port historic, not usable for use with many common service +# +redstorm-join 2346/udp # IANA assigned this +redstorm_join 2346/udp # Game Connection Port historic, not usable for use with many common service +# Game Announcement and +# Location +# +redstorm-find 2347/tcp # IANA assigned this +# "redstorm_find". +# Game Announcement and This entry is an alias to "redstorm-find". This entry is now +redstorm_find 2347/tcp # Location historic, not usable for use with many common service +# +redstorm-find 2347/udp # IANA assigned this +redstorm_find 2347/udp # Location historic, not usable for use with many common service +# Information to query for +# game status +# +redstorm-info 2348/tcp # IANA assigned this +# "redstorm_info". +# Information to query for This entry is an alias to "redstorm-info". This entry is now +redstorm_info 2348/tcp # game status historic, not usable for use with many common service +# +redstorm-info 2348/udp # IANA assigned this +redstorm_info 2348/udp # game status historic, not usable for use with many common service +# Diagnostics Port +# +redstorm-diag 2349/tcp # IANA assigned this [David_Weinstein] [David_Weinstein] +# "redstorm_diag". +# This entry is an alias to "redstorm-diag". This entry is now +redstorm_diag 2349/tcp # Diagnostics Port [David_Weinstein] [David_Weinstein] historic, not usable for use with many common service +# +redstorm-diag 2349/udp # IANA assigned this [David_Weinstein] [David_Weinstein] +redstorm_diag 2349/udp # Diagnostics Port [David_Weinstein] [David_Weinstein] historic, not usable for use with many common service +psbserver 2350/tcp # Pharos Booking Server +psbserver 2350/udp # Pharos Booking Server +psrserver 2351/tcp # psrserver +psrserver 2351/udp # psrserver +pslserver 2352/tcp # pslserver +pslserver 2352/udp # pslserver +pspserver 2353/tcp # pspserver +pspserver 2353/udp # pspserver +psprserver 2354/tcp # psprserver +psprserver 2354/udp # psprserver +psdbserver 2355/tcp # psdbserver [Paul_Reddy] [Paul_Reddy] +psdbserver 2355/udp # psdbserver [Paul_Reddy] [Paul_Reddy] +gxtelmd 2356/tcp # GXT License Managemant [Robert_Hodgson] [Robert_Hodgson] +gxtelmd 2356/udp # GXT License Managemant [Robert_Hodgson] [Robert_Hodgson] +unihub-server 2357/tcp # UniHub Server [Tim_Kenyon] [Tim_Kenyon] +unihub-server 2357/udp # UniHub Server [Tim_Kenyon] [Tim_Kenyon] +futrix 2358/tcp # Futrix [Peter_Frankenberg] [Peter_Frankenberg] +futrix 2358/udp # Futrix [Peter_Frankenberg] [Peter_Frankenberg] +flukeserver 2359/tcp # FlukeServer [Bill_Marbaker] [Bill_Marbaker] +flukeserver 2359/udp # FlukeServer [Bill_Marbaker] [Bill_Marbaker] +nexstorindltd 2360/tcp # NexstorIndLtd [NexStor_India_Limite] [NexStor_India_Limite] +nexstorindltd 2360/udp # NexstorIndLtd [NexStor_India_Limite] [NexStor_India_Limite] +tl1 2361/tcp # TL1 [Charles_Scott_Robers] [Charles_Scott_Robers] +tl1 2361/udp # TL1 [Charles_Scott_Robers] [Charles_Scott_Robers] +digiman 2362/tcp # digiman [Aaron_S_Kurland] [Aaron_S_Kurland] +digiman 2362/udp # digiman [Aaron_S_Kurland] [Aaron_S_Kurland] +mediacntrlnfsd 2363/tcp # Media Central NFSD [Shivakumar_S_Govind] [Shivakumar_S_Govind] +mediacntrlnfsd 2363/udp # Media Central NFSD [Shivakumar_S_Govind] [Shivakumar_S_Govind] +oi-2000 2364/tcp # OI-2000 [Software_Horizons_In] [Software_Horizons_In] +oi-2000 2364/udp # OI-2000 [Software_Horizons_In] [Software_Horizons_In] +dbref 2365/tcp # dbref [Yoshihiro_Yamazaki] [Yoshihiro_Yamazaki] +dbref 2365/udp # dbref [Yoshihiro_Yamazaki] [Yoshihiro_Yamazaki] +qip-login 2366/tcp # qip-login [Mike_Morgan] [Mike_Morgan] +qip-login 2366/udp # qip-login [Mike_Morgan] [Mike_Morgan] +service-ctrl 2367/tcp # Service Control [Humberto_Sanchez] [Humberto_Sanchez] +service-ctrl 2367/udp # Service Control [Humberto_Sanchez] [Humberto_Sanchez] +opentable 2368/tcp # OpenTable [Brett_Goldstein] [Brett_Goldstein] +opentable 2368/udp # OpenTable [Brett_Goldstein] [Brett_Goldstein] +# 2369 Unassigned De-registered (28 March 2006) +# Port 2370 +l3-hbmon 2370/tcp # L3-HBMon [Dolores_Scott] [Dolores_Scott] Unofficially +# used by +# Compaq +l3-hbmon 2370/udp # L3-HBMon [Dolores_Scott] [Dolores_Scott] Unofficially +worldwire 2371/tcp # Compaq WorldWire Port [Michael_Spratte] [Michael_Spratte] +worldwire 2371/udp # Compaq WorldWire Port [Michael_Spratte] [Michael_Spratte] +lanmessenger 2372/tcp # LanMessenger [Garrett_Padera] [Garrett_Padera] 2008-02-01 +lanmessenger 2372/udp # LanMessenger [Garrett_Padera] [Garrett_Padera] 2008-02-01 +remographlm 2373/tcp # Remograph License Manager [Per_Fahlberg] [Per_Fahlberg] 2009-01-21 +# 2373 udp Reserved +hydra 2374/tcp # Hydra RPC [Jacob_Feisley] [Jacob_Feisley] 2009-01-21 +# 2374 udp Reserved +# 2375-2380 Unassigned +compaq-https 2381/tcp # Compaq HTTPS [Scott_Shaffer] [Scott_Shaffer] +compaq-https 2381/udp # Compaq HTTPS [Scott_Shaffer] [Scott_Shaffer] +ms-olap3 2382/tcp # Microsoft OLAP +ms-olap3 2382/udp # Microsoft OLAP +ms-olap4 2383/tcp # Microsoft OLAP [Mosha_Pasumansky] [Mosha_Pasumansky] +ms-olap4 2383/udp # Microsoft OLAP [Mosha_Pasumansky] [Mosha_Pasumansky] +sd-request 2384/tcp # SD-REQUEST +sd-capacity 2384/udp # SD-CAPACITY [Jason_McManus_2] [Jason_McManus_2] +sd-data 2385/tcp # SD-DATA [Jason_McManus_2] [Jason_McManus_2] +sd-data 2385/udp # SD-DATA [Jason_McManus_2] [Jason_McManus_2] +virtualtape 2386/tcp # Virtual Tape +virtualtape 2386/udp # Virtual Tape +vsamredirector 2387/tcp # VSAM Redirector [Ingo_Franzki] [Ingo_Franzki] +vsamredirector 2387/udp # VSAM Redirector [Ingo_Franzki] [Ingo_Franzki] +mynahautostart 2388/tcp # MYNAH AutoStart [Thomas_J_Klehr] [Thomas_J_Klehr] +mynahautostart 2388/udp # MYNAH AutoStart [Thomas_J_Klehr] [Thomas_J_Klehr] +ovsessionmgr 2389/tcp # OpenView Session Mgr [Eric_Pulsipher] [Eric_Pulsipher] +ovsessionmgr 2389/udp # OpenView Session Mgr [Eric_Pulsipher] [Eric_Pulsipher] +rsmtp 2390/tcp # RSMTP [Geoff_Collyer] [Geoff_Collyer] +rsmtp 2390/udp # RSMTP [Geoff_Collyer] [Geoff_Collyer] +3com-net-mgmt 2391/tcp # 3COM Net Management [Prathibha_Nagvar] [Prathibha_Nagvar] +3com-net-mgmt 2391/udp # 3COM Net Management [Prathibha_Nagvar] [Prathibha_Nagvar] +tacticalauth 2392/tcp # Tactical Auth [David_Yon] [David_Yon] +tacticalauth 2392/udp # Tactical Auth [David_Yon] [David_Yon] +ms-olap1 2393/tcp # MS OLAP 1 +ms-olap1 2393/udp # MS OLAP 1 +ms-olap2 2394/tcp # MS OLAP 2 [Mosha_Pasumansky] [Mosha_Pasumansky] +ms-olap2 2394/udp # MS OLAP 2 [Mosha_Pasumansky] [Mosha_Pasumansky] +# LAN900 Remote +# +lan900-remote 2395/tcp # IANA assigned this [Tom_Quinlan] [Tom_Quinlan] +# "lan900_remote". +# This entry is an alias to "lan900-remote". This entry is now +lan900_remote 2395/tcp # LAN900 Remote [Tom_Quinlan] [Tom_Quinlan] historic, not usable for use with many common service +# +lan900-remote 2395/udp # IANA assigned this [Tom_Quinlan] [Tom_Quinlan] +lan900_remote 2395/udp # LAN900 Remote [Tom_Quinlan] [Tom_Quinlan] historic, not usable for use with many common service +wusage 2396/tcp # Wusage [Thomas_Boutell] [Thomas_Boutell] +wusage 2396/udp # Wusage [Thomas_Boutell] [Thomas_Boutell] +ncl 2397/tcp # NCL [Robert_Wiebe] [Robert_Wiebe] +ncl 2397/udp # NCL [Robert_Wiebe] [Robert_Wiebe] +orbiter 2398/tcp # Orbiter [David_Goldberg] [David_Goldberg] +orbiter 2398/udp # Orbiter [David_Goldberg] [David_Goldberg] +fmpro-fdal 2399/tcp # FileMaker, Inc. - Data [Clay_Maeckal] [Clay_Maeckal] +# Access Layer +fmpro-fdal 2399/udp # FileMaker, Inc. - Data [Clay_Maeckal] [Clay_Maeckal] +opequus-server 2400/tcp # OpEquus Server [Gavin_Hutchinson_2] [Gavin_Hutchinson_2] +opequus-server 2400/udp # OpEquus Server [Gavin_Hutchinson_2] [Gavin_Hutchinson_2] +cvspserver 2401/tcp # cvspserver [Jim_Kingdon] [Jim_Kingdon] +cvspserver 2401/udp # cvspserver [Jim_Kingdon] [Jim_Kingdon] +taskmaster2000 2402/tcp # TaskMaster 2000 Server +taskmaster2000 2402/udp # TaskMaster 2000 Server +taskmaster2000 2403/tcp # TaskMaster 2000 Web [Ed_Odjaghian] [Ed_Odjaghian] +taskmaster2000 2403/udp # TaskMaster 2000 Web [Ed_Odjaghian] [Ed_Odjaghian] +iec-104 2404/tcp # IEC 60870-5-104 process [Walter_K_Eichelburg] [Walter_K_Eichelburg] +# control over IP +iec-104 2404/udp # IEC 60870-5-104 process [Walter_K_Eichelburg] [Walter_K_Eichelburg] +trc-netpoll 2405/tcp # TRC Netpoll [Bizhan_Ghavami] [Bizhan_Ghavami] +trc-netpoll 2405/udp # TRC Netpoll [Bizhan_Ghavami] [Bizhan_Ghavami] +jediserver 2406/tcp # JediServer [Paul_McEntire] [Paul_McEntire] +jediserver 2406/udp # JediServer [Paul_McEntire] [Paul_McEntire] +orion 2407/tcp # Orion [Matthew_Horoschun] [Matthew_Horoschun] +orion 2407/udp # Orion [Matthew_Horoschun] [Matthew_Horoschun] +railgun-webaccl 2408/tcp # CloudFlare Railgun Web [CloudFlare] [John_Graham_Cumming] 2012-03-09 +# Acceleration Protocol +# 2408 udp Reserved 2012-03-09 This entry is being removed on 2012-03-09. +sns-protocol 2409/tcp # SNS Protocol [Amir_Blich] [Amir_Blich] +sns-protocol 2409/udp # SNS Protocol [Amir_Blich] [Amir_Blich] +vrts-registry 2410/tcp # VRTS Registry [Pranay_Varma] [Pranay_Varma] +vrts-registry 2410/udp # VRTS Registry [Pranay_Varma] [Pranay_Varma] +netwave-ap-mgmt 2411/tcp # Netwave AP Management [Johnny_Zweig] [Johnny_Zweig] +netwave-ap-mgmt 2411/udp # Netwave AP Management [Johnny_Zweig] [Johnny_Zweig] +cdn 2412/tcp # CDN [Alan_Noble] [Alan_Noble] +cdn 2412/udp # CDN [Alan_Noble] [Alan_Noble] +orion-rmi-reg 2413/tcp # orion-rmi-reg [J_S_Greenfield_2] [J_S_Greenfield_2] +orion-rmi-reg 2413/udp # orion-rmi-reg [J_S_Greenfield_2] [J_S_Greenfield_2] +beeyond 2414/tcp # Beeyond [Bob_Deblier] [Bob_Deblier] +beeyond 2414/udp # Beeyond [Bob_Deblier] [Bob_Deblier] +codima-rtp 2415/tcp # Codima Remote Transaction [Sylvia_Ross] [Sylvia_Ross] +codima-rtp 2415/udp # Codima Remote Transaction [Sylvia_Ross] [Sylvia_Ross] +rmtserver 2416/tcp # RMT Server [Yvon_Marineau] [Yvon_Marineau] +rmtserver 2416/udp # RMT Server [Yvon_Marineau] [Yvon_Marineau] +composit-server 2417/tcp # Composit Server [Katsuaki_Naoi] [Katsuaki_Naoi] +composit-server 2417/udp # Composit Server [Katsuaki_Naoi] [Katsuaki_Naoi] +cas 2418/tcp # cas [Akiyoshi_Ochi] [Akiyoshi_Ochi] +cas 2418/udp # cas [Akiyoshi_Ochi] [Akiyoshi_Ochi] +attachmate-s2s 2419/tcp # Attachmate S2S [Chris_Rominski] [Chris_Rominski] +attachmate-s2s 2419/udp # Attachmate S2S [Chris_Rominski] [Chris_Rominski] +dslremote-mgmt 2420/tcp # DSL Remote Management [Westell] [Westell] +dslremote-mgmt 2420/udp # DSL Remote Management [Westell] [Westell] +g-talk 2421/tcp # G-Talk [Matt_Hammond] [Matt_Hammond] +g-talk 2421/udp # G-Talk [Matt_Hammond] [Matt_Hammond] +crmsbits 2422/tcp # CRMSBITS [Rod_Ward] [Rod_Ward] +crmsbits 2422/udp # CRMSBITS [Rod_Ward] [Rod_Ward] +rnrp 2423/tcp # RNRP [Per_Sahlqvist] [Per_Sahlqvist] +rnrp 2423/udp # RNRP [Per_Sahlqvist] [Per_Sahlqvist] +kofax-svr 2424/tcp # KOFAX-SVR [Steven_Kilby] [Steven_Kilby] 2011-04-25 +kofax-svr 2424/udp # KOFAX-SVR [Steven_Kilby] [Steven_Kilby] 2011-04-25 +fjitsuappmgr 2425/tcp # Fujitsu App Manager [Hiroyuki_Kawabuchi] [Hiroyuki_Kawabuchi] +fjitsuappmgr 2425/udp # Fujitsu App Manager [Hiroyuki_Kawabuchi] [Hiroyuki_Kawabuchi] +# 2426 Unassigned 2002-04-29 +mgcp-gateway 2427/tcp # Media Gateway Control [Christian_Huitema] [Christian_Huitema] +# Protocol Gateway +mgcp-gateway 2427/udp # Media Gateway Control [Christian_Huitema] [Christian_Huitema] +ott 2428/tcp # One Way Trip Time [Greg_Troxel] [Greg_Troxel] +ott 2428/udp # One Way Trip Time [Greg_Troxel] [Greg_Troxel] +ft-role 2429/tcp # FT-ROLE [Doug_Boone] [Doug_Boone] +ft-role 2429/udp # FT-ROLE [Doug_Boone] [Doug_Boone] +venus 2430/tcp # venus +venus 2430/udp # venus +venus-se 2431/tcp # venus-se +venus-se 2431/udp # venus-se +codasrv 2432/tcp # codasrv +codasrv 2432/udp # codasrv +codasrv-se 2433/tcp # codasrv-se [Robert_Watson] [Robert_Watson] +codasrv-se 2433/udp # codasrv-se [Robert_Watson] [Robert_Watson] +pxc-epmap 2434/tcp # pxc-epmap [Jun_Nakamura] [Jun_Nakamura] +pxc-epmap 2434/udp # pxc-epmap [Jun_Nakamura] [Jun_Nakamura] +optilogic 2435/tcp # OptiLogic [Clark_Williams] [Clark_Williams] +optilogic 2435/udp # OptiLogic [Clark_Williams] [Clark_Williams] +topx 2436/tcp # TOP/X [Dragos_Pop] [Dragos_Pop] +topx 2436/udp # TOP/X [Dragos_Pop] [Dragos_Pop] +unicontrol 2437/tcp # UniControl [Ing_Markus_Huemer] [Ing_Markus_Huemer] +unicontrol 2437/udp # UniControl [Ing_Markus_Huemer] [Ing_Markus_Huemer] +msp 2438/tcp # MSP [Evan_Caves] [Evan_Caves] +msp 2438/udp # MSP [Evan_Caves] [Evan_Caves] +sybasedbsynch 2439/tcp # SybaseDBSynch [Dave_Neudoerffer] [Dave_Neudoerffer] +sybasedbsynch 2439/udp # SybaseDBSynch [Dave_Neudoerffer] [Dave_Neudoerffer] +spearway 2440/tcp # Spearway Lockers [Pierre_Frisch] [Pierre_Frisch] +spearway 2440/udp # Spearway Lockers [Pierre_Frisch] [Pierre_Frisch] +pvsw-inet 2441/tcp # Pervasive I*net Data Server [Chuck_Talk] [Chuck_Talk] +pvsw-inet 2441/udp # Pervasive I*net Data Server [Chuck_Talk] [Chuck_Talk] +netangel 2442/tcp # Netangel [Ladislav_Baranyay] [Ladislav_Baranyay] +netangel 2442/udp # Netangel [Ladislav_Baranyay] [Ladislav_Baranyay] +powerclientcsf 2443/tcp # PowerClient Central Storage [Brian_Klassen] [Brian_Klassen] +powerclientcsf 2443/udp # PowerClient Central Storage [Brian_Klassen] [Brian_Klassen] +btpp2sectrans 2444/tcp # BT PP2 Sectrans [Ian_Daniels] [Ian_Daniels] +btpp2sectrans 2444/udp # BT PP2 Sectrans [Ian_Daniels] [Ian_Daniels] +dtn1 2445/tcp # DTN1 [Bob_Gaddie] [Bob_Gaddie] +dtn1 2445/udp # DTN1 [Bob_Gaddie] [Bob_Gaddie] +# bues_service +# +bues-service 2446/tcp # IANA assigned this [Leonhard_Diekmann] [Leonhard_Diekmann] +# "bues_service". +# This entry is an alias to "bues-service". This entry is now +bues_service 2446/tcp # bues_service [Leonhard_Diekmann] [Leonhard_Diekmann] historic, not usable for use with many common service +# +bues-service 2446/udp # IANA assigned this [Leonhard_Diekmann] [Leonhard_Diekmann] +bues_service 2446/udp # bues_service [Leonhard_Diekmann] [Leonhard_Diekmann] historic, not usable for use with many common service +ovwdb 2447/tcp # OpenView NNM daemon [Eric_Pulsipher_2] [Eric_Pulsipher_2] +ovwdb 2447/udp # OpenView NNM daemon [Eric_Pulsipher_2] [Eric_Pulsipher_2] +hpppssvr 2448/tcp # hpppsvr [Bridgette_Landers] [Bridgette_Landers] +hpppssvr 2448/udp # hpppsvr [Bridgette_Landers] [Bridgette_Landers] +ratl 2449/tcp # RATL [Paul_Greenfield] [Paul_Greenfield] +ratl 2449/udp # RATL [Paul_Greenfield] [Paul_Greenfield] +netadmin 2450/tcp # netadmin +netadmin 2450/udp # netadmin +netchat 2451/tcp # netchat [Julian_Mehnle] [Julian_Mehnle] +netchat 2451/udp # netchat [Julian_Mehnle] [Julian_Mehnle] +snifferclient 2452/tcp # SnifferClient [Amy_Weaver_2] [Amy_Weaver_2] +snifferclient 2452/udp # SnifferClient [Amy_Weaver_2] [Amy_Weaver_2] +madge-ltd 2453/tcp # madge ltd [Mark_Lyall] [Mark_Lyall] +madge-ltd 2453/udp # madge ltd [Mark_Lyall] [Mark_Lyall] +indx-dds 2454/tcp # IndX-DDS [Paul_Carmichael] [Paul_Carmichael] +indx-dds 2454/udp # IndX-DDS [Paul_Carmichael] [Paul_Carmichael] +wago-io-system 2455/tcp # WAGO-IO-SYSTEM [Jorg_Hoffmann] [Jorg_Hoffmann] +wago-io-system 2455/udp # WAGO-IO-SYSTEM [Jorg_Hoffmann] [Jorg_Hoffmann] +altav-remmgt 2456/tcp # altav-remmgt [Gary_M_Allen] [Gary_M_Allen] +altav-remmgt 2456/udp # altav-remmgt [Gary_M_Allen] [Gary_M_Allen] +rapido-ip 2457/tcp # Rapido_IP [Man_Shuen_Cheung] [Man_Shuen_Cheung] +rapido-ip 2457/udp # Rapido_IP [Man_Shuen_Cheung] [Man_Shuen_Cheung] +griffin 2458/tcp # griffin [Tom_Taylor] [Tom_Taylor] +griffin 2458/udp # griffin [Tom_Taylor] [Tom_Taylor] +community 2459/tcp # Community [David_Schwartz] [David_Schwartz] +community 2459/udp # Community [David_Schwartz] [David_Schwartz] +ms-theater 2460/tcp # ms-theater [Anton_Kucer] [Anton_Kucer] +ms-theater 2460/udp # ms-theater [Anton_Kucer] [Anton_Kucer] +qadmifoper 2461/tcp # qadmifoper +qadmifoper 2461/udp # qadmifoper +qadmifevent 2462/tcp # qadmifevent [Pekka_Takaranta] [Pekka_Takaranta] +qadmifevent 2462/udp # qadmifevent [Pekka_Takaranta] [Pekka_Takaranta] +lsi-raid-mgmt 2463/tcp # LSI RAID Management [Kevin_Copas] [Kevin_Copas] 2008-02-07 +lsi-raid-mgmt 2463/udp # LSI RAID Management [Kevin_Copas] [Kevin_Copas] 2008-02-07 +direcpc-si 2464/tcp # DirecPC SI [Doug_Dillon] [Doug_Dillon] +direcpc-si 2464/udp # DirecPC SI [Doug_Dillon] [Doug_Dillon] +lbm 2465/tcp # Load Balance Management +lbm 2465/udp # Load Balance Management +lbf 2466/tcp # Load Balance Forwarding [Kazuhiro_Koide] [Kazuhiro_Koide] +lbf 2466/udp # Load Balance Forwarding [Kazuhiro_Koide] [Kazuhiro_Koide] +high-criteria 2467/tcp # High Criteria [Konstantin_Iavid] [Konstantin_Iavid] +high-criteria 2467/udp # High Criteria [Konstantin_Iavid] [Konstantin_Iavid] +qip-msgd 2468/tcp # qip_msgd [Mike_Morgan] [Mike_Morgan] +qip-msgd 2468/udp # qip_msgd [Mike_Morgan] [Mike_Morgan] +mti-tcs-comm 2469/tcp # MTI-TCS-COMM [Mario_Bonin] [Mario_Bonin] +mti-tcs-comm 2469/udp # MTI-TCS-COMM [Mario_Bonin] [Mario_Bonin] +taskman-port 2470/tcp # taskman port [Boris_Panteleev] [Boris_Panteleev] +taskman-port 2470/udp # taskman port [Boris_Panteleev] [Boris_Panteleev] +seaodbc 2471/tcp # SeaODBC [Adrian_Hornby] [Adrian_Hornby] +seaodbc 2471/udp # SeaODBC [Adrian_Hornby] [Adrian_Hornby] +c3 2472/tcp # C3 [Eckhard_Grieger] [Eckhard_Grieger] +c3 2472/udp # C3 [Eckhard_Grieger] [Eckhard_Grieger] +aker-cdp 2473/tcp # Aker-cdp [Rodrigo_Ormonde] [Rodrigo_Ormonde] +aker-cdp 2473/udp # Aker-cdp [Rodrigo_Ormonde] [Rodrigo_Ormonde] +vitalanalysis 2474/tcp # Vital Analysis [Srinivas_Reddy] [Srinivas_Reddy] +vitalanalysis 2474/udp # Vital Analysis [Srinivas_Reddy] [Srinivas_Reddy] +ace-server 2475/tcp # ACE Server +ace-server 2475/udp # ACE Server +ace-svr-prop 2476/tcp # ACE Server Propagation +ace-svr-prop 2476/udp # ACE Server Propagation +ssm-cvs 2477/tcp # SecurSight Certificate +# Valifation Service +ssm-cvs 2477/udp # SecurSight Certificate +ssm-cssps 2478/tcp # SecurSight Authentication +# Server (SSL) +ssm-cssps 2478/udp # SecurSight Authentication +ssm-els 2479/tcp # SecurSight Event Logging [John_Linn] [John_Linn] +ssm-els 2479/udp # SecurSight Event Logging [John_Linn] [John_Linn] +powerexchange 2480/tcp # Informatica PowerExchange [Dale_Norman] [Dale_Norman] +# Listener +powerexchange 2480/udp # Informatica PowerExchange [Dale_Norman] [Dale_Norman] +giop 2481/tcp # Oracle GIOP +giop 2481/udp # Oracle GIOP +giop-ssl 2482/tcp # Oracle GIOP SSL +giop-ssl 2482/udp # Oracle GIOP SSL +ttc 2483/tcp # Oracle TTC +ttc 2483/udp # Oracle TTC +ttc-ssl 2484/tcp # Oracle TTC SSL [Chandar_Venkataraman] [Chandar_Venkataraman] +ttc-ssl 2484/udp # Oracle TTC SSL [Chandar_Venkataraman] [Chandar_Venkataraman] +netobjects1 2485/tcp # Net Objects1 +netobjects1 2485/udp # Net Objects1 +netobjects2 2486/tcp # Net Objects2 [Francois_Granade] [Francois_Granade] +netobjects2 2486/udp # Net Objects2 [Francois_Granade] [Francois_Granade] +pns 2487/tcp # Policy Notice Service [Akiyoshi_Ochi] [Akiyoshi_Ochi] +pns 2487/udp # Policy Notice Service [Akiyoshi_Ochi] [Akiyoshi_Ochi] +moy-corp 2488/tcp # Moy Corporation [Gang_Gong_Moy] [Gang_Gong_Moy] +moy-corp 2488/udp # Moy Corporation [Gang_Gong_Moy] [Gang_Gong_Moy] +tsilb 2489/tcp # TSILB [James_Irwin] [James_Irwin] +tsilb 2489/udp # TSILB [James_Irwin] [James_Irwin] +qip-qdhcp 2490/tcp # qip_qdhcp [Mike_Morgan] [Mike_Morgan] +qip-qdhcp 2490/udp # qip_qdhcp [Mike_Morgan] [Mike_Morgan] +conclave-cpp 2491/tcp # Conclave CPP [Larry_Lipstone] [Larry_Lipstone] +conclave-cpp 2491/udp # Conclave CPP [Larry_Lipstone] [Larry_Lipstone] +groove 2492/tcp # GROOVE [Ray_Ozzie] [Ray_Ozzie] +groove 2492/udp # GROOVE [Ray_Ozzie] [Ray_Ozzie] +talarian-mqs 2493/tcp # Talarian MQS [Jim_Stabile] [Jim_Stabile] +talarian-mqs 2493/udp # Talarian MQS [Jim_Stabile] [Jim_Stabile] +bmc-ar 2494/tcp # BMC AR [Portnoy_Boxman] [Portnoy_Boxman] +bmc-ar 2494/udp # BMC AR [Portnoy_Boxman] [Portnoy_Boxman] +fast-rem-serv 2495/tcp # Fast Remote Services [Scott_St_Clair] [Scott_St_Clair] +fast-rem-serv 2495/udp # Fast Remote Services [Scott_St_Clair] [Scott_St_Clair] +dirgis 2496/tcp # DIRGIS [Deutschland_Informat] [Deutschland_Informat] +dirgis 2496/udp # DIRGIS [Deutschland_Informat] [Deutschland_Informat] +quaddb 2497/tcp # Quad DB [Jeff_Rosenthal] [Jeff_Rosenthal] +quaddb 2497/udp # Quad DB [Jeff_Rosenthal] [Jeff_Rosenthal] +odn-castraq 2498/tcp # ODN-CasTraq [Richard_Hodges_2] [Richard_Hodges_2] +odn-castraq 2498/udp # ODN-CasTraq [Richard_Hodges_2] [Richard_Hodges_2] +unicontrol 2499/tcp # UniControl [Ing_Markus_Huemer] [Ing_Markus_Huemer] +unicontrol 2499/udp # UniControl [Ing_Markus_Huemer] [Ing_Markus_Huemer] +rtsserv 2500/tcp # Resource Tracking system +rtsserv 2500/udp # Resource Tracking system +rtsclient 2501/tcp # Resource Tracking system [Aubrey_Turner] [Aubrey_Turner] +# client +rtsclient 2501/udp # Resource Tracking system [Aubrey_Turner] [Aubrey_Turner] +kentrox-prot 2502/tcp # Kentrox Protocol [Anil_Lakhwara] [Anil_Lakhwara] +kentrox-prot 2502/udp # Kentrox Protocol [Anil_Lakhwara] [Anil_Lakhwara] +nms-dpnss 2503/tcp # NMS-DPNSS [Jean_Christophe_Desi] [Jean_Christophe_Desi] +nms-dpnss 2503/udp # NMS-DPNSS [Jean_Christophe_Desi] [Jean_Christophe_Desi] +wlbs 2504/tcp # WLBS [William_Bain] [William_Bain] +wlbs 2504/udp # WLBS [William_Bain] [William_Bain] +ppcontrol 2505/tcp # PowerPlay Control [Max_Magliaro] [Max_Magliaro] 2004-11 +ppcontrol 2505/udp # PowerPlay Control [Max_Magliaro] [Max_Magliaro] 2004-11 +jbroker 2506/tcp # jbroker [Rohit_Garg_2] [Rohit_Garg_2] +jbroker 2506/udp # jbroker [Rohit_Garg_2] [Rohit_Garg_2] +spock 2507/tcp # spock [Jon_A_Christopher] [Jon_A_Christopher] +spock 2507/udp # spock [Jon_A_Christopher] [Jon_A_Christopher] +jdatastore 2508/tcp # JDataStore [Tod_Landis] [Tod_Landis] +jdatastore 2508/udp # JDataStore [Tod_Landis] [Tod_Landis] +fjmpss 2509/tcp # fjmpss [Makoto_Watanabe] [Makoto_Watanabe] +fjmpss 2509/udp # fjmpss [Makoto_Watanabe] [Makoto_Watanabe] +fjappmgrbulk 2510/tcp # fjappmgrbulk [Hiroyuki_Kawabuchi] [Hiroyuki_Kawabuchi] +fjappmgrbulk 2510/udp # fjappmgrbulk [Hiroyuki_Kawabuchi] [Hiroyuki_Kawabuchi] +metastorm 2511/tcp # Metastorm [Eric_Isom] [Eric_Isom] +metastorm 2511/udp # Metastorm [Eric_Isom] [Eric_Isom] +citrixima 2512/tcp # Citrix IMA +citrixima 2512/udp # Citrix IMA +citrixadmin 2513/tcp # Citrix ADMIN [Myk_Willis] [Myk_Willis] +citrixadmin 2513/udp # Citrix ADMIN [Myk_Willis] [Myk_Willis] +facsys-ntp 2514/tcp # Facsys NTP +facsys-ntp 2514/udp # Facsys NTP +facsys-router 2515/tcp # Facsys Router [Jeff_Hoffman] [Jeff_Hoffman] +facsys-router 2515/udp # Facsys Router [Jeff_Hoffman] [Jeff_Hoffman] +maincontrol 2516/tcp # Main Control [Nathan_Sadia] [Nathan_Sadia] +maincontrol 2516/udp # Main Control [Nathan_Sadia] [Nathan_Sadia] +call-sig-trans 2517/tcp # H.323 Annex E Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +# Signalling Transport +call-sig-trans 2517/udp # H.323 Annex E Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +willy 2518/tcp # Willy [Carl_Johan_Wik] [Carl_Johan_Wik] +willy 2518/udp # Willy [Carl_Johan_Wik] [Carl_Johan_Wik] +globmsgsvc 2519/tcp # globmsgsvc [David_Wiltz] [David_Wiltz] +globmsgsvc 2519/udp # globmsgsvc [David_Wiltz] [David_Wiltz] +pvsw 2520/tcp # Pervasive Listener [Chuck_Talk] [Chuck_Talk] +pvsw 2520/udp # Pervasive Listener [Chuck_Talk] [Chuck_Talk] +adaptecmgr 2521/tcp # Adaptec Manager [Mark_Parenti] [Mark_Parenti] +adaptecmgr 2521/udp # Adaptec Manager [Mark_Parenti] [Mark_Parenti] +windb 2522/tcp # WinDb [Larry_Traylor] [Larry_Traylor] +windb 2522/udp # WinDb [Larry_Traylor] [Larry_Traylor] +qke-llc-v3 2523/tcp # Qke LLC V.3 [Joerg_Niehoff] [Joerg_Niehoff] +qke-llc-v3 2523/udp # Qke LLC V.3 [Joerg_Niehoff] [Joerg_Niehoff] +optiwave-lm 2524/tcp # Optiwave License Management [Slawomir_Krzesinski] [Slawomir_Krzesinski] +optiwave-lm 2524/udp # Optiwave License Management [Slawomir_Krzesinski] [Slawomir_Krzesinski] +ms-v-worlds 2525/tcp # MS V-Worlds [Pete_Wong] [Pete_Wong] +ms-v-worlds 2525/udp # MS V-Worlds [Pete_Wong] [Pete_Wong] +ema-sent-lm 2526/tcp # EMA License Manager [Thaddeus_Perala] [Thaddeus_Perala] +ema-sent-lm 2526/udp # EMA License Manager [Thaddeus_Perala] [Thaddeus_Perala] +iqserver 2527/tcp # IQ Server [Nick_Straguzzi] [Nick_Straguzzi] +iqserver 2527/udp # IQ Server [Nick_Straguzzi] [Nick_Straguzzi] +# NCR CCL +# +ncr-ccl 2528/tcp # IANA assigned this [Amitava_Dutta] [Amitava_Dutta] +# a replacement for "ncr_ccl". +# This entry is an alias to "ncr-ccl". This entry is now +ncr_ccl 2528/tcp # NCR CCL [Amitava_Dutta] [Amitava_Dutta] historic, not usable for use with many common service +# +ncr-ccl 2528/udp # IANA assigned this [Amitava_Dutta] [Amitava_Dutta] +ncr_ccl 2528/udp # NCR CCL [Amitava_Dutta] [Amitava_Dutta] historic, not usable for use with many common service +utsftp 2529/tcp # UTS FTP [David_Moore] [David_Moore] +utsftp 2529/udp # UTS FTP [David_Moore] [David_Moore] +vrcommerce 2530/tcp # VR Commerce [Yosi_Mass] [Yosi_Mass] +vrcommerce 2530/udp # VR Commerce [Yosi_Mass] [Yosi_Mass] +ito-e-gui 2531/tcp # ITO-E GUI [Michael_Haeuptle] [Michael_Haeuptle] +ito-e-gui 2531/udp # ITO-E GUI [Michael_Haeuptle] [Michael_Haeuptle] +ovtopmd 2532/tcp # OVTOPMD [Eric_Pulsipher] [Eric_Pulsipher] +ovtopmd 2532/udp # OVTOPMD [Eric_Pulsipher] [Eric_Pulsipher] +snifferserver 2533/tcp # SnifferServer [Amy_Weaver_3] [Amy_Weaver_3] +snifferserver 2533/udp # SnifferServer [Amy_Weaver_3] [Amy_Weaver_3] +combox-web-acc 2534/tcp # Combox Web Access [Yochai_Cohen] [Yochai_Cohen] +combox-web-acc 2534/udp # Combox Web Access [Yochai_Cohen] [Yochai_Cohen] +madcap 2535/tcp # MADCAP [Stephen_Hanna_2] [Stephen_Hanna_2] +madcap 2535/udp # MADCAP [Stephen_Hanna_2] [Stephen_Hanna_2] +btpp2audctr1 2536/tcp # btpp2audctr1 [Ian_Daniels] [Ian_Daniels] +btpp2audctr1 2536/udp # btpp2audctr1 [Ian_Daniels] [Ian_Daniels] +upgrade 2537/tcp # Upgrade Protocol [Breck_Auten] [Breck_Auten] +upgrade 2537/udp # Upgrade Protocol [Breck_Auten] [Breck_Auten] +vnwk-prapi 2538/tcp # vnwk-prapi [John_Hasselkus] [John_Hasselkus] +vnwk-prapi 2538/udp # vnwk-prapi [John_Hasselkus] [John_Hasselkus] +vsiadmin 2539/tcp # VSI Admin [Rob_Juergens] [Rob_Juergens] +vsiadmin 2539/udp # VSI Admin [Rob_Juergens] [Rob_Juergens] +lonworks 2540/tcp # LonWorks +lonworks 2540/udp # LonWorks +lonworks2 2541/tcp # LonWorks2 [Gary_Bartlett] [Gary_Bartlett] +lonworks2 2541/udp # LonWorks2 [Gary_Bartlett] [Gary_Bartlett] +udrawgraph 2542/tcp # uDraw(Graph) [Bremen] [Bremen] +udrawgraph 2542/udp # uDraw(Graph) [Bremen] [Bremen] +reftek 2543/tcp # REFTEK [Phil_Davidson] [Phil_Davidson] +reftek 2543/udp # REFTEK [Phil_Davidson] [Phil_Davidson] +novell-zen 2544/tcp # Management Daemon Refresh [Ty_Ellis] [Ty_Ellis] +novell-zen 2544/udp # Management Daemon Refresh [Ty_Ellis] [Ty_Ellis] +sis-emt 2545/tcp # sis-emt [Bill_Crawford] [Bill_Crawford] +sis-emt 2545/udp # sis-emt [Bill_Crawford] [Bill_Crawford] +vytalvaultbrtp 2546/tcp # vytalvaultbrtp +vytalvaultbrtp 2546/udp # vytalvaultbrtp +vytalvaultvsmp 2547/tcp # vytalvaultvsmp +vytalvaultvsmp 2547/udp # vytalvaultvsmp +vytalvaultpipe 2548/tcp # vytalvaultpipe [Tim_Boldt] [Tim_Boldt] +vytalvaultpipe 2548/udp # vytalvaultpipe [Tim_Boldt] [Tim_Boldt] +ipass 2549/tcp # IPASS [Michael_Fischer] [Michael_Fischer] +ipass 2549/udp # IPASS [Michael_Fischer] [Michael_Fischer] +ads 2550/tcp # ADS [Michael_O_Connor] [Michael_O_Connor] +ads 2550/udp # ADS [Michael_O_Connor] [Michael_O_Connor] +isg-uda-server 2551/tcp # ISG UDA Server [Dror_Harari] [Dror_Harari] +isg-uda-server 2551/udp # ISG UDA Server [Dror_Harari] [Dror_Harari] +call-logging 2552/tcp # Call Logging [Dean_Webb] [Dean_Webb] +call-logging 2552/udp # Call Logging [Dean_Webb] [Dean_Webb] +efidiningport 2553/tcp # efidiningport [Lynn_Carter] [Lynn_Carter] +efidiningport 2553/udp # efidiningport [Lynn_Carter] [Lynn_Carter] +vcnet-link-v10 2554/tcp # VCnet-Link v10 [Csaba_Mate] [Csaba_Mate] +vcnet-link-v10 2554/udp # VCnet-Link v10 [Csaba_Mate] [Csaba_Mate] +compaq-wcp 2555/tcp # Compaq WCP [Ferruccio_Barletta] [Ferruccio_Barletta] +compaq-wcp 2555/udp # Compaq WCP [Ferruccio_Barletta] [Ferruccio_Barletta] +nicetec-nmsvc 2556/tcp # nicetec-nmsvc +nicetec-nmsvc 2556/udp # nicetec-nmsvc +nicetec-mgmt 2557/tcp # nicetec-mgmt [Joerg_Paulus] [Joerg_Paulus] +nicetec-mgmt 2557/udp # nicetec-mgmt [Joerg_Paulus] [Joerg_Paulus] +pclemultimedia 2558/tcp # PCLE Multi Media [Jacob_Gsoedl] [Jacob_Gsoedl] +pclemultimedia 2558/udp # PCLE Multi Media [Jacob_Gsoedl] [Jacob_Gsoedl] +lstp 2559/tcp # LSTP [Waiki_Wright] [Waiki_Wright] +lstp 2559/udp # LSTP [Waiki_Wright] [Waiki_Wright] +labrat 2560/tcp # labrat [John_Harvey] [John_Harvey] +labrat 2560/udp # labrat [John_Harvey] [John_Harvey] +mosaixcc 2561/tcp # MosaixCC [Steven_Frare] [Steven_Frare] +mosaixcc 2561/udp # MosaixCC [Steven_Frare] [Steven_Frare] +delibo 2562/tcp # Delibo [NovaWiz_LTD] [NovaWiz_LTD] +delibo 2562/udp # Delibo [NovaWiz_LTD] [NovaWiz_LTD] +cti-redwood 2563/tcp # CTI Redwood [Songwon_Chi] [Songwon_Chi] +cti-redwood 2563/udp # CTI Redwood [Songwon_Chi] [Songwon_Chi] +hp-3000-telnet 2564/tcp # HP 3000 NS/VT block mode +# telnet +hp-3000-telnet 2564/udp # HP 3000 NS/VT block mode +coord-svr 2565/tcp # Coordinator Server [Richard_Steiger] [Richard_Steiger] +coord-svr 2565/udp # Coordinator Server [Richard_Steiger] [Richard_Steiger] +pcs-pcw 2566/tcp # pcs-pcw [W_Jordan_Fitzhugh] [W_Jordan_Fitzhugh] +pcs-pcw 2566/udp # pcs-pcw [W_Jordan_Fitzhugh] [W_Jordan_Fitzhugh] +clp 2567/tcp # Cisco Line Protocol [Susan_Hinrichs] [Susan_Hinrichs] +clp 2567/udp # Cisco Line Protocol [Susan_Hinrichs] [Susan_Hinrichs] +spamtrap 2568/tcp # SPAM TRAP [Charles_Bennett] [Charles_Bennett] 2008-08-29 +spamtrap 2568/udp # SPAM TRAP [Charles_Bennett] [Charles_Bennett] 2008-08-29 +sonuscallsig 2569/tcp # Sonus Call Signal [Mark_Garti] [Mark_Garti] +sonuscallsig 2569/udp # Sonus Call Signal [Mark_Garti] [Mark_Garti] +hs-port 2570/tcp # HS Port [Uri_Doron] [Uri_Doron] +hs-port 2570/udp # HS Port [Uri_Doron] [Uri_Doron] +cecsvc 2571/tcp # CECSVC [Roger_Pao] [Roger_Pao] +cecsvc 2571/udp # CECSVC [Roger_Pao] [Roger_Pao] +ibp 2572/tcp # IBP [Jonathan_Downes] [Jonathan_Downes] +ibp 2572/udp # IBP [Jonathan_Downes] [Jonathan_Downes] +trustestablish 2573/tcp # Trust Establish [Yosi_Mass] [Yosi_Mass] +trustestablish 2573/udp # Trust Establish [Yosi_Mass] [Yosi_Mass] +blockade-bpsp 2574/tcp # Blockade BPSP [Blockade] [Blockade] +blockade-bpsp 2574/udp # Blockade BPSP [Blockade] [Blockade] +hl7 2575/tcp # HL7 [Tim_Jacobs] [Tim_Jacobs] +hl7 2575/udp # HL7 [Tim_Jacobs] [Tim_Jacobs] +tclprodebugger 2576/tcp # TCL Pro Debugger +tclprodebugger 2576/udp # TCL Pro Debugger +scipticslsrvr 2577/tcp # Scriptics Lsrvr [Brent_Welch] [Brent_Welch] +scipticslsrvr 2577/udp # Scriptics Lsrvr [Brent_Welch] [Brent_Welch] +rvs-isdn-dcp 2578/tcp # RVS ISDN DCP [Michael_Zirpel] [Michael_Zirpel] +rvs-isdn-dcp 2578/udp # RVS ISDN DCP [Michael_Zirpel] [Michael_Zirpel] +mpfoncl 2579/tcp # mpfoncl [Itaru_Kimura] [Itaru_Kimura] +mpfoncl 2579/udp # mpfoncl [Itaru_Kimura] [Itaru_Kimura] +tributary 2580/tcp # Tributary [Louis_Lu] [Louis_Lu] +tributary 2580/udp # Tributary [Louis_Lu] [Louis_Lu] +argis-te 2581/tcp # ARGIS TE +argis-te 2581/udp # ARGIS TE +argis-ds 2582/tcp # ARGIS DS [John_Legh_Page] [John_Legh_Page] +argis-ds 2582/udp # ARGIS DS [John_Legh_Page] [John_Legh_Page] +mon 2583/tcp # MON [Jim_Trocki] [Jim_Trocki] +mon 2583/udp # MON [Jim_Trocki] [Jim_Trocki] +cyaserv 2584/tcp # cyaserv [Morgan_Jones] [Morgan_Jones] +cyaserv 2584/udp # cyaserv [Morgan_Jones] [Morgan_Jones] +netx-server 2585/tcp # NETX Server +netx-server 2585/udp # NETX Server +netx-agent 2586/tcp # NETX Agent [Brett_Dolecheck] [Brett_Dolecheck] +netx-agent 2586/udp # NETX Agent [Brett_Dolecheck] [Brett_Dolecheck] +masc 2587/tcp # MASC [Pavlin_Ivanov_Radosl] [Pavlin_Ivanov_Radosl] +masc 2587/udp # MASC [Pavlin_Ivanov_Radosl] [Pavlin_Ivanov_Radosl] +privilege 2588/tcp # Privilege [Gil_Hecht] [Gil_Hecht] +privilege 2588/udp # Privilege [Gil_Hecht] [Gil_Hecht] +quartus-tcl 2589/tcp # quartus tcl [Subroto_Datta] [Subroto_Datta] +quartus-tcl 2589/udp # quartus tcl [Subroto_Datta] [Subroto_Datta] +idotdist 2590/tcp # idotdist [Jason_Hunter] [Jason_Hunter] +idotdist 2590/udp # idotdist [Jason_Hunter] [Jason_Hunter] +maytagshuffle 2591/tcp # Maytag Shuffle [Ken_Ksiazek] [Ken_Ksiazek] +maytagshuffle 2591/udp # Maytag Shuffle [Ken_Ksiazek] [Ken_Ksiazek] +netrek 2592/tcp # netrek [Al_Guetzlaff] [Al_Guetzlaff] +netrek 2592/udp # netrek [Al_Guetzlaff] [Al_Guetzlaff] +mns-mail 2593/tcp # MNS Mail Notice Service [Rumiko_Kikuta] [Rumiko_Kikuta] +mns-mail 2593/udp # MNS Mail Notice Service [Rumiko_Kikuta] [Rumiko_Kikuta] +dts 2594/tcp # Data Base Server [Andreas_Roene] [Andreas_Roene] +dts 2594/udp # Data Base Server [Andreas_Roene] [Andreas_Roene] +worldfusion1 2595/tcp # World Fusion 1 +worldfusion1 2595/udp # World Fusion 1 +worldfusion2 2596/tcp # World Fusion 2 [World_Fusion] [World_Fusion] +worldfusion2 2596/udp # World Fusion 2 [World_Fusion] [World_Fusion] +homesteadglory 2597/tcp # Homestead Glory [John_Tokash] [John_Tokash] +homesteadglory 2597/udp # Homestead Glory [John_Tokash] [John_Tokash] +citriximaclient 2598/tcp # Citrix MA Client [Myk_Willis] [Myk_Willis] +citriximaclient 2598/udp # Citrix MA Client [Myk_Willis] [Myk_Willis] +snapd 2599/tcp # Snap Discovery [Kevin_Osborn] [Kevin_Osborn] +snapd 2599/udp # Snap Discovery [Kevin_Osborn] [Kevin_Osborn] +hpstgmgr 2600/tcp # HPSTGMGR [Kevin_Collins] [Kevin_Collins] +hpstgmgr 2600/udp # HPSTGMGR [Kevin_Collins] [Kevin_Collins] +discp-client 2601/tcp # discp client +discp-client 2601/udp # discp client +discp-server 2602/tcp # discp server [Peter_White] [Peter_White] +discp-server 2602/udp # discp server [Peter_White] [Peter_White] +servicemeter 2603/tcp # Service Meter [Duncan_Hare] [Duncan_Hare] +servicemeter 2603/udp # Service Meter [Duncan_Hare] [Duncan_Hare] +nsc-ccs 2604/tcp # NSC CCS +nsc-ccs 2604/udp # NSC CCS +nsc-posa 2605/tcp # NSC POSA [Tom_Findley] [Tom_Findley] +nsc-posa 2605/udp # NSC POSA [Tom_Findley] [Tom_Findley] +netmon 2606/tcp # Dell Netmon +netmon 2606/udp # Dell Netmon +connection 2607/tcp # Dell Connection [Sudhir_Shetty] [Sudhir_Shetty] +connection 2607/udp # Dell Connection [Sudhir_Shetty] [Sudhir_Shetty] +wag-service 2608/tcp # Wag Service [Gilles_Bourquard] [Gilles_Bourquard] +wag-service 2608/udp # Wag Service [Gilles_Bourquard] [Gilles_Bourquard] +system-monitor 2609/tcp # System Monitor [Greg_Robson_Garth] [Greg_Robson_Garth] +system-monitor 2609/udp # System Monitor [Greg_Robson_Garth] [Greg_Robson_Garth] +versa-tek 2610/tcp # VersaTek [James_Kou] [James_Kou] +versa-tek 2610/udp # VersaTek [James_Kou] [James_Kou] +lionhead 2611/tcp # LIONHEAD [Tim_Rance] [Tim_Rance] +lionhead 2611/udp # LIONHEAD [Tim_Rance] [Tim_Rance] +qpasa-agent 2612/tcp # Qpasa Agent [Craig_Ching] [Craig_Ching] +qpasa-agent 2612/udp # Qpasa Agent [Craig_Ching] [Craig_Ching] +smntubootstrap 2613/tcp # SMNTUBootstrap [Matt_Cecile] [Matt_Cecile] +smntubootstrap 2613/udp # SMNTUBootstrap [Matt_Cecile] [Matt_Cecile] +neveroffline 2614/tcp # Never Offline [Dustin_Brand] [Dustin_Brand] +neveroffline 2614/udp # Never Offline [Dustin_Brand] [Dustin_Brand] +firepower 2615/tcp # firepower [Jason_Volk] [Jason_Volk] +firepower 2615/udp # firepower [Jason_Volk] [Jason_Volk] +appswitch-emp 2616/tcp # appswitch-emp [Ted_Ross] [Ted_Ross] +appswitch-emp 2616/udp # appswitch-emp [Ted_Ross] [Ted_Ross] +cmadmin 2617/tcp # Clinical Context Managers [Mark_Morwood] [Mark_Morwood] +cmadmin 2617/udp # Clinical Context Managers [Mark_Morwood] [Mark_Morwood] +priority-e-com 2618/tcp # Priority E-Com [Marcelo_Einhorn_2] [Marcelo_Einhorn_2] +priority-e-com 2618/udp # Priority E-Com [Marcelo_Einhorn_2] [Marcelo_Einhorn_2] +bruce 2619/tcp # bruce [Alec_Muffett] [Alec_Muffett] +bruce 2619/udp # bruce [Alec_Muffett] [Alec_Muffett] +lpsrecommender 2620/tcp # LPSRecommender [Pritham_Shetty_2] [Pritham_Shetty_2] +lpsrecommender 2620/udp # LPSRecommender [Pritham_Shetty_2] [Pritham_Shetty_2] +miles-apart 2621/tcp # Miles Apart Jukebox Server [Michael_Rathmann] [Michael_Rathmann] +miles-apart 2621/udp # Miles Apart Jukebox Server [Michael_Rathmann] [Michael_Rathmann] +metricadbc 2622/tcp # MetricaDBC [Russ_Olivant] [Russ_Olivant] +metricadbc 2622/udp # MetricaDBC [Russ_Olivant] [Russ_Olivant] +lmdp 2623/tcp # LMDP [Ken_Bailey] [Ken_Bailey] +lmdp 2623/udp # LMDP [Ken_Bailey] [Ken_Bailey] +aria 2624/tcp # Aria [Logan_Bruns] [Logan_Bruns] +aria 2624/udp # Aria [Logan_Bruns] [Logan_Bruns] +blwnkl-port 2625/tcp # Blwnkl Port [Weng_Chin_Yung] [Weng_Chin_Yung] +blwnkl-port 2625/udp # Blwnkl Port [Weng_Chin_Yung] [Weng_Chin_Yung] +gbjd816 2626/tcp # gbjd816 [George_Balesta] [George_Balesta] +gbjd816 2626/udp # gbjd816 [George_Balesta] [George_Balesta] +moshebeeri 2627/tcp # Moshe Beeri [Moshe_Beeri] [Moshe_Beeri] +moshebeeri 2627/udp # Moshe Beeri [Moshe_Beeri] [Moshe_Beeri] +dict 2628/tcp # DICT [Rik_Faith] [Rik_Faith] +dict 2628/udp # DICT [Rik_Faith] [Rik_Faith] +sitaraserver 2629/tcp # Sitara Server +sitaraserver 2629/udp # Sitara Server +sitaramgmt 2630/tcp # Sitara Management +sitaramgmt 2630/udp # Sitara Management +sitaradir 2631/tcp # Sitara Dir [Manickam_R_Sridhar] [Manickam_R_Sridhar] +sitaradir 2631/udp # Sitara Dir [Manickam_R_Sridhar] [Manickam_R_Sridhar] +irdg-post 2632/tcp # IRdg Post [IRdg] [IRdg] +irdg-post 2632/udp # IRdg Post [IRdg] [IRdg] +interintelli 2633/tcp # InterIntelli [Mike_Gagle] [Mike_Gagle] +interintelli 2633/udp # InterIntelli [Mike_Gagle] [Mike_Gagle] +pk-electronics 2634/tcp # PK Electronics [Seb_Ibis] [Seb_Ibis] +pk-electronics 2634/udp # PK Electronics [Seb_Ibis] [Seb_Ibis] +backburner 2635/tcp # Back Burner [Kevin_Teiskoetter] [Kevin_Teiskoetter] +backburner 2635/udp # Back Burner [Kevin_Teiskoetter] [Kevin_Teiskoetter] +solve 2636/tcp # Solve [Peter_Morrison] [Peter_Morrison] +solve 2636/udp # Solve [Peter_Morrison] [Peter_Morrison] +imdocsvc 2637/tcp # Import Document Service [Zia_Bhatti] [Zia_Bhatti] +imdocsvc 2637/udp # Import Document Service [Zia_Bhatti] [Zia_Bhatti] +sybaseanywhere 2638/tcp # Sybase Anywhere [Dave_Neudoerffer] [Dave_Neudoerffer] +sybaseanywhere 2638/udp # Sybase Anywhere [Dave_Neudoerffer] [Dave_Neudoerffer] +aminet 2639/tcp # AMInet [Alcorn_McBride_Inc] [Alcorn_McBride_Inc] +aminet 2639/udp # AMInet [Alcorn_McBride_Inc] [Alcorn_McBride_Inc] +# Sabbagh Associates Licence +# +sai-sentlm 2640/tcp # IANA assigned this [Elias_Sabbagh] [Elias_Sabbagh] +# "sai_sentlm". +# Sabbagh Associates Licence This entry is an alias to "sai-sentlm". This entry is now +sai_sentlm 2640/tcp # Manager [Elias_Sabbagh] [Elias_Sabbagh] historic, not usable for use with many common service +# +sai-sentlm 2640/udp # IANA assigned this [Elias_Sabbagh] [Elias_Sabbagh] +sai_sentlm 2640/udp # Manager [Elias_Sabbagh] [Elias_Sabbagh] historic, not usable for use with many common service +hdl-srv 2641/tcp # HDL Server [David_Ely] [David_Ely] +hdl-srv 2641/udp # HDL Server [David_Ely] [David_Ely] +tragic 2642/tcp # Tragic [Stu_Mark] [Stu_Mark] +tragic 2642/udp # Tragic [Stu_Mark] [Stu_Mark] +gte-samp 2643/tcp # GTE-SAMP [Asher_Altman] [Asher_Altman] +gte-samp 2643/udp # GTE-SAMP [Asher_Altman] [Asher_Altman] +travsoft-ipx-t 2644/tcp # Travsoft IPX Tunnel [Jack_Wilson] [Jack_Wilson] +travsoft-ipx-t 2644/udp # Travsoft IPX Tunnel [Jack_Wilson] [Jack_Wilson] +novell-ipx-cmd 2645/tcp # Novell IPX CMD [Juan_Carlos_Luciani] [Juan_Carlos_Luciani] +novell-ipx-cmd 2645/udp # Novell IPX CMD [Juan_Carlos_Luciani] [Juan_Carlos_Luciani] +and-lm 2646/tcp # AND License Manager [Dick_van_der_Sijs] [Dick_van_der_Sijs] +and-lm 2646/udp # AND License Manager [Dick_van_der_Sijs] [Dick_van_der_Sijs] +syncserver 2647/tcp # SyncServer [Shawn_Casey] [Shawn_Casey] +syncserver 2647/udp # SyncServer [Shawn_Casey] [Shawn_Casey] +upsnotifyprot 2648/tcp # Upsnotifyprot [Mario_Leboute] [Mario_Leboute] +upsnotifyprot 2648/udp # Upsnotifyprot [Mario_Leboute] [Mario_Leboute] +vpsipport 2649/tcp # VPSIPPORT [Joon_Radley] [Joon_Radley] +vpsipport 2649/udp # VPSIPPORT [Joon_Radley] [Joon_Radley] +eristwoguns 2650/tcp # eristwoguns [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 +eristwoguns 2650/udp # eristwoguns [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 +ebinsite 2651/tcp # EBInSite [Lefteris_Kalamaras] [Lefteris_Kalamaras] +ebinsite 2651/udp # EBInSite [Lefteris_Kalamaras] [Lefteris_Kalamaras] +interpathpanel 2652/tcp # InterPathPanel [Stephen_Misel] [Stephen_Misel] +interpathpanel 2652/udp # InterPathPanel [Stephen_Misel] [Stephen_Misel] +sonus 2653/tcp # Sonus [Mark_Garti] [Mark_Garti] +sonus 2653/udp # Sonus [Mark_Garti] [Mark_Garti] +# Corel VNC Admin +# +corel-vncadmin 2654/tcp # IANA assigned this [Oleg_Noskov] [Oleg_Noskov] +# "corel_vncadmin". +# This entry is an alias to "corel-vncadmin". This entry is now +corel_vncadmin 2654/tcp # Corel VNC Admin [Oleg_Noskov] [Oleg_Noskov] historic, not usable for use with many common service +# +corel-vncadmin 2654/udp # IANA assigned this [Oleg_Noskov] [Oleg_Noskov] +corel_vncadmin 2654/udp # Corel VNC Admin [Oleg_Noskov] [Oleg_Noskov] historic, not usable for use with many common service +unglue 2655/tcp # UNIX Nt Glue [Peter_Santoro] [Peter_Santoro] +unglue 2655/udp # UNIX Nt Glue [Peter_Santoro] [Peter_Santoro] +kana 2656/tcp # Kana [Colin_Goldstein] [Colin_Goldstein] +kana 2656/udp # Kana [Colin_Goldstein] [Colin_Goldstein] +sns-dispatcher 2657/tcp # SNS Dispatcher +sns-dispatcher 2657/udp # SNS Dispatcher +sns-admin 2658/tcp # SNS Admin +sns-admin 2658/udp # SNS Admin +sns-query 2659/tcp # SNS Query [Mary_Holstege] [Mary_Holstege] +sns-query 2659/udp # SNS Query [Mary_Holstege] [Mary_Holstege] +gcmonitor 2660/tcp # GC Monitor [Gustavo_Rodriguez_Ri] [Gustavo_Rodriguez_Ri] +gcmonitor 2660/udp # GC Monitor [Gustavo_Rodriguez_Ri] [Gustavo_Rodriguez_Ri] +olhost 2661/tcp # OLHOST [Robert_Ripberger] [Robert_Ripberger] +olhost 2661/udp # OLHOST [Robert_Ripberger] [Robert_Ripberger] +bintec-capi 2662/tcp # BinTec-CAPI Use Known on +# port 2662 +bintec-capi 2662/udp # BinTec-CAPI Use Known on +bintec-tapi 2663/tcp # BinTec-TAPI +bintec-tapi 2663/udp # BinTec-TAPI +patrol-mq-gm 2664/tcp # Patrol for MQ GM +patrol-mq-gm 2664/udp # Patrol for MQ GM +patrol-mq-nm 2665/tcp # Patrol for MQ NM [Portnoy_Boxman] [Portnoy_Boxman] +patrol-mq-nm 2665/udp # Patrol for MQ NM [Portnoy_Boxman] [Portnoy_Boxman] +extensis 2666/tcp # extensis [Milton_Sagen] [Milton_Sagen] +extensis 2666/udp # extensis [Milton_Sagen] [Milton_Sagen] +alarm-clock-s 2667/tcp # Alarm Clock Server +alarm-clock-s 2667/udp # Alarm Clock Server +alarm-clock-c 2668/tcp # Alarm Clock Client +alarm-clock-c 2668/udp # Alarm Clock Client +toad 2669/tcp # TOAD [Michael_Marking] [Michael_Marking] +toad 2669/udp # TOAD [Michael_Marking] [Michael_Marking] +tve-announce 2670/tcp # TVE Announce [Dean_Blackketter] [Dean_Blackketter] +tve-announce 2670/udp # TVE Announce [Dean_Blackketter] [Dean_Blackketter] +newlixreg 2671/tcp # newlixreg [Jean_Serge_Gagnon_2] [Jean_Serge_Gagnon_2] +newlixreg 2671/udp # newlixreg [Jean_Serge_Gagnon_2] [Jean_Serge_Gagnon_2] +nhserver 2672/tcp # nhserver [Adrian_Hornby] [Adrian_Hornby] +nhserver 2672/udp # nhserver [Adrian_Hornby] [Adrian_Hornby] +firstcall42 2673/tcp # First Call 42 [Luke_Bowen] [Luke_Bowen] +firstcall42 2673/udp # First Call 42 [Luke_Bowen] [Luke_Bowen] +ewnn 2674/tcp # ewnn [Yasunari_Yamashita] [Yasunari_Yamashita] +ewnn 2674/udp # ewnn [Yasunari_Yamashita] [Yasunari_Yamashita] +ttc-etap 2675/tcp # TTC ETAP [Daniel_Becker] [Daniel_Becker] +ttc-etap 2675/udp # TTC ETAP [Daniel_Becker] [Daniel_Becker] +simslink 2676/tcp # SIMSLink [Steve_Ryckman] [Steve_Ryckman] +simslink 2676/udp # SIMSLink [Steve_Ryckman] [Steve_Ryckman] +gadgetgate1way 2677/tcp # Gadget Gate 1 Way +gadgetgate1way 2677/udp # Gadget Gate 1 Way +gadgetgate2way 2678/tcp # Gadget Gate 2 Way [Matt_Rollins] [Matt_Rollins] +gadgetgate2way 2678/udp # Gadget Gate 2 Way [Matt_Rollins] [Matt_Rollins] +syncserverssl 2679/tcp # Sync Server SSL [Shawn_Casey] [Shawn_Casey] +syncserverssl 2679/udp # Sync Server SSL [Shawn_Casey] [Shawn_Casey] +pxc-sapxom 2680/tcp # pxc-sapxom [Hideki_Kiriyama] [Hideki_Kiriyama] +pxc-sapxom 2680/udp # pxc-sapxom [Hideki_Kiriyama] [Hideki_Kiriyama] +mpnjsomb 2681/tcp # mpnjsomb [Takenori_Miyahara] [Takenori_Miyahara] +mpnjsomb 2681/udp # mpnjsomb [Takenori_Miyahara] [Takenori_Miyahara] +# 2682 Removed 2002-04-30 +ncdloadbalance 2683/tcp # NCDLoadBalance [Tim_Stevenson] [Tim_Stevenson] +ncdloadbalance 2683/udp # NCDLoadBalance [Tim_Stevenson] [Tim_Stevenson] +mpnjsosv 2684/tcp # mpnjsosv +mpnjsosv 2684/udp # mpnjsosv +mpnjsocl 2685/tcp # mpnjsocl +mpnjsocl 2685/udp # mpnjsocl +mpnjsomg 2686/tcp # mpnjsomg [Takenori_Miyahara] [Takenori_Miyahara] +mpnjsomg 2686/udp # mpnjsomg [Takenori_Miyahara] [Takenori_Miyahara] +pq-lic-mgmt 2687/tcp # pq-lic-mgmt [Bob_Sledge] [Bob_Sledge] +pq-lic-mgmt 2687/udp # pq-lic-mgmt [Bob_Sledge] [Bob_Sledge] +md-cg-http 2688/tcp # md-cf-http [Lyndon_Nerenberg] [Lyndon_Nerenberg] +md-cg-http 2688/udp # md-cf-http [Lyndon_Nerenberg] [Lyndon_Nerenberg] +fastlynx 2689/tcp # FastLynx [Dave_Sewell] [Dave_Sewell] +fastlynx 2689/udp # FastLynx [Dave_Sewell] [Dave_Sewell] +hp-nnm-data 2690/tcp # HP NNM Embedded Database [Chris_Das] [Chris_Das] +hp-nnm-data 2690/udp # HP NNM Embedded Database [Chris_Das] [Chris_Das] +itinternet 2691/tcp # ITInternet ISM Server [Ron_Ehli] [Ron_Ehli] +itinternet 2691/udp # ITInternet ISM Server [Ron_Ehli] [Ron_Ehli] +admins-lms 2692/tcp # Admins LMS [Dagfinn_Saether] [Dagfinn_Saether] +admins-lms 2692/udp # Admins LMS [Dagfinn_Saether] [Dagfinn_Saether] +# 2693 tcp Unassigned (Removed 2004-2-6) +# 2693 udp Unassigned (Removed 2004-2-6) +pwrsevent 2694/tcp # pwrsevent [Yoshinobu_Nakamura] [Yoshinobu_Nakamura] +pwrsevent 2694/udp # pwrsevent [Yoshinobu_Nakamura] [Yoshinobu_Nakamura] +vspread 2695/tcp # VSPREAD [Sumitake_kobayashi] [Sumitake_kobayashi] +vspread 2695/udp # VSPREAD [Sumitake_kobayashi] [Sumitake_kobayashi] +unifyadmin 2696/tcp # Unify Admin [Daegis_Inc] [Chris_Anderson] 2012-07-31 +unifyadmin 2696/udp # Unify Admin [Daegis_Inc] [Chris_Anderson] 2012-07-31 +oce-snmp-trap 2697/tcp # Oce SNMP Trap Port [Peter_Teeuwen] [Peter_Teeuwen] +oce-snmp-trap 2697/udp # Oce SNMP Trap Port [Peter_Teeuwen] [Peter_Teeuwen] +mck-ivpip 2698/tcp # MCK-IVPIP [Robert_Vincent] [Robert_Vincent] +mck-ivpip 2698/udp # MCK-IVPIP [Robert_Vincent] [Robert_Vincent] +csoft-plusclnt 2699/tcp # Csoft Plus Client [Nedelcho_Stanev] [Nedelcho_Stanev] +csoft-plusclnt 2699/udp # Csoft Plus Client [Nedelcho_Stanev] [Nedelcho_Stanev] +tqdata 2700/tcp # tqdata [Al_Guetzlaff] [Al_Guetzlaff] +tqdata 2700/udp # tqdata [Al_Guetzlaff] [Al_Guetzlaff] +sms-rcinfo 2701/tcp # SMS RCINFO +sms-rcinfo 2701/udp # SMS RCINFO +sms-xfer 2702/tcp # SMS XFER +sms-xfer 2702/udp # SMS XFER +sms-chat 2703/tcp # SMS CHAT +sms-chat 2703/udp # SMS CHAT +sms-remctrl 2704/tcp # SMS REMCTRL [Tom_Friend] [Tom_Friend] +sms-remctrl 2704/udp # SMS REMCTRL [Tom_Friend] [Tom_Friend] +sds-admin 2705/tcp # SDS Admin [Don_Traub] [Don_Traub] +sds-admin 2705/udp # SDS Admin [Don_Traub] [Don_Traub] +ncdmirroring 2706/tcp # NCD Mirroring [Tim_Stevenson] [Tim_Stevenson] +ncdmirroring 2706/udp # NCD Mirroring [Tim_Stevenson] [Tim_Stevenson] +emcsymapiport 2707/tcp # EMCSYMAPIPORT [Bruce_Ferjulian] [Bruce_Ferjulian] +emcsymapiport 2707/udp # EMCSYMAPIPORT [Bruce_Ferjulian] [Bruce_Ferjulian] +banyan-net 2708/tcp # Banyan-Net [R_Thirumurthy] [R_Thirumurthy] +banyan-net 2708/udp # Banyan-Net [R_Thirumurthy] [R_Thirumurthy] +supermon 2709/tcp # Supermon [Ron_Minnich] [Ron_Minnich] +supermon 2709/udp # Supermon [Ron_Minnich] [Ron_Minnich] +sso-service 2710/tcp # SSO Service +sso-service 2710/udp # SSO Service +sso-control 2711/tcp # SSO Control [Axel_Kern] [Axel_Kern] +sso-control 2711/udp # SSO Control [Axel_Kern] [Axel_Kern] +aocp 2712/tcp # Axapta Object Communication [Jakob_Steen_Hansen] [Jakob_Steen_Hansen] +aocp 2712/udp # Axapta Object Communication [Jakob_Steen_Hansen] [Jakob_Steen_Hansen] +raventbs 2713/tcp # Raven Trinity Broker Service +raventbs 2713/udp # Raven Trinity Broker Service +raventdm 2714/tcp # Raven Trinity Data Mover [Daniel_Sorlov] [Daniel_Sorlov] +raventdm 2714/udp # Raven Trinity Data Mover [Daniel_Sorlov] [Daniel_Sorlov] +hpstgmgr2 2715/tcp # HPSTGMGR2 [Kevin_Collins_2] [Kevin_Collins_2] +hpstgmgr2 2715/udp # HPSTGMGR2 [Kevin_Collins_2] [Kevin_Collins_2] +inova-ip-disco 2716/tcp # Inova IP Disco [Chris_Koeritz] [Chris_Koeritz] +inova-ip-disco 2716/udp # Inova IP Disco [Chris_Koeritz] [Chris_Koeritz] +pn-requester 2717/tcp # PN REQUESTER +pn-requester 2717/udp # PN REQUESTER +pn-requester2 2718/tcp # PN REQUESTER 2 [Portnoy_Boxman] [Portnoy_Boxman] +pn-requester2 2718/udp # PN REQUESTER 2 [Portnoy_Boxman] [Portnoy_Boxman] +scan-change 2719/tcp # Scan & Change [Alexander_Raji] [Alexander_Raji] +scan-change 2719/udp # Scan & Change [Alexander_Raji] [Alexander_Raji] +wkars 2720/tcp # wkars [Barry_Shelton] [Barry_Shelton] +wkars 2720/udp # wkars [Barry_Shelton] [Barry_Shelton] +smart-diagnose 2721/tcp # Smart Diagnose [Geoffry_Meek] [Geoffry_Meek] +smart-diagnose 2721/udp # Smart Diagnose [Geoffry_Meek] [Geoffry_Meek] +proactivesrvr 2722/tcp # Proactive Server [Dalit_Naor] [Dalit_Naor] +proactivesrvr 2722/udp # Proactive Server [Dalit_Naor] [Dalit_Naor] +watchdog-nt 2723/tcp # WatchDog NT Protocol [Glen_Sansoucie] [Glen_Sansoucie] +watchdog-nt 2723/udp # WatchDog NT Protocol [Glen_Sansoucie] [Glen_Sansoucie] +qotps 2724/tcp # qotps [Piotr_Parlewicz] [Piotr_Parlewicz] +qotps 2724/udp # qotps [Piotr_Parlewicz] [Piotr_Parlewicz] +msolap-ptp2 2725/tcp # MSOLAP PTP2 [Cristian_Petculescu] [Cristian_Petculescu] +msolap-ptp2 2725/udp # MSOLAP PTP2 [Cristian_Petculescu] [Cristian_Petculescu] +tams 2726/tcp # TAMS [David_Leinbach] [David_Leinbach] +tams 2726/udp # TAMS [David_Leinbach] [David_Leinbach] +mgcp-callagent 2727/tcp # Media Gateway Control [Christian_Huitema] [Christian_Huitema] +# Protocol Call Agent +mgcp-callagent 2727/udp # Media Gateway Control [Christian_Huitema] [Christian_Huitema] +sqdr 2728/tcp # SQDR [Matthew_Orzen] [Matthew_Orzen] +sqdr 2728/udp # SQDR [Matthew_Orzen] [Matthew_Orzen] +tcim-control 2729/tcp # TCIM Control [Dean_Skelton] [Dean_Skelton] +tcim-control 2729/udp # TCIM Control [Dean_Skelton] [Dean_Skelton] +nec-raidplus 2730/tcp # NEC RaidPlus [Yusuke_Asai] [Yusuke_Asai] +nec-raidplus 2730/udp # NEC RaidPlus [Yusuke_Asai] [Yusuke_Asai] +fyre-messanger 2731/tcp # Fyre Messanger [Robert_Waters] [Robert_Waters] +fyre-messanger 2731/udp # Fyre Messagner [Robert_Waters] [Robert_Waters] +g5m 2732/tcp # G5M [Graham_Klyne] [Graham_Klyne] +g5m 2732/udp # G5M [Graham_Klyne] [Graham_Klyne] +signet-ctf 2733/tcp # Signet CTF [Greg_Broiles] [Greg_Broiles] +signet-ctf 2733/udp # Signet CTF [Greg_Broiles] [Greg_Broiles] +ccs-software 2734/tcp # CCS Software [Bertus_Jacobs] [Bertus_Jacobs] +ccs-software 2734/udp # CCS Software [Bertus_Jacobs] [Bertus_Jacobs] +netiq-mc 2735/tcp # NetIQ Monitor Console [Scott_Southard] [Scott_Southard] 2010-08-25 +netiq-mc 2735/udp # NetIQ Monitor Console [Scott_Southard] [Scott_Southard] 2010-08-25 +radwiz-nms-srv 2736/tcp # RADWIZ NMS SRV [Israel_Shainert] [Israel_Shainert] +radwiz-nms-srv 2736/udp # RADWIZ NMS SRV [Israel_Shainert] [Israel_Shainert] +srp-feedback 2737/tcp # SRP Feedback [Werner_Almesberger] [Werner_Almesberger] +srp-feedback 2737/udp # SRP Feedback [Werner_Almesberger] [Werner_Almesberger] +ndl-tcp-ois-gw 2738/tcp # NDL TCP-OSI Gateway [Martin_Norman] [Martin_Norman] +ndl-tcp-ois-gw 2738/udp # NDL TCP-OSI Gateway [Martin_Norman] [Martin_Norman] +tn-timing 2739/tcp # TN Timing [Paul_Roberts] [Paul_Roberts] +tn-timing 2739/udp # TN Timing [Paul_Roberts] [Paul_Roberts] +alarm 2740/tcp # Alarm [Uriy_Makasjuk] [Uriy_Makasjuk] +alarm 2740/udp # Alarm [Uriy_Makasjuk] [Uriy_Makasjuk] +tsb 2741/tcp # TSB +tsb 2741/udp # TSB +tsb2 2742/tcp # TSB2 [Ashish_Chatterjee] [Ashish_Chatterjee] +tsb2 2742/udp # TSB2 [Ashish_Chatterjee] [Ashish_Chatterjee] +murx 2743/tcp # murx [Thomas_Kuiper] [Thomas_Kuiper] +murx 2743/udp # murx [Thomas_Kuiper] [Thomas_Kuiper] +honyaku 2744/tcp # honyaku [Yasunari_Yamashita] [Yasunari_Yamashita] +honyaku 2744/udp # honyaku [Yasunari_Yamashita] [Yasunari_Yamashita] +urbisnet 2745/tcp # URBISNET [Urbis_Net_Ltd] [Urbis_Net_Ltd] +urbisnet 2745/udp # URBISNET [Urbis_Net_Ltd] [Urbis_Net_Ltd] +cpudpencap 2746/tcp # CPUDPENCAP [Tamir_Zegman] [Tamir_Zegman] +cpudpencap 2746/udp # CPUDPENCAP [Tamir_Zegman] [Tamir_Zegman] +fjippol-swrly 2747/tcp +fjippol-swrly 2747/udp +fjippol-polsvr 2748/tcp +fjippol-polsvr 2748/udp +fjippol-cnsl 2749/tcp +fjippol-cnsl 2749/udp +fjippol-port1 2750/tcp +fjippol-port1 2750/udp +fjippol-port2 2751/tcp # [Shoichi_Tachibana] [Shoichi_Tachibana] +fjippol-port2 2751/udp # [Shoichi_Tachibana] [Shoichi_Tachibana] +rsisysaccess 2752/tcp # RSISYS ACCESS [Christophe_Besant] [Christophe_Besant] +rsisysaccess 2752/udp # RSISYS ACCESS [Christophe_Besant] [Christophe_Besant] +de-spot 2753/tcp # de-spot [Sanjay_Parekh] [Sanjay_Parekh] +de-spot 2753/udp # de-spot [Sanjay_Parekh] [Sanjay_Parekh] +apollo-cc 2754/tcp # APOLLO CC [Brand_Communications] [Brand_Communications] +apollo-cc 2754/udp # APOLLO CC [Brand_Communications] [Brand_Communications] +expresspay 2755/tcp # Express Pay [Ben_Higgins] [Ben_Higgins] +expresspay 2755/udp # Express Pay [Ben_Higgins] [Ben_Higgins] +simplement-tie 2756/tcp # simplement-tie [Tzvika_Chumash] [Tzvika_Chumash] +simplement-tie 2756/udp # simplement-tie [Tzvika_Chumash] [Tzvika_Chumash] +cnrp 2757/tcp # CNRP [Jacob_Ulmert] [Jacob_Ulmert] +cnrp 2757/udp # CNRP [Jacob_Ulmert] [Jacob_Ulmert] +apollo-status 2758/tcp # APOLLO Status +apollo-status 2758/udp # APOLLO Status +apollo-gms 2759/tcp # APOLLO GMS [Simon_Hovell] [Simon_Hovell] +apollo-gms 2759/udp # APOLLO GMS [Simon_Hovell] [Simon_Hovell] +sabams 2760/tcp # Saba MS [Davoud_Maha] [Davoud_Maha] +sabams 2760/udp # Saba MS [Davoud_Maha] [Davoud_Maha] +dicom-iscl 2761/tcp # DICOM ISCL +dicom-iscl 2761/udp # DICOM ISCL +dicom-tls 2762/tcp # DICOM TLS [Lawrence_Tarbox] [Lawrence_Tarbox] +dicom-tls 2762/udp # DICOM TLS [Lawrence_Tarbox] [Lawrence_Tarbox] +desktop-dna 2763/tcp # Desktop DNA [Jon_Walker] [Jon_Walker] +desktop-dna 2763/udp # Desktop DNA [Jon_Walker] [Jon_Walker] +data-insurance 2764/tcp # Data Insurance [Brent_Irwin] [Brent_Irwin] +data-insurance 2764/udp # Data Insurance [Brent_Irwin] [Brent_Irwin] +qip-audup 2765/tcp # qip-audup [Mike_Morgan] [Mike_Morgan] +qip-audup 2765/udp # qip-audup [Mike_Morgan] [Mike_Morgan] +compaq-scp 2766/tcp # Compaq SCP [Ferruccio_Barletta] [Ferruccio_Barletta] +compaq-scp 2766/udp # Compaq SCP [Ferruccio_Barletta] [Ferruccio_Barletta] +uadtc 2767/tcp # UADTC +uadtc 2767/udp # UADTC +uacs 2768/tcp # UACS [Vishwas_Lele] [Vishwas_Lele] +uacs 2768/udp # UACS [Vishwas_Lele] [Vishwas_Lele] +exce 2769/tcp # eXcE [Norm_Freedman] [Norm_Freedman] +exce 2769/udp # eXcE [Norm_Freedman] [Norm_Freedman] +veronica 2770/tcp # Veronica [Jonas_Oberg] [Jonas_Oberg] +veronica 2770/udp # Veronica [Jonas_Oberg] [Jonas_Oberg] +vergencecm 2771/tcp # Vergence CM [Mark_Morwood] [Mark_Morwood] +vergencecm 2771/udp # Vergence CM [Mark_Morwood] [Mark_Morwood] +auris 2772/tcp # auris [Francisco_Saez_Aranc] [Francisco_Saez_Aranc] +auris 2772/udp # auris [Francisco_Saez_Aranc] [Francisco_Saez_Aranc] +rbakcup1 2773/tcp # RBackup Remote Backup +rbakcup1 2773/udp # RBackup Remote Backup +rbakcup2 2774/tcp # RBackup Remote Backup [Rob_Cosgrove] [Rob_Cosgrove] +rbakcup2 2774/udp # RBackup Remote Backup [Rob_Cosgrove] [Rob_Cosgrove] +smpp 2775/tcp # SMPP [Owen_Sullivan] [Owen_Sullivan] +smpp 2775/udp # SMPP [Owen_Sullivan] [Owen_Sullivan] +ridgeway1 2776/tcp # Ridgeway Systems & Software +ridgeway1 2776/udp # Ridgeway Systems & Software +ridgeway2 2777/tcp # Ridgeway Systems & Software [Steve_Read] [Steve_Read] +ridgeway2 2777/udp # Ridgeway Systems & Software [Steve_Read] [Steve_Read] +gwen-sonya 2778/tcp # Gwen-Sonya [Mark_Hurst] [Mark_Hurst] +gwen-sonya 2778/udp # Gwen-Sonya [Mark_Hurst] [Mark_Hurst] +lbc-sync 2779/tcp # LBC Sync +lbc-sync 2779/udp # LBC Sync +lbc-control 2780/tcp # LBC Control [Keiji_Michine] [Keiji_Michine] +lbc-control 2780/udp # LBC Control [Keiji_Michine] [Keiji_Michine] +whosells 2781/tcp # whosells [William_Randolph_Roy] [William_Randolph_Roy] +whosells 2781/udp # whosells [William_Randolph_Roy] [William_Randolph_Roy] +everydayrc 2782/tcp # everydayrc [Ahti_Heinla] [Ahti_Heinla] +everydayrc 2782/udp # everydayrc [Ahti_Heinla] [Ahti_Heinla] +aises 2783/tcp # AISES [Daniel_Grazioli] [Daniel_Grazioli] +aises 2783/udp # AISES [Daniel_Grazioli] [Daniel_Grazioli] +www-dev 2784/tcp # world wide web - development +www-dev 2784/udp # world wide web - development +aic-np 2785/tcp # aic-np [Brad_Parker] [Brad_Parker] +aic-np 2785/udp # aic-np [Brad_Parker] [Brad_Parker] +aic-oncrpc 2786/tcp # aic-oncrpc - Destiny MCD [Brad_Parker] [Brad_Parker] +# database +aic-oncrpc 2786/udp # aic-oncrpc - Destiny MCD [Brad_Parker] [Brad_Parker] +piccolo 2787/tcp # piccolo - Cornerstone [Dave_Bellivea] [Dave_Bellivea] +piccolo 2787/udp # piccolo - Cornerstone [Dave_Bellivea] [Dave_Bellivea] +fryeserv 2788/tcp # NetWare Loadable Module - [Joseph_LoPilato] [Joseph_LoPilato] +# Seagate Software +fryeserv 2788/udp # NetWare Loadable Module - [Joseph_LoPilato] [Joseph_LoPilato] +media-agent 2789/tcp # Media Agent [Nitzan_Daube] [Nitzan_Daube] +media-agent 2789/udp # Media Agent [Nitzan_Daube] [Nitzan_Daube] +plgproxy 2790/tcp # PLG Proxy [Charlie_Hava] [Charlie_Hava] +plgproxy 2790/udp # PLG Proxy [Charlie_Hava] [Charlie_Hava] +mtport-regist 2791/tcp # MT Port Registrator [Maxim_Tseitlin] [Maxim_Tseitlin] +mtport-regist 2791/udp # MT Port Registrator [Maxim_Tseitlin] [Maxim_Tseitlin] +f5-globalsite 2792/tcp # f5-globalsite [Christian_Saether_2] [Christian_Saether_2] +f5-globalsite 2792/udp # f5-globalsite [Christian_Saether_2] [Christian_Saether_2] +initlsmsad 2793/tcp # initlsmsad [Kelly_Green] [Kelly_Green] +initlsmsad 2793/udp # initlsmsad [Kelly_Green] [Kelly_Green] +# 2794 Unassigned 2006-12-04 +livestats 2795/tcp # LiveStats [Chris_Greene] [Chris_Greene] +livestats 2795/udp # LiveStats [Chris_Greene] [Chris_Greene] +ac-tech 2796/tcp # ac-tech [Chiming_Huang] [Chiming_Huang] +ac-tech 2796/udp # ac-tech [Chiming_Huang] [Chiming_Huang] +esp-encap 2797/tcp # esp-encap [Jorn_Sierwald] [Jorn_Sierwald] +esp-encap 2797/udp # esp-encap [Jorn_Sierwald] [Jorn_Sierwald] +tmesis-upshot 2798/tcp # TMESIS-UPShot [Brian_Schenkenberger] [Brian_Schenkenberger] +tmesis-upshot 2798/udp # TMESIS-UPShot [Brian_Schenkenberger] [Brian_Schenkenberger] +icon-discover 2799/tcp # ICON Discover [Alexander_Falk] [Alexander_Falk] +icon-discover 2799/udp # ICON Discover [Alexander_Falk] [Alexander_Falk] +acc-raid 2800/tcp # ACC RAID [Scott_St_Clair] [Scott_St_Clair] +acc-raid 2800/udp # ACC RAID [Scott_St_Clair] [Scott_St_Clair] +igcp 2801/tcp # IGCP [David_Hampson] [David_Hampson] +igcp 2801/udp # IGCP [David_Hampson] [David_Hampson] +veritas-tcp1 2802/tcp # Veritas TCP1 +veritas-udp1 2802/udp # Veritas UDP1 [Russ_Thrasher] [Russ_Thrasher] +btprjctrl 2803/tcp # btprjctrl [Huw_Thomas] [Huw_Thomas] +btprjctrl 2803/udp # btprjctrl [Huw_Thomas] [Huw_Thomas] +# March Networks Digital Video +dvr-esm 2804/tcp # Recorders and Enterprise [Paul_Streatch] [Paul_Streatch] 2004-06 +# Service Manager products +dvr-esm 2804/udp # Recorders and Enterprise [Paul_Streatch] [Paul_Streatch] 2004-06 +wta-wsp-s 2805/tcp # WTA WSP-S [Sebastien_Bury] [Sebastien_Bury] +wta-wsp-s 2805/udp # WTA WSP-S [Sebastien_Bury] [Sebastien_Bury] +cspuni 2806/tcp # cspuni +cspuni 2806/udp # cspuni +cspmulti 2807/tcp # cspmulti [Terumasa_Yoneda] [Terumasa_Yoneda] +cspmulti 2807/udp # cspmulti [Terumasa_Yoneda] [Terumasa_Yoneda] +j-lan-p 2808/tcp # J-LAN-P [Takeshi_Sahara] [Takeshi_Sahara] +j-lan-p 2808/udp # J-LAN-P [Takeshi_Sahara] [Takeshi_Sahara] +corbaloc 2809/tcp # CORBA LOC [Ted_McFadden] [Ted_McFadden] +corbaloc 2809/udp # CORBA LOC [Ted_McFadden] [Ted_McFadden] +netsteward 2810/tcp # Active Net Steward [Keith_Morley] [Keith_Morley] +netsteward 2810/udp # Active Net Steward [Keith_Morley] [Keith_Morley] +gsiftp 2811/tcp # GSI FTP [Von_Welch] [Von_Welch] +gsiftp 2811/udp # GSI FTP [Von_Welch] [Von_Welch] +atmtcp 2812/tcp # atmtcp [Werner_Almesberger] [Werner_Almesberger] +atmtcp 2812/udp # atmtcp [Werner_Almesberger] [Werner_Almesberger] +llm-pass 2813/tcp # llm-pass +llm-pass 2813/udp # llm-pass +llm-csv 2814/tcp # llm-csv [Glen_Sansoucie_2] [Glen_Sansoucie_2] +llm-csv 2814/udp # llm-csv [Glen_Sansoucie_2] [Glen_Sansoucie_2] +lbc-measure 2815/tcp # LBC Measurement +lbc-measure 2815/udp # LBC Measurement +lbc-watchdog 2816/tcp # LBC Watchdog [Akiyoshi_Ochi] [Akiyoshi_Ochi] +lbc-watchdog 2816/udp # LBC Watchdog [Akiyoshi_Ochi] [Akiyoshi_Ochi] +nmsigport 2817/tcp # NMSig Port [Peter_Egli_2] [Peter_Egli_2] +nmsigport 2817/udp # NMSig Port [Peter_Egli_2] [Peter_Egli_2] +rmlnk 2818/tcp # rmlnk +rmlnk 2818/udp # rmlnk +fc-faultnotify 2819/tcp # FC Fault Notification [Dave_Watkins] [Dave_Watkins] +fc-faultnotify 2819/udp # FC Fault Notification [Dave_Watkins] [Dave_Watkins] +univision 2820/tcp # UniVision [Keith_Ansell] [Keith_Ansell] +univision 2820/udp # UniVision [Keith_Ansell] [Keith_Ansell] +vrts-at-port 2821/tcp # VERITAS Authentication [Stefan_Winkel] [Stefan_Winkel] +vrts-at-port 2821/udp # VERITAS Authentication [Stefan_Winkel] [Stefan_Winkel] +ka0wuc 2822/tcp # ka0wuc [Kit_Haskins] [Kit_Haskins] +ka0wuc 2822/udp # ka0wuc [Kit_Haskins] [Kit_Haskins] +cqg-netlan 2823/tcp # CQG Net/LAN +cqg-netlan 2823/udp # CQG Net/LAN +cqg-netlan-1 2824/tcp # CQG Net/LAN 1 [Jeff_Wood] [Jeff_Wood] +cqg-netlan-1 2824/udp # CQG Net/Lan 1 [Jeff_Wood] [Jeff_Wood] +# 2825 (unassigned) Possibly +# assigned +slc-systemlog 2826/tcp # slc systemlog +slc-systemlog 2826/udp # slc systemlog +slc-ctrlrloops 2827/tcp # slc ctrlrloops [Erwin_Hogeweg] [Erwin_Hogeweg] +slc-ctrlrloops 2827/udp # slc ctrlrloops [Erwin_Hogeweg] [Erwin_Hogeweg] +itm-lm 2828/tcp # ITM License Manager [Portnoy_Boxman] [Portnoy_Boxman] +itm-lm 2828/udp # ITM License Manager [Portnoy_Boxman] [Portnoy_Boxman] +silkp1 2829/tcp # silkp1 +silkp1 2829/udp # silkp1 +silkp2 2830/tcp # silkp2 +silkp2 2830/udp # silkp2 +silkp3 2831/tcp # silkp3 +silkp3 2831/udp # silkp3 +silkp4 2832/tcp # silkp4 [Erik_Skyten] [Erik_Skyten] +silkp4 2832/udp # silkp4 [Erik_Skyten] [Erik_Skyten] +glishd 2833/tcp # glishd [Darrell_Schiebel] [Darrell_Schiebel] +glishd 2833/udp # glishd [Darrell_Schiebel] [Darrell_Schiebel] +evtp 2834/tcp # EVTP +evtp 2834/udp # EVTP +evtp-data 2835/tcp # EVTP-DATA [Eric_Bruno] [Eric_Bruno] +evtp-data 2835/udp # EVTP-DATA [Eric_Bruno] [Eric_Bruno] +catalyst 2836/tcp # catalyst [Garret_Tollkuhn] [Garret_Tollkuhn] +catalyst 2836/udp # catalyst [Garret_Tollkuhn] [Garret_Tollkuhn] +repliweb 2837/tcp # Repliweb [William_Orme] [William_Orme] +repliweb 2837/udp # Repliweb [William_Orme] [William_Orme] +starbot 2838/tcp # Starbot [Markus_Sabadello_2] [Markus_Sabadello_2] +starbot 2838/udp # Starbot [Markus_Sabadello_2] [Markus_Sabadello_2] +nmsigport 2839/tcp # NMSigPort [Peter_Egli_2] [Peter_Egli_2] +nmsigport 2839/udp # NMSigPort [Peter_Egli_2] [Peter_Egli_2] +l3-exprt 2840/tcp # l3-exprt +l3-exprt 2840/udp # l3-exprt +l3-ranger 2841/tcp # l3-ranger +l3-ranger 2841/udp # l3-ranger +l3-hawk 2842/tcp # l3-hawk [Dolores_Scott_2] [Dolores_Scott_2] +l3-hawk 2842/udp # l3-hawk [Dolores_Scott_2] [Dolores_Scott_2] +pdnet 2843/tcp # PDnet [Torsten_Scheffler] [Torsten_Scheffler] +pdnet 2843/udp # PDnet [Torsten_Scheffler] [Torsten_Scheffler] +bpcp-poll 2844/tcp # BPCP POLL +bpcp-poll 2844/udp # BPCP POLL +bpcp-trap 2845/tcp # BPCP TRAP [Steve_Van_Duser] [Steve_Van_Duser] +bpcp-trap 2845/udp # BPCP TRAP [Steve_Van_Duser] [Steve_Van_Duser] +aimpp-hello 2846/tcp # AIMPP Hello +aimpp-hello 2846/udp # AIMPP Hello +aimpp-port-req 2847/tcp # AIMPP Port Req [Brian_Martinicky] [Brian_Martinicky] +aimpp-port-req 2847/udp # AIMPP Port Req [Brian_Martinicky] [Brian_Martinicky] +amt-blc-port 2848/tcp # AMT-BLC-PORT [Sandra_Frulloni] [Sandra_Frulloni] +amt-blc-port 2848/udp # AMT-BLC-PORT [Sandra_Frulloni] [Sandra_Frulloni] +fxp 2849/tcp # FXP [Martin_Lichtin] [Martin_Lichtin] +fxp 2849/udp # FXP [Martin_Lichtin] [Martin_Lichtin] +metaconsole 2850/tcp # MetaConsole [Rakesh_Mahajan] [Rakesh_Mahajan] +metaconsole 2850/udp # MetaConsole [Rakesh_Mahajan] [Rakesh_Mahajan] +webemshttp 2851/tcp # webemshttp [Stephen_Tsun] [Stephen_Tsun] +webemshttp 2851/udp # webemshttp [Stephen_Tsun] [Stephen_Tsun] +bears-01 2852/tcp # bears-01 [Bruce_McKinnon] [Bruce_McKinnon] +bears-01 2852/udp # bears-01 [Bruce_McKinnon] [Bruce_McKinnon] +ispipes 2853/tcp # ISPipes [Rajesh_Nandyalam] [Rajesh_Nandyalam] +ispipes 2853/udp # ISPipes [Rajesh_Nandyalam] [Rajesh_Nandyalam] +infomover 2854/tcp # InfoMover [Carla_Caputo] [Carla_Caputo] +infomover 2854/udp # InfoMover [Carla_Caputo] [Carla_Caputo] +msrp 2855/tcp # MSRP over TCP [RFC4975] +msrp 2855/udp # MSRP [RFC4975] +cesdinv 2856/tcp # cesdinv [Yoshiaki_Tokumoto] [Yoshiaki_Tokumoto] +cesdinv 2856/udp # cesdinv [Yoshiaki_Tokumoto] [Yoshiaki_Tokumoto] +simctlp 2857/tcp # SimCtIP [Christian_Zietz] [Christian_Zietz] +simctlp 2857/udp # SimCtIP [Christian_Zietz] [Christian_Zietz] +ecnp 2858/tcp # ECNP [Robert_Reimiller] [Robert_Reimiller] +ecnp 2858/udp # ECNP [Robert_Reimiller] [Robert_Reimiller] +activememory 2859/tcp # Active Memory [Joe_Graham] [Joe_Graham] +activememory 2859/udp # Active Memory [Joe_Graham] [Joe_Graham] +dialpad-voice1 2860/tcp # Dialpad Voice 1 +dialpad-voice1 2860/udp # Dialpad Voice 1 +dialpad-voice2 2861/tcp # Dialpad Voice 2 [Wongyu_Cho] [Wongyu_Cho] +dialpad-voice2 2861/udp # Dialpad Voice 2 [Wongyu_Cho] [Wongyu_Cho] +ttg-protocol 2862/tcp # TTG Protocol [Mark_Boler] [Mark_Boler] +ttg-protocol 2862/udp # TTG Protocol [Mark_Boler] [Mark_Boler] +sonardata 2863/tcp # Sonar Data [Ian_Higginbottom] [Ian_Higginbottom] +sonardata 2863/udp # Sonar Data [Ian_Higginbottom] [Ian_Higginbottom] +astromed-main 2864/tcp # main 5001 cmd [Chris_Tate] [Chris_Tate] +astromed-main 2864/udp # main 5001 cmd [Chris_Tate] [Chris_Tate] +pit-vpn 2865/tcp # pit-vpn [Norbert_Sendetzky] [Norbert_Sendetzky] +pit-vpn 2865/udp # pit-vpn [Norbert_Sendetzky] [Norbert_Sendetzky] +iwlistener 2866/tcp # iwlistener [Fred_Surr] [Fred_Surr] +iwlistener 2866/udp # iwlistener [Fred_Surr] [Fred_Surr] +esps-portal 2867/tcp # esps-portal [Nicholas_Stowfis] [Nicholas_Stowfis] +esps-portal 2867/udp # esps-portal [Nicholas_Stowfis] [Nicholas_Stowfis] +npep-messaging 2868/tcp # NPEP Messaging [Kristian_A_Bognaes] [Kristian_A_Bognaes] +npep-messaging 2868/udp # NPEP Messaging [Kristian_A_Bognaes] [Kristian_A_Bognaes] +icslap 2869/tcp # ICSLAP [Richard_Lamb] [Richard_Lamb] +icslap 2869/udp # ICSLAP [Richard_Lamb] [Richard_Lamb] +daishi 2870/tcp # daishi [Patrick_Chipman] [Patrick_Chipman] +daishi 2870/udp # daishi [Patrick_Chipman] [Patrick_Chipman] +msi-selectplay 2871/tcp # MSI Select Play [Paul_Fonte] [Paul_Fonte] +msi-selectplay 2871/udp # MSI Select Play [Paul_Fonte] [Paul_Fonte] +radix 2872/tcp # RADIX [Stein_Roger_Skaflott] [Stein_Roger_Skaflott] 2011-07-06 +radix 2872/udp # RADIX [Stein_Roger_Skaflott] [Stein_Roger_Skaflott] 2011-07-06 +# 2873 Unassigned 2003-07-23 +dxmessagebase1 2874/tcp # DX Message Base Transport +dxmessagebase1 2874/udp # DX Message Base Transport +dxmessagebase2 2875/tcp # DX Message Base Transport [G_E_Ozz_Nixon_Jr] [G_E_Ozz_Nixon_Jr] 2009-01-13 +dxmessagebase2 2875/udp # DX Message Base Transport [G_E_Ozz_Nixon_Jr] [G_E_Ozz_Nixon_Jr] 2009-01-13 +sps-tunnel 2876/tcp # SPS Tunnel [Bill_McIntosh] [Bill_McIntosh] +sps-tunnel 2876/udp # SPS Tunnel [Bill_McIntosh] [Bill_McIntosh] +bluelance 2877/tcp # BLUELANCE [Michael_Padrezas] [Michael_Padrezas] +bluelance 2877/udp # BLUELANCE [Michael_Padrezas] [Michael_Padrezas] +aap 2878/tcp # AAP [Stephen_Hanna_2] [Stephen_Hanna_2] +aap 2878/udp # AAP [Stephen_Hanna_2] [Stephen_Hanna_2] +ucentric-ds 2879/tcp # ucentric-ds [Alex_Vasilevsky] [Alex_Vasilevsky] +ucentric-ds 2879/udp # ucentric-ds [Alex_Vasilevsky] [Alex_Vasilevsky] +synapse 2880/tcp # Synapse Transport [Ali_Fracyon] [Ali_Fracyon] +synapse 2880/udp # Synapse Transport [Ali_Fracyon] [Ali_Fracyon] +ndsp 2881/tcp # NDSP +ndsp 2881/udp # NDSP +ndtp 2882/tcp # NDTP +ndtp 2882/udp # NDTP +ndnp 2883/tcp # NDNP [Khelben_Blackstaff] [Khelben_Blackstaff] +ndnp 2883/udp # NDNP [Khelben_Blackstaff] [Khelben_Blackstaff] +flashmsg 2884/tcp # Flash Msg [Jeffrey_Zinkerman] [Jeffrey_Zinkerman] +flashmsg 2884/udp # Flash Msg [Jeffrey_Zinkerman] [Jeffrey_Zinkerman] +topflow 2885/tcp # TopFlow [Ted_Ross] [Ted_Ross] +topflow 2885/udp # TopFlow [Ted_Ross] [Ted_Ross] +responselogic 2886/tcp # RESPONSELOGIC [Bruce_Casey] [Bruce_Casey] +responselogic 2886/udp # RESPONSELOGIC [Bruce_Casey] [Bruce_Casey] +aironetddp 2887/tcp # aironet [Victor_Griswold] [Victor_Griswold] +aironetddp 2887/udp # aironet [Victor_Griswold] [Victor_Griswold] +spcsdlobby 2888/tcp # SPCSDLOBBY [Matthew_Williams] [Matthew_Williams] +spcsdlobby 2888/udp # SPCSDLOBBY [Matthew_Williams] [Matthew_Williams] +rsom 2889/tcp # RSOM [Justine_Higgins] [Justine_Higgins] +rsom 2889/udp # RSOM [Justine_Higgins] [Justine_Higgins] +cspclmulti 2890/tcp # CSPCLMULTI [Yoneda_Terumasa] [Yoneda_Terumasa] +cspclmulti 2890/udp # CSPCLMULTI [Yoneda_Terumasa] [Yoneda_Terumasa] +cinegrfx-elmd 2891/tcp # CINEGRFX-ELMD License [Greg_Ercolano_2] [Greg_Ercolano_2] +cinegrfx-elmd 2891/udp # CINEGRFX-ELMD License [Greg_Ercolano_2] [Greg_Ercolano_2] +snifferdata 2892/tcp # SNIFFERDATA [Jeff_Mangasarian] [Jeff_Mangasarian] +snifferdata 2892/udp # SNIFFERDATA [Jeff_Mangasarian] [Jeff_Mangasarian] +vseconnector 2893/tcp # VSECONNECTOR [Ingo_Franzki] [Ingo_Franzki] +vseconnector 2893/udp # VSECONNECTOR [Ingo_Franzki] [Ingo_Franzki] +abacus-remote 2894/tcp # ABACUS-REMOTE [Mike_Bello] [Mike_Bello] +abacus-remote 2894/udp # ABACUS-REMOTE [Mike_Bello] [Mike_Bello] +natuslink 2895/tcp # NATUS LINK [Jonathan_Mergy] [Jonathan_Mergy] +natuslink 2895/udp # NATUS LINK [Jonathan_Mergy] [Jonathan_Mergy] +ecovisiong6-1 2896/tcp # ECOVISIONG6-1 [Henrik_Holst] [Henrik_Holst] +ecovisiong6-1 2896/udp # ECOVISIONG6-1 [Henrik_Holst] [Henrik_Holst] +citrix-rtmp 2897/tcp # Citrix RTMP [Myk_Willis] [Myk_Willis] +citrix-rtmp 2897/udp # Citrix RTMP [Myk_Willis] [Myk_Willis] +appliance-cfg 2898/tcp # APPLIANCE-CFG [Gary_A_James] [Gary_A_James] +appliance-cfg 2898/udp # APPLIANCE-CFG [Gary_A_James] [Gary_A_James] +powergemplus 2899/tcp # POWERGEMPLUS [Koich_Nakamura] [Koich_Nakamura] +powergemplus 2899/udp # POWERGEMPLUS [Koich_Nakamura] [Koich_Nakamura] +quicksuite 2900/tcp # QUICKSUITE [William_Egge] [William_Egge] +quicksuite 2900/udp # QUICKSUITE [William_Egge] [William_Egge] +allstorcns 2901/tcp # ALLSTORCNS [Steve_Dobson] [Steve_Dobson] +allstorcns 2901/udp # ALLSTORCNS [Steve_Dobson] [Steve_Dobson] +netaspi 2902/tcp # NET ASPI [Johnson_Luo] [Johnson_Luo] +netaspi 2902/udp # NET ASPI [Johnson_Luo] [Johnson_Luo] +suitcase 2903/tcp # SUITCASE [Milton_E_Sagen] [Milton_E_Sagen] +suitcase 2903/udp # SUITCASE [Milton_E_Sagen] [Milton_E_Sagen] +m2ua 2904/tcp # M2UA [Lyndon_Ong] [Lyndon_Ong] +m2ua 2904/udp # M2UA [Lyndon_Ong] [Lyndon_Ong] +m2ua 2904/sctp # M2UA [Lyndon_Ong] [Lyndon_Ong] +m3ua 2905/tcp # M3UA [Lyndon_Ong] [Lyndon_Ong] [RFC4666] +# 2905 udp De-registered 2001-06-07 +m3ua 2905/sctp # M3UA [Lyndon_Ong] [Lyndon_Ong] [RFC4666] +caller9 2906/tcp # CALLER9 [Shams_Naqi] [Shams_Naqi] +caller9 2906/udp # CALLER9 [Shams_Naqi] [Shams_Naqi] +webmethods-b2b 2907/tcp # WEBMETHODS B2B [Joseph_Hines] [Joseph_Hines] +webmethods-b2b 2907/udp # WEBMETHODS B2B [Joseph_Hines] [Joseph_Hines] +mao 2908/tcp # mao [Marc_Baudoin] [Marc_Baudoin] +mao 2908/udp # mao [Marc_Baudoin] [Marc_Baudoin] +funk-dialout 2909/tcp # Funk Dialout [Cimarron_Boozer] [Cimarron_Boozer] +funk-dialout 2909/udp # Funk Dialout [Cimarron_Boozer] [Cimarron_Boozer] +tdaccess 2910/tcp # TDAccess [Tom_Haapanen] [Tom_Haapanen] +tdaccess 2910/udp # TDAccess [Tom_Haapanen] [Tom_Haapanen] +blockade 2911/tcp # Blockade [Blockade] [Blockade] +blockade 2911/udp # Blockade [Blockade] [Blockade] +epicon 2912/tcp # Epicon [Michael_Khalandovsky] [Michael_Khalandovsky] +epicon 2912/udp # Epicon [Michael_Khalandovsky] [Michael_Khalandovsky] +boosterware 2913/tcp # Booster Ware [Ido_Ben_David] [Ido_Ben_David] +boosterware 2913/udp # Booster Ware [Ido_Ben_David] [Ido_Ben_David] +gamelobby 2914/tcp # Game Lobby [Paul_Ford_Hutchinson] [Paul_Ford_Hutchinson] +gamelobby 2914/udp # Game Lobby [Paul_Ford_Hutchinson] [Paul_Ford_Hutchinson] +tksocket 2915/tcp # TK Socket [Dino_Ciano] [Dino_Ciano] 2011-03-02 +tksocket 2915/udp # TK Socket [Dino_Ciano] [Dino_Ciano] 2011-03-02 +# Elvin Server +# +elvin-server 2916/tcp # IANA assigned this +# "elvin_server". +# This entry is an alias to "elvin-server". This entry is now +elvin_server 2916/tcp # Elvin Server historic, not usable for use with many common service +# +elvin-server 2916/udp # IANA assigned this +elvin_server 2916/udp # Elvin Server historic, not usable for use with many common service +# Elvin Client +# +elvin-client 2917/tcp # IANA assigned this [David_Arnold] [David_Arnold] +# "elvin_client". +# This entry is an alias to "elvin-client". This entry is now +elvin_client 2917/tcp # Elvin Client [David_Arnold] [David_Arnold] historic, not usable for use with many common service +# +elvin-client 2917/udp # IANA assigned this [David_Arnold] [David_Arnold] +elvin_client 2917/udp # Elvin Client [David_Arnold] [David_Arnold] historic, not usable for use with many common service +kastenchasepad 2918/tcp # Kasten Chase Pad [Marc_Gauthier] [Marc_Gauthier] +kastenchasepad 2918/udp # Kasten Chase Pad [Marc_Gauthier] [Marc_Gauthier] +roboer 2919/tcp # roboER [Paul_Snook] [Paul_Snook] +roboer 2919/udp # roboER [Paul_Snook] [Paul_Snook] +roboeda 2920/tcp # roboEDA [Paul_Snook] [Paul_Snook] +roboeda 2920/udp # roboEDA [Paul_Snook] [Paul_Snook] +cesdcdman 2921/tcp # CESD Contents Delivery [Shinya_Abe] [Shinya_Abe] +cesdcdman 2921/udp # CESD Contents Delivery [Shinya_Abe] [Shinya_Abe] +cesdcdtrn 2922/tcp # CESD Contents Delivery Data [Shinya_Abe] [Shinya_Abe] +cesdcdtrn 2922/udp # CESD Contents Delivery Data [Shinya_Abe] [Shinya_Abe] +wta-wsp-wtp-s 2923/tcp # WTA-WSP-WTP-S [Sebastien_Bury] [Sebastien_Bury] +wta-wsp-wtp-s 2923/udp # WTA-WSP-WTP-S [Sebastien_Bury] [Sebastien_Bury] +precise-vip 2924/tcp # PRECISE-VIP [Michael_Landwehr] [Michael_Landwehr] +precise-vip 2924/udp # PRECISE-VIP [Michael_Landwehr] [Michael_Landwehr] +# 2925 Unassigned (FRP-Released +# 12/7/00) +mobile-file-dl 2926/tcp # MOBILE-FILE-DL [Mitsuji_Toda] [Mitsuji_Toda] +mobile-file-dl 2926/udp # MOBILE-FILE-DL [Mitsuji_Toda] [Mitsuji_Toda] +unimobilectrl 2927/tcp # UNIMOBILECTRL [Vikas] [Vikas] +unimobilectrl 2927/udp # UNIMOBILECTRL [Vikas] [Vikas] +redstone-cpss 2928/tcp # REDSTONE-CPSS [Jeff_Looman] [Jeff_Looman] +redstone-cpss 2928/udp # REDSTONE-CPSS [Jeff_Looman] [Jeff_Looman] +amx-webadmin 2929/tcp # AMX-WEBADMIN [Mike_Morris] [Mike_Morris] +amx-webadmin 2929/udp # AMX-WEBADMIN [Mike_Morris] [Mike_Morris] +amx-weblinx 2930/tcp # AMX-WEBLINX [Mike_Morris] [Mike_Morris] +amx-weblinx 2930/udp # AMX-WEBLINX [Mike_Morris] [Mike_Morris] +circle-x 2931/tcp # Circle-X [Norm_Freedman_2] [Norm_Freedman_2] +circle-x 2931/udp # Circle-X [Norm_Freedman_2] [Norm_Freedman_2] +incp 2932/tcp # INCP [Keith_Paulsen] [Keith_Paulsen] +incp 2932/udp # INCP [Keith_Paulsen] [Keith_Paulsen] +4-tieropmgw 2933/tcp # 4-TIER OPM GW [Francois_Peloffy] [Francois_Peloffy] +4-tieropmgw 2933/udp # 4-TIER OPM GW [Francois_Peloffy] [Francois_Peloffy] +4-tieropmcli 2934/tcp # 4-TIER OPM CLI [Francois_Peloffy] [Francois_Peloffy] +4-tieropmcli 2934/udp # 4-TIER OPM CLI [Francois_Peloffy] [Francois_Peloffy] +qtp 2935/tcp # QTP [Cameron_Young] [Cameron_Young] +qtp 2935/udp # QTP [Cameron_Young] [Cameron_Young] +otpatch 2936/tcp # OTPatch [Brett_Goldstein] [Brett_Goldstein] +otpatch 2936/udp # OTPatch [Brett_Goldstein] [Brett_Goldstein] +pnaconsult-lm 2937/tcp # PNACONSULT-LM [Theo_Nijssen] [Theo_Nijssen] +pnaconsult-lm 2937/udp # PNACONSULT-LM [Theo_Nijssen] [Theo_Nijssen] +sm-pas-1 2938/tcp # SM-PAS-1 +sm-pas-1 2938/udp # SM-PAS-1 +sm-pas-2 2939/tcp # SM-PAS-2 +sm-pas-2 2939/udp # SM-PAS-2 +sm-pas-3 2940/tcp # SM-PAS-3 +sm-pas-3 2940/udp # SM-PAS-3 +sm-pas-4 2941/tcp # SM-PAS-4 +sm-pas-4 2941/udp # SM-PAS-4 +sm-pas-5 2942/tcp # SM-PAS-5 [Tom_Haapanen] [Tom_Haapanen] +sm-pas-5 2942/udp # SM-PAS-5 [Tom_Haapanen] [Tom_Haapanen] +ttnrepository 2943/tcp # TTNRepository [Robert_Orr] [Robert_Orr] +ttnrepository 2943/udp # TTNRepository [Robert_Orr] [Robert_Orr] +megaco-h248 2944/tcp # Megaco H-248 [Tom_Taylor_2] [Tom_Taylor_2] +megaco-h248 2944/udp # Megaco H-248 [Tom_Taylor_2] [Tom_Taylor_2] +megaco-h248 2944/sctp # Megaco-H.248 text [Tom_Taylor_3] [Tom_Taylor_3] 2006-09 +h248-binary 2945/tcp # H248 Binary [Tom_Taylor_2] [Tom_Taylor_2] +h248-binary 2945/udp # H248 Binary [Tom_Taylor_2] [Tom_Taylor_2] +h248-binary 2945/sctp # Megaco/H.248 binary [Tom_Taylor_3] [Tom_Taylor_3] 2006-09 +fjsvmpor 2946/tcp # FJSVmpor [Naoki_Hayashi] [Naoki_Hayashi] +fjsvmpor 2946/udp # FJSVmpor [Naoki_Hayashi] [Naoki_Hayashi] +gpsd 2947/tcp # GPS Daemon request/response [Eric_S_Raymond] [Eric_S_Raymond] 2010-04-19 +gpsd 2947/udp # GPS Daemon request/response [Eric_S_Raymond] [Eric_S_Raymond] 2010-04-19 +wap-push 2948/tcp # WAP PUSH +wap-push 2948/udp # WAP PUSH +wap-pushsecure 2949/tcp # WAP PUSH SECURE [WAP_Forum] [WAP_Forum] +wap-pushsecure 2949/udp # WAP PUSH SECURE [WAP_Forum] [WAP_Forum] +esip 2950/tcp # ESIP [David_Stephenson] [David_Stephenson] +esip 2950/udp # ESIP [David_Stephenson] [David_Stephenson] +ottp 2951/tcp # OTTP [Brent_Foster] [Brent_Foster] +ottp 2951/udp # OTTP [Brent_Foster] [Brent_Foster] +mpfwsas 2952/tcp # MPFWSAS [Toru_Murai] [Toru_Murai] +mpfwsas 2952/udp # MPFWSAS [Toru_Murai] [Toru_Murai] +ovalarmsrv 2953/tcp # OVALARMSRV +ovalarmsrv 2953/udp # OVALARMSRV +ovalarmsrv-cmd 2954/tcp # OVALARMSRV-CMD [Eric_Pulsipher] [Eric_Pulsipher] +ovalarmsrv-cmd 2954/udp # OVALARMSRV-CMD [Eric_Pulsipher] [Eric_Pulsipher] +csnotify 2955/tcp # CSNOTIFY [Israel_Beniaminy] [Israel_Beniaminy] +csnotify 2955/udp # CSNOTIFY [Israel_Beniaminy] [Israel_Beniaminy] +ovrimosdbman 2956/tcp # OVRIMOSDBMAN [Dimitrios_Souflis] [Dimitrios_Souflis] +ovrimosdbman 2956/udp # OVRIMOSDBMAN [Dimitrios_Souflis] [Dimitrios_Souflis] +jmact5 2957/tcp # JAMCT5 +jmact5 2957/udp # JAMCT5 +jmact6 2958/tcp # JAMCT6 +jmact6 2958/udp # JAMCT6 +rmopagt 2959/tcp # RMOPAGT [Shuji_Okubo] [Shuji_Okubo] +rmopagt 2959/udp # RMOPAGT [Shuji_Okubo] [Shuji_Okubo] +dfoxserver 2960/tcp # DFOXSERVER [David_Holden] [David_Holden] +dfoxserver 2960/udp # DFOXSERVER [David_Holden] [David_Holden] +boldsoft-lm 2961/tcp # BOLDSOFT-LM [Fredrik_Haglund] [Fredrik_Haglund] +boldsoft-lm 2961/udp # BOLDSOFT-LM [Fredrik_Haglund] [Fredrik_Haglund] +iph-policy-cli 2962/tcp # IPH-POLICY-CLI +iph-policy-cli 2962/udp # IPH-POLICY-CLI +iph-policy-adm 2963/tcp # IPH-POLICY-ADM [Shai_Herzog] [Shai_Herzog] +iph-policy-adm 2963/udp # IPH-POLICY-ADM [Shai_Herzog] [Shai_Herzog] +bullant-srap 2964/tcp # BULLANT SRAP +bullant-srap 2964/udp # BULLANT SRAP +bullant-rap 2965/tcp # BULLANT RAP [Michael_Cahill] [Michael_Cahill] +bullant-rap 2965/udp # BULLANT RAP [Michael_Cahill] [Michael_Cahill] +idp-infotrieve 2966/tcp # IDP-INFOTRIEVE [Kevin_Bruckert] [Kevin_Bruckert] +idp-infotrieve 2966/udp # IDP-INFOTRIEVE [Kevin_Bruckert] [Kevin_Bruckert] +ssc-agent 2967/tcp # SSC-AGENT [George_Dzieciol] [George_Dzieciol] +ssc-agent 2967/udp # SSC-AGENT [George_Dzieciol] [George_Dzieciol] +enpp 2968/tcp # ENPP [Kazuhito_Gassho] [Kazuhito_Gassho] +enpp 2968/udp # ENPP [Kazuhito_Gassho] [Kazuhito_Gassho] +essp 2969/tcp # ESSP [Hitoshi_Ishida] [Hitoshi_Ishida] +essp 2969/udp # ESSP [Hitoshi_Ishida] [Hitoshi_Ishida] +index-net 2970/tcp # INDEX-NET [Chris_J_Wren] [Chris_J_Wren] +index-net 2970/udp # INDEX-NET [Chris_J_Wren] [Chris_J_Wren] +netclip 2971/tcp # NetClip clipboard daemon [Rudi_Chiarito] [Rudi_Chiarito] +netclip 2971/udp # NetClip clipboard daemon [Rudi_Chiarito] [Rudi_Chiarito] +pmsm-webrctl 2972/tcp # PMSM Webrctl [Markus_Michels] [Markus_Michels] +pmsm-webrctl 2972/udp # PMSM Webrctl [Markus_Michels] [Markus_Michels] +svnetworks 2973/tcp # SV Networks [Sylvia_Siu_2] [Sylvia_Siu_2] +svnetworks 2973/udp # SV Networks [Sylvia_Siu_2] [Sylvia_Siu_2] +signal 2974/tcp # Signal [Wyatt_Williams] [Wyatt_Williams] +signal 2974/udp # Signal [Wyatt_Williams] [Wyatt_Williams] +fjmpcm 2975/tcp # Fujitsu Configuration [Hiroki_Kawano] [Hiroki_Kawano] +# Management Service +fjmpcm 2975/udp # Fujitsu Configuration [Hiroki_Kawano] [Hiroki_Kawano] +cns-srv-port 2976/tcp # CNS Server Port [Ram_Golla] [Ram_Golla] +cns-srv-port 2976/udp # CNS Server Port [Ram_Golla] [Ram_Golla] +ttc-etap-ns 2977/tcp # TTCs Enterprise Test Access +# Protocol - NS +ttc-etap-ns 2977/udp # TTCs Enterprise Test Access +ttc-etap-ds 2978/tcp # TTCs Enterprise Test Access [Daniel_Becker_2] [Daniel_Becker_2] +# Protocol - DS +ttc-etap-ds 2978/udp # TTCs Enterprise Test Access [Daniel_Becker_2] [Daniel_Becker_2] +h263-video 2979/tcp # H.263 Video Streaming [Jauvane_C_de_Olivei] [Jauvane_C_de_Olivei] +h263-video 2979/udp # H.263 Video Streaming [Jauvane_C_de_Olivei] [Jauvane_C_de_Olivei] +wimd 2980/tcp # Instant Messaging Service [Kevin_Birch] [Kevin_Birch] +wimd 2980/udp # Instant Messaging Service [Kevin_Birch] [Kevin_Birch] +mylxamport 2981/tcp # MYLXAMPORT [Wei_Gao] [Wei_Gao] +mylxamport 2981/udp # MYLXAMPORT [Wei_Gao] [Wei_Gao] +iwb-whiteboard 2982/tcp # IWB-WHITEBOARD [David_W_Radcliffe] [David_W_Radcliffe] +iwb-whiteboard 2982/udp # IWB-WHITEBOARD [David_W_Radcliffe] [David_W_Radcliffe] +netplan 2983/tcp # NETPLAN [Thomas_Driemeyer] [Thomas_Driemeyer] +netplan 2983/udp # NETPLAN [Thomas_Driemeyer] [Thomas_Driemeyer] +hpidsadmin 2984/tcp # HPIDSADMIN +hpidsadmin 2984/udp # HPIDSADMIN +hpidsagent 2985/tcp # HPIDSAGENT [John_Trudeau] [John_Trudeau] +hpidsagent 2985/udp # HPIDSAGENT [John_Trudeau] [John_Trudeau] +stonefalls 2986/tcp # STONEFALLS [Scott_Grau] [Scott_Grau] +stonefalls 2986/udp # STONEFALLS [Scott_Grau] [Scott_Grau] +identify 2987/tcp # identify +identify 2987/udp # identify +hippad 2988/tcp # HIPPA Reporting Protocol [William_Randolph_Roy] [William_Randolph_Roy] +hippad 2988/udp # HIPPA Reporting Protocol [William_Randolph_Roy] [William_Randolph_Roy] +zarkov 2989/tcp # ZARKOV Intelligent Agent [Robin_Felix] [Robin_Felix] +zarkov 2989/udp # ZARKOV Intelligent Agent [Robin_Felix] [Robin_Felix] +boscap 2990/tcp # BOSCAP [Dirk_Hillbrecht] [Dirk_Hillbrecht] +boscap 2990/udp # BOSCAP [Dirk_Hillbrecht] [Dirk_Hillbrecht] +wkstn-mon 2991/tcp # WKSTN-MON [William_David] [William_David] +wkstn-mon 2991/udp # WKSTN-MON [William_David] [William_David] +avenyo 2992/tcp # Avenyo Server [Bodo_Rueskamp] [Bodo_Rueskamp] +avenyo 2992/udp # Avenyo Server [Bodo_Rueskamp] [Bodo_Rueskamp] +veritas-vis1 2993/tcp # VERITAS VIS1 +veritas-vis1 2993/udp # VERITAS VIS1 +veritas-vis2 2994/tcp # VERITAS VIS2 [Dinkar_Chivaluri] [Dinkar_Chivaluri] +veritas-vis2 2994/udp # VERITAS VIS2 [Dinkar_Chivaluri] [Dinkar_Chivaluri] +idrs 2995/tcp # IDRS [Jeff_Eaton] [Jeff_Eaton] +idrs 2995/udp # IDRS [Jeff_Eaton] [Jeff_Eaton] +vsixml 2996/tcp # vsixml [Rob_Juergens] [Rob_Juergens] +vsixml 2996/udp # vsixml [Rob_Juergens] [Rob_Juergens] +rebol 2997/tcp # REBOL [Holger_Kruse] [Holger_Kruse] +rebol 2997/udp # REBOL [Holger_Kruse] [Holger_Kruse] +realsecure 2998/tcp # Real Secure [Wes_Wilson] [Wes_Wilson] +realsecure 2998/udp # Real Secure [Wes_Wilson] [Wes_Wilson] +remoteware-un 2999/tcp # RemoteWare Unassigned [Tim_Farley] [Tim_Farley] +remoteware-un 2999/udp # RemoteWare Unassigned [Tim_Farley] [Tim_Farley] +hbci 3000/tcp # HBCI [Kurt_Haubner] [Kurt_Haubner] +hbci 3000/udp # HBCI [Kurt_Haubner] [Kurt_Haubner] +remoteware-cl 3000/tcp # RemoteWare Client [Tim_Farley] [Tim_Farley] This entry records an unassigned but widespread use +remoteware-cl 3000/udp # RemoteWare Client [Tim_Farley] [Tim_Farley] This entry records an unassigned but widespread use +# 3001 Unassigned 2006-05-25 +exlm-agent 3002/tcp # EXLM Agent [Randy_Martin] [Randy_Martin] +exlm-agent 3002/udp # EXLM Agent [Randy_Martin] [Randy_Martin] +remoteware-srv 3002/tcp # RemoteWare Server [Tim_Farley] [Tim_Farley] This entry records an unassigned but widespread use +remoteware-srv 3002/udp # RemoteWare Server [Tim_Farley] [Tim_Farley] This entry records an unassigned but widespread use +cgms 3003/tcp # CGMS [Corey_Clinton] [Corey_Clinton] 2011-02-02 +cgms 3003/udp # CGMS [Corey_Clinton] [Corey_Clinton] 2011-02-02 +csoftragent 3004/tcp # Csoft Agent [Nedelcho_Stanev_2] [Nedelcho_Stanev_2] +csoftragent 3004/udp # Csoft Agent [Nedelcho_Stanev_2] [Nedelcho_Stanev_2] +geniuslm 3005/tcp # Genius License Manager [Jakob_Spies] [Jakob_Spies] +geniuslm 3005/udp # Genius License Manager [Jakob_Spies] [Jakob_Spies] +ii-admin 3006/tcp # Instant Internet Admin [Lewis_Donzis] [Lewis_Donzis] +ii-admin 3006/udp # Instant Internet Admin [Lewis_Donzis] [Lewis_Donzis] +lotusmtap 3007/tcp # Lotus Mail Tracking Agent [Ken_Lin] [Ken_Lin] +lotusmtap 3007/udp # Lotus Mail Tracking Agent [Ken_Lin] [Ken_Lin] +midnight-tech 3008/tcp # Midnight Technologies [Kyle_Unice] [Kyle_Unice] +midnight-tech 3008/udp # Midnight Technologies [Kyle_Unice] [Kyle_Unice] +pxc-ntfy 3009/tcp # PXC-NTFY [Takeshi_Nishizawa] [Takeshi_Nishizawa] +pxc-ntfy 3009/udp # PXC-NTFY [Takeshi_Nishizawa] [Takeshi_Nishizawa] +gw 3010/tcp # Telerate Workstation +ping-pong 3010/udp # Telerate Workstation [Timo_Sivonen] [Timo_Sivonen] +trusted-web 3011/tcp # Trusted Web +trusted-web 3011/udp # Trusted Web +twsdss 3012/tcp # Trusted Web Client [Alex_Duncan] [Alex_Duncan] +twsdss 3012/udp # Trusted Web Client [Alex_Duncan] [Alex_Duncan] +gilatskysurfer 3013/tcp # Gilat Sky Surfer [Yossi_Gal] [Yossi_Gal] +gilatskysurfer 3013/udp # Gilat Sky Surfer [Yossi_Gal] [Yossi_Gal] +# Broker Service +# +broker-service 3014/tcp # IANA assigned this [Dale_Bethers] [Dale_Bethers] +# "broker_service". +# This entry is an alias to "broker-service". This entry is now +broker_service 3014/tcp # Broker Service [Dale_Bethers] [Dale_Bethers] historic, not usable for use with many common service +# +broker-service 3014/udp # IANA assigned this [Dale_Bethers] [Dale_Bethers] +broker_service 3014/udp # Broker Service [Dale_Bethers] [Dale_Bethers] historic, not usable for use with many common service +nati-dstp 3015/tcp # NATI DSTP [Paul_Austin] [Paul_Austin] +nati-dstp 3015/udp # NATI DSTP [Paul_Austin] [Paul_Austin] +# Notify Server +# +notify-srvr 3016/tcp # IANA assigned this [Hugo_Parra] [Hugo_Parra] +# "notify_srvr". +# This entry is an alias to "notify-srvr". This entry is now +notify_srvr 3016/tcp # Notify Server [Hugo_Parra] [Hugo_Parra] historic, not usable for use with many common service +# +notify-srvr 3016/udp # IANA assigned this [Hugo_Parra] [Hugo_Parra] +notify_srvr 3016/udp # Notify Server [Hugo_Parra] [Hugo_Parra] historic, not usable for use with many common service +# Event Listener +# +event-listener 3017/tcp # IANA assigned this [Ted_Tronson] [Ted_Tronson] +# "event_listener". +# This entry is an alias to "event-listener". This entry is now +event_listener 3017/tcp # Event Listener [Ted_Tronson] [Ted_Tronson] historic, not usable for use with many common service +# +event-listener 3017/udp # IANA assigned this [Ted_Tronson] [Ted_Tronson] +event_listener 3017/udp # Event Listener [Ted_Tronson] [Ted_Tronson] historic, not usable for use with many common service +# Service Registry +# +srvc-registry 3018/tcp # IANA assigned this [Mark_Killgore] [Mark_Killgore] +# "srvc_registry". +# This entry is an alias to "srvc-registry". This entry is now +srvc_registry 3018/tcp # Service Registry [Mark_Killgore] [Mark_Killgore] historic, not usable for use with many common service +# +srvc-registry 3018/udp # IANA assigned this [Mark_Killgore] [Mark_Killgore] +srvc_registry 3018/udp # Service Registry [Mark_Killgore] [Mark_Killgore] historic, not usable for use with many common service +# Resource Manager +# +resource-mgr 3019/tcp # IANA assigned this [Gary_Glover] [Gary_Glover] +# "resource_mgr". +# This entry is an alias to "resource-mgr". This entry is now +resource_mgr 3019/tcp # Resource Manager [Gary_Glover] [Gary_Glover] historic, not usable for use with many common service +# +resource-mgr 3019/udp # IANA assigned this [Gary_Glover] [Gary_Glover] +resource_mgr 3019/udp # Resource Manager [Gary_Glover] [Gary_Glover] historic, not usable for use with many common service +cifs 3020/tcp # CIFS [Paul_Leach] [Paul_Leach] +cifs 3020/udp # CIFS [Paul_Leach] [Paul_Leach] +agriserver 3021/tcp # AGRI Server [Frank_Neulichedl] [Frank_Neulichedl] +agriserver 3021/udp # AGRI Server [Frank_Neulichedl] [Frank_Neulichedl] +csregagent 3022/tcp # CSREGAGENT [Nedelcho_Stanev] [Nedelcho_Stanev] +csregagent 3022/udp # CSREGAGENT [Nedelcho_Stanev] [Nedelcho_Stanev] +magicnotes 3023/tcp # magicnotes [Karl_Edwall] [Karl_Edwall] +magicnotes 3023/udp # magicnotes [Karl_Edwall] [Karl_Edwall] +# NDS_SSO +# +nds-sso 3024/tcp # IANA assigned this [Mel_Oyler] [Mel_Oyler] +# a replacement for "nds_sso". +# This entry is an alias to "nds-sso". This entry is now +nds_sso 3024/tcp # NDS_SSO [Mel_Oyler] [Mel_Oyler] historic, not usable for use with many common service +# +nds-sso 3024/udp # IANA assigned this [Mel_Oyler] [Mel_Oyler] +nds_sso 3024/udp # NDS_SSO [Mel_Oyler] [Mel_Oyler] historic, not usable for use with many common service +arepa-raft 3025/tcp # Arepa Raft [Stuart_Schaefer] [Stuart_Schaefer] +arepa-raft 3025/udp # Arepa Raft [Stuart_Schaefer] [Stuart_Schaefer] +agri-gateway 3026/tcp # AGRI Gateway [Agri_Datalog] [Agri_Datalog] +agri-gateway 3026/udp # AGRI Gateway [Agri_Datalog] [Agri_Datalog] +# LiebDevMgmt_C +# +LiebDevMgmt-C 3027/tcp # IANA assigned this +# "LiebDevMgmt_C". +# This entry is an alias to "LiebDevMgmt-C". This entry is now +LiebDevMgmt_C 3027/tcp # LiebDevMgmt_C historic, not usable for use with many common service +# +LiebDevMgmt-C 3027/udp # IANA assigned this +LiebDevMgmt_C 3027/udp # LiebDevMgmt_C historic, not usable for use with many common service +# LiebDevMgmt_DM +# +LiebDevMgmt-DM 3028/tcp # IANA assigned this +# "LiebDevMgmt_DM". +# This entry is an alias to "LiebDevMgmt-DM". This entry is now +LiebDevMgmt_DM 3028/tcp # LiebDevMgmt_DM historic, not usable for use with many common service +# +LiebDevMgmt-DM 3028/udp # IANA assigned this +LiebDevMgmt_DM 3028/udp # LiebDevMgmt_DM historic, not usable for use with many common service +# LiebDevMgmt_A +# +LiebDevMgmt-A 3029/tcp # IANA assigned this [Mike_Velten] [Mike_Velten] +# "LiebDevMgmt_A". +# This entry is an alias to "LiebDevMgmt-A". This entry is now +LiebDevMgmt_A 3029/tcp # LiebDevMgmt_A [Mike_Velten] [Mike_Velten] historic, not usable for use with many common service +# +LiebDevMgmt-A 3029/udp # IANA assigned this [Mike_Velten] [Mike_Velten] +LiebDevMgmt_A 3029/udp # LiebDevMgmt_A [Mike_Velten] [Mike_Velten] historic, not usable for use with many common service +arepa-cas 3030/tcp # Arepa Cas [Stuart_Schaefer] [Stuart_Schaefer] +arepa-cas 3030/udp # Arepa Cas [Stuart_Schaefer] [Stuart_Schaefer] +eppc 3031/tcp # Remote AppleEvents/PPC [Steve_Zellers] [Steve_Zellers] +# Toolbox +eppc 3031/udp # Remote AppleEvents/PPC [Steve_Zellers] [Steve_Zellers] +redwood-chat 3032/tcp # Redwood Chat [Songwon_Chi] [Songwon_Chi] +redwood-chat 3032/udp # Redwood Chat [Songwon_Chi] [Songwon_Chi] +pdb 3033/tcp # PDB [Don_Bowman] [Don_Bowman] +pdb 3033/udp # PDB [Don_Bowman] [Don_Bowman] +osmosis-aeea 3034/tcp # Osmosis / Helix (R) AEEA [Larry_Atkin] [Larry_Atkin] +# Port +osmosis-aeea 3034/udp # Osmosis / Helix (R) AEEA [Larry_Atkin] [Larry_Atkin] +fjsv-gssagt 3035/tcp # FJSV gssagt [Tomoji_Koike] [Tomoji_Koike] +fjsv-gssagt 3035/udp # FJSV gssagt [Tomoji_Koike] [Tomoji_Koike] +hagel-dump 3036/tcp # Hagel DUMP [Haim_Gelfenbeyn] [Haim_Gelfenbeyn] +hagel-dump 3036/udp # Hagel DUMP [Haim_Gelfenbeyn] [Haim_Gelfenbeyn] +hp-san-mgmt 3037/tcp # HP SAN Mgmt [Steve_Britt] [Steve_Britt] +hp-san-mgmt 3037/udp # HP SAN Mgmt [Steve_Britt] [Steve_Britt] +santak-ups 3038/tcp # Santak UPS [Tom_Liu] [Tom_Liu] +santak-ups 3038/udp # Santak UPS [Tom_Liu] [Tom_Liu] +cogitate 3039/tcp # Cogitate, Inc. [Jim_Harlan] [Jim_Harlan] +cogitate 3039/udp # Cogitate, Inc. [Jim_Harlan] [Jim_Harlan] +tomato-springs 3040/tcp # Tomato Springs [Jack_Waller_III] [Jack_Waller_III] +tomato-springs 3040/udp # Tomato Springs [Jack_Waller_III] [Jack_Waller_III] +di-traceware 3041/tcp # di-traceware [Carlos_Hung] [Carlos_Hung] +di-traceware 3041/udp # di-traceware [Carlos_Hung] [Carlos_Hung] +journee 3042/tcp # journee [Kevin_Calman] [Kevin_Calman] +journee 3042/udp # journee [Kevin_Calman] [Kevin_Calman] +brp 3043/tcp # Broadcast Routing Protocol [John_Border] [John_Border] +brp 3043/udp # Broadcast Routing Protocol [John_Border] [John_Border] +epp 3044/tcp # EndPoint Protocol [Stephen_Cipolli] [Stephen_Cipolli] +epp 3044/udp # EndPoint Protocol [Stephen_Cipolli] [Stephen_Cipolli] +responsenet 3045/tcp # ResponseNet [Chul_Yoon] [Chul_Yoon] +responsenet 3045/udp # ResponseNet [Chul_Yoon] [Chul_Yoon] +di-ase 3046/tcp # di-ase [Carlos_Hung] [Carlos_Hung] +di-ase 3046/udp # di-ase [Carlos_Hung] [Carlos_Hung] +hlserver 3047/tcp # Fast Security HL Server [Michael_Zunke] [Michael_Zunke] 2010-07-23 +hlserver 3047/udp # Fast Security HL Server [Michael_Zunke] [Michael_Zunke] 2010-07-23 +pctrader 3048/tcp # Sierra Net PC Trader [Chris_Hahn] [Chris_Hahn] +pctrader 3048/udp # Sierra Net PC Trader [Chris_Hahn] [Chris_Hahn] +nsws 3049/tcp # NSWS [Ray_Gwinn] [Ray_Gwinn] +nsws 3049/udp # NSWS [Ray_Gwinn] [Ray_Gwinn] +# gds_db +# +gds-db 3050/tcp # IANA assigned this [Madhukar_N_Thakur] [Madhukar_N_Thakur] +# a replacement for "gds_db". +# This entry is an alias to "gds-db". This entry is now +gds_db 3050/tcp # gds_db [Madhukar_N_Thakur] [Madhukar_N_Thakur] historic, not usable for use with many common service +# +gds-db 3050/udp # IANA assigned this [Madhukar_N_Thakur] [Madhukar_N_Thakur] +gds_db 3050/udp # gds_db [Madhukar_N_Thakur] [Madhukar_N_Thakur] historic, not usable for use with many common service +galaxy-server 3051/tcp # Galaxy Server [Michael_Andre] [Michael_Andre] +galaxy-server 3051/udp # Galaxy Server [Michael_Andre] [Michael_Andre] +apc-3052 3052/tcp # APC 3052 [American_Power_Conve] [American_Power_Conve] +apc-3052 3052/udp # APC 3052 [American_Power_Conve] [American_Power_Conve] +dsom-server 3053/tcp # dsom-server [Daniel_Sisk] [Daniel_Sisk] +dsom-server 3053/udp # dsom-server [Daniel_Sisk] [Daniel_Sisk] +amt-cnf-prot 3054/tcp # AMT CNF PROT [Marco_Marcucci] [Marco_Marcucci] +amt-cnf-prot 3054/udp # AMT CNF PROT [Marco_Marcucci] [Marco_Marcucci] +policyserver 3055/tcp # Policy Server [Mark_Garti] [Mark_Garti] +policyserver 3055/udp # Policy Server [Mark_Garti] [Mark_Garti] +cdl-server 3056/tcp # CDL Server [Paul_Roberts] [Paul_Roberts] +cdl-server 3056/udp # CDL Server [Paul_Roberts] [Paul_Roberts] +goahead-fldup 3057/tcp # GoAhead FldUp [Alan_Pickrell] [Alan_Pickrell] +goahead-fldup 3057/udp # GoAhead FldUp [Alan_Pickrell] [Alan_Pickrell] +videobeans 3058/tcp # videobeans [Hiroyuki_Takahashi] [Hiroyuki_Takahashi] +videobeans 3058/udp # videobeans [Hiroyuki_Takahashi] [Hiroyuki_Takahashi] +qsoft 3059/tcp # qsoft [James_Kunz] [James_Kunz] +qsoft 3059/udp # qsoft [James_Kunz] [James_Kunz] +interserver 3060/tcp # interserver [Madhukar_N_Thakur] [Madhukar_N_Thakur] +interserver 3060/udp # interserver [Madhukar_N_Thakur] [Madhukar_N_Thakur] +cautcpd 3061/tcp # cautcpd +cautcpd 3061/udp # cautcpd +ncacn-ip-tcp 3062/tcp # ncacn-ip-tcp +ncacn-ip-tcp 3062/udp # ncacn-ip-tcp +ncadg-ip-udp 3063/tcp # ncadg-ip-udp [Gabi_Kalmar] [Gabi_Kalmar] +ncadg-ip-udp 3063/udp # ncadg-ip-udp [Gabi_Kalmar] [Gabi_Kalmar] +rprt 3064/tcp # Remote Port Redirector [Robin_Johnston] [Robin_Johnston] +rprt 3064/udp # Remote Port Redirector [Robin_Johnston] [Robin_Johnston] +slinterbase 3065/tcp # slinterbase [Bie_Tie] [Bie_Tie] +slinterbase 3065/udp # slinterbase [Bie_Tie] [Bie_Tie] +netattachsdmp 3066/tcp # NETATTACHSDMP [Mike_Young] [Mike_Young] +netattachsdmp 3066/udp # NETATTACHSDMP [Mike_Young] [Mike_Young] +fjhpjp 3067/tcp # FJHPJP [Ryozo_Furutani] [Ryozo_Furutani] +fjhpjp 3067/udp # FJHPJP [Ryozo_Furutani] [Ryozo_Furutani] +ls3bcast 3068/tcp # ls3 Broadcast +ls3bcast 3068/udp # ls3 Broadcast +ls3 3069/tcp # ls3 [Jim_Thompson] [Jim_Thompson] +ls3 3069/udp # ls3 [Jim_Thompson] [Jim_Thompson] +mgxswitch 3070/tcp # MGXSWITCH [George_Walter] [George_Walter] +mgxswitch 3070/udp # MGXSWITCH [George_Walter] [George_Walter] +csd-mgmt-port 3071/tcp # ContinuStor Manager Port +csd-mgmt-port 3071/udp # ContinuStor Manager Port +csd-monitor 3072/tcp # ContinuStor Monitor Port [Ray_Jantz] [Ray_Jantz] +csd-monitor 3072/udp # ContinuStor Monitor Port [Ray_Jantz] [Ray_Jantz] +vcrp 3073/tcp # Very simple chatroom prot [Andreas_Wurf] [Andreas_Wurf] +vcrp 3073/udp # Very simple chatroom prot [Andreas_Wurf] [Andreas_Wurf] +xbox 3074/tcp # Xbox game port [Damon_Danieli] [Damon_Danieli] +xbox 3074/udp # Xbox game port [Damon_Danieli] [Damon_Danieli] +orbix-locator 3075/tcp # Orbix 2000 Locator +orbix-locator 3075/udp # Orbix 2000 Locator +orbix-config 3076/tcp # Orbix 2000 Config +orbix-config 3076/udp # Orbix 2000 Config +orbix-loc-ssl 3077/tcp # Orbix 2000 Locator SSL +orbix-loc-ssl 3077/udp # Orbix 2000 Locator SSL +orbix-cfg-ssl 3078/tcp # Orbix 2000 Locator SSL [Eric_Newcomer] [Eric_Newcomer] +orbix-cfg-ssl 3078/udp # Orbix 2000 Locator SSL [Eric_Newcomer] [Eric_Newcomer] +lv-frontpanel 3079/tcp # LV Front Panel [Darshan_Shah] [Darshan_Shah] +lv-frontpanel 3079/udp # LV Front Panel [Darshan_Shah] [Darshan_Shah] +# stm_pproc +# +stm-pproc 3080/tcp # IANA assigned this [Paul_McGinnis] [Paul_McGinnis] +# "stm_pproc". +# This entry is an alias to "stm-pproc". This entry is now +stm_pproc 3080/tcp # stm_pproc [Paul_McGinnis] [Paul_McGinnis] historic, not usable for use with many common service +# +stm-pproc 3080/udp # IANA assigned this [Paul_McGinnis] [Paul_McGinnis] +stm_pproc 3080/udp # stm_pproc [Paul_McGinnis] [Paul_McGinnis] historic, not usable for use with many common service +tl1-lv 3081/tcp # TL1-LV +tl1-lv 3081/udp # TL1-LV +tl1-raw 3082/tcp # TL1-RAW +tl1-raw 3082/udp # TL1-RAW +tl1-telnet 3083/tcp # TL1-TELNET [SONET_Internetworkin] [SONET_Internetworkin] +tl1-telnet 3083/udp # TL1-TELNET [SONET_Internetworkin] [SONET_Internetworkin] +itm-mccs 3084/tcp # ITM-MCCS [Portnoy_Boxman] [Portnoy_Boxman] +itm-mccs 3084/udp # ITM-MCCS [Portnoy_Boxman] [Portnoy_Boxman] +pcihreq 3085/tcp # PCIHReq [Paul_Sanders] [Paul_Sanders] +pcihreq 3085/udp # PCIHReq [Paul_Sanders] [Paul_Sanders] +jdl-dbkitchen 3086/tcp # JDL-DBKitchen [Hideo_Wakabayashi] [Hideo_Wakabayashi] +jdl-dbkitchen 3086/udp # JDL-DBKitchen [Hideo_Wakabayashi] [Hideo_Wakabayashi] +asoki-sma 3087/tcp # Asoki SMA [Andrew_Mossberg] [Andrew_Mossberg] +asoki-sma 3087/udp # Asoki SMA [Andrew_Mossberg] [Andrew_Mossberg] +xdtp 3088/tcp # eXtensible Data Transfer [Michael_Shearson] [Michael_Shearson] +xdtp 3088/udp # eXtensible Data Transfer [Michael_Shearson] [Michael_Shearson] +ptk-alink 3089/tcp # ParaTek Agent Linking [Robert_Hodgson_2] [Robert_Hodgson_2] +ptk-alink 3089/udp # ParaTek Agent Linking [Robert_Hodgson_2] [Robert_Hodgson_2] +stss 3090/tcp # Senforce Session Services [Peter_Boucher] [Peter_Boucher] +stss 3090/udp # Senforce Session Services [Peter_Boucher] [Peter_Boucher] +1ci-smcs 3091/tcp # 1Ci Server Management [Ralf_Bensmann] [Ralf_Bensmann] +1ci-smcs 3091/udp # 1Ci Server Management [Ralf_Bensmann] [Ralf_Bensmann] +# 3092 Unassigned 2008-04-22 +rapidmq-center 3093/tcp # Jiiva RapidMQ Center +rapidmq-center 3093/udp # Jiiva RapidMQ Center +rapidmq-reg 3094/tcp # Jiiva RapidMQ Registry [Mark_Ericksen] [Mark_Ericksen] +rapidmq-reg 3094/udp # Jiiva RapidMQ Registry [Mark_Ericksen] [Mark_Ericksen] +panasas 3095/tcp # Panasas rendevous port [Peter_Berger] [Peter_Berger] +panasas 3095/udp # Panasas rendevous port [Peter_Berger] [Peter_Berger] +ndl-aps 3096/tcp # Active Print Server Port [Martin_Norman] [Martin_Norman] +ndl-aps 3096/udp # Active Print Server Port [Martin_Norman] [Martin_Norman] +# 3097 tcp Reserved +# 3097 udp Reserved +itu-bicc-stc 3097/sctp # ITU-T Q.1902.1/Q.2150.3 [Greg_Sidebottom] [Greg_Sidebottom] +umm-port 3098/tcp # Universal Message Manager [Phil_Braham] [Phil_Braham] +umm-port 3098/udp # Universal Message Manager [Phil_Braham] [Phil_Braham] +chmd 3099/tcp # CHIPSY Machine Daemon [Trond_Borsting] [Trond_Borsting] +chmd 3099/udp # CHIPSY Machine Daemon [Trond_Borsting] [Trond_Borsting] +opcon-xps 3100/tcp # OpCon/xps [David_Bourland] [David_Bourland] +opcon-xps 3100/udp # OpCon/xps [David_Bourland] [David_Bourland] +hp-pxpib 3101/tcp # HP PolicyXpert PIB Server [Brian_O_Keefe] [Brian_O_Keefe] +hp-pxpib 3101/udp # HP PolicyXpert PIB Server [Brian_O_Keefe] [Brian_O_Keefe] +slslavemon 3102/tcp # SoftlinK Slave Mon Port [Moshe_Livne] [Moshe_Livne] +slslavemon 3102/udp # SoftlinK Slave Mon Port [Moshe_Livne] [Moshe_Livne] +autocuesmi 3103/tcp # Autocue SMI Protocol +autocuesmi 3103/udp # Autocue SMI Protocol +autocuelog 3104/tcp # Autocue Logger Protocol +autocuetime 3104/udp # Autocue Time Service [Geoff_Back] [Geoff_Back] +cardbox 3105/tcp # Cardbox +cardbox 3105/udp # Cardbox +cardbox-http 3106/tcp # Cardbox HTTP [Martin_Kochanski] [Martin_Kochanski] +cardbox-http 3106/udp # Cardbox HTTP [Martin_Kochanski] [Martin_Kochanski] +business 3107/tcp # Business protocol +business 3107/udp # Business protocol +geolocate 3108/tcp # Geolocate protocol +geolocate 3108/udp # Geolocate protocol +personnel 3109/tcp # Personnel protocol [William_Randolph_Roy] [William_Randolph_Roy] +personnel 3109/udp # Personnel protocol [William_Randolph_Roy] [William_Randolph_Roy] +sim-control 3110/tcp # simulator control port [Ian_Bell] [Ian_Bell] +sim-control 3110/udp # simulator control port [Ian_Bell] [Ian_Bell] +wsynch 3111/tcp # Web Synchronous Services [Valery_Fremaux] [Valery_Fremaux] +wsynch 3111/udp # Web Synchronous Services [Valery_Fremaux] [Valery_Fremaux] +ksysguard 3112/tcp # KDE System Guard [Chris_Schlaeger] [Chris_Schlaeger] +ksysguard 3112/udp # KDE System Guard [Chris_Schlaeger] [Chris_Schlaeger] +cs-auth-svr 3113/tcp # CS-Authenticate Svr Port [Cliff_Diamond][Andy_Georgiou] [Cliff_Diamond][Andy_Georgiou] +cs-auth-svr 3113/udp # CS-Authenticate Svr Port [Cliff_Diamond][Andy_Georgiou] [Cliff_Diamond][Andy_Georgiou] +ccmad 3114/tcp # CCM AutoDiscover [Ram_Sudama] [Ram_Sudama] +ccmad 3114/udp # CCM AutoDiscover [Ram_Sudama] [Ram_Sudama] +mctet-master 3115/tcp # MCTET Master +mctet-master 3115/udp # MCTET Master +mctet-gateway 3116/tcp # MCTET Gateway +mctet-gateway 3116/udp # MCTET Gateway +mctet-jserv 3117/tcp # MCTET Jserv [Portnoy_Boxman] [Portnoy_Boxman] +mctet-jserv 3117/udp # MCTET Jserv [Portnoy_Boxman] [Portnoy_Boxman] +pkagent 3118/tcp # PKAgent [Michael_Douglass] [Michael_Douglass] +pkagent 3118/udp # PKAgent [Michael_Douglass] [Michael_Douglass] +d2000kernel 3119/tcp # D2000 Kernel Port +d2000kernel 3119/udp # D2000 Kernel Port +d2000webserver 3120/tcp # D2000 Webserver Port [Tomas_Rajcan] [Tomas_Rajcan] +d2000webserver 3120/udp # D2000 Webserver Port [Tomas_Rajcan] [Tomas_Rajcan] +# 3121 Unassigned 2003-09-17 +vtr-emulator 3122/tcp # MTI VTR Emulator port [John_Mertus] [John_Mertus] +vtr-emulator 3122/udp # MTI VTR Emulator port [John_Mertus] [John_Mertus] +edix 3123/tcp # EDI Translation Protocol [William_Randolph_Roy] [William_Randolph_Roy] +edix 3123/udp # EDI Translation Protocol [William_Randolph_Roy] [William_Randolph_Roy] +beacon-port 3124/tcp # Beacon Port [James_Paul_Duncan] [James_Paul_Duncan] +beacon-port 3124/udp # Beacon Port [James_Paul_Duncan] [James_Paul_Duncan] +a13-an 3125/tcp # A13-AN Interface [Douglas_Knisely] [Douglas_Knisely] +a13-an 3125/udp # A13-AN Interface [Douglas_Knisely] [Douglas_Knisely] +# 3126 Unassigned 2007-10-04 +ctx-bridge 3127/tcp # CTX Bridge Port [Alexander_Dubrovsky] [Alexander_Dubrovsky] +ctx-bridge 3127/udp # CTX Bridge Port [Alexander_Dubrovsky] [Alexander_Dubrovsky] +ndl-aas 3128/tcp # Active API Server Port [Martin_Norman] [Martin_Norman] +ndl-aas 3128/udp # Active API Server Port [Martin_Norman] [Martin_Norman] +netport-id 3129/tcp # NetPort Discovery Port [P_T_K_Farrar] [P_T_K_Farrar] +netport-id 3129/udp # NetPort Discovery Port [P_T_K_Farrar] [P_T_K_Farrar] +icpv2 3130/tcp # ICPv2 [Duane_Wessels] [Duane_Wessels] +icpv2 3130/udp # ICPv2 [Duane_Wessels] [Duane_Wessels] +netbookmark 3131/tcp # Net Book Mark [Yiftach_Ravid] [Yiftach_Ravid] +netbookmark 3131/udp # Net Book Mark [Yiftach_Ravid] [Yiftach_Ravid] +ms-rule-engine 3132/tcp # Microsoft Business Rule [Anush_Kumar] [Anush_Kumar] +# Engine Update Service +ms-rule-engine 3132/udp # Microsoft Business Rule [Anush_Kumar] [Anush_Kumar] +prism-deploy 3133/tcp # Prism Deploy User Port [Joan_Linck] [Joan_Linck] +prism-deploy 3133/udp # Prism Deploy User Port [Joan_Linck] [Joan_Linck] +ecp 3134/tcp # Extensible Code Protocol [Jim_Trek][Mark_Bocko] [Jim_Trek][Mark_Bocko] +ecp 3134/udp # Extensible Code Protocol [Jim_Trek][Mark_Bocko] [Jim_Trek][Mark_Bocko] +peerbook-port 3135/tcp # PeerBook Port [John_Flowers] [John_Flowers] +peerbook-port 3135/udp # PeerBook Port [John_Flowers] [John_Flowers] +grubd 3136/tcp # Grub Server Port [Kord_Campbell] [Kord_Campbell] +grubd 3136/udp # Grub Server Port [Kord_Campbell] [Kord_Campbell] +rtnt-1 3137/tcp # rtnt-1 data packets +rtnt-1 3137/udp # rtnt-1 data packets +rtnt-2 3138/tcp # rtnt-2 data packets [Ron_Muellerschoen] [Ron_Muellerschoen] +rtnt-2 3138/udp # rtnt-2 data packets [Ron_Muellerschoen] [Ron_Muellerschoen] +incognitorv 3139/tcp # Incognito Rendez-Vous [Stephane_Bourque] [Stephane_Bourque] +incognitorv 3139/udp # Incognito Rendez-Vous [Stephane_Bourque] [Stephane_Bourque] +ariliamulti 3140/tcp # Arilia Multiplexor [Stephane_Bourque_2] [Stephane_Bourque_2] +ariliamulti 3140/udp # Arilia Multiplexor [Stephane_Bourque_2] [Stephane_Bourque_2] +vmodem 3141/tcp # VMODEM [Ray_Gwinn] [Ray_Gwinn] +vmodem 3141/udp # VMODEM [Ray_Gwinn] [Ray_Gwinn] +rdc-wh-eos 3142/tcp # RDC WH EOS [Udi_Nir] [Udi_Nir] +rdc-wh-eos 3142/udp # RDC WH EOS [Udi_Nir] [Udi_Nir] +seaview 3143/tcp # Sea View [Jim_Flaherty_2] [Jim_Flaherty_2] +seaview 3143/udp # Sea View [Jim_Flaherty_2] [Jim_Flaherty_2] +tarantella 3144/tcp # Tarantella [Roger_Binns] [Roger_Binns] +tarantella 3144/udp # Tarantella [Roger_Binns] [Roger_Binns] +# UNAUTHORIZED +csi-lfap 3145/tcp # CSI-LFAP [Paul_Amsden] [Paul_Amsden] USE: port +# 3145 by +# zftpserver +csi-lfap 3145/udp # CSI-LFAP [Paul_Amsden] [Paul_Amsden] USE: port +bears-02 3146/tcp # bears-02 [Bruce_McKinnon_2] [Bruce_McKinnon_2] +bears-02 3146/udp # bears-02 [Bruce_McKinnon_2] [Bruce_McKinnon_2] +rfio 3147/tcp # RFIO [Frederic_Hemmer] [Frederic_Hemmer] +rfio 3147/udp # RFIO [Frederic_Hemmer] [Frederic_Hemmer] +nm-game-admin 3148/tcp # NetMike Game Administrator +nm-game-admin 3148/udp # NetMike Game Administrator +nm-game-server 3149/tcp # NetMike Game Server +nm-game-server 3149/udp # NetMike Game Server +nm-asses-admin 3150/tcp # NetMike Assessor +# Administrator +nm-asses-admin 3150/udp # NetMike Assessor +nm-assessor 3151/tcp # NetMike Assessor [Andrew_Sharpe] [Andrew_Sharpe] +nm-assessor 3151/udp # NetMike Assessor [Andrew_Sharpe] [Andrew_Sharpe] +feitianrockey 3152/tcp # FeiTian Port [Huang_Yu] [Huang_Yu] +feitianrockey 3152/udp # FeiTian Port [Huang_Yu] [Huang_Yu] +s8-client-port 3153/tcp # S8Cargo Client Port [Jon_S_Kyle] [Jon_S_Kyle] +s8-client-port 3153/udp # S8Cargo Client Port [Jon_S_Kyle] [Jon_S_Kyle] +ccmrmi 3154/tcp # ON RMI Registry [Ram_Sudama] [Ram_Sudama] +ccmrmi 3154/udp # ON RMI Registry [Ram_Sudama] [Ram_Sudama] +jpegmpeg 3155/tcp # JpegMpeg Port [Richard_Bassous] [Richard_Bassous] +jpegmpeg 3155/udp # JpegMpeg Port [Richard_Bassous] [Richard_Bassous] +indura 3156/tcp # Indura Collector [Bruce_Kosbab] [Bruce_Kosbab] +indura 3156/udp # Indura Collector [Bruce_Kosbab] [Bruce_Kosbab] +e3consultants 3157/tcp # CCC Listener Port [Brian_Carnell] [Brian_Carnell] +e3consultants 3157/udp # CCC Listener Port [Brian_Carnell] [Brian_Carnell] +stvp 3158/tcp # SmashTV Protocol [Christian_Wolff] [Christian_Wolff] +stvp 3158/udp # SmashTV Protocol [Christian_Wolff] [Christian_Wolff] +navegaweb-port 3159/tcp # NavegaWeb Tarification [Miguel_Angel_Fernand] [Miguel_Angel_Fernand] +navegaweb-port 3159/udp # NavegaWeb Tarification [Miguel_Angel_Fernand] [Miguel_Angel_Fernand] +tip-app-server 3160/tcp # TIP Application Server [Olivier_Mascia] [Olivier_Mascia] +tip-app-server 3160/udp # TIP Application Server [Olivier_Mascia] [Olivier_Mascia] +doc1lm 3161/tcp # DOC1 License Manager [Greg_Goodson] [Greg_Goodson] +doc1lm 3161/udp # DOC1 License Manager [Greg_Goodson] [Greg_Goodson] +sflm 3162/tcp # SFLM [System_Administrator] [System_Administrator] +sflm 3162/udp # SFLM [System_Administrator] [System_Administrator] +res-sap 3163/tcp # RES-SAP [Bob_Janssen] [Bob_Janssen] +res-sap 3163/udp # RES-SAP [Bob_Janssen] [Bob_Janssen] +imprs 3164/tcp # IMPRS [Lars_Bohn] [Lars_Bohn] +imprs 3164/udp # IMPRS [Lars_Bohn] [Lars_Bohn] +newgenpay 3165/tcp # Newgenpay Engine Service [Ilan_Zisser] [Ilan_Zisser] +newgenpay 3165/udp # Newgenpay Engine Service [Ilan_Zisser] [Ilan_Zisser] +sossecollector 3166/tcp # Quest Spotlight [Greg_Cottman] [Greg_Cottman] 2008-10-23 +# Out-Of-Process Collector +sossecollector 3166/udp # Quest Spotlight [Greg_Cottman] [Greg_Cottman] 2008-10-23 +nowcontact 3167/tcp # Now Contact Public Server +nowcontact 3167/udp # Now Contact Public Server +poweronnud 3168/tcp # Now Up-to-Date Public Server [John_Wallace] [John_Wallace] +poweronnud 3168/udp # Now Up-to-Date Public Server [John_Wallace] [John_Wallace] +serverview-as 3169/tcp # SERVERVIEW-AS +serverview-as 3169/udp # SERVERVIEW-AS +serverview-asn 3170/tcp # SERVERVIEW-ASN +serverview-asn 3170/udp # SERVERVIEW-ASN +serverview-gf 3171/tcp # SERVERVIEW-GF +serverview-gf 3171/udp # SERVERVIEW-GF +serverview-rm 3172/tcp # SERVERVIEW-RM +serverview-rm 3172/udp # SERVERVIEW-RM +serverview-icc 3173/tcp # SERVERVIEW-ICC [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +serverview-icc 3173/udp # SERVERVIEW-ICC [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +armi-server 3174/tcp # ARMI Server [Bobby_Martin] [Bobby_Martin] +armi-server 3174/udp # ARMI Server [Bobby_Martin] [Bobby_Martin] +t1-e1-over-ip 3175/tcp # T1_E1_Over_IP [Mark_Doyle] [Mark_Doyle] +t1-e1-over-ip 3175/udp # T1_E1_Over_IP [Mark_Doyle] [Mark_Doyle] +ars-master 3176/tcp # ARS Master [Portnoy_Boxman] [Portnoy_Boxman] +ars-master 3176/udp # ARS Master [Portnoy_Boxman] [Portnoy_Boxman] +phonex-port 3177/tcp # Phonex Protocol [Doug_Grover] [Doug_Grover] +phonex-port 3177/udp # Phonex Protocol [Doug_Grover] [Doug_Grover] +radclientport 3178/tcp # Radiance UltraEdge Port [Sri_Subramaniam] [Sri_Subramaniam] +radclientport 3178/udp # Radiance UltraEdge Port [Sri_Subramaniam] [Sri_Subramaniam] +h2gf-w-2m 3179/tcp # H2GF W.2m Handover prot. [Arne_Norefors] [Arne_Norefors] +h2gf-w-2m 3179/udp # H2GF W.2m Handover prot. [Arne_Norefors] [Arne_Norefors] +mc-brk-srv 3180/tcp # Millicent Broker Server [Steve_Glassman] [Steve_Glassman] +mc-brk-srv 3180/udp # Millicent Broker Server [Steve_Glassman] [Steve_Glassman] +bmcpatrolagent 3181/tcp # BMC Patrol Agent +bmcpatrolagent 3181/udp # BMC Patrol Agent +bmcpatrolrnvu 3182/tcp # BMC Patrol Rendezvous [Portnoy_Boxman] [Portnoy_Boxman] +bmcpatrolrnvu 3182/udp # BMC Patrol Rendezvous [Portnoy_Boxman] [Portnoy_Boxman] +cops-tls 3183/tcp # COPS/TLS [Mark_Stevens] [Mark_Stevens] +cops-tls 3183/udp # COPS/TLS [Mark_Stevens] [Mark_Stevens] +apogeex-port 3184/tcp # ApogeeX Port [Tom_Nys] [Tom_Nys] +apogeex-port 3184/udp # ApogeeX Port [Tom_Nys] [Tom_Nys] +smpppd 3185/tcp # SuSE Meta PPPD [Arvin_Schnell] [Arvin_Schnell] +smpppd 3185/udp # SuSE Meta PPPD [Arvin_Schnell] [Arvin_Schnell] +iiw-port 3186/tcp # IIW Monitor User Port [Corey_Burnett] [Corey_Burnett] +iiw-port 3186/udp # IIW Monitor User Port [Corey_Burnett] [Corey_Burnett] +odi-port 3187/tcp # Open Design Listen Port [Phivos_Aristides] [Phivos_Aristides] +odi-port 3187/udp # Open Design Listen Port [Phivos_Aristides] [Phivos_Aristides] +brcm-comm-port 3188/tcp # Broadcom Port [Thomas_L_Johnson] [Thomas_L_Johnson] +brcm-comm-port 3188/udp # Broadcom Port [Thomas_L_Johnson] [Thomas_L_Johnson] +pcle-infex 3189/tcp # Pinnacle Sys InfEx Port [Anthon_van_der_Neut] [Anthon_van_der_Neut] +pcle-infex 3189/udp # Pinnacle Sys InfEx Port [Anthon_van_der_Neut] [Anthon_van_der_Neut] +csvr-proxy 3190/tcp # ConServR Proxy +csvr-proxy 3190/udp # ConServR Proxy +csvr-sslproxy 3191/tcp # ConServR SSL Proxy [Mikhail_Kruk] [Mikhail_Kruk] +csvr-sslproxy 3191/udp # ConServR SSL Proxy [Mikhail_Kruk] [Mikhail_Kruk] +firemonrcc 3192/tcp # FireMon Revision Control [Michael_Bishop] [Michael_Bishop] +firemonrcc 3192/udp # FireMon Revision Control [Michael_Bishop] [Michael_Bishop] +spandataport 3193/tcp # SpanDataPort [Jesse_McKay] [Jesse_McKay] +spandataport 3193/udp # SpanDataPort [Jesse_McKay] [Jesse_McKay] +magbind 3194/tcp # Rockstorm MAG protocol [Jens_Nilsson] [Jens_Nilsson] +magbind 3194/udp # Rockstorm MAG protocol [Jens_Nilsson] [Jens_Nilsson] +ncu-1 3195/tcp # Network Control Unit +ncu-1 3195/udp # Network Control Unit +ncu-2 3196/tcp # Network Control Unit [Charlie_Hundre] [Charlie_Hundre] +ncu-2 3196/udp # Network Control Unit [Charlie_Hundre] [Charlie_Hundre] +embrace-dp-s 3197/tcp # Embrace Device Protocol +embrace-dp-s 3197/udp # Embrace Device Protocol +embrace-dp-c 3198/tcp # Embrace Device Protocol [Elliot_Schwartz] [Elliot_Schwartz] +# Client +embrace-dp-c 3198/udp # Embrace Device Protocol [Elliot_Schwartz] [Elliot_Schwartz] +dmod-workspace 3199/tcp # DMOD WorkSpace [Nick_Plante] [Nick_Plante] +dmod-workspace 3199/udp # DMOD WorkSpace [Nick_Plante] [Nick_Plante] +tick-port 3200/tcp # Press-sense Tick Port [Boris_Svetlitsky] [Boris_Svetlitsky] +tick-port 3200/udp # Press-sense Tick Port [Boris_Svetlitsky] [Boris_Svetlitsky] +cpq-tasksmart 3201/tcp # CPQ-TaskSmart [Jackie_Lau] [Jackie_Lau] +cpq-tasksmart 3201/udp # CPQ-TaskSmart [Jackie_Lau] [Jackie_Lau] +intraintra 3202/tcp # IntraIntra [Matthew_Asham] [Matthew_Asham] +intraintra 3202/udp # IntraIntra [Matthew_Asham] [Matthew_Asham] +netwatcher-mon 3203/tcp # Network Watcher Monitor +netwatcher-mon 3203/udp # Network Watcher Monitor +netwatcher-db 3204/tcp # Network Watcher DB Access [Hirokazu_Fujisawa] [Hirokazu_Fujisawa] +netwatcher-db 3204/udp # Network Watcher DB Access [Hirokazu_Fujisawa] [Hirokazu_Fujisawa] +isns 3205/tcp # iSNS Server Port [RFC4171] +isns 3205/udp # iSNS Server Port [RFC4171] +ironmail 3206/tcp # IronMail POP Proxy [Mike_Hudack] [Mike_Hudack] +ironmail 3206/udp # IronMail POP Proxy [Mike_Hudack] [Mike_Hudack] +vx-auth-port 3207/tcp # Veritas Authentication Port [Senthil_Ponnuswamy] [Senthil_Ponnuswamy] +vx-auth-port 3207/udp # Veritas Authentication Port [Senthil_Ponnuswamy] [Senthil_Ponnuswamy] +pfu-prcallback 3208/tcp # PFU PR Callback [Tetsuharu_Hanada] [Tetsuharu_Hanada] +pfu-prcallback 3208/udp # PFU PR Callback [Tetsuharu_Hanada] [Tetsuharu_Hanada] +netwkpathengine 3209/tcp # HP OpenView Network Path [Anthony_Walker] [Anthony_Walker] +# Engine Server +netwkpathengine 3209/udp # HP OpenView Network Path [Anthony_Walker] [Anthony_Walker] +flamenco-proxy 3210/tcp # Flamenco Networks Proxy [Corey_Corrick] [Corey_Corrick] +flamenco-proxy 3210/udp # Flamenco Networks Proxy [Corey_Corrick] [Corey_Corrick] +avsecuremgmt 3211/tcp # Avocent Secure Management [Brian_S_Stewart] [Brian_S_Stewart] +avsecuremgmt 3211/udp # Avocent Secure Management [Brian_S_Stewart] [Brian_S_Stewart] +surveyinst 3212/tcp # Survey Instrument [Al_Amet] [Al_Amet] +surveyinst 3212/udp # Survey Instrument [Al_Amet] [Al_Amet] +neon24x7 3213/tcp # NEON 24X7 Mission Control [Tony_Lubrano] [Tony_Lubrano] +neon24x7 3213/udp # NEON 24X7 Mission Control [Tony_Lubrano] [Tony_Lubrano] +jmq-daemon-1 3214/tcp # JMQ Daemon Port 1 +jmq-daemon-1 3214/udp # JMQ Daemon Port 1 +jmq-daemon-2 3215/tcp # JMQ Daemon Port 2 [Martin_West] [Martin_West] +jmq-daemon-2 3215/udp # JMQ Daemon Port 2 [Martin_West] [Martin_West] +ferrari-foam 3216/tcp # Ferrari electronic FOAM [Johann_Deutinger] [Johann_Deutinger] +ferrari-foam 3216/udp # Ferrari electronic FOAM [Johann_Deutinger] [Johann_Deutinger] +unite 3217/tcp # Unified IP & Telecom [Christer_Gunnarsson] [Christer_Gunnarsson] 2009-03-26 +unite 3217/udp # Unified IP & Telecom [Christer_Gunnarsson] [Christer_Gunnarsson] 2009-03-26 +smartpackets 3218/tcp # EMC SmartPackets [Steve_Spataro] [Steve_Spataro] +smartpackets 3218/udp # EMC SmartPackets [Steve_Spataro] [Steve_Spataro] +wms-messenger 3219/tcp # WMS Messenger [Michael_Monasterio] [Michael_Monasterio] +wms-messenger 3219/udp # WMS Messenger [Michael_Monasterio] [Michael_Monasterio] +xnm-ssl 3220/tcp # XML NM over SSL +xnm-ssl 3220/udp # XML NM over SSL +xnm-clear-text 3221/tcp # XML NM over TCP [Mark_Trostler] [Mark_Trostler] +xnm-clear-text 3221/udp # XML NM over TCP [Mark_Trostler] [Mark_Trostler] +glbp 3222/tcp # Gateway Load Balancing Pr [Douglas_McLaggan] [Douglas_McLaggan] +glbp 3222/udp # Gateway Load Balancing Pr [Douglas_McLaggan] [Douglas_McLaggan] +digivote 3223/tcp # DIGIVOTE (R) Vote-Server [Christian_Treczoks] [Christian_Treczoks] +digivote 3223/udp # DIGIVOTE (R) Vote-Server [Christian_Treczoks] [Christian_Treczoks] +aes-discovery 3224/tcp # AES Discovery Port [Ken_Richard] [Ken_Richard] +aes-discovery 3224/udp # AES Discovery Port [Ken_Richard] [Ken_Richard] +fcip-port 3225/tcp # FCIP [RFC3821] +fcip-port 3225/udp # FCIP [RFC3821] +isi-irp 3226/tcp # ISI Industry Software IRP [Peter_Sandstrom] [Peter_Sandstrom] +isi-irp 3226/udp # ISI Industry Software IRP [Peter_Sandstrom] [Peter_Sandstrom] +dwnmshttp 3227/tcp # DiamondWave NMS Server +dwnmshttp 3227/udp # DiamondWave NMS Server +dwmsgserver 3228/tcp # DiamondWave MSG Server [Varma_Bhupatiraju] [Varma_Bhupatiraju] +dwmsgserver 3228/udp # DiamondWave MSG Server [Varma_Bhupatiraju] [Varma_Bhupatiraju] +global-cd-port 3229/tcp # Global CD Port [Vitaly_Revsin_2] [Vitaly_Revsin_2] +global-cd-port 3229/udp # Global CD Port [Vitaly_Revsin_2] [Vitaly_Revsin_2] +sftdst-port 3230/tcp # Software Distributor Port [Andrea_Lanza] [Andrea_Lanza] +sftdst-port 3230/udp # Software Distributor Port [Andrea_Lanza] [Andrea_Lanza] +# VidiGo communication +vidigo 3231/tcp # (previous was: Delta [Peter_Ijkhout] [Peter_Ijkhout] +# Solutions Direct) +vidigo 3231/udp # (previous was: Delta [Peter_Ijkhout] [Peter_Ijkhout] +mdtp 3232/tcp # MDT port 2012-02-21 [RFC6513] +mdtp 3232/udp # MDT port 2012-02-21 [RFC6513] +whisker 3233/tcp # WhiskerControl main port [Rudolf_Cardinal] [Rudolf_Cardinal] 2002-02 +whisker 3233/udp # WhiskerControl main port [Rudolf_Cardinal] [Rudolf_Cardinal] 2002-02 +alchemy 3234/tcp # Alchemy Server [Mikhail_Belov] [Mikhail_Belov] 2002-02 +alchemy 3234/udp # Alchemy Server [Mikhail_Belov] [Mikhail_Belov] 2002-02 +mdap-port 3235/tcp # MDAP port [Johan_Deleu] [Johan_Deleu] 2002-02 +mdap-port 3235/udp # MDAP Port [Johan_Deleu] [Johan_Deleu] 2002-02 +apparenet-ts 3236/tcp # appareNet Test Server +apparenet-ts 3236/udp # appareNet Test Server +apparenet-tps 3237/tcp # appareNet Test Packet +# Sequencer +apparenet-tps 3237/udp # appareNet Test Packet +apparenet-as 3238/tcp # appareNet Analysis Server +apparenet-as 3238/udp # appareNet Analysis Server +apparenet-ui 3239/tcp # appareNet User Interface [Fred_Klassen] [Fred_Klassen] 2002-02 +apparenet-ui 3239/udp # appareNet User Interface [Fred_Klassen] [Fred_Klassen] 2002-02 +triomotion 3240/tcp # Trio Motion Control Port [Tony_Matthews] [Tony_Matthews] 2002-02 +triomotion 3240/udp # Trio Motion Control Port [Tony_Matthews] [Tony_Matthews] 2002-02 +sysorb 3241/tcp # SysOrb Monitoring Server [Jakob_Oestergaard] [Jakob_Oestergaard] 2002-02 +sysorb 3241/udp # SysOrb Monitoring Server [Jakob_Oestergaard] [Jakob_Oestergaard] 2002-02 +sdp-id-port 3242/tcp # Session Description ID [Greg_Rose_2] [Greg_Rose_2] 2002-02 +sdp-id-port 3242/udp # Session Description ID [Greg_Rose_2] [Greg_Rose_2] 2002-02 +timelot 3243/tcp # Timelot Port [David_Ferguson] [David_Ferguson] 2002-02 +timelot 3243/udp # Timelot Port [David_Ferguson] [David_Ferguson] 2002-02 +onesaf 3244/tcp # OneSAF [Gene_McCulley] [Gene_McCulley] 2002-02 +onesaf 3244/udp # OneSAF [Gene_McCulley] [Gene_McCulley] 2002-02 +vieo-fe 3245/tcp # VIEO Fabric Executive [James_Cox] [James_Cox] 2002-02 +vieo-fe 3245/udp # VIEO Fabric Executive [James_Cox] [James_Cox] 2002-02 +dvt-system 3246/tcp # DVT SYSTEM PORT +dvt-system 3246/udp # DVT SYSTEM PORT +dvt-data 3247/tcp # DVT DATA LINK [Phillip_Heil] [Phillip_Heil] 2002-02 +dvt-data 3247/udp # DVT DATA LINK [Phillip_Heil] [Phillip_Heil] 2002-02 +procos-lm 3248/tcp # PROCOS LM [Torsten_Rendelmann] [Torsten_Rendelmann] +procos-lm 3248/udp # PROCOS LM [Torsten_Rendelmann] [Torsten_Rendelmann] +ssp 3249/tcp # State Sync Protocol [Stephane_Beaulieu] [Stephane_Beaulieu] 2002-02 +ssp 3249/udp # State Sync Protocol [Stephane_Beaulieu] [Stephane_Beaulieu] 2002-02 +hicp 3250/tcp # HMS hicp port [Joel_Palsson] [Joel_Palsson] 2002-02 +hicp 3250/udp # HMS hicp port [Joel_Palsson] [Joel_Palsson] 2002-02 +sysscanner 3251/tcp # Sys Scanner [Dick_Georges] [Dick_Georges] 2002-02 +sysscanner 3251/udp # Sys Scanner [Dick_Georges] [Dick_Georges] 2002-02 +dhe 3252/tcp # DHE port [Fabrizio_Massimo_Fer] [Fabrizio_Massimo_Fer] 2002-02 +dhe 3252/udp # DHE port [Fabrizio_Massimo_Fer] [Fabrizio_Massimo_Fer] 2002-02 +pda-data 3253/tcp # PDA Data +pda-data 3253/udp # PDA Data +pda-sys 3254/tcp # PDA System [Jian_Fan] [Jian_Fan] 2002-02 +pda-sys 3254/udp # PDA System [Jian_Fan] [Jian_Fan] 2002-02 +semaphore 3255/tcp # Semaphore Connection Port [Jay_Eckles] [Jay_Eckles] 2002-02 +semaphore 3255/udp # Semaphore Connection Port [Jay_Eckles] [Jay_Eckles] 2002-02 +cpqrpm-agent 3256/tcp # Compaq RPM Agent Port +cpqrpm-agent 3256/udp # Compaq RPM Agent Port +cpqrpm-server 3257/tcp # Compaq RPM Server Port [Royal_King] [Royal_King] 2002-02 +cpqrpm-server 3257/udp # Compaq RPM Server Port [Royal_King] [Royal_King] 2002-02 +ivecon-port 3258/tcp # Ivecon Server Port [Serguei_Tevs] [Serguei_Tevs] 2002-02 +ivecon-port 3258/udp # Ivecon Server Port [Serguei_Tevs] [Serguei_Tevs] 2002-02 +epncdp2 3259/tcp # Epson Network Common Devi [Oishi_Toshiaki] [Oishi_Toshiaki] 2002-02 +epncdp2 3259/udp # Epson Network Common Devi [Oishi_Toshiaki] [Oishi_Toshiaki] 2002-02 +iscsi-target 3260/tcp # iSCSI port [Julian_Satran] [Julian_Satran] +iscsi-target 3260/udp # iSCSI port [Julian_Satran] [Julian_Satran] +winshadow 3261/tcp # winShadow [Colin_Barry] [Colin_Barry] +winshadow 3261/udp # winShadow [Colin_Barry] [Colin_Barry] +necp 3262/tcp # NECP [Alberto_Cerpa] [Alberto_Cerpa] +necp 3262/udp # NECP [Alberto_Cerpa] [Alberto_Cerpa] +ecolor-imager 3263/tcp # E-Color Enterprise Imager [Tamara_Baker] [Tamara_Baker] +ecolor-imager 3263/udp # E-Color Enterprise Imager [Tamara_Baker] [Tamara_Baker] +ccmail 3264/tcp # cc:mail/lotus [brockman] [brockman] +ccmail 3264/udp # cc:mail/lotus [brockman] [brockman] +altav-tunnel 3265/tcp # Altav Tunnel [Gary_M_Allen] [Gary_M_Allen] +altav-tunnel 3265/udp # Altav Tunnel [Gary_M_Allen] [Gary_M_Allen] +ns-cfg-server 3266/tcp # NS CFG Server [Aivi_Lie] [Aivi_Lie] +ns-cfg-server 3266/udp # NS CFG Server [Aivi_Lie] [Aivi_Lie] +ibm-dial-out 3267/tcp # IBM Dial Out [Skip_Booth] [Skip_Booth] +ibm-dial-out 3267/udp # IBM Dial Out [Skip_Booth] [Skip_Booth] +msft-gc 3268/tcp # Microsoft Global Catalog +msft-gc 3268/udp # Microsoft Global Catalog +msft-gc-ssl 3269/tcp # Microsoft Global Catalog [Asaf_Kashi] [Asaf_Kashi] +# with LDAP/SSL +msft-gc-ssl 3269/udp # Microsoft Global Catalog [Asaf_Kashi] [Asaf_Kashi] +verismart 3270/tcp # Verismart [Jay_Weber] [Jay_Weber] +verismart 3270/udp # Verismart [Jay_Weber] [Jay_Weber] +csoft-prev 3271/tcp # CSoft Prev Port [Nedelcho_Stanev_3] [Nedelcho_Stanev_3] +csoft-prev 3271/udp # CSoft Prev Port [Nedelcho_Stanev_3] [Nedelcho_Stanev_3] +user-manager 3272/tcp # Fujitsu User Manager [Yukihiko_Sakurai] [Yukihiko_Sakurai] +user-manager 3272/udp # Fujitsu User Manager [Yukihiko_Sakurai] [Yukihiko_Sakurai] +sxmp 3273/tcp # Simple Extensible [admin] [admin] +# Multiplexed Protocol +sxmp 3273/udp # Simple Extensible [admin] [admin] +ordinox-server 3274/tcp # Ordinox Server [Denis_Ducharme] [Denis_Ducharme] +ordinox-server 3274/udp # Ordinox Server [Denis_Ducharme] [Denis_Ducharme] +samd 3275/tcp # SAMD [Edgar_Circenis] [Edgar_Circenis] +samd 3275/udp # SAMD [Edgar_Circenis] [Edgar_Circenis] +maxim-asics 3276/tcp # Maxim ASICs [Dave_Inman] [Dave_Inman] +maxim-asics 3276/udp # Maxim ASICs [Dave_Inman] [Dave_Inman] +awg-proxy 3277/tcp # AWG Proxy [Alex_McDonald] [Alex_McDonald] +awg-proxy 3277/udp # AWG Proxy [Alex_McDonald] [Alex_McDonald] +lkcmserver 3278/tcp # LKCM Server [Javier_Jimenez] [Javier_Jimenez] +lkcmserver 3278/udp # LKCM Server [Javier_Jimenez] [Javier_Jimenez] +admind 3279/tcp # admind [Jeff_Haynes] [Jeff_Haynes] +admind 3279/udp # admind [Jeff_Haynes] [Jeff_Haynes] +vs-server 3280/tcp # VS Server [Scott_Godlew] [Scott_Godlew] +vs-server 3280/udp # VS Server [Scott_Godlew] [Scott_Godlew] +sysopt 3281/tcp # SYSOPT [Tony_Hoffman] [Tony_Hoffman] +sysopt 3281/udp # SYSOPT [Tony_Hoffman] [Tony_Hoffman] +datusorb 3282/tcp # Datusorb [Thomas_Martin] [Thomas_Martin] +datusorb 3282/udp # Datusorb [Thomas_Martin] [Thomas_Martin] +# Apple Remote +# Desktop (Net 3283 tcp Net Assistant [Michael_Stein] [Michael_Stein] 2011-11-09 +# Assistant) +# Desktop (Net 3283 udp Net Assistant [Michael_Stein] [Michael_Stein] 2011-11-09 +4talk 3284/tcp # 4Talk [Tony_Bushnell] [Tony_Bushnell] +4talk 3284/udp # 4Talk [Tony_Bushnell] [Tony_Bushnell] +plato 3285/tcp # Plato [Jim_Battin] [Jim_Battin] +plato 3285/udp # Plato [Jim_Battin] [Jim_Battin] +e-net 3286/tcp # E-Net [Steven_Grigsby] [Steven_Grigsby] +e-net 3286/udp # E-Net [Steven_Grigsby] [Steven_Grigsby] +directvdata 3287/tcp # DIRECTVDATA [Michael_Friedman] [Michael_Friedman] +directvdata 3287/udp # DIRECTVDATA [Michael_Friedman] [Michael_Friedman] +cops 3288/tcp # COPS [Shai_Herzog] [Shai_Herzog] +cops 3288/udp # COPS [Shai_Herzog] [Shai_Herzog] +enpc 3289/tcp # ENPC [SEIKO_EPSON_2] [SEIKO_EPSON_2] +enpc 3289/udp # ENPC [SEIKO_EPSON_2] [SEIKO_EPSON_2] +caps-lm 3290/tcp # CAPS LOGISTICS TOOLKIT - LM [Joseph_Krebs] [Joseph_Krebs] +caps-lm 3290/udp # CAPS LOGISTICS TOOLKIT - LM [Joseph_Krebs] [Joseph_Krebs] +sah-lm 3291/tcp # S A Holditch & Associates - [Randy_Hudgens] [Randy_Hudgens] +# LM +sah-lm 3291/udp # S A Holditch & Associates - [Randy_Hudgens] [Randy_Hudgens] +cart-o-rama 3292/tcp # Cart O Rama [Phillip_Dillinger] [Phillip_Dillinger] +cart-o-rama 3292/udp # Cart O Rama [Phillip_Dillinger] [Phillip_Dillinger] +fg-fps 3293/tcp # fg-fps +fg-fps 3293/udp # fg-fps +fg-gip 3294/tcp # fg-gip [Jean_Marc_Frailong] [Jean_Marc_Frailong] +fg-gip 3294/udp # fg-gip [Jean_Marc_Frailong] [Jean_Marc_Frailong] +dyniplookup 3295/tcp # Dynamic IP Lookup [Eugene_Osovetsky] [Eugene_Osovetsky] +dyniplookup 3295/udp # Dynamic IP Lookup [Eugene_Osovetsky] [Eugene_Osovetsky] +rib-slm 3296/tcp # Rib License Manager [Kristean_Heisler] [Kristean_Heisler] +rib-slm 3296/udp # Rib License Manager [Kristean_Heisler] [Kristean_Heisler] +cytel-lm 3297/tcp # Cytel License Manager [Yogesh_P_Gajjar] [Yogesh_P_Gajjar] +cytel-lm 3297/udp # Cytel License Manager [Yogesh_P_Gajjar] [Yogesh_P_Gajjar] +deskview 3298/tcp # DeskView [Manfred_Randelzofer] [Manfred_Randelzofer] +deskview 3298/udp # DeskView [Manfred_Randelzofer] [Manfred_Randelzofer] +pdrncs 3299/tcp # pdrncs [Paul_Wissenbach] [Paul_Wissenbach] +pdrncs 3299/udp # pdrncs [Paul_Wissenbach] [Paul_Wissenbach] +# 3300-3301 +# 3300-3301 unassigned Unauthorized +# Use by SAP +# R/3 +mcs-fastmail 3302/tcp # MCS Fastmail [Patti_Jo_Newsom] [Patti_Jo_Newsom] +mcs-fastmail 3302/udp # MCS Fastmail [Patti_Jo_Newsom] [Patti_Jo_Newsom] +opsession-clnt 3303/tcp # OP Session Client +opsession-clnt 3303/udp # OP Session Client +opsession-srvr 3304/tcp # OP Session Server [Amir_Blich] [Amir_Blich] +opsession-srvr 3304/udp # OP Session Server [Amir_Blich] [Amir_Blich] +odette-ftp 3305/tcp # ODETTE-FTP [David_Nash] [David_Nash] [RFC5024] +odette-ftp 3305/udp # ODETTE-FTP [David_Nash] [David_Nash] [RFC5024] +mysql 3306/tcp # MySQL [Monty] [Monty] +mysql 3306/udp # MySQL [Monty] [Monty] +opsession-prxy 3307/tcp # OP Session Proxy [Amir_Blich] [Amir_Blich] +opsession-prxy 3307/udp # OP Session Proxy [Amir_Blich] [Amir_Blich] +tns-server 3308/tcp # TNS Server +tns-server 3308/udp # TNS Server +tns-adv 3309/tcp # TNS ADV [Jerome_Albin] [Jerome_Albin] +tns-adv 3309/udp # TNS ADV [Jerome_Albin] [Jerome_Albin] +dyna-access 3310/tcp # Dyna Access [Dave_Belliveau] [Dave_Belliveau] +dyna-access 3310/udp # Dyna Access [Dave_Belliveau] [Dave_Belliveau] +mcns-tel-ret 3311/tcp # MCNS Tel Ret [Randall_Atkinson] [Randall_Atkinson] +mcns-tel-ret 3311/udp # MCNS Tel Ret [Randall_Atkinson] [Randall_Atkinson] +appman-server 3312/tcp # Application Management +appman-server 3312/udp # Application Management +uorb 3313/tcp # Unify Object Broker [Daegis_Inc] [Chris_Anderson] 2012-07-31 +uorb 3313/udp # Unify Object Broker [Daegis_Inc] [Chris_Anderson] 2012-07-31 +uohost 3314/tcp # Unify Object Host [Daegis_Inc] [Chris_Anderson] 2012-07-31 +uohost 3314/udp # Unify Object Host [Daegis_Inc] [Chris_Anderson] 2012-07-31 +cdid 3315/tcp # CDID [Andrew_Borisov] [Andrew_Borisov] +cdid 3315/udp # CDID [Andrew_Borisov] [Andrew_Borisov] +aicc-cmi 3316/tcp # AICC/CMI [William_McDonald] [William_McDonald] +aicc-cmi 3316/udp # AICC/CMI [William_McDonald] [William_McDonald] +vsaiport 3317/tcp # VSAI PORT [Rieko_Asai] [Rieko_Asai] +vsaiport 3317/udp # VSAI PORT [Rieko_Asai] [Rieko_Asai] +ssrip 3318/tcp # Swith to Swith Routing [Baba_Hidekazu] [Baba_Hidekazu] +# Information Protocol +ssrip 3318/udp # Swith to Swith Routing [Baba_Hidekazu] [Baba_Hidekazu] +sdt-lmd 3319/tcp # SDT License Manager [Salvo_Nassisi] [Salvo_Nassisi] +sdt-lmd 3319/udp # SDT License Manager [Salvo_Nassisi] [Salvo_Nassisi] +officelink2000 3320/tcp # Office Link 2000 [Mike_Balch] [Mike_Balch] +officelink2000 3320/udp # Office Link 2000 [Mike_Balch] [Mike_Balch] +vnsstr 3321/tcp # VNSSTR [Takeshi_Ohmura] [Takeshi_Ohmura] +vnsstr 3321/udp # VNSSTR [Takeshi_Ohmura] [Takeshi_Ohmura] +# active-net 3322-3325 Active Networks [Bob_Braden_2] [Bob_Braden_2] +sftu 3326/tcp # SFTU [Eduardo_Rosenberg_de] [Eduardo_Rosenberg_de] +sftu 3326/udp # SFTU [Eduardo_Rosenberg_de] [Eduardo_Rosenberg_de] +bbars 3327/tcp # BBARS [Lou_Harris] [Lou_Harris] +bbars 3327/udp # BBARS [Lou_Harris] [Lou_Harris] +egptlm 3328/tcp # Eaglepoint License Manager [Dave_Benton] [Dave_Benton] +egptlm 3328/udp # Eaglepoint License Manager [Dave_Benton] [Dave_Benton] +hp-device-disc 3329/tcp # HP Device Disc [Shivaun_Albright] [Shivaun_Albright] +hp-device-disc 3329/udp # HP Device Disc [Shivaun_Albright] [Shivaun_Albright] +mcs-calypsoicf 3330/tcp # MCS Calypso ICF +mcs-calypsoicf 3330/udp # MCS Calypso ICF +mcs-messaging 3331/tcp # MCS Messaging +mcs-messaging 3331/udp # MCS Messaging +mcs-mailsvr 3332/tcp # MCS Mail Server [Patti_Jo_Newsom] [Patti_Jo_Newsom] +mcs-mailsvr 3332/udp # MCS Mail Server [Patti_Jo_Newsom] [Patti_Jo_Newsom] +dec-notes 3333/tcp # DEC Notes [Kim_Moraros] [Kim_Moraros] +dec-notes 3333/udp # DEC Notes [Kim_Moraros] [Kim_Moraros] +directv-web 3334/tcp # Direct TV Webcasting +directv-web 3334/udp # Direct TV Webcasting +directv-soft 3335/tcp # Direct TV Software Updates +directv-soft 3335/udp # Direct TV Software Updates +directv-tick 3336/tcp # Direct TV Tickers +directv-tick 3336/udp # Direct TV Tickers +directv-catlg 3337/tcp # Direct TV Data Catalog [Michael_Friedman] [Michael_Friedman] +directv-catlg 3337/udp # Direct TV Data Catalog [Michael_Friedman] [Michael_Friedman] +anet-b 3338/tcp # OMF data b +anet-b 3338/udp # OMF data b +anet-l 3339/tcp # OMF data l +anet-l 3339/udp # OMF data l +anet-m 3340/tcp # OMF data m +anet-m 3340/udp # OMF data m +anet-h 3341/tcp # OMF data h [Per_Sahlqvist] [Per_Sahlqvist] +anet-h 3341/udp # OMF data h [Per_Sahlqvist] [Per_Sahlqvist] +webtie 3342/tcp # WebTIE [Kevin_Frender] [Kevin_Frender] +webtie 3342/udp # WebTIE [Kevin_Frender] [Kevin_Frender] +ms-cluster-net 3343/tcp # MS Cluster Net [David_Dion] [David_Dion] 2009-02-12 +ms-cluster-net 3343/udp # MS Cluster Net [David_Dion] [David_Dion] 2009-02-12 +bnt-manager 3344/tcp # BNT Manager [Engineering_Dept] [Engineering_Dept] +bnt-manager 3344/udp # BNT Manager [Engineering_Dept] [Engineering_Dept] +influence 3345/tcp # Influence [Russ_Ferriday] [Russ_Ferriday] +influence 3345/udp # Influence [Russ_Ferriday] [Russ_Ferriday] +trnsprntproxy 3346/tcp # Trnsprnt Proxy [Grant_Kirby] [Grant_Kirby] +trnsprntproxy 3346/udp # Trnsprnt Proxy [Grant_Kirby] [Grant_Kirby] +phoenix-rpc 3347/tcp # Phoenix RPC [Ian_Anderson] [Ian_Anderson] +phoenix-rpc 3347/udp # Phoenix RPC [Ian_Anderson] [Ian_Anderson] +pangolin-laser 3348/tcp # Pangolin Laser [William_Benner] [William_Benner] +pangolin-laser 3348/udp # Pangolin Laser [William_Benner] [William_Benner] +chevinservices 3349/tcp # Chevin Services [Gus_McNaughton] [Gus_McNaughton] +chevinservices 3349/udp # Chevin Services [Gus_McNaughton] [Gus_McNaughton] +findviatv 3350/tcp # FINDVIATV [Oran_Davis] [Oran_Davis] +findviatv 3350/udp # FINDVIATV [Oran_Davis] [Oran_Davis] +btrieve 3351/tcp # Btrieve port +btrieve 3351/udp # Btrieve port +ssql 3352/tcp # Scalable SQL [Chuck_Talk] [Chuck_Talk] +ssql 3352/udp # Scalable SQL [Chuck_Talk] [Chuck_Talk] +fatpipe 3353/tcp # FATPIPE [Sanchaita_Datta] [Sanchaita_Datta] +fatpipe 3353/udp # FATPIPE [Sanchaita_Datta] [Sanchaita_Datta] +suitjd 3354/tcp # SUITJD [Todd_Moyer] [Todd_Moyer] +suitjd 3354/udp # SUITJD [Todd_Moyer] [Todd_Moyer] +ordinox-dbase 3355/tcp # Ordinox Dbase [Denis_Ducharme] [Denis_Ducharme] +ordinox-dbase 3355/udp # Ordinox Dbase [Denis_Ducharme] [Denis_Ducharme] +upnotifyps 3356/tcp # UPNOTIFYPS [Mark_Fox] [Mark_Fox] +upnotifyps 3356/udp # UPNOTIFYPS [Mark_Fox] [Mark_Fox] +adtech-test 3357/tcp # Adtech Test IP [Robin_Uyeshiro] [Robin_Uyeshiro] +adtech-test 3357/udp # Adtech Test IP [Robin_Uyeshiro] [Robin_Uyeshiro] +mpsysrmsvr 3358/tcp # Mp Sys Rmsvr [Hiroyuki_Kawabuchi] [Hiroyuki_Kawabuchi] +mpsysrmsvr 3358/udp # Mp Sys Rmsvr [Hiroyuki_Kawabuchi] [Hiroyuki_Kawabuchi] +wg-netforce 3359/tcp # WG NetForce [Lee_Wheat] [Lee_Wheat] +wg-netforce 3359/udp # WG NetForce [Lee_Wheat] [Lee_Wheat] +kv-server 3360/tcp # KV Server +kv-server 3360/udp # KV Server +kv-agent 3361/tcp # KV Agent [Thomas_Soranno] [Thomas_Soranno] +kv-agent 3361/udp # KV Agent [Thomas_Soranno] [Thomas_Soranno] +dj-ilm 3362/tcp # DJ ILM [Don_Tyson] [Don_Tyson] +dj-ilm 3362/udp # DJ ILM [Don_Tyson] [Don_Tyson] +nati-vi-server 3363/tcp # NATI Vi Server [Robert_Dye] [Robert_Dye] +nati-vi-server 3363/udp # NATI Vi Server [Robert_Dye] [Robert_Dye] +creativeserver 3364/tcp # Creative Server +creativeserver 3364/udp # Creative Server +contentserver 3365/tcp # Content Server +contentserver 3365/udp # Content Server +creativepartnr 3366/tcp # Creative Partner [Jesus_Ortiz_2] [Jesus_Ortiz_2] +creativepartnr 3366/udp # Creative Partner [Jesus_Ortiz_2] [Jesus_Ortiz_2] +# satvid-datalnk 3367-3371 Satellite Video Data Link [Scott_Engel] [Scott_Engel] +tip2 3372/tcp # TIP 2 [Keith_Evans] [Keith_Evans] +tip2 3372/udp # TIP 2 [Keith_Evans] [Keith_Evans] +lavenir-lm 3373/tcp # Lavenir License Manager [Marius_Matioc] [Marius_Matioc] +lavenir-lm 3373/udp # Lavenir License Manager [Marius_Matioc] [Marius_Matioc] +cluster-disc 3374/tcp # Cluster Disc [Jeff_Hughes] [Jeff_Hughes] +cluster-disc 3374/udp # Cluster Disc [Jeff_Hughes] [Jeff_Hughes] +vsnm-agent 3375/tcp # VSNM Agent [Venkat_Rangan] [Venkat_Rangan] +vsnm-agent 3375/udp # VSNM Agent [Venkat_Rangan] [Venkat_Rangan] +cdbroker 3376/tcp # CD Broker [Moon_Ho_Chung] [Moon_Ho_Chung] +cdbroker 3376/udp # CD Broker [Moon_Ho_Chung] [Moon_Ho_Chung] +cogsys-lm 3377/tcp # Cogsys Network License [Simon_Chinnick] [Simon_Chinnick] +cogsys-lm 3377/udp # Cogsys Network License [Simon_Chinnick] [Simon_Chinnick] +wsicopy 3378/tcp # WSICOPY [James_Overby] [James_Overby] +wsicopy 3378/udp # WSICOPY [James_Overby] [James_Overby] +socorfs 3379/tcp # SOCORFS [Hugo_Charbonneau] [Hugo_Charbonneau] +socorfs 3379/udp # SOCORFS [Hugo_Charbonneau] [Hugo_Charbonneau] +sns-channels 3380/tcp # SNS Channels [Shekar_Pasumarthi] [Shekar_Pasumarthi] +sns-channels 3380/udp # SNS Channels [Shekar_Pasumarthi] [Shekar_Pasumarthi] +geneous 3381/tcp # Geneous [Nick_de_Smith] [Nick_de_Smith] +geneous 3381/udp # Geneous [Nick_de_Smith] [Nick_de_Smith] +fujitsu-neat 3382/tcp # Fujitsu Network Enhanced [Markku_Viima] [Markku_Viima] +# Antitheft function +fujitsu-neat 3382/udp # Fujitsu Network Enhanced [Markku_Viima] [Markku_Viima] +esp-lm 3383/tcp # Enterprise Software Products [George_Rudy] [George_Rudy] +esp-lm 3383/udp # Enterprise Software Products [George_Rudy] [George_Rudy] +hp-clic 3384/tcp # Cluster Management Services [Rajesh_Srinivasaragh] [Rajesh_Srinivasaragh] +hp-clic 3384/udp # Hardware Management [Rajesh_Srinivasaragh] [Rajesh_Srinivasaragh] +qnxnetman 3385/tcp # qnxnetman [Michael_Hunter] [Michael_Hunter] +qnxnetman 3385/udp # qnxnetman [Michael_Hunter] [Michael_Hunter] +gprs-data 3386/tcp # GPRS Data +gprs-sig 3386/udp # GPRS SIG [Ansgar_Bergmann] [Ansgar_Bergmann] +backroomnet 3387/tcp # Back Room Net [Clayton_Wilkinson] [Clayton_Wilkinson] +backroomnet 3387/udp # Back Room Net [Clayton_Wilkinson] [Clayton_Wilkinson] +cbserver 3388/tcp # CB Server [Allen_Wei] [Allen_Wei] +cbserver 3388/udp # CB Server [Allen_Wei] [Allen_Wei] +ms-wbt-server 3389/tcp # MS WBT Server [Ritu_Bahl] [Ritu_Bahl] +ms-wbt-server 3389/udp # MS WBT Server [Ritu_Bahl] [Ritu_Bahl] +dsc 3390/tcp # Distributed Service [Charles_Honton] [Charles_Honton] +# Coordinator +dsc 3390/udp # Distributed Service [Charles_Honton] [Charles_Honton] +savant 3391/tcp # SAVANT [Andy_Bruce] [Andy_Bruce] +savant 3391/udp # SAVANT [Andy_Bruce] [Andy_Bruce] +efi-lm 3392/tcp # EFI License Management [Ross_E_Greinke] [Ross_E_Greinke] +efi-lm 3392/udp # EFI License Management [Ross_E_Greinke] [Ross_E_Greinke] +d2k-tapestry1 3393/tcp # D2K Tapestry Client to +d2k-tapestry1 3393/udp # D2K Tapestry Client to +d2k-tapestry2 3394/tcp # D2K Tapestry Server to [Eric_Lan] [Eric_Lan] +d2k-tapestry2 3394/udp # D2K Tapestry Server to [Eric_Lan] [Eric_Lan] +dyna-lm 3395/tcp # Dyna License Manager (Elam) [Anjana_Iyer] [Anjana_Iyer] +dyna-lm 3395/udp # Dyna License Manager (Elam) [Anjana_Iyer] [Anjana_Iyer] +# Printer Agent +# +printer-agent 3396/tcp # IANA assigned this [Devon_Taylor] [Devon_Taylor] +# "printer_agent". +# This entry is an alias to "printer-agent". This entry is now +printer_agent 3396/tcp # Printer Agent [Devon_Taylor] [Devon_Taylor] historic, not usable for use with many common service +# +printer-agent 3396/udp # IANA assigned this [Devon_Taylor] [Devon_Taylor] +printer_agent 3396/udp # Printer Agent [Devon_Taylor] [Devon_Taylor] historic, not usable for use with many common service +cloanto-lm 3397/tcp # Cloanto License Manager [Takeo_Sato] [Takeo_Sato] 2010-04-30 +cloanto-lm 3397/udp # Cloanto License Manager [Takeo_Sato] [Takeo_Sato] 2010-04-30 +mercantile 3398/tcp # Mercantile [Erik_Kragh_Jensen] [Erik_Kragh_Jensen] +mercantile 3398/udp # Mercantile [Erik_Kragh_Jensen] [Erik_Kragh_Jensen] +csms 3399/tcp # CSMS +csms 3399/udp # CSMS +csms2 3400/tcp # CSMS2 [Markus_Michels_2] [Markus_Michels_2] +csms2 3400/udp # CSMS2 [Markus_Michels_2] [Markus_Michels_2] +filecast 3401/tcp # filecast [Eden_Sherry] [Eden_Sherry] +filecast 3401/udp # filecast [Eden_Sherry] [Eden_Sherry] +fxaengine-net 3402/tcp # FXa Engine Network Port [Lucas_Alonso] [Lucas_Alonso] 2002-02 +fxaengine-net 3402/udp # FXa Engine Network Port [Lucas_Alonso] [Lucas_Alonso] 2002-02 +# 3403 De-registered 2006-10-27 +# 3404 Removed 2002-05-01 +nokia-ann-ch1 3405/tcp # Nokia Announcement ch 1 +nokia-ann-ch1 3405/udp # Nokia Announcement ch 1 +nokia-ann-ch2 3406/tcp # Nokia Announcement ch 2 [Morteza_Kalhour] [Morteza_Kalhour] 2002-02 +nokia-ann-ch2 3406/udp # Nokia Announcement ch 2 [Morteza_Kalhour] [Morteza_Kalhour] 2002-02 +ldap-admin 3407/tcp # LDAP admin server port [Stephen_Tsun_2] [Stephen_Tsun_2] 2002-02 +ldap-admin 3407/udp # LDAP admin server port [Stephen_Tsun_2] [Stephen_Tsun_2] 2002-02 +BESApi 3408/tcp # BES Api Port [Colin_Griffiths] [Colin_Griffiths] 2002-02 +BESApi 3408/udp # BES Api Port [Colin_Griffiths] [Colin_Griffiths] 2002-02 +networklens 3409/tcp # NetworkLens Event Port +networklens 3409/udp # NetworkLens Event Port +networklenss 3410/tcp # NetworkLens SSL Event [Greg_Bailey] [Greg_Bailey] 2002-02 +networklenss 3410/udp # NetworkLens SSL Event [Greg_Bailey] [Greg_Bailey] 2002-02 +biolink-auth 3411/tcp # BioLink Authenteon server [BioLink_Support] [BioLink_Support] 2002-02 +biolink-auth 3411/udp # BioLink Authenteon server [BioLink_Support] [BioLink_Support] 2002-02 +xmlblaster 3412/tcp # xmlBlaster [Marcel_Ruff] [Marcel_Ruff] 2002-02 +xmlblaster 3412/udp # xmlBlaster [Marcel_Ruff] [Marcel_Ruff] 2002-02 +svnet 3413/tcp # SpecView Networking [Richard_Dickins] [Richard_Dickins] 2002-02 +svnet 3413/udp # SpecView Networking [Richard_Dickins] [Richard_Dickins] 2002-02 +wip-port 3414/tcp # BroadCloud WIP Port +wip-port 3414/udp # BroadCloud WIP Port +bcinameservice 3415/tcp # BCI Name Service [Dennis_Parker] [Dennis_Parker] 2002-02 +bcinameservice 3415/udp # BCI Name Service [Dennis_Parker] [Dennis_Parker] 2002-02 +commandport 3416/tcp # AirMobile IS Command Port [Mike_Klein] [Mike_Klein] 2002-02 +commandport 3416/udp # AirMobile IS Command Port [Mike_Klein] [Mike_Klein] 2002-02 +csvr 3417/tcp # ConServR file translation [Albert_Leung] [Albert_Leung] 2002-02 +csvr 3417/udp # ConServR file translation [Albert_Leung] [Albert_Leung] 2002-02 +rnmap 3418/tcp # Remote nmap [Tuomo_Makinen] [Tuomo_Makinen] 2002-02 +rnmap 3418/udp # Remote nmap [Tuomo_Makinen] [Tuomo_Makinen] 2002-02 +softaudit 3419/tcp # Isogon SoftAudit [Per_Hellberg] [Per_Hellberg] 2002-02 +softaudit 3419/udp # ISogon SoftAudit [Per_Hellberg] [Per_Hellberg] 2002-02 +ifcp-port 3420/tcp # iFCP User Port [RFC4172] +ifcp-port 3420/udp # iFCP User Port [RFC4172] +bmap 3421/tcp # Bull Apprise portmapper [Jeremy_Gilbert] [Jeremy_Gilbert] +bmap 3421/udp # Bull Apprise portmapper [Jeremy_Gilbert] [Jeremy_Gilbert] +rusb-sys-port 3422/tcp # Remote USB System Port [Steven_Klein] [Steven_Klein] 2002-02 +rusb-sys-port 3422/udp # Remote USB System Port [Steven_Klein] [Steven_Klein] 2002-02 +xtrm 3423/tcp # xTrade Reliable Messaging +xtrm 3423/udp # xTrade Reliable Messaging +xtrms 3424/tcp # xTrade over TLS/SSL [Mats_Nilsson] [Mats_Nilsson] 2002-02 +xtrms 3424/udp # xTrade over TLS/SSL [Mats_Nilsson] [Mats_Nilsson] 2002-02 +agps-port 3425/tcp # AGPS Access Port [Kristoffer_Nilsson] [Kristoffer_Nilsson] 2002-02 +agps-port 3425/udp # AGPS Access Port [Kristoffer_Nilsson] [Kristoffer_Nilsson] 2002-02 +arkivio 3426/tcp # Arkivio Storage Protocol [Bruce_Greenblatt] [Bruce_Greenblatt] 2002-02 +arkivio 3426/udp # Arkivio Storage Protocol [Bruce_Greenblatt] [Bruce_Greenblatt] 2002-02 +websphere-snmp 3427/tcp # WebSphere SNMP [Richard_Mills] [Richard_Mills] 2002-02 +websphere-snmp 3427/udp # WebSphere SNMP [Richard_Mills] [Richard_Mills] 2002-02 +twcss 3428/tcp # 2Wire CSS [Wire_IANA_Contact] [Wire_IANA_Contact] 2002-02 +twcss 3428/udp # 2Wire CSS [Wire_IANA_Contact] [Wire_IANA_Contact] 2002-02 +gcsp 3429/tcp # GCSP user port [Anirban_Majumder] [Anirban_Majumder] 2002-03 +gcsp 3429/udp # GCSP user port [Anirban_Majumder] [Anirban_Majumder] 2002-03 +ssdispatch 3430/tcp # Scott Studios Dispatch [Michael_Settles] [Michael_Settles] 2002-03 +ssdispatch 3430/udp # Scott Studios Dispatch [Michael_Settles] [Michael_Settles] 2002-03 +ndl-als 3431/tcp # Active License Server Port [Quentin_Brown] [Quentin_Brown] 2002-03 +ndl-als 3431/udp # Active License Server Port [Quentin_Brown] [Quentin_Brown] 2002-03 +osdcp 3432/tcp # Secure Device Protocol [Peter_Fernandez] [Peter_Fernandez] 2002-03 +osdcp 3432/udp # Secure Device Protocol [Peter_Fernandez] [Peter_Fernandez] 2002-03 +opnet-smp 3433/tcp # OPNET Service Management [OPNET_Technologies_Inc] [Edward_Macomber] 2002-03 2011-09-21 +opnet-smp 3433/udp # OPNET Service Management [OPNET_Technologies_Inc] [Edward_Macomber] 2002-03 2011-09-21 +opencm 3434/tcp # OpenCM Server [Jonathan_S_Shapiro] [Jonathan_S_Shapiro] 2002-03 +opencm 3434/udp # OpenCM Server [Jonathan_S_Shapiro] [Jonathan_S_Shapiro] 2002-03 +pacom 3435/tcp # Pacom Security User Port [Steve_Barton] [Steve_Barton] 2002-03 +pacom 3435/udp # Pacom Security User Port [Steve_Barton] [Steve_Barton] 2002-03 +gc-config 3436/tcp # GuardControl Exchange [Andreas_Schwarz] [Andreas_Schwarz] 2002-03 +gc-config 3436/udp # GuardControl Exchange [Andreas_Schwarz] [Andreas_Schwarz] 2002-03 +autocueds 3437/tcp # Autocue Directory Service [Geoff_Back] [Geoff_Back] 2002-03 +autocueds 3437/udp # Autocue Directory Service [Geoff_Back] [Geoff_Back] 2002-03 +spiral-admin 3438/tcp # Spiralcraft Admin [Michael_Toth] [Michael_Toth] 2002-03 +spiral-admin 3438/udp # Spiralcraft Admin [Michael_Toth] [Michael_Toth] 2002-03 +hri-port 3439/tcp # HRI Interface Port [John_Fayos] [John_Fayos] 2002-03 +hri-port 3439/udp # HRI Interface Port [John_Fayos] [John_Fayos] 2002-03 +ans-console 3440/tcp # Net Steward Mgmt Console [John_Richmond] [John_Richmond] 2002-03 +ans-console 3440/udp # Net Steward Mgmt Console [John_Richmond] [John_Richmond] 2002-03 +connect-client 3441/tcp # OC Connect Client +connect-client 3441/udp # OC Connect Client +connect-server 3442/tcp # OC Connect Server [Mike_Velten_2] [Mike_Velten_2] 2002-03 +connect-server 3442/udp # OC Connect Server [Mike_Velten_2] [Mike_Velten_2] 2002-03 +ov-nnm-websrv 3443/tcp # OpenView Network Node [Anthony_Walker] [Anthony_Walker] 2002-03 +# Manager WEB Server +ov-nnm-websrv 3443/udp # OpenView Network Node [Anthony_Walker] [Anthony_Walker] 2002-03 +denali-server 3444/tcp # Denali Server [Joe_Devlin] [Joe_Devlin] 2002-03 +denali-server 3444/udp # Denali Server [Joe_Devlin] [Joe_Devlin] 2002-03 +monp 3445/tcp # Media Object Network [Ron_Herardian] [Ron_Herardian] 2002-03 +monp 3445/udp # Media Object Network [Ron_Herardian] [Ron_Herardian] 2002-03 +3comfaxrpc 3446/tcp # 3Com FAX RPC port [Christopher_Wells_2] [Christopher_Wells_2] 2002-04 +3comfaxrpc 3446/udp # 3Com FAX RPC port [Christopher_Wells_2] [Christopher_Wells_2] 2002-04 +directnet 3447/tcp # DirectNet IM System [Gregory_Richards] [Gregory_Richards] 2002-04 +directnet 3447/udp # DirectNet IM System [Gregory_Richards] [Gregory_Richards] 2002-04 +dnc-port 3448/tcp # Discovery and Net Config [Chi_Chen] [Chi_Chen] 2002-04 +dnc-port 3448/udp # Discovery and Net Config [Chi_Chen] [Chi_Chen] 2002-04 +hotu-chat 3449/tcp # HotU Chat [Tim_Burgess] [Tim_Burgess] 2002-04 +hotu-chat 3449/udp # HotU Chat [Tim_Burgess] [Tim_Burgess] 2002-04 +castorproxy 3450/tcp # CAStorProxy [Raymond_J_Young] [Raymond_J_Young] 2002-04 +castorproxy 3450/udp # CAStorProxy [Raymond_J_Young] [Raymond_J_Young] 2002-04 +asam 3451/tcp # ASAM Services [Mike_Gossett] [Mike_Gossett] 2002-04 +asam 3451/udp # ASAM Services [Mike_Gossett] [Mike_Gossett] 2002-04 +sabp-signal 3452/tcp # SABP-Signalling Protocol [Brendan_McWilliams] [Brendan_McWilliams] 2002-04 +sabp-signal 3452/udp # SABP-Signalling Protocol [Brendan_McWilliams] [Brendan_McWilliams] 2002-04 +pscupd 3453/tcp # PSC Update Port [Reid_B_Ligon] [Reid_B_Ligon] +pscupd 3453/udp # PSC Update Port [Reid_B_Ligon] [Reid_B_Ligon] +mira 3454/tcp # Apple Remote Access Protocol [Mike_Alexander] [Mike_Alexander] +mira 3454/udp # Apple Remote Access Protocol [Mike_Alexander] [Mike_Alexander] +prsvp 3455/tcp # RSVP Port [Bob_Braden] [Bob_Braden] +prsvp 3455/udp # RSVP Port [Bob_Braden] [Bob_Braden] +vat 3456/tcp # VAT default data [Van_Jacobson] [Van_Jacobson] +vat 3456/udp # VAT default data [Van_Jacobson] [Van_Jacobson] +vat-control 3457/tcp # VAT default control [Van_Jacobson] [Van_Jacobson] +vat-control 3457/udp # VAT default control [Van_Jacobson] [Van_Jacobson] +d3winosfi 3458/tcp # D3WinOSFI [Brad_Hamilton] [Brad_Hamilton] +d3winosfi 3458/udp # D3WinOSFI [Brad_Hamilton] [Brad_Hamilton] +integral 3459/tcp # TIP Integral [Olivier_Mascia] [Olivier_Mascia] +integral 3459/udp # TIP Integral [Olivier_Mascia] [Olivier_Mascia] +edm-manager 3460/tcp # EDM Manger +edm-manager 3460/udp # EDM Manger +edm-stager 3461/tcp # EDM Stager +edm-stager 3461/udp # EDM Stager +edm-std-notify 3462/tcp # EDM STD Notify +edm-std-notify 3462/udp # EDM STD Notify +edm-adm-notify 3463/tcp # EDM ADM Notify +edm-adm-notify 3463/udp # EDM ADM Notify +edm-mgr-sync 3464/tcp # EDM MGR Sync +edm-mgr-sync 3464/udp # EDM MGR Sync +edm-mgr-cntrl 3465/tcp # EDM MGR Cntrl [Tom_Hennessy] [Tom_Hennessy] +edm-mgr-cntrl 3465/udp # EDM MGR Cntrl [Tom_Hennessy] [Tom_Hennessy] +workflow 3466/tcp # WORKFLOW [Robert_Hufsky] [Robert_Hufsky] +workflow 3466/udp # WORKFLOW [Robert_Hufsky] [Robert_Hufsky] +rcst 3467/tcp # RCST [Kit_Sturgeon] [Kit_Sturgeon] +rcst 3467/udp # RCST [Kit_Sturgeon] [Kit_Sturgeon] +ttcmremotectrl 3468/tcp # TTCM Remote Controll [Yossi_Cohen_Shahar] [Yossi_Cohen_Shahar] +ttcmremotectrl 3468/udp # TTCM Remote Controll [Yossi_Cohen_Shahar] [Yossi_Cohen_Shahar] +pluribus 3469/tcp # Pluribus [Mark_Miller] [Mark_Miller] +pluribus 3469/udp # Pluribus [Mark_Miller] [Mark_Miller] +jt400 3470/tcp # jt400 +jt400 3470/udp # jt400 +jt400-ssl 3471/tcp # jt400-ssl [Clifton_Nock] [Clifton_Nock] +jt400-ssl 3471/udp # jt400-ssl [Clifton_Nock] [Clifton_Nock] +jaugsremotec-1 3472/tcp # JAUGS N-G Remotec 1 +jaugsremotec-1 3472/udp # JAUGS N-G Remotec 1 +jaugsremotec-2 3473/tcp # JAUGS N-G Remotec 2 [Steven_B_Cliff] [Steven_B_Cliff] 2002-04 +jaugsremotec-2 3473/udp # JAUGS N-G Remotec 2 [Steven_B_Cliff] [Steven_B_Cliff] 2002-04 +ttntspauto 3474/tcp # TSP Automation [Arnie_Koster] [Arnie_Koster] 2002-04 +ttntspauto 3474/udp # TSP Automation [Arnie_Koster] [Arnie_Koster] 2002-04 +genisar-port 3475/tcp # Genisar Comm Port [Candace_Niccolson] [Candace_Niccolson] 2002-04 +genisar-port 3475/udp # Genisar Comm Port [Candace_Niccolson] [Candace_Niccolson] 2002-04 +nppmp 3476/tcp # NVIDIA Mgmt Protocol [Gilbert_Yeung] [Gilbert_Yeung] 2002-04 +nppmp 3476/udp # NVIDIA Mgmt Protocol [Gilbert_Yeung] [Gilbert_Yeung] 2002-04 +ecomm 3477/tcp # eComm link port [Thomas_Soerensen] [Thomas_Soerensen] 2002-04 +ecomm 3477/udp # eComm link port [Thomas_Soerensen] [Thomas_Soerensen] 2002-04 +stun 3478/tcp # Session Traversal Utilities [RFC5389] +# for NAT (STUN) port +stun 3478/udp # Session Traversal Utilities [RFC5389] +turn 3478/tcp # TURN over TCP [RFC5766] +turn 3478/udp # TURN over UDP [RFC5766] +stun-behavior 3478/tcp # STUN Behavior Discovery over [RFC5780] +# TCP +stun-behavior 3478/udp # STUN Behavior Discovery over [RFC5780] +# UDP +twrpc 3479/tcp # 2Wire RPC [Wire_IANA_Contact] [Wire_IANA_Contact] 2002-04 +twrpc 3479/udp # 2Wire RPC [Wire_IANA_Contact] [Wire_IANA_Contact] 2002-04 +plethora 3480/tcp # Secure Virtual Workspace [Tim_Simms] [Tim_Simms] 2002-04 +plethora 3480/udp # Secure Virtual Workspace [Tim_Simms] [Tim_Simms] 2002-04 +cleanerliverc 3481/tcp # CleanerLive remote ctrl [David_Mojdehi] [David_Mojdehi] 2002-04 +cleanerliverc 3481/udp # CleanerLive remote ctrl [David_Mojdehi] [David_Mojdehi] 2002-04 +vulture 3482/tcp # Vulture Monitoring System [Jason_Santos] [Jason_Santos] 2002-04 +vulture 3482/udp # Vulture Monitoring System [Jason_Santos] [Jason_Santos] 2002-04 +slim-devices 3483/tcp # Slim Devices Protocol [Sean_Adams] [Sean_Adams] 2002-05 +slim-devices 3483/udp # Slim Devices Protocol [Sean_Adams] [Sean_Adams] 2002-05 +gbs-stp 3484/tcp # GBS SnapTalk Protocol [Eric_Harris_Braun] [Eric_Harris_Braun] 2002-05 +gbs-stp 3484/udp # GBS SnapTalk Protocol [Eric_Harris_Braun] [Eric_Harris_Braun] 2002-05 +celatalk 3485/tcp # CelaTalk [Carl_Blundell] [Carl_Blundell] 2002-05 +celatalk 3485/udp # CelaTalk [Carl_Blundell] [Carl_Blundell] 2002-05 +ifsf-hb-port 3486/tcp # IFSF Heartbeat Port [IFSF_Secretary] [IFSF_Secretary] 2002-05 +ifsf-hb-port 3486/udp # IFSF Heartbeat Port [IFSF_Secretary] [IFSF_Secretary] 2002-05 +ltctcp 3487/tcp # LISA TCP Transfer Channel +ltcudp 3487/udp # LISA UDP Transfer Channel [Pit_Vetterick] [Pit_Vetterick] 2002-05 +fs-rh-srv 3488/tcp # FS Remote Host Server [Brian_Nickles] [Brian_Nickles] 2002-05 +fs-rh-srv 3488/udp # FS Remote Host Server [Brian_Nickles] [Brian_Nickles] 2002-05 +dtp-dia 3489/tcp # DTP/DIA [Alexei_V_Soloviev] [Alexei_V_Soloviev] 2002-05 +dtp-dia 3489/udp # DTP/DIA [Alexei_V_Soloviev] [Alexei_V_Soloviev] 2002-05 +colubris 3490/tcp # Colubris Management Port [Gilbert_Moineau] [Gilbert_Moineau] 2002-05 +colubris 3490/udp # Colubris Management Port [Gilbert_Moineau] [Gilbert_Moineau] 2002-05 +swr-port 3491/tcp # SWR Port [Ian_Manning] [Ian_Manning] 2002-05 +swr-port 3491/udp # SWR Port [Ian_Manning] [Ian_Manning] 2002-05 +tvdumtray-port 3492/tcp # TVDUM Tray Port [Peter_Boers] [Peter_Boers] 2002-05 +tvdumtray-port 3492/udp # TVDUM Tray Port [Peter_Boers] [Peter_Boers] 2002-05 +nut 3493/tcp # Network UPS Tools [Russell_Kroll] [Russell_Kroll] 2002-05 +nut 3493/udp # Network UPS Tools [Russell_Kroll] [Russell_Kroll] 2002-05 +ibm3494 3494/tcp # IBM 3494 [Jeffrey_Pilch] [Jeffrey_Pilch] +ibm3494 3494/udp # IBM 3494 [Jeffrey_Pilch] [Jeffrey_Pilch] +seclayer-tcp 3495/tcp # securitylayer over tcp +seclayer-tcp 3495/udp # securitylayer over tcp +seclayer-tls 3496/tcp # securitylayer over tls [Arno_Hollosi] [Arno_Hollosi] 2002-03 +seclayer-tls 3496/udp # securitylayer over tls [Arno_Hollosi] [Arno_Hollosi] 2002-03 +ipether232port 3497/tcp # ipEther232Port [Marcus_Leufgen] [Marcus_Leufgen] 2002-05 +ipether232port 3497/udp # ipEther232Port [Marcus_Leufgen] [Marcus_Leufgen] 2002-05 +dashpas-port 3498/tcp # DASHPAS user port [Albrecht_Mayer] [Albrecht_Mayer] 2002-05 +dashpas-port 3498/udp # DASHPAS user port [Albrecht_Mayer] [Albrecht_Mayer] 2002-05 +sccip-media 3499/tcp # SccIP Media [David_Yon_2] [David_Yon_2] 2002-05 +sccip-media 3499/udp # SccIP Media [David_Yon_2] [David_Yon_2] 2002-05 +rtmp-port 3500/tcp # RTMP Port [Miriam_Wohlgelernter] [Miriam_Wohlgelernter] +rtmp-port 3500/udp # RTMP Port [Miriam_Wohlgelernter] [Miriam_Wohlgelernter] +isoft-p2p 3501/tcp # iSoft-P2P [David_Walling_2] [David_Walling_2] +isoft-p2p 3501/udp # iSoft-P2P [David_Walling_2] [David_Walling_2] +avinstalldisc 3502/tcp # Avocent Install Discovery [Brian_S_Stewart_2] [Brian_S_Stewart_2] +avinstalldisc 3502/udp # Avocent Install Discovery [Brian_S_Stewart_2] [Brian_S_Stewart_2] +lsp-ping 3503/tcp # MPLS LSP-echo Port [RFC4379] +lsp-ping 3503/udp # MPLS LSP-echo Port [RFC4379] +ironstorm 3504/tcp # IronStorm game server [Arnaud_Clermonte] [Arnaud_Clermonte] +ironstorm 3504/udp # IronStorm game server [Arnaud_Clermonte] [Arnaud_Clermonte] +ccmcomm 3505/tcp # CCM communications port [Tom_Bougan] [Tom_Bougan] +ccmcomm 3505/udp # CCM communications port [Tom_Bougan] [Tom_Bougan] +apc-3506 3506/tcp # APC 3506 [American_Power_Conve] [American_Power_Conve] +apc-3506 3506/udp # APC 3506 [American_Power_Conve] [American_Power_Conve] +nesh-broker 3507/tcp # Nesh Broker Port [Jeremy_Maiden] [Jeremy_Maiden] +nesh-broker 3507/udp # Nesh Broker Port [Jeremy_Maiden] [Jeremy_Maiden] +interactionweb 3508/tcp # Interaction Web [Mike_Gagle_2] [Mike_Gagle_2] +interactionweb 3508/udp # Interaction Web [Mike_Gagle_2] [Mike_Gagle_2] +vt-ssl 3509/tcp # Virtual Token SSL Port [Libor_Sykora] [Libor_Sykora] 2002-05 +vt-ssl 3509/udp # Virtual Token SSL Port [Libor_Sykora] [Libor_Sykora] 2002-05 +xss-port 3510/tcp # XSS Port [Joe_Purcell] [Joe_Purcell] 2002-05 +xss-port 3510/udp # XSS Port [Joe_Purcell] [Joe_Purcell] 2002-05 +webmail-2 3511/tcp # WebMail/2 [Dimitris_Michelinaki] [Dimitris_Michelinaki] 2002-05 +webmail-2 3511/udp # WebMail/2 [Dimitris_Michelinaki] [Dimitris_Michelinaki] 2002-05 +aztec 3512/tcp # Aztec Distribution Port [Alan_Francis] [Alan_Francis] 2002-05 +aztec 3512/udp # Aztec Distribution Port [Alan_Francis] [Alan_Francis] 2002-05 +arcpd 3513/tcp # Adaptec Remote Protocol [Hardy_Doelfel] [Hardy_Doelfel] 2002-05 +arcpd 3513/udp # Adaptec Remote Protocol [Hardy_Doelfel] [Hardy_Doelfel] 2002-05 +must-p2p 3514/tcp # MUST Peer to Peer +must-p2p 3514/udp # MUST Peer to Peer +must-backplane 3515/tcp # MUST Backplane [Rick_Stefanik] [Rick_Stefanik] 2002-05 +must-backplane 3515/udp # MUST Backplane [Rick_Stefanik] [Rick_Stefanik] 2002-05 +smartcard-port 3516/tcp # Smartcard Port [Scott_Guthery] [Scott_Guthery] 2002-05 +smartcard-port 3516/udp # Smartcard Port [Scott_Guthery] [Scott_Guthery] 2002-05 +802-11-iapp 3517/tcp # IEEE 802.11 WLANs WG IAPP [Stuart_J_Kerry] [Stuart_J_Kerry] 2002-05 +802-11-iapp 3517/udp # IEEE 802.11 WLANs WG IAPP [Stuart_J_Kerry] [Stuart_J_Kerry] 2002-05 +artifact-msg 3518/tcp # Artifact Message Server [Ron_Capwell] [Ron_Capwell] 2002-06 +artifact-msg 3518/udp # Artifact Message Server [Ron_Capwell] [Ron_Capwell] 2002-06 +nvmsgd 3519/tcp # Netvion Messenger Port +galileo 3519/udp # Netvion Galileo Port +galileolog 3520/tcp # Netvion Galileo Log Port [Ray_Caruso] [Ray_Caruso] 2002-06 +galileolog 3520/udp # Netvion Galileo Log Port [Ray_Caruso] [Ray_Caruso] 2002-06 +mc3ss 3521/tcp # Telequip Labs MC3SS [Michael_Sparks] [Michael_Sparks] 2002-06 +mc3ss 3521/udp # Telequip Labs MC3SS [Michael_Sparks] [Michael_Sparks] 2002-06 +# NFS service for the domain +# nfs-domainroot tcp root, the root of an [IESG] [IETF_Chair] 2012-04-24 [RFC6641] Defined TXT keys: None +# organization's published +# file namespace. +nssocketport 3522/tcp # DO over NSSocketPort [Douglas_Davidson] [Douglas_Davidson] 2002-06 +nssocketport 3522/udp # DO over NSSocketPort [Douglas_Davidson] [Douglas_Davidson] 2002-06 +odeumservlink 3523/tcp # Odeum Serverlink [Mads_Peter_Back] [Mads_Peter_Back] 2002-06 +odeumservlink 3523/udp # Odeum Serverlink [Mads_Peter_Back] [Mads_Peter_Back] 2002-06 +ecmport 3524/tcp # ECM Server port +ecmport 3524/udp # ECM Server port +eisport 3525/tcp # EIS Server port [Paul_Kraus] [Paul_Kraus] 2002-06 +eisport 3525/udp # EIS Server port [Paul_Kraus] [Paul_Kraus] 2002-06 +starquiz-port 3526/tcp # starQuiz Port [Adam_Ernst_2] [Adam_Ernst_2] 2002-06 +starquiz-port 3526/udp # starQuiz Port [Adam_Ernst_2] [Adam_Ernst_2] 2002-06 +beserver-msg-q 3527/tcp # VERITAS Backup Exec Server [Katherine_Wattwood] [Katherine_Wattwood] 2002-06 +beserver-msg-q 3527/udp # VERITAS Backup Exec Server [Katherine_Wattwood] [Katherine_Wattwood] 2002-06 +jboss-iiop 3528/tcp # JBoss IIOP +jboss-iiop 3528/udp # JBoss IIOP +jboss-iiop-ssl 3529/tcp # JBoss IIOP/SSL [Francisco_Reverbel] [Francisco_Reverbel] 2002-06 +jboss-iiop-ssl 3529/udp # JBoss IIOP/SSL [Francisco_Reverbel] [Francisco_Reverbel] 2002-06 +gf 3530/tcp # Grid Friendly [Daivd_P_Chassin] [Daivd_P_Chassin] 2002-06 +gf 3530/udp # Grid Friendly [Daivd_P_Chassin] [Daivd_P_Chassin] 2002-06 +joltid 3531/tcp # Joltid [Ahti_Heinla] [Ahti_Heinla] 2002-06 +joltid 3531/udp # Joltid [Ahti_Heinla] [Ahti_Heinla] 2002-06 +raven-rmp 3532/tcp # Raven Remote Management +raven-rmp 3532/udp # Raven Remote Management +raven-rdp 3533/tcp # Raven Remote Management Data [Daniel_Sorlov_2] [Daniel_Sorlov_2] 2002-06 +raven-rdp 3533/udp # Raven Remote Management Data [Daniel_Sorlov_2] [Daniel_Sorlov_2] 2002-06 +urld-port 3534/tcp # URL Daemon Port [Jim_Binkley] [Jim_Binkley] 2002-06 +urld-port 3534/udp # URL Daemon Port [Jim_Binkley] [Jim_Binkley] 2002-06 +ms-la 3535/tcp # MS-LA [Eric_Ledoux] [Eric_Ledoux] +ms-la 3535/udp # MS-LA [Eric_Ledoux] [Eric_Ledoux] +snac 3536/tcp # SNAC [Tatsuya_Igarashi] [Tatsuya_Igarashi] 2002-07 +snac 3536/udp # SNAC [Tatsuya_Igarashi] [Tatsuya_Igarashi] 2002-07 +ni-visa-remote 3537/tcp # Remote NI-VISA port [Sinnadurai_Dharshan] [Sinnadurai_Dharshan] 2002-07 +ni-visa-remote 3537/udp # Remote NI-VISA port [Sinnadurai_Dharshan] [Sinnadurai_Dharshan] 2002-07 +ibm-diradm 3538/tcp # IBM Directory Server +ibm-diradm 3538/udp # IBM Directory Server +ibm-diradm-ssl 3539/tcp # IBM Directory Server SSL [Mark_Cavage] [Mark_Cavage] 2002-07 +ibm-diradm-ssl 3539/udp # IBM Directory Server SSL [Mark_Cavage] [Mark_Cavage] 2002-07 +pnrp-port 3540/tcp # PNRP User Port [Igor_Kostic] [Igor_Kostic] 2002-07 +pnrp-port 3540/udp # PNRP User Port [Igor_Kostic] [Igor_Kostic] 2002-07 +voispeed-port 3541/tcp # VoiSpeed Port [Virgilio_Lattanzi] [Virgilio_Lattanzi] 2002-07 +voispeed-port 3541/udp # VoiSpeed Port [Virgilio_Lattanzi] [Virgilio_Lattanzi] 2002-07 +hacl-monitor 3542/tcp # HA cluster monitor [Jason_Ko] [Jason_Ko] 2002-07 +hacl-monitor 3542/udp # HA cluster monitor [Jason_Ko] [Jason_Ko] 2002-07 +qftest-lookup 3543/tcp # qftest Lookup Port [Gregor_Schmid] [Gregor_Schmid] 2002-07 +qftest-lookup 3543/udp # qftest Lookup Port [Gregor_Schmid] [Gregor_Schmid] 2002-07 +teredo 3544/tcp # Teredo Port [RFC4380] +teredo 3544/udp # Teredo Port [RFC4380] +camac 3545/tcp # CAMAC equipment [Eugene_Zhiganov] [Eugene_Zhiganov] 2002-07 +camac 3545/udp # CAMAC equipment [Eugene_Zhiganov] [Eugene_Zhiganov] 2002-07 +# 3546 Unassigned 2002-09 +symantec-sim 3547/tcp # Symantec SIM [George_Dzieciol] [George_Dzieciol] 2002-07 +symantec-sim 3547/udp # Symantec SIM [George_Dzieciol] [George_Dzieciol] 2002-07 +interworld 3548/tcp # Interworld [John_Stephen] [John_Stephen] 2002-07 +interworld 3548/udp # Interworld [John_Stephen] [John_Stephen] 2002-07 +tellumat-nms 3549/tcp # Tellumat MDR NMS [Hennie_van_der_Merwe] [Hennie_van_der_Merwe] 2002-07 +tellumat-nms 3549/udp # Tellumat MDR NMS [Hennie_van_der_Merwe] [Hennie_van_der_Merwe] 2002-07 +ssmpp 3550/tcp # Secure SMPP [Cormac_Long] [Cormac_Long] 2002-07 +ssmpp 3550/udp # Secure SMPP [Cormac_Long] [Cormac_Long] 2002-07 +apcupsd 3551/tcp # Apcupsd Information Port [Riccardo_Facchetti] [Riccardo_Facchetti] 2002-07 +apcupsd 3551/udp # Apcupsd Information Port [Riccardo_Facchetti] [Riccardo_Facchetti] 2002-07 +taserver 3552/tcp # TeamAgenda Server Port [Dany_Ayotte] [Dany_Ayotte] 2002-07 +taserver 3552/udp # TeamAgenda Server Port [Dany_Ayotte] [Dany_Ayotte] 2002-07 +rbr-discovery 3553/tcp # Red Box Recorder ADP [Simon_Jolly] [Simon_Jolly] 2002-07 +rbr-discovery 3553/udp # Red Box Recorder ADP [Simon_Jolly] [Simon_Jolly] 2002-07 +questnotify 3554/tcp # Quest Notification Server [Rob_Griffin] [Rob_Griffin] 2002-07 +questnotify 3554/udp # Quest Notification Server [Rob_Griffin] [Rob_Griffin] 2002-07 +razor 3555/tcp # Vipul's Razor [Vipul_Ved_Prakash] [Vipul_Ved_Prakash] 2002-07 +razor 3555/udp # Vipul's Razor [Vipul_Ved_Prakash] [Vipul_Ved_Prakash] 2002-07 +sky-transport 3556/tcp # Sky Transport Protocol [Michael_Paddon] [Michael_Paddon] 2002-07 +sky-transport 3556/udp # Sky Transport Protocol [Michael_Paddon] [Michael_Paddon] 2002-07 +personalos-001 3557/tcp # PersonalOS Comm Port [Shane_Roberts] [Shane_Roberts] 2002-07 +personalos-001 3557/udp # PersonalOS Comm Port [Shane_Roberts] [Shane_Roberts] 2002-07 +mcp-port 3558/tcp # MCP user port [Professor_Paul_S_Wa] [Professor_Paul_S_Wa] 2002-07 +mcp-port 3558/udp # MCP user port [Professor_Paul_S_Wa] [Professor_Paul_S_Wa] 2002-07 +cctv-port 3559/tcp # CCTV control port [John_Skidmore] [John_Skidmore] 2002-07 +cctv-port 3559/udp # CCTV control port [John_Skidmore] [John_Skidmore] 2002-07 +iniserve-port 3560/tcp # INIServe port [Peter_Moylan] [Peter_Moylan] 2002-08 +iniserve-port 3560/udp # INIServe port [Peter_Moylan] [Peter_Moylan] 2002-08 +bmc-onekey 3561/tcp # BMC-OneKey [Portnoy_Boxman] [Portnoy_Boxman] 2002-08 +bmc-onekey 3561/udp # BMC-OneKey [Portnoy_Boxman] [Portnoy_Boxman] 2002-08 +sdbproxy 3562/tcp # SDBProxy [Eric_Grange] [Eric_Grange] 2002-08 +sdbproxy 3562/udp # SDBProxy [Eric_Grange] [Eric_Grange] 2002-08 +watcomdebug 3563/tcp # Watcom Debug [Dave_Neudoerffer] [Dave_Neudoerffer] +watcomdebug 3563/udp # Watcom Debug [Dave_Neudoerffer] [Dave_Neudoerffer] +esimport 3564/tcp # Electromed SIM port [Francois_Marchand] [Francois_Marchand] 2002-08 +esimport 3564/udp # Electromed SIM port [Francois_Marchand] [Francois_Marchand] 2002-08 +m2pa 3565/tcp # M2PA [RFC4165] +# 3565 udp Reserved +m2pa 3565/sctp # M2PA [RFC4165] +quest-data-hub 3566/tcp # Quest Data Hub [Greg_Cottman_2] [Greg_Cottman_2] 2010-10-18 +# 3566 udp Reserved 2010-10-18 +enc-eps 3567/tcp # EMIT protocol stack [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2002-08 2012-11-12 +enc-eps 3567/udp # EMIT protocol stack [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2002-08 2012-11-12 +enc-tunnel-sec 3568/tcp # EMIT secure tunnel [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2003-01 2012-11-12 +enc-tunnel-sec 3568/udp # EMIT secure tunnel [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2003-01 2012-11-12 +mbg-ctrl 3569/tcp # Meinberg Control Service [Martin_Burnicki] [Martin_Burnicki] 2002-08 +mbg-ctrl 3569/udp # Meinberg Control Service [Martin_Burnicki] [Martin_Burnicki] 2002-08 +mccwebsvr-port 3570/tcp # MCC Web Server Port +mccwebsvr-port 3570/udp # MCC Web Server Port +megardsvr-port 3571/tcp # MegaRAID Server Port +megardsvr-port 3571/udp # MegaRAID Server Port +megaregsvrport 3572/tcp # Registration Server Port [Sreenivas_Bagalkote] [Sreenivas_Bagalkote] 2002-08 +megaregsvrport 3572/udp # Registration Server Port [Sreenivas_Bagalkote] [Sreenivas_Bagalkote] 2002-08 +tag-ups-1 3573/tcp # Advantage Group UPS Suite [James_Goddard] [James_Goddard] 2002-08 +tag-ups-1 3573/udp # Advantage Group UPS Suite [James_Goddard] [James_Goddard] 2002-08 +dmaf-server 3574/tcp # DMAF Server +dmaf-caster 3574/udp # DMAF Caster [Ramakrishna_Nadendla] [Ramakrishna_Nadendla] 2002-08 +ccm-port 3575/tcp # Coalsere CCM Port +ccm-port 3575/udp # Coalsere CCM Port +cmc-port 3576/tcp # Coalsere CMC Port [Chris_Hawkinson] [Chris_Hawkinson] 2002-08 +cmc-port 3576/udp # Coalsere CMC Port [Chris_Hawkinson] [Chris_Hawkinson] 2002-08 +config-port 3577/tcp # Configuration Port +config-port 3577/udp # Configuration Port +data-port 3578/tcp # Data Port [Anupam_Bharali] [Anupam_Bharali] 2002-08 +data-port 3578/udp # Data Port [Anupam_Bharali] [Anupam_Bharali] 2002-08 +ttat3lb 3579/tcp # Tarantella Load Balancing [Jim_Musgrave] [Jim_Musgrave] 2002-08 +ttat3lb 3579/udp # Tarantella Load Balancing [Jim_Musgrave] [Jim_Musgrave] 2002-08 +nati-svrloc 3580/tcp # NATI-ServiceLocator [Jason_Case] [Jason_Case] 2002-08 +nati-svrloc 3580/udp # NATI-ServiceLocator [Jason_Case] [Jason_Case] 2002-08 +kfxaclicensing 3581/tcp # Ascent Capture Licensing [Brad_Hamilton_2] [Brad_Hamilton_2] 2002-08 +kfxaclicensing 3581/udp # Ascent Capture Licensing [Brad_Hamilton_2] [Brad_Hamilton_2] 2002-08 +press 3582/tcp # PEG PRESS Server [Jim_DeLisle] [Jim_DeLisle] 2002-08 +press 3582/udp # PEG PRESS Server [Jim_DeLisle] [Jim_DeLisle] 2002-08 +canex-watch 3583/tcp # CANEX Watch System [Peter_Kollath] [Peter_Kollath] 2002-08 +canex-watch 3583/udp # CANEX Watch System [Peter_Kollath] [Peter_Kollath] 2002-08 +u-dbap 3584/tcp # U-DBase Access Protocol [Bodo_Rueskamp] [Bodo_Rueskamp] 2002-08 +u-dbap 3584/udp # U-DBase Access Protocol [Bodo_Rueskamp] [Bodo_Rueskamp] 2002-08 +emprise-lls 3585/tcp # Emprise License Server +emprise-lls 3585/udp # Emprise License Server +emprise-lsc 3586/tcp # License Server Console [James_J_Diaz] [James_J_Diaz] 2002-08 +emprise-lsc 3586/udp # License Server Console [James_J_Diaz] [James_J_Diaz] 2002-08 +p2pgroup 3587/tcp # Peer to Peer Grouping [Igor_Kostic] [Igor_Kostic] 2002-08 +p2pgroup 3587/udp # Peer to Peer Grouping [Igor_Kostic] [Igor_Kostic] 2002-08 +sentinel 3588/tcp # Sentinel Server [Ian_Gordon] [Ian_Gordon] 2002-08 +sentinel 3588/udp # Sentinel Server [Ian_Gordon] [Ian_Gordon] 2002-08 +isomair 3589/tcp # isomair [Richard_Fleming] [Richard_Fleming] 2002-08 +isomair 3589/udp # isomair [Richard_Fleming] [Richard_Fleming] 2002-08 +wv-csp-sms 3590/tcp # WV CSP SMS Binding [Matti_Salmi] [Matti_Salmi] 2002-08 +wv-csp-sms 3590/udp # WV CSP SMS Binding [Matti_Salmi] [Matti_Salmi] 2002-08 +gtrack-server 3591/tcp # LOCANIS G-TRACK Server +gtrack-server 3591/udp # LOCANIS G-TRACK Server +gtrack-ne 3592/tcp # LOCANIS G-TRACK NE Port [Juergen_Edelhaeuser] [Juergen_Edelhaeuser] 2002-08 +gtrack-ne 3592/udp # LOCANIS G-TRACK NE Port [Juergen_Edelhaeuser] [Juergen_Edelhaeuser] 2002-08 +bpmd 3593/tcp # BP Model Debugger [Keith_Fligg] [Keith_Fligg] 2002-09 +bpmd 3593/udp # BP Model Debugger [Keith_Fligg] [Keith_Fligg] 2002-09 +mediaspace 3594/tcp # MediaSpace +mediaspace 3594/udp # MediaSpace +shareapp 3595/tcp # ShareApp [Jeff_King] [Jeff_King] 2002-09 +shareapp 3595/udp # ShareApp [Jeff_King] [Jeff_King] 2002-09 +iw-mmogame 3596/tcp # Illusion Wireless MMOG [Jan_Vrsinsky] [Jan_Vrsinsky] 2002-09 +iw-mmogame 3596/udp # Illusion Wireless MMOG [Jan_Vrsinsky] [Jan_Vrsinsky] 2002-09 +a14 3597/tcp # A14 (AN-to-SC/MM) +a14 3597/udp # A14 (AN-to-SC/MM) +a15 3598/tcp # A15 (AN-to-AN) [David_Ott] [David_Ott] 2002-09 +a15 3598/udp # A15 (AN-to-AN) [David_Ott] [David_Ott] 2002-09 +quasar-server 3599/tcp # Quasar Accounting Server [Brad_Pepers] [Brad_Pepers] 2002-09 +quasar-server 3599/udp # Quasar Accounting Server [Brad_Pepers] [Brad_Pepers] 2002-09 +trap-daemon 3600/tcp # text relay-answer [John_Willis] [John_Willis] 2002-09 +trap-daemon 3600/udp # text relay-answer [John_Willis] [John_Willis] 2002-09 +visinet-gui 3601/tcp # Visinet Gui [Jeff_Douglass] [Jeff_Douglass] 2002-09 +visinet-gui 3601/udp # Visinet Gui [Jeff_Douglass] [Jeff_Douglass] 2002-09 +infiniswitchcl 3602/tcp # InfiniSwitch Mgr Client [Lee_VanTine] [Lee_VanTine] 2002-09 +infiniswitchcl 3602/udp # InfiniSwitch Mgr Client [Lee_VanTine] [Lee_VanTine] 2002-09 +int-rcv-cntrl 3603/tcp # Integrated Rcvr Control [Dave_Stone] [Dave_Stone] 2002-09 +int-rcv-cntrl 3603/udp # Integrated Rcvr Control [Dave_Stone] [Dave_Stone] 2002-09 +bmc-jmx-port 3604/tcp # BMC JMX Port [Portnoy_Boxman] [Portnoy_Boxman] 2002-09 +bmc-jmx-port 3604/udp # BMC JMX Port [Portnoy_Boxman] [Portnoy_Boxman] 2002-09 +comcam-io 3605/tcp # ComCam IO Port [Don_Gilbreath] [Don_Gilbreath] 2002-09 +comcam-io 3605/udp # ComCam IO Port [Don_Gilbreath] [Don_Gilbreath] 2002-09 +splitlock 3606/tcp # Splitlock Server [Andrew_Tune] [Andrew_Tune] 2002-09 +splitlock 3606/udp # Splitlock Server [Andrew_Tune] [Andrew_Tune] 2002-09 +precise-i3 3607/tcp # Precise I3 [Tomer_Shain] [Tomer_Shain] 2002-09 +precise-i3 3607/udp # Precise I3 [Tomer_Shain] [Tomer_Shain] 2002-09 +trendchip-dcp 3608/tcp # Trendchip control protocol [Ming_Jen_Chen] [Ming_Jen_Chen] 2002-09 +trendchip-dcp 3608/udp # Trendchip control protocol [Ming_Jen_Chen] [Ming_Jen_Chen] 2002-09 +cpdi-pidas-cm 3609/tcp # CPDI PIDAS Connection Mon [Tony_Splaver] [Tony_Splaver] 2002-09 +cpdi-pidas-cm 3609/udp # CPDI PIDAS Connection Mon [Tony_Splaver] [Tony_Splaver] 2002-09 +echonet 3610/tcp # ECHONET [Takeshi_Saito] [Takeshi_Saito] 2002-09 +echonet 3610/udp # ECHONET [Takeshi_Saito] [Takeshi_Saito] 2002-09 +six-degrees 3611/tcp # Six Degrees Port [Zach_Nies] [Zach_Nies] 2002-09 +six-degrees 3611/udp # Six Degrees Port [Zach_Nies] [Zach_Nies] 2002-09 +hp-dataprotect 3612/tcp # HP Data Protector [Hewlett_Packard_2] [Oliver_Breyel] 2002-09 2013-02-07 +hp-dataprotect 3612/udp # HP Data Protector [Hewlett_Packard_2] [Oliver_Breyel] 2002-09 2013-02-07 +alaris-disc 3613/tcp # Alaris Device Discovery [Chris_Dern] [Chris_Dern] 2004-06 +alaris-disc 3613/udp # Alaris Device Discovery [Chris_Dern] [Chris_Dern] 2004-06 +sigma-port 3614/tcp # Satchwell Sigma [Dave_Chapman] [Dave_Chapman] 2011-06-06 +sigma-port 3614/udp # Satchwell Sigma [Dave_Chapman] [Dave_Chapman] 2011-06-06 +start-network 3615/tcp # Start Messaging Network [Peter_Rocca] [Peter_Rocca] 2002-10 +start-network 3615/udp # Start Messaging Network [Peter_Rocca] [Peter_Rocca] 2002-10 +cd3o-protocol 3616/tcp # cd3o Control Protocol [Chris_Wilcox] [Chris_Wilcox] 2002-10 +cd3o-protocol 3616/udp # cd3o Control Protocol [Chris_Wilcox] [Chris_Wilcox] 2002-10 +sharp-server 3617/tcp # ATI SHARP Logic Engine [Bill_Reveile] [Bill_Reveile] +sharp-server 3617/udp # ATI SHARP Logic Engine [Bill_Reveile] [Bill_Reveile] +aairnet-1 3618/tcp # AAIR-Network 1 +aairnet-1 3618/udp # AAIR-Network 1 +aairnet-2 3619/tcp # AAIR-Network 2 [James_Mealey] [James_Mealey] 2002-10 +aairnet-2 3619/udp # AAIR-Network 2 [James_Mealey] [James_Mealey] 2002-10 +ep-pcp 3620/tcp # EPSON Projector Control Port +ep-pcp 3620/udp # EPSON Projector Control Port +ep-nsp 3621/tcp # EPSON Network Screen Port [SEIKO_EPSON_3] [SEIKO_EPSON_3] 2002-10 +ep-nsp 3621/udp # EPSON Network Screen Port [SEIKO_EPSON_3] [SEIKO_EPSON_3] 2002-10 +ff-lr-port 3622/tcp # FF LAN Redundancy Port [Fieldbus_Foundation] [Fieldbus_Foundation] 2002-10 +ff-lr-port 3622/udp # FF LAN Redundancy Port [Fieldbus_Foundation] [Fieldbus_Foundation] 2002-10 +haipe-discover 3623/tcp # HAIPIS Dynamic Discovery [Mike_Irani] [Mike_Irani] 2002-10 +haipe-discover 3623/udp # HAIPIS Dynamic Discovery [Mike_Irani] [Mike_Irani] 2002-10 +dist-upgrade 3624/tcp # Distributed Upgrade Port [Jason_Schoon] [Jason_Schoon] 2002-10 +dist-upgrade 3624/udp # Distributed Upgrade Port [Jason_Schoon] [Jason_Schoon] 2002-10 +volley 3625/tcp # Volley [David_Catmull] [David_Catmull] 2002-10 +volley 3625/udp # Volley [David_Catmull] [David_Catmull] 2002-10 +bvcdaemon-port 3626/tcp # bvControl Daemon [Ravi_Gokhale] [Ravi_Gokhale] 2002-10 +bvcdaemon-port 3626/udp # bvControl Daemon [Ravi_Gokhale] [Ravi_Gokhale] 2002-10 +jamserverport 3627/tcp # Jam Server Port [Art_Pope] [Art_Pope] 2002-10 +jamserverport 3627/udp # Jam Server Port [Art_Pope] [Art_Pope] 2002-10 +ept-machine 3628/tcp # EPT Machine Interface [Victor_H_Farrace] [Victor_H_Farrace] 2002-10 +ept-machine 3628/udp # EPT Machine Interface [Victor_H_Farrace] [Victor_H_Farrace] 2002-10 +escvpnet 3629/tcp # ESC/VP.net [Hiroyuki_Hashimoto] [Hiroyuki_Hashimoto] 2002-10 +escvpnet 3629/udp # ESC/VP.net [Hiroyuki_Hashimoto] [Hiroyuki_Hashimoto] 2002-10 +cs-remote-db 3630/tcp # C&S Remote Database Port +cs-remote-db 3630/udp # C&S Remote Database Port +cs-services 3631/tcp # C&S Web Services Port [Computer_Software_Gm] [Computer_Software_Gm] 2002-10 +cs-services 3631/udp # C&S Web Services Port [Computer_Software_Gm] [Computer_Software_Gm] 2002-10 +distcc 3632/tcp # distributed compiler [Martin_Pool] [Martin_Pool] 2002-11 Defined TXT keys: None +distcc 3632/udp # distributed compiler [Martin_Pool] [Martin_Pool] 2002-11 Defined TXT keys: None +wacp 3633/tcp # Wyrnix AIS port [Harry_T_Vennik] [Harry_T_Vennik] 2002-11 +wacp 3633/udp # Wyrnix AIS port [Harry_T_Vennik] [Harry_T_Vennik] 2002-11 +hlibmgr 3634/tcp # hNTSP Library Manager [Kenji_Tetsuyama] [Kenji_Tetsuyama] 2002-11 +hlibmgr 3634/udp # hNTSP Library Manager [Kenji_Tetsuyama] [Kenji_Tetsuyama] 2002-11 +sdo 3635/tcp # Simple Distributed Objects [Alexander_Philippou] [Alexander_Philippou] 2002-11 +sdo 3635/udp # Simple Distributed Objects [Alexander_Philippou] [Alexander_Philippou] 2002-11 +servistaitsm 3636/tcp # SerVistaITSM [Ralph_Campbell] [Ralph_Campbell] 2002-11 +servistaitsm 3636/udp # SerVistaITSM [Ralph_Campbell] [Ralph_Campbell] 2002-11 +scservp 3637/tcp # Customer Service Port [Jonathan_A_Zdziarsk] [Jonathan_A_Zdziarsk] 2002-11 +scservp 3637/udp # Customer Service Port [Jonathan_A_Zdziarsk] [Jonathan_A_Zdziarsk] 2002-11 +ehp-backup 3638/tcp # EHP Backup Protocol [Ed_Fair] [Ed_Fair] 2002-11 +ehp-backup 3638/udp # EHP Backup Protocol [Ed_Fair] [Ed_Fair] 2002-11 +xap-ha 3639/tcp # Extensible Automation [Mark_Harrison] [Mark_Harrison] 2002-11 +xap-ha 3639/udp # Extensible Automation [Mark_Harrison] [Mark_Harrison] 2002-11 +netplay-port1 3640/tcp # Netplay Port 1 +netplay-port1 3640/udp # Netplay Port 1 +netplay-port2 3641/tcp # Netplay Port 2 [Predrag_Filipovic] [Predrag_Filipovic] 2002-11 +netplay-port2 3641/udp # Netplay Port 2 [Predrag_Filipovic] [Predrag_Filipovic] 2002-11 +juxml-port 3642/tcp # Juxml Replication port [Colin_Reid] [Colin_Reid] 2002-11 +juxml-port 3642/udp # Juxml Replication port [Colin_Reid] [Colin_Reid] 2002-11 +audiojuggler 3643/tcp # AudioJuggler [Morten_Mertner] [Morten_Mertner] 2002-11 +audiojuggler 3643/udp # AudioJuggler [Morten_Mertner] [Morten_Mertner] 2002-11 +ssowatch 3644/tcp # ssowatch [Marie_France_Dubreui] [Marie_France_Dubreui] 2002-11 +ssowatch 3644/udp # ssowatch [Marie_France_Dubreui] [Marie_France_Dubreui] 2002-11 +cyc 3645/tcp # Cyc [Stephen_Reed] [Stephen_Reed] 2003-01 +cyc 3645/udp # Cyc [Stephen_Reed] [Stephen_Reed] 2003-01 +xss-srv-port 3646/tcp # XSS Server Port [Joe_Purcell] [Joe_Purcell] 2003-01 +xss-srv-port 3646/udp # XSS Server Port [Joe_Purcell] [Joe_Purcell] 2003-01 +splitlock-gw 3647/tcp # Splitlock Gateway [Andrew_Tune] [Andrew_Tune] 2003-01 +splitlock-gw 3647/udp # Splitlock Gateway [Andrew_Tune] [Andrew_Tune] 2003-01 +fjcp 3648/tcp # Fujitsu Cooperation Port [Kouji_Sugisawa] [Kouji_Sugisawa] 2003-01 +fjcp 3648/udp # Fujitsu Cooperation Port [Kouji_Sugisawa] [Kouji_Sugisawa] 2003-01 +nmmp 3649/tcp # Nishioka Miyuki Msg Protocol [TAKEDA_Hiroyuki] [TAKEDA_Hiroyuki] 2003-01 +nmmp 3649/udp # Nishioka Miyuki Msg Protocol [TAKEDA_Hiroyuki] [TAKEDA_Hiroyuki] 2003-01 +prismiq-plugin 3650/tcp # PRISMIQ VOD plug-in [Richard_Hodges_3] [Richard_Hodges_3] 2003-01 +prismiq-plugin 3650/udp # PRISMIQ VOD plug-in [Richard_Hodges_3] [Richard_Hodges_3] 2003-01 +xrpc-registry 3651/tcp # XRPC Registry [Slava_Monich] [Slava_Monich] 2003-01 +xrpc-registry 3651/udp # XRPC Registry [Slava_Monich] [Slava_Monich] 2003-01 +vxcrnbuport 3652/tcp # VxCR NBU Default Port [Boris_Star] [Boris_Star] 2003-01 +vxcrnbuport 3652/udp # VxCR NBU Default Port [Boris_Star] [Boris_Star] 2003-01 +tsp 3653/tcp # Tunnel Setup Protocol [Marc_Blanchet] [Marc_Blanchet] 2003-01 [RFC5572] +tsp 3653/udp # Tunnel Setup Protocol [Marc_Blanchet] [Marc_Blanchet] 2003-01 [RFC5572] +vaprtm 3654/tcp # VAP RealTime Messenger [Boris_Polevoy] [Boris_Polevoy] 2003-01 +vaprtm 3654/udp # VAP RealTime Messenger [Boris_Polevoy] [Boris_Polevoy] 2003-01 +abatemgr 3655/tcp # ActiveBatch Exec Agent +abatemgr 3655/udp # ActiveBatch Exec Agent +abatjss 3656/tcp # ActiveBatch Job Scheduler [Ben_Rosenberg] [Ben_Rosenberg] 2003-01 +abatjss 3656/udp # ActiveBatch Job Scheduler [Ben_Rosenberg] [Ben_Rosenberg] 2003-01 +immedianet-bcn 3657/tcp # ImmediaNet Beacon [Bill_Homan] [Bill_Homan] 2003-01 +immedianet-bcn 3657/udp # ImmediaNet Beacon [Bill_Homan] [Bill_Homan] 2003-01 +ps-ams 3658/tcp # PlayStation AMS (Secure) [Edgar_Alan_Tu] [Edgar_Alan_Tu] 2003-01 +ps-ams 3658/udp # PlayStation AMS (Secure) [Edgar_Alan_Tu] [Edgar_Alan_Tu] 2003-01 +apple-sasl 3659/tcp # Apple SASL [David_M_O_Rourke] [David_M_O_Rourke] 2003-01 +apple-sasl 3659/udp # Apple SASL [David_M_O_Rourke] [David_M_O_Rourke] 2003-01 +can-nds-ssl 3660/tcp # IBM Tivoli Directory Service +# using SSL +can-nds-ssl 3660/udp # IBM Tivoli Directory Service +can-ferret-ssl 3661/tcp # IBM Tivoli Directory Service [Nic_Catrambone] [Nic_Catrambone] 2003-01 +can-ferret-ssl 3661/udp # IBM Tivoli Directory Service [Nic_Catrambone] [Nic_Catrambone] 2003-01 +pserver 3662/tcp # pserver [Patrick_Furlong] [Patrick_Furlong] 2003-01 +pserver 3662/udp # pserver [Patrick_Furlong] [Patrick_Furlong] 2003-01 +dtp 3663/tcp # DIRECWAY Tunnel Protocol [John_Border] [John_Border] 2003-01 +dtp 3663/udp # DIRECWAY Tunnel Protocol [John_Border] [John_Border] 2003-01 +ups-engine 3664/tcp # UPS Engine Port +ups-engine 3664/udp # UPS Engine Port +ent-engine 3665/tcp # Enterprise Engine Port [Mike_Delgrosso] [Mike_Delgrosso] 2003-01 +ent-engine 3665/udp # Enterprise Engine Port [Mike_Delgrosso] [Mike_Delgrosso] 2003-01 +eserver-pap 3666/tcp # IBM eServer PAP [Dave_Gimpl] [Dave_Gimpl] 2003-01 +eserver-pap 3666/udp # IBM EServer PAP [Dave_Gimpl] [Dave_Gimpl] 2003-01 +infoexch 3667/tcp # IBM Information Exchange [Paul_Ford_Hutchinson] [Paul_Ford_Hutchinson] 2003-01 +infoexch 3667/udp # IBM Information Exchange [Paul_Ford_Hutchinson] [Paul_Ford_Hutchinson] 2003-01 +dell-rm-port 3668/tcp # Dell Remote Management [Bradley_Bransom] [Bradley_Bransom] 2003-01 +dell-rm-port 3668/udp # Dell Remote Management [Bradley_Bransom] [Bradley_Bransom] 2003-01 +casanswmgmt 3669/tcp # CA SAN Switch Management [Emre_Tunar] [Emre_Tunar] 2003-01 +casanswmgmt 3669/udp # CA SAN Switch Management [Emre_Tunar] [Emre_Tunar] 2003-01 +smile 3670/tcp # SMILE TCP/UDP Interface [Andre_Petras] [Andre_Petras] 2003-01 +smile 3670/udp # SMILE TCP/UDP Interface [Andre_Petras] [Andre_Petras] 2003-01 +efcp 3671/tcp # e Field Control (EIBnet) [Marc_Goossens] [Marc_Goossens] 2003-01 +efcp 3671/udp # e Field Control (EIBnet) [Marc_Goossens] [Marc_Goossens] 2003-01 +lispworks-orb 3672/tcp # LispWorks ORB [Lisp_Support] [Lisp_Support] +lispworks-orb 3672/udp # LispWorks ORB [Lisp_Support] [Lisp_Support] +mediavault-gui 3673/tcp # Openview Media Vault GUI [Stephen_Gold] [Stephen_Gold] 2003-01 +mediavault-gui 3673/udp # Openview Media Vault GUI [Stephen_Gold] [Stephen_Gold] 2003-01 +wininstall-ipc 3674/tcp # WinINSTALL IPC Port [Bill_Somerville] [Bill_Somerville] 2008-08-13 +wininstall-ipc 3674/udp # WinINSTALL IPC Port [Bill_Somerville] [Bill_Somerville] 2008-08-13 +calltrax 3675/tcp # CallTrax Data Port [Oliver_Bailey] [Oliver_Bailey] 2003-01 +calltrax 3675/udp # CallTrax Data Port [Oliver_Bailey] [Oliver_Bailey] 2003-01 +va-pacbase 3676/tcp # VisualAge Pacbase server [Dominique_Lelievre] [Dominique_Lelievre] 2003-01 +va-pacbase 3676/udp # VisualAge Pacbase server [Dominique_Lelievre] [Dominique_Lelievre] 2003-01 +roverlog 3677/tcp # RoverLog IPC [Tom_Mayo] [Tom_Mayo] 2003-01 +roverlog 3677/udp # RoverLog IPC [Tom_Mayo] [Tom_Mayo] 2003-01 +ipr-dglt 3678/tcp # DataGuardianLT [Bruce_Carlson] [Bruce_Carlson] 2003-01 +ipr-dglt 3678/udp # DataGuardianLT [Bruce_Carlson] [Bruce_Carlson] 2003-01 +# Escale (Newton 3679 tcp Newton Dock [Paul_Guyot] [Paul_Guyot] 2011-11-09 +# Dock) +# Escale (Newton 3679 udp Newton Dock [Paul_Guyot] [Paul_Guyot] 2011-11-09 +npds-tracker 3680/tcp # NPDS Tracker [Paul_Guyot] [Paul_Guyot] 2003-01 +npds-tracker 3680/udp # NPDS Tracker [Paul_Guyot] [Paul_Guyot] 2003-01 +bts-x73 3681/tcp # BTS X73 Port [Todd_Cooper] [Todd_Cooper] 2003-01 +bts-x73 3681/udp # BTS X73 Port [Todd_Cooper] [Todd_Cooper] 2003-01 +cas-mapi 3682/tcp # EMC SmartPackets-MAPI [Koen_Schoofs] [Koen_Schoofs] 2003-01 +cas-mapi 3682/udp # EMC SmartPackets-MAPI [Koen_Schoofs] [Koen_Schoofs] 2003-01 +bmc-ea 3683/tcp # BMC EDV/EA [Portnoy_Boxman] [Portnoy_Boxman] 2003-01 +bmc-ea 3683/udp # BMC EDV/EA [Portnoy_Boxman] [Portnoy_Boxman] 2003-01 +faxstfx-port 3684/tcp # FAXstfX [Alec_Carlson] [Alec_Carlson] 2003-01 +faxstfx-port 3684/udp # FAXstfX [Alec_Carlson] [Alec_Carlson] 2003-01 +dsx-agent 3685/tcp # DS Expert Agent [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 +dsx-agent 3685/udp # DS Expert Agent [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 +tnmpv2 3686/tcp # Trivial Network Management [Andrea_Premoli] [Andrea_Premoli] 2003-01 +tnmpv2 3686/udp # Trivial Network Management [Andrea_Premoli] [Andrea_Premoli] 2003-01 +simple-push 3687/tcp # simple-push +simple-push 3687/udp # simple-push +simple-push-s 3688/tcp # simple-push Secure [C_Enrique_Ortiz] [C_Enrique_Ortiz] 2003-01 +simple-push-s 3688/udp # simple-push Secure [C_Enrique_Ortiz] [C_Enrique_Ortiz] 2003-01 +daap 3689/tcp # Digital Audio Access [Amandeep_Jawa] [Amandeep_Jawa] 2003-01 Defined TXT keys: txtvers, Version, iTSh Version, Machine ID, +# Protocol (iTunes) Database ID, Machine Name, Password +daap 3689/udp # Digital Audio Access [Amandeep_Jawa] [Amandeep_Jawa] 2003-01 Defined TXT keys: txtvers, Version, iTSh Version, Machine ID, +svn 3690/tcp # Subversion [Greg_Hudson_2] [Greg_Hudson_2] 2003-01 +svn 3690/udp # Subversion [Greg_Hudson_2] [Greg_Hudson_2] 2003-01 +magaya-network 3691/tcp # Magaya Network Port [Jesus_David_Rodrigue] [Jesus_David_Rodrigue] 2003-02 +magaya-network 3691/udp # Magaya Network Port [Jesus_David_Rodrigue] [Jesus_David_Rodrigue] 2003-02 +intelsync 3692/tcp # Brimstone IntelSync [Davey_Taylor] [Davey_Taylor] 2003-02 +intelsync 3692/udp # Brimstone IntelSync [Davey_Taylor] [Davey_Taylor] 2003-02 +# 3693-3694 Unassigned 2007-04-05 +bmc-data-coll 3695/tcp # BMC Data Collection [Portnoy_Boxman] [Portnoy_Boxman] 2003-02 +bmc-data-coll 3695/udp # BMC Data Collection [Portnoy_Boxman] [Portnoy_Boxman] 2003-02 +telnetcpcd 3696/tcp # Telnet Com Port Control [Thomas_J_Pinkl] [Thomas_J_Pinkl] 2003-02 +telnetcpcd 3696/udp # Telnet Com Port Control [Thomas_J_Pinkl] [Thomas_J_Pinkl] 2003-02 +nw-license 3697/tcp # NavisWorks License System [Tim_Wiegand] [Tim_Wiegand] 2003-02 +nw-license 3697/udp # NavisWorks Licnese System [Tim_Wiegand] [Tim_Wiegand] 2003-02 +sagectlpanel 3698/tcp # SAGECTLPANEL [Mark_Gamble] [Mark_Gamble] 2003-02 +sagectlpanel 3698/udp # SAGECTLPANEL [Mark_Gamble] [Mark_Gamble] 2003-02 +kpn-icw 3699/tcp # Internet Call Waiting [B_J_Kortekaas] [B_J_Kortekaas] 2003-02 +kpn-icw 3699/udp # Internet Call Waiting [B_J_Kortekaas] [B_J_Kortekaas] 2003-02 +lrs-paging 3700/tcp # LRS NetPage [Geoffrey_Wossum] [Geoffrey_Wossum] 2003-02 +lrs-paging 3700/udp # LRS NetPage [Geoffrey_Wossum] [Geoffrey_Wossum] 2003-02 +netcelera 3701/tcp # NetCelera [Tarek_Nabhan] [Tarek_Nabhan] 2003-02 +netcelera 3701/udp # NetCelera [Tarek_Nabhan] [Tarek_Nabhan] 2003-02 +ws-discovery 3702/tcp # Web Service Discovery [Christian_Huitema_2] [Christian_Huitema_2] 2003-02 +ws-discovery 3702/udp # Web Service Discovery [Christian_Huitema_2] [Christian_Huitema_2] 2003-02 +adobeserver-3 3703/tcp # Adobe Server 3 +adobeserver-3 3703/udp # Adobe Server 3 +adobeserver-4 3704/tcp # Adobe Server 4 [Frank_Soetebeer] [Frank_Soetebeer] 2003-01 +adobeserver-4 3704/udp # Adobe Server 4 [Frank_Soetebeer] [Frank_Soetebeer] 2003-01 +adobeserver-5 3705/tcp # Adobe Server 5 [Bernd_Paradies] [Bernd_Paradies] 2008-01-14 +adobeserver-5 3705/udp # Adobe Server 5 [Bernd_Paradies] [Bernd_Paradies] 2008-01-14 +rt-event 3706/tcp # Real-Time Event Port +rt-event 3706/udp # Real-Time Event Port +rt-event-s 3707/tcp # Real-Time Event Secure Port [Terry_Gin] [Terry_Gin] 2003-02 +rt-event-s 3707/udp # Real-Time Event Secure Port [Terry_Gin] [Terry_Gin] 2003-02 +sun-as-iiops 3708/tcp # Sun App Svr - Naming [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +sun-as-iiops 3708/udp # Sun App Svr - Naming [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +ca-idms 3709/tcp # CA-IDMS Server [Dave_Ross] [Dave_Ross] +ca-idms 3709/udp # CA-IDMS Server [Dave_Ross] [Dave_Ross] +portgate-auth 3710/tcp # PortGate Authentication [Scott_Harris] [Scott_Harris] 2003-02 +portgate-auth 3710/udp # PortGate Authentication [Scott_Harris] [Scott_Harris] 2003-02 +edb-server2 3711/tcp # EBD Server 2 [Carlos_Portela] [Carlos_Portela] 2003-02 +edb-server2 3711/udp # EBD Server 2 [Carlos_Portela] [Carlos_Portela] 2003-02 +sentinel-ent 3712/tcp # Sentinel Enterprise [Ian_Gordon_2] [Ian_Gordon_2] 2003-03 +sentinel-ent 3712/udp # Sentinel Enterprise [Ian_Gordon_2] [Ian_Gordon_2] 2003-03 +tftps 3713/tcp # TFTP over TLS [Mark_mayernick] [Mark_mayernick] 2003-03 +tftps 3713/udp # TFTP over TLS [Mark_mayernick] [Mark_mayernick] 2003-03 +delos-dms 3714/tcp # DELOS Direct Messaging [Ekkehard_Morgenstern] [Ekkehard_Morgenstern] 2003-03 +delos-dms 3714/udp # DELOS Direct Messaging [Ekkehard_Morgenstern] [Ekkehard_Morgenstern] 2003-03 +anoto-rendezv 3715/tcp # Anoto Rendezvous Port [Ola_Sandstrom] [Ola_Sandstrom] 2003-03 +anoto-rendezv 3715/udp # Anoto Rendezvous Port [Ola_Sandstrom] [Ola_Sandstrom] 2003-03 +wv-csp-sms-cir 3716/tcp # WV CSP SMS CIR Channel +wv-csp-sms-cir 3716/udp # WV CSP SMS CIR Channel +wv-csp-udp-cir 3717/tcp # WV CSP UDP/IP CIR Channel [Jon_Ingi_Ingimundars] [Jon_Ingi_Ingimundars] 2003-03 +wv-csp-udp-cir 3717/udp # WV CSP UDP/IP CIR Channel [Jon_Ingi_Ingimundars] [Jon_Ingi_Ingimundars] 2003-03 +opus-services 3718/tcp # OPUS Server Port [Detlef_Stoever] [Detlef_Stoever] 2003-03 +opus-services 3718/udp # OPUS Server Port [Detlef_Stoever] [Detlef_Stoever] 2003-03 +itelserverport 3719/tcp # iTel Server Port [Mark_Hendricks] [Mark_Hendricks] 2003-03 +itelserverport 3719/udp # iTel Server Port [Mark_Hendricks] [Mark_Hendricks] 2003-03 +ufastro-instr 3720/tcp # UF Astro. Instr. Services [David_B_Hon] [David_B_Hon] 2003-03 +ufastro-instr 3720/udp # UF Astro. Instr. Services [David_B_Hon] [David_B_Hon] 2003-03 +xsync 3721/tcp # Xsync +xsync 3721/udp # Xsync +xserveraid 3722/tcp # Xserve RAID [Bob_Bradley] [Bob_Bradley] 2003-03 +xserveraid 3722/udp # Xserve RAID [Bob_Bradley] [Bob_Bradley] 2003-03 +sychrond 3723/tcp # Sychron Service Daemon [Robert_Marinelli] [Robert_Marinelli] 2003-03 +sychrond 3723/udp # Sychron Service Daemon [Robert_Marinelli] [Robert_Marinelli] 2003-03 +blizwow 3724/tcp # World of Warcraft [Domain_Tech] [Domain_Tech] 2005-04 +blizwow 3724/udp # World of Warcraft [Domain_Tech] [Domain_Tech] 2005-04 +na-er-tip 3725/tcp # Netia NA-ER Port [Jean_Pierre_Garcia] [Jean_Pierre_Garcia] 2003-04 +na-er-tip 3725/udp # Netia NA-ER Port [Jean_Pierre_Garcia] [Jean_Pierre_Garcia] 2003-04 +array-manager 3726/tcp # Xyratex Array Manager [David_A_Lethe] [David_A_Lethe] 2003-04 +array-manager 3726/udp # Xyartex Array Manager [David_A_Lethe] [David_A_Lethe] 2003-04 +e-mdu 3727/tcp # Ericsson Mobile Data Unit +e-mdu 3727/udp # Ericsson Mobile Data Unit +e-woa 3728/tcp # Ericsson Web on Air [Marco_Casole] [Marco_Casole] 2003-04 +e-woa 3728/udp # Ericsson Web on Air [Marco_Casole] [Marco_Casole] 2003-04 +fksp-audit 3729/tcp # Fireking Audit Port [Richard_Thurman] [Richard_Thurman] 2003-04 +fksp-audit 3729/udp # Fireking Audit Port [Richard_Thurman] [Richard_Thurman] 2003-04 +client-ctrl 3730/tcp # Client Control [Lawrence_W_Dunn] [Lawrence_W_Dunn] 2003-04 +client-ctrl 3730/udp # Client Control [Lawrence_W_Dunn] [Lawrence_W_Dunn] 2003-04 +smap 3731/tcp # Service Manager +smap 3731/udp # Service Manager +m-wnn 3732/tcp # Mobile Wnn [Yasunari_Yamashita] [Yasunari_Yamashita] 2003-04 +m-wnn 3732/udp # Mobile Wnn [Yasunari_Yamashita] [Yasunari_Yamashita] 2003-04 +multip-msg 3733/tcp # Multipuesto Msg Port [Felisa_Ares] [Felisa_Ares] 2003-04 +multip-msg 3733/udp # Multipuesto Msg Port [Felisa_Ares] [Felisa_Ares] 2003-04 +synel-data 3734/tcp # Synel Data Collection Port [David_Ashkenazi] [David_Ashkenazi] 2003-04 +synel-data 3734/udp # Synel Data Collection Port [David_Ashkenazi] [David_Ashkenazi] 2003-04 +pwdis 3735/tcp # Password Distribution [Robert_Erl] [Robert_Erl] 2003-04 +pwdis 3735/udp # Password Distribution [Robert_Erl] [Robert_Erl] 2003-04 +rs-rmi 3736/tcp # RealSpace RMI [Barry_McDarby] [Barry_McDarby] 2003-04 +rs-rmi 3736/udp # RealSpace RMI [Barry_McDarby] [Barry_McDarby] 2003-04 +xpanel 3737/tcp # XPanel Daemon [Lilian_Rudenco] [Lilian_Rudenco] 2009-03-04 +# 3737 udp Reserved +versatalk 3738/tcp # versaTalk Server Port [Dr_Kingsley_C_Nwos] [Dr_Kingsley_C_Nwos] 2003-04 +versatalk 3738/udp # versaTalk Server Port [Dr_Kingsley_C_Nwos] [Dr_Kingsley_C_Nwos] 2003-04 +launchbird-lm 3739/tcp # Launchbird LicenseManager [Tom_Hawkins] [Tom_Hawkins] 2003-04 +launchbird-lm 3739/udp # Launchbird LicenseManager [Tom_Hawkins] [Tom_Hawkins] 2003-04 +heartbeat 3740/tcp # Heartbeat Protocol [Jeroen_Massar] [Jeroen_Massar] 2003-04 +heartbeat 3740/udp # Heartbeat Protocol [Jeroen_Massar] [Jeroen_Massar] 2003-04 +wysdma 3741/tcp # WysDM Agent [Jim_McDonald] [Jim_McDonald] 2003-04 +wysdma 3741/udp # WysDM Agent [Jim_McDonald] [Jim_McDonald] 2003-04 +cst-port 3742/tcp # CST - Configuration & [Hai_Ou_Yang] [Hai_Ou_Yang] 2003-04 +# Service Tracker +cst-port 3742/udp # CST - Configuration & [Hai_Ou_Yang] [Hai_Ou_Yang] 2003-04 +ipcs-command 3743/tcp # IP Control Systems Ltd. [Paul_Anderson] [Paul_Anderson] 2003-04 +ipcs-command 3743/udp # IP Control Systems Ltd. [Paul_Anderson] [Paul_Anderson] 2003-04 +sasg 3744/tcp # SASG [Cristian_Petculescu_2] [Cristian_Petculescu_2] 2003-04 +sasg 3744/udp # SASG [Cristian_Petculescu_2] [Cristian_Petculescu_2] 2003-04 +gw-call-port 3745/tcp # GWRTC Call Port [Felisa_Ares] [Felisa_Ares] 2003-04 +gw-call-port 3745/udp # GWRTC Call Port [Felisa_Ares] [Felisa_Ares] 2003-04 +linktest 3746/tcp # LXPRO.COM LinkTest +linktest 3746/udp # LXPRO.COM LinkTest +linktest-s 3747/tcp # LXPRO.COM LinkTest SSL [Greg_Bailey] [Greg_Bailey] 2003-04 +linktest-s 3747/udp # LXPRO.COM LinkTest SSL [Greg_Bailey] [Greg_Bailey] 2003-04 +webdata 3748/tcp # webData [Michael_Whiteley] [Michael_Whiteley] 2003-04 +webdata 3748/udp # webData [Michael_Whiteley] [Michael_Whiteley] 2003-04 +cimtrak 3749/tcp # CimTrak [Robert_E_Johnson_II] [Robert_E_Johnson_II] 2003-04 +cimtrak 3749/udp # CimTrak [Robert_E_Johnson_II] [Robert_E_Johnson_II] 2003-04 +cbos-ip-port 3750/tcp # CBOS/IP ncapsalation port [Thomas_Dannemiller] [Thomas_Dannemiller] 2003-04 +cbos-ip-port 3750/udp # CBOS/IP ncapsalatoin port [Thomas_Dannemiller] [Thomas_Dannemiller] 2003-04 +gprs-cube 3751/tcp # CommLinx GPRS Cube [Peter_Johnson] [Peter_Johnson] 2003-04 +gprs-cube 3751/udp # CommLinx GPRS Cube [Peter_Johnson] [Peter_Johnson] 2003-04 +vipremoteagent 3752/tcp # Vigil-IP RemoteAgent [Bryan_Alvord] [Bryan_Alvord] 2003-04 +vipremoteagent 3752/udp # Vigil-IP RemoteAgent [Bryan_Alvord] [Bryan_Alvord] 2003-04 +nattyserver 3753/tcp # NattyServer Port [Akira_Saito] [Akira_Saito] 2003-04 +nattyserver 3753/udp # NattyServer Port [Akira_Saito] [Akira_Saito] 2003-04 +timestenbroker 3754/tcp # TimesTen Broker Port [David_Aspinwall] [David_Aspinwall] 2003-04 +timestenbroker 3754/udp # TimesTen Broker Port [David_Aspinwall] [David_Aspinwall] 2003-04 +sas-remote-hlp 3755/tcp # SAS Remote Help Server [Gary_T_Ciampa] [Gary_T_Ciampa] 2003-04 +sas-remote-hlp 3755/udp # SAS Remote Help Server [Gary_T_Ciampa] [Gary_T_Ciampa] 2003-04 +canon-capt 3756/tcp # Canon CAPT Port [Takashi_Okazawa] [Takashi_Okazawa] 2003-04 +canon-capt 3756/udp # Canon CAPT Port [Takashi_Okazawa] [Takashi_Okazawa] 2003-04 +grf-port 3757/tcp # GRF Server Port [Robert_Banfill] [Robert_Banfill] 2003-04 +grf-port 3757/udp # GRF Server Port [Robert_Banfill] [Robert_Banfill] 2003-04 +apw-registry 3758/tcp # apw RMI registry [Dan_Davis] [Dan_Davis] 2003-04 +apw-registry 3758/udp # apw RMI registry [Dan_Davis] [Dan_Davis] 2003-04 +exapt-lmgr 3759/tcp # Exapt License Manager [Christoph_Kukulies] [Christoph_Kukulies] 2003-04 +exapt-lmgr 3759/udp # Exapt License Manager [Christoph_Kukulies] [Christoph_Kukulies] 2003-04 +adtempusclient 3760/tcp # adTempus Client [Bill_Wingate] [Bill_Wingate] 2003-05 +adtempusclient 3760/udp # adTEmpus Client [Bill_Wingate] [Bill_Wingate] 2003-05 +gsakmp 3761/tcp # gsakmp port [RFC4535] +gsakmp 3761/udp # gsakmp port [RFC4535] +gbs-smp 3762/tcp # GBS SnapMail Protocol [Eric_Harris_Braun] [Eric_Harris_Braun] 2003-06 +gbs-smp 3762/udp # GBS SnapMail Protocol [Eric_Harris_Braun] [Eric_Harris_Braun] 2003-06 +xo-wave 3763/tcp # XO Wave Control Port [Bjorn_Dittmer_Roche] [Bjorn_Dittmer_Roche] 2003-06 +xo-wave 3763/udp # XO Wave Control Port [Bjorn_Dittmer_Roche] [Bjorn_Dittmer_Roche] 2003-06 +mni-prot-rout 3764/tcp # MNI Protected Routing [Tim_Behne] [Tim_Behne] 2003-06 +mni-prot-rout 3764/udp # MNI Protected Routing [Tim_Behne] [Tim_Behne] 2003-06 +rtraceroute 3765/tcp # Remote Traceroute [A_Blake_Cooper] [A_Blake_Cooper] 2003-06 +rtraceroute 3765/udp # Remote Traceroute [A_Blake_Cooper] [A_Blake_Cooper] 2003-06 +# 3766 Unassigned 2009-06-19 +listmgr-port 3767/tcp # ListMGR Port [Takashi_Kubota] [Takashi_Kubota] 2003-06 +listmgr-port 3767/udp # ListMGR Port [Takashi_Kubota] [Takashi_Kubota] 2003-06 +rblcheckd 3768/tcp # rblcheckd server daemon [Sabri_Berisha] [Sabri_Berisha] 2003-06 +rblcheckd 3768/udp # rblcheckd server daemon [Sabri_Berisha] [Sabri_Berisha] 2003-06 +haipe-otnk 3769/tcp # HAIPE Network Keying [Mike_Irani_2] [Mike_Irani_2] 2003-06 +haipe-otnk 3769/udp # HAIPE Network Keying [Mike_Irani_2] [Mike_Irani_2] 2003-06 +cindycollab 3770/tcp # Cinderella Collaboration [Ulrich_Kortenkamp] [Ulrich_Kortenkamp] 2003-06 +cindycollab 3770/udp # Cinderella Collaboration [Ulrich_Kortenkamp] [Ulrich_Kortenkamp] 2003-06 +paging-port 3771/tcp # RTP Paging Port [Patrick_Ferriter] [Patrick_Ferriter] 2003-06 +paging-port 3771/udp # RTP Paging Port [Patrick_Ferriter] [Patrick_Ferriter] 2003-06 +ctp 3772/tcp # Chantry Tunnel Protocol [Inderpreet_Singh] [Inderpreet_Singh] 2003-06 +ctp 3772/udp # Chantry Tunnel Protocol [Inderpreet_Singh] [Inderpreet_Singh] 2003-06 +ctdhercules 3773/tcp # ctdhercules [Carl_Banzhof] [Carl_Banzhof] 2003-06 +ctdhercules 3773/udp # ctdhercules [Carl_Banzhof] [Carl_Banzhof] 2003-06 +zicom 3774/tcp # ZICOM [Sabu_Das] [Sabu_Das] 2003-06 +zicom 3774/udp # ZICOM [Sabu_Das] [Sabu_Das] 2003-06 +ispmmgr 3775/tcp # ISPM Manager Port [Eric_Anderson] [Eric_Anderson] 2003-06 +ispmmgr 3775/udp # ISPM Manager Port [Eric_Anderson] [Eric_Anderson] 2003-06 +dvcprov-port 3776/tcp # Device Provisioning Port [Rob_Lehew] [Rob_Lehew] 2003-06 +dvcprov-port 3776/udp # Device Provisioning Port [Rob_Lehew] [Rob_Lehew] 2003-06 +jibe-eb 3777/tcp # Jibe EdgeBurst [Chap_Tippin] [Chap_Tippin] 2003-06 +jibe-eb 3777/udp # Jibe EdgeBurst [Chap_Tippin] [Chap_Tippin] 2003-06 +c-h-it-port 3778/tcp # Cutler-Hammer IT Port [Thomas_Ruchti] [Thomas_Ruchti] 2003-06 +c-h-it-port 3778/udp # Cutler-Hammer IT Port [Thomas_Ruchti] [Thomas_Ruchti] 2003-06 +cognima 3779/tcp # Cognima Replication [Ralph_Greenwell] [Ralph_Greenwell] 2003-06 +cognima 3779/udp # Cognima Replication [Ralph_Greenwell] [Ralph_Greenwell] 2003-06 +nnp 3780/tcp # Nuzzler Network Protocol [Andreas_Schwarz_2] [Andreas_Schwarz_2] 2003-06 +nnp 3780/udp # Nuzzler Network Protocol [Andreas_Schwarz_2] [Andreas_Schwarz_2] 2003-06 +abcvoice-port 3781/tcp # ABCvoice server port [Carlos_Gonzalez_Roma] [Carlos_Gonzalez_Roma] 2003-06 +abcvoice-port 3781/udp # ABCvoice server port [Carlos_Gonzalez_Roma] [Carlos_Gonzalez_Roma] 2003-06 +iso-tp0s 3782/tcp # Secure ISO TP0 port [Herbert_Falk] [Herbert_Falk] 2003-06 +iso-tp0s 3782/udp # Secure ISO TP0 port [Herbert_Falk] [Herbert_Falk] 2003-06 +bim-pem 3783/tcp # Impact Mgr./PEM Gateway [Walter_G_Giroir] [Walter_G_Giroir] 2003-07 +bim-pem 3783/udp # Impact Mgr./PEM Gateway [Walter_G_Giroir] [Walter_G_Giroir] 2003-07 +bfd-control 3784/tcp # BFD Control Protocol [RFC5881] +bfd-control 3784/udp # BFD Control Protocol [RFC5881] +bfd-echo 3785/tcp # BFD Echo Protocol [RFC5881] +bfd-echo 3785/udp # BFD Echo Protocol [RFC5881] +upstriggervsw 3786/tcp # VSW Upstrigger port [Mark_Tim_Junghanns] [Mark_Tim_Junghanns] 2003-07 +upstriggervsw 3786/udp # VSW Upstrigger port [Mark_Tim_Junghanns] [Mark_Tim_Junghanns] 2003-07 +fintrx 3787/tcp # Fintrx [Peter_G_L_Potgiese] [Peter_G_L_Potgiese] 2003-07 +fintrx 3787/udp # Fintrx [Peter_G_L_Potgiese] [Peter_G_L_Potgiese] 2003-07 +isrp-port 3788/tcp # SPACEWAY Routing port [Vaibhav_Kumar] [Vaibhav_Kumar] 2003-07 +isrp-port 3788/udp # SPACEWAY Routing port [Vaibhav_Kumar] [Vaibhav_Kumar] 2003-07 +remotedeploy 3789/tcp # RemoteDeploy Administration [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +# Port [July 2003] +remotedeploy 3789/udp # RemoteDeploy Administration [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +quickbooksrds 3790/tcp # QuickBooks RDS [Almira] [Almira] 2003-07 +quickbooksrds 3790/udp # QuickBooks RDS [Almira] [Almira] 2003-07 +tvnetworkvideo 3791/tcp # TV NetworkVideo Data port [Kevin_Brunner] [Kevin_Brunner] 2003-07 +tvnetworkvideo 3791/udp # TV NetworkVideo Data port [Kevin_Brunner] [Kevin_Brunner] 2003-07 +sitewatch 3792/tcp # e-Watch Corporation [John_M_Baird] [John_M_Baird] 2003-07 +# SiteWatch +sitewatch 3792/udp # e-Watch Corporation [John_M_Baird] [John_M_Baird] 2003-07 +dcsoftware 3793/tcp # DataCore Software [Andre_Cato] [Andre_Cato] 2003-07 +dcsoftware 3793/udp # DataCore Software [Andre_Cato] [Andre_Cato] 2003-07 +jaus 3794/tcp # JAUS Robots [Steven_B_Cliff] [Steven_B_Cliff] 2003-07 +jaus 3794/udp # JAUS Robots [Steven_B_Cliff] [Steven_B_Cliff] 2003-07 +myblast 3795/tcp # myBLAST Mekentosj port [Alexander_Griekspoor] [Alexander_Griekspoor] 2003-07 +myblast 3795/udp # myBLAST Mekentosj port [Alexander_Griekspoor] [Alexander_Griekspoor] 2003-07 +spw-dialer 3796/tcp # Spaceway Dialer [Patrick_Fisher] [Patrick_Fisher] 2003-07 +spw-dialer 3796/udp # Spaceway Dialer [Patrick_Fisher] [Patrick_Fisher] 2003-07 +idps 3797/tcp # idps [Jean_Francois_Rabass] [Jean_Francois_Rabass] 2003-07 +idps 3797/udp # idps [Jean_Francois_Rabass] [Jean_Francois_Rabass] 2003-07 +minilock 3798/tcp # Minilock [Daniel_Julio_Reyes] [Daniel_Julio_Reyes] 2003-08 +minilock 3798/udp # Minilock [Daniel_Julio_Reyes] [Daniel_Julio_Reyes] 2003-08 +radius-dynauth 3799/tcp # RADIUS Dynamic Authorization [RFC3576] +radius-dynauth 3799/udp # RADIUS Dynamic Authorization [RFC3576] +pwgpsi 3800/tcp # Print Services Interface [Harry_Lewis] [Harry_Lewis] 2003-05 +pwgpsi 3800/udp # Print Services Interface [Harry_Lewis] [Harry_Lewis] 2003-05 +ibm-mgr 3801/tcp # ibm manager service [Tim_Hahn] [Tim_Hahn] 2006-03 +ibm-mgr 3801/udp # ibm manager service [Tim_Hahn] [Tim_Hahn] 2006-03 +vhd 3802/tcp # VHD [Chris_Duncombe] [Chris_Duncombe] +vhd 3802/udp # VHD [Chris_Duncombe] [Chris_Duncombe] +soniqsync 3803/tcp # SoniqSync [Ryan_Melville] [Ryan_Melville] 2004-01 +soniqsync 3803/udp # SoniqSync [Ryan_Melville] [Ryan_Melville] 2004-01 +iqnet-port 3804/tcp # Harman IQNet Port [Bruce_Vander_Werf] [Bruce_Vander_Werf] 2004-02 +iqnet-port 3804/udp # Harman IQNet Port [Bruce_Vander_Werf] [Bruce_Vander_Werf] 2004-02 +tcpdataserver 3805/tcp # ThorGuard Server Port [Joel_E_Steiger] [Joel_E_Steiger] 2004-02 +tcpdataserver 3805/udp # ThorGuard Server Port [Joel_E_Steiger] [Joel_E_Steiger] 2004-02 +wsmlb 3806/tcp # Remote System Manager [Thomas_Fiege] [Thomas_Fiege] 2004-02 +wsmlb 3806/udp # Remote System Manager [Thomas_Fiege] [Thomas_Fiege] 2004-02 +spugna 3807/tcp # SpuGNA Communication Port [Samuele_Sequi] [Samuele_Sequi] 2004-02 +spugna 3807/udp # SpuGNA Communication Port [Samuele_Sequi] [Samuele_Sequi] 2004-02 +sun-as-iiops-ca 3808/tcp # Sun App Svr-IIOPClntAuth [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +sun-as-iiops-ca 3808/udp # Sun App Svr-IIOPClntAuth [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +apocd 3809/tcp # Java Desktop System [Geoff_Higgins] [Geoff_Higgins] 2006-03 +# Configuration Agent +apocd 3809/udp # Java Desktop System [Geoff_Higgins] [Geoff_Higgins] 2006-03 +wlanauth 3810/tcp # WLAN AS server [Bianling_Zhang] [Bianling_Zhang] 2004-02 +wlanauth 3810/udp # WLAN AS server [Bianling_Zhang] [Bianling_Zhang] 2004-02 +amp 3811/tcp # AMP [Northon_Rodrigues] [Northon_Rodrigues] 2004-02 +amp 3811/udp # AMP [Northon_Rodrigues] [Northon_Rodrigues] 2004-02 +neto-wol-server 3812/tcp # netO WOL Server [Martin_Bestmann_2] [Martin_Bestmann_2] 2004-03 +neto-wol-server 3812/udp # netO WOL Server [Martin_Bestmann_2] [Martin_Bestmann_2] 2004-03 +rap-ip 3813/tcp # Rhapsody Interface Protocol [Paul_Zander] [Paul_Zander] 2004-03 +rap-ip 3813/udp # Rhapsody Interface Protocol [Paul_Zander] [Paul_Zander] 2004-03 +neto-dcs 3814/tcp # netO DCS [Martin_Bestmann_2] [Martin_Bestmann_2] 2004-03 +neto-dcs 3814/udp # netO DCS [Martin_Bestmann_2] [Martin_Bestmann_2] 2004-03 +lansurveyorxml 3815/tcp # LANsurveyor XML [Michael_Swan] [Michael_Swan] 2004-04 +lansurveyorxml 3815/udp # LANsurveyor XML [Michael_Swan] [Michael_Swan] 2004-04 +sunlps-http 3816/tcp # Sun Local Patch Server [Barry_Greenberg] [Barry_Greenberg] 2004-04 +sunlps-http 3816/udp # Sun Local Patch Server [Barry_Greenberg] [Barry_Greenberg] 2004-04 +tapeware 3817/tcp # Yosemite Tech Tapeware [Luke_Dion] [Luke_Dion] 2004-04 +tapeware 3817/udp # Yosemite Tech Tapeware [Luke_Dion] [Luke_Dion] 2004-04 +crinis-hb 3818/tcp # Crinis Heartbeat [Eric_McMurry] [Eric_McMurry] 2004-04 +crinis-hb 3818/udp # Crinis Heartbeat [Eric_McMurry] [Eric_McMurry] 2004-04 +epl-slp 3819/tcp # EPL Sequ Layer Protocol [Hans_Weibel] [Hans_Weibel] 2004-10 +epl-slp 3819/udp # EPL Sequ Layer Protocol [Hans_Weibel] [Hans_Weibel] 2004-10 +scp 3820/tcp # Siemens AuD SCP [Johann_Arnold] [Johann_Arnold] 2004-10 +scp 3820/udp # Siemens AuD SCP [Johann_Arnold] [Johann_Arnold] 2004-10 +pmcp 3821/tcp # ATSC PMCP Standard [Graham_Jones] [Graham_Jones] 2004-11 +pmcp 3821/udp # ATSC PMCP Standard [Graham_Jones] [Graham_Jones] 2004-11 +acp-discovery 3822/tcp # Compute Pool Discovery +acp-discovery 3822/udp # Compute Pool Discovery +acp-conduit 3823/tcp # Compute Pool Conduit +acp-conduit 3823/udp # Compute Pool Conduit +acp-policy 3824/tcp # Compute Pool Policy [Andy_Belk_2] [Andy_Belk_2] 2005-02 +acp-policy 3824/udp # Compute Pool Policy [Andy_Belk_2] [Andy_Belk_2] 2005-02 +ffserver 3825/tcp # Antera FlowFusion Process [Armin_Liebchen] [Armin_Liebchen] 2007-06 +# Simulation +ffserver 3825/udp # Antera FlowFusion Process [Armin_Liebchen] [Armin_Liebchen] 2007-06 +warmux 3826/tcp # WarMUX game server [Christophe_Gisquet] [Christophe_Gisquet] 2011-05-26 +warmux 3826/udp # WarMUX game server [Christophe_Gisquet] [Christophe_Gisquet] 2011-05-26 +netmpi 3827/tcp # Netadmin Systems MPI service [G_Runfeldt] [G_Runfeldt] 2007-07-10 +netmpi 3827/udp # Netadmin Systems MPI service [G_Runfeldt] [G_Runfeldt] 2007-07-10 +neteh 3828/tcp # Netadmin Systems Event +# Handler +neteh 3828/udp # Netadmin Systems Event +neteh-ext 3829/tcp # Netadmin Systems Event [Jonas_Krogell] [Jonas_Krogell] 2007-07-10 +# Handler External +neteh-ext 3829/udp # Netadmin Systems Event [Jonas_Krogell] [Jonas_Krogell] 2007-07-10 +cernsysmgmtagt 3830/tcp # Cerner System Management [Mike_Craft] [Mike_Craft] 2008-01-29 +# Agent +cernsysmgmtagt 3830/udp # Cerner System Management [Mike_Craft] [Mike_Craft] 2008-01-29 +dvapps 3831/tcp # Docsvault Application [Ketul_Patel] [Ketul_Patel] 2006-10 +dvapps 3831/udp # Docsvault Application [Ketul_Patel] [Ketul_Patel] 2006-10 +xxnetserver 3832/tcp # xxNETserver [XXT_LLC] [Matt_Ferrari] 2006-10 2012-07-12 +xxnetserver 3832/udp # xxNETserver [XXT_LLC] [Matt_Ferrari] 2006-10 2012-07-12 +aipn-auth 3833/tcp # AIPN LS Authentication [Qiang_Zhang] [Qiang_Zhang] 2006-10 +aipn-auth 3833/udp # AIPN LS Authentication [Qiang_Zhang] [Qiang_Zhang] 2006-10 +spectardata 3834/tcp # Spectar Data Stream Service +spectardata 3834/udp # Spectar Data Stream Service +spectardb 3835/tcp # Spectar Database Rights [Jan_Rutger_Voorhorst] [Jan_Rutger_Voorhorst] 2006-10 +spectardb 3835/udp # Spectar Database Rights [Jan_Rutger_Voorhorst] [Jan_Rutger_Voorhorst] 2006-10 +markem-dcp 3836/tcp # MARKEM NEXTGEN DCP +markem-dcp 3836/udp # MARKEM NEXTGEN DCP +mkm-discovery 3837/tcp # MARKEM Auto-Discovery [Vadym_Kargin] [Vadym_Kargin] 2005-08 +mkm-discovery 3837/udp # MARKEM Auto-Discovery [Vadym_Kargin] [Vadym_Kargin] 2005-08 +sos 3838/tcp # Scito Object Server [Arno_Klaassen] [Arno_Klaassen] 2003-11 +sos 3838/udp # Scito Object Server [Arno_Klaassen] [Arno_Klaassen] 2003-11 +amx-rms 3839/tcp # AMX Resource Management [Ron_Barber] [Ron_Barber] 2003-11 +# Suite +amx-rms 3839/udp # AMX Resource Management [Ron_Barber] [Ron_Barber] 2003-11 +flirtmitmir 3840/tcp # www.FlirtMitMir.de [Carsten_Falticska] [Carsten_Falticska] 2003-11 +flirtmitmir 3840/udp # www.FlirtMitMir.de [Carsten_Falticska] [Carsten_Falticska] 2003-11 +zfirm-shiprush3 3841/tcp # Z-Firm ShipRush v3 [Rafael_Zimberoff] [Rafael_Zimberoff] 2003-11 +zfirm-shiprush3 3841/udp # Z-Firm ShipRush v3 [Rafael_Zimberoff] [Rafael_Zimberoff] 2003-11 +nhci 3842/tcp # NHCI status port [Eric_Welch_2] [Eric_Welch_2] 2003-11 +nhci 3842/udp # NHCI status port [Eric_Welch_2] [Eric_Welch_2] 2003-11 +quest-agent 3843/tcp # Quest Common Agent [Peter_Maher] [Peter_Maher] 2003-11 +quest-agent 3843/udp # Quest Common Agent [Peter_Maher] [Peter_Maher] 2003-11 +rnm 3844/tcp # RNM [sn_w_of_renegade_lab] [sn_w_of_renegade_lab] 2003-11 +rnm 3844/udp # RNM [sn_w_of_renegade_lab] [sn_w_of_renegade_lab] 2003-11 +v-one-spp 3845/tcp # V-ONE Single Port Proxy [Daniel_Becker_3] [Daniel_Becker_3] +v-one-spp 3845/udp # V-ONE Single Port Proxy [Daniel_Becker_3] [Daniel_Becker_3] +an-pcp 3846/tcp # Astare Network PCP [Tony_Gulino] [Tony_Gulino] 2003-08 +an-pcp 3846/udp # Astare Network PCP [Tony_Gulino] [Tony_Gulino] 2003-08 +msfw-control 3847/tcp # MS Firewall Control [Oren_Trutner] [Oren_Trutner] 2003-08 +msfw-control 3847/udp # MS Firewall Control [Oren_Trutner] [Oren_Trutner] 2003-08 +item 3848/tcp # IT Environmental Monitor [Keith_Wright] [Keith_Wright] 2003-08 +item 3848/udp # IT Environmental Monitor [Keith_Wright] [Keith_Wright] 2003-08 +spw-dnspreload 3849/tcp # SPACEWAY DNS Preload [Daniel_Friedman] [Daniel_Friedman] 2003-08 +spw-dnspreload 3849/udp # SPACEWAY DNS Prelaod [Daniel_Friedman] [Daniel_Friedman] 2003-08 +qtms-bootstrap 3850/tcp # QTMS Bootstrap Protocol [Phil_Willis] [Phil_Willis] 2003-08 +qtms-bootstrap 3850/udp # QTMS Bootstrap Protocol [Phil_Willis] [Phil_Willis] 2003-08 +spectraport 3851/tcp # SpectraTalk Port [Madhav_Karhade] [Madhav_Karhade] 2003-08 +spectraport 3851/udp # SpectraTalk Port [Madhav_Karhade] [Madhav_Karhade] 2003-08 +sse-app-config 3852/tcp # SSE App Configuration [Tim_Wilson] [Tim_Wilson] 2003-08 +sse-app-config 3852/udp # SSE App Configuration [Tim_Wilson] [Tim_Wilson] 2003-08 +sscan 3853/tcp # SONY scanning protocol [Takashi_Aihara] [Takashi_Aihara] 2003-08 +sscan 3853/udp # SONY scanning protocol [Takashi_Aihara] [Takashi_Aihara] 2003-08 +stryker-com 3854/tcp # Stryker Comm Port [Andrew_Schultz] [Andrew_Schultz] 2003-08 +stryker-com 3854/udp # Stryker Comm Port [Andrew_Schultz] [Andrew_Schultz] 2003-08 +opentrac 3855/tcp # OpenTRAC [Scott_Miller] [Scott_Miller] 2003-08 +opentrac 3855/udp # OpenTRAC [Scott_Miller] [Scott_Miller] 2003-08 +informer 3856/tcp # INFORMER [Filippo_Fadda] [Filippo_Fadda] 2003-08 +informer 3856/udp # INFORMER [Filippo_Fadda] [Filippo_Fadda] 2003-08 +trap-port 3857/tcp # Trap Port [Norm_Freedman] [Norm_Freedman] 2003-08 +trap-port 3857/udp # Trap Port [Norm_Freedman] [Norm_Freedman] 2003-08 +trap-port-mom 3858/tcp # Trap Port MOM [Norm_Freedman] [Norm_Freedman] 2003-08 +trap-port-mom 3858/udp # Trap Port MOM [Norm_Freedman] [Norm_Freedman] 2003-08 +nav-port 3859/tcp # Navini Port [Chris_Sanders] [Chris_Sanders] 2003-08 +nav-port 3859/udp # Navini Port [Chris_Sanders] [Chris_Sanders] 2003-08 +sasp 3860/tcp # Server/Application State [Alan_Bivens] [Alan_Bivens] 2003-08 +# Protocol (SASP) +sasp 3860/udp # Server/Application State [Alan_Bivens] [Alan_Bivens] 2003-08 +winshadow-hd 3861/tcp # winShadow Host Discovery [Shu_Wei_Tan] [Shu_Wei_Tan] 2003-03 +winshadow-hd 3861/udp # winShadow Host Discovery [Shu_Wei_Tan] [Shu_Wei_Tan] 2003-03 +giga-pocket 3862/tcp # GIGA-POCKET [Yoshikazu_Watanabe] [Yoshikazu_Watanabe] +giga-pocket 3862/udp # GIGA-POCKET [Yoshikazu_Watanabe] [Yoshikazu_Watanabe] +asap-tcp 3863/tcp # asap tcp port +asap-udp 3863/udp # asap udp port [RFC5352] +asap-sctp 3863/sctp # asap sctp [RFC5352] +asap-tcp-tls 3864/tcp # asap/tls tcp port [RFC5352] +# 3864 udp Reserved This entry has been removed on 2006-06-23. +asap-sctp-tls 3864/sctp # asap-sctp/tls [RFC5352] +xpl 3865/tcp # xpl automation protocol [Ian_Lowe] [Ian_Lowe] 2003-08 +xpl 3865/udp # xpl automation protocol [Ian_Lowe] [Ian_Lowe] 2003-08 +dzdaemon 3866/tcp # Sun SDViz DZDAEMON Port [Kevin_Rushforth] [Kevin_Rushforth] 2003-08 +dzdaemon 3866/udp # Sun SDViz DZDAEMON Port [Kevin_Rushforth] [Kevin_Rushforth] 2003-08 +dzoglserver 3867/tcp # Sun SDViz DZOGLSERVER Port [Kevin_Rushforth] [Kevin_Rushforth] 2003-08 +dzoglserver 3867/udp # Sun SDViz DZOGLSERVER Port [Kevin_Rushforth] [Kevin_Rushforth] 2003-08 +diameter 3868/tcp # DIAMETER +# 3868 udp Reserved +diameter 3868/sctp # DIAMETER [RFC3588] +ovsam-mgmt 3869/tcp # hp OVSAM MgmtServer Disco [Mike_Pontillo] [Mike_Pontillo] 2003-08 +ovsam-mgmt 3869/udp # hp OVSAM MgmtServer Disco [Mike_Pontillo] [Mike_Pontillo] 2003-08 +ovsam-d-agent 3870/tcp # hp OVSAM HostAgent Disco [Mike_Pontillo] [Mike_Pontillo] 2003-08 +ovsam-d-agent 3870/udp # hp OVSAM HostAgent Disco [Mike_Pontillo] [Mike_Pontillo] 2003-08 +avocent-adsap 3871/tcp # Avocent DS Authorization [Eduardo_Fernandez] [Eduardo_Fernandez] 2003-08 +avocent-adsap 3871/udp # Avocent DS Authorization [Eduardo_Fernandez] [Eduardo_Fernandez] 2003-08 +oem-agent 3872/tcp # OEM Agent [Narain_Jagathesan] [Narain_Jagathesan] 2003-11 +oem-agent 3872/udp # OEM Agent [Narain_Jagathesan] [Narain_Jagathesan] 2003-11 +fagordnc 3873/tcp # fagordnc [Luis_Zugasti] [Luis_Zugasti] 2003-11 +fagordnc 3873/udp # fagordnc [Luis_Zugasti] [Luis_Zugasti] 2003-11 +sixxsconfig 3874/tcp # SixXS Configuration [Jeroen_Massar] [Jeroen_Massar] 2003-11 +sixxsconfig 3874/udp # SixXS Configuration [Jeroen_Massar] [Jeroen_Massar] 2003-11 +pnbscada 3875/tcp # PNBSCADA [Philip_N_Bergstress] [Philip_N_Bergstress] +pnbscada 3875/udp # PNBSCADA [Philip_N_Bergstress] [Philip_N_Bergstress] +# DirectoryLockdown Agent +# +dl-agent 3876/tcp # IANA assigned this [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 +# "dl_agent". +# This entry is an alias to "dl-agent". This entry is now +dl_agent 3876/tcp # DirectoryLockdown Agent [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 historic, not usable for use with many common service +# +dl-agent 3876/udp # IANA assigned this [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 +dl_agent 3876/udp # DirectoryLockdown Agent [Jason_Lockett][Melanie_Kacerek] [Jason_Lockett][Melanie_Kacerek] 2008-12-16 historic, not usable for use with many common service +xmpcr-interface 3877/tcp # XMPCR Interface Port [Christopher_Carlson] [Christopher_Carlson] 2003-10 +xmpcr-interface 3877/udp # XMPCR Interface Port [Christopher_Carlson] [Christopher_Carlson] 2003-10 +fotogcad 3878/tcp # FotoG CAD interface [Jason_Szabo] [Jason_Szabo] 2003-10 +fotogcad 3878/udp # FotoG CAD interface [Jason_Szabo] [Jason_Szabo] 2003-10 +appss-lm 3879/tcp # appss license manager [Peter_Krueger] [Peter_Krueger] 2003-10 +appss-lm 3879/udp # appss license manager [Peter_Krueger] [Peter_Krueger] 2003-10 +igrs 3880/tcp # IGRS [Huang_Jingnan] [Huang_Jingnan] 2003-10 +igrs 3880/udp # IGRS [Huang_Jingnan] [Huang_Jingnan] 2003-10 +idac 3881/tcp # Data Acquisition and Control [Chatziandreoglou_Chr] [Chatziandreoglou_Chr] 2003-10 +idac 3881/udp # Data Acquisition and Control [Chatziandreoglou_Chr] [Chatziandreoglou_Chr] 2003-10 +msdts1 3882/tcp # DTS Service Port [Sergei_Ivanov] [Sergei_Ivanov] 2003-10 +msdts1 3882/udp # DTS Service Port [Sergei_Ivanov] [Sergei_Ivanov] 2003-10 +vrpn 3883/tcp # VR Peripheral Network [Russell_M_Taylor_II] [Russell_M_Taylor_II] 2003-10 +vrpn 3883/udp # VR Peripheral Network [Russell_M_Taylor_II] [Russell_M_Taylor_II] 2003-10 +softrack-meter 3884/tcp # SofTrack Metering [John_T_McCann] [John_T_McCann] 2003-10 +softrack-meter 3884/udp # SofTrack Metering [John_T_McCann] [John_T_McCann] 2003-10 +topflow-ssl 3885/tcp # TopFlow SSL [Ken_Nelson] [Ken_Nelson] +topflow-ssl 3885/udp # TopFlow SSL [Ken_Nelson] [Ken_Nelson] +nei-management 3886/tcp # NEI management port [Kevin_Murphy_2] [Kevin_Murphy_2] 2003-10 +nei-management 3886/udp # NEI management port [Kevin_Murphy_2] [Kevin_Murphy_2] 2003-10 +ciphire-data 3887/tcp # Ciphire Data Transport [Lars_Eilebrecht] [Lars_Eilebrecht] 2003-10 +ciphire-data 3887/udp # Ciphire Data Transport [Lars_Eilebrecht] [Lars_Eilebrecht] 2003-10 +ciphire-serv 3888/tcp # Ciphire Services [Lars_Eilebrecht] [Lars_Eilebrecht] 2003-10 +ciphire-serv 3888/udp # Ciphire Services [Lars_Eilebrecht] [Lars_Eilebrecht] 2003-10 +dandv-tester 3889/tcp # D and V Tester Control Port [Voiko_Loukanov] [Voiko_Loukanov] 2003-10 +dandv-tester 3889/udp # D and V Tester Control Port [Voiko_Loukanov] [Voiko_Loukanov] 2003-10 +ndsconnect 3890/tcp # Niche Data Server Connect [Roland_Schneider] [Roland_Schneider] 2003-10 +ndsconnect 3890/udp # Niche Data Server Connect [Roland_Schneider] [Roland_Schneider] 2003-10 +rtc-pm-port 3891/tcp # Oracle RTC-PM port [PV_Shivkumar] [PV_Shivkumar] 2003-10 +rtc-pm-port 3891/udp # Oracle RTC-PM port [PV_Shivkumar] [PV_Shivkumar] 2003-10 +pcc-image-port 3892/tcp # PCC-image-port [Shiro_Tamoto] [Shiro_Tamoto] 2003-10 +pcc-image-port 3892/udp # PCC-image-port [Shiro_Tamoto] [Shiro_Tamoto] 2003-10 +cgi-starapi 3893/tcp # CGI StarAPI Server [Garry_Moore] [Garry_Moore] 2003-10 +cgi-starapi 3893/udp # CGI StarAPI Server [Garry_Moore] [Garry_Moore] 2003-10 +syam-agent 3894/tcp # SyAM Agent Port [Michael_Daniele] [Michael_Daniele] 2003-10 +syam-agent 3894/udp # SyAM Agent Port [Michael_Daniele] [Michael_Daniele] 2003-10 +syam-smc 3895/tcp # SyAm SMC Service Port [Michael_Daniele] [Michael_Daniele] 2003-10 +syam-smc 3895/udp # SyAm SMC Service Port [Michael_Daniele] [Michael_Daniele] 2003-10 +sdo-tls 3896/tcp # Simple Distributed Objects [Alexander_Philippou] [Alexander_Philippou] 2003-10 +# over TLS +sdo-tls 3896/udp # Simple Distributed Objects [Alexander_Philippou] [Alexander_Philippou] 2003-10 +sdo-ssh 3897/tcp # Simple Distributed Objects [Alexander_Philippou] [Alexander_Philippou] 2003-10 +# over SSH +sdo-ssh 3897/udp # Simple Distributed Objects [Alexander_Philippou] [Alexander_Philippou] 2003-10 +senip 3898/tcp # IAS, Inc. SmartEye NET [Matt_Nowicki] [Matt_Nowicki] 2003-10 +# Internet Protocol +senip 3898/udp # IAS, Inc. SmartEye NET [Matt_Nowicki] [Matt_Nowicki] 2003-10 +itv-control 3899/tcp # ITV Port [Alex_Nicu] [Alex_Nicu] 2003-10 +itv-control 3899/udp # ITV Port [Alex_Nicu] [Alex_Nicu] 2003-10 +# Unidata UDT OS +# +udt-os 3900/tcp # IANA assigned this [James_Powell] [James_Powell] +udt_os 3900/tcp # Unidata UDT OS [James_Powell] [James_Powell] historic, not usable for use with many common service +# +udt-os 3900/udp # IANA assigned this [James_Powell] [James_Powell] +udt_os 3900/udp # Unidata UDT OS [James_Powell] [James_Powell] historic, not usable for use with many common service +nimsh 3901/tcp # NIM Service Handler [Paul_B_Finley] [Paul_B_Finley] 2003-10 +nimsh 3901/udp # NIM Service Handler [Paul_B_Finley] [Paul_B_Finley] 2003-10 +nimaux 3902/tcp # NIMsh Auxiliary Port [Paul_B_Finley] [Paul_B_Finley] 2003-10 +nimaux 3902/udp # NIMsh Auxiliary Port [Paul_B_Finley] [Paul_B_Finley] 2003-10 +charsetmgr 3903/tcp # CharsetMGR [Tatsuya_Ueda] [Tatsuya_Ueda] 2003-10 +charsetmgr 3903/udp # CharsetMGR [Tatsuya_Ueda] [Tatsuya_Ueda] 2003-10 +omnilink-port 3904/tcp # Arnet Omnilink Port [Ronen_Shaul] [Ronen_Shaul] 2003-10 +omnilink-port 3904/udp # Arnet Omnilink Port [Ronen_Shaul] [Ronen_Shaul] 2003-10 +mupdate 3905/tcp # Mailbox Update (MUPDATE) [RFC3656] +mupdate 3905/udp # Mailbox Update (MUPDATE) [RFC3656] +topovista-data 3906/tcp # TopoVista elevation data [Gregg_Townsend] [Gregg_Townsend] 2003-11 +topovista-data 3906/udp # TopoVista elevation data [Gregg_Townsend] [Gregg_Townsend] 2003-11 +imoguia-port 3907/tcp # Imoguia Port [Emidio_Cunha] [Emidio_Cunha] 2003-11 +imoguia-port 3907/udp # Imoguia Port [Emidio_Cunha] [Emidio_Cunha] 2003-11 +hppronetman 3908/tcp # HP Procurve NetManagement [Devon_Dawson] [Devon_Dawson] 2003-11 +hppronetman 3908/udp # HP Procurve NetManagement [Devon_Dawson] [Devon_Dawson] 2003-11 +surfcontrolcpa 3909/tcp # SurfControl CPA [Hywel_Morgan] [Hywel_Morgan] 2003-11 +surfcontrolcpa 3909/udp # SurfControl CPA [Hywel_Morgan] [Hywel_Morgan] 2003-11 +prnrequest 3910/tcp # Printer Request Port [Brett_Green] [Brett_Green] 2003-11 +prnrequest 3910/udp # Printer Request Port [Brett_Green] [Brett_Green] 2003-11 +prnstatus 3911/tcp # Printer Status Port [Brett_Green] [Brett_Green] 2003-11 +prnstatus 3911/udp # Printer Status Port [Brett_Green] [Brett_Green] 2003-11 +gbmt-stars 3912/tcp # Global Maintech Stars [Harry_Goldschmitt] [Harry_Goldschmitt] 2003-11 +gbmt-stars 3912/udp # Global Maintech Stars [Harry_Goldschmitt] [Harry_Goldschmitt] 2003-11 +listcrt-port 3913/tcp # ListCREATOR Port [Tomokazu_Asai] [Tomokazu_Asai] 2003-11 +listcrt-port 3913/udp # ListCREATOR Port [Tomokazu_Asai] [Tomokazu_Asai] 2003-11 +listcrt-port-2 3914/tcp # ListCREATOR Port 2 [Tomokazu_Asai] [Tomokazu_Asai] 2003-11 +listcrt-port-2 3914/udp # ListCREATOR Port 2 [Tomokazu_Asai] [Tomokazu_Asai] 2003-11 +agcat 3915/tcp # Auto-Graphics Cataloging [Paul_Cope] [Paul_Cope] 2003-11 +agcat 3915/udp # Auto-Graphics Cataloging [Paul_Cope] [Paul_Cope] 2003-11 +wysdmc 3916/tcp # WysDM Controller [Jim_McDonald_2] [Jim_McDonald_2] 2003-11 +wysdmc 3916/udp # WysDM Controller [Jim_McDonald_2] [Jim_McDonald_2] 2003-11 +aftmux 3917/tcp # AFT multiplex port [Alfred_Schmidt] [Alfred_Schmidt] 2003-11 +aftmux 3917/udp # AFT multiples port [Alfred_Schmidt] [Alfred_Schmidt] 2003-11 +pktcablemmcops 3918/tcp # PacketCableMultimediaCOPS [Eric_Rosenfeld] [Eric_Rosenfeld] 2003-11 +pktcablemmcops 3918/udp # PacketCableMultimediaCOPS [Eric_Rosenfeld] [Eric_Rosenfeld] 2003-11 +hyperip 3919/tcp # HyperIP [Dave_Reiland] [Dave_Reiland] 2003-11 +hyperip 3919/udp # HyperIP [Dave_Reiland] [Dave_Reiland] 2003-11 +exasoftport1 3920/tcp # Exasoft IP Port [Alan_Malik] [Alan_Malik] 2003-11 +exasoftport1 3920/udp # Exasoft IP Port [Alan_Malik] [Alan_Malik] 2003-11 +herodotus-net 3921/tcp # Herodotus Net [Adam_Gawne_Cain] [Adam_Gawne_Cain] 2003-11 +herodotus-net 3921/udp # Herodotus Net [Adam_Gawne_Cain] [Adam_Gawne_Cain] 2003-11 +sor-update 3922/tcp # Soronti Update Port [Carleton_Watkins] [Carleton_Watkins] 2003-11 +sor-update 3922/udp # Soronti Update Port [Carleton_Watkins] [Carleton_Watkins] 2003-11 +symb-sb-port 3923/tcp # Symbian Service Broker [Ian_McDowall] [Ian_McDowall] 2003-11 +symb-sb-port 3923/udp # Symbian Service Broker [Ian_McDowall] [Ian_McDowall] 2003-11 +mpl-gprs-port 3924/tcp # MPL_GPRS_PORT [David_Barrass_2] [David_Barrass_2] 2003-11 +mpl-gprs-port 3924/udp # MPL_GPRS_Port [David_Barrass_2] [David_Barrass_2] 2003-11 +zmp 3925/tcp # Zoran Media Port [Gerard_Cerchio] [Gerard_Cerchio] 2003-11 +zmp 3925/udp # Zoran Media Port [Gerard_Cerchio] [Gerard_Cerchio] 2003-11 +winport 3926/tcp # WINPort [Alwin_Egger] [Alwin_Egger] 2003-11 +winport 3926/udp # WINPort [Alwin_Egger] [Alwin_Egger] 2003-11 +natdataservice 3927/tcp # ScsTsr [Ghanshyam_Patel] [Ghanshyam_Patel] 2003-11 +natdataservice 3927/udp # ScsTsr [Ghanshyam_Patel] [Ghanshyam_Patel] 2003-11 +netboot-pxe 3928/tcp # PXE NetBoot Manager [Markus_Treinen] [Markus_Treinen] 2003-11 +netboot-pxe 3928/udp # PXE NetBoot Manager [Markus_Treinen] [Markus_Treinen] 2003-11 +smauth-port 3929/tcp # AMS Port [Angelique_Dokos] [Angelique_Dokos] 2003-11 +smauth-port 3929/udp # AMS Port [Angelique_Dokos] [Angelique_Dokos] 2003-11 +syam-webserver 3930/tcp # Syam Web Server Port [Michael_Daniele] [Michael_Daniele] 2003-11 +syam-webserver 3930/udp # Syam Web Server Port [Michael_Daniele] [Michael_Daniele] 2003-11 +msr-plugin-port 3931/tcp # MSR Plugin Port [Ron_Steed] [Ron_Steed] 2003-11 +msr-plugin-port 3931/udp # MSR Plugin Port [Ron_Steed] [Ron_Steed] 2003-11 +dyn-site 3932/tcp # Dynamic Site System [Steve_Qi] [Steve_Qi] 2003-11 +dyn-site 3932/udp # Dynamic Site System [Steve_Qi] [Steve_Qi] 2003-11 +plbserve-port 3933/tcp # PL/B App Server User Port [Edward_R_Boedecker] [Edward_R_Boedecker] 2003-11 +plbserve-port 3933/udp # PL/B App Server User Port [Edward_R_Boedecker] [Edward_R_Boedecker] 2003-11 +sunfm-port 3934/tcp # PL/B File Manager Port [Edward_R_Boedecker] [Edward_R_Boedecker] 2003-11 +sunfm-port 3934/udp # PL/B File Manager Port [Edward_R_Boedecker] [Edward_R_Boedecker] 2003-11 +sdp-portmapper 3935/tcp # SDP Port Mapper Protocol [James_Pinkerton] [James_Pinkerton] 2003-11 +sdp-portmapper 3935/udp # SDP Port Mapper Protocol [James_Pinkerton] [James_Pinkerton] 2003-11 +mailprox 3936/tcp # Mailprox [Christof_Drescher] [Christof_Drescher] 2003-11 +mailprox 3936/udp # Mailprox [Christof_Drescher] [Christof_Drescher] 2003-11 +dvbservdsc 3937/tcp # DVB Service Discovery [Bert_van_Willigen][Peter_MacAvock] [Bert_van_Willigen][Peter_MacAvock] 2003-11 +dvbservdsc 3937/udp # DVB Service Discovery [Bert_van_Willigen][Peter_MacAvock] [Bert_van_Willigen][Peter_MacAvock] 2003-11 +# Oracle dbControl Agent po +# +dbcontrol-agent 3938/tcp # IANA assigned this [Todd_Guay] [Todd_Guay] 2003-11 +# "dbcontrol_agent". +# This entry is an alias to "dbcontrol-agent". This entry is +dbcontrol_agent 3938/tcp # Oracle dbControl Agent po [Todd_Guay] [Todd_Guay] 2003-11 now historic, not usable for use with many common service +# Oracel dbControl Agent po +# +dbcontrol-agent 3938/udp # IANA assigned this [Todd_Guay] [Todd_Guay] 2003-11 +dbcontrol_agent 3938/udp # Oracel dbControl Agent po [Todd_Guay] [Todd_Guay] 2003-11 now historic, not usable for use with many common service +aamp 3939/tcp # Anti-virus Application [In_sik_Choi] [In_sik_Choi] 2002-02 +# Management Port +aamp 3939/udp # Anti-virus Application [In_sik_Choi] [In_sik_Choi] 2002-02 +xecp-node 3940/tcp # XeCP Node Service [Brent_McCullough] [Brent_McCullough] 2003-11 +xecp-node 3940/udp # XeCP Node Service [Brent_McCullough] [Brent_McCullough] 2003-11 +homeportal-web 3941/tcp # Home Portal Web Server [Christian_Beaumont] [Christian_Beaumont] 2003-11 +homeportal-web 3941/udp # Home Portal Web Server [Christian_Beaumont] [Christian_Beaumont] 2003-11 +srdp 3942/tcp # satellite distribution [Simone_Molendini] [Simone_Molendini] 2003-11 +srdp 3942/udp # satellite distribution [Simone_Molendini] [Simone_Molendini] 2003-11 +tig 3943/tcp # TetraNode Ip Gateway [B_van_Klinken] [B_van_Klinken] 2003-12 +tig 3943/udp # TetraNode Ip Gateway [B_van_Klinken] [B_van_Klinken] 2003-12 +sops 3944/tcp # S-Ops Management [Stefan_Hochuli] [Stefan_Hochuli] 2003-12 +sops 3944/udp # S-Ops Management [Stefan_Hochuli] [Stefan_Hochuli] 2003-12 +emcads 3945/tcp # EMCADS Server Port [Lars_Struwe_Christen] [Lars_Struwe_Christen] 2004-01 +emcads 3945/udp # EMCADS Server Port [Lars_Struwe_Christen] [Lars_Struwe_Christen] 2004-01 +backupedge 3946/tcp # BackupEDGE Server [Frank_Liberato] [Frank_Liberato] 2004-06 +backupedge 3946/udp # BackupEDGE Server [Frank_Liberato] [Frank_Liberato] 2004-06 +# Connect and Control Protocol +ccp 3947/tcp # for Consumer, Commercial, [Aaron_Myer] [Aaron_Myer] 2004-06 +# and Industrial Electronic +# Devices +ccp 3947/udp # for Consumer, Commercial, [Aaron_Myer] [Aaron_Myer] 2004-06 +apdap 3948/tcp # Anton Paar Device [Martin_Leitner] [Martin_Leitner] 2004-06 +# Administration Protocol +apdap 3948/udp # Anton Paar Device [Martin_Leitner] [Martin_Leitner] 2004-06 +drip 3949/tcp # Dynamic Routing Information [Dana_Blair] [Dana_Blair] 2004-06 +drip 3949/udp # Dynamic Routing Information [Dana_Blair] [Dana_Blair] 2004-06 +namemunge 3950/tcp # Name Munging [John_C_Klensin] [John_C_Klensin] 2004-07 +namemunge 3950/udp # Name Munging [John_C_Klensin] [John_C_Klensin] 2004-07 +pwgippfax 3951/tcp # PWG IPP Facsimile [Ira_McDonald] [Ira_McDonald] 2004-08 +pwgippfax 3951/udp # PWG IPP Facsimile [Ira_McDonald] [Ira_McDonald] 2004-08 +i3-sessionmgr 3952/tcp # I3 Session Manager [Mike_Gagle_2] [Mike_Gagle_2] 2004-08 +i3-sessionmgr 3952/udp # I3 Session Manager [Mike_Gagle_2] [Mike_Gagle_2] 2004-08 +xmlink-connect 3953/tcp # Eydeas XMLink Connect [David_Crewson] [David_Crewson] 2004-09 +xmlink-connect 3953/udp # Eydeas XMLink Connect [David_Crewson] [David_Crewson] 2004-09 +adrep 3954/tcp # AD Replication RPC [Robert_Ball] [Robert_Ball] 2008-03-26 +adrep 3954/udp # AD Replication RPC [Robert_Ball] [Robert_Ball] 2008-03-26 +p2pcommunity 3955/tcp # p2pCommunity [Tiago_Bittencourt_Si] [Tiago_Bittencourt_Si] 2005-08 +p2pcommunity 3955/udp # p2pCommunity [Tiago_Bittencourt_Si] [Tiago_Bittencourt_Si] 2005-08 +gvcp 3956/tcp # GigE Vision Control [Eric_Carey] [Eric_Carey] 2005-08 +gvcp 3956/udp # GigE Vision Control [Eric_Carey] [Eric_Carey] 2005-08 +mqe-broker 3957/tcp # MQEnterprise Broker +mqe-broker 3957/udp # MQEnterprise Broker +mqe-agent 3958/tcp # MQEnterprise Agent [Bob_Lauria] [Bob_Lauria] 2005-08 +mqe-agent 3958/udp # MQEnterprise Agent [Bob_Lauria] [Bob_Lauria] 2005-08 +treehopper 3959/tcp # Tree Hopper Networking [Gary_Whelan] [Gary_Whelan] 2005-08 +treehopper 3959/udp # Tree Hopper Networking [Gary_Whelan] [Gary_Whelan] 2005-08 +bess 3960/tcp # Bess Peer Assessment [Peter_Verdon] [Peter_Verdon] 2005-08 +bess 3960/udp # Bess Peer Assessment [Peter_Verdon] [Peter_Verdon] 2005-08 +proaxess 3961/tcp # ProAxess Server [Jonas_Ahlqvist] [Jonas_Ahlqvist] 2005-08 +proaxess 3961/udp # ProAxess Server [Jonas_Ahlqvist] [Jonas_Ahlqvist] 2005-08 +sbi-agent 3962/tcp # SBI Agent Protocol [Yossi_Appleboum_2] [Yossi_Appleboum_2] 2005-08 +sbi-agent 3962/udp # SBI Agent Protocol [Yossi_Appleboum_2] [Yossi_Appleboum_2] 2005-08 +thrp 3963/tcp # Teran Hybrid Routing [Spencer_Teran] [Spencer_Teran] 2005-08 +thrp 3963/udp # Teran Hybrid Routing [Spencer_Teran] [Spencer_Teran] 2005-08 +sasggprs 3964/tcp # SASG GPRS [Cristian_Petculescu_3] [Cristian_Petculescu_3] 2005-08 +sasggprs 3964/udp # SASG GPRS [Cristian_Petculescu_3] [Cristian_Petculescu_3] 2005-08 +ati-ip-to-ncpe 3965/tcp # Avanti IP to NCPE API [Steve_Meyer_Sr] [Steve_Meyer_Sr] 2005-08 +ati-ip-to-ncpe 3965/udp # Avanti IP to NCPE API [Steve_Meyer_Sr] [Steve_Meyer_Sr] 2005-08 +bflckmgr 3966/tcp # BuildForge Lock Manager [Joe_Senner] [Joe_Senner] 2005-08 +bflckmgr 3966/udp # BuildForge Lock Manager [Joe_Senner] [Joe_Senner] 2005-08 +ppsms 3967/tcp # PPS Message Service [Bart_Schaefer] [Bart_Schaefer] 2005-08 +ppsms 3967/udp # PPS Message Service [Bart_Schaefer] [Bart_Schaefer] 2005-08 +ianywhere-dbns 3968/tcp # iAnywhere DBNS [Graeme_Perrow] [Graeme_Perrow] 2005-08 +ianywhere-dbns 3968/udp # iAnywhere DBNS [Graeme_Perrow] [Graeme_Perrow] 2005-08 +landmarks 3969/tcp # Landmark Messages [Petri_Rauhala] [Petri_Rauhala] 2005-08 +landmarks 3969/udp # Landmark Messages [Petri_Rauhala] [Petri_Rauhala] 2005-08 +# Defined TXT keys: +# txtvers +lanrevagent 3970/tcp # LANrev Agent [Martin_Bestmann_3] [Martin_Bestmann_3] server=
+# vers= +# build= +# id= +lanrevagent 3970/udp # LANrev Agent [Martin_Bestmann_3] [Martin_Bestmann_3] server=
+lanrevserver 3971/tcp # LANrev Server [Martin_Bestmann_3] [Martin_Bestmann_3] 2005-08 +lanrevserver 3971/udp # LANrev Server [Martin_Bestmann_3] [Martin_Bestmann_3] 2005-08 +iconp 3972/tcp # ict-control Protocol [Roel_Harbers] [Roel_Harbers] 2005-08 +iconp 3972/udp # ict-control Protocol [Roel_Harbers] [Roel_Harbers] 2005-08 +progistics 3973/tcp # ConnectShip Progistics [Jeff_Skaistis] [Jeff_Skaistis] 2005-08 +progistics 3973/udp # ConnectShip Progistics [Jeff_Skaistis] [Jeff_Skaistis] 2005-08 +citysearch 3974/tcp # Remote Applicant Tracking [Marc_Castelluccio] [Marc_Castelluccio] 2005-08 +citysearch 3974/udp # Remote Applicant Tracking [Marc_Castelluccio] [Marc_Castelluccio] 2005-08 +airshot 3975/tcp # Air Shot [Shingo_Kimura] [Shingo_Kimura] 2005-08 +airshot 3975/udp # Air Shot [Shingo_Kimura] [Shingo_Kimura] 2005-08 +opswagent 3976/tcp # Opsware Agent +opswagent 3976/udp # Opsware Agent +opswmanager 3977/tcp # Opsware Manager [Dave_Jagoda] [Dave_Jagoda] 2006-06 +opswmanager 3977/udp # Opsware Manager [Dave_Jagoda] [Dave_Jagoda] 2006-06 +secure-cfg-svr 3978/tcp # Secured Configuration Server [Dr_Anupam_Bharali] [Dr_Anupam_Bharali] 2006-06 +secure-cfg-svr 3978/udp # Secured Configuration Server [Dr_Anupam_Bharali] [Dr_Anupam_Bharali] 2006-06 +smwan 3979/tcp # Smith Micro Wide Area [David_Sperling] [David_Sperling] 2006-06 +# Network Service +smwan 3979/udp # Smith Micro Wide Area [David_Sperling] [David_Sperling] 2006-06 +acms 3980/tcp # Aircraft Cabin Management [Dustin_Zack] [Dustin_Zack] 2006-06 +acms 3980/udp # Aircraft Cabin Management [Dustin_Zack] [Dustin_Zack] 2006-06 +starfish 3981/tcp # Starfish System Admin [Dan_Razzell] [Dan_Razzell] 2006-06 +starfish 3981/udp # Starfish System Admin [Dan_Razzell] [Dan_Razzell] 2006-06 +eis 3982/tcp # ESRI Image Server +eis 3982/udp # ESRI Image Server +eisp 3983/tcp # ESRI Image Service [Keith_Ryden] [Keith_Ryden] 2006-07 +eisp 3983/udp # ESRI Image Service [Keith_Ryden] [Keith_Ryden] 2006-07 +mapper-nodemgr 3984/tcp # MAPPER network node manager +mapper-nodemgr 3984/udp # MAPPER network node manager +mapper-mapethd 3985/tcp # MAPPER TCP/IP server +mapper-mapethd 3985/udp # MAPPER TCP/IP server +# MAPPER workstation server +# +mapper-ws-ethd 3986/tcp # IANA assigned this [John_C_Horton] [John_C_Horton] +# "mapper-ws_ethd". +# This entry is an alias to "mapper-ws-ethd". This entry is now +mapper-ws_ethd 3986/tcp # MAPPER workstation server [John_C_Horton] [John_C_Horton] historic, not usable for use with many common service +# +mapper-ws-ethd 3986/udp # IANA assigned this [John_C_Horton] [John_C_Horton] +mapper-ws_ethd 3986/udp # MAPPER workstation server [John_C_Horton] [John_C_Horton] historic, not usable for use with many common service +centerline 3987/tcp # Centerline [Mark_Simpson] [Mark_Simpson] +centerline 3987/udp # Centerline [Mark_Simpson] [Mark_Simpson] +dcs-config 3988/tcp # DCS Configuration Port [Ian_Cargill] [Ian_Cargill] 2005-08 +dcs-config 3988/udp # DCS Configuration Port [Ian_Cargill] [Ian_Cargill] 2005-08 +bv-queryengine 3989/tcp # BindView-Query Engine +bv-queryengine 3989/udp # BindView-Query Engine +bv-is 3990/tcp # BindView-IS +bv-is 3990/udp # BindView-IS +bv-smcsrv 3991/tcp # BindView-SMCServer +bv-smcsrv 3991/udp # BindView-SMCServer +bv-ds 3992/tcp # BindView-DirectoryServer +bv-ds 3992/udp # BindView-DirectoryServer +bv-agent 3993/tcp # BindView-Agent [David_A_Gayler] [David_A_Gayler] 2005-08 +bv-agent 3993/udp # BindView-Agent [David_A_Gayler] [David_A_Gayler] 2005-08 +# 3994 Unassigned 2008-04-24 +iss-mgmt-ssl 3995/tcp # ISS Management Svcs SSL [Wes_Wilson] [Wes_Wilson] 2003-10 +iss-mgmt-ssl 3995/udp # ISS Management Svcs SSL [Wes_Wilson] [Wes_Wilson] 2003-10 +abcsoftware 3996/tcp # abcsoftware-01 [Andrew_Zimmerman] [Andrew_Zimmerman] 2004-06 +abcsoftware 3996/udp # abcsoftware-01 [Andrew_Zimmerman] [Andrew_Zimmerman] 2004-06 +agentsease-db 3997/tcp # aes_db [Colin_Hughes] [Colin_Hughes] 2006-02 +agentsease-db 3997/udp # aes_db [Colin_Hughes] [Colin_Hughes] 2006-02 +dnx 3998/tcp # Distributed Nagios Executor [John_Calcote] [John_Calcote] 2007-11-06 +dnx 3998/udp # Distributed Nagios Executor [John_Calcote] [John_Calcote] 2007-11-06 +nvcnet 3999/tcp # Norman distributes scanning [Kristian_A_Bognaes] [Kristian_A_Bognaes] 2007-11-06 +# service +nvcnet 3999/udp # Norman distributes scanning [Kristian_A_Bognaes] [Kristian_A_Bognaes] 2007-11-06 +terabase 4000/tcp # Terabase [Thor_Olson] [Thor_Olson] Potential Conflict of ports PORT 4000 also used by ICQ +# +terabase 4000/udp # Terabase [Thor_Olson] [Thor_Olson] Potential Conflict of ports PORT 4000 also used by ICQ +newoak 4001/tcp # NewOak [Jim_Philippou] [Jim_Philippou] +newoak 4001/udp # NewOak [Jim_Philippou] [Jim_Philippou] +pxc-spvr-ft 4002/tcp # pxc-spvr-ft +pxc-spvr-ft 4002/udp # pxc-spvr-ft +pxc-splr-ft 4003/tcp # pxc-splr-ft +pxc-splr-ft 4003/udp # pxc-splr-ft +pxc-roid 4004/tcp # pxc-roid +pxc-roid 4004/udp # pxc-roid +pxc-pin 4005/tcp # pxc-pin +pxc-pin 4005/udp # pxc-pin +pxc-spvr 4006/tcp # pxc-spvr +pxc-spvr 4006/udp # pxc-spvr +pxc-splr 4007/tcp # pxc-splr [Dave_Nesbitt] [Dave_Nesbitt] +pxc-splr 4007/udp # pxc-splr [Dave_Nesbitt] [Dave_Nesbitt] +netcheque 4008/tcp # NetCheque accounting [B_Clifford_Neuman] [B_Clifford_Neuman] +netcheque 4008/udp # NetCheque accounting [B_Clifford_Neuman] [B_Clifford_Neuman] +chimera-hwm 4009/tcp # Chimera HWM [Ken_Anderson] [Ken_Anderson] +chimera-hwm 4009/udp # Chimera HWM [Ken_Anderson] [Ken_Anderson] +samsung-unidex 4010/tcp # Samsung Unidex [Konstantin_V_Vyazni] [Konstantin_V_Vyazni] +samsung-unidex 4010/udp # Samsung Unidex [Konstantin_V_Vyazni] [Konstantin_V_Vyazni] +altserviceboot 4011/tcp # Alternate Service Boot [Eric_Dittert] [Eric_Dittert] +altserviceboot 4011/udp # Alternate Service Boot [Eric_Dittert] [Eric_Dittert] +pda-gate 4012/tcp # PDA Gate [Masakuni_Okada] [Masakuni_Okada] +pda-gate 4012/udp # PDA Gate [Masakuni_Okada] [Masakuni_Okada] +acl-manager 4013/tcp # ACL Manager [Toru_Murai] [Toru_Murai] +acl-manager 4013/udp # ACL Manager [Toru_Murai] [Toru_Murai] +taiclock 4014/tcp # TAICLOCK [Dan_Bernstein_3] [Dan_Bernstein_3] +taiclock 4014/udp # TAICLOCK [Dan_Bernstein_3] [Dan_Bernstein_3] +talarian-mcast1 4015/tcp # Talarian Mcast +talarian-mcast1 4015/udp # Talarian Mcast +talarian-mcast2 4016/tcp # Talarian Mcast +talarian-mcast2 4016/udp # Talarian Mcast +talarian-mcast3 4017/tcp # Talarian Mcast +talarian-mcast3 4017/udp # Talarian Mcast +talarian-mcast4 4018/tcp # Talarian Mcast +talarian-mcast4 4018/udp # Talarian Mcast +talarian-mcast5 4019/tcp # Talarian Mcast [Geoff_Mendal] [Geoff_Mendal] +talarian-mcast5 4019/udp # Talarian Mcast [Geoff_Mendal] [Geoff_Mendal] +trap 4020/tcp # TRAP Port [Jeffrey_C_Byrd] [Jeffrey_C_Byrd] +trap 4020/udp # TRAP Port [Jeffrey_C_Byrd] [Jeffrey_C_Byrd] +nexus-portal 4021/tcp # Nexus Portal [Damian_Tarnawsky] [Damian_Tarnawsky] +nexus-portal 4021/udp # Nexus Portal [Damian_Tarnawsky] [Damian_Tarnawsky] +dnox 4022/tcp # DNOX [Leo_Rathnayake] [Leo_Rathnayake] +dnox 4022/udp # DNOX [Leo_Rathnayake] [Leo_Rathnayake] +esnm-zoning 4023/tcp # ESNM Zoning Port [Yong_Cai] [Yong_Cai] +esnm-zoning 4023/udp # ESNM Zoning Port [Yong_Cai] [Yong_Cai] +tnp1-port 4024/tcp # TNP1 User Port [Tony_Gibbs] [Tony_Gibbs] +tnp1-port 4024/udp # TNP1 User Port [Tony_Gibbs] [Tony_Gibbs] +partimage 4025/tcp # Partition Image Port [Franck_Ladurelle] [Franck_Ladurelle] +partimage 4025/udp # Partition Image Port [Franck_Ladurelle] [Franck_Ladurelle] +as-debug 4026/tcp # Graphical Debug Server [Steve_Halverson] [Steve_Halverson] +as-debug 4026/udp # Graphical Debug Server [Steve_Halverson] [Steve_Halverson] +bxp 4027/tcp # bitxpress [Morgan_Doyle] [Morgan_Doyle] +bxp 4027/udp # bitxpress [Morgan_Doyle] [Morgan_Doyle] +dtserver-port 4028/tcp # DTServer Port [Stephen_Aikins] [Stephen_Aikins] +dtserver-port 4028/udp # DTServer Port [Stephen_Aikins] [Stephen_Aikins] +ip-qsig 4029/tcp # IP Q signaling protocol [Toru_Tachibana] [Toru_Tachibana] +ip-qsig 4029/udp # IP Q signaling protocol [Toru_Tachibana] [Toru_Tachibana] +jdmn-port 4030/tcp # Accell/JSP Daemon Port [Daegis_Inc] [Chris_Anderson] 2012-07-12 +jdmn-port 4030/udp # Accell/JSP Daemon Port [Daegis_Inc] [Chris_Anderson] 2012-07-12 +suucp 4031/tcp # UUCP over SSL [Harald_Welte] [Harald_Welte] +suucp 4031/udp # UUCP over SSL [Harald_Welte] [Harald_Welte] +vrts-auth-port 4032/tcp # VERITAS Authorization [Stefan_Winkel] [Stefan_Winkel] +vrts-auth-port 4032/udp # VERITAS Authorization [Stefan_Winkel] [Stefan_Winkel] +sanavigator 4033/tcp # SANavigator Peer Port [Robert_J_Chansler] [Robert_J_Chansler] +sanavigator 4033/udp # SANavigator Peer Port [Robert_J_Chansler] [Robert_J_Chansler] +ubxd 4034/tcp # Ubiquinox Daemon [Kit_Smithers] [Kit_Smithers] +ubxd 4034/udp # Ubiquinox Daemon [Kit_Smithers] [Kit_Smithers] +wap-push-http 4035/tcp # WAP Push OTA-HTTP port +wap-push-http 4035/udp # WAP Push OTA-HTTP port +wap-push-https 4036/tcp # WAP Push OTA-HTTP secure [Matthieu_Lachance] [Matthieu_Lachance] +wap-push-https 4036/udp # WAP Push OTA-HTTP secure [Matthieu_Lachance] [Matthieu_Lachance] +ravehd 4037/tcp # RaveHD network control [Jason_Howard] [Jason_Howard] 2006-01 +ravehd 4037/udp # RaveHD network control [Jason_Howard] [Jason_Howard] 2006-01 +fazzt-ptp 4038/tcp # Fazzt Point-To-Point +fazzt-ptp 4038/udp # Fazzt Point-To-Point +fazzt-admin 4039/tcp # Fazzt Administration [Lewis_Wolfgang] [Lewis_Wolfgang] 2006-05 +fazzt-admin 4039/udp # Fazzt Administration [Lewis_Wolfgang] [Lewis_Wolfgang] 2006-05 +yo-main 4040/tcp # Yo.net main service [John_Tintor] [John_Tintor] +yo-main 4040/udp # Yo.net main service [John_Tintor] [John_Tintor] +houston 4041/tcp # Rocketeer-Houston [Johnny_C_Norris_II] [Johnny_C_Norris_II] +houston 4041/udp # Rocketeer-Houston [Johnny_C_Norris_II] [Johnny_C_Norris_II] +ldxp 4042/tcp # LDXP [Craig_Calef] [Craig_Calef] +ldxp 4042/udp # LDXP [Craig_Calef] [Craig_Calef] +nirp 4043/tcp # Neighbour Identity +# Resolution +nirp 4043/udp # Neighbour Identity +ltp 4044/tcp # Location Tracking Protocol +ltp 4044/udp # Location Tracking Protocol +npp 4045/tcp # Network Paging Protocol USE: Port +# 4045 used by +# NFS +npp 4045/udp # Network Paging Protocol USE: Port +acp-proto 4046/tcp # Accounting Protocol +acp-proto 4046/udp # Accounting Protocol +ctp-state 4047/tcp # Context Transfer Protocol [Hesham_Soliman] [Hesham_Soliman] 2005-11 +ctp-state 4047/udp # Context Transfer Protocol [Hesham_Soliman] [Hesham_Soliman] 2005-11 +# 4048 Unassigned 2008-04-24 +wafs 4049/tcp # Wide Area File Services [Yuval_Hager] [Yuval_Hager] 2006-01 +wafs 4049/udp # Wide Area File Services [Yuval_Hager] [Yuval_Hager] 2006-01 +cisco-wafs 4050/tcp # Wide Area File Services [Etai_Lev_Ran] [Etai_Lev_Ran] 2005-02 +cisco-wafs 4050/udp # Wide Area File Services [Etai_Lev_Ran] [Etai_Lev_Ran] 2005-02 +cppdp 4051/tcp # Cisco Peer to Peer [Susan_Sauter] [Susan_Sauter] 2006-07 +# Distribution Protocol +cppdp 4051/udp # Cisco Peer to Peer [Susan_Sauter] [Susan_Sauter] 2006-07 +interact 4052/tcp # VoiceConnect Interact [Jonathan_Custance] [Jonathan_Custance] 2006-07 +interact 4052/udp # VoiceConnect Interact [Jonathan_Custance] [Jonathan_Custance] 2006-07 +ccu-comm-1 4053/tcp # CosmoCall Universe +# Communications Port 1 +ccu-comm-1 4053/udp # CosmoCall Universe +ccu-comm-2 4054/tcp # CosmoCall Universe +# Communications Port 2 +ccu-comm-2 4054/udp # CosmoCall Universe +ccu-comm-3 4055/tcp # CosmoCall Universe [Steve_Dellutri_2] [Steve_Dellutri_2] 2006-07 +# Communications Port 3 +ccu-comm-3 4055/udp # CosmoCall Universe [Steve_Dellutri_2] [Steve_Dellutri_2] 2006-07 +lms 4056/tcp # Location Message Service [Sergey_Burnevsky] [Sergey_Burnevsky] 2006-08 +lms 4056/udp # Location Message Service [Sergey_Burnevsky] [Sergey_Burnevsky] 2006-08 +wfm 4057/tcp # Servigistics WFM server [Yuri_Machkasov_2] [Yuri_Machkasov_2] 2006-08 +wfm 4057/udp # Servigistics WFM server [Yuri_Machkasov_2] [Yuri_Machkasov_2] 2006-08 +kingfisher 4058/tcp # Kingfisher protocol [Vaughan_Wesson] [Vaughan_Wesson] 2006-10 +kingfisher 4058/udp # Kingfisher protocol [Vaughan_Wesson] [Vaughan_Wesson] 2006-10 +dlms-cosem 4059/tcp # DLMS/COSEM [Gyozo_Kmethy] [Gyozo_Kmethy] 2006-11 +dlms-cosem 4059/udp # DLMS/COSEM [Gyozo_Kmethy] [Gyozo_Kmethy] 2006-11 +# DSMETER Inter-Agent Transfer +# Channel +# +dsmeter-iatc 4060/tcp # IANA assigned this [John_McCann] [John_McCann] 2006-12 +# "dsmeter_iatc". +# DSMETER Inter-Agent Transfer This entry is an alias to "dsmeter-iatc". This entry is now +dsmeter_iatc 4060/tcp # Channel [John_McCann] [John_McCann] 2006-12 historic, not usable for use with many common service +# +dsmeter-iatc 4060/udp # IANA assigned this [John_McCann] [John_McCann] 2006-12 +dsmeter_iatc 4060/udp # Channel [John_McCann] [John_McCann] 2006-12 historic, not usable for use with many common service +ice-location 4061/tcp # Ice Location Service (TCP) +ice-location 4061/udp # Ice Location Service (TCP) +ice-slocation 4062/tcp # Ice Location Service (SSL) +ice-slocation 4062/udp # Ice Location Service (SSL) +ice-router 4063/tcp # Ice Firewall Traversal +# Service (TCP) +ice-router 4063/udp # Ice Firewall Traversal +ice-srouter 4064/tcp # Ice Firewall Traversal [Bernard_Normier] [Bernard_Normier] 2006-12 +# Service (SSL) +ice-srouter 4064/udp # Ice Firewall Traversal [Bernard_Normier] [Bernard_Normier] 2006-12 +# Avanti Common Data +# +avanti-cdp 4065/tcp # IANA assigned this [Steve_Meyer_Sr] [Steve_Meyer_Sr] 2007-02 +# "avanti_cdp". +# This entry is an alias to "avanti-cdp". This entry is now +avanti_cdp 4065/tcp # Avanti Common Data [Steve_Meyer_Sr] [Steve_Meyer_Sr] 2007-02 historic, not usable for use with many common service +# +avanti-cdp 4065/udp # IANA assigned this [Steve_Meyer_Sr] [Steve_Meyer_Sr] 2007-02 +avanti_cdp 4065/udp # Avanti Common Data [Steve_Meyer_Sr] [Steve_Meyer_Sr] 2007-02 historic, not usable for use with many common service +pmas 4066/tcp # Performance Measurement and [Zenon_Fortuna] [Zenon_Fortuna] 2007-02 +# Analysis +pmas 4066/udp # Performance Measurement and [Zenon_Fortuna] [Zenon_Fortuna] 2007-02 +idp 4067/tcp # Information Distribution [Michaela_Vanderveen] [Michaela_Vanderveen] 2007-02 +idp 4067/udp # Information Distribution [Michaela_Vanderveen] [Michaela_Vanderveen] 2007-02 +ipfltbcst 4068/tcp # IP Fleet Broadcast [Trung_Huu_Tran] [Trung_Huu_Tran] 2007-03 +ipfltbcst 4068/udp # IP Fleet Broadcast [Trung_Huu_Tran] [Trung_Huu_Tran] 2007-03 +minger 4069/tcp # Minger Email Address [Arvel_Hathcock] [Arvel_Hathcock] 2007-03 +# Validation Service +minger 4069/udp # Minger Email Address [Arvel_Hathcock] [Arvel_Hathcock] 2007-03 +tripe 4070/tcp # Trivial IP Encryption [Mark_Wooding] [Mark_Wooding] 2007-07-10 +# (TrIPE) +tripe 4070/udp # Trivial IP Encryption [Mark_Wooding] [Mark_Wooding] 2007-07-10 +aibkup 4071/tcp # Automatically Incremental [Volker_Wiegand] [Volker_Wiegand] 2007-07-10 +# Backup +aibkup 4071/udp # Automatically Incremental [Volker_Wiegand] [Volker_Wiegand] 2007-07-10 +zieto-sock 4072/tcp # Zieto Socket Communications [Malcolm_McLean] [Malcolm_McLean] 2007-07-19 +zieto-sock 4072/udp # Zieto Socket Communications [Malcolm_McLean] [Malcolm_McLean] 2007-07-19 +iRAPP 4073/tcp # iRAPP Server Protocol [Vladimir_Bickov] [Vladimir_Bickov] 2007-08-20 +iRAPP 4073/udp # iRAPP Server Protocol [Vladimir_Bickov] [Vladimir_Bickov] 2007-08-20 +cequint-cityid 4074/tcp # Cequint City ID UI trigger [Phill_Goeckler] [Phill_Goeckler] 2007-08-20 +cequint-cityid 4074/udp # Cequint City ID UI trigger [Phill_Goeckler] [Phill_Goeckler] 2007-08-20 +perimlan 4075/tcp # ISC Alarm Message Service [Bernie_Malkowski] [Bernie_Malkowski] 2007-08-20 +perimlan 4075/udp # ISC Alarm Message Service [Bernie_Malkowski] [Bernie_Malkowski] 2007-08-20 +seraph 4076/tcp # Seraph DCS [Jason_Spence] [Jason_Spence] 2008-01-22 +seraph 4076/udp # Seraph DCS [Jason_Spence] [Jason_Spence] 2008-01-22 +# 4077 tcp Reserved +ascomalarm 4077/udp # Ascom IP Alarming [Ascom_Austria_GmbH] [Ascom_Austria_GmbH] 2008-05-01 +cssp 4078/tcp # Coordinated Security Service [Michael_McDaniels] [Michael_McDaniels] 2008-05-01 +# 4078 udp Reserved +santools 4079/tcp # SANtools Diagnostic Server [David_A_Lethe_2] [David_A_Lethe_2] 2008-05-01 +santools 4079/udp # SANtools Diagnostic Server [David_A_Lethe_2] [David_A_Lethe_2] 2008-05-01 +lorica-in 4080/tcp # Lorica inside facing +lorica-in 4080/udp # Lorica inside facing +lorica-in-sec 4081/tcp # Lorica inside facing (SSL) +lorica-in-sec 4081/udp # Lorica inside facing (SSL) +lorica-out 4082/tcp # Lorica outside facing +lorica-out 4082/udp # Lorica outside facing +lorica-out-sec 4083/tcp # Lorica outside facing (SSL) [Johannes_Skov_Frands] [Johannes_Skov_Frands] 2008-02-28 +lorica-out-sec 4083/udp # Lorica outside facing (SSL) [Johannes_Skov_Frands] [Johannes_Skov_Frands] 2008-02-28 +# 4084 tcp Reserved +fortisphere-vm 4084/udp # Fortisphere VM Service [Daniel_Becker_4] [Daniel_Becker_4] 2008-06-03 +ezmessagesrv 4085/tcp # EZNews Newsroom Message [Gerald_R_Jensen] [Gerald_R_Jensen] 2008-06-05 +# 4085 udp Reserved +# 4086 tcp Reserved +ftsync 4086/udp # Firewall/NAT state table [Heiner_Erne] [Heiner_Erne] 2008-06-06 +# synchronization +applusservice 4087/tcp # APplus Service [Thomas_Boerkel] [Thomas_Boerkel] 2008-06-05 +# 4087 udp Reserved +npsp 4088/tcp # Noah Printing Service [Hiromi_Ohara] [Hiromi_Ohara] 2008-06-18 +# 4088 udp Reserved +opencore 4089/tcp # OpenCORE Remote Control [Pim_van_Riezen] [Pim_van_Riezen] 2006-07 +opencore 4089/udp # OpenCORE Remote Control [Pim_van_Riezen] [Pim_van_Riezen] 2006-07 +omasgport 4090/tcp # OMA BCAST Service Guide [Mark_Lipford] [Mark_Lipford] 2006-07 +omasgport 4090/udp # OMA BCAST Service Guide [Mark_Lipford] [Mark_Lipford] 2006-07 +ewinstaller 4091/tcp # EminentWare Installer +ewinstaller 4091/udp # EminentWare Installer +ewdgs 4092/tcp # EminentWare DGS [David_A_Gayler_2] [David_A_Gayler_2] 2006-07 +ewdgs 4092/udp # EminentWare DGS [David_A_Gayler_2] [David_A_Gayler_2] 2006-07 +pvxpluscs 4093/tcp # Pvx Plus CS Host [Michael_King] [Michael_King] 2006-07 +pvxpluscs 4093/udp # Pvx Plus CS Host [Michael_King] [Michael_King] 2006-07 +sysrqd 4094/tcp # sysrq daemon [Julien_Danjou] [Julien_Danjou] 2006-07 +sysrqd 4094/udp # sysrq daemon [Julien_Danjou] [Julien_Danjou] 2006-07 +xtgui 4095/tcp # xtgui information service [Jim_Robanske] [Jim_Robanske] 2006-05 +xtgui 4095/udp # xtgui information service [Jim_Robanske] [Jim_Robanske] 2006-05 +bre 4096/tcp # BRE (Bridge Relay Element) [Stephen_Egbert] [Stephen_Egbert] +bre 4096/udp # BRE (Bridge Relay Element) [Stephen_Egbert] [Stephen_Egbert] +patrolview 4097/tcp # Patrol View [Portnoy_Boxman] [Portnoy_Boxman] +patrolview 4097/udp # Patrol View [Portnoy_Boxman] [Portnoy_Boxman] +drmsfsd 4098/tcp # drmsfsd [Masao_Iwai] [Masao_Iwai] +drmsfsd 4098/udp # drmsfsd [Masao_Iwai] [Masao_Iwai] +dpcp 4099/tcp # DPCP [John_Croft] [John_Croft] +dpcp 4099/udp # DPCP [John_Croft] [John_Croft] +igo-incognito 4100/tcp # IGo Incognito Data Port [Paul_Reddy_2] [Paul_Reddy_2] 2002-02 +igo-incognito 4100/udp # IGo Incognito Data Port [Paul_Reddy_2] [Paul_Reddy_2] 2002-02 +brlp-0 4101/tcp # Braille protocol +brlp-0 4101/udp # Braille protocol +brlp-1 4102/tcp # Braille protocol +brlp-1 4102/udp # Braille protocol +brlp-2 4103/tcp # Braille protocol +brlp-2 4103/udp # Braille protocol +brlp-3 4104/tcp # Braille protocol [Sebastien_Hinderer] [Sebastien_Hinderer] 2006-03 +brlp-3 4104/udp # Braille protocol [Sebastien_Hinderer] [Sebastien_Hinderer] 2006-03 +shofar 4105/tcp # Shofar [ShofarNexus] [John_Kozlowski] 2006-07 2012-02-20 +shofar 4105/udp # Shofar [ShofarNexus] [John_Kozlowski] 2006-07 2012-02-20 +synchronite 4106/tcp # Synchronite [James_Figgins] [James_Figgins] 2006-07 +synchronite 4106/udp # Synchronite [James_Figgins] [James_Figgins] 2006-07 +j-ac 4107/tcp # JDL Accounting LAN Service [Takashi_Sahara] [Takashi_Sahara] 2006-09 +j-ac 4107/udp # JDL Accounting LAN Service [Takashi_Sahara] [Takashi_Sahara] 2006-09 +accel 4108/tcp # ACCEL [Masahiro_Koiwai] [Masahiro_Koiwai] 2006-10 +accel 4108/udp # ACCEL [Masahiro_Koiwai] [Masahiro_Koiwai] 2006-10 +izm 4109/tcp # Instantiated Zero-control [David_Miller] [David_Miller] 2007-02 +# Messaging +izm 4109/udp # Instantiated Zero-control [David_Miller] [David_Miller] 2007-02 +g2tag 4110/tcp # G2 RFID Tag Telemetry Data [David_Goodall] [David_Goodall] 2007-02 +g2tag 4110/udp # G2 RFID Tag Telemetry Data [David_Goodall] [David_Goodall] 2007-02 +xgrid 4111/tcp # Xgrid [David_Kramer] [David_Kramer] 2004-11 +xgrid 4111/udp # Xgrid [David_Kramer] [David_Kramer] 2004-11 +apple-vpns-rp 4112/tcp # Apple VPN Server Reporting [Christophe_Allie] [Christophe_Allie] 2006-08 +apple-vpns-rp 4112/udp # Apple VPN Server Reporting [Christophe_Allie] [Christophe_Allie] 2006-08 +aipn-reg 4113/tcp # AIPN LS Registration [Qiang_Zhang_2] [Qiang_Zhang_2] 2006-10 +aipn-reg 4113/udp # AIPN LS Registration [Qiang_Zhang_2] [Qiang_Zhang_2] 2006-10 +jomamqmonitor 4114/tcp # JomaMQMonitor [Marcel_Hofstetter] [Marcel_Hofstetter] 2003-01 +jomamqmonitor 4114/udp # JomaMQMonitor [Marcel_Hofstetter] [Marcel_Hofstetter] 2003-01 +cds 4115/tcp # CDS Transfer Agent [Neil_Coggins] [Neil_Coggins] 2006-07 +cds 4115/udp # CDS Transfer Agent [Neil_Coggins] [Neil_Coggins] 2006-07 +smartcard-tls 4116/tcp # smartcard-TLS [Ilan_Mahalal] [Ilan_Mahalal] 2006-04 +smartcard-tls 4116/udp # smartcard-TLS [Ilan_Mahalal] [Ilan_Mahalal] 2006-04 +hillrserv 4117/tcp # Hillr Connection Manager [Freddy_A_Ayuso_Hens] [Freddy_A_Ayuso_Hens] 2008-05-22 +hillrserv 4117/udp # Hillr Connection Manager [Freddy_A_Ayuso_Hens] [Freddy_A_Ayuso_Hens] 2008-05-22 +netscript 4118/tcp # Netadmin Systems NETscript [Goran_Runfeldt] [Goran_Runfeldt] 2006-12 +netscript 4118/udp # Netadmin Systems NETscript [Goran_Runfeldt] [Goran_Runfeldt] 2006-12 +assuria-slm 4119/tcp # Assuria Log Manager [Nick_Connor] [Nick_Connor] 2006-12 +assuria-slm 4119/udp # Assuria Log Manager [Nick_Connor] [Nick_Connor] 2006-12 +# 4120 Unassigned 2007-02-01 +e-builder 4121/tcp # e-Builder Application [James_Caza] [James_Caza] 2006-12 +e-builder 4121/udp # e-Builder Application [James_Caza] [James_Caza] 2006-12 +fprams 4122/tcp # Fiber Patrol Alarm Service [Zhizhong_Zhuang] [Zhizhong_Zhuang] 2006-12 +fprams 4122/udp # Fiber Patrol Alarm Service [Zhizhong_Zhuang] [Zhizhong_Zhuang] 2006-12 +z-wave 4123/tcp # Z-Wave Protocol [Sigma_Designs_Inc_2] [Anders_Brandt][Mary_Miller] 2007-02 2012-11-08 +z-wave 4123/udp # Z-Wave Protocol [Sigma_Designs_Inc_2] [Anders_Brandt][Mary_Miller] 2007-02 2012-11-08 +tigv2 4124/tcp # Rohill TetraNode Ip Gateway [Bert_Bouwers] [Bert_Bouwers] 2007-05 +# v2 +tigv2 4124/udp # Rohill TetraNode Ip Gateway [Bert_Bouwers] [Bert_Bouwers] 2007-05 +opsview-envoy 4125/tcp # Opsview Envoy [Ton_Voon] [Ton_Voon] 2008-09-26 +opsview-envoy 4125/udp # Opsview Envoy [Ton_Voon] [Ton_Voon] 2008-09-26 +ddrepl 4126/tcp # Data Domain Replication [Pratik_Wadher] [Pratik_Wadher] 2007-05 +ddrepl 4126/udp # Data Domain Replication [Pratik_Wadher] [Pratik_Wadher] 2007-05 +unikeypro 4127/tcp # NetUniKeyServer [Raymond_Chaw] [Raymond_Chaw] 2007-05 +unikeypro 4127/udp # NetUniKeyServer [Raymond_Chaw] [Raymond_Chaw] 2007-05 +nufw 4128/tcp # NuFW decision delegation +nufw 4128/udp # NuFW decision delegation +nuauth 4129/tcp # NuFW authentication protocol [Eric_Leblond] [Eric_Leblond] 2007-06 +nuauth 4129/udp # NuFW authentication protocol [Eric_Leblond] [Eric_Leblond] 2007-06 +fronet 4130/tcp # FRONET message protocol [Christer_Nygren] [Christer_Nygren] 2007-08-07 +fronet 4130/udp # FRONET message protocol [Christer_Nygren] [Christer_Nygren] 2007-08-07 +stars 4131/tcp # Global Maintech Stars [Harry_Goldschmitt_2] [Harry_Goldschmitt_2] 2007-06 +stars 4131/udp # Global Maintech Stars [Harry_Goldschmitt_2] [Harry_Goldschmitt_2] 2007-06 +# NUTS Daemon +# +nuts-dem 4132/tcp # IANA assigned this +# "nuts_dem". +# This entry is an alias to "nuts-dem". This entry is now +nuts_dem 4132/tcp # NUTS Daemon historic, not usable for use with many common service +# +nuts-dem 4132/udp # IANA assigned this +nuts_dem 4132/udp # NUTS Daemon historic, not usable for use with many common service +# NUTS Bootp Server +# +nuts-bootp 4133/tcp # IANA assigned this [Martin_Freiss_2] [Martin_Freiss_2] +# "nuts_bootp". +# This entry is an alias to "nuts-bootp". This entry is now +nuts_bootp 4133/tcp # NUTS Bootp Server [Martin_Freiss_2] [Martin_Freiss_2] historic, not usable for use with many common service +# +nuts-bootp 4133/udp # IANA assigned this [Martin_Freiss_2] [Martin_Freiss_2] +nuts_bootp 4133/udp # NUTS Bootp Server [Martin_Freiss_2] [Martin_Freiss_2] historic, not usable for use with many common service +nifty-hmi 4134/tcp # NIFTY-Serve HMI protocol [Ryuichi_Suzuki] [Ryuichi_Suzuki] +nifty-hmi 4134/udp # NIFTY-Serve HMI protocol [Ryuichi_Suzuki] [Ryuichi_Suzuki] +cl-db-attach 4135/tcp # Classic Line Database Server +# Attach +cl-db-attach 4135/udp # Classic Line Database Server +cl-db-request 4136/tcp # Classic Line Database Server +# Request +cl-db-request 4136/udp # Classic Line Database Server +cl-db-remote 4137/tcp # Classic Line Database Server [Arno_Kirmeir] [Arno_Kirmeir] 2007-01 +# Remote +cl-db-remote 4137/udp # Classic Line Database Server [Arno_Kirmeir] [Arno_Kirmeir] 2007-01 +nettest 4138/tcp # nettest [David_Borman] [David_Borman] 2003-03 +nettest 4138/udp # nettest [David_Borman] [David_Borman] 2003-03 +thrtx 4139/tcp # Imperfect Networks Server [Dinkar_Chivaluri_2] [Dinkar_Chivaluri_2] 2006-02 +thrtx 4139/udp # Imperfect Networks Server [Dinkar_Chivaluri_2] [Dinkar_Chivaluri_2] 2006-02 +# Cedros Fraud Detection +# +cedros-fds 4140/tcp # IANA assigned this [Markus_Michels_3] [Markus_Michels_3] 2006-10 +# "cedros_fds". +# Cedros Fraud Detection This entry is an alias to "cedros-fds". This entry is now +cedros_fds 4140/tcp # System [Markus_Michels_3] [Markus_Michels_3] 2006-10 historic, not usable for use with many common service +# +cedros-fds 4140/udp # IANA assigned this [Markus_Michels_3] [Markus_Michels_3] 2006-10 +cedros_fds 4140/udp # System [Markus_Michels_3] [Markus_Michels_3] 2006-10 historic, not usable for use with many common service +oirtgsvc 4141/tcp # Workflow Server +oirtgsvc 4141/udp # Workflow Server +oidocsvc 4142/tcp # Document Server +oidocsvc 4142/udp # Document Server +oidsr 4143/tcp # Document Replication [Norman_Brie] [Norman_Brie] +oidsr 4143/udp # Document Replication [Norman_Brie] [Norman_Brie] +# 4144 Unassigned Compuserve (unoffically) is using port 4144 +vvr-control 4145/tcp # VVR Control [Ming_Xu] [Ming_Xu] +vvr-control 4145/udp # VVR Control [Ming_Xu] [Ming_Xu] +tgcconnect 4146/tcp # TGCConnect Beacon [Brian_Becker] [Brian_Becker] 2006-10 +tgcconnect 4146/udp # TGCConnect Beacon [Brian_Becker] [Brian_Becker] 2006-10 +vrxpservman 4147/tcp # Multum Service Manager [Scott_Mager] [Scott_Mager] 2006-10 +vrxpservman 4147/udp # Multum Service Manager [Scott_Mager] [Scott_Mager] 2006-10 +hhb-handheld 4148/tcp # HHB Handheld Client [Steven_G_Loughner] [Steven_G_Loughner] 2007-03 +hhb-handheld 4148/udp # HHB Handheld Client [Steven_G_Loughner] [Steven_G_Loughner] 2007-03 +agslb 4149/tcp # A10 GSLB Service [John_Chiong] [John_Chiong] 2007-07-02 +agslb 4149/udp # A10 GSLB Service [John_Chiong] [John_Chiong] 2007-07-02 +PowerAlert-nsa 4150/tcp # PowerAlert Network Shutdown [Mike_Delgrosso_2] [Mike_Delgrosso_2] 2007-07-02 +PowerAlert-nsa 4150/udp # PowerAlert Network Shutdown [Mike_Delgrosso_2] [Mike_Delgrosso_2] 2007-07-02 +# Men & Mice Remote Control +# +menandmice-noh 4151/tcp # IANA assigned this [Eggert_Thorlacius] [Eggert_Thorlacius] 2007-08-30 +# "menandmice_noh". +# This entry is an alias to "menandmice-noh". This entry is now +menandmice_noh 4151/tcp # Men & Mice Remote Control [Eggert_Thorlacius] [Eggert_Thorlacius] 2007-08-30 historic, not usable for use with many common service +# +menandmice-noh 4151/udp # IANA assigned this [Eggert_Thorlacius] [Eggert_Thorlacius] 2007-08-30 +menandmice_noh 4151/udp # Men & Mice Remote Control [Eggert_Thorlacius] [Eggert_Thorlacius] 2007-08-30 historic, not usable for use with many common service +# iDigTech Multiplex +# +idig-mux 4152/tcp # IANA assigned this [Robin_Findley] [Robin_Findley] 2007-05 +# "idig_mux". +# This entry is an alias to "idig-mux". This entry is now +idig_mux 4152/tcp # iDigTech Multiplex [Robin_Findley] [Robin_Findley] 2007-05 historic, not usable for use with many common service +# +idig-mux 4152/udp # IANA assigned this [Robin_Findley] [Robin_Findley] 2007-05 +idig_mux 4152/udp # iDigTech Multiplex [Robin_Findley] [Robin_Findley] 2007-05 historic, not usable for use with many common service +mbl-battd 4153/tcp # MBL Remote Battery [Claudio_Procida] [Claudio_Procida] 2007-05 +# Monitoring +mbl-battd 4153/udp # MBL Remote Battery [Claudio_Procida] [Claudio_Procida] 2007-05 +atlinks 4154/tcp # atlinks device discovery [Scott_Griepentrog] [Scott_Griepentrog] 2002-10 +atlinks 4154/udp # atlinks device discovery [Scott_Griepentrog] [Scott_Griepentrog] 2002-10 +bzr 4155/tcp # Bazaar version control [Martin_Pool_2] [Martin_Pool_2] 2007-02 +# system +bzr 4155/udp # Bazaar version control [Martin_Pool_2] [Martin_Pool_2] 2007-02 +stat-results 4156/tcp # STAT Results +stat-results 4156/udp # STAT Results +stat-scanner 4157/tcp # STAT Scanner Control +stat-scanner 4157/udp # STAT Scanner Control +stat-cc 4158/tcp # STAT Command Center [Darwin_Ammala] [Darwin_Ammala] 2007-03 +stat-cc 4158/udp # STAT Command Center [Darwin_Ammala] [Darwin_Ammala] 2007-03 +nss 4159/tcp # Network Security Service [Dave_Wierbowski] [Dave_Wierbowski] 2006-08 +nss 4159/udp # Network Security Service [Dave_Wierbowski] [Dave_Wierbowski] 2006-08 +jini-discovery 4160/tcp # Jini Discovery [Mark_Hodapp] [Mark_Hodapp] +jini-discovery 4160/udp # Jini Discovery [Mark_Hodapp] [Mark_Hodapp] +omscontact 4161/tcp # OMS Contact +omscontact 4161/udp # OMS Contact +omstopology 4162/tcp # OMS Topology [David_Page] [David_Page] 2005-08 +omstopology 4162/udp # OMS Topology [David_Page] [David_Page] 2005-08 +silverpeakpeer 4163/tcp # Silver Peak Peer Protocol [Damon_Ennis] [Damon_Ennis] 2007-03 +silverpeakpeer 4163/udp # Silver Peak Peer Protocol [Damon_Ennis] [Damon_Ennis] 2007-03 +silverpeakcomm 4164/tcp # Silver Peak Communication [Damon_Ennis] [Damon_Ennis] 2007-03 +silverpeakcomm 4164/udp # Silver Peak Communication [Damon_Ennis] [Damon_Ennis] 2007-03 +altcp 4165/tcp # ArcLink over Ethernet [Dmitry_Brant] [Dmitry_Brant] 2007-03 +altcp 4165/udp # ArcLink over Ethernet [Dmitry_Brant] [Dmitry_Brant] 2007-03 +joost 4166/tcp # Joost Peer to Peer Protocol [Colm_MacCarthaigh] [Colm_MacCarthaigh] 2007-04 +joost 4166/udp # Joost Peer to Peer Protocol [Colm_MacCarthaigh] [Colm_MacCarthaigh] 2007-04 +ddgn 4167/tcp # DeskDirect Global Network [Laurie_Charlwood] [Laurie_Charlwood] 2007-08-22 +ddgn 4167/udp # DeskDirect Global Network [Laurie_Charlwood] [Laurie_Charlwood] 2007-08-22 +pslicser 4168/tcp # PrintSoft License Server [David_Weisgerber] [David_Weisgerber] 2007-09-27 +pslicser 4168/udp # PrintSoft License Server [David_Weisgerber] [David_Weisgerber] 2007-09-27 +iadt 4169/tcp # Automation Drive Interface [Paul_Suhler] [Paul_Suhler] 2008-02-15 +# Transport +iadt-disc 4169/udp # Internet ADT Discovery [Paul_A_Suhler] [Paul_A_Suhler] 2009-02-06 +d-cinema-csp 4170/tcp # SMPTE Content Synchonization [Michael_Karagosian] [Michael_Karagosian] 2008-09-04 +# 4170 udp Reserved +ml-svnet 4171/tcp # Maxlogic Supervisor [Taha_Paksu] [Taha_Paksu] 2009-12-21 +# 4171 udp Reserved +pcoip 4172/tcp # PC over IP [Teradici] [Jeff_Dillabough] 2009-12-23 2012-03-06 +pcoip 4172/udp # PC over IP [Teradici] [Jeff_Dillabough] 2009-12-23 2012-03-06 +# 4173 tcp Reserved +mma-discovery 4173/udp # MMA Device Discovery [MIDI_Manufacturers_Assoc_Inc] [Tom_White] 2011-11-14 +smcluster 4174/tcp # StorMagic Cluster Services [Chris_Farey] [Chris_Farey] 2011-03-09 +sm-disc 4174/udp # StorMagic Discovery [StorMagic_Ltd] [Chris_Farey] 2011-12-16 +bccp 4175/tcp # Brocade Cluster [Norival_Figueira] [Norival_Figueira] 2010-04-07 +# Communication Protocol +# 4175 udp Reserved +tl-ipcproxy 4176/tcp # Translattice Cluster IPC [Michael_Lyle] [Michael_Lyle] 2009-11-03 +# Proxy +# 4176 udp Reserved +wello 4177/tcp # Wello P2P pubsub service [Christian_Westbrook] [Christian_Westbrook] 2007-11-15 +wello 4177/udp # Wello P2P pubsub service [Christian_Westbrook] [Christian_Westbrook] 2007-11-15 +storman 4178/tcp # StorMan [Werner_Guertler] [Werner_Guertler] 2009-05-11 +storman 4178/udp # StorMan [Werner_Guertler] [Werner_Guertler] 2009-05-11 +MaxumSP 4179/tcp # Maxum Services [Greg_Stine] [Greg_Stine] 2007-07-05 +MaxumSP 4179/udp # Maxum Services [Greg_Stine] [Greg_Stine] 2007-07-05 +httpx 4180/tcp # HTTPX [Paul_McGough] [Paul_McGough] 2007-02 +httpx 4180/udp # HTTPX [Paul_McGough] [Paul_McGough] 2007-02 +macbak 4181/tcp # MacBak [Wes_Peters] [Wes_Peters] 2007-04 +macbak 4181/udp # MacBak [Wes_Peters] [Wes_Peters] 2007-04 +pcptcpservice 4182/tcp # Production Company Pro TCP [Ben_McNeill] [Ben_McNeill] 2007-05 +pcptcpservice 4182/udp # Production Company Pro TCP [Ben_McNeill] [Ben_McNeill] 2007-05 +gmmp 4183/tcp # General Metaverse Messaging [Gareth_Nelson] [Gareth_Nelson] 2007-06 +gmmp 4183/udp # General Metaverse Messaging [Gareth_Nelson] [Gareth_Nelson] 2007-06 +# UNIVERSE SUITE MESSAGE +# SERVICE +# +universe-suite 4184/tcp # IANA assigned this [Gary_ANDREWS] [Gary_ANDREWS] 2008-01-07 +# "universe_suite". +# UNIVERSE SUITE MESSAGE This entry is an alias to "universe-suite". This entry is now +universe_suite 4184/tcp # SERVICE [Gary_ANDREWS] [Gary_ANDREWS] 2008-01-07 historic, not usable for use with many common service +# +universe-suite 4184/udp # IANA assigned this [Gary_ANDREWS] [Gary_ANDREWS] 2008-01-07 +universe_suite 4184/udp # SERVICE [Gary_ANDREWS] [Gary_ANDREWS] 2008-01-07 historic, not usable for use with many common service +wcpp 4185/tcp # Woven Control Plane Protocol [Christopher_LILJENST] [Christopher_LILJENST] 2008-04-14 +wcpp 4185/udp # Woven Control Plane Protocol [Christopher_LILJENST] [Christopher_LILJENST] 2008-04-14 +boxbackupstore 4186/tcp # Box Backup Store Service [Chris_Wilson] [Chris_Wilson] 2008-09-11 +# 4186 udp Reserved +# Cascade Proxy +# +csc-proxy 4187/tcp # IANA assigned this [Matt_Craighead] [Matt_Craighead] 2008-09-11 +# "csc_proxy". +# This entry is an alias to "csc-proxy". This entry is now +csc_proxy 4187/tcp # Cascade Proxy [Matt_Craighead] [Matt_Craighead] 2008-09-11 historic, not usable for use with many common service +# 4187 udp Reserved +vatata 4188/tcp # Vatata Peer to Peer Protocol [Song_Jian] [Song_Jian] 2008-09-15 +vatata 4188/udp # Vatata Peer to Peer Protocol [Song_Jian] [Song_Jian] 2008-09-15 +pcep 4189/tcp # Path Computation Element +# 4189 udp Reserved [RFC5440] +sieve 4190/tcp # ManageSieve Protocol +# 4190 udp Reserved [RFC5804] +# 4191 tcp Reserved +dsmipv6 4191/udp # Dual Stack MIPv6 NAT [RFC5555] +# Traversal +azeti 4192/tcp # Azeti Agent Service [Uwe_Holz] [Uwe_Holz] 2009-11-09 +azeti-bd 4192/udp # azeti blinddate [Michael_Werski] [Michael_Werski] 2010-02-18 +pvxplusio 4193/tcp # PxPlus remote file srvr [Mike_King] [Mike_King] 2009-11-09 +# 4193 udp Reserved +# 4194-4198 Unassigned +eims-admin 4199/tcp # EIMS ADMIN [Glenn_Anderson] [Glenn_Anderson] +eims-admin 4199/udp # EIMS ADMIN [Glenn_Anderson] [Glenn_Anderson] +# vrml-multi-use 4200-4299 VRML Multi User Systems [Mitra] [Mitra] +corelccam 4300/tcp # Corel CCam [Jason_Aiken] [Jason_Aiken] +corelccam 4300/udp # Corel CCam [Jason_Aiken] [Jason_Aiken] +d-data 4301/tcp # Diagnostic Data +d-data 4301/udp # Diagnostic Data +d-data-control 4302/tcp # Diagnostic Data Control [Jon_March] [Jon_March] 2006-09 +d-data-control 4302/udp # Diagnostic Data Control [Jon_March] [Jon_March] 2006-09 +srcp 4303/tcp # Simple Railroad Command [Matthias_Trute] [Matthias_Trute] 2007-01 +srcp 4303/udp # Simple Railroad Command [Matthias_Trute] [Matthias_Trute] 2007-01 +owserver 4304/tcp # One-Wire Filesystem Server [Paul_Alfille] [Paul_Alfille] 2007-01 Defined TXT keys: txtvers +owserver 4304/udp # One-Wire Filesystem Server [Paul_Alfille] [Paul_Alfille] 2007-01 Defined TXT keys: txtvers +batman 4305/tcp # better approach to mobile [Simon_Wunderlich] [Simon_Wunderlich] 2007-08-30 +# ad-hoc networking +batman 4305/udp # better approach to mobile [Simon_Wunderlich] [Simon_Wunderlich] 2007-08-30 +pinghgl 4306/tcp # Hellgate London [David_Berk] [David_Berk] 2007-08-30 +pinghgl 4306/udp # Hellgate London [David_Berk] [David_Berk] 2007-08-30 +visicron-vs 4307/tcp # Visicron Videoconference [Alexey_Vlaskin] [Alexey_Vlaskin] 2007-10-22 +visicron-vs 4307/udp # Visicron Videoconference [Alexey_Vlaskin] [Alexey_Vlaskin] 2007-10-22 +compx-lockview 4308/tcp # CompX-LockView [John_Payson] [John_Payson] 2007-10-22 +compx-lockview 4308/udp # CompX-LockView [John_Payson] [John_Payson] 2007-10-22 +dserver 4309/tcp # Exsequi Appliance Discovery [Angelo_Masci] [Angelo_Masci] 2007-01 +dserver 4309/udp # Exsequi Appliance Discovery [Angelo_Masci] [Angelo_Masci] 2007-01 +mirrtex 4310/tcp # Mir-RT exchange service [Sylvain_Robert] [Sylvain_Robert] 2008-02-14 +mirrtex 4310/udp # Mir-RT exchange service [Sylvain_Robert] [Sylvain_Robert] 2008-02-14 +p6ssmc 4311/tcp # P6R Secure Server Management [Jim_Susoy] [Jim_Susoy] 2010-01-21 +# Console +# 4311 udp Reserved +pscl-mgt 4312/tcp # Parascale Membership Manager [John_Muth] [John_Muth] 2010-01-21 +# 4312 udp Reserved +perrla 4313/tcp # PERRLA User Services [Cliff_Batson] [Cliff_Batson] 2010-01-21 +# 4313 udp Reserved +# 4314-4319 Unassigned +fdt-rcatp 4320/tcp # FDT Remote Categorization [Russell_P_Holsclaw] [Russell_P_Holsclaw] 2006-03 +fdt-rcatp 4320/udp # FDT Remote Categorization [Russell_P_Holsclaw] [Russell_P_Holsclaw] 2006-03 +rwhois 4321/tcp # Remote Who Is [Mark_Kosters] [Mark_Kosters] [RFC2167] +rwhois 4321/udp # Remote Who Is [Mark_Kosters] [Mark_Kosters] [RFC2167] +trim-event 4322/tcp # TRIM Event Service +trim-event 4322/udp # TRIM Event Service +trim-ice 4323/tcp # TRIM ICE Service [Siva_Poobalasingam_2] [Siva_Poobalasingam_2] 2007-02 +trim-ice 4323/udp # TRIM ICE Service [Siva_Poobalasingam_2] [Siva_Poobalasingam_2] 2007-02 +balour 4324/tcp # Balour Game Server [Konstantin_Schauweck] [Konstantin_Schauweck] 2007-02 +balour 4324/udp # Balour Game Server [Konstantin_Schauweck] [Konstantin_Schauweck] 2007-02 +geognosisman 4325/tcp # Cadcorp GeognoSIS Manager +geognosisman 4325/udp # Cadcorp GeognoSIS Manager +geognosis 4326/tcp # Cadcorp GeognoSIS Service [Martin_Daly] [Martin_Daly] 2006-11 +geognosis 4326/udp # Cadcorp GeognoSIS Service [Martin_Daly] [Martin_Daly] 2006-11 +jaxer-web 4327/tcp # Jaxer Web Protocol [Uri_Sarid] [Uri_Sarid] 2008-01-07 +jaxer-web 4327/udp # Jaxer Web Protocol [Uri_Sarid] [Uri_Sarid] 2008-01-07 +jaxer-manager 4328/tcp # Jaxer Manager Command [Uri_Sarid] [Uri_Sarid] 2008-01-22 +jaxer-manager 4328/udp # Jaxer Manager Command [Uri_Sarid] [Uri_Sarid] 2008-01-22 +# PubliQare Distributed +publiqare-sync 4329/tcp # Environment Synchronisation [Tom_Maaswinkel] [Tom_Maaswinkel] 2011-02-07 +# Engine +# 4329 udp Reserved +# 4330-4339 Unassigned +gaia 4340/tcp # Gaia Connector Protocol [Philippe_Detournay] [Philippe_Detournay] 2007-11-12 +gaia 4340/udp # Gaia Connector Protocol [Philippe_Detournay] [Philippe_Detournay] 2007-11-12 +lisp-data 4341/tcp # LISP Data Packets [Dino_Farinacci] [Dino_Farinacci] 2007-11-12 +lisp-data 4341/udp # LISP Data Packets [IESG] [IETF_Chair] 2007-11-12 2012-04-26 [RFC6830] +lisp-cons 4342/tcp # LISP-CONS Control +lisp-control 4342/udp # LISP Control Packets [IESG] [IETF_Chair] 2007-05 2012-04-26 [RFC6830] +unicall 4343/tcp # UNICALL [James_Powell_2] [James_Powell_2] +unicall 4343/udp # UNICALL [James_Powell_2] [James_Powell_2] +vinainstall 4344/tcp # VinaInstall [Jay_Slupesky] [Jay_Slupesky] +vinainstall 4344/udp # VinaInstall [Jay_Slupesky] [Jay_Slupesky] +m4-network-as 4345/tcp # Macro 4 Network AS [Paul_Wren] [Paul_Wren] +m4-network-as 4345/udp # Macro 4 Network AS [Paul_Wren] [Paul_Wren] +elanlm 4346/tcp # ELAN LM [Paul_Ballew] [Paul_Ballew] +elanlm 4346/udp # ELAN LM [Paul_Ballew] [Paul_Ballew] +lansurveyor 4347/tcp # LAN Surveyor [Michael_Swan] [Michael_Swan] +lansurveyor 4347/udp # LAN Surveyor [Michael_Swan] [Michael_Swan] +itose 4348/tcp # ITOSE [Michael_Haeuptle] [Michael_Haeuptle] +itose 4348/udp # ITOSE [Michael_Haeuptle] [Michael_Haeuptle] +fsportmap 4349/tcp # File System Port Map [Ron_Minnich_2] [Ron_Minnich_2] +fsportmap 4349/udp # File System Port Map [Ron_Minnich_2] [Ron_Minnich_2] +net-device 4350/tcp # Net Device [Glenn_Peterson] [Glenn_Peterson] +net-device 4350/udp # Net Device [Glenn_Peterson] [Glenn_Peterson] +plcy-net-svcs 4351/tcp # PLCY Net Services [J_J_Ekstrom] [J_J_Ekstrom] +plcy-net-svcs 4351/udp # PLCY Net Services [J_J_Ekstrom] [J_J_Ekstrom] +pjlink 4352/tcp # Projector Link [Mitsuo_Kodama] [Mitsuo_Kodama] 2005-06 +pjlink 4352/udp # Projector Link [Mitsuo_Kodama] [Mitsuo_Kodama] 2005-06 +f5-iquery 4353/tcp # F5 iQuery [Tom_Kee] [Tom_Kee] +f5-iquery 4353/udp # F5 iQuery [Tom_Kee] [Tom_Kee] +qsnet-trans 4354/tcp # QSNet Transmitter +qsnet-trans 4354/udp # QSNet Transmitter +qsnet-workst 4355/tcp # QSNet Workstation +qsnet-workst 4355/udp # QSNet Workstation +qsnet-assist 4356/tcp # QSNet Assistant +qsnet-assist 4356/udp # QSNet Assistant +qsnet-cond 4357/tcp # QSNet Conductor +qsnet-cond 4357/udp # QSNet Conductor +qsnet-nucl 4358/tcp # QSNet Nucleus [Neer_Kleinman] [Neer_Kleinman] +qsnet-nucl 4358/udp # QSNet Nucleus [Neer_Kleinman] [Neer_Kleinman] +omabcastltkm 4359/tcp # OMA BCAST Long-Term Key [Frank_Hartung] [Frank_Hartung] 2007-09-07 +# Messages +omabcastltkm 4359/udp # OMA BCAST Long-Term Key [Frank_Hartung] [Frank_Hartung] 2007-09-07 +# Matrix VNet Communication +# +matrix-vnet 4360/tcp # IANA assigned this [Rehan_Mahmood] [Rehan_Mahmood] 2009-03-18 +# "matrix_vnet". +# Matrix VNet Communication This entry is an alias to "matrix-vnet". This entry is now +matrix_vnet 4360/tcp # Protocol [Rehan_Mahmood] [Rehan_Mahmood] 2009-03-18 historic, not usable for use with many common service +# 4360 udp Reserved +# 4361 tcp Reserved +nacnl 4361/udp # NavCom Discovery and Control [Yilei_Jia] [Yilei_Jia] 2009-03-18 +# 4362 tcp Reserved +afore-vdp-disc 4362/udp # AFORE vNode Discovery [Michael_Richardson] [Michael_Richardson] 2011-02-08 +# 4363-4367 Unassigned +wxbrief 4368/tcp # WeatherBrief Direct [Kim_Alan_Waggoner] [Kim_Alan_Waggoner] 2006-11 +wxbrief 4368/udp # WeatherBrief Direct [Kim_Alan_Waggoner] [Kim_Alan_Waggoner] 2006-11 +epmd 4369/tcp # Erlang Port Mapper Daemon [Erlang] [Erlang] +epmd 4369/udp # Erlang Port Mapper Daemon [Erlang] [Erlang] +# ELPRO V2 Protocol Tunnel +# +elpro-tunnel 4370/tcp # IANA assigned this [Harry_Courtice] [Harry_Courtice] 2008-04-14 +# "elpro_tunnel". +# This entry is an alias to "elpro-tunnel". This entry is now +elpro_tunnel 4370/tcp # ELPRO V2 Protocol Tunnel [Harry_Courtice] [Harry_Courtice] 2008-04-14 historic, not usable for use with many common service +# +elpro-tunnel 4370/udp # IANA assigned this [Harry_Courtice] [Harry_Courtice] 2008-04-14 +elpro_tunnel 4370/udp # ELPRO V2 Protocol Tunnel [Harry_Courtice] [Harry_Courtice] 2008-04-14 historic, not usable for use with many common service +l2c-control 4371/tcp # LAN2CAN Control [Phil_Tolson] [Phil_Tolson] 2008-07-07 Modified: 21 January 2010 +l2c-disc 4371/udp # LAN2CAN Discovery [Phil_Tolson] [Phil_Tolson] 2010-01-21 +l2c-data 4372/tcp # LAN2CAN Data [Phil_Tolson] [Phil_Tolson] 2008-07-07 Modified: 21 January 2010 +l2c-data 4372/udp # LAN2CAN Data [Phil_Tolson] [Phil_Tolson] 2010-01-21 +remctl 4373/tcp # Remote Authenticated Command [Russ_Allbery] [Russ_Allbery] 2007-08-30 +remctl 4373/udp # Remote Authenticated Command [Russ_Allbery] [Russ_Allbery] 2007-08-30 +psi-ptt 4374/tcp # PSI Push-to-Talk Protocol [Frank_B] [Frank_B] 2008-07-17 +# 4374 udp Reserved +tolteces 4375/tcp # Toltec EasyShare [Joon_Radley_2] [Joon_Radley_2] 2008-10-21 +tolteces 4375/udp # Toltec EasyShare [Joon_Radley_2] [Joon_Radley_2] 2008-10-21 +bip 4376/tcp # BioAPI Interworking [Jean_Paul_Lemaire] [Jean_Paul_Lemaire] 2007-07-05 +bip 4376/udp # BioAPI Interworking [Jean_Paul_Lemaire] [Jean_Paul_Lemaire] 2007-07-05 +cp-spxsvr 4377/tcp # Cambridge Pixel SPx Server +cp-spxsvr 4377/udp # Cambridge Pixel SPx Server +cp-spxdpy 4378/tcp # Cambridge Pixel SPx Display [Richard_Warren] [Richard_Warren] 2007-07-05 +cp-spxdpy 4378/udp # Cambridge Pixel SPx Display [Richard_Warren] [Richard_Warren] 2007-07-05 +ctdb 4379/tcp # CTDB [Ronnie_Sahlberg] [Ronnie_Sahlberg] 2007-07-05 +ctdb 4379/udp # CTDB [Ronnie_Sahlberg] [Ronnie_Sahlberg] 2007-07-05 +# 4380-4388 Unassigned +xandros-cms 4389/tcp # Xandros Community Management [Stephen_M_Webb] [Stephen_M_Webb] 2007-05 +xandros-cms 4389/udp # Xandros Community Management [Stephen_M_Webb] [Stephen_M_Webb] 2007-05 +wiegand 4390/tcp # Physical Access Control [Scott_Guthery_2] [Scott_Guthery_2] 2008-08-25 +wiegand 4390/udp # Physical Access Control [Scott_Guthery_2] [Scott_Guthery_2] 2008-08-25 +apwi-imserver 4391/tcp # American Printware IMServer [Lech_Lakomy] [Lech_Lakomy] 2009-02-12 +# 4391 udp Reserved +apwi-rxserver 4392/tcp # American Printware RXServer [Lech_Lakomy] [Lech_Lakomy] 2009-02-12 +# 4392 udp Reserved +apwi-rxspooler 4393/tcp # American Printware RXSpooler [Lech_Lakomy] [Lech_Lakomy] 2009-02-12 +# 4393 udp Reserved +# 4394 tcp Reserved +apwi-disc 4394/udp # American Printware Discovery [Lech_Lakomy] [Lech_Lakomy] 2009-02-12 +omnivisionesx 4395/tcp # OmniVision communication for [Vacquier_Serge] [Vacquier_Serge] 2009-02-12 +# Virtual environments +omnivisionesx 4395/udp # OmniVision communication for [Vacquier_Serge] [Vacquier_Serge] 2009-02-12 +fly 4396/tcp # Fly Object Space [Nigel_Warren] [Nigel_Warren] 2009-02-12 +# 4396 udp Reserved +# 4397-4399 Unassigned +ds-srv 4400/tcp # ASIGRA Services [David_Farajun] [David_Farajun] 2004-11 +ds-srv 4400/udp # ASIGRA Services [David_Farajun] [David_Farajun] 2004-11 +ds-srvr 4401/tcp # ASIGRA Televaulting +# DS-System Service +ds-srvr 4401/udp # ASIGRA Televaulting +ds-clnt 4402/tcp # ASIGRA Televaulting +# DS-Client Service +ds-clnt 4402/udp # ASIGRA Televaulting +# ASIGRA Televaulting +ds-user 4403/tcp # DS-Client +# Monitoring/Management +ds-user 4403/udp # DS-Client +ds-admin 4404/tcp # DS-System +ds-admin 4404/udp # DS-System +ds-mail 4405/tcp # ASIGRA Televaulting Message +# Level Restore service +ds-mail 4405/udp # ASIGRA Televaulting Message +ds-slp 4406/tcp # ASIGRA Televaulting [Andrei_Litvinn] [Andrei_Litvinn] 2005-01 +# DS-Sleeper Service +ds-slp 4406/udp # ASIGRA Televaulting [Andrei_Litvinn] [Andrei_Litvinn] 2005-01 +nacagent 4407/tcp # Network Access Control Agent [ITGroup] [ITGroup] 2008-06-30 +# 4407 udp Reserved +slscc 4408/tcp # SLS Technology Control [Steven_Sweeting] [Steven_Sweeting] 2008-01-28 +# Centre +# 4408 udp Reserved +netcabinet-com 4409/tcp # Net-Cabinet comunication [Ian_Manning_2] [Ian_Manning_2] 2009-12-16 +# 4409 udp Reserved +itwo-server 4410/tcp # RIB iTWO Application Server [Kristean_Heisler_2] [Kristean_Heisler_2] 2009-12-16 +# 4410 udp Reserved +found 4411/tcp # Found Messaging Protocol [Found_Software] [John_Mitchell] 2012-04-11 Defined TXT keys: id, key +# 4411 udp Reserved +# 4412-4424 Unassigned +netrockey6 4425/tcp # NetROCKEY6 SMART Plus [Feitian_Technologies] [Feitian_Technologies] 2010-09-15 +netrockey6 4425/udp # NetROCKEY6 SMART Plus [Feitian_Technologies] [Feitian_Technologies] 2010-09-15 +beacon-port-2 4426/tcp # SMARTS Beacon Port [Eyal_Yardeni] [Eyal_Yardeni] 2003-11 +beacon-port-2 4426/udp # SMARTS Beacon Port [Eyal_Yardeni] [Eyal_Yardeni] 2003-11 +drizzle 4427/tcp # Drizzle database server [Elliot_Murphy] [Elliot_Murphy] 2008-07-09 +# 4427 udp Reserved +omviserver 4428/tcp # OMV-Investigation [Serge_Vacquier] [Serge_Vacquier] 2009-05-20 +# Server-Client +# 4428 udp Reserved +omviagent 4429/tcp # OMV Investigation [Serge_Vacquier] [Serge_Vacquier] 2009-05-20 +# Agent-Server +# 4429 udp Reserved +rsqlserver 4430/tcp # REAL SQL Server [Marco_Bambini] [Marco_Bambini] 2008-08-28 +rsqlserver 4430/udp # REAL SQL Server [Marco_Bambini] [Marco_Bambini] 2008-08-28 +wspipe 4431/tcp # adWISE Pipe [Heikki_E] [Heikki_E] 2009-06-18 +# 4431 udp Reserved +l-acoustics 4432/tcp # L-ACOUSTICS management [L-ACOUSTICS] [Christophe_Pignon] 2012-08-13 +l-acoustics 4432/udp # L-ACOUSTICS management [L-ACOUSTICS] [Christophe_Pignon] 2012-08-13 +vop 4433/tcp # Versile Object Protocol [Versile_AS] [Tore_Skaug] 2012-02-01 +# 4433 udp Reserved +# 4434-4440 Unassigned +# 4441 tcp Reserved +netblox 4441/udp # Netblox Protocol [Brian_S_Locke] [Brian_S_Locke] 2008-07-10 +saris 4442/tcp # Saris +saris 4442/udp # Saris +pharos 4443/tcp # Pharos [TeleConsult] [TeleConsult] +pharos 4443/udp # Pharos [TeleConsult] [TeleConsult] +# krb524 +# assigned the +krb524 4444/tcp # KRB524 [B_Clifford_Neuman] [B_Clifford_Neuman] port, nv used +# it without an +# assignment +krb524 4444/udp # KRB524 [B_Clifford_Neuman] [B_Clifford_Neuman] port, nv used +nv-video 4444/tcp # NV Video default [Ron_Frederick] [Ron_Frederick] port, nv used +nv-video 4444/udp # NV Video default [Ron_Frederick] [Ron_Frederick] port, nv used +upnotifyp 4445/tcp # UPNOTIFYP [Mark_Fox] [Mark_Fox] +upnotifyp 4445/udp # UPNOTIFYP [Mark_Fox] [Mark_Fox] +n1-fwp 4446/tcp # N1-FWP +n1-fwp 4446/udp # N1-FWP +n1-rmgmt 4447/tcp # N1-RMGMT [Lori_Tassin] [Lori_Tassin] +n1-rmgmt 4447/udp # N1-RMGMT [Lori_Tassin] [Lori_Tassin] +asc-slmd 4448/tcp # ASC Licence Manager [Casper_Stoel] [Casper_Stoel] +asc-slmd 4448/udp # ASC Licence Manager [Casper_Stoel] [Casper_Stoel] +privatewire 4449/tcp # PrivateWire [Uri_Resnitzky] [Uri_Resnitzky] +privatewire 4449/udp # PrivateWire [Uri_Resnitzky] [Uri_Resnitzky] +camp 4450/tcp # Common ASCII Messaging [Control_Technology_Inc] [Clint_Eskew] 2011-10-28 +camp 4450/udp # Common ASCII Messaging [Control_Technology_Inc] [Clint_Eskew] 2011-10-28 +ctisystemmsg 4451/tcp # CTI System Msg [Control_Technology_Inc] [Clint_Eskew] 2011-10-28 +ctisystemmsg 4451/udp # CTI System Msg [Control_Technology_Inc] [Clint_Eskew] 2011-10-28 +ctiprogramload 4452/tcp # CTI Program Load [Control_Technology_Inc] [Clint_Eskew] 2011-10-28 +ctiprogramload 4452/udp # CTI Program Load [Control_Technology_Inc] [Clint_Eskew] 2011-10-28 +nssalertmgr 4453/tcp # NSS Alert Manager +nssalertmgr 4453/udp # NSS Alert Manager +nssagentmgr 4454/tcp # NSS Agent Manager [Jim_Hill] [Jim_Hill] +nssagentmgr 4454/udp # NSS Agent Manager [Jim_Hill] [Jim_Hill] +prchat-user 4455/tcp # PR Chat User +prchat-user 4455/udp # PR Chat User +prchat-server 4456/tcp # PR Chat Server +prchat-server 4456/udp # PR Chat Server +prRegister 4457/tcp # PR Register [Donny_Gilor] [Donny_Gilor] +prRegister 4457/udp # PR Register [Donny_Gilor] [Donny_Gilor] +mcp 4458/tcp # Matrix Configuration [Tim_DeBaillie] [Tim_DeBaillie] 2006-12 +mcp 4458/udp # Matrix Configuration [Tim_DeBaillie] [Tim_DeBaillie] 2006-12 +# 4459-4483 Unassigned +hpssmgmt 4484/tcp # hpssmgmt service [David_Straw] [David_Straw] 2005-11 +hpssmgmt 4484/udp # hpssmgmt service [David_Straw] [David_Straw] 2005-11 +assyst-dr 4485/tcp # Assyst Data Repository [Albert_Cester] [Albert_Cester] 2008-08-26 +# 4485 udp Reserved +icms 4486/tcp # Integrated Client Message [Resource_Allocation] [Resource_Allocation] 2010-09-27 +icms 4486/udp # Integrated Client Message [Resource_Allocation] [Resource_Allocation] 2010-09-27 +prex-tcp 4487/tcp # Protocol for Remote [Daniel_Ruppert] [Daniel_Ruppert] 2010-09-16 +# Execution over TCP +# 4487 udp Reserved +awacs-ice 4488/tcp # Apple Wide Area Connectivity [Rory_McGuire] [Rory_McGuire] 2010-09-24 +# Service ICE Bootstrap +awacs-ice 4488/udp # Apple Wide Area Connectivity [Rory_McGuire] [Rory_McGuire] 2010-09-24 +# 4489-4499 Unassigned +ipsec-nat-t 4500/tcp # IPsec NAT-Traversal [RFC3947] +ipsec-nat-t 4500/udp # IPsec NAT-Traversal [RFC3947] +# 4501 Unassigned [IANA] [IANA] De-registered 08 June 2001 +a25-fap-fgw 4502/sctp # A25 (FAP-FGW) [ThreeGPP2] [Zhiming_Li] 2012-01-11 +# 4503-4533 Unassigned +# 4534 tcp Reserved +armagetronad 4534/udp # Armagetron Advanced Game [Manuel_Moos] [Yann_Kaiser] 2012-11-02 +ehs 4535/tcp # Event Heap Server +ehs 4535/udp # Event Heap Server +ehs-ssl 4536/tcp # Event Heap Server SSL [Brad_Johanson] [Brad_Johanson] 2005-08 +ehs-ssl 4536/udp # Event Heap Server SSL [Brad_Johanson] [Brad_Johanson] 2005-08 +wssauthsvc 4537/tcp # WSS Security Service [Mark_Tirschwell] [Mark_Tirschwell] 2006-01 +wssauthsvc 4537/udp # WSS Security Service [Mark_Tirschwell] [Mark_Tirschwell] 2006-01 +swx-gate 4538/tcp # Software Data Exchange [Julien_VALIENTE] [Julien_VALIENTE] 2006-05 +# Gateway +swx-gate 4538/udp # Software Data Exchange [Julien_VALIENTE] [Julien_VALIENTE] 2006-05 +# 4539-4544 Unassigned +worldscores 4545/tcp # WorldScores [Steve_Davis] [Steve_Davis] +worldscores 4545/udp # WorldScores [Steve_Davis] [Steve_Davis] +sf-lm 4546/tcp # SF License Manager [Thomas_Koell] [Thomas_Koell] +# (Sentinel) +sf-lm 4546/udp # SF License Manager [Thomas_Koell] [Thomas_Koell] +lanner-lm 4547/tcp # Lanner License Manager [Les_Enstone] [Les_Enstone] +lanner-lm 4547/udp # Lanner License Manager [Les_Enstone] [Les_Enstone] +synchromesh 4548/tcp # Synchromesh [Tom_Hawkins_2] [Tom_Hawkins_2] 2006-02 +synchromesh 4548/udp # Synchromesh [Tom_Hawkins_2] [Tom_Hawkins_2] 2006-02 +aegate 4549/tcp # Aegate PMR Service [Nick_Warrington] [Nick_Warrington] 2006-03 +aegate 4549/udp # Aegate PMR Service [Nick_Warrington] [Nick_Warrington] 2006-03 +gds-adppiw-db 4550/tcp # Perman I Interbase Server [Leo_Lesage] [Leo_Lesage] 2006-04 +gds-adppiw-db 4550/udp # Perman I Interbase Server [Leo_Lesage] [Leo_Lesage] 2006-04 +ieee-mih 4551/tcp # MIH Services [RFC5677] +ieee-mih 4551/udp # MIH Services [RFC5677] +menandmice-mon 4552/tcp # Men and Mice Monitoring [Carsten_Strotmann] [Carsten_Strotmann] 2009-05-20 +menandmice-mon 4552/udp # Men and Mice Monitoring [Carsten_Strotmann] [Carsten_Strotmann] 2009-05-20 +icshostsvc 4553/tcp # ICS host services [Gordan_Vosicki] [Gordan_Vosicki] 2009-09-23 +# 4553 udp Reserved +msfrs 4554/tcp # MS FRS Replication [Kev_George] [Kev_George] 2006-09 +msfrs 4554/udp # MS FRS Replication [Kev_George] [Kev_George] 2006-09 +rsip 4555/tcp # RSIP Port [RFC3103] +rsip 4555/udp # RSIP Port [RFC3103] +dtn-bundle-tcp 4556/tcp # DTN Bundle TCP CL Protocol +dtn-bundle-udp 4556/udp # DTN Bundle UDP CL Protocol [Michael_Demmer] [Michael_Demmer] 2006-11 +# 4557 tcp Reserved +mtcevrunqss 4557/udp # Marathon everRun Quorum [David_Schwartz_2] [David_Schwartz_2] 2009-06-18 +# Service Server +# 4558 tcp Reserved +mtcevrunqman 4558/udp # Marathon everRun Quorum [David_Schwartz_2] [David_Schwartz_2] 2009-06-18 +# Service Manager +hylafax 4559/tcp # HylaFAX [Lee_Howard] [Lee_Howard] 2002-03 +hylafax 4559/udp # HylaFAX [Lee_Howard] [Lee_Howard] 2002-03 +# 4560-4565 Unassigned +kwtc 4566/tcp # Kids Watch Time Control [Larry_Zarou] [Larry_Zarou] 2006-10 +kwtc 4566/udp # Kids Watch Time Control [Larry_Zarou] [Larry_Zarou] 2006-10 +tram 4567/tcp # TRAM [Joe_Wesley] [Joe_Wesley] +tram 4567/udp # TRAM [Joe_Wesley] [Joe_Wesley] +bmc-reporting 4568/tcp # BMC Reporting [Portnoy_Boxman] [Portnoy_Boxman] +bmc-reporting 4568/udp # BMC Reporting [Portnoy_Boxman] [Portnoy_Boxman] +# auth plaintext | md5 | rsakeys +# userid alphanumeric, additionally '_', '+', '-' +# secret any printable ASCII characters +# domain any DNS domain name or IP address +# extension alphanumeric, additionally '*', '#', '_', '+', '-' +# context alphanumeric, additionally '_', '+', '-' +iax 4569/tcp # Inter-Asterisk eXchange [Benjamin_Kowarsch] [Benjamin_Kowarsch] [RFC5456] trunk yes | no | 0 | 1 +# welcome alphanumeric, additionally '*', '#', '_', '+', '-' +# voicemail alphanumeric, additionally '*', '#', '_', '+', '-' +# reception alphanumeric, additionally '*', '#', '_', '+', '-' +# echotest alphanumeric, additionally '*', '#', '_', '+', '-' +# ivrtest alphanumeric, additionally '*', '#', '_', '+', '-' +# All of these TXT record keys are optional, they may be +# omitted. Further keys may be added in the future. +iax 4569/udp # Inter-Asterisk eXchange [Benjamin_Kowarsch] [Benjamin_Kowarsch] [RFC5456] trunk yes | no | 0 | 1 +# 4570-4589 Unassigned +rid 4590/tcp # RID over HTTP/TLS [IESG] [IETF_Chair] [RFC6546] +# 4590 udp Reserved +l3t-at-an 4591/tcp # HRPD L3T (AT-AN) [Avi_Lior] [Avi_Lior] 2009-02-27 +l3t-at-an 4591/udp # HRPD L3T (AT-AN) [Avi_Lior] [Avi_Lior] 2009-02-27 +# 4592 tcp Reserved +hrpd-ith-at-an 4592/udp # HRPD-ITH (AT-AN) [David_Ott] [David_Ott] 2008-06-05 +ipt-anri-anri 4593/tcp # IPT (ANRI-ANRI) +ipt-anri-anri 4593/udp # IPT (ANRI-ANRI) +ias-session 4594/tcp # IAS-Session (ANRI-ANRI) +ias-session 4594/udp # IAS-Session (ANRI-ANRI) +ias-paging 4595/tcp # IAS-Paging (ANRI-ANRI) +ias-paging 4595/udp # IAS-Paging (ANRI-ANRI) +ias-neighbor 4596/tcp # IAS-Neighbor (ANRI-ANRI) [David_Ott] [David_Ott] 2007-07-31 +ias-neighbor 4596/udp # IAS-Neighbor (ANRI-ANRI) [David_Ott] [David_Ott] 2007-07-31 +a21-an-1xbs 4597/tcp # A21 (AN-1xBS) [David_Ott] [David_Ott] 2006-02 +a21-an-1xbs 4597/udp # A21 (AN-1xBS) [David_Ott] [David_Ott] 2006-02 +a16-an-an 4598/tcp # A16 (AN-AN) [David_Ott] [David_Ott] 2005-12 +a16-an-an 4598/udp # A16 (AN-AN) [David_Ott] [David_Ott] 2005-12 +a17-an-an 4599/tcp # A17 (AN-AN) [David_Ott] [David_Ott] 2006-02 +a17-an-an 4599/udp # A17 (AN-AN) [David_Ott] [David_Ott] 2006-02 +piranha1 4600/tcp # Piranha1 +piranha1 4600/udp # Piranha1 +piranha2 4601/tcp # Piranha2 [Primark_Corporation] [Primark_Corporation] +piranha2 4601/udp # Piranha2 [Primark_Corporation] [Primark_Corporation] +mtsserver 4602/tcp # EAX MTS Server [Pedro_A_Rodriguez] [Pedro_A_Rodriguez] 2008-08-06 +# 4602 udp Reserved +menandmice-upg 4603/tcp # Men & Mice Upgrade Agent [Eggert_Thorlacius_2] [Eggert_Thorlacius_2] 2010-01-27 +# 4603 udp Reserved +# 4604-4657 Unassigned +playsta2-app 4658/tcp # PlayStation2 App Port +playsta2-app 4658/udp # PlayStation2 App Port +playsta2-lob 4659/tcp # PlayStation2 Lobby Port [Noam_Rimon] [Noam_Rimon] 2004-12 +playsta2-lob 4659/udp # PlayStation2 Lobby Port [Noam_Rimon] [Noam_Rimon] 2004-12 +smaclmgr 4660/tcp # smaclmgr [Hiromi_Taki] [Hiromi_Taki] +smaclmgr 4660/udp # smaclmgr [Hiromi_Taki] [Hiromi_Taki] +kar2ouche 4661/tcp # Kar2ouche Peer location [Andy_Krouwel] [Andy_Krouwel] +kar2ouche 4661/udp # Kar2ouche Peer location [Andy_Krouwel] [Andy_Krouwel] +oms 4662/tcp # OrbitNet Message Service [Roy_Davies] [Roy_Davies] 2005-08 +oms 4662/udp # OrbitNet Message Service [Roy_Davies] [Roy_Davies] 2005-08 +noteit 4663/tcp # Note It! Message Service [Pedro_Alpedrinha] [Pedro_Alpedrinha] 2006-02 +noteit 4663/udp # Note It! Message Service [Pedro_Alpedrinha] [Pedro_Alpedrinha] 2006-02 +ems 4664/tcp # Rimage Messaging Server [David_V_Raskin] [David_V_Raskin] 2006-02 +ems 4664/udp # Rimage Messaging Server [David_V_Raskin] [David_V_Raskin] 2006-02 +contclientms 4665/tcp # Container Client Message [Bruce_Thompson] [Bruce_Thompson] 2006-02 +contclientms 4665/udp # Container Client Message [Bruce_Thompson] [Bruce_Thompson] 2006-02 +eportcomm 4666/tcp # E-Port Message Service +eportcomm 4666/udp # E-Port Message Service +mmacomm 4667/tcp # MMA Comm Services +mmacomm 4667/udp # MMA Comm Services +mmaeds 4668/tcp # MMA EDS Service [Robert_Shaffer] [Robert_Shaffer] 2006-02 +mmaeds 4668/udp # MMA EDS Service [Robert_Shaffer] [Robert_Shaffer] 2006-02 +eportcommdata 4669/tcp # E-Port Data Service [Robert_Shaffer] [Robert_Shaffer] 2006-02 +eportcommdata 4669/udp # E-Port Data Service [Robert_Shaffer] [Robert_Shaffer] 2006-02 +light 4670/tcp # Light packets transfer [Adam_Golovenko] [Adam_Golovenko] 2006-10 +light 4670/udp # Light packets transfer [Adam_Golovenko] [Adam_Golovenko] 2006-10 +acter 4671/tcp # Bull RSF action server [Christian_Caudrelier] [Christian_Caudrelier] 2006-02 +acter 4671/udp # Bull RSF action server [Christian_Caudrelier] [Christian_Caudrelier] 2006-02 +rfa 4672/tcp # remote file access server +rfa 4672/udp # remote file access server +cxws 4673/tcp # CXWS Operations [Phil_Abercrombie] [Phil_Abercrombie] 2005-08 +cxws 4673/udp # CXWS Operations [Phil_Abercrombie] [Phil_Abercrombie] 2005-08 +appiq-mgmt 4674/tcp # AppIQ Agent Management [Phil_Abercrombie] [Phil_Abercrombie] 2005-08 +appiq-mgmt 4674/udp # AppIQ Agent Management [Phil_Abercrombie] [Phil_Abercrombie] 2005-08 +dhct-status 4675/tcp # BIAP Device Status +dhct-status 4675/udp # BIAP Device Status +dhct-alerts 4676/tcp # BIAP Generic Alert [Louis_Slothouber] [Louis_Slothouber] 2005-08 +dhct-alerts 4676/udp # BIAP Generic Alert [Louis_Slothouber] [Louis_Slothouber] 2005-08 +bcs 4677/tcp # Business Continuity Servi [Siew_Sim] [Siew_Sim] 2005-08 +bcs 4677/udp # Business Continuity Servi [Siew_Sim] [Siew_Sim] 2005-08 +traversal 4678/tcp # boundary traversal [Kevin_Lu] [Kevin_Lu] 2005-08 +traversal 4678/udp # boundary traversal [Kevin_Lu] [Kevin_Lu] 2005-08 +mgesupervision 4679/tcp # MGE UPS Supervision +mgesupervision 4679/udp # MGE UPS Supervision +mgemanagement 4680/tcp # MGE UPS Management [Lecuivre_J] [Lecuivre_J] 2005-08 +mgemanagement 4680/udp # MGE UPS Management [Lecuivre_J] [Lecuivre_J] 2005-08 +parliant 4681/tcp # Parliant Telephony System [Colin_Henein] [Colin_Henein] 2005-08 +parliant 4681/udp # Parliant Telephony System [Colin_Henein] [Colin_Henein] 2005-08 +finisar 4682/tcp # finisar [Christina_Mercier] [Christina_Mercier] 2005-08 +finisar 4682/udp # finisar [Christina_Mercier] [Christina_Mercier] 2005-08 +spike 4683/tcp # Spike Clipboard Service [Scott_Herscher] [Scott_Herscher] 2005-08 +spike 4683/udp # Spike Clipboard Service [Scott_Herscher] [Scott_Herscher] 2005-08 +rfid-rp1 4684/tcp # RFID Reader Protocol 1.0 [Michael_Mealling_2] [Michael_Mealling_2] 2005-08 +rfid-rp1 4684/udp # RFID Reader Protocol 1.0 [Michael_Mealling_2] [Michael_Mealling_2] 2005-08 +autopac 4685/tcp # Autopac Protocol [Peter_Hallenbeck] [Peter_Hallenbeck] 2005-08 +autopac 4685/udp # Autopac Protocol [Peter_Hallenbeck] [Peter_Hallenbeck] 2005-08 +msp-os 4686/tcp # Manina Service Protocol [Markus_Nix] [Markus_Nix] 2005-08 +msp-os 4686/udp # Manina Service Protocol [Markus_Nix] [Markus_Nix] 2005-08 +nst 4687/tcp # Network Scanner Tool FTP [Mala_Bhat] [Mala_Bhat] 2005-08 +nst 4687/udp # Network Scanner Tool FTP [Mala_Bhat] [Mala_Bhat] 2005-08 +mobile-p2p 4688/tcp # Mobile P2P Service [Hanz_Hager] [Hanz_Hager] 2008-12-04 +mobile-p2p 4688/udp # Mobile P2P Service [Hanz_Hager] [Hanz_Hager] 2008-12-04 +altovacentral 4689/tcp # Altova DatabaseCentral [Altova] [Altova] 2005-08 +altovacentral 4689/udp # Altova DatabaseCentral [Altova] [Altova] 2005-08 +prelude 4690/tcp # Prelude IDS message proto [Yoann_Vandoorselaere] [Yoann_Vandoorselaere] 2005-08 +prelude 4690/udp # Prelude IDS message proto [Yoann_Vandoorselaere] [Yoann_Vandoorselaere] 2005-08 +mtn 4691/tcp # monotone Netsync Protocol [Thomas_Keller] [Thomas_Keller] 2010-12-22 +mtn 4691/udp # monotone Netsync Protocol [Thomas_Keller] [Thomas_Keller] 2010-12-22 +conspiracy 4692/tcp # Conspiracy messaging [Jens_Edlund] [Jens_Edlund] 2005-08 +conspiracy 4692/udp # Conspiracy messaging [Jens_Edlund] [Jens_Edlund] 2005-08 +# 4693-4699 Unassigned +netxms-agent 4700/tcp # NetXMS Agent +netxms-agent 4700/udp # NetXMS Agent +netxms-mgmt 4701/tcp # NetXMS Management +netxms-mgmt 4701/udp # NetXMS Management +netxms-sync 4702/tcp # NetXMS Server [Victor_Kirhenshtein] [Victor_Kirhenshtein] 2006-07 +# Synchronization +netxms-sync 4702/udp # NetXMS Server [Victor_Kirhenshtein] [Victor_Kirhenshtein] 2006-07 +# Network Performance Quality +npqes-test 4703/tcp # Evaluation System Test [Zhengli] [Zhengli] 2010-06-28 +# 4703 udp Reserved +assuria-ins 4704/tcp # Assuria Insider [Nick_Connor] [Nick_Connor] 2010-06-30 +# 4704 udp Reserved +# 4705-4724 Unassigned +truckstar 4725/tcp # TruckStar Service [Brian_Toothill] [Brian_Toothill] 2010-10-15 +truckstar 4725/udp # TruckStar Service [Brian_Toothill] [Brian_Toothill] 2010-10-15 +# 4726 tcp Reserved +a26-fap-fgw 4726/udp # A26 (FAP-FGW) [David_Ott] [David_Ott] 2010-10-15 +fcis 4727/tcp # F-Link Client Information +fcis-disc 4727/udp # F-Link Client Information [Makoto_Zukawa] [Makoto_Zukawa] 2010-10-15 +# Service Discovery +capmux 4728/tcp # CA Port Multiplexer [Nigel_Groves] [Nigel_Groves] 2006-06 +capmux 4728/udp # CA Port Multiplexer [Nigel_Groves] [Nigel_Groves] 2006-06 +# 4729 tcp Reserved +gsmtap 4729/udp # GSM Interface Tap [Harald_Welte] [Harald_Welte] 2009-01-16 +gearman 4730/tcp # Gearman Job Queue System [Eric_Day] [Eric_Day] 2009-01-16 +gearman 4730/udp # Gearman Job Queue System [Eric_Day] [Eric_Day] 2009-01-16 +remcap 4731/tcp # Remote Capture Protocol [Marc_Donner] [Marc_Donner] 2009-01-16 +# 4731 udp Reserved +# 4732 tcp Reserved +ohmtrigger 4732/udp # OHM server trigger [Franck_Lefevre] [Franck_Lefevre] 2009-11-18 +resorcs 4733/tcp # RES Orchestration Catalog [Bob_Janssen_2] [Bob_Janssen_2] 2009-11-18 +# 4733 udp Reserved +# 4734-4736 Unassigned +ipdr-sp 4737/tcp # IPDR/SP [Ken_Sarno] [Ken_Sarno] 2005-08 +ipdr-sp 4737/udp # IPDR/SP [Ken_Sarno] [Ken_Sarno] 2005-08 +solera-lpn 4738/tcp # SoleraTec Locator [Mark_Armstrong] [Mark_Armstrong] 2005-12 +solera-lpn 4738/udp # SoleraTec Locator [Mark_Armstrong] [Mark_Armstrong] 2005-12 +ipfix 4739/tcp # IP Flow Info Export [Nevil_Brownlee] [Nevil_Brownlee] 2005-08 +ipfix 4739/udp # IP Flow Info Export [Nevil_Brownlee] [Nevil_Brownlee] 2005-08 +ipfix 4739/sctp # IP Flow Info Export [Nevil_Brownlee] [Nevil_Brownlee] 2006-01 +ipfixs 4740/tcp # ipfix protocol over TLS [Nevil_Brownlee] [Nevil_Brownlee] 2006-10 +ipfixs 4740/sctp # ipfix protocol over DTLS [Nevil_Brownlee] [Nevil_Brownlee] 2006-10 +ipfixs 4740/udp # ipfix protocol over DTLS [Nevil_Brownlee] [Nevil_Brownlee] 2006-10 +lumimgrd 4741/tcp # Luminizer Manager [George_Hwa] [George_Hwa] 2007-03 +lumimgrd 4741/udp # Luminizer Manager [George_Hwa] [George_Hwa] 2007-03 +sicct 4742/tcp # SICCT +sicct-sdp 4742/udp # SICCT Service Discovery [TeleTrusT_Deutschlan] [TeleTrusT_Deutschlan] 2006-04 +openhpid 4743/tcp # openhpi HPI service [Thomas_Kanngieser] [Thomas_Kanngieser] 2006-01 +openhpid 4743/udp # openhpi HPI service [Thomas_Kanngieser] [Thomas_Kanngieser] 2006-01 +ifsp 4744/tcp # Internet File [Alex_White] [Alex_White] 2007-09-12 +# Synchronization Protocol +ifsp 4744/udp # Internet File [Alex_White] [Alex_White] 2007-09-12 +fmp 4745/tcp # Funambol Mobile Push [Andrea_Gazzaniga] [Andrea_Gazzaniga] 2007-01 +fmp 4745/udp # Funambol Mobile Push [Andrea_Gazzaniga] [Andrea_Gazzaniga] 2007-01 +# 4746 Unassigned +buschtrommel 4747/udp # peer-to-peer file exchange [None] [Tobias_Sturm] 2013-01-14 +# 4747 tcp Reserved +# 4748-4748 Unassigned +profilemac 4749/tcp # Profile for Mac [David_Sinclair] [David_Sinclair] 2006-05 +profilemac 4749/udp # Profile for Mac [David_Sinclair] [David_Sinclair] 2006-05 +ssad 4750/tcp # Simple Service Auto [Dr_Horst_Herb] [Dr_Horst_Herb] 2005-12 +# Discovery +ssad 4750/udp # Simple Service Auto [Dr_Horst_Herb] [Dr_Horst_Herb] 2005-12 +spocp 4751/tcp # Simple Policy Control [Roland_Hedberg_2] [Roland_Hedberg_2] 2005-08 +spocp 4751/udp # Simple Policy Control [Roland_Hedberg_2] [Roland_Hedberg_2] 2005-08 +snap 4752/tcp # Simple Network Audio [Dameon_Wagner] [Dameon_Wagner] 2002-02 +snap 4752/udp # Simple Network Audio [Dameon_Wagner] [Dameon_Wagner] 2002-02 +simon 4753/tcp # Simple Invocation of Methods [Alexander_Christian] [Alexander_Christian] 2012-04-19 +# Over Network (SIMON) +# Simple Invocation of Methods +simon-disc 4753/udp # Over Network (SIMON) [Alexander_Christian] [Alexander_Christian] 2012-04-19 +# 4754-4783 Unassigned +bfd-multi-ctl 4784/tcp # BFD Multihop Control [Dave_Katz][Dave_Ward] [Dave_Katz][Dave_Ward] 2006-02 +bfd-multi-ctl 4784/udp # BFD Multihop Control [Dave_Katz][Dave_Ward] [Dave_Katz][Dave_Ward] 2006-02 +# 4785 tcp Reserved +cncp 4785/udp # Cisco Nexus Control Protocol [Joseph_Swaminathan] [Joseph_Swaminathan] 2009-04-01 +smart-install 4786/tcp # Smart Install Service [Amit_Nigam] [Amit_Nigam] 2009-08-24 +# 4786 udp Reserved +# Service Insertion +sia-ctrl-plane 4787/tcp # Architecture (SIA) [Shree_Murthy] [Shree_Murthy] 2009-10-29 +# Control-Plane +# 4787 udp Reserved +# eXtensible Messaging Client Defined TXT keys: txtvers=1 (as described in the draft) +xmcp 4788/tcp # Protocol [Cisco] [Glenn_Matthews] 2011-05-23 2011-10-25 protovers= (examples: "protovers=1.0" "protovers=1.1,2.0" +# 4788 udp Reserved +# 4789-4799 Unassigned +iims 4800/tcp # Icona Instant Messenging +iims 4800/udp # Icona Instant Messenging +iwec 4801/tcp # Icona Web Embedded Chat +iwec 4801/udp # Icona Web Embedded Chat +ilss 4802/tcp # Icona License System Server [Paul_Stephen_Borlie] [Paul_Stephen_Borlie] +ilss 4802/udp # Icona License System Server [Paul_Stephen_Borlie] [Paul_Stephen_Borlie] +notateit 4803/tcp # Notateit Messaging +notateit-disc 4803/udp # Notateit Messaging Discovery [Ean_Black] [Ean_Black] 2009-04-08 +# 4804 tcp Reserved +aja-ntv4-disc 4804/udp # AJA ntv4 Video System [Mike_Bernadett] [Mike_Bernadett] 2010-06-03 +# 4805-4826 Unassigned +htcp 4827/tcp # HTCP [Paul_Vixie] [Paul_Vixie] +htcp 4827/udp # HTCP [Paul_Vixie] [Paul_Vixie] +# 4828-4836 Unassigned +varadero-0 4837/tcp # Varadero-0 +varadero-0 4837/udp # Varadero-0 +varadero-1 4838/tcp # Varadero-1 +varadero-1 4838/udp # Varadero-1 +varadero-2 4839/tcp # Varadero-2 [Carlos_Arteaga] [Carlos_Arteaga] +varadero-2 4839/udp # Varadero-2 [Carlos_Arteaga] [Carlos_Arteaga] +opcua-tcp 4840/tcp # OPC UA TCP Protocol +opcua-udp 4840/udp # OPC UA TCP Protocol [Randy_Armstrong] [Randy_Armstrong] 2006-09 +quosa 4841/tcp # QUOSA Virtual Library [Uri_Blank] [Uri_Blank] 2006-09 +quosa 4841/udp # QUOSA Virtual Library [Uri_Blank] [Uri_Blank] 2006-09 +gw-asv 4842/tcp # nCode ICE-flow Library [Ross_Swithenbank] [Ross_Swithenbank] 2006-09 +# AppServer +gw-asv 4842/udp # nCode ICE-flow Library [Ross_Swithenbank] [Ross_Swithenbank] 2006-09 +opcua-tls 4843/tcp # OPC UA TCP Protocol over [Randy_Armstrong] [Randy_Armstrong] 2006-09 +opcua-tls 4843/udp # OPC UA TCP Protocol over [Randy_Armstrong] [Randy_Armstrong] 2006-09 +gw-log 4844/tcp # nCode ICE-flow Library [Ross_Swithenbank] [Ross_Swithenbank] 2006-09 +# LogServer +gw-log 4844/udp # nCode ICE-flow Library [Ross_Swithenbank] [Ross_Swithenbank] 2006-09 +wcr-remlib 4845/tcp # WordCruncher Remote Library [Jason_Dzubak] [Jason_Dzubak] 2008-03-17 +wcr-remlib 4845/udp # WordCruncher Remote Library [Jason_Dzubak] [Jason_Dzubak] 2008-03-17 +# Contamac ICM Service +# +contamac-icm 4846/tcp # IANA assigned this [Abdullah_Obeid] [Abdullah_Obeid] 2008-03-20 +# "contamac_icm". +# This entry is an alias to "contamac-icm". This entry is now +contamac_icm 4846/tcp # Contamac ICM Service [Abdullah_Obeid] [Abdullah_Obeid] 2008-03-20 historic, not usable for use with many common service +# +contamac-icm 4846/udp # IANA assigned this [Abdullah_Obeid] [Abdullah_Obeid] 2008-03-20 +contamac_icm 4846/udp # Contamac ICM Service [Abdullah_Obeid] [Abdullah_Obeid] 2008-03-20 historic, not usable for use with many common service +wfc 4847/tcp # Web Fresh Communication [Jonathan_Bastnagel] [Jonathan_Bastnagel] 2007-09-17 +wfc 4847/udp # Web Fresh Communication [Jonathan_Bastnagel] [Jonathan_Bastnagel] 2007-09-17 +appserv-http 4848/tcp # App Server - Admin HTTP +appserv-http 4848/udp # App Server - Admin HTTP +appserv-https 4849/tcp # App Server - Admin HTTPS [Sreeram_Duvvuru] [Sreeram_Duvvuru] 2002-04 +appserv-https 4849/udp # App Server - Admin HTTPS [Sreeram_Duvvuru] [Sreeram_Duvvuru] 2002-04 +sun-as-nodeagt 4850/tcp # Sun App Server - NA [Kedar_Mhaswade] [Kedar_Mhaswade] 2004-11 +sun-as-nodeagt 4850/udp # Sun App Server - NA [Kedar_Mhaswade] [Kedar_Mhaswade] 2004-11 +derby-repli 4851/tcp # Apache Derby Replication [Jorgen_Loland] [Jorgen_Loland] 2008-02-27 +derby-repli 4851/udp # Apache Derby Replication [Jorgen_Loland] [Jorgen_Loland] 2008-02-27 +# 4852-4866 Unassigned +unify-debug 4867/tcp # Unify Debugger [Daegis_Inc] [Chris_Anderson] 2006-05 2012-07-31 +unify-debug 4867/udp # Unify Debugger [Daegis_Inc] [Chris_Anderson] 2006-05 2012-07-31 +phrelay 4868/tcp # Photon Relay +phrelay 4868/udp # Photon Relay +phrelaydbg 4869/tcp # Photon Relay Debug [Michael_Hunter] [Michael_Hunter] +phrelaydbg 4869/udp # Photon Relay Debug [Michael_Hunter] [Michael_Hunter] +cc-tracking 4870/tcp # Citcom Tracking Service [Wolfgang_Weidner] [Wolfgang_Weidner] 2005-12 +cc-tracking 4870/udp # Citcom Tracking Service [Wolfgang_Weidner] [Wolfgang_Weidner] 2005-12 +wired 4871/tcp # Wired [Axel_Andersson] [Axel_Andersson] 2006-02 +wired 4871/udp # Wired [Axel_Andersson] [Axel_Andersson] 2006-02 +# 4872-4875 Unassigned +tritium-can 4876/tcp # Tritium CAN Bus Bridge [James_Kennedy] [James_Kennedy] 2011-02-15 +tritium-can 4876/udp # Tritium CAN Bus Bridge [James_Kennedy] [James_Kennedy] 2011-02-15 +lmcs 4877/tcp # Lighting Management Control [Timothy_Parry] [Timothy_Parry] 2011-02-15 +lmcs 4877/udp # Lighting Management Control [Timothy_Parry] [Timothy_Parry] 2011-02-15 +# 4878 tcp Reserved +inst-discovery 4878/udp # Agilent Instrument Discovery [Charles_F_Steele] [Charles_F_Steele] 2011-02-15 +wsdl-event 4879/tcp # WSDL Event Receiver [Charles_F_Steele] [Charles_F_Steele] 2011-02-15 +# 4879 udp Reserved +hislip 4880/tcp # IVI High-Speed LAN [Joe_Mueller] [Joe_Mueller] 2010-01-11 +# Instrument Protocol +# 4880 udp Reserved +# 4881 tcp Reserved +socp-t 4881/udp # SOCP Time Synchronization [Joe_Haver] [Joe_Haver] 2010-05-28 +# 4882 tcp Reserved +socp-c 4882/udp # SOCP Control Protocol [Joe_Haver] [Joe_Haver] 2010-05-28 +wmlserver 4883/tcp # Meier-Phelps License Server [William_Phelps] [William_Phelps] 2010-03-22 +# 4883 udp Reserved +hivestor 4884/tcp # HiveStor Distributed File [Nicholas_Young] [Nicholas_Young] 2008-07-10 +hivestor 4884/udp # HiveStor Distributed File [Nicholas_Young] [Nicholas_Young] 2008-07-10 +abbs 4885/tcp # ABBS [Ryan_Rubley] [Ryan_Rubley] +abbs 4885/udp # ABBS [Ryan_Rubley] [Ryan_Rubley] +# 4886-4893 Unassigned +lyskom 4894/tcp # LysKOM Protocol A [Per_Cederqvist] [Per_Cederqvist] +lyskom 4894/udp # LysKOM Protocol A [Per_Cederqvist] [Per_Cederqvist] +# 4895-4898 Unassigned +radmin-port 4899/tcp # RAdmin Port [Dmitri_Znosko] [Dmitri_Znosko] 2003-03 +radmin-port 4899/udp # RAdmin Port [Dmitri_Znosko] [Dmitri_Znosko] 2003-03 +hfcs 4900/tcp # HyperFileSQL Client/Server [Jerome_AERTS] [Jerome_AERTS] 2010-11-30 +# Database Engine +hfcs 4900/udp # HyperFileSQL Client/Server [Jerome_AERTS] [Jerome_AERTS] 2010-11-30 +# FileLocator Remote Search +# +flr-agent 4901/tcp # IANA assigned this [David_Vest] [David_Vest] 2008-11-19 +# "flr_agent". +# FileLocator Remote Search This entry is an alias to "flr-agent". This entry is now +flr_agent 4901/tcp # Agent [David_Vest] [David_Vest] 2008-11-19 historic, not usable for use with many common service +# 4901 udp Reserved +magiccontrol 4902/tcp # magicCONROL RF and Data [Andreas_Spalenski] [Andreas_Spalenski] 2008-11-24 +# 4902 udp Reserved +# 4903-4911 Unassigned +lutap 4912/tcp # Technicolor LUT Access [Markus_Loeffler] [Markus_Loeffler] 2009-02-17 +# 4912 udp Reserved +lutcp 4913/tcp # LUTher Control Protocol [Markus_Loeffler] [Markus_Loeffler] 2007-07-03 +bones 4914/tcp # Bones Remote Control [Andreas_Foedrowitz] [Andreas_Foedrowitz] 2008-06-18 +bones 4914/udp # Bones Remote Control [Andreas_Foedrowitz] [Andreas_Foedrowitz] 2008-06-18 +frcs 4915/tcp # Fibics Remote Control [Ken_Lagarec] [Ken_Lagarec] 2009-04-17 +# 4915 udp Reserved +# 4916-4936 Unassigned +# 4937 tcp Reserved +atsc-mh-ssc 4937/udp # ATSC-M/H Service Signaling [Jerry_Whitaker] [Jerry_Whitaker] 2008-10-27 +# 4938-4939 Unassigned +eq-office-4940 4940/tcp # Equitrac Office +eq-office-4940 4940/udp # Equitrac Office +eq-office-4941 4941/tcp # Equitrac Office +eq-office-4941 4941/udp # Equitrac Office +eq-office-4942 4942/tcp # Equitrac Office [Tom_Haapanen_2] [Tom_Haapanen_2] 2007-07-11 +eq-office-4942 4942/udp # Equitrac Office [Tom_Haapanen_2] [Tom_Haapanen_2] 2007-07-11 +# 4943-4948 Unassigned +munin 4949/tcp # Munin Graphing Framework [Jimmy_Olsen] [Jimmy_Olsen] 2010-12-24 +munin 4949/udp # Munin Graphing Framework [Jimmy_Olsen] [Jimmy_Olsen] 2010-12-24 +sybasesrvmon 4950/tcp # Sybase Server Monitor [Chris_Irie] [Chris_Irie] 2008-03-26 +sybasesrvmon 4950/udp # Sybase Server Monitor [Chris_Irie] [Chris_Irie] 2008-03-26 +pwgwims 4951/tcp # PWG WIMS [Ira_McDonald] [Ira_McDonald] 2005-12 +pwgwims 4951/udp # PWG WIMS [Ira_McDonald] [Ira_McDonald] 2005-12 +sagxtsds 4952/tcp # SAG Directory Server [Michael_Chirila] [Michael_Chirila] 2006-01 +sagxtsds 4952/udp # SAG Directory Server [Michael_Chirila] [Michael_Chirila] 2006-01 +dbsyncarbiter 4953/tcp # Synchronization Arbiter [Dave_Neudoerffer_2] [Dave_Neudoerffer_2] 2009-11-18 +# 4953 udp Reserved +# 4954-4968 Unassigned USE: port +# 4967 by +# Rockwell FTA +ccss-qmm 4969/tcp # CCSS QMessageMonitor +ccss-qmm 4969/udp # CCSS QMessageMonitor +ccss-qsm 4970/tcp # CCSS QSystemMonitor [David_Young] [David_Young] 2006-01 +ccss-qsm 4970/udp # CCSS QSystemMonitor [David_Young] [David_Young] 2006-01 +# 4971-4982 Unassigned +# 4983 Unassigned 2005-12-22 +webyast 4984/tcp # WebYast [Federico_Lucifredi] [Federico_Lucifredi] 2009-09-25 +# 4984 udp Reserved +gerhcs 4985/tcp # GER HC Standard [Roger_Ward] [Roger_Ward] 2009-09-25 +# 4985 udp Reserved +mrip 4986/tcp # Model Railway Interface [Howard_Amos] [Howard_Amos] 2006-04 +mrip 4986/udp # Model Railway Interface [Howard_Amos] [Howard_Amos] 2006-04 +smar-se-port1 4987/tcp # SMAR Ethernet Port 1 +smar-se-port1 4987/udp # SMAR Ethernet Port 1 +smar-se-port2 4988/tcp # SMAR Ethernet Port 2 [Delcio_Prizon] [Delcio_Prizon] +smar-se-port2 4988/udp # SMAR Ethernet Port 2 [Delcio_Prizon] [Delcio_Prizon] +parallel 4989/tcp # Parallel for GAUSS (tm) [Matthew_Ford] [Matthew_Ford] 2003-03 +parallel 4989/udp # Parallel for GAUSS (tm) [Matthew_Ford] [Matthew_Ford] 2003-03 +busycal 4990/tcp # BusySync Calendar Synch. [David_Riggle] [David_Riggle] 2008-01-07 Defined TXT keys: Proprietary +busycal 4990/udp # BusySync Calendar Synch. [David_Riggle] [David_Riggle] 2008-01-07 Defined TXT keys: Proprietary +vrt 4991/tcp # VITA Radio Transport [Sam_Bretheim] [Sam_Bretheim] 2009-01-08 +vrt 4991/udp # VITA Radio Transport [Sam_Bretheim] [Sam_Bretheim] 2009-01-08 +# 4992-4998 Unassigned +hfcs-manager 4999/tcp # HyperFileSQL Client/Server [Jerome_AERTS] [Jerome_AERTS] 2010-11-30 +# Database Engine Manager +hfcs-manager 4999/udp # HyperFileSQL Client/Server [Jerome_AERTS] [Jerome_AERTS] 2010-11-30 +commplex-main 5000/tcp +commplex-main 5000/udp +commplex-link 5001/tcp +commplex-link 5001/udp +rfe 5002/tcp # radio free ethernet +rfe 5002/udp # radio free ethernet +fmpro-internal 5003/tcp # FileMaker, Inc. - [Clay_Maeckel] [Clay_Maeckel] +# Proprietary transport +fmpro-internal 5003/udp # FileMaker, Inc. - [Clay_Maeckel] [Clay_Maeckel] +# Proprietary name binding +avt-profile-1 5004/tcp # RTP media data [RFC3551][RFC4571] +avt-profile-1 5004/udp # RTP media data [RFC3551] +avt-profile-1 5004/dccp # RTP media data [RFC3551][RFC5762] +avt-profile-2 5005/tcp # RTP control protocol [RFC3551][RFC4571] +avt-profile-2 5005/udp # RTP control protocol [RFC3551] +avt-profile-2 5005/dccp # RTP control protocol [RFC3551][RFC5762] +wsm-server 5006/tcp # wsm server [Adam_Berk] [Adam_Berk] +wsm-server 5006/udp # wsm server [Adam_Berk] [Adam_Berk] +wsm-server-ssl 5007/tcp # wsm server ssl [Adam_Berk] [Adam_Berk] +wsm-server-ssl 5007/udp # wsm server ssl [Adam_Berk] [Adam_Berk] +synapsis-edge 5008/tcp # Synapsis EDGE [Paul_Schilling] [Paul_Schilling] +synapsis-edge 5008/udp # Synapsis EDGE [Paul_Schilling] [Paul_Schilling] +winfs 5009/tcp # Microsoft Windows Filesystem [Simon_Skaria] [Simon_Skaria] 2006-01 +winfs 5009/udp # Microsoft Windows Filesystem [Simon_Skaria] [Simon_Skaria] 2006-01 +telelpathstart 5010/tcp # TelepathStart [Helmuth_Breitenfelln] [Helmuth_Breitenfelln] +telelpathstart 5010/udp # TelepathStart [Helmuth_Breitenfelln] [Helmuth_Breitenfelln] +telelpathattack 5011/tcp # TelepathAttack [Helmuth_Breitenfelln] [Helmuth_Breitenfelln] +telelpathattack 5011/udp # TelepathAttack [Helmuth_Breitenfelln] [Helmuth_Breitenfelln] +nsp 5012/tcp # NetOnTap Service [Kim_Hancock] [Kim_Hancock] 2007-10-24 +nsp 5012/udp # NetOnTap Service [Kim_Hancock] [Kim_Hancock] 2007-10-24 +fmpro-v6 5013/tcp # FileMaker, Inc. - [Alex_Chen] [Alex_Chen] 2007-08-01 +fmpro-v6 5013/udp # FileMaker, Inc. - [Alex_Chen] [Alex_Chen] 2007-08-01 +# 5014 tcp Reserved +onpsocket 5014/udp # Overlay Network Protocol [Roger_Matthias] [Roger_Matthias] 2009-08-24 +fmwp 5015/tcp # FileMaker, Inc. - Web [Alex_Chen] [Alex_Chen] 2009-11-25 +# publishing +# 5015 udp Reserved +# 5016-5019 Unassigned +zenginkyo-1 5020/tcp # zenginkyo-1 [Masashi_Suzaki] [Masashi_Suzaki] +zenginkyo-1 5020/udp # zenginkyo-1 [Masashi_Suzaki] [Masashi_Suzaki] +zenginkyo-2 5021/tcp # zenginkyo-2 [Masashi_Suzaki] [Masashi_Suzaki] +zenginkyo-2 5021/udp # zenginkyo-2 [Masashi_Suzaki] [Masashi_Suzaki] +mice 5022/tcp # mice server [Alan_Clifford] [Alan_Clifford] +mice 5022/udp # mice server [Alan_Clifford] [Alan_Clifford] +htuilsrv 5023/tcp # Htuil Server for PLD2 [Dennis_Reinhardt] [Dennis_Reinhardt] +htuilsrv 5023/udp # Htuil Server for PLD2 [Dennis_Reinhardt] [Dennis_Reinhardt] +scpi-telnet 5024/tcp # SCPI-TELNET [Ryan_Columbus] [Ryan_Columbus] 2002-10 +scpi-telnet 5024/udp # SCPI-TELNET [Ryan_Columbus] [Ryan_Columbus] 2002-10 +scpi-raw 5025/tcp # SCPI-RAW [Ryan_Columbus] [Ryan_Columbus] 2002-10 +scpi-raw 5025/udp # SCPI-RAW [Ryan_Columbus] [Ryan_Columbus] 2002-10 +strexec-d 5026/tcp # Storix I/O daemon (data) [Anthony_Johnson] [Anthony_Johnson] 2005-08 +strexec-d 5026/udp # Storix I/O daemon (data) [Anthony_Johnson] [Anthony_Johnson] 2005-08 +strexec-s 5027/tcp # Storix I/O daemon (stat) [Anthony_Johnson] [Anthony_Johnson] 2005-08 +strexec-s 5027/udp # Storix I/O daemon (stat) [Anthony_Johnson] [Anthony_Johnson] 2005-08 +qvr 5028/tcp # Quiqum Virtual Relais [Philipp_Marcel_Albre] [Philipp_Marcel_Albre] 2009-07-06 +# 5028 udp Reserved +infobright 5029/tcp # Infobright Database Server [Mark_Windrim] [Mark_Windrim] 2009-07-23 +infobright 5029/udp # Infobright Database Server [Mark_Windrim] [Mark_Windrim] 2009-07-23 +surfpass 5030/tcp # SurfPass [Olivier_Guezenec] [Olivier_Guezenec] 2006-12 +surfpass 5030/udp # SurfPass [Olivier_Guezenec] [Olivier_Guezenec] 2006-12 +# 5031 tcp Reserved +dmp 5031/udp # Direct Message Protocol [Gjermund_Wallenius] [Gjermund_Wallenius] 2009-09-30 +signacert-agent 5032/tcp # SignaCert Enterprise Trust [Harris_Corporation] [Daniel_R_Somerfield] 2011-08-05 +# Server Agent +# 5032 udp Reserved +# 5033-5041 Unassigned +asnaacceler8db 5042/tcp # asnaacceler8db [Walter_Goodwin] [Walter_Goodwin] +asnaacceler8db 5042/udp # asnaacceler8db [Walter_Goodwin] [Walter_Goodwin] +swxadmin 5043/tcp # ShopWorX Administration [Don_W_Fitzpatrick] [Don_W_Fitzpatrick] 2005-08 +swxadmin 5043/udp # ShopWorX Administration [Don_W_Fitzpatrick] [Don_W_Fitzpatrick] 2005-08 +lxi-evntsvc 5044/tcp # LXI Event Service [Nick_Barendt] [Nick_Barendt] 2005-08 +lxi-evntsvc 5044/udp # LXI Event Service [Nick_Barendt] [Nick_Barendt] 2005-08 +osp 5045/tcp # Open Settlement Protocol [Dmitry_Isakbayev] [Dmitry_Isakbayev] 2010-03-05 +# 5045 udp Reserved +# 5046 tcp Reserved +vpm-udp 5046/udp # Vishay PM UDP Service [Ashley_Clarke] [Ashley_Clarke] 2010-06-17 +# 5047 tcp Reserved +iscape 5047/udp # iSCAPE Data Broadcasting [Roland_van_der_Veen] [Roland_van_der_Veen] 2010-06-17 +texai 5048/tcp # Texai Message Service [Stephen_Reed_2] [Stephen_Reed_2] 2010-06-17 +# 5048 udp Reserved +ivocalize 5049/tcp # iVocalize Web Conference [Bryan_Vergato] [Bryan_Vergato] 2006-05 +ivocalize 5049/udp # iVocalize Web Conference [Bryan_Vergato] [Bryan_Vergato] 2006-05 +mmcc 5050/tcp # multimedia conference [Steve_Casner] [Steve_Casner] +# control tool +mmcc 5050/udp # multimedia conference [Steve_Casner] [Steve_Casner] +ita-agent 5051/tcp # ITA Agent [Don_Merrell] [Don_Merrell] +ita-agent 5051/udp # ITA Agent [Don_Merrell] [Don_Merrell] +ita-manager 5052/tcp # ITA Manager [Don_Merrell] [Don_Merrell] +ita-manager 5052/udp # ITA Manager [Don_Merrell] [Don_Merrell] +rlm 5053/tcp # RLM License Server [Matt_Christiano_2] [Matt_Christiano_2] 2008-07-28 +rlm-disc 5053/udp # RLM Discovery Server [Reprise_Software_Inc] [Matt_Christiano_3] 2012-11-06 +rlm-admin 5054/tcp # RLM administrative interface [Matt_Christiano_2] [Matt_Christiano_2] 2008-07-28 +# 5054 udp Reserved +unot 5055/tcp # UNOT [Gordon_Mohr_2] [Gordon_Mohr_2] +unot 5055/udp # UNOT [Gordon_Mohr_2] [Gordon_Mohr_2] +intecom-ps1 5056/tcp # Intecom Pointspan 1 [David_Meermans] [David_Meermans] +intecom-ps1 5056/udp # Intecom Pointspan 1 [David_Meermans] [David_Meermans] +intecom-ps2 5057/tcp # Intecom Pointspan 2 [David_Meermans] [David_Meermans] +intecom-ps2 5057/udp # Intecom Pointspan 2 [David_Meermans] [David_Meermans] +# 5058 tcp Reserved +locus-disc 5058/udp # Locus Discovery [Alan_King] [Alan_King] 2009-08-13 +sds 5059/tcp # SIP Directory Services [Arthur_Wilton] [Arthur_Wilton] 2006-03 +sds 5059/udp # SIP Directory Services [Arthur_Wilton] [Arthur_Wilton] 2006-03 +sip 5060/tcp # SIP [Henning_Schulzrinne] [Henning_Schulzrinne] +sip 5060/udp # SIP [Henning_Schulzrinne] [Henning_Schulzrinne] +sip-tls 5061/tcp # SIP-TLS [Henning_Schulzrinne] [Henning_Schulzrinne] +sip-tls 5061/udp # SIP-TLS [Henning_Schulzrinne] [Henning_Schulzrinne] +na-localise 5062/tcp # Localisation access [Jean_Pierre_Garcia_2] [Jean_Pierre_Garcia_2] 2009-10-28 +na-localise 5062/udp # Localisation access [Jean_Pierre_Garcia_2] [Jean_Pierre_Garcia_2] 2009-10-28 +csrpc 5063/tcp # centrify secure RPC [Paul_Moore] [Paul_Moore] 2009-10-28 +# 5063 udp Reserved +ca-1 5064/tcp # Channel Access 1 [Jeffrey_Hill] [Jeffrey_Hill] 2002-08 +ca-1 5064/udp # Channel Access 1 [Jeffrey_Hill] [Jeffrey_Hill] 2002-08 +ca-2 5065/tcp # Channel Access 2 [Jeffrey_Hill] [Jeffrey_Hill] 2002-08 +ca-2 5065/udp # Channel Access 2 [Jeffrey_Hill] [Jeffrey_Hill] 2002-08 +stanag-5066 5066/tcp # STANAG-5066-SUBNET-INTF [Donald_G_Kallgren] [Donald_G_Kallgren] +stanag-5066 5066/udp # STANAG-5066-SUBNET-INTF [Donald_G_Kallgren] [Donald_G_Kallgren] +authentx 5067/tcp # Authentx Service [Alberto_Fernandez] [Alberto_Fernandez] 2006-01 +authentx 5067/udp # Authentx Service [Alberto_Fernandez] [Alberto_Fernandez] 2006-01 +bitforestsrv 5068/tcp # Bitforest Data Service [Ville_Pekka_Vahteala] [Ville_Pekka_Vahteala] 2008-06-05 +# 5068 udp Reserved +i-net-2000-npr 5069/tcp # I/Net 2000-NPR [Chris_Megede] [Chris_Megede] +i-net-2000-npr 5069/udp # I/Net 2000-NPR [Chris_Megede] [Chris_Megede] +vtsas 5070/tcp # VersaTrans Server Agent [Christopher_Miller] [Christopher_Miller] 2006-02 +vtsas 5070/udp # VersaTrans Server Agent [Christopher_Miller] [Christopher_Miller] 2006-02 +powerschool 5071/tcp # PowerSchool [Greg_Porter] [Greg_Porter] +powerschool 5071/udp # PowerSchool [Greg_Porter] [Greg_Porter] +ayiya 5072/tcp # Anything In Anything [Jeroen_Massar] [Jeroen_Massar] 2005-08 +ayiya 5072/udp # Anything In Anything [Jeroen_Massar] [Jeroen_Massar] 2005-08 +tag-pm 5073/tcp # Advantage Group Port Mgr [James_Goddard] [James_Goddard] 2005-08 +tag-pm 5073/udp # Advantage Group Port Mgr [James_Goddard] [James_Goddard] 2005-08 +alesquery 5074/tcp # ALES Query [Tim_Maloney] [Tim_Maloney] 2005-08 +alesquery 5074/udp # ALES Query [Tim_Maloney] [Tim_Maloney] 2005-08 +pvaccess 5075/tcp # Experimental Physics and [Matej_Sekoranja] [Matej_Sekoranja] 2012-03-23 +# Industrial Control System +# 5075 udp Reserved +# 5076-5078 Unassigned +# 5079 tcp Reserved +cp-spxrpts 5079/udp # Cambridge Pixel SPx Reports [Richard_Warren] [Richard_Warren] 2008-09-17 +onscreen 5080/tcp # OnScreen Data Collection [Christopher_Miller_2] [Christopher_Miller_2] 2008-01-14 +onscreen 5080/udp # OnScreen Data Collection [Christopher_Miller_2] [Christopher_Miller_2] 2008-01-14 +sdl-ets 5081/tcp # SDL - Ent Trans Server [Marc_Morin] [Marc_Morin] 2002-04 +sdl-ets 5081/udp # SDL - Ent Trans Server [Marc_Morin] [Marc_Morin] 2002-04 +qcp 5082/tcp # Qpur Communication Protocol [Joachim_Kluemper] [Joachim_Kluemper] 2008-03-19 +qcp 5082/udp # Qpur Communication Protocol [Joachim_Kluemper] [Joachim_Kluemper] 2008-03-19 +qfp 5083/tcp # Qpur File Protocol [Joachim_Kluemper] [Joachim_Kluemper] 2008-03-19 +qfp 5083/udp # Qpur File Protocol [Joachim_Kluemper] [Joachim_Kluemper] 2008-03-19 +llrp 5084/tcp # EPCglobal Low-Level Reader [Margaret_Wasserman][Paul_Dietrich] [Margaret_Wasserman][Paul_Dietrich] 2006-11 Defined TXT keys: None. RFID reader Low Level Reader Protocol +llrp 5084/udp # EPCglobal Low-Level Reader [Margaret_Wasserman][Paul_Dietrich] [Margaret_Wasserman][Paul_Dietrich] 2006-11 Defined TXT keys: None. RFID reader Low Level Reader Protocol +encrypted-llrp 5085/tcp # EPCglobal Encrypted LLRP [Margaret_Wasserman] [Margaret_Wasserman] 2006-11 +encrypted-llrp 5085/udp # EPCglobal Encrypted LLRP [Margaret_Wasserman] [Margaret_Wasserman] 2006-11 +aprigo-cs 5086/tcp # Aprigo Collection Service [Ron_Zalkind] [Ron_Zalkind] 2010-05-28 +# 5086 udp Reserved +# 5087-5089 Unassigned +car 5090/sctp # Candidate AR +cxtp 5091/sctp # Context Transfer Protocol 2005-07 [RFC4065] +# 5092 tcp Reserved +magpie 5092/udp # Magpie Binary [Phil_Maker] [Phil_Maker] 2008-06-18 +sentinel-lm 5093/tcp # Sentinel LM [Derick_Snyder] [Derick_Snyder] +sentinel-lm 5093/udp # Sentinel LM [Derick_Snyder] [Derick_Snyder] +hart-ip 5094/tcp # HART-IP [Wally_Pratt_Jr] [Wally_Pratt_Jr] 2010-03-02 +hart-ip 5094/udp # HART-IP [Wally_Pratt_Jr] [Wally_Pratt_Jr] 2010-03-02 +# 5095-5098 Unassigned +sentlm-srv2srv 5099/tcp # SentLM Srv2Srv [Derick_Snyder] [Derick_Snyder] +sentlm-srv2srv 5099/udp # SentLM Srv2Srv [Derick_Snyder] [Derick_Snyder] +socalia 5100/tcp # Socalia service mux [Alberto_Raydan_2] [Alberto_Raydan_2] 2005-08 +socalia 5100/udp # Socalia service mux [Alberto_Raydan_2] [Alberto_Raydan_2] 2005-08 +talarian-tcp 5101/tcp # Talarian_TCP [Leo_Martins] [Leo_Martins] +talarian-udp 5101/udp # Talarian_UDP [Leo_Martins] [Leo_Martins] +oms-nonsecure 5102/tcp # Oracle OMS non-secure [Todd_Guay] [Todd_Guay] 2005-08 +oms-nonsecure 5102/udp # Oracle OMS non-secure [Todd_Guay] [Todd_Guay] 2005-08 +actifio-c2c 5103/tcp # Actifio C2C [Ravi_Kollipara] [Ravi_Kollipara] 2010-06-18 +# 5103 udp Reserved +# 5104 tcp Reserved +tinymessage 5104/udp # TinyMessage [Josip_Medved] [Josip_Medved] 2010-10-20 +# 5105 tcp Reserved +hughes-ap 5105/udp # Hughes Association Protocol [Varun_Santosh] [Varun_Santosh] 2010-10-20 +# 5106-5110 Unassigned +taep-as-svc 5111/tcp # TAEP AS service [Liu_Changchun] [Liu_Changchun] 2008-11-05 +taep-as-svc 5111/udp # TAEP AS service [Liu_Changchun] [Liu_Changchun] 2008-11-05 +pm-cmdsvr 5112/tcp # PeerMe Msg Cmd Service [Marcos_Della] [Marcos_Della] 2005-08 +pm-cmdsvr 5112/udp # PeerMe Msg Cmd Service [Marcos_Della] [Marcos_Della] 2005-08 +# 5113 Unassigned 2010-11-09 +ev-services 5114/tcp # Enterprise Vault Services [Richard_Jones_2] [Richard_Jones_2] 2009-05-26 +# 5114 udp Reserved +autobuild 5115/tcp # Symantec Autobuild Service [David_Warden] [David_Warden] 2008-11-17 +# 5115 udp Reserved +# 5116 tcp Reserved +emb-proj-cmd 5116/udp # EPSON Projecter Image [SEIKO_EPSON_4] [SEIKO_EPSON_4] 2008-11-17 +gradecam 5117/tcp # GradeCam Image Processing [Robert_Porter] [Robert_Porter] 2009-09-24 +# 5117 udp Reserved +# 5118-5132 Unassigned +nbt-pc 5133/tcp # Policy Commander [Emily_Harris] [Emily_Harris] 2004-11 +nbt-pc 5133/udp # Policy Commander [Emily_Harris] [Emily_Harris] 2004-11 +ppactivation 5134/tcp # PP ActivationServer [Ian_Bradley] [Ian_Bradley] 2009-10-14 +# 5134 udp Reserved +erp-scale 5135/tcp # ERP-Scale [Ian_Bradley] [Ian_Bradley] 2009-10-14 RFC= +# Device= +# 5135 udp Reserved +# 5136 tcp Reserved +minotaur-sa 5136/udp # Minotaur SA [Kenneth_Flynn] [Kenneth_Flynn] 2009-10-14 +ctsd 5137/tcp # MyCTS server port [Jilles_Oldenbeuving] [Jilles_Oldenbeuving] 2002-06 +ctsd 5137/udp # MyCTS server port [Jilles_Oldenbeuving] [Jilles_Oldenbeuving] 2002-06 +# 5138-5144 Unassigned +# RMONITOR SECURE +# +rmonitor-secure 5145/tcp # IANA assigned this [Kory_Hamzeh] [Kory_Hamzeh] +# "rmonitor_secure". +# This entry is an alias to "rmonitor-secure". This entry is +rmonitor_secure 5145/tcp # RMONITOR SECURE [Kory_Hamzeh] [Kory_Hamzeh] now historic, not usable for use with many common service +# +rmonitor-secure 5145/udp # IANA assigned this [Kory_Hamzeh] [Kory_Hamzeh] +rmonitor_secure 5145/udp # RMONITOR SECURE [Kory_Hamzeh] [Kory_Hamzeh] now historic, not usable for use with many common service +social-alarm 5146/tcp # Social Alarm Service [Shaun_Byrne] [Shaun_Byrne] 2009-08-18 +# 5146 udp Reserved +# 5147-5149 Unassigned +atmp 5150/tcp # Ascend Tunnel Management [Kory_Hamzeh] [Kory_Hamzeh] +atmp 5150/udp # Ascend Tunnel Management [Kory_Hamzeh] [Kory_Hamzeh] +# ESRI SDE Instance +esri-sde 5151/tcp # IANA assigned this [Peter_Aronson] [Peter_Aronson] Use Known on +# well-formed service name as ports 5151 +# a replacement for and 5152 +# "esri_sde". +# This entry is an alias to "esri-sde". This entry is now +esri_sde 5151/tcp # ESRI SDE Instance [Peter_Aronson] [Peter_Aronson] historic, not usable for use with many common service +# ESRI SDE Remote Start +esri-sde 5151/udp # IANA assigned this [Peter_Aronson] [Peter_Aronson] Use Known on +esri_sde 5151/udp # ESRI SDE Remote Start [Peter_Aronson] [Peter_Aronson] historic, not usable for use with many common service +sde-discovery 5152/tcp # ESRI SDE Instance Discovery [Peter_Aronson] [Peter_Aronson] Use Known on +# ports 5151 +# and 5152 +sde-discovery 5152/udp # ESRI SDE Instance Discovery [Peter_Aronson] [Peter_Aronson] Use Known on +toruxserver 5153/tcp # ToruX Game Server [Josse_van_Dobben_de] [Josse_van_Dobben_de] 2009-07-01 +# 5153 udp Reserved +bzflag 5154/tcp # BZFlag game server [Tim_Riker] [Tim_Riker] 2003-07 +bzflag 5154/udp # BZFlag game server [Tim_Riker] [Tim_Riker] 2003-07 +asctrl-agent 5155/tcp # Oracle asControl Agent [Todd_Guay] [Todd_Guay] 2005-08 +asctrl-agent 5155/udp # Oracle asControl Agent [Todd_Guay] [Todd_Guay] 2005-08 +rugameonline 5156/tcp # Russian Online Game [Andrey_Mohov] [Andrey_Mohov] 2010-08-17 +# 5156 udp Reserved +mediat 5157/tcp # Mediat Remote Object [Oliver_Anan] [Oliver_Anan] 2010-09-02 +# 5157 udp Reserved +# 5158-5160 Unassigned +snmpssh 5161/tcp # SNMP over SSH Transport [RFC5592] +# Model +# 5161 udp Reserved +snmpssh-trap 5162/tcp # SNMP Notification over SSH [RFC5592] +# Transport Model +# 5162 udp Reserved +sbackup 5163/tcp # Shadow Backup [Glenn_Allen] [Glenn_Allen] 2009-08-05 +# 5163 udp Reserved +vpa 5164/tcp # Virtual Protocol Adapter [Douglas_Goodall] [Douglas_Goodall] 2009-08-05 +vpa-disc 5164/udp # Virtual Protocol Adapter [Douglas_Goodall] [Douglas_Goodall] 2009-08-05 +# ife_1corp +# +ife-icorp 5165/tcp # IANA assigned this [Paul_Annala] [Paul_Annala] +# "ife_icorp". +# This entry is an alias to "ife-icorp". This entry is now +ife_icorp 5165/tcp # ife_1corp [Paul_Annala] [Paul_Annala] historic, not usable for use with many common service +# +ife-icorp 5165/udp # IANA assigned this [Paul_Annala] [Paul_Annala] +ife_icorp 5165/udp # ife_1corp [Paul_Annala] [Paul_Annala] historic, not usable for use with many common service +winpcs 5166/tcp # WinPCS Service Connection [Complan_Network_AS] [Complan_Network_AS] 2006-02 +winpcs 5166/udp # WinPCS Service Connection [Complan_Network_AS] [Complan_Network_AS] 2006-02 +scte104 5167/tcp # SCTE104 Connection [Thomas_Russell] [Thomas_Russell] 2005-05 +scte104 5167/udp # SCTE104 Connection [Thomas_Russell] [Thomas_Russell] 2005-05 +scte30 5168/tcp # SCTE30 Connection [Thomas_Russell] [Thomas_Russell] 2005-05 +scte30 5168/udp # SCTE30 Connection [Thomas_Russell] [Thomas_Russell] 2005-05 +# 5169-5189 Unassigned +aol 5190/tcp # America-Online [Marty_Lyons] [Marty_Lyons] +aol 5190/udp # America-Online [Marty_Lyons] [Marty_Lyons] +aol-1 5191/tcp # AmericaOnline1 [Bruce_Mackey] [Bruce_Mackey] +aol-1 5191/udp # AmericaOnline1 [Bruce_Mackey] [Bruce_Mackey] +aol-2 5192/tcp # AmericaOnline2 [Bruce_Mackey] [Bruce_Mackey] +aol-2 5192/udp # AmericaOnline2 [Bruce_Mackey] [Bruce_Mackey] +aol-3 5193/tcp # AmericaOnline3 [Bruce_Mackey] [Bruce_Mackey] +aol-3 5193/udp # AmericaOnline3 [Bruce_Mackey] [Bruce_Mackey] +cpscomm 5194/tcp # CipherPoint Config Service [CipherPoint] [CipherPoint] 2010-03-03 +# 5194 udp Reserved +# The protocol is used by a +# license server and client +ampl-lic 5195/tcp # programs to control use of [AMPL_Optimization] [David_M_Gay] 2012-05-25 +# program licenses that float +# to networked machines +# 5195 udp Reserved +# The protocol is used by two +ampl-tableproxy 5196/tcp # programs that exchange [AMPL_Optimization] [David_M_Gay] 2012-05-25 +# "table" data used in the +# AMPL modeling language +# 5196 udp Reserved +# 5197-5199 Unassigned +targus-getdata 5200/tcp # TARGUS GetData [John_Keaveney] [John_Keaveney] +targus-getdata 5200/udp # TARGUS GetData [John_Keaveney] [John_Keaveney] +targus-getdata1 5201/tcp # TARGUS GetData 1 [John_Keaveney] [John_Keaveney] +targus-getdata1 5201/udp # TARGUS GetData 1 [John_Keaveney] [John_Keaveney] +targus-getdata2 5202/tcp # TARGUS GetData 2 [John_Keaveney] [John_Keaveney] +targus-getdata2 5202/udp # TARGUS GetData 2 [John_Keaveney] [John_Keaveney] +targus-getdata3 5203/tcp # TARGUS GetData 3 [John_Keaveney] [John_Keaveney] +targus-getdata3 5203/udp # TARGUS GetData 3 [John_Keaveney] [John_Keaveney] +# 5204-5208 Unassigned +nomad 5209/tcp # Nomad Device Video Transfer [Morega_System] [Ashraf_Tahir] 2012-08-20 +# 5209 udp Reserved +# 5210-5220 Unassigned +3exmp 5221/tcp # 3eTI Extensible Management [Bill_Rettig] [Bill_Rettig] 2010-05-19 +# Protocol for OAMP +# 5221 udp Reserved +xmpp-client 5222/tcp # XMPP Client Connection [RFC6120] +# 5222 udp Reserved +hpvirtgrp 5223/tcp # HP Virtual Machine Group [John_Williams] [John_Williams] 2007-06 +hpvirtgrp 5223/udp # HP Virtual Machine Group [John_Williams] [John_Williams] 2007-06 +hpvirtctrl 5224/tcp # HP Virtual Machine Console [John_Williams] [John_Williams] 2007-06 +hpvirtctrl 5224/udp # HP Virtual Machine Console [John_Williams] [John_Williams] 2007-06 +hp-server 5225/tcp # HP Server [Brett_Green_2] [Brett_Green_2] +hp-server 5225/udp # HP Server [Brett_Green_2] [Brett_Green_2] +hp-status 5226/tcp # HP Status [Brett_Green_2] [Brett_Green_2] +hp-status 5226/udp # HP Status [Brett_Green_2] [Brett_Green_2] +perfd 5227/tcp # HP System Performance Metric [Chris_Bertin] [Chris_Bertin] 2009-05-19 +perfd 5227/udp # HP System Performance Metric [Chris_Bertin] [Chris_Bertin] 2009-05-19 +hpvroom 5228/tcp # HP Virtual Room Service [Scott_Levin] [Scott_Levin] 2009-03-19 +# 5228 udp Reserved +# 5229-5231 Unassigned +csedaemon 5232/tcp # Cruse Scanning System [Christof_J_Reetz] [Christof_J_Reetz] 2011-03-09 +# 5232 udp Reserved +enfs 5233/tcp # Etinnae Network File Service [Chris_Peel] [Chris_Peel] 2011-03-09 +# 5233 udp Reserved +eenet 5234/tcp # EEnet communications [Helmut_Giritzer] [Helmut_Giritzer] 2005-11 +eenet 5234/udp # EEnet communications [Helmut_Giritzer] [Helmut_Giritzer] 2005-11 +galaxy-network 5235/tcp # Galaxy Network Service [Michael_Andre_2] [Michael_Andre_2] 2007-10-04 +galaxy-network 5235/udp # Galaxy Network Service [Michael_Andre_2] [Michael_Andre_2] 2007-10-04 +padl2sim 5236/tcp +padl2sim 5236/udp +mnet-discovery 5237/tcp # m-net discovery [Andy_Crick] [Andy_Crick] 2007-11-13 +mnet-discovery 5237/udp # m-net discovery [Andy_Crick] [Andy_Crick] 2007-11-13 +# 5238-5244 Unassigned +downtools 5245/tcp # DownTools Control Protocol [Jarrod_Sayers] [Jarrod_Sayers] 2009-04-07 +downtools-disc 5245/udp # DownTools Discovery Protocol [Jarrod_Sayers] [Jarrod_Sayers] 2009-04-07 +# 5246 tcp Reserved +capwap-control 5246/udp # CAPWAP Control Protocol [RFC5415] +# 5247 tcp Reserved +capwap-data 5247/udp # CAPWAP Data Protocol [RFC5415] +caacws 5248/tcp # CA Access Control Web [Gabriel_Kalmar] [Gabriel_Kalmar] 2008-03-06 +caacws 5248/udp # CA Access Control Web [Gabriel_Kalmar] [Gabriel_Kalmar] 2008-03-06 +caaclang2 5249/tcp # CA AC Lang Service [Gabriel_Kalmar] [Gabriel_Kalmar] 2008-02-19 +caaclang2 5249/udp # CA AC Lang Service [Gabriel_Kalmar] [Gabriel_Kalmar] 2008-02-19 +soagateway 5250/tcp # soaGateway [Greg_Bodine] [Greg_Bodine] 2002-02 +soagateway 5250/udp # soaGateway [Greg_Bodine] [Greg_Bodine] 2002-02 +caevms 5251/tcp # CA eTrust VM Service [Kevin_Bond] [Kevin_Bond] 2004-11 +caevms 5251/udp # CA eTrust VM Service [Kevin_Bond] [Kevin_Bond] 2004-11 +movaz-ssc 5252/tcp # Movaz SSC [Lou_Berger] [Lou_Berger] 2004-11 +movaz-ssc 5252/udp # Movaz SSC [Lou_Berger] [Lou_Berger] 2004-11 +kpdp 5253/tcp # Kohler Power Device Protocol [Bill_Gross] [Bill_Gross] 2010-11-01 +# 5253 udp Reserved +# 5254-5263 Unassigned +3com-njack-1 5264/tcp # 3Com Network Jack Port 1 [Abhay_Rajaram] [Abhay_Rajaram] 2003-03 +3com-njack-1 5264/udp # 3Com Network Jack Port 1 [Abhay_Rajaram] [Abhay_Rajaram] 2003-03 +3com-njack-2 5265/tcp # 3Com Network Jack Port 2 [Abhay_Rajaram] [Abhay_Rajaram] 2003-03 +3com-njack-2 5265/udp # 3Com Network Jack Port 2 [Abhay_Rajaram] [Abhay_Rajaram] 2003-03 +# 5266-5268 Unassigned +xmpp-server 5269/tcp # XMPP Server Connection [RFC6120] +# 5269 udp Reserved +cartographerxmp 5270/tcp # Cartographer XMP [Bobby_Krupczak_2] [Bobby_Krupczak_2] 2008-04-03 2011-08-31 +cartographerxmp 5270/udp # Cartographer XMP [Bobby_Krupczak_2] [Bobby_Krupczak_2] 2008-04-03 2011-08-31 +cuelink 5271/tcp # StageSoft CueLink messaging [Todd_Pichler] [Todd_Pichler] 2010-03-26 +cuelink-disc 5271/udp # StageSoft CueLink discovery [Todd_Pichler] [Todd_Pichler] 2010-03-26 +pk 5272/tcp # PK [Patrick_Kara] [Patrick_Kara] +pk 5272/udp # PK [Patrick_Kara] [Patrick_Kara] +# 5273-5279 Unassigned +xmpp-bosh 5280/tcp # Bidirectional-streams Over [Peter_Saint_Andre] [Peter_Saint_Andre] 2009-11-25 +# Synchronous HTTP (BOSH) +# 5280 udp Reserved +undo-lm 5281/tcp # Undo License Manager [Julian_Smith] [Julian_Smith] 2010-04-19 +# 5281 udp Reserved +transmit-port 5282/tcp # Marimba Transmitter Port [Johan_Eriksson] [Johan_Eriksson] 2002-04 +transmit-port 5282/udp # Marimba Transmitter Port [Johan_Eriksson] [Johan_Eriksson] 2002-04 +# 5283-5297 Unassigned +presence 5298/tcp # XMPP Link-Local Messaging [Eric_St_Onge] [Eric_St_Onge] 2008-01-14 Defined TXT keys: See +# http://www.xmpp.org/registrar/linklocal.html +presence 5298/udp # XMPP Link-Local Messaging [Eric_St_Onge] [Eric_St_Onge] 2008-01-14 Defined TXT keys: See +nlg-data 5299/tcp # NLG Data Service [Andy_Shellam] [Andy_Shellam] 2008-02-19 +nlg-data 5299/udp # NLG Data Service [Andy_Shellam] [Andy_Shellam] 2008-02-19 +hacl-hb 5300/tcp # HA cluster heartbeat [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-hb 5300/udp # HA cluster heartbeat [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-gs 5301/tcp # HA cluster general services [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-gs 5301/udp # HA cluster general services [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-cfg 5302/tcp # HA cluster configuration [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-cfg 5302/udp # HA cluster configuration [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-probe 5303/tcp # HA cluster probing [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-probe 5303/udp # HA cluster probing [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-local 5304/tcp # HA Cluster Commands [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-local 5304/udp # HA Cluster Commands [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-test 5305/tcp # HA Cluster Test [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +hacl-test 5305/udp # HA Cluster Test [Eric_Soderberg_2][Edward_Yim] [Eric_Soderberg_2][Edward_Yim] +sun-mc-grp 5306/tcp # Sun MC Group [Michael_DeMoney] [Michael_DeMoney] +sun-mc-grp 5306/udp # Sun MC Group [Michael_DeMoney] [Michael_DeMoney] +sco-aip 5307/tcp # SCO AIP [Barrie_Cooper] [Barrie_Cooper] +sco-aip 5307/udp # SCO AIP [Barrie_Cooper] [Barrie_Cooper] +cfengine 5308/tcp # CFengine [Mark_Burgess] [Mark_Burgess] +cfengine 5308/udp # CFengine [Mark_Burgess] [Mark_Burgess] +jprinter 5309/tcp # J Printer [Ken_Blackwell] [Ken_Blackwell] +jprinter 5309/udp # J Printer [Ken_Blackwell] [Ken_Blackwell] +outlaws 5310/tcp # Outlaws [Richard_Fife] [Richard_Fife] +outlaws 5310/udp # Outlaws [Richard_Fife] [Richard_Fife] +# 5311 Unassigned 2004-05-07 +permabit-cs 5312/tcp # Permabit Client-Server [Jered_Floyd] [Jered_Floyd] 2004-06 +permabit-cs 5312/udp # Permabit Client-Server [Jered_Floyd] [Jered_Floyd] 2004-06 +rrdp 5313/tcp # Real-time & Reliable Data [Ted_Hoshi] [Ted_Hoshi] 2004-06 +rrdp 5313/udp # Real-time & Reliable Data [Ted_Hoshi] [Ted_Hoshi] 2004-06 +opalis-rbt-ipc 5314/tcp # opalis-rbt-ipc [Laurent_Domenech] [Laurent_Domenech] +opalis-rbt-ipc 5314/udp # opalis-rbt-ipc [Laurent_Domenech] [Laurent_Domenech] +hacl-poll 5315/tcp # HA Cluster UDP Polling [Hoa_Nguyen] [Hoa_Nguyen] +hacl-poll 5315/udp # HA Cluster UDP Polling [Hoa_Nguyen] [Hoa_Nguyen] +hpbladems 5316/tcp # HPBladeSystem Monitor [Alan_Minchew] [Alan_Minchew] 2011-05-23 2011-05-16 +# 5316 udp Unassigned 2011-05-16 +hpdevms 5317/tcp # HP Device Monitor Service [Alan_Minchew] [Alan_Minchew] 2011-05-16 +# 5317 udp Reserved +pkix-cmc 5318/tcp # PKIX Certificate Management [IESG] [IETF_Chair] [RFC6402] +# using CMS (CMC) +# 5318 udp Reserved +# 5319 Unassigned +bsfserver-zn 5320/tcp # Webservices-based Zn [Bert_Paul] [Bert_Paul] 2008-05-01 +# interface of BSF +# 5320 udp Reserved +bsfsvr-zn-ssl 5321/tcp # Webservices-based Zn [Bert_Paul] [Bert_Paul] 2008-07-03 +# interface of BSF over SSL +# 5321 udp Reserved +# 5322-5342 Unassigned +kfserver 5343/tcp # Sculptor Database Server [Keith_Ashman] [Keith_Ashman] 2005-12 +kfserver 5343/udp # Sculptor Database Server [Keith_Ashman] [Keith_Ashman] 2005-12 +xkotodrcp 5344/tcp # xkoto DRCP [Jeff_Heisz] [Jeff_Heisz] 2006-02 +xkotodrcp 5344/udp # xkoto DRCP [Jeff_Heisz] [Jeff_Heisz] 2006-02 +# 5345-5348 Unassigned +stuns 5349/tcp # STUN over TLS [RFC5389] +stuns 5349/udp # Reserved for a future [RFC5389] +# enhancement of STUN +turns 5349/tcp # TURN over TLS [RFC5766] +turns 5349/udp # Reserved for a future [RFC5766] +# enhancement of TURN +stun-behaviors 5349/tcp # STUN Behavior Discovery over [RFC5780] +# TLS +stun-behaviors 5349/udp # Reserved for a future [RFC5780] +# enhancement of STUN-BEHAVIOR +# 5350 tcp Reserved +pcp-multicast 5350/udp # Port Control Protocol [IESG] [IETF_Chair] [RFC-ietf-pcp-base-29] +# Multicast +# 5351 tcp Reserved +pcp 5351/udp # Port Control Protocol [IESG] [IETF_Chair] [RFC-ietf-pcp-base-29] +dns-llq 5352/tcp # DNS Long-Lived Queries [Kiren_Sekar] [Kiren_Sekar] 2005-08 +dns-llq 5352/udp # DNS Long-Lived Queries [Kiren_Sekar] [Kiren_Sekar] 2005-08 +mdns 5353/tcp # Multicast DNS [IESG] [IETF_Chair] [RFC6762] +mdns 5353/udp # Multicast DNS [IESG] [IETF_Chair] [RFC6762] +mdnsresponder 5354/tcp # Multicast DNS Responder IPC [Stuart_Cheshire_3] [Stuart_Cheshire_3] 2004-06 +mdnsresponder 5354/udp # Multicast DNS Responder IPC [Stuart_Cheshire_3] [Stuart_Cheshire_3] 2004-06 +llmnr 5355/tcp # LLMNR [Bernard_Aboba] [Bernard_Aboba] 2004-06 +llmnr 5355/udp # LLMNR [Bernard_Aboba] [Bernard_Aboba] 2004-06 +ms-smlbiz 5356/tcp # Microsoft Small Business [Gopikrishna_Sandra] [Gopikrishna_Sandra] 2005-02 +ms-smlbiz 5356/udp # Microsoft Small Business [Gopikrishna_Sandra] [Gopikrishna_Sandra] 2005-02 +wsdapi 5357/tcp # Web Services for Devices [Henry_Rawas] [Henry_Rawas] 2005-08 +wsdapi 5357/udp # Web Services for Devices [Henry_Rawas] [Henry_Rawas] 2005-08 +wsdapi-s 5358/tcp # WS for Devices Secured [Henry_Rawas] [Henry_Rawas] 2005-08 +wsdapi-s 5358/udp # WS for Devices Secured [Henry_Rawas] [Henry_Rawas] 2005-08 +ms-alerter 5359/tcp # Microsoft Alerter [Marc_McClure] [Marc_McClure] 2007-08-07 +ms-alerter 5359/udp # Microsoft Alerter [Marc_McClure] [Marc_McClure] 2007-08-07 +ms-sideshow 5360/tcp # Protocol for Windows [Dan_Polivy] [Dan_Polivy] 2008-03-12 +# SideShow +ms-sideshow 5360/udp # Protocol for Windows [Dan_Polivy] [Dan_Polivy] 2008-03-12 +ms-s-sideshow 5361/tcp # Secure Protocol for Windows [Dan_Polivy] [Dan_Polivy] 2008-03-12 +ms-s-sideshow 5361/udp # Secure Protocol for Windows [Dan_Polivy] [Dan_Polivy] 2008-03-12 +serverwsd2 5362/tcp # Microsoft Windows Server [Erhan_Soyer_Osman] [Erhan_Soyer_Osman] 2008-03-26 +# WSD2 Service +serverwsd2 5362/udp # Microsoft Windows Server [Erhan_Soyer_Osman] [Erhan_Soyer_Osman] 2008-03-26 +net-projection 5363/tcp # Windows Network Projection [Rob_Williams] [Rob_Williams] 2009-02-17 +net-projection 5363/udp # Windows Network Projection [Rob_Williams] [Rob_Williams] 2009-02-17 +# 5364-5396 Unassigned +stresstester 5397/tcp # StressTester(tm) Injector [Graham_Parsons] [Graham_Parsons] 2005-08 +stresstester 5397/udp # StressTester(tm) Injector [Graham_Parsons] [Graham_Parsons] 2005-08 +elektron-admin 5398/tcp # Elektron Administration [Chris_Hawk] [Chris_Hawk] 2005-08 +elektron-admin 5398/udp # Elektron Administration [Chris_Hawk] [Chris_Hawk] 2005-08 +securitychase 5399/tcp # SecurityChase [Daisuke_Shinomiya] [Daisuke_Shinomiya] 2005-08 +securitychase 5399/udp # SecurityChase [Daisuke_Shinomiya] [Daisuke_Shinomiya] 2005-08 +excerpt 5400/tcp # Excerpt Search [John_Hinsdale] [John_Hinsdale] +excerpt 5400/udp # Excerpt Search [John_Hinsdale] [John_Hinsdale] +excerpts 5401/tcp # Excerpt Search Secure [John_Hinsdale] [John_Hinsdale] +excerpts 5401/udp # Excerpt Search Secure [John_Hinsdale] [John_Hinsdale] +mftp 5402/tcp # OmniCast MFTP [Steve_Bannister] [Steve_Bannister] +mftp 5402/udp # OmniCast MFTP [Steve_Bannister] [Steve_Bannister] +hpoms-ci-lstn 5403/tcp # HPOMS-CI-LSTN [Harold_Froehling] [Harold_Froehling] +hpoms-ci-lstn 5403/udp # HPOMS-CI-LSTN [Harold_Froehling] [Harold_Froehling] +hpoms-dps-lstn 5404/tcp # HPOMS-DPS-LSTN [Harold_Froehling] [Harold_Froehling] +hpoms-dps-lstn 5404/udp # HPOMS-DPS-LSTN [Harold_Froehling] [Harold_Froehling] +netsupport 5405/tcp # NetSupport [Paul_Sanders_2] [Paul_Sanders_2] +netsupport 5405/udp # NetSupport [Paul_Sanders_2] [Paul_Sanders_2] +systemics-sox 5406/tcp # Systemics Sox [Gary_Howland] [Gary_Howland] +systemics-sox 5406/udp # Systemics Sox [Gary_Howland] [Gary_Howland] +foresyte-clear 5407/tcp # Foresyte-Clear [Jorge_Aldana] [Jorge_Aldana] +foresyte-clear 5407/udp # Foresyte-Clear [Jorge_Aldana] [Jorge_Aldana] +foresyte-sec 5408/tcp # Foresyte-Sec [Jorge_Aldana] [Jorge_Aldana] +foresyte-sec 5408/udp # Foresyte-Sec [Jorge_Aldana] [Jorge_Aldana] +salient-dtasrv 5409/tcp # Salient Data Server [Richard_Farnham] [Richard_Farnham] +salient-dtasrv 5409/udp # Salient Data Server [Richard_Farnham] [Richard_Farnham] +salient-usrmgr 5410/tcp # Salient User Manager [Richard_Farnham] [Richard_Farnham] +salient-usrmgr 5410/udp # Salient User Manager [Richard_Farnham] [Richard_Farnham] +actnet 5411/tcp # ActNet [Simon_Robillard] [Simon_Robillard] +actnet 5411/udp # ActNet [Simon_Robillard] [Simon_Robillard] +continuus 5412/tcp # Continuus [Steven_Holtsberg] [Steven_Holtsberg] +continuus 5412/udp # Continuus [Steven_Holtsberg] [Steven_Holtsberg] +wwiotalk 5413/tcp # WWIOTALK [Roger_Knobbe] [Roger_Knobbe] +wwiotalk 5413/udp # WWIOTALK [Roger_Knobbe] [Roger_Knobbe] +statusd 5414/tcp # StatusD [Stephen_Misel_2] [Stephen_Misel_2] +statusd 5414/udp # StatusD [Stephen_Misel_2] [Stephen_Misel_2] +ns-server 5415/tcp # NS Server [Jeffrey_Chiao] [Jeffrey_Chiao] +ns-server 5415/udp # NS Server [Jeffrey_Chiao] [Jeffrey_Chiao] +sns-gateway 5416/tcp # SNS Gateway [Mary_Holstage] [Mary_Holstage] +sns-gateway 5416/udp # SNS Gateway [Mary_Holstage] [Mary_Holstage] +sns-agent 5417/tcp # SNS Agent [Mary_Holstage] [Mary_Holstage] +sns-agent 5417/udp # SNS Agent [Mary_Holstage] [Mary_Holstage] +mcntp 5418/tcp # MCNTP [Heiko_Rupp] [Heiko_Rupp] +mcntp 5418/udp # MCNTP [Heiko_Rupp] [Heiko_Rupp] +dj-ice 5419/tcp # DJ-ICE [Don_Tyson_2] [Don_Tyson_2] +dj-ice 5419/udp # DJ-ICE [Don_Tyson_2] [Don_Tyson_2] +cylink-c 5420/tcp # Cylink-C [John_Jobe] [John_Jobe] +cylink-c 5420/udp # Cylink-C [John_Jobe] [John_Jobe] +netsupport2 5421/tcp # Net Support 2 [Paul_Sanders] [Paul_Sanders] +netsupport2 5421/udp # Net Support 2 [Paul_Sanders] [Paul_Sanders] +salient-mux 5422/tcp # Salient MUX [Richard_Farnham] [Richard_Farnham] +salient-mux 5422/udp # Salient MUX [Richard_Farnham] [Richard_Farnham] +virtualuser 5423/tcp # VIRTUALUSER [Chad_Williams] [Chad_Williams] +virtualuser 5423/udp # VIRTUALUSER [Chad_Williams] [Chad_Williams] +beyond-remote 5424/tcp # Beyond Remote [Michael_Berg] [Michael_Berg] 2004-11 +beyond-remote 5424/udp # Beyond Remote [Michael_Berg] [Michael_Berg] 2004-11 +br-channel 5425/tcp # Beyond Remote Command [Michael_Berg] [Michael_Berg] 2005-08 +br-channel 5425/udp # Beyond Remote Command [Michael_Berg] [Michael_Berg] 2005-08 +devbasic 5426/tcp # DEVBASIC [Curtis_Smith] [Curtis_Smith] +devbasic 5426/udp # DEVBASIC [Curtis_Smith] [Curtis_Smith] +sco-peer-tta 5427/tcp # SCO-PEER-TTA [Andrew_Shire] [Andrew_Shire] +sco-peer-tta 5427/udp # SCO-PEER-TTA [Andrew_Shire] [Andrew_Shire] +telaconsole 5428/tcp # TELACONSOLE [Joseph_M_Newcomer] [Joseph_M_Newcomer] +telaconsole 5428/udp # TELACONSOLE [Joseph_M_Newcomer] [Joseph_M_Newcomer] +base 5429/tcp # Billing and Accounting [Odo_Maletzki] [Odo_Maletzki] +# System Exchange +base 5429/udp # Billing and Accounting [Odo_Maletzki] [Odo_Maletzki] +radec-corp 5430/tcp # RADEC CORP [David_Chell] [David_Chell] +radec-corp 5430/udp # RADEC CORP [David_Chell] [David_Chell] +park-agent 5431/tcp # PARK AGENT [John_Clifford] [John_Clifford] +park-agent 5431/udp # PARK AGENT [John_Clifford] [John_Clifford] +postgresql 5432/tcp # PostgreSQL Database [Tom_Lane] [Tom_Lane] +postgresql 5432/udp # PostgreSQL Database [Tom_Lane] [Tom_Lane] +pyrrho 5433/tcp # Pyrrho DBMS [Malcolm_Crowe] [Malcolm_Crowe] 2005-11 +pyrrho 5433/udp # Pyrrho DBMS [Malcolm_Crowe] [Malcolm_Crowe] 2005-11 +sgi-arrayd 5434/tcp # SGI Array Services Daemon [Karl_Feind] [Karl_Feind] 2005-10 +sgi-arrayd 5434/udp # SGI Array Services Daemon [Karl_Feind] [Karl_Feind] 2005-10 +sceanics 5435/tcp # SCEANICS situation and [Richard_Olsen] [Richard_Olsen] +# action notification +sceanics 5435/udp # SCEANICS situation and [Richard_Olsen] [Richard_Olsen] +# 5436 tcp Reserved +pmip6-cntl 5436/udp # pmip6-cntl [RFC5844] +# 5437 tcp Reserved +pmip6-data 5437/udp # pmip6-data [RFC5844] +# 5438-5442 Unassigned +spss 5443/tcp # Pearson HTTPS [Pearson] [Pearson] 2008-01-17 +spss 5443/udp # Pearson HTTPS [Pearson] [Pearson] 2008-01-17 +# USE: Port +# 5444 by +# as-mgtc, +# AS400 ISeries +# 5444 Unassigned (IBM), w.32 +# zotob worm +# (None), +# 'ppas' +# (EnterpriseDB +# Corporation) +smbdirect 5445/tcp # Server Message Block over [Microsoft_Corporation_2] [Tom_Talpey] 2012-03-15 +# Remote Direct Memory Access +# 5445 udp Reserved +smbdirect 5445/sctp # Server Message Block over [Microsoft_Corporation_2] [Tom_Talpey] 2012-03-15 +# 5446-5452 Unassigned +surebox 5453/tcp # SureBox [Emin_BORU] [Emin_BORU] 2004-11 +surebox 5453/udp # SureBox [Emin_BORU] [Emin_BORU] 2004-11 +apc-5454 5454/tcp # APC 5454 [American_Power_Conve] [American_Power_Conve] +apc-5454 5454/udp # APC 5454 [American_Power_Conve] [American_Power_Conve] +apc-5455 5455/tcp # APC 5455 [American_Power_Conve] [American_Power_Conve] +apc-5455 5455/udp # APC 5455 [American_Power_Conve] [American_Power_Conve] +apc-5456 5456/tcp # APC 5456 [American_Power_Conve] [American_Power_Conve] +apc-5456 5456/udp # APC 5456 [American_Power_Conve] [American_Power_Conve] +# 5457-5460 Unassigned +silkmeter 5461/tcp # SILKMETER [Klaus_Fellner] [Klaus_Fellner] +silkmeter 5461/udp # SILKMETER [Klaus_Fellner] [Klaus_Fellner] +ttl-publisher 5462/tcp # TTL Publisher [Peter_Jacobs] [Peter_Jacobs] +ttl-publisher 5462/udp # TTL Publisher [Peter_Jacobs] [Peter_Jacobs] +ttlpriceproxy 5463/tcp # TTL Price Proxy [Peter_Jacobs] [Peter_Jacobs] +ttlpriceproxy 5463/udp # TTL Price Proxy [Peter_Jacobs] [Peter_Jacobs] +quailnet 5464/tcp # Quail Networks Object Broker [Craig_N_Bissell] [Craig_N_Bissell] 2006-04 +quailnet 5464/udp # Quail Networks Object Broker [Craig_N_Bissell] [Craig_N_Bissell] 2006-04 +netops-broker 5465/tcp # NETOPS-BROKER [John_R_Deuel] [John_R_Deuel] +netops-broker 5465/udp # NETOPS-BROKER [John_R_Deuel] [John_R_Deuel] +# 5466-5499 Unassigned +fcp-addr-srvr1 5500/tcp # fcp-addr-srvr1 [Ken_Wittmer] [Ken_Wittmer] +fcp-addr-srvr1 5500/udp # fcp-addr-srvr1 [Ken_Wittmer] [Ken_Wittmer] +fcp-addr-srvr2 5501/tcp # fcp-addr-srvr2 [Ken_Wittmer] [Ken_Wittmer] +fcp-addr-srvr2 5501/udp # fcp-addr-srvr2 [Ken_Wittmer] [Ken_Wittmer] +fcp-srvr-inst1 5502/tcp # fcp-srvr-inst1 [Ken_Wittmer] [Ken_Wittmer] +fcp-srvr-inst1 5502/udp # fcp-srvr-inst1 [Ken_Wittmer] [Ken_Wittmer] +fcp-srvr-inst2 5503/tcp # fcp-srvr-inst2 [Ken_Wittmer] [Ken_Wittmer] +fcp-srvr-inst2 5503/udp # fcp-srvr-inst2 [Ken_Wittmer] [Ken_Wittmer] +fcp-cics-gw1 5504/tcp # fcp-cics-gw1 [Ken_Wittmer] [Ken_Wittmer] +fcp-cics-gw1 5504/udp # fcp-cics-gw1 [Ken_Wittmer] [Ken_Wittmer] +checkoutdb 5505/tcp # Checkout Database [Dirk_Stoop] [Dirk_Stoop] 2007-04 +checkoutdb 5505/udp # Checkout Database [Dirk_Stoop] [Dirk_Stoop] 2007-04 +amc 5506/tcp # Amcom Mobile Connect [Aaron_Fracht_Monroe] [Aaron_Fracht_Monroe] 2010-06-03 +amc 5506/udp # Amcom Mobile Connect [Aaron_Fracht_Monroe] [Aaron_Fracht_Monroe] 2010-06-03 +# 5507-5552 Unassigned +sgi-eventmond 5553/tcp # SGI Eventmond Port [Andrei_Vilkotski] [Andrei_Vilkotski] 2003-06 +sgi-eventmond 5553/udp # SGI Eventmond Port [Andrei_Vilkotski] [Andrei_Vilkotski] 2003-06 +sgi-esphttp 5554/tcp # SGI ESP HTTP [Vladimir_Legalov] [Vladimir_Legalov] +sgi-esphttp 5554/udp # SGI ESP HTTP [Vladimir_Legalov] [Vladimir_Legalov] +# USE: port +# 5555 by +# Intermec +personal-agent 5555/tcp # Personal Agent [Jackie_Wu] [Jackie_Wu] UDPPlus; +# 5555 also +# used by HP +# Omniback +personal-agent 5555/udp # Personal Agent [Jackie_Wu] [Jackie_Wu] UDPPlus; +freeciv 5556/tcp # Freeciv gameplay [Reinier_Post_and_Pau] [Reinier_Post_and_Pau] 2006-01 +freeciv 5556/udp # Freeciv gameplay [Reinier_Post_and_Pau] [Reinier_Post_and_Pau] 2006-01 +farenet 5557/tcp # Sandlab FARENET [Kay_T_Labinsky] [Kay_T_Labinsky] 2010-05-03 +# 5557 udp Reserved +# 5558-5565 Unassigned +westec-connect 5566/tcp # Westec Connect [Jon_Bolen] [Jon_Bolen] 2009-03-18 +# 5566 udp Reserved +enc-eps-mc-sec 5567/tcp # EMIT protocol stack [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2004-11 2012-11-12 +# multicast/secure transport +enc-eps-mc-sec 5567/udp # EMIT protocol stack [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2004-11 2012-11-12 +sdt 5568/tcp # Session Data Transport [Daniel_W_Antonuk] [Daniel_W_Antonuk] 2006-05 +sdt 5568/udp # Session Data Transport [Daniel_W_Antonuk] [Daniel_W_Antonuk] 2006-05 +# PLASA E1.33, Remote Device +rdmnet-ctrl 5569/tcp # Management (RDM) controller [PLASA] [Simon_Newton] 2012-06-01 +# status notifications +rdmnet-device 5569/udp # PLASA E1.33, Remote Device [PLASA] [Simon_Newton] 2012-06-01 +# Management (RDM) messages +# 5570-5572 Unassigned +sdmmp 5573/tcp # SAS Domain Management [Ron_Zuckerman] [Ron_Zuckerman] 2007-08-30 +# Messaging Protocol +sdmmp 5573/udp # SAS Domain Management [Ron_Zuckerman] [Ron_Zuckerman] 2007-08-30 +lsi-bobcat 5574/tcp # SAS IO Forwarding [Mandar_Joshi] [Mandar_Joshi] 2009-02-09 +# 5574 udp Reserved +ora-oap 5575/tcp # Oracle Access Protocol [Peter_Povinec] [Peter_Povinec] 2010-04-13 +# 5575 udp Reserved +# 5576-5578 Unassigned +fdtracks 5579/tcp # FleetDisplay Tracking [Henrik_Woffinden] [Henrik_Woffinden] 2008-09-22 +# 5579 udp Reserved +tmosms0 5580/tcp # T-Mobile SMS Protocol [Ezinne_Oji] [Ezinne_Oji] 2006-06 +# Message 0 +tmosms0 5580/udp # T-Mobile SMS Protocol [Ezinne_Oji] [Ezinne_Oji] 2006-06 +tmosms1 5581/tcp # T-Mobile SMS Protocol [Ezinne_Oji] [Ezinne_Oji] 2006-06 +# Message 1 +tmosms1 5581/udp # T-Mobile SMS Protocol [Ezinne_Oji] [Ezinne_Oji] 2006-06 +fac-restore 5582/tcp # T-Mobile SMS Protocol [Jessica_Yan] [Jessica_Yan] 2008-02-19 +# Message 3 +fac-restore 5582/udp # T-Mobile SMS Protocol [Jessica_Yan] [Jessica_Yan] 2008-02-19 +tmo-icon-sync 5583/tcp # T-Mobile SMS Protocol [Donghwan_Lim] [Donghwan_Lim] 2008-01-22 +# Message 2 +tmo-icon-sync 5583/udp # T-Mobile SMS Protocol [Donghwan_Lim] [Donghwan_Lim] 2008-01-22 +bis-web 5584/tcp # BeInSync-Web [Adi_Ruppin] [Adi_Ruppin] 2005-08 +bis-web 5584/udp # BeInSync-Web [Adi_Ruppin] [Adi_Ruppin] 2005-08 +bis-sync 5585/tcp # BeInSync-sync [Adi_Ruppin] [Adi_Ruppin] 2005-08 +bis-sync 5585/udp # BeInSync-sync [Adi_Ruppin] [Adi_Ruppin] 2005-08 +# 5586-5596 Unassigned +ininmessaging 5597/tcp # inin secure messaging [Mike_Gagle_2] [Mike_Gagle_2] 2006-05 +ininmessaging 5597/udp # inin secure messaging [Mike_Gagle_2] [Mike_Gagle_2] 2006-05 +mctfeed 5598/tcp # MCT Market Data Feed [Stephane_Touizer] [Stephane_Touizer] 2006-05 +mctfeed 5598/udp # MCT Market Data Feed [Stephane_Touizer] [Stephane_Touizer] 2006-05 +esinstall 5599/tcp # Enterprise Security Remote [Kimberly_Gibbs] [Kimberly_Gibbs] +# Install +esinstall 5599/udp # Enterprise Security Remote [Kimberly_Gibbs] [Kimberly_Gibbs] +esmmanager 5600/tcp # Enterprise Security Manager [Kimberly_Gibbs] [Kimberly_Gibbs] +esmmanager 5600/udp # Enterprise Security Manager [Kimberly_Gibbs] [Kimberly_Gibbs] +esmagent 5601/tcp # Enterprise Security Agent [Kimberly_Gibbs] [Kimberly_Gibbs] +esmagent 5601/udp # Enterprise Security Agent [Kimberly_Gibbs] [Kimberly_Gibbs] +a1-msc 5602/tcp # A1-MSC [Mike_Dolan] [Mike_Dolan] +a1-msc 5602/udp # A1-MSC [Mike_Dolan] [Mike_Dolan] +a1-bs 5603/tcp # A1-BS [Mike_Dolan] [Mike_Dolan] +a1-bs 5603/udp # A1-BS [Mike_Dolan] [Mike_Dolan] +a3-sdunode 5604/tcp # A3-SDUNode [Mike_Dolan] [Mike_Dolan] +a3-sdunode 5604/udp # A3-SDUNode [Mike_Dolan] [Mike_Dolan] +a4-sdunode 5605/tcp # A4-SDUNode [Mike_Dolan] [Mike_Dolan] +a4-sdunode 5605/udp # A4-SDUNode [Mike_Dolan] [Mike_Dolan] +# 5606-5626 Unassigned +ninaf 5627/tcp # Node Initiated Network [Thomas_Scholl] [Thomas_Scholl] 2006-03 +# Association Forma +ninaf 5627/udp # Node Initiated Network [Thomas_Scholl] [Thomas_Scholl] 2006-03 +htrust 5628/tcp # HTrust API [Karl_Olafsson] [Karl_Olafsson] 2008-10-24 +htrust 5628/udp # HTrust API [Karl_Olafsson] [Karl_Olafsson] 2008-10-24 +symantec-sfdb 5629/tcp # Symantec Storage Foundation [Quang_Thoi] [Quang_Thoi] 2006-11 +# for Database +symantec-sfdb 5629/udp # Symantec Storage Foundation [Quang_Thoi] [Quang_Thoi] 2006-11 +precise-comm 5630/tcp # PreciseCommunication [Alon_Tamir] [Alon_Tamir] 2006-04 +precise-comm 5630/udp # PreciseCommunication [Alon_Tamir] [Alon_Tamir] 2006-04 +pcanywheredata 5631/tcp # pcANYWHEREdata [Jon_Rosarky] [Jon_Rosarky] +pcanywheredata 5631/udp # pcANYWHEREdata [Jon_Rosarky] [Jon_Rosarky] +pcanywherestat 5632/tcp # pcANYWHEREstat [Jon_Rosarky] [Jon_Rosarky] +pcanywherestat 5632/udp # pcANYWHEREstat [Jon_Rosarky] [Jon_Rosarky] +beorl 5633/tcp # BE Operations Request [Chirag_Desai] [Chirag_Desai] 2006-02 +beorl 5633/udp # BE Operations Request [Chirag_Desai] [Chirag_Desai] 2006-02 +xprtld 5634/tcp # SF Message Service [VR_Satish] [VR_Satish] 2007-08-16 +xprtld 5634/udp # SF Message Service [VR_Satish] [VR_Satish] 2007-08-16 +sfmsso 5635/tcp # SFM Authentication Subsystem [De_Chih_Chien] [De_Chih_Chien] 2008-09-15 +# 5635 udp Reserved +sfm-db-server 5636/tcp # SFMdb - SFM DB server [De_Chih_Chien] [De_Chih_Chien] 2008-10-06 +# 5636 udp Reserved +cssc 5637/tcp # Symantec CSSC [Amol_P_Tambe] [Amol_P_Tambe] 2011-02-02 +# 5637 udp Reserved +# Symantec Fingerprint Lookup +flcrs 5638/tcp # and Container Reference [Symantec_Corp] [Neel_A_Bhatt] 2012-01-03 +# 5638 udp Reserved +ics 5639/tcp # Symantec Integrity Checking [Symantec_Corp2] [Danzhou_Liu] 2012-05-07 +# 5639 udp Reserved +# 5640-5645 Unassigned +vfmobile 5646/tcp # Ventureforth Mobile [Ventureforth_Inc] [Blakely_Snyder] 2011-11-03 +# 5646 udp Reserved +# 5647-5669 Unassigned USE: Port +# 5666 used by +# SAIC NRPE +filemq 5670/tcp # ZeroMQ file [ZeroMQ.org] [Pieter_Hintjens2] 2012-11-01 +# publish-subscribe protocol +zre-disc 5670/udp # Local area discovery and [Pieter_Hintjens_3] [Pieter_Hintjens_3] 2012-12-17 +# messaging over ZeroMQ +amqps 5671/tcp # amqp protocol over TLS/SSL [Ted_Ross_2] [Ted_Ross_2] 2008-03-26 +amqps 5671/udp # amqp protocol over TLS/SSL [Ted_Ross_2] [Ted_Ross_2] 2008-03-26 +amqp 5672/tcp # AMQP [Pieter_Hintjens] [Pieter_Hintjens] 2006-01 +amqp 5672/udp # AMQP [Pieter_Hintjens] [Pieter_Hintjens] 2006-01 +amqp 5672/sctp # AMQP [Martin_Sustrik] [Martin_Sustrik] 2007-03 +jms 5673/tcp # JACL Message Server [Stuart_Allen] [Stuart_Allen] 2002-02 +jms 5673/udp # JACL Message Server [Stuart_Allen] [Stuart_Allen] 2002-02 +hyperscsi-port 5674/tcp # HyperSCSI Port [Data_Storage_Institu] [Data_Storage_Institu] 2002-02 +hyperscsi-port 5674/udp # HyperSCSI Port [Data_Storage_Institu] [Data_Storage_Institu] 2002-02 +v5ua 5675/tcp # V5UA application port [RFC3807] +v5ua 5675/udp # V5UA application port [RFC3807] +v5ua 5675/sctp # V5UA application port [RFC3807] +raadmin 5676/tcp # RA Administration [Sergei_Zjaikin] [Sergei_Zjaikin] 2002-02 +raadmin 5676/udp # RA Administration [Sergei_Zjaikin] [Sergei_Zjaikin] 2002-02 +questdb2-lnchr 5677/tcp # Quest Central DB2 Launchr [Robert_M_Mackowiak] [Robert_M_Mackowiak] 2002-02 +questdb2-lnchr 5677/udp # Quest Central DB2 Launchr [Robert_M_Mackowiak] [Robert_M_Mackowiak] 2002-02 +rrac 5678/tcp # Remote Replication Agent +# Connection +rrac 5678/udp # Remote Replication Agent +dccm 5679/tcp # Direct Cable Connect Manager [Mark_Miller_2] [Mark_Miller_2] +dccm 5679/udp # Direct Cable Connect Manager [Mark_Miller_2] [Mark_Miller_2] +auriga-router 5680/tcp # Auriga Router Service [Vincent_Gaudeul] [Vincent_Gaudeul] 2006-02 +auriga-router 5680/udp # Auriga Router Service [Vincent_Gaudeul] [Vincent_Gaudeul] 2006-02 +ncxcp 5681/tcp # Net-coneX Control Protocol [Ryan_Werber] [Ryan_Werber] 2006-06 +ncxcp 5681/udp # Net-coneX Control Protocol [Ryan_Werber] [Ryan_Werber] 2006-06 +# 5682 tcp Reserved +brightcore 5682/udp # BrightCore control & data [Marko_Bjelac] [Marko_Bjelac] 2010-06-10 +# transfer exchange +# 5683 tcp Reserved +coap 5683/udp # Constrained Application 2011-06-13 [draft-ietf-core-coap] +# 5684-5687 Unassigned +ggz 5688/tcp # GGZ Gaming Zone [Josef_Spillner] [Josef_Spillner] 2003-01 +ggz 5688/udp # GGZ Gaming Zone [Josef_Spillner] [Josef_Spillner] 2003-01 +qmvideo 5689/tcp # QM video network management [Jamie_Lokier] [Jamie_Lokier] 2006-05 +qmvideo 5689/udp # QM video network management [Jamie_Lokier] [Jamie_Lokier] 2006-05 +# 5690-5692 Unassigned +rbsystem 5693/tcp # Robert Bosch Data Transfer [Robert_Bosch_GmbH] [Klaus_Warth] 2011-08-01 2012-07-17 +# 5693 udp Reserved +# 5694-5695 Unassigned +kmip 5696/tcp # Key Management [OASIS_KMIP_Technical_Committee] [Robin_Cover] 2011-07-25 +# Interoperability Protocol +# 5696 udp Reserved +# 5697-5712 Unassigned +proshareaudio 5713/tcp # proshare conf audio [gunner] [gunner] +proshareaudio 5713/udp # proshare conf audio [gunner] [gunner] +prosharevideo 5714/tcp # proshare conf video [gunner] [gunner] +prosharevideo 5714/udp # proshare conf video [gunner] [gunner] +prosharedata 5715/tcp # proshare conf data [gunner] [gunner] +prosharedata 5715/udp # proshare conf data [gunner] [gunner] +prosharerequest 5716/tcp # proshare conf request [gunner] [gunner] +prosharerequest 5716/udp # proshare conf request [gunner] [gunner] +prosharenotify 5717/tcp # proshare conf notify [gunner] [gunner] +prosharenotify 5717/udp # proshare conf notify +dpm 5718/tcp # DPM Communication Server [Sundar_Srinivasan][Vinay_Badami] [Sundar_Srinivasan][Vinay_Badami] +dpm 5718/udp # DPM Communication Server [Sundar_Srinivasan][Vinay_Badami] [Sundar_Srinivasan][Vinay_Badami] +dpm-agent 5719/tcp # DPM Agent Coordinator [Sundar_Srinivasan][Vinay_Badami] [Sundar_Srinivasan][Vinay_Badami] 2006-05 +dpm-agent 5719/udp # DPM Agent Coordinator [Sundar_Srinivasan][Vinay_Badami] [Sundar_Srinivasan][Vinay_Badami] 2006-05 +ms-licensing 5720/tcp # MS-Licensing [Thomas_Lindeman] [Thomas_Lindeman] 2002-11 +ms-licensing 5720/udp # MS-Licensing [Thomas_Lindeman] [Thomas_Lindeman] 2002-11 +dtpt 5721/tcp # Desktop Passthru Service [Dan_Leising] [Dan_Leising] 2005-01 +dtpt 5721/udp # Desktop Passthru Service [Dan_Leising] [Dan_Leising] 2005-01 +msdfsr 5722/tcp # Microsoft DFS Replication [Guhan_Suriyanarayana] [Guhan_Suriyanarayana] 2006-03 +msdfsr 5722/udp # Microsoft DFS Replication [Guhan_Suriyanarayana] [Guhan_Suriyanarayana] 2006-03 +omhs 5723/tcp # Operations Manager - Health [Gerardo_Dilillo] [Gerardo_Dilillo] 2006-08 +omhs 5723/udp # Operations Manager - Health [Gerardo_Dilillo] [Gerardo_Dilillo] 2006-08 +omsdk 5724/tcp # Operations Manager - SDK [Gerardo_Dilillo] [Gerardo_Dilillo] 2006-08 +omsdk 5724/udp # Operations Manager - SDK [Gerardo_Dilillo] [Gerardo_Dilillo] 2006-08 +ms-ilm 5725/tcp # Microsoft Identity Lifecycle [Rob_Ward] [Rob_Ward] +# 5725 udp Reserved 2008-05-02 +ms-ilm-sts 5726/tcp # Microsoft Lifecycle Manager [Rob_Ward] [Rob_Ward] +# Secure Token Service +# 5726 udp Reserved 2008-05-02 +asgenf 5727/tcp # ASG Event Notification [Arman_Bedonian] [Arman_Bedonian] 2009-07-15 +# Framework +# 5727 udp Reserved +io-dist-data 5728/tcp # Dist. I/O Comm. Service Data [Harish_Kuttan] [Harish_Kuttan] 2010-03-22 +# and Control +io-dist-group 5728/udp # Dist. I/O Comm. Service [Harish_Kuttan] [Harish_Kuttan] 2010-03-22 +# Group Membership +openmail 5729/tcp # Openmail User Agent Layer [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +openmail 5729/udp # Openmail User Agent Layer [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +unieng 5730/tcp # Steltor's calendar access [Bernard_Desruisseaux] [Bernard_Desruisseaux] +unieng 5730/udp # Steltor's calendar access [Bernard_Desruisseaux] [Bernard_Desruisseaux] +# 5731-5740 Unassigned +ida-discover1 5741/tcp # IDA Discover Port 1 [MPITech_Support] [MPITech_Support] +ida-discover1 5741/udp # IDA Discover Port 1 [MPITech_Support] [MPITech_Support] +ida-discover2 5742/tcp # IDA Discover Port 2 [MPITech_Support] [MPITech_Support] +ida-discover2 5742/udp # IDA Discover Port 2 [MPITech_Support] [MPITech_Support] +watchdoc-pod 5743/tcp # Watchdoc NetPOD Protocol [Christophe_Chevalier] [Christophe_Chevalier] 2005-08 +watchdoc-pod 5743/udp # Watchdoc NetPOD Protocol [Christophe_Chevalier] [Christophe_Chevalier] 2005-08 +watchdoc 5744/tcp # Watchdoc Server [Christophe_Chevalier] [Christophe_Chevalier] 2004-11 +watchdoc 5744/udp # Watchdoc Server [Christophe_Chevalier] [Christophe_Chevalier] 2004-11 +fcopy-server 5745/tcp # fcopy-server [Moshe_Leibovitch] [Moshe_Leibovitch] +fcopy-server 5745/udp # fcopy-server [Moshe_Leibovitch] [Moshe_Leibovitch] +fcopys-server 5746/tcp # fcopys-server [Moshe_Leibovitch] [Moshe_Leibovitch] +fcopys-server 5746/udp # fcopys-server [Moshe_Leibovitch] [Moshe_Leibovitch] +tunatic 5747/tcp # Wildbits Tunatic [Sylvain_Demongeot] [Sylvain_Demongeot] 2005-08 +tunatic 5747/udp # Wildbits Tunatic [Sylvain_Demongeot] [Sylvain_Demongeot] 2005-08 +tunalyzer 5748/tcp # Wildbits Tunalyzer [Sylvain_Demongeot] [Sylvain_Demongeot] 2005-08 +tunalyzer 5748/udp # Wildbits Tunalyzer [Sylvain_Demongeot] [Sylvain_Demongeot] 2005-08 +# 5749 Unassigned +rscd 5750/tcp # Bladelogic Agent Service [Brian_Trevor] [Brian_Trevor] 2008-10-24 +rscd 5750/udp # Bladelogic Agent Service [Brian_Trevor] [Brian_Trevor] 2008-10-24 +# 5751-5754 Unassigned +openmailg 5755/tcp # OpenMail Desk Gateway server [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +openmailg 5755/udp # OpenMail Desk Gateway server [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +# 5756 Unassigned +x500ms 5757/tcp # OpenMail X.500 Directory [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +x500ms 5757/udp # OpenMail X.500 Directory [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +# 5758-5765 Unassigned +openmailns 5766/tcp # OpenMail NewMail Server [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +openmailns 5766/udp # OpenMail NewMail Server [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +s-openmail 5767/tcp # OpenMail Suer Agent Layer [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +# (Secure) +s-openmail 5767/udp # OpenMail Suer Agent Layer [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +openmailpxy 5768/tcp # OpenMail CMTS Server [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +openmailpxy 5768/udp # OpenMail CMTS Server [OpenMail_Encyclopedi][Don_Loughry] [OpenMail_Encyclopedi][Don_Loughry] +spramsca 5769/tcp # x509solutions Internal CA [Brendan_Fay] [Brendan_Fay] 2006-02 +spramsca 5769/udp # x509solutions Internal CA [Brendan_Fay] [Brendan_Fay] 2006-02 +spramsd 5770/tcp # x509solutions Secure Data [Brendan_Fay] [Brendan_Fay] 2006-02 +spramsd 5770/udp # x509solutions Secure Data [Brendan_Fay] [Brendan_Fay] 2006-02 +netagent 5771/tcp # NetAgent [Bradley_Birnbaum] [Bradley_Birnbaum] +netagent 5771/udp # NetAgent [Bradley_Birnbaum] [Bradley_Birnbaum] +# 5772-5776 Unassigned +dali-port 5777/tcp # DALI Port [Wayne_Morrow][Michael_Melio] [Wayne_Morrow][Michael_Melio] 2003-10 +dali-port 5777/udp # DALI Port [Wayne_Morrow][Michael_Melio] [Wayne_Morrow][Michael_Melio] 2003-10 +# 5778-5779 Unassigned +vts-rpc 5780/tcp # Visual Tag System RPC [Graham_Bloice] [Graham_Bloice] 2009-09-17 +# 5780 udp Reserved +3par-evts 5781/tcp # 3PAR Event Reporting Service [Sushil_Thomas] [Sushil_Thomas] 2008-03-10 +3par-evts 5781/udp # 3PAR Event Reporting Service [Sushil_Thomas] [Sushil_Thomas] 2008-03-10 +3par-mgmt 5782/tcp # 3PAR Management Service [Don_Marselle] [Don_Marselle] 2008-04-09 +3par-mgmt 5782/udp # 3PAR Management Service [Don_Marselle] [Don_Marselle] 2008-04-09 +3par-mgmt-ssl 5783/tcp # 3PAR Management Service with [Don_Marselle] [Don_Marselle] 2008-03-19 +# SSL +3par-mgmt-ssl 5783/udp # 3PAR Management Service with [Don_Marselle] [Don_Marselle] 2008-03-19 +# 5784 tcp Reserved +ibar 5784/udp # Cisco Interbox Application [Cullen_Jennings] [Cullen_Jennings] 2010-02-03 +# Redundancy +3par-rcopy 5785/tcp # 3PAR Inform Remote Copy [Don_Marselle] [Don_Marselle] 2010-02-03 +3par-rcopy 5785/udp # 3PAR Inform Remote Copy [Don_Marselle] [Don_Marselle] 2008-04-09 +# 5786 tcp Reserved +cisco-redu 5786/udp # redundancy notification [Ming_Zhang] [Ming_Zhang] 2010-02-04 +# 5787 tcp Reserved +waascluster 5787/udp # Cisco WAAS Cluster Protocol [Winston_Chou] [Winston_Chou] 2011-02-08 +# 5788-5792 Unassigned +xtreamx 5793/tcp # XtreamX Supervised Peer [Ahmad_Tajuddin_Samsu] [Ahmad_Tajuddin_Samsu] 2007-02 +# message +xtreamx 5793/udp # XtreamX Supervised Peer [Ahmad_Tajuddin_Samsu] [Ahmad_Tajuddin_Samsu] 2007-02 +# 5794 tcp Reserved +spdp 5794/udp # Simple Peered Discovery [Dave_Lindquist] [Dave_Lindquist] 2010-05-27 +# 5795-5812 Unassigned +icmpd 5813/tcp # ICMPD [Shane_O_Donnell] [Shane_O_Donnell] +icmpd 5813/udp # ICMPD [Shane_O_Donnell] [Shane_O_Donnell] +spt-automation 5814/tcp # Support Automation [Joshua_Hawkins] [Joshua_Hawkins] 2003-11 +spt-automation 5814/udp # Support Automation [Joshua_Hawkins] [Joshua_Hawkins] 2003-11 +# 5815-5841 Unassigned +reversion 5842/tcp # Reversion Backup/Restore [Cameo_Systems_Inc] [Craig_Nelson] 2011-09-26 +# 5842 udp Reserved +# 5843-5858 Unassigned +wherehoo 5859/tcp # WHEREHOO [Jim_Youll] [Jim_Youll] +wherehoo 5859/udp # WHEREHOO [Jim_Youll] [Jim_Youll] +# 5860-5862 Unassigned +ppsuitemsg 5863/tcp # PlanetPress Suite Messeng [Yannick_Fortin] [Yannick_Fortin] 2006-02 +ppsuitemsg 5863/udp # PlanetPress Suite Messeng [Yannick_Fortin] [Yannick_Fortin] 2006-02 +# 5864-5867 Unassigned +diameters 5868/tcp # Diameter over TLS/TCP [IESG] [IETF_Chair] [RFC6733] +# 5868 udp Reserved +diameters 5868/sctp # Diameter over DTLS/SCTP [IESG] [IETF_Chair] [RFC6733] +# 5869-5882 Unassigned +jute 5883/tcp # Javascript Unit Test [Mark_Ethan_Trostler] [Mark_Ethan_Trostler] 2011-11-23 +# 5884-5899 Unassigned +rfb 5900/tcp # Remote Framebuffer [Tristan_Richardson] [Tristan_Richardson] 2006-03 [RFC6143] +rfb 5900/udp # Remote Framebuffer [Tristan_Richardson] [Tristan_Richardson] 2006-03 [RFC6143] +# 5901-5909 Unassigned +cm 5910/tcp # Context Management [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +cm 5910/udp # Context Management [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +cm 5910/sctp # Context Management [Justin_Yu] [Justin_Yu] 2011-05-19 +cpdlc 5911/tcp # Controller Pilot Data Link [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +cpdlc 5911/udp # Controller Pilot Data Link [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +cpdlc 5911/sctp # Controller Pilot Data Link [Justin_Yu] [Justin_Yu] 2011-05-18 +fis 5912/tcp # Flight Information Services [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +fis 5912/udp # Flight Information Services [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +fis 5912/sctp # Flight Information Services [Justin_Yu] [Justin_Yu] 2011-05-25 +ads-c 5913/tcp # Automatic Dependent [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +# Surveillance +ads-c 5913/udp # Automatic Dependent [Eivan_Cerasi] [Eivan_Cerasi] 2008-10-10 +ads-c 5913/sctp # Automatic Dependent [Justin_Yu] [Justin_Yu] 2011-05-25 +# 5914-5962 Unassigned +indy 5963/tcp # Indy Application Server [Bjorn_Lantz] [Bjorn_Lantz] 2004-11 +indy 5963/udp # Indy Application Server [Bjorn_Lantz] [Bjorn_Lantz] 2004-11 +# 5964-5967 Unassigned +mppolicy-v5 5968/tcp # mppolicy-v5 [Yutaka_Ono] [Yutaka_Ono] +mppolicy-v5 5968/udp # mppolicy-v5 [Yutaka_Ono] [Yutaka_Ono] +mppolicy-mgr 5969/tcp # mppolicy-mgr [Yutaka_Ono] [Yutaka_Ono] +mppolicy-mgr 5969/udp # mppolicy-mgr [Yutaka_Ono] [Yutaka_Ono] +# 5970-5983 Unassigned +couchdb 5984/tcp # CouchDB [Noah_Slater] [Noah_Slater] 2007-11-27 +couchdb 5984/udp # CouchDB [Noah_Slater] [Noah_Slater] 2007-11-27 +wsman 5985/tcp # WBEM WS-Management HTTP [Jim_Davis] [Jim_Davis] 2006-11 +wsman 5985/udp # WBEM WS-Management HTTP [Jim_Davis] [Jim_Davis] 2006-11 +wsmans 5986/tcp # WBEM WS-Management HTTP over [Jim_Davis] [Jim_Davis] 2006-11 +wsmans 5986/udp # WBEM WS-Management HTTP over [Jim_Davis] [Jim_Davis] 2006-11 +wbem-rmi 5987/tcp # WBEM RMI [Jim_Davis] [Jim_Davis] +wbem-rmi 5987/udp # WBEM RMI [Jim_Davis] [Jim_Davis] +wbem-http 5988/tcp # WBEM CIM-XML (HTTP) [Jim_Davis] [Jim_Davis] +wbem-http 5988/udp # WBEM CIM-XML (HTTP) [Jim_Davis] [Jim_Davis] +wbem-https 5989/tcp # WBEM CIM-XML (HTTPS) [Jim_Davis] [Jim_Davis] +wbem-https 5989/udp # WBEM CIM-XML (HTTPS) [Jim_Davis] [Jim_Davis] +wbem-exp-https 5990/tcp # WBEM Export HTTPS [Denise_Eckstein] [Denise_Eckstein] 2004-11 +wbem-exp-https 5990/udp # WBEM Export HTTPS [Denise_Eckstein] [Denise_Eckstein] 2004-11 +nuxsl 5991/tcp # NUXSL [Kai_Kretschmann] [Kai_Kretschmann] 2002-03 +nuxsl 5991/udp # NUXSL [Kai_Kretschmann] [Kai_Kretschmann] 2002-03 +consul-insight 5992/tcp # Consul InSight Security [Arthur_Hillenaar] [Arthur_Hillenaar] 2006-01 +consul-insight 5992/udp # Consul InSight Security [Arthur_Hillenaar] [Arthur_Hillenaar] 2006-01 +# 5993-5998 Unassigned +cvsup 5999/tcp # CVSup [Randall_Atkinson_2] [Randall_Atkinson_2] +cvsup 5999/udp # CVSup [Randall_Atkinson_2] [Randall_Atkinson_2] +x11 6000/tcp # X Window System [Stephen_Gildea] [Stephen_Gildea] +x11 6000/udp # X Window System [Stephen_Gildea] [Stephen_Gildea] +ndl-ahp-svc 6064/tcp # NDL-AHP-SVC [John_Richmond_2] [John_Richmond_2] +ndl-ahp-svc 6064/udp # NDL-AHP-SVC [John_Richmond_2] [John_Richmond_2] +winpharaoh 6065/tcp # WinPharaoh [Basil_Lee] [Basil_Lee] +winpharaoh 6065/udp # WinPharaoh [Basil_Lee] [Basil_Lee] +ewctsp 6066/tcp # EWCTSP [Mark_Bailon] [Mark_Bailon] +ewctsp 6066/udp # EWCTSP [Mark_Bailon] [Mark_Bailon] +# 6067 Unassigned 2007-07-17 +gsmp-ancp 6068/tcp # GSMP/ANCP [Avri_Doria] [Avri_Doria] [RFC6320] +# 6068 udp Reserved +trip 6069/tcp # TRIP [Hussein_F_Salama] [Hussein_F_Salama] +trip 6069/udp # TRIP [Hussein_F_Salama] [Hussein_F_Salama] +messageasap 6070/tcp # Messageasap [Murray_Freeman] [Murray_Freeman] +messageasap 6070/udp # Messageasap [Murray_Freeman] [Murray_Freeman] +ssdtp 6071/tcp # SSDTP [Michael_Shearson_2] [Michael_Shearson_2] +ssdtp 6071/udp # SSDTP [Michael_Shearson_2] [Michael_Shearson_2] +diagnose-proc 6072/tcp # DIAGNOSE-PROC [Allan_Miller] [Allan_Miller] +diagnose-proc 6072/udp # DIAGNOSE-PROC [Allan_Miller] [Allan_Miller] +directplay8 6073/tcp # DirectPlay8 [John_Kane] [John_Kane] +directplay8 6073/udp # DirectPlay8 [John_Kane] [John_Kane] +max 6074/tcp # Microsoft Max [Jay_Beavers] [Jay_Beavers] 2006-02 +max 6074/udp # Microsoft Max [Jay_Beavers] [Jay_Beavers] 2006-02 +dpm-acm 6075/tcp # Microsoft DPM Access Control [Prabu_Ambravaneswara] [Prabu_Ambravaneswara] 2009-10-29 +# 6075 udp Reserved +msft-dpm-cert 6076/tcp # Microsoft DPM WCF [Microsoft_Corporation] [Prateek_Sharma] 2011-08-04 +# Certificates +# 6076 udp Reserved +iconstructsrv 6077/tcp # iConstruct Server [iConstruct_Aus_Pty_Ltd] [Afshin_Jafari] 2012-12-21 +# 6077 udp Reserved +# 6078-6081 Unassigned +# 6082 tcp Reserved +# APCO Project 25 Common Air +p25cai 6082/udp # Interface - UDP [APCO_Project] [APCO_Project] 2011-05-13 +# encapsulation +# 6083 tcp Reserved +miami-bcast 6083/udp # telecomsoftware miami [Peter_Steiner] [Peter_Steiner] 2011-02-22 +# broadcast +p2p-sip 6084/tcp # Peer to Peer Infrastructure [Cullen_Jennings] [Cullen_Jennings] 2009-01-29 +# 6084 udp Reserved +konspire2b 6085/tcp # konspire2b p2p network [Jason_Rohrer] [Jason_Rohrer] 2002-10 +konspire2b 6085/udp # konspire2b p2p network [Jason_Rohrer] [Jason_Rohrer] 2002-10 +pdtp 6086/tcp # PDTP P2P [Tony_Arcieri] [Tony_Arcieri] 2006-03 +pdtp 6086/udp # PDTP P2P [Tony_Arcieri] [Tony_Arcieri] 2006-03 +ldss 6087/tcp # Local Download Sharing [Clifford_Heath] [Clifford_Heath] 2006-05 +ldss 6087/udp # Local Download Sharing [Clifford_Heath] [Clifford_Heath] 2006-05 +doglms 6088/tcp # SuperDog License Manager [SafeNet] [Rob_Tao] 2012-07-26 +doglms-notify 6088/udp # SuperDog License Manager [SafeNet] [Rob_Tao] 2012-07-26 +# Notifier +# 6089-6098 Unassigned +raxa-mgmt 6099/tcp # RAXA Management [Sukanta_Ganguly] [Sukanta_Ganguly] +# 6099 udp Reserved +synchronet-db 6100/tcp # SynchroNet-db [Arne_Haugland] [Arne_Haugland] +synchronet-db 6100/udp # SynchroNet-db [Arne_Haugland] [Arne_Haugland] +synchronet-rtc 6101/tcp # SynchroNet-rtc [Arne_Haugland] [Arne_Haugland] +synchronet-rtc 6101/udp # SynchroNet-rtc [Arne_Haugland] [Arne_Haugland] +synchronet-upd 6102/tcp # SynchroNet-upd [Arne_Haugland] [Arne_Haugland] +synchronet-upd 6102/udp # SynchroNet-upd [Arne_Haugland] [Arne_Haugland] +rets 6103/tcp # RETS [Bruce_Toback] [Bruce_Toback] +rets 6103/udp # RETS [Bruce_Toback] [Bruce_Toback] +dbdb 6104/tcp # DBDB [Aaron_Brick] [Aaron_Brick] +dbdb 6104/udp # DBDB [Aaron_Brick] [Aaron_Brick] +primaserver 6105/tcp # Prima Server [Prima_Designs_System] [Prima_Designs_System] +primaserver 6105/udp # Prima Server [Prima_Designs_System] [Prima_Designs_System] +mpsserver 6106/tcp # MPS Server [Prima_Designs_System] [Prima_Designs_System] +mpsserver 6106/udp # MPS Server [Prima_Designs_System] [Prima_Designs_System] +etc-control 6107/tcp # ETC Control [Steve_Polishinski] [Steve_Polishinski] +etc-control 6107/udp # ETC Control [Steve_Polishinski] [Steve_Polishinski] +sercomm-scadmin 6108/tcp # Sercomm-SCAdmin [Melinda_Tsao_2] [Melinda_Tsao_2] +sercomm-scadmin 6108/udp # Sercomm-SCAdmin [Melinda_Tsao_2] [Melinda_Tsao_2] +globecast-id 6109/tcp # GLOBECAST-ID [Piers_Scannell_2] [Piers_Scannell_2] +globecast-id 6109/udp # GLOBECAST-ID [Piers_Scannell_2] [Piers_Scannell_2] +softcm 6110/tcp # HP SoftBench CM [Scott_A_Kramer] [Scott_A_Kramer] +softcm 6110/udp # HP SoftBench CM [Scott_A_Kramer] [Scott_A_Kramer] +spc 6111/tcp # HP SoftBench Sub-Process [Scott_A_Kramer] [Scott_A_Kramer] +spc 6111/udp # HP SoftBench Sub-Process [Scott_A_Kramer] [Scott_A_Kramer] +dtspcd 6112/tcp # Desk-Top Sub-Process Control [Doug_Royer] [Doug_Royer] 2010-12-08 +# Daemon +dtspcd 6112/udp # Desk-Top Sub-Process Control [Doug_Royer] [Doug_Royer] 2010-12-08 +dayliteserver 6113/tcp # Daylite Server [Brent_Gulanowski] [Brent_Gulanowski] 2009-08-26 +# 6113 udp Reserved +wrspice 6114/tcp # WRspice IPC Service [Stephen_R_Whiteley] [Stephen_R_Whiteley] 2010-10-07 +# 6114 udp Reserved +xic 6115/tcp # Xic IPC Service [Stephen_R_Whiteley] [Stephen_R_Whiteley] 2010-10-07 +# 6115 udp Reserved +xtlserv 6116/tcp # XicTools License Manager [Stephen_R_Whiteley] [Stephen_R_Whiteley] 2010-10-07 +# 6116 udp Reserved +daylitetouch 6117/tcp # Daylite Touch Sync [Brent_Gulanowski] [Brent_Gulanowski] 2009-08-26 +# 6117 udp Reserved +tipc 6118/udp # Transparent Inter Process [Ericsson] [Erik_Hugne] 2012-09-05 +# 6118 tcp Reserved +# 6119-6120 Unassigned +spdy 6121/tcp # SPDY for a faster web [Matthew_Lloyd] [Matthew_Lloyd] 2010-04-26 +# 6121 udp Reserved +bex-webadmin 6122/tcp # Backup Express Web Server [Chi_Shih_Chang] [Chi_Shih_Chang] 2008-03-19 +bex-webadmin 6122/udp # Backup Express Web Server [Chi_Shih_Chang] [Chi_Shih_Chang] 2008-03-19 +backup-express 6123/tcp # Backup Express [Chi_Shih_Chang] [Chi_Shih_Chang] 2008-03-19 +backup-express 6123/udp # Backup Express [Chi_Shih_Chang] [Chi_Shih_Chang] 2008-03-19 +pnbs 6124/tcp # Phlexible Network Backup [William_R_Lear_2] [William_R_Lear_2] 2008-10-23 +pnbs 6124/udp # Phlexible Network Backup [William_R_Lear_2] [William_R_Lear_2] 2008-10-23 +# 6125-6132 Unassigned +nbt-wol 6133/tcp # New Boundary Tech WOL [Elizabeth_Zilen] [Elizabeth_Zilen] 2004-11 +nbt-wol 6133/udp # New Boundary Tech WOL [Elizabeth_Zilen] [Elizabeth_Zilen] 2004-11 +# 6134-6139 Unassigned +pulsonixnls 6140/tcp # Pulsonix Network License [David_Manns] [David_Manns] 2008-02-28 +pulsonixnls 6140/udp # Pulsonix Network License [David_Manns] [David_Manns] 2008-02-28 +meta-corp 6141/tcp # Meta Corporation License [Osamu_Masuda] [Osamu_Masuda] +meta-corp 6141/udp # Meta Corporation License [Osamu_Masuda] [Osamu_Masuda] +aspentec-lm 6142/tcp # Aspen Technology License [Kevin_Massey] [Kevin_Massey] +aspentec-lm 6142/udp # Aspen Technology License [Kevin_Massey] [Kevin_Massey] +watershed-lm 6143/tcp # Watershed License Manager [David_Ferrero] [David_Ferrero] +watershed-lm 6143/udp # Watershed License Manager [David_Ferrero] [David_Ferrero] +statsci1-lm 6144/tcp # StatSci License Manager - 1 [Scott_Blachowicz] [Scott_Blachowicz] +statsci1-lm 6144/udp # StatSci License Manager - 1 [Scott_Blachowicz] [Scott_Blachowicz] +statsci2-lm 6145/tcp # StatSci License Manager - 2 [Scott_Blachowicz] [Scott_Blachowicz] +statsci2-lm 6145/udp # StatSci License Manager - 2 [Scott_Blachowicz] [Scott_Blachowicz] +lonewolf-lm 6146/tcp # Lone Wolf Systems License [Dan_Klein] [Dan_Klein] +lonewolf-lm 6146/udp # Lone Wolf Systems License [Dan_Klein] [Dan_Klein] +montage-lm 6147/tcp # Montage License Manager [Michael_Ubell] [Michael_Ubell] +montage-lm 6147/udp # Montage License Manager [Michael_Ubell] [Michael_Ubell] +ricardo-lm 6148/tcp # Ricardo North America [M_Flemming] [M_Flemming] +ricardo-lm 6148/udp # Ricardo North America [M_Flemming] [M_Flemming] +tal-pod 6149/tcp # tal-pod [Steven_Loomis] [Steven_Loomis] +tal-pod 6149/udp # tal-pod [Steven_Loomis] [Steven_Loomis] +# 6150-6158 Unassigned +efb-aci 6159/tcp # EFB Application Control [Jonathan_Schaaf] [Jonathan_Schaaf] 2010-02-10 +# 6159 udp Reserved +ecmp 6160/tcp # Emerson Extensible Control [Bryce_Beeston] [Bryce_Beeston] 2011-06-23 +# and Management Protocol +ecmp-data 6160/udp # Emerson Extensible Control [Bryce_Beeston] [Bryce_Beeston] 2011-06-23 +# and Management Protocol Data +patrol-ism 6161/tcp # PATROL Internet Srv Mgr [Portnoy_Boxman] [Portnoy_Boxman] 2005-01 +patrol-ism 6161/udp # PATROL Internet Srv Mgr [Portnoy_Boxman] [Portnoy_Boxman] 2005-01 +patrol-coll 6162/tcp # PATROL Collector [Portnoy_Boxman] [Portnoy_Boxman] 2005-01 +patrol-coll 6162/udp # PATROL Collector [Portnoy_Boxman] [Portnoy_Boxman] 2005-01 +pscribe 6163/tcp # Precision Scribe Cnx Port [Robert_W_Hodges] [Robert_W_Hodges] 2005-01 +pscribe 6163/udp # Precision Scribe Cnx Port [Robert_W_Hodges] [Robert_W_Hodges] 2005-01 +# 6164-6199 Unassigned +lm-x 6200/tcp # LM-X License Manager by [Henrik_Goldman] [Henrik_Goldman] 2006-10 +# X-Formation +lm-x 6200/udp # LM-X License Manager by [Henrik_Goldman] [Henrik_Goldman] 2006-10 +# 6201 tcp Reserved +# Management of service nodes +thermo-calc 6201/udp # in a processing grid for [Thermo-Calc_Software] [Thomas_Revesz] 2012-06-28 +# thermodynamic calculations +# 6202-6221 Unassigned +radmind 6222/tcp # Radmind Access Protocol [Patrick_M_McNeal] [Patrick_M_McNeal] 2006-03 +radmind 6222/udp # Radmind Access Protocol [Patrick_M_McNeal] [Patrick_M_McNeal] 2006-03 +# 6223-6240 Unassigned +jeol-nsdtp-1 6241/tcp # JEOL Network Services Data [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Transport Protocol 1 +jeol-nsddp-1 6241/udp # JEOL Network Services [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Dynamic Discovery Protocol 1 +jeol-nsdtp-2 6242/tcp # JEOL Network Services Data [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Transport Protocol 2 +jeol-nsddp-2 6242/udp # JEOL Network Services [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Dynamic Discovery Protocol 2 +jeol-nsdtp-3 6243/tcp # JEOL Network Services Data [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Transport Protocol 3 +jeol-nsddp-3 6243/udp # JEOL Network Services [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Dynamic Discovery Protocol 3 +jeol-nsdtp-4 6244/tcp # JEOL Network Services Data [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Transport Protocol 4 +jeol-nsddp-4 6244/udp # JEOL Network Services [Kevin_Wellwood] [Kevin_Wellwood] 2008-04-17 +# Dynamic Discovery Protocol 4 +# 6245-6250 Unassigned +tl1-raw-ssl 6251/tcp # TL1 Raw Over SSL/TLS [Jim_Humphreys] [Jim_Humphreys] 2008-01-29 +tl1-raw-ssl 6251/udp # TL1 Raw Over SSL/TLS [Jim_Humphreys] [Jim_Humphreys] 2008-01-29 +tl1-ssh 6252/tcp # TL1 over SSH [Jim_Humphreys] [Jim_Humphreys] 2008-01-25 +tl1-ssh 6252/udp # TL1 over SSH [Jim_Humphreys] [Jim_Humphreys] 2008-01-25 +crip 6253/tcp # CRIP [Mike_Rodbell] [Mike_Rodbell] +crip 6253/udp # CRIP [Mike_Rodbell] [Mike_Rodbell] +# 6254-6266 Unassigned +gld 6267/tcp # GridLAB-D User Interface [David_Chassin] [David_Chassin] 2010-12-10 +# 6267 udp Reserved +grid 6268/tcp # Grid Authentication [Jason_Hamilton] [Jason_Hamilton] 2006-06 +grid 6268/udp # Grid Authentication [Jason_Hamilton] [Jason_Hamilton] 2006-06 +grid-alt 6269/tcp # Grid Authentication Alt [Jason_Hamilton] [Jason_Hamilton] 2006-06 +grid-alt 6269/udp # Grid Authentication Alt [Jason_Hamilton] [Jason_Hamilton] 2006-06 +# 6270-6299 Unassigned +bmc-grx 6300/tcp # BMC GRX [Portnoy_Boxman] [Portnoy_Boxman] +bmc-grx 6300/udp # BMC GRX [Portnoy_Boxman] [Portnoy_Boxman] +# BMC CONTROL-D LDAP SERVER +# +bmc-ctd-ldap 6301/tcp # IANA assigned this [Portnoy_Boxman_2] [Portnoy_Boxman_2] 2006-09 +# "bmc_ctd_ldap". +# This entry is an alias to "bmc-ctd-ldap". This entry is now +bmc_ctd_ldap 6301/tcp # BMC CONTROL-D LDAP SERVER [Portnoy_Boxman_2] [Portnoy_Boxman_2] 2006-09 historic, not usable for use with many common service +# +bmc-ctd-ldap 6301/udp # IANA assigned this [Portnoy_Boxman_2] [Portnoy_Boxman_2] 2006-09 +bmc_ctd_ldap 6301/udp # BMC CONTROL-D LDAP SERVER [Portnoy_Boxman_2] [Portnoy_Boxman_2] 2006-09 historic, not usable for use with many common service +# 6302-6305 Unassigned +ufmp 6306/tcp # Unified Fabric Management [Albert_Berlovitch] [Albert_Berlovitch] 2009-12-17 +ufmp 6306/udp # Unified Fabric Management [Albert_Berlovitch] [Albert_Berlovitch] 2009-12-17 +# 6307-6314 Unassigned +scup 6315/tcp # Sensor Control Unit Protocol [Sven_Kopacz] [Sven_Kopacz] 2010-09-01 +scup-disc 6315/udp # Sensor Control Unit Protocol [Sven_Kopacz] [Sven_Kopacz] 2010-09-01 +# Discovery Protocol +abb-escp 6316/tcp # Ethernet Sensor [Jaime_Antolin] [Jaime_Antolin] 2008-09-25 +# Communications Protocol +abb-escp 6316/udp # Ethernet Sensor [Jaime_Antolin] [Jaime_Antolin] 2008-09-25 +nav-data-cmd 6317/tcp # Navtech Radar Sensor Data [Navtech_Radar_Ltd] [Guy_Avery] 2013-02-20 +# Command +nav-data 6317/udp # Navtech Radar Sensor Data [Navtech_Radar_Ltd] [Guy_Avery] 2013-02-20 +# 6318-6319 Unassigned +repsvc 6320/tcp # Double-Take Replication [James_Wilkinson] [James_Wilkinson] 2006-04 +repsvc 6320/udp # Double-Take Replication [James_Wilkinson] [James_Wilkinson] 2006-04 +emp-server1 6321/tcp # Empress Software [Srdjan_Holovac] [Srdjan_Holovac] +# Connectivity Server 1 +emp-server1 6321/udp # Empress Software [Srdjan_Holovac] [Srdjan_Holovac] +emp-server2 6322/tcp # Empress Software [Srdjan_Holovac] [Srdjan_Holovac] +# Connectivity Server 2 +emp-server2 6322/udp # Empress Software [Srdjan_Holovac] [Srdjan_Holovac] +# 6323 Unassigned +hrd-ncs 6324/tcp # HR Device Network [Hall_Research] [Vishal_Dharmadhikari] 2011-11-29 +# Configuration Service +hrd-ns-disc 6324/udp # HR Device Network service [Hall_Research] [Vishal_Dharmadhikari] 2011-11-29 +dt-mgmtsvc 6325/tcp # Double-Take Management [Vision_Solutions] [James_Wilkinson2] 2012-06-06 +# 6325 udp Reserved +dt-vra 6326/tcp # Double-Take Virtual Recovery [Vision_Solutions] [James_Wilkinson2] 2012-10-08 +# Assistant +# 6326 udp Reserved +# 6327-6342 Unassigned +sflow 6343/tcp # sFlow traffic monitoring [Peter_Phaal] [Peter_Phaal] 2003-06 +sflow 6343/udp # sFlow traffic monitoring [Peter_Phaal] [Peter_Phaal] 2003-06 +# 6344-6345 Unassigned +gnutella-svc 6346/tcp # gnutella-svc [Serguei_Osokine] [Serguei_Osokine] +gnutella-svc 6346/udp # gnutella-svc [Serguei_Osokine] [Serguei_Osokine] +gnutella-rtr 6347/tcp # gnutella-rtr [Serguei_Osokine] [Serguei_Osokine] +gnutella-rtr 6347/udp # gnutella-rtr [Serguei_Osokine] [Serguei_Osokine] +# 6348-6349 Unassigned +adap 6350/tcp # App Discovery and Access [Thomas_Kjoernes] [Thomas_Kjoernes] 2010-06-22 +adap 6350/udp # App Discovery and Access [Thomas_Kjoernes] [Thomas_Kjoernes] 2010-06-22 +# 6351-6354 Unassigned +pmcs 6355/tcp # PMCS applications [Pavel_Mendl] [Pavel_Mendl] 2007-03 +pmcs 6355/udp # PMCS applications [Pavel_Mendl] [Pavel_Mendl] 2007-03 +# 6356-6359 Unassigned +metaedit-mu 6360/tcp # MetaEdit+ Multi-User [Steven_Kelly] [Steven_Kelly] 2007-11-12 +metaedit-mu 6360/udp # MetaEdit+ Multi-User [Steven_Kelly] [Steven_Kelly] 2007-11-12 +# 6361-6369 Unassigned +metaedit-se 6370/tcp # MetaEdit+ Server [Steven_Kelly] [Steven_Kelly] 2007-11-12 +metaedit-se 6370/udp # MetaEdit+ Server [Steven_Kelly] [Steven_Kelly] 2007-11-12 +# 6371-6381 Unassigned +metatude-mds 6382/tcp # Metatude Dialogue Server [Menno_Zweistra] [Menno_Zweistra] +metatude-mds 6382/udp # Metatude Dialogue Server [Menno_Zweistra] [Menno_Zweistra] +# 6383-6388 Unassigned +clariion-evr01 6389/tcp # clariion-evr01 [Dave_DesRoches] [Dave_DesRoches] +clariion-evr01 6389/udp # clariion-evr01 [Dave_DesRoches] [Dave_DesRoches] +metaedit-ws 6390/tcp # MetaEdit+ WebService API [Steven_Kelly] [Steven_Kelly] 2007-11-12 +metaedit-ws 6390/udp # MetaEdit+ WebService API [Steven_Kelly] [Steven_Kelly] 2007-11-12 +# 6391-6399 Unassigned +# boe-cms 6400 Business Objects CMS contact [Wade_Richards] [Wade_Richards] 2008-05-05 +# port +# boe-was 6401 boe-was [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-eventsrv 6402 boe-eventsrv [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-cachesvr 6403 boe-cachesvr [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-filesvr 6404 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# internal server +# boe-pagesvr 6405 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-processsvr 6406 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-resssvr1 6407 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-resssvr2 6408 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-resssvr3 6409 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# boe-resssvr4 6410 Business Objects Enterprise [Wade_Richards] [Wade_Richards] 2008-05-05 +# 6411-6416 Unassigned +faxcomservice 6417/tcp # Faxcom Message Service [Albert_Leung] [Albert_Leung] 2006-04 +faxcomservice 6417/udp # Faxcom Message Service [Albert_Leung] [Albert_Leung] 2006-04 +syserverremote 6418/tcp # SYserver remote commands [David_Ashkenazi] [David_Ashkenazi] 2010-03-23 +# 6418 udp Reserved +svdrp 6419/tcp # Simple VDR Protocol [Klaus_Schmidinger] [Klaus_Schmidinger] 2010-03-31 +# 6419 udp Reserved +nim-vdrshell 6420/tcp # NIM_VDRShell [Rik_Ditter] [Rik_Ditter] 2006-02 +nim-vdrshell 6420/udp # NIM_VDRShell [Rik_Ditter] [Rik_Ditter] 2006-02 +nim-wan 6421/tcp # NIM_WAN [Rik_Ditter] [Rik_Ditter] 2006-02 +nim-wan 6421/udp # NIM_WAN [Rik_Ditter] [Rik_Ditter] 2006-02 +# 6422-6431 Unassigned +pgbouncer 6432/tcp # PgBouncer [Marko_Kreen] [Marko_Kreen] 2009-02-13 +# 6432 udp Reserved +# 6433-6442 Unassigned +sun-sr-https 6443/tcp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# HTTPS Domain +sun-sr-https 6443/udp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# Grid Engine Qmaster Service +# +sge-qmaster 6444/tcp # IANA assigned this [Andreas_Haas] [Andreas_Haas] 2006-08 +# "sge_qmaster". +# This entry is an alias to "sge-qmaster". This entry is now +sge_qmaster 6444/tcp # Grid Engine Qmaster Service [Andreas_Haas] [Andreas_Haas] 2006-08 historic, not usable for use with many common service +# +sge-qmaster 6444/udp # IANA assigned this [Andreas_Haas] [Andreas_Haas] 2006-08 +sge_qmaster 6444/udp # Grid Engine Qmaster Service [Andreas_Haas] [Andreas_Haas] 2006-08 historic, not usable for use with many common service +# Grid Engine Execution +# +sge-execd 6445/tcp # IANA assigned this [Andreas_Haas] [Andreas_Haas] 2006-08 +# "sge_execd". +# Grid Engine Execution This entry is an alias to "sge-execd". This entry is now +sge_execd 6445/tcp # Service [Andreas_Haas] [Andreas_Haas] 2006-08 historic, not usable for use with many common service +# +sge-execd 6445/udp # IANA assigned this [Andreas_Haas] [Andreas_Haas] 2006-08 +sge_execd 6445/udp # Service [Andreas_Haas] [Andreas_Haas] 2006-08 historic, not usable for use with many common service +mysql-proxy 6446/tcp # MySQL Proxy [Kay_Roepke] [Kay_Roepke] 2009-04-22 +mysql-proxy 6446/udp # MySQL Proxy [Kay_Roepke] [Kay_Roepke] 2009-04-22 +# 6447-6454 Unassigned +skip-cert-recv 6455/tcp # SKIP Certificate Receive [Tom_Markson] [Tom_Markson] +skip-cert-recv 6455/udp # SKIP Certificate Receive [Tom_Markson] [Tom_Markson] +skip-cert-send 6456/tcp # SKIP Certificate Send [Tom_Markson] [Tom_Markson] +skip-cert-send 6456/udp # SKIP Certificate Send [Tom_Markson] [Tom_Markson] +# 6457-6470 Unassigned +lvision-lm 6471/tcp # LVision License Manager [Brian_McKinnon] [Brian_McKinnon] +lvision-lm 6471/udp # LVision License Manager [Brian_McKinnon] [Brian_McKinnon] +# 6472-6479 Unassigned +sun-sr-http 6480/tcp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# HTTP Domain +sun-sr-http 6480/udp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +servicetags 6481/tcp # Service Tags [Peter_Schow] [Peter_Schow] 2007-01 +servicetags 6481/udp # Service Tags [Peter_Schow] [Peter_Schow] 2007-01 +ldoms-mgmt 6482/tcp # Logical Domains Management [Eric_Sharakan] [Eric_Sharakan] 2008-02-14 +ldoms-mgmt 6482/udp # Logical Domains Management [Eric_Sharakan] [Eric_Sharakan] 2008-02-14 +SunVTS-RMI 6483/tcp # SunVTS RMI [Sumit_Arora] [Sumit_Arora] 2007-06 +SunVTS-RMI 6483/udp # SunVTS RMI [Sumit_Arora] [Sumit_Arora] 2007-06 +sun-sr-jms 6484/tcp # Service Registry Default JMS [Paul_Sterk] [Paul_Sterk] 2006-03 +# Domain +sun-sr-jms 6484/udp # Service Registry Default JMS [Paul_Sterk] [Paul_Sterk] 2006-03 +sun-sr-iiop 6485/tcp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# IIOP Domain +sun-sr-iiop 6485/udp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +sun-sr-iiops 6486/tcp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# IIOPS Domain +sun-sr-iiops 6486/udp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +sun-sr-iiop-aut 6487/tcp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# IIOPAuth Domain +sun-sr-iiop-aut 6487/udp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +sun-sr-jmx 6488/tcp # Service Registry Default JMX [Paul_Sterk] [Paul_Sterk] 2006-03 +sun-sr-jmx 6488/udp # Service Registry Default JMX [Paul_Sterk] [Paul_Sterk] 2006-03 +sun-sr-admin 6489/tcp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# Admin Domain +sun-sr-admin 6489/udp # Service Registry Default [Paul_Sterk] [Paul_Sterk] 2006-03 +# 6490-6499 Unassigned +boks 6500/tcp # BoKS Master [Magnus_Nystrom] [Magnus_Nystrom] +boks 6500/udp # BoKS Master [Magnus_Nystrom] [Magnus_Nystrom] +# BoKS Servc +# +boks-servc 6501/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "boks_servc". +# This entry is an alias to "boks-servc". This entry is now +boks_servc 6501/tcp # BoKS Servc [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +boks-servc 6501/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +boks_servc 6501/udp # BoKS Servc [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# BoKS Servm +# +boks-servm 6502/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "boks_servm". +# This entry is an alias to "boks-servm". This entry is now +boks_servm 6502/tcp # BoKS Servm [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +boks-servm 6502/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +boks_servm 6502/udp # BoKS Servm [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# BoKS Clntd +# +boks-clntd 6503/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "boks_clntd". +# This entry is an alias to "boks-clntd". This entry is now +boks_clntd 6503/tcp # BoKS Clntd [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +boks-clntd 6503/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +boks_clntd 6503/udp # BoKS Clntd [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# 6504 Unassigned +# BoKS Admin Private Port +# +badm-priv 6505/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "badm_priv". +# This entry is an alias to "badm-priv". This entry is now +badm_priv 6505/tcp # BoKS Admin Private Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +badm-priv 6505/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +badm_priv 6505/udp # BoKS Admin Private Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# BoKS Admin Public Port +# +badm-pub 6506/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "badm_pub". +# This entry is an alias to "badm-pub". This entry is now +badm_pub 6506/tcp # BoKS Admin Public Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +badm-pub 6506/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +badm_pub 6506/udp # BoKS Admin Public Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# BoKS Dir Server, Private +# +bdir-priv 6507/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "bdir_priv". +# BoKS Dir Server, Private This entry is an alias to "bdir-priv". This entry is now +bdir_priv 6507/tcp # Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +bdir-priv 6507/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +bdir_priv 6507/udp # Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# BoKS Dir Server, Public Port +# +bdir-pub 6508/tcp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +# "bdir_pub". +# This entry is an alias to "bdir-pub". This entry is now +bdir_pub 6508/tcp # BoKS Dir Server, Public Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +# +bdir-pub 6508/udp # IANA assigned this [Magnus_Nystrom] [Magnus_Nystrom] +bdir_pub 6508/udp # BoKS Dir Server, Public Port [Magnus_Nystrom] [Magnus_Nystrom] historic, not usable for use with many common service +mgcs-mfp-port 6509/tcp # MGCS-MFP Port [Minoru_Ozaki] [Minoru_Ozaki] +mgcs-mfp-port 6509/udp # MGCS-MFP Port [Minoru_Ozaki] [Minoru_Ozaki] +mcer-port 6510/tcp # MCER Port [Portnoy_Boxman] [Portnoy_Boxman] +mcer-port 6510/udp # MCER Port [Portnoy_Boxman] [Portnoy_Boxman] +# 6511 tcp Reserved +# Datagram Congestion Control +dccp-udp 6511/udp # Protocol Encapsulation for [IESG] [IETF_Chair] [RFC6773] +# NAT Traversal +# 6512-6512 Unassigned +netconf-tls 6513/tcp # NETCONF over TLS [RFC5539] +# 6513 udp Reserved +syslog-tls 6514/tcp # Syslog over TLS [RFC5425] +syslog-tls 6514/udp # syslog over DTLS [RFC6012] +syslog-tls 6514/dccp # syslog over DTLS [RFC6012] +elipse-rec 6515/tcp # Elipse RPC Protocol [F_Englert] [F_Englert] 2007-09-17 +elipse-rec 6515/udp # Elipse RPC Protocol [F_Englert] [F_Englert] 2007-09-17 +# 6516-6542 Unassigned +lds-distrib 6543/tcp # lds_distrib [Jack_Baker] [Jack_Baker] 2003-06 +lds-distrib 6543/udp # lds_distrib [Jack_Baker] [Jack_Baker] 2003-06 +lds-dump 6544/tcp # LDS Dump Service [Jack_Baker] [Jack_Baker] 2006-02 +lds-dump 6544/udp # LDS Dump Service [Jack_Baker] [Jack_Baker] 2006-02 +# 6545-6546 Unassigned +apc-6547 6547/tcp # APC 6547 [American_Power_Conve] [American_Power_Conve] +apc-6547 6547/udp # APC 6547 [American_Power_Conve] [American_Power_Conve] +apc-6548 6548/tcp # APC 6548 [American_Power_Conve] [American_Power_Conve] +apc-6548 6548/udp # APC 6548 [American_Power_Conve] [American_Power_Conve] +apc-6549 6549/tcp # APC 6549 [American_Power_Conve] [American_Power_Conve] +apc-6549 6549/udp # APC 6549 [American_Power_Conve] [American_Power_Conve] +fg-sysupdate 6550/tcp # fg-sysupdate [Mark_Beyer] [Mark_Beyer] +fg-sysupdate 6550/udp # fg-sysupdate [Mark_Beyer] [Mark_Beyer] +sum 6551/tcp # Software Update Manager [Jan_Dirven] [Jan_Dirven] 2007-12-13 +sum 6551/udp # Software Update Manager [Jan_Dirven] [Jan_Dirven] 2007-12-13 +# 6552-6557 Unassigned +xdsxdm 6558/tcp # [Brian_Tackett] [Brian_Tackett] possible contact +xdsxdm 6558/udp # [Brian_Tackett] [Brian_Tackett] possible contact +# 6559-6565 Unassigned +sane-port 6566/tcp # SANE Control Port [Henning_Meier_Geinit] [Henning_Meier_Geinit] 2002-10 +sane-port 6566/udp # SANE Control Port [Henning_Meier_Geinit] [Henning_Meier_Geinit] 2002-10 +# 6567 Reserved 2007-01 2011-08-26 This entry has been removed on 2011-08-26. +# CanIt Storage Manager +# +canit-store 6568/tcp # IANA assigned this [David_F_Skoll] [David_F_Skoll] 2009-04-22 +# "canit_store". +# This entry is an alias to "canit-store". This entry is now +canit_store 6568/tcp # CanIt Storage Manager [David_F_Skoll] [David_F_Skoll] 2009-04-22 historic, not usable for use with many common service +rp-reputation 6568/udp # Roaring Penguin IP Address [David_F_Skoll] [David_F_Skoll] 2010-02-05 +# Reputation Collection +# 6569-6578 Unassigned +affiliate 6579/tcp # Affiliate [David_Catmull] [David_Catmull] 2006-01 +affiliate 6579/udp # Affiliate [David_Catmull] [David_Catmull] 2006-01 +parsec-master 6580/tcp # Parsec Masterserver [Andreas_Varga] [Andreas_Varga] +parsec-master 6580/udp # Parsec Masterserver [Andreas_Varga] [Andreas_Varga] +parsec-peer 6581/tcp # Parsec Peer-to-Peer [Andreas_Varga] [Andreas_Varga] +parsec-peer 6581/udp # Parsec Peer-to-Peer [Andreas_Varga] [Andreas_Varga] +parsec-game 6582/tcp # Parsec Gameserver [Andreas_Varga] [Andreas_Varga] +parsec-game 6582/udp # Parsec Gameserver [Andreas_Varga] [Andreas_Varga] +joaJewelSuite 6583/tcp # JOA Jewel Suite [Bob_Rundle] [Bob_Rundle] 2005-11 +joaJewelSuite 6583/udp # JOA Jewel Suite [Bob_Rundle] [Bob_Rundle] 2005-11 +# 6584-6587 Unassigned +# Unofficial +# use of port +# 6588 Unassigned 6588 by +# AnalogX and +# Microsoft +# 6589-6599 Unassigned +mshvlm 6600/tcp # Microsoft Hyper-V Live [Rajesh_D] [Rajesh_D] 2009-02-03 +# Migration +# 6600 udp Reserved +mstmg-sstp 6601/tcp # Microsoft Threat Management [Ori_Yosefi] [Ori_Yosefi] 2009-05-04 +# Gateway SSTP +# 6601 udp Reserved +wsscomfrmwk 6602/tcp # Windows WSS Communication [Rong_Yu] [Rong_Yu] 2010-08-10 +# 6602 udp Reserved +# 6603-6618 Unassigned +odette-ftps 6619/tcp # ODETTE-FTP over TLS/SSL [Ieuan_Friend] [Ieuan_Friend] 2006-03 [RFC5024] +odette-ftps 6619/udp # ODETTE-FTP over TLS/SSL [Ieuan_Friend] [Ieuan_Friend] 2006-03 [RFC5024] +kftp-data 6620/tcp # Kerberos V5 FTP Data [Robert_J_Scott] [Robert_J_Scott] 2005-08 +kftp-data 6620/udp # Kerberos V5 FTP Data [Robert_J_Scott] [Robert_J_Scott] 2005-08 +kftp 6621/tcp # Kerberos V5 FTP Control [Robert_J_Scott] [Robert_J_Scott] 2005-08 +kftp 6621/udp # Kerberos V5 FTP Control [Robert_J_Scott] [Robert_J_Scott] 2005-08 +mcftp 6622/tcp # Multicast FTP [Bruce_Lueckenhoff_2] [Bruce_Lueckenhoff_2] 2006-02 +mcftp 6622/udp # Multicast FTP [Bruce_Lueckenhoff_2] [Bruce_Lueckenhoff_2] 2006-02 +ktelnet 6623/tcp # Kerberos V5 Telnet [Robert_J_Scott] [Robert_J_Scott] 2005-08 +ktelnet 6623/udp # Kerberos V5 Telnet [Robert_J_Scott] [Robert_J_Scott] 2005-08 +datascaler-db 6624/tcp # DataScaler database [Vasu_Murthy] [Vasu_Murthy] 2010-02-08 +# 6624 udp Reserved +datascaler-ctl 6625/tcp # DataScaler control [Vasu_Murthy] [Vasu_Murthy] 2010-02-08 +# 6625 udp Reserved +wago-service 6626/tcp # WAGO Service and Update [Wolfgang_Adler] [Wolfgang_Adler] 2006-04 +wago-service 6626/udp # WAGO Service and Update [Wolfgang_Adler] [Wolfgang_Adler] 2006-04 +nexgen 6627/tcp # Allied Electronics NeXGen [Lou_Seitchik] [Lou_Seitchik] 2005-08 +nexgen 6627/udp # Allied Electronics NeXGen [Lou_Seitchik] [Lou_Seitchik] 2005-08 +afesc-mc 6628/tcp # AFE Stock Channel M/C [K_K_Ho] [K_K_Ho] 2004-04 +afesc-mc 6628/udp # AFE Stock Channel M/C [K_K_Ho] [K_K_Ho] 2004-04 +# 6629-6630 Unassigned +# 6631 Unassigned 2004-05-28 +mxodbc-connect 6632/tcp # eGenix mxODBC Connect [Marc_Andre_Lemburg] [Marc_Andre_Lemburg] 2009-11-13 +# 6632 udp Reserved +# 6633 tcp Reserved +cisco-vpath-tun 6633/udp # Cisco vPath Services Overlay [Cisco2] [Surendra_Kumar] 2012-06-11 +# 6634-6654 Unassigned +pcs-sf-ui-man 6655/tcp # PC SOFT - Software factory [Jerome_AERTS] [Jerome_AERTS] 2010-11-30 +# UI/manager +# 6655 udp Reserved +emgmsg 6656/tcp # Emergency Message Control [Gerry_Gorman] [Gerry_Gorman] 2010-12-06 +# 6656 udp Reserved +# 6657 tcp Reserved +palcom-disc 6657/udp # PalCom Discovery [Boris_Magnusson] [Boris_Magnusson] 2010-12-06 +# 6658-6664 Unassigned Use Known on +# Port 6659 +ircu 6665/tcp # IRCU [Brian_Tackett] [Brian_Tackett] +# 6665-6669 udp Reserved +vocaltec-gold 6670/tcp # Vocaltec Global Online [Scott_Petrack] [Scott_Petrack] +# Directory +vocaltec-gold 6670/udp # Vocaltec Global Online [Scott_Petrack] [Scott_Petrack] +p4p-portal 6671/tcp # P4P Portal Service [Chris_Griffiths] [Chris_Griffiths] 2008-07-28 +p4p-portal 6671/udp # P4P Portal Service [Chris_Griffiths] [Chris_Griffiths] 2008-07-28 +# vision_server +# +vision-server 6672/tcp # IANA assigned this [Chris_Kramer] [Chris_Kramer] +# "vision_server". +# This entry is an alias to "vision-server". This entry is now +vision_server 6672/tcp # vision_server [Chris_Kramer] [Chris_Kramer] historic, not usable for use with many common service +# +vision-server 6672/udp # IANA assigned this [Chris_Kramer] [Chris_Kramer] +vision_server 6672/udp # vision_server [Chris_Kramer] [Chris_Kramer] historic, not usable for use with many common service +# vision_elmd +# +vision-elmd 6673/tcp # IANA assigned this [Chris_Kramer] [Chris_Kramer] +# "vision_elmd". +# This entry is an alias to "vision-elmd". This entry is now +vision_elmd 6673/tcp # vision_elmd [Chris_Kramer] [Chris_Kramer] historic, not usable for use with many common service +# +vision-elmd 6673/udp # IANA assigned this [Chris_Kramer] [Chris_Kramer] +vision_elmd 6673/udp # vision_elmd [Chris_Kramer] [Chris_Kramer] historic, not usable for use with many common service +# 6674-6677 Unassigned +vfbp 6678/tcp # Viscount Freedom Bridge [Chris_MacDonald] [Chris_MacDonald] 2011-03-16 +vfbp-disc 6678/udp # Viscount Freedom Bridge [Chris_MacDonald] [Chris_MacDonald] 2011-03-16 +osaut 6679/tcp # Osorno Automation [Peter_Hombach] [Peter_Hombach] 2011-03-16 +osaut 6679/udp # Osorno Automation [Peter_Hombach] [Peter_Hombach] 2011-03-16 +# 6680-6686 Unassigned +clever-ctrace 6687/tcp # CleverView for cTrace [David_Cheng] [David_Cheng] 2010-02-01 +# Message Service +# 6687 udp Reserved +clever-tcpip 6688/tcp # CleverView for TCP/IP [David_Cheng] [David_Cheng] 2009-10-13 +# 6688 udp Reserved +tsa 6689/tcp # Tofino Security Appliance [Scott_Howard] [Scott_Howard] 2009-10-13 +tsa 6689/udp # Tofino Security Appliance [Scott_Howard] [Scott_Howard] 2009-10-13 +# 6690-6695 Unassigned +# 6696 tcp Reserved +babel 6696/udp # Babel Routing Protocol 2011-08-15 [RFC6126] +# 6697-6699 Unassigned +# 6700 Unassigned 2010-01-26 +kti-icad-srvr 6701/tcp # KTI/ICAD Nameserver [Stanley_Knutson] [Stanley_Knutson] +kti-icad-srvr 6701/udp # KTI/ICAD Nameserver [Stanley_Knutson] [Stanley_Knutson] +# 6701 sctp Unassigned 2010-01-26 +e-design-net 6702/tcp # e-Design network [Janos_Lerch] [Janos_Lerch] 2006-02 +e-design-net 6702/udp # e-Design network [Janos_Lerch] [Janos_Lerch] 2006-02 +# 6702 sctp Unassigned 2010-01-26 +e-design-web 6703/tcp # e-Design web [Janos_Lerch] [Janos_Lerch] 2006-02 +e-design-web 6703/udp # e-Design web [Janos_Lerch] [Janos_Lerch] 2006-02 +# 6704 udp Reserved +# 6704 tcp Reserved +frc-hp 6704/sctp # ForCES HP (High Priority) [RFC5811] +# channel +# 6705 udp Reserved +# 6705 tcp Reserved +frc-mp 6705/sctp # ForCES MP (Medium Priority) [RFC5811] +# 6706 udp Reserved +# 6706 tcp Reserved +frc-lp 6706/sctp # ForCES LP (Low priority) [RFC5811] +# 6707-6713 Unassigned +ibprotocol 6714/tcp # Internet Backplane Protocol [Alessandro_Bassi] [Alessandro_Bassi] +ibprotocol 6714/udp # Internet Backplane Protocol [Alessandro_Bassi] [Alessandro_Bassi] +fibotrader-com 6715/tcp # Fibotrader Communications [Robert_Wetzold] [Robert_Wetzold] 2006-01 +fibotrader-com 6715/udp # Fibotrader Communications [Robert_Wetzold] [Robert_Wetzold] 2006-01 +# 6716-6766 Unassigned +bmc-perf-agent 6767/tcp # BMC PERFORM AGENT [Portnoy_Boxman] [Portnoy_Boxman] +bmc-perf-agent 6767/udp # BMC PERFORM AGENT [Portnoy_Boxman] [Portnoy_Boxman] +bmc-perf-mgrd 6768/tcp # BMC PERFORM MGRD [Portnoy_Boxman] [Portnoy_Boxman] +bmc-perf-mgrd 6768/udp # BMC PERFORM MGRD [Portnoy_Boxman] [Portnoy_Boxman] +adi-gxp-srvprt 6769/tcp # ADInstruments GxP Server [Mathew_Pitchforth] [Mathew_Pitchforth] 2005-08 +adi-gxp-srvprt 6769/udp # ADInstruments GxP Server [Mathew_Pitchforth] [Mathew_Pitchforth] 2005-08 +plysrv-http 6770/tcp # PolyServe http [Mike_Spitzer] [Mike_Spitzer] 2005-08 +plysrv-http 6770/udp # PolyServe http [Mike_Spitzer] [Mike_Spitzer] 2005-08 +plysrv-https 6771/tcp # PolyServe https [Mike_Spitzer] [Mike_Spitzer] 2005-08 +plysrv-https 6771/udp # PolyServe https [Mike_Spitzer] [Mike_Spitzer] 2005-08 +# 6772-6783 Unassigned +# 6784 tcp Reserved +# Bidirectional Forwarding +bfd-lag 6784/udp # Detection (BFD) on Link [IESG] [IETF_Chair] 2012-11-08 [draft-mmm-bfd-on-lags-05] +# Aggregation Group (LAG) +# Interfaces +dgpf-exchg 6785/tcp # DGPF Individual Exchange [Thomas_Weise] [Thomas_Weise] 2006-04 +dgpf-exchg 6785/udp # DGPF Individual Exchange [Thomas_Weise] [Thomas_Weise] 2006-04 +smc-jmx 6786/tcp # Sun Java Web Console JMX [Bill_Edwards] [Bill_Edwards] 2005-08 +smc-jmx 6786/udp # Sun Java Web Console JMX [Bill_Edwards] [Bill_Edwards] 2005-08 +smc-admin 6787/tcp # Sun Web Console Admin [Bill_Edwards] [Bill_Edwards] 2005-08 +smc-admin 6787/udp # Sun Web Console Admin [Bill_Edwards] [Bill_Edwards] 2005-08 +smc-http 6788/tcp # SMC-HTTP [Ratnadeep_Bhattachar] [Ratnadeep_Bhattachar] 2002-11 +smc-http 6788/udp # SMC-HTTP [Ratnadeep_Bhattachar] [Ratnadeep_Bhattachar] 2002-11 +smc-https 6789/tcp # SMC-HTTPS [Ratnadeep_Bhattachar] [Ratnadeep_Bhattachar] 2002-08 +smc-https 6789/udp # SMC-HTTPS [Ratnadeep_Bhattachar] [Ratnadeep_Bhattachar] 2002-08 +hnmp 6790/tcp # HNMP [Jude_George] [Jude_George] +hnmp 6790/udp # HNMP [Jude_George] [Jude_George] +hnm 6791/tcp # Halcyon Network Manager [Richard_Harriss] [Richard_Harriss] 2005-05 +hnm 6791/udp # Halcyon Network Manager [Richard_Harriss] [Richard_Harriss] 2005-05 +# 6792-6800 Unassigned +acnet 6801/tcp # ACNET Control System [Rich_Neswold] [Rich_Neswold] 2007-02 +acnet 6801/udp # ACNET Control System [Rich_Neswold] [Rich_Neswold] 2007-02 +# 6802-6816 Unassigned +pentbox-sim 6817/tcp # PenTBox Secure IM Protocol [Alberto_Ortega_Llama] [Alberto_Ortega_Llama] 2009-11-04 +# 6817 udp Reserved +# 6818-6830 Unassigned +ambit-lm 6831/tcp # ambit-lm [Don_Hejna] [Don_Hejna] +ambit-lm 6831/udp # ambit-lm [Don_Hejna] [Don_Hejna] +# 6832-6840 Unassigned +netmo-default 6841/tcp # Netmo Default [Urs_Bertschinger] [Urs_Bertschinger] +netmo-default 6841/udp # Netmo Default [Urs_Bertschinger] [Urs_Bertschinger] +netmo-http 6842/tcp # Netmo HTTP [Urs_Bertschinger] [Urs_Bertschinger] +netmo-http 6842/udp # Netmo HTTP [Urs_Bertschinger] [Urs_Bertschinger] +# 6843-6849 Unassigned +iccrushmore 6850/tcp # ICCRUSHMORE [Dave_Hubbard] [Dave_Hubbard] +iccrushmore 6850/udp # ICCRUSHMORE [Dave_Hubbard] [Dave_Hubbard] +# 6851-6867 Unassigned +acctopus-cc 6868/tcp # Acctopus Command Channel [Stefan_Auweiler] [Stefan_Auweiler] 2009-11-16 +acctopus-st 6868/udp # Acctopus Status [Stefan_Auweiler] [Stefan_Auweiler] 2009-11-16 +# 6869-6887 Unassigned +muse 6888/tcp # MUSE [Muse_Communications] [Muse_Communications] +muse 6888/udp # MUSE [Muse_Communications] [Muse_Communications] +# 6889-6900 Unassigned +jetstream 6901/tcp # Novell Jetstream messaging [Anil_Tyagi] [Anil_Tyagi] 2010-06-11 +# 6901 udp Reserved +# 6902-6934 Unassigned +ethoscan 6935/tcp # EthoScan Service [Marty_Campbell] [Marty_Campbell] 2011-06-10 +ethoscan 6935/udp # EthoScan Service [Marty_Campbell] [Marty_Campbell] 2011-06-10 +xsmsvc 6936/tcp # XenSource Management Service [Roger_Klorese] [Roger_Klorese] 2006-06 +xsmsvc 6936/udp # XenSource Management Service [Roger_Klorese] [Roger_Klorese] 2006-06 +# 6937-6945 Unassigned +bioserver 6946/tcp # Biometrics Server [ISHII_AKIO] [ISHII_AKIO] 2006-01 +bioserver 6946/udp # Biometrics Server [ISHII_AKIO] [ISHII_AKIO] 2006-01 +# 6947-6950 Unassigned +otlp 6951/tcp # OTLP [Brent_Foster] [Brent_Foster] 2006-04 +otlp 6951/udp # OTLP [Brent_Foster] [Brent_Foster] 2006-04 +# 6952-6960 Unassigned +jmact3 6961/tcp # JMACT3 [Yutaka_Ono] [Yutaka_Ono] +jmact3 6961/udp # JMACT3 [Yutaka_Ono] [Yutaka_Ono] +jmevt2 6962/tcp # jmevt2 [Yutaka_Ono] [Yutaka_Ono] +jmevt2 6962/udp # jmevt2 [Yutaka_Ono] [Yutaka_Ono] +swismgr1 6963/tcp # swismgr1 [Yutaka_Ono] [Yutaka_Ono] +swismgr1 6963/udp # swismgr1 [Yutaka_Ono] [Yutaka_Ono] +swismgr2 6964/tcp # swismgr2 [Yutaka_Ono] [Yutaka_Ono] +swismgr2 6964/udp # swismgr2 [Yutaka_Ono] [Yutaka_Ono] +swistrap 6965/tcp # swistrap [Yutaka_Ono] [Yutaka_Ono] +swistrap 6965/udp # swistrap [Yutaka_Ono] [Yutaka_Ono] +swispol 6966/tcp # swispol [Yutaka_Ono] [Yutaka_Ono] +swispol 6966/udp # swispol [Yutaka_Ono] [Yutaka_Ono] +# 6967-6968 Unassigned +acmsoda 6969/tcp # acmsoda [Daniel_Simms] [Daniel_Simms] +acmsoda 6969/udp # acmsoda [Daniel_Simms] [Daniel_Simms] +# 6970-6996 Unassigned +MobilitySrv 6997/tcp # Mobility XE Protocol [Joseph_T_Savarese] [Joseph_T_Savarese] 2007-06 +MobilitySrv 6997/udp # Mobility XE Protocol [Joseph_T_Savarese] [Joseph_T_Savarese] 2007-06 +iatp-highpri 6998/tcp # IATP-highPri [John_Murphy] [John_Murphy] +iatp-highpri 6998/udp # IATP-highPri [John_Murphy] [John_Murphy] +iatp-normalpri 6999/tcp # IATP-normalPri [John_Murphy] [John_Murphy] +iatp-normalpri 6999/udp # IATP-normalPri [John_Murphy] [John_Murphy] +afs3-fileserver 7000/tcp # file server itself +afs3-fileserver 7000/udp # file server itself +afs3-callback 7001/tcp # callbacks to cache managers +afs3-callback 7001/udp # callbacks to cache managers +afs3-prserver 7002/tcp # users & groups database +afs3-prserver 7002/udp # users & groups database +afs3-vlserver 7003/tcp # volume location database +afs3-vlserver 7003/udp # volume location database +afs3-kaserver 7004/tcp # AFS/Kerberos authentication +afs3-kaserver 7004/udp # AFS/Kerberos authentication +afs3-volser 7005/tcp # volume managment server +afs3-volser 7005/udp # volume managment server +afs3-errors 7006/tcp # error interpretation service +afs3-errors 7006/udp # error interpretation service +afs3-bos 7007/tcp # basic overseer process +afs3-bos 7007/udp # basic overseer process +afs3-update 7008/tcp # server-to-server updater +afs3-update 7008/udp # server-to-server updater +afs3-rmtsys 7009/tcp # remote cache manager service +afs3-rmtsys 7009/udp # remote cache manager service +ups-onlinet 7010/tcp # onlinet uninterruptable [Jim_Thompson] [Jim_Thompson] +# power supplies +ups-onlinet 7010/udp # onlinet uninterruptable [Jim_Thompson] [Jim_Thompson] +talon-disc 7011/tcp # Talon Discovery Port [Jim_Thompson] [Jim_Thompson] Use by RZG +# OpenAFS+OSD +talon-disc 7011/udp # Talon Discovery Port [Jim_Thompson] [Jim_Thompson] Use by RZG +talon-engine 7012/tcp # Talon Engine [Jim_Thompson] [Jim_Thompson] Use by RZG +talon-engine 7012/udp # Talon Engine [Jim_Thompson] [Jim_Thompson] Use by RZG +microtalon-dis 7013/tcp # Microtalon Discovery [Jim_Thompson] [Jim_Thompson] +microtalon-dis 7013/udp # Microtalon Discovery [Jim_Thompson] [Jim_Thompson] +microtalon-com 7014/tcp # Microtalon Communications [Jim_Thompson] [Jim_Thompson] +microtalon-com 7014/udp # Microtalon Communications [Jim_Thompson] [Jim_Thompson] +talon-webserver 7015/tcp # Talon Webserver [Jim_Thompson] [Jim_Thompson] +talon-webserver 7015/udp # Talon Webserver [Jim_Thompson] [Jim_Thompson] +# 7016-7017 Unassigned +fisa-svc 7018/tcp # FISA Service [FAUCONNET_Ingenierie] [FAUCONNET_Ingenierie] 2011-05-19 +# 7018 udp Reserved +doceri-ctl 7019/tcp # doceri drawing service [Paul_Brown] [Paul_Brown] 2011-04-27 +doceri-view 7019/udp # doceri drawing service [Paul_Brown] [Paul_Brown] 2011-04-27 +# screen view +dpserve 7020/tcp # DP Serve [Allan_Stanley] [Allan_Stanley] +dpserve 7020/udp # DP Serve [Allan_Stanley] [Allan_Stanley] +dpserveadmin 7021/tcp # DP Serve Admin [Allan_Stanley] [Allan_Stanley] +dpserveadmin 7021/udp # DP Serve Admin [Allan_Stanley] [Allan_Stanley] +ctdp 7022/tcp # CT Discovery Protocol [James_Kirkwood] [James_Kirkwood] 2005-06 +ctdp 7022/udp # CT Discovery Protocol [James_Kirkwood] [James_Kirkwood] 2005-06 +ct2nmcs 7023/tcp # Comtech T2 NMCS [Bryan_Wilcutt] [Bryan_Wilcutt] 2005-06 +ct2nmcs 7023/udp # Comtech T2 NMCS [Bryan_Wilcutt] [Bryan_Wilcutt] 2005-06 +vmsvc 7024/tcp # Vormetric service [Tom_Boyle] [Tom_Boyle] 2005-06 +vmsvc 7024/udp # Vormetric service [Tom_Boyle] [Tom_Boyle] 2005-06 +vmsvc-2 7025/tcp # Vormetric Service II [Tom_Boyle] [Tom_Boyle] 2005-06 +vmsvc-2 7025/udp # Vormetric Service II [Tom_Boyle] [Tom_Boyle] 2005-06 +# 7026-7029 Unassigned +op-probe 7030/tcp # ObjectPlanet probe [Bjorn_Jarle_Kvande] [Bjorn_Jarle_Kvande] 2002-04 +op-probe 7030/udp # ObjectPlanet probe [Bjorn_Jarle_Kvande] [Bjorn_Jarle_Kvande] 2002-04 +iposplanet 7031/tcp # IPOSPLANET retailing multi [Fabrice_Paget] [Fabrice_Paget] 2012-10-23 +# devices protocol +# 7031 udp Reserved +# 7032-7039 Unassigned +# 7040 tcp Reserved +quest-disc 7040/udp # Quest application level [Quest_Software] [Henrik_Johnson] 2012-04-09 +# network service discovery +# 7041-7069 Unassigned +arcp 7070/tcp # ARCP [Jude_George] [Jude_George] +arcp 7070/udp # ARCP [Jude_George] [Jude_George] +iwg1 7071/tcp # IWGADTS Aircraft [Don_Sullivan] [Don_Sullivan] 2010-02-16 +# Housekeeping Message +iwg1 7071/udp # IWGADTS Aircraft [Don_Sullivan] [Don_Sullivan] 2010-02-16 +# 7072-7079 Unassigned +empowerid 7080/tcp # EmpowerID Communication [Matthew_Whited] [Matthew_Whited] 2008-01-16 +empowerid 7080/udp # EmpowerID Communication [Matthew_Whited] [Matthew_Whited] 2008-01-16 +# 7081-7098 Unassigned +lazy-ptop 7099/tcp # lazy-ptop [Guy_Keren] [Guy_Keren] +lazy-ptop 7099/udp # lazy-ptop [Guy_Keren] [Guy_Keren] +font-service 7100/tcp # X Font Service [Stephen_Gildea] [Stephen_Gildea] +font-service 7100/udp # X Font Service [Stephen_Gildea] [Stephen_Gildea] +elcn 7101/tcp # Embedded Light Control [Michael_Scarito] [Michael_Scarito] 2007-02 +# Network +elcn 7101/udp # Embedded Light Control [Michael_Scarito] [Michael_Scarito] 2007-02 +# 7102-7106 Unassigned +# 7107 tcp Reserved +aes-x170 7107/udp # AES-X170 [Richard_Foss] [Richard_Foss] 2011-02-10 +# 7108-7120 Unassigned +virprot-lm 7121/tcp # Virtual Prototypes License [Victor_Galis] [Victor_Galis] +virprot-lm 7121/udp # Virtual Prototypes License [Victor_Galis] [Victor_Galis] +# 7122-7127 Unassigned +scenidm 7128/tcp # intelligent data manager [Paul_Ignatius] [Paul_Ignatius] 2006-03 +scenidm 7128/udp # intelligent data manager [Paul_Ignatius] [Paul_Ignatius] 2006-03 +scenccs 7129/tcp # Catalog Content Search [Anil_Sharma] [Anil_Sharma] 2006-04 +scenccs 7129/udp # Catalog Content Search [Anil_Sharma] [Anil_Sharma] 2006-04 +# 7130-7160 Unassigned +cabsm-comm 7161/tcp # CA BSM Comm [Chun_Ho_Chang] [Chun_Ho_Chang] 2004-11 +cabsm-comm 7161/udp # CA BSM Comm [Chun_Ho_Chang] [Chun_Ho_Chang] 2004-11 +caistoragemgr 7162/tcp # CA Storage Manager [Emre_Tunar] [Emre_Tunar] 2004-11 +caistoragemgr 7162/udp # CA Storage Manager [Emre_Tunar] [Emre_Tunar] 2004-11 +cacsambroker 7163/tcp # CA Connection Broker [David_Roberts] [David_Roberts] 2005-05 +cacsambroker 7163/udp # CA Connection Broker [David_Roberts] [David_Roberts] 2005-05 +fsr 7164/tcp # File System Repository Agent [Micha_Ben_Efraim] [Micha_Ben_Efraim] 2007-07-19 +fsr 7164/udp # File System Repository Agent [Micha_Ben_Efraim] [Micha_Ben_Efraim] 2007-07-19 +doc-server 7165/tcp # Document WCF Server [Micha_Ben_Efraim] [Micha_Ben_Efraim] 2008-01-07 +doc-server 7165/udp # Document WCF Server [Micha_Ben_Efraim] [Micha_Ben_Efraim] 2008-01-07 +aruba-server 7166/tcp # Aruba eDiscovery Server [Micha_Ben_Efraim] [Micha_Ben_Efraim] 2008-01-07 +aruba-server 7166/udp # Aruba eDiscovery Server [Micha_Ben_Efraim] [Micha_Ben_Efraim] 2008-01-07 +casrmagent 7167/tcp # CA SRM Agent [Venkata_Krishna] [Venkata_Krishna] 2010-02-24 +# 7167 udp Reserved +cnckadserver 7168/tcp # cncKadServer DB & Inventory [Micha_Ben_Efraim_2] [Micha_Ben_Efraim_2] 2011-01-31 +# 7168 udp Reserved +ccag-pib 7169/tcp # Consequor Consulting Process [Frank_Goenninger] [Frank_Goenninger] 2010-02-22 +# Integration Bridge +ccag-pib 7169/udp # Consequor Consulting Process [Frank_Goenninger] [Frank_Goenninger] 2010-02-22 +nsrp 7170/tcp # Adaptive Name/Service [Geoff_Back_2] [Geoff_Back_2] 2010-02-01 +nsrp 7170/udp # Adaptive Name/Service [Geoff_Back_2] [Geoff_Back_2] 2010-02-01 +drm-production 7171/tcp # Discovery and Retention Mgt [Micha_Ben_Efraim_3] [Micha_Ben_Efraim_3] 2010-02-18 +# Production +drm-production 7171/udp # Discovery and Retention Mgt [Micha_Ben_Efraim_3] [Micha_Ben_Efraim_3] 2010-02-18 +metalbend 7172/tcp # Port used for MetalBend [Micha_Ben_Efraim_4] [Micha_Ben_Efraim_4] 2012-11-27 +# programmable interface +# 7172 udp Reserved +zsecure 7173/tcp # zSecure Server [Hans_Schoone] [Hans_Schoone] 2010-10-01 +# 7173 udp Reserved +clutild 7174/tcp # Clutild [Cheryl_Stoutenburg] [Cheryl_Stoutenburg] +clutild 7174/udp # Clutild [Cheryl_Stoutenburg] [Cheryl_Stoutenburg] +# 7175-7199 Unassigned +fodms 7200/tcp # FODMS FLIP [David_Anthony] [David_Anthony] +fodms 7200/udp # FODMS FLIP [David_Anthony] [David_Anthony] +dlip 7201/tcp # DLIP [Albert_Manfredi] [Albert_Manfredi] +dlip 7201/udp # DLIP [Albert_Manfredi] [Albert_Manfredi] +# 7202-7226 Unassigned +ramp 7227/tcp # Registry A & M Protocol [John_Havard] [John_Havard] 2003-11 +ramp 7227/udp # Registry A $ M Protocol [John_Havard] [John_Havard] 2003-11 +citrixupp 7228/tcp # Citrix Universal Printing [Gary_Barton] [Gary_Barton] 2011-02-24 +# 7228 udp Reserved +citrixuppg 7229/tcp # Citrix UPP Gateway [Gary_Barton] [Gary_Barton] 2011-02-24 +# 7229 udp Reserved +# 7230-7235 Unassigned +display 7236/tcp # Wi-Fi Alliance Wi-Fi Display [Wi-Fi_Alliance] [Thomas_Sciorilli] 2012-04-09 Defined TXT keys: _display.tcp. Display Protocol +# 7236 udp Reserved +pads 7237/tcp # PADS (Public Area Display [Willie_Jan_Bons] [Willie_Jan_Bons] 2011-03-10 +# System) Server +# 7237 udp Reserved +# 7238-7261 Unassigned +cnap 7262/tcp # Calypso Network Access [Scott_Halberg] [Scott_Halberg] 2009-06-02 +cnap 7262/udp # Calypso Network Access [Scott_Halberg] [Scott_Halberg] 2009-06-02 +# 7263-7271 Unassigned +watchme-7272 7272/tcp # WatchMe Monitoring 7272 [Oliver_Heinz] [Oliver_Heinz] 2005-08 +watchme-7272 7272/udp # WatchMe Monitoring 7272 [Oliver_Heinz] [Oliver_Heinz] 2005-08 +oma-rlp 7273/tcp # OMA Roaming Location [Larry_A_Young] [Larry_A_Young] 2005-08 +oma-rlp 7273/udp # OMA Roaming Location [Larry_A_Young] [Larry_A_Young] 2005-08 +oma-rlp-s 7274/tcp # OMA Roaming Location SEC [Larry_A_Young] [Larry_A_Young] 2005-08 +oma-rlp-s 7274/udp # OMA Roaming Location SEC [Larry_A_Young] [Larry_A_Young] 2005-08 +oma-ulp 7275/tcp # OMA UserPlane Location [Larry_A_Young_2] [Larry_A_Young_2] 2006-02 +oma-ulp 7275/udp # OMA UserPlane Location [Larry_A_Young_2] [Larry_A_Young_2] 2006-02 +oma-ilp 7276/tcp # OMA Internal Location [Khiem_Tran] [Khiem_Tran] 2007-11-06 +oma-ilp 7276/udp # OMA Internal Location [Khiem_Tran] [Khiem_Tran] 2007-11-06 +oma-ilp-s 7277/tcp # OMA Internal Location Secure [Khiem_Tran] [Khiem_Tran] 2007-11-06 +oma-ilp-s 7277/udp # OMA Internal Location Secure [Khiem_Tran] [Khiem_Tran] 2007-11-06 +oma-dcdocbs 7278/tcp # OMA Dynamic Content Delivery [Avi_Primo] [Avi_Primo] 2008-01-29 +# over CBS +oma-dcdocbs 7278/udp # OMA Dynamic Content Delivery [Avi_Primo] [Avi_Primo] 2008-01-29 +ctxlic 7279/tcp # Citrix Licensing [Marc_Binstock] [Marc_Binstock] 2008-01-29 +ctxlic 7279/udp # Citrix Licensing [Marc_Binstock] [Marc_Binstock] 2008-01-29 +itactionserver1 7280/tcp # ITACTIONSERVER 1 [Brian_Taylor] [Brian_Taylor] +itactionserver1 7280/udp # ITACTIONSERVER 1 [Brian_Taylor] [Brian_Taylor] +itactionserver2 7281/tcp # ITACTIONSERVER 2 [Brian_Taylor] [Brian_Taylor] +itactionserver2 7281/udp # ITACTIONSERVER 2 [Brian_Taylor] [Brian_Taylor] +mzca-action 7282/tcp # eventACTION/ussACTION (MZCA) [Gord_Tomlin] [Gord_Tomlin] 2009-01-30 +mzca-alert 7282/udp # eventACTION/ussACTION (MZCA) [Gord_Tomlin] [Gord_Tomlin] 2010-01-21 +# alert +genstat 7283/tcp # General Statistics [VSN_International_Ltd] [Sean_D_Solle] 2011-09-28 +# Rendezvous Protocol +# 7283 udp Reserved +# 7284-7299 Unassigned +# swx 7300-7359 The Swiss Exchange [Edgar_Blum] [Edgar_Blum] +# 7360-7364 Unassigned 2006-02-06 +lcm-server 7365/tcp # LifeKeeper Communications [James_Bottomley] [James_Bottomley] 2006-02 +lcm-server 7365/udp # LifeKeeper Communications [James_Bottomley] [James_Bottomley] 2006-02 +# 7366-7390 Unassigned 2006-02-06 +mindfilesys 7391/tcp # mind-file system server [Dave_Porter] [Dave_Porter] +mindfilesys 7391/udp # mind-file system server [Dave_Porter] [Dave_Porter] +mrssrendezvous 7392/tcp # mrss-rendezvous server [Dave_Porter] [Dave_Porter] +mrssrendezvous 7392/udp # mrss-rendezvous server [Dave_Porter] [Dave_Porter] +nfoldman 7393/tcp # nFoldMan Remote Publish [Richard_McDonald] [Richard_McDonald] 2006-01 +nfoldman 7393/udp # nFoldMan Remote Publish [Richard_McDonald] [Richard_McDonald] 2006-01 +fse 7394/tcp # File system export of backup [Weibao_Wu] [Weibao_Wu] 2006-04 +# images +fse 7394/udp # File system export of backup [Weibao_Wu] [Weibao_Wu] 2006-04 +winqedit 7395/tcp # winqedit [David_Greer] [David_Greer] +winqedit 7395/udp # winqedit [David_Greer] [David_Greer] +# 7396 Unassigned +hexarc 7397/tcp # Hexarc Command Language [George_Moromisato] [George_Moromisato] 2004-11 +hexarc 7397/udp # Hexarc Command Language [George_Moromisato] [George_Moromisato] 2004-11 +# 7398-7399 Unassigned +rtps-discovery 7400/tcp # RTPS Discovery [Gerardo_Pardo_Castel] [Gerardo_Pardo_Castel] 2005-10 +rtps-discovery 7400/udp # RTPS Discovery [Gerardo_Pardo_Castel] [Gerardo_Pardo_Castel] 2005-10 +rtps-dd-ut 7401/tcp # RTPS Data-Distribution [Gerardo_Pardo_Castel] [Gerardo_Pardo_Castel] 2005-10 +# User-Traffic +rtps-dd-ut 7401/udp # RTPS Data-Distribution [Gerardo_Pardo_Castel] [Gerardo_Pardo_Castel] 2005-10 +rtps-dd-mt 7402/tcp # RTPS Data-Distribution [Gerardo_Pardo_Castel] [Gerardo_Pardo_Castel] 2005-10 +# Meta-Traffic +rtps-dd-mt 7402/udp # RTPS Data-Distribution [Gerardo_Pardo_Castel] [Gerardo_Pardo_Castel] 2005-10 +# 7403-7409 Unassigned +ionixnetmon 7410/tcp # Ionix Network Monitor [Maxime_Deputter] [Maxime_Deputter] 2006-04 +ionixnetmon 7410/udp # Ionix Network Monitor [Maxime_Deputter] [Maxime_Deputter] 2006-04 +# 7411-7420 Unassigned +mtportmon 7421/tcp # Matisse Port Monitor [Didier_Cabannes] [Didier_Cabannes] 2004-11 +mtportmon 7421/udp # Matisse Port Monitor [Didier_Cabannes] [Didier_Cabannes] 2004-11 +# 7422-7425 Unassigned +pmdmgr 7426/tcp # OpenView DM Postmaster [Dave_Lamb] [Dave_Lamb] +pmdmgr 7426/udp # OpenView DM Postmaster [Dave_Lamb] [Dave_Lamb] +oveadmgr 7427/tcp # OpenView DM Event Agent [Dave_Lamb] [Dave_Lamb] +oveadmgr 7427/udp # OpenView DM Event Agent [Dave_Lamb] [Dave_Lamb] +ovladmgr 7428/tcp # OpenView DM Log Agent [Dave_Lamb] [Dave_Lamb] +ovladmgr 7428/udp # OpenView DM Log Agent [Dave_Lamb] [Dave_Lamb] +opi-sock 7429/tcp # OpenView DM rqt [Dave_Lamb] [Dave_Lamb] +# communication +opi-sock 7429/udp # OpenView DM rqt [Dave_Lamb] [Dave_Lamb] +xmpv7 7430/tcp # OpenView DM xmpv7 api pipe [Dave_Lamb] [Dave_Lamb] +xmpv7 7430/udp # OpenView DM xmpv7 api pipe [Dave_Lamb] [Dave_Lamb] +pmd 7431/tcp # OpenView DM ovc/xmpv3 api [Dave_Lamb] [Dave_Lamb] +# pipe +pmd 7431/udp # OpenView DM ovc/xmpv3 api [Dave_Lamb] [Dave_Lamb] +# 7432-7436 Unassigned +faximum 7437/tcp # Faximum [George_Pajari] [George_Pajari] +faximum 7437/udp # Faximum [George_Pajari] [George_Pajari] +# 7438-7442 Unassigned +oracleas-https 7443/tcp # Oracle Application Server [David_McMarlin] [David_McMarlin] 2006-08 +# HTTPS +oracleas-https 7443/udp # Oracle Application Server [David_McMarlin] [David_McMarlin] 2006-08 +# 7444-7472 Unassigned +rise 7473/tcp # Rise: The Vieneo Province [Jason_Reskin] [Jason_Reskin] 2007-03 +rise 7473/udp # Rise: The Vieneo Province [Jason_Reskin] [Jason_Reskin] 2007-03 +neo4j 7474/tcp # Neo4j Graph Database [Neo_Technology_Inc] [Julian_Simpson] 2013-02-08 +# 7474 udp Reserved +# 7475-7490 Unassigned +telops-lmd 7491/tcp # telops-lmd [David_Spencer] [David_Spencer] +telops-lmd 7491/udp # telops-lmd [David_Spencer] [David_Spencer] +# 7492-7499 Unassigned +silhouette 7500/tcp # Silhouette User [Anthony_Payne] [Anthony_Payne] 2004-02 +silhouette 7500/udp # Silhouette User [Anthony_Payne] [Anthony_Payne] 2004-02 +ovbus 7501/tcp # HP OpenView Bus Daemon [David_M_Rhodes] [David_M_Rhodes] +ovbus 7501/udp # HP OpenView Bus Daemon [David_M_Rhodes] [David_M_Rhodes] +# 7502-7507 Unassigned +adcp 7508/tcp # Automation Device [Festo_AG] [Joerg_Ullmann] 2011-05-27 2012-07-26 +# Configuration Protocol +# 7508 udp Reserved +acplt 7509/tcp # ACPLT - process automation [Chair_for_Process_Control_Engineering] [Ulrich_Epple] 2010-12-07 2012-08-07 +# 7509 udp Reserved +ovhpas 7510/tcp # HP OpenView Application [Jeff_Conrad] [Jeff_Conrad] +ovhpas 7510/udp # HP OpenView Application [Jeff_Conrad] [Jeff_Conrad] +pafec-lm 7511/tcp # pafec-lm [Billy_Dhillon] [Billy_Dhillon] +pafec-lm 7511/udp # pafec-lm [Billy_Dhillon] [Billy_Dhillon] +# 7512-7541 Unassigned +saratoga 7542/tcp # Saratoga Transfer Protocol [Lloyd_Wood] [Lloyd_Wood] 2007-05 +saratoga 7542/udp # Saratoga Transfer Protocol [Lloyd_Wood] [Lloyd_Wood] 2007-05 +atul 7543/tcp # atul server [Mark_Stapp] [Mark_Stapp] 2006-01 +atul 7543/udp # atul server [Mark_Stapp] [Mark_Stapp] 2006-01 +nta-ds 7544/tcp # FlowAnalyzer DisplayServer [Fred_Messinger] [Fred_Messinger] +nta-ds 7544/udp # FlowAnalyzer DisplayServer [Fred_Messinger] [Fred_Messinger] +nta-us 7545/tcp # FlowAnalyzer UtilityServer [Fred_Messinger] [Fred_Messinger] +nta-us 7545/udp # FlowAnalyzer UtilityServer [Fred_Messinger] [Fred_Messinger] +cfs 7546/tcp # Cisco Fabric service [Rituparna_Agrawal] [Rituparna_Agrawal] 2005-09 +cfs 7546/udp # Cisco Fabric service [Rituparna_Agrawal] [Rituparna_Agrawal] 2005-09 +cwmp 7547/tcp # DSL Forum CWMP [Anton_Okmianski] [Anton_Okmianski] 2006-01 +cwmp 7547/udp # DSL Forum CWMP [Anton_Okmianski] [Anton_Okmianski] 2006-01 +tidp 7548/tcp # Threat Information [Chui_Tin_Yen] [Chui_Tin_Yen] 2006-02 +tidp 7548/udp # Threat Information [Chui_Tin_Yen] [Chui_Tin_Yen] 2006-02 +nls-tl 7549/tcp # Network Layer Signaling [Melinda_Shore] [Melinda_Shore] 2006-05 +# Transport Layer +nls-tl 7549/udp # Network Layer Signaling [Melinda_Shore] [Melinda_Shore] 2006-05 +# 7550 tcp Reserved +cloudsignaling 7550/udp # Cloud Signaling Service [Scott_Dawson] [Scott_Dawson] 2011-07-01 +# 7551-7559 Unassigned +sncp 7560/tcp # Sniffer Command Protocol [Dominick_Cafarelli] [Dominick_Cafarelli] 2005-08 +sncp 7560/udp # Sniffer Command Protocol [Dominick_Cafarelli] [Dominick_Cafarelli] 2005-08 +# 7561-7562 Unassigned +cfw 7563/tcp # Control Framework [RFC6230] +# 7563 udp Reserved +# 7564-7565 Unassigned +vsi-omega 7566/tcp # VSI Omega [Curtis_Smith] [Curtis_Smith] +vsi-omega 7566/udp # VSI Omega [Curtis_Smith] [Curtis_Smith] +# 7567-7568 Unassigned +dell-eql-asm 7569/tcp # Dell EqualLogic Host Group [James_E_King_III] [James_E_King_III] +# 7569 udp Reserved +aries-kfinder 7570/tcp # Aries Kfinder [James_King_III] [James_King_III] +aries-kfinder 7570/udp # Aries Kfinder [James_King_III] [James_King_III] +# 7571-7587 Unassigned +sun-lm 7588/tcp # Sun License Manager [Sophie_Deng] [Sophie_Deng] +sun-lm 7588/udp # Sun License Manager [Sophie_Deng] [Sophie_Deng] +# 7589-7623 Unassigned +indi 7624/tcp # Instrument Neutral [Elwood_Downey] [Elwood_Downey] 2002-04 +# Distributed Interface +indi 7624/udp # Instrument Neutral [Elwood_Downey] [Elwood_Downey] 2002-04 +# 7625 Unassigned +simco 7626/tcp # SImple Middlebox [RFC4540] +# COnfiguration (SIMCO) Server +# 7626 udp De-registered 2006-01-30 +simco 7626/sctp # SImple Middlebox [Sebastian_Kiesel] [Sebastian_Kiesel] 2006-01 +# COnfiguration (SIMCO) +soap-http 7627/tcp # SOAP Service Port [Donald_Dylla] [Donald_Dylla] 2004-12 +soap-http 7627/udp # SOAP Service Port [Donald_Dylla] [Donald_Dylla] 2004-12 +zen-pawn 7628/tcp # Primary Agent Work [Ty_Ellis] [Ty_Ellis] 2006-05 +zen-pawn 7628/udp # Primary Agent Work [Ty_Ellis] [Ty_Ellis] 2006-05 +xdas 7629/tcp # OpenXDAS Wire Protocol [John_Calcote_2] [John_Calcote_2] 2006-10 +xdas 7629/udp # OpenXDAS Wire Protocol [John_Calcote_2] [John_Calcote_2] 2006-10 +hawk 7630/tcp # HA Web Konsole [Tim_Serong] [Tim_Serong] 2010-03-31 +# 7630 udp Reserved +tesla-sys-msg 7631/tcp # TESLA System Messaging [Andy_Perreault] [Andy_Perreault] 2010-03-31 +# 7631 udp Reserved +# 7632 Unassigned +pmdfmgt 7633/tcp # PMDF Management [Hunter_Goatley] [Hunter_Goatley] +pmdfmgt 7633/udp # PMDF Management [Hunter_Goatley] [Hunter_Goatley] +# 7634-7647 Unassigned +cuseeme 7648/tcp # bonjour-cuseeme [Marc_Manthey] [Marc_Manthey] 2006-07 +cuseeme 7648/udp # bonjour-cuseeme [Marc_Manthey] [Marc_Manthey] 2006-07 +# 7649-7671 Unassigned +imqstomp 7672/tcp # iMQ STOMP Server [Amy_Kang] [Amy_Kang] 2009-03-10 +# 7672 udp Reserved +imqstomps 7673/tcp # iMQ STOMP Server over SSL [Amy_Kang] [Amy_Kang] 2009-03-10 +# 7673 udp Reserved +imqtunnels 7674/tcp # iMQ SSL tunnel [Shailesh_S_Bavadeka] [Shailesh_S_Bavadeka] 2002-04 +imqtunnels 7674/udp # iMQ SSL tunnel [Shailesh_S_Bavadeka] [Shailesh_S_Bavadeka] 2002-04 +imqtunnel 7675/tcp # iMQ Tunnel [Shailesh_S_Bavadeka] [Shailesh_S_Bavadeka] 2002-04 +imqtunnel 7675/udp # iMQ Tunnel [Shailesh_S_Bavadeka] [Shailesh_S_Bavadeka] 2002-04 +imqbrokerd 7676/tcp # iMQ Broker Rendezvous [Joseph_Di_Pol] [Joseph_Di_Pol] 2002-04 +imqbrokerd 7676/udp # iMQ Broker Rendezvous [Joseph_Di_Pol] [Joseph_Di_Pol] 2002-04 +sun-user-https 7677/tcp # Sun App Server - HTTPS [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +sun-user-https 7677/udp # Sun App Server - HTTPS [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +# 7678-7679 Unassigned +pando-pub 7680/tcp # Pando Media Public [Laird_Popkin] [Laird_Popkin] 2008-02-27 +pando-pub 7680/udp # Pando Media Public [Laird_Popkin] [Laird_Popkin] 2008-02-27 +# 7681-7688 Unassigned +collaber 7689/tcp # Collaber Network Service [Rajesh_Akkineni] [Rajesh_Akkineni] 2007-01 +collaber 7689/udp # Collaber Network Service [Rajesh_Akkineni] [Rajesh_Akkineni] 2007-01 +# 7690-7696 Unassigned +klio 7697/tcp # KLIO communications [Helmut_Giritzer_2] [Helmut_Giritzer_2] 2005-08 +klio 7697/udp # KLIO communications [Helmut_Giritzer_2] [Helmut_Giritzer_2] 2005-08 +# 7698-7699 Unassigned +em7-secom 7700/tcp # EM7 Secure Communications [Christopher_Cordray] [Christopher_Cordray] 2008-06-05 +# 7700 udp Reserved +# 7701-7706 Unassigned +sync-em7 7707/tcp # EM7 Dynamic Updates [Christopher_Cordray] [Christopher_Cordray] 2004-11 +sync-em7 7707/udp # EM7 Dynamic Updates [Christopher_Cordray] [Christopher_Cordray] 2004-11 +scinet 7708/tcp # scientia.net [Christoph_Anton_Mitt] [Christoph_Anton_Mitt] 2006-01 +scinet 7708/udp # scientia.net [Christoph_Anton_Mitt] [Christoph_Anton_Mitt] 2006-01 +# 7709-7719 Unassigned +medimageportal 7720/tcp # MedImage Portal [Robert_Helton] [Robert_Helton] 2003-10 +medimageportal 7720/udp # MedImage Portal [Robert_Helton] [Robert_Helton] 2003-10 +# 7721-7723 Unassigned +nsdeepfreezectl 7724/tcp # Novell Snap-in Deep Freeze [David_Crowe] [David_Crowe] 2008-01-07 +nsdeepfreezectl 7724/udp # Novell Snap-in Deep Freeze [David_Crowe] [David_Crowe] 2008-01-07 +nitrogen 7725/tcp # Nitrogen Service [Randy_Lomnes] [Randy_Lomnes] 2004-11 +nitrogen 7725/udp # Nitrogen Service [Randy_Lomnes] [Randy_Lomnes] 2004-11 +freezexservice 7726/tcp # FreezeX Console Service [David_Crowe] [David_Crowe] 2005-06 +freezexservice 7726/udp # FreezeX Console Service [David_Crowe] [David_Crowe] 2005-06 +trident-data 7727/tcp # Trident Systems Data [Jeremy_McClintock] [Jeremy_McClintock] 2005-08 +trident-data 7727/udp # Trident Systems Data [Jeremy_McClintock] [Jeremy_McClintock] 2005-08 +# 7728-7733 Unassigned +smip 7734/tcp # Smith Protocol over IP [Jim_Pettinato] [Jim_Pettinato] 2007-04 +smip 7734/udp # Smith Protocol over IP [Jim_Pettinato] [Jim_Pettinato] 2007-04 +# 7735-7737 Unassigned +aiagent 7738/tcp # HP Enterprise Discovery [Matthew_Darwin] [Matthew_Darwin] 2005-08 +aiagent 7738/udp # HP Enterprise Discovery [Matthew_Darwin] [Matthew_Darwin] 2005-08 +# 7739-7740 Unassigned +scriptview 7741/tcp # ScriptView Network [Reinhard_Wolf] [Reinhard_Wolf] 2010-08-19 +scriptview 7741/udp # ScriptView Network [Reinhard_Wolf] [Reinhard_Wolf] 2010-08-19 +msss 7742/tcp # Mugginsoft Script Server [Jonathan_Mitchell] [Jonathan_Mitchell] 2008-09-08 +# 7742 udp Reserved +sstp-1 7743/tcp # Sakura Script Transfer [Kouichi_Takeda] [Kouichi_Takeda] +sstp-1 7743/udp # Sakura Script Transfer [Kouichi_Takeda] [Kouichi_Takeda] +raqmon-pdu 7744/tcp # RAQMON PDU [RFC4712] +raqmon-pdu 7744/udp # RAQMON PDU [RFC4712] +# 7745-7746 Unassigned +prgp 7747/tcp # Put/Run/Get Protocol [Jayasooriah] [Jayasooriah] 2008-02-22 +prgp 7747/udp # Put/Run/Get Protocol [Jayasooriah] [Jayasooriah] 2008-02-22 +# 7748-7776 Unassigned +cbt 7777/tcp # cbt [Tony_Ballardie] [Tony_Ballardie] +cbt 7777/udp # cbt [Tony_Ballardie] [Tony_Ballardie] +interwise 7778/tcp # Interwise [Joseph_Gray] [Joseph_Gray] +interwise 7778/udp # Interwise [Joseph_Gray] [Joseph_Gray] +vstat 7779/tcp # VSTAT [Vinh_Nguyn] [Vinh_Nguyn] +vstat 7779/udp # VSTAT [Vinh_Nguyn] [Vinh_Nguyn] +# 7780 Unassigned +accu-lmgr 7781/tcp # accu-lmgr [Moises_E_Hernandez] [Moises_E_Hernandez] +accu-lmgr 7781/udp # accu-lmgr [Moises_E_Hernandez] [Moises_E_Hernandez] +# 7782-7785 Unassigned +minivend 7786/tcp # MINIVEND [Mike_Heins] [Mike_Heins] +minivend 7786/udp # MINIVEND [Mike_Heins] [Mike_Heins] +popup-reminders 7787/tcp # Popup Reminders Receive [Robert_Harvey] [Robert_Harvey] 2006-01 +popup-reminders 7787/udp # Popup Reminders Receive [Robert_Harvey] [Robert_Harvey] 2006-01 +# 7788 Unassigned +office-tools 7789/tcp # Office Tools Pro Receive [Robert_Harvey] [Robert_Harvey] 2006-01 +office-tools 7789/udp # Office Tools Pro Receive [Robert_Harvey] [Robert_Harvey] 2006-01 +# 7790-7793 Unassigned +q3ade 7794/tcp # Q3ADE Cluster Service [Uffe_Harksen] [Uffe_Harksen] 2005-08 +q3ade 7794/udp # Q3ADE Cluster Service [Uffe_Harksen] [Uffe_Harksen] 2005-08 +# 7795-7796 Unassigned +pnet-conn 7797/tcp # Propel Connector port +pnet-conn 7797/udp # Propel Connector port +pnet-enc 7798/tcp # Propel Encoder port [Leif_Hedstrom] [Leif_Hedstrom] 2002-04 +pnet-enc 7798/udp # Propel Encoder port [Leif_Hedstrom] [Leif_Hedstrom] 2002-04 +altbsdp 7799/tcp # Alternate BSDP Service [Dieter_Siegmund] [Dieter_Siegmund] 2007-10-22 +altbsdp 7799/udp # Alternate BSDP Service [Dieter_Siegmund] [Dieter_Siegmund] 2007-10-22 +asr 7800/tcp # Apple Software Restore [Jim_Kateley][Shantonu_Sen] [Jim_Kateley][Shantonu_Sen] 2006-01 Defined TXT keys: image= +asr 7800/udp # Apple Software Restore [Jim_Kateley][Shantonu_Sen] [Jim_Kateley][Shantonu_Sen] 2006-01 Defined TXT keys: image= +ssp-client 7801/tcp # Secure Server Protocol - [Rick_Macchio] [Rick_Macchio] 2006-11 +ssp-client 7801/udp # Secure Server Protocol - [Rick_Macchio] [Rick_Macchio] 2006-11 +vns-tp 7802/udp # Virtualized Network Services [Juniper_Networks] [Bruno_Rijsman] 2013-02-01 +# Tunnel Protocol +# 7802 tcp Reserved +# 7803-7809 Unassigned +rbt-wanopt 7810/tcp # Riverbed WAN Optimization [Vladimir_Legalov_2] [Vladimir_Legalov_2] 2007-09-04 +rbt-wanopt 7810/udp # Riverbed WAN Optimization [Vladimir_Legalov_2] [Vladimir_Legalov_2] 2007-09-04 +# 7811-7844 Unassigned +apc-7845 7845/tcp # APC 7845 [American_Power_Conve] [American_Power_Conve] +apc-7845 7845/udp # APC 7845 [American_Power_Conve] [American_Power_Conve] +apc-7846 7846/tcp # APC 7846 [American_Power_Conve] [American_Power_Conve] +apc-7846 7846/udp # APC 7846 [American_Power_Conve] [American_Power_Conve] +# 7847-7868 Unassigned +mobileanalyzer 7869/tcp # MobileAnalyzer& [Jonas_Gyllensvaan] [Jonas_Gyllensvaan] 2009-04-27 +# MobileMonitor +# 7869 udp Reserved +rbt-smc 7870/tcp # Riverbed Steelhead Mobile [Gabriel_Levy] [Gabriel_Levy] 2008-08-29 +# 7870 udp Reserved +mdm 7871/tcp # Mobile Device Management [Dan_Harkins] [Dan_Harkins] 2011-08-15 +# 7871 udp Reserved +# 7872 tcp Reserved +mipv6tls 7872/udp # TLS-based Mobile IPv6 [IESG] [IETF_Chair] 2012-04-12 [RFC6618] +# Security +# 7873-7879 Unassigned +pss 7880/tcp # Pearson [Pearson] [Pearson] 2008-01-17 +pss 7880/udp # Pearson [Pearson] [Pearson] 2008-01-17 +# 7881-7886 Unassigned +ubroker 7887/tcp # Universal Broker [Nathan_Hammond] [Nathan_Hammond] 2005-10 +ubroker 7887/udp # Universal Broker [Nathan_Hammond] [Nathan_Hammond] 2005-10 +# 7888-7899 Unassigned +mevent 7900/tcp # Multicast Event [YoonSoo_Kim] [YoonSoo_Kim] 2006-05 +mevent 7900/udp # Multicast Event [YoonSoo_Kim] [YoonSoo_Kim] 2006-05 +tnos-sp 7901/tcp # TNOS Service Protocol [Rene_Kurt] [Rene_Kurt] 2005-08 +tnos-sp 7901/udp # TNOS Service Protocol [Rene_Kurt] [Rene_Kurt] 2005-08 +tnos-dp 7902/tcp # TNOS shell Protocol [Rene_Kurt] [Rene_Kurt] 2005-08 +tnos-dp 7902/udp # TNOS shell Protocol [Rene_Kurt] [Rene_Kurt] 2005-08 +tnos-dps 7903/tcp # TNOS Secure DiaguardProtocol [Rene_Kurt] [Rene_Kurt] 2005-08 +tnos-dps 7903/udp # TNOS Secure DiaguardProtocol [Rene_Kurt] [Rene_Kurt] 2005-08 +# 7904-7912 Unassigned +qo-secure 7913/tcp # QuickObjects secure port [Jonas_Bovin] [Jonas_Bovin] +qo-secure 7913/udp # QuickObjects secure port [Jonas_Bovin] [Jonas_Bovin] +# 7914-7931 Unassigned +t2-drm 7932/tcp # Tier 2 Data Resource Manager [Peter_Carlson] [Peter_Carlson] +t2-drm 7932/udp # Tier 2 Data Resource Manager [Peter_Carlson] [Peter_Carlson] +t2-brm 7933/tcp # Tier 2 Business Rules [Peter_Carlson] [Peter_Carlson] +t2-brm 7933/udp # Tier 2 Business Rules [Peter_Carlson] [Peter_Carlson] +# 7934-7966 Unassigned +supercell 7967/tcp # Supercell [Kevin_Nakagawa] [Kevin_Nakagawa] +supercell 7967/udp # Supercell [Kevin_Nakagawa] [Kevin_Nakagawa] +# 7968-7978 Unassigned +micromuse-ncps 7979/tcp # Micromuse-ncps [Hing_Wing_To] [Hing_Wing_To] +micromuse-ncps 7979/udp # Micromuse-ncps [Hing_Wing_To] [Hing_Wing_To] +quest-vista 7980/tcp # Quest Vista [Preston_Bannister] [Preston_Bannister] +quest-vista 7980/udp # Quest Vista [Preston_Bannister] [Preston_Bannister] +sossd-collect 7981/tcp # Spotlight on SQL Server [Rob_Griffin_2] [Rob_Griffin_2] 2010-08-30 +# Desktop Collect +# 7981 udp Reserved +sossd-agent 7982/tcp # Spotlight on SQL Server [Rob_Griffin_2] [Rob_Griffin_2] 2010-09-13 +# Desktop Agent +sossd-disc 7982/udp # Spotlight on SQL Server [Rob_Griffin_2] [Rob_Griffin_2] 2010-09-13 +# Desktop Agent Discovery +# 7983-7997 Unassigned +pushns 7997/tcp # PUSH Notification Service [Tristan_Seifert] [Tristan_Seifert] 2011-01-31 +# 7997 udp Reserved +# 7998 tcp Reserved +usicontentpush 7998/udp # USI Content Push Service [Prakash_Iyer] [Prakash_Iyer] 2009-08-10 +irdmi2 7999/tcp # iRDMI2 +irdmi2 7999/udp # iRDMI2 +irdmi 8000/tcp # iRDMI [Gil_Shafriri] [Gil_Shafriri] +irdmi 8000/udp # iRDMI [Gil_Shafriri] [Gil_Shafriri] +vcom-tunnel 8001/tcp # VCOM Tunnel [Mark_Lewandowski] [Mark_Lewandowski] +vcom-tunnel 8001/udp # VCOM Tunnel [Mark_Lewandowski] [Mark_Lewandowski] +teradataordbms 8002/tcp # Teradata ORDBMS [Curt_Ellmann] [Curt_Ellmann] +teradataordbms 8002/udp # Teradata ORDBMS [Curt_Ellmann] [Curt_Ellmann] +mcreport 8003/tcp # Mulberry Connect Reporting [Dave_Stoneham] [Dave_Stoneham] 2008-03-10 +mcreport 8003/udp # Mulberry Connect Reporting [Dave_Stoneham] [Dave_Stoneham] 2008-03-10 +# 8004 Unassigned +mxi 8005/tcp # MXI Generation II for z/OS [Rob_Scott] [Rob_Scott] 2007-05 +mxi 8005/udp # MXI Generation II for z/OS [Rob_Scott] [Rob_Scott] 2007-05 +# 8006-8007 Unassigned +http-alt 8008/tcp # HTTP Alternate [James_Gettys] [James_Gettys] +http-alt 8008/udp # HTTP Alternate [James_Gettys] [James_Gettys] +# 8009-8018 Unassigned +qbdb 8019/tcp # QB DB Dynamic Port [Sridhar_Krishnamurth] [Sridhar_Krishnamurth] 2008-02-15 +qbdb 8019/udp # QB DB Dynamic Port [Sridhar_Krishnamurth] [Sridhar_Krishnamurth] 2008-02-15 +intu-ec-svcdisc 8020/tcp # Intuit Entitlement Service [Daniel_C_McGloin] [Daniel_C_McGloin] 2005-05 +# and Discovery +intu-ec-svcdisc 8020/udp # Intuit Entitlement Service [Daniel_C_McGloin] [Daniel_C_McGloin] 2005-05 +intu-ec-client 8021/tcp # Intuit Entitlement Client [Daniel_C_McGloin] [Daniel_C_McGloin] 2005-05 +intu-ec-client 8021/udp # Intuit Entitlement Client [Daniel_C_McGloin] [Daniel_C_McGloin] 2005-05 +oa-system 8022/tcp # oa-system [Marie_France_Dubreui] [Marie_France_Dubreui] +oa-system 8022/udp # oa-system [Marie_France_Dubreui] [Marie_France_Dubreui] +# 8023-8024 Unassigned +ca-audit-da 8025/tcp # CA Audit Distribution Agent [Henning_Smith] [Henning_Smith] 2006-07 +ca-audit-da 8025/udp # CA Audit Distribution Agent [Henning_Smith] [Henning_Smith] 2006-07 +ca-audit-ds 8026/tcp # CA Audit Distribution Server [Henning_Smith] [Henning_Smith] 2006-07 +ca-audit-ds 8026/udp # CA Audit Distribution Server [Henning_Smith] [Henning_Smith] 2006-07 +# 8027-8031 Unassigned +pro-ed 8032/tcp # ProEd +pro-ed 8032/udp # ProEd +mindprint 8033/tcp # MindPrint [Larry_Tusoni] [Larry_Tusoni] +mindprint 8033/udp # MindPrint [Larry_Tusoni] [Larry_Tusoni] +vantronix-mgmt 8034/tcp # .vantronix Management [Reyk_Floeter] [Reyk_Floeter] 2008-02-27 +vantronix-mgmt 8034/udp # .vantronix Management [Reyk_Floeter] [Reyk_Floeter] 2008-02-27 +# 8035-8039 Unassigned +ampify 8040/tcp # Ampify Messaging Protocol [Tav_Espian] [Tav_Espian] 2010-08-10 +ampify 8040/udp # Ampify Messaging Protocol [Tav_Espian] [Tav_Espian] 2010-08-10 +# 8041 Unassigned +fs-agent 8042/tcp # FireScope Agent [Matt_Rogers] [Matt_Rogers] 2008-10-16 +# 8042 udp Reserved +fs-server 8043/tcp # FireScope Server [Matt_Rogers] [Matt_Rogers] 2008-10-16 +# 8043 udp Reserved +fs-mgmt 8044/tcp # FireScope Management [Matt_Rogers] [Matt_Rogers] 2008-10-16 +# 8044 udp Reserved +# 8045-8050 Unassigned +rocrail 8051/tcp # Rocrail Client Service [Rob_Versluis] [Rob_Versluis] 2011-05-23 +# 8051 udp Reserved +senomix01 8052/tcp # Senomix Timesheets Server [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix01 8052/udp # Senomix Timesheets Server [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix02 8053/tcp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +# year assignment] +senomix02 8053/udp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix03 8054/tcp # Senomix Timesheets Server [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix03 8054/udp # Senomix Timesheets Server [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix04 8055/tcp # Senomix Timesheets Server [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix04 8055/udp # Senomix Timesheets Server [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix05 8056/tcp # Senomix Timesheets Server [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix05 8056/udp # Senomix Timesheets Server [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix06 8057/tcp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix06 8057/udp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix07 8058/tcp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix07 8058/udp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix08 8059/tcp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +senomix08 8059/udp # Senomix Timesheets Client [1 [Charles_O_Dale] [Charles_O_Dale] 2006-07 +# 8060 tcp Reserved +aero 8060/udp # Asymmetric Extended Route [IESG] [IETF_Chair] [RFC6706] +# Optimization (AERO) +# 8061-8073 Unassigned +gadugadu 8074/tcp # Gadu-Gadu [Marcin_Gozdalik] [Marcin_Gozdalik] 2006-05 +gadugadu 8074/udp # Gadu-Gadu [Marcin_Gozdalik] [Marcin_Gozdalik] 2006-05 +# 8075-8079 Unassigned +http-alt 8080/tcp # HTTP Alternate (see port 80) [Stephen_Casner] [Stephen_Casner] +http-alt 8080/udp # HTTP Alternate (see port 80) [Stephen_Casner] [Stephen_Casner] +sunproxyadmin 8081/tcp # Sun Proxy Admin Service [Arvind_Srinivasan] [Arvind_Srinivasan] 2005-08 +sunproxyadmin 8081/udp # Sun Proxy Admin Service [Arvind_Srinivasan] [Arvind_Srinivasan] 2005-08 +us-cli 8082/tcp # Utilistor (Client) [Andy_Brewerton] [Andy_Brewerton] 2005-08 +us-cli 8082/udp # Utilistor (Client) [Andy_Brewerton] [Andy_Brewerton] 2005-08 +us-srv 8083/tcp # Utilistor (Server) [Andy_Brewerton] [Andy_Brewerton] 2005-08 +us-srv 8083/udp # Utilistor (Server) [Andy_Brewerton] [Andy_Brewerton] 2005-08 +# 8084-8085 Unassigned +d-s-n 8086/tcp # Distributed SCADA Networking [Gary_Hampton] [Gary_Hampton] 2008-02-27 +# Rendezvous Port +d-s-n 8086/udp # Distributed SCADA Networking [Gary_Hampton] [Gary_Hampton] 2008-02-27 +simplifymedia 8087/tcp # Simplify Media SPP Protocol [Emmanuel_Saint_Loube] [Emmanuel_Saint_Loube] 2008-08-08 +simplifymedia 8087/udp # Simplify Media SPP Protocol [Emmanuel_Saint_Loube] [Emmanuel_Saint_Loube] 2008-08-08 +radan-http 8088/tcp # Radan HTTP [Steve_Hay] [Steve_Hay] 2008-06-13 +radan-http 8088/udp # Radan HTTP [Steve_Hay] [Steve_Hay] 2008-06-13 +# 8089-8090 Unassigned +jamlink 8091/tcp # Jam Link Framework [Evgeniy_Filatov] [Evgeniy_Filatov] 2009-11-25 +# 8091 udp Reserved +# 8092-8096 Unassigned +sac 8097/tcp # SAC Port Id [Girish_Bhat] [Girish_Bhat] 2006-04 +sac 8097/udp # SAC Port Id [Girish_Bhat] [Girish_Bhat] 2006-04 +# 8098-8099 Unassigned +xprint-server 8100/tcp # Xprint Server [John_McKernan] [John_McKernan] +xprint-server 8100/udp # Xprint Server [John_McKernan] [John_McKernan] +ldoms-migr 8101/tcp # Logical Domains Migration [Liam_Merwick] [Liam_Merwick] 2009-01-16 +# 8101 udp Reserved +# 8102-8114 Unassigned +mtl8000-matrix 8115/tcp # MTL8000 Matrix [David_Pinch] [David_Pinch] 2002-04 +mtl8000-matrix 8115/udp # MTL8000 Matrix [David_Pinch] [David_Pinch] 2002-04 +cp-cluster 8116/tcp # Check Point Clustering [Roni_Moshitzky] [Roni_Moshitzky] +cp-cluster 8116/udp # Check Point Clustering [Roni_Moshitzky] [Roni_Moshitzky] +# 8117 Unassigned +privoxy 8118/tcp # Privoxy HTTP proxy [Andreas_Oesterhelt] [Andreas_Oesterhelt] 2002-06 +privoxy 8118/udp # Privoxy HTTP proxy [Andreas_Oesterhelt] [Andreas_Oesterhelt] 2002-06 +# 8119-8120 Unassigned +apollo-data 8121/tcp # Apollo Data Port [Anthony_Carrabino] [Anthony_Carrabino] 2003-08 +apollo-data 8121/udp # Apollo Data Port [Anthony_Carrabino] [Anthony_Carrabino] 2003-08 +apollo-admin 8122/tcp # Apollo Admin Port [Anthony_Carrabino] [Anthony_Carrabino] 2003-08 +apollo-admin 8122/udp # Apollo Admin Port [Anthony_Carrabino] [Anthony_Carrabino] 2003-08 +# 8123-8127 Unassigned +paycash-online 8128/tcp # PayCash Online Protocol [MegaZone] [MegaZone] 2005-08 +paycash-online 8128/udp # PayCash Online Protocol [MegaZone] [MegaZone] 2005-08 +paycash-wbp 8129/tcp # PayCash Wallet-Browser [MegaZone] [MegaZone] 2005-08 +paycash-wbp 8129/udp # PayCash Wallet-Browser [MegaZone] [MegaZone] 2005-08 +indigo-vrmi 8130/tcp # INDIGO-VRMI [Colin_Caughie] [Colin_Caughie] +indigo-vrmi 8130/udp # INDIGO-VRMI [Colin_Caughie] [Colin_Caughie] +indigo-vbcp 8131/tcp # INDIGO-VBCP [Colin_Caughie] [Colin_Caughie] +indigo-vbcp 8131/udp # INDIGO-VBCP [Colin_Caughie] [Colin_Caughie] +dbabble 8132/tcp # dbabble [Chris_Pugmire] [Chris_Pugmire] +dbabble 8132/udp # dbabble [Chris_Pugmire] [Chris_Pugmire] +# 8133-8147 Unassigned +isdd 8148/tcp # i-SDD file transfer [Frank_Waarsenburg] [Frank_Waarsenburg] 2004-11 +isdd 8148/udp # i-SDD file transfer [Frank_Waarsenburg] [Frank_Waarsenburg] 2004-11 +# 8149 tcp Reserved +eor-game 8149/udp # Edge of Reality game data [Sky_Schulz] [Sky_Schulz] 2011-05-09 +# 8150-8152 Unassigned +quantastor 8153/tcp # QuantaStor Management [OS_NEXUS] [Steven_Umbehocker] 2012-09-21 +# 8153 udp Reserved +# 8154-8159 Unassigned +patrol 8160/tcp # Patrol [Portnoy_Boxman] [Portnoy_Boxman] +patrol 8160/udp # Patrol [Portnoy_Boxman] [Portnoy_Boxman] +patrol-snmp 8161/tcp # Patrol SNMP [Portnoy_Boxman] [Portnoy_Boxman] +patrol-snmp 8161/udp # Patrol SNMP [Portnoy_Boxman] [Portnoy_Boxman] +# 8162-8180 Unassigned +intermapper 8181/tcp # Intermapper network [William_Fisher] [William_Fisher] 2011-05-09 +# management system +# 8181 udp Reserved +vmware-fdm 8182/tcp # VMware Fault Domain Manager [Ron_Passerini] [Ron_Passerini] 2010-04-27 +vmware-fdm 8182/udp # VMware Fault Domain Manager [Ron_Passerini] [Ron_Passerini] 2010-04-27 +proremote 8183/tcp # ProRemote [Alex_Lelievre] [Alex_Lelievre] 2009-08-18 +# 8183 udp Reserved +itach 8184/tcp # Remote iTach Connection [Barend_Jacobus_van_d] [Barend_Jacobus_van_d] 2010-04-27 +itach 8184/udp # Remote iTach Connection [Barend_Jacobus_van_d] [Barend_Jacobus_van_d] 2010-04-27 +# 8185-8191 Unassigned +spytechphone 8192/tcp # SpyTech Phone Service [Bill_Kay] [Bill_Kay] 2006-04 +spytechphone 8192/udp # SpyTech Phone Service [Bill_Kay] [Bill_Kay] 2006-04 +# 8193 Unassigned +blp1 8194/tcp # Bloomberg data API [Albert_Hou] [Albert_Hou] 2006-05 +blp1 8194/udp # Bloomberg data API [Albert_Hou] [Albert_Hou] 2006-05 +blp2 8195/tcp # Bloomberg feed [Albert_Hou] [Albert_Hou] 2006-05 +blp2 8195/udp # Bloomberg feed [Albert_Hou] [Albert_Hou] 2006-05 +# 8196-8198 Unassigned +vvr-data 8199/tcp # VVR DATA [Ming_Xu] [Ming_Xu] +vvr-data 8199/udp # VVR DATA [Ming_Xu] [Ming_Xu] +trivnet1 8200/tcp # TRIVNET [Saar_Wilf] [Saar_Wilf] +trivnet1 8200/udp # TRIVNET [Saar_Wilf] [Saar_Wilf] +trivnet2 8201/tcp # TRIVNET [Saar_Wilf] [Saar_Wilf] +trivnet2 8201/udp # TRIVNET [Saar_Wilf] [Saar_Wilf] +# 8202 tcp Reserved +aesop 8202/udp # Audio+Ethernet Standard Open [POWERSOFT_SRL] [Paolo_Desii][Claudio_Lastrucci] 2012-01-03 +# 8203-8203 Unassigned +lm-perfworks 8204/tcp # LM Perfworks [Chris_Flynn] [Chris_Flynn] +lm-perfworks 8204/udp # LM Perfworks [Chris_Flynn] [Chris_Flynn] +lm-instmgr 8205/tcp # LM Instmgr [Chris_Flynn] [Chris_Flynn] +lm-instmgr 8205/udp # LM Instmgr [Chris_Flynn] [Chris_Flynn] +lm-dta 8206/tcp # LM Dta [Chris_Flynn] [Chris_Flynn] +lm-dta 8206/udp # LM Dta [Chris_Flynn] [Chris_Flynn] +lm-sserver 8207/tcp # LM SServer [Chris_Flynn] [Chris_Flynn] +lm-sserver 8207/udp # LM SServer [Chris_Flynn] [Chris_Flynn] +lm-webwatcher 8208/tcp # LM Webwatcher [Chris_Flynn] [Chris_Flynn] +lm-webwatcher 8208/udp # LM Webwatcher [Chris_Flynn] [Chris_Flynn] +# 8209-8229 Unassigned +rexecj 8230/tcp # RexecJ Server [Curtiss_Howard] [Curtiss_Howard] 2004-11 +rexecj 8230/udp # RexecJ Server [Curtiss_Howard] [Curtiss_Howard] 2004-11 +# 8231-8242 Unassigned +synapse-nhttps 8243/tcp # Synapse Non Blocking HTTPS [Ruwan_Linton] [Ruwan_Linton] 2008-07-10 +synapse-nhttps 8243/udp # Synapse Non Blocking HTTPS [Ruwan_Linton] [Ruwan_Linton] 2008-07-10 +# 8244-8275 Unassigned +pando-sec 8276/tcp # Pando Media Controlled [Laird_Popkin] [Laird_Popkin] 2008-02-27 +pando-sec 8276/udp # Pando Media Controlled [Laird_Popkin] [Laird_Popkin] 2008-02-27 +# 8277-8279 Unassigned +synapse-nhttp 8280/tcp # Synapse Non Blocking HTTP [Ruwan_Linton] [Ruwan_Linton] 2008-06-05 +synapse-nhttp 8280/udp # Synapse Non Blocking HTTP [Ruwan_Linton] [Ruwan_Linton] 2008-06-05 +# 8281-8291 Unassigned +blp3 8292/tcp # Bloomberg professional [Albert_Hou] [Albert_Hou] 2006-05 +blp3 8292/udp # Bloomberg professional [Albert_Hou] [Albert_Hou] 2006-05 +hiperscan-id 8293/tcp # Hiperscan Identification [Thomas_Klose] [Thomas_Klose] 2009-12-15 +# 8293 udp Reserved +blp4 8294/tcp # Bloomberg intelligent client [Albert_Hou] [Albert_Hou] 2006-05 +blp4 8294/udp # Bloomberg intelligent client [Albert_Hou] [Albert_Hou] 2006-05 +# 8295-8299 Unassigned +tmi 8300/tcp # Transport Management [Steve_Kneizys] [Steve_Kneizys] 2006-11 +tmi 8300/udp # Transport Management [Steve_Kneizys] [Steve_Kneizys] 2006-11 +amberon 8301/tcp # Amberon PPC/PPS [Ronald_Snyder] [Ronald_Snyder] 2006-03 +amberon 8301/udp # Amberon PPC/PPS [Ronald_Snyder] [Ronald_Snyder] 2006-03 +# 8302-8312 Unassigned +hub-open-net 8313/tcp # Hub Open Network [Grexie] [Tim_Behrsin] 2012-06-13 Defined TXT keys: _hub._tcp.host.example.com +# 8313 udp Reserved +# 8314-8319 Unassigned +tnp-discover 8320/tcp # Thin(ium) Network Protocol [Aly_Orady] [Aly_Orady] 2007-08-07 +tnp-discover 8320/udp # Thin(ium) Network Protocol [Aly_Orady] [Aly_Orady] 2007-08-07 +tnp 8321/tcp # Thin(ium) Network Protocol [Aly_Orady] [Aly_Orady] 2007-08-07 +tnp 8321/udp # Thin(ium) Network Protocol [Aly_Orady] [Aly_Orady] 2007-08-07 +# 8322-8350 Unassigned +server-find 8351/tcp # Server Find [Chris_Brown] [Chris_Brown] +server-find 8351/udp # Server Find [Chris_Brown] [Chris_Brown] +# 8352-8375 Unassigned +cruise-enum 8376/tcp # Cruise ENUM [Steve_Husak] [Steve_Husak] +cruise-enum 8376/udp # Cruise ENUM [Steve_Husak] [Steve_Husak] +cruise-swroute 8377/tcp # Cruise SWROUTE [Steve_Husak] [Steve_Husak] +cruise-swroute 8377/udp # Cruise SWROUTE [Steve_Husak] [Steve_Husak] +cruise-config 8378/tcp # Cruise CONFIG [Steve_Husak] [Steve_Husak] +cruise-config 8378/udp # Cruise CONFIG [Steve_Husak] [Steve_Husak] +cruise-diags 8379/tcp # Cruise DIAGS [Steve_Husak] [Steve_Husak] +cruise-diags 8379/udp # Cruise DIAGS [Steve_Husak] [Steve_Husak] +cruise-update 8380/tcp # Cruise UPDATE [Steve_Husak] [Steve_Husak] +cruise-update 8380/udp # Cruise UPDATE [Steve_Husak] [Steve_Husak] +# 8381-8382 Unassigned +m2mservices 8383/tcp # M2m Services [Carlos_Arteaga_2] [Carlos_Arteaga_2] 2004-11 +m2mservices 8383/udp # M2m Services [Carlos_Arteaga_2] [Carlos_Arteaga_2] 2004-11 +# 8384-8399 Unassigned +cvd 8400/tcp # cvd [Aaron_Bilbrey] [Aaron_Bilbrey] +cvd 8400/udp # cvd [Aaron_Bilbrey] [Aaron_Bilbrey] +sabarsd 8401/tcp # sabarsd [Aaron_Bilbrey] [Aaron_Bilbrey] +sabarsd 8401/udp # sabarsd [Aaron_Bilbrey] [Aaron_Bilbrey] +abarsd 8402/tcp # abarsd [Aaron_Bilbrey] [Aaron_Bilbrey] +abarsd 8402/udp # abarsd [Aaron_Bilbrey] [Aaron_Bilbrey] +admind 8403/tcp # admind [Aaron_Bilbrey] [Aaron_Bilbrey] +admind 8403/udp # admind [Aaron_Bilbrey] [Aaron_Bilbrey] +svcloud 8404/tcp # SuperVault Cloud [Nine_Technology_LLC] [Alex_Stoev] 2009-09-14 2011-08-01 +# 8404 udp Reserved +svbackup 8405/tcp # SuperVault Backup [Nine_Technology_LLC] [Alex_Stoev] 2009-09-14 2011-08-01 +# 8405 udp Reserved +# 8406-8414 Unassigned +dlpx-sp 8415/tcp # Delphix Session Protocol [Delphix_Corp] [Peng_Dai] 2012-11-01 +# 8415 udp Reserved +espeech 8416/tcp # eSpeech Session Protocol [Scott_Tarone] [Scott_Tarone] 2002-11 +espeech 8416/udp # eSpeech Session Protocol [Scott_Tarone] [Scott_Tarone] 2002-11 +espeech-rtp 8417/tcp # eSpeech RTP Protocol [Scott_Tarone] [Scott_Tarone] 2003-04 +espeech-rtp 8417/udp # eSpeech RTP Protocol [Scott_Tarone] [Scott_Tarone] 2003-04 +# 8418-8441 Unassigned +cybro-a-bus 8442/tcp # CyBro A-bus Protocol [Damir_Skrjanec] [Damir_Skrjanec] 2007-05 +cybro-a-bus 8442/udp # CyBro A-bus Protocol [Damir_Skrjanec] [Damir_Skrjanec] 2007-05 +pcsync-https 8443/tcp # PCsync HTTPS +pcsync-https 8443/udp # PCsync HTTPS +pcsync-http 8444/tcp # PCsync HTTP [Katy_Lynn_McCullough] [Katy_Lynn_McCullough] +pcsync-http 8444/udp # PCsync HTTP [Katy_Lynn_McCullough] [Katy_Lynn_McCullough] +copy 8445/tcp # Port for copy peer sync [Copy] [Jason_Dictos] 2012-09-19 +# feature +copy-disc 8445/udp # Port for copy discovery [Copy] [Jason_Dictos] 2012-09-19 +# 8446-8449 Unassigned +npmp 8450/tcp # npmp [Ian_Chard] [Ian_Chard] +npmp 8450/udp # npmp [Ian_Chard] [Ian_Chard] +# 8451-8456 Unassigned +nexentamv 8457/tcp # Nexenta Management GUI [Nexenta] [Andrew_Galloway] 2012-12-07 +# 8457 udp Reserved +# 8458-8469 Unassigned +cisco-avp 8470/tcp # Cisco Address Validation [Cullen_Jennings] [Cullen_Jennings] 2009-02-13 +# 8470 udp Reserved +pim-port 8471/tcp # PIM over Reliable Transport [IESG] [IETF_Chair] 2008-08-21 [RFC6559] +pim-port 8471/sctp # PIM over Reliable Transport [IESG] [IETF_Chair] 2008-08-21 [RFC6559] +# 8471 udp Reserved +otv 8472/tcp # Overlay Transport [Dino_Farinacci] [Dino_Farinacci] 2008-01-07 +# Virtualization (OTV) +otv 8472/udp # Overlay Transport [Dino_Farinacci] [Dino_Farinacci] 2008-01-07 +vp2p 8473/tcp # Virtual Point to Point [Jerome_Grimbert] [Jerome_Grimbert] +vp2p 8473/udp # Virtual Point to Point [Jerome_Grimbert] [Jerome_Grimbert] +noteshare 8474/tcp # AquaMinds NoteShare [Michael_McNabb] [Michael_McNabb] 2005-10 +noteshare 8474/udp # AquaMinds NoteShare [Michael_McNabb] [Michael_McNabb] 2005-10 +# 8475-8499 Unassigned +fmtp 8500/tcp # Flight Message Transfer [Eivan_Cerasi] [Eivan_Cerasi] 2003-12 +fmtp 8500/udp # Flight Message Transfer [Eivan_Cerasi] [Eivan_Cerasi] 2003-12 +cmtp-mgt 8501/tcp # CYTEL Message Transfer +cmtp-av 8501/udp # CYTEL Message Transfer Audio [Frank_Jakel] [Frank_Jakel] 2011-04-29 +# and Video +# 8502-8553 Unassigned +rtsp-alt 8554/tcp # RTSP Alternate (see port [Stephen_Casner_2] [Stephen_Casner_2] +# 554) +rtsp-alt 8554/udp # RTSP Alternate (see port [Stephen_Casner_2] [Stephen_Casner_2] +d-fence 8555/tcp # SYMAX D-FENCE [Thomas_Geisel] [Thomas_Geisel] 2003-01 +d-fence 8555/udp # SYMAX D-FENCE [Thomas_Geisel] [Thomas_Geisel] 2003-01 +# 8556-8566 Unassigned +enc-tunnel 8567/tcp # EMIT tunneling protocol [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2005-08 2012-11-12 +enc-tunnel 8567/udp # EMIT tunneling protocol [Panasonic_Intranet_Panasonic_North_America_PEWLA] [Bryant_Eastham] 2005-08 2012-11-12 +# 8568-8599 Unassigned +asterix 8600/tcp # Surveillance Data [Eivan_Cerasi] [Eivan_Cerasi] 2005-11 +asterix 8600/udp # Surveillance Data [Eivan_Cerasi] [Eivan_Cerasi] 2005-11 +# 8601-8608 Unassigned +# 8609 tcp Reserved +canon-cpp-disc 8609/udp # Canon Compact Printer [Canon_Inc] [Ryusuke_Okuhara] 2012-06-08 2012-06-15 +# Protocol Discovery +canon-mfnp 8610/tcp # Canon MFNP Service [Ritsuto_Sako] [Ritsuto_Sako] 2009-05-04 +canon-mfnp 8610/udp # Canon MFNP Service [Ritsuto_Sako] [Ritsuto_Sako] 2009-05-04 +canon-bjnp1 8611/tcp # Canon BJNP Port 1 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp1 8611/udp # Canon BJNP Port 1 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp2 8612/tcp # Canon BJNP Port 2 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp2 8612/udp # Canon BJNP Port 2 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp3 8613/tcp # Canon BJNP Port 3 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp3 8613/udp # Canon BJNP Port 3 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp4 8614/tcp # Canon BJNP Port 4 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +canon-bjnp4 8614/udp # Canon BJNP Port 4 [Atsushi_Nakamura] [Atsushi_Nakamura] 2003-11 +imink 8615/tcp # Imink Service Control [Canon_Inc] [KEN_ICHI_FUJII] 2011-10-10 +# 8615 udp Reserved +# 8616-8674 Unassigned Use Known on +# ports 8616 +# and 8617 +# Motorola Solutions Customer +msi-cps-rm 8675/tcp # Programming Software for [Motorola_Solutions_Inc] [Jenish_Amin] 2012-03-14 +# Radio Management +msi-cps-rm-disc 8675/udp # Programming Software for [Motorola_Solutions_Inc] [Jenish_Amin] 2012-03-14 +# Radio Management Discovery +# 8676-8685 Unassigned +sun-as-jmxrmi 8686/tcp # Sun App Server - JMX/RMI [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +sun-as-jmxrmi 8686/udp # Sun App Server - JMX/RMI [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +# 8687 Unassigned +openremote-ctrl 8688/tcp # OpenRemote Controller [OpenRemote_Inc] [Juha_Lindfors] 2012-12-18 +# HTTP/REST +# 8688 udp Reserved +# 8689-8698 Unassigned +vnyx 8699/tcp # VNYX Primary Port [Gregg_Green] [Gregg_Green] 2004-11 +vnyx 8699/udp # VNYX Primary Port [Gregg_Green] [Gregg_Green] 2004-11 +# 8700-8710 Unassigned +nvc 8711/tcp # Nuance Voice Control [Nuance_Communications_Inc2] [Diego_Negre] 2012-10-05 +# 8711 udp Reserved +# 8712-8731 Unassigned +# 8732 tcp Reserved +dtp-net 8732/udp # DASGIP Net Services [Dr_Matthias_Arnold] [Dr_Matthias_Arnold] 2009-03-23 +ibus 8733/tcp # iBus [Silvano_Maffeis] [Silvano_Maffeis] +ibus 8733/udp # iBus [Silvano_Maffeis] [Silvano_Maffeis] +# 8734-8762 Unassigned +mc-appserver 8763/tcp # MC-APPSERVER [Romeo_Kasanwidjojo] [Romeo_Kasanwidjojo] +mc-appserver 8763/udp # MC-APPSERVER [Romeo_Kasanwidjojo] [Romeo_Kasanwidjojo] +openqueue 8764/tcp # OPENQUEUE [Matt_Jensen] [Matt_Jensen] +openqueue 8764/udp # OPENQUEUE [Matt_Jensen] [Matt_Jensen] +ultraseek-http 8765/tcp # Ultraseek HTTP [Walter_Underwood] [Walter_Underwood] +ultraseek-http 8765/udp # Ultraseek HTTP [Walter_Underwood] [Walter_Underwood] +amcs 8766/tcp # Agilent Connectivity Service [Agilent_Technologies_Inc] [Tom_Fay] 2013-01-16 +amcs 8766/udp # Agilent Connectivity Service [Agilent_Technologies_Inc] [Tom_Fay] 2013-01-16 +# 8767-8769 Unassigned +dpap 8770/tcp # Digital Photo Access [Amandeep_Jawa_2] [Amandeep_Jawa_2] 2004-11 Defined TXT keys: txtvers, Version, iPSh Version, Machine ID, +# Protocol (iPhoto) Machine Name, Password +dpap 8770/udp # Digital Photo Access [Amandeep_Jawa_2] [Amandeep_Jawa_2] 2004-11 Defined TXT keys: txtvers, Version, iPSh Version, Machine ID, +# 8771-8785 Unassigned +msgclnt 8786/tcp # Message Client +msgclnt 8786/udp # Message Client +msgsrvr 8787/tcp # Message Server [Michael_O_Brien] [Michael_O_Brien] 2003-03 +msgsrvr 8787/udp # Message Server [Michael_O_Brien] [Michael_O_Brien] 2003-03 +# 8788-8792 Unassigned +acd-pm 8793/tcp # Accedian Performance [Marco_Mascitto] [Marco_Mascitto] +# Measurement +acd-pm 8793/udp # Accedian Performance [Marco_Mascitto] [Marco_Mascitto] +# 8794-8799 Unassigned +sunwebadmin 8800/tcp # Sun Web Server Admin Service [Jyri_J_Virkki] [Jyri_J_Virkki] 2005-12 +sunwebadmin 8800/udp # Sun Web Server Admin Service [Jyri_J_Virkki] [Jyri_J_Virkki] 2005-12 +# 8801-8803 Unassigned 8801 by IBM +# z/OS RMF +truecm 8804/tcp # truecm [Scott_Kramer] [Scott_Kramer] +truecm 8804/udp # truecm [Scott_Kramer] [Scott_Kramer] +# 8805-8872 Unassigned +dxspider 8873/tcp # dxspider linking protocol [Dirk_Koopman] [Dirk_Koopman] 2005-08 +dxspider 8873/udp # dxspider linking protocol [Dirk_Koopman] [Dirk_Koopman] 2005-08 +# 8874-8879 Unassigned +cddbp-alt 8880/tcp # CDDBP [Steve_Scherf] [Steve_Scherf] +cddbp-alt 8880/udp # CDDBP [Steve_Scherf] [Steve_Scherf] +galaxy4d 8881/tcp # Galaxy4D Online Game Engine [Galaxy4D] [Olivier_St-Laurent] 2012-06-18 +# 8881 udp Reserved +# 8882 Unassigned Use Known on +# port 8882 +secure-mqtt 8883/tcp # Secure MQTT [Arthur_Barr] [Arthur_Barr] 2008-02-27 +secure-mqtt 8883/udp # Secure MQTT [Arthur_Barr] [Arthur_Barr] 2008-02-27 +# 8884-8887 Unassigned +ddi-tcp-1 8888/tcp # NewsEDGE server TCP (TCP 1) [Fred_Yao] [Fred_Yao] +ddi-udp-1 8888/udp # NewsEDGE server UDP (UDP 1) [Fred_Yao] [Fred_Yao] +ddi-tcp-2 8889/tcp # Desktop Data TCP 1 [Fred_Yao] [Fred_Yao] +ddi-udp-2 8889/udp # NewsEDGE server broadcast [Fred_Yao] [Fred_Yao] +ddi-tcp-3 8890/tcp # Desktop Data TCP 2 [Fred_Yao] [Fred_Yao] +ddi-udp-3 8890/udp # NewsEDGE client broadcast [Fred_Yao] [Fred_Yao] +ddi-tcp-4 8891/tcp # Desktop Data TCP 3: NESS [Fred_Yao] [Fred_Yao] +# application +ddi-udp-4 8891/udp # Desktop Data UDP 3: NESS [Fred_Yao] [Fred_Yao] +ddi-tcp-5 8892/tcp # Desktop Data TCP 4: FARM [Fred_Yao] [Fred_Yao] +# product +ddi-udp-5 8892/udp # Desktop Data UDP 4: FARM [Fred_Yao] [Fred_Yao] +ddi-tcp-6 8893/tcp # Desktop Data TCP 5: [Fred_Yao] [Fred_Yao] +# NewsEDGE/Web application +ddi-udp-6 8893/udp # Desktop Data UDP 5: [Fred_Yao] [Fred_Yao] +ddi-tcp-7 8894/tcp # Desktop Data TCP 6: COAL [Fred_Yao] [Fred_Yao] +ddi-udp-7 8894/udp # Desktop Data UDP 6: COAL [Fred_Yao] [Fred_Yao] +# 8895-8898 Unassigned +ospf-lite 8899/tcp # ospf-lite [Matthew_Thomas] [Matthew_Thomas] 2008-01-07 +ospf-lite 8899/udp # ospf-lite [Matthew_Thomas] [Matthew_Thomas] 2008-01-07 +jmb-cds1 8900/tcp # JMB-CDS 1 [Curtis_Bray] [Curtis_Bray] +jmb-cds1 8900/udp # JMB-CDS 1 [Curtis_Bray] [Curtis_Bray] +jmb-cds2 8901/tcp # JMB-CDS 2 [Curtis_Bray] [Curtis_Bray] +jmb-cds2 8901/udp # JMB-CDS 2 [Curtis_Bray] [Curtis_Bray] +# 8902-8909 Unassigned +manyone-http 8910/tcp # manyone-http [Matt_King] [Matt_King] 2002-04 +manyone-http 8910/udp # manyone-http [Matt_King] [Matt_King] 2002-04 +manyone-xml 8911/tcp # manyone-xml [Matt_King] [Matt_King] 2002-04 +manyone-xml 8911/udp # manyone-xml [Matt_King] [Matt_King] 2002-04 +wcbackup 8912/tcp # Windows Client Backup [Jim_Lyon] [Jim_Lyon] 2005-11 +wcbackup 8912/udp # Windows Client Backup [Jim_Lyon] [Jim_Lyon] 2005-11 +dragonfly 8913/tcp # Dragonfly System Service [Paul_Hodara] [Paul_Hodara] 2005-11 +dragonfly 8913/udp # Dragonfly System Service [Paul_Hodara] [Paul_Hodara] 2005-11 +# 8914-8936 Unassigned +twds 8937/tcp # Transaction Warehouse Data [Lance_M_Steenson] [Lance_M_Steenson] 2009-09-18 +# 8937 udp Reserved +# 8938-8952 Unassigned +ub-dns-control 8953/tcp # unbound dns nameserver [NLnet_Labs_Support] [NLnet_Labs_Support] 2011-05-10 2011-07-11 +# 8953 udp Reserved +cumulus-admin 8954/tcp # Cumulus Admin Port [Thomas_Schleu] [Thomas_Schleu] +cumulus-admin 8954/udp # Cumulus Admin Port [Thomas_Schleu] [Thomas_Schleu] +# 8955-8988 Unassigned +sunwebadmins 8989/tcp # Sun Web Server SSL Admin [Jyri_J_Virkki] [Jyri_J_Virkki] 2005-12 +sunwebadmins 8989/udp # Sun Web Server SSL Admin [Jyri_J_Virkki] [Jyri_J_Virkki] 2005-12 +http-wmap 8990/tcp # webmail HTTP service [Fred_Batty] [Fred_Batty] 2007-12-03 +http-wmap 8990/udp # webmail HTTP service [Fred_Batty] [Fred_Batty] 2007-12-03 +https-wmap 8991/tcp # webmail HTTPS service [Fred_Batty] [Fred_Batty] 2007-12-03 +https-wmap 8991/udp # webmail HTTPS service [Fred_Batty] [Fred_Batty] 2007-12-03 +# 8992-8998 Unassigned +bctp 8999/tcp # Brodos Crypto Trade Protocol [Alexander_Sahler] [Alexander_Sahler] 2002-02 +bctp 8999/udp # Brodos Crypto Trade Protocol [Alexander_Sahler] [Alexander_Sahler] 2002-02 +cslistener 9000/tcp # CSlistener [David_Jones] [David_Jones] +cslistener 9000/udp # CSlistener [David_Jones] [David_Jones] +etlservicemgr 9001/tcp # ETL Service Manager [Stephen_McCrea] [Stephen_McCrea] 2002-03 +etlservicemgr 9001/udp # ETL Service Manager [Stephen_McCrea] [Stephen_McCrea] 2002-03 +dynamid 9002/tcp # DynamID authentication [Jerome_Dusautois] [Jerome_Dusautois] 2002-03 +dynamid 9002/udp # DynamID authentication [Jerome_Dusautois] [Jerome_Dusautois] 2002-03 +# 9003-9005 Unassigned +# 9006 De-Commissioned Port 2000-02-24 +# 9007 tcp Reserved +ogs-client 9007/udp # Open Grid Services Client [Gareth_Nelson_2] [Gareth_Nelson_2] 2008-08-22 +ogs-server 9008/tcp # Open Grid Services Server [Gareth_Nelson_2] [Gareth_Nelson_2] 2008-08-22 +# 9008 udp Reserved +pichat 9009/tcp # Pichat Server [Mark_Seuffert] [Mark_Seuffert] 2004-11 +pichat 9009/udp # Pichat Server [Mark_Seuffert] [Mark_Seuffert] 2004-11 +sdr 9010/tcp # Secure Data Replicator [Sufyan_Almajali] [Sufyan_Almajali] 2008-06-27 +# 9010 udp Reserved +# 9011-9019 Unassigned +tambora 9020/tcp # TAMBORA [Jason_van_Zyl] [Jason_van_Zyl] 2002-03 +tambora 9020/udp # TAMBORA [Jason_van_Zyl] [Jason_van_Zyl] 2002-03 +panagolin-ident 9021/tcp # Pangolin Identification [William_Benner_2] [William_Benner_2] 2002-03 +panagolin-ident 9021/udp # Pangolin Identification [William_Benner_2] [William_Benner_2] 2002-03 +paragent 9022/tcp # PrivateArk Remote Agent [Gal_Cucuy] [Gal_Cucuy] 2002-03 +paragent 9022/udp # PrivateArk Remote Agent [Gal_Cucuy] [Gal_Cucuy] 2002-03 +swa-1 9023/tcp # Secure Web Access - 1 [Tim_McGranaghan] [Tim_McGranaghan] +swa-1 9023/udp # Secure Web Access - 1 [Tim_McGranaghan] [Tim_McGranaghan] +swa-2 9024/tcp # Secure Web Access - 2 [Tim_McGranaghan] [Tim_McGranaghan] +swa-2 9024/udp # Secure Web Access - 2 [Tim_McGranaghan] [Tim_McGranaghan] +swa-3 9025/tcp # Secure Web Access - 3 [Tim_McGranaghan] [Tim_McGranaghan] +swa-3 9025/udp # Secure Web Access - 3 [Tim_McGranaghan] [Tim_McGranaghan] +swa-4 9026/tcp # Secure Web Access - 4 [Tim_McGranaghan] [Tim_McGranaghan] +swa-4 9026/udp # Secure Web Access - 4 [Tim_McGranaghan] [Tim_McGranaghan] +# 9027-9049 Unassigned +versiera 9050/tcp # Versiera Agent Listener [Frank_Pikelner] [Frank_Pikelner] 2010-01-15 +# 9050 udp Reserved +fio-cmgmt 9051/tcp # Fusion-io Central Manager [Jim_Sermersheim] [Jim_Sermersheim] 2010-01-15 +# 9051 udp Reserved +# 9052-9079 Unassigned +glrpc 9080/tcp # Groove GLRPC [Adrian_Popescu] [Adrian_Popescu] 2002-09 +glrpc 9080/udp # Groove GLRPC [Adrian_Popescu] [Adrian_Popescu] 2002-09 +# 9081 Unassigned +lcs-ap 9082/sctp # LCS Application Protocol [Kimmo_Kymalainen] [Kimmo_Kymalainen] 2010-06-04 +emc-pp-mgmtsvc 9083/tcp # EMC PowerPath Mgmt Service [Jim_Perreault] [Jim_Perreault] 2010-06-04 +# 9083 udp Reserved +aurora 9084/tcp # IBM AURORA Performance [Jeroen_Massar_2] [Jeroen_Massar_2] 2008-08-21 +# Visualizer +aurora 9084/udp # IBM AURORA Performance [Jeroen_Massar_2] [Jeroen_Massar_2] 2008-08-21 +aurora 9084/sctp # IBM AURORA Performance [Jeroen_Massar_2] [Jeroen_Massar_2] 2008-08-21 +ibm-rsyscon 9085/tcp # IBM Remote System Console [William_LePera] [William_LePera] 2008-06-18 +ibm-rsyscon 9085/udp # IBM Remote System Console [William_LePera] [William_LePera] 2008-06-18 +net2display 9086/tcp # Vesa Net2Display [Kenneth_B_Ocheltree] [Kenneth_B_Ocheltree] 2008-01-07 +net2display 9086/udp # Vesa Net2Display [Kenneth_B_Ocheltree] [Kenneth_B_Ocheltree] 2008-01-07 +classic 9087/tcp # Classic Data Server [Paul_Cadarette] [Paul_Cadarette] 2007-01 +classic 9087/udp # Classic Data Server [Paul_Cadarette] [Paul_Cadarette] 2007-01 +sqlexec 9088/tcp # IBM Informix SQL Interface [Jonathan_Leffler] [Jonathan_Leffler] 2005-12 +sqlexec 9088/udp # IBM Informix SQL Interface [Jonathan_Leffler] [Jonathan_Leffler] 2005-12 +sqlexec-ssl 9089/tcp # IBM Informix SQL Interface - [Jonathan_Leffler] [Jonathan_Leffler] 2005-12 +# Encrypted +sqlexec-ssl 9089/udp # IBM Informix SQL Interface - [Jonathan_Leffler] [Jonathan_Leffler] 2005-12 +websm 9090/tcp # WebSM [I_Hsing_Tsao] [I_Hsing_Tsao] +websm 9090/udp # WebSM [I_Hsing_Tsao] [I_Hsing_Tsao] +xmltec-xmlmail 9091/tcp # xmltec-xmlmail [Mitch_Kaufman] [Mitch_Kaufman] +xmltec-xmlmail 9091/udp # xmltec-xmlmail [Mitch_Kaufman] [Mitch_Kaufman] +XmlIpcRegSvc 9092/tcp # Xml-Ipc Server Reg [Casey_Harrington] [Casey_Harrington] 2006-01 +XmlIpcRegSvc 9092/udp # Xml-Ipc Server Reg [Casey_Harrington] [Casey_Harrington] 2006-01 +copycat 9093/tcp # Copycat database replication [Microtec_Informatique] [Raphael_Neve] 2012-03-15 +# 9093 udp Reserved +# 9094-9099 Unassigned +hp-pdl-datastr 9100/tcp # PDL Data Streaming Port [Shivaun_Albright] [Shivaun_Albright] 2002-04 +hp-pdl-datastr 9100/udp # PDL Data Streaming Port [Shivaun_Albright] [Shivaun_Albright] 2002-04 +# The protocol name "pdl-datastream" is primarily registered +pdl-datastream 9100/tcp # Printer PDL Data Stream [Stuart_Cheshire_4] [Stuart_Cheshire_4] 2002-09 for use in DNS SRV records (RFC 2782). DNS SRV records allow +# a protocol to run on any port number, but the default port +# for this protocol is 9100. +pdl-datastream 9100/udp # Printer PDL Data Stream [Stuart_Cheshire_4] [Stuart_Cheshire_4] 2002-09 for use in DNS SRV records (RFC 2782). DNS SRV records allow +bacula-dir 9101/tcp # Bacula Director [Kern_Sibbald] [Kern_Sibbald] 2002-01 +bacula-dir 9101/udp # Bacula Director [Kern_Sibbald] [Kern_Sibbald] 2002-01 +bacula-fd 9102/tcp # Bacula File Daemon [Kern_Sibbald] [Kern_Sibbald] 2002-01 +bacula-fd 9102/udp # Bacula File Daemon [Kern_Sibbald] [Kern_Sibbald] 2002-01 +bacula-sd 9103/tcp # Bacula Storage Daemon [Kern_Sibbald] [Kern_Sibbald] 2002-01 +bacula-sd 9103/udp # Bacula Storage Daemon [Kern_Sibbald] [Kern_Sibbald] 2002-01 +peerwire 9104/tcp # PeerWire [Steven_Gerhardt] [Steven_Gerhardt] 2004-02 +peerwire 9104/udp # PeerWire [Steven_Gerhardt] [Steven_Gerhardt] 2004-02 +# [Ari SQRT'n Huisken +xadmin 9105/tcp # Xadmin Control Service +# 15 June 2009] +xadmin 9105/udp # Xadmin Control Service +astergate 9106/tcp # Astergate Control Service [Ari_Huisken] [Ari_Huisken] 2010-01-04 +astergate-disc 9106/udp # Astergate Discovery Service [Ari_Huisken] [Ari_Huisken] 2010-01-04 +astergatefax 9107/tcp # AstergateFax Control Service [Gijs_Middelkamp] [Gijs_Middelkamp] 2010-02-03 +# 9107 udp Reserved +# 9108-9118 Unassigned +mxit 9119/tcp # MXit Instant Messaging [Marnus_Freeman] [Marnus_Freeman] 2006-02 +mxit 9119/udp # MXit Instant Messaging [Marnus_Freeman] [Marnus_Freeman] 2006-02 +# 9120-9121 Unassigned +# Global Relay compliant +grcmp 9122/tcp # mobile instant messaging [Global_Relay] [Mike_Sample] 2012-11-28 +# 9122 udp Reserved +grcp 9123/tcp # Global Relay compliant [Global_Relay] [Mike_Sample] 2012-11-28 +# instant messaging protocol +# 9123 udp Reserved +# 9124-9130 Unassigned +dddp 9131/tcp # Dynamic Device Discovery [Shane_Dick] [Shane_Dick] 2005-08 +dddp 9131/udp # Dynamic Device Discovery [Shane_Dick] [Shane_Dick] 2005-08 +# 9132-9159 Unassigned +apani1 9160/tcp # apani1 [Neal_Taylor] [Neal_Taylor] +apani1 9160/udp # apani1 [Neal_Taylor] [Neal_Taylor] +apani2 9161/tcp # apani2 [Neal_Taylor] [Neal_Taylor] +apani2 9161/udp # apani2 [Neal_Taylor] [Neal_Taylor] +apani3 9162/tcp # apani3 [Neal_Taylor] [Neal_Taylor] +apani3 9162/udp # apani3 [Neal_Taylor] [Neal_Taylor] +apani4 9163/tcp # apani4 [Neal_Taylor] [Neal_Taylor] +apani4 9163/udp # apani4 [Neal_Taylor] [Neal_Taylor] +apani5 9164/tcp # apani5 [Neal_Taylor] [Neal_Taylor] +apani5 9164/udp # apani5 [Neal_Taylor] [Neal_Taylor] +# 9165-9190 Unassigned +sun-as-jpda 9191/tcp # Sun AppSvr JPDA [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +sun-as-jpda 9191/udp # Sun AppSvr JPDA [Abhijit_Kumar] [Abhijit_Kumar] 2005-11 +# 9192-9199 Unassigned +wap-wsp 9200/tcp # WAP connectionless session [WAP_Forum] [WAP_Forum] +wap-wsp 9200/udp # WAP connectionless session [WAP_Forum] [WAP_Forum] +wap-wsp-wtp 9201/tcp # WAP session service [WAP_Forum] [WAP_Forum] +wap-wsp-wtp 9201/udp # WAP session service [WAP_Forum] [WAP_Forum] +wap-wsp-s 9202/tcp # WAP secure connectionless [WAP_Forum] [WAP_Forum] +# session service +wap-wsp-s 9202/udp # WAP secure connectionless [WAP_Forum] [WAP_Forum] +wap-wsp-wtp-s 9203/tcp # WAP secure session service [WAP_Forum] [WAP_Forum] +wap-wsp-wtp-s 9203/udp # WAP secure session service [WAP_Forum] [WAP_Forum] +wap-vcard 9204/tcp # WAP vCard [WAP_Forum] [WAP_Forum] +wap-vcard 9204/udp # WAP vCard [WAP_Forum] [WAP_Forum] +wap-vcal 9205/tcp # WAP vCal [WAP_Forum] [WAP_Forum] +wap-vcal 9205/udp # WAP vCal [WAP_Forum] [WAP_Forum] +wap-vcard-s 9206/tcp # WAP vCard Secure [WAP_Forum] [WAP_Forum] +wap-vcard-s 9206/udp # WAP vCard Secure [WAP_Forum] [WAP_Forum] +wap-vcal-s 9207/tcp # WAP vCal Secure [WAP_Forum] [WAP_Forum] +wap-vcal-s 9207/udp # WAP vCal Secure [WAP_Forum] [WAP_Forum] +rjcdb-vcards 9208/tcp # rjcdb vCard [Robert_John_Churchil] [Robert_John_Churchil] 2006-01 +rjcdb-vcards 9208/udp # rjcdb vCard [Robert_John_Churchil] [Robert_John_Churchil] 2006-01 +almobile-system 9209/tcp # ALMobile System Service [Rob_Graber] [Rob_Graber] 2006-01 +almobile-system 9209/udp # ALMobile System Service [Rob_Graber] [Rob_Graber] 2006-01 +oma-mlp 9210/tcp # OMA Mobile Location Protocol [Hans_Rohnert] [Hans_Rohnert] 2002-04 +oma-mlp 9210/udp # OMA Mobile Location Protocol [Hans_Rohnert] [Hans_Rohnert] 2002-04 +oma-mlp-s 9211/tcp # OMA Mobile Location Protocol [Hans_Rohnert] [Hans_Rohnert] 2002-04 +# Secure +oma-mlp-s 9211/udp # OMA Mobile Location Protocol [Hans_Rohnert] [Hans_Rohnert] 2002-04 +serverviewdbms 9212/tcp # Server View dbms access [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +serverviewdbms 9212/udp # Server View dbms access [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +serverstart 9213/tcp # ServerStart RemoteControl [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +serverstart 9213/udp # ServerStart RemoteControl [Detlef_Rothe] [Detlef_Rothe] 2009-05-15 +ipdcesgbs 9214/tcp # IPDC ESG BootstrapService [Joerg_Heuer] [Joerg_Heuer] 2006-02 +ipdcesgbs 9214/udp # IPDC ESG BootstrapService [Joerg_Heuer] [Joerg_Heuer] 2006-02 +insis 9215/tcp # Integrated Setup and Install [Markus_Treinen] [Markus_Treinen] 2006-02 +insis 9215/udp # Integrated Setup and Install [Markus_Treinen] [Markus_Treinen] 2006-02 +acme 9216/tcp # Aionex Communication [Mark_Sapp] [Mark_Sapp] 2006-04 +# Management Engine +acme 9216/udp # Aionex Communication [Mark_Sapp] [Mark_Sapp] 2006-04 +fsc-port 9217/tcp # FSC Communication Port [Teijo_Mustonen] [Teijo_Mustonen] 2002-03 +fsc-port 9217/udp # FSC Communication Port [Teijo_Mustonen] [Teijo_Mustonen] 2002-03 +# 9218-9221 Unassigned +teamcoherence 9222/tcp # QSC Team Coherence [Ewan_McNab] [Ewan_McNab] 2004-11 +teamcoherence 9222/udp # QSC Team Coherence [Ewan_McNab] [Ewan_McNab] 2004-11 +# 9223-9254 Unassigned +mon 9255/tcp # Manager On Network [David_Rouchet] [David_Rouchet] 2007-05 +mon 9255/udp # Manager On Network [David_Rouchet] [David_Rouchet] 2007-05 +# 9256-9276 Unassigned +traingpsdata 9277/udp # GPS Data transmitted from [Alstom_Transport_Preston] [Paul_Steane] 2012-12-14 +# train to ground network +# 9277 tcp Reserved +pegasus 9278/tcp # Pegasus GPS Platform [Nestor_A_Diaz] [Nestor_A_Diaz] 2009-05-12 +pegasus 9278/udp # Pegasus GPS Platform [Nestor_A_Diaz] [Nestor_A_Diaz] 2009-05-12 +pegasus-ctl 9279/tcp # Pegaus GPS System Control [Nestor_A_Diaz] [Nestor_A_Diaz] 2009-05-12 +pegasus-ctl 9279/udp # Pegaus GPS System Control [Nestor_A_Diaz] [Nestor_A_Diaz] 2009-05-12 +pgps 9280/tcp # Predicted GPS [Jeremy_Freeman] [Jeremy_Freeman] 2008-02-14 +pgps 9280/udp # Predicted GPS [Jeremy_Freeman] [Jeremy_Freeman] 2008-02-14 +swtp-port1 9281/tcp # SofaWare transport port 1 [Amir_Rapson] [Amir_Rapson] 2002-02 +swtp-port1 9281/udp # SofaWare transport port 1 [Amir_Rapson] [Amir_Rapson] 2002-02 +swtp-port2 9282/tcp # SofaWare transport port 2 [Amir_Rapson] [Amir_Rapson] 2002-02 +swtp-port2 9282/udp # SofaWare transport port 2 [Amir_Rapson] [Amir_Rapson] 2002-02 +callwaveiam 9283/tcp # CallWaveIAM [Colin_Kelley] [Colin_Kelley] +callwaveiam 9283/udp # CallWaveIAM [Colin_Kelley] [Colin_Kelley] +visd 9284/tcp # VERITAS Information Serve [Ravi_Tavakely] [Ravi_Tavakely] 2002-02 +visd 9284/udp # VERITAS Information Serve [Ravi_Tavakely] [Ravi_Tavakely] 2002-02 +n2h2server 9285/tcp # N2H2 Filter Service Port [Jim_Irwin] [Jim_Irwin] 2002-02 +n2h2server 9285/udp # N2H2 Filter Service Port [Jim_Irwin] [Jim_Irwin] 2002-02 +# 9286 tcp Reserved +n2receive 9286/udp # n2 monitoring receiver [Peter_van_Dijk] [Peter_van_Dijk] 2011-01-10 +cumulus 9287/tcp # Cumulus [Thomas_Schleu] [Thomas_Schleu] +cumulus 9287/udp # Cumulus [Thomas_Schleu] [Thomas_Schleu] +# 9288-9291 Unassigned +armtechdaemon 9292/tcp # ArmTech Daemon [Rohan_Story] [Rohan_Story] +armtechdaemon 9292/udp # ArmTech Daemon [Rohan_Story] [Rohan_Story] +storview 9293/tcp # StorView Client [Ryan_Smith] [Ryan_Smith] 2006-07 +storview 9293/udp # StorView Client [Ryan_Smith] [Ryan_Smith] 2006-07 +armcenterhttp 9294/tcp # ARMCenter http Service [Eric_Thiebaut_George] [Eric_Thiebaut_George] 2006-04 +armcenterhttp 9294/udp # ARMCenter http Service [Eric_Thiebaut_George] [Eric_Thiebaut_George] 2006-04 +armcenterhttps 9295/tcp # ARMCenter https Service [Eric_Thiebaut_George] [Eric_Thiebaut_George] 2006-04 +armcenterhttps 9295/udp # ARMCenter https Service [Eric_Thiebaut_George] [Eric_Thiebaut_George] 2006-04 +# 9296-9299 Unassigned +vrace 9300/tcp # Virtual Racing Service [Pete_Loeffen] [Pete_Loeffen] 2006-10 +vrace 9300/udp # Virtual Racing Service [Pete_Loeffen] [Pete_Loeffen] 2006-10 +# 9301-9305 Unassigned +sphinxql 9306/tcp # Sphinx search server (MySQL [Andrew_Aksyonoff] [Andrew_Aksyonoff] 2009-10-20 +# listener) +# 9306 udp Reserved +# 9307-9311 Unassigned +sphinxapi 9312/tcp # Sphinx search server [Andrew_Aksyonoff] [Andrew_Aksyonoff] 2009-10-20 +# 9312 udp Reserved +# 9313-9317 Unassigned +secure-ts 9318/tcp # PKIX TimeStamp over TLS [Niklas_Weiss] [Niklas_Weiss] 2004-11 +secure-ts 9318/udp # PKIX TimeStamp over TLS [Niklas_Weiss] [Niklas_Weiss] 2004-11 +# 9319-9320 Unassigned +guibase 9321/tcp # guibase [Yutaka_Ono] [Yutaka_Ono] +guibase 9321/udp # guibase [Yutaka_Ono] [Yutaka_Ono] +# 9322-9342 Unassigned +mpidcmgr 9343/tcp # MpIdcMgr [Yutaka_Ono] [Yutaka_Ono] +mpidcmgr 9343/udp # MpIdcMgr [Yutaka_Ono] [Yutaka_Ono] +mphlpdmc 9344/tcp # Mphlpdmc [Yutaka_Ono] [Yutaka_Ono] +mphlpdmc 9344/udp # Mphlpdmc [Yutaka_Ono] [Yutaka_Ono] +# 9345 Unassigned +ctechlicensing 9346/tcp # C Tech Licensing [Reed_Copsey_Jr] [Reed_Copsey_Jr] +ctechlicensing 9346/udp # C Tech Licensing [Reed_Copsey_Jr] [Reed_Copsey_Jr] +# 9347-9373 Unassigned +fjdmimgr 9374/tcp # fjdmimgr [Yutaka_Ono] [Yutaka_Ono] +fjdmimgr 9374/udp # fjdmimgr [Yutaka_Ono] [Yutaka_Ono] +# 9375-9379 Unassigned +boxp 9380/tcp # Brivs! Open Extensible [Danko_Alexeyev] [Danko_Alexeyev] 2007-08-08 +boxp 9380/udp # Brivs! Open Extensible [Danko_Alexeyev] [Danko_Alexeyev] 2007-08-08 +# 9381-9386 Unassigned +d2dconfig 9387/tcp # D2D Configuration Service [Pete_Camble] [Pete_Camble] 2008-12-24 +# 9387 udp Reserved +d2ddatatrans 9388/tcp # D2D Data Transfer Service [Pete_Camble] [Pete_Camble] 2008-12-24 +# 9388 udp Reserved +adws 9389/tcp # Active Directory Web [Nitin_Gupta] [Nitin_Gupta] 2008-12-24 +# 9389 udp Reserved +otp 9390/tcp # OpenVAS Transfer Protocol [Tim_Brown] [Tim_Brown] 2008-12-24 +# 9390 udp Reserved +# 9391-9395 Unassigned +fjinvmgr 9396/tcp # fjinvmgr [Yutaka_Ono] [Yutaka_Ono] +fjinvmgr 9396/udp # fjinvmgr [Yutaka_Ono] [Yutaka_Ono] +mpidcagt 9397/tcp # MpIdcAgt [Yutaka_Ono] [Yutaka_Ono] +mpidcagt 9397/udp # MpIdcAgt [Yutaka_Ono] [Yutaka_Ono] +# 9398-9399 Unassigned +sec-t4net-srv 9400/tcp # Samsung Twain for Network [Dongkeun_Kim] [Dongkeun_Kim] 2007-02 +sec-t4net-srv 9400/udp # Samsung Twain for Network [Dongkeun_Kim] [Dongkeun_Kim] 2007-02 +sec-t4net-clt 9401/tcp # Samsung Twain for Network [Dongkeun_Kim] [Dongkeun_Kim] 2007-02 +sec-t4net-clt 9401/udp # Samsung Twain for Network [Dongkeun_Kim] [Dongkeun_Kim] 2007-02 +sec-pc2fax-srv 9402/tcp # Samsung PC2FAX for Network [HyeongBae_Yu] [HyeongBae_Yu] 2008-07-31 +sec-pc2fax-srv 9402/udp # Samsung PC2FAX for Network [HyeongBae_Yu] [HyeongBae_Yu] 2008-07-31 +# 9403-9417 Unassigned +git 9418/tcp # git pack transfer service [Linus_Torvalds] [Linus_Torvalds] 2005-09 +git 9418/udp # git pack transfer service [Linus_Torvalds] [Linus_Torvalds] 2005-09 +# 9419-9442 Unassigned +tungsten-https 9443/tcp # WSO2 Tungsten HTTPS [Afkham_Azeez] [Afkham_Azeez] 2006-06 +tungsten-https 9443/udp # WSO2 Tungsten HTTPS [Afkham_Azeez] [Afkham_Azeez] 2006-06 +wso2esb-console 9444/tcp # WSO2 ESB Administration [Ruwan_Linton] [Ruwan_Linton] 2008-08-20 +# Console HTTPS +wso2esb-console 9444/udp # WSO2 ESB Administration [Ruwan_Linton] [Ruwan_Linton] 2008-08-20 +mindarray-ca 9445/tcp # MindArray Systems Console [MINDARRAY_SYSTEMS] [ALPESH_DHAMELIA] 2011-10-25 +# 9445 udp Reserved +# 9446-9449 Unassigned +sntlkeyssrvr 9450/tcp # Sentinel Keys Server [Martin_Ziskind] [Martin_Ziskind] 2008-08-21 +sntlkeyssrvr 9450/udp # Sentinel Keys Server [Martin_Ziskind] [Martin_Ziskind] 2008-08-21 +# 9451-9499 Unassigned +ismserver 9500/tcp # ismserver [Ian_Gordon_3] [Ian_Gordon_3] +ismserver 9500/udp # ismserver [Ian_Gordon_3] [Ian_Gordon_3] +# 9501-9521 Unassigned +# 9522 tcp Reserved +sma-spw 9522/udp # SMA Speedwire [SMA_Solar_Techology] [SMA_Solar_Techology] 2011-03-08 +# 9523-9534 Unassigned +mngsuite 9535/tcp # Management Suite Remote [Trevor_Perkes] [Trevor_Perkes] 2010-02-01 +mngsuite 9535/udp # Management Suite Remote [Trevor_Perkes] [Trevor_Perkes] 2010-02-01 +laes-bf 9536/tcp # Surveillance buffering [Glen_Myers] [Glen_Myers] 2007-05 +# function +laes-bf 9536/udp # Surveillance buffering [Glen_Myers] [Glen_Myers] 2007-05 +# 9537-9554 Unassigned +trispen-sra 9555/tcp # Trispen Secure Remote Access [Jaco_Botha] [Jaco_Botha] 2004-11 +trispen-sra 9555/udp # Trispen Secure Remote Access [Jaco_Botha] [Jaco_Botha] 2004-11 +# 9556-9591 Unassigned +ldgateway 9592/tcp # LANDesk Gateway [Alan_Butt] [Alan_Butt] 2006-03 +ldgateway 9592/udp # LANDesk Gateway [Alan_Butt] [Alan_Butt] 2006-03 +cba8 9593/tcp # LANDesk Management Agent [Trevor_Perkes] [Trevor_Perkes] 2010-02-01 +# (cba8) +cba8 9593/udp # LANDesk Management Agent [Trevor_Perkes] [Trevor_Perkes] 2010-02-01 +msgsys 9594/tcp # Message System [Alan_Butt] [Alan_Butt] +msgsys 9594/udp # Message System [Alan_Butt] [Alan_Butt] +pds 9595/tcp # Ping Discovery Service [Alan_Butt] [Alan_Butt] +pds 9595/udp # Ping Discovery Service [Alan_Butt] [Alan_Butt] +mercury-disc 9596/tcp # Mercury Discovery [Paul_Mclachlan] [Paul_Mclachlan] 2005-11 +mercury-disc 9596/udp # Mercury Discovery [Paul_Mclachlan] [Paul_Mclachlan] 2005-11 +pd-admin 9597/tcp # PD Administration [Duk_Loi] [Duk_Loi] 2005-11 +pd-admin 9597/udp # PD Administration [Duk_Loi] [Duk_Loi] 2005-11 +vscp 9598/tcp # Very Simple Ctrl Protocol [Ake_Hedman] [Ake_Hedman] 2005-11 +vscp 9598/udp # Very Simple Ctrl Protocol [Ake_Hedman] [Ake_Hedman] 2005-11 +robix 9599/tcp # Robix [Evan_Rosen] [Evan_Rosen] 2005-11 +robix 9599/udp # Robix [Evan_Rosen] [Evan_Rosen] 2005-11 +micromuse-ncpw 9600/tcp # MICROMUSE-NCPW [Hing_Wing_To_2] [Hing_Wing_To_2] +micromuse-ncpw 9600/udp # MICROMUSE-NCPW [Hing_Wing_To_2] [Hing_Wing_To_2] +# 9601-9611 Unassigned +streamcomm-ds 9612/tcp # StreamComm User Directory [Brian_C_Wiles] [Brian_C_Wiles] +streamcomm-ds 9612/udp # StreamComm User Directory [Brian_C_Wiles] [Brian_C_Wiles] +# 9613 Unassigned +iadt-tls 9614/tcp # iADT Protocol over TLS [Paul_A_Suhler] [Paul_A_Suhler] 2009-02-05 +# 9614 udp Reserved +# 9615 Unassigned +# eRunbook Agent +# +erunbook-agent 9616/tcp # IANA assigned this [Gerhard_Wagner] [Gerhard_Wagner] 2009-03-10 +# "erunbook_agent". +# This entry is an alias to "erunbook-agent". This entry is now +erunbook_agent 9616/tcp # eRunbook Agent [Gerhard_Wagner] [Gerhard_Wagner] 2009-03-10 historic, not usable for use with many common service +# 9616 udp Reserved +# eRunbook Server +# +erunbook-server 9617/tcp # IANA assigned this [Gerhard_Wagner] [Gerhard_Wagner] 2009-03-10 +# "erunbook_server". +# This entry is an alias to "erunbook-server". This entry is +erunbook_server 9617/tcp # eRunbook Server [Gerhard_Wagner] [Gerhard_Wagner] 2009-03-10 now historic, not usable for use with many common service +# 9617 udp Reserved +condor 9618/tcp # Condor Collector Service [Todd_Tannenbaum] [Todd_Tannenbaum] 2008-04-03 +condor 9618/udp # Condor Collector Service [Todd_Tannenbaum] [Todd_Tannenbaum] 2008-04-03 +# 9619-9627 Unassigned +odbcpathway 9628/tcp # ODBC Pathway Service [Adrian_Hungate] [Adrian_Hungate] 2007-05 +odbcpathway 9628/udp # ODBC Pathway Service [Adrian_Hungate] [Adrian_Hungate] 2007-05 +uniport 9629/tcp # UniPort SSO Controller [Adrian_Hungate] [Adrian_Hungate] 2007-09-05 +uniport 9629/udp # UniPort SSO Controller [Adrian_Hungate] [Adrian_Hungate] 2007-09-05 +peoctlr 9630/tcp # Peovica Controller [Adrian_Hungate] [Adrian_Hungate] 2009-09-14 +# 9630 udp Reserved +peocoll 9631/tcp # Peovica Collector [Adrian_Hungate] [Adrian_Hungate] 2009-09-14 +# 9631 udp Reserved +# 9632 tcp Reserved +mc-comm 9632/udp # Mobile-C Communications [David_Ko_2] [David_Ko_2] 2009-09-14 +# 9633-9639 Unassigned +pqsflows 9640/tcp # ProQueSys Flows Service [Sarene_Caiazza] [Sarene_Caiazza] 2010-04-27 +# 9640 udp Reserved +# 9641-9666 Unassigned +xmms2 9667/tcp # Cross-platform Music [Juho_Herttua] [Juho_Herttua] 2009-04-14 +# Multiplexing System +xmms2 9667/udp # Cross-platform Music [Juho_Herttua] [Juho_Herttua] +tec5-sdctp 9668/tcp # tec5 Spectral Device Control [Michael_Muth] [Michael_Muth] 2009-05-11 +tec5-sdctp 9668/udp # tec5 Spectral Device Control [Michael_Muth] [Michael_Muth] 2009-05-11 +# 9669-9693 Unassigned +client-wakeup 9694/tcp # T-Mobile Client Wakeup [Michael_Schonborn] [Michael_Schonborn] 2009-09-11 +# Message +client-wakeup 9694/udp # T-Mobile Client Wakeup [Michael_Schonborn] [Michael_Schonborn] 2009-09-11 +ccnx 9695/tcp # Content Centric Networking [Van_Jacobson_2][Simon_Barber] [Van_Jacobson_2][Simon_Barber] 2009-09-29 +ccnx 9695/udp # Content Centric Networking [Van_Jacobson_2][Simon_Barber] [Van_Jacobson_2][Simon_Barber] 2009-09-29 +# 9696-9699 Unassigned +board-roar 9700/tcp # Board M.I.T. Service [Francesco_Rosi] [Francesco_Rosi] 2006-01 +board-roar 9700/udp # Board M.I.T. Service [Francesco_Rosi] [Francesco_Rosi] 2006-01 +# 9701-9746 Unassigned +l5nas-parchan 9747/tcp # L5NAS Parallel Channel [Lawrence_J_Dickson] [Lawrence_J_Dickson] 2002-03 +l5nas-parchan 9747/udp # L5NAS Parallel Channel [Lawrence_J_Dickson] [Lawrence_J_Dickson] 2002-03 +# 9748-9749 Unassigned +board-voip 9750/tcp # Board M.I.T. Synchronous [Francesco_Rosi] [Francesco_Rosi] 2006-01 +# Collaboration +board-voip 9750/udp # Board M.I.T. Synchronous [Francesco_Rosi] [Francesco_Rosi] 2006-01 +# 9751-9752 Unassigned +rasadv 9753/tcp # rasadv [Dave_Thaler_2] [Dave_Thaler_2] +rasadv 9753/udp # rasadv [Dave_Thaler_2] [Dave_Thaler_2] +# 9754-9761 Unassigned +tungsten-http 9762/tcp # WSO2 Tungsten HTTP [Afkham_Azeez] [Afkham_Azeez] 2006-06 +tungsten-http 9762/udp # WSO2 Tungsten HTTP [Afkham_Azeez] [Afkham_Azeez] 2006-06 +# 9763-9799 Unassigned +davsrc 9800/tcp # WebDav Source Port [Ethan_Fremen] [Ethan_Fremen] +davsrc 9800/udp # WebDav Source Port [Ethan_Fremen] [Ethan_Fremen] +sstp-2 9801/tcp # Sakura Script Transfer [Kouichi_Takeda_2] [Kouichi_Takeda_2] +# Protocol-2 +sstp-2 9801/udp # Sakura Script Transfer [Kouichi_Takeda_2] [Kouichi_Takeda_2] +davsrcs 9802/tcp # WebDAV Source TLS/SSL [Rob_Isaac] [Rob_Isaac] 2003-07 +davsrcs 9802/udp # WebDAV Source TLS/SSL [Rob_Isaac] [Rob_Isaac] 2003-07 +# 9803-9874 Unassigned +sapv1 9875/tcp # Session Announcement v1 [RFC2974] +sapv1 9875/udp # Session Announcement v1 [RFC2974] +sd 9876/tcp # Session Director [Van_Jacobson] [Van_Jacobson] +# 9877 Unassigned +# The KX509 Kerberized Historically, this service has been referred to as +kca-service 9878/udp # Certificate Issuance [IESG] [IETF_Chair] 2012-07-12 [RFC6717] "kca_service", but this service name does not meet the +# Protocol in Use in 2012 registry requirements. +# 9878 tcp Reserved +# 9879-9887 Unassigned +cyborg-systems 9888/tcp # CYBORG Systems [Malcolm_Graham] [Malcolm_Graham] +cyborg-systems 9888/udp # CYBORG Systems [Malcolm_Graham] [Malcolm_Graham] +# Port for Cable network +gt-proxy 9889/tcp # related data proxy or [Dawei_Qi] [Dawei_Qi] 2010-07-07 +# repeater +gt-proxy 9889/udp # related data proxy or [Dawei_Qi] [Dawei_Qi] 2010-07-07 +# 9890-9897 Unassigned +monkeycom 9898/tcp # MonkeyCom [Yuji_Kuwabara] [Yuji_Kuwabara] +monkeycom 9898/udp # MonkeyCom [Yuji_Kuwabara] [Yuji_Kuwabara] +sctp-tunneling 9899/tcp # SCTP TUNNELING [Lyndon_Ong_2] [Lyndon_Ong_2] +sctp-tunneling 9899/udp # SCTP TUNNELING [Lyndon_Ong_2] [Lyndon_Ong_2] +iua 9900/tcp # IUA [Lyndon_Ong_2] [Lyndon_Ong_2] +iua 9900/udp # IUA [Lyndon_Ong_2] [Lyndon_Ong_2] +iua 9900/sctp # IUA [Lyndon_Ong_2] [Lyndon_Ong_2] +enrp 9901/udp # enrp server channel +enrp-sctp 9901/sctp # enrp server channel [RFC5353] +enrp-sctp-tls 9902/sctp # enrp/tls server channel [RFC5353] +# 9903 tcp Reserved +multicast-ping 9903/udp # Multicast Ping Protocol 2011-12-09 [RFC6450] +# 9904-9908 Unassigned +domaintime 9909/tcp # domaintime [Jeffry_Dwight] [Jeffry_Dwight] +domaintime 9909/udp # domaintime [Jeffry_Dwight] [Jeffry_Dwight] +# 9910 Unassigned +sype-transport 9911/tcp # SYPECom Transport Protocol [Sylvain_Pedneault] [Sylvain_Pedneault] 2003-03 +sype-transport 9911/udp # SYPECom Transport Protocol [Sylvain_Pedneault] [Sylvain_Pedneault] 2003-03 +# 9912-9949 Unassigned +apc-9950 9950/tcp # APC 9950 [American_Power_Conve] [American_Power_Conve] +apc-9950 9950/udp # APC 9950 [American_Power_Conve] [American_Power_Conve] +apc-9951 9951/tcp # APC 9951 [American_Power_Conve] [American_Power_Conve] +apc-9951 9951/udp # APC 9951 [American_Power_Conve] [American_Power_Conve] +apc-9952 9952/tcp # APC 9952 [American_Power_Conve] [American_Power_Conve] +apc-9952 9952/udp # APC 9952 [American_Power_Conve] [American_Power_Conve] +acis 9953/tcp # 9953 [Thomas_Guth] [Thomas_Guth] 2006-01 +acis 9953/udp # 9953 [Thomas_Guth] [Thomas_Guth] 2006-01 +hinp 9954/tcp # HaloteC Instrument Network [HaloteC_Instruments] [Michel_Stam] 2012-02-07 +# 9954 udp Reserved +alljoyn-stm 9955/tcp # Contact Port for AllJoyn [Qualcomm_Innovation_Center] [Craig_Dowell] 2012-03-14 +# standard messaging +# Contact Port for AllJoyn +alljoyn-mcm 9955/udp # multiplexed constrained [Qualcomm_Innovation_Center] [Craig_Dowell] 2012-03-14 +# messaging +# 9956 tcp Reserved +alljoyn 9956/udp # Alljoyn Name Service [Qualcomm_Innovation_Center] [Craig_Dowell] 2011-12-21 +# 9957-9965 Unassigned +odnsp 9966/tcp # OKI Data Network Setting [Masato_Sato] [Masato_Sato] 2006-05 +odnsp 9966/udp # OKI Data Network Setting [Masato_Sato] [Masato_Sato] 2006-05 +# 9967-9977 Unassigned +xybrid-rt 9978/tcp # XYBRID RT Server [Rx_Networks_Inc] [Drew_Davies] 2013-01-24 +# 9978 udp Reserved +# 9979-9986 Unassigned +dsm-scm-target 9987/tcp # DSM/SCM Target Interface [Mike_Dyslin] [Mike_Dyslin] 2006-08 +dsm-scm-target 9987/udp # DSM/SCM Target Interface [Mike_Dyslin] [Mike_Dyslin] 2006-08 +nsesrvr 9988/tcp # Software Essentials Secure [Narayanan_Raju] [Narayanan_Raju] 2009-02-05 +# HTTP server +# 9988 udp Reserved +# 9989-9989 Unassigned +osm-appsrvr 9990/tcp # OSM Applet Server [Vinay_Gupta] [Vinay_Gupta] 2003-08 +osm-appsrvr 9990/udp # OSM Applet Server [Vinay_Gupta] [Vinay_Gupta] 2003-08 +osm-oev 9991/tcp # OSM Event Server [Vinay_Gupta] [Vinay_Gupta] 2003-08 +osm-oev 9991/udp # OSM Event Server [Vinay_Gupta] [Vinay_Gupta] 2003-08 +palace-1 9992/tcp # OnLive-1 [Douglas_Crockford] [Douglas_Crockford] +palace-1 9992/udp # OnLive-1 [Douglas_Crockford] [Douglas_Crockford] +palace-2 9993/tcp # OnLive-2 [Douglas_Crockford] [Douglas_Crockford] +palace-2 9993/udp # OnLive-2 [Douglas_Crockford] [Douglas_Crockford] +palace-3 9994/tcp # OnLive-3 [Douglas_Crockford] [Douglas_Crockford] +palace-3 9994/udp # OnLive-3 [Douglas_Crockford] [Douglas_Crockford] +palace-4 9995/tcp # Palace-4 [Douglas_Crockford] [Douglas_Crockford] +palace-4 9995/udp # Palace-4 [Douglas_Crockford] [Douglas_Crockford] +palace-5 9996/tcp # Palace-5 [Douglas_Crockford] [Douglas_Crockford] +palace-5 9996/udp # Palace-5 [Douglas_Crockford] [Douglas_Crockford] +palace-6 9997/tcp # Palace-6 [Douglas_Crockford] [Douglas_Crockford] +palace-6 9997/udp # Palace-6 [Douglas_Crockford] [Douglas_Crockford] +distinct32 9998/tcp # Distinct32 [Anoop_Tewari] [Anoop_Tewari] +distinct32 9998/udp # Distinct32 [Anoop_Tewari] [Anoop_Tewari] +distinct 9999/tcp # distinct [Anoop_Tewari] [Anoop_Tewari] +distinct 9999/udp # distinct [Anoop_Tewari] [Anoop_Tewari] +ndmp 10000/tcp # Network Data Management [Brian_Ehrmantraut] [Brian_Ehrmantraut] +ndmp 10000/udp # Network Data Management [Brian_Ehrmantraut] [Brian_Ehrmantraut] +scp-config 10001/tcp # SCP Configuration [Michael_Benz] [Michael_Benz] 2010-08-06 +scp-config 10001/udp # SCP Configuration [Michael_Benz] [Michael_Benz] 2010-08-06 +documentum 10002/tcp # EMC-Documentum Content [Reza_Bagherian] [Reza_Bagherian] 2007-07-19 +# Server Product +documentum 10002/udp # EMC-Documentum Content [Reza_Bagherian] [Reza_Bagherian] 2007-07-19 +# EMC-Documentum Content +# +documentum-s 10003/tcp # IANA assigned this [Reza_Bagherian] [Reza_Bagherian] 2007-07-19 +# "documentum_s". +# EMC-Documentum Content This entry is an alias to "documentum-s". This entry is now +documentum_s 10003/tcp # Server Product [Reza_Bagherian] [Reza_Bagherian] 2007-07-19 historic, not usable for use with many common service +# +documentum-s 10003/udp # IANA assigned this [Reza_Bagherian] [Reza_Bagherian] 2007-07-19 +documentum_s 10003/udp # Server Product [Reza_Bagherian] [Reza_Bagherian] 2007-07-19 historic, not usable for use with many common service +emcrmirccd 10004/tcp # EMC Replication Manager [Robert_Boudrie] [Robert_Boudrie] 2008-06-09 +# 10004 udp Reserved +emcrmird 10005/tcp # EMC Replication Manager [Robert_Boudrie] [Robert_Boudrie] 2008-06-09 +# 10005 udp Reserved +# 10006 Unassigned +mvs-capacity 10007/tcp # MVS Capacity [Donna_Dillenberger] [Donna_Dillenberger] +mvs-capacity 10007/udp # MVS Capacity [Donna_Dillenberger] [Donna_Dillenberger] +octopus 10008/tcp # Octopus Multiplexer [Chris_Koeritz_2] [Chris_Koeritz_2] 2002-10 +octopus 10008/udp # Octopus Multiplexer [Chris_Koeritz_2] [Chris_Koeritz_2] 2002-10 +swdtp-sv 10009/tcp # Systemwalker Desktop Patrol [Akira_Ide] [Akira_Ide] 2006-03 +swdtp-sv 10009/udp # Systemwalker Desktop Patrol [Akira_Ide] [Akira_Ide] 2006-03 +rxapi 10010/tcp # ooRexx rxapi services [David_Ashley] [David_Ashley] 2009-07-24 +# 10010 udp Reserved +# 10011-10049 Unassigned +zabbix-agent 10050/tcp # Zabbix Agent [Alexei_Vladishev] [Alexei_Vladishev] 2006-02 +zabbix-agent 10050/udp # Zabbix Agent [Alexei_Vladishev] [Alexei_Vladishev] 2006-02 +zabbix-trapper 10051/tcp # Zabbix Trapper [Alexei_Vladishev] [Alexei_Vladishev] 2006-02 +zabbix-trapper 10051/udp # Zabbix Trapper [Alexei_Vladishev] [Alexei_Vladishev] 2006-02 +# 10052-10054 Unassigned +qptlmd 10055/tcp # Quantapoint FLEXlm Licensing [Justin_Vegso] [Justin_Vegso] 2010-07-01 +# 10055 udp Reserved +# 10056-10079 Unassigned +amanda 10080/tcp # Amanda [John_Jackson] [John_Jackson] +amanda 10080/udp # Amanda [John_Jackson] [John_Jackson] +famdc 10081/tcp # FAM Archive Server [Frode_Randers] [Frode_Randers] 2006-01 +famdc 10081/udp # FAM Archive Server [Frode_Randers] [Frode_Randers] 2006-01 +# 10082-10099 Unassigned +itap-ddtp 10100/tcp # VERITAS ITAP DDTP [Saugata_Guha] [Saugata_Guha] 2004-05 +itap-ddtp 10100/udp # VERITAS ITAP DDTP [Saugata_Guha] [Saugata_Guha] 2004-05 +ezmeeting-2 10101/tcp # eZmeeting [Albert_C_Yang] [Albert_C_Yang] 2002-03 +ezmeeting-2 10101/udp # eZmeeting [Albert_C_Yang] [Albert_C_Yang] 2002-03 +ezproxy-2 10102/tcp # eZproxy [Albert_C_Yang] [Albert_C_Yang] 2002-03 +ezproxy-2 10102/udp # eZproxy [Albert_C_Yang] [Albert_C_Yang] 2002-03 +ezrelay 10103/tcp # eZrelay [Albert_C_Yang] [Albert_C_Yang] 2002-03 +ezrelay 10103/udp # eZrelay [Albert_C_Yang] [Albert_C_Yang] 2002-03 +swdtp 10104/tcp # Systemwalker Desktop Patrol [Akira_Ide] [Akira_Ide] 2006-09 +swdtp 10104/udp # Systemwalker Desktop Patrol [Akira_Ide] [Akira_Ide] 2006-09 +# 10105-10106 Unassigned +bctp-server 10107/tcp # VERITAS BCTP, server [Saugata_Guha] [Saugata_Guha] 2004-05 +bctp-server 10107/udp # VERITAS BCTP, server [Saugata_Guha] [Saugata_Guha] 2004-05 +# 10108-10109 Unassigned +nmea-0183 10110/tcp # NMEA-0183 Navigational Data [Meindert_Sprang] [Meindert_Sprang] 2009-02-18 +nmea-0183 10110/udp # NMEA-0183 Navigational Data [Meindert_Sprang] [Meindert_Sprang] 2009-02-18 +# 10111 tcp Reserved +nmea-onenet 10111/udp # NMEA OneNet multicast [National_Marine_Electronics_Association] [Steve_Spitzer] 2011-09-15 +# 10112 Unassigned +netiq-endpoint 10113/tcp # NetIQ Endpoint [John_Wood] [John_Wood] +netiq-endpoint 10113/udp # NetIQ Endpoint [John_Wood] [John_Wood] +netiq-qcheck 10114/tcp # NetIQ Qcheck [Michael_Sharpe] [Michael_Sharpe] 2010-09-14 +netiq-qcheck 10114/udp # NetIQ Qcheck [Michael_Sharpe] [Michael_Sharpe] 2010-09-14 +netiq-endpt 10115/tcp # NetIQ Endpoint [Gary_Weichinger] [Gary_Weichinger] +netiq-endpt 10115/udp # NetIQ Endpoint [Gary_Weichinger] [Gary_Weichinger] +netiq-voipa 10116/tcp # NetIQ VoIP Assessor [Gary_Weichinger] [Gary_Weichinger] +netiq-voipa 10116/udp # NetIQ VoIP Assessor [Gary_Weichinger] [Gary_Weichinger] +iqrm 10117/tcp # NetIQ IQCResource Managament [Michael_Sharpe] [Michael_Sharpe] 2010-09-14 +# Svc +iqrm 10117/udp # NetIQ IQCResource Managament [Michael_Sharpe] [Michael_Sharpe] 2010-09-14 +# 10118-10127 Unassigned +bmc-perf-sd 10128/tcp # BMC-PERFORM-SERVICE DAEMON [Portnoy_Boxman] [Portnoy_Boxman] +bmc-perf-sd 10128/udp # BMC-PERFORM-SERVICE DAEMON [Portnoy_Boxman] [Portnoy_Boxman] +bmc-gms 10129/tcp # BMC General Manager Server [Dima_Seliverstov] [Dima_Seliverstov] 2009-07-28 +# 10129 udp Reserved +# 10130-10159 Unassigned +qb-db-server 10160/tcp # QB Database Server [Wei_Wang] [Wei_Wang] 2005-11 +qb-db-server 10160/udp # QB Database Server [Wei_Wang] [Wei_Wang] 2005-11 +snmptls 10161/tcp # SNMP-TLS [RFC6353] +snmpdtls 10161/udp # SNMP-DTLS [RFC6353] +snmptls-trap 10162/tcp # SNMP-Trap-TLS [RFC6353] +snmpdtls-trap 10162/udp # SNMP-Trap-DTLS [RFC6353] +# 10163-10199 Unassigned +trisoap 10200/tcp # Trigence AE Soap Service [Brigitte_Gagne] [Brigitte_Gagne] 2006-08 +trisoap 10200/udp # Trigence AE Soap Service [Brigitte_Gagne] [Brigitte_Gagne] 2006-08 +rsms 10201/tcp # Remote Server Management [Patrick_H_Piper] [Patrick_H_Piper] 2009-03-06 +rscs 10201/udp # Remote Server Control and [Patrick_H_Piper] [Patrick_H_Piper] 2009-03-06 +# Test Service +# 10202-10251 Unassigned +apollo-relay 10252/tcp # Apollo Relay Port [Anthony_Carrabino] [Anthony_Carrabino] 2003-08 +apollo-relay 10252/udp # Apollo Relay Port [Anthony_Carrabino] [Anthony_Carrabino] 2003-08 +# 10253-10259 Unassigned +axis-wimp-port 10260/tcp # Axis WIMP Port [Stefan_Eriksson] [Stefan_Eriksson] +axis-wimp-port 10260/udp # Axis WIMP Port [Stefan_Eriksson] [Stefan_Eriksson] +# 10261-10287 Unassigned +blocks 10288/tcp # Blocks [Carl_Malamud] [Carl_Malamud] +blocks 10288/udp # Blocks [Carl_Malamud] [Carl_Malamud] +# 10289-10320 Unassigned +cosir 10321/tcp # Computer Op System [Kevin_C_Barber] [Kevin_C_Barber] 2009-01-13 +# Information Report +# 10321 udp Reserved +# 10322-10499 Unassigned +# 10500 tcp Reserved +hip-nat-t 10500/udp # HIP NAT-Traversal [Ari_Keranen] [Ari_Keranen] [RFC5770] +# 10501-10539 Unassigned +MOS-lower 10540/tcp # MOS Media Object Metadata [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-lower 10540/udp # MOS Media Object Metadata [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-upper 10541/tcp # MOS Running Order Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-upper 10541/udp # MOS Running Order Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-aux 10542/tcp # MOS Low Priority Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-aux 10542/udp # MOS Low Priority Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-soap 10543/tcp # MOS SOAP Default Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-soap 10543/udp # MOS SOAP Default Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-soap-opt 10544/tcp # MOS SOAP Optional Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +MOS-soap-opt 10544/udp # MOS SOAP Optional Port [Eric_Thorniley] [Eric_Thorniley] 2007-09-17 +# 10545-10630 Unassigned +# Port to allow for +# administration and control +printopia 10631/tcp # of "Printopia" application [Ecamm_Network_LLC] [Chris_Kent] 2011-10-24 +# software, which provides +# printing services to mobile +# users +# 10631 udp Reserved +# 10632-10799 Unassigned +gap 10800/tcp # Gestor de Acaparamiento para [Juan_Carlos_Olivares] [Juan_Carlos_Olivares] 2006-03 +# Pocket PCs +gap 10800/udp # Gestor de Acaparamiento para [Juan_Carlos_Olivares] [Juan_Carlos_Olivares] 2006-03 +# 10801-10804 Unassigned +lpdg 10805/tcp # LUCIA Pareja Data Group [Alvaro_P_Dominguez] [Alvaro_P_Dominguez] 2006-02 +lpdg 10805/udp # LUCIA Pareja Data Group [Alvaro_P_Dominguez] [Alvaro_P_Dominguez] 2006-02 +# 10806-10808 Unassigned +nbd 10809/tcp # Linux Network Block Device [Wouter_Verhelst] [Wouter_Verhelst] 2010-08-02 +# 10809 udp Reserved +# 10810 tcp Reserved +nmc-disc 10810/udp # Nuance Mobile Care Discovery [Gordon_Waddell] [Gordon_Waddell] 2011-03-21 +# 10811-10859 Unassigned +helix 10860/tcp # Helix Client/Server [Matthew_Strange][Larry_Atkin_2] [Matthew_Strange][Larry_Atkin_2] 2009-03-06 +helix 10860/udp # Helix Client/Server [Matthew_Strange][Larry_Atkin_2] [Matthew_Strange][Larry_Atkin_2] 2009-03-06 +# 10861-10879 Unassigned +bveapi 10880/tcp # BVEssentials HTTP API [Tri_Tech_Computers_Ltd] [James_Emerton] 2012-11-19 +bveapi 10880/udp # BVEssentials HTTP API [Tri_Tech_Computers_Ltd] [James_Emerton] 2012-11-19 +# 10881-10989 Unassigned +rmiaux 10990/tcp # Auxiliary RMI Port [Eugen_Bacic_2] [Eugen_Bacic_2] +rmiaux 10990/udp # Auxiliary RMI Port [Eugen_Bacic_2] [Eugen_Bacic_2] +# 10991-10999 Unassigned +irisa 11000/tcp # IRISA [V_A_Brauner] [V_A_Brauner] +irisa 11000/udp # IRISA [V_A_Brauner] [V_A_Brauner] +metasys 11001/tcp # Metasys [Tobin_Schuster] [Tobin_Schuster] +metasys 11001/udp # Metasys [Tobin_Schuster] [Tobin_Schuster] +# 11002-11103 Unassigned +netapp-icmgmt 11104/tcp # NetApp Intercluster [Craig_Everhart] [Craig_Everhart] 2010-07-06 +# 11104 udp Reserved +netapp-icdata 11105/tcp # NetApp Intercluster Data [Craig_Everhart] [Craig_Everhart] 2010-07-06 +# 11105 udp Reserved +sgi-lk 11106/tcp # SGI LK Licensing service [Michel_Bourget] [Michel_Bourget] 2009-01-06 +sgi-lk 11106/udp # SGI LK Licensing service [Michel_Bourget] [Michel_Bourget] 2009-01-06 +# 11107-11108 Unassigned +# Data migration facility +sgi-dmfmgr 11109/tcp # Manager (DMF) is a browser [SGI] [John_Sygulla] 2013-01-07 +# based interface to DMF +# 11109 udp Reserved +sgi-soap 11110/tcp # (DMF) SOAP is a web server [SGI] [John_Sygulla] 2013-01-07 +# protocol to support remote +# access to DMF +# 11110 udp Reserved +vce 11111/tcp # Viral Computing Environment [Fred_Cohen] [Fred_Cohen] +# (VCE) +vce 11111/udp # Viral Computing Environment [Fred_Cohen] [Fred_Cohen] +dicom 11112/tcp # DICOM [David_Clunie] [David_Clunie] 2005-08 +dicom 11112/udp # DICOM [David_Clunie] [David_Clunie] 2005-08 +# 11113-11160 Unassigned +suncacao-snmp 11161/tcp # sun cacao snmp access point [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-snmp 11161/udp # sun cacao snmp access point [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-jmxmp 11162/tcp # sun cacao JMX-remoting [Nick_Stephen] [Nick_Stephen] 2005-08 +# access point +suncacao-jmxmp 11162/udp # sun cacao JMX-remoting [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-rmi 11163/tcp # sun cacao rmi registry [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-rmi 11163/udp # sun cacao rmi registry [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-csa 11164/tcp # sun cacao command-streaming [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-csa 11164/udp # sun cacao command-streaming [Nick_Stephen] [Nick_Stephen] 2005-08 +suncacao-websvc 11165/tcp # sun cacao web service access [Nick_Stephen] [Nick_Stephen] 2005-08 +# point +suncacao-websvc 11165/udp # sun cacao web service access [Nick_Stephen] [Nick_Stephen] 2005-08 +# 11166-11170 Unassigned +# 11171 tcp Reserved +snss 11171/udp # Surgical Notes Security [David_Lethe] [David_Lethe] 2010-12-24 +# Service Discovery (SNSS) +oemcacao-jmxmp 11172/tcp # OEM cacao JMX-remoting [David_Sechrest] [David_Sechrest] 2010-09-22 +# 11172 udp Reserved +t5-straton 11173/tcp # Straton Runtime Programing [COPALP] [Jerome_FOLLUT] 2012-03-01 +# 11173 udp Reserved +oemcacao-rmi 11174/tcp # OEM cacao rmi registry [David_Sechrest] [David_Sechrest] 2010-09-22 +# 11174 udp Reserved +oemcacao-websvc 11175/tcp # OEM cacao web service access [David_Sechrest] [David_Sechrest] 2010-09-22 +# 11175 udp Reserved +# 11176-11200 Unassigned +smsqp 11201/tcp # smsqp [Andres_Seco_Hernande] [Andres_Seco_Hernande] +smsqp 11201/udp # smsqp [Andres_Seco_Hernande] [Andres_Seco_Hernande] +dcsl-backup 11202/tcp # DCSL Network Backup Services [John_Reynolds] [John_Reynolds] 2012-04-17 Defined TXT keys: DCSL-Service +# 11202 udp Reserved +# 11203-11207 Unassigned +wifree 11208/tcp # WiFree Service [Jose_Luis_Martin_Pei] [Jose_Luis_Martin_Pei] 2006-03 +wifree 11208/udp # WiFree Service [Jose_Luis_Martin_Pei] [Jose_Luis_Martin_Pei] 2006-03 +# 11209-11210 Unassigned +memcache 11211/tcp # Memory cache service [Trond_Norbye] [Trond_Norbye] 2009-02-09 +memcache 11211/udp # Memory cache service [Trond_Norbye] [Trond_Norbye] 2009-02-09 +# 11212-11318 Unassigned +imip 11319/tcp # IMIP [Len_Zuvela] [Len_Zuvela] +imip 11319/udp # IMIP [Len_Zuvela] [Len_Zuvela] +imip-channels 11320/tcp # IMIP Channels Port [Len_Zuvela_2] [Len_Zuvela_2] +imip-channels 11320/udp # IMIP Channels Port [Len_Zuvela_2] [Len_Zuvela_2] +arena-server 11321/tcp # Arena Server Listen [Earl_Brannigan] [Earl_Brannigan] +arena-server 11321/udp # Arena Server Listen [Earl_Brannigan] [Earl_Brannigan] +# 11322-11366 Unassigned +atm-uhas 11367/tcp # ATM UHAS [Todd_Barker] [Todd_Barker] +atm-uhas 11367/udp # ATM UHAS [Todd_Barker] [Todd_Barker] +# 11368-11370 Unassigned +hkp 11371/tcp # OpenPGP HTTP Keyserver [David_Shaw] [David_Shaw] 2003-05 +hkp 11371/udp # OpenPGP HTTP Keyserver [David_Shaw] [David_Shaw] 2003-05 +# 11372-11488 Unassigned USE: port +# 11488 by ASG +# Cypress +asgcypresstcps 11489/tcp # ASG Cypress Secure Only [David_Luxford] [David_Luxford] 2010-07-01 +# 11489 udp Reserved +# 11490-11599 Unassigned +tempest-port 11600/tcp # Tempest Protocol Port [Francis_Cianfrocca] [Francis_Cianfrocca] +tempest-port 11600/udp # Tempest Protocol Port [Francis_Cianfrocca] [Francis_Cianfrocca] +# 11601-11719 Unassigned +h323callsigalt 11720/tcp # H.323 Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +# Signalling Alternate +h323callsigalt 11720/udp # H.323 Call Control [ITU-T] [ITU-T_TSB] 2013-01-31 +# 11721-11750 Unassigned +intrepid-ssl 11751/tcp # Intrepid SSL [Robert_Eden] [Robert_Eden] 2003-03 +intrepid-ssl 11751/udp # Intrepid SSL [Robert_Eden] [Robert_Eden] 2003-03 +# 11752-11795 Unassigned +lanschool 11796/tcp # LanSchool [Stoneware_Inc] [Dana_Doggett] 2012-05-18 +lanschool-mpt 11796/udp # Lanschool Multipoint [Stoneware_Inc] [Dana_Doggett] 2012-05-18 +# 11797-11875 Unassigned +xoraya 11876/tcp # X2E Xoraya Multichannel [Hannes_K] [Hannes_K] 2010-09-13 +xoraya 11876/udp # X2E Xoraya Multichannel [Hannes_K] [Hannes_K] 2010-09-13 +# 11877 tcp Reserved +x2e-disc 11877/udp # X2E service discovery [Hannes_K] [Hannes_K] 2010-09-13 +# 11878-11966 Unassigned +sysinfo-sp 11967/tcp # SysInfo Service Protocol [Mike_Cooper] [Mike_Cooper] 2003-03 +sysinfo-sp 11967/udp # SysInfo Sercice Protocol [Mike_Cooper] [Mike_Cooper] 2003-03 +# 11968-11996 Unassigned +wmereceiving 11997/sctp # WorldMailExpress [Greg_Foutz] [Greg_Foutz] 2006-03 +wmedistribution 11998/sctp # WorldMailExpress [Greg_Foutz] [Greg_Foutz] 2006-03 +wmereporting 11999/sctp # WorldMailExpress [Greg_Foutz] [Greg_Foutz] 2006-03 +entextxid 12000/tcp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +# XID Exchange +entextxid 12000/udp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +entextnetwk 12001/tcp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +# COS Network Priority +entextnetwk 12001/udp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +entexthigh 12002/tcp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +# COS High Priority +entexthigh 12002/udp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +entextmed 12003/tcp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +# COS Medium Priority +entextmed 12003/udp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +entextlow 12004/tcp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +# COS Low Priority +entextlow 12004/udp # IBM Enterprise Extender SNA [Eugene_Cox] [Eugene_Cox] +dbisamserver1 12005/tcp # DBISAM Database Server - [Tim_Young] [Tim_Young] 2002-05 +# Regular +dbisamserver1 12005/udp # DBISAM Database Server - [Tim_Young] [Tim_Young] 2002-05 +dbisamserver2 12006/tcp # DBISAM Database Server - [Tim_Young] [Tim_Young] 2002-05 +# Admin +dbisamserver2 12006/udp # DBISAM Database Server - [Tim_Young] [Tim_Young] 2002-05 +accuracer 12007/tcp # Accuracer Database System [Alexander_V_Ivanov] [Alexander_V_Ivanov] 2004-12 +accuracer 12007/udp # Accuracer Database System [Alexander_V_Ivanov] [Alexander_V_Ivanov] 2004-12 +accuracer-dbms 12008/tcp # Accuracer Database System [Alexander_V_Ivanov] [Alexander_V_Ivanov] 2004-12 +accuracer-dbms 12008/udp # Accuracer Database System [Alexander_V_Ivanov] [Alexander_V_Ivanov] 2004-12 +# 12009 tcp Reserved +ghvpn 12009/udp # Green Hills VPN [Green_Hills_Software] [Tom_R_Zavisca] 2012-02-07 +edbsrvr 12010/tcp # ElevateDB Server [Tim_Young] [Tim_Young] 2009-05-06 +# 12010 udp Reserved +# 12011 Unassigned +vipera 12012/tcp # Vipera Messaging Service [Silvano_Maffeis_2] [Silvano_Maffeis_2] 2005-08 +vipera 12012/udp # Vipera Messaging Service [Silvano_Maffeis_2] [Silvano_Maffeis_2] 2005-08 +vipera-ssl 12013/tcp # Vipera Messaging Service [Silvano_Maffeis_2] [Silvano_Maffeis_2] 2008-01-16 +# over SSL Communication +vipera-ssl 12013/udp # Vipera Messaging Service [Silvano_Maffeis_2] [Silvano_Maffeis_2] 2008-01-16 +# 12014-12108 Unassigned +rets-ssl 12109/tcp # RETS over SSL [Bruce_Toback] [Bruce_Toback] 2003-02 +rets-ssl 12109/udp # RETS over SSL [Bruce_Toback] [Bruce_Toback] 2003-02 +# 12110-12120 Unassigned +nupaper-ss 12121/tcp # NuPaper Session Service [David_Warden_2] [David_Warden_2] 2005-11 +nupaper-ss 12121/udp # NuPaper Session Service [David_Warden_2] [David_Warden_2] 2005-11 +# 12122-12167 Unassigned +cawas 12168/tcp # CA Web Access Service [Jon_Press] [Jon_Press] 2005-08 +cawas 12168/udp # CA Web Access Service [Jon_Press] [Jon_Press] 2005-08 +# 12169-12171 Unassigned +hivep 12172/tcp # HiveP [Dick_Augustsson] [Dick_Augustsson] +hivep 12172/udp # HiveP [Dick_Augustsson] [Dick_Augustsson] +# 12173-12299 Unassigned +linogridengine 12300/tcp # LinoGrid Engine [Frans_Lundberg] [Frans_Lundberg] 2004-11 +linogridengine 12300/udp # LinoGrid Engine [Frans_Lundberg] [Frans_Lundberg] 2004-11 +# 12301 Unassigned +# Remote Administration Daemon +# (RAD) is a system service +rads 12302/tcp # that offers secure, remote, [Oracle] [Devjani_Ray] 2012-04-20 +# programmatic access to +# Solaris system configuration +# and run-time state +# 12302 udp Reserved +# 12303-12320 Unassigned +warehouse-sss 12321/tcp # Warehouse Monitoring Syst [Craig_Steffen] [Craig_Steffen] 2005-08 +# SSS +warehouse-sss 12321/udp # Warehouse Monitoring Syst [Craig_Steffen] [Craig_Steffen] 2005-08 +warehouse 12322/tcp # Warehouse Monitoring Syst [Craig_Steffen] [Craig_Steffen] 2005-08 +warehouse 12322/udp # Warehouse Monitoring Syst [Craig_Steffen] [Craig_Steffen] 2005-08 +# 12323-12344 Unassigned +italk 12345/tcp # Italk Chat System [Takayuki_Ito] [Takayuki_Ito] +italk 12345/udp # Italk Chat System [Takayuki_Ito] [Takayuki_Ito] +# 12346-12752 Unassigned +tsaf 12753/tcp # tsaf port [Andreas_Fehr] [Andreas_Fehr] +tsaf 12753/udp # tsaf port [Andreas_Fehr] [Andreas_Fehr] +# 12754-13159 Unassigned +i-zipqd 13160/tcp # I-ZIPQD [Chuck_Runquist] [Chuck_Runquist] +i-zipqd 13160/udp # I-ZIPQD [Chuck_Runquist] [Chuck_Runquist] +# 13161-13215 Unassigned +bcslogc 13216/tcp # Black Crow Software [Ramindur_Singh] [Ramindur_Singh] 2008-12-04 +# application logging +bcslogc 13216/udp # Black Crow Software [Ramindur_Singh] [Ramindur_Singh] 2008-12-04 +rs-pias 13217/tcp # R&S Proxy Installation [Guido_Kiener] [Guido_Kiener] 2008-12-04 +# Assistant Service +rs-pias 13217/udp # R&S Proxy Installation [Guido_Kiener] [Guido_Kiener] 2008-12-04 +emc-vcas-tcp 13218/tcp # EMC Virtual CAS Service +emc-vcas-udp 13218/udp # EMV Virtual CAS Service [Mark_O_Connell] [Mark_O_Connell] 2008-12-04 +# 13219-13222 Unassigned +powwow-client 13223/tcp # PowWow Client [Paul_K_Peterson] [Paul_K_Peterson] +powwow-client 13223/udp # PowWow Client [Paul_K_Peterson] [Paul_K_Peterson] +powwow-server 13224/tcp # PowWow Server [Paul_K_Peterson] [Paul_K_Peterson] +powwow-server 13224/udp # PowWow Server [Paul_K_Peterson] [Paul_K_Peterson] +# 13225-13399 Unassigned +doip-data 13400/tcp # DoIP Data [Joerg_Schneider] [Joerg_Schneider] 2011-01-26 +doip-disc 13400/udp # DoIP Discovery [Joerg_Schneider] [Joerg_Schneider] 2011-01-26 +# 13401-13719 Unassigned +bprd 13720/tcp # BPRD Protocol (VERITAS [Jeff_Holmbeck] [Jeff_Holmbeck] +# NetBackup) +bprd 13720/udp # BPRD Protocol (VERITAS [Jeff_Holmbeck] [Jeff_Holmbeck] +bpdbm 13721/tcp # BPDBM Protocol (VERITAS [Jeff_Holmbeck] [Jeff_Holmbeck] +bpdbm 13721/udp # BPDBM Protocol (VERITAS [Jeff_Holmbeck] [Jeff_Holmbeck] +bpjava-msvc 13722/tcp # BP Java MSVC Protocol [Tim_Schmidt] [Tim_Schmidt] +bpjava-msvc 13722/udp # BP Java MSVC Protocol [Tim_Schmidt] [Tim_Schmidt] +# 13723 Unassigned +vnetd 13724/tcp # Veritas Network Utility [Jeff_Holmbeck] [Jeff_Holmbeck] +vnetd 13724/udp # Veritas Network Utility [Jeff_Holmbeck] [Jeff_Holmbeck] +# 13725-13781 Unassigned +bpcd 13782/tcp # VERITAS NetBackup [Jeff_Holmbeck] [Jeff_Holmbeck] +bpcd 13782/udp # VERITAS NetBackup [Jeff_Holmbeck] [Jeff_Holmbeck] +vopied 13783/tcp # VOPIED Protocol [Jeff_Holmbeck] [Jeff_Holmbeck] +vopied 13783/udp # VOPIED Protocol [Jeff_Holmbeck] [Jeff_Holmbeck] +# 13784 Unassigned +nbdb 13785/tcp # NetBackup Database [Pat_Tovo] [Pat_Tovo] 2004-12 +nbdb 13785/udp # NetBackup Database [Pat_Tovo] [Pat_Tovo] 2004-12 +nomdb 13786/tcp # Veritas-nomdb [Clayton_Haapala] [Clayton_Haapala] 2005-08 +nomdb 13786/udp # Veritas-nomdb [Clayton_Haapala] [Clayton_Haapala] 2005-08 +# 13787-13817 Unassigned +dsmcc-config 13818/tcp # DSMCC Config [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +# DSM-CC] +dsmcc-config 13818/udp # DSMCC Config [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-session 13819/tcp # DSMCC Session Messages [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-session 13819/udp # DSMCC Session Messages [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-passthru 13820/tcp # DSMCC Pass-Thru Messages [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-passthru 13820/udp # DSMCC Pass-Thru Messages [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-download 13821/tcp # DSMCC Download Protocol [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-download 13821/udp # DSMCC Download Protocol [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +dsmcc-ccp 13822/tcp # DSMCC Channel Change [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +# Protocol DSM-CC] +dsmcc-ccp 13822/udp # DSMCC Channel Change [Tim_Addington] [Tim_Addington] [ISO/IEC 13818-6 MPEG-2 +bmdss 13823/tcp # Blackmagic Design Streaming [Sam_Vaughan] [Sam_Vaughan] 2011-03-01 +# 13823 udp Reserved +# 13824-13893 Unassigned +ucontrol 13894/tcp # Ultimate Control [NEGU_Soft] [borja_lopez_urkidi] 2012-09-10 +# communication protocol +ucontrol 13894/udp # Ultimate Control [NEGU_Soft] [borja_lopez_urkidi] 2012-09-10 +# 13895-13928 Unassigned +dta-systems 13929/tcp # D-TA SYSTEMS [Alexis_Bose] [Alexis_Bose] 2008-12-08 +dta-systems 13929/udp # D-TA SYSTEMS [Alexis_Bose] [Alexis_Bose] 2008-12-08 +medevolve 13930/tcp # MedEvolve Port Requester [Jon_Robertson] [Jon_Robertson] 2008-10-24 +# 13930 udp Reserved +# 13931-13999 Unassigned +scotty-ft 14000/tcp # SCOTTY High-Speed [Patrick_Verbeek] [Patrick_Verbeek] 2007-05 +# Filetransfer +scotty-ft 14000/udp # SCOTTY High-Speed [Patrick_Verbeek] [Patrick_Verbeek] 2007-05 +sua 14001/tcp # SUA [Miguel_Angel_Garcia] [Miguel_Angel_Garcia] +sua 14001/udp # De-Registered [Miguel_Angel_Garcia] [Miguel_Angel_Garcia] 2001-06-06 +sua 14001/sctp # SUA [Miguel_Angel_Garcia] [Miguel_Angel_Garcia] +scotty-disc 14002/udp # Discovery of a SCOTTY [SCOTTY_Group_SE] [Patrick_Verbeek_2] 2013-01-14 +# hardware codec board +# 14002 tcp Reserved +# 14003-14032 Unassigned +sage-best-com1 14033/tcp # sage Best! Config Server 1 [Christian_Rubach] [Christian_Rubach] +sage-best-com1 14033/udp # sage Best! Config Server 1 [Christian_Rubach] [Christian_Rubach] +sage-best-com2 14034/tcp # sage Best! Config Server 2 [Christian_Rubach] [Christian_Rubach] +sage-best-com2 14034/udp # sage Best! Config Server 2 [Christian_Rubach] [Christian_Rubach] +# 14035-14140 Unassigned +vcs-app 14141/tcp # VCS Application [Ming_Xu] [Ming_Xu] +vcs-app 14141/udp # VCS Application [Ming_Xu] [Ming_Xu] +icpp 14142/tcp # IceWall Cert Protocol [Tsutomu_Fujinami] [Tsutomu_Fujinami] 2005-08 +icpp 14142/udp # IceWall Cert Protocol [Tsutomu_Fujinami] [Tsutomu_Fujinami] 2005-08 +# 14143-14144 Unassigned +gcm-app 14145/tcp # GCM Application [Ming_Xu] [Ming_Xu] +gcm-app 14145/udp # GCM Application [Ming_Xu] [Ming_Xu] +# 14146-14148 Unassigned +vrts-tdd 14149/tcp # Veritas Traffic Director [Sameer_Deokule] [Sameer_Deokule] 2002-03 +vrts-tdd 14149/udp # Veritas Traffic Director [Sameer_Deokule] [Sameer_Deokule] 2002-03 +vcscmd 14150/tcp # Veritas Cluster Server [Anand_Bhalerao] [Anand_Bhalerao] 2008-10-02 +# Command Server +# 14150 udp Reserved +# 14151-14153 Unassigned +vad 14154/tcp # Veritas Application Director [Rajeev_Verma] [Rajeev_Verma] 2006-02 +vad 14154/udp # Veritas Application Director [Rajeev_Verma] [Rajeev_Verma] 2006-02 +# 14155-14249 Unassigned +cps 14250/tcp # Fencing Server [Mayank_Vasa] [Mayank_Vasa] 2008-04-03 +cps 14250/udp # Fencing Server [Mayank_Vasa] [Mayank_Vasa] 2008-04-03 +# 14251-14413 Unassigned +ca-web-update 14414/tcp # CA eTrust Web Update Service [Robert_Ciochon] [Robert_Ciochon] 2006-08 +ca-web-update 14414/udp # CA eTrust Web Update Service [Robert_Ciochon] [Robert_Ciochon] 2006-08 +# 14415-14935 Unassigned +hde-lcesrvr-1 14936/tcp # hde-lcesrvr-1 [Horizon_Digital_Ente] [Horizon_Digital_Ente] +hde-lcesrvr-1 14936/udp # hde-lcesrvr-1 [Horizon_Digital_Ente] [Horizon_Digital_Ente] +hde-lcesrvr-2 14937/tcp # hde-lcesrvr-2 [Horizon_Digital_Ente] [Horizon_Digital_Ente] +hde-lcesrvr-2 14937/udp # hde-lcesrvr-2 [Horizon_Digital_Ente] [Horizon_Digital_Ente] +# 14938-14999 Unassigned +hydap 15000/tcp # Hypack Data Aquisition [HYPACK_Inc] [Mircea_Neacsu] 2011-10-27 +hydap 15000/udp # Hypack Data Aquisition [HYPACK_Inc] [Mircea_Neacsu] 2011-10-27 +# 15001-15117 Unassigned +# 15118 tcp Reserved +# v2g Supply Equipment +v2g-secc 15118/udp # Communication Controller [Holger_Lochner] [Holger_Lochner] 2011-04-06 +# 15119-15344 Unassigned +xpilot 15345/tcp # XPilot Contact Port [Bert_Gijsbers] [Bert_Gijsbers] +xpilot 15345/udp # XPilot Contact Port [Bert_Gijsbers] [Bert_Gijsbers] +# 15346-15362 Unassigned +3link 15363/tcp # 3Link Negotiation [Brant_Thomsen] [Brant_Thomsen] 2003-01 +3link 15363/udp # 3Link Negotiation [Brant_Thomsen] [Brant_Thomsen] 2003-01 +# 15364-15554 Unassigned +cisco-snat 15555/tcp # Cisco Stateful NAT [Kaushik_Biswas] [Kaushik_Biswas] 2006-03 +cisco-snat 15555/udp # Cisco Stateful NAT [Kaushik_Biswas] [Kaushik_Biswas] 2006-03 +# 15556-15659 Unassigned +bex-xr 15660/tcp # Backup Express Restore [Chi_Shih_Chang] [Chi_Shih_Chang] 2008-03-19 +bex-xr 15660/udp # Backup Express Restore [Chi_Shih_Chang] [Chi_Shih_Chang] 2008-03-19 +# 15661-15739 Unassigned +ptp 15740/tcp # Picture Transfer Protocol [Petronel_Bigioi] [Petronel_Bigioi] 2004-11 Defined TXT keys: guid= +ptp 15740/udp # Picture Transfer Protocol [Petronel_Bigioi] [Petronel_Bigioi] 2004-11 Defined TXT keys: guid= +# 15741-15997 Unassigned +# 15998 tcp Reserved +2ping 15998/udp # 2ping Bi-Directional Ping [Ryan_Finnie] [Ryan_Finnie] 2010-10-06 +programmar 15999/tcp # ProGrammar Enterprise [Norman_Wilson] [Norman_Wilson] 2010-10-06 +# 15999 udp Reserved +fmsas 16000/tcp # Administration Server Access [Mark_Davidson] [Mark_Davidson] 2010-10-06 +# 16000 udp Reserved +fmsascon 16001/tcp # Administration Server [Mark_Davidson] [Mark_Davidson] 2010-10-06 +# Connector +# 16001 udp Reserved +gsms 16002/tcp # GoodSync Mediation Service [Vadim_Maslov] [Vadim_Maslov] 2010-10-06 +# 16002 udp Reserved +# 16003 tcp Reserved +alfin 16003/udp # Automation and Control by [Ing_Tomas_Halabala] [Ing_Tomas_Halabala] 2010-10-06 +# REGULACE.ORG +# 16004-16019 Unassigned +jwpc 16020/tcp # Filemaker Java Web [Robert_Parks] [Robert_Parks] 2010-05-12 +# Publishing Core +# 16020 udp Reserved +jwpc-bin 16021/tcp # Filemaker Java Web [Robert_Parks] [Robert_Parks] 2010-05-12 +# Publishing Core Binary +# 16021 udp Reserved +# 16022-16160 Unassigned +sun-sea-port 16161/tcp # Solaris SEA Port [Dana_Porter] [Dana_Porter] 2003-10 +sun-sea-port 16161/udp # Solaris SEA Port [Dana_Porter] [Dana_Porter] 2003-10 +solaris-audit 16162/tcp # Solaris Audit - secure [Jan_Friedel] [Jan_Friedel] 2009-05-07 +# remote audit log +# 16162 udp Reserved +# 16163-16308 Unassigned +etb4j 16309/tcp # etb4j [Christopher_R_Smith] [Christopher_R_Smith] 2004-11 +etb4j 16309/udp # etb4j [Christopher_R_Smith] [Christopher_R_Smith] 2004-11 +pduncs 16310/tcp # Policy Distribute, Update [Diane_I_Shannon] [Diane_I_Shannon] 2006-08 +pduncs 16310/udp # Policy Distribute, Update [Diane_I_Shannon] [Diane_I_Shannon] 2006-08 +pdefmns 16311/tcp # Policy definition and update [Diane_I_Shannon] [Diane_I_Shannon] 2007-04 +# management +pdefmns 16311/udp # Policy definition and update [Diane_I_Shannon] [Diane_I_Shannon] 2007-04 +# 16312-16359 Unassigned +netserialext1 16360/tcp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +# Ports One +netserialext1 16360/udp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +netserialext2 16361/tcp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +# Ports Two +netserialext2 16361/udp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +# 16362-16366 Unassigned +netserialext3 16367/tcp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +# Ports Three +netserialext3 16367/udp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +netserialext4 16368/tcp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +# Ports Four +netserialext4 16368/udp # Network Serial Extension [Michael_J_Hoy] [Michael_J_Hoy] +# 16369-16383 Unassigned +connected 16384/tcp # Connected Corp [Nicole_C_Ouellette] [Nicole_C_Ouellette] 2004-02 +connected 16384/udp # Connected Corp [Nicole_C_Ouellette] [Nicole_C_Ouellette] 2004-02 +# 16385-16618 Unassigned +xoms 16619/tcp # X509 Objects Management [Francis_GASCHET] [Francis_GASCHET] 2008-09-08 +# 16619 udp Reserved +# 16620-16665 Unassigned +# 16666 tcp Reserved +vtp 16666/udp # Vidder Tunnel Protocol [Vidder_Inc] [Ted_Schroeder_2] 2011-10-24 +# 16667-16899 Unassigned +newbay-snc-mc 16900/tcp # Newbay Mobile Client Update [Srinivasa_Nayudu] [Srinivasa_Nayudu] 2009-07-06 +newbay-snc-mc 16900/udp # Newbay Mobile Client Update [Srinivasa_Nayudu] [Srinivasa_Nayudu] 2009-07-06 +# 16901-16949 Unassigned +sgcip 16950/tcp # Simple Generic Client [John_Aquilino] [John_Aquilino] +# Interface Protocol +sgcip 16950/udp # Simple Generic Client [John_Aquilino] [John_Aquilino] +# 16951-16990 Unassigned +intel-rci-mp 16991/tcp # INTEL-RCI-MP [Jane_Dashevsky] [Jane_Dashevsky] +intel-rci-mp 16991/udp # INTEL-RCI-MP [Jane_Dashevsky] [Jane_Dashevsky] +amt-soap-http 16992/tcp # Intel(R) AMT SOAP/HTTP [David_T_Hines] [David_T_Hines] 2005-02 +amt-soap-http 16992/udp # Intel(R) AMT SOAP/HTTP [David_T_Hines] [David_T_Hines] 2005-02 +amt-soap-https 16993/tcp # Intel(R) AMT SOAP/HTTPS [David_T_Hines] [David_T_Hines] 2005-02 +amt-soap-https 16993/udp # Intel(R) AMT SOAP/HTTPS [David_T_Hines] [David_T_Hines] 2005-02 +amt-redir-tcp 16994/tcp # Intel(R) AMT Redirection/TCP [Nimrod_Diamant] [Nimrod_Diamant] 2005-02 +amt-redir-tcp 16994/udp # Intel(R) AMT Redirection/TCP [Nimrod_Diamant] [Nimrod_Diamant] 2005-02 +amt-redir-tls 16995/tcp # Intel(R) AMT Redirection/TLS [Nimrod_Diamant] [Nimrod_Diamant] 2005-02 +amt-redir-tls 16995/udp # Intel(R) AMT Redirection/TLS [Nimrod_Diamant] [Nimrod_Diamant] 2005-02 +# 16996-17006 Unassigned +isode-dua 17007/tcp +isode-dua 17007/udp +# 17008-17184 Unassigned +soundsvirtual 17185/tcp # Sounds Virtual [Richard_Snider] [Richard_Snider] +soundsvirtual 17185/udp # Sounds Virtual [Richard_Snider] [Richard_Snider] +# 17186-17218 Unassigned +chipper 17219/tcp # Chipper [Ronald_Jimmink] [Ronald_Jimmink] +chipper 17219/udp # Chipper [Ronald_Jimmink] [Ronald_Jimmink] +# 17220 Unassigned +# IEEE 1722.1 AVB Discovery, +avdecc 17221/tcp # Enumeration, Connection [IEEE_1722_1] [Jeffrey_Daniel_Koftinoff] 2011-11-01 +# management, and Control +avdecc 17221/udp # Enumeration, Connection [IEEE_1722_1] [Jeffrey_Daniel_Koftinoff] 2011-11-01 +# 17222 tcp Reserved +# Control Plane +cpsp 17222/udp # Synchronization Protocol [Randall_Stewart_2] [Randall_Stewart_2] 2011-11-10 +# (SPSP) +# 17223-17233 Unassigned +integrius-stp 17234/tcp # Integrius Secure Tunnel [Christian_Klemetsson] [Christian_Klemetsson] 2010-03-04 +integrius-stp 17234/udp # Integrius Secure Tunnel [Christian_Klemetsson] [Christian_Klemetsson] 2010-03-04 +ssh-mgmt 17235/tcp # SSH Tectia Manager [Ville_Laurikari] [Ville_Laurikari] 2005-08 +ssh-mgmt 17235/udp # SSH Tectia Manager [Ville_Laurikari] [Ville_Laurikari] 2005-08 +# 17236-17499 Unassigned +db-lsp 17500/tcp # Dropbox LanSync Protocol [Paul_Bohm] [Paul_Bohm] 2010-01-21 +db-lsp-disc 17500/udp # Dropbox LanSync Discovery [Paul_Bohm] [Paul_Bohm] 2010-01-21 +# 17501-17728 Unassigned +ea 17729/tcp # Eclipse Aviation [William_Schmidt] [William_Schmidt] 2006-03 +ea 17729/udp # Eclipse Aviation [William_Schmidt] [William_Schmidt] 2006-03 +# 17730-17753 Unassigned +zep 17754/tcp # Encap. ZigBee Packets [Fred_Fierling] [Fred_Fierling] 2006-02 +zep 17754/udp # Encap. ZigBee Packets [Fred_Fierling] [Fred_Fierling] 2006-02 +zigbee-ip 17755/tcp # ZigBee IP Transport Service [Chris_Herzog] [Chris_Herzog] 2006-05 +zigbee-ip 17755/udp # ZigBee IP Transport Service [Chris_Herzog] [Chris_Herzog] 2006-05 +zigbee-ips 17756/tcp # ZigBee IP Transport Secure [Chris_Herzog] [Chris_Herzog] 2006-05 +zigbee-ips 17756/udp # ZigBee IP Transport Secure [Chris_Herzog] [Chris_Herzog] 2006-05 +# 17757-17776 Unassigned +sw-orion 17777/tcp # SolarWinds Orion [Joel_Dolisy] [Joel_Dolisy] 2008-09-10 +# 17777 udp Reserved +# 17778-17999 Unassigned +biimenu 18000/tcp # Beckman Instruments, Inc. [R_L_Meyering] [R_L_Meyering] +biimenu 18000/udp # Beckman Instruments, Inc. [R_L_Meyering] [R_L_Meyering] +# 18001-18103 Unassigned +radpdf 18104/tcp # RAD PDF Service [Christopher_Truxaw] [Christopher_Truxaw] 2010-10-15 +# 18104 udp Reserved +# 18105-18135 Unassigned +racf 18136/tcp # z/OS Resource Access Control [Bruce_Wells] [Bruce_Wells] 2010-10-04 +# 18136 udp Reserved +# 18137-18180 Unassigned +opsec-cvp 18181/tcp # OPSEC CVP [Alon_Kantor] [Alon_Kantor] +opsec-cvp 18181/udp # OPSEC CVP [Alon_Kantor] [Alon_Kantor] +opsec-ufp 18182/tcp # OPSEC UFP [Alon_Kantor] [Alon_Kantor] +opsec-ufp 18182/udp # OPSEC UFP [Alon_Kantor] [Alon_Kantor] +opsec-sam 18183/tcp # OPSEC SAM [Alon_Kantor] [Alon_Kantor] +opsec-sam 18183/udp # OPSEC SAM [Alon_Kantor] [Alon_Kantor] +opsec-lea 18184/tcp # OPSEC LEA [Alon_Kantor] [Alon_Kantor] +opsec-lea 18184/udp # OPSEC LEA [Alon_Kantor] [Alon_Kantor] +opsec-omi 18185/tcp # OPSEC OMI [Alon_Kantor] [Alon_Kantor] +opsec-omi 18185/udp # OPSEC OMI [Alon_Kantor] [Alon_Kantor] +ohsc 18186/tcp # Occupational Health SC [David_Fudge] [David_Fudge] 2003-08 +ohsc 18186/udp # Occupational Health Sc [David_Fudge] [David_Fudge] 2003-08 +opsec-ela 18187/tcp # OPSEC ELA [Alon_Kantor] [Alon_Kantor] +opsec-ela 18187/udp # OPSEC ELA [Alon_Kantor] [Alon_Kantor] +# 18188-18240 Unassigned +checkpoint-rtm 18241/tcp # Check Point RTM [Dudi_Hazan] [Dudi_Hazan] +checkpoint-rtm 18241/udp # Check Point RTM [Dudi_Hazan] [Dudi_Hazan] +iclid 18242/tcp # Checkpoint router monitoring [Check_Point_Software] [Rahul_Bahadur] 2012-06-28 +# 18242 udp Reserved +clusterxl 18243/tcp # Checkpoint router state [Check_Point_Software] [Rahul_Bahadur] 2012-06-28 +# backup +# 18243 udp Reserved +# 18244-18261 Unassigned +gv-pf 18262/tcp # GV NetConfig Service [Scott_Libert] [Scott_Libert] 2008-01-29 +gv-pf 18262/udp # GV NetConfig Service [Scott_Libert] [Scott_Libert] 2008-01-29 +# 18263-18462 Unassigned +ac-cluster 18463/tcp # AC Cluster [Lisa_Zhong] [Lisa_Zhong] +ac-cluster 18463/udp # AC Cluster [Lisa_Zhong] [Lisa_Zhong] +# 18464-18633 Unassigned +rds-ib 18634/tcp # Reliable Datagram Service [Andy_Grover] [Andy_Grover] 2009-02-27 +rds-ib 18634/udp # Reliable Datagram Service [Andy_Grover] [Andy_Grover] 2009-02-27 +rds-ip 18635/tcp # Reliable Datagram Service [Andy_Grover] [Andy_Grover] 2009-05-20 +# over IP +rds-ip 18635/udp # Reliable Datagram Service [Andy_Grover] [Andy_Grover] 2009-05-20 +# 18636-18768 Unassigned +ique 18769/tcp # IQue Protocol [Avi_Drissman] [Avi_Drissman] 2002-07 +ique 18769/udp # IQue Protocol [Avi_Drissman] [Avi_Drissman] 2002-07 +# 18770-18880 Unassigned +infotos 18881/tcp # Infotos [Marcel_Dube] [Marcel_Dube] 2004-11 +infotos 18881/udp # Infotos [Marcel_Dube] [Marcel_Dube] 2004-11 +# 18882-18887 Unassigned +apc-necmp 18888/tcp # APCNECMP [Michael_Yip] [Michael_Yip] +apc-necmp 18888/udp # APCNECMP [Michael_Yip] [Michael_Yip] +# 18889-18999 Unassigned +igrid 19000/tcp # iGrid Server [Massimo_Cafaro] [Massimo_Cafaro] 2004-11 +igrid 19000/udp # iGrid Server [Massimo_Cafaro] [Massimo_Cafaro] 2004-11 +# 19001-19019 Unassigned +j-link 19020/tcp # J-Link TCP/IP Protocol [SEGGER] [SEGGER] +# 19020 udp Reserved +# 19021-19190 Unassigned +opsec-uaa 19191/tcp # OPSEC UAA [Reuven_Harrison] [Reuven_Harrison] +opsec-uaa 19191/udp # OPSEC UAA [Reuven_Harrison] [Reuven_Harrison] +# 19192-19193 Unassigned +ua-secureagent 19194/tcp # UserAuthority SecureAgent [Reuven_Harrison_2] [Reuven_Harrison_2] 2003-01 +ua-secureagent 19194/udp # UserAuthority SecureAgent [Reuven_Harrison_2] [Reuven_Harrison_2] 2003-01 +# 19195-19282 Unassigned +keysrvr 19283/tcp # Key Server for SASSAFRAS [Mark_Valence] [Mark_Valence] +keysrvr 19283/udp # Key Server for SASSAFRAS [Mark_Valence] [Mark_Valence] +# 19284-19314 Unassigned +keyshadow 19315/tcp # Key Shadow for SASSAFRAS [Mark_Valence] [Mark_Valence] +keyshadow 19315/udp # Key Shadow for SASSAFRAS [Mark_Valence] [Mark_Valence] +# 19316-19397 Unassigned +mtrgtrans 19398/tcp # mtrgtrans [Katsuhito_Muroi] [Katsuhito_Muroi] +mtrgtrans 19398/udp # mtrgtrans [Katsuhito_Muroi] [Katsuhito_Muroi] +# 19399-19409 Unassigned +hp-sco 19410/tcp # hp-sco [Larry_Schwartz] [Larry_Schwartz] +hp-sco 19410/udp # hp-sco [Larry_Schwartz] [Larry_Schwartz] +hp-sca 19411/tcp # hp-sca [Larry_Schwartz] [Larry_Schwartz] +hp-sca 19411/udp # hp-sca [Larry_Schwartz] [Larry_Schwartz] +hp-sessmon 19412/tcp # HP-SESSMON [Gita_Murthy] [Gita_Murthy] +hp-sessmon 19412/udp # HP-SESSMON [Gita_Murthy] [Gita_Murthy] +# 19413-19538 Unassigned +fxuptp 19539/tcp # FXUPTP [Keiji_Okuma] [Keiji_Okuma] 2005-08 +fxuptp 19539/udp # FXUPTP [Keiji_Okuma] [Keiji_Okuma] 2005-08 +sxuptp 19540/tcp # SXUPTP [Keiji_Okuma] [Keiji_Okuma] 2002-08 +sxuptp 19540/udp # SXUPTP [Keiji_Okuma] [Keiji_Okuma] 2002-08 +jcp 19541/tcp # JCP Client [Yuji_Sasaki] [Yuji_Sasaki] +jcp 19541/udp # JCP Client [Yuji_Sasaki] [Yuji_Sasaki] +# 19542-19787 Unassigned +mle 19788/udp # Mesh Link Establishment [IESG] [IETF_Chair] 2012-12-18 +# 19788 tcp Reserved +# 19789-19997 Unassigned +iec-104-sec 19998/tcp # IEC 60870-5-104 process [Grant_Gilchrist] [Grant_Gilchrist] 2010-10-18 +# control - secure +# 19998 udp Reserved +dnp-sec 19999/tcp # Distributed Network Protocol [Grant_Gilchrist] [Grant_Gilchrist] 2008-08-04 +# - Secure +dnp-sec 19999/udp # Distributed Network Protocol [Grant_Gilchrist] [Grant_Gilchrist] 2008-08-04 +dnp 20000/tcp # DNP [Michael_Thesing] [Michael_Thesing] +dnp 20000/udp # DNP [Michael_Thesing] [Michael_Thesing] +microsan 20001/tcp # MicroSAN [Thomas_E_Ludwig] [Thomas_E_Ludwig] 2004-02 +microsan 20001/udp # MicroSAN [Thomas_E_Ludwig] [Thomas_E_Ludwig] 2004-02 +commtact-http 20002/tcp # Commtact HTTP [Tomas_Svoboda] [Tomas_Svoboda] 2004-12 +commtact-http 20002/udp # Commtact HTTP [Tomas_Svoboda] [Tomas_Svoboda] 2004-12 +commtact-https 20003/tcp # Commtact HTTPS [Tomas_Svoboda] [Tomas_Svoboda] 2004-12 +commtact-https 20003/udp # Commtact HTTPS [Tomas_Svoboda] [Tomas_Svoboda] 2004-12 +# 20004 Unassigned +openwebnet 20005/tcp # OpenWebNet protocol for [BTicino_S_p_A] [BTicino_S_p_A] 2008-04-09 +# electric network +openwebnet 20005/udp # OpenWebNet protocol for [BTicino_S_p_A] [BTicino_S_p_A] 2008-04-09 +# 20006-20011 Unassigned +# 20012 tcp Reserved +ss-idi-disc 20012/udp # Samsung Interdevice [Hong_Jungkih] [Hong_Jungkih] +# Interaction discovery +ss-idi 20013/tcp # Samsung Interdevice [Hong_Jungkih] [Hong_Jungkih] +# Interaction +# 20013 udp Reserved +opendeploy 20014/tcp # OpenDeploy Listener [Todd_Scallan] [Todd_Scallan] 2005-08 +opendeploy 20014/udp # OpenDeploy Listener [Todd_Scallan] [Todd_Scallan] 2005-08 +# 20015-20033 Unassigned +# NetBurner ID Port +# +nburn-id 20034/tcp # IANA assigned this [Paul_Breed] [Paul_Breed] 2003-11 +# "nburn_id". +# This entry is an alias to "nburn-id". This entry is now +nburn_id 20034/tcp # NetBurner ID Port [Paul_Breed] [Paul_Breed] 2003-11 historic, not usable for use with many common service +# +nburn-id 20034/udp # IANA assigned this [Paul_Breed] [Paul_Breed] 2003-11 +nburn_id 20034/udp # NetBurner ID Port [Paul_Breed] [Paul_Breed] 2003-11 historic, not usable for use with many common service +# 20035-20045 Unassigned +tmophl7mts 20046/tcp # TMOP HL7 Message Transfer [Tim_Riley] [Tim_Riley] 2009-07-31 +tmophl7mts 20046/udp # TMOP HL7 Message Transfer [Tim_Riley] [Tim_Riley] 2009-07-31 +# 20047-20047 Unassigned +mountd 20048/tcp # NFS mount protocol [Nicolas_Williams] [Nicolas_Williams] 2010-08-09 +mountd 20048/udp # NFS mount protocol [Nicolas_Williams] [Nicolas_Williams] 2010-08-09 +nfsrdma 20049/tcp # Network File System (NFS) [RFC5666] +# over RDMA +nfsrdma 20049/udp # Network File System (NFS) [RFC5666] +nfsrdma 20049/sctp # Network File System (NFS) [RFC5666] +# 20050-20166 Unassigned +tolfab 20167/tcp # TOLfab Data Change [Pierre_Couderc] [Pierre_Couderc] 2006-03 +tolfab 20167/udp # TOLfab Data Change [Pierre_Couderc] [Pierre_Couderc] 2006-03 +# 20168-20201 Unassigned +ipdtp-port 20202/tcp # IPD Tunneling Port [Vikki_Yin_Wei] [Vikki_Yin_Wei] 2003-01 +ipdtp-port 20202/udp # IPD Tunneling Port [Vikki_Yin_Wei] [Vikki_Yin_Wei] 2003-01 +# 20203-20221 Unassigned +ipulse-ics 20222/tcp # iPulse-ICS [Meggie_Garica_Woodru] [Meggie_Garica_Woodru] +ipulse-ics 20222/udp # iPulse-ICS [Meggie_Garica_Woodru] [Meggie_Garica_Woodru] +# 20223-20479 Unassigned +emwavemsg 20480/tcp # emWave Message Service [Harald_Striepe] [Harald_Striepe] 2008-02-14 +emwavemsg 20480/udp # emWave Message Service [Harald_Striepe] [Harald_Striepe] 2008-02-14 +# 20481-20669 Unassigned +track 20670/tcp # Track [Michael_Sweet] [Michael_Sweet] +track 20670/udp # Track [Michael_Sweet] [Michael_Sweet] +# 20671-20998 Unassigned +athand-mmp 20999/tcp # At Hand MMP [Stepan_Riha] [Stepan_Riha] +athand-mmp 20999/udp # AT Hand MMP [Stepan_Riha] [Stepan_Riha] +irtrans 21000/tcp # IRTrans Control [Marcus_Mueller] [Marcus_Mueller] 2004-11 +irtrans 21000/udp # IRTrans Control [Marcus_Mueller] [Marcus_Mueller] 2004-11 +# 21001-21552 Unassigned +rdm-tfs 21553/tcp # Raima RDM TFS [Paul_Johnson] [Paul_Johnson] 2011-05-02 +# 21553 udp Reserved +dfserver 21554/tcp # MineScape Design File Server [Michael_Purser] [Michael_Purser] 2006-06 +dfserver 21554/udp # MineScape Design File Server [Michael_Purser] [Michael_Purser] 2006-06 +# 21555-21589 Unassigned +vofr-gateway 21590/tcp # VoFR Gateway [Marty_Borden] [Marty_Borden] +vofr-gateway 21590/udp # VoFR Gateway [Marty_Borden] [Marty_Borden] +# 21591-21799 Unassigned +tvpm 21800/tcp # TVNC Pro Multiplexing [Brian_Blevins] [Brian_Blevins] +tvpm 21800/udp # TVNC Pro Multiplexing [Brian_Blevins] [Brian_Blevins] +# 21801-21844 Unassigned +webphone 21845/tcp # webphone [Toby_Hosterman] [Toby_Hosterman] +webphone 21845/udp # webphone [Toby_Hosterman] [Toby_Hosterman] +netspeak-is 21846/tcp # NetSpeak Corp. Directory [Toby_Hosterman] [Toby_Hosterman] +netspeak-is 21846/udp # NetSpeak Corp. Directory [Toby_Hosterman] [Toby_Hosterman] +netspeak-cs 21847/tcp # NetSpeak Corp. Connection [Toby_Hosterman] [Toby_Hosterman] +netspeak-cs 21847/udp # NetSpeak Corp. Connection [Toby_Hosterman] [Toby_Hosterman] +netspeak-acd 21848/tcp # NetSpeak Corp. Automatic [Toby_Hosterman] [Toby_Hosterman] +# Call Distribution +netspeak-acd 21848/udp # NetSpeak Corp. Automatic [Toby_Hosterman] [Toby_Hosterman] +netspeak-cps 21849/tcp # NetSpeak Corp. Credit [Toby_Hosterman] [Toby_Hosterman] +# Processing System +netspeak-cps 21849/udp # NetSpeak Corp. Credit [Toby_Hosterman] [Toby_Hosterman] +# 21850-21999 Unassigned +snapenetio 22000/tcp # SNAPenetIO [Kevin_Kuhns] [Kevin_Kuhns] +snapenetio 22000/udp # SNAPenetIO [Kevin_Kuhns] [Kevin_Kuhns] +optocontrol 22001/tcp # OptoControl [Kevin_Kuhns] [Kevin_Kuhns] +optocontrol 22001/udp # OptoControl [Kevin_Kuhns] [Kevin_Kuhns] +optohost002 22002/tcp # Opto Host Port 2 [Doug_Leany] [Doug_Leany] 2006-09 +optohost002 22002/udp # Opto Host Port 2 [Doug_Leany] [Doug_Leany] 2006-09 +optohost003 22003/tcp # Opto Host Port 3 [Doug_Leany] [Doug_Leany] 2006-09 +optohost003 22003/udp # Opto Host Port 3 [Doug_Leany] [Doug_Leany] 2006-09 +optohost004 22004/tcp # Opto Host Port 4 [Doug_Leany] [Doug_Leany] 2006-09 +optohost004 22004/udp # Opto Host Port 4 [Doug_Leany] [Doug_Leany] 2006-09 +optohost004 22005/tcp # Opto Host Port 5 [Doug_Leany] [Doug_Leany] 2006-09 +optohost004 22005/udp # Opto Host Port 5 [Doug_Leany] [Doug_Leany] 2006-09 +# 22006-22124 Unassigned +dcap 22125/tcp # dCache Access Protocol [Christoph_Anton_Mitt] [Christoph_Anton_Mitt] 2009-03-10 +# 22125 udp Reserved +# 22126-22127 Unassigned +gsidcap 22128/tcp # GSI dCache Access Protocol [Christoph_Anton_Mitt] [Christoph_Anton_Mitt] 2009-03-10 +# 22128 udp Reserved +# 22129-22272 Unassigned +wnn6 22273/tcp # wnn6 [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +wnn6 22273/udp # wnn6 [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +# 22274-22304 Unassigned +cis 22305/tcp # CompactIS Tunnel [Justin_Paupore] [Justin_Paupore] 2007-08-16 +cis 22305/udp # CompactIS Tunnel [Justin_Paupore] [Justin_Paupore] 2007-08-16 +# 22306-22342 Unassigned +cis-secure 22343/tcp # CompactIS Secure Tunnel [Justin_Paupore] [Justin_Paupore] 2007-08-16 +cis-secure 22343/udp # CompactIS Secure Tunnel [Justin_Paupore] [Justin_Paupore] 2007-08-16 +# 22344-22346 Unassigned +WibuKey 22347/tcp # WibuKey Standard WkLan [Wolfgang_Voelker] [Wolfgang_Voelker] 2007-06 +WibuKey 22347/udp # WibuKey Standard WkLan [Wolfgang_Voelker] [Wolfgang_Voelker] 2007-06 +# 22348-22349 Unassigned +CodeMeter 22350/tcp # CodeMeter Standard [Wolfgang_Voelker] [Wolfgang_Voelker] 2007-06 +CodeMeter 22350/udp # CodeMeter Standard [Wolfgang_Voelker] [Wolfgang_Voelker] 2007-06 +# 22351-22536 Unassigned +caldsoft-backup 22537/tcp # CaldSoft Backup server file [CaldSoft] [Mark_Caldwell] 2011-08-12 +# transfer +# 22537 udp Reserved +# 22538-22554 Unassigned +vocaltec-wconf 22555/tcp # Vocaltec Web Conference [Scott_Petrack] [Scott_Petrack] +vocaltec-phone 22555/udp # Vocaltec Internet Phone [Scott_Petrack] [Scott_Petrack] +# 22556-22762 Unassigned +talikaserver 22763/tcp # Talika Main Server [Laxman_C_Marathe] [Laxman_C_Marathe] 2006-12 +talikaserver 22763/udp # Talika Main Server [Laxman_C_Marathe] [Laxman_C_Marathe] 2006-12 +# 22764-22799 Unassigned +aws-brf 22800/tcp # Telerate Information [Timo_Sivonen] [Timo_Sivonen] +# Platform LAN +aws-brf 22800/udp # Telerate Information [Timo_Sivonen] [Timo_Sivonen] +# 22801-22950 Unassigned +brf-gw 22951/tcp # Telerate Information [Timo_Sivonen] [Timo_Sivonen] +# Platform WAN +brf-gw 22951/udp # Telerate Information [Timo_Sivonen] [Timo_Sivonen] +# 22952-22999 Unassigned +inovaport1 23000/tcp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 1 +inovaport1 23000/udp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +inovaport2 23001/tcp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 2 +inovaport2 23001/udp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +inovaport3 23002/tcp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 3 +inovaport3 23002/udp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +inovaport4 23003/tcp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 4 +inovaport4 23003/udp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +inovaport5 23004/tcp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 5 +inovaport5 23004/udp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +inovaport6 23005/tcp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 6 +inovaport6 23005/udp # Inova LightLink Server Type [Chris_Koeritz_3] [Chris_Koeritz_3] 2006-10 +# 23006-23052 Unassigned +gntp 23053/tcp # Generic Notification [Growl_Project] [Chris_Forsythe] 2012-02-07 +# Transport Protocol +# 23053 udp Reserved +# 23054-23271 Unassigned +# 23272 tcp Reserved +s102 23272/udp # S102 application [Kimmo_Kymalainen] [Kimmo_Kymalainen] 2009-08-26 +# 23273-23332 Unassigned +elxmgmt 23333/tcp # Emulex HBAnyware Remote [Maziar_Tamadon] [Maziar_Tamadon] 2007-11-06 +elxmgmt 23333/udp # Emulex HBAnyware Remote [Maziar_Tamadon] [Maziar_Tamadon] 2007-11-06 +# 23334-23399 Unassigned +novar-dbase 23400/tcp # Novar Data [Keith_Kilroy] [Keith_Kilroy] 2006-02 +novar-dbase 23400/udp # Novar Data [Keith_Kilroy] [Keith_Kilroy] 2006-02 +novar-alarm 23401/tcp # Novar Alarm [Keith_Kilroy] [Keith_Kilroy] 2006-02 +novar-alarm 23401/udp # Novar Alarm [Keith_Kilroy] [Keith_Kilroy] 2006-02 +novar-global 23402/tcp # Novar Global [Keith_Kilroy] [Keith_Kilroy] 2006-02 +novar-global 23402/udp # Novar Global [Keith_Kilroy] [Keith_Kilroy] 2006-02 +# 23403-23455 Unassigned +aequus 23456/tcp # Aequus Service [James_Anson] [James_Anson] 2009-02-12 +# 23456 udp Reserved +aequus-alt 23457/tcp # Aequus Service Mgmt [James_Anson] [James_Anson] 2009-02-12 +# 23457 udp Reserved +# 23458-23545 Unassigned +areaguard-neo 23546/tcp # AreaGuard Neo - WebServer [SODATSW_spol] [Roman_Stepanek] 2012-05-31 +# 23546 udp Reserved +# 23547-23999 Unassigned +med-ltp 24000/tcp # med-ltp [Juergen_Fischbach] [Juergen_Fischbach] +med-ltp 24000/udp # med-ltp [Juergen_Fischbach] [Juergen_Fischbach] +med-fsp-rx 24001/tcp # med-fsp-rx [Juergen_Fischbach] [Juergen_Fischbach] +med-fsp-rx 24001/udp # med-fsp-rx [Juergen_Fischbach] [Juergen_Fischbach] +med-fsp-tx 24002/tcp # med-fsp-tx [Juergen_Fischbach] [Juergen_Fischbach] +med-fsp-tx 24002/udp # med-fsp-tx [Juergen_Fischbach] [Juergen_Fischbach] +med-supp 24003/tcp # med-supp [Juergen_Fischbach] [Juergen_Fischbach] +med-supp 24003/udp # med-supp [Juergen_Fischbach] [Juergen_Fischbach] +med-ovw 24004/tcp # med-ovw [Juergen_Fischbach] [Juergen_Fischbach] +med-ovw 24004/udp # med-ovw [Juergen_Fischbach] [Juergen_Fischbach] +med-ci 24005/tcp # med-ci [Juergen_Fischbach] [Juergen_Fischbach] +med-ci 24005/udp # med-ci [Juergen_Fischbach] [Juergen_Fischbach] +med-net-svc 24006/tcp # med-net-svc [Juergen_Fischbach] [Juergen_Fischbach] +med-net-svc 24006/udp # med-net-svc [Juergen_Fischbach] [Juergen_Fischbach] +# 24007-24241 Unassigned +filesphere 24242/tcp # fileSphere [Carl_Cedergren] [Carl_Cedergren] +filesphere 24242/udp # fileSphere [Carl_Cedergren] [Carl_Cedergren] +# 24243-24248 Unassigned +vista-4gl 24249/tcp # Vista 4GL [Mark_Itzcovitz] [Mark_Itzcovitz] +vista-4gl 24249/udp # Vista 4GL [Mark_Itzcovitz] [Mark_Itzcovitz] +# 24250-24320 Unassigned +ild 24321/tcp # Isolv Local Directory [Mitchell_Bass] [Mitchell_Bass] 2005-08 +ild 24321/udp # Isolv Local Directory [Mitchell_Bass] [Mitchell_Bass] 2005-08 +hid 24322/udp # Transport of Human Interface [Freebox_SAS] [Nicolas_Pouillon] 2012-12-14 +# Device data streams +# 24322 tcp Reserved +# 24323-24385 Unassigned +# Intel RCI +# +intel-rci 24386/tcp # IANA assigned this [Mark_Lewis_2] [Mark_Lewis_2] +# "intel_rci". +# This entry is an alias to "intel-rci". This entry is now +intel_rci 24386/tcp # Intel RCI [Mark_Lewis_2] [Mark_Lewis_2] historic, not usable for use with many common service +# +intel-rci 24386/udp # IANA assigned this [Mark_Lewis_2] [Mark_Lewis_2] +intel_rci 24386/udp # Intel RCI [Mark_Lewis_2] [Mark_Lewis_2] historic, not usable for use with many common service +# 24387-24464 Unassigned +tonidods 24465/tcp # Tonido Domain Server [Madhan_Kanagavel] [Madhan_Kanagavel] 2008-07-18 +tonidods 24465/udp # Tonido Domain Server [Madhan_Kanagavel] [Madhan_Kanagavel] 2008-07-18 +# 24466-24553 Unassigned +binkp 24554/tcp # BINKP [Max_Masyutin] [Max_Masyutin] +binkp 24554/udp # BINKP [Max_Masyutin] [Max_Masyutin] +# 24555-24675 Unassigned +canditv 24676/tcp # Canditv Message Service [Gary_Aston] [Gary_Aston] 2009-03-10 +canditv 24676/udp # Canditv Message Service [Gary_Aston] [Gary_Aston] 2009-03-10 +flashfiler 24677/tcp # FlashFiler [Ben_Oram] [Ben_Oram] +flashfiler 24677/udp # FlashFiler [Ben_Oram] [Ben_Oram] +proactivate 24678/tcp # Turbopower Proactivate [Ben_Oram] [Ben_Oram] +proactivate 24678/udp # Turbopower Proactivate [Ben_Oram] [Ben_Oram] +# 24679 Unassigned +tcc-http 24680/tcp # TCC User HTTP Service [Brian_Kennedy] [Brian_Kennedy] 2006-08 +tcc-http 24680/udp # TCC User HTTP Service [Brian_Kennedy] [Brian_Kennedy] 2006-08 +# 24681-24753 Unassigned +cslg 24754/tcp # Citrix StorageLink Gateway [Mark_Nijmeijer] [Mark_Nijmeijer] 2009-04-17 +# 24754 udp Reserved +# 24755-24849 Unassigned +# 24850 tcp Reserved +assoc-disc 24850/udp # Device Association Discovery [Microsoft_Corporation_3] [Sachin_Sheth] 2012-06-27 +# 24851-24921 Unassigned +find 24922/tcp # Find Identification of [Jean_Paul_Moreaux] [Jean_Paul_Moreaux] +# Network Devices +find 24922/udp # Find Identification of [Jean_Paul_Moreaux] [Jean_Paul_Moreaux] +# 24923-24999 Unassigned +icl-twobase1 25000/tcp # icl-twobase1 [J_A_Sever] [J_A_Sever] +icl-twobase1 25000/udp # icl-twobase1 [J_A_Sever] [J_A_Sever] +icl-twobase2 25001/tcp # icl-twobase2 [J_A_Sever] [J_A_Sever] +icl-twobase2 25001/udp # icl-twobase2 [J_A_Sever] [J_A_Sever] +icl-twobase3 25002/tcp # icl-twobase3 [J_A_Sever] [J_A_Sever] +icl-twobase3 25002/udp # icl-twobase3 [J_A_Sever] [J_A_Sever] +icl-twobase4 25003/tcp # icl-twobase4 [J_A_Sever] [J_A_Sever] +icl-twobase4 25003/udp # icl-twobase4 [J_A_Sever] [J_A_Sever] +icl-twobase5 25004/tcp # icl-twobase5 [J_A_Sever] [J_A_Sever] +icl-twobase5 25004/udp # icl-twobase5 [J_A_Sever] [J_A_Sever] +icl-twobase6 25005/tcp # icl-twobase6 [J_A_Sever] [J_A_Sever] +icl-twobase6 25005/udp # icl-twobase6 [J_A_Sever] [J_A_Sever] +icl-twobase7 25006/tcp # icl-twobase7 [J_A_Sever] [J_A_Sever] +icl-twobase7 25006/udp # icl-twobase7 [J_A_Sever] [J_A_Sever] +icl-twobase8 25007/tcp # icl-twobase8 [J_A_Sever] [J_A_Sever] +icl-twobase8 25007/udp # icl-twobase8 [J_A_Sever] [J_A_Sever] +icl-twobase9 25008/tcp # icl-twobase9 [J_A_Sever] [J_A_Sever] +icl-twobase9 25008/udp # icl-twobase9 [J_A_Sever] [J_A_Sever] +icl-twobase10 25009/tcp # icl-twobase10 [J_A_Sever] [J_A_Sever] +icl-twobase10 25009/udp # icl-twobase10 [J_A_Sever] [J_A_Sever] +# 25010-25470 Unassigned +rna 25471/sctp # RNSAP User Adaptation for [Dario_S_Tonesi] [Dario_S_Tonesi] 2011-02-07 +# Iurh +# 25472-25575 Unassigned +sauterdongle 25576/tcp # Sauter Dongle [Christian_Brecht] [Christian_Brecht] 2010-12-15 +# 25576 udp Reserved +# 25577-25603 Unassigned +idtp 25604/tcp # Identifier Tracing Protocol [Huang_Neng-geng] [Huang_Neng-geng] 2011-08-09 +# 25604 udp Reserved +# 25605-25792 Unassigned +vocaltec-hos 25793/tcp # Vocaltec Address Server [Scott_Petrack] [Scott_Petrack] +vocaltec-hos 25793/udp # Vocaltec Address Server [Scott_Petrack] [Scott_Petrack] +# 25794-25899 Unassigned +tasp-net 25900/tcp # TASP Network Comm [Martin_Ellis] [Martin_Ellis] 2004-11 +tasp-net 25900/udp # TASP Network Comm [Martin_Ellis] [Martin_Ellis] 2004-11 +niobserver 25901/tcp # NIObserver [Roman_Oliynyk] [Roman_Oliynyk] +niobserver 25901/udp # NIObserver [Roman_Oliynyk] [Roman_Oliynyk] +nilinkanalyst 25902/tcp # NILinkAnalyst [Roman_Oliynyk_2] [Roman_Oliynyk_2] 2007-08-30 +nilinkanalyst 25902/udp # NILinkAnalyst [Roman_Oliynyk_2] [Roman_Oliynyk_2] 2007-08-30 +niprobe 25903/tcp # NIProbe [Roman_Oliynyk] [Roman_Oliynyk] +niprobe 25903/udp # NIProbe [Roman_Oliynyk] [Roman_Oliynyk] +# 25904-25953 Unassigned +bf-game 25954/udp # Bitfighter game server [Christopher_Eykamp] [Christopher_Eykamp] 2012-08-16 +# 25954 tcp Reserved +bf-master 25955/udp # Bitfighter master server [Christopher_Eykamp] [Christopher_Eykamp] 2012-08-16 +# 25955 tcp Reserved +# 25956-25999 Unassigned +quake 26000/tcp # quake [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +quake 26000/udp # quake [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +# 26001-26132 Unassigned +# Symbolic Computation +scscp 26133/tcp # Software Composability [Alexander_Konovalov] [Alexander_Konovalov] 2007-11-27 +scscp 26133/udp # Software Composability [Alexander_Konovalov] [Alexander_Konovalov] 2007-11-27 +# 26134-26207 Unassigned +wnn6-ds 26208/tcp # wnn6-ds [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +wnn6-ds 26208/udp # wnn6-ds [Yasunari_Gon_Yamasit] [Yasunari_Gon_Yamasit] +# 26209-26259 Unassigned +ezproxy 26260/tcp # eZproxy [Albert_C_Yang] [Albert_C_Yang] +ezproxy 26260/udp # eZproxy [Albert_C_Yang] [Albert_C_Yang] +ezmeeting 26261/tcp # eZmeeting [Albert_C_Yang] [Albert_C_Yang] +ezmeeting 26261/udp # eZmeeting [Albert_C_Yang] [Albert_C_Yang] +k3software-svr 26262/tcp # K3 Software-Server [Jim_Baldridge] [Jim_Baldridge] +k3software-svr 26262/udp # K3 Software-Server [Jim_Baldridge] [Jim_Baldridge] +k3software-cli 26263/tcp # K3 Software-Client [Jim_Baldridge] [Jim_Baldridge] +k3software-cli 26263/udp # K3 Software-Client [Jim_Baldridge] [Jim_Baldridge] +# 26264 De-registered 2006-04-06 +# 26265-26485 Unassigned +exoline-tcp 26486/tcp # EXOline-TCP [Lars_Mattsson] [Lars_Mattsson] 2008-12-24 +exoline-udp 26486/udp # EXOline-UDP [Lars_Mattsson] [Lars_Mattsson] 2008-12-24 +exoconfig 26487/tcp # EXOconfig [Urban_Fosseus] [Urban_Fosseus] 2008-12-24 +exoconfig 26487/udp # EXOconfig [Urban_Fosseus] [Urban_Fosseus] 2008-12-24 +# 26488 Unassigned +exonet 26489/tcp # EXOnet [Urban_Fosseus] [Urban_Fosseus] 2008-12-24 +exonet 26489/udp # EXOnet [Urban_Fosseus] [Urban_Fosseus] 2008-12-24 +# 26490-26999 Unassigned +# flex-lm 27000-27009 FLEX LM (1-10) [Daniel_Birns] [Daniel_Birns] +# Use Known on +# 27010-27344 Unassigned ports 27017, +# 27018 and +# 27019 +imagepump 27345/tcp # ImagePump [Richard_Minner] [Richard_Minner] +imagepump 27345/udp # ImagePump [Richard_Minner] [Richard_Minner] +# 27346-27441 Unassigned +jesmsjc 27442/tcp # Job controller service [Chris_Newman] [Chris_Newman] 2010-10-15 +jesmsjc 27442/udp # Job controller service [Chris_Newman] [Chris_Newman] 2010-10-15 +# 27443-27503 Unassigned +kopek-httphead 27504/tcp # Kopek HTTP Head Port [Sten_H_Danielsen] [Sten_H_Danielsen] 2002-07 +kopek-httphead 27504/udp # Kopek HTTP Head Port [Sten_H_Danielsen] [Sten_H_Danielsen] 2002-07 +# 27505-27781 Unassigned +ars-vista 27782/tcp # ARS VISTA Application [Spencer_Teran_2] [Spencer_Teran_2] 2004-11 +ars-vista 27782/udp # ARS VISTA Application [Spencer_Teran_2] [Spencer_Teran_2] 2004-11 +# 27783-27875 Unassigned +astrolink 27876/tcp # Astrolink Protocol [Alanax_Technologies_Inc] [Wesley_Eddy] 2013-01-14 +# 27876 udp Reserved +# 27877-27998 Unassigned +tw-auth-key 27999/tcp # TW Authentication/Key [Alex_Duncan_2] [Alex_Duncan_2] +# Distribution and +tw-auth-key 27999/udp # Attribute Certificate [Alex_Duncan_2] [Alex_Duncan_2] +nxlmd 28000/tcp # NX License Manager [Anthony_Greatorex] [Anthony_Greatorex] 2004-11 Use Known on +# port 28000 +nxlmd 28000/udp # NX License Manager [Anthony_Greatorex] [Anthony_Greatorex] 2004-11 +pqsp 28001/tcp # PQ Service [Peter_Laschtowitz] [Peter_Laschtowitz] 2009-09-15 +# 28001 udp Reserved +# 28002-28199 Unassigned ports 28017, +# 28018 and +# 28019 +voxelstorm 28200/tcp # VoxelStorm game server [VoxelStorm] [Eugene_Hopkinson] 2012-11-08 +voxelstorm 28200/udp # VoxelStorm game server [VoxelStorm] [Eugene_Hopkinson] 2012-11-08 +# 28201-28239 Unassigned +siemensgsm 28240/tcp # Siemens GSM [David_Anuszewski] [David_Anuszewski] 2004-11 +siemensgsm 28240/udp # Siemens GSM [David_Anuszewski] [David_Anuszewski] 2004-11 +# 28241-29117 Unassigned +# 29118 tcp Reserved +# 29118 udp Reserved +sgsap 29118/sctp # SGsAP in 3GPP [GPP_Specifications] [GPP_Specifications] 2009-06-11 +# 28119 tcp Reserved +a27-ran-ran 28119/udp # A27 cdma2000 RAN Management [ThreeGPP2] [Zhiming_Li] 2012-04-13 +# 28120-29166 Unassigned +otmp 29167/tcp # ObTools Message Protocol [Paul_Clark] [Paul_Clark] 2006-02 +otmp 29167/udp # ObTools Message Protocol [Paul_Clark] [Paul_Clark] 2006-02 +# 29168 tcp Reserved +# 29168 udp Reserved +sbcap 29168/sctp # SBcAP in 3GPP [GPP_Specifications] [GPP_Specifications] 2009-06-11 +iuhsctpassoc 29169/sctp # HNBAP and RUA Common [John_Meredith] [John_Meredith] 2009-09-08 +# Association +# 29170-29998 Unassigned +# data exchange protocol for +bingbang 29999/tcp # IEC61850 in wind power [DEIF_AS] [Armin_Solies] 2012-10-15 +# plants +# 29999 udp Reserved +ndmps 30000/tcp # Secure Network Data [Alioune_Thiam] [Alioune_Thiam] 2013-02-05 +# 30000 udp Reserved +pago-services1 30001/tcp # Pago Services 1 [Balduin_Mueller_Plat] [Balduin_Mueller_Plat] 2002-03 +pago-services1 30001/udp # Pago Services 1 [Balduin_Mueller_Plat] [Balduin_Mueller_Plat] 2002-03 +pago-services2 30002/tcp # Pago Services 2 [Balduin_Mueller_Plat] [Balduin_Mueller_Plat] 2002-03 +pago-services2 30002/udp # Pago Services 2 [Balduin_Mueller_Plat] [Balduin_Mueller_Plat] 2002-03 +# 30003-30259 Unassigned +kingdomsonline 30260/tcp # Kingdoms Online [Drake_Bankston] [Drake_Bankston] 2009-08-18 +# (CraigAvenue) +kingdomsonline 30260/udp # Kingdoms Online [Drake_Bankston] [Drake_Bankston] 2009-08-18 +# 30261-30998 Unassigned +ovobs 30999/tcp # OpenView Service Desk Client [Service_Desk_Product] [Service_Desk_Product] 2006-05 +ovobs 30999/udp # OpenView Service Desk Client [Service_Desk_Product] [Service_Desk_Product] 2006-05 +# 31000-31019 Unassigned +autotrac-acp 31020/tcp # Autotrac ACP 245 [Roberto_Jorge_Dino] [Roberto_Jorge_Dino] +# 31020 udp Reserved +# 31021-31028 Unassigned +# 31029 tcp Reserved +yawn 31029/udp # YaWN - Yet Another Windows [David_Spivey] [David_Spivey] 2010-08-30 +# 31030-31415 Unassigned +xqosd 31416/tcp # XQoS network monitor [Joe_Elliott] [Joe_Elliott] 2002-06 +xqosd 31416/udp # XQoS network monitor [Joe_Elliott] [Joe_Elliott] 2002-06 +# 31417-31456 Unassigned +tetrinet 31457/tcp # TetriNET Protocol [Emmanuel_Bourg] [Emmanuel_Bourg] 2004-11 +tetrinet 31457/udp # TetriNET Protocol [Emmanuel_Bourg] [Emmanuel_Bourg] 2004-11 +# 31458-31619 Unassigned +lm-mon 31620/tcp # lm mon [System_Administrator] [System_Administrator] 2003-06 +lm-mon 31620/udp # lm mon [System_Administrator] [System_Administrator] 2003-06 +# 31621-31684 Unassigned +# DS Expert Monitor +# +dsx-monitor 31685/tcp # IANA assigned this [John_Lowery] [John_Lowery] 2008-08-21 +# "dsx_monitor". +# This entry is an alias to "dsx-monitor". This entry is now +dsx_monitor 31685/tcp # DS Expert Monitor [John_Lowery] [John_Lowery] 2008-08-21 historic, not usable for use with many common service +# 31685 udp Reserved +# 31686-31764 Unassigned +gamesmith-port 31765/tcp # GameSmith Port [Randy_Thompson] [Randy_Thompson] 2002-08 +gamesmith-port 31765/udp # GameSmith Port [Randy_Thompson] [Randy_Thompson] 2002-08 +# 31766-31947 Unassigned +# Embedded Device +# Configuration Protocol TX +# +iceedcp-tx 31948/tcp # IANA assigned this [Oliver_Lewis] [Oliver_Lewis] 2006-08 +# "iceedcp_tx". +# Embedded Device This entry is an alias to "iceedcp-tx". This entry is now +iceedcp_tx 31948/tcp # Configuration Protocol TX [Oliver_Lewis] [Oliver_Lewis] 2006-08 historic, not usable for use with many common service +# +iceedcp-tx 31948/udp # IANA assigned this [Oliver_Lewis] [Oliver_Lewis] 2006-08 +iceedcp_tx 31948/udp # Configuration Protocol TX [Oliver_Lewis] [Oliver_Lewis] 2006-08 historic, not usable for use with many common service +# Configuration Protocol RX +# +iceedcp-rx 31949/tcp # IANA assigned this [Oliver_Lewis] [Oliver_Lewis] 2006-08 +# "iceedcp_rx". +# Embedded Device This entry is an alias to "iceedcp-rx". This entry is now +iceedcp_rx 31949/tcp # Configuration Protocol RX [Oliver_Lewis] [Oliver_Lewis] 2006-08 historic, not usable for use with many common service +# +iceedcp-rx 31949/udp # IANA assigned this [Oliver_Lewis] [Oliver_Lewis] 2006-08 +iceedcp_rx 31949/udp # Configuration Protocol RX [Oliver_Lewis] [Oliver_Lewis] 2006-08 historic, not usable for use with many common service +# 31950-32248 Unassigned +iracinghelper 32034/tcp # iRacing helper service [Randy_Cassidy] [Randy_Cassidy] 2007-08-30 +iracinghelper 32034/udp # iRacing helper service [Randy_Cassidy] [Randy_Cassidy] 2007-08-30 +t1distproc60 32249/tcp # T1 Distributed Processor [Peter_Beahan] [Peter_Beahan] 2004-11 +t1distproc60 32249/udp # T1 Distributed Processor [Peter_Beahan] [Peter_Beahan] 2004-11 +# 32250-32482 Unassigned +apm-link 32483/tcp # Access Point Manager Link [Tony_Diodato] [Tony_Diodato] 2005-08 +apm-link 32483/udp # Access Point Manager Link [Tony_Diodato] [Tony_Diodato] 2005-08 +# 32484-32634 Unassigned +sec-ntb-clnt 32635/tcp # SecureNotebook-CLNT [Eric_Cantineau] [Eric_Cantineau] 2004-11 +sec-ntb-clnt 32635/udp # SecureNotebook-CLNT [Eric_Cantineau] [Eric_Cantineau] 2004-11 +DMExpress 32636/tcp # DMExpress [Arnie_Farrelly] [Arnie_Farrelly] +DMExpress 32636/udp # DMExpress [Arnie_Farrelly] [Arnie_Farrelly] +# 32637-32766 Unassigned +filenet-powsrm 32767/tcp # FileNet BPM [Chris_Adkins] [Chris_Adkins] 2006-08 +# WS-ReliableMessaging Client +filenet-powsrm 32767/udp # FileNet BPM [Chris_Adkins] [Chris_Adkins] 2006-08 +filenet-tms 32768/tcp # Filenet TMS [Daniel_Whelan] [Daniel_Whelan] +filenet-tms 32768/udp # Filenet TMS [Daniel_Whelan] [Daniel_Whelan] +filenet-rpc 32769/tcp # Filenet RPC [Daniel_Whelan] [Daniel_Whelan] +filenet-rpc 32769/udp # Filenet RPC [Daniel_Whelan] [Daniel_Whelan] +filenet-nch 32770/tcp # Filenet NCH [Daniel_Whelan] [Daniel_Whelan] +filenet-nch 32770/udp # Filenet NCH [Daniel_Whelan] [Daniel_Whelan] +filenet-rmi 32771/tcp # FileNET RMI [Chris_Adkins] [Chris_Adkins] +filenet-rmi 32771/udp # FileNet RMI [Chris_Adkins] [Chris_Adkins] +filenet-pa 32772/tcp # FileNET Process Analyzer [Chris_Adkins] [Chris_Adkins] 2003-01 +filenet-pa 32772/udp # FileNET Process Analyzer [Chris_Adkins] [Chris_Adkins] 2003-01 +filenet-cm 32773/tcp # FileNET Component Manager [Chris_Adkins] [Chris_Adkins] 2003-08 +filenet-cm 32773/udp # FileNET Component Manager [Chris_Adkins] [Chris_Adkins] 2003-08 +filenet-re 32774/tcp # FileNET Rules Engine [Chris_Adkins] [Chris_Adkins] 2003-08 +filenet-re 32774/udp # FileNET Rules Engine [Chris_Adkins] [Chris_Adkins] 2003-08 +filenet-pch 32775/tcp # Performance Clearinghouse [Tim_Morgan_2] [Tim_Morgan_2] 2005-11 +filenet-pch 32775/udp # Performance Clearinghouse [Tim_Morgan_2] [Tim_Morgan_2] 2005-11 +filenet-peior 32776/tcp # FileNET BPM IOR [Chris_Adkins] [Chris_Adkins] 2006-05 +filenet-peior 32776/udp # FileNET BPM IOR [Chris_Adkins] [Chris_Adkins] 2006-05 +filenet-obrok 32777/tcp # FileNet BPM CORBA [Chris_Adkins] [Chris_Adkins] 2006-10 +filenet-obrok 32777/udp # FileNet BPM CORBA [Chris_Adkins] [Chris_Adkins] 2006-10 +# 32778-32800 Unassigned +mlsn 32801/tcp # Multiple Listing Service [Corey_Leong] [Corey_Leong] 2010-10-11 +mlsn 32801/udp # Multiple Listing Service [Corey_Leong] [Corey_Leong] 2010-10-11 +# 32802-32810 Unassigned +retp 32811/tcp # Real Estate Transport [Corey_Leong] [Corey_Leong] 2010-10-11 +# 32811 udp Reserved +# 32812-32895 Unassigned +idmgratm 32896/tcp # Attachmate ID Manager [George_Gianelos_2] [George_Gianelos_2] 2003-03 +idmgratm 32896/udp # Attachmate ID Manager [George_Gianelos_2] [George_Gianelos_2] 2003-03 +# 32897-33122 Unassigned +aurora-balaena 33123/tcp # Aurora (Balaena Ltd) [Andrew_Mather] [Andrew_Mather] 2008-02-14 +aurora-balaena 33123/udp # Aurora (Balaena Ltd) [Andrew_Mather] [Andrew_Mather] 2008-02-14 +# 33124-33330 Unassigned +diamondport 33331/tcp # DiamondCentral Interface [Edward_Browdy] [Edward_Browdy] 2002-07 +diamondport 33331/udp # DiamondCentral Interface [Edward_Browdy] [Edward_Browdy] 2002-07 +# 33332 Unassigned +dgi-serv 33333/tcp # Digital Gaslight Service [George_Flanagin] [George_Flanagin] 2010-03-02 +# 33333 udp Reserved +speedtrace 33334/tcp # SpeedTrace TraceAgent [Holger_Heinrich] [Holger_Heinrich] 2012-02-01 +speedtrace-disc 33334/udp # SpeedTrace TraceAgent [Holger_Heinrich] [Holger_Heinrich] 2012-02-01 +# 33335-33433 Unassigned +traceroute 33434/tcp # traceroute use [IANA] [IANA] +traceroute 33434/udp # traceroute use [IANA] [IANA] +# 33435-33655 Unassigned +snip-slave 33656/tcp # SNIP Slave [Dr_Chris_Tucker] [Dr_Chris_Tucker] 2005-08 +snip-slave 33656/udp # SNIP Slave [Dr_Chris_Tucker] [Dr_Chris_Tucker] 2005-08 +# 33657-34248 Unassigned +turbonote-2 34249/tcp # TurboNote Relay Server [Peter_Hyde] [Peter_Hyde] +# Default Port +turbonote-2 34249/udp # TurboNote Relay Server [Peter_Hyde] [Peter_Hyde] +# 34250-34377 Unassigned +p-net-local 34378/tcp # P-Net on IP local [Kurt_Nissen] [Kurt_Nissen] 2004-02 +p-net-local 34378/udp # P-Net on IP local [Kurt_Nissen] [Kurt_Nissen] 2004-02 +p-net-remote 34379/tcp # P-Net on IP remote [Kurt_Nissen] [Kurt_Nissen] 2004-02 +p-net-remote 34379/udp # P-Net on IP remote [Kurt_Nissen] [Kurt_Nissen] 2004-02 +# 34380-34566 Unassigned +dhanalakshmi 34567/tcp # dhanalakshmi.org EDI Service [Girish_Gopalakrishna] [Girish_Gopalakrishna] 2010-04-20 +# 34567 udp Reserved +# 34568-34961 Unassigned +profinet-rt 34962/tcp # PROFInet RT Unicast [Peter_Wenzel] [Peter_Wenzel] 2004-11 +profinet-rt 34962/udp # PROFInet RT Unicast [Peter_Wenzel] [Peter_Wenzel] 2004-11 +profinet-rtm 34963/tcp # PROFInet RT Multicast [Peter_Wenzel] [Peter_Wenzel] 2004-11 +profinet-rtm 34963/udp # PROFInet RT Multicast [Peter_Wenzel] [Peter_Wenzel] 2004-11 +profinet-cm 34964/tcp # PROFInet Context Manager [Peter_Wenzel] [Peter_Wenzel] 2004-11 +profinet-cm 34964/udp # PROFInet Context Manager [Peter_Wenzel] [Peter_Wenzel] 2004-11 +# 34965-34979 Unassigned +ethercat 34980/tcp # EtherCAT Port [Martin_Rostan] [Martin_Rostan] 2003-11 +ethercat 34980/udp # EhterCAT Port [Martin_Rostan] [Martin_Rostan] 2003-11 +# 34981-35353 Unassigned +kitim 35354/tcp # KIT Messenger [Rudi_Visser] [Rudi_Visser] 2011-07-07 +# 35354 udp Reserved +altova-lm 35355/tcp # Altova License Management [Alexander_Falk_2] [Alexander_Falk_2] 2011-07-07 +altova-lm-disc 35355/udp # Altova License Management [Alexander_Falk_2] [Alexander_Falk_2] 2011-07-07 +guttersnex 35356/tcp # Gutters Note Exchange [Squee_Application_Development] [Tristan_Seifert_2] 2011-07-19 +# 35356 udp Reserved +openstack-id 35357/tcp # OpenStack ID Service [Rackspace_Hosting] [Ziad_Sawalha] 2011-08-15 +# 35357 udp Reserved +# 35358-36000 Unassigned +allpeers 36001/tcp # AllPeers Network [Cedric_Maloux] [Cedric_Maloux] 2007-04 +allpeers 36001/udp # AllPeers Network [Cedric_Maloux] [Cedric_Maloux] 2007-04 +# 36002-36411 Unassigned +# 36412 tcp Reserved +# 36412 udp Reserved +s1-control 36412/sctp # S1-Control Plane (3GPP) [Kimmo_Kymalainen] [Kimmo_Kymalainen] 2009-09-01 +# 36413-36421 Unassigned +# 36422 tcp Reserved +# 36422 udp Reserved +x2-control 36422/sctp # X2-Control Plane (3GPP) [Kimmo_Kymalainen] [Kimmo_Kymalainen] 2009-09-01 +# 36423-36442 Unassigned +m2ap 36443/sctp # M2 Application Part [Dario_S_Tonesi] [Dario_S_Tonesi] 2011-02-07 +m3ap 36444/sctp # M3 Application Part [Dario_S_Tonesi] [Dario_S_Tonesi] 2011-02-07 +# 36445-36523 Unassigned +febooti-aw 36524/tcp # Febooti Automation Workshop [Maris_Bormanis] [Maris_Bormanis] 2011-06-10 +# 36524 udp Reserved +# 36525-36864 Unassigned +kastenxpipe 36865/tcp # KastenX Pipe [Guy_Cheng] [Guy_Cheng] +kastenxpipe 36865/udp # KastenX Pipe [Guy_Cheng] [Guy_Cheng] +# 36866-37474 Unassigned +neckar 37475/tcp # science + computing's Venus [Ralf_Allrutz] [Ralf_Allrutz] 2002-02 +# Administration Port +neckar 37475/udp # science + computing's Venus [Ralf_Allrutz] [Ralf_Allrutz] 2002-02 +# 37476-37482 Unassigned +gdrive-sync 37483/tcp # Google Drive Sync [Google] [Fil_Zembowicz] 2013-02-01 +# 37483 udp Reserved +# 37484-37653 Unassigned +unisys-eportal 37654/tcp # Unisys ClearPath ePortal [Sung_U_Ro] [Sung_U_Ro] 2006-01 +unisys-eportal 37654/udp # Unisys ClearPath ePortal [Sung_U_Ro] [Sung_U_Ro] 2006-01 +# 37655-38200 Unassigned +galaxy7-data 38201/tcp # Galaxy7 Data Tunnel [Tatham_Oddie] [Tatham_Oddie] 2002-09 +galaxy7-data 38201/udp # Galaxy7 Data Tunnel [Tatham_Oddie] [Tatham_Oddie] 2002-09 +fairview 38202/tcp # Fairview Message Service [Jim_Lyle] [Jim_Lyle] 2005-11 Defined TXT keys: DevID=, DevType=, +# DevStat= +fairview 38202/udp # Fairview Message Service [Jim_Lyle] [Jim_Lyle] 2005-11 Defined TXT keys: DevID=, DevType=, +agpolicy 38203/tcp # AppGate Policy Server [Martin_Forssen] [Martin_Forssen] 2004-11 +agpolicy 38203/udp # AppGate Policy Server [Martin_Forssen] [Martin_Forssen] 2004-11 +# 38204-38799 Unassigned +# Sruth is a service for the +# distribution of routinely- +# generated but arbitrary +# files based on a +sruth 38800/tcp # publish/subscribe [University_Corporation_for_Atmospheric_Research] [Steven_Emmerson] 2012-05-07 +# distribution model and +# implemented using a +# peer-to-peer transport +# mechanism +# 38800 udp Reserved +# 38801-38864 Unassigned +# Security approval process +secrmmsafecopya 38865/tcp # for use of the secRMM [Squadra_Technologies] [Anthony_LaMark] 2012-03-14 +# SafeCopy program +# 38865 udp Reserved +# 38866-39680 Unassigned +turbonote-1 39681/tcp # TurboNote Default Port [Peter_Hyde] [Peter_Hyde] +turbonote-1 39681/udp # TurboNote Default Port [Peter_Hyde] [Peter_Hyde] +# 39682-39999 Unassigned +safetynetp 40000/tcp # SafetyNET p [Roland_Rupp] [Roland_Rupp] 2006-11 +safetynetp 40000/udp # SafetyNET p [Roland_Rupp] [Roland_Rupp] 2006-11 +# 40001-40840 Unassigned +cscp 40841/tcp # CSCP [Michael_Dodge] [Michael_Dodge] +cscp 40841/udp # CSCP [Michael_Dodge] [Michael_Dodge] +csccredir 40842/tcp # CSCCREDIR [Sudhir_Menon] [Sudhir_Menon] +csccredir 40842/udp # CSCCREDIR [Sudhir_Menon] [Sudhir_Menon] +csccfirewall 40843/tcp # CSCCFIREWALL [Sudhir_Menon] [Sudhir_Menon] +csccfirewall 40843/udp # CSCCFIREWALL [Sudhir_Menon] [Sudhir_Menon] +# 40844-40852 Unassigned +# 40853 tcp Reserved +ortec-disc 40853/udp # ORTEC Service Discovery [Jesse_Ursery] [Jesse_Ursery] 2010-11-22 +# 40854-41110 Unassigned +fs-qos 41111/tcp # Foursticks QoS Protocol [Chee_Kent_Lam] [Chee_Kent_Lam] 2002-04 +fs-qos 41111/udp # Foursticks QoS Protocol [Chee_Kent_Lam] [Chee_Kent_Lam] 2002-04 +# 41112-41120 Unassigned +tentacle 41121/tcp # Tentacle Server [Sancho_Lerena] [Sancho_Lerena] 2009-06-02 +# 41121 udp Reserved +# 41122-41793 Unassigned +crestron-cip 41794/tcp # Crestron Control Port [Ed_Ranney] [Ed_Ranney] 2003-01 +crestron-cip 41794/udp # Crestron Control Port [Ed_Ranney] [Ed_Ranney] 2003-01 +crestron-ctp 41795/tcp # Crestron Terminal Port [Ed_Ranney] [Ed_Ranney] 2003-01 +crestron-ctp 41795/udp # Crestron Terminal Port [Ed_Ranney] [Ed_Ranney] 2003-01 +crestron-cips 41796/tcp # Crestron Secure Control Port [Crestron_Electronics] [Manish_Talreja] 2012-06-27 +# 41796 udp Reserved +crestron-ctps 41797/tcp # Crestron Secure Terminal [Crestron_Electronics] [Manish_Talreja] 2012-06-27 +# 41797 udp Reserved +# 41798-42507 Unassigned Use Known on +# port 42000 +candp 42508/tcp # Computer Associates network [Jon_Press] [Jon_Press] 2005-09 +# discovery protocol +candp 42508/udp # Computer Associates network [Jon_Press] [Jon_Press] 2005-09 +candrp 42509/tcp # CA discovery response [Jon_Press] [Jon_Press] 2005-08 +candrp 42509/udp # CA discovery response [Jon_Press] [Jon_Press] 2005-08 +caerpc 42510/tcp # CA eTrust RPC [Jon_Press] [Jon_Press] 2005-08 +caerpc 42510/udp # CA eTrust RPC [Jon_Press] [Jon_Press] 2005-08 +# 42511-42999 Unassigned +recvr-rc 43000/tcp # Receiver Remote Control [Research_Electronics_International] [Ross_Binkley] 2012-12-20 +recvr-rc-disc 43000/udp # Receiver Remote Control [Research_Electronics_International] [Ross_Binkley] 2012-12-20 +# 43001-43187 Unassigned +reachout 43188/tcp # REACHOUT [Roman_Kriis] [Roman_Kriis] +reachout 43188/udp # REACHOUT [Roman_Kriis] [Roman_Kriis] +ndm-agent-port 43189/tcp # NDM-AGENT-PORT [Roman_Kriis] [Roman_Kriis] +ndm-agent-port 43189/udp # NDM-AGENT-PORT [Roman_Kriis] [Roman_Kriis] +ip-provision 43190/tcp # IP-PROVISION [Roman_Kriis] [Roman_Kriis] +ip-provision 43190/udp # IP-PROVISION [Roman_Kriis] [Roman_Kriis] +noit-transport 43191/tcp # Reconnoiter Agent Data [Theo_Schlossnagle] [Theo_Schlossnagle] 2009-05-19 +# 43191 udp Reserved +# 43192-43209 Unassigned +shaperai 43210/tcp # Shaper Automation Server [Shaper_Automation] [Yohann_Sulaiman] 2012-06-22 +shaperai-disc 43210/udp # Shaper Automation Server [Shaper_Automation] [Yohann_Sulaiman] 2012-06-22 +# Management Discovery +# 43211-43438 Unassigned +eq3-update 43439/tcp # EQ3 firmware update [eQ-3_AG] [Falk_Werner] 2012-02-10 +eq3-config 43439/udp # EQ3 discovery and [eQ-3_AG] [Falk_Werner] 2012-02-10 +# configuration +ew-mgmt 43440/tcp # Cisco EnergyWise Management +ew-disc-cmd 43440/udp # Cisco EnergyWise Discovery [John_Parello] [John_Parello] 2009-05-19 +# and Command Flooding +ciscocsdb 43441/tcp # Cisco NetMgmt DB Ports [Cisco_Systems] [Cisco_Systems] 2005-11 +ciscocsdb 43441/udp # Cisco NetMgmt DB Ports [Cisco_Systems] [Cisco_Systems] 2005-11 +# 43442-44122 Unassigned +z-wave-s 44123/tcp # Z-Wave Secure Tunnel [Sigma_Designs_Inc] [Anders_Brandt_3] 2012-10-12 +# 44123 udp Reserved +# 43124-44320 Unassigned +pmcd 44321/tcp # PCP server (pmcd) [Ken_McDonell] [Ken_McDonell] 2010-12-20 +pmcd 44321/udp # PCP server (pmcd) [Ken_McDonell] [Ken_McDonell] 2010-12-20 +pmcdproxy 44322/tcp # PCP server (pmcd) proxy [Ken_McDonell] [Ken_McDonell] 2003-07 2010-12-20 +pmcdproxy 44322/udp # PCP server (pmcd) proxy [Ken_McDonell] [Ken_McDonell] 2003-07 2010-12-20 +# 44323 tcp Unassigned +# 44323 udp Unassigned "pcp" assignment withdrawn, moved to port 5351 per +# RFC-ietf-pcp-base-29 +# USE: Ports +# 44324-44443 Unassigned 44515 & 44516 +# used by NI +# Device +cognex-dataman 44444/tcp # Cognex DataMan Management [Cognex] [Mario_Joussen] 2012-08-28 +# 44444 udp Reserved +# 44445-44543 Unassigned 44515 & 44516 +# 44544 tcp Reserved +domiq 44544/udp # DOMIQ Building Automation [DOMIQ_Sp_zoo] [Filip_Zawadiak] 2011-08-29 +# 44545-44552 Unassigned +rbr-debug 44553/tcp # REALbasic Remote Debug [Aaron_Ballman] [Aaron_Ballman] 2004-11 +rbr-debug 44553/udp # REALbasic Remote Debug [Aaron_Ballman] [Aaron_Ballman] 2004-11 +# 44554-44599 Unassigned +# 44600 tcp Reserved +asihpi 44600/udp # AudioScience HPI [Eliot_Blennerhassett] [Eliot_Blennerhassett] 2011-07-07 +# 44601-44817 Unassigned +# EtherNet/IP messaging +# +EtherNet-IP-2 44818/tcp # IANA assigned this [Brian_Batke_2] [Brian_Batke_2] New contact added for port 44818 on 2008-02-01 +# "EtherNet/IP-2". +# New contact added for port 44818 on 2008-02-01 This entry is +EtherNet/IP-2 44818/tcp # EtherNet/IP messaging [Brian_Batke_2] [Brian_Batke_2] an alias to "EtherNet-IP-2". This entry is now historic, not +# +EtherNet-IP-2 44818/udp # IANA assigned this [Brian_Batke_2] [Brian_Batke_2] New contact added for port 44818 on 2008-02-01 +EtherNet/IP-2 44818/udp # EtherNet/IP messaging [Brian_Batke_2] [Brian_Batke_2] an alias to "EtherNet-IP-2". This entry is now historic, not +# 44819-44999 Unassigned +# NSi AutoStore Status +asmp 45000/tcp # Monitoring Protocol data [Notable_Solutions_Inc] [Andrew_Andrews] 2011-09-01 +asmp-mon 45000/udp # Monitoring Protocol device [Notable_Solutions_Inc] [Andrew_Andrews] 2011-09-01 +# monitoring +asmps 45001/tcp # Monitoring Protocol secure [Notable_Solutions_Inc] [Andrew_Andrews] 2011-09-01 +# data transfer +# 45001 udp Reserved +# 45002-45053 Unassigned +invision-ag 45054/tcp # InVision AG [Matthias_Schroer] [Matthias_Schroer] +invision-ag 45054/udp # InVision AG [Matthias_Schroer] [Matthias_Schroer] +# 45055-45677 Unassigned +eba 45678/tcp # EBA PRISE [Patrick_Kara] [Patrick_Kara] +eba 45678/udp # EBA PRISE [Patrick_Kara] [Patrick_Kara] +# 45679-45823 Unassigned +dai-shell 45824/tcp # Server for the DAI family of [Data_Access_Inc] [Adam_Robinson] 2012-04-30 +# client-server products +# 45824 udp Reserved +qdb2service 45825/tcp # Qpuncture Data Access [Michael_Yun] [Michael_Yun] 2007-10-24 +qdb2service 45825/udp # Qpuncture Data Access [Michael_Yun] [Michael_Yun] 2007-10-24 +# 45826-45965 Unassigned +ssr-servermgr 45966/tcp # SSRServerMgr [Jeremy_Gilliat] [Jeremy_Gilliat] +ssr-servermgr 45966/udp # SSRServerMgr [Jeremy_Gilliat] [Jeremy_Gilliat] +# 45967-46997 Unassigned +# Connection between a desktop +sp-remotetablet 46998/tcp # computer or server and a [SOFTPRO_GmbH] [Nils_Durner] 2012-07-19 +# signature tablet to capture +# handwritten signatures +# 46998 udp Reserved +mediabox 46999/tcp # MediaBox Server [Alexander_Graef] [Alexander_Graef] 2004-11 +mediabox 46999/udp # MediaBox Server [Alexander_Graef] [Alexander_Graef] 2004-11 +mbus 47000/tcp # Message Bus [Dirk_Kutscher] [Dirk_Kutscher] +mbus 47000/udp # Message Bus [Dirk_Kutscher] [Dirk_Kutscher] +winrm 47001/tcp # Windows Remote Management [Ryan_Mack] [Ryan_Mack] 2009-04-29 +# 47001 udp Reserved +# 47002-47099 Unassigned +# Configuration of motors +jvl-mactalk 47100/udp # connected to Industrial [JVL_Industri_Elektronik] [Kim_Berthelsen] 2012-12-21 +# Ethernet +# 47100 tcp Reserved +# 47101-47556 Unassigned +dbbrowse 47557/tcp # Databeam Corporation [Cindy_Martin] [Cindy_Martin] +dbbrowse 47557/udp # Databeam Corporation [Cindy_Martin] [Cindy_Martin] +# 47558-47623 Unassigned +directplaysrvr 47624/tcp # Direct Play Server [Ajay_Jindal] [Ajay_Jindal] +directplaysrvr 47624/udp # Direct Play Server [Ajay_Jindal] [Ajay_Jindal] +# 47625-47805 Unassigned +ap 47806/tcp # ALC Protocol [Dave_Robin] [Dave_Robin] +ap 47806/udp # ALC Protocol [Dave_Robin] [Dave_Robin] +# 47807 Unassigned +bacnet 47808/tcp # Building Automation and [Coleman_Brumley] [Coleman_Brumley] 2011-02-10 +# Control Networks +bacnet 47808/udp # Building Automation and [Coleman_Brumley] [Coleman_Brumley] 2011-02-10 +# 47809-47999 Unassigned +nimcontroller 48000/tcp # Nimbus Controller [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimcontroller 48000/udp # Nimbus Controller [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimspooler 48001/tcp # Nimbus Spooler [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimspooler 48001/udp # Nimbus Spooler [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimhub 48002/tcp # Nimbus Hub [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimhub 48002/udp # Nimbus Hub [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimgtw 48003/tcp # Nimbus Gateway [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimgtw 48003/udp # Nimbus Gateway [Carstein_Seeberg_2] [Carstein_Seeberg_2] +nimbusdb 48004/tcp # NimbusDB Connector [Stephen_Harrison] [Stephen_Harrison] 2011-01-24 +# 48004 udp Reserved +nimbusdbctrl 48005/tcp # NimbusDB Control [Stephen_Harrison] [Stephen_Harrison] 2011-01-24 +# 48005 udp Reserved +# 48006-48048 Unassigned +3gpp-cbsp 48049/tcp # 3GPP Cell Broadcast Service [Gert_Thomasen] [Gert_Thomasen] 2009-12-07 +# 48049 udp Reserved +# 48050-48127 Unassigned +isnetserv 48128/tcp # Image Systems Network [Bengt_Gustafsson] [Bengt_Gustafsson] 2006-05 +isnetserv 48128/udp # Image Systems Network [Bengt_Gustafsson] [Bengt_Gustafsson] 2006-05 +blp5 48129/tcp # Bloomberg locator [Albert_Hou] [Albert_Hou] 2006-05 +blp5 48129/udp # Bloomberg locator [Albert_Hou] [Albert_Hou] 2006-05 +# 48130-48555 Unassigned +com-bardac-dw 48556/tcp # com-bardac-dw [Nicholas_J_Howes] [Nicholas_J_Howes] +com-bardac-dw 48556/udp # com-bardac-dw [Nicholas_J_Howes] [Nicholas_J_Howes] +# 48557-48618 Unassigned +iqobject 48619/tcp # iqobject [Bjorn_de_Bonnenfant] [Bjorn_de_Bonnenfant] 2003-11 +iqobject 48619/udp # iqobject [Bjorn_de_Bonnenfant] [Bjorn_de_Bonnenfant] 2003-11 +# 48620-48999 Unassigned +matahari 49000/tcp # Matahari Broker [Matahari_Project] [Zane_Bitter] 2011-08-31 +# 49000 udp Reserved +# 49001-49150 Unassigned +# 49151 IANA Reserved +# argus ARGUS Protocol +# arp Address Resolution Protocol +# bbn-rcc-mon BBN RCC Monitoring +# bootp Bootstrap Protocol +# br-sat-mon Backroom SATNET Monitoring +# cftp CFTP +# chaos CHAOS Protocol +# clock DCNET Time Server Protocol +# cmot Common Mgmnt Info Ser and +# Prot over TCP/IP +# cookie-jar Authentication Scheme +# dcn-meas DCN Measurement Subsystems +# dgp Dissimilar Gateway Protocol +# dmf-mail Digest Message Format for +# Mail +# egp Exterior Gateway Protocol +# ehf-mail Encoding Header Field for +# emcon Emission Control Protocol +# fconfig Fujitsu Config Protocol +# ggp Gateway Gateway Protocol +# hmp Host Monitoring Protocol +# host2-ns Host2 Name Server +# icmp Internet Control Message +# igmp Internet Group Management +# igp Interior Gateway Protocol +# imap2 Interim Mail Access Protocol +# version 2 +# ip Internet Protocol +# ipcu Internet Packet Core Utility +# ippc Internet Pluribus Packet +# Core +# ip-arc Internet Protocol on ARCNET +# ip-arpa Internet Protocol on ARPANET +# ip-cmprs Compressing TCP/IP Headers +# ip-dc Internet Protocol on DC +# Networks +# ip-dvmrp Distance Vector Multicast +# Routing Protocol +# ip-e Internet Protocol on +# Ethernet Networks +# ip-ee Internet Protocol on Exp. +# Ethernet Nets +# ip-fddi Transmission of IP over FDDI +# ip-hc Internet Protocol on +# Hyperchannnel +# ip-ieee Internet Protocol on IEEE +# 802 +# ip-ipx Transmission of 802.2 over +# IPX Networks +# ip-mtu IP MTU Discovery Options +# ip-netbios Internet Protocol over +# NetBIOS Networks +# ip-slip Transmission of IP over +# Serial Lines +# ip-wb Internet Protocol on +# Wideband Network +# ip-x25 Internet Protocol on X.25 +# irtp Internet Reliable +# iso-tp4 ISO Transport Protocol Class +# larp Locus Address Resoultion +# leaf-1 Leaf-1 Protocol +# leaf-2 Leaf-2 Protocol +# loc-srv Location Service +# mail Format of Electronic Mail +# merit-inp MERIT Internodal Protocol +# mib Management Information Base +# mihcs MIH Command Services [RFC5679] +# mihes MIH Event Services [RFC5679] +# mihis MIH Information Services [RFC5679] +# mfe-nsp MFE Network Services +# mit-subnet MIT Subnet Support +# mux Multiplexing Protocol +# netblt Bulk Data Transfer Protocol +# neted Network Standard Text Editor +# netrjs Remote Job Service +# nfile A File Access Protocol +# nvp-ii Network Voice Protocol +# ospf Open Shortest Path First +# Interior GW Protocol +# pcmail Pcmail Transport Protocol +# ppp Point-to-Point Protocol +# prm Packet Radio Measurement +# pup PUP Protocol +# quote Quote of the Day Protocol +# rarp A Reverse Address Resolution +# ratp Reliable Asynchronous +# rdp Reliable Data Protocol +# rip Routing Information Protocol +# rvd Remote Virtual Disk Protocol +# sat-expak Satnet and Backroom EXPAK +# sat-mon SATNET Monitoring +# smi Structure of Management +# Information +# stp Stream Protocol +# sun-rpc SUN Remote Procedure Call +# tcp Transmission Control +# tcp-aco TCP Alternate Checksum +# Option +# thinwire Thinwire Protocol +# tp-tcp ISO Transport Service on top +# of the TCP +# trunk-1 Trunk-1 Protocol +# trunk-2 Trunk-2 Protocol +# ucl University College London +# udp User Datagram Protocol +# users Active Users Protocol +# via-ftp VIA Systems-File Transfer +# visa VISA Protocol +# vmtp Versatile Message +# wb-expak Wideband EXPAK +# wb-mon Wideband Monitoring +# xnet Cross Net Debugger +# xns-idp Xerox NS IDP +# 1Password Password Manager +# 1password data sharing and [Roustem_Karimov] [Roustem_Karimov] Defined TXT keys: None +# synchronization protocol +# a-d-sync Altos Design Synchronization [David_Lasker] [David_Lasker] Defined TXT keys: None +# Applied Biosystems Universal Defined TXT keys: product= +# abi-instrument Instrument Framework [Tor_Slettnes] [Tor_Slettnes] description= version= +# accessdata-f2d FTK2 Database Discovery [Rick_Russell] [Rick_Russell] Defined TXT keys: Proprietary +# accessdata-f2w FTK2 Backend Processing [Rick_Russell] [Rick_Russell] Defined TXT keys: Proprietary +# Agent Service +# accessone Strix Systems 5S/AccessOne [Scott_Herscher_2] [Scott_Herscher_2] Defined TXT keys: None +# accountedge MYOB AccountEdge Defined TXT keys: None +# acrobatsrv Adobe Acrobat Defined TXT keys: type, path, FeedType +# acs-ctl-ds tcp Access Control Device [Honwywell_Security_Group] [John_Dziadosz] 2012-04-09 Defined TXT keys: MAC=, GW-MAC +# acs-ctl-ds udp Access Control Device [Honwywell_Security_Group] [John_Dziadosz] 2012-04-09 Defined TXT keys: MAC=, GW-MAC +# acs-ctl-gw tcp Access Control Gateway [Honwywell_Security_Group] [John_Dziadosz] 2012-04-09 Defined TXT keys: MAC=, GW-MAC +# acs-ctl-gw udp Access Control Gateway [Honwywell_Security_Group] [John_Dziadosz] 2012-04-09 Defined TXT keys: MAC=, GW-MAC +# actionitems ActionItems [Sailalong_Software] [Sailalong_Software] Defined TXT keys: None +# activeraid Active Storage Proprietary [Skip_Levens] [Skip_Levens] Defined TXT keys: None +# Device Management Protocol +# Encrypted transport of +# activeraid-ssl Active Storage Proprietary [Skip_Levens] [Skip_Levens] Defined TXT keys: None +# addressbook Address-O-Matic [Massimiliano_Ribuoli] [Massimiliano_Ribuoli] Defined TXT keys: None +# Address Book Server used for +# addressbooksrv tcp contacts and calendar [AddressBookServer] [Alexander_Hartner] 2011-10-14 Defined TXT keys: _suffix, _prefix +# synchronisation +# difusi Cloud based plug & +# play network synchronization +# adnodes protocol, content pool [DIFUSI_Inc] [Mike_Wright] 2011-11-07 Defined TXT keys: Proprietary +# database discovery, and +# cloudOS SAaS discovery +# protocol. +# adobe-shadow tcp Adobe Shadow Server [Adobe_Systems] [Mike_Harris] 2012-04-17 Defined TXT keys: id +# adobe-vc Adobe Version Cue Defined TXT keys: txtvers=1, name, version, build +# adisk Automatic Disk Discovery [Bob_Bradley_2] [Bob_Bradley_2] Defined TXT keys: sys, dkX +# adpro-setup ADPRO Security Device Setup [Patrick_Noffke] [Patrick_Noffke] Defined TXT keys: txtvers, type +# aecoretech Apple Application [Hani_Abdelazim] [Hani_Abdelazim] Defined TXT keys: None +# Engineering Services +# Defined TXT keys: orb_server= (optional) CORBA ORB +# Aeroflex instrumentation and server used for resource discovery product_id= +# aeroflex software [David_Hagood] [David_Hagood] (optional) ID of licensed product +# txtvers="*IDN?=" (optional) as per LXI +# specification (for not yet LXI compatible instruments) +# aerohive-proxy tcp Aerohive Proxy Configuration [Aerohive_Networks] [Matthew_Gast] 2012-05-31 Defined TXT keys: name, port, username +# airdrop tcp Airdrop [Apple_Inc] [Marc_Krochmal_2] 2012-03-02 Defined TXT keys: flags, phash, ehash, cname +# airplay tcp Protocol for streaming of [Apple_Inc_2] [Bob_Bradley_3] 2012-09-19 Defined TXT keys: am, cn, et, ft, fv, md, pk, pw, sf, tp, vn, +# audio/video content vs +# airplay udp Protocol for streaming of [Apple_Inc_2] [Bob_Bradley_3] 2012-09-19 Defined TXT keys: am, cn, et, ft, fv, md, pk, pw, sf, tp, vn, +# airport AirPort Base Station [Bob_Bradley_2] [Bob_Bradley_2] Defined TXT keys: waMA; +# airpreview tcp Coda AirPreview [Panic_Inc] [Cabel_Sasser] 2012-07-19 Defined TXT keys: hasCamera, name, UUID +# Defined TXT keys: mac= ip= +# airprojector AirProjector [Yoshinori_Nakayama] [Yoshinori_Nakayama] note= use= mainprog=
+# bootprog= +# airsharing Air Sharing [Erik_Rogers][Dave_Howell] [Erik_Rogers][Dave_Howell] Defined TXT keys: None +# airsharingpro Air Sharing Pro [Erik_Rogers][Dave_Howell] [Erik_Rogers][Dave_Howell] Defined TXT keys: None +# aloe-gwp tcp Aloe Gateway Protocol [Layered_Logic] [Brooks_Bell] 2012-01-04 Defined TXT keys: Version +# aloe-pp tcp Aloe Pairing Protocol [Layered_Logic] [Brooks_Bell] 2012-01-04 Defined TXT keys: Version, DeviceName, DeviceModel, +# DeviceSystem, DeviceSystemVersion, AppName, AppVersion +# amba-cam udp Ambarella Cameras [Louis_Sun] [Louis_Sun] Defined TXT keys: product= +# description= version= +# P2PTapWar Sample Application +# amiphd-p2p from "iPhone SDK [Chris_Adamson] [Chris_Adamson] Defined TXT keys: None +# Development" Book +# ams-htm Proprietary protocol for [AccuMed_Services] [Sam_Carleton_2] 2011-10-20 Defined TXT keys: None +# Accu-Med HTM +# animolmd Animo License Manager [Phil_Barrett] [Phil_Barrett] Defined TXT keys: None +# animobserver Animo Batch Server [Phil_Barrett] [Phil_Barrett] Defined TXT keys: None +# Anquet map synchronization +# anquetsync between desktop and handheld [Paul_Lesurf] [Paul_Lesurf] Defined TXT keys: Proprietary +# devices +# antrmai tcp ANT Galio web services [ANT_Software] [Simon_Middleton] 2012-12-06 Defined TXT keys: txtvers, man +# appelezvous Appelezvous [Marco_Piovanelli] [Marco_Piovanelli] Defined TXT keys: None +# apple-ausend Apple Audio Units [James_McCartney] [James_McCartney] Defined TXT keys: None +# apple-mobdev tcp Apple Mobile Device Protocol [Apple_2] [Paul_Chinn][Justin_Ko] 2011-10-20 Defined TXT keys: None +# apple-midi udp Apple MIDI [Doug_Wyatt] [Doug_Wyatt] Defined TXT keys: None +# applerdbg Apple Remote Debug Services [Dave_Springer] [Dave_Springer] Defined TXT keys: None +# (OpenGL Profiler) +# appletv Apple TV [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers, PrVs, OSsi, MniT +# appletv-itunes Apple TV discovery of iTunes [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers +# appletv-pair Apple TV Pairing [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers +# aquamon AquaMon Defined TXT keys: None +# arcnet udp Arcturus Networks Inc. [Arcturus_Networks_Inc] [Michael_Durrant] 2011-10-20 Defined TXT keys: None +# Hardware Services +# aroundsound AroundSound's information [Winzig_LLC] [Around_Sound] 2011-10-20 Defined TXT keys: Proprietary +# sharing protocol +# astnotify udp Asterisk Caller-ID [Sven_Slezak] [Sven_Slezak] Defined TXT keys: prefix= (numeric, +# Notification Service additionally '+') +# astralite Astralite [Tongji_University] [Tongji_University] Defined TXT keys: None +# async address-o-sync [Markus_Brand] [Markus_Brand] Defined TXT keys: None +# Atlassian Application (JIRA, +# atlassianapp Confluence, Fisheye, [Denise_Fernandez] [Denise_Fernandez] Defined TXT keys: app.url +# Crucible, Crowd, Bamboo) +# discovery service +# av Allen Vanguard Hardware [Mike_Bush] [Mike_Bush] Defined TXT keys: Proprietary +# avatars tcp Libravatar federated avatar [libravatar_org] [Francois_Marier] 2011-10-11 Defined TXT keys: none +# hosting service. +# avatars-sec tcp Libravatar federated avatar [libravatar_org] [Francois_Marier] 2011-10-11 Defined TXT keys: none +# axis-video Axis Video Cameras [Kristina_Sten] [Kristina_Sten] Defined TXT keys: None +# b3d-convince 3M Unitek Digital [Rajiv_Aaron_Manglani] [Rajiv_Aaron_Manglani] Defined TXT keys: txtvers=1, protovers=, +# Orthodontic System guid=<32 hex digits> +# babyphone BabyPhone [Johan_Kool] [Johan_Kool] Defined TXT keys: None +# bdsk BibDesk Sharing [Adam_Maxwell] [Adam_Maxwell] Defined TXT keys: txtvers, authenticate +# beacon Beacon Remote Service [Jeffrey_Sadeli] [Jeffrey_Sadeli] Defined TXT keys: version=, company= +# beamer Beamer Data Sharing Protocol [Frank_Szczerba] [Frank_Szczerba] Defined TXT keys: None +# beatpack BeatPack Synchronization [Mathieu_Garcia] [Mathieu_Garcia] Defined TXT keys: None +# Server for BeatMaker +# beep Xgrid Technology Preview [David_Kramer_2] [David_Kramer_2] Defined TXT keys: None +# bfagent BuildForge Agent [Joe_Senner_2] [Joe_Senner_2] Defined TXT keys: None +# bigbangchess Big Bang Chess [Freeverse_Software] [Freeverse_Software] Defined TXT keys: None +# bigbangmancala Big Bang Mancala [Freeverse_Software] [Freeverse_Software] Defined TXT keys: None +# bitflit tcp Data transfer service [Ramesh_Gupta] [Ramesh_Gupta] 2012-02-21 Defined TXT keys: provider, vendor, user, host, deploy, +# prototype, schedule +# bittorrent BitTorrent Zeroconf Peer [Robin_Perkins] [Robin_Perkins] Defined TXT keys: None +# Little Black Book Defined TXT keys: product= +# blackbook Information Exchange [David_HM_Spector][Paul_M_Franceus] [David_HM_Spector][Paul_M_Franceus] description= +# Protocol version= protovers= +# bluevertise udp BlueVertise Network Protocol [Fabrizio_Guglielmino] [Fabrizio_Guglielmino] Defined TXT keys: role= +# (BNP) +# boardplus tcp board plus application [CX5_SOFTWARE] [Yohei_Yoshihara] 2013-02-04 Defined TXT keys: None +# transfer protocol +# Booked communication Defined TXT keys: Edition, Version, Public Shares, Machine +# booked-sync tcp protocol - Sharing And Sync [Soeren_Havemester] [Soeren_Havemester] 2013-02-18 ID, Machine Name +# bookworm Bookworm Client Discovery [Arne_Dirks] [Arne_Dirks] Defined TXT keys: flavors +# boundaryscan udp Proprietary [Uwe_Ziegler] [Uwe_Ziegler] Defined TXT keys: blocked=, +# version= +# bousg Bag Of Unusual Strategy Defined TXT keys: None +# Games +# boxraysrvr tcp Boxray Devices Host Server [Caprice_Productions] [Lance_Drake] 2012-07-05 Defined TXT keys: none +# bri RFID Reader Basic Reader [Thaddeus_Ternes] [Thaddeus_Ternes] Defined TXT keys: None +# bridgeprotocol tcp JSON RPC Bridge Protocol [Michel_Stam_2] [Michel_Stam_2] 2012-11-20 Defined TXT keys: path, version +# bsqdea Backup Simplicity [Qdea] [Qdea] Defined TXT keys: None +# caldav tcp Calendaring Extensions to [IESG] [IETF_Chair] 2012-02-17 [RFC6764] This is an extension of the http service. Defined TXT keys: +# WebDAV (CalDAV) - non-TLS path= +# caldavs tcp Calendaring Extensions to [IESG] [IETF_Chair] 2012-02-17 [RFC6764] This is an extension of the https service. Defined TXT keys: +# WebDAV (CalDAV) - over TLS path= +# caltalk CalTalk [Joe_Groff] [Joe_Groff] Defined TXT keys: None +# carddav tcp vCard Extensions to WebDAV [IESG] [IETF_Chair] 2012-02-17 [RFC6352] This is an extension of the http service. Defined TXT keys: +# (CardDAV) - non-TLS path= +# carddavs tcp vCard Extensions to WebDAV [IESG] [IETF_Chair] 2012-02-17 [RFC6352] This is an extension of the https service. Defined TXT keys: +# (CardDAV) - over TLS path= +# cardsend Card Send Protocol [Jeff_Grossman] [Jeff_Grossman] Defined TXT keys: Proprietary +# carousel tcp Carousel Player Protocol [Tightrope_Media_Systems] [Scott_Jann] 2011-10-17 Defined TXT keys: None +# IP and Closed-Circuit Defined TXT keys: u=, p=, path= +# applications +# cheat The Cheat [Chaz_McGarvey] [Chaz_McGarvey] Defined TXT keys: None +# chess Project Gridlock Defined TXT keys: None +# chfts Fluid Theme Server Defined TXT keys: None +# chili The CHILI Radiology System [Andre_Schroter] [Andre_Schroter] Defined TXT keys: None +# ciao tcp Ciao Arduino Protocol [Mike_Colagrosso] [Mike_Colagrosso] 2011-10-24 Defined TXT keys: see www.ciaoapp.com +# Discovery of JDF (CIP4 Job +# cip4discovery Definition Format) enabled [Stefan_Daun] [Stefan_Daun] Defined TXT keys: None +# clipboard Clipboard Sharing Defined TXT keys: None +# clique udp Clique Link-Local Multicast [Telepathy_project] [Telepathy_project] Defined TXT keys: see +# Chat Room http://telepathy.freedesktop.org/xmpp/clique +# clscts Oracle CLS Cluster Topology [David_Brower] [David_Brower] Defined TXT keys: None +# collection Published Collection Object [Brady_Anderson] [Brady_Anderson] Defined TXT keys: version=? +# com-ocs-es-mcc ElectraStar media centre [OC] [OC] Defined TXT keys: None +# control protocol +# contactserver Now Contact Defined TXT keys: None +# corroboree Corroboree Server [Heath_Raftery] [Heath_Raftery] Defined TXT keys: None +# cpnotebook2 NoteBook 2 [Circus_Ponies_Suppor] [Circus_Ponies_Suppor] Defined TXT keys: None +# cw-codetap CodeWarrior HTI Xscale [Ted_Woodward] [Ted_Woodward] Defined TXT keys: None +# PowerTAP +# cw-dpitap CodeWarrior HTI DPI PowerTAP [Ted_Woodward] [Ted_Woodward] Defined TXT keys: None +# cw-oncetap CodeWarrior HTI OnCE [Ted_Woodward] [Ted_Woodward] Defined TXT keys: None +# cw-powertap CodeWarrior HTI COP PowerTAP [Ted_Woodward] [Ted_Woodward] Defined TXT keys: None +# cytv CyTV - Network streaming for [Andreas_Junghans] [Andreas_Junghans] Defined TXT keys: None +# Elgato EyeTV +# dacp Digital Audio Control [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers, Ver, DbId +# Protocol (iTunes) +# dancepartner Dance partner application [Rory_McClure] [Rory_McClure] Defined TXT keys: None +# for iPhone +# dataturbine Open Source DataTurbine [Tony_Fountain] [Tony_Fountain] Defined TXT keys: None +# Streaming Data Middleware +# Defined TXT keys:txtvers= +# dbaudio tcp d&b audiotechnik remote [d_b_audiotechnik] [Christian_Laendner] 2011-10-06 protovers= guid= +# network name= sn= device= +# fwver= +# dbaudio udp d&b audiotechnik remote [d_b_audiotechnik] [Christian_Laendner] 2011-10-06 protovers= guid= +# dccp-ping dccp ping/traceroute using DCCP [Samuel_Jero] [Samuel_Jero] 2012-11-14 1885957735 Defined TXT keys: None +# device-info Device Info [Stuart_Cheshire_5][Marc_Krochmal] [Stuart_Cheshire_5][Marc_Krochmal] Not a service type. Special name reserved for DNS-SD device +# info. +# devonsync tcp DEVONthink synchronization [DEVONtechnologies_LLC] [Rob_Rix][Eric_Boehnisch-Volkmann] 2011-10-18 Defined TXT keys: None at present +# dictation Use of a dictation service [Nuance_Communications_Inc] [Mark_Jackson] 2011-10-27 Defined TXT keys: ver, name +# by a hand-held device +# difi EyeHome [Elgato] [Elgato] Defined TXT keys: None +# disconnect DisConnect Peer to Peer Game [Michael_S_Bogovich] [Michael_S_Bogovich] Defined TXT keys: None +# dist-opencl Distributed OpenCL discovery [William_Dillon] [William_Dillon] Defined TXT keys: None +# ditrios Ditrios SOA Framework [Mark_Schmatz] [Mark_Schmatz] Defined TXT keys: +# Protocol http://www.ditrios.org/index.php?link=tutorial/index#zeroconf +# divelogsync Dive Log Data Sharing and [Greg_McLaughlin] [Greg_McLaughlin] Defined TXT keys: None +# dlpx-sp tcp Delphix Session Protocol [Delphix_Corp] [Peng_Dai] 2012-10-02 Defined TXT keys: None +# dltimesync udp Local Area Dynamic Time [Geoff_Back_3] [Geoff_Back_3] Defined TXT keys: None +# Synchronisation Protocol +# dns-sd DNS Service Discovery [Stuart_Cheshire_5][Marc_Krochmal] [Stuart_Cheshire_5][Marc_Krochmal] Not a service type. Special name reserved for DNS-SD meta +# queries. +# DNS Dynamic Update Service for a given domain may not +# necessarily be provided by the principal name servers as +# advertised by the domain's "NS" records, and may not +# dns-update udp DNS Dynamic Update Service [Kiren_Sekar_2] [Kiren_Sekar_2] necessarily always be provided on port 53. The +# "_dns-update._udp.." SRV record gives the target host +# and port where DNS Dynamic Update Service is provided for the +# named domain. +# dop Roar (Death of Productivity) [Massive_Flow_Product] [Massive_Flow_Product] Defined TXT keys: name= +# dropcopy DropCopy [base_t_Interactive] [base_t_Interactive] Defined TXT keys: None +# dsgsync Datacolor SpyderGallery [Datacolor] [Heath_Barber] 2011-10-14 Defined TXT keys: Proprietary +# Desktop Sync Protocol +# Data Synchronization +# dsl-sync Protocol for Discovery [John_Hogg] [John_Hogg] Defined TXT keys: Proprietary +# Software products +# dtrmtdesktop Desktop Transporter Remote [Daniel_Stodle] [Daniel_Stodle] Defined TXT keys: None +# Desktop Protocol +# dxtgsync Documents To Go Desktop Sync [Tim_Boyle] [Tim_Boyle] Defined TXT keys: Proprietary +# ea-dttx-poker Protocol for EA Downtown [Ben_Lewis] [Ben_Lewis] Defined TXT keys: None +# Texas Hold 'em +# earphoria Earphoria [Rogue_Amoeba] [Rogue_Amoeba] Defined TXT keys: None +# easyspndlg-sync tcp Sync service for the Easy [Aaron_L_Bratcher] [Aaron_L_Bratcher] 2011-10-17 Defined TXT keys: None +# Spend Log app +# eb-amuzi Amuzi peer-to-peer session [Zachary_Gramana] [Zachary_Gramana] Defined TXT keys: Proprietary +# ebms ebXML Messaging [Matthew_MacKenzie] [Matthew_MacKenzie] Defined TXT keys: Endpoint= +# Northrup Grumman/Mission +# ecms Systems/ESL Data Flow [Dan_Goff] [Dan_Goff] Defined TXT keys: None +# ebreg ebXML Registry [Matthew_MacKenzie] [Matthew_MacKenzie] Defined TXT keys: +# HttpBinding= +# ecbyesfsgksc Net Monitor Anti-Piracy [Guy_Meyer] [Guy_Meyer] Defined TXT keys: None +# edcp udp LaCie Ethernet Disk [Nicolas_Bouilleaud] [Nicolas_Bouilleaud] Defined TXT keys: ip, mac, dhcp, mask, gtwy, wins, name, +# Configuration Protocol version +# eeg tcp EEG System Discovery across [Shifted_Current] [Joel_Aaron_Clipperton] 2012-09-11 Defined TXT keys: Type +# local and wide area networks +# efkon-elite tcp EFKON Lightweight Interface [EFKON_AG] [Thomas_Kemmer] 2011-10-20 Defined TXT keys: txtvers, protovers, model, serial, scheme, +# to Traffic Events path +# egistix Egistix Auto-Discovery [Dave_Lindquist_2] [Dave_Lindquist_2] Defined TXT keys: None +# Interactive Room Software +# eheap Infrastructure (Event Defined TXT keys: None +# Sharing) +# embrace DataEnvoy [Rob_MacGregor] [Rob_MacGregor] Defined TXT keys: None +# enphase-envoy tcp Enphase Energy Envoy [Enphase_Energy_Inc] [Chris_Eich] 2011-11-08 Defined TXT keys: - txtvers - protovers - serialnum +# Endpoint Protocol (EP) for +# ep use in Home Automation [Tommy_van_der_Vorst] [Tommy_van_der_Vorst] Defined TXT keys: dns-sd_mdns +# systems +# esp tcp Extensis Server Protocol [Loren_Barr] [Loren_Barr] 2006-12 Defined TXT keys: none +# eucalyptus Eucalyptus Discovery [Support_Team] [Support_Team] Defined TXT keys: Eucalyptus-DNS-SD +# eventserver Now Up-to-Date Defined TXT keys: None +# evs-notif EVS Notification Center [Eric_Gillet] [Eric_Gillet] Defined TXT keys: ID, Address +# ewalletsync Synchronization Protocol for [Dan_Amstutz] [Dan_Amstutz] Defined TXT keys: name= +# Ilium Software's eWallet +# Not a real service type. Special 'pretend' service types +# example Example Service Type ("_example._udp" and "_example._tcp") reserved for use in +# illustrative examples in books and other documentation. +# exb Exbiblio Cascading Service [Claes_Fredrik_Mannby] [Claes_Fredrik_Mannby] Defined TXT keys: Will be described at www.exbiblio.com +# extensissn Extensis Serial Number [Extensis] [Extensis] Defined TXT keys: None +# eyetvsn EyeTV Sharing [Elgato] [Elgato] Defined TXT keys: txtvers=1, keyhash=<4 bytes> +# facespan FaceSpan [Kerry_Hazelgren] [Kerry_Hazelgren] Defined TXT keys: None +# faxstfx FAXstf [Smith_Micro] [Smith_Micro] Defined TXT keys: None +# feed-sharing NetNewsWire 2.0 [Ranchero_Software] [Ranchero_Software] Defined TXT keys: None +# firetask Firetask task sharing and [Gerald_Aquila] [Gerald_Aquila] Defined TXT keys: None +# fish Fish [Oriol_Ferrer_Mesia] [Oriol_Ferrer_Mesia] Defined TXT keys: None +# Defined TXT keys: Currently valid enumerated values: FIX +# Session Protocol Versions (SESSIONVERSION): 1.1 FIX +# Application Protocol Versions (APPLICATIONVERSION): 2.7, 3.0, +# fix Financial Information [Joakim_Johansson] [Joakim_Johansson] 4.0, 4.1, 4.2, 4.3, 4.4, 5.0 Possible TXT records defined and +# Exchange (FIX) Protocol their values (replace uppercase text with enumerations from +# the list above): txtvers=1 fix=APPLICATIONVERSION fix +# supported=APPLICATIONVERSION[,APPLICATIONVERSION, ... +# ,APPLICATIONVERSION] fixt=SESSIONVERSION +# fjork Fjork [John_Schilling] [John_Schilling] Defined TXT keys: None +# fl-purr udp FilmLight Cluster Power [Darrin_Smart] [Darrin_Smart] Defined TXT keys: Proprietary +# Control Service +# flightdmp tcp Flight Data Monitoring [Brad_Head] [Brad_Head] 2013-02-07 Defined TXT keys: None +# flightdmp udp Flight Data Monitoring [Brad_Head] [Brad_Head] 2013-02-07 Defined TXT keys: None +# flir-ircam tcp FLIR Infrared Camera [FLIR_Systems_AB] [Bjorn_Roth][Klas_Malmborg] 2011-10-20 Defined TXT keys: Proprietary +# FileMaker Server +# fmserver-admin Administration Communication [Eric_Jacobson] [Eric_Jacobson] Defined TXT keys: None +# fontagentnode FontAgent Pro [Insider_Software] [Insider_Software] Defined TXT keys: None +# foxtrot-serv FoxTrot Search Server [Jerome_Seydoux] [Jerome_Seydoux] Defined TXT keys: None +# Discovery Service +# foxtrot-start FoxTrot Professional Search [Jerome_Seydoux] [Jerome_Seydoux] Defined TXT keys: None +# frameforge-lic FrameForge License [James_W_Walker] [James_W_Walker] Defined TXT keys: Proprietary +# freehand FreeHand MusicPad Pro [Ted_Schroeder] [Ted_Schroeder] Defined TXT keys: None +# frog Frog Navigation Systems [Rene_Jager] [Rene_Jager] Defined TXT keys: type, name, id +# ftpcroco Crocodile FTP Server [Xnet_Communications] [Xnet_Communications] Defined TXT keys: None +# fv-cert udp Fairview Certificate [Jim_Lyle_2] [Jim_Lyle_2] Defined TXT keys: DevID=, DevPK= +# fv-key udp Fairview Key [Jim_Lyle_2] [Jim_Lyle_2] Defined TXT keys: KeyID= +# fv-time udp Fairview Time/Date [Jim_Lyle_2] [Jim_Lyle_2] Defined TXT keys: None +# garagepad Entrackment Client Service [Talkative_AB] [Talkative_AB] Defined TXT keys: None +# G-Force Control via +# gforce-ssmp SoundSpectrum's SSMP TCP [Andy_O_Meara] [Andy_O_Meara] Defined TXT keys: None +# glasspad GlassPad Data Exchange [Emmanuel_Merali] [Emmanuel_Merali] Defined TXT keys: guid +# glasspadserver GlassPadServer Data Exchange [Emmanuel_Merali] [Emmanuel_Merali] Defined TXT keys: guid +# glrdrvmon OpenGL Driver Monitor [Dave_Springer] [Dave_Springer] Defined TXT keys: None +# goorstop tcp For iOS Application named [Charlie_Kim] [Charlie_Kim] 2012-08-28 Defined TXT keys: None +# GoOrStop +# gpnp Grid Plug and Play [David_Brower] [David_Brower] Defined TXT keys: None +# grillezvous Roxio ToastAnywhere(tm) Defined TXT keys: AppID= KeyHash= +# groovesquid tcp Groovesquid Democratic Music [www_nsovocal_com] [Ruben_Beltran] 2011-10-18 Defined TXT keys: None +# growl Growl Defined TXT keys: None +# Defined TXT keys: Varies; Depends on type of service being +# offered/resolved Although DNS-SD does not recommend or +# advocate using GUIDs as the primary name of an offered +# service why not?, it does support use of GUIDs as service +# names where developers want to use them that way. Typically +# users do not browse for GUIDs. They are not user-friendly and +# not very informative. Typically, the service is advertised as +# usual, using a user-friendly name. One of the TXT record +# attributes is a GUID for the service instance. Once the user +# Special service type for has browsed and chosen the desired service instance via its +# guid resolving by GUID (Globally user-friendly name, the service is resolved, the TXT record +# Unique Identifier) is retrieved, and the GUID is stored. A given network service +# instance is therefore being advertised two ways, for example: +# ._ptp._tcp.local ._guid._tcp.local +# On subsequent accesses to the service, the GUID-based name is +# resolved, and that particular service instance is discovered, +# even if the user has subsequently changed the user-friendly +# name to something else. Note: Although each different logical +# service type needs to have its own different DNS-SD service +# type, all GUID-based names use the same pseudo-type: +# "_guid._tcp". There is no possibility of name conflict +# because (by definition) GUIDs are globally unique. +# H.323 Real-time audio, video +# h323 and data communication call [Will_MacDonald] [Will_MacDonald] Defined TXT keys: None +# setup protocol +# help HELP command [RFC1078] TCP Port Service Multiplexer (TCPMUX) +# hg Mercurial web-based Defined TXT keys: None path= description= +# hinz HINZMobil Synchronization [Jorg_Laschke] [Jorg_Laschke] Defined TXT keys: None +# hmcp Home Media Control Protocol [Will_Lahr] [Will_Lahr] Defined TXT keys: None +# home-sharing iTunes Home Sharing [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers, hQ, iTSh Version, MID, Database +# ID, dmb, Version, OSsi, hG, hC, Machine ID +# homeauto iDo Technology Home [Tony_de_Rijk] [Tony_de_Rijk] Defined TXT keys: None +# Automation Protocol +# honeywell-vid udp Honeywell Video Systems [Shankar_Prasad] [Shankar_Prasad] Defined TXT keys: None +# hotwayd Hotwayd Defined TXT keys: None +# howdy Howdy messaging and [Ozate_Inc] [Joseph_Sickel] 2011-10-12 Defined TXT keys: None +# notification protocol +# hpr-bldlnx HP Remote Build System for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: rh73, rhel3, rhel4, deb31, suse102 +# Linux-based Systems +# hpr-bldwin HP Remote Build System for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: xp, vista +# Microsoft Windows Systems +# Identifies systems that +# hpr-db house databases for the [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: bld, tst, mstr +# Remote Build System and +# Remote Test System +# hpr-rep HP Remote Repository for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: bld, tst, official +# Build and Test Results +# HP Remote System that houses +# hpr-toollnx compilers and tools for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: rh73, rhel3, rhel4, deb31, suse102 +# hpr-toolwin compilers and tools for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: xp, vista +# hpr-tstlnx HP Remote Test System for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: rh73, rhel3, rhel4, deb31, suse102 +# hpr-tstwin HP Remote Test System for [Jeffrey_J_Walls] [Jeffrey_J_Walls] Defined TXT keys: xp, vista +# hs-off Hobbyist Software Off [Rob_Jonson] [Rob_Jonson] Defined TXT keys: None +# htsp Home Tv Streaming Protocol [Andreas_Oman] [Andreas_Oman] Defined TXT keys: None +# Web browsers like Safari and Internet Explorer (with the +# Bonjour for Windows plugin) DO NOT browse for DNS-SD service +# type "_https._tcp" in addition to browsing for "_http._tcp". +# This is a conscious decision to reduce proliferation of +# service types, to help keep DNS-SD efficient on the network. +# Today, if a user types http://www.mybank.com/ into their web +# browser, the web server automatically redirects the user to +# https://www.mybank.com/. Rather than having an entirely +# different DNS-SD service type for https, we recommend using +# https tcp HTTP over SSL/TLS [Tim_Berners_Lee] [Tim_Berners_Lee] the same redirection mechanism: advertise a plain "http" +# service, which consists of nothing except an HTTP redirection +# to the desired "https" URL. Work is currently being done on +# adding mechanisms to HTTP and TLS to allow the server to tell +# the client that it needs to activate TLS on the current +# connection before proceeding. If this becomes widely adopted, +# it further justifies the decision to not create a separate +# DNS-SD service type "_https._tcp", because security becomes +# just another one of the things that is negotiated on a +# per-connection basis (like content-type negotiation today) +# rather than being an entirely separate thing. +# htvncconf udp HomeTouch Vnc Configuration [Yuval_Rakavy] [Yuval_Rakavy] 2012-07-10 Defined TXT keys: None +# hyperstream Atempo HyperStream [Laurent_Charmet] [Laurent_Charmet] Defined TXT keys: version=x.y.z.w uuid=<36 bytes UUID string> +# deduplication server host= +# ibiz iBiz Server [IGG_Software] [IGG_Software] Defined TXT keys: None +# ica-networking Image Capture Networking [Baskaran_Subramaniam] [Baskaran_Subramaniam] Defined TXT keys: None +# ican Northrup Grumman/TASC/ICAN [Laurent_Mihalkovic] [Laurent_Mihalkovic] Defined TXT keys: None +# ichalkboard iChalk [Math_Game_House_Soft] [Math_Game_House_Soft] Defined TXT keys: None +# ichat iChat 1.0 [Jens_Alfke] [Jens_Alfke] Defined TXT keys: Proprietary +# iconquer iConquer [Andrew_Zamler_Carhar] [Andrew_Zamler_Carhar] Defined TXT keys: None +# idata Generic Data Acquisition and [Carson_Fenimore] [Carson_Fenimore] Defined TXT keys: None +# idsync SplashID Synchronization [Justin_Cepelak] [Justin_Cepelak] Defined TXT keys: Proprietary +# ifolder Published iFolder [Brady_Anderson] [Brady_Anderson] Defined TXT keys: version=? +# ihouse Idle Hands iHouse Protocol [Toby_Smith] [Toby_Smith] Defined TXT keys: None +# ii-drills Instant Interactive Drills [Ricky_Sharp] [Ricky_Sharp] Defined TXT keys: None +# ii-konane Instant Interactive Konane [Ricky_Sharp] [Ricky_Sharp] Defined TXT keys: None +# ilynx iLynX [iOS_Software] [iOS_Software] Defined TXT keys: None +# imidi iMidi [Robert_Grant] [Robert_Grant] Defined TXT keys: None +# ims-ni tcp Noise Inspector [IMS_merilni_sistemi] [Metod_Celestina] 2012-08-24 Defined TXT keys: SN (serial number), SVER (software +# version), HVER (hardware version), PVER (protocol version)) +# indigo-dvr Indigo Security Digital [Haram_Lee] [Haram_Lee] Defined TXT keys: Proprietary +# Video Recorders +# infboard tcp InfBoard interactive [Eric_Sean_Conner] [Eric_Sean_Conner] 2011-10-17 Defined TXT keys: Proprietary +# whiteboard protocol +# inova-ontrack Inova Solutions OnTrack Defined TXT keys: None +# Display Protocol +# idcws Intermec Device [Thaddeus_Ternes] [Thaddeus_Ternes] Defined TXT keys: version= +# Configuration Web Services +# iota tcp iotaMed medical records [MITM] [Martin_Wehlou] 2011-10-18 Defined TXT keys: none +# ipbroadcaster IP Broadcaster [base_t_Interactive] [base_t_Interactive] Defined TXT keys: None +# ipspeaker IP Speaker Control Protocol [Dan_Mahn] [Dan_Mahn] Defined TXT keys: None +# ir-hvac-000 tcp HVAC SMIL Server [Ingersoll_Rand_Inc] [John_Taylor] 2011-09-28 Defined TXT keys: None +# irelay iRelay application discovery [Marc_Diamante] [Marc_Diamante] Defined TXT keys: Proprietary +# irmc Intego Remote Management [Olivier_Delecluse] [Olivier_Delecluse] Defined TXT keys: RMC Client Version=, MAC +# Console Address=
+# irradiatd-iclip tcp iClip clipboard transfer [Irradiated_Software] [Thomas_Tempelmann] 2012-06-19 Defined TXT keys: none +# isparx iSparx [Philipp_Dreiss] [Philipp_Dreiss] Defined TXT keys: None +# ispq-vc iSpQ VideoChat [Chris_Silverberg] [Chris_Silverberg] Defined TXT keys: None +# ishare iShare [Steve_Dekorte] [Steve_Dekorte] Defined TXT keys: None +# isticky iSticky [Insist] [Insist] Defined TXT keys: None +# istorm iStorm [Math_Game_House_Soft] [Math_Game_House_Soft] Defined TXT keys: None +# isynchronize tcp iSynchronize data [Smart_Apps_LTD] [Sergey_Bolshedvorsky] 2011-10-11 Defined TXT keys: none +# itap-publish tcp iTap Publishing Service [HLW_Software_Development_GmbH] [Michael_Lacher] 2011-10-11 Defined TXT keys: uuid= +# IT-IS International Ltd. Defined TXT keys: type= configuration= description= +# version= +# itsrc iTunes Socket Remote Control [Kevin_Leacock] [Kevin_Leacock] Defined TXT keys: None +# ivef Inter VTS Exchange Format [Harry_ten_Berge] [Harry_ten_Berge] Defined TXT keys: None +# iwork iWork Server [IGG_Software] [IGG_Software] Defined TXT keys: None +# jcan Northrup Grumman/TASC/JCAN [Laurent_Mihalkovic] [Laurent_Mihalkovic] Defined TXT keys: None +# jeditx Jedit X [Satoshi_Matsumoto] [Satoshi_Matsumoto] Defined TXT keys: None +# jini Jini Service Discovery [Daniel_Steinberg] [Daniel_Steinberg] Defined TXT keys: None +# Defined TXT keys: hash=<40hex characters> salt=<40hex +# jollys keychain cloud sync characters> uuid=<40hex characters> Example: +# jnx-kcsync tcp protocol [Patrick_Stein] [Patrick_Stein] 2011-10-24 hash=5e7580598c0d7064d4fc79faaeb42585e1a675f8 +# salt=f0164cb3a0c3d7efe75abea8fda86d2d56c8dda9 +# uuid=db61dc092922252e45bbb264f59147138c7fd5fa +# jtag Proprietary [Uwe_Ziegler] [Uwe_Ziegler] Defined TXT keys: blocked=, +# jukebox tcp Jukebox Request Service [Gary_Giebler_2] [Gary_Giebler_2] 2011-10-18 Defined TXT keys: None +# KeynoteAccess is used for +# sending remote +# keynoteaccess tcp requests/responses when [Apple] [Brad_Vaughan] 2011-10-12 Defined TXT keys: None +# controlling a slideshow with +# Keynote Remote +# KeynotePairing is used to +# keynotepairing tcp pair Keynote Remote with [Apple] [Brad_Vaughan] 2011-10-12 Defined TXT keys: None +# Keynote +# ktp Kabira Transaction Platform [Ramiro_Sarmiento] [Ramiro_Sarmiento] Defined TXT keys: None +# labyrinth udp Labyrinth local multiplayer [Andreas_Alptun] [Andreas_Alptun] Defined TXT keys: None +# lan2p Lan2P Peer-to-Peer Network [Ben_Guild] [Ben_Guild] Defined TXT keys: None +# lapse Gawker [Phil_Piwonka] [Phil_Piwonka] Defined TXT keys: None +# leaf Lua Embedded Application [Ico_Doornekamp] [Ico_Doornekamp] Defined TXT keys: name= product= version= +# lexicon Lexicon Vocabulary Sharing [Jacob_Godwin_Jones] [Jacob_Godwin_Jones] Defined TXT keys: None +# liaison Liaison [Brian_Cully] [Brian_Cully] Defined TXT keys: None +# Delicious Library 2 +# library Collection Data Sharing [William_Shipley] [William_Shipley] Defined TXT keys: None +# Protocol for setup and +# libratone control of Libratone [Libratone_AS] [Claus_Jensen] 2011-10-27 Defined TXT keys: None +# products +# licor LI-COR Biosciences [Software_LI-COR_Biosciences] [Kevin_Ediger] 2011-10-18 Defined TXT keys: None +# instrument discovery +# llrp-secure RFID reader Low Level Reader [Jason_Schoon_2] [Jason_Schoon_2] Defined TXT keys: None +# Protocol over SSL/TLS +# lobby Gobby [Gobby_0x539] [Gobby_0x539] Defined TXT keys: None +# logicnode udp Logic Pro Distributed Audio [Nikolaus_Gerteis] [Nikolaus_Gerteis] Defined TXT keys: None +# lonbridge Echelon LonBridge Server [Rich_Blomseth] [Rich_Blomseth] Defined TXT keys: None +# lontalk LonTalk over IP (ANSI 852) [Michael_Tennefoss] [Michael_Tennefoss] Defined TXT keys: None +# lonworks Echelon LNS Remote Client [Michael_Tennefoss] [Michael_Tennefoss] Defined TXT keys: None +# lsys-appserver Linksys One Application [Frank_Zerangue] [Frank_Zerangue] Defined TXT keys: path=value (relative URL) engname=value +# Server API (string) +# lsys-camera Linksys One Camera API [Frank_Zerangue] [Frank_Zerangue] Defined TXT keys: brand=value (string) model=value (string) +# version=value (string) +# Defined TXT keys: model=value (string) serial=value (sring) +# lsys-ezcfg LinkSys EZ Configuration [Frank_Zerangue] [Frank_Zerangue] hwversion=value (string) swversion=value (string) +# ifversion=value (string) type=value (string) mac=value (12 +# hex digits) +# LinkSys Operations, Defined TXT keys: model=value (string) serial=value (sring) +# lsys-oamp Administration, Management, [Frank_Zerangue] [Frank_Zerangue] hwversion=value (string) swversion=value (string) +# and Provisioning ifversion=value (string) type=value (string) mac=value (12 +# A protocol to remotely +# lumiere tcp control DMX512 devices over [Gangsta_Ltd] [Jean-Charles_Boude] 2011-10-13 Defined TXT keys: None +# the network +# lumis-lca tcp Lumis Cache Appliance [Lumis] [Rodrigo_Terra] 2011-10-24 Defined TXT keys: none +# lux-dtp Lux Solis Data Transport [Laurence_Flath] [Laurence_Flath] Defined TXT keys: None +# lxi LXI [Nick_Barendt_2] [Nick_Barendt_2] Defined TXT keys: txtvers, *IDN?= +# lyrics iPod Lyrics Service [Gary_Giebler] [Gary_Giebler] Defined TXT keys: Proprietary +# macfoh MacFOH [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macfoh-admin MacFOH admin services [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macfoh-audio udp MacFOH audio stream [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macfoh-events udp MacFOH show control events [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macfoh-data udp MacFOH realtime data [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macfoh-db MacFOH database [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macfoh-remote MacFOH Remote [Shaun_Wexler] [Shaun_Wexler] Defined TXT keys: None +# macminder Mac Minder [Luma_Code] [Luma_Code] Defined TXT keys: None +# maestro Maestro Music Sharing [Luke_Steffen] [Luke_Steffen] Defined TXT keys: None +# magicdice Magic Dice Game Protocol [Mike_Yenco] [Mike_Yenco] Defined TXT keys: None +# mandos Mandos Password Server [Mandos_Maintainers] [Mandos_Maintainers] Defined TXT keys: None +# matrix MATRIX Remote AV Switching [Ken_Jibiki] [Ken_Jibiki] Defined TXT keys: None +# mavlink tcp MAVLink Micro Air Vehicle [Roderick_Mann] [Roderick_Mann] 2011-10-20 Defined TXT keys: 0 +# mbconsumer MediaBroker++ Consumer [Nate_Rivard] [Nate_Rivard] Defined TXT keys: None +# mbproducer MediaBroker++ Producer [Nate_Rivard] [Nate_Rivard] Defined TXT keys: None +# mbserver MediaBroker++ Server [Nate_Rivard] [Nate_Rivard] Defined TXT keys: None +# mconnect ClairMail Connect [Sachin_Desai] [Sachin_Desai] Defined TXT keys: None +# mcrcp MediaCentral [equinux] [equinux] Defined TXT keys: None +# MediaBoardONE Asset and +# mediaboard1 Information Manager data [Thomas_K_Fischer] [Thomas_K_Fischer] Defined TXT keys: None +# sharing and synchronization +# mediatap tcp Mediatap streaming protocol [Mediatap_GbR] [Mario_Poerner] 2011-10-11 Defined TXT keys: Proprietary +# mesamis Mes Amis [David_Priest] [David_Priest] Defined TXT keys: None +# mi-raysat Mental Ray for Maya [Autodesk] [Autodesk] Defined TXT keys: None +# modolansrv modo LAN Services [Matt_Craig] [Matt_Craig] Defined TXT keys: None +# Authentication service for +# mogeneti-auth tcp Mogeneti Software [Mogeneti] [Bart_Rijpers] 2012-09-26 Defined TXT keys: none +# moneysync SplashMoney Synchronization [Justin_Cepelak] [Justin_Cepelak] Defined TXT keys: Proprietary +# MoneyWorks Gold and +# moneyworks MoneyWorks Datacentre [Rowan_Daniell] [Rowan_Daniell] Defined TXT keys: None +# network service +# moodring Bonjour Mood Ring tutorial [Daniel_Steinberg] [Daniel_Steinberg] Defined TXT keys: txtvers=1 mood= +# program +# mother Mother script server [Jonathan] [Jonathan] Defined TXT keys: user, ssl +# movieslate MovieSlate digital [Cliff_Joyce] [Cliff_Joyce] Defined TXT keys: Proprietary +# clapperboard +# mp3sushi MP3 Sushi [Alexandre_Carlhian] [Alexandre_Carlhian] Defined TXT keys: None +# mqtt IBM MQ Telemetry Transport [AndySC] [AndySC] Defined TXT keys: topics=, eg topic=/info +# mslingshot Martian SlingShot [Martin_Technology] [Martin_Technology] Defined TXT keys: displayName, passwordRequired, +# acceptsUpdates +# mumble Mumble VoIP communication [Thorvald_Natvig] [Thorvald_Natvig] Defined TXT keys: None +# musicmachine Protocol for a distributed [Johan_Mjones] [Johan_Mjones] Defined TXT keys: apiversion, passreq +# music playing service +# mysync MySync Protocol [Martin_Redington] [Martin_Redington] Defined TXT keys: None +# mttp MenuTunes Sharing [iThink_Software] [iThink_Software] Defined TXT keys: None +# mxim-art2 Maxim Integrated Products [Zach_Metzinger] [Zach_Metzinger] Defined TXT keys: Proprietary +# Automated Roadtest Mk II +# mxim-ice Maxim Integrated Products [Zach_Metzinger] [Zach_Metzinger] Defined TXT keys: Proprietary +# In-circuit Emulator +# Defined TXT keys: None mxs.system.id= +# mxs MatrixStore [Object_Matrix] [Object_Matrix] mxs.system.version= +# mxs.cluster.id= +# nasmon tcp Proprietary communication [Infinite_Loop] [Claus_Broch2] 2012-10-09 Defined TXT keys: Proprietary +# protocol for NAS Monitor +# nasmon udp Proprietary communication [Infinite_Loop] [Claus_Broch2] 2012-10-09 Defined TXT keys: Proprietary +# ncbroadcast Network Clipboard Broadcasts [Thom_McGrath] [Thom_McGrath] Defined TXT keys: Contact The ZAZ Software +# ncdirect Network Clipboard Direct [Thom_McGrath] [Thom_McGrath] Defined TXT keys: Contact The ZAZ Software +# The issuer service in the +# ncount-issuer tcp n-Count electronic value [n-Count_Technology_BV] [Eduard_de_Jong] 2013-01-22 Defined TXT keys: None +# transfer system +# ncsyncserver Network Clipboard Sync [Thom_McGrath] [Thom_McGrath] Defined TXT keys: Contact The ZAZ Software +# Lightweight event based +# nodel tcp control protocol utilising [Lumicom] [Michael_Cartmel] 2013-02-07 Defined TXT keys: None +# JavaScript Object Notation +# neoriders udp NeoRiders Client Discovery [Jesse_W_Towner] [Jesse_W_Towner] Defined TXT keys: None +# netrestore NetRestore [Mike_Bombich] [Mike_Bombich] Defined TXT keys: message, status, progress +# netvu-video tcp AD Group NetVu Connected [AD_Holdings] [Kelvin_Lawson] 2011-10-11 Defined TXT keys: none +# Video +# Proprietary communication +# nextcap tcp protocol for NextCap capture [NextDay_Aps] [Claus_Broch] 2012-04-24 Defined TXT keys: Proprietary +# solution +# nextcap udp protocol for NextCap capture [NextDay_Aps] [Claus_Broch] 2012-04-24 Defined TXT keys: Proprietary +# ni tcp National Instruments Network [National_Instruments] [Joshua_Prewitt] 2011-10-24 Defined TXT keys: MAC, DevClass, ProdId, ProdName, SerialNo, +# Device Status, ImgPath, Comment +# ni-rt tcp National Instruments [National_Instruments] [Joshua_Prewitt] 2011-10-24 Defined TXT keys: MAC, OS, OSVer, ProcArch +# Real-Time Target +# ni-sysapi tcp National Instruments System [National_Instruments] [Joshua_Prewitt] 2011-10-24 Defined TXT keys: MAC, Experts, Version +# API Service +# ntlx-arch American Dynamics Intellex [Gary_Sands] [Gary_Sands] Defined TXT keys: txtvers, macaddress, protovers, model, +# Archive Management Service serial +# American Dynamics Intellex Defined TXT keys: txtvers, macaddress, protovers, model, +# ntlx-ent Enterprise Management [Gary_Sands] [Gary_Sands] serial +# ntlx-video American Dynamics Intellex [Gary_Sands] [Gary_Sands] Defined TXT keys: txtvers, macaddress, protovers, model, +# Video Service serial, control, event +# ntx udp Tenasys [Carl_Ellis] [Carl_Ellis] Defined TXT keys: None +# obf Observations Framework [Matthew_Baker] [Matthew_Baker] Defined TXT keys: version= +# Means for clients to locate Defined TXT keys: txtvers='1' +# objective servers in an Objective [Marc_Bailey] [Marc_Bailey] type={'production'|'standby'|'test'|'demo'} +# (http://www.objective.com) protocol={['SOAP'],['CORBA']} transport=['iiop']|['http'] +# instance. +# Insecure OCP.1 protocol, +# oca tcp which is the insecure TCP/IP [OCA_Alliance] [Stephan_van_Tienen] 2012-10-11 Defined TXT keys: txtvers=1 protovers=x +# implementation of the Object +# Control Architecture +# oca udp which is the insecure TCP/IP [OCA_Alliance] [Stephan_van_Tienen] 2012-10-11 Defined TXT keys: txtvers=1 protovers=x +# Secure OCP.1 protocol, which +# ocasec tcp is the secure TCP/IP [OCA_Alliance] [Stephan_van_Tienen] 2012-10-11 Defined TXT keys: txtvers=1 protovers=x +# ocasec udp is the secure TCP/IP [OCA_Alliance] [Stephan_van_Tienen] 2012-10-11 Defined TXT keys: txtvers=1 protovers=x +# oce Oce Common Exchange Protocol [Dion_Slijp] [Dion_Slijp] Defined TXT keys: type, version +# od-master OpenDirectory Master [Jason_Thorpe] [Jason_Thorpe] Defined TXT keys: None +# odabsharing OD4Contact [Objective_Decision] [Objective_Decision] Defined TXT keys: None +# odisk Optical Disk Sharing [Bob_Bradley_2] [Bob_Bradley_2] Defined TXT keys: sys, dkX +# officetime-sync OfficeTime Synchronization [Support] [Support] Defined TXT keys: None +# ofocus-conf OmniFocus setting [Timothy_J_Wood] [Timothy_J_Wood] Defined TXT keys: None +# ofocus-sync OmniFocus document [Timothy_J_Wood] [Timothy_J_Wood] Defined TXT keys: Proprietary +# olpc-activity1 udp One Laptop per Child [One_Laptop_per_Child] [One_Laptop_per_Child] Defined TXT keys: Shared_Activity_Protocol_1.0 +# activity +# oma-bcast-sg OMA BCAST Service Guide [Stefan_Ekenberg] [Stefan_Ekenberg] Defined TXT keys: None +# Open Mobile Alliance (OMA) +# omadm-bootstrap tcp Device Management (DM) [Open_Mobile_Alliance] [Open_Mobile_Alliance_Device_Management_DM_Working_Group] 2011-08-19 Defined TXT keys: None +# Bootstrap Server Discovery +# omni-bookmark OmniWeb [The_Omni_Group] [The_Omni_Group] Defined TXT keys: None +# Service for remote control +# omni-live of Omnisphere virtual [Glenn_Olander_2] [Glenn_Olander_2] Defined TXT keys: omni-livetxt.html +# instrument +# openbase OpenBase SQL Defined TXT keys: None +# opencu udp Conferencing Protocol [Marc_Manthey_2] [Marc_Manthey_2] Defined TXT keys: None +# oprofile oprofile server protocol [Rob_Bradford] [Rob_Bradford] Defined TXT keys: None +# oscit udp Open Sound Control Interface [Gaspard_Bucher] [Gaspard_Bucher] Defined TXT keys: None +# ovready ObjectVideo OV Ready [Gary_Myers] [Gary_Myers] Defined TXT keys: txtvers, protovers +# owhttpd OWFS (1-wire file system) [Paul_H_Alfille] [Paul_H_Alfille] Defined TXT keys: txtvers +# web server +# parentcontrol Remote Parental Controls [John_Scalo] [John_Scalo] Defined TXT keys: None +# passwordwallet PasswordWallet Data [Sanford_Selznick] [Sanford_Selznick] Defined TXT keys: None +# pcast Mac OS X Podcast Producer [Nick_Brosnahan] [Nick_Brosnahan] Defined TXT keys: None +# p2pchat udp Peer-to-Peer Chat (Sample [Roger_Pantos] [Roger_Pantos] Defined TXT keys: None +# Java Bonjour application) +# p2pstorage-sec tcp DataBOND p2p storage [Dell] [Jessica_Zhang] 2012-11-19 Defined TXT keys: txtvers, machineid, status +# pairandshare tcp Pair & Share data protocol [Intel] [Joshua_Boelter] 2011-10-18 Defined TXT keys: Proprietary +# panoply tcp Panoply multimedia composite [Natarajan_Balasundar] [Natarajan_Balasundar] Defined TXT keys: None +# parabay-p2p tcp Parabay P2P protocol [Vishnu_Varadaraj] [Vishnu_Varadaraj] Defined TXT keys: None +# parity tcp PA-R-I-Ty (Public Address - [ims_Info] [Oskar_Persano] 2011-10-20 Defined TXT keys: Proprietary +# Radio - Intercom - Telefony) +# parity udp PA-R-I-Ty (Public Address - [ims_Info] [Oskar_Persano] 2011-10-20 Defined TXT keys: Proprietary +# pgpkey-hkp Horowitz Key Protocol (HKP) [Marc_Horowitz] [Marc_Horowitz] Defined TXT keys: None +# pgpkey-http PGP Keyserver using HTTP/1.1 [Jeroen_Massar_3] [Jeroen_Massar_3] Defined TXT keys: path= normally: "path=/pks/" +# pgpkey-https PGP Keyserver using HTTPS [Jeroen_Massar_3] [Jeroen_Massar_3] Defined TXT keys: path= +# SMTP +# photoparata Photo Parata Event [Sam_Carleton] [Sam_Carleton] Defined TXT keys: None +# Photography Software +# photosmithsync tcp Photosmith's iPad to [Photosmith] [Chris_Horne] 2011-10-27 Defined TXT keys: None +# Lightroom sync protocol +# pictua Pictua Intercommunication [Isaack_Rasmussen] [Isaack_Rasmussen] Defined TXT keys: None +# piesync pieSync Computer to Computer [Timothy_Wayper] [Timothy_Wayper] Defined TXT keys: None +# piu Pedestal Interface Unit by [James_Nikolai] [James_Nikolai] Defined TXT keys: None +# RPM-PSI +# poch Parallel OperatiOn and [Dean_Dauger] [Dean_Dauger] Defined TXT keys: None +# Control Heuristic (Pooch) +# podcastproxy tcp Protocol for communication [Moritz_Schmale] [Moritz_Schmale] 2011-10-07 Defined TXT keys: None +# between Podcast +# Communication channel for +# pokeeye "Poke Eye" Elgato EyeTV [Kristoffer_Lawson] [Kristoffer_Lawson] Defined TXT keys: None +# remote controller +# powereasy-erp PowerEasy ERP [Ulaganathan_Sriramul] [Ulaganathan_Sriramul] Defined TXT keys: ip, port, name, instance, cgi-alias, +# major-version, minor-version, custom +# powereasy-pos PowerEasy Point of Sale [Murthy_Parthasarathi] [Murthy_Parthasarathi] Defined TXT keys: ip, port, type, device-id, major-version, +# minor-version, custom +# pplayer-ctrl Piano Player Remote Control [Juraj_Zopp] [Juraj_Zopp] Defined TXT keys: Proprietary +# Defined TXT keys: See +# http://www.xmpp.org/registrar/linklocal.html Note: +# Registration updated May 2007. Was formerly listed as "iChat +# AV" (Apple's IM client for Mac OS X) with TXT keys: txtvers, +# port.p2pj, phsh, vc, 1st, AIM, msg, status, last When first +# shipped in Mac OS X 10.2, iChat's peer-to-peer messaging +# presence Peer-to-peer messaging / [XMPP_Registrar] [XMPP_Registrar] protocol was created to solve the problem of serverless +# Link-Local Messaging messaging between peers on the same link. However, there is +# nothing inherent in the protocol that limits it to being only +# link-local; it was simply an artifact of iChat in Mac OS X +# 10.2 using link-local Multicast DNS to discover peers. With +# the advent of Wide-Area DNS-SD, it is also possible to use +# iChat's peer-to-peer messaging between machines on different +# links. +# print-caps Retrieve a description of a [Troy_Bergstrand] [Troy_Bergstrand] Defined TXT keys: None +# device's print capabilities +# printopia tcp of "Printopia" application [Ecamm_Network_LLC] [Chris_Kent] 2011-10-24 Defined TXT keys: uuid = 55A346CB-C87C-4569-A4B0-248E6388893B +# software, which provides vers = 1.0 +# profilemac Profile for Mac medical [David_Sinclair_2] [David_Sinclair_2] Defined TXT keys: None +# practice management software +# prolog Prolog [Mike_Brady] [Mike_Brady] Defined TXT keys: version= +# protonet Protonet node and service [Ali_Jelveh] [Ali_Jelveh] Defined TXT keys: version, notes +# psap udp Progal Service Advertising [Soren_Weber] [Soren_Weber] Defined TXT keys: c0, c1, ..., cn +# Physical Security +# psia Interoperability Alliance [Frank_Yeh] [Frank_Yeh] Defined TXT keys: txtvers, protovers +# pstmailsync tcp File synchronization [Arrow_Bit_SL] [Javier_Nigro] 2012-04-26 Defined TXT keys: uuid= +# protocol for Pst Mail Sync +# pstmailsync-ssl tcp Secured file synchronization [Arrow_Bit_SL] [Javier_Nigro] 2012-04-26 Defined TXT keys: uuid= +# ptnetprosrv2 PTNetPro Service [Apple_Computer] [Apple_Computer] Defined TXT keys: None Profiling and performance analysis +# protocol for Shark 4.0 and BigTop. +# ptp-init tcp Picture Transfer [Canon_Inc] [Tatsuhiko_Sakai] 2011-10-03 Defined TXT keys: srvver, mn, mf, md, srv, tid +# Protocol(PTP) Initiator +# ptp-req PTP Initiation Request [Mark_Wood] [Mark_Wood] Defined TXT keys: txtvers, guid, c0, c1, c2, ..., where the +# Protocol number of c_n attributes is variable +# puzzle Protocol used for puzzle [Michael_Thomason] [Michael_Thomason] Defined TXT keys: None +# games +# pvaccess tcp Experimental Physics and [Matej_Sekoranja] [Matej_Sekoranja] 2012-03-23 Defined TXT keys: None +# qbox QBox Appliance Locator [Geoff_Back_4] [Geoff_Back_4] Defined TXT keys: None +# qttp QuickTime Transfer Protocol [Stuart_Cheshire_5] [Stuart_Cheshire_5] Defined TXT keys: u= p= path= (Same as for _http._tcp) +# quad tcp Distributed Game Data [Niall_Hogg] [Niall_Hogg] 2011-10-25 Defined TXT keys: Proprietary +# quinn Quinn Game Server [Simon_Haertel] [Simon_Haertel] Defined TXT keys: None +# rakket Rakket Client Protocol [Orion_Reblitz_Richar] [Orion_Reblitz_Richar] Defined TXT keys: None +# radiotag RadioTAG: Event tagging for [Andy_Buckingham] [Andy_Buckingham] Defined TXT keys: None +# radio services +# radiovis RadioVIS: Visualisation for [Andy_Buckingham] [Andy_Buckingham] Defined TXT keys: None +# RadioEPG: Electronic +# radioepg Programme Guide for radio [Andy_Buckingham] [Andy_Buckingham] Defined TXT keys: None +# services +# radioport tcp RadioPort Message Service [Bob_Iannucci] [Bob_Iannucci] 2011-11-23 Defined TXT keys: NONE +# radioport udp RadioPort Message Service [Bob_Iannucci] [Bob_Iannucci] 2011-11-23 Defined TXT keys: NONE +# raop Remote Audio Output Protocol [BonjourDev] [BonjourDev] 2011-10-14 Defined TXT keys: None +# (AirTunes) +# rbr RBR Instrument Communication [Greg_Johnson] [Greg_Johnson] Defined TXT keys: None +# rce PowerCard [DeVoeSquared] [DeVoeSquared] Defined TXT keys: None +# rdp Windows Remote Desktop [Jugaari] [Jugaari] Defined TXT keys: None +# realplayfavs RealPlayer Shared Favorites [RealNetworks] [RealNetworks] Defined TXT keys: None +# recipe-box tcp The Recipe Box Exchange [Corpus_Collusion] [Kathy_Tafel] 2011-08-23 Defined TXT keys: txtvers +# recipe-sharing tcp Recipe Sharing Protocol [Daniel_G_Taylor] [Daniel_G_Taylor] 2007-11 Defined TXT keys: +# [http://www.recipemanager.org/rsp/rsp10draft.html#dnssd] +# recolive-cc tcp Remote Camera Control [RecoLive_S`arl] [Gabriele_Mondada] 2012-08-29 Defined TXT keys: txtvers, cid, nbd, cap +# recolive-cc udp Remote Camera Control [RecoLive_S`arl] [Gabriele_Mondada] 2012-08-29 Defined TXT keys: txtvers, cid, nbd, cap +# Remote Device Control Defined TXT keys: txtvers= +# remote Protocol [Gregory_Dudek] [Gregory_Dudek] protovers= forground= version= +# remoteburn LaCie Remote Burn [Serge_DE_LUCA] [Serge_DE_LUCA] Defined TXT keys: server_version, min_client_version +# renderpipe ARTvps RenderDrive/PURE [Andrew_Hoddinott] [Andrew_Hoddinott] Defined TXT keys: None +# Renderer Protocol +# rendezvouspong RendezvousPong [Math_Game_House_Soft] [Math_Game_House_Soft] Defined TXT keys: None +# renkara-sync Renkara synchronization [Michael_J_Primeaux] [Michael_J_Primeaux] Defined TXT keys: None +# resol-vbus RESOL VBus [Daniel_Wippermann] [Daniel_Wippermann] Defined TXT keys: None +# retrospect Retrospect backup and [Michael_Marks] [Michael_Marks] Defined TXT keys: None +# Remote Frame Buffer Client Defined TXT keys: server=dns-name/ip-address:port of +# rfbc (Used by VNC viewers in [Ole_Morten_Duesund] [Ole_Morten_Duesund] currently displayed VNC server. Empty if not showing +# listen-mode) anything/available. +# rfid RFID Reader Mach1(tm) [Paul_Dietrich] [Paul_Dietrich] Defined TXT keys: None +# rgb tcp RGB Spectrum Device [RGB_Spectrum] [Steve_Hershey] 2011-10-10 Defined TXT keys: Keyboard, Mouse, Option1, Option2, Option3, +# Discovery Option4, ModelName +# riousbprint Remote I/O USB Printer [Rob_Newberry] [Rob_Newberry] Defined TXT keys: See BonjourPrinting.pdf. +# roku-rcp Roku Control Protocol [Don_Woodward] [Don_Woodward] Defined TXT keys: txtvers=1 +# rql RemoteQuickLaunch [Daniel_Heffernan] [Daniel_Heffernan] Defined TXT keys: None +# rsmp-server Remote System Management [Geoff_Back_3] [Geoff_Back_3] Defined TXT keys: apiver= +# Protocol (Server Instance) +# rubygems RubyGems GemServer [Rich_Kilmer] [Rich_Kilmer] Defined TXT keys: None +# rym-rrc tcp Raymarine remote control [Raymarine_UK_Limited] [Geoffrey_Beer] 2012-05-24 2012-06-04 Defined TXT keys: raymarine-mfd-rrc-version, +# protocol raymarine-mfd-model, raymarine-mfd-serial +# safarimenu Safari Menu [Jesus_De_Meyer] [Jesus_De_Meyer] Defined TXT keys: None +# sallingbridge Salling Clicker Sharing [Jonas_Salling] [Jonas_Salling] Defined TXT keys: None +# sallingclicker Salling Clicker Service [Jonas_Salling] [Jonas_Salling] Defined TXT keys: None +# Salutafugi Peer-To-Peer Java +# salutafugijms Message Service [David_Walend] [David_Walend] Defined TXT keys: SalutaProperties +# Implementation +# sandvox Sandvox [Karelia_Software] [Karelia_Software] Defined TXT keys: None +# savagesoft tcp Proprietary Client Server [Andy_Savage] [Andy_Savage] 2012-07-13 Defined TXT keys: None +# sc-golf StrawberryCat Golf Protocol [Phil_Willoughby] [Phil_Willoughby] Defined TXT keys: None +# scanner Bonjour Scanning [Baskaran_Subramaniam] [Baskaran_Subramaniam] Defined TXT keys: None +# schick Schick [Heiko_Kretschmer] [Heiko_Kretschmer] Defined TXT keys: None +# scone Scone [James_Moore] [James_Moore] Defined TXT keys: None +# scpi-raw IEEE 488.2 (SCPI) Socket [Nick_Barendt_3] [Nick_Barendt_3] Defined TXT keys: None +# scpi-telnet IEEE 488.2 (SCPI) Telnet [Nick_Barendt_3] [Nick_Barendt_3] Defined TXT keys: None +# sdsharing Speed Download [Yazsoft] [Yazsoft] Defined TXT keys: None +# see SubEthaEdit 2 [TheCodingMonkeys] [TheCodingMonkeys] Defined TXT keys: txtvers=1, name=, userid=, version=2 +# seeCard seeCard [Stefan_Pantke] [Stefan_Pantke] Defined TXT keys: None +# senteo-http Senteo Assessment Software [Michael_Boyle] [Michael_Boyle] Defined TXT keys: None +# sentillion-vlc Sentillion Vault System [George_Hartz] [George_Hartz] Defined TXT keys: None +# sentillion-vlt Sentillion Vault Systems [George_Hartz] [George_Hartz] Defined TXT keys: None +# Cluster +# sepvsync SEPV Application Data [Kazuya_Ogata] [Kazuya_Ogata] Defined TXT keys: Proprietary +# serendipd serendiPd Shared Patches for [Hans_Christoph_Stein] [Hans_Christoph_Stein] Defined TXT keys: None +# Pure Data +# servereye ServerEye AgentContainer [Andreas_Behr] [Andreas_Behr] Defined TXT keys: None +# servermgr Mac OS X Server Admin [Jeff_Albouze] [Jeff_Albouze] Defined TXT keys: None +# services DNS Service Discovery [Stuart_Cheshire_5][Marc_Krochmal] [Stuart_Cheshire_5][Marc_Krochmal] Not a service type. Special name reserved for DNS-SD meta +# sessionfs Session File Sharing [Anthony_Williams] [Anthony_Williams] Defined TXT keys: Text keys are the file extensions of any +# file the user plans to share, i.e. pdf, doc, mp3. +# sftp-ssh Secure File Transfer [Bryan_Cole] [Bryan_Cole] Defined TXT keys: u= p= path= +# Protocol over SSH +# Defined TXT keys: username The login username to use +# Window Shifter server (optional) ssh_tunnel Whether an SSH tunnel must be used +# shifter protocol [Antoine_Martin] [Antoine_Martin] (required) iface The network interface the server is on +# (required - may be empty) version Software version (required) +# ID Server Identifier (requried) +# shipsgm Swift Office Ships [Verek] [Verek] Defined TXT keys: None +# shipsinvit Swift Office Ships [Verek] [Verek] Defined TXT keys: None +# shoppersync SplashShopper [Justin_Cepelak] [Justin_Cepelak] Defined TXT keys: Proprietary +# Synchronization Service +# shoutcast Nicecast [Rogue_Amoeba_2] [Rogue_Amoeba_2] Defined TXT keys: None +# Medical simulation patient +# simmon monitor syncronisation [Niels_Castle] [Niels_Castle] Defined TXT keys: None +# simusoftpong simusoftpong iPhone game [Anders_Svensson] [Anders_Svensson] Defined TXT keys: Proprietary +# sipver SIP version +# sipstd RFC number of SIP standard to comply with +# realm SIP realm (see RFC3261) +# fromuser username for SIP "from" header (see RFC3261) +# fromdomain domain for SIP "from" header (see RFC3261) +# registrar SIP registrar (see RFC3261) +# sip udp Session Initiation Protocol, [Benjamin_Kowarsch] [Benjamin_Kowarsch] proxy SIP proxy (see RFC3261) +# signalling protocol for VoIP natproxy SIP proxy for NATed clients +# outproxy outbound SIP proxy (see RFC3261) +# stunserver STUN server DNS name or IP address +# contact SIP URI (see RFC3261) +# dtmfmode inband | rfc2833 | sipinfo +# welcome SIP URI (see RFC3261) +# voicemail SIP URI (see RFC3261) +# reception SIP URI (see RFC3261) +# echotest SIP URI (see RFC3261) +# ivrtest SIP URI (see RFC3261) +# Further TXT record keys may be added in the future. +# sipuri Session Initiation Protocol [Jae_Woo_Lee] [Jae_Woo_Lee] Defined TXT keys: Defined in URL specification +# Uniform Resource Identifier +# sironaxray Sirona Xray Protocol [Michael_Dalpiaz] [Michael_Dalpiaz] Defined TXT keys: Manufacturer=Sirona +# skype Skype Defined TXT keys: platform, status, auth, rversion, version +# sleep-proxy udp Sleep Proxy Server [Stuart_Cheshire_5][Marc_Krochmal] [Stuart_Cheshire_5][Marc_Krochmal] Defined TXT keys: None +# slimcli SliMP3 Server Command-Line [Dean_Blackketter_2] [Dean_Blackketter_2] Defined TXT keys: None +# slimhttp SliMP3 Server Web Interface [Dean_Blackketter_2] [Dean_Blackketter_2] Defined TXT keys: None +# smartenergy Smart Energy Profile [Robby_Simpson] [Robby_Simpson] Defined TXT keys: See http://www.zigbee.org/SmartEnergy +# smartsocket tcp home control [Robert_Diamond] [Robert_Diamond] 2012-07-06 Defined TXT keys: None +# smb Server Message Block over Defined TXT keys: u= p= path= +# TCP/IP +# sms Short Text Message Sending [Christian_Flintrup] [Christian_Flintrup] Defined TXT keys: Proprietary +# and Delivery Status Service +# Syncellence file Defined TXT keys: device= protocol= os= osver= +# soap Simple Object Access [Andrew_Donoho] [Andrew_Donoho] Defined TXT keys: None +# socketcloud Socketcloud distributed [Robert_Goodyear] [Robert_Goodyear] Defined TXT keys: system, service, process, context, +# application framework direction, status, progress, health, directive, flags +# sox Simple Object eXchange [Igor_Mozolevsky] [Igor_Mozolevsky] Defined TXT keys: Proprietary +# sparechange SpareChange data sharing [Dave_Carrigan] [Dave_Carrigan] Defined TXT keys: None +# spearcat sPearCat Host Discovery [Pierre_Frisch_2] [Pierre_Frisch_2] Defined TXT keys: applicationname=, +# osname=, sslsupport= +# spidap tcp Sierra Photonics Inc. data [Sierra_Photonics_Inc] [Support_Staff] 2011-10-20 Defined TXT keys: None +# spincrisis Spin Crisis [Sphera_Software] [Sphera_Software] Defined TXT keys: None +# spl-itunes launchTunes [David_Nanian_2] [David_Nanian_2] Defined TXT keys: None +# spr-itunes netTunes [David_Nanian_2] [David_Nanian_2] Defined TXT keys: None +# splashsync SplashData Synchronization [Justin_Cepelak] [Justin_Cepelak] Defined TXT keys: Proprietary +# spres tcp SongPresenter [Tobias_Hoffmann] [Tobias_Hoffmann] 2012-10-09 Defined TXT keys: version, name +# ss-sign tcp Samsung Smart Interaction [Samsung] [Lee_HoJun] 2013-01-03 Defined TXT keys: None +# for Group Network +# ss-sign-disc udp Samsung Smart Interaction [Samsung] [Lee_HoJun] 2013-01-03 Defined TXT keys: None +# for Group Network Discovery +# Defined TXT keys: txtvers=1 cport= the port for the content +# HTTP server (secondary HTTP server used for content +# publishing) mode= the mode in which the HMP device is +# spx-hmp tcp SpinetiX HMP [SpinetiX_S_A] [Diego_Santa_Cruz] 2011-10-18 currently operating, one of "normal", "safe" or "recovery" +# serial= serial number of the HMP device firmware= firmware +# version string (e.g., 2.1.0-0.1.7844) model= model string +# (e.g., HMP100) +# ssh tcp SSH Remote Login Protocol [Tatu_Ylonen] [Tatu_Ylonen] Defined TXT keys: u= p= +# ssscreenshare Screen Sharing Defined TXT keys: None +# strateges Strateges [Jean_Olivier_Lanctot] [Jean_Olivier_Lanctot] Defined TXT keys: None +# sge-exec Sun Grid Engine (Execution [Bill_Van_Etten] [Bill_Van_Etten] Defined TXT keys: None +# Host) +# sge-qmaster Sun Grid Engine (Master) [Bill_Van_Etten] [Bill_Van_Etten] Defined TXT keys: None +# soda tcp Secure On Device API [Smith_Micro_Software_Inc] [David_Sperling_2] 2011-10-10 Defined TXT keys: a. ssid= b. +# bssid= +# souschef SousChef Recipe Sharing [Ben] [Ben] Defined TXT keys: None +# Defined TXT keys: txtvers=1 path= protovers= [if not specified then default +# SPARQL Protocol and RDF is 1.0, corresponding to SPARQL version] binding= [if not specified then default is HTTP] vocabs= [RDF vocabularies or OWL ontologies +# used by the endpoint] metadata= [to fetch RDF/XML +# description of SPARQL service] +# sqp tcp Square Connect Control [Square_Connect_Inc] [Mat_Henshall] 2011-10-07 Defined TXT keys: Proprietary +# stanza Lexcycle Stanza service for [Marc_Prud_hommeaux] [Marc_Prud_hommeaux] Defined TXT keys: None +# discovering shared books +# stickynotes Sticky Notes [Johnnie_Walker] [Johnnie_Walker] Defined TXT keys: None +# stotp tcp One Time Pad Synchronisation [softthere_com] [James_Crosby] 2011-10-17 Defined TXT keys: None +# supple Supple Service protocol [Dave_Christianson] [Dave_Christianson] Defined TXT keys: type url +# surveillus Surveillus Networks [Mark_Lewis_3] [Mark_Lewis_3] Defined TXT keys: None +# svn Subversion [CollabNet] [CollabNet] Defined TXT keys: None +# swcards Signwave Card Sharing [Signwave_Networking] [Signwave_Networking] Defined TXT keys: None +# switcher Wireless home control remote [Steve_Splonskowski] [Steve_Splonskowski] Defined TXT keys: None +# swordfish Swordfish Protocol for [Jim_Wallace] [Jim_Wallace] Defined TXT keys: None +# Input/Output +# Framework for transferring +# swyp any file from any app, to [ExoMachina] [Alexander_List] 2011-12-06 Defined TXT keys: NONE +# any app on any device: +# simply with a swyp. +# sxqdea Synchronize! Pro X [Qdea] [Qdea] Defined TXT keys: None +# sybase-tds Sybase Server Defined TXT keys: None +# syncopation Syncopation Synchronization [Sonzea] [Sonzea] Defined TXT keys: None +# Protocol by Sonzea +# syncqdea Synchronize! X Plus 2.0 [Qdea] [Qdea] Defined TXT keys: None +# synergy Synergy Peer Discovery [Karl_Timmermann] [Karl_Timmermann] Defined TXT keys: None +# synksharing SynkSharing synchronization [Benjamin_Rister] [Benjamin_Rister] Defined TXT keys: None +# taccounting Data Transmission and [John_MacMullin] [John_MacMullin] Defined TXT keys: None +# tango Tango Remote Control [Tony_Amundson] [Tony_Amundson] Defined TXT keys: None +# tapinoma-ecs Tapinoma Easycontact [Bonjour] [Bonjour] Defined TXT keys: None +# receiver +# Task Coach Two-way +# taskcoachsync Synchronization Protocol for [Jerome_Laheurte] [Jerome_Laheurte] Defined TXT keys: None +# iPhone +# Defined TXT keys: txtvers=1, sesna, seid, setype, cosna, +# tbricks tbricks internal protocol [Joakim_Johansson] [Joakim_Johansson] coid, cotype, sysna, syna, syid, subsyid, venid, protocols, +# pid +# tcode Time Code [Marshall_Anschutz] [Marshall_Anschutz] Defined TXT keys: None +# tcu Tracking Control Unit by [James_Nikolai] [James_Nikolai] Defined TXT keys: None +# te-faxserver TE-SYSTEMS GmbH Fax Server [Tobias_Erichsen] [Tobias_Erichsen] Defined TXT keys: Proprietary +# teamlist ARTIS Team Task [ARTIS_Software] [ARTIS_Software] Defined TXT keys: None +# teleport udp teleport [Julien_Robert] [Julien_Robert] Defined TXT keys: None +# tenir-rc tcp Proprietary [Tenir_Software] [Steve_Gums] 2011-10-27 Defined TXT keys: Proprietary +# tera-fsmgr Terascala Filesystem Manager [Mike_Nuss] [Mike_Nuss] Defined TXT keys: Proprietary +# tera-mp Terascala Maintenance [Mike_Nuss] [Mike_Nuss] Defined TXT keys: Proprietary +# test-ok tcp Test Controller Card [TEST-OK_BV] [Jeroen_Ommering] 2012-09-05 Defined TXT keys: TEST-OK Test Controller Card TCCxxxx +# tf-redeye ThinkFlood RedEye IR bridge [Matt_Eagar] [Matt_Eagar] Defined TXT keys: None +# thumbwrestling tinkerbuilt Thumb Wrestling [Jamie_Halmick] [Jamie_Halmick] Defined TXT keys: None +# game +# ticonnectmgr TI Connect Manager Discovery [Stephen_Reid] [Stephen_Reid] Defined TXT keys: None +# tinavigator TI Navigator Hub 1.0 [Stephen_Reid] [Stephen_Reid] Defined TXT keys: None +# tivo-device tcp TiVo Device Protocol [TiVo_Inc] [Developer_Support_2] 2011-10-18 Defined TXT keys: None +# tivo-hme TiVo Home Media Engine [Developer_Support] [Developer_Support] Defined TXT keys: None +# tivo-mindrpc tcp TiVo RPC Protocol [TiVo_Inc] [Developer_Support_2] 2011-10-18 Defined TXT keys: None +# tivo-music TiVo Music Protocol [Developer_Support] [Developer_Support] Defined TXT keys: None +# tivo-photos TiVo Photos Protocol [Developer_Support] [Developer_Support] Defined TXT keys: None +# tivo-remote TiVo Remote Protocol [Developer_Support] [Developer_Support] Defined TXT keys: protocol, path, swversion, platform, TSN +# tivo-videos TiVo Videos Protocol [Developer_Support] [Developer_Support] Defined TXT keys: protocol, path, swversion, platform, TSN +# todogwa 2Do Sync Helper Tool for Mac [Fahad_Gilani] [Fahad_Gilani] Defined TXT keys: None +# OS X and PCs +# tomboy Tomboy [Alex_Graveley] [Alex_Graveley] Defined TXT keys: None +# toothpicserver ToothPics Dental Office [Milton_Pulis] [Milton_Pulis] Defined TXT keys: None +# Support Server +# touch-able iPhone and iPod touch Remote [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers, CtlN, DbId, Ver, DvTy, OSsi, DvSv +# Controllable +# touch-remote iPhone and iPod touch Remote [Amandeep_Jawa_3] [Amandeep_Jawa_3] Defined TXT keys: txtvers, DvNm, Pair, RemV, RemN, DvTy +# Pairing +# tri-vis-client triCerat Simplify Visibility [Christopher_Karper] [Christopher_Karper] Defined TXT keys: None +# tri-vis-server triCerat Simplify Visibility [Christopher_Karper] [Christopher_Karper] Defined TXT keys: None +# tryst Tryst [Francisco_Ryan_Tolma] [Francisco_Ryan_Tolma] Defined TXT keys: None +# The Social Broadband Defined TXT keys: there is no TXT keys defined for this +# tsbiis tcp Interference Information [Sergio_Luis] [Sergio_Luis] 2012-02-27 protocol +# Sharing +# tt4inarow Trivial Technology's 4 in a [Nicolas_Payette] [Nicolas_Payette] Defined TXT keys: None +# Row +# ttcheckers Trivial Technology's [Nicolas_Payette] [Nicolas_Payette] Defined TXT keys: None +# Checkers +# ttp4daemon TechTool Pro 4 Anti-Piracy [Micromat] [Micromat] Defined TXT keys: None +# tunage Tunage Media Control Service [Matt_Patenaude] [Matt_Patenaude] Defined TXT keys: None +# tuneranger TuneRanger [Acertant] [Acertant] Defined TXT keys: None +# twinlevel tcp detect sanitary product [Oblamatik_AG] [Simon_Ensslen] 2012-09-05 Defined TXT keys: None +# TZ-Software remote procedure +# tzrpc tcp call based synchronization [Thomas_Zwick] [Thomas_Zwick] 2011-10-12 Defined TXT keys: Proprietary +# ubertragen Ubertragen [Widgetschmie_de] [Widgetschmie_de] Defined TXT keys: None +# uddi Universal Description, [Paul_Denning] [Paul_Denning] Defined TXT keys: TBD +# Discovery and Integration +# Universal Description, +# uddi-inq Discovery and Integration [Paul_Denning] [Paul_Denning] Defined TXT keys: TBD +# Inquiry +# uddi-pub Discovery and Integration [Paul_Denning] [Paul_Denning] Defined TXT keys: TBD +# Publishing +# uddi-sub Discovery and Integration [Paul_Denning] [Paul_Denning] Defined TXT keys: TBD +# Subscription +# uddi-sec Discovery and Integration [Paul_Denning] [Paul_Denning] Defined TXT keys: TBD +# upnp Universal Plug and Play [Andrew_Donoho] [Andrew_Donoho] Defined TXT keys: None +# urlbookmark URL Advertising [Sven_S_Porst] [Sven_S_Porst] Defined TXT keys: URL=, name= +# uswi Universal Switching [Roger_Lemberg] [Roger_Lemberg] Defined TXT keys: None +# Corporation products +# utest uTest [Gregory_Power] [Gregory_Power] Defined TXT keys: None +# uwsgi Unbit Web Server Gateway [Roberto_De_Ioris] [Roberto_De_Ioris] Defined TXT keys: None +# ve-decoder American Dynamics VideoEdge [Gary_Sands] [Gary_Sands] Defined TXT keys: txtvers, macaddress, protovers, model, +# Decoder Control Service serial, path, idp +# ve-encoder American Dynamics VideoEdge [Gary_Sands] [Gary_Sands] Defined TXT keys: txtvers, macaddress, protovers, model, +# Encoder Control Service serial, path, idp +# ve-recorder American Dynamics VideoEdge [Gary_Sands] [Gary_Sands] Defined TXT keys: txtvers, macaddress, protovers, model, +# Recorder Control Service serial, path, idp +# virtualdj VirtualDJ Remote Control [Atomix_Productions] [Stephane_Clavel] 2011-10-12 Defined TXT keys: None +# Defined TXT keys: Version= Type= Name= Zone= ID= +# SString= SString1= +# Virtual Object System (using Defined TXT keys: url= +# vos VOP/TCP) [Reed_Hedges][Peter_Amstutz] [Reed_Hedges][Peter_Amstutz] type= title= descr= +# vue4rendercow VueProRenderCow Defined TXT keys: None +# vxi-11 VXI-11 TCP/IP Instrument [Nick_Barendt_2] [Nick_Barendt_2] Defined TXT keys: None +# wakeywakey tcp Proprietary [gerry_Brown_associates] [Gerry_Brown] 2012-11-29 Defined TXT keys: None +# walkietalkie Walkie Talkie [Johan_Kool] [Johan_Kool] Defined TXT keys: None +# wd-2go tcp NAS Service Protocol [Western_Digital] [Rajesh_Batra] 2012-07-11 Defined TXT keys: None +# we-jell Proprietary collaborative [Vaughn_Amann] [Vaughn_Amann] Defined TXT keys: user= stat= agent= +# World Wide Web Distributed +# webdav Authoring and Versioning [Y_Y_Goland] [Y_Y_Goland] Defined TXT keys: u= p= path= +# (WebDAV) +# webdavs WebDAV over SSL/TLS [Y_Y_Goland] [Y_Y_Goland] Defined TXT keys: u= p= path= +# webissync WebIS Sync Protocol [Alex_Kac] [Alex_Kac] Defined TXT keys: None +# wedraw weDraw document sharing [Oleksandr_Zakharchuk] [Oleksandr_Zakharchuk] Defined TXT keys: None +# whamb Whamb [Whamb] [Whamb] Defined TXT keys: None +# whistler Honeywell Video Systems [Shankar_Prasad_2] [Shankar_Prasad_2] Defined TXT keys: None +# wicop udp WiFi Control Platform [Santorini_LLC] [Cameron_Colpitts] 2011-10-25 Defined TXT keys: state= loc= +# witap WiTap Sample Game Protocol [Rory_McGuire_2] [Rory_McGuire_2] Defined TXT keys: None +# witapvoice witapvoice [Roberto_Garcia] [Roberto_Garcia] Defined TXT keys: None +# wkgrpsvr Workgroup Server Discovery [Forest_Hill] [Forest_Hill] Defined TXT keys: None +# workstation Workgroup Manager [Kevin_Arnold] [Kevin_Arnold] Defined TXT keys: None +# wormhole Roku Cascade Wormhole [Don_Woodward] [Don_Woodward] Defined TXT keys: txtvers=1 +# workgroup Novell collaboration [Brady_Anderson] [Brady_Anderson] Defined TXT keys: version=? description=? +# workgroup +# writietalkie Writie Talkie Data Sharing [Yin_Ki_Lau] [Yin_Ki_Lau] Defined TXT keys: None +# ws Web Services [Andrew_Donoho] [Andrew_Donoho] Defined TXT keys: None +# wtc-heleos Wyatt Technology Corporation [Brent_Fulgham] [Brent_Fulgham] Defined TXT keys: None +# HELEOS +# wtc-qels Wyatt Technology Corporation [Brent_Fulgham] [Brent_Fulgham] Defined TXT keys: None +# QELS +# wtc-rex Wyatt Technology Corporation [Roy_Reapor] [Roy_Reapor] Defined TXT keys: None +# Optilab rEX +# wtc-viscostar Wyatt Technology Corporation [Roy_Reapor] [Roy_Reapor] Defined TXT keys: None +# ViscoStar +# wtc-wpr Wyatt Technology Corporation [Brent_Fulgham] [Brent_Fulgham] Defined TXT keys: None +# DynaPro Plate Reader +# wwdcpic PictureSharing sample code [Marc_Krochmal] [Marc_Krochmal] Defined TXT keys: None +# x-on x-on services [Matthias_Burghardt] [Matthias_Burghardt] Defined TXT keys: Proprietary +# synchronisation protocol +# x-plane9 udp x-plane9 [Austin_Meyer] [Austin_Meyer] Defined TXT keys: None +# xcodedistcc Xcode Distributed Compiler [Scott_Tooker] [Scott_Tooker] Defined TXT keys: None +# xgate-rmi xGate Remote Management [Tim_Jobling] [Tim_Jobling] Defined TXT keys: tech=value (string) model=value (string) +# Interface version=value (string) +# xmiserver tcp XMI Systems home terminal [XMI_Systems_SA] [CLAUDE_MALLY] 2013-01-18 Defined TXT keys: coucou +# local connection +# xmp Xperientia Mobile Protocol [Henric_Bergh] [Henric_Bergh] 2007-01 Defined TXT keys: txtvers, user, system, nodeid, desc +# xsanclient Xsan Client [Jeff_Albouze] [Jeff_Albouze] Defined TXT keys: None +# xsanserver Xsan Server [Jeff_Albouze] [Jeff_Albouze] Defined TXT keys: None +# xsansystem Xsan System [Jeff_Albouze] [Jeff_Albouze] Defined TXT keys: None +# xtimelicence xTime License [AppMac_Software] [AppMac_Software] Defined TXT keys: None +# xtshapro xTime Project [AppMac_Software] [AppMac_Software] Defined TXT keys: None +# XUL (XML User Interface Defined TXT keys: u= p= path= (Same as for _http._tcp) +# HTTP +# yakumo udp Yakumo iPhone OS Device [Daniel_Heffernan] [Daniel_Heffernan] Defined TXT keys: None +# z-wave tcp Z-Wave Service Discovery [Sigma_Designs_Inc] [Anders_Brandt_2] 2011-10-03 Defined TXT keys: NIF, EP, LM +# z-wave udp Z-Wave Service Discovery [Sigma_Designs_Inc] [Anders_Brandt_2] 2011-10-03 Defined TXT keys: NIF, EP, LM +# zeromq tcp High performance brokerless [Daniel_Holth] [Daniel_Holth] 2012-04-24 Defined TXT keys: type, app, label, note +# zeromq udp High performance brokerless [Daniel_Holth] [Daniel_Holth] 2012-04-24 Defined TXT keys: type, app, label, note +# +# People +# +# ID Name Organization Contact URI Last +# Updated +# [AMTEC_S_p_A] AMTEC S.p.A mailto:sp.amtec&interbusiness.it +# [APCO_Project] Steve Glass APCO Project 25 mailto:admin&sedition.org.au 2011-05-13 +# [ARTIS_Software] ARTIS Software mailto:contact&artissoftware.com +# [ASDIS_Support] ASDIS Support mailto:support&asdis.de 2005-08 +# [A_Blake_Cooper] A. Blake Cooper mailto:blake&cluebie.net 2003-06 +# [A_Boninn] A. Boninn mailto:aboninn&hotmail.com +# [A_P_Hobson] A.P. Hobson mailto:A.P.Hobson&bra0112.wins.icl.co.uk +# [Aaron_Ballman] Aaron Ballman mailto:aaron&realsoftware.com 2004-11 +# [Aaron_Bilbrey] Aaron Bilbrey mailto:abilbrey&commvault.com +# [Aaron_Brick] Aaron Brick mailto:aa&lithic.org +# [Aaron_Fracht_Monroe] Aaron Fracht-Monroe mailto:afracht-monroe&amcomsoft.com 2010-06-03 +# [Aaron_L_Bratcher] Aaron L. Bratcher mailto:aaronlbratcher&yahoo.com 2011-10-17 +# [Aaron_Lav] Aaron Lav mailto:aaron&taltrade.com +# [Aaron_Myer] Aaron Myer mailto:aaron.myer&in2nets.com 2004-06 +# [Aaron_S_Kurland] Aaron S. Kurland mailto:akurland&netsilicon.com +# [Aaron_Stein] Aaron Stein mailto:aaron.stein&ca.com +# [Abdullah_Obeid] Abdullah Obeid mailto:a.obeid&contamac.nl 2008-03-20 +# [Abel_Chou] Abel Chou mailto:abel&willy.esl.com +# [Abhay_Rajaram] Abhay Rajaram mailto:Abhay_Rajaram&3com.com 2003-03 +# [Abhijit_Kumar] Abhijit Kumar mailto:as-iana-ports&sun.com 2005-11 +# [AccuMed_Services] AccuMed Services mailto:scarleton&accu-med.com 2011-10-20 +# [Acertant] Acertant +# Technologies, Inc. +# [AD_Holdings] AD Holdings mailto:klawson&ad-holdings.co.uk 2011-10-11 +# [Adam_Berk] Adam Berk mailto:aberk&empirix.com +# [Adam_Curtin] Adam Curtin mailto:adam.curtin&isysg.com +# [Adam_Ernst] Adam Ernst mailto:cosmicsoft&cosmicsoft.net 2004-12 +# [Adam_Ernst_2] Adam Ernst mailto:contact&cosmicsoft.net 2002-06 +# [Adam_Gawne_Cain] Adam Gawne-Cain mailto:adam&gawncainresearch.co.uk 2003-11 +# [Adam_Golovenko] Adam Golovenko mailto:golovenko&gmail.com 2006-10 +# [Adam_Kerrison] Adam Kerrison mailto:adamµmuse.co.uk +# [Adam_Maxwell] Adam Maxwell mailto:amaxwell&mac.com +# [Adam_Robinson] Adam Robinson Data Access, Inc. mailto:adam&dataaccessinc.com 2012-04-30 +# [AddressBookServer] AddressBookServer.com mailto:iana&addressbookserver.com 2011-10-18 +# [Adi_Ruppin] Adi Ruppin mailto:adi.ruppin&data-pod.com 2005-08 +# [Administrator] Administrator mailto:admin&ipcore.co.za 2005-12 +# [Adobe_Systems] Adobe Systems Inc. mailto:mikeharr&adobe.com 2012-04-17 +# [Adrian_Hornby] Adrian Hornby mailto:Adrian.Hornby&aran.co.uk +# [Adrian_Hungate] Adrian Hungate mailto:adrian&haqa.co.uk 2009-09-14 +# [Adrian_Mancini] Adrian Mancini mailto:adrian.mancini&entrust.com +# [Adrian_Pell] Adrian Pell mailto:PELL_ADRIAN/HP-UnitedKingdom_om6@hplb.hpl.hp.com +# [Adrian_Popescu] Adrian Popescu mailto:Adrian_Popescu&groove.net 2002-09 +# [Adrien_de_Croy] Adrien de Croy mailto:adrien&qbik.com +# [Adwait_Sathe] Adwait Sathe mailto:asathe&sonusnet.com 2005-08 +# [Aerohive_Networks] Aerohive Networks mailto:iana&aerohive.com 2012-06-04 +# [Afkham_Azeez] Afkham Azeez mailto:azeez&wso2.com 2006-06 +# [Afshin_Jafari] Afshin Jafari iConstruct (Aus) Pty mailto:jafari&pdcwa.com.au 2012-12-21 +# Ltd +# [Agilent_Technologies_Inc] Agilent Technologies, mailto:tom_fay&agilent.com 2013-01-16 +# Inc. +# [Agri_Datalog] Agri Datalog mailto:contact&agri-datalog.com +# [Ahmad_Tajuddin_Samsu] Ahmad Tajuddin Samsudin mailto:tajuddin&tmrnd.com.my 2007-02 +# [Ahti_Heinla] Ahti Heinla mailto:ahti&ahti.bluemoon.ee 2002-06 +# [Aivi_Lie] Aivi Lie mailto:LIEA&netsoft.com +# [Ajay_Jindal] Ajay Jindal mailto:ajayjµsoft.com +# [Ake_Hedman] Ake Hedman mailto:akhe&eurosource.se 2005-11 +# [Akira_Ide] Akira Ide mailto:ide.akira&jp.fujitsu.com 2006-09 +# [Akira_Saito] Akira Saito mailto:admin&kobu.com 2003-04 +# [Akiyoshi_Ochi] Akiyoshi Ochi mailto:akiyoshi&net.paso.fujitsu.co.jp +# [Al_Amet] Al Amet mailto:aamet&point-inc.com +# [Al_Guetzlaff] Al Guetzlaff mailto:aeg&teamquest.com +# [Alain_Durand] Alain Durand mailto:Alain.Durand&imag.fr +# [Alain_Robert] Alain Robert mailto:arobert&par.sita.int +# [Alain_Robert_2] Alain Robert mailto:Alain.Robert&hmrinc.com +# [Alan_Akahoshi] Alan Akahoshi mailto:alan-akahoshi&vertel.com +# [Alan_Bivens] Alan Bivens mailto:jbivens&us.ibm.com 2003-08 +# [Alan_Butt] Alan Butt mailto:alan.butt&landesk.com 2006-03 +# [Alan_Clifford] Alan Clifford mailto:alan&clifford.ac +# [Alan_Dano] Alan Dano mailto:wiseobject&yahoo.com +# [Alan_Francis] Alan Francis mailto:AlanF&zonal.co.uk 2002-05 +# [Alan_King] Alan King Enabling Technology mailto:aking&etdesigners.com 2009-08-13 +# Pty. Ltd. +# [Alan_Malik] Alan Malik mailto:alan&exasoft.co.uk 2003-11 +# [Alan_Minchew] Alan Minchew mailto:alan.minchew&hp.com 2011-05-23 +# [Alan_Noble] Alan Noble mailto:noble&netmind.com +# [Alan_Pickrell] Alan Pickrell mailto:alanp&goahead.com +# [Alan_Potter] Alan Potter mailto:potter&movies.enet.dec.com +# [Alan_Robertson] Alan Robertson mailto:alanr&unix.sh +# [Alan_Sandell] Alan Sandell mailto:alan.sandell&ist.co.uk 2008-05-01 +# [Alan_Ungar] Alan Ungar mailto:aungar&farradyne.com +# [Alan_Yates] Alan Yates mailto:alany&ay.com.au +# [Alanax_Technologies_Inc] Alanax Technologies, mailto:brian.barritt&alanax.com 2013-01-14 +# Inc +# [Albert_Berlovitch] Albert Berlovitch mailto:albertb&voltaire.com 2009-12-17 +# [Albert_C_Yang] Albert C. Yang mailto:albert.yang&ezmeeting.com 2002-03 +# [Albert_Cester] Albert Cester mailto:albert.cester&assyst-intl.com 2008-08-26 +# [Albert_G_Broscius] Albert G. Broscius mailto:broscius&dsl.cis.upenn.edu +# [Albert_Holt] Albert Holt mailto:alberth&triosoftware.com +# [Albert_Holt_2] Albert Holt mailto:alberth&fiorano.com +# [Albert_Hou] Albert Hou mailto:ahou1&bloomberg.com 2006-05 +# [Albert_Leung] Albert Leung mailto:aleung&biscom.com 2006-04 +# [Albert_Manfredi] Albert Manfredi mailto:manfredi&engr05.comsys.rockwell.com +# [Alberto_Berlen] Alberto Berlen mailto:aberlen&vnet.ibm.com +# [Alberto_Cerpa] Alberto Cerpa mailto:cerpa&isi.edu +# [Alberto_Fernandez] Alberto Fernandez mailto:af&xtec.com 2006-01 +# [Alberto_Ortega_Llama] Alberto Ortega Llamas mailto:alberto.kun666&gmail.com 2009-11-04 +# [Alberto_Raydan] Alberto Raydan mailto:alberto&altasol.com +# [Alberto_Raydan_2] Alberto Raydan mailto:raydan_a&socalia.com 2005-08 +# [Albrecht_Mayer] Albrecht Mayer mailto:albrecht.mayer&infineon.com 2002-05 +# [Alcorn_McBride_Inc] Alcorn McBride Inc. mailto:jeff&alcorn.com +# [Alec_Carlson] Alec Carlson mailto:acarlson&smithmicro.com 2003-01 +# [Alec_Muffett] Alec Muffett mailto:alecm&sun.com +# [Alejandro_Bonet] Alejandro Bonet mailto:babel&ctv.es +# [Alessandro_Bassi] Alessandro Bassi mailto:abassi&cs.utk.edu +# [Alessio_Casati] Alessio Casati mailto:a.casati&computer.org +# [Alex_Chen] Alex Chen mailto:alex_chen&filemaker.com 2009-11-25 +# [Alex_Duncan] Alex Duncan mailto:alex.duncan&sse.ie +# [Alex_Duncan_2] Alex Duncan mailto:Alex.Duncan&sse.ie +# [Alex_Graveley] Alex Graveley mailto:alex&beatniksoftware.com +# [Alex_Kac] Alex Kac mailto:webis_sync_protocol&webis.net +# [Alex_Lelievre] Alex Lelievre mailto:alex&folabs.com 2009-08-18 +# [Alex_McDonald] Alex McDonald mailto:alexm&an.hp.com +# [Alex_Nicu] Alex Nicu mailto:alex.nicu&philips.com 2003-10 +# [Alex_Oberlander] Alex Oberlander mailto:alexo&netmount.com +# [Alex_Stoev] Alex Stoev Nine Technology, LLC mailto:astoev&ninetechnology.com 2011-08-01 +# [Alex_Tucker] Alex Tucker mailto:alex&floop.org.uk +# [Alex_Vasilevsky] Alex Vasilevsky mailto:alexv&204.165.216.115 +# [Alex_White] Alex White mailto:alex&intralan.co.uk 2007-09-12 +# [Alexander_Bogdanov] Alexander Bogdanov mailto:alexandr_bgd&softhome.net +# [Alexander_Bogdanov_2] Alexander Bogdanov mailto:alexander_bgd&softhome.net +# [Alexander_Christian] Alexander Christian mailto:alexander.christian&root1.de 2012-04-19 +# [Alexander_Dubrovsky] Alexander Dubrovsky mailto:dubrovsky_alex&emc.com +# [Alexander_Falk] Alexander Falk mailto:falk&icon.at +# [Alexander_Falk_2] Alexander Falk Altova, Inc. mailto:al&altova.com 2011-07-07 +# [Alexander_Graef] Alexander Graef mailto:alex&graef.cc 2004-11 +# [Alexander_Griekspoor] Alexander Griekspoor mailto:a.griekspoor&nki.nl 2003-07 +# [Alexander_Hartner] Alexander Hartner AddressBookServer.com mailto:dev&addressbookserver.com 2011-10-14 +# [Alexander_Konovalov] Alexander Konovalov mailto:konovalov&member.ams.org 2007-11-27 +# [Alexander_List] Alexander List mailto:alist&exomachina.com 2011-12-06 +# [Alexander_Medvinsky] Alexander Medvinsky mailto:smedvinsky&gi.com +# [Alexander_Philippou] Alexander Philippou mailto:alex&noemax.com 2003-10 +# [Alexander_Raji] Alexander Raji mailto:araji&lucent.com +# [Alexander_Sahler] Alexander Sahler mailto:alexander.sahler&brodos.de 2002-02 +# [Alexander_V_Ivanov] Alexander V. Ivanov mailto:support&aidaim.com 2004-12 +# [Alexandre_Carlhian] Alexandre Carlhian mailto:alex&appeule.com +# [Alexandre_Lechenne] Alexandre Lechenne mailto:alexandre.lechenne&selectron.ch 2008-12-10 +# [Alexei_V_Soloviev] Alexei V. Soloviev mailto:avsolov&lab127.karelia.ru 2002-05 +# [Alexei_Vladishev] Alexei Vladishev mailto:alexei.vladishev&zabbix.com 2006-02 +# [Alexey_Vlaskin] Alexey Vlaskin mailto:avlaskin&visicron.com 2007-10-22 +# [Alexis_Bose] Alexis Bose mailto:abose&d-ta.com 2008-12-08 +# [Alfred_Schmidt] Alfred Schmidt mailto:a.schmidt&aft-werdohl.de 2003-11 +# [Ali_Fracyon] Ali Fracyon mailto:sxdev&modulardreams.com +# [Ali_Jelveh] Ali Jelveh mailto:ali&protonet.info +# [Ali_Saleh] Ali Saleh mailto:scomm&cerf.net +# [Alioune_Thiam] Alioune Thiam mailto:alioune_thiam&symantec.com 2013-02-05 +# [Allan_Miller] Allan Miller mailto:amiller&handsfreenetworks.com +# [Allan_Panitch] Allan Panitch mailto:allanp&tcosoft.com +# [Allan_Stanley] Allan Stanley mailto:allan&hummingbird.com +# [Allen_Baker] Allen Baker mailto:abaker&boi.hp.com +# [Allen_Briggs] Allen Briggs mailto:briggs&access.rrinc.com +# [Allen_Samuels] Allen Samuels mailto:allen.samuels&citrix.com 2006-11 +# [Allen_Wei] Allen Wei mailto:Allen_Wei&arborsoft.com +# [Allison_Carleton] Allison Carleton mailto:acarleto&naper1.napervilleil.ncr.com +# [Almira] Almira mailto:almira_niciu&intuit.com 2003-07 +# [Alon_Kantor] Alon Kantor mailto:alonk&checkpoint.com +# [Alon_Tamir] Alon Tamir mailto:alon_tamir&symantec.com 2006-04 +# [ALPESH_DHAMELIA] ALPESH DHAMELIA MINDARRAY SYSTEMS (P) mailto:alpesh&mindarraysystems.com 2011-10-25 +# LTD. +# [Alstom_Transport_Preston] Alstom Transport, mailto:paul.steane&transport.alstom.com 2012-12-14 +# Preston +# [Altova] Altova mailto:has&altova.com 2005-08 +# [Alvaro_P_Dominguez] Alvaro P. Dominguez mailto:alpado&gmail.com 2006-02 +# [Alwin_Egger] Alwin Egger mailto:alwin.egger&tegonal.com 2003-11 +# [Aly_Orady] Aly Orady Atto Devices Inc. mailto:aly.orady&attodevices.com 2007-08-07 +# [Amanda] mailto:amanda-core&amanda.org +# [Amandeep_Jawa] Amandeep Jawa mailto:daap&apple.com 2003-01 +# [Amandeep_Jawa_2] Amandeep Jawa mailto:dpap&apple.com 2004-11 +# [Amandeep_Jawa_3] Amandeep Jawa mailto:daap&apple.com +# [Amatzia_Ben_Artzi] Amatzia Ben-Artzi +# [American_Power_Conve] American Power mailto:ports&apcc.com 2002-02 +# Conversion +# [Amir_Blich] Amir Blich mailto:amir&netmanage.co.il +# [Amir_Herzberg] Amir Herzberg mailto:amirh&vnet.ibm.com +# [Amir_Peless] Amir Peless mailto:amirp&radware.co.il +# [Amir_Rapson] Amir Rapson mailto:rapson&sofaware.com 2002-02 +# [Amit_Nigam] Amit Nigam mailto:amnigam&cisco.com 2009-08-24 +# [Amitava_Dutta] Amitava Dutta mailto:Amitava.Dutta&woodbridgenj.ncr.com +# [Amnon_Horowitz] Amnon Horowitz mailto:amnonhµsoft.com +# [Amol_P_Tambe] Amol P Tambe mailto:amol_tambe&symantec.com 2011-02-02 +# [AMPL_Optimization] AMPL Optimization, mailto:dmg&l.com 2012-05-25 +# [Amy_Kang] Amy Kang mailto:amy.kang&sun.com 2009-03-10 +# [Amy_Weaver] Amy Weaver mailto:aweaver&vpnet.com +# [Amy_Weaver_2] Amy Weaver mailto:amy_weaver&nai.com +# [Amy_Weaver_3] Amy Weaver mailto:Amy_Weaver&nai.com +# [Anand_Bhalerao] Anand Bhalerao mailto:anand_bhalerao&symantec.com 2008-10-02 +# [Anand_Gangadharan] Anand Gangadharan mailto:anand&goa.mainsoft.com +# [Anastasios_Kotsikona] Anastasios Kotsikonas mailto:tasos&cs.bu.edu +# [Anders_Borg] Anders Borg mailto:anders.borg&solid.se 2004-11 +# [Anders_Brandt] Anders Brandt Sigma Designs, Inc. mailto:Anders_Brandt&sigmadesigns.com 2012-11-08 +# [Anders_Brandt_2] Anders Brandt Sigma Designs, Inc. mailto:anders_brandt&sigmadesigns.com 2011-10-03 +# [Anders_Brandt_3] Anders Brandt Sigma Designs mailto:anders_brandt&sigmadesigns.com 2012-10-12 +# [Anders_Hjelm] Anders Hjelm mailto:anders.hjelm&ec.se 2006-03 +# [Anders_Klemets] Anders Klemets mailto:andersklµsoft.com +# [Anders_Svensson] Anders Svensson mailto:pong&simusoft.dk +# [Andre_Cato] Andre Cato mailto:andre.cato&datacore.com 2003-07 +# [Andre_Kramer] Andre Kramer mailto:Andre.Kramer&ansa.co.uk +# [Andre_Petras] Andre Petras mailto:a.petras&arcor.de 2003-01 +# [Andre_Schroter] Andre Schroter mailto:A.Schroeter&chili-radiology.com +# [Andrea_Gazzaniga] Andrea Gazzaniga mailto:gazzaniga&funambol.com 2007-01 +# [Andrea_Lanza] Andrea Lanza mailto:andrea.lanza&frameweb.it +# [Andrea_Premoli] Andrea Premoli mailto:Andrea_maria.Premoli&icn.siemens.it 2003-01 +# [Andreas_Alptun] Andreas Alptun mailto:info&illusionlabs.se +# [Andreas_Bauer] Andreas Bauer mailto:bauer_andreas&emc.com +# [Andreas_Behr] Andreas Behr mailto:andreas.behr&kraemer-it.de +# [Andreas_Fehr] Andreas Fehr mailto:andreas&mrs.ch +# [Andreas_Foedrowitz] Andreas Foedrowitz mailto:andreas.foedrowitz&thomson.net 2008-06-18 +# [Andreas_Glocker] Andreas Glocker mailto:glocker&sirius.com +# [Andreas_Haas] Andreas Haas mailto:andreas.haas&sun.com 2006-08 +# [Andreas_Heidemann] Andreas Heidemann mailto:a.heidemann&ais-gmbh.de +# [Andreas_Junghans] Andreas Junghans mailto:cytv&lucid-cake.net +# [Andreas_Oesterhelt] Andreas Oesterhelt mailto:oes&privoxy.org 2002-06 +# [Andreas_Oman] Andreas Oeman mailto:andreas&lonelycoder.com +# [Andreas_Roene] Andreas Roene mailto:support&home-online.de +# [Andreas_Schwarz] Andreas Schwarz mailto:andi&trancefield.de 2002-03 +# [Andreas_Schwarz_2] Andreas Schwarz mailto:andreas.schwarz&securepoint.de 2003-06 +# [Andreas_Spalenski] Andreas Spalenski mailto:andreas.spalenski&trsystems.de 2008-11-24 +# [Andreas_Terzis] Andreas Terzis mailto:terzis&cs.ucla.edu +# [Andreas_Varga] Andreas Varga mailto:sid&parsec.org +# [Andreas_Wetzel] Andreas Wetzel mailto:mickey&enforcer.cc 2002-09 +# [Andreas_Wurf] Andreas Wurf mailto:a.wurf&mediatools.de +# [Andrei_Litvinn] Andrei Litvinn mailto:support&asigra.com 2005-01 +# [Andrei_Vilkotski] Andrei Vilkotski mailto:andreiv&sgi.com 2003-06 +# [Andres_Seco_Hernande] Andres Seco Hernandez mailto:AndresSH&alamin.org +# [Andrew_Aksyonoff] Andrew Aksyonoff mailto:shodan&sphinxsearch.com 2009-10-20 +# [Andrew_Andrews] Andrew Andrews mailto:Andrew.Andrews&nsius.com 2011-09-01 +# [Andrew_Borisov] Andrew Borisov mailto:hdr&chat.ru +# [Andrew_Chernow] Andrew Chernow mailto:andrew&esilo.com 2007-01 +# [Andrew_Crockford] Andrew Crockford mailto:andrew.crockford&modus-interactive.co.uk +# [Andrew_Donoho] Andrew Donoho mailto:awd&us.ibm.com +# [Andrew_Draper] Andrew Draper mailto:adraper&altera.com +# [Andrew_Galloway] Andrew Galloway Nexenta mailto:andrew.galloway&nexenta.com 2012-12-07 +# [Andrew_H_Derbyshire] Andrew H Derbyshire mailto:ahd&meetingmaker.plus.kew.com 2004-12 +# [Andrew_Hoddinott] Andrew Hoddinott mailto:support&artvps.com +# [Andrew_Jay_Schneider] Andrew Jay Schneider mailto:ajs&relsoft.com +# [Andrew_Johnson] Andrew Johnson mailto:andrew.johnson&bliss-support.demon.co.uk +# [Andrew_Mather] Andrew Mather mailto:info&balaena.com 2008-02-14 +# [Andrew_Morgan] Andrew Morgan mailto:andrew.morgan&sun.com 2009-12-08 +# [Andrew_Mossberg] Andrew Mossberg mailto:amossberg&asoki.net +# [Andrew_Schultz] Andrew Schultz mailto:aschultz&strykercom.com 2003-08 +# [Andrew_Sharpe] Andrew Sharpe mailto:help&smartsims.com +# [Andrew_Shire] Andrew Shire mailto:sndrewsh&sco.com +# [Andrew_Sinclair] Andrew Sinclair mailto:andrsinµsoft.com +# [Andrew_Stone] Andrew Stone mailto:andrew&stone.com +# [Andrew_Tridgell] Andrew Tridgell mailto:tridge&samba.anu.edu.au +# [Andrew_Tune] Andrew Tune mailto:Andrew.Tune&splitlock.com 2003-01 +# [Andrew_Watson] Andrew Watson mailto:andrew&omg.org +# [Andrew_Zamler_Carhar] Andrew Zamler-Carhart mailto:andrew&zamler-carhart.com +# [Andrew_Zimmerman] Andrew Zimmerman mailto:andrew&zimmerman.net 2004-06 +# [Andrey_Mohov] Andrey Mohov mailto:mohov_andrey&mail.ru 2010-08-17 +# [AndySC] AndySC mailto:AndySC&uk.ibm.com +# [Andy_Belk] Andy Belk mailto:abelk&apple.com +# [Andy_Belk_2] Andy Belk mailto:register1&azulsystems.com 2005-02 +# [Andy_Brewerton] Andy Brewerton mailto:andy.brewerton&otium.co.uk 2005-08 +# [Andy_Bruce] Andy Bruce mailto:franklin_yah&yahoo.com +# [Andy_Buckingham] Andy Buckingham mailto:feedback&radiodns.org +# [Andy_Burgess] Andy Burgess mailto:aab&cichlid.com +# [Andy_Crick] Andy Crick mailto:acrick&haascnc.com 2007-11-13 +# [Andy_Georgiou] Andy Georgiou mailto:ageorgiou&crypto-solutions.co.uk +# [Andy_Grover] Andy Grover mailto:andy.grover&oracle.com 2009-05-20 +# [Andy_Heron] Andy Heron mailto:btexact.ports&bt.com +# [Andy_Krouwel] Andy Krouwel mailto:andy&kar2ouche.com +# [Andy_Malis] Andy Malis mailto:malis_a&timeplex.com +# [Andy_McKeen] Andy McKeen mailto:mckeen&osf.org +# [Andy_O_Meara] Andy O'Meara mailto:andy&soundspectrum.com +# [Andy_Perreault] Andy Perreault mailto:aperreault&erlphase.com 2010-03-31 +# [Andy_Savage] Andy Savage mailto:andy.savage1&gmail.com 2012-07-13 +# [Andy_Shellam] Andy Shellam mailto:andy&networkmail.eu 2008-02-19 +# [Andy_Stanford_Clark] Andy Stanford-Clark mailto:andysc&uk.ibm.com +# [Andy_Valencia] Andy Valencia mailto:vandys&vandys-lap.cisco.com +# [Andy_Warner] Andy Warner mailto:andyw&knoware.nl +# [Angelique_Dokos] Angelique Dokos mailto:angelique.dokos&hp.com 2003-11 +# [Angelo_Masci] Angelo Masci mailto:angelomasci&yahoo.co.uk 2007-01 +# [Angie_S_Morner] Angie S. Morner mailto:webmaster&dsbcpas.com +# [Anil_Lakhwara] Anil Lakhwara mailto:anil_lakhwara&kentrox.com +# [Anil_Sharma] Anil Sharma mailto:anil.sharma&scentric.com 2006-04 +# [Anil_Tyagi] Anil Tyagi mailto:tanil&novell.com 2010-06-11 +# [Anirban_Majumder] Anirban Majumder mailto:majumderanirban&lycos.com 2002-03 +# [Anjana_Iyer] Anjana Iyer mailto:anjana&dyna.com +# [Ann_Huang] Ann Huang mailto:annhuang&apple.com +# [Annette_DeSchon] Annette DeSchon mailto:DESCHON&isi.edu +# [Annette_Klecha] Annette Klecha mailto:annette_klecha&bbn.hp.com +# [Anoop_Tewari] Anoop Tewari mailto:anoop&next.distinct.com +# [Ansgar_Bergmann] Ansgar Bergmann mailto:Ansgar.Bergmann&etsi.fr +# [ANT_Software] ANT Software Limited mailto:simon.middleton&antplc.com 2012-12-06 +# [Anthon_van_der_Neut] Anthon van der Neut mailto:anthon&mnt.org +# [Anthony_Cake] Anthony Cake mailto:anthonyrc&lecroy.com +# [Anthony_Carrabino] Anthony Carrabino mailto:anthonyc&vistasoftware.com 2003-08 +# [Anthony_Gonzalez] Anthony Gonzalez mailto:agonzal1&telcordia.com +# [Anthony_Greatorex] Anthony Greatorex mailto:greatore&ugs.com 2004-11 +# [Anthony_Johnson] Anthony Johnson mailto:stxadmin&storix.com 2005-08 +# [Anthony_LaMark] Anthony LaMark Squadra Technologies mailto:anthony&squadratechnologies.com 2012-03-14 +# [Anthony_Payne] Anthony Payne mailto:opayne&pacbell.net 2004-02 +# [Anthony_Stahler] Anthony Stahler mailto:imunfair&yahoo.com 2004-11 +# [Anthony_Walker] Anthony Walker mailto:anthony_walker&hp.com 2002-03 +# [Anthony_Williams] Anthony Williams mailto:tonydubs&gmail.com +# [Antoine_Martin] Antoine Martin mailto:antoine&nagafix.co.uk +# [Anton_Kucer] Anton Kucer mailto:akucerµsoft.com +# [Anton_Okmianski] Anton Okmianski mailto:aokmians&cisco.com 2006-01 +# [Antoni_Wolski] Antoni Wolski mailto:antoni.wolski&vtt.fi +# [Antonio_Querubin] Antonio Querubin mailto:tony&lava.net 2008-03-10 +# [Anupam_Bharali] Anupam Bharali mailto:ianaports&juniper.net 2002-08 +# [Anush_Kumar] Anush Kumar mailto:anushkµsoft.com +# [Apple] Apple mailto:vaughan&apple.com 2011-10-12 +# [Apple_2] Apple mailto:justin.ko&apple.com 2011-10-20 +# [Apple_Inc] Apple Inc. mailto:marc&apple.com 2012-03-02 +# [Apple_Inc_2] Apple Inc. mailto:bradley&apple.com 2012-09-19 +# [AppMac_Software] AppMac Software mailto:appmac&appmac.com +# [Apple_Computer] Apple Computer mailto:perftools-feedback&group.apple.com +# [Archishmat_Gore] Archishmat Gore mailto:archisgore&yahoo.com 2004-11 +# [Arcturus_Networks_Inc] Arcturus Networks mailto:mdurrant&arcturusnetworks.com 2011-10-20 +# [Around_Sound] Around Sound Winzig LLC mailto:aroundsound&winzig.com 2011-10-20 +# [Ari_Huisken] Ari SQRT'n Huisken mailto:astergate&huisken-systems.nl 2010-01-04 +# [Ari_Keranen] Ari Keraenen mailto:ari.keranen&ericsson.com 2009-12-17 +# [Ari_Valtanen] Ari Valtanen mailto:ari.valtanen&solidtech.com +# [Arjen_Lentz] Arjen Lentz mailto:arjen&mysql.com 2004-11 +# [Arman_Bedonian] Arman Bedonian mailto:Arman.Bedonian&asg.com 2009-07-15 +# [Armin_Liebchen] Armin Liebchen mailto:armin&anteradesign.com 2007-06 +# [Armin_Sawusch] Armin Sawusch mailto:armin&esd1.esd.de +# [Armin_Solies] Armin Solies DEIF A/S mailto:aes&deif.com 2012-10-15 +# [Arnaud_Clermonte] Arnaud Clermonte mailto:clermonte&4xtechnologies.com +# [Arne_Dirks] Arne Dirks mailto:ad&bnc.net +# [Arne_Haugland] Arne Haugland mailto:Arne.Haugland¶soldev.com +# [Arne_Norefors] Arne Norefors mailto:Arne.Norefors&ericsson.com +# [Arnie_Farrelly] Arnie Farrelly mailto:afarrelly&syncsort.com +# [Arnie_Koster] Arnie Koster mailto:akoster&teltone.com 2002-04 +# [Arno_Hollosi] Arno Hollosi mailto:arno.hollosi&cio.gv.at 2002-03 +# [Arno_Kirmeir] Arno Kirmeir mailto:Arno.kirmeir&sage.de 2007-01 +# [Arno_Klaassen] Arno Klaassen mailto:arno&ccr.jussieu.fr 2003-11 +# [Arnold_Dittmann] Arnold Dittmann mailto:dittmann&isbcad.de +# [Arnold_E_Mauer] Arnold E. Mauer mailto:amauer&vrms.com 2003-04 +# [Arrow_Bit_SL] Arrow Bit SL mailto:info&arrowbit.com 2012-04-26 +# [Art_Cancro] Art Cancro mailto:ajc&uncensored.citadel.org +# [Art_Pope] Art Pope mailto:apope&sarnoff.com 2002-10 +# [Arthur_Barr] Arthur Barr mailto:arthur.barr&uk.ibm.com 2008-02-27 +# [Arthur_Castonguay] Arthur Castonguay mailto:arthurc&doe.carleton.ca +# [Arthur_Hillenaar] Arthur Hillenaar mailto:arthur.hillenaar&consul.com 2006-01 +# [Arthur_Wilton] Arthur Wilton mailto:art&awilton.com 2006-03 +# [Arvel_Hathcock] Arvel Hathcock mailto:arvel&altn.com 2007-03 +# [Arvin_Schnell] Arvin Schnell mailto:arvin&suse.de +# [Arvind_Srinivasan] Arvind Srinivasan mailto:arvind.srinivasan&sun.com 2005-08 +# [Asaf_Kashi] Asaf Kashi mailto:asafkµsoft.com +# [Ascom_Austria_GmbH] Ascom Austria GmbH mailto:info&ascom.at 2008-05-01 +# [Asher_Altman] Asher Altman mailto:Asher.Altman&gsc.gte.com +# [Ashish_Chatterjee] Ashish Chatterjee mailto:achatterjee&freeway.proxy.lucent.com +# [Ashit_Patel] Ashit Patel mailto:Ashit.Patel&eng.sun.com +# [Ashley_Clarke] Ashley Clarke mailto:Ashley.clarke&vishaypg.com 2010-06-17 +# [Ashok_Marwaha] Ashok Marwaha +# [Ashraf_Tahir] Ashraf Tahir Morega Systems Inc. mailto:atahir&morega.com 2012-08-20 +# [Ashvin_Sanghvi] Ashvin Sanghvi mailto:AshvinSµsoft.com +# [Ashwani_Singhal] Ashwani Singhal mailto:Ashwani.Singhal&netscout.com 2010-04-07 +# [Atomix_Productions] Atomix Productions mailto:corporate&atomixproductions.com 2011-10-12 +# [Atsushi_Nakamura] Atsushi Nakamura mailto:nakamura.atsushi318&canon.co.jp 2003-11 +# [Aubrey_Turner] Aubrey Turner mailto:S95525ta%25etsuacad.bitnet@ETSUADMN.ETSU.EDU +# [Austin_Meyer] Austin Meyer mailto:austin&x-plane.com +# [Autodesk] Autodesk mailto:me.licensing&autodesk.com +# [Avi_Drissman] Avi Drissman mailto:ique-protocol&harrisbaseview.com 2002-07 +# [Avi_Lior] Avi Lior mailto:avi&bridgewatersystems.com 2009-02-27 +# [Avi_Nathan] Avi Nathan mailto:avinµsoft.com +# [Avi_Primo] Avi Primo mailto:aprimo&celltick.com 2008-01-29 +# [Avi_Software] Avi Software mailto:srobert&logava.com +# [Avri_Doria] Avri Doria mailto:avri.doria&nokia.com +# [Avshalom_Houri] Avshalom Houri mailto:Avshalom&ubique.com +# [Axel_Andersson] Axel Andersson mailto:axel&zankasoftware.com 2006-02 +# [Axel_Kern] Axel Kern mailto:axel.kern&betasystems.com +# [BTicino_S_p_A] BTicino S.p.A. mailto:admin-myopen&myopen-bticino.it 2008-04-09 +# [B_Clifford_Neuman] B. Clifford Neuman mailto:bcn&isi.edu +# [B_G_Mahesh] B.G. Mahesh mailto:mahesh&sett.com +# [B_J_Kortekaas] B. J. Kortekaas mailto:b.j.kortekaas&kpn.com 2003-02 +# [B_van_Klinken] B. van Klinken mailto:b.vklinken&rohill.nl 2003-12 +# [Baba_Hidekazu] Baba Hidekazu mailto:baba&flare.nd.net.fujitsu.co.jp +# [Baiju_V_Patel] Baiju V. Patel mailto:Baiju.v.patel&intel.com +# [Balduin_Mueller_Plat] Balduin Mueller-Platz mailto:balduin.mueller-platz&pago.de 2002-03 +# [Barbara_Foss] Barbara Foss mailto:BGFOSS&rchvmv.vnet.ibm.com +# [Barend_Jacobus_van_d] Barend Jacobus van der mailto:berneau.v&gmail.com 2010-04-27 +# Merwe +# [Barney_Wolff] Barney Wolff mailto:barney&databus.com +# [Barrie_Cooper] Barrie Cooper mailto:barrie&sco.com +# [Barry_Greenberg] Barry Greenberg mailto:barry.greenberg&sun.com 2004-04 +# [Barry_H_Feild] Barry H. Feild mailto:barry&intersan.net +# [Barry_McDarby] Barry McDarby mailto:realspace&starwolf.biz 2003-04 +# [Barry_Shelton] Barry Shelton mailto:bshelton&wirelessknowledge.com +# [Barry_Whyte] Barry Whyte mailto:barry_whyte&uk.ibm.com +# [Bart_Rijpers] Bart Rijpers Mogeneti mailto:bart&mogeneti.com 2012-09-26 +# [Bart_Schaefer] Bart Schaefer mailto:bart&suburbansoftware.com 2005-08 +# [Basil_Lee] Basil Lee mailto:basil.lee&gnnettest.com +# [Baskaran_Subramaniam] Baskaran Subramaniam mailto:baskaran&apple.com +# [Ben] Ben mailto:ben&acaciatreesoftware.com +# [Ben_Guild] Ben Guild mailto:smash&smashsworld.com +# [Ben_Higgins] Ben Higgins mailto:bhiggins&netcom.ca +# [Ben_Lewis] Ben Lewis mailto:apple&method-solutions.com +# [Ben_McNeill] Ben McNeill mailto:ben.mcneill&cinexec.com 2007-05 +# [Ben_Oram] Ben Oram mailto:beno&turbopower.com +# [Ben_Pracht] Ben Pracht mailto:ben.pracht&tivoli.com +# [Ben_Rosenberg] Ben Rosenberg mailto:brosenberg&advsyscon.com 2003-01 +# [Ben_Schluricke] Ben Schluricke mailto:support&pftp.de +# [Ben_Webster] Ben Webster mailto:b.webster&itisint.com +# [Bengt_Gustafsson] Bengt Gustafsson mailto:bengt.gustafsson&imagesystems.se 2006-05 +# [Benjamin_Green] Benjamin Green mailto:ben&lh.co.nz +# [Benjamin_Grimm] Benjamin Grimm mailto:bg&webnetix.de +# [Benjamin_Kowarsch] Benjamin Kowarsch mailto:benjamin&sunrise-tel.com 2004-11 +# [Benjamin_Rister] Benjamin Rister mailto:support&decimus.net +# [Benjamin_Rosenberg] Benjamin Rosenberg mailto:brosenberg&advsyscon.com +# [Bernard_Aboba] Bernard Aboba mailto:bernardaµsoft.com 2004-06 +# [Bernard_Desruisseaux] Bernard Desruisseaux mailto:bernard&steltor.com +# [Bernard_Normier] Bernard Normier mailto:bernard&zeroc.com 2006-12 +# [Bernard_Volz] Bernard Volz mailto:volz&cisco.com +# [Bernd_Paradies] Bernd Paradies mailto:bparadie&adobe.com 2008-01-14 +# [Bernie_Malkowski] Bernie Malkowski mailto:bmalkowski&integratedsecuritycorp.com 2007-08-20 +# [Bernie_Volz] Bernie Volz mailto:volz&cisco.com +# [Bert_Bouwers] Bert Bouwers mailto:e.bouwers&rohill.nl 2007-05 +# [Bert_Gijsbers] Bert Gijsbers mailto:bert&xpilot.org +# [Bert_Paul] Bert Paul mailto:bert.paul&apertio.com 2008-07-03 +# [Bert_Van_der_Linden] Bert Van der Linden mailto:bert&propel.com +# [Bert_van_Willigen] Bert van Willigen mailto:bert.vanwilligen&philips.com 2003-11 +# [Bertus_Jacobs] Bertus Jacobs mailto:bertus&ccs-software.co.za +# [Beth_Crespo] Beth Crespo mailto:beth.crespo&hp.com +# [Betsy_Alexander] Betsy Alexander tel:+1-604-681-4549 +# [Beverly_Moody] Beverly Moody mailto:Beverly_Moody&stercomm.com +# [Bianling_Zhang] Bianling Zhang mailto:blzhang&iwncomm.com 2004-02 +# [Bie_Tie] Bie Tie mailto:stie&interbase.com +# [Bill_Andrews] Bill Andrews mailto:billa&vnd.tek.com +# [Bill_Bishop] Bill Bishop mailto:bil&rfx.rfx.com +# [Bill_Carroll] Bill Carroll mailto:billc&xactlabs.com +# [Bill_Crawford] Bill Crawford mailto:Bill.Crawford&securicor.co.uk +# [Bill_Croft] Bill Croft mailto:Croft&sumex-aim.stanford.edu +# [Bill_Davidson] Bill Davidson mailto:billd&equalizer.cray.com +# [Bill_Edwards] Bill Edwards mailto:bill.edwards&sun.com 2005-08 +# [Bill_Fenner] Bill Fenner mailto:fenner&parc.xerox.com +# [Bill_Gross] Bill Gross mailto:william.gross&kohler.com 2010-11-01 +# [Bill_Harrell] Bill Harrell +# [Bill_Homan] Bill Homan mailto:bhoman&spanworks.com 2003-01 +# [Bill_Kay] Bill Kay mailto:bkay&spy-tec.com 2006-04 +# [Bill_Marbaker] Bill Marbaker mailto:wrm&fortenet.com +# [Bill_McIntosh] Bill McIntosh mailto:bmcintosh&fortresstech.com +# [Bill_Reding] Bill Reding mailto:redingb&nwdt.natwest.co.uk +# [Bill_Rettig] Bill Rettig mailto:WRettig&efji.com 2010-05-19 +# [Bill_Reveile] Bill Reveile mailto:breveile&allentek.com +# [Bill_Schiefelbein] Bill Schiefelbein mailto:schief&aspen.cray.com +# [Bill_Simpson] Bill Simpson mailto:wsimpson&greendragon.com +# [Bill_Simpson_2] Bill Simpson mailto:Bill.Simpson&um.cc.umich.edu +# [Bill_Somerville] Bill Somerville mailto:Bill.Somerville&scalable.com 2008-08-13 +# [Bill_Taylor] Bill Taylor mailto:sais&ssec.wisc.edu +# [Bill_Tschumy] Bill Tschumy mailto:other!bill&uunet.uu.net +# [Bill_Van_Etten] Bill Van Etten mailto:Bill&bioteam.net +# [Bill_Weinman] Bill Weinman mailto:wew&bearnet.com +# [Bill_Wingate] Bill Wingate mailto:bill.wingate&arcanadev.com 2003-05 +# [Billy_Dhillon] Billy Dhillon mailto:bdsos&pafec.co.uk +# [BioLink_Support] BioLink Support mailto:reginfo&biolinkusa.com 2002-02 +# [Bizhan_Ghavami] Bizhan Ghavami mailto:ghavami&telcores.com +# [Bjorn_Chambless] Bjorn Chambless mailto:bjorn&cs.pdx.edu +# [Bjorn_Dittmer_Roche] Bjorn Dittmer-Roche mailto:bjorn&xowave.com 2003-06 +# [Bjorn_Jarle_Kvande] Bjorn Jarle Kvande mailto:bjorn&objectplanet.com 2002-04 +# [Bjorn_Lantz] Bjorn Lantz mailto:bjorn.lantz&encode.se 2004-11 +# [Bjorn_Roth] Bjorn Roth FLIR Systems AB mailto:bjorn.roth&flir.se 2011-10-20 +# [Bjorn_de_Bonnenfant] Bjorn de Bonnenfant mailto:bdeb&iqobject.com 2003-11 +# [Blakely_Snyder] Blakely Snyder Ventureforth Inc. mailto:bsnyder&ventureforth.com 2011-11-03 +# [Blockade] VP - Research & mailto:development&blockade.com +# Development +# [Bob_Beard] Bob Beard mailto:bobb&lachman.com +# [Bob_Braden] Bob Braden mailto:Braden&isi.edu +# [Bob_Braden_2] Bob Braden mailto:braden&isi.edu +# [Bob_Bradley] Bob Bradley mailto:bradley&apple.com 2003-03 +# [Bob_Bradley_2] Bob Bradley mailto:bradley&apple.com +# [Bob_Bradley_3] Bob Bradley Apple Inc. mailto:bradley&apple.com 2012-09-19 +# [Bob_Deblier] Bob Deblier mailto:bob&virtualunlimited.com +# [Bob_Dedrick] Bob Dedrick mailto:bob&staff.prodigy.com +# [Bob_Dolin] Bob Dolin mailto:bdolin&echelon.com 2008-04-10 +# [Bob_Gaddie] Bob Gaddie mailto:bobg&dtn.com +# [Bob_Iannucci] Bob Iannucci mailto:bob&rail.com 2011-11-23 +# [Bob_Janssen] Bob Janssen mailto:bob&res.nl +# [Bob_Janssen_2] Bob Janssen mailto:b.janssen&ressoftware.com 2009-11-18 +# [Bob_Kaiser] Bob Kaiser mailto:BKaiser&palindrome.com +# [Bob_Kummerfeld] Bob Kummerfeld mailto:bob&sarad.cs.su.oz.au +# [Bob_Lauria] Bob Lauria mailto:bob.lauria&asg.com 2005-08 +# [Bob_Lyon] Bob Lyon mailto:bl&oasis.icl.co.uk +# [Bob_Natale] Bob Natale mailto:bob.natale&appliedsnmp.com +# [Bob_Nattenberg] Bob Nattenberg mailto:bnattenberg&arborsoft.com +# [Bob_Purvy] Bob Purvy mailto:bpurvy&us.oracle.com +# [Bob_Rennie] Bob Rennie mailto:rjrennie&wizvax.net +# [Bob_Rundle] Bob Rundle mailto:rundle&rundle.com 2005-11 +# [Bob_Sledge] Bob Sledge mailto:bob&pqsystems.com +# [Bob_Stewart] Bob Stewart mailto:STEWART&xyplex.com +# [Bob_Thomas] Bob Thomas mailto:rhthomas&cisco.com +# [Bob_Tournoux] Bob Tournoux mailto:bob.tournoux&usiny.mail.abb.com +# [Bobby_Krupczak] Bobby Krupczak mailto:rdk&empiretech.com +# [Bobby_Krupczak_2] Bobby Krupczak mailto:rdk&krupczak.org 2008-04-03 +# [Bobby_Martin] Bobby Martin mailto:bobbymartin&hotmail.com +# [Bodo_Rueskamp] Bodo Rueskamp mailto:br&itchigo.com 2002-08 +# [Bonjour] Bonjour mailto:bonjour&tapinoma.com +# [BonjourDev] BonjourDev mailto:bonjourdev&apple.com 2011-10-14 +# [Boris_B_Maiden] Boris B. Maiden mailto:Boris_Maiden&smtp.microcom.com +# [Boris_Magnusson] Boris Magnusson mailto:boris&cs.lth.se 2010-12-06 +# [Boris_Panteleev] Boris Panteleev mailto:bpanteleev&himel.com +# [Boris_Polevoy] Boris Polevoy mailto:vapcom&mail.ru 2003-01 +# [Boris_Star] Boris Star mailto:boris.star&veritas.com 2003-01 +# [Boris_Svetlitsky] Boris Svetlitsky mailto:boris&press-sense.com +# [borja_lopez_urkidi] borja lopez urkidi NEGU Soft mailto:lopezurkidi&gmail.com 2012-09-10 +# [Brad_Hamilton] Brad Hamilton mailto:bh&picksys.com +# [Brad_Hamilton_2] Brad Hamilton mailto:brad_hamilton&kofax.com 2002-08 +# [Brad_Head] Brad Head mailto:brad.head&latitudetech.com 2013-02-07 +# [Brad_Johanson] Brad Johanson mailto:bradj&tidebreak.com 2005-08 +# [Brad_Parker] Brad Parker mailto:brad&american.com +# [Brad_Pedersen] Brad Pedersen mailto:bradp&citrix.com +# [Brad_Pepers] Brad Pepers mailto:brad&linuxcanada.com 2002-09 +# [Brad_Spear] Brad Spear mailto:spear&platinum.com +# [Brad_Vaughan] Brad Vaughan Apple mailto:vaughan&apple.com 2011-10-12 +# [Brad_Wright] Brad Wright mailto:bradwrµsoft.com +# [Bradley_Birnbaum] Bradley Birnbaum mailto:bradley.birnbaum&eshare.com +# [Bradley_Bransom] Bradley Bransom mailto:bradley_bransom&dell.com 2003-01 +# [Brady_Anderson] Brady Anderson mailto:banderso&novell.com +# [Brand_Communications] Brand Communications mailto:donovan&brandcomms.com +# [Brandon_Potter] Brandon Potter mailto:iana&brandonpotter.com 2006-01 +# [Brant_Thomsen] Brant Thomsen mailto:brant_thomsen&3com.com 2003-01 +# [Breck_Auten] Breck Auten mailto:bauten&dst-inc.com +# [Bremen] University of Bremen, mailto:udrawgraph&informatik.uni-bremen.de +# FB3 +# [Brendan_Fay] Brendan Fay mailto:brendan.fay&x509solutions.com 2006-02 +# [Brendan_McWilliams] Brendan McWilliams mailto:brendan.mcwilliams&vf.vodafone.co.uk 2002-04 +# [Brent_Bradshaw] Brent Bradshaw mailto:bbradshaw&novell.com +# [Brent_Callaghan] Brent Callaghan mailto:brent&terra.eng.sun.com +# [Brent_Foster] Brent Foster mailto:brent.foster&onstreamsystems.com 2006-04 +# [Brent_Fulgham] Brent Fulgham mailto:bfulgham&wyatt.com +# [Brent_Gulanowski] Brent Gulanowski mailto:bgulanowski&marketcircle.com 2009-08-26 +# [Brent_Hines] Brent Hines mailto:brent.hines&unisys.com +# [Brent_Irwin] Brent Irwin mailto:birwin&standard.com +# [Brent_McCullough] Brent McCullough mailto:bmccullough&timemgmt.com 2003-11 +# [Brent_Welch] Brent Welch mailto:welch&scriptics.com +# [Bret_O_Rourke] Bret O'Rourke mailto:bretorµsoft.com +# [Brett_Dolecheck] Brett Dolecheck mailto:Dolecheck&ipmetrics.com +# [Brett_Goldstein] Brett Goldstein mailto:bgoldstein&opentable.com +# [Brett_Green] Brett Green mailto:brett_green&hp.com 2003-11 +# [Brett_Green_2] Brett Green mailto:Brett_Green&hp.com +# [Brett_Sorenson] Brett Sorenson mailto:bcs&atex.com +# [Brian_Abramson] Brian Abramson mailto:brianab&soul.tv.tek.com +# [Brian_Abramson_2] Brian Abramson mailto:brianab&vnd.tek.com +# [Brian_Batke] Brian Batke mailto:csp.protocol&gmail.com +# [Brian_Batke_2] Brian Batke mailto:eip.jsig&gmail.com +# [Brian_Becker] Brian Becker mailto:bbecker&tgc-usa.com 2006-10 +# [Brian_Blevins] Brian Blevins mailto:brian.blevins&tridia.com +# [Brian_C_Wiles] Brian C. Wiles mailto:brian&streamcomm.com +# [Brian_Carnell] Brian Carnell mailto:brian&e3consultants.com +# [Brian_Cully] Brian Cully mailto:shmit&kublai.com +# [Brian_Dickman] Brian Dickman mailto:brian&novastor.com +# [Brian_Ehrmantraut] Brian Ehrmantraut mailto:bae&netapp.com +# [Brian_Griswold] Brian Griswold mailto:brian&dancingbear.com +# [Brian_Henry] Brian Henry mailto:brian.henryµsoft.com 2007-03 +# [Brian_Kennedy] Brian Kennedy mailto:BrianK&targetedconvergence.com 2006-08 +# [Brian_Klassen] Brian Klassen mailto:Brian.Klassen&unisys.com +# [Brian_Lloyd] Brian Lloyd mailto:brian&lloyd.com +# [Brian_Martinicky] Brian Martinicky mailto:Brian_Martinicky&automationintelligence.com +# [Brian_Matthews] Brian Matthews mailto:bmatthews&mosaicsystems.com +# [Brian_Matthews_2] Brian Matthews mailto:brian_matthews&ibist.ibis.com +# [Brian_McKinnon] Brian McKinnon mailto:bmk&lvision.com +# [Brian_Nickles] Brian Nickles mailto:RogueSpear91&hotmail.com 2002-05 +# [Brian_O_Keefe] Brian O'Keefe mailto:bokeefe&cnd.hp.com +# [Brian_Olson] Brian Olson mailto:briolson&pacbell.net +# [Brian_Reid] Brian Reid mailto:reid&decwrl.dec.com +# [Brian_S_Locke] Brian S. Locke mailto:blocke&zortlabs.com 2008-07-10 +# [Brian_S_Stewart] Brian S. Stewart mailto:Brian.Stewart&avocent.com +# [Brian_S_Stewart_2] Brian S. Stewart mailto:Brian.Stewart&avovent.com +# [Brian_Schenkenberger] Brian Schenkenberger mailto:VAXman&tmesis.com +# [Brian_Spears] Brian Spears mailto:bspears&salix.com +# [Brian_Tackett] Brian Tackett mailto:cym&acrux.net +# [Brian_Taylor] Brian Taylor mailto:btaylor&imagetag.com +# [Brian_Toothill] Brian Toothill mailto:brian.toothill&touchstar.co.uk 2010-10-15 +# [Brian_Trammell] Brian Trammell mailto:btrammell&iventurelab.com +# [Brian_Trevor] Brian Trevor mailto:btrevor&bmc.com 2008-10-24 +# [Brian_Tung] Brian Tung mailto:brian&isi.edu +# [Brian_W_Beach] Brian W. Beach mailto:brian&tivo.com 2003-01 +# [Bridget_Navoda] Bridget Navoda mailto:Bridget_Navoda&dell.com +# [Bridget_Walsh] Bridget Walsh mailto:bwalsh&iona.ie +# [Bridgette_Landers] Bridgette Landers mailto:blanders&boi.hp.com +# [Brigitte_Gagne] Brigitte Gagne mailto:bgagne&trigence.com 2006-08 +# [Brooks_Bell] Brooks Bell Layered Logic, Inc. mailto:brooks&layeredlogic.com 2012-01-04 +# [Bruce_Carlson] Bruce Carlson mailto:bruce.carlson&iprintl.com 2003-01 +# [Bruce_Casey] Bruce Casey mailto:bcasey&responselogic.com +# [Bruce_Davie] Bruce Davie mailto:bsd&cisco.com +# [Bruce_Ferjulian] Bruce Ferjulian mailto:ferjulian_bruce&emc.com +# [Bruce_Greenblatt] Bruce Greenblatt mailto:bruce&arkivio.com 2002-02 +# [Bruce_Hestand] Bruce Hestand mailto:Bruce.Hestand&veritas.com +# [Bruce_Kosbab] Bruce Kosbab mailto:bruce.kosbab&indurasoft.com +# [Bruce_Lieberman] Bruce Lieberman mailto:brucel&iserver.starlight.com +# [Bruce_Lueckenhoff] Bruce Lueckenhoff mailto:brucelu&cisco.com +# [Bruce_Lueckenhoff_2] Bruce Lueckenhoff mailto:bruce&scalabledesign.com 2006-02 +# [Bruce_Mackey] Bruce Mackey mailto:BAMackey&aol.com +# [Bruce_McKinnon] Bruce McKinnon mailto:brucemck&bears.aust.com +# [Bruce_McKinnon_2] Bruce McKinnon mailto:brucemck&bearsolutions.com.au +# [Bruce_Thompson] Bruce Thompson mailto:brucet&actioninformationsystems.com 2006-02 +# [Bruce_Toback] Bruce Toback mailto:btoback&optc.com 2003-02 +# [Bruce_Vander_Werf] Bruce Vander Werf mailto:bvanderwerf&crownintl.com 2004-02 +# [Bruce_Wells] Bruce Wells mailto:brwells&us.ibm.com 2010-10-04 +# [Bruce_Wilson] Bruce Wilson tel:+1-905-771-6161 +# [Bruno_Rijsman] Bruno Rijsman Juniper Networks mailto:brijsman&juniper.net 2013-02-01 +# [Bryan_Alvord] Bryan Alvord mailto:bryan&vaticor.com 2003-04 +# [Bryan_Cole] Bryan Cole mailto:bryan.cole&teraview.com +# [Bryan_Otey] Bryan Otey mailto:bwo&softdesk.com +# [Bryan_Vergato] Bryan Vergato mailto:iana&ivocalize.com 2006-05 +# [Bryan_Wilcutt] Bryan Wilcutt mailto:bwilcutt&comtechefdata.com 2005-06 +# Panasonic Intranet, +# [Bryant_Eastham] Bryant Eastham Panasonic North mailto:bryant.eastham&us.panasonic.com 2012-11-12 +# America (PEWLA) +# [Bryce_Beeston] Bryce Beeston mailto:bryce.beeston&emerson.com 2011-06-23 +# [Bryce_Bhatnagar] Bryce Bhatnagar mailto:BRYCEBH&attachmate.com +# [Buck_Caldwell] Buck Caldwell mailto:buck_c&polygon.com +# [Bulent_Kasman] Bulent Kasman mailto:BKasman&symantec.com +# [Byron_Jones] Byron Jones mailto:byronj&bellsouth.net +# [C_Enrique_Ortiz] C. Enrique Ortiz mailto:eortiz&j2medeveloper.com 2003-01 +# [C_Philip_Wood] C. Philip Wood mailto:cpw&lanl.gov +# [Cabel_Sasser] Cabel Sasser Panic Inc. mailto:cabel&panic.com 2012-07-19 +# [CaldSoft] CaldSoft mailto:development&caldsoft.co.uk 2011-08-12 +# [Cameo_Systems_Inc] Cameo Systems Inc. mailto:craig&reversion.ca 2011-09-26 +# [Cameron_Colpitts] Cameron Colpitts Santorini, LLC mailto:cameron&santorinillc.com 2011-10-25 +# [Cameron_Young] Cameron Young mailto:Cameron_Young&inetco.com +# [Candace_Niccolson] Candace Niccolson mailto:cniccolson&genisar.com 2002-04 +# [Canon_Inc] Canon Inc. mailto:fujii.ken-ichi149&canon.co.jp 2011-10-10 +# [Caprice_Productions] Caprice Productions mailto:ldrake&caprice.com 2012-07-05 +# [Carl_Banzhof] Carl Banzhof mailto:cbanzhof&citadel.com 2003-06 +# [Carl_Blundell] Carl Blundell mailto:cblundell&celador.co.uk 2002-05 +# [Carl_Cedergren] Carl Cedergren mailto:asperon&home.se +# [Carl_Ellis] Carl Ellis mailto:carl.ellis&tenasys.com +# [Carl_First] Carl First mailto:Carl.L.First&intel.com +# [Carl_Johan_Wik] Carl-Johan Wik mailto:cjw&hudsmoar.com +# [Carl_Malamud] Carl Malamud +# [Carl_Obsorn] Carl Obsorn mailto:carl_osborn&sabre.com +# [Carl_Uno_Manros] Carl-Uno Manros mailto:manros&cp10.es.xerox.com +# [Carla_Caputo] Carla Caputo mailto:caputo&emc.com +# [Carleton_Watkins] Carleton Watkins mailto:carleton&soronti.com 2003-11 +# [Carlisle_Adams] Carlisle Adams mailto:Cadams&entrust.com +# [Carlos_Arteaga] Carlos Arteaga mailto:carteaga&abacoinc.com +# [Carlos_Arteaga_2] Carlos Arteaga mailto:carteaga&adelphia.net 2004-11 +# [Carlos_Gonzalez_Roma] Carlos Gonzalez-Roman mailto:iana&abcdatos.com 2003-06 +# Ferrer +# [Carlos_Hung] Carlos Hung mailto:chung&digisle.net +# [Carlos_Portela] Carlos Portela mailto:cportela&simple-sw.com 2003-02 +# [Carol_Ann_Krug] Carol Ann Krug mailto:carolann&hpmfas3.cup.hp.com +# [Carson_Fenimore] Carson Fenimore mailto:carson.fenimore&inl.gov +# [Carstein_Seeberg] Carstein Seeberg mailto:case&boole.no +# [Carstein_Seeberg_2] Carstein Seeberg mailto:case&nimsoft.no +# [Carsten_Falticska] Carsten Falticska mailto:falticska&freenet.de 2003-11 +# [Carsten_Strotmann] Carsten Strotmann mailto:carsten.strotmann&menandmice.com 2009-05-20 +# [Casey_Harrington] Casey Harrington mailto:charrington&isxinc.com 2006-01 +# [Casper_Stoel] Casper Stoel mailto:cbs&ascinc.com +# [Cat_Zimmermann] Cat Zimmermann Teledyne BlueView, mailto:czimmermann&teledyne.com 2012-09-19 +# [Cedric_Maloux] Cedric Maloux mailto:cedric&allpeers.com 2007-04 +# [Chad_Williams] Chad Williams mailto:chad&apple.com +# [Chair_for_Process_Control_Engineering] The Chair for Process mailto:ks&plt.rwth-aachen.de 2012-08-07 +# Control Engineering +# [Chandar_Venkataraman] Chandar Venkataraman mailto:CVENKATA&us.oracle.com +# [Chaoyi_Lang] Chaoyi Lang mailto:chao-yi_lang&maxtor.com 2006-01 +# [Chap_Tippin] Chap Tippin mailto:chad.tippin&jibeinc.com 2003-06 +# [Charles_A_Higgins] Charles A. Higgins mailto:75730.2257&compuserve.com +# [Charles_Bennett] Charles Bennett mailto:bennettc&ohio.edu 2008-08-29 +# [Charles_C_L_Chou] Charles C.L. Chou mailto:cchou&zoom.com +# [Charles_F_Steele] Charles F Steele mailto:charles_steele&agilent.com 2011-02-15 +# [Charles_Gordon] Charles Gordon mailto:cgordon&digprod.com +# [Charles_Honton] Charles Honton mailto:chas&honton.org +# [Charles_Jacobs] Charles Jacobs mailto:cjacobs&numinous.com +# [Charles_Lynn] Charles Lynn mailto:clynn&bbn.com +# [Charles_O_Dale] Charles O'Dale mailto:codale&hfx.andara.com 2006-07 +# [Charles_Oram] Charles Oram mailto:charleso&cardax.com +# [Charles_Perkins] Charles Perkins mailto:cperkins&eng.sun.com +# [Charles_Scott_Robers] Charles Scott Roberson mailto:chip&cerent.com +# [Charles_Watt] Charles Watt mailto:watt&sware.com +# [Charles_Wright] Charles Wright mailto:cpwright&villagenet.com +# [Charlie_Hava] Charlie Hava mailto:charlieh&aks.com +# [Charlie_Hundre] Charlie Hundre mailto:charlie&rdsrv.reco.com.tw +# [Charlie_Kim] Charlie Kim mailto:charlie.bea.utiful&gmail.com 2012-08-28 +# [Charlie_Limoges] Charlie Limoges mailto:Charlie.Limoges&gdc4s.com +# [Chatziandreoglou_Chr] Chatziandreoglou Christos mailto:chatzi&xan.forthnet.gr 2003-10 +# [Chaz_McGarvey] Chaz McGarvey mailto:chaz&brokenzipper.com +# [Check_Point_Software] Check Point Software mailto:rbahadur&checkpoint.com 2012-06-28 +# Technologies Ltd. +# [Chee_Kent_Lam] Chee Kent Lam mailto:cklam&foursticks.com 2002-04 +# [Cheryl_Stoutenburg] Cheryl Stoutenburg mailto:cstoutenburg&vnet.ibm.com +# [Chi_Chen] Chi Chen mailto:chichen&us.ibm.com 2002-04 +# [Chi_Shih_Chang] Chi Shih Chang mailto:cchang&syncsort.com 2008-03-19 +# [Chiew_Farn_Chung] Chiew Farn Chung mailto:cfchung&asprova.com +# [Chiming_Huang] Chiming Huang mailto:chuang&ac-tech.com +# [Chirag_Desai] Chirag Desai mailto:Chirag_Desai&symantec.com 2006-02 +# [Chris_Adamson] Chris Adamson mailto:invalidname&gmail.com +# [Chris_Adkins] Chris Adkins mailto:cadkins&filenet.com 2006-10 +# [Chris_Anderson] Chris Anderson Daegis, Inc. mailto:ianaportmaster&daegis.com 2012-07-31 +# [Chris_Bertin] Chris Bertin mailto:chris.bertin&hp.com 2009-05-19 +# [Chris_Brown] Chris Brown mailto:chrisb&chancery.com +# [Chris_Chiotasso] Chris Chiotasso mailto:cchiotasso&infolibria.com +# [Chris_Cuilla] Chris Cuilla mailto:balr!vpnet!cuilla!chris&clout.chi.il.us +# [Chris_Das] Chris Das mailto:cdas&cnd.hp.com +# [Chris_Dern] Chris Dern mailto:cdern&nospam.alarismed.com 2004-06 +# [Chris_Duncombe] Chris Duncombe mailto:cdunc&atpeng.com +# [Chris_Eich] Chris Eich Enphase Energy, Inc. mailto:ceich&enphaseenergy.com 2011-11-08 +# [Chris_Farey] Chris Farey StorMagic Ltd mailto:chris_farey&stormagic.com 2011-12-16 +# [Chris_Flynn] Chris Flynn mailto:cflynn&landmark.com +# [Chris_Forsythe] Chris Forsythe The Growl Project mailto:chris&growl.info 2012-02-07 +# [Chris_Greene] Chris Greene mailto:cgreeneOA&avidsports.com +# [Chris_Griffin] Chris Griffin mailto:cgriffin&dka.com +# [Chris_Griffiths] Chris Griffiths mailto:chris_griffiths&cable.comcast.com 2008-07-28 +# [Chris_Hahn] Chris Hahn mailto:chrish&sierra.net +# [Chris_Hawk] Chris Hawk mailto:chris&corriente.net 2005-08 +# [Chris_Hawkinson] Chris Hawkinson mailto:chawkinson&coalsere.com 2002-08 +# [Chris_Herzog] Chris Herzog mailto:zog&stg.com 2006-05 +# [Chris_Horne] Chris Horne Photosmith mailto:ckhorne&photosmithapp.com 2011-10-27 +# [Chris_Irie] Chris Irie mailto:irie&sybase.com 2008-03-26 +# [Chris_J_Wren] Chris J. Wren mailto:C.Wren&lucent.com +# [Chris_Kent] Chris Kent Ecamm Network, LLC mailto:chris&ecamm.com 2011-10-24 +# [Chris_Kerrigan] Chris Kerrigan mailto:ckerrigan&hns.com +# [Chris_Koeritz] Chris Koeritz mailto:ckoeritz&inovacorp.com +# [Chris_Koeritz_2] Chris Koeritz mailto:fred&gruntose.com 2002-10 +# [Chris_Koeritz_3] Chris Koeritz mailto:portmanager&inovasolutions.com 2006-10 +# [Chris_Kramer] Chris Kramer mailto:CKramer&gis.shl.com +# [Chris_Larsson] Chris Larsson mailto:clarsson&vnet.ibm.com +# [Chris_LeCroy] Chris LeCroy mailto:lecroy&apple.com +# [Chris_MacDonald] Chris MacDonald mailto:chris&viscount.com 2011-03-16 +# [Chris_Megede] Chris Megede mailto:chris.megede&tac.com +# [Chris_Michaelson] Chris Michaelson mailto:chris&codegreennetworks.com 2005-08 +# [Chris_Newman] Chris Newman mailto:chris.newman&oracle.com 2010-10-15 +# [Chris_Peel] Chris Peel mailto:chrispeel.gsi&googlemail.com 2011-03-09 +# [Chris_Pugmire] Chris Pugmire mailto:chrisp&netwinsite.com +# [Chris_Ranch] Chris Ranch mailto:cranch&novell.com +# [Chris_Rominski] Chris Rominski mailto:ChrisRom&attachmate.com +# [Chris_Ryland] Chris Ryland mailto:cpr&emsoftware.com 2004-11 +# [Chris_Sanders] Chris Sanders mailto:csanders&navini.com 2003-08 +# [Chris_Schlaeger] Chris Schlaeger mailto:cs&kde.org +# [Chris_Silverberg] Chris Silverberg mailto:csilverberg&nanocom.com +# [Chris_Stanaway] Chris Stanaway mailto:stanaway&comm.mot.com +# [Chris_Tate] Chris Tate mailto:ctate&astromed.com +# [Chris_Thornhill] Chris Thornhill mailto:port_contact&cjt.ca +# [Chris_Vertonghen] Chris Vertonghen mailto:chrisv&pearldoc.com +# [Chris_Wells] Chris Wells mailto:chris_wells&lansource.com +# [Chris_Wilcox] Chris Wilcox mailto:cwilcox&cd3o.com 2002-10 +# [Chris_Wilson] Chris Wilson mailto:chris+iana&qwirx.com 2008-09-11 +# [Christer_Gunnarsson] Christer Gunnarsson mailto:christer.gunnarsson&ascom.se 2009-03-26 +# [Christer_Nygren] Christer Nygren mailto:christer.nygren&fro.se 2007-08-07 +# [Christiaan_Simons] Christiaan Simons mailto:christiaan.simons&axon.nl +# [Christian_Beaumont] Christian Beaumont mailto:chrisb&lantronix.com 2003-11 +# [Christian_Brecht] Christian Brecht mailto:Christian.Brecht&sauter-gmbh.de 2010-12-15 +# [Christian_Callsen] Christian Callsen mailto:Christian.Callsen&eng.sun.com +# [Christian_Catchpole] Christian Catchpole mailto:christian&catchpole.net 2002-03 +# [Christian_Caudrelier] Christian Caudrelier mailto:Christian.Caudrelier&bull.net 2006-02 +# [Christian_Flintrup] Christian Flintrup mailto:chr&gigahost.dk +# [Christian_Grothoff] Christian Grothoff mailto:grothoff&cs.purdue.edu 2002-10 +# [Christian_Huitema] Christian Huitema mailto:huitema&research.telcordia.com +# [Christian_Huitema_2] Christian Huitema mailto:huitemaµsoft.com 2003-02 +# [Christian_Klemetsson] Christian Klemetsson Integrius AB mailto:christian.klemetsson&integrius.se 2010-03-04 +# [Christian_Laendner] Christian Laendner d&b audiotechnik mailto:software.support&dbaudio.com 2011-10-06 +# [Christian_Rubach] Christian Rubach mailto:Christian_Rubach&bestsoftware.com +# [Christian_Saether] Christian Saether mailto:ChristianS&asymetrix.com +# [Christian_Saether_2] Christian Saether mailto:c.saether&f5.com +# [Christian_Schormann] Christian Schormann mailto:100410.3063&compuserve.com +# [Christian_Stredicke] Christian Stredicke mailto:stredicke&snom.de +# [Christian_Treczoks] Christian Treczoks mailto:ct&braehler.com +# [Christian_Westbrook] Christian Westbrook mailto:cw&wellohorld.com 2007-11-15 +# [Christian_Wolff] Christian Wolff mailto:stvp&smash.tv +# [Christian_Zietz] Christian Zietz mailto:czietz&gmx.net +# [Christina_Mercier] Christina Mercier mailto:christina.mercier&finisar.com 2005-08 +# [Christof_Drescher] Christof Drescher mailto:drescher&mailprox.net 2003-11 +# [Christof_J_Reetz] Christof J. Reetz mailto:cjr&netplan.de 2011-03-09 +# [Christoph_Anton_Mitt] Christoph Anton Mitterer mailto:calestyo&scientia.net 2009-03-10 +# [Christoph_Kukulies] Christoph Kukulies mailto:info&exapt.de 2003-04 +# [Christophe_Allie] Christophe Allie mailto:callie&apple.com 2006-08 +# [Christophe_Besant] Christophe Besant +# [Christophe_Chevalier] Christophe Chevalier mailto:chevalier&archimed.fr 2005-08 +# [Christophe_Cleraux] Christophe Cleraux mailto:chrisc&wrs.com +# [Christophe_Gisquet] Christophe Gisquet mailto:christophe.gisquet&gmail.com 2011-05-26 +# [Christopher_Allen] Christopher Allen mailto:ChristopherA&consensus.com +# [Christopher_Bidwell] Christopher Bidwell mailto:cbidwell&silvercreeksystems.com 2006-02 +# [Christopher_Carlson] Christopher Carlson mailto:cjc&dobbz.com 2003-10 +# [Christopher_Cordray] Christopher Cordray mailto:ccordray&sciencelogic.com 2008-06-05 +# [Christopher_Davey] Christopher Davey mailto:niallocl&quay.ie +# [Christopher_Durham] Christopher Durham mailto:chrisdu&sco.com +# [Christopher_Eykamp] Christopher Eykamp mailto:chris&eykamp.com 2012-08-16 +# [Christopher_Karper] Christopher Karper mailto:ckarper&dev.tricerat.com +# [Christopher_LILJENST] Christopher LILJENSTOLPE mailto:cdl&asgaard.org 2008-04-14 +# [Christopher_Leong] Christopher Leong mailto:leong&kolmod.mlo.dec.com +# [Christopher_McLendon] Christopher McLendon mailto:cem&hyper.com +# [Christopher_Miller] Christopher Miller mailto:Chris.Miller&versatrans.com 2006-02 +# [Christopher_Miller_2] Christopher Miller mailto:chris.miller&versatrans.com 2008-01-14 +# [Christopher_R_Smith] Christopher R. Smith mailto:csmith4&us.ibm.com 2004-11 +# [Christophe_Pignon] Christophe Pignon L-ACOUSTICS mailto:christophe.pignon&l-acoustics.com 2012-08-13 +# [Christopher_Tengi] Christopher Tengi mailto:tengi&princeton.edu +# [Christopher_Truxaw] Christopher Truxaw mailto:ctruxaw&redsoftware.com 2010-10-15 +# [Christopher_Wells] Christopher Wells mailto:Christopher_Wells&3com.com +# [Christopher_Wells_2] Christopher Wells mailto:christopher_wells&3com.com 2002-04 +# [Chuck_McManis] Chuck McManis mailto:cmcmanis&freegate.net +# [Chuck_Neal] Chuck Neal mailto:chuck&phase3.com +# [Chuck_Runquist] Chuck Runquist mailto:crunquist&quarterdeck.com +# [Chuck_Spitz] Chuck Spitz mailto:spich04&cai.com +# [Chuck_Talk] Chuck Talk mailto:ctalk&pervasive.com +# [Chui_Tin_Yen] Chui-Tin Yen mailto:tin&cisco.com 2006-02 +# [Chul_Yoon] Chul Yoon mailto:cyoon&responsenetworks.com +# [Chun_Ho_Chang] Chun-Ho Chang mailto:chun-ho.chang&ca.com 2004-11 +# [Cimarron_Boozer] Cimarron Boozer mailto:cboozer&funk.com +# [Cindy_Martin] Cindy Martin mailto:cmartin&databeam.com +# [CipherPoint] CipherPoint Software, mailto:wshea&cipherpointsoftware.com 2010-03-03 +# inc. +# [Circus_Ponies_Suppor] Circus Ponies Support mailto:support&circusponies.com +# [Cisco] Cisco mailto:glenn.matthews&cisco.com 2011-10-25 +# [Cisco2] Cisco mailto:smkumar&cisco.com 2012-06-11 +# [Cisco_Systems] Cisco Systems mailto:nmtg-port-numbers&cisco.com 2005-11 +# [CityDisc] CityDisc mailto:citydisc&euronet.nl +# [Claes_Fredrik_Mannby] Claes-Fredrik Mannby mailto:cf&mannby.com +# [Clark_Williams] Clark Williams mailto:clark&wirespeed.com +# [CLAUDE_MALLY] CLAUDE MALLY XMI Systems SA mailto:cma&xmisystems.com 2013-01-18 +# [Claudio_Lastrucci] Claudio Lastrucci POWERSOFT S.R.L. mailto:claudio.lastrucci&powersoft.it 2012-01-03 +# [Claudio_Procida] Claudio Procida mailto:claudio&emeraldion.it 2007-05 +# [Claus_Broch] Claus Broch NextDay Aps mailto:nextday&infinite-loop.dk 2012-04-24 +# [Claus_Broch2] Claus Broch Infinite Loop mailto:nasmon&infinite-loop.dk 2012-10-09 +# [Claus_Jensen] Claus Jensen Libratone A/S mailto:cjn&libratone.com 2011-10-27 +# [Claus_Thor_Barth] Claus Thor Barth mailto:iana&barth.dk +# [Clay_Maeckal] Clay Maeckal mailto:clay_maeckel&filemaker.com +# [Clay_Maeckel] Clay Maeckel mailto:clay_maeckel&filemaker.com +# [Clayton_Haapala] Clayton Haapala mailto:clay.haapala&veritas.com 2005-08 +# [Clayton_Wilkinson] Clayton Wilkinson mailto:cwilkinson&carreker.com +# [Cliff_Batson] Cliff Batson mailto:cliff&perrla.com 2010-01-21 +# [Cliff_Diamond] Cliff Diamond mailto:cdiamond&crypto-solutions.co.uk +# [Cliff_Joyce] Cliff Joyce mailto:cliffjoyce&pureblend.com +# [Clifford_Heath] Clifford Heath mailto:cjh&managesoft.com 2006-05 +# [Clifton_Nock] Clifton Nock mailto:cnock&us.ibm.com +# [Clint_Eskew] Clint Eskew Control Technology mailto:ceskew&controltechnology.com 2011-10-28 +# [CloudFlare] CloudFlare, Inc. mailto:help&cloudflare.com 2012-03-09 +# [Cnaan_Aviv] Cnaan Aviv mailto:cnaan&gammasite.com +# [Cognex] Cognex Corporation mailto:contactus&cognex.com 2012-08-28 +# [Coleman_Brumley] Coleman Brumley mailto:cbrumley&polarsoft.biz 2011-02-10 +# [Colin_Barry] Colin Barry mailto:cbarry&gbahn.com +# [Colin_Caughie] Colin Caughie mailto:cfc&indigo-avs.com +# [Colin_Goldstein] Colin Goldstein mailto:Colin&kana.com +# [Colin_Griffiths] Colin Griffiths mailto:colin.griffiths&interlinksoftware.com 2002-02 +# [Colin_Henein] Colin Henein mailto:iana&cmh.parliant.com 2005-08 +# [Colin_Hughes] Colin Hughes mailto:chughes&agentsease.net 2006-02 +# [Colin_Kelley] Colin Kelley mailto:cdk&callwave.com +# [Colin_Reid] Colin Reid mailto:creid&projux.com 2002-11 +# [CollabNet] CollabNet mailto:info&collab.net +# [Colm_MacCarthaigh] Colm MacCarthaigh mailto:colm.maccarthaigh&joost.com 2007-04 +# [Complan_Network_AS] Complan Network AS mailto:knut&winpcs.com 2006-02 +# [Computer_Software_Gm] Computer Software mailto:BrunoRistok&cs-ag.de 2002-10 +# GmbH +# [Connie_Qiu] Connie Qiu mailto:connie&scdb.com +# [Conny_Larsson] Conny Larsson mailto:cocke&vnet.ibm.com +# [Control_Technology_Inc] Control Technology mailto:ceskew&controltechnology.com 2011-10-28 +# [COPALP] COPALP mailto:jf&copalp.com 2012-03-01 +# [Copy] Copy mailto:team©.com 2012-09-19 +# [Corey_Burnett] Corey Burnett mailto:corey.burnett&biopop.com +# [Corey_Clinton] Corey Clinton mailto:ccclinton&travisassoc.com 2011-02-02 +# [Corey_Corrick] Corey Corrick mailto:corey.corrick&flamenconetworks.com +# [Corey_Leong] Corey Leong mailto:cleong&gr8c.org 2010-10-11 +# [Cormac_Long] Cormac Long mailto:webmaster&smsforum.net 2002-07 +# [Corpus_Collusion] Corpus Collusion mailto:developer&corpuscollusion.com 2011-08-23 +# [Craig_Calef] Craig Calef mailto:craig&katmango.com +# [Craig_Ching] Craig Ching mailto:cching&mqsoftware.com +# [Craig_Dowell] Craig Dowell Qualcomm Innovation mailto:cdowell&quicinc.com 2011-12-21 +# Center, Inc. +# [Craig_Everhart] Craig Everhart mailto:Craig.Everhart&netapp.com 2010-07-06 +# [Craig_Fowler] Craig Fowler mailto:cfowler&us.oracle.com +# [Craig_Langfahl] Craig Langfahl mailto:Craig_J_Langfahl&ccm.ch.intel.com +# [Craig_N_Bissell] Craig N. Bissell mailto:craig&quailnetworks.com 2006-04 +# [Craig_Nelson] Craig Nelson Cameo Systems Inc. mailto:craig&reversion.ca 2011-09-26 +# [Craig_Rogers] Craig Rogers mailto:Rogers&isi.edu +# [Craig_Steffen] Craig Steffen mailto:csteffen&ncsa.uiuc.edu 2005-08 +# [Craig_Weeks] Craig Weeks mailto:cweeks&syspace.co.uk +# [Crestron_Electronics] Crestron Electronics, mailto:mtalreja&crestron.com 2012-06-27 +# [Cristian_Petculescu] Cristian Petculescu mailto:cristpµsoft.com +# [Cristian_Petculescu_2] Cristian Petculescu mailto:cristp&hotmail.com 2003-04 +# [Cristian_Petculescu_3] Cristian Petculescu mailto:petcu40&gmail.com 2005-08 +# [Cryo_Networks] Cryo-Networks mailto:p.favre&cryo-networks.fr +# [Csaba_Mate] Csaba Mate mailto:mc36&freemail.c3.hu +# [Cullen_Jennings] Cullen Jennings mailto:fluffy&cisco.com 2010-02-03 +# [Curt_Ellmann] Curt Ellmann mailto:curt.ellmann&ncr.com +# [Curt_Mayer] Curt Mayer mailto:curt&emergent.com +# [Curt_Schimmel] Curt Schimmel mailto:curt&small-tree.com 2005-11 +# [Curtis_Anderson] Curtis Anderson mailto:canderson&turbolinux.com +# [Curtis_Anderson_2] Curtis Anderson mailto:ecanderson&turbolinux.com +# [Curtis_Bray] Curtis Bray mailto:CurtisB&creativedesign.com +# [Curtis_Smith] Curtis Smith mailto:curtis.smith&vsin.com +# [Curtiss_Howard] Curtiss Howard mailto:cjhoward&unity.ncsu.edu 2004-11 +# [CX5_SOFTWARE] CX5 SOFTWARE mailto:contact&cx5software.com 2013-02-04 +# [DARcorp] mailto:DARcorp&aol.com +# [d_b_audiotechnik] d&b audiotechnik mailto:software.support&dbaudio.com 2011-10-06 +# [D_J_Bernstein] D. J. Bernstein mailto:djb&silverton.berkeley.edu +# [D_J_Bernstein_2] D. J. Bernstein mailto:djb&koobera.math.uic.edu +# [Daegis_Inc] Daegis, Inc. mailto:ianaportmaster&daegis.com 2012-07-31 +# [Dagfinn_Saether] Dagfinn Saether mailto:Dagfinn&admins.com +# [Daisuke_Shinomiya] Daisuke Shinomiya mailto:shinomiya.daisu&jp.fujitsu.com 2005-08 +# [Daivd_P_Chassin] Daivd P. Chassin mailto:david.chassin&pnl.gov 2002-06 +# [Dale_Bethers] Dale Bethers mailto:dbethers&novell.com +# [Dale_Norman] Dale Norman mailto:dnorman&informatica.com +# [Dalit_Naor] Dalit Naor mailto:dalit&il.ibm.com +# [Dameon_Wagner] Dameon Wagner mailto:d.wagner&freemail.absa.co.za 2002-02 +# [Damian_Tarnawsky] Damian Tarnawsky mailto:support&nexusconcepts.com +# [Damien_Miller] Damien Miller mailto:damien&ibs.com.au +# [Damir_Skrjanec] Damir Skrjanec mailto:damir.skrjanec&cybrotech.co.uk 2007-05 +# [Damon_Danieli] Damon Danieli mailto:damondµsoft.com +# [Damon_Ennis] Damon Ennis mailto:damon&silver-peak.com 2007-03 +# [Dan_Amstutz] Dan Amstutz mailto:dan&iliumsoft.com +# [Dan_Bernstein] Dan Bernstein mailto:djb&silverton.berkeley.edu +# [Dan_Bernstein_2] Dan Bernstein mailto:djb&cr.yp.to +# [Dan_Bernstein_3] Dan Bernstein mailto:djb&koobera.math.uic.edu +# [Dan_Burrows] Dan Burrows mailto:dburrows&overlandstorage.com 2009-09-25 +# [Dan_Cummings] Dan Cummings mailto:doc&cnr.com +# [Dan_Davis] Dan Davis mailto:Dan.A.Davis&hp.com 2003-04 +# [Dan_Flowers] Dan Flowers mailto:flowers&smaug.lkg.dec.com +# [Dan_Goff] Dan Goff mailto:Dan.Goff&ngc.com +# [Dan_Harkins] Dan Harkins mailto:dharkins&lounge.org 2011-08-15 +# [Dan_Harrington] Dan Harrington mailto:dth&lucent.com +# [Dan_Klein] Dan Klein mailto:dvk&lonewolf.com +# [Dan_Leising] Dan Leising mailto:dleisingµsoft.com 2005-01 +# [Dan_Mahn] Dan Mahn mailto:dan.mahn&digidescorp.com +# [Dan_Polivy] Dan Polivy mailto:dpolivyµsoft.com 2008-03-12 +# [Dan_Razzell] Dan Razzell mailto:dan&starfishsystems.ca 2006-06 +# [Dan_Shia] Dan Shia mailto:dset!shia&uunet.uu.net +# [Dan_Smith] Dan Smith mailto:dan.smith&den.galileo.com +# [Dan_Wing] Dan Wing mailto:dwing&cisco.com 2011-01-11 +# [Dana_Blair] Dana Blair mailto:dblair&cisco.com 2004-06 +# [Dana_Doggett] Dana Doggett Stoneware Inc. mailto:dana.doggett&stone-ware.com 2012-05-18 +# [Dana_Porter] Dana Porter mailto:dana.porter&sun.com 2003-10 +# [Daniel_Becker] Daniel Becker mailto:becker2d&ttc.com +# [Daniel_Becker_2] Daniel Becker mailto:beckerd&ttc.com +# [Daniel_Becker_3] Daniel Becker mailto:dbecker&v-one.com +# [Daniel_Becker_4] Daniel Becker mailto:Dan.Becker&fortisphere.com 2008-06-03 +# [Daniel_Birns] Daniel Birns mailto:daniel&globes.com +# [Daniel_C_McGloin] Daniel C. McGloin mailto:daniel_mcgloin&intuit.com 2005-05 +# [Daniel_Friedman] Daniel Friedman mailto:dfriedman&hns.com 2003-08 +# [Daniel_G_Taylor] Daniel G. Taylor mailto:dan&programmer-art.org 2007-11 +# [Daniel_Grazioli] Daniel Grazioli mailto:dgrazioli&pgaero.co.uk +# [Daniel_Heffernan] Daniel Heffernan mailto:me&daniel.ie +# [Daniel_Holth] Daniel Holth mailto:dholth&fastmail.fm 2012-04-24 +# [Daniel_J_Walsh] Daniel J Walsh mailto:dwalsh&bindview.com +# [Daniel_Julio_Reyes] Daniel Julio Reyes mailto:danieljreyes&yahoo.com 2003-08 +# [Daniel_Kilsdonk] Daniel Kilsdonk mailto:dan&prospeed.net 2006-08 +# [Daniel_Mavrakis] Daniel Mavrakis mailto:system&venus.mctel.fr +# [Daniel_Mavrakis_2] Daniel Mavrakis mailto:mavrakis&mctel.fr +# [Daniel_R_Somerfield] Daniel R Somerfield mailto:dsomerfi&harris.com 2011-08-05 +# [Daniel_Ruppert] Daniel Ruppert mailto:daniel&kaffi.lu 2010-09-16 +# [Daniel_Simms] Daniel Simms mailto:dsimms&acm.uiuc.edu +# [Daniel_Sisk] Daniel Sisk mailto:daniel.sisk&pnl.gov +# [Daniel_Sorlov] Daniel Sorlov mailto:Daniel&sorlov.com +# [Daniel_Sorlov_2] Daniel Sorlov mailto:daniel&sorlov.com 2002-06 +# [Daniel_Steinberg] Daniel Steinberg mailto:daniel&oreilly.com +# [Daniel_Stodle] Daniel Stodle mailto:daniels&cs.uit.no +# [Daniel_Story] Daniel Story mailto:dan&guy-tek.com 2008-01-25 +# [Daniel_Tappan] Daniel Tappan mailto:Tappan&bbn.com +# [Daniel_W_Antonuk] Daniel W. Antonuk mailto:dantonuk&etcconnect.com 2006-05 +# [Daniel_Whelan] Daniel Whelan mailto:dwhelan&filenet.com +# [Daniel_Wippermann] Daniel Wippermann mailto:Daniel.Wippermann&resol.de +# [Danko_Alexeyev] Danko Alexeyev mailto:virtuall&virtuall.info 2007-08-08 +# [Dany_Ayotte] Dany Ayotte mailto:ayotte&teamsoft.com 2002-07 +# [Danzhou_Liu] Danzhou Liu Symantec mailto:Danzhou_Liu&symantec.com 2012-05-07 +# [Dario_S_Tonesi] Dario S. Tonesi mailto:dario.tonesi&nsn.com 2011-02-07 +# [Darrell_Schiebel] Darrell Schiebel mailto:dschieb&cv.nrao.edu +# [Darrin_Smart] Darrin Smart mailto:dns-sd&filmlight.ltd.uk +# [Darshan_Shah] Darshan Shah mailto:darshan.shah&ni.com +# [Darwin_Ammala] Darwin Ammala mailto:dammala&harris.com 2007-03 +# [Daryle_DeBalski] Daryle DeBalski mailto:ddebalski&optika.com +# [Data_Access_Inc] Data Access, Inc. mailto:development&dataaccessinc.com 2012-04-30 +# Data Storage +# [Data_Storage_Institu] Institute of mailto:Patrick&dsi.nus.edu.sg 2002-02 +# Singapore +# [Datacolor] Datacolor mailto:hbarber&datacolor.com 2011-10-14 +# [Dave_Bellivea] Dave Bellivea mailto:DaveBelliveau&corsof.com +# [Dave_Belliveau] Dave Belliveau mailto:DaveBelliveau&cornerstonesoftware.com +# [Dave_Benton] Dave Benton mailto:dave.benton&eaglepoint.com +# [Dave_Buehmann] Dave Buehmann mailto:ingr!daveb&uunet.uu.net +# [Dave_Carrigan] Dave Carrigan mailto:dave&openshut.net +# [Dave_Chapman] Dave Chapman mailto:dave.chapman&buildings.schneider-electric.com 2011-06-06 +# [Dave_Christianson] Dave Christianson mailto:dbc1&cs.washington.edu +# [Dave_Clark] Dave Clark mailto:ddc&lcs.mit.edu +# [Dave_Craft] Dave Craft mailto:gpfs&ibm.com 2004-11 +# [Dave_DesRoches] Dave DesRoches mailto:ddesroches&clariion.com +# [Dave_Feinleib] Dave Feinleib mailto:davefeµsoft.com +# [Dave_Gimpl] Dave Gimpl mailto:gimpl&us.ibm.com 2003-01 +# [Dave_Hines] Dave Hines mailto:d.hines&high-availability.com 2004-11 +# [Dave_Howell] Dave Howell mailto:dave&avatron.com +# [Dave_Hubbard] Dave Hubbard mailto:dave&icc.net +# [Dave_Inman] Dave Inman mailto:davei&mxim.com +# [Dave_Jagoda] Dave Jagoda mailto:dj&opsware.com 2006-06 +# [Dave_Katz] Dave Katz mailto:dkatz&juniper.net 2006-02 +# [Dave_Lamb] Dave Lamb mailto:rdl&rdl.cnd.hp.com +# [Dave_LeBlang] Dave LeBlang mailto:leglang&atria.com +# [Dave_Lindquist] Dave Lindquist mailto:dlindquist&egistix.com 2010-05-27 +# [Dave_Lindquist_2] Dave Lindquist mailto:dlindquist&egistix.com +# [Dave_Lyons] Dave Lyons mailto:dlyons&dnpg.com +# [Dave_Maxwell] Dave Maxwell mailto:d.maxwell&cablelabs.com +# [Dave_Mills] Dave Mills mailto:mills&udel.edu +# [Dave_Mills_2] Dave Mills mailto:Mills&huey.udel.edu +# [Dave_Nesbitt] Dave Nesbitt mailto:nesbitt&cp10.es.xerox.com +# [Dave_Neudoerffer] Dave Neudoerffer mailto:Dave.Neudoerffer&ianywhere.com +# [Dave_Neudoerffer_2] Dave Neudoerffer mailto:dave.neudoerffer&sybase.com 2009-11-18 +# [Dave_Porter] Dave Porter mailto:porter&mango.com +# [Dave_Reiland] Dave Reiland mailto:dave.reiland&netex.com 2003-11 +# [Dave_Robin] Dave Robin mailto:iana_ports&daverobin.com +# [Dave_Ross] Dave Ross mailto:david.ross&ca.com +# [Dave_Ruedger] Dave Ruedger mailto:daver&datalode.com 2003-11 +# [Dave_Sewell] Dave Sewell mailto:dave&sewelldev.com +# [Dave_Simmons] Dave Simmons mailto:dsimmons¯omedia.com +# [Dave_Spencer] Dave Spencer mailto:dspencer&xingtech.com +# [Dave_Springer] Dave Springer mailto:daves&apple.com +# [Dave_Stampe] Dave Stampe mailto:dstampe&psych.toronto.edu +# [Dave_Stone] Dave Stone mailto:dstone01&harris.com 2002-09 +# [Dave_Stoneham] Dave Stoneham mailto:dave&mulberry-consultants.co.uk 2008-03-10 +# [Dave_Thaler] Dave Thaler mailto:thalerd&eecs.umich.edu +# [Dave_Thaler_2] Dave Thaler mailto:dthalerµsoft.com +# [Dave_Ward] Dave Ward mailto:dward&cisco.com 2006-02 +# [Dave_Watkins] Dave Watkins mailto:davew&boi.hp.com +# [Dave_Wierbowski] Dave Wierbowski mailto:wierbows&us.ibm.com 2006-08 +# [Davey_Taylor] Davey Taylor mailto:davey.taylor&brimstone.net 2003-02 +# [David_A_Gayler] David A. Gayler mailto:David.Gayler&bindview.com 2005-08 +# [David_A_Gayler_2] David A. Gayler mailto:dgayler&eminentware.com 2006-07 +# [David_A_Gomberg] David A. Gomberg mailto:gomberg&gateway.mitre.org +# [David_A_Lethe] David A. Lethe mailto:david_lethe&us.xyratex.com 2003-04 +# [David_A_Lethe_2] David A Lethe mailto:david&santools.com 2008-05-01 +# [David_Anderson] David Anderson mailto:davea&ssl.berkeley.edu 2004-11 +# [David_Anthony] David Anthony mailto:anthony&power.amasd.anatcp.rockwell.com +# [David_Anuszewski] David Anuszewski mailto:david.anuszewski&siemens.com 2004-11 +# [David_Arko] David Arko mailto:darko&hpfcrn.fc.hp.com +# [David_Arnold] David Arnold mailto:davida&pobox.com +# [David_Ashkenazi] David Ashkenazi mailto:david&synel.co.il 2010-03-23 +# [David_Ashley] David Ashley mailto:david.ashley.ibm&gmail.com 2009-07-24 +# [David_Aspinwall] David Aspinwall mailto:aspinwall×ten.com 2003-04 +# [David_B_Hon] David B. Hon mailto:hon&astro.ufl.edu 2003-03 +# [David_Barrass] David Barrass mailto:dbarrass&bartecautoid.com 2006-01 +# [David_Barrass_2] David Barrass mailto:david.barrass&minorplante.com 2003-11 +# [David_Berk] David Berk mailto:dberk&ping-0.com 2007-08-30 +# [David_Bisset] David Bisset mailto:dbisset&mvel.demon.co.uk +# [David_Borman] David Borman mailto:dab&windriver.com 2003-03 +# [David_Bourland] David Bourland mailto:DBourland&smausa.com +# [David_Brandon] David Brandon mailto:dade&smoolabs.net 2006-08 +# [David_Brower] David Brower mailto:david.brower&oracle.com +# [David_Catmull] David Catmull mailto:uncommon&uncommonplace.com 2006-01 +# [David_Chassin] David Chassin mailto:david.chassin&pnl.gov 2010-12-10 +# [David_Chell] David Chell mailto:david&softlife.co.nz +# [David_Cheng] David Cheng mailto:davec&aesclever.com 2010-02-01 +# [David_Clark] David Clark mailto:ddc&lcs.mit.edu +# [David_Clunie] David Clunie mailto:dclunie&dclunie.com 2005-08 +# [David_Cooper] David Cooper mailto:david.cooper&oracle.com +# [David_Crewson] David Crewson mailto:davidc&eydeas.net 2004-09 +# [David_Crowe] David Crowe mailto:dcrowe&faronics.com 2008-01-07 +# [David_Dion] David Dion mailto:David.Dionµsoft.com 2009-02-12 +# [David_Duncan] David Duncan mailto:dduncan&es.com +# [David_Dunetz] David Dunetz mailto:david&sweetware.com +# [David_Ely] David Ely mailto:dely&cnri.reston.va.us +# [David_F_Skoll] David F. Skoll mailto:dfs&roaringpenguin.com 2010-02-05 +# [David_Farajun] David Farajun mailto:dfarajun&asigra.com 2004-11 +# [David_Ferguson] David Ferguson mailto:dferguson&xtralot.com 2002-02 +# [David_Ferrero] David Ferrero mailto:david&zion.com +# [David_Fudge] David Fudge mailto:david.fudge&tssi.co.uk 2003-08 +# [David_Goldberg] David Goldberg mailto:dgoldberg&callisto.com +# [David_Goodall] David Goodall mailto:david.goodall&g2microsystems.com 2007-02 +# [David_Greer] David Greer mailto:david_greer&robelle.com +# [David_HM_Spector] David HM Spector mailto:spector&zeitgeist.com +# [David_Hagood] David Hagood mailto:david.hagood&aeroflex.com +# [David_Hampson] David Hampson mailto:davidha&codemasters.com +# [David_Holden] David Holden mailto:mdh&rentek.net +# [David_Hornsby] David Hornsby mailto:djh&munnari.oz.au +# [David_Hua] David Hua mailto:davhuaµsoft.com +# [David_Hughes] David Hughes mailto:bambi&hughes.com.au +# [David_Ison] David Ison mailto:here&dialup.oar.net +# [David_J_Wilson] David J. Wilson mailto:djw&arbortext.com +# [David_Jones] David Jones mailto:djones&cincom.com +# [David_Ko] David Ko mailto:dko&autodesk.com +# [David_Ko_2] David Ko mailto:david.dk.ko&gmail.com 2009-09-14 +# [David_Kramer] David Kramer mailto:dkramer&apple.com 2004-11 +# [David_Kramer_2] David Kramer mailto:dkramer&apple.com +# [David_Lasker] David Lasker mailto:dave&altosdesign.com +# [David_Leinbach] David Leinbach mailto:dleinbach&jti.bc.ca +# [David_Lemson] David Lemson mailto:dlemsonµsoft.com +# [David_Lethe] David Lethe mailto:david&santools.com 2010-12-24 +# [David_Luxford] David Luxford mailto:david.luxford&asg.com 2010-07-01 +# [David_M_Gay] David M. Gay AMPL Optimization, mailto:dmg&l.com 2012-05-25 +# [David_M_O_Rourke] David M. O'Rourke mailto:daveo&apple.com 2003-01 +# [David_M_Rhodes] David M. Rhodes mailto:davidrho&cnd.hp.com +# [David_Manns] David Manns mailto:davidm&pulsonix.com 2008-02-28 +# [David_McLaughlin] David McLaughlin mailto:davidmclaughlin&accessdata.com 2004-11 +# [David_McMarlin] David McMarlin mailto:david.mcmarlin&oracle.com 2006-08 +# [David_Meermans] David Meermans mailto:david.meermans&aastra.com +# [David_Merchant] David Merchant mailto:d.f.merchant&livjm.ac.uk +# [David_Miller] David Miller mailto:dave.dsm&gmail.com 2007-02 +# [David_Misunas] David Misunas mailto:DMisunas&micom.com +# [David_Mojdehi] David Mojdehi mailto:david.mojdehi&autodesk.com 2002-04 +# [David_Moore] David Moore mailto:dmoore&uttc-uts.com +# [David_Nanian] David Nanian mailto:dnanian&shirt-pocket.com 2007-09-28 +# [David_Nanian_2] David Nanian mailto:dnanian&shirt-pocket.com +# [David_Nash] David Nash mailto:dnash&ford.com +# [David_Ott] David Ott mailto:dott&qualcomm.com 2010-10-15 +# [David_Page] David Page mailto:david.page&sun.com 2005-08 +# [David_Pinch] David Pinch mailto:dpinch&mtl-inst.com 2002-04 +# [David_Priest] David Priest mailto:priest&sfu.ca +# [David_Reed] David Reed +# [David_Riggle] David Riggle mailto:dave&busymac.com 2008-01-07 +# [David_Roberts] David Roberts mailto:David.Roberts&ca.com 2005-05 +# [David_Rouchet] David Rouchet mailto:david.rouchet&medialon.com 2007-05 +# [David_Schwartz] David Schwartz mailto:davids&webmaster.com +# [David_Schwartz_2] David Schwartz mailto:david.schwartz&marathontechnologies.com 2009-06-18 +# [David_Sechrest] David Sechrest mailto:david.sechrest&oracle.com 2010-09-22 +# [David_Shaw] David Shaw mailto:dshaw&jabberwocky.com 2003-05 +# [David_Sinclair] David Sinclair mailto:dev&profilemac.com 2006-05 +# [David_Sinclair_2] David Sinclair mailto:bonjour&profilemac.com +# [David_Snocken] David Snocken tel:+44-71-437-7009 +# [David_Spencer] David Spencer mailto:dspencer&telops.com +# [David_Sperling] David Sperling mailto:dsperling&smithmicro.com 2006-06 +# [David_Sperling_2] David Sperling Smith Micro Software, mailto:dsperling&smithmicro.com 2011-10-10 +# [David_Spivey] David Spivey mailto:DavidTSpivey&gmail.com 2010-08-30 +# [David_Stephenson] David Stephenson mailto:david_stephenson&hp.com +# [David_Straw] David Straw mailto:david.straw&hp.com 2005-11 +# [David_Suffield] David Suffield mailto:david.suffield&hp.com 2006-05 +# [David_T_Hines] David T. Hines mailto:david.hines&intel.com 2005-02 +# [David_Thielen] David Thielen mailto:support&windward.net +# [David_Thompson] David Thompson mailto:theta&theta-ent.com +# [David_Tong] David Tong mailto:David_Tong&integrated.mb.ca +# [David_Troeger] David Troeger mailto:David_Troeger&dell.com +# [David_Turner] David Turner mailto:digital&quetico.tbaytel.net +# [David_V_Raskin] David V. Raskin mailto:draskin&rimage.com 2006-02 +# [David_Vest] David Vest mailto:dave&mythicsoft.com 2008-11-19 +# [David_W_Radcliffe] David W. Radcliffe mailto:info&radsolution.co.uk +# [David_Walend] David Walend mailto:david&walend.net +# mailto:dev&salutafugijms.dev.java.net +# [David_Walling] David Walling mailto:sylvanhollow&yahoo.com 2006-03 +# [David_Walling_2] David Walling mailto:dwalling&isoft.com +# [David_Warden] David Warden mailto:david_warden&symantec.com 2008-11-17 +# [David_Warden_2] David Warden mailto:warden&nupaper.com 2005-11 +# [David_Weinstein] David Weinstein mailto:david.weinstein&redstorm.com +# [David_Weisgerber] David Weisgerber mailto:david.weisgerber&printsoft.de 2007-09-27 +# [David_Wilson] David Wilson mailto:dwilson&integral-ie.com +# [David_Wiltz] David Wiltz mailto:dwiltz&hf.intel.com +# [David_Wooden] David Wooden mailto:dwooden&wizdom.com +# [David_Yon] David Yon mailto:yon&tactical-sw.com +# [David_Yon_2] David Yon mailto:dyon&dialout.net 2002-05 +# [David_Young] David Young mailto:david.young&ccsseurope.co.uk 2006-01 +# [David_Zimmerman] David Zimmerman mailto:dpz&rutgers.edu +# [Davoud_Maha] Davoud Maha mailto:dmaha&saba.com +# [Dawei_Qi] Dawei Qi mailto:dqi&galaxytelecomms.com 2010-07-07 +# [DeVoeSquared] DeVoeSquared mailto:support&devoesquared.com +# [De_Chih_Chien] De-Chih Chien mailto:de-chih_chien&symantec.com 2008-10-06 +# [Dean_Blackketter] Dean Blackketter mailto:dean&corp.webtv.net +# [Dean_Blackketter_2] Dean Blackketter mailto:dean&slimdevices.com +# [Dean_Dauger] Dean Dauger mailto:D&daugerresearch.com +# [Dean_Robson] Dean Robson mailto:dean.robson&fujitsu.com.au +# [Dean_Skelton] Dean Skelton mailto:mdskel&ftw.rsc.raytheon.com +# [Dean_Webb] Dean Webb mailto:dean.webb&ascend.com +# [DEIF_AS] DEIF A/S mailto:aes&deif.com 2012-10-15 +# [Delcio_Prizon] Delcio Prizon mailto:dprizon&smar.com.br +# [Dell] Dell mailto:jessica_z&dell.com 2012-11-19 +# [Delphix_Corp] Delphix Corp mailto:peng.dai&delphix.com 2012-11-01 +# [Denis_Ducharme] Denis Ducharme mailto:dducharme&softek.com +# [Denis_Leclerc] Denis Leclerc mailto:DLeclerc&banyan.com +# [Denise_Eckstein] Denise Eckstein mailto:denise.eckstein&hp.com 2004-11 +# [Denise_Fernandez] Denise Fernandez mailto:dcbfernandez&gmail.com +# [Dennis_Batchelder] Dennis Batchelder mailto:dennis&capres.com +# [Dennis_Dube] Dennis Dube mailto:ddube&modicon.com +# [Dennis_Mastin] Dennis Mastin mailto:dennis&tasmania.platte.com +# [Dennis_Parker] Dennis Parker mailto:dparker&broadcloud.com 2002-02 +# [Dennis_Reinhardt] Dennis Reinhardt mailto:DennisR&dair.com +# [Derick_Snyder] Derick Snyder mailto:dsnyder&rainbow.com +# [Dermot_Tynand] Dermot Tynand mailto:dtynan&claddagh.ie +# [Derrick_Hisatake] Derrick Hisatake mailto:derrick.i.hisatake&intel.com +# [Desmond_Chan] Desmond Chan mailto:deschan&prismedia.com +# [Detlef_Rothe] Detlef Rothe mailto:detlef.rothe&ts.fujitsu.com 2009-05-15 +# [Detlef_Stoever] Detlef Stoever mailto:mail&ivotec.com 2003-03 +# Deutschland Informations +# [Deutschland_Informat] und mailto:beratung&dirg.de +# Reservierungsgesellschaft +# mbH +# [Developer_Support] Developer Support mailto:devsupport&tivo.com +# [Developer_Support_2] Developer Support TiVo Inc. mailto:devsupport&tivo.com 2011-10-18 +# [Devjani_Ray] Devjani Ray Oracle Corporation mailto:Devjani.Ray&oracle.com 2012-04-20 +# [Devon_Dawson] Devon Dawson mailto:devon.dawson&hp.com 2003-11 +# [Devon_Taylor] Devon Taylor mailto:dtaylor&novell.com +# [DEVONtechnologies_LLC] DEVONtechnologies, mailto:info&devontechnologies.com 2011-10-18 +# LLC +# [Dialectro_Software] Dialectro Software mailto:g&dialectro.com 2011-10-20 +# [Diane_Downie] Diane Downie mailto:downie&jibe.mv.com +# [Diane_I_Shannon] Diane I. Shannon mailto:shannond&us.ibm.com 2007-04 +# [Dick_Augustsson] Dick Augustsson mailto:dick&skenbe.net +# [Dick_Georges] Dick Georges mailto:georges&monaco.net 2002-02 +# [Dick_van_der_Sijs] Dick van der Sijs mailto:dick&and.nl +# [Didier_Cabannes] Didier Cabannes mailto:Didier&matisse.com 2004-11 +# [Diego_Friedel] Diego Friedel mailto:d.friedel&avm.de 2006-03 +# [Diego_Negre] Diego Negre Nuance Communications mailto:Diego.Negre&nuance.com 2012-10-05 +# [Diego_Santa_Cruz] Diego Santa Cruz SpinetiX S.A. mailto:Diego.SantaCruz&spinetix.com 2011-10-18 +# [Diego_Saravia] Diego Saravia mailto:dsa&unsa.edu.ar +# [Dieter_Siegmund] Dieter Siegmund mailto:dieter&apple.com 2007-10-22 +# [Dietmar_Finkler] Dietmar Finkler mailto:d.finkler&hermstedt.de +# [DIFUSI_Inc] DIFUSI, Inc. mailto:mike&difusi.com 2011-11-07 +# [Dima_Seliverstov] Dima Seliverstov mailto:Dima_Seliverstov&bmc.com 2009-07-28 +# [Dimitrios_Souflis] Dimitrios Souflis mailto:dsouflis&altera.gr +# [Dimitris_Michelinaki] Dimitris Michelinakis mailto:dimitris&michelinakis.gr 2002-05 +# [Dinkar_Chivaluri] Dinkar Chivaluri mailto:dinkar&veritas.com +# [Dinkar_Chivaluri_2] Dinkar Chivaluri mailto:dchivaluri&imperfectnetworks.com 2006-02 +# [Dino_Ciano] Dino Ciano mailto:DCiano&tickets.com 2011-03-02 +# [Dino_Farinacci] Dino Farinacci mailto:dino&cisco.com 2008-08-21 +# [Dion_Slijp] Dion Slijp mailto:dion.slijp&oce.com +# [Dirk_Hillbrecht] Dirk Hillbrecht mailto:dirk&hillbrecht.de +# [Dirk_Koopman] Dirk Koopman mailto:djk&tobit.co.uk 2005-08 +# [Dirk_Kutscher] Dirk Kutscher mailto:dku&informatik.uni-bremen.de +# [Dirk_Materlik] Dirk Materlik mailto:materlik&blubbsoft.de 2005-11 +# [Dirk_Stoop] Dirk Stoop mailto:dirk&madebysofa.com 2007-04 +# [Dmitri_Znosko] Dmitri Znosko mailto:support&radmin.com 2003-03 +# [Dmitry_Brant] Dmitry Brant mailto:dmitry_brant&lincolnelectric.com 2007-03 +# [Dmitry_Isakbayev] Dmitry Isakbayev mailto:dmitry&transnexus.com 2010-03-05 +# [Dmitry_Krasnonosenki] Dmitry Krasnonosenkikh mailto:Dmitry_Krasnonosenkih&nmss.com +# [Dmitry_Obuvalin] Dmitry Obuvalin mailto:pulse.cc&mail.ru 2006-02 +# [Dolores_Scott] Dolores Scott mailto:Dolores.Scott&l-3security.com +# [Dolores_Scott_2] Dolores Scott mailto:dolores.scott&l-3security.com +# [Domain_Tech] Domain Tech mailto:Domainnametech&blizzard.com 2005-04 +# [Dominick_Cafarelli] Dominick Cafarelli mailto:dominick.cafarelli&networkgeneral.com 2005-08 +# [Dominique_Lelievre] Dominique Lelievre mailto:dominique.lelievre&fr.ibm.com 2003-01 +# [DOMIQ_Sp_zoo] DOMIQ Sp. z o.o. mailto:registries&domiq.pl 2011-08-29 +# [Don_Bowman] Don Bowman mailto:don&pixstream.com +# [Don_Gibson] Don Gibson mailto:sequent!aero!twinsun!ashtate.A-T.COM!dong&uunet.UU.NET +# [Don_Gilbreath] Don Gilbreath mailto:don&comcam.net 2002-09 +# [Don_Hejna] Don Hejna mailto:djhejna&ambit.com +# [Don_Loughry] Don Loughry mailto:DON_LOUGHRY&hp-cupertino-om4.om.hp.com +# [Don_Marselle] Don Marselle mailto:don.marselle&3par.com 2008-04-09 +# [Don_Merrell] Don Merrell mailto:donmer&axent.com +# [Don_Oliver] Don Oliver mailto:don&donnyworld.com +# [Don_Payette] Don Payette mailto:Don.Payette&unisys.com +# [Don_Provan] Don Provan mailto:donp&xlnvax.novell.com +# [Don_Provan_2] Don Provan mailto:donp&sjf.novell.com +# [Don_Stedman] Don Stedman mailto:dones&stisystems.com +# [Don_Sullivan] Don Sullivan mailto:donald.v.sullivan&nasa.gov 2010-02-16 +# [Don_Traub] Don Traub mailto:don.traub&sun.com +# [Don_Tyson] Don Tyson +# [Don_Tyson_2] Don Tyson mailto:don.tyson&cor.dowjones.com +# [Don_W_Fitzpatrick] Don W. Fitzpatrick mailto:dwf&internetworxsystems.com 2005-08 +# [Don_Woodward] Don Woodward mailto:dwoodward&rokulabs.com +# [Donald_Cornwell] Donald Cornwell mailto:don.cornwell&objective.com +# [Donald_Cornwell_2] Donald Cornwell +# [Donald_D_Woelz] Donald D. Woelz mailto:don&genroco.com +# [Donald_Dylla] Donald Dylla mailto:donald.dylla&hp.com 2004-12 +# [Donald_E_Eastlake] Donald E. Eastlake 3rd mailto:d3e3e3&gmail.com +# [Donald_Eastlake] Donald Eastlake mailto:d3e3e3&gmail.com +# [Donald_G_Kallgren] Donald G. Kallgren mailto:Donald.Kallgren&nc3a.nato.int +# [Donald_Welch] Donald Welch mailto:donald.welch&hp.com 2006-05 +# [Donghwan_Lim] Donghwan Lim mailto:donghwan.lim&t-mobile.com 2008-01-22 +# [Dongkeun_Kim] Dongkeun Kim mailto:dongkeun70.kim&samsung.com 2007-02 +# [Dongling_Wang] Dongling Wang mailto:dongling&finle.com +# [Donna_Dillenberger] Donna Dillenberger mailto:engd&us.ibm.com +# [Donny_Gilor] Donny Gilor mailto:dgilor&pop01.ny.us.ibm.net +# [Doriano_Blengino] Doriano Blengino mailto:tecnico_remove_&_remove_xonelectronics.it +# [Dotan_Ofek] Dotan Ofek mailto:dotan.ofek&prizmasoft.com 2005-12 +# [Doug_Boone] Doug Boone mailto:dboone&atg.clr.com +# [Doug_Dillon] Doug Dillon mailto:dillon&hns.com +# [Doug_Grover] Doug Grover mailto:dgrover&phonex.com +# [Doug_Karl] Doug Karl mailto:KARL-D&osu-20.ircc.ohio-state.edu +# [Doug_Kent] Doug Kent mailto:mouthers@slugg&nwnexus.wa.com +# [Doug_Leany] Doug Leany mailto:DLEANY&opto22.com 2006-09 +# [Doug_Rosenthal] Doug Rosenthal mailto:rosenthl&krypton.einet.net +# [Doug_Royer] Doug Royer mailto:DouglasRoyer&gmail.com 2010-12-09 +# [Doug_Wyatt] Doug Wyatt mailto:dwyatt&apple.com +# [Douglas_Crockford] Douglas Crockford mailto:douglas&crockford.com +# [Douglas_Davidson] Douglas Davidson mailto:drd&apple.com 2002-06 +# [Douglas_Goodall] Douglas Goodall mailto:douglas_goodall&mac.com 2009-08-05 +# [Douglas_Kadlecek] Douglas Kadlecek mailto:doug&dkware.com 2004-11 +# [Douglas_Knisely] Douglas Knisely mailto:dnk&lucent.com +# [Douglas_M_Gaer] Douglas M. Gaer mailto:doug&datareel.com +# [Douglas_McLaggan] Douglas McLaggan mailto:glbp-info&cisco.com +# [Dr_Anupam_Bharali] Dr. Anupam Bharali mailto:paniana&gmail.com 2006-06 +# [Dr_Charles_E_Campb] Dr. Charles E. Campbell mailto:cec&gryphon.gsfc.nasa.gov +# Jr. +# [Dr_Chris_Tucker] Dr. Chris Tucker mailto:chris.tucker&ioltd.co.uk 2005-08 +# [Dr_Horst_Herb] Dr Horst Herb mailto:horst&dorrigomedical.com 2005-12 +# [Dr_Kingsley_C_Nwos] Dr. Kingsley C. Nwosu mailto:knwosu&aglowmail.com 2003-04 +# [Dr_Matthias_Arnold] Dr. Matthias Arnold mailto:m.arnold&dasgip.de 2009-03-23 +# [Dr_Michael_Erdmann] Dr. Michael Erdmann mailto:erdmann&ontoprise.de 2004-12 +# [Dr_R_P_Alston] Dr. R.P. Alston mailto:robin&gradient.com +# [Dr_Yair_Shapira] Dr. Yair Shapira mailto:yair&flashnetworks.com +# [Dragos_Pop] Dragos Pop mailto:dragos&cs.ubbcluj.ro +# [Drake_Bankston] Drake Bankston mailto:IANA.KingdomsOnline&gmail.com 2009-08-18 +# [Drew_Davies] Drew Davies Rx Networks Inc. mailto:ddavies&rxnetworks.com 2013-01-24 +# [Drew_Wolff] Drew Wolff mailto:dwolff¢ra.net +# [Dror_Gill] Dror Gill mailto:drorgi&vnet.ibm.com +# [Dror_Harari] Dror Harari mailto:Dror.Harari&isgsoft.com +# [Duane_Gibson] Duane Gibson mailto:ianaportmaster&unify.com +# [Duane_Kiser] Duane Kiser mailto:dkiser&jsexpress.com +# [Duane_Wessels] Duane Wessels mailto:wessels&nlanr.net +# [Dudi_Hazan] Dudi Hazan mailto:dudi&checkpoint.com +# [Duk_Loi] Duk Loi mailto:dloi&peerdirect.com 2005-11 +# [Duncan_Hare] Duncan Hare mailto:Duncan.Hare&synoia.com +# [Dustin_Brand] Dustin Brand mailto:amo&amo.net +# [Dustin_Zack] Dustin Zack mailto:dustin.e.zack&gmail.com 2006-06 +# [E_Wald] E. Wald mailto:ewald&via.enet.dec.com +# [Ean_Black] Ean Black mailto:eanb&bladesoftware.co.uk 2009-04-08 +# [Earl_Brannigan] Earl Brannigan mailto:earl.brannigan&lindenhous.co.uk +# [Earl_Wallace] Earl Wallace mailto:earlw&apple.com +# [Ecamm_Network_LLC] Ecamm Network, LLC mailto:chris&ecamm.com 2011-10-24 +# [Eckhard_Grieger] Eckhard Grieger mailto:e.grieger&com-on.de +# [Ed_Barron] Ed Barron +# [Ed_Cain] Ed Cain mailto:cain&edn-unix.dca.mil +# [Ed_Fair] Ed Fair mailto:ed_fair&yahoo.com 2002-11 +# [Ed_Green] Ed Green mailto:egreen&pmeasuring.com +# [Ed_Kress] Ed Kress mailto:eskress&thinknet.com +# [Ed_Metcalf] Ed Metcalf mailto:emetcalf&tripwiresecurity.com +# [Ed_Odjaghian] Ed Odjaghian mailto:edo&datacap.com +# [Ed_Ranney] Ed Ranney mailto:eranney&crestron.com 2003-01 +# [Ed_Vincent] Ed Vincent mailto:edv&concomp.com +# [Eddie_Kohler] Eddie Kohler IETF dccp WG mailto:kohler&cs.ucla.edu +# [Eden_Sherry] Eden Sherry mailto:eden&pair.com +# [Edgar_Alan_Tu] Edgar Alan Tu mailto:Edgar_Tu&playstation.sony.com 2003-01 +# [Edgar_Blum] Edgar Blum mailto:edgar.blum&swx.ch +# [Edgar_Circenis] Edgar Circenis mailto:ec&fc.hp.com +# [Edo_Yahav] Edo Yahav mailto:standards&expand.com +# [Eduard_de_Jong] Eduard de Jong n-Count Technology mailto:domains&dejongfrz.nl 2013-01-22 +# B.V. +# [Eduardo_Fernandez] Eduardo Fernandez mailto:eduardo.fernandez&avocent.com 2003-08 +# [Eduardo_Rosenberg_de] Eduardo Rosenberg de mailto:eduardor&spacenet.com.br +# Moura +# [Edward_Browdy] Edward Browdy mailto:ebrowdy&cryptek.com 2002-07 +# [Edward_Macomber] Edward Macomber OPNET Technologies mailto:tmacomber&opnet.com 2011-09-21 +# [Edward_R_Boedecker] Edward R. Boedecker mailto:boedeck1&flash.net 2003-11 +# [Edward_Reus] Edward Reus mailto:edwardrµsoft.com +# [Edward_T_O_Shea] Edward T. O'Shea mailto:oshea&bellsouth.net +# [Edward_Yim] Edward Yim mailto:eyim&hpmfas4.cup.hp.com +# [EFKON_AG] EFKON AG mailto:t.kemmer&efkon.com 2011-10-20 +# [Eggert_Thorlacius] Eggert Thorlacius mailto:eggert&menandmice.com 2007-08-30 +# [Eggert_Thorlacius_2] Eggert Thorlacius mailto:eggi&menandmice.com 2010-01-27 +# [Egon_Meier_Engelen] Egon Meier-Engelen mailto:egon.meier-engelen&dlr.de +# [Eiki_Iwata] Eiki Iwata mailto:eiki&nd.net.fujitsu.co.jp +# [Eivan_Cerasi] Eivan Cerasi mailto:eivan.cerasi&eurocontrol.int 2008-10-10 +# [Ekkehard_Morgenstern] Ekkehard Morgenstern mailto:ekkehard&ekkehardmorgenstern.de 2003-03 +# [Elgato] Elgato mailto:support&elgato.com +# [Elgato_Systems] Elgato Systems mailto:portinfo&elgato.com 2004-11 +# [Eli_Sternheim] Eli Sternheim mailto:eli&interhdl.com +# [Elias_Sabbagh] Elias Sabbagh mailto:ehs&sabbagh.com +# [Eliot_Blennerhassett] Eliot Blennerhassett mailto:eblennerhassett&audioscience.com 2011-07-07 +# [Eliot_Moss] Eliot Moss mailto:EBM&xx.lcs.mit.edu +# [Elizabeth_Zilen] Elizabeth Zilen mailto:ezilen&newboundary.com 2004-11 +# [Elliot_Murphy] Elliot Murphy mailto:elliot.murphy&gmail.com 2008-07-09 +# [Elliot_Schwartz] Elliot Schwartz mailto:elliot&mit.edu +# [Elwood_Downey] Elwood Downey mailto:ecdowney&clearskyinstitute.com 2002-04 +# [Emidio_Cunha] Emidio Cunha mailto:emidio&janeladigital.com 2003-11 +# [Emily_Harris] Emily Harris mailto:eharris&newboundary.com 2004-11 +# [Emin_BORU] Emin BORU mailto:emin&danismanlik.net 2004-11 +# [Emmanuel_Bourg] Emmanuel Bourg mailto:smanux&lfjr.net 2004-11 +# [Emmanuel_Merali] Emmanuel Merali mailto:emumerali&gmail.com +# [Emmanuel_Saint_Loube] Emmanuel Saint-Loubert mailto:emmanuel&simplifymedia.com 2008-08-08 +# [Emmanuel_Tychon] Emmanuel Tychon mailto:etychon&cisco.com 2006-03 +# [Emre_Tunar] Emre Tunar mailto:emre.tunar&ca.com 2004-11 +# [Engineering_Dept] Engineering Dept. mailto:domains&badgernt.com +# [Enphase_Energy_Inc] Enphase Energy, Inc. mailto:ceich&enphaseenergy.com 2011-11-08 +# [Enrique_Corujo] Enrique Corujo mailto:enrique&caclearing.com 2006-02 +# [Environics_Oy] Environics Oy mailto:pasi.nuutinmaki&environics.fi +# [eQ-3_AG] eQ-3 AG mailto:andreas.hueschemenger&eq-3.de 2012-02-10 +# [Eran_Gampel] Eran Gampel mailto:eran&aoe6.net +# [Erhan_Soyer_Osman] Erhan Soyer-Osman mailto:erhansoµsoft.com 2008-03-26 +# [Eric_Anderson] Eric Anderson mailto:eanderson&netvision.com 2003-06 +# [Eric_Boehnisch-Volkmann] Eric Boehnisch-Volkmann DEVONtechnologies, mailto:eboehnisch&devo-technologies.com 2011-10-18 +# [Eric_Brown] Eric Brown mailto:sst!emerald!eric&uunet.uu.net +# [Eric_Bruno] Eric Bruno mailto:ebruno&solution-soft.com +# [Eric_Cantineau] Eric Cantineau mailto:eric&securenotebook.com 2004-11 +# [Eric_Carey] Eric Carey mailto:ecarey&corecoimaging.com 2005-08 +# [Eric_Day] Eric Day mailto:eday&oddments.org 2009-01-16 +# [Eric_Dittert] Eric Dittert mailto:Eric_Dittert&ccm.jf.intel.com +# [Eric_Gillet] Eric Gillet mailto:e.gillet&evs.tv +# [Eric_Grange] Eric Grange mailto:egrange&creative-it.net 2002-08 +# [Eric_Hackman] Eric Hackman mailto:ehackman&millapps.com +# [Eric_Harris_Braun] Eric Harris-Braun mailto:eric&glassbead.com 2003-06 +# [Eric_Isom] Eric Isom mailto:eisom&metastorm.com +# [Eric_Jacksch] Eric Jacksch mailto:jacksch&tenebris.ca +# [Eric_Jacobson] Eric Jacobson mailto:eric_jacobson&filemaker.com +# [Eric_Johnson] Eric Johnson mailto:eric&gruver.net +# [Eric_Lan] Eric Lan mailto:elan&d2k.com +# [Eric_Leblond] Eric Leblond mailto:eric&inl.fr 2007-06 +# [Eric_Ledoux] Eric Ledoux mailto:ericleµsoft.com +# [Eric_McMurry] Eric McMurry mailto:emcmurry&crinisnetworks.com 2004-04 +# [Eric_Newcomer] Eric Newcomer mailto:eric.newcomer&iona.com +# [Eric_Peterson] Eric Peterson mailto:lcc.eric&seas.ucla.edu +# [Eric_Pulsipher] Eric Pulsipher mailto:eric_pulsipher&hp.com +# [Eric_Pulsipher_2] Eric Pulsipher mailto:eric_pulsipher&fc.hp.com +# [Eric_Rosenfeld] Eric Rosenfeld mailto:e.rosenfeld&cablelabs.com 2003-11 +# [Eric_S_Raymond] Eric S. Raymond mailto:esr&thyrsus.com 2010-04-19 +# [Eric_Sean_Conner] Eric Sean Conner mailto:esconner&me.com 2011-10-17 +# [Eric_Sharakan] Eric Sharakan mailto:ldoms-iana-ports&sun.com 2008-02-14 +# [Eric_Soderberg] Eric Soderberg mailto:seric&cup.hp.com +# [Eric_Soderberg_2] Eric Soderberg mailto:seric&hposl102.cup.hp +# [Eric_St_Onge] Eric St. Onge mailto:stonge&apple.com 2008-01-14 +# [Eric_Thiebaut_George] Eric Thiebaut-George mailto:erict&aurema.com 2006-04 +# [Eric_Thorniley] Eric Thorniley mailto:eric&etcomms.co.uk 2007-09-17 +# [Eric_Welch] Eric Welch +# [Eric_Welch_2] Eric Welch mailto:eric&innosys.com 2003-11 +# [Eric_Whitehill] Eric Whitehill mailto:Eric.Whitehill&itt.com +# [Eric_Wilde] Eric Wilde mailto:eric&funk.com +# [Erica_Liu] Erica Liu mailto:liue&isolation.com +# [Ericko_Shimada] Ericko Shimada mailto:eriko&kel.fujitsu.co.jp +# [Ericsson] Ericsson mailto:erik.hugne&ericsson.com 2012-09-05 +# [Erik_Blume] Erik Blume mailto:erikb&caciasl.com +# [Erik_Hugne] Erik Hugne Ericsson mailto:erik.hugne&ericsson.com 2012-09-05 +# [Erik_Kragh_Jensen] Erik Kragh Jensen mailto:kragh&inet.uni2.dk +# [Erik_Mueller] Erik Mueller mailto:erik&signiform.com +# [Erik_Rogers] Erik Rogers mailto:erik&avatron.com +# [Erik_Sea] Erik Sea mailto:sea&apple.com +# [Erik_Skyten] Erik Skyten mailto:eki&silknet.com +# [Eriko_Shimada] Eriko Shimada mailto:eriko&kel.fujitsu.co.jp +# [Erlang] Erlang/OTP support mailto:epmd&erix.ericsson.se 2004-12 +# [Erwin_Hogeweg] Erwin Hogeweg mailto:erwin&airtech.demon.nl +# [Eugene_Hopkinson] Eugene Hopkinson VoxelStorm mailto:slowriot&voxelstorm.com 2012-11-08 +# [Etai_Lev_Ran] Etai Lev-Ran mailto:elevran&cisco.com 2005-02 +# [Ethan_Fremen] Ethan Fremen mailto:mindlace&digicool.com +# [Eugen_Bacic] Eugen Bacic mailto:ebacic&texar.com +# [Eugen_Bacic_2] Eugen Bacic mailto:eugen&texar.com +# [Eugene_Cox] Eugene Cox mailto:genecox&raleigh.ibm.com +# [Eugene_Frenkel] Eugene Frenkel mailto:eugene&ada-usa.com 2005-11 +# [Eugene_Osovetsky] Eugene Osovetsky mailto:eugeneo&geocities.com +# [Eugene_Zhiganov] Eugene Zhiganov mailto:zed&dfe3300.karelia.ru 2002-07 +# [Eugeny_Gladkih] Eugeny Gladkih mailto:john&drweb.com 2008-01-31 +# [Evan_Caves] Evan Caves mailto:evan&acc.com +# [Evan_Rosen] Evan Rosen mailto:evan&robix.com 2005-11 +# [Evgeniy_Filatov] Evgeniy Filatov mailto:evgeniyfilatov&yandex.ru 2009-11-25 +# [Ewan_McNab] Ewan McNab mailto:ewan&qsc.co.uk 2004-11 +# [ExoMachina] ExoMachina mailto:hello&exomachina.com 2011-12-06 +# [Extensis] Extensis mailto:webmaster&extensis.com +# [Eyal_Yardeni] Eyal Yardeni mailto:eyal.yardeni&smarts.com 2003-11 +# [Ezinne_Oji] Ezinne Oji mailto:ezinne.oji&t-mobile.com 2006-06 +# [F_Englert] Fl SQRTDEGvio Englert mailto:flavio&elipse.com.br 2007-09-17 +# [Fabrice_Paget] Fabrice Paget mailto:onefrench&me.com 2012-10-23 +# [Fabrizio_Guglielmino] Fabrizio Guglielmino mailto:guglielmino&infitsrl.com +# [Fabrizio_Massimo_Fer] Fabrizio Massimo Ferrara mailto:fmf&gesi.it 2002-02 +# [Fahad_Gilani] Fahad Gilani mailto:fahad&guidedways.com +# [Faith_Zack] Faith Zack mailto:faithz&sco.com +# [Falk_Werner] Falk Werner eQ-3 AG mailto:falk.werner&entwicklung.eq-3.de 2012-02-10 +# [Farid_Faez] Farid Faez mailto:farid_faez&hp.com +# [FAUCONNET_Ingenierie] FAUCONNET Ingenierie mailto:dev&fisa.fr 2011-05-19 +# SA +# [Federico_Heinz] Federico Heinz mailto:federico&heinz.com +# [Federico_Lucifredi] Federico Lucifredi mailto:flucifredi&novell.com 2009-09-25 +# [Feitian_Technologies] Feitian Technologies mailto:product&ftsafe.com 2010-09-15 +# [Felisa_Ares] Felisa Ares mailto:faa06&tid.es 2003-04 +# [Ferdi_Ladeira] Ferdi Ladeira Fraxion Software mailto:f.lad.mail&gmail.com 2012-03-21 +# [Ferruccio_Barletta] Ferruccio Barletta mailto:ferruccio.barletta&compaq.com +# [Festo_AG] Festo AG & Co. KG mailto:Software-Support&de.festo.com 2012-07-26 +# [Fieldbus_Foundation] Fieldbus Foundation mailto:dave.glanzer&fieldbus.org 2002-10 +# [Fil_Zembowicz] Fil Zembowicz Google, Inc mailto:fil&google.com 2013-02-01 +# [Filip_Zawadiak] Filip Zawadiak DOMIQ Sp. z o.o. mailto:fzawadiak&domiq.pl 2011-08-29 +# [Filippo_Fadda] Filippo Fadda mailto:fadda&osway.com 2003-08 +# [FLIR_Systems_AB] FLIR Systems AB mailto:bjorn.roth&flir.se 2011-10-20 +# [Florence_Wyman] Florence Wyman mailto:wyman&peabody.plk.af.mil +# [Fons_Rademakers] Fons Rademakers mailto:Fons.Rademakers&cern.ch +# [Forest_Hill] Forest Hill mailto:forest&apple.com +# [Found_Software] Found Software, Inc. mailto:john&foundapp.com 2012-04-11 +# [Francesco_Rosi] Francesco Rosi mailto:frosi&orenburg.com 2006-01 +# [Francis_Cianfrocca] Francis Cianfrocca mailto:francis&tempest.com +# [Francis_GASCHET] Francis GASCHET NUMLOG mailto:fg&numlog.fr 2008-09-08 +# [Francisco_Reverbel] Francisco Reverbel mailto:reverbel&ime.usp.br 2002-06 +# [Francisco_Ryan_Tolma] Francisco Ryan Tolmasky mailto:ftolmasky&adelphia.net +# [Francisco_Saez_Aranc] Francisco Saez Arance mailto:fsaez&tid.es +# [Franck_Ladurelle] Franck Ladurelle mailto:ladurelf&partimage.org +# [Franck_Lefevre] Franck Lefevre mailto:franck.lefevre&digitalairways.com 2009-11-18 +# [Franco_Milan] Franco Milan mailto:franco&eladit.com +# [Francois_Granade] Francois Granade mailto:francois&netobjects.com +# [Francois_Harvey] Francois Harvey mailto:securiweb&pandore.qc.ca +# [Francois_Marchand] Francois Marchand mailto:francois.marchand&electromed.com 2002-08 +# [Francois_Marier] Francois Marier libravatar.org mailto:francois&libravatar.org 2011-10-11 +# [Francois_Painchaud] Francois Painchaud mailto:fpainchaud&konshus.com +# [Francois_Peloffy] Francois Peloffy mailto:fpeloffy&4tier.com +# [Frank_B] Frank Bredenbr mailto:fbredenbroecker&psi.de 2008-07-17 +# SQRT\\partialcker +# [Frank_Blakely] Frank Blakely mailto:frankb&hpptc16.rose.hp.com +# [Frank_Goenninger] Frank Goenninger mailto:frank.goenninger&consequor.de 2010-02-22 +# [Frank_Hartung] Frank Hartung mailto:Frank.Hartung&ericsson.com 2007-09-07 +# [Frank_J_Wacho] Frank J. Wacho mailto:WANCHO&wsmr-simtel20.army.mil +# [Frank_Jakel] Frank Jaekel mailto:Frank.Jaekel&cytel.de 2011-04-29 +# [Frank_Kappe] Frank Kappe mailto:fkappe&iicm.tu-graz.ac.at +# [Frank_Liberato] Frank Liberato mailto:frankµlite.com 2004-06 +# [Frank_Neulichedl] Frank Neulichedl mailto:frank&websmile.com +# [Frank_O_Neill] Frank O'Neill mailto:frank&morse.ilo.dec.com +# [Frank_Pikelner] Frank Pikelner mailto:frank.pikelner&netcraftcommunications.com 2010-01-15 +# [Frank_Quick] Frank Quick mailto:fquick&qualcomm.com +# [Frank_Rottmann] Frank Rottmann mailto:Frank.Rottmann&web.de +# [Frank_Soetebeer] Frank Soetebeer mailto:frsoeteb&adobe.com 2003-01 +# [Frank_Szczerba] Frank Szczerba mailto:frank&appmobi.com +# [Frank_Waarsenburg] Frank Waarsenburg mailto:frank&eye-display.nl 2004-11 +# [Frank_Yeh] Frank Yeh mailto:fyeh&us.ibm.com +# [Frank_Zerangue] Frank Zerangue mailto:fzerang&cisco.com +# [Frank_da_Cruz] Frank da Cruz mailto:fdc&watsun.cc.columbia.edu +# [Frans_Lundberg] Frans Lundberg mailto:frans&linova.com 2004-11 +# [Frans_S_C_Witte] Frans S.C. Witte mailto:fscwitte&dicgroep.nl +# [Franz_Josef_Leuders] Franz-Josef Leuders mailto:development&tobit.com +# [Fraxion_Software] Fraxion Software mailto:info&fraxion.biz 2012-03-21 +# [Fred_Batty] Fred Batty mailto:fredb&sun.com 2007-12-03 +# [Fred_Cohen] Fred Cohen mailto:fc&all.net +# [Fred_Fierling] Fred Fierling mailto:fff&exegin.com 2006-02 +# [Fred_Klassen] Fred Klassen mailto:fklassen&jaalam.com 2002-02 +# [Fred_McLain] Fred McLain mailto:fmclain&appworx.com +# [Fred_Messinger] Fred Messinger mailto:fredm&cisco.com +# [Fred_Surr] Fred Surr mailto:quest_iana&oz.quest.com +# [Fred_Yao] Fred Yao mailto:Fred_Yao&ddigate2.desktopdata.com +# [Freddy_A_Ayuso_Hens] Freddy A. Ayuso-Henson mailto:fayusohenson&hillr.com 2008-05-22 +# [Frederic_Hemmer] Frederic Hemmer mailto:Frederic.Hemmer&cern.ch +# [Frederic_Weymann] Frederic Weymann mailto:contact&fizzban.net +# [Frederick_Parent] Frederick Parent mailto:fparent&elfiq.com 2005-11 +# [Fredrik_Haglund] Fredrik Haglund mailto:fredik.haglund&boldsoft.com +# [Freebox_SAS] Freebox SAS mailto:npouillon&freebox.fr 2012-12-14 +# [Freeverse_Software] Freeverse Software mailto:info&freeverse.com +# [Friedman_Wagner_Dobl] Friedman Wagner-Dobler mailto:Friedman.Wagner-Dobler&gdc4s.com 2005-09 +# [Frode_Randers] Frode Randers mailto:Frode.Randers&tietoenator.com 2006-01 +# [GPP_Specifications] John M Meredith 3GPP Specifications mailto:john.meredith&etsi.org 2009-06-11 +# [G_E_Ozz_Nixon_Jr] G.E. Ozz Nixon Jr. mailto:ozznixon&gmail.com 2009-01-13 +# [G_Runfeldt] G SQRT\\partialran mailto:goran&netadmin.se 2007-07-10 +# Runfeldt +# [Gabe_Frost] Gabe Frost mailto:gfrostµsoft.com 2005-08 +# [Gabi_Kalmar] Gabi Kalmar mailto:kalga01&cai.com +# [Gabriel_Kalmar] Gabriel Kalmar mailto:kalga01&ca.com 2008-03-06 +# [Gabriel_Levy] Gabriel Levy mailto:glevy&riverbed.com 2008-08-29 +# [Gabriele_Mondada] Gabriele Mondada RecoLive S`arl mailto:gmondada&recolive.com 2012-08-29 +# [Gal_Cucuy] Gal Cucuy mailto:galc&cyber-ark.com 2002-03 +# [Galaxy4D] Galaxy4D Online Game mailto:admin&galaxy4d.com 2012-06-18 +# [Gang_Gong_Moy] Gang Gong Moy +# [Gangsta_Ltd] Gangsta Ltd. mailto:jc&gangstamedia.com 2011-10-13 +# [Gareth_Nelson] Gareth Nelson mailto:gareth&garethnelson.com 2007-06 +# [Gareth_Nelson_2] Gareth Nelson mailto:gareth&litesim.com 2008-08-22 +# [Garret_Tollkuhn] Garret Tollkuhn mailto:garret&multiviewgroup.com +# [Garrett_Herschleb] Garrett Herschleb mailto:garrett&netrix.com +# [Garrett_Padera] Garrett Padera mailto:garrett&garrettsites.net 2008-02-01 +# [Garry_Moore] Garry Moore mailto:garry.moore&cgi.com 2003-10 +# [Garth_Mayville] Garth Mayville mailto:mayville&maplesoft.on.ca +# [Gary_ANDREWS] Gary ANDREWS mailto:gan&orsyp.com 2008-01-07 +# [Gary_A_James] Gary A. James mailto:gary.james&criticallink.com +# [Gary_Aston] Gary Aston mailto:Gary.Aston&datadrivenlogistics.com 2009-03-10 +# [Gary_Bartlett] Gary Bartlett mailto:garyb&echelon.com +# [Gary_Barton] Gary Barton mailto:gary.barton&citrix.com 2011-02-24 +# [Gary_Giebler] Gary Giebler mailto:gary&giebler.com +# [Gary_Giebler_2] Gary Giebler mailto:gary&giebler.com 2011-10-18 +# [Gary_Glover] Gary Glover mailto:gglover&novell.com +# [Gary_Hampton] Gary Hampton mailto:GH&2hti.com 2008-02-27 +# [Gary_Howland] Gary Howland mailto:gary&systemics.com +# [Gary_Lewis] Gary Lewis mailto:GaryL&hq.mylex.com +# [Gary_M_Allen] Gary M. Allen mailto:gallen&symantec.com +# [Gary_Malkin] Gary Malkin mailto:gmalkin&xylogics.com +# [Gary_Morton] Gary Morton mailto:mortong&pacdata.com +# [Gary_Myers] Gary Myers mailto:gmyers&objectvideo.com +# [Gary_S_Malkin] Gary S. Malkin mailto:GMALKIN&xylogics.com +# [Gary_Sands] Gary Sands mailto:gsands&tycoint.com +# [Gary_T_Ciampa] Gary T. Ciampa mailto:Gary.Ciampa&sas.com 2003-04 +# [Gary_Weichinger] Gary Weichinger mailto:gary.weichinger&netiq.com +# [Gary_Whelan] Gary Whelan mailto:gwhelan&sybonic.com 2005-08 +# [Gaspard_Bucher] Gaspard Bucher mailto:gaspard&teti.ch +# [Gavin_Hutchinson] Gavin Hutchinson mailto:gavinh&visionlogistics.com +# [Gavin_Hutchinson_2] Gavin Hutchinson mailto:gavinh&tesl.com +# [Gene_McCulley] Gene McCulley mailto:mcculley&cuspy.com 2002-02 +# [Gene_Tyacke] Gene Tyacke mailto:gene&apple.com +# [Geoff_Back] Geoff Back mailto:geoff&autocue.co.uk 2002-03 +# [Geoff_Back_2] Geoff Back mailto:geoff&demonlair.co.uk 2010-02-01 +# [Geoff_Back_3] Geoff Back mailto:geoff&demonlair.co.uk +# [Geoff_Back_4] Geoff Back mailto:geoff.back&autocue.co.uk +# [Geoff_Collyer] Geoff Collyer mailto:geoff&research.bell-labs.com +# [Geoff_Goodfellow] Geoff Goodfellow mailto:Geoff&fernwood.mpk.ca.us +# [Geoff_Higgins] Geoff Higgins mailto:geoff.higgins&sun.com 2006-03 +# [Geoff_Meacock] Geoff Meacock mailto:gbibmswl&ibmmail.com +# [Geoff_Mendal] Geoff Mendal mailto:mendal&talarian.com +# [Geoffrey_Beer] Geoffrey Beer Raymarine UK Limited mailto:Geoff.Beer&raymarine.com 2012-05-24 +# [Geoffrey_Wossum] Geoffrey Wossum mailto:geoffrey&pager.net 2003-02 +# [Geoffry_Meek] Geoffry Meek mailto:geoff&meek.com +# [George_Balesta] George Balesta mailto:George.Baletsa&tfn.com +# [George_Dzieciol] George Dzieciol mailto:gdzieciol&symantec.com 2002-07 +# [George_Flanagin] George Flanagin mailto:george&digitalgaslight.com 2010-03-02 +# [George_Gianelos] George Gianelos mailto:Georgegi&attachmate.com +# [George_Gianelos_2] George Gianelos mailto:GeorgeGi&attachmate.com 2003-03 +# [George_Hartz] George Hartz mailto:george.hartz&sentillion.com +# [George_Hwa] George Hwa mailto:ghwa&luminescent.com 2007-03 +# [George_Kajos] George Kajos mailto:gkajos&mail1.videoserver.com +# [George_Moromisato] George Moromisato mailto:gpm&neurohack.com 2004-11 +# [George_Nachman] George Nachman +# [George_Pajari] George Pajari mailto:George.Pajari&faximum.com +# [George_Rudy] George Rudy mailto:george&entsoft.com +# [George_Walter] George Walter mailto:george.walter&ascentialsoftware.com +# [Gerald_Aquila] Gerald Aquila mailto:gerald.aquila&gmail.com +# [Gerald_McBrearty] Gerald McBrearty +# [Gerald_Mesaric] Gerald Mesaric mailto:gmesaric&hyperwave.com +# [Gerald_R_Jensen] Gerald R. Jensen mailto:tech&autodatasys.com 2008-06-05 +# [Gerard_Cannie] Gerard Cannie mailto:jcannie&opticaltech.com +# [Gerard_Cerchio] Gerard Cerchio mailto:gjpc&circlesoft.com 2003-11 +# [Gerardo_Dilillo] Gerardo Dilillo mailto:MOMIANAµsoft.com 2006-08 +# [Gerardo_Pardo_Castel] Gerardo Pardo-Castellote mailto:gerardo.pardo&rti.com 2005-10 +# [Gerben_Wierda] Gerben Wierda mailto:Gerben_Wierda&rna.nl +# [Gerd_Beling] Gerd Beling mailto:GBELING&isi.edu +# [Gerg_Cole] Gerg Cole mailto:gcole&corp.borland.com +# [Gerhard_Wagner] Gerhard Wagner mailto:gw&nova-ratio.de 2009-03-10 +# [Gerry_Brown] Gerry Brown gerry Brown mailto:gerry&gbrown.com 2012-11-29 +# associates +# [gerry_Brown_associates] gerry Brown mailto:gerry&gbrown.com 2012-11-29 +# [Gerry_Dubois] Gerry Dubois mailto:gdubois&carriustech.com 2005-08 +# [Gerry_Gorman] Gerry Gorman mailto:gerry.gorman&emclock.com 2010-12-06 +# [Gert_Thomasen] Gert Thomasen mailto:gert.thomasen&etsi.org 2009-12-07 +# [Ghanshyam_Patel] Ghanshyam Patel mailto:gpatel&natinc.com 2003-11 +# [Gijs_Middelkamp] Gijs Middelkamp mailto:astergate-fax&huisken-systems.nl 2010-02-03 +# [Gil_Greenbaum] Gil Greenbaum mailto:gcole&nisd.cam.unisys.com +# [Gil_Hecht] Gil Hecht mailto:GilH&aks.com +# [Gil_Shafriri] Gil Shafriri mailto:shafriri&ilccm1.iil.intel.com +# [Gilbert_Moineau] Gilbert Moineau mailto:gilbert.moineau&colubris.com 2002-05 +# [Gilbert_Yeung] Gilbert Yeung mailto:gyeung&nvidia.com 2002-04 +# [Gilberto_Arnaiz] Gilberto Arnaiz mailto:garnaiz&siebel.com +# [Gilles_Bourquard] Gilles Bourquard mailto:gbo&wag.ch +# [Gilles_Gameiro] Gilles Gameiro mailto:ggameiro&birdland.com +# [Girish_Bhat] Girish Bhat mailto:gbhat&cranite.com 2006-04 +# [Girish_Gopalakrishna] Girish Gopalakrishnan mailto:girish&shankar-software.org 2010-04-20 +# [Gita_Murthy] Gita Murthy mailto:gita&cup.hp.com +# [Gjermund_Wallenius] Gjermund Wallenius mailto:gwallenius&ndlocis.mil.no 2009-09-30 +# [Glen_Myers] Glen Myers mailto:glen.myers&ipfabrics.com 2007-05 +# [Glen_Pearson] Glen Pearson mailto:GlenP&multigen.com +# [Glen_Sansoucie] Glen Sansoucie mailto:gsansoucie&loftware.com +# [Glen_Sansoucie_2] Glen Sansoucie mailto:glen&llmwin.com +# [Glenn_Allen] Glenn Allen mailto:gallen&goorooinc.com 2009-08-05 +# [Glenn_Anderson] Glenn Anderson mailto:glenn&qualcomm.co.nz +# [Glenn_Davis] Glenn Davis mailto:support&unidata.ucar.edu +# [Glenn_Levitt] Glenn Levitt mailto:streetd1&ix.netcom.com +# [Glenn_Matthews] Glenn Matthews mailto:glenn.matthews&cisco.com 2011-05-23 +# [Glenn_Olander] Glenn Olander mailto:gjo&msi.com +# [Glenn_Olander_2] Glenn Olander mailto:glenn&greenoak.com +# [Glenn_Peterson] Glenn Peterson mailto:glennpµsoft.com +# [Glenn_Reid] Glenn Reid mailto:port-reg&fiveacross.com 2004-11 +# [Glenn_Russell] Glenn Russell mailto:grussell&cablelabs.com +# [Global_Relay] Global Relay mailto:Michael.Sample&GlobalRelay.net 2012-11-28 +# Communications Inc +# [Gobby_0x539] 0x539 dev group http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi +# [Google] Google, Inc mailto:fil&google.com 2013-02-01 +# [Gopikrishna_Sandra] Gopikrishna Sandra mailto:v-gosandµsoft.com 2005-02 +# [Goran_Runfeldt] Goeran Runfeldt mailto:goran&netadmin.se 2006-12 +# [Gord_Peters] Gord Peters Dialectro Software mailto:g&dialectro.com 2011-10-20 +# [Gord_Tomlin] Gord Tomlin mailto:gord.tomlin&actionsoftware.com 2010-01-21 +# [Gordan_Vosicki] Gordan Vosicki mailto:admin&icsa.ch 2009-09-23 +# [Gordon_C_Galligher] Gordon C. Galligher mailto:gorpong&ping.chi.il.us +# [Gordon_Mangione] Gordon Mangione mailto:gordmµsoft.com +# [Gordon_Mohr] Gordon Mohr mailto:gojomo&usa.net +# [Gordon_Mohr_2] Gordon Mohr mailto:gmohr&cmgisolutions.com +# [Gordon_Waddell] Gordon Waddell mailto:gordon.waddell&nuance.com 2011-03-21 +# [Graeme_Perrow] Graeme Perrow mailto:gperrow&ianywhere.com 2005-08 +# [Graham_Bloice] Graham Bloice mailto:graham.bloice&trihedral.com 2009-09-17 +# [Graham_Jones] Graham Jones mailto:gjones&nab.org 2004-11 +# [Graham_Klyne] Graham Klyne mailto:GK&acm.org +# [Graham_Parsons] Graham Parsons mailto:graham.parsons&reflective.com 2005-08 +# [Graham_Wooden] Graham Wooden mailto:graham&g-rock.net +# [Grant_Gilchrist] Grant Gilchrist mailto:grant&enernex.com 2010-10-18 +# [Grant_Kirby] Grant Kirby mailto:grant_kirby&ccm.al.intel.com +# [Green_Hills_Software] Green Hills Software mailto:iana-contact&ghs.com 2012-02-07 +# [Greg_Bailey] Greg Bailey mailto:gbailey&lxpro.com 2003-04 +# [Greg_Banks] Greg Banks mailto:gnb&sgi.com 2004-11 +# [Greg_Bodine] Greg Bodine mailto:gregory.bodine&ca.com 2002-02 +# [Greg_Broiles] Greg Broiles mailto:greg&sac.net +# [Greg_Cottman] Greg Cottman mailto:greg.cottman&quest.com 2008-10-23 +# [Greg_Cottman_2] Greg Cottman mailto:Greg.Cottman&quest.com 2010-10-18 +# [Greg_Ercolano] Greg Ercolano mailto:erco&netcom.com +# [Greg_Ercolano_2] Greg Ercolano mailto:erco&cinegrfx.com +# [Greg_Foutz] Greg Foutz mailto:gregf&adminovation.com 2006-03 +# [Greg_Goodson] Greg Goodson mailto:ggoodson&group1software.co.uk +# [Greg_Hudson] Greg Hudson mailto:zephyr-bugs&mit.edu +# [Greg_Hudson_2] Greg Hudson mailto:ghudson&mit.edu 2003-01 +# [Greg_Johnson] Greg Johnson mailto:greg.johnson&ieee.org +# [Greg_McLaughlin] Greg McLaughlin mailto:ggregm&moremobilesoftware.com +# [Greg_Pflaum] Greg Pflaum mailto:iris.com!Greg_Pflaum&uunet.uu.net 1992-07 +# [Greg_Porter] Greg Porter mailto:gporter&powerschool.com +# [Greg_Pringle] Greg Pringle mailto:admin&corvedia.com +# [Greg_Robson_Garth] Greg Robson-Garth mailto:gregr&alphalink.com.au +# [Greg_Rose] Greg Rose mailto:Greg_Rose&sydney.sterling.com +# [Greg_Rose_2] Greg Rose mailto:ggr&qualcomm.com 2002-02 +# [Greg_Sidebottom] Greg Sidebottom mailto:gregside&home.com +# [Greg_Stine] Greg Stine mailto:greg.stine&siemens.com 2007-07-05 +# [Greg_Suppes] Greg Suppes mailto:greg.suppes&autodesk.com +# [Greg_Troxel] Greg Troxel mailto:gdt&ir.bbn.com +# [Gregg_Green] Gregg Green mailto:legal&vnyx.net 2004-11 +# [Gregg_Townsend] Gregg Townsend mailto:gmt&cs.arizona.edu 2003-11 +# [Gregg_Welker] Gregg Welker mailto:greggw&zmi.com +# [Gregor_Schmid] Gregor Schmid mailto:gs&qfs.de 2002-07 +# [Gregory_Dudek] Gregory Dudek mailto:dudek&y1d.com +# [Gregory_Hostettler] Gregory Hostettler mailto:ghostettler&caracal.ch 2004-11 +# [Gregory_Power] Gregory Power mailto:gpower&apple.com +# [Gregory_Richards] Gregory Richards mailto:Richards&codu.org 2002-04 +# [Growl_Project] The Growl Project mailto:support&growl.info 2012-02-07 +# [Guhan_Suriyanarayana] Guhan Suriyanarayanan mailto:guhansµsoft.com 2006-03 +# [Guido_Kiener] Guido Kiener mailto:Guido.Kiener&rohde-schwarz.com 2008-12-04 +# [Gur_Kimchi] Gur Kimchi mailto:gkimchiµsoft.com 2008-05-20 +# [Gus_McNaughton] Gus McNaughton mailto:gus&chevin.com +# [Gustavo_Rodriguez_Ri] Gustavo Rodriguez-Rivera mailto:grr&geodesic.com +# [Guus_Sliepen] Guus Sliepen mailto:guus&warande3094.warande.uu.nl +# [Guy_Avery] Guy Avery Navtech Radar mailto:guy.avery&navtechradar.com 2013-02-20 +# [Guy_Cheng] Guy Cheng mailto:GCHE&kastenchase.com +# [Guy_Keren] Guy Keren mailto:Guy_Keren&mail.stil.scitex.com +# [Guy_Meyer] Guy Meyer mailto:rominar&mac.com +# [Gyozo_Kmethy] Gyozo Kmethy mailto:gyozo.kmethy&gnarus.hu 2006-11 +# [Hai_Ou_Yang] Hai Ou-Yang mailto:hai.ou-yang&sun.com 2003-04 +# [Haim_Gelfenbeyn] Haim Gelfenbeyn mailto:haim&hageltech.com +# [Hal_Henderson] Hal Henderson mailto:hhenders&novell.com +# [Hali_Lindbloom] Hali Lindbloom mailto:halil&docent.com +# [Hall_Research] Hall Research mailto:vishal&hallresearch.com 2011-11-29 +# [HaloteC_Instruments] HaloteC Instruments mailto:michel.stam&halotec.com 2012-02-07 +# [Hani_Abdelazim] Hani Abdelazim mailto:hani&apple.com +# [Hannes_K] Hannes K SQRTSlber mailto:hannes.kaelber&x2e.de 2010-09-13 +# [Hans_Christoph_Stein] Hans-Christoph Steiner mailto:hans&eds.org +# [Hans_Peter_Heffels] Hans-Peter Heffels mailto:hostmaster&csb-system.com +# [Hans_Rohnert] Hans Rohnert mailto:hans.rohnert&siemens.com 2002-04 +# [Hans_Schoone] Hans Schoone mailto:Hans.Schoone&nl.ibm.com 2010-10-01 +# [Hans_U_Schmidt] Hans U Schmidt mailto:schmidth&de.ibm.com +# [Hans_Weibel] Hans Weibel mailto:hans.weibel&zhwin.ch 2004-10 +# [Hanz_Hager] Hanz Hager mailto:Hanz.Hager&comhem.se 2008-12-04 +# [Harald_Schlangmann] Harald Schlangmann mailto:schlangm&informatik.uni-muenchen.de +# [Harald_Striepe] Harald Striepe mailto:harald&quantumintech.com 2008-02-14 +# [Harald_Welte] Harald Welte mailto:laforge&gnumonks.org 2009-01-16 +# [Haram_Lee] Haram Lee mailto:layne&indigo-security.com +# [Hardy_Doelfel] Hardy Doelfel mailto:hardy_doelfel&adaptec.com 2002-05 +# [Harinder_Bhasin] Harinder Bhasin mailto:Harinder.Bhasin&sun.com +# [Harish_Kuttan] Harish Kuttan mailto:harish.k&hp.com 2010-03-22 +# [Harold_Froehling] Harold Froehling mailto:hrf&cup.hp.com +# [Harris_Corporation] Harris, Corporation mailto:dsomerfi&harris.com 2011-08-05 +# [Harry_Courtice] Harry Courtice mailto:harry.courtice&elprotech.com 2008-04-14 +# [Harry_Goldschmitt] Harry Goldschmitt mailto:hgoldschmitt&hgac.com 2003-11 +# [Harry_Goldschmitt_2] Harry Goldschmitt mailto:harry&hgac.com 2007-06 +# [Harry_Lewis] Harry Lewis mailto:harryl&us.ibm.com 2003-05 +# [Harry_T_Vennik] Harry T. Vennik mailto:htvennik&zonnet.nl 2002-11 +# [Harry_ten_Berge] Harry ten Berge mailto:berge&hitt.nl +# [Harvey_S_Schultz] Harvey S. Schultz mailto:harvey&acm.org +# [Heath_Barber] Heath Barber Datacolor mailto:hbarber&datacolor.com 2011-10-14 +# [Heath_Raftery] Heath Raftery mailto:heath&hrsoftworks.net +# [Heikki_E] Heikki Ellil SQRTS mailto:heikki.ellila&western.fi 2009-06-18 +# [Heiko_Kretschmer] Heiko Kretschmer mailto:info&wurst-wasser.net +# [Heiko_Rupp] Heiko Rupp mailto:hwr&pilhuhn.de +# [Heiko_Schlichting] Heiko Schlichting mailto:heiko&fu-berlin.de +# [Heiner_Erne] Heiner Erne Hirschmann Automation mailto:heiner.erne&hirschmann.de 2008-06-06 +# and Control GmbH +# [Heinz_Wrobel] Heinz Wrobel mailto:hwrobel&gmx.de +# [Helga_Wolin] Helga Wolin mailto:hwolin&us.ibm.com +# [Helge_Frank_Zimpel] Helge-Frank Zimpel mailto:helge.zimpel&baeurer.de 2006-01 +# [Helmut_Giritzer] Helmut Giritzer mailto:helmut.giritzer&epluse.at 2005-11 +# [Helmut_Giritzer_2] Helmut Giritzer mailto:helmut.giritzer&o.roteskreuz.at 2005-08 +# [Helmuth_Breitenfelln] Helmuth Breitenfellner mailto:hbreitenf&vnet.imb.com +# [Honwywell_Security_Group] Honwywell Security mailto:john.dziadosz&honeywell.com 2012-04-09 +# Group +# [Hennie_van_der_Merwe] Hennie van der Merwe mailto:hvandermerwe&tellumat.com 2002-07 +# [Henning_Meier_Geinit] Henning Meier-Geinitz mailto:henning&meier-geinitz.de 2002-10 +# [Henning_Mersch] Henning Mersch mailto:h.mersch&plt.rwth-aachen.de 2010-12-07 +# [Henning_Schulzrinne] Henning Schulzrinne mailto:hgs&cs.columbia.edu +# [Henning_Smith] Henning Smith mailto:henning.smith&ca.com 2006-07 +# [Henri_Moelard] Henri Moelard mailto:moelard&lucent.com +# [Henric_Bergh] Henric Bergh mailto:henric&bergh.nu 2007-01 +# [Henrik_Goldman] Henrik Goldman mailto:hg&x-formation.com 2006-10 +# [Henrik_Holst] Henrik Holst mailto:henrik.holst&ecovision.se +# [Henrik_Johnson] Henrik Johnson Quest Software mailto:henrik.johnson&quest.com 2012-04-09 +# [Henrik_Woffinden] Henrik Woffinden mailto:hw&nitramlexa.com 2008-09-22 +# [Henry_Haverinen] Henry Haverinen mailto:henry.haverinen&nokia.com +# [Henry_Houh] Henry Houh mailto:hhouh&nbxcorp.com +# [Henry_Rawas] Henry Rawas mailto:henryrµsoft.com 2005-08 +# [Henry_Strickland] Henry Strickland mailto:strick&yak.net +# [Herb_Jensen] Herb Jensen mailto:HWJensen&nfsrv.avionics.itt.com +# [Herb_Sutter] Herb Sutter mailto:HerbS&cntc.com +# [Herbert_Falk] Herbert Falk mailto:herb&sisconet.com 2003-06 +# [Hesham_Soliman] Hesham Soliman mailto:H.Soliman&flarion.com 2005-11 +# [Hewlett_Packard] Hewlett Packard +# [Hewlett_Packard_2] Hewlett Packard mailto:oliver.breyel&hp.com 2013-02-07 +# [Hideki_Hatta] Hideki Hatta mailto:ponum&canon-is.co.jp 2007-09-27 +# [Hideki_Kiriyama] Hideki Kiriyama mailto:kiriyama&cp10.es.xerox.com +# [Hideo_Wakabayashi] Hideo Wakabayashi mailto:hiwaka&alles.or.jp +# [Hindin_Joseph] Hindin Joseph mailto:hindin%25robcad@uunet.uu.net +# [Hing_Wing_To] Hing Wing To mailto:wing.to&mircromuse.com +# [Hing_Wing_To_2] Hing Wing To mailto:wing.toµmuse.com +# [Hirokazu_Fujisawa] Hirokazu Fujisawa mailto:fujisawa&pfu.fujitsu.com +# [Hiroki_Kawano] Hiroki Kawano mailto:kawano&saint.nm.fujitsu.co.jp +# [Hiromi_Ohara] Hiromi Ohara mailto:Hiromi.Ohara&fujixerox.co.jp 2008-06-18 +# [Hiromi_Taki] Hiromi Taki mailto:stg-togo&saint.nm.fujitsu.co.jp +# [Hiroyasu_Ogata] Hiroyasu Ogata mailto:Ogata.Hiroyasu&exc.epson.co.jp +# [Hiroyuki_Hashimoto] Hiroyuki Hashimoto mailto:easymp&exc.epson.co.jp 2002-10 +# [Hiroyuki_Kawabuchi] Hiroyuki Kawabuchi mailto:buchi&ael.fujitsu.co.jp +# [Hiroyuki_Takahashi] Hiroyuki Takahashi mailto:hiro.takahashi&eng.sun.com +# [Hitoshi_Ishida] Hitoshi Ishida mailto:ishida.hitoshi&exc.epson.co.jp +# [HLW_Software_Development_GmbH] HLW Software mailto:office&hlw-software.com 2011-10-11 +# Development GmbH +# [Hoa_Nguyen] Hoa Nguyen mailto:hoan&cup.hp.com +# [Hokey_Stenn] Hokey Stenn mailto:hokey&plus5.com +# [Holger_Heinrich] Holger Heinrich mailto:holger2222&googlemail.com 2012-02-01 +# [Holger_Kruse] Holger Kruse mailto:holger&rebol.net +# [Holger_Lochner] Holger Lochner mailto:holger.lochner&daimler.com 2011-04-06 +# [Holger_Reif] Holger Reif mailto:Holger.Reif&prakinf.tu-ilmenau.de +# [Hong_Jungkih] Hong, Jungkih mailto:jungkih.hong&samsung.com 2010-09-20 +# [Horizon_Digital_Ente] Horizon Digital mailto:info&hde.co.jp +# Enterprise Inc. +# [Howard_Amos] Howard Amos mailto:amos&ccww.co.uk 2006-04 +# [Howard_Cole] Howard Cole mailto:hcole&tumbleweed.nrcabq.com +# [Howard_Gordon] Howard Gordon mailto:hgordon&system.xingtech.com +# [Howard_Hart] Howard Hart mailto:hch&hybrid.com +# [Howard_Yin] Howard Yin mailto:howard.yin&ericsson.com +# [Huang_Jingnan] Huang Jingnan mailto:huangjnb&lenovo.com 2003-10 +# [Huang_Neng-geng] Huang Neng-geng mailto:huangng&ngweb.org 2011-08-09 +# mailto:nghuang&ieee.org +# [Huang_Yu] Huang Yu mailto:llw&ftsafe.com +# [Hugh_Thomas] Hugh Thomas mailto:thomas&oils.enet.dec.com +# [Hugo_Charbonneau] Hugo Charbonneau +# [Hugo_Parra] Hugo Parra mailto:hparra&novell.com +# [Humberto_Sanchez] Humberto Sanchez mailto:Humberto_Sanchez&hp.com +# [Hunter_Goatley] Hunter Goatley mailto:goathunter&goatley.com +# [Hussein_F_Salama] Hussein F. Salama mailto:hsalama&cisco.com +# [Huw_Thomas] Huw Thomas mailto:huw.thomas&bt.com +# [HyeongBae_Yu] HyeongBae Yu mailto:hyeongbae.yu&samsung.com 2008-07-31 +# [HYPACK_Inc] HYPACK Inc. mailto:mircea&hypack.com 2011-10-27 +# [Hywel_Morgan] Hywel Morgan mailto:hywelm&surfcontrol.com 2003-11 +# [IANA] IANA mailto:iana&iana.org +# [IEEE_1722_1] IEEE-1722.1 mailto:jeff.koftinoff&ieee.com 2011-11-01 +# [IESG] IESG mailto:iesg&ietf.org +# [IETF_Chair] IETF Chair IETF mailto:chair&ietf.org +# [IFSF_Secretary] IFSF Secretary mailto:secretary&ifsf.org 2002-05 +# [IGG_Software] IGG Software mailto:ian&iggsoftware.com +# [IRdg] IRdg, Inc. mailto:jtaylor&irdg.com +# [ISHII_AKIO] ISHII AKIO mailto:ishii.akio&jp.fujitsu.com 2006-01 +# [ITGroup] ITGroup mailto:itgroup&stillsecure.com 2008-06-30 +# [ITU-T] ITU-T mailto:tsbsg16&itu.int 2013-01-31 +# [ITU-T_TSB] ITU-T TSB ITU-T mailto:tsbsg16&itu.int 2013-01-31 +# ITU TSB, Place des +# [ITU_TSB] Nations, CH-1211 mailto:tsbmail&itu.int 2006-06 +# Geneva 20 +# [I_Hsing_Tsao] I-Hsing Tsao mailto:itsao&austin.ibm.com +# [Ian_A_Young] Ian A. Young mailto:iay&threel.co.uk +# [Ian_Anderson] Ian Anderson mailto:ian_anderson&phoenix.com +# [Ian_Bell] Ian Bell mailto:ianb&arca-technologies.com +# [Ian_Bradley] Ian Bradley mailto:ian.bradley&pocketprograms.com 2009-10-14 +# mailto:development&pocketprograms.com +# [Ian_Cargill] Ian Cargill mailto:ian.cargill&e-dendrite.com 2005-08 +# [Ian_Chard] Ian Chard mailto:ian&tanagra.demon.co.uk +# [Ian_Daniels] Ian Daniels mailto:btexact.ports&bt.com +# [Ian_Gordon] Ian Gordon mailto:ian.s.gordon&btopenworld.com 2002-08 +# [Ian_Gordon_2] Ian Gordon mailto:ian&n-genltd.co.uk 2003-03 +# [Ian_Gordon_3] Ian Gordon mailto:iangµmuse.co.uk +# [Ian_Higginbottom] Ian Higginbottom mailto:sonardata&sonardata.com +# [Ian_Jackson] Ian Jackson mailto:iwj&cam-orl.co.uk +# [Ian_Lowe] Ian Lowe mailto:ian&xplproject.org.uk 2003-08 +# [Ian_Manning] Ian Manning mailto:imanning&dtsuk.com 2002-05 +# [Ian_Manning_2] Ian Manning mailto:ian&baycastle.co.uk 2009-12-16 +# [Ian_McDowall] Ian McDowall mailto:ian.mcdowall&symbian.com 2003-11 +# [Ian_Miller] Ian Miller mailto:IANA-reg&adder.com 2006-03 +# [Ian_Wilson] Ian Wilson mailto:hsrp-info&cisco.com 2004-11 +# [Ibtsam_Mahfouz] Ibtsam Mahfouz mailto:imahfouz&cisco.com +# [Ico_Doornekamp] Ico Doornekamp mailto:ico&saedra.nl +# [iConstruct_Aus_Pty_Ltd] iConstruct (Aus) Pty mailto:jafari&pdcwa.com.au 2012-12-21 +# [Ido_Ben_David] Ido Ben-David mailto:dgntcom&netvision.net.il +# [Ieuan_Friend] Ieuan Friend mailto:ieuan.friend&dip.co.uk 2006-03 +# [Igor_Kostic] Igor Kostic mailto:igorkoµsoft.com 2002-08 +# [Igor_Mozolevsky] Igor Mozolevsky mailto:igor&itaufait.com +# [Igor_Plotnikov] Igor Plotnikov mailto:igor&uroam.com +# [Igor_Zaoutine] Igor Zaoutine mailto:igor&global-tech.com +# [Ilan_Mahalal] Ilan Mahalal mailto:imahalal&axalto.com 2006-04 +# [Ilan_Shlosberg] Ilan Shlosberg mailto:ilan&mentasoftware.com +# [Ilan_Zisser] Ilan Zisser mailto:ilan&newgenpay.com +# [Illan_Raab] Illan Raab mailto:iraab&synoptics.com +# [Ilya_Melamed] Ilya Melamed mailto:ilya77&gmail.com 2006-06 +# [ims_Info] ims Info Management mailto:ope&ims-info.ch 2011-10-20 +# Systems AG +# [IMS_merilni_sistemi] IMS merilni sistemi mailto:info&ims.si 2012-08-24 +# d.o.o. +# [In_sik_Choi] In-sik Choi mailto:iscard&virusdesk.com 2002-02 +# [Inderpreet_Singh] Inderpreet Singh mailto:isingh&chantrynetworks.com 2003-06 +# [Ines_Homem_de_Melo] Ines Homem de Melo mailto:sidinf&brfapesp.bitnet +# [Ing_Markus_Huemer] Ing. Markus Huemer mailto:markus.huemer&hsd.at +# [Ing_Tomas_Halabala] Ing. Tomas Halabala mailto:tomas.halabala®ulace.org 2010-10-06 +# [Ingersoll_Rand_Inc] Ingersoll Rand, Inc. mailto:john.taylor&irco.com 2011-09-28 +# [Ingo_Franzki] Ingo Franzki mailto:ifranzki&de.ibm.com +# [Infinite_Loop] Infinite Loop mailto:nasmon&infinite-loop.dk 2012-10-09 +# [Insider_Software] Insider Software http://www.insidersoftware.com +# [Insist] Insist mailto:support&isticky.net +# [Intel] Intel mailto:joshua.boelter&intel.com 2011-10-18 +# [Ira_McDonald] Ira McDonald mailto:imcdonald&sharplabs.com 2005-12 +# [Irradiated_Software] Irradiated Software mailto:info&irradiatedsoftware.com 2012-06-19 +# [Isaack_Rasmussen] Isaack Rasmussen mailto:isaack&pictua.com +# [Israel_Beniaminy] Israel Beniaminy mailto:israel.beniaminy&clickservice.com +# [Israel_Shainert] Israel Shainert mailto:israels&209.88.177.2 +# [Itai_Greenberg] Itai Greenberg mailto:itaigµsoft.com 2004-11 +# [Itaru_Kimura] Itaru Kimura mailto:kimura&kel.fujitsu.co.jp +# [Ivan_Berardinelli] Ivan Berardinelli mailto:ivan&gestweb.com +# [Ivana_Cuozzo] Ivana Cuozzo mailto:Ivana.Cuozzo&tivoli.com +# [Ivo_Timmermans] Ivo Timmermans mailto:itimmermans&bigfoot.com +# [JF_Huard] JF Huard mailto:jfhuard&netuitive.com +# [J_A_Sever] J. A. (Tony) Sever mailto:J.A.Sever&bra0119.wins.icl.co.uk +# [J_C_Canessa] J. C. Canessa mailto:jccanessa&mmm.com +# [J_Gabriel_Foster] J. Gabriel Foster mailto:fop&gwha.com +# [J_H_Hermans] J.H. Hermans mailto:j.h.hermans&hiscom.nl +# [J_J_Ekstrom] J.J. Ekstrom +# [J_S_Greenfield] J. S. Greenfield mailto:greeny&raleigh.ibm.com +# [J_S_Greenfield_2] J.S. Greenfield mailto:greeny&us.ibm.com +# [Jack_Baker] Jack Baker mailto:Jack.Baker&l-3com.com 2006-02 +# [Jack_Haverty] Jack Haverty mailto:jhaverty&oracle.com +# [Jack_ONeil] Jack O'Neil +# [Jack_Waller_III] Jack Waller III mailto:jack&tomatosprings.com +# [Jack_Wilson] Jack Wilson mailto:JackW&travsoft.com +# [Jackie_Lau] Jackie Lau mailto:jackie.lau&compaq.com +# [Jackie_Wu] Jackie Wu mailto:jackiew&infoseek.com +# [Jaco_Botha] Jaco Botha mailto:jaco.botha&trispen.com 2004-11 +# [Jacob_Feisley] Jacob Feisley mailto:jacob&hydralabs.com 2009-01-21 +# [Jacob_Godwin_Jones] Jacob Godwin-Jones mailto:jacob&likethought.com +# [Jacob_Gsoedl] Jacob Gsoedl mailto:jgsoedl&pinnaclesys.com +# [Jacob_Ulmert] Jacob Ulmert mailto:Jacob.Ulmert&se.abb.com +# [Jae_Woo_Lee] Jae Woo Lee mailto:jae&cs.columbia.edu +# [Jaime_Antolin] Jaime Antolin mailto:jaime.antolin&ie.abb.com 2008-09-25 +# [Jakob_Kaivo] Jakob Kaivo mailto:jkaivo&nodomainname.net +# [Jakob_Oestergaard] Jakob Oestergaard mailto:joe&sysorb.com 2002-02 +# [Jakob_Spies] Jakob Spies mailto:Jakob.Spies&genius.de +# [Jakob_Steen_Hansen] Jakob Steen Hansen mailto:jsh&dk.damgaard.com +# [James_A_Brewster] James A. Brewster mailto:jimbrew&answersoft.com +# [James_Anson] James Anson mailto:janson&bigpond.com 2009-02-12 +# [James_Bottomley] James Bottomley mailto:James.Bottomley&steeleye.com 2006-02 +# [James_Brown] James Brown mailto:ender&admdev.com +# [James_Caza] James Caza mailto:jcaza&e-builder.net 2006-12 +# [James_Cox] James Cox mailto:jocox&view.com 2002-02 +# [James_Crosby] James Crosby softthere.com mailto:james&softthere.com 2011-10-17 +# [James_Dabbs] James Dabbs mailto:jdabbs&tga.com +# [James_Darnall] James Darnall mailto:james_r_darnall&sbcglobal.net +# [James_David_Fisher] James David Fisher mailto:jfisher1&avaya.com +# [James_E_Housley] James E. Housley mailto:jim&thehousleys.net +# [James_E_King_III] James E. King, III mailto:James_E_K&dell.com 2010-06-24 +# [James_Emerton] James Emerton Tri Tech Computers mailto:james&tri-tech.com 2012-11-19 +# Ltd. +# [James_Falkner] James Falkner mailto:james.falkner&sun.com +# [James_Figgins] James Figgins mailto:james.figgins&durodata.co.uk 2006-07 +# [James_Gettys] James Gettys mailto:jg&w3.org +# [James_Goddard] James Goddard mailto:jamesg&taglim.com 2005-08 +# [James_Greenfiel] James Greenfiel mailto:jim&pa.confluent.com +# [James_Irwin] James Irwin mailto:jimi&travsoft.com +# [James_J_Diaz] James J. Diaz mailto:JDiaz&emprisecorporation.com 2002-08 +# [James_Juhasz] James Juhasz mailto:james.juhasz&ni.com +# [James_Kennedy] James Kennedy mailto:james&tritium.com.au 2011-02-15 +# [James_King_III] James King III mailto:jking&ariessys.com +# [James_Kirkwood] James Kirkwood mailto:james.kirkwood&controltechniques.com 2005-06 +# [James_Kou] James Kou mailto:Jamesk&versatek.com +# [James_Kunz] James Kunz mailto:jkunz&earlhaig.com +# [James_Marsh] James Marsh mailto:James_T_Marsh&hotmail.com +# [James_McCartney] James McCartney mailto:jmccartney&apple.com +# [James_Mealey] James Mealey mailto:jymealey&yahoo.com 2002-10 +# [James_Moore] James Moore mailto:jam&wirerimmed.com +# [James_Nikolai] James Nikolai mailto:jamesnikolai&rpm-psi.com +# [James_Overby] James Overby +# [James_Paul_Duncan] James Paul Duncan mailto:pduncan&beaconcrm.com +# [James_Pinkerton] James Pinkerton mailto:jpinkµsoft.com 2003-11 +# [James_Powell] James Powell mailto:james&mailhost.unidata.com +# [James_Powell_2] James Powell mailto:james&enghp.unidata.comp +# [James_Rice] James Rice mailto:RICE&sumex-aim.stanford.edu +# [James_Tavares] James Tavares Log On America mailto:krontor&loa.com +# [James_W_Walker] James W. Walker mailto:jamesw&frameforge3d.com +# [James_Wilkinson] James Wilkinson mailto:jwilkinson&doubletake.com 2006-04 +# [James_Wilkinson2] James Wilkinson Vision Solutions, mailto:james.wilkinson&visionsolutions.com 2012-06-06 +# [James_Yonan] James Yonan mailto:jim&yonan.net 2004-11 +# [Jamie_Halmick] Jamie Halmick mailto:jamie&tinkerbuilt.com +# [Jamie_Lokier] Jamie Lokier mailto:jamie&jlokier.co.uk 2006-05 +# [Jan_Dirven] Jan Dirven mailto:jan.dirven&agfa.com 2007-12-13 +# [Jan_Friedel] Jan Friedel mailto:Jan.Friedel&sun.com 2009-05-07 +# [Jan_Rutger_Voorhorst] Jan Rutger Voorhorst mailto:janrutger&roadware.nl 2006-10 +# [Jan_Vrsinsky] Jan Vrsinsky mailto:jan.vrsinsky&illusionsoftworks.com 2002-09 +# [Jane_Dashevsky] Jane Dashevsky mailto:jane.dashevsky&intel.com +# [Jane_Porter] Jane Porter mailto:janeporter&uk.ibm.com +# [Janna_Chang] Janna Chang mailto:janna&pmc.philips.com +# [Janos_Lerch] Janos Lerch mailto:lerch&softic.hu 2006-02 +# [Jarkko_Oikarinen] Jarkko Oikarinen mailto:jto&tolsun.oulu.fi +# [Jarrod_Sayers] Jarrod Sayers mailto:jarrod&downtools.com.au 2009-04-07 +# [Jason_Aiken] Jason Aiken mailto:jasona&corelcomputer.com +# [Jason_Aubain] Jason Aubain mailto:jaubain&kjt.com +# [Jason_Case] Jason Case mailto:jason.case&ni.com 2002-08 +# [Jason_Cater] Jason Cater mailto:jason&ncsmags.com +# [Jason_Dictos] Jason Dictos mailto:jdictos&barracuda.com 2012-09-19 +# [Jason_Dzubak] Jason Dzubak mailto:dzubak&byu.edu 2008-03-17 +# [Jason_Hamilton] Jason Hamilton mailto:JHamilton&griddatasecurity.com 2006-06 +# [Jason_Howard] Jason Howard mailto:jason&spectsoft.com 2006-01 +# [Jason_Hunter] Jason Hunter mailto:jthunter&invino.com +# [Jason_Ko] Jason Ko mailto:jason_ko&hp.com 2002-07 +# [Jason_Leupen] Jason Leupen mailto:Jleupen&aol.com +# [Jason_Lockett] Jason Lockett mailto:Jay.Lockett&quest.com 2008-12-16 +# [Jason_McManus] Jason McManus mailto:jasonm&neoinformatics.com +# [Jason_McManus_2] Jason McManus mailto:jasonm&sleepdep.net +# [Jason_Reskin] Jason Reskin mailto:iana&unistellar.com 2007-03 +# [Jason_Rohrer] Jason Rohrer mailto:rohrer&cse.ucsc.edu 2002-10 +# [Jason_Santos] Jason Santos mailto:jason.santos&megaslow.net 2002-04 +# [Jason_Schoon] Jason Schoon mailto:jason.schoon&intermec.com 2002-10 +# [Jason_Schoon_2] Jason Schoon mailto:jason.schoon&intermec.com +# [Jason_Spence] Jason Spence mailto:jspence&lightconsulting.com 2008-01-22 +# [Jason_Szabo] Jason Szabo mailto:jason.szabo&vexcel.com 2003-10 +# [Jason_Thorpe] Jason Thorpe mailto:thorpej&apple.com +# [Jason_Volk] Jason Volk mailto:jason&teknidude.com +# [Jason_van_Zyl] Jason van Zyl mailto:jvanzyl&zenplex.com 2002-03 +# [Jauvane_C_de_Olivei] Jauvane C. de Oliveira mailto:jauvane&acm.org +# [Javier_Jimenez] Javier Jimenez +# [Javier_Jiminez] Javier Jiminez mailto:javier_l_jimenez&dell.com +# [Javier_Nigro] Javier Nigro Arrow Bit SL mailto:support&arrowbit.com 2012-04-26 +# [Jay_Beavers] Jay Beavers mailto:Jay.Beaversµsoft.com 2006-02 +# [Jay_Cotton] Jay Cotton mailto:JAY&calc.vet.uga.edu +# [Jay_Eckles] Jay Eckles mailto:ecklesweb&yahoo.com 2002-02 +# [Jay_Farhat] Jay Farhat mailto:jfarhat&ipass.com +# [Jay_Slupesky] Jay Slupesky mailto:js&vina-tech.com +# [Jay_Weber] Jay Weber mailto:weber&vfi.com +# [Jay_Whitney] Jay Whitney mailto:jw&powercenter.com +# [Jayakumar_Ramalingam] Jayakumar Ramalingam mailto:jayakumar&novell.com +# [Jayasooriah] Jayasooriah mailto:jayasooriah&cast.com.au 2008-02-22 +# [Jean_A_Ames] Jean A. Ames mailto:engr-admin&flipside.com +# [Jean-Charles_Boude] Jean-Charles Boude Gangsta Ltd. mailto:jc&gangstamedia.com 2011-10-17 +# [Jean_Christophe_Desi] Jean-Christophe Desire mailto:Jean-Christophe_Desire&nms-europe.com +# [Jean_Francois_Rabass] Jean-Francois Rabasse mailto:jfr&idps.org 2003-07 +# [Jean_Louis_Barbut] Jean-Louis Barbut mailto:etebac5&gsit.fr +# [Jean_Marc_Frailong] Jean-Marc Frailong mailto:jmf&freegate.net +# [Jean_Michel_URSCH] Jean-Michel URSCH mailto:ursch&taec.enet.dec.com +# [Jean_Olivier_Lanctot] Jean-Olivier Lanctot-D. mailto:jolivierld&clichesw.com +# [Jean_Paul_Lemaire] Jean-Paul Lemaire mailto:jean-paul.lemaire&univ-paris-diderot.fr 2007-07-05 +# [Jean_Paul_Moreaux] Jean-Paul Moreaux mailto:jean-paul.moreaux&airbus.com +# [Jean_Pierre_Garcia] Jean-Pierre Garcia mailto:jp.garcia&netia.net 2003-04 +# [Jean_Pierre_Garcia_2] Jean-Pierre Garcia mailto:jp.garcia&netia.com 2009-10-28 +# [Jean_Serge_Gagnon] Jean-Serge Gagnon mailto:jean-serge.gagnon&newlix.com +# [Jean_Serge_Gagnon_2] Jean-Serge Gagnon mailto:jsg&newlix.com +# [Jeannie_Burleson] Jeannie Burleson mailto:jeannie&cambertx.com +# [Jeff_Albouze] Jeff Albouze mailto:foup&apple.com +# [Jeff_Burch] Jeff Burch mailto:jeff.burch&amx.com +# [Jeff_Burdette] Jeff Burdette mailto:support&digitalenvoy.net +# [Jeff_Busma] Jeff Busma mailto:busma&echogent.com +# [Jeff_Conrad] Jeff Conrad mailto:jeff_conrad&hp.com +# [Jeff_Dillabough] Jeff Dillabough Teradici mailto:jdillabough&teradici.com 2012-03-06 +# [Jeff_Douglass] Jeff Douglass mailto:ist&att.net 2002-09 +# [Jeff_Eaton] Jeff Eaton mailto:jeaton&intermec.com +# [Jeff_Garbers] Jeff Garbers mailto:FJG030&email.mot.com +# [Jeff_Garbers_2] Jeff Garbers mailto:jgarbers&netcom.com +# [Jeff_Grossman] Jeff Grossman mailto:jagrossm&andrew.cmu.edu +# [Jeff_Haynes] Jeff Haynes mailto:haynes&chistech.com +# [Jeff_Heisz] Jeff Heisz mailto:jeff.heisz&xkoto.com 2006-02 +# [Jeff_Hoffman] Jeff Hoffman mailto:jeffh&facsys.com +# [Jeff_Holmbeck] Jeff Holmbeck mailto:Jeff.Holmbeck&veritas.com +# [Jeff_Hughes] Jeff Hughes mailto:Jeff.Hughes&columbiasc.ncr.com +# [Jeff_Jones] Jeff Jones mailto:Jeff.Jones&routematch.com 2005-11 +# [Jeff_King] Jeff King mailto:jking&wave3software.com 2002-09 +# [Jeff_Looman] Jeff Looman mailto:jeff&looman.org +# [Jeff_M_Michaud] Jeff M.Michaud mailto:michaud&zk3.dec.com +# [Jeff_Mangasarian] Jeff Mangasarian mailto:jeffrey_mangasarian&nai.com +# [Jeff_Moffatt] Jeff Moffatt mailto:jeff&taurus.com +# [Jeff_Roberts] Jeff Roberts mailto:jrobertsµsoft.com 2005-11 +# [Jeff_Rosenthal] Jeff Rosenthal mailto:jrosenthal&quad-sys.com +# [Jeff_Skaistis] Jeff Skaistis mailto:jskaistis&connectship.com 2005-08 +# [Jeff_Stewart] Jeff Stewart mailto:jstewart&netscape.com +# [Jeff_Wood] Jeff Wood mailto:jw&cqg.com +# [Jeffery_Chiao] Jeffery Chiao tel:+714-768-401 +# [Jeffrey_C_Byrd] Jeffrey C. Byrd mailto:admin&vspacegroup.com +# [Jeffrey_Chiao] Jeffrey Chiao mailto:chiaoj&netsoft.com +# [Jeffrey_Daniel_Koftinoff] Jeffrey Daniel Koftinoff IEEE-1722.1 mailto:jeff.koftinoff&ieee.com 2011-11-01 +# [Jeffrey_Hill] Jeffrey Hill mailto:johill&lanl.gov 2002-08 +# [Jeffrey_J_Peters] Jeffrey J. Peters mailto:jpeters&tivo.com 2002-08 +# [Jeffrey_J_Walls] Jeffrey J. Walls mailto:jeff.walls&hp.com +# [Jeffrey_Millman] Jeffrey Millman mailto:jcm&dbstar.com +# [Jeffrey_Pilch] Jeffrey Pilch mailto:jpilch&us.ibm.com +# [Jeffrey_Sadeli] Jeffrey Sadeli mailto:jeffrey&sadeli.com +# [Jeffrey_Szczepanski] Jeffrey Szczepanski mailto:jrs&inscitek.com 2005-02 +# [Jeffrey_Zinkerman] Jeffrey Zinkerman mailto:jeff&zinknet.com +# [Jeffry_Dwight] Jeffry Dwight mailto:jeffryd&greyware.com +# [Jem_Treadwell] Jem Treadwell mailto:Jem.Treadwell&compaq.com +# [Jenish_Amin] Jenish Amin Motorola Solutions, mailto:jenish&motorolasolutions.com 2012-03-14 +# [Jennifer_Grace] Jennifer Grace mailto:Jennifer_Grace&3com.com +# [Jens_Alfke] Jens Alfke mailto:jens&apple.com +# [Jens_Edlund] Jens Edlund mailto:edlund&speech.kth.se 2005-08 +# [Jens_Kilian] Jens Kilian mailto:jensk&hpbeo82.bbn.hp.com +# [Jens_Klose] Jens Klose mailto:jklose&intercope.com +# [Jens_Nilsson] Jens Nilsson mailto:jens&rockstorm.se +# [Jered_Floyd] Jered Floyd mailto:jered&permabit.com 2004-06 +# [Jeremy_Elson] Jeremy Elson mailto:jelson&isi.edu +# [Jeremy_Freeman] Jeremy Freeman mailto:jeremy&rxnetworks.ca 2008-02-14 +# [Jeremy_Gilbert] Jeremy Gilbert mailto:J.Gilbert&ma30.bull.com +# [Jeremy_Gilliat] Jeremy Gilliat mailto:jeremy.gilliat&geac.com +# [Jeremy_Maiden] Jeremy Maiden mailto:jeremy&komarr.demon.co.uk +# [Jeremy_McClintock] Jeremy McClintock mailto:jeremy&tridsys.com 2005-08 +# [Jeremy_Siegel] Jeremy Siegel mailto:jzs&nsd.3com.com +# [Jeroen_Ommering] Jeroen Ommering TEST-OK B.V. mailto:jeroen.ommering&test-ok.nl 2012-09-05 +# [Jeroen_Massar] Jeroen Massar mailto:jeroen&unfix.org 2005-08 +# [Jeroen_Massar_2] Jeroen Massar mailto:jma&zurich.ibm.com 2008-08-21 +# [Jeroen_Massar_3] Jeroen Massar mailto:jeroen&unfix.org +# [Jerome_AERTS] Jerome AERTS mailto:info&pcsoft.fr 2010-11-30 +# [Jerome_Albin] Jerome Albin mailto:albin&taec.enet.dec.com +# [Jerome_Dusautois] Jerome Dusautois mailto:jdusautois&scrypto.fr 2002-03 +# [Jerome_FOLLUT] Jerome FOLLUT COPALP mailto:jf&copalp.com 2012-03-01 +# [Jerome_Forissier] Jerome Forissier mailto:Jerome.Forissier&hp.com 2005-12 +# [Jerome_Grimbert] Jerome Grimbert mailto:jerome.grimbert&atosorigin.com +# [Jerome_Laheurte] Jerome Laheurte mailto:fraca7&users.sourceforge.net +# [Jerome_Seydoux] Jerome Seydoux mailto:jerome&ctmdev.com +# [Jerrilynn_Okamura] Jerrilynn Okamura +# [Jerry_Whitaker] Jerry Whitaker mailto:jwhitaker&atsc.org 2008-10-27 +# [Jesse_McKay] Jesse McKay mailto:jesse&spandata.com +# [Jesse_Ursery] Jesse Ursery mailto:jesse.ursery&ametek.com 2010-11-22 +# [Jesse_W_Towner] Jesse W. Towner mailto:jwtowner&dsmedialabs.com +# [Jessica_Yan] Jessica Yan mailto:jessica.yan2&t-mobile.com 2008-02-19 +# [Jessica_Zhang] Jessica Zhang Dell mailto:jessica_z&dell.com 2012-11-19 +# [Jesus_David_Rodrigue] Jesus David Rodriguez mailto:jesusdavid&magaya.com 2003-02 +# [Jesus_De_Meyer] Jesus De Meyer mailto:jesus&edot-studios.com +# [Jesus_Ortiz] Jesus Ortiz mailto:jesus_ortiz&emotion.com +# [Jesus_Ortiz_2] Jesus Ortiz mailto:Jesus_A._Ortiz¬es.emotion.com +# [Jeurgen_Broesamle] Jeurgen Broesamle mailto:juergb&bbn.hp.com +# [JG_Heithcock] JG Heithcock Retrospect, Inc. mailto:JG.Heithcock&retrospect.com 2012-02-02 +# [Jian_Fan] Jian Fan mailto:fjian&dmfsys.com 2002-02 +# [Jilles_Oldenbeuving] Jilles Oldenbeuving mailto:ojilles&hotmail.com 2002-06 +# [Jim_Baldridge] Jim Baldridge mailto:jimb&rpower.com +# [Jim_Battin] Jim Battin mailto:battin&tro.com +# [Jim_Binkley] Jim Binkley mailto:jrb&cs.pdx.edu 2002-06 +# [Jim_Bound] Jim Bound mailto:bound&zk3.dec.com +# [Jim_Cleppe] Jim Cleppe mailto:clep13&hotmail.com +# [Jim_Davis] Jim Davis mailto:jim.davis&wbemsolutions.com 2007-06 +# [Jim_DeLisle] Jim DeLisle mailto:jdelisle&swellsoftware.com 2002-08 +# [Jim_Dillon] Jim Dillon mailto:jed&apri.com +# [Jim_Dixon] Jim Dixon mailto:jim&lambda.com +# [Jim_Flaherty] Jim Flaherty mailto:jim.flaherty&seagatesoftware.com +# [Jim_Flaherty_2] Jim Flaherty mailto:jim_e_flaherty¬es.seagate.com +# [Jim_Gettys] Jim Gettys mailto:jg&crl.dec.com +# [Jim_Harlan] Jim Harlan mailto:jimh&infowest.com +# [Jim_Herman] Jim Herman mailto:jherman&homelogic.com 2005-08 +# [Jim_Hill] Jim Hill mailto:jhill&symantec.com +# [Jim_Humphreys] Jim Humphreys mailto:jhumphre&ciena.com 2008-01-29 +# [Jim_Irwin] Jim Irwin mailto:jirwin&n2h2.com 2002-02 +# [Jim_Jennings] Jim Jennings tel:+1-708-538-7241 +# [Jim_Johnston] Jim Johnston mailto:jjohnston&databeam.com +# [Jim_Kanzler] Jim Kanzler mailto:jim.kanzler&meta5.com +# [Jim_Kateley] Jim Kateley mailto:asr-dev&group.apple.com 2006-01 +# [Jim_Kingdon] Jim Kingdon mailto:kingdon&harvey.cyclic.com +# [Jim_Lyle] Jim Lyle mailto:jim.lyle&siliconimage.com 2005-11 +# [Jim_Lyle_2] Jim Lyle mailto:jim.lyle&siliconimage.com +# [Jim_Lyon] Jim Lyon mailto:JimLyonµsoft.com 2005-11 +# [Jim_McDonald] Jim McDonald mailto:Jim.McDonald&sysdm.com 2003-04 +# [Jim_McDonald_2] Jim McDonald mailto:jim.mcdonald&sysdm.com 2003-11 +# [Jim_Mertz] Jim Mertz mailto:JMertz+RV09&rvdc.unisys.com +# [Jim_Musgrave] Jim Musgrave mailto:jimm&tarantella.com 2002-08 +# [Jim_Perreault] Jim Perreault mailto:jim.perreault&emc.com 2010-06-04 +# [Jim_Pettinato] Jim Pettinato mailto:jim_pettinato&fmcti.com 2007-04 +# [Jim_Philippou] Jim Philippou mailto:jphilippou&newoak.com +# [Jim_Robanske] Jim Robanske mailto:jimr&cray.com 2006-05 +# [Jim_Rogers] Jim Rogers mailto:trane!jimbo&pacbell.com +# [Jim_Sermersheim] Jim Sermersheim mailto:jims&fusionio.com 2010-01-15 +# [Jim_Stabile] Jim Stabile mailto:jstabile&talarian.com +# [Jim_Susoy] Jim Susoy mailto:jim.susoy&p6r.com 2010-01-21 +# [Jim_Taylor] Jim Taylor mailto:taylor&heart.epps.kodak.com +# [Jim_Teague] Jim Teague mailto:teague&zso.dec.com +# [Jim_Thompson] Jim Thompson mailto:jim.thompson&powerware.com +# [Jim_Trek] Jim Trek mailto:jtrek&rochester.rr.com +# [Jim_Trocki] Jim Trocki mailto:trockij&transmeta.com +# [Jim_Turner] Jim Turner mailto:Jim.Turner&asg.com +# [Jim_Vlcek] Jim Vlcek mailto:jvlcek&veeco.com +# [Jim_Wallace] Jim Wallace mailto:jim&cs.dal.ca +# [Jim_White] Jim White mailto:Jim_White&spiderisland.com +# [Jim_Youll] Jim Youll mailto:jim&media.mit.edu +# [Jimmy_Olsen] Jimmy Olsen mailto:jo&redpill-linpro.com 2010-12-24 +# [Jimmy_Talbot] Jimmy Talbot mailto:jtalbot&vizible.com +# [Jindra_Ryvola] Jindra Ryvola mailto:jryvola&ledalite.com +# [Joachim_Kluemper] Joachim Kluemper mailto:ports&raikosoft.com 2008-03-19 +# [Joakim_Johansson] Joakim Johansson mailto:joakim.johansson&tbricks.com +# [Joan_Linck] Joan Linck mailto:jlinck&lanovation.com +# [Jochen_Hansmeyer] Jochen Hansmeyer mailto:cjh&krypton.de +# [Joe_Devlin] Joe Devlin mailto:Joe.Devlin&rocketsoftware.com 2002-03 +# [Joe_Elliott] Joe Elliott mailto:joe&inetd.com 2002-06 +# [Joe_Graham] Joe Graham mailto:joe&edaconsulting.com +# [Joe_Groff] Joe Groff mailto:arcata&gmail.com +# [Joe_Haver] Joe Haver mailto:joe.haver&jdsu.com 2010-05-28 +# [Joe_McCollough] Joe McCollough mailto:joe&cadkey.com +# [Joe_Mueller] Joe Mueller mailto:joe_mueller&agilent.com 2010-01-11 +# [Joe_Pato] Joe Pato mailto:pato&apollo.hp.com +# [Joe_Purcell] Joe Purcell mailto:jpurcell&ensuretech.com 2003-01 +# [Joe_Senner] Joe Senner mailto:jsenner&buildforge.com 2005-08 +# [Joe_Senner_2] Joe Senner mailto:support&buildforge.com +# [Joe_Touch] Joe Touch mailto:touch&isi.edu +# [Joe_Wesley] Joe Wesley mailto:joe.wesley&east.sun.com +# [Joel_Aaron_Clipperton] Joel Aaron Clipperton Shifted Current LLC mailto:joel&shiftedcurrent.com 2012-09-11 +# [Joel_Dolisy] Joel Dolisy mailto:joel.dolisy&solarwinds.com 2008-09-10 +# [Joel_E_Steiger] Joel E. Steiger mailto:jsteiger&eic-us.com 2004-02 +# [Joel_Karafin] Joel Karafin mailto:jkarafin&infotrieve.com +# [Joel_Palsson] Joel Palsson HMS Industrial mailto:ianacontact&hms.se 2002-02 +# Networks AB +# [Joerg_Heuer] Joerg Heuer mailto:Joerg.Heuer&siemens.com 2006-02 +# [Joerg_Niehoff] Joerg Niehoff mailto:joerg.niehoff&alcatel-ke.de +# [Joerg_Paulus] Joerg Paulus mailto:tech&nicetec.de +# [Joerg_Schneider] Joerg Schneider mailto:joerg.s.schneider&daimler.com 2011-01-26 +# [Joerg_Ullmann] Joerg Ullmann Festo AG & Co. KG mailto:jgu&de.festo.com 2012-07-26 +# [Johan_Deleu] Johan Deleu mailto:johan.deleu&alcatel.be 2002-02 +# [Johan_Eriksson] Johan Eriksson mailto:johan&marimba.com 2002-04 +# [Johan_Kool] Johan Kool mailto:johan&koolistov.net +# [Johan_Mjones] Johan Mjones mailto:johan&nollbit.com +# [Johann_Arnold] Johann Arnold mailto:johann.arnold&siemens.com 2004-10 +# [Johann_Deutinger] Johann Deutinger mailto:deutinger&ferrari-electronic.de +# [Johannes_Skov_Frands] Johannes Skov Frandsen mailto:joe&42tools.com 2008-02-28 +# [John_Aquilino] John Aquilino mailto:john.aquilino&maryville.com +# [John_Barnes] John Barnes mailto:jbarnes&crl.com +# [John_Birrell] John Birrell mailto:birjo99&cai.com +# [John_Border] John Border mailto:border&hns.com 2003-01 +# [John_Britton] John Britton mailto:johnb&peakaudio.com +# [John_C_Horton] John C. Horton mailto:jch&unirsvl.rsvl.unisys.com +# [John_C_Klensin] John C. Klensin mailto:klensin&jck.com 2004-07 +# [John_Calcote] John Calcote mailto:jcalcote&users.sourceforge.net 2007-11-06 +# [John_Calcote_2] John Calcote mailto:jcalcote&novell.com 2006-10 +# [John_Catherino] John Catherino mailto:cajo&dev.java.net 2005-08 +# [John_Chiong] John Chiong mailto:jchiong&a10networks.com 2007-07-02 +# [John_Clifford] John Clifford mailto:John.Clifford&veritas.com +# [John_Coll] John Coll mailto:john&csoft.co.uk +# [John_Croft] John Croft mailto:john.croft&calista.demon.co.uk +# [John_Daniel_Bonamico] John Daniel Bonamico mailto:jbonamico&symantec.com +# [John_Dziadosz] John Dziadosz Honwywell Security mailto:john.dziadosz&honeywell.com 2012-04-09 +# [John_E_Dickey] John E. Dickey mailto:jdickey&talarinetworks.com 2007-09-27 +# [John_Fake] John Fake mailto:fake&us.ibm.com +# [John_Fayos] John Fayos mailto:john.fayos&criticallink.com 2002-03 +# [John_Feiler] John Feiler mailto:relief!jjfeiler&uu2.psi.com +# [John_Flowers] John Flowers mailto:jf&gigamediaaccess.com +# [John_Fox] John Fox +# [John_Graham_Cumming] John Graham-Cumming CloudFlare, Inc. mailto:jgc&cloudflare.com 2012-03-09 +# [John_Hadjioannou] John Hadjioannou mailto:john&minster.co.uk +# [John_Harvey] John Harvey mailto:johnbob&austin.ibm.com +# [John_Hasselkus] John Hasselkus mailto:Jhasselkus&visualnetworks.com +# [John_Havard] John Havard mailto:jh&hxe.us 2003-11 +# [John_Hinsdale] John Hinsdale mailto:hin&alma.com +# [John_Hogg] John Hogg mailto:it&discoverysoftware.com +# [John_Ioannidis] John Ioannidis mailto:ji&close.cs.columbia.ed +# [John_Jackson] John Jackson mailto:jrj&gandalf.cc.purdue.edu +# [John_Jobe] John Jobe mailto:jjobe&cylink.com +# [John_Kane] John Kane mailto:johnkanµsoft.com +# [John_Keaveney] John Keaveney mailto:johnkeaveney&targusinfo.com +# [John_Kelly] John Kelly mailto:johnk&bellhow.com +# [John_Kozlowski] John Kozlowski ShofarNexus.com mailto:John.Kozlowski&ShofarNexus.com 2012-02-20 +# [John_Legh_Page] John Legh-Page mailto:john.legh-page&argis.com +# [John_Light] John Light mailto:johnl&gssc.gss.com +# [John_Linn] John Linn mailto:jlinn&securitydynamics.com +# [John_Lisek] John Lisek mailto:jl&gotodevice.com 2006-01 +# [John_Lombardo] John Lombardo mailto:johnl&picksys.com +# [John_Lowery] John Lowery NetPro Computing mailto:jlowery&netpro.com 2008-08-21 +# [John_M_Baird] John M. Baird mailto:jbaird&e-watch.com 2003-07 +# [John_MacMullin] John MacMullin mailto:john.macmullin&cox.net +# [John_Marland] John Marland mailto:jmarland&dean.openport.com +# [John_McCann] John McCann mailto:jmccann&visualclick.com 2006-12 +# [John_McCormack] John McCormack mailto:jmac&cisco.com +# [John_McKernan] John McKernan mailto:John.McKernan&sun.com +# [John_Meredith] John Meredith mailto:John.Meredith&etsi.org 2009-09-08 +# [John_Mertus] John Mertus mailto:mertus&mathtech.com +# [John_Mitchell] John Mitchell Found Software, Inc. mailto:john&foundapp.com 2012-04-11 +# [John_Morton] John Morton mailto:j.morton&hp.com 2004-11 +# [John_Murphy] John Murphy mailto:john.m.murphy&mci.com +# [John_Muth] John Muth mailto:muth¶scale.com 2010-01-21 +# [John_Myers] John Myers mailto:jgm+&cmu.edu +# [John_Parello] John Parello mailto:jparello&cisco.com 2009-05-19 +# [John_Payne] John Payne mailto:jpayne&lotus.com +# [John_Payson] John Payson mailto:john&circad.com 2007-10-22 +# [John_R_Chawner] John R. Chawner tel:+1-817-354-1004 +# [John_R_Deuel] John R. Deuel mailto:kink&netops.com +# [John_Rainford] John Rainford mailto:jrainford&passgo.com +# [John_Rainford_2] John Rainford mailto:john.rainford&passgo.com +# [John_Reynolds] John Reynolds mailto:John.Reynolds&datacoresl.com 2012-04-17 +# [John_Richardson] John Richardson Citrix Systems +# [John_Richmond] John Richmond mailto:developers&securitydesigners.com 2002-03 +# [John_Richmond_2] John Richmond mailto:john&ndl.co.uk +# [John_Ryan] John Ryan mailto:john&cybertrace.com +# [John_Scalo] John Scalo mailto:scalo&apple.com +# [John_Schilling] John Schilling mailto:john&jschilling.net +# [John_Skidmore] John Skidmore mailto:JSkidmore&vicon-cctv.com 2002-07 +# [John_Stephen] John Stephen mailto:iana&mundocani.com 2002-07 +# [John_Sygulla] John Sygulla SGI mailto:jsygulla&sgi.com 2013-01-07 +# [John_T_McCann] John T. McCann mailto:jmccann&softwaremetering.com 2003-10 +# [John_Tafoya] John Tafoya mailto:johntµsoft.com +# [John_Taylor] John Taylor Ingersoll Rand, Inc. mailto:john.taylor&irco.com 2011-09-28 +# [John_Tintor] John Tintor mailto:jt&yo.net +# [John_Tokash] John Tokash mailto:jtokash&homestead.com +# [John_Trudeau] John Trudeau mailto:jtrudeau&cup.hp.com +# [John_Wallace] John Wallace mailto:john&nowsoftware.com +# [John_Wendt] John Wendt tel:+1-614-261-2000 +# [John_Williams] John Williams mailto:John.H.Williams&hp.com 2007-06 +# [John_Willis] John Willis mailto:jwillis&arielusa.com 2002-09 +# [John_Wood] John Wood mailto:John.Wood&netiq.com +# [John_Yeager] John Yeager mailto:johnyeager&avaya.com +# [Johnnie_Walker] Johnnie Walker mailto:mrwalker&randomsequence.com +# [Johnny_C_Norris_II] Johnny C. Norris II mailto:jnorris&uiuc.edu +# [Johnny_Zweig] Johnny Zweig mailto:zweig&netwave-wireless.com +# [Johnson_Davis] Johnson Davis mailto:johnsond&opteamasoft.com +# [Johnson_Luo] Johnson Luo mailto:johnson_luo&mail.sercomm.com.tw +# [Jon_A_Christopher] Jon A. Christopher mailto:jac8792&tamu.edu +# [Jon_Bolen] Jon Bolen mailto:jon.bolen&westec.net 2009-03-18 +# [Jon_Ingi_Ingimundars] Jon Ingi Ingimundarson mailto:jii&oz.com 2003-03 +# [Jon_March] Jon March mailto:jon.march&paget-analyst-services.co.uk 2006-09 +# [Jon_Postel] Jon Postel mailto:postel&isi.edu +# [Jon_Press] Jon Press mailto:IANA.Registions&ca.com 2005-09 +# [Jon_Robertson] Jon Robertson mailto:jmrobertson&medevolve.com 2008-10-24 +# [Jon_Rosarky] Jon Rosarky mailto:JRosarky&symantec.com +# [Jon_S_Kyle] Jon S. Kyle mailto:JKyle&speedwaysoftware.com +# [Jon_Saperia] Jon Saperia mailto:saperia&bgs.com +# [Jon_Walker] Jon Walker mailto:jwalker&miramarsys.com +# [Jon_Xu] Jon Xu mailto:jonxuµsoft.com 2005-08 +# [Jonas_Ahlqvist] Jonas Ahlqvist mailto:jonas.a&informationssystem.se 2005-08 +# [Jonas_Bovin] Jonas Bovin mailto:jonas.bovin&quickobjects.com +# [Jonas_Gyllensvaan] Jonas Gyllensvaan mailto:jonas&conceivium.com 2009-04-27 +# [Jonas_Krogell] Jonas Krogell mailto:jonas.krogell&netadmin.se 2007-07-10 +# [Jonas_Oberg] Jonas Oberg mailto:jonas&coyote.org +# [Jonas_Salling] Jonas Salling mailto:jonas&salling.com +# [Jonathan] Jonathan mailto:jonathan&mugginsoft.com +# [Jonathan_A_Zdziaras] Jonathan A. Zdziaraski mailto:jonathan&nuclearelephant.com 2004-11 +# [Jonathan_A_Zdziarsk] Jonathan A. Zdziarski mailto:johathan&networkdweebs.com 2002-11 +# [Jonathan_Bastnagel] Jonathan Bastnagel mailto:jonthebagel&gmail.com 2007-09-17 +# [Jonathan_Custance] Jonathan Custance mailto:jevc&camrivox.com 2006-07 +# [Jonathan_Downes] Jonathan Downes mailto:jonno&activ.net.au +# [Jonathan_Leffler] Jonathan Leffler mailto:jleffler&us.ibm.com 2005-12 +# [Jonathan_Mergy] Jonathan Mergy mailto:mergy&natus.com +# [Jonathan_Mitchell] Jonathan Mitchell mailto:jonathan&mugginsoft.com 2008-09-08 +# [Jonathan_S_Shapiro] Jonathan S. Shapiro mailto:registrar&eros-os.org 2002-03 +# [Jonathan_Schaaf] Jonathan Schaaf mailto:j.schaaf&astronautics.com 2010-02-10 +# [Jonathan_Wenocur] Jonathan Wenocur mailto:jhw&shiva.com +# [Joon_Radley] Joon Radley mailto:jradley&csir.co.za +# [Joon_Radley_2] Joon Radley mailto:joon&toltec.co.za 2008-10-21 +# mailto:support&toltec.co.za +# [Jordan_Hrycaj] Jordan Hrycaj mailto:jordan&mjh.teddy-net.com +# [Jordi_Lisbona] Jordi Lisbona mailto:jlisbona&tango04.net +# [Jorg_Hoffmann] Joerg Hoffmann mailto:electronicc_rd&wago.com +# [Jorg_Laschke] Jorg Laschke mailto:laschke&hinz.de +# [Jorge_Aldana] Jorge Aldana mailto:operator&foresyte.com +# [Jorgen_Loland] Jorgen Loland mailto:jorgen.loland&sun.com 2008-02-27 +# [Jorn_Sierwald] Jorn Sierwald mailto:joern.sierwald&datafellows.com +# [Jose_A_Sesin] Jose A. Sesin mailto:sesin&vaultbase.com +# [Jose_Luis] Jose Luis mailto:73374.313&compuserve.com +# [Jose_Luis_Martin_Pei] Jose Luis Martin Peinado mailto:jooe&wifree-project.net 2006-03 +# [Josef_Spillner] Josef Spillner mailto:admin&ggzgamingzone.org 2003-01 +# [Joseph_Di_Pol] Joseph Di Pol mailto:joe.dipol&sun.com 2002-04 +# [Joseph_Dziedzic] Joseph Dziedzic mailto:tony.dziedzic&oracle.com 2008-06-06 +# [Joseph_Geer] Joseph Geer mailto:jgeer&peapod.com +# [Joseph_Gray] Joseph Gray mailto:gray&interwise.co.il +# [Joseph_Hauk] Joseph Hauk mailto:joseph.hauk&alphatech.com +# [Joseph_Hines] Joseph Hines mailto:jhines&webmethods.com +# [Joseph_Krebs] Joseph Krebs mailto:joek&caps.com +# [Joseph_LoPilato] Joseph LoPilato mailto:Joseph_M_LoPilato¬es.seagate.com +# [Joseph_M_Newcomer] Joseph M. Newcomer mailto:newcomer&flounder.com +# [Joseph_Mathew] Joseph Mathew mailto:mjoseph&dosa.cisco.com +# [Joseph_Sickel] Joseph Sickel mailto:joe&ozate.com 2011-10-12 +# [Joseph_Swaminathan] Joseph Swaminathan mailto:jswamina&cisco.com 2009-04-01 +# [Joseph_T_Savarese] Joseph T Savarese mailto:joesa&nmwco.com 2007-06 +# [Joseph_Weihs] Joseph Weihs mailto:yossi&bandwiz.com +# [Joshua_Boelter] Joshua Boelter Intel mailto:joshua.boelter&intel.com 2011-10-18 +# [Joshua_Graessley] Joshua Graessley mailto:jgraessley&apple.com 2004-12 +# [Joshua_Hawkins] Joshua Hawkins mailto:joshua.hawkins&hp.com 2003-11 +# [Joshua_Prewitt] Joshua Prewitt National Instruments mailto:joshua.prewitt&ni.com 2011-10-24 +# [Josip_Medved] Josip Medved mailto:jmedved&jmedved.com 2010-10-20 +# [Josse_van_Dobben_de] Josse van Dobben de Bruyn mailto:jossedobben&hotmail.com 2009-07-01 +# [Jost_Faganel] Jost Faganel mailto:jost.faganel&hermes.si +# [Josyula_R_Rao] Josyula R. Rao mailto:jrrao&watson.ibm.com +# [Joyce_K_Reynolds] Joyce K. Reynolds mailto:jkrey&isi.edu +# [Juan_Carlos_Luciani] Juan Carlos Luciani mailto:jluciani&novell.com +# [Juan_Carlos_Olivares] Juan Carlos Olivares mailto:jcolivares04c&cenidet.edu.mx 2006-03 +# Rojas +# [Juha_Lindfors] Juha Lindfors OpenRemote, Inc. mailto:juha&openremote.org 2012-12-18 +# [Jude_George] Jude George mailto:jude&nas.nasa.gov +# [Juergen_Edelhaeuser] Juergen Edelhaeuser mailto:Juergen.Edelhaeuser&locanis.com 2002-08 +# [Juergen_Fischbach] Juergen Fischbach mailto:juergen.fischbach&philips.com +# [Jugaari] Jugaari mailto:support&jugaari.com +# [Juho_Herttua] Juho Vaehae-Herttua mailto:juhovh&iki.fi 2009-04-14 +# [Julian_Biddle] Julian Biddle mailto:julian_biddle&technologyonecorp.com +# [Julian_Mehnle] Julian Mehnle mailto:julian&mehnle.net +# [Julian_Satran] Julian Satran mailto:Julian_Satran&il.ibm.com +# [Julian_Simpson] Julian Simpson Neo Technology, Inc mailto:julian.simpson&neotechnology.com 2013-02-08 +# [Julian_Smith] Julian Smith mailto:jsmith&undo-software.com 2010-04-19 +# [Juliana_Hsu] Juliana Hsu mailto:jhsu&ca.ibm.com +# [Julien_Danjou] Julien Danjou mailto:acid&debian.org 2006-07 +# [Julien_Robert] Julien Robert mailto:jul&abyssoft.com +# [Julien_VALIENTE] Julien VALIENTE mailto:j.valiente&objectif-software.com 2006-05 +# [Jun_Nakamura] Jun Nakamura mailto:jnakamur&cp10.es.xerox.com +# [Jun_Yoshii] Jun Yoshii mailto:yoshii&ael.fujitsu.co.jp +# [Juniper_Networks] Juniper Networks mailto:brijsman&juniper.net 2013-02-01 +# [Juraj_Zopp] Juraj Zopp mailto:juraj.zopp&pianoforce.com +# [Justin_Cepelak] Justin Cepelak mailto:jcepelak&splashdata.com +# [Justin_Ko] Justin Ko Apple mailto:justin.ko&apple.com 2011-10-20 +# [Justin_Paupore] Justin Paupore mailto:jpaupore&blueshiftlabs.net 2007-08-16 +# [Justin_R_Bendich] Justin R. Bendich mailto:jbendich&us.ibm.com +# [Justin_Vegso] Justin Vegso mailto:jvegso&quantapoint.com 2010-07-01 +# [Justin_Yu] Justin Yu mailto:yyu&mitre.org 2011-05-25 +# [Justine_Higgins] Justine Higgins mailto:iana&corsof.com +# [JVL_Industri_Elektronik] JVL Industri mailto:jvl&jvl.dk 2012-12-21 +# Elektronik +# [Jyri_J_Virkki] Jyri J. Virkki mailto:jyri.virkki&sun.com 2005-12 +# [K_Arvind] K. Arvind mailto:arvind&tenornetworks.com +# [K_K_Ho] K. K Ho mailto:kk.ho&afe-solutions.com 2004-04 +# [Kade_Hansson] Kade Hansson mailto:kade_fh&postoffice.utas.edu.au +# [Kai_Kretschmann] Kai Kretschmann mailto:K.Kretschmann&security-gui.de 2002-03 +# [Kang_Lee] Kang Lee I&M Society TC-9 mailto:kang.lee&nist.gov 2010-07-27 +# [Kannan_Alagappan] Kannan Alagappan mailto:kannan&sejour.enet.dec.com +# [Kannan_Alagappan_2] Kannan Alagappan mailto:kannan&sejour.lkg.dec.com +# [Karelia_Software] Karelia Software +# [Karen_Burns] Karen Burns +# [Karl_Edwall] Karl Edwall mailto:karl&magicnotes.com +# [Karl_Feind] Karl Feind mailto:kaf&sgi.com 2005-10 +# [Karl_Forster] Karl Forster mailto:kforster&lockstep.com +# [Karl_Norrman] Karl Norrman mailto:karl.norrman&ericsson.com 2004-12 +# [Karl_Olafsson] Karl Olafsson mailto:Karl.Olafsson&covariant-systems.com 2008-10-24 +# [Karl_Palsson] Karl Palsson mailto:karl_p&danfoss.com 2004-11 +# [Karl_Rousseau] Karl Rousseau mailto:kr&netfusion.co.uk +# [Karl_Schendel_Jr] Karl Schendel, Jr. mailto:wiz&telesis.com +# [Karl_Timmermann] Karl Timmermann mailto:timmerk&gmail.com +# [Katherine_Wattwood] Katherine Wattwood mailto:katherine.wattwood&veritas.com 2002-06 +# [Kathy_Huber] Kathy Huber mailto:khuber&bbn.com +# [Kathy_Tafel] Kathy Tafel Corpus Collusion mailto:kt&corpuscollusion.com 2011-08-23 +# [Katsuaki_Naoi] Katsuaki Naoi mailto:naoi&pfu.co.jp +# [Katsuhiko_Abe] Katsuhiko Abe mailto:kabe&hst.fujitsu.co.jp +# [Katsuhito_Muroi] Katsuhito Muroi mailto:muroi&pfu.co.jp +# [Katsumi_Oomuro] Katsumi Oomuro mailto:NAE01421&niftyserve.or.jp +# [Katy_Lynn_McCullough] Katy Lynn McCullough mailto:KatyM&laplink.com +# [Kaushik_Biswas] Kaushik Biswas mailto:kbiswas&cisco.com 2006-03 +# [Kay_Roepke] Kay Roepke mailto:Kay.Roepke&sun.com 2009-04-22 +# [Kay_T_Labinsky] Kay T. Labinsky mailto:Kay.Labinsky&sandlab.de 2010-05-03 +# [Kaynam_Hedayat] Kaynam Hedayat mailto:khedayat&roadrunner.pictel.com +# [Kaz_Kylheku] Kaz Kylheku mailto:kkylheku&infowave.com +# [Kaz_Ozawa] Kaz Ozawa mailto:k.ozawa&cablelabs.com +# [Kazuhiro_Koide] Kazuhiro Koide mailto:kaz&pfu.co.jp +# [Kazuhito_Gassho] Kazuhito Gassho mailto:Gassho.Kasuhito&exc.epson.co.jp +# [Kazuya_Ogata] Kazuya Ogata mailto:info&sepv.jp +# [Kedar_Mhaswade] Kedar Mhaswade mailto:kedar.Mhaswade&sun.com 2004-11 +# [Keiji_Michine] Keiji Michine mailto:michine&net.paso.fujitsu.co.jp +# [Keiji_Okuma] Keiji Okuma mailto:okuma&silex.jp 2005-08 +# [Keisokugiken_Corp] Keisokugiken Corp. mailto:adda&kgc.co.jp +# [Keith_Ansell] Keith Ansell mailto:KeithA&fastfreenet.com +# [Keith_Ashman] Keith Ashman mailto:sciana&sculptor.co.uk 2005-12 +# [Keith_Boyce] Keith Boyce +# [Keith_Evans] Keith Evans mailto:keith&loc252.tandem.com +# [Keith_Fligg] Keith Fligg mailto:keith&projtech.com 2002-09 +# [Keith_J_Alphonso] Keith J. Alphonso mailto:alphonso&ncs-ssc.com +# [Keith_Kilroy] Keith Kilroy mailto:Keith.Kilroy&novarcontrols.com 2006-02 +# [Keith_McCloghrie] Keith McCloghrie mailto:kzm&cisco.com +# [Keith_Moore] Keith Moore mailto:moore&cs.utk.edu +# [Keith_Morley] Keith Morley mailto:keith&ndl.co.uk +# [Keith_Paulsen] Keith Paulsen mailto:kpaulsen&phobos.com +# [Keith_Petley] Keith Petley mailto:keithp&sco.com +# [Keith_Rhodes] Keith Rhodes tel:+1-810-559-5955 +# [Keith_Ryden] Keith Ryden mailto:kryden&esri.com 2006-07 +# [Keith_Thompson] Keith Thompson mailto:keith.thompson&sun.com +# [Keith_Trummel] Keith Trummel mailto:ktrummel&autodesk.com +# [Keith_Wood] Keith Wood mailto:keith.wood&epid.eurotherm.co.uk +# [Keith_Wright] Keith Wright mailto:kwright&sensatronics.com 2003-08 +# [Keith_Yarbrough] Keith Yarbrough mailto:kyarbro&windtraveller.com +# [Kelli_Watson] Kelli Watson mailto:kwatson&ci3software.com +# [Kelly_Green] Kelly Green mailto:green&compaq.com +# [Kelly_Sims] Kelly Sims mailto:kellys&garnet.wv.tek.com +# [Kelvin_Lawson] Kelvin Lawson AD Holdings mailto:klawson&ad-holdings.co.uk 2011-10-11 +# [Ken_Anderson] Ken Anderson mailto:kanderso&kleber.ics.uci.edu +# [Ken_Bailey] Ken Bailey mailto:kbailey&rockettalk.com +# [Ken_Blackwell] Ken Blackwell mailto:kenb&bristol.com +# [Ken_Chapman] Ken Chapman mailto:kchapman&isis.com +# [Ken_Crocker] Ken Crocker mailto:kcrockerµsoft.com +# [Ken_Greer] Ken Greer mailto:kg&elan.com +# [Ken_Hearn] Ken Hearn mailto:hearn&hpindacx.cup.hp.com +# [KEN_ICHI_FUJII] Ken'ichi FUJII Canon Inc. mailto:fujii.ken-ichi149&canon.co.jp 2011-10-10 +# [Ken_Jibiki] Ken Jibiki mailto:ken&kenjij.com +# [Ken_Ksiazek] Ken Ksiazek mailto:kksiazek&maytag.com +# [Ken_Lagarec] Ken Lagarec mailto:klagarec&fibics.com 2009-04-17 +# [Ken_Lin] Ken Lin mailto:klin&us.ibm.com +# [Ken_McDonell] Ken McDonell mailto:kenj&internode.on.net 2010-12-20 +# [Ken_Moore] Ken Moore mailto:kmoore&groove.net +# [Ken_Nelson] Ken Nelson mailto:nelson&toplayer.com +# [Ken_Oliver] Ken Oliver mailto:koliver02&yahoo.com +# [Ken_Richard] Ken Richard mailto:kenr&aeseducation.com +# [Ken_Sarno] Ken Sarno mailto:kensarno&insightbb.com 2005-08 +# [Ken_Wittmer] Ken Wittmer mailto:kenneth.m.wittmer&accenture.com +# [Kenji_Tetsuyama] Kenji Tetsuyama mailto:kenji&onkyo.co.jp 2002-11 +# [Kenneth_B_Ocheltree] Kenneth B. Ocheltree mailto:kennetho&us.ibm.com 2008-01-07 +# [Kenneth_Flynn] Kenneth Flynn mailto:flynnk&darkcornersoftware.com 2009-10-14 +# [Kenneth_Vaughn] Kenneth Vaughn mailto:kvaughn&mail.viggen.com +# [Kern_Sibbald] Kern Sibbald mailto:kern&sibbald.com 2002-01 +# [Kerry_Hazelgren] Kerry Hazelgren mailto:hazelgren&facespan.com +# [Ketul_Patel] Ketul Patel mailto:ketulp76&yahoo.com 2006-10 +# [Kev_George] Kev George mailto:Kev.George&smiths-aerospace.com 2006-09 +# [Kevin_Arnold] Kevin Arnold mailto:imlucid&apple.com +# [Kevin_Bentley] Kevin Bentley mailto:Kevin&outrage.com +# [Kevin_Birch] Kevin Birch mailto:kbirch&pobox.com +# [Kevin_Bond] Kevin Bond mailto:kevin.bond&ca.com 2004-11 +# [Kevin_Bruckert] Kevin Bruckert mailto:kbruckert&idpco.com +# [Kevin_Brunner] Kevin Brunner mailto:brunner&tivo.com 2003-07 +# [Kevin_C_Barber] Kevin C. Barber mailto:kevin.c.barber&saic.com 2009-01-13 +# [Kevin_Calman] Kevin Calman mailto:postmaster&journee.com +# [Kevin_Collins] Kevin Collins mailto:kevinc@.cnd.hp.com +# [Kevin_Collins_2] Kevin Collins mailto:kevinc&cnd.hp.com +# [Kevin_Copas] Kevin Copas mailto:Kevin.Copas&lsi.com 2008-02-07 +# [Kevin_DeVault] Kevin DeVault +# [Kevin_Ediger] Kevin Ediger Software LI-COR mailto:kevin.ediger&licor.com 2011-10-18 +# Biosciences +# [Kevin_Frender] Kevin Frender mailto:kbf&ngdc.noaa.gov +# [Kevin_Green] Kevin Green mailto:Kevin_Green&tds.com +# [Kevin_Kuhns] Kevin Kuhns mailto:kkuhns&opto22.com +# [Kevin_Leacock] Kevin Leacock mailto:kevin&itchycode.com +# [Kevin_Lu] Kevin Lu mailto:kevinluµmethod.com 2005-08 +# [Kevin_Madden] Kevin Madden mailto:Kevin&emailxtras.com +# [Kevin_Massey] Kevin Massey mailto:massey&aspentec.com +# [Kevin_Mooney] Kevin Mooney mailto:kevinm&bfs.unibol.com +# [Kevin_Murphy] Kevin Murphy mailto:murphy&sevens.lkg.dec.com +# [Kevin_Murphy_2] Kevin Murphy mailto:kevin.murphy&networkengines.com 2003-10 +# [Kevin_Nakagawa] Kevin Nakagawa mailto:nakagawa&sigsci.com +# [Kevin_Osborn] Kevin Osborn mailto:kosborn&snapappliance.com +# [Kevin_Rushforth] Kevin Rushforth mailto:kevin.rushforth&sun.com 2003-08 +# [Kevin_Teiskoetter] Kevin Teiskoetter mailto:kevint&metacreations.com +# [Kevin_Wellwood] Kevin Wellwood mailto:wellwood&jeol.com 2008-04-17 +# [Kevin_Welton] Kevin Welton mailto:Kevin.Welton&armltd.co.uk +# [Khelben_Blackstaff] Khelben Blackstaff mailto:khelben&gmx.at +# [Khiem_Tran] Khiem Tran mailto:Khiem.Tran&andrew.com 2007-11-06 +# [Kim_Alan_Waggoner] Kim Alan Waggoner mailto:kimw&weatherbank.com 2006-11 +# [Kim_Berthelsen] Kim Berthelsen JVL Industri mailto:kb&jvl.dk 2012-12-21 +# [Kim_Hancock] Kim Hancock mailto:registry&dragondex.com 2007-10-24 +# [Kim_Moraros] Kim Moraros mailto:moraros&via.enet.dec.com +# [Kim_Scott] Kim Scott mailto:kims&cup.hp.com +# [Kimberly_Gibbs] Kimberly Gibbs mailto:kimgib&ccgate-ut.axent.com +# [Kimmo_Kymalainen] Kimmo Kymalainen mailto:kimmo.kymalainen&etsi.org 2010-06-04 +# [Kin_Chan] Kin Chan mailto:kchan&shiva.com +# [Kin_Chan_2] Kin Chan mailto:kchan&net2net.com +# [Kipp_E_B_Hickman] Kipp E.B. Hickman mailto:kipp&mcom.com +# [Kipp_E_B_Hickman_2] Kipp E.B. Hickman mailto:kipp&netscape.com +# [Kiren_Sekar] Kiren Sekar mailto:kiren&apple.com 2005-08 +# [Kiren_Sekar_2] Kiren Sekar mailto:kiren&apple.com +# [Kirk_Lougheed] Kirk Lougheed mailto:LOUGHEED&mathom.cisco.com +# [Kirk_MacLean] Kirk MacLean mailto:kmaclean&ea.com +# [Kit_Haskins] Kit Haskins mailto:kit&ka0wuc.org +# [Kit_Smithers] Kit Smithers mailto:ksmithers&argogroup.com +# [Kit_Sturgeon] Kit Sturgeon mailto:Kit&remotecontrolsextoys.com +# [Klas_Malmborg] Klas Malmborg FLIR Systems AB mailto:Klas.Malmborg&flir.se 2011-10-20 +# [Klaus_Fellner] Klaus Fellner mailto:webmaster&segue.com +# mailto:kfellner&segue.com +# [Klaus_Schmidinger] Klaus Schmidinger mailto:Klaus.Schmidinger&tvdr.de 2010-03-31 +# [Klaus_Warth] Klaus Warth Robert Bosch GmbH mailto:Klaus.Warth&bosch.com 2012-07-17 +# [Klaus_Wolf] Klaus Wolf mailto:wolf&cobrow.com +# [Koen_Schoofs] Koen Schoofs mailto:schoofs_koen&emc.com 2003-01 +# [Koich_Nakamura] Koich Nakamura mailto:naka&case.nm.fujitsu.co.jp +# [Konstantin_Iavid] Konstantin Iavid mailto:kiavid&highcriteria.com +# [Konstantin_Schauweck] Konstantin Schauwecker mailto:hi&konstantin-schauwecker.de 2007-02 +# [Konstantin_V_Vyazni] Konstantin V. Vyaznikov mailto:kv&ssm6000.samsung.ru +# [Konstantinos_Kostis] Konstantinos Kostis mailto:netdb&kostis.net +# [Kord_Campbell] Kord Campbell mailto:kord&grub.org +# [Kory_Hamzeh] Kory Hamzeh mailto:kory&ascend.com +# [Kouichi_Takeda] Kouichi Takeda mailto:KHBO5271&nifty.com +# [Kouichi_Takeda_2] Kouichi Takeda mailto:KHB05271&nifty.com +# [Kouji_Sugisawa] Kouji Sugisawa mailto:sugisawa.kouji&soft.fujitsu.com 2003-01 +# [Kristean_Heisler] Kristean Heisler mailto:kh&rib.de +# [Kristean_Heisler_2] Kristean Heisler mailto:Kristean.Heisler&rib-software.com 2009-12-16 +# [Kristian_A_Bognaes] Kristian A. Bognaes mailto:kbo&norman.no 2007-11-06 +# [Kristina_Sten] Kristina Sten mailto:kristina.sten&axis.com +# [Kristoffer_Lawson] Kristoffer Lawson mailto:setok&scred.com +# [Kristoffer_Nilsson] Kristoffer Nilsson mailto:kristoffer.nilsson&hutchison3g.com 2002-02 +# [Kunihiko_Morota] Kunihiko Morota mailto:morota.kunihiko&jp.panasonic.com 2005-08 +# [Kurt_Haubner] Kurt Haubner mailto:haubner&ibm.net +# [Kurt_Nissen] Kurt Nissen mailto:kn&proces-data.com 2004-02 +# [Kyle_Lussier] Kyle Lussier mailto:klussier&autonoc.com 2005-12 +# [Kyle_Unice] Kyle Unice mailto:kyle&midnighttech.com +# [L-ACOUSTICS] L-ACOUSTICS mailto:christophe.pignon&l-acoustics.com 2012-08-13 +# LJK Software, +# [LJK] Cambridge, mailto:support&ljk.com +# Massachusetts +# [Ladislav_Baranyay] Ladislav Baranyay mailto:identcod&identcode.sk +# [Lai_Zit_Seng] Lai Zit Seng mailto:lzs&pobox.com +# [Laird_Popkin] Laird Popkin mailto:laird&pando.com 2008-02-27 +# [Lal_Samuel_Varghese] Lal Samuel Varghese mailto:lalsam&hp.com 2005-08 +# [Lance_Drake] Lance Drake Caprice Productions mailto:bonjour&caprice.com 2012-07-05 +# [Lance_Kind] Lance Kind mailto:lance_kind&hp.com +# [Lance_M_Steenson] Lance M. Steenson mailto:lance&transactionwarehouse.net 2009-09-18 +# [Larry_A_Young] Larry A. Young mailto:Larry.A.Young&mail.sprint.com 2005-08 +# [Larry_A_Young_2] Larry A. Young mailto:Larry.A.Young&sprint.com 2006-02 +# [Larry_Atkin] Larry Atkin mailto:latkin&commongrnd.com +# [Larry_Atkin_2] Larry Atkin mailto:shasta&qsatoolworks.com +# [Larry_Barnes] Larry Barnes mailto:barnes&broke.enet.dec.com +# [Larry_Emlich] Larry Emlich mailto:larry.emlich&compaq.com +# [Larry_Gerhardstein] Larry Gerhardstein mailto:lh_gerhardstein&pnl.gov +# [Larry_Lipstone] Larry Lipstone mailto:lrl&interdyn.com +# [Larry_Peterson] Larry Peterson mailto:llp&arizona.edu +# [Larry_Schwartz] Larry Schwartz mailto:lrs&cup.hp.com +# [Larry_Scott] Larry Scott mailto:scott&zk3.dec.com +# [Larry_Stone] Larry Stone mailto:lcs&icad.com +# [Larry_Traylor] Larry Traylor mailto:larry&arium.com +# [Larry_Tusoni] Larry Tusoni mailto:larry&goldrush.com +# [Larry_Zarou] Larry Zarou mailto:zarla01&cbsits.com 2006-10 +# [Lars_Bohn] Lars Bohn mailto:Lars.Bohn&nokia.com +# [Lars_Eilebrecht] Lars Eilebrecht mailto:le+iana&leogic.com 2003-10 +# [Lars_Goran_Magnusson] Lars-Goran Magnusson mailto:lars-goran.magnusson&seisy.mail.abb.com +# [Lars_Mattsson] Lars Mattsson mailto:lars.mattsson®in.se 2008-12-24 +# [Lars_Struwe_Christen] Lars Struwe Christensen mailto:lsc&giritech.com 2004-01 +# [Laurence_Flath] Laurence Flath mailto:lflath&luxsolis.com +# [Laurent_Charmet] Laurent Charmet mailto:laurent.charmet&atempo.com +# [Laurent_Domenech] Laurent Domenech Opalis mailto:ldomenech&opalis.com +# [Laurent_Mihalkovic] Laurent Mihalkovic mailto:ljp_m&mac.com +# [Laurie_Charlwood] Laurie Charlwood mailto:laurie.charlwood&printsoft.com 2007-08-22 +# [Laurie_Lindsey] Laurie Lindsey mailto:llindsey&novell.com +# [Lawrence_J_Dickson] Lawrence J. Dickson Land-5 Corporation mailto:ldickson&land-5.com 2002-03 +# [Lawrence_Lebahn] Lawrence Lebahn mailto:DIA3&paxrv-nes.navy.mil +# [Lawrence_Tarbox] Lawrence Tarbox mailto:ltarbox&scr.siemens.com +# [Lawrence_W_Dunn] Lawrence W. Dunn mailto:larrydunn&aptcomp.com 2003-04 +# [Laxman_C_Marathe] Laxman C. Marathe mailto:lcmarathe&thomsonpress.com 2006-12 +# [Layered_Logic] Layered Logic, Inc. mailto:brooks&layeredlogic.com 2012-01-04 +# [Lech_Lakomy] Lech Lakomy mailto:llakomy&apwi.com 2009-02-12 +# [Lech_Laskowski] Lech Laskowski mailto:lech_laskowski&moldflow.com +# [Lecuivre_J] Lecuivre J mailto:software.team&mgeups.com 2005-08 +# [Lee_Barton] Lee Barton mailto:barton&star.enet.dec.com +# [Lee_Breisacher] Lee Breisacher mailto:lbreisacher&seagullsw.com +# [Lee_Dolson] Lee Dolson mailto:dolson&f-net.co.kr 2006-01 +# [Lee_Griffiths] Lee Griffiths mailto:lg&dataconnection.com 2004-11 +# [Lee_HoJun] Lee HoJun Samsung mailto:rcn95&samsung.com 2013-01-03 +# [Lee_Howard] Lee Howard mailto:iana&hylafax.org 2002-03 +# [Lee_VanTine] Lee VanTine mailto:lvantine&infiniswitc.com 2002-09 +# [Lee_Wheat] Lee Wheat mailto:wheat&wg.com +# [Lefteris_Kalamaras] Lefteris Kalamaras mailto:lefteris&ebi.com +# [Lehpaner_Sasa] Lehpaner Sasa mailto:lsasa&visel.it +# [Leif_Ekblad] Leif Ekblad mailto:leif&rdos.net +# [Leif_Hedstrom] Leif Hedstrom mailto:leif&propel.com 2002-04 +# [Leif_Jakob] Leif Jakob mailto:leif+iana&cube.ch 2006-01 +# [Leland_Wallace] Leland Wallace mailto:randall&apple.com +# [Len_Wanger] Len Wanger mailto:lrw&sdsc.edu +# [Len_Zuvela] Len Zuvela IM Unified Coalition mailto:imu-comments&egroups.com +# [Len_Zuvela_2] Len Zuvela mailto:lenzµsoft.com +# [Leo_Hourvitz] Leo Hourvitz mailto:leo&next.com +# [Leo_Lesage] Leo Lesage mailto:leo.lesage&adp.nl 2006-04 +# [Leo_Martins] Leo Martins mailto:leo&talarian.com +# [Leo_Moesgaard] Leo Moesgaard mailto:leo_moesgaard&dk.ibm.com +# [Leo_Rathnayake] Leo Rathnayake mailto:leo&perlnet.com +# [Leonhard_Diekmann] Leonhard Diekmann mailto:diekmann&04.mstr02.telekom400.dbp.de +# [Les_Enstone] Les Enstone mailto:lenstone&lanner.co.uk +# [Les_Klein] Les Klein mailto:sgy&cix.compulink.co.uk +# [Les_Mather] Les Mather mailto:lm&remsdaq.com 2005-12 +# [Leslie_Lincoln] Leslie Lincoln mailto:leslie_lincoln&valisys.com +# [Lewis_Donzis] Lewis Donzis mailto:ldonzis&nortelnetworks.com +# [Lewis_Wolfgang] Lewis Wolfgang mailto:wolfgang&kencast.com 2006-05 +# [Liam_Merwick] Liam Merwick mailto:ldoms-iana-ports&sun.com 2009-01-16 +# [Libor_Sykora] Libor Sykora mailto:libor.sykora&st.com 2002-05 +# [Libratone_AS] Libratone A/S mailto:info&libratone.com 2011-10-27 +# [libravatar_org] libravatar.org mailto:francois&libravatar.org 2011-10-11 +# [Lilian_Rudenco] Lilian Rudenco mailto:info&xpanel.com 2009-03-04 +# [Liming_Wei] Liming Wei mailto:lwei&cisco.com +# [Linda_Lin] Linda Lin mailto:llin&sonusnet.com 2006-08 +# [Lindsay_Morris] Lindsay Morris mailto:lmorris&servergraph.com +# [Linus_Torvalds] Linus Torvalds mailto:torvalds&osdl.org 2005-09 +# [Lisa_Tomita] Lisa Tomita +# [Lisa_Zhong] Lisa Zhong mailto:lzhong&cup.hp.com +# [Lisp_Support] Lisp Support mailto:lisp-support&xanalys.com +# [Liu_Changchun] Liu Changchun mailto:blzhang&infospark.cn 2008-11-05 +# [Lloyd_Wood] Lloyd Wood mailto:lwood&cisco.com 2007-05 +# [Logan_Bruns] Logan Bruns mailto:logan&andromedia.com +# [Loren_Barr] Loren Barr mailto:lbarr&extensis.com 2006-12 +# [Lori_Tassin] Lori Tassin mailto:Ramsey&network-1.com +# [Lou_Berger] Lou Berger mailto:lberger&movaz.com 2004-11 +# [Lou_Harris] Lou Harris mailto:lharris&outlx.bandl.com +# [Lou_Seitchik] Lou Seitchik mailto:lou&alliedelectronics.com 2005-08 +# [Louis_E_Simard] Louis E. Simard mailto:76400.3371&compuserve.com +# [Louis_Lu] Louis Lu mailto:LouisL&bristol.com +# [Louis_Mamakos] Louis Mamakos mailto:louie&sayshell.umd.edu +# [Louis_Mamakos_2] Louis Mamakos mailto:louie&uu.net +# [Louis_Olszyk] Louis Olszyk mailto:lolszyk&10fold.com +# [Louis_Slothouber] Louis Slothouber mailto:lpslot&biap.com 2005-08 +# [Louis_Sun] Louis Sun mailto:lysun&ambarella.com +# [Lucas_Alonso] Lucas Alonso mailto:luke&demiurgestudios.com 2002-02 +# [Luis_Zugasti] Luis Zugasti mailto:lzugasti&fagorautomation.es 2003-11 +# [Luke_Bowen] Luke Bowen mailto:leb&tfn.com +# [Luke_Dion] Luke Dion mailto:ldion&tapeware.com 2004-04 +# [Luke_Steffen] Luke Steffen mailto:lukesteffen&deusty.com +# [Luma_Code] Luma Code mailto:support&lumacode.com +# [Lumicom] Lumicom mailto:support&lumicom.com.au 2013-02-07 +# [Lumis] Lumis mailto:rterra&lumis.com.br 2011-10-24 +# [Lutz_Karras] Lutz Karras mailto:karras&zeiss.de +# [Lyndon_Nerenberg] Lyndon Nerenberg mailto:lyndon&execmail.ca +# [Lyndon_Ong] Lyndon Ong mailto:LyOng&ciena.com +# [Lyndon_Ong_2] Lyndon Ong mailto:Lyong&ciena.com +# [Lynn_Carter] Lynn Carter mailto:carterl&execpc.com +# [MPITech_Support] MPITech Support mailto:morten.christensen&i-data.com +# [M_Flemming] M Flemming mailto:mflemming&aol.com +# [Madhan_Kanagavel] Madhan Kanagavel mailto:madhan&codelathe.com 2008-07-18 +# [Madhav_Karhade] Madhav Karhade mailto:madhav.karhade&wibhu.com 2003-08 +# [Madhukar_N_Thakur] Madhukar N. Thakur mailto:mthakur&interbase.com +# [Mads_Peter_Back] Mads Peter Back mailto:iana-contact&webhouse.dk 2002-06 +# [Maggie_Brinsford] Maggie Brinsford mailto:mjb&concurrent.co.uk +# [Magnus_Nystrom] Magnus Nystrom mailto:magnus&dynas.se +# [Makoto_Ikeyama] Makoto Ikeyama mailto:ikeyama&ael.fujitsu.co.jp +# [Makoto_Mita] Makoto Mita mailto:mita&ssdev.ksp.fujixerox.co.jp +# [Makoto_Watanabe] Makoto Watanabe mailto:makoto&saint.nm.fujitsu.co.jp +# [Makoto_Zukawa] Makoto Zukawa mailto:zukawa&jp.fujitsu.com 2010-10-15 +# [Mala_Bhat] Mala Bhat mailto:bmala&ssdi.sharp.co.in 2005-08 +# [Malcolm_Crowe] Malcolm Crowe mailto:malcolm.crowe&paisley.ac.uk 2005-11 +# [Malcolm_Graham] Malcolm Graham mailto:Malcolm_Graham&cyborg.com +# [Malcolm_McLean] Malcolm McLean mailto:malcolmm&zieto.co.za 2007-07-19 +# [Mamoru_Ito] Mamoru Ito mailto:Ito&pcnet.ks.pfu.co.jp +# [Man_Shuen_Cheung] Man Shuen Cheung mailto:man_shuen_cheung&wamnet.co.uk +# [Manabu_Makino] Manabu Makino mailto:m-makino&ael.fujitsu.co.jp +# [Mandar_Joshi] Mandar Joshi mailto:mandar.joshi&lsi.com 2009-02-09 +# [Mandos_Maintainers] Mandos Maintainers mailto:mandos&fukt.bsnet.se +# [Manfred_Randelzofer] Manfred Randelzofer mailto:manfred.randelzofer&fujitsu-siemens.com +# [Manickam_R_Sridhar] Manickam R.Sridhar mailto:msridhar&sitaranetworks.com +# [Manish_Talreja] Manish Talreja Crestron Electronics, mailto:mtalreja@crestron.com> 2012-06-27 +# [Manuel_Moos] Manuel Moos mailto:z-man&users.sf.net 2012-11-02 +# [Marazzi] Marazzi mailto:fmarazzi&ideetique.com +# [Marc_Andre_Lemburg] Marc-Andre Lemburg mailto:mal&egenix.com 2009-11-13 +# [Marc_Bailey] Marc Bailey mailto:marc&objective.com +# [Marc_Baudoin] Marc Baudoin mailto:babafou&babafou.eu.org +# [Marc_Binstock] Marc Binstock mailto:marc.binstock&citrix.com 2008-01-29 +# [Marc_Blanchet] Marc Blanchet mailto:marc.blanchet&viagenie.ca 2003-01 +# [Marc_Castelluccio] Marc Castelluccio mailto:mcastell&areanetworks.net 2005-08 +# [Marc_Diamante] Marc Diamante mailto:pgmp&pgmpsolutions.com +# [Marc_Donner] Marc Donner mailto:mail&poweraudio.de 2009-01-16 +# [Marc_Epard] Marc Epard mailto:marc&netopia.com +# [Marc_Gauthier] Marc Gauthier mailto:mgau&kastenchase.com +# [Marc_Goossens] Marc Goossens mailto:mgoossens&eiba.com 2003-01 +# [Marc_Horowitz] Marc Horowitz mailto:marc&mit.edu +# [Marc_Krochmal] Marc Krochmal mailto:marc&apple.com +# [Marc_Krochmal_2] Marc Krochmal Apple Inc. mailto:marc&apple.com 2012-03-02 +# [Marc_Majka] Marc Majka mailto:majka&apple.com 2002-08 +# [Marc_Manthey] Marc Manthey mailto:codewarrior&cuseeme.de 2006-07 +# [Marc_Manthey_2] Marc Manthey mailto:marc&let.de +# [Marc_McClure] Marc McClure mailto:marcmccµsoft.com 2007-08-07 +# [Marc_Morin] Marc Morin mailto:mmorin&sdlintl.com 2002-04 +# [Marc_Prud_hommeaux] Marc Prud'hommeaux mailto:support&lexcycle.com +# [Marcel_Dube] Marcel Dube mailto:marceldube&videotron.ca 2004-11 +# [Marcel_Hofstetter] Marcel Hofstetter mailto:marcel.hofstetter&jomasoft.ch 2003-01 +# [Marcel_Ruff] Marcel Ruff mailto:mr&marcelruff.info 2002-02 +# [Marcelo_Einhorn] Marcelo Einhorn mailto:KGUNE%25HUJIVM1.bitnet@taunivm.tau.ac.il +# [Marcelo_Einhorn_2] Marcelo Einhorn mailto:marcelo&eshbel.com +# [Marcin_Gozdalik] Marcin Gozdalik mailto:gozdal&gadu-gadu.pl 2006-05 +# [Marco_Bambini] Marco Bambini mailto:marco&realsoftware.com 2008-08-28 +# [Marco_Casole] Marco Casole mailto:marco.casole&ericsson.com 2003-04 +# [Marco_Marcucci] Marco Marcucci mailto:mmarcucci.amtec&interbusiness.it +# [Marco_Mascitto] Marco Mascitto mailto:mmascitto&accedian.com 2011-06-28 +# [Marco_Piovanelli] Marco Piovanelli mailto:support&ovolab.com +# [Marcos_Della] Marcos Della mailto:mdella&peerme.com 2005-08 +# [Marcus_Leufgen] Marcus Leufgen mailto:leufgen&ipcas.de 2002-05 +# [Marcus_Mueller] Marcus Mueller mailto:marcus&irtrans.de 2004-11 +# [Marek_Buchler] Marek Buchler mailto:Marek.Buchler&entrust.com +# [Margaret_Wasserman] Margaret Wasserman mailto:margaret&thingmagic.com 2006-11 +# [Marie_France_Dubreui] Marie-France Dubreuil mailto:Marie-France.Dubreuil&evidian.com 2002-11 +# [Marie_Pierre_Belange] Marie-Pierre Belanger mailto:belanger_marie&emc.com +# [Mario_Bonin] Mario Bonin mailto:boninmµtempus.com +# [Mario_Joussen] Mario Joussen Cognex Corporation mailto:mario.joussen&cognex.com 2012-08-28 +# [Mario_Leboute] Mario Leboute mailto:leboute&pro.via-rs.com.br +# [Mario_Poerner] Mario Poerner Mediatap GbR mailto:mario.poerner&googlemail.com 2011-10-11 +# [Maris_Bormanis] Maris Bormanis mailto:info&febooti.com 2011-06-10 +# [Marius_Matioc] Marius Matioc mailto:marius&lavenir.com +# [Mark_Ainsley] Mark Ainsley mailto:ianaportmaster&unify.com +# [Mark_Armstrong] Mark Armstrong mailto:Mark.Armstrong&soleratec.com 2005-12 +# [Mark_B_Hurst] Mark B. Hurst mailto:mhurst&aspenres.com +# [Mark_Bailon] Mark Bailon mailto:mark.bailon&ericsson.com +# [Mark_Beyer] Mark Beyer mailto:mbeyer&freegate.com +# [Mark_Bocko] Mark Bocko mailto:bocko&ece.rochester.edu +# [Mark_Boler] Mark Boler mailto:markb&ttgsoftware.com +# [Mark_Burgess] Mark Burgess mailto:mark.burgess&iu.hioslo.no +# [Mark_Caldwell] Mark Caldwell mailto:development&caldsoft.co.uk 2011-08-12 +# [Mark_Cavage] Mark Cavage mailto:mcavage&us.ibm.com 2002-07 +# [Mark_Ciskey] Mark Ciskey mailto:mlciskey&plato.com +# [Mark_Crispin] Mark Crispin mailto:MRC&panda.com +# [Mark_Crispin_2] Mark Crispin mailto:MRC&cac.washington.edu +# [Mark_Crother] Mark Crother mailto:mark&eis.calstate.edu +# [Mark_Davidson] Mark Davidson mailto:mark_davidson&filemaker.com 2010-10-06 +# [Mark_Doyle] Mark Doyle mailto:mark&engagecom.com +# [Mark_E_Fogle] Mark E. Fogle mailto:mefogle&xantel.com +# [Mark_Ericksen] Mark Ericksen mailto:mark&jiiva.com +# [Mark_Ethan_Trostler] Mark Ethan Trostler mailto:mark&zzo.com 2011-11-23 +# [Mark_Farlin] Mark Farlin mailto:mfarlin&peerlogic.com +# [Mark_Fox] Mark Fox mailto:markf&uplanet.com +# [Mark_Gamble] Mark Gamble mailto:mark.gamble&sage.com 2003-02 +# [Mark_Garti] Mark Garti mailto:mgarti&sonusnet.com +# [Mark_H_David] Mark H. David mailto:mhd&gensym.com +# [Mark_H_Needleman] Mark H. Needleman mailto:markn&sirsi.com +# [Mark_Hankin] Mark Hankin +# [Mark_Hanson] Mark Hanson mailto:markh&intersys.com +# [Mark_Harrison] Mark Harrison mailto:Mark&xapautomation.org 2002-11 +# [Mark_Hendricks] Mark Hendricks mailto:markah&copper.net 2003-03 +# [Mark_Hodapp] Mark Hodapp mailto:mark.hodapp&sun.com +# [Mark_Hurst] Mark Hurst mailto:mhurst&inconnect.com +# [Mark_Itzcovitz] Mark Itzcovitz mailto:mji&vistacomp.com +# [Mark_Jackson] Mark Jackson Nuance mailto:Mark.Jackson&nuance.com 2011-10-27 +# Communications, Inc. +# [Mark_Killgore] Mark Killgore mailto:MKillgore&novell.com +# [Mark_Kosters] Mark Kosters mailto:markk&internic.net +# [Mark_L_Lambert] Mark L. Lambert mailto:markl&ptt.lcs.mit.edu +# [Mark_Lewandowski] Mark Lewandowski mailto:mlewan0&us.ibm.com +# [Mark_Lewis] Mark Lewis mailto:Mark_Lewis&ccm.jf.intel.com +# [Mark_Lewis_2] Mark Lewis mailto:mark.h.lewis&intel.com +# [Mark_Lewis_3] Mark Lewis mailto:mark&surveillus.com +# [Mark_Lipford] Mark Lipford mailto:mark.a.lipford&sprint.com 2006-07 +# [Mark_Lottor] Mark Lottor mailto:MKL&nisc.sri.com +# [Mark_Lyall] Mark Lyall mailto:mark.lyall&madge.com +# [Mark_McCahill] Mark McCahill mailto:mpm&boombox.micro.umn.edu +# [Mark_McNamara] Mark McNamara mailto:markm&research.canon.com.au +# [Mark_Miller] Mark Miller mailto:markm&caplet.com +# [Mark_Miller_2] Mark Miller mailto:mmillerµsoft.com +# [Mark_Morris] Mark Morris mailto:mim&ermuk.com +# [Mark_Morwood] Mark Morwood mailto:markm&sentillion.com +# [Mark_Nijmeijer] Mark Nijmeijer mailto:Mark.Nijmeijer&citrix.com 2009-04-17 +# [Mark_O_Connell] Mark O'Connell mailto:oconnell_marka&emc.com 2008-12-04 +# [Mark_Parenti] Mark Parenti mailto:map&ntc.adaptec.com +# [Mark_Pearce] Mark Pearce mailto:Mark_A.._Pearce/AXON_Networks_Inc..@notes.axon.com +# [Mark_R_Ludwig] Mark R. Ludwig mailto:Mark-Ludwig&uai.com +# [Mark_S_Edwards] Mark S. Edwards mailto:marke&firefox.co.uk +# [Mark_Sapp] Mark Sapp mailto:mark.sapp&aionex.com 2006-04 +# [Mark_Sapsford] Mark Sapsford mailto:Mark_Sapsford&taligent.com +# [Mark_Schertler] Mark Schertler mailto:mjs&tycho.ncsc.mil +# [Mark_Schmatz] Mark Schmatz mailto:ditrios&markschmatz.de +# [Mark_Seuffert] Mark Seuffert mailto:captain2004&pirate.de 2004-11 +# [Mark_Simpson] Mark Simpson mailto:simpson¢erline.com +# [Mark_Stapp] Mark Stapp mailto:mjs&cisco.com 2006-01 +# [Mark_Stevens] Mark Stevens mailto:mstevens&ellacoya.com +# [Mark_Tim_Junghanns] Mark-Tim Junghanns mailto:mjunghanns&vangerow.de 2003-07 +# [Mark_Tirschwell] Mark Tirschwell mailto:mark.tirschwell&wallstreetsystems.com 2006-01 +# [Mark_Trostler] Mark Trostler mailto:trostler&juniper.net +# [Mark_Valence] Mark Valence mailto:kurash&sassafras.com +# [Mark_Wahl] Mark Wahl mailto:mark.wahl&informed-control.com 2005-11 +# [Mark_Windrim] Mark Windrim mailto:mark.windrim&infobright.com 2009-07-23 +# [Mark_Wood] Mark Wood mailto:mark.d.wood&kodak.com +# [Mark_Wooding] Mark Wooding mailto:mdw&distorted.org.uk 2007-07-10 +# [Mark_Zang] Mark Zang mailto:mark&zang.com +# [Mark_de_Rooi] Mark de Rooi mailto:derooi&xs4all.nl 2004-12 +# [Mark_mayernick] Mark mayernick mailto:Mark.Mayernick&thomson.net 2003-03 +# [Markku_Viima] Markku Viima mailto:markku.viima&team.icl.se +# [Marko_Bjelac] Marko Bjelac mailto:marko.bjelac&elma.hr 2010-06-10 +# [Marko_Kreen] Marko Kreen mailto:markokr&gmail.com 2009-02-13 +# [Markus_Brand] Markus Brand mailto:address-o-sync&slamslash.com +# [Markus_Loeffler] Markus Loeffler mailto:markus.loeffler&thomson.net 2009-02-17 +# [Markus_Michels] Markus Michels mailto:mmi&pmsmicado.com +# [Markus_Michels_2] Markus Michels mailto:mmi&cedros.com +# [Markus_Michels_3] Markus Michels mailto:markus.michels&cedros.com 2006-10 +# [Markus_Nix] Markus Nix mailto:mnix&docuverse.de 2005-08 +# [Markus_Sabadello] Markus Sabadello mailto:sabadello&startron.org +# [Markus_Sabadello_2] Markus Sabadello mailto:sabadello&starbot.org +# [Markus_Treinen] Markus Treinen mailto:markus.treinen&siemens.com 2006-02 +# [Marnus_Freeman] Marnus Freeman mailto:marnus&swistgroup.com 2006-02 +# [Marshall_Anschutz] Marshall Anschutz mailto:dnssd.tcode&icehousepro.us +# [Marshall_Rose] Marshall Rose mailto:mrose&dbc.mtview.ca.us +# [Martha_Crisson] Martha Crisson mailto:CRISSON&ralvm12.vnet.ibm.com +# [Martin_Bestmann] Martin Bestmann mailto:martin&datawatch.de +# [Martin_Bestmann_2] Martin Bestmann mailto:martin&no.netopia.com 2004-03 +# [Martin_Bestmann_3] Martin Bestmann mailto:martin&poleposition-sw.com 2005-08 +# [Martin_Burnicki] Martin Burnicki mailto:martin.burnicki&meinberg.de 2002-08 +# [Martin_Daly] Martin Daly mailto:martin.daly&cadcorp.com 2006-11 +# [Martin_Ellis] Martin Ellis mailto:martin&clanleagues.net 2004-11 +# [Martin_Forssen] Martin Forssen mailto:maf&appgate.com 2004-11 +# [Martin_Freiss] Martin Freiss mailto:freiss.pad&sni.de +# [Martin_Freiss_2] Martin Freiss mailto:freiss.pad@sni. +# [Martin_Hamilton] Martin Hamilton mailto:martin&mrrl.lut.as.uk +# [Martin_Kirk] Martin Kirk mailto:m.kirk&opengroup.org +# [Martin_Kochanski] Martin Kochanski mailto:martin&cardbox.co.uk +# [Martin_Leitner] Martin Leitner mailto:info&anton-paar.com 2004-06 +# [Martin_Lichtin] Martin Lichtin mailto:lichtin&oanda.com +# [Martin_Norman] Martin Norman mailto:martin&ndl.co.uk +# [Martin_Picard] Martin Picard +# [Martin_Pool] Martin Pool mailto:mbp&samba.org 2002-11 +# [Martin_Pool_2] Martin Pool mailto:mbp&canonical.com 2007-02 +# [Martin_Redington] Martin Redington mailto:mildm8nnered&gmail.com +# [Martin_Rostan] Martin Rostan mailto:m.rostan&beckhoff.com 2003-11 +# [Martin_Shoemaker] Martin Shoemaker mailto:shoemakerml&rapistan.com +# [Martin_Sustrik] Martin Sustrik mailto:sustrik&imatix.com 2007-03 +# [Martin_Technology] Martin Technology mailto:support&martian.com +# [Martin_Wehlou] J. Martin Wehlou Man In The Middle AB mailto:martin&mitm.se 2011-10-18 +# [Martin_West] Martin West mailto:Martin.West&spirit-soft.com +# [Martin_Ziskind] Martin Ziskind mailto:ziskind&us.ibm.com 2008-08-21 +# [Martine_Marchand] Martine Marchand tel:+16-1-46-59-24-84 +# [Marty_Batchelder] Marty Batchelder mailto:marty&capres.com +# [Marty_Borden] Marty Borden mailto:mborden&tollbridgetech.com +# [Marty_Campbell] Marty Campbell mailto:martycðosinfo.com 2011-06-10 +# [Marty_Lyons] Marty Lyons mailto:marty&aol.com +# [Marty_Schoffstahl] Marty Schoffstahl mailto:schoff&nisc.nyser.net +# [Martyn_Thomas] Martyn Thomas +# [Marvin_Shin] Marvin Shin mailto:president&medialingo.com +# [Marvin_Sirbu] Marvin Sirbu mailto:sirbu+&andrew.cmu.edu +# [Marvin_Solomon] Marvin Solomon mailto:solomon&cs.wisc.edu +# [Marvin_Toungate] Marvin Toungate mailto:toungate&austin.ibm.com +# [Mary_Ann_Burt] Mary Ann Burt mailto:bytex!ws054!maryann&uunet.uu.net +# [Mary_Holstage] Mary Holstage mailto:holstege&firstfloor.com +# [Mary_Holstege] Mary Holstege mailto:holstege&firstfloor.com +# [Mary_Miller] Mary Miller Sigma Designs, Inc. mailto:Mary_Miller&sigmadesigns.com 2012-11-08 +# [Masahiro_Koiwai] Masahiro Koiwai mailto:Koiwai.Masahiro&exc.epson.co.jp 2006-10 +# [Masakatsu_Matsuo] Masakatsu Matsuo mailto:masa&sdsft.kme.mei.co.jp +# [Masakuni_Okada] Masakuni Okada mailto:masakuni&jp.ibm.com +# [Masao_Iwai] Masao Iwai mailto:iwai&kel.fujitsu.co.jp +# [Masashi_Suzaki] Masashi Suzaki mailto:susakim&noa.nttdata.jp +# [Masato_Sato] Masato Sato mailto:satou203&oki.com 2006-05 +# [Massimiliano_Ribuoli] Massimiliano Ribuoli and mailto:support&address-o-matic.com +# Marco Stefani +# [Massimo_Cafaro] Massimo Cafaro mailto:massimo.cafaro&unile.it 2004-11 +# [Massive_Flow_Product] Massive Flow Productions mailto:info&massiveflow.de +# [Matahari_Project] Matahari Project mailto:matahari&lists.fedorahosted.org 2011-08-31 +# [Matej_Sekoranja] Matej Sekoranja mailto:matej.sekoranja&cosylab.com 2012-03-23 +# [Math_Game_House_Soft] Math Game House Software mailto:mathgamehouse&mac.com +# [Mathew_Pitchforth] Mathew Pitchforth mailto:mathew&adinstruments.co.nz 2005-08 +# [Mathieu_Garcia] Mathieu Garcia mailto:mathieu.garcia&intua.net +# [Mat_Henshall] Mat Henshall Square Connect, Inc. mailto:mat&squareconnect.com 2011-10-07 +# [Mats_Nilsson] Mats Nilsson mailto:mats.nilsson&xware.se 2002-02 +# [Matt_Bendiksen] Matt Bendiksen mailto:matt&perceptiveautomation.com 2004-11 +# [Matt_Cecile] Matt Cecile mailto:mattc&metrics.com +# [Matt_Christiano] Matt Christiano mailto:globes@matt&oliveb.atc.olivetti.com +# [Matt_Christiano_2] Matt Christiano mailto:matt&reprisesoftware.com 2008-07-28 +# [Matt_Christiano_3] Matt Christiano Reprise Software, mailto:matt&reprisesoftware.com 2012-11-06 +# [Matt_Craig] Matt Craig mailto:matt&luxology.com +# [Matt_Craighead] Matt Craighead mailto:matt.craighead&conifersystems.com 2008-09-11 +# [Matt_Eagar] Matt Eagar mailto:matt.eagar&thinkflood.com +# [Matt_Ferrari] Matt Ferrari XXT LLC mailto:xxt.matt&sbcglobal.net 2012-07-12 +# [Matt_Hammond] Matt Hammond mailto:matt_hammond&four-sight.co.uk +# [Matt_Jensen] Matt Jensen mailto:mattj&newsblip.com +# [Matt_King] Matt King mailto:m&manyone.net 2002-04 +# [Matt_Lachance] Matt Lachance mailto:matt&cs-live.com +# [Matt_Nowicki] Matt Nowicki mailto:nowickim&iasdirect.com 2003-10 +# [Matt_Patenaude] Matt Patenaude mailto:MattPat&mattpat.net +# [Matt_Rogers] Matt Rogers mailto:mrogers&firescope.com 2008-10-16 +# [Matt_Rollins] Matt Rollins mailto:matt&anybusiness.com +# [Matt_Timmermans] Matt Timmermans +# [Matthew_Asham] Matthew Asham mailto:matthewa&bcwireless.net +# [Matthew_Baker] Matthew Baker mailto:matt.baker&intermec.com +# [Matthew_Darwin] Matthew Darwin mailto:matthew.darwin&hp.com 2005-08 +# [Matthew_Ford] Matthew Ford mailto:Matthew.Ford&forward.com.au 2003-03 +# [Matthew_Gast] Matthew Gast Aerohive Networks mailto:mgast&aerohive.com 2012-05-31 +# [Matthew_Horoschun] Matthew Horoschun mailto:mhoroschun&canprint.com.au +# [Matthew_Lloyd] Matthew Lloyd mailto:mlloyd&google.com 2010-04-26 +# [Matthew_MacKenzie] Matthew MacKenzie mailto:mattm&adobe.com +# [Matthew_Orzen] Matthew Orzen mailto:standards&starquest.com +# [Matthew_Strange] Matthew Strange mailto:matt&qsatoolworks.com 2009-03-06 +# [Matthew_Thomas] Matthew Thomas mailto:mrthom&essex.ac.uk 2008-01-07 +# [Matthew_Whited] Matthew Whited mailto:matt&thedotnetfactory.com 2008-01-16 +# [Matthew_Williams] Matthew Williams mailto:SPCsd_MWDD&hotmail.com +# [Matthias_Burghardt] Matthias Burghardt mailto:m.burghardt&x-on.de +# [Matthias_Riese] Matthias Riese mailto:Matthias.Riese&b-novative.de +# [Matthias_Schroer] Matthias Schroer mailto:matthias.schroer&invision.de +# [Matthias_Trute] Matthias Trute mailto:mtrute&web.de 2007-01 +# [Matthieu_Lachance] Matthieu Lachance mailto:matthieu.lachance&openwave.com +# [Matti_Salmi] Matti Salmi mailto:matti.salmi&nokia.com 2002-08 +# [Maurice_R_Turcotte] Maurice R. Turcotte mailto:mailrus!uflorida!rm1!dnmrt%25rmatl@uunet.uu.net +# [Max_Fudim] Max Fudim mailto:fudim&virtue3d.com +# [Max_Magliaro] Max Magliaro mailto:mmagliaro&bnisolutions.com 2004-11 +# [Max_Masyutin] Max Masyutin mailto:max&ritlabs.com +# [Max_Morris] Max Morris mailto:maxmµsoft.com +# [Maxim_Tseitlin] Maxim Tseitlin mailto:mtseitlin&iname.com +# [Maxime_Belanger] Maxime Belanger mailto:R173&hec.ca +# [Maxime_Deputter] Maxime Deputter mailto:m.deputter&ionixhosting.com 2006-04 +# [Maxine_Yuen] Maxine Yuen mailto:maxine&hq.ncube.com +# [Maya_Zimerman] Maya Zimerman mailto:mayaz&radware.co.il +# [Mayank_Vasa] Mayank Vasa mailto:mayank_vasa&symantec.com 2008-04-03 +# [Maziar_Tamadon] Maziar Tamadon mailto:maziar.tamadon&emulex.com 2007-11-06 +# [Mediatap_GbR] Mediatap GbR mailto:info&audiotapapp.com 2011-10-11 +# [MegaZone] MegaZone mailto:megazone&paycash.us 2005-08 +# [Megan_Woods] Megan Woods mailto:meganwoods&datafast.net.au +# [Meggie_Garica_Woodru] Meggie Garica-Woodruff mailto:ipulse&ericsson.com +# [Mehrdad_Ashtiani] Mehrdad Ashtiani mailto:mashtiani&ieeinc.com 2009-10-19 +# [Meindert_Sprang] Meindert Sprang mailto:ms&customware.nl 2009-02-18 +# [Mel_Oyler] Mel Oyler mailto:mel&novell.com +# [Melanie_Kacerek] Melanie Kacerek mailto:melanie.kacerek&quest.com 2008-12-16 +# [Melinda_Shore] Melinda Shore mailto:mshore&cisco.com 2006-05 +# [Melinda_Tsao] Melinda Tsao mailto:melinda&tpe1.sercomm.com.tw +# [Melinda_Tsao_2] Melinda Tsao mailto:melinda_tsao&mail.sercomm.com.tw +# [Menno_Zweistra] Menno Zweistra mailto:m.zweistra&metatude.com +# [Metod_Celestina] Metod Celestina IMS merilni sistemi mailto:metod.celestina&ims.si 2012-08-24 +# [Micha_Ben_Efraim] Micha Ben-Efraim mailto:benmi07&ca.com 2008-01-07 +# [Micha_Ben_Efraim_2] Micha Ben-Efraim mailto:micha&metalix.net 2011-01-31 +# [Micha_Ben_Efraim_3] Micha Ben-Efraim mailto:micha.ben-efraim&ca.com 2010-02-18 +# [Micha_Ben_Efraim_4] Micha Ben-Efraim mailto:micha&metalix.net 2012-11-27 +# [Michael_Agishtein] Michael Agishtein mailto:misha&unx.dec.com +# [Michael_Alyn_Miller] Michael Alyn Miller mailto:iana&aeolon.com +# [Michael_Andre] Michael Andre mailto:mandre>s-tkts.com +# [Michael_Andre_2] Michael Andre mailto:mandre&gatewayticketing.com 2007-10-04 +# [Michael_Battilana] Michael Battilana mailto:mcb-iana&cloanto.net 2010-04-30 +# [Michael_Benz] Michael Benz mailto:michael.benz&lsi.com 2010-08-06 +# [Michael_Berg] Michael Berg mailto:mike&dataapples.com 2005-08 +# [Michael_Bishop] Michael Bishop mailto:mbishop&fishnetsecurity.com +# [Michael_Boyle] Michael Boyle mailto:michaelboyle&smarttech.com +# [Michael_Cahill] Michael Cahill mailto:Michael.Cahill&bullant.net +# [Michael_Cartmel] Michael Cartmel Lumicom mailto:michael.cartmel&lumicom.com.au 2013-02-07 +# [Michael_Chapman] Michael Chapman mailto:mchapman&fortresstech.com 2004-11 +# [Michael_Chirila] Michael Chirila mailto:Michael.Chirila&softwareag.com 2006-01 +# [Michael_Collins] Michael Collins mailto:UBMCollins&aol.com +# [Michael_Coon] Michael Coon mailto:michael&thecube.com +# [Michael_Crawford] Michael Crawford mailto:MichaelC&dev.travsoft.com +# [Michael_Crawford_2] Michael Crawford mailto:michaelc&travsoft.com +# [Michael_Dalpiaz] Michael Dalpiaz mailto:Michael.Dalpiaz&sirona.com +# [Michael_Daniele] Michael Daniele mailto:michael.daniele&syamsoftware.com 2003-11 +# [Michael_Dasenbrock] Michael Dasenbrock mailto:dasenbro&apple.com +# [Michael_DeMoney] Michael DeMoney mailto:demoney&eng.sun.com +# [Michael_Demmer] Michael Demmer mailto:demmer&cs.berkeley.edu 2006-11 +# [Michael_Dodge] Michael Dodge mailto:sarge¢erspan.com +# [Michael_Douglass] Michael Douglass mailto:mikedoug&datafoundry.net +# [Michael_Durrant] Michael Durrant Arcturus Networks mailto:mdurrant&arcturusnetworks.com 2011-10-20 +# [Michael_Elizarov] Michael Elizarov mailto:Michael.Elizarovµsoft.com 2007-01 +# [Michael_Fischer] Michael Fischer mailto:otterley&pass.com +# [Michael_Fischer_2] Michael Fischer tel:+49-531-21-13-0 +# [Michael_Fread] Michael Fread Nexum, Inc. mailto:mfread&nexuminc.com 2012-09-21 +# [Michael_Friedman] Michael Friedman mailto:mfr1&worldnet.att.net +# [Michael_Ginn] Michael Ginn mailto:ginn&tyxar.com +# [Michael_Gleicher] Michael Gleicher mailto:mgleicher&comcast.net +# [Michael_Haeuptle] Michael Haeuptle mailto:Michael_Haeuptle&hp.com +# [Michael_Hunter] Michael Hunter mailto:mphunter&qnx.com +# [Michael_J_Hoy] Michael J Hoy mailto:mhoy&canberra-abq.com +# [Michael_J_Primeaux] Michael J Primeaux mailto:michael.primeaux&renkara.com +# [Michael_Karagosian] Michael Karagosian mailto:michael.karagosian&mkpe.com 2008-09-04 +# [Michael_Khalandovsky] Michael Khalandovsky mailto:mlk&epicon.com +# [Michael_King] Michael King mailto:mike.king&pvxplus.com 2006-07 +# [Michael_Lacher] Michael Lacher HLW Software mailto:michael.lacher&hlw.co.at 2011-10-11 +# [Michael_Landwehr] Michael Landwehr mailto:mikel&precisesoft.co.il +# [Michael_Lanzetta] Michael Lanzetta mailto:hagbard&ultimatech.com +# [Michael_Lekias] Michael Lekias mailto:admin&psdesign.com.au +# [Michael_Levy] Michael Levy mailto:ml&nh.ca +# [Michael_Lyle] Michael Lyle mailto:protocols&translattice.com 2009-11-03 +# [Michael_Marking] Michael Marking mailto:marking&tatanka.com +# [Michael_Marks] Michael Marks mailto:marks_michael&emc.com +# [Michael_McDaniels] Michael McDaniels Extreme Networks Inc mailto:mmcdaniels&extremenetworks.com 2008-05-01 +# [Michael_McNabb] Michael McNabb mailto:michael&aquaminds.com 2005-10 +# [Michael_Mealling] Michael Mealling mailto:michaelm&netsol.com +# [Michael_Mealling_2] Michael Mealling mailto:michael&refactored-networks.com 2005-08 +# [Michael_Melio] Michael Melio mailto:meliomd&comcast.net 2003-10 +# [Michael_Mester] Michael Mester mailto:mmester&cymtec.com +# [Michael_Monasterio] Michael Monasterio mailto:michael&wmsoftware.com +# [Michael_Muth] Michael Muth mailto:m.muth&tec5.com 2009-05-11 +# [Michael_O_Brien] Michael O'Brien mailto:mobrien02&comcast.net 2003-03 +# [Michael_O_Connor] Michael O'Connor mailto:moconnor&adobe.com +# [Michael_Paddon] Michael Paddon mailto:michael.paddon&activesky.com 2002-07 +# [Michael_Padrezas] Michael Padrezas mailto:mpaderzas&bluelance.com +# [Michael_Purser] Michael Purser mailto:mrp&mincom.com 2006-06 +# [Michael_R_Pizolato] Michael R. Pizolato mailto:michael&afs.com +# [Michael_R_Young] Michael R. Young mailto:michael.young&tor.sunpub.com +# [Michael_Rathmann] Michael Rathmann mailto:rathmann_ia&milesinfo.com +# [Michael_Richardson] Michael Richardson mailto:mcr&sandelman.ca 2011-02-08 +# [Michael_S_Amirault] Michael S Amirault mailto:ambi&world.std.com +# [Michael_S_Bogovich] Michael S. Bogovich mailto:info&burnthebox.us +# [Michael_S_Greenberg] Michael S. Greenberg mailto:arnoff&ftp.com +# [Michael_Scarito] Michael Scarito mailto:ms&mit.edu 2007-02 +# [Michael_Schmidt] Michael Schmidt mailto:mmaass&us.ibm.com +# [Michael_Schonborn] Michael Schoenborn T-Mobile mailto:michael.schoenborn&t-mobile.net 2009-09-11 +# International AG +# [Michael_Settles] Michael Settles mailto:michael.settles&verizon.net 2002-03 +# [Michael_Sharpe] Michael Sharpe mailto:iana-ports&netiq.com 2010-09-14 +# [Michael_Shearson] Michael Shearson mailto:mshearson&peerglobal.com +# [Michael_Shearson_2] Michael Shearson mailto:mikes&softsys-inc.com +# [Michael_Sparks] Michael Sparks mailto:msparks&telequiplabs.com 2002-06 +# [Michael_Spratte] Michael Spratte mailto:michael.spratte&compaq.com +# [Michael_Stein] Michael Stein mailto:mvs&apple.com +# [Michael_Swan] Michael Swan mailto:swan&neon.com 2004-04 +# [Michael_Sweet] Michael Sweet mailto:msweet&ctr.nawcad.navy.mil +# [Michael_Tennefoss] Michael Tennefoss mailto:mtennefoss&echelon.com +# [Michael_Thesing] Michael Thesing mailto:michael.thesing&acsatlanta.com +# [Michael_Thomason] Michael Thomason mailto:mthomason&gmail.com +# [Michael_Toth] Michael Toth mailto:iana&spiralcraft.com 2002-03 +# [Michael_Ubell] Michael Ubell mailto:michael&montage.com +# [Michael_Walsh] Michael Walsh mailto:mww&warwick.net +# [Michael_Werski] Michael Werski mailto:michael.werski&azeti.net 2010-02-18 +# [Michael_Whiteley] Michael Whiteley mailto:michael&whiteley.com 2003-04 +# [Michael_Wood] Michael Wood mailto:wood&althea.hks.com +# [Michael_Yip] Michael Yip mailto:Michael.Yip&alcatel.com +# [Michael_Yun] Michael Yun mailto:cinnanda&gmail.com 2007-10-24 +# [Michael_Zirpel] Michael Zirpel mailto:mbz&rvscom.com +# [Michael_Zunke] Michael Zunke mailto:michael.zunke&ealaddin.com 2010-07-23 +# [Michael_Zunke_2] Michael Zunke mailto:Michael.Zunke&ealaddin.com 2010-07-23 +# [Michaela_Vanderveen] Michaela Vanderveen mailto:mvandervn&yahoo.com 2007-02 +# [Michel_Bourget] Michel Bourget mailto:michel&sgi.com 2009-01-06 +# [Michel_Stam] Michel Stam HaloteC Instruments mailto:michel.stam&halotec.com 2012-02-07 +# [Michel_Stam_2] Michel Stam mailto:michel.iana&reverze.net 2012-11-20 +# [Micromat] Micromat mailto:supportµmat.com +# [Microsoft_Corporation] Microsoft Corporation mailto:pratsharµsoft.com 2011-08-04 +# [Microsoft_Corporation_2] Microsoft Corporation mailto:stdsreqµsoft.com 2012-03-15 +# [Microsoft_Corporation_3] Microsoft Corporation mailto:sachinsµsoft.com 2012-06-27 +# [Microtec_Informatique] Microtec Informatique mailto:raphµtec.fr 2012-03-15 +# [MIDI_Manufacturers_Assoc_Inc] MIDI Manufacturers mailto:info&midi.org 2011-11-14 +# Assoc Inc +# [Miguel_Angel_Fernand] Miguel Angel Fernandez mailto:mafg&tid.es +# [Miguel_Angel_Garcia] Miguel Angel Garcia mailto:Miguel.A.Garcia&ericsson.com +# [Mike_Accetta] Mike Accetta mailto:MIKE.ACCETTA&cmu-cs-a.edu +# [Mike_Alexander] Mike Alexander mailto:mta&um.cc.umich.edu +# [Mike_Balch] Mike Balch mailto:mbalch&teltone.com +# [Mike_Barthelemy] Mike Barthelemy mailto:msb&chromagrafx.com +# [Mike_Bello] Mike Bello mailto:mbello&zarak.com +# [Mike_Bernadett] Mike Bernadett mailto:mjbernadett&sbcglobal.net 2010-06-03 +# [Mike_Berrow] Mike Berrow +# [Mike_Bert] Mike Bert mailto:BERG_MIKE&tandem.com +# [Mike_Bombich] Mike Bombich mailto:bombich&apple.com +# [Mike_Brady] Mike Brady mailto:brady&cs.tcd.ie +# [Mike_Bush] Mike Bush mailto:mike.bush&allenvanguard.com +# [Mike_Clise] Mike Clise mailto:mikec&instantservice.com +# [Mike_Colagrosso] Mike Colagrosso mailto:ciao&ciaoapp.com 2011-10-24 +# [Mike_Cooper] Mike Cooper mailto:mcooper&magnicomp.com 2003-03 +# [Mike_Courterier] Mike Courterier mailto:mikec&deerfield.com +# [Mike_Craft] Mike Craft mailto:mcraft&cerner.com 2008-01-29 +# [Mike_Delgrosso] Mike Delgrosso mailto:mdelgros&tripplite.com 2003-01 +# [Mike_Delgrosso_2] Mike Delgrosso mailto:Mike_Delgrosso&tripplite.com 2007-07-02 +# [Mike_Dolan] Mike Dolan mailto:MDolan&ihcmail.ih.lucent.com +# [Mike_Dyslin] Mike Dyslin mailto:mike.dyslin&hp.com 2006-08 +# [Mike_Flemming] Mike Flemming mailto:mf&xnet.com +# [Mike_Gagle] Mike Gagle mailto:MikeG&inter-intelli.com +# [Mike_Gagle_2] Mike Gagle mailto:mikeg&inin.com 2006-05 +# [Mike_Goddard] Mike Goddard mailto:mike.goddard&ardent.com.au +# [Mike_Gossett] Mike Gossett mailto:mike&omnibond.com 2002-04 +# [Mike_Gregory] Mike Gregory mailto:Gregory_Mike&msmail.iipo.gtegsc.com +# [Mike_Harris] Mike Harris Adobe Systems Inc. mailto:mikeharr&adobe.com 2012-04-17 +# [Mike_Heins] Mike Heins mailto:mike&minivend.com +# [Mike_Horowitz] Mike Horowitz mailto:mah&shiva.com +# [Mike_Hudack] Mike Hudack mailto:mike&mhudack.com +# [Mike_Irani] Mike Irani mailto:irani_mike&bah.com 2002-10 +# [Mike_Irani_2] Mike Irani mailto:irani&spawar.navy.mil 2003-06 +# [Mike_Jackson] Mike Jackson mailto:mhjack&tscnet.com +# [Mike_King] Mike King mailto:mike.king&pvxplus.com 2009-11-09 +# [Mike_Klein] Mike Klein mailto:m.klein&motorla.com 2002-02 +# [Mike_Little] Mike Little mailto:mike.little&gdc4s.com +# [Mike_Marshburn] Mike Marshburn mailto:paul&softarc.com +# [Mike_McCauley] Mike McCauley mailto:mikem&open.com.au 2005-05 +# [Mike_Morgan] Mike Morgan mailto:mmorgan&lucent.com +# [Mike_Morris] Mike Morris mailto:mike.morris&amx.com +# [Mike_Nuss] Mike Nuss mailto:mike&terascala.com +# [Mike_O_Brien] Mike O'Brien mailto:mike&mobrien.com 2004-11 +# [Mike_Pontillo] Mike Pontillo mailto:pontillo&hp.com 2003-08 +# [Mike_Rieker] Mike Rieker mailto:mikea&sp32.com +# [Mike_Rodbell] Mike Rodbell mailto:mrodbell&ciena.com +# [Mike_Sample] Mike Sample Global Relay mailto:Michael.Sample&GlobalRelay.net 2012-11-28 +# [Mike_Sherrill] Mike Sherrill mailto:sherrill&commvault.com +# [Mike_Spitzer] Mike Spitzer mailto:mjs&polyserve.com 2005-08 +# [Mike_St_Johns] Mike St. Johns mailto:stjohns&arpa.mil +# [Mike_Turley] Mike Turley mailto:turley&symplex.com +# [Mike_Velten] Mike Velten mailto:Mike_Velten&liebert.com +# [Mike_Velten_2] Mike Velten mailto:mike.Velten&liebert.com 2002-03 +# [Mike_Wray] Mike Wray mailto:mjw&hplb.hpl.hp.com +# [Mike_Wright] Mike Wright DIFUSI, Inc. mailto:mike&adnodes.co 2011-11-07 +# [Mike_Yenco] Mike Yenco mailto:mike¥co.com +# [Mike_Young] Mike Young mailto:myong&netattach.com +# [Mikhail_Belov] Mikhail Belov mailto:mikhail&imrgold.com 2002-02 +# [Mikhail_Kruk] Mikhail Kruk mailto:mkruk&biscom.com +# [Milton_E_Sagen] Milton E. Sagen mailto:msagen&extensis.com +# [Milton_Pulis] Milton Pulis mailto:toothpic&fastq.com +# [Milton_Sagen] Milton Sagen mailto:msagen&extensis.com +# [MINDARRAY_SYSTEMS] MINDARRAY SYSTEMS (P) mailto:info&mindarraysystems.com 2011-10-25 +# [Ming_Jen_Chen] Ming-Jen Chen mailto:mjchen&trendchip.com.tw 2002-09 +# [Ming_Poon] Ming Poon mailto:mingp&corel.ca +# [Ming_Xu] Ming Xu mailto:ming&veritas.com +# [Ming_Zhang] Ming Zhang mailto:mzhang&cisco.com 2010-02-04 +# [Minoru_Ozaki] Minoru Ozaki mailto:Minoru.Ozaki&rdmg.mgcs.mei.co.jp +# [Mircea_Neacsu] Mircea Neacsu mailto:mircea&hypack.com 2011-10-27 +# [Miriam_Wohlgelernter] Miriam Wohlgelernter mailto:miriamw&adirtech.com +# [Mitch_Kaufman] Mitch Kaufman mailto:mk&weconnectyou.com +# [Mitchell_Bass] Mitchell Bass mailto:mitch&integrasolv.com 2005-08 +# [MITM] Man In The Middle AB mailto:martin&mitm.se 2011-10-18 +# [Mitra] Mitra mailto:mitra&earth.path.net +# [Mitsuji_Toda] Mitsuji Toda mailto:toda&mmedia.mci.mei.co.jp +# [Mitsuo_Kodama] Mitsuo Kodama mailto:kodama&jbmia.or.jp 2005-06 +# [Miva_Corporation] Miva Corporation mailto:jwoods&miva.com.au +# [Mogeneti] Mogeneti mailto:serveradmin&mogeneti.com 2012-09-26 +# [Mohsen_Banan] Mohsen Banan mailto:mohsen&rostam.neda.com +# [Mohsen_Banan_2] Mohsen Banan mailto:mohsen&neda.com +# [Moises_E_Hernandez] Moises E. Hernandez mailto:moises&accugraph.com +# [Montgomery_Zukowski] Montgomery Zukowski mailto:monty&nextnorth.acs.ohio-state.edu +# [Monty] Monty mailto:monty&analytikerna.se +# [Moon_Ho_Chung] Moon Ho Chung mailto:mchung&esps.com +# [Morega_System] Morega Systems Inc. mailto:atahir&morega.com 2012-08-20 +# [Morgan_Doyle] Morgan Doyle mailto:morgan&mpt.ie +# [Morgan_Jones] Morgan Jones mailto:mwj&cyasolutions.com +# [Moritz_Schmale] Moritz Schmale mailto:narrow.m&gmail.com 2011-10-07 +# [Morten_Christensen] Morten Christensen mailto:mjc&exbit.dk +# [Morten_Mertner] Morten Mertner mailto:mm&audiojuggler.com 2002-11 +# [Morteza_Kalhour] Morteza Kalhour mailto:Morteza.Kalhour&nokia.com 2002-02 +# [Mosha_Pasumansky] Mosha Pasumansky mailto:moshapµsoft.com +# [Moshe_Beeri] Moshe Beeri mailto:moshe&whale-com.com +# [Moshe_Leibovitch] Moshe Leibovitch mailto:moshe&softlinkusa.com +# [Moshe_Livne] Moshe Livne mailto:moshe&softlinkusa.com +# [Motorola_Solutions_Inc] Motorola Solutions, mailto:jenish&motorolasolutions.com 2012-03-14 +# [Murali_Ranganathan] Murali Ranganathan mailto:murali_ranganathan&quickmail.apple.com +# [Murray_Freeman] Murray Freeman mailto:murray&officedomain.com +# [Murthy_Parthasarathi] Murthy Parthasarathi mailto:pvmurthy&effigent.com +# [Murthy_Srinivas] Murthy Srinivas mailto:murthy&novell.com +# [Muscarella_Fabrizio] Muscarella Fabrizio mailto:fabrizio.muscarella&sap.com 2006-04 +# [Muse_Communications] Muse Communications mailto:howard&muse3d.com +# Corporation +# [Myk_Willis] Myk Willis mailto:myk.willis&citrix.com +# [Myron_Hattig] Myron Hattig mailto:Myron_Hattig&ccm.jf.intel.com +# [NLnet_Labs_Support] NLnet Labs Support NLnet Labs mailto:support&nlnetlabs.nl 2011-07-11 +# [n-Count_Technology_BV] n-Count Technology mailto:ncount&dejongfrz.nl 2013-01-22 +# [Nancy_Davoust] Nancy Davoust mailto:n.davoust&cablelabs.com +# [Nand_Kumar] Nand Kumar mailto:nkumar&triquest-da.com +# [Naoki_Hayashi] Naoki Hayashi mailto:ha&fjh.se.fujitsu.co.jp +# [Narain_Jagathesan] Narain Jagathesan mailto:narain.jagathesan&oracle.com 2003-11 +# [Narasimha_Rao_N] Narasimha Rao N. mailto:nnarasimharao&novell.com +# [Narayanan_Raju] Narayanan Raju mailto:narayanan.raju&hp.com 2009-02-05 +# [Natarajan_Balasundar] Natarajan Balasundara mailto:rajan&ipanoramii.com +# [Nate_Rivard] Nate Rivard mailto:nrivard&cc.gatech.edu +# [Nathan_Hammond] Nathan Hammond mailto:nathan.hammond&stonebranch.com 2005-10 +# [Nathan_Sadia] Nathan Sadia mailto:sadia&maincontrol.com +# [National_Instruments] National Instruments mailto:joshua.prewitt&ni.com 2011-10-24 +# National Marine +# [National_Marine_Electronics_Association] Electronics mailto:sspitzer&nmea.org 2011-09-15 +# [Navtech_Radar_Ltd] Navtech Radar mailto:network.admin&navtechradar.com 2013-02-20 +# [Neal_Taylor] Neal Taylor mailto:ianareg&apani.com +# [Nedelcho_Stanev] Nedelcho Stanev mailto:nstanev&csoft.bg +# [Nedelcho_Stanev_2] Nedelcho Stanev mailto:decho&csoft.bg +# [Nedelcho_Stanev_3] Nedelcho Stanev mailto:decho&iname.com +# [Neel_A_Bhatt] Neel A. Bhatt Symantec Corp mailto:neel_bhatt&symantec.com 2012-01-03 +# [Neer_Kleinman] Neer Kleinman mailto:neer&qsr.co.il +# [NEGU_Soft] NEGU Soft mailto:info&negusoft.com 2012-09-10 +# [Neil_Coggins] Neil Coggins mailto:neil.coggins&6thsight.com 2006-07 +# [Neil_Salter] Neil Salter mailto:neil&indigo2.mvel.demon.co.uk +# [Neo_Technology_Inc] Neo Technology, Inc mailto:admins&neotechnology.com 2013-02-08 +# [Nestor_A_Diaz] Nestor A. Diaz mailto:nestor&tiendalinux.com 2009-05-12 +# [NetOp_Technical_Supp] NetOp Technical Support mailto:support&danware.dk +# [Nevil_Brownlee] Nevil Brownlee mailto:n.brownlee&auckland.ac.nz 2006-10 +# [Nexenta] John S. Howard Nexenta mailto:jsh&nexenta.com 2012-12-07 +# [NexStor_India_Limite] NexStor India Limited mailto:next&nda.vsnl.net.in +# [NextDay_Aps] NextDay Aps mailto:nextday&infinite-loop.dk 2012-04-24 +# [Nexum] Nexum, Inc. mailto:mfread&nexuminc.com 2012-09-21 +# [Niall_Hogg] Niall Hogg mailto:niall.hogg&interamics.com 2011-10-25 +# [Niall_Murphy] Niall Murphy mailto:niallm&orca.ucd.ie +# [Nic_Catrambone] Nic Catrambone mailto:ncatramb&us.ibm.com 2003-01 +# [Nicholas_Chua] Nicholas Chua mailto:nick&sendit.se +# [Nicholas_Davies] Nicholas Davies mailto:N.Davies&globalcomm.co.uk +# [Nicholas_J_Howes] Nicholas J Howes mailto:nick&ghostwood.org +# [Nicholas_Stowfis] Nicholas Stowfis mailto:nstowfis&esps.com +# [Nicholas_Young] Nicholas Young mailto:ntchkd&gmail.com 2008-07-10 +# [Nick_Austin] Nick Austin mailto:ogmion&ogmium.com +# [Nick_Barendt] Nick Barendt mailto:nbarendt&vxitech.com 2005-08 +# [Nick_Barendt_2] Nick Barendt mailto:nbarendt&vxitech.com +# [Nick_Barendt_3] Nick Barendt mailto:nbarendt&vxitech.com +# [Nick_Brosnahan] Nick Brosnahan mailto:nbrosnahan&apple.com +# [Nick_Connor] Nick Connor mailto:nickc&assuria.com 2010-06-30 +# [Nick_Emery] Nick Emery mailto:Nick.Emery&altavista.digital.com +# [Nick_Holt] Nick Holt mailto:nickh&purenetworks.com 2005-08 +# [Nick_Plante] Nick Plante mailto:nplante&dmod.com +# [Nick_Shipman] Nick Shipman mailto:Nick.Shipman&mrmog.reo.dec.com +# [Nick_Stephen] Nick Stephen mailto:nick.stephen&sun.com 2005-08 +# [Nick_Straguzzi] Nick Straguzzi mailto:Nick_Straguzzi&akbs.com +# [Nick_Warrington] Nick Warrington mailto:nick.warrington&paconsulting.com 2006-03 +# [Nick_Woronuk] Nick Woronuk mailto:nick.woronuk&megasys.com +# [Nick_de_Smith] Nick de Smith mailto:nick&desmith.net +# [Nicola_J_Howarth] Nicola J. Howarth mailto:njh&ansa.co.uk +# [Nicolas_Bouilleaud] Nicolas Bouilleaud mailto:nbouilleaud&lacie.com +# [Nicolas_Payette] Nicolas Payette mailto:payetten&trivialtechnology.com +# [Nicolas_Pouillon] Nicolas Pouillon Freebox SAS mailto:npouillon&freebox.fr 2012-12-14 +# [Nicolas_Williams] Nicolas Williams mailto:Nicolas.Williams&oracle.com 2010-08-09 +# [Nicole_C_Ouellette] Nicole C. Ouellette mailto:nouellette&connected.com 2004-02 +# [Niels_Castle] Niels Castle mailto:castle&castleandersen.dk +# [Niels_Christiansen] Niels Christiansen mailto:nchris&austin.ibm.com +# [Nigel_Groves] Nigel Groves mailto:nigel.groves&ca.com 2006-06 +# [Nigel_Stephens] Nigel Stephens mailto:nigel&algor.co.uk +# [Nigel_Warren] Nigel Warren mailto:info&flyobjectspace.com 2009-02-12 +# [Niklas_Weiss] Niklas Weiss mailto:n.weiss&d-trust.net 2004-11 +# [Nikolaus_Gerteis] Nikolaus Gerteis mailto:ngerteis&apple.com +# [Nils_Durner] Nils Durner SOFTPRO GmbH mailto:Nils.Durner&softpro.de 2012-07-19 +# [Nimrod_Diamant] Nimrod Diamant mailto:nimrod.diamant&intel.com 2005-02 +# [Nine_Technology_LLC] Nine Technology, LLC mailto:astoev&ninetechnology.com 2011-08-01 +# [Nir_Baroz] Nir Baroz mailto:nbaroz&encore.com +# [Nitin_Gupta] Nitin Gupta mailto:nguptµsoft.com 2008-12-24 +# [Nitza_Steinberg] Nitza Steinberg mailto:nitza&isd.3com.com +# [Nitzan_Daube] Nitzan Daube mailto:nitzan&brm.com +# [Noah_Paul] Noah Paul mailto:noahp&altavista.net +# [Noah_Paul_2] Noah Paul mailto:noahp&ultranet.com +# [Noah_Slater] Noah Slater mailto:nslater&bytesexual.org 2007-11-27 +# [Noam_Rimon] Noam Rimon mailto:noam.rimon&playstation.sony.com 2004-12 +# [Noor_Chowdhury] Noor Chowdhury mailto:noor&hypercom.com +# [Norbert_Kintzler] Norbert Kintzler mailto:NKintzler&easy-soft-dresden.de 2004-11 +# [Norbert_Sendetzky] Norbert Sendetzky mailto:norbert&linuxnetworks.de +# [Norival_Figueira] Norival Figueira mailto:nfigueir&brocade.com 2010-04-07 +# [Norm_Freedman] Norm Freedman mailto:normfree&san.rr.com 2003-08 +# [Norm_Freedman_2] Norm Freedman mailto:normfree&worldnet.att.net +# [Norm_Lunde] Norm Lunde mailto:norm&commvault.com 2004-11 +# [Norman_Brie] Norman Brie mailto:norm_brie&sns.ca +# [Norman_Wilson] Norman Wilson mailto:nwilson&programmar.com 2010-10-06 +# [Northon_Rodrigues] Northon Rodrigues mailto:northon.rodrigues&thomson.net 2004-02 +# [Notable_Solutions_Inc] Notable Solutions, mailto:dev&nsius.com 2011-09-01 +# [NovaWiz_LTD] NovaWiz LTD mailto:Moshe&novawiz.com +# [Nuance_Communications_Inc] Nuance mailto:Mark.Jackson&nuance.com 2011-10-27 +# [Nuance_Communications_Inc2] Nuance Communications mailto:NOD_SolutionsArchitecture&nuance.com 2012-10-05 +# [OASIS_KMIP_Technical_Committee] OASIS KMIP Technical mailto:robin&oasis-open.org 2011-07-25 +# Committee +# [OC] OC mailto:ocs&ocs.cz +# [Object_Matrix] Object Matrix mailto:support&object-matrix.com +# [Objective_Decision] Objective Decision mailto:od4contact&objective-decision.com +# [Oblamatik_AG] Oblamatik AG mailto:info&oblamatik.ch 2012-09-05 +# [OCA_Alliance] OCA Alliance mailto:tina.lipscomb&oca-alliance.com 2012-10-11 +# [Odo_Maletzki] Odo Maletzki mailto:Odo.Maletzki&ioag.de +# [Oishi_Toshiaki] Oishi Toshiaki SEIKO EPSON mailto:Oishi.Toshiaki&exc.epson.co.jp 2002-02 +# [Ola_Sandstrom] Ola Sandstrom mailto:ola.sandstrom&anoto.com 2003-03 +# [Ola_Strandberg] Ola Strandberg mailto:Ola.Strandberg&pharmasoft.se +# [Ole_Hellevik] Ole Hellevik mailto:oleh&interlinq.com +# [Ole_Morten_Duesund] Ole-Morten Duesund mailto:ole-morten.duesund&bbvisuals.no +# [Oleg_Noskov] Oleg Noskov mailto:olegn&corelcomputer.com +# [Oleksandr_Zakharchuk] Oleksandr Zakharchuk mailto:zakharchuk&dialogtech.com +# [Oliver_Anan] Oliver Anan mailto:oliver&ananit.de 2010-09-02 +# [Oliver_Bailey] Oliver Bailey mailto:zzf66jjlm&time-lines.com 2003-01 +# [Oliver_Heinz] Oliver Heinz mailto:heinz&arago.de 2005-08 +# [Oliver_Korfmacher] Oliver Korfmacher mailto:okorf&netcs.com +# [Oliver_Lewis] Oliver Lewis mailto:o.lewis&icerobotics.co.uk 2006-08 +# [Oliver_Thulke] Oliver Thulke mailto:oth&ratio.de +# [Olivier_Delecluse] Olivier Delecluse mailto:odelecluse&intego.com +# [Olivier_Guezenec] Olivier Guezenec mailto:olivier.guezenec&cogilab.com 2006-12 +# [Olivier_Mascia] Olivier Mascia mailto:om&tipgroup.com +# [Olivier_St-Laurent] Olivier St-Laurent Galaxy4D Online Game mailto:admin&galaxy4d.com 2012-06-18 +# [One_Laptop_per_Child] One Laptop per mailto:devel&lists.laptop.org +# Child/Collabora Ltd. +# [Open_Mobile_Alliance] Open Mobile Alliance mailto:Technical-Comments&mail.openmobilealliance.org 2011-08-19 +# Open Mobile Alliance +# [Open_Mobile_Alliance_Device_Management_DM_Working_Group] Device Management (DM) mailto:Technical-Comments&mail.openmobilealliance.org 2011-08-19 +# Working Group +# [OpenMail_Encyclopedi] OpenMail Encyclopedia mailto:opencyc&hpopd.pwd.hp.com +# [OpenRemote_Inc] OpenRemote, Inc. mailto:juha&openremote.org 2012-12-18 +# [OPNET_Technologies_Inc] OPNET Technologies mailto:tmacomber&opnet.com 2011-09-21 +# [Oracle] Oracle Corporation mailto:Devjani.Ray&oracle.com 2012-04-20 +# [Oran_Davis] Oran Davis mailto:oran&8x8.com +# [Orazio_Granato] Orazio Granato mailto:og&wsbgrd01.italy.hp.com +# [Oren_Hurvitz] Oren Hurvitz mailto:oren&omnisky.com +# [Oren_Trutner] Oren Trutner mailto:orentrutµsoft.com 2003-08 +# [Ori_Yosefi] Ori Yosefi mailto:Ori.Yosefiµsoft.com 2009-05-04 +# [Oriol_Ferrer_Mesia] Oriol Ferrer Mesia mailto:tm05788&salleurl.edu +# [Orion_Reblitz_Richar] Orion Reblitz-Richardson mailto:orionr&rakket.com +# [OS_NEXUS] OS NEXUS, Inc. mailto:info&osnexus.com 2012-09-21 +# [Osamu_Masuda] Osamu Masuda +# [Oskar_Persano] Oskar Persano ims Info Management mailto:ope&ims-info.ch 2011-10-20 +# [Owen_Sullivan] Owen Sullivan mailto:owen.sullivan&aldiscon.ie +# [Ozate_Inc] Ozate Inc. mailto:joe&ozate.com 2011-10-12 +# [POV_Team_Co_ordinato] POV-Team Co-ordinator mailto:iana-port.remove-spamguard&povray.org +# [PV_Shivkumar] PV Shivkumar mailto:p.shivkumar&oracle.com 2003-10 +# [P_T_K_Farrar] P.T.K. Farrar mailto:farrarp&teccon.co.uk +# [P_V_Shivkumar] P.V.Shivkumar mailto:PSHIVKUM&us.oracle.com +# [Panasonic_Intranet_Panasonic_North_America_PEWLA] Panasonic North mailto:protocols&pewla.us.pewg.panasonic.com 2012-11-12 +# [Panic_Inc] Panic Inc. mailto:cabel&panic.com 2012-07-19 +# [Panic_Ride] Panic Ride mailto:panicride&hao.org +# [Paolo_Desii] Paolo Desii POWERSOFT S.R.L. mailto:paolo.desii&powersoft.it 2012-01-03 +# [Pat_Calhoun] Pat Calhoun mailto:CALHOUN&admin.eicon.qc.ca +# [Pat_Galvin] Pat Galvin mailto:pgalvin&databeam.com +# [Pat_Mcgowan] Pat Mcgowan mailto:pmcgowan&folio.com +# [Pat_Richard] Pat Richard mailto:patr&xcert.com +# [Pat_Tovo] Pat Tovo mailto:pat.tovo&veritas.com 2004-12 +# [Patrick_Chipman] Patrick Chipman mailto:pchipman&memphis.edu +# [Patrick_Cipiere] Patrick Cipiere mailto:Patrick.Cipiere&udcast.com +# [Patrick_Ferriter] Patrick Ferriter mailto:Patrick.Ferriter&zultys.com 2003-06 +# [Patrick_Fisher] Patrick Fisher mailto:pfisher&hns.com 2004-12 +# [Patrick_Furlong] Patrick Furlong mailto:pfurlong&darkknight.ca 2003-01 +# [Patrick_H_Piper] Patrick H. Piper mailto:ppiper&netlinxinc.com 2009-03-06 +# [Patrick_Kara] Patrick Kara mailto:Patrick&eba.net +# [Patrick_Lee] Patrick Lee mailto:leecotechnologies&comcast.net 2008-03-10 +# [Patrick_M_McNeal] Patrick M McNeal mailto:mcneal&umich.edu 2006-03 +# [Patrick_McNamee] Patrick McNamee +# [Patrick_Moore] Patrick Moore mailto:pcmoore&sandia.gov +# [Patrick_Noffke] Patrick Noffke mailto:patrick.noffke&adpro.com.au +# [Patrick_Robinson] Patrick Robinson mailto:probinson&plosive.com +# [Patrick_Stein] Patrick Stein mailto:Patrick.Stein&jinx.eu 2011-10-24 +# [Patrick_Verbeek] Patrick Verbeek mailto:p.verbeek&scottygroup.com 2007-05 +# [Patrick_Verbeek_2] Patrick Verbeek SCOTTY Group SE mailto:p.verbeek&scottygroup.com 2013-01-14 +# [Patti_Jo_Newsom] Patti Jo Newsom mailto:pjn&mcsdallas.com +# [Patty_Ho] Patty Ho mailto:rimf&core.rose.hp.com 2007-05 +# [Paul_A_Suhler] Paul A. Suhler mailto:paul.suhler&quantum.com 2009-02-06 +# [Paul_Alfille] Paul Alfille mailto:paul.alfille&gmail.com 2007-01 +# [Paul_Amsden] Paul Amsden mailto:amsden@.ctron.com +# [Paul_Anderson] Paul Anderson mailto:paul.anderson&ip-cs.com 2003-04 +# [Paul_Annala] Paul Annala mailto:paa&bull.se +# [Paul_Applegate] Paul Applegate mailto:p.applegate2&genie.geis.com +# [Paul_Austin] Paul Austin mailto:paul.austin&natinst.com +# [Paul_B_Finley] Paul B. Finley mailto:pfinley&us.ibm.com 2003-10 +# [Paul_Ballew] Paul Ballew mailto:ballew&projtech.com +# [Paul_Blacknell] Paul Blacknell mailto:paul&insitu.com +# [Paul_Bohm] Paul Bohm mailto:paul&dropbox.com 2010-01-21 +# [Paul_Breed] Paul Breed mailto:paul&netburner.com 2003-11 +# [Paul_Breslin] Paul Breslin mailto:phb&sidefx.com +# [Paul_Brown] Paul Brown mailto:pbrown&spcontrols.com 2011-04-27 +# [Paul_Bunn] Paul Bunn mailto:iana&ultrabac.com +# [Paul_Cadarette] Paul Cadarette mailto:pcadaret&us.ibm.com 2007-01 +# [Paul_Carmichael] Paul Carmichael mailto:paulcarmichael&indx.net +# [Paul_Chinn] Paul Chinn Apple mailto:pchinn&apple.com 2011-10-20 +# [Paul_Clark] Paul Clark mailto:paul&xmill.com 2006-02 +# [Paul_Cope] Paul Cope mailto:prc&auto-graphics.com 2003-11 +# [Paul_Denning] Paul Denning mailto:pauld&mitre.org +# [Paul_Dietrich] Paul Dietrich mailto:registrar&impinj.com +# [Paul_Dollemore] Paul Dollemore mailto:pauld&anthonydata.com +# [Paul_Fonte] Paul Fonte mailto:paul_fonte&mediastation.com +# [Paul_Ford_Hutchinson] Paul Ford-Hutchinson mailto:paulfordh&uk.ibm.com 2003-01 +# [Paul_Funk] Paul Funk mailto:paul&funk.com +# [Paul_Glaubitz] Paul Glaubitz mailto:Paul.Glaubitz&mt.com +# [Paul_Greenfield] Paul Greenfield mailto:paul.greenfield&unisys.com +# [Paul_Groarke] Paul Groarke mailto:paulg&quay.ie +# [Paul_Guyot] Paul Guyot mailto:pguyot&kallisys.net 2003-01 +# [Paul_H_Alfille] Paul H Alfille mailto:paul.alfille&gmail.com +# [Paul_Harrison] Paul Harrison mailto:paulh&idonix.co.uk +# [Paul_Hodara] Paul Hodara mailto:phodara&netwave.com 2005-11 +# [Paul_Hoffman] Paul Hoffman mailto:phoffman&imc.org +# [Paul_Ignatius] Paul Ignatius mailto:paul.ignatius&scentric.com 2006-03 +# [Paul_Johnson] Paul Johnson mailto:paul.johnson&raima.com 2011-05-02 +# [Paul_K_Peterson] Paul K. Peterson mailto:paul&tribal.com +# [Paul_Kraus] Paul Kraus mailto:paul.kraus&veritas.com 2002-06 +# [Paul_Leach] Paul Leach mailto:paulleµsoft.com +# [Paul_Lesurf] Paul Lesurf mailto:paul.lesurf&vpltd.com +# [Paul_M_Franceus] Paul M Franceus mailto:paul&blueiris.us +# [Paul_McEntire] Paul McEntire mailto:paul.mcentire&columbiasc.ncr.com +# [Paul_McGinnis] Paul McGinnis mailto:pmcginnis&server.stmi.com +# [Paul_McGough] Paul McGough mailto:pmcgough&2factor.com 2007-02 +# [Paul_Mclachlan] Paul Mclachlan mailto:pmclachlan&mercury.com 2005-11 +# [Paul_Mockapetris] Paul Mockapetris mailto:PVM&isi.edu +# [Paul_Moore] Paul Moore mailto:paul.moore¢rify.com 2009-10-28 +# [Paul_Nelson] Paul Nelson mailto:paul&ioc-sea.com +# [Paul_Pyck] Paul Pyck mailto:papy&telindus.be +# [Paul_Reddy] Paul Reddy mailto:preddy&pharos.com +# [Paul_Reddy_2] Paul Reddy mailto:support&igo-incognito.com 2002-02 +# [Paul_Roberts] Paul Roberts mailto:PaulRoberts&engineer.com +# [Paul_Sanders] Paul Sanders mailto:p.sanders&dial.pipex.com +# [Paul_Sanders_2] Paul Sanders mailto:pe77&dial.pipex.com +# [Paul_Santinelli_Jr] Paul Santinelli Jr. mailto:psantinelli&narrative.com +# [Paul_Schilling] Paul Schilling mailto:PaulS&synapsis.com +# [Paul_Snook] Paul Snook mailto:paul.snook&itheon.com +# [Paul_Steane] Paul Steane Alstom Transport, mailto:paul.steane&transport.alstom.com 2012-12-14 +# [Paul_Stephen_Borlie] Paul Stephen Borlie mailto:paul&icona.it +# [Paul_Sterk] Paul Sterk mailto:paul.sterk&sun.com 2006-03 +# [Paul_Streatch] Paul Streatch mailto:pstreatch&marchnetworks.com 2004-06 +# [Paul_Suhler] Paul Suhler mailto:paul.suhler&quantum.com 2008-02-15 +# [Paul_Tam] Paul Tam mailto:ianaportmaster&onbase.com 2004-12 +# [Paul_Tokarchuk] Paul Tokarchuk mailto:ptokarch&alias.com 2004-11 +# [Paul_Vixie] Paul Vixie mailto:paul&vix.com +# [Paul_W_Nelson] Paul W. Nelson mailto:nelson&thursby.com +# [Paul_Whittemore] Paul Whittemore mailto:paul&softarc.com +# [Paul_Wissenbach] Paul Wissenbach mailto:paulwi&vnd.tek.com +# [Paul_Wissmiller] Paul Wissmiller mailto:Paul.Wissmiller&ca.com +# [Paul_Wren] Paul Wren mailto:Paul.Wren¯o4.com +# [Paul_Zander] Paul Zander Philips CFT mailto:p.j.zander&philips.com 2004-03 +# [Pavel_Mendl] Pavel Mendl mailto:pavel_mendl¢rum.cz 2007-03 +# [Pavlin_Ivanov_Radosl] Pavlin Ivanov Radoslavov mailto:pavlin&catarina.usc.edu +# [Pearson] Pearson mailto:chad.smith&pearson.com 2008-01-17 +# [Pedro_A_Rodriguez] Pedro A Rodriguez mailto:pedro.rdz&eaxtechnologies.com.mx 2008-08-06 +# [Pedro_Alpedrinha] Pedro Alpedrinha mailto:pedro.alpedrinha&redevirtual.com 2006-02 +# [Pekka_Riikonen] Pekka Riikonen mailto:priikone&poseidon.pspt.fi +# [Pekka_Takaranta] Pekka Takaranta mailto:pekka.takaranta&tellabs.fi +# [Peng_Dai] Peng Dai Delphix Corp mailto:peng.dai&delphix.com 2012-11-01 +# [Per_Cederqvist] Per Cederqvist mailto:ceder&lysator.liu.se +# [Per_Fahlberg] Per Fahlberg mailto:support&remograph.com 2009-01-21 +# [Per_Hellberg] Per Hellberg mailto:phellberg&isogon.com 2002-02 +# [Per_Sahlqvist] Per Sahlqvist mailto:psahlqvi&sw.seisy.abb.se +# [Per_Schroeder] Per Schroeder mailto:Per.Schroder&mimer.se +# [Pete_Camble] Pete Camble mailto:pete.camble&hp.com 2008-12-24 +# [Pete_Loeffen] Pete Loeffen President at Digital mailto:peterl&digitalrowing.com 2006-10 +# Rowing Inc. +# [Pete_Moscatelli] Pete Moscatelli mailto:moscat&hprdstl0.rose.hp.com +# [Pete_Wong] Pete Wong mailto:petewongµsoft.com +# [Peter_Amstutz] Peter Amstutz mailto:tetron&interreality.org +# [Peter_Anvelt] Peter Anvelt mailto:panvelt&xnai.com +# [Peter_Aronson] Peter Aronson mailto:paronson&esri.com +# [Peter_Beahan] Peter Beahan mailto:peter_beahan&technologyonecorp.com 2004-11 +# [Peter_Berger] Peter Berger mailto:peterb&panasas.com +# [Peter_Boers] Peter Boers mailto:boers&isisglobal.nl 2002-05 +# [Peter_Boucher] Peter Boucher mailto:pboucher&senforce.com +# [Peter_Carlson] Peter Carlson mailto:pcarlson&tier2.com +# [Peter_Caswell] Peter Caswell mailto:pfc&pacvax.pacersoft.com +# [Peter_Ciuffetti] Peter Ciuffetti mailto:petec&silverplatter.com +# [Peter_Dennis_Bartok] Peter Dennis Bartok mailto:peter&novonyx.com +# [Peter_E_Williams] Peter E Williams mailto:peter.williams&smallworld-us.com +# [Peter_Egli] Peter Egli mailto:peter.egli&inalp.com +# [Peter_Egli_2] Peter Egli mailto:peter.egli&mail.inalp.com +# [Peter_Eriksson] Peter Eriksson mailto:pen&lysator.liu.se +# [Peter_Fernandez] Peter Fernandez mailto:fernandez&omnisec.ch 2002-03 +# [Peter_Frankenberg] Peter Frankenberg mailto:pcfberg&ibm.net +# [Peter_G_L_Potgiese] Peter G. L. Potgieser mailto:p.g.l.potgieser&interpay.nl 2003-07 +# [Peter_Gabriel] Peter Gabriel mailto:peter.gabriel&ims.fraunhofer.de 2006-01 +# [Peter_Gad] Peter Gad mailto:peter&bmc.uu.se +# [Peter_Hallenbeck] Peter Hallenbeck mailto:pete&consumertechnologiesgroup.com 2005-08 +# [Peter_Higginson] Peter Higginson mailto:higginson&mail.dec.com +# [Peter_Hombach] Peter Hombach mailto:p.hombach&osorno.ca 2011-03-16 +# [Peter_Hussey] Peter Hussey mailto:peterhusµsoft.com +# [Peter_Hyde] Peter Hyde mailto:peter&spis.co.nz +# [Peter_Ijkhout] Peter Ijkhout mailto:peter&deltasolutions.nl +# [Peter_Jacobs] Peter Jacobs mailto:pjacobs&tullib.com +# [Peter_Johnson] Peter Johnson mailto:peter&commlinx.com.au 2004-11 +# [Peter_Kaever] Peter Kaever mailto:kaever.peter&westfalia.com 2005-08 +# [Peter_King] Peter King mailto:king&uplanet.com +# [Peter_Kollath] Peter Kollath mailto:peter.kollath&canex.sk 2002-08 +# [Peter_Krueger] Peter Krueger mailto:krueger&appss.de 2003-10 +# [Peter_Laschtowitz] Peter Laschtowitz mailto:pl&pq-computers.de 2009-09-15 +# [Peter_Lepeska] Peter Lepeska mailto:peter.lepeska&viasat.com 2010-09-10 +# [Peter_Lipp] Peter Lipp mailto:Peter.Lipp&iaik.at +# [Peter_Liu] Peter Liu +# [Peter_Loveday] Peter Loveday mailto:peter&eyeonline.com 2006-01 +# [Peter_MacAvock] Peter MacAvock mailto:macavock&dvb.org +# [Peter_Maher] Peter Maher mailto:quest_iana&oz.quest.com 2003-11 +# [Peter_Morrison] Peter Morrison mailto:peter_morrison&sydney.sterling.com +# [Peter_Moylan] Peter Moylan mailto:peter&ee.newcastle.edu.au 2002-08 +# [Peter_Phaal] Peter Phaal mailto:peter.phaal&inmon.com 2003-06 +# [Peter_Povinec] Peter Povinec mailto:peter.povinec&oracle.com 2010-04-13 +# [Peter_Pramberger] Peter Pramberger mailto:peter.pramberger&telering.co.at 2004-11 +# [Peter_Rocca] Peter Rocca mailto:rocca&multiboard.com 2002-10 +# [Peter_Saint_Andre] Peter Saint-Andre mailto:stpeter&stpeter.im 2009-11-25 +# [Peter_Sandstrom] Peter Sandstrom mailto:peter.sandstrom&tassen.fi +# [Peter_Santoro] Peter Santoro mailto:peter&pscomp.com +# [Peter_Schafer] Peter Schaefer mailto:p.schaefer&nospam.atc-systeme.de 2004-02 +# [Peter_Schoenberger] Peter Schoenberger mailto:ps&teles.de +# [Peter_Schow] Peter Schow mailto:Peter.Schow&sun.com 2007-01 +# [Peter_Steiner] Peter Steiner mailto:steiner&telecomsoftware.com 2011-02-22 +# [Peter_Teeuwen] Peter Teeuwen mailto:ptee&oce.nl +# [Peter_Verdon] Peter Verdon mailto:bess&dcs.warwick.ac.uk 2005-08 +# [Peter_Viscarola] Peter Viscarola mailto:PeterGV&osr.com +# [Peter_Wenzel] Peter Wenzel mailto:Peter.Wenzel&profibus.com 2004-11 +# [Peter_Weyman] Peter Weyman mailto:pjweyman&noblenet.com +# [Peter_White] Peter White mailto:peter_white&3com.com 2004-11 +# [Peter_Whittaker] Peter Whittaker mailto:pww&entrust.com +# [Peter_Zurich] Peter Zurich mailto:pbz&lowpft.com +# [Peter_de_Laval] Peter de Laval mailto:pdl§ra.se +# [Peter_van_Dijk] Peter van Dijk mailto:peter&xlshosting.nl 2011-01-10 +# [Petr_Chardin] Petr Chardin mailto:petr&mysql.com 2004-12 +# [Petri_Rauhala] Petri Rauhala mailto:petri.rauhala&nokia.com 2005-08 +# [Petronel_Bigioi] Petronel Bigioi mailto:petronel&fotonation.com 2004-11 +# [Phil_Abercrombie] Phil Abercrombie mailto:phil.abercrombie&appiq.com 2005-08 +# [Phil_Barrett] Phil Barrett mailto:support&cambridgeanimation.com +# [Phil_Braham] Phil Braham mailto:phil&braham.net +# [Phil_Davidson] Phil Davidson mailto:p.davidson&reftek.com +# [Phil_Frisbie] Phil Frisbie mailto:phil&hawksoft.com +# [Phil_Kerr] Phil Kerr mailto:phil&plus24.com 2002-02 +# [Phil_Lapsley] Phil Lapsley mailto:phil&ucbarpa.berkeley.edu +# [Phil_Maker] Phil Maker mailto:pjm&gnu.org 2008-06-18 +# [Phil_May] Phil May mailto:pm&datcon.co.uk +# [Phil_Piwonka] Phil Piwonka mailto:wnka&users.sourceforge.net +# [Phil_Servita] Phil Servita mailto:meister&ftp.com +# [Phil_Tolson] Phil Tolson mailto:philtolson&eaton.com 2010-01-21 +# [Phil_Willis] Phil Willis mailto:phil.willis&prism-uk.com 2003-08 +# [Phil_Willoughby] Phil Willoughby mailto:phil.willoughby&strawberrycat.com +# [Philip_Budne] Philip Budne mailto:budne&auroratech.com +# [Philip_N_Bergstress] Philip N. Bergstresser mailto:phil&bergstresser.org +# [Philip_Stephenson] Philip Stephenson mailto:Philip.stephenson&oracle.com 2005-08 +# [Philipp_Dreiss] Philipp Dreiss mailto:dreiss&isparx.de +# [Philipp_Marcel_Albre] Philipp Marcel Albrecht mailto:phipi&gmx.ch 2009-07-06 +# [Philippe_Binet] Philippe Binet mailto:phbinet&vnet.ibm.com +# [Philippe_Detournay] Philippe Detournay mailto:philippe.detournay&acrosoft.be 2007-11-12 +# [Philippe_Gilbert] Philippe Gilbert mailto:pgilbert&cal.fr +# [Phill_Goeckler] Phill Goeckler mailto:pgoeckler&cequint.com 2007-08-20 +# [Phillip_Dillinger] Phillip Dillinger mailto:Phillip.Dillinger&sealabs.com +# [Phillip_Heil] Phillip Heil mailto:phil.heil&dvtsensors.com 2002-02 +# [Phillip_Magson] Phillip Magson mailto:philm&extro.ucc.su.oz.au +# [Phivos_Aristides] Phivos Aristides mailto:phivos&opendesign.com +# [Photosmith] Photosmith mailto:ckhorne&photosmithapp.com 2011-10-27 +# [Pierre_Arnaud] Pierre Arnaud mailto:pierre.arnaud&iname.com +# [Pierre_Couderc] Pierre Couderc mailto:pcouderc&tol.fr 2006-03 +# [Pierre_Frisch] Pierre Frisch mailto:Pierre.Frisch&spearway.com +# [Pierre_Frisch_2] Pierre Frisch mailto:pierre.frisch&spearway.com +# [Piers_Scannell] Piers Scannell mailto:iana-form&lot105.com +# [Piers_Scannell_2] Piers Scannell mailto:piers&globecastne.com +# [Pieter_Ditmars] Pieter Ditmars mailto:pditmars&bbn.com +# [Pieter_Hintjens] Pieter Hintjens mailto:ph&imatix.com 2006-01 +# [Pieter_Hintjens2] Pieter Hintjens mailto:ph&imatix.com 2012-11-01 +# [Pieter_Hintjens_3] Pieter Hintjens mailto:ph&imatix.com 2012-12-17 +# [Pim_van_Riezen] Pim van Riezen mailto:registries&panelsix.com 2006-07 +# [Piotr_Parlewicz] Piotr Parlewicz mailto:pparlewicz&queryobject.com +# [Pisharath_Krishnan] Pisharath Krishnan mailto:krishnan&axis-inc.com +# [Pit_Vetterick] Pit Vetterick mailto:pit&3dgo.com 2002-05 +# [PLASA] PLASA mailto:standards.na&plasa.org 2012-06-01 +# [Portnoy_Boxman] Portnoy Boxman mailto:portnoy_boxman&bmc.com 2005-01 +# [Portnoy_Boxman_2] Portnoy Boxman mailto:Portnoy_Boxman&bmc.com 2006-09 +# [POWERSOFT_SRL] POWERSOFT S.R.L. mailto:claudio.lastrucci&powersoft.it 2012-01-03 +# [Prabu_Ambravaneswara] Prabu Ambravaneswaran mailto:prambravµsoft.com 2009-10-29 +# [Pradeep_Bahl] Pradeep Bahl mailto:pradeepbµsoft.com +# [Prakash_Banthia] Prakash Banthia mailto:prakash_banthia&3com.com +# [Prakash_Iyer] Prakash Iyer mailto:prakash.iyer&intel.com 2009-08-10 +# [Pranay_Varma] Pranay Varma mailto:pran&veritas.com +# [Prashant_Dholakia] Prashant Dholakia mailto:prashant&semaphorecom.com +# [Prateek_Sharma] Prateek Sharma mailto:pratsharµsoft.com 2011-08-04 +# [Prathibha_Nagvar] Prathibha Nagvar +# [Pratik_Wadher] Pratik Wadher mailto:pratik&datadomain.com 2007-05 +# [Predrag_Filipovic] Predrag Filipovic mailto:pfilipovic&digital5.com 2002-11 +# [Prem_Tirilok] Prem Tirilok mailto:Prem.Tirilok&tellabs.com +# [Preston_Bannister] Preston Bannister mailto:pbannister&quests.com +# [Prima_Designs_System] Prima Designs Systems mailto:info&prima.com.hk +# [Primark_Corporation] Primark Corporation mailto:joe.boone&primark.com +# [Pritham_Shetty] Pritham Shetty mailto:pritham¯omedia.com +# [Pritham_Shetty_2] Pritham Shetty mailto:pritham&andromedia.com +# [ProControl_Technolog] ProControl Technology AB mailto:info&pctworld.com 2004-12 +# [Professor_Paul_S_Wa] Professor Paul S. Wang mailto:pwang&cs.kent.edu 2002-07 +# [Qdea] Qdea mailto:support&qdea.com +# [Qentin_Neill] Qentin Neill mailto:quentin&columbiasc.ncr.com +# [Qiang_Zhang] Qiang Zhang mailto:qzhang&iwncomm.com 2006-10 +# [Qiang_Zhang_2] Qiang Zhang mailto:iad&iwncomm.com 2006-10 +# [Qualcomm_Innovation_Center] Qualcomm Innovation mailto:cdowell&quicinc.com 2011-12-21 +# [Quang_Thoi] Quang Thoi mailto:quang_thoi&symantec.com 2006-11 +# [Quentin_Brown] Quentin Brown mailto:ndldev&ndl.co.uk 2002-03 +# [Quest_Software] Quest Software mailto:iana.quest-disc&quest.com 2012-04-09 +# [Quinton_Tormanen] Quinton Tormanen mailto:quinton&deltacompsys.com +# [R_L_Meyering] R. L. Meyering mailto:RLMEYERING&biivax.dp.beckman.com +# [R_Thirumurthy] R. Thirumurthy mailto:rtm&banyannetworks.com +# [Rackspace_Hosting] Rackspace Hosting mailto:ziad.sawalha&rackspace.com 2011-08-15 +# [Radware_LTD] Radware LTD. mailto:samuelb&radware.com 2011-08-05 +# [Rafael_Zimberoff] Rafael Zimberoff mailto:rafael&zfirmllc.com 2003-11 +# [Raghurama_Bhat] Raghurama Bhat mailto:raghu&quintus.com +# [Rahul_Bahadur] Rahul Bahadur Check Point Software mailto:rbahadur&checkpoint.com 2012-06-28 +# [Raimond_Diederik] Raimond Diederik mailto:rdiederik&descartes.com +# [Rajeev_Verma] Rajeev Verma mailto:rajeev_verma&symantec.com 2006-02 +# [Rajesh_Akkineni] Rajesh Akkineni mailto:rajesh&vimukti.com 2007-01 +# [Rajesh_Batra] Rajesh Batra Western Digital Inc. mailto:rajesh.batra&wdc.com 2012-07-11 +# [Rajesh_D] Rajesh Dav SQRT(c) mailto:rajdaveµsoft.com 2009-02-03 +# [Rajesh_Nandyalam] Rajesh Nandyalam mailto:rnandyal&emc.com +# [Rajesh_Srinivasaragh] Rajesh Srinivasaraghavan mailto:srajesh&cup.hp.com +# [Rajiv_Aaron_Manglani] Rajiv Aaron Manglani mailto:rajivmanglani&mmm.com +# [Rakesh_Mahajan] Rakesh Mahajan mailto:rmahajan&netaphor-software.com +# [Ralf_Allrutz] Ralf Allrutz mailto:R.Allrutz&science-computing.de 2002-02 +# [Ralf_Bensmann] Ralf Bensmann mailto:iana&1ci.de +# [Ralf_Doewich] Ralf Doewich mailto:ralf.doewich&optimatele.com +# [Ralf_Muckenhirn] Ralf Muckenhirn tel:+49-7622-3980 +# tel:+49-7622-398200 +# [Ralph_Campbell] Ralph Campbell mailto:ralph.campbell&xasystems.com 2002-11 +# [Ralph_Droms] Ralph Droms mailto:rdroms&nri.reston.va.us +# [Ralph_Kammerlander] Ralph Kammerlander mailto:ralph.kammerlander&khe.siemens.de +# [Ram_Golla] Ram Golla mailto:rgolla&cisco.com +# [Ram_Iyer] Ram Iyer mailto:ram&aaccorp.com +# [Ram_Sudama] Ram Sudama mailto:rsudama&on.com +# [Ramakrishna_Nadendla] Ramakrishna Nadendla mailto:rama_nadendla&agilent.com 2002-08 +# [Ramana_Kovi] Ramana Kovi mailto:ramana&kovi.com +# [Ramesh_Gupta] Ramesh Gupta mailto:ramesh&guptas.net 2012-02-21 +# [Rami_Rubin] Rami Rubin mailto:rami&hybrid.com +# [Ramindur_Singh] Ramindur Singh mailto:Ramindur.Singh&blackcrowsoftware.com 2008-12-04 +# [Ramiro_Sarmiento] Ramiro Sarmiento mailto:ramiro&kabira.com +# [Ramy_Zaarour] Ramy Zaarour mailto:ramy&lumos.com +# [Ranchero_Software] Ranchero Software mailto:info&ranchero.com +# [Randall_Atkinson] Randall Atkinson mailto:rja&home.net +# [Randall_Atkinson_2] Randall Atkinson mailto:rja&inet.org +# [Randall_Dow] Randall Dow mailto:rand&randix.net +# [Randall_Gellens] Randall Gellens mailto:randy&qualcomm.com +# [Randall_Stewart] Randall Stewart IETF TSVWG mailto:rrs&lakerest.net +# [Randall_Stewart_2] Randall Stewart mailto:rrs&lakerest.net 2011-10-24 +# [Randy_Armstrong] Randy Armstrong mailto:randy.armstrong&opcfoundation.org 2006-09 +# [Randy_Cassidy] Randy Cassidy mailto:randy.cassidy&iracing.com 2007-08-30 +# [Randy_Epstein] Randy Epstein mailto:repstein&hostleasing.net +# [Randy_Hudgens] Randy Hudgens mailto:rhh&nmail.holditch.com +# [Randy_Leonard] Randy Leonard mailto:randy&oceansoft.com +# [Randy_Lomnes] Randy Lomnes mailto:rlomnes&faronics.com 2004-11 +# [Randy_Maas] Randy Maas mailto:randym&xiotech.com +# [Randy_Martin] Randy Martin mailto:exlmoc&clemson.edu +# [Randy_Thompson] Randy Thompson mailto:thompr&earthlink.net 2002-08 +# [Raphael_Neve] Raphael Neve Microtec Informatique mailto:raphµtec.fr 2012-03-15 +# [Ralph_Greenwell] Ralph Greenwell mailto:iana&cognima.com 2012-03-15 +# [Ratnadeep_Bhattachar] Ratnadeep Bhattacharjee mailto:ratnadeep.bhattacharjee&sun.com 2002-11 +# [Ravi_Gokhale] Ravi Gokhale mailto:rgokhale&bindview.com 2002-10 +# [Ravi_Kollipara] Ravi Kollipara mailto:ravi.kollipara&actifio.com 2010-06-18 +# [Ravi_Tavakely] Ravi Tavakely mailto:ravi.tavakley&veritas.com 2002-02 +# [Ray_Caruso] Ray Caruso mailto:ray.caruso&netvion.com 2002-06 +# [Ray_Gwinn] Ray Gwinn mailto:p00321&psilink.com +# [Ray_Jantz] Ray Jantz mailto:ray.jantz&lsil.com +# [Ray_Ozzie] Ray Ozzie mailto:ray&rocks.net +# [Rayan_Zachariassen] Rayan Zachariassen mailto:rayan&ai.toronto.edu +# [Raymarine_UK_Limited] Raymarine UK Limited mailto:Geoff.Beer&raymarine.com 2012-05-24 +# [Raymond_A_Diedrichs] Raymond A. Diedrichs mailto:rayd&slu.tr.unisys.com +# [Raymond_Chaw] Raymond Chaw mailto:Raymond&esecutech.com 2007-05 +# [Raymond_J_Young] Raymond J. Young mailto:Raymond.Young&ca.com 2002-04 +# [Razmik_Abnous] Razmik Abnous mailto:abnous&documentum.com +# [RealNetworks] RealNetworks mailto:macplayer&real.com +# [RecoLive_S`arl] RecoLive S`arl mailto:recoinfo&recolive.com 2012-09-07 +# [Reed_Copsey_Jr] Reed Copsey Jr. mailto:reedc&ctech.com +# [Reed_Hedges] Reed Hedges mailto:reed&interreality.org +# [Rehan_Mahmood] Rehan Mahmood mailto:rehan&matrixmultimedia.co.uk 2009-03-18 +# [Reid_B_Ligon] Reid B. Ligon mailto:reid.ligon&pscnet.com +# [Reid_Ligon] Reid Ligon mailto:reid&connectrf.com +# [Reinhard_Doelz] Reinhard Doelz mailto:doelz&comp.bioz.unibas.ch +# [Reinhard_Wolf] Reinhard Wolf Adsoft AG mailto:adsoft&vtxmail.ch 2010-08-19 +# [Reinier_Post_and_Pau] Reinier Post and Paul mailto:freeciv&freeciv.org 2006-01 +# Zastoupil +# [Remi_Lefebvre] Remi Lefebvre mailto:remi&debian.org +# [Rene_Fontaine] Rene Fontaine mailto:fontaine_rene&emc.com +# [Rene_Jager] Rene Jager mailto:renej&frog.nl +# [Rene_Kurt] Rene Kurt mailto:rene.kurt&adasoft.ch 2005-08 +# [Reprise_Software_Inc] Reprise Software, mailto:matt&reprisesoftware.com 2012-11-06 +# [Research_Electronics_International] Research Electronics mailto:software&reiusa.net 2012-12-20 +# International +# [Resource_Allocation] Resource Allocation Team mailto:resources&littlehall.com 2010-09-27 +# [Retrospect_Inc] Retrospect, Inc. mailto:JG.Heithcock&retrospect.com 2012-02-02 +# [Reuven_Harrison] Reuven Harrison mailto:rnd_ana&checkpoint.com +# [Reuven_Harrison_2] Reuven Harrison mailto:rharrison&checkpoint.com 2003-01 +# [Reyk_Floeter] Reyk Floeter mailto:reyk&vantronix.net 2008-02-27 +# [Reza_Bagherian] Reza Bagherian mailto:bagherian_reza&emc.com 2007-07-19 +# [RGB_Spectrum] RGB Spectrum mailto:shershey&rgb.com 2011-10-10 +# [Riaz_Zolfonoon] Riaz Zolfonoon mailto:rzolfonoon&securitydynamics.com +# [Riccardo_Facchetti] Riccardo Facchetti mailto:riccardo&inetcosmos.org 2002-07 +# [Rich_Blomseth] Rich Blomseth mailto:rich&echelon.com +# [Rich_Kilmer] Rich Kilmer mailto:rich&infoether.com +# [Rich_Neswold] Rich Neswold mailto:neswold&fnal.gov 2007-02 +# [Rich_Thompson] Rich Thompson mailto:richt&watson.ibm.com +# [Richard_Alan_Johnson] Richard Alan Johnson mailto:raj&cisco.com +# [Richard_Bassous] Richard Bassous mailto:rbassous&yahoo.com +# [Richard_Corn] Richard Corn mailto:rac&racc.com +# [Richard_Dickins] Richard Dickins mailto:rad&specview.com 2002-02 +# [Richard_Farnham] Richard Farnham mailto:rfarnham&salient.com +# [Richard_Fife] Richard Fife mailto:richardf&lucasarts.com +# [Richard_Fleming] Richard Fleming mailto:richard&apoapsis.com 2002-08 +# [Richard_Foss] Richard Foss mailto:r.foss&ru.ac.za 2011-02-10 +# [Richard_Frith_Macdon] Richard Frith-Macdonald mailto:richard&brainstorm.co.uk +# [Richard_Harriss] Richard Harriss mailto:richard.harriss&halcyonsoftware.com 2005-05 +# [Richard_Harwell] Richard Harwell mailto:richardcharwell&eaton.com 2006-02 +# [Richard_Hodges] Richard Hodges mailto:rh&matriplex.com +# [Richard_Hodges_2] Richard Hodges mailto:rh&source.net +# [Richard_Hodges_3] Richard Hodges mailto:rhodges&prismiq.com 2003-01 +# [Richard_J_Williams] Richard J. Williams mailto:RJW1&trpo4.tr.unisys.com +# [Richard_Jones] Richard Jones +# [Richard_Jones_2] Richard Jones mailto:richard_jones1&symantec.com 2009-05-26 +# [Richard_Lamb] Richard Lamb mailto:rlambµsoft.com +# [Richard_McDonald] Richard McDonald mailto:ve3nvm&spamcop.net 2006-01 +# [Richard_Mills] Richard Mills mailto:ramills&us.ibm.com 2002-02 +# [Richard_Minner] Richard Minner http://xippix.com +# [Richard_Nabavi] Richard Nabavi mailto:nabaviµapl.co.uk 2006-02 +# [Richard_Olsen] Richard Olsen mailto:olsen.richard&yahoo.com +# [Richard_S_Conto] Richard S. Conto mailto:rsc&merit.edu +# [Richard_Snider] Richard Snider mailto:rsnider&sounds.com +# [Richard_Spartz] Richard Spartz mailto:rspartz&alliancetechnical.com +# [Richard_Steiger] Richard Steiger mailto:steiger&ensemblesoft.com +# [Richard_Thurman] Richard Thurman mailto:richt&fireking.com 2003-04 +# [Richard_Walters] Richard Walters mailto:walters&cs.ucdavis.edu +# [Richard_Warren] Richard Warren mailto:richard&cambridgepixel.com 2008-09-17 +# [Richard_de_Mornay] Richard de Mornay mailto:rdemornay&norton-lambert.com +# [Rick_Adams] Rick Adams mailto:rick&uunet.uu.net +# [Rick_Carlos] Rick Carlos mailto:rick&ticipa.csc.ti.com +# [Rick_LaBanca] Rick LaBanca mailto:rel&mesasys.com +# [Rick_Macchio] Rick Macchio mailto:rmacchio&juniper.net 2006-11 +# [Rick_Pugh] Rick Pugh mailto:rick&bilmillennium.com +# [Rick_Russell] Rick Russell mailto:rrussell&accessdata.com +# [Rick_Stefanik] Rick Stefanik mailto:r.stefanik&gatelinx.com 2002-05 +# [Rick_Troth] Rick Troth mailto:troth&rice.edu +# [Rick_Yazwinski] Rick Yazwinski mailto:ricky&solect.com +# [Rickard_Schoultz] Rickard Schoultz mailto:schoultz&sunet.se +# [Ricky_Sharp] Ricky Sharp mailto:rsharp&instantinteractive.com +# [Rieko_Asai] Rieko Asai mailto:asai&isl.mei.co.jp +# [Rik_Ditter] Rik Ditter mailto:managers&generationtechnologies.com 2006-02 +# [Rik_Faith] Rik Faith mailto:faith&cs.unc.edu +# [Rina_Nethaniel] Rina Nethaniel +# [Ritsuto_Sako] Ritsuto Sako mailto:sakou.ritsuto&canon.co.jp 2009-05-04 +# [Ritu_Bahl] Ritu Bahl mailto:ritubµsoft.com +# [Rituparna_Agrawal] Rituparna Agrawal mailto:riagrawa&cisco.com 2005-09 +# [Rob_Bradford] Rob Bradford mailto:rob&o-hand.com +# [Rob_Chandhok] Rob Chandhok mailto:chandhok&gnome.cs.cmu.edu +# [Rob_Chandhok_2] Rob Chandhok mailto:chandhok&within.com +# [Rob_Cosgrove] Rob Cosgrove mailto:rob&alice.net +# [Rob_Graber] Rob Graber mailto:r.graber&austinlane.com 2006-01 +# [Rob_Griffin] Rob Griffin mailto:quest_iana&oz.quest.com 2002-07 +# [Rob_Griffin_2] Rob Griffin mailto:rob.gri55in&gmail.com 2010-09-13 +# [Rob_Isaac] Rob Isaac mailto:rob&automagic.org 2003-07 +# [Rob_Janssen] Rob Janssen mailto:rob&sys3.pe1chl.ampr.org +# [Rob_Jonson] Rob Jonson mailto:rob&hobbyistsoftware.com +# [Rob_Juergens] Rob Juergens mailto:robj&vsi.com +# [Rob_Lanphier] Rob Lanphier mailto:robla&prognet.com +# [Rob_Lehew] Rob Lehew mailto:rlehewµsoft.com 2003-06 +# [Rob_Lockhart] Rob Lockhart mailto:rob.lockhart&mot.com +# [Rob_MacGregor] Rob MacGregor mailto:rob.macgregor&sympatico.ca +# [Rob_Minerick] Rob Minerick mailto:rob&vortimac.com 2004-11 +# [Rob_Newberry] Rob Newberry mailto:rnewberry&apple.com +# [Rob_Rix] Rob Rix DEVONtechnologies, mailto:rrix&devontechnologies.com 2011-10-18 +# [Rob_Robertson] Rob Robertson mailto:rob&gangrene.berkeley.edu +# [Rob_Scott] Rob Scott mailto:rscott&rs.com 2007-05 +# [Rob_Tao] Rob Tao SafeNet mailto:rtao&safenet-inc.com 2012-07-26 +# [Rob_Versluis] Rob Versluis mailto:r.j.versluis&rocrail.net 2011-05-23 +# [Rob_Ward] Rob Ward mailto:RobWardµsoft.com 2008-05-02 +# [Rob_Williams] Rob Williams mailto:rob.williamsµsoft.com 2009-02-17 +# [Robby_Simpson] Robby Simpson, PhD mailto:rsimpson&gmail.com +# [Robby_Walker] Robby Walker mailto:webmaster&cd-lab.com +# [Robert_A_Kukura] Robert A. Kukura mailto:kukura&apollo.hp.com +# [Robert_Armes] Robert Armes mailto:rarmes&axarte.com +# [Robert_Armington] Robert Armington mailto:rarmington&lipsinc.com +# [Robert_Baldwin] Robert Baldwin mailto:baldwin&plusfive.com 2004-11 +# [Robert_Ball] Robert Ball mailto:rob.ball&ge.com 2008-03-26 +# [Robert_Banfill] Robert Banfill mailto:robert&banfill.net 2003-04 +# [Robert_Bosch_GmbH] Robert Bosch GmbH mailto:Klaus.Warth&bosch.com 2012-07-17 +# [Robert_Boudrie] Robert Boudrie mailto:boudrie_rob&emc.com 2008-06-09 +# [Robert_Byrne] Robert Byrne mailto:robert.byrne&ie.abb.com 2006-09 +# [Robert_C_Henningsga] Robert C. Henningsgard mailto:rhenn_iana&laptwo.com +# [Robert_Ciochon] Robert Ciochon mailto:robert.ciochon&ca.com 2006-08 +# [Robert_D_Vincent] Robert D. Vincent mailto:bert&willowpond.com +# [Robert_Diamond] Robert Diamond mailto:rmd6502&gmail.com 2012-07-06 +# [Robert_Dye] Robert Dye mailto:rob&natinst.com +# [Robert_E_Johnson_II] Robert E. Johnson III mailto:johnson.robert&cimcor.com 2003-04 +# [Robert_E_Minnear] Robert E. Minnear mailto:minnear&ipsilon.com +# [Robert_Eden] Robert Eden mailto:reden&sieglertech.com 2003-03 +# [Robert_Ellman] Robert Ellman mailto:rellman&calicotech.com +# [Robert_Erl] Robert Erl mailto:roerl&web.de 2003-04 +# [Robert_Ford] Robert Ford mailto:robert&intrinsa.com +# [Robert_Frazier] Robert Frazier mailto:BobF&mrp3.com +# [Robert_Goodyear] Robert Goodyear mailto:robg&brand-up.com +# [Robert_Gordon] Robert Gordon mailto:rbg&austin.ibm.com +# [Robert_Grant] Robert Grant mailto:rob&grantedsw.com +# [Robert_Harvey] Robert Harvey mailto:robert&officetoolspro.com 2006-01 +# [Robert_Helton] Robert Helton mailto:bob_helton&medimage.com 2003-10 +# [Robert_Hodgson] Robert Hodgson mailto:rrh&gxt.com +# [Robert_Hodgson_2] Robert Hodgson mailto:robert¶tek.co.uk +# [Robert_Hufsky] Robert Hufsky mailto:rhufsky&csesys.co.at +# [Robert_J_Chansler] Robert J. Chansler mailto:robert.chansler&mcdata.com +# [Robert_J_Scott] Robert J. Scott mailto:rob&hpcmo.hpc.mil 2005-08 +# [Robert_John_Churchil] Robert John Churchill mailto:rjc&rjcdb.com 2006-01 +# [Robert_Kevin_Breton] Robert Kevin Breton mailto:BOBBRETON&hotmail.com +# [Robert_M_Mackowiak] Robert M. Mackowiak mailto:rmackowiak&quest.com 2002-02 +# [Robert_M_Moore] Robert M. Moore mailto:robert.moore&tunstall.co.uk +# [Robert_Marinelli] Robert Marinelli mailto:bob&sychron.com 2003-03 +# [Robert_Monat] Robert Monat mailto:jerand&jerand.com +# [Robert_Orr] Robert Orr mailto:rorr&teltone.com +# [Robert_Parks] Robert Parks mailto:robert_parks&filemaker.com 2010-05-12 +# [Robert_Porter] Robert Porter mailto:rob&gradecam.com 2009-09-24 +# [Robert_Reimiller] Robert Reimiller mailto:bob&certsoft.com +# [Robert_Ripberger] Robert Ripberger mailto:rip&lan-aces.com +# [Robert_Shaffer] Robert Shaffer mailto:bob.shaffer&micmod.com 2006-02 +# [Robert_Stabl] Robert Stabl mailto:stabl&informatik.uni-muenchen.de +# [Robert_Thomas] Robert Thomas mailto:BThomas&f.bbn.com +# [Robert_Ullmann] Robert Ullmann mailto:ariel&world.std.com +# [Robert_Ullmann_2] Robert Ullmann mailto:Robert_Ullmann/CAM/Lotus.LOTUS@crd.lotus.com +# [Robert_Vincent] Robert Vincent mailto:bert&mck.com +# [Robert_W_Hodges] Robert W Hodges mailto:iana&precdata.com 2005-01 +# [Robert_W_Scheifler] Robert W. Scheifler mailto:RWS&xx.lcs.mit.edu +# [Robert_Waters] Robert Waters mailto:bobtek&hotmail.com +# [Robert_Watson] Robert Watson mailto:robert&cyrus.watson.org +# [Robert_Wetzold] Robert Wetzold mailto:robert.wetzold&fibotrader.com 2006-01 +# [Robert_Wiebe] Robert Wiebe mailto:crw010&email.mot.com +# [Robert_Wright] Robert Wright, Founder Audio Precision Inc. mailto:ianaports&ap.com 2006-05 +# and Principal Engineer +# [Robert_Zuccherato] Robert Zuccherato mailto:robert.zuccherato&entrust.com +# [Roberto_De_Ioris] Roberto De Ioris mailto:info&unbit.it +# [Roberto_Garcia] Roberto Garcia mailto:garcia&apple.com +# [Roberto_Jorge_Dino] Roberto Jorge Dino mailto:roberto.dino&autotrac.com.br +# [Robin_Cover] Robin Cover OASIS KMIP Technical mailto:robin&oasis-open.org 2011-07-25 +# [Robin_Felix] Robin Felix mailto:zarkov_port&zarkov.com +# [Robin_Findley] Robin Findley mailto:rfindley&usa.net 2007-05 +# [Robin_Giese] Robin Giese mailto:rgiese&peddie.org +# [Robin_Johnston] Robin Johnston mailto:robinj&learningtree.com +# [Robin_Kar] Robin Kar mailto:Robin_Kar&ccm.hf.intel.com +# [Robin_Lewis] Robin Lewis mailto:robin.lewis&lanyon.com +# [Robin_Perkins] Robin Perkins mailto:robin.perkins&internode.on.net +# [Robin_Uyeshiro] Robin Uyeshiro mailto:robin_u&adtech-inc.com +# [Rod_Waltermann] Rod Waltermann mailto:walterma&us.lenovo.com 2006-02 +# [Rod_Ward] Rod Ward mailto:RWard&vaccmel1.telstra.com.au +# [Roderick_Mann] Roderick Mann mailto:rmann&latencyzero.com 2011-10-20 +# [Rodney_Iwashina] Rodney Iwashina mailto:rodney&cyclone.rfx.com +# [Rodrigo_Ormonde] Rodrigo Ormonde mailto:ormonde&aker.com.br +# [Rodrigo_Terra] Rodrigo Terra Lumis mailto:rterra&lumis.com.br 2011-10-24 +# [Roel_Harbers] Roel Harbers mailto:r.harbers&ict-control.com 2005-08 +# [Roger_Binns] Roger Binns mailto:rogerb&sco.com +# [Roger_Huebner] Roger Huebner mailto:iana-ports&netiq.com 2010-08-25 +# [Roger_Kay] Roger Kay mailto:r.kay&nz.dialogic.com +# [Roger_Klorese] Roger Klorese mailto:roger&xensource.com 2006-06 +# [Roger_Knobbe] Roger Knobbe mailto:RogerK&wonderware.com +# [Roger_Kumpf] Roger Kumpf mailto:kumpf&cup.hp.com +# [Roger_Lemberg] Roger Lemberg mailto:rlemberg&uswi.com +# [Roger_Matthias] Roger Matthias mailto:rogermatthias&yahoo.co.uk 2009-08-24 +# [Roger_Meli] Roger Meli mailto:rmmeli%25winvmd@vnet.ibm.com +# [Roger_Pantos] Roger Pantos mailto:rpantos&apple.com +# [Roger_Pao] Roger Pao mailto:rpao&corder-eng.com +# [Roger_Ward] Roger Ward mailto:roger.ward&ger911.com 2009-09-25 +# [Rogue_Amoeba] Rogue Amoeba mailto:earphoria&rogueamoeba.com +# [Rogue_Amoeba_2] Rogue Amoeba mailto:nicecast&rogueamoeba.com +# [Rohan_Story] Rohan Story mailto:rohan&aurema.com +# [Rohit_Garg] Rohit Garg mailto:rohit.garg&eng.sun.com +# [Rohit_Garg_2] Rohit Garg mailto:rohit&objectscape.com +# [Roland_Hedberg] Roland Hedberg mailto:Roland.Hedberg&umdac.umu.se +# [Roland_Hedberg_2] Roland Hedberg mailto:roland&catalogix.se 2005-08 +# [Roland_Rupp] Roland Rupp mailto:r.rupp&pilz.de 2006-11 +# [Roland_Schneider] Roland Schneider mailto:rsch&nicherms.com 2003-10 +# [Roland_van_der_Veen] Roland van der Veen mailto:rvdveen&aqualectra.nl 2010-06-17 +# [Roman_Kriis] Roman Kriis mailto:roman&previo.ee +# [Roman_Oliynyk] Roman Oliynyk mailto:romano&netinst.com +# [Roman_Oliynyk_2] Roman Oliynyk mailto:roman&netinst.com 2007-08-30 +# [Roman_Stepanek] Roman Stepanek SODATSW spol. s r.o. mailto:roman.stepanek&sodatsw.cz 2012-05-31 +# [Romeo_Kasanwidjojo] Romeo Kasanwidjojo mailto:romeoµcomgroup.com +# [Ron_Achin] Ron Achin mailto:RAchin&genscan.com +# [Ron_Barber] Ron Barber mailto:ron.barber&amx.com 2003-11 +# [Ron_Capwell] Ron Capwell mailto:ron&artifactsoftware.com 2002-06 +# [Ron_Ehli] Ron Ehli mailto:ron&itinternet.net +# [Ron_Folk] Ron Folk mailto:rfolkes&avl.com +# [Ron_Frederick] Ron Frederick mailto:frederick&parc.xerox.com +# [Ron_Herardian] Ron Herardian mailto:rherardi&gssnet.com 2002-03 +# [Ron_Kuris] Ron Kuris mailto:rk&unify.com 2006-05 +# [Ron_Lawson] Ron Lawson mailto:ronaldl&hpindacx.cup.hp.com +# [Ron_Lussier] Ron Lussier mailto:coyote&likeminds.com +# [Ron_Minnich] Ron Minnich mailto:rminnich&acl.lanl.gov +# [Ron_Minnich_2] Ron Minnich mailto:rminnich&sarnoff.com +# [Ron_Muellerschoen] Ron Muellerschoen mailto:rjm&cobra.jpl.nasa.gov +# [Ron_Passerini] Ron Passerini mailto:rpasserini&vmware.com 2010-04-27 +# [Ron_Steed] Ron Steed mailto:rsteed&cemaphore.com 2003-11 +# [Ron_Thornton] Ron Thornton mailto:thornton&qm7501.genrad.com +# [Ron_Vaughn] Ron Vaughn mailto:rv&intellistor.com +# [Ron_Zalkind] Ron Zalkind mailto:ron&aprigo.com 2010-05-28 +# [Ron_Zuckerman] Ron Zuckerman mailto:ron.zuckerman&lsi.com 2007-08-30 +# [Ronald_Jimmink] Ronald Jimmink mailto:Ronald.Jimmink&chipper.nl +# [Ronald_R_Ohmer] Ronald R. Ohmer mailto:rohmer&aisconsulting.net 2004-02 +# [Ronald_Snyder] Ronald Snyder mailto:pugaroni&sssnet.com 2006-03 +# [Ronen_Shaul] Ronen Shaul mailto:ronen&arnetsystems.com 2003-10 +# [Ronen_Vainish] Ronen Vainish mailto:ronen&digitalfountain.com +# [Ronen_Zoran] Ronen Zoran mailto:ronenz&cyber-ark.com +# [Rong_Yu] Rong Yu mailto:rongyuµsoft.com 2010-08-10 +# [Roni_Even] Roni Even mailto:roni_e&accord.co.il +# [Roni_Moshitzky] Roni Moshitzky mailto:rmosh&checkpoint.com +# [Ronnie_De_Giorgio] Ronnie De Giorgio Silverstring Ltd. mailto:rdegiorgio&silverstring.com 2011-09-15 +# [Ronnie_Sahlberg] Ronnie Sahlberg mailto:ronniesahlberg&gmail.com 2007-07-05 +# [Ronny_Bremer] Ronny Bremer mailto:rbremer&almanid.com +# [Rory_McClure] Rory McClure mailto:mcclurert&hotmail.com +# [Rory_McGuire] Rory McGuire mailto:rlpm&apple.com 2010-09-24 +# [Rory_McGuire_2] Rory McGuire mailto:rlpm&apple.com +# [Ross_Binkley] Ross Binkley Research Electronics mailto:software&reiusa.net 2012-12-20 +# [Ross_E_Greinke] Ross E. Greinke mailto:greinker&execpc.com +# [Ross_Swithenbank] Ross Swithenbank mailto:iana&ncode.co.uk 2006-09 +# [Ross_Williams] Ross Williams mailto:ross&rocksoft.com +# [Roustem_Karimov] Roustem Karimov mailto:roustem&agilewebsolutions.com +# [Rowan_Daniell] Rowan Daniell mailto:rowan&cognito.co.nz +# [Roy_Chastain] Roy Chastain mailto:roy&kmsys.com +# [Roy_Davies] Roy Davies mailto:rdavies&daq.net 2005-08 +# [Roy_Reapor] Roy Reapor mailto:rreapor&wyatt.com +# [Royal_King] Royal King mailto:royal.king&compaq.com 2002-02 +# [Ruben_Beltran] Ruben Beltran del Rio www.nsovocal.com mailto:ben&nsovocal.com 2011-10-18 +# [Rudi_Chiarito] Rudi Chiarito mailto:nutello&sweetness.com +# [Rudi_Martin] Rudi Martin mailto:movies::martin%22@movies.enet.dec.com +# [Rudi_Martin_2] Rudi Martin mailto:Rudi.Martin&edo.mts.dec.com +# [Rudi_Visser] Rudi Visser mailto:rudi.visser&ljund.eu 2011-07-07 +# [Rudolf_Cardinal] Rudolf Cardinal mailto:rudolf&pobox.com 2002-02 +# [Rudolph_Balaz] Rudolph Balaz mailto:rudolphbµsoft.com +# [Ruediger_Wald] Ruediger Wald mailto:wald&ez-darmstadt.telekom.de +# [Rumiko_Kikuta] Rumiko Kikuta mailto:kiku&nd.net.fujitsu.co.jp +# [Russ_Allbery] Russ Allbery mailto:rra&stanford.edu 2007-08-30 +# [Russ_Ferriday] Russ Ferriday mailto:russf&topia.com +# [Russ_Olivant] Russ Olivant mailto:russ.olivant&metrica.co.uk +# [Russ_Thrasher] Russ Thrasher mailto:Russell.Thrasher&veritas.com +# [Russell_Crook] Russell Crook mailto:rmc&sni.ca +# [Russell_Kroll] Russell Kroll mailto:nut-iana&exploits.org 2002-05 +# [Russell_M_Taylor_II] Russell M. Taylor II mailto:taylor&cs.unc.edu 2003-10 +# [Russell_P_Holsclaw] Russell P. Holsclaw Fast Data Technology mailto:rholsclaw&fastdatatech.com 2006-03 +# [Russell_Thrasher] Russell Thrasher mailto:rthrashe&veritas.com +# [Ruth_Slater] Ruth Slater mailto:ruth.slater&ideagen.co.uk +# [Ruwan_Linton] Ruwan Linton mailto:ruwan&wso2.com 2008-08-20 +# [Rx_Networks_Inc] Rx Networks Inc. mailto:ddavies&rxnetworks.com 2013-01-24 +# [Ryan_Bolz] Ryan Bolz mailto:ryanboµsoft.com +# [Ryan_Columbus] Ryan Columbus mailto:IANA_Contact&agilent.com 2002-10 +# [Ryan_Finnie] Ryan Finnie mailto:ryan&finnie.org 2010-10-06 +# [Ryan_Mack] Ryan Mack mailto:rmackµsoft.com 2009-04-29 +# [Ryan_Melville] Ryan Melville mailto:ryan_melville&soniqcast.com 2004-01 +# [Ryan_Rubley] Ryan Rubley mailto:root&ark.dyn.ml.org +# [Ryan_Smith] Ryan Smith mailto:ryans&nstor.com 2006-07 +# [Ryan_Werber] Ryan Werber mailto:ryan&ncxti.com 2006-06 +# [Ryoichi_Shinohara] Ryoichi Shinohara mailto:shinohara&vnet.ibm.com +# [Ryozo_Furutani] Ryozo Furutani mailto:furutani&np.lps.cs.fujitsu.co.jp +# [Ryuichi_Horie] Ryuichi Horie mailto:horie&spad.sysrap.cs.fujitsu.co.jp +# [Ryuichi_Suzuki] Ryuichi Suzuki mailto:SCI00376&niftyserve.or.jp +# [Ryusuke_Okuhara] Ryusuke Okuhara Canon Inc. mailto:okuhara.ryuusuke&canon.co.jp 2012-06-08 +# [Samsung] Samsung mailto:rcn95&samsung.com 2013-01-03 +# SEGGER +# [SEGGER] Microcontroller GmbH mailto:info&segger.com 2009-01-16 +# & Co. KG +# [SEIKO_EPSON] SEIKO EPSON mailto:APD.admin&exc.epson.co.jp 2006-06 +# [SEIKO_EPSON_2] SEIKO EPSON mailto:Ishida.Hitoshi&exc.epson.co.jp +# [SEIKO_EPSON_3] SEIKO EPSON mailto:Sato.Minoru3&exc.epson.co.jp 2002-10 +# [SEIKO_EPSON_4] SEIKO EPSON mailto:ProjectorSoft&exc.epson.co.jp 2008-11-17 +# [SGI] SGI mailto:jsygulla&sgi.com 2013-01-07 +# [SMA_Solar_Techology] SMA Solar Techology AG mailto:thomas.weber&sma.de 2011-03-08 +# [SONET_Internetworkin] SONET Internetworking mailto:bwarijsman&lucent.com +# Forum (SIF) +# [SYSTEMS_MANAGER] SYSTEMS MANAGER mailto:systems-manager&scientia.com +# [Saar_Wilf] Saar Wilf mailto:saar&trivnet.com +# [Sabri_Berisha] Sabri Berisha mailto:sabri&cluecentral.net 2003-06 +# [Sabu_Das] Sabu Das mailto:sabud&zicomsecure.com 2003-06 +# [Sachin_Desai] Sachin Desai mailto:sachin&clairmail.com +# [Sachin_Sheth] Sachin Sheth Microsoft Corporation mailto:sachinsµsoft.com 2012-06-27 +# [SafeNet] SafeNet mailto:rtao&safenet-inc.com 2012-07-26 +# [Sailalong_Software] Sailalong Software mailto:CustomerService&sailalong.com +# [Salvo_Nassisi] Salvo Nassisi mailto:sdtech&tin.it +# [Sam_Borman] Sam Borman mailto:sam_borman&uk.ibm.com +# [Sam_Bretheim] Sam Bretheim mailto:info&opensigint.org 2009-01-08 +# [Sam_Carleton] Sam Carleton mailto:scarleton&miltonstreet.com +# [Sam_Carleton_2] Sam Carleton AccuMed Services mailto:scarleton&accu-med.com 2011-10-20 +# [Sam_Osa] Sam Osa mailto:pristine&mailcity.com +# [Sam_Vaughan] Sam Vaughan mailto:samv&blackmagic-design.com 2011-03-01 +# [Sameer_Deokule] Sameer Deokule mailto:sameer.deokule&veritas.com 2002-03 +# [Samppa_Lahtinen] Samppa Lahtinen mailto:samppa.lahtinen&motivesys.com 2004-06 +# [Samuel_Bercovici] Samuel Bercovici mailto:samuelb&radware.com 2011-08-05 +# [Samuel_Jero] Samuel Jero mailto:sj323707&ohio.edu 2012-11-14 +# [Samuele_Sequi] Samuele Sequi mailto:samuelesequi&defcom.it 2004-02 +# [Sanchaita_Datta] Sanchaita Datta mailto:sdatta&ragula.com +# [Sancho_Lerena] Sancho Lerena mailto:slerena&artica.es 2009-06-02 +# [Sandeep_K_Singhal] Sandeep K. Singhal mailto:singhal&cs.stanford.edu +# [Sandeep_Singhal] Sandeep Singhal mailto:sandeep&reefedge.com +# [Sandra_Frulloni] Sandra Frulloni mailto:frulloni.amtec&interbusiness.it +# [Sandra_Vargas] Sandra Vargas mailto:Sandramaµsoft.com 2003-03 +# [Sandy_Kronenberg] Sandy Kronenberg mailto:sandy&netarx.com 2008-04-03 +# [Sanford_Selznick] Sanford Selznick mailto:sanford-srvtype&selznick.com +# [Sanjay_Parekh] Sanjay Parekh mailto:spot&digitalenvoy.net +# [Sanjay_Radia] Sanjay Radia mailto:srradia&kasumbi.eng.sun.com +# [Santa_Dasu] Santa Dasu mailto:Santa_Dasu&quickeagle.com +# [Santorini_LLC] Santorini, LLC mailto:cameron&santorinillc.com 2011-10-25 +# [Sarah_Allen] Sarah Allen mailto:sallen¯omedia.com +# [Sarah_Thompson] Sarah Thompson mailto:sarah&telergy.com +# [Sarene_Caiazza] Sarene Caiazza mailto:scaiazza&proquesys.com 2010-04-27 +# [Sascha_Kuemmel] Sascha Kuemmel mailto:kuemmel&vidsoft.de +# [Satoshi_Matsumoto] Satoshi Matsumoto mailto:satoshi&artman21.co.jp +# [Saugata_Guha] Saugata Guha mailto:sguha&veritas.com 2004-05 +# [Scott_A_Kramer] Scott A. Kramer mailto:sk&tleilaxu.sde.hp.com +# [Scott_Anderson] Scott Anderson mailto:sanderso&workingmachines.com +# [Scott_Bellew] Scott Bellew mailto:smb&cs.purdue.edu +# [Scott_Blachowicz] Scott Blachowicz mailto:scott&statsci.com +# [Scott_Dale] Scott Dale mailto:scott&replicase.com +# [Scott_Dale_2] Scott Dale mailto:scott&tioga.com +# [Scott_Dawson] Scott Dawson mailto:sdawson&arbor.net 2011-07-01 +# [Scott_Engel] Scott Engel mailto:ScottX_Engel&ccm.jf.intel.com +# [Scott_Godlew] Scott Godlew mailto:Scott&godlew.com +# [Scott_Grau] Scott Grau mailto:sgrau&stonefalls.com +# [Scott_Griepentrog] Scott Griepentrog mailto:griepentrogs&atlinks.com 2002-10 +# [Scott_Guthery] Scott Guthery mailto:sguthery&mobile-mind.com 2002-05 +# [Scott_Guthery_2] Scott Guthery mailto:sguthery&hidcorp.com 2008-08-25 +# [Scott_Halberg] Scott Halberg mailto:eng&calypsosystems.com 2009-06-02 +# [Scott_Harris] Scott Harris mailto:Scott&xramp.com 2003-02 +# [Scott_Herscher] Scott Herscher mailto:scott&porchdogsoft.com 2005-08 +# [Scott_Herscher_2] Scott Herscher mailto:scott&strixsystems.com +# [Scott_Hollenbeck] Scott Hollenbeck mailto:shollenb&netsol.com +# [Scott_Howard] Scott Howard mailto:scott&byressecurity.com 2009-10-13 +# [Scott_Jann] Scott Jann Tightrope Media mailto:sjann&trms.com 2011-10-17 +# Systems, Inc. +# [Scott_Kramer] Scott Kramer mailto:scottk&truebluesoftware.com +# [Scott_Levin] Scott Levin mailto:scott.levin&hp.com 2009-03-19 +# [Scott_Libert] Scott Libert mailto:scott.libert&thomson.net 2008-01-29 +# [Scott_Mager] Scott Mager mailto:Scott.Mager&cerner.com 2006-10 +# [Scott_Miller] Scott Miller mailto:scott&opentrac.org 2003-08 +# [Scott_Narveson] Scott Narveson mailto:sjn&cray.com +# [Scott_Petrack] Scott Petrack mailto:Scott_Petrack&vocaltec.com +# [Scott_Powell] Scott Powell mailto:spowell&openhorizon.com +# [Scott_Shaffer] Scott Shaffer mailto:scott.shaffer&hp.com +# [Scott_Shattuck] Scott Shattuck mailto:ss&dbsa.com +# [Scott_Southard] Scott Southard mailto:iana-ports&netiq.com 2010-08-25 +# [Scott_St_Clair] Scott St. Clair mailto:stclair&ntc.adaptec.com +# [Scott_Tarone] Scott Tarone mailto:starone&proactivethought.com 2003-04 +# [Scott_Tooker] Scott Tooker mailto:tooker&apple.com +# [SCOTTY_Group_SE] SCOTTY Group SE mailto:p.verbeek&scottygroup.com 2013-01-14 +# [Sean_Adams] Sean Adams mailto:sean&slimdevices.com 2002-05 +# [Sean_D_Solle] Sean D. Solle VSN International mailto:sean&vsni.co.uk 2011-09-28 +# [Sean_MacGuire] Sean MacGuire mailto:sean&maclawran.ca +# [Sean_Ni] Sean Ni mailto:seanni&digitalinstinct.com.tw 2006-02 +# [Seb_Ibis] Seb Ibis mailto:seb_ibis&pkworld.com +# [Sebastian_Kiesel] Sebastian Kiesel mailto:kiesel&ikr.uni-stuttgart.de 2006-01 +# [Sebastien_Bury] Sebastien Bury WAP Forum mailto:sebastien.bury&art.alcatel.fr +# [Sebastien_Hinderer] Sebastien Hinderer mailto:Sebastien.Hinderer&ens-lyon.org 2006-03 +# [Sebastien_Lambla] Sebastien Lambla mailto:lambla&bouygtel.com +# [Seiko_Epson] Seiko Epson mailto:Ishida.Hitoshi&exc.epson.co.jp +# [Semantix] Semantix mailto:xsSupport&semantix.com +# [Senthil_Ponnuswamy] Senthil Ponnuswamy mailto:senthil&veritas.com +# [Serge_DE_LUCA] Serge DE LUCA mailto:sdeluca&lacie.com +# [Serge_Vacquier] Serge Vacquier mailto:vacquier&systar.fr 2009-05-20 +# [Sergei_Ivanov] Sergei Ivanov mailto:sergeiµsoft.com 2003-10 +# [Sergei_Zjaikin] Sergei Zjaikin mailto:serge&previo.ee 2002-02 +# [Sergey_Bolshedvorsky] Sergey Bolshedvorsky Smart Apps LTD mailto:info&smartapps.co 2011-10-11 +# [Sergey_Burnevsky] Sergey Burnevsky mailto:sergey.burnevsky&nokia.com 2006-08 +# [Sergio_Heker] Sergio Heker mailto:heker&jvncc.csc.org +# [Sergio_Luis] Sergio Luis Dias Lima mailto:slgramacho&gmail.com 2012-02-27 +# Gramacho +# [Serguei_Osokine] Serguei Osokine mailto:osokin¶graph.com +# [Serguei_Tevs] Serguei Tevs mailto:STevs&ivecon.com 2002-02 +# [Service_Desk_Product] Service Desk Product mailto:info&hp.com 2006-05 +# [Shahriar_Pourazin] Shahriar Pourazin mailto:pourazin&sepehrs.com 2008-12-02 +# [Shai_Herzog] Shai Herzog mailto:herzog&iphighway.com +# [Shailesh_S_Bavadeka] Shailesh S. Bavadekar mailto:shailesh.bavadekar&sun.com 2002-04 +# [Shams_Naqi] Shams Naqi mailto:SSNAQVI&aol.com +# [Shane_Dick] Shane Dick mailto:shane.dick&amx.com 2005-08 +# [Shane_McRoberts] Shane McRoberts mailto:mcroberts&miteksys.com +# [Shane_O_Donnell] Shane O'Donnell mailto:shane&opennms.org +# [Shane_Roberts] Shane Roberts mailto:shane&shaneroberts.com 2002-07 +# [Shankar_Prasad] Shankar Prasad mailto:Shankar.Prasad&honeywell.com +# [Shankar_Prasad_2] Shankar Prasad mailto:shankar.prasad&honeywell.com +# [Shannon_Yeh] Shannon Yeh mailto:yeh&netix.com +# [Shantonu_Sen] Shantonu Sen mailto:ssen&apple.com +# [Shaper_Automation] Shaper Automation mailto:ports&shaperai.com 2012-06-22 +# [Shaun_Byrne] Shaun Byrne mailto:s_byrne&tunstall.co.uk 2009-08-18 +# [Shaun_Wexler] Shaun Wexler mailto:dev&macfoh.com +# [Shawn_Casey] Shawn Casey mailto:Shawn.Casey&matrixone.com +# [Sheila_Devins] Sheila Devins mailto:sheila_devins&vnet.ibm.com +# [Shekar_Pasumarthi] Shekar Pasumarthi mailto:shekarp&firstfloor.com +# [Shifted_Current] Shifted Current LLC mailto:ask&shiftedcurrent.com 2012-09-11 +# [Shigenaka_Kanemitsu] Shigenaka Kanemitsu mailto:Shigenaka_Kanemitsu&ypd.kyocera.co.jp +# [Shingo_Kimura] Shingo Kimura mailto:Shingo.Kimura&jp.sony.com 2005-08 +# [Shinji_Yamanaka] Shinji Yamanaka mailto:syamanaka&jci.co.jp +# [Shinya_Abe] Shinya Abe mailto:abeabe&pfu.co.jp +# [Shiro_Tamoto] Shiro Tamoto mailto:tamoto.shiro&jp.panasonic.com 2003-10 +# [Shivakumar_S_Govind] Shivakumar S. mailto:shivak&eng.sun.com +# Govindarajapuram +# [Shivaun_Albright] Shivaun Albright mailto:shivaun_albright&hp.com 2002-04 +# [ShofarNexus] ShofarNexus.com mailto:John.Kozlowski&ShofarNexus.com 2012-02-20 +# [Shoichi_Tachibana] Shoichi Tachibana mailto:tatibana&yk.fujitsu.co.jp +# [Shree_Murthy] Shree Murthy mailto:shree&cisco.com 2009-10-29 +# [Shu_Wei_Tan] Shu-Wei Tan mailto:stan&omnicomtech.com 2003-03 +# [Shue_Lin_Kuo] Shue-Lin Kuo mailto:shuelin&mdk.sanjose.vlsi.com +# [Shuji_Okubo] Shuji Okubo mailto:okubo&yk.fujitsu.co.jp +# [Shuvayu_Kanjilal] Shuvayu Kanjilal +# [Si_Becker] Si Becker mailto:71362.22&compuserve.com +# [Sierra_Photonics_Inc] Sierra Photonics, mailto:support&sierraphotonics.com 2011-10-20 +# [Siew_Sim] Siew Sim mailto:ssim&asempra.com 2005-08 +# [Sigfus_Magnusson] Sigfus Magnusson mailto:sigfusm&menandmice.com +# [Sigma_Designs_Inc] Sigma Designs, Inc. mailto:anders_brandt&sigmadesigns.com 2011-10-03 +# [Sigma_Designs_Inc_2] Sigma Designs, Inc. mailto:pr&sdesigns.com 2012-11-08 +# [Signwave_Networking] Signwave Networking mailto:mail&signwave.co.uk +# Development Team +# [Silvano_Maffeis] Silvano Maffeis mailto:maffeis&softwired.ch +# [Silvano_Maffeis_2] Silvano Maffeis mailto:maffeis&acm.org 2008-01-16 +# [Silverstring_Ltd] Silverstring Ltd. mailto:rdegiorgio&silverstring.com 2011-09-15 +# [Simon_Baldwin] Simon Baldwin mailto:simonb&sco.com +# [Simon_Barber] Simon Barber mailto:simon.barber&parc.com 2009-09-29 +# [Simon_Butcher] Simon Butcher mailto:simonb&alien.net.au +# [Simon_Chinnick] Simon Chinnick mailto:support&cogsys.co.uk +# [Simon_Edwards] Simon Edwards +# [Simon_Ensslen] Simon Ensslen Oblamatik AG mailto:s.ensslen&oblamatik.ch 2012-09-05 +# [Simon_Haertel] Simon Haertel mailto:simonhaertel&web.de +# [Simon_Hovell] Simon Hovell mailto:simonh&brandcomms.com +# [Simon_J_Gerraty] Simon J. Gerraty mailto:sjg&quick.com.au +# [Simon_Jolly] Simon Jolly mailto:simon.jolly&origin-data.co.uk 2002-07 +# [Simon_Middleton] Simon Middleton ANT Software Limited mailto:simon.middleton&antplc.com 2012-12-06 +# [Simon_Newton] Simon Newton mailto:simon&nomis52.net 2012-06-01 +# [Simon_P_Jackson] Simon P Jackson mailto:jacko&kring.co.uk +# [Simon_Parker] Simon Parker mailto:simon.j.parker&philips.com +# [Simon_Phipps] Simon Phipps mailto:sphipps&vnet.ibm.com +# [Simon_Robillard] Simon Robillard mailto:RobillardS&actresearch.com +# [Simon_Skaria] Simon Skaria mailto:simonskµsoft.com 2006-01 +# [Simon_Wunderlich] Simon Wunderlich mailto:siwu&hrz.tu-chemnitz.de 2007-08-30 +# [Simone_Molendini] Simone Molendini mailto:simone.molendini&unile.it 2003-11 +# [Simson_L_Garfinkel] Simson L. Garfinkel mailto:simsong&next.cambridge.ma.us +# [Sinnadurai_Dharshan] Sinnadurai Dharshan mailto:sinnadurai.dharshan&ni.com 2002-07 +# [Siva_Poobalasingam] Siva Poobalasingam mailto:siva&towersoft.com.au 2006-03 +# [Siva_Poobalasingam_2] Siva Poobalasingam mailto:Siva.Poobalasingam&towersoft.com.au 2007-02 +# [Skip_Booth] Skip Booth mailto:sbooth&vnet.ibm.com +# [Skip_Levens] Skip Levens mailto:skip&activestoragelabs.com +# [Sky_Schulz] Sky Schulz mailto:sky&edgeofreality.com 2011-05-09 +# [Slava_Monich] Slava Monich mailto:Slava.Monich&nokia.com 2003-01 +# [Slawomir_Krzesinski] Slawomir Krzesinski mailto:slavek&optiwave.com +# [Smart_Apps_LTD] Smart Apps LTD mailto:info&smartapps.co 2011-10-11 +# [Smith_Micro] Smith Micro mailto:cs&smithmicro.com +# [Smith_Micro_Software_Inc] Smith Micro Software, mailto:dsperling&smithmicro.com 2011-10-10 +# [SODATSW_spol] SODATSW spol. s r.o. mailto:info&sodatsw.cz 2012-05-31 +# [SOFTPRO_GmbH] SOFTPRO GmbH mailto:Dirk.Claussen&softpro.de 2012-07-19 +# [softthere_com] softthere.com mailto:technical&softthere.com 2011-10-17 +# [Software_Horizons_In] Software Horizons mailto:oi2000&shorizons.com +# [Software_LI-COR_Biosciences] Software LI-COR mailto:kevin.ediger&licor.com 2011-10-18 +# [Song_Jian] Song Jian mailto:info&vatata.com 2008-09-15 +# [Songlin_Ren] Songlin Ren mailto:ren&veritas.com +# [Songwon_Chi] Songwon Chi mailto:swchi&daou.co.kr +# [Sonzea] Sonzea, LLC mailto:support&sonzea.com +# [Sophie_Deng] Sophie Deng mailto:Sophie.Deng&eng.sun.com +# [Soeren_Havemester] Soeren Havemester mailto:reshave&gmail.com 2013-02-18 +# [Soren_Weber] Soren Weber mailto:sw&ditec-gmbh.de +# [Soumitra_Sarkar] Soumitra Sarkar mailto:sarkar&vnet.ibm.com +# [Spencer_Teran] Spencer Teran mailto:steran&dotalot.com 2005-08 +# [Spencer_Teran_2] Spencer Teran mailto:steran&ars.com 2004-11 +# [Sphera_Software] Sphera Software mailto:contact&sphera-soft.com +# [SpinetiX_S_A] SpinetiX S.A. mailto:Diego.SantaCruz&spinetix.com 2011-10-18 +# [Squadra_Technologies] Squadra Technologies mailto:anthony&squadratechnologies.com 2012-03-14 +# [Square_Connect_Inc] Square Connect, Inc. mailto:mat&squareconnect.com 2011-10-07 +# [Squee_Application_Development] Squee! Application mailto:tristan&squee.co 2011-07-19 +# [Srdjan_Holovac] Srdjan Holovac mailto:srdjan&empress.com +# [Sreenivas_Bagalkote] Sreenivas Bagalkote mailto:sreenib&lsil.com 2002-08 +# [Sreeram_Duvvuru] Sreeram Duvvuru mailto:sduv&sfbay.sun.com 2002-04 +# [Sri_Subramaniam] Sri Subramaniam mailto:sri&radiance.com +# [Sridhar_Krishnamurth] Sridhar Krishnamurthy mailto:Sridhar_Krishnamurthy&intuit.com 2008-02-15 +# [Srinivas_N_Mogalapa] Srinivas N. Mogalapalli mailto:srinivas&proxim.com +# [Srinivas_Reddy] Srinivas Reddy mailto:sreddy&vitalsigns.com +# [Srinivasa_Nayudu] Srinivasa Nayudu mailto:sn156n&att.com 2009-07-06 +# [Stacy_Kenworthy] Stacy Kenworthy mailto:skenworthy&applianceware.com +# [Stanislaw_Skowronek] Stanislaw Skowronek mailto:thesis&elementary.pl +# [Stanley_Knutson] Stanley Knutson mailto:Stanley.Knutson&ktiworld.com +# [Stefan_Auweiler] Stefan Auweiler mailto:stefan.auweiler&saitc.de 2009-11-16 +# [Stefan_Daun] Stefan Daun mailto:secretariat&cip4.org +# [Stefan_Ekenberg] Stefan Ekenberg mailto:stefan.ekenberg&stericsson.com +# [Stefan_Eriksson] Stefan Eriksson mailto:contact-iana&axis.com +# [Stefan_Hochuli] Stefan Hochuli mailto:iana.org&dunes.ch 2003-12 +# [Stefan_Pantke] Stefan Pantke mailto:sales&turingart.com +# [Stefan_Siebert] Stefan Siebert mailto:ssiebert&dcs.de +# [Stefan_Winkel] Stefan Winkel mailto:stefan&veritas.com 2004-04 +# [Steffen_Schilke] Steffen Schilke +# [Stein_Roger_Skaflott] Stein Roger Skaflotten mailto:skaflotten&gmail.com 2011-07-06 +# [Sten_H_Danielsen] Sten H. Danielsen mailto:shd&kopek.net 2002-07 +# [Stepan_Riha] Stepan Riha mailto:stepan.riha&hand.com +# [Stepehen_Campbell] Stepehen Campbell mailto:campbell&uniprise.com +# [Stephane_Clavel] Stephane Clavel Atomix Productions mailto:stephane.clavel&atomixproductions.com 2011-10-12 +# [Stephane_Beaulieu] Stephane Beaulieu mailto:stephane&cisco.com 2002-02 +# [Stephane_Bourque] Stephane Bourque mailto:stephb&incognito.com +# [Stephane_Bourque_2] Stephane Bourque mailto:sbourque&arilia.com +# [Stephane_MONS] Stephane MONS mailto:stephane.mons&free.fr 2005-09 +# [Stephane_Touizer] Stephane Touizer mailto:touizerµcaptrade.com 2006-05 +# [Stephen_Aikins] Stephen Aikins mailto:stephen.aikins&embarcadero.com +# [Stephen_Casner] Stephen Casner mailto:casner&precpt.com +# [Stephen_Casner_2] Stephen Casner mailto:casner&precept.com +# [Stephen_Cipolli] Stephen Cipolli mailto:scipolli&radvision.com +# [Stephen_Dunne] Stephen Dunne mailto:sdun&isma.co.uk +# [Stephen_Egbert] Stephen Egbert mailto:egbert&ra.timeplex.com +# [Stephen_Gildea] Stephen Gildea mailto:gildea&lcs.mit.edu +# [Stephen_Hanna] Stephen Hanna mailto:hanna&world.std.com +# [Stephen_Hanna_2] Stephen Hanna mailto:steve.hanna&sun.com +# [Stephen_Harrison] Stephen Harrison mailto:sharrison&nimbusdb.com 2011-01-24 +# [Stephen_Hemminger] Stephen Hemminger mailto:shemminger&passedge.com +# [Stephen_Johnson] Stephen Johnson mailto:sjohnson&mindspring.com +# [Stephen_LaValley] Stephen LaValley mailto:lavalley&lucent.com +# [Stephen_M_Webb] Stephen M. Webb mailto:stephenw&xandros.com 2007-05 +# [Stephen_McCrea] Stephen McCrea mailto:smccrea&etlelectronique.com 2002-03 +# [Stephen_Misel] Stephen Misel mailto:steve.misel&interpath.net +# [Stephen_Misel_2] Stephen Misel mailto:steve&satelnet.org +# [Stephen_R_Whiteley] Stephen R. Whiteley mailto:stevew&wrcad.com 2010-10-07 +# [Stephen_Reed] Stephen Reed mailto:reed&cyc.com 2003-01 +# [Stephen_Reed_2] Stephen Reed mailto:stephenreed&yahoo.com 2010-06-17 +# [Stephen_Reid] Stephen Reid mailto:sreid&ti.com +# [Stephen_Tsun] Stephen Tsun mailto:stsun&jetstream.com +# [Stephen_Tsun_2] Stephen Tsun mailto:stsun&calient.net 2002-02 +# [Stephan_van_Tienen] Stephan van Tienen OCA Alliance mailto:stephan.vantienen&bosch.com 2012-10-11 +# [Steve_Bannister] Steve Bannister mailto:sbannister&stratacache.com +# [Steve_Barton] Steve Barton mailto:steveb&pacom.com 2002-03 +# [Steve_Beigel] Steve Beigel mailto:ublueb!steve&uunet.uu.net +# [Steve_Benoit] Steve Benoit mailto:sbenoi01&eng.eds.com +# [Steve_Britt] Steve Britt mailto:steve_britt&hp.com +# [Steve_Casner] Steve Casner mailto:Casner&isi.edu +# [Steve_Davis] Steve Davis mailto:sdavis&optum-inc.com +# [Steve_Dekorte] Steve Dekorte mailto:steve&dekorte.com +# [Steve_Dellutri] Steve Dellutri +# [Steve_Dellutri_2] Steve Dellutri mailto:sdellutri&cosmocom.com 2006-07 +# [Steve_Dobson] Steve Dobson mailto:sdobson&allstor.com +# [Steve_Dorner] Steve Dorner mailto:s-dorner&uiuc.edu +# [Steve_Favor] Steve Favor mailto:sfavor&tigger.intecom.com +# [Steve_Glassman] Steve Glassman mailto:steveg&pa.dec.com +# [Steve_Gums] Steve Gums Tenir Software mailto:sgums&tenirsoftware.com 2011-10-27 +# [Steve_Halverson] Steve Halverson mailto:shalver&us.ibm.com +# [Steve_Hay] Steve Hay mailto:SteveHay&planit.com 2008-06-13 +# [Steve_Hershey] Steve Hershey RGB Spectrum mailto:shershey&rgb.com 2011-10-10 +# [Steve_Husak] Steve Husak mailto:portmaster&cruisetech.com +# [Steve_Kellogg] Steve Kellogg mailto:stevekellogg&mezzogmr.com +# [Steve_Kille] Steve Kille mailto:S.Kille&isode.com +# [Steve_Kirsch] Steve Kirsch mailto:stk&infoseek.com +# [Steve_Kneizys] Steve Kneizys mailto:skneizys&erpdata.com 2006-11 +# [Steve_Laitinen] Steve Laitinen mailto:laitinen&brutus.aa.ab.com +# [Steve_McKinty] Steve McKinty mailto:steve.mckinty&sun.com 2005-11 +# [Steve_Meyer_Sr] Steve Meyer Sr. mailto:stevem&avanti-tech.com 2007-02 +# [Steve_Olson] Steve Olson mailto:solson&cognex.com +# [Steve_Polishinski] Steve Polishinski mailto:spolishinski&etcconnect.com +# [Steve_Qi] Steve Qi mailto:steve.qi&dyn-site.com 2003-11 +# [Steve_Quintana] Steve Quintana mailto:steve&icgresearch.com +# [Steve_Ravida] Steve Ravida mailto:steve.ravida&nebulaholdings.com +# [Steve_Read] Steve Read mailto:sread&ridgeway-sys.com +# [Steve_Ryckman] Steve Ryckman mailto:iana&simsware.com +# [Steve_Scherf] Steve Scherf mailto:steve&moonsoft.com +# [Steve_Spataro] Steve Spataro mailto:spataro_steve&emc.com +# [Steve_Spitzer] Steve Spitzer Electronics mailto:sspitzer&nmea.org 2011-09-15 +# [Steve_Splonskowski] Steve Splonskowski mailto:splons&splons.com +# [Steve_Sweeney] Steve Sweeney mailto:Steven_Sweeney&3mail.3com.com +# [Steve_T_Chiang] Steve T. Chiang mailto:schiang&cisco.com +# [Steve_Tuecke] Steve Tuecke mailto:tuecke&mcs.anl.gov +# [Steve_Van_Duser] Steve Van Duser mailto:steve.vanduser&bestpower.gensig.com +# [Steve_Zellers] Steve Zellers mailto:zellers&apple.com +# [Steven_B_Cliff] Steven B. Cliff mailto:scliff&remotec-andros.com 2003-07 +# The University +# [Steven_Emmerson] Steven Emmerson Corporation for mailto:emmerson&ucar.edu 2012-05-07 +# Atmospheric Research +# [Steven_Emmerson2] Steven Emmerson Corporation for mailto:support-ldm&unidata.ucar.edu 2012-05-18 +# [Steven_Fields] Steven Fields mailto:sfields&identix.com 2002-02 +# [Steven_Frare] Steven Frare mailto:stevefr&mosaix.com +# [Steven_G_Loughner] Steven G. Loughner mailto:stevengloughner&eaton.com 2007-03 +# [Steven_Gerhardt] Steven Gerhardt mailto:sgerhardt&ixiononline.com 2004-02 +# [Steven_Grigsby] Steven Grigsby mailto:sgrigsby&austin.eent.com +# [Steven_Holtsberg] Steven Holtsberg mailto:steveh&continuus.com +# [Steven_Kelly] Steven Kelly mailto:stevek&metacase.com 2007-11-12 +# [Steven_Kilby] Steven Kilby mailto:steven.kilby&kofax.com 2011-04-25 +# [Steven_Klein] Steven Klein mailto:stevek&ionetworks.com 2002-02 +# [Steven_Loomis] Steven Loomis mailto:srl&taligent.com +# [Steven_M_Forrester] Steven M. Forrester mailto:StevenF&capsuletech.com +# [Steven_Pelletier] Steven Pelletier mailto:stevep&availant.com +# [Steven_Ritland] Steven Ritland mailto:srr&us.ibm.com +# [Steven_Sawkins] Steven Sawkins mailto:ssawkins&symantec.com +# [Steven_Sweeting] Steven Sweeting mailto:ssweeting&sls-technology.com 2008-01-28 +# [Steven_Umbehocker] Steven Umbehocker OS NEXUS, Inc. mailto:steven.umbehocker&osnexus.com 2012-09-21 +# [Steven_W_Clark] Steven W. Clark mailto:steven.clark&avocent.com +# [Steven_W_Clark_2] Steven W. Clark mailto:sclark&equinox.com +# [Stoneware_Inc] Stoneware Inc. mailto:coby.gurr&stone-ware.com 2012-05-18 +# [StorMagic_Ltd] StorMagic Ltd mailto:chris_farey&stormagic.com 2011-12-16 +# [Stu_Mark] Stu Mark mailto:fordii&j51.com +# [Stuart_Allen] Stuart Allen mailto:stuart&jacl.animats.net 2002-02 +# [Stuart_Button] Stuart Button mailto:button&promis.com +# [Stuart_Cheshire] Stuart Cheshire mailto:cheshire&apple.com 2007-12-03 +# [Stuart_Cheshire_3] Stuart Cheshire mailto:mdnsresponder-ipc&multicastdns.org 2004-06 +# [Stuart_Cheshire_4] Stuart Cheshire mailto:pdl-datastream&apple.com 2002-09 +# [Stuart_Cheshire_5] Stuart Cheshire mailto:cheshire&apple.com +# [Stuart_J_Kerry] Stuart J. Kerry Chair IEEE 802.11 WG mailto:stuart&ok-brit.com 2002-05 +# [Stuart_Lynne] Stuart Lynne mailto:sl&wimsey.com +# [Stuart_Schaefer] Stuart Schaefer mailto:sschaefer&softricity.com +# [Subroto_Datta] Subroto Datta mailto:subrotod&altera.com +# [Sudhakar_Rajamannar] Sudhakar Rajamannar mailto:mobius1&cerfnet.com +# [Sudhir_Menon] Sudhir Menon mailto:sudhir¢erspan.com +# [Sudhir_Shetty] Sudhir Shetty mailto:Sudhir_Shetty&dell.com +# [Sue_Barnhill] Sue Barnhill mailto:snb&oc.com +# [Sufyan_Almajali] Sufyan Almajali mailto:sufyan.almajali&sdrlive.com 2008-06-27 +# [Sugih_Jamim] Sugih Jamim mailto:jamin&eecs.umich.edu +# [Sukanta_Ganguly] Sukanta Ganguly mailto:sganguly&kineticnetworks.com +# [Sulistio_Muljadi] Sulistio Muljadi +# [Sumit_Arora] Sumit Arora mailto:sumit.arora&sun.com 2007-06 +# [Sumitake_kobayashi] Sumitake kobayashi mailto:kobayashi&np.lps.cs.fujitsu.co.jp +# [Sundar_Srinivasan] Sundar Srinivasan mailto:sundarsµsoft.com 2006-05 +# [Sung_U_Ro] Sung U. Ro mailto:ePortalSupport&unisys.com 2006-01 +# [Support] Support mailto:support&officetime.net +# [Support_Staff] Support Staff Sierra Photonics, mailto:support&sierraphotonics.com 2011-10-20 +# [Support_Team] Support Team mailto:support&eucalyptus.com +# [Surendra_Kumar] Surendra Kumar Cisco mailto:smkumar&cisco.com 2012-06-11 +# [Susan_Hinrichs] Susan Hinrichs mailto:shinrich&cisco.com +# [Susan_Sauter] Susan Sauter mailto:ssauter&cisco.com 2006-07 +# [Sushil_Thomas] Sushil Thomas mailto:iana-comm&3par.com 2008-03-10 +# [Susie_Armstrong] Susie Armstrong mailto:Armstrong.wbst128@xerox +# [Susie_Armstrong_2] Susie Armstrong mailto:Armstrong.wbst128&xerox.com +# [Susie_Snitzer] Susie Snitzer +# [Suzanne_Lorrin] Suzanne Lorrin mailto:suzanne.lorrin&ansys.com +# [Suzanne_Lorrin_2] Suzanne Lorrin mailto:sml&ansyspo.ansys.com +# [Sven_Kopacz] Sven Kopacz mailto:s.kopacz&controllerware.com 2010-09-01 +# [Sven_S_Porst] Sven-S. Porst mailto:ssp-web&earthlingsoft.net +# [Sven_Slezak] Sven Slezak mailto:sunny&mezzo.net +# [Sylvain_Demongeot] Sylvain Demongeot mailto:sylvain.demongeot&wildbits.com 2005-08 +# [Sylvain_Pedneault] Sylvain Pedneault mailto:sylvain&sypecom.qc.ca 2003-03 +# [Sylvain_Robert] Sylvain Robert mailto:sylvain.robert&datadis.com 2008-02-14 +# [Sylvia_Ross] Sylvia Ross mailto:sross&codimatech.com +# [Sylvia_Scheuren] Sylvia Scheuren mailto:schsy02&cai.com +# [Sylvia_Siu] Sylvia Siu mailto:Sylvia_Siu&novell.co +# [Sylvia_Siu_2] Sylvia Siu mailto:ssiu&svnetworks.com +# [Symantec_Corp] Symantec Corp mailto:neel_bhatt&symantec.com 2012-01-03 +# [Symantec_Corp2] Symantec mailto:info&symantec.com 2012-05-07 +# [System_Administrator] System Administrator mailto:sysadmin&silvaco.com 2003-06 +# [TAKEDA_Hiroyuki] TAKEDA Hiroyuki mailto:takeda&atashi.net 2003-01 +# [Taha_Paksu] Taha Paksu mailto:tahapaksu&mavili.com.tr 2009-12-21 +# [Takashi_Aihara] Takashi Aihara mailto:aiharat&sm.sony.co.jp 2003-08 +# [Takashi_Hoshino] Takashi Hoshino mailto:hoshino&miya.fujifilm.co.jp +# [Takashi_Kubota] Takashi Kubota mailto:kubota.takashi&pfu.fugitsu.com 2003-06 +# [Takashi_Okazawa] Takashi Okazawa mailto:okazawa.takashi&canon.co.jp 2003-04 +# [Takashi_Sahara] Takashi Sahara mailto:sahara&jdl.co.jp 2006-09 +# [Takayuki_Ito] Takayuki Ito mailto:yuki&euc.jp +# [Takenori_Miyahara] Takenori Miyahara mailto:miyahara&pfu.co.jp +# [Takeo_Sato] Takeo Sato mailto:ts-iana&cloanto.net 2010-04-30 +# [Takeshi_Nishizawa] Takeshi Nishizawa mailto:takeshi&cp10.es.xerox.com +# [Takeshi_Ohmura] Takeshi Ohmura mailto:ohmura&isl.mei.co.jp +# [Takeshi_Sahara] Takeshi Sahara mailto:sahara&jdl.co.jp +# [Takeshi_Saito] Takeshi Saito mailto:takeshi.saito&toshiba.co.jp 2002-09 +# [Talkative_AB] Talkative AB mailto:support&talkative.se +# [Tamara_Baker] Tamara Baker mailto:tbaker&ecolor.com +# [Tamir_Zegman] Tamir Zegman mailto:zegman&checkpoint.com +# [Tarek_Nabhan] Tarek Nabhan mailto:standards&itworx.com 2003-02 +# [Tatham_Oddie] Tatham Oddie mailto:tatham&e-oddie.com 2002-09 +# [Tatsuhiko_Sakai] Tatsuhiko Sakai Canon Inc. mailto:sakai.tatsuhiko&canon.co.jp 2011-10-03 +# [Tatsuya_Igarashi] Tatsuya Igarashi mailto:Tatsuya.Igarashi&jp.sony.com 2002-07 +# [Tatsuya_Ueda] Tatsuya Ueda mailto:tatsu&ist.fujitsu.com 2003-10 +# [Tatu_Ylonen] Tatu Ylonen mailto:ylo&cs.hut.fi +# [Tav_Espian] Tav Espian mailto:tav&espians.com 2010-08-10 +# [Ted_Hess] Ted Hess mailto:thess&livevault.com +# [Ted_Hoshi] Ted Hoshi mailto:tetsuo.hoshi&jp.yokogawa.com 2004-06 +# [Ted_J_Socolofsky] Ted J. Socolofsky mailto:Teds&spider.co.uk +# [Ted_McFadden] Ted McFadden mailto:mcfadden&dstc.edu.au +# [Ted_Power] Ted Power mailto:tedp&hpinpcb.cup.hp.com +# [Ted_Ross] Ted Ross mailto:ross&toplayer.com +# [Ted_Ross_2] Ted Ross mailto:tross&redhat.com 2008-03-26 +# [Ted_Schroeder] Ted Schroeder mailto:tschroeder&freehandsystems.com +# [Ted_Schroeder_2] Ted Schroeder Vidder, Inc. mailto:ted&vidder.com 2011-10-24 +# [Ted_Tronson] Ted Tronson mailto:ttronson&novell.com +# [Ted_Woodward] Ted Woodward mailto:ted&metrowerks.com +# [Teijo_Mustonen] Teijo Mustonen mailto:Teijo.Mustonen&f-secure.com 2002-03 +# TeleConsult GmbH, +# [TeleConsult] 76275 Ettlingen, mailto:teleconsult&t-online.de +# Germany +# [Teledyne_BlueView_Inc] Teledyne BlueView, mailto:czimmermann&teledyne.com 2012-09-19 +# [Telepathy_project] Telepathy project mailto:telepathy&lists.freedesktop.org +# [TeleTrusT_Deutschlan] TeleTrusT Deutschland mailto:info&teletrust.de 2006-04 +# e.V. +# [Tenir_Software] Tenir Software mailto:sgums&tenirsoftware.com 2011-10-27 +# [Teradici] Teradici mailto:jdillabough&teradici.com 2012-03-06 +# [Terrence_J_Talbot] Terrence J. Talbot mailto:lexcube!tjt&bu.edu +# [Terry_Eldridge] Terry Eldridge mailto:Terry.Eldridge&6pointn.com 2006-08 +# [Terry_Gin] Terry Gin mailto:terry_gin&inter-tel.com 2003-02 +# [Terry_Lim] Terry Lim mailto:tkl&pentek.com +# [Terry_Smyth] Terry Smyth mailto:terry&sgluk.com 2004-11 +# [Terumasa_Yoneda] Terumasa Yoneda mailto:yonedat&pfu.co.jp +# [TEST-OK_BV] TEST-OK B.V. mailto:jeroen.ommering&test-ok.nl 2012-09-05 +# [Tetsuharu_Hanada] Tetsuharu Hanada mailto:hanada&pfu.fujitsu.com +# [Tetsuya_Shioda] Tetsuya Shioda mailto:tetsuya&saint.nm.fujitsu.co.jp +# [Tex_Hull] Tex Hull mailto:tex&spss.com +# [Thaddeus_Perala] Thaddeus Perala mailto:trperala&emaden.com +# [Thaddeus_Ternes] Thaddeus Ternes mailto:thaddeus.ternes&intermec.com +# [TheCodingMonkeys] TheCodingMonkeys mailto:monkeys&codingmonkeys.de +# [The_Omni_Group] The Omni Group mailto:info&omnigroup.com +# [Theo_Nijssen] Theo Nijssen mailto:theon&nijssen.nl +# [Theo_Schlossnagle] Theo Schlossnagle mailto:jesus&omniti.com 2009-05-19 +# [Theodore_Ts_o] Theodore Ts'o mailto:tytso&mit.edu +# [Therese_Hunt] Therese Hunt mailto:hunt&marcam.com +# [Thermo-Calc_Software] Thermo-Calc Software mailto:thomasr&thermocalc.se 2012-06-28 +# AB +# [Thierry_Turletti] Thierry Turletti mailto:Thierry.Turletti&sophia.inria.fr +# [Thom_McGrath] Thom McGrath mailto:thom&thezaz.com +# [Thomas_Boerkel] Thomas Boerkel mailto:tbo&ap-ag.com 2008-06-06 +# [Thomas_Boutell] Thomas Boutell mailto:boutell&boutell.com +# [Thomas_Clausen] Thomas Clausen mailto:thomas.clausen&inria.fr +# [Thomas_Dannemiller] Thomas Dannemiller mailto:tom.dannemiller&rolls-royce.com 2003-04 +# [Thomas_Driemeyer] Thomas Driemeyer mailto:thomas&bitrot.de +# [Thomas_E_Ludwig] Thomas E. Ludwig mailto:tom.ludwig&zetera.com 2004-02 +# [Thomas_Efer] Thomas Efer mailto:mail&thomasefer.de 2006-03 +# [Thomas_Erskine] Thomas Erskine mailto:erskine&sourceworks.com +# [Thomas_Fiege] Thomas Fiege mailto:tfiege&us.ibm.com 2004-02 +# [Thomas_Fok] Thomas Fok mailto:thomas&melody-soft.com 2004-11 +# [Thomas_Geisel] Thomas Geisel mailto:tgeisel&symax.de 2003-01 +# [Thomas_Guth] Thomas Guth mailto:t.guth&zeiss.de 2006-01 +# [Thomas_Hennessy] Thomas Hennessy mailto:thennessy&manageiq.com 2007-10-04 +# [Thomas_J_Klehr] Thomas J. Klehr mailto:tklehr&telcordia.com +# [Thomas_J_Pinkl] Thomas J. Pinkl mailto:tom&pinkl.com 2003-02 +# [Thomas_K_Fischer] Thomas K. Fischer mailto:thomas.fischer&interservices.de +# [Thomas_Kanngieser] Thomas Kanngieser mailto:thomas.kanngieser&arcor.de 2006-01 +# [Thomas_Keller] Thomas Keller mailto:me&thomaskeller.biz 2010-12-22 +# [Thomas_Kemmer] Thomas Kemmer EFKON AG mailto:t.kemmer&efkon.com 2011-10-20 +# [Thomas_Kerkau] Thomas Kerkau mailto:Thomas.Kerkau&io-software.com +# [Thomas_Kjoernes] Thomas Kjoernes mailto:thomas&ipv.no 2010-06-22 +# [Thomas_Klose] Thomas Klose mailto:thomas.klose&hiperscan.com 2009-12-15 +# [Thomas_Koell] Thomas Koell mailto:info&sf.com +# [Thomas_Kuiper] Thomas Kuiper mailto:tkuiper&inxsoft.net +# [Thomas_L_Johnson] Thomas L. Johnson mailto:tjohnson&broadcom.com +# [Thomas_Lindeman] Thomas Lindeman mailto:tlindeµsoft.com 2002-11 +# [Thomas_M_Smith] Thomas M. Smith mailto:Thomas.M.Smith&lmco.com +# [Thomas_Martin] Thomas Martin mailto:thomas&datus-usa.com +# [Thomas_McCabe] Thomas McCabe mailto:tmcca&westell.com +# [Thomas_Obermair] Thomas Obermair mailto:tommy&inlab.m.eunet.de +# [Thomas_Revesz] Thomas Revesz Thermo-Calc Software mailto:thomasr&thermocalc.se 2012-06-28 +# [Thomas_Ruchti] Thomas Ruchti mailto:thomasmruchti&eaton.com 2003-06 +# [Thomas_Russell] Thomas Russell mailto:trussell&scte.org 2005-05 +# [Thomas_Schleu] Thomas Schleu mailto:tschleu&canto.de +# [Thomas_Schmidt] Thomas Schmidt mailto:ts&bintec.de +# [Thomas_Scholl] Thomas Scholl mailto:tscholl&spf.is-is.ca 2006-03 +# [Thomas_Sciorilli] Thomas Sciorilli Wi-Fi Alliance mailto:tsciorilli&wi-fi.org 2012-04-09 +# [Thomas_Soerensen] Thomas Soerensen mailto:thomassoerensen&stofanet.dk 2002-04 +# [Thomas_Soranno] Thomas Soranno mailto:tom_soranno&cipartners.com +# [Thomas_Tempelmann] Thomas Tempelmann mailto:tt&tempel.org 2012-06-19 +# [Thomas_Weise] Thomas Weise mailto:weise&vs.uni-kassel.de 2006-04 +# [Thomas_Zwick] Thomas Zwick mailto:thomas.zwick&tz-software.de 2011-10-12 +# [Thor_Olson] Thor Olson mailto:Thor&terabase.com +# [Thorvald_Natvig] Thorvald Natvig mailto:thorvald&natvig.com +# [ThreeGPP2] 3GPP2 mailto:lizhiming&huawei.com 2012-01-11 +# [Tiago_Bittencourt_Si] Tiago Bittencourt Silva mailto:tiagobs&ufpr.br 2005-08 +# [Tightrope_Media_Systems] Tightrope Media mailto:sjann&trms.com 2011-10-17 +# [Tim_Addington] Tim Addington mailto:Tim.Addington&sciatl.com +# [Tim_Behne] Tim Behne mailto:timothybµwavenetworks.com 2003-06 +# [Tim_Berners_Lee] Tim Berners-Lee mailto:timbl&w3.org +# [Tim_Boldt] Tim Boldt mailto:timb&vytalnet.com +# [Tim_Boyle] Tim Boyle mailto:tboyle&dataviz.com +# [Tim_Brown] Tim Brown mailto:timb&openvas.org 2008-12-24 +# [Tim_Burgess] Tim Burgess mailto:tim&hotu.com 2002-04 +# [Tim_Coppernoll] Tim Coppernoll mailto:Tim_Coppernoll&ccm.jf.intel.com +# [Tim_Dawson] Tim Dawson mailto:tdawson%25mspboss@uunet.uu.net +# [Tim_DeBaillie] Tim DeBaillie mailto:debaillie&ciholas.com 2006-12 +# [Tim_Farley] Tim Farley mailto:Tim.Farley&xcellenet.com +# [Tim_Hahn] Tim Hahn mailto:hahnt&us.ibm.com 2006-03 +# [Tim_Howard] Tim Howard mailto:timothygh&hotmail.com +# [Tim_Howes] Tim Howes mailto:Tim.Howes&terminator.cc.umich.edu +# [Tim_Hunnewell] Tim Hunnewell mailto:thunnewell&pinna.com +# [Tim_Jacobs] Tim Jacobs +# [Tim_Jobling] Tim Jobling mailto:tim&cambridgeimaging.co.uk +# [Tim_Jowers] Tim Jowers mailto:Tim.Jowers&columbiasc.ncr.com +# [Tim_Kenyon] Tim Kenyon mailto:Tim_Kenyon&csicontrols.com +# [Tim_Lawrence] Tim Lawrence mailto:lawrence&tao-group.com +# [Tim_Maloney] Tim Maloney mailto:tim.maloney&allianceconsultingllc.com 2005-08 +# [Tim_McGranaghan] Tim McGranaghan mailto:tim_mcgranaghan&mech.disa.mil +# [Tim_Morgan] Tim Morgan mailto:timm&surfcontrol.com 2004-11 +# [Tim_Morgan_2] Tim Morgan mailto:tmorgan&filenet.com 2005-11 +# [Tim_Rance] Tim Rance mailto:trance&lionhead.co.uk +# [Tim_Riker] Tim Riker mailto:tim&rikers.org 2003-07 +# [Tim_Riley] Tim Riley mailto:rileyt&saic.com 2009-07-31 +# [Tim_Schmidt] Tim Schmidt mailto:Tim.Schmidt&veritas.com +# [Tim_Sent] Tim Sent mailto:tim.sent&systemsarchitects.com +# [Tim_Serong] Tim Serong mailto:tserong&novell.com 2010-03-31 +# [Tim_Simms] Tim Simms mailto:tsimms&plethoratech.com 2002-04 +# [Tim_Stevenson] Tim Stevenson mailto:tes&ncd.com +# [Tim_Walsh] Tim Walsh mailto:tim&ultrex.com +# [Tim_Wiegand] Tim Wiegand mailto:tim.wiegand&navisworks.com 2003-02 +# [Tim_Wilson] Tim Wilson mailto:tim.wilson&motorola.com 2003-08 +# [Tim_Young] Tim Young mailto:timyoung&elevatesoft.com 2009-05-06 +# [Timo_Sivonen] Timo Sivonen mailto:timo.sivonen&ccmail.dowjones.com +# [Timothy_J_Wood] Timothy J. Wood mailto:tjw&omnigroup.com +# [Timothy_Parry] Timothy Parry mailto:tim&lumenergi.com 2011-02-15 +# [Timothy_Wayper] Timothy Wayper mailto:timmy&wunderbear.com +# [TiVo_Inc] TiVo Inc. mailto:devsupport&tivo.com 2011-10-18 +# [Tobias_Erichsen] Tobias Erichsen mailto:erichsen&te-systems.de +# [Tobias_Hoffmann] Tobias Hoffmann mailto:th55&gmx.de 2012-10-09 +# [Tobias_Sturm] Tobias Sturm mailto:tobias.sturm&student.kit.edu 2013-01-14 +# [Tobias_Wegner] Tobias Wegner mailto:wegner&novagate.de +# [Tobin_Schuster] Tobin Schuster mailto:tobin.j.schuster&jci.com +# [Toby_Hosterman] Toby Hosterman mailto:root&netspeak.com +# [Toby_Smith] Toby Smith mailto:dns&idlehands.net +# [Tod_Landis] Tod Landis mailto:tlandis&inprise.com +# [Todd_Barker] Todd Barker mailto:toddba&attachmate.com +# [Todd_Cooper] Todd Cooper mailto:todd&do11073.com 2003-01 +# [Todd_Glassey] Todd Glassey mailto:todd.glassey&att.net +# [Todd_Guay] Todd Guay mailto:todd.guay&oracle.com 2005-08 +# [Todd_Moyer] Todd Moyer mailto:tsm&unx.dec.com +# [Todd_Pichler] Todd Pichler mailto:todd.pichler&stagesoft.com 2010-03-26 +# [Todd_Picquelle] Todd Picquelle mailto:todd&picquelle.com +# [Todd_Scallan] Todd Scallan mailto:tscallan&interwoven.com 2005-08 +# [Todd_Tannenbaum] Todd Tannenbaum mailto:tannenba&cs.wisc.edu 2008-04-03 +# [Todd_Wichers] Todd Wichers mailto:twichers&csn.org +# [Toerless_Eckert] Toerless Eckert mailto:eckert&cisco.com +# [Tohru_Mori] Tohru Mori mailto:tmori&vnet.ibm.com +# [Tom_Bereiter] Tom Bereiter +# [Tom_Bougan] Tom Bougan mailto:tomb&apptechsys.com +# [Tom_Boyle] Tom Boyle mailto:tboyle&vormetric.com 2005-06 +# [Tom_Emberson] Tom Emberson mailto:tom&lanworks.com +# [Tom_Fay] Tom Fay Agilent Technologies, mailto:tom_fay&agilent.com 2013-01-16 +# [Tom_Findley] Tom Findley mailto:tom.findley&networksciences.net +# [Tom_Friend] Tom Friend mailto:tomfrµsoft.com +# [Tom_Haapanen] Tom Haapanen mailto:tomh&metrics.com +# [Tom_Haapanen_2] Tom Haapanen mailto:tomh&equitrac.com 2007-07-11 +# [Tom_Hawkins] Tom Hawkins mailto:tom1&launchbird.com 2003-04 +# [Tom_Hawkins_2] Tom Hawkins mailto:tomahawkins&gmail.com 2006-02 +# [Tom_Hennessy] Tom Hennessy mailto:thenn&novadigm.com +# [Tom_Kee] Tom Kee mailto:t.kee&f5.com +# [Tom_Lake] Tom Lake mailto:tlake&m-ware.com +# [Tom_Lane] Tom Lane mailto:tgl&sss.pgh.pa.us +# [Tom_Lemaire] Tom Lemaire mailto:toml&banyan.com +# [Tom_Liu] Tom Liu mailto:ssc&sc.stk.com.cn +# [Tom_Maaswinkel] Tom Maaswinkel mailto:tom.maaswinkel&publiqare.nl 2011-02-07 +# [Tom_Markson] Tom Markson mailto:markson&osmosys.incog.com +# [Tom_Mayo] Tom Mayo mailto:tmayo1&rochester.rr.com 2003-01 +# [Tom_Nys] Tom Nys mailto:tom.nys.tn&belgium.agfa.com +# [Tom_Pusateri] Tom Pusateri mailto:pusateri&juniper.net 2004-12 +# [Tom_Quinlan] Tom Quinlan mailto:tquinlan&digitechinc.com +# [Tom_R_Zavisca] Tom R. Zavisca Green Hills Software mailto:iana-contact&ghs.com 2012-02-07 +# [Tom_Snauwaert] Tom Snauwaert mailto:tom.snauwaert&st-electronics.be +# [Tom_Spidell] Tom Spidell mailto:spidell&persoft.com +# [Tom_Strack] Tom Strack mailto:TSTRACK&advnw.com +# [Tom_Talpey] Tom Talpey Microsoft Corporation mailto:ttalpeyµsoft.com 2012-03-15 +# [Tom_Taylor] Tom Taylor mailto:Tom.Taylor&unisys.com +# [Tom_Taylor_2] Tom Taylor mailto:taylor&nortelnetworks.com +# [Tom_Taylor_3] Tom Taylor mailto:taylor&nortel.com 2006-09 +# [Tom_White] Tom White MIDI Manufacturers mailto:info&midi.org 2011-11-14 +# [Tom_Whittaker] Tom Whittaker mailto:tomw&ssec.wisc.edu +# [Tomas_Rajcan] Tomas Rajcan mailto:trajcan&ipesoft.sk +# [Tomas_Svoboda] Tomas Svoboda mailto:svoboda&infima.cz 2004-12 +# [Tomer_Shain] Tomer Shain mailto:tshain&precise.com 2002-09 +# [Tommy_van_der_Vorst] Tommy van der Vorst mailto:tommy&pixelspark.nl +# [Tomoji_Koike] Tomoji Koike mailto:koike&ael.fujitsu.co.jp +# [Tomokazu_Asai] Tomokazu Asai mailto:asai.tomokazu&pfu.fujitsu.com 2003-11 +# [Tomoo_Fujita] Tomoo Fujita mailto:tf&arc.bs1.fc.nec.co.jp +# [Ton_Voon] Ton Voon mailto:ton.voon&opsera.com 2008-09-26 +# [Tong_Ming_Lee] Tong-Ming Lee mailto:tmlee&us.oracle.com +# [Tongji_University] Tongji University mailto:neo.gui&gmail.com +# [Tonio_Pirotta] Tonio Pirotta mailto:tonio&tpis.com.au +# [Tony_Amundson] Tony Amundson mailto:tony&blueatlasbroker.com +# [Tony_Arcieri] Tony Arcieri mailto:bascule&gmail.com 2006-03 +# [Tony_Ballardie] Tony Ballardie mailto:A.Ballardie&cs.ucl.ac.uk +# [Tony_Bushnell] Tony Bushnell mailto:tony_bushnell&four-sight.co.uk +# [Tony_Cleveland] Tony Cleveland mailto:tony.cleveland&jacobus.com +# [Tony_Diodato] Tony Diodato mailto:tdiodato&cyprx.com 2005-08 +# [Tony_Fountain] Tony Fountain mailto:tfountain&ucsd.edu +# [Tony_Gibbs] Tony Gibbs mailto:tony.gibbs&europe.simoco.com +# [Tony_Gulino] Tony Gulino mailto:astaregod&hotmail.com 2003-08 +# [Tony_Hoffman] Tony Hoffman mailto:ajh&unx.dec.com +# [Tony_Lubrano] Tony Lubrano mailto:tlubrano&neonsys.com +# [Tony_Matthews] Tony Matthews mailto:tmatthews&triomotion.com 2002-02 +# [Tony_Sawyer] Tony Sawyer mailto:tonys&gemtech.com +# [Tony_Scamurra] Tony Scamurra mailto:Tony&desktoppaging.com +# [Tony_Sowter] Tony Sowter mailto:ts&datcon.co.uk +# [Tony_Splaver] Tony Splaver mailto:tony&cpdi.com 2002-09 +# [Tony_Walker] Tony Walker mailto:tony&cryptocard.com +# [Tony_de_Rijk] Tony de Rijk mailto:idotechnology&mac.com +# [Tor_Slettnes] Tor Slettnes mailto:slettntn&appliedbiosystems.com +# [Tore_Skaug] Tore Skaug Versile AS mailto:tore.skaug&versile.com 2012-02-01 +# [Torsten_Rendelmann] Torsten Rendelmann mailto:torsten.rendelmann&procos.com +# [Torsten_Scheffler] Torsten Scheffler mailto:pdnetadmin&pdnet.info +# [Toru_Murai] Toru Murai mailto:murai&saint.nm.fujitsu.co.jp +# [Toru_Tachibana] Toru Tachibana mailto:tatibana&exs.ts.fujitsu.co.jp +# [Toshikatsu_Ito] Toshikatsu Ito mailto:ito-t&pfu.co.jp +# [Toshio_Watanabe] Toshio Watanabe mailto:watanabe&godzilla.rsc.spdd.ricoh.co.jp +# [TransAct_Futures_Dev] TransAct Futures mailto:1869info&transactfutures.com +# [Trevor_Bell] Trevor Bell mailto:Trevor&iguana.iosoftware.com +# [Trevor_Perkes] Trevor Perkes mailto:trevor.perkes&landesk.com 2010-02-01 +# [Tri_Tech_Computers_Ltd] Tri Tech Computers mailto:admins&tri-tech.com 2012-11-19 +# [Tristan_Richardson] Tristan Richardson mailto:iana&realvnc.com 2006-03 +# [Tristan_Seifert] Tristan Seifert mailto:admin&247server.net 2011-01-31 +# [Tristan_Seifert_2] Tristan Seifert Squee! Application mailto:tristan&squee.co 2011-07-19 +# [Trond_Borsting] Trond Bo/rsting mailto:Trond.Borsting&snota.no +# [Trond_Norbye] Trond Norbye mailto:trond.norbye&sun.com 2009-02-09 +# [Troy_Bergstrand] Troy Bergstrand mailto:troy.bergstrand&hp.com +# [Troy_Gau] Troy Gau mailto:troy&zyxel.com +# [Troy_Morrison] Troy Morrison mailto:troy&graphon.com +# [Troy_Rollo] Troy Rollo mailto:troy&kroll.corvu.com.au +# [Trung_Huu_Tran] Trung Huu Tran mailto:trung.tran&navy.mil 2007-03 +# [Tsutomu_Fujinami] Tsutomu Fujinami mailto:tsutomu.fujinami&hp.com 2005-08 +# [Tung_Nguyen] Tung Nguyen mailto:dash&ricochet.net +# [Tuomo_Makinen] Tuomo Makinen mailto:tmakinen&pp.htv.fi 2002-02 +# [Ty_Ellis] Ty Ellis mailto:tellis&novell.com 2006-05 +# [Tzvika_Chumash] Tzvika Chumash mailto:tzvikac&netvision.net.il +# [UPnP_Forum] UPnP Forum mailto:upnpadmin&forum.upnp.org +# [Udi_Nir] Udi Nir mailto:udi_nir&ncc.co.il +# [Uffe_Harksen] Uffe Harksen mailto:uh&uhcommunications.com 2005-08 +# [Ulaganathan_Sriramul] Ulaganathan Sriramulu mailto:ulag&effigent.com +# [Ulli_Horlacher] Ulli Horlacher mailto:framstag&rus.uni-stuttgart.de +# [Ulrich_Epple] Ulrich Epple mailto:ks&plt.rwth-aachen.de 2012-08-07 +# [Ulrich_Kortenkamp] Ulrich Kortenkamp mailto:kortenkamp&cinderella.de 2003-06 +# [Ulysses_G_Smith_Jr] Ulysses G. Smith Jr. mailto:ugsmith&cesi.com +# [University_Corporation_for_Atmospheric_Research] Corporation for mailto:support&unidata.ucar.edu 2012-05-07 +# [University_Corporation_for_Atmospheric_Research2] Corporation for mailto:support-ldm&unidata.ucar.edu 2012-05-18 +# [Urban_Fosseus] Urban Fosseus mailto:urban.fosseus®in.se 2008-12-24 +# [Urbis_Net_Ltd] Urbis.Net Ltd mailto:postmaster&urbis.net +# [Uri_Blank] Uri Blank mailto:uri&quosa.com 2006-09 +# [Uri_Doron] Uri Doron mailto:uri&il.netect.com +# [Uri_Resnitzky] Uri Resnitzky mailto:info&arx.com +# [Uri_Sarid] Uri Sarid mailto:uri&aptana.com 2008-01-22 +# [Uriy_Makasjuk] Uriy Makasjuk mailto:racer&bfpg.ru +# [Urs_Bertschinger] Urs Bertschinger mailto:urs&netmosphere.com +# [Uwe_Holz] Uwe Holz mailto:uwe.holz&azeti.net 2009-11-09 +# [Uwe_Honermann] Uwe Honermann mailto:u.honermann&windream.com +# [Uwe_Ziegler] Uwe Ziegler Goepel electronic mailto:u.ziegler&goepel.com +# [VR_Satish] VR Satish mailto:vr_satish&symantec.com 2007-08-16 +# [V_A_Brauner] V. A. Brauner mailto:info&datamedia.fr +# [V_Balaji] V. Balaji mailto:balaji&aspec.com +# [Vacquier_Serge] Vacquier Serge mailto:vacquier&systar.fr 2009-02-12 +# [Vadim_Maslov] Vadim Maslov mailto:vm&siber.com 2010-10-06 +# [Vadym_Kargin] Vadym Kargin mailto:vkargin&markem.com 2005-08 +# [Vaibhav_Kumar] Vaibhav Kumar mailto:vakumar&hns.com 2003-07 +# [Valery_Fremaux] Valery Fremaux mailto:vf&eisti.fr +# [Van_Jacobson] Van Jacobson mailto:van&ee.lbl.gov +# [Van_Jacobson_2] Van Jacobson mailto:van&parc.com 2009-09-29 +# [Varma_Bhupatiraju] Varma Bhupatiraju mailto:varma&calient.net +# [Varun_Santosh] Varun Santosh mailto:varun.santosh&hughes.com 2010-10-20 +# [Vasu_Murthy] Vasu Murthy mailto:vmurthy&datascaler.com 2010-02-08 +# [Vaughan_Wesson] Vaughan Wesson mailto:vaughanw&rtunet.com 2006-10 +# [Vaughn_Amann] Vaughn Amann mailto:vamann&aol.com +# [Veizades] mailto:veizades&ftp.com +# [Velneo] Velneo mailto:velneo&velneo.com +# [Venkat_Rangan] Venkat Rangan mailto:venkatr&vitalsigns.com +# [Venkata_Krishna] Venkata Krishna mailto:VenkataKrishna.Bezawada&ca.com 2010-02-24 +# [Venky_Nagar] Venky Nagar mailto:venky&fafner.stanford.edu +# [Ventureforth_Inc] Ventureforth Inc. mailto:support&ventureforth.com 2011-11-03 +# [Vera_Heinau] Vera Heinau mailto:heinau&fu-berlin.de +# [Verek] Verek mailto:info&verek.com +# [Versile_AS] Versile AS mailto:contact&versile.com 2012-02-01 +# [Vick_Keshishian] Vick Keshishian mailto:vickenK&192.219.82.71 +# [Victor_Galis] Victor Galis mailto:galis&satchmo.virtualprototypes.ca +# [Victor_Griswold] Victor Griswold mailto:vgris&aironet.com +# [Victor_H_Farrace] Victor H. Farrace mailto:vfarrace&eaglept.com 2002-10 +# [Victor_Kirhenshtein] Victor Kirhenshtein mailto:victor&opticom.lv 2006-07 +# [Vidder_Inc] Vidder, Inc. mailto:ted&vidder.com 2011-10-24 +# [Videte_IT] Videte IT mailto:info&videte.com +# [Vikas] Vikas mailto:vikas&graycell.com +# [Vikki_Yin_Wei] Vikki Yin Wei mailto:vikki&ipdynamics.com 2003-01 +# [Ville_Laurikari] Ville Laurikari mailto:vlaurika&ssh.com 2005-08 +# [Ville_Pekka_Vahteala] Ville-Pekka Vahteala mailto:ville-pekka.vahteala&bitcomp.fi 2008-06-05 +# [Vinay_Badami] Vinay Badami mailto:VinayBµsoft.com 2006-05 +# [Vinay_Gupta] Vinay Gupta mailto:vinay.gupta&hp.com 2003-08 +# [Vince_Re] Vince Re mailto:Vincent.Re&cai.com +# [Vincent_Gaudeul] Vincent Gaudeul mailto:technique&auriga.fr 2006-02 +# [Vinh_Nguyn] Vinh Nguyn mailto:vinh&sportvision.com +# [Vipul_Ved_Prakash] Vipul Ved Prakash mailto:mail&vipul.net 2002-07 +# [Virgilio_Lattanzi] Virgilio Lattanzi mailto:virgilio&harpax.com 2002-07 +# [Vishal_Dharmadhikari] Vishal Dharmadhikari Hall Research mailto:vishal&hallresearch.com 2011-11-29 +# [Vishnu_Varadaraj] Vishnu Varadaraj mailto:vishnuv¶bay.com +# [Vishwas_Lele] Vishwas Lele mailto:Vishwas_Lele&appliedis.com +# [Vision_Solutions] Vision Solutions, mailto:james.wilkinson&visionsolutions.com 2012-06-06 +# [Vitali_Fomine] Vitali Fomine mailto:info&winpopup-lan-messenger.com 2005-11 +# [Vitaly_Revsin] Vitaly Revsin mailto:vitaly&webmanage.com +# [Vitaly_Revsin_2] Vitaly Revsin mailto:vitaly&netapp.com +# [Vladimir_Bickov] Vladimir Bickov mailto:vbickov&coderebel.com 2007-08-20 +# [Vladimir_Legalov] Vladimir Legalov mailto:legalov&sgi.com +# [Vladimir_Legalov_2] Vladimir Legalov mailto:vlegalov&riverbed.com 2007-09-04 +# [Voiko_Loukanov] Voiko Loukanov mailto:v.loukanov&dvelectronics.com 2003-10 +# [Volker_Wiegand] Volker Wiegand mailto:volker.wiegand&t-online.de 2007-07-10 +# [Von_Welch] Von Welch mailto:vwelch&ncsa.uiuc.edu +# [VoxelStorm] VoxelStorm mailto:slowriot&voxelstorm.com 2012-11-08 +# [VSN_International_Ltd] VSN International mailto:sean&vsni.co.uk 2011-09-28 +# [WAP_Forum] WAP Forum mailto:wap-feedback&mail.wapforum.org +# mailto:pg&uplanet.com +# [W_Jordan_Fitzhugh] W. Jordan Fitzhugh mailto:jfitz&pcare.com +# [Wade_Richards] Wade Richards mailto:wade.richards&sap.com 2008-05-05 +# [Waiki_Wright] Waiki Wright mailto:waiki&us.ibm.com +# [Wally_Pratt_Jr] Wally Pratt Jr mailto:wallyp&hartcomm.org 2010-03-02 +# [Walt_Modic] Walt Modic mailto:Walt.Modic&dionex.com +# [Walter_G_Giroir] Walter G. Giroir mailto:walt_giroir&bmc.com 2003-07 +# [Walter_Goodwin] Walter Goodwin mailto:wpgoodwin&asna.com +# [Walter_K_Eichelburg] Walter K. Eichelburg mailto:walter.eichelburg&sat-automation.com +# [Walter_Poxon] Walter Poxon mailto:wdp&ironwood.cray.com +# [Walter_Underwood] Walter Underwood mailto:wunder&infoseek.com +# [Ward_Silver] Ward Silver mailto:hwardsil&wolfenet.com +# [Warren_Alexander] Warren Alexander mailto:warren&chameleon-creative.co.uk +# [Wayne_Barlow] Wayne Barlow mailto:web&unx.dec.com +# [Wayne_Morrow] Wayne Morrow mailto:wmorrow&starfieldcorp.com 2003-10 +# [Wayne_Schroeder] Wayne Schroeder mailto:schroeder&sds.sdsc.edu +# [Wei_Gao] Wei Gao mailto:wei&mylex.com +# [Wei_Wang] Wei Wang mailto:Wei_Wang&intuit.com 2005-11 +# [Weibao_Wu] Weibao Wu mailto:weibao_wu&symantec.com 2006-04 +# [Weldon_J_Showalter] Weldon J. Showalter mailto:Gamma&mintaka.dca.mil +# [Weng_Chin_Yung] Weng Chin (Winson) Yung mailto:Winson_Yung&3com.com +# [Werner_Almesberger] Werner Almesberger mailto:Werner.Almesberger&epfl.ch +# [Werner_Guertler] Werner Guertler mailto:werner.guertler&ts.fujitsu.com 2009-05-11 +# [Wes_Doonan] Wes Doonan +# [Wes_Peters] Wes Peters mailto:wes&softweyr.com 2007-04 +# [Wes_Wilson] Wes Wilson mailto:wwilson&iss.net 2003-10 +# [Wesley_Eddy] Wesley Eddy Alanax Technologies, mailto:wesley.eddy&alanax.com 2013-01-14 +# [Westell] Westell, Inc. mailto:jronk&westell.com +# [Western_Digital] Western Digital Inc. mailto:rajesh.batra&wdc.com 2012-07-11 +# [Whamb] Whamb mailto:support&whamb.com +# [Widgetschmie_de] Widgetschmie.de +# [Wi-Fi_Alliance] Wi-Fi Alliance mailto:certifications&wi-fi.org 2012-04-09 +# [Wilken_GmbH] Wilken GmbH mailto:fy&wilken.de +# [Will_Dere] Will Dere mailto:will&wrs.com +# [Will_Golson] Will Golson mailto:golson&fc.hp.com +# [Will_Lahr] Will Lahr mailto:will&disruptivegroup.com +# [Will_MacDonald] Will MacDonald mailto:will&codian.com +# [William_Bain] William Bain mailto:bbainµsoft.com +# [William_Benner] William Benner mailto:William_Benner&msn.com +# [William_Benner_2] William Benner mailto:bill&pangolin.com 2002-03 +# [William_D_Wisner] William D. Wisner mailto:wisner&hayes.fai.alaska.edu +# [William_David] William David mailto:william.david&lmco.com +# [William_Dillon] William Dillon mailto:wdillon&coas.oregonstate.edu +# [William_Egge] William Egge mailto:begge&emagisoft.com +# [William_Fernando_Mat] William Fernando Maton mailto:wfms&acm.org 2005-01 +# Sotomayor +# [William_Fisher] William Fisher mailto:william.w.fisher&intermapper.com 2011-05-09 +# [William_Lai] William Lai mailto:wlaiµsoft.com +# [William_LePera] William LePera mailto:lepera&us.ibm.com 2008-06-18 +# [William_McDonald] William McDonald mailto:billmc&atc.boeing.com +# [William_Mullaney] William Mullaney mailto:mullanwi&usa.net +# [William_Orme] William Orme mailto:bill&repliweb.com +# [William_Phelps] William Phelps mailto:william&meier-phelps.com 2010-03-22 +# [William_Polites] William Polites mailto:wpolites&mitre.org +# [William_R_Bishop] William R Bishop mailto:wrb&world.std.com +# [William_R_Lear] William R. Lear mailto:william.lear&xerox.com 2008-03-06 +# [William_R_Lear_2] William R. Lear mailto:wlear&phlexible.com 2008-10-23 +# [William_Randolph_Roy] William Randolph Royere mailto:william&royere.net +# III +# [William_Scheding] William Scheding mailto:wls&wls.org +# [William_Schmidt] William Schmidt mailto:info&eclipseaviation.com 2006-03 +# [William_Shipley] William Shipley mailto:wjs&me.com +# [William_Stoye] William Stoye mailto:wstoye&atml.co.uk +# [Willie_Jan_Bons] Willie Jan Bons mailto:WillieJan.Bons&nds.eu 2011-03-10 +# [Willie_Wu] Willie Wu mailto:willie&mds.com +# [Wilson_Kwan] Wilson Kwan mailto:wilsonk%25toronto@zip.atm.com +# [Winston_Chou] Winston Chou mailto:wichou&cisco.com 2011-02-08 +# [Winston_Hetherington] Winston Hetherington +# [Winzig_LLC] Winzig LLC mailto:aroundsound&winzig.com 2011-10-20 +# [Wire_IANA_Contact] 2Wire IANA Contact mailto:iana&2wire.com 2002-04 +# [Wo_o_Ideafarm] Wo'o Ideafarm mailto:b85f3c23.9ad6f42c&ideafarm.com +# [Wolfgang_Adler] Wolfgang Adler mailto:electronicc_rd&wago.com 2006-04 +# [Wolfgang_Rupprecht] Wolfgang Rupprecht mailto:wolfgang&wsrcc.com +# [Wolfgang_Voelker] Wolfgang Voelker mailto:wolfgang.voelker&wibu.com 2007-06 +# [Wolfgang_Weidner] Wolfgang Weidner mailto:ww&citcom.de 2005-12 +# [Wongyu_Cho] Wongyu Cho mailto:wgcho&dialpad.com +# [World_DAB] World DAB mailto:worlddab_irc&worlddab.org +# [World_Fusion] World Fusion mailto:net&worldfusion.com +# [Wouter_Verhelst] Wouter Verhelst mailto:w&uter.be 2010-08-02 +# [www_nsovocal_com] www.nsovocal.com mailto:ben&nsovocal.com 2011-10-18 +# [Wyatt_Williams] Wyatt Williams mailto:wyattw&icall.com +# [Xavier_Roques] Xavier Roques mailto:xroques&infovista.fr +# [XMI_Systems_SA] XMI Systems SA mailto:cma&xmisystems.com 2013-01-18 +# [XMPP_Registrar] XMPP Registrar mailto:registrar&xmpp.org +# [Xnet_Communications] Xnet Communications mailto:croco&xdsnet.de +# [XuiS_Software_Ltd] XuiS Software Ltd. mailto:100322.2376&compuserve.com +# [XXT_LLC] XXT LLC mailto:xxt.matt&sbcglobal.net 2012-07-12 +# [Y_Ohiwa] Y. Ohiwa mailto:y-ohiwa&ael.fujitsu.co.jp +# [Y_Y_Goland] Y. Y. Goland mailto:yarongµsoft.com +# [Yakov_Rekhter] Yakov Rekhter mailto:Yakov&ibm.com +# [Yanick_Pouffary] Yanick Pouffary mailto:pouffary&taec.enet.dec.com +# [Yann_Kaiser] Yann Kaiser mailto:kaiser.yann&gmail.com 2012-11-02 +# [Yannick_Fortin] Yannick Fortin mailto:fortiny&ca.objectiflune.com 2006-02 +# [Yariv_Kaplan] Yariv Kaplan mailto:yarivk&gilat.com +# [Yasunari_Gon_Yamasit] Yasunari Gon Yamasita mailto:yamasita&omronsoft.co.jp +# [Yasunari_Yamashita] Yasunari Yamashita mailto:yamasita&omronsoft.co.jp 2003-04 +# [Yazsoft] Yazsoft mailto:info&yazsoft.com +# [Yen_Lee] Yen Lee mailto:YenL&bsquare.com +# [Yiftach_Ravid] Yiftach Ravid mailto:yiftach&haifa.vnet.ibm.com +# [Yih_Wu_Wang] Yih-Wu Wang mailto:sstsys&ix.netcom.com +# [Yilei_Jia] Yilei Jia mailto:yjia&navcomtech.com 2009-03-18 +# [Yin_Ki_Lau] Yin Ki Lau mailto:xdt_software&oodot.com +# [Ying_Da_Lee] Ying-Da Lee mailto:ylee&syl.dl.nec.com +# [Yingchun_Xu] Yingchun Xu mailto:Yingchun_Xu&3com.com +# [Yoann_Vandoorselaere] Yoann Vandoorselaere mailto:yoann&prelude-ids.org 2005-08 +# [Yochai_Cohen] Yochai Cohen mailto:yochai&combox.co.il +# [Yogesh_P_Gajjar] Yogesh P. Gajjar mailto:yogesh&cytel.com +# [Yohann_Sulaiman] Yohann Sulaiman mailto:ports&shaperai.com 2012-06-22 +# [Yohei_Yoshihara] Yohei Yoshihara CX5 SOFTWARE mailto:yohei_yoshihara&cx5software.com 2013-02-04 +# [Yoneda_Terumasa] Yoneda Terumasa mailto:yonedat&pfu.co.jp +# [Yong_Cai] Yong Cai mailto:ycai&emc.com +# [YoonSoo_Kim] YoonSoo Kim mailto:ys71.kim&samsung.com 2006-05 +# [Yoshiaki_Tokumoto] Yoshiaki Tokumoto mailto:toku&pfu.co.jp +# [Yoshihiro_Yamazaki] Yoshihiro Yamazaki mailto:yamazaki&ael.fujitsu.co.jp +# [Yoshikazu_Watanabe] Yoshikazu Watanabe mailto:nabe&sm.sony.co.jp +# [Yoshinobu_Inoue] Yoshinobu Inoue +# [Yoshinobu_Nakamura] Yoshinobu Nakamura mailto:nakamura&np.lps.cs.fujitsu.co.jp +# [Yoshinori_Nakayama] Yoshinori Nakayama mailto:yoshinori_nakayama&komatsu-trilink.jp +# [Yosi_Mass] Yosi Mass mailto:yosimass&haifa.vnet.ibm.com +# [Yossi_Appleboum] Yossi Appleboum mailto:yossia&magicom.co.il +# [Yossi_Appleboum_2] Yossi Appleboum mailto:yossia&web-silicon.com 2005-08 +# [Yossi_Cohen_Shahar] Yossi Cohen-Shahar mailto:yossi&proxy.co.il +# [Yossi_Gal] Yossi Gal mailto:yossi&gilat.com +# [Yuichi_Ohiwa] Yuichi Ohiwa mailto:y-ohiwa&ael.fujitsu.co.jp +# [Yuji_Kuwabara] Yuji Kuwabara mailto:HHG01200&niftyserve.or.jp +# [Yuji_Sasaki] Yuji Sasaki mailto:sasaki&silex.jp +# [Yukihiko_Sakurai] Yukihiko Sakurai mailto:y-sakurai&ael.fujitsu.co.jp +# [Yuri_Machkasov] Yuri Machkasov mailto:yuri&ptc.com +# [Yuri_Machkasov_2] Yuri Machkasov mailto:ymachkasov&servigistics.com 2006-08 +# [Yusuke_Asai] Yusuke Asai mailto:yasai&nw1.file.fc.nec.co.jp +# [Yutaka_Ono] Yutaka Ono mailto:ono&saint.nm.fujitsu.co.jp +# [Yuval_Hager] Yuval Hager mailto:yuval&avramzon.net 2006-01 +# [Yuval_Rakavy] Yuval Rakavy mailto:yuval&villarakavy.com 2012-07-10 +# [Yves_Gattegno] Yves Gattegno mailto:iana&qualystem.org 2004-12 +# [Yvon_Marineau] Yvon Marineau mailto:yvon&simware.com +# [Zach_Metzinger] Zach Metzinger mailto:zach.metzinger&maxim-ic.com +# [Zach_Nies] Zach Nies mailto:znies&creo.com 2002-09 +# [Zachary_Gramana] Zachary Gramana mailto:contactus&excitabyte.com +# [Zan_Oliphant] Zan Oliphant mailto:zan&accessone.com +# [Zane_Bitter] Zane Bitter mailto:zbitter&redhat.com 2011-08-31 +# [Zdenek_Kolba] Zdenek Kolba mailto:zdenek.kolba&id-karta.cz +# [Zenon_Fortuna] Zenon Fortuna mailto:zenon&mips.com 2007-02 +# [ZeroMQ.org] ZeroMQ.org mailto:ph&imatix.com 2012-11-01 +# [Zhengli] Zhengli mailto:std&iwncomm.com 2010-06-28 +# [Zhiming_Li] Zhiming Li 3GPP2 mailto:lizhiming&huawei.com 2012-01-11 +# [Zhizhong_Zhuang] Zhizhong Zhuang mailto:ZZhuang&optellios.com 2006-12 +# [Zia_Bhatti] Zia Bhatti mailto:zia&netright.com +# [Ziad_Sawalha] Ziad Sawalha Rackspace Hosting mailto:ziad.sawalha&rackspace.com 2011-08-15 +# [Zygmunt_Wiercioch] Zygmunt Wiercioch mailto:zyg&jetform.com +# [admin] admin mailto:iana&sightlinesystems.com +# [base_t_Interactive] 10base-t Interactive mailto:support&10base-t.com +# [brockman] mailto:brockman&ccmail.com +# [ddt] mailto:ddt&idcube.idsoftware.com +# [equinux] equinux mailto:mediacentral&equinux.comdu +# [flanne] flanne@vnet.IBM.COM +# [gary] mailto:gary&airsoft.com +# [gdeinsta] gdeinsta mailto:gdeinsta&jetform.com +# [gilmer] mailto:gilmer&gandalf.ca +# [gunner] mailto:gunner&ibeam.intel.com +# [iOS_Software] iOS Software mailto:ios&free.fr +# [iThink_Software] iThink Software mailto:contact&ithinksw.com +# [mackin] mailto:mackin&us.oracle.com +# [naonao] mailto:naonao&kikaku.mmp.fujitsu.co.jp +# [sn_w_of_renegade_lab] sn0w of renegade labs mailto:sn0w&devious.tsongkie.com 2003-11 +# +# Footnote +# +# [1] It is only appropriate to use these values in explicitly- +# configured experiments; they MUST NOT be shipped as defaults in +# implementations. See RFC 3692 for details. + +# Local NetBSD additions [aliases or missing stuff] +sink 9/tcp null +sink 9/udp null +users 11/tcp +quote 17/tcp +quote 17/udp +ttytst 19/tcp source +ttytst 19/udp source +mail 25/tcp +mail 25/udp +timserver 37/tcp +timserver 37/udp +resource 39/tcp +resource 39/udp +netrjs 77/tcp +netrjs 77/udp +krb5 88/tcp +krb5 88/udp +hostnames 101/tcp +hostnames 101/udp +tsap 102/tcp +tsap 102/udp +cso-ns 105/tcp +cso-ns 105/udp +poppass 106/tcp poppassd +postoffice 109/tcp +rpcbind 111/tcp +rpcbind 111/udp +authentications 113/tcp +readnews 119/tcp untp +imap2 143/tcp imap4 +imap2 143/udp imap4 +z3950 210/tcp wais +z3950 210/udp wais +krcmd 544/tcp +ekshell 545/tcp +whod 513/udp +cmd 514/tcp +spooler 515/tcp +spooler 515/udp +route 520/udp routed +timeserver 525/tcp +timeserver 525/udp +newdate 526/tcp +newdate 526/udp +rpc 530/tcp +rpc 530/udp +chat 531/tcp +chat 531/udp +uucpd 540/tcp +uucpd 540/udp +rdist 541/tcp rdistd +rfs_server 556/tcp rfs # Brunhoff remote filesystem +smtps 465/tcp # smtp protocol over TLS/SSL +smtps 465/udp # smtp protocol over TLS/SSL +kdc 750/tcp kerberos4 +kdc 750/udp kerberos4 +kerberos-master 751/udp # Kerberos admin server udp +kerberos-master 751/tcp # Kerberos admin server tcp +hprop 754/tcp # Heimdal KDC database propagation +krbupdate 760/tcp kreg # BSD Kerberos registration +kpwd 761/tcp # old BSD Kerberos `passwd' +supfilesrv 871/tcp # SUP server +swat 901/tcp # Samba Web Administration Tool +kpop 1109/tcp # Kerberos POP server +supfiledbg 1127/tcp # SUP debugging +radacct 1813/tcp +radacct 1813/udp +lmtp 2003/tcp # Local Mail Transfer Protocol +nfsd 2049/udp # Sun NFS +nfsd 2049/tcp # Sun NFS +eklogin 2105/tcp # Kerberos encrypted `rlogin' +zephyr-hm-srv 2105/udp # Zephyr hm-serv connection +ekshell2 2106/tcp # Encrypted kshell - UColorado, Boulder +fud 4201/udp # Cyrus IMAP finger-like service +X11 6000/tcp # X Window System +ircd 6667/tcp # Often used IRC port (also see 194) +kamanda 10081/udp # Amanda with Kerberos +amandaidx 10082/tcp # Amanda index server +amidxtape 10083/tcp # Amanda dump image server +hunt 26740/udp # multi-player/multi-host maze-wars # -# @(#)services 8.1 (Berkeley) 6/9/93 +# Netatalk (in-kernel Appletalk) services +# Note: The running kernel must be configured with "options NETATALK" +# and software not included in NetBSD, such as Netatalk version 1.4b2 +# or later, must be used to take advantage of these services. # -tcpmux 1/tcp # TCP port multiplexer (RFC1078) -echo 7/tcp -echo 7/udp -discard 9/tcp sink null -discard 9/udp sink null -systat 11/tcp users -daytime 13/tcp -daytime 13/udp -netstat 15/tcp -qotd 17/tcp quote -chargen 19/tcp ttytst source -chargen 19/udp ttytst source -ftp 21/tcp -ssh 22/tcp #Secure Shell Login -ssh 22/udp #Secure Shell Login -telnet 23/tcp -smtp 25/tcp mail -time 37/tcp timserver -time 37/udp timserver -rlp 39/udp resource # resource location -nameserver 42/tcp name # IEN 116 -whois 43/tcp nicname -domain 53/tcp nameserver # name-domain server -domain 53/udp nameserver -mtp 57/tcp # deprecated -bootps 67/udp # Bootstrap Protocol Server -bootpc 68/udp # Bootstrap Protocol Client -tftp 69/udp -rje 77/tcp netrjs -finger 79/tcp -http 80/tcp # World Wide Web -link 87/tcp ttylink -supdup 95/tcp -hostnames 101/tcp hostname # usually from sri-nic -tsap 102/tcp # part of ISODE. -pop 110/tcp postoffice -sunrpc 111/tcp -sunrpc 111/udp -auth 113/tcp authentication -sftp 115/tcp -uucp-path 117/tcp -nntp 119/tcp readnews untp # USENET News Transfer Protocol -ntp 123/udp -netbios-ns 137/tcp # NETBIOS Name Service -netbios-ns 137/udp # NETBIOS Name Service -netbios-dgm 138/tcp # NETBIOS Datagram Service -netbios-dgm 138/udp # NETBIOS Datagram Service -netbios-ssn 139/tcp # NETBIOS Session Service -netbios-ssn 139/udp # NETBIOS Session Service -imap 143/tcp -snmp 161/udp -snmp-trap 162/udp -# -# UNIX specific services -# -exec 512/tcp -biff 512/udp comsat -login 513/tcp -who 513/udp whod -shell 514/tcp cmd # no passwords used -syslog 514/udp -printer 515/tcp spooler # line printer spooler -talk 517/udp -ntalk 518/udp -route 520/udp router routed -timed 525/udp timeserver -tempo 526/tcp newdate -courier 530/tcp rpc -conference 531/tcp chat -netnews 532/tcp readnews -netwall 533/udp # -for emergency broadcasts -uucp 540/tcp uucpd # uucp daemon -rdist 541/tcp rdistd # rdist daemon -kshell 544/tcp krcmd # Kerberos remote shell -remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem -ingreslock 1524/tcp -# -# Kerberos (Project Athena/MIT) services -# -kerberos 750/udp kdc # Kerberos (server) udp -kerberos 750/tcp kdc # Kerberos (server) tcp -krbupdate 760/tcp kreg # Kerberos registration -kpasswd 761/tcp kpwd # Kerberos "passwd" -klogin 543/tcp # Kerberos rlogin -rsync 873/tcp -rsync 873/udp -eklogin 2105/tcp # Kerberos encrypted rlogin -svn 3690/tcp # Subversion -svn 3690/udp # Subversion -postgresql 5432/tcp # PostgreSQL Database -postgresql 5432/udp # PostgreSQL Database +rtmp 1/ddp # Routing Table Maintenance Protocol +nbp 2/ddp # Name Binding Protocol +echo 4/ddp # AppleTalk Echo Protocol +zip 6/ddp # Zone Information Protocol diff --git a/etc/shells b/etc/shells index 61f2c1551..4cbeaf9fd 100644 --- a/etc/shells +++ b/etc/shells @@ -1,2 +1,9 @@ +# $NetBSD: shells,v 1.3 1996/12/29 03:23:07 mrg Exp $ +# +# List of acceptable shells for chpass(1). +# Ftpd will not allow users to connect who are not using +# one of these shells. + /bin/sh +/bin/csh /bin/ksh diff --git a/external/bsd/Makefile b/external/bsd/Makefile index e7e135690..76db78b2e 100644 --- a/external/bsd/Makefile +++ b/external/bsd/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.43 2013/04/28 00:14:14 joerg Exp $ +# $NetBSD: Makefile,v 1.45 2013/11/28 22:34:17 christos Exp $ .include @@ -27,6 +27,9 @@ SUBDIR+= lutok kyua-testers kyua-cli kyua-atf-compat .if (${MKLDAP} != "no") SUBDIR+= openldap .endif +.if (${MKLIBCXX} != "no") +SUBDIR+= libc++ +.endif .if (${MKLLVM} != "no") SUBDIR+= llvm .endif @@ -34,4 +37,6 @@ SUBDIR+= llvm SUBDIR+= pcc .endif +SUBDIR+= nvi + .include diff --git a/external/bsd/atf/Makefile.inc b/external/bsd/atf/Makefile.inc index 0cc453e41..e766dab63 100644 --- a/external/bsd/atf/Makefile.inc +++ b/external/bsd/atf/Makefile.inc @@ -1,5 +1,8 @@ # $NetBSD: Makefile.inc,v 1.1 2013/03/14 07:10:05 jmmv Exp $ +#LSC: For Minix: Ensure NETBSDSRCDIR is set +.include + TOPDIR= ${NETBSDSRCDIR}/external/bsd/atf SRCDIR= ${TOPDIR}/dist diff --git a/external/bsd/atf/dist/atf-c/detail/fs.c b/external/bsd/atf/dist/atf-c/detail/fs.c index 2b0c40dd9..7a19c47b2 100644 --- a/external/bsd/atf/dist/atf-c/detail/fs.c +++ b/external/bsd/atf/dist/atf-c/detail/fs.c @@ -797,7 +797,7 @@ atf_error_t atf_fs_mkdtemp(atf_fs_path_t *p) { atf_error_t err; - char *buf = NULL; + char *buf = NULL; /* MINIX: Complain in -O3 */ if (!check_umask(S_IRWXU, S_IRWXU)) { err = invalid_umask_error(p, atf_fs_stat_dir_type, current_umask()); @@ -825,7 +825,7 @@ atf_error_t atf_fs_mkstemp(atf_fs_path_t *p, int *fdout) { atf_error_t err; - char *buf = NULL; + char *buf = NULL; /* MINIX: Complain in -O3 */ int fd; if (!check_umask(S_IRWXU, S_IRWXU)) { diff --git a/external/bsd/atf/dist/atf-c/detail/process.c b/external/bsd/atf/dist/atf-c/detail/process.c index daa12c43b..9782cd3a3 100644 --- a/external/bsd/atf/dist/atf-c/detail/process.c +++ b/external/bsd/atf/dist/atf-c/detail/process.c @@ -621,7 +621,7 @@ atf_process_exec_array(atf_process_status_t *s, void (*prehook)(void)) { atf_error_t err; - atf_process_child_t c = { .m_pid = 0, .m_stdout = 1, .m_stderr = 2 }; + atf_process_child_t c = { .m_pid = 0, .m_stdout = 1, .m_stderr = 2 }; /* MINIX: Complain in -O3 */ struct exec_args ea = { prog, argv, prehook }; PRE(outsb == NULL || diff --git a/external/bsd/atf/lib/libatf-c++/Makefile b/external/bsd/atf/lib/libatf-c++/Makefile index 0b038f989..5a29f09a5 100644 --- a/external/bsd/atf/lib/libatf-c++/Makefile +++ b/external/bsd/atf/lib/libatf-c++/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.19 2013/03/14 07:10:06 jmmv Exp $ +# $NetBSD: Makefile,v 1.20 2013/09/12 17:14:20 joerg Exp $ NOLINT= # defined @@ -8,11 +8,6 @@ LIB= atf-c++ LIBISCXX= yes LIBDPLIBS+= atf-c ${.CURDIR}/../libatf-c -.if ${HAVE_GCC} == 4 -LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../gnu/lib/libstdc++-v3_4 -.else -LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../external/gpl3/gcc/lib/libstdc++-v3 -.endif LIBDPLIBS+= m ${.CURDIR}/../../../../../lib/libm diff --git a/external/bsd/atf/lib/libatf-c/bconfig.h b/external/bsd/atf/lib/libatf-c/bconfig.h index 09d88e577..2e4252744 100644 --- a/external/bsd/atf/lib/libatf-c/bconfig.h +++ b/external/bsd/atf/lib/libatf-c/bconfig.h @@ -62,7 +62,7 @@ #define HAVE_UNISTD_H 1 /* Define to 1 if you have the `unmount' function. */ -/* #undef HAVE_UNMOUNT */ +#define HAVE_UNMOUNT 1 /* Define to 1 if you have the `unsetenv' function. */ #define HAVE_UNSETENV 1 diff --git a/external/bsd/byacc/dist/AUTHORS b/external/bsd/byacc/dist/AUTHORS index 732376ce0..9dea62c8a 100644 --- a/external/bsd/byacc/dist/AUTHORS +++ b/external/bsd/byacc/dist/AUTHORS @@ -1,4 +1,4 @@ --- Id: AUTHORS,v 1.1 2010/06/06 20:31:51 tom Exp +-- Id: AUTHORS,v 1.1 2010/06/06 20:31:51 tom Exp -- vile:txtmode -- This file is used by a script that collects contributor information and -- resolves nicknames vs fullnames. diff --git a/external/bsd/byacc/dist/CHANGES b/external/bsd/byacc/dist/CHANGES index 566fcf479..c00f95999 100644 --- a/external/bsd/byacc/dist/CHANGES +++ b/external/bsd/byacc/dist/CHANGES @@ -1,3 +1,311 @@ +2013-03-04 Thomas E. Dickey + + * package/debian/changelog, VERSION, package/byacc.spec: bump + + * aclocal.m4: + adapt tweak from Dave Becket to work around long-ago breakage in "new" autoconf. + + * output.c: + fix bogus #include if "-i" is given but not "-d" (report by Richard Mitton). + also while testing that, found a case where the union_file is unused; added + a check for address that. + + * test/ftp.output, test/ftp.tab.c, test/ftp.tab.h: regen + + * test/ftp.y: fix most compiler warnings for "make check_make" + + * test/calc1.tab.c: regen + + * test/calc1.y: fix most compiler warnings for "make check_make" + + * test/calc.tab.c, test/calc1.tab.c, test/calc2.tab.c, test/calc3.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc2.tab.c, test/quote_calc3-s.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c: + regen + + * skeleton.c: quiet a gcc conversion-warning in yygrowstack() + + * configure: regen + + * aclocal.m4: + another fix for CF_GCC_VERSION to handle Debian's modification of gcc message. + +2013-02-10 Thomas E. Dickey + + * config.sub, config.guess: 2013-02-04 + +2012-10-03 Thomas E. Dickey + + * package/debian/changelog, package/byacc.spec, VERSION: bump + + * configure: regen + + * configure.in: moved AC_PROG_CC_STDC call into CF_PROG_CC + + * aclocal.m4: + moved AC_PROG_CC_STDC call into CF_PROG_CC and (for other uses than byacc) + the CF_PROG_CC macro provides the CF_ANSI_CC_REQD for the 2.13 flavor. + + * aclocal.m4, configure.in: + Arian's change dropped my check for misused $CC variable - restore that with + alternate macro CF_PROG_CC. + +2012-10-03 Adrian.Bunk + + * aclocal.m4: + suggested patch: drop CF_ANSI_CC_REQD, CF_ANSI_CC_CHECK, CF_PROG_EXT since + they are not needed. + +2012-10-03 Thomas E. Dickey + + * aclocal.m4: + split-out CF_CC_ENV_FLAGS from CF_ANSI_CC_CHECK to avoid losing it in + Adrian's suggested changes. + + * aclocal.m4: + CF_CLANG_COMPILER - check if the given compiler is really clang. + + * aclocal.m4: + add check for clang to CF_GCC_WARNINGS. modify CF_GCC_WARNINGS to work around + old gcc warning: ncurses change to (try to) use gnatgcc exposed gnatgcc 2.8.1 + on my Sarge system (versus 3.3.5 for the normal gcc). The 2.8.1's + pointer-arithmetic checks fell afoul of gcc's misuse of void* in string.h; work + around by excluding that check for pre-3.x compilers. + + * aclocal.m4: + modify CF_GCC_ATTRIBUTES so that autoheader is able to see the definitions + provided by this macro. use AC_DEFINE_UNQUOTED() in CF_GCC_ATTRIBUTES rather + than appending to confdefs.h, since long-ago concern about the ability to + pass-through parameterized macros appears to be not a problem, testing with + 2.13 and 2.52 + +2012-10-03 Adrian.Bunk + + * aclocal.m4: + add parameter to AC_DEFINE_UNQUOTED() to allow it to be recognized by + autoheader, updated macros: + CF_CHECK_CACHE + CF_DISABLE_LEAKS + CF_MKSTEMP + CF_MIXEDCASE_FILENAMES + CF_NO_LEAKS_OPTION + +2012-10-03 Thomas E. Dickey + + * aclocal.m4: + move existence-check for mkstemp out of the AC_TRY_RUN, to help with + cross-compiles + +2012-10-02 Thomas E. Dickey + + * config_h.in: + Adrian Bunk request - replace this with the output from autoheader + +2012-09-29 Adrian.Bunk + + * configure.in: + suggested change: replace CF_ANSI_CC_REQD by AC_PROG_CC_STDC (since no + check is needed anymore for standard C compilers), drop AC_CONST (same + reason), modify AC_OUTPUT to rely upon template generated by autoheader. + bump requirement to autoconf 2.52.20011201 and drop check for CF_PROG_EXT + as being obsolete with autoconf 2.52x + + * configure.in, main.c: drop check for atexit, because it is standard C + + * makefile.in: add assignment for datarootdir variable. + +2012-05-26 Thomas E. Dickey + + * package/debian/changelog, package/byacc.spec, VERSION: bump + + * reader.c: + some versions of gcc may warn that bp is not set in mark_symbol, e.g., + if GCC_NORETURN is not handled; appease the compiler. + + * reader.c: + use the declared types Assoc_t and Value_t in some places where compiler only + cared about char versus short. + + * reader.c: + use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation + (no object change) + + * defs.h: + add fallbacks for GCC_NORETURN and GCC_UNUSED to make it simpler for *BSD + packagers to build without configure script. Also remove duplicate declaration + of pure_parser variable (prompted by patch by Baptiste Daroussin). + + Also define new TMALLOC and TREALLOC macros to simplify/replace MALLOC and + REALLOC macros. + + * symtab.c: + use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation + (no object change) + +2012-05-25 Thomas E. Dickey + + * output.c, main.c, verbose.c, mkpar.c, lr0.c: + use TMALLOC() and TREALLOC() macros to simplify allocation/reallocation + (no object change) + +2012-01-15 Thomas E. Dickey + + * package/debian/copyright: bump + + * test/run_make.sh: workaround for breakage due to GNU make 3.82 + + * test/run_make.sh: + tested with Solaris 10 (bison 1.875) and added scripting to exercise + the /usr/ccs/bin/yacc executable + + * test/grammar.tab.c: regen + + * test/grammar.y: modify to also build with Solaris yacc + + * VERSION, package/debian/changelog, package/byacc.spec: bump + + * test/calc1.output, test/calc1.tab.c: regen + + * test/calc1.y: + undo the change made to appease bison, since it was only a warning. + + * test/pure_calc.tab.c, test/pure_error.tab.c: regen + + * test/run_make.sh: another fix for running from top-level directory + + * makefile.in: + ensure that check_make rule depends on having byacc built. + + * test/run_make.sh: fixes for building from parent directory + + * test/pure_error.y, test/pure_calc.y: bison-fixes + + * test/calc2.tab.c, test/calc3.tab.c, test/code_error.code.c, test/ftp.tab.c, test/pure_calc.tab.c, test/pure_error.tab.c: + regen + + * test/calc2.y, test/calc3.y, test/code_error.y, test/ftp.y: + byacc already declares yyerror + + * test/pure_error.y, test/pure_calc.y: + modified to help make the files build with bison + + * test/run_make.sh: + supply a "%pure-parser" directive when bison needs it. + + * test/code_calc.code.c: regen + + * test/code_calc.y: modified to help make the files build with bison + + * yacc.1: + in testing, found that %expect did not work as documented for bison. + do not recommend it for portable code. + + * test/run_make.sh: workaround breakage in bison's %expect directive + + * test/grammar.y: modified to help make the files build with bison + + * test/calc1.output, test/calc1.tab.c, test/grammar.tab.c: regen + + * test/calc1.y: quiet a spurious warning from bison 2.3 + + * test/calc1.tab.c: regen + + * test/calc1.y: modified to help make the files build with bison + + * yacc.1: comment on "-y" and "-P" options. + + * yacc.1: comment on portability + + * test/ftp.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2-s.tab.c, test/quote_calc3-s.tab.c: + regen + + * test/ftp.y: modified to help make the files build with bison + (bison's "-y" option is of no use in providing "yacc" compatibility) + + * test/quote_calc2.tab.c, test/quote_calc3.tab.c, test/quote_calc4-s.tab.c, test/quote_calc4.tab.c: + regen + + * test/code_calc.y, test/quote_calc2.y, test/quote_calc.y, test/quote_calc4.y, test/quote_calc3.y: + modified to help make the files build with bison + + * test/calc.tab.c: regen + + * test/calc.y: modified to help make the files build with bison + + * test/error.tab.c: regen + + * test/error.y: modified to help make the files build with bison + + * test/calc2.tab.c, test/calc3.tab.c, test/code_error.code.c: regen + + * test/run_make.sh: + check for older bisons which (2.3 for instance) do not support pure parsers + + * test/code_error.y, test/calc3.y, test/calc2.y: + modified to help make the files build with bison + + * test/run_test.sh: use $opt2 in filenames of the generated files + + * test/quote_calc2-s.tab.c, test/quote_calc3-s.tab.c, test/quote_calc4-s.tab.c, test/quote_calc-s.tab.c, test/quote_calc.tab.c, test/quote_calc2.tab.c, test/quote_calc3.tab.c, test/quote_calc4.tab.c: + regen + +2012-01-14 Thomas E. Dickey + + * test/calc2.tab.c, test/code_calc.code.c, test/code_error.code.c, test/error.tab.c, test/ftp.tab.c, test/grammar.tab.c, test/calc.tab.c, test/calc1.tab.c: + regen + + * output.c: Several changes: + a) add YYLEX_PARAM_TYPE, like YYPARSE_PARAM_TYPE, but for yylex. + b) modify definitions for YYLEX_DECL to be more like YYPARSE_DECL, + using YYLEX_PARAM_TYPE and YYLEX_PARAM. + c) add ifdef's around #define's for YYERROR_DECL and YYERROR_CALL, + to help with redefinitions. + + * test/pure_calc.tab.c: + modified to help make the files build with bison + + * test/run_make.sh: + start work on followup, to check if the generated files build with bison. + + * test/pure_calc.y, test/pure_error.tab.c: + modified to help make the files build with bison + + * test/calc3.tab.c: regen + + * test/quote_calc-s.output, test/quote_calc-s.tab.c, test/quote_calc-s.tab.h, test/quote_calc2-s.output, test/quote_calc2-s.tab.c, test/quote_calc2-s.tab.h, test/quote_calc3-s.output, test/quote_calc3-s.tab.c, test/quote_calc3-s.tab.h, test/quote_calc4-s.output, test/quote_calc4-s.tab.c, test/quote_calc4-s.tab.h: + RCS_BASE + + * test/run_test.sh: generate/test with "-s" option applied. + +2012-01-13 Thomas E. Dickey + + * package/debian/changelog, package/byacc.spec, VERSION: bump + + * yacc.1: improve documentation of -s option + + * yacc.1: note that yacc ignores -y + + * main.c: add -s option to usage message. + + * test/quote_calc3.output, test/quote_calc3.tab.c, test/quote_calc4.output, test/quote_calc4.tab.c, test/quote_calc4.tab.h, test/quote_calc3.y, test/quote_calc.tab.h, test/quote_calc.output, test/quote_calc.tab.c, test/quote_calc2.output, test/quote_calc2.tab.c, test/quote_calc2.tab.h, test/quote_calc3.tab.h, test/quote_calc4.y, test/quote_calc.y, test/quote_calc2.y: + RCS_BASE + + * configure: regen + + * aclocal.m4: resync with my-autoconf, i.e., fixes for CF_XOPEN_SOURCE + +2011-12-19 Thomas E. Dickey + + * package/debian/changelog, package/byacc.spec, VERSION: bump + + * yacc.1, output.c, main.c, defs.h: + add "-s" option to suppress generating #define's based on string contents + in a %token statement. For instance + %token EQLS "Equals" + would generate + #define EQLS 256 + #define Equals 257 + Simply suppressing the second #define makes the behavior closer to yacc. + (report by Paulo Andrade). + 2011-09-08 Thomas E. Dickey * package/debian/changelog, package/byacc.spec, VERSION: bump diff --git a/external/bsd/byacc/dist/README b/external/bsd/byacc/dist/README index 4b95f82a0..a73a3784e 100644 --- a/external/bsd/byacc/dist/README +++ b/external/bsd/byacc/dist/README @@ -1,4 +1,4 @@ --- Id: README,v 1.2 2004/03/28 17:24:53 tom Exp +-- Id: README,v 1.2 2004/03/28 17:24:53 tom Exp The original README is below. I've updated this version of Berkeley Yacc to make it ANSI C compliant - Thomas Dickey diff --git a/external/bsd/byacc/dist/VERSION b/external/bsd/byacc/dist/VERSION index 95a374e34..9107e3f1f 100644 --- a/external/bsd/byacc/dist/VERSION +++ b/external/bsd/byacc/dist/VERSION @@ -1 +1 @@ -20110908 +20130304 diff --git a/external/bsd/byacc/dist/aclocal.m4 b/external/bsd/byacc/dist/aclocal.m4 index 86bafab6d..6184095a2 100644 --- a/external/bsd/byacc/dist/aclocal.m4 +++ b/external/bsd/byacc/dist/aclocal.m4 @@ -1,7 +1,7 @@ -dnl Id: aclocal.m4,v 1.18 2011/09/05 23:45:06 tom Exp +dnl Id: aclocal.m4,v 1.30 2013/03/05 01:13:39 tom Exp dnl Macros for byacc configure script (Thomas E. Dickey) dnl --------------------------------------------------------------------------- -dnl Copyright 2004-2009,2010 Thomas E. Dickey +dnl Copyright 2004-2012,2013 Thomas E. Dickey dnl dnl Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the @@ -28,6 +28,32 @@ dnl sale, use or other dealings in this Software without prior written dnl authorization. dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- +dnl CF_ACVERSION_CHECK version: 4 updated: 2013/03/04 19:52:56 +dnl ------------------ +dnl Conditionally generate script according to whether we're using a given autoconf. +dnl +dnl $1 = version to compare against +dnl $2 = code to use if AC_ACVERSION is at least as high as $1. +dnl $3 = code to use if AC_ACVERSION is older than $1. +define([CF_ACVERSION_CHECK], +[ +ifdef([AC_ACVERSION], ,[m4_copy([m4_PACKAGE_VERSION],[AC_ACVERSION])])dnl +ifdef([m4_version_compare], +[m4_if(m4_version_compare(m4_defn([AC_ACVERSION]), [$1]), -1, [$3], [$2])], +[CF_ACVERSION_COMPARE( +AC_PREREQ_CANON(AC_PREREQ_SPLIT([$1])), +AC_PREREQ_CANON(AC_PREREQ_SPLIT(AC_ACVERSION)), AC_ACVERSION, [$2], [$3])])])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ACVERSION_COMPARE version: 3 updated: 2012/10/03 18:39:53 +dnl -------------------- +dnl CF_ACVERSION_COMPARE(MAJOR1, MINOR1, TERNARY1, +dnl MAJOR2, MINOR2, TERNARY2, +dnl PRINTABLE2, not FOUND, FOUND) +define([CF_ACVERSION_COMPARE], +[ifelse(builtin([eval], [$2 < $5]), 1, +[ifelse([$8], , ,[$8])], +[ifelse([$9], , ,[$9])])])dnl +dnl --------------------------------------------------------------------------- dnl CF_ADD_CFLAGS version: 10 updated: 2010/05/26 05:38:42 dnl ------------- dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS @@ -114,97 +140,6 @@ fi AC_SUBST(EXTRA_CPPFLAGS) -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_CHECK version: 11 updated: 2011/07/01 19:47:45 -dnl ---------------- -dnl This was originally adapted from the macros 'fp_PROG_CC_STDC' and -dnl 'fp_C_PROTOTYPES' in the sharutils 4.2 distribution. -AC_DEFUN([CF_ANSI_CC_CHECK], -[ -# This should have been defined by AC_PROG_CC -: ${CC:=cc} - -# Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content -# into CC. This will not help with broken scripts that wrap the compiler with -# options, but eliminates a more common category of user confusion. -AC_MSG_CHECKING(\$CC variable) -case "$CC" in #(vi -*[[\ \ ]]-[[IUD]]*) - AC_MSG_RESULT(broken) - AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options) - # humor him... - cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'` - CC=`echo "$CC" | sed -e 's/[[ ]].*//'` - CF_ADD_CFLAGS($cf_flags) - ;; -*) - AC_MSG_RESULT(ok) - ;; -esac - -AC_CACHE_CHECK(for ${CC:-cc} option to accept ANSI C, cf_cv_ansi_cc,[ -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# 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 -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - CF_ADD_CFLAGS($cf_arg) - AC_TRY_COMPILE( -[ -#ifndef CC_HAS_PROTOS -#if !defined(__STDC__) || (__STDC__ != 1) -choke me -#endif -#endif -],[ - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);};], - [cf_cv_ansi_cc="$cf_arg"; break]) -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" -]) - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - CF_ADD_CFLAGS($cf_cv_ansi_cc) -else - AC_DEFINE(CC_HAS_PROTOS) -fi -fi -])dnl -dnl --------------------------------------------------------------------------- -dnl CF_ANSI_CC_REQD version: 4 updated: 2008/03/23 14:48:54 -dnl --------------- -dnl For programs that must use an ANSI compiler, obtain compiler options that -dnl will make it recognize prototypes. We'll do preprocessor checks in other -dnl macros, since tools such as unproto can fake prototypes, but only part of -dnl the preprocessor. -AC_DEFUN([CF_ANSI_CC_REQD], -[AC_REQUIRE([CF_ANSI_CC_CHECK]) -if test "$cf_cv_ansi_cc" = "no"; then - AC_MSG_ERROR( -[Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto]) -fi ])dnl dnl --------------------------------------------------------------------------- dnl CF_ARG_DISABLE version: 3 updated: 1999/03/30 17:24:31 @@ -236,7 +171,33 @@ ifelse([$3],,[ :]dnl ])dnl ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 11 updated: 2008/03/23 14:45:59 +dnl CF_CC_ENV_FLAGS version: 1 updated: 2012/10/03 05:25:49 +dnl --------------- +dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content +dnl into CC. This will not help with broken scripts that wrap the compiler with +dnl options, but eliminates a more common category of user confusion. +AC_DEFUN([CF_CC_ENV_FLAGS], +[ +# This should have been defined by AC_PROG_CC +: ${CC:=cc} + +AC_MSG_CHECKING(\$CC variable) +case "$CC" in #(vi +*[[\ \ ]]-[[IUD]]*) + AC_MSG_RESULT(broken) + AC_MSG_WARN(your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options) + # humor him... + cf_flags=`echo "$CC" | sed -e 's/^[[^ ]]*[[ ]]//'` + CC=`echo "$CC" | sed -e 's/[[ ]].*//'` + CF_ADD_CFLAGS($cf_flags) + ;; +*) + AC_MSG_RESULT(ok) + ;; +esac +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03 dnl -------------- dnl Check if we're accidentally using a cache from a different machine. dnl Derive the system name, as a check for reusing the autoconf cache. @@ -259,7 +220,7 @@ else system_name="`(hostname) 2>/dev/null`" fi fi -test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name") +test -n "$system_name" && AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name",[Define to the system name.]) AC_CACHE_VAL(cf_cv_system_name,[cf_cv_system_name="$system_name"]) test -z "$system_name" && system_name="$cf_cv_system_name" @@ -271,7 +232,40 @@ if test ".$system_name" != ".$cf_cv_system_name" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_ECHO version: 11 updated: 2009/12/13 13:16:57 +dnl CF_CLANG_COMPILER version: 1 updated: 2012/06/16 14:55:39 +dnl ----------------- +dnl Check if the given compiler is really clang. clang's C driver defines +dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does +dnl not ignore some gcc options. +dnl +dnl This macro should be run "soon" after AC_PROG_CC or AC_PROG_CPLUSPLUS, to +dnl ensure that it is not mistaken for gcc/g++. It is normally invoked from +dnl the wrappers for gcc and g++ warnings. +dnl +dnl $1 = GCC (default) or GXX +dnl $2 = INTEL_COMPILER (default) or INTEL_CPLUSPLUS +dnl $3 = CFLAGS (default) or CXXFLAGS +AC_DEFUN([CF_CLANG_COMPILER],[ +ifelse([$2],,CLANG_COMPILER,[$2])=no + +if test "$ifelse([$1],,[$1],GCC)" = yes ; then + AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler) + cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" + ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments" + AC_TRY_COMPILE([],[ +#ifdef __clang__ +#else +make an error +#endif +],[ifelse([$2],,CLANG_COMPILER,[$2])=yes +cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" +],[]) + ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" + AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2])) +fi +]) +dnl --------------------------------------------------------------------------- +dnl CF_DISABLE_ECHO version: 12 updated: 2012/10/06 16:30:28 dnl --------------- dnl You can always use "make -n" to see the actual options, but it's hard to dnl pick out/analyze warning messages when the compile-line is long. @@ -286,7 +280,7 @@ dnl AC_DEFUN([CF_DISABLE_ECHO],[ AC_MSG_CHECKING(if you want to see long compiling messages) CF_ARG_DISABLE(echo, - [ --disable-echo display "compiling" commands], + [ --disable-echo do not display "compiling" commands], [ ECHO_LT='--silent' ECHO_LD='@echo linking [$]@;' @@ -308,7 +302,7 @@ AC_SUBST(SHOW_CC) AC_SUBST(ECHO_CC) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32 +dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03 dnl ---------------- dnl Combine no-leak checks with the libraries or tools that are used for the dnl checks. @@ -326,12 +320,12 @@ AC_ARG_ENABLE(leaks, AC_MSG_RESULT($with_no_leaks) if test "$with_no_leaks" = yes ; then - AC_DEFINE(NO_LEAKS) - AC_DEFINE(YY_NO_LEAKS) + AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.]) + AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 14 updated: 2010/10/23 15:52:32 +dnl CF_GCC_ATTRIBUTES version: 16 updated: 2012/10/02 20:55:03 dnl ----------------- dnl Test for availability of useful gcc __attribute__ directives to quiet dnl compiler warnings. Though useful, not all are supported -- and contrary @@ -409,27 +403,27 @@ EOF test -n "$verbose" && AC_MSG_RESULT(... $cf_attribute) cat conftest.h >>confdefs.h case $cf_attribute in #(vi + noreturn) #(vi + AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc]) + ;; printf) #(vi - if test "$cf_printf_attribute" = no ; then - cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h < conftest.$ac_ext <&AC_FD_CC ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05 +dnl CF_NO_LEAKS_OPTION version: 5 updated: 2012/10/02 20:55:03 dnl ------------------ dnl see CF_WITH_NO_LEAKS AC_DEFUN([CF_NO_LEAKS_OPTION],[ AC_MSG_CHECKING(if you want to use $1 for testing) AC_ARG_WITH($1, [$2], - [AC_DEFINE($3)ifelse([$4],,[ + [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[ $4 ]) : ${with_cflags:=-g} @@ -858,29 +863,17 @@ fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_EXT version: 10 updated: 2004/01/03 19:28:18 -dnl ----------- -dnl Compute $PROG_EXT, used for non-Unix ports, such as OS/2 EMX. -AC_DEFUN([CF_PROG_EXT], -[ -AC_REQUIRE([CF_CHECK_CACHE]) -case $cf_cv_system_name in -os2*) - CFLAGS="$CFLAGS -Zmt" - CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - -AC_EXEEXT -AC_OBJEXT - -PROG_EXT="$EXEEXT" -AC_SUBST(PROG_EXT) -test -n "$PROG_EXT" && AC_DEFINE_UNQUOTED(PROG_EXT,"$PROG_EXT") +dnl CF_PROG_CC version: 3 updated: 2012/10/06 15:31:55 +dnl ---------- +dnl standard check for CC, plus followup sanity checks +dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name +AC_DEFUN([CF_PROG_CC],[ +ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)]) +CF_GCC_VERSION +CF_ACVERSION_CHECK(2.52, + [AC_PROG_CC_STDC], + [CF_ANSI_CC_REQD]) +CF_CC_ENV_FLAGS ])dnl dnl --------------------------------------------------------------------------- dnl CF_PROG_LINT version: 2 updated: 2009/08/12 04:43:14 @@ -908,6 +901,45 @@ $1=`echo "$2" | \ -e 's/-[[UD]]'"$3"'\(=[[^ ]]*\)\?[$]//g'` ])dnl dnl --------------------------------------------------------------------------- +dnl CF_TRY_XOPEN_SOURCE version: 1 updated: 2011/10/30 17:09:50 +dnl ------------------- +dnl If _XOPEN_SOURCE is not defined in the compile environment, check if we +dnl can define it successfully. +AC_DEFUN([CF_TRY_XOPEN_SOURCE],[ +AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ + AC_TRY_COMPILE([ +#include +#include +#include +],[ +#ifndef _XOPEN_SOURCE +make an error +#endif], + [cf_cv_xopen_source=no], + [cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + AC_TRY_COMPILE([ +#include +#include +#include +],[ +#ifdef _XOPEN_SOURCE +make an error +#endif], + [cf_cv_xopen_source=no], + [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) + CPPFLAGS="$cf_save" + ]) +]) + +if test "$cf_cv_xopen_source" != no ; then + CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) + CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + CF_ADD_CFLAGS($cf_temp_xopen_source) +fi +]) +dnl --------------------------------------------------------------------------- dnl CF_UPPER version: 5 updated: 2001/01/29 23:40:59 dnl -------- dnl Make an uppercase version of a variable @@ -986,7 +1018,7 @@ fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 37 updated: 2011/08/06 20:32:05 +dnl CF_XOPEN_SOURCE version: 43 updated: 2013/02/10 10:41:05 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -996,6 +1028,7 @@ dnl Parameters: dnl $1 is the nominal value for _XOPEN_SOURCE dnl $2 is the nominal value for _POSIX_C_SOURCE AC_DEFUN([CF_XOPEN_SOURCE],[ +AC_REQUIRE([AC_CANONICAL_HOST]) cf_XOPEN_SOURCE=ifelse([$1],,500,[$1]) cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2]) @@ -1013,6 +1046,7 @@ darwin[[0-8]].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" + cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -1030,16 +1064,24 @@ hpux*) #(vi ;; irix[[56]].*) #(vi cf_xopen_source="-D_SGI_SOURCE" + cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types + cf_XOPEN_SOURCE= + CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) ;; netbsd*) #(vi cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw ;; +openbsd[[4-9]]*) #(vi + # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw + cf_xopen_source="-D_BSD_SOURCE" + cf_XOPEN_SOURCE=600 + ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw ;; @@ -1052,36 +1094,11 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.1[[0-9]]) #(vi - cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -solaris2.[[1-9]]) #(vi +solaris2.*) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - AC_CACHE_CHECK(if we should define _XOPEN_SOURCE,cf_cv_xopen_source,[ - AC_TRY_COMPILE([#include ],[ -#ifndef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_save="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - AC_TRY_COMPILE([#include ],[ -#ifdef _XOPEN_SOURCE -make an error -#endif], - [cf_cv_xopen_source=no], - [cf_cv_xopen_source=$cf_XOPEN_SOURCE]) - CPPFLAGS="$cf_save" - ]) -]) - if test "$cf_cv_xopen_source" != no ; then - CF_REMOVE_DEFINE(CFLAGS,$CFLAGS,_XOPEN_SOURCE) - CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,_XOPEN_SOURCE) - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" - CF_ADD_CFLAGS($cf_temp_xopen_source) - fi + CF_TRY_XOPEN_SOURCE CF_POSIX_C_SOURCE($cf_POSIX_C_SOURCE) ;; esac @@ -1089,4 +1106,33 @@ esac if test -n "$cf_xopen_source" ; then CF_ADD_CFLAGS($cf_xopen_source) fi + +dnl In anything but the default case, we may have system-specific setting +dnl which is still not guaranteed to provide all of the entrypoints that +dnl _XOPEN_SOURCE would yield. +if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then + AC_MSG_CHECKING(if _XOPEN_SOURCE really is set) + AC_TRY_COMPILE([#include ],[ +#ifndef _XOPEN_SOURCE +make an error +#endif], + [cf_XOPEN_SOURCE_set=yes], + [cf_XOPEN_SOURCE_set=no]) + AC_MSG_RESULT($cf_XOPEN_SOURCE_set) + if test $cf_XOPEN_SOURCE_set = yes + then + AC_TRY_COMPILE([#include ],[ +#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE +make an error +#endif], + [cf_XOPEN_SOURCE_set_ok=yes], + [cf_XOPEN_SOURCE_set_ok=no]) + if test $cf_XOPEN_SOURCE_set_ok = no + then + AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) + fi + else + CF_TRY_XOPEN_SOURCE + fi +fi ]) diff --git a/external/bsd/byacc/dist/closure.c b/external/bsd/byacc/dist/closure.c index b4d56a9c8..499bb55d7 100644 --- a/external/bsd/byacc/dist/closure.c +++ b/external/bsd/byacc/dist/closure.c @@ -1,11 +1,11 @@ -/* $NetBSD: closure.c,v 1.6 2011/09/10 21:29:04 christos Exp $ */ +/* $NetBSD: closure.c,v 1.7 2013/04/06 14:52:24 christos Exp $ */ -/* Id: closure.c,v 1.9 2010/06/09 08:21:47 tom Exp */ +/* Id: closure.c,v 1.9 2010/06/09 08:21:47 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: closure.c,v 1.6 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: closure.c,v 1.7 2013/04/06 14:52:24 christos Exp $"); Value_t *itemset; Value_t *itemsetend; diff --git a/external/bsd/byacc/dist/config.guess b/external/bsd/byacc/dist/config.guess index e4b69669f..76ed407bb 100755 --- a/external/bsd/byacc/dist/config.guess +++ b/external/bsd/byacc/dist/config.guess @@ -1,14 +1,12 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2911 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2011-01-01' +timestamp='2013-02-04' # 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 2 of the License, or +# 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 @@ -17,26 +15,22 @@ timestamp='2011-01-01' # 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. +# along with this program; if not, see . # # 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. - - -# Originally written by Per Bothner. Please send patches (context -# diff format) to and include a ChangeLog -# entry. +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). # -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. +# Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,9 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -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. +Copyright 1992-2013 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." @@ -145,7 +137,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -202,6 +194,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} @@ -220,10 +216,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in - *4.0) + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; - *5.*) + *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac @@ -304,7 +300,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; - arm:riscos:*:*|arm:RISCOS:*:*) + arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) @@ -600,50 +596,50 @@ EOF sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac + esac ;; + esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c - #define _HPUX_SOURCE - #include - #include + #define _HPUX_SOURCE + #include + #include - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa @@ -792,21 +788,26 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -859,17 +860,24 @@ EOF echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + echo ${UNAME_MACHINE}-elf32-minix # LSC, for Minix, should help + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi @@ -877,30 +885,39 @@ EOF exit ;; arm*:Linux:*:*) eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | \ - grep -q __ARM_EABI__ + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c + sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif @@ -937,7 +954,7 @@ EOF test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu @@ -972,13 +989,13 @@ EOF echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -1096,7 +1113,7 @@ EOF && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; + && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ @@ -1139,8 +1156,8 @@ EOF echo ns32k-sni-sysv fi exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) @@ -1168,9 +1185,9 @@ EOF exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} + echo mips-nec-sysv${UNAME_RELEASE} else - echo mips-unknown-sysv${UNAME_RELEASE} + echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. @@ -1185,6 +1202,9 @@ EOF BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1215,12 +1235,12 @@ EOF i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac @@ -1229,8 +1249,8 @@ EOF *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; @@ -1240,7 +1260,7 @@ EOF NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; - NSE-?:NONSTOP_KERNEL:*:*) + NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) @@ -1309,11 +1329,11 @@ EOF i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - eval $set_cc_for_build cat >$dummy.c < printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 - "4" + "4" #else - "" + "" #endif - ); exit (0); + ); exit (0); #endif #endif diff --git a/external/bsd/byacc/dist/config.sub b/external/bsd/byacc/dist/config.sub index 7c62c346a..80211d0d8 100755 --- a/external/bsd/byacc/dist/config.sub +++ b/external/bsd/byacc/dist/config.sub @@ -1,38 +1,31 @@ #! /bin/sh # 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 Free Software Foundation, Inc. +# Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2011-04-01' +timestamp='2013-02-04' -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# 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 2 of the License, or +# 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. +# 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. +# along with this program; if not, see . # # 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 same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches to . Submit a context -# diff and a properly formatted GNU ChangeLog entry. +# Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -75,9 +68,7 @@ Report bugs and patches to ." 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 -Free Software Foundation, Inc. +Copyright 1992-2013 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." @@ -125,13 +116,17 @@ esac maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) 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 ] @@ -154,7 +149,7 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze) + -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; @@ -223,6 +218,12 @@ 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 ;; @@ -247,20 +248,27 @@ 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 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | arc \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -278,20 +286,21 @@ case $basic_machine in | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ - | nios | nios2 \ + | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -300,7 +309,7 @@ case $basic_machine in | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -315,8 +324,7 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -325,21 +333,28 @@ case $basic_machine in ms1) basic_machine=mt-unknown ;; + strongarm | thumb | xscale) basic_machine=arm-unknown ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; + xscaleel) basic_machine=armel-unknown ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; + basic_machine=$basic_machine-pc + ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 @@ -348,11 +363,13 @@ 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-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ @@ -361,12 +378,15 @@ case $basic_machine in | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -384,19 +404,20 @@ case $basic_machine in | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -404,10 +425,11 @@ case $basic_machine in | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -707,7 +729,6 @@ 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 @@ -765,9 +786,13 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; - microblaze) + microblaze*) basic_machine=microblaze-xilinx ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -804,10 +829,18 @@ 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 ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -836,10 +869,10 @@ case $basic_machine in basic_machine=v70-nec os=-sysv ;; - next | m*-next) + next | m*-next ) basic_machine=m68k-next case $os in - -nextstep*) + -nextstep* ) ;; -ns2*) os=-nextstep2 @@ -958,11 +991,9 @@ case $basic_machine in pn) basic_machine=pn-gould ;; - power) - basic_machine=power-ibm + power) basic_machine=power-ibm ;; - ppc | ppcbe) - basic_machine=powerpc-unknown + ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` @@ -973,11 +1004,9 @@ case $basic_machine in ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64) - basic_machine=powerpc64-unknown + ppc64) basic_machine=powerpc64-unknown ;; - ppc64-*) - basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown @@ -992,7 +1021,11 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; - rdos) + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) basic_machine=i386-pc os=-rdos ;; @@ -1120,13 +1153,8 @@ case $basic_machine in basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1324,21 +1352,21 @@ case $os in -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* \ + | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-uclibc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ @@ -1421,7 +1449,7 @@ case $os in -nova*) os=-rtmk-nova ;; - -ns2) + -ns2 ) os=-nextstep2 ;; -nsk*) @@ -1470,9 +1498,6 @@ case $os in -aros*) os=-aros ;; - -kaos*) - os=-kaos - ;; -zvmoe) os=-zvmoe ;; @@ -1521,6 +1546,9 @@ case $basic_machine in c4x-* | tic4x-*) os=-coff ;; + hexagon-*) + os=-elf + ;; tic54x-*) os=-coff ;; @@ -1548,9 +1576,6 @@ 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 @@ -1618,7 +1643,7 @@ case $basic_machine in m88k-omron*) os=-luna ;; - *-next) + *-next ) os=-nextstep ;; *-sequent) diff --git a/external/bsd/byacc/dist/config_h.in b/external/bsd/byacc/dist/config_h.in index 833508fb4..afd46fd96 100644 --- a/external/bsd/byacc/dist/config_h.in +++ b/external/bsd/byacc/dist/config_h.in @@ -1,3 +1,52 @@ -/* @configure_input@ */ -/* Id: config_h.in,v 1.1 1995/01/01 19:34:59 tom Exp */ -@DEFS@ +/* config_h.in. Generated automatically from configure.in by autoheader. */ + +/* Define to noreturn-attribute for gcc */ +#undef GCC_NORETURN + +/* Define to 1 if the compiler supports gcc-like printf attribute. */ +#undef GCC_PRINTF + +/* Define to printf-attribute for gcc */ +#undef GCC_PRINTFLIKE + +/* Define to 1 if the compiler supports gcc-like scanf attribute. */ +#undef GCC_SCANF + +/* Define to sscanf-attribute for gcc */ +#undef GCC_SCANFLIKE + +/* Define to unused-attribute for gcc */ +#undef GCC_UNUSED + +/* Define if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define if you have the `dbmalloc' library (-ldbmalloc). */ +#undef HAVE_LIBDBMALLOC + +/* Define if you have the `dmalloc' library (-ldmalloc). */ +#undef HAVE_LIBDMALLOC + +/* Define to 1 if mkstemp() is available and working. */ +#undef HAVE_MKSTEMP + +/* Define to 1 if filesystem supports mixed-case filenames. */ +#undef MIXEDCASE_FILENAMES + +/* Define to 1 if you want to perform memory-leak testing. */ +#undef NO_LEAKS + +/* Define to the system name. */ +#undef SYSTEM_NAME + +/* "Define to 1 if you want to use dbmalloc for testing." */ +#undef USE_DBMALLOC + +/* "Define to 1 if you want to use dmalloc for testing." */ +#undef USE_DMALLOC + +/* "Define to 1 if you want to use valgrind for testing." */ +#undef USE_VALGRIND + +/* Define to 1 if you want to perform memory-leak testing. */ +#undef YY_NO_LEAKS diff --git a/external/bsd/byacc/dist/configure b/external/bsd/byacc/dist/configure index fab60206f..24049ce22 100755 --- a/external/bsd/byacc/dist/configure +++ b/external/bsd/byacc/dist/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.in Revision: 1.10 . +# From configure.in Revision: 1.14 . # Guess values for system-dependent variables and create Makefiles. -# Generated by Autoconf 2.52.20101002. +# Generated by Autoconf 2.52.20121002. # # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. @@ -135,15 +135,16 @@ x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +infodir='${datarootdir}/info' +mandir='${datarootdir}/man' # Identity of this package. PACKAGE_NAME= @@ -194,6 +195,13 @@ do | --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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. @@ -469,7 +477,7 @@ do done # Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ +for ac_var in bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir \ localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` @@ -606,15 +614,16 @@ 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] - --datadir=DIR read-only architecture-independent data [PREFIX/share] + --datarootdir=DIR read-only architecture-independent data [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --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] + --infodir=DIR info documentation [DATAROOTDIR/info] + --mandir=DIR man documentation [DATAROOTDIR/man] EOF cat <<\EOF @@ -644,7 +653,7 @@ Optional Features: --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-warnings test: turn on gcc warnings - --disable-echo display "compiling" commands + --disable-echo do not display "compiling" commands --with-dmalloc test: use Gray Watson's dmalloc library --with-dbmalloc test: use Conor Cahill's dbmalloc library --with-valgrind test: use valgrind @@ -718,7 +727,7 @@ 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.52.20101002. Invocation command line was +generated by GNU Autoconf 2.52.20121002. Invocation command line was $ $0 $@ @@ -842,7 +851,7 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - { echo "$as_me:845: loading site script $ac_site_file" >&5 + { echo "$as_me:854: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} cat "$ac_site_file" >&5 . "$ac_site_file" @@ -853,7 +862,7 @@ if test -r "$cache_file"; then # 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:856: loading cache $cache_file" >&5 + { echo "$as_me:865: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; @@ -861,7 +870,7 @@ echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { echo "$as_me:864: creating cache $cache_file" >&5 + { echo "$as_me:873: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -877,21 +886,21 @@ for ac_var in `(set) 2>&1 | eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:880: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { echo "$as_me:889: 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) - { echo "$as_me:884: error: \`$ac_var' was not set in the previous run" >&5 + { echo "$as_me:893: 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 - { echo "$as_me:890: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:899: 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:892: former value: $ac_old_val" >&5 + { echo "$as_me:901: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:894: current value: $ac_new_val" >&5 + { echo "$as_me:903: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; @@ -910,9 +919,9 @@ echo "$as_me: current value: $ac_new_val" >&2;} fi done if $ac_cache_corrupted; then - { echo "$as_me:913: error: changes in the environment can compromise the build" >&5 + { echo "$as_me:922: 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:915: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 + { { echo "$as_me:924: 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 @@ -933,10 +942,10 @@ esac echo "#! $SHELL" >conftest.sh echo "exit 0" >>conftest.sh chmod +x conftest.sh -if { (echo "$as_me:936: PATH=\".;.\"; conftest.sh") >&5 +if { (echo "$as_me:945: PATH=\".;.\"; conftest.sh") >&5 (PATH=".;."; conftest.sh) 2>&5 ac_status=$? - echo "$as_me:939: \$? = $ac_status" >&5 + echo "$as_me:948: \$? = $ac_status" >&5 (exit $ac_status); }; then ac_path_separator=';' else @@ -964,7 +973,7 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:967: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 + { { echo "$as_me:976: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi @@ -974,11 +983,11 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:977: error: cannot run $ac_config_sub" >&5 + { { echo "$as_me:986: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:981: checking build system type" >&5 +echo "$as_me:990: 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 @@ -987,23 +996,23 @@ else test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && - { { echo "$as_me:990: error: cannot guess build type; you must specify one" >&5 + { { echo "$as_me:999: 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:994: error: $ac_config_sub $ac_cv_build_alias failed." >&5 + { { echo "$as_me:1003: 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:999: result: $ac_cv_build" >&5 +echo "$as_me:1008: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$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:1006: checking host system type" >&5 +echo "$as_me:1015: 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 @@ -1012,12 +1021,12 @@ else 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:1015: error: $ac_config_sub $ac_cv_host_alias failed" >&5 + { { echo "$as_me:1024: 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 -echo "$as_me:1020: result: $ac_cv_host" >&5 +echo "$as_me:1029: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -1025,7 +1034,7 @@ host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - echo "$as_me:1028: checking target system type" >&5 + echo "$as_me:1037: 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 @@ -1034,12 +1043,12 @@ else 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:1037: error: $ac_config_sub $ac_cv_target_alias failed" >&5 + { { echo "$as_me:1046: 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 -echo "$as_me:1042: result: $ac_cv_target" >&5 +echo "$as_me:1051: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6 target=$ac_cv_target target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -1059,7 +1068,8 @@ else system_name="`(hostname) 2>/dev/null`" fi fi -test -n "$system_name" && cat >>confdefs.h <>confdefs.h <&5 +test -n "$cf_cv_system_name" && echo "$as_me:1083: result: Configuring for $cf_cv_system_name" >&5 echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6 if test ".$system_name" != ".$cf_cv_system_name" ; then - echo "$as_me:1077: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 + echo "$as_me:1087: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6 - { { echo "$as_me:1079: error: \"Please remove config.cache and try again.\"" >&5 + { { echo "$as_me:1089: error: \"Please remove config.cache and try again.\"" >&5 echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;} { (exit 1); exit 1; }; } fi @@ -1103,7 +1113,7 @@ ac_main_return=return 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 -echo "$as_me:1106: checking for $ac_word" >&5 +echo "$as_me:1116: 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 @@ -1118,7 +1128,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1121: found $ac_dir/$ac_word" >&5 +echo "$as_me:1131: found $ac_dir/$ac_word" >&5 break done @@ -1126,10 +1136,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1129: result: $CC" >&5 + echo "$as_me:1139: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1132: result: no" >&5 + echo "$as_me:1142: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1138,7 +1148,7 @@ 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 -echo "$as_me:1141: checking for $ac_word" >&5 +echo "$as_me:1151: 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 @@ -1153,7 +1163,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1156: found $ac_dir/$ac_word" >&5 +echo "$as_me:1166: found $ac_dir/$ac_word" >&5 break done @@ -1161,10 +1171,10 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1164: result: $ac_ct_CC" >&5 + echo "$as_me:1174: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1167: result: no" >&5 + echo "$as_me:1177: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1177,7 +1187,7 @@ 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. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1180: checking for $ac_word" >&5 +echo "$as_me:1190: 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 @@ -1192,7 +1202,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1195: found $ac_dir/$ac_word" >&5 +echo "$as_me:1205: found $ac_dir/$ac_word" >&5 break done @@ -1200,10 +1210,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1203: result: $CC" >&5 + echo "$as_me:1213: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1206: result: no" >&5 + echo "$as_me:1216: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1212,7 +1222,7 @@ 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:1215: checking for $ac_word" >&5 +echo "$as_me:1225: 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 @@ -1227,7 +1237,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1230: found $ac_dir/$ac_word" >&5 +echo "$as_me:1240: found $ac_dir/$ac_word" >&5 break done @@ -1235,10 +1245,10 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1238: result: $ac_ct_CC" >&5 + echo "$as_me:1248: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1241: result: no" >&5 + echo "$as_me:1251: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1251,7 +1261,7 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:1254: checking for $ac_word" >&5 +echo "$as_me:1264: 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 @@ -1271,7 +1281,7 @@ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then continue fi ac_cv_prog_CC="cc" -echo "$as_me:1274: found $ac_dir/$ac_word" >&5 +echo "$as_me:1284: found $ac_dir/$ac_word" >&5 break done @@ -1293,10 +1303,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1296: result: $CC" >&5 + echo "$as_me:1306: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1299: result: no" >&5 + echo "$as_me:1309: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1307,7 +1317,7 @@ if test -z "$CC"; then 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 -echo "$as_me:1310: checking for $ac_word" >&5 +echo "$as_me:1320: 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 @@ -1322,7 +1332,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1325: found $ac_dir/$ac_word" >&5 +echo "$as_me:1335: found $ac_dir/$ac_word" >&5 break done @@ -1330,10 +1340,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1333: result: $CC" >&5 + echo "$as_me:1343: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1336: result: no" >&5 + echo "$as_me:1346: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1346,7 +1356,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:1349: checking for $ac_word" >&5 +echo "$as_me:1359: 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 @@ -1361,7 +1371,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1364: found $ac_dir/$ac_word" >&5 +echo "$as_me:1374: found $ac_dir/$ac_word" >&5 break done @@ -1369,10 +1379,10 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1372: result: $ac_ct_CC" >&5 + echo "$as_me:1382: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1375: result: no" >&5 + echo "$as_me:1385: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1384,32 +1394,32 @@ fi fi -test -z "$CC" && { { echo "$as_me:1387: error: no acceptable cc found in \$PATH" >&5 +test -z "$CC" && { { echo "$as_me:1397: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:1392:" \ +echo "$as_me:1402:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:1395: \"$ac_compiler --version &5\"") >&5 +{ (eval echo "$as_me:1405: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? - echo "$as_me:1398: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1400: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:1403: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:1405: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? echo "$as_me:1408: \$? = $ac_status" >&5 (exit $ac_status); } +{ (eval echo "$as_me:1410: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:1413: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:1415: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:1418: \$? = $ac_status" >&5 + (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line 1412 "configure" +#line 1422 "configure" #include "confdefs.h" int @@ -1425,13 +1435,13 @@ ac_clean_files="$ac_clean_files a.out a.exe" # 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. -echo "$as_me:1428: checking for C compiler default output" >&5 +echo "$as_me:1438: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1431: \"$ac_link_default\"") >&5 +if { (eval echo "$as_me:1441: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? - echo "$as_me:1434: \$? = $ac_status" >&5 + echo "$as_me:1444: \$? = $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 @@ -1454,34 +1464,34 @@ done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ { echo "$as_me:1457: error: C compiler cannot create executables" >&5 +{ { echo "$as_me:1467: error: C compiler cannot create executables" >&5 echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:1463: result: $ac_file" >&5 +echo "$as_me:1473: 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:1468: checking whether the C compiler works" >&5 +echo "$as_me:1478: 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:1474: \"$ac_try\"") >&5 + { (eval echo "$as_me:1484: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1477: \$? = $ac_status" >&5 + echo "$as_me:1487: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:1484: error: cannot run C compiled programs. + { { echo "$as_me:1494: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&2;} @@ -1489,24 +1499,24 @@ If you meant to cross compile, use \`--host'." >&2;} fi fi fi -echo "$as_me:1492: result: yes" >&5 +echo "$as_me:1502: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:1499: checking whether we are cross compiling" >&5 +echo "$as_me:1509: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1501: result: $cross_compiling" >&5 +echo "$as_me:1511: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 -echo "$as_me:1504: checking for executable suffix" >&5 +echo "$as_me:1514: checking for executable suffix" >&5 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1506: \"$ac_link\"") >&5 +if { (eval echo "$as_me:1516: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:1509: \$? = $ac_status" >&5 + echo "$as_me:1519: \$? = $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 @@ -1522,25 +1532,25 @@ for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do esac done else - { { echo "$as_me:1525: error: cannot compute EXEEXT: cannot compile and link" >&5 + { { echo "$as_me:1535: error: cannot compute EXEEXT: cannot compile and link" >&5 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:1531: result: $ac_cv_exeext" >&5 +echo "$as_me:1541: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:1537: checking for object suffix" >&5 +echo "$as_me:1547: checking for object suffix" >&5 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 1543 "configure" +#line 1553 "configure" #include "confdefs.h" int @@ -1552,10 +1562,10 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1555: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1565: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1558: \$? = $ac_status" >&5 + echo "$as_me:1568: \$? = $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 @@ -1567,24 +1577,24 @@ done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ { echo "$as_me:1570: error: cannot compute OBJEXT: cannot compile" >&5 +{ { echo "$as_me:1580: error: cannot compute OBJEXT: cannot compile" >&5 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:1577: result: $ac_cv_objext" >&5 +echo "$as_me:1587: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:1581: checking whether we are using the GNU C compiler" >&5 +echo "$as_me:1591: 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 >conftest.$ac_ext <<_ACEOF -#line 1587 "configure" +#line 1597 "configure" #include "confdefs.h" int @@ -1599,16 +1609,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1602: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1612: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1605: \$? = $ac_status" >&5 + echo "$as_me:1615: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1608: \"$ac_try\"") >&5 + { (eval echo "$as_me:1618: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1611: \$? = $ac_status" >&5 + echo "$as_me:1621: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else @@ -1620,19 +1630,19 @@ rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:1623: result: $ac_cv_c_compiler_gnu" >&5 +echo "$as_me:1633: 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 CFLAGS="-g" -echo "$as_me:1629: checking whether $CC accepts -g" >&5 +echo "$as_me:1639: 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 -#line 1635 "configure" +#line 1645 "configure" #include "confdefs.h" int @@ -1644,16 +1654,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1647: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1657: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1650: \$? = $ac_status" >&5 + echo "$as_me:1660: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1653: \"$ac_try\"") >&5 + { (eval echo "$as_me:1663: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1656: \$? = $ac_status" >&5 + echo "$as_me:1666: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else @@ -1663,7 +1673,7 @@ ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:1666: result: $ac_cv_prog_cc_g" >&5 +echo "$as_me:1676: 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 @@ -1690,16 +1700,16 @@ cat >conftest.$ac_ext <<_ACEOF #endif _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1693: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1703: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1696: \$? = $ac_status" >&5 + echo "$as_me:1706: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1699: \"$ac_try\"") >&5 + { (eval echo "$as_me:1709: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1702: \$? = $ac_status" >&5 + echo "$as_me:1712: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ @@ -1711,7 +1721,7 @@ if { (eval echo "$as_me:1693: \"$ac_compile\"") >&5 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line 1714 "configure" +#line 1724 "configure" #include "confdefs.h" #include $ac_declaration @@ -1724,16 +1734,16 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1727: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1737: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1730: \$? = $ac_status" >&5 + echo "$as_me:1740: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1733: \"$ac_try\"") >&5 + { (eval echo "$as_me:1743: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1736: \$? = $ac_status" >&5 + echo "$as_me:1746: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -1743,7 +1753,7 @@ continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 1746 "configure" +#line 1756 "configure" #include "confdefs.h" $ac_declaration int @@ -1755,16 +1765,16 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1758: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1768: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1761: \$? = $ac_status" >&5 + echo "$as_me:1771: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1764: \"$ac_try\"") >&5 + { (eval echo "$as_me:1774: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1767: \$? = $ac_status" >&5 + echo "$as_me:1777: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -1792,7 +1802,17 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_main_return=return -echo "$as_me:1795: checking for $CC option to accept ANSI C" >&5 +GCC_VERSION=none +if test "$GCC" = yes ; then + echo "$as_me:1807: checking version of $CC" >&5 +echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 + GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC[^)]*) //' -e 's/^.*(Debian[^)]*) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" + test -z "$GCC_VERSION" && GCC_VERSION=unknown + echo "$as_me:1811: result: $GCC_VERSION" >&5 +echo "${ECHO_T}$GCC_VERSION" >&6 +fi + +echo "$as_me:1815: 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 @@ -1800,7 +1820,7 @@ else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line 1803 "configure" +#line 1823 "configure" #include "confdefs.h" #include #include @@ -1849,16 +1869,16 @@ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIO do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext -if { (eval echo "$as_me:1852: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1872: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1855: \$? = $ac_status" >&5 + echo "$as_me:1875: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1858: \"$ac_try\"") >&5 + { (eval echo "$as_me:1878: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1861: \$? = $ac_status" >&5 + echo "$as_me:1881: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break @@ -1875,448 +1895,24 @@ fi case "x$ac_cv_prog_cc_stdc" in x|xno) - echo "$as_me:1878: result: none needed" >&5 + echo "$as_me:1898: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) - echo "$as_me:1881: result: $ac_cv_prog_cc_stdc" >&5 + echo "$as_me:1901: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac -echo "$as_me:1886: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 1892 "configure" -#include "confdefs.h" - -int -main () -{ -/* FIXME: Include the comments suggested by Paul. */ -#ifndef __cplusplus - /* Ultrix mips cc rejects this. */ - typedef int charset[2]; - const charset x; - /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; - /* NEC SVR4.0.2 mips cc rejects this. */ - struct point {int x, y;}; - static struct point const zero = {0,0}; - /* AIX XL C 1.02.0.0 rejects this. - It does not let you subtract one const X* pointer from another in - an arm of an if-expression whose if-part is not a constant - expression */ - const char *g = "string"; - ccp = &g + (g ? g-g : 0); - /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; - { /* SCO 3.2v4 cc rejects this. */ - char *t; - char const *s = 0 ? (char *) 0 : (char const *) 0; - - *t++ = 0; - } - { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ - int x[] = {25, 17}; - const int *foo = &x[0]; - ++foo; - } - { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ - typedef const int *iptr; - iptr p = 0; - ++p; - } - { /* AIX XL C 1.02.0.0 rejects this saying - "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; - } - { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; - } -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:1950: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:1953: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1956: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:1959: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_c_const=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_c_const=no -fi -rm -f conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:1969: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 -if test $ac_cv_c_const = no; then - -cat >>confdefs.h <<\EOF -#define const -EOF - -fi - -echo "$as_me:1979: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftest.make -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:1999: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:2003: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# 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" -# ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:2020: checking for a BSD compatible install" >&5 -echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_save_IFS=$IFS; IFS=$ac_path_separator - for ac_dir in $PATH; do - IFS=$ac_save_IFS - # Account for people who put trailing slashes in PATH elements. - case $ac_dir/ in - / | ./ | .// | /cC/* \ - | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ - | /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if $as_executable_p "$ac_dir/$ac_prog"; then - if test $ac_prog = install && - grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:2069: result: $INSTALL" >&5 -echo "${ECHO_T}$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' - -echo "$as_me:2080: checking if filesystem supports mixed-case filenames" >&5 -echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6 -if test "${cf_cv_mixedcase+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" = yes ; then - case $target_alias in #(vi - *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi - cf_cv_mixedcase=no - ;; - *) - cf_cv_mixedcase=yes - ;; - esac -else - rm -f conftest CONFTEST - echo test >conftest - if test -f CONFTEST ; then - cf_cv_mixedcase=no - else - cf_cv_mixedcase=yes - fi - rm -f conftest CONFTEST -fi - -fi -echo "$as_me:2107: result: $cf_cv_mixedcase" >&5 -echo "${ECHO_T}$cf_cv_mixedcase" >&6 -test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF -#define MIXEDCASE_FILENAMES 1 -EOF - -for ac_prog in exctags ctags -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2117: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CTAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$CTAGS"; then - ac_cv_prog_CTAGS="$CTAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_CTAGS="$ac_prog" -echo "$as_me:2132: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -CTAGS=$ac_cv_prog_CTAGS -if test -n "$CTAGS"; then - echo "$as_me:2140: result: $CTAGS" >&5 -echo "${ECHO_T}$CTAGS" >&6 -else - echo "$as_me:2143: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$CTAGS" && break -done - -for ac_prog in exetags etags -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2154: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_ETAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$ETAGS"; then - ac_cv_prog_ETAGS="$ETAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_ETAGS="$ac_prog" -echo "$as_me:2169: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -ETAGS=$ac_cv_prog_ETAGS -if test -n "$ETAGS"; then - echo "$as_me:2177: result: $ETAGS" >&5 -echo "${ECHO_T}$ETAGS" >&6 -else - echo "$as_me:2180: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$ETAGS" && break -done - -# Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args. -set dummy ${CTAGS:-ctags}; ac_word=$2 -echo "$as_me:2189: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE_LOWER_TAGS"; then - ac_cv_prog_MAKE_LOWER_TAGS="$MAKE_LOWER_TAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAKE_LOWER_TAGS="yes" -echo "$as_me:2204: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_MAKE_LOWER_TAGS" && ac_cv_prog_MAKE_LOWER_TAGS="no" -fi -fi -MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS -if test -n "$MAKE_LOWER_TAGS"; then - echo "$as_me:2213: result: $MAKE_LOWER_TAGS" >&5 -echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6 -else - echo "$as_me:2216: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -if test "$cf_cv_mixedcase" = yes ; then - # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args. -set dummy ${ETAGS:-etags}; ac_word=$2 -echo "$as_me:2223: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$MAKE_UPPER_TAGS"; then - ac_cv_prog_MAKE_UPPER_TAGS="$MAKE_UPPER_TAGS" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_MAKE_UPPER_TAGS="yes" -echo "$as_me:2238: found $ac_dir/$ac_word" >&5 -break -done - - test -z "$ac_cv_prog_MAKE_UPPER_TAGS" && ac_cv_prog_MAKE_UPPER_TAGS="no" -fi -fi -MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS -if test -n "$MAKE_UPPER_TAGS"; then - echo "$as_me:2247: result: $MAKE_UPPER_TAGS" >&5 -echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6 -else - echo "$as_me:2250: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - -else - MAKE_UPPER_TAGS=no -fi - -if test "$MAKE_UPPER_TAGS" = yes ; then - MAKE_UPPER_TAGS= -else - MAKE_UPPER_TAGS="#" -fi - -if test "$MAKE_LOWER_TAGS" = yes ; then - MAKE_LOWER_TAGS= -else - MAKE_LOWER_TAGS="#" -fi - -for ac_prog in tdlint lint alint splint lclint -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo "$as_me:2274: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_LINT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - if test -n "$LINT"; then - ac_cv_prog_LINT="$LINT" # Let the user override the test. -else - ac_save_IFS=$IFS; IFS=$ac_path_separator -ac_dummy="$PATH" -for ac_dir in $ac_dummy; do - IFS=$ac_save_IFS - test -z "$ac_dir" && ac_dir=. - $as_executable_p "$ac_dir/$ac_word" || continue -ac_cv_prog_LINT="$ac_prog" -echo "$as_me:2289: found $ac_dir/$ac_word" >&5 -break -done - -fi -fi -LINT=$ac_cv_prog_LINT -if test -n "$LINT"; then - echo "$as_me:2297: result: $LINT" >&5 -echo "${ECHO_T}$LINT" >&6 -else - echo "$as_me:2300: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$LINT" && break -done - # This should have been defined by AC_PROG_CC : ${CC:=cc} -# Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content -# into CC. This will not help with broken scripts that wrap the compiler with -# options, but eliminates a more common category of user confusion. -echo "$as_me:2313: checking \$CC variable" >&5 +echo "$as_me:1909: checking \$CC variable" >&5 echo $ECHO_N "checking \$CC variable... $ECHO_C" >&6 case "$CC" in #(vi *[\ \ ]-[IUD]*) - echo "$as_me:2317: result: broken" >&5 + echo "$as_me:1913: result: broken" >&5 echo "${ECHO_T}broken" >&6 - { echo "$as_me:2319: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5 + { echo "$as_me:1915: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&5 echo "$as_me: WARNING: your environment misuses the CC variable to hold CFLAGS/CPPFLAGS options" >&2;} # humor him... cf_flags=`echo "$CC" | sed -e 's/^[^ ]*[ ]//'` @@ -2402,263 +1998,339 @@ fi ;; *) - echo "$as_me:2405: result: ok" >&5 + echo "$as_me:2001: result: ok" >&5 echo "${ECHO_T}ok" >&6 ;; esac -echo "$as_me:2410: checking for ${CC:-cc} option to accept ANSI C" >&5 -echo $ECHO_N "checking for ${CC:-cc} option to accept ANSI C... $ECHO_C" >&6 -if test "${cf_cv_ansi_cc+set}" = set; then +echo "$as_me:2006: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\EOF +all: + @echo 'ac_maketemp="${MAKE}"' +EOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:2026: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:2030: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# 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" +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:2047: checking for a BSD compatible install" >&5 +echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_IFS=$IFS; IFS=$ac_path_separator + for ac_dir in $PATH; do + IFS=$ac_save_IFS + # Account for people who put trailing slashes in PATH elements. + case $ac_dir/ in + / | ./ | .// | /cC/* \ + | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ + | /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + if $as_executable_p "$ac_dir/$ac_prog"; then + if test $ac_prog = install && + grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$ac_dir/$ac_prog -c" + break 2 + fi + fi + done + ;; + esac + done + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:2096: result: $INSTALL" >&5 +echo "${ECHO_T}$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' + +echo "$as_me:2107: checking if filesystem supports mixed-case filenames" >&5 +echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6 +if test "${cf_cv_mixedcase+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -cf_cv_ansi_cc=no -cf_save_CFLAGS="$CFLAGS" -cf_save_CPPFLAGS="$CPPFLAGS" -# 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 -Aa -D_HPUX_SOURCE -# SVR4 -Xc -# UnixWare 1.2 (cannot use -Xc, since ANSI/POSIX clashes) -for cf_arg in "-DCC_HAS_PROTOS" \ - "" \ - -qlanglvl=ansi \ - -std1 \ - -Ae \ - "-Aa -D_HPUX_SOURCE" \ - -Xc -do - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_arg -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - case $cf_add_cflags in #(vi - -D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac +if test "$cross_compiling" = yes ; then + case $target_alias in #(vi + *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi + cf_cv_mixedcase=no ;; *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" + cf_cv_mixedcase=yes ;; esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" -fi - -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$CPPFLAGS $cf_new_cppflags" -fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - - cat >conftest.$ac_ext <<_ACEOF -#line 2514 "configure" -#include "confdefs.h" - -#ifndef CC_HAS_PROTOS -#if !defined(__STDC__) || (__STDC__ != 1) -choke me -#endif -#endif - -int -main () -{ - - int test (int i, double x); - struct s1 {int (*f) (int a);}; - struct s2 {int (*f) (double a);}; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext -if { (eval echo "$as_me:2535: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:2538: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2541: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:2544: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_ansi_cc="$cf_arg"; break else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -fi -rm -f conftest.$ac_objext conftest.$ac_ext -done -CFLAGS="$cf_save_CFLAGS" -CPPFLAGS="$cf_save_CPPFLAGS" - -fi -echo "$as_me:2557: result: $cf_cv_ansi_cc" >&5 -echo "${ECHO_T}$cf_cv_ansi_cc" >&6 - -if test "$cf_cv_ansi_cc" != "no"; then -if test ".$cf_cv_ansi_cc" != ".-DCC_HAS_PROTOS"; then - -cf_fix_cppflags=no -cf_new_cflags= -cf_new_cppflags= -cf_new_extra_cppflags= - -for cf_add_cflags in $cf_cv_ansi_cc -do -case $cf_fix_cppflags in -no) - case $cf_add_cflags in #(vi - -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi - case $cf_add_cflags in - -D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=yes - - if test $cf_fix_cppflags = yes ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - elif test "${cf_tst_cflags}" = "\"'" ; then - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - continue - fi - ;; - esac - case "$CPPFLAGS" in - *$cf_add_cflags) #(vi - ;; - *) #(vi - case $cf_add_cflags in #(vi - -D*) - cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` - -CPPFLAGS=`echo "$CPPFLAGS" | \ - sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ - -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` - - ;; - esac - cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" - ;; - esac - ;; - *) - cf_new_cflags="$cf_new_cflags $cf_add_cflags" - ;; - esac - ;; -yes) - cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" - - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` - - test "${cf_add_cflags}" != "${cf_tst_cflags}" \ - && test -z "${cf_tst_cflags}" \ - && cf_fix_cppflags=no - ;; -esac -done - -if test -n "$cf_new_cflags" ; then - - CFLAGS="$CFLAGS $cf_new_cflags" + rm -f conftest CONFTEST + echo test >conftest + if test -f CONFTEST ; then + cf_cv_mixedcase=no + else + cf_cv_mixedcase=yes + fi + rm -f conftest CONFTEST fi -if test -n "$cf_new_cppflags" ; then - - CPPFLAGS="$CPPFLAGS $cf_new_cppflags" fi - -if test -n "$cf_new_extra_cppflags" ; then - - EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" -fi - -else - cat >>confdefs.h <<\EOF -#define CC_HAS_PROTOS 1 +echo "$as_me:2134: result: $cf_cv_mixedcase" >&5 +echo "${ECHO_T}$cf_cv_mixedcase" >&6 +test "$cf_cv_mixedcase" = yes && +cat >>confdefs.h <<\EOF +#define MIXEDCASE_FILENAMES 1 EOF +for ac_prog in exctags ctags +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:2145: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CTAGS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CTAGS"; then + ac_cv_prog_CTAGS="$CTAGS" # Let the user override the test. +else + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_CTAGS="$ac_prog" +echo "$as_me:2160: found $ac_dir/$ac_word" >&5 +break +done + fi +fi +CTAGS=$ac_cv_prog_CTAGS +if test -n "$CTAGS"; then + echo "$as_me:2168: result: $CTAGS" >&5 +echo "${ECHO_T}$CTAGS" >&6 +else + echo "$as_me:2171: result: no" >&5 +echo "${ECHO_T}no" >&6 fi -if test "$cf_cv_ansi_cc" = "no"; then - { { echo "$as_me:2650: error: Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto" >&5 -echo "$as_me: error: Your compiler does not appear to recognize prototypes. -You have the following choices: - a. adjust your compiler options - b. get an up-to-date compiler - c. use a wrapper such as unproto" >&2;} - { (exit 1); exit 1; }; } + test -n "$CTAGS" && break +done + +for ac_prog in exetags etags +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:2182: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ETAGS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ETAGS"; then + ac_cv_prog_ETAGS="$ETAGS" # Let the user override the test. +else + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_ETAGS="$ac_prog" +echo "$as_me:2197: found $ac_dir/$ac_word" >&5 +break +done + fi +fi +ETAGS=$ac_cv_prog_ETAGS +if test -n "$ETAGS"; then + echo "$as_me:2205: result: $ETAGS" >&5 +echo "${ECHO_T}$ETAGS" >&6 +else + echo "$as_me:2208: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ETAGS" && break +done + +# Extract the first word of "${CTAGS:-ctags}", so it can be a program name with args. +set dummy ${CTAGS:-ctags}; ac_word=$2 +echo "$as_me:2217: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$MAKE_LOWER_TAGS"; then + ac_cv_prog_MAKE_LOWER_TAGS="$MAKE_LOWER_TAGS" # Let the user override the test. +else + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_MAKE_LOWER_TAGS="yes" +echo "$as_me:2232: found $ac_dir/$ac_word" >&5 +break +done + + test -z "$ac_cv_prog_MAKE_LOWER_TAGS" && ac_cv_prog_MAKE_LOWER_TAGS="no" +fi +fi +MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS +if test -n "$MAKE_LOWER_TAGS"; then + echo "$as_me:2241: result: $MAKE_LOWER_TAGS" >&5 +echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6 +else + echo "$as_me:2244: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test "$cf_cv_mixedcase" = yes ; then + # Extract the first word of "${ETAGS:-etags}", so it can be a program name with args. +set dummy ${ETAGS:-etags}; ac_word=$2 +echo "$as_me:2251: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$MAKE_UPPER_TAGS"; then + ac_cv_prog_MAKE_UPPER_TAGS="$MAKE_UPPER_TAGS" # Let the user override the test. +else + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_MAKE_UPPER_TAGS="yes" +echo "$as_me:2266: found $ac_dir/$ac_word" >&5 +break +done + + test -z "$ac_cv_prog_MAKE_UPPER_TAGS" && ac_cv_prog_MAKE_UPPER_TAGS="no" +fi +fi +MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS +if test -n "$MAKE_UPPER_TAGS"; then + echo "$as_me:2275: result: $MAKE_UPPER_TAGS" >&5 +echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6 +else + echo "$as_me:2278: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +else + MAKE_UPPER_TAGS=no +fi + +if test "$MAKE_UPPER_TAGS" = yes ; then + MAKE_UPPER_TAGS= +else + MAKE_UPPER_TAGS="#" +fi + +if test "$MAKE_LOWER_TAGS" = yes ; then + MAKE_LOWER_TAGS= +else + MAKE_LOWER_TAGS="#" +fi + +for ac_prog in tdlint lint alint splint lclint +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:2302: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_LINT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$LINT"; then + ac_cv_prog_LINT="$LINT" # Let the user override the test. +else + ac_save_IFS=$IFS; IFS=$ac_path_separator +ac_dummy="$PATH" +for ac_dir in $ac_dummy; do + IFS=$ac_save_IFS + test -z "$ac_dir" && ac_dir=. + $as_executable_p "$ac_dir/$ac_word" || continue +ac_cv_prog_LINT="$ac_prog" +echo "$as_me:2317: found $ac_dir/$ac_word" >&5 +break +done + +fi +fi +LINT=$ac_cv_prog_LINT +if test -n "$LINT"; then + echo "$as_me:2325: result: $LINT" >&5 +echo "${ECHO_T}$LINT" >&6 +else + echo "$as_me:2328: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$LINT" && break +done cf_XOPEN_SOURCE=500 cf_POSIX_C_SOURCE=199506L @@ -2676,6 +2348,7 @@ darwin[0-8].*) #(vi ;; darwin*) #(vi cf_xopen_source="-D_DARWIN_C_SOURCE" + cf_XOPEN_SOURCE= ;; freebsd*|dragonfly*) #(vi # 5.x headers associate @@ -2693,17 +2366,18 @@ hpux*) #(vi ;; irix[56].*) #(vi cf_xopen_source="-D_SGI_SOURCE" + cf_XOPEN_SOURCE= ;; linux*|gnu*|mint*|k*bsd*-gnu) #(vi -echo "$as_me:2699: checking if we must define _GNU_SOURCE" >&5 +echo "$as_me:2373: checking if we must define _GNU_SOURCE" >&5 echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 if test "${cf_cv_gnu_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 2706 "configure" +#line 2380 "configure" #include "confdefs.h" #include int @@ -2718,16 +2392,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2721: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2395: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2724: \$? = $ac_status" >&5 + echo "$as_me:2398: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2727: \"$ac_try\"") >&5 + { (eval echo "$as_me:2401: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2730: \$? = $ac_status" >&5 + echo "$as_me:2404: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_gnu_source=no else @@ -2736,7 +2410,7 @@ cat conftest.$ac_ext >&5 cf_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" cat >conftest.$ac_ext <<_ACEOF -#line 2739 "configure" +#line 2413 "configure" #include "confdefs.h" #include int @@ -2751,16 +2425,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2754: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2428: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2757: \$? = $ac_status" >&5 + echo "$as_me:2431: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2760: \"$ac_try\"") >&5 + { (eval echo "$as_me:2434: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2763: \$? = $ac_status" >&5 + echo "$as_me:2437: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_gnu_source=no else @@ -2775,17 +2449,261 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:2778: result: $cf_cv_gnu_source" >&5 +echo "$as_me:2452: result: $cf_cv_gnu_source" >&5 echo "${ECHO_T}$cf_cv_gnu_source" >&6 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" ;; mirbsd*) #(vi - # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks + # setting _XOPEN_SOURCE or _POSIX_SOURCE breaks and other headers which use u_int / u_short types + cf_XOPEN_SOURCE= + +cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE + +cf_save_CFLAGS="$CFLAGS" +cf_save_CPPFLAGS="$CPPFLAGS" + +cf_trim_CFLAGS=`echo "$cf_save_CFLAGS" | \ + sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` + +cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ + sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` + +echo "$as_me:2474: checking if we should define _POSIX_C_SOURCE" >&5 +echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6 +if test "${cf_cv_posix_c_source+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +echo "${as_me:-configure}:2480: testing if the symbol is already defined go no further ..." 1>&5 + + cat >conftest.$ac_ext <<_ACEOF +#line 2483 "configure" +#include "confdefs.h" +#include +int +main () +{ + +#ifndef _POSIX_C_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:2498: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:2501: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2504: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:2507: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_cv_posix_c_source=no +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_want_posix_source=no + case .$cf_POSIX_C_SOURCE in #(vi + .[12]??*) #(vi + cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" + ;; + .2) #(vi + cf_cv_posix_c_source="-D_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE" + cf_want_posix_source=yes + ;; + .*) + cf_want_posix_source=yes + ;; + esac + if test "$cf_want_posix_source" = yes ; then + cat >conftest.$ac_ext <<_ACEOF +#line 2528 "configure" +#include "confdefs.h" +#include +int +main () +{ + +#ifdef _POSIX_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:2543: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:2546: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2549: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:2552: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_cv_posix_c_source="$cf_cv_posix_c_source -D_POSIX_SOURCE" +fi +rm -f conftest.$ac_objext conftest.$ac_ext + fi + +echo "${as_me:-configure}:2563: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 + + CFLAGS="$cf_trim_CFLAGS" + CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" + +echo "${as_me:-configure}:2568: testing if the second compile does not leave our definition intact error ..." 1>&5 + + cat >conftest.$ac_ext <<_ACEOF +#line 2571 "configure" +#include "confdefs.h" +#include +int +main () +{ + +#ifndef _POSIX_C_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:2586: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:2589: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:2592: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:2595: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_cv_posix_c_source=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + CFLAGS="$cf_save_CFLAGS" + CPPFLAGS="$cf_save_CPPFLAGS" + +fi +rm -f conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:2611: result: $cf_cv_posix_c_source" >&5 +echo "${ECHO_T}$cf_cv_posix_c_source" >&6 + +if test "$cf_cv_posix_c_source" != no ; then + CFLAGS="$cf_trim_CFLAGS" + CPPFLAGS="$cf_trim_CPPFLAGS" + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_cv_posix_c_source +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi + +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi + +fi + ;; netbsd*) #(vi cf_xopen_source="-D_NETBSD_SOURCE" # setting _XOPEN_SOURCE breaks IPv6 for lynx on NetBSD 1.6, breaks xterm, is not needed for ncursesw ;; +openbsd[4-9]*) #(vi + # setting _XOPEN_SOURCE lower than 500 breaks g++ compile with wchar.h, needed for ncursesw + cf_xopen_source="-D_BSD_SOURCE" + cf_XOPEN_SOURCE=600 + ;; openbsd*) #(vi # setting _XOPEN_SOURCE breaks xterm on OpenBSD 2.8, is not needed for ncursesw ;; @@ -2798,23 +2716,25 @@ nto-qnx*) #(vi sco*) #(vi # setting _XOPEN_SOURCE breaks Lynx on SCO Unix / OpenServer ;; -solaris2.1[0-9]) #(vi - cf_xopen_source="-D__EXTENSIONS__ -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" - ;; -solaris2.[1-9]) #(vi +solaris2.*) #(vi cf_xopen_source="-D__EXTENSIONS__" ;; *) - echo "$as_me:2808: checking if we should define _XOPEN_SOURCE" >&5 + +echo "$as_me:2724: checking if we should define _XOPEN_SOURCE" >&5 echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6 if test "${cf_cv_xopen_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 2815 "configure" +#line 2731 "configure" #include "confdefs.h" + +#include +#include #include + int main () { @@ -2827,16 +2747,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2830: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2750: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2833: \$? = $ac_status" >&5 + echo "$as_me:2753: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2836: \"$ac_try\"") >&5 + { (eval echo "$as_me:2756: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2839: \$? = $ac_status" >&5 + echo "$as_me:2759: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_xopen_source=no else @@ -2845,9 +2765,13 @@ cat conftest.$ac_ext >&5 cf_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" cat >conftest.$ac_ext <<_ACEOF -#line 2848 "configure" +#line 2768 "configure" #include "confdefs.h" + +#include +#include #include + int main () { @@ -2860,16 +2784,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2863: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2787: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2866: \$? = $ac_status" >&5 + echo "$as_me:2790: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2869: \"$ac_try\"") >&5 + { (eval echo "$as_me:2793: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2872: \$? = $ac_status" >&5 + echo "$as_me:2796: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_xopen_source=no else @@ -2884,9 +2808,10 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:2887: result: $cf_cv_xopen_source" >&5 +echo "$as_me:2811: result: $cf_cv_xopen_source" >&5 echo "${ECHO_T}$cf_cv_xopen_source" >&6 - if test "$cf_cv_xopen_source" != no ; then + +if test "$cf_cv_xopen_source" != no ; then CFLAGS=`echo "$CFLAGS" | \ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ @@ -2896,7 +2821,7 @@ CPPFLAGS=`echo "$CPPFLAGS" | \ sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` - cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" cf_fix_cppflags=no cf_new_cflags= @@ -2976,7 +2901,7 @@ if test -n "$cf_new_extra_cppflags" ; then EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi - fi +fi cf_POSIX_C_SOURCE=$cf_POSIX_C_SOURCE @@ -2991,16 +2916,16 @@ cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ sed -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ -e 's/-[UD]'"_POSIX_C_SOURCE"'\(=[^ ]*\)\?$//g'` -echo "$as_me:2994: checking if we should define _POSIX_C_SOURCE" >&5 +echo "$as_me:2919: checking if we should define _POSIX_C_SOURCE" >&5 echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6 if test "${cf_cv_posix_c_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -echo "${as_me:-configure}:3000: testing if the symbol is already defined go no further ..." 1>&5 +echo "${as_me:-configure}:2925: testing if the symbol is already defined go no further ..." 1>&5 cat >conftest.$ac_ext <<_ACEOF -#line 3003 "configure" +#line 2928 "configure" #include "confdefs.h" #include int @@ -3015,16 +2940,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3018: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2943: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3021: \$? = $ac_status" >&5 + echo "$as_me:2946: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3024: \"$ac_try\"") >&5 + { (eval echo "$as_me:2949: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3027: \$? = $ac_status" >&5 + echo "$as_me:2952: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_posix_c_source=no else @@ -3045,7 +2970,7 @@ cf_want_posix_source=no esac if test "$cf_want_posix_source" = yes ; then cat >conftest.$ac_ext <<_ACEOF -#line 3048 "configure" +#line 2973 "configure" #include "confdefs.h" #include int @@ -3060,16 +2985,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3063: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2988: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3066: \$? = $ac_status" >&5 + echo "$as_me:2991: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3069: \"$ac_try\"") >&5 + { (eval echo "$as_me:2994: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3072: \$? = $ac_status" >&5 + echo "$as_me:2997: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -3080,15 +3005,15 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "${as_me:-configure}:3083: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 +echo "${as_me:-configure}:3008: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 CFLAGS="$cf_trim_CFLAGS" CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" -echo "${as_me:-configure}:3088: testing if the second compile does not leave our definition intact error ..." 1>&5 +echo "${as_me:-configure}:3013: testing if the second compile does not leave our definition intact error ..." 1>&5 cat >conftest.$ac_ext <<_ACEOF -#line 3091 "configure" +#line 3016 "configure" #include "confdefs.h" #include int @@ -3103,16 +3028,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3106: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:3031: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3109: \$? = $ac_status" >&5 + echo "$as_me:3034: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3112: \"$ac_try\"") >&5 + { (eval echo "$as_me:3037: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3115: \$? = $ac_status" >&5 + echo "$as_me:3040: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -3128,7 +3053,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:3131: result: $cf_cv_posix_c_source" >&5 +echo "$as_me:3056: result: $cf_cv_posix_c_source" >&5 echo "${ECHO_T}$cf_cv_posix_c_source" >&6 if test "$cf_cv_posix_c_source" != no ; then @@ -3300,13 +3225,280 @@ fi fi +if test -n "$cf_XOPEN_SOURCE" && test -z "$cf_cv_xopen_source" ; then + echo "$as_me:3229: checking if _XOPEN_SOURCE really is set" >&5 +echo $ECHO_N "checking if _XOPEN_SOURCE really is set... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF +#line 3232 "configure" +#include "confdefs.h" +#include +int +main () +{ + +#ifndef _XOPEN_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:3247: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:3250: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:3253: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:3256: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_XOPEN_SOURCE_set=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_XOPEN_SOURCE_set=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:3265: result: $cf_XOPEN_SOURCE_set" >&5 +echo "${ECHO_T}$cf_XOPEN_SOURCE_set" >&6 + if test $cf_XOPEN_SOURCE_set = yes + then + cat >conftest.$ac_ext <<_ACEOF +#line 3270 "configure" +#include "confdefs.h" +#include +int +main () +{ + +#if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:3285: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:3288: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:3291: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:3294: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_XOPEN_SOURCE_set_ok=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_XOPEN_SOURCE_set_ok=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + if test $cf_XOPEN_SOURCE_set_ok = no + then + { echo "$as_me:3305: WARNING: _XOPEN_SOURCE is lower than requested" >&5 +echo "$as_me: WARNING: _XOPEN_SOURCE is lower than requested" >&2;} + fi + else + +echo "$as_me:3310: checking if we should define _XOPEN_SOURCE" >&5 +echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6 +if test "${cf_cv_xopen_source+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cat >conftest.$ac_ext <<_ACEOF +#line 3317 "configure" +#include "confdefs.h" + +#include +#include +#include + +int +main () +{ + +#ifndef _XOPEN_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:3336: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:3339: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:3342: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:3345: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_cv_xopen_source=no +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_save="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" + cat >conftest.$ac_ext <<_ACEOF +#line 3354 "configure" +#include "confdefs.h" + +#include +#include +#include + +int +main () +{ + +#ifdef _XOPEN_SOURCE +make an error +#endif + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:3373: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:3376: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:3379: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:3382: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_cv_xopen_source=no +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_cv_xopen_source=$cf_XOPEN_SOURCE +fi +rm -f conftest.$ac_objext conftest.$ac_ext + CPPFLAGS="$cf_save" + +fi +rm -f conftest.$ac_objext conftest.$ac_ext + +fi +echo "$as_me:3397: result: $cf_cv_xopen_source" >&5 +echo "${ECHO_T}$cf_cv_xopen_source" >&6 + +if test "$cf_cv_xopen_source" != no ; then + +CFLAGS=`echo "$CFLAGS" | \ + sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"_XOPEN_SOURCE"'\(=[^ ]*\)\?$//g'` + + cf_temp_xopen_source="-D_XOPEN_SOURCE=$cf_cv_xopen_source" + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in $cf_temp_xopen_source +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + case $cf_add_cflags in #(vi + -D*) + cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` + +CPPFLAGS=`echo "$CPPFLAGS" | \ + sed -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?[ ]/ /g' \ + -e 's/-[UD]'"$cf_tst_cppflags"'\(=[^ ]*\)\?$//g'` + + ;; + esac + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$CPPFLAGS $cf_new_cppflags" +fi + +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi + +fi + + fi +fi + 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_main_return=return -echo "$as_me:3309: checking how to run the C preprocessor" >&5 +echo "$as_me:3501: 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 @@ -3327,18 +3519,18 @@ do # 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 >conftest.$ac_ext <<_ACEOF -#line 3330 "configure" +#line 3522 "configure" #include "confdefs.h" #include Syntax error _ACEOF -if { (eval echo "$as_me:3335: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3527: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:3341: \$? = $ac_status" >&5 + echo "$as_me:3533: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -3361,17 +3553,17 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 3364 "configure" +#line 3556 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:3368: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3560: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:3374: \$? = $ac_status" >&5 + echo "$as_me:3566: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -3408,7 +3600,7 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:3411: result: $CPP" >&5 +echo "$as_me:3603: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -3418,18 +3610,18 @@ do # 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 >conftest.$ac_ext <<_ACEOF -#line 3421 "configure" +#line 3613 "configure" #include "confdefs.h" #include Syntax error _ACEOF -if { (eval echo "$as_me:3426: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3618: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:3432: \$? = $ac_status" >&5 + echo "$as_me:3624: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -3452,17 +3644,17 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 3455 "configure" +#line 3647 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:3459: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3651: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:3465: \$? = $ac_status" >&5 + echo "$as_me:3657: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -3490,7 +3682,7 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:3493: error: C preprocessor \"$CPP\" fails sanity check" >&5 + { { echo "$as_me:3685: error: C preprocessor \"$CPP\" fails sanity check" >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi @@ -3505,23 +3697,23 @@ ac_main_return=return for ac_header in fcntl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:3508: checking for $ac_header" >&5 +echo "$as_me:3700: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 3514 "configure" +#line 3706 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:3518: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:3710: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:3524: \$? = $ac_status" >&5 + echo "$as_me:3716: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -3540,7 +3732,7 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:3543: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:3735: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 3562 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -f = $ac_func; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:3593: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3596: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:3599: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3602: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -eval "$as_ac_var=no" -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:3612: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 +echo "$as_me:3745: checking for working mkstemp" >&5 echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6 if test "${cf_cv_func_mkstemp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3627,68 +3750,10 @@ else rm -rf conftest* if test "$cross_compiling" = yes; then - echo "$as_me:3630: checking for mkstemp" >&5 -echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6 -if test "${ac_cv_func_mkstemp+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + cf_cv_func_mkstemp=maybe else cat >conftest.$ac_ext <<_ACEOF -#line 3636 "configure" -#include "confdefs.h" -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char mkstemp (); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char mkstemp (); -char (*f) (); - -int -main () -{ -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_mkstemp) || defined (__stub___mkstemp) -choke me -#else -f = mkstemp; -#endif - - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:3667: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:3670: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:3673: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3676: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func_mkstemp=yes -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -ac_cv_func_mkstemp=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:3686: result: $ac_cv_func_mkstemp" >&5 -echo "${ECHO_T}$ac_cv_func_mkstemp" >&6 - -else - cat >conftest.$ac_ext <<_ACEOF -#line 3691 "configure" +#line 3756 "configure" #include "confdefs.h" #include @@ -3726,15 +3791,15 @@ int main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:3729: \"$ac_link\"") >&5 +if { (eval echo "$as_me:3794: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:3732: \$? = $ac_status" >&5 + echo "$as_me:3797: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:3734: \"$ac_try\"") >&5 + { (eval echo "$as_me:3799: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3737: \$? = $ac_status" >&5 + echo "$as_me:3802: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_mkstemp=yes @@ -3749,28 +3814,80 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:3752: result: $cf_cv_func_mkstemp" >&5 +echo "$as_me:3817: result: $cf_cv_func_mkstemp" >&5 echo "${ECHO_T}$cf_cv_func_mkstemp" >&6 +if test "x$cf_cv_func_mkstemp" = xmaybe ; then + echo "$as_me:3820: checking for mkstemp" >&5 +echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6 +if test "${ac_cv_func_mkstemp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line 3826 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char mkstemp (); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char mkstemp (); +char (*f) (); + +int +main () +{ +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_mkstemp) || defined (__stub___mkstemp) +choke me +#else +f = mkstemp; /* workaround for ICC 12.0.3 */ if (f == 0) return 1; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:3857: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:3860: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:3863: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:3866: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_mkstemp=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_func_mkstemp=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:3876: result: $ac_cv_func_mkstemp" >&5 +echo "${ECHO_T}$ac_cv_func_mkstemp" >&6 + +fi if test "x$cf_cv_func_mkstemp" = xyes || test "x$ac_cv_func_mkstemp" = xyes ; then - cat >>confdefs.h <<\EOF + +cat >>confdefs.h <<\EOF #define HAVE_MKSTEMP 1 EOF fi -GCC_VERSION=none -if test "$GCC" = yes ; then - echo "$as_me:3763: checking version of $CC" >&5 -echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 - GCC_VERSION="`${CC} --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" - test -z "$GCC_VERSION" && GCC_VERSION=unknown - echo "$as_me:3767: result: $GCC_VERSION" >&5 -echo "${ECHO_T}$GCC_VERSION" >&6 -fi - if ( test "$GCC" = yes || test "$GXX" = yes ) then -echo "$as_me:3773: checking if you want to check for gcc warnings" >&5 +echo "$as_me:3890: checking if you want to check for gcc warnings" >&5 echo $ECHO_N "checking if you want to check for gcc warnings... $ECHO_C" >&6 # Check whether --with-warnings or --without-warnings was given. @@ -3780,7 +3897,7 @@ if test "${with_warnings+set}" = set; then else cf_opt_with_warnings=no fi; -echo "$as_me:3783: result: $cf_opt_with_warnings" >&5 +echo "$as_me:3900: result: $cf_opt_with_warnings" >&5 echo "${ECHO_T}$cf_opt_with_warnings" >&6 if test "$cf_opt_with_warnings" != no ; then @@ -3802,10 +3919,10 @@ cat > conftest.i <&5 + { echo "$as_me:3922: checking for $CC __attribute__ directives..." >&5 echo "$as_me: checking for $CC __attribute__ directives..." >&6;} cat > conftest.$ac_ext <&5 + if { (eval echo "$as_me:3974: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3860: \$? = $ac_status" >&5 + echo "$as_me:3977: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:3862: result: ... $cf_attribute" >&5 + test -n "$verbose" && echo "$as_me:3979: result: ... $cf_attribute" >&5 echo "${ECHO_T}... $cf_attribute" >&6 cat conftest.h >>confdefs.h case $cf_attribute in #(vi + noreturn) #(vi + +cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <<\EOF +#define GCC_PRINTF 1 EOF + fi + +cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <<\EOF +#define GCC_SCANF 1 EOF + fi + +cat >>confdefs.h <>confdefs.h <&5 + echo "$as_me:4043: checking if this is really Intel C compiler" >&5 echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6 cf_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -no-gcc" cat >conftest.$ac_ext <<_ACEOF -#line 3907 "configure" +#line 4048 "configure" #include "confdefs.h" int @@ -3921,16 +4062,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:3924: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4065: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3927: \$? = $ac_status" >&5 + echo "$as_me:4068: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3930: \"$ac_try\"") >&5 + { (eval echo "$as_me:4071: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:3933: \$? = $ac_status" >&5 + echo "$as_me:4074: \$? = $ac_status" >&5 (exit $ac_status); }; }; then INTEL_COMPILER=yes cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" @@ -3941,14 +4082,63 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext CFLAGS="$cf_save_CFLAGS" - echo "$as_me:3944: result: $INTEL_COMPILER" >&5 + echo "$as_me:4085: result: $INTEL_COMPILER" >&5 echo "${ECHO_T}$INTEL_COMPILER" >&6 ;; esac fi +CLANG_COMPILER=no + +if test "$GCC" = yes ; then + echo "$as_me:4094: checking if this is really Clang C compiler" >&5 +echo $ECHO_N "checking if this is really Clang C compiler... $ECHO_C" >&6 + cf_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Qunused-arguments" + cat >conftest.$ac_ext <<_ACEOF +#line 4099 "configure" +#include "confdefs.h" + +int +main () +{ + +#ifdef __clang__ +#else +make an error +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:4116: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:4119: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:4122: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:4125: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + CLANG_COMPILER=yes +cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" + +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +fi +rm -f conftest.$ac_objext conftest.$ac_ext + CFLAGS="$cf_save_CFLAGS" + echo "$as_me:4136: result: $CLANG_COMPILER" >&5 +echo "${ECHO_T}$CLANG_COMPILER" >&6 +fi + cat > conftest.$ac_ext <&5 + { echo "$as_me:4158: checking for $CC warning options..." >&5 echo "$as_me: checking for $CC warning options..." >&6;} cf_save_CFLAGS="$CFLAGS" EXTRA_CFLAGS="-Wall" @@ -3981,12 +4171,12 @@ echo "$as_me: checking for $CC warning options..." >&6;} wd981 do CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:3984: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:4174: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:3987: \$? = $ac_status" >&5 + echo "$as_me:4177: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:3989: result: ... -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:4179: result: ... -$cf_opt" >&5 echo "${ECHO_T}... -$cf_opt" >&6 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" fi @@ -3995,7 +4185,7 @@ echo "${ECHO_T}... -$cf_opt" >&6 elif test "$GCC" = yes then - { echo "$as_me:3998: checking for $CC warning options..." >&5 + { echo "$as_me:4188: checking for $CC warning options..." >&5 echo "$as_me: checking for $CC warning options..." >&6;} cf_save_CFLAGS="$CFLAGS" EXTRA_CFLAGS= @@ -4015,12 +4205,12 @@ echo "$as_me: checking for $CC warning options..." >&6;} Wundef $cf_warn_CONST Wwrite-strings do CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:4018: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:4208: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4021: \$? = $ac_status" >&5 + echo "$as_me:4211: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:4023: result: ... -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:4213: result: ... -$cf_opt" >&5 echo "${ECHO_T}... -$cf_opt" >&6 case $cf_opt in #(vi Wcast-qual) #(vi @@ -4031,7 +4221,17 @@ echo "${ECHO_T}... -$cf_opt" >&6 [34].*) test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 -echo "${as_me:-configure}:4034: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 +echo "${as_me:-configure}:4224: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 + + continue;; + esac + ;; + Wpointer-arith) #(vi + case $GCC_VERSION in + [12].*) + test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 + +echo "${as_me:-configure}:4234: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 continue;; esac @@ -4047,7 +4247,7 @@ rm -rf conftest* fi fi -echo "$as_me:4050: checking if you want to see long compiling messages" >&5 +echo "$as_me:4250: checking if you want to see long compiling messages" >&5 echo $ECHO_N "checking if you want to see long compiling messages... $ECHO_C" >&6 # Check whether --enable-echo or --disable-echo was given. @@ -4081,33 +4281,17 @@ else ECHO_CC='' fi; -echo "$as_me:4084: result: $enableval" >&5 +echo "$as_me:4284: result: $enableval" >&5 echo "${ECHO_T}$enableval" >&6 -case $cf_cv_system_name in -os2*) - CFLAGS="$CFLAGS -Zmt" - CPPFLAGS="$CPPFLAGS -D__ST_MT_ERRNO__" - CXXFLAGS="$CXXFLAGS -Zmt" - # autoconf's macro sets -Zexe and suffix both, which conflict:w - LDFLAGS="$LDFLAGS -Zmt -Zcrtdll" - ac_cv_exeext=.exe - ;; -esac - -PROG_EXT="$EXEEXT" - -test -n "$PROG_EXT" && cat >>confdefs.h <&5 +echo "$as_me:4287: checking if you want to use dmalloc for testing" >&5 echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6 # Check whether --with-dmalloc or --without-dmalloc was given. if test "${with_dmalloc+set}" = set; then withval="$with_dmalloc" - cat >>confdefs.h <<\EOF + +cat >>confdefs.h <&5 +echo "$as_me:4304: result: ${with_dmalloc:-no}" >&5 echo "${ECHO_T}${with_dmalloc:-no}" >&6 case .$with_cflags in #(vi @@ -4211,23 +4395,23 @@ fi esac if test "$with_dmalloc" = yes ; then - echo "$as_me:4214: checking for dmalloc.h" >&5 + echo "$as_me:4398: checking for dmalloc.h" >&5 echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6 if test "${ac_cv_header_dmalloc_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4220 "configure" +#line 4404 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:4224: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4408: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4230: \$? = $ac_status" >&5 + echo "$as_me:4414: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4246,11 +4430,11 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:4249: result: $ac_cv_header_dmalloc_h" >&5 +echo "$as_me:4433: result: $ac_cv_header_dmalloc_h" >&5 echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6 if test $ac_cv_header_dmalloc_h = yes; then -echo "$as_me:4253: checking for dmalloc_debug in -ldmalloc" >&5 +echo "$as_me:4437: checking for dmalloc_debug in -ldmalloc" >&5 echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6 if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4258,7 +4442,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-ldmalloc $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 4261 "configure" +#line 4445 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -4277,16 +4461,16 @@ dmalloc_debug (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4280: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4464: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4283: \$? = $ac_status" >&5 + echo "$as_me:4467: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4286: \"$ac_try\"") >&5 + { (eval echo "$as_me:4470: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4289: \$? = $ac_status" >&5 + echo "$as_me:4473: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dmalloc_dmalloc_debug=yes else @@ -4297,7 +4481,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:4300: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5 +echo "$as_me:4484: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5 echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6 if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then cat >>confdefs.h <&5 +echo "$as_me:4499: checking if you want to use dbmalloc for testing" >&5 echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6 # Check whether --with-dbmalloc or --without-dbmalloc was given. if test "${with_dbmalloc+set}" = set; then withval="$with_dbmalloc" - cat >>confdefs.h <<\EOF + +cat >>confdefs.h <&5 +echo "$as_me:4516: result: ${with_dbmalloc:-no}" >&5 echo "${ECHO_T}${with_dbmalloc:-no}" >&6 case .$with_cflags in #(vi @@ -4422,23 +4607,23 @@ fi esac if test "$with_dbmalloc" = yes ; then - echo "$as_me:4425: checking for dbmalloc.h" >&5 + echo "$as_me:4610: checking for dbmalloc.h" >&5 echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6 if test "${ac_cv_header_dbmalloc_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4431 "configure" +#line 4616 "configure" #include "confdefs.h" #include _ACEOF -if { (eval echo "$as_me:4435: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4620: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4441: \$? = $ac_status" >&5 + echo "$as_me:4626: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4457,11 +4642,11 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:4460: result: $ac_cv_header_dbmalloc_h" >&5 +echo "$as_me:4645: result: $ac_cv_header_dbmalloc_h" >&5 echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6 if test $ac_cv_header_dbmalloc_h = yes; then -echo "$as_me:4464: checking for debug_malloc in -ldbmalloc" >&5 +echo "$as_me:4649: checking for debug_malloc in -ldbmalloc" >&5 echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6 if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4469,7 +4654,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-ldbmalloc $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 4472 "configure" +#line 4657 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -4488,16 +4673,16 @@ debug_malloc (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4491: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4676: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4494: \$? = $ac_status" >&5 + echo "$as_me:4679: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4497: \"$ac_try\"") >&5 + { (eval echo "$as_me:4682: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4500: \$? = $ac_status" >&5 + echo "$as_me:4685: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dbmalloc_debug_malloc=yes else @@ -4508,7 +4693,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:4511: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5 +echo "$as_me:4696: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5 echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6 if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then cat >>confdefs.h <&5 +echo "$as_me:4711: checking if you want to use valgrind for testing" >&5 echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6 # Check whether --with-valgrind or --without-valgrind was given. if test "${with_valgrind+set}" = set; then withval="$with_valgrind" - cat >>confdefs.h <<\EOF + +cat >>confdefs.h <&5 +echo "$as_me:4728: result: ${with_valgrind:-no}" >&5 echo "${ECHO_T}${with_valgrind:-no}" >&6 case .$with_cflags in #(vi @@ -4632,7 +4818,7 @@ fi ;; esac -echo "$as_me:4635: checking if you want to perform memory-leak testing" >&5 +echo "$as_me:4821: checking if you want to perform memory-leak testing" >&5 echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6 # Check whether --enable-leaks or --disable-leaks was given. @@ -4642,15 +4828,16 @@ if test "${enable_leaks+set}" = set; then else : ${with_no_leaks:=no} fi; -echo "$as_me:4645: result: $with_no_leaks" >&5 +echo "$as_me:4831: result: $with_no_leaks" >&5 echo "${ECHO_T}$with_no_leaks" >&6 if test "$with_no_leaks" = yes ; then - cat >>confdefs.h <<\EOF + +cat >>confdefs.h <<\EOF #define NO_LEAKS 1 EOF - cat >>confdefs.h <<\EOF +cat >>confdefs.h <<\EOF #define YY_NO_LEAKS 1 EOF @@ -4658,7 +4845,6 @@ fi ### output makefile ac_config_files="$ac_config_files makefile" -ac_config_commands="$ac_config_commands default" 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 @@ -4738,7 +4924,7 @@ DEFS=-DHAVE_CONFIG_H : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:4741: creating $CONFIG_STATUS" >&5 +{ echo "$as_me:4927: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL @@ -4861,16 +5047,13 @@ $config_files Configuration headers: $config_headers -Configuration commands: -$config_commands - Report bugs to ." EOF cat >>$CONFIG_STATUS <>$CONFIG_STATUS <<\EOF echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header - { { echo "$as_me:4917: error: ambiguous option: $1 + { { echo "$as_me:5100: 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;} @@ -4933,7 +5116,7 @@ Try \`$0 --help' for more information." >&2;} ac_need_defaults=false;; # This is an error. - -*) { { echo "$as_me:4936: error: unrecognized option: $1 + -*) { { echo "$as_me:5119: 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;} @@ -4952,7 +5135,7 @@ cat >&5 << _ACEOF ## Running config.status. ## ## ----------------------- ## -This file was extended by $as_me 2.52.20101002, executed with +This file was extended by $as_me 2.52.20121002, executed with CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS @@ -4969,9 +5152,8 @@ do case "$ac_config_target" in # Handling of arguments. "makefile" ) CONFIG_FILES="$CONFIG_FILES makefile" ;; - "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config_h.in" ;; - *) { { echo "$as_me:4974: error: invalid argument: $ac_config_target" >&5 + *) { { echo "$as_me:5156: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac @@ -4984,7 +5166,6 @@ done if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Create a temporary directory, and hook for its removal unless debugging. @@ -5030,6 +5211,7 @@ 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,@datarootdir@,$datarootdir,;t t s,@datadir@,$datadir,;t t s,@sysconfdir@,$sysconfdir,;t t s,@sharedstatedir@,$sharedstatedir,;t t @@ -5072,6 +5254,7 @@ 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,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t s,@SET_MAKE@,$SET_MAKE,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t @@ -5082,7 +5265,6 @@ s,@MAKE_LOWER_TAGS@,$MAKE_LOWER_TAGS,;t t s,@MAKE_UPPER_TAGS@,$MAKE_UPPER_TAGS,;t t s,@LINT@,$LINT,;t t s,@LINT_OPTS@,$LINT_OPTS,;t t -s,@EXTRA_CPPFLAGS@,$EXTRA_CPPFLAGS,;t t s,@CPP@,$CPP,;t t s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t s,@ECHO_LT@,$ECHO_LT,;t t @@ -5090,7 +5272,6 @@ s,@ECHO_LD@,$ECHO_LD,;t t s,@RULE_CC@,$RULE_CC,;t t s,@SHOW_CC@,$SHOW_CC,;t t s,@ECHO_CC@,$ECHO_CC,;t t -s,@PROG_EXT@,$PROG_EXT,;t t CEOF EOF @@ -5205,7 +5386,7 @@ done; } esac if test x"$ac_file" != x-; then - { echo "$as_me:5208: creating $ac_file" >&5 + { echo "$as_me:5389: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi @@ -5223,7 +5404,7 @@ echo "$as_me: creating $ac_file" >&6;} -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:5226: error: cannot find input file: $f" >&5 + test -f "$f" || { { echo "$as_me:5407: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; @@ -5236,12 +5417,44 @@ echo "$as_me: error: cannot find input file: $f" >&2;} echo $srcdir/$f else # /dev/null tree - { { echo "$as_me:5239: error: cannot find input file: $f" >&5 + { { echo "$as_me:5420: 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; } +EOF +cat >>$CONFIG_STATUS <<\EOF + ac_warn_datarootdir=no + if test x"$ac_file" != x-; then + for ac_item in $ac_file_inputs + do + ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' $ac_item` + if test -n "$ac_seen"; then + ac_used=`grep '@datarootdir@' $ac_item` + if test -z "$ac_used"; then + { echo "$as_me:5436: WARNING: datarootdir was used implicitly but not set: +$ac_seen" >&5 +echo "$as_me: WARNING: datarootdir was used implicitly but not set: +$ac_seen" >&2;} + ac_warn_datarootdir=yes + fi + fi + ac_seen=`grep '${datarootdir}' $ac_item` + if test -n "$ac_seen"; then + { echo "$as_me:5445: WARNING: datarootdir was used explicitly but not set: +$ac_seen" >&5 +echo "$as_me: WARNING: datarootdir was used explicitly but not set: +$ac_seen" >&2;} + ac_warn_datarootdir=yes + fi + done + fi + +if test "x$ac_warn_datarootdir" = xyes; then + ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'" +fi + EOF cat >>$CONFIG_STATUS <$tmp/out rm -f $tmp/stdin if test x"$ac_file" != x-; then - mv $tmp/out $ac_file + cp $tmp/out $ac_file + + for ac_name in prefix exec_prefix datarootdir + do + ac_seen=`fgrep -n '${'$ac_name'[:=].*}' $ac_file` + if test -n "$ac_seen"; then + ac_init=`egrep '[ ]*'$ac_name'[ ]*=' $ac_file` + if test -z "$ac_init"; then + ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'` + { echo "$as_me:5482: WARNING: Variable $ac_name is used but was not set: +$ac_seen" >&5 +echo "$as_me: WARNING: Variable $ac_name is used but was not set: +$ac_seen" >&2;} + fi + fi + done + egrep -n '@[a-z_][a-z_0-9]+@' $ac_file >$tmp/out + egrep -n '@[A-Z_][A-Z_0-9]+@' $ac_file >>$tmp/out + if test -s $tmp/out; then + ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out` + { echo "$as_me:5493: WARNING: Some variables may not be substituted: +$ac_seen" >&5 +echo "$as_me: WARNING: Some variables may not be substituted: +$ac_seen" >&2;} + fi else cat $tmp/out - rm -f $tmp/out fi + rm -f $tmp/out done EOF @@ -5302,7 +5539,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue * ) ac_file_in=$ac_file.in ;; esac - test x"$ac_file" != x- && { echo "$as_me:5305: creating $ac_file" >&5 + test x"$ac_file" != x- && { echo "$as_me:5542: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the @@ -5313,7 +5550,7 @@ echo "$as_me: creating $ac_file" >&6;} -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:5316: error: cannot find input file: $f" >&5 + test -f "$f" || { { echo "$as_me:5553: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; @@ -5326,7 +5563,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;} echo $srcdir/$f else # /dev/null tree - { { echo "$as_me:5329: error: cannot find input file: $f" >&5 + { { echo "$as_me:5566: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; @@ -5337,39 +5574,99 @@ echo "$as_me: error: cannot find input file: $f" >&2;} EOF -# Transform confdefs.h into a list of #define's. We won't use it as a sed -# script, but as data to insert where we see @DEFS@. We expect AC_SAVE_DEFS to -# be either 'cat' or 'sort'. -cat confdefs.h | uniq >conftest.vals +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\EOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\(\([^ (][^ (]*\)([^)]*)\)[ ]*\(.*\)$,${ac_dA}\2${ac_dB}\1${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +EOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +sed 's/ac_d/ac_i/g' conftest.defines >>conftest.undefs +rm -f confdef2sed.sed -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\EOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +EOF +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if egrep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS rm -f conftest.tail -echo ' rm -f conftest.frag' >> $CONFIG_STATUS -while grep . conftest.vals >/dev/null +while grep . conftest.defines >/dev/null do - # Write chunks of a limited-size here document to conftest.frag. - echo ' cat >> conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals | sed -e 's/#ifdef.*/#if 0/' >> $CONFIG_STATUS - echo 'CEOF' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines done -rm -f conftest.vals +rm -f conftest.defines +echo ' fi # egrep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS -# Run sed to substitute the contents of conftest.frag into $tmp/in at the -# marker @DEFS@. -echo ' cat >> conftest.edit < $tmp/out -rm -f $tmp/in -mv $tmp/out $tmp/in -rm -f conftest.edit conftest.frag -' >> $CONFIG_STATUS +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs cat >>$CONFIG_STATUS <<\EOF # Let's still pretend it is `configure' which instantiates (i.e., don't @@ -5384,7 +5681,7 @@ cat >>$CONFIG_STATUS <<\EOF rm -f $tmp/in if test x"$ac_file" != x-; then if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:5387: $ac_file is unchanged" >&5 + { echo "$as_me:5684: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ diff --git a/external/bsd/byacc/dist/configure.in b/external/bsd/byacc/dist/configure.in index 700a1cc8f..87a3e58f8 100644 --- a/external/bsd/byacc/dist/configure.in +++ b/external/bsd/byacc/dist/configure.in @@ -1,30 +1,26 @@ dnl Process this file with 'autoconf' to produce a 'configure' script -dnl Id: configure.in,v 1.10 2010/12/26 19:10:21 tom Exp -AC_PREREQ(2.13.20020210) -AC_REVISION(Revision: 1.10) +dnl Id: configure.in,v 1.14 2012/10/03 23:41:36 tom Exp +AC_PREREQ(2.52.20011201) +AC_REVISION(Revision: 1.14 ) AC_INIT(main.c) AC_CONFIG_HEADER(config.h:config_h.in) CF_CHECK_CACHE([AC_CANONICAL_SYSTEM]) AC_ARG_PROGRAM -AC_PROG_CC -AC_CONST +CF_PROG_CC AC_PROG_MAKE_SET AC_PROG_INSTALL CF_MAKE_TAGS CF_PROG_LINT -CF_ANSI_CC_REQD CF_XOPEN_SOURCE AC_CHECK_HEADERS(fcntl.h) -AC_CHECK_FUNCS(atexit) CF_MKSTEMP CF_WITH_WARNINGS(Wwrite-strings) CF_DISABLE_ECHO -CF_PROG_EXT CF_DISABLE_LEAKS ### output makefile -AC_OUTPUT(makefile,,,cat) +AC_OUTPUT(makefile) diff --git a/external/bsd/byacc/dist/defs.h b/external/bsd/byacc/dist/defs.h index 262c26507..3bae439e7 100644 --- a/external/bsd/byacc/dist/defs.h +++ b/external/bsd/byacc/dist/defs.h @@ -1,9 +1,9 @@ -/* $NetBSD: defs.h,v 1.5 2011/09/10 21:29:04 christos Exp $ */ +/* $NetBSD: defs.h,v 1.6 2013/04/06 14:52:24 christos Exp $ */ #if HAVE_NBTOOL_CONFIG_H #include "nbtool_config.h" #endif -/* Id: defs.h,v 1.35 2011/09/07 08:55:03 tom Exp */ +/* Id: defs.h,v 1.37 2012/05/26 15:23:00 tom Exp */ #ifdef HAVE_CONFIG_H #include @@ -16,6 +16,10 @@ #include #include +#if defined(__cplusplus) /* __cplusplus, etc. */ +#define class myClass +#endif + #define YYMAJOR 1 #define YYMINOR 9 @@ -137,9 +141,11 @@ #define CALLOC(k,n) (calloc((size_t)(k),(size_t)(n))) #define FREE(x) (free((char*)(x))) #define MALLOC(n) (malloc((size_t)(n))) +#define TMALLOC(t,n) ((t*) malloc((size_t)(n) * sizeof(t))) #define NEW(t) ((t*)allocate(sizeof(t))) #define NEW2(n,t) ((t*)allocate(((size_t)(n)*sizeof(t)))) #define REALLOC(p,n) (realloc((char*)(p),(size_t)(n))) +#define TREALLOC(t,p,n) ((t*)realloc((char*)(p), (size_t)(n) * sizeof(t))) #define DO_FREE(x) if (x) { FREE(x); x = 0; } @@ -235,6 +241,7 @@ extern char gflag; extern char iflag; extern char lflag; extern char rflag; +extern char sflag; extern char tflag; extern char vflag; extern const char *symbol_prefix; @@ -306,7 +313,6 @@ extern char *nullable; extern bucket *first_symbol; extern bucket *last_symbol; -extern int pure_parser; extern int nstates; extern core *first_state; extern shifts *first_shift; @@ -347,12 +353,22 @@ extern bucket *lookup(const char *); extern bucket *make_bucket(const char *); #ifndef GCC_NORETURN +#if defined(__dead2) +#define GCC_NORETURN __dead2 +#elif defined(__dead) +#define GCC_NORETURN __dead +#else #define GCC_NORETURN /* nothing */ #endif +#endif #ifndef GCC_UNUSED +#if defined(__unused) +#define GCC_UNUSED __unused +#else #define GCC_UNUSED /* nothing */ #endif +#endif /* closure.c */ extern void closure(Value_t * nucleus, int n); @@ -426,7 +442,7 @@ extern void output(void); extern void reader(void); /* skeleton.c */ -extern void write_section(FILE *fp, const char *const section[]); +extern void write_section(FILE * fp, const char *const section[]); /* verbose.c */ extern void verbose(void); diff --git a/external/bsd/byacc/dist/error.c b/external/bsd/byacc/dist/error.c index 3751a3693..0a21c69ea 100644 --- a/external/bsd/byacc/dist/error.c +++ b/external/bsd/byacc/dist/error.c @@ -1,10 +1,10 @@ -/* $NetBSD: error.c,v 1.7 2011/09/10 21:29:04 christos Exp $ */ -/* Id: error.c,v 1.9 2011/09/05 23:27:43 tom Exp */ +/* $NetBSD: error.c,v 1.8 2013/04/06 14:52:24 christos Exp $ */ #include "defs.h" #include -__RCSID("$NetBSD: error.c,v 1.7 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: error.c,v 1.8 2013/04/06 14:52:24 christos Exp $"); +/* Id: error.c,v 1.9 2011/09/05 23:27:43 tom Exp */ /* routines for printing error messages */ diff --git a/external/bsd/byacc/dist/lr0.c b/external/bsd/byacc/dist/lr0.c index c5917df77..c23a80aa9 100644 --- a/external/bsd/byacc/dist/lr0.c +++ b/external/bsd/byacc/dist/lr0.c @@ -1,10 +1,10 @@ -/* $NetBSD: lr0.c,v 1.6 2011/09/10 21:29:04 christos Exp $ */ -/* Id: lr0.c,v 1.12 2010/06/09 08:53:17 tom Exp */ +/* $NetBSD: lr0.c,v 1.7 2013/04/06 14:52:24 christos Exp $ */ +/* Id: lr0.c,v 1.13 2012/05/26 00:40:47 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: lr0.c,v 1.6 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: lr0.c,v 1.7 2013/04/06 14:52:24 christos Exp $"); static core *new_state(int symbol); static Value_t get_state(int symbol); @@ -542,7 +542,7 @@ set_nullable(void) int empty; int done_flag; - nullable = MALLOC(nsyms); + nullable = TMALLOC(char, nsyms); NO_SPACE(nullable); for (i = 0; i < nsyms; ++i) diff --git a/external/bsd/byacc/dist/main.c b/external/bsd/byacc/dist/main.c index eef4ac026..80ae95c23 100644 --- a/external/bsd/byacc/dist/main.c +++ b/external/bsd/byacc/dist/main.c @@ -1,24 +1,20 @@ -/* $NetBSD: main.c,v 1.7 2011/09/10 21:29:04 christos Exp $ */ -/* Id: main.c,v 1.36 2011/09/06 22:44:45 tom Exp */ +/* $NetBSD: main.c,v 1.8 2013/04/06 14:52:24 christos Exp $ */ #include "defs.h" #include -__RCSID("$NetBSD: main.c,v 1.7 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: main.c,v 1.8 2013/04/06 14:52:24 christos Exp $"); +/* Id: main.c,v 1.40 2012/09/29 13:11:00 Adrian.Bunk Exp */ #include #include /* for _exit() */ -#if defined(HAVE_ATEXIT) -# ifdef HAVE_MKSTEMP -# define USE_MKSTEMP 1 -# elif defined(HAVE_FCNTL_H) -# define USE_MKSTEMP 1 -# include /* for open(), O_EXCL, etc. */ -# else -# define USE_MKSTEMP 0 -# endif +#ifdef HAVE_MKSTEMP +# define USE_MKSTEMP 1 +#elif defined(HAVE_FCNTL_H) +# define USE_MKSTEMP 1 +# include /* for open(), O_EXCL, etc. */ #else # define USE_MKSTEMP 0 #endif @@ -43,6 +39,7 @@ char iflag; char lflag; static char oflag; char rflag; +char sflag; char tflag; char vflag; @@ -207,6 +204,7 @@ usage(void) ," -p symbol_prefix set symbol prefix (default \"yy\")" ," -P create a reentrant parser, e.g., \"%pure-parser\"" ," -r produce separate code and table files (y.code.c)" + ," -s suppress #define's for quoted names in %token lines" ," -t add debugging support" ," -v write description (y.output)" ," -V show version information and exit" @@ -250,6 +248,10 @@ setflag(int ch) rflag = 1; break; + case 's': + sflag = 1; + break; + case 't': tflag = 1; break; @@ -368,7 +370,7 @@ allocate(size_t n) } #define CREATE_FILE_NAME(dest, suffix) \ - dest = MALLOC(len + strlen(suffix) + 1); \ + dest = TMALLOC(char, len + strlen(suffix) + 1); \ NO_SPACE(dest); \ strcpy(dest, file_prefix); \ strcpy(dest + len, suffix) @@ -399,7 +401,7 @@ create_file_names(void) if (prefix != NULL) { len = (size_t) (prefix - output_file_name); - file_prefix = MALLOC(len + 1); + file_prefix = TMALLOC(char, len + 1); NO_SPACE(file_prefix); strncpy(file_prefix, output_file_name, len)[len] = 0; } diff --git a/external/bsd/byacc/dist/makefile.in b/external/bsd/byacc/dist/makefile.in index aa9092f07..440322e5e 100644 --- a/external/bsd/byacc/dist/makefile.in +++ b/external/bsd/byacc/dist/makefile.in @@ -1,4 +1,4 @@ -# Id: makefile.in,v 1.16 2010/06/09 09:46:37 tom Exp +# Id: makefile.in,v 1.18 2012/09/29 13:10:15 Adrian.Bunk Exp # # UNIX template-makefile for Berkeley Yacc @@ -31,6 +31,7 @@ LINT = @LINT@ prefix = @prefix@ exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ bindir = $(DESTDIR)@bindir@ mandir = $(DESTDIR)@mandir@/man1 manext = 1 @@ -156,7 +157,7 @@ $(THIS).txt : $(THIS).$(manext) check: $(THIS)$x $(SHELL) $(testdir)/run_test.sh $(testdir) -check_make: +check_make: $(THIS)$x $(SHELL) $(testdir)/run_make.sh $(testdir) check_lint: diff --git a/external/bsd/byacc/dist/mkpar.c b/external/bsd/byacc/dist/mkpar.c index 54e50da34..c110654f5 100644 --- a/external/bsd/byacc/dist/mkpar.c +++ b/external/bsd/byacc/dist/mkpar.c @@ -1,10 +1,11 @@ -/* $NetBSD: mkpar.c,v 1.6 2011/09/10 21:29:04 christos Exp $ */ -/* Id: mkpar.c,v 1.11 2010/06/09 08:53:17 tom Exp */ +/* $NetBSD: mkpar.c,v 1.7 2013/04/06 14:52:24 christos Exp $ */ + +/* Id: mkpar.c,v 1.12 2012/05/26 00:42:18 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: mkpar.c,v 1.6 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: mkpar.c,v 1.7 2013/04/06 14:52:24 christos Exp $"); static action *add_reduce(action *actions, int ruleno, int symbol); static action *add_reductions(int stateno, action *actions); @@ -184,7 +185,7 @@ unused_rules(void) int i; action *p; - rules_used = (Value_t *) MALLOC((unsigned)nrules * sizeof(Value_t)); + rules_used = TMALLOC(Value_t, nrules); NO_SPACE(rules_used); for (i = 0; i < nrules; ++i) diff --git a/external/bsd/byacc/dist/output.c b/external/bsd/byacc/dist/output.c index 0c6e3e053..7b5520ac9 100644 --- a/external/bsd/byacc/dist/output.c +++ b/external/bsd/byacc/dist/output.c @@ -1,10 +1,11 @@ -/* $NetBSD: output.c,v 1.8 2011/09/10 21:29:04 christos Exp $ */ -/* Id: output.c,v 1.41 2011/09/08 09:25:40 tom Exp */ +/* $NetBSD: output.c,v 1.9 2013/04/06 14:52:24 christos Exp $ */ + +/* Id: output.c,v 1.45 2013/03/05 00:29:17 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: output.c,v 1.8 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: output.c,v 1.9 2013/04/06 14:52:24 christos Exp $"); #define StaticOrR (rflag ? "" : "static ") #define CountLine(fp) (!rflag || ((fp) == code_file)) @@ -561,10 +562,10 @@ pack_vector(int vector) } while (newmax <= loc); - table = (Value_t *) REALLOC(table, (unsigned)newmax * sizeof(Value_t)); + table = TREALLOC(Value_t, table, newmax); NO_SPACE(table); - check = (Value_t *) REALLOC(check, (unsigned)newmax * sizeof(Value_t)); + check = TREALLOC(Value_t, check, newmax); NO_SPACE(check); for (l = maxtable; l < newmax; ++l) @@ -831,7 +832,7 @@ output_defines(FILE * fp) for (i = 2; i < ntokens; ++i) { s = symbol_name[i]; - if (is_C_identifier(s)) + if (is_C_identifier(s) && (!sflag || *s != '"')) { fprintf(fp, "#define "); c = *s; @@ -865,9 +866,12 @@ output_defines(FILE * fp) { if (unionized) { - rewind(union_file); - while ((c = getc(union_file)) != EOF) - putc(c, fp); + if (union_file != 0) + { + rewind(union_file); + while ((c = getc(union_file)) != EOF) + putc(c, fp); + } fprintf(fp, "extern YYSTYPE %slval;\n", symbol_prefix); } } @@ -923,7 +927,7 @@ output_debug(void) ++outline; fprintf(code_file, "#define YYMAXTOKEN %d\n", max); - symnam = (const char **)MALLOC((unsigned)(max + 1) * sizeof(char *)); + symnam = TMALLOC(const char *, max + 1); NO_SPACE(symnam); /* Note that it is not necessary to initialize the element */ @@ -1244,8 +1248,13 @@ output_lex_decl(FILE * fp) putl_code(fp, "#ifdef YYLEX_PARAM\n"); if (pure_parser) { - putl_code(fp, "# define YYLEX_DECL() yylex(YYSTYPE *yylval, " - "void *YYLEX_PARAM)\n"); + putl_code(fp, "# ifdef YYLEX_PARAM_TYPE\n"); + putl_code(fp, "# define YYLEX_DECL() yylex(YYSTYPE *yylval," + " YYLEX_PARAM_TYPE YYLEX_PARAM)\n"); + putl_code(fp, "# else\n"); + putl_code(fp, "# define YYLEX_DECL() yylex(YYSTYPE *yylval," + " void * YYLEX_PARAM)\n"); + putl_code(fp, "# endif\n"); putl_code(fp, "# define YYLEX yylex(&yylval, YYLEX_PARAM)\n"); } else @@ -1304,22 +1313,30 @@ output_error_decl(FILE * fp) { param *p; + putl_code(fp, "#ifndef YYERROR_DECL\n"); fprintf(fp, "#define YYERROR_DECL() yyerror("); for (p = parse_param; p; p = p->next) fprintf(fp, "%s %s%s, ", p->type, p->name, p->type2); putl_code(fp, "const char *s)\n"); + putl_code(fp, "#endif\n"); + putl_code(fp, "#ifndef YYERROR_CALL\n"); puts_code(fp, "#define YYERROR_CALL(msg) yyerror("); for (p = parse_param; p; p = p->next) fprintf(fp, "%s, ", p->name); putl_code(fp, "msg)\n"); + putl_code(fp, "#endif\n"); } else { + putl_code(fp, "#ifndef YYERROR_DECL\n"); putl_code(fp, "#define YYERROR_DECL() yyerror(const char *s)\n"); + putl_code(fp, "#endif\n"); + putl_code(fp, "#ifndef YYERROR_CALL\n"); putl_code(fp, "#define YYERROR_CALL(msg) yyerror(msg)\n"); + putl_code(fp, "#endif\n"); } } @@ -1437,9 +1454,12 @@ output(void) if (iflag) { - ++outline; - fprintf(code_file, "#include \"%s\"\n", defines_file_name); - if (!dflag) + if (dflag) + { + ++outline; + fprintf(code_file, "#include \"%s\"\n", defines_file_name); + } + else output_defines(externs_file); } else diff --git a/external/bsd/byacc/dist/package/byacc.spec b/external/bsd/byacc/dist/package/byacc.spec index 7d1398210..bddf72fb7 100644 --- a/external/bsd/byacc/dist/package/byacc.spec +++ b/external/bsd/byacc/dist/package/byacc.spec @@ -1,8 +1,8 @@ Summary: byacc - public domain Berkeley LALR Yacc parser generator %define AppProgram byacc -%define AppVersion 20110908 +%define AppVersion 20130304 %define UseProgram yacc -# $XTermId: byacc.spec,v 1.10 2011/09/08 09:45:02 tom Exp $ +# $XTermId: byacc.spec,v 1.16 2013/03/05 01:17:35 tom Exp $ Name: %{AppProgram} Version: %{AppVersion} Release: 1 diff --git a/external/bsd/byacc/dist/package/debian/changelog b/external/bsd/byacc/dist/package/debian/changelog index fc40d905a..c5a5ec1a7 100644 --- a/external/bsd/byacc/dist/package/debian/changelog +++ b/external/bsd/byacc/dist/package/debian/changelog @@ -1,3 +1,33 @@ +byacc (20130304) unstable; urgency=low + + * changes prompted by Richard Mitton bug-report + + -- Thomas E. Dickey Mon, 04 Mar 2013 20:17:32 -0500 + +byacc (20121003) unstable; urgency=low + + * changes from or prompted by Adrian Bunk. + + -- Thomas E. Dickey Sat, 29 Sep 2012 09:14:31 -0400 + +byacc (20120526) unstable; urgency=low + + * minor code-cleanup. + + -- Thomas E. Dickey Sat, 26 May 2012 12:14:17 -0400 + +byacc (20120115) unstable; urgency=low + + * add testcases, improve documentation for "-s" option. + + -- Thomas E. Dickey Fri, 13 Jan 2012 20:44:34 -0500 + +byacc (20111219) unstable; urgency=low + + * add "-s" option. + + -- Thomas E. Dickey Mon, 19 Dec 2011 20:54:09 -0500 + byacc (20110908) unstable; urgency=low * add "-i" option. diff --git a/external/bsd/byacc/dist/package/debian/copyright b/external/bsd/byacc/dist/package/debian/copyright index 2bce2fc03..ea6c6a585 100644 --- a/external/bsd/byacc/dist/package/debian/copyright +++ b/external/bsd/byacc/dist/package/debian/copyright @@ -36,7 +36,7 @@ skeleton.c with the bug report. Do not expect rapid responses. Files: aclocal.m4 Licence: other-BSD -Copyright: 2004-2009,2010 by Thomas E. Dickey +Copyright: 2004-2011,2012 by Thomas E. Dickey Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including @@ -97,7 +97,7 @@ Licence: other-BSD shared with many OS's install programs. Files: debian/* -Copyright: 2010 Thomas E. Dickey +Copyright: 2012 Thomas E. Dickey Licence: other-BSD Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, diff --git a/external/bsd/byacc/dist/package/pkgsrc/Makefile b/external/bsd/byacc/dist/package/pkgsrc/Makefile index b2813f176..64cb6b8fb 100644 --- a/external/bsd/byacc/dist/package/pkgsrc/Makefile +++ b/external/bsd/byacc/dist/package/pkgsrc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1.1.1 2010/12/23 23:36:27 christos Exp $ +# NetBSD: Makefile,v 1.9 2008/07/24 17:13:00 tonnerre Exp # DISTNAME= byacc-20050813 diff --git a/external/bsd/byacc/dist/package/pkgsrc/PLIST b/external/bsd/byacc/dist/package/pkgsrc/PLIST index 5c1017c20..b1eebef2e 100644 --- a/external/bsd/byacc/dist/package/pkgsrc/PLIST +++ b/external/bsd/byacc/dist/package/pkgsrc/PLIST @@ -1,3 +1,3 @@ -@comment $NetBSD: PLIST,v 1.1.1.1 2010/12/23 23:36:27 christos Exp $ +@comment NetBSD: PLIST,v 1.2 2005/04/13 14:11:54 wiz Exp bin/yacc man/man1/yacc.1 diff --git a/external/bsd/byacc/dist/package/pkgsrc/distinfo b/external/bsd/byacc/dist/package/pkgsrc/distinfo index d86fd6dfc..23f387977 100644 --- a/external/bsd/byacc/dist/package/pkgsrc/distinfo +++ b/external/bsd/byacc/dist/package/pkgsrc/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.1.1.1 2010/12/23 23:36:27 christos Exp $ +NetBSD: distinfo,v 1.4 2008/07/24 17:13:00 tonnerre Exp SHA1 (byacc-20050813.tgz) = 3258494f3422eb3150944c1823af1c9c2c386062 RMD160 (byacc-20050813.tgz) = 3ee159857a79025a83e2b0807577925fe460f816 diff --git a/external/bsd/byacc/dist/reader.c b/external/bsd/byacc/dist/reader.c index c4af87a52..b16af0650 100644 --- a/external/bsd/byacc/dist/reader.c +++ b/external/bsd/byacc/dist/reader.c @@ -1,10 +1,11 @@ -/* $NetBSD: reader.c,v 1.7 2011/09/10 21:29:04 christos Exp $ */ -/* Id: reader.c,v 1.33 2011/09/06 22:56:53 tom Exp */ +/* $NetBSD: reader.c,v 1.8 2013/04/06 14:52:24 christos Exp $ */ + +/* Id: reader.c,v 1.36 2012/05/26 16:05:41 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: reader.c,v 1.7 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: reader.c,v 1.8 2013/04/06 14:52:24 christos Exp $"); /* The line size must be a positive integer. One hundred was chosen */ /* because few lines in Yacc input grammars exceed 100 characters. */ @@ -56,7 +57,7 @@ cachec(int c) if (cinc >= cache_size) { cache_size += 256; - cache = REALLOC(cache, cache_size); + cache = TREALLOC(char, cache, cache_size); NO_SPACE(cache); } cache[cinc] = (char)c; @@ -87,7 +88,7 @@ get_line(void) if (line) FREE(line); linesize = LINESIZE + 1; - line = MALLOC(linesize); + line = TMALLOC(char, linesize); NO_SPACE(line); } @@ -104,7 +105,7 @@ get_line(void) if (++i >= linesize) { linesize += LINESIZE; - line = REALLOC(line, linesize); + line = TREALLOC(char, line, linesize); NO_SPACE(line); } c = getc(f); @@ -128,7 +129,7 @@ dup_line(void) s = line; while (*s != '\n') ++s; - p = MALLOC(s - line + 1); + p = TMALLOC(char, s - line + 1); NO_SPACE(p); s = line; @@ -689,7 +690,7 @@ copy_param(int k) if (c == '}') goto out; - buf = MALLOC(linesize); + buf = TMALLOC(char, linesize); NO_SPACE(buf); for (i = 0; (c = *cptr++) != '}'; i++) @@ -737,7 +738,7 @@ copy_param(int k) name = i + 1; - p = MALLOC(sizeof(*p)); + p = TMALLOC(param, 1); NO_SPACE(p); p->type2 = strdup(buf + type2); @@ -894,7 +895,7 @@ get_literal(void) FREE(s_line); n = cinc; - s = MALLOC(n); + s = TMALLOC(char, n); NO_SPACE(s); for (i = 0; i < n; ++i) @@ -1062,14 +1063,14 @@ get_tag(void) if (ntags >= tagmax) { tagmax += 16; - tag_table = (char **) + tag_table = (tag_table - ? REALLOC(tag_table, (unsigned)tagmax * sizeof(char *)) - : MALLOC((unsigned)tagmax * sizeof(char *))); + ? TREALLOC(char *, tag_table, tagmax) + : TMALLOC(char *, tagmax)); NO_SPACE(tag_table); } - s = MALLOC(cinc); + s = TMALLOC(char, cinc); NO_SPACE(s); strcpy(s, cache); @@ -1250,7 +1251,7 @@ read_declarations(void) int c, k; cache_size = 256; - cache = MALLOC(cache_size); + cache = TMALLOC(char, cache_size); NO_SPACE(cache); for (;;) @@ -1320,7 +1321,7 @@ initialize_grammar(void) nitems = 4; maxitems = 300; - pitem = (bucket **)MALLOC((unsigned)maxitems * sizeof(bucket *)); + pitem = TMALLOC(bucket *, maxitems); NO_SPACE(pitem); pitem[0] = 0; @@ -1331,21 +1332,21 @@ initialize_grammar(void) nrules = 3; maxrules = 100; - plhs = (bucket **)MALLOC((unsigned)maxrules * sizeof(bucket *)); + plhs = TMALLOC(bucket *, maxrules); NO_SPACE(plhs); plhs[0] = 0; plhs[1] = 0; plhs[2] = 0; - rprec = (short *)MALLOC((unsigned)maxrules * sizeof(short)); + rprec = TMALLOC(Value_t, maxrules); NO_SPACE(rprec); rprec[0] = 0; rprec[1] = 0; rprec[2] = 0; - rassoc = (char *)MALLOC((unsigned)maxrules * sizeof(char)); + rassoc = TMALLOC(Assoc_t, maxrules); NO_SPACE(rassoc); rassoc[0] = TOKEN; @@ -1357,7 +1358,7 @@ static void expand_items(void) { maxitems += 300; - pitem = (bucket **)REALLOC(pitem, (unsigned)maxitems * sizeof(bucket *)); + pitem = TREALLOC(bucket *, pitem, maxitems); NO_SPACE(pitem); } @@ -1366,13 +1367,13 @@ expand_rules(void) { maxrules += 100; - plhs = (bucket **)REALLOC(plhs, (unsigned)maxrules * sizeof(bucket *)); + plhs = TREALLOC(bucket *, plhs, maxrules); NO_SPACE(plhs); - rprec = (short *)REALLOC(rprec, (unsigned)maxrules * sizeof(short)); + rprec = TREALLOC(Value_t, rprec, maxrules); NO_SPACE(rprec); - rassoc = (char *)REALLOC(rassoc, (unsigned)maxrules * sizeof(char)); + rassoc = TREALLOC(Assoc_t, rassoc, maxrules); NO_SPACE(rassoc); } @@ -1784,7 +1785,7 @@ static int mark_symbol(void) { int c; - bucket *bp; + bucket *bp = NULL; c = cptr[1]; if (c == '%' || c == '\\') @@ -1888,7 +1889,7 @@ pack_names(void) for (bp = first_symbol; bp; bp = bp->next) name_pool_size += strlen(bp->name) + 1; - name_pool = MALLOC(name_pool_size); + name_pool = TMALLOC(char, name_pool_size); NO_SPACE(name_pool); strlcpy(name_pool, "$accept", name_pool_size); @@ -1943,7 +1944,7 @@ protect_string(char *src, char **des) len++; } - *des = d = (char *)MALLOC(len); + *des = d = TMALLOC(char, len); NO_SPACE(d); s = src; @@ -1975,19 +1976,19 @@ pack_symbols(void) start_symbol = (Value_t) ntokens; nvars = nsyms - ntokens; - symbol_name = (char **)MALLOC((unsigned)nsyms * sizeof(char *)); + symbol_name = TMALLOC(char *, nsyms); NO_SPACE(symbol_name); - symbol_value = (short *)MALLOC((unsigned)nsyms * sizeof(short)); + symbol_value = TMALLOC(Value_t, nsyms); NO_SPACE(symbol_value); - symbol_prec = (short *)MALLOC((unsigned)nsyms * sizeof(short)); + symbol_prec = TMALLOC(short, nsyms); NO_SPACE(symbol_prec); - symbol_assoc = MALLOC(nsyms); + symbol_assoc = TMALLOC(char, nsyms); NO_SPACE(symbol_assoc); - v = (bucket **)MALLOC((unsigned)nsyms * sizeof(bucket *)); + v = TMALLOC(bucket *, nsyms); NO_SPACE(v); v[0] = 0; @@ -2087,7 +2088,7 @@ pack_symbols(void) if (gflag) { - symbol_pname = (char **)MALLOC((unsigned)nsyms * sizeof(char *)); + symbol_pname = TMALLOC(char *, nsyms); NO_SPACE(symbol_pname); for (i = 0; i < nsyms; ++i) @@ -2105,19 +2106,19 @@ pack_grammar(void) Assoc_t assoc; Value_t prec2; - ritem = (short *)MALLOC((unsigned)nitems * sizeof(short)); + ritem = TMALLOC(Value_t, nitems); NO_SPACE(ritem); - rlhs = (short *)MALLOC((unsigned)nrules * sizeof(short)); + rlhs = TMALLOC(Value_t, nrules); NO_SPACE(rlhs); - rrhs = (short *)MALLOC((unsigned)(nrules + 1) * sizeof(short)); + rrhs = TMALLOC(Value_t, nrules + 1); NO_SPACE(rrhs); - rprec = (short *)REALLOC(rprec, (unsigned)nrules * sizeof(short)); + rprec = TREALLOC(Value_t, rprec, nrules); NO_SPACE(rprec); - rassoc = REALLOC(rassoc, nrules); + rassoc = TREALLOC(Assoc_t, rassoc, nrules); NO_SPACE(rassoc); ritem[0] = -1; diff --git a/external/bsd/byacc/dist/skeleton.c b/external/bsd/byacc/dist/skeleton.c index 18443093c..21620ee6b 100644 --- a/external/bsd/byacc/dist/skeleton.c +++ b/external/bsd/byacc/dist/skeleton.c @@ -1,10 +1,11 @@ -/* $NetBSD: skeleton.c,v 1.10 2011/09/10 21:29:04 christos Exp $ */ -/* Id: skeleton.c,v 1.31 2011/09/07 09:37:59 tom Exp */ +/* $NetBSD: skeleton.c,v 1.13 2013/09/13 18:53:29 joerg Exp $ */ + +/* Id: skeleton.c,v 1.32 2013/03/04 23:19:39 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: skeleton.c,v 1.10 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: skeleton.c,v 1.13 2013/09/13 18:53:29 joerg Exp $"); /* The definition of yysccsid in the banner should be replaced with */ /* a #pragma ident directive if the target C compiler supports */ @@ -21,6 +22,9 @@ __RCSID("$NetBSD: skeleton.c,v 1.10 2011/09/10 21:29:04 christos Exp $"); const char *const banner[] = { "#ifndef lint", + "#if __GNUC__ - 0 >= 4 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ >= 1)", + "__attribute__((__used__))", + "#endif", "static const char yysccsid[] = \"@(#)yaccpar 1.9 (Berkeley) 02/21/93\";", "#endif", "", @@ -166,7 +170,7 @@ const char *const body_1[] = " else if ((newsize *= 2) > YYMAXDEPTH)", " newsize = YYMAXDEPTH;", "", - " i = data->s_mark - data->s_base;", + " i = (int) (data->s_mark - data->s_base);", " newss = (short *)realloc(data->s_base, newsize * sizeof(*newss));", " if (newss == 0)", " return -1;", diff --git a/external/bsd/byacc/dist/symtab.c b/external/bsd/byacc/dist/symtab.c index d1aac162a..150b0c827 100644 --- a/external/bsd/byacc/dist/symtab.c +++ b/external/bsd/byacc/dist/symtab.c @@ -1,10 +1,11 @@ -/* $NetBSD: symtab.c,v 1.6 2011/09/10 21:29:04 christos Exp $ */ -/* Id: symtab.c,v 1.9 2010/11/24 15:12:29 tom Exp */ +/* $NetBSD: symtab.c,v 1.7 2013/04/06 14:52:24 christos Exp $ */ + +/* Id: symtab.c,v 1.10 2012/05/26 15:16:12 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: symtab.c,v 1.6 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: symtab.c,v 1.7 2013/04/06 14:52:24 christos Exp $"); /* TABLE_SIZE is the number of entries in the symbol table. */ /* TABLE_SIZE must be a power of two. */ @@ -37,13 +38,13 @@ make_bucket(const char *name) assert(name != 0); - bp = (bucket *)MALLOC(sizeof(bucket)); + bp = TMALLOC(bucket, 1); NO_SPACE(bp); bp->link = 0; bp->next = 0; - bp->name = MALLOC(strlen(name) + 1); + bp->name = TMALLOC(char, strlen(name) + 1); NO_SPACE(bp->name); bp->tag = 0; @@ -86,7 +87,7 @@ create_symbol_table(void) int i; bucket *bp; - symbol_table = (bucket **)MALLOC(TABLE_SIZE * sizeof(bucket *)); + symbol_table = TMALLOC(bucket *, TABLE_SIZE); NO_SPACE(symbol_table); for (i = 0; i < TABLE_SIZE; i++) diff --git a/external/bsd/byacc/dist/test/README b/external/bsd/byacc/dist/test/README index 0737c17a1..7a7a5d2a3 100644 --- a/external/bsd/byacc/dist/test/README +++ b/external/bsd/byacc/dist/test/README @@ -1,4 +1,4 @@ --- $Id: README,v 1.2 2009/10/29 00:56:20 christos Exp $ +-- Id: README,v 1.1 2004/03/28 19:10:48 tom Exp The files in this directory are input (.y) and output (.output, .tab.c, .tab.h) examples. diff --git a/external/bsd/byacc/dist/test/calc.tab.c b/external/bsd/byacc/dist/test/calc.tab.c index 19ed2298e..e16663977 100644 --- a/external/bsd/byacc/dist/test/calc.tab.c +++ b/external/bsd/byacc/dist/test/calc.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: calc.tab.c,v 1.1.1.4 2011/09/10 21:22:03 christos Exp $ */ +/* $NetBSD: calc.tab.c,v 1.1.1.5 2013/04/06 14:45:27 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -104,7 +104,10 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; int regs[26]; int base; -#line 106 "calc.tab.c" +extern int yylex(void); +static void yyerror(const char *s); + +#line 109 "calc.tab.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -132,8 +135,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -296,14 +303,9 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 63 "calc.y" +#line 66 "calc.y" /* start of programs */ -#ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); -#endif - int main (void) { @@ -343,7 +345,7 @@ yylex(void) } return( c ); } -#line 345 "calc.tab.c" +#line 347 "calc.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -367,7 +369,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -550,66 +552,66 @@ yyreduce: switch (yyn) { case 3: -#line 25 "calc.y" +#line 28 "calc.y" { yyerrok ; } break; case 4: -#line 29 "calc.y" +#line 32 "calc.y" { printf("%d\n",yystack.l_mark[0]);} break; case 5: -#line 31 "calc.y" +#line 34 "calc.y" { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } break; case 6: -#line 35 "calc.y" +#line 38 "calc.y" { yyval = yystack.l_mark[-1]; } break; case 7: -#line 37 "calc.y" +#line 40 "calc.y" { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } break; case 8: -#line 39 "calc.y" +#line 42 "calc.y" { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } break; case 9: -#line 41 "calc.y" +#line 44 "calc.y" { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } break; case 10: -#line 43 "calc.y" +#line 46 "calc.y" { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } break; case 11: -#line 45 "calc.y" +#line 48 "calc.y" { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } break; case 12: -#line 47 "calc.y" +#line 50 "calc.y" { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } break; case 13: -#line 49 "calc.y" +#line 52 "calc.y" { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } break; case 14: -#line 51 "calc.y" +#line 54 "calc.y" { yyval = - yystack.l_mark[0]; } break; case 15: -#line 53 "calc.y" +#line 56 "calc.y" { yyval = regs[yystack.l_mark[0]]; } break; case 17: -#line 58 "calc.y" +#line 61 "calc.y" { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } break; case 18: -#line 60 "calc.y" +#line 63 "calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 611 "calc.tab.c" +#line 613 "calc.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/calc.y b/external/bsd/byacc/dist/test/calc.y index 0da942d3b..033374379 100644 --- a/external/bsd/byacc/dist/test/calc.y +++ b/external/bsd/byacc/dist/test/calc.y @@ -1,4 +1,4 @@ -/* $NetBSD: calc.y,v 1.1.1.4 2011/09/10 21:22:08 christos Exp $ */ +/* $NetBSD: calc.y,v 1.1.1.5 2013/04/06 14:45:27 christos Exp $ */ %{ # include @@ -7,6 +7,9 @@ int regs[26]; int base; +extern int yylex(void); +static void yyerror(const char *s); + %} %start list @@ -64,11 +67,6 @@ number: DIGIT %% /* start of programs */ -#ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); -#endif - int main (void) { diff --git a/external/bsd/byacc/dist/test/calc1.tab.c b/external/bsd/byacc/dist/test/calc1.tab.c index 9befb1819..ad3d81b51 100644 --- a/external/bsd/byacc/dist/test/calc1.tab.c +++ b/external/bsd/byacc/dist/test/calc1.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: calc1.tab.c,v 1.1.1.3 2011/09/10 21:22:08 christos Exp $ */ +/* $NetBSD: calc1.tab.c,v 1.1.1.4 2013/04/06 14:45:29 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -115,12 +115,15 @@ INTERVAL; INTERVAL vmul(double, double, INTERVAL); INTERVAL vdiv(double, double, INTERVAL); +extern int yylex(void); +static void yyerror(const char *s); + int dcheck(INTERVAL); double dreg[26]; INTERVAL vreg[26]; -#line 28 "calc1.y" +#line 31 "calc1.y" #ifdef YYSTYPE #undef YYSTYPE_IS_DECLARED #define YYSTYPE_IS_DECLARED 1 @@ -134,7 +137,7 @@ typedef union INTERVAL vval; } YYSTYPE; #endif /* !YYSTYPE_IS_DECLARED */ -#line 136 "calc1.tab.c" +#line 139 "calc1.tab.c" /* compatibility with bison */ #ifdef YYPARSE_PARAM @@ -158,8 +161,12 @@ typedef union #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -346,14 +353,9 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 173 "calc1.y" +#line 176 "calc1.y" /* beginning of subroutines section */ -#ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); -#endif - #define BSZ 50 /* buffer size for floating point numbers */ /* lexical analysis */ @@ -393,7 +395,7 @@ yylex(void) for (; (cp - buf) < BSZ; ++cp, c = getchar()) { - *cp = c; + *cp = (char) c; if (isdigit(c)) continue; if (c == '.') @@ -482,7 +484,7 @@ vdiv(double a, double b, INTERVAL v) { return (hilo(a / v.hi, a / v.lo, b / v.hi, b / v.lo)); } -#line 484 "calc1.tab.c" +#line 486 "calc1.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -506,7 +508,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -689,85 +691,85 @@ yyreduce: switch (yyn) { case 3: -#line 54 "calc1.y" +#line 57 "calc1.y" { (void) printf("%15.8f\n", yystack.l_mark[-1].dval); } break; case 4: -#line 58 "calc1.y" +#line 61 "calc1.y" { (void) printf("(%15.8f, %15.8f)\n", yystack.l_mark[-1].vval.lo, yystack.l_mark[-1].vval.hi); } break; case 5: -#line 62 "calc1.y" +#line 65 "calc1.y" { dreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].dval; } break; case 6: -#line 66 "calc1.y" +#line 69 "calc1.y" { vreg[yystack.l_mark[-3].ival] = yystack.l_mark[-1].vval; } break; case 7: -#line 70 "calc1.y" +#line 73 "calc1.y" { yyerrok; } break; case 9: -#line 77 "calc1.y" +#line 80 "calc1.y" { yyval.dval = dreg[yystack.l_mark[0].ival]; } break; case 10: -#line 81 "calc1.y" +#line 84 "calc1.y" { yyval.dval = yystack.l_mark[-2].dval + yystack.l_mark[0].dval; } break; case 11: -#line 85 "calc1.y" +#line 88 "calc1.y" { yyval.dval = yystack.l_mark[-2].dval - yystack.l_mark[0].dval; } break; case 12: -#line 89 "calc1.y" +#line 92 "calc1.y" { yyval.dval = yystack.l_mark[-2].dval * yystack.l_mark[0].dval; } break; case 13: -#line 93 "calc1.y" +#line 96 "calc1.y" { yyval.dval = yystack.l_mark[-2].dval / yystack.l_mark[0].dval; } break; case 14: -#line 97 "calc1.y" +#line 100 "calc1.y" { yyval.dval = -yystack.l_mark[0].dval; } break; case 15: -#line 101 "calc1.y" +#line 104 "calc1.y" { yyval.dval = yystack.l_mark[-1].dval; } break; case 16: -#line 107 "calc1.y" +#line 110 "calc1.y" { yyval.vval.hi = yyval.vval.lo = yystack.l_mark[0].dval; } break; case 17: -#line 111 "calc1.y" +#line 114 "calc1.y" { yyval.vval.lo = yystack.l_mark[-3].dval; yyval.vval.hi = yystack.l_mark[-1].dval; @@ -779,79 +781,79 @@ case 17: } break; case 18: -#line 121 "calc1.y" +#line 124 "calc1.y" { yyval.vval = vreg[yystack.l_mark[0].ival]; } break; case 19: -#line 125 "calc1.y" +#line 128 "calc1.y" { yyval.vval.hi = yystack.l_mark[-2].vval.hi + yystack.l_mark[0].vval.hi; yyval.vval.lo = yystack.l_mark[-2].vval.lo + yystack.l_mark[0].vval.lo; } break; case 20: -#line 130 "calc1.y" +#line 133 "calc1.y" { yyval.vval.hi = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.hi; yyval.vval.lo = yystack.l_mark[-2].dval + yystack.l_mark[0].vval.lo; } break; case 21: -#line 135 "calc1.y" +#line 138 "calc1.y" { yyval.vval.hi = yystack.l_mark[-2].vval.hi - yystack.l_mark[0].vval.lo; yyval.vval.lo = yystack.l_mark[-2].vval.lo - yystack.l_mark[0].vval.hi; } break; case 22: -#line 140 "calc1.y" +#line 143 "calc1.y" { yyval.vval.hi = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.lo; yyval.vval.lo = yystack.l_mark[-2].dval - yystack.l_mark[0].vval.hi; } break; case 23: -#line 145 "calc1.y" +#line 148 "calc1.y" { yyval.vval = vmul( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval ); } break; case 24: -#line 149 "calc1.y" +#line 152 "calc1.y" { yyval.vval = vmul (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval ); } break; case 25: -#line 153 "calc1.y" +#line 156 "calc1.y" { if (dcheck(yystack.l_mark[0].vval)) YYERROR; yyval.vval = vdiv ( yystack.l_mark[-2].vval.lo, yystack.l_mark[-2].vval.hi, yystack.l_mark[0].vval ); } break; case 26: -#line 158 "calc1.y" +#line 161 "calc1.y" { if (dcheck ( yystack.l_mark[0].vval )) YYERROR; yyval.vval = vdiv (yystack.l_mark[-2].dval, yystack.l_mark[-2].dval, yystack.l_mark[0].vval ); } break; case 27: -#line 163 "calc1.y" +#line 166 "calc1.y" { yyval.vval.hi = -yystack.l_mark[0].vval.lo; yyval.vval.lo = -yystack.l_mark[0].vval.hi; } break; case 28: -#line 168 "calc1.y" +#line 171 "calc1.y" { yyval.vval = yystack.l_mark[-1].vval; } break; -#line 853 "calc1.tab.c" +#line 855 "calc1.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/calc1.y b/external/bsd/byacc/dist/test/calc1.y index 119e9a4b4..f0f657f47 100644 --- a/external/bsd/byacc/dist/test/calc1.y +++ b/external/bsd/byacc/dist/test/calc1.y @@ -1,4 +1,4 @@ -/* $NetBSD: calc1.y,v 1.1.1.3 2011/09/10 21:22:09 christos Exp $ */ +/* $NetBSD: calc1.y,v 1.1.1.4 2013/04/06 14:45:27 christos Exp $ */ %{ @@ -18,6 +18,9 @@ INTERVAL; INTERVAL vmul(double, double, INTERVAL); INTERVAL vdiv(double, double, INTERVAL); +extern int yylex(void); +static void yyerror(const char *s); + int dcheck(INTERVAL); double dreg[26]; @@ -174,11 +177,6 @@ vexp : dexp %% /* beginning of subroutines section */ -#ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); -#endif - #define BSZ 50 /* buffer size for floating point numbers */ /* lexical analysis */ @@ -218,7 +216,7 @@ yylex(void) for (; (cp - buf) < BSZ; ++cp, c = getchar()) { - *cp = c; + *cp = (char) c; if (isdigit(c)) continue; if (c == '.') diff --git a/external/bsd/byacc/dist/test/calc2.tab.c b/external/bsd/byacc/dist/test/calc2.tab.c index 3c7d29766..21c2984c0 100644 --- a/external/bsd/byacc/dist/test/calc2.tab.c +++ b/external/bsd/byacc/dist/test/calc2.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: calc2.tab.c,v 1.1.1.3 2011/09/10 21:22:08 christos Exp $ */ +/* $NetBSD: calc2.tab.c,v 1.1.1.4 2013/04/06 14:45:28 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -101,7 +101,15 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; # include # include -#line 103 "calc2.tab.c" +#ifdef YYBISON +#define YYLEX_PARAM base +#define YYLEX_DECL() yylex(int *YYLEX_PARAM) +#define YYERROR_DECL() yyerror(int regs[26], int *base, const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + +#line 111 "calc2.tab.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -129,8 +137,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(int regs[26], int * base, const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(regs, base, msg) +#endif extern int YYPARSE_DECL(); @@ -293,12 +305,11 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 65 "calc2.y" +#line 73 "calc2.y" /* start of programs */ #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -320,7 +331,7 @@ YYERROR_DECL() } int -yylex(int *base) +YYLEX_DECL() { /* lexical analysis routine */ /* returns LETTER for a lower case letter, yylval = 0 through 25 */ @@ -343,7 +354,7 @@ yylex(int *base) } return( c ); } -#line 345 "calc2.tab.c" +#line 356 "calc2.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -367,7 +378,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -550,66 +561,66 @@ yyreduce: switch (yyn) { case 3: -#line 27 "calc2.y" +#line 35 "calc2.y" { yyerrok ; } break; case 4: -#line 31 "calc2.y" +#line 39 "calc2.y" { printf("%d\n",yystack.l_mark[0]);} break; case 5: -#line 33 "calc2.y" +#line 41 "calc2.y" { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } break; case 6: -#line 37 "calc2.y" +#line 45 "calc2.y" { yyval = yystack.l_mark[-1]; } break; case 7: -#line 39 "calc2.y" +#line 47 "calc2.y" { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } break; case 8: -#line 41 "calc2.y" +#line 49 "calc2.y" { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } break; case 9: -#line 43 "calc2.y" +#line 51 "calc2.y" { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } break; case 10: -#line 45 "calc2.y" +#line 53 "calc2.y" { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } break; case 11: -#line 47 "calc2.y" +#line 55 "calc2.y" { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } break; case 12: -#line 49 "calc2.y" +#line 57 "calc2.y" { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } break; case 13: -#line 51 "calc2.y" +#line 59 "calc2.y" { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } break; case 14: -#line 53 "calc2.y" +#line 61 "calc2.y" { yyval = - yystack.l_mark[0]; } break; case 15: -#line 55 "calc2.y" +#line 63 "calc2.y" { yyval = regs[yystack.l_mark[0]]; } break; case 17: -#line 60 "calc2.y" +#line 68 "calc2.y" { yyval = yystack.l_mark[0]; (*base) = (yystack.l_mark[0]==0) ? 8 : 10; } break; case 18: -#line 62 "calc2.y" +#line 70 "calc2.y" { yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 611 "calc2.tab.c" +#line 622 "calc2.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/calc2.y b/external/bsd/byacc/dist/test/calc2.y index 7f8ec0166..8609ccb64 100644 --- a/external/bsd/byacc/dist/test/calc2.y +++ b/external/bsd/byacc/dist/test/calc2.y @@ -1,4 +1,4 @@ -/* $NetBSD: calc2.y,v 1.1.1.3 2011/09/10 21:22:06 christos Exp $ */ +/* $NetBSD: calc2.y,v 1.1.1.4 2013/04/06 14:45:29 christos Exp $ */ %parse-param { int regs[26] } %parse-param { int *base } @@ -9,6 +9,14 @@ # include # include +#ifdef YYBISON +#define YYLEX_PARAM base +#define YYLEX_DECL() yylex(int *YYLEX_PARAM) +#define YYERROR_DECL() yyerror(int regs[26], int *base, const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + %} %start list @@ -68,7 +76,6 @@ number: DIGIT #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -90,7 +97,7 @@ YYERROR_DECL() } int -yylex(int *base) +YYLEX_DECL() { /* lexical analysis routine */ /* returns LETTER for a lower case letter, yylval = 0 through 25 */ diff --git a/external/bsd/byacc/dist/test/calc3.tab.c b/external/bsd/byacc/dist/test/calc3.tab.c index 1e050d2a7..4f951c500 100644 --- a/external/bsd/byacc/dist/test/calc3.tab.c +++ b/external/bsd/byacc/dist/test/calc3.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: calc3.tab.c,v 1.1.1.3 2011/09/10 21:22:04 christos Exp $ */ +/* $NetBSD: calc3.tab.c,v 1.1.1.4 2013/04/06 14:45:29 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -101,7 +101,16 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; # include # include -#line 103 "calc3.tab.c" +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM base +#define YYLEX_DECL() yylex(YYSTYPE *yylval, int *YYLEX_PARAM) +#define YYERROR_DECL() yyerror(int regs[26], int *base, const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + +#line 112 "calc3.tab.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -121,7 +130,11 @@ typedef int YYSTYPE; /* Parameters sent to lex. */ #ifdef YYLEX_PARAM -# define YYLEX_DECL() yylex(YYSTYPE *yylval, void *YYLEX_PARAM) +# ifdef YYLEX_PARAM_TYPE +# define YYLEX_DECL() yylex(YYSTYPE *yylval, YYLEX_PARAM_TYPE YYLEX_PARAM) +# else +# define YYLEX_DECL() yylex(YYSTYPE *yylval, void * YYLEX_PARAM) +# endif # define YYLEX yylex(&yylval, YYLEX_PARAM) #else # define YYLEX_DECL() yylex(YYSTYPE *yylval, int * base) @@ -129,8 +142,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(int regs[26], int * base, const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(regs, base, msg) +#endif extern int YYPARSE_DECL(); @@ -286,12 +303,11 @@ typedef struct { YYSTYPE *l_base; YYSTYPE *l_mark; } YYSTACKDATA; -#line 67 "calc3.y" +#line 76 "calc3.y" /* start of programs */ #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -336,7 +352,7 @@ YYLEX_DECL() } return( c ); } -#line 338 "calc3.tab.c" +#line 354 "calc3.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -360,7 +376,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -550,66 +566,66 @@ yyreduce: switch (yyn) { case 3: -#line 29 "calc3.y" +#line 38 "calc3.y" { yyerrok ; } break; case 4: -#line 33 "calc3.y" +#line 42 "calc3.y" { printf("%d\n",yystack.l_mark[0]);} break; case 5: -#line 35 "calc3.y" +#line 44 "calc3.y" { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } break; case 6: -#line 39 "calc3.y" +#line 48 "calc3.y" { yyval = yystack.l_mark[-1]; } break; case 7: -#line 41 "calc3.y" +#line 50 "calc3.y" { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } break; case 8: -#line 43 "calc3.y" +#line 52 "calc3.y" { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } break; case 9: -#line 45 "calc3.y" +#line 54 "calc3.y" { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } break; case 10: -#line 47 "calc3.y" +#line 56 "calc3.y" { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } break; case 11: -#line 49 "calc3.y" +#line 58 "calc3.y" { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } break; case 12: -#line 51 "calc3.y" +#line 60 "calc3.y" { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } break; case 13: -#line 53 "calc3.y" +#line 62 "calc3.y" { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } break; case 14: -#line 55 "calc3.y" +#line 64 "calc3.y" { yyval = - yystack.l_mark[0]; } break; case 15: -#line 57 "calc3.y" +#line 66 "calc3.y" { yyval = regs[yystack.l_mark[0]]; } break; case 17: -#line 62 "calc3.y" +#line 71 "calc3.y" { yyval = yystack.l_mark[0]; (*base) = (yystack.l_mark[0]==0) ? 8 : 10; } break; case 18: -#line 64 "calc3.y" +#line 73 "calc3.y" { yyval = (*base) * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 611 "calc3.tab.c" +#line 627 "calc3.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/calc3.y b/external/bsd/byacc/dist/test/calc3.y index ca3aa1ba8..6cd597efb 100644 --- a/external/bsd/byacc/dist/test/calc3.y +++ b/external/bsd/byacc/dist/test/calc3.y @@ -1,4 +1,4 @@ -/* $NetBSD: calc3.y,v 1.1.1.3 2011/09/10 21:22:07 christos Exp $ */ +/* $NetBSD: calc3.y,v 1.1.1.4 2013/04/06 14:45:28 christos Exp $ */ %pure-parser @@ -11,6 +11,15 @@ # include # include +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM base +#define YYLEX_DECL() yylex(YYSTYPE *yylval, int *YYLEX_PARAM) +#define YYERROR_DECL() yyerror(int regs[26], int *base, const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + %} %start list @@ -70,7 +79,6 @@ number: DIGIT #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int diff --git a/external/bsd/byacc/dist/test/code_calc.code.c b/external/bsd/byacc/dist/test/code_calc.code.c index 493e3f0ca..c8820a5fb 100644 --- a/external/bsd/byacc/dist/test/code_calc.code.c +++ b/external/bsd/byacc/dist/test/code_calc.code.c @@ -1,4 +1,4 @@ -/* $NetBSD: code_calc.code.c,v 1.1.1.3 2011/09/10 21:22:05 christos Exp $ */ +/* $NetBSD: code_calc.code.c,v 1.1.1.4 2013/04/06 14:45:29 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -23,7 +23,12 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; int regs[26]; int base; -#line 25 "code_calc.code.c" +#ifdef YYBISON +int yylex(void); +static void yyerror(const char *s); +#endif + +#line 30 "code_calc.code.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -51,8 +56,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -197,12 +206,11 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 63 "code_calc.y" +#line 68 "code_calc.y" /* start of programs */ #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -221,7 +229,8 @@ yyerror(const char *s) } int -yylex(void) { +yylex(void) +{ /* lexical analysis routine */ /* returns LETTER for a lower case letter, yylval = 0 through 25 */ /* return DIGIT for a digit, yylval = 0 through 9 */ @@ -243,7 +252,7 @@ yylex(void) { } return( c ); } -#line 245 "code_calc.code.c" +#line 254 "code_calc.code.c" #if YYDEBUG #include /* needed for printf */ @@ -267,7 +276,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -450,66 +459,66 @@ yyreduce: switch (yyn) { case 3: -#line 25 "code_calc.y" +#line 30 "code_calc.y" { yyerrok ; } break; case 4: -#line 29 "code_calc.y" +#line 34 "code_calc.y" { printf("%d\n",yystack.l_mark[0]);} break; case 5: -#line 31 "code_calc.y" +#line 36 "code_calc.y" { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } break; case 6: -#line 35 "code_calc.y" +#line 40 "code_calc.y" { yyval = yystack.l_mark[-1]; } break; case 7: -#line 37 "code_calc.y" +#line 42 "code_calc.y" { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } break; case 8: -#line 39 "code_calc.y" +#line 44 "code_calc.y" { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } break; case 9: -#line 41 "code_calc.y" +#line 46 "code_calc.y" { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } break; case 10: -#line 43 "code_calc.y" +#line 48 "code_calc.y" { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } break; case 11: -#line 45 "code_calc.y" +#line 50 "code_calc.y" { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } break; case 12: -#line 47 "code_calc.y" +#line 52 "code_calc.y" { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } break; case 13: -#line 49 "code_calc.y" +#line 54 "code_calc.y" { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } break; case 14: -#line 51 "code_calc.y" +#line 56 "code_calc.y" { yyval = - yystack.l_mark[0]; } break; case 15: -#line 53 "code_calc.y" +#line 58 "code_calc.y" { yyval = regs[yystack.l_mark[0]]; } break; case 17: -#line 58 "code_calc.y" +#line 63 "code_calc.y" { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } break; case 18: -#line 60 "code_calc.y" +#line 65 "code_calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 511 "code_calc.code.c" +#line 520 "code_calc.code.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/code_calc.y b/external/bsd/byacc/dist/test/code_calc.y index 6bafc76af..19a376f0f 100644 --- a/external/bsd/byacc/dist/test/code_calc.y +++ b/external/bsd/byacc/dist/test/code_calc.y @@ -1,4 +1,4 @@ -/* $NetBSD: code_calc.y,v 1.1.1.3 2011/09/10 21:22:04 christos Exp $ */ +/* $NetBSD: code_calc.y,v 1.1.1.4 2013/04/06 14:45:27 christos Exp $ */ %{ # include @@ -7,6 +7,11 @@ int regs[26]; int base; +#ifdef YYBISON +int yylex(void); +static void yyerror(const char *s); +#endif + %} %start list @@ -66,7 +71,6 @@ number: DIGIT #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -85,7 +89,8 @@ yyerror(const char *s) } int -yylex(void) { +yylex(void) +{ /* lexical analysis routine */ /* returns LETTER for a lower case letter, yylval = 0 through 25 */ /* return DIGIT for a digit, yylval = 0 through 9 */ diff --git a/external/bsd/byacc/dist/test/code_error.code.c b/external/bsd/byacc/dist/test/code_error.code.c index d4fb22406..aaa7fc7be 100644 --- a/external/bsd/byacc/dist/test/code_error.code.c +++ b/external/bsd/byacc/dist/test/code_error.code.c @@ -1,4 +1,4 @@ -/* $NetBSD: code_error.code.c,v 1.1.1.3 2011/09/10 21:22:06 christos Exp $ */ +/* $NetBSD: code_error.code.c,v 1.1.1.4 2013/04/06 14:45:27 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -16,6 +16,14 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; #define YYPURE 0 +#line 2 "code_error.y" + +#ifdef YYBISON +int yylex(void); +static void yyerror(const char *); +#endif + +#line 25 "code_error.code.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -43,8 +51,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -186,13 +198,12 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 4 "code_error.y" +#line 12 "code_error.y" #include #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -213,7 +224,7 @@ yyerror(const char* s) { printf("%s\n", s); } -#line 215 "code_error.code.c" +#line 226 "code_error.code.c" #if YYDEBUG #include /* needed for printf */ @@ -237,7 +248,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; diff --git a/external/bsd/byacc/dist/test/code_error.y b/external/bsd/byacc/dist/test/code_error.y index 3005c9ebe..8cfd0b319 100644 --- a/external/bsd/byacc/dist/test/code_error.y +++ b/external/bsd/byacc/dist/test/code_error.y @@ -1,5 +1,13 @@ -/* $NetBSD: code_error.y,v 1.1.1.3 2011/09/10 21:22:09 christos Exp $ */ +/* $NetBSD: code_error.y,v 1.1.1.4 2013/04/06 14:45:29 christos Exp $ */ +%{ + +#ifdef YYBISON +int yylex(void); +static void yyerror(const char *); +#endif + +%} %% S: error %% @@ -8,7 +16,6 @@ S: error #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int diff --git a/external/bsd/byacc/dist/test/error.tab.c b/external/bsd/byacc/dist/test/error.tab.c index 5adc79b95..e64a66906 100644 --- a/external/bsd/byacc/dist/test/error.tab.c +++ b/external/bsd/byacc/dist/test/error.tab.c @@ -1,8 +1,8 @@ -/* $NetBSD: error.tab.c,v 1.4 2011/09/10 21:29:04 christos Exp $ */ +/* $NetBSD: error.tab.c,v 1.5 2013/04/06 14:52:24 christos Exp $ */ #ifndef lint /* static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; */ -static char rcsid[] = "$NetBSD: error.tab.c,v 1.4 2011/09/10 21:29:04 christos Exp $"; +static char rcsid[] = "$NetBSD: error.tab.c,v 1.5 2013/04/06 14:52:24 christos Exp $"; #endif #define YYBYACC 1 @@ -98,6 +98,10 @@ static char rcsid[] = "$NetBSD: error.tab.c,v 1.4 2011/09/10 21:29:04 christos E #define YYPURE 0 +#line 2 "error.y" +int yylex(void); +static void yyerror(const char *); +#line 102 "error.tab.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -125,8 +129,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -205,15 +213,10 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 4 "error.y" +#line 8 "error.y" #include -#ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); -#endif - int main(void) { @@ -232,7 +235,7 @@ yyerror(const char* s) { printf("%s\n", s); } -#line 233 "error.tab.c" +#line 236 "error.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -256,7 +259,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; diff --git a/external/bsd/byacc/dist/test/error.y b/external/bsd/byacc/dist/test/error.y index 62ae643d2..e71e96c62 100644 --- a/external/bsd/byacc/dist/test/error.y +++ b/external/bsd/byacc/dist/test/error.y @@ -1,16 +1,15 @@ -/* $NetBSD: error.y,v 1.1.1.4 2011/09/10 21:22:03 christos Exp $ */ +/* $NetBSD: error.y,v 1.1.1.5 2013/04/06 14:45:27 christos Exp $ */ +%{ +int yylex(void); +static void yyerror(const char *); +%} %% S: error %% #include -#ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); -#endif - int main(void) { diff --git a/external/bsd/byacc/dist/test/ftp.output b/external/bsd/byacc/dist/test/ftp.output index f1ab4b298..c8931a5da 100644 --- a/external/bsd/byacc/dist/test/ftp.output +++ b/external/bsd/byacc/dist/test/ftp.output @@ -759,8 +759,8 @@ state 79 type_code : L . SP byte_size (62) type_code : L . byte_size (63) - SP shift 123 - NUMBER shift 124 + NUMBER shift 123 + SP shift 124 CRLF reduce 61 byte_size goto 125 @@ -1110,20 +1110,20 @@ state 122 state 123 - type_code : L SP . byte_size (62) - - NUMBER shift 124 - . error - - byte_size goto 159 - - -state 124 byte_size : NUMBER . (51) . reduce 51 +state 124 + type_code : L SP . byte_size (62) + + NUMBER shift 123 + . error + + byte_size goto 159 + + state 125 type_code : L byte_size . (63) diff --git a/external/bsd/byacc/dist/test/ftp.tab.c b/external/bsd/byacc/dist/test/ftp.tab.c index 8699bc5c3..2aba796e9 100644 --- a/external/bsd/byacc/dist/test/ftp.tab.c +++ b/external/bsd/byacc/dist/test/ftp.tab.c @@ -1,8 +1,8 @@ -/* $NetBSD: ftp.tab.c,v 1.4 2011/09/10 21:29:04 christos Exp $ */ +/* $NetBSD: ftp.tab.c,v 1.5 2013/04/06 14:52:24 christos Exp $ */ #ifndef lint /* static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; */ -static char rcsid[] = "$NetBSD: ftp.tab.c,v 1.4 2011/09/10 21:29:04 christos Exp $"; +static char rcsid[] = "$NetBSD: ftp.tab.c,v 1.5 2013/04/06 14:52:24 christos Exp $"; #endif #define YYBYACC 1 @@ -122,6 +122,11 @@ static char rcsid[] = "$NetBSD: ftp.tab.c,v 1.4 2011/09/10 21:29:04 christos Exp #include #include +#ifdef YYBISON +int yylex(void); +static void yyerror(const char *); +#endif + extern struct sockaddr_in data_dest; extern int logged_in; extern struct passwd *pw; @@ -170,20 +175,42 @@ static int cmd_bytesz; char cbuf[512]; char *fromname; - +struct tab { + const char *name; + short token; + short state; + short implemented; /* 1 if command is implemented */ + const char *help; +}; static char * copy(const char *); +#ifdef YYBISON +static void sizecmd(char *filename); +static void help(struct tab *ctab, char *s); +struct tab cmdtab[]; +struct tab sitetab[]; +#endif + static void yyerror(const char *msg) { perror(msg); } -#line 180 "ftp.tab.c" - -#ifndef YYSTYPE -typedef int YYSTYPE; +#line 126 "ftp.y" +#ifdef YYSTYPE +#undef YYSTYPE_IS_DECLARED +#define YYSTYPE_IS_DECLARED 1 #endif +#ifndef YYSTYPE_IS_DECLARED +#define YYSTYPE_IS_DECLARED 1 +typedef union +{ + int ival; + char *sval; +} YYSTYPE; +#endif /* !YYSTYPE_IS_DECLARED */ +#line 211 "ftp.tab.c" /* compatibility with bison */ #ifdef YYPARSE_PARAM @@ -207,28 +234,32 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); -#define A 257 -#define B 258 -#define C 259 -#define E 260 -#define F 261 -#define I 262 -#define L 263 -#define N 264 -#define P 265 -#define R 266 -#define S 267 -#define T 268 -#define SP 269 -#define CRLF 270 -#define COMMA 271 -#define STRING 272 -#define NUMBER 273 +#define NUMBER 257 +#define STRING 258 +#define A 259 +#define B 260 +#define C 261 +#define E 262 +#define F 263 +#define I 264 +#define L 265 +#define N 266 +#define P 267 +#define R 268 +#define S 269 +#define T 270 +#define SP 271 +#define CRLF 272 +#define COMMA 273 #define USER 274 #define PASS 275 #define ACCT 276 @@ -277,14 +308,14 @@ extern int YYPARSE_DECL(); #define LEXERR 319 #define YYERRCODE 256 static const short ftp_lhs[] = { -1, - 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 3, 4, 4, - 12, 5, 13, 13, 13, 6, 6, 6, 6, 6, - 6, 6, 6, 7, 7, 7, 8, 8, 8, 10, - 14, 11, 9, + 0, 0, 0, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 12, 10, 7, 7, + 1, 13, 3, 3, 3, 14, 14, 14, 14, 14, + 14, 14, 14, 6, 6, 6, 4, 4, 4, 8, + 9, 5, 2, }; static const short ftp_len[] = { 2, 0, 2, 2, 4, 4, 4, 2, 4, 4, 4, @@ -309,7 +340,7 @@ static const short ftp_defred[] = { 1, 0, 0, 0, 71, 0, 70, 0, 0, 25, 0, 18, 0, 16, 0, 73, 0, 73, 0, 0, 0, 0, 32, 33, 0, 0, 0, 4, 5, 0, 6, - 0, 0, 0, 51, 63, 8, 9, 10, 0, 0, + 0, 0, 51, 0, 63, 8, 9, 10, 0, 0, 0, 0, 11, 0, 23, 0, 0, 0, 0, 0, 34, 0, 0, 39, 0, 0, 28, 0, 0, 0, 0, 0, 0, 55, 53, 54, 57, 59, 62, 13, @@ -319,40 +350,40 @@ static const short ftp_defred[] = { 1, 0, 12, 0, 0, 38, 0, 0, 0, 52, }; static const short ftp_dgoto[] = { 1, - 34, 35, 71, 73, 75, 80, 84, 88, 45, 95, - 184, 125, 157, 96, + 125, 45, 157, 88, 184, 84, 73, 95, 96, 71, + 34, 35, 75, 80, }; static const short ftp_sindex[] = { 0, - -224, -247, -239, -236, -232, -222, -204, -200, -181, -177, - 0, 0, 0, -166, 0, -161, -199, 0, 0, 0, - 0, -160, -159, -264, -158, 0, 0, 0, 0, 0, - -157, 0, 0, 0, 0, 0, -167, -162, 0, -156, - 0, -250, -198, -165, -155, -154, -153, -151, -150, -152, - 0, -145, -252, -229, -217, -302, 0, -144, -146, 0, - 0, -142, -141, -140, -139, -137, 0, -136, -135, 0, - -134, 0, -133, -132, -130, -131, -128, 0, -249, -127, - 0, 0, 0, -126, 0, 0, 0, -125, -152, -152, - -152, -205, -152, 0, -124, 0, -152, -152, 0, -152, - 0, -143, 0, -173, 0, -171, 0, -152, -123, -152, - -152, 0, 0, -152, -152, -152, 0, 0, -138, 0, - -164, -164, -122, 0, 0, 0, 0, 0, -121, -120, - -118, -148, 0, -117, 0, -116, -115, -114, -113, -112, - 0, -163, -111, 0, -110, -109, 0, -107, -106, -105, - -104, -103, -129, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -101, 0, 0, 0, 0, 0, -100, -102, - 0, -98, -102, 0, 0, 0, 0, 0, 0, -99, - -97, 0, 0, -95, 0, -96, -94, -92, 0, -152, - -93, 0, -91, -90, 0, -88, -87, -86, 0, + -224, -256, -248, -241, -239, -233, -225, -218, -200, -165, + 0, 0, 0, -164, 0, -163, -176, 0, 0, 0, + 0, -162, -161, -231, -160, 0, 0, 0, 0, 0, + -159, 0, 0, 0, 0, 0, -240, -148, 0, -143, + 0, -252, -175, -255, -156, -155, -154, -139, -152, -138, + 0, -149, -205, -203, -177, -253, 0, -147, -133, 0, + 0, -145, -144, -142, -141, -137, 0, -136, -135, 0, + -140, 0, -134, -132, -130, -131, -128, 0, -254, -127, + 0, 0, 0, -126, 0, 0, 0, -125, -138, -138, + -138, -174, -138, 0, -124, 0, -138, -138, 0, -138, + 0, -129, 0, -172, 0, -169, 0, -138, -123, -138, + -138, 0, 0, -138, -138, -138, 0, 0, -120, 0, + -246, -246, 0, -118, 0, 0, 0, 0, -122, -121, + -119, -116, 0, -117, 0, -115, -114, -113, -112, -104, + 0, -167, -101, 0, -110, -109, 0, -108, -107, -106, + -105, -103, -111, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -100, 0, 0, 0, 0, 0, -102, -85, + 0, -99, -85, 0, 0, 0, 0, 0, 0, -83, + -82, 0, 0, -96, 0, -94, -95, -93, 0, -138, + -77, 0, -91, -90, 0, -75, -88, -73, 0, }; static const short ftp_rindex[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -83, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -82, 0, 0, + 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -81, -80, 0, -158, 0, + 0, 0, 0, 0, 0, -81, -80, 0, -160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -367,51 +398,53 @@ static const short ftp_rindex[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const short ftp_gindex[] = { 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, -89, - -25, 35, 47, 0, + 4, 16, 11, 0, -29, 0, 0, -89, 0, 0, + 0, 0, 0, 0, }; -#define YYTABLESIZE 190 +#define YYTABLESIZE 192 static const short ftp_table[] = { 129, - 130, 131, 104, 134, 59, 60, 76, 136, 137, 77, - 138, 78, 79, 105, 106, 107, 98, 99, 146, 123, - 148, 149, 36, 124, 150, 151, 152, 46, 47, 37, - 49, 2, 38, 52, 53, 54, 55, 39, 58, 100, - 101, 62, 63, 64, 65, 66, 40, 68, 69, 3, - 4, 102, 103, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 81, 132, 133, 41, 82, 83, 42, 14, - 51, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, 27, 28, 29, 30, 43, 31, 32, - 33, 44, 85, 86, 154, 140, 141, 143, 144, 155, - 193, 87, 48, 156, 70, 170, 171, 50, 56, 72, - 57, 61, 67, 89, 90, 91, 74, 163, 93, 94, - 142, 92, 145, 97, 108, 109, 110, 111, 139, 112, - 113, 114, 115, 116, 153, 117, 118, 121, 119, 120, - 122, 180, 126, 127, 128, 135, 147, 186, 160, 161, - 124, 162, 164, 165, 166, 167, 168, 159, 173, 169, - 174, 172, 175, 176, 177, 178, 179, 181, 158, 182, - 183, 185, 190, 187, 189, 188, 191, 192, 195, 194, - 196, 0, 0, 198, 197, 73, 199, 49, 56, 58, + 130, 131, 123, 134, 85, 86, 76, 136, 137, 77, + 138, 78, 79, 87, 154, 36, 124, 70, 146, 155, + 148, 149, 37, 156, 150, 151, 152, 46, 47, 38, + 49, 2, 39, 52, 53, 54, 55, 40, 58, 59, + 60, 62, 63, 64, 65, 66, 41, 68, 69, 3, + 4, 104, 42, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 105, 106, 107, 98, 99, 100, 101, 14, + 43, 15, 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 81, 31, 32, + 33, 82, 83, 102, 103, 51, 132, 133, 140, 141, + 193, 143, 144, 170, 171, 44, 48, 50, 56, 72, + 57, 61, 67, 74, 89, 90, 91, 92, 93, 94, + 142, 97, 145, 108, 109, 110, 111, 159, 139, 112, + 113, 117, 158, 114, 115, 116, 153, 118, 123, 121, + 119, 120, 122, 186, 126, 127, 128, 135, 147, 160, + 161, 163, 162, 169, 164, 172, 165, 166, 167, 168, + 173, 180, 174, 175, 176, 177, 178, 0, 179, 182, + 181, 183, 185, 187, 188, 189, 190, 191, 192, 194, + 195, 197, 196, 199, 198, 49, 73, 0, 0, 0, + 56, 58, }; static const short ftp_check[] = { 89, - 90, 91, 305, 93, 269, 270, 257, 97, 98, 260, - 100, 262, 263, 316, 317, 318, 269, 270, 108, 269, - 110, 111, 270, 273, 114, 115, 116, 12, 13, 269, - 15, 256, 269, 18, 19, 20, 21, 270, 23, 269, - 270, 26, 27, 28, 29, 30, 269, 32, 33, 274, - 275, 269, 270, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 261, 269, 270, 270, 265, 266, 269, 294, - 270, 296, 297, 298, 299, 300, 301, 302, 303, 304, - 305, 306, 307, 308, 309, 310, 311, 269, 313, 314, - 315, 269, 258, 259, 259, 269, 270, 269, 270, 264, - 190, 267, 269, 268, 272, 269, 270, 269, 269, 272, - 270, 270, 270, 269, 269, 269, 273, 266, 269, 272, - 105, 273, 107, 269, 269, 272, 269, 269, 272, 270, - 270, 269, 269, 269, 273, 270, 270, 269, 271, 270, - 269, 271, 270, 270, 270, 270, 270, 173, 270, 270, - 273, 270, 270, 270, 270, 270, 270, 123, 269, 272, - 270, 273, 270, 270, 270, 270, 270, 269, 122, 270, - 273, 270, 269, 273, 270, 273, 271, 270, 270, 273, - 271, -1, -1, 271, 273, 269, 273, 270, 270, 270, + 90, 91, 257, 93, 260, 261, 259, 97, 98, 262, + 100, 264, 265, 269, 261, 272, 271, 258, 108, 266, + 110, 111, 271, 270, 114, 115, 116, 12, 13, 271, + 15, 256, 272, 18, 19, 20, 21, 271, 23, 271, + 272, 26, 27, 28, 29, 30, 272, 32, 33, 274, + 275, 305, 271, 278, 279, 280, 281, 282, 283, 284, + 285, 286, 316, 317, 318, 271, 272, 271, 272, 294, + 271, 296, 297, 298, 299, 300, 301, 302, 303, 304, + 305, 306, 307, 308, 309, 310, 311, 263, 313, 314, + 315, 267, 268, 271, 272, 272, 271, 272, 271, 272, + 190, 271, 272, 271, 272, 271, 271, 271, 271, 258, + 272, 272, 272, 257, 271, 271, 271, 257, 271, 258, + 105, 271, 107, 271, 258, 271, 271, 124, 258, 272, + 272, 272, 122, 271, 271, 271, 257, 272, 257, 271, + 273, 272, 271, 173, 272, 272, 272, 272, 272, 272, + 272, 268, 272, 258, 272, 257, 272, 272, 272, 272, + 271, 273, 272, 272, 272, 272, 272, -1, 272, 272, + 271, 257, 272, 257, 257, 272, 271, 273, 272, 257, + 272, 257, 273, 257, 273, 272, 271, -1, -1, -1, + 272, 272, }; #define YYFINAL 1 #ifndef YYDEBUG @@ -427,12 +460,12 @@ static const char *yyname[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"A","B","C","E","F","I","L","N", -"P","R","S","T","SP","CRLF","COMMA","STRING","NUMBER","USER","PASS","ACCT", -"REIN","QUIT","PORT","PASV","TYPE","STRU","MODE","RETR","STOR","APPE","MLFL", -"MAIL","MSND","MSOM","MSAM","MRSQ","MRCP","ALLO","REST","RNFR","RNTO","ABOR", -"DELE","CWD","LIST","NLST","SITE","STAT","HELP","NOOP","MKD","RMD","PWD","CDUP", -"STOU","SMNT","SYST","SIZE","MDTM","UMASK","IDLE","CHMOD","LEXERR", +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"NUMBER","STRING","A","B","C","E", +"F","I","L","N","P","R","S","T","SP","CRLF","COMMA","USER","PASS","ACCT","REIN", +"QUIT","PORT","PASV","TYPE","STRU","MODE","RETR","STOR","APPE","MLFL","MAIL", +"MSND","MSOM","MSAM","MRSQ","MRCP","ALLO","REST","RNFR","RNTO","ABOR","DELE", +"CWD","LIST","NLST","SITE","STAT","HELP","NOOP","MKD","RMD","PWD","CDUP","STOU", +"SMNT","SYST","SIZE","MDTM","UMASK","IDLE","CHMOD","LEXERR", }; static const char *yyrule[] = { "$accept : cmd_list", @@ -546,11 +579,10 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 689 "ftp.y" +#line 733 "ftp.y" #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif extern jmp_buf errcatch; @@ -567,14 +599,6 @@ static void upper(char *); #define SITECMD 7 /* SITE command */ #define NSTR 8 /* Number followed by a string */ -struct tab { - const char *name; - short token; - short state; - short implemented; /* 1 if command is implemented */ - const char *help; -}; - struct tab cmdtab[] = { /* In order defined in RFC 765 */ { "USER", USER, STR1, 1, " username" }, { "PASS", PASS, ZSTR1, 1, " password" }, @@ -694,7 +718,7 @@ get_line(char *s, int n, FILE *iop) } } } - *cs++ = c; + *cs++ = (char) c; if (--n <= 0 || c == '\n') break; } @@ -752,7 +776,7 @@ yylex(void) *cp = '\0'; } if ((cp = strpbrk(cbuf, " \n"))) - cpos = cp - cbuf; + cpos = (int) (cp - cbuf); if (cpos == 0) cpos = 4; c = cbuf[cpos]; @@ -779,7 +803,7 @@ yylex(void) } cp = &cbuf[cpos]; if ((cp2 = strpbrk(cp, " \n"))) - cpos = cp2 - cbuf; + cpos = (int) (cp2 - cbuf); c = cbuf[cpos]; cbuf[cpos] = '\0'; upper(cp); @@ -828,7 +852,7 @@ yylex(void) case STR2: cp = &cbuf[cpos]; - n = strlen(cp); + n = (int) strlen(cp); cpos += n - 1; /* * Make sure the string is nonempty and \n terminated. @@ -853,7 +877,7 @@ yylex(void) ; c = cbuf[cpos]; cbuf[cpos] = '\0'; - yylval = atoi(cp); + yylval.ival = atoi(cp); cbuf[cpos] = c; state = STR1; return (NUMBER); @@ -868,7 +892,7 @@ yylex(void) ; c = cbuf[cpos]; cbuf[cpos] = '\0'; - yylval = atoi(cp); + yylval.ival = atoi(cp); cbuf[cpos] = c; return (NUMBER); } @@ -980,7 +1004,7 @@ help(struct tab *ctab, char *s) help_type = ""; width = 0, NCMDS = 0; for (c = ctab; c->name != 0; c++) { - int len = strlen(c->name); + int len = (int) strlen(c->name); if (len > width) width = len; @@ -1006,7 +1030,7 @@ help(struct tab *ctab, char *s) c->implemented ? ' ' : '*'); if (c + lines >= &ctab[NCMDS]) break; - w = strlen(c->name) + 1; + w = (int) strlen(c->name) + 1; while (w < width) { putchar(' '); w++; @@ -1078,7 +1102,7 @@ sizecmd(char *filename) reply(504, "SIZE not implemented for Type %c.", "?AEIL"[type]); } } -#line 1079 "ftp.tab.c" +#line 1103 "ftp.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -1102,7 +1126,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -1285,27 +1309,27 @@ yyreduce: switch (yyn) { case 2: -#line 132 "ftp.y" +#line 172 "ftp.y" { fromname = (char *) 0; } break; case 4: -#line 139 "ftp.y" +#line 179 "ftp.y" { - user((char *) yystack.l_mark[-1]); - free((char *) yystack.l_mark[-1]); + user(yystack.l_mark[-1].sval); + free(yystack.l_mark[-1].sval); } break; case 5: -#line 144 "ftp.y" +#line 184 "ftp.y" { - pass((char *) yystack.l_mark[-1]); - free((char *) yystack.l_mark[-1]); + pass(yystack.l_mark[-1].sval); + free(yystack.l_mark[-1].sval); } break; case 6: -#line 149 "ftp.y" +#line 189 "ftp.y" { usedefault = 0; if (pdata >= 0) { @@ -1316,13 +1340,13 @@ case 6: } break; case 7: -#line 158 "ftp.y" +#line 198 "ftp.y" { passive(); } break; case 8: -#line 162 "ftp.y" +#line 202 "ftp.y" { switch (cmd_type) { @@ -1359,9 +1383,9 @@ case 8: } break; case 9: -#line 197 "ftp.y" +#line 237 "ftp.y" { - switch (yystack.l_mark[-1]) { + switch (yystack.l_mark[-1].ival) { case STRU_F: reply(200, "STRU F ok."); @@ -1373,9 +1397,9 @@ case 9: } break; case 10: -#line 209 "ftp.y" +#line 249 "ftp.y" { - switch (yystack.l_mark[-1]) { + switch (yystack.l_mark[-1].ival) { case MODE_S: reply(200, "MODE S ok."); @@ -1387,148 +1411,148 @@ case 10: } break; case 11: -#line 221 "ftp.y" +#line 261 "ftp.y" { reply(202, "ALLO command ignored."); } break; case 12: -#line 225 "ftp.y" +#line 265 "ftp.y" { reply(202, "ALLO command ignored."); } break; case 13: -#line 229 "ftp.y" +#line 269 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - retrieve((char *) 0, (char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + retrieve((char *) 0, yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free(yystack.l_mark[-1].sval); } break; case 14: -#line 236 "ftp.y" +#line 276 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - store((char *) yystack.l_mark[-1], "w", 0); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + store(yystack.l_mark[-1].sval, "w", 0); + if (yystack.l_mark[-1].sval != 0) + free(yystack.l_mark[-1].sval); } break; case 15: -#line 243 "ftp.y" +#line 283 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - store((char *) yystack.l_mark[-1], "a", 0); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + store(yystack.l_mark[-1].sval, "a", 0); + if (yystack.l_mark[-1].sval != 0) + free(yystack.l_mark[-1].sval); } break; case 16: -#line 250 "ftp.y" +#line 290 "ftp.y" { - if (yystack.l_mark[-1]) + if (yystack.l_mark[-1].ival) send_file_list("."); } break; case 17: -#line 255 "ftp.y" +#line 295 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - send_file_list((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + send_file_list((char *) yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 18: -#line 262 "ftp.y" +#line 302 "ftp.y" { - if (yystack.l_mark[-1]) + if (yystack.l_mark[-1].ival) retrieve("/bin/ls -lgA", ""); } break; case 19: -#line 267 "ftp.y" +#line 307 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - retrieve("/bin/ls -lgA %s", (char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + retrieve("/bin/ls -lgA %s", yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free(yystack.l_mark[-1].sval); } break; case 20: -#line 274 "ftp.y" +#line 314 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - statfilecmd((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + statfilecmd(yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free(yystack.l_mark[-1].sval); } break; case 21: -#line 281 "ftp.y" +#line 321 "ftp.y" { statcmd(); } break; case 22: -#line 285 "ftp.y" +#line 325 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - remove((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + remove((char *) yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 23: -#line 292 "ftp.y" +#line 332 "ftp.y" { if (fromname) { - renamecmd(fromname, (char *) yystack.l_mark[-1]); + renamecmd(fromname, (char *) yystack.l_mark[-1].sval); free(fromname); fromname = (char *) 0; } else { reply(503, "Bad sequence of commands."); } - free((char *) yystack.l_mark[-1]); + free((char *) yystack.l_mark[-1].sval); } break; case 24: -#line 303 "ftp.y" +#line 343 "ftp.y" { reply(225, "ABOR command successful."); } break; case 25: -#line 307 "ftp.y" +#line 347 "ftp.y" { - if (yystack.l_mark[-1]) + if (yystack.l_mark[-1].ival) cwd(pw->pw_dir); } break; case 26: -#line 312 "ftp.y" +#line 352 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - cwd((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + cwd((char *) yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 27: -#line 319 "ftp.y" +#line 359 "ftp.y" { help(cmdtab, (char *) 0); } break; case 28: -#line 323 "ftp.y" +#line 363 "ftp.y" { - register char *cp = (char *)yystack.l_mark[-1]; + register char *cp = (char *)yystack.l_mark[-1].sval; if (strncasecmp(cp, "SITE", 4) == 0) { - cp = (char *)yystack.l_mark[-1] + 4; + cp = (char *)yystack.l_mark[-1].sval + 4; if (*cp == ' ') cp++; if (*cp) @@ -1536,65 +1560,65 @@ case 28: else help(sitetab, (char *) 0); } else - help(cmdtab, (char *) yystack.l_mark[-1]); + help(cmdtab, (char *) yystack.l_mark[-1].sval); } break; case 29: -#line 338 "ftp.y" +#line 378 "ftp.y" { reply(200, "NOOP command successful."); } break; case 30: -#line 342 "ftp.y" +#line 382 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - makedir((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + makedir((char *) yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 31: -#line 349 "ftp.y" +#line 389 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - removedir((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + removedir((char *) yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 32: -#line 356 "ftp.y" +#line 396 "ftp.y" { - if (yystack.l_mark[-1]) + if (yystack.l_mark[-1].ival) pwd(); } break; case 33: -#line 361 "ftp.y" +#line 401 "ftp.y" { - if (yystack.l_mark[-1]) + if (yystack.l_mark[-1].ival) cwd(".."); } break; case 34: -#line 366 "ftp.y" +#line 406 "ftp.y" { help(sitetab, (char *) 0); } break; case 35: -#line 370 "ftp.y" +#line 410 "ftp.y" { - help(sitetab, (char *) yystack.l_mark[-1]); + help(sitetab, (char *) yystack.l_mark[-1].sval); } break; case 36: -#line 374 "ftp.y" +#line 414 "ftp.y" { int oldmask; - if (yystack.l_mark[-1]) { + if (yystack.l_mark[-1].ival) { oldmask = umask(0); (void) umask(oldmask); reply(200, "Current UMASK is %03o", oldmask); @@ -1602,40 +1626,40 @@ case 36: } break; case 37: -#line 384 "ftp.y" +#line 424 "ftp.y" { int oldmask; - if (yystack.l_mark[-3]) { - if ((yystack.l_mark[-1] == -1) || (yystack.l_mark[-1] > 0777)) { + if (yystack.l_mark[-3].ival) { + if ((yystack.l_mark[-1].ival == -1) || (yystack.l_mark[-1].ival > 0777)) { reply(501, "Bad UMASK value"); } else { - oldmask = umask(yystack.l_mark[-1]); + oldmask = umask(yystack.l_mark[-1].ival); reply(200, "UMASK set to %03o (was %03o)", - yystack.l_mark[-1], oldmask); + yystack.l_mark[-1].ival, oldmask); } } } break; case 38: -#line 399 "ftp.y" +#line 439 "ftp.y" { - if (yystack.l_mark[-5] && (yystack.l_mark[-1] != 0)) { - if (yystack.l_mark[-3] > 0777) + if (yystack.l_mark[-5].ival && (yystack.l_mark[-1].sval != 0)) { + if (yystack.l_mark[-3].ival > 0777) reply(501, "CHMOD: Mode value must be between 0 and 0777"); - else if (chmod((char *) yystack.l_mark[-1], yystack.l_mark[-3]) < 0) - perror_reply(550, (char *) yystack.l_mark[-1]); + else if (chmod((char *) yystack.l_mark[-1].sval, yystack.l_mark[-3].ival) < 0) + perror_reply(550, (char *) yystack.l_mark[-1].sval); else reply(200, "CHMOD command successful."); } - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 39: -#line 413 "ftp.y" +#line 453 "ftp.y" { reply(200, "Current IDLE time limit is %d seconds; max %d", @@ -1643,14 +1667,14 @@ case 39: } break; case 40: -#line 419 "ftp.y" +#line 459 "ftp.y" { - if (yystack.l_mark[-1] < 30 || yystack.l_mark[-1] > maxtimeout) { + if (yystack.l_mark[-1].ival < 30 || yystack.l_mark[-1].ival > maxtimeout) { reply(501, "Maximum IDLE time must be between 30 and %d seconds", maxtimeout); } else { - timeout = yystack.l_mark[-1]; + timeout = yystack.l_mark[-1].ival; (void) alarm((unsigned) timeout); reply(200, "Maximum IDLE time set to %d seconds", @@ -1659,16 +1683,16 @@ case 40: } break; case 41: -#line 433 "ftp.y" +#line 473 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - store((char *) yystack.l_mark[-1], "w", 1); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + store((char *) yystack.l_mark[-1].sval, "w", 1); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 42: -#line 440 "ftp.y" +#line 480 "ftp.y" { #ifdef unix #ifdef BSD @@ -1683,24 +1707,24 @@ case 42: } break; case 43: -#line 461 "ftp.y" +#line 501 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) - sizecmd((char *) yystack.l_mark[-1]); - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) + sizecmd((char *) yystack.l_mark[-1].sval); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 44: -#line 478 "ftp.y" +#line 518 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1] != 0) { + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval != 0) { struct stat stbuf; - if (stat((char *) yystack.l_mark[-1], &stbuf) < 0) - perror_reply(550, "%s", (char *) yystack.l_mark[-1]); + if (stat((char *) yystack.l_mark[-1].sval, &stbuf) < 0) + perror_reply(550, "%s", (char *) yystack.l_mark[-1].sval); else if ((stbuf.st_mode&S_IFMT) != S_IFREG) { reply(550, "%s: not a plain file.", - (char *) yystack.l_mark[-1]); + (char *) yystack.l_mark[-1].sval); } else { register struct tm *t; t = gmtime(&stbuf.st_mtime); @@ -1711,182 +1735,186 @@ case 44: t->tm_hour, t->tm_min, t->tm_sec); } } - if (yystack.l_mark[-1] != 0) - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-1].sval != 0) + free((char *) yystack.l_mark[-1].sval); } break; case 45: -#line 500 "ftp.y" +#line 540 "ftp.y" { reply(221, "Goodbye."); dologout(0); } break; case 46: -#line 505 "ftp.y" +#line 545 "ftp.y" { yyerrok; } break; case 47: -#line 510 "ftp.y" +#line 550 "ftp.y" { - if (yystack.l_mark[-3] && yystack.l_mark[-1]) { - fromname = renamefrom((char *) yystack.l_mark[-1]); - if (fromname == (char *) 0 && yystack.l_mark[-1]) { - free((char *) yystack.l_mark[-1]); + if (yystack.l_mark[-3].ival && yystack.l_mark[-1].sval) { + fromname = renamefrom((char *) yystack.l_mark[-1].sval); + if (fromname == (char *) 0 && yystack.l_mark[-1].sval) { + free((char *) yystack.l_mark[-1].sval); } } } break; case 49: -#line 524 "ftp.y" +#line 564 "ftp.y" { - *(const char **)(&(yyval)) = ""; + *(const char **)(&(yyval.sval)) = ""; } break; case 52: -#line 535 "ftp.y" +#line 575 "ftp.y" { register char *a, *p; a = (char *)&data_dest.sin_addr; - a[0] = yystack.l_mark[-10]; a[1] = yystack.l_mark[-8]; a[2] = yystack.l_mark[-6]; a[3] = yystack.l_mark[-4]; + a[0] = (char) yystack.l_mark[-10].ival; + a[1] = (char) yystack.l_mark[-8].ival; + a[2] = (char) yystack.l_mark[-6].ival; + a[3] = (char) yystack.l_mark[-4].ival; p = (char *)&data_dest.sin_port; - p[0] = yystack.l_mark[-2]; p[1] = yystack.l_mark[0]; + p[0] = (char) yystack.l_mark[-2].ival; + p[1] = (char) yystack.l_mark[0].ival; data_dest.sin_family = AF_INET; } break; case 53: -#line 547 "ftp.y" +#line 591 "ftp.y" { - yyval = FORM_N; + yyval.ival = FORM_N; } break; case 54: -#line 551 "ftp.y" +#line 595 "ftp.y" { - yyval = FORM_T; + yyval.ival = FORM_T; } break; case 55: -#line 555 "ftp.y" +#line 599 "ftp.y" { - yyval = FORM_C; + yyval.ival = FORM_C; } break; case 56: -#line 561 "ftp.y" +#line 605 "ftp.y" { cmd_type = TYPE_A; cmd_form = FORM_N; } break; case 57: -#line 566 "ftp.y" +#line 610 "ftp.y" { cmd_type = TYPE_A; - cmd_form = yystack.l_mark[0]; + cmd_form = yystack.l_mark[0].ival; } break; case 58: -#line 571 "ftp.y" +#line 615 "ftp.y" { cmd_type = TYPE_E; cmd_form = FORM_N; } break; case 59: -#line 576 "ftp.y" +#line 620 "ftp.y" { cmd_type = TYPE_E; - cmd_form = yystack.l_mark[0]; + cmd_form = yystack.l_mark[0].ival; } break; case 60: -#line 581 "ftp.y" +#line 625 "ftp.y" { cmd_type = TYPE_I; } break; case 61: -#line 585 "ftp.y" +#line 629 "ftp.y" { cmd_type = TYPE_L; cmd_bytesz = NBBY; } break; case 62: -#line 590 "ftp.y" +#line 634 "ftp.y" { cmd_type = TYPE_L; - cmd_bytesz = yystack.l_mark[0]; + cmd_bytesz = yystack.l_mark[0].ival; } break; case 63: -#line 596 "ftp.y" +#line 640 "ftp.y" { cmd_type = TYPE_L; - cmd_bytesz = yystack.l_mark[0]; + cmd_bytesz = yystack.l_mark[0].ival; } break; case 64: -#line 603 "ftp.y" +#line 647 "ftp.y" { - yyval = STRU_F; + yyval.ival = STRU_F; } break; case 65: -#line 607 "ftp.y" +#line 651 "ftp.y" { - yyval = STRU_R; + yyval.ival = STRU_R; } break; case 66: -#line 611 "ftp.y" +#line 655 "ftp.y" { - yyval = STRU_P; + yyval.ival = STRU_P; } break; case 67: -#line 617 "ftp.y" +#line 661 "ftp.y" { - yyval = MODE_S; + yyval.ival = MODE_S; } break; case 68: -#line 621 "ftp.y" +#line 665 "ftp.y" { - yyval = MODE_B; + yyval.ival = MODE_B; } break; case 69: -#line 625 "ftp.y" +#line 669 "ftp.y" { - yyval = MODE_C; + yyval.ival = MODE_C; } break; case 70: -#line 631 "ftp.y" +#line 675 "ftp.y" { /* * Problem: this production is used for all pathname * processing, but only gives a 550 error reply. * This is a valid reply in some cases but not in others. */ - if (logged_in && yystack.l_mark[0] && strncmp((char *) yystack.l_mark[0], "~", 1) == 0) { - *(char **)&(yyval) = *glob((char *) yystack.l_mark[0]); + if (logged_in && yystack.l_mark[0].sval && strncmp((char *) yystack.l_mark[0].sval, "~", 1) == 0) { + *(char **)&(yyval.sval) = *glob((char *) yystack.l_mark[0].sval); if (globerr != 0) { reply(550, globerr); - yyval = 0; + yyval.sval = 0; } - free((char *) yystack.l_mark[0]); + free((char *) yystack.l_mark[0].sval); } else - yyval = yystack.l_mark[0]; + yyval.sval = yystack.l_mark[0].sval; } break; case 72: -#line 653 "ftp.y" +#line 697 "ftp.y" { register int ret, dec, multby, digit; @@ -1894,7 +1922,7 @@ case 72: * Convert a number that was read as decimal number * to what it would be if it had been read as octal. */ - dec = yystack.l_mark[0]; + dec = yystack.l_mark[0].ival; multby = 1; ret = 0; while (dec) { @@ -1907,21 +1935,21 @@ case 72: multby *= 8; dec /= 10; } - yyval = ret; + yyval.ival = ret; } break; case 73: -#line 678 "ftp.y" +#line 722 "ftp.y" { if (logged_in) - yyval = 1; + yyval.ival = 1; else { reply(530, "Please login with USER and PASS."); - yyval = 0; + yyval.ival = 0; } } break; -#line 1922 "ftp.tab.c" +#line 1950 "ftp.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/ftp.tab.h b/external/bsd/byacc/dist/test/ftp.tab.h index d2197ab7a..38f98b3b9 100644 --- a/external/bsd/byacc/dist/test/ftp.tab.h +++ b/external/bsd/byacc/dist/test/ftp.tab.h @@ -1,22 +1,22 @@ -/* $NetBSD: ftp.tab.h,v 1.3 2011/09/10 21:29:04 christos Exp $ */ +/* $NetBSD: ftp.tab.h,v 1.4 2013/04/06 14:52:24 christos Exp $ */ -#define A 257 -#define B 258 -#define C 259 -#define E 260 -#define F 261 -#define I 262 -#define L 263 -#define N 264 -#define P 265 -#define R 266 -#define S 267 -#define T 268 -#define SP 269 -#define CRLF 270 -#define COMMA 271 -#define STRING 272 -#define NUMBER 273 +#define NUMBER 257 +#define STRING 258 +#define A 259 +#define B 260 +#define C 261 +#define E 262 +#define F 263 +#define I 264 +#define L 265 +#define N 266 +#define P 267 +#define R 268 +#define S 269 +#define T 270 +#define SP 271 +#define CRLF 272 +#define COMMA 273 #define USER 274 #define PASS 275 #define ACCT 276 @@ -63,3 +63,16 @@ #define IDLE 317 #define CHMOD 318 #define LEXERR 319 +#ifdef YYSTYPE +#undef YYSTYPE_IS_DECLARED +#define YYSTYPE_IS_DECLARED 1 +#endif +#ifndef YYSTYPE_IS_DECLARED +#define YYSTYPE_IS_DECLARED 1 +typedef union +{ + int ival; + char *sval; +} YYSTYPE; +#endif /* !YYSTYPE_IS_DECLARED */ +extern YYSTYPE ftp_lval; diff --git a/external/bsd/byacc/dist/test/ftp.y b/external/bsd/byacc/dist/test/ftp.y index f732f93c6..d6406c15c 100644 --- a/external/bsd/byacc/dist/test/ftp.y +++ b/external/bsd/byacc/dist/test/ftp.y @@ -1,4 +1,4 @@ -/* $NetBSD: ftp.y,v 1.4 2011/09/10 21:29:04 christos Exp $ */ +/* $NetBSD: ftp.y,v 1.5 2013/04/06 14:52:24 christos Exp $ */ /* * Copyright (c) 1985, 1988 Regents of the University of California. @@ -17,7 +17,7 @@ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * from: @(#)ftpcmd.y 5.20.1.1 (Berkeley) 3/2/89 - * $NetBSD: ftp.y,v 1.4 2011/09/10 21:29:04 christos Exp $ + * $NetBSD: ftp.y,v 1.5 2013/04/06 14:52:24 christos Exp $ */ /* @@ -29,7 +29,7 @@ #ifndef lint static char sccsid[] = "@(#)ftpcmd.y 5.20.1.1 (Berkeley) 3/2/89"; -static char rcsid[] = "$NetBSD: ftp.y,v 1.4 2011/09/10 21:29:04 christos Exp $"; +static char rcsid[] = "$NetBSD: ftp.y,v 1.5 2013/04/06 14:52:24 christos Exp $"; #endif /* not lint */ #include @@ -52,6 +52,11 @@ static char rcsid[] = "$NetBSD: ftp.y,v 1.4 2011/09/10 21:29:04 christos Exp $"; #include #include +#ifdef YYBISON +int yylex(void); +static void yyerror(const char *); +#endif + extern struct sockaddr_in data_dest; extern int logged_in; extern struct passwd *pw; @@ -100,10 +105,23 @@ static int cmd_bytesz; char cbuf[512]; char *fromname; - +struct tab { + const char *name; + short token; + short state; + short implemented; /* 1 if command is implemented */ + const char *help; +}; static char * copy(const char *); +#ifdef YYBISON +static void sizecmd(char *filename); +static void help(struct tab *ctab, char *s); +struct tab cmdtab[]; +struct tab sitetab[]; +#endif + static void yyerror(const char *msg) { @@ -111,6 +129,28 @@ yyerror(const char *msg) } %} +%union +{ + int ival; + char *sval; +} +%token NUMBER +%token STRING + +%type + byte_size + check_login + form_code + mode_code + octal_number + struct_code + +%type + password + pathname + pathstring + username + %token A B C E F I L N P R S T @@ -135,24 +175,24 @@ yyerror(const char *msg) cmd_list: /* empty */ | cmd_list cmd - = { + { fromname = (char *) 0; } | cmd_list rcmd ; cmd: USER SP username CRLF - = { - user((char *) $3); - free((char *) $3); + { + user($3); + free($3); } | PASS SP password CRLF - = { - pass((char *) $3); - free((char *) $3); + { + pass($3); + free($3); } | PORT SP host_port CRLF - = { + { usedefault = 0; if (pdata >= 0) { (void) close(pdata); @@ -161,11 +201,11 @@ cmd: USER SP username CRLF reply(200, "PORT command successful."); } | PASV CRLF - = { + { passive(); } | TYPE SP type_code CRLF - = { + { switch (cmd_type) { case TYPE_A: @@ -200,7 +240,7 @@ cmd: USER SP username CRLF } } | STRU SP struct_code CRLF - = { + { switch ($3) { case STRU_F: @@ -212,7 +252,7 @@ cmd: USER SP username CRLF } } | MODE SP mode_code CRLF - = { + { switch ($3) { case MODE_S: @@ -224,78 +264,78 @@ cmd: USER SP username CRLF } } | ALLO SP NUMBER CRLF - = { + { reply(202, "ALLO command ignored."); } | ALLO SP NUMBER SP R SP NUMBER CRLF - = { + { reply(202, "ALLO command ignored."); } | RETR check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) - retrieve((char *) 0, (char *) $4); + retrieve((char *) 0, $4); if ($4 != 0) - free((char *) $4); + free($4); } | STOR check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) - store((char *) $4, "w", 0); + store($4, "w", 0); if ($4 != 0) - free((char *) $4); + free($4); } | APPE check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) - store((char *) $4, "a", 0); + store($4, "a", 0); if ($4 != 0) - free((char *) $4); + free($4); } | NLST check_login CRLF - = { + { if ($2) send_file_list("."); } | NLST check_login SP STRING CRLF - = { + { if ($2 && $4 != 0) send_file_list((char *) $4); if ($4 != 0) free((char *) $4); } | LIST check_login CRLF - = { + { if ($2) retrieve("/bin/ls -lgA", ""); } | LIST check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) - retrieve("/bin/ls -lgA %s", (char *) $4); + retrieve("/bin/ls -lgA %s", $4); if ($4 != 0) - free((char *) $4); + free($4); } | STAT check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) - statfilecmd((char *) $4); + statfilecmd($4); if ($4 != 0) - free((char *) $4); + free($4); } | STAT CRLF - = { + { statcmd(); } | DELE check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) remove((char *) $4); if ($4 != 0) free((char *) $4); } | RNTO SP pathname CRLF - = { + { if (fromname) { renamecmd(fromname, (char *) $3); free(fromname); @@ -306,27 +346,27 @@ cmd: USER SP username CRLF free((char *) $3); } | ABOR CRLF - = { + { reply(225, "ABOR command successful."); } | CWD check_login CRLF - = { + { if ($2) cwd(pw->pw_dir); } | CWD check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) cwd((char *) $4); if ($4 != 0) free((char *) $4); } | HELP CRLF - = { + { help(cmdtab, (char *) 0); } | HELP SP STRING CRLF - = { + { register char *cp = (char *)$3; if (strncasecmp(cp, "SITE", 4) == 0) { @@ -341,43 +381,43 @@ cmd: USER SP username CRLF help(cmdtab, (char *) $3); } | NOOP CRLF - = { + { reply(200, "NOOP command successful."); } | MKD check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) makedir((char *) $4); if ($4 != 0) free((char *) $4); } | RMD check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) removedir((char *) $4); if ($4 != 0) free((char *) $4); } | PWD check_login CRLF - = { + { if ($2) pwd(); } | CDUP check_login CRLF - = { + { if ($2) cwd(".."); } | SITE SP HELP CRLF - = { + { help(sitetab, (char *) 0); } | SITE SP HELP SP STRING CRLF - = { + { help(sitetab, (char *) $5); } | SITE SP UMASK check_login CRLF - = { + { int oldmask; if ($4) { @@ -387,7 +427,7 @@ cmd: USER SP username CRLF } } | SITE SP UMASK check_login SP octal_number CRLF - = { + { int oldmask; if ($4) { @@ -402,7 +442,7 @@ cmd: USER SP username CRLF } } | SITE SP CHMOD check_login SP octal_number SP pathname CRLF - = { + { if ($4 && ($8 != 0)) { if ($6 > 0777) reply(501, @@ -416,13 +456,13 @@ cmd: USER SP username CRLF free((char *) $8); } | SITE SP IDLE CRLF - = { + { reply(200, "Current IDLE time limit is %d seconds; max %d", timeout, maxtimeout); } | SITE SP IDLE SP NUMBER CRLF - = { + { if ($5 < 30 || $5 > maxtimeout) { reply(501, "Maximum IDLE time must be between 30 and %d seconds", @@ -436,14 +476,14 @@ cmd: USER SP username CRLF } } | STOU check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) store((char *) $4, "w", 1); if ($4 != 0) free((char *) $4); } | SYST CRLF - = { + { #ifdef unix #ifdef BSD reply(215, "UNIX Type: L%d Version: BSD-%d", @@ -464,7 +504,7 @@ cmd: USER SP username CRLF * using with RESTART (we just count bytes). */ | SIZE check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) sizecmd((char *) $4); if ($4 != 0) @@ -481,7 +521,7 @@ cmd: USER SP username CRLF * not necessarily 3 digits) */ | MDTM check_login SP pathname CRLF - = { + { if ($2 && $4 != 0) { struct stat stbuf; if (stat((char *) $4, &stbuf) < 0) @@ -503,17 +543,17 @@ cmd: USER SP username CRLF free((char *) $4); } | QUIT CRLF - = { + { reply(221, "Goodbye."); dologout(0); } | error CRLF - = { + { yyerrok; } ; rcmd: RNFR check_login SP pathname CRLF - = { + { if ($2 && $4) { fromname = renamefrom((char *) $4); if (fromname == (char *) 0 && $4) { @@ -527,7 +567,7 @@ username: STRING ; password: /* empty */ - = { + { *(const char **)(&($$)) = ""; } | STRING @@ -538,103 +578,107 @@ byte_size: NUMBER host_port: NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER - = { + { register char *a, *p; a = (char *)&data_dest.sin_addr; - a[0] = $1; a[1] = $3; a[2] = $5; a[3] = $7; + a[0] = (char) $1; + a[1] = (char) $3; + a[2] = (char) $5; + a[3] = (char) $7; p = (char *)&data_dest.sin_port; - p[0] = $9; p[1] = $11; + p[0] = (char) $9; + p[1] = (char) $11; data_dest.sin_family = AF_INET; } ; form_code: N - = { + { $$ = FORM_N; } | T - = { + { $$ = FORM_T; } | C - = { + { $$ = FORM_C; } ; type_code: A - = { + { cmd_type = TYPE_A; cmd_form = FORM_N; } | A SP form_code - = { + { cmd_type = TYPE_A; cmd_form = $3; } | E - = { + { cmd_type = TYPE_E; cmd_form = FORM_N; } | E SP form_code - = { + { cmd_type = TYPE_E; cmd_form = $3; } | I - = { + { cmd_type = TYPE_I; } | L - = { + { cmd_type = TYPE_L; cmd_bytesz = NBBY; } | L SP byte_size - = { + { cmd_type = TYPE_L; cmd_bytesz = $3; } /* this is for a bug in the BBN ftp */ | L byte_size - = { + { cmd_type = TYPE_L; cmd_bytesz = $2; } ; struct_code: F - = { + { $$ = STRU_F; } | R - = { + { $$ = STRU_R; } | P - = { + { $$ = STRU_P; } ; mode_code: S - = { + { $$ = MODE_S; } | B - = { + { $$ = MODE_B; } | C - = { + { $$ = MODE_C; } ; pathname: pathstring - = { + { /* * Problem: this production is used for all pathname * processing, but only gives a 550 error reply. @@ -656,7 +700,7 @@ pathstring: STRING ; octal_number: NUMBER - = { + { register int ret, dec, multby, digit; /* @@ -681,7 +725,7 @@ octal_number: NUMBER ; check_login: /* empty */ - = { + { if (logged_in) $$ = 1; else { @@ -695,7 +739,6 @@ check_login: /* empty */ #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif extern jmp_buf errcatch; @@ -712,14 +755,6 @@ static void upper(char *); #define SITECMD 7 /* SITE command */ #define NSTR 8 /* Number followed by a string */ -struct tab { - const char *name; - short token; - short state; - short implemented; /* 1 if command is implemented */ - const char *help; -}; - struct tab cmdtab[] = { /* In order defined in RFC 765 */ { "USER", USER, STR1, 1, " username" }, { "PASS", PASS, ZSTR1, 1, " password" }, @@ -839,7 +874,7 @@ get_line(char *s, int n, FILE *iop) } } } - *cs++ = c; + *cs++ = (char) c; if (--n <= 0 || c == '\n') break; } @@ -897,7 +932,7 @@ yylex(void) *cp = '\0'; } if ((cp = strpbrk(cbuf, " \n"))) - cpos = cp - cbuf; + cpos = (int) (cp - cbuf); if (cpos == 0) cpos = 4; c = cbuf[cpos]; @@ -924,7 +959,7 @@ yylex(void) } cp = &cbuf[cpos]; if ((cp2 = strpbrk(cp, " \n"))) - cpos = cp2 - cbuf; + cpos = (int) (cp2 - cbuf); c = cbuf[cpos]; cbuf[cpos] = '\0'; upper(cp); @@ -973,7 +1008,7 @@ yylex(void) case STR2: cp = &cbuf[cpos]; - n = strlen(cp); + n = (int) strlen(cp); cpos += n - 1; /* * Make sure the string is nonempty and \n terminated. @@ -998,7 +1033,7 @@ yylex(void) ; c = cbuf[cpos]; cbuf[cpos] = '\0'; - yylval = atoi(cp); + yylval.ival = atoi(cp); cbuf[cpos] = c; state = STR1; return (NUMBER); @@ -1013,7 +1048,7 @@ yylex(void) ; c = cbuf[cpos]; cbuf[cpos] = '\0'; - yylval = atoi(cp); + yylval.ival = atoi(cp); cbuf[cpos] = c; return (NUMBER); } @@ -1125,7 +1160,7 @@ help(struct tab *ctab, char *s) help_type = ""; width = 0, NCMDS = 0; for (c = ctab; c->name != 0; c++) { - int len = strlen(c->name); + int len = (int) strlen(c->name); if (len > width) width = len; @@ -1151,7 +1186,7 @@ help(struct tab *ctab, char *s) c->implemented ? ' ' : '*'); if (c + lines >= &ctab[NCMDS]) break; - w = strlen(c->name) + 1; + w = (int) strlen(c->name) + 1; while (w < width) { putchar(' '); w++; diff --git a/external/bsd/byacc/dist/test/grammar.tab.c b/external/bsd/byacc/dist/test/grammar.tab.c index 75f452e06..67c788b17 100644 --- a/external/bsd/byacc/dist/test/grammar.tab.c +++ b/external/bsd/byacc/dist/test/grammar.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: grammar.tab.c,v 1.1.1.4 2011/09/10 21:22:10 christos Exp $ */ +/* $NetBSD: grammar.tab.c,v 1.1.1.5 2013/04/06 14:45:29 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -97,7 +97,17 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; #define YYPURE 0 -#line 69 "grammar.y" +#line 9 "grammar.y" +#ifdef YYBISON +#include +#define YYSTYPE_IS_DECLARED +#define yyerror yaccError +#endif + +#if defined(YYBISON) || !defined(YYBYACC) +static void yyerror(const char *s); +#endif +#line 81 "grammar.y" #include #include #include @@ -300,8 +310,6 @@ extern boolean file_comments; extern FuncDefStyle func_style; extern char base_file[]; -#define YYMAXDEPTH 150 - extern int yylex (void); /* declaration specifier attributes for the typedef statement currently being @@ -376,7 +384,7 @@ haveAnsiParam (void) } return FALSE; } -#line 378 "grammar.tab.c" +#line 386 "grammar.tab.c" /* compatibility with bison */ #ifdef YYPARSE_PARAM @@ -400,8 +408,12 @@ haveAnsiParam (void) #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -900,7 +912,7 @@ typedef struct { } YYSTACKDATA; /* variables for the parser stack */ static YYSTACKDATA yystack; -#line 1004 "grammar.y" +#line 1014 "grammar.y" /* lex.yy.c */ #define BEGIN yy_start = 1 + 2 * @@ -1071,7 +1083,7 @@ free_parser(void) #endif } #endif -#line 1073 "grammar.tab.c" +#line 1085 "grammar.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -1095,7 +1107,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -1278,19 +1290,19 @@ yyreduce: switch (yyn) { case 10: -#line 367 "grammar.y" +#line 377 "grammar.y" { yyerrok; } break; case 11: -#line 371 "grammar.y" +#line 381 "grammar.y" { yyerrok; } break; case 13: -#line 382 "grammar.y" +#line 392 "grammar.y" { /* Provide an empty action here so bison will not complain about * incompatible types in the default action it normally would @@ -1299,13 +1311,13 @@ case 13: } break; case 14: -#line 389 "grammar.y" +#line 399 "grammar.y" { /* empty */ } break; case 15: -#line 396 "grammar.y" +#line 406 "grammar.y" { #if OPT_LINTLIBRARY if (types_out && want_typedef()) { @@ -1318,7 +1330,7 @@ case 15: } break; case 16: -#line 407 "grammar.y" +#line 417 "grammar.y" { if (func_params != NULL) { set_param_types(func_params, &yystack.l_mark[-2].decl_spec, &yystack.l_mark[-1].decl_list); @@ -1334,32 +1346,32 @@ case 16: } break; case 17: -#line 421 "grammar.y" +#line 431 "grammar.y" { cur_decl_spec_flags = yystack.l_mark[0].decl_spec.flags; free_decl_spec(&yystack.l_mark[0].decl_spec); } break; case 18: -#line 426 "grammar.y" +#line 436 "grammar.y" { end_typedef(); } break; case 19: -#line 433 "grammar.y" +#line 443 "grammar.y" { begin_typedef(); } break; case 20: -#line 437 "grammar.y" +#line 447 "grammar.y" { begin_typedef(); } break; case 23: -#line 449 "grammar.y" +#line 459 "grammar.y" { int flags = cur_decl_spec_flags; @@ -1373,7 +1385,7 @@ case 23: } break; case 24: -#line 461 "grammar.y" +#line 471 "grammar.y" { int flags = cur_decl_spec_flags; @@ -1384,7 +1396,7 @@ case 24: } break; case 25: -#line 473 "grammar.y" +#line 483 "grammar.y" { check_untagged(&yystack.l_mark[-1].decl_spec); if (yystack.l_mark[0].declarator->func_def == FUNC_NONE) { @@ -1397,7 +1409,7 @@ case 25: } break; case 26: -#line 484 "grammar.y" +#line 494 "grammar.y" { /* If we're converting to K&R and we've got a nominally K&R * function which has a parameter which is ANSI (i.e., a prototyped @@ -1423,7 +1435,7 @@ case 26: } break; case 28: -#line 509 "grammar.y" +#line 519 "grammar.y" { if (yystack.l_mark[0].declarator->func_def == FUNC_NONE) { yyerror("syntax error"); @@ -1435,7 +1447,7 @@ case 28: } break; case 29: -#line 519 "grammar.y" +#line 529 "grammar.y" { DeclSpec decl_spec; @@ -1453,7 +1465,7 @@ case 29: } break; case 36: -#line 550 "grammar.y" +#line 560 "grammar.y" { join_decl_specs(&yyval.decl_spec, &yystack.l_mark[-1].decl_spec, &yystack.l_mark[0].decl_spec); free(yystack.l_mark[-1].decl_spec.text); @@ -1461,115 +1473,115 @@ case 36: } break; case 40: -#line 565 "grammar.y" +#line 575 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 41: -#line 569 "grammar.y" +#line 579 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_EXTERN); } break; case 42: -#line 573 "grammar.y" +#line 583 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 43: -#line 577 "grammar.y" +#line 587 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_STATIC); } break; case 44: -#line 581 "grammar.y" +#line 591 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_INLINE); } break; case 45: -#line 585 "grammar.y" +#line 595 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_JUNK); } break; case 46: -#line 592 "grammar.y" +#line 602 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_CHAR); } break; case 47: -#line 596 "grammar.y" +#line 606 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 48: -#line 600 "grammar.y" +#line 610 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_FLOAT); } break; case 49: -#line 604 "grammar.y" +#line 614 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 50: -#line 608 "grammar.y" +#line 618 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 51: -#line 612 "grammar.y" +#line 622 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_SHORT); } break; case 52: -#line 616 "grammar.y" +#line 626 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 53: -#line 620 "grammar.y" +#line 630 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 54: -#line 624 "grammar.y" +#line 634 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 55: -#line 628 "grammar.y" +#line 638 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_CHAR); } break; case 56: -#line 632 "grammar.y" +#line 642 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 57: -#line 636 "grammar.y" +#line 646 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 58: -#line 640 "grammar.y" +#line 650 "grammar.y" { Symbol *s; s = find_symbol(typedef_names, yystack.l_mark[0].text.text); @@ -1578,13 +1590,13 @@ case 58: } break; case 61: -#line 652 "grammar.y" +#line 662 "grammar.y" { new_decl_spec(&yyval.decl_spec, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin, DS_NONE); } break; case 62: -#line 656 "grammar.y" +#line 666 "grammar.y" { /* This rule allows the nonterminal to scan #define * names as if they were type modifiers. @@ -1596,7 +1608,7 @@ case 62: } break; case 63: -#line 669 "grammar.y" +#line 679 "grammar.y" { char *s; if ((s = implied_typedef()) == 0) @@ -1605,7 +1617,7 @@ case 63: } break; case 64: -#line 676 "grammar.y" +#line 686 "grammar.y" { char *s; if ((s = implied_typedef()) == 0) @@ -1614,38 +1626,38 @@ case 64: } break; case 65: -#line 683 "grammar.y" +#line 693 "grammar.y" { (void)sprintf(buf, "%s %s", yystack.l_mark[-1].text.text, yystack.l_mark[0].text.text); new_decl_spec(&yyval.decl_spec, buf, yystack.l_mark[-1].text.begin, DS_NONE); } break; case 66: -#line 691 "grammar.y" +#line 701 "grammar.y" { imply_typedef(yyval.text.text); } break; case 67: -#line 695 "grammar.y" +#line 705 "grammar.y" { imply_typedef(yyval.text.text); } break; case 68: -#line 702 "grammar.y" +#line 712 "grammar.y" { new_decl_list(&yyval.decl_list, yystack.l_mark[0].declarator); } break; case 69: -#line 706 "grammar.y" +#line 716 "grammar.y" { add_decl_list(&yyval.decl_list, &yystack.l_mark[-2].decl_list, yystack.l_mark[0].declarator); } break; case 70: -#line 713 "grammar.y" +#line 723 "grammar.y" { if (yystack.l_mark[0].declarator->func_def != FUNC_NONE && func_params == NULL && func_style == FUNC_TRADITIONAL && cur_file->convert) { @@ -1656,7 +1668,7 @@ case 70: } break; case 71: -#line 722 "grammar.y" +#line 732 "grammar.y" { if (yystack.l_mark[-1].declarator->func_def != FUNC_NONE && func_params == NULL && func_style == FUNC_TRADITIONAL && cur_file->convert) { @@ -1666,7 +1678,7 @@ case 71: } break; case 73: -#line 734 "grammar.y" +#line 744 "grammar.y" { char *s; if ((s = implied_typedef()) == 0) @@ -1675,7 +1687,7 @@ case 73: } break; case 74: -#line 741 "grammar.y" +#line 751 "grammar.y" { char *s; if ((s = implied_typedef()) == 0) @@ -1684,21 +1696,21 @@ case 74: } break; case 75: -#line 748 "grammar.y" +#line 758 "grammar.y" { (void)sprintf(buf, "enum %s", yystack.l_mark[0].text.text); new_decl_spec(&yyval.decl_spec, buf, yystack.l_mark[-1].text.begin, DS_NONE); } break; case 76: -#line 756 "grammar.y" +#line 766 "grammar.y" { imply_typedef("enum"); yyval.text = yystack.l_mark[0].text; } break; case 79: -#line 769 "grammar.y" +#line 779 "grammar.y" { yyval.declarator = yystack.l_mark[0].declarator; (void)sprintf(buf, "%s%s", yystack.l_mark[-1].text.text, yyval.declarator->text); @@ -1709,13 +1721,13 @@ case 79: } break; case 81: -#line 782 "grammar.y" +#line 792 "grammar.y" { yyval.declarator = new_declarator(yystack.l_mark[0].text.text, yystack.l_mark[0].text.text, yystack.l_mark[0].text.begin); } break; case 82: -#line 786 "grammar.y" +#line 796 "grammar.y" { yyval.declarator = yystack.l_mark[-1].declarator; (void)sprintf(buf, "(%s)", yyval.declarator->text); @@ -1725,7 +1737,7 @@ case 82: } break; case 83: -#line 794 "grammar.y" +#line 804 "grammar.y" { yyval.declarator = yystack.l_mark[-1].declarator; (void)sprintf(buf, "%s%s", yyval.declarator->text, yystack.l_mark[0].text.text); @@ -1734,7 +1746,7 @@ case 83: } break; case 84: -#line 801 "grammar.y" +#line 811 "grammar.y" { yyval.declarator = new_declarator("%s()", yystack.l_mark[-3].declarator->name, yystack.l_mark[-3].declarator->begin); yyval.declarator->params = yystack.l_mark[-1].param_list; @@ -1744,7 +1756,7 @@ case 84: } break; case 85: -#line 809 "grammar.y" +#line 819 "grammar.y" { yyval.declarator = new_declarator("%s()", yystack.l_mark[-3].declarator->name, yystack.l_mark[-3].declarator->begin); yyval.declarator->params = yystack.l_mark[-1].param_list; @@ -1754,28 +1766,28 @@ case 85: } break; case 86: -#line 820 "grammar.y" +#line 830 "grammar.y" { (void)sprintf(yyval.text.text, "*%s", yystack.l_mark[0].text.text); yyval.text.begin = yystack.l_mark[-1].text.begin; } break; case 87: -#line 825 "grammar.y" +#line 835 "grammar.y" { (void)sprintf(yyval.text.text, "*%s%s", yystack.l_mark[-1].text.text, yystack.l_mark[0].text.text); yyval.text.begin = yystack.l_mark[-2].text.begin; } break; case 88: -#line 833 "grammar.y" +#line 843 "grammar.y" { strcpy(yyval.text.text, ""); yyval.text.begin = 0L; } break; case 90: -#line 842 "grammar.y" +#line 852 "grammar.y" { (void)sprintf(yyval.text.text, "%s ", yystack.l_mark[0].decl_spec.text); yyval.text.begin = yystack.l_mark[0].decl_spec.begin; @@ -1783,7 +1795,7 @@ case 90: } break; case 91: -#line 848 "grammar.y" +#line 858 "grammar.y" { (void)sprintf(yyval.text.text, "%s%s ", yystack.l_mark[-1].text.text, yystack.l_mark[0].decl_spec.text); yyval.text.begin = yystack.l_mark[-1].text.begin; @@ -1791,71 +1803,71 @@ case 91: } break; case 93: -#line 858 "grammar.y" +#line 868 "grammar.y" { add_ident_list(&yyval.param_list, &yystack.l_mark[-2].param_list, "..."); } break; case 94: -#line 865 "grammar.y" +#line 875 "grammar.y" { new_param_list(&yyval.param_list, yystack.l_mark[0].parameter); } break; case 95: -#line 869 "grammar.y" +#line 879 "grammar.y" { add_param_list(&yyval.param_list, &yystack.l_mark[-2].param_list, yystack.l_mark[0].parameter); } break; case 96: -#line 876 "grammar.y" +#line 886 "grammar.y" { check_untagged(&yystack.l_mark[-1].decl_spec); yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator); } break; case 97: -#line 881 "grammar.y" +#line 891 "grammar.y" { check_untagged(&yystack.l_mark[-1].decl_spec); yyval.parameter = new_parameter(&yystack.l_mark[-1].decl_spec, yystack.l_mark[0].declarator); } break; case 98: -#line 886 "grammar.y" +#line 896 "grammar.y" { check_untagged(&yystack.l_mark[0].decl_spec); yyval.parameter = new_parameter(&yystack.l_mark[0].decl_spec, (Declarator *)0); } break; case 99: -#line 894 "grammar.y" +#line 904 "grammar.y" { new_ident_list(&yyval.param_list); } break; case 101: -#line 902 "grammar.y" +#line 912 "grammar.y" { new_ident_list(&yyval.param_list); add_ident_list(&yyval.param_list, &yyval.param_list, yystack.l_mark[0].text.text); } break; case 102: -#line 907 "grammar.y" +#line 917 "grammar.y" { add_ident_list(&yyval.param_list, &yystack.l_mark[-2].param_list, yystack.l_mark[0].text.text); } break; case 103: -#line 914 "grammar.y" +#line 924 "grammar.y" { yyval.text = yystack.l_mark[0].text; } break; case 104: -#line 918 "grammar.y" +#line 928 "grammar.y" { #if OPT_LINTLIBRARY if (lintLibrary()) { /* Lint doesn't grok C++ ref variables */ @@ -1867,13 +1879,13 @@ case 104: } break; case 105: -#line 931 "grammar.y" +#line 941 "grammar.y" { yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin); } break; case 106: -#line 935 "grammar.y" +#line 945 "grammar.y" { yyval.declarator = yystack.l_mark[0].declarator; (void)sprintf(buf, "%s%s", yystack.l_mark[-1].text.text, yyval.declarator->text); @@ -1883,7 +1895,7 @@ case 106: } break; case 108: -#line 947 "grammar.y" +#line 957 "grammar.y" { yyval.declarator = yystack.l_mark[-1].declarator; (void)sprintf(buf, "(%s)", yyval.declarator->text); @@ -1893,7 +1905,7 @@ case 108: } break; case 109: -#line 955 "grammar.y" +#line 965 "grammar.y" { yyval.declarator = yystack.l_mark[-1].declarator; (void)sprintf(buf, "%s%s", yyval.declarator->text, yystack.l_mark[0].text.text); @@ -1902,13 +1914,13 @@ case 109: } break; case 110: -#line 962 "grammar.y" +#line 972 "grammar.y" { yyval.declarator = new_declarator(yystack.l_mark[0].text.text, "", yystack.l_mark[0].text.begin); } break; case 111: -#line 966 "grammar.y" +#line 976 "grammar.y" { yyval.declarator = new_declarator("%s()", "", yystack.l_mark[-3].declarator->begin); yyval.declarator->params = yystack.l_mark[-1].param_list; @@ -1918,7 +1930,7 @@ case 111: } break; case 112: -#line 974 "grammar.y" +#line 984 "grammar.y" { yyval.declarator = new_declarator("%s()", "", yystack.l_mark[-2].declarator->begin); yyval.declarator->func_stack = yystack.l_mark[-2].declarator; @@ -1927,7 +1939,7 @@ case 112: } break; case 113: -#line 981 "grammar.y" +#line 991 "grammar.y" { Declarator *d; @@ -1940,7 +1952,7 @@ case 113: } break; case 114: -#line 992 "grammar.y" +#line 1002 "grammar.y" { Declarator *d; @@ -1951,7 +1963,7 @@ case 114: yyval.declarator->func_def = FUNC_ANSI; } break; -#line 1953 "grammar.tab.c" +#line 1965 "grammar.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/grammar.y b/external/bsd/byacc/dist/test/grammar.y index 8de6b2a78..a86379865 100644 --- a/external/bsd/byacc/dist/test/grammar.y +++ b/external/bsd/byacc/dist/test/grammar.y @@ -1,12 +1,24 @@ -/* $NetBSD: grammar.y,v 1.1.1.4 2011/09/10 21:22:07 christos Exp $ */ +/* $NetBSD: grammar.y,v 1.1.1.5 2013/04/06 14:45:27 christos Exp $ */ -/* Id: grammar.y,v 1.3 2010/11/23 01:28:47 tom Exp +/* Id: grammar.y,v 1.5 2012/01/15 20:00:59 tom Exp * * yacc grammar for C function prototype generator * This was derived from the grammar in Appendix A of * "The C Programming Language" by Kernighan and Ritchie. */ %expect 1 +%{ +#ifdef YYBISON +#include +#define YYSTYPE_IS_DECLARED +#define yyerror yaccError +#endif + +#if defined(YYBISON) || !defined(YYBYACC) +static void yyerror(const char *s); +#endif +%} + %token '(' '*' '&' /* identifiers that are not reserved words */ T_IDENTIFIER T_TYPEDEF_NAME T_DEFINE_NAME @@ -270,8 +282,6 @@ extern boolean file_comments; extern FuncDefStyle func_style; extern char base_file[]; -#define YYMAXDEPTH 150 - extern int yylex (void); /* declaration specifier attributes for the typedef statement currently being diff --git a/external/bsd/byacc/dist/test/pure_calc.tab.c b/external/bsd/byacc/dist/test/pure_calc.tab.c index 9043a7651..0d7b06d73 100644 --- a/external/bsd/byacc/dist/test/pure_calc.tab.c +++ b/external/bsd/byacc/dist/test/pure_calc.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: pure_calc.tab.c,v 1.1.1.3 2011/09/10 21:22:03 christos Exp $ */ +/* $NetBSD: pure_calc.tab.c,v 1.1.1.4 2013/04/06 14:45:28 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -104,7 +104,16 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; int regs[26]; int base; -#line 106 "pure_calc.tab.c" +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM &yylval +#define YYLEX_DECL() yylex(YYSTYPE *yylval) +#define YYERROR_DECL() yyerror(const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + +#line 115 "pure_calc.tab.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -124,7 +133,11 @@ typedef int YYSTYPE; /* Parameters sent to lex. */ #ifdef YYLEX_PARAM -# define YYLEX_DECL() yylex(YYSTYPE *yylval, void *YYLEX_PARAM) +# ifdef YYLEX_PARAM_TYPE +# define YYLEX_DECL() yylex(YYSTYPE *yylval, YYLEX_PARAM_TYPE YYLEX_PARAM) +# else +# define YYLEX_DECL() yylex(YYSTYPE *yylval, void * YYLEX_PARAM) +# endif # define YYLEX yylex(&yylval, YYLEX_PARAM) #else # define YYLEX_DECL() yylex(YYSTYPE *yylval) @@ -132,8 +145,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -289,12 +306,11 @@ typedef struct { YYSTYPE *l_base; YYSTYPE *l_mark; } YYSTACKDATA; -#line 63 "pure_calc.y" +#line 72 "pure_calc.y" /* start of programs */ #ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); +static int YYLEX_DECL(); #endif int @@ -307,13 +323,13 @@ main (void) } static void -yyerror(const char *s) +YYERROR_DECL() { fprintf(stderr, "%s\n", s); } int -yylex(YYSTYPE *value) +YYLEX_DECL() { /* lexical analysis routine */ /* returns LETTER for a lower case letter, yylval = 0 through 25 */ @@ -327,16 +343,16 @@ yylex(YYSTYPE *value) /* c is now nonblank */ if( islower( c )) { - *value = c - 'a'; + *yylval = c - 'a'; return ( LETTER ); } if( isdigit( c )) { - *value = c - '0'; + *yylval = c - '0'; return ( DIGIT ); } return( c ); } -#line 338 "pure_calc.tab.c" +#line 354 "pure_calc.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -360,7 +376,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; @@ -550,66 +566,66 @@ yyreduce: switch (yyn) { case 3: -#line 25 "pure_calc.y" +#line 34 "pure_calc.y" { yyerrok ; } break; case 4: -#line 29 "pure_calc.y" +#line 38 "pure_calc.y" { printf("%d\n",yystack.l_mark[0]);} break; case 5: -#line 31 "pure_calc.y" +#line 40 "pure_calc.y" { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } break; case 6: -#line 35 "pure_calc.y" +#line 44 "pure_calc.y" { yyval = yystack.l_mark[-1]; } break; case 7: -#line 37 "pure_calc.y" +#line 46 "pure_calc.y" { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } break; case 8: -#line 39 "pure_calc.y" +#line 48 "pure_calc.y" { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } break; case 9: -#line 41 "pure_calc.y" +#line 50 "pure_calc.y" { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } break; case 10: -#line 43 "pure_calc.y" +#line 52 "pure_calc.y" { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } break; case 11: -#line 45 "pure_calc.y" +#line 54 "pure_calc.y" { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } break; case 12: -#line 47 "pure_calc.y" +#line 56 "pure_calc.y" { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } break; case 13: -#line 49 "pure_calc.y" +#line 58 "pure_calc.y" { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } break; case 14: -#line 51 "pure_calc.y" +#line 60 "pure_calc.y" { yyval = - yystack.l_mark[0]; } break; case 15: -#line 53 "pure_calc.y" +#line 62 "pure_calc.y" { yyval = regs[yystack.l_mark[0]]; } break; case 17: -#line 58 "pure_calc.y" +#line 67 "pure_calc.y" { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } break; case 18: -#line 60 "pure_calc.y" +#line 69 "pure_calc.y" { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } break; -#line 611 "pure_calc.tab.c" +#line 627 "pure_calc.tab.c" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/external/bsd/byacc/dist/test/pure_calc.y b/external/bsd/byacc/dist/test/pure_calc.y index 28d999b18..4072726c4 100644 --- a/external/bsd/byacc/dist/test/pure_calc.y +++ b/external/bsd/byacc/dist/test/pure_calc.y @@ -1,4 +1,4 @@ -/* $NetBSD: pure_calc.y,v 1.1.1.3 2011/09/10 21:22:10 christos Exp $ */ +/* $NetBSD: pure_calc.y,v 1.1.1.4 2013/04/06 14:45:27 christos Exp $ */ %{ # include @@ -7,6 +7,15 @@ int regs[26]; int base; +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM &yylval +#define YYLEX_DECL() yylex(YYSTYPE *yylval) +#define YYERROR_DECL() yyerror(const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + %} %start list @@ -65,8 +74,7 @@ number: DIGIT %% /* start of programs */ #ifdef YYBYACC -extern int YYLEX_DECL(); -static void YYERROR_DECL(); +static int YYLEX_DECL(); #endif int @@ -79,13 +87,13 @@ main (void) } static void -yyerror(const char *s) +YYERROR_DECL() { fprintf(stderr, "%s\n", s); } int -yylex(YYSTYPE *value) +YYLEX_DECL() { /* lexical analysis routine */ /* returns LETTER for a lower case letter, yylval = 0 through 25 */ @@ -99,11 +107,11 @@ yylex(YYSTYPE *value) /* c is now nonblank */ if( islower( c )) { - *value = c - 'a'; + *yylval = c - 'a'; return ( LETTER ); } if( isdigit( c )) { - *value = c - '0'; + *yylval = c - '0'; return ( DIGIT ); } return( c ); diff --git a/external/bsd/byacc/dist/test/pure_error.tab.c b/external/bsd/byacc/dist/test/pure_error.tab.c index 318880e7e..79d8d8bee 100644 --- a/external/bsd/byacc/dist/test/pure_error.tab.c +++ b/external/bsd/byacc/dist/test/pure_error.tab.c @@ -1,4 +1,4 @@ -/* $NetBSD: pure_error.tab.c,v 1.1.1.3 2011/09/10 21:22:04 christos Exp $ */ +/* $NetBSD: pure_error.tab.c,v 1.1.1.4 2013/04/06 14:45:27 christos Exp $ */ #ifndef lint static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; @@ -97,6 +97,18 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; #define YYPURE 1 +#line 2 "pure_error.y" + +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM &yylval +#define YYLEX_DECL() yylex(YYSTYPE *yylval) +#define YYERROR_DECL() yyerror(const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + +#line 110 "pure_error.tab.c" #ifndef YYSTYPE typedef int YYSTYPE; @@ -116,7 +128,11 @@ typedef int YYSTYPE; /* Parameters sent to lex. */ #ifdef YYLEX_PARAM -# define YYLEX_DECL() yylex(YYSTYPE *yylval, void *YYLEX_PARAM) +# ifdef YYLEX_PARAM_TYPE +# define YYLEX_DECL() yylex(YYSTYPE *yylval, YYLEX_PARAM_TYPE YYLEX_PARAM) +# else +# define YYLEX_DECL() yylex(YYSTYPE *yylval, void * YYLEX_PARAM) +# endif # define YYLEX yylex(&yylval, YYLEX_PARAM) #else # define YYLEX_DECL() yylex(YYSTYPE *yylval) @@ -124,8 +140,12 @@ typedef int YYSTYPE; #endif /* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL #define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL #define YYERROR_CALL(msg) yyerror(msg) +#endif extern int YYPARSE_DECL(); @@ -197,13 +217,12 @@ typedef struct { YYSTYPE *l_base; YYSTYPE *l_mark; } YYSTACKDATA; -#line 4 "pure_error.y" +#line 17 "pure_error.y" #include #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int @@ -224,7 +243,7 @@ yyerror(const char* s) { printf("%s\n", s); } -#line 226 "pure_error.tab.c" +#line 245 "pure_error.tab.c" #if YYDEBUG #include /* needed for printf */ @@ -248,7 +267,7 @@ static int yygrowstack(YYSTACKDATA *data) else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = data->s_mark - data->s_base; + i = (int) (data->s_mark - data->s_base); newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; diff --git a/external/bsd/byacc/dist/test/pure_error.y b/external/bsd/byacc/dist/test/pure_error.y index 0b005e399..b1d49305d 100644 --- a/external/bsd/byacc/dist/test/pure_error.y +++ b/external/bsd/byacc/dist/test/pure_error.y @@ -1,4 +1,17 @@ -/* $NetBSD: pure_error.y,v 1.1.1.3 2011/09/10 21:22:05 christos Exp $ */ +/* $NetBSD: pure_error.y,v 1.1.1.4 2013/04/06 14:45:27 christos Exp $ */ + +%{ + +#ifdef YYBISON +#define YYSTYPE int +#define YYLEX_PARAM &yylval +#define YYLEX_DECL() yylex(YYSTYPE *yylval) +#define YYERROR_DECL() yyerror(const char *s) +int YYLEX_DECL(); +static void YYERROR_DECL(); +#endif + +%} %% S: error @@ -8,7 +21,6 @@ S: error #ifdef YYBYACC extern int YYLEX_DECL(); -static void YYERROR_DECL(); #endif int diff --git a/external/bsd/byacc/dist/test/quote_calc-s.output b/external/bsd/byacc/dist/test/quote_calc-s.output new file mode 100644 index 000000000..0306652bf --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc-s.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr OP_ADD expr + 8 | expr OP_SUB expr + 9 | expr OP_MUL expr + 10 | expr OP_DIV expr + 11 | expr OP_MOD expr + 12 | expr OP_AND expr + 13 | expr '|' expr + 14 | OP_SUB expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : OP_SUB . expr (14) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + OP_ADD reduce 15 + OP_SUB reduce 15 + OP_MUL reduce 15 + OP_DIV reduce 15 + OP_MOD reduce 15 + OP_AND reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + OP_ADD reduce 16 + OP_SUB reduce 16 + OP_MUL reduce 16 + OP_DIV reduce 16 + OP_MOD reduce 16 + OP_AND reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on OP_ADD +12: shift/reduce conflict (shift 17, reduce 14) on OP_SUB +12: shift/reduce conflict (shift 18, reduce 14) on OP_MUL +12: shift/reduce conflict (shift 19, reduce 14) on OP_DIV +12: shift/reduce conflict (shift 20, reduce 14) on OP_MOD +12: shift/reduce conflict (shift 21, reduce 14) on OP_AND +state 12 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : OP_SUB expr . (14) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr OP_ADD . expr (7) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr OP_SUB . expr (8) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr OP_MUL . expr (9) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr OP_DIV . expr (10) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr OP_MOD . expr (11) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr OP_AND . expr (12) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on OP_ADD +26: shift/reduce conflict (shift 17, reduce 7) on OP_SUB +26: shift/reduce conflict (shift 18, reduce 7) on OP_MUL +26: shift/reduce conflict (shift 19, reduce 7) on OP_DIV +26: shift/reduce conflict (shift 20, reduce 7) on OP_MOD +26: shift/reduce conflict (shift 21, reduce 7) on OP_AND +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . OP_ADD expr (7) + expr : expr OP_ADD expr . (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on OP_ADD +27: shift/reduce conflict (shift 17, reduce 8) on OP_SUB +27: shift/reduce conflict (shift 18, reduce 8) on OP_MUL +27: shift/reduce conflict (shift 19, reduce 8) on OP_DIV +27: shift/reduce conflict (shift 20, reduce 8) on OP_MOD +27: shift/reduce conflict (shift 21, reduce 8) on OP_AND +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr OP_SUB expr . (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on OP_ADD +28: shift/reduce conflict (shift 17, reduce 9) on OP_SUB +28: shift/reduce conflict (shift 18, reduce 9) on OP_MUL +28: shift/reduce conflict (shift 19, reduce 9) on OP_DIV +28: shift/reduce conflict (shift 20, reduce 9) on OP_MOD +28: shift/reduce conflict (shift 21, reduce 9) on OP_AND +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr OP_MUL expr . (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on OP_ADD +29: shift/reduce conflict (shift 17, reduce 10) on OP_SUB +29: shift/reduce conflict (shift 18, reduce 10) on OP_MUL +29: shift/reduce conflict (shift 19, reduce 10) on OP_DIV +29: shift/reduce conflict (shift 20, reduce 10) on OP_MOD +29: shift/reduce conflict (shift 21, reduce 10) on OP_AND +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr OP_DIV expr . (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on OP_ADD +30: shift/reduce conflict (shift 17, reduce 11) on OP_SUB +30: shift/reduce conflict (shift 18, reduce 11) on OP_MUL +30: shift/reduce conflict (shift 19, reduce 11) on OP_DIV +30: shift/reduce conflict (shift 20, reduce 11) on OP_MOD +30: shift/reduce conflict (shift 21, reduce 11) on OP_AND +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr OP_MOD expr . (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on OP_ADD +31: shift/reduce conflict (shift 17, reduce 12) on OP_SUB +31: shift/reduce conflict (shift 18, reduce 12) on OP_MUL +31: shift/reduce conflict (shift 19, reduce 12) on OP_DIV +31: shift/reduce conflict (shift 20, reduce 12) on OP_MOD +31: shift/reduce conflict (shift 21, reduce 12) on OP_AND +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr OP_AND expr . (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on OP_ADD +32: shift/reduce conflict (shift 17, reduce 13) on OP_SUB +32: shift/reduce conflict (shift 18, reduce 13) on OP_MUL +32: shift/reduce conflict (shift 19, reduce 13) on OP_DIV +32: shift/reduce conflict (shift 20, reduce 13) on OP_MOD +32: shift/reduce conflict (shift 21, reduce 13) on OP_AND +state 32 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc-s.tab.c b/external/bsd/byacc/dist/test/quote_calc-s.tab.c new file mode 100644 index 000000000..8db4cee86 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc-s.tab.c @@ -0,0 +1,689 @@ +/* $NetBSD: quote_calc-s.tab.c,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc_" + +#define YYPURE 0 + +#line 2 "quote_calc.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc-s.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc_sindex[] = { 0, + -38, 5, -36, 0, -51, -36, 7, -121, -248, 0, + 0, -243, -36, -22, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 13, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 15, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 258 +static const short quote_calc_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 16, 10, 17, 15, 18, 25, 19, + 23, 20, 4, 21, 5, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 17, 0, 18, + 0, 19, 0, 20, 0, 21, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 16, 15, 16, 15, + 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 257, 10, 259, 10, 261, 41, 263, + 269, 265, 10, 267, 10, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, -1, 259, -1, 261, + -1, 263, -1, 265, -1, 267, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + 259, -1, 259, -1, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 257, -1, 259, -1, 261, -1, + 263, -1, 265, -1, 267, -1, 257, 257, 259, 259, + 261, 261, 263, 263, 265, 265, 267, 267, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD\"","OP_SUB","\"SUB\"","OP_MUL","\"MUL\"","OP_DIV", +"\"DIV\"","OP_MOD","\"MOD\"","OP_AND","\"AND\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr OP_ADD expr", +"expr : expr OP_SUB expr", +"expr : expr OP_MUL expr", +"expr : expr OP_DIV expr", +"expr : expr OP_MOD expr", +"expr : expr OP_AND expr", +"expr : expr '|' expr", +"expr : OP_SUB expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 361 "quote_calc-s.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 627 "quote_calc-s.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc-s.tab.h b/external/bsd/byacc/dist/test/quote_calc-s.tab.h new file mode 100644 index 000000000..cc394a6a3 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc-s.tab.h @@ -0,0 +1,11 @@ +/* $NetBSD: quote_calc-s.tab.h,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc.output b/external/bsd/byacc/dist/test/quote_calc.output new file mode 100644 index 000000000..0306652bf --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr OP_ADD expr + 8 | expr OP_SUB expr + 9 | expr OP_MUL expr + 10 | expr OP_DIV expr + 11 | expr OP_MOD expr + 12 | expr OP_AND expr + 13 | expr '|' expr + 14 | OP_SUB expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : OP_SUB . expr (14) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + OP_ADD reduce 15 + OP_SUB reduce 15 + OP_MUL reduce 15 + OP_DIV reduce 15 + OP_MOD reduce 15 + OP_AND reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + OP_ADD reduce 16 + OP_SUB reduce 16 + OP_MUL reduce 16 + OP_DIV reduce 16 + OP_MOD reduce 16 + OP_AND reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on OP_ADD +12: shift/reduce conflict (shift 17, reduce 14) on OP_SUB +12: shift/reduce conflict (shift 18, reduce 14) on OP_MUL +12: shift/reduce conflict (shift 19, reduce 14) on OP_DIV +12: shift/reduce conflict (shift 20, reduce 14) on OP_MOD +12: shift/reduce conflict (shift 21, reduce 14) on OP_AND +state 12 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : OP_SUB expr . (14) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr OP_ADD . expr (7) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr OP_SUB . expr (8) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr OP_MUL . expr (9) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr OP_DIV . expr (10) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr OP_MOD . expr (11) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr OP_AND . expr (12) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on OP_ADD +26: shift/reduce conflict (shift 17, reduce 7) on OP_SUB +26: shift/reduce conflict (shift 18, reduce 7) on OP_MUL +26: shift/reduce conflict (shift 19, reduce 7) on OP_DIV +26: shift/reduce conflict (shift 20, reduce 7) on OP_MOD +26: shift/reduce conflict (shift 21, reduce 7) on OP_AND +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . OP_ADD expr (7) + expr : expr OP_ADD expr . (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on OP_ADD +27: shift/reduce conflict (shift 17, reduce 8) on OP_SUB +27: shift/reduce conflict (shift 18, reduce 8) on OP_MUL +27: shift/reduce conflict (shift 19, reduce 8) on OP_DIV +27: shift/reduce conflict (shift 20, reduce 8) on OP_MOD +27: shift/reduce conflict (shift 21, reduce 8) on OP_AND +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr OP_SUB expr . (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on OP_ADD +28: shift/reduce conflict (shift 17, reduce 9) on OP_SUB +28: shift/reduce conflict (shift 18, reduce 9) on OP_MUL +28: shift/reduce conflict (shift 19, reduce 9) on OP_DIV +28: shift/reduce conflict (shift 20, reduce 9) on OP_MOD +28: shift/reduce conflict (shift 21, reduce 9) on OP_AND +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr OP_MUL expr . (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on OP_ADD +29: shift/reduce conflict (shift 17, reduce 10) on OP_SUB +29: shift/reduce conflict (shift 18, reduce 10) on OP_MUL +29: shift/reduce conflict (shift 19, reduce 10) on OP_DIV +29: shift/reduce conflict (shift 20, reduce 10) on OP_MOD +29: shift/reduce conflict (shift 21, reduce 10) on OP_AND +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr OP_DIV expr . (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on OP_ADD +30: shift/reduce conflict (shift 17, reduce 11) on OP_SUB +30: shift/reduce conflict (shift 18, reduce 11) on OP_MUL +30: shift/reduce conflict (shift 19, reduce 11) on OP_DIV +30: shift/reduce conflict (shift 20, reduce 11) on OP_MOD +30: shift/reduce conflict (shift 21, reduce 11) on OP_AND +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr OP_MOD expr . (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on OP_ADD +31: shift/reduce conflict (shift 17, reduce 12) on OP_SUB +31: shift/reduce conflict (shift 18, reduce 12) on OP_MUL +31: shift/reduce conflict (shift 19, reduce 12) on OP_DIV +31: shift/reduce conflict (shift 20, reduce 12) on OP_MOD +31: shift/reduce conflict (shift 21, reduce 12) on OP_AND +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr OP_AND expr . (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on OP_ADD +32: shift/reduce conflict (shift 17, reduce 13) on OP_SUB +32: shift/reduce conflict (shift 18, reduce 13) on OP_MUL +32: shift/reduce conflict (shift 19, reduce 13) on OP_DIV +32: shift/reduce conflict (shift 20, reduce 13) on OP_MOD +32: shift/reduce conflict (shift 21, reduce 13) on OP_AND +state 32 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc.tab.c b/external/bsd/byacc/dist/test/quote_calc.tab.c new file mode 100644 index 000000000..ea54ef354 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc.tab.c @@ -0,0 +1,695 @@ +/* $NetBSD: quote_calc.tab.c,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc_" + +#define YYPURE 0 + +#line 2 "quote_calc.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define ADD 258 +#define OP_SUB 259 +#define SUB 260 +#define OP_MUL 261 +#define MUL 262 +#define OP_DIV 263 +#define DIV 264 +#define OP_MOD 265 +#define MOD 266 +#define OP_AND 267 +#define AND 268 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc_sindex[] = { 0, + -38, 5, -36, 0, -51, -36, 7, -121, -248, 0, + 0, -243, -36, -22, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 13, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 15, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 258 +static const short quote_calc_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 16, 10, 17, 15, 18, 25, 19, + 23, 20, 4, 21, 5, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 17, 0, 18, + 0, 19, 0, 20, 0, 21, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 16, 15, 16, 15, + 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 257, 10, 259, 10, 261, 41, 263, + 269, 265, 10, 267, 10, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, -1, 259, -1, 261, + -1, 263, -1, 265, -1, 267, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + 259, -1, 259, -1, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 257, -1, 259, -1, 261, -1, + 263, -1, 265, -1, 267, -1, 257, 257, 259, 259, + 261, 261, 263, 263, 265, 265, 267, 267, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD\"","OP_SUB","\"SUB\"","OP_MUL","\"MUL\"","OP_DIV", +"\"DIV\"","OP_MOD","\"MOD\"","OP_AND","\"AND\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr OP_ADD expr", +"expr : expr OP_SUB expr", +"expr : expr OP_MUL expr", +"expr : expr OP_DIV expr", +"expr : expr OP_MOD expr", +"expr : expr OP_AND expr", +"expr : expr '|' expr", +"expr : OP_SUB expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 367 "quote_calc.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 633 "quote_calc.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc.tab.h b/external/bsd/byacc/dist/test/quote_calc.tab.h new file mode 100644 index 000000000..f5b61c190 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc.tab.h @@ -0,0 +1,17 @@ +/* $NetBSD: quote_calc.tab.h,v 1.1.1.1 2013/04/06 14:45:28 christos Exp $ */ + +#define OP_ADD 257 +#define ADD 258 +#define OP_SUB 259 +#define SUB 260 +#define OP_MUL 261 +#define MUL 262 +#define OP_DIV 263 +#define DIV 264 +#define OP_MOD 265 +#define MOD 266 +#define OP_AND 267 +#define AND 268 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc.y b/external/bsd/byacc/dist/test/quote_calc.y new file mode 100644 index 000000000..72bbe0572 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc.y @@ -0,0 +1,114 @@ +/* $NetBSD: quote_calc.y,v 1.1.1.1 2013/04/06 14:45:30 christos Exp $ */ + +%{ +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +%} + +%start list + +%token OP_ADD "ADD" +%token OP_SUB "SUB" +%token OP_MUL "MUL" +%token OP_DIV "DIV" +%token OP_MOD "MOD" +%token OP_AND "AND" + +%token DIGIT LETTER + +%left '|' +%left '&' +%left '+' '-' +%left '*' '/' '%' +%left UMINUS /* supplies precedence for unary minus */ + +%% /* beginning of rules section */ + +list : /* empty */ + | list stat '\n' + | list error '\n' + { yyerrok ; } + ; + +stat : expr + { printf("%d\n",$1);} + | LETTER '=' expr + { regs[$1] = $3; } + ; + +expr : '(' expr ')' + { $$ = $2; } + | expr OP_ADD expr + { $$ = $1 + $3; } + | expr OP_SUB expr + { $$ = $1 - $3; } + | expr OP_MUL expr + { $$ = $1 * $3; } + | expr OP_DIV expr + { $$ = $1 / $3; } + | expr OP_MOD expr + { $$ = $1 % $3; } + | expr OP_AND expr + { $$ = $1 & $3; } + | expr '|' expr + { $$ = $1 | $3; } + | OP_SUB expr %prec UMINUS + { $$ = - $2; } + | LETTER + { $$ = regs[$1]; } + | number + ; + +number: DIGIT + { $$ = $1; base = ($1==0) ? 8 : 10; } + | number DIGIT + { $$ = base * $1 + $2; } + ; + +%% /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} diff --git a/external/bsd/byacc/dist/test/quote_calc2-s.output b/external/bsd/byacc/dist/test/quote_calc2-s.output new file mode 100644 index 000000000..ed28ae2f2 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2-s.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr "ADD" expr + 8 | expr "SUB" expr + 9 | expr "MUL" expr + 10 | expr "DIV" expr + 11 | expr "MOD" expr + 12 | expr "AND" expr + 13 | expr '|' expr + 14 | "SUB" expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : "SUB" . expr (14) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + "ADD" reduce 15 + "SUB" reduce 15 + "MUL" reduce 15 + "DIV" reduce 15 + "MOD" reduce 15 + "AND" reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + "ADD" reduce 16 + "SUB" reduce 16 + "MUL" reduce 16 + "DIV" reduce 16 + "MOD" reduce 16 + "AND" reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on "ADD" +12: shift/reduce conflict (shift 17, reduce 14) on "SUB" +12: shift/reduce conflict (shift 18, reduce 14) on "MUL" +12: shift/reduce conflict (shift 19, reduce 14) on "DIV" +12: shift/reduce conflict (shift 20, reduce 14) on "MOD" +12: shift/reduce conflict (shift 21, reduce 14) on "AND" +state 12 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + expr : "SUB" expr . (14) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr "ADD" . expr (7) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr "SUB" . expr (8) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr "MUL" . expr (9) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr "DIV" . expr (10) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr "MOD" . expr (11) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr "AND" . expr (12) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on "ADD" +26: shift/reduce conflict (shift 17, reduce 7) on "SUB" +26: shift/reduce conflict (shift 18, reduce 7) on "MUL" +26: shift/reduce conflict (shift 19, reduce 7) on "DIV" +26: shift/reduce conflict (shift 20, reduce 7) on "MOD" +26: shift/reduce conflict (shift 21, reduce 7) on "AND" +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . "ADD" expr (7) + expr : expr "ADD" expr . (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on "ADD" +27: shift/reduce conflict (shift 17, reduce 8) on "SUB" +27: shift/reduce conflict (shift 18, reduce 8) on "MUL" +27: shift/reduce conflict (shift 19, reduce 8) on "DIV" +27: shift/reduce conflict (shift 20, reduce 8) on "MOD" +27: shift/reduce conflict (shift 21, reduce 8) on "AND" +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr "SUB" expr . (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on "ADD" +28: shift/reduce conflict (shift 17, reduce 9) on "SUB" +28: shift/reduce conflict (shift 18, reduce 9) on "MUL" +28: shift/reduce conflict (shift 19, reduce 9) on "DIV" +28: shift/reduce conflict (shift 20, reduce 9) on "MOD" +28: shift/reduce conflict (shift 21, reduce 9) on "AND" +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr "MUL" expr . (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on "ADD" +29: shift/reduce conflict (shift 17, reduce 10) on "SUB" +29: shift/reduce conflict (shift 18, reduce 10) on "MUL" +29: shift/reduce conflict (shift 19, reduce 10) on "DIV" +29: shift/reduce conflict (shift 20, reduce 10) on "MOD" +29: shift/reduce conflict (shift 21, reduce 10) on "AND" +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr "DIV" expr . (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on "ADD" +30: shift/reduce conflict (shift 17, reduce 11) on "SUB" +30: shift/reduce conflict (shift 18, reduce 11) on "MUL" +30: shift/reduce conflict (shift 19, reduce 11) on "DIV" +30: shift/reduce conflict (shift 20, reduce 11) on "MOD" +30: shift/reduce conflict (shift 21, reduce 11) on "AND" +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr "MOD" expr . (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on "ADD" +31: shift/reduce conflict (shift 17, reduce 12) on "SUB" +31: shift/reduce conflict (shift 18, reduce 12) on "MUL" +31: shift/reduce conflict (shift 19, reduce 12) on "DIV" +31: shift/reduce conflict (shift 20, reduce 12) on "MOD" +31: shift/reduce conflict (shift 21, reduce 12) on "AND" +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr "AND" expr . (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on "ADD" +32: shift/reduce conflict (shift 17, reduce 13) on "SUB" +32: shift/reduce conflict (shift 18, reduce 13) on "MUL" +32: shift/reduce conflict (shift 19, reduce 13) on "DIV" +32: shift/reduce conflict (shift 20, reduce 13) on "MOD" +32: shift/reduce conflict (shift 21, reduce 13) on "AND" +state 32 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc2-s.tab.c b/external/bsd/byacc/dist/test/quote_calc2-s.tab.c new file mode 100644 index 000000000..b49b5aed1 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2-s.tab.c @@ -0,0 +1,689 @@ +/* $NetBSD: quote_calc2-s.tab.c,v 1.1.1.1 2013/04/06 14:45:30 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc2_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc2_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc2_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc2_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc2_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc2_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc2_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc2_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc2_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc2_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc2_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc2_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc2_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc2_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc2_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc2_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc2_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc2_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc2_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc2_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc2_" + +#define YYPURE 0 + +#line 2 "quote_calc2.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc2-s.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc2_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc2_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc2_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc2_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc2_sindex[] = { 0, + -38, 4, -36, 0, -51, -36, 6, -121, -249, 0, + 0, -243, -36, -23, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc2_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 12, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 14, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc2_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 259 +static const short quote_calc2_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 10, 16, 15, 17, 25, 18, 23, + 19, 4, 20, 5, 21, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 17, 0, + 18, 0, 19, 0, 20, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 0, 16, 15, 16, + 15, 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc2_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 10, 258, 10, 260, 41, 262, 269, + 264, 10, 266, 10, 268, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 258, -1, 260, -1, + 262, -1, 264, -1, 266, -1, 268, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + -1, 260, -1, 260, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 258, -1, 260, -1, 262, -1, + 264, -1, 266, -1, 268, -1, -1, 258, 258, 260, + 260, 262, 262, 264, 264, 266, 266, 268, 268, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD\"","OP_SUB","\"SUB\"","OP_MUL","\"MUL\"","OP_DIV", +"\"DIV\"","OP_MOD","\"MOD\"","OP_AND","\"AND\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr \"ADD\" expr", +"expr : expr \"SUB\" expr", +"expr : expr \"MUL\" expr", +"expr : expr \"DIV\" expr", +"expr : expr \"MOD\" expr", +"expr : expr \"AND\" expr", +"expr : expr '|' expr", +"expr : \"SUB\" expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc2.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 361 "quote_calc2-s.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc2.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc2.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc2.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc2.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc2.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc2.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc2.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc2.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc2.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc2.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc2.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc2.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc2.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc2.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc2.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 627 "quote_calc2-s.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc2-s.tab.h b/external/bsd/byacc/dist/test/quote_calc2-s.tab.h new file mode 100644 index 000000000..38a583040 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2-s.tab.h @@ -0,0 +1,11 @@ +/* $NetBSD: quote_calc2-s.tab.h,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc2.output b/external/bsd/byacc/dist/test/quote_calc2.output new file mode 100644 index 000000000..ed28ae2f2 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr "ADD" expr + 8 | expr "SUB" expr + 9 | expr "MUL" expr + 10 | expr "DIV" expr + 11 | expr "MOD" expr + 12 | expr "AND" expr + 13 | expr '|' expr + 14 | "SUB" expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : "SUB" . expr (14) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + "ADD" reduce 15 + "SUB" reduce 15 + "MUL" reduce 15 + "DIV" reduce 15 + "MOD" reduce 15 + "AND" reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + "ADD" reduce 16 + "SUB" reduce 16 + "MUL" reduce 16 + "DIV" reduce 16 + "MOD" reduce 16 + "AND" reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on "ADD" +12: shift/reduce conflict (shift 17, reduce 14) on "SUB" +12: shift/reduce conflict (shift 18, reduce 14) on "MUL" +12: shift/reduce conflict (shift 19, reduce 14) on "DIV" +12: shift/reduce conflict (shift 20, reduce 14) on "MOD" +12: shift/reduce conflict (shift 21, reduce 14) on "AND" +state 12 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + expr : "SUB" expr . (14) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr "ADD" . expr (7) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr "SUB" . expr (8) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr "MUL" . expr (9) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr "DIV" . expr (10) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr "MOD" . expr (11) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr "AND" . expr (12) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + "SUB" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on "ADD" +26: shift/reduce conflict (shift 17, reduce 7) on "SUB" +26: shift/reduce conflict (shift 18, reduce 7) on "MUL" +26: shift/reduce conflict (shift 19, reduce 7) on "DIV" +26: shift/reduce conflict (shift 20, reduce 7) on "MOD" +26: shift/reduce conflict (shift 21, reduce 7) on "AND" +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . "ADD" expr (7) + expr : expr "ADD" expr . (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on "ADD" +27: shift/reduce conflict (shift 17, reduce 8) on "SUB" +27: shift/reduce conflict (shift 18, reduce 8) on "MUL" +27: shift/reduce conflict (shift 19, reduce 8) on "DIV" +27: shift/reduce conflict (shift 20, reduce 8) on "MOD" +27: shift/reduce conflict (shift 21, reduce 8) on "AND" +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr "SUB" expr . (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on "ADD" +28: shift/reduce conflict (shift 17, reduce 9) on "SUB" +28: shift/reduce conflict (shift 18, reduce 9) on "MUL" +28: shift/reduce conflict (shift 19, reduce 9) on "DIV" +28: shift/reduce conflict (shift 20, reduce 9) on "MOD" +28: shift/reduce conflict (shift 21, reduce 9) on "AND" +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr "MUL" expr . (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on "ADD" +29: shift/reduce conflict (shift 17, reduce 10) on "SUB" +29: shift/reduce conflict (shift 18, reduce 10) on "MUL" +29: shift/reduce conflict (shift 19, reduce 10) on "DIV" +29: shift/reduce conflict (shift 20, reduce 10) on "MOD" +29: shift/reduce conflict (shift 21, reduce 10) on "AND" +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr "DIV" expr . (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on "ADD" +30: shift/reduce conflict (shift 17, reduce 11) on "SUB" +30: shift/reduce conflict (shift 18, reduce 11) on "MUL" +30: shift/reduce conflict (shift 19, reduce 11) on "DIV" +30: shift/reduce conflict (shift 20, reduce 11) on "MOD" +30: shift/reduce conflict (shift 21, reduce 11) on "AND" +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr "MOD" expr . (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on "ADD" +31: shift/reduce conflict (shift 17, reduce 12) on "SUB" +31: shift/reduce conflict (shift 18, reduce 12) on "MUL" +31: shift/reduce conflict (shift 19, reduce 12) on "DIV" +31: shift/reduce conflict (shift 20, reduce 12) on "MOD" +31: shift/reduce conflict (shift 21, reduce 12) on "AND" +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr "AND" expr . (12) + expr : expr . '|' expr (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on "ADD" +32: shift/reduce conflict (shift 17, reduce 13) on "SUB" +32: shift/reduce conflict (shift 18, reduce 13) on "MUL" +32: shift/reduce conflict (shift 19, reduce 13) on "DIV" +32: shift/reduce conflict (shift 20, reduce 13) on "MOD" +32: shift/reduce conflict (shift 21, reduce 13) on "AND" +state 32 + expr : expr . "ADD" expr (7) + expr : expr . "SUB" expr (8) + expr : expr . "MUL" expr (9) + expr : expr . "DIV" expr (10) + expr : expr . "MOD" expr (11) + expr : expr . "AND" expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + "ADD" shift 16 + "SUB" shift 17 + "MUL" shift 18 + "DIV" shift 19 + "MOD" shift 20 + "AND" shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc2.tab.c b/external/bsd/byacc/dist/test/quote_calc2.tab.c new file mode 100644 index 000000000..c77bbc69b --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2.tab.c @@ -0,0 +1,695 @@ +/* $NetBSD: quote_calc2.tab.c,v 1.1.1.1 2013/04/06 14:45:29 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc2_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc2_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc2_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc2_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc2_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc2_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc2_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc2_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc2_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc2_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc2_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc2_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc2_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc2_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc2_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc2_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc2_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc2_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc2_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc2_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc2_" + +#define YYPURE 0 + +#line 2 "quote_calc2.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc2.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define ADD 258 +#define OP_SUB 259 +#define SUB 260 +#define OP_MUL 261 +#define MUL 262 +#define OP_DIV 263 +#define DIV 264 +#define OP_MOD 265 +#define MOD 266 +#define OP_AND 267 +#define AND 268 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc2_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc2_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc2_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc2_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc2_sindex[] = { 0, + -38, 4, -36, 0, -51, -36, 6, -121, -249, 0, + 0, -243, -36, -23, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc2_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 12, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 14, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc2_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 259 +static const short quote_calc2_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 10, 16, 15, 17, 25, 18, 23, + 19, 4, 20, 5, 21, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 17, 0, + 18, 0, 19, 0, 20, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 0, 16, 15, 16, + 15, 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc2_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 10, 258, 10, 260, 41, 262, 269, + 264, 10, 266, 10, 268, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 258, -1, 260, -1, + 262, -1, 264, -1, 266, -1, 268, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + -1, 260, -1, 260, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 258, -1, 260, -1, 262, -1, + 264, -1, 266, -1, 268, -1, -1, 258, 258, 260, + 260, 262, 262, 264, 264, 266, 266, 268, 268, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD\"","OP_SUB","\"SUB\"","OP_MUL","\"MUL\"","OP_DIV", +"\"DIV\"","OP_MOD","\"MOD\"","OP_AND","\"AND\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr \"ADD\" expr", +"expr : expr \"SUB\" expr", +"expr : expr \"MUL\" expr", +"expr : expr \"DIV\" expr", +"expr : expr \"MOD\" expr", +"expr : expr \"AND\" expr", +"expr : expr '|' expr", +"expr : \"SUB\" expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc2.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 367 "quote_calc2.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc2.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc2.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc2.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc2.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc2.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc2.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc2.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc2.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc2.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc2.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc2.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc2.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc2.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc2.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc2.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 633 "quote_calc2.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc2.tab.h b/external/bsd/byacc/dist/test/quote_calc2.tab.h new file mode 100644 index 000000000..9553e1ee8 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2.tab.h @@ -0,0 +1,17 @@ +/* $NetBSD: quote_calc2.tab.h,v 1.1.1.1 2013/04/06 14:45:28 christos Exp $ */ + +#define OP_ADD 257 +#define ADD 258 +#define OP_SUB 259 +#define SUB 260 +#define OP_MUL 261 +#define MUL 262 +#define OP_DIV 263 +#define DIV 264 +#define OP_MOD 265 +#define MOD 266 +#define OP_AND 267 +#define AND 268 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc2.y b/external/bsd/byacc/dist/test/quote_calc2.y new file mode 100644 index 000000000..b2caf1aa8 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc2.y @@ -0,0 +1,114 @@ +/* $NetBSD: quote_calc2.y,v 1.1.1.1 2013/04/06 14:45:28 christos Exp $ */ + +%{ +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +%} + +%start list + +%token OP_ADD "ADD" +%token OP_SUB "SUB" +%token OP_MUL "MUL" +%token OP_DIV "DIV" +%token OP_MOD "MOD" +%token OP_AND "AND" + +%token DIGIT LETTER + +%left '|' +%left '&' +%left '+' '-' +%left '*' '/' '%' +%left UMINUS /* supplies precedence for unary minus */ + +%% /* beginning of rules section */ + +list : /* empty */ + | list stat '\n' + | list error '\n' + { yyerrok ; } + ; + +stat : expr + { printf("%d\n",$1);} + | LETTER '=' expr + { regs[$1] = $3; } + ; + +expr : '(' expr ')' + { $$ = $2; } + | expr "ADD" expr + { $$ = $1 + $3; } + | expr "SUB" expr + { $$ = $1 - $3; } + | expr "MUL" expr + { $$ = $1 * $3; } + | expr "DIV" expr + { $$ = $1 / $3; } + | expr "MOD" expr + { $$ = $1 % $3; } + | expr "AND" expr + { $$ = $1 & $3; } + | expr '|' expr + { $$ = $1 | $3; } + | "SUB" expr %prec UMINUS + { $$ = - $2; } + | LETTER + { $$ = regs[$1]; } + | number + ; + +number: DIGIT + { $$ = $1; base = ($1==0) ? 8 : 10; } + | number DIGIT + { $$ = base * $1 + $2; } + ; + +%% /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} diff --git a/external/bsd/byacc/dist/test/quote_calc3-s.output b/external/bsd/byacc/dist/test/quote_calc3-s.output new file mode 100644 index 000000000..0306652bf --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3-s.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr OP_ADD expr + 8 | expr OP_SUB expr + 9 | expr OP_MUL expr + 10 | expr OP_DIV expr + 11 | expr OP_MOD expr + 12 | expr OP_AND expr + 13 | expr '|' expr + 14 | OP_SUB expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : OP_SUB . expr (14) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + OP_ADD reduce 15 + OP_SUB reduce 15 + OP_MUL reduce 15 + OP_DIV reduce 15 + OP_MOD reduce 15 + OP_AND reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + OP_ADD reduce 16 + OP_SUB reduce 16 + OP_MUL reduce 16 + OP_DIV reduce 16 + OP_MOD reduce 16 + OP_AND reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on OP_ADD +12: shift/reduce conflict (shift 17, reduce 14) on OP_SUB +12: shift/reduce conflict (shift 18, reduce 14) on OP_MUL +12: shift/reduce conflict (shift 19, reduce 14) on OP_DIV +12: shift/reduce conflict (shift 20, reduce 14) on OP_MOD +12: shift/reduce conflict (shift 21, reduce 14) on OP_AND +state 12 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : OP_SUB expr . (14) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr OP_ADD . expr (7) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr OP_SUB . expr (8) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr OP_MUL . expr (9) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr OP_DIV . expr (10) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr OP_MOD . expr (11) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr OP_AND . expr (12) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on OP_ADD +26: shift/reduce conflict (shift 17, reduce 7) on OP_SUB +26: shift/reduce conflict (shift 18, reduce 7) on OP_MUL +26: shift/reduce conflict (shift 19, reduce 7) on OP_DIV +26: shift/reduce conflict (shift 20, reduce 7) on OP_MOD +26: shift/reduce conflict (shift 21, reduce 7) on OP_AND +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . OP_ADD expr (7) + expr : expr OP_ADD expr . (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on OP_ADD +27: shift/reduce conflict (shift 17, reduce 8) on OP_SUB +27: shift/reduce conflict (shift 18, reduce 8) on OP_MUL +27: shift/reduce conflict (shift 19, reduce 8) on OP_DIV +27: shift/reduce conflict (shift 20, reduce 8) on OP_MOD +27: shift/reduce conflict (shift 21, reduce 8) on OP_AND +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr OP_SUB expr . (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on OP_ADD +28: shift/reduce conflict (shift 17, reduce 9) on OP_SUB +28: shift/reduce conflict (shift 18, reduce 9) on OP_MUL +28: shift/reduce conflict (shift 19, reduce 9) on OP_DIV +28: shift/reduce conflict (shift 20, reduce 9) on OP_MOD +28: shift/reduce conflict (shift 21, reduce 9) on OP_AND +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr OP_MUL expr . (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on OP_ADD +29: shift/reduce conflict (shift 17, reduce 10) on OP_SUB +29: shift/reduce conflict (shift 18, reduce 10) on OP_MUL +29: shift/reduce conflict (shift 19, reduce 10) on OP_DIV +29: shift/reduce conflict (shift 20, reduce 10) on OP_MOD +29: shift/reduce conflict (shift 21, reduce 10) on OP_AND +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr OP_DIV expr . (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on OP_ADD +30: shift/reduce conflict (shift 17, reduce 11) on OP_SUB +30: shift/reduce conflict (shift 18, reduce 11) on OP_MUL +30: shift/reduce conflict (shift 19, reduce 11) on OP_DIV +30: shift/reduce conflict (shift 20, reduce 11) on OP_MOD +30: shift/reduce conflict (shift 21, reduce 11) on OP_AND +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr OP_MOD expr . (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on OP_ADD +31: shift/reduce conflict (shift 17, reduce 12) on OP_SUB +31: shift/reduce conflict (shift 18, reduce 12) on OP_MUL +31: shift/reduce conflict (shift 19, reduce 12) on OP_DIV +31: shift/reduce conflict (shift 20, reduce 12) on OP_MOD +31: shift/reduce conflict (shift 21, reduce 12) on OP_AND +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr OP_AND expr . (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on OP_ADD +32: shift/reduce conflict (shift 17, reduce 13) on OP_SUB +32: shift/reduce conflict (shift 18, reduce 13) on OP_MUL +32: shift/reduce conflict (shift 19, reduce 13) on OP_DIV +32: shift/reduce conflict (shift 20, reduce 13) on OP_MOD +32: shift/reduce conflict (shift 21, reduce 13) on OP_AND +state 32 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc3-s.tab.c b/external/bsd/byacc/dist/test/quote_calc3-s.tab.c new file mode 100644 index 000000000..e3194e5b3 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3-s.tab.c @@ -0,0 +1,690 @@ +/* $NetBSD: quote_calc3-s.tab.c,v 1.1.1.1 2013/04/06 14:45:28 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc3_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc3_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc3_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc3_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc3_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc3_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc3_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc3_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc3_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc3_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc3_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc3_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc3_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc3_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc3_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc3_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc3_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc3_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc3_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc3_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc3_" + +#define YYPURE 0 + +#line 2 "quote_calc3.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc3-s.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc3_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc3_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc3_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc3_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc3_sindex[] = { 0, + -38, 5, -36, 0, -51, -36, 7, -121, -248, 0, + 0, -243, -36, -22, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc3_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 13, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 15, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc3_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 258 +static const short quote_calc3_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 16, 10, 17, 15, 18, 25, 19, + 23, 20, 4, 21, 5, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 17, 0, 18, + 0, 19, 0, 20, 0, 21, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 16, 15, 16, 15, + 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc3_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 257, 10, 259, 10, 261, 41, 263, + 269, 265, 10, 267, 10, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, -1, 259, -1, 261, + -1, 263, -1, 265, -1, 267, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + 259, -1, 259, -1, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 257, -1, 259, -1, 261, -1, + 263, -1, 265, -1, 267, -1, 257, 257, 259, 259, + 261, 261, 263, 263, 265, 265, 267, 267, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD-operator\"","OP_SUB","\"SUB-operator\"","OP_MUL", +"\"MUL-operator\"","OP_DIV","\"DIV-operator\"","OP_MOD","\"MOD-operator\"", +"OP_AND","\"AND-operator\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr OP_ADD expr", +"expr : expr OP_SUB expr", +"expr : expr OP_MUL expr", +"expr : expr OP_DIV expr", +"expr : expr OP_MOD expr", +"expr : expr OP_AND expr", +"expr : expr '|' expr", +"expr : OP_SUB expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc3.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 362 "quote_calc3-s.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc3.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc3.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc3.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc3.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc3.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc3.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc3.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc3.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc3.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc3.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc3.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc3.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc3.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc3.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc3.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 628 "quote_calc3-s.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc3-s.tab.h b/external/bsd/byacc/dist/test/quote_calc3-s.tab.h new file mode 100644 index 000000000..9daaea2b9 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3-s.tab.h @@ -0,0 +1,11 @@ +/* $NetBSD: quote_calc3-s.tab.h,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc3.output b/external/bsd/byacc/dist/test/quote_calc3.output new file mode 100644 index 000000000..0306652bf --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr OP_ADD expr + 8 | expr OP_SUB expr + 9 | expr OP_MUL expr + 10 | expr OP_DIV expr + 11 | expr OP_MOD expr + 12 | expr OP_AND expr + 13 | expr '|' expr + 14 | OP_SUB expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : OP_SUB . expr (14) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + OP_ADD reduce 15 + OP_SUB reduce 15 + OP_MUL reduce 15 + OP_DIV reduce 15 + OP_MOD reduce 15 + OP_AND reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + OP_ADD reduce 16 + OP_SUB reduce 16 + OP_MUL reduce 16 + OP_DIV reduce 16 + OP_MOD reduce 16 + OP_AND reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on OP_ADD +12: shift/reduce conflict (shift 17, reduce 14) on OP_SUB +12: shift/reduce conflict (shift 18, reduce 14) on OP_MUL +12: shift/reduce conflict (shift 19, reduce 14) on OP_DIV +12: shift/reduce conflict (shift 20, reduce 14) on OP_MOD +12: shift/reduce conflict (shift 21, reduce 14) on OP_AND +state 12 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : OP_SUB expr . (14) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr OP_ADD . expr (7) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr OP_SUB . expr (8) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr OP_MUL . expr (9) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr OP_DIV . expr (10) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr OP_MOD . expr (11) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr OP_AND . expr (12) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + OP_SUB shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on OP_ADD +26: shift/reduce conflict (shift 17, reduce 7) on OP_SUB +26: shift/reduce conflict (shift 18, reduce 7) on OP_MUL +26: shift/reduce conflict (shift 19, reduce 7) on OP_DIV +26: shift/reduce conflict (shift 20, reduce 7) on OP_MOD +26: shift/reduce conflict (shift 21, reduce 7) on OP_AND +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . OP_ADD expr (7) + expr : expr OP_ADD expr . (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on OP_ADD +27: shift/reduce conflict (shift 17, reduce 8) on OP_SUB +27: shift/reduce conflict (shift 18, reduce 8) on OP_MUL +27: shift/reduce conflict (shift 19, reduce 8) on OP_DIV +27: shift/reduce conflict (shift 20, reduce 8) on OP_MOD +27: shift/reduce conflict (shift 21, reduce 8) on OP_AND +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr OP_SUB expr . (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on OP_ADD +28: shift/reduce conflict (shift 17, reduce 9) on OP_SUB +28: shift/reduce conflict (shift 18, reduce 9) on OP_MUL +28: shift/reduce conflict (shift 19, reduce 9) on OP_DIV +28: shift/reduce conflict (shift 20, reduce 9) on OP_MOD +28: shift/reduce conflict (shift 21, reduce 9) on OP_AND +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr OP_MUL expr . (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on OP_ADD +29: shift/reduce conflict (shift 17, reduce 10) on OP_SUB +29: shift/reduce conflict (shift 18, reduce 10) on OP_MUL +29: shift/reduce conflict (shift 19, reduce 10) on OP_DIV +29: shift/reduce conflict (shift 20, reduce 10) on OP_MOD +29: shift/reduce conflict (shift 21, reduce 10) on OP_AND +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr OP_DIV expr . (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on OP_ADD +30: shift/reduce conflict (shift 17, reduce 11) on OP_SUB +30: shift/reduce conflict (shift 18, reduce 11) on OP_MUL +30: shift/reduce conflict (shift 19, reduce 11) on OP_DIV +30: shift/reduce conflict (shift 20, reduce 11) on OP_MOD +30: shift/reduce conflict (shift 21, reduce 11) on OP_AND +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr OP_MOD expr . (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on OP_ADD +31: shift/reduce conflict (shift 17, reduce 12) on OP_SUB +31: shift/reduce conflict (shift 18, reduce 12) on OP_MUL +31: shift/reduce conflict (shift 19, reduce 12) on OP_DIV +31: shift/reduce conflict (shift 20, reduce 12) on OP_MOD +31: shift/reduce conflict (shift 21, reduce 12) on OP_AND +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr OP_AND expr . (12) + expr : expr . '|' expr (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on OP_ADD +32: shift/reduce conflict (shift 17, reduce 13) on OP_SUB +32: shift/reduce conflict (shift 18, reduce 13) on OP_MUL +32: shift/reduce conflict (shift 19, reduce 13) on OP_DIV +32: shift/reduce conflict (shift 20, reduce 13) on OP_MOD +32: shift/reduce conflict (shift 21, reduce 13) on OP_AND +state 32 + expr : expr . OP_ADD expr (7) + expr : expr . OP_SUB expr (8) + expr : expr . OP_MUL expr (9) + expr : expr . OP_DIV expr (10) + expr : expr . OP_MOD expr (11) + expr : expr . OP_AND expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + OP_ADD shift 16 + OP_SUB shift 17 + OP_MUL shift 18 + OP_DIV shift 19 + OP_MOD shift 20 + OP_AND shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc3.tab.c b/external/bsd/byacc/dist/test/quote_calc3.tab.c new file mode 100644 index 000000000..436e3125a --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3.tab.c @@ -0,0 +1,690 @@ +/* $NetBSD: quote_calc3.tab.c,v 1.1.1.1 2013/04/06 14:45:28 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc3_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc3_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc3_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc3_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc3_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc3_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc3_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc3_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc3_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc3_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc3_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc3_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc3_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc3_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc3_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc3_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc3_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc3_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc3_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc3_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc3_" + +#define YYPURE 0 + +#line 2 "quote_calc3.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc3.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc3_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc3_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc3_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc3_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc3_sindex[] = { 0, + -38, 5, -36, 0, -51, -36, 7, -121, -248, 0, + 0, -243, -36, -22, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc3_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 13, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 15, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc3_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 258 +static const short quote_calc3_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 16, 10, 17, 15, 18, 25, 19, + 23, 20, 4, 21, 5, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 0, 17, 0, 18, + 0, 19, 0, 20, 0, 21, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 3, 0, 3, 0, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 16, 15, 16, 15, + 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc3_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 257, 10, 259, 10, 261, 41, 263, + 269, 265, 10, 267, 10, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 124, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 257, -1, 259, -1, 261, + -1, 263, -1, 265, -1, 267, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + 259, -1, 259, -1, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 257, -1, 259, -1, 261, -1, + 263, -1, 265, -1, 267, -1, 257, 257, 259, 259, + 261, 261, 263, 263, 265, 265, 267, 267, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD-operator\"","OP_SUB","\"SUB-operator\"","OP_MUL", +"\"MUL-operator\"","OP_DIV","\"DIV-operator\"","OP_MOD","\"MOD-operator\"", +"OP_AND","\"AND-operator\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr OP_ADD expr", +"expr : expr OP_SUB expr", +"expr : expr OP_MUL expr", +"expr : expr OP_DIV expr", +"expr : expr OP_MOD expr", +"expr : expr OP_AND expr", +"expr : expr '|' expr", +"expr : OP_SUB expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc3.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 362 "quote_calc3.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc3.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc3.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc3.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc3.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc3.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc3.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc3.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc3.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc3.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc3.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc3.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc3.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc3.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc3.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc3.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 628 "quote_calc3.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc3.tab.h b/external/bsd/byacc/dist/test/quote_calc3.tab.h new file mode 100644 index 000000000..4ea18ef6e --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3.tab.h @@ -0,0 +1,11 @@ +/* $NetBSD: quote_calc3.tab.h,v 1.1.1.1 2013/04/06 14:45:30 christos Exp $ */ + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc3.y b/external/bsd/byacc/dist/test/quote_calc3.y new file mode 100644 index 000000000..f170e3afe --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc3.y @@ -0,0 +1,114 @@ +/* $NetBSD: quote_calc3.y,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +%{ +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +%} + +%start list + +%token OP_ADD "ADD-operator" +%token OP_SUB "SUB-operator" +%token OP_MUL "MUL-operator" +%token OP_DIV "DIV-operator" +%token OP_MOD "MOD-operator" +%token OP_AND "AND-operator" + +%token DIGIT LETTER + +%left '|' +%left '&' +%left '+' '-' +%left '*' '/' '%' +%left UMINUS /* supplies precedence for unary minus */ + +%% /* beginning of rules section */ + +list : /* empty */ + | list stat '\n' + | list error '\n' + { yyerrok ; } + ; + +stat : expr + { printf("%d\n",$1);} + | LETTER '=' expr + { regs[$1] = $3; } + ; + +expr : '(' expr ')' + { $$ = $2; } + | expr OP_ADD expr + { $$ = $1 + $3; } + | expr OP_SUB expr + { $$ = $1 - $3; } + | expr OP_MUL expr + { $$ = $1 * $3; } + | expr OP_DIV expr + { $$ = $1 / $3; } + | expr OP_MOD expr + { $$ = $1 % $3; } + | expr OP_AND expr + { $$ = $1 & $3; } + | expr '|' expr + { $$ = $1 | $3; } + | OP_SUB expr %prec UMINUS + { $$ = - $2; } + | LETTER + { $$ = regs[$1]; } + | number + ; + +number: DIGIT + { $$ = $1; base = ($1==0) ? 8 : 10; } + | number DIGIT + { $$ = base * $1 + $2; } + ; + +%% /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} diff --git a/external/bsd/byacc/dist/test/quote_calc4-s.output b/external/bsd/byacc/dist/test/quote_calc4-s.output new file mode 100644 index 000000000..a1d5afc95 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4-s.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr "ADD-operator" expr + 8 | expr "SUB-operator" expr + 9 | expr "MUL-operator" expr + 10 | expr "DIV-operator" expr + 11 | expr "MOD-operator" expr + 12 | expr "AND-operator" expr + 13 | expr '|' expr + 14 | "SUB-operator" expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : "SUB-operator" . expr (14) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + "ADD-operator" reduce 15 + "SUB-operator" reduce 15 + "MUL-operator" reduce 15 + "DIV-operator" reduce 15 + "MOD-operator" reduce 15 + "AND-operator" reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + "ADD-operator" reduce 16 + "SUB-operator" reduce 16 + "MUL-operator" reduce 16 + "DIV-operator" reduce 16 + "MOD-operator" reduce 16 + "AND-operator" reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on "ADD-operator" +12: shift/reduce conflict (shift 17, reduce 14) on "SUB-operator" +12: shift/reduce conflict (shift 18, reduce 14) on "MUL-operator" +12: shift/reduce conflict (shift 19, reduce 14) on "DIV-operator" +12: shift/reduce conflict (shift 20, reduce 14) on "MOD-operator" +12: shift/reduce conflict (shift 21, reduce 14) on "AND-operator" +state 12 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + expr : "SUB-operator" expr . (14) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr "ADD-operator" . expr (7) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr "SUB-operator" . expr (8) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr "MUL-operator" . expr (9) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr "DIV-operator" . expr (10) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr "MOD-operator" . expr (11) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr "AND-operator" . expr (12) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on "ADD-operator" +26: shift/reduce conflict (shift 17, reduce 7) on "SUB-operator" +26: shift/reduce conflict (shift 18, reduce 7) on "MUL-operator" +26: shift/reduce conflict (shift 19, reduce 7) on "DIV-operator" +26: shift/reduce conflict (shift 20, reduce 7) on "MOD-operator" +26: shift/reduce conflict (shift 21, reduce 7) on "AND-operator" +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . "ADD-operator" expr (7) + expr : expr "ADD-operator" expr . (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on "ADD-operator" +27: shift/reduce conflict (shift 17, reduce 8) on "SUB-operator" +27: shift/reduce conflict (shift 18, reduce 8) on "MUL-operator" +27: shift/reduce conflict (shift 19, reduce 8) on "DIV-operator" +27: shift/reduce conflict (shift 20, reduce 8) on "MOD-operator" +27: shift/reduce conflict (shift 21, reduce 8) on "AND-operator" +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr "SUB-operator" expr . (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on "ADD-operator" +28: shift/reduce conflict (shift 17, reduce 9) on "SUB-operator" +28: shift/reduce conflict (shift 18, reduce 9) on "MUL-operator" +28: shift/reduce conflict (shift 19, reduce 9) on "DIV-operator" +28: shift/reduce conflict (shift 20, reduce 9) on "MOD-operator" +28: shift/reduce conflict (shift 21, reduce 9) on "AND-operator" +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr "MUL-operator" expr . (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on "ADD-operator" +29: shift/reduce conflict (shift 17, reduce 10) on "SUB-operator" +29: shift/reduce conflict (shift 18, reduce 10) on "MUL-operator" +29: shift/reduce conflict (shift 19, reduce 10) on "DIV-operator" +29: shift/reduce conflict (shift 20, reduce 10) on "MOD-operator" +29: shift/reduce conflict (shift 21, reduce 10) on "AND-operator" +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr "DIV-operator" expr . (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on "ADD-operator" +30: shift/reduce conflict (shift 17, reduce 11) on "SUB-operator" +30: shift/reduce conflict (shift 18, reduce 11) on "MUL-operator" +30: shift/reduce conflict (shift 19, reduce 11) on "DIV-operator" +30: shift/reduce conflict (shift 20, reduce 11) on "MOD-operator" +30: shift/reduce conflict (shift 21, reduce 11) on "AND-operator" +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr "MOD-operator" expr . (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on "ADD-operator" +31: shift/reduce conflict (shift 17, reduce 12) on "SUB-operator" +31: shift/reduce conflict (shift 18, reduce 12) on "MUL-operator" +31: shift/reduce conflict (shift 19, reduce 12) on "DIV-operator" +31: shift/reduce conflict (shift 20, reduce 12) on "MOD-operator" +31: shift/reduce conflict (shift 21, reduce 12) on "AND-operator" +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr "AND-operator" expr . (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on "ADD-operator" +32: shift/reduce conflict (shift 17, reduce 13) on "SUB-operator" +32: shift/reduce conflict (shift 18, reduce 13) on "MUL-operator" +32: shift/reduce conflict (shift 19, reduce 13) on "DIV-operator" +32: shift/reduce conflict (shift 20, reduce 13) on "MOD-operator" +32: shift/reduce conflict (shift 21, reduce 13) on "AND-operator" +state 32 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc4-s.tab.c b/external/bsd/byacc/dist/test/quote_calc4-s.tab.c new file mode 100644 index 000000000..447d1bec7 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4-s.tab.c @@ -0,0 +1,690 @@ +/* $NetBSD: quote_calc4-s.tab.c,v 1.1.1.1 2013/04/06 14:45:30 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc4_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc4_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc4_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc4_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc4_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc4_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc4_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc4_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc4_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc4_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc4_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc4_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc4_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc4_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc4_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc4_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc4_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc4_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc4_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc4_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc4_" + +#define YYPURE 0 + +#line 2 "quote_calc4.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc4-s.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc4_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc4_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc4_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc4_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc4_sindex[] = { 0, + -38, 4, -36, 0, -51, -36, 6, -121, -249, 0, + 0, -243, -36, -23, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc4_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 12, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 14, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc4_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 259 +static const short quote_calc4_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 10, 16, 15, 17, 25, 18, 23, + 19, 4, 20, 5, 21, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 17, 0, + 18, 0, 19, 0, 20, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 0, 16, 15, 16, + 15, 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc4_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 10, 258, 10, 260, 41, 262, 269, + 264, 10, 266, 10, 268, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 258, -1, 260, -1, + 262, -1, 264, -1, 266, -1, 268, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + -1, 260, -1, 260, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 258, -1, 260, -1, 262, -1, + 264, -1, 266, -1, 268, -1, -1, 258, 258, 260, + 260, 262, 262, 264, 264, 266, 266, 268, 268, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD-operator\"","OP_SUB","\"SUB-operator\"","OP_MUL", +"\"MUL-operator\"","OP_DIV","\"DIV-operator\"","OP_MOD","\"MOD-operator\"", +"OP_AND","\"AND-operator\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr \"ADD-operator\" expr", +"expr : expr \"SUB-operator\" expr", +"expr : expr \"MUL-operator\" expr", +"expr : expr \"DIV-operator\" expr", +"expr : expr \"MOD-operator\" expr", +"expr : expr \"AND-operator\" expr", +"expr : expr '|' expr", +"expr : \"SUB-operator\" expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc4.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 362 "quote_calc4-s.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc4.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc4.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc4.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc4.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc4.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc4.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc4.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc4.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc4.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc4.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc4.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc4.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc4.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc4.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc4.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 628 "quote_calc4-s.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc4-s.tab.h b/external/bsd/byacc/dist/test/quote_calc4-s.tab.h new file mode 100644 index 000000000..882aeed5b --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4-s.tab.h @@ -0,0 +1,11 @@ +/* $NetBSD: quote_calc4-s.tab.h,v 1.1.1.1 2013/04/06 14:45:29 christos Exp $ */ + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc4.output b/external/bsd/byacc/dist/test/quote_calc4.output new file mode 100644 index 000000000..a1d5afc95 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4.output @@ -0,0 +1,557 @@ + 0 $accept : list $end + + 1 list : + 2 | list stat '\n' + 3 | list error '\n' + + 4 stat : expr + 5 | LETTER '=' expr + + 6 expr : '(' expr ')' + 7 | expr "ADD-operator" expr + 8 | expr "SUB-operator" expr + 9 | expr "MUL-operator" expr + 10 | expr "DIV-operator" expr + 11 | expr "MOD-operator" expr + 12 | expr "AND-operator" expr + 13 | expr '|' expr + 14 | "SUB-operator" expr + 15 | LETTER + 16 | number + + 17 number : DIGIT + 18 | number DIGIT + +state 0 + $accept : . list $end (0) + list : . (1) + + . reduce 1 + + list goto 1 + + +state 1 + $accept : list . $end (0) + list : list . stat '\n' (2) + list : list . error '\n' (3) + + $end accept + error shift 2 + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 5 + '(' shift 6 + . error + + stat goto 7 + expr goto 8 + number goto 9 + + +state 2 + list : list error . '\n' (3) + + '\n' shift 10 + . error + + +state 3 + expr : "SUB-operator" . expr (14) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 12 + number goto 9 + + +state 4 + number : DIGIT . (17) + + . reduce 17 + + +state 5 + stat : LETTER . '=' expr (5) + expr : LETTER . (15) + + '=' shift 13 + "ADD-operator" reduce 15 + "SUB-operator" reduce 15 + "MUL-operator" reduce 15 + "DIV-operator" reduce 15 + "MOD-operator" reduce 15 + "AND-operator" reduce 15 + '|' reduce 15 + '\n' reduce 15 + + +state 6 + expr : '(' . expr ')' (6) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 14 + number goto 9 + + +state 7 + list : list stat . '\n' (2) + + '\n' shift 15 + . error + + +state 8 + stat : expr . (4) + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 4 + + +state 9 + expr : number . (16) + number : number . DIGIT (18) + + DIGIT shift 23 + "ADD-operator" reduce 16 + "SUB-operator" reduce 16 + "MUL-operator" reduce 16 + "DIV-operator" reduce 16 + "MOD-operator" reduce 16 + "AND-operator" reduce 16 + '|' reduce 16 + '\n' reduce 16 + ')' reduce 16 + + +state 10 + list : list error '\n' . (3) + + . reduce 3 + + +state 11 + expr : LETTER . (15) + + . reduce 15 + + +12: shift/reduce conflict (shift 16, reduce 14) on "ADD-operator" +12: shift/reduce conflict (shift 17, reduce 14) on "SUB-operator" +12: shift/reduce conflict (shift 18, reduce 14) on "MUL-operator" +12: shift/reduce conflict (shift 19, reduce 14) on "DIV-operator" +12: shift/reduce conflict (shift 20, reduce 14) on "MOD-operator" +12: shift/reduce conflict (shift 21, reduce 14) on "AND-operator" +state 12 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + expr : "SUB-operator" expr . (14) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' reduce 14 + '\n' reduce 14 + ')' reduce 14 + + +state 13 + stat : LETTER '=' . expr (5) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 24 + number goto 9 + + +state 14 + expr : '(' expr . ')' (6) + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + ')' shift 25 + . error + + +state 15 + list : list stat '\n' . (2) + + . reduce 2 + + +state 16 + expr : expr "ADD-operator" . expr (7) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 26 + number goto 9 + + +state 17 + expr : expr "SUB-operator" . expr (8) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 27 + number goto 9 + + +state 18 + expr : expr "MUL-operator" . expr (9) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 28 + number goto 9 + + +state 19 + expr : expr "DIV-operator" . expr (10) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 29 + number goto 9 + + +state 20 + expr : expr "MOD-operator" . expr (11) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 30 + number goto 9 + + +state 21 + expr : expr "AND-operator" . expr (12) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 31 + number goto 9 + + +state 22 + expr : expr '|' . expr (13) + + "SUB-operator" shift 3 + DIGIT shift 4 + LETTER shift 11 + '(' shift 6 + . error + + expr goto 32 + number goto 9 + + +state 23 + number : number DIGIT . (18) + + . reduce 18 + + +state 24 + stat : LETTER '=' expr . (5) + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 5 + + +state 25 + expr : '(' expr ')' . (6) + + . reduce 6 + + +26: shift/reduce conflict (shift 16, reduce 7) on "ADD-operator" +26: shift/reduce conflict (shift 17, reduce 7) on "SUB-operator" +26: shift/reduce conflict (shift 18, reduce 7) on "MUL-operator" +26: shift/reduce conflict (shift 19, reduce 7) on "DIV-operator" +26: shift/reduce conflict (shift 20, reduce 7) on "MOD-operator" +26: shift/reduce conflict (shift 21, reduce 7) on "AND-operator" +26: shift/reduce conflict (shift 22, reduce 7) on '|' +state 26 + expr : expr . "ADD-operator" expr (7) + expr : expr "ADD-operator" expr . (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 7 + ')' reduce 7 + + +27: shift/reduce conflict (shift 16, reduce 8) on "ADD-operator" +27: shift/reduce conflict (shift 17, reduce 8) on "SUB-operator" +27: shift/reduce conflict (shift 18, reduce 8) on "MUL-operator" +27: shift/reduce conflict (shift 19, reduce 8) on "DIV-operator" +27: shift/reduce conflict (shift 20, reduce 8) on "MOD-operator" +27: shift/reduce conflict (shift 21, reduce 8) on "AND-operator" +27: shift/reduce conflict (shift 22, reduce 8) on '|' +state 27 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr "SUB-operator" expr . (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 8 + ')' reduce 8 + + +28: shift/reduce conflict (shift 16, reduce 9) on "ADD-operator" +28: shift/reduce conflict (shift 17, reduce 9) on "SUB-operator" +28: shift/reduce conflict (shift 18, reduce 9) on "MUL-operator" +28: shift/reduce conflict (shift 19, reduce 9) on "DIV-operator" +28: shift/reduce conflict (shift 20, reduce 9) on "MOD-operator" +28: shift/reduce conflict (shift 21, reduce 9) on "AND-operator" +28: shift/reduce conflict (shift 22, reduce 9) on '|' +state 28 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr "MUL-operator" expr . (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 9 + ')' reduce 9 + + +29: shift/reduce conflict (shift 16, reduce 10) on "ADD-operator" +29: shift/reduce conflict (shift 17, reduce 10) on "SUB-operator" +29: shift/reduce conflict (shift 18, reduce 10) on "MUL-operator" +29: shift/reduce conflict (shift 19, reduce 10) on "DIV-operator" +29: shift/reduce conflict (shift 20, reduce 10) on "MOD-operator" +29: shift/reduce conflict (shift 21, reduce 10) on "AND-operator" +29: shift/reduce conflict (shift 22, reduce 10) on '|' +state 29 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr "DIV-operator" expr . (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 10 + ')' reduce 10 + + +30: shift/reduce conflict (shift 16, reduce 11) on "ADD-operator" +30: shift/reduce conflict (shift 17, reduce 11) on "SUB-operator" +30: shift/reduce conflict (shift 18, reduce 11) on "MUL-operator" +30: shift/reduce conflict (shift 19, reduce 11) on "DIV-operator" +30: shift/reduce conflict (shift 20, reduce 11) on "MOD-operator" +30: shift/reduce conflict (shift 21, reduce 11) on "AND-operator" +30: shift/reduce conflict (shift 22, reduce 11) on '|' +state 30 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr "MOD-operator" expr . (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 11 + ')' reduce 11 + + +31: shift/reduce conflict (shift 16, reduce 12) on "ADD-operator" +31: shift/reduce conflict (shift 17, reduce 12) on "SUB-operator" +31: shift/reduce conflict (shift 18, reduce 12) on "MUL-operator" +31: shift/reduce conflict (shift 19, reduce 12) on "DIV-operator" +31: shift/reduce conflict (shift 20, reduce 12) on "MOD-operator" +31: shift/reduce conflict (shift 21, reduce 12) on "AND-operator" +31: shift/reduce conflict (shift 22, reduce 12) on '|' +state 31 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr "AND-operator" expr . (12) + expr : expr . '|' expr (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' shift 22 + '\n' reduce 12 + ')' reduce 12 + + +32: shift/reduce conflict (shift 16, reduce 13) on "ADD-operator" +32: shift/reduce conflict (shift 17, reduce 13) on "SUB-operator" +32: shift/reduce conflict (shift 18, reduce 13) on "MUL-operator" +32: shift/reduce conflict (shift 19, reduce 13) on "DIV-operator" +32: shift/reduce conflict (shift 20, reduce 13) on "MOD-operator" +32: shift/reduce conflict (shift 21, reduce 13) on "AND-operator" +state 32 + expr : expr . "ADD-operator" expr (7) + expr : expr . "SUB-operator" expr (8) + expr : expr . "MUL-operator" expr (9) + expr : expr . "DIV-operator" expr (10) + expr : expr . "MOD-operator" expr (11) + expr : expr . "AND-operator" expr (12) + expr : expr . '|' expr (13) + expr : expr '|' expr . (13) + + "ADD-operator" shift 16 + "SUB-operator" shift 17 + "MUL-operator" shift 18 + "DIV-operator" shift 19 + "MOD-operator" shift 20 + "AND-operator" shift 21 + '|' reduce 13 + '\n' reduce 13 + ')' reduce 13 + + +State 12 contains 6 shift/reduce conflicts. +State 26 contains 7 shift/reduce conflicts. +State 27 contains 7 shift/reduce conflicts. +State 28 contains 7 shift/reduce conflicts. +State 29 contains 7 shift/reduce conflicts. +State 30 contains 7 shift/reduce conflicts. +State 31 contains 7 shift/reduce conflicts. +State 32 contains 6 shift/reduce conflicts. + + +28 terminals, 5 nonterminals +19 grammar rules, 33 states diff --git a/external/bsd/byacc/dist/test/quote_calc4.tab.c b/external/bsd/byacc/dist/test/quote_calc4.tab.c new file mode 100644 index 000000000..64bdea657 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4.tab.c @@ -0,0 +1,690 @@ +/* $NetBSD: quote_calc4.tab.c,v 1.1.1.1 2013/04/06 14:45:29 christos Exp $ */ + +#ifndef lint +static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; +#endif + +#define YYBYACC 1 +#define YYMAJOR 1 +#define YYMINOR 9 + +#define YYEMPTY (-1) +#define yyclearin (yychar = YYEMPTY) +#define yyerrok (yyerrflag = 0) +#define YYRECOVERING() (yyerrflag != 0) + + +#ifndef yyparse +#define yyparse quote_calc4_parse +#endif /* yyparse */ + +#ifndef yylex +#define yylex quote_calc4_lex +#endif /* yylex */ + +#ifndef yyerror +#define yyerror quote_calc4_error +#endif /* yyerror */ + +#ifndef yychar +#define yychar quote_calc4_char +#endif /* yychar */ + +#ifndef yyval +#define yyval quote_calc4_val +#endif /* yyval */ + +#ifndef yylval +#define yylval quote_calc4_lval +#endif /* yylval */ + +#ifndef yydebug +#define yydebug quote_calc4_debug +#endif /* yydebug */ + +#ifndef yynerrs +#define yynerrs quote_calc4_nerrs +#endif /* yynerrs */ + +#ifndef yyerrflag +#define yyerrflag quote_calc4_errflag +#endif /* yyerrflag */ + +#ifndef yylhs +#define yylhs quote_calc4_lhs +#endif /* yylhs */ + +#ifndef yylen +#define yylen quote_calc4_len +#endif /* yylen */ + +#ifndef yydefred +#define yydefred quote_calc4_defred +#endif /* yydefred */ + +#ifndef yydgoto +#define yydgoto quote_calc4_dgoto +#endif /* yydgoto */ + +#ifndef yysindex +#define yysindex quote_calc4_sindex +#endif /* yysindex */ + +#ifndef yyrindex +#define yyrindex quote_calc4_rindex +#endif /* yyrindex */ + +#ifndef yygindex +#define yygindex quote_calc4_gindex +#endif /* yygindex */ + +#ifndef yytable +#define yytable quote_calc4_table +#endif /* yytable */ + +#ifndef yycheck +#define yycheck quote_calc4_check +#endif /* yycheck */ + +#ifndef yyname +#define yyname quote_calc4_name +#endif /* yyname */ + +#ifndef yyrule +#define yyrule quote_calc4_rule +#endif /* yyrule */ +#define YYPREFIX "quote_calc4_" + +#define YYPURE 0 + +#line 2 "quote_calc4.y" +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +#line 109 "quote_calc4.tab.c" + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 +#define YYERRCODE 256 +static const short quote_calc4_lhs[] = { -1, + 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 3, 3, +}; +static const short quote_calc4_len[] = { 2, + 0, 3, 3, 1, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 1, 1, 1, 2, +}; +static const short quote_calc4_defred[] = { 1, + 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, + 15, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 18, 0, 6, 0, 0, 0, 0, 0, + 0, 0, +}; +static const short quote_calc4_dgoto[] = { 1, + 7, 8, 9, +}; +static const short quote_calc4_sindex[] = { 0, + -38, 4, -36, 0, -51, -36, 6, -121, -249, 0, + 0, -243, -36, -23, 0, -36, -36, -36, -36, -36, + -36, -36, 0, -121, 0, -121, -121, -121, -121, -121, + -121, -243, +}; +static const short quote_calc4_rindex[] = { 0, + 0, 0, 0, 0, -9, 0, 0, 12, -10, 0, + 0, -5, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 14, 0, -3, -2, -1, 1, 2, + 3, -4, +}; +static const short quote_calc4_gindex[] = { 0, + 0, 42, 0, +}; +#define YYTABLESIZE 259 +static const short quote_calc4_table[] = { 16, + 15, 6, 22, 6, 14, 13, 7, 8, 9, 13, + 10, 11, 12, 10, 16, 15, 17, 25, 18, 23, + 19, 4, 20, 5, 21, 0, 0, 0, 0, 0, + 16, 0, 0, 0, 0, 14, 13, 7, 8, 9, + 0, 10, 11, 12, 12, 0, 0, 14, 0, 0, + 0, 0, 0, 0, 24, 0, 0, 26, 27, 28, + 29, 30, 31, 32, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 15, 0, 0, 0, 14, 13, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 16, 0, 17, 0, + 18, 0, 19, 0, 20, 0, 21, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, + 0, 3, 0, 3, 0, 0, 0, 0, 0, 0, + 4, 5, 4, 11, 16, 0, 17, 0, 18, 0, + 19, 0, 20, 0, 21, 0, 0, 16, 15, 16, + 15, 16, 15, 16, 15, 16, 15, 16, 15, +}; +static const short quote_calc4_check[] = { 10, + 10, 40, 124, 40, 10, 10, 10, 10, 10, 61, + 10, 10, 10, 10, 258, 10, 260, 41, 262, 269, + 264, 10, 266, 10, 268, -1, -1, -1, -1, -1, + 41, -1, -1, -1, -1, 41, 41, 41, 41, 41, + -1, 41, 41, 41, 3, -1, -1, 6, -1, -1, + -1, -1, -1, -1, 13, -1, -1, 16, 17, 18, + 19, 20, 21, 22, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 124, -1, -1, -1, 124, 124, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 258, -1, 260, -1, + 262, -1, 264, -1, 266, -1, 268, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, + -1, 260, -1, 260, -1, -1, -1, -1, -1, -1, + 269, 270, 269, 270, 258, -1, 260, -1, 262, -1, + 264, -1, 266, -1, 268, -1, -1, 258, 258, 260, + 260, 262, 262, 264, 264, 266, 266, 268, 268, +}; +#define YYFINAL 1 +#ifndef YYDEBUG +#define YYDEBUG 0 +#endif +#define YYMAXTOKEN 271 +#if YYDEBUG +static const char *yyname[] = { + +"end-of-file",0,0,0,0,0,0,0,0,0,"'\\n'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"'%'","'&'",0,"'('","')'","'*'","'+'",0,"'-'",0,"'/'",0,0,0,0,0,0,0, +0,0,0,0,0,0,"'='",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'|'",0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,"OP_ADD","\"ADD-operator\"","OP_SUB","\"SUB-operator\"","OP_MUL", +"\"MUL-operator\"","OP_DIV","\"DIV-operator\"","OP_MOD","\"MOD-operator\"", +"OP_AND","\"AND-operator\"","DIGIT","LETTER","UMINUS", +}; +static const char *yyrule[] = { +"$accept : list", +"list :", +"list : list stat '\\n'", +"list : list error '\\n'", +"stat : expr", +"stat : LETTER '=' expr", +"expr : '(' expr ')'", +"expr : expr \"ADD-operator\" expr", +"expr : expr \"SUB-operator\" expr", +"expr : expr \"MUL-operator\" expr", +"expr : expr \"DIV-operator\" expr", +"expr : expr \"MOD-operator\" expr", +"expr : expr \"AND-operator\" expr", +"expr : expr '|' expr", +"expr : \"SUB-operator\" expr", +"expr : LETTER", +"expr : number", +"number : DIGIT", +"number : number DIGIT", + +}; +#endif + +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; + +/* define the initial stack-sizes */ +#ifdef YYSTACKSIZE +#undef YYMAXDEPTH +#define YYMAXDEPTH YYSTACKSIZE +#else +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 500 +#define YYMAXDEPTH 500 +#endif +#endif + +#define YYINITSTACKSIZE 500 + +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; +#line 73 "quote_calc4.y" + /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} +#line 362 "quote_calc4.tab.c" + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + +/* allocate initial stack or double stack size, up to YYMAXDEPTH */ +static int yygrowstack(YYSTACKDATA *data) +{ + int i; + unsigned newsize; + short *newss; + YYSTYPE *newvs; + + if ((newsize = data->stacksize) == 0) + newsize = YYINITSTACKSIZE; + else if (newsize >= YYMAXDEPTH) + return -1; + else if ((newsize *= 2) > YYMAXDEPTH) + newsize = YYMAXDEPTH; + + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); + if (newss == 0) + return -1; + + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); + if (newvs == 0) + return -1; + + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; + return 0; +} + +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + +#define YYABORT goto yyabort +#define YYREJECT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab + +int +YYPARSE_DECL() +{ + int yym, yyn, yystate; +#if YYDEBUG + const char *yys; + + if ((yys = getenv("YYDEBUG")) != 0) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } +#endif + + yynerrs = 0; + yyerrflag = 0; + yychar = YYEMPTY; + yystate = 0; + +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; + yystate = 0; + *yystack.s_mark = 0; + +yyloop: + if ((yyn = yydefred[yystate]) != 0) goto yyreduce; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, shifting to state %d\n", + YYPREFIX, yystate, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + yychar = YYEMPTY; + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; + + yyerror("syntax error"); + + goto yyerrlab; + +yyerrlab: + ++yynerrs; + +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, error recovery shifting\ + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + yystate = yytable[yyn]; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; + goto yyloop; + } + else + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: error recovery discarding state %d\n", + YYPREFIX, *yystack.s_mark); +#endif + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; + } + } + } + else + { + if (yychar == 0) goto yyabort; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, error recovery discards token %d (%s)\n", + YYPREFIX, yystate, yychar, yys); + } +#endif + yychar = YYEMPTY; + goto yyloop; + } + +yyreduce: +#if YYDEBUG + if (yydebug) + printf("%sdebug: state %d, reducing by rule %d (%s)\n", + YYPREFIX, yystate, yyn, yyrule[yyn]); +#endif + yym = yylen[yyn]; + if (yym) + yyval = yystack.l_mark[1-yym]; + else + memset(&yyval, 0, sizeof yyval); + switch (yyn) + { +case 3: +#line 35 "quote_calc4.y" + { yyerrok ; } +break; +case 4: +#line 39 "quote_calc4.y" + { printf("%d\n",yystack.l_mark[0]);} +break; +case 5: +#line 41 "quote_calc4.y" + { regs[yystack.l_mark[-2]] = yystack.l_mark[0]; } +break; +case 6: +#line 45 "quote_calc4.y" + { yyval = yystack.l_mark[-1]; } +break; +case 7: +#line 47 "quote_calc4.y" + { yyval = yystack.l_mark[-2] + yystack.l_mark[0]; } +break; +case 8: +#line 49 "quote_calc4.y" + { yyval = yystack.l_mark[-2] - yystack.l_mark[0]; } +break; +case 9: +#line 51 "quote_calc4.y" + { yyval = yystack.l_mark[-2] * yystack.l_mark[0]; } +break; +case 10: +#line 53 "quote_calc4.y" + { yyval = yystack.l_mark[-2] / yystack.l_mark[0]; } +break; +case 11: +#line 55 "quote_calc4.y" + { yyval = yystack.l_mark[-2] % yystack.l_mark[0]; } +break; +case 12: +#line 57 "quote_calc4.y" + { yyval = yystack.l_mark[-2] & yystack.l_mark[0]; } +break; +case 13: +#line 59 "quote_calc4.y" + { yyval = yystack.l_mark[-2] | yystack.l_mark[0]; } +break; +case 14: +#line 61 "quote_calc4.y" + { yyval = - yystack.l_mark[0]; } +break; +case 15: +#line 63 "quote_calc4.y" + { yyval = regs[yystack.l_mark[0]]; } +break; +case 17: +#line 68 "quote_calc4.y" + { yyval = yystack.l_mark[0]; base = (yystack.l_mark[0]==0) ? 8 : 10; } +break; +case 18: +#line 70 "quote_calc4.y" + { yyval = base * yystack.l_mark[-1] + yystack.l_mark[0]; } +break; +#line 628 "quote_calc4.tab.c" + } + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state 0 to\ + state %d\n", YYPREFIX, YYFINAL); +#endif + yystate = YYFINAL; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; + if (yychar < 0) + { + if ((yychar = YYLEX) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("%sdebug: state %d, reading %d (%s)\n", + YYPREFIX, YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#if YYDEBUG + if (yydebug) + printf("%sdebug: after reduction, shifting from state %d \ +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); +#endif + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) + { + goto yyoverflow; + } + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; + goto yyloop; + +yyoverflow: + yyerror("yacc stack overflow"); + +yyabort: + yyfreestack(&yystack); + return (1); + +yyaccept: + yyfreestack(&yystack); + return (0); +} diff --git a/external/bsd/byacc/dist/test/quote_calc4.tab.h b/external/bsd/byacc/dist/test/quote_calc4.tab.h new file mode 100644 index 000000000..8b775aac6 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4.tab.h @@ -0,0 +1,11 @@ +/* $NetBSD: quote_calc4.tab.h,v 1.1.1.1 2013/04/06 14:45:27 christos Exp $ */ + +#define OP_ADD 257 +#define OP_SUB 259 +#define OP_MUL 261 +#define OP_DIV 263 +#define OP_MOD 265 +#define OP_AND 267 +#define DIGIT 269 +#define LETTER 270 +#define UMINUS 271 diff --git a/external/bsd/byacc/dist/test/quote_calc4.y b/external/bsd/byacc/dist/test/quote_calc4.y new file mode 100644 index 000000000..45ea9bbf0 --- /dev/null +++ b/external/bsd/byacc/dist/test/quote_calc4.y @@ -0,0 +1,114 @@ +/* $NetBSD: quote_calc4.y,v 1.1.1.1 2013/04/06 14:45:29 christos Exp $ */ + +%{ +# include +# include + +int regs[26]; +int base; + +int yylex(void); +static void yyerror(const char *s); + +%} + +%start list + +%token OP_ADD "ADD-operator" +%token OP_SUB "SUB-operator" +%token OP_MUL "MUL-operator" +%token OP_DIV "DIV-operator" +%token OP_MOD "MOD-operator" +%token OP_AND "AND-operator" + +%token DIGIT LETTER + +%left '|' +%left '&' +%left '+' '-' +%left '*' '/' '%' +%left UMINUS /* supplies precedence for unary minus */ + +%% /* beginning of rules section */ + +list : /* empty */ + | list stat '\n' + | list error '\n' + { yyerrok ; } + ; + +stat : expr + { printf("%d\n",$1);} + | LETTER '=' expr + { regs[$1] = $3; } + ; + +expr : '(' expr ')' + { $$ = $2; } + | expr "ADD-operator" expr + { $$ = $1 + $3; } + | expr "SUB-operator" expr + { $$ = $1 - $3; } + | expr "MUL-operator" expr + { $$ = $1 * $3; } + | expr "DIV-operator" expr + { $$ = $1 / $3; } + | expr "MOD-operator" expr + { $$ = $1 % $3; } + | expr "AND-operator" expr + { $$ = $1 & $3; } + | expr '|' expr + { $$ = $1 | $3; } + | "SUB-operator" expr %prec UMINUS + { $$ = - $2; } + | LETTER + { $$ = regs[$1]; } + | number + ; + +number: DIGIT + { $$ = $1; base = ($1==0) ? 8 : 10; } + | number DIGIT + { $$ = base * $1 + $2; } + ; + +%% /* start of programs */ + +int +main (void) +{ + while(!feof(stdin)) { + yyparse(); + } + return 0; +} + +static void +yyerror(const char *s) +{ + fprintf(stderr, "%s\n", s); +} + +int +yylex(void) { + /* lexical analysis routine */ + /* returns LETTER for a lower case letter, yylval = 0 through 25 */ + /* return DIGIT for a digit, yylval = 0 through 9 */ + /* all other characters are returned immediately */ + + int c; + + while( (c=getchar()) == ' ' ) { /* skip blanks */ } + + /* c is now nonblank */ + + if( islower( c )) { + yylval = c - 'a'; + return ( LETTER ); + } + if( isdigit( c )) { + yylval = c - '0'; + return ( DIGIT ); + } + return( c ); +} diff --git a/external/bsd/byacc/dist/test/run_lint.sh b/external/bsd/byacc/dist/test/run_lint.sh index d846a9290..8742b1c3d 100644 --- a/external/bsd/byacc/dist/test/run_lint.sh +++ b/external/bsd/byacc/dist/test/run_lint.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Id: run_lint.sh,v 1.1 2010/06/08 09:00:58 tom Exp +# Id: run_lint.sh,v 1.1 2010/06/08 09:00:58 tom Exp # vi:ts=4 sw=4: # run lint on each of the ".c" files in the test directory diff --git a/external/bsd/byacc/dist/test/run_make.sh b/external/bsd/byacc/dist/test/run_make.sh index 560fbb338..22669be6b 100644 --- a/external/bsd/byacc/dist/test/run_make.sh +++ b/external/bsd/byacc/dist/test/run_make.sh @@ -1,9 +1,11 @@ #!/bin/sh -# Id: run_make.sh,v 1.1 2010/06/08 09:00:39 tom Exp +# Id: run_make.sh,v 1.9 2012/01/15 22:35:01 tom Exp # vi:ts=4 sw=4: # do a test-compile on each of the ".c" files in the test-directory +BISON=`bison --version 2>/dev/null | head -n 1 | sed -e 's/^[^0-9.]*//' -e 's/[^0-9.]*$//'` + if test $# = 1 then PROG_DIR=`pwd` @@ -13,10 +15,125 @@ else TEST_DIR=. fi +MY_MAKE="make -f $PROG_DIR/makefile srcdir=$PROG_DIR VPATH=$TEST_DIR" + echo '** '`date` -for i in ${TEST_DIR}/*.c +for input in ${TEST_DIR}/*.c do - obj=`echo "$i" |sed -e 's/\.c$/.o/'` - make -f $PROG_DIR/makefile $obj C_FILES=$i srcdir=$PROG_DIR + test -f "$input" || continue + + obj=`basename "$input" .c`.o + + $MY_MAKE $obj C_FILES=$input test -f $obj && rm $obj + + DEFS= + case $input in #(vi + ${TEST_DIR}/pure_*) + # DEFS="-DYYLEX_PARAM=flag -DYYLEX_PARAM_TYPE=int" + ;; + esac + + if test "x$DEFS" != "x" + then + $MY_MAKE $obj C_FILES=$input DEFINES="$DEFS" + test -f $obj && rm -f $obj + fi done + +if test -n "$BISON" +then + echo "** compare with bison $BISON" + for input in ${TEST_DIR}/*.y + do + test -f "$input" || continue + + # Bison does not support pure-parser from command-line. + # Also, its support for %expect is generally broken. + # Work around these issues using a temporary file. + + echo "... testing $input" + rm -f run_make.[coy] + + case $input in + pure_*) + if test -z `fgrep -l '%pure-parser' $input` + then + echo "%pure-parser" >>run_make.y + fi + ;; + esac + + sed -e '/^%expect/s,%expect.*,,' $input >>run_make.y + + bison -y run_make.y + sed -e '/^#line/s,"run_make.y","'$input'",' y.tab.c >run_make.c + + rm -f y.tab.c + + input=run_make.c + object=run_make.o + if test -f $input + then + $MY_MAKE $object DEFINES='-DYYENABLE_NLS=0 -DYYLTYPE_IS_TRIVIAL=1 -DYYSTACK_USE_ALLOCA=0 -DYYMAXDEPTH=0' + else + echo "?? $input not found" + fi + rm -f run_make.[coy] + done +fi + +YACC= +for name in /usr/ccs/bin/yacc +do + if test -f $name + then + YACC=$name + fi +done + +if test -n "$YACC" +then + echo "** compare with $YACC" + for input in ${TEST_DIR}/*.y + do + test -f "$input" || continue + + echo "... testing $input" + rm -f run_make.[coy] + + case $input in + pure_*) + echo "... skipping $input" + continue; + ;; + *) + if fgrep '%pure-parser' $input >/dev/null || + fgrep '%parse-param' $input >/dev/null || + fgrep '%lex-param' $input >/dev/null || + fgrep 'YYLEX_PARAM' $input >/dev/null + then + echo "... skipping $input" + continue; + fi + ;; + esac + + sed -e '/^%expect/s,%expect.*,,' $input >>run_make.y + + $YACC run_make.y + sed -e '/^#line/s,"run_make.y","'$input'",' y.tab.c >run_make.c + + rm -f y.tab.c + + input=run_make.c + object=run_make.o + if test -f $input + then + $MY_MAKE $object + else + echo "?? $input not found" + fi + rm -f run_make.[coy] + done +fi diff --git a/external/bsd/byacc/dist/test/run_test.sh b/external/bsd/byacc/dist/test/run_test.sh index cff9f9e00..f96c1c3e2 100644 --- a/external/bsd/byacc/dist/test/run_test.sh +++ b/external/bsd/byacc/dist/test/run_test.sh @@ -1,5 +1,5 @@ #!/bin/sh -# Id: run_test.sh,v 1.6 2010/06/08 08:53:38 tom Exp +# Id: run_test.sh,v 1.8 2012/01/15 11:50:35 tom Exp # vi:ts=4 sw=4: if test $# = 1 @@ -14,22 +14,24 @@ fi YACC=$PROG_DIR/yacc tmpfile=temp$$ +rm -f test-* echo '** '`date` -for i in ${TEST_DIR}/*.y +for input in ${TEST_DIR}/*.y do - case $i in + case $input in test*) - echo "?? ignored $i" + echo "?? ignored $input" ;; *) - root=`basename $i .y` + root=`basename $input .y` ROOT="test-$root" prefix=${root}_ OPTS= + OPT2= TYPE=".output .tab.c .tab.h" - case $i in + case $input in ${TEST_DIR}/code_*) OPTS="$OPTS -r" TYPE="$TYPE .code.c" @@ -39,34 +41,41 @@ do OPTS="$OPTS -P" prefix=`echo "$prefix" | sed -e 's/^pure_//'` ;; + ${TEST_DIR}/quote_*) + OPT2="-s" + ;; esac - $YACC $OPTS -v -d -p $prefix -b $ROOT $i - for type in $TYPE + for opt2 in "" $OPT2 do - REF=${TEST_DIR}/${root}${type} - CMP=${ROOT}${type} - if test ! -f $CMP ; then - echo "...not found $CMP" - continue - fi - sed -e s,$CMP,$REF, \ - -e /YYPATCH/d \ - -e 's,#line \([1-9][0-9]*\) "'$TEST_DIR'/,#line \1 ",' \ - < $CMP >$tmpfile \ - && mv $tmpfile $CMP - if test ! -f $REF - then - mv $CMP $REF - echo "...saved $REF" - elif ( cmp -s $REF $CMP ) - then - echo "...ok $REF" - rm -f $CMP - else - echo "...diff $REF" - diff -u $REF $CMP - fi + $YACC $OPTS $opt2 -v -d -p $prefix -b $ROOT${opt2} $input + for type in $TYPE + do + REF=${TEST_DIR}/${root}${opt2}${type} + CMP=${ROOT}${opt2}${type} + if test ! -f $CMP + then + echo "...not found $CMP" + else + sed -e s,$CMP,$REF, \ + -e /YYPATCH/d \ + -e 's,#line \([1-9][0-9]*\) "'$TEST_DIR'/,#line \1 ",' \ + < $CMP >$tmpfile \ + && mv $tmpfile $CMP + if test ! -f $REF + then + mv $CMP $REF + echo "...saved $REF" + elif ( cmp -s $REF $CMP ) + then + echo "...ok $REF" + rm -f $CMP + else + echo "...diff $REF" + diff -u $REF $CMP + fi + fi + done done ;; esac diff --git a/external/bsd/byacc/dist/verbose.c b/external/bsd/byacc/dist/verbose.c index f068b49ff..6af368fdf 100644 --- a/external/bsd/byacc/dist/verbose.c +++ b/external/bsd/byacc/dist/verbose.c @@ -1,10 +1,11 @@ -/* $NetBSD: verbose.c,v 1.6 2011/09/10 21:29:04 christos Exp $ */ -/* Id: verbose.c,v 1.9 2010/06/09 08:58:29 tom Exp */ +/* $NetBSD: verbose.c,v 1.7 2013/04/06 14:52:24 christos Exp $ */ + +/* Id: verbose.c,v 1.10 2012/05/26 00:45:17 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: verbose.c,v 1.6 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: verbose.c,v 1.7 2013/04/06 14:52:24 christos Exp $"); static void log_conflicts(void); static void log_unused(void); @@ -27,7 +28,7 @@ verbose(void) if (!vflag) return; - null_rules = (short *)MALLOC((unsigned)nrules * sizeof(short)); + null_rules = TMALLOC(short, nrules); NO_SPACE(null_rules); fprintf(verbose_file, "\f\n"); diff --git a/external/bsd/byacc/dist/vmsbuild.com b/external/bsd/byacc/dist/vmsbuild.com index ffb63db6d..cf610e0b7 100644 --- a/external/bsd/byacc/dist/vmsbuild.com +++ b/external/bsd/byacc/dist/vmsbuild.com @@ -1,4 +1,4 @@ -$! Id: vmsbuild.com,v 1.1 2000/11/21 00:38:46 tom Exp +$! Id: vmsbuild.com,v 1.1 2000/11/21 00:38:46 tom Exp $! VMS build-script for BYACC. Requires installed C compiler $! $! Screen Configurations diff --git a/external/bsd/byacc/dist/warshall.c b/external/bsd/byacc/dist/warshall.c index 8647e4067..ae50c9e86 100644 --- a/external/bsd/byacc/dist/warshall.c +++ b/external/bsd/byacc/dist/warshall.c @@ -1,10 +1,11 @@ -/* $NetBSD: warshall.c,v 1.6 2011/09/10 21:29:04 christos Exp $ */ -/* Id: warshall.c,v 1.7 2010/06/06 22:48:51 tom Exp */ +/* $NetBSD: warshall.c,v 1.7 2013/04/06 14:52:24 christos Exp $ */ + +/* Id: warshall.c,v 1.7 2010/06/06 22:48:51 tom Exp */ #include "defs.h" #include -__RCSID("$NetBSD: warshall.c,v 1.6 2011/09/10 21:29:04 christos Exp $"); +__RCSID("$NetBSD: warshall.c,v 1.7 2013/04/06 14:52:24 christos Exp $"); static void transitive_closure(unsigned *R, int n) diff --git a/external/bsd/byacc/dist/yacc.1 b/external/bsd/byacc/dist/yacc.1 index bfcbe3670..a026352db 100644 --- a/external/bsd/byacc/dist/yacc.1 +++ b/external/bsd/byacc/dist/yacc.1 @@ -1,9 +1,23 @@ -.\" $NetBSD: yacc.1,v 1.4 2011/09/10 21:29:04 christos Exp $ +.\" $NetBSD: yacc.1,v 1.5 2013/04/06 14:52:24 christos Exp $ .\" -.\" Id: yacc.1,v 1.12 2011/09/08 00:40:44 tom Exp +.\" Id: yacc.1,v 1.18 2012/01/15 18:12:28 tom Exp .\" .\" .TH YACC 1 "July\ 15,\ 1990" .\" .UC 6 +.de ES +.ne 8 +.nf +.sp +.in +4 +.. +.de EE +.in -4 +.fi +.. +.\" Bulleted paragraph +.de bP +.IP \(bu 4 +.. .TH YACC 1 "September 7, 2011" "Berkeley Yacc" "User Commands" .SH NAME Yacc \- an LALR(1) parser generator @@ -26,7 +40,7 @@ normally writes the parse tables and the driver routine to the file .IR y.tab.c. .PP The following options are available: -.TP +.TP 5 \fB\-b \fP\fIfile_prefix\fR The .B \-b @@ -107,6 +121,31 @@ and the tables file is named .IR y.tab.c. The prefix "\fIy.\fP" can be overridden using the \fB\-b\fP option. .TP +.B \-s +suppress "\fB#define\fP" statements generated for string literals in +a "\fB%token\fP" statement, to more closely match original \fByacc\fP behavior. +.IP +Normally when \fByacc\fP sees a line such as +.ES +%token OP_ADD "ADD" +.EE +.IP +it notices that the quoted "ADD" is a valid C identifier, +and generates a #define not only for OP_ADD, +but for ADD as well, +e.g., +.ES +#define OP_ADD 257 +.br +#define ADD 258 +.EE +.IP +The original \fByacc\fP does not generate the second "\fB#define\fP". +The \fB\-s\fP option suppresses this "\fB#define\fP". +.IP +POSIX (IEEE 1003.1 2004) documents only names and numbers for "\fB%token\fP", +though original \fByacc\fP and bison also accept string literals. +.TP .B \-t The .B \-t @@ -123,6 +162,10 @@ be written to the file .TP .B \-V print the version number to the standard output. +.TP +.B \-y +\fByacc\fP ignores this option, +which bison supports for ostensible POSIX compatibility. .SH EXTENSIONS .B yacc provides some extensions for compatibility with bison and other implementations @@ -142,13 +185,57 @@ By default, the lexer accepts no parameters, e.g., \fByylex()\fP. Use this directive to add parameter declarations for your customized lexer. .TP \fB %parse-param\fP { \fIargument-declaration\fP } -By default, the parser accepts no parameters, e.g., \fByyparse()\fP. +By default, the parser accepts no parameters, e.g., \fByyparse()\fP. Use this directive to add parameter declarations for your customized parser. .TP \fB %pure-parser\fP Most variables (other than \fByydebug\fP and \fByynerrs\fP) are allocated on the stack within \fByyparse\fP, making the parser reasonably reentrant. +.SH PORTABILITY +According to Robert Corbett, +.ES + Berkeley Yacc is an LALR(1) parser generator. Berkeley Yacc has been made +as compatible as possible with AT&T Yacc. Berkeley Yacc can accept any input +specification that conforms to the AT&T Yacc documentation. Specifications +that take advantage of undocumented features of AT&T Yacc will probably be +rejected. +.EE +.PP +The rationale in +.ES +http://pubs.opengroup.org/onlinepubs/9699919799/utilities/yacc.html +.EE +.PP +documents some features of AT&T yacc which are no longer required for POSIX +compliance. +.PP +That said, you may be interested in reusing grammary files with some +other implementation which is not strictly compatible with AT&T yacc. +For instance, there is bison. +Here are a few differences: +.bP +\fBYacc\fP accepts an equals mark preceding the left curly brace +of an action (as in the original grammar file \fBftp.y\fP): +.ES + | STAT CRLF + = { + statcmd(); + } +.EE +.bP +\fBYacc\fP and bison emit code in different order, and in particular bison +makes forward reference to common functions such as yylex, yyparse and +yyerror without providing prototypes. +.bP +Bison's support for "%expect" is broken in more than one release. +For best results using bison, delete that directive. +.bP +Bison has no equivalent for some of \fByacc\fP's commmand-line options, +relying on directives embedded in the grammar file. +.bP +Bison's "\fB\-y\fP" option does not affect bison's lack of support for +features of AT&T yacc which were deemed obsolescent. . .SH DIAGNOSTICS If there are rules that are never reduced, the number of such rules is diff --git a/external/bsd/byacc/include/config.h b/external/bsd/byacc/include/config.h index c5ce0cf3c..82aff13b3 100644 --- a/external/bsd/byacc/include/config.h +++ b/external/bsd/byacc/include/config.h @@ -1,10 +1,53 @@ /* config.h. Generated automatically by configure. */ -/* @configure_input@ */ -/* $Id: config.h,v 1.2 2011/09/10 21:32:25 christos Exp $ */ +/* config_h.in. Generated automatically from configure.in by autoheader. */ -#define SYSTEM_NAME "netbsd" -#define MIXEDCASE_FILENAMES 1 -#define CC_HAS_PROTOS 1 +/* Define to noreturn-attribute for gcc */ +/* #undef GCC_NORETURN */ + +/* Define to 1 if the compiler supports gcc-like printf attribute. */ +/* #undef GCC_PRINTF */ + +/* Define to printf-attribute for gcc */ +/* #undef GCC_PRINTFLIKE */ + +/* Define to 1 if the compiler supports gcc-like scanf attribute. */ +/* #undef GCC_SCANF */ + +/* Define to sscanf-attribute for gcc */ +/* #undef GCC_SCANFLIKE */ + +/* Define to unused-attribute for gcc */ +/* #undef GCC_UNUSED */ + +/* Define if you have the header file. */ #define HAVE_FCNTL_H 1 -#define HAVE_ATEXIT 1 + +/* Define if you have the `dbmalloc' library (-ldbmalloc). */ +/* #undef HAVE_LIBDBMALLOC */ + +/* Define if you have the `dmalloc' library (-ldmalloc). */ +/* #undef HAVE_LIBDMALLOC */ + +/* Define to 1 if mkstemp() is available and working. */ #define HAVE_MKSTEMP 1 + +/* Define to 1 if filesystem supports mixed-case filenames. */ +#define MIXEDCASE_FILENAMES 1 + +/* Define to 1 if you want to perform memory-leak testing. */ +/* #undef NO_LEAKS */ + +/* Define to the system name. */ +#define SYSTEM_NAME "minix" + +/* "Define to 1 if you want to use dbmalloc for testing." */ +/* #undef USE_DBMALLOC */ + +/* "Define to 1 if you want to use dmalloc for testing." */ +/* #undef USE_DMALLOC */ + +/* "Define to 1 if you want to use valgrind for testing." */ +/* #undef USE_VALGRIND */ + +/* Define to 1 if you want to perform memory-leak testing. */ +/* #undef YY_NO_LEAKS */ diff --git a/external/bsd/bzip2/dist/bzip2.c b/external/bsd/bzip2/dist/bzip2.c index 7a606fe73..d4b5315ad 100644 --- a/external/bsd/bzip2/dist/bzip2.c +++ b/external/bsd/bzip2/dist/bzip2.c @@ -1,4 +1,4 @@ -/* $NetBSD: bzip2.c,v 1.3 2012/05/07 00:45:47 wiz Exp $ */ +/* $NetBSD: bzip2.c,v 1.4 2013/10/20 03:14:21 christos Exp $ */ /*-----------------------------------------------------------*/ @@ -557,7 +557,7 @@ static Bool testStream ( FILE *zStream ) { BZFILE* bzf = NULL; - Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i; + Int32 bzerr, bzerr_dummy, ret, streamNo, i; UChar obuf[5000]; UChar unused[BZ_MAX_UNUSED]; Int32 nUnused; @@ -580,7 +580,7 @@ Bool testStream ( FILE *zStream ) streamNo++; while (bzerr == BZ_OK) { - nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); + (void)BZ2_bzRead ( &bzerr, bzf, obuf, 5000 ); if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler; } if (bzerr != BZ_STREAM_END) goto errhandler; diff --git a/external/bsd/file/bin/Makefile b/external/bsd/file/bin/Makefile index 740577ce0..98c082d08 100644 --- a/external/bsd/file/bin/Makefile +++ b/external/bsd/file/bin/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2009/05/08 17:28:01 christos Exp $ +# $NetBSD: Makefile,v 1.2 2013/03/23 16:15:57 christos Exp $ .include .include @@ -20,6 +20,9 @@ CLEANFILES+= magic.mgc realall: file magic.mgc .endif +LIBMAGIC!= cd ${.CURDIR}/../lib && ${PRINTOBJDIR} +CPPFLAGS+=-I${LIBMAGIC} + .if ${MKSHARE} != "no" magic.mgc: ${TOOL_MKMAGIC} ${_MKTARGET_CREATE} diff --git a/external/bsd/file/dist/ChangeLog b/external/bsd/file/dist/ChangeLog index 4c19cc603..7b152085d 100644 --- a/external/bsd/file/dist/ChangeLog +++ b/external/bsd/file/dist/ChangeLog @@ -1,3 +1,80 @@ +2013-03-06 21:24 Christos Zoulas + + * fix recursive magic separator printing + +2013-02-26 19:28 Christos Zoulas + + * limit recursion level for mget + * fix pread() related breakage in cdf + * handle offsets properly in recursive "use" + +2013-02-18 10:39 Christos Zoulas + + * add elf reading of debug info to determine if file is stripped + (Jan Kaluza) + * use pread() + +2013-01-25 18:05 Christos Zoulas + + * change mime description size from 64 to 80 to accommodate OOXML. + +2013-01-11 14:50 Christos Zoulas + + * Warn about inconsistent continuation levels. + * Change fsmagic to add a space after it prints. + +2013-01-10 21:00 Christos Zoulas + + * Make getline public so that file can link against it. + Perhaps it is better to rename it, or hide it differently. + Fixes builds on platforms that do not provide it. + +2013-01-07 16:30 Christos Zoulas + + * Add SuS d{,1,2,4,8}, u{,1,2,4,8} and document + what long, int, short, etc is (Guy Harris) + +2013-01-06 11:20 Christos Zoulas + + * add magic_version function and constant + * Redo memory allocation and de-allocation. + (prevents double frees on non mmap platforms) + * Fix bug with name/use having to do with passing + found state from the parent to the child and back. + +2012-12-19 8:47 Christos Zoulas + + * Only print elf capabilities for archs we know (Jan Kaluza) + +2012-10-30 19:14 Christos Zoulas + + * Add "name" and "use" file types in order to look + inside mach-o files. + +2012-09-06 10:40 Christos Zoulas + + * make --version exit 0 (Matthew Schultz) + * add string/T (Jan Kaluza) + +2012-08-09 2:15 Christos Zoulas + + * add z and t modifiers for our own vasprintf + * search for $HOME/.magic.mgc if it is there first + * fix reads from a pipe, and preserve errno + +2012-05-15 13:12 Christos Zoulas + + * use ctime_r, asctime_r + +2012-04-06 17:18 Christos Zoulas + + * Fixes for indirect offsets to handle apple disk formats + +2012-04-03 18:26 Christos Zoulas + + * Add windows date field types + * More info for windows shortcuts (incomplete) + 2012-02-20 17:33 Christos Zoulas * Fix CDF parsing issues found by CERT's fuzzing tool (Will Dormann) diff --git a/external/bsd/file/dist/Makefile.in b/external/bsd/file/dist/Makefile.in index eb5541820..b0d6c3dbf 100644 --- a/external/bsd/file/dist/Makefile.in +++ b/external/bsd/file/dist/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.12.4 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. +# Copyright (C) 1994-2012 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. @@ -15,6 +14,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -51,12 +67,18 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ @@ -66,21 +88,30 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ - distdir dist dist-all distcheck + cscope distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags +CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d "$(distdir)" \ - || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr "$(distdir)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -108,7 +139,10 @@ am__relativize = \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best +DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ @@ -122,6 +156,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -136,6 +171,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -234,21 +270,21 @@ all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: -am--refresh: +am--refresh: Makefile @: $(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) --gnu'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu Makefile + $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -270,10 +306,8 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then \ - rm -f stamp-h1; \ - $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ - else :; fi + @if test ! -f $@; then rm -f stamp-h1; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -296,13 +330,13 @@ distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @failcom='exit 1'; \ +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -311,7 +345,11 @@ $(RECURSIVE_TARGETS): done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -325,37 +363,6 @@ $(RECURSIVE_TARGETS): if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" - -$(RECURSIVE_CLEAN_TARGETS): - @failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ @@ -364,6 +371,10 @@ ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done +cscopelist-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \ + done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -427,8 +438,32 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) + +clean-cscope: + -rm -f cscope.files + +cscope.files: clean-cscope cscopelist-recursive cscopelist + +cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) @@ -464,13 +499,10 @@ distdir: $(DISTFILES) done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -491,43 +523,44 @@ distdir: $(DISTFILES) fi; \ done -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) + $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another @@ -535,23 +568,23 @@ dist dist-all: distdir distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ @@ -559,6 +592,7 @@ distcheck: dist && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ @@ -582,13 +616,21 @@ distcheck: dist && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @$(am__cd) '$(distuninstallcheck_dir)' \ - && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -619,10 +661,15 @@ install-am: all-am installcheck: installcheck-recursive 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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -705,13 +752,15 @@ ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ - ctags-recursive install-am install-strip tags-recursive + cscopelist-recursive ctags-recursive install-am install-strip \ + tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-generic \ - clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ - dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \ - distcheck distclean distclean-generic distclean-hdr \ + all all-am am--refresh check check-am clean clean-cscope \ + clean-generic clean-libtool cscope cscopelist \ + cscopelist-recursive ctags ctags-recursive dist dist-all \ + dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \ + dist-zip distcheck distclean distclean-generic distclean-hdr \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ diff --git a/external/bsd/file/dist/README b/external/bsd/file/dist/README index 2b57a7062..9d5c0d442 100644 --- a/external/bsd/file/dist/README +++ b/external/bsd/file/dist/README @@ -1,5 +1,5 @@ ** README for file(1) Command ** -@(#) $File: README,v 1.44 2011/03/24 13:03:39 rrt Exp $ +@(#) $File: README,v 1.45 2013/01/11 16:51:01 christos Exp $ Mailing List: file@mx.gw.com Bug tracker: http://bugs.gw.com/ @@ -68,15 +68,19 @@ src/apprentice.c - parses /etc/magic to learn magic src/apptype.c - used for OS/2 specific application type magic src/asprintf.c - replacement for OS's that don't have it. src/ascmagic.c - third & last set of tests, based on hardwired assumptions. +src/asctime_r.c - for systems that don't have it. +src/asprintf.c - for systems that don't have it. src/cdf.c - parser for Microsoft Compound Document Files src/cdf_time.c - time converter for CDF. src/compress.c - handles decompressing files to look inside. +src/ctime_r.c - for systems that don't have it. src/encoding.c - handles unicode encodings src/file.c - the main program src/file.h - header file src/fsmagic.c - first set of tests the program runs, based on filesystem info src/funcs.c - utilility functions -src/getopt_long.c - used for OS/2 specific application type magic +src/getopt_long.c - for systems that don't have it. +src/getline.c - for systems that don't have it. src/is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore). src/names.h - header file for ascmagic.c src/magic.c - the libmagic api @@ -84,14 +88,13 @@ src/print.c - print results, errors, warnings. src/readcdf.c - CDF wrapper. src/readelf.[ch] - Stand-alone elf parsing code. src/softmagic.c - 2nd set of tests, based on /etc/magic -src/strlcat.c - used for OS/2 specific application type magic -src/strlcpy.c - used for OS/2 specific application type magic -src/vasprintf.c - used for OS/2 specific application type magic -doc/file.1 - man page for the command -doc/magic.4 - man page for the magic file, courtesy Guy Harris. +src/strlcat.c - for systems that don't have it. +src/strlcpy.c - for systems that don't have it. +src/vasprintf.c - for systems that don't have it. +doc/file.man - man page for the command +doc/magic.man - man page for the magic file, courtesy Guy Harris. Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile. Magdir - directory of /etc/magic pieces - ------------------------------------------------------------------------------ If you submit a new magic entry please make sure you read the following diff --git a/external/bsd/file/dist/TODO b/external/bsd/file/dist/TODO index bdfbdc414..8c0baa490 100644 --- a/external/bsd/file/dist/TODO +++ b/external/bsd/file/dist/TODO @@ -1,6 +1,16 @@ -TODOs live in the TODO section of doc/file.man (i.e. file(1)). They -are more visible there, so please add any further TODOs to that file, -not here. +Most TODOs live in the TODO section of doc/file.man (i.e. file(1)). +They are more visible there, so please add any further TODOs to that +file, not here. More speculative material can live here. (This change was made when Reuben Thomas noticed that all the bugs listed in the BUGS section of the man page had been fixed!) + +--- + +It would be nice to simplify file considerably. For example, +reimplement the apprentice and non-pattern magic methods in Python, +and compile the magic patterns to a giant regex (or something similar) +so that only a small amount of C is needed (because fast execution is +typically only required for soft magic, not the more detailed +information given by hard-wired routines). In this regard, note that +hplip, which is BSD-licensed, has a magic reimplementation in Python. diff --git a/external/bsd/file/dist/aclocal.m4 b/external/bsd/file/dist/aclocal.m4 index 1b1ea5a92..a69157950 100644 --- a/external/bsd/file/dist/aclocal.m4 +++ b/external/bsd/file/dist/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.11 -*- Autoconf -*- +# generated automatically by aclocal 1.12.4 -*- Autoconf -*- + +# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# 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. @@ -13,13 +13,88 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],, -[m4_warning([this file was generated for autoconf 2.64. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. 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'.])]) +To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# visibility.m4 serial 3 (gettext-0.18) +dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl Tests whether the compiler supports the command-line option +dnl -fvisibility=hidden and the function and variable attributes +dnl __attribute__((__visibility__("hidden"))) and +dnl __attribute__((__visibility__("default"))). +dnl Does *not* test for __visibility__("protected") - which has tricky +dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on +dnl MacOS X. +dnl Does *not* test for __visibility__("internal") - which has processor +dnl dependent semantics. +dnl Does *not* test for #pragma GCC visibility push(hidden) - which is +dnl "really only recommended for legacy code". +dnl Set the variable CFLAG_VISIBILITY. +dnl Defines and sets the variable HAVE_VISIBILITY. + +AC_DEFUN([gl_VISIBILITY], +[ + AC_REQUIRE([AC_PROG_CC]) + CFLAG_VISIBILITY= + HAVE_VISIBILITY=0 + if test -n "$GCC"; then + dnl First, check whether -Werror can be added to the command line, or + dnl whether it leads to an error because of some other option that the + dnl user has put into $CC $CFLAGS $CPPFLAGS. + AC_MSG_CHECKING([whether the -Werror option is usable]) + AC_CACHE_VAL([gl_cv_cc_vis_werror], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + AC_TRY_COMPILE([], [], + [gl_cv_cc_vis_werror=yes], + [gl_cv_cc_vis_werror=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_vis_werror]) + dnl Now check whether visibility declarations are supported. + AC_MSG_CHECKING([for simple visibility declarations]) + AC_CACHE_VAL([gl_cv_cc_visibility], [ + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fvisibility=hidden" + dnl We use the option -Werror and a function dummyfunc, because on some + dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning + dnl "visibility attribute not supported in this configuration; ignored" + dnl at the first function definition in every compilation unit, and we + dnl don't want to use the option in this case. + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi + AC_TRY_COMPILE( + [extern __attribute__((__visibility__("hidden"))) int hiddenvar; + extern __attribute__((__visibility__("default"))) int exportedvar; + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void) {}], + [], + [gl_cv_cc_visibility=yes], + [gl_cv_cc_visibility=no]) + CFLAGS="$gl_save_CFLAGS"]) + AC_MSG_RESULT([$gl_cv_cc_visibility]) + if test $gl_cv_cc_visibility = yes; then + CFLAG_VISIBILITY="-fvisibility=hidden" + HAVE_VISIBILITY=1 + fi + fi + AC_SUBST([CFLAG_VISIBILITY]) + AC_SUBST([HAVE_VISIBILITY]) + AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], + [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) +]) + +# Copyright (C) 2002-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -31,10 +106,10 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) # 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' +[am__api_version='1.12' 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], [], +m4_if([$1], [1.12.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -50,22 +125,22 @@ m4_define([_AM_AUTOCONF_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])dnl +[AM_AUTOMAKE_VERSION([1.12.4])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. +# Copyright (C) 2001-2012 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/../..'. +# $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 @@ -84,7 +159,7 @@ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # # 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 +# 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, @@ -110,22 +185,19 @@ 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. +# Copyright (C) 1997-2012 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_PREREQ([2.52])dnl + m4_if([$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 @@ -144,16 +216,14 @@ AC_CONFIG_COMMANDS_PRE( 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. +# Copyright (C) 1999-2012 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 +# 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 @@ -163,7 +233,7 @@ fi])]) # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "GCJ", or "OBJC". +# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # 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 @@ -176,12 +246,13 @@ 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=]) +m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], + [$1], [CXX], [depcc="$CXX" am_compiler_list=], + [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], [OBJCXX], [depcc="$OBJCXX" 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], @@ -189,8 +260,9 @@ AC_CACHE_CHECK([dependency style of $depcc], # 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'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -229,16 +301,16 @@ AC_CACHE_CHECK([dependency style of $depcc], : > 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 + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > 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" + # 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 + # 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 @@ -247,16 +319,16 @@ AC_CACHE_CHECK([dependency style of $depcc], test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # 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 + msvc7 | msvc7msys | 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} @@ -304,7 +376,7 @@ AM_CONDITIONAL([am__fastdep$1], [ # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES +# 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 @@ -314,28 +386,33 @@ 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]) +[AC_ARG_ENABLE([dependency-tracking], [dnl +AS_HELP_STRING( + [--enable-dependency-tracking], + [do not reject slow dependency extractors]) +AS_HELP_STRING( + [--disable-dependency-tracking], + [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl +AC_SUBST([am__nodep])dnl +_AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 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 # ------------------------------ @@ -354,7 +431,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # 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 + # 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. @@ -366,21 +443,19 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # 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 + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` @@ -398,7 +473,7 @@ AC_DEFUN([_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 +# 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], @@ -406,29 +481,14 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Copyright (C) 1996, 1997, 2000, 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. - -# serial 8 - -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) - # 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. +# Copyright (C) 1996-2012 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. @@ -473,31 +533,41 @@ 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_DIAGNOSE([obsolete], +[$0: two- and three-arguments forms are deprecated. For more info, see: +http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_INIT_AUTOMAKE-invocation]) +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_if( + m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), + [ok:ok],, [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 +[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) +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 +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl @@ -508,28 +578,35 @@ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_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 + [_AM_DEPENDENCIES([CC])], + [m4_define([AC_PROG_CC], + m4_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 + [_AM_DEPENDENCIES([CXX])], + [m4_define([AC_PROG_CXX], + m4_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_DEPENDENCIES([OBJC])], + [m4_define([AC_PROG_OBJC], + m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl +dnl Support for Objective C++ was only introduced in Autoconf 2.65, +dnl but we still cater to Autoconf 2.62. +m4_ifdef([AC_PROG_OBJCXX], +[AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], + [_AM_DEPENDENCIES([OBJCXX])], + [m4_define([AC_PROG_OBJCXX], + m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])])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 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 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], @@ -557,7 +634,7 @@ for _am_header in $config_headers :; do 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. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -576,16 +653,14 @@ if test x"${install_sh}" != xset; then install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi -AC_SUBST(install_sh)]) +AC_SUBST([install_sh])]) -# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2003-2012 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], @@ -602,20 +677,17 @@ 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. +# Copyright (C) 1996-2012 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 +# 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]), @@ -623,13 +695,14 @@ AC_DEFUN([AM_MAINTAINER_MODE], [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]) +AC_MSG_CHECKING([whether to enable 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])) + [AS_HELP_STRING([--]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 @@ -641,14 +714,12 @@ 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. +# Copyright (C) 2001-2012 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. @@ -666,7 +737,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# 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 @@ -691,15 +762,12 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1999-2012 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_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. @@ -728,15 +796,12 @@ m4_define([AC_PROG_CC], # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1997-2012 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], @@ -744,7 +809,6 @@ AC_DEFUN([AM_MISSING_PROG], $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. @@ -765,59 +829,31 @@ 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]) + 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. +# Copyright (C) 2001-2012 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)]) +[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)])]) @@ -830,22 +866,16 @@ AC_DEFUN([_AM_IF_OPTION], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 1996-2012 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=' @@ -856,32 +886,40 @@ case `pwd` in esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; + AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac -# Do `set' in a subshell so we don't clobber the current shell's +# 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 + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + 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 + 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 + if test "$[2]" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$[2]" = conftest.file ) then @@ -891,36 +929,85 @@ else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi -AC_MSG_RESULT(yes)]) +AC_MSG_RESULT([yes]) +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi +AC_CONFIG_COMMANDS_PRE( + [AC_MSG_CHECKING([that generated files are newer than configure]) + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + AC_MSG_RESULT([done])]) +rm -f conftest.file +]) -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright (C) 2009-2012 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 1 - # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT -# (`yes' being less verbose, `no' or empty being verbose). +# ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], -[ --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0')]) -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; +[AC_ARG_ENABLE([silent-rules], [dnl +AS_HELP_STRING( + [--enable-silent-rules], + [less verbose build output (undo: "make V=1")]) +AS_HELP_STRING( + [--disable-silent-rules], + [verbose build output (undo: "make V=0")])dnl +]) +case $enable_silent_rules in @%:@ ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac +dnl +dnl A few 'make' implementations (e.g., NonStop OS and NextStep) +dnl do not support nested variable expansions. +dnl See automake bug#9928 and bug#10237. +am_make=${MAKE-make} +AC_CACHE_CHECK([whether $am_make supports nested variables], + [am_cv_make_support_nested_variables], + [if AS_ECHO([['TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi]) +if test $am_cv_make_support_nested_variables = yes; then + dnl Using '$V' instead of '$(V)' breaks IRIX make. + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AC_SUBST([AM_V])dnl +AM_SUBST_NOTMAKE([AM_V])dnl +AC_SUBST([AM_DEFAULT_V])dnl +AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001-2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -928,34 +1015,32 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl # AM_PROG_INSTALL_STRIP # --------------------- -# One issue with vendor `install' (even GNU) is that you can't +# 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 +# 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 +# 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'. +# 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. +# Copyright (C) 2006-2012 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. @@ -963,24 +1048,22 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])]) 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. +# Copyright (C) 2004-2012 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'. +# 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 @@ -991,10 +1074,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # 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]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) @@ -1002,7 +1086,7 @@ AC_MSG_CHECKING([how to create a $1 tar archive]) _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 `-'. +# Solaris sh will not grok spaces in the rhs of '-'. for _am_tool in $_am_tools do case $_am_tool in diff --git a/external/bsd/file/dist/compile b/external/bsd/file/dist/compile index ec64c6220..7b4a9a7e1 100755 --- a/external/bsd/file/dist/compile +++ b/external/bsd/file/dist/compile @@ -1,10 +1,9 @@ #! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. +# Wrapper for compilers which do not understand '-c -o'. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-03-05.13; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software -# Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -29,21 +28,219 @@ scriptversion=2009-04-28.21; # UTC # bugs to or send patches to # . +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + 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'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + 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 +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'. +right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF @@ -53,11 +250,13 @@ EOF echo "compile $scriptversion" exit $? ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; esac ofile= cfile= -eat= for arg do @@ -66,8 +265,8 @@ do 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. + # 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) @@ -94,10 +293,10 @@ do done if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a + # 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 + # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi @@ -106,7 +305,7 @@ fi 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 +# 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 @@ -124,9 +323,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15 ret=$? if test -f "$cofile"; then - mv "$cofile" "$ofile" + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" diff --git a/external/bsd/file/dist/config.guess b/external/bsd/file/dist/config.guess index bfddc42ab..c2246a4f7 100755 --- a/external/bsd/file/dist/config.guess +++ b/external/bsd/file/dist/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-04-27' +timestamp='2009-12-30' # 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 @@ -27,16 +27,16 @@ timestamp='2009-04-27' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner . -# Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -56,8 +56,9 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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." @@ -170,7 +171,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -333,6 +334,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -656,7 +660,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -807,12 +811,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -822,6 +826,9 @@ EOF [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -851,6 +858,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -873,6 +894,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -882,78 +914,34 @@ EOF m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -962,8 +950,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -977,9 +968,6 @@ EOF sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; @@ -989,66 +977,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1077,7 +1005,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1185,7 +1113,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1278,6 +1206,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/external/bsd/file/dist/config.h.in b/external/bsd/file/dist/config.h.in index 970906299..a0901f348 100644 --- a/external/bsd/file/dist/config.h.in +++ b/external/bsd/file/dist/config.h.in @@ -1,14 +1,23 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Define if building universal (internal helper macro) */ +#undef AC_APPLE_UNIVERSAL_BUILD + /* Define in built-in ELF support is used */ #undef BUILTIN_ELF /* Define for ELF core file support */ #undef ELFCORE +/* Define to 1 if you have the `asctime_r' function. */ +#undef HAVE_ASCTIME_R + /* Define to 1 if you have the `asprintf' function. */ #undef HAVE_ASPRINTF +/* Define to 1 if you have the `ctime_r' function. */ +#undef HAVE_CTIME_R + /* HAVE_DAYLIGHT */ #undef HAVE_DAYLIGHT @@ -44,11 +53,8 @@ /* Define to 1 if you have the `getopt_long' function. */ #undef HAVE_GETOPT_LONG -/* Define to 1 if the system has the type `int32_t'. */ -#undef HAVE_INT32_T - -/* Define to 1 if the system has the type `int64_t'. */ -#undef HAVE_INT64_T +/* Define to 1 if you have the `getpagesize' function. */ +#undef HAVE_GETPAGESIZE /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H @@ -65,7 +71,7 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H -/* Define to 1 if you have the `mbrtowc' function. */ +/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ #undef HAVE_MBRTOWC /* Define to 1 if declares mbstate_t. */ @@ -74,14 +80,20 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H +/* Define to 1 if you have the `mkostemp' function. */ +#undef HAVE_MKOSTEMP + /* Define to 1 if you have the `mkstemp' function. */ #undef HAVE_MKSTEMP -/* Define to 1 if you have the `mmap' function. */ +/* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP -/* Define to 1 if the system has the type `pid_t'. */ -#undef HAVE_PID_T +/* Define to 1 if you have the `pread' function. */ +#undef HAVE_PREAD + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDDEF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H @@ -116,18 +128,21 @@ /* HAVE_STRUCT_OPTION */ #undef HAVE_STRUCT_OPTION -/* Define to 1 if `struct stat' is a member of `st_rdev'. */ +/* Define to 1 if `st_rdev' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_RDEV -/* Define to 1 if `struct tm' is a member of `tm_gmtoff'. */ +/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_GMTOFF -/* Define to 1 if `struct tm' is a member of `tm_zone'. */ +/* Define to 1 if `tm_zone' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_ZONE /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H @@ -152,18 +167,6 @@ /* HAVE_TZNAME */ #undef HAVE_TZNAME -/* Define to 1 if the system has the type `uint16_t'. */ -#undef HAVE_UINT16_T - -/* Define to 1 if the system has the type `uint32_t'. */ -#undef HAVE_UINT32_T - -/* Define to 1 if the system has the type `uint64_t'. */ -#undef HAVE_UINT64_T - -/* Define to 1 if the system has the type `uint8_t'. */ -#undef HAVE_UINT8_T - /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H @@ -179,6 +182,16 @@ /* Define to 1 if you have the `vasprintf' function. */ #undef HAVE_VASPRINTF +/* Define to 1 if you have the `vfork' function. */ +#undef HAVE_VFORK + +/* Define to 1 if you have the header file. */ +#undef HAVE_VFORK_H + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#undef HAVE_VISIBILITY + /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H @@ -188,6 +201,12 @@ /* Define to 1 if you have the `wcwidth' function. */ #undef HAVE_WCWIDTH +/* Define to 1 if `fork' works. */ +#undef HAVE_WORKING_FORK + +/* Define to 1 if `vfork' works. */ +#undef HAVE_WORKING_VFORK + /* Define to 1 if you have the header file. */ #undef HAVE_ZLIB_H @@ -227,9 +246,6 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* The size of `long long', as computed by sizeof. */ -#undef SIZEOF_LONG_LONG - /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS @@ -261,6 +277,23 @@ /* Version number of package */ #undef VERSION +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# undef WORDS_BIGENDIAN +# endif +#endif + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS @@ -280,43 +313,59 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#undef _UINT32_T + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#undef _UINT64_T + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#undef _UINT8_T + /* Define to empty if `const' does not conform to ANSI C. */ #undef const +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#undef int32_t + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#undef int64_t + /* Define to a type if does not define. */ #undef mbstate_t /* Define to `long int' if does not define. */ #undef off_t +/* Define to `int' if does not define. */ +#undef pid_t + /* Define to `unsigned int' if does not define. */ #undef size_t +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#undef uint16_t -#ifndef HAVE_UINT8_T -typedef unsigned char uint8_t; -#endif -#ifndef HAVE_UINT16_T -typedef unsigned short uint16_t; -#endif -#ifndef HAVE_UINT32_T -typedef unsigned int uint32_t; -#endif -#ifndef HAVE_INT32_T -typedef int int32_t; -#endif -#ifndef HAVE_UINT64_T -#if SIZEOF_LONG_LONG == 8 -typedef unsigned long long uint64_t; -#else -typedef unsigned long uint64_t; -#endif -#endif -#ifndef HAVE_INT64_T -#if SIZEOF_LONG_LONG == 8 -typedef long long int64_t; -#else -typedef long int64_t; -#endif -#endif +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#undef uint32_t +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#undef uint64_t + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#undef uint8_t + +/* Define as `fork' if `vfork' does not work. */ +#undef vfork diff --git a/external/bsd/file/dist/config.sub b/external/bsd/file/dist/config.sub index a39437d01..85186096a 100755 --- a/external/bsd/file/dist/config.sub +++ b/external/bsd/file/dist/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. -timestamp='2009-04-17' +timestamp='2009-12-31' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-04-17' # Please send patches to . Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -72,8 +75,9 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, -2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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." @@ -149,10 +153,13 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -281,6 +288,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -288,13 +296,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -337,7 +346,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -365,7 +374,7 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -374,6 +383,7 @@ case $basic_machine in | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -467,6 +477,10 @@ case $basic_machine in basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos @@ -719,6 +733,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1240,6 +1257,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1260,9 +1280,9 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1283,7 +1303,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1416,6 +1436,8 @@ case $os in -dicos*) os=-dicos ;; + -nacl*) + ;; -none) ;; *) @@ -1613,7 +1635,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff --git a/external/bsd/file/dist/configure b/external/bsd/file/dist/configure index ca076891d..112150b94 100755 --- a/external/bsd/file/dist/configure +++ b/external/bsd/file/dist/configure @@ -1,12 +1,12 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for file 5.11. +# Generated by GNU Autoconf 2.69 for file 5.14. # # Report bugs to . # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software -# Foundation, Inc. +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. @@ -89,6 +89,7 @@ fi 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 @@ -133,6 +134,31 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} 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 @@ -166,7 +192,8 @@ 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" +test x\$exitcode = x0 || exit 1 +test -x / || 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'\" && @@ -211,14 +238,25 @@ 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. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # 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 +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+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -317,10 +355,18 @@ $as_echo X"$as_dir" | 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" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -357,19 +403,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# 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. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + 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: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -442,6 +488,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits 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; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # 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). @@ -476,16 +526,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... 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'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -497,28 +547,8 @@ else 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_test_x='test -x' +as_executable_p=as_fn_executable_p # 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'" @@ -676,10 +706,11 @@ fi -exec 7<&0 &1 +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# 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` @@ -698,8 +729,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='file' PACKAGE_TARNAME='file' -PACKAGE_VERSION='5.11' -PACKAGE_STRING='file 5.11' +PACKAGE_VERSION='5.14' +PACKAGE_STRING='file 5.14' PACKAGE_BUGREPORT='christos@astron.com' PACKAGE_URL='' @@ -739,12 +770,15 @@ ac_includes_default="\ # include #endif" +ac_header_list= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS IS_CROSS_COMPILE_FALSE IS_CROSS_COMPILE_TRUE LIBOBJS +HAVE_VISIBILITY +CFLAG_VISIBILITY OTOOL64 OTOOL LIPO @@ -768,6 +802,7 @@ CPP am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE @@ -799,6 +834,8 @@ build_cpu build AM_BACKSLASH AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE @@ -872,9 +909,9 @@ enable_elf enable_elf_core enable_fsect_man5 enable_dependency_tracking -enable_shared enable_static with_pic +enable_shared enable_fast_install with_gnu_ld enable_libtool_lock @@ -952,8 +989,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -998,7 +1036,7 @@ do 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" + 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 @@ -1024,7 +1062,7 @@ do 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" + 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 @@ -1228,7 +1266,7 @@ do 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" + 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 @@ -1244,7 +1282,7 @@ do 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" + 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 @@ -1274,8 +1312,8 @@ 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." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1283,7 +1321,7 @@ Try \`$0 --help' for more information." # 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'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1293,7 +1331,7 @@ Try \`$0 --help' for more information." $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} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1301,13 +1339,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + 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" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1330,7 +1368,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + 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' @@ -1344,8 +1382,6 @@ 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 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1360,9 +1396,9 @@ 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" + 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" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1401,11 +1437,11 @@ else 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" + 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" + 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 @@ -1431,7 +1467,7 @@ 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 file 5.11 to adapt to many kinds of systems. +\`configure' configures file 5.14 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1445,7 +1481,7 @@ 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 @@ -1501,7 +1537,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of file 5.11:";; + short | recursive ) echo "Configuration of file 5.14:";; esac cat <<\_ACEOF @@ -1509,17 +1545,20 @@ 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-maintainer-mode enable make rules and dependencies not useful - (and sometimes confusing) to the casual installer - --enable-silent-rules less verbose build output (undo: `make V=1') - --disable-silent-rules verbose build output (undo: `make V=0') + --enable-maintainer-mode + enable make rules and dependencies not useful (and + sometimes confusing) to the casual installer + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") --disable-elf disable builtin ELF support --disable-elf-core disable ELF core file support --enable-fsect-man5 enable file formats in man section 5 - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) @@ -1539,7 +1578,7 @@ Some influential environment variables: LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor @@ -1609,10 +1648,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -file configure 5.11 -generated by GNU Autoconf 2.68 +file configure 5.14 +generated by GNU Autoconf 2.69 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1656,8 +1695,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1682,7 +1721,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1693,8 +1732,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -1706,10 +1745,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -1745,7 +1784,7 @@ if ac_fn_c_try_cpp "$LINENO"; then : else ac_header_preproc=no fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } @@ -1768,17 +1807,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ---------------------------------- ## +( $as_echo "## ---------------------------------- ## ## Report this to christos@astron.com ## -## ---------------------------------- ## -_ASBOX +## ---------------------------------- ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -1787,7 +1824,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel @@ -1828,8 +1865,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -1842,7 +1879,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1860,7 +1897,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -1891,7 +1928,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1905,8 +1942,8 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -1918,7 +1955,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1973,7 +2010,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func @@ -1986,7 +2023,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -2027,7 +2064,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type @@ -2040,7 +2077,7 @@ ac_fn_c_check_member () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } -if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2084,19 +2121,22 @@ fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member -# ac_fn_c_check_decl LINENO SYMBOL VAR -# ------------------------------------ -# Tests whether SYMBOL is declared, setting cache variable VAR accordingly. +# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES +# --------------------------------------------- +# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR +# accordingly. ac_fn_c_check_decl () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5 -$as_echo_n "checking whether $2 is declared... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + as_decl_name=`echo $2|sed 's/ *(.*//'` + as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 +$as_echo_n "checking whether $as_decl_name is declared... " >&6; } +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2105,8 +2145,12 @@ $4 int main () { -#ifndef $2 - (void) $2; +#ifndef $as_decl_name +#ifdef __cplusplus + (void) $as_decl_use; +#else + (void) $as_decl_name; +#endif #endif ; @@ -2123,193 +2167,145 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_decl -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () +# ac_fn_c_find_uintX_t LINENO BITS VAR +# ------------------------------------ +# Finds an unsigned integer type with width BITS, setting cache variable VAR +# accordingly. +ac_fn_c_find_uintX_t () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 +$as_echo_n "checking for uint$2_t... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + # Order is important - never check a type that is potentially smaller + # than half of the expected target width. + for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \ + 'unsigned long long int' 'unsigned short int' 'unsigned char'; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$4 +$ac_includes_default int main () { -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0 +static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; +test_array [0] = 0; +return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0 - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; + case $ac_type in #( + uint$2_t) : + eval "$3=yes" ;; #( + *) : + eval "$3=\$ac_type" ;; esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if eval test \"x\$"$3"\" = x"no"; then : + +else + break +fi + done +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_find_uintX_t + +# ac_fn_c_find_intX_t LINENO BITS VAR +# ----------------------------------- +# Finds a signed integer type with width BITS, setting cache variable VAR +# accordingly. +ac_fn_c_find_intX_t () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5 +$as_echo_n "checking for int$2_t... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + # Order is important - never check a type that is potentially smaller + # than half of the expected target width. + for ac_type in int$2_t 'int' 'long int' \ + 'long long int' 'short int' 'signed char'; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include +$ac_includes_default + enum { N = $2 / 2 - 1 }; int main () { - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; +static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; +test_array [0] = 0; +return test_array [0]; ; return 0; } _ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + enum { N = $2 / 2 - 1 }; +int +main () +{ +static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) + < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + else - ac_retval=1 + case $ac_type in #( + int$2_t) : + eval "$3=yes" ;; #( + *) : + eval "$3=\$ac_type" ;; +esac fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -rm -f conftest.val +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if eval test \"x\$"$3"\" = x"no"; then : - fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - return $ac_retval +else + break +fi + done +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_c_compute_int +} # ac_fn_c_find_intX_t 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 file $as_me 5.11, which was -generated by GNU Autoconf 2.68. Invocation command line was +It was created by file $as_me 5.14, which was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2419,11 +2415,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2457,11 +2451,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2474,11 +2466,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2492,11 +2482,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2551,7 +2539,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # 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 @@ -2562,18 +2555,22 @@ fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue - if test -r "$ac_site_file"; then + 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" + . "$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. - if test -f "$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 @@ -2587,6 +2584,9 @@ $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +as_fn_append ac_header_list " stdlib.h" +as_fn_append ac_header_list " unistd.h" +as_fn_append ac_header_list " sys/param.h" # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2642,7 +2642,7 @@ if $ac_cache_corrupted; then $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 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2655,20 +2655,26 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.11' +am__api_version='1.12' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done + 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\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2697,7 +2703,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. { $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 test "${ac_cv_path_install+set}" = set; then : +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2717,7 +2723,7 @@ case $as_dir/ in #(( # 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 as_fn_executable_p "$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. @@ -2775,56 +2781,71 @@ 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;; + 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;; + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac -# Do `set' in a subshell so we don't clobber the current shell's +# 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 + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + 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 + 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 + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done test "$2" = conftest.file ) then # Ok. : else - as_fn_error "newly created file is older than distributed files! + 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; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. @@ -2851,8 +2872,8 @@ 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;} + { $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 @@ -2864,17 +2885,17 @@ if test x"${install_sh}" != xset; then esac fi -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right +# 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. +# 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 test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -2886,7 +2907,7 @@ 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 as_fn_executable_p "$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 @@ -2914,7 +2935,7 @@ if test -z "$ac_cv_prog_STRIP"; then 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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -2926,7 +2947,7 @@ 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 as_fn_executable_p "$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 @@ -2967,7 +2988,7 @@ 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 test "${ac_cv_path_mkdir+set}" = set; then : + if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -2977,7 +2998,7 @@ do 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 + as_fn_executable_p "$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) '* | \ @@ -2992,6 +3013,7 @@ 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 @@ -2999,26 +3021,19 @@ fi # 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. - test -d ./--version && rmdir ./--version 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 test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -3030,7 +3045,7 @@ 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 as_fn_executable_p "$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 @@ -3058,7 +3073,7 @@ done $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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF @@ -3066,7 +3081,7 @@ SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +# 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;; @@ -3100,7 +3115,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then 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 + as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi @@ -3116,7 +3131,7 @@ fi # Define the identity of the package. PACKAGE='file' - VERSION='5.11' + VERSION='5.14' cat >>confdefs.h <<_ACEOF @@ -3144,13 +3159,19 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + # We need awk for the "check" target. The system "awk" is bad on # some platforms. -# Always define AMTAR for backward compatibility. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' -AMTAR=${AMTAR-"${am_missing_run}tar"} - -am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' @@ -3184,11 +3205,38 @@ if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi -case $enable_silent_rules in -yes) AM_DEFAULT_VERBOSITY=0;; -no) AM_DEFAULT_VERBOSITY=1;; -*) AM_DEFAULT_VERBOSITY=0;; +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=0;; esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi AM_BACKSLASH='\' @@ -3273,27 +3321,27 @@ fi # 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_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 test "${ac_cv_build+set}" = set; then : +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 + 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 + 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;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@ -3311,14 +3359,14 @@ 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 test "${ac_cv_host+set}" = set; then : +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 + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi @@ -3326,7 +3374,7 @@ fi $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@ -3373,6 +3421,7 @@ fi + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -3392,7 +3441,7 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# Ignore all kinds of additional output from `make'. +# 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 @@ -3425,6 +3474,7 @@ fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' + am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= @@ -3445,7 +3495,7 @@ if test -n "$ac_tool_prefix"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3457,7 +3507,7 @@ 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 as_fn_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 break 2 @@ -3485,7 +3535,7 @@ if test -z "$ac_cv_prog_CC"; then 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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3497,7 +3547,7 @@ 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 as_fn_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 break 2 @@ -3538,7 +3588,7 @@ if test -z "$CC"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3550,7 +3600,7 @@ 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 as_fn_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 break 2 @@ -3578,7 +3628,7 @@ if test -z "$CC"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3591,7 +3641,7 @@ 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 as_fn_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 @@ -3637,7 +3687,7 @@ if test -z "$CC"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3649,7 +3699,7 @@ 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 as_fn_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 break 2 @@ -3681,7 +3731,7 @@ do 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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3693,7 +3743,7 @@ 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 as_fn_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 break 2 @@ -3735,8 +3785,8 @@ 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; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3757,32 +3807,30 @@ $as_echo "$ac_try_echo"; } >&5 ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err fi + rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include + int main () { -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM 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 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}: 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: @@ -3844,62 +3892,28 @@ test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } if test -z "$ac_file"; then : - $as_echo "$as_me: failed program was:" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_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_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +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; } 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 -# 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 the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -# If not cross compiling, check that we can run a simple program. -if test "$cross_compiling" != yes; then - if { ac_try='./$ac_file' - { { 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: yes" >&5 -$as_echo "yes" >&6; } - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# 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; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - { $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" @@ -3929,19 +3943,78 @@ 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; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi -rm -f conftest$ac_cv_exeext +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_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +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 test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3981,8 +4054,8 @@ 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; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -3992,7 +4065,7 @@ 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 test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4029,7 +4102,7 @@ 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 test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -4107,7 +4180,7 @@ else 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 test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -4116,8 +4189,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -4206,15 +4278,16 @@ 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 test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +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'. + # making a dummy file named 'D' -- because '-MD' means "put the output + # in D". + rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. @@ -4248,16 +4321,16 @@ else : > 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 + # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with + # Solaris 10 /bin/sh. + echo '/* dummy */' > 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" + # 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 + # 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 @@ -4266,16 +4339,16 @@ else test "$am__universal" = false || continue ;; nosideeffect) - # after this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested + # 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 + msvc7 | msvc7msys | 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} @@ -4329,6 +4402,298 @@ else fi + case $ac_cv_prog_cc_stdc in #( + no) : + ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 +$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } +if ${ac_cv_prog_cc_c99+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c99=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +#include + +// Check varargs macros. These examples are taken from C99 6.10.3.5. +#define debug(...) fprintf (stderr, __VA_ARGS__) +#define showlist(...) puts (#__VA_ARGS__) +#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) +static void +test_varargs_macros (void) +{ + int x = 1234; + int y = 5678; + debug ("Flag"); + debug ("X = %d\n", x); + showlist (The first, second, and third items.); + report (x>y, "x is %d but y is %d", x, y); +} + +// Check long long types. +#define BIG64 18446744073709551615ull +#define BIG32 4294967295ul +#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) +#if !BIG_OK + your preprocessor is broken; +#endif +#if BIG_OK +#else + your preprocessor is broken; +#endif +static long long int bignum = -9223372036854775807LL; +static unsigned long long int ubignum = BIG64; + +struct incomplete_array +{ + int datasize; + double data[]; +}; + +struct named_init { + int number; + const wchar_t *name; + double average; +}; + +typedef const char *ccp; + +static inline int +test_restrict (ccp restrict text) +{ + // See if C++-style comments work. + // Iterate through items via the restricted pointer. + // Also check for declarations in for loops. + for (unsigned int i = 0; *(text+i) != '\0'; ++i) + continue; + return 0; +} + +// Check varargs and va_copy. +static void +test_varargs (const char *format, ...) +{ + va_list args; + va_start (args, format); + va_list args_copy; + va_copy (args_copy, args); + + const char *str; + int number; + float fnumber; + + while (*format) + { + switch (*format++) + { + case 's': // string + str = va_arg (args_copy, const char *); + break; + case 'd': // int + number = va_arg (args_copy, int); + break; + case 'f': // float + fnumber = va_arg (args_copy, double); + break; + default: + break; + } + } + va_end (args_copy); + va_end (args); +} + +int +main () +{ + + // Check bool. + _Bool success = false; + + // Check restrict. + if (test_restrict ("String literal") == 0) + success = true; + char *restrict newvar = "Another string"; + + // Check varargs. + test_varargs ("s, d' f .", "string", 65, 34.234); + test_varargs_macros (); + + // Check flexible array members. + struct incomplete_array *ia = + malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); + ia->datasize = 10; + for (int i = 0; i < ia->datasize; ++i) + ia->data[i] = i * 1.234; + + // Check named initializers. + struct named_init ni = { + .number = 34, + .name = L"Test wide string", + .average = 543.34343, + }; + + ni.number = 58; + + int dynamic_array[ni.number]; + dynamic_array[ni.number - 1] = 543; + + // work around unused variable warnings + return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' + || dynamic_array[ni.number - 1] != 543); + + ; + return 0; +} +_ACEOF +for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c99=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c99" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c99" 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; } ;; + *) + CC="$CC $ac_cv_prog_cc_c99" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c99" != xno; then : + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 +else + { $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 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* 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 + 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. */ +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);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +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__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +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; } ;; + *) + 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; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 +else + ac_cv_prog_cc_stdc=no +fi + +fi + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 +$as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } + if ${ac_cv_prog_cc_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +fi + + case $ac_cv_prog_cc_stdc in #( + no) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; #( + '') : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; #( + *) : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 +$as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; +esac + ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4342,7 +4707,7 @@ if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -4372,7 +4737,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4388,11 +4753,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -4431,7 +4796,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -4447,18 +4812,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i 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; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -4470,7 +4835,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -4484,7 +4849,7 @@ do for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4519,7 +4884,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then - as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP @@ -4533,7 +4898,7 @@ $as_echo "$ac_cv_path_GREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -4550,7 +4915,7 @@ do for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4585,7 +4950,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then - as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP @@ -4600,7 +4965,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4717,8 +5082,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -4730,7 +5094,7 @@ done ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = x""yes; then : +if test "x$ac_cv_header_minix_config_h" = xyes; then : MINIX=yes else MINIX= @@ -4752,14 +5116,14 @@ $as_echo "#define _MINIX 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 $as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if test "${ac_cv_safe_to_define___extensions__+set}" = set; then : +if ${ac_cv_safe_to_define___extensions__+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -# define __EXTENSIONS__ 1 - $ac_includes_default +# define __EXTENSIONS__ 1 + $ac_includes_default int main () { @@ -4789,675 +5153,6 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - -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 -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 test "${ac_cv_prog_CC+set}" = set; 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="${ac_tool_prefix}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 - - -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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { 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_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 -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; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -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. -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 test "${ac_cv_prog_CC+set}" = set; 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="${ac_tool_prefix}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 - -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 - - - 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 test "${ac_cv_prog_CC+set}" = set; 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 - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - 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 test "${ac_cv_prog_CC+set}" = set; 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="$ac_tool_prefix$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 -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 -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&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 { 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_CC="$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 -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; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "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 -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; } - -# 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 - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - rm -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $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 test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core 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 -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 test "${ac_cv_prog_cc_g+set}" = set; 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 -{ $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 test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* 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 - 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. */ -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);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -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__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -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; } ;; - *) - 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; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -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 - -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 test "${am_cv_CC_dependencies_compiler_type+set}" = set; 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 "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } @@ -5467,7 +5162,7 @@ $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5584,6 +5279,230 @@ if test "$am_t" != yes; then fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 +$as_echo_n "checking whether byte ordering is bigendian... " >&6; } +if ${ac_cv_c_bigendian+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_c_bigendian=unknown + # See if we're dealing with a universal compiler. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifndef __APPLE_CC__ + not a universal capable compiler + #endif + typedef int dummy; + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + + # Check for potential -arch flags. It is not universal unless + # there are at least two -arch flags with different values. + ac_arch= + ac_prev= + for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do + if test -n "$ac_prev"; then + case $ac_word in + i?86 | x86_64 | ppc | ppc64) + if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then + ac_arch=$ac_word + else + ac_cv_c_bigendian=universal + break + fi + ;; + esac + ac_prev= + elif test "x$ac_word" = "x-arch"; then + ac_prev=arch + fi + done +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_c_bigendian = unknown; then + # See if sys/param.h defines the BYTE_ORDER macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ + && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ + && LITTLE_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + +int +main () +{ +#if BYTE_ORDER != BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) + bogus endian macros + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # It does; now see whether it defined to _BIG_ENDIAN or not. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main () +{ +#ifndef _BIG_ENDIAN + not big endian + #endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_c_bigendian=yes +else + ac_cv_c_bigendian=no +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 + if test $ac_cv_c_bigendian = unknown; then + # Compile a test program. + if test "$cross_compiling" = yes; then : + # Try to guess by grepping values from an object file. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +short int ascii_mm[] = + { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; + short int ascii_ii[] = + { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; + int use_ascii (int i) { + return ascii_mm[i] + ascii_ii[i]; + } + short int ebcdic_ii[] = + { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; + short int ebcdic_mm[] = + { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; + int use_ebcdic (int i) { + return ebcdic_mm[i] + ebcdic_ii[i]; + } + extern int foo; + +int +main () +{ +return use_ascii (foo) == use_ebcdic (foo); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then + ac_cv_c_bigendian=yes + fi + if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi + fi +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Are we little or big endian? From Harbison&Steele. */ + union + { + long int l; + char c[sizeof (long int)]; + } u; + u.l = 1; + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_bigendian=no +else + ac_cv_c_bigendian=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 +$as_echo "$ac_cv_c_bigendian" >&6; } + case $ac_cv_c_bigendian in #( + yes) + $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h +;; #( + no) + ;; #( + universal) + +$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h + + ;; #( + *) + as_fn_error $? "unknown endianness + presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } @@ -5623,7 +5542,7 @@ ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } -if test "${ac_cv_path_SED+set}" = set; then : +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ @@ -5643,7 +5562,7 @@ do for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue + as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in @@ -5678,7 +5597,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then - as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5 + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED @@ -5705,7 +5624,7 @@ Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } -if test "${ac_cv_path_FGREP+set}" = set; then : +if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 @@ -5722,7 +5641,7 @@ do for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue + as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in @@ -5757,7 +5676,7 @@ esac done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then - as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP @@ -5836,7 +5755,7 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${lt_cv_path_LD+set}" = set; then : +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then @@ -5873,10 +5792,10 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${lt_cv_prog_gnu_ld+set}" = set; then : +if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. @@ -5903,7 +5822,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if test "${lt_cv_path_NM+set}" = set; then : +if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then @@ -5963,7 +5882,7 @@ else 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 test "${ac_cv_prog_DUMPBIN+set}" = set; then : +if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then @@ -5975,7 +5894,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6007,7 +5926,7 @@ do 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 test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then : +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then @@ -6019,7 +5938,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6070,18 +5989,18 @@ test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } -if test "${lt_cv_nm_interface+set}" = set; then : +if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6078: $ac_compile\"" >&5) + (eval echo "\"\$as_me:5997: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:6081: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:6000: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:6084: output\"" >&5) + (eval echo "\"\$as_me:6003: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6094,7 +6013,7 @@ $as_echo "$lt_cv_nm_interface" >&6; } # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } -if test "${lt_cv_sys_max_cmd_len+set}" = set; then : +if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 @@ -6286,7 +6205,7 @@ esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } -if test "${lt_cv_ld_reload_flag+set}" = set; then : +if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' @@ -6322,7 +6241,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OBJDUMP+set}" = set; then : +if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then @@ -6334,7 +6253,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6362,7 +6281,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then : +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then @@ -6374,7 +6293,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6421,7 +6340,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } -if test "${lt_cv_deplibs_check_method+set}" = set; then : +if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' @@ -6637,7 +6556,7 @@ if test -n "$ac_tool_prefix"; then 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 test "${ac_cv_prog_AR+set}" = set; then : +if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then @@ -6649,7 +6568,7 @@ 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 as_fn_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 break 2 @@ -6677,7 +6596,7 @@ if test -z "$ac_cv_prog_AR"; then 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 test "${ac_cv_prog_ac_ct_AR+set}" = set; then : +if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then @@ -6689,7 +6608,7 @@ 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 as_fn_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 break 2 @@ -6742,7 +6661,7 @@ if test -n "$ac_tool_prefix"; then 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 test "${ac_cv_prog_STRIP+set}" = set; then : +if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then @@ -6754,7 +6673,7 @@ 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 as_fn_executable_p "$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 @@ -6782,7 +6701,7 @@ if test -z "$ac_cv_prog_STRIP"; then 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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : +if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then @@ -6794,7 +6713,7 @@ 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 as_fn_executable_p "$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 @@ -6841,7 +6760,7 @@ if test -n "$ac_tool_prefix"; then 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 test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -6853,7 +6772,7 @@ 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 as_fn_executable_p "$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 @@ -6881,7 +6800,7 @@ if test -z "$ac_cv_prog_RANLIB"; then 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 test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -6893,7 +6812,7 @@ 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 as_fn_executable_p "$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 @@ -6998,7 +6917,7 @@ compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then : +if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else @@ -7275,7 +7194,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7278 "configure"' > conftest.$ac_ext + echo '#line 7197 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7369,7 +7288,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if test "${lt_cv_cc_needs_belf+set}" = set; then : +if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c @@ -7445,7 +7364,7 @@ need_locks="$enable_libtool_lock" set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_DSYMUTIL+set}" = set; then : +if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then @@ -7457,7 +7376,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7485,7 +7404,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then : +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then @@ -7497,7 +7416,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7537,7 +7456,7 @@ fi set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_NMEDIT+set}" = set; then : +if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then @@ -7549,7 +7468,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7577,7 +7496,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then : +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then @@ -7589,7 +7508,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7629,7 +7548,7 @@ fi set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LIPO+set}" = set; then : +if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then @@ -7641,7 +7560,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7669,7 +7588,7 @@ if test -z "$ac_cv_prog_LIPO"; then set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then : +if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then @@ -7681,7 +7600,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7721,7 +7640,7 @@ fi set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL+set}" = set; then : +if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then @@ -7733,7 +7652,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7761,7 +7680,7 @@ if test -z "$ac_cv_prog_OTOOL"; then set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then : +if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then @@ -7773,7 +7692,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7813,7 +7732,7 @@ fi set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_OTOOL64+set}" = set; then : +if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then @@ -7825,7 +7744,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7853,7 +7772,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then : +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then @@ -7865,7 +7784,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -7928,7 +7847,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } -if test "${lt_cv_apple_cc_single_mod+set}" = set; then : +if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no @@ -7957,7 +7876,7 @@ fi $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if test "${lt_cv_ld_exported_symbols_list+set}" = set; then : +if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no @@ -8026,7 +7945,7 @@ for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " -if test "x$ac_cv_header_dlfcn_h" = x""yes; then : +if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF @@ -8038,6 +7957,50 @@ done # Set options +# Check whether --enable-static was given. +if test "${enable_static+set}" = set; then : + enableval=$enable_static; 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 +else + enable_static=no +fi + + + + + + + + +# Check whether --with-pic was given. +if test "${with_pic+set}" = set; then : + withval=$with_pic; pic_mode="$withval" +else + pic_mode=default +fi + + +test -z "$pic_mode" && pic_mode=yes + + + + + @@ -8078,52 +8041,6 @@ fi - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; 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 -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - # Check whether --enable-fast-install was given. @@ -8210,7 +8127,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } -if test "${lt_cv_objdir+set}" = set; then : +if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null @@ -8318,7 +8235,7 @@ file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -8384,7 +8301,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } -if test "${lt_cv_path_MAGIC_CMD+set}" = set; then : +if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in @@ -8521,7 +8438,7 @@ if test "$GCC" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then : +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no @@ -8537,11 +8454,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8540: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8457: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8544: \$? = $ac_status" >&5 + echo "$as_me:8461: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8860,7 +8777,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; } if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if test "${lt_cv_prog_compiler_pic_works+set}" = set; then : +if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no @@ -8876,11 +8793,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8879: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8796: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8883: \$? = $ac_status" >&5 + echo "$as_me:8800: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8919,7 +8836,7 @@ fi wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if test "${lt_cv_prog_compiler_static_works+set}" = set; then : +if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no @@ -8962,7 +8879,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -8981,11 +8898,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8984: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8901: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:8988: \$? = $ac_status" >&5 + echo "$as_me:8905: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9017,7 +8934,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if test "${lt_cv_prog_compiler_c_o+set}" = set; then : +if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no @@ -9036,11 +8953,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9039: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8956: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9043: \$? = $ac_status" >&5 + echo "$as_me:8960: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11145,7 +11062,7 @@ else # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11179,7 +11096,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else @@ -11193,12 +11110,12 @@ fi *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = x""yes; then : +if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } -if test "${ac_cv_lib_dld_shl_load+set}" = set; then : +if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11232,16 +11149,16 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = x""yes; then : +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = x""yes; then : +if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } -if test "${ac_cv_lib_dl_dlopen+set}" = set; then : +if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11275,12 +11192,12 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = x""yes; then : +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } -if test "${ac_cv_lib_svld_dlopen+set}" = set; then : +if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11314,12 +11231,12 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = x""yes; then : +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } -if test "${ac_cv_lib_dld_dld_link+set}" = set; then : +if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -11353,7 +11270,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = x""yes; then : +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi @@ -11394,7 +11311,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self+set}" = set; then : +if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -11403,7 +11320,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11406 "configure" +#line 11323 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11490,7 +11407,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; } wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if test "${lt_cv_dlopen_self_static+set}" = set; then : +if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -11499,7 +11416,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11502 "configure" +#line 11419 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11727,9 +11644,93 @@ CC="$lt_save_CC" + + CFLAG_VISIBILITY= + HAVE_VISIBILITY=0 + if test -n "$GCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5 +$as_echo_n "checking whether the -Werror option is usable... " >&6; } + if ${gl_cv_cc_vis_werror+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_vis_werror=yes +else + gl_cv_cc_vis_werror=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5 +$as_echo "$gl_cv_cc_vis_werror" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5 +$as_echo_n "checking for simple visibility declarations... " >&6; } + if ${gl_cv_cc_visibility+:} false; then : + $as_echo_n "(cached) " >&6 +else + + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fvisibility=hidden" + if test $gl_cv_cc_vis_werror = yes; then + CFLAGS="$CFLAGS -Werror" + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern __attribute__((__visibility__("hidden"))) int hiddenvar; + extern __attribute__((__visibility__("default"))) int exportedvar; + extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); + extern __attribute__((__visibility__("default"))) int exportedfunc (void); + void dummyfunc (void) {} +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_visibility=yes +else + gl_cv_cc_visibility=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 +$as_echo "$gl_cv_cc_visibility" >&6; } + if test $gl_cv_cc_visibility = yes; then + CFLAG_VISIBILITY="-fvisibility=hidden" + HAVE_VISIBILITY=1 + fi + fi + + + +cat >>confdefs.h <<_ACEOF +#define HAVE_VISIBILITY $HAVE_VISIBILITY +_ACEOF + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11841,7 +11842,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 $as_echo_n "checking whether sys/types.h defines makedev... " >&6; } -if test "${ac_cv_header_sys_types_h_makedev+set}" = set; then : +if ${ac_cv_header_sys_types_h_makedev+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11869,7 +11870,7 @@ $as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } if test $ac_cv_header_sys_types_h_makedev = no; then ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_mkdev_h" = x""yes; then : +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : $as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h @@ -11879,7 +11880,7 @@ fi if test $ac_cv_header_sys_mkdev_h = no; then ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_sysmacros_h" = x""yes; then : +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : $as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h @@ -11891,7 +11892,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 $as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } -if test "${ac_cv_header_sys_wait_h+set}" = set; then : +if ${ac_cv_header_sys_wait_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -11934,8 +11935,7 @@ for ac_header in stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -11944,12 +11944,11 @@ fi done -for ac_header in utime.h wchar.h wctype.h limits.h +for ac_header in stddef.h utime.h wchar.h wctype.h limits.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -11962,8 +11961,7 @@ for ac_header in getopt.h err.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -11976,8 +11974,7 @@ for ac_header in sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -11989,7 +11986,7 @@ done for ac_header in zlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "$ac_includes_default" -if test "x$ac_cv_header_zlib_h" = x""yes; then : +if test "x$ac_cv_header_zlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ZLIB_H 1 _ACEOF @@ -12001,7 +11998,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then : +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12010,11 +12007,11 @@ else int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -12031,8 +12028,9 @@ main () ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -12048,10 +12046,10 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -12080,7 +12078,7 @@ $as_echo "#define const /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = x""yes; then : +if test "x$ac_cv_type_off_t" = xyes; then : else @@ -12091,7 +12089,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : +if test "x$ac_cv_type_size_t" = xyes; then : else @@ -12102,7 +12100,7 @@ _ACEOF fi ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_rdev" = x""yes; then : +if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_RDEV 1 @@ -12112,9 +12110,19 @@ _ACEOF fi +ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "$ac_includes_default" +if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TM_TM_GMTOFF 1 +_ACEOF + + +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } -if test "${ac_cv_struct_tm+set}" = set; then : +if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12147,17 +12155,11 @@ $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi -ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "$ac_includes_default" -if test "x$ac_cv_member_struct_tm_tm_gmtoff" = x""yes; then : +ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "#include +#include <$ac_cv_struct_tm> -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_TM_TM_GMTOFF 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct tm" "tm_zone" "ac_cv_member_struct_tm_tm_zone" "$ac_includes_default" -if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then : +" +if test "x$ac_cv_member_struct_tm_tm_zone" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_ZONE 1 @@ -12166,9 +12168,63 @@ _ACEOF fi +if test "$ac_cv_member_struct_tm_tm_zone" = yes; then + +$as_echo "#define HAVE_TM_ZONE 1" >>confdefs.h + +else + ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include +" +if test "x$ac_cv_have_decl_tzname" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TZNAME $ac_have_decl +_ACEOF + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 +$as_echo_n "checking for tzname... " >&6; } +if ${ac_cv_var_tzname+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#if !HAVE_DECL_TZNAME +extern char *tzname[]; +#endif + +int +main () +{ +return tzname[0][0]; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_var_tzname=yes +else + ac_cv_var_tzname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_tzname" >&5 +$as_echo "$ac_cv_var_tzname" >&6; } + if test $ac_cv_var_tzname = yes; then + +$as_echo "#define HAVE_TZNAME 1" >>confdefs.h + + fi +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tm_zone in struct tm" >&5 $as_echo_n "checking for tm_zone in struct tm... " >&6; } -if test "${ac_cv_struct_tm_zone+set}" = set; then : +if ${ac_cv_struct_tm_zone+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12202,7 +12258,7 @@ fi # consider it declared and we won't give our own extern. ac_fn_c_check_decl "$LINENO" "tzname" "ac_cv_have_decl_tzname" "#include " -if test "x$ac_cv_have_decl_tzname" = x""yes; then : +if test "x$ac_cv_have_decl_tzname" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -12214,7 +12270,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tzname" >&5 $as_echo_n "checking for tzname... " >&6; } -if test "${ac_cv_var_tzname+set}" = set; then : +if ${ac_cv_var_tzname+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12249,7 +12305,7 @@ $as_echo "#define HAVE_TZNAME 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tm_isdst in struct tm" >&5 $as_echo_n "checking for tm_isdst in struct tm... " >&6; } -if test "${ac_cv_struct_tm_isdst+set}" = set; then : +if ${ac_cv_struct_tm_isdst+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12282,7 +12338,7 @@ fi ac_fn_c_check_decl "$LINENO" "daylight" "ac_cv_have_decl_daylight" "#include " -if test "x$ac_cv_have_decl_daylight" = x""yes; then : +if test "x$ac_cv_have_decl_daylight" = xyes; then : ac_have_decl=1 else ac_have_decl=0 @@ -12294,7 +12350,7 @@ _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for daylight" >&5 $as_echo_n "checking for daylight... " >&6; } -if test "${ac_cv_var_daylight+set}" = set; then : +if ${ac_cv_var_daylight+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12336,7 +12392,7 @@ if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then : +if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no @@ -12387,7 +12443,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then : +if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -12456,7 +12512,7 @@ rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then : +if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -12523,11 +12579,13 @@ _ACEOF esac rm -rf conftest* fi + + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_source+set}" = set; then : +if ${ac_cv_sys_largefile_source+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -12595,7 +12653,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mbstate_t" >&5 $as_echo_n "checking for mbstate_t... " >&6; } -if test "${ac_cv_type_mbstate_t+set}" = set; then : +if ${ac_cv_type_mbstate_t+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12631,7 +12689,7 @@ $as_echo "#define mbstate_t int" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking for struct option in getopt" >&5 $as_echo_n "checking for struct option in getopt... " >&6; } -if test "${ac_cv_struct_option_getopt_h+set}" = set; then : +if ${ac_cv_struct_option_getopt_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12660,105 +12718,543 @@ $as_echo "#define HAVE_STRUCT_OPTION 1" >>confdefs.h fi - ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = x""yes; then : +if test "x$ac_cv_type_pid_t" = xyes; then : + +else cat >>confdefs.h <<_ACEOF -#define HAVE_PID_T 1 +#define pid_t int _ACEOF - -fi -ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default" -if test "x$ac_cv_type_uint8_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT8_T 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "uint16_t" "ac_cv_type_uint16_t" "$ac_includes_default" -if test "x$ac_cv_type_uint16_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT16_T 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" -if test "x$ac_cv_type_uint32_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT32_T 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "int32_t" "ac_cv_type_int32_t" "$ac_includes_default" -if test "x$ac_cv_type_int32_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT32_T 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default" -if test "x$ac_cv_type_uint64_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_UINT64_T 1 -_ACEOF - - -fi -ac_fn_c_check_type "$LINENO" "int64_t" "ac_cv_type_int64_t" "$ac_includes_default" -if test "x$ac_cv_type_int64_t" = x""yes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_INT64_T 1 -_ACEOF - - fi -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 -$as_echo_n "checking size of long long... " >&6; } -if test "${ac_cv_sizeof_long_long+set}" = set; then : +ac_fn_c_find_uintX_t "$LINENO" "8" "ac_cv_c_uint8_t" +case $ac_cv_c_uint8_t in #( + no|yes) ;; #( + *) + +$as_echo "#define _UINT8_T 1" >>confdefs.h + + +cat >>confdefs.h <<_ACEOF +#define uint8_t $ac_cv_c_uint8_t +_ACEOF +;; + esac + +ac_fn_c_find_uintX_t "$LINENO" "16" "ac_cv_c_uint16_t" +case $ac_cv_c_uint16_t in #( + no|yes) ;; #( + *) + + +cat >>confdefs.h <<_ACEOF +#define uint16_t $ac_cv_c_uint16_t +_ACEOF +;; + esac + +ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t" +case $ac_cv_c_uint32_t in #( + no|yes) ;; #( + *) + +$as_echo "#define _UINT32_T 1" >>confdefs.h + + +cat >>confdefs.h <<_ACEOF +#define uint32_t $ac_cv_c_uint32_t +_ACEOF +;; + esac + +ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t" +case $ac_cv_c_int32_t in #( + no|yes) ;; #( + *) + +cat >>confdefs.h <<_ACEOF +#define int32_t $ac_cv_c_int32_t +_ACEOF +;; +esac + +ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t" +case $ac_cv_c_uint64_t in #( + no|yes) ;; #( + *) + +$as_echo "#define _UINT64_T 1" >>confdefs.h + + +cat >>confdefs.h <<_ACEOF +#define uint64_t $ac_cv_c_uint64_t +_ACEOF +;; + esac + +ac_fn_c_find_intX_t "$LINENO" "64" "ac_cv_c_int64_t" +case $ac_cv_c_int64_t in #( + no|yes) ;; #( + *) + +cat >>confdefs.h <<_ACEOF +#define int64_t $ac_cv_c_int64_t +_ACEOF +;; +esac + + + + + for ac_header in $ac_header_list +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + + +for ac_func in getpagesize +do : + ac_fn_c_check_func "$LINENO" "getpagesize" "ac_cv_func_getpagesize" +if test "x$ac_cv_func_getpagesize" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETPAGESIZE 1 +_ACEOF + +fi +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working mmap" >&5 +$as_echo_n "checking for working mmap... " >&6; } +if ${ac_cv_func_mmap_fixed_mapped+:} false; then : $as_echo_n "(cached) " >&6 else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : - + if test "$cross_compiling" = yes; then : + ac_cv_func_mmap_fixed_mapped=no else - if test "$ac_cv_type_long_long" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "cannot compute sizeof (long long) -See \`config.log' for more details." "$LINENO" 5; }; } - else - ac_cv_sizeof_long_long=0 - fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +/* malloc might have been renamed as rpl_malloc. */ +#undef malloc + +/* Thanks to Mike Haertel and Jim Avera for this test. + Here is a matrix of mmap possibilities: + mmap private not fixed + mmap private fixed at somewhere currently unmapped + mmap private fixed at somewhere already mapped + mmap shared not fixed + mmap shared fixed at somewhere currently unmapped + mmap shared fixed at somewhere already mapped + For private mappings, we should verify that changes cannot be read() + back from the file, nor mmap's back from the file at a different + address. (There have been systems where private was not correctly + implemented like the infamous i386 svr4.0, and systems where the + VM page cache was not coherent with the file system buffer cache + like early versions of FreeBSD and possibly contemporary NetBSD.) + For shared mappings, we should conversely verify that changes get + propagated back to all the places they're supposed to be. + + Grep wants private fixed already mapped. + The main things grep needs to know about mmap are: + * does it exist and is it safe to write into the mmap'd area + * how to use it (BSD variants) */ + +#include +#include + +#if !defined STDC_HEADERS && !defined HAVE_STDLIB_H +char *malloc (); +#endif + +/* This mess was copied from the GNU getpagesize.h. */ +#ifndef HAVE_GETPAGESIZE +# ifdef _SC_PAGESIZE +# define getpagesize() sysconf(_SC_PAGESIZE) +# else /* no _SC_PAGESIZE */ +# ifdef HAVE_SYS_PARAM_H +# include +# ifdef EXEC_PAGESIZE +# define getpagesize() EXEC_PAGESIZE +# else /* no EXEC_PAGESIZE */ +# ifdef NBPG +# define getpagesize() NBPG * CLSIZE +# ifndef CLSIZE +# define CLSIZE 1 +# endif /* no CLSIZE */ +# else /* no NBPG */ +# ifdef NBPC +# define getpagesize() NBPC +# else /* no NBPC */ +# ifdef PAGESIZE +# define getpagesize() PAGESIZE +# endif /* PAGESIZE */ +# endif /* no NBPC */ +# endif /* no NBPG */ +# endif /* no EXEC_PAGESIZE */ +# else /* no HAVE_SYS_PARAM_H */ +# define getpagesize() 8192 /* punt totally */ +# endif /* no HAVE_SYS_PARAM_H */ +# endif /* no _SC_PAGESIZE */ + +#endif /* no HAVE_GETPAGESIZE */ + +int +main () +{ + char *data, *data2, *data3; + const char *cdata2; + int i, pagesize; + int fd, fd2; + + pagesize = getpagesize (); + + /* First, make a file with some known garbage in it. */ + data = (char *) malloc (pagesize); + if (!data) + return 1; + for (i = 0; i < pagesize; ++i) + *(data + i) = rand (); + umask (0); + fd = creat ("conftest.mmap", 0600); + if (fd < 0) + return 2; + if (write (fd, data, pagesize) != pagesize) + return 3; + close (fd); + + /* Next, check that the tail of a page is zero-filled. File must have + non-zero length, otherwise we risk SIGBUS for entire page. */ + fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600); + if (fd2 < 0) + return 4; + cdata2 = ""; + if (write (fd2, cdata2, 1) != 1) + return 5; + data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L); + if (data2 == MAP_FAILED) + return 6; + for (i = 0; i < pagesize; ++i) + if (*(data2 + i)) + return 7; + close (fd2); + if (munmap (data2, pagesize)) + return 8; + + /* Next, try to mmap the file at a fixed address which already has + something else allocated at it. If we can, also make sure that + we see the same garbage. */ + fd = open ("conftest.mmap", O_RDWR); + if (fd < 0) + return 9; + if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_FIXED, fd, 0L)) + return 10; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data2 + i)) + return 11; + + /* Finally, make sure that changes to the mapped area do not + percolate back to the file as seen by read(). (This is a bug on + some variants of i386 svr4.0.) */ + for (i = 0; i < pagesize; ++i) + *(data2 + i) = *(data2 + i) + 1; + data3 = (char *) malloc (pagesize); + if (!data3) + return 12; + if (read (fd, data3, pagesize) != pagesize) + return 13; + for (i = 0; i < pagesize; ++i) + if (*(data + i) != *(data3 + i)) + return 14; + close (fd); + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_mmap_fixed_mapped=yes +else + ac_cv_func_mmap_fixed_mapped=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 -$as_echo "$ac_cv_sizeof_long_long" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_fixed_mapped" >&5 +$as_echo "$ac_cv_func_mmap_fixed_mapped" >&6; } +if test $ac_cv_func_mmap_fixed_mapped = yes; then +$as_echo "#define HAVE_MMAP 1" >>confdefs.h +fi +rm -f conftest.mmap conftest.txt -cat >>confdefs.h <<_ACEOF -#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long +for ac_header in vfork.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" +if test "x$ac_cv_header_vfork_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_VFORK_H 1 _ACEOF +fi +done + +for ac_func in fork vfork +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + +if test "x$ac_cv_func_fork" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 +$as_echo_n "checking for working fork... " >&6; } +if ${ac_cv_func_fork_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_fork_works=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* By Ruediger Kuhlmann. */ + return fork () < 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_fork_works=yes +else + ac_cv_func_fork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 +$as_echo "$ac_cv_func_fork_works" >&6; } + +else + ac_cv_func_fork_works=$ac_cv_func_fork +fi +if test "x$ac_cv_func_fork_works" = xcross; then + case $host in + *-*-amigaos* | *-*-msdosdjgpp*) + # Override, as these systems have only a dummy fork() stub + ac_cv_func_fork_works=no + ;; + *) + ac_cv_func_fork_works=yes + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} +fi +ac_cv_func_vfork_works=$ac_cv_func_vfork +if test "x$ac_cv_func_vfork" = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 +$as_echo_n "checking for working vfork... " >&6; } +if ${ac_cv_func_vfork_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_func_vfork_works=cross +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Thanks to Paul Eggert for this test. */ +$ac_includes_default +#include +#ifdef HAVE_VFORK_H +# include +#endif +/* On some sparc systems, changes by the child to local and incoming + argument registers are propagated back to the parent. The compiler + is told about this with #include , but some compilers + (e.g. gcc -O) don't grok . Test for this by using a + static variable whose address is put into a register that is + clobbered by the vfork. */ +static void +#ifdef __cplusplus +sparc_address_test (int arg) +# else +sparc_address_test (arg) int arg; +#endif +{ + static pid_t child; + if (!child) { + child = vfork (); + if (child < 0) { + perror ("vfork"); + _exit(2); + } + if (!child) { + arg = getpid(); + write(-1, "", 0); + _exit (arg); + } + } +} + +int +main () +{ + pid_t parent = getpid (); + pid_t child; + + sparc_address_test (0); + + child = vfork (); + + if (child == 0) { + /* Here is another test for sparc vfork register problems. This + test uses lots of local variables, at least as many local + variables as main has allocated so far including compiler + temporaries. 4 locals are enough for gcc 1.40.3 on a Solaris + 4.1.3 sparc, but we use 8 to be safe. A buggy compiler should + reuse the register of parent for one of the local variables, + since it will think that parent can't possibly be used any more + in this routine. Assigning to the local variable will thus + munge parent in the parent process. */ + pid_t + p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(), + p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid(); + /* Convince the compiler that p..p7 are live; otherwise, it might + use the same hardware register for all 8 local variables. */ + if (p != p1 || p != p2 || p != p3 || p != p4 + || p != p5 || p != p6 || p != p7) + _exit(1); + + /* On some systems (e.g. IRIX 3.3), vfork doesn't separate parent + from child file descriptors. If the child closes a descriptor + before it execs or exits, this munges the parent's descriptor + as well. Test for this by closing stdout in the child. */ + _exit(close(fileno(stdout)) != 0); + } else { + int status; + struct stat st; + + while (wait(&status) != child) + ; + return ( + /* Was there some problem with vforking? */ + child < 0 + + /* Did the child fail? (This shouldn't happen.) */ + || status + + /* Did the vfork/compiler bug occur? */ + || parent != getpid() + + /* Did the file descriptor bug occur? */ + || fstat(fileno(stdout), &st) != 0 + ); + } +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_func_vfork_works=yes +else + ac_cv_func_vfork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 +$as_echo "$ac_cv_func_vfork_works" >&6; } + +fi; +if test "x$ac_cv_func_fork_works" = xcross; then + ac_cv_func_vfork_works=$ac_cv_func_vfork + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} +fi + +if test "x$ac_cv_func_vfork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h + +else + +$as_echo "#define vfork fork" >>confdefs.h + +fi +if test "x$ac_cv_func_fork_works" = xyes; then + +$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h + +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc and mbstate_t are properly declared" >&5 +$as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; } +if ${ac_cv_func_mbrtowc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +wchar_t wc; + char const s[] = ""; + size_t n = 1; + mbstate_t state; + return ! (sizeof state && (mbrtowc) (&wc, s, n, &state)); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_mbrtowc=yes +else + ac_cv_func_mbrtowc=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mbrtowc" >&5 +$as_echo "$ac_cv_func_mbrtowc" >&6; } + if test $ac_cv_func_mbrtowc = yes; then + +$as_echo "#define HAVE_MBRTOWC 1" >>confdefs.h + + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gcc compiler warnings" >&5 @@ -12794,12 +13290,11 @@ fi fi -for ac_func in mmap strerror strndup strtoul mbrtowc mkstemp utimes utime wcwidth strtof fork +for ac_func in strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -12808,31 +13303,128 @@ fi done -for ac_func in getopt_long asprintf vasprintf strlcpy strlcat getline -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF +ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" +if test "x$ac_cv_func_getopt_long" = xyes; then : + $as_echo "#define HAVE_GETOPT_LONG 1" >>confdefs.h else case " $LIBOBJS " in - *" $ac_func.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" + *" getopt_long.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getopt_long.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf" +if test "x$ac_cv_func_asprintf" = xyes; then : + $as_echo "#define HAVE_ASPRINTF 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" asprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS asprintf.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "vasprintf" "ac_cv_func_vasprintf" +if test "x$ac_cv_func_vasprintf" = xyes; then : + $as_echo "#define HAVE_VASPRINTF 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" vasprintf.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS vasprintf.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" +if test "x$ac_cv_func_strlcpy" = xyes; then : + $as_echo "#define HAVE_STRLCPY 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" strlcpy.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strlcpy.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "strlcat" "ac_cv_func_strlcat" +if test "x$ac_cv_func_strlcat" = xyes; then : + $as_echo "#define HAVE_STRLCAT 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" strlcat.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS strlcat.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" +if test "x$ac_cv_func_getline" = xyes; then : + $as_echo "#define HAVE_GETLINE 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" getline.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getline.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "ctime_r" "ac_cv_func_ctime_r" +if test "x$ac_cv_func_ctime_r" = xyes; then : + $as_echo "#define HAVE_CTIME_R 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" ctime_r.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS ctime_r.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "asctime_r" "ac_cv_func_asctime_r" +if test "x$ac_cv_func_asctime_r" = xyes; then : + $as_echo "#define HAVE_ASCTIME_R 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" asctime_r.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS asctime_r.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "pread" "ac_cv_func_pread" +if test "x$ac_cv_func_pread" = xyes; then : + $as_echo "#define HAVE_PREAD 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" pread.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS pread.$ac_objext" ;; esac fi -done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5 $as_echo_n "checking for gzopen in -lz... " >&6; } -if test "${ac_cv_lib_z_gzopen+set}" = set; then : +if ${ac_cv_lib_z_gzopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -12866,7 +13458,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzopen" >&5 $as_echo "$ac_cv_lib_z_gzopen" >&6; } -if test "x$ac_cv_lib_z_gzopen" = x""yes; then : +if test "x$ac_cv_lib_z_gzopen" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF @@ -12878,7 +13470,7 @@ fi if test "$MINGW" = 1; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for regexec in -lgnurx" >&5 $as_echo_n "checking for regexec in -lgnurx... " >&6; } -if test "${ac_cv_lib_gnurx_regexec+set}" = set; then : +if ${ac_cv_lib_gnurx_regexec+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -12912,7 +13504,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gnurx_regexec" >&5 $as_echo "$ac_cv_lib_gnurx_regexec" >&6; } -if test "x$ac_cv_lib_gnurx_regexec" = x""yes; then : +if test "x$ac_cv_lib_gnurx_regexec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBGNURX 1 _ACEOF @@ -12920,7 +13512,7 @@ _ACEOF LIBS="-lgnurx $LIBS" else - as_fn_error "libgnurx is required to build file(1) with MinGW" "$LINENO" 5 + as_fn_error $? "libgnurx is required to build file(1) with MinGW" "$LINENO" 5 fi fi @@ -13000,10 +13592,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&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" && + 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;} - cat confcache >$cache_file + 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;} @@ -13019,6 +13622,7 @@ DEFS=-DHAVE_CONFIG_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$//' @@ -13033,6 +13637,14 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -13042,35 +13654,32 @@ else fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - as_fn_error "conditional \"MAINTAINER_MODE\" was never defined. + as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then - as_fn_error "conditional \"MINGW\" was never defined. + as_fn_error $? "conditional \"MINGW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${FSECT5_TRUE}" && test -z "${FSECT5_FALSE}"; then - as_fn_error "conditional \"FSECT5\" was never defined. + as_fn_error $? "conditional \"FSECT5\" 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. + 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 "${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 "${IS_CROSS_COMPILE_TRUE}" && test -z "${IS_CROSS_COMPILE_FALSE}"; then - as_fn_error "conditional \"IS_CROSS_COMPILE\" was never defined. + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -: ${CONFIG_STATUS=./config.status} +if test -z "${IS_CROSS_COMPILE_TRUE}" && test -z "${IS_CROSS_COMPILE_FALSE}"; then + as_fn_error $? "conditional \"IS_CROSS_COMPILE\" 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" @@ -13171,6 +13780,7 @@ fi 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 @@ -13216,19 +13826,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# 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. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + 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: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -13366,16 +13976,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... 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'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -13424,7 +14034,7 @@ $as_echo X"$as_dir" | 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" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -13435,28 +14045,16 @@ else 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_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # 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'" @@ -13477,8 +14075,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by file $as_me 5.11, which was -generated by GNU Autoconf 2.68. Invocation command line was +This file was extended by file $as_me 5.14, which was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -13518,6 +14116,7 @@ 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 @@ -13540,12 +14139,13 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -file config.status 5.11 -configured by $0, generated by GNU Autoconf 2.68, +file config.status 5.14 +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -13563,11 +14163,16 @@ 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 @@ -13581,12 +14186,15 @@ do 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;; @@ -13599,7 +14207,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -13608,7 +14216,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -13628,7 +14236,7 @@ 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 + 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' @@ -13664,9 +14272,9 @@ double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' -enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' +enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' @@ -13927,7 +14535,7 @@ do "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "python/Makefile") CONFIG_FILES="$CONFIG_FILES python/Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -13950,9 +14558,10 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $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 } @@ -13960,12 +14569,13 @@ $debug || { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || 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. @@ -13982,12 +14592,12 @@ if test "x$ac_cr" = x; then fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\r' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -13996,18 +14606,18 @@ _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 '$'` + 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 + 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 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -14015,7 +14625,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -14029,7 +14639,7 @@ s/'"$ac_delim"'$// t delim :nl h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p @@ -14043,7 +14653,7 @@ s/.\{148\}// t nl :delim h -s/\(.\{148\}\).*/\1/ +s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p @@ -14063,7 +14673,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -14095,21 +14705,29 @@ 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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \ - || as_fn_error "could not setup config files machinery" "$LINENO" 5 +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 $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# 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[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + 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 @@ -14121,7 +14739,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -14133,11 +14751,11 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -14222,7 +14840,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -14235,7 +14853,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -14254,7 +14872,7 @@ do for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) 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 `:'. @@ -14263,7 +14881,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + 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'" @@ -14289,8 +14907,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -14426,23 +15044,24 @@ 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 "$tmp/subs.awk" >$tmp/out \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 +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' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { 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 +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;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) 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 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -14451,21 +15070,21 @@ which seems to be undefined. Please make sure it is defined." >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -14524,7 +15143,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # 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 + # 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. @@ -14558,21 +15177,19 @@ $as_echo X"$mf" | continue fi # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running `make'. + # 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 + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || @@ -14662,15 +15279,15 @@ available_tags="" macro_version=$macro_version macro_revision=$macro_revision -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - # Whether or not to build static libraries. build_old_libs=$enable_static # What type of objects to build. pic_mode=$pic_mode +# Whether or not to build shared libraries. +build_libtool_libs=$enable_shared + # Whether or not to optimize for fast installation. fast_install=$enable_fast_install @@ -15250,7 +15867,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -15271,7 +15888,7 @@ 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 $? + $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 diff --git a/external/bsd/file/dist/configure.ac b/external/bsd/file/dist/configure.ac index a0f694927..be39d6463 100644 --- a/external/bsd/file/dist/configure.ac +++ b/external/bsd/file/dist/configure.ac @@ -1,10 +1,10 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(file, 5.11, christos@astron.com) -AM_INIT_AUTOMAKE() +AC_INIT([file],[5.14],[christos@astron.com]) +AM_INIT_AUTOMAKE([subdir-objects foreign]) AM_MAINTAINER_MODE(disable) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -AM_CONFIG_HEADER(config.h) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR([m4]) AC_MSG_CHECKING(for builtin ELF support) @@ -67,21 +67,22 @@ AC_SUBST(fsect) AM_CONDITIONAL(FSECT5, test x$fsect = x5) AC_SUBST(WARNINGS) -AC_GNU_SOURCE dnl Checks for programs. -AC_PROG_CC +AC_PROG_CC_STDC +AC_USE_SYSTEM_EXTENSIONS AM_PROG_CC_C_O +AC_C_BIGENDIAN AC_PROG_INSTALL AC_PROG_LN_S -AC_PROG_LIBTOOL - +LT_INIT([disable-static pic-only]) +gl_VISIBILITY dnl Checks for headers AC_HEADER_STDC AC_HEADER_MAJOR AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(stdint.h fcntl.h locale.h stdint.h inttypes.h unistd.h) -AC_CHECK_HEADERS(utime.h wchar.h wctype.h limits.h) +AC_CHECK_HEADERS(stddef.h utime.h wchar.h wctype.h limits.h) AC_CHECK_HEADERS(getopt.h err.h) AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h sys/utime.h sys/time.h) AC_CHECK_HEADERS(zlib.h) @@ -92,45 +93,24 @@ AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_CHECK_MEMBERS([struct stat.st_rdev]) -AC_STRUCT_TM -AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.tm_zone]) +AC_CHECK_MEMBERS([struct tm.tm_gmtoff]) +AC_STRUCT_TIMEZONE AC_STRUCT_TIMEZONE_DAYLIGHT AC_SYS_LARGEFILE AC_FUNC_FSEEKO AC_TYPE_MBSTATE_T AC_STRUCT_OPTION_GETOPT_H - -AC_CHECK_TYPES([pid_t, uint8_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t]) -AC_CHECK_SIZEOF(long long) -AH_BOTTOM([ -#ifndef HAVE_UINT8_T -typedef unsigned char uint8_t; -#endif -#ifndef HAVE_UINT16_T -typedef unsigned short uint16_t; -#endif -#ifndef HAVE_UINT32_T -typedef unsigned int uint32_t; -#endif -#ifndef HAVE_INT32_T -typedef int int32_t; -#endif -#ifndef HAVE_UINT64_T -#if SIZEOF_LONG_LONG == 8 -typedef unsigned long long uint64_t; -#else -typedef unsigned long uint64_t; -#endif -#endif -#ifndef HAVE_INT64_T -#if SIZEOF_LONG_LONG == 8 -typedef long long int64_t; -#else -typedef long int64_t; -#endif -#endif -]) +AC_TYPE_PID_T +AC_TYPE_UINT8_T +AC_TYPE_UINT16_T +AC_TYPE_UINT32_T +AC_TYPE_INT32_T +AC_TYPE_UINT64_T +AC_TYPE_INT64_T +AC_FUNC_MMAP +AC_FUNC_FORK +AC_FUNC_MBRTOWC AC_MSG_CHECKING(for gcc compiler warnings) AC_ARG_ENABLE(warnings, @@ -157,10 +137,10 @@ else fi]) dnl Checks for functions -AC_CHECK_FUNCS(mmap strerror strndup strtoul mbrtowc mkstemp utimes utime wcwidth strtof fork) +AC_CHECK_FUNCS(strerror strndup strtoul mkstemp mkostemp utimes utime wcwidth strtof) dnl Provide implementation of some required functions if necessary -AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline) +AC_REPLACE_FUNCS(getopt_long asprintf vasprintf strlcpy strlcat getline ctime_r asctime_r pread) dnl Checks for libraries AC_CHECK_LIB(z,gzopen) diff --git a/external/bsd/file/dist/depcomp b/external/bsd/file/dist/depcomp index df8eea7e4..0544c6835 100755 --- a/external/bsd/file/dist/depcomp +++ b/external/bsd/file/dist/depcomp @@ -1,10 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-07-12.20; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999-2012 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 @@ -28,7 +27,7 @@ scriptversion=2009-04-28.21; # UTC case $1 in '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) @@ -40,11 +39,11 @@ as side-effects. Environment variables: depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -57,6 +56,12 @@ EOF ;; esac +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 @@ -90,10 +95,24 @@ if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" + cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -148,20 +167,21 @@ gcc) ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. +## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory + tr ' ' "$nl" < "$tmpdepfile" | +## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -193,18 +213,15 @@ sgi) # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the + # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ + tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" + tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ + tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else @@ -216,10 +233,17 @@ sgi) rm -f "$tmpdepfile" ;; +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the + # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` @@ -249,12 +273,11 @@ aix) test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. + # Each line is of the form 'foo.o: dependent.h'. # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. + # '$object: dependent.h' and one to simply 'dependent.h:'. sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -265,23 +288,26 @@ aix) ;; icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. + # However on + # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h - # which is wrong. We want: + # which is wrong. We want # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : + # and will wrap long lines using '\': # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... - + # tcc 0.9.26 (FIXME still under development at the moment of writing) + # will emit a similar output, but also prepend the continuation lines + # with horizontal tabulation characters. "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : @@ -290,6 +316,85 @@ icc) exit $stat fi rm -f "$depfile" + # Each line is of the form 'foo.o: dependent.h', + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ + < "$tmpdepfile" > "$depfile" + sed ' + s/[ '"$tab"'][ '"$tab"']*/ /g + s/^ *// + s/ *\\*$// + s/^[^:]*: *// + /^$/d + /:$/d + s/$/ :/ + ' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + base=`echo "$source" | sed -e 's|^.*/||' -e 's/\.[-_a-zA-Z0-9]*$//'` + tmpdepfile="$base.d" + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir="$base.d-lock" + trap "echo '$0: caught signal, cleaning up...' >&2; rm -rf $lockdir" 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0 ; do + # mkdir is a portable test-and-set. + if mkdir $lockdir 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rm -rf $lockdir + break + else + ## the lock is being held by a different process, + ## wait until the winning process is done or we timeout + while test -d $lockdir && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to @@ -334,7 +439,7 @@ hp2) done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. + # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// @@ -349,9 +454,9 @@ hp2) tru64) # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. + # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= @@ -397,14 +502,59 @@ tru64) done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -422,7 +572,7 @@ dashmstdout) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -442,15 +592,14 @@ dashmstdout) done test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' + # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ + tr ' ' "$nl" < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" @@ -503,9 +652,10 @@ makedepend) touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" @@ -525,7 +675,7 @@ cpp) shift fi - # Remove `-o $object'. + # Remove '-o $object'. IFS=" " for arg do @@ -594,8 +744,8 @@ msvisualcpp) sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; diff --git a/external/bsd/file/dist/doc/Makefile.in b/external/bsd/file/dist/doc/Makefile.in index 62f61a338..5c4e3e772 100644 --- a/external/bsd/file/dist/doc/Makefile.in +++ b/external/bsd/file/dist/doc/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.12.4 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. +# Copyright (C) 1994-2012 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. @@ -15,6 +14,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -45,14 +61,25 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ @@ -66,6 +93,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -80,6 +108,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -183,9 +212,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu doc/Makefile + $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -216,6 +245,8 @@ TAGS: ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -261,10 +292,15 @@ install-am: all-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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: diff --git a/external/bsd/file/dist/doc/file.1 b/external/bsd/file/dist/doc/file.1 index 46b1bd1fe..e5b81fb43 100644 --- a/external/bsd/file/dist/doc/file.1 +++ b/external/bsd/file/dist/doc/file.1 @@ -1,7 +1,7 @@ -.\" $NetBSD: file.1,v 1.9 2012/02/22 17:53:50 christos Exp $ +.\" $NetBSD: file.1,v 1.12 2013/03/23 16:15:57 christos Exp $ .\" -.\" $File: file.man,v 1.98 2011/12/08 12:12:46 rrt Exp $ -.Dd October 17, 2011 +.\" $File: file.man,v 1.102 2013/01/04 15:39:22 christos Exp $ +.Dd October 25, 2012 .Dt FILE 1 .Os .Sh NAME @@ -26,7 +26,7 @@ .Nm .Op Fl Fl help .Sh DESCRIPTION -This manual page documents version 5.11 of the +This manual page documents version 5.14 of the .Nm command. .Pp @@ -261,8 +261,16 @@ prepended. (If you want a newline, see the .Fl r option.) +The magic pattern with the highest strength (see the +.Fl l +option) comes first. .It Fl l , Fl Fl list -Print information about the strength of each magic pattern. +Shows a list of patterns and their strength sorted descending by +.Xr magic 4 +strength +which is used for the matching (see also the +.Fl k +option). .It Fl L , Fl Fl dereference option causes symlinks to be followed, as the like-named option in .Xr ls 1 @@ -270,8 +278,6 @@ option causes symlinks to be followed, as the like-named option in This is the default if the environment variable .Ev POSIXLY_CORRECT is defined. -.It Fl l -Shows sorted patterns list in the order which is used for the matching. .It Fl m , Fl Fl magic-file Ar magicfiles Specify an alternate list of files and directories containing magic. This can be a single item, or a colon-separated list. @@ -553,16 +559,20 @@ or the mailing list at .Sh TODO .Pp Fix output so that tests for MIME and APPLE flags are not needed all -over the place, and actual output is only done in one place. This -needs a design. Suggestion: push possible outputs on to a list, then -pick the last-pushed (most specific, one hopes) value at the end, or -use a default if the list is empty. This should not slow down evaluation. +over the place, and actual output is only done in one place. +This needs a design. +Suggestion: push possible outputs on to a list, then pick the +last-pushed (most specific, one hopes) value at the end, or +use a default if the list is empty. +This should not slow down evaluation. .Pp -Continue to squash all magic bugs. See Debian BTS for a good source. +Continue to squash all magic bugs. +See Debian BTS for a good source. .Pp Store arbitrarily long strings, for example for %s patterns, so that -they can be printed out. Fixes Debian bug #271672. Would require more -complex store/load code in apprentice. +they can be printed out. +Fixes Debian bug #271672. +Would require more complex store/load code in apprentice. .Pp Add syntax for relative offsets after current level (Debian bug #466037). .Pp @@ -572,6 +582,30 @@ Add a zip library so we can peek inside Office2007 documents to figure out what they are. .Pp Add an option to print URLs for the sources of the file descriptions. +.Pp +Combine script searches and add a way to map executable names to MIME +types (e.g. have a magic value for !:mime which causes the resulting +string to be looked up in a table). +This would avoid adding the same magic repeatedly for each new +hash-bang interpreter. +.Pp +Fix +.Dq name +and +.Dq use +to check for consistency at compile time (duplicate +.Dq name , +.Dq use +pointing to undefined +.Dq name +). +Make +.Dq name +/ +.Dq use +more efficient by keeping a sorted list of names. +Special-case ^ to flip endianness in the parser so that it does not +have to be escaped, and document it. .Sh AVAILABILITY You can obtain the original author's latest version by anonymous FTP on diff --git a/external/bsd/file/dist/doc/libmagic.3 b/external/bsd/file/dist/doc/libmagic.3 index f8e27afa3..ff28835f5 100644 --- a/external/bsd/file/dist/doc/libmagic.3 +++ b/external/bsd/file/dist/doc/libmagic.3 @@ -1,6 +1,6 @@ -.\" $NetBSD: libmagic.3,v 1.10 2012/02/22 17:53:50 christos Exp $ +.\" $NetBSD: libmagic.3,v 1.11 2013/03/23 16:15:57 christos Exp $ .\" -.\" $File: libmagic.man,v 1.26 2011/12/19 17:49:31 christos Exp $ +.\" $File: libmagic.man,v 1.27 2013/01/06 20:56:52 christos Exp $ .\" .\" Copyright (c) Christos Zoulas 2003. .\" All Rights Reserved. @@ -27,7 +27,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd December 19, 2011 +.Dd January 6, 2012 .Dt LIBMAGIC 3 .Os .Sh NAME @@ -39,7 +39,9 @@ .Nm magic_setflags , .Nm magic_check , .Nm magic_compile , -.Nm magic_load +.Nm magic_list , +.Nm magic_load , +.Nm magic_version .Nd Magic number recognition library .Sh LIBRARY .Lb libmagic @@ -69,6 +71,8 @@ .Fn magic_list "magic_t cookie" "const char *filename" .Ft int .Fn magic_load "magic_t cookie" "const char *filename" +.Ft int +.Fn magic_version "void" .Sh DESCRIPTION These functions operate on the magic database file @@ -249,6 +253,16 @@ If that variable is not set, the default database file name is adds .Dq .mgc to the database filename as appropriate. +.Pp +The +.Fn magic_version +command returns the version number of this library which is compiled into +the shared library using the constant +.Dv MAGIC_VERSION +from +.In magic.h . +This can be used by client programs to verify that the version they compile +against is the same as the version that they run against. .Sh RETURN VALUES The function .Fn magic_open @@ -279,6 +293,9 @@ function returns a textual description of the errors of the above functions, or .Dv NULL if there was no error. +The +.Fn magic_version +always returns the version number of the library. Finally, .Fn magic_setflags returns \-1 on systems that don't support diff --git a/external/bsd/file/dist/doc/magic.5 b/external/bsd/file/dist/doc/magic.5 index c3f1e7aae..a82000b5b 100644 --- a/external/bsd/file/dist/doc/magic.5 +++ b/external/bsd/file/dist/doc/magic.5 @@ -1,7 +1,7 @@ -.\" $NetBSD: magic.5,v 1.7 2012/02/22 17:53:50 christos Exp $ +.\" $NetBSD: magic.5,v 1.10 2013/03/23 16:15:57 christos Exp $ .\" -.\" $File: magic.man,v 1.71 2011/12/07 11:58:24 rrt Exp $ -.Dd April 20, 2011 +.\" $File: magic.man,v 1.78 2013/01/09 13:04:30 christos Exp $ +.Dd January 7, 2013 .Dt MAGIC 5 .Os .\" install as magic.4 on USG, magic.5 on V7, Berkeley and Linux systems. @@ -12,7 +12,7 @@ This manual page documents the format of the magic file as used by the .Xr file 1 -command, version 5.11. +command, version 5.14. The .Xr file 1 command identifies the type of a file using, @@ -53,7 +53,7 @@ A 64-bit double precision IEEE floating point number in this machine's native by .It Dv string A string of bytes. The string type specification can be optionally followed -by /[WwcCtb]*. +by /[WwcCtbT]*. The .Dq W flag compacts whitespace in the target, which must @@ -87,8 +87,12 @@ The flag forces the test to be done for text files, while the .Dq b flag forces the test to be done for binary files. +The +.Dq T +flag causes the string to be trimmed, i.e. leading and trailing whitespace +is deleted before the string is printed. .It Dv pstring -A Pascal-style string where the first byte/short/int is interpreted as the an +A Pascal-style string where the first byte/short/int is interpreted as the unsigned length. The length defaults to byte and can be specified as a modifier. The following modifiers are supported: @@ -123,6 +127,8 @@ local time rather than UTC. .It Dv qldate An eight-byte value interpreted as a UNIX-style date, but interpreted as local time rather than UTC. +.It Dv qwdate +An eight-byte value interpreted as a Windows-style date. .It Dv beid3 A 32-bit ID3 length in big-endian byte order. .It Dv beshort @@ -149,6 +155,9 @@ than UTC. An eight-byte value in big-endian byte order, interpreted as a UNIX-style date, but interpreted as local time rather than UTC. +.It Dv beqwdate +An eight-byte value in big-endian byte order, +interpreted as a Windows-style date. .It Dv bestring16 A two-byte unicode (UCS16) string in big-endian byte order. .It Dv leid3 @@ -177,6 +186,9 @@ than UTC. An eight-byte value in little-endian byte order, interpreted as a UNIX-style date, but interpreted as local time rather than UTC. +.It Dv leqwdate +An eight-byte value in little-endian byte order, +interpreted as a Windows-style date. .It Dv lestring16 A two-byte unicode (UCS16) string in little-endian byte order. .It Dv melong @@ -190,6 +202,27 @@ interpreted as a UNIX-style date, but interpreted as local time rather than UTC. .It Dv indirect Starting at the given offset, consult the magic database again. +.It Dv name +Define a +.Dq named +magic instance that can be called from another +.Dv use +magic entry, like a subroutine call. +Named instance direct magic offsets are relative to the offset of the +previous matched entry, but indirect offsets are relative to the beginning +of the file as usual. +Named magic entries always match. +.It Dv use +Recursively call the named magic starting from the current offset. +If the name of the referenced begins with a +.Dv ^ +then the endianness of the magic is switched; if the magic mentioned +.Dv leshort +for example, +it is treated as +.Dv beshort +and vice versa. +This is useful to avoid duplicating the rules for different endianness. .It Dv regex A regular expression match in extended POSIX regular expression syntax (like egrep). @@ -234,6 +267,67 @@ This is intended to be used with the test no other matches. .El .Pp +For compatibility with the Single +.Ux +Standard, the type specifiers +.Dv dC +and +.Dv d1 +are equivalent to +.Dv byte , +the type specifiers +.Dv uC +and +.Dv u1 +are equivalent to +.Dv ubyte , +the type specifiers +.Dv dS +and +.Dv d2 +are equivalent to +.Dv short , +the type specifiers +.Dv uS +and +.Dv u2 +are equivalent to +.Dv ushort , +the type specifiers +.Dv dI , +.Dv dL , +and +.Dv d4 +are equivalent to +.Dv long , +the type specifiers +.Dv uI , +.Dv uL , +and +.Dv u4 +are equivalent to +.Dv ulong , +the type specifier +.Dv d8 +is equivalent to +.Dv quad , +the type specifier +.Dv u8 +is equivalent to +.Dv uquad , +and the type specifier +.Dv s +is equivalent to +.Dv string . +In addition, the type specifier +.Dv dQ +is equivalent to +.Dv quad +and the type specifier +.Dv uQ +is equivalent to +.Dv uquad . +.Pp Each top-level magic pattern (see below for an explanation of levels) is classified as text or binary according to the types used. Types @@ -539,19 +633,41 @@ The formats .Dv melong , .Dv short , .Dv beshort , -.Dv leshort , -.Dv date , -.Dv bedate , -.Dv medate , -.Dv ledate , -.Dv beldate , -.Dv leldate , and -.Dv meldate -are system-dependent; perhaps they should be specified as a number -of bytes (2B, 4B, etc), -since the files being recognized typically come from -a system on which the lengths are invariant. +.Dv leshort +do not depend on the length of the C data types +.Dv short +and +.Dv long +on the platform, even though the Single +.Ux +Specification implies that they do. However, as OS X Mountain Lion has +passed the Single +.Ux +Specification validation suite, and supplies a version of +.Xr file 1 +in which they do not depend on the sizes of the C data types and that is +built for a 64-bit environment in which +.Dv long +is 8 bytes rather than 4 bytes, presumably the validation suite does not +test whether, for example +.Dv long +refers to an item with the same size as the C data type +.Dv long . +There should probably be +.Dv type +names +.Dv int8 , +.Dv uint8 , +.Dv int16 , +.Dv uint16 , +.Dv int32 , +.Dv uint32 , +.Dv int64 , +and +.Dv uint64 , +and specified-byte-order variants of them, +to make it clearer that those types have specified widths. .\" .\" From: guy@sun.uucp (Guy Harris) .\" Newsgroups: net.bugs.usg diff --git a/external/bsd/file/dist/install-sh b/external/bsd/file/dist/install-sh index 5ed8b1d04..192a98e71 100755 --- a/external/bsd/file/dist/install-sh +++ b/external/bsd/file/dist/install-sh @@ -1,6 +1,6 @@ #!/bin/sh # -# NetBSD: install-sh.in,v 1.5 2010/10/08 19:57:05 tez Exp +# $NetBSD: install-sh,v 1.7 2013/03/23 16:15:57 christos Exp $ # This script now also installs multiple files, but might choke on installing # multiple files with spaces in the file names. # @@ -44,7 +44,8 @@ stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" -instcmd="$mvprog" +instcmd="$cpprog" +instflags="" pathcompchmodcmd="$chmodprog 755" chmodcmd="$chmodprog 755" chowncmd="" @@ -84,6 +85,11 @@ while [ x"$1" != x ]; do shift continue;; + -m*) + chmodcmd="$chmodprog ${1#-m}" + shift + continue;; + -o) chowncmd="$chownprog $2" shift shift @@ -104,6 +110,10 @@ while [ x"$1" != x ]; do shift continue;; + -p) instflags="-p" + shift + continue;; + *) if [ x"$msrc" = x ] then msrc="$dst" @@ -154,7 +164,7 @@ else if [ -f "$srcarg" ] then - doinst="$instcmd" + doinst="$instcmd $instflags" elif [ -d "$srcarg" ] then echo "install: $srcarg: not a regular file" diff --git a/external/bsd/file/dist/magic/Localstuff b/external/bsd/file/dist/magic/Localstuff index 419855fb6..aef809524 100644 --- a/external/bsd/file/dist/magic/Localstuff +++ b/external/bsd/file/dist/magic/Localstuff @@ -2,6 +2,6 @@ #------------------------------------------------------------------------------ # Localstuff: file(1) magic for locally observed files # -# $File: Localstuff,v 1.4 2003/03/23 04:17:27 christos Exp $ +# $File: Localstuff,v 1.5 2007/01/12 17:38:27 christos Exp $ # Add any locally observed files here. Remember: # text if readable, executable if runnable binary, data if unreadable. diff --git a/external/bsd/file/dist/magic/Makefile.am b/external/bsd/file/dist/magic/Makefile.am index d12b4037e..0f969a18a 100644 --- a/external/bsd/file/dist/magic/Makefile.am +++ b/external/bsd/file/dist/magic/Makefile.am @@ -1,5 +1,5 @@ # -# $File: Makefile.am,v 1.78 2012/01/27 01:41:26 christos Exp $ +# $File: Makefile.am,v 1.89 2013/02/18 18:31:09 christos Exp $ # MAGIC_FRAGMENT_BASE = magdir MAGIC_DIR = $(top_srcdir)/magic @@ -18,6 +18,7 @@ $(MAGIC_FRAGMENT_DIR)/alliant \ $(MAGIC_FRAGMENT_DIR)/amanda \ $(MAGIC_FRAGMENT_DIR)/amigaos \ $(MAGIC_FRAGMENT_DIR)/animation \ +$(MAGIC_FRAGMENT_DIR)/aout \ $(MAGIC_FRAGMENT_DIR)/apl \ $(MAGIC_FRAGMENT_DIR)/apple \ $(MAGIC_FRAGMENT_DIR)/applix \ @@ -53,6 +54,7 @@ $(MAGIC_FRAGMENT_DIR)/console \ $(MAGIC_FRAGMENT_DIR)/convex \ $(MAGIC_FRAGMENT_DIR)/cracklib \ $(MAGIC_FRAGMENT_DIR)/ctags \ +$(MAGIC_FRAGMENT_DIR)/cubemap \ $(MAGIC_FRAGMENT_DIR)/cups \ $(MAGIC_FRAGMENT_DIR)/dact \ $(MAGIC_FRAGMENT_DIR)/database \ @@ -84,9 +86,10 @@ $(MAGIC_FRAGMENT_DIR)/gcc \ $(MAGIC_FRAGMENT_DIR)/geo \ $(MAGIC_FRAGMENT_DIR)/geos \ $(MAGIC_FRAGMENT_DIR)/gimp \ -$(MAGIC_FRAGMENT_DIR)/gnome-keyring \ +$(MAGIC_FRAGMENT_DIR)/gnome \ $(MAGIC_FRAGMENT_DIR)/gnu \ $(MAGIC_FRAGMENT_DIR)/gnumeric \ +$(MAGIC_FRAGMENT_DIR)/gpt \ $(MAGIC_FRAGMENT_DIR)/grace \ $(MAGIC_FRAGMENT_DIR)/graphviz \ $(MAGIC_FRAGMENT_DIR)/gringotts \ @@ -96,6 +99,7 @@ $(MAGIC_FRAGMENT_DIR)/hp \ $(MAGIC_FRAGMENT_DIR)/human68k \ $(MAGIC_FRAGMENT_DIR)/ibm370 \ $(MAGIC_FRAGMENT_DIR)/ibm6000 \ +$(MAGIC_FRAGMENT_DIR)/icc \ $(MAGIC_FRAGMENT_DIR)/iff \ $(MAGIC_FRAGMENT_DIR)/images \ $(MAGIC_FRAGMENT_DIR)/inform \ @@ -105,9 +109,11 @@ $(MAGIC_FRAGMENT_DIR)/island \ $(MAGIC_FRAGMENT_DIR)/ispell \ $(MAGIC_FRAGMENT_DIR)/isz \ $(MAGIC_FRAGMENT_DIR)/java \ +$(MAGIC_FRAGMENT_DIR)/javascript \ $(MAGIC_FRAGMENT_DIR)/jpeg \ $(MAGIC_FRAGMENT_DIR)/karma \ $(MAGIC_FRAGMENT_DIR)/kde \ +$(MAGIC_FRAGMENT_DIR)/keepass \ $(MAGIC_FRAGMENT_DIR)/kml \ $(MAGIC_FRAGMENT_DIR)/lecter \ $(MAGIC_FRAGMENT_DIR)/lex \ @@ -119,6 +125,7 @@ $(MAGIC_FRAGMENT_DIR)/lua \ $(MAGIC_FRAGMENT_DIR)/luks \ $(MAGIC_FRAGMENT_DIR)/m4 \ $(MAGIC_FRAGMENT_DIR)/mach \ +$(MAGIC_FRAGMENT_DIR)/macos \ $(MAGIC_FRAGMENT_DIR)/macintosh \ $(MAGIC_FRAGMENT_DIR)/magic \ $(MAGIC_FRAGMENT_DIR)/mail.news \ @@ -178,6 +185,7 @@ $(MAGIC_FRAGMENT_DIR)/printer \ $(MAGIC_FRAGMENT_DIR)/project \ $(MAGIC_FRAGMENT_DIR)/psdbms \ $(MAGIC_FRAGMENT_DIR)/pulsar \ +$(MAGIC_FRAGMENT_DIR)/pwsafe \ $(MAGIC_FRAGMENT_DIR)/pyramid \ $(MAGIC_FRAGMENT_DIR)/python \ $(MAGIC_FRAGMENT_DIR)/revision \ @@ -222,6 +230,7 @@ $(MAGIC_FRAGMENT_DIR)/tuxedo \ $(MAGIC_FRAGMENT_DIR)/typeset \ $(MAGIC_FRAGMENT_DIR)/unicode \ $(MAGIC_FRAGMENT_DIR)/unknown \ +$(MAGIC_FRAGMENT_DIR)/uterus \ $(MAGIC_FRAGMENT_DIR)/uuencode \ $(MAGIC_FRAGMENT_DIR)/varied.out \ $(MAGIC_FRAGMENT_DIR)/varied.script \ diff --git a/external/bsd/file/dist/magic/Makefile.in b/external/bsd/file/dist/magic/Makefile.in index 3bb24bffd..0462936c9 100644 --- a/external/bsd/file/dist/magic/Makefile.in +++ b/external/bsd/file/dist/magic/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.12.4 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. +# Copyright (C) 1994-2012 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. @@ -16,6 +15,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -46,14 +62,25 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -75,6 +102,12 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(pkgdatadir)" DATA = $(pkgdata_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -90,6 +123,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -104,6 +138,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -197,7 +232,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # -# $File: Makefile.am,v 1.78 2012/01/27 01:41:26 christos Exp $ +# $File: Makefile.am,v 1.89 2013/02/18 18:31:09 christos Exp $ # MAGIC_FRAGMENT_BASE = magdir MAGIC_DIR = $(top_srcdir)/magic @@ -214,6 +249,7 @@ $(MAGIC_FRAGMENT_DIR)/alliant \ $(MAGIC_FRAGMENT_DIR)/amanda \ $(MAGIC_FRAGMENT_DIR)/amigaos \ $(MAGIC_FRAGMENT_DIR)/animation \ +$(MAGIC_FRAGMENT_DIR)/aout \ $(MAGIC_FRAGMENT_DIR)/apl \ $(MAGIC_FRAGMENT_DIR)/apple \ $(MAGIC_FRAGMENT_DIR)/applix \ @@ -249,6 +285,7 @@ $(MAGIC_FRAGMENT_DIR)/console \ $(MAGIC_FRAGMENT_DIR)/convex \ $(MAGIC_FRAGMENT_DIR)/cracklib \ $(MAGIC_FRAGMENT_DIR)/ctags \ +$(MAGIC_FRAGMENT_DIR)/cubemap \ $(MAGIC_FRAGMENT_DIR)/cups \ $(MAGIC_FRAGMENT_DIR)/dact \ $(MAGIC_FRAGMENT_DIR)/database \ @@ -280,9 +317,10 @@ $(MAGIC_FRAGMENT_DIR)/gcc \ $(MAGIC_FRAGMENT_DIR)/geo \ $(MAGIC_FRAGMENT_DIR)/geos \ $(MAGIC_FRAGMENT_DIR)/gimp \ -$(MAGIC_FRAGMENT_DIR)/gnome-keyring \ +$(MAGIC_FRAGMENT_DIR)/gnome \ $(MAGIC_FRAGMENT_DIR)/gnu \ $(MAGIC_FRAGMENT_DIR)/gnumeric \ +$(MAGIC_FRAGMENT_DIR)/gpt \ $(MAGIC_FRAGMENT_DIR)/grace \ $(MAGIC_FRAGMENT_DIR)/graphviz \ $(MAGIC_FRAGMENT_DIR)/gringotts \ @@ -292,6 +330,7 @@ $(MAGIC_FRAGMENT_DIR)/hp \ $(MAGIC_FRAGMENT_DIR)/human68k \ $(MAGIC_FRAGMENT_DIR)/ibm370 \ $(MAGIC_FRAGMENT_DIR)/ibm6000 \ +$(MAGIC_FRAGMENT_DIR)/icc \ $(MAGIC_FRAGMENT_DIR)/iff \ $(MAGIC_FRAGMENT_DIR)/images \ $(MAGIC_FRAGMENT_DIR)/inform \ @@ -301,9 +340,11 @@ $(MAGIC_FRAGMENT_DIR)/island \ $(MAGIC_FRAGMENT_DIR)/ispell \ $(MAGIC_FRAGMENT_DIR)/isz \ $(MAGIC_FRAGMENT_DIR)/java \ +$(MAGIC_FRAGMENT_DIR)/javascript \ $(MAGIC_FRAGMENT_DIR)/jpeg \ $(MAGIC_FRAGMENT_DIR)/karma \ $(MAGIC_FRAGMENT_DIR)/kde \ +$(MAGIC_FRAGMENT_DIR)/keepass \ $(MAGIC_FRAGMENT_DIR)/kml \ $(MAGIC_FRAGMENT_DIR)/lecter \ $(MAGIC_FRAGMENT_DIR)/lex \ @@ -315,6 +356,7 @@ $(MAGIC_FRAGMENT_DIR)/lua \ $(MAGIC_FRAGMENT_DIR)/luks \ $(MAGIC_FRAGMENT_DIR)/m4 \ $(MAGIC_FRAGMENT_DIR)/mach \ +$(MAGIC_FRAGMENT_DIR)/macos \ $(MAGIC_FRAGMENT_DIR)/macintosh \ $(MAGIC_FRAGMENT_DIR)/magic \ $(MAGIC_FRAGMENT_DIR)/mail.news \ @@ -374,6 +416,7 @@ $(MAGIC_FRAGMENT_DIR)/printer \ $(MAGIC_FRAGMENT_DIR)/project \ $(MAGIC_FRAGMENT_DIR)/psdbms \ $(MAGIC_FRAGMENT_DIR)/pulsar \ +$(MAGIC_FRAGMENT_DIR)/pwsafe \ $(MAGIC_FRAGMENT_DIR)/pyramid \ $(MAGIC_FRAGMENT_DIR)/python \ $(MAGIC_FRAGMENT_DIR)/revision \ @@ -418,6 +461,7 @@ $(MAGIC_FRAGMENT_DIR)/tuxedo \ $(MAGIC_FRAGMENT_DIR)/typeset \ $(MAGIC_FRAGMENT_DIR)/unicode \ $(MAGIC_FRAGMENT_DIR)/unknown \ +$(MAGIC_FRAGMENT_DIR)/uterus \ $(MAGIC_FRAGMENT_DIR)/uuencode \ $(MAGIC_FRAGMENT_DIR)/varied.out \ $(MAGIC_FRAGMENT_DIR)/varied.script \ @@ -466,9 +510,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu magic/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign magic/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu magic/Makefile + $(AUTOMAKE) --foreign magic/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -495,8 +539,11 @@ clean-libtool: -rm -rf .libs _libs install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) - test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -510,15 +557,15 @@ uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(pkgdatadir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(pkgdatadir)" && rm -f $$files + dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir) tags: TAGS TAGS: ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -567,10 +614,15 @@ install-am: all-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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: diff --git a/external/bsd/file/dist/magic/magdir/adventure b/external/bsd/file/dist/magic/magdir/adventure index febc2077f..37b4cb3de 100644 --- a/external/bsd/file/dist/magic/magdir/adventure +++ b/external/bsd/file/dist/magic/magdir/adventure @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: adventure,v 1.13 2010/12/31 16:32:54 christos Exp $ +# $File: adventure,v 1.14 2012/06/21 01:32:26 christos Exp $ # adventure: file(1) magic for Adventure game files # # from Allen Garvin @@ -33,10 +33,14 @@ # 0 ubyte >0 >0 ubyte <9 ->>16 belong&0xfe00f0f0 0x3030 Infocom game data ->>>0 ubyte x (Z-machine %d, ->>>>2 ubeshort x Release %d / ->>>>18 string >\0 Serial %.6s) +>>16 belong&0xfe00f0f0 0x3030 +>>>0 ubyte < 10 +>>>>2 ubeshort < 10 +>>>>>18 regex [0-9][0-9][0-9][0-9][0-9][0-9] +>>>>>>0 ubyte < 10 Infocom (Z-machine %d, +>>>>>>>2 ubeshort < 10 Release %d / +>>>>>>>>18 string >\0 Serial %.6s) +!:strength + 40 #------------------------------------------------------------------------------ # Glulx: file(1) magic for Glulx binaries. diff --git a/external/bsd/file/dist/magic/magdir/amigaos b/external/bsd/file/dist/magic/magdir/amigaos index f4c9cf265..8fdf37662 100644 --- a/external/bsd/file/dist/magic/magdir/amigaos +++ b/external/bsd/file/dist/magic/magdir/amigaos @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: amigaos,v 1.14 2009/09/19 16:28:07 christos Exp $ +# $File: amigaos,v 1.15 2012/06/21 01:13:59 christos Exp $ # amigaos: file(1) magic for AmigaOS binary formats: # @@ -63,3 +63,6 @@ # From: Alex Beregszaszi 0 string LZX LZX compressed archive (Amiga) +# From: Przemek Kramarczyk +0 string .KEY AmigaDOS script +0 string .key AmigaDOS script diff --git a/external/bsd/file/dist/magic/magdir/animation b/external/bsd/file/dist/magic/magdir/animation index c09a26ac8..7467517b6 100644 --- a/external/bsd/file/dist/magic/magdir/animation +++ b/external/bsd/file/dist/magic/magdir/animation @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: animation,v 1.45 2011/09/06 11:00:06 christos Exp $ +# $File: animation,v 1.48 2013/03/09 22:36:00 christos Exp $ # animation: file(1) magic for animation/movie formats # # animation formats @@ -89,7 +89,10 @@ >>4 byte 77 \b, main >>4 byte 88 \b, extended >>6 byte x \b @ L %u +# GRR too general as it catches also FoxPro Memo example NG.FPT >3 byte 0xB0 MPEG sequence, v4 +# TODO: maybe this extra line exclude FoxPro Memo example NG.FPT starting with 000001b0 00000100 00000000 +#>>4 byte !0 MPEG sequence, v4 !:mime video/mpeg4-generic >>5 belong 0x000001B5 >>>9 byte &0x80 @@ -688,10 +691,6 @@ # iso 13818 transport stream # # from Oskar Schirmer Feb 3, 2001 (ISO 13818.1) -# (the following is a little bit restrictive and works fine for a stream -# that starts with PAT properly. it won't work for stream data, that is -# cut from an input device data right in the middle, but this shouldn't -# disturb) # syncbyte 8 bit 0x47 # error_ind 1 bit - # payload_start 1 bit 1 @@ -699,9 +698,9 @@ # PID 13 bit 0x0000 # scrambling 2 bit - # adaptfld_ctrl 2 bit 1 or 3 -# conti_count 4 bit 0 -0 belong&0xFF5FFF1F 0x47400010 MPEG transport stream data ->188 byte !0x47 CORRUPTED +# conti_count 4 bit - +0 belong&0xFF5FFF10 0x47400010 +>188 byte 0x47 MPEG transport stream data # DIF digital video file format 0 belong&0xffffff00 0x1f070000 DIF @@ -755,7 +754,7 @@ >0 byte x GameCube movie, >0x34 ubeshort x %d x >0x36 ubeshort x %d, ->0x26 ubeshort x %dµs, +>0x26 ubeshort x %dus, >0x42 ubeshort 0 no audio >0x42 ubeshort >0 %dHz audio diff --git a/external/bsd/file/dist/magic/magdir/aout b/external/bsd/file/dist/magic/magdir/aout new file mode 100644 index 000000000..69b6ec60d --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/aout @@ -0,0 +1,46 @@ + +#------------------------------------------------------------------------------ +# $File: aout,v 1.1 2013/01/09 22:37:23 christos Exp $ +# aout: file(1) magic for a.out executable/object/etc entries that +# handle executables on multiple platforms. +# + +# +# Little-endian 32-bit-int a.out, merged from bsdi (for BSD/OS, from +# BSDI), netbsd, and vax (for UNIX/32V and BSD) +# +# XXX - is there anything we can look at to distinguish BSD/OS 386 from +# NetBSD 386 from various VAX binaries? The BSD/OS shared library flag +# works only for binaries using shared libraries. Grabbing the entry +# point from the a.out header, using it to find the first code executed +# in the program, and looking at that might help. +# +0 lelong 0407 a.out little-endian 32-bit executable +>16 lelong >0 not stripped +>32 byte 0x6a (uses BSD/OS shared libs) + +0 lelong 0410 a.out little-endian 32-bit pure executable +>16 lelong >0 not stripped +>32 byte 0x6a (uses BSD/OS shared libs) + +0 lelong 0413 a.out little-endian 32-bit demand paged pure executable +>16 lelong >0 not stripped +>32 byte 0x6a (uses BSD/OS shared libs) + +# +# Big-endian 32-bit-int a.out, merged from sun (for old 68010 SunOS a.out), +# mips (for old 68020(!) SGI a.out), and netbsd (for old big-endian a.out). +# +# XXX - is there anything we can look at to distinguish old SunOS 68010 +# from old 68020 IRIX from old NetBSD? Again, I guess we could look at +# the first instruction or instructions in the program. +# +0 belong 0407 a.out big-endian 32-bit executable +>16 belong >0 not stripped + +0 belong 0410 a.out big-endian 32-bit pure executable +>16 belong >0 not stripped + +0 belong 0413 a.out big-endian 32-bit demand paged executable +>16 belong >0 not stripped + diff --git a/external/bsd/file/dist/magic/magdir/apple b/external/bsd/file/dist/magic/magdir/apple index 8f98a2b85..633c01271 100644 --- a/external/bsd/file/dist/magic/magdir/apple +++ b/external/bsd/file/dist/magic/magdir/apple @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: apple,v 1.25 2012/04/06 21:18:09 christos Exp $ +# $File: apple,v 1.27 2013/03/09 22:36:00 christos Exp $ # apple: file(1) magic for Apple file formats # 0 search/1/t FiLeStArTfIlEsTaRt binscii (apple ][) text @@ -106,8 +106,13 @@ # This is incredibly sloppy, but will be true if the program was # written at its usual memory location of 2048 and its first line # number is less than 256. Yuck. +# update by Joerg Jenderek at Feb 2013 -0 belong&0xff00ff 0x80000 Applesoft BASIC program data +# GRR: this test is still too general as it catches also Gujin BOOT144.SYS (0xfa080000) +#0 belong&0xff00ff 0x80000 Applesoft BASIC program data +0 belong&0x00ff00ff 0x00080000 +# assuming that line number must be positive +>2 leshort >0 Applesoft BASIC program data, first line number %d #>2 leshort x \b, first line number %d # ORCA/EZ assembler: @@ -260,14 +265,14 @@ >>20 beshort x \b, descriptors %d # Assume 8 partitions each at a multiple of the sector size. # We could glean this from the partition descriptors, but they are empty!?!? -# >>(2.S*1) indirect \b, contains[@0x%x]: -# >>(2.S*2) indirect \b, contains[@0x%x]: -# >>(2.S*3) indirect \b, contains[@0x%x]: -# >>(2.S*4) indirect \b, contains[@0x%x]: -# >>(2.S*5) indirect \b, contains[@0x%x]: -# >>(2.S*6) indirect \b, contains[@0x%x]: -# >>(2.S*7) indirect \b, contains[@0x%x]: -# >>(2.S*8) indirect \b, contains[@0x%x]: +>>(2.S*1) indirect \b, contains[@0x%x]: +>>(2.S*2) indirect \b, contains[@0x%x]: +>>(2.S*3) indirect \b, contains[@0x%x]: +>>(2.S*4) indirect \b, contains[@0x%x]: +>>(2.S*5) indirect \b, contains[@0x%x]: +>>(2.S*6) indirect \b, contains[@0x%x]: +>>(2.S*7) indirect \b, contains[@0x%x]: +>>(2.S*8) indirect \b, contains[@0x%x]: # Yes, the 3rd and 4th bytes are reserved, but we use them to make the # magic stronger. @@ -291,3 +296,7 @@ >92 belong & 512 \b, chain driver >92 belong & 1024 \b, mount at startup >92 belong & 2048 \b, is the startup partition + +#http://wiki.mozilla.org/DS_Store_File_Format` +#http://en.wikipedia.org/wiki/.DS_Store +0 string \0\0\0\1Bud1\0 Apple Desktop Services Store diff --git a/external/bsd/file/dist/magic/magdir/archive b/external/bsd/file/dist/magic/magdir/archive index 2ff3323c4..b8fbd28a4 100644 --- a/external/bsd/file/dist/magic/magdir/archive +++ b/external/bsd/file/dist/magic/magdir/archive @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# $File: archive,v 1.70 2011/10/26 15:44:47 christos Exp $ +# $File: archive,v 1.79 2013/02/08 17:24:06 christos Exp $ # archive: file(1) magic for archive formats (see also "msdos" for self- # extracting compressed archives) # @@ -36,7 +36,60 @@ 0 string 070701 ASCII cpio archive (SVR4 with no CRC) 0 string 070702 ASCII cpio archive (SVR4 with CRC) -# Debian package (needs to go before regular portable archives) +# +# Various archive formats used by various versions of the "ar" +# command. +# + +# +# Original UNIX archive formats. +# They were written with binary values in host byte order, and +# the magic number was a host "int", which might have been 16 bits +# or 32 bits. We don't say "PDP-11" or "VAX", as there might have +# been ports to little-endian 16-bit-int or 32-bit-int platforms +# (x86?) using some of those formats; if none existed, feel free +# to use "PDP-11" for little-endian 16-bit and "VAX" for little-endian +# 32-bit. There might have been big-endian ports of that sort as +# well. +# +0 leshort 0177555 very old 16-bit-int little-endian archive +0 beshort 0177555 very old 16-bit-int big-endian archive +0 lelong 0177555 very old 32-bit-int little-endian archive +0 belong 0177555 very old 32-bit-int big-endian archive + +0 leshort 0177545 old 16-bit-int little-endian archive +>2 string __.SYMDEF random library +0 beshort 0177545 old 16-bit-int big-endian archive +>2 string __.SYMDEF random library +0 lelong 0177545 old 32-bit-int little-endian archive +>4 string __.SYMDEF random library +0 belong 0177545 old 32-bit-int big-endian archive +>4 string __.SYMDEF random library + +# +# From "pdp" (but why a 4-byte quantity?) +# +0 lelong 0x39bed PDP-11 old archive +0 lelong 0x39bee PDP-11 4.0 archive + +# +# XXX - what flavor of APL used this, and was it a variant of +# some ar archive format? It's similar to, but not the same +# as, the APL workspace magic numbers in pdp. +# +0 long 0100554 apl workspace + +# +# System V Release 1 portable(?) archive format. +# +0 string = System V Release 1 ar archive +!:mime application/x-archive + +# +# Debian package; it's in the portable archive format, and needs to go +# before the entry for regular portable archives, as it's recognized as +# a portable archive whose first member has a name beginning with +# "debian". # 0 string =!\ndebian !:mime application/x-debian-package @@ -53,18 +106,14 @@ #>84 string gz \b, uses gzip compression #>136 ledate x created: %s -# other archives -0 long 0177555 very old archive -0 short 0177555 very old PDP-11 archive -0 long 0177545 old archive -0 short 0177545 old PDP-11 archive -0 long 0100554 apl workspace -0 string = archive -!:mime application/x-archive - -# MIPS archive (needs to go before regular portable archives) +# +# MIPS archive; they're in the portable archive format, and need to go +# before the entry for regular portable archives, as it's recognized as +# a portable archive whose first member has a name beginning with +# "__________E". # 0 string =!\n__________E MIPS archive +!:mime application/x-archive >20 string U with MIPS Ucode members >21 string L with MIPSEL members >21 string B with MIPSEB members @@ -75,56 +124,20 @@ 0 search/1 -h- Software Tools format archive text # -# XXX - why are there multiple thingies? Note that 0x213c6172 is -# "! current ar archive -# 0 long 0x213c6172 archive file -# -# and for SVR1 archives, we have: -# -# 0 string \ System V Release 1 ar archive -# 0 string = archive -# -# XXX - did Aegis really store shared libraries, breakpointed modules, -# and absolute code program modules in the same format as new-style -# "ar" archives? +# BSD/SVR2-and-later portable archive formats. # 0 string =! current ar archive !:mime application/x-archive >8 string __.SYMDEF random library ->0 belong =65538 - pre SR9.5 ->0 belong =65539 - post SR9.5 ->0 beshort 2 - object archive ->0 beshort 3 - shared library module ->0 beshort 4 - debug break-pointed module ->0 beshort 5 - absolute code program module -0 string \ System V Release 1 ar archive -0 string = archive +>68 string __.SYMDEF\ SORTED random library + # -# XXX - from "vax", which appears to collect a bunch of byte-swapped -# thingies, to help you recognize VAX files on big-endian machines; -# with "leshort", "lelong", and "string", that's no longer necessary.... +# "Thin" archive, as can be produced by GNU ar. # -0 belong 0x65ff0000 VAX 3.0 archive -0 belong 0x3c61723e VAX 5.0 archive -# -0 long 0x213c6172 archive file -0 lelong 0177555 very old VAX archive -0 leshort 0177555 very old PDP-11 archive -# -# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus -# be a random library (it said 0xff65 rather than 0177545). -# -0 lelong 0177545 old VAX archive ->8 string __.SYMDEF random library -0 leshort 0177545 old PDP-11 archive ->8 string __.SYMDEF random library -# -# From "pdp" (but why a 4-byte quantity?) -# -0 lelong 0x39bed PDP-11 old archive -0 lelong 0x39bee PDP-11 4.0 archive +0 string =!\n thin archive with +>68 belong 0 no symbol entries +>68 belong 1 %d symbol entry +>68 belong >1 %d symbol entries # ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com) # @@ -184,7 +197,10 @@ # SAR 3 string LH5 SAR archive data # BSArc/BS2 -0 string \212\3SB \0 BSArc/BS2 archive data +0 string \212\3SB\020\0 BSArc/BS2 archive data +# Bethesda Softworks Archive (Oblivion) +0 string BSA\0 BSArc archive data +>4 lelong x version %d # MAR 2 string =-ah MAR archive data # ACB @@ -209,7 +225,7 @@ # AMGC 0 string \xad6" AMGC archive data # NuLIB -0 string NõFélÃ¥ NuLIB archive data +0 string N\xc3\xb5F\xc3\xa9lx\xc3\xa5 NuLIB archive data # PakLeo 0 string LEOLZW PAKLeo archive data # ChArc @@ -221,7 +237,7 @@ # Freeze 0 string \x1f\x9f\x4a\x10\x0a Freeze archive data # KBoom -0 string ¨MP¨ KBoom archive data +0 string \xc2\xa8MP\xc2\xa8 KBoom archive data # NSQ, must go after CDC Codec 0 string \x76\xff NSQ archive data # DPA @@ -259,7 +275,7 @@ # MP3 (archiver, not lossy audio compression) 0 string MP3\x1a MP3-Archiver archive data # ZET -0 string OZà ZET archive data +0 string OZ\xc3\x9d ZET archive data # TSComp 0 string \x65\x5d\x13\x8c\x08\x01\x03\x00 TSComp archive data # ARQ @@ -290,7 +306,7 @@ # Xtreme 0 string ULEB\0 Xtreme archive data # Pack Magic -0 string @â\1\0 Pack Magic archive data +0 string @\xc3\xa2\1\0 Pack Magic archive data # BTS 0 belong&0xfeffffff 0x1a034465 BTS archive data # ELI 5750 @@ -426,7 +442,7 @@ # XPack Data 0 string xpa XPack archive data # XPack Single Data -0 string Ã\ jm XPack single archive data +0 string \xc3\x8d\ jm XPack single archive data # TODO: missing due to unknown magic/magic at end of file: #DWC @@ -571,6 +587,7 @@ !:mime application/zip # Zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) +0 string PK\005\006 Zip archive data (empty) 0 string PK\003\004 # Specialised zip formats which start with a member named 'mimetype' @@ -660,11 +677,10 @@ !:mime application/vnd.oasis.opendocument.image-template # EPUB (OEBPS) books using OCF (OEBPS Container Format) -# From: Adam Buchbinder # http://www.idpf.org/ocf/ocf1.0/download/ocf10.htm, section 4. -# (mimetype contains "application/epub+zip") ->>50 string epub+zip EPUB ebook data -!:mime application/epub+zip +# From: Ralf Brown +>0x1E string mimetypeapplication/epub+zip EPUB document +!:mime application/epub+zip # Catch other ZIP-with-mimetype formats # In a ZIP file, the bytes immediately after a member's contents are @@ -684,16 +700,21 @@ >>>38 regex [!-OQ-~]+ Zip data (MIME type "%s"?) !:mime application/zip +# Java Jar files +>(26.s+30) leshort 0xcafe Java Jar file data (zip) +!:mime application/jar + # Generic zip archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu) # Next line excludes specialized formats: ->26 string !\x8\0\0\0mimetype Zip archive data +>(26.s+30) leshort !0xcafe +>>26 string !\x8\0\0\0mimetype Zip archive data !:mime application/zip ->>4 byte 0x09 \b, at least v0.9 to extract ->>4 byte 0x0a \b, at least v1.0 to extract ->>4 byte 0x0b \b, at least v1.1 to extract ->>4 byte 0x14 \b, at least v2.0 to extract ->>4 byte 0x2d \b, at least v3.0 to extract ->>0x161 string WINZIP \b, WinZIP self-extracting +>>>4 byte 0x09 \b, at least v0.9 to extract +>>>4 byte 0x0a \b, at least v1.0 to extract +>>>4 byte 0x0b \b, at least v1.1 to extract +>>>4 byte 0x14 \b, at least v2.0 to extract +>>>4 byte 0x2d \b, at least v3.0 to extract +>>>0x161 string WINZIP \b, WinZIP self-extracting # StarView Metafile # From Pierre Ducroquet @@ -884,14 +905,8 @@ # archive must be an uncompressed file called 'mimetype' with contents # 'application/epub+zip' -# start by checking that this is a ZIP archive, then check for the -# proper mimetype file -# From: Ralf Brown -0 string PK\003\004 ->0x1E string mimetypeapplication/epub+zip EPUB document -!:mime application/epub+zip -# From: "MichaÅ‚ Górny" +# From: "Michael Gorny" # ZPAQ: http://mattmahoney.net/dc/zpaq.html 0 string zPQ ZPAQ stream >3 byte x \b, level %d diff --git a/external/bsd/file/dist/magic/magdir/assembler b/external/bsd/file/dist/magic/magdir/assembler index 90aa4ca65..f311ae966 100644 --- a/external/bsd/file/dist/magic/magdir/assembler +++ b/external/bsd/file/dist/magic/magdir/assembler @@ -1,14 +1,18 @@ #------------------------------------------------------------------------------ -# $File: assembler,v 1.1 2011/12/08 12:12:46 rrt Exp $ +# $File: assembler,v 1.4 2013/01/04 23:31:11 christos Exp $ # make: file(1) magic for assembler source # -0 regex \^\.asciiz\? assembler source text +0 regex \^[\020\t]*\\.asciiz assembler source text !:mime text/x-asm -0 regex \^\.byte assembler source text +0 regex \^[\020\t]*\\.byte assembler source text !:mime text/x-asm -0 regex \^\.even assembler source text +0 regex \^[\020\t]*\\.even assembler source text !:mime text/x-asm -0 regex \^\.globl assembler source text +0 regex \^[\020\t]*\\.globl assembler source text !:mime text/x-asm -0 regex \^\.text assembler source text +0 regex \^[\020\t]*\\.text assembler source text +!:mime text/x-asm +0 regex \^[\020\t]*\\.file assembler source text +!:mime text/x-asm +0 regex \^[\020\t]*\\.type assembler source text !:mime text/x-asm diff --git a/external/bsd/file/dist/magic/magdir/audio b/external/bsd/file/dist/magic/magdir/audio index 0cbe25903..ebe6f09a3 100644 --- a/external/bsd/file/dist/magic/magdir/audio +++ b/external/bsd/file/dist/magic/magdir/audio @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: audio,v 1.64 2012/02/20 16:37:34 christos Exp $ +# $File: audio,v 1.66 2013/02/06 14:18:52 christos Exp $ # audio: file(1) magic for sound formats (see also "iff") # # Jan Nicolai Langfeldt (janl@ifi.uio.no), Dan Quinlan (quinlan@yggdrasil.com), @@ -512,7 +512,7 @@ >>12 ulelong x \b, sample rate %d # adlib sound files -# From Gürkan Sengün , http://www.linuks.mine.nu +# From Gurkan Sengun , http://www.linuks.mine.nu 0 string RAWADATA RdosPlay RAW 1068 string RoR AMUSIC Adlib Tracker @@ -571,6 +571,7 @@ # musepak support From: "Jiri Pejchal" 0 string MP+ Musepack audio +!:mime audio/x-musepack >3 byte 255 \b, SV pre8 >3 byte&0xF 0x6 \b, SV 6 >3 byte&0xF 0x8 \b, SV 8 diff --git a/external/bsd/file/dist/magic/magdir/bsdi b/external/bsd/file/dist/magic/magdir/bsdi index be16e3a1a..e8a6c358c 100644 --- a/external/bsd/file/dist/magic/magdir/bsdi +++ b/external/bsd/file/dist/magic/magdir/bsdi @@ -1,25 +1,15 @@ #------------------------------------------------------------------------------ -# $File: bsdi,v 1.5 2009/09/19 16:28:08 christos Exp $ +# $File: bsdi,v 1.6 2013/01/09 22:37:24 christos Exp $ # bsdi: file(1) magic for BSD/OS (from BSDI) objects +# Some object/executable formats use the same magic numbers as are used +# in other OSes; those are handled by entries in aout. # 0 lelong 0314 386 compact demand paged pure executable >16 lelong >0 not stripped >32 byte 0x6a (uses shared libs) -0 lelong 0407 386 executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0410 386 pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - -0 lelong 0413 386 demand paged pure executable ->16 lelong >0 not stripped ->32 byte 0x6a (uses shared libs) - # same as in SunOS 4.x, except for static shared libraries 0 belong&077777777 0600413 sparc demand paged >0 byte &0x80 diff --git a/external/bsd/file/dist/magic/magdir/c-lang b/external/bsd/file/dist/magic/magdir/c-lang index 066562760..41dfb628f 100644 --- a/external/bsd/file/dist/magic/magdir/c-lang +++ b/external/bsd/file/dist/magic/magdir/c-lang @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# $File: c-lang,v 1.16 2011/12/09 08:02:16 rrt Exp $ +# $File: c-lang,v 1.17 2012/04/28 21:20:26 christos Exp $ # c-lang: file(1) magic for C and related languages programs # @@ -30,19 +30,19 @@ # C++ # The strength of these rules is increased so they beat the C rules above 0 regex \^template C++ source text -!:strength + 10 +!:strength + 5 !:mime text/x-c++ 0 regex \^virtual C++ source text -!:strength + 10 +!:strength + 5 !:mime text/x-c++ 0 regex \^class C++ source text -!:strength + 10 +!:strength + 5 !:mime text/x-c++ 0 regex \^public: C++ source text -!:strength + 10 +!:strength + 5 !:mime text/x-c++ 0 regex \^private: C++ source text -!:strength + 10 +!:strength + 5 !:mime text/x-c++ # From: Mikhail Teterin diff --git a/external/bsd/file/dist/magic/magdir/cafebabe b/external/bsd/file/dist/magic/magdir/cafebabe index 6400e2f3b..b5e968ac7 100644 --- a/external/bsd/file/dist/magic/magdir/cafebabe +++ b/external/bsd/file/dist/magic/magdir/cafebabe @@ -1,19 +1,20 @@ #------------------------------------------------------------------------------ -# $File: cafebabe,v 1.8 2009/09/19 16:28:08 christos Exp $ +# $File: cafebabe,v 1.14 2013/02/27 16:59:59 christos Exp $ # Cafe Babes unite! # -# Since Java bytecode and Mach-O fat-files have the same magic number, the test -# must be performed in the same "magic" sequence to get both right. The long -# at offset 4 in a mach-O fat file tells the number of architectures; the short at -# offset 4 in a Java bytecode file is the JVM minor version and the -# short at offset 6 is the JVM major version. Since there are only +# Since Java bytecode and Mach-O universal binaries have the same magic number, +# the test must be performed in the same "magic" sequence to get both right. +# The long at offset 4 in a Mach-O universal binary tells the number of +# architectures; the short at offset 4 in a Java bytecode file is the JVM minor +# version and the short at offset 6 is the JVM major version. Since there are only # only 18 labeled Mach-O architectures at current, and the first released # Java class format was version 43.0, we can safely choose any number # between 18 and 39 to test the number of architectures against # (and use as a hack). Let's not use 18, because the Mach-O people # might add another one or two as time goes by... # +### JAVA START ### 0 belong 0xcafebabe !:mime application/x-java-applet >4 belong >30 compiled Java class data, @@ -28,13 +29,35 @@ >>4 belong 0x0031 (Java 1.5) >>4 belong 0x0032 (Java 1.6) +0 belong 0xcafed00d JAR compressed with pack200, +>5 byte x version %d. +>4 byte x \b%d +!:mime application/x-java-pack200 -0 belong 0xcafebabe ->4 belong 1 Mach-O fat file with 1 architecture ->4 belong >1 ->>4 belong <20 Mach-O fat file with %ld architectures 0 belong 0xcafed00d JAR compressed with pack200, ->>5 byte x version %d. ->>4 byte x \b%d +>5 byte x version %d. +>4 byte x \b%d !:mime application/x-java-pack200 + +### JAVA END ### +### MACH-O START ### + +0 name mach-o \b [ +>0 use mach-o-cpu \b +>&(8.L) indirect \b: +>0 belong x \b] + +0 belong 0xcafebabe +>4 belong 1 Mach-O universal binary with 1 architecture: +>>8 use mach-o \b +>4 belong >1 +>>4 belong <20 Mach-O universal binary with %ld architectures: +>>>8 use mach-o \b +>>>28 use mach-o \b +>>4 belong >2 +>>>48 use mach-o \b +>>4 belong >3 +>>>68 use mach-o \b + +### MACH-O END ### diff --git a/external/bsd/file/dist/magic/magdir/claris b/external/bsd/file/dist/magic/magdir/claris index a2b120a83..3f447bc22 100644 --- a/external/bsd/file/dist/magic/magdir/claris +++ b/external/bsd/file/dist/magic/magdir/claris @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: claris,v 1.5 2009/09/19 16:28:08 christos Exp $ +# $File: claris,v 1.6 2012/06/20 21:19:05 christos Exp $ # claris: file(1) magic for claris # "H. Nanosecond" # Claris Works a word processor, etc. @@ -11,10 +11,10 @@ #* #0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000 #null to byte 1000 octal -514 string \377\377\377\377\000 Claris clip art? ->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes. -514 string \377\377\377\377\001 Claris clip art? ->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes. +514 string \377\377\377\377\000 +>0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 Claris clip art +514 string \377\377\377\377\001 +>0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 Claris clip art # Claris works files # .cwk diff --git a/external/bsd/file/dist/magic/magdir/commands b/external/bsd/file/dist/magic/magdir/commands index 4fb151f32..157dae057 100644 --- a/external/bsd/file/dist/magic/magdir/commands +++ b/external/bsd/file/dist/magic/magdir/commands @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: commands,v 1.42 2011/12/05 23:14:02 rrt Exp $ +# $File: commands,v 1.45 2013/02/06 14:18:52 christos Exp $ # commands: file(1) magic for various shells and interpreters # #0 string/w : shell archive or script for antique kernel text @@ -67,17 +67,20 @@ # PHP scripts # Ulf Harnhammar 0 search/1/c = +# Elan Ruusamae 0 string =24 regex [0-9.]+ \b, version %s !:mime text/x-php diff --git a/external/bsd/file/dist/magic/magdir/console b/external/bsd/file/dist/magic/magdir/console index 573dd15fd..27227a412 100644 --- a/external/bsd/file/dist/magic/magdir/console +++ b/external/bsd/file/dist/magic/magdir/console @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: console,v 1.18 2010/09/20 19:19:17 rrt Exp $ +# $File: console,v 1.19 2013/02/06 14:18:52 christos Exp $ # Console game magic # Toby Deshane # ines: file(1) magic for Marat's iNES Nintendo Entertainment System @@ -137,7 +137,7 @@ >113 string x (%s) #------------------------------------------------------------------------------ -# Microsoft Xbox executables .xbe (Esa Hyytiä ) +# Microsoft Xbox executables .xbe (Esa Hyytia ) 0 string XBEH XBE, Microsoft Xbox executable # probabilistic checks whether signed or not >0x0004 ulelong =0x0 @@ -177,7 +177,7 @@ # From: Serge van den Boom 0 string \x01ZZZZZ\x01 3DO "Opera" file system -# From Gürkan Sengün , www.linuks.mine.nu +# From Gurkan Sengun , www.linuks.mine.nu 0 string GBS Nintendo Gameboy Music/Audio Data 12 string GameBoy\ Music\ Module Nintendo Gameboy Music Module diff --git a/external/bsd/file/dist/magic/magdir/convex b/external/bsd/file/dist/magic/magdir/convex index 6141a82bb..6b28f768c 100644 --- a/external/bsd/file/dist/magic/magdir/convex +++ b/external/bsd/file/dist/magic/magdir/convex @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: convex,v 1.7 2009/09/19 16:28:08 christos Exp $ +# $File: convex,v 1.8 2012/10/03 23:44:43 christos Exp $ # convex: file(1) magic for Convex boxes # # Convexes are big-endian. @@ -30,8 +30,6 @@ # The restore program uses these number to determine how the data is # to be extracted. # -24 belong =60011 dump format, 4.1 BSD or earlier -24 belong =60012 dump format, 4.2 or 4.3 BSD without IDC 24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible) 24 belong =60014 dump format, Convex Storage Manager by-reference dump # diff --git a/external/bsd/file/dist/magic/magdir/cubemap b/external/bsd/file/dist/magic/magdir/cubemap new file mode 100644 index 000000000..e2f87d854 --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/cubemap @@ -0,0 +1,8 @@ + +#------------------------------------------------------------------------------ +# $File: cubemap,v 1.1 2012/06/06 13:03:20 christos Exp $ +# file(1) magic(5) data for cubemaps Martin Erik Werner +# +0 string ACMP Map file for the AssaultCube FPS game +0 string CUBE Map file for cube and cube2 engine games +0 string MAPZ) Map file for the Blood Frontier/Red Eclipse FPS games diff --git a/external/bsd/file/dist/magic/magdir/cups b/external/bsd/file/dist/magic/magdir/cups index da2cc4cce..54167fc04 100644 --- a/external/bsd/file/dist/magic/magdir/cups +++ b/external/bsd/file/dist/magic/magdir/cups @@ -1,55 +1,12 @@ #------------------------------------------------------------------------------ -# $File: cups,v 1.1 2011/11/10 18:59:54 christos Exp $ +# $File: cups,v 1.2 2012/11/02 21:50:29 christos Exp $ # Cups: file(1) magic for the cups raster file format # From: Laurent Martelli # http://www.cups.org/documentation.php/spec-raster.html # -# Cups Raster image format, Big Endian -0 string RaS -!:mime application/vnd.cups-raster ->3 string t Cups Raster version 1, Big Endian ->3 string 2 Cups Raster version 2, Big Endian ->3 string 3 Cups Raster version 3, Big Endian ->280 belong x \b, %d ->284 belong x \bx%d dpi ->376 belong x \b, %dx ->380 belong x \b%d pixels ->388 belong x %d bits/color ->392 belong x %d bits/pixel ->400 belong 0 ColorOrder=Chunky ->400 belong 1 ColorOrder=Banded ->400 belong 2 ColorOrder=Planar ->404 belong 0 ColorSpace=gray ->404 belong 1 ColorSpace=RGB ->404 belong 2 ColorSpace=RGBA ->404 belong 3 ColorSpace=black ->404 belong 4 ColorSpace=CMY ->404 belong 5 ColorSpace=YMC ->404 belong 6 ColorSpace=CMYK ->404 belong 7 ColorSpace=YMCK ->404 belong 8 ColorSpace=KCMY ->404 belong 9 ColorSpace=KCMYcm ->404 belong 10 ColorSpace=GMCK ->404 belong 11 ColorSpace=GMCS ->404 belong 12 ColorSpace=WHITE ->404 belong 13 ColorSpace=GOLD ->404 belong 14 ColorSpace=SILVER ->404 belong 15 ColorSpace=CIE XYZ ->404 belong 16 ColorSpace=CIE Lab ->404 belong 17 ColorSpace=RGBW ->404 belong 18 ColorSpace=sGray ->404 belong 19 ColorSpace=sRGB ->404 belong 20 ColorSpace=AdobeRGB - - -# Cups Raster image format, Little Endian -1 string SaR ->0 string t Cups Raster version 1, Little Endian ->0 string 2 Cups Raster version 2, Little Endian ->0 string 3 Cups Raster version 3, Little Endian -!:mime application/vnd.cups-raster +0 name cups-be >280 lelong x \b, %d >284 lelong x \bx%d dpi >376 lelong x \b, %dx @@ -80,3 +37,20 @@ >404 lelong 18 ColorSpace=sGray >404 lelong 19 ColorSpace=sRGB >404 lelong 20 ColorSpace=AdobeRGB + +# Cups Raster image format, Big Endian +0 string RaS +>3 string t Cups Raster version 1, Big Endian +>3 string 2 Cups Raster version 2, Big Endian +>3 string 3 Cups Raster version 3, Big Endian +!:mime application/vnd.cups-raster +>0 use ^cups-be + + +# Cups Raster image format, Little Endian +1 string SaR +>0 string t Cups Raster version 1, Little Endian +>0 string 2 Cups Raster version 2, Little Endian +>0 string 3 Cups Raster version 3, Little Endian +!:mime application/vnd.cups-raster +>0 use \^cups-be diff --git a/external/bsd/file/dist/magic/magdir/database b/external/bsd/file/dist/magic/magdir/database index 956a53ba4..913140379 100644 --- a/external/bsd/file/dist/magic/magdir/database +++ b/external/bsd/file/dist/magic/magdir/database @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: database,v 1.28 2011/09/16 19:40:40 christos Exp $ +# $File: database,v 1.33 2013/03/09 22:36:00 christos Exp $ # database: file(1) magic for various databases # # extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk) @@ -114,95 +114,247 @@ #>>>0x04 byte 8 incrementing secondary index .XGn file ## XBase database files -#0 byte 0x02 -#>8 leshort >0 -#>>12 leshort 0 FoxBase -#!:mime application/x-dbf -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) +# updated by Joerg Jenderek at Feb 2013 +# http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm +# http://www.clicketyclick.dk/databases/xbase/format/dbf.html +# http://home.f1.htw-berlin.de/scheibl/db/intern/dBase.htm +# inspect VVYYMMDD , where 1<= MM <= 12 and 1<= DD <= 31 +0 ubelong&0x0000FFFF <0x00000C20 +# skip Infocom game Z-machine +>2 ubyte >0 +# skip Androids *.xml +>>3 ubyte >0 +>>>3 ubyte <32 +# 1 < version VV +>>>>0 ubyte >1 +# skip HELP.CA3 by test for reserved byte ( NULL ) +>>>>>27 ubyte 0 +# reserved bytes not always 0 ; also found 0x3901 (T4.DBF) ,0x7101 (T5.DBF,T6.DBF) +#>>>>>30 ubeshort x 30NULL?%x +# possible production flag,tag numbers(<=0x30),tag length(<=0x20), reserved (NULL) +>>>>>>24 ubelong&0xffFFFFff >0x01302000 +# .DBF or .MDX +>>>>>>24 ubelong&0xffFFFFff <0x01302001 +# for Xbase Database file (*.DBF) reserved (NULL) for multi-user +>>>>>>>24 ubelong&0xffFFFFff =0 +# test for 2 reserved NULL bytes,transaction and encryption byte flag +>>>>>>>>12 ubelong&0xFFFFfEfE 0 +# test for MDX flag +>>>>>>>>>28 ubyte x +>>>>>>>>>28 ubyte&0xf8 0 +# header size >= 32 +>>>>>>>>>>8 uleshort >31 +# skip PIC15736.PCX by test for language driver name or field name +>>>>>>>>>>>32 ubyte >0 +!:mime application/x-dbf +#!:mime application/x-dbf; charset=unknown-8bit ?? +#!:mime application/x-dbase +>>>>>>>>>>>>0 use xbase-type +# database file +>>>>>>>>>>>>0 ubyte x \b DBF +>>>>>>>>>>>>4 lelong 0 \b, no records +>>>>>>>>>>>>4 lelong >0 \b, %ld record +# plural s appended +>>>>>>>>>>>>>4 lelong >1 \bs +# http://www.clicketyclick.dk/databases/xbase/format/dbf_check.html#CHECK_DBF +# 1 <= record size <= 4000 (dBase 3,4) or 32 * KB (=0x8000) +>>>>>>>>>>>>10 uleshort x * %d +# file size = records * record size + header size +>>>>>>>>>>>>1 ubyte x \b, update-date +>>>>>>>>>>>>1 use xbase-date +# http://msdn.microsoft.com/de-de/library/cc483186(v=vs.71).aspx +#>>>>>>>>>>>>29 ubyte =0 \b, codepage ID=0x%x +# 2~cp850 , 3~cp1252 , 0x1b~?? ; what code page is 0x1b ? +>>>>>>>>>>>>29 ubyte >0 \b, codepage ID=0x%x +#>>>>>>>>>>>>28 ubyte&0x01 0 \b, no index file +>>>>>>>>>>>>28 ubyte&0x01 1 \b, with index file .MDX +>>>>>>>>>>>>28 ubyte&0x02 2 \b, with memo .FPT +>>>>>>>>>>>>28 ubyte&0x04 4 \b, DataBaseContainer +# 1st record offset + 1 = header size +>>>>>>>>>>>>8 uleshort >0 +>>>>>>>>>>>>(8.s+1) ubyte >0 +>>>>>>>>>>>>>8 uleshort >0 \b, at offset %d +>>>>>>>>>>>>>(8.s+1) ubyte >0 +>>>>>>>>>>>>>>&-1 string >\0 1st record "%s" +# for multiple index files (*.MDX) Production flag,tag numbers(<=0x30),tag length(<=0x20), reserverd (NULL) +>>>>>>>24 ubelong&0x0133f7ff >0 +# test for reserved NULL byte +>>>>>>>>47 ubyte x +# test for valid TAG key format (0x10 or 0) +>>>>>>>>>559 ubyte&0xeF 0 +# test MM <= 12 +>>>>>>>>>45 ubeshort <0x0C20 +>>>>>>>>>>45 ubyte >0 +>>>>>>>>>>>46 ubyte <32 +>>>>>>>>>>>>46 ubyte >0 +#!:mime application/x-mdx +>>>>>>>>>>>>>0 use xbase-type +>>>>>>>>>>>>>0 ubyte x \b MDX +>>>>>>>>>>>>>1 ubyte x \b, creation-date +>>>>>>>>>>>>>1 use xbase-date +>>>>>>>>>>>>>44 ubyte x \b, update-date +>>>>>>>>>>>>>44 use xbase-date +# No.of tags in use (1,2,5,12) +>>>>>>>>>>>>>28 uleshort x \b, %d +# No. of entries in tag (0x30) +>>>>>>>>>>>>>25 ubyte x \b/%d tags +# Length of tag +>>>>>>>>>>>>>26 ubyte x * %d +# 1st tag name_ +>>>>>>>>>>>>>548 string x \b, 1st tag "%.11s" +# 2nd tag name +#>>>>>>>>>>>>(26.b+548) string x \b, 2nd tag "%.11s" # -#0 byte 0x03 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 FoxBase+, FoxPro, dBaseIII+, dBaseIV, no memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x04 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 dBASE IV no memo file -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x05 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 dBASE V no memo file -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x30 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 Visual FoxPro -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x43 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 FlagShip with memo var size -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x7b -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 dBASEIV with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x83 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 FoxBase+, dBaseIII+ with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x8b -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 dBaseIV with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0x8e -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 dBaseIV with SQL Table -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0xb3 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 FlagShip with .dbt memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 byte 0xf5 -#!:mime application/x-dbf -#>8 leshort >0 -#>>12 leshort 0 FoxPro with memo -#>>>0x04 lelong 0 (no records) -#>>>0x04 lelong >0 (%ld records) -# -#0 leshort 0x0006 DBase 3 index file +# Print the xBase names of different version variants +0 name xbase-type +>0 ubyte <2 +# 1 < version +>0 ubyte >1 +>>0 ubyte 0x02 FoxBase +# FoxBase+/dBaseIII+, no memo +>>0 ubyte 0x03 FoxBase+/dBase III +# dBASE IV no memo file +>>0 ubyte 0x04 dBase IV +# dBASE V no memo file +>>0 ubyte 0x05 dBase V +>>0 ubyte 0x30 Visual FoxPro +>>0 ubyte 0x31 Visual FoxPro, autoincrement +# Visual FoxPro, with field type Varchar or Varbinary +>>0 ubyte 0x32 Visual FoxPro, with field type Varchar +# dBASE IV SQL, no memo;dbv memo var size (Flagship) +>>0 ubyte 0x43 dBase IV, with SQL table +# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx +#>>0 ubyte 0x62 dBase IV, with SQL table +# dBASE IV, with memo!! +>>0 ubyte 0x7b dBase IV, with memo +# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx +#>>0 ubyte 0x82 dBase IV, with SQL system +# FoxBase+/dBaseIII+ with memo .DBT! +>>0 ubyte 0x83 FoxBase+/dBase III, with memo .DBT +# VISUAL OBJECTS (first 1.0 versions) for the Dbase III files (NTX clipper driver); memo file +>>0 ubyte 0x87 VISUAL OBJECTS, with memo file +# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx +#>>0 ubyte 0x8A FoxBase+/dBase III, with memo .DBT +# dBASE IV with memo! +>>0 ubyte 0x8B dBase IV, with memo .DBT +# dBase IV with SQL Table,no memo? +>>0 ubyte 0x8E dBase IV, with SQL table +# .dbv and .dbt memo (Flagship)? +>>0 ubyte 0xB3 Flagship +# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx +#>>0 ubyte 0xCA dBase IV with memo .DBT +# dBASE IV with SQL table, with memo .DBT +>>0 ubyte 0xCB dBase IV with SQL table, with memo .DBT +# HiPer-Six format;Clipper SIX, with SMT memo file +>>0 ubyte 0xE5 Clipper SIX with memo +# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx +#>>0 ubyte 0xF4 dBase IV, with SQL table, with memo +>>0 ubyte 0xF5 FoxPro with memo +# http://msdn.microsoft.com/en-US/library/st4a0s68(v=vs.80).aspx +#>>0 ubyte 0xFA FoxPro 2.x, with memo +# unkown version (should not happen) +>>0 default x xBase +>>>0 ubyte x (0x%x) +# flags in version byte +# DBT flag (with dBASE III memo .DBT)!! +# >>0 ubyte&0x80 >0 DBT_FLAG=%x +# memo flag ?? +# >>0 ubyte&0x08 >0 MEMO_FLAG=%x +# SQL flag ?? +# >>0 ubyte&0x70 >0 SQL_FLAG=%x +# test and print the date of xBase .DBF .MDX +0 name xbase-date +# inspect YYMMDD , where 1<= MM <= 12 and 1<= DD <= 31 +>0 ubelong x +>1 ubyte <13 +>>1 ubyte >0 +>>>2 ubyte >0 +>>>>2 ubyte <32 +>>>>>0 ubyte x +# YY is interpreted as 20YY or 19YY +>>>>>>0 ubyte <100 \b %.2d +# YY is interpreted 1900+YY; TODO: display yy or 20yy instead 1YY +>>>>>>0 ubyte >99 \b %d +>>>>>1 ubyte x \b-%d +>>>>>2 ubyte x \b-%d + +# dBase memo files .DBT or .FPT +# http://msdn.microsoft.com/en-us/library/8599s21w(v=vs.80).aspx +16 ubyte <4 +>16 ubyte !2 +>>16 ubyte !1 +# next free block index is positive +>>>0 ulelong >0 +# skip many JPG. ZIP, BZ2 by test for reserved bytes NULL , 0|2 , 0|1 , low byte of block size +>>>>17 ubelong&0xFFfdFE00 0x00000000 +# skip many RAR by test for low byte 0 ,high byte 0|2|even of block size, 0|a|e|d7 , 0|64h +>>>>>20 ubelong&0xFF01209B 0x00000000 +# dBASE III +>>>>>>16 ubyte 3 +# dBASE III DBT +>>>>>>>0 use xbase-memo-print +# dBASE IV DBT , FoxPro FPT or many PNG , ZIP , DBF garbage +>>>>>>16 ubyte 0 +# dBASE IV DBT with DBF name or DBF garbage +>>>>>>>8 ubelong >0x40000000 +# skip DBF and catch dBASE IV DBT with DBF name and with non big index of next free block +>>>>>>>>0 ulelong <0x01010002 +>>>>>>>>>0 use xbase-memo-print +>>>>>>>8 ubelong 0 +# skip MM*DD*.bin by test for for reserved NULL byte +>>>>>>>>508 ubelong 0 +>>>>>>>>>0 use xbase-memo-print +# garbage PCX , ZIP , JAR , XPI +>>>>>>>8 default x + +# Print the information of dBase DBT or FoxPro FPT memo files +0 name xbase-memo-print +>0 ubyte x +# test version +# memo file +>>16 ubyte 3 dBase III DBT +>>16 ubyte 0 +>>>512 ubelong <0x00000003 FoxPro FPT +# Size of blocks for FoxPro +>>>>6 ubeshort x \b, blocks size %lu +# Number of next available block for appending data for FoxPro +>>>>0 ubelong =0 \b, next free block index %lu +>>>>0 ubelong !0 \b, next free block index %lu +>>>512 default x dBase IV DBT +# DBF file name without extention +>>>>8 string >\0 \b of %-.8s.DBF +# size of blocks ; not reliable 0x2020204C +#>>>>4 ulelong =0 \b, blocks size %lu +>>>>4 ulelong !0 \b, blocks size %lu +# Block length found 0 , 512 +#>>>>20 uleshort =0 \b, block length %u +>>>>20 uleshort !0 \b, block length %u +# Number of next available block for appending data +>>>>0 ulelong =0 \b, next free block index %lu +>>>>0 ulelong !0 \b, next free block index %lu +>>512 ubelong x +>>>512 ubelong =0xFFFF0800 +>>>>520 string >\0 \b, 1st used item "%s" +# FoxPro +>>>512 ubelong <3 +# FoxPro memo +>>>>512 ubelong =1 +>>>>520 string >\0 \b, 1st used item "%s" +>>>512 default x +# may be deleted memo field +>>>>512 string >\0 \b, 1st item "%s" + +# TODO: +# DBASE index file *.NDX +# DBASE Compound Index file *.CDX +# dBASE IV Printer Driver *.PRF +## End of XBase database stuff # MS Access database 4 string Standard\ Jet\ DB Microsoft Access Database !:mime application/x-msaccess +4 string Standard\ ACE\ DB Microsoft Access Database +!:mime application/x-msaccess # TDB database from Samba et al - Martin Pool 0 string TDB\ file TDB database @@ -269,14 +421,6 @@ >48 lequad x \b, rnum=%lld >56 lequad x \b, fsiz=%lld -# G-IR database made by gobject-introspect toolset, -# http://live.gnome.org/GObjectIntrospection -0 string GOBJ\nMETADATA\r\n\032 G-IR binary database ->16 byte x \b, v%d ->17 byte x \b.%d ->20 leshort x \b, %d entries ->22 leshort x \b/%d local - # Type: QDBM Quick Database Manager # From: Benoit Sibaud 0 string \\[depot\\]\n\f Quick Database Manager, little endian @@ -288,8 +432,11 @@ 0 string ToKyO\ CaBiNeT\n TokyoCabinet database >14 string x (version %s) -# From: Stéphane Blondon http://www.yaal.fr +# From: Stephane Blondon http://www.yaal.fr # Database file for Zope (done by FileStorage) 0 string FS21 Zope Object Database File Storage (data) # Cache file for the database of Zope (done by ClientStorage) 0 string ZEC3 Zope Object Database Client Cache File (data) + +# IDA (Interactive Disassembler) database +0 string IDA1 IDA (Interactive Disassembler) database diff --git a/external/bsd/file/dist/magic/magdir/diff b/external/bsd/file/dist/magic/magdir/diff index 73f0135df..59243801e 100644 --- a/external/bsd/file/dist/magic/magdir/diff +++ b/external/bsd/file/dist/magic/magdir/diff @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: diff,v 1.12 2010/12/07 16:52:52 christos Exp $ +# $File: diff,v 1.14 2012/09/16 23:08:54 christos Exp $ # diff: file(1) magic for diff(1) output # 0 search/1 diff\ diff output text @@ -16,7 +16,7 @@ !:mime text/x-diff # bsdiff: file(1) magic for bsdiff(1) output -0 string/t BSDIFF40 bsdiff(1) patch file +0 string/b BSDIFF40 bsdiff(1) patch file # unified diff @@ -27,3 +27,14 @@ >>>>&0 search/1 @@ unified diff output text !:mime text/x-diff !:strength + 90 + +# librsync -- the library for network deltas +# +# Copyright (C) 2001 by Martin Pool. You may do whatever you want with +# this file. +# +0 belong 0x72730236 rdiff network-delta data + +0 belong 0x72730136 rdiff network-delta signature data +>4 belong x (block length=%d, +>8 belong x signature strength=%d) diff --git a/external/bsd/file/dist/magic/magdir/digital b/external/bsd/file/dist/magic/magdir/digital index b1b77dd8c..f66e0bc55 100644 --- a/external/bsd/file/dist/magic/magdir/digital +++ b/external/bsd/file/dist/magic/magdir/digital @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: digital,v 1.10 2011/05/03 01:44:17 christos Exp $ +# $File: digital,v 1.11 2013/01/11 16:45:23 christos Exp $ # Digital UNIX - Info # 0 string =!\n________64E Alpha archive @@ -8,20 +8,20 @@ # 0 leshort 0603 ->>24 leshort 0410 COFF format alpha pure ->>24 leshort 0413 COFF format alpha demand paged ->>>22 leshort&030000 !020000 executable ->>>22 leshort&020000 !0 dynamically linked ->>>16 lelong !0 not stripped ->>>16 lelong 0 stripped ->>>27 byte x - version %d ->>>26 byte x \b.%d ->>>28 byte x \b-%d ->>24 leshort 0407 COFF format alpha object ->>>22 leshort&030000 020000 shared library ->>>27 byte x - version %d ->>>26 byte x \b.%d ->>>28 byte x \b-%d +>24 leshort 0410 COFF format alpha pure +>24 leshort 0413 COFF format alpha demand paged +>>22 leshort&030000 !020000 executable +>>22 leshort&020000 !0 dynamically linked +>>16 lelong !0 not stripped +>>16 lelong 0 stripped +>>27 byte x - version %d +>>26 byte x \b.%d +>>28 byte x \b-%d +>24 leshort 0407 COFF format alpha object +>>22 leshort&030000 020000 shared library +>>27 byte x - version %d +>>26 byte x \b.%d +>>28 byte x \b-%d # Basic recognition of Digital UNIX core dumps - Mike Bremford # diff --git a/external/bsd/file/dist/magic/magdir/dolby b/external/bsd/file/dist/magic/magdir/dolby index fee287ccf..8c61d625e 100644 --- a/external/bsd/file/dist/magic/magdir/dolby +++ b/external/bsd/file/dist/magic/magdir/dolby @@ -1,12 +1,13 @@ #------------------------------------------------------------------------------ -# $File: dolby,v 1.5 2009/09/19 16:28:08 christos Exp $ +# $File: dolby,v 1.6 2012/10/31 13:39:42 christos Exp $ # ATSC A/53 aka AC-3 aka Dolby Digital # from http://www.atsc.org/standards/a_52a.pdf # corrections, additions, etc. are always welcome! # # syncword 0 beshort 0x0b77 ATSC A/52 aka AC-3 aka Dolby Digital stream, +!:mime audio/vnd.dolby.dd-raw # fscod >4 byte&0xc0 0x00 48 kHz, >4 byte&0xc0 0x40 44.1 kHz, diff --git a/external/bsd/file/dist/magic/magdir/dump b/external/bsd/file/dist/magic/magdir/dump index 1ac91e220..b4a7240e5 100644 --- a/external/bsd/file/dist/magic/magdir/dump +++ b/external/bsd/file/dist/magic/magdir/dump @@ -1,11 +1,11 @@ #------------------------------------------------------------------------------ -# $File: dump,v 1.11 2009/09/19 16:28:09 christos Exp $ +# $File: dump,v 1.12 2012/11/01 04:26:40 christos Exp $ # dump: file(1) magic for dump file format--for new and old dump filesystems # # We specify both byte orders in order to recognize byte-swapped dumps. # -24 belong 60012 new-fs dump file (big endian), +0 name new-dump-be >4 bedate x Previous dump %s, >8 bedate x This dump %s, >12 belong >0 Volume %ld, @@ -24,7 +24,7 @@ >824 string >\0 Host %s, >888 belong >0 Flags %x -24 belong 60011 old-fs dump file (big endian), +0 name old-dump-be #>4 bedate x Previous dump %s, #>8 bedate x This dump %s, >12 belong >0 Volume %ld, @@ -43,57 +43,7 @@ >824 string >\0 Host %s, >888 belong >0 Flags %x -24 lelong 60012 new-fs dump file (little endian), ->4 ledate x This dump %s, ->8 ledate x Previous dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x - -24 lelong 60011 old-fs dump file (little endian), -#>4 ledate x Previous dump %s, -#>8 ledate x This dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x - -18 leshort 60011 old-fs dump file (16-bit, assuming PDP-11 endianness), ->2 medate x Previous dump %s, ->6 medate x This dump %s, ->10 leshort >0 Volume %ld, ->0 leshort 1 tape header. ->0 leshort 2 beginning of file record. ->0 leshort 3 map of inodes on tape. ->0 leshort 4 continuation of file record. ->0 leshort 5 end of volume. ->0 leshort 6 map of inodes deleted. ->0 leshort 7 end of medium (for floppy). - -24 belong 0x19540119 new-fs dump file (ufs2, big endian), +0 name ufs2-dump-be >896 beqdate x Previous dump %s, >904 beqdate x This dump %s, >12 belong >0 Volume %ld, @@ -112,21 +62,33 @@ >824 string >\0 Host %s, >888 belong >0 Flags %x -24 lelong 0x19540119 new-fs dump file (ufs2, little endian), ->896 leqdate x This dump %s, ->904 leqdate x Previous dump %s, ->12 lelong >0 Volume %ld, ->692 lelong 0 Level zero, type: ->692 lelong >0 Level %d, type: ->0 lelong 1 tape header, ->0 lelong 2 beginning of file record, ->0 lelong 3 map of inodes on tape, ->0 lelong 4 continuation of file record, ->0 lelong 5 end of volume, ->0 lelong 6 map of inodes deleted, ->0 lelong 7 end of medium (for floppy), ->676 string >\0 Label %s, ->696 string >\0 Filesystem %s, ->760 string >\0 Device %s, ->824 string >\0 Host %s, ->888 lelong >0 Flags %x +24 belong 60012 new-fs dump file (big endian), +>0 use new-dump-be + +24 belong 60011 old-fs dump file (big endian), +>0 use old-dump-be + +24 lelong 60012 new-fs dump file (little endian), +>0 use \^new-dump-be + +24 lelong 60011 old-fs dump file (little endian), +>0 use \^old-dump-be + + +24 belong 0x19540119 new-fs dump file (ufs2, big endian), +>0 use ufs2-dump-be + +24 lelong 0x19540119 new-fs dump file (ufs2, little endian), +>0 use \^ufs2-dump-be + +18 leshort 60011 old-fs dump file (16-bit, assuming PDP-11 endianness), +>2 medate x Previous dump %s, +>6 medate x This dump %s, +>10 leshort >0 Volume %ld, +>0 leshort 1 tape header. +>0 leshort 2 beginning of file record. +>0 leshort 3 map of inodes on tape. +>0 leshort 4 continuation of file record. +>0 leshort 5 end of volume. +>0 leshort 6 map of inodes deleted. +>0 leshort 7 end of medium (for floppy). diff --git a/external/bsd/file/dist/magic/magdir/elf b/external/bsd/file/dist/magic/magdir/elf index dc0216b81..4d44c8e6c 100644 --- a/external/bsd/file/dist/magic/magdir/elf +++ b/external/bsd/file/dist/magic/magdir/elf @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: elf,v 1.54 2011/12/17 17:16:29 christos Exp $ +# $File: elf,v 1.59 2013/03/21 17:50:02 christos Exp $ # elf: file(1) magic for ELF executables # # We have to check the byte order flag to see what byte order all the @@ -14,290 +14,187 @@ # Modified by (3): Christian 'Dr. Disk' Hechelmann (fix of core support) # Modified by (4): (VMS Itanium) # Modified by (5): Matthias Urlichs (Listing of many architectures) + +0 name elf-le +>16 leshort 0 no file type, +!:mime application/octet-stream +>16 leshort 1 relocatable, +!:mime application/x-object +>16 leshort 2 executable, +!:mime application/x-executable +>16 leshort 3 shared object, +!:mime application/x-sharedlib +>16 leshort 4 core file +!:mime application/x-coredump +# Core file detection is not reliable. +#>>>(0x38+0xcc) string >\0 of '%s' +#>>>(0x38+0x10) lelong >0 (signal %d), +>16 leshort &0xff00 processor-specific, +>18 leshort 0 no machine, +>18 leshort 1 AT&T WE32100 +>18 leshort 2 SPARC +>18 leshort 3 Intel 80386, +>18 leshort 4 Motorola +>>4 byte 1 +>>>36 lelong &0x01000000 68000 - invalid byte order, +>>>36 lelong &0x00810000 CPU32 - invalid byte order, +>>>36 lelong 0 68020 - invalid byte order, +>18 leshort 5 Motorola 88000 - invalid byte order, +>18 leshort 6 Intel 80486, +>18 leshort 7 Intel 80860, +# The official e_machine number for MIPS is now #8, regardless of endianness. +# The second number (#10) will be deprecated later. For now, we still +# say something if #10 is encountered, but only gory details for #8. +>18 leshort 8 MIPS, +>>4 byte 1 +>>>36 lelong &0x20 N32 +>18 leshort 10 MIPS, +>>4 byte 1 +>>>36 lelong &0x20 N32 +>18 leshort 8 +# only for 32-bit +>>4 byte 1 +>>>36 lelong&0xf0000000 0x00000000 MIPS-I +>>>36 lelong&0xf0000000 0x10000000 MIPS-II +>>>36 lelong&0xf0000000 0x20000000 MIPS-III +>>>36 lelong&0xf0000000 0x30000000 MIPS-IV +>>>36 lelong&0xf0000000 0x40000000 MIPS-V +>>>36 lelong&0xf0000000 0x50000000 MIPS32 +>>>36 lelong&0xf0000000 0x60000000 MIPS64 +>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 +>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 +# only for 64-bit +>>4 byte 2 +>>>48 lelong&0xf0000000 0x00000000 MIPS-I +>>>48 lelong&0xf0000000 0x10000000 MIPS-II +>>>48 lelong&0xf0000000 0x20000000 MIPS-III +>>>48 lelong&0xf0000000 0x30000000 MIPS-IV +>>>48 lelong&0xf0000000 0x40000000 MIPS-V +>>>48 lelong&0xf0000000 0x50000000 MIPS32 +>>>48 lelong&0xf0000000 0x60000000 MIPS64 +>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 +>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 +>18 leshort 9 Amdahl - invalid byte order, +>18 leshort 10 MIPS (deprecated), +>18 leshort 11 RS6000 - invalid byte order, +>18 leshort 15 PA-RISC - invalid byte order, +# only for 32-bit +>>4 byte 1 +>>>38 leshort 0x0214 2.0 +>>>36 leshort &0x0008 (LP64) +# only for 64-bit +>>4 byte 2 +>>>50 leshort 0x0214 2.0 +>>>48 leshort &0x0008 (LP64) +>18 leshort 16 nCUBE, +>18 leshort 17 Fujitsu VPP500, +>18 leshort 18 SPARC32PLUS, +# only for 32-bit +>>4 byte 1 +>>>36 lelong&0xffff00 0x000100 V8+ Required, +>>>36 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, +>>>36 lelong&0xffff00 0x000400 HaL R1 Extensions Required, +>>>36 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, +>18 leshort 20 PowerPC or cisco 4500, +>18 leshort 21 64-bit PowerPC or cisco 7500, +>18 leshort 22 IBM S/390, +>18 leshort 23 Cell SPU, +>18 leshort 24 cisco SVIP, +>18 leshort 25 cisco 7200, +>18 leshort 36 NEC V800 or cisco 12000, +>18 leshort 37 Fujitsu FR20, +>18 leshort 38 TRW RH-32, +>18 leshort 39 Motorola RCE, +>18 leshort 40 ARM, +>>4 byte 1 +>>>36 lelong&0xff000000 0x04000000 EABI4 +>>>36 lelong&0xff000000 0x05000000 EABI5 +>>>36 lelong &0x00800000 BE8 +>>>36 lelong &0x00400000 LE8 +>18 leshort 41 Alpha, +>18 leshort 0xa390 IBM S/390 (obsolete), +>18 leshort 42 Renesas SH, +>18 leshort 43 SPARC V9, +>>4 byte 2 +>>>48 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, +>>>48 lelong&0xffff00 0x000400 HaL R1 Extensions Required, +>>>48 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, +>>>48 lelong&0x3 0 total store ordering, +>>>48 lelong&0x3 1 partial store ordering, +>>>48 lelong&0x3 2 relaxed memory ordering, +>18 leshort 44 Siemens Tricore Embedded Processor, +>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., +>18 leshort 46 Renesas H8/300, +>18 leshort 47 Renesas H8/300H, +>18 leshort 48 Renesas H8S, +>18 leshort 49 Renesas H8/500, +>18 leshort 50 IA-64, +>18 leshort 51 Stanford MIPS-X, +>18 leshort 52 Motorola Coldfire, +>18 leshort 53 Motorola M68HC12, +>18 leshort 54 Fujitsu MMA, +>18 leshort 55 Siemens PCP, +>18 leshort 56 Sony nCPU, +>18 leshort 57 Denso NDR1, +>18 leshort 58 Start*Core, +>18 leshort 59 Toyota ME16, +>18 leshort 60 ST100, +>18 leshort 61 Tinyj emb., +>18 leshort 62 x86-64, +>18 leshort 63 Sony DSP, +>18 leshort 66 FX66, +>18 leshort 67 ST9+ 8/16 bit, +>18 leshort 68 ST7 8 bit, +>18 leshort 69 MC68HC16, +>18 leshort 70 MC68HC11, +>18 leshort 71 MC68HC08, +>18 leshort 72 MC68HC05, +>18 leshort 73 SGI SVx or Cray NV1, +>18 leshort 74 ST19 8 bit, +>18 leshort 75 Digital VAX, +>18 leshort 76 Axis cris, +>18 leshort 77 Infineon 32-bit embedded, +>18 leshort 78 Element 14 64-bit DSP, +>18 leshort 79 LSI Logic 16-bit DSP, +>18 leshort 80 MMIX, +>18 leshort 81 Harvard machine-independent, +>18 leshort 82 SiTera Prism, +>18 leshort 83 Atmel AVR 8-bit, +>18 leshort 84 Fujitsu FR30, +>18 leshort 85 Mitsubishi D10V, +>18 leshort 86 Mitsubishi D30V, +>18 leshort 87 NEC v850, +>18 leshort 88 Renesas M32R, +>18 leshort 89 Matsushita MN10300, +>18 leshort 90 Matsushita MN10200, +>18 leshort 91 picoJava, +>18 leshort 92 OpenRISC, +>18 leshort 93 ARC Cores Tangent-A5, +>18 leshort 94 Tensilica Xtensa, +>18 leshort 97 NatSemi 32k, +>18 leshort 106 Analog Devices Blackfin, +>18 leshort 113 Altera Nios II, +>18 leshort 174 META, +>18 leshort 183 ARM aarch64, +>18 leshort 187 Tilera TILE64, +>18 leshort 188 Tilera TILEPro, +>18 leshort 191 Tilera TILE-Gx, +>18 leshort 0x3426 OpenRISC (obsolete), +>18 leshort 0x8472 OpenRISC (obsolete), +>18 leshort 0x9026 Alpha (unofficial), +>20 lelong 0 invalid version +>20 lelong 1 version 1 + 0 string \177ELF ELF +!:strength *2 >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB ->>16 leshort 0 no file type, -!:strength *2 -!:mime application/octet-stream ->>16 leshort 1 relocatable, -!:mime application/x-object ->>16 leshort 2 executable, -!:mime application/x-executable ->>16 leshort 3 shared object, -!:mime application/x-sharedlib ->>16 leshort 4 core file -!:mime application/x-coredump -# Core file detection is not reliable. -#>>>(0x38+0xcc) string >\0 of '%s' -#>>>(0x38+0x10) lelong >0 (signal %d), ->>16 leshort &0xff00 processor-specific, ->>18 leshort 0 no machine, ->>18 leshort 1 AT&T WE32100 - invalid byte order, ->>18 leshort 2 SPARC - invalid byte order, ->>18 leshort 3 Intel 80386, ->>18 leshort 4 Motorola ->>>4 byte 1 ->>>>36 lelong &0x01000000 68000 - invalid byte order, ->>>>36 lelong &0x00810000 CPU32 - invalid byte order, ->>>>36 lelong 0 68020 - invalid byte order, ->>18 leshort 5 Motorola 88000 - invalid byte order, ->>18 leshort 6 Intel 80486, ->>18 leshort 7 Intel 80860, -# The official e_machine number for MIPS is now #8, regardless of endianness. -# The second number (#10) will be deprecated later. For now, we still -# say something if #10 is encountered, but only gory details for #8. ->>18 leshort 8 MIPS, ->>>4 byte 1 ->>>>36 lelong &0x20 N32 ->>18 leshort 10 MIPS, ->>>4 byte 1 ->>>>36 lelong &0x20 N32 ->>18 leshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 lelong&0xf0000000 0x00000000 MIPS-I ->>>>36 lelong&0xf0000000 0x10000000 MIPS-II ->>>>36 lelong&0xf0000000 0x20000000 MIPS-III ->>>>36 lelong&0xf0000000 0x30000000 MIPS-IV ->>>>36 lelong&0xf0000000 0x40000000 MIPS-V ->>>>36 lelong&0xf0000000 0x50000000 MIPS32 ->>>>36 lelong&0xf0000000 0x60000000 MIPS64 ->>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 ->>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 -# only for 64-bit ->>>4 byte 2 ->>>>48 lelong&0xf0000000 0x00000000 MIPS-I ->>>>48 lelong&0xf0000000 0x10000000 MIPS-II ->>>>48 lelong&0xf0000000 0x20000000 MIPS-III ->>>>48 lelong&0xf0000000 0x30000000 MIPS-IV ->>>>48 lelong&0xf0000000 0x40000000 MIPS-V ->>>>48 lelong&0xf0000000 0x50000000 MIPS32 ->>>>48 lelong&0xf0000000 0x60000000 MIPS64 ->>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 ->>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 ->>18 leshort 9 Amdahl - invalid byte order, ->>18 leshort 10 MIPS (deprecated), ->>18 leshort 11 RS6000 - invalid byte order, ->>18 leshort 15 PA-RISC - invalid byte order, -# only for 32-bit ->>>4 byte 1 ->>>>38 leshort 0x0214 2.0 ->>>>36 leshort &0x0008 (LP64) -# only for 64-bit ->>>4 byte 2 ->>>>50 leshort 0x0214 2.0 ->>>>48 leshort &0x0008 (LP64) ->>18 leshort 16 nCUBE, ->>18 leshort 17 Fujitsu VPP500, ->>18 leshort 18 SPARC32PLUS - invalid byte order, ->>18 leshort 20 PowerPC, ->>18 leshort 22 IBM S/390, ->>18 leshort 36 NEC V800, ->>18 leshort 37 Fujitsu FR20, ->>18 leshort 38 TRW RH-32, ->>18 leshort 39 Motorola RCE, ->>18 leshort 40 ARM, ->>>4 byte 1 ->>>>36 lelong&0xff000000 0x04000000 EABI4 ->>>>36 lelong&0xff000000 0x05000000 EABI5 ->>18 leshort 41 Alpha, ->>18 leshort 0xa390 IBM S/390 (obsolete), ->>18 leshort 42 Renesas SH, ->>18 leshort 43 SPARC V9 - invalid byte order, ->>18 leshort 44 Siemens Tricore Embedded Processor, ->>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., ->>18 leshort 46 Renesas H8/300, ->>18 leshort 47 Renesas H8/300H, ->>18 leshort 48 Renesas H8S, ->>18 leshort 49 Renesas H8/500, ->>18 leshort 50 IA-64, ->>18 leshort 51 Stanford MIPS-X, ->>18 leshort 52 Motorola Coldfire, ->>18 leshort 53 Motorola M68HC12, ->>18 leshort 54 Fujitsu MMA, ->>18 leshort 55 Siemens PCP, ->>18 leshort 56 Sony nCPU, ->>18 leshort 57 Denso NDR1, ->>18 leshort 58 Start*Core, ->>18 leshort 59 Toyota ME16, ->>18 leshort 60 ST100, ->>18 leshort 61 Tinyj emb., ->>18 leshort 62 x86-64, ->>18 leshort 63 Sony DSP, ->>18 leshort 66 FX66, ->>18 leshort 67 ST9+ 8/16 bit, ->>18 leshort 68 ST7 8 bit, ->>18 leshort 69 MC68HC16, ->>18 leshort 70 MC68HC11, ->>18 leshort 71 MC68HC08, ->>18 leshort 72 MC68HC05, ->>18 leshort 73 SGI SVx, ->>18 leshort 74 ST19 8 bit, ->>18 leshort 75 Digital VAX, ->>18 leshort 76 Axis cris, ->>18 leshort 77 Infineon 32-bit embedded, ->>18 leshort 78 Element 14 64-bit DSP, ->>18 leshort 79 LSI Logic 16-bit DSP, ->>18 leshort 80 MMIX, ->>18 leshort 81 Harvard machine-independent, ->>18 leshort 82 SiTera Prism, ->>18 leshort 83 Atmel AVR 8-bit, ->>18 leshort 84 Fujitsu FR30, ->>18 leshort 85 Mitsubishi D10V, ->>18 leshort 86 Mitsubishi D30V, ->>18 leshort 87 NEC v850, ->>18 leshort 88 Renesas M32R, ->>18 leshort 89 Matsushita MN10300, ->>18 leshort 90 Matsushita MN10200, ->>18 leshort 91 picoJava, ->>18 leshort 92 OpenRISC, ->>18 leshort 93 ARC Cores Tangent-A5, ->>18 leshort 94 Tensilica Xtensa, ->>18 leshort 97 NatSemi 32k, ->>18 leshort 106 Analog Devices Blackfin, ->>18 leshort 113 Altera Nios II, ->>18 leshort 0xae META, ->>18 leshort 187 Tilera TILE64, ->>18 leshort 188 Tilera TILEPro, ->>18 leshort 191 Tilera TILE-Gx, ->>18 leshort 0x3426 OpenRISC (obsolete), ->>18 leshort 0x8472 OpenRISC (obsolete), ->>18 leshort 0x9026 Alpha (unofficial), ->>20 lelong 0 invalid version ->>20 lelong 1 version 1 +>>0 use elf-le >5 byte 2 MSB ->>16 beshort 0 no file type, -!:mime application/octet-stream ->>16 beshort 1 relocatable, -!:mime application/x-object ->>16 beshort 2 executable, -!:mime application/x-executable ->>16 beshort 3 shared object, -!:mime application/x-sharedlib ->>16 beshort 4 core file, -!:mime application/x-coredump -#>>>(0x38+0xcc) string >\0 of '%s' -#>>>(0x38+0x10) belong >0 (signal %d), ->>16 beshort &0xff00 processor-specific, ->>18 beshort 0 no machine, ->>18 beshort 1 AT&T WE32100, ->>18 beshort 2 SPARC, ->>18 beshort 3 Intel 80386 - invalid byte order, ->>18 beshort 4 Motorola ->>>4 byte 1 ->>>>36 belong &0x01000000 68000, ->>>>36 belong &0x00810000 CPU32, ->>>>36 belong 0 68020, ->>18 beshort 5 Motorola 88000, ->>18 beshort 6 Intel 80486 - invalid byte order, ->>18 beshort 7 Intel 80860, -# only for MIPS - see comment in little-endian section above. ->>18 beshort 8 MIPS, ->>>4 byte 1 ->>>>36 belong &0x20 N32 ->>18 beshort 10 MIPS, ->>>4 byte 1 ->>>>36 belong &0x20 N32 ->>18 beshort 8 -# only for 32-bit ->>>4 byte 1 ->>>>36 belong&0xf0000000 0x00000000 MIPS-I ->>>>36 belong&0xf0000000 0x10000000 MIPS-II ->>>>36 belong&0xf0000000 0x20000000 MIPS-III ->>>>36 belong&0xf0000000 0x30000000 MIPS-IV ->>>>36 belong&0xf0000000 0x40000000 MIPS-V ->>>>36 belong&0xf0000000 0x50000000 MIPS32 ->>>>36 belong&0xf0000000 0x60000000 MIPS64 ->>>>36 belong&0xf0000000 0x70000000 MIPS32 rel2 ->>>>36 belong&0xf0000000 0x80000000 MIPS64 rel2 -# only for 64-bit ->>>4 byte 2 ->>>>48 belong&0xf0000000 0x00000000 MIPS-I ->>>>48 belong&0xf0000000 0x10000000 MIPS-II ->>>>48 belong&0xf0000000 0x20000000 MIPS-III ->>>>48 belong&0xf0000000 0x30000000 MIPS-IV ->>>>48 belong&0xf0000000 0x40000000 MIPS-V ->>>>48 belong&0xf0000000 0x50000000 MIPS32 ->>>>48 belong&0xf0000000 0x60000000 MIPS64 ->>>>48 belong&0xf0000000 0x70000000 MIPS32 rel2 ->>>>48 belong&0xf0000000 0x80000000 MIPS64 rel2 ->>18 beshort 9 Amdahl, ->>18 beshort 10 MIPS (deprecated), ->>18 beshort 11 RS6000, ->>18 beshort 15 PA-RISC -# only for 32-bit ->>>4 byte 1 ->>>>38 beshort 0x0214 2.0 ->>>>36 beshort &0x0008 (LP64) -# only for 64-bit ->>>4 byte 2 ->>>>50 beshort 0x0214 2.0 ->>>>48 beshort &0x0008 (LP64) ->>18 beshort 16 nCUBE, ->>18 beshort 17 Fujitsu VPP500, ->>18 beshort 18 SPARC32PLUS, -# only for 32-bit ->>>4 byte 1 ->>>>36 belong&0xffff00 0x000100 V8+ Required, ->>>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, ->>>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required, ->>>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, ->>18 beshort 20 PowerPC or cisco 4500, ->>18 beshort 21 64-bit PowerPC or cisco 7500, ->>18 beshort 22 IBM S/390, ->>18 beshort 23 Cell SPU, ->>18 beshort 24 cisco SVIP, ->>18 beshort 25 cisco 7200, ->>18 beshort 36 NEC V800 or cisco 12000, ->>18 beshort 37 Fujitsu FR20, ->>18 beshort 38 TRW RH-32, ->>18 beshort 39 Motorola RCE, ->>18 beshort 40 ARM, ->>>4 byte 2 ->>>>36 belong&0xff000000 0x04000000 EABI4 ->>>>36 belong&0xff000000 0x05000000 EABI5 ->>18 beshort 41 Alpha, ->>18 beshort 42 Renesas SH, ->>18 beshort 43 SPARC V9, ->>>4 byte 2 ->>>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, ->>>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required, ->>>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, ->>>>48 belong&0x3 0 total store ordering, ->>>>48 belong&0x3 1 partial store ordering, ->>>>48 belong&0x3 2 relaxed memory ordering, ->>18 beshort 44 Siemens Tricore Embedded Processor, ->>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc., ->>18 beshort 46 Renesas H8/300, ->>18 beshort 47 Renesas H8/300H, ->>18 beshort 48 Renesas H8S, ->>18 beshort 49 Renesas H8/500, ->>18 beshort 50 IA-64, ->>18 beshort 51 Stanford MIPS-X, ->>18 beshort 52 Motorola Coldfire, ->>18 beshort 53 Motorola M68HC12, ->>18 beshort 73 Cray NV1, ->>18 beshort 75 Digital VAX, ->>18 beshort 88 Renesas M32R, ->>18 leshort 92 OpenRISC, ->>18 leshort 0x3426 OpenRISC (obsolete), ->>18 leshort 0x8472 OpenRISC (obsolete), ->>18 beshort 94 Tensilica Xtensa, ->>18 beshort 97 NatSemi 32k, ->>18 beshort 187 Tilera TILE64, ->>18 beshort 188 Tilera TILEPro, ->>18 beshort 191 Tilera TILE-Gx, ->>18 beshort 0x18ad AVR32 (unofficial), ->>18 beshort 0x9026 Alpha (unofficial), ->>18 beshort 0xa390 IBM S/390 (obsolete), ->>>20 belong 0 invalid version ->>>20 belong 1 version 1 ->>>4 byte 1 ->>>>36 belong 1 MathCoPro/FPU/MAU Required +>>0 use \^elf-le # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed # like proper ELF, but extracting the string had bad results. >4 byte <0x80 diff --git a/external/bsd/file/dist/magic/magdir/epoc b/external/bsd/file/dist/magic/magdir/epoc index c67a8b66e..8b11a2e82 100644 --- a/external/bsd/file/dist/magic/magdir/epoc +++ b/external/bsd/file/dist/magic/magdir/epoc @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: epoc,v 1.7 2009/09/19 16:28:09 christos Exp $ +# $File: epoc,v 1.8 2012/06/16 14:43:36 christos Exp $ # EPOC : file(1) magic for EPOC documents [Psion Series 5/Osaris/Geofox 1] # Stefan Praszalowicz and Peter Breitenlohner # Useful information for improving this file can be found at: @@ -21,6 +21,7 @@ !:mime application/x-epoc-word >>8 lelong 0x10000085 OPL program (TextEd) !:mime application/x-epoc-opl +>>8 lelong 0x10000087 Comms settings >>8 lelong 0x10000088 Sheet file !:mime application/x-epoc-sheet >>8 lelong 0x100001C4 EasyFax initialisation file @@ -29,11 +30,19 @@ >4 lelong 0x10000074 OPL application !:mime application/x-epoc-app >4 lelong 0x1000008A exported multi-bitmap image +>4 lelong 0x1000016D +>>8 lelong 0x10000088 Comms names 0 lelong 0x10000041 Psion Series 5 ROM multi-bitmap image 0 lelong 0x10000050 Psion Series 5 >4 lelong 0x1000006D database +>>8 lelong 0x10000084 Agenda file +!:mime application/x-epoc-agenda +>>8 lelong 0x10000086 Data file +!:mime application/x-epoc-data +>>8 lelong 0x10000CEA Jotter file +!:mime application/x-epoc-jotter >4 lelong 0x100000E4 ini file 0 lelong 0x10000079 Psion Series 5 binary: diff --git a/external/bsd/file/dist/magic/magdir/filesystems b/external/bsd/file/dist/magic/magdir/filesystems index af9695b9a..3323593ab 100644 --- a/external/bsd/file/dist/magic/magdir/filesystems +++ b/external/bsd/file/dist/magic/magdir/filesystems @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: filesystems,v 1.61 2011/01/10 14:01:10 christos Exp $ +# $File: filesystems,v 1.77 2013/03/14 01:38:30 christos Exp $ # filesystems: file(1) magic for different filesystems # 0 string \366\366\366\366 PC formatted floppy with no filesystem @@ -27,7 +27,8 @@ >>0770 long x %ld blocks # Is there a boot block written 1 sector in? >512 belong&077777777 0600407 \b, boot block present -# Joerg Jenderek: Smart Boot Manager backup file is 41 byte header + first sectors of disc + +# Joerg Jenderek: Smart Boot Manager backup file is 25 (MSDOS) or 41 (LINUX) byte header + first sectors of disk # (http://btmgr.sourceforge.net/docs/user-guide-3.html) 0 string SBMBAKUP_ Smart Boot Manager backup file >9 string x \b, version %-5.5s @@ -41,8 +42,10 @@ >>>>21 ubyte x \b, from drive 0x%x >>>22 ubyte >0 >>>>21 string x \b, from drive %s +>>>535 search/17 \x55\xAA +>>>>&-512 indirect x \b; contains -# Joerg Jenderek +# updated by Joerg Jenderek at Nov 2012 # DOS Emulator image is 128 byte, null right padded header + harddisc image 0 string DOSEMU\0 >0x27E leshort 0xAA55 @@ -52,17 +55,174 @@ >>>>7 ulelong >0 \b, %u heads >>>>11 ulelong >0 \b, %d sectors/track >>>>15 ulelong >0 \b, %d cylinders +>>>>128 indirect x \b; contains -# updated by Joerg Jenderek at Sep 2007 +# x86 boot sector updated by Joerg Jenderek at Sep 2007,May 2011 +# for any allowed sector sizes +30 search/481 \x55\xAA +# to display x86 boot sector (40) before old one (strength=50+21),Syslinux bootloader (71),SYSLINUX MBR (37+36),NetBSD mbr (110),AdvanceMAME mbr (111) +# DOS BPB information (70) and after DOS floppy (120) like in previous file version +!:strength +72 +# for sector sizes < 512 Bytes +>11 uleshort <512 +>>(11.s-2) uleshort 0xAA55 x86 boot sector +# for sector sizes with 512 or more Bytes +>0x1FE leshort 0xAA55 x86 boot sector +# keep old x86 boot sector as dummy for mbr and bootloader displaying # only for sector sizes with 512 or more Bytes -0x1FE leshort 0xAA55 x86 boot sector -# to do also for sectors < than 512 Bytes and some other files, GRR -#30 search/481 \x55\xAA x86 boot sector -# not for BeOS floppy 1440k, MBRs -#(11.s-2) uleshort 0xAA55 x86 boot sector +0x1FE leshort 0xAA55 +# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version +!:strength +21 >2 string OSBS \b, OS/BS MBR -# J\xf6rg Jenderek ->0x8C string Invalid\ partition\ table \b, MS-DOS MBR +# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/ +# and http://en.wikipedia.org/wiki/Master_Boot_Record +# test for nearly all MS-DOS Master Boot Record initial program loader (IPL) is now done by +# characteristic assembler instructions: xor ax,ax;mov ss,ax;mov sp,7c00 +>0 search/2 \x33\xc0\x8e\xd0\xbc\x00\x7c MS-MBR +# Microsoft Windows 95A and early ( http://thestarman.pcministry.com/asm/mbr/STDMBR.htm ) +# assembler instructions: mov si,sp;push ax;pop es;push ax;pop ds;sti;cld +>>8 ubequad 0x8bf45007501ffbfc +# http://thestarman.pcministry.com/asm/mbr/200MBR.htm +>>>0x16 ubyte 0xF3 \b,DOS 2 +>>>>219 regex Author\ -\ Author: +# found "David Litton" , "A Pehrsson " +>>>>>&0 string x "%s" +>>>0x16 ubyte 0xF2 +# NEC MS-DOS 3.30 Rev. 3 . See http://thestarman.pcministry.com/asm/mbr/DOS33MBR.htm +# assembler instructions: mov di,077c;cmp word ptrl[di],a55a;jnz +>>>>0x22 ubequad 0xbf7c07813d5aa575 \b,NEC 3.3 +# version MS-DOS 3.30 til MS-Windows 95A (WinVer=4.00.1111) +>>>>0x22 default x \b,D0S version 3.3-7.0 +# error messages are printed by assembler instructions: mov si,06nn;...;int 10 (0xBEnn06;...) +# where nn is string offset varying for different languages +# "Invalid partition table" nn=0x8b for english version +>>>>>(0x49.b) string Invalid\ partition\ table english +>>>>>(0x49.b) string Ung\201ltige\ Partitionstabelle german +>>>>>(0x49.b) string Table\ de\ partition\ invalide french +>>>>>(0x49.b) string Tabela\ de\ parti\207ao\ inv\240lida portuguese +>>>>>(0x49.b) string Tabla\ de\ partici\242n\ no\ v\240lida spanish +>>>>>(0x49.b) string Tavola\ delle\ partizioni\ non\ valida italian +>>>>>0x49 ubyte >0 at offset 0x%x +>>>>>>(0x49.b) string >\0 "%s" +# "Error loading operating system" nn=0xa3 for english version +# "Fehler beim Laden des Betriebssystems" nn=0xa7 for german version +# "Erreur en chargeant syst\212me d'exploitation" nn=0xa7 for french version +# "Erro na inicializa\207ao do sistema operacional" nn=0xa7 for portuguese Brazilian version +# "Error al cargar sistema operativo" nn=0xa8 for spanish version +# "Errore durante il caricamento del sistema operativo" nn=0xae for italian version +>>>>>0x74 ubyte >0 at offset 0x%x +>>>>>>(0x74.b) string >\0 "%s" +# "Missing operating system" nn=0xc2 for english version +# "Betriebssystem fehlt" nn=0xcd for german version +# "Syst\212me d'exploitation absent" nn=0xd2 for french version +# "Sistema operacional nao encontrado" nn=0xd4 for portuguese Brazilian version +# "Falta sistema operativo" nn=0xca for spanish version +# "Sistema operativo mancante" nn=0xe2 for italian version +>>>>>0x79 ubyte >0 at offset 0x%x +>>>>>>(0x79.b) string >\0 "%s" +# Microsoft Windows 95B to XP (http://thestarman.pcministry.com/asm/mbr/95BMEMBR.htm) +# assembler instructions: push ax;pop es;push ax;pop ds;cld;mov si,7c1b +>>8 ubequad 0x5007501ffcbe1b7c +# assembler instructions: rep;movsb;retf;mov si,07be;mov cl,04 +>>>24 ubequad 0xf3a4cbbebe07b104 9M +# "Invalid partition table" nn=0x10F for english version +# "Ungültige Partitionstabelle" nn=0x10F for german version +# "Table de partition erronée" nn=0x10F for french version +# "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240" nn=0x10F for russian version +>>>>(0x3C.b+0x0FF) string Invalid\ partition\ table english +>>>>(0x3C.b+0x0FF) string Ung\201ltige\ Partitionstabelle german +>>>>(0x3C.b+0x0FF) string Table\ de\ partition\ erron\202e french +>>>>(0x3C.b+0x0FF) string \215\245\257\340\240\242\250\253\354\255\240\357\ \342\240\241\253\250\346\240 russian +>>>>0x3C ubyte x at offset 0x%x+0xFF +>>>>(0x3C.b+0x0FF) string >\0 "%s" +# "Error loading operating system" nn=0x127 for english version +# "Fehler beim Laden des Betriebssystems" nn=0x12b for german version +# "Erreur lors du chargement du système d'exploitation" nn=0x12a for french version +# "\216\350\250\241\252\240 \257\340\250 \247\240\243\340\343\247\252\245 \256\257\245\340\240\346\250\256\255\255\256\251 \341\250\341\342\245\254\353" nn=0x12d for russian version +>>>>0xBD ubyte x at offset 0x1%x +>>>>(0xBD.b+0x100) string >\0 "%s" +# "Missing operating system" nn=0x146 for english version +# "Betriebssystem fehlt" nn=0x151 for german version +# "Système d'exploitation manquant" nn=0x15e for french version +# "\216\257\245\340\240\346\250\256\255\255\240\357 \341\250\341\342\245\254\240 \255\245 \255\240\251\244\245\255\240" nn=0x156 for russian version +>>>>0xA9 ubyte x at offset 0x1%x +>>>>(0xA9.b+0x100) string >\0 "%s" +# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm +# assembler instructions: rep;movsb;retf;mov BP,07be;mov cl,04 +>>>24 ubequad 0xf3a4cbbdbe07b104 XP +# where xxyyzz are lower bits from offsets of error messages varying for different languages +>>>>0x1B4 ubelong&0x00FFFFFF 0x002c4463 english +>>>>0x1B4 ubelong&0x00FFFFFF 0x002c486e german +# "Invalid partition table" xx=0x12C for english version +# "Ungültige Partitionstabelle" xx=0x12C for german version +>>>>0x1b5 ubyte >0 at offset 0x1%x +>>>>(0x1b5.b+0x100) string >\0 "%s" +# "Error loading operating system" yy=0x144 for english version +# "Fehler beim Laden des Betriebssystems" yy=0x148 for german version +>>>>0x1b6 ubyte >0 at offset 0x1%x +>>>>(0x1b6.b+0x100) string >\0 "%s" +# "Missing operating system" zz=0x163 for english version +# "Betriebssystem nicht vorhanden" zz=0x16e for german version +>>>>0x1b7 ubyte >0 at offset 0x1%x +>>>>(0x1b7.b+0x100) string >\0 "%s" +# Microsoft Windows Vista or 7 +# assembler instructions: ..;mov ds,ax;mov si,7c00;mov di,..00 +>>8 ubequad 0xc08ed8be007cbf00 +# Microsoft Windows Vista (http://thestarman.pcministry.com/asm/mbr/VistaMBR.htm) +# assembler instructions: jnz 0729;cmp ebx,"TCPA" +>>>0xEC ubequad 0x753b6681fb544350 Vista +# where xxyyzz are lower bits from offsets of error messages varying for different languages +>>>>0x1B4 ubelong&0x00FFFFFF 0x00627a99 english +#>>>>0x1B4 ubelong&0x00FFFFFF ? german +# "Invalid partition table" xx=0x162 for english version +# "Ungültige Partitionstabelle" xx=0x1?? for german version +>>>>0x1b5 ubyte >0 at offset 0x1%x +>>>>(0x1b5.b+0x100) string >\0 "%s" +# "Error loading operating system" yy=0x17a for english version +# "Fehler beim Laden des Betriebssystems" yy= 0x1?? for german version +>>>>0x1b6 ubyte >0 at offset 0x1%x +>>>>(0x1b6.b+0x100) string >\0 "%s" +# "Missing operating system" zz=0x199 for english version +# "Betriebssystem nicht vorhanden" zz=0x1?? for german version +>>>>0x1b7 ubyte >0 at offset 0x1%x +>>>>(0x1b7.b+0x100) string >\0 "%s" +# Microsoft Windows 7 (http://thestarman.pcministry.com/asm/mbr/W7MBR.htm) +# assembler instructions: cmp ebx,"TCPA";cmp +>>>0xEC ubequad 0x6681fb5443504175 Windows 7 +# where xxyyzz are lower bits from offsets of error messages varying for different languages +>>>>0x1B4 ubelong&0x00FFFFFF 0x00637b9a english +#>>>>0x1B4 ubelong&0x00FFFFFF ? german +# "Invalid partition table" xx=0x163 for english version +# "Ungültige Partitionstabelle" xx=0x1?? for german version +>>>>0x1b5 ubyte >0 at offset 0x1%x +>>>>(0x1b5.b+0x100) string >\0 "%s" +# "Error loading operating system" yy=0x17b for english version +# "Fehler beim Laden des Betriebssystems" yy=0x1?? for german version +>>>>0x1b6 ubyte >0 at offset 0x1%x +>>>>(0x1b6.b+0x100) string >\0 "%s" +# "Missing operating system" zz=0x19a for english version +# "Betriebssystem nicht vorhanden" zz=0x1?? for german version +>>>>0x1b7 ubyte >0 at offset 0x1%x +>>>>(0x1b7.b+0x100) string >\0 "%s" +# http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DiskSigs +# http://en.wikipedia.org/wiki/MBR_disk_signature#ID +>>0x1b8 ulelong >0 \b, disk signature 0x%-.4x +# driveID/timestamp for Win 95B,98,98SE and ME. See http://thestarman.pcministry.com/asm/mbr/mystery.htm +>>0xDA uleshort 0 +>>>0xDC ulelong >0 \b, created +# physical drive number (0x80-0xFF) when the Windows wrote that byte to the drive +>>>>0xDC ubyte x with driveID 0x%x +# hours, minutes and seconds +>>>>0xDf ubyte x at %x +>>>>0xDe ubyte x \b:%x +>>>>0xDd ubyte x \b:%x +# special case for Microsoft MS-DOS 3.21 spanish +# assembler instructions: cli;mov $0x30,%ax;mov %ax,%ss;mov +>0 ubequad 0xfab830008ed0bc00 +# assembler instructions: $0x1f00,%sp;mov $0x80cb,%di;add %cl,(%bx,%si);in (%dx),%ax;mov +>>8 ubequad 0x1fbfcb800008ed8 MS-MBR,D0S version 3.21 spanish +# Microsoft MBR IPL end + # dr-dos with some upper-, lowercase variants >0x9D string Invalid\ partition\ table$ >>181 string No\ Operating\ System$ @@ -81,30 +241,9 @@ >>>>>>358 string Press\ any\ key\ to\ continue.\n\r$ >>>>>>>387 string Copyright\ (c)\ 1984,1998 >>>>>>>>411 string Caldera\ Inc.\0 \b, DR-DOS MBR (IBMBIO.LDR) ->0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222 ->>0x1B8 ubelong >0 \b, Serial 0x%-.4x ->0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950 ->271 string Invalid\ partition\ table\0 ->>295 string Error\ loading\ operating\ system\0 ->>>326 string Missing\ operating\ system\0 \b, mbr # ->139 string Invalid\ partition\ table\0 ->>163 string Error\ loading\ operating\ system\0 ->>>194 string Missing\ operating\ system\0 \b, Microsoft Windows XP mbr -# http://www.heise.de/ct/05/09/006/ page 184 -#HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\DosDevices\?:=Serial4Bytes+8Bytes ->>>>0x1B8 ulelong >0 \b,Serial 0x%-.4x ->300 string Invalid\ partition\ table\0 ->>324 string Error\ loading\ operating\ system\0 ->>>355 string Missing\ operating\ system\0 \b, Microsoft Windows XP MBR -#??>>>389 string Invalid\ system\ disk ->>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x ->300 string Ung\201ltige\ Partitionstabelle -#split string to avoid error: String too long ->>328 string Fehler\ beim\ Laden\ ->>>346 string des\ Betriebssystems ->>>>366 string Betriebssystem\ nicht\ vorhanden \b, Microsoft Windows XP MBR (german) ->>>>>0x1B8 ulelong >0 \b, Serial 0x%-.4x +# tests for different MS-DOS Master Boot Records (MBR) moved and merged +# #>0x145 string Default:\ F \b, FREE-DOS MBR #>0x14B string Default:\ F \b, FREE-DOS 1.0 MBR >0x145 search/7 Default:\ F \b, FREE-DOS MBR @@ -131,8 +270,7 @@ >>>>>>>420 ubyte&0x0F 0Xf \b ask >>>>>420 ubyte x \b) # ->271 string Operating\ system\ loading ->>296 string error\r \b, SYSLINUX MBR (2.10) +# SYSLINUX MBR moved # http://www.acronis.de/ >362 string MBR\ Error\ \0\r >>376 string ress\ any\ key\ to\ @@ -193,12 +331,7 @@ >>>>321 string Loading\ stage1.5 \b, GRUB version x.y >>>380 string Geom\0Hard\ Disk\0Read\0\ Error\0 >>>>374 string GRUB\ \0 \b, GRUB version n.m -# http://syslinux.zytor.com/ ->478 string Boot\ failed\r ->>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (1.62) ->480 string Boot\ failed\r ->>495 string LDLINUX\ SYS \b, SYSLINUX bootloader (2.06 or 2.11) ->484 string Boot\ error\r \b, SYSLINUX bootloader (3.11) +# SYSLINUX bootloader moved >395 string chksum\0\ ERROR!\0 \b, Gujin bootloader # http://www.bcdwb.de/bcdw/index_e.htm >3 string BCDL @@ -263,11 +396,14 @@ #OEM-ID=BOOTWIZ0 >442 string Non-system\ disk,\ >>459 string press\ any\ key...\x7\0 \b, Acronis Startup Recovery Loader -# DOS names like F11.SYS are 8 right space padded bytes+3 bytes +# updated by Joerg Jenderek at Nov 2012 +# DOS names like F11.SYS or BOOTWIZ.SYS are 8 right space padded bytes+3 bytes >>>477 ubyte&0xDF >0 >>>>477 string x \b %-.3s >>>>>480 ubyte&0xDF >0 ->>>>>>480 string x \b%-.5s +>>>>>>480 string x \b%-.4s +>>>>>>>484 ubyte&0xDF >0 +>>>>>>>>484 string x \b%-.1s >>>>485 ubyte&0xDF >0 >>>>>485 string x \b.%-.3s # @@ -279,24 +415,39 @@ >>>>>291 string and\ press\ any\ key.\n\r \b, FDBOOT harddisk Bootloader >>>>>>200 string >\0 \b, version %-3s >242 string Bootsector\ from\ C.H.\ Hochst\204 ->>278 string No\ Systemdisk.\ ->>>293 string Booting\ from\ harddisk.\n\r ->>>441 string Cannot\ load\ from\ harddisk.\n\r ->>>>469 string Insert\ Systemdisk\ ->>>>>487 string and\ press\ any\ key.\n\r \b, WinImage harddisk Bootloader ->>>>>>209 string >\0 \b, version %-4.4s +# http://freecode.com/projects/dosfstools dosfstools-n.m/src/mkdosfs.c +# updated by Joerg Jenderek at Nov 2012. Use search directive with offset instead of string +# skip name "C.H. Hochstaetter" partly because it is sometimes written without umlaut +>242 search/127 Bootsector\ from\ C.H.\ Hochst +>>278 search/127 No\ Systemdisk.\ Booting\ from\ harddisk +# followed by variants with point,CR-NL or NL-CR +>>>208 search/261 Cannot\ load\ from\ harddisk. +# followed by variants CR-NL or NL-CR +>>>>236 search/235 Insert\ Systemdisk\ and\ press\ any\ key. +# followed by variants with point,CR-NL or NL-CR +>>>>>180 search/96 Disk\ formatted\ with\ WinImage\ \b, WinImage harddisk Bootloader +# followed by string like "6.50 (c) 1993-2004 Gilles Vollant" +>>>>>>&0 string x \b, version %-4.4s >(1.b+2) ubyte 0xe >>(1.b+3) ubyte 0x1f >>>(1.b+4) ubyte 0xbe ->>>>(1.b+5) ubyte 0x77 ->>>>(1.b+6) ubyte 0x7c ->>>>>(1.b+7) ubyte 0xac ->>>>>>(1.b+8) ubyte 0x22 ->>>>>>>(1.b+9) ubyte 0xc0 ->>>>>>>>(1.b+10) ubyte 0x74 ->>>>>>>>>(1.b+11) ubyte 0xb ->>>>>>>>>>(1.b+12) ubyte 0x56 ->>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display +# message offset found at (1.b+5) is 0x77 for FAT32 or 0x5b for others +>>>>(1.b+5) ubyte&0xd3 0x53 +>>>>>(1.b+6) ubyte 0x7c +# assembler instructions: lodsb;and al,al;jz 0xb;push si;mov ah, +>>>>>>(1.b+7) ubyte 0xac +>>>>>>>(1.b+8) ubyte 0x22 +>>>>>>>>(1.b+9) ubyte 0xc0 +>>>>>>>>>(1.b+10) ubyte 0x74 +>>>>>>>>>>(1.b+11) ubyte 0x0b +>>>>>>>>>>>(1.b+12) ubyte 0x56 +>>>>>>>>>>>>(1.b+13) ubyte 0xb4 \b, mkdosfs boot message display +# FAT1X version +>>>>>>>>>>>>>(1.b+5) ubyte 0x5b +>>>>>>>>>>>>>>0x5b string >\0 "%-s" +# FAT32 version +>>>>>>>>>>>>>(1.b+5) ubyte 0x77 +>>>>>>>>>>>>>>0x77 string >\0 "%-s" >214 string Please\ try\ to\ install\ FreeDOS\ \b, DOS Emulator boot message display #>>244 string from\ dosemu-freedos-*-bin.tgz\r #>>>170 string Sorry,\ could\ not\ load\ an\ @@ -762,6 +913,26 @@ >>>>>492 string RENF \b, FAT (12 bit) >>>>>495 string RENF \b, FAT (16 bit) # x86 bootloader end + +# added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO +# and http://en.wikipedia.org/wiki/File_Allocation_Table#FS_Information_Sector +>0 string RRaA +>>0x1E4 string rrAa \b, FSInfosector +#>>0x1FC uleshort =0 SHOULD BE ZERO +>>>0x1E8 ulelong <0xffffffff \b, %u free clusters +>>>0x1EC ulelong <0xffffffff \b, last allocated cluster %u + +# added by Joerg Jenderek at Nov 2012 +# http://www.thenakedpc.com/articles/v04/08/0408-05.html +# Symantec (Peter Norton) Image.dat file consists of variable header, bootrecord, part of FAT and root directory data +0 string PNCIHISK\0 Norton Utilities disc image data +# real x86 boot sector with jump instruction +>509 search/1026 \x55\xAA\xeb +>>&-1 indirect x \b; contains +# http://file-extension.net/seeker/file_extension_dat +0 string PNCIUNDO Norton Disk Doctor UnDo file +# + # updated by Joerg Jenderek at Sep 2007 >3 ubyte 0 #no active flag @@ -776,149 +947,13 @@ >>>>>>>466 ubyte 0x05 \b, extended partition table >>>>>>>466 ubyte 0x0F \b, extended partition table (LBA) >>>>>>>466 ubyte 0x0 \b, extended partition table (last) -# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 -# http://mirror.href.com/thestarman/asm/2bytejumps.htmm#FWD -# older drives may use Near JuMP instruction E9 xx xx ->0 lelong&0x009000EB 0x009000EB ->0 lelong&0x000000E9 0x000000E9 -# minimal short forward jump found 03cx?? -# maximal short forward jump is 07fx ->1 ubyte <0xff \b, code offset 0x%x -# mtools-3.9.8/msdos.h -# usual values are marked with comments to get only informations of strange FAT systems -# valid sectorsize must be a power of 2 from 32 to 32768 ->>11 uleshort&0x000f x ->>>11 uleshort <32769 ->>>>11 uleshort >31 ->>>>>21 ubyte&0xf0 0xF0 ->>>>>>3 string >\0 \b, OEM-ID "%8.8s" -#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC ->>>>>>>8 string IHC \b cached by Windows 9M ->>>>>>11 uleshort >512 \b, Bytes/sector %u -#>>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) ->>>>>>11 uleshort <512 \b, Bytes/sector %u ->>>>>>13 ubyte >1 \b, sectors/cluster %u -#>>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) ->>>>>>14 uleshort >32 \b, reserved sectors %u -#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) -#>>>>>>14 uleshort >1 \b, reserved sectors %u -#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) ->>>>>>14 uleshort <1 \b, reserved sectors %u ->>>>>>16 ubyte >2 \b, FATs %u -#>>>>>>16 ubyte =2 \b, FATs %u (usual) ->>>>>>16 ubyte =1 \b, FAT %u ->>>>>>16 ubyte >0 ->>>>>>17 uleshort >0 \b, root entries %u -#>>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32) ->>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) -#>>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32) ->>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x -#>>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) ->>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x ->>>>>>22 uleshort >0 \b, sectors/FAT %u -#>>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32) ->>>>>>26 ubyte >2 \b, heads %u -#>>>>>>26 ubyte =2 \b, heads %u (usual floppy) ->>>>>>26 ubyte =1 \b, heads %u -#skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk ->>>>>>38 ubyte !0x70 ->>>>>>>28 ulelong >0 \b, hidden sectors %u -#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) ->>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) -#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) -# FAT<32 specific ->>>>>>82 string !FAT32 -#>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk) -#>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy) ->>>>>>>36 ubyte !0x80 ->>>>>>>>36 ubyte !0 \b, physical drive 0x%x ->>>>>>>37 ubyte >0 \b, reserved 0x%x -#>>>>>>>37 ubyte =0 \b, reserved 0x%x ->>>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>>38 ubyte =0x29 ->>>>>>>>39 ulelong x \b, serial number 0x%x ->>>>>>>>43 string >>>>>>>43 string >NO\ NAME \b, label: "%11.11s" ->>>>>>>>43 string =NO\ NAME \b, unlabeled ->>>>>>>54 string FAT \b, FAT ->>>>>>>>54 string FAT12 \b (12 bit) ->>>>>>>>54 string FAT16 \b (16 bit) -# FAT32 specific ->>>>>>82 string FAT32 \b, FAT (32 bit) ->>>>>>>36 ulelong x \b, sectors/FAT %u ->>>>>>>40 uleshort >0 \b, extension flags %u -#>>>>>>>40 uleshort =0 \b, extension flags %u ->>>>>>>42 uleshort >0 \b, fsVersion %u -#>>>>>>>42 uleshort =0 \b, fsVersion %u (usual) ->>>>>>>44 ulelong >2 \b, rootdir cluster %u -#>>>>>>>44 ulelong =2 \b, rootdir cluster %u -#>>>>>>>44 ulelong =1 \b, rootdir cluster %u ->>>>>>>48 uleshort >1 \b, infoSector %u -#>>>>>>>48 uleshort =1 \b, infoSector %u (usual) ->>>>>>>48 uleshort <1 \b, infoSector %u ->>>>>>>50 uleshort >6 \b, Backup boot sector %u -#>>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) ->>>>>>>50 uleshort <6 \b, Backup boot sector %u ->>>>>>>54 ulelong >0 \b, reserved1 0x%x ->>>>>>>58 ulelong >0 \b, reserved2 0x%x ->>>>>>>62 ulelong >0 \b, reserved3 0x%x -# same structure as FAT1X ->>>>>>>64 ubyte >0x80 \b, physical drive 0x%x -#>>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) ->>>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x -#>>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) ->>>>>>>65 ubyte >0 \b, reserved 0x%x ->>>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x) ->>>>>>>66 ubyte =0x29 ->>>>>>>>67 ulelong x \b, serial number 0x%x ->>>>>>>>71 string >>>>>>71 string >NO\ NAME \b, label: "%11.11s" ->>>>>>>71 string =NO\ NAME \b, unlabeled -### FATs end + +# DOS x86 sector separated and moved from "x86 boot sector" by Joerg Jenderek at May 2011 + >0x200 lelong 0x82564557 \b, BSD disklabel # FATX 0 string FATX FATX filesystem data - -# Minix filesystems - Juan Cespedes -0x410 leshort 0x137f -!:strength / 2 ->0x402 beshort < 100 Minix filesystem, V1, %d zones ->0x1e string minix \b, bootable -0x410 beshort 0x137f -!:strength / 2 ->0x402 beshort < 100 Minix filesystem, V1 (big endian), %d zones ->0x1e string minix \b, bootable -0x410 leshort 0x138f -!:strength / 2 ->0x402 beshort < 100 Minix filesystem, V1, 30 char names, %d zones ->0x1e string minix \b, bootable -0x410 beshort 0x138f -!:strength / 2 ->0x402 beshort < 100 Minix filesystem, V1, 30 char names (big endian), %d zones ->0x1e string minix \b, bootable -0x410 leshort 0x2468 ->0x402 beshort < 100 Minix filesystem, V2, %d zones ->0x1e string minix \b, bootable -0x410 beshort 0x2468 ->0x402 beshort < 100 Minix filesystem, V2 (big endian), %d zones ->0x1e string minix \b, bootable - -0x410 leshort 0x2478 ->0x402 beshort < 100 Minix filesystem, V2, 30 char names, %d zones ->0x1e string minix \b, bootable -0x410 leshort 0x2478 ->0x402 beshort < 100 Minix filesystem, V2, 30 char names, %d zones ->0x1e string minix \b, bootable -0x410 beshort 0x2478 ->0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian), %d zones ->0x1e string minix \b, bootable -0x410 leshort 0x4d5a ->0x402 beshort !0 Minix filesystem, V3, %d zones ->0x1e string minix \b, bootable - # romfs filesystems - Juan Cespedes 0 string -rom1fs- romfs filesystem, version 1 >8 belong x %d bytes, @@ -933,12 +968,143 @@ 0x18b string OS/2 OS/2 Boot Manager -# updated by Joerg Jenderek at Oct 2008!! +# updated by Joerg Jenderek at Oct 2008 and Sep 2012 # http://syslinux.zytor.com/iso.php -0 ulelong 0x7c40eafa isolinux Loader +# tested with versions 1.47,1.48,1.49,1.50,1.62,1.76,2.00,2.10;3.00,3.11,3.31,;3.70,3.71,3.73,3.75,3.80,3.82,3.84,3.86,4.01,4.03 and 4.05 +# assembler instructions: cli;jmp 0:7Cyy (yy=0x40,0x5e,0x6c,0x6e,0x77);nop;nop +0 ulequad&0x909000007cc0eafa 0x909000007c40eafa +>631 search/689 ISOLINUX\ isolinux Loader +>>&0 string x (version %-4.4s) # http://syslinux.zytor.com/pxe.php -0 ulelong 0x007c05ea pxelinux Loader -0 ulelong 0x60669c66 pxelinux Loader +# assembler instructions: jmp 7C05 +0 ulelong 0x007c05ea pxelinux loader (version 2.13 or older) +# assembler instructions: pushfd;pushad +0 ulelong 0x60669c66 pxelinux loader +# assembler instructions: jmp 05 +0 ulelong 0xc00005ea pxelinux loader (version 3.70 or newer) +# http://syslinux.zytor.com/wiki/index.php/SYSLINUX +0 string LDLINUX\ SYS\ SYSLINUX loader +>12 string x (older version %-4.4s) +0 string \r\nSYSLINUX\ SYSLINUX loader +>11 string x (version %-4.4s) +# syslinux updated and separated from "x86 boot sector" by Joerg Jenderek at Sep 2012 +# assembler instructions: jmp yy (yy=0x3c,0x58);nop;"SYSLINUX" +0 ulelong&0x80909bEB 0x009018EB +# OEM-ID not always "SYSLINUX" +>434 search/47 Boot\ failed +# followed by \r\n\0 or :\ +>>482 search/132 \0LDLINUX\ SYS Syslinux bootloader (version 2.13 or older) +>>1 ubyte 0x58 Syslinux bootloader (version 3.0-3.9) +>459 search/30 Boot\ error\r\n\0 +>>1 ubyte 0x58 Syslinux bootloader (version 3.10 or newer) +# SYSLINUX MBR updated and separated from "x86 boot sector" by Joerg Jenderek at Sep 2012 +# assembler instructions: mov di,0600h;mov cx,0100h +16 search/4 \xbf\x00\x06\xb9\x00\x01 +# to display SYSLINUX MBR (36) before old x86 boot sector one with partition table (strength=50+21) +!:strength +36 +>94 search/249 Missing\ operating\ system +# followed by \r for versions older 3.35 , .\r for versions newer 3.52 and point for other +# skip Ranish MBR +>>408 search/4 HD1/\0 +>>408 default x +>>>250 search/118 \0Operating\ system\ load SYSLINUX MBR +# followed by "ing " or space +>>>>292 search/98 error +>>>>>&0 string \r (version 3.35 or older) +>>>>>&0 string .\r (version 3.52 or newer) +>>>>>&0 default x (version 3.36-3.51 ) +>368 search/106 \0Disk\ error\ on\ boot\r\n SYSLINUX GPT-MBR +>>156 search/10 \0Boot\ partition\ not\ found\r\n +>>>270 search/10 \0OS\ not\ bootable\r\n (version 3.86 or older) +>>174 search/10 \0Missing\ OS\r\n +>>>189 search/10 \0Multiple\ active\ partitions\r\n (version 4.00 or newer) +# SYSLINUX END + +# NetBSD mbr variants (master-boot-code version 1.22) added by Joerg Jenderek at Nov 2012 +# assembler instructions: xor ax,ax;mov ax,ss;mov sp,0x7c00;mov ax, +0 ubequad 0x31c08ed0bc007c8e +# mbr_bootsel magic before partition table not reliable with small ipl fragments +#>444 uleshort 0xb5e1 +>0004 uleshort x +# ERRorTeXT +>>181 search/166 Error\ \0\r\n NetBSD mbr +# NT Drive Serial Number http://thestarman.pcministry.com/asm/mbr/Win2kmbr.htm#DS +>>>0x1B8 ubelong >0 \b,Serial 0x%-.8x +# BOOTSEL definitions contains assembler instructions: int 0x13;pop dx;push dx;push dx +>>>0xbb search/71 \xcd\x13\x5a\x52\x52 \b,bootselector +# BOOT_EXTENDED definitions contains assembler instructions: +# xchg ecx,edx;addl ecx,edx;movw lba_info,si;movb 0x42,ah;pop dx;push dx;int 0x13 +>>>0x96 search/1 \x66\x87\xca\x66\x01\xca\x66\x89\x16\x3a\x07\xbe\x32\x07\xb4\x42\x5a\x52\xcd\x13 \b,boot extended +# COM_PORT_VAL definitions contains assembler instructions: outb al,dx;add 5,dl;inb %dx;test 0x40,al +>>>0x130 search/55 \xee\x80\xc2\x05\xec\xa8\x40 \b,serial IO +# not TERSE_ERROR +>>>196 search/106 No\ active\ partition\0 +>>>>&0 string Disk\ read\ error\0 +>>>>>&0 string No\ operating\ system\0 \b,verbose +# not NO_CHS definitions contains assembler instructions: pop dx;push dx;movb $8,ah;int0x13 +>>>0x7d search/7 \x5a\x52\xb4\x08\xcd\x13 \b,CHS +# not NO_LBA_CHECK definitions contains assembler instructions: movw 0x55aa,bx;movb 0x41,ah;pop dx;push dx;int 0x13 +>>>0xa4 search/84 \xbb\xaa\x55\xb4\x41\x5a\x52\xcd\x13 \b,LBA-check +# assembler instructions: movw nametab,bx +>>>0x26 search/21 \xBB\x94\x07 +# not NO_BANNER definitions contains assembler instructions: mov banner,si;call message_crlf +>>>>&-9 ubequad&0xBE00f0E800febb94 0xBE0000E80000bb94 +>>>>>181 search/166 Error\ \0 +# "a: disk" , "Fn: diskn" or "NetBSD MBR boot" +>>>>>>&3 string x \b,"%s" +# Andrea Mazzoleni AdvanceCD mbr loader of http://advancemame.sourceforge.net/boot-readme.html +# added by Joerg Jenderek at Nov 2012 for versions 1.3 - 1.4 +# assembler instructions: jmp short 0x58;nop;ASCII +0 ubequad&0xeb58908000000000 0xeb58900000000000 +# assembler instructions: cli;xor ax,ax;mov ds,ax;mov es,ax;mov ss, +>(1.b+2) ubequad 0xfa31c08ed88ec08e +# Error messages at end of code +>>376 string No\ operating\ system\r\n\0 +>>>398 string Disk\ error\r\n\0FDD\0HDD\0 +>>>>419 string \ EBIOS\r\n\0 AdvanceMAME mbr + +# Neil Turton mbr loader variant of http://www.chiark.greenend.org.uk/~neilt/mbr/ +# added by Joerg Jenderek at Mar 2011 for versions 1.0.0 - 1.1.11 +# for 1st version assembler instructions: cld;xor ax,ax;mov DS,ax;MOV ES,AX;mov SI, +# or cld;xor ax,ax;mov SS,ax;XOR SP,SP;mov DS, +0 ulequad&0xcE1b40D48EC031FC 0x8E0000D08EC031FC +# pointer to the data starting with Neil Turton signature string +>(0x1BC.s) string NDTmbr +>>&-14 string 1234F\0 Turton mbr ( +# parameters also viewed by install-mbr --list +>>>(0x1BC.s+7) ubyte x \b%u<= +>>>(0x1BC.s+9) ubyte x \bVersion<=%u +#>>>(0x1BC.s+8) ubyte x asm_flag_%x +>>>(0x1BC.s+8) ubyte&1 1 \b,Y2K-Fix +# variant used by testdisk of http://www.cgsecurity.org/wiki/Menu_MBRCode +>>>(0x1BC.s+8) ubyte&2 2 \b,TestDisk +#0x1~1,..,0x8~4,0x10~F,0x80~A enabled +#>>>(0x1BC.s+10) ubyte x \b,flags 0x%x +#0x0~1,0x1~2,...,0x3~4,0x4~F,0x7~D default boot +#>>>(0x1BC.s+11) ubyte x \b,cfg_def 0x%x +# for older versions +>>>(0x1BC.s+9) ubyte <2 +#>>>>(0x1BC.s+12) ubyte 18 \b,%u/18 seconds +>>>>(0x1BC.s+12) ubyte !18 \b,%u/18 seconds +# floppy A: or B: +>>>>(0x1BC.s+13) ubyte <2 \b,floppy 0x%x +>>>>(0x1BC.s+13) ubyte >1 +# 1st hard disc +#>>>>>(0x1BC.s+13) ubyte 0x80 \b,drive 0x%x +# not 1st hard disc +>>>>>(0x1BC.s+13) ubyte !0x80 \b,drive 0x%x +# for version >= 2 maximal timeout can be 65534 +>>>(0x1BC.s+9) ubyte >1 +#>>>>(0x1BC.s+12) uleshort 18 \b,%u/18 seconds +>>>>(0x1BC.s+12) uleshort !18 \b,%u/18 seconds +# floppy A: or B: +>>>>(0x1BC.s+14) ubyte <2 \b,floppy 0x%x +>>>>(0x1BC.s+14) ubyte >1 +# 1st hard disc +#>>>>>(0x1BC.s+14) ubyte 0x80 \b,drive 0x%x +# not 1st hard disc +>>>>>(0x1BC.s+14) ubyte !0x80 \b,drive 0x%x +>>>0 ubyte x \b) # added by Joerg Jenderek # In the second sector (+0x200) are variables according to grub-0.97/stage2/asm.S or @@ -995,6 +1161,178 @@ >>>>>0x217 ulong !0xffffffff >>>>>>0x217 string >\0 \b, configuration file %-s +# DOS x86 sector updated and separated from "x86 boot sector" by Joerg Jenderek at May 2011 +# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90 +# over BIOS parameter block (BPB) +# http://thestarman.pcministry.com/asm/2bytejumps.htm#FWD +# older drives may use Near JuMP instruction E9 xx xx +# minimal short forward jump found 0x29 for bootloaders or 0x0 +# maximal short forward jump is 0x7f +# OEM-ID is empty or contain readable bytes +0 ulelong&0x804000E9 0x000000E9 +# mtools-3.9.8/msdos.h +# usual values are marked with comments to get only informations of strange FAT systems +# valid sectorsize must be a power of 2 from 32 to 32768 +>11 uleshort&0xf001f 0 +>>11 uleshort <32769 +>>>11 uleshort >31 +>>>>21 ubyte&0xf0 0xF0 +>>>>>0 ubyte 0xEB +>>>>>>1 ubyte x \b, code offset 0x%x+2 +>>>>>0 ubyte 0xE9 +>>>>>>1 uleshort x \b, code offset 0x%x+2 +>>>>>3 string >\0 \b, OEM-ID "%-.8s" +#http://mirror.href.com/thestarman/asm/debug/debug2.htm#IHC +>>>>>>8 string IHC \b cached by Windows 9M +>>>>>11 uleshort >512 \b, Bytes/sector %u +#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual) +>>>>>11 uleshort <512 \b, Bytes/sector %u +>>>>>13 ubyte >1 \b, sectors/cluster %u +#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies) +>>>>>82 string FAT32 +>>>>>>14 uleshort !32 \b, reserved sectors %u +#>>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32) +>>>>>82 string !FAT32 +>>>>>>14 uleshort >1 \b, reserved sectors %u +#>>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16) +#>>>>>>14 uleshort 0 \b, reserved sectors %u (usual NTFS) +>>>>>16 ubyte >2 \b, FATs %u +#>>>>>16 ubyte =2 \b, FATs %u (usual) +>>>>>16 ubyte =1 \b, FAT %u +>>>>>16 ubyte >0 +>>>>>17 uleshort >0 \b, root entries %u +#>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32) +>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB) +#>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32) +>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x +#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy) +>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x +>>>>>22 uleshort >0 \b, sectors/FAT %u +#>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32) +>>>>>24 uleshort x \b, sectors/track %u +>>>>>26 ubyte >2 \b, heads %u +#>>>>>26 ubyte =2 \b, heads %u (usual floppy) +>>>>>26 ubyte =1 \b, heads %u +# valid only for sector sizes with more then 32 Bytes +>>>>>11 uleshort >32 +# skip for Digital Research DOS (version 3.41) 1440 kB Bootdisk +>>>>>>38 ubyte !0x70 +>>>>>>>28 ulelong >0 \b, hidden sectors %u +#>>>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy) +>>>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB) +#>>>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB) +# FAT<32 bit specific +>>>>>>>82 string !FAT32 +#>>>>>>>>36 ubyte 0x80 \b, physical drive 0x%x=0x80 (usual harddisk) +#>>>>>>>>36 ubyte 0 \b, physical drive 0x%x=0 (usual floppy) +>>>>>>>>36 ubyte !0x80 +>>>>>>>>>36 ubyte !0 \b, physical drive 0x%x +>>>>>>>>37 ubyte >0 \b, reserved 0x%x +#>>>>>>>>37 ubyte =0 \b, reserved 0x%x +# value is 0x80 for NTFS +>>>>>>>>38 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) +>>>>>>>>38 ubyte =0x29 +>>>>>>>>>39 ulelong x \b, serial number 0x%x +>>>>>>>>>43 string >>>>>>>>43 string >NO\ NAME \b, label: "%11.11s" +>>>>>>>>>43 string =NO\ NAME \b, unlabeled +# there exist some old floppies without word FAT at offset 54 +# a word like "FATnm " is only a hint for a FAT size on nm-bits +# Normally the number of clusters is calculated by the values of BPP. +# if it is small enough FAT is 12 bit, if it is too big enough FAT is 32 bit, +# otherwise FAT is 16 bit. +# http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/determining-fat-widths.html +>>>>>>54 string FAT \b, FAT +>>>>>>>54 string FAT12 \b (12 bit) +>>>>>>>54 string FAT16 \b (16 bit) +# FAT32 bit specific +>>>>>82 string FAT32 \b, FAT (32 bit) +>>>>>>36 ulelong x \b, sectors/FAT %u +# http://technet.microsoft.com/en-us/library/cc977221.aspx +>>>>>>40 uleshort >0 \b, extension flags 0x%x +#>>>>>>40 uleshort =0 \b, extension flags %u +>>>>>>42 uleshort >0 \b, fsVersion %u +#>>>>>>42 uleshort =0 \b, fsVersion %u (usual) +>>>>>>44 ulelong >2 \b, rootdir cluster %u +#>>>>>>44 ulelong =2 \b, rootdir cluster %u +#>>>>>>44 ulelong =1 \b, rootdir cluster %u +>>>>>>48 uleshort >1 \b, infoSector %u +#>>>>>>48 uleshort =1 \b, infoSector %u (usual) +>>>>>>48 uleshort <1 \b, infoSector %u +>>>>>>50 uleshort >6 \b, Backup boot sector %u +#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual) +>>>>>>50 uleshort <6 \b, Backup boot sector %u +# corrected by Joerg Jenderek at Feb 2011 according to http://thestarman.pcministry.com/asm/mbr/MSWIN41.htm#FSINFO +>>>>>>52 ulelong >0 \b, reserved1 0x%x +>>>>>>56 ulelong >0 \b, reserved2 0x%x +>>>>>>60 ulelong >0 \b, reserved3 0x%x +# same structure as FAT1X +#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk) +#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy) +>>>>>>64 ubyte !0x80 +>>>>>>>64 ubyte >0 \b, physical drive 0x%x +# in Windows NT bit 0 is a dirty flag to request chkdsk at boot time. bit 1 requests surface scan too +>>>>>>65 ubyte >0 \b, reserved 0x%x +>>>>>>66 ubyte !0x29 \b, dos < 4.0 BootSector (0x%x) +>>>>>>66 ubyte =0x29 +>>>>>>>67 ulelong x \b, serial number 0x%x +>>>>>>>71 string >>>>>>71 string >NO\ NAME \b, label: "%11.11s" +>>>>>>>71 string =NO\ NAME \b, unlabeled +# additional tests for floppy image added by Joerg Jenderek +# no fixed disk +>>>>>21 ubyte !0xF8 +# floppy media with 12 bit FAT +>>>>>>54 string !FAT16 +# test for FAT after bootsector +>>>>>>>(11.s) ulelong&0x00ffffF0 0x00ffffF0 \b, followed by FAT +# floppy image +!:mime application/x-ima +# NTFS specific added by Joerg Jenderek at Mar 2011 according to http://thestarman.pcministry.com/asm/mbr/NTFSBR.htm +# and http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/bios-parameter-block.html +# 0 FATs +>>>>>16 ubyte =0 +# 0 root entries +>>>>>>17 uleshort =0 +# 0 DOS sectors +>>>>>>>19 uleshort =0 +# 0 sectors/FAT +# dos < 4.0 BootSector value found is 0x80 +#38 ubyte =0x80 \b, dos < 4.0 BootSector (0x%x) +>>>>>>>>22 uleshort =0 \b; NTFS +>>>>>>>>>24 uleshort >0 \b, sectors/track %u +>>>>>>>>>36 ulelong !0x800080 \b, physical drive 0x%x +>>>>>>>>>40 ulequad >0 \b, sectors %lld +>>>>>>>>>48 ulequad >0 \b, $MFT start cluster %lld +>>>>>>>>>56 ulequad >0 \b, $MFTMirror start cluster %lld +# Values 0 to 127 represent MFT record sizes of 0 to 127 clusters. +# Values 128 to 255 represent MFT record sizes of 2^(256-N) bytes. +>>>>>>>>>64 lelong <256 +>>>>>>>>>>64 lelong <128 \b, clusters/RecordSegment %d +>>>>>>>>>>64 ubyte >127 \b, bytes/RecordSegment 2^(-1*%hhi) +# Values 0 to 127 represent index block sizes of 0 to 127 clusters. +# Values 128 to 255 represent index block sizes of 2^(256-N) byte +>>>>>>>>>68 ulelong <256 +>>>>>>>>>>68 ulelong <128 \b, clusters/index block %d +#>>>>>>>>>>68 ulelong >127 \b, bytes/index block 2^(256-%d) +>>>>>>>>>>68 ubyte >127 \b, bytes/index block 2^(-1*%hhi) +>>>>>>>>>72 ulequad x \b, serial number 0%llx +>>>>>>>>>80 ulelong >0 \b, checksum 0x%x +#>>>>>>>>>80 ulelong =0 \b, checksum 0x%x=0 (usual) +>>>>>>>>>0x258 ulelong&0x00009090 =0x00009090 +>>>>>>>>>>&-92 indirect x \b; contains +# For 2nd NTFS sector added by Joerg Jenderek at Jan 2013 +# http://thestarman.pcministry.com/asm/mbr/NTFSbrHexEd.htm +# unused assembler instructions JMP y2;NOP;NOP +0x056 ulelong&0xFFFF0FFF 0x909002EB +# unicode loadername terminated by CTRL-D +>(0.s*2) ulelong&0xFFFFFF00 0x00040000 +# loadernames are NTLDR,CMLDR,PELDR,$LDR$ or BOOTMGR +>>0x002 lestring16 x Microsoft Windows XP/VISTA bootloader %-5.5s +>>0x12 string $ +>>>0x0c lestring16 x \b%-2.2s +### DOS,NTFS boot sectors end + 9564 lelong 0x00011954 Unix Fast File system [v1] (little-endian), >8404 string x last mounted on %s, #>9504 ledate x last checked at %s, @@ -1157,6 +1495,51 @@ #>0x464 lelong &0x0000020 (many subdirs) #>0x463 lelong &0x0000040 (extra isize) +# Minix filesystems - Juan Cespedes +0x410 leshort 0x137f +!:strength / 2 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V1, %d zones +>0x1e string minix \b, bootable +0x410 beshort 0x137f +!:strength / 2 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V1 (big endian), %d zones +>0x1e string minix \b, bootable +0x410 leshort 0x138f +!:strength / 2 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V1, 30 char names, %d zones +>0x1e string minix \b, bootable +0x410 beshort 0x138f +!:strength / 2 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V1, 30 char names (big endian), %d zones +>0x1e string minix \b, bootable +0x410 leshort 0x2468 +>0x402 beshort < 100 +>>0x402 beshort > -1 Minix filesystem, V2, %d zones +>0x1e string minix \b, bootable +0x410 beshort 0x2468 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V2 (big endian), %d zones +>0x1e string minix \b, bootable + +0x410 leshort 0x2478 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones +>0x1e string minix \b, bootable +0x410 leshort 0x2478 +>0x402 beshort < 100 +>0x402 beshort > -1 Minix filesystem, V2, 30 char names, %d zones +>0x1e string minix \b, bootable +0x410 beshort 0x2478 +>0x402 beshort !0 Minix filesystem, V2, 30 char names (big endian), %d zones +>0x1e string minix \b, bootable +0x410 leshort 0x4d5a +>0x402 beshort !0 Minix filesystem, V3, %d zones +>0x1e string minix \b, bootable + # SGI disk labels - Nathan Scott 0 belong 0x0BE5A941 SGI disk label (volume header) @@ -1226,8 +1609,8 @@ # 10 SS, 8 SPT # 11 DS, 8 SPT # -# 11111001 Double density 3½ floppy disk, high density 5¼ -# 11110000 High density 3½ floppy disk +# 11111001 Double density 3 1/2 floppy disk, high density 5 1/4 +# 11110000 High density 3 1/2 floppy disk # 11111000 Hard disk any format # @@ -1243,7 +1626,7 @@ >>38917 byte >0x33 (unknown version, ID 0x%X) >>38917 byte <0x31 (unknown version, ID 0x%X) # "application id" which appears to be used as a volume label ->32808 string >\0 '%s' +>32808 string/T >\0 '%s' >34816 string \000CD001\001EL\ TORITO\ SPECIFICATION (bootable) 37633 string CD001 ISO 9660 CD-ROM filesystem data (raw 2352 byte sectors) !:mime application/x-iso9660-image @@ -1414,8 +1797,6 @@ >28 leshort >3 >>8 ledate x created: %s -0 string td\000 floppy image data (TeleDisk) - # AFS Dump Magic # From: Ty Sarna 0 string \x01\xb3\xa1\x13\x22 AFS Dump @@ -1569,3 +1950,41 @@ >>&8 lelong x \b, blocksize %d >>&32 lelong&0x00000006 >0 (dirty) >>&36 lelong >0 (compressed) + +# LFS +0 lelong 0x070162 LFS filesystem image +>4 lelong 1 version 1, +>>8 lelong x \b blocks %u, +>>12 lelong x \b blocks per segment %u, +>4 lelong 2 version 2, +>>8 lelong x \b fragments %u, +>>12 lelong x \b bytes per segment %u, +>16 lelong x \b disk blocks %u, +>20 lelong x \b block size %u, +>24 lelong x \b fragment size %u, +>28 lelong x \b fragments per block %u, +>32 lelong x \b start for free list %u, +>36 lelong x \b number of free blocks %d, +>40 lelong x \b number of files %u, +>44 lelong x \b blocks available for writing %d, +>48 lelong x \b inodes in cache %d, +>52 lelong x \b inode file disk address 0x%x, +>56 lelong x \b inode file inode number %u, +>60 lelong x \b address of last segment written 0x%x, +>64 lelong x \b address of next segment to write 0x%x, +>68 lelong x \b address of current segment written 0x%x + +0 string td\000 floppy image data (TeleDisk, compressed) +0 string TD\000 floppy image data (TeleDisk) + +0 string CQ\024 floppy image data (CopyQM, +>16 leshort x %d sectors, +>18 leshort x %d heads.) + +0 string ACT\020Apricot\020disk\020image\032\004 floppy image data (ApriDisk) + +0 beshort 0xAA58 floppy image data (IBM SaveDskF, old) +0 beshort 0xAA59 floppy image data (IBM SaveDskF) +0 beshort 0xAA5A floppy image data (IBM SaveDskF, compressed) + +0 string \074CPM_Disk\076 disk image data (YAZE) diff --git a/external/bsd/file/dist/magic/magdir/fonts b/external/bsd/file/dist/magic/magdir/fonts index 917d372e6..a702a175a 100644 --- a/external/bsd/file/dist/magic/magdir/fonts +++ b/external/bsd/file/dist/magic/magdir/fonts @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: fonts,v 1.23 2010/09/20 18:55:20 rrt Exp $ +# $File: fonts,v 1.26 2013/03/09 22:36:00 christos Exp $ # fonts: file(1) magic for font data # 0 search/1 FONT ASCII vfont text @@ -16,8 +16,15 @@ 0 string %!PS-Adobe-3.0\ Resource-Font PostScript Type 1 font text # X11 font files in SNF (Server Natural Format) format +# updated by Joerg Jenderek at Feb 2013 +# http://computer-programming-forum.com/51-perl/8f22fb96d2e34bab.htm 0 belong 00000004 X11 SNF font data, MSB first -0 lelong 00000004 X11 SNF font data, LSB first +#>104 belong 00000004 X11 SNF font data, MSB first +!:mime application/x-font-sfn +# GRR: line below too general as it catches also Xbase index file t3-CHAR.NDX +0 lelong 00000004 +>104 lelong 00000004 X11 SNF font data, LSB first +!:mime application/x-font-sfn # X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com) 0 search/1 STARTFONT\ X11 BDF font text @@ -75,7 +82,7 @@ 0 string OTTO OpenType font data !:mime application/vnd.ms-opentype -# Gürkan Sengün , www.linuks.mine.nu +# Gurkan Sengun , www.linuks.mine.nu 0 string SplineFontDB: Spline Font Database !:mime application/vnd.font-fontforge-sfd >14 string x version %s @@ -83,3 +90,11 @@ # EOT 34 string LP Embedded OpenType (EOT) !:mime application/vnd.ms-fontobject + +# Web Open Font Format (.woff) +# http://www.w3.org/TR/WOFF/ +0 string wOFF Web Open Font Format +>4 belong x \b, flavor %d +>8 belong x \b, length %d +>20 beshort x \b, version %hd +>22 beshort x \b.%hd diff --git a/external/bsd/file/dist/magic/magdir/fortran b/external/bsd/file/dist/magic/magdir/fortran index e2ef0cdb7..0604c2593 100644 --- a/external/bsd/file/dist/magic/magdir/fortran +++ b/external/bsd/file/dist/magic/magdir/fortran @@ -1,6 +1,7 @@ #------------------------------------------------------------------------------ -# $File: fortran,v 1.6 2009/09/19 16:28:09 christos Exp $ +# $File: fortran,v 1.7 2012/06/21 01:55:02 christos Exp $ # FORTRAN source 0 regex/100 \^[Cc][\ \t] FORTRAN program !:mime text/x-fortran +!:strength - 5 diff --git a/external/bsd/file/dist/magic/magdir/geo b/external/bsd/file/dist/magic/magdir/geo index 924c71e93..9a765fed0 100644 --- a/external/bsd/file/dist/magic/magdir/geo +++ b/external/bsd/file/dist/magic/magdir/geo @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: geo,v 1.1 2010/02/23 23:40:07 christos Exp $ +# $File: geo,v 1.3 2013/01/04 00:47:02 christos Exp $ # Geo- files from Kurt Schwehr ###################################################################### @@ -103,3 +103,15 @@ # https://midas.psi.ch/elog/ 0 string $@MID@$ elog journal entry + +# Geospatial Designs http://www.geospatialdesigns.com/surfer6_format.htm +0 string DSBB Surfer 6 binary grid file +>4 leshort x \b, %d +>6 leshort x \bx%d +>8 ledouble x \b, minx=%g +>16 ledouble x \b, maxx=%g +>24 ledouble x \b, miny=%g +>32 ledouble x \b, maxy=%g +>40 ledouble x \b, minz=%g +>48 ledouble x \b, maxz=%g + diff --git a/external/bsd/file/dist/magic/magdir/gnome b/external/bsd/file/dist/magic/magdir/gnome new file mode 100644 index 000000000..14d5aeb32 --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/gnome @@ -0,0 +1,59 @@ + +#------------------------------------------------------------------------------ +# $File: gnome,v 1.3 2013/02/05 15:20:47 christos Exp $ +# GNOME related files + +# Contributed by Josh Triplett +# FIXME: Could be simplified if pstring supported two-byte counts +0 string GnomeKeyring\n\r\0\n GNOME keyring +>&0 ubyte 0 \b, major version 0 +>>&0 ubyte 0 \b, minor version 0 +>>>&0 ubyte 0 \b, crypto type 0 (AES) +>>>&0 ubyte >0 \b, crypto type %hhu (unknown) +>>>&1 ubyte 0 \b, hash type 0 (MD5) +>>>&1 ubyte >0 \b, hash type %hhu (unknown) +>>>&2 ubelong 0xFFFFFFFF \b, name NULL +>>>&2 ubelong !0xFFFFFFFF +>>>>&-4 ubelong >255 \b, name too long for file's pstring type +>>>>&-4 ubelong <256 +>>>>>&-1 pstring x \b, name "%s" +>>>>>>&0 ubeqdate x \b, last modified %s +>>>>>>&8 ubeqdate x \b, created %s +>>>>>>&16 ubelong &1 +>>>>>>>&0 ubelong x \b, locked if idle for %u seconds +>>>>>>&16 ubelong ^1 \b, not locked if idle +>>>>>>&24 ubelong x \b, hash iterations %u +>>>>>>&28 ubequad x \b, salt %llu +>>>>>>&52 ubelong x \b, %u item(s) + +# From: Alex Beregszaszi +4 string gtktalog GNOME Catalogue (gtktalog) +>13 string >\0 version %s + +# Summary: GStreamer binary registry +# Extension: .bin +# Submitted by: Josh Triplett +0 belong 0xc0def00d GStreamer binary registry +>4 string x \b, version %s + +# GVariant Database file +# By Elan Ruusamae +# https://github.com/GNOME/gvdb/blob/master/gvdb-format.h +# It's always "GVariant", it's byte swapped on incompatible archs +# See https://github.com/GNOME/gvdb/blob/master/gvdb-builder.c +# file_builder_serialise() +# http://developer.gnome.org/glib/2.34/glib-GVariant.html#GVariant +0 string GVariant GVariant Database file, +# version is never filled. probably future extension +>8 lelong x version %d +# not sure are these usable, so commented out +#>>16 lelong x start %d, +#>>>20 lelong x end %d + +# G-IR database made by gobject-introspect toolset, +# http://live.gnome.org/GObjectIntrospection +0 string GOBJ\nMETADATA\r\n\032 G-IR binary database +>16 byte x \b, v%d +>17 byte x \b.%d +>20 leshort x \b, %d entries +>22 leshort x \b/%d local diff --git a/external/bsd/file/dist/magic/magdir/gnome-keyring b/external/bsd/file/dist/magic/magdir/gnome-keyring deleted file mode 100644 index 463688fe7..000000000 --- a/external/bsd/file/dist/magic/magdir/gnome-keyring +++ /dev/null @@ -1,26 +0,0 @@ - -#------------------------------------------------------------------------------ -# $File: gnome-keyring,v 1.2 2009/09/19 16:28:09 christos Exp $ -# GNOME keyring -# Contributed by Josh Triplett -# FIXME: Could be simplified if pstring supported two-byte counts -0 string GnomeKeyring\n\r\0\n GNOME keyring ->&0 ubyte 0 \b, major version 0 ->>&0 ubyte 0 \b, minor version 0 ->>>&0 ubyte 0 \b, crypto type 0 (AEL) ->>>&0 ubyte >0 \b, crypto type %hhu (unknown) ->>>&1 ubyte 0 \b, hash type 0 (MD5) ->>>&1 ubyte >0 \b, hash type %hhu (unknown) ->>>&2 ubelong 0xFFFFFFFF \b, name NULL ->>>&2 ubelong !0xFFFFFFFF ->>>>&-4 ubelong >255 \b, name too long for file's pstring type ->>>>&-4 ubelong <256 ->>>>>&-1 pstring x \b, name "%s" ->>>>>>&0 ubeqdate x \b, last modified %s ->>>>>>&8 ubeqdate x \b, created %s ->>>>>>&16 ubelong &1 ->>>>>>>&0 ubelong x \b, locked if idle for %u seconds ->>>>>>&16 ubelong ^1 \b, not locked if idle ->>>>>>&24 ubelong x \b, hash iterations %u ->>>>>>&28 ubequad x \b, salt %llu ->>>>>>&52 ubelong x \b, %u item(s) diff --git a/external/bsd/file/dist/magic/magdir/gnu b/external/bsd/file/dist/magic/magdir/gnu index 4789c0a2a..6e746b2c3 100644 --- a/external/bsd/file/dist/magic/magdir/gnu +++ b/external/bsd/file/dist/magic/magdir/gnu @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: gnu,v 1.13 2012/01/03 17:16:54 christos Exp $ +# $File: gnu,v 1.14 2012/10/03 23:38:12 christos Exp $ # gnu: file(1) magic for various GNU tools # # GNU nlsutils message catalog file format @@ -37,6 +37,21 @@ 0 beshort 0x9901 GPG key public ring !:mime application/x-gnupg-keyring +# Symmetric encryption +0 leshort 0x0d8c +>4 leshort 0x0203 +>>2 leshort 0x0204 GPG symmetrically encrypted data (3DES cipher) +>>2 leshort 0x0304 GPG symmetrically encrypted data (CAST5 cipher) +>>2 leshort 0x0404 GPG symmetrically encrypted data (BLOWFISH cipher) +>>2 leshort 0x0704 GPG symmetrically encrypted data (AES cipher) +>>2 leshort 0x0804 GPG symmetrically encrypted data (AES192 cipher) +>>2 leshort 0x0904 GPG symmetrically encrypted data (AES256 cipher) +>>2 leshort 0x0a04 GPG symmetrically encrypted data (TWOFISH cipher) +>>2 leshort 0x0b04 GPG symmetrically encrypted data (CAMELLIA128 cipher) +>>2 leshort 0x0c04 GPG symmetrically encrypted data (CAMELLIA192 cipher) +>>2 leshort 0x0d04 GPG symmetrically encrypted data (CAMELLIA256 cipher) + + # Gnumeric spreadsheet # This entry is only semi-helpful, as Gnumeric compresses its files, so # they will ordinarily reported as "compressed", but at least -z helps diff --git a/external/bsd/file/dist/magic/magdir/gpt b/external/bsd/file/dist/magic/magdir/gpt new file mode 100644 index 000000000..74aaaf7bf --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/gpt @@ -0,0 +1,241 @@ + +#------------------------------------------------------------------------------ +# $File: gpt,v 1.1 2013/02/18 18:31:09 christos Exp $ +# +# GPT Partition table patterns. +# Author: Rogier Goossens (goossens.rogier@gmail.com) +# Note that a GPT-formatted disk must contain an MBR as well. +# + +# The initial segment (up to >>>>>>>>422) was copied from the X86 +# partition table code (aka MBR). +# This is kept separate, so that MBR partitions are not reported as well. +# (use -k if you do want them as well) + +# First, detect the MBR partiton table +# If more than one GPT protective MBR partition exists, don't print anything +# (the other MBR detection code will then just print the MBR partition table) +0x1FE leshort 0xAA55 +>3 string !MS +>>3 string !SYSLINUX +>>>3 string !MTOOL +>>>>3 string !NEWLDR +>>>>>5 string !DOS +# not FAT (32 bit) +>>>>>>82 string !FAT32 +#not Linux kernel +>>>>>>>514 string !HdrS +#not BeOS +>>>>>>>>422 string !Be\ Boot\ Loader +# GPT with protective MBR entry in partition 1 (only) +>>>>>>>>>450 ubyte 0xee +>>>>>>>>>>466 ubyte !0xee +>>>>>>>>>>>482 ubyte !0xee +>>>>>>>>>>>>498 ubyte !0xee +#>>>>>>>>>>>>>446 use gpt-mbr-partition +>>>>>>>>>>>>>(454.l*8192) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>0 ubyte x of 8192 bytes +>>>>>>>>>>>>>(454.l*8192) string !EFI\ PART +>>>>>>>>>>>>>>(454.l*4096) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes +>>>>>>>>>>>>>>(454.l*4096) string !EFI\ PART +>>>>>>>>>>>>>>>(454.l*2048) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes +>>>>>>>>>>>>>>>(454.l*2048) string !EFI\ PART +>>>>>>>>>>>>>>>>(454.l*1024) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes +>>>>>>>>>>>>>>>>(454.l*1024) string !EFI\ PART +>>>>>>>>>>>>>>>>>(454.l*512) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes +# GPT with protective MBR entry in partition 2 (only) +>>>>>>>>>450 ubyte !0xee +>>>>>>>>>>466 ubyte 0xee +>>>>>>>>>>>482 ubyte !0xee +>>>>>>>>>>>>498 ubyte !0xee +#>>>>>>>>>>>>>462 use gpt-mbr-partition +>>>>>>>>>>>>>(470.l*8192) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>0 ubyte x of 8192 bytes +>>>>>>>>>>>>>(470.l*8192) string !EFI\ PART +>>>>>>>>>>>>>>(470.l*4096) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes +>>>>>>>>>>>>>>(470.l*4096) string !EFI\ PART +>>>>>>>>>>>>>>>(470.l*2048) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes +>>>>>>>>>>>>>>>(470.l*2048) string !EFI\ PART +>>>>>>>>>>>>>>>>(470.l*1024) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes +>>>>>>>>>>>>>>>>(470.l*1024) string !EFI\ PART +>>>>>>>>>>>>>>>>>(470.l*512) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes +# GPT with protective MBR entry in partition 3 (only) +>>>>>>>>>450 ubyte !0xee +>>>>>>>>>>466 ubyte !0xee +>>>>>>>>>>>482 ubyte 0xee +>>>>>>>>>>>>498 ubyte !0xee +#>>>>>>>>>>>>>478 use gpt-mbr-partition +>>>>>>>>>>>>>(486.l*8192) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>0 ubyte x of 8192 bytes +>>>>>>>>>>>>>(486.l*8192) string !EFI\ PART +>>>>>>>>>>>>>>(486.l*4096) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes +>>>>>>>>>>>>>>(486.l*4096) string !EFI\ PART +>>>>>>>>>>>>>>>(486.l*2048) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes +>>>>>>>>>>>>>>>(486.l*2048) string !EFI\ PART +>>>>>>>>>>>>>>>>(486.l*1024) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes +>>>>>>>>>>>>>>>>(486.l*1024) string !EFI\ PART +>>>>>>>>>>>>>>>>>(486.l*512) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes +# GPT with protective MBR entry in partition 4 (only) +>>>>>>>>>450 ubyte !0xee +>>>>>>>>>>466 ubyte !0xee +>>>>>>>>>>>482 ubyte !0xee +>>>>>>>>>>>>498 ubyte 0xee +#>>>>>>>>>>>>>494 use gpt-mbr-partition +>>>>>>>>>>>>>(502.l*8192) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>0 ubyte x of 8192 bytes +>>>>>>>>>>>>>(502.l*8192) string !EFI\ PART +>>>>>>>>>>>>>>(502.l*4096) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>0 ubyte x of 4096 bytes +>>>>>>>>>>>>>>(502.l*4096) string !EFI\ PART +>>>>>>>>>>>>>>>(502.l*2048) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>0 ubyte x of 2048 bytes +>>>>>>>>>>>>>>>(502.l*2048) string !EFI\ PART +>>>>>>>>>>>>>>>>(502.l*1024) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>0 ubyte x of 1024 bytes +>>>>>>>>>>>>>>>>(502.l*1024) string !EFI\ PART +>>>>>>>>>>>>>>>>>(502.l*512) string EFI\ PART GPT partition table +>>>>>>>>>>>>>>>>>>0 use gpt-mbr-type +>>>>>>>>>>>>>>>>>>&-8 use gpt-table +>>>>>>>>>>>>>>>>>>0 ubyte x of 512 bytes + +# The following code does GPT detection and processing, including +# sector size detection. +# It has to be duplicated above because the top-level pattern +# (i.e. not called using 'use') must print *something* for file +# to count it as a match. Text only printed in named patterns is +# not counted, and causes file to continue, and try and match +# other patterns. +# +# Unfortunately, when assuming sector sizes >=16k, if the sector size +# happens to be 512 instead, we may find confusing data after the GPT +# table... If the GPT table has less than 128 entries, this may even +# happen for assumed sector sizes as small as 4k +# This could be solved by checking for the presence of the backup GPT +# header as well, but that makes the logic extremely complex +##0 name gpt-mbr-partition +##>(8.l*8192) string EFI\ PART +##>>(8.l*8192) use gpt-mbr-type +##>>&-8 use gpt-table +##>>0 ubyte x of 8192 bytes +##>(8.l*8192) string !EFI\ PART +##>>(8.l*4096) string EFI\ PART GPT partition table +##>>>0 use gpt-mbr-type +##>>>&-8 use gpt-table +##>>>0 ubyte x of 4096 bytes +##>>(8.l*4096) string !EFI\ PART +##>>>(8.l*2048) string EFI\ PART GPT partition table +##>>>>0 use gpt-mbr-type +##>>>>&-8 use gpt-table +##>>>>0 ubyte x of 2048 bytes +##>>>(8.l*2048) string !EFI\ PART +##>>>>(8.l*1024) string EFI\ PART GPT partition table +##>>>>>0 use gpt-mbr-type +##>>>>>&-8 use gpt-table +##>>>>>0 ubyte x of 1024 bytes +##>>>>(8.l*1024) string !EFI\ PART +##>>>>>(8.l*512) string EFI\ PART GPT partition table +##>>>>>>0 use gpt-mbr-type +##>>>>>>&-8 use gpt-table +##>>>>>>0 ubyte x of 512 bytes + +# Print details of MBR type for a GPT-disk +# Calling code ensures that there is only one 0xee partition. +0 name gpt-mbr-type +# GPT with protective MBR entry in partition 1 +>450 ubyte 0xee +>>454 ulelong 1 +>>>462 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) +>>454 ulelong !1 \b (nonstandard: not at LBA 1) +# GPT with protective MBR entry in partition 2 +>466 ubyte 0xee +>>470 ulelong 1 +>>>478 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 +>>>>446 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) +>>>478 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) +>>470 ulelong !1 \b (nonstandard: not at LBA 1) +# GPT with protective MBR entry in partition 3 +>482 ubyte 0xee +>>486 ulelong 1 +>>>494 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 +>>>>446 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) +>>>494 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) +>>486 ulelong !1 \b (nonstandard: not at LBA 1) +# GPT with protective MBR entry in partition 4 +>498 ubyte 0xee +>>502 ulelong 1 +>>>446 string !\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \b (with hybrid MBR) +>>502 ulelong !1 \b (nonstandard: not at LBA 1) + +# Print the information from a GPT partition table structure +0 name gpt-table +>10 uleshort x \b, version %u +>8 uleshort x \b.%u +# a GUID is just like a UUID, except it's displayed mixed-endian. +>56 ulelong x \b, GUID: %08x +>60 uleshort x \b-%04x +>62 uleshort x \b-%04x +>64 ubeshort x \b-%04x +>66 ubeshort x \b-%04x +>68 ubelong x \b%08x +#>80 uleshort x \b, %d partition entries +>32 ulequad+1 x \b, disk size: %lld sectors + +# In case a GPT data-structure is at LBA 0, report it as well +# This covers systems which are not GPT-aware, and which show +# and allow access to the protective partition. This code will +# detect the contents of such a partition. +0 string EFI\ PART GPT data structure (nonstandard: at LBA 0) +>0 use gpt-table +>0 ubyte x (sector size unknown) + + diff --git a/external/bsd/file/dist/magic/magdir/hitachi-sh b/external/bsd/file/dist/magic/magdir/hitachi-sh index 96067e9ba..213d2d69c 100644 --- a/external/bsd/file/dist/magic/magdir/hitachi-sh +++ b/external/bsd/file/dist/magic/magdir/hitachi-sh @@ -1,11 +1,14 @@ #------------------------------------------------------------------------------ -# $File: hitachi-sh,v 1.5 2009/09/19 16:28:09 christos Exp $ +# $File: hitachi-sh,v 1.6 2013/01/29 19:31:33 christos Exp $ # hitach-sh: file(1) magic for Hitachi Super-H # # Super-H COFF # +# below test line conflicts with 2nd NTFS filesystem sector 0 beshort 0x0500 Hitachi SH big-endian COFF +# 2nd NTFS filesystem sector often starts with 0x05004e00 for unicode string 5 NTLDR +#0 ubelong&0xFFFFNMPQ 0x0500NMPQ Hitachi SH big-endian COFF >18 beshort&0x0002 =0x0000 object >18 beshort&0x0002 =0x0002 executable >18 beshort&0x0008 =0x0008 \b, stripped diff --git a/external/bsd/file/dist/magic/magdir/ibm6000 b/external/bsd/file/dist/magic/magdir/ibm6000 index 72755fafc..df2749148 100644 --- a/external/bsd/file/dist/magic/magdir/ibm6000 +++ b/external/bsd/file/dist/magic/magdir/ibm6000 @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: ibm6000,v 1.9 2009/09/19 16:28:09 christos Exp $ +# $File: ibm6000,v 1.11 2013/01/08 20:13:01 christos Exp $ # ibm6000: file(1) magic for RS/6000 and the RT PC. # 0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module @@ -18,3 +18,11 @@ 0 string \ archive 0 string \ archive (big format) +0 beshort 0x01f7 64-bit XCOFF executable or object module +>20 belong 0 not stripped +4 belong &0x0feeddb0 AIX core file +>1 byte &0x01 fulldump +>7 byte &0x01 32-bit +>>0x6e0 string >\0 \b, %s +>7 byte &0x02 64-bit +>>0x524 string >\0 \b, %s diff --git a/external/bsd/file/dist/magic/magdir/icc b/external/bsd/file/dist/magic/magdir/icc new file mode 100644 index 000000000..37fa30e8c --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/icc @@ -0,0 +1,51 @@ + +#------------------------------------------------------------------------------ +# $File: icc,v 1.1 2013/01/08 01:43:18 christos Exp $ +# icc: file(1) magic for International Color Consortium file formats + +# +# Color profiles as per the ICC's "Image technology colour management - +# Architecture, profile format, and data structure" specification. +# See +# +# http://www.color.org/specification/ICC1v43_2010-12.pdf +# +# for Specification ICC.1:2010 (Profile version 4.3.0.0). +# +# Bytes 36 to 39 contain a generic profile file signature of "acsp"; +# bytes 40 to 43 "may be used to identify the primary platform/operating +# system framework for which the profile was created". +# +# There are other fields that might be worth dumping as well. +# + +# This appears to be what's used for Apple ColorSync profiles. +# Instead of adding that, Apple just changed the generic "acsp" entry +# to be for "ColorSync ICC Color Profile" rather than "Kodak Color +# Management System, ICC Profile". +# Yes, it's "APPL", not "AAPL"; see the spec. +36 string acspAPPL ColorSync ICC Profile +!:mime application/vnd.iccprofile + +# Microsoft ICM color profile +36 string acspMSFT Microsoft ICM Color Profile +!:mime application/vnd.iccprofile + +# Yes, that's a blank after "SGI". +36 string acspSGI\ SGI ICC Profile +!:mime application/vnd.iccprofile + +# XXX - is this what's used for the Sun KCMS or not? The standard file +# uses just "acsp" for that, but Apple's file uses it for "ColorSync", +# and there *is* an identified "primary platform" value of SUNW. +36 string acspSUNW Sun KCMS ICC Profile +!:mime application/vnd.iccprofile + +# Any other profile. +# XXX - should we use "acsp\0\0\0\0" for "no primary platform" profiles, +# and use "acsp" for everything else and dump the "primary platform" +# string in those cases? +36 string acsp ICC Profile +!:mime application/vnd.iccprofile + + diff --git a/external/bsd/file/dist/magic/magdir/images b/external/bsd/file/dist/magic/magdir/images index 1d4a0232a..2235df1bf 100644 --- a/external/bsd/file/dist/magic/magdir/images +++ b/external/bsd/file/dist/magic/magdir/images @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: images,v 1.72 2011/12/08 12:12:46 rrt Exp $ +# $File: images,v 1.81 2013/03/09 22:36:00 christos Exp $ # images: file(1) magic for image formats (see also "iff", and "c-lang" for # XPM bitmaps) # @@ -32,17 +32,42 @@ # PBMPLUS images # The next byte following the magic is always whitespace. -0 search/1 P1 Netpbm PBM image text +# strength is changed to try these patterns before "x86 boot sector" +0 search/1 P1 +>3 regex =[0-9]*\ [0-9]* Netpbm PBM image text +>3 regex =[0-9]+\ \b, size = %sx +>>3 regex =\ [0-9]+ \b%s +!:strength + 45 !:mime image/x-portable-bitmap -0 search/1b P2 Netpbm PGM image text +0 search/1 P2 +>3 regex =[0-9]*\ [0-9]* Netpbm PGM image text +>3 regex =[0-9]+\ \b, size = %sx +>>3 regex =\ [0-9]+ \b%s +!:strength + 45 !:mime image/x-portable-greymap 0 search/1 P3 Netpbm PPM image text +>3 regex =[0-9]*\ [0-9]* Netpbm PPM image text +>3 regex =[0-9]+\ \b, size = %sx +>>3 regex =\ [0-9]+ \b%s +!:strength + 45 !:mime image/x-portable-pixmap -0 string P4 Netpbm PBM "rawbits" image data +0 string P4 +>3 regex =[0-9]*\ [0-9]* Netpbm PBM "rawbits" image data +>3 regex =[0-9]+\ \b, size = %sx +>>3 regex =\ [0-9]+ \b%s +!:strength + 45 !:mime image/x-portable-bitmap -0 string P5 Netpbm PGM "rawbits" image data +0 string P5 +>3 regex =[0-9]*\ [0-9]* Netpbm PGM "rawbits" image data +>3 regex =[0-9]+\ \b, size = %sx +>>3 regex =\ [0-9]+ \b%s +!:strength + 45 !:mime image/x-portable-greymap -0 string P6 Netpbm PPM "rawbits" image data +0 string P6 +>3 regex =[0-9]*\ [0-9]* Netpbm PPM "rawbits" image data +>3 regex =[0-9]+\ \b, size = %sx +>>3 regex =\ [0-9]+ \b%s +!:strength + 45 !:mime image/x-portable-pixmap 0 string P7 Netpbm PAM image file !:mime image/x-portable-pixmap @@ -203,6 +228,32 @@ # From: Herbert Rosmanith 0 string Sfff structured fax file +# From: Joerg Jenderek +# most files with the extension .EPA and some with .BMP +0 string \x11\x06 Award BIOS Logo, 136 x 84 +!:mime image/x-award-bioslogo +0 string \x11\x09 Award BIOS Logo, 136 x 126 +!:mime image/x-award-bioslogo +#0 string \x07\x1f BIOS Logo corrupted? +# http://www.blackfiveservices.co.uk/awbmtools.shtml +# http://biosgfx.narod.ru/v3/ +# http://biosgfx.narod.ru/abr-2/ +0 string AWBM +>4 leshort <1981 Award BIOS bitmap +!:mime image/x-award-bmp +# image width is a multiple of 4 +>>4 leshort&0x0003 0 +>>>4 leshort x \b, %d +>>>6 leshort x x %d +>>4 leshort&0x0003 >0 \b, +>>>4 leshort&0x0003 =1 +>>>>4 leshort x %d+3 +>>>4 leshort&0x0003 =2 +>>>>4 leshort x %d+2 +>>>4 leshort&0x0003 =3 +>>>>4 leshort x %d+1 +>>>6 leshort x x %d +# at offset 8 starts imagedata followed by "RGB " marker # PC bitmaps (OS/2, Windows BMP files) (Greg Roelofs, newt@uchicago.edu) 0 string BM @@ -376,7 +427,7 @@ >5 byte 0x00 (white background) >5 byte 0xFF (black background) -# Gürkan Sengün , www.linuks.mine.nu +# Gurkan Sengun , www.linuks.mine.nu # http://www.atarimax.com/jindroush.atari.org/afmtatr.html 0 leshort 0x0296 Atari ATR image @@ -401,38 +452,39 @@ #>12 beshort 3 RP175 #>12 beshort 4 YUV -#------------------------------------------------------------------------------ -# -# Marco Schmidt (marcoschmidt@users.sourceforge.net) -- an image file format -# for the EPOC operating system, which is used with PDAs like those from Psion -# -# see http://huizen.dds.nl/~frodol/psiconv/html/Index.html for a description -# of various EPOC file formats - -0 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file - # PCX image files # From: Dan Fandrich -0 beshort 0x0a00 PCX ver. 2.5 image data -0 beshort 0x0a02 PCX ver. 2.8 image data, with palette -0 beshort 0x0a03 PCX ver. 2.8 image data, without palette -0 beshort 0x0a04 PCX for Windows image data -0 beshort 0x0a05 PCX ver. 3.0 image data ->4 leshort x bounding box [%hd, ->6 leshort x %hd] - ->8 leshort x [%hd, ->10 leshort x %hd], ->65 byte >1 %d planes each of ->3 byte x %hhd-bit ->68 byte 0 image, ->68 byte 1 colour, ->68 byte 2 grayscale, ->68 byte >2 image, ->68 byte <0 image, ->12 leshort >0 %hd x ->>14 leshort x %hd dpi, ->2 byte 0 uncompressed ->2 byte 1 RLE compressed +# updated by Joerg Jenderek at Feb 2013 by http://de.wikipedia.org/wiki/PCX +# http://web.archive.org/web/20100206055706/http://www.qzx.com/pc-gpe/pcx.txt +# GRR: original test was still too general as it catches xbase examples T5.DBT,T6.DBT with 0xa000000 +# test for bytes 0x0a,version byte (0,2,3,4,5),compression byte flag(0,1), bit depth (>0) of PCX or T5.DBT,T6.DBT +0 ubelong&0xffF8fe00 0x0a000000 +# for PCX bit depth > 0 +>3 ubyte >0 +# test for valid versions +>>1 ubyte <6 +>>>1 ubyte !1 PCX +!:mime image/x-pcx +#!:mime image/pcx +>>>>1 ubyte 0 ver. 2.5 image data +>>>>1 ubyte 2 ver. 2.8 image data, with palette +>>>>1 ubyte 3 ver. 2.8 image data, without palette +>>>>1 ubyte 4 for Windows image data +>>>>1 ubyte 5 ver. 3.0 image data +>>>>4 uleshort x bounding box [%hd, +>>>>6 uleshort x %d] - +>>>>8 uleshort x [%d, +>>>>10 uleshort x %d], +>>>>65 ubyte >1 %d planes each of +>>>>3 ubyte x %d-bit +>>>>68 byte 1 colour, +>>>>68 byte 2 grayscale, +# this should not happen +>>>>68 default x image, +>>>>12 leshort >0 %d x +>>>>>14 uleshort x %d dpi, +>>>>2 byte 0 uncompressed +>>>>2 byte 1 RLE compressed # Adobe Photoshop # From: Asbjoern Sloth Toennesen @@ -615,9 +667,61 @@ >12 string THUM DjVu page thumbnails !:mime image/vnd.djvu +# Originally by Marc Espie +# Modified by Robert Minsk +# http://www.openexr.com/openexrfilelayout.pdf +0 lelong 20000630 OpenEXR image data, +!:mime image/x-exr +>4 lelong&0x000000ff x version %d, +>4 lelong ^0x00000200 storage: scanline +>4 lelong &0x00000200 storage: tiled +>8 search/0x1000 compression\0 \b, compression: +>>&16 byte 0 none +>>&16 byte 1 rle +>>&16 byte 2 zips +>>&16 byte 3 zip +>>&16 byte 4 piz +>>&16 byte 5 pxr24 +>>&16 byte 6 b44 +>>&16 byte 7 b44a +>>&16 byte >7 unknown +>8 search/0x1000 dataWindow\0 \b, dataWindow: +>>&10 lelong x (%d +>>&14 lelong x %d)- +>>&18 lelong x \b(%d +>>&22 lelong x %d) +>8 search/0x1000 displayWindow\0 \b, displayWindow: +>>&10 lelong x (%d +>>&14 lelong x %d)- +>>&18 lelong x \b(%d +>>&22 lelong x %d) +>8 search/0x1000 lineOrder\0 \b, lineOrder: +>>&14 byte 0 increasing y +>>&14 byte 1 decreasing y +>>&14 byte 2 random y +>>&14 byte >2 unknown -# From Marc Espie -0 lelong 20000630 OpenEXR image data +# SMPTE Digital Picture Exchange Format, SMPTE DPX +# +# ANSI/SMPTE 268M-1994, SMPTE Standard for File Format for Digital +# Moving-Picture Exchange (DPX), v1.0, 18 February 1994 +# Robert Minsk +0 string SDPX DPX image data, big-endian, +!:mime image/x-dpx +>768 beshort <4 +>>772 belong x %dx +>>776 belong x \b%d, +>768 beshort >3 +>>776 belong x %dx +>>772 belong x \b%d, +>768 beshort 0 left to right/top to bottom +>768 beshort 1 right to left/top to bottom +>768 beshort 2 left to right/bottom to top +>768 beshort 3 right to left/bottom to top +>768 beshort 4 top to bottom/left to right +>768 beshort 5 top to bottom/right to left +>768 leshort 6 bottom to top/left to right +>768 leshort 7 bottom to top/right to left # From: Tom Hilinski # http://www.unidata.ucar.edu/packages/netcdf/ @@ -665,9 +769,10 @@ # From Tano M Fotang 0 string \xff\xa0\xff\xa8\x00 Wavelet Scalar Quantization image data -# JPEG 2000 Code Stream Bitmap -# From Petr Splichal -0 string \xFF\x4F\xFF\x51\x00 JPEG-2000 Code Stream Bitmap data +# Polar Monitor Bitmap (.pmb) used as logo for Polar Electro watches +# From: Markus Heidelberg +0 string/t [BitmapInfo2] Polar Monitor Bitmap text +!:mime image/x-polar-monitor-bitmap # From: Rick Richardson 0 string GARMIN\ BITMAP\ 01 Garmin Bitmap file diff --git a/external/bsd/file/dist/magic/magdir/intel b/external/bsd/file/dist/magic/magdir/intel index 47812a0ea..c3657f053 100644 --- a/external/bsd/file/dist/magic/magdir/intel +++ b/external/bsd/file/dist/magic/magdir/intel @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: intel,v 1.10 2011/03/30 19:51:00 christos Exp $ +# $File: intel,v 1.11 2013/02/06 14:18:52 christos Exp $ # intel: file(1) magic for x86 Unix # # Various flavors of x86 UNIX executable/object (other than Xenix, which @@ -37,7 +37,7 @@ # rom: file(1) magic for BIOS ROM Extensions found in intel machines # mapped into memory between 0xC0000 and 0xFFFFF -# From Gürkan Sengün , www.linuks.mine.nu +# From Gurkan Sengun , www.linuks.mine.nu 0 beshort 0x55AA BIOS (ia32) ROM Ext. >5 string USB USB >7 string LDR UNDI image diff --git a/external/bsd/file/dist/magic/magdir/java b/external/bsd/file/dist/magic/magdir/java index 0aca86a5e..f494f6126 100644 --- a/external/bsd/file/dist/magic/magdir/java +++ b/external/bsd/file/dist/magic/magdir/java @@ -1,6 +1,6 @@ #------------------------------------------------------------ -# $File: java,v 1.13 2011/12/08 12:12:46 rrt Exp $ +# $File: java,v 1.14 2013/02/08 16:54:45 christos Exp $ # Java ByteCode and Mach-O binaries (e.g., Mac OS X) use the # same magic number, 0xcafebabe, so they are both handled # in the entry called "cafebabe". @@ -27,3 +27,13 @@ # Java source 0 regex ^import.*;$ Java source !:mime text/x-java + +# http://android.stackexchange.com/questions/23357/\ +# is-there-a-way-to-look-inside-and-modify-an-adb-backup-created-file/\ +# 23608#23608 +0 string ANDROID\040BACKUP\n Android Backup +>15 string 1\n \b, version 1 +>17 string 0\n \b, uncompressed +>17 string 1\n \b, compressed +>19 string none\n \b, unencrypted +>19 string AES-256\n \b, encrypted AES-256 diff --git a/external/bsd/file/dist/magic/magdir/javascript b/external/bsd/file/dist/magic/magdir/javascript new file mode 100644 index 000000000..8f664533a --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/javascript @@ -0,0 +1,17 @@ + +#------------------------------------------------------------------------------ +# $File: javascript,v 1.1 2012/06/16 13:30:36 christos Exp $ +# javascript: magic for javascript and node.js scripts. +# +0 search/1/w #!/bin/node Node.js script text executable +!:mime application/javascript +0 search/1/w #!/usr/bin/node Node.js script text executable +!:mime application/javascript +0 search/1/w #!/bin/nodejs Node.js script text executable +!:mime application/javascript +0 search/1/w #!/usr/bin/nodejs Node.js script text executable +!:mime application/javascript +0 search/1 #!/usr/bin/env\ node Node.js script text executable +!:mime application/javascript +0 search/1 #!/usr/bin/env\ nodejs Node.js script text executable +!:mime application/javascript diff --git a/external/bsd/file/dist/magic/magdir/jpeg b/external/bsd/file/dist/magic/magdir/jpeg index 7814245ad..bc8b34266 100644 --- a/external/bsd/file/dist/magic/magdir/jpeg +++ b/external/bsd/file/dist/magic/magdir/jpeg @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: jpeg,v 1.16 2011/01/04 19:29:32 rrt Exp $ +# $File: jpeg,v 1.19 2013/02/04 15:50:03 christos Exp $ # JPEG images # SunOS 5.5.1 had # @@ -12,7 +12,7 @@ 0 beshort 0xffd8 JPEG image data !:mime image/jpeg !:apple 8BIMJPEG -!:strength +1 +!:strength +2 >6 string JFIF \b, JFIF standard # The following added by Erik Rossen 1999-09-06 # in a vain attempt to add image size reporting for JFIF. Note that these @@ -153,7 +153,20 @@ 0 string hsi1 JPEG image data, HSI proprietary # From: David Santinoli -0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 image data +0 string \x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A JPEG 2000 +# From: Johan van der Knijff +# Added sub-entries for JP2, JPX, JPM and MJ2 formats; added mimetypes +# https://github.com/bitsgalore/jp2kMagic +# +# Now read value of 'Brand' field, which yields a few possibilities: +>20 string \x6a\x70\x32\x20 Part 1 (JP2) +!:mime image/jp2 +>20 string \x6a\x70\x78\x20 Part 2 (JPX) +!:mime image/jpx +>20 string \x6a\x70\x6d\x20 Part 6 (JPM) +!:mime image/jpm +>20 string \x6d\x6a\x70\x32 Part 3 (MJ2) +!:mime video/mj2 # Type: JPEG 2000 codesream # From: Mathieu Malaterre diff --git a/external/bsd/file/dist/magic/magdir/keepass b/external/bsd/file/dist/magic/magdir/keepass new file mode 100644 index 000000000..ba132d57d --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/keepass @@ -0,0 +1,20 @@ + +#------------------------------------------------------------------------------ +# $File: keepass,v 1.1 2012/12/24 22:14:56 christos Exp $ +# keepass: file(1) magic for KeePass file +# +# Keepass Password Safe: +# * original one: http://keepass.info/ +# * *nix port: http://www.keepassx.org/ +# * android port: http://code.google.com/p/keepassdroid/ + +0 lelong 0x9AA2D903 Keepass password database +>4 lelong 0xB54BFB65 1.x KDB +>>48 lelong >0 \b, %d groups +>>52 lelong >0 \b, %d entries +>>8 lelong&0x0f 1 \b, SHA-256 +>>8 lelong&0x0f 2 \b, AES +>>8 lelong&0x0f 4 \b, RC4 +>>8 lelong&0x0f 8 \b, Twofish +>>120 lelong >0 \b, %d key transformation rounds +>4 lelong 0xB54BFB67 2.x KDBX diff --git a/external/bsd/file/dist/magic/magdir/linux b/external/bsd/file/dist/magic/magdir/linux index 8d4c60adf..1b03e2517 100644 --- a/external/bsd/file/dist/magic/magdir/linux +++ b/external/bsd/file/dist/magic/magdir/linux @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: linux,v 1.42 2012/02/07 21:35:03 christos Exp $ +# $File: linux,v 1.47 2013/02/06 14:18:52 christos Exp $ # linux: file(1) magic for Linux files # # Values for Linux/i386 binaries, from Daniel Quinlan @@ -36,6 +36,8 @@ >28 long !0 not stripped 0 string \01\03\040\20 Minix-386 executable >28 long !0 not stripped +0 string \01\03\04\20 Minix-386 NSYM/GNU executable +>28 long !0 not stripped # core dump file, from Bill Reynolds 216 lelong 0421 Linux/i386 core file >220 string >\0 of '%s' @@ -88,13 +90,15 @@ # From Daniel Novotny # swap file for PowerPC 65526 string SWAPSPACE2 Linux/ppc swap file +16374 string SWAPSPACE2 Linux/ia64 swap file # # Linux kernel boot images, from Albert Cahalan # and others such as Axel Kohlmeyer -# and Nicolás Lichtmaier +# and Nicolas Lichtmaier # All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29 # Linux kernel boot images (i386 arch) (Wolfram Kleff) 514 string HdrS Linux kernel +!:strength + 5 >510 leshort 0xAA55 x86 boot executable >>518 leshort >0x1ff >>>529 byte 0 zImage, @@ -114,10 +118,10 @@ >0x1e3 string Loading version 1.3.79 or older >0x1e9 string Loading from prehistoric times -# System.map files - Nicolás Lichtmaier +# System.map files - Nicolas Lichtmaier 8 search/1 \ A\ _text Linux kernel symbol map text -# LSM entries - Nicolás Lichtmaier +# LSM entries - Nicolas Lichtmaier 0 search/1 Begin3 Linux Software Map entry text 0 search/1 Begin4 Linux Software Map entry text (new format) @@ -213,9 +217,11 @@ # 0 lelong&0xFF00FFFF 0x17000301 ld86 SPARC executable # SYSLINUX boot logo files (from 'ppmtolss16' sources) -# http://syslinux.zytor.com/ -# +# http://www.syslinux.org/wiki/index.php/SYSLINUX#Display_graphic_from_filename: +# file extension .lss .16 0 lelong =0x1413f33d SYSLINUX' LSS16 image data +# syslinux-4.05/mime/image/x-lss16.xml +!:mime image/x-lss16 >4 leshort x \b, width %d >6 leshort x \b, height %d diff --git a/external/bsd/file/dist/magic/magdir/llvm b/external/bsd/file/dist/magic/magdir/llvm index 44a400940..1f15eac7b 100644 --- a/external/bsd/file/dist/magic/magdir/llvm +++ b/external/bsd/file/dist/magic/magdir/llvm @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: llvm,v 1.5 2010/09/20 18:55:20 rrt Exp $ +# $File: llvm,v 1.8 2013/01/12 03:09:51 christos Exp $ # llvm: file(1) magic for LLVM byte-codes # URL: http://llvm.org/docs/BitCodeFormat.html # From: Al Stone @@ -9,5 +9,13 @@ 0 string llvc0 LLVM byte-codes, null compression 0 string llvc1 LLVM byte-codes, gzip compression 0 string llvc2 LLVM byte-codes, bzip2 compression -0 string \xde\xc0\x17\x0b LLVM bitcode, wrapper -0 string BC\xc0\xde LLVM bitcode + +0 lelong 0x0b17c0de LLVM bitcode, wrapper +# Are these Mach-O ABI values? They appear to be. +>16 lelong 0x01000007 x86_64 +>16 lelong 0x00000007 i386 +>16 lelong 0x00000012 ppc +>16 lelong 0x01000012 ppc64 +>16 lelong 0x0000000c arm + +0 string BC\xc0\xde LLVM IR bitcode diff --git a/external/bsd/file/dist/magic/magdir/lua b/external/bsd/file/dist/magic/magdir/lua index 61e69a63b..4c578be60 100644 --- a/external/bsd/file/dist/magic/magdir/lua +++ b/external/bsd/file/dist/magic/magdir/lua @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: lua,v 1.5 2009/09/19 16:28:10 christos Exp $ +# $File: lua,v 1.6 2013/01/09 16:23:17 christos Exp $ # lua: file(1) magic for Lua scripting language # URL: http://www.lua.org/ # From: Reuben Thomas , Seo Sanghyeon @@ -19,3 +19,4 @@ 0 string \033Lua Lua bytecode, >4 byte 0x50 version 5.0 >4 byte 0x51 version 5.1 +>4 byte 0x52 version 5.2 diff --git a/external/bsd/file/dist/magic/magdir/mach b/external/bsd/file/dist/magic/magdir/mach index 8d03f1ae4..fccb17b7c 100644 --- a/external/bsd/file/dist/magic/magdir/mach +++ b/external/bsd/file/dist/magic/magdir/mach @@ -1,86 +1,214 @@ #------------------------------------------------------------ -# $File: mach,v 1.9 2009/09/19 16:28:10 christos Exp $ +# $File: mach,v 1.17 2013/03/07 02:22:52 christos Exp $ # Mach has two magic numbers, 0xcafebabe and 0xfeedface. # Unfortunately the first, cafebabe, is shared with # Java ByteCode, so they are both handled in the file "cafebabe". # The "feedface" ones are handled herein. #------------------------------------------------------------ -0 lelong&0xfffffffe 0xfeedface Mach-O ->0 byte 0xcf 64-bit ->12 lelong 1 object ->12 lelong 2 executable ->12 lelong 3 fixed virtual memory shared library ->12 lelong 4 core ->12 lelong 5 preload executable ->12 lelong 6 dynamically linked shared library ->12 lelong 7 dynamic linker ->12 lelong 8 bundle ->12 lelong 9 dynamically linked shared library stub ->12 lelong >9 ->>12 lelong x filetype=%ld ->4 lelong <0 ->>4 lelong x architecture=%ld ->4 lelong 1 vax ->4 lelong 2 romp ->4 lelong 3 architecture=3 ->4 lelong 4 ns32032 ->4 lelong 5 ns32332 ->4 lelong 6 m68k ->4 lelong 7 i386 ->4 lelong 8 mips ->4 lelong 9 ns32532 ->4 lelong 10 architecture=10 ->4 lelong 11 hppa ->4 lelong 12 acorn ->4 lelong 13 m88k ->4 lelong 14 sparc ->4 lelong 15 i860-big ->4 lelong 16 i860 ->4 lelong 17 rs6000 ->4 lelong 18 ppc ->4 lelong 16777234 ppc64 ->4 lelong >16777234 ->>4 lelong x architecture=%ld +# if set, it's for the 64-bit version of the architecture +# yes, this is separate from the low-order magic number bit +# it's also separate from the "64-bit libraries" bit in the +# upper 8 bits of the CPU subtype + +0 name mach-o-cpu +>0 belong&0x01000000 0 # -0 belong&0xfffffffe 0xfeedface Mach-O ->3 byte 0xcf 64-bit +# 32-bit ABIs. +# +# 1 vax +>>0 belong&0x00ffffff 1 +>>>4 belong&0x00ffffff 0 vax +>>>4 belong&0x00ffffff 1 vax11/780 +>>>4 belong&0x00ffffff 2 vax11/785 +>>>4 belong&0x00ffffff 3 vax11/750 +>>>4 belong&0x00ffffff 4 vax11/730 +>>>4 belong&0x00ffffff 5 uvaxI +>>>4 belong&0x00ffffff 6 uvaxII +>>>4 belong&0x00ffffff 7 vax8200 +>>>4 belong&0x00ffffff 8 vax8500 +>>>4 belong&0x00ffffff 9 vax8600 +>>>4 belong&0x00ffffff 10 vax8650 +>>>4 belong&0x00ffffff 11 vax8800 +>>>4 belong&0x00ffffff 12 uvaxIII +>>>4 belong&0x00ffffff >12 vax subarchitecture=%ld +>>0 belong&0x00ffffff 2 romp +>>0 belong&0x00ffffff 3 architecture=3 +>>0 belong&0x00ffffff 4 ns32032 +>>0 belong&0x00ffffff 5 ns32332 +>>0 belong&0x00ffffff 6 m68k +# 7 x86 +>>0 belong&0x00ffffff 7 +>>>4 belong&0x0000000f 3 i386 +>>>4 belong&0x0000000f 4 i486 +>>>>4 belong&0x00fffff0 0 +>>>>4 belong&0x00fffff0 0x80 \bsx +>>>4 belong&0x0000000f 5 i586 +>>>4 belong&0x0000000f 6 +>>>>4 belong&0x00fffff0 0 p6 +>>>>4 belong&0x00fffff0 0x10 pentium_pro +>>>>4 belong&0x00fffff0 0x20 pentium_2_m0x20 +>>>>4 belong&0x00fffff0 0x30 pentium_2_m3 +>>>>4 belong&0x00fffff0 0x40 pentium_2_m0x40 +>>>>4 belong&0x00fffff0 0x50 pentium_2_m5 +>>>>4 belong&0x00fffff0 >0x50 pentium_2_m0x%lx +>>>4 belong&0x0000000f 7 celeron +>>>>4 belong&0x00fffff0 0x00 \b_m0x%lx +>>>>4 belong&0x00fffff0 0x10 \b_m0x%lx +>>>>4 belong&0x00fffff0 0x20 \b_m0x%lx +>>>>4 belong&0x00fffff0 0x30 \b_m0x%lx +>>>>4 belong&0x00fffff0 0x40 \b_m0x%lx +>>>>4 belong&0x00fffff0 0x50 \b_m0x%lx +>>>>4 belong&0x00fffff0 0x60 +>>>>4 belong&0x00fffff0 0x70 \b_mobile +>>>>4 belong&0x00fffff0 >0x70 \b_m0x%lx +>>>4 belong&0x0000000f 8 pentium_3 +>>>>4 belong&0x00fffff0 0x00 +>>>>4 belong&0x00fffff0 0x10 \b_m +>>>>4 belong&0x00fffff0 0x20 \b_xeon +>>>>4 belong&0x00fffff0 >0x20 \b_m0x%lx +>>>4 belong&0x0000000f 9 pentiumM +>>>>4 belong&0x00fffff0 0x00 +>>>>4 belong&0x00fffff0 >0x00 \b_m0x%lx +>>>4 belong&0x0000000f 10 pentium_4 +>>>>4 belong&0x00fffff0 0x00 +>>>>4 belong&0x00fffff0 0x10 \b_m +>>>>4 belong&0x00fffff0 >0x10 \b_m0x%lx +>>>4 belong&0x0000000f 11 itanium +>>>>4 belong&0x00fffff0 0x00 +>>>>4 belong&0x00fffff0 0x10 \b_2 +>>>>4 belong&0x00fffff0 >0x10 \b_m0x%lx +>>>4 belong&0x0000000f 12 xeon +>>>>4 belong&0x00fffff0 0x00 +>>>>4 belong&0x00fffff0 0x10 \b_mp +>>>>4 belong&0x00fffff0 >0x10 \b_m0x%lx +>>>4 belong&0x0000000f >12 ia32 family=%ld +>>>>4 belong&0x00fffff0 0x00 +>>>>4 belong&0x00fffff0 >0x00 model=%lx +>>0 belong&0x00ffffff 8 mips +>>>4 belong&0x00ffffff 1 R2300 +>>>4 belong&0x00ffffff 2 R2600 +>>>4 belong&0x00ffffff 3 R2800 +>>>4 belong&0x00ffffff 4 R2000a +>>>4 belong&0x00ffffff 5 R2000 +>>>4 belong&0x00ffffff 6 R3000a +>>>4 belong&0x00ffffff 7 R3000 +>>>4 belong&0x00ffffff >7 subarchitecture=%ld +>>0 belong&0x00ffffff 9 ns32532 +>>0 belong&0x00ffffff 10 mc98000 +>>0 belong&0x00ffffff 11 hppa +>>>4 belong&0x00ffffff 0 7100 +>>>4 belong&0x00ffffff 1 7100LC +>>>4 belong&0x00ffffff >1 subarchitecture=%ld +>>0 belong&0x00ffffff 12 arm +>>>4 belong&0x00ffffff 0 +>>>4 belong&0x00ffffff 1 subarchitecture=%ld +>>>4 belong&0x00ffffff 2 subarchitecture=%ld +>>>4 belong&0x00ffffff 3 subarchitecture=%ld +>>>4 belong&0x00ffffff 4 subarchitecture=%ld +>>>4 belong&0x00ffffff 5 \b_v4t +>>>4 belong&0x00ffffff 6 \b_v6 +>>>4 belong&0x00ffffff 7 \b_v5tej +>>>4 belong&0x00ffffff 8 \b_xscale +>>>4 belong&0x00ffffff 9 \b_v7 +>>>4 belong&0x00ffffff 10 \b_v7f +>>>4 belong&0x00ffffff 11 subarchitecture=%ld +>>>4 belong&0x00ffffff 12 \b_v7k +>>>4 belong&0x00ffffff >12 subarchitecture=%ld +# 13 m88k +>>0 belong&0x00ffffff 13 +>>>4 belong&0x00ffffff 0 mc88000 +>>>4 belong&0x00ffffff 1 mc88100 +>>>4 belong&0x00ffffff 2 mc88110 +>>>4 belong&0x00ffffff >2 mc88000 subarchitecture=%ld +>>0 belong&0x00ffffff 14 sparc +>>0 belong&0x00ffffff 15 i860g +>>0 belong&0x00ffffff 16 alpha +>>0 belong&0x00ffffff 17 rs6000 +>>0 belong&0x00ffffff 18 ppc +>>>4 belong&0x00ffffff 0 +>>>4 belong&0x00ffffff 1 \b_601 +>>>4 belong&0x00ffffff 2 \b_602 +>>>4 belong&0x00ffffff 3 \b_603 +>>>4 belong&0x00ffffff 4 \b_603e +>>>4 belong&0x00ffffff 5 \b_603ev +>>>4 belong&0x00ffffff 6 \b_604 +>>>4 belong&0x00ffffff 7 \b_604e +>>>4 belong&0x00ffffff 8 \b_620 +>>>4 belong&0x00ffffff 9 \b_650 +>>>4 belong&0x00ffffff 10 \b_7400 +>>>4 belong&0x00ffffff 11 \b_7450 +>>>4 belong&0x00ffffff 100 \b_970 +>>>4 belong&0x00ffffff >100 subarchitecture=%ld +>>0 belong&0x00ffffff >18 architecture=%ld +>0 belong&0x01000000 0x01000000 +# +# 64-bit ABIs. +# +>>0 belong&0x00ffffff 0 64-bit architecture=%ld +>>0 belong&0x00ffffff 1 64-bit architecture=%ld +>>0 belong&0x00ffffff 2 64-bit architecture=%ld +>>0 belong&0x00ffffff 3 64-bit architecture=%ld +>>0 belong&0x00ffffff 4 64-bit architecture=%ld +>>0 belong&0x00ffffff 5 64-bit architecture=%ld +>>0 belong&0x00ffffff 6 64-bit architecture=%ld +>>0 belong&0x00ffffff 7 x86_64 +>>>4 belong&0x00ffffff 0 subarchitecture=%ld +>>>4 belong&0x00ffffff 1 subarchitecture=%ld +>>>4 belong&0x00ffffff 2 subarchitecture=%ld +>>>4 belong&0x00ffffff 3 +>>>4 belong&0x00ffffff 4 \b_arch1 +>>>4 belong&0x00ffffff >4 subarchitecture=%ld +>>0 belong&0x00ffffff 8 64-bit architecture=%ld +>>0 belong&0x00ffffff 9 64-bit architecture=%ld +>>0 belong&0x00ffffff 10 64-bit architecture=%ld +>>0 belong&0x00ffffff 11 64-bit architecture=%ld +>>0 belong&0x00ffffff 12 64-bit architecture=%ld +>>0 belong&0x00ffffff 13 64-bit architecture=%ld +>>0 belong&0x00ffffff 14 64-bit architecture=%ld +>>0 belong&0x00ffffff 15 64-bit architecture=%ld +>>0 belong&0x00ffffff 16 64-bit architecture=%ld +>>0 belong&0x00ffffff 17 64-bit architecture=%ld +>>0 belong&0x00ffffff 18 ppc64 +>>>4 belong&0x00ffffff 0 +>>>4 belong&0x00ffffff 1 \b_601 +>>>4 belong&0x00ffffff 2 \b_602 +>>>4 belong&0x00ffffff 3 \b_603 +>>>4 belong&0x00ffffff 4 \b_603e +>>>4 belong&0x00ffffff 5 \b_603ev +>>>4 belong&0x00ffffff 6 \b_604 +>>>4 belong&0x00ffffff 7 \b_604e +>>>4 belong&0x00ffffff 8 \b_620 +>>>4 belong&0x00ffffff 9 \b_650 +>>>4 belong&0x00ffffff 10 \b_7400 +>>>4 belong&0x00ffffff 11 \b_7450 +>>>4 belong&0x00ffffff 100 \b_970 +>>>4 belong&0x00ffffff >100 subarchitecture=%ld +>>0 belong&0x00ffffff >18 64-bit architecture=%ld + + +0 name mach-o-be +>0 byte 0xcf 64-bit +>4 use mach-o-cpu >12 belong 1 object >12 belong 2 executable >12 belong 3 fixed virtual memory shared library >12 belong 4 core >12 belong 5 preload executable ->12 belong 6 dynamically linked shared library ->12 belong 7 dynamic linker +>12 belong 6 dynamically linked shared library +>12 belong 7 dynamic linker >12 belong 8 bundle >12 belong 9 dynamically linked shared library stub ->12 belong >9 +>12 belong 10 dSYM companion file +>12 belong 11 kext bundle +>12 belong >11 >>12 belong x filetype=%ld ->4 belong <0 ->>4 belong x architecture=%ld ->4 belong 1 vax ->4 belong 2 romp ->4 belong 3 architecture=3 ->4 belong 4 ns32032 ->4 belong 5 ns32332 ->4 belong 6 for m68k architecture -# from NeXTstep 3.0 -# i.e. mc680x0_all, ignore -# >>8 belong 1 (mc68030) ->>8 belong 2 (mc68040) ->>8 belong 3 (mc68030 only) ->4 belong 7 i386 ->4 belong 8 mips ->4 belong 9 ns32532 ->4 belong 10 architecture=10 ->4 belong 11 hppa ->4 belong 12 acorn ->4 belong 13 m88k ->4 belong 14 sparc ->4 belong 15 i860-big ->4 belong 16 i860 ->4 belong 17 rs6000 ->4 belong 18 ppc ->4 belong 16777234 ppc64 ->4 belong >16777234 ->>4 belong x architecture=%ld + +# +0 lelong&0xfffffffe 0xfeedface Mach-O +!:strength +1 +>0 use \^mach-o-be + +0 belong&0xfffffffe 0xfeedface Mach-O +!:strength +1 +>0 use mach-o-be diff --git a/external/bsd/file/dist/magic/magdir/macos b/external/bsd/file/dist/magic/magdir/macos new file mode 100644 index 000000000..0bacc13a4 --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/macos @@ -0,0 +1,7 @@ + +#------------------------------------------------------------------------------ +# $File: macos,v 1.1 2012/12/21 16:41:07 christos Exp $ +# MacOS files +# + +0 string book\0\0\0\0mark\0\0\0\0 MacOS Alias file diff --git a/external/bsd/file/dist/magic/magdir/mail.news b/external/bsd/file/dist/magic/magdir/mail.news index f4bb1f55e..7a8123af1 100644 --- a/external/bsd/file/dist/magic/magdir/mail.news +++ b/external/bsd/file/dist/magic/magdir/mail.news @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# $File: mail.news,v 1.20 2011/12/08 12:12:46 rrt Exp $ +# $File: mail.news,v 1.22 2013/01/04 14:22:07 christos Exp $ # mail.news: file(1) magic for mail and news # # Unfortunately, saved netnews also has From line added in some news software. @@ -14,9 +14,9 @@ !:mime message/rfc822 0 string/t Pipe\ to mail piping text !:mime message/rfc822 -0 string/t Delivered-To: SMTP mail text +0 string/tc delivered-to: SMTP mail text !:mime message/rfc822 -0 string/t Return-Path: SMTP mail text +0 string/tc return-path: SMTP mail text !:mime message/rfc822 0 string/t Path: news text !:mime message/news @@ -34,6 +34,7 @@ # TNEF files... 0 lelong 0x223E9F78 Transport Neutral Encapsulation Format +!:mime application/vnd.ms-tnef # From: Kevin Sullivan 0 string *mbx* MBX mail folder diff --git a/external/bsd/file/dist/magic/magdir/maple b/external/bsd/file/dist/magic/magdir/maple index 4a263e084..05a8eaf29 100644 --- a/external/bsd/file/dist/magic/magdir/maple +++ b/external/bsd/file/dist/magic/magdir/maple @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: maple,v 1.6 2009/09/19 16:28:10 christos Exp $ +# $File: maple,v 1.7 2013/01/11 16:45:23 christos Exp $ # maple: file(1) magic for maple files # "H. Nanosecond" # Maple V release 4, a multi-purpose math program @@ -33,7 +33,7 @@ # that is {VERSION major_version miunor_version computer_type version_string} 0 string {VERSION\ Maple worksheet >9 string >\0 version %.1s. ->>>11 string >\0 %.1s +>>11 string >\0 %.1s # .mps 0 string \0\0\001$ Maple something diff --git a/external/bsd/file/dist/magic/magdir/matroska b/external/bsd/file/dist/magic/magdir/matroska index 62299d21f..0c0e29985 100644 --- a/external/bsd/file/dist/magic/magdir/matroska +++ b/external/bsd/file/dist/magic/magdir/matroska @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: matroska,v 1.6 2010/09/20 21:11:35 rrt Exp $ +# $File: matroska,v 1.8 2013/02/08 17:25:16 christos Exp $ # matroska: file(1) magic for Matroska files # # See http://www.matroska.org/ @@ -9,15 +9,9 @@ # EBML id: 0 belong 0x1a45dfa3 # DocType id: ->5 beshort 0x4282 +>4 search/4096 \x42\x82 # DocType contents: ->>8 string matroska Matroska data -!:mime video/x-matroska - -# EBML id: -0 belong 0x1a45dfa3 -# DocType id: ->0 search/4096 \x42\x82 -# DocType contents: ->>&1 string webm WebM +>>&1 string webm WebM !:mime video/webm +>>&1 string matroska Matroska data +!:mime video/x-matroska diff --git a/external/bsd/file/dist/magic/magdir/mips b/external/bsd/file/dist/magic/magdir/mips index b49fecd24..8ed3567b2 100644 --- a/external/bsd/file/dist/magic/magdir/mips +++ b/external/bsd/file/dist/magic/magdir/mips @@ -1,32 +1,8 @@ #------------------------------------------------------------------------------ -# $File: mips,v 1.7 2011/05/03 01:44:17 christos Exp $ -# mips: file(1) magic for Silicon Graphics (MIPS, IRIS, IRIX, etc.) -# Dec Ultrix (MIPS) -# all of SGI's *current* machines and OSes run in big-endian mode on the -# MIPS machines, as far as I know. -# -# XXX - what is the blank "-" line? -# -# kbd file definitions -0 string kbd!map kbd map file ->8 byte >0 Ver %d: ->10 short >0 with %d table(s) -0 belong 0407 old SGI 68020 executable -0 belong 0410 old SGI 68020 pure executable -0 beshort 0x8765 disk quotas file -0 beshort 0x0506 IRIS Showcase file ->2 byte 0x49 - ->3 byte x - version %ld -0 beshort 0x0226 IRIS Showcase template ->2 byte 0x63 - ->3 byte x - version %ld -0 belong 0x5343464d IRIS Showcase file ->4 byte x - version %ld -0 belong 0x5443464d IRIS Showcase template ->4 byte x - version %ld -0 belong 0xdeadbabe IRIX Parallel Arena ->8 belong >0 - version %ld +# $File: mips,v 1.9 2013/01/12 03:09:51 christos Exp $ +# mips: file(1) magic for MIPS ECOFF and Ucode, as used in SGI IRIX +# and DEC Ultrix # 0 beshort 0x0160 MIPSEB ECOFF executable >20 beshort 0407 (impure) @@ -142,41 +118,3 @@ # 0 beshort 0x180 MIPSEB Ucode 0 beshort 0x182 MIPSEL-BE Ucode -# 32bit core file -0 belong 0xdeadadb0 IRIX core dump ->4 belong 1 of ->16 string >\0 '%s' -# 64bit core file -0 belong 0xdeadad40 IRIX 64-bit core dump ->4 belong 1 of ->16 string >\0 '%s' -# N32bit core file -0 belong 0xbabec0bb IRIX N32 core dump ->4 belong 1 of ->16 string >\0 '%s' -# New style crash dump file -0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of ->36 string >\0 '%s' -# Trusted IRIX info -0 string SGIAUDIT SGI Audit file ->8 byte x - version %d ->9 byte x \b.%ld -# -0 string WNGZWZSC Wingz compiled script -0 string WNGZWZSS Wingz spreadsheet -0 string WNGZWZHP Wingz help file -# -0 string #Inventor V IRIS Inventor 1.0 file -0 string #Inventor V2 Open Inventor 2.0 file -# GLF is OpenGL stream encoding -0 string glfHeadMagic(); GLF_TEXT -4 belong 0x7d000000 GLF_BINARY_LSB_FIRST -!:strength -30 -4 belong 0x0000007d GLF_BINARY_MSB_FIRST -!:strength -30 -# GLS is OpenGL stream encoding; GLS is the successor of GLF -0 string glsBeginGLS( GLS_TEXT -4 belong 0x10000000 GLS_BINARY_LSB_FIRST -!:strength -30 -4 belong 0x00000010 GLS_BINARY_MSB_FIRST -!:strength -30 diff --git a/external/bsd/file/dist/magic/magdir/misctools b/external/bsd/file/dist/magic/magdir/misctools index 394706564..06bd7b78a 100644 --- a/external/bsd/file/dist/magic/magdir/misctools +++ b/external/bsd/file/dist/magic/magdir/misctools @@ -1,6 +1,6 @@ #----------------------------------------------------------------------------- -# $File: misctools,v 1.12 2010/09/29 18:36:49 rrt Exp $ +# $File: misctools,v 1.13 2013/01/16 13:53:10 christos Exp $ # misctools: file(1) magic for miscellaneous UNIX tools. # 0 search/1 %%!! X-Post-It-Note text @@ -9,16 +9,6 @@ 0 string/c BEGIN:VCARD vCard visiting card !:mime text/x-vcard -# From: Alex Beregszaszi -4 string gtktalog GNOME Catalogue (gtktalog) ->13 string >\0 version %s - -# Summary: GStreamer binary registry -# Extension: .bin -# Submitted by: Josh Triplett -0 belong 0xc0def00d GStreamer binary registry ->4 string x \b, version %s - # Summary: Libtool library file # Extension: .la # Submitted by: Tomasz Trojanowski diff --git a/external/bsd/file/dist/magic/magdir/msdos b/external/bsd/file/dist/magic/magdir/msdos index fe505e83f..24415fae0 100644 --- a/external/bsd/file/dist/magic/magdir/msdos +++ b/external/bsd/file/dist/magic/magdir/msdos @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: msdos,v 1.77 2011/12/07 22:05:05 christos Exp $ +# $File: msdos,v 1.85 2013/03/09 22:36:00 christos Exp $ # msdos: file(1) magic for MS-DOS files # @@ -83,6 +83,7 @@ >>>(0x3c.l+4) leshort 0x1a6 Hitachi SH4 >>>(0x3c.l+4) leshort 0x1c0 ARM >>>(0x3c.l+4) leshort 0x1c2 ARM Thumb +>>>(0x3c.l+4) leshort 0x1c4 ARMv7 Thumb >>>(0x3c.l+4) leshort 0x1f0 PowerPC >>>(0x3c.l+4) leshort 0x200 Intel Itanium >>>(0x3c.l+4) leshort 0x266 MIPS16 @@ -312,7 +313,7 @@ >5 ubyte >0 >>8 string x \b, name=%-.2s 0 string \xffKEYB\ \ \ \0\0\0\0 ->12 string \0\0\0\0`\360 MS-DOS KEYBoard Layout file +>12 string \0\0\0\0`\004\360 MS-DOS KEYBoard Layout file # .COM formats (Daniel Quinlan, quinlan@yggdrasil.com) # Uncommenting only the first two lines will cover about 2/3 of COM files, @@ -498,11 +499,18 @@ !:mime application/msword 0 string/b \333\245-\0\0\0 Microsoft Office Document !:mime application/msword -512 string/b \354\245\301 Microsoft Word Document +512 string/b \354\245\301 Microsoft Word Document !:mime application/msword + +# +0 string/b \xDB\xA5\x2D\x00 Microsoft WinWord 2.0 Document +!:mime application/msword # 2080 string Microsoft\ Excel\ 5.0\ Worksheet %s !:mime application/vnd.ms-excel +# +0 string/b \xDB\xA5\x2D\x00 Microsoft WinWord 2.0 Document +!:mime application/msword 2080 string Foglio\ di\ lavoro\ Microsoft\ Exce %s !:mime application/vnd.ms-excel @@ -637,16 +645,8 @@ 0 lelong 0x08086b70 TurboC BGI file 0 lelong 0x08084b50 TurboC Font file -# WARNING: below line conflicts with Infocom game data Z-machine 3 -0 byte 0x03 ->0x02 byte <0x13 DBase 3 data file ->>0x04 lelong 0 (no records) ->>0x04 lelong >0 (%ld records) -0 byte 0x83 ->0x02 byte <0x13 DBase 3 data file with memo(s) ->>0x04 lelong 0 (no records) ->>0x04 lelong >0 (%ld records) -0 leshort 0x0006 DBase 3 index file +# tests for DBase files moved, updated and merged to database + 0 string PMCC Windows 3.x .GRP file 1 string RDC-meg MegaDots >8 byte >0x2F version %c @@ -702,6 +702,15 @@ 0 leshort 0x223e9f78 TNEF !:mime application/vnd.ms-tnef +# 4DOS help (.HLP) files added by Joerg Jenderek from source TPHELP.PAS +# of http://www.4dos.info/ +# pointer,HelpID[8]=4DHnnnmm +0 ulelong 0x48443408 4DOS help file +>4 string x \b, version %-4.4s + +# old binary Microsoft (.HLP) files added by Joerg Jenderek from http://file-extension.net/seeker/file_extension_hlp +0 ulequad 0x3a000000024e4c MS Advisor help file + # HtmlHelp files (.chm) 0 string/b ITSF\003\000\000\000\x60\000\000\000\001\000\000\000 MS Windows HtmlHelp Data @@ -815,6 +824,16 @@ 0 string/b QEVM QEMU suspend to disk image +# QEMU QED Image +# http://wiki.qemu.org/Features/QED/Specification +0 string/b QED\0 QEMU QED Image + +# VDI Image +64 string/b \x7f\x10\xda\xbe VDI Image +>68 string/b \x01\x00\x01\x00 version 1.1 +>0 string >\0 (%s) +>368 lequad x \b, %lld bytes + 0 string/b Bochs\ Virtual\ HD\ Image Bochs disk image, >32 string x type %s, >48 string x subtype %s @@ -874,3 +893,15 @@ # Windows Imaging (WIM) Image 0 string/b MSWIM\000\000\000 Windows imaging (WIM) image + +# The second byte of these signatures is a file version; I don't know what, +# if anything, produced files with version numbers 0-2. +# From: John Elliott +0 string \xfc\x03\x00 Mallard BASIC program data (v1.11) +0 string \xfc\x04\x00 Mallard BASIC program data (v1.29+) +0 string \xfc\x03\x01 Mallard BASIC protected program data (v1.11) +0 string \xfc\x04\x01 Mallard BASIC protected program data (v1.29+) + +0 string MIOPEN Mallard BASIC Jetsam data +0 string Jetsam0 Mallard BASIC Jetsam index data + diff --git a/external/bsd/file/dist/magic/magdir/msooxml b/external/bsd/file/dist/magic/magdir/msooxml index 6ccebf641..c62764457 100644 --- a/external/bsd/file/dist/magic/magdir/msooxml +++ b/external/bsd/file/dist/magic/magdir/msooxml @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: msooxml,v 1.1 2011/01/25 18:36:19 christos Exp $ +# $File: msooxml,v 1.2 2013/01/25 23:04:37 christos Exp $ # msooxml: file(1) magic for Microsoft Office XML # From: Ralf Brown @@ -23,11 +23,13 @@ >>>&26 search/1000 PK\003\004 # and check the subdirectory name to determine which type of OOXML # file we have +# Correct the mimetype with the registered ones: +# http://technet.microsoft.com/en-us/library/cc179224.aspx >>>>&26 string word/ Microsoft Word 2007+ -!:mime application/msword +!:mime application/vnd.openxmlformats-officedocument.wordprocessingml.document >>>>&26 string ppt/ Microsoft PowerPoint 2007+ -!:mime application/vnd.ms-powerpoint +!:mime application/vnd.openxmlformats-officedocument.presentationml.presentation >>>>&26 string xl/ Microsoft Excel 2007+ -!:mime application/vnd.ms-excel +!:mime application/vnd.openxmlformats-officedocument.spreadsheetml.sheet >>>>&26 default x Microsoft OOXML !:strength +10 diff --git a/external/bsd/file/dist/magic/magdir/natinst b/external/bsd/file/dist/magic/magdir/natinst index 7c3198012..0a936c576 100644 --- a/external/bsd/file/dist/magic/magdir/natinst +++ b/external/bsd/file/dist/magic/magdir/natinst @@ -1,10 +1,10 @@ #----------------------------------------------------------------------------- -# $File: natinst,v 1.4 2009/09/19 16:28:11 christos Exp $ +# $File: natinst,v 1.5 2013/02/06 14:18:52 christos Exp $ # natinst: file(1) magic for National Instruments Code Files # -# From Enrique Gámez-Flores +# From Enrique Gamez-Flores # version 1 # Many formats still missing, we use, for the moment LabVIEW # We guess VXI format file. VISA, LabWindowsCVI, BridgeVIEW, etc, are missing diff --git a/external/bsd/file/dist/magic/magdir/netbsd b/external/bsd/file/dist/magic/magdir/netbsd index 927acedf3..fd0eed303 100644 --- a/external/bsd/file/dist/magic/magdir/netbsd +++ b/external/bsd/file/dist/magic/magdir/netbsd @@ -1,16 +1,14 @@ #------------------------------------------------------------------------------ -# $File: netbsd,v 1.19 2011/10/31 17:23:34 christos Exp $ +# $File: netbsd,v 1.20 2013/01/09 22:37:24 christos Exp $ # netbsd: file(1) magic for NetBSD objects # # All new-style magic numbers are in network byte order. +# The old-style magic numbers are indistinguishable from the same magic +# numbers used in other systems, and are handled, for all those systems, +# in aout. # -0 lelong 000000407 a.out NetBSD little-endian object file ->16 lelong >0 not stripped -0 belong 000000407 a.out NetBSD big-endian object file ->16 belong >0 not stripped - 0 belong&0377777777 041400413 a.out NetBSD/i386 demand paged >0 byte &0x80 >>20 lelong <4096 shared library diff --git a/external/bsd/file/dist/magic/magdir/perl b/external/bsd/file/dist/magic/magdir/perl index e11f2ab58..1d7bd3178 100644 --- a/external/bsd/file/dist/magic/magdir/perl +++ b/external/bsd/file/dist/magic/magdir/perl @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# $File: perl,v 1.17 2011/12/16 16:24:40 rrt Exp $ +# $File: perl,v 1.20 2012/06/21 01:16:49 christos Exp $ # perl: file(1) magic for Larry Wall's perl language. # # The `eval' lines recognizes an outrageously clever hack. @@ -28,12 +28,12 @@ # check the first line 0 search/1 package >0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; Perl5 module source text +!:strength + 10 # not 'p', check other lines 0 search/1 !p >0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; >>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text - - +!:strength + 10 # Perl POD documents # From: Tom Hukins @@ -43,6 +43,9 @@ 0 search/1/W \n\=head1\ Perl POD document text 0 search/1/W \=head2\ Perl POD document text 0 search/1/W \n\=head2\ Perl POD document text +0 search/1/W \=encoding\ Perl POD document text +0 search/1/W \n\=encoding\ Perl POD document text + # Perl Storable data files. 0 string perl-store perl Storable (v0.6) data diff --git a/external/bsd/file/dist/magic/magdir/pwsafe b/external/bsd/file/dist/magic/magdir/pwsafe new file mode 100644 index 000000000..93dcfb123 --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/pwsafe @@ -0,0 +1,14 @@ + +#------------------------------------------------------------------------------ +# $File: pwsafe,v 1.1 2012/10/25 00:12:19 christos Exp $ +# pwsafe: file(1) magic for passwordsafe file +# +# Password Safe +# http://passwordsafe.sourceforge.net/ +# file format specs +# http://passwordsafe.svn.sourceforge.net/viewvc/passwordsafe/trunk/pwsafe/pwsafe/docs/formatV3.txt +# V2 http://passwordsafe.svn.sourceforge.net/viewvc/passwordsafe/trunk/pwsafe/pwsafe/docs/formatV2.txt +# V1 http://passwordsafe.svn.sourceforge.net/viewvc/passwordsafe/trunk/pwsafe/pwsafe/docs/notes.txt +# V2 and V1 have no easy identifier that I can find +# .psafe3 +0 string PWS3 Password Safe V3 database diff --git a/external/bsd/file/dist/magic/magdir/python b/external/bsd/file/dist/magic/magdir/python index e339014e9..3c1c02ea8 100644 --- a/external/bsd/file/dist/magic/magdir/python +++ b/external/bsd/file/dist/magic/magdir/python @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: python,v 1.20 2011/12/13 13:53:14 christos Exp $ +# $File: python,v 1.22 2013/03/18 12:49:55 christos Exp $ # python: file(1) magic for python # # Outlook puts """ too for urgent messages @@ -22,6 +22,7 @@ 0 belong 0x3b0c0d0a python 3.0 byte-compiled 0 belong 0x4f0c0d0a python 3.1 byte-compiled 0 belong 0x6c0c0d0a python 3.2 byte-compiled +0 belong 0x9e0c0d0a python 3.3 byte-compiled 0 search/1/w #!\ /usr/bin/python Python script text executable !:mime text/x-python @@ -59,3 +60,8 @@ !:mime text/x-python >&0 search/4096 finally: Python script text executable !:mime text/x-python + +# def name(args, args): +0 regex \^(\ |\\t)*def\ +[a-zA-Z]+ +>&0 regex \ *\\(([a-zA-Z]|,|\ )*\\):$ Python script text executable +!:mime text/x-python diff --git a/external/bsd/file/dist/magic/magdir/revision b/external/bsd/file/dist/magic/magdir/revision index b337ee3b2..e4e4de105 100644 --- a/external/bsd/file/dist/magic/magdir/revision +++ b/external/bsd/file/dist/magic/magdir/revision @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: revision,v 1.8 2010/11/25 15:00:12 christos Exp $ +# $File: revision,v 1.9 2013/02/06 14:18:52 christos Exp $ # file(1) magic for revision control files # From Hendrik Scholz 0 string/t /1\ :pserver: cvs password text file @@ -29,7 +29,7 @@ >4 belong =2 \b, version 2 # Type: Git index file -# From: Frédéric Brière +# From: Frederic Briare 0 string DIRC Git index >4 belong >0 \b, version %d >>8 belong >0 \b, %d entries diff --git a/external/bsd/file/dist/magic/magdir/riff b/external/bsd/file/dist/magic/magdir/riff index 4fffafacf..b41d0bdfb 100644 --- a/external/bsd/file/dist/magic/magdir/riff +++ b/external/bsd/file/dist/magic/magdir/riff @@ -1,12 +1,12 @@ #------------------------------------------------------------------------------ -# $File: riff,v 1.22 2011/09/06 11:00:06 christos Exp $ +# $File: riff,v 1.23 2013/02/06 14:18:52 christos Exp $ # riff: file(1) magic for RIFF format # See # # http://www.seanet.com/users/matts/riffmci/riffmci.htm # -# AVI section extended by Patrik Rådman +# AVI section extended by Patrik Radman # 0 string RIFF RIFF (little-endian) data # RIFF Palette format @@ -247,7 +247,7 @@ #------------------------------------------------------------------------------ # MBWF/RF64 -# see EBU – TECH 3306 http://tech.ebu.ch/docs/tech/tech3306-2009.pdf +# see EBU TECH 3306 http://tech.ebu.ch/docs/tech/tech3306-2009.pdf 0 string RF64\xff\xff\xff\xffWAVEds64 MBWF/RF64 audio !:mime audio/x-wav >40 search/256 fmt\x20 \b diff --git a/external/bsd/file/dist/magic/magdir/rpm b/external/bsd/file/dist/magic/magdir/rpm index 85232c6cd..9a795f841 100644 --- a/external/bsd/file/dist/magic/magdir/rpm +++ b/external/bsd/file/dist/magic/magdir/rpm @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: rpm,v 1.11 2011/06/14 12:47:41 christos Exp $ +# $File: rpm,v 1.12 2013/01/11 16:45:23 christos Exp $ # # RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com) # @@ -31,22 +31,15 @@ >>8 beshort 255 noarch #delta RPM Daniel Novotny (dnovotny@redhat.com) -0 string drpm Delta RPM +0 string drpm Delta RPM !:mime application/x-rpm >12 string x %s - ->>>8 beshort 11 MIPSel ->>>8 beshort 12 ARM ->>>8 beshort 13 MiNT ->>>8 beshort 14 S/390 ->>>8 beshort 15 S/390x ->>>8 beshort 16 PowerPC64 ->>>8 beshort 17 SuperH ->>>8 beshort 18 Xtensa +>>8 beshort 11 MIPSel +>>8 beshort 12 ARM +>>8 beshort 13 MiNT +>>8 beshort 14 S/390 +>>8 beshort 15 S/390x +>>8 beshort 16 PowerPC64 +>>8 beshort 17 SuperH +>>8 beshort 18 Xtensa >>10 string x %s - -# Type: Delta RPM -# From: Daniel Novotny (dnovotny@redhat.com) -0 string drpm Delta RPM -!:mime application/x-rpm ->12 string x %s diff --git a/external/bsd/file/dist/magic/magdir/sgi b/external/bsd/file/dist/magic/magdir/sgi index 2a8af1faf..40aae0b62 100644 --- a/external/bsd/file/dist/magic/magdir/sgi +++ b/external/bsd/file/dist/magic/magdir/sgi @@ -1,7 +1,74 @@ #------------------------------------------------------------------------------ -# $File: sgi,v 1.18 2010/11/25 15:00:12 christos Exp $ -# sgi: file(1) magic for Silicon Graphics applications +# $File: sgi,v 1.19 2013/01/12 03:09:51 christos Exp $ +# sgi: file(1) magic for Silicon Graphics operating systems and applications +# +# Executable images are handled either in aout (for old-style a.out +# files for 68K; they are indistinguishable from other big-endian 32-bit +# a.out files) or in mips (for MIPS ECOFF and Ucode files) +# + +# kbd file definitions +0 string kbd!map kbd map file +>8 byte >0 Ver %d: +>10 short >0 with %d table(s) + +0 beshort 0x8765 disk quotas file + +0 beshort 0x0506 IRIS Showcase file +>2 byte 0x49 - +>3 byte x - version %ld +0 beshort 0x0226 IRIS Showcase template +>2 byte 0x63 - +>3 byte x - version %ld +0 belong 0x5343464d IRIS Showcase file +>4 byte x - version %ld +0 belong 0x5443464d IRIS Showcase template +>4 byte x - version %ld +0 belong 0xdeadbabe IRIX Parallel Arena +>8 belong >0 - version %ld + +# core files +# +# 32bit core file +0 belong 0xdeadadb0 IRIX core dump +>4 belong 1 of +>16 string >\0 '%s' +# 64bit core file +0 belong 0xdeadad40 IRIX 64-bit core dump +>4 belong 1 of +>16 string >\0 '%s' +# N32bit core file +0 belong 0xbabec0bb IRIX N32 core dump +>4 belong 1 of +>16 string >\0 '%s' +# New style crash dump file +0 string \x43\x72\x73\x68\x44\x75\x6d\x70 IRIX vmcore dump of +>36 string >\0 '%s' + +# Trusted IRIX info +0 string SGIAUDIT SGI Audit file +>8 byte x - version %d +>9 byte x \b.%ld +# +0 string WNGZWZSC Wingz compiled script +0 string WNGZWZSS Wingz spreadsheet +0 string WNGZWZHP Wingz help file +# +0 string #Inventor V IRIS Inventor 1.0 file +0 string #Inventor V2 Open Inventor 2.0 file +# GLF is OpenGL stream encoding +0 string glfHeadMagic(); GLF_TEXT +4 belong 0x7d000000 GLF_BINARY_LSB_FIRST +!:strength -30 +4 belong 0x0000007d GLF_BINARY_MSB_FIRST +!:strength -30 +# GLS is OpenGL stream encoding; GLS is the successor of GLF +0 string glsBeginGLS( GLS_TEXT +4 belong 0x10000000 GLS_BINARY_LSB_FIRST +!:strength -30 +4 belong 0x00000010 GLS_BINARY_MSB_FIRST +!:strength -30 # # diff --git a/external/bsd/file/dist/magic/magdir/sgml b/external/bsd/file/dist/magic/magdir/sgml index 3f78c2f4d..8b3b91a65 100644 --- a/external/bsd/file/dist/magic/magdir/sgml +++ b/external/bsd/file/dist/magic/magdir/sgml @@ -1,5 +1,5 @@ #------------------------------------------------------------------------------ -# $File: sgml,v 1.27 2011/12/07 12:01:24 rrt Exp $ +# $File: sgml,v 1.29 2012/08/26 10:25:41 christos Exp $ # Type: SVG Vectorial Graphics # From: Noel Torres 0 string \15 search/1 >\0 %.3s document text +!:strength + 5 +>15 string/t >\0 %.3s document text >>23 search/1 \>24 search/1 \4 beshort x - version %d ->6 beshort x \b.%d ->20 belong 0 (No link-layer encapsulation ->20 belong 1 (Ethernet ->20 belong 2 (3Mb Ethernet ->20 belong 3 (AX.25 ->20 belong 4 (ProNET ->20 belong 5 (CHAOS ->20 belong 6 (Token Ring ->20 belong 7 (ARCNET ->20 belong 8 (SLIP ->20 belong 9 (PPP ->20 belong 10 (FDDI ->20 belong 11 (RFC 1483 ATM ->20 belong 12 (raw IP ->20 belong 13 (BSD/OS SLIP ->20 belong 14 (BSD/OS PPP ->16 belong x \b, capture length %d) +>0 use pcap-be 0 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian) ->4 leshort x - version %d ->6 leshort x \b.%d ->20 lelong 0 (No link-layer encapsulation ->20 lelong 1 (Ethernet ->20 lelong 2 (3Mb Ethernet ->20 lelong 3 (AX.25 ->20 lelong 4 (ProNET ->20 lelong 5 (CHAOS ->20 lelong 6 (Token Ring ->20 lelong 7 (ARCNET ->20 lelong 8 (SLIP ->20 lelong 9 (PPP ->20 lelong 10 (FDDI ->20 lelong 11 (RFC 1483 ATM ->20 lelong 12 (raw IP ->20 lelong 13 (BSD/OS SLIP ->20 lelong 14 (BSD/OS PPP ->16 lelong x \b, capture length %d) +>0 use \^pcap-be # # "pcap-ng" capture files. @@ -295,9 +251,9 @@ >8 lelong x \b, %d stations found # -# EtherPeek/AiroPeek "version 9" capture files. +# *Peek tagged capture files. # -0 string \177ver EtherPeek/AiroPeek capture file +0 string \177ver EtherPeek/AiroPeek/OmniPeek capture file # # Visual Networks traffic capture files. diff --git a/external/bsd/file/dist/magic/magdir/sql b/external/bsd/file/dist/magic/magdir/sql index cce5550fe..7839c8018 100644 --- a/external/bsd/file/dist/magic/magdir/sql +++ b/external/bsd/file/dist/magic/magdir/sql @@ -1,22 +1,34 @@ #------------------------------------------------------------------------------ -# $File: sql,v 1.6 2009/09/19 16:28:12 christos Exp $ +# $File: sql,v 1.11 2013/02/21 15:27:01 christos Exp $ # sql: file(1) magic for SQL files # # From: "Marty Leisner" # Recognize some MySQL files. +# Elan Ruusamae , added MariaDB signatures +# from https://bazaar.launchpad.net/~maria-captains/maria/5.5/view/head:/support-files/magic # 0 beshort 0xfe01 MySQL table definition file >2 byte x Version %d -0 belong&0xffffff00 0xfefe0300 MySQL MISAM index file +0 belong&0xffffff00 0xfefe0700 MySQL MyISAM index file >3 byte x Version %d -0 belong&0xffffff00 0xfefe0700 MySQL MISAM compressed data file +0 belong&0xffffff00 0xfefe0800 MySQL MyISAM compressed data file +>3 byte x Version %d +0 belong&0xffffff00 0xfefe0900 MySQL Maria index file +>3 byte x Version %d +0 belong&0xffffff00 0xfefe0A00 MySQL Maria compressed data file >3 byte x Version %d 0 belong&0xffffff00 0xfefe0500 MySQL ISAM index file >3 byte x Version %d 0 belong&0xffffff00 0xfefe0600 MySQL ISAM compressed data file >3 byte x Version %d -0 string \376bin MySQL replication log +0 string \376bin MySQL replication log +0 belong&0xffffff00 0xfefe0b00 +>4 string MARIALOG MySQL Maria transaction log file +>>3 byte x Version %d +0 belong&0xffffff00 0xfefe0c00 +>4 string MACF MySQL Maria control file +>>3 byte x Version %d #------------------------------------------------------------------------------ # iRiver H Series database file @@ -44,3 +56,10 @@ >60 string _MTN Monotone source repository >60 belong !0 SQLite 3.x database, user version %u >60 belong 0 SQLite 3.x database + +# Panasonic channel list database svl.bin or svl.db added by Joerg Jenderek +# http://www.ullrich.es/job/service-menue/panasonic/panasonic-sendersortierung-sat-am-pc/ +# pceditor_V2003.jar +0 string PSDB\0 Panasonic channel list database +>126 string SQLite\ format\ 3 +>>&-15 indirect x \b; contains diff --git a/external/bsd/file/dist/magic/magdir/sun b/external/bsd/file/dist/magic/magdir/sun index 1fd37ede6..86ffad2f1 100644 --- a/external/bsd/file/dist/magic/magdir/sun +++ b/external/bsd/file/dist/magic/magdir/sun @@ -1,12 +1,15 @@ #------------------------------------------------------------------------------ -# $File: sun,v 1.22 2011/02/10 01:52:51 christos Exp $ +# $File: sun,v 1.25 2013/01/09 22:37:24 christos Exp $ # sun: file(1) magic for Sun machines # # Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x -# releases. (5.x uses ELF.) +# releases. (5.x uses ELF.) Entries for executables without an +# architecture type, used before the 68020-based Sun-3's came out, +# are in aout, as they're indistinguishable from other big-endian +# 32-bit a.out files. # -0 belong&077777777 0600413 sparc demand paged +0 belong&077777777 0600413 a.out SunOS sparc demand paged >0 byte &0x80 >>20 belong <4096 shared library >>20 belong =4096 dynamically linked executable @@ -14,17 +17,17 @@ >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0600410 sparc pure +0 belong&077777777 0600410 a.out SunOS sparc pure >0 byte &0x80 dynamically linked executable >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0600407 sparc +0 belong&077777777 0600407 a.out SunOS sparc >0 byte &0x80 dynamically linked executable >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0400413 mc68020 demand paged +0 belong&077777777 0400413 a.out SunOS mc68020 demand paged >0 byte &0x80 >>20 belong <4096 shared library >>20 belong =4096 dynamically linked executable @@ -32,17 +35,17 @@ >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0400410 mc68020 pure +0 belong&077777777 0400410 a.out SunOS mc68020 pure >0 byte &0x80 dynamically linked executable >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0400407 mc68020 +0 belong&077777777 0400407 a.out SunOS mc68020 >0 byte &0x80 dynamically linked executable >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0200413 mc68010 demand paged +0 belong&077777777 0200413 a.out SunOS mc68010 demand paged >0 byte &0x80 >>20 belong <4096 shared library >>20 belong =4096 dynamically linked executable @@ -50,24 +53,16 @@ >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0200410 mc68010 pure +0 belong&077777777 0200410 a.out SunOS mc68010 pure >0 byte &0x80 dynamically linked executable >0 byte ^0x80 executable >16 belong >0 not stripped -0 belong&077777777 0200407 mc68010 +0 belong&077777777 0200407 a.out SunOS mc68010 >0 byte &0x80 dynamically linked executable >0 byte ^0x80 executable >16 belong >0 not stripped -# reworked these to avoid anything beginning with zero becoming "old sun-2" -0 belong 0407 old sun-2 executable ->16 belong >0 not stripped -0 belong 0410 old sun-2 pure executable ->16 belong >0 not stripped -0 belong 0413 old sun-2 demand paged executable ->16 belong >0 not stripped - # # Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC # binary executed in compatibility mode under SunOS 5.x". @@ -96,7 +91,10 @@ # Sun SunPC 0 long 0xfa33c08e SunPC 4.0 Hard Disk 0 string #SUNPC_CONFIG SunPC 4.0 Properties Values -# Sun snoop (see RFC 1761, which describes the capture file format). +# Sun snoop (see RFC 1761, which describes the capture file format, +# RFC 3827, which describes some additional datalink types, and +# http://www.iana.org/assignments/snoop-datalink-types/snoop-datalink-types.xml, +# which is the IANA registry of Snoop datalink types) # 0 string snoop Snoop capture file >8 belong >0 - version %ld @@ -109,14 +107,25 @@ >12 belong 6 (Character synchronous) >12 belong 7 (IBM channel-to-channel adapter) >12 belong 8 (FDDI) ->12 belong 9 (Unknown) - -# Microsoft ICM color profile -36 string acspMSFT Microsoft ICM Color Profile -!:mime application/vnd.iccprofile -# Sun KCMS -36 string acsp Kodak Color Management System, ICC Profile -!:mime application/vnd.iccprofile +>12 belong 9 (Other) +>12 belong 10 (type %ld) +>12 belong 11 (type %ld) +>12 belong 12 (type %ld) +>12 belong 13 (type %ld) +>12 belong 14 (type %ld) +>12 belong 15 (type %ld) +>12 belong 16 (Fibre Channel) +>12 belong 17 (ATM) +>12 belong 18 (ATM Classical IP) +>12 belong 19 (type %ld) +>12 belong 20 (type %ld) +>12 belong 21 (type %ld) +>12 belong 22 (type %ld) +>12 belong 23 (type %ld) +>12 belong 24 (type %ld) +>12 belong 25 (type %ld) +>12 belong 26 (IP over Infiniband) +>12 belong >26 (type %ld) #--------------------------------------------------------------------------- # The following entries have been tested by Duncan Laurie (a @@ -130,5 +139,3 @@ # New format for Sun/Cobalt boot ROMs is annoying, it stores the version code # at the very end where file(1) can't get it. 0 string CRfs COBALT boot rom data (Flat boot rom or file system) - - diff --git a/external/bsd/file/dist/magic/magdir/unknown b/external/bsd/file/dist/magic/magdir/unknown index 82ac2ad16..578a8ea06 100644 --- a/external/bsd/file/dist/magic/magdir/unknown +++ b/external/bsd/file/dist/magic/magdir/unknown @@ -1,35 +1,34 @@ #------------------------------------------------------------------------------ -# $File: unknown,v 1.7 2009/09/19 16:28:13 christos Exp $ +# $File: unknown,v 1.8 2013/01/09 22:37:24 christos Exp $ # unknown: file(1) magic for unknown machines # -# XXX - this probably should be pruned, as it'll match PDP-11 and -# VAX image formats. -# -# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure, -# respectively). -# -# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't -# have the "version %ld", which may be a bogus COFFism (I don't think -# there ever was COFF for the PDP-11). +# 0x107 is 0407, 0x108 is 0410, and 0x109 is 0411; those are all PDP-11 +# (executable, pure, and split I&D, respectively), but the PDP-11 version +# doesn't have the "version %ld", which may be a bogus COFFism (I don't +# think there was ever COFF for the PDP-11). # # 0x10B is 0413; that's VAX demand-paged, but this is a short, not a -# long, as it would be on a VAX. +# long, as it would be on a VAX. In any case, that could collide with +# VAX demand-paged files, as the magic number is little-endian on those +# binaries, so the first 16 bits of the file would contain 0x10B. # -# 0x10C is 0414 and 0x10E is 416; those *are* unknown. +# Therefore, those entries are commented out. # -0 short 0x107 unknown machine executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x108 unknown pure executable ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x109 PDP-11 separate I&D ->8 short >0 not stripped ->15 byte >0 - version %ld -0 short 0x10b unknown pure executable ->8 short >0 not stripped ->15 byte >0 - version %ld +# 0x10C is 0414 and 0x10E is 0416; those *are* unknown. +# +#0 short 0x107 unknown machine executable +#>8 short >0 not stripped +#>15 byte >0 - version %ld +#0 short 0x108 unknown pure executable +#>8 short >0 not stripped +#>15 byte >0 - version %ld +#0 short 0x109 PDP-11 separate I&D +#>8 short >0 not stripped +#>15 byte >0 - version %ld +#0 short 0x10b unknown pure executable +#>8 short >0 not stripped +#>15 byte >0 - version %ld 0 long 0x10c unknown demand paged pure executable >16 long >0 not stripped 0 long 0x10e unknown readable demand paged pure executable diff --git a/external/bsd/file/dist/magic/magdir/uterus b/external/bsd/file/dist/magic/magdir/uterus new file mode 100644 index 000000000..c5a139b5f --- /dev/null +++ b/external/bsd/file/dist/magic/magdir/uterus @@ -0,0 +1,16 @@ + +#------------------------------------------------------------------------------ +# $File: uterus,v 1.1 2012/12/18 18:53:32 christos Exp $ +# file(1) magic for uterus files +# http://freecode.com/projects/uterus +# +0 string UTE+ uterus file +>4 string v \b, version +>5 byte x %c +>6 string . \b. +>7 byte x \b%c +>8 string \<\> \b, big-endian +>>16 belong >0 \b, slut size %u +>8 string \>\< \b, litte-endian +>>16 lelong >0 \b, slut size %u +>10 byte &8 \b, compressed diff --git a/external/bsd/file/dist/magic/magdir/vax b/external/bsd/file/dist/magic/magdir/vax index 31a35123d..5a096e865 100644 --- a/external/bsd/file/dist/magic/magdir/vax +++ b/external/bsd/file/dist/magic/magdir/vax @@ -1,30 +1,22 @@ #------------------------------------------------------------------------------ -# $File: vax,v 1.7 2009/09/19 16:28:13 christos Exp $ +# $File: vax,v 1.8 2013/01/09 22:37:24 christos Exp $ # vax: file(1) magic for VAX executable/object and APL workspace # 0 lelong 0101557 VAX single precision APL workspace 0 lelong 0101556 VAX double precision APL workspace # -# VAX a.out (32V, BSD) +# VAX a.out (BSD; others collide with 386 and other 32-bit little-endian +# executables, and are handled in aout) # -0 lelong 0407 VAX executable ->16 lelong >0 not stripped - -0 lelong 0410 VAX pure executable ->16 lelong >0 not stripped - -0 lelong 0413 VAX demand paged pure executable ->16 lelong >0 not stripped - -0 lelong 0420 VAX demand paged (first page unmapped) pure executable +0 lelong 0420 a.out VAX demand paged (first page unmapped) pure executable >16 lelong >0 not stripped # # VAX COFF # -# The `versions' should be un-commented if they work for you. +# The `versions' were commented out, but have been un-commented out. # (Was the problem just one of endianness?) # 0 leshort 0570 VAX COFF executable diff --git a/external/bsd/file/dist/magic/magdir/vms b/external/bsd/file/dist/magic/magdir/vms index d114dfd79..be716b38e 100644 --- a/external/bsd/file/dist/magic/magdir/vms +++ b/external/bsd/file/dist/magic/magdir/vms @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: vms,v 1.6 2009/09/19 16:28:13 christos Exp $ +# $File: vms,v 1.7 2013/03/09 22:36:00 christos Exp $ # vms: file(1) magic for VMS executables (experimental) # # VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu) @@ -24,5 +24,7 @@ # 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................ # 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................ # -0 belong 0x03000000 VMS Alpha executable ->75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption +# GRR this test is still too general as it catches example adressen.dbt +0 belong 0x03000000 +>8 ubelong 0xec020000 VMS Alpha executable +>>75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption diff --git a/external/bsd/file/dist/magic/magdir/windows b/external/bsd/file/dist/magic/magdir/windows index cd760ec76..1ab78d44a 100644 --- a/external/bsd/file/dist/magic/magdir/windows +++ b/external/bsd/file/dist/magic/magdir/windows @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: windows,v 1.4 2009/09/19 16:28:13 christos Exp $ +# $File: windows,v 1.5 2012/04/03 22:25:07 christos Exp $ # windows: file(1) magic for Microsoft Windows # # This file is mainly reserved for files where programs @@ -75,12 +75,55 @@ 0 string HyperTerminal\ >15 string 1.0\ --\ HyperTerminal\ data\ file MS Windows HyperTerminal profile - +# http://ithreats.files.wordpress.com/2009/05/\ +# lnk_the_windows_shortcut_file_format.pdf # Summary: Windows shortcut # Extension: .lnk # Created by: unknown +# 'L' + GUUID 0 string \114\0\0\0\001\024\002\0\0\0\0\0\300\0\0\0\0\0\0\106 MS Windows shortcut - +>20 lelong&1 1 \b, Item id list present +>20 lelong&2 2 \b, Points to a file or directory +>20 lelong&4 4 \b, Has Description string +>20 lelong&8 8 \b, Has Relative path +>20 lelong&16 16 \b, Has Working directory +>20 lelong&32 32 \b, Has command line arguments +>20 lelong&64 64 \b, Icon +>>56 lelong \b number=%d +>24 lelong&1 1 \b, Read-Only +>24 lelong&2 2 \b, Hidden +>24 lelong&4 4 \b, System +>24 lelong&8 8 \b, Volume Label +>24 lelong&16 16 \b, Directory +>24 lelong&32 32 \b, Archive +>24 lelong&64 64 \b, Encrypted +>24 lelong&128 128 \b, Normal +>24 lelong&256 256 \b, Temporary +>24 lelong&512 512 \b, Sparse +>24 lelong&1024 1024 \b, Reparse point +>24 lelong&2048 2048 \b, Compressed +>24 lelong&4096 4096 \b, Offline +>28 leqwdate x \b, ctime=%s +>36 leqwdate x \b, mtime=%s +>44 leqwdate x \b, atime=%s +>52 lelong x \b, length=%u, window= +>60 lelong&1 1 \bhide +>60 lelong&2 2 \bnormal +>60 lelong&4 4 \bshowminimized +>60 lelong&8 8 \bshowmaximized +>60 lelong&16 16 \bshownoactivate +>60 lelong&32 32 \bminimize +>60 lelong&64 64 \bshowminnoactive +>60 lelong&128 128 \bshowna +>60 lelong&256 256 \brestore +>60 lelong&512 512 \bshowdefault +#>20 lelong&1 0 +#>>20 lelong&2 2 +#>>>(72.l-64) pstring/h x \b [%s] +#>20 lelong&1 1 +#>>20 lelong&2 2 +#>>>(72.s) leshort x +#>>>&75 pstring/h x \b [%s] # Summary: Outlook Personal Folders # Created by: unknown diff --git a/external/bsd/file/dist/magic/magdir/wordprocessors b/external/bsd/file/dist/magic/magdir/wordprocessors index 0ee4723a4..024b57d38 100644 --- a/external/bsd/file/dist/magic/magdir/wordprocessors +++ b/external/bsd/file/dist/magic/magdir/wordprocessors @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: wordprocessors,v 1.15 2010/09/20 19:19:17 rrt Exp $ +# $File: wordprocessors,v 1.17 2013/02/06 14:18:52 christos Exp $ # wordprocessors: file(1) magic fo word processors. # ####### PWP file format used on Smith Corona Personal Word Processors: @@ -110,7 +110,7 @@ 512 string R\0o\0o\0t\0 Hangul (Korean) Word Processor File 2000 !:mime application/x-hwp -# CosmicBook, from Benoît Rouits +# CosmicBook, from Benoit Rouits 0 string CSBK Ted Neslson's CosmicBook hypertext file 2 string EYWR AmigaWriter file @@ -161,3 +161,7 @@ 0 string \= 5.05, see http://mx.gw.com/pipermail/file/2010/000683.html -# By Elan Ruusamäe , Patryk Zawadzki , 2010-2011 +# By Elan Ruusamae , Patryk Zawadzki , 2010-2011 0 string wsdl PHP WSDL cache, >4 byte x version 0x%02x >6 ledate x \b, created %s diff --git a/external/bsd/file/dist/magic/magdir/xilinx b/external/bsd/file/dist/magic/magdir/xilinx index 26efb1bae..dd47aa14d 100644 --- a/external/bsd/file/dist/magic/magdir/xilinx +++ b/external/bsd/file/dist/magic/magdir/xilinx @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: xilinx,v 1.4 2009/09/19 16:28:13 christos Exp $ +# $File: xilinx,v 1.5 2013/01/08 03:06:50 christos Exp $ # This is Aaron's attempt at a MAGIC file for Xilinx .bit files. # Xilinx-Magic@RevRagnarok.com # Got the info from FPGA-FAQ 0026 @@ -33,3 +33,6 @@ >>>>>>>>&1 byte 0x00 >>>>>>>>&2 string e >>>>>>>>&4 belong x - data length 0x%lx +# Raw bitstream files +0 long 0xffffffff +>&0 belong 0xaa995566 Xilinx RAW bitstream (.BIN) diff --git a/external/bsd/file/dist/magic/magdir/xwindows b/external/bsd/file/dist/magic/magdir/xwindows index 93126fbaa..6ebe67623 100644 --- a/external/bsd/file/dist/magic/magdir/xwindows +++ b/external/bsd/file/dist/magic/magdir/xwindows @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------ -# $File: xwindows,v 1.7 2011/05/03 01:44:17 christos Exp $ +# $File: xwindows,v 1.8 2013/02/08 17:25:57 christos Exp $ # xwindows: file(1) magic for various X/Window system file formats. # Compiled X Keymap @@ -10,7 +10,7 @@ >0 byte =0 obsolete 0 string xkm Compiled XKB Keymap: msb, >3 byte >0 version %d ->0 byte =0 obsolete +>3 byte =0 obsolete # xfsdump archive 0 string xFSdump0 xfsdump archive diff --git a/external/bsd/file/dist/missing b/external/bsd/file/dist/missing index 28055d2ae..9a5564823 100755 --- a/external/bsd/file/dist/missing +++ b/external/bsd/file/dist/missing @@ -1,10 +1,9 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.18; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# Copyright (C) 1996-2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -26,7 +25,7 @@ scriptversion=2009-04-28.21; # UTC # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "Try '$0 --help' for more information" exit 1 fi @@ -34,7 +33,7 @@ run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' -# In the cases where this matters, `missing' is being run in the +# In the cases where this matters, 'missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac @@ -65,7 +64,7 @@ case $1 in echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: @@ -74,21 +73,20 @@ Options: --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file \`aclocal.m4' - autoconf touch file \`configure' - autoheader touch file \`config.h.in' + aclocal touch file 'aclocal.m4' + autoconf touch file 'configure' + autoheader touch file 'config.h.in' autom4te touch the output file, or create a stub one - automake touch all \`Makefile.in' files - bison create \`y.tab.[ch]', if possible, from existing .[ch] - flex create \`lex.yy.c', if possible, from existing .c + automake touch all 'Makefile.in' files + bison create 'y.tab.[ch]', if possible, from existing .[ch] + flex create 'lex.yy.c', if possible, from existing .c help2man touch the output file - lex create \`lex.yy.c', if possible, from existing .c + lex create 'lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch] + yacc create 'y.tab.[ch]', if possible, from existing .[ch] -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. Send bug reports to ." exit $? @@ -100,8 +98,8 @@ Send bug reports to ." ;; -*) - echo 1>&2 "$0: Unknown \`$1' option" - echo 1>&2 "Try \`$0 --help' for more information" + echo 1>&2 "$0: Unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; @@ -122,22 +120,13 @@ case $1 in # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone - # running `$TOOL --version' or `$TOOL --help' to check whether + # running '$TOOL --version' or '$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi @@ -149,27 +138,27 @@ esac case $program in aclocal*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acinclude.m4' or \`${configure_ac}'. You might want - to install the \`Automake' and \`Perl' packages. Grab them from +WARNING: '$1' is $msg. You should only need it if + you modified 'acinclude.m4' or '${configure_ac}'. You might want + to install the Automake and Perl packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`${configure_ac}'. You might want to install the - \`Autoconf' and \`GNU m4' packages. Grab them from any GNU +WARNING: '$1' is $msg. You should only need it if + you modified '${configure_ac}'. You might want to install the + Autoconf and GNU m4 packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`acconfig.h' or \`${configure_ac}'. You might want - to install the \`Autoconf' and \`GNU m4' packages. Grab them +WARNING: '$1' is $msg. You should only need it if + you modified 'acconfig.h' or '${configure_ac}'. You might want + to install the Autoconf and GNU m4 packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" @@ -186,9 +175,9 @@ WARNING: \`$1' is $msg. You should only need it if automake*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. - You might want to install the \`Automake' and \`Perl' packages. +WARNING: '$1' is $msg. You should only need it if + you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. + You might want to install the Automake and Perl packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | @@ -197,10 +186,10 @@ WARNING: \`$1' is $msg. You should only need it if autom4te*) echo 1>&2 "\ -WARNING: \`$1' is needed, but is $msg. +WARNING: '$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. - You can get \`$1' as part of \`Autoconf' from any GNU + You can get '$1' as part of Autoconf from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` @@ -220,13 +209,13 @@ WARNING: \`$1' is needed, but is $msg. bison*|yacc*) echo 1>&2 "\ -WARNING: \`$1' $msg. You should only need it if - you modified a \`.y' file. You may need the \`Bison' package +WARNING: '$1' $msg. You should only need it if + you modified a '.y' file. You may need the Bison package in order for those modifications to take effect. You can get - \`Bison' from any GNU archive site." + Bison from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -250,13 +239,13 @@ WARNING: \`$1' $msg. You should only need it if lex*|flex*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.l' file. You may need the \`Flex' package +WARNING: '$1' is $msg. You should only need it if + you modified a '.l' file. You may need the Flex package in order for those modifications to take effect. You can get - \`Flex' from any GNU archive site." + Flex from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -273,10 +262,10 @@ WARNING: \`$1' is $msg. You should only need it if help2man*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if +WARNING: '$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the - \`Help2man' package in order for those modifications to take - effect. You can get \`Help2man' from any GNU archive site." + Help2man package in order for those modifications to take + effect. You can get Help2man from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` @@ -291,12 +280,12 @@ WARNING: \`$1' is $msg. You should only need it if makeinfo*) echo 1>&2 "\ -WARNING: \`$1' is $msg. You should only need it if - you modified a \`.texi' or \`.texinfo' file, or any other file +WARNING: '$1' is $msg. You should only need it if + you modified a '.texi' or '.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy \`make' (AIX, - DU, IRIX). You might want to install the \`Texinfo' package or - the \`GNU make' package. Grab either from any GNU archive site." + call might also be the consequence of using a buggy 'make' (AIX, + DU, IRIX). You might want to install the Texinfo package or + the GNU make package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` @@ -318,49 +307,14 @@ WARNING: \`$1' is $msg. You should only need it if touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ -WARNING: \`$1' is needed, and is $msg. +WARNING: '$1' is needed, and is $msg. You might have modified some files without having the - proper tools for further handling them. Check the \`README' file, + proper tools for further handling them. Check the 'README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case - some other package would contain this missing \`$1' program." + some other package would contain this missing '$1' program." exit 1 ;; esac diff --git a/external/bsd/file/dist/python/Makefile.in b/external/bsd/file/dist/python/Makefile.in index 2bd569f5f..fba773398 100644 --- a/external/bsd/file/dist/python/Makefile.in +++ b/external/bsd/file/dist/python/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.12.4 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. +# Copyright (C) 1994-2012 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. @@ -15,6 +14,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -45,14 +61,25 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkgdatadir = @pkgdatadir@ ACLOCAL = @ACLOCAL@ @@ -66,6 +93,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -80,6 +108,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -184,9 +213,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu python/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign python/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu python/Makefile + $(AUTOMAKE) --foreign python/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -217,6 +246,8 @@ TAGS: ctags: CTAGS CTAGS: +cscope cscopelist: + distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -262,10 +293,15 @@ install-am: all-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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: diff --git a/external/bsd/file/dist/src/Makefile.am b/external/bsd/file/dist/src/Makefile.am index 968e5849c..e3196ce56 100644 --- a/external/bsd/file/dist/src/Makefile.am +++ b/external/bsd/file/dist/src/Makefile.am @@ -5,7 +5,7 @@ include_HEADERS = magic.h bin_PROGRAMS = file AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"' -AM_CFLAGS = @WARNINGS@ +AM_CFLAGS = $(CFLAG_VISIBILITY) @WARNINGS@ libmagic_la_SOURCES = magic.c apprentice.c softmagic.c ascmagic.c \ encoding.c compress.c is_tar.c readelf.c print.c fsmagic.c \ @@ -21,3 +21,10 @@ libmagic_la_LIBADD = $(LTLIBOBJS) $(MINGWLIBS) file_SOURCES = file.c file_LDADD = libmagic.la +CLEANFILES = magic.h +EXTRA_DIST = magic.h.in +HDR= $(top_srcdir)/src/magic.h.in +BUILT_SOURCES = magic.h + +magic.h: ${HDR} + sed -e "s/X.YY/$$(echo @VERSION@ | tr -d .)/" < ${HDR} > $@ diff --git a/external/bsd/file/dist/src/Makefile.in b/external/bsd/file/dist/src/Makefile.in index 8ffd8a175..c98e5fd3e 100644 --- a/external/bsd/file/dist/src/Makefile.in +++ b/external/bsd/file/dist/src/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.12.4 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. +# Copyright (C) 1994-2012 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. @@ -18,6 +17,23 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -38,8 +54,9 @@ host_triplet = @host@ bin_PROGRAMS = file$(EXEEXT) subdir = src DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in asprintf.c getline.c getopt_long.c \ - strlcat.c strlcpy.c vasprintf.c + $(srcdir)/Makefile.in $(top_srcdir)/depcomp asctime_r.c \ + asprintf.c ctime_r.c getline.c getopt_long.c pread.c strlcat.c \ + strlcpy.c vasprintf.c ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -72,6 +89,12 @@ am__nobase_list = $(am__nobase_strip_setup); \ am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ "$(DESTDIR)$(includedir)" LTLIBRARIES = $(lib_LTLIBRARIES) @@ -82,9 +105,10 @@ am_libmagic_la_OBJECTS = magic.lo apprentice.lo softmagic.lo \ print.lo fsmagic.lo funcs.lo apptype.lo cdf.lo cdf_time.lo \ readcdf.lo libmagic_la_OBJECTS = $(am_libmagic_la_OBJECTS) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent +am__v_lt_1 = libmagic_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libmagic_la_LDFLAGS) $(LDFLAGS) -o $@ @@ -92,6 +116,18 @@ PROGRAMS = $(bin_PROGRAMS) am_file_OBJECTS = file.$(OBJEXT) file_OBJECTS = $(am_file_OBJECTS) file_DEPENDENCIES = libmagic.la +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -102,24 +138,25 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = $(libmagic_la_SOURCES) $(file_SOURCES) DIST_SOURCES = $(libmagic_la_SOURCES) $(file_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac HEADERS = $(include_HEADERS) ETAGS = etags CTAGS = ctags @@ -136,6 +173,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -150,6 +188,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -245,7 +284,7 @@ MAGIC = $(pkgdatadir)/magic lib_LTLIBRARIES = libmagic.la include_HEADERS = magic.h AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"' -AM_CFLAGS = @WARNINGS@ +AM_CFLAGS = $(CFLAG_VISIBILITY) @WARNINGS@ libmagic_la_SOURCES = magic.c apprentice.c softmagic.c ascmagic.c \ encoding.c compress.c is_tar.c readelf.c print.c fsmagic.c \ funcs.c file.h readelf.h tar.h apptype.c \ @@ -257,7 +296,12 @@ libmagic_la_LDFLAGS = -no-undefined -version-info 1:0:0 libmagic_la_LIBADD = $(LTLIBOBJS) $(MINGWLIBS) file_SOURCES = file.c file_LDADD = libmagic.la -all: all-am +CLEANFILES = magic.h +EXTRA_DIST = magic.h.in +HDR = $(top_srcdir)/src/magic.h.in +BUILT_SOURCES = magic.h +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj @@ -270,9 +314,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/Makefile + $(AUTOMAKE) --foreign src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -293,7 +337,6 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ @@ -301,6 +344,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES) else :; fi; \ done; \ test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ } @@ -316,18 +361,23 @@ uninstall-libLTLIBRARIES: clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" != "$$p" || dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libmagic.la: $(libmagic_la_OBJECTS) $(libmagic_la_DEPENDENCIES) + @list='$(lib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +libmagic.la: $(libmagic_la_OBJECTS) $(libmagic_la_DEPENDENCIES) $(EXTRA_libmagic_la_DEPENDENCIES) $(AM_V_CCLD)$(libmagic_la_LINK) -rpath $(libdir) $(libmagic_la_OBJECTS) $(libmagic_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ @@ -367,7 +417,7 @@ clean-binPROGRAMS: list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -file$(EXEEXT): $(file_OBJECTS) $(file_DEPENDENCIES) +file$(EXEEXT): $(file_OBJECTS) $(file_DEPENDENCIES) $(EXTRA_file_DEPENDENCIES) @rm -f file$(EXEEXT) $(AM_V_CCLD)$(LINK) $(file_OBJECTS) $(file_LDADD) $(LIBS) @@ -377,9 +427,12 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/asctime_r.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/asprintf.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ctime_r.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getline.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt_long.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/pread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strlcat.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/strlcpy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/vasprintf.Plo@am__quote@ @@ -401,28 +454,28 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/softmagic.Plo@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo @@ -431,8 +484,11 @@ clean-libtool: -rm -rf .libs _libs install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -446,9 +502,7 @@ uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(includedir)" && rm -f $$files + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ @@ -499,6 +553,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -533,7 +601,8 @@ distdir: $(DISTFILES) fi; \ done check-am: all-am -check: check-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) install-binPROGRAMS: install-libLTLIBRARIES @@ -541,7 +610,8 @@ installdirs: for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done -install: install-am +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -551,13 +621,19 @@ install-am: all-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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) @@ -566,6 +642,7 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ @@ -638,11 +715,11 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ uninstall-libLTLIBRARIES -.MAKE: install-am install-strip +.MAKE: all check install install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libLTLIBRARIES clean-libtool ctags \ - distclean distclean-compile distclean-generic \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist \ + ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ @@ -657,6 +734,9 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ uninstall-includeHEADERS uninstall-libLTLIBRARIES +magic.h: ${HDR} + sed -e "s/X.YY/$$(echo @VERSION@ | tr -d .)/" < ${HDR} > $@ + # 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/external/bsd/file/dist/src/apprentice.c b/external/bsd/file/dist/src/apprentice.c index 1bd86a694..71644eb09 100644 --- a/external/bsd/file/dist/src/apprentice.c +++ b/external/bsd/file/dist/src/apprentice.c @@ -1,4 +1,4 @@ -/* $NetBSD: apprentice.c,v 1.7 2012/04/07 17:30:55 christos Exp $ */ +/* $NetBSD: apprentice.c,v 1.9 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -35,9 +35,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: apprentice.c,v 1.173 2011/12/08 12:38:24 rrt Exp $") +FILE_RCSID("@(#)$File: apprentice.c,v 1.191 2013/02/26 21:02:48 christos Exp $") #else -__RCSID("$NetBSD: apprentice.c,v 1.7 2012/04/07 17:30:55 christos Exp $"); +__RCSID("$NetBSD: apprentice.c,v 1.9 2013/03/23 16:15:58 christos Exp $"); #endif #endif /* lint */ @@ -77,12 +77,22 @@ __RCSID("$NetBSD: apprentice.c,v 1.7 2012/04/07 17:30:55 christos Exp $"); #define MAP_FILE 0 #endif +#define ALLOC_CHUNK (size_t)10 +#define ALLOC_INCR (size_t)200 + struct magic_entry { struct magic *mp; uint32_t cont_count; uint32_t max_count; }; +struct magic_map { + void *p; + size_t len; + struct magic *magic[MAGIC_SETS]; + uint32_t nmagic[MAGIC_SETS]; +}; + int file_formats[FILE_NAMES_SIZE]; const size_t file_nformats = FILE_NAMES_SIZE; const char *file_names[FILE_NAMES_SIZE]; @@ -92,24 +102,26 @@ private int getvalue(struct magic_set *ms, struct magic *, const char **, int); private int hextoint(int); private const char *getstr(struct magic_set *, struct magic *, const char *, int); -private int parse(struct magic_set *, struct magic_entry **, uint32_t *, - const char *, size_t, int); +private int parse(struct magic_set *, struct magic_entry *, const char *, + size_t, int); private void eatsize(const char **); -private int apprentice_1(struct magic_set *, const char *, int, struct mlist *); +private int apprentice_1(struct magic_set *, const char *, int); private size_t apprentice_magic_strength(const struct magic *); private int apprentice_sort(const void *, const void *); private void apprentice_list(struct mlist *, int ); -private int apprentice_load(struct magic_set *, struct magic **, uint32_t *, +private struct magic_map *apprentice_load(struct magic_set *, const char *, int); +private struct mlist *mlist_alloc(void); +private void mlist_free(struct mlist *); private void byteswap(struct magic *, uint32_t); private void bs1(struct magic *); private uint16_t swap2(uint16_t); private uint32_t swap4(uint32_t); private uint64_t swap8(uint64_t); private char *mkdbname(struct magic_set *, const char *, int); -private int apprentice_map(struct magic_set *, struct magic **, uint32_t *, - const char *); -private int apprentice_compile(struct magic_set *, struct magic **, uint32_t *, +private struct magic_map *apprentice_map(struct magic_set *, const char *); +private void apprentice_unmap(struct magic_map *); +private int apprentice_compile(struct magic_set *, struct magic_map *, const char *); private int check_format_type(const char *, int); private int check_format(struct magic_set *, struct magic *); @@ -119,7 +131,7 @@ private int parse_strength(struct magic_set *, struct magic_entry *, const char private int parse_apple(struct magic_set *, struct magic_entry *, const char *); -private size_t maxmagic = 0; +private size_t maxmagic[MAGIC_SETS] = { 0 }; private size_t magicsize = sizeof(struct magic); private const char usg_hdr[] = "cont\toffset\ttype\topcode\tmask\tvalue\tdesc"; @@ -170,14 +182,24 @@ main(int argc, char *argv[]) } #endif /* COMPILE_ONLY */ -static const struct type_tbl_s { +struct type_tbl_s { const char name[16]; const size_t len; const int type; const int format; -} type_tbl[] = { +}; + +/* + * XXX - the actual Single UNIX Specification says that "long" means "long", + * as in the C data type, but we treat it as meaning "4-byte integer". + * Given that the OS X version of file 5.04 did the same, I guess that passes + * the actual test; having "long" be dependent on how big a "long" is on + * the machine running "file" is silly. + */ +static const struct type_tbl_s type_tbl[] = { # define XX(s) s, (sizeof(s) - 1) # define XX_NULL "", 0 + { XX("invalid"), FILE_INVALID, FILE_FMT_NONE }, { XX("byte"), FILE_BYTE, FILE_FMT_NUM }, { XX("short"), FILE_SHORT, FILE_FMT_NUM }, { XX("default"), FILE_DEFAULT, FILE_FMT_STR }, @@ -219,17 +241,32 @@ static const struct type_tbl_s { { XX("leid3"), FILE_LEID3, FILE_FMT_NUM }, { XX("beid3"), FILE_BEID3, FILE_FMT_NUM }, { XX("indirect"), FILE_INDIRECT, FILE_FMT_NUM }, + { XX("qwdate"), FILE_QWDATE, FILE_FMT_STR }, + { XX("leqwdate"), FILE_LEQWDATE, FILE_FMT_STR }, + { XX("beqwdate"), FILE_BEQWDATE, FILE_FMT_STR }, + { XX("name"), FILE_NAME, FILE_FMT_NONE }, + { XX("use"), FILE_USE, FILE_FMT_NONE }, { XX_NULL, FILE_INVALID, FILE_FMT_NONE }, -# undef XX -# undef XX_NULL }; +/* + * These are not types, and cannot be preceded by "u" to make them + * unsigned. + */ +static const struct type_tbl_s special_tbl[] = { + { XX("name"), FILE_NAME, FILE_FMT_STR }, + { XX("use"), FILE_USE, FILE_FMT_STR }, + { XX_NULL, FILE_INVALID, FILE_FMT_NONE }, +}; +# undef XX +# undef XX_NULL + private int -get_type(const char *l, const char **t) +get_type(const struct type_tbl_s *tbl, const char *l, const char **t) { const struct type_tbl_s *p; - for (p = type_tbl; p->len; p++) { + for (p = tbl; p->len; p++) { if (strncmp(l, p->name, p->len) == 0) { if (t) *t = l + p->len; @@ -239,6 +276,91 @@ get_type(const char *l, const char **t) return p->type; } +private int +get_standard_integer_type(const char *l, const char **t) +{ + int type; + + if (isalpha((unsigned char)l[1])) { + switch (l[1]) { + case 'C': + /* "dC" and "uC" */ + type = FILE_BYTE; + break; + case 'S': + /* "dS" and "uS" */ + type = FILE_SHORT; + break; + case 'I': + case 'L': + /* + * "dI", "dL", "uI", and "uL". + * + * XXX - the actual Single UNIX Specification says + * that "L" means "long", as in the C data type, + * but we treat it as meaning "4-byte integer". + * Given that the OS X version of file 5.04 did + * the same, I guess that passes the actual SUS + * validation suite; having "dL" be dependent on + * how big a "long" is on the machine running + * "file" is silly. + */ + type = FILE_LONG; + break; + case 'Q': + /* "dQ" and "uQ" */ + type = FILE_QUAD; + break; + default: + /* "d{anything else}", "u{anything else}" */ + return FILE_INVALID; + } + l += 2; + } else if (isdigit((unsigned char)l[1])) { + /* + * "d{num}" and "u{num}"; we only support {num} values + * of 1, 2, 4, and 8 - the Single UNIX Specification + * doesn't say anything about whether arbitrary + * values should be supported, but both the Solaris 10 + * and OS X Mountain Lion versions of file passed the + * Single UNIX Specification validation suite, and + * neither of them support values bigger than 8 or + * non-power-of-2 values. + */ + if (isdigit((unsigned char)l[2])) { + /* Multi-digit, so > 9 */ + return FILE_INVALID; + } + switch (l[1]) { + case '1': + type = FILE_BYTE; + break; + case '2': + type = FILE_SHORT; + break; + case '4': + type = FILE_LONG; + break; + case '8': + type = FILE_QUAD; + break; + default: + /* XXX - what about 3, 5, 6, or 7? */ + return FILE_INVALID; + } + l += 2; + } else { + /* + * "d" or "u" by itself. + */ + type = FILE_LONG; + ++l; + } + if (t) + *t = l; + return type; +} + private void init_file_tables(void) { @@ -254,73 +376,77 @@ init_file_tables(void) file_names[p->type] = p->name; file_formats[p->type] = p->format; } + assert(p - type_tbl == FILE_NAMES_SIZE); +} + +private int +add_mlist(struct mlist *mlp, struct magic_map *map, size_t idx) +{ + struct mlist *ml; + + if ((ml = CAST(struct mlist *, malloc(sizeof(*ml)))) == NULL) + return -1; + + ml->map = idx == 0 ? map : NULL; + ml->magic = map->magic[idx]; + ml->nmagic = map->nmagic[idx]; + + mlp->prev->next = ml; + ml->prev = mlp->prev; + ml->next = mlp; + mlp->prev = ml; + return 0; } /* * Handle one file or directory. */ private int -apprentice_1(struct magic_set *ms, const char *fn, int action, - struct mlist *mlist) +apprentice_1(struct magic_set *ms, const char *fn, int action) { - struct magic *magic = NULL; - uint32_t nmagic = 0; struct mlist *ml; - int rv = -1; - int mapped; + struct magic_map *map; + size_t i; if (magicsize != FILE_MAGICSIZE) { file_error(ms, 0, "magic element size %lu != %lu", - (unsigned long)sizeof(*magic), + (unsigned long)sizeof(*map->magic[0]), (unsigned long)FILE_MAGICSIZE); return -1; } if (action == FILE_COMPILE) { - rv = apprentice_load(ms, &magic, &nmagic, fn, action); - if (rv != 0) + map = apprentice_load(ms, fn, action); + if (map == NULL) return -1; - rv = apprentice_compile(ms, &magic, &nmagic, fn); - free(magic); - return rv; + return apprentice_compile(ms, map, fn); } #ifndef COMPILE_ONLY - if ((rv = apprentice_map(ms, &magic, &nmagic, fn)) == -1) { + map = apprentice_map(ms, fn); + if (map == NULL) { if (ms->flags & MAGIC_CHECK) file_magwarn(ms, "using regular magic file `%s'", fn); - rv = apprentice_load(ms, &magic, &nmagic, fn, action); - if (rv != 0) + map = apprentice_load(ms, fn, action); + if (map == NULL) return -1; } - mapped = rv; - - if (magic == NULL) { - file_delmagic(magic, mapped, nmagic); - return -1; + for (i = 0; i < MAGIC_SETS; i++) { + if (add_mlist(ms->mlist[i], map, i) == -1) { + file_oomem(ms, sizeof(*ml)); + apprentice_unmap(map); + return -1; + } } - if ((ml = CAST(struct mlist *, malloc(sizeof(*ml)))) == NULL) { - file_delmagic(magic, mapped, nmagic); - file_oomem(ms, sizeof(*ml)); - return -1; - } - - ml->magic = magic; - ml->nmagic = nmagic; - ml->mapped = mapped; - - mlist->prev->next = ml; - ml->prev = mlist->prev; - ml->next = mlist; - mlist->prev = ml; - if (action == FILE_LIST) { - printf("Binary patterns:\n"); - apprentice_list(mlist, BINTEST); - printf("Text patterns:\n"); - apprentice_list(mlist, TEXTTEST); + for (i = 0; i < MAGIC_SETS; i++) { + printf("Set %zu:\nBinary patterns:\n", i); + apprentice_list(ms->mlist[i], BINTEST); + printf("Text patterns:\n"); + apprentice_list(ms->mlist[i], TEXTTEST); + } } return 0; @@ -328,77 +454,170 @@ apprentice_1(struct magic_set *ms, const char *fn, int action, } protected void -file_delmagic(struct magic *p, int type, size_t entries) +file_ms_free(struct magic_set *ms) { - if (p == NULL) + size_t i; + if (ms == NULL) return; - switch (type) { - case 2: -#ifdef QUICK - p--; - (void)munmap((void *)p, sizeof(*p) * (entries + 1)); - break; -#else - (void)&entries; - abort(); - /*NOTREACHED*/ -#endif - case 1: - p--; - /*FALLTHROUGH*/ - case 0: - free(p); - break; - default: - abort(); + for (i = 0; i < MAGIC_SETS; i++) + mlist_free(ms->mlist[i]); + free(ms->o.pbuf); + free(ms->o.buf); + free(ms->c.li); + free(ms); +} + +protected struct magic_set * +file_ms_alloc(int flags) +{ + struct magic_set *ms; + size_t i, len; + + if ((ms = CAST(struct magic_set *, calloc((size_t)1, + sizeof(struct magic_set)))) == NULL) + return NULL; + + if (magic_setflags(ms, flags) == -1) { + errno = EINVAL; + goto free; } + + ms->o.buf = ms->o.pbuf = NULL; + len = (ms->c.len = 10) * sizeof(*ms->c.li); + + if ((ms->c.li = CAST(struct level_info *, malloc(len))) == NULL) + goto free; + + ms->event_flags = 0; + ms->error = -1; + for (i = 0; i < MAGIC_SETS; i++) + ms->mlist[i] = NULL; + ms->file = "unknown"; + ms->line = 0; + return ms; +free: + free(ms); + return NULL; +} + +private void +apprentice_unmap(struct magic_map *map) +{ + if (map == NULL) + return; + if (map->p == NULL) + return; +#ifdef QUICK + if (map->len) + (void)munmap(map->p, map->len); + else +#endif + free(map->p); + free(map); +} + +private struct mlist * +mlist_alloc(void) +{ + struct mlist *mlist; + if ((mlist = CAST(struct mlist *, calloc(1, sizeof(*mlist)))) == NULL) { + return NULL; + } + mlist->next = mlist->prev = mlist; + return mlist; +} + +private void +mlist_free(struct mlist *mlist) +{ + struct mlist *ml; + + if (mlist == NULL) + return; + + for (ml = mlist->next; ml != mlist;) { + struct mlist *next = ml->next; + if (ml->map) + apprentice_unmap(ml->map); + free(ml); + ml = next; + } + free(ml); } /* const char *fn: list of magic files and directories */ -protected struct mlist * +protected int file_apprentice(struct magic_set *ms, const char *fn, int action) { char *p, *mfn; int file_err, errs = -1; - struct mlist *mlist; + size_t i; if ((fn = magic_getpath(fn, action)) == NULL) - return NULL; + return -1; init_file_tables(); if ((mfn = strdup(fn)) == NULL) { file_oomem(ms, strlen(fn)); - return NULL; + return -1; + } + + for (i = 0; i < MAGIC_SETS; i++) { + mlist_free(ms->mlist[i]); + if ((ms->mlist[i] = mlist_alloc()) == NULL) { + file_oomem(ms, sizeof(*ms->mlist[i])); + if (i != 0) { + --i; + do + mlist_free(ms->mlist[i]); + while (i != 0); + } + free(mfn); + return -1; + } } fn = mfn; - if ((mlist = CAST(struct mlist *, malloc(sizeof(*mlist)))) == NULL) { - free(mfn); - file_oomem(ms, sizeof(*mlist)); - return NULL; - } - mlist->next = mlist->prev = mlist; - while (fn) { p = strchr(fn, PATHSEP); if (p) *p++ = '\0'; if (*fn == '\0') break; - file_err = apprentice_1(ms, fn, action, mlist); + file_err = apprentice_1(ms, fn, action); errs = MAX(errs, file_err); fn = p; } - if (errs == -1) { - free(mfn); - free(mlist); - mlist = NULL; - file_error(ms, 0, "could not find any magic files!"); - return NULL; - } + free(mfn); - return mlist; + + if (errs == -1) { + for (i = 0; i < MAGIC_SETS; i++) { + mlist_free(ms->mlist[i]); + ms->mlist[i] = NULL; + } + file_error(ms, 0, "could not find any valid magic files!"); + return -1; + } + + if (action == FILE_LOAD) + return 0; + + for (i = 0; i < MAGIC_SETS; i++) { + mlist_free(ms->mlist[i]); + ms->mlist[i] = NULL; + } + + switch (action) { + case FILE_COMPILE: + case FILE_CHECK: + case FILE_LIST: + return 0; + default: + file_error(ms, 0, "Invalid action %d", action); + return -1; + } } /* @@ -471,6 +690,9 @@ apprentice_magic_strength(const struct magic *m) case FILE_QLDATE: case FILE_LEQLDATE: case FILE_BEQLDATE: + case FILE_QWDATE: + case FILE_LEQWDATE: + case FILE_BEQWDATE: case FILE_DOUBLE: case FILE_BEDOUBLE: case FILE_LEDOUBLE: @@ -478,6 +700,8 @@ apprentice_magic_strength(const struct magic *m) break; case FILE_INDIRECT: + case FILE_NAME: + case FILE_USE: break; default: @@ -626,6 +850,9 @@ set_test_type(struct magic *mstart, struct magic *m) case FILE_QLDATE: case FILE_LEQLDATE: case FILE_BEQLDATE: + case FILE_QWDATE: + case FILE_LEQWDATE: + case FILE_BEQWDATE: case FILE_FLOAT: case FILE_BEFLOAT: case FILE_LEFLOAT: @@ -673,16 +900,41 @@ set_test_type(struct magic *mstart, struct magic *m) } } +private int +addentry(struct magic_set *ms, struct magic_entry *me, + struct magic_entry **mentry, uint32_t *mentrycount) +{ + size_t i = me->mp->type == FILE_NAME ? 1 : 0; + if (mentrycount[i] == maxmagic[i]) { + struct magic_entry *mp; + + maxmagic[i] += ALLOC_INCR; + if ((mp = CAST(struct magic_entry *, + realloc(mentry[i], sizeof(*mp) * maxmagic[i]))) == + NULL) { + file_oomem(ms, sizeof(*mp) * maxmagic[i]); + return -1; + } + (void)memset(&mp[mentrycount[i]], 0, sizeof(*mp) * + ALLOC_INCR); + mentry[i] = mp; + } + mentry[i][mentrycount[i]++] = *me; + memset(me, 0, sizeof(*me)); + return 0; +} + /* * Load and parse one file. */ private void load_1(struct magic_set *ms, int action, const char *fn, int *errs, - struct magic_entry **marray, uint32_t *marraycount) + struct magic_entry **mentry, uint32_t *mentrycount) { size_t lineno = 0, llen = 0; char *line = NULL; ssize_t len; + struct magic_entry me; FILE *f = fopen(ms->file = fn, "r"); if (f == NULL) { @@ -693,6 +945,7 @@ load_1(struct magic_set *ms, int action, const char *fn, int *errs, return; } + memset(&me, 0, sizeof(me)); /* read and parse this file */ for (ms->line = 1; (len = getline(&line, &llen, f)) != -1; ms->line++) { @@ -722,15 +975,14 @@ load_1(struct magic_set *ms, int action, const char *fn, int *errs, (*errs)++; continue; } - if (*marraycount == 0) { + if (me.mp == NULL) { file_error(ms, 0, "No current entry for :!%s type", bang[i].name); (*errs)++; continue; } - if ((*bang[i].fun)(ms, - &(*marray)[*marraycount - 1], + if ((*bang[i].fun)(ms, &me, line + bang[i].len + 2) != 0) { (*errs)++; continue; @@ -739,12 +991,21 @@ load_1(struct magic_set *ms, int action, const char *fn, int *errs, } /*FALLTHROUGH*/ default: - if (parse(ms, marray, marraycount, line, lineno, - action) != 0) + again: + switch (parse(ms, &me, line, lineno, action)) { + case 0: + continue; + case 1: + (void)addentry(ms, &me, mentry, mentrycount); + goto again; + default: (*errs)++; - break; + break; + } } } + if (me.mp) + (void)addentry(ms, &me, mentry, mentrycount); free(line); (void)fclose(f); } @@ -759,28 +1020,118 @@ cmpstrp(const void *p1, const void *p2) return strcmp(*(char *const *)p1, *(char *const *)p2); } + +private uint32_t +set_text_binary(struct magic_set *ms, struct magic_entry *me, uint32_t nme, + uint32_t starttest) +{ + static const char text[] = "text"; + static const char binary[] = "binary"; + static const size_t len = sizeof(text); + + uint32_t i = starttest; + + do { + set_test_type(me[starttest].mp, me[i].mp); + if ((ms->flags & MAGIC_DEBUG) == 0) + continue; + (void)fprintf(stderr, "%s%s%s: %s\n", + me[i].mp->mimetype, + me[i].mp->mimetype[0] == '\0' ? "" : "; ", + me[i].mp->desc[0] ? me[i].mp->desc : "(no description)", + me[i].mp->flag & BINTEST ? binary : text); + if (me[i].mp->flag & BINTEST) { + char *p = strstr(me[i].mp->desc, text); + if (p && (p == me[i].mp->desc || + isspace((unsigned char)p[-1])) && + (p + len - me[i].mp->desc == MAXstring + || (p[len] == '\0' || + isspace((unsigned char)p[len])))) + (void)fprintf(stderr, "*** Possible " + "binary test for text type\n"); + } + } while (++i < nme && me[i].mp->cont_level != 0); + return i; +} + +private void +set_last_default(struct magic_set *ms, struct magic_entry *me, uint32_t nme) +{ + uint32_t i; + for (i = 0; i < nme; i++) { + if (me[i].mp->cont_level == 0 && + me[i].mp->type == FILE_DEFAULT) { + while (++i < nme) + if (me[i].mp->cont_level == 0) + break; + if (i != nme) { + /* XXX - Ugh! */ + ms->line = me[i].mp->lineno; + file_magwarn(ms, + "level 0 \"default\" did not sort last"); + } + return; + } + } +} + private int -apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, - const char *fn, int action) +coalesce_entries(struct magic_set *ms, struct magic_entry *me, uint32_t nme, + struct magic **ma, uint32_t *nma) +{ + uint32_t i, mentrycount = 0; + size_t slen; + + for (i = 0; i < nme; i++) + mentrycount += me[i].cont_count; + + slen = sizeof(**ma) * mentrycount; + if ((*ma = CAST(struct magic *, malloc(slen))) == NULL) { + file_oomem(ms, slen); + return -1; + } + + mentrycount = 0; + for (i = 0; i < nme; i++) { + (void)memcpy(*ma + mentrycount, me[i].mp, + me[i].cont_count * sizeof(**ma)); + mentrycount += me[i].cont_count; + } + *nma = mentrycount; + return 0; +} + +private void +magic_entry_free(struct magic_entry *me, uint32_t nme) +{ + uint32_t i; + if (me == NULL) + return; + for (i = 0; i < nme; i++) + free(me[i].mp); + free(me); +} + +private struct magic_map * +apprentice_load(struct magic_set *ms, const char *fn, int action) { int errs = 0; - struct magic_entry *marray; - uint32_t marraycount, i, mentrycount = 0, starttest; - size_t slen, files = 0, maxfiles = 0; + struct magic_entry *mentry[MAGIC_SETS] = { NULL }; + uint32_t mentrycount[MAGIC_SETS] = { 0 }; + uint32_t i, j; + size_t files = 0, maxfiles = 0; char **filearr = NULL, *mfn; struct stat st; + struct magic_map *map; DIR *dir; struct dirent *d; ms->flags |= MAGIC_CHECK; /* Enable checks for parsed files */ - maxmagic = MAXMAGIS; - if ((marray = CAST(struct magic_entry *, calloc(maxmagic, - sizeof(*marray)))) == NULL) { - file_oomem(ms, maxmagic * sizeof(*marray)); - return -1; + if ((map = CAST(struct magic_map *, calloc(1, sizeof(*map)))) == NULL) { + file_oomem(ms, sizeof(*map)); + return NULL; } - marraycount = 0; /* print silly verbose header for USG compat. */ if (action == FILE_CHECK) @@ -823,100 +1174,55 @@ apprentice_load(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, closedir(dir); qsort(filearr, files, sizeof(*filearr), cmpstrp); for (i = 0; i < files; i++) { - load_1(ms, action, filearr[i], &errs, &marray, - &marraycount); + load_1(ms, action, filearr[i], &errs, mentry, + mentrycount); free(filearr[i]); } free(filearr); } else - load_1(ms, action, fn, &errs, &marray, &marraycount); + load_1(ms, action, fn, &errs, mentry, mentrycount); if (errs) goto out; - /* Set types of tests */ - for (i = 0; i < marraycount; ) { - if (marray[i].mp->cont_level != 0) { - i++; - continue; - } - - starttest = i; - do { - static const char text[] = "text"; - static const char binary[] = "binary"; - static const size_t len = sizeof(text); - set_test_type(marray[starttest].mp, marray[i].mp); - if ((ms->flags & MAGIC_DEBUG) == 0) + for (j = 0; j < MAGIC_SETS; j++) { + /* Set types of tests */ + for (i = 0; i < mentrycount[j]; ) { + if (mentry[j][i].mp->cont_level != 0) { + i++; continue; - (void)fprintf(stderr, "%s%s%s: %s\n", - marray[i].mp->mimetype, - marray[i].mp->mimetype[0] == '\0' ? "" : "; ", - marray[i].mp->desc[0] ? marray[i].mp->desc : - "(no description)", - marray[i].mp->flag & BINTEST ? binary : text); - if (marray[i].mp->flag & BINTEST) { - char *p = strstr(marray[i].mp->desc, text); - if (p && (p == marray[i].mp->desc || - isspace((unsigned char)p[-1])) && - (p + len - marray[i].mp->desc == - MAXstring || (p[len] == '\0' || - isspace((unsigned char)p[len])))) - (void)fprintf(stderr, "*** Possible " - "binary test for text type\n"); } - } while (++i < marraycount && marray[i].mp->cont_level != 0); - } + i = set_text_binary(ms, mentry[j], mentrycount[j], i); + } + qsort(mentry[j], mentrycount[j], sizeof(*mentry[j]), + apprentice_sort); - qsort(marray, marraycount, sizeof(*marray), apprentice_sort); + /* + * Make sure that any level 0 "default" line is last + * (if one exists). + */ + set_last_default(ms, mentry[j], mentrycount[j]); - /* - * Make sure that any level 0 "default" line is last (if one exists). - */ - for (i = 0; i < marraycount; i++) { - if (marray[i].mp->cont_level == 0 && - marray[i].mp->type == FILE_DEFAULT) { - while (++i < marraycount) - if (marray[i].mp->cont_level == 0) - break; - if (i != marraycount) { - /* XXX - Ugh! */ - ms->line = marray[i].mp->lineno; - file_magwarn(ms, - "level 0 \"default\" did not sort last"); - } - break; + /* coalesce per file arrays into a single one */ + if (coalesce_entries(ms, mentry[j], mentrycount[j], + &map->magic[j], &map->nmagic[j]) == -1) { + errs++; + goto out; } } - for (i = 0; i < marraycount; i++) - mentrycount += marray[i].cont_count; - - slen = sizeof(**magicp) * mentrycount; - if ((*magicp = CAST(struct magic *, malloc(slen))) == NULL) { - file_oomem(ms, slen); - errs++; - goto out; - } - - mentrycount = 0; - for (i = 0; i < marraycount; i++) { - (void)memcpy(*magicp + mentrycount, marray[i].mp, - marray[i].cont_count * sizeof(**magicp)); - mentrycount += marray[i].cont_count; - } out: - for (i = 0; i < marraycount; i++) - free(marray[i].mp); - free(marray); - if (errs) { - *magicp = NULL; - *nmagicp = 0; - return errs; - } else { - *nmagicp = mentrycount; - return 0; - } + for (j = 0; j < MAGIC_SETS; j++) + magic_entry_free(mentry[j], mentrycount[j]); + if (errs) { + for (j = 0; j < MAGIC_SETS; j++) { + if (map->magic[j]) + free(map->magic[j]); + } + free(map); + return NULL; + } + return map; } /* @@ -962,10 +1268,13 @@ file_signextend(struct magic_set *ms, struct magic *m, uint64_t v) case FILE_LEQUAD: case FILE_QDATE: case FILE_QLDATE: + case FILE_QWDATE: case FILE_BEQDATE: case FILE_BEQLDATE: + case FILE_BEQWDATE: case FILE_LEQDATE: case FILE_LEQLDATE: + case FILE_LEQWDATE: case FILE_DOUBLE: case FILE_BEDOUBLE: case FILE_LEDOUBLE: @@ -979,6 +1288,8 @@ file_signextend(struct magic_set *ms, struct magic *m, uint64_t v) case FILE_SEARCH: case FILE_DEFAULT: case FILE_INDIRECT: + case FILE_NAME: + case FILE_USE: break; default: if (ms->flags & MAGIC_CHECK) @@ -1148,22 +1459,25 @@ check_cond(struct magic_set *ms, int cond, uint32_t cont_level) * parse one line from magic file, put into magic[index++] if valid */ private int -parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, - const char *line, size_t lineno, int action) +parse(struct magic_set *ms, struct magic_entry *me, const char *line, + size_t lineno, int action) { #ifdef ENABLE_CONDITIONALS static uint32_t last_cont_level = 0; #endif size_t i; - struct magic_entry *me; struct magic *m; const char *l = line; char *t; int op; uint32_t cont_level; + int32_t diff; cont_level = 0; + /* + * Parse the offset. + */ while (*l == '>') { ++l; /* step over */ cont_level++; @@ -1174,16 +1488,21 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, return -1; last_cont_level = cont_level; #endif - -#define ALLOC_CHUNK (size_t)10 -#define ALLOC_INCR (size_t)200 - if (cont_level != 0) { - if (*nmentryp == 0) { - file_error(ms, 0, "No current entry for continuation"); + if (me->mp == NULL) { + file_magerror(ms, "No current entry for continuation"); return -1; } - me = &(*mentryp)[*nmentryp - 1]; + if (me->cont_count == 0) { + file_magerror(ms, "Continuations present with 0 count"); + return -1; + } + m = &me->mp[me->cont_count - 1]; + diff = (int32_t)cont_level - (int32_t)m->cont_level; + if (diff > 1) + file_magwarn(ms, "New continuation level %u is more " + "than one larger than current level %u", cont_level, + m->cont_level); if (me->cont_count == me->max_count) { struct magic *nm; size_t cnt = me->max_count + ALLOC_CHUNK; @@ -1199,31 +1518,15 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, (void)memset(m, 0, sizeof(*m)); m->cont_level = cont_level; } else { - if (*nmentryp == maxmagic) { - struct magic_entry *mp; - - maxmagic += ALLOC_INCR; - if ((mp = CAST(struct magic_entry *, - realloc(*mentryp, sizeof(*mp) * maxmagic))) == - NULL) { - file_oomem(ms, sizeof(*mp) * maxmagic); - return -1; - } - (void)memset(&mp[*nmentryp], 0, sizeof(*mp) * - ALLOC_INCR); - *mentryp = mp; + static const size_t len = sizeof(*m) * ALLOC_CHUNK; + if (me->mp != NULL) + return 1; + if ((m = CAST(struct magic *, malloc(len))) == NULL) { + file_oomem(ms, len); + return -1; } - me = &(*mentryp)[*nmentryp]; - if (me->mp == NULL) { - size_t len = sizeof(*m) * ALLOC_CHUNK; - if ((m = CAST(struct magic *, malloc(len))) == NULL) { - file_oomem(ms, len); - return -1; - } - me->mp = m; - me->max_count = ALLOC_CHUNK; - } else - m = me->mp; + me->mp = m; + me->max_count = ALLOC_CHUNK; (void)memset(m, 0, sizeof(*m)); m->factor_op = FILE_FACTOR_OP_NONE; m->cont_level = 0; @@ -1353,12 +1656,54 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, EATAB; #endif + /* + * Parse the type. + */ if (*l == 'u') { - ++l; - m->flag |= UNSIGNED; + /* + * Try it as a keyword type prefixed by "u"; match what + * follows the "u". If that fails, try it as an SUS + * integer type. + */ + m->type = get_type(type_tbl, l + 1, &l); + if (m->type == FILE_INVALID) { + /* + * Not a keyword type; parse it as an SUS type, + * 'u' possibly followed by a number or C/S/L. + */ + m->type = get_standard_integer_type(l, &l); + } + // It's unsigned. + if (m->type != FILE_INVALID) + m->flag |= UNSIGNED; + } else { + /* + * Try it as a keyword type. If that fails, try it as + * an SUS integer type if it begins with "d" or as an + * SUS string type if it begins with "s". In any case, + * it's not unsigned. + */ + m->type = get_type(type_tbl, l, &l); + if (m->type == FILE_INVALID) { + /* + * Not a keyword type; parse it as an SUS type, + * either 'd' possibly followed by a number or + * C/S/L, or just 's'. + */ + if (*l == 'd') + m->type = get_standard_integer_type(l, &l); + else if (*l == 's' && !isalpha((unsigned char)l[1])) { + m->type = FILE_STRING; + ++l; + } + } } - m->type = get_type(l, &l); + if (m->type == FILE_INVALID) { + /* Not found - try it as a special keyword. */ + m->type = get_type(special_tbl, l, &l); + } + if (m->type == FILE_INVALID) { if (ms->flags & MAGIC_CHECK) file_magwarn(ms, "type `%s' invalid", l); @@ -1431,6 +1776,9 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, case CHAR_TEXTTEST: m->str_flags |= STRING_TEXTTEST; break; + case CHAR_TRIM: + m->str_flags |= STRING_TRIM; + break; case CHAR_PSTRING_1_LE: if (m->type != FILE_PSTRING) goto bad; @@ -1573,8 +1921,6 @@ parse(struct magic_set *ms, struct magic_entry **mentryp, uint32_t *nmentryp, } #endif m->mimetype[0] = '\0'; /* initialise MIME type to none */ - if (m->cont_level == 0) - ++(*nmentryp); /* make room for next */ return 0; } @@ -1738,6 +2084,7 @@ check_format_type(const char *ptr, int type) case 'i': case 'd': case 'u': + case 'o': case 'x': case 'X': return 0; @@ -1752,6 +2099,7 @@ check_format_type(const char *ptr, int type) case 'i': case 'd': case 'u': + case 'o': case 'x': case 'X': return 0; @@ -1768,6 +2116,7 @@ check_format_type(const char *ptr, int type) case 'c': case 'd': case 'u': + case 'o': case 'x': case 'X': return 0; @@ -1896,6 +2245,8 @@ getvalue(struct magic_set *ms, struct magic *m, const char **p, int action) case FILE_PSTRING: case FILE_REGEX: case FILE_SEARCH: + case FILE_NAME: + case FILE_USE: *p = getstr(ms, m, *p, action == FILE_COMPILE); if (*p == NULL) { if (ms->flags & MAGIC_CHECK) @@ -2205,60 +2556,67 @@ eatsize(const char **p) /* * handle a compiled file. */ -private int -apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, - const char *fn) + +private struct magic_map * +apprentice_map(struct magic_set *ms, const char *fn) { int fd; struct stat st; uint32_t *ptr; - uint32_t version; + uint32_t version, entries, nentries; int needsbyteswap; char *dbname = NULL; - void *mm = NULL; + struct magic_map *map; + size_t i; + + fd = -1; + if ((map = CAST(struct magic_map *, calloc(1, sizeof(*map)))) == NULL) { + file_oomem(ms, sizeof(*map)); + goto error; + } dbname = mkdbname(ms, fn, 0); if (dbname == NULL) - goto error2; + goto error; if ((fd = open(dbname, O_RDONLY|O_BINARY)) == -1) - goto error2; + goto error; if (fstat(fd, &st) == -1) { file_error(ms, errno, "cannot stat `%s'", dbname); - goto error1; + goto error; } if (st.st_size < 8) { file_error(ms, 0, "file `%s' is too small", dbname); - goto error1; + goto error; } + map->len = (size_t)st.st_size; #ifdef QUICK - if ((mm = mmap(0, (size_t)st.st_size, PROT_READ|PROT_WRITE, + if ((map->p = mmap(0, (size_t)st.st_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FILE, fd, (off_t)0)) == MAP_FAILED) { file_error(ms, errno, "cannot map `%s'", dbname); - goto error1; + goto error; } -#define RET 2 #else - if ((mm = CAST(void *, malloc((size_t)st.st_size))) == NULL) { - file_oomem(ms, (size_t)st.st_size); - goto error1; + if ((map->p = CAST(void *, malloc(map->len))) == NULL) { + file_oomem(ms, map->len); + goto error; } - if (read(fd, mm, (size_t)st.st_size) != (ssize_t)st.st_size) { + if (read(fd, map->p, map->len) != (ssize_t)map->len) { file_badread(ms); - goto error1; + goto error; } + map->len = 0; #define RET 1 #endif - *magicp = CAST(struct magic *, mm); (void)close(fd); fd = -1; - ptr = (uint32_t *)(void *)*magicp; + ptr = CAST(uint32_t *, map->p); if (*ptr != MAGICNO) { if (swap4(*ptr) != MAGICNO) { file_error(ms, 0, "bad magic in `%s'", dbname); - goto error1; + goto error; } needsbyteswap = 1; } else @@ -2271,55 +2629,70 @@ apprentice_map(struct magic_set *ms, struct magic **magicp, uint32_t *nmagicp, file_error(ms, 0, "File %s supports only version %d magic " "files. `%s' is version %d", VERSION, VERSIONNO, dbname, version); - goto error1; + goto error; + } + entries = (uint32_t)(st.st_size / sizeof(struct magic)); + if ((off_t)(entries * sizeof(struct magic)) != st.st_size) { + file_error(ms, 0, "Size of `%s' %llu is not a multiple of %zu", + dbname, (unsigned long long)st.st_size, + sizeof(struct magic)); + goto error; + } + map->magic[0] = CAST(struct magic *, map->p) + 1; + nentries = 0; + for (i = 0; i < MAGIC_SETS; i++) { + if (needsbyteswap) + map->nmagic[i] = swap4(ptr[i + 2]); + else + map->nmagic[i] = ptr[i + 2]; + if (i != MAGIC_SETS - 1) + map->magic[i + 1] = map->magic[i] + map->nmagic[i]; + nentries += map->nmagic[i]; + } + if (entries != nentries + 1) { + file_error(ms, 0, "Inconsistent entries in `%s' %u != %u", + dbname, entries, nentries + 1); + goto error; } - *nmagicp = (uint32_t)(st.st_size / sizeof(struct magic)); - if (*nmagicp > 0) - (*nmagicp)--; - (*magicp)++; if (needsbyteswap) - byteswap(*magicp, *nmagicp); + for (i = 0; i < MAGIC_SETS; i++) + byteswap(map->magic[i], map->nmagic[i]); free(dbname); - return RET; + return map; -error1: +error: if (fd != -1) (void)close(fd); - if (mm) { -#ifdef QUICK - (void)munmap((void *)mm, (size_t)st.st_size); -#else - free(mm); -#endif - } else { - *magicp = NULL; - *nmagicp = 0; - } -error2: + apprentice_unmap(map); free(dbname); - return -1; + return NULL; } private const uint32_t ar[] = { MAGICNO, VERSIONNO }; + /* * handle an mmaped file. */ private int -apprentice_compile(struct magic_set *ms, struct magic **magicp, - uint32_t *nmagicp, const char *fn) +apprentice_compile(struct magic_set *ms, struct magic_map *map, const char *fn) { + static const size_t nm = sizeof(*map->nmagic) * MAGIC_SETS; + static const size_t m = sizeof(**map->magic); int fd = -1; + size_t len; char *dbname; int rv = -1; + uint32_t i; dbname = mkdbname(ms, fn, 1); if (dbname == NULL) goto out; - if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644)) == -1) { + if ((fd = open(dbname, O_WRONLY|O_CREAT|O_TRUNC|O_BINARY, 0644)) == -1) + { file_error(ms, errno, "cannot open `%s'", dbname); goto out; } @@ -2329,16 +2702,24 @@ apprentice_compile(struct magic_set *ms, struct magic **magicp, goto out; } - if (lseek(fd, (off_t)sizeof(struct magic), SEEK_SET) - != sizeof(struct magic)) { + if (write(fd, map->nmagic, nm) != (ssize_t)nm) { + file_error(ms, errno, "error writing `%s'", dbname); + goto out; + } + + assert(nm + sizeof(ar) < m); + + if (lseek(fd, (off_t)m, SEEK_SET) != (off_t)m) { file_error(ms, errno, "error seeking `%s'", dbname); goto out; } - if (write(fd, *magicp, (sizeof(struct magic) * *nmagicp)) - != (ssize_t)(sizeof(struct magic) * *nmagicp)) { - file_error(ms, errno, "error writing `%s'", dbname); - goto out; + for (i = 0; i < MAGIC_SETS; i++) { + len = m * map->nmagic[i]; + if (write(fd, map->magic[i], len) != (ssize_t)len) { + file_error(ms, errno, "error writing `%s'", dbname); + goto out; + } } if (fd != -1) @@ -2379,14 +2760,16 @@ mkdbname(struct magic_set *ms, const char *fn, int strip) q++; /* Compatibility with old code that looked in .mime */ if (ms->flags & MAGIC_MIME) { - asprintf(&buf, "%.*s.mime%s", (int)(q - fn), fn, ext); + if (asprintf(&buf, "%.*s.mime%s", (int)(q - fn), fn, ext) < 0) + return NULL; if (access(buf, R_OK) != -1) { ms->flags &= MAGIC_MIME_TYPE; return buf; } free(buf); } - asprintf(&buf, "%.*s%s", (int)(q - fn), fn, ext); + if (asprintf(&buf, "%.*s%s", (int)(q - fn), fn, ext) < 0) + return NULL; /* Compatibility with old code that looked in .mime */ if (strstr(p, ".mime") != NULL) @@ -2533,3 +2916,30 @@ file_pstring_get_length(const struct magic *m, const char *s) return len; } + +protected int +file_magicfind(struct magic_set *ms, const char *name, struct mlist *v) +{ + uint32_t i, j; + struct mlist *mlist, *ml; + + mlist = ms->mlist[1]; + + for (ml = mlist->next; ml != mlist; ml = ml->next) { + struct magic *ma = ml->magic; + uint32_t nma = ml->nmagic; + for (i = 0; i < nma; i++) { + if (ma[i].type != FILE_NAME) + continue; + if (strcmp(ma[i].value.s, name) == 0) { + v->magic = &ma[i]; + for (j = i + 1; j < nma; j++) + if (ma[j].cont_level == 0) + break; + v->nmagic = j - i; + return 0; + } + } + } + return -1; +} diff --git a/external/bsd/file/dist/src/ascmagic.c b/external/bsd/file/dist/src/ascmagic.c index a1ab98900..ab06c8439 100644 --- a/external/bsd/file/dist/src/ascmagic.c +++ b/external/bsd/file/dist/src/ascmagic.c @@ -1,4 +1,4 @@ -/* $NetBSD: ascmagic.c,v 1.1.1.3 2012/02/22 17:48:22 christos Exp $ */ +/* $NetBSD: ascmagic.c,v 1.1.1.4 2013/01/03 16:27:52 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -38,9 +38,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: ascmagic.c,v 1.84 2011/12/08 12:38:24 rrt Exp $") +FILE_RCSID("@(#)$File: ascmagic.c,v 1.85 2012/08/09 16:33:15 christos Exp $") #else -__RCSID("$NetBSD: ascmagic.c,v 1.1.1.3 2012/02/22 17:48:22 christos Exp $"); +__RCSID("$NetBSD: ascmagic.c,v 1.1.1.4 2013/01/03 16:27:52 christos Exp $"); #endif #endif /* lint */ @@ -140,7 +140,7 @@ file_ascmagic_with_encoding(struct magic_set *ms, const unsigned char *buf, goto done; } - if ((ms->flags & MAGIC_NO_CHECK_SOFT) == 0) { + if (ulen > 0 && (ms->flags & MAGIC_NO_CHECK_SOFT) == 0) { /* Convert ubuf to UTF-8 and try text soft magic */ /* malloc size is a conservative overestimate; could be improved, or at least realloced after conversion. */ diff --git a/external/bsd/file/dist/src/asctime_r.c b/external/bsd/file/dist/src/asctime_r.c new file mode 100644 index 000000000..a9c17d36d --- /dev/null +++ b/external/bsd/file/dist/src/asctime_r.c @@ -0,0 +1,25 @@ +/* $NetBSD: asctime_r.c,v 1.1.1.1 2013/01/03 16:27:51 christos Exp $ */ + +/* $File: asctime_r.c,v 1.1 2012/05/15 17:14:36 christos Exp $ */ + +#include "file.h" +#ifndef lint +#if 0 +FILE_RCSID("@(#)$File: asctime_r.c,v 1.1 2012/05/15 17:14:36 christos Exp $") +#else +__RCSID("$NetBSD: asctime_r.c,v 1.1.1.1 2013/01/03 16:27:51 christos Exp $"); +#endif +#endif /* lint */ +#include +#include + +/* asctime_r is not thread-safe anyway */ +char * +asctime_r(const struct tm *t, char *dst) +{ + char *p = asctime(t); + if (p == NULL) + return NULL; + memcpy(dst, p, 26); + return dst; +} diff --git a/external/bsd/file/dist/src/cdf.c b/external/bsd/file/dist/src/cdf.c index 7ec60c4c0..de680b859 100644 --- a/external/bsd/file/dist/src/cdf.c +++ b/external/bsd/file/dist/src/cdf.c @@ -1,4 +1,4 @@ -/* $NetBSD: cdf.c,v 1.6 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: cdf.c,v 1.8 2013/03/23 16:15:58 christos Exp $ */ /*- * Copyright (c) 2008 Christos Zoulas @@ -38,9 +38,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: cdf.c,v 1.50 2012/02/20 22:35:29 christos Exp $") +FILE_RCSID("@(#)$File: cdf.c,v 1.53 2013/02/26 16:20:42 christos Exp $") #else -__RCSID("$NetBSD: cdf.c,v 1.6 2012/02/22 17:53:51 christos Exp $"); +__RCSID("$NetBSD: cdf.c,v 1.8 2013/03/23 16:15:58 christos Exp $"); #endif #endif @@ -274,10 +274,10 @@ cdf_check_stream_offset(const cdf_stream_t *sst, const cdf_header_t *h, const char *b = (const char *)sst->sst_tab; const char *e = ((const char *)p) + tail; (void)&line; - if (e >= b && (size_t)(e - b) < CDF_SEC_SIZE(h) * sst->sst_len) + if (e >= b && (size_t)(e - b) <= CDF_SEC_SIZE(h) * sst->sst_len) return 0; - DPRINTF(("%d: offset begin %p end %p %" SIZE_T_FORMAT "u" - " >= %" SIZE_T_FORMAT "u [%" SIZE_T_FORMAT "u %" + DPRINTF(("%d: offset begin %p < end %p || %" SIZE_T_FORMAT "u" + " > %" SIZE_T_FORMAT "u [%" SIZE_T_FORMAT "u %" SIZE_T_FORMAT "u]\n", line, b, e, (size_t)(e - b), CDF_SEC_SIZE(h) * sst->sst_len, CDF_SEC_SIZE(h), sst->sst_len)); errno = EFTYPE; @@ -302,10 +302,7 @@ cdf_read(const cdf_info_t *info, off_t off, void *buf, size_t len) if (info->i_fd == -1) return -1; - if (lseek(info->i_fd, off, SEEK_SET) == (off_t)-1) - return -1; - - if (read(info->i_fd, buf, len) != (ssize_t)len) + if (pread(info->i_fd, buf, len, off) != (ssize_t)len) return -1; return (ssize_t)len; diff --git a/external/bsd/file/dist/src/cdf.h b/external/bsd/file/dist/src/cdf.h index e5e1bc97f..07c5782ef 100644 --- a/external/bsd/file/dist/src/cdf.h +++ b/external/bsd/file/dist/src/cdf.h @@ -1,4 +1,4 @@ -/* $NetBSD: cdf.h,v 1.1.1.3 2012/02/22 17:48:26 christos Exp $ */ +/* $NetBSD: cdf.h,v 1.1.1.4 2013/01/03 16:27:53 christos Exp $ */ /*- * Copyright (c) 2008 Christos Zoulas @@ -310,7 +310,7 @@ int cdf_print_elapsed_time(char *, size_t, cdf_timestamp_t); uint16_t cdf_tole2(uint16_t); uint32_t cdf_tole4(uint32_t); uint64_t cdf_tole8(uint64_t); -char *cdf_ctime(const time_t *); +char *cdf_ctime(const time_t *, char *); #ifdef CDF_DEBUG void cdf_dump_header(const cdf_header_t *); diff --git a/external/bsd/file/dist/src/cdf_time.c b/external/bsd/file/dist/src/cdf_time.c index 40b3bb62f..3ffbf44c9 100644 --- a/external/bsd/file/dist/src/cdf_time.c +++ b/external/bsd/file/dist/src/cdf_time.c @@ -1,4 +1,4 @@ -/* $NetBSD: cdf_time.c,v 1.4 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: cdf_time.c,v 1.5 2013/01/03 23:05:38 christos Exp $ */ /*- * Copyright (c) 2008 Christos Zoulas @@ -30,9 +30,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: cdf_time.c,v 1.11 2011/12/13 13:48:41 christos Exp $") +FILE_RCSID("@(#)$File: cdf_time.c,v 1.12 2012/05/15 17:14:36 christos Exp $") #else -__RCSID("$NetBSD: cdf_time.c,v 1.4 2012/02/22 17:53:51 christos Exp $"); +__RCSID("$NetBSD: cdf_time.c,v 1.5 2013/01/03 23:05:38 christos Exp $"); #endif #endif @@ -172,15 +172,13 @@ cdf_timespec_to_timestamp(cdf_timestamp_t *t, const struct timespec *ts) } char * -cdf_ctime(const time_t *sec) +cdf_ctime(const time_t *sec, char *buf) { - static char ctbuf[26]; - char *ptr = ctime(sec); + char *ptr = ctime_r(sec, buf); if (ptr != NULL) - return ptr; - (void)snprintf(ctbuf, sizeof(ctbuf), "*Bad* 0x%16.16llx\n", - (long long)*sec); - return ctbuf; + return buf; + (void)snprintf(buf, 26, "*Bad* 0x%16.16llx\n", (long long)*sec); + return buf; } @@ -189,12 +187,13 @@ int main(int argc, char *argv[]) { struct timespec ts; + char buf[25]; static const cdf_timestamp_t tst = 0x01A5E403C2D59C00ULL; static const char *ref = "Sat Apr 23 01:30:00 1977"; char *p, *q; cdf_timestamp_to_timespec(&ts, tst); - p = cdf_ctime(&ts.tv_sec); + p = cdf_ctime(&ts.tv_sec, buf); if ((q = strchr(p, '\n')) != NULL) *q = '\0'; if (strcmp(ref, p) != 0) diff --git a/external/bsd/file/dist/src/compress.c b/external/bsd/file/dist/src/compress.c index 3f052f23b..5895c6bf8 100644 --- a/external/bsd/file/dist/src/compress.c +++ b/external/bsd/file/dist/src/compress.c @@ -1,4 +1,4 @@ -/* $NetBSD: compress.c,v 1.5 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: compress.c,v 1.7 2013/11/28 14:40:00 joerg Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -38,9 +38,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: compress.c,v 1.68 2011/12/08 12:38:24 rrt Exp $") +FILE_RCSID("@(#)$File: compress.c,v 1.70 2012/11/07 17:54:48 christos Exp $") #else -__RCSID("$NetBSD: compress.c,v 1.5 2012/02/22 17:53:51 christos Exp $"); +__RCSID("$NetBSD: compress.c,v 1.7 2013/11/28 14:40:00 joerg Exp $"); #endif #endif @@ -174,12 +174,9 @@ swrite(int fd, const void *buf, size_t n) * `safe' read for sockets and pipes. */ protected ssize_t -sread(int fd, void *buf, size_t n, int canbepipe __attribute__ ((unused))) +sread(int fd, void *buf, size_t n, int canbepipe __attribute__((__unused__))) { ssize_t rv; -#ifdef FD_ZERO - ssize_t cnt; -#endif #ifdef FIONREAD int t = 0; #endif @@ -189,8 +186,9 @@ sread(int fd, void *buf, size_t n, int canbepipe __attribute__ ((unused))) goto nocheck; #ifdef FIONREAD - if ((canbepipe && (ioctl(fd, FIONREAD, &t) == -1)) || (t == 0)) { + if (canbepipe && (ioctl(fd, FIONREAD, &t) == -1 || t == 0)) { #ifdef FD_ZERO + ssize_t cnt; for (cnt = 0;; cnt++) { fd_set check; struct timeval tout = {0, 100 * 1000}; @@ -247,9 +245,6 @@ file_pipe2file(struct magic_set *ms, int fd, const void *startbuf, char buf[4096]; ssize_t r; int tfd; -#ifdef HAVE_MKSTEMP - int te; -#endif (void)strlcpy(buf, "/tmp/file.XXXXXX", sizeof buf); #ifndef HAVE_MKSTEMP @@ -261,10 +256,13 @@ file_pipe2file(struct magic_set *ms, int fd, const void *startbuf, errno = r; } #else - tfd = mkstemp(buf); - te = errno; - (void)unlink(buf); - errno = te; + { + int te; + tfd = mkstemp(buf); + te = errno; + (void)unlink(buf); + errno = te; + } #endif if (tfd == -1) { file_error(ms, errno, @@ -405,16 +403,19 @@ uncompressbuf(struct magic_set *ms, int fd, size_t method, case 0: /* child */ (void) close(0); if (fd != -1) { - (void) dup(fd); + if (dup(fd) == -1) + _exit(1); (void) lseek(0, (off_t)0, SEEK_SET); } else { - (void) dup(fdin[0]); + if (dup(fdin[0]) == -1) + _exit(1); (void) close(fdin[0]); (void) close(fdin[1]); } (void) close(1); - (void) dup(fdout[1]); + if (dup(fdout[1]) == -1) + _exit(1); (void) close(fdout[0]); (void) close(fdout[1]); #ifndef DEBUG @@ -486,7 +487,7 @@ uncompressbuf(struct magic_set *ms, int fd, size_t method, #endif free(*newch); n = 0; - newch[0] = '\0'; + *newch = NULL; goto err; } else { n = r; diff --git a/external/bsd/file/dist/src/ctime_r.c b/external/bsd/file/dist/src/ctime_r.c new file mode 100644 index 000000000..20277bfb0 --- /dev/null +++ b/external/bsd/file/dist/src/ctime_r.c @@ -0,0 +1,25 @@ +/* $NetBSD: ctime_r.c,v 1.1.1.1 2013/01/03 16:27:51 christos Exp $ */ + +/* $File: ctime_r.c,v 1.1 2012/05/15 17:14:36 christos Exp $ */ + +#include "file.h" +#ifndef lint +#if 0 +FILE_RCSID("@(#)$File: ctime_r.c,v 1.1 2012/05/15 17:14:36 christos Exp $") +#else +__RCSID("$NetBSD: ctime_r.c,v 1.1.1.1 2013/01/03 16:27:51 christos Exp $"); +#endif +#endif /* lint */ +#include +#include + +/* ctime_r is not thread-safe anyway */ +char * +ctime_r(const time_t *t, char *dst) +{ + char *p = ctime(t); + if (p == NULL) + return NULL; + memcpy(dst, p, 26); + return dst; +} diff --git a/external/bsd/file/dist/src/elfclass.h b/external/bsd/file/dist/src/elfclass.h index 0fed622ad..aa8bd8f9f 100644 --- a/external/bsd/file/dist/src/elfclass.h +++ b/external/bsd/file/dist/src/elfclass.h @@ -1,4 +1,4 @@ -/* $NetBSD: elfclass.h,v 1.1.1.3 2011/09/16 20:37:39 christos Exp $ */ +/* $NetBSD: elfclass.h,v 1.1.1.4 2013/03/23 15:49:16 christos Exp $ */ /* * Copyright (c) Christos Zoulas 2008. @@ -61,7 +61,8 @@ (off_t)elf_getu(swap, elfhdr.e_shoff), elf_getu16(swap, elfhdr.e_shnum), (size_t)elf_getu16(swap, elfhdr.e_shentsize), - fsize, &flags, elf_getu16(swap, elfhdr.e_machine)) == -1) + fsize, &flags, elf_getu16(swap, elfhdr.e_machine), + (int)elf_getu16(swap, elfhdr.e_shstrndx)) == -1) return -1; break; diff --git a/external/bsd/file/dist/src/file.c b/external/bsd/file/dist/src/file.c index 73437048b..c112e3a1c 100644 --- a/external/bsd/file/dist/src/file.c +++ b/external/bsd/file/dist/src/file.c @@ -1,4 +1,4 @@ -/* $NetBSD: file.c,v 1.1.1.3 2012/02/22 17:48:26 christos Exp $ */ +/* $NetBSD: file.c,v 1.1.1.5 2013/03/23 15:49:16 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -35,9 +35,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: file.c,v 1.145 2011/12/08 12:12:46 rrt Exp $") +FILE_RCSID("@(#)$File: file.c,v 1.149 2013/01/07 18:20:19 christos Exp $") #else -__RCSID("$NetBSD: file.c,v 1.1.1.3 2012/02/22 17:48:26 christos Exp $"); +__RCSID("$NetBSD: file.c,v 1.1.1.5 2013/03/23 15:49:16 christos Exp $"); #endif #endif /* lint */ @@ -128,8 +128,8 @@ private const struct { private char *progname; /* used throughout */ private void usage(void); +private void docprint(const char *); private void help(void); -int main(int, char *[]); private int unwrap(struct magic_set *, const char *); private int process(struct magic_set *ms, const char *, int); @@ -258,7 +258,7 @@ main(int argc, char *argv[]) (void)fprintf(stdout, "%s-%s\n", progname, VERSION); (void)fprintf(stdout, "magic file from %s\n", magicfile); - return 1; + return 0; case 'z': flags |= MAGIC_COMPRESS; break; @@ -282,6 +282,11 @@ main(int argc, char *argv[]) if (e) return e; + if (MAGIC_VERSION != magic_version()) + (void)fprintf(stderr, "%s: compiled magic version [%d] " + "does not match with shared library magic version [%d]\n", + progname, MAGIC_VERSION, magic_version()); + switch(action) { case FILE_CHECK: case FILE_COMPILE: @@ -443,7 +448,7 @@ process(struct magic_set *ms, const char *inname, int wid) } } -size_t +protected size_t file_mbswidth(const char *s) { #if defined(HAVE_WCHAR_H) && defined(HAVE_MBRTOWC) && defined(HAVE_WCWIDTH) @@ -484,6 +489,36 @@ usage(void) exit(1); } +private void +docprint(const char *opts) +{ + size_t i; + int comma; + char *sp, *p; + + p = strstr(opts, "%o"); + if (p == NULL) { + fprintf(stdout, "%s", opts); + return; + } + + for (sp = p - 1; sp > opts && *sp == ' '; sp--) + continue; + + fprintf(stdout, "%.*s", (int)(p - opts), opts); + + comma = 0; + for (i = 0; i < __arraycount(nv); i++) { + fprintf(stdout, "%s%s", comma++ ? ", " : "", nv[i].name); + if (i && i % 5 == 0) { + fprintf(stdout, ",\n%*s", (int)(p - sp - 1), ""); + comma = 0; + } + } + + fprintf(stdout, "%s", opts + (p - opts) + 2); +} + private void help(void) { @@ -492,9 +527,11 @@ help(void) "Determine type of FILEs.\n" "\n", stdout); #define OPT(shortname, longname, opt, doc) \ - fprintf(stdout, " -%c, --" longname doc, shortname); + fprintf(stdout, " -%c, --" longname, shortname), \ + docprint(doc); #define OPT_LONGONLY(longname, opt, doc) \ - fprintf(stdout, " --" longname doc); + fprintf(stdout, " --" longname), \ + docprint(doc); #include "file_opts.h" #undef OPT #undef OPT_LONGONLY diff --git a/external/bsd/file/dist/src/file.h b/external/bsd/file/dist/src/file.h index a112f47b3..763263034 100644 --- a/external/bsd/file/dist/src/file.h +++ b/external/bsd/file/dist/src/file.h @@ -1,4 +1,4 @@ -/* $NetBSD: file.h,v 1.6 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: file.h,v 1.8 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -29,7 +29,7 @@ */ /* * file.h - definitions for file(1) program - * @(#)$File: file.h,v 1.135 2011/09/20 15:30:14 christos Exp $ + * @(#)$File: file.h,v 1.144 2013/02/18 15:40:59 christos Exp $ */ #ifndef __file_h__ @@ -64,6 +64,7 @@ #include #endif #include +#include #include #include /* Do this here and now, because struct stat gets re-defined on solaris */ @@ -83,10 +84,18 @@ #endif #define private static + +#if HAVE_VISIBILITY +#define public __attribute__ ((__visibility__("default"))) +#ifndef protected +#define protected __attribute__ ((__visibility__("hidden"))) +#endif +#else +#define public #ifndef protected #define protected #endif -#define public +#endif #ifndef __arraycount #define __arraycount(a) (sizeof(a) / sizeof(a[0])) @@ -121,12 +130,13 @@ #endif #define MAXMAGIS 8192 /* max entries in any one magic file or directory */ -#define MAXDESC 64 /* max leng of text description/MIME type */ -#define MAXstring 64 /* max leng of "string" types */ +#define MAXDESC 64 /* max len of text description/MIME type */ +#define MAXMIME 80 /* max len of text MIME type */ +#define MAXstring 64 /* max len of "string" types */ #define MAGICNO 0xF11E041C -#define VERSIONNO 8 -#define FILE_MAGICSIZE 232 +#define VERSIONNO 10 +#define FILE_MAGICSIZE 248 #define FILE_LOAD 0 #define FILE_CHECK 1 @@ -209,7 +219,12 @@ struct magic { #define FILE_BEID3 39 #define FILE_LEID3 40 #define FILE_INDIRECT 41 -#define FILE_NAMES_SIZE 42/* size of array to contain all names */ +#define FILE_QWDATE 42 +#define FILE_LEQWDATE 43 +#define FILE_BEQWDATE 44 +#define FILE_NAME 45 +#define FILE_USE 46 +#define FILE_NAMES_SIZE 47 /* size of array to contain all names */ #define IS_STRING(t) \ ((t) == FILE_STRING || \ @@ -218,6 +233,8 @@ struct magic { (t) == FILE_LESTRING16 || \ (t) == FILE_REGEX || \ (t) == FILE_SEARCH || \ + (t) == FILE_NAME || \ + (t) == FILE_USE || \ (t) == FILE_DEFAULT) #define FILE_FMT_NONE 0 @@ -286,9 +303,9 @@ struct magic { union VALUETYPE value; /* either number or string */ /* Words 17-32 */ char desc[MAXDESC]; /* description */ - /* Words 33-48 */ - char mimetype[MAXDESC]; /* MIME type */ - /* Words 49-50 */ + /* Words 33-52 */ + char mimetype[MAXMIME]; /* MIME type */ + /* Words 53-54 */ char apple[8]; }; @@ -309,12 +326,14 @@ struct magic { #define PSTRING_LEN \ (PSTRING_1_BE|PSTRING_2_LE|PSTRING_2_BE|PSTRING_4_LE|PSTRING_4_BE) #define PSTRING_LENGTH_INCLUDES_ITSELF BIT(12) +#define STRING_TRIM BIT(13) #define CHAR_COMPACT_WHITESPACE 'W' #define CHAR_COMPACT_OPTIONAL_WHITESPACE 'w' #define CHAR_IGNORE_LOWERCASE 'c' #define CHAR_IGNORE_UPPERCASE 'C' #define CHAR_REGEX_OFFSET_START 's' #define CHAR_TEXTTEST 't' +#define CHAR_TRIM 'T' #define CHAR_BINTEST 'b' #define CHAR_PSTRING_1_BE 'B' #define CHAR_PSTRING_1_LE 'B' @@ -330,10 +349,8 @@ struct magic { /* list of magic entries */ struct mlist { struct magic *magic; /* array of magic entries */ - uint32_t nmagic; /* number of entries in array */ - int mapped; /* allocation type: 0 => apprentice_file - * 1 => apprentice_map + malloc - * 2 => apprentice_map + mmap */ + uint32_t nmagic; /* number of entries in array */ + void *map; /* internal resources used by entry */ struct mlist *next, *prev; }; @@ -353,8 +370,11 @@ struct level_info { int last_cond; /* used for error checking by parse() */ #endif }; + +#define MAGIC_SETS 2 + struct magic_set { - struct mlist *mlist; + struct mlist *mlist[MAGIC_SETS]; /* list of regular entries */ struct cont { size_t len; struct level_info *li; @@ -388,7 +408,11 @@ struct magic_set { typedef unsigned long unichar; struct stat; -protected const char *file_fmttime(uint32_t, int); +#define FILE_T_LOCAL 1 +#define FILE_T_WINDOWS 2 +protected const char *file_fmttime(uint64_t, int, char *); +protected struct magic_set *file_ms_alloc(int); +protected void file_ms_free(struct magic_set *); protected int file_buffer(struct magic_set *, int, const char *, const void *, size_t); protected int file_fsmagic(struct magic_set *, const char *, struct stat *); @@ -417,10 +441,10 @@ protected int file_encoding(struct magic_set *, const unsigned char *, size_t, protected int file_is_tar(struct magic_set *, const unsigned char *, size_t); protected int file_softmagic(struct magic_set *, const unsigned char *, size_t, int, int); -protected struct mlist *file_apprentice(struct magic_set *, const char *, int); +protected int file_apprentice(struct magic_set *, const char *, int); +protected int file_magicfind(struct magic_set *, const char *, struct mlist *); protected uint64_t file_signextend(struct magic_set *, struct magic *, uint64_t); -protected void file_delmagic(struct magic *, int type, size_t entries); protected void file_badread(struct magic_set *); protected void file_badseek(struct magic_set *); protected void file_oomem(struct magic_set *, size_t); @@ -462,6 +486,9 @@ extern char *sys_errlist[]; #define strtoul(a, b, c) strtol(a, b, c) #endif +#ifndef HAVE_PREAD +ssize_t pread(int, void *, size_t, off_t); +#endif #ifndef HAVE_VASPRINTF int vasprintf(char **, const char *, va_list); #endif @@ -479,6 +506,12 @@ size_t strlcat(char *dst, const char *src, size_t siz); ssize_t getline(char **dst, size_t *len, FILE *fp); ssize_t getdelim(char **dst, size_t *len, int delimiter, FILE *fp); #endif +#ifndef HAVE_CTIME_R +char *ctime_r(const time_t *, char *); +#endif +#ifndef HAVE_ASCTIME_R +char *asctime_r(const struct tm *, char *); +#endif #if defined(HAVE_MMAP) && defined(HAVE_SYS_MMAN_H) && !defined(QUICK) #define QUICK diff --git a/external/bsd/file/dist/src/file_opts.h b/external/bsd/file/dist/src/file_opts.h index b1d327f98..bf7028534 100644 --- a/external/bsd/file/dist/src/file_opts.h +++ b/external/bsd/file/dist/src/file_opts.h @@ -1,4 +1,4 @@ -/* $NetBSD: file_opts.h,v 1.1.1.2 2011/05/12 20:46:54 christos Exp $ */ +/* $NetBSD: file_opts.h,v 1.1.1.3 2013/01/03 16:27:52 christos Exp $ */ /* * Table of command-line options @@ -25,7 +25,7 @@ OPT('c', "checking-printout", 0, " print the parsed form of the magic file, u " before installing it\n") OPT('e', "exclude", 1, " TEST exclude TEST from the list of test to be\n" " performed for file. Valid tests are:\n" - " ascii, apptype, compress, elf, soft, tar, tokens, troff\n") + " %o\n") OPT('f', "files-from", 1, " FILE read the filenames to be examined from FILE\n") OPT('F', "separator", 1, " STRING use string as separator instead of `:'\n") OPT('i', "mime", 0, " output MIME type strings (--mime-type and\n" diff --git a/external/bsd/file/dist/src/fsmagic.c b/external/bsd/file/dist/src/fsmagic.c index 15ca8c700..380027816 100644 --- a/external/bsd/file/dist/src/fsmagic.c +++ b/external/bsd/file/dist/src/fsmagic.c @@ -1,4 +1,4 @@ -/* $NetBSD: fsmagic.c,v 1.5 2011/09/16 21:06:26 christos Exp $ */ +/* $NetBSD: fsmagic.c,v 1.7 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -35,9 +35,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: fsmagic.c,v 1.64 2011/08/14 09:03:12 christos Exp $") +FILE_RCSID("@(#)$File: fsmagic.c,v 1.67 2013/03/17 15:43:20 christos Exp $") #else -__RCSID("$NetBSD: fsmagic.c,v 1.5 2011/09/16 21:06:26 christos Exp $"); +__RCSID("$NetBSD: fsmagic.c,v 1.7 2013/03/23 16:15:58 christos Exp $"); #endif #endif /* lint */ @@ -104,7 +104,7 @@ handle_mime(struct magic_set *ms, int mime, const char *str) protected int file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) { - int ret = 0; + int ret, did = 0; int mime = ms->flags & MAGIC_MIME; #ifdef S_IFLNK char buf[BUFSIZ+4]; @@ -117,6 +117,7 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) if (fn == NULL) return 0; +#define COMMA (did++ ? ", " : "") /* * Fstat is cheaper but fails for files you don't have read perms on. * On 4.2BSD and similar systems, use lstat() to identify symlinks. @@ -140,20 +141,21 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) return -1; } + ret = 1; if (!mime) { #ifdef S_ISUID - if (sb->st_mode & S_ISUID) - if (file_printf(ms, "setuid ") == -1) + if (sb->st_mode & S_ISUID) + if (file_printf(ms, "%ssetuid", COMMA) == -1) return -1; #endif #ifdef S_ISGID if (sb->st_mode & S_ISGID) - if (file_printf(ms, "setgid ") == -1) + if (file_printf(ms, "%ssetgid", COMMA) == -1) return -1; #endif #ifdef S_ISVTX if (sb->st_mode & S_ISVTX) - if (file_printf(ms, "sticky ") == -1) + if (file_printf(ms, "%ssticky", COMMA) == -1) return -1; #endif } @@ -163,9 +165,9 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) if (mime) { if (handle_mime(ms, mime, "directory") == -1) return -1; - } else if (file_printf(ms, "directory") == -1) + } else if (file_printf(ms, "%sdirectory", COMMA) == -1) return -1; - return 1; + break; #ifdef S_IFCHR case S_IFCHR: /* @@ -173,30 +175,32 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) * like ordinary files. Otherwise, just report that they * are block special files and go on to the next file. */ - if ((ms->flags & MAGIC_DEVICES) != 0) + if ((ms->flags & MAGIC_DEVICES) != 0) { + ret = 0; break; + } if (mime) { if (handle_mime(ms, mime, "chardevice") == -1) return -1; } else { #ifdef HAVE_STAT_ST_RDEV # ifdef dv_unit - if (file_printf(ms, "character special (%d/%d/%d)", - major(sb->st_rdev), dv_unit(sb->st_rdev), + if (file_printf(ms, "%scharacter special (%d/%d/%d)", + COMMA, major(sb->st_rdev), dv_unit(sb->st_rdev), dv_subunit(sb->st_rdev)) == -1) return -1; # else - if (file_printf(ms, "character special (%ld/%ld)", - (long)major(sb->st_rdev), (long)minor(sb->st_rdev)) - == -1) + if (file_printf(ms, "%scharacter special (%ld/%ld)", + COMMA, (long)major(sb->st_rdev), + (long)minor(sb->st_rdev)) == -1) return -1; # endif #else - if (file_printf(ms, "character special") == -1) + if (file_printf(ms, "%scharacter special", COMMA) == -1) return -1; #endif } - return 1; + break; #endif #ifdef S_IFBLK case S_IFBLK: @@ -205,29 +209,32 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) * like ordinary files. Otherwise, just report that they * are block special files and go on to the next file. */ - if ((ms->flags & MAGIC_DEVICES) != 0) + if ((ms->flags & MAGIC_DEVICES) != 0) { + ret = 0; break; + } if (mime) { if (handle_mime(ms, mime, "blockdevice") == -1) return -1; } else { #ifdef HAVE_STAT_ST_RDEV # ifdef dv_unit - if (file_printf(ms, "block special (%d/%d/%d)", - major(sb->st_rdev), dv_unit(sb->st_rdev), - dv_subunit(sb->st_rdev)) == -1) + if (file_printf(ms, "%sblock special (%d/%d/%d)", + COMMA, major(sb->st_rdev), dv_unit(sb->st_rdev), + dv_subunit(sb->st_rdev)) == -1) return -1; # else - if (file_printf(ms, "block special (%ld/%ld)", - (long)major(sb->st_rdev), (long)minor(sb->st_rdev)) == -1) + if (file_printf(ms, "%sblock special (%ld/%ld)", + COMMA, (long)major(sb->st_rdev), + (long)minor(sb->st_rdev)) == -1) return -1; # endif #else - if (file_printf(ms, "block special") == -1) + if (file_printf(ms, "%sblock special", COMMA) == -1) return -1; #endif } - return 1; + break; #endif /* TODO add code to handle V7 MUX and Blit MUX files */ #ifdef S_IFIFO @@ -237,18 +244,18 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) if (mime) { if (handle_mime(ms, mime, "fifo") == -1) return -1; - } else if (file_printf(ms, "fifo (named pipe)") == -1) + } else if (file_printf(ms, "%sfifo (named pipe)", COMMA) == -1) return -1; - return 1; + break; #endif #ifdef S_IFDOOR case S_IFDOOR: if (mime) { if (handle_mime(ms, mime, "door") == -1) return -1; - } else if (file_printf(ms, "door") == -1) + } else if (file_printf(ms, "%sdoor", COMMA) == -1) return -1; - return 1; + break; #endif #ifdef S_IFLNK case S_IFLNK: @@ -262,10 +269,10 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) if (handle_mime(ms, mime, "symlink") == -1) return -1; } else if (file_printf(ms, - "unreadable symlink `%s' (%s)", fn, + "%sunreadable symlink `%s' (%s)", COMMA, fn, strerror(errno)) == -1) return -1; - return 1; + break; } buf[nch] = '\0'; /* readlink(2) does not do this */ @@ -291,9 +298,10 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) "x-path-too-long") == -1) return -1; } else if (file_printf(ms, - "path too long: `%s'", fn) == -1) + "%spath too long: `%s'", COMMA, + fn) == -1) return -1; - return 1; + break; } /* take dir part */ (void)strlcpy(buf2, fn, sizeof buf2); @@ -312,16 +320,17 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) ms->flags &= MAGIC_SYMLINK; p = magic_file(ms, buf); ms->flags |= MAGIC_SYMLINK; - return p != NULL ? 1 : -1; + if (p == NULL) + return -1; } else { /* just print what it points to */ if (mime) { if (handle_mime(ms, mime, "symlink") == -1) return -1; - } else if (file_printf(ms, "symbolic link to `%s'", - buf) == -1) + } else if (file_printf(ms, "%ssymbolic link to `%s'", + COMMA, buf) == -1) return -1; } - return 1; + break; #endif #ifdef S_IFSOCK #ifndef __COHERENT__ @@ -329,38 +338,44 @@ file_fsmagic(struct magic_set *ms, const char *fn, struct stat *sb) if (mime) { if (handle_mime(ms, mime, "socket") == -1) return -1; - } else if (file_printf(ms, "socket") == -1) + } else if (file_printf(ms, "%ssocket", COMMA) == -1) return -1; - return 1; + break; #endif #endif case S_IFREG: + /* + * regular file, check next possibility + * + * If stat() tells us the file has zero length, report here that + * the file is empty, so we can skip all the work of opening and + * reading the file. + * But if the -s option has been given, we skip this + * optimization, since on some systems, stat() reports zero + * size for raw disk partitions. (If the block special device + * really has zero length, the fact that it is empty will be + * detected and reported correctly when we read the file.) + */ + if ((ms->flags & MAGIC_DEVICES) == 0 && sb->st_size == 0) { + if (mime) { + if (handle_mime(ms, mime, "x-empty") == -1) + return -1; + } else if (file_printf(ms, "%sempty", COMMA) == -1) + return -1; + break; + } + ret = 0; break; + default: file_error(ms, 0, "invalid mode 0%o", sb->st_mode); return -1; /*NOTREACHED*/ } - /* - * regular file, check next possibility - * - * If stat() tells us the file has zero length, report here that - * the file is empty, so we can skip all the work of opening and - * reading the file. - * But if the -s option has been given, we skip this optimization, - * since on some systems, stat() reports zero size for raw disk - * partitions. (If the block special device really has zero length, - * the fact that it is empty will be detected and reported correctly - * when we read the file.) - */ - if ((ms->flags & MAGIC_DEVICES) == 0 && sb->st_size == 0) { - if (mime) { - if (handle_mime(ms, mime, "x-empty") == -1) - return -1; - } else if (file_printf(ms, "empty") == -1) - return -1; - return 1; + if (!mime && did) { + if (file_printf(ms, " ") == -1) + return -1; } - return 0; + return ret; } diff --git a/external/bsd/file/dist/src/funcs.c b/external/bsd/file/dist/src/funcs.c index 6d8a9361c..50344d96e 100644 --- a/external/bsd/file/dist/src/funcs.c +++ b/external/bsd/file/dist/src/funcs.c @@ -1,4 +1,4 @@ -/* $NetBSD: funcs.c,v 1.4 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: funcs.c,v 1.5 2013/01/03 23:05:38 christos Exp $ */ /* * Copyright (c) Christos Zoulas 2003. @@ -30,9 +30,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: funcs.c,v 1.60 2011/12/08 12:38:24 rrt Exp $") +FILE_RCSID("@(#)$File: funcs.c,v 1.61 2012/10/30 23:11:51 christos Exp $") #else -__RCSID("$NetBSD: funcs.c,v 1.4 2012/02/22 17:53:51 christos Exp $"); +__RCSID("$NetBSD: funcs.c,v 1.5 2013/01/03 23:05:38 christos Exp $"); #endif #endif /* lint */ @@ -308,7 +308,7 @@ file_buffer(struct magic_set *ms, int fd, const char *inname __attribute__ ((__u protected int file_reset(struct magic_set *ms) { - if (ms->mlist == NULL) { + if (ms->mlist[0] == NULL) { file_error(ms, 0, "no magic files loaded"); return -1; } diff --git a/external/bsd/file/dist/src/getline.c b/external/bsd/file/dist/src/getline.c index 1fb4d91aa..a721c1272 100644 --- a/external/bsd/file/dist/src/getline.c +++ b/external/bsd/file/dist/src/getline.c @@ -1,4 +1,4 @@ -/* $NetBSD: getline.c,v 1.1.1.2 2012/02/22 17:48:20 christos Exp $ */ +/* $NetBSD: getline.c,v 1.1.1.3 2013/03/23 15:49:15 christos Exp $ */ /* NetBSD: fgetln.c,v 1.9 2008/04/29 06:53:03 martin Exp */ @@ -39,7 +39,7 @@ #include #include -ssize_t +public ssize_t getdelim(char **buf, size_t *bufsiz, int delimiter, FILE *fp) { char *ptr, *eptr; diff --git a/external/bsd/file/dist/src/magic.c b/external/bsd/file/dist/src/magic.c index 4db5b427a..0a8f8a4ff 100644 --- a/external/bsd/file/dist/src/magic.c +++ b/external/bsd/file/dist/src/magic.c @@ -1,4 +1,4 @@ -/* $NetBSD: magic.c,v 1.4 2011/09/16 21:06:26 christos Exp $ */ +/* $NetBSD: magic.c,v 1.6 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Christos Zoulas 2003. @@ -36,9 +36,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: magic.c,v 1.74 2011/05/26 01:27:59 christos Exp $") +FILE_RCSID("@(#)$File: magic.c,v 1.78 2013/01/07 18:20:19 christos Exp $") #else -__RCSID("$NetBSD: magic.c,v 1.4 2011/09/16 21:06:26 christos Exp $"); +__RCSID("$NetBSD: magic.c,v 1.6 2013/03/23 16:15:58 christos Exp $"); #endif #endif /* lint */ @@ -77,7 +77,6 @@ __RCSID("$NetBSD: magic.c,v 1.4 2011/09/16 21:06:26 christos Exp $"); #endif #endif -private void free_mlist(struct mlist *); private void close_and_restore(const struct magic_set *, const char *, int, const struct stat *); private int unreadable_info(struct magic_set *, mode_t, const char *); @@ -107,16 +106,21 @@ get_default_magic(void) if ((home = getenv("HOME")) == NULL) return MAGIC; - if (asprintf(&hmagicpath, "%s/.magic", home) < 0) + if (asprintf(&hmagicpath, "%s/.magic.mgc", home) < 0) return MAGIC; - if (stat(hmagicpath, &st) == -1) - goto out; - if (S_ISDIR(st.st_mode)) { + if (stat(hmagicpath, &st) == -1) { free(hmagicpath); - if (asprintf(&hmagicpath, "%s/%s", home, hmagic) < 0) + if (asprintf(&hmagicpath, "%s/.magic", home) < 0) return MAGIC; - if (access(hmagicpath, R_OK) == -1) + if (stat(hmagicpath, &st) == -1) goto out; + if (S_ISDIR(st.st_mode)) { + free(hmagicpath); + if (asprintf(&hmagicpath, "%s/%s", home, hmagic) < 0) + return MAGIC; + if (access(hmagicpath, R_OK) == -1) + goto out; + } } if (asprintf(&default_magic, "%s:%s", hmagicpath, MAGIC) < 0) @@ -216,51 +220,7 @@ magic_getpath(const char *magicfile, int action) public struct magic_set * magic_open(int flags) { - struct magic_set *ms; - size_t len; - - if ((ms = CAST(struct magic_set *, calloc((size_t)1, - sizeof(struct magic_set)))) == NULL) - return NULL; - - if (magic_setflags(ms, flags) == -1) { - errno = EINVAL; - goto free; - } - - ms->o.buf = ms->o.pbuf = NULL; - len = (ms->c.len = 10) * sizeof(*ms->c.li); - - if ((ms->c.li = CAST(struct level_info *, malloc(len))) == NULL) - goto free; - - ms->event_flags = 0; - ms->error = -1; - ms->mlist = NULL; - ms->file = "unknown"; - ms->line = 0; - return ms; -free: - free(ms); - return NULL; -} - -private void -free_mlist(struct mlist *mlist) -{ - struct mlist *ml; - - if (mlist == NULL) - return; - - for (ml = mlist->next; ml != mlist;) { - struct mlist *next = ml->next; - struct magic *mg = ml->magic; - file_delmagic(mg, ml->mapped, ml->nmagic); - free(ml); - ml = next; - } - free(ml); + return file_ms_alloc(flags); } private int @@ -284,11 +244,9 @@ unreadable_info(struct magic_set *ms, mode_t md, const char *file) public void magic_close(struct magic_set *ms) { - free_mlist(ms->mlist); - free(ms->o.pbuf); - free(ms->o.buf); - free(ms->c.li); - free(ms); + if (ms == NULL) + return; + file_ms_free(ms); } /* @@ -297,37 +255,33 @@ magic_close(struct magic_set *ms) public int magic_load(struct magic_set *ms, const char *magicfile) { - struct mlist *ml = file_apprentice(ms, magicfile, FILE_LOAD); - if (ml) { - free_mlist(ms->mlist); - ms->mlist = ml; - return 0; - } - return -1; + if (ms == NULL) + return -1; + return file_apprentice(ms, magicfile, FILE_LOAD); } public int magic_compile(struct magic_set *ms, const char *magicfile) { - struct mlist *ml = file_apprentice(ms, magicfile, FILE_COMPILE); - free_mlist(ml); - return ml ? 0 : -1; + if (ms == NULL) + return -1; + return file_apprentice(ms, magicfile, FILE_COMPILE); } public int magic_check(struct magic_set *ms, const char *magicfile) { - struct mlist *ml = file_apprentice(ms, magicfile, FILE_CHECK); - free_mlist(ml); - return ml ? 0 : -1; + if (ms == NULL) + return -1; + return file_apprentice(ms, magicfile, FILE_CHECK); } public int magic_list(struct magic_set *ms, const char *magicfile) { - struct mlist *ml = file_apprentice(ms, magicfile, FILE_LIST); - free_mlist(ml); - return ml ? 0 : -1; + if (ms == NULL) + return -1; + return file_apprentice(ms, magicfile, FILE_LIST); } private void @@ -371,6 +325,8 @@ close_and_restore(const struct magic_set *ms, const char *name, int fd, public const char * magic_descriptor(struct magic_set *ms, int fd) { + if (ms == NULL) + return NULL; return file_or_fd(ms, NULL, fd); } @@ -380,6 +336,8 @@ magic_descriptor(struct magic_set *ms, int fd) public const char * magic_file(struct magic_set *ms, const char *inname) { + if (ms == NULL) + return NULL; return file_or_fd(ms, inname, STDIN_FILENO); } @@ -482,6 +440,8 @@ done: public const char * magic_buffer(struct magic_set *ms, const void *buf, size_t nb) { + if (ms == NULL) + return NULL; if (file_reset(ms) == -1) return NULL; /* @@ -498,18 +458,24 @@ magic_buffer(struct magic_set *ms, const void *buf, size_t nb) public const char * magic_error(struct magic_set *ms) { + if (ms == NULL) + return "Magic database is not open"; return (ms->event_flags & EVENT_HAD_ERR) ? ms->o.buf : NULL; } public int magic_errno(struct magic_set *ms) { + if (ms == NULL) + return EINVAL; return (ms->event_flags & EVENT_HAD_ERR) ? ms->error : 0; } public int magic_setflags(struct magic_set *ms, int flags) { + if (ms == NULL) + return -1; #if !defined(HAVE_UTIME) && !defined(HAVE_UTIMES) if (flags & MAGIC_PRESERVE_ATIME) return -1; @@ -517,3 +483,9 @@ magic_setflags(struct magic_set *ms, int flags) ms->flags = flags; return 0; } + +public int +magic_version(void) +{ + return MAGIC_VERSION; +} diff --git a/external/bsd/file/dist/src/magic.h b/external/bsd/file/dist/src/magic.h.in similarity index 98% rename from external/bsd/file/dist/src/magic.h rename to external/bsd/file/dist/src/magic.h.in index 8e4b0336e..bb3bfe8eb 100644 --- a/external/bsd/file/dist/src/magic.h +++ b/external/bsd/file/dist/src/magic.h.in @@ -1,5 +1,3 @@ -/* $NetBSD: magic.h,v 1.1.1.3 2012/02/22 17:48:18 christos Exp $ */ - /* * Copyright (c) Christos Zoulas 2003. * All Rights Reserved. @@ -76,6 +74,8 @@ #define MAGIC_NO_CHECK_FORTRAN 0x000000 /* Don't check ascii/fortran */ #define MAGIC_NO_CHECK_TROFF 0x000000 /* Don't check ascii/troff */ +#define MAGIC_VERSION X.YY /* This implementation */ + #ifdef __cplusplus extern "C" { @@ -93,6 +93,7 @@ const char *magic_buffer(magic_t, const void *, size_t); const char *magic_error(magic_t); int magic_setflags(magic_t, int); +int magic_version(void); int magic_load(magic_t, const char *); int magic_compile(magic_t, const char *); int magic_check(magic_t, const char *); diff --git a/external/bsd/file/dist/src/pread.c b/external/bsd/file/dist/src/pread.c new file mode 100644 index 000000000..7a501e59a --- /dev/null +++ b/external/bsd/file/dist/src/pread.c @@ -0,0 +1,20 @@ +/* $NetBSD: pread.c,v 1.1.1.1 2013/03/23 15:49:15 christos Exp $ */ + +#include "file.h" +#ifndef lint +#if 0 +FILE_RCSID("@(#)$File: pread.c,v 1.1 2013/02/18 15:40:59 christos Exp $") +#else +__RCSID("$NetBSD: pread.c,v 1.1.1.1 2013/03/23 15:49:15 christos Exp $"); +#endif +#endif /* lint */ +#include +#include + +ssize_t +pread(int fd, void *buf, ssize_t len, off_t off) { + if (lseek(fd, off, SEEK_SET) == (off_t)-1) + return -1; + + return read(fd, buf, len); +} diff --git a/external/bsd/file/dist/src/print.c b/external/bsd/file/dist/src/print.c index 8dbc1e377..66f78d0db 100644 --- a/external/bsd/file/dist/src/print.c +++ b/external/bsd/file/dist/src/print.c @@ -1,4 +1,4 @@ -/* $NetBSD: print.c,v 1.4 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: print.c,v 1.6 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -35,9 +35,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: print.c,v 1.71 2011/09/20 15:28:09 christos Exp $") +FILE_RCSID("@(#)$File: print.c,v 1.76 2013/02/26 18:25:00 christos Exp $") #else -__RCSID("$NetBSD: print.c,v 1.4 2012/02/22 17:53:51 christos Exp $"); +__RCSID("$NetBSD: print.c,v 1.6 2013/03/23 16:15:58 christos Exp $"); #endif #endif /* lint */ @@ -51,31 +51,33 @@ __RCSID("$NetBSD: print.c,v 1.4 2012/02/22 17:53:51 christos Exp $"); #define SZOF(a) (sizeof(a) / sizeof(a[0])) +#include "cdf.h" + #ifndef COMPILE_ONLY protected void file_mdump(struct magic *m) { - private const char optyp[] = { FILE_OPS }; + static const char optyp[] = { FILE_OPS }; + char tbuf[26]; (void) fprintf(stderr, "%u: %.*s %u", m->lineno, (m->cont_level & 7) + 1, ">>>>>>>>", m->offset); if (m->flag & INDIR) { (void) fprintf(stderr, "(%s,", - /* Note: type is unsigned */ - (m->in_type < file_nnames) ? - file_names[m->in_type] : "*bad*"); + /* Note: type is unsigned */ + (m->in_type < file_nnames) ? file_names[m->in_type] : + "*bad in_type*"); if (m->in_op & FILE_OPINVERSE) (void) fputc('~', stderr); (void) fprintf(stderr, "%c%u),", - ((size_t)(m->in_op & FILE_OPS_MASK) < - SZOF(optyp)) ? - optyp[m->in_op & FILE_OPS_MASK] : '?', - m->in_offset); + ((size_t)(m->in_op & FILE_OPS_MASK) < + SZOF(optyp)) ? optyp[m->in_op & FILE_OPS_MASK] : '?', + m->in_offset); } (void) fprintf(stderr, " %s%s", (m->flag & UNSIGNED) ? "u" : "", - /* Note: type is unsigned */ - (m->type < file_nnames) ? file_names[m->type] : "*bad*"); + /* Note: type is unsigned */ + (m->type < file_nnames) ? file_names[m->type] : "*bad type"); if (m->mask_op & FILE_OPINVERSE) (void) fputc('~', stderr); @@ -138,6 +140,7 @@ file_mdump(struct magic *m) case FILE_MELONG: case FILE_BESHORT: case FILE_BELONG: + case FILE_INDIRECT: (void) fprintf(stderr, "%d", m->value.l); break; case FILE_BEQUAD: @@ -159,26 +162,31 @@ file_mdump(struct magic *m) case FILE_BEDATE: case FILE_MEDATE: (void)fprintf(stderr, "%s,", - file_fmttime(m->value.l, 1)); + file_fmttime(m->value.l, FILE_T_LOCAL, tbuf)); break; case FILE_LDATE: case FILE_LELDATE: case FILE_BELDATE: case FILE_MELDATE: (void)fprintf(stderr, "%s,", - file_fmttime(m->value.l, 0)); - break; + file_fmttime(m->value.l, 0, tbuf)); case FILE_QDATE: case FILE_LEQDATE: case FILE_BEQDATE: (void)fprintf(stderr, "%s,", - file_fmttime((uint32_t)m->value.q, 1)); + file_fmttime(m->value.q, FILE_T_LOCAL, tbuf)); break; case FILE_QLDATE: case FILE_LEQLDATE: case FILE_BEQLDATE: (void)fprintf(stderr, "%s,", - file_fmttime((uint32_t)m->value.q, 0)); + file_fmttime(m->value.q, 0, tbuf)); + break; + case FILE_QWDATE: + case FILE_LEQWDATE: + case FILE_BEQWDATE: + (void)fprintf(stderr, "%s,", + file_fmttime(m->value.q, FILE_T_WINDOWS, tbuf)); break; case FILE_FLOAT: case FILE_BEFLOAT: @@ -193,8 +201,12 @@ file_mdump(struct magic *m) case FILE_DEFAULT: /* XXX - do anything here? */ break; + case FILE_USE: + case FILE_NAME: + (void) fprintf(stderr, "'%s'", m->value.s); + break; default: - (void) fputs("*bad*", stderr); + (void) fprintf(stderr, "*bad type %d*", m->type); break; } } @@ -222,14 +234,20 @@ file_magwarn(struct magic_set *ms, const char *f, ...) } protected const char * -file_fmttime(uint32_t v, int local) +file_fmttime(uint64_t v, int flags, char *buf) { char *pp; time_t t = (time_t)v; struct tm *tm; - if (local) { - pp = ctime(&t); + if (flags & FILE_T_WINDOWS) { + struct timespec ts; + cdf_timestamp_to_timespec(&ts, t); + t = ts.tv_sec; + } + + if (flags & FILE_T_LOCAL) { + pp = ctime_r(&t, buf); } else { #ifndef HAVE_DAYLIGHT private int daylight = 0; @@ -251,7 +269,7 @@ file_fmttime(uint32_t v, int local) tm = gmtime(&t); if (tm == NULL) goto out; - pp = asctime(tm); + pp = asctime_r(tm, buf); } if (pp == NULL) @@ -259,5 +277,5 @@ file_fmttime(uint32_t v, int local) pp[strcspn(pp, "\n")] = '\0'; return pp; out: - return "*Invalid time*"; + return strcpy(buf, "*Invalid time*"); } diff --git a/external/bsd/file/dist/src/readcdf.c b/external/bsd/file/dist/src/readcdf.c index ecbf2f551..fb379fd57 100644 --- a/external/bsd/file/dist/src/readcdf.c +++ b/external/bsd/file/dist/src/readcdf.c @@ -1,4 +1,4 @@ -/* $NetBSD: readcdf.c,v 1.7 2012/02/22 17:53:51 christos Exp $ */ +/* $NetBSD: readcdf.c,v 1.8 2013/01/03 23:05:38 christos Exp $ */ /*- * Copyright (c) 2008 Christos Zoulas @@ -29,9 +29,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: readcdf.c,v 1.29 2012/02/20 20:04:58 christos Exp $") +FILE_RCSID("@(#)$File: readcdf.c,v 1.33 2012/06/20 21:52:36 christos Exp $") #else -__RCSID("$NetBSD: readcdf.c,v 1.7 2012/02/22 17:53:51 christos Exp $"); +__RCSID("$NetBSD: readcdf.c,v 1.8 2013/01/03 23:05:38 christos Exp $"); #endif #endif @@ -135,8 +135,8 @@ cdf_file_property_info(struct magic_set *ms, const cdf_property_info_t *info, case CDF_FILETIME: tp = info[i].pi_tp; if (tp != 0) { + char tbuf[64]; if (tp < 1000000000000000LL) { - char tbuf[64]; cdf_print_elapsed_time(tbuf, sizeof(tbuf), tp); if (NOTMIME(ms) && file_printf(ms, @@ -145,7 +145,7 @@ cdf_file_property_info(struct magic_set *ms, const cdf_property_info_t *info, } else { char *c, *ec; cdf_timestamp_to_timespec(&ts, tp); - c = cdf_ctime(&ts.tv_sec); + c = cdf_ctime(&ts.tv_sec, tbuf); if ((ec = strchr(c, '\n')) != NULL) *ec = '\0'; @@ -295,10 +295,14 @@ file_trycdf(struct magic_set *ms, int fd, const unsigned char *buf, d = &dir.dir_tab[j]; for (k = 0; k < sizeof(name); k++) name[k] = (char)cdf_tole2(d->d_name[k]); - if (strstr(name, "WordDocument") == 0) { + if (strstr(name, "WordDocument") != 0) { str = "msword"; break; } + if (strstr(name, "PowerPoint") != 0) { + str = "vnd.ms-powerpoint"; + break; + } } if (file_printf(ms, "application/%s", str) == -1) return -1; @@ -315,13 +319,19 @@ out1: free(sat.sat_tab); out0: if (i != 1) { - if (i == -1) - if (file_printf(ms, "Composite Document File V2 Document") - == -1) + if (i == -1) { + if (NOTMIME(ms)) { + if (file_printf(ms, + "Composite Document File V2 Document") == -1) return -1; - if (*expn) - if (file_printf(ms, ", %s%s", corrupt, expn) == -1) - return -1; + if (*expn) + if (file_printf(ms, ", %s%s", corrupt, expn) == -1) + return -1; + } else { + if (file_printf(ms, "application/CDFV2-corrupt") == -1) + return -1; + } + } i = 1; } return i; diff --git a/external/bsd/file/dist/src/readelf.c b/external/bsd/file/dist/src/readelf.c index 1e3dec469..e3307c4c4 100644 --- a/external/bsd/file/dist/src/readelf.c +++ b/external/bsd/file/dist/src/readelf.c @@ -1,4 +1,4 @@ -/* $NetBSD: readelf.c,v 1.4 2011/09/16 21:06:27 christos Exp $ */ +/* $NetBSD: readelf.c,v 1.6 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Christos Zoulas 2003. @@ -30,9 +30,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: readelf.c,v 1.90 2011/08/23 08:01:12 christos Exp $") +FILE_RCSID("@(#)$File: readelf.c,v 1.97 2013/03/06 03:35:30 christos Exp $") #else -__RCSID("$NetBSD: readelf.c,v 1.4 2011/09/16 21:06:27 christos Exp $"); +__RCSID("$NetBSD: readelf.c,v 1.6 2013/03/23 16:15:58 christos Exp $"); #endif #endif @@ -54,7 +54,7 @@ private int dophn_core(struct magic_set *, int, int, int, off_t, int, size_t, private int dophn_exec(struct magic_set *, int, int, int, off_t, int, size_t, off_t, int *, int); private int doshn(struct magic_set *, int, int, int, off_t, int, size_t, - off_t, int *, int); + off_t, int *, int, int); private size_t donote(struct magic_set *, void *, size_t, size_t, int, int, size_t, int *); @@ -133,21 +133,15 @@ getu64(int swap, uint64_t value) #define elf_getu16(swap, value) getu16(swap, value) #define elf_getu32(swap, value) getu32(swap, value) -#ifdef USE_ARRAY_FOR_64BIT_TYPES -# define elf_getu64(swap, array) \ - ((swap ? ((uint64_t)elf_getu32(swap, array[0])) << 32 : elf_getu32(swap, array[0])) + \ - (swap ? elf_getu32(swap, array[1]) : ((uint64_t)elf_getu32(swap, array[1]) << 32))) -#else -# define elf_getu64(swap, value) getu64(swap, value) -#endif +#define elf_getu64(swap, value) getu64(swap, value) #define xsh_addr (clazz == ELFCLASS32 \ - ? (void *) &sh32 \ - : (void *) &sh64) + ? (void *)&sh32 \ + : (void *)&sh64) #define xsh_sizeof (clazz == ELFCLASS32 \ - ? sizeof sh32 \ - : sizeof sh64) -#define xsh_size (clazz == ELFCLASS32 \ + ? sizeof(sh32) \ + : sizeof(sh64)) +#define xsh_size (size_t)(clazz == ELFCLASS32 \ ? elf_getu32(swap, sh32.sh_size) \ : elf_getu64(swap, sh64.sh_size)) #define xsh_offset (off_t)(clazz == ELFCLASS32 \ @@ -156,12 +150,15 @@ getu64(int swap, uint64_t value) #define xsh_type (clazz == ELFCLASS32 \ ? elf_getu32(swap, sh32.sh_type) \ : elf_getu32(swap, sh64.sh_type)) +#define xsh_name (clazz == ELFCLASS32 \ + ? elf_getu32(swap, sh32.sh_name) \ + : elf_getu32(swap, sh64.sh_name)) #define xph_addr (clazz == ELFCLASS32 \ ? (void *) &ph32 \ : (void *) &ph64) #define xph_sizeof (clazz == ELFCLASS32 \ - ? sizeof ph32 \ - : sizeof ph64) + ? sizeof(ph32) \ + : sizeof(ph64)) #define xph_type (clazz == ELFCLASS32 \ ? elf_getu32(swap, ph32.p_type) \ : elf_getu32(swap, ph64.p_type)) @@ -177,8 +174,8 @@ getu64(int swap, uint64_t value) ? elf_getu32(swap, ph32.p_filesz) \ : elf_getu64(swap, ph64.p_filesz))) #define xnh_addr (clazz == ELFCLASS32 \ - ? (void *) &nh32 \ - : (void *) &nh64) + ? (void *)&nh32 \ + : (void *)&nh64) #define xph_memsz (size_t)((clazz == ELFCLASS32 \ ? elf_getu32(swap, ph32.p_memsz) \ : elf_getu64(swap, ph64.p_memsz))) @@ -198,8 +195,8 @@ getu64(int swap, uint64_t value) ? prpsoffsets32[i] \ : prpsoffsets64[i]) #define xcap_addr (clazz == ELFCLASS32 \ - ? (void *) &cap32 \ - : (void *) &cap64) + ? (void *)&cap32 \ + : (void *)&cap64) #define xcap_sizeof (clazz == ELFCLASS32 \ ? sizeof cap32 \ : sizeof cap64) @@ -301,7 +298,7 @@ dophn_core(struct magic_set *ms, int clazz, int swap, int fd, off_t off, { Elf32_Phdr ph32; Elf64_Phdr ph64; - size_t offset; + size_t offset, len; unsigned char nbuf[BUFSIZ]; ssize_t bufsize; @@ -315,11 +312,7 @@ dophn_core(struct magic_set *ms, int clazz, int swap, int fd, off_t off, * Loop through all the program headers. */ for ( ; num; num--) { - if (lseek(fd, off, SEEK_SET) == (off_t)-1) { - file_badseek(ms); - return -1; - } - if (read(fd, xph_addr, xph_sizeof) == -1) { + if (pread(fd, xph_addr, xph_sizeof, off) == -1) { file_badread(ms); return -1; } @@ -337,13 +330,8 @@ dophn_core(struct magic_set *ms, int clazz, int swap, int fd, off_t off, * This is a PT_NOTE section; loop through all the notes * in the section. */ - if (lseek(fd, xph_offset, SEEK_SET) == (off_t)-1) { - file_badseek(ms); - return -1; - } - bufsize = read(fd, nbuf, - ((xph_filesz < sizeof(nbuf)) ? xph_filesz : sizeof(nbuf))); - if (bufsize == -1) { + len = xph_filesz < sizeof(nbuf) ? xph_filesz : sizeof(nbuf); + if ((bufsize = pread(fd, nbuf, len, xph_offset)) == -1) { file_badread(ms); return -1; } @@ -422,6 +410,10 @@ donote(struct magic_set *ms, void *vbuf, size_t offset, size_t size, (FLAGS_DID_NOTE|FLAGS_DID_BUILD_ID)) goto core; + if (namesz == 5 && strcmp((char *)&nbuf[noff], "SuSE") == 0 && + xnh_type == NT_GNU_VERSION && descsz == 2) { + file_printf(ms, ", for SuSE %d.%d", nbuf[doff], nbuf[doff + 1]); + } if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 && xnh_type == NT_GNU_VERSION && descsz == 16) { uint32_t desc[4]; @@ -463,13 +455,14 @@ donote(struct magic_set *ms, void *vbuf, size_t offset, size_t size, if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 && xnh_type == NT_GNU_BUILD_ID && (descsz == 16 || descsz == 20)) { - uint32_t desc[5], i; - if (file_printf(ms, ", BuildID[%s]=0x", descsz == 16 ? "md5/uuid" : + uint8_t desc[20]; + uint32_t i; + if (file_printf(ms, ", BuildID[%s]=", descsz == 16 ? "md5/uuid" : "sha1") == -1) return size; (void)memcpy(desc, &nbuf[doff], descsz); - for (i = 0; i < descsz >> 2; i++) - if (file_printf(ms, "%.8x", desc[i]) == -1) + for (i = 0; i < descsz; i++) + if (file_printf(ms, "%02x", desc[i]) == -1) return size; *flags |= FLAGS_DID_BUILD_ID; } @@ -848,15 +841,16 @@ static const cap_desc_t cap_desc_386[] = { private int doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num, - size_t size, off_t fsize, int *flags, int mach) + size_t size, off_t fsize, int *flags, int mach, int strtab) { Elf32_Shdr sh32; Elf64_Shdr sh64; int stripped = 1; void *nbuf; - off_t noff, coff; + off_t noff, coff, name_off; uint64_t cap_hw1 = 0; /* SunOS 5.x hardware capabilites */ uint64_t cap_sf1 = 0; /* SunOS 5.x software capabilites */ + char name[50]; if (size != xsh_sizeof) { if (file_printf(ms, ", corrupted section header size") == -1) @@ -864,12 +858,24 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num, return 0; } + /* Read offset of name section to be able to read section names later */ + if (pread(fd, xsh_addr, xsh_sizeof, off + size * strtab) == -1) { + file_badread(ms); + return -1; + } + name_off = xsh_offset; + for ( ; num; num--) { - if (lseek(fd, off, SEEK_SET) == (off_t)-1) { - file_badseek(ms); + /* Read the name of this section. */ + if (pread(fd, name, sizeof(name), name_off + xsh_name) == -1) { + file_badread(ms); return -1; } - if (read(fd, xsh_addr, xsh_sizeof) == -1) { + name[sizeof(name) - 1] = '\0'; + if (strcmp(name, ".debug_info") == 0) + stripped = 0; + + if (pread(fd, xsh_addr, xsh_sizeof, off) == -1) { file_badread(ms); return -1; } @@ -894,39 +900,41 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num, /* Things we can determine when we seek */ switch (xsh_type) { case SHT_NOTE: - if ((nbuf = malloc((size_t)xsh_size)) == NULL) { + if ((nbuf = malloc(xsh_size)) == NULL) { file_error(ms, errno, "Cannot allocate memory" " for note"); return -1; } - if ((noff = lseek(fd, (off_t)xsh_offset, SEEK_SET)) == - (off_t)-1) { + if (pread(fd, nbuf, xsh_size, xsh_offset) == -1) { file_badread(ms); free(nbuf); return -1; } - if (read(fd, nbuf, (size_t)xsh_size) != - (ssize_t)xsh_size) { - free(nbuf); - file_badread(ms); - return -1; - } noff = 0; for (;;) { if (noff >= (off_t)xsh_size) break; noff = donote(ms, nbuf, (size_t)noff, - (size_t)xsh_size, clazz, swap, 4, - flags); + xsh_size, clazz, swap, 4, flags); if (noff == 0) break; } free(nbuf); break; case SHT_SUNW_cap: - if (lseek(fd, (off_t)xsh_offset, SEEK_SET) == - (off_t)-1) { + switch (mach) { + case EM_SPARC: + case EM_SPARCV9: + case EM_IA_64: + case EM_386: + case EM_AMD64: + break; + default: + goto skip; + } + + if (lseek(fd, xsh_offset, SEEK_SET) == (off_t)-1) { file_badseek(ms); return -1; } @@ -964,12 +972,13 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num, break; } } - break; - + /*FALLTHROUGH*/ + skip: default: break; } } + if (file_printf(ms, ", %sstripped", stripped ? "" : "not ") == -1) return -1; if (cap_hw1) { @@ -1048,7 +1057,7 @@ dophn_exec(struct magic_set *ms, int clazz, int swap, int fd, off_t off, const char *shared_libraries = ""; unsigned char nbuf[BUFSIZ]; ssize_t bufsize; - size_t offset, align; + size_t offset, align, len; if (size != xph_sizeof) { if (file_printf(ms, ", corrupted program header size") == -1) @@ -1057,13 +1066,8 @@ dophn_exec(struct magic_set *ms, int clazz, int swap, int fd, off_t off, } for ( ; num; num--) { - if (lseek(fd, off, SEEK_SET) == (off_t)-1) { - file_badseek(ms); - return -1; - } - - if (read(fd, xph_addr, xph_sizeof) == -1) { - file_badread(ms); + if (pread(fd, xph_addr, xph_sizeof, off) == -1) { + file_badread(ms); return -1; } @@ -1101,12 +1105,9 @@ dophn_exec(struct magic_set *ms, int clazz, int swap, int fd, off_t off, * This is a PT_NOTE section; loop through all the notes * in the section. */ - if (lseek(fd, xph_offset, SEEK_SET) == (off_t)-1) { - file_badseek(ms); - return -1; - } - bufsize = read(fd, nbuf, ((xph_filesz < sizeof(nbuf)) ? - xph_filesz : sizeof(nbuf))); + len = xph_filesz < sizeof(nbuf) ? xph_filesz + : sizeof(nbuf); + bufsize = pread(fd, nbuf, len, xph_offset); if (bufsize == -1) { file_badread(ms); return -1; diff --git a/external/bsd/file/dist/src/readelf.h b/external/bsd/file/dist/src/readelf.h index def459b48..f34fb4a73 100644 --- a/external/bsd/file/dist/src/readelf.h +++ b/external/bsd/file/dist/src/readelf.h @@ -1,4 +1,4 @@ -/* $NetBSD: readelf.h,v 1.1.1.2 2011/09/16 20:37:39 christos Exp $ */ +/* $NetBSD: readelf.h,v 1.1.1.3 2013/03/23 15:49:15 christos Exp $ */ /* * Copyright (c) Christos Zoulas 2003. @@ -46,17 +46,9 @@ typedef uint16_t Elf32_Half; typedef uint32_t Elf32_Word; typedef uint8_t Elf32_Char; -#if SIZEOF_LONG_LONG != 8 -#define USE_ARRAY_FOR_64BIT_TYPES -typedef uint32_t Elf64_Addr[2]; -typedef uint32_t Elf64_Off[2]; -typedef uint32_t Elf64_Xword[2]; -#else -#undef USE_ARRAY_FOR_64BIT_TYPES typedef uint64_t Elf64_Addr; typedef uint64_t Elf64_Off; typedef uint64_t Elf64_Xword; -#endif typedef uint16_t Elf64_Half; typedef uint32_t Elf64_Word; typedef uint8_t Elf64_Char; diff --git a/external/bsd/file/dist/src/softmagic.c b/external/bsd/file/dist/src/softmagic.c index 142e9bbbf..50370827b 100644 --- a/external/bsd/file/dist/src/softmagic.c +++ b/external/bsd/file/dist/src/softmagic.c @@ -1,4 +1,4 @@ -/* $NetBSD: softmagic.c,v 1.6 2012/04/07 17:30:56 christos Exp $ */ +/* $NetBSD: softmagic.c,v 1.9 2013/03/23 16:15:58 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -35,9 +35,9 @@ #ifndef lint #if 0 -FILE_RCSID("@(#)$File: softmagic.c,v 1.147 2011/11/05 15:44:22 rrt Exp $") +FILE_RCSID("@(#)$File: softmagic.c,v 1.165 2013/03/07 02:22:24 christos Exp $") #else -__RCSID("$NetBSD: softmagic.c,v 1.6 2012/04/07 17:30:56 christos Exp $"); +__RCSID("$NetBSD: softmagic.c,v 1.9 2013/03/23 16:15:58 christos Exp $"); #endif #endif /* lint */ @@ -49,16 +49,18 @@ __RCSID("$NetBSD: softmagic.c,v 1.6 2012/04/07 17:30:56 christos Exp $"); private int match(struct magic_set *, struct magic *, uint32_t, - const unsigned char *, size_t, int, int); + const unsigned char *, size_t, size_t, int, int, int, int, int *, int *, + int *); private int mget(struct magic_set *, const unsigned char *, - struct magic *, size_t, unsigned int, int); + struct magic *, size_t, size_t, unsigned int, int, int, int, int, int *, + int *, int *); private int magiccheck(struct magic_set *, struct magic *); private int32_t mprint(struct magic_set *, struct magic *); private int32_t moffset(struct magic_set *, struct magic *); private void mdebug(uint32_t, const char *, size_t); private int mcopy(struct magic_set *, union VALUETYPE *, int, int, const unsigned char *, uint32_t, size_t, size_t); -private int mconvert(struct magic_set *, struct magic *); +private int mconvert(struct magic_set *, struct magic *, int); private int print_sep(struct magic_set *, int); private int handle_annotation(struct magic_set *, struct magic *); private void cvt_8(union VALUETYPE *, const struct magic *); @@ -76,10 +78,11 @@ file_softmagic(struct magic_set *ms, const unsigned char *buf, size_t nbytes, int mode, int text) { struct mlist *ml; - int rv; - for (ml = ms->mlist->next; ml != ms->mlist; ml = ml->next) - if ((rv = match(ms, ml->magic, ml->nmagic, buf, nbytes, mode, - text)) != 0) + int rv, printed_something = 0, need_separator = 0; + for (ml = ms->mlist[0]->next; ml != ms->mlist[0]; ml = ml->next) + if ((rv = match(ms, ml->magic, ml->nmagic, buf, nbytes, 0, mode, + text, 0, 0, &printed_something, &need_separator, + NULL)) != 0) return rv; return 0; @@ -114,16 +117,19 @@ file_softmagic(struct magic_set *ms, const unsigned char *buf, size_t nbytes, */ private int match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, - const unsigned char *s, size_t nbytes, int mode, int text) + const unsigned char *s, size_t nbytes, size_t offset, int mode, int text, + int flip, int recursion_level, int *printed_something, int *need_separator, + int *returnval) { uint32_t magindex = 0; unsigned int cont_level = 0; - int need_separator = 0; - int returnval = 0, e; /* if a match is found it is set to 1*/ + int returnvalv = 0, e; /* if a match is found it is set to 1*/ int firstline = 1; /* a flag to print X\n X\n- X */ - int printed_something = 0; int print = (ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0; + if (returnval == NULL) + returnval = &returnvalv; + if (file_check_mem(ms, cont_level) == -1) return -1; @@ -131,13 +137,16 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, int flush = 0; struct magic *m = &magic[magindex]; + if (m->type != FILE_NAME) if ((IS_STRING(m->type) && - ((text && (m->str_flags & (STRING_BINTEST | STRING_TEXTTEST)) == STRING_BINTEST) || - (!text && (m->str_flags & (STRING_TEXTTEST | STRING_BINTEST)) == STRING_TEXTTEST))) || +#define FLT (STRING_BINTEST | STRING_TEXTTEST) + ((text && (m->str_flags & FLT) == STRING_BINTEST) || + (!text && (m->str_flags & FLT) == STRING_TEXTTEST))) || (m->flag & mode) != mode) { /* Skip sub-tests */ - while (magic[magindex + 1].cont_level != 0 && - ++magindex < nmagic) + while (magindex + 1 < nmagic && + magic[magindex + 1].cont_level != 0 && + ++magindex) continue; continue; /* Skip to next top-level test*/ } @@ -146,7 +155,9 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, ms->line = m->lineno; /* if main entry matches, print it... */ - switch (mget(ms, s, m, nbytes, cont_level, text)) { + switch (mget(ms, s, m, nbytes, offset, cont_level, mode, text, + flip, recursion_level + 1, printed_something, + need_separator, returnval)) { case -1: return -1; case 0: @@ -154,7 +165,7 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, break; default: if (m->type == FILE_INDIRECT) - returnval = 1; + *returnval = 1; switch (magiccheck(ms, m)) { case -1: @@ -179,15 +190,17 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, continue; } - if ((e = handle_annotation(ms, m)) != 0) + if ((e = handle_annotation(ms, m)) != 0) { + *returnval = 1; return e; + } /* * If we are going to print something, we'll need to print * a blank before we print something else. */ if (*m->desc) { - need_separator = 1; - printed_something = 1; + *need_separator = 1; + *printed_something = 1; if (print_sep(ms, firstline) == -1) return -1; } @@ -229,7 +242,9 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, continue; } #endif - switch (mget(ms, s, m, nbytes, cont_level, text)) { + switch (mget(ms, s, m, nbytes, offset, cont_level, mode, + text, flip, recursion_level + 1, printed_something, + need_separator, returnval)) { case -1: return -1; case 0: @@ -239,7 +254,7 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, break; default: if (m->type == FILE_INDIRECT) - returnval = 1; + *returnval = 1; flush = 0; break; } @@ -262,15 +277,17 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, ms->c.li[cont_level].got_match = 0; break; } - if ((e = handle_annotation(ms, m)) != 0) + if ((e = handle_annotation(ms, m)) != 0) { + *returnval = 1; return e; + } /* * If we are going to print something, * make sure that we have a separator first. */ if (*m->desc) { - if (!printed_something) { - printed_something = 1; + if (!*printed_something) { + *printed_something = 1; if (print_sep(ms, firstline) == -1) return -1; @@ -283,13 +300,13 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, * this item isn't empty. */ /* space if previous printed */ - if (need_separator + if (*need_separator && ((m->flag & NOSPACE) == 0) && *m->desc) { if (print && file_printf(ms, " ") == -1) return -1; - need_separator = 0; + *need_separator = 0; } if (print && mprint(ms, m) == -1) return -1; @@ -297,7 +314,7 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, ms->c.li[cont_level].off = moffset(ms, m); if (*m->desc) - need_separator = 1; + *need_separator = 1; /* * If we see any continuations @@ -309,16 +326,16 @@ match(struct magic_set *ms, struct magic *magic, uint32_t nmagic, break; } } - if (printed_something) { + if (*printed_something) { firstline = 0; if (print) - returnval = 1; + *returnval = 1; } - if ((ms->flags & MAGIC_CONTINUE) == 0 && printed_something) { - return returnval; /* don't keep searching */ + if ((ms->flags & MAGIC_CONTINUE) == 0 && *printed_something) { + return *returnval; /* don't keep searching */ } } - return returnval; /* This is hit if -k is set or there is no match */ + return *returnval; /* This is hit if -k is set or there is no match */ } private int @@ -369,7 +386,7 @@ mprint(struct magic_set *ms, struct magic *m) float vf; double vd; int64_t t = 0; - char buf[128]; + char buf[128], tbuf[26]; union VALUETYPE *p = &ms->ms_value; switch (m->type) { @@ -454,11 +471,30 @@ mprint(struct magic_set *ms, struct magic *m) t = ms->offset + m->vallen; } else { + char *str = p->s; + + /* compute t before we mangle the string? */ + t = ms->offset + strlen(str); + if (*m->value.s == '\0') - p->s[strcspn(p->s, "\n")] = '\0'; - if (file_printf(ms, m->desc, p->s) == -1) + str[strcspn(str, "\n")] = '\0'; + + if (m->str_flags & STRING_TRIM) { + char *last; + while (isspace((unsigned char)*str)) + str++; + last = str; + while (*last) + last++; + --last; + while (isspace((unsigned char)*last)) + last--; + *++last = '\0'; + } + + if (file_printf(ms, m->desc, str) == -1) return -1; - t = ms->offset + strlen(p->s); + if (m->type == FILE_PSTRING) t += file_pstring_length_size(m); } @@ -468,25 +504,26 @@ mprint(struct magic_set *ms, struct magic *m) case FILE_BEDATE: case FILE_LEDATE: case FILE_MEDATE: - if (file_printf(ms, m->desc, file_fmttime(p->l, 1)) == -1) + if (file_printf(ms, m->desc, file_fmttime(p->l, FILE_T_LOCAL, + tbuf)) == -1) return -1; - t = ms->offset + sizeof(time_t); + t = ms->offset + sizeof(uint32_t); break; case FILE_LDATE: case FILE_BELDATE: case FILE_LELDATE: case FILE_MELDATE: - if (file_printf(ms, m->desc, file_fmttime(p->l, 0)) == -1) + if (file_printf(ms, m->desc, file_fmttime(p->l, 0, tbuf)) == -1) return -1; - t = ms->offset + sizeof(time_t); + t = ms->offset + sizeof(uint32_t); break; case FILE_QDATE: case FILE_BEQDATE: case FILE_LEQDATE: - if (file_printf(ms, m->desc, file_fmttime((uint32_t)p->q, - 1)) == -1) + if (file_printf(ms, m->desc, file_fmttime(p->q, FILE_T_LOCAL, + tbuf)) == -1) return -1; t = ms->offset + sizeof(uint64_t); break; @@ -494,8 +531,16 @@ mprint(struct magic_set *ms, struct magic *m) case FILE_QLDATE: case FILE_BEQLDATE: case FILE_LEQLDATE: - if (file_printf(ms, m->desc, file_fmttime((uint32_t)p->q, - 0)) == -1) + if (file_printf(ms, m->desc, file_fmttime(p->q, 0, tbuf)) == -1) + return -1; + t = ms->offset + sizeof(uint64_t); + break; + + case FILE_QWDATE: + case FILE_BEQWDATE: + case FILE_LEQWDATE: + if (file_printf(ms, m->desc, file_fmttime(p->q, FILE_T_WINDOWS, + tbuf)) == -1) return -1; t = ms->offset + sizeof(uint64_t); break; @@ -578,6 +623,8 @@ mprint(struct magic_set *ms, struct magic *m) break; case FILE_INDIRECT: + case FILE_USE: + case FILE_NAME: t = ms->offset; break; @@ -625,7 +672,7 @@ moffset(struct magic_set *ms, struct magic *m) p->s[strcspn(p->s, "\n")] = '\0'; t = CAST(uint32_t, (ms->offset + strlen(p->s))); if (m->type == FILE_PSTRING) - t += file_pstring_length_size(m); + t += (uint32_t)file_pstring_length_size(m); return t; } @@ -633,13 +680,13 @@ moffset(struct magic_set *ms, struct magic *m) case FILE_BEDATE: case FILE_LEDATE: case FILE_MEDATE: - return CAST(int32_t, (ms->offset + sizeof(time_t))); + return CAST(int32_t, (ms->offset + sizeof(uint32_t))); case FILE_LDATE: case FILE_BELDATE: case FILE_LELDATE: case FILE_MELDATE: - return CAST(int32_t, (ms->offset + sizeof(time_t))); + return CAST(int32_t, (ms->offset + sizeof(uint32_t))); case FILE_QDATE: case FILE_BEQDATE: @@ -685,6 +732,56 @@ moffset(struct magic_set *ms, struct magic *m) } } +private int +cvt_flip(int type, int flip) +{ + if (flip == 0) + return type; + switch (type) { + case FILE_BESHORT: + return FILE_LESHORT; + case FILE_BELONG: + return FILE_LELONG; + case FILE_BEDATE: + return FILE_LEDATE; + case FILE_BELDATE: + return FILE_LELDATE; + case FILE_BEQUAD: + return FILE_LEQUAD; + case FILE_BEQDATE: + return FILE_LEQDATE; + case FILE_BEQLDATE: + return FILE_LEQLDATE; + case FILE_BEQWDATE: + return FILE_LEQWDATE; + case FILE_LESHORT: + return FILE_BESHORT; + case FILE_LELONG: + return FILE_BELONG; + case FILE_LEDATE: + return FILE_BEDATE; + case FILE_LELDATE: + return FILE_BELDATE; + case FILE_LEQUAD: + return FILE_BEQUAD; + case FILE_LEQDATE: + return FILE_BEQDATE; + case FILE_LEQLDATE: + return FILE_BEQLDATE; + case FILE_LEQWDATE: + return FILE_BEQWDATE; + case FILE_BEFLOAT: + return FILE_LEFLOAT; + case FILE_LEFLOAT: + return FILE_BEFLOAT; + case FILE_BEDOUBLE: + return FILE_LEDOUBLE; + case FILE_LEDOUBLE: + return FILE_BEDOUBLE; + default: + return type; + } +} #define DO_CVT(fld, cast) \ if (m->num_mask) \ switch (m->mask_op & FILE_OPS_MASK) { \ @@ -775,11 +872,11 @@ cvt_double(union VALUETYPE *p, const struct magic *m) * (unless you have a better idea) */ private int -mconvert(struct magic_set *ms, struct magic *m) +mconvert(struct magic_set *ms, struct magic *m, int flip) { union VALUETYPE *p = &ms->ms_value; - switch (m->type) { + switch (cvt_flip(m->type, flip)) { case FILE_BYTE: cvt_8(p, m); return 1; @@ -794,6 +891,7 @@ mconvert(struct magic_set *ms, struct magic *m) case FILE_QUAD: case FILE_QDATE: case FILE_QLDATE: + case FILE_QWDATE: cvt_64(p, m); return 1; case FILE_STRING: @@ -827,6 +925,7 @@ mconvert(struct magic_set *ms, struct magic *m) case FILE_BEQUAD: case FILE_BEQDATE: case FILE_BEQLDATE: + case FILE_BEQWDATE: p->q = (uint64_t) (((uint64_t)p->hq[0]<<56)|((uint64_t)p->hq[1]<<48)| ((uint64_t)p->hq[2]<<40)|((uint64_t)p->hq[3]<<32)| @@ -848,6 +947,7 @@ mconvert(struct magic_set *ms, struct magic *m) case FILE_LEQUAD: case FILE_LEQDATE: case FILE_LEQLDATE: + case FILE_LEQWDATE: p->q = (uint64_t) (((uint64_t)p->hq[7]<<56)|((uint64_t)p->hq[6]<<48)| ((uint64_t)p->hq[5]<<40)|((uint64_t)p->hq[4]<<32)| @@ -895,6 +995,8 @@ mconvert(struct magic_set *ms, struct magic *m) case FILE_REGEX: case FILE_SEARCH: case FILE_DEFAULT: + case FILE_NAME: + case FILE_USE: return 1; default: file_magerror(ms, "invalid type %d in mconvert()", m->type); @@ -906,7 +1008,7 @@ mconvert(struct magic_set *ms, struct magic *m) private void mdebug(uint32_t offset, const char *str, size_t len) { - (void) fprintf(stderr, "mget @%d: ", offset); + (void) fprintf(stderr, "mget/%zu @%d: ", len, offset); file_showstr(stderr, str, len); (void) fputc('\n', stderr); (void) fputc('\n', stderr); @@ -973,8 +1075,8 @@ mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir, if (type == FILE_BESTRING16) src++; - /* check for pointer overflow */ - if (src < s) { + /* check that offset is within range */ + if (offset >= nbytes) { file_magerror(ms, "invalid offset %u in mcopy()", offset); return -1; @@ -1023,19 +1125,31 @@ mcopy(struct magic_set *ms, union VALUETYPE *p, int type, int indir, } private int -mget(struct magic_set *ms, const unsigned char *s, - struct magic *m, size_t nbytes, unsigned int cont_level, int text) +mget(struct magic_set *ms, const unsigned char *s, struct magic *m, + size_t nbytes, size_t o, unsigned int cont_level, int mode, int text, + int flip, int recursion_level, int *printed_something, + int *need_separator, int *returnval) { - uint32_t offset = ms->offset; + uint32_t soffset, offset = ms->offset; uint32_t count = m->str_range; - int rv; + int rv, oneed_separator; char *sbuf, *rbuf; union VALUETYPE *p = &ms->ms_value; + struct mlist ml; - if (mcopy(ms, p, m->type, m->flag & INDIR, s, offset, nbytes, count) == -1) + if (recursion_level >= 20) { + file_error(ms, 0, "recursion nesting exceeded"); + return -1; + } + + if (mcopy(ms, p, m->type, m->flag & INDIR, s, (uint32_t)(offset + o), + (uint32_t)nbytes, count) == -1) return -1; if ((ms->flags & MAGIC_DEBUG) != 0) { + fprintf(stderr, "mget(type=%d, flag=%x, offset=%u, o=%zu, " + "nbytes=%zu, count=%u)\n", m->type, m->flag, offset, o, + nbytes, count); mdebug(offset, (char *)(void *)p, sizeof(union VALUETYPE)); #ifndef COMPILE_ONLY file_mdump(m); @@ -1047,7 +1161,7 @@ mget(struct magic_set *ms, const unsigned char *s, if (m->in_op & FILE_OPINDIRECT) { const union VALUETYPE *q = CAST(const union VALUETYPE *, ((const void *)(s + offset + off))); - switch (m->in_type) { + switch (cvt_flip(m->in_type, flip)) { case FILE_BYTE: off = q->b; break; @@ -1081,7 +1195,7 @@ mget(struct magic_set *ms, const unsigned char *s, if ((ms->flags & MAGIC_DEBUG) != 0) fprintf(stderr, "indirect offs=%u\n", off); } - switch (m->in_type) { + switch (cvt_flip(m->in_type, flip)) { case FILE_BYTE: if (nbytes < (offset + 1)) return 0; @@ -1506,7 +1620,7 @@ mget(struct magic_set *ms, const unsigned char *s, break; } - switch (m->in_type) { + switch (cvt_flip(m->in_type, flip)) { case FILE_LEID3: case FILE_BEID3: offset = ((((offset >> 0) & 0x7f) << 0) | @@ -1520,6 +1634,12 @@ mget(struct magic_set *ms, const unsigned char *s, if (m->flag & INDIROFFADD) { offset += ms->c.li[cont_level-1].off; + if (offset == 0) { + if ((ms->flags & MAGIC_DEBUG) != 0) + fprintf(stderr, + "indirect *zero* offset\n"); + return 0; + } if ((ms->flags & MAGIC_DEBUG) != 0) fprintf(stderr, "indirect +offs=%u\n", offset); } @@ -1592,29 +1712,58 @@ mget(struct magic_set *ms, const unsigned char *s, if (nbytes < offset) return 0; sbuf = ms->o.buf; + soffset = ms->offset; ms->o.buf = NULL; + ms->offset = 0; rv = file_softmagic(ms, s + offset, nbytes - offset, BINTEST, text); if ((ms->flags & MAGIC_DEBUG) != 0) fprintf(stderr, "indirect @offs=%u[%d]\n", offset, rv); + rbuf = ms->o.buf; + ms->o.buf = sbuf; + ms->offset = soffset; if (rv == 1) { - rbuf = ms->o.buf; - ms->o.buf = sbuf; if ((ms->flags & (MAGIC_MIME|MAGIC_APPLE)) == 0 && file_printf(ms, m->desc, offset) == -1) return -1; if (file_printf(ms, "%s", rbuf) == -1) return -1; free(rbuf); - } else - ms->o.buf = sbuf; + } return rv; + case FILE_USE: + if (nbytes < offset) + return 0; + sbuf = m->value.s; + if (*sbuf == '^') { + sbuf++; + flip = !flip; + } + if (file_magicfind(ms, sbuf, &ml) == -1) { + file_error(ms, 0, "cannot find entry `%s'", sbuf); + return -1; + } + + oneed_separator = *need_separator; + if (m->flag & NOSPACE) + *need_separator = 0; + rv = match(ms, ml.magic, ml.nmagic, s, nbytes, offset + o, + mode, text, flip, recursion_level, printed_something, + need_separator, returnval); + if (rv != 1) + *need_separator = oneed_separator; + return rv; + + case FILE_NAME: + if (file_printf(ms, "%s", m->desc) == -1) + return -1; + return 1; case FILE_DEFAULT: /* nothing to check */ default: break; } - if (!mconvert(ms, m)) + if (!mconvert(ms, m, flip)) return 0; return 1; } @@ -1739,6 +1888,9 @@ magiccheck(struct magic_set *ms, struct magic *m) case FILE_QLDATE: case FILE_BEQLDATE: case FILE_LEQLDATE: + case FILE_QWDATE: + case FILE_BEQWDATE: + case FILE_LEQWDATE: v = p->q; break; @@ -1910,6 +2062,8 @@ magiccheck(struct magic_set *ms, struct magic *m) break; } case FILE_INDIRECT: + case FILE_USE: + case FILE_NAME: return 1; default: file_magerror(ms, "invalid type %d in magiccheck()", m->type); diff --git a/external/bsd/file/dist/src/vasprintf.c b/external/bsd/file/dist/src/vasprintf.c index a1bc40296..1c301e765 100644 --- a/external/bsd/file/dist/src/vasprintf.c +++ b/external/bsd/file/dist/src/vasprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vasprintf.c,v 1.1.1.2 2012/02/22 17:48:20 christos Exp $ */ +/* $NetBSD: vasprintf.c,v 1.1.1.3 2013/01/03 16:27:51 christos Exp $ */ /* * Copyright (c) Ian F. Darwin 1986-1995. @@ -85,7 +85,7 @@ trying to do any interpretation flag: none + - # (blank) width: n 0n * prec: none .0 .n .* -modifier: F N L h l ll ('F' and 'N' are ms-dos/16-bit specific) +modifier: F N L h l ll z t ('F' and 'N' are ms-dos/16-bit specific) type: d i o u x X f e g E G c s p n @@ -111,9 +111,9 @@ you use strange formats. #ifndef lint #if 0 -FILE_RCSID("@(#)$File: vasprintf.c,v 1.8 2011/12/08 12:38:24 rrt Exp $") +FILE_RCSID("@(#)$File: vasprintf.c,v 1.10 2012/08/09 16:40:04 christos Exp $") #else -__RCSID("$NetBSD: vasprintf.c,v 1.1.1.2 2012/02/22 17:48:20 christos Exp $"); +__RCSID("$NetBSD: vasprintf.c,v 1.1.1.3 2013/01/03 16:27:51 christos Exp $"); #endif #endif /* lint */ @@ -125,6 +125,9 @@ __RCSID("$NetBSD: vasprintf.c,v 1.1.1.2 2012/02/22 17:48:20 christos Exp $"); #ifdef HAVE_LIMITS_H #include #endif +#ifdef HAVE_STDDEF_H +#include +#endif #define ALLOC_CHUNK 2048 #define ALLOC_SECURITY_MARGIN 1024 /* big value because some platforms have very big 'G' exponent */ @@ -391,7 +394,12 @@ static int dispatch(xprintf_struct *s) prec = -1; /* no .prec specified */ /* modifier */ - if (*SRCTXT == 'L' || *SRCTXT == 'h' || *SRCTXT == 'l') { + switch (*SRCTXT) { + case 'L': + case 'h': + case 'l': + case 'z': + case 't': modifier = *SRCTXT; SRCTXT++; if (modifier=='l' && *SRCTXT=='l') { @@ -399,8 +407,11 @@ static int dispatch(xprintf_struct *s) modifier = 'L'; /* 'll' == 'L' long long == long double */ } /* only for compatibility ; not portable */ INCOHERENT_TEST(); - } else + break; + default: modifier = -1; /* no modifier specified */ + break; + } /* type */ type = *SRCTXT; @@ -483,6 +494,10 @@ static int dispatch(xprintf_struct *s) return print_it(s, (size_t)approx_width, format_string, va_arg(s->vargs, long int)); case 'h': return print_it(s, (size_t)approx_width, format_string, va_arg(s->vargs, int)); + case 'z': + return print_it(s, (size_t)approx_width, format_string, va_arg(s->vargs, size_t)); + case 't': + return print_it(s, (size_t)approx_width, format_string, va_arg(s->vargs, ptrdiff_t)); /* 'int' instead of 'short int' because default promotion is 'int' */ default: INCOHERENT(); diff --git a/external/bsd/file/dist/tests/Makefile.in b/external/bsd/file/dist/tests/Makefile.in index 6983b68f8..a0a0a6df9 100644 --- a/external/bsd/file/dist/tests/Makefile.in +++ b/external/bsd/file/dist/tests/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.12.4 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. +# Copyright (C) 1994-2012 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. @@ -15,6 +14,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ @@ -34,7 +50,8 @@ build_triplet = @build@ host_triplet = @host@ check_PROGRAMS = test$(EXEEXT) subdir = tests -DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -49,9 +66,22 @@ CONFIG_CLEAN_VPATH_FILES = test_SOURCES = test.c test_OBJECTS = test-test.$(OBJEXT) test_DEPENDENCIES = $(top_builddir)/src/libmagic.la -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent +am__v_lt_1 = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -62,24 +92,25 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = SOURCES = test.c DIST_SOURCES = test.c +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -95,6 +126,7 @@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ +CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ @@ -109,6 +141,7 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ +HAVE_VISIBILITY = @HAVE_VISIBILITY@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -219,9 +252,9 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu tests/Makefile + $(AUTOMAKE) --foreign tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -249,7 +282,7 @@ clean-checkPROGRAMS: list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) +test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) $(EXTRA_test_DEPENDENCIES) @rm -f test$(EXEEXT) $(AM_V_CCLD)$(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) @@ -262,44 +295,42 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-test.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< test-test.o: test.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test-test.o -MD -MP -MF $(DEPDIR)/test-test.Tpo -c -o test-test.o `test -f 'test.c' || echo '$(srcdir)/'`test.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test-test.Tpo $(DEPDIR)/test-test.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test.c' object='test-test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test.c' object='test-test.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test-test.o `test -f 'test.c' || echo '$(srcdir)/'`test.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test-test.o `test -f 'test.c' || echo '$(srcdir)/'`test.c test-test.obj: test.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT test-test.obj -MD -MP -MF $(DEPDIR)/test-test.Tpo -c -o test-test.obj `if test -f 'test.c'; then $(CYGPATH_W) 'test.c'; else $(CYGPATH_W) '$(srcdir)/test.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test-test.Tpo $(DEPDIR)/test-test.Po -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='test.c' object='test-test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='test.c' object='test-test.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test-test.obj `if test -f 'test.c'; then $(CYGPATH_W) 'test.c'; else $(CYGPATH_W) '$(srcdir)/test.c'; fi` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o test-test.obj `if test -f 'test.c'; then $(CYGPATH_W) 'test.c'; else $(CYGPATH_W) '$(srcdir)/test.c'; fi` mostlyclean-libtool: -rm -f *.lo @@ -356,6 +387,20 @@ GTAGS: && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: $(HEADERS) $(SOURCES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -405,10 +450,15 @@ install-am: all-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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -494,8 +544,8 @@ uninstall-am: .MAKE: check-am install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am check-local clean \ - clean-checkPROGRAMS clean-generic clean-libtool ctags \ - distclean distclean-compile distclean-generic \ + clean-checkPROGRAMS clean-generic clean-libtool cscopelist \ + ctags distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ diff --git a/external/bsd/file/file2netbsd b/external/bsd/file/file2netbsd index fb05c5b46..a2f26e0ab 100755 --- a/external/bsd/file/file2netbsd +++ b/external/bsd/file/file2netbsd @@ -1,6 +1,6 @@ #! /bin/sh # -# $NetBSD: file2netbsd,v 1.3 2012/02/22 17:47:25 christos Exp $ +# $NetBSD: file2netbsd,v 1.5 2013/01/04 15:34:47 christos Exp $ # # Copyright (c) 2003, 2011 The NetBSD Foundation, Inc. # All rights reserved. @@ -41,7 +41,13 @@ then fi FILE="$1" -file_vers="$(awk -F', ' '/AC_INIT\(/ { print $2 }' "$FILE/configure.ac")" +file_vers="$(awk -F',' '/AC_INIT\(/ { print $2 }' "$FILE/configure.ac" | tr -d '[' | tr -d ']' | tr -d ' ')" + +case $file_vers in +[0-9].[0-9][0-9]) ;; +*) echo "$PROG: Cannot determine file version: $file_vers" 1>&2 + exit 1;; +esac ### Wipe out stuff we don't want find "$FILE" -name .cvsignore -delete @@ -67,9 +73,9 @@ mv /tmp/file3$$ $c && echo did source mods for $c done #### Move files to proper names -mv -f doc/file.man doc/file.1 -mv -f doc/libmagic.man doc/libmagic.3 -mv -f doc/magic.man doc/magic.5 +mv -f $FILE/doc/file.man $FILE/doc/file.1 +mv -f $FILE/doc/libmagic.man $FILE/doc/libmagic.3 +mv -f $FILE/doc/magic.man $FILE/doc/magic.5 #### Add RCS tags to man pages find "$FILE" -type f -name '*.[0-9]' -print | while read m; do @@ -86,7 +92,7 @@ mv /tmp/file4$$ $m && echo did manpage mods for $m done #### de-"capsize" the magdir -mv magic/Magdir magic/magdir +mv $FILE/magic/Magdir $FILE/magic/magdir #### Make building easier, don't build magic and doc echo '/^SUBDIRS/ diff --git a/external/bsd/file/include/config.h b/external/bsd/file/include/config.h index 6d5522537..b183f8872 100644 --- a/external/bsd/file/include/config.h +++ b/external/bsd/file/include/config.h @@ -1,15 +1,24 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + /* Define in built-in ELF support is used */ #define BUILTIN_ELF 1 /* Define for ELF core file support */ #define ELFCORE 1 +/* Define to 1 if you have the `asctime_r' function. */ +#define HAVE_ASCTIME_R 1 + /* Define to 1 if you have the `asprintf' function. */ #define HAVE_ASPRINTF 1 +/* Define to 1 if you have the `ctime_r' function. */ +#define HAVE_CTIME_R 1 + /* HAVE_DAYLIGHT */ #define HAVE_DAYLIGHT 1 @@ -45,11 +54,8 @@ /* Define to 1 if you have the `getopt_long' function. */ #define HAVE_GETOPT_LONG 1 -/* Define to 1 if the system has the type `int32_t'. */ -#define HAVE_INT32_T 1 - -/* Define to 1 if the system has the type `int64_t'. */ -#define HAVE_INT64_T 1 +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 @@ -66,7 +72,7 @@ /* Define to 1 if you have the header file. */ #define HAVE_LOCALE_H 1 -/* Define to 1 if you have the `mbrtowc' function. */ +/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ #define HAVE_MBRTOWC 1 /* Define to 1 if declares mbstate_t. */ @@ -75,14 +81,20 @@ /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 +/* Define to 1 if you have the `mkostemp' function. */ +/* #undef HAVE_MKOSTEMP */ + /* Define to 1 if you have the `mkstemp' function. */ #define HAVE_MKSTEMP 1 /* Define to 1 if you have the `mmap' function. */ /* #undef HAVE_MMAP */ -/* Define to 1 if the system has the type `pid_t'. */ -#define HAVE_PID_T 1 +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 @@ -117,18 +129,21 @@ /* HAVE_STRUCT_OPTION */ #define HAVE_STRUCT_OPTION 1 -/* Define to 1 if `struct stat' is a member of `st_rdev'. */ +/* Define to 1 if `st_rdev' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_RDEV 1 -/* Define to 1 if `struct tm' is a member of `tm_gmtoff'. */ +/* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_GMTOFF 1 -/* Define to 1 if `struct tm' is a member of `tm_zone'. */ +/* Define to 1 if `tm_zone' is a member of `struct tm'. */ #define HAVE_STRUCT_TM_TM_ZONE 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_MMAN_H */ +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 @@ -153,18 +168,6 @@ /* HAVE_TZNAME */ #define HAVE_TZNAME 1 -/* Define to 1 if the system has the type `uint16_t'. */ -#define HAVE_UINT16_T 1 - -/* Define to 1 if the system has the type `uint32_t'. */ -#define HAVE_UINT32_T 1 - -/* Define to 1 if the system has the type `uint64_t'. */ -#define HAVE_UINT64_T 1 - -/* Define to 1 if the system has the type `uint8_t'. */ -#define HAVE_UINT8_T 1 - /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 @@ -180,6 +183,16 @@ /* Define to 1 if you have the `vasprintf' function. */ #define HAVE_VASPRINTF 1 +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 or 0, depending whether the compiler supports simple visibility + declarations. */ +#define HAVE_VISIBILITY 1 + /* Define to 1 if you have the header file. */ #define HAVE_WCHAR_H 1 @@ -189,6 +202,12 @@ /* Define to 1 if you have the `wcwidth' function. */ #define HAVE_WCWIDTH 1 +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 @@ -217,7 +236,7 @@ #define PACKAGE_NAME "file" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "file 5.11" +#define PACKAGE_STRING "file 5.14" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "file" @@ -226,10 +245,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.11" - -/* The size of `long long', as computed by sizeof. */ -#define SIZEOF_LONG_LONG 8 +#define PACKAGE_VERSION "5.14" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 @@ -260,7 +276,24 @@ /* Version number of package */ -#define VERSION "5.11" +#define VERSION "5.14" + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ @@ -281,43 +314,59 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ /* #undef _POSIX_SOURCE */ +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT32_T */ + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT64_T */ + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +/* #undef _UINT8_T */ + /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int32_t */ + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef int64_t */ + /* Define to a type if does not define. */ /* #undef mbstate_t */ /* Define to `long int' if does not define. */ /* #undef off_t */ +/* Define to `int' if does not define. */ +/* #undef pid_t */ + /* Define to `unsigned int' if does not define. */ /* #undef size_t */ +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint16_t */ -#ifndef HAVE_UINT8_T -typedef unsigned char uint8_t; -#endif -#ifndef HAVE_UINT16_T -typedef unsigned short uint16_t; -#endif -#ifndef HAVE_UINT32_T -typedef unsigned int uint32_t; -#endif -#ifndef HAVE_INT32_T -typedef int int32_t; -#endif -#ifndef HAVE_UINT64_T -#if SIZEOF_LONG_LONG == 8 -typedef unsigned long long uint64_t; -#else -typedef unsigned long uint64_t; -#endif -#endif -#ifndef HAVE_INT64_T -#if SIZEOF_LONG_LONG == 8 -typedef long long int64_t; -#else -typedef long int64_t; -#endif -#endif +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint32_t */ +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint64_t */ + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +/* #undef uint8_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/bsd/file/lib/Makefile b/external/bsd/file/lib/Makefile index 7bb93e04f..437cf7625 100644 --- a/external/bsd/file/lib/Makefile +++ b/external/bsd/file/lib/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2011/08/14 09:06:12 christos Exp $ +# $NetBSD: Makefile,v 1.4 2013/08/13 19:29:45 drochner Exp $ # USE_FORT?= yes # data driven bugs? @@ -9,6 +9,7 @@ USE_FORT?= yes # data driven bugs? LIB= magic LIBDPLIBS+= z ${NETBSDSRCDIR}/lib/libz +CPPFLAGS+=-I. .if ${MACHINE_ARCH} == "i386" # Set lint to exit on warnings @@ -34,4 +35,9 @@ INCSDIR= /usr/include COPTS.softmagic.c = -Wno-format-nonliteral +magic.c: magic.h +magic.h: magic.h.in + ${TOOL_SED} -e "s/X.YY/514/" < ${.ALLSRC} > ${.TARGET} +CLEANFILES+= magic.h + .include diff --git a/external/bsd/file/lib/shlib_version b/external/bsd/file/lib/shlib_version index d2c646b97..d5bc288fd 100644 --- a/external/bsd/file/lib/shlib_version +++ b/external/bsd/file/lib/shlib_version @@ -1,4 +1,4 @@ -# $NetBSD: shlib_version,v 1.2 2011/05/13 01:52:13 christos Exp $ +# $NetBSD: shlib_version,v 1.4 2013/03/23 16:15:59 christos Exp $ # -major=0 +major=5 minor=0 diff --git a/external/bsd/flex/dist/ChangeLog b/external/bsd/flex/dist/ChangeLog index 6cf7e1c8a..4d0c7595a 100644 --- a/external/bsd/flex/dist/ChangeLog +++ b/external/bsd/flex/dist/ChangeLog @@ -1,996 +1,1408 @@ -2008-02-26 15:36 Will Estes +2012-08-03 Will Estes + + * NEWS: update NEWS to reflect changes in 2.5.37 + +2012-08-03 Will Estes + + * configure.in: update flex version to 2.5.37 + +2012-08-03 Will Estes + + * po/de.po: new de translation from the translation project + +2012-08-02 Will Estes + + * po/vi.po: new vi translation from the translation project + +2012-08-02 Will Estes + + * po/pl.po: new pl translation from the translation project + +2012-08-02 Will Estes + + * po/fi.po: new fi translation from the translation project + +2012-08-02 Will Estes + + * Makefile.am: Add -f option to LN_S to create flex++ The autoconf macro LN_S needs -f to successfully install flex++ if + flex++ already exists. Fortunately, ln, ln -s and cp -p, which are + the various forms that LN_S can take all will do the right thing + with a -f argument passed. + +2012-08-02 Will Estes + + * Makefile.am, tools/Makefile.am, tools/cvs2cl.pl, + tools/cvsauthors, tools/git2cl: replace cvs2cl with git2cl Add the git2cl script in tools/ and remove the (now unnecessary) + cvs2cl script. Remove tools/cvsauthors since git2cl does not need + that file. Account for all the above in Makefile.am and + tools/Makefile.am + +2012-07-29 Will Estes + + * tests/.cvsignore, tests/.gitignore, tests/TEMPLATE/.cvsignore, + tests/TEMPLATE/.gitignore, tests/test-alloc-extra/.cvsignore, + tests/test-alloc-extra/.gitignore, tests/test-array-nr/.cvsignore, + tests/test-array-nr/.gitignore, tests/test-array-r/.cvsignore, + tests/test-array-r/.gitignore, tests/test-basic-nr/.cvsignore, + tests/test-basic-nr/.gitignore, tests/test-basic-r/.cvsignore, + tests/test-basic-r/.gitignore, tests/test-bison-nr/.cvsignore, + tests/test-bison-nr/.gitignore, tests/test-bison-yylloc/.cvsignore, + tests/test-bison-yylloc/.gitignore, + tests/test-bison-yylval/.cvsignore, + tests/test-bison-yylval/.gitignore, + tests/test-c++-basic/.cvsignore, tests/test-c++-basic/.gitignore, + tests/test-c++-multiple-scanners/.cvsignore, + tests/test-c++-multiple-scanners/.gitignore, + tests/test-c++-yywrap/.cvsignore, tests/test-c++-yywrap/.gitignore, + tests/test-c-cpp-nr/.cvsignore, tests/test-c-cpp-nr/.gitignore, + tests/test-c-cpp-r/.cvsignore, tests/test-c-cpp-r/.gitignore, + tests/test-ccl/.cvsignore, tests/test-ccl/.gitignore, + tests/test-concatenated-options/.cvsignore, + tests/test-concatenated-options/.gitignore, + tests/test-debug-nr/.cvsignore, tests/test-debug-nr/.gitignore, + tests/test-debug-r/.cvsignore, tests/test-debug-r/.gitignore, + tests/test-extended/.cvsignore, tests/test-extended/.gitignore, + tests/test-header-nr/.cvsignore, tests/test-header-nr/.gitignore, + tests/test-header-r/.cvsignore, tests/test-header-r/.gitignore, + tests/test-include-by-buffer/.cvsignore, + tests/test-include-by-buffer/.gitignore, + tests/test-include-by-push/.cvsignore, + tests/test-include-by-push/.gitignore, + tests/test-include-by-reentrant/.cvsignore, + tests/test-include-by-reentrant/.gitignore, + tests/test-linedir-r/.cvsignore, tests/test-linedir-r/.gitignore, + tests/test-lineno-nr/.cvsignore, tests/test-lineno-nr/.gitignore, + tests/test-lineno-r/.cvsignore, tests/test-lineno-r/.gitignore, + tests/test-mem-nr/.cvsignore, tests/test-mem-nr/.gitignore, + tests/test-mem-r/.cvsignore, tests/test-mem-r/.gitignore, + tests/test-multiple-scanners-nr/.cvsignore, + tests/test-multiple-scanners-nr/.gitignore, + tests/test-multiple-scanners-r/.cvsignore, + tests/test-multiple-scanners-r/.gitignore, + tests/test-noansi-nr/.cvsignore, tests/test-noansi-nr/.gitignore, + tests/test-noansi-r/.cvsignore, tests/test-noansi-r/.gitignore, + tests/test-posix/.cvsignore, tests/test-posix/.gitignore, + tests/test-posixly-correct/.cvsignore, + tests/test-posixly-correct/.gitignore, + tests/test-prefix-nr/.cvsignore, tests/test-prefix-nr/.gitignore, + tests/test-prefix-r/.cvsignore, tests/test-prefix-r/.gitignore, + tests/test-pthread/.cvsignore, tests/test-pthread/.gitignore, + tests/test-quotes/.cvsignore, tests/test-quotes/.gitignore, + tests/test-reject/.cvsignore, tests/test-reject/.gitignore, + tests/test-rescan-nr/.cvsignore, tests/test-rescan-nr/.gitignore, + tests/test-rescan-r/.cvsignore, tests/test-rescan-r/.gitignore, + tests/test-string-nr/.cvsignore, tests/test-string-nr/.gitignore, + tests/test-string-r/.cvsignore, tests/test-string-r/.gitignore, + tests/test-table-opts/.cvsignore, tests/test-table-opts/.gitignore, + tests/test-top/.cvsignore, tests/test-top/.gitignore, + tests/test-yyextra/.cvsignore, tests/test-yyextra/.gitignore: rename + .cvsignore files in tests/ subdirectories to gitignore + +2012-07-23 Will Estes + + * examples/.cvsignore, examples/fastwc/.cvsignore, + examples/manual/.cvsignore, lib/.cvsignore, tools/.cvsignore: remove + unneeded .cvsignore files + +2012-07-22 Will Estes + + * .gitignore: add *.o and *.a to top level .gitignore The cvs tree did not need these additions because cvs assumed a lot + of C-style defaults for .cvsignore files. flex builds *.o object + files in the course of compilation and *.a files are built as a part + of the libraries that flex compiles in the build process. + +2012-07-22 Will Estes + + * .cvsignore, .gitignore, doc/.cvsignore, doc/.gitignore, + m4/.cvsignore, m4/.gitignore, po/.cvsignore, po/.gitignore: rename + .cvsignore files to .gitignore The .cvsignore files from the legacy cvs repository tracked what + files got autogenerated during various stages of the flex build. + Renaming the .cvsignore files to .gitignore lets git do the same + thing. git is better about letting higher level .gitignore files + not-track files in lower level directories. As I work my way through + the test directories, we may add additional .gitignore files from + the old .cvsignore files. The po/ directory has a lot of special files used by gettext, so the + patterns in po/.gitignore look very different. The doc/.gitignore file accounts for what texinfo/makeinfo do, and + so it also has special patterns. The m4 directory is mainly present for autoconf's benefit, but we + have to account for it so make can do the right thing. Hence, + m4/.gitignore says to ignore *.m4, as counterintuitive as that may + seem. + +2012-07-22 Will Estes + + * NEWS: update NEWS file to note release date of 2.5.36 + +2012-06-23 Will Estes + + * doc/flex.texi: fix call to version in manual + +2012-06-22 Will Estes + + * doc/flex.texi: add missing argument to call to yylex in manual + +2012-04-27 Will Estes + + * flex.skl: lintish cleanup in flex.skl; resolves #2040664 + +2012-04-27 Will Estes + + * doc/flex.texi: add a 7 to the c99 octal pattern; resolves #3518269 + +2012-03-31 Will Estes + + * doc/flex.texi: copyedit; resolves #3513670 + +2012-03-23 Will Estes + + * buf.c: escape backslashes in #line filenames in %top section; + resolves #3212400; patch submitted by scfc_de + +2012-03-21 Will Estes + + * Makefile.am, configure.in, lib/Makefile.am, lib/lib.c, + lib/malloc.c, lib/realloc.c: provide malloc() and realloc() for + systems that do not have satisfactory versions; resolves #1899047 + +2012-03-21 Will Estes + + * Makefile.am: install flex++ as a link; resolves bug #2939681 + +2012-03-21 Will Estes + + * tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am: fix dependencies for make -j in + test suite + +2012-03-19 Will Estes + + * flex.skl: add missing prototypes for yyset_column() and + yyget_column(); resolves #3029024; patch submitted by scfc_de + +2012-03-02 Will Estes + + * flex.skl, tests/test-reject/scanner.l, + tests/test-table-opts/scanner.l: wrap yy_fatal_error calls + appropriately + +2012-03-02 Will Estes + + * regex.c: fix overlapping data buffer issue; patch from Tim + Landsheet scfc_de + +2012-03-02 Will Estes + + * scan.l: better bracket handling in the scanner + +2012-03-02 Will Estes + + * flexdef.h, main.c, misc.c: Remove unneeded tracking of line/column + output; patch from Tim Landsheet scfc_de + +2012-03-02 Will Estes + + * configure.in: fix test for m4 to accept an m4 with -P and not jus + tGNU m4; patch from Tim Landsheet scfc_de on sourceforge + +2012-03-02 Will Estes + + * doc/flex.texi: fix order of td_lolen and td_hilen in + documentation; resolves #2913693; patch submitted by Andreas + Gruenbacher + +2012-03-02 Will Estes + + * doc/flex.texi: correct document of YY_FLUSH_BUFFER; resolves + #1723028 + +2012-02-17 Will Estes + + * dfa.c, flexdef.h, misc.c, parse.y: speed up things for complex + inputs; resolves #2891390 + +2012-02-17 Will Estes + + * doc/flex.texi: fix ipv6 pattern in manual; update manual copyright + to 2012 + +2012-02-17 Will Estes + + * flex.skl: fremove isatty() declaration; resolves #1984987 + +2012-02-17 Will Estes + + * doc/flex.texi: Add link for RFC 2396 + +2012-02-17 Will Estes + + * flex.skl: resolve #1990170 + +2012-02-17 Will Estes + + * flex.skl: fix documentation to reflect arguments actually used; + bug #2783023 + +2012-02-05 Will Estes + + * main.c: fix yywrap behavior for reentrant scanners + +2012-02-04 Will Estes + + * NEWS: Mmention tr translation + +2012-02-04 Will Estes + + * tables.c: prevent unused stuff from being compiled so as to reduce + warnings + +2012-02-03 Will Estes + + * buf.c, filter.c, main.c, misc.c, regex.c, scanflags.c: more better + error messages; more better memory handling + +2012-02-03 Will Estes + + * misc.c: more careful/paranoia + +2012-02-03 Will Estes + + * scanopt.c: more careful memory allocation in option processing + +2012-02-03 Will Estes + + * Makefile.am, configure.in: remove m4/ directory and generally + clean up automake/autoconf inputs + +2012-02-03 Will Estes + + * lib/.cvsignore: cvsignore files that need that + +2012-02-03 Will Estes + + * NEWS, po/da.po, po/es.po, po/ko.po, po/pt_BR.po, po/ro.po, + po/ru.po, po/sv.po, po/tr.po, po/zh_CN.po: check in translations + +2012-02-03 Will Estes + + * main.c: correct macro definition of yywrap + +2012-02-03 Will Estes + + * scan.l: Greater specificity in error messages + +2012-02-03 Will Estes + + * parse.y: improve rule handling at EOF + +2012-02-03 Will Estes + + * flex.skl: include cstdio for definition of EOF in all cases + +2012-02-03 Will Estes + + * flex.skl: suppress warning on unused yyguts_t + +2010-08-13 Will Estes + + * NEWS, po/LINGUAS, po/fi.po: new fi translation from the + translation project + +2009-03-31 Will Estes + + * doc/flex.texi: Include version.texi after @setfilename, so that @set values are correctly evaluated. (Start Conditions, Performance, Lex and Posix): Fix some markup errors. (Cxx): Likewise. Also, fix C++ example to actually be compilable. Patch from Ralf Wildenhues + +2008-12-28 Will Estes + + * configure.in: remove line break that broke configure + +2008-12-28 Will Estes + + * doc/flex.texi: specify the title on the title page since @settitle + doesn't do that for us; resolves bug #2043491 + +2008-12-28 Will Estes + + * configure.in, flexdef.h: check for regex.h; resolves bug #2337486 + +2008-07-23 Will Estes + + * NEWS, po/ga.po: new ga translation from the translation project + +2008-06-10 Will Estes + + * NEWS, po/ca.po: new ca translation + +2008-05-31 Will Estes + + * Makefile.am: move ABOUT-NLS back to EXTRA_DIST + +2008-05-31 Will Estes + + * Makefile.am: create new dist_doc_DATA; move some EXTRA_DIST files + to new dist_doc_DATA target + +2008-05-31 Will Estes + + * .cvsignore: ignore more automake generated config.status* files + +2008-05-31 Will Estes + + * NEWS: flex distribution now built with automake and autoconf + versions ... + +2008-05-31 Will Estes + + * README.cvs: document GNU auto* version changes for building flex + from cvs + +2008-05-31 Will Estes + + * .cvsignore, doc/Makefile.am: ignore automake-supplied ylwrap + +2008-05-15 Will Estes + + * NEWS, flex.skl: clean up types; resolves 1961902 + +2008-05-15 Will Estes + + * NEWS: update NEWS re manual + +2008-05-15 Will Estes + + * doc/flex.texi: correct eroneous references to 'nowrap' to refer to + 'noyywrap'; resolves bug #1739912 + +2008-05-14 Will Estes + + * filter.c: call clearerr on stdin before dup2'ing it; resolves bug + #1902612 + +2008-05-14 Will Estes + + * NEWS: generic updates to NEWS + +2008-05-14 Will Estes + + * tests/test-pthread/Makefile.am: move library flags in linker + command; resolves patch #1943403; patch submitted by + nullnix@users.sourceforge.net + +2008-05-14 Will Estes + + * doc/flex.texi: use ansi syntax in simple examples; resolves patch + #1909844; patch submitted by Tom Browder, + tbrowder2@users.sourceforge.net + +2008-04-10 Will Estes + + * doc/flex.texi: fix typo in example (from Paolo J. Matos + +2008-04-10 Will Estes + + * flexint.h: move endif to better account for what C99 defines for + integer types (fix from debian project) + +2008-04-10 Will Estes + + * gen.c: fix another int type to be size_t + +2008-03-30 Will Estes + + * NEWS, po/fr.po: new fr translation + +2008-03-30 Will Estes + + * NEWS, configure.in: start version 2.5.36 + +2008-02-26 Will Estes * NEWS: add date of release -2008-02-15 07:37 Will Estes +2008-02-15 Will Estes * NEWS, parse.y: fix bug that prevented comments from working properly -2008-02-12 07:57 Will Estes +2008-02-12 Will Estes * po/de.po: new de translation -2008-02-10 06:08 Will Estes +2008-02-10 Will Estes * NEWS, po/vi.po: new vi translation -2008-02-09 19:22 Will Estes +2008-02-10 Will Estes * NEWS, po/nl.po: new nl translation -2008-02-09 14:59 Will Estes +2008-02-09 Will Estes * NEWS, po/pl.po: new pl translation -2008-02-09 14:19 Will Estes +2008-02-09 Will Estes * NEWS, po/de.po, po/pt_BR.po: new de, pt_br translations -2008-02-09 13:54 Will Estes +2008-02-09 Will Estes * NEWS, flex.skl: generate headers for all functions (resolves bug #1628314) -2008-02-09 10:49 Will Estes +2008-02-09 Will Estes * NEWS, flex.skl: change yy_size_t to be size_t (resolves bug #1849812) -2008-02-09 10:46 Will Estes +2008-02-09 Will Estes * configure.in: start work on version 2.5.35 -2007-12-12 16:00 Will Estes +2007-12-12 Will Estes - * NEWS, configure.in: revert NEWS and configure.in to version - 2.5.34 + * NEWS, configure.in: revert NEWS and configure.in to version 2.5.34 -2007-09-12 11:28 Will Estes +2007-09-12 Will Estes * NEWS, configure.in: update version number to 2.5.35 -2007-09-10 02:17 Aaron Stone +2007-09-10 Aaron Stone * tests/test-alloc-extra/scanner.l: Use %option extra-type. -2007-09-10 02:16 Aaron Stone +2007-09-10 Aaron Stone - * NEWS, flex.skl, flexdef.h, main.c, parse.y, scan.l, - doc/flex.texi: Introduce %option extra-type="your_type *" (resolves - bug #1744505). + * NEWS, doc/flex.texi, flex.skl, flexdef.h, main.c, parse.y, scan.l: + Introduce %option extra-type="your_type *" (resolves bug #1744505). -2007-08-15 08:28 Will Estes +2007-08-15 Will Estes * po/nl.po: new nl translations from the translation project -2007-06-28 16:28 Will Estes +2007-06-28 Will Estes * NEWS: change release date -2007-06-27 21:59 Will Estes +2007-06-28 Will Estes * flex.skl: adjustment for prefix classes; patch submitted by Petr Machata -2007-06-27 21:53 Will Estes +2007-06-28 Will Estes * NEWS: NEWS item for yy_init_extra -2007-06-12 12:33 Aaron Stone +2007-06-12 Aaron Stone * doc/flex.texi: Docs and example for yylex_init_extra. -2007-05-31 20:22 Will Estes +2007-06-01 Will Estes * tests/test-alloc-extra/.cvsignore: ignore OUTPUT file in test-alloc-extra -2007-05-31 20:21 Will Estes +2007-06-01 Will Estes * tests/descriptions: add description of concatenated options test -2007-05-31 16:20 Will Estes +2007-05-31 Will Estes * tests/test-alloc-extra/.cvsignore: add missing .cvsignore to test-alloc-extra -2007-05-31 02:21 Aaron Stone +2007-05-31 Aaron Stone * configure.in, flex.skl, gen.c, main.c: Changes to resolve SF bugs 1568325 and 1563589. -2007-05-31 02:09 Aaron Stone +2007-05-31 Aaron Stone - * tests/: Makefile.am, descriptions, test-alloc-extra/Makefile.am, - test-alloc-extra/scanner.l, test-alloc-extra/test.input: Adding - test cases for yylex_init_extra. + * tests/Makefile.am, tests/descriptions, + tests/test-alloc-extra/Makefile.am, + tests/test-alloc-extra/scanner.l, tests/test-alloc-extra/test.input: + Adding test cases for yylex_init_extra. -2007-05-12 11:27 Will Estes +2007-05-12 Will Estes * configure.in, tests/test-pthread/scanner.l: fixes to test-pthread -2007-05-12 09:13 Will Estes +2007-05-12 Will Estes * NEWS: NEWS item for concatenated options -2007-05-12 09:13 Will Estes +2007-05-12 Will Estes * configure.in, tests/Makefile.am, tests/test-concatenated-options/.cvsignore, tests/test-concatenated-options/Makefile.am: unit test to verify concatenated options parsing -2007-05-12 09:11 Will Estes +2007-05-12 Will Estes * scanopt.c: parse multiple short concatenated options; patch submitted by Petr Machata +2007-05-11 Will Estes * autogen.sh: remove --force option from autogen.sh; much faster without it -2007-05-11 14:35 Will Estes +2007-05-11 Will Estes * NEWS, configure.in: version 2.5.34 -2007-05-08 00:23 Aaron Stone +2007-05-08 Aaron Stone * NEWS, flex.skl: Better checking after yyalloc/yyrealloc (resolves bug #1595967) -2007-05-01 08:10 Will Estes +2007-05-01 Will Estes * doc/flex.texi: change title of manual to 'Lexical Analysis with Flex' -2007-04-25 14:16 Will Estes +2007-04-25 Will Estes * flex.skl: c++ memory leak plug -2007-04-23 09:29 Will Estes +2007-04-23 Will Estes * flex.skl: roll back c++ memory patch as it causes the test suite no end of grief -2007-04-23 08:42 Will Estes +2007-04-23 Will Estes - * flex.skl: fix function definitions for non-ANSI environments - (from Manoj Srivastava from Debian patchset) + * flex.skl: fix function definitions for non-ANSI environments (from + Manoj Srivastava from Debian patchset) -2007-04-23 08:37 Will Estes +2007-04-23 Will Estes * flex.skl: fix c++ memory leak (from Manoj Srivastava from Debian patchset) -2007-04-23 06:59 Will Estes +2007-04-23 Will Estes * flex.skl: fix parameter name in comment (patch from Manoj Srivastava from the debian patchset -2007-04-23 06:57 Will Estes +2007-04-23 Will Estes * flex.skl: add a size_t cast (patch from Manoj Srivastava from the debian patchset -2007-04-16 17:06 Will Estes +2007-04-16 Will Estes - * tests/: test-extended/Makefile.am, test-quotes/Makefile.am: + * tests/test-extended/Makefile.am, tests/test-quotes/Makefile.am: cleanups to handle VPATH builds better; passifies make distcheck -2007-04-16 16:42 Will Estes +2007-04-16 Will Estes * doc/flex.texi: drop using the \ in \ escaping as it throws pdf generation for a loop -2007-04-14 08:33 Will Estes +2007-04-14 Will Estes * .cvsignore: add compile and *.tar.bz2 to .cvsignore -2007-04-14 08:27 Will Estes +2007-04-14 Will Estes * main.c: add call to setlocale for ctype as per debian patchset -2007-04-14 08:25 Will Estes +2007-04-14 Will Estes - * Makefile.am, NEWS: provide for a PIC version of libfl.a for - shared libraries using flex scanners + * Makefile.am, NEWS: provide for a PIC version of libfl.a for shared + libraries using flex scanners -2007-04-13 13:24 Will Estes +2007-04-13 Will Estes * FlexLexer.h: annotate endifs since they're a bit far from their opening #if statements -2007-04-13 12:55 Will Estes +2007-04-13 Will Estes * flexdef.h, parse.y: refactor and slightly redo alloca testing, resolves bug #1675899 -2007-04-13 12:50 Will Estes +2007-04-13 Will Estes - * configure.in: overhaul configure.in: use octathorps for comments - so they're passed through m4 processing; better bracketing of m4 - arguments; retool checks as per suggestions from autoscan(1) + * : overhaul configure.in: use octathorps for comments so they're + passed through m4 processing; better bracketing of m4 arguments; + retool checks as per suggestions from autoscan(1) -2007-04-13 12:43 Will Estes - - * flex.skl: better handling of class that use the prefix - functionality; from submitted patch - -2007-04-13 12:32 Will Estes +2007-04-13 Will Estes * flex.skl: fix skeleton for reentrant scanners -2007-04-12 21:50 Will Estes +2007-04-13 Will Estes * Makefile.am: remove homegrown tags target; automake does that for us -2007-04-12 15:12 Will Estes - - * FlexLexer.h: declare some const where missing in c++ header file - -2007-04-12 15:12 Will Estes +2007-04-12 Will Estes * flex.skl: fix skeleton for reentrant scanners, resolves bug #1694318 -2007-04-10 15:20 Will Estes +2007-04-12 Will Estes + + * FlexLexer.h: declare some const where missing in c++ header file + +2007-04-10 Will Estes * doc/flex.texi: corrections to the manual as per suggestions from flex-help@ -2007-04-03 15:16 Will Estes +2007-04-03 Will Estes * doc/flex.texi: include author names in online versions of the manual -2007-04-03 15:07 Will Estes +2007-04-03 Will Estes * COPYING: update copyright notice -2007-04-03 14:54 Will Estes +2007-04-03 Will Estes * AUTHORS: rearrange and update AUTHORS -2007-03-29 11:45 Will Estes +2007-03-29 Will Estes * NEWS: note sf feature request 1658379 in NEWS -2007-03-29 11:36 Will Estes +2007-03-29 Will Estes * tools/cvsauthors: add sodabrew to cvsauthors file -2007-03-29 11:25 Aaron Stone +2007-03-29 Aaron Stone - * flex.skl: - SourceForge feature request #1658379: Expose YY_BUF_SIZE in the - header file. + * flex.skl: SourceForge feature request #1658379: Expose YY_BUF_SIZE + in the header file. -2007-03-07 16:50 Will Estes +2007-03-07 Will Estes * NEWS, filter.c, flex.skl: apply patches submitted by sodabrew -2007-03-07 16:20 Will Estes +2007-03-07 Will Estes * README.cvs: more changes describing building flex from cvs -2007-03-07 16:16 Will Estes +2007-03-07 Will Estes * Makefile.am, README.cvs, README.cvs-snapshot: rename README.cvs-snapshot to README.cvs -2007-03-07 16:14 Will Estes +2007-03-07 Will Estes * README.cvs-snapshot: update to explain where flex cvs lives -2007-03-07 15:45 Will Estes +2007-03-07 Will Estes * README, doc/flex.texi: correct how to submit bugs -2007-02-16 10:38 Will Estes +2007-02-16 Will Estes * NEWS: clarify NEWS item re man page and pdf manual -2007-02-14 12:03 Will Estes +2007-02-14 Will Estes * po/Makevars: update bug address to point to flex-devel instead of lex-help -2007-02-13 12:54 Will Estes +2007-02-13 Will Estes * configure.in, doc/Makefile.am: make better use of AC_INIT; clean up, simplify and make more robust the generation of the man page -2007-02-13 12:08 Will Estes +2007-02-13 Will Estes * configure.in: remove option check-news from call to AM_INIT_AUTOMAKE as gnits implies check-news -2007-02-13 10:07 Will Estes +2007-02-13 Will Estes * Makefile.am, configure.in: move automake options from Makefile.am to configure.in -2007-02-13 10:04 Will Estes +2007-02-13 Will Estes * autogen.sh: restore --install option to autogen.sh since --force does not imply --install -2007-02-13 10:04 Will Estes +2007-02-13 Will Estes * tools/cvsauthors: add john43 to cvsauthors file -2007-02-13 09:50 Will Estes +2007-02-13 Will Estes * autogen.sh: call autoreconf with --force instead of --install -2007-02-13 09:48 Will Estes +2007-02-13 Will Estes * doc/.cvsignore: remove texinfo.tex from cvs tree -2007-02-12 20:15 Will Estes +2007-02-13 Will Estes * NEWS: updates to NEWS file to reflect recent changes -2007-02-12 20:14 Will Estes +2007-02-13 Will Estes * doc/Makefile.am: add flex.pdf to EXTRA_DIST -2007-02-12 19:45 Will Estes +2007-02-13 Will Estes * configure.in: remove flex.spec -2007-02-12 19:44 Will Estes +2007-02-13 Will Estes * Makefile.am: remove maintainercleanfiles -2007-02-01 15:56 Will Estes +2007-02-01 Will Estes * doc/Makefile.am: more changes to build system to distribute man page -2007-02-01 12:10 Will Estes +2007-02-01 Will Estes * doc/Makefile.am: add flex man page to distribution -2007-02-01 12:09 Will Estes +2007-02-01 Will Estes * .cvsignore, flex.spec.in: remove flex spec file -2006-11-17 10:14 Will Estes +2006-11-17 Will Estes - * tests/test-table-opts/Makefile.am: make test target depend on - test groupings, which in turn depend on building executables; - cygwin portability fix + * tests/test-table-opts/Makefile.am: make test target depend on test + groupings, which in turn depend on building executables; cygwin + portability fix -2006-11-10 16:00 Will Estes +2006-11-10 Will Estes * tests/create-test: change create-test script to edit files in place -2006-11-09 15:14 Will Estes +2006-11-09 Will Estes - * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, - test-basic-nr/Makefile.am, test-basic-r/Makefile.am, - test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, - test-c++-multiple-scanners/Makefile.am, - test-c++-yywrap/Makefile.am, test-c-cpp-nr/Makefile.am, - test-c-cpp-r/Makefile.am, test-ccl/Makefile.am, - test-debug-nr/Makefile.am, test-debug-r/Makefile.am, - test-extended/Makefile.am, test-header-nr/Makefile.am, - test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, - test-include-by-push/Makefile.am, - test-include-by-reentrant/Makefile.am, test-linedir-r/Makefile.am, - test-lineno-nr/Makefile.am, test-lineno-r/Makefile.am, - test-mem-nr/Makefile.am, test-mem-r/Makefile.am, - test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-noansi-nr/Makefile.am, - test-noansi-r/Makefile.am, test-posix/Makefile.am, - test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-quotes/Makefile.am, test-reject/Makefile.am, - test-rescan-nr/Makefile.am, test-rescan-r/Makefile.am, - test-string-nr/Makefile.am, test-string-r/Makefile.am, - test-top/Makefile.am, test-yyextra/Makefile.am: change CLEANFILES - to include instead of just the testname for the executable + * tests/test-array-nr/Makefile.am, tests/test-array-r/Makefile.am, + tests/test-basic-nr/Makefile.am, tests/test-basic-r/Makefile.am, + tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c++-basic/Makefile.am, + tests/test-c++-multiple-scanners/Makefile.am, + tests/test-c++-yywrap/Makefile.am, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-r/Makefile.am, tests/test-ccl/Makefile.am, + tests/test-debug-nr/Makefile.am, tests/test-debug-r/Makefile.am, + tests/test-extended/Makefile.am, tests/test-header-nr/Makefile.am, + tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-push/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-linedir-r/Makefile.am, tests/test-lineno-nr/Makefile.am, + tests/test-lineno-r/Makefile.am, tests/test-mem-nr/Makefile.am, + tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-noansi-nr/Makefile.am, tests/test-noansi-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-quotes/Makefile.am, + tests/test-reject/Makefile.am, tests/test-rescan-nr/Makefile.am, + tests/test-rescan-r/Makefile.am, tests/test-string-nr/Makefile.am, + tests/test-string-r/Makefile.am, tests/test-top/Makefile.am, + tests/test-yyextra/Makefile.am: change CLEANFILES to include + instead of just the testname for the executable -2006-11-09 09:44 Will Estes +2006-11-09 Will Estes * doc/flex.texi: fix typos in manual; resolves bug #1592857 -2006-11-09 09:39 Will Estes +2006-11-09 Will Estes * tests/TEMPLATE/Makefile.am: change test template to remove test executable when that executable has an extension, e.g. under Cygwin -2006-11-08 10:28 Will Estes +2006-11-08 Will Estes * tests/Makefile.am: test names weren't displaying in test success/failure messages (from #1591672 -2006-10-30 15:28 Will Estes +2006-10-30 Will Estes * doc/.cvsignore: add flex.html to .cvsignore in doc directory -2006-10-22 18:42 Will Estes +2006-10-22 Will Estes * NEWS: update NEWS file for the work that millaway did -2006-10-22 18:17 Will Estes +2006-10-22 Will Estes * FlexLexer.h, NEWS, main.c, tests/test-c++-multiple-scanners/scanner-2.l: make yywrap work with c++ scanners as per sf bug report -2006-10-20 15:16 Will Estes +2006-10-20 Will Estes - * flex.skl, tests/test-c++-multiple-scanners/main.cpp, - tests/test-c-cpp-nr/scanner.l, NEWS: memory leak issues in c++ - scanner + * NEWS, flex.skl, tests/test-c++-multiple-scanners/main.cpp, + tests/test-c-cpp-nr/scanner.l: memory leak issues in c++ scanner -2006-10-20 13:10 Will Estes +2006-10-20 Will Estes - * configure.in, tests/Makefile.am, tests/descriptions, + * NEWS, configure.in, tests/Makefile.am, tests/descriptions, tests/test-c++-yywrap/.cvsignore, tests/test-c++-yywrap/Makefile.am, tests/test-c++-yywrap/scanner.l, - tests/test-c++-yywrap/test.input, NEWS: add unit test for c++ with - yywrap + tests/test-c++-yywrap/test.input: add unit test for c++ with yywrap -2006-10-20 12:08 Will Estes +2006-10-20 Will Estes * NEWS, tests/test-c++-basic/Makefile.am, tests/test-linedir-r/Makefile.am: use configure-provided awk variable for portability; add loadlibes variable to c++ test -2006-10-17 09:41 Will Estes +2006-10-17 Will Estes * doc/flex.texi: add noyywrap option to example; use whitespace to clarify example -2006-08-02 10:43 Will Estes +2006-08-02 Will Estes * NEWS, po/ca.po, po/vi.po: new translations -2006-04-11 12:54 John Millaway +2006-04-11 John Millaway * tables.c: Casted away signedness to appease -Werror freaks. -2006-03-28 15:47 John Millaway +2006-03-28 John Millaway - * ccl.c, flexdef.h, parse.y, scan.l, sym.c, doc/flex.texi, - tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added ccl - union operator. Added test in test suite for ccl union operator. - Documented ccl union operator. Removed crufty ccl cache to prevent + * ccl.c, doc/flex.texi, flexdef.h, parse.y, scan.l, sym.c, + tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added ccl union + operator. Added test in test suite for ccl union operator. + Documented ccl union operator. Removed crufty ccl cache to prevent parser problems. -2006-03-28 12:56 John Millaway +2006-03-28 John Millaway - * scan.l, doc/flex.texi, tests/test-extended/scanner.l, + * doc/flex.texi, scan.l, tests/test-extended/scanner.l, tests/test-extended/test.input: Extended syntax excluded for - lex/posix compat mode. Comments discarded inside (?x:) patterns. - Added test in test suite for comments in extended patterns. + lex/posix compat mode. Comments discarded inside (?x:) patterns. + Added test in test suite for comments in extended patterns. Documented syntax additions. -2006-03-27 17:48 John Millaway +2006-03-27 John Millaway - * scan.l, tests/test-ccl/scanner.l, tests/test-ccl/test.input: + * scan.l, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Implemented (?x:) syntax to allow whitespace in patterns. Added test for (?x:) syntax in test suite. -2006-03-27 17:04 John Millaway +2006-03-27 John Millaway - * parse.y, tests/test-ccl/scanner.l, tests/test-ccl/test.input: + * parse.y, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Implemented dot-all syntax. Added test for dot-all syntax in test suite. -2006-03-27 15:59 John Millaway +2006-03-27 John Millaway - * dfa.c, flexdef.h, gen.c, main.c, parse.y, scan.l, scanflags.c, - doc/flex.texi, tests/test-ccl/scanner.l, tests/test-ccl/test.input: + * dfa.c, doc/flex.texi, flexdef.h, gen.c, main.c, parse.y, scan.l, + scanflags.c, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Removed global variable caseins. Added scanner stack flags for case-insensitivity. Moved case-folding code from DFA-generation to parse time read-macros. Added localized case-sensitivity syntax - from Perl. Added test for new syntax in test suite. Documented - new syntax. + from Perl. Added test for new syntax in test suite. Documented new + syntax. -2006-03-27 14:00 John Millaway +2006-03-27 John Millaway - * Makefile.am, configure.in, flexdef.h, scanflags.c: Added - configure check for assert.h. Added scanner flags stack. + * Makefile.am, configure.in, flexdef.h, scanflags.c: Added configure + check for assert.h. Added scanner flags stack. -2006-03-25 14:03 John Millaway +2006-03-25 John Millaway - * configure.in, scan.l, doc/flex.texi, tests/Makefile.am, + * configure.in, doc/flex.texi, scan.l, tests/Makefile.am, tests/descriptions, tests/test-extended/.cvsignore, tests/test-extended/Makefile.am, tests/test-extended/scanner.l, tests/test-extended/test.input: Added extended, perl-compatible - comment syntax. Added test for extended comment syntax. - Documented extended comment syntax. + comment syntax. Added test for extended comment syntax. Documented + extended comment syntax. -2006-03-25 12:57 John Millaway +2006-03-25 John Millaway - * parse.y, doc/flex.texi: Changed explicit 'A'-'Z' to isupper(), + * doc/flex.texi, parse.y: Changed explicit 'A'-'Z' to isupper(), where correct to do so. Documentation. -2006-03-24 17:33 John Millaway +2006-03-24 John Millaway * doc/flex.texi: Documentation. -2006-03-24 13:57 John Millaway +2006-03-24 John Millaway * doc/flex.texi: Added appendix of patterns to manual. -2006-03-23 18:34 John Millaway +2006-03-23 John Millaway - * doc/flex.texi: [no log message] + * doc/flex.texi: . -2006-03-22 15:06 John Millaway +2006-03-22 John Millaway * doc/flex.texi: Documentation. -2006-03-22 15:03 John Millaway +2006-03-22 John Millaway * doc/flex.texi: Documented set difference operator {-}. -2006-03-22 14:06 John Millaway +2006-03-22 John Millaway * ccl.c, flexdef.h, parse.y, scan.l, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added set difference operator {-} for character classes. -2006-03-22 11:04 John Millaway +2006-03-22 John Millaway - * configure.in, parse.y, scan.l, doc/flex.texi, tests/Makefile.am, + * configure.in, doc/flex.texi, parse.y, scan.l, tests/Makefile.am, tests/descriptions, tests/test-ccl/.cvsignore, tests/test-ccl/Makefile.am, tests/test-ccl/scanner.l, tests/test-ccl/test.input: Added negated character class - expressions. Documented negated character class expressions. - Added regression test for negated character class expressions. + expressions. Documented negated character class expressions. Added + regression test for negated character class expressions. -2006-03-22 07:49 John Millaway +2006-03-22 John Millaway - * buf.c, filter.c, gen.c, main.c, misc.c, nfa.c, parse.y, regex.c: + * buf.c, filter.c, gen.c, main.c, misc.c, nfa.c, parse.y, regex.c: Replaced sprintf with snprintf everywhere. -2006-03-21 19:15 John Millaway +2006-03-22 John Millaway * Makefile.am: Removed includedir from AM_CPPFLAGS #1439351. -2006-03-21 18:49 John Millaway +2006-03-21 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-quotes/.cvsignore, tests/test-quotes/Makefile.am, tests/test-quotes/scanner.l, tests/test-quotes/test.input: Added test to verify user code is unmangled. -2006-03-21 16:39 John Millaway +2006-03-21 John Millaway * flexdef.h, misc.c, scan.l: Fixed escape in actions. -2006-03-21 16:22 John Millaway +2006-03-21 John Millaway * filter.c, flexdef.h, main.c, scan.l: Reverted previous input filter changes. Added noop macro to scanner output. Modified scan.l to escape m4 quotes found in user code. -2006-03-21 16:18 John Millaway +2006-03-21 John Millaway - * tests/test-table-opts/: Makefile.am, scanner.l: Removed m4 from - test-table-opts + * tests/test-table-opts/Makefile.am, + tests/test-table-opts/scanner.l: Removed m4 from test-table-opts -2006-03-21 15:58 John Millaway +2006-03-21 John Millaway - * tests/test-reject/: Makefile.am, scanner.l: Removed m4 from - test-reject + * tests/test-reject/Makefile.am, tests/test-reject/scanner.l: + Removed m4 from test-reject -2006-03-21 13:23 John Millaway +2006-03-21 John Millaway * filter.c, flexdef.h, main.c, scan.l: Moved set_input_file to different file. -2006-03-20 21:17 John Millaway +2006-03-21 John Millaway - * flex.skl, flexdef.h, flexint.h, misc.c: Relaxed tests for - __STDC__ and __STDC_VERSION__ to cope with bugs in GCC and Sun cc. + * flex.skl, flexdef.h, flexint.h, misc.c: Relaxed tests for __STDC__ + and __STDC_VERSION__ to cope with bugs in GCC and Sun cc. -2006-03-19 20:50 John Millaway +2006-03-20 John Millaway * filter.c: Documented filter chain. Removed fdopen. Added no-op fseek. -2006-03-13 16:21 John Millaway +2006-03-13 John Millaway * gen.c: Fixed another -Wall report. -2006-03-10 09:59 Will Estes +2006-03-10 Will Estes * NEWS, po/vi.po: new vi translation -2006-03-09 08:45 Will Estes +2006-03-09 Will Estes * NEWS, po/ga.po, po/nl.po: new nl, ga translations -2006-02-20 20:54 Will Estes +2006-02-21 Will Estes * m4/Makefile.am: add po.m4 to extra_dist in m4/ so it gets picked up by distributions -2006-02-20 20:42 Will Estes +2006-02-21 Will Estes * m4/Makefile.am: add nls.m4 to extra_dist in m4/ so it will get picked up in distribution tarballs -2006-02-20 20:10 Will Estes +2006-02-21 Will Estes * configure.in: remove website directory from configure.in -2006-02-20 14:22 Will Estes +2006-02-20 Will Estes * NEWS, configure.in: version 2.5.33 marks in NEWS and configure.in -2006-02-20 13:21 Will Estes +2006-02-20 Will Estes * configure.in: change email address in configure.in to point to flex-help@sourceforge.net -2006-02-20 12:30 John Millaway +2006-02-20 John Millaway * doc/flex.texi: Documentation. -2006-02-20 12:17 John Millaway +2006-02-20 John Millaway * BUGS: Appended to BUGS file. -2006-02-18 14:09 Will Estes +2006-02-18 Will Estes * Makefile.am: remove website directory (since it now has its own module in the flex project -2006-02-16 17:20 John Millaway +2006-02-16 John Millaway - * flex.skl, doc/flex.texi: Fixed buffer overflow in reject state + * doc/flex.texi, flex.skl: Fixed buffer overflow in reject state buffer. Corrected documentation on the state buffer. -2006-02-16 10:02 John Millaway +2006-02-16 John Millaway * flex.skl: Reverted num_read from size_t back to int. -2006-02-15 18:58 John Millaway +2006-02-15 John Millaway * Makefile.am, configure.in: Removed reference to RoadMap in Makefile.am. Added website directory. -2006-02-15 16:08 Will Estes +2006-02-15 Will Estes * README, RoadMap: remove RoadMap and reference to it in README -2006-02-15 13:35 John Millaway +2006-02-15 John Millaway * BUGS, README, doc/flex.texi, doc/flex.xml: Eliminated references to lex.sf.net. -2006-02-15 13:31 John Millaway +2006-02-15 John Millaway - * BUGS, flex.skl: Transfered bugs list from lex.sf.net to BUGS - file. + * BUGS, flex.skl: Transfered bugs list from lex.sf.net to BUGS file. -2006-02-15 13:11 John Millaway +2006-02-15 John Millaway - * tests/: test-rescan-nr/.cvsignore, test-rescan-nr/Makefile.am, - test-rescan-nr/scanner.l, test-rescan-nr/test.input, - test-rescan-r/.cvsignore, test-rescan-r/Makefile.am, - test-rescan-r/scanner.l, test-rescan-r/test.input: Recommit of last - commit -- broken pipe. + * tests/test-rescan-nr/.cvsignore, + tests/test-rescan-nr/Makefile.am, tests/test-rescan-nr/scanner.l, + tests/test-rescan-nr/test.input, tests/test-rescan-r/.cvsignore, + tests/test-rescan-r/Makefile.am, tests/test-rescan-r/scanner.l, + tests/test-rescan-r/test.input: Recommit of last commit -- broken + pipe. -2006-02-15 13:06 John Millaway +2006-02-15 John Millaway - * configure.in, flex.skl, tests/Makefile.am, tests/descriptions: + * configure.in, flex.skl, tests/Makefile.am, tests/descriptions: yy_lex_destroy calls yy_init_globals to reset everything for next - call to yylex. Added two new tests for reusing scanners. + call to yylex. Added two new tests for reusing scanners. -2006-02-14 15:28 John Millaway +2006-02-14 John Millaway * flex.spec.in: Patched rpm spec file. -2006-02-14 15:23 John Millaway +2006-02-14 John Millaway * configure.in, flexint.h: Added C99 macro for inttypes, just to be conformant. -2006-02-14 14:38 John Millaway +2006-02-14 John Millaway - * flexdef.h, nfa.c, parse.y: Changed symbol INFINITE to fix - conflict with C math symbol. + * flexdef.h, nfa.c, parse.y: Changed symbol INFINITE to fix conflict + with C math symbol. -2006-02-14 14:28 John Millaway +2006-02-14 John Millaway * scan.l: Omitting parens for named rules in trailing context. -2006-02-14 13:55 John Millaway +2006-02-14 John Millaway * configure.in, main.c, po/ca.po, po/da.po, po/de.po, po/es.po, po/fr.po, po/ga.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, - tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Added - check for locale.h and libintl.h in configure script. + tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Added check + for locale.h and libintl.h in configure script. -2006-02-14 13:36 John Millaway +2006-02-14 John Millaway * flex.skl: Removed unused local vars. -2006-02-14 13:25 John Millaway +2006-02-14 John Millaway * flex.skl: Removed certain offending #undefs. -2006-02-14 13:07 John Millaway +2006-02-14 John Millaway * flexint.h: Removed logical and from preprocessor statement. -2006-02-14 06:40 Will Estes +2006-02-14 Will Estes - * po/: nl.po, nl.po.1: remove eroneously named nl.po.1; update + * po/nl.po, po/nl.po.1: remove eroneously named nl.po.1; update nl.po -2006-02-14 01:38 John Millaway +2006-02-14 John Millaway - * dfa.c: [no log message] + * dfa.c: . -2006-02-14 00:27 John Millaway +2006-02-14 John Millaway * flex.skl: Included for serialized tables. -2006-02-14 00:22 John Millaway +2006-02-14 John Millaway * configure.in: Minor patch to call to head in configure script. -2006-02-14 00:12 John Millaway +2006-02-14 John Millaway * doc/flex.texi: Documentation patch. -2006-02-13 22:32 John Millaway +2006-02-14 John Millaway * filter.c, gen.c, libyywrap.c, main.c: Patch for full file system failure. -2006-02-13 16:45 John Millaway +2006-02-13 John Millaway * doc/flex.texi: Documentation. -2006-02-13 16:18 John Millaway +2006-02-13 John Millaway * main.c: Fixed double-fclose when input file is empty. -2006-02-10 18:17 Will Estes +2006-02-10 Will Estes - * po/: ca.po, da.po, de.po, es.po, fr.po, ga.po, ko.po, nl.po.1, - pl.po, pt_BR.po, ro.po, ru.po, sv.po, tr.po, vi.po, zh_CN.po: - newtranslations + * po/ca.po, po/da.po, po/de.po, po/es.po, po/fr.po, po/ga.po, + po/ko.po, po/nl.po.1, po/pl.po, po/pt_BR.po, po/ro.po, po/ru.po, + po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po: newtranslations -2005-12-21 19:24 John Millaway +2005-12-22 John Millaway * buf.c, main.c: Improvement request 1069716 log vs. log10 -2005-12-21 19:16 John Millaway +2005-12-22 John Millaway * flex.skl: Fixed bug 1257093 yy_init_globals in header file -2005-04-14 16:45 Will Estes +2005-04-14 Will Estes * po/nl.po: new nl translation -2005-04-07 08:49 Will Estes +2005-04-07 Will Estes * NEWS, po/LINGUAS, po/nl.po, po/vi.po: new nl and vi translations -2004-07-20 16:32 Will Estes +2004-07-20 Will Estes * filter.c: correct improper stdin assignment -2004-05-22 18:42 Will Estes +2004-05-22 Will Estes - * po/tr.po, NEWS: new tr translation + * NEWS, po/tr.po: new tr translation -2004-05-11 20:44 Will Estes +2004-05-12 Will Estes - * .indent.pro, .cvsignore: .cvsignore and .indent.pro got missed - in the import to sourceforge; replace them + * .cvsignore, .indent.pro: .cvsignore and .indent.pro got missed in + the import to sourceforge; replace them -2004-05-11 09:28 Will Estes +2004-05-11 Will Estes * po/fr.po: new fr translation -2004-05-03 10:52 Will Estes +2004-05-03 Will Estes * po/LINGUAS: polish is pl, not po -2004-03-22 08:10 Will Estes +2004-03-22 Will Estes * po/sv.po: yet another sweedish update -2004-03-19 09:27 Will Estes +2004-03-19 Will Estes - * po/sv.po, NEWS: new sv translation + * NEWS, po/sv.po: new sv translation -2003-12-10 20:43 John Millaway +2003-12-11 John Millaway - * configure.in, filter.c, main.c: Configure checks for GNU m4. + * configure.in, filter.c, main.c: Configure checks for GNU m4. Environment variable M4 overrides built-in m4 path. Generated m4 does a late check for GNU m4. -2003-12-08 21:17 John Millaway +2003-12-09 John Millaway * doc/flex.texi: added 3 faqs -2003-11-24 08:12 Will Estes +2003-11-24 Will Estes * po/ro.po: new ro translation -2003-11-07 13:38 Will Estes +2003-11-07 Will Estes * NEWS, po/fr.po: new french translation -2003-11-07 08:57 Will Estes +2003-11-07 Will Estes * NEWS, po/ca.po: new catalan translation from the translation project -2003-11-07 08:50 Will Estes +2003-11-07 Will Estes * NEWS, po/LINGUAS, po/ga.po, po/pl.po: new polish translation; updated irish translation from translation project -2003-10-10 08:47 Will Estes +2003-10-10 Will Estes * NEWS, po/LINGUAS, po/ga.po: new Irish translation -2003-08-25 07:57 Will Estes +2003-08-25 Will Estes * NEWS, po/LINGUAS, po/ro.po: add romanian translation -2003-07-16 11:05 Will Estes +2003-07-16 Will Estes * flex.skl: flex_*int* type fixes -2003-07-16 10:45 Will Estes +2003-07-16 Will Estes * tools/cvsauthors: change wlestes email address -2003-07-16 10:43 Will Estes +2003-07-16 Will Estes * flex.skl: undef yytext_ptr has some bad side effects -2003-07-07 13:32 John Millaway +2003-07-07 John Millaway * doc/flex.texi: Documented m4 incompatibility with lex. -2003-05-21 13:57 Will Estes +2003-05-21 Will Estes * NEWS: upgrade to gettext 0.12 -2003-05-20 16:25 Will Estes +2003-05-20 Will Estes * flex.skl, gen.c: patches from manoj via sourceforge -2003-05-20 16:09 Will Estes +2003-05-20 Will Estes - * configure.in, po/.cvsignore, po/Makevars: upgrade gettext to - 0.12; this allows running make pdf and make ps to be successful + * configure.in, po/.cvsignore, po/Makevars: upgrade gettext to 0.12; + this allows running make pdf and make ps to be successful -2003-05-20 13:41 Will Estes +2003-05-20 Will Estes * doc/.cvsignore: cvs should ignore flex.pdf and flex.ps -2003-04-25 15:45 John Millaway +2003-04-25 John Millaway * TODO: Added yylineno bugs to TODO list. -2003-04-02 20:01 John Millaway +2003-04-03 John Millaway * doc/flex.xml: Docbook. -2003-04-02 19:22 John Millaway +2003-04-03 John Millaway * doc/flex.xml: xml now validates. -2003-04-02 18:20 John Millaway +2003-04-02 John Millaway * doc/flex.xml: Began conversion to DocBook. -2003-04-01 11:17 Will Estes +2003-04-01 Will Estes * NEWS, configure.in: version 2.5.31 -2003-04-01 11:14 Will Estes +2003-04-01 Will Estes * NEWS: remove --enable-maintainer-mode configure option -2003-04-01 11:08 Will Estes +2003-04-01 Will Estes * configure.in: remove AM_MAINTAINER_MODE -2003-03-31 20:51 John Millaway +2003-04-01 John Millaway - * flex.skl, flexdef.h, main.c, misc.c, scan.l: Renamed some - internal variables. + * flex.skl, flexdef.h, main.c, misc.c, scan.l: Renamed some internal + variables. -2003-03-31 08:21 Will Estes +2003-03-31 Will Estes * NEWS: yylineno is now per-buffer in reentrant scanners -2003-03-30 21:04 John Millaway +2003-03-31 John Millaway * TODO: Added TODO item. -2003-03-30 14:58 John Millaway +2003-03-30 John Millaway * flex.skl, gen.c: yylineno is per-buffer in the reentrant scanner. - support for yycolumn exists, but is not yet developed. + support for yycolumn exists, but is not yet developed. -2003-03-28 16:08 John Millaway +2003-03-28 John Millaway * flex.skl: Minor documentation. -2003-03-28 09:17 Will Estes +2003-03-28 Will Estes * NEWS: added %top directive -2003-03-27 13:02 John Millaway +2003-03-27 John Millaway - * buf.c, configure.in, flexdef.h, main.c, scan.l, doc/flex.texi, + * buf.c, configure.in, doc/flex.texi, flexdef.h, main.c, scan.l, tests/Makefile.am, tests/descriptions, tests/test-top/.cvsignore, tests/test-top/Makefile.am, tests/test-top/main.c, tests/test-top/scanner.l, tests/test-top/test.input: Added %top block syntax. Added test for %top block. Documented %top block. -2003-03-26 23:02 John Millaway +2003-03-27 John Millaway * TODO, doc/flex.texi: Documented the m4 dependency. -2003-03-26 16:43 Will Estes +2003-03-26 Will Estes - * configure.in, flexdef.h: check for sys/wait.h since we use - wait(2) + * configure.in, flexdef.h: check for sys/wait.h since we use wait(2) -2003-03-26 16:35 Will Estes +2003-03-26 Will Estes * flexdef.h: reorder include directives so as to catch system integer types before flex defined values for same -2003-03-26 14:19 Will Estes +2003-03-26 Will Estes * TODO: assign tasks due before major release can happen; remove --enable-maintainer-mode entry -2003-03-26 14:15 Will Estes +2003-03-26 Will Estes * Makefile.am: only rebuild the ChangeLog if we're inside a cvs working directory -2003-03-26 14:05 Will Estes +2003-03-26 Will Estes * configure.in, tools/.cvsignore, tools/Makefile.am: add tools/ subdirectory to distribution -2003-03-26 14:05 Will Estes +2003-03-26 Will Estes * Makefile.am: remove maintainer_mode conditional; add filter.c and - regex.c to indentfiles; reformat and sort indentfiles so it's - easier to add files in the future + regex.c to indentfiles; reformat and sort indentfiles so it's easier + to add files in the future -2003-03-26 14:04 Will Estes +2003-03-26 Will Estes * doc/Makefile.am: clean up flex.texi processing leftovers with cleanfiles -2003-03-26 13:29 Will Estes +2003-03-26 Will Estes - * tests/test-linedir-r/Makefile.am: an awk script wasn't included - in the distribution + * tests/test-linedir-r/Makefile.am: an awk script wasn't included in + the distribution -2003-03-26 11:52 John Millaway +2003-03-26 John Millaway * TODO, configure.in, tests/Makefile.am, tests/descriptions, tests/test-include-by-push/.cvsignore, @@ -1001,19 +1413,19 @@ tests/test-include-by-push/test-3.input: Added test for yypush_buffer_state and yypop_buffer_state. -2003-03-25 22:27 John Millaway +2003-03-26 John Millaway * TODO: Removed items from TODO list. -2003-03-25 22:26 John Millaway +2003-03-26 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-linedir-r/.cvsignore, tests/test-linedir-r/Makefile.am, tests/test-linedir-r/check-lines.awk, tests/test-linedir-r/main.c, - tests/test-linedir-r/scanner.l, tests/test-linedir-r/test.input: + tests/test-linedir-r/scanner.l, tests/test-linedir-r/test.input: Added test for #line directives. -2003-03-25 20:37 John Millaway +2003-03-26 John Millaway * configure.in, tests/Makefile.am, tests/test-noansi-nr/.cvsignore, tests/test-noansi-nr/Makefile.am, tests/test-noansi-nr/scanner.l, @@ -1022,672 +1434,800 @@ tests/test-noansi-r/test.input: Added test for noansi (traditional) options. Reordered the tests so the basic ones are first. -2003-03-25 15:51 Will Estes +2003-03-25 Will Estes * TODO, doc/Makefile.am: remove maintainer-mode conditional around rebuilding of manpage -2003-03-25 15:45 Will Estes +2003-03-25 Will Estes * README: mention doc/ for user documentation -2003-03-25 15:45 Will Estes +2003-03-25 Will Estes * TODO: rework distribution items -2003-03-25 15:45 Will Estes +2003-03-25 Will Estes * NEWS: mention m4 processing -2003-03-25 15:44 Will Estes +2003-03-25 Will Estes * tests/README: update instructions for running test suite -2003-03-25 11:39 Will Estes +2003-03-25 Will Estes - * FlexLexer.h, Makefile.am, TODO, buf.c, configure.in, filter.c, - flex.skl, flexdef.h, gen.c, main.c, misc.c, options.c, options.h, - regex.c, scan.l, sym.c, doc/flex.texi, + * FlexLexer.h, Makefile.am, TODO, buf.c, configure.in, + doc/flex.texi, filter.c, flex.skl, flexdef.h, gen.c, main.c, + misc.c, options.c, options.h, regex.c, scan.l, sym.c, tests/test-bison-nr/scanner.l, tests/test-bison-yylloc/scanner.l, tests/test-reject/scanner.l, tests/test-table-opts/scanner.l: merge millaway's m4 branch work -2003-03-20 15:10 Will Estes +2003-03-24 John Millaway + + * doc/flex.texi, flex.skl, flexdef.h, gen.c, main.c, options.c, + options.h, scan.l: Option ansi-definitions. Option ansi-prototypes. + Cleaned up some of header. Documented bison-locations. + +2003-03-24 John Millaway + + * scan.l: Escaped m4 macros in scan.l which would cause + bootstrapping issues. + +2003-03-21 John Millaway + + * doc/flex.texi, flex.skl, main.c: Cleaning up the skel. + +2003-03-20 Will Estes * TODO: we want to move the contents of to.do/Wishlist to top level TODO -2003-03-20 13:09 John Millaway +2003-03-20 John Millaway * to.do/Wish-List: Assessment of every item in Wish-List. -2003-03-17 04:57 John Millaway +2003-03-19 John Millaway - * regex.c: file regex.c was initially added on branch m4. + * main.c: Fixed allocation of slightly more memory than needed. -2003-03-10 15:00 John Millaway +2003-03-19 John Millaway - * filter.c: file filter.c was initially added on branch m4. + * TODO, buf.c, configure.in, flex.skl, flexdef.h, main.c, sym.c: + Start conditions now generated in a single place. -2003-03-05 14:52 Will Estes +2003-03-19 Will Estes - * texinfo.tex, doc/.cvsignore: move texinfo.tex to doc/ + * TODO: cosmetic changes to TODO list -2003-03-05 14:37 Will Estes +2003-03-19 John Millaway + + * flex.skl: Cleaned up warnings so multiple headers could coincide. + +2003-03-19 John Millaway + + * TODO, flex.skl, main.c: Moved prefixes to m4. + +2003-03-19 John Millaway + + * FlexLexer.h, filter.c, flex.skl, flexdef.h, main.c, misc.c, + regex.c: Removed Paxson/Berkeley copyright restriction from filter.c + and regex.c. Inline documentation of much of the generated API. + Line directives now fixed for header and stdin/stdout. Blank lines + squeezed from generated scanner. + +2003-03-18 John Millaway + + * filter.c, flexdef.h, main.c, regex.c: Fixed #line directives. + +2003-03-17 John Millaway + + * Makefile.am, filter.c, flexdef.h, regex.c: Added regex.c for + regex-related code. Worked on fixing line directives;incomplete. + +2003-03-14 John Millaway + + * TODO: Added some TODOs. + +2003-03-14 John Millaway + + * flexdef.h, main.c, options.c, options.h, scan.l, + tests/test-bison-nr/scanner.l, tests/test-bison-yylloc/scanner.l: + Bison bridge was simplified to rely less on bison output. New + option bison-locations. + +2003-03-14 John Millaway + + * filter.c, flex.skl, flexdef.h, gen.c, main.c, scan.l, + tests/test-reject/scanner.l: Filters are now direct children of main + process. Header file now generated through m4. + +2003-03-14 John Millaway + + * buf.c, filter.c, flexdef.h, main.c, misc.c: Added internal filter + ability. Deleted various unused variables. + +2003-03-14 John Millaway + + * main.c, tests/test-table-opts/scanner.l: Keeping tests up to date + with m4 changes. Proper wait for all children. + +2003-03-14 John Millaway + + * flex.skl, tests/test-table-opts/scanner.l: Moved test-tables to + m4. + +2003-03-14 John Millaway + + * flex.skl, main.c, options.c: Moved bison bridge code to m4. + +2003-03-13 John Millaway + + * flex.skl, gen.c, main.c, scan.l: Moved YY_USE_LINENO to m4. + +2003-03-13 John Millaway + + * buf.c, flexdef.h, scan.l: Added function buf_m4_undefine. + +2003-03-13 John Millaway + + * flex.skl, main.c, scan.l: Replaced YY_ALWAYS_INTERACTIVE with m4. + Replaced YY_NEVER_INTERACTIVE with m4. + +2003-03-13 John Millaway + + * flex.skl, main.c: Moved YY_TEXT_IS_ARRAY to m4. + +2003-03-12 John Millaway + + * flex.skl, gen.c, main.c, tests/test-reject/scanner.l: Renaming + macros from YY_* to M4_YY_* where appropriate. + +2003-03-12 John Millaway + + * flex.skl, tests/test-reject/scanner.l, + tests/test-table-opts/scanner.l: Now using local variable "yyg" + instead of lengthly YY_G expansion. + +2003-03-12 John Millaway + + * buf.c, filter.c, flex.skl, flexdef.h, main.c, misc.c, options.c, + options.h, scan.l, tests/test-reject/scanner.l: More m4 macro + conversions. Added debugging option --preproc-level=NUM. + +2003-03-11 John Millaway + + * Makefile.am, buf.c, flex.skl, flexdef.h, gen.c, main.c, misc.c, + scan.l: Replaced many CPP macros with m4 equivalents. + +2003-03-10 John Millaway + + * Makefile.am, filter.c, flex.skl, flexdef.h, main.c, misc.c: Added + filter.c Added filter.c rules to Makefile.am Added filter prototypes + to flexdef.h Flex now filters output through m4. + +2003-03-05 Will Estes + + * doc/.cvsignore, texinfo.tex: move texinfo.tex to doc/ + +2003-03-05 Will Estes * TODO: update TODO -2003-03-05 14:37 Will Estes +2003-03-05 Will Estes * NEWS, configure.in: version 2.5.29 -2003-03-04 18:43 John Millaway +2003-03-04 John Millaway * FlexLexer.h, flex.skl: Added growable buffer stack to C++ scanner as well. yyensure_buffer_stack is now static. -2003-03-01 20:45 John Millaway +2003-03-02 John Millaway - * flex.skl, misc.c: Removed awkward %push %pop syntax from - skeleton. + * flex.skl, misc.c: Removed awkward %push %pop syntax from skeleton. -2003-03-01 19:34 John Millaway +2003-03-02 John Millaway * flex.skl: Renamed YY_CURRENT_BUFFER_FAST to YY_CURRENT_BUFFER_LVALUE to better reflect its purpose. -2003-02-28 15:19 John Millaway +2003-02-28 John Millaway * NEWS: made entry on input buffer stacks. -2003-02-28 09:23 Will Estes +2003-02-28 Will Estes * Makefile.am, doc/Makefile.am: build on . in top level first; this will simplify calling help2man -2003-02-28 06:27 John Millaway +2003-02-28 John Millaway - * TODO, flex.skl, gen.c, main.c, doc/flex.texi: Removed + * TODO, doc/flex.texi, flex.skl, gen.c, main.c: Removed yy_current_buffer from the planet. Input buffer states are now in an internal unbounded stack. Added new internal function, - yyensure_buffer_stack. Added new API function, - yypush_buffer_state. Added new API function, yypop_buffer_state. - Documented the new API calls in the manual. Macro YY_BUFFER_STATE - now refers to top of stack. This revision breaks the C++ scanner - (again.) + yyensure_buffer_stack. Added new API function, yypush_buffer_state. + Added new API function, yypop_buffer_state. Documented the new API + calls in the manual. Macro YY_BUFFER_STATE now refers to top of + stack. This revision breaks the C++ scanner (again.) -2003-02-28 04:02 John Millaway +2003-02-28 John Millaway * main.c: Removed some symbols from the undef list. They are needed for multiple headers to coexist. -2003-02-27 10:37 Will Estes +2003-02-27 Will Estes - * Makefile.am, NEWS, configure.in, flex.texi, doc/.cvsignore, - doc/Makefile.am, doc/flex.texi: move flex.texi and flex.1 to new - doc/ subdirectory + * Makefile.am, NEWS, configure.in, doc/.cvsignore, doc/Makefile.am, + doc/flex.texi, flex.texi: move flex.texi and flex.1 to new doc/ + subdirectory -2003-02-27 09:44 Will Estes +2003-02-27 Will Estes * NEWS: namespace cleanups -2003-02-26 18:23 John Millaway +2003-02-26 John Millaway * main.c: Added a few macros to the undef list. -2003-02-26 18:17 John Millaway +2003-02-26 John Millaway * main.c: Put the undef macros in an array. -2003-02-12 16:54 Will Estes +2003-02-12 Will Estes * NEWS, configure.in: version 2.5.28 -2003-02-10 09:11 Will Estes +2003-02-10 Will Estes * README, TODO, configure.in, flex.texi: update documentation to reflect the sourceforge move -2003-02-06 16:00 Will Estes +2003-02-06 Will Estes * TODO: update according to current thinking -2003-02-06 15:12 Will Estes +2003-02-06 Will Estes * TODO: mcvs reviewed -2003-02-06 09:06 Will Estes +2003-02-06 Will Estes * TODO: sourceforge migration tasks -2003-02-04 09:10 Will Estes +2003-02-04 Will Estes * NEWS: Flex now warns if always-interactive is specified with fast or full; Fixed trailing slash bug in YY_INPUT macro def -2003-01-31 17:30 John Millaway +2003-01-31 John Millaway * scan.l: Flex now warns if always-interactive is specified with fast or full. -2003-01-31 12:37 Will Estes +2003-01-31 Will Estes * Makefile.am: switch to using cvs2cl.pl to generate the ChangeLog -2003-01-31 12:12 Will Estes +2003-01-31 Will Estes - * tools/: cvs2cl.pl, cvsauthors: we're going to be switching how we - handle our ChangeLog + * tools/cvs2cl.pl, tools/cvsauthors: we're going to be switching how + we handle our ChangeLog -2003-01-29 15:16 John Millaway +2003-01-29 John Millaway * gen.c, misc.c: Fixed trailing slash bug in YY_INPUT macro def. -2003-01-29 13:09 Will Estes +2003-01-29 Will Estes * README.cvs-snapshot: upgrade texinfo to 4.3d -2003-01-29 13:07 Will Estes +2003-01-29 Will Estes - * flex.texi: the @copying construct works now; thanks to the - texinfo maintainers for finding the problem + * flex.texi: the @copying construct works now; thanks to the texinfo + maintainers for finding the problem -2003-01-21 08:33 Will Estes +2003-01-21 Will Estes * NEWS, configure.in: version 2.5.27 -2003-01-21 08:32 Will Estes +2003-01-21 Will Estes * NEWS: flex now works with recent bison versions -2003-01-18 13:54 John Millaway +2003-01-18 John Millaway * flex.skl: Check for YYLTYPE_IS_DECLARED. This fixes bison-bridge with latest bison. -2003-01-15 08:33 Will Estes +2003-01-15 Will Estes * NEWS, po/pt_BR.po: new pt_br translation -2003-01-14 10:51 Will Estes +2003-01-14 Will Estes * NEWS, configure.in: version 2.5.26 -2003-01-14 09:12 Will Estes +2003-01-14 Will Estes * NEWS: Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols -2003-01-11 22:30 John Millaway +2003-01-12 John Millaway * tables_shared.h: Fixed table deserialization bug on big-endian archs. Patch sent from Bryce Nichols . -2003-01-10 09:05 Will Estes +2003-01-10 Will Estes * README.cvs-snapshot: add version numbers for some tools and explain about version.texi and --enable-maintainer-mode -2003-01-10 08:59 Will Estes +2003-01-10 Will Estes * NEWS: catch news up -2003-01-09 18:06 John Millaway +2003-01-09 John Millaway - * tests/: test-mem-nr/scanner.l, test-mem-r/scanner.l: Changed + * tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Changed size_t to yy_size_t in yyalloc() and yyrealloc(). Is this really what we want? -2003-01-09 17:20 John Millaway +2003-01-09 John Millaway * flex.skl: Changed type of yyleng from size_t to int. This fixes bug in PostgreSQL compilation. -2003-01-09 11:15 Will Estes +2003-01-09 Will Estes * NEWS: catch news up -2003-01-09 11:15 Will Estes +2003-01-09 Will Estes * flex.skl: more c++ fixes -2003-01-09 10:43 Will Estes +2003-01-09 Will Estes * Makefile.am, configure.in, flex.spec.in: add a spec file -2003-01-09 10:25 Will Estes +2003-01-09 Will Estes * flex.skl: type cast to pacify c++ compilers; patch from Bruce Lilly -2003-01-08 12:58 Will Estes +2003-01-08 Will Estes * NEWS: new es translation -2003-01-08 12:57 Will Estes +2003-01-08 Will Estes * po/es.po: new spanish translation -2002-12-18 22:17 John Millaway +2002-12-19 John Millaway * gen.c: Fixed bug where YY_G(0) sometimes occurs (created by my previous commit.) -2002-12-17 18:53 John Millaway +2002-12-17 John Millaway * gen.c: Fixed bug submitted by Bojan Smojver where the use of yylineno, reentrant, and yymore together caused a compile-time error. -2002-12-17 16:57 Will Estes +2002-12-17 Will Estes * NEWS: update NEWS -2002-12-17 15:28 John Millaway +2002-12-17 John Millaway * flex.texi: Documented new behavior with character ranges. -2002-12-16 18:33 John Millaway +2002-12-16 John Millaway * parse.y: Fixed bug submitted by Bruce Lilly - where character ranges would yield unexpected behavior in a - caseless scanner. Also, flex now emits a warning if the range - looks like trouble. + where character ranges would yield unexpected behavior in a caseless + scanner. Also, flex now emits a warning if the range looks like + trouble. -2002-12-16 18:28 John Millaway +2002-12-16 John Millaway - * flexdef.h, ccl.c: Added utility functions to deal with character + * ccl.c, flexdef.h: Added utility functions to deal with character case. -2002-12-09 09:14 Will Estes +2002-12-09 Will Estes * flexint.h: we don't really need int64 anyway -2002-12-09 09:13 Will Estes +2002-12-09 Will Estes * flex.skl: apparently some lints are happier with fllthrough without a space -2002-12-02 15:50 Will Estes +2002-12-02 Will Estes * NEWS, configure.in: version 2.5.25 -2002-12-02 15:48 Will Estes +2002-12-02 Will Estes * Makefile.am: enclose flex.1 target in MAINTERNER_MODE -2002-12-02 08:39 Will Estes +2002-12-02 Will Estes * po/pt_BR.po: new pt_br translation -2002-12-01 13:31 John Millaway +2002-12-01 John Millaway * flex.texi: Indexed some more faqs. -2002-11-28 22:34 John Millaway +2002-11-29 John Millaway - * flex.skl: Fixed bug in SECOND yyless definition where argument - was not enclosed in parentheses. + * flex.skl: Fixed bug in SECOND yyless definition where argument was + not enclosed in parentheses. -2002-11-28 22:29 John Millaway +2002-11-29 John Millaway * flex.skl: Fixed bug in yyless definition where argument was not enclosed in parentheses. -2002-11-27 13:42 Will Estes +2002-11-27 Will Estes * NEWS: flex uses flex_int*_t types -2002-11-27 13:41 Will Estes +2002-11-27 Will Estes * flexint.h: integer types for non-C99 systems flexint.h -2002-11-27 09:43 John Millaway +2002-11-27 John Millaway * dfa.c, flexint.h, gen.c, tables.c, tables.h, tables_shared.c, tables_shared.h: Changed int types to flex_intX_t. The build is now broken until typedef's are established. -2002-11-27 09:05 Will Estes +2002-11-27 Will Estes - * Makefile.am: MAINTAINERCLEANFILES: new variable: try to make it - so that make maintainer-clean erases everything not under version + * Makefile.am: MAINTAINERCLEANFILES: new variable: try to make it so + that make maintainer-clean erases everything not under version control -2002-11-27 08:53 Will Estes +2002-11-27 Will Estes * config.rpath: remove config.rpath -2002-11-27 08:52 Will Estes +2002-11-27 Will Estes * README-alpha: just list location of betas -2002-11-26 09:46 Will Estes +2002-11-26 Will Estes * flexint.h: __STDC_VERSION__ needs an L suffix -2002-11-26 08:22 Will Estes +2002-11-26 Will Estes * NEWS, po/LINGUAS, po/pt_BR.po: new pt_br translation from the translation project -2002-11-25 11:19 Will Estes +2002-11-25 Will Estes * flexint.h: include inttypes.h for folks who really are C99 -2002-11-25 09:17 Will Estes +2002-11-25 Will Estes * TODO: fix a typo -2002-11-25 08:53 Will Estes +2002-11-25 Will Estes * NEWS, configure.in: version 2.5.24 -2002-11-23 12:59 Will Estes +2002-11-23 Will Estes * configure.in: try to make sure we have GNU m4 -2002-11-23 12:56 Will Estes +2002-11-23 Will Estes * tests/test-c++-multiple-scanners/Makefile.am: include tests/test-c++-multipl-scanners/test.input -2002-11-23 12:28 Will Estes +2002-11-23 Will Estes * NEWS: more portability fixes -2002-11-23 11:50 Will Estes +2002-11-23 Will Estes * configure.in, flexdef.h: apparently on some BSD systems, we need sys/params.h; reported by millaway -2002-11-22 16:04 Will Estes +2002-11-22 Will Estes * NEWS: update NEWS -2002-11-22 15:38 John Millaway +2002-11-22 John Millaway - * flex.skl, main.c, tests/test-c++-multiple-scanners/Makefile.am: + * flex.skl, main.c, tests/test-c++-multiple-scanners/Makefile.am: Fixed prefix of yyalloc,yyfree,yyrealloc in C++ scanner. Removed yylex_destroy from C++ scanner. -2002-11-22 15:05 John Millaway +2002-11-22 John Millaway * flex.texi: renamed some faqs. -2002-11-22 08:20 Will Estes +2002-11-22 Will Estes * AUTHORS: update wording about authorship -2002-11-17 17:17 John Millaway +2002-11-17 John Millaway * parse.y: Removed space before line num in error messages to look more like gcc's errors. -2002-11-06 10:16 Will Estes +2002-11-06 Will Estes - * po/tr.po, NEWS: new turkish translation from the translation + * NEWS, po/tr.po: new turkish translation from the translation project -2002-10-28 07:21 Will Estes +2002-10-28 Will Estes * gen.c: applied c++ from lilypond folks for std:: reasons -2002-10-25 15:18 Will Estes +2002-10-25 Will Estes * flex.texi: proofreading -2002-10-24 16:07 Will Estes +2002-10-24 Will Estes * flex.texi: proofreading -2002-10-22 10:28 Will Estes +2002-10-22 Will Estes * flex.skl: use c-style header names in c++ for now; at some point we'll have a separate c++ skeleton and we can go whole-hog pure c++ -2002-10-22 10:01 Will Estes +2002-10-22 Will Estes * TODO: c++ rants -2002-10-22 09:37 Will Estes +2002-10-22 Will Estes * flex.texi: more proofreading -2002-10-22 09:37 Will Estes +2002-10-22 Will Estes * Makefile.am: include intent.pro; indent target is MAINTAINER_MODE conditional -2002-10-22 08:32 Will Estes +2002-10-22 Will Estes * configure.in: When we use AC_PATH_PROG, value-if-not-found is the name of the program we wanted to find; this will generate more helpful error messages -2002-10-21 19:52 John Millaway +2002-10-21 John Millaway * tables.c: Added a missing function prototype. -2002-10-21 13:30 Will Estes +2002-10-21 Will Estes * NEWS, configure.in: version 2.5.23 -2002-10-21 13:27 Will Estes +2002-10-21 Will Estes * NEWS: update NEWS on recent changes -2002-10-21 13:21 Will Estes +2002-10-21 Will Estes * flexint.h: use sys/types.h and not inttypes.h -2002-10-21 13:20 Will Estes +2002-10-21 Will Estes * configure.in: check for limits.h -2002-10-21 13:19 Will Estes +2002-10-21 Will Estes * TODO: update TODO on recent suggestions -2002-10-21 11:28 Will Estes +2002-10-21 Will Estes * flex.texi: titlepage and contents -2002-10-21 10:45 Will Estes +2002-10-21 Will Estes * Makefile.am: typo -2002-10-21 10:27 Will Estes +2002-10-21 Will Estes * Makefile.am, README.cvs-snapshot: include README.cvs-snapshot in the distribution; in README-cvs-snapshot, mention the need for enable-maintainer-mode -2002-10-20 22:26 John Millaway +2002-10-21 John Millaway * flex.texi: typo. -2002-10-18 11:25 Will Estes +2002-10-18 Will Estes * flex.texi: report the current version info that flex provides; reformat a list of non-posix features -2002-10-18 11:25 Will Estes +2002-10-18 Will Estes * NEWS: report the current version info that flex provides -2002-10-18 11:23 Will Estes +2002-10-18 Will Estes * flex.skl: FLEX_BETA defined if flex is beta -2002-10-16 09:15 Will Estes +2002-10-16 Will Estes * flexint.h: if we're doing c++, then we can't use long long -2002-10-14 11:33 Will Estes +2002-10-14 Will Estes * TODO: update TODO on several things -2002-10-11 16:40 Will Estes +2002-10-11 Will Estes * flex.texi: more proofreading -2002-10-11 11:26 Will Estes +2002-10-11 Will Estes - * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, - test-array-r/Makefile.am, test-basic-nr/Makefile.am, - test-basic-r/Makefile.am, test-bison-nr/Makefile.am, - test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, - test-c++-basic/Makefile.am, test-c++-multiple-scanners/Makefile.am, - test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, - test-debug-nr/Makefile.am, test-debug-r/Makefile.am, - test-header-nr/Makefile.am, test-header-r/Makefile.am, - test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, - test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, - test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-reject/Makefile.am, test-string-nr/Makefile.am, - test-string-r/Makefile.am, test-table-opts/Makefile.am, - test-yyextra/Makefile.am: remove BISON assignment as per suggestion - from Akim Demaille + * tests/TEMPLATE/Makefile.am, tests/test-array-nr/Makefile.am, + tests/test-array-r/Makefile.am, tests/test-basic-nr/Makefile.am, + tests/test-basic-r/Makefile.am, tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c++-basic/Makefile.am, + tests/test-c++-multiple-scanners/Makefile.am, + tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am, + tests/test-debug-nr/Makefile.am, tests/test-debug-r/Makefile.am, + tests/test-header-nr/Makefile.am, tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-mem-nr/Makefile.am, tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-reject/Makefile.am, + tests/test-string-nr/Makefile.am, tests/test-string-r/Makefile.am, + tests/test-table-opts/Makefile.am, tests/test-yyextra/Makefile.am: + remove BISON assignment as per suggestion from Akim Demaille -2002-10-11 11:04 Will Estes +2002-10-11 Will Estes * Makefile.am, configure.in: remove intl from dist -2002-10-11 10:33 Will Estes +2002-10-11 Will Estes * configure.in: we use maintainer mode now -2002-10-11 10:33 Will Estes +2002-10-11 Will Estes * NEWS: include create-test -2002-10-11 10:23 Will Estes +2002-10-11 Will Estes * tests/Makefile.am: rename test to check-local as per Akim Demaille; test for failed tests so that make check fails if any tests do -2002-10-11 08:46 Will Estes +2002-10-11 Will Estes * tests/Makefile.am: use dist_noinst_scripts as per email from Akim Demaille -2002-10-10 17:42 John Millaway +2002-10-10 John Millaway * flex.texi: Documentation. -2002-10-10 15:54 Will Estes +2002-10-10 Will Estes * NEWS, configure.in: version 2.5.22; portability fixes and attn to the test suite -2002-10-10 15:36 Will Estes +2002-10-10 Will Estes * flexint.h: ok, this seems to work -2002-10-10 15:12 Will Estes +2002-10-10 Will Estes - * tests/: TEMPLATE/Makefile.am, test-bison-nr/Makefile.am, - test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, - test-header-nr/Makefile.am, test-header-r/Makefile.am, - test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am: use builddir in tests that - need it in their include path + * tests/TEMPLATE/Makefile.am, tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-header-nr/Makefile.am, tests/test-header-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am: use builddir in tests + that need it in their include path -2002-10-10 14:13 Will Estes +2002-10-10 Will Estes * tests/TEMPLATE/Makefile.am: sometimes we put header files in the builddir and so we should account for that -2002-10-10 14:08 Will Estes +2002-10-10 Will Estes - * tests/TEMPLATE/Makefile.am: replace the last instance + * tests/TEMPLATE/Makefile.am: replace the last instance -2002-10-10 13:02 Will Estes +2002-10-10 Will Estes * flex.skl: include unistd.h and not cunistd as cunistd only seems to be present on very recent systems -2002-10-10 11:34 Will Estes +2002-10-10 Will Estes * Makefile.am, configure.in, flex.skl, flexdef.h, flexint.h: redo integral types again; add flexint.h; change dependencies caused by adding flexint.h; remove autoconf wrapper around cunistd; restore - netinet/in.h includes; remove unneded feature checks in - configure.in + netinet/in.h includes; remove unneded feature checks in configure.in -2002-10-08 11:32 Will Estes +2002-10-08 Will Estes * configure.in, flex.skl, flexdef.h: current swipe at header magic; int types be damned -2002-10-08 11:19 Will Estes +2002-10-08 Will Estes * NEWS: change version constant info to reflect change to flex.skl -2002-10-08 11:15 Will Estes +2002-10-08 Will Estes * Makefile.am: remove README-alpha option; add definitions for FLEX_{MAJOR,MINOR,SUBMINOR}_VERSION -2002-10-07 11:29 Will Estes +2002-10-07 Will Estes * flex.skl, flexdef.h: ok, here goes; try to handle integral typedefs in one swell foop -2002-10-07 11:28 Will Estes +2002-10-07 Will Estes * configure.in: we check for {u,}int*_t types; maybe this will simplify things -2002-10-07 09:12 Will Estes +2002-10-07 Will Estes - * configure.in: we create the tests/TEMPLATE/Makefile so that we - can build the dist archives + * configure.in: we create the tests/TEMPLATE/Makefile so that we can + build the dist archives -2002-10-07 08:38 Will Estes +2002-10-07 Will Estes * NEWS: more test suite cleanups -2002-10-07 08:37 Will Estes +2002-10-07 Will Estes * tests/test-c++-multiple-scanners/Makefile.am: we don't use header files... -2002-10-07 08:26 Will Estes +2002-10-07 Will Estes * flexdef.h: remove include of malloc.h -2002-10-04 15:33 Will Estes +2002-10-04 Will Estes * flex.texi: more editing; remove examples index; merge examples into concept index -2002-10-04 08:36 Will Estes +2002-10-04 Will Estes * flex.texi: edited one more faq; used C-u C-c C-u C-a to update menus and nodes since the other updating commands are somewhat broken; unfortunately this means that all nodes have all pointers filled in -2002-10-04 08:19 Will Estes +2002-10-04 Will Estes * flex.texi: yesterday's proofreading -2002-10-02 16:07 Will Estes +2002-10-02 Will Estes * flex.texi: proofread some more -2002-10-02 08:38 Will Estes +2002-10-02 Will Estes * flex.texi: proofread edit begins -2002-10-01 11:10 Will Estes +2002-10-01 Will Estes * configure.in, tests/Makefile.am, tests/test-c++-multiple-scanners/.cvsignore, @@ -1698,196 +2238,211 @@ tests/test-c++-multiple-scanners/test.input: test c++ with multiple scanners -2002-09-27 16:58 Will Estes +2002-09-27 Will Estes - * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, - test-basic-nr/Makefile.am, test-basic-r/Makefile.am, - test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, - test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, - test-debug-nr/Makefile.am, test-debug-r/Makefile.am, - test-header-nr/Makefile.am, test-header-r/Makefile.am, - test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, - test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, - test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-reject/Makefile.am, test-string-nr/Makefile.am, - test-string-r/Makefile.am, test-table-opts/Makefile.am, - test-yyextra/Makefile.am: we used INCLUDES in another place in the - Makefile.am files in the test suite + * tests/test-array-nr/Makefile.am, tests/test-array-r/Makefile.am, + tests/test-basic-nr/Makefile.am, tests/test-basic-r/Makefile.am, + tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c++-basic/Makefile.am, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-r/Makefile.am, tests/test-debug-nr/Makefile.am, + tests/test-debug-r/Makefile.am, tests/test-header-nr/Makefile.am, + tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-mem-nr/Makefile.am, tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-reject/Makefile.am, + tests/test-string-nr/Makefile.am, tests/test-string-r/Makefile.am, + tests/test-table-opts/Makefile.am, tests/test-yyextra/Makefile.am: + we used INCLUDES in another place in the Makefile.am files in the + test suite -2002-09-27 16:50 Will Estes +2002-09-27 Will Estes - * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, - test-basic-nr/Makefile.am, test-basic-r/Makefile.am, - test-bison-nr/Makefile.am, test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am, test-c++-basic/Makefile.am, - test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, - test-debug-nr/Makefile.am, test-debug-r/Makefile.am, - test-header-nr/Makefile.am, test-header-r/Makefile.am, - test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, - test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, - test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-reject/Makefile.am, test-string-nr/Makefile.am, - test-string-r/Makefile.am, test-table-opts/Makefile.am, - test-yyextra/Makefile.am: oops, I typed that last s/// command to - perl way wrong + * tests/test-array-nr/Makefile.am, tests/test-array-r/Makefile.am, + tests/test-basic-nr/Makefile.am, tests/test-basic-r/Makefile.am, + tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c++-basic/Makefile.am, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-r/Makefile.am, tests/test-debug-nr/Makefile.am, + tests/test-debug-r/Makefile.am, tests/test-header-nr/Makefile.am, + tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-mem-nr/Makefile.am, tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-reject/Makefile.am, + tests/test-string-nr/Makefile.am, tests/test-string-r/Makefile.am, + tests/test-table-opts/Makefile.am, tests/test-yyextra/Makefile.am: + oops, I typed that last s/// command to perl way wrong -2002-09-27 16:46 Will Estes +2002-09-27 Will Estes - * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, - test-array-r/Makefile.am, test-basic-nr/Makefile.am, - test-basic-r/Makefile.am, test-bison-nr/Makefile.am, - test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, - test-c++-basic/Makefile.am, test-c-cpp-nr/Makefile.am, - test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, - test-debug-r/Makefile.am, test-header-nr/Makefile.am, - test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, - test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, - test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-reject/Makefile.am, test-string-nr/Makefile.am, - test-string-r/Makefile.am, test-table-opts/Makefile.am, - test-yyextra/Makefile.am: use AM_CPPFLAGS instead of INCLUDES; - write -I with no space after it for broken compilers + * tests/TEMPLATE/Makefile.am, tests/test-array-nr/Makefile.am, + tests/test-array-r/Makefile.am, tests/test-basic-nr/Makefile.am, + tests/test-basic-r/Makefile.am, tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c++-basic/Makefile.am, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-r/Makefile.am, tests/test-debug-nr/Makefile.am, + tests/test-debug-r/Makefile.am, tests/test-header-nr/Makefile.am, + tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-mem-nr/Makefile.am, tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-reject/Makefile.am, + tests/test-string-nr/Makefile.am, tests/test-string-r/Makefile.am, + tests/test-table-opts/Makefile.am, tests/test-yyextra/Makefile.am: + use AM_CPPFLAGS instead of INCLUDES; write -I with no space after it + for broken compilers -2002-09-27 16:28 Will Estes +2002-09-27 Will Estes * Makefile.am: INCLUDES is obsolete; use AM_CPPFLAGS instead -2002-09-27 13:02 Will Estes +2002-09-27 Will Estes * configure.in: apparently, AM_CONFIG_HEADER is obsolete -2002-09-27 12:30 Will Estes +2002-09-27 Will Estes * TODO: integrate test suite into automake -2002-09-27 12:18 Will Estes +2002-09-27 Will Estes - * configure.in: since we dont run the template test, we dont need - to generate its Makefile either + * configure.in: since we dont run the template test, we dont need to + generate its Makefile either -2002-09-27 12:17 Will Estes +2002-09-27 Will Estes - * autogen.sh: use autoreconf instead of calling individual - utilities separately + * autogen.sh: use autoreconf instead of calling individual utilities + separately -2002-09-27 09:20 Will Estes +2002-09-27 Will Estes * configure.in: check for c++ compiler -2002-09-27 09:20 Will Estes +2002-09-27 Will Estes * configure.in: re-organize according to suggested layout in autoconf manual -2002-09-26 08:54 Will Estes +2002-09-26 Will Estes * Makefile.am, NEWS, configure.in: update automake to 1.7 and autoconf to 2.54 -2002-09-26 08:48 Will Estes +2002-09-26 Will Estes * Makefile.am: use AM_YFLAGS since YFLAGS is a user variable -2002-09-25 09:40 Will Estes +2002-09-25 Will Estes * NEWS: catch NEWS up on things, some of which happened a long time ago; correct punctuation; try to remove some editorializing -2002-09-25 09:39 Will Estes +2002-09-25 Will Estes * Makefile.am, flex.skl, flex.texi: include a single, automatically generated version number in flex scanners -2002-09-23 16:39 Will Estes +2002-09-23 Will Estes * tests/create-test: complain audibly when argument not supplied; echo on stderr when writing error messages -2002-09-23 12:02 Will Estes +2002-09-23 Will Estes - * tests/: Makefile.am, create-test: DIST_SUBDIRS so we don't have - to run the TEMPLATE test; so we add new tests to SUBDIRS and + * tests/Makefile.am, tests/create-test: DIST_SUBDIRS so we don't + have to run the TEMPLATE test; so we add new tests to SUBDIRS and DIST_SUBDIRS -2002-09-23 11:30 Will Estes +2002-09-23 Will Estes * tests/TEMPLATE/Makefile.am: not all compilers support '-I dir' so we write '-Idir' instead -2002-09-23 10:00 Will Estes +2002-09-23 Will Estes * TODO: reorganize faq entries; proofread the manual -2002-09-23 09:55 Will Estes +2002-09-23 Will Estes * flex.texi: move c++ experimental warning to top of cxx node -2002-09-20 13:17 Will Estes +2002-09-20 Will Estes * flex.skl: move stdint.h include to table-serialization section; we'll still need to think about stdint.h more though -2002-09-20 08:30 Will Estes +2002-09-20 Will Estes * NEWS: new smarter skeleton/scanner generation -2002-09-19 20:06 John Millaway +2002-09-20 John Millaway * flex.skl, misc.c: bison-bridge skel handled via %if/%endif pairs. -2002-09-19 19:57 John Millaway +2002-09-19 John Millaway * flex.skl, misc.c: reentrant skel handled via %if/%endif pairs. -2002-09-19 19:20 John Millaway +2002-09-19 John Millaway - * flex.skl, misc.c: skeleton uses %push/%pop to keep skelout() - scope sane. skel commands are omitted unless --debug enabled. + * flex.skl, misc.c: skeleton uses %push/%pop to keep skelout() scope + sane. skel commands are omitted unless --debug enabled. -2002-09-19 15:46 John Millaway +2002-09-19 John Millaway * flex.skl, main.c, misc.c, tables.h: Added %push and %pop operations to skel processing. -2002-09-17 08:27 Will Estes +2002-09-17 Will Estes * NEWS, configure.in: flex 2.5.21 -2002-09-17 00:10 John Millaway +2002-09-17 John Millaway * tests/test-reject/Makefile.am: minor fixup for dist. -2002-09-16 16:26 Will Estes +2002-09-16 Will Estes * NEWS, configure.in: version 2.5.20 -2002-09-16 16:25 Will Estes +2002-09-16 Will Estes * flex.texi: correct typo -2002-09-16 15:59 Will Estes +2002-09-16 Will Estes * NEWS: note the new tables functionality -2002-09-16 14:40 John Millaway +2002-09-16 John Millaway - * tests/test-multiple-scanners-r/: .cvsignore, Makefile.am: Fixed - `clean' target and .cvsignore. + * tests/test-multiple-scanners-r/.cvsignore, + tests/test-multiple-scanners-r/Makefile.am: Fixed `clean' target and + .cvsignore. -2002-09-16 14:38 John Millaway +2002-09-16 John Millaway * TODO, flex.skl, flex.texi, main.c, tables_shared.h, tests/test-multiple-scanners-r/main.c, @@ -1896,154 +2451,155 @@ headers (%option headers). Serialization code (Tables API) is complete. -2002-09-16 08:41 Will Estes +2002-09-16 Will Estes * tests/test-reject/scanner.l: replace yytables_load with yytables_fload as per millaway's other changes -2002-09-15 19:13 John Millaway +2002-09-15 John Millaway - * TODO, flex.texi: Created user API for tables deserialization. + * TODO, flex.texi: Created user API for tables deserialization. Documented API and --tables-* options in manual. -2002-09-15 19:12 John Millaway +2002-09-15 John Millaway * flex.skl, tests/test-table-opts/scanner.l: Tables deserialization uses yyalloc/yyfree. Changed yytables_load to yytables_fload. -2002-09-15 18:09 John Millaway +2002-09-15 John Millaway * tests/test-bison-nr/.cvsignore: minor upkeep. -2002-09-15 15:53 John Millaway +2002-09-15 John Millaway * flex.texi: Categorized and indexed scanner options in manual. -2002-09-15 12:47 John Millaway +2002-09-15 John Millaway * flex.skl: Initialization of reject vars and %array vars in reentrant scanner. -2002-09-13 17:54 John Millaway +2002-09-13 John Millaway - * TODO, configure.in, dfa.c, flex.skl, flex.texi, gen.c, tables.c, - tables_shared.c, tables_shared.h, devel/tables.pl, + * TODO, configure.in, devel/tables.pl, dfa.c, flex.skl, flex.texi, + gen.c, tables.c, tables_shared.c, tables_shared.h, tests/Makefile.am, tests/test-reject/.cvsignore, tests/test-reject/Makefile.am, tests/test-reject/scanner.l, - tests/test-reject/test.input, tests/test-table-opts/Makefile.am: + tests/test-reject/test.input, tests/test-table-opts/Makefile.am: Created test for reject. Handled reject-triggered tables in serialization. -2002-09-13 08:28 Will Estes +2002-09-13 Will Estes * NEWS: millaway has been very busy -2002-09-13 03:12 John Millaway +2002-09-13 John Millaway * flex.skl, tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l: Added test for multiple tables in one file. -2002-09-12 21:19 John Millaway +2002-09-13 John Millaway * tests/test-bison-nr/.cvsignore: forgot to add .cvsignore on last commit. -2002-09-12 21:18 John Millaway +2002-09-13 John Millaway - * tests/test-bison-nr/: Makefile.am, main.c, parser.y, scanner.l, - test.input: Added test-bison-bridge. + * tests/test-bison-nr/Makefile.am, tests/test-bison-nr/main.c, + tests/test-bison-nr/parser.y, tests/test-bison-nr/scanner.l, + tests/test-bison-nr/test.input: Added test-bison-bridge. -2002-09-12 21:17 John Millaway +2002-09-13 John Millaway * configure.in, flex.skl, flex.texi, flexdef.h, gen.c, main.c, misc.c, options.c, options.h, scan.l, tables.h, tests/Makefile.am, tests/descriptions, tests/test-bison-yylloc/scanner.l, - tests/test-bison-yylval/scanner.l, tests/test-table-opts/scanner.l: + tests/test-bison-yylval/scanner.l, tests/test-table-opts/scanner.l: Bison bridge code now works for all C scanners and pure/non-pure - bison parsers. Added %option bison-bridge (--bison-bridge). - Removed %option reentrant-bison/--reentrant-bison/-Rb. Scanner - knows the name of its tables. Tables serialization is OK on EOF. + bison parsers. Added %option bison-bridge (--bison-bridge). + Removed %option reentrant-bison/--reentrant-bison/-Rb. Scanner + knows the name of its tables. Tables serialization is OK on EOF. yylineno is present in all scanners. Modified nasty performance penalty warning w/ yylineno. test-table-opts is now run last because it's so fat. Updated manual. -2002-09-12 11:48 John Millaway +2002-09-12 John Millaway * flex.texi: documentation of tabels api in manual -2002-09-12 10:54 John Millaway +2002-09-12 John Millaway * TODO, tables.c: Renamed *_fwrite to *_write to reflect writer abstraction. -2002-09-11 17:55 John Millaway +2002-09-11 John Millaway * devel/tables.pl: Added perl script to read/dump serialized tables in devel/ -2002-09-11 17:22 Will Estes +2002-09-11 Will Estes * scan.l: the debian patch used strlen(yytext) and similar constructs--as millaway points out, this is better known as yyleng -2002-09-11 16:00 Will Estes +2002-09-11 Will Estes * NEWS, po/de.po: new de translation from the translation project -2002-09-11 08:30 John Millaway +2002-09-11 John Millaway - * flex.skl: yytbl_load now checks tables set by name. Localized - var scaope in yytbl_load. + * flex.skl: yytbl_load now checks tables set by name. Localized var + scaope in yytbl_load. -2002-09-10 09:12 Will Estes +2002-09-10 Will Estes * tests/Makefile.am: make clean before make test -2002-09-09 18:06 John Millaway +2002-09-09 John Millaway * TODO, flex.skl: Fixed deserialization of --fast tables. -2002-09-09 16:44 Will Estes +2002-09-09 Will Estes * TODO: fix typo; remove the yylineo entry -2002-09-09 15:25 John Millaway +2002-09-09 John Millaway - * TODO, buf.c, dfa.c, flex.skl, flexdef.h, gen.c, main.c, misc.c, - options.c, options.h, scan.l, tables.c, tables.h, tables_shared.h, - devel/dump-tables.pl, tests/test-table-opts/.cvsignore, - tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l: - Table deserialization works for everything except --fast scanners. - Scanners can auto-verify serialized table integrity via - --tables-verify. Added tables API items to TODO list. + * TODO, buf.c, devel/dump-tables.pl, dfa.c, flex.skl, flexdef.h, + gen.c, main.c, misc.c, options.c, options.h, scan.l, tables.c, + tables.h, tables_shared.h, tests/test-table-opts/.cvsignore, + tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l: + Table deserialization works for everything except --fast scanners. + Scanners can auto-verify serialized table integrity via + --tables-verify. Added tables API items to TODO list. test-table-opts is becoming exhaustive (a good thing). -2002-09-09 11:54 Will Estes +2002-09-09 Will Estes * NEWS: flex has better internal diagnostics -2002-09-09 11:52 Will Estes +2002-09-09 Will Estes * configure.in, flexdef.h: test for presence of __func__ and compensate if absent -2002-09-09 09:59 Will Estes +2002-09-09 Will Estes * Makefile.am: include the intl/ subdirectory when searching for include files -2002-09-09 08:49 Will Estes +2002-09-09 Will Estes * NEWS, po/ru.po, po/sv.po: new sv, ru translations from the translation project -2002-09-07 18:40 John Millaway +2002-09-07 John Millaway * flex.skl, misc.c: Changed cryptic skeleton markers to readable form. -2002-09-07 00:18 John Millaway +2002-09-07 John Millaway * Makefile.am, dfa.c, flex.skl, flex.texi, flexdef.h, gen.c, main.c, misc.c, parse.y, tables.c, tables.h, tables_shared.c, @@ -2051,532 +2607,538 @@ be the same size. Added shared file tables_shared.c. Separated tables.h from flexdef.h Bulk of table deserialization code is done. -2002-09-06 11:42 Will Estes +2002-09-06 Will Estes * NEWS, po/ca.po: new ca translation -2002-09-06 11:24 Will Estes +2002-09-06 Will Estes * NEWS: new fr translation -2002-09-06 11:22 Will Estes +2002-09-06 Will Estes * po/fr.po: new french translation from the translation project -2002-09-05 14:41 Will Estes +2002-09-05 Will Estes * NEWS: c99 function defs by default -2002-09-05 14:22 John Millaway +2002-09-05 John Millaway * flexdef.h, tables.c: Added flex_die macro. May need some autoconf massaging. Added thorough error checking in tables code. -2002-09-05 14:21 John Millaway +2002-09-05 John Millaway * flex.skl, flex.texi: Flex generates C99 defs now. Documented the above change in manual. -2002-09-05 14:12 John Millaway +2002-09-05 John Millaway - * tests/test-table-opts/: .cvsignore, Makefile.am: Added - serialization test to table-opts test. + * tests/test-table-opts/.cvsignore, + tests/test-table-opts/Makefile.am: Added serialization test to + table-opts test. -2002-09-05 12:03 Will Estes +2002-09-05 Will Estes * configure.in: oops, i made a typo -2002-09-05 12:01 Will Estes +2002-09-05 Will Estes * NEWS, configure.in: version 2.5.19 -2002-09-05 10:08 Will Estes +2002-09-05 Will Estes * scan.l: use FLEX_EXIT(), not exit() -2002-09-05 09:53 John Millaway +2002-09-05 John Millaway - * devel/: 00EXTRACT-ALL-SYMS.sh, README, dump-tables.pl: Added - devel/ directory for junk that we don't want in the distribution, - but that we want in CVS. + * devel/00EXTRACT-ALL-SYMS.sh, devel/README, devel/dump-tables.pl: + Added devel/ directory for junk that we don't want in the + distribution, but that we want in CVS. -2002-09-05 09:26 Will Estes +2002-09-05 Will Estes * scan.l: s/exit(1)/exit(EXIT_FAILURE) -2002-09-05 09:18 John Millaway +2002-09-05 John Millaway * dfa.c, gen.c: Tables are now generated with %option tables-file=FILE. -2002-09-05 09:14 Will Estes +2002-09-05 Will Estes * NEWS: catch up on a few things -2002-09-05 09:11 Will Estes +2002-09-05 Will Estes * scan.l: prevent segfault on input lines which are longer than the allocated space (problem report from Manoj Srivastava ) -2002-09-05 06:54 John Millaway +2002-09-05 John Millaway * flex.texi, main.c, options.c, options.h: Changed option 'header' to 'header-file'. 'header' still works, though. -2002-09-05 06:48 John Millaway +2002-09-05 John Millaway * flex.texi, flexdef.h, gen.c, main.c, options.c, options.h, scan.l, tables.c: Tons more work on tables. -2002-09-05 00:24 John Millaway +2002-09-05 John Millaway * flexdef.h, gen.c, tables.c, tables_shared.h: Lots of work on tables serialization code. -2002-09-04 08:36 Will Estes +2002-09-04 Will Estes * README.cvs-snapshot: mention GNU indent -2002-09-04 08:33 Will Estes +2002-09-04 Will Estes * NEWS: remove the word after from the version line -2002-09-03 17:02 Will Estes +2002-09-03 Will Estes * NEWS, configure.in: version 2.5.18 -2002-09-03 09:46 Will Estes +2002-09-03 Will Estes * NEWS: catch up on the NEWS -2002-09-03 09:42 Will Estes +2002-09-03 Will Estes * tests/Makefile.am: target test: quote the results echoing so that the ECHO_C will work on systems where it is used -2002-09-03 09:08 Will Estes +2002-09-03 Will Estes * configure.in: when we don't have GNU indent, the test will generate output on stderr, so we send that to /dev/null -2002-09-03 08:56 Will Estes +2002-09-03 Will Estes * configure.in: fixed bug whereby bison was reported missing even when it was found -2002-09-02 14:44 John Millaway +2002-09-02 John Millaway * tables.c: In-code documentation. -2002-09-02 14:44 John Millaway +2002-09-02 John Millaway * flexdef.h: Forgot to indent before previous commit. -2002-09-02 13:55 John Millaway +2002-09-02 John Millaway * flexdef.h: Added known integer limits if undefined. -2002-08-29 17:12 Will Estes +2002-08-29 Will Estes * configure.in: version 2.5.17 -2002-08-29 17:12 Will Estes +2002-08-29 Will Estes * NEWS: more portability fixes; new version number -2002-08-29 16:30 Will Estes +2002-08-29 Will Estes * flexdef.h, main.c, misc.c, scanopt.c: #include fixes; we've factored out all the system include files and put them in flexdef.h -2002-08-29 15:02 Will Estes +2002-08-29 Will Estes * dfa.c: eat a blank line -2002-08-29 09:21 Will Estes +2002-08-29 Will Estes * NEWS: new config.{sub,guess} files; mention that we use indent on flex -2002-08-28 13:12 Will Estes +2002-08-28 Will Estes * configure.in: warn if no indent found; version 2.5.16 -2002-08-28 13:10 Will Estes +2002-08-28 Will Estes * NEWS: catch up on recent changes; version 2.5.16 -2002-08-27 14:07 Will Estes +2002-08-27 Will Estes * buf.c, ccl.c, dfa.c, ecs.c, flexdef.h, gen.c, libmain.c, libyywrap.c, main.c, misc.c, nfa.c, options.c, options.h, scanopt.c, scanopt.h, sym.c, tables.c, tables_shared.h, tblcmp.c, yylex.c: ran the indent target; commit the results -2002-08-27 14:05 Will Estes +2002-08-27 Will Estes * Makefile.am: touch up the indent targeet; it's ready for production use now -2002-08-27 14:01 Will Estes +2002-08-27 Will Estes * configure.in: test for GNU indent; reorder the tests somewhat -2002-08-23 10:29 Will Estes +2002-08-23 Will Estes * configure.in: automake is smarter about autoconf's versioning scheme -2002-08-23 09:18 Will Estes +2002-08-23 Will Estes * NEWS: catch NEWS up on what we've been doing -2002-08-22 13:18 Will Estes +2002-08-22 Will Estes * flexdef.h: do some more conditional including for folks without standard systems -2002-08-22 13:15 Will Estes +2002-08-22 Will Estes - * tests/test-c++-basic/Makefile.am: use CXX to link the test - scanner here + * tests/test-c++-basic/Makefile.am: use CXX to link the test scanner + here -2002-08-22 01:35 John Millaway +2002-08-22 John Millaway * flex.texi: Documentation. -2002-08-21 21:49 John Millaway +2002-08-22 John Millaway * Makefile.am: Created 'indent' target and added .indent.pro. -2002-08-21 21:42 John Millaway +2002-08-22 John Millaway - * tests/: test-array-nr/Makefile.am, test-array-r/Makefile.am, - test-basic-nr/Makefile.am, test-basic-r/Makefile.am, - test-c-cpp-nr/Makefile.am: Fixed missing 'make clean' files. + * tests/test-array-nr/Makefile.am, tests/test-array-r/Makefile.am, + tests/test-basic-nr/Makefile.am, tests/test-basic-r/Makefile.am, + tests/test-c-cpp-nr/Makefile.am: Fixed missing 'make clean' files. -2002-08-21 21:34 John Millaway +2002-08-22 John Millaway - * tests/: test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am: fixed missing 'clean' file. + * tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am: fixed missing 'clean' file. -2002-08-21 21:11 John Millaway +2002-08-22 John Millaway * flex.skl, tests/test-c++-basic/Makefile.am, tests/test-c++-basic/scanner.l: Removed core of yylex_destroy from - c++ scanner -- hack! Added -lstdc++ to LDFLAGS (should we have to - do this??) + c++ scanner -- hack! Added -lstdc++ to LDFLAGS (should we have to do + this??) -2002-08-21 10:15 Will Estes +2002-08-21 Will Estes * README: official releases are being hosted by Vern -2002-08-21 09:42 Will Estes +2002-08-21 Will Estes * NEWS, configure.in: new beta version; more entries in NEWS from millaway; the top level entry for test-c++-basic -2002-08-21 09:41 Will Estes +2002-08-21 Will Estes - * tests/: Makefile.am, test-c++-basic/.cvsignore, - test-c++-basic/Makefile.am, test-c++-basic/scanner.l, - test-c++-basic/test.input: add test-c++-basic + * tests/Makefile.am, tests/test-c++-basic/.cvsignore, + tests/test-c++-basic/Makefile.am, tests/test-c++-basic/scanner.l, + tests/test-c++-basic/test.input: add test-c++-basic -2002-08-21 02:54 John Millaway +2002-08-21 John Millaway * gen.c, nfa.c: More tabels work. -2002-08-20 21:54 John Millaway +2002-08-21 John Millaway * flexdef.h, gen.c, tables.c, tables_shared.h: More work on tables. -2002-08-20 19:49 John Millaway +2002-08-20 John Millaway * dfa.c: Cleaned up macros that took no ';'. -2002-08-20 19:47 John Millaway +2002-08-20 John Millaway * scanopt.c: Fixed oddball '=-'. -2002-08-20 17:42 John Millaway +2002-08-20 John Millaway * flex.skl, flex.texi, gen.c: Dynamically allocate REJECT state buffer. Mentioned memory usage in docs. Made REJECT buffer variables reentrant-safe. -2002-08-20 17:37 John Millaway +2002-08-20 John Millaway * tables.c: More work on tables code. -2002-08-20 10:52 Will Estes +2002-08-20 Will Estes * Makefile.am, NEWS, configure.in: we're using m4 so have configure test for it -2002-08-20 00:23 John Millaway +2002-08-20 John Millaway * Makefile.am, tables.c: Added tables.c and rebuilt dependencies. -2002-08-19 20:30 John Millaway +2002-08-20 John Millaway * TODO, flex.texi: Dicussed prototypes and header in manual. -2002-08-19 17:56 John Millaway +2002-08-19 John Millaway - * Makefile.am, configure.in, flex.skl, flexdef.h, tables_shared.h: + * Makefile.am, configure.in, flex.skl, flexdef.h, tables_shared.h: More work on tables serialization. -2002-08-19 17:15 John Millaway +2002-08-19 John Millaway * Makefile.am, mkskel.sh: Skeleton is now passed through m4 (before dist is built). -2002-08-19 08:51 Will Estes +2002-08-19 Will Estes - * po/: LINGUAS, zh_CN.po: add zh_cn translation from the + * po/LINGUAS, po/zh_CN.po: add zh_cn translation from the translation project -2002-08-19 08:51 Will Estes +2002-08-19 Will Estes * NEWS: millaway's done a lot of things which need to be mentioned in NEWS -2002-08-18 16:32 John Millaway +2002-08-18 John Millaway * main.c: Removed #undef of start conditions. -2002-08-17 18:24 John Millaway +2002-08-17 John Millaway * TODO: todo list -2002-08-17 16:04 John Millaway +2002-08-17 John Millaway * flexdef.h, main.c, misc.c: Start conditions now optional in header. undef's now optional in header. Start conditions are NOT prefixed. -2002-08-17 13:05 John Millaway +2002-08-17 John Millaway * flex.skl, flex.texi: Working on tables API. -2002-08-16 18:32 John Millaway +2002-08-16 John Millaway - * flexdef.h, main.c, misc.c, options.c, options.h, parse.y, scan.l: - Added --tables option. Omitted tables code from generated scanner + * flexdef.h, main.c, misc.c, options.c, options.h, parse.y, scan.l: + Added --tables option. Omitted tables code from generated scanner when unused. -2002-08-16 15:54 John Millaway +2002-08-16 John Millaway * flex.skl, flex.texi, misc.c: Prelimary work on tables API. -2002-08-16 15:45 John Millaway +2002-08-16 John Millaway - * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, - test-array-r/Makefile.am, test-basic-nr/Makefile.am, - test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, - test-c-cpp-r/Makefile.am, test-debug-nr/Makefile.am, - test-debug-r/Makefile.am, test-header-nr/Makefile.am, - test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-mem-nr/Makefile.am, - test-mem-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-posix/Makefile.am, - test-posixly-correct/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-string-nr/Makefile.am, test-string-r/Makefile.am, - test-table-opts/Makefile.am, test-yyextra/Makefile.am: Tests now - respect CFLAGS, CPPFLAGS, etc.. + * tests/TEMPLATE/Makefile.am, tests/test-array-nr/Makefile.am, + tests/test-array-r/Makefile.am, tests/test-basic-nr/Makefile.am, + tests/test-basic-r/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am, + tests/test-debug-nr/Makefile.am, tests/test-debug-r/Makefile.am, + tests/test-header-nr/Makefile.am, tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-mem-nr/Makefile.am, tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-string-nr/Makefile.am, + tests/test-string-r/Makefile.am, tests/test-table-opts/Makefile.am, + tests/test-yyextra/Makefile.am: Tests now respect CFLAGS, CPPFLAGS, + etc.. -2002-08-16 15:03 John Millaway +2002-08-16 John Millaway - * tests/: test-basic-nr/scanner.l, test-basic-r/scanner.l, - test-lineno-nr/scanner.l, test-lineno-r/scanner.l: Got rid of flex - -s warnings in tests. + * tests/test-basic-nr/scanner.l, tests/test-basic-r/scanner.l, + tests/test-lineno-nr/scanner.l, tests/test-lineno-r/scanner.l: Got + rid of flex -s warnings in tests. -2002-08-16 14:51 John Millaway +2002-08-16 John Millaway * Makefile.am: Updated dependencies list. -2002-08-15 17:23 John Millaway +2002-08-15 John Millaway * main.c: Fixed seg fault bug in ecs. -2002-08-15 17:18 Will Estes +2002-08-15 Will Estes - * tests/: test-c-cpp-nr/.cvsignore, test-c-cpp-r/.cvsignore: ignore - .cpp files since we generate them instead of .c + * tests/test-c-cpp-nr/.cvsignore, tests/test-c-cpp-r/.cvsignore: + ignore .cpp files since we generate them instead of .c -2002-08-15 11:37 Will Estes +2002-08-15 Will Estes * configure.in: version 2.5.14 -2002-08-15 11:37 Will Estes +2002-08-15 Will Estes * NEWS: c-as-c++ tests reworked -2002-08-15 11:15 John Millaway +2002-08-15 John Millaway - * tests/: test-c-cpp-nr/Makefile.am, test-c-cpp-nr/scanner.l, - test-c-cpp-r/Makefile.am, test-c-cpp-r/scanner.l: The c++ tests use - .cpp instead of .c extensions just to be on the safe side. + * tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-nr/scanner.l, + tests/test-c-cpp-r/Makefile.am, tests/test-c-cpp-r/scanner.l: The + c++ tests use .cpp instead of .c extensions just to be on the safe + side. -2002-08-15 10:50 Will Estes +2002-08-15 Will Estes - * main.c: conditionally include ; include config.h as - well + * main.c: conditionally include ; include config.h as well -2002-08-15 10:49 Will Estes +2002-08-15 Will Estes * configure.in, flex.skl: only include if we have it -2002-08-15 10:48 Will Estes +2002-08-15 Will Estes - * NEWS: portability fixes; added missing punctuation; de - translation now included + * NEWS: portability fixes; added missing punctuation; de translation + now included -2002-08-15 10:16 Will Estes +2002-08-15 Will Estes * po/LINGUAS: we also translate to german -2002-08-15 09:17 Will Estes +2002-08-15 Will Estes * Makefile.am: require automake at least 1.6 -2002-08-15 08:32 Will Estes +2002-08-15 Will Estes * NEWS, configure.in: version 2.5.13 -2002-08-14 10:57 Will Estes +2002-08-14 Will Estes * flex.texi: reverted away from the @copying as it breaks the info reader -2002-08-13 20:46 John Millaway +2002-08-14 John Millaway * flex.texi, flexdef.h, main.c, misc.c: Start condition prefixes attempts to adjust to user preferences. -2002-08-13 17:19 John Millaway +2002-08-13 John Millaway * main.c: Include start condition symbols in header. -2002-08-13 15:16 John Millaway +2002-08-13 John Millaway - * flexdef.h, main.c: Omit user code and tables from generated - header file. + * flexdef.h, main.c: Omit user code and tables from generated header + file. -2002-08-13 09:14 Will Estes +2002-08-13 Will Estes * flex.texi: use @copying construct to display the flex license; move copying and bug reporting to the front of the manual -2002-08-13 09:00 Will Estes +2002-08-13 Will Estes * NEWS: printf fix and yylex_init reports errors -2002-08-12 19:15 John Millaway +2002-08-12 John Millaway * flex.texi: Updated manual for %option header. -2002-08-12 15:36 John Millaway +2002-08-12 John Millaway - * flex.skl, flex.texi, gen.c: Fixed type mismatch in printf. + * flex.skl, flex.texi, gen.c: Fixed type mismatch in printf. yylex_init now reports errors. -2002-08-10 13:22 John Millaway +2002-08-10 John Millaway * dfa.c, main.c: Added alignment flag for future use. -2002-08-10 13:17 John Millaway +2002-08-10 John Millaway - * tests/test-table-opts/: .cvsignore, Makefile.am: Added options to - test-table-opts + * tests/test-table-opts/.cvsignore, + tests/test-table-opts/Makefile.am: Added options to test-table-opts -2002-08-10 12:39 John Millaway +2002-08-10 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-c-cpp-nr/Makefile.am, tests/test-table-opts/.cvsignore, tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l, - tests/test-table-opts/test.input: Added a test for various DFA - table options. + tests/test-table-opts/test.input: Added a test for various DFA table + options. -2002-08-09 16:36 Will Estes +2002-08-09 Will Estes * flex.texi: more faq editing; corrected mistyped nodenames -2002-08-09 13:41 Will Estes +2002-08-09 Will Estes * flex.skl: fix typo which propogates out to generated scanners -2002-08-09 10:42 Will Estes +2002-08-09 Will Estes * flex.texi: edited a few more faqs -2002-08-09 10:20 Will Estes +2002-08-09 Will Estes * Makefile.am, faq.texi: remove faq.texi as it's included in flex.texi -2002-08-08 17:12 Will Estes +2002-08-08 Will Estes * flex.texi: a few more faq edits; remove faq-89 -2002-08-08 16:50 Will Estes +2002-08-08 Will Estes * flex.texi: cite, not site -2002-08-08 16:46 Will Estes +2002-08-08 Will Estes * flex.texi: and get the faq included -2002-08-08 16:29 Will Estes +2002-08-08 Will Estes * flex.texi: fix some grammer/typography in the top node and add a detailed menu -2002-08-08 13:10 Will Estes +2002-08-08 Will Estes * TODO: we've updated gettext -2002-08-08 13:04 Will Estes +2002-08-08 Will Estes * po/.cvsignore: we need to ignore a few more gettext files -2002-08-08 11:22 Will Estes +2002-08-08 Will Estes * NEWS, configure.in: version 2.5.12 -2002-08-08 10:53 Will Estes +2002-08-08 Will Estes - * NEWS: mention gettext; document the non-need for bison/flex in + * NEWS: mention gettext; document the non-need for bison/flex in the + build process + +2002-08-08 Will Estes + + * Makefile.am, configure.in: include intl in the distribution and in the build process -2002-08-08 10:51 Will Estes - - * Makefile.am, configure.in: include intl in the distribution and - in the build process - -2002-08-08 10:12 Will Estes +2002-08-08 Will Estes * Makefile.am: builddir in help2man call needed @-signs around it -2002-08-08 09:54 Will Estes +2002-08-08 Will Estes * po/.cvsignore: we can ignore Makefile.in.in -2002-08-08 09:45 Will Estes +2002-08-08 Will Estes - * m4/: .cvsignore, Makefile.am: oops, too hasty on deleting this + * m4/.cvsignore, m4/Makefile.am: oops, too hasty on deleting this directory, sigh -2002-08-08 09:23 Will Estes +2002-08-08 Will Estes - * autogen.sh: if autopoint is going to run automatically, it's - going to need to be able to update existing files + * autogen.sh: if autopoint is going to run automatically, it's going + to need to be able to update existing files -2002-08-08 09:22 Will Estes +2002-08-08 Will Estes * ABOUT-NLS, autogen.sh, configure.in, m4/.cvsignore, m4/Makefile.am, m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, @@ -2584,118 +3146,118 @@ m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4: autopoint now works so let's let it run the gettext show -2002-08-07 13:27 Will Estes +2002-08-07 Will Estes * TODO: we need to index the faq entries -2002-08-07 13:26 Will Estes +2002-08-07 Will Estes * faq.texi: proofed "Why do flex scanners call fileno if it is not ANSI compatible?" -2002-08-07 13:23 Will Estes +2002-08-07 Will Estes * faq.texi: proofed "How do I expand \ escape sequences in C-style quoted strings?" -2002-08-07 13:19 Will Estes +2002-08-07 Will Estes * README: changes to README to align with GNU coding standards -2002-08-06 09:05 Will Estes +2002-08-06 Will Estes * Makefile.am: help2man should look in builddir for the flex binary -2002-08-02 16:23 John Millaway +2002-08-02 John Millaway * flex.skl: Fixed yyunput prototype. -2002-08-01 11:35 Will Estes +2002-08-01 Will Estes * NEWS: new fr translation from the translation project -2002-08-01 10:02 Will Estes +2002-08-01 Will Estes * po/fr.po: new fr.po translation from the translation project -2002-08-01 10:00 Will Estes +2002-08-01 Will Estes * NEWS: yylineno performance hit is fixed -2002-07-31 17:29 John Millaway +2002-07-31 John Millaway * TODO, flex.texi: Updated docs on yylineno. -2002-07-31 15:19 Will Estes +2002-07-31 Will Estes * TODO: discuss yylineno performance -2002-07-31 13:07 Will Estes +2002-07-31 Will Estes * NEWS: forgot to say what the date was that we made the release -2002-07-31 10:52 Will Estes +2002-07-31 Will Estes * NEWS, configure.in: version 2.5.11 -2002-07-31 10:45 Will Estes +2002-07-31 Will Estes * faq.texi: fixed a menu entry and related problems -2002-07-31 10:38 Will Estes +2002-07-31 Will Estes * configure.in: someday, maybe we can use autopoint -2002-07-31 09:56 Will Estes +2002-07-31 Will Estes * Makefile.am: we need to include texinfo.tex now -2002-07-31 09:55 Will Estes +2002-07-31 Will Estes * texinfo.tex: add texinfo.tex -2002-07-30 11:59 Will Estes +2002-07-30 Will Estes * faq.texi: fix up some fatal bugs in the texinfo of the faq; begin the clean up; remove trailing and leading white space -2002-07-30 11:53 Will Estes +2002-07-30 Will Estes * TODO: faqs need work -2002-07-30 09:03 Will Estes +2002-07-30 Will Estes * NEWS, TODO: prototypes get airtime these days -2002-07-28 16:02 John Millaway +2002-07-28 John Millaway * flex.skl: Added some comments. -2002-07-28 14:27 John Millaway +2002-07-28 John Millaway * flex.skl: Fixed bug where yyless did not consider yylineno. -2002-07-28 01:45 John Millaway +2002-07-28 John Millaway * scan.l: Fixed bug I created in previous commit. -2002-07-28 01:38 John Millaway +2002-07-28 John Millaway * scan.l: Don't wrap ()s around {NAMEDEFS} at the end of a rule. -2002-07-27 17:37 John Millaway +2002-07-27 John Millaway * flex.skl, tests/test-c-cpp-nr/Makefile.am, - tests/test-c-cpp-r/Makefile.am: Fixed test-c-cpp to actually use - the C++ compiler for the test. Fixed the bug that this exposed. + tests/test-c-cpp-r/Makefile.am: Fixed test-c-cpp to actually use the + C++ compiler for the test. Fixed the bug that this exposed. -2002-07-27 15:34 John Millaway +2002-07-27 John Millaway - * ccl.c, flex.skl, flexdef.h, gen.c, main.c, nfa.c, parse.y, - scan.l: yylineno check is only performed on rules whose regexs can - match a newline. + * ccl.c, flex.skl, flexdef.h, gen.c, main.c, nfa.c, parse.y, scan.l: + yylineno check is only performed on rules whose regexs can match a + newline. -2002-07-24 20:43 John Millaway +2002-07-25 John Millaway * flex.skl, tests/TEMPLATE/scanner.l, tests/test-array-nr/scanner.l, tests/test-array-r/scanner.l, @@ -2712,24 +3274,24 @@ tests/test-pthread/scanner.l, tests/test-string-nr/scanner.l, tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: All prototypes were rewritten to depend upon the macro - YY_TRADITIONAL_FUNC_DEFS, which is defined by default. The + YY_TRADITIONAL_FUNC_DEFS, which is defined by default. The generated scanners build cleanly under gcc's traditional strictness and under C++ compilers. -2002-07-24 11:58 Will Estes +2002-07-24 Will Estes * NEWS: dist-bzip2 and rename yy_globals and yy_globals_t -2002-07-24 11:57 Will Estes +2002-07-24 Will Estes * configure.in: version 2.5.10 -2002-07-24 11:57 Will Estes +2002-07-24 Will Estes * Makefile.am: add dist-bzip2 to automake_options so we'll start getting tar.bz2 archives -2002-07-23 16:11 John Millaway +2002-07-23 John Millaway * flex.skl, flex.texi, tests/test-bison-yylval/scanner.l, tests/test-mem-r/scanner.l, @@ -2739,83 +3301,83 @@ tests/test-yyextra/scanner.l: s/yy_globals_t/yyguts_t/g s/yy_globals/yyscanner/g -2002-07-23 13:55 John Millaway +2002-07-23 John Millaway * Makefile.am: typo in tags target -2002-07-22 12:18 John Millaway +2002-07-22 John Millaway * Makefile.am: Removed erroneous $(srcdir) from help2man target. -2002-07-22 10:03 Will Estes +2002-07-22 Will Estes * NEWS, configure.in: it's version 2.5.9 now -2002-07-22 09:56 Will Estes +2002-07-22 Will Estes * po/.cvsignore: updated gettext to 0.11.3 -2002-07-22 09:49 Will Estes +2002-07-22 Will Estes * ABOUT-NLS, config.rpath, m4/gettext.m4, m4/iconv.m4, - m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-link.m4: updated gettext - to version 0.11.3 + m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-link.m4: updated gettext to + version 0.11.3 -2002-07-22 09:29 Will Estes +2002-07-22 Will Estes * autogen.sh, configure.in: rollback on configure.in and autogen.sh because autpoint is broken -2002-07-22 09:15 Will Estes +2002-07-22 Will Estes * po/ru.po: new russian translation from translation project -2002-07-19 17:09 Will Estes +2002-07-19 Will Estes - * autogen.sh: ok, we're going to start using autopoint, but the - tree is going to undergo some changes after this + * autogen.sh: ok, we're going to start using autopoint, but the tree + is going to undergo some changes after this -2002-07-19 17:06 Will Estes +2002-07-19 Will Estes * configure.in: we're preparing for autopoint -2002-07-17 11:57 John Millaway +2002-07-17 John Millaway * flex.texi: Updated manual. -2002-07-17 08:53 Will Estes +2002-07-17 Will Estes * NEWS: update the NEWS file for lots of things millaway has done -2002-07-17 02:46 John Millaway +2002-07-17 John Millaway * flex.skl, main.c, misc.c, scan.l, scanopt.c, sym.c, tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Fixed prototype/definition conflicts with "traditional" C in skeleton at request of gcc developer. Removed duplicate prototypes in gen.c, - sym.c, main.c. Added missing prototypes where needed. All - functions in skeleton follow ISO C style protos and defs, instead - of BOTH ISO and new-style. Skeleton now compiles cleanly under + sym.c, main.c. Added missing prototypes where needed. All + functions in skeleton follow ISO C style protos and defs, instead of + BOTH ISO and new-style. Skeleton now compiles cleanly under super-strict gcc flags. Flex itself almost compiles cleanly under strict flags. -2002-07-15 14:59 John Millaway +2002-07-15 John Millaway * faq.texi, flex.texi: Worked on mem mgmt sect of manual. -2002-07-15 12:55 Will Estes +2002-07-15 Will Estes * scan.l: allow blank lines and continuations in more places -2002-07-12 13:43 Will Estes +2002-07-12 Will Estes * TODO: millaway finished the faqs directory -2002-07-12 13:39 Will Estes +2002-07-12 Will Estes * TODO: removed items as per email from millaway -2002-07-12 12:23 John Millaway +2002-07-12 John Millaway * configure.in, tests/Makefile.am, tests/descriptions, tests/test-posix/.cvsignore, tests/test-posix/Makefile.am, @@ -2825,1036 +3387,1029 @@ posix-compat and repeat operator. Added test for POSIXLY_CORRECT environment variable and repeat operator. -2002-07-12 12:21 John Millaway +2002-07-12 John Millaway * main.c, scan.l: Fixed POSIXLY_CORRECT detection in scanner. -2002-07-11 16:27 John Millaway +2002-07-11 John Millaway * faq.texi: More work on faq. -2002-07-11 16:06 John Millaway +2002-07-11 John Millaway * faq.texi: Moved all faqs into manual -- but did not evaluate them yet. Removed the old faq files. -2002-07-10 17:59 John Millaway +2002-07-10 John Millaway * main.c: Removed duplicate definition of FLEX_DEBUG. gcc doesn't care, but other compilers might. -2002-07-10 17:55 John Millaway +2002-07-10 John Millaway * flex.texi: Wrote some more about memory mgmt in the manual. -2002-07-10 11:43 John Millaway +2002-07-10 John Millaway * flex.texi: flex.texi now works with install-info. -2002-07-10 10:02 Will Estes +2002-07-10 Will Estes * TODO: added items as per email from millaway -2002-07-10 10:02 Will Estes +2002-07-10 Will Estes * NEWS: after we release a version, we have to keep the version number in NEWS current -2002-07-09 20:04 John Millaway +2002-07-10 John Millaway * flex.skl, flex.texi, main.c, scan.l, tests/test-mem-nr/scanner.l, tests/test-mem-r/scanner.l: Fixed prefix issue with get/set debug functions. Fixed prefix issues with memory functions. -2002-07-09 19:35 John Millaway +2002-07-09 John Millaway * flex.skl: Memory functions are no longer static. -2002-07-09 19:02 John Millaway +2002-07-09 John Millaway * tests/test-mem-nr/test.input: Added a missing input file for test-mem-nr/ -2002-07-09 18:47 John Millaway +2002-07-09 John Millaway - * tests/: test-mem-nr/.cvsignore, test-mem-nr/Makefile.am, - test-mem-nr/scanner.l, test-mem-r/.cvsignore, - test-mem-r/Makefile.am, test-mem-r/scanner.l, - test-mem-r/test.input: Added tests for overriding memory. + * tests/test-mem-nr/.cvsignore, tests/test-mem-nr/Makefile.am, + tests/test-mem-nr/scanner.l, tests/test-mem-r/.cvsignore, + tests/test-mem-r/Makefile.am, tests/test-mem-r/scanner.l, + tests/test-mem-r/test.input: Added tests for overriding memory. -2002-07-09 18:45 John Millaway +2002-07-09 John Millaway * flex.texi: Added sections in manual for memory management. -2002-07-09 17:36 Will Estes +2002-07-09 Will Estes * NEWS: noted more user visible changes -2002-07-09 16:52 John Millaway +2002-07-09 John Millaway * configure.in, flex.skl, scan.l, tests/Makefile.am: Added - yylex_destroy() to non-reentrant scanner. Added ability to - override memory functions. Added tests for overriding memory - functions. + yylex_destroy() to non-reentrant scanner. Added ability to override + memory functions. Added tests for overriding memory functions. -2002-07-09 14:41 Will Estes +2002-07-09 Will Estes * NEWS: new POSIXLY_CORRECT and new ru translation -2002-07-09 14:40 Will Estes +2002-07-09 Will Estes * po/ru.po: new ru translation from the translation project -2002-07-09 14:25 John Millaway +2002-07-09 John Millaway * flex.texi: Made note of set/get debug in docs. -2002-07-09 14:11 John Millaway +2002-07-09 John Millaway * configure.in, flexdef.h, tests/create-test: Replaced obsolete macros in configure.in. Modified create-test to handle the above changes in configure.in. Added support for . -2002-07-09 13:27 John Millaway +2002-07-09 John Millaway * main.c: Check POSIXLY_CORRECT env variable. -2002-07-09 12:43 John Millaway +2002-07-09 John Millaway * flex.skl: Added prototypes for the get/set debug functions. -2002-07-09 12:37 John Millaway +2002-07-09 John Millaway * configure.in, flex.skl, gen.c, main.c, scan.l, tests/Makefile.am, tests/test-debug-nr/.cvsignore, tests/test-debug-nr/Makefile.am, tests/test-debug-nr/scanner.l, tests/test-debug-nr/test.input, tests/test-debug-r/.cvsignore, tests/test-debug-r/Makefile.am, tests/test-debug-r/scanner.l, tests/test-debug-r/test.input: Made - yy_flex_debug non-global in reentrant scanner. Created get/set - functions for yy_flex_debug. Defined prefixes for new - yy_flex_debug symbols. Added tests/ for yy_flex_debug. + yy_flex_debug non-global in reentrant scanner. Created get/set + functions for yy_flex_debug. Defined prefixes for new yy_flex_debug + symbols. Added tests/ for yy_flex_debug. -2002-07-09 12:31 John Millaway +2002-07-09 John Millaway * tests/create-test: create-test script now modifies .cvsignore -2002-07-09 12:22 John Millaway +2002-07-09 John Millaway * tests/create-test: Improved the error checking. -2002-07-03 09:12 Will Estes +2002-07-03 Will Estes * main.c: fix bug whereby prefix didn't get passed to everybody; - patch by rse@engelschall.com + patch by rse@engelschall.com -2002-07-03 08:47 Will Estes +2002-07-03 Will Estes * faq.texi: ~ is an active character, so we'll just use the word 'about' -2002-07-02 18:59 John Millaway +2002-07-02 John Millaway * Makefile.am: Fixed typo. -2002-07-02 15:47 John Millaway +2002-07-02 John Millaway * faq.texi: Added a faq. -2002-06-28 19:05 John Millaway +2002-06-28 John Millaway * Makefile.am: Added 'tags' target -- something I should have done long ago. -2002-06-28 12:18 Will Estes +2002-06-28 Will Estes * TODO: add two new items regarding coding; remove tests/ copyright notice item as it's done -2002-06-26 08:33 Will Estes +2002-06-26 Will Estes * NEWS: note the copyright messages in tests/ -2002-06-25 15:37 John Millaway +2002-06-25 John Millaway - * tests/: TEMPLATE/Makefile.am, TEMPLATE/parser.y, - TEMPLATE/scanner.l, test-array-nr/Makefile.am, - test-array-nr/scanner.l, test-array-r/Makefile.am, - test-array-r/scanner.l, test-basic-nr/Makefile.am, - test-basic-nr/scanner.l, test-basic-r/Makefile.am, - test-basic-r/scanner.l, test-bison-yylloc/Makefile.am, - test-bison-yylloc/main.c, test-bison-yylloc/parser.y, - test-bison-yylloc/scanner.l, test-bison-yylval/Makefile.am, - test-bison-yylval/main.c, test-bison-yylval/parser.y, - test-bison-yylval/scanner.l, test-c-cpp-nr/Makefile.am, - test-c-cpp-nr/scanner.l, test-c-cpp-r/Makefile.am, - test-c-cpp-r/scanner.l, test-header-nr/Makefile.am, - test-header-nr/main.c, test-header-nr/scanner.l, - test-header-r/Makefile.am, test-header-r/main.c, - test-header-r/scanner.l, test-include-by-buffer/Makefile.am, - test-include-by-buffer/scanner.l, - test-include-by-reentrant/Makefile.am, - test-include-by-reentrant/scanner.l, test-lineno-nr/Makefile.am, - test-lineno-nr/scanner.l, test-lineno-r/Makefile.am, - test-lineno-r/scanner.l, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-nr/main.c, - test-multiple-scanners-nr/scanner-1.l, - test-multiple-scanners-nr/scanner-2.l, - test-multiple-scanners-r/Makefile.am, - test-multiple-scanners-r/main.c, - test-multiple-scanners-r/scanner-1.l, - test-multiple-scanners-r/scanner-2.l, test-prefix-nr/Makefile.am, - test-prefix-nr/scanner.l, test-prefix-r/Makefile.am, - test-prefix-r/scanner.l, test-pthread/Makefile.am, - test-pthread/scanner.l, test-string-nr/Makefile.am, - test-string-nr/scanner.l, test-string-r/Makefile.am, - test-string-r/scanner.l, test-yyextra/Makefile.am, - test-yyextra/scanner.l: Prepended explicit license to all test-*/ - sources. + * tests/TEMPLATE/Makefile.am, tests/TEMPLATE/parser.y, + tests/TEMPLATE/scanner.l, tests/test-array-nr/Makefile.am, + tests/test-array-nr/scanner.l, tests/test-array-r/Makefile.am, + tests/test-array-r/scanner.l, tests/test-basic-nr/Makefile.am, + tests/test-basic-nr/scanner.l, tests/test-basic-r/Makefile.am, + tests/test-basic-r/scanner.l, tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylloc/main.c, tests/test-bison-yylloc/parser.y, + tests/test-bison-yylloc/scanner.l, + tests/test-bison-yylval/Makefile.am, + tests/test-bison-yylval/main.c, tests/test-bison-yylval/parser.y, + tests/test-bison-yylval/scanner.l, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-nr/scanner.l, tests/test-c-cpp-r/Makefile.am, + tests/test-c-cpp-r/scanner.l, tests/test-header-nr/Makefile.am, + tests/test-header-nr/main.c, tests/test-header-nr/scanner.l, + tests/test-header-r/Makefile.am, tests/test-header-r/main.c, + tests/test-header-r/scanner.l, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-buffer/scanner.l, + tests/test-include-by-reentrant/Makefile.am, + tests/test-include-by-reentrant/scanner.l, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-nr/scanner.l, + tests/test-lineno-r/Makefile.am, tests/test-lineno-r/scanner.l, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-nr/main.c, + tests/test-multiple-scanners-nr/scanner-1.l, + tests/test-multiple-scanners-nr/scanner-2.l, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-multiple-scanners-r/main.c, + tests/test-multiple-scanners-r/scanner-1.l, + tests/test-multiple-scanners-r/scanner-2.l, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-nr/scanner.l, + tests/test-prefix-r/Makefile.am, tests/test-prefix-r/scanner.l, + tests/test-pthread/Makefile.am, tests/test-pthread/scanner.l, + tests/test-string-nr/Makefile.am, tests/test-string-nr/scanner.l, + tests/test-string-r/Makefile.am, tests/test-string-r/scanner.l, + tests/test-yyextra/Makefile.am, tests/test-yyextra/scanner.l: + Prepended explicit license to all test-*/ sources. -2002-06-25 08:56 Will Estes +2002-06-25 Will Estes * NEWS, po/ca.po, po/de.po, po/fr.po, po/sv.po, po/tr.po: new ca, de, fr, sv, tr translations -2002-06-19 09:40 Will Estes +2002-06-19 Will Estes * TODO: add bootstrapper to the todo list -2002-06-19 09:38 Will Estes +2002-06-19 Will Estes * configure.in: new version number -2002-06-19 09:38 Will Estes +2002-06-19 Will Estes * TODO: update TODO list -2002-06-19 09:26 Will Estes +2002-06-19 Will Estes * NEWS, TODO, flex.texi, flexdef.h, main.c, options.c, options.h, parse.y, scan.l: address typos in NEWS; add --posix option for ERE parsing the way posix wants it; update the TODO file -2002-05-31 13:18 Will Estes +2002-05-31 Will Estes * README-alpha: made code quality warning more explicit; gave url for cvs and beta flex -2002-05-23 11:53 John Millaway +2002-05-23 John Millaway - * gen.c: Fixed bug where omission of user section 3 caused - unmatched #ifdef's in generated code. + * gen.c: Fixed bug where omission of user section 3 caused unmatched + #ifdef's in generated code. -2002-05-20 08:39 Will Estes +2002-05-20 Will Estes * configure.in: configure.in requires at least autoconf 2.50 -2002-05-13 14:45 John Millaway +2002-05-13 John Millaway * Makefile.am: Updated my email address. -2002-05-10 15:33 John Millaway +2002-05-10 John Millaway * flexdef.h, misc.c: chomp'd lines when reading external skel file. -2002-05-07 11:00 Will Estes +2002-05-07 Will Estes * po/sv.po: new sweedish translation from the translation project -2002-04-29 11:37 Will Estes +2002-04-29 Will Estes * po/ca.po: new catalan translation from the translation project -2002-04-29 11:37 Will Estes +2002-04-29 Will Estes * po/es.po: new spanish translation from the translation project -2002-04-25 17:54 Will Estes +2002-04-25 Will Estes - * TODO: note that the lex matching of abc{1,3} is the posix - behavior and so we have a problem + * TODO: note that the lex matching of abc{1,3} is the posix behavior + and so we have a problem -2002-04-25 17:53 Will Estes +2002-04-25 Will Estes * flex.texi: note that the lex matching of abc{1,3} is the posix behavior -2002-04-23 07:02 Will Estes +2002-04-23 Will Estes * configure.in: new version 2.5.7; use autoconf versioning info -2002-04-23 07:01 Will Estes +2002-04-23 Will Estes * NEWS: note changes in 2.5.7 -2002-04-23 06:23 Will Estes +2002-04-23 Will Estes * main.c: conditional compile gettext initialization -2002-04-22 13:28 Will Estes +2002-04-22 Will Estes * po/de.po: new german translation from the translation project -2002-04-19 18:40 John Millaway +2002-04-19 John Millaway * tests/test-include-by-reentrant/Makefile.am: Fixed command line for test-include-by-reentrant/Makefile.am -2002-04-19 18:30 John Millaway +2002-04-19 John Millaway - * tests/: Makefile.am, TEMPLATE/Makefile.am, - test-array-nr/Makefile.am, test-array-r/Makefile.am, - test-basic-nr/Makefile.am, test-basic-r/Makefile.am, - test-bison-yylloc/Makefile.am, test-bison-yylval/Makefile.am, - test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am, - test-header-nr/Makefile.am, test-header-r/Makefile.am, - test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-string-nr/Makefile.am, test-string-r/Makefile.am, - test-yyextra/Makefile.am: Added -I . to compiler search path in - tests (so it finds the generated parser.h). + * tests/Makefile.am, tests/TEMPLATE/Makefile.am, + tests/test-array-nr/Makefile.am, tests/test-array-r/Makefile.am, + tests/test-basic-nr/Makefile.am, tests/test-basic-r/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am, + tests/test-header-nr/Makefile.am, tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-string-nr/Makefile.am, + tests/test-string-r/Makefile.am, tests/test-yyextra/Makefile.am: + Added -I . to compiler search path in tests (so it finds the + generated parser.h). -2002-04-19 18:20 John Millaway +2002-04-19 John Millaway * flexdef.h, misc.c, parse.y, sym.c: Applied 'const' to a few more char*, where appropriate. -2002-04-19 17:54 John Millaway +2002-04-19 John Millaway - * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, - test-array-r/Makefile.am, test-basic-nr/Makefile.am, - test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, - test-c-cpp-r/Makefile.am, test-header-nr/Makefile.am, - test-header-r/Makefile.am, test-include-by-buffer/Makefile.am, - test-include-by-reentrant/Makefile.am, test-lineno-nr/Makefile.am, - test-lineno-r/Makefile.am, test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-prefix-nr/Makefile.am, - test-prefix-r/Makefile.am, test-pthread/Makefile.am, - test-string-nr/Makefile.am, test-string-r/Makefile.am, - test-yyextra/Makefile.am: Added top_builddir to -I path. Changed - $(srcdir)/$(testname) to ./$(testname) in 'make test' rule. + * tests/TEMPLATE/Makefile.am, tests/test-array-nr/Makefile.am, + tests/test-array-r/Makefile.am, tests/test-basic-nr/Makefile.am, + tests/test-basic-r/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am, + tests/test-header-nr/Makefile.am, tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-string-nr/Makefile.am, + tests/test-string-r/Makefile.am, tests/test-yyextra/Makefile.am: + Added top_builddir to -I path. Changed $(srcdir)/$(testname) to + ./$(testname) in 'make test' rule. -2002-04-19 17:53 John Millaway +2002-04-19 John Millaway * flexdef.h, gen.c, misc.c: Changed 'char[]' to 'const char*' wherever in conflicted with gettext. -2002-04-19 10:35 Will Estes +2002-04-19 Will Estes - * po/: fr.po, sv.po: new files from translation after 2.5.6 beta + * po/fr.po, po/sv.po: new files from translation after 2.5.6 beta release -2002-04-18 19:01 John Millaway +2002-04-18 John Millaway * tests/test-lineno-r/Makefile.am: Fixed minor typo/cut and paste error. -2002-04-18 18:07 John Millaway +2002-04-18 John Millaway * configure.in: Added yylineno test. -2002-04-18 18:06 John Millaway +2002-04-18 John Millaway * tests/Makefile.am: Added yylineno tests. -2002-04-18 18:06 John Millaway +2002-04-18 John Millaway - * tests/: test-lineno-nr/.cvsignore, test-lineno-nr/Makefile.am, - test-lineno-nr/scanner.l, test-lineno-nr/test.input, - test-lineno-r/.cvsignore, test-lineno-r/Makefile.am, - test-lineno-r/scanner.l, test-lineno-r/test.input: Created yylineno - tests. + * tests/test-lineno-nr/.cvsignore, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-nr/scanner.l, + tests/test-lineno-nr/test.input, tests/test-lineno-r/.cvsignore, + tests/test-lineno-r/Makefile.am, tests/test-lineno-r/scanner.l, + tests/test-lineno-r/test.input: Created yylineno tests. -2002-04-15 16:49 John Millaway +2002-04-15 John Millaway * scanopt.c: Applied gettext macros to error messages from scanopt. -2002-04-15 16:46 John Millaway +2002-04-15 John Millaway - * buf.c, faq.texi, options.c, options.h, scanopt.c, scanopt.h: + * buf.c, faq.texi, options.c, options.h, scanopt.c, scanopt.h: Changed copyright from Millaway to flex? U.S. Gov't? Regents of U. - Cali.? Paxson? + Cali.? Paxson? -2002-04-15 10:44 Will Estes +2002-04-15 Will Estes - * tests/: test-bison-yylloc/Makefile.am, - test-header-nr/Makefile.am, test-header-r/Makefile.am: we missed a - few main.c files in the distribution + * tests/test-bison-yylloc/Makefile.am, + tests/test-header-nr/Makefile.am, tests/test-header-r/Makefile.am: + we missed a few main.c files in the distribution -2002-04-15 08:05 Will Estes +2002-04-15 Will Estes * TODO: a lot more work has happened to flex; note this by removing a number of TODO entries -2002-04-15 07:59 Will Estes +2002-04-15 Will Estes * TODO: make sure all gettext modules use gettext translation facilities -2002-04-14 15:53 John Millaway +2002-04-14 John Millaway * faq.texi: Converted faqs 34-41 to texinfo. -2002-04-14 14:42 John Millaway +2002-04-14 John Millaway - * Makefile.am, faq.texi, flex.texi: Added faq.texi to archive. - Added faq.texi to flex_TEXINFOS macro in Makefile.am. flex.texi - now includes faq.texi. + * Makefile.am, faq.texi, flex.texi: Added faq.texi to archive. + Added faq.texi to flex_TEXINFOS macro in Makefile.am. flex.texi now + includes faq.texi. -2002-04-13 00:16 John Millaway +2002-04-13 John Millaway * flexdef.h: defined FLEX_EXIT macro to call longjmp on errors. -2002-04-13 00:08 John Millaway +2002-04-13 John Millaway * main.c, misc.c: Replaced exit(2) calls with longjmps (in the form of FLEX_EXIT macro). Moved main() to flex_main() to allow flex to be called from a library. -2002-04-13 00:06 John Millaway +2002-04-13 John Millaway * scanopt.c: Fixed minor typo in error message -2002-04-12 12:23 Will Estes +2002-04-12 Will Estes - * tests/: test-header-nr/Makefile.am, test-header-r/Makefile.am, - test-multiple-scanners-nr/Makefile.am, - test-multiple-scanners-r/Makefile.am, test-pthread/Makefile.am, - test-string-nr/Makefile.am, test-string-r/Makefile.am, - test-yyextra/Makefile.am: removed eroneous files listed in - EXTRA_DIST + * tests/test-header-nr/Makefile.am, + tests/test-header-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-string-nr/Makefile.am, + tests/test-string-r/Makefile.am, tests/test-yyextra/Makefile.am: + removed eroneous files listed in EXTRA_DIST -2002-04-12 12:09 Will Estes +2002-04-12 Will Estes * tests/test-yyextra/.cvsignore: ignore Makefile.in -2002-04-12 12:09 Will Estes +2002-04-12 Will Estes * tests/test-string-r/.cvsignore: it's Makefile.in, not makefile.in -2002-04-12 12:02 Will Estes +2002-04-12 Will Estes - * tests/test-yyextra/: Makefile.am, Makefile.in: put test-yyextra - under automake + * tests/test-yyextra/Makefile.am, tests/test-yyextra/Makefile.in: + put test-yyextra under automake -2002-04-12 11:52 Will Estes +2002-04-12 Will Estes - * tests/test-string-r/: Makefile.am, Makefile.in: put test-string-r - under automake + * tests/test-string-r/Makefile.am, tests/test-string-r/Makefile.in: + put test-string-r under automake -2002-04-12 11:50 Will Estes +2002-04-12 Will Estes - * tests/: test-string-nr/.cvsignore, test-string-r/.cvsignore: we - can ignore Makefile.in + * tests/test-string-nr/.cvsignore, tests/test-string-r/.cvsignore: + we can ignore Makefile.in -2002-04-12 11:49 Will Estes +2002-04-12 Will Estes - * tests/test-string-nr/: Makefile.am, Makefile.in: put - test-string-nr under automake + * tests/test-string-nr/Makefile.am, + tests/test-string-nr/Makefile.in: put test-string-nr under automake -2002-04-12 11:40 Will Estes +2002-04-12 Will Estes * tests/test-pthread/.cvsignore: ignore Makefile.in -2002-04-12 11:37 Will Estes +2002-04-12 Will Estes - * tests/test-pthread/: Makefile.am, Makefile.in: put test-pthread - under automake + * tests/test-pthread/Makefile.am, tests/test-pthread/Makefile.in: + put test-pthread under automake -2002-04-12 11:24 Will Estes +2002-04-12 Will Estes - * tests/test-prefix-r/.cvsignore: we can ignore Makefile.in + * tests/test-prefix-r/Makefile.am, tests/test-prefix-r/Makefile.in: + put test-prefix-r under automake -2002-04-12 11:23 Will Estes +2002-04-12 Will Estes - * tests/test-prefix-r/: Makefile.am, Makefile.in: put test-prefix-r - under automake + * tests/test-prefix-nr/.cvsignore, tests/test-prefix-r/.cvsignore: + we can ignore Makefile.in -2002-04-12 11:20 Will Estes +2002-04-12 Will Estes - * tests/test-prefix-nr/.cvsignore: we can ignore Makefile.in + * tests/test-prefix-nr/Makefile.am, + tests/test-prefix-nr/Makefile.in: put test-prefix-nr under automake -2002-04-12 11:19 Will Estes +2002-04-12 Will Estes - * tests/test-prefix-nr/: Makefile.am, Makefile.in: put - test-prefix-nr under automake - -2002-04-12 08:03 Will Estes - - * tests/test-multiple-scanners-r/.cvsignore: we can ignore - Makefile.in now - -2002-04-12 08:02 Will Estes - - * tests/test-multiple-scanners-r/: Makefile.am, Makefile.in: put + * tests/test-multiple-scanners-r/Makefile.am, + tests/test-multiple-scanners-r/Makefile.in: put test-multiple-scanners-r under automake -2002-04-12 07:59 Will Estes +2002-04-12 Will Estes - * tests/test-multiple-scanners-nr/.cvsignore: we can ignore - Makefile.in now + * tests/test-multiple-scanners-nr/.cvsignore, + tests/test-multiple-scanners-r/.cvsignore: we can ignore Makefile.in + now -2002-04-12 07:59 Will Estes +2002-04-12 Will Estes - * tests/test-multiple-scanners-nr/: Makefile.am, Makefile.in: put + * tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.in: put test-multiple-scanners-nr under automake -2002-04-11 07:44 Will Estes +2002-04-11 Will Estes - * tests/: test-c-cpp-nr/Makefile.am, test-c-cpp-r/Makefile.am: we - didn't need parser.y + * tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am: + we didn't need parser.y -2002-04-11 07:43 Will Estes +2002-04-11 Will Estes * TODO: work done on the test suite; remove relevant entries from TODO -2002-04-10 13:06 Will Estes +2002-04-10 Will Estes - * tests/test-include-by-reentrant/: .cvsignore, Makefile.am, - Makefile.in: put test-include-by-reentrant under automake + * tests/test-include-by-reentrant/.cvsignore, + tests/test-include-by-reentrant/Makefile.am, + tests/test-include-by-reentrant/Makefile.in: put + test-include-by-reentrant under automake -2002-04-09 09:52 Will Estes +2002-04-09 Will Estes * tests/test-include-by-buffer/.cvsignore: we have a Makefile.in which we need to ignore -2002-04-09 09:33 Will Estes +2002-04-09 Will Estes - * tests/test-include-by-buffer/: Makefile.am, Makefile.in: - test-include-by-buffer now under automake control + * tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-buffer/Makefile.in: test-include-by-buffer now + under automake control -2002-04-09 09:32 Will Estes +2002-04-09 Will Estes - * tests/TEMPLATE/Makefile.am: and we want LFLAGS in the rule to - make scanner.c as well + * tests/TEMPLATE/Makefile.am: and we want LFLAGS in the rule to make + scanner.c as well -2002-04-09 09:13 Will Estes +2002-04-09 Will Estes - * tests/test-header-r/: .cvsignore, Makefile.am, Makefile.in: put - test-header-r under automake + * tests/test-header-r/.cvsignore, tests/test-header-r/Makefile.am, + tests/test-header-r/Makefile.in: put test-header-r under automake -2002-04-09 09:12 Will Estes +2002-04-09 Will Estes * tests/test-header-nr/.cvsignore: we now generate a Makefile.in from automake; cvs should ignore it -2002-04-09 09:12 Will Estes +2002-04-09 Will Estes * tests/test-header-nr/Makefile.am: add dependencies for main.o and scaner.h -2002-04-09 09:11 Will Estes +2002-04-09 Will Estes * tests/TEMPLATE/Makefile.am: We may want to have LFLAGS readily available -2002-04-09 08:48 Will Estes +2002-04-09 Will Estes - * tests/test-header-nr/: Makefile.am, Makefile.in: put - test-header-nr under automake + * tests/test-header-nr/Makefile.am, + tests/test-header-nr/Makefile.in: put test-header-nr under automake -2002-04-09 08:47 Will Estes +2002-04-09 Will Estes * tests/TEMPLATE/Makefile.am: oops, we need to clean objects too -2002-04-09 08:35 Will Estes +2002-04-09 Will Estes - * tests/: TEMPLATE/Makefile.am, test-array-nr/Makefile.am, - test-array-r/Makefile.am, test-basic-nr/Makefile.am, - test-basic-r/Makefile.am, test-bison-yylloc/Makefile.am, - test-bison-yylval/Makefile.am, test-c-cpp-nr/Makefile.am, - test-c-cpp-r/Makefile.am: now that config.h lives in the top-level - directory, we need to tell the testsuite + * tests/TEMPLATE/Makefile.am, tests/test-array-nr/Makefile.am, + tests/test-array-r/Makefile.am, tests/test-basic-nr/Makefile.am, + tests/test-basic-r/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-r/Makefile.am: now + that config.h lives in the top-level directory, we need to tell the + testsuite -2002-04-08 11:06 Will Estes +2002-04-08 Will Estes - * tests/: test-array-nr/.cvsignore, test-array-r/.cvsignore, - test-basic-nr/.cvsignore, test-basic-r/.cvsignore, - test-bison-yylval/.cvsignore, test-c-cpp-nr/.cvsignore, - test-c-cpp-r/.cvsignore: we can ignore some Makefile.in + * tests/test-array-nr/.cvsignore, tests/test-array-r/.cvsignore, + tests/test-basic-nr/.cvsignore, tests/test-basic-r/.cvsignore, + tests/test-bison-yylval/.cvsignore, tests/test-c-cpp-nr/.cvsignore, + tests/test-c-cpp-r/.cvsignore: we can ignore some Makefile.in -2002-04-08 11:00 Will Estes +2002-04-08 Will Estes * configure.in, tests/TEMPLATE/Makefile.am: only one config file header apparently; this will have consequences in the test suite -2002-04-08 10:36 Will Estes +2002-04-08 Will Estes - * tests/test-bison-yylval/: Makefile.am, Makefile.in: adding - automake support + * tests/test-bison-yylval/Makefile.am, + tests/test-bison-yylval/Makefile.in: adding automake support -2002-04-08 10:26 Will Estes +2002-04-08 Will Estes - * tests/test-bison-yylloc/: .cvsignore, Makefile.am: tuned - Makefile.am to build correctly; ignore Makefile.in now + * tests/test-bison-yylloc/.cvsignore, + tests/test-bison-yylloc/Makefile.am: tuned Makefile.am to build + correctly; ignore Makefile.in now -2002-04-08 09:22 Will Estes +2002-04-08 Will Estes * tests/configure.in: test suite changes -2002-04-08 09:16 Will Estes - - * tests/: TEMPLATE/.cvsignore, TEMPLATE/Makefile.am, - TEMPLATE/Makefile.in, test-array-nr/Makefile.am, - test-array-nr/Makefile.in, test-array-r/Makefile.am, - test-array-r/Makefile.in, test-basic-nr/Makefile.am, - test-basic-nr/Makefile.in, test-basic-r/Makefile.am, - test-basic-r/Makefile.in, test-bison-yylloc/Makefile.am, - test-bison-yylloc/Makefile.in, test-c-cpp-nr/Makefile.am, - test-c-cpp-nr/Makefile.in, test-c-cpp-r/Makefile.am, - test-c-cpp-r/Makefile.in: test suite changes - -2002-04-08 09:13 Will Estes +2002-04-08 Will Estes * autogen.sh, configure.in, tests/.cvsignore, tests/Makefile.am, - tests/Makefile.in, tests/README, tests/configure.in, - tests/create-test, tests/create-test.pl: test suite changes + tests/Makefile.in, tests/README, tests/TEMPLATE/.cvsignore, + tests/TEMPLATE/Makefile.am, tests/TEMPLATE/Makefile.in, + tests/configure.in, tests/create-test, tests/create-test.pl, + tests/test-array-nr/Makefile.am, tests/test-array-nr/Makefile.in, + tests/test-array-r/Makefile.am, tests/test-array-r/Makefile.in, + tests/test-basic-nr/Makefile.am, tests/test-basic-nr/Makefile.in, + tests/test-basic-r/Makefile.am, tests/test-basic-r/Makefile.in, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylloc/Makefile.in, + tests/test-c-cpp-nr/Makefile.am, tests/test-c-cpp-nr/Makefile.in, + tests/test-c-cpp-r/Makefile.am, tests/test-c-cpp-r/Makefile.in: test + suite changes -2002-04-05 14:18 John Millaway +2002-04-05 John Millaway * flex.texi: Corrected error in manual regarding return type for yy_scan_{string,buffer,bytes}. -2002-04-05 08:25 Will Estes +2002-04-05 Will Estes * po/de.po: new german translations from the translation project -2002-04-03 13:13 Will Estes +2002-04-03 Will Estes * po/es.po: new spanish translations -2002-04-01 11:47 Will Estes +2002-04-01 Will Estes * Makefile.am: DIST_SUBDIRS: new variable. we can build flex with SUBDIRS and then build the distribution using DIST_SUBDIRS -2002-04-01 08:03 Will Estes +2002-04-01 Will Estes * main.c: fix typo in comment -2002-03-31 12:17 John Millaway +2002-03-31 John Millaway * main.c: Documented the header file kludge, (in anticipation of buffering Section 1.) -2002-03-30 22:26 John Millaway +2002-03-31 John Millaway * flex.texi: Created appendix "Makefiles and Flex" in the manual. -2002-03-29 19:12 John Millaway +2002-03-30 John Millaway * flex.texi: updating manual. -2002-03-29 17:32 Will Estes +2002-03-29 Will Estes * po/POTFILES.in: we want parse.y, not parse.c -2002-03-29 16:37 John Millaway +2002-03-29 John Millaway * flex.texi: Indexing the manual (75% done). -2002-03-29 16:08 Will Estes +2002-03-29 Will Estes * Makefile.am: unlisted intermediate flex/yacc-created files -2002-03-29 15:59 Will Estes +2002-03-29 Will Estes * TODO: millaway has done more work -2002-03-29 15:03 Will Estes +2002-03-29 Will Estes * Makefile.am, configure.in: ok, one last touch up; users most likely wont have help2man so we need to insure that's ok -2002-03-29 14:55 Will Estes +2002-03-29 Will Estes * Makefile.am: fine tune flex.1 some more -2002-03-29 14:36 Will Estes +2002-03-29 Will Estes * Makefile.am, configure.in: generalize the manpage a bit and tell autofoo about help2man -2002-03-29 12:18 Will Estes +2002-03-29 Will Estes * po/da.po: new danish from translation project robot -2002-03-28 16:02 John Millaway +2002-03-28 John Millaway * flex.texi: Indexing the manual -- it's only half done. -2002-03-28 15:57 John Millaway +2002-03-28 John Millaway * flex.texi: flex manual now uses automake's versioning info. -2002-03-28 14:55 John Millaway +2002-03-28 John Millaway * README.cvs-snapshot: Mentioned requirements for gettext and help2man. -2002-03-28 14:52 John Millaway +2002-03-28 John Millaway * Makefile.am, main.c: Output of `flex --version` now matches GNU coding standards. Makefile.am now uses `help2man` to generate flex.1 -2002-03-27 08:58 Will Estes +2002-03-27 Will Estes - * TODO: millaway has done a lot on the TODO list; remove those - items that he has take care of + * TODO: millaway has done a lot on the TODO list; remove those items + that he has take care of -2002-03-27 08:45 Will Estes +2002-03-27 Will Estes * README.cvs-snapshot: edited millaway's initial draft -2002-03-26 20:09 John Millaway +2002-03-27 John Millaway * README.cvs-snapshot: Created file. -2002-03-26 19:28 John Millaway +2002-03-27 John Millaway * flex.texi: Fixed case of node names in flex.texi. -2002-03-24 16:08 Will Estes +2002-03-24 Will Estes * TODO: lex- and yacc- generated files -2002-03-24 14:25 Will Estes +2002-03-24 Will Estes * po/fr.po: new french -2002-03-18 08:27 Will Estes +2002-03-18 Will Estes * NEWS: ending periods in news items removed; mention nounistd options -2002-03-18 08:00 Will Estes +2002-03-18 Will Estes * po/sv.po: updated sweedish translations -2002-03-18 08:00 Will Estes +2002-03-18 Will Estes * po/de.po: german translation -2002-03-18 02:50 John Millaway +2002-03-18 John Millaway - * flex.skl, flex.texi, main.c, options.c, options.h, scan.l: - Removed CFront 1.2 -specific code from skeleton, because CFront now - defines __cplusplus properly. Removed TurboC-specific code from - skeleton. Skeleton now includes proper C++ standard headers. - Relocated "unistd.h" code after user section 1 to allow user to - overrid it. New option "nounistd" to suppress unistd.h from being - included. + * flex.skl, flex.texi, main.c, options.c, options.h, scan.l: Removed + CFront 1.2 -specific code from skeleton, because CFront now defines + __cplusplus properly. Removed TurboC-specific code from skeleton. + Skeleton now includes proper C++ standard headers. Relocated + "unistd.h" code after user section 1 to allow user to overrid it. + New option "nounistd" to suppress unistd.h from being included. -2002-03-15 11:29 Will Estes +2002-03-15 Will Estes * po/tr.po: new turkish translation -2002-03-15 10:33 Will Estes +2002-03-15 Will Estes * NEWS: mention included translations -2002-03-15 10:32 Will Estes +2002-03-15 Will Estes * TODO: we've done the gettext thing, but sometime we should get 0.11.1 -2002-03-15 10:30 Will Estes +2002-03-15 Will Estes * po/ca.po: new catalan translation -2002-03-14 18:23 John Millaway +2002-03-14 John Millaway * flex.texi: Added section on format of comments. -2002-03-14 17:18 John Millaway +2002-03-14 John Millaway * flex.texi: Split format chapter into sections. -2002-03-14 16:51 John Millaway +2002-03-14 John Millaway * flex.texi: Removed explicit pointers in node definitions. -2002-03-14 16:31 Will Estes +2002-03-14 Will Estes * configure.in: unistd.h can be problematic -2002-03-14 09:11 Will Estes +2002-03-14 Will Estes * tests/README: editing changes to README -2002-03-13 15:50 Will Estes +2002-03-13 Will Estes * po/POTFILES.in: scan.l, not scan.c because gettext gets confused -2002-03-13 12:36 Will Estes +2002-03-13 Will Estes * scan.l: gettext cruft -2002-03-13 10:57 Will Estes +2002-03-13 Will Estes * tests/descriptions: separate out test descriptions -2002-03-13 09:34 Will Estes +2002-03-13 Will Estes * po/LINGUAS: french and korean dont crash now -2002-03-12 16:40 Will Estes +2002-03-12 Will Estes - * po/: fr.po, ko.po: remove duplicate messages as per advice from + * po/fr.po, po/ko.po: remove duplicate messages as per advice from Jordi Mallach -2002-03-12 14:21 Will Estes +2002-03-12 Will Estes * gettext.h: yes, more gettext cruft -2002-03-12 14:12 Will Estes +2002-03-12 Will Estes - * m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4, - m4/isc-posix.m4, m4/lcmessage.m4, m4/lib-ld.m4, m4/lib-link.m4, - m4/lib-prefix.m4, m4/progtest.m4, ABOUT-NLS, config.rpath: this is - gettext cruft + * ABOUT-NLS, config.rpath, m4/codeset.m4, m4/gettext.m4, + m4/glibc21.m4, m4/iconv.m4, m4/isc-posix.m4, m4/lcmessage.m4, + m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4, m4/progtest.m4: this + is gettext cruft -2002-03-12 13:58 Will Estes +2002-03-12 Will Estes * NEWS: gettext and autofoo are now involved -2002-03-12 13:29 Will Estes +2002-03-12 Will Estes * Makefile.am, autogen.sh, configure.in, flexdef.h, main.c: mostly, changes for gettext -2002-03-12 13:29 Will Estes +2002-03-12 Will Estes - * po/: ca.po, da.po, es.po, ru.po, sv.po, tr.po: these sure change - a lot + * po/ca.po, po/da.po, po/es.po, po/ru.po, po/sv.po, po/tr.po: these + sure change a lot -2002-03-12 13:28 Will Estes +2002-03-12 Will Estes * TODO: note about cvs documentation -2002-03-12 13:02 Will Estes +2002-03-12 Will Estes * po/LINGUAS: we now have turkish -2002-03-12 13:01 Will Estes +2002-03-12 Will Estes * po/tr.po: updated translations, i think -2002-03-12 12:42 Will Estes +2002-03-12 Will Estes - * po/: ca.po, da.po, es.po, fr.po, ko.po, ru.po, sv.po, tr.po: ok, - maybe we do keep these things? + * po/ca.po, po/da.po, po/es.po, po/fr.po, po/ko.po, po/ru.po, + po/sv.po, po/tr.po: ok, maybe we do keep these things? -2002-03-12 12:26 Will Estes +2002-03-12 Will Estes * README-alpha: README-alpha for those bad-hair days -2002-03-12 12:18 Will Estes +2002-03-12 Will Estes - * m4/: .cvsignore, Makefile.am: ok,now we kinda have a m4/ subdir + * m4/.cvsignore, m4/Makefile.am: ok,now we kinda have a m4/ subdir for gettext -2002-03-12 12:13 Will Estes +2002-03-12 Will Estes - * po/: .cvsignore, LINGUAS, Makevars, POTFILES.in, da.po, es.po, - fr.po, ko.po, ru.po, sv.po: now, we have a po/ subdirectory for - gettext. i hope you're happy + * po/.cvsignore, po/LINGUAS, po/Makevars, po/POTFILES.in, po/da.po, + po/es.po, po/fr.po, po/ko.po, po/ru.po, po/sv.po: now, we have a po/ + subdirectory for gettext. i hope you're happy -2002-03-12 12:06 Will Estes +2002-03-12 Will Estes * po/ca.po: removing po files, maybe -2002-03-12 12:01 Will Estes +2002-03-12 Will Estes * tests/.cvsignore: ignore autom4te.cache -2002-03-11 09:27 Will Estes +2002-03-11 Will Estes - * po/: ca.po, da.po, es.po, fr.po, ko.po, ru.po, sv.po: po files - from debian + * po/ca.po, po/da.po, po/es.po, po/fr.po, po/ko.po, po/ru.po, + po/sv.po: po files from debian -2002-03-08 10:00 Will Estes +2002-03-08 Will Estes - * TODO: add several notes about tasks which need doing; create a - new top-level entry for generic coding concerns (this is distinct - from specific API or other such issues) + * TODO: add several notes about tasks which need doing; create a new + top-level entry for generic coding concerns (this is distinct from + specific API or other such issues) -2002-03-06 16:15 Will Estes +2002-03-06 Will Estes * README: eliminate to.do and faqs from the README file -2002-03-06 16:13 Will Estes +2002-03-06 Will Estes * TODO: more notes on tests/ -2002-03-06 11:32 Will Estes +2002-03-06 Will Estes * Makefile.am: remove subdirectories from EXTRA_DIST; add a SUBDIRS macro to handle examples/; clean up the dist-hook target -2002-03-06 11:32 Will Estes +2002-03-06 Will Estes * configure.in: we want to generate Makefiles in some more subdirectories; automake will like this -2002-03-06 11:26 Will Estes +2002-03-06 Will Estes * TODO: notes on subdirectories -2002-03-05 09:49 Will Estes +2002-03-05 Will Estes - * examples/: .cvsignore, Makefile.am: now examples/ fits into + * examples/.cvsignore, examples/Makefile.am: now examples/ fits into automake -2002-03-05 09:48 Will Estes +2002-03-05 Will Estes - * examples/fastwc/: .cvsignore, Makefile.am: examples/fastwc now - fits into automake + * examples/fastwc/.cvsignore, examples/fastwc/Makefile.am: + examples/fastwc now fits into automake -2002-03-05 09:47 Will Estes +2002-03-05 Will Estes - * examples/manual/: .cvsignore, Makefile.am, Makefile.examples, - README: examples/manual directory now fits into automake + * examples/manual/.cvsignore, examples/manual/Makefile.am, + examples/manual/Makefile.examples, examples/manual/README: + examples/manual directory now fits into automake -2002-03-05 09:45 Will Estes +2002-03-05 Will Estes * examples/manual/Makefile: renamed Makefile to Makefile.examples for automake's sake -2002-03-04 10:58 Will Estes +2002-03-04 Will Estes * Makefile.am: add parse.c and scan.c to built_sources -2002-02-24 17:19 John Millaway +2002-02-24 John Millaway * Makefile.am: Removed CVS-specific code from 'dist-hook' target so anybody with a copy of the tree can build a dist. -2002-02-22 17:50 John Millaway +2002-02-22 John Millaway * tests/Makefile.in: Converted test script to portable /bin/sh. -2002-02-22 17:47 John Millaway +2002-02-22 John Millaway * tests/test-bison-yylloc/Makefile.in: Added some spaces in shell scripts for portability. -2002-02-22 16:59 John Millaway +2002-02-22 John Millaway * tests/create-test.pl: Fixed #! line for portability. -2002-02-22 16:58 John Millaway +2002-02-22 John Millaway * tests/test-bison-yylloc/Makefile.in: Fixed return status code on bison-lloc test. -2002-02-21 00:40 John Millaway +2002-02-21 John Millaway * tests/create-test.pl: Added script to auto-create tests. Probably overkill. -2002-02-21 00:16 John Millaway +2002-02-21 John Millaway * flex.skl: Fixed C++ #ifdef problem. Removed mistyped __CPLUSPLUS - macro. Removed THROW_NIL. Not sure where it came from in the first + macro. Removed THROW_NIL. Not sure where it came from in the first place. -2002-02-21 00:12 John Millaway +2002-02-21 John Millaway - * tests/: README, configure.in, TEMPLATE/Makefile.in, - test-c-cpp-nr/.cvsignore, test-c-cpp-nr/Makefile.in, - test-c-cpp-nr/scanner.l, test-c-cpp-nr/test.input, - test-c-cpp-r/.cvsignore, test-c-cpp-r/Makefile.in, - test-c-cpp-r/scanner.l, test-c-cpp-r/test.input: Added + * tests/README, tests/TEMPLATE/Makefile.in, tests/configure.in, + tests/test-c-cpp-nr/.cvsignore, tests/test-c-cpp-nr/Makefile.in, + tests/test-c-cpp-nr/scanner.l, tests/test-c-cpp-nr/test.input, + tests/test-c-cpp-r/.cvsignore, tests/test-c-cpp-r/Makefile.in, + tests/test-c-cpp-r/scanner.l, tests/test-c-cpp-r/test.input: Added test-c-cpp-nr and test-c-cpp-r. -2002-02-16 15:26 John Millaway +2002-02-16 John Millaway * flex.skl: Added missing #endif. -2002-02-07 10:19 Will Estes +2002-02-07 Will Estes - * tests/: TEMPLATE/.cvsignore, test-array-nr/.cvsignore, - test-array-r/.cvsignore, test-basic-nr/.cvsignore, - test-basic-r/.cvsignore, test-bison-yylloc/.cvsignore, - test-bison-yylval/.cvsignore, test-header-nr/.cvsignore, - test-header-r/.cvsignore, test-include-by-buffer/.cvsignore, - test-include-by-reentrant/.cvsignore, - test-multiple-scanners-nr/.cvsignore, - test-multiple-scanners-r/.cvsignore, test-prefix-nr/.cvsignore, - test-prefix-r/.cvsignore, test-pthread/.cvsignore, - test-string-nr/.cvsignore, test-string-r/.cvsignore, - test-yyextra/.cvsignore: add OUTPUT to .cvsignore files in test - directories; it's also in the template directory + * tests/TEMPLATE/.cvsignore, tests/test-array-nr/.cvsignore, + tests/test-array-r/.cvsignore, tests/test-basic-nr/.cvsignore, + tests/test-basic-r/.cvsignore, tests/test-bison-yylloc/.cvsignore, + tests/test-bison-yylval/.cvsignore, + tests/test-header-nr/.cvsignore, tests/test-header-r/.cvsignore, + tests/test-include-by-buffer/.cvsignore, + tests/test-include-by-reentrant/.cvsignore, + tests/test-multiple-scanners-nr/.cvsignore, + tests/test-multiple-scanners-r/.cvsignore, + tests/test-prefix-nr/.cvsignore, tests/test-prefix-r/.cvsignore, + tests/test-pthread/.cvsignore, tests/test-string-nr/.cvsignore, + tests/test-string-r/.cvsignore, tests/test-yyextra/.cvsignore: add + OUTPUT to .cvsignore files in test directories; it's also in the + template directory -2002-02-06 18:30 Will Estes +2002-02-06 Will Estes * gen.c: fix interrupted reads and freads; from the debian package maintainer -2002-02-06 16:41 Will Estes +2002-02-06 Will Estes * flex.texi, flexdef.h, main.c, nfa.c: support large flex tables; from debian package maintainer -2002-01-29 08:48 Will Estes +2002-01-29 Will Estes - * tests/configure.in: add more output files to account for new - tests + * tests/configure.in: add more output files to account for new tests -2002-01-03 15:19 Will Estes +2002-01-03 Will Estes - * tests/test-array-nr/: .cvsignore, Makefile.in, scanner.l, - test.input: add this test + * tests/test-array-nr/.cvsignore, tests/test-array-nr/Makefile.in, + tests/test-array-nr/scanner.l, tests/test-array-nr/test.input: add + this test -2002-01-03 15:17 Will Estes +2002-01-03 Will Estes - * tests/test-array-r/: .cvsignore, Makefile.in, scanner.l, - test.input: add this test suite + * tests/test-array-r/.cvsignore, tests/test-array-r/Makefile.in, + tests/test-array-r/scanner.l, tests/test-array-r/test.input: add + this test suite -2001-11-20 14:58 Will Estes +2001-11-20 Will Estes * flex.skl, main.c: millaway: Fixed yytext_ptr when using %array in reentrant scanner -2001-11-20 14:48 Will Estes +2001-11-20 Will Estes * buf.c: oops, forgot this one line -2001-11-19 01:39 John Millaway +2001-11-14 Will Estes - * tests/: test-array-nr/.cvsignore, test-array-r/.cvsignore: file - .cvsignore was initially added on branch flex-2-5-6-branch. + * tests/test-header-r/.cvsignore, tests/test-header-r/Makefile.in, + tests/test-header-r/main.c, tests/test-header-r/scanner.l, + tests/test-header-r/test.input: and more fallout -2001-11-19 01:39 John Millaway - - * tests/: test-array-nr/Makefile.in, test-array-r/Makefile.in: file - Makefile.in was initially added on branch flex-2-5-6-branch. - -2001-11-19 01:39 John Millaway - - * tests/: test-array-nr/scanner.l, test-array-r/scanner.l: file - scanner.l was initially added on branch flex-2-5-6-branch. - -2001-11-19 01:39 John Millaway - - * tests/: test-array-nr/test.input, test-array-r/test.input: file - test.input was initially added on branch flex-2-5-6-branch. - -2001-11-14 18:09 Will Estes - - * tests/test-header-r/: .cvsignore, Makefile.in, main.c, scanner.l, - test.input: and more fallout - -2001-11-14 16:13 Will Estes +2001-11-14 Will Estes * TODO, flex.skl, flex.texi, flexdef.h, main.c, misc.c, - tests/README, tests/configure.in, tests/TEMPLATE/Makefile.in, + tests/README, tests/TEMPLATE/Makefile.in, tests/configure.in, tests/test-basic-r/scanner.l, tests/test-bison-yylloc/.cvsignore, tests/test-bison-yylloc/Makefile.in, tests/test-bison-yylloc/parser.y, @@ -3868,587 +4423,505 @@ tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: more from the same batch -2001-11-14 16:12 Will Estes +2001-11-14 Will Estes - * tests/: test-bison-yylloc/main.c, test-bison-yylval/main.c, - test-header-nr/.cvsignore, test-header-nr/Makefile.in, - test-header-nr/main.c, test-header-nr/scanner.l, - test-header-nr/test.input, test-multiple-scanners-nr/.cvsignore, - test-multiple-scanners-nr/Makefile.in, - test-multiple-scanners-nr/main.c, - test-multiple-scanners-nr/scanner-1.l, - test-multiple-scanners-nr/scanner-2.l, - test-multiple-scanners-r/.cvsignore, - test-multiple-scanners-r/Makefile.in, - test-multiple-scanners-r/main.c, - test-multiple-scanners-r/scanner-1.l, - test-multiple-scanners-r/scanner-2.l: a big batch from millaway + * tests/test-bison-yylloc/main.c, tests/test-bison-yylval/main.c, + tests/test-header-nr/.cvsignore, tests/test-header-nr/Makefile.in, + tests/test-header-nr/main.c, tests/test-header-nr/scanner.l, + tests/test-header-nr/test.input, + tests/test-multiple-scanners-nr/.cvsignore, + tests/test-multiple-scanners-nr/Makefile.in, + tests/test-multiple-scanners-nr/main.c, + tests/test-multiple-scanners-nr/scanner-1.l, + tests/test-multiple-scanners-nr/scanner-2.l, + tests/test-multiple-scanners-r/.cvsignore, + tests/test-multiple-scanners-r/Makefile.in, + tests/test-multiple-scanners-r/main.c, + tests/test-multiple-scanners-r/scanner-1.l, + tests/test-multiple-scanners-r/scanner-2.l: a big batch from + millaway -2001-10-28 01:49 John Millaway - - * tests/: test-bison-yylloc/main.c, test-bison-yylval/main.c: file - main.c was initially added on branch flex-2-5-6-branch. - -2001-10-26 23:59 John Millaway - - * tests/: test-multiple-scanners-nr/.cvsignore, - test-multiple-scanners-r/.cvsignore: file .cvsignore was initially - added on branch flex-2-5-6-branch. - -2001-10-26 23:59 John Millaway - - * tests/: test-multiple-scanners-nr/Makefile.in, - test-multiple-scanners-r/Makefile.in: file Makefile.in was - initially added on branch flex-2-5-6-branch. - -2001-10-26 23:59 John Millaway - - * tests/: test-multiple-scanners-nr/main.c, - test-multiple-scanners-r/main.c: file main.c was initially added on - branch flex-2-5-6-branch. - -2001-10-26 23:59 John Millaway - - * tests/: test-multiple-scanners-nr/scanner-1.l, - test-multiple-scanners-r/scanner-1.l: file scanner-1.l was - initially added on branch flex-2-5-6-branch. - -2001-10-26 23:59 John Millaway - - * tests/: test-multiple-scanners-nr/scanner-2.l, - test-multiple-scanners-r/scanner-2.l: file scanner-2.l was - initially added on branch flex-2-5-6-branch. - -2001-10-26 10:30 Will Estes +2001-10-26 Will Estes * NEWS: now NEWS has forgotten about the _r variables -2001-10-26 08:59 Will Estes +2001-10-26 Will Estes * flex.skl, flex.texi, gen.c, main.c, tests/test-bison-yylloc/scanner.l, tests/test-bison-yylval/scanner.l, tests/test-include-by-reentrant/scanner.l, tests/test-prefix-nr/scanner.l, tests/test-pthread/scanner.l, - tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: + tests/test-string-r/scanner.l, tests/test-yyextra/scanner.l: millaway simplified the reentrant api; here's the result -2001-10-23 17:07 Will Estes +2001-10-23 Will Estes * main.c, options.c, options.h: more from millaway -2001-10-22 10:37 Will Estes +2001-10-22 Will Estes * main.c, options.c, options.h: the last checkin was broken; millaway fixed it -2001-10-22 09:42 Will Estes +2001-10-22 Will Estes - * flex.texi, flex.skl, gen.c, main.c, misc.c, options.h, scan.l, - scanopt.c, tests/README, tests/configure.in: phew, millaway's - latest batch + * flex.skl, flex.texi, gen.c, main.c, misc.c, options.h, scan.l, + scanopt.c, tests/README, tests/configure.in: phew, millaway's latest + batch -2001-10-21 13:24 Will Estes +2001-10-21 Will Estes * flex.skl: flex.skl should come up in C mode -2001-10-21 13:23 Will Estes +2001-10-21 Will Estes - * flex.skl: apparently, isatty and c++ need help getting along - (from octave) + * flex.skl: apparently, isatty and c++ need help getting along (from + octave) -2001-10-19 18:56 John Millaway - - * tests/: test-header-nr/.cvsignore, test-header-r/.cvsignore: file - .cvsignore was initially added on branch flex-2-5-6-branch. - -2001-10-19 18:56 John Millaway - - * tests/: test-header-nr/Makefile.in, test-header-r/Makefile.in: - file Makefile.in was initially added on branch flex-2-5-6-branch. - -2001-10-19 18:56 John Millaway - - * tests/: test-header-nr/main.c, test-header-r/main.c: file main.c - was initially added on branch flex-2-5-6-branch. - -2001-10-19 18:56 John Millaway - - * tests/: test-header-nr/scanner.l, test-header-r/scanner.l: file - scanner.l was initially added on branch flex-2-5-6-branch. - -2001-10-19 18:56 John Millaway - - * tests/: test-header-nr/test.input, test-header-r/test.input: file - test.input was initially added on branch flex-2-5-6-branch. - -2001-10-19 17:13 Will Estes +2001-10-19 Will Estes * NEWS: document new options and new option handling -2001-10-19 16:58 Will Estes +2001-10-19 Will Estes * TODO: tell emacs that TODO is a text/outline mode file -2001-10-19 16:55 Will Estes +2001-10-19 Will Estes * TODO: we have new long options; we need to document that -2001-10-19 16:36 Will Estes +2001-10-19 Will Estes * NEWS: tell emacs that NEWS is text/outline mode -2001-10-19 14:04 Will Estes +2001-10-19 Will Estes * flex.skl: oops, lost a line somewhere in the merge process on millaway's work -2001-10-17 10:29 Will Estes +2001-10-17 Will Estes * Makefile.am, buf.c, flex.skl, flex.texi, flexdef.h, main.c, - misc.c, options.c, options.h, parse.y, scan.l, scanopt.c, - scanopt.h: merge latest batch of millaway's changes + misc.c, options.c, options.h, parse.y, scan.l, scanopt.c, scanopt.h: + merge latest batch of millaway's changes -2001-10-15 13:26 John Millaway - - * buf.c: file buf.c was initially added on branch - flex-2-5-6-branch. - -2001-10-12 20:44 John Millaway - - * options.c: file options.c was initially added on branch - flex-2-5-6-branch. - -2001-10-12 20:44 John Millaway - - * options.h: file options.h was initially added on branch - flex-2-5-6-branch. - -2001-10-12 20:44 John Millaway - - * scanopt.c: file scanopt.c was initially added on branch - flex-2-5-6-branch. - -2001-10-12 20:44 John Millaway - - * scanopt.h: file scanopt.h was initially added on branch - flex-2-5-6-branch. - -2001-09-22 13:50 Will Estes +2001-09-22 Will Estes * main.c: Fixed typo in options display -2001-09-20 15:27 Will Estes +2001-09-20 Will Estes - * main.c: reentrant and non-reentrant scanners share the same - yywrap MACRO. millaway + * main.c: reentrant and non-reentrant scanners share the same yywrap + MACRO. millaway -2001-09-20 12:32 Will Estes +2001-09-20 Will Estes * TODO: clarify item on comments in lexical files -2001-09-20 12:29 Will Estes +2001-09-20 Will Estes * NEWS, scan.l: now flex recognizes \r as an eol character -2001-09-20 10:55 Will Estes +2001-09-20 Will Estes * Makefile.am: specify cvsroot so automake distcheck works -2001-09-19 16:39 Will Estes +2001-09-19 Will Estes * flex.texi: tex has lost its mind; we remove parentheses to compensate -2001-09-19 15:42 Will Estes +2001-09-19 Will Estes - * NEWS: now that c++ is better supported, let's mention it as a - news item + * NEWS: now that c++ is better supported, let's mention it as a news + item -2001-09-19 15:37 Will Estes +2001-09-19 Will Estes - * flex.skl, main.c, examples/fastwc/wc1.l, examples/fastwc/wc2.l, + * examples/fastwc/wc1.l, examples/fastwc/wc2.l, examples/fastwc/wc3.l, examples/fastwc/wc4.l, - examples/fastwc/wc5.l: commit the backwash from the branch merges + examples/fastwc/wc5.l, flex.skl, main.c: commit the backwash from + the branch merges -2001-09-19 15:19 Will Estes +2001-09-19 Will Estes - * FlexLexer.h, flex.skl, examples/testxxLexer.l: made preliminary + * FlexLexer.h, examples/testxxLexer.l, flex.skl: made preliminary c++ fixes; the intent is to make it work with recent c++ compilers -2001-08-26 12:14 Will Estes +2001-08-26 Will Estes - * main.c: remove argv_fixup; fix typo in error message; changes - from millaway's branch + * main.c: remove argv_fixup; fix typo in error message; changes from + millaway's branch -2001-08-24 11:54 Will Estes +2001-08-24 Will Estes * NEWS: mention no more c++ comments in c scanners -2001-08-21 13:47 John Millaway +2001-08-21 John Millaway * flex.skl: Changed // comments to /* */ comments in skeleton. -2001-08-19 16:34 John Millaway +2001-08-19 John Millaway * flex.texi: Changed @var to @code everywhere. -2001-08-16 14:19 Will Estes +2001-08-16 Will Estes * to.do/flex.rmail: more mail -2001-08-16 11:03 Will Estes +2001-08-16 Will Estes * TODO: the manual now has its own section; we're not adding comments either -2001-08-03 21:14 John Millaway +2001-08-04 John Millaway - * tests/: Makefile.in, README, TEMPLATE/Makefile.in, - test-basic-nr/Makefile.in, test-basic-r/Makefile.in, - test-bison-yylloc/Makefile.in, test-bison-yylval/Makefile.in, - test-include-by-buffer/Makefile.in, - test-include-by-reentrant/Makefile.in, test-prefix-nr/Makefile.in, - test-prefix-r/Makefile.in, test-pthread/Makefile.in, - test-string-nr/Makefile.in, test-string-r/Makefile.in, - test-yyextra/Makefile.in: Cleaned up the output of the tests. + * tests/Makefile.in, tests/README, tests/TEMPLATE/Makefile.in, + tests/test-basic-nr/Makefile.in, tests/test-basic-r/Makefile.in, + tests/test-bison-yylloc/Makefile.in, + tests/test-bison-yylval/Makefile.in, + tests/test-include-by-buffer/Makefile.in, + tests/test-include-by-reentrant/Makefile.in, + tests/test-prefix-nr/Makefile.in, tests/test-prefix-r/Makefile.in, + tests/test-pthread/Makefile.in, tests/test-string-nr/Makefile.in, + tests/test-string-r/Makefile.in, tests/test-yyextra/Makefile.in: + Cleaned up the output of the tests. -2001-08-03 16:43 Will Estes +2001-08-03 Will Estes * TODO: note jason's thoughts on having a manpage -2001-08-03 16:41 Will Estes +2001-08-03 Will Estes * TODO: note millaway's assignment and tests to be under flex license -2001-08-01 17:14 John Millaway +2001-08-01 John Millaway * tests/test-bison-yylval/scanner.l: Fixed semantics of test (the success or failure of this test should be unaffected by this change.) -2001-08-01 16:13 Will Estes +2001-08-01 Will Estes * autogen.sh: fake automake into believing that ChangeLog already exists -2001-08-01 16:06 Will Estes +2001-08-01 Will Estes * Makefile.am: millaway needs to be covered in the ChangeLog -2001-08-01 15:41 Will Estes +2001-08-01 Will Estes * version.h: automake is supplying version info now so we just pick it up -2001-08-01 15:40 Will Estes +2001-08-01 Will Estes * flex.texi: forgot braces on @copyright -2001-08-01 15:40 John Millaway +2001-08-01 John Millaway * flex.skl: Added missing argument to yy_flex_free. -2001-08-01 10:05 Will Estes +2001-08-01 Will Estes * AUTHORS: john millaway wrote the reentrant C support -2001-08-01 10:05 Will Estes +2001-08-01 Will Estes * flex.texi: add license node to the manual -2001-08-01 09:48 Will Estes +2001-08-01 Will Estes * TODO: c++ ideas -2001-07-31 17:31 Will Estes +2001-07-31 Will Estes * parse.y: error messages will now show up the way that emacs likes them -2001-07-31 15:56 Will Estes +2001-07-31 Will Estes * Makefile.am: oops, left in an extra backslash -2001-07-31 15:05 Will Estes +2001-07-31 Will Estes * TODO: flex.texi is here; clarify tests/ rewrite issue -2001-07-31 15:04 Will Estes +2001-07-31 Will Estes * NEWS: hey, we have texinfo, not man -2001-07-31 15:03 Will Estes +2001-07-31 Will Estes * flex.1: no more manpage -2001-07-31 15:01 Will Estes +2001-07-31 Will Estes * Makefile.am: remove flex.1 and rewrite the dist-hook so that we pick up a couple more directories -2001-07-31 14:15 Will Estes +2001-07-31 Will Estes * flex.texi: the namual now compiles; hurray -2001-07-31 06:13 Will Estes +2001-07-31 Will Estes * Makefile.am: first attempt at including the tests/ directory via automake, dist-hook target added -2001-07-31 06:12 Will Estes +2001-07-31 Will Estes * tests/.cvsignore: ignore config.cache in tests/ directory -2001-07-31 05:46 Will Estes +2001-07-31 Will Estes * Makefile.am: automake groks the ChangeLog now so we don't have to remind the maintainer to remake it -2001-07-30 17:06 Will Estes +2001-07-30 Will Estes * flex.texi: more corrections to the manual; the end is in site -2001-07-30 17:06 Will Estes +2001-07-30 Will Estes * TODO: auto-generated backup? -2001-07-27 17:12 Will Estes +2001-07-27 Will Estes * flex.texi: today's tinkering on the manual -2001-07-27 10:50 Will Estes +2001-07-27 Will Estes * Makefile.am: if we want flex.1 we have to say so in EXTRA_DIST -2001-07-27 10:49 Will Estes +2001-07-27 Will Estes * TODO: note future issues with flex.texi -2001-07-27 10:34 Will Estes +2001-07-27 Will Estes - * Makefile.am: include flex.1 as it's the only working - documentation for now + * Makefile.am: include flex.1 as it's the only working documentation + for now -2001-07-27 10:32 Will Estes +2001-07-27 Will Estes * Makefile.am: rearrange to work with automake on building the ChangeLog -2001-07-27 09:33 Will Estes +2001-07-27 Will Estes * scan.l: automake is unhappy if we specify the outfile -2001-07-26 17:18 Will Estes +2001-07-26 Will Estes * flex.texi: more conversions/corrections -2001-07-26 10:04 Will Estes +2001-07-26 Will Estes * README: we removed misc/ so we don't mention it any more -2001-07-25 16:26 Will Estes +2001-07-25 Will Estes * flex.texi: begin the manual conversion to texinfo; yes, it's broken right now -2001-07-25 16:25 Will Estes +2001-07-25 Will Estes * AUTHORS, THANKS: copy in manual author and thanks info -2001-07-25 10:46 Will Estes +2001-07-25 Will Estes * Makefile.am: how to fake the ChangeLog into showing up in the distribution -2001-07-25 09:07 Will Estes +2001-07-25 Will Estes * Makefile.am: add YFLAGS so parse.h gets made -2001-07-24 16:23 Will Estes +2001-07-24 Will Estes - * examples/fastwc/: README, mywc.c, wc1.l, wc2.l, wc3.l, wc4.l, - wc5.l: re-add these files + * examples/fastwc/README, examples/fastwc/mywc.c, + examples/fastwc/wc1.l, examples/fastwc/wc2.l, + examples/fastwc/wc3.l, examples/fastwc/wc4.l, examples/fastwc/wc5.l: + re-add these files -2001-07-24 15:11 Will Estes +2001-07-24 Will Estes * TODO: reflect recent doings -2001-07-24 15:07 Will Estes +2001-07-24 Will Estes * Makefile.in: what with automake, we don't need Makefile.in any more -2001-07-24 15:06 Will Estes +2001-07-24 Will Estes * configure.in: more rearranging for automake -2001-07-24 15:04 Will Estes +2001-07-24 Will Estes * to.do/flex.rmail: more mail came in -2001-07-24 12:44 Will Estes +2001-07-24 Will Estes * autogen.sh: adjust to automake's idea of the world -2001-07-24 12:43 Will Estes +2001-07-24 Will Estes * Makefile.am: add Vern's misc dependencies; noinst_SCRIPTS was broken?; list a few last files to be included in the distribution -2001-07-24 10:48 Will Estes +2001-07-24 Will Estes * NEWS: rearrange for better order; add automake support as a news item -2001-07-24 10:38 Will Estes +2001-07-24 Will Estes * Makefile.am: copyright notice on Makefile.am; document some -D switches (are they still usable?) -2001-07-24 10:37 Will Estes +2001-07-24 Will Estes * TODO: add lex-replacement issue -2001-07-24 06:13 Will Estes +2001-07-24 Will Estes * Makefile.am: add EXTRA_DIST -2001-07-23 17:49 Will Estes +2001-07-23 Will Estes * autogen.sh: we need to do the same thing in each directory -2001-07-23 17:25 Will Estes +2001-07-23 Will Estes * configure.in: introduce automake into the macro calls -2001-07-23 17:06 Will Estes +2001-07-23 Will Estes - * Makefile.am: add AUTOMAKE_OPTIONS, info_TEXINFOS, - include_HEADERS, noinst_HEADERS; it's libfl.a, not libflex.a + * Makefile.am: add AUTOMAKE_OPTIONS, info_TEXINFOS, include_HEADERS, + noinst_HEADERS; it's libfl.a, not libflex.a -2001-07-23 16:16 Will Estes +2001-07-23 Will Estes * Makefile.am: bin_PROGRAMS and lib_LIBRARIES -2001-07-23 15:32 Will Estes +2001-07-23 Will Estes * to.do/streams.mail: streams.mail has moved here -2001-07-23 15:12 Will Estes +2001-07-23 Will Estes * TODO: add xref for teximanual -2001-07-19 10:27 Will Estes +2001-07-19 Will Estes * flex.1: include typo/punctuation fixes from a patch submitted by noon@cote-dazur.com (Fabrice Bauzac) -2001-07-17 14:40 Will Estes +2001-07-17 Will Estes * TODO: we want gettext -2001-06-24 19:45 Will Estes +2001-06-24 Will Estes * flex.skl: include c++ STD fixes from quanstro@quanstro.net -2001-06-24 18:33 Will Estes +2001-06-24 Will Estes * flex.skl, gen.c: change some int types to size_t as per FreeBSD 28364 from avn@any.ru -2001-06-24 18:31 Will Estes +2001-06-24 Will Estes * TODO: remove parse.[ch] from make clean target; repackage distribution (not rework) -2001-06-19 08:44 Will Estes +2001-06-19 Will Estes * TODO: add memory api and reworking of flex.skl reworking -2001-06-18 13:18 Will Estes +2001-06-18 Will Estes * flex.skl: remove extraneous notice from flex.skl -2001-06-18 08:49 Will Estes +2001-06-18 Will Estes * flex.skl: patch memory leak as per millaway -2001-06-17 15:23 Will Estes +2001-06-17 Will Estes * to.do/flex.rmail: add vern's ok for copyright/license changes and john's answer on line offsets -2001-06-17 15:18 Will Estes +2001-06-17 Will Estes * TODO: remove creation of .cvsignore files (it's done); add other notes about the test suite -2001-06-17 15:16 Will Estes +2001-06-17 Will Estes - * tests/: TEMPLATE/.cvsignore, test-basic-nr/.cvsignore, - test-basic-r/.cvsignore, test-bison-yylloc/.cvsignore, - test-bison-yylval/.cvsignore, test-include-by-buffer/.cvsignore, - test-include-by-reentrant/.cvsignore, test-prefix-nr/.cvsignore, - test-prefix-r/.cvsignore, test-pthread/.cvsignore, - test-string-nr/.cvsignore, test-string-r/.cvsignore, - test-yyextra/.cvsignore: adding .cvsignore files for existing - tests/ subdirectories + * tests/TEMPLATE/.cvsignore, tests/test-basic-nr/.cvsignore, + tests/test-basic-r/.cvsignore, tests/test-bison-yylloc/.cvsignore, + tests/test-bison-yylval/.cvsignore, + tests/test-include-by-buffer/.cvsignore, + tests/test-include-by-reentrant/.cvsignore, + tests/test-prefix-nr/.cvsignore, tests/test-prefix-r/.cvsignore, + tests/test-pthread/.cvsignore, tests/test-string-nr/.cvsignore, + tests/test-string-r/.cvsignore, tests/test-yyextra/.cvsignore: + adding .cvsignore files for existing tests/ subdirectories -2001-06-17 15:12 Will Estes +2001-06-17 Will Estes * tests/README: reformat, say to add a description to this file and mention what to do re .cvsignore -2001-06-17 15:09 Will Estes +2001-06-17 Will Estes * tests/TEMPLATE/cvsignore: create template for .cvsignore -2001-06-17 14:59 Will Estes +2001-06-17 Will Estes * TODO: reorganize for logical reasons; test suite now seems to run out of the box -2001-06-17 14:28 Will Estes +2001-06-17 Will Estes * tests/.cvsignore: we dont want the Makefile either -2001-06-17 13:40 Will Estes +2001-06-17 Will Estes - * tests/test-prefix-nr/test.input: test.input was supposed to be - here + * tests/test-prefix-nr/test.input, tests/test-prefix-r/test.input: + test.input was supposed to be here -2001-06-17 13:36 Will Estes - - * tests/test-prefix-r/test.input: test.input was supposed to be - here - -2001-06-17 13:18 Will Estes +2001-06-17 Will Estes * tests/.cvsignore: add autoconf legacy files to be ignored -2001-06-17 13:11 Will Estes +2001-06-17 Will Estes * autogen.sh: clarify usage instructions; prepare tests/ as well -2001-06-17 13:07 Will Estes +2001-06-17 Will Estes * tests/.cvsignore: . cvsignore for tests/ subdirectory -2001-06-17 13:01 Will Estes +2001-06-17 Will Estes * FlexLexer.h: tell emacs that FlexLexer.h is c++ -2001-06-17 13:00 Will Estes +2001-06-17 Will Estes * scan.l: tell emacs scan.l is in C mode -2001-06-17 12:59 Will Estes +2001-06-17 Will Estes * flex.skl: added punctuation -2001-06-17 12:17 Will Estes +2001-06-17 Will Estes * FlexLexer.h, Makefile.in, README, RoadMap, autogen.sh, ccl.c, configure.in, dfa.c, ecs.c, flex.1, flex.skl, flexdef.h, gen.c, @@ -4456,2984 +4929,2955 @@ scan.l, sym.c, tblcmp.c, yylex.c: change copyright/license notices as per Vern's response to Theo -2001-06-15 16:22 Will Estes +2001-06-15 Will Estes * to.do/flex.rmail: add bill fenlason's emails -2001-06-15 16:21 Will Estes +2001-06-15 Will Estes * COPYING: make changes as per Theo De Raadt; remove tabs -2001-06-08 08:42 Will Estes +2001-06-08 Will Estes * flex.skl: save errno as per Theo de Raadt -2001-06-07 08:44 Will Estes +2001-06-07 Will Estes * flex.1: correct hyphenation as per openbsd tree -2001-06-05 16:39 Will Estes +2001-06-05 Will Estes * Makefile.in, configure.in: change references to TESTS/ to tests/ to account for the directory name changes -2001-05-27 15:22 Will Estes +2001-05-27 Will Estes * flex.skl, gen.c: commit john millaway's YY_G wrapper corrections -2001-05-21 17:44 Will Estes +2001-05-21 Will Estes * tests/Makefile.in: remove || exit calls -2001-05-21 15:50 Will Estes +2001-05-21 Will Estes * gen.c: complete john millaway's reentrant patch -2001-05-21 13:23 Will Estes +2001-05-21 Will Estes * to.do/flex.rmail: more flex messages in the queue -2001-05-18 17:25 Will Estes +2001-05-18 Will Estes - * flex.skl, flexdef.h, gen.c, main.c, nfa.c, scan.l: john - millaway's reentrancy patch + * flex.skl, flexdef.h, gen.c, main.c, nfa.c, scan.l: john millaway's + reentrancy patch -2001-05-18 16:30 Will Estes +2001-05-18 Will Estes * tests/Makefile.in: remove || exit from testing loop -2001-05-18 16:27 Will Estes +2001-05-18 Will Estes * Makefile.in: tell make about the tests directory and its associated targets -2001-05-18 16:26 Will Estes +2001-05-18 Will Estes * TODO: rethink the todo list -2001-05-18 16:13 Will Estes +2001-05-18 Will Estes * flex.1: describe reentrant api changes -2001-05-18 16:10 Will Estes +2001-05-18 Will Estes * TODO: mention work needed for tests/ -2001-05-18 16:09 Will Estes +2001-05-18 Will Estes * configure.in: tell auto* about the test directory -2001-05-18 16:04 Will Estes +2001-05-18 Will Estes - * README: make punctuation uniform, mention the new tests/ - directory + * README: make punctuation uniform, mention the new tests/ directory -2001-05-18 16:02 Will Estes +2001-05-18 Will Estes * NEWS: reformat items; cut out old items and move them to ONEWS -2001-05-18 16:01 Will Estes +2001-05-18 Will Estes * ONEWS: move old NEWS items to ONEWS -2001-05-18 13:22 Will Estes +2001-05-18 Will Estes - * tests/: Makefile.in, README, configure.in, TEMPLATE/Makefile.in, - TEMPLATE/parser.y, TEMPLATE/scanner.l, TEMPLATE/test.input, - test-basic-nr/Makefile.in, test-basic-nr/scanner.l, - test-basic-nr/test.input, test-basic-r/Makefile.in, - test-basic-r/scanner.l, test-basic-r/test.input, - test-bison-yylloc/Makefile.in, test-bison-yylloc/parser.y, - test-bison-yylloc/scanner.l, test-bison-yylloc/test.input, - test-bison-yylval/Makefile.in, test-bison-yylval/parser.y, - test-bison-yylval/scanner.l, test-bison-yylval/test.input, - test-include-by-buffer/Makefile.in, - test-include-by-buffer/scanner.l, - test-include-by-buffer/test-1.input, - test-include-by-buffer/test-2.input, - test-include-by-buffer/test-3.input, - test-include-by-reentrant/Makefile.in, - test-include-by-reentrant/scanner.l, - test-include-by-reentrant/test-1.input, - test-include-by-reentrant/test-2.input, - test-include-by-reentrant/test-3.input, test-prefix-nr/Makefile.in, - test-prefix-nr/README, test-prefix-nr/scanner.l, - test-prefix-r/Makefile.in, test-prefix-r/README, - test-prefix-r/scanner.l, test-pthread/Makefile.in, - test-pthread/scanner.l, test-pthread/test-1.input, - test-pthread/test-2.input, test-pthread/test-3.input, - test-pthread/test-4.input, test-pthread/test-5.input, - test-string-nr/Makefile.in, test-string-nr/scanner.l, - test-string-r/Makefile.in, test-string-r/scanner.l, - test-yyextra/Makefile.in, test-yyextra/scanner.l, - test-yyextra/test.input: add john millaway's test directory + * tests/Makefile.in, tests/README, tests/TEMPLATE/Makefile.in, + tests/TEMPLATE/parser.y, tests/TEMPLATE/scanner.l, + tests/TEMPLATE/test.input, tests/configure.in, + tests/test-basic-nr/Makefile.in, tests/test-basic-nr/scanner.l, + tests/test-basic-nr/test.input, tests/test-basic-r/Makefile.in, + tests/test-basic-r/scanner.l, tests/test-basic-r/test.input, + tests/test-bison-yylloc/Makefile.in, + tests/test-bison-yylloc/parser.y, + tests/test-bison-yylloc/scanner.l, + tests/test-bison-yylloc/test.input, + tests/test-bison-yylval/Makefile.in, + tests/test-bison-yylval/parser.y, + tests/test-bison-yylval/scanner.l, + tests/test-bison-yylval/test.input, + tests/test-include-by-buffer/Makefile.in, + tests/test-include-by-buffer/scanner.l, + tests/test-include-by-buffer/test-1.input, + tests/test-include-by-buffer/test-2.input, + tests/test-include-by-buffer/test-3.input, + tests/test-include-by-reentrant/Makefile.in, + tests/test-include-by-reentrant/scanner.l, + tests/test-include-by-reentrant/test-1.input, + tests/test-include-by-reentrant/test-2.input, + tests/test-include-by-reentrant/test-3.input, + tests/test-prefix-nr/Makefile.in, tests/test-prefix-nr/README, + tests/test-prefix-nr/scanner.l, tests/test-prefix-r/Makefile.in, + tests/test-prefix-r/README, tests/test-prefix-r/scanner.l, + tests/test-pthread/Makefile.in, tests/test-pthread/scanner.l, + tests/test-pthread/test-1.input, tests/test-pthread/test-2.input, + tests/test-pthread/test-3.input, tests/test-pthread/test-4.input, + tests/test-pthread/test-5.input, tests/test-string-nr/Makefile.in, + tests/test-string-nr/scanner.l, tests/test-string-r/Makefile.in, + tests/test-string-r/scanner.l, tests/test-yyextra/Makefile.in, + tests/test-yyextra/scanner.l, tests/test-yyextra/test.input: add + john millaway's test directory -2001-05-04 16:04 Will Estes +2001-05-04 Will Estes * to.do/flex.rmail: more mail in flex.rmail -2001-05-03 15:05 Will Estes +2001-05-03 Will Estes * FlexLexer.h, ccl.c, dfa.c, ecs.c, flex.skl, flexdef.h, gen.c, libmain.c, libyywrap.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: remove extraneous rcs keywords -2001-05-03 14:54 Will Estes +2001-05-03 Will Estes * README: mention RoadMap -2001-05-01 16:47 Will Estes +2001-05-01 Will Estes - * examples/README, examples/debflex.awk, examples/testxxLexer.l, - examples/manual/ChangeLog, examples/manual/Makefile, - examples/manual/README, examples/manual/cat.lex, - examples/manual/dates.lex, examples/manual/datetest.dat, - examples/manual/eof_rules.lex, examples/manual/eof_test01.txt, - examples/manual/eof_test02.txt, examples/manual/eof_test03.txt, - examples/manual/expr.lex, examples/manual/expr.y, - examples/manual/front.lex, examples/manual/front.y, - examples/manual/j2t.lex, examples/manual/myname.lex, - examples/manual/myname.txt, examples/manual/myname2.lex, - examples/manual/numbers.lex, examples/manual/pas_include.lex, - examples/manual/pascal.lex, examples/manual/reject.lex, - examples/manual/replace.lex, examples/manual/string1.lex, - examples/manual/string2.lex, examples/manual/strtest.dat, - examples/manual/unput.lex, examples/manual/user_act.lex, - examples/manual/userinit.lex, examples/manual/wc.lex, - examples/manual/yymore.lex, examples/manual/yymore2.lex, - examples/manual/yymoretest.dat, to.do/README, to.do/Wilhelms.todo, + * examples/README, examples/debflex.awk, examples/manual/ChangeLog, + examples/manual/Makefile, examples/manual/README, + examples/manual/cat.lex, examples/manual/dates.lex, + examples/manual/datetest.dat, examples/manual/eof_rules.lex, + examples/manual/eof_test01.txt, examples/manual/eof_test02.txt, + examples/manual/eof_test03.txt, examples/manual/expr.lex, + examples/manual/expr.y, examples/manual/front.lex, + examples/manual/front.y, examples/manual/j2t.lex, + examples/manual/myname.lex, examples/manual/myname.txt, + examples/manual/myname2.lex, examples/manual/numbers.lex, + examples/manual/pas_include.lex, examples/manual/pascal.lex, + examples/manual/reject.lex, examples/manual/replace.lex, + examples/manual/string1.lex, examples/manual/string2.lex, + examples/manual/strtest.dat, examples/manual/unput.lex, + examples/manual/user_act.lex, examples/manual/userinit.lex, + examples/manual/wc.lex, examples/manual/yymore.lex, + examples/manual/yymore2.lex, examples/manual/yymoretest.dat, + examples/testxxLexer.l, to.do/README, to.do/Wilhelms.todo, to.do/Wish-List, to.do/flex.rmail, to.do/unicode/FlexLexer.h, to.do/unicode/ccl.c, to.do/unicode/changes.txt, to.do/unicode/ecs.c, to.do/unicode/flex.1, to.do/unicode/flex.skl, to.do/unicode/flexdef.h, to.do/unicode/gen.c, to.do/unicode/main.c, - to.do/unicode/misc.c, to.do/unicode/scan.l, to.do/unicode/tblcmp.c: + to.do/unicode/misc.c, to.do/unicode/scan.l, to.do/unicode/tblcmp.c: adding the rest of vern's files -2001-05-01 16:36 Will Estes +2001-05-01 Will Estes * README: mention misc/ directory -2001-05-01 16:32 Will Estes +2001-05-01 Will Estes * version.h: version is 2.5.5b -2001-05-01 16:30 Will Estes +2001-05-01 Will Estes * Makefile.in: remove header from top; add rule to generate initscan.c just in case -2001-05-01 16:28 Will Estes +2001-05-01 Will Estes * configure.in: dont check for initscan.c; check for scan.l instead -2001-05-01 15:12 Will Estes +2001-05-01 Will Estes * RoadMap: list of source files -2001-05-01 15:10 Will Estes +2001-05-01 Will Estes - * README: rewrite README to reflect changes in layout of - directories + * README: rewrite README to reflect changes in layout of directories -2001-05-01 15:08 Will Estes +2001-05-01 Will Estes * AUTHORS, THANKS, TODO: initial attempt at the files -2001-05-01 14:03 Will Estes +2001-05-01 Will Estes * COPYING: add 2001 copyright notice -2001-05-01 13:38 Will Estes +2001-05-01 Will Estes * autogen.sh: initial attempt at a bootstrap script for developers -2001-05-01 13:21 Will Estes +2001-05-01 Will Estes * flex.texi: texinfo manual, old contributed version -2000-08-21 12:39 Vern Paxson +2000-08-21 Vern Paxson * flex.1: fixed some bugs in examples of [[:...:]] ccls -2000-08-21 12:39 Vern Paxson +2000-08-21 Vern Paxson * version.h: version shipped to Dick King -2000-08-21 12:39 Vern Paxson +2000-08-21 Vern Paxson * flex.skl: explicit include of iostream.h -2000-08-21 12:38 Vern Paxson +2000-08-21 Vern Paxson * scan.l: if a newline is seen in , assume it terminates the string. -2000-08-21 12:38 Vern Paxson +2000-08-21 Vern Paxson * flexdef.h, sym.c: moved symbol table definitions from flexdef.h into sym.c -2000-08-21 12:37 Vern Paxson +2000-08-21 Vern Paxson * dfa.c: fixed underallocation for accset -1997-06-27 15:36 Vern Paxson +1997-06-27 Vern Paxson * COPYING: revised for rms -1997-06-23 15:48 Vern Paxson +1997-06-23 Vern Paxson * flex.skl: fixed memory leak -1997-06-23 15:48 Vern Paxson +1997-06-23 Vern Paxson * flex.1: input() doesn't destroy yytext -1997-06-23 15:48 Vern Paxson +1997-06-23 Vern Paxson * FlexLexer.h: wrapped with extern "C++" -1996-12-13 06:22 Vern Paxson +1996-12-13 Vern Paxson * flex.skl: use delete [] for yy_state_buf -1996-10-29 09:43 Vern Paxson +1996-10-29 Vern Paxson * flex.skl: fixed %option noinput -1996-10-29 09:39 Vern Paxson +1996-10-29 Vern Paxson * flex.skl: free(char*) fix ... Sigh ... -1996-10-11 11:33 Vern Paxson +1996-10-11 Vern Paxson * gen.c: bug fix for yymore()/yylineno interaction -1996-10-11 11:13 Vern Paxson +1996-10-11 Vern Paxson * gen.c: fixed memory leak -1996-09-10 13:10 Vern Paxson +1996-09-10 Vern Paxson * NEWS: release 2.5.4 -1996-09-10 12:59 Vern Paxson +1996-09-10 Vern Paxson * Makefile.in: more stuff for distclean -1996-09-10 12:58 Vern Paxson +1996-09-10 Vern Paxson * flex.skl: "str" -> "yy_str" -1996-09-10 12:58 Vern Paxson +1996-09-10 Vern Paxson * version.h: 2.5.4 -1996-07-02 12:35 Vern Paxson +1996-07-02 Vern Paxson * flex.skl: (attempted) fix for input() crossing a file boundary -1996-05-29 08:25 Vern Paxson +1996-05-29 Vern Paxson * NEWS: don't do Acorn diffs -1996-05-29 08:15 Vern Paxson +1996-05-29 Vern Paxson * NEWS: some minor additions for 2.5.3 -1996-05-29 08:02 Vern Paxson +1996-05-29 Vern Paxson - * NEWS: 2.5.3 + * NEWS, version.h: 2.5.3 -1996-05-29 07:59 Vern Paxson - - * version.h: 2.5.3 - -1996-05-25 17:02 Vern Paxson +1996-05-25 Vern Paxson * flex.skl: initialize yy_more_offset etc. for yyFlexLexer class -1996-05-25 16:54 Vern Paxson +1996-05-25 Vern Paxson * flex.skl: niggling cosmetic tweak -1996-05-25 16:44 Vern Paxson +1996-05-25 Vern Paxson * flex.skl: bug fixes for yymore (especially with %array) -1996-05-25 16:43 Vern Paxson +1996-05-25 Vern Paxson * gen.c: yymore + %array tweaks -1996-05-25 16:43 Vern Paxson +1996-05-25 Vern Paxson * FlexLexer.h: added yy_{,prev_}more_offset -1996-05-25 16:42 Vern Paxson +1996-05-25 Vern Paxson * main.c: removed decl of unused library function -1996-05-25 11:26 Vern Paxson +1996-05-25 Vern Paxson * flex.skl: snapshot of cscope yymore fixes, prior to switching yymore-on-%array approach -1995-12-18 09:20 Vern Paxson +1995-12-18 Vern Paxson * gen.c: don't stack states on NUL-transitions that are jams -1995-09-27 08:47 Vern Paxson +1995-09-27 Vern Paxson * libmain.c: fixed re Esmond Pitt's ancient suggestion -1995-04-28 07:39 Vern Paxson +1995-04-28 Vern Paxson * misc.c: ANSI C / Solaris tweak -1995-04-24 09:26 Vern Paxson +1995-04-24 Vern Paxson * flex.1: credits -1995-04-24 09:26 Vern Paxson +1995-04-24 Vern Paxson * NEWS: multiple FlexLexer.h includes -1995-04-24 09:25 Vern Paxson +1995-04-24 Vern Paxson * FlexLexer.h: fix multiple inclusions -1995-04-24 08:17 Vern Paxson +1995-04-24 Vern Paxson * scan.l: lint tweak -1995-04-24 07:39 Vern Paxson +1995-04-24 Vern Paxson * flex.1: typo fixed -1995-04-24 06:49 Vern Paxson +1995-04-24 Vern Paxson * flex.1: credits update -1995-04-24 06:48 Vern Paxson +1995-04-24 Vern Paxson * flex.skl: (char*) cast for realloc -1995-04-24 06:46 Vern Paxson +1995-04-24 Vern Paxson * NEWS: (char*) tweak -1995-04-21 07:53 Vern Paxson +1995-04-21 Vern Paxson * NEWS: VMS update for 2.5.2 -1995-04-21 07:53 Vern Paxson +1995-04-21 Vern Paxson * Makefile.in: clarify when 8-bit scanners are created by default, vs. 7-bit -1995-04-21 07:51 Vern Paxson +1995-04-21 Vern Paxson * parse.y: reworked alloca() chud, from Francois -1995-04-20 09:57 Vern Paxson +1995-04-20 Vern Paxson * NEWS, version.h: 2.5.2 -1995-04-20 09:57 Vern Paxson +1995-04-20 Vern Paxson * flex.1: 2.5.2 update -1995-04-20 09:53 Vern Paxson +1995-04-20 Vern Paxson * dfa.c, main.c: const -> yyconst -1995-04-20 09:34 Vern Paxson +1995-04-20 Vern Paxson * Makefile.in: fixed some old libfl.a references -1995-04-20 09:09 Vern Paxson +1995-04-20 Vern Paxson * Makefile.in: some (but not all) of Francois' tweaks -1995-04-20 09:08 Vern Paxson +1995-04-20 Vern Paxson * configure.in: tweaks from Francois -1995-04-20 08:46 Vern Paxson +1995-04-20 Vern Paxson * flex.skl: yy_delete_buffer allows nil buffer pointer -1995-04-20 08:43 Vern Paxson +1995-04-20 Vern Paxson * main.c: do_stdinit now defaults to false -1995-04-20 08:43 Vern Paxson +1995-04-20 Vern Paxson * FlexLexer.h: remove first default for yylex(new_in, new_out) -1995-04-20 08:42 Vern Paxson +1995-04-20 Vern Paxson * flex.skl: rearrange some definitions; fix YY_NO_UNPUT -1995-04-20 08:42 Vern Paxson +1995-04-20 Vern Paxson * parse.y: more alloca() bullshit -1995-04-20 07:35 Vern Paxson +1995-04-20 Vern Paxson * misc.c: octal escape sequence must have just digits 0-7 -1995-04-20 07:35 Vern Paxson +1995-04-20 Vern Paxson * scan.l: '-' means stdin octal escape sequence must just be digits 0-7 -1995-04-20 07:34 Vern Paxson +1995-04-20 Vern Paxson * main.c: -- terminates options -1995-04-20 07:17 Vern Paxson +1995-04-20 Vern Paxson * flexdef.h: added dataflush() prototype -1995-04-20 07:17 Vern Paxson +1995-04-20 Vern Paxson * misc.c: move dataflush, otoi prototypes into flexdef.h -1995-04-20 07:17 Vern Paxson +1995-04-20 Vern Paxson - * gen.c, flex.skl: const -> yyconst + * flex.skl, gen.c: const -> yyconst -1995-04-20 06:55 Vern Paxson +1995-04-20 Vern Paxson * gen.c: fixed bug in needing yy_cp for -Cf w/ backing up -1995-03-28 05:29 Vern Paxson +1995-03-28 Vern Paxson - * flex.1, README: Stan Adermann credit + * README, flex.1: Stan Adermann credit -1995-03-27 09:38 Vern Paxson +1995-03-27 Vern Paxson * README: beta-tester update -1995-03-27 09:38 Vern Paxson +1995-03-27 Vern Paxson * NEWS, version.h: 2.5.1 -1995-03-27 09:37 Vern Paxson +1995-03-27 Vern Paxson * flex.1: update date for 2.5.1 release, some feedbacker credits -1995-03-27 09:36 Vern Paxson +1995-03-27 Vern Paxson * gen.c: fixed lint problem with declaring yy_cp unnecessarily -1995-03-27 09:35 Vern Paxson +1995-03-27 Vern Paxson * dfa.c: {}'s around full-table initializations -1995-03-21 09:35 Vern Paxson +1995-03-21 Vern Paxson * README: for version 2.5 -1995-03-21 09:13 Vern Paxson +1995-03-21 Vern Paxson * flex.1: added note regarding yylineno should be maintained on a per-buffer basis -1995-03-21 09:12 Vern Paxson +1995-03-21 Vern Paxson * NEWS: new C++ member functions -1995-03-21 08:44 Vern Paxson +1995-03-21 Vern Paxson - * flex.1, NEWS: 2.5.0.8 update + * NEWS, flex.1: 2.5.0.8 update -1995-03-21 08:44 Vern Paxson +1995-03-21 Vern Paxson * main.c: rename yylineno if -P -1995-03-20 09:03 Vern Paxson +1995-03-20 Vern Paxson * flexdef.h: do_yylineno MARKER_DIFFERENCE depends on MAXIMUM_MNS -1995-03-20 09:02 Vern Paxson +1995-03-20 Vern Paxson * Makefile.in: removed redundant skel.c from DISTFILES -1995-03-20 09:02 Vern Paxson +1995-03-20 Vern Paxson * FlexLexer.h: debug(), setdebug(), lineno() -1995-03-20 09:02 Vern Paxson +1995-03-20 Vern Paxson * flex.skl: %option yylineno support -1995-03-20 09:02 Vern Paxson +1995-03-20 Vern Paxson * gen.c: read up to newline for interactive reads, rather than one char -1995-03-20 09:01 Vern Paxson +1995-03-20 Vern Paxson - * scan.l, main.c: added %option yylineno + * main.c, scan.l: added %option yylineno -1995-03-18 04:27 Vern Paxson +1995-03-18 Vern Paxson * gen.c: added do_yylineno -1995-03-06 10:53 Vern Paxson +1995-03-06 Vern Paxson - * flex.1, NEWS: 2.5.0.7 + * NEWS, flex.1: 2.5.0.7 -1995-03-05 16:37 Vern Paxson +1995-03-05 Vern Paxson * Makefile.in: realclean -> maintainer-clean -1995-03-05 16:35 Vern Paxson +1995-03-05 Vern Paxson * flex.skl: Added yy_flush_buffer -1995-03-05 16:35 Vern Paxson +1995-03-05 Vern Paxson * FlexLexer.h: added yy_flush_buffer -1995-03-05 16:35 Vern Paxson +1995-03-05 Vern Paxson * main.c: prefix support for yy_flush_buffer -1995-03-05 15:37 Vern Paxson +1995-03-05 Vern Paxson * parse.y: added %option yyclass -1995-03-05 15:37 Vern Paxson +1995-03-05 Vern Paxson - * scan.l, flexdef.h, main.c: added yyclass + * flexdef.h, main.c, scan.l: added yyclass -1995-03-05 11:50 Vern Paxson +1995-03-05 Vern Paxson * FlexLexer.h: Added switch_streams -1995-03-05 11:50 Vern Paxson +1995-03-05 Vern Paxson * flex.skl: added switch_streams -1995-03-05 11:37 Vern Paxson +1995-03-05 Vern Paxson * main.c: don't rename yy_flex_debug for C++ -1995-03-05 11:37 Vern Paxson +1995-03-05 Vern Paxson * gen.c: yy_flex_debug extern only if not C++ -1995-03-05 11:37 Vern Paxson +1995-03-05 Vern Paxson * FlexLexer.h: added yy_flex_debug member variable -1995-03-05 11:36 Vern Paxson +1995-03-05 Vern Paxson * flex.skl: yyFlexLexer initialization of yy_flex_debug -1995-03-04 13:06 Vern Paxson +1995-03-04 Vern Paxson * flexdef.h, main.c: VMS POSIX stuff -1995-03-04 11:36 Vern Paxson +1995-03-04 Vern Paxson * flex.skl: moved position of yy_init = 0 -1995-03-04 11:15 Vern Paxson +1995-03-04 Vern Paxson * flex.skl: added YY_EXIT_FAILURE -1995-03-04 11:14 Vern Paxson +1995-03-04 Vern Paxson * main.c: removed VMS-specific exit -1995-03-04 11:09 Vern Paxson +1995-03-04 Vern Paxson - * flexdef.h, dfa.c, yylex.c, sym.c, scan.l, nfa.c, misc.c, gen.c, - main.c: internationalization aids + * dfa.c, flexdef.h, gen.c, main.c, misc.c, nfa.c, scan.l, sym.c, + yylex.c: internationalization aids -1995-03-04 11:07 Vern Paxson +1995-03-04 Vern Paxson * main.c: do yy_flex_debug prefix for both C++ and C -1995-02-06 04:38 Vern Paxson +1995-02-06 Vern Paxson * main.c: fixed program_name tweak again -1995-01-11 06:00 Vern Paxson +1995-01-11 Vern Paxson * main.c: oops, fixed program_name tweak -1995-01-11 05:53 Vern Paxson +1995-01-11 Vern Paxson * main.c: program_name is "flex" if argv[0] nil -1995-01-10 05:43 Vern Paxson +1995-01-10 Vern Paxson * NEWS: 2.5.0.5 -1995-01-10 05:43 Vern Paxson +1995-01-10 Vern Paxson * flex.1: Documented YY_NUM_RULES -1995-01-10 05:42 Vern Paxson +1995-01-10 Vern Paxson * Makefile.in: added formatted man page to MISC -1995-01-10 05:42 Vern Paxson +1995-01-10 Vern Paxson * main.c: help messages to stdout -1995-01-09 17:05 Vern Paxson +1995-01-09 Vern Paxson * gen.c: Added YY_NUM_RULES -1995-01-09 16:02 Vern Paxson +1995-01-09 Vern Paxson * flex.skl: better fix for #pragma problem -1995-01-09 16:02 Vern Paxson +1995-01-09 Vern Paxson * flexdef.h: better fix for #pragma portability problem -1995-01-09 07:54 Vern Paxson +1995-01-09 Vern Paxson * misc.c: "# line" -> #line -1995-01-09 07:41 Vern Paxson +1995-01-09 Vern Paxson * flex.skl, flexdef.h: comment out Turbo C #pragma's -1995-01-09 07:35 Vern Paxson +1995-01-09 Vern Paxson * scan.l: reset linenum on new file -1995-01-09 07:13 Vern Paxson +1995-01-09 Vern Paxson * flex.skl: isatty() extern -1995-01-09 07:13 Vern Paxson +1995-01-09 Vern Paxson * NEWS, flex.1: 2.5.0.4 -1995-01-09 07:12 Vern Paxson +1995-01-09 Vern Paxson * main.c: long options, VMS tweaks -1995-01-09 07:12 Vern Paxson +1995-01-09 Vern Paxson * Makefile.in: Added parse.c, parse.h for dist MISC directory -1995-01-09 07:11 Vern Paxson +1995-01-09 Vern Paxson * flexdef.h: some "const" cleansing -1995-01-09 07:11 Vern Paxson +1995-01-09 Vern Paxson * mkskel.sh: skel[] is now const -1995-01-09 07:11 Vern Paxson +1995-01-09 Vern Paxson * misc.c: some const cleansing -1995-01-09 07:10 Vern Paxson +1995-01-09 Vern Paxson * scan.l: #line in section 1 -1995-01-05 17:04 Vern Paxson +1995-01-05 Vern Paxson * sym.c: preen -1994-12-29 10:58 Vern Paxson +1994-12-29 Vern Paxson * configure.in: config.h from conf.in -1994-12-29 10:58 Vern Paxson +1994-12-29 Vern Paxson * flexdef.h: for VMS, delete -> remove -1994-12-29 10:57 Vern Paxson +1994-12-29 Vern Paxson * Makefile.in: config.h.in -> conf.in rm config.h on distclean -1994-12-29 10:57 Vern Paxson +1994-12-29 Vern Paxson * main.c: stdinit tweaks -1994-12-29 10:48 Vern Paxson +1994-12-29 Vern Paxson * scan.l: added nostdinit -1994-12-28 13:47 Vern Paxson +1994-12-28 Vern Paxson * NEWS: added MS-DOS note for 2.5.0.2 -1994-12-28 13:16 Vern Paxson +1994-12-28 Vern Paxson * flex.1: typos, tweaks -1994-12-28 10:40 Vern Paxson +1994-12-28 Vern Paxson * Makefile.in: removed flexdoc -1994-12-28 10:35 Vern Paxson +1994-12-28 Vern Paxson * flex.1: flexdoc/flex merge -1994-12-28 08:50 Vern Paxson +1994-12-28 Vern Paxson * flex.1: typos -1994-12-28 08:45 Vern Paxson +1994-12-28 Vern Paxson * NEWS: typo -1994-12-28 08:42 Vern Paxson +1994-12-28 Vern Paxson * flex.1: 2.5 update -1994-12-28 08:41 Vern Paxson +1994-12-28 Vern Paxson * NEWS: 2.5.0.2 -1994-12-28 06:55 Vern Paxson +1994-12-28 Vern Paxson * scan.l: fixed sense of %option main implying %option noyywrap -1994-12-28 06:54 Vern Paxson +1994-12-28 Vern Paxson * flex.skl: YY_FLEX_{MAJOR,MINOR}_VERSION fixed bug in unput trashing yytext even with %array -1994-12-17 17:08 Vern Paxson +1994-12-17 Vern Paxson * flex.1: prior to 2.5 update -1994-12-17 13:41 Vern Paxson +1994-12-17 Vern Paxson * main.c: C++/-P fixes -1994-12-17 13:40 Vern Paxson +1994-12-17 Vern Paxson * FlexLexer.h: -P fixes constructor, destructor moved to flex.skl -1994-12-17 13:40 Vern Paxson +1994-12-17 Vern Paxson * flex.skl: YY_SKIP_YYWRAP yyFlexLexer constructor, destructor -1994-12-15 09:34 Vern Paxson +1994-12-15 Vern Paxson * gen.c: formatting -1994-12-15 09:30 Vern Paxson +1994-12-15 Vern Paxson * gen.c: fixed bug in adjusting yytext before backing up -1994-12-10 17:24 Vern Paxson +1994-12-10 Vern Paxson * scan.l: switched scanner itself over to [:xxx:] -1994-12-10 12:53 Vern Paxson +1994-12-10 Vern Paxson * flex.skl: added YY_FLEX_VERSION -1994-12-10 12:53 Vern Paxson +1994-12-10 Vern Paxson * scan.l: Fixed CCL-match pattern for [:whatever:] -1994-12-10 12:52 Vern Paxson +1994-12-10 Vern Paxson * parse.y: treat [:upper:] as [:lower:] if -i -1994-12-06 16:59 Vern Paxson +1994-12-06 Vern Paxson * NEWS: 2.5.0.1 -1994-12-06 16:28 Vern Paxson +1994-12-06 Vern Paxson * flex.skl, gen.c: input() maintains BOL -1994-12-06 16:20 Vern Paxson +1994-12-06 Vern Paxson * flex.skl: check size of buffer in yy_scan_buffer -1994-12-06 16:08 Vern Paxson +1994-12-06 Vern Paxson * flex.skl: added %option main, fixed missing %* -1994-12-06 16:08 Vern Paxson +1994-12-06 Vern Paxson * parse.y: added ccl exprs -1994-12-06 16:07 Vern Paxson +1994-12-06 Vern Paxson * scan.l: added ccl exprs, %option main -1994-12-06 16:07 Vern Paxson +1994-12-06 Vern Paxson * yylex.c: added %options, ccl exprs -1994-12-05 16:18 Vern Paxson +1994-12-05 Vern Paxson * misc.c: undid previous change -1994-12-04 10:30 Vern Paxson +1994-12-04 Vern Paxson * Makefile.in: Makefile.in from srcdir -1994-12-04 04:14 Vern Paxson +1994-12-04 Vern Paxson * Makefile.in: added skel.c to DISTFILES -1994-12-04 03:56 Vern Paxson +1994-12-04 Vern Paxson * flex.skl: added YYSTATE alias -1994-12-04 03:28 Vern Paxson +1994-12-04 Vern Paxson * scan.l: NL is now \r?\n -1994-12-04 03:28 Vern Paxson +1994-12-04 Vern Paxson * gen.c: use cerr for C++ diagnostics -1994-12-03 15:16 Vern Paxson +1994-12-03 Vern Paxson * flex.skl: undid YY_UNIX_NEWLINE -1994-12-03 08:44 Vern Paxson +1994-12-03 Vern Paxson * flexdef.h: STDC_HEADERS to check for stdlib -1994-12-03 08:43 Vern Paxson +1994-12-03 Vern Paxson * configure.in: AC_STDC_HEADERS -> AC_HEADER_STDC -1994-12-03 08:43 Vern Paxson +1994-12-03 Vern Paxson * misc.c: \n -> '\012' -1994-12-03 07:20 Vern Paxson +1994-12-03 Vern Paxson * flex.skl: Added YY_UNIX_NEWLINE -1994-12-03 06:29 Vern Paxson +1994-12-03 Vern Paxson * flex.skl: BOL changes -1994-12-03 06:29 Vern Paxson +1994-12-03 Vern Paxson * dfa.c: fixed bug with caseins but not ecs -1994-12-03 06:27 Vern Paxson +1994-12-03 Vern Paxson * gen.c: BOL changes some casts for Turbo C -1994-12-03 06:27 Vern Paxson +1994-12-03 Vern Paxson * main.c: messages identify filenames -1994-12-03 06:26 Vern Paxson +1994-12-03 Vern Paxson * misc.c: Increase slowly if realloc double overflows -1994-12-03 06:26 Vern Paxson +1994-12-03 Vern Paxson * nfa.c: YY_RULE_SETUP -1994-12-03 06:26 Vern Paxson +1994-12-03 Vern Paxson * scan.l: Added yy_XX_state %option's Added yy_set_bol -1994-11-29 11:14 Vern Paxson +1994-11-29 Vern Paxson * Makefile.in: don't remove ~ files -1994-11-24 11:50 Vern Paxson +1994-11-24 Vern Paxson * Makefile.in: get CFLAGS from autoconf -1994-11-24 11:42 Vern Paxson +1994-11-24 Vern Paxson - * dfa.c, flex.skl, flexdef.h, gen.c, misc.c, parse.y, scan.l, - sym.c: Brian Madsen's tweaks for Borland + * dfa.c, flex.skl, flexdef.h, gen.c, misc.c, parse.y, scan.l, sym.c: + Brian Madsen's tweaks for Borland -1994-11-24 10:50 Vern Paxson +1994-11-24 Vern Paxson * version.h: 2.5.0 -1994-11-24 10:50 Vern Paxson +1994-11-24 Vern Paxson * flexdef.h: Added do_stdinit -1994-11-24 10:49 Vern Paxson +1994-11-24 Vern Paxson * FlexLexer.h: Added yy_delete_buffer() in destructor -1994-11-24 10:48 Vern Paxson +1994-11-24 Vern Paxson * flex.skl: Added yy_set_interactive, YY_ALWAYS_INTERACTIVE, - YY_NEVER_INTERACTIVE, YY_NO_INPUT, YY_NO_UNPUT, YY_NO_*_STATE + YY_NEVER_INTERACTIVE, YY_NO_INPUT, YY_NO_UNPUT, YY_NO_*_STATE -1994-11-24 10:48 Vern Paxson +1994-11-24 Vern Paxson * main.c: Added do_stdinit, Think C hacks -1994-11-24 10:47 Vern Paxson +1994-11-24 Vern Paxson * scan.l: Added %options for input, always-interactive, never-interactive, yy_scan_{buffer,bytes,string} -1994-11-05 12:13 Vern Paxson +1994-11-05 Vern Paxson * flex.skl: size_t #ifdef's for not compiling some statics -1994-11-05 12:13 Vern Paxson +1994-11-05 Vern Paxson * Makefile.in: $(FLEX) config.h -1994-11-05 12:11 Vern Paxson +1994-11-05 Vern Paxson * configure.in: config.h, size_t, malloc.h, sys/types.h -1994-11-05 12:10 Vern Paxson +1994-11-05 Vern Paxson * flexdef.h: config.h, size_t -1994-11-05 12:10 Vern Paxson +1994-11-05 Vern Paxson * main.c: yywrap option, no stdin/out init for VMS, mundane tweaks -1994-11-05 12:09 Vern Paxson +1994-11-05 Vern Paxson * parse.y: alloca, lint tweaks -1994-11-05 12:09 Vern Paxson +1994-11-05 Vern Paxson * scan.l: %option yywrap size_t tweaks -1994-11-05 12:08 Vern Paxson +1994-11-05 Vern Paxson * tblcmp.c: size_t tweaks -1994-11-05 12:08 Vern Paxson +1994-11-05 Vern Paxson * misc.c: size_t, STDC tweaks -1994-11-05 10:17 Vern Paxson +1994-11-05 Vern Paxson * flex.skl: Added yy_scan_{buffer,bytes,string}, plus tweaks -1994-10-12 17:13 Vern Paxson +1994-10-12 Vern Paxson * flex.skl: made stack code conditional on "stack" option -1994-10-12 17:13 Vern Paxson +1994-10-12 Vern Paxson * scan.l: added use of "stack" %option -1994-08-03 07:38 Vern Paxson +1994-08-03 Vern Paxson * gen.c: Fixed fencepost in call to yy_flex_strncpy -1994-07-25 18:05 Vern Paxson +1994-07-25 Vern Paxson * flex.skl: yy_eof_status -> yy_buffer_status -1994-07-25 17:22 Vern Paxson +1994-07-25 Vern Paxson * flex.skl: yy_flex_strcpy -> yy_flex_strncpy minor prototype tweak -1994-07-25 17:21 Vern Paxson +1994-07-25 Vern Paxson * gen.c: Bug fix for matching NUL's at end of token when interactive. yy_flex_strcpy -> yy_flex_strncpy -1994-07-25 16:49 Vern Paxson +1994-07-25 Vern Paxson * nfa.c: No YY_USER_ACTION if continued action -1994-03-16 07:18 Vern Paxson +1994-03-16 Vern Paxson * flex.skl: Added fix for 8-bit chars returned by input() -1994-03-16 07:09 Vern Paxson +1994-03-16 Vern Paxson * flex.skl: Move definition of yy_flex_strcpy to come after #define of yytext_ptr -1994-01-08 05:17 Vern Paxson +1994-01-08 Vern Paxson * mkskel.sh: flex.skel -> flex.skl -1994-01-08 05:13 Vern Paxson +1994-01-08 Vern Paxson * mkskel.sh: Initial revision -1993-12-29 12:09 Vern Paxson +1993-12-29 Vern Paxson * Makefile.in: Fixed scan.c target so "make" detects flex failure -1993-12-27 10:14 Vern Paxson +1993-12-27 Vern Paxson * scan.l: Added %option's -1993-12-27 09:57 Vern Paxson +1993-12-27 Vern Paxson * Makefile.in: Nuked FLEX_FLAGS that are now done using %option -1993-12-27 09:41 Vern Paxson +1993-12-27 Vern Paxson * parse.y, scan.l: %option -1993-12-27 09:41 Vern Paxson +1993-12-27 Vern Paxson * main.c: Reworked for %option -1993-12-27 09:40 Vern Paxson +1993-12-27 Vern Paxson * flexdef.h: Added "unspecified", globals for %option -1993-12-27 09:40 Vern Paxson +1993-12-27 Vern Paxson * sym.c: start condition #define's go to action file -1993-12-27 09:40 Vern Paxson +1993-12-27 Vern Paxson * misc.c: Added action_define() -1993-12-27 05:59 Vern Paxson +1993-12-27 Vern Paxson * scan.l: Minor consolidation using scon scopes etc -1993-12-27 05:36 Vern Paxson +1993-12-27 Vern Paxson * scan.l: Modified to use scon scopes -1993-12-27 05:20 Vern Paxson +1993-12-27 Vern Paxson * scan.l: indented rules -1993-12-26 17:22 Vern Paxson +1993-12-26 Vern Paxson * parse.y: Added scon_stk stuff, format_warn -1993-12-26 17:22 Vern Paxson +1993-12-26 Vern Paxson * flexdef.h: Added format_warn -1993-12-26 10:04 Vern Paxson +1993-12-26 Vern Paxson * parse.y: Working checkpoint prior to adding { stuff -1993-12-26 10:04 Vern Paxson +1993-12-26 Vern Paxson - * main.c, flexdef.h: Added in_rule, deleted actvsc + * flexdef.h, main.c: Added in_rule, deleted actvsc -1993-12-26 10:03 Vern Paxson +1993-12-26 Vern Paxson * misc.c: Added doubling of '\'s in filenames -1993-12-26 10:02 Vern Paxson +1993-12-26 Vern Paxson * scan.l: Added in_rule, doing_rule_action -1993-12-26 10:02 Vern Paxson +1993-12-26 Vern Paxson * sym.c: Removed actvsc -1993-12-23 15:44 Vern Paxson +1993-12-23 Vern Paxson * flex.1: -ooutput #line directives credits -1993-12-23 15:43 Vern Paxson +1993-12-23 Vern Paxson * flex.skl: Fixsed sense of test for %array -1993-12-23 15:42 Vern Paxson +1993-12-23 Vern Paxson * NEWS: 2.5.0 snapshot for Craig -1993-12-23 15:41 Vern Paxson +1993-12-23 Vern Paxson * parse.y: Added beginnings of { ... } -1993-12-23 15:41 Vern Paxson +1993-12-23 Vern Paxson * scan.l: Simplified scanning {}'s -1993-12-20 04:41 Vern Paxson +1993-12-20 Vern Paxson * flexdef.h: Added -1993-12-17 05:31 Vern Paxson +1993-12-17 Vern Paxson * flex.skl: prototypes for alloc/string routines -1993-12-17 05:06 Vern Paxson +1993-12-17 Vern Paxson * flex.skl: alloc, string routines internal -1993-12-17 05:05 Vern Paxson +1993-12-17 Vern Paxson * Makefile.in: Nuked lib{string,alloc}.c, added dependency of yylex.o on parse.h -1993-12-17 05:05 Vern Paxson +1993-12-17 Vern Paxson * configure.in: Check for string.h -1993-12-17 05:04 Vern Paxson +1993-12-17 Vern Paxson * flexdef.h: Use autoconf for string/strings.h yy_flex_XXX -> flex_XXX -1993-12-17 05:04 Vern Paxson +1993-12-17 Vern Paxson * scan.l: Added flex_XXX -> yy_flex_XXX wrappers -1993-12-17 05:04 Vern Paxson +1993-12-17 Vern Paxson - * sym.c, misc.c, dfa.c: yy_flex_XXX -> flex_XXX + * dfa.c, misc.c, sym.c: yy_flex_XXX -> flex_XXX -1993-12-17 05:03 Vern Paxson +1993-12-17 Vern Paxson * yylex.c: No more WHITESPACE token -1993-12-16 15:46 Vern Paxson +1993-12-16 Vern Paxson - * flex.skl, FlexLexer.h: Added yy_top_state() + * FlexLexer.h, flex.skl: Added yy_top_state() -1993-12-16 15:44 Vern Paxson +1993-12-16 Vern Paxson * scan.l: simplified comment-scanning using push/pop states -1993-12-16 15:44 Vern Paxson +1993-12-16 Vern Paxson * parse.y: removed crufty WHITESPACE token, some uses of '\n' token -1993-12-15 05:23 Vern Paxson +1993-12-15 Vern Paxson * FlexLexer.h: start stack, extern "C++" moved -1993-12-15 05:23 Vern Paxson +1993-12-15 Vern Paxson * dfa.c: Bug fix for -CF -1993-12-15 05:23 Vern Paxson +1993-12-15 Vern Paxson * flexdef.h, misc.c: alloc routines take unsigned -1993-12-15 05:23 Vern Paxson +1993-12-15 Vern Paxson * flex.skl: start-state stacks, alloc routines take unsigned -1993-12-15 05:08 Vern Paxson +1993-12-15 Vern Paxson * flexdef.h, misc.c: bracket -CF table elements -1993-12-13 07:33 Vern Paxson +1993-12-13 Vern Paxson * misc.c: Do #bytes computation in {re,}allocate_array() only once -1993-12-11 12:06 Vern Paxson +1993-12-11 Vern Paxson - * flexdef.h, gen.c, main.c, misc.c, scan.l, flex.skl, sym.c: + * flex.skl, flexdef.h, gen.c, main.c, misc.c, scan.l, sym.c: yy_str*() -> str*() -1993-12-11 09:40 Vern Paxson +1993-12-11 Vern Paxson * Makefile.in, dfa.c, flexdef.h, gen.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c: -o option -1993-12-11 06:09 Vern Paxson +1993-12-11 Vern Paxson * gen.c: lint tweak -1993-12-11 06:00 Vern Paxson +1993-12-11 Vern Paxson * NEWS: Expanded on extern "C++" news item -1993-12-11 05:58 Vern Paxson +1993-12-11 Vern Paxson * NEWS: 2.4.5 -1993-12-11 05:56 Vern Paxson +1993-12-11 Vern Paxson * flex.skl: Added yy_fill_buffer -1993-12-11 05:56 Vern Paxson +1993-12-11 Vern Paxson * gen.c: is_interactive -> yy_is_interactive -1993-12-11 05:34 Vern Paxson +1993-12-11 Vern Paxson * flex.1: Updated credits -1993-12-11 05:33 Vern Paxson +1993-12-11 Vern Paxson * Makefile.in: Fixed typo in "uninstall" target -1993-12-11 05:33 Vern Paxson +1993-12-11 Vern Paxson * gen.c: Updated comment regarding 0-based vs. 1-based arrays for -CF. -1993-12-11 05:30 Vern Paxson +1993-12-11 Vern Paxson * dfa.c: Initialize dfaacc[0] for -CF representation Fixed minor memory leak -1993-12-11 05:29 Vern Paxson +1993-12-11 Vern Paxson * main.c: #include "FlexLexer.h" -> -1993-12-11 05:27 Vern Paxson +1993-12-11 Vern Paxson * FlexLexer.h: Added extern "C++" wrapper -1993-12-09 08:58 Vern Paxson +1993-12-09 Vern Paxson * main.c: Detect REJECT etc. before generating YY_USES_REJECT! -1993-12-09 08:58 Vern Paxson +1993-12-09 Vern Paxson * gen.c: Fixed bug in interactive reads where char is unsigned -1993-12-09 08:57 Vern Paxson +1993-12-09 Vern Paxson * parse.y: Fixed bug in treating '$' as variable trailing context -1993-12-09 08:57 Vern Paxson +1993-12-09 Vern Paxson * version.h: 2.4.5 -1993-12-07 08:08 Vern Paxson +1993-12-07 Vern Paxson * README: pretester update -1993-12-07 06:16 Vern Paxson +1993-12-07 Vern Paxson * NEWS: 2.4.4 -1993-12-07 06:15 Vern Paxson +1993-12-07 Vern Paxson * flex.1: LexError(), C++ experiment warning, credits -1993-12-07 06:11 Vern Paxson +1993-12-07 Vern Paxson * scan.l: Fixed 8-bit bug -1993-12-07 06:10 Vern Paxson +1993-12-07 Vern Paxson - * gen.c, flex.skl: Fixed nasty 8-bit bugs + * flex.skl, gen.c: Fixed nasty 8-bit bugs -1993-12-07 05:18 Vern Paxson +1993-12-07 Vern Paxson - * dfa.c, ecs.c, flexdef.h, gen.c, main.c, nfa.c, tblcmp.c: + * dfa.c, ecs.c, flexdef.h, gen.c, main.c, nfa.c, tblcmp.c: {min,max,abs} -> {MIN,MAX,ABS} -1993-12-07 05:11 Vern Paxson +1993-12-07 Vern Paxson * FlexLexer.h, flex.skl: Support for yyFlexLexer::LexerError -1993-12-06 04:43 Vern Paxson +1993-12-06 Vern Paxson * version.h: 2.4.4 -1993-12-05 12:11 Vern Paxson +1993-12-05 Vern Paxson * flex.1: credits update -1993-12-05 12:08 Vern Paxson +1993-12-05 Vern Paxson * Makefile.in: very minor "install" tweaks -1993-12-05 12:07 Vern Paxson +1993-12-05 Vern Paxson * flex.skl, nfa.c: YY_USER_ACTION generated now for each case in action switch -1993-12-04 17:02 Vern Paxson +1993-12-04 Vern Paxson * flex.skl: Fixed bug in pointing yyin at a new file and resuming scanning -1993-12-03 17:45 Vern Paxson +1993-12-03 Vern Paxson * NEWS: Added note regarding g++ 2.5.X -1993-12-03 17:20 Vern Paxson +1993-12-03 Vern Paxson * flex.1: updated credits -1993-12-03 17:20 Vern Paxson +1993-12-03 Vern Paxson * NEWS: ranlib addition for 2.4.3 -1993-12-03 17:19 Vern Paxson +1993-12-03 Vern Paxson * Makefile.in: Minor tweak to last change -1993-12-03 17:18 Vern Paxson +1993-12-03 Vern Paxson * Makefile.in: run ranlib on libfl.a -1993-12-03 17:02 Vern Paxson +1993-12-03 Vern Paxson * NEWS: Hopefully last update prior to 2.4.3 -1993-12-03 16:59 Vern Paxson +1993-12-03 Vern Paxson * flexdef.h, gen.c, misc.c, sym.c: lint tweaks -1993-12-03 16:35 Vern Paxson +1993-12-03 Vern Paxson * Makefile.in: Added exec_prefix -1993-12-03 16:35 Vern Paxson +1993-12-03 Vern Paxson * flex.1: credit update -1993-12-03 16:35 Vern Paxson +1993-12-03 Vern Paxson * flex.skl: lint tweak -1993-12-03 07:50 Vern Paxson +1993-12-03 Vern Paxson * NEWS: FlexLexer.h fixed for separate inclusion -1993-12-03 07:49 Vern Paxson +1993-12-03 Vern Paxson - * flex.skl, FlexLexer.h, main.c: mods so FlexLexer.h can be - included separately + * FlexLexer.h, flex.skl, main.c: mods so FlexLexer.h can be included + separately -1993-12-03 07:47 Vern Paxson +1993-12-03 Vern Paxson * flex.1: -F incompatible with -+ -1993-12-02 17:18 Vern Paxson +1993-12-02 Vern Paxson * NEWS: Elaborated comments for 2.4.3 -1993-12-02 16:59 Vern Paxson +1993-12-02 Vern Paxson * NEWS: 2.4.3 -1993-12-02 16:58 Vern Paxson +1993-12-02 Vern Paxson * flex.1: Updated message regarding missing libfl.a routines Added thanks to Noah Friedman -1993-12-02 16:52 Vern Paxson +1993-12-02 Vern Paxson * Makefile.in: Added libstring.c Modified "lint" target to use -Dconst= Added a.out, lex.yy.cc to sundry clean targets -1993-12-02 16:52 Vern Paxson +1993-12-02 Vern Paxson - * gen.c, scan.l, sym.c, misc.c, main.c, flexdef.h, flex.skl: Use + * flex.skl, flexdef.h, gen.c, main.c, misc.c, scan.l, sym.c: Use yy_strXXX() routines instead of -1993-12-01 06:58 Vern Paxson +1993-12-01 Vern Paxson * version.h: 2.4.3 -1993-12-01 06:58 Vern Paxson +1993-12-01 Vern Paxson * flexdef.h, misc.c: yy_flex_xmalloc() moved to misc.c -1993-12-01 06:58 Vern Paxson +1993-12-01 Vern Paxson * flex.skl: Fixed bug in yy_fatal_error() -1993-12-01 02:59 Vern Paxson +1993-12-01 Vern Paxson * Makefile.in: ... and remove plain tar file after compression -1993-12-01 02:57 Vern Paxson +1993-12-01 Vern Paxson * NEWS: 2.4.2 -1993-12-01 02:56 Vern Paxson +1993-12-01 Vern Paxson * Makefile.in: Produce both compress'd and gzip'd distribution tar files -1993-12-01 02:52 Vern Paxson +1993-12-01 Vern Paxson * version.h: Release 2.4.2 -1993-11-30 18:37 Vern Paxson +1993-11-30 Vern Paxson * NEWS: -a -> -Ca -1993-11-30 15:59 Vern Paxson +1993-11-30 Vern Paxson * README: described configuration files in manifest -1993-11-30 15:58 Vern Paxson +1993-11-30 Vern Paxson * Makefile.in: Added intermediate step of copying MISC/alloca.c -> alloca.c Included CPPFLAGS when compiling alloca.c -1993-11-30 10:51 Vern Paxson +1993-11-30 Vern Paxson * README: Credit to 2.4 pre-testers. -1993-11-30 08:01 Vern Paxson +1993-11-30 Vern Paxson * gen.c: Fixed nasty bug in short/long decl decision -1993-11-30 08:01 Vern Paxson +1993-11-30 Vern Paxson - * flexdef.h: Lowered MAX_SHORT out of increased general paranoia. + * flexdef.h: Lowered MAX_SHORT out of increased general paranoia. Added yy_flex_xmalloc() proto -1993-11-30 08:00 Vern Paxson +1993-11-30 Vern Paxson * main.c: Fixed very minor typo in -v output -1993-11-30 08:00 Vern Paxson +1993-11-30 Vern Paxson * misc.c: Removed vestigal cast to (char) in isupper() call -1993-11-30 07:59 Vern Paxson +1993-11-30 Vern Paxson * misc.c: Added casts to unsigned Char for isascii() calls -1993-11-30 07:59 Vern Paxson +1993-11-30 Vern Paxson * parse.y: Added #ifdef chud for alloca() -1993-11-30 07:59 Vern Paxson +1993-11-30 Vern Paxson * Makefile.in: Added alloca -1993-11-30 07:35 Vern Paxson +1993-11-30 Vern Paxson * configure.in: Add AC_ALLOCA if using bison -1993-11-29 16:35 Vern Paxson +1993-11-29 Vern Paxson * Makefile.in: Added intermediate file going scan.l -> scan.c -1993-11-29 12:18 Vern Paxson +1993-11-29 Vern Paxson * Makefile.in: Removed parse.{c,h} from distribution files, since - they may not be all that portable. + they may not be all that portable. -1993-11-29 12:13 Vern Paxson +1993-11-29 Vern Paxson * flex.skl: Fixed %array YYLMAX headaches, added error message if - buffer needs growing but REJECT used + buffer needs growing but REJECT used -1993-11-29 12:13 Vern Paxson +1993-11-29 Vern Paxson * gen.c, main.c: Fixed YYLMAX headaches -1993-11-29 12:13 Vern Paxson +1993-11-29 Vern Paxson * flex.1: Documented that buffer can't grow if REJECT used -1993-11-29 12:12 Vern Paxson +1993-11-29 Vern Paxson * Makefile.in: Added parse.{c,h} to dist files -1993-11-29 11:40 Vern Paxson +1993-11-29 Vern Paxson * flex.skl, flexdef.h, gen.c, main.c, misc.c, scan.l: Fixed to buffer section 1 definitions -1993-11-29 11:38 Vern Paxson +1993-11-29 Vern Paxson * sym.c: Fixed ANSI-C glitch with '%' operator -1993-11-29 09:57 Vern Paxson +1993-11-29 Vern Paxson * scan.l: Fixed mis-definition of ndlookup() -1993-11-29 06:04 Vern Paxson +1993-11-29 Vern Paxson * NEWS: 2.4 -> 2.4.1 -1993-11-29 06:02 Vern Paxson +1993-11-29 Vern Paxson - * Makefile.in: Added install.sh, mkinstalldirs to distribution - files + * Makefile.in: Added install.sh, mkinstalldirs to distribution files -1993-11-29 05:51 Vern Paxson +1993-11-29 Vern Paxson * flex.1: Added Nathan Zelle, "promoted" Francois -1993-11-29 05:37 Vern Paxson +1993-11-29 Vern Paxson * Makefile.in: only "realclean" removes flex dist depends on flex -1993-11-29 05:37 Vern Paxson +1993-11-29 Vern Paxson * flexdef.h, misc.c: myctoi takes char[] instead of Char[] -1993-11-28 11:46 Vern Paxson +1993-11-28 Vern Paxson * flexdef.h: -a -> -Ca all_lower, all_upper -> work on char* -1993-11-28 11:46 Vern Paxson +1993-11-28 Vern Paxson * Makefile.in: Added -Ca to bigcheck -1993-11-28 11:45 Vern Paxson +1993-11-28 Vern Paxson * main.c: -a -> -Ca; fixed help output -1993-11-28 11:45 Vern Paxson +1993-11-28 Vern Paxson * dfa.c, flex.1: -a -> -Ca -1993-11-28 11:44 Vern Paxson +1993-11-28 Vern Paxson * misc.c: all_lower, all_upper work on char* -1993-11-28 11:44 Vern Paxson +1993-11-28 Vern Paxson - * scan.l: Fixed some casts now that yytext is always char* and - never unsigned char* + * scan.l: Fixed some casts now that yytext is always char* and never + unsigned char* -1993-11-28 11:42 Vern Paxson +1993-11-28 Vern Paxson * Makefile.in: Francois' tweaks -1993-11-28 11:39 Vern Paxson +1993-11-28 Vern Paxson * configure.in: AC_LN_S, AC_STDC_HEADERS (but not AC_ALLOCA) -1993-11-27 10:10 Vern Paxson +1993-11-27 Vern Paxson * NEWS: fixed typo -1993-11-27 10:03 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: Don't remove dist directory -1993-11-27 10:01 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: Include liballoc.c in lint targets -1993-11-27 10:01 Vern Paxson +1993-11-27 Vern Paxson * misc.c: lint tweak -1993-11-27 09:14 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: Added -l compression to bigcheck -1993-11-27 09:07 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: permission tweaking for "dist" -1993-11-27 09:02 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: more "dist" tweaks -1993-11-27 08:59 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: Changed "make dist" to use version.h, include scan.c in initial dir copy -1993-11-27 08:44 Vern Paxson +1993-11-27 Vern Paxson * version.h: 2.4.1 -1993-11-27 08:44 Vern Paxson +1993-11-27 Vern Paxson * README: Revised as per Francois Pinard -1993-11-27 08:41 Vern Paxson +1993-11-27 Vern Paxson * COPYING: flex.skel -> flex.skl -1993-11-27 08:37 Vern Paxson +1993-11-27 Vern Paxson * NEWS: Updated date of 2.4 release -1993-11-27 08:29 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: Removed manual & nroff output from distribution -1993-11-27 08:20 Vern Paxson +1993-11-27 Vern Paxson * NEWS: 2.4.1 release -1993-11-27 07:57 Vern Paxson +1993-11-27 Vern Paxson * configure.in: Initial revision -1993-11-27 07:56 Vern Paxson +1993-11-27 Vern Paxson * Makefile.in: Merge w/ 2.4.1 changes added "dist2" target -1993-11-26 12:02 Vern Paxson +1993-11-26 Vern Paxson * Makefile.in: Initial revision -1993-11-26 11:59 Vern Paxson +1993-11-26 Vern Paxson * flexdef.h: Removed #ifndef FILE protection from include of stdio -1993-11-26 11:40 Vern Paxson +1993-11-26 Vern Paxson * flex.1: Added Francois Pinard to distribution headache helpers -1993-11-26 11:10 Vern Paxson +1993-11-26 Vern Paxson - * flex.skl: Modified C++ scanners to get input a character at a - time for interactive scanners. + * flex.skl: Modified C++ scanners to get input a character at a time + for interactive scanners. -1993-11-26 11:09 Vern Paxson +1993-11-26 Vern Paxson * main.c: Added YY_INTERACTIVE. -1993-11-26 11:09 Vern Paxson +1993-11-26 Vern Paxson * scan.l: Put definitions inside ()'s so we can test -l option for "make bigcheck" -1993-11-26 11:09 Vern Paxson +1993-11-26 Vern Paxson * flex.1: Documented YY_INTERACTIVE. -1993-11-26 10:08 Vern Paxson +1993-11-26 Vern Paxson - * flex.skl, flexdef.h, flex.1, gen.c, main.c, parse.y, scan.l: -l + * flex.1, flex.skl, flexdef.h, gen.c, main.c, parse.y, scan.l: -l lex compatibility flag -1993-11-20 10:05 Vern Paxson +1993-11-20 Vern Paxson - * flex.skl: Support for read()/fread() section 1 definitions - precede default macro definitions + * flex.skl: Support for read()/fread() section 1 definitions precede + default macro definitions -1993-11-20 10:05 Vern Paxson +1993-11-20 Vern Paxson * flexdef.h: Added use_read global -1993-11-20 10:04 Vern Paxson +1993-11-20 Vern Paxson * gen.c: Cleaner definition for yymore() Fixed string broken across multiple lines -1993-11-20 10:04 Vern Paxson +1993-11-20 Vern Paxson * main.c: Added -Cr -1993-11-20 10:03 Vern Paxson +1993-11-20 Vern Paxson * misc.c: K&R declaration for check_char() -1993-11-20 09:56 Vern Paxson +1993-11-20 Vern Paxson * flex.1: Documented -Cr -1993-11-20 09:31 Vern Paxson +1993-11-20 Vern Paxson * flex.1: No need to #undef before redefining prior to -Cr documentation -1993-11-10 05:27 Vern Paxson +1993-11-10 Vern Paxson * README: Heavily massaged for 2.4 -1993-11-10 05:27 Vern Paxson +1993-11-10 Vern Paxson * flex.1: Added Landon Noll to thanks. -1993-11-10 05:07 Vern Paxson +1993-11-10 Vern Paxson * NEWS: 2.4 release -1993-11-10 05:06 Vern Paxson +1993-11-10 Vern Paxson * flex.1: 2.4 documentation -1993-11-10 05:05 Vern Paxson +1993-11-10 Vern Paxson - * main.c: Added global to remember -P prefix so it can be written - in -v summary. Alphabetized prefix generation, added yywrap + * main.c: Added global to remember -P prefix so it can be written in + -v summary. Alphabetized prefix generation, added yywrap -1993-11-09 16:11 Vern Paxson +1993-11-09 Vern Paxson * version.h: updated date for 2.4.0 :-( -1993-10-10 11:28 Vern Paxson +1993-10-10 Vern Paxson * FlexLexer.h: Whitespace tweaking -1993-10-10 10:52 Vern Paxson +1993-10-10 Vern Paxson * main.c: Use DEFAULT_CSIZE only if not using equivalence classes. -1993-10-10 10:47 Vern Paxson +1993-10-10 Vern Paxson * flex.1: Checkpoint prior to final 2.4 update -1993-10-04 17:15 Vern Paxson +1993-10-04 Vern Paxson * NEWS: Raw 2.4 changes -1993-10-04 12:44 Vern Paxson +1993-10-04 Vern Paxson * flex.skl: osfcn.h -> unistd.h -1993-10-04 06:56 Vern Paxson +1993-10-04 Vern Paxson * flex.skl: Added "static" to definition of yy_fatal_error as well as fwd decl. -1993-10-04 06:17 Vern Paxson +1993-10-04 Vern Paxson * flex.skl: Added yy_fatal_error function. -1993-10-03 13:38 Vern Paxson +1993-10-03 Vern Paxson - * flex.skl: Got rid of (char *) casts of yytext, no longer needed. + * flex.skl, gen.c: Got rid of (char *) casts of yytext, no longer + needed. -1993-10-03 13:34 Vern Paxson - - * gen.c: Got rid of (char *) casts of yytext, no longer needed. - -1993-10-03 12:05 Vern Paxson +1993-10-03 Vern Paxson * FlexLexer.h: YY_CHAR -> char added YYText(), YYLeng() -1993-10-03 12:01 Vern Paxson +1993-10-03 Vern Paxson - * gen.c, flex.skl: Minimized use of YY_CHAR + * flex.skl, gen.c: Minimized use of YY_CHAR -1993-10-03 12:01 Vern Paxson +1993-10-03 Vern Paxson * main.c: Added "flex++" feature Minimized use of YY_CHAR -1993-10-02 11:25 Vern Paxson +1993-10-02 Vern Paxson * main.c: Clarified help message for -S -1993-10-02 11:23 Vern Paxson +1993-10-02 Vern Paxson * libyywrap.c, version.h: Initial revision -1993-10-02 11:20 Vern Paxson +1993-10-02 Vern Paxson * main.c: If -+ used, output to lex.yy.cc -1993-10-02 11:19 Vern Paxson +1993-10-02 Vern Paxson * FlexLexer.h, flex.skl: Switched from FILE*'s to stream's -1993-10-02 09:44 Vern Paxson +1993-10-02 Vern Paxson * flexdef.h: Added expand_nxt_chk() extern. -1993-10-02 09:38 Vern Paxson +1993-10-02 Vern Paxson * flex.skl: Added dynamic buffer growing. Added yyless() for section 3. -1993-10-02 09:37 Vern Paxson +1993-10-02 Vern Paxson - * main.c, flexdef.h, dfa.c, gen.c: Added -a option for long-align. + * dfa.c, flexdef.h, gen.c, main.c: Added -a option for long-align. -1993-10-02 09:36 Vern Paxson +1993-10-02 Vern Paxson * scan.l: formfeed no longer considered whitespace -1993-09-21 16:45 Vern Paxson +1993-09-21 Vern Paxson * flexdef.h: Nuked FILENAMESIZE -1993-09-21 16:45 Vern Paxson +1993-09-21 Vern Paxson * main.c: yyflexlexer.h -> FlexLexer.h minor portability tweak -1993-09-21 16:45 Vern Paxson +1993-09-21 Vern Paxson * gen.c: Added start condition to EOF trace output -1993-09-21 16:44 Vern Paxson +1993-09-21 Vern Paxson - * flex.skl: Added YY_START changed yyFlexLexer to define yylex() + * flex.skl: Added YY_START changed yyFlexLexer to define yylex() -1993-09-21 16:44 Vern Paxson +1993-09-21 Vern Paxson * misc.c: Minor portability tweaks -1993-09-21 16:43 Vern Paxson +1993-09-21 Vern Paxson * FlexLexer.h: Split into two classes, one fully abstract. yylex() no longer abstract in yyFlexLexer -1993-09-21 16:42 Vern Paxson +1993-09-21 Vern Paxson * scan.l: PC lint tweak -1993-09-21 16:42 Vern Paxson +1993-09-21 Vern Paxson * parse.y: YYSTYPE #define'd to int -1993-09-21 16:42 Vern Paxson +1993-09-21 Vern Paxson * nfa.c: minor lint tweak -1993-09-16 16:53 Vern Paxson +1993-09-16 Vern Paxson * FlexLexer.h: Initial revision -1993-09-16 16:38 Vern Paxson +1993-09-16 Vern Paxson * flexdef.h: Delete prototypes for Unix system calls. -1993-09-16 16:31 Vern Paxson +1993-09-16 Vern Paxson - * yylex.c, tblcmp.c, sym.c, nfa.c, misc.c, main.c, gen.c, ecs.c, - ccl.c, dfa.c, scan.l, parse.y: nuked static RCS string + * ccl.c, dfa.c, ecs.c, gen.c, main.c, misc.c, nfa.c, parse.y, + scan.l, sym.c, tblcmp.c, yylex.c: nuked static RCS string -1993-09-16 16:28 Vern Paxson +1993-09-16 Vern Paxson * main.c: %array not allowed with C++ scanners -1993-09-16 16:27 Vern Paxson +1993-09-16 Vern Paxson * scan.l: Fixed bugs regarding %{%} code in section 2 prolog %array not allowed with C++ scanners -1993-08-25 13:11 Vern Paxson +1993-08-25 Vern Paxson * flexdef.h: Added C_plus_plus flag. -1993-08-25 13:11 Vern Paxson +1993-08-25 Vern Paxson * flex.skl: First version of C/C++ skeleton -1993-08-25 13:10 Vern Paxson +1993-08-25 Vern Paxson * gen.c: yy_state_type declared earlier. Made a bunch of statics only output if not -+ -1993-08-25 12:59 Vern Paxson +1993-08-25 Vern Paxson * main.c: Added -+ option, updated usage() output, rearranged some - generated code to come at the right point in the output for + generated code to come at the right point in the output for yyflexlexer.h. -1993-08-25 12:52 Vern Paxson +1993-08-25 Vern Paxson * misc.c: Added %+/%-/%* to skelout() -1993-08-25 12:51 Vern Paxson +1993-08-25 Vern Paxson * scan.l: EOF in section 2 prolog leads to section 0, not section 3 -1993-08-25 12:40 Vern Paxson +1993-08-25 Vern Paxson * yylex.c: Dump promotion of EOF in section 2 to turn on section 3; - instead just treat it like a final EOF + instead just treat it like a final EOF -1993-08-25 12:40 Vern Paxson +1993-08-25 Vern Paxson * dfa.c: yy_nxt table should be "const" -1993-08-24 16:46 Vern Paxson +1993-08-24 Vern Paxson - * flexdef.h: Removed a lot of #ifdef chud "backtracking" -> - "backing up" + * flexdef.h: Removed a lot of #ifdef chud "backtracking" -> "backing + up" -1993-08-24 16:45 Vern Paxson +1993-08-24 Vern Paxson * main.c: "backtracking" -> "backing up" got rid of time reports -1993-08-24 16:44 Vern Paxson +1993-08-24 Vern Paxson * gen.c: "backtracking" -> "backing up" some portability tweaks fixed to only call flexscan() when done if known to be in section 3 -1993-08-24 16:43 Vern Paxson +1993-08-24 Vern Paxson * misc.c: isascii() moved to flexdef.h nuked flex_gettime() -1993-08-24 16:43 Vern Paxson +1993-08-24 Vern Paxson * scan.l: Fixed bug with empty section 2 -1993-08-24 16:42 Vern Paxson +1993-08-24 Vern Paxson * yylex.c: Chucked definition of isascii() -1993-08-24 16:40 Vern Paxson +1993-08-24 Vern Paxson * flex.skl: preserve yytext on input() bug fix when combining yyless() with yymore() checkpoint prior to C++ option -1993-08-24 16:37 Vern Paxson +1993-08-24 Vern Paxson * dfa.c: "backtracking" -> "backing up" -1993-07-09 15:47 Vern Paxson +1993-07-09 Vern Paxson * flex.skl: Fixed to not generate extra EOF's after reading one. -1993-07-05 17:52 Vern Paxson +1993-07-05 Vern Paxson * main.c: Spit out definition of YY_CHAR early -1993-07-05 17:52 Vern Paxson +1993-07-05 Vern Paxson - * flex.skl: Some rearranging to make sure things get declared in - the right order + * flex.skl: Some rearranging to make sure things get declared in the + right order -1993-07-05 17:37 Vern Paxson +1993-07-05 Vern Paxson * tblcmp.c: Some comment fixes as per Wilhelms -1993-07-05 17:37 Vern Paxson +1993-07-05 Vern Paxson * scan.l: Nuked #undef of yywrap, now that it's a function -1993-07-05 17:36 Vern Paxson +1993-07-05 Vern Paxson * parse.y: Fixed bug with Z-a character classes as per Wilhelms -1993-07-05 17:36 Vern Paxson +1993-07-05 Vern Paxson * nfa.c: added check_char call in mkstate() to prevent bad xtion chars -1993-07-05 17:35 Vern Paxson - - * misc.c: Added check_char() - -1993-07-05 17:35 Vern Paxson +1993-07-05 Vern Paxson * gen.c: Fixed some reallocation bugs, etc. as per Wilhelms -1993-07-05 17:34 Vern Paxson +1993-07-05 Vern Paxson * flexdef.h: Added check_char(), readable_form() -1993-07-05 17:34 Vern Paxson +1993-07-05 Vern Paxson * flex.skl: Added #ifndef's around #define's to let user override Moved a bunch of definitions prior to section 1 -1993-07-05 17:32 Vern Paxson +1993-07-05 Vern Paxson * dfa.c: Wilhems bug fixes. -1993-07-05 17:31 Vern Paxson +1993-07-05 Vern Paxson - * ccl.c: Added check_char() + * ccl.c, misc.c: Added check_char() -1993-06-12 09:44 Vern Paxson +1993-06-12 Vern Paxson * flexdef.h: Changed to use yy_flex_alloc() and friends -1993-06-12 09:43 Vern Paxson +1993-06-12 Vern Paxson * main.c: Added -P flag -1993-06-12 09:42 Vern Paxson +1993-06-12 Vern Paxson * scan.l: Fixed bug in lex % directives -1993-06-12 09:42 Vern Paxson +1993-06-12 Vern Paxson * misc.c: Modified to use yy_flex_alloc() and friends -1993-06-12 09:42 Vern Paxson +1993-06-12 Vern Paxson * sym.c: Modified to use yy_flex_alloc() -1993-06-12 09:41 Vern Paxson +1993-06-12 Vern Paxson * flex.skl: Modified to use yy_flex_alloc() and friends Moved some globals earlier in the file to permit access in section 1 -1993-06-12 09:40 Vern Paxson +1993-06-12 Vern Paxson * dfa.c: Got rid of code needed for %t -1993-04-14 18:41 Vern Paxson +1993-04-14 Vern Paxson * ccl.c, dfa.c, ecs.c, flex.skl, flexdef.h, gen.c, libmain.c, - main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: + main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: Reformatting. -1993-04-05 16:38 Vern Paxson +1993-04-05 Vern Paxson * flex.1: Fixed bug in description of backtracking -1993-04-05 16:37 Vern Paxson +1993-04-05 Vern Paxson * NEWS: 2.3.8 -1993-04-05 16:37 Vern Paxson +1993-04-05 Vern Paxson - * main.c, flex.skl: %array support + * flex.skl, main.c: %array support -1993-04-05 16:36 Vern Paxson +1993-04-05 Vern Paxson * misc.c: Added non-STDC clause for '\a' -1993-04-05 16:35 Vern Paxson +1993-04-05 Vern Paxson * scan.l: Fixed subtle problems regarding '*'s in comments %pointer/%array match entire lines -1993-04-05 16:35 Vern Paxson +1993-04-05 Vern Paxson * gen.c: Added %array support -1993-02-06 16:08 Vern Paxson +1993-02-06 Vern Paxson * README: Finally updated email addr -1993-02-06 16:08 Vern Paxson +1993-02-06 Vern Paxson * flex.1: Mostly .LP -> .PP -1993-02-06 16:06 Vern Paxson +1993-02-06 Vern Paxson * flexdef.h: [no log message] -1993-02-06 16:05 Vern Paxson +1993-02-06 Vern Paxson * main.c, scan.l: A lot of tweaks ... -1993-02-06 16:04 Vern Paxson +1993-02-06 Vern Paxson * ccl.c: reallocate_character_array -> reallocate_Character_array -1993-02-06 16:04 Vern Paxson +1993-02-06 Vern Paxson - * gen.c: Bug/lint fixes Modified to work with "action" array - instead of temp file + * gen.c: Bug/lint fixes Modified to work with "action" array instead + of temp file -1993-02-06 16:03 Vern Paxson +1993-02-06 Vern Paxson * sym.c: Fixed bug in 8-bit hashing -1993-02-06 16:03 Vern Paxson +1993-02-06 Vern Paxson * parse.y: numerous bug fixes extra formatting of error/warning messages added support of <*>, partial support for nested start conditions -1993-02-06 16:01 Vern Paxson +1993-02-06 Vern Paxson * ecs.c: Remove %t cruft -1993-02-06 16:01 Vern Paxson +1993-02-06 Vern Paxson * flex.skl: Beginning of %pointer/%array support -1993-02-06 16:00 Vern Paxson +1993-02-06 Vern Paxson * dfa.c: Added keeping track of which rules are useful fixed a fencepost error in checking for scanners that require -8 -1993-02-06 15:59 Vern Paxson +1993-02-06 Vern Paxson * nfa.c: Added checking for whether rules are useful modified to work with internal "action" array -1993-02-06 15:58 Vern Paxson +1993-02-06 Vern Paxson * misc.c: Added internal "action" array, internal skeleton, zero_out() in lieu of bzero -1993-02-06 15:58 Vern Paxson +1993-02-06 Vern Paxson * tblcmp.c: Fixed a bunch of fencepost errors in increasing tables. -1993-02-06 15:57 Vern Paxson +1993-02-06 Vern Paxson * yylex.c: -Wall fix -1991-03-28 07:01 Vern Paxson +1991-03-28 Vern Paxson * gen.c: Fixed out-of-bounds access bug; patch #7 for release 2.3 -1991-03-28 07:00 Vern Paxson +1991-03-28 Vern Paxson * NEWS: Patch #7 for 2.3 -1990-10-23 10:51 Vern Paxson +1990-10-23 Vern Paxson * gen.c: fixed missing "rule_type" entry for end-of-buffer action -1990-08-29 08:11 Vern Paxson +1990-08-29 Vern Paxson * gen.c: Fixed yymore() but in not resetting yy_more_len -1990-08-29 08:10 Vern Paxson +1990-08-29 Vern Paxson * NEWS: Patch #6 for 2.3 -1990-08-16 16:22 Vern Paxson +1990-08-16 Vern Paxson * NEWS: Patch #5 -1990-08-13 20:10 Vern Paxson +1990-08-14 Vern Paxson * misc.c: fixed comment in myesc() -1990-08-13 20:07 Vern Paxson +1990-08-14 Vern Paxson * NEWS: fixed date in patch #4 -1990-08-13 20:05 Vern Paxson +1990-08-14 Vern Paxson * NEWS: patch #4 -1990-08-13 20:01 Vern Paxson +1990-08-14 Vern Paxson * misc.c: fixed hexadecimal escapes; added is_hex_digit() -1990-08-03 10:12 Vern Paxson +1990-08-03 Vern Paxson * NEWS: Patch #3 -1990-08-03 10:09 Vern Paxson +1990-08-03 Vern Paxson * flex.skl, flexdef.h: changed to include for __GNUC__ -1990-08-01 21:03 Vern Paxson +1990-08-02 Vern Paxson * NEWS: 2.3 patch #2 -1990-08-01 21:01 Vern Paxson +1990-08-02 Vern Paxson - * flex.skl: Another try at getting the malloc() definitions - correct; this time for g++, too + * flex.skl: Another try at getting the malloc() definitions correct; + this time for g++, too -1990-08-01 20:30 Vern Paxson +1990-08-02 Vern Paxson * flex.skl, flexdef.h: fixed to declare malloc() and free() by hand if __GNUC__ -1990-07-28 12:53 Vern Paxson +1990-07-28 Vern Paxson * flexdef.h: Changed to get malloc definition in identical fashion to that used by flex.skel -1990-06-27 20:43 Vern Paxson +1990-06-28 Vern Paxson * NEWS: [no log message] -1990-06-27 20:40 Vern Paxson +1990-06-28 Vern Paxson * flex.1: Fixed bug in mini-scanner examle Fixed bug in YY_INPUT redefinition yylineno defense reentrancy documentation Something else which I forget. -1990-06-27 19:47 Vern Paxson +1990-06-27 Vern Paxson * COPYING, ccl.c, dfa.c, ecs.c, flexdef.h, gen.c, main.c, misc.c, nfa.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: 4.4 BSD copyright -1990-05-26 13:31 Vern Paxson +1990-05-26 Vern Paxson * README: Changed prolog to reflect 2.3 release. -1990-05-26 13:29 Vern Paxson +1990-05-26 Vern Paxson * NEWS: pointed reader at Makefile instead of README for porting considerations added Makefile comments: support for SCO Unix; parameterization -1990-05-26 13:24 Vern Paxson +1990-05-26 Vern Paxson * flex.skl: Added DONT_HAVE_STDLIB_H and declarations of malloc() -1990-05-26 13:16 Vern Paxson +1990-05-26 Vern Paxson * NEWS: 2.3 changes -1990-05-26 13:02 Vern Paxson +1990-05-26 Vern Paxson - * flex.1: documentation on new features Comment regarding Ove's - work ^foo|bar difference between flex / lex yyin initialization + * flex.1: documentation on new features Comment regarding Ove's work + ^foo|bar difference between flex / lex yyin initialization difference documented that yy_switch_to_buffer can be used in yywrap() documented that # comments are deprecated -1990-05-26 12:56 Vern Paxson +1990-05-26 Vern Paxson * main.c: declared void functions as such added prototypes for forward references changed to check for error status when closing files -1990-05-26 12:54 Vern Paxson +1990-05-26 Vern Paxson * yylex.c: Added macro definition for isascii() if not already present -1990-05-26 12:53 Vern Paxson +1990-05-26 Vern Paxson * sym.c: declared void functions as such added prototypes for forward references changed to use format_pinpoint_message where appropriate -1990-05-26 12:53 Vern Paxson +1990-05-26 Vern Paxson * scan.l: declared void functions as such changed to strip # comments, as documented moved #undef of yywrap() to before include - of flexdef, so prototype doesn't get screwed up + of flexdef, so prototype doesn't get screwed up -1990-05-26 12:52 Vern Paxson +1990-05-26 Vern Paxson * parse.y: introduced format_pinpoint_message() declared void functions as such changed lone <> to apply to all outstanding start conditions -1990-05-26 12:51 Vern Paxson +1990-05-26 Vern Paxson * nfa.c, tblcmp.c: declared void functions as such added prototypes for forward references -1990-05-26 12:50 Vern Paxson +1990-05-26 Vern Paxson * misc.c: declared void functions as such prototypes for forward - references shuffled around some routines to make the order perhaps - a little more logical changed memory references to use void* - instead of char* + references shuffled around some routines to make the order perhaps a + little more logical changed memory references to use void* instead + of char* -1990-05-26 12:50 Vern Paxson +1990-05-26 Vern Paxson * libmain.c: Added declaration of arguments made yylex() a function -1990-05-26 12:48 Vern Paxson +1990-05-26 Vern Paxson * gen.c: prototypes for forward references declared void functions as such yy_flex_debug testing of error on file closes casts to void for sprintf() and strcpy() -1990-05-26 12:42 Vern Paxson +1990-05-26 Vern Paxson * flexdef.h: Added prototypes changed memory allocation routines to deal with void*'s instead of char*'s some rearranging for VMS -1990-05-26 12:40 Vern Paxson +1990-05-26 Vern Paxson * flex.skl: Added YY_USER_INIT Added yy_new_buffer() alias for yy_create_buffer() fixed (hopefully) malloc declaration headaches -1990-05-26 12:40 Vern Paxson +1990-05-26 Vern Paxson * ecs.c: declared void functions as such declared void functions as such -1990-05-26 12:39 Vern Paxson +1990-05-26 Vern Paxson * dfa.c: prototypes for forward references declared void functions as such -1990-05-26 12:38 Vern Paxson +1990-05-26 Vern Paxson * ccl.c: Declared void functions as such -1990-04-12 07:03 Vern Paxson +1990-04-12 Vern Paxson - * flex.skl: added fix for allowing yy_switch_to_buffer() in - yywrap() + * flex.skl: added fix for allowing yy_switch_to_buffer() in yywrap() -1990-04-03 10:09 Vern Paxson +1990-04-03 Vern Paxson * NEWS: patch #3 - -I fix -1990-03-29 21:43 Vern Paxson +1990-03-30 Vern Paxson * gen.c: Changed generation of archaic "continue" to "goto yy_find_action" -1990-03-27 07:06 Vern Paxson +1990-03-27 Vern Paxson * NEWS: Patch #2 changes -1990-03-27 07:03 Vern Paxson +1990-03-27 Vern Paxson * flex.skl: fixed fencepost errors with yy_buf_size and detecting NUL's -1990-03-26 11:41 Vern Paxson +1990-03-26 Vern Paxson * NEWS: [no log message] -1990-03-26 11:38 Vern Paxson +1990-03-26 Vern Paxson * flex.skl: g++ tweaks -1990-03-23 09:25 Vern Paxson +1990-03-23 Vern Paxson * NEWS: Changes for Patch #1. -1990-03-23 09:20 Vern Paxson +1990-03-23 Vern Paxson * flex.skl: fix for g++ -1990-03-23 09:18 Vern Paxson +1990-03-23 Vern Paxson * flex.1: minor typos and formatting changes. Removed BITNET address. -1990-03-23 09:16 Vern Paxson +1990-03-23 Vern Paxson * README: nuked BITNET address. -1990-03-20 09:54 Vern Paxson +1990-03-20 Vern Paxson * README: 2.2 README -1990-03-20 09:33 Vern Paxson +1990-03-20 Vern Paxson * NEWS: USG alias. -1990-03-20 09:32 Vern Paxson +1990-03-20 Vern Paxson * flexdef.h: Added USG alias for SYS_V -1990-03-20 09:25 Vern Paxson +1990-03-20 Vern Paxson - * flex.1: [no log message] + * : [no log message] -1990-03-20 09:17 Vern Paxson - - * flex.1: Added Earle Horton for 8-bit chars. - -1990-03-20 08:52 Vern Paxson +1990-03-20 Vern Paxson * flex.skl: Tweaks for lint and C++ -1990-03-20 08:52 Vern Paxson +1990-03-20 Vern Paxson * flex.1: -ll => -lfl -1990-03-20 08:52 Vern Paxson +1990-03-20 Vern Paxson * NEWS: 2.2 changes -1990-03-20 08:17 Vern Paxson +1990-03-20 Vern Paxson * flex.skl: Changed to use YY_BUFFER_STATE everywhere. -1990-03-20 08:16 Vern Paxson +1990-03-20 Vern Paxson * flex.1: [no log message] -1990-03-20 08:16 Vern Paxson +1990-03-20 Vern Paxson * dfa.c: "associated rules" changed to "associated rule line numbers". -1990-03-20 08:15 Vern Paxson +1990-03-20 Vern Paxson * scan.l: cast added to malloc() call to keep lint happy. -1990-03-20 06:36 Vern Paxson +1990-03-20 Vern Paxson * yylex.c: Fixed handling of premature EOF's. -1990-03-20 06:36 Vern Paxson +1990-03-20 Vern Paxson * sym.c: Removed declaration of malloc() -1990-03-20 06:36 Vern Paxson +1990-03-20 Vern Paxson * scan.l: Removed malloc() declaration. Added detection of EOF in actions. -1990-03-20 06:35 Vern Paxson +1990-03-20 Vern Paxson * parse.y: Rules rewritten so '/' and '$' parsed correctly. -1990-03-20 06:34 Vern Paxson +1990-03-20 Vern Paxson * nfa.c: Corrected line numbers for continued actions. -1990-03-20 06:33 Vern Paxson +1990-03-20 Vern Paxson * misc.c: Removed declarations of malloc() and realloc(). -1990-03-20 06:32 Vern Paxson +1990-03-20 Vern Paxson - * main.c: Summary of generation flags. Minor -8 tweaks. + * main.c: Summary of generation flags. Minor -8 tweaks. -1990-03-20 06:32 Vern Paxson +1990-03-20 Vern Paxson * gen.c: full support for -d -1990-03-20 06:31 Vern Paxson +1990-03-20 Vern Paxson * flexdef.h: defines for malloc() and realloc() conditional defines for abs(), min(), and max() -1990-03-20 06:31 Vern Paxson +1990-03-20 Vern Paxson * flex.skl: Many multiple-buffer additions. -1990-03-20 06:30 Vern Paxson +1990-03-20 Vern Paxson * dfa.c: -8 tweaks. -1990-03-19 11:34 Vern Paxson +1990-03-19 Vern Paxson - * flex.skl: Proto hacks. NUL hacks. Debugging hacks. C++ hacks. + * flex.skl: Proto hacks. NUL hacks. Debugging hacks. C++ hacks. -1990-03-16 12:40 Vern Paxson +1990-03-16 Vern Paxson - * scan.l: RCS won't let me unedit! gets "Missing access list" + * : RCS won't let me unedit! gets "Missing access list" -1990-03-16 11:55 Vern Paxson - - * ecs.c: Many hacks for NUL's. Hope they're right. - -1990-03-16 11:53 Vern Paxson +1990-03-16 Vern Paxson * tblcmp.c: Minor tweaks for NUL's. -1990-03-16 11:53 Vern Paxson +1990-03-16 Vern Paxson - * scan.l: no changes -- had checked out for testing smaller read - buffer sizes + * : no changes -- had checked out for testing smaller read buffer + sizes -1990-03-16 11:52 Vern Paxson - - * parse.y: Nuked some extraneous whitespace. NUL's hacks. - -1990-03-16 11:52 Vern Paxson +1990-03-16 Vern Paxson * nfa.c: hack for NUL's. -1990-03-16 11:51 Vern Paxson +1990-03-16 Vern Paxson * misc.c: Hack to cshell for NUL's. -1990-03-16 11:51 Vern Paxson +1990-03-16 Vern Paxson * main.c: NUL's. -8 -1990-03-16 11:51 Vern Paxson +1990-03-16 Vern Paxson * gen.c: NUL's. -1990-03-16 11:50 Vern Paxson +1990-03-16 Vern Paxson * flexdef.h: NUL's. 8-bit chars. -1990-03-16 11:50 Vern Paxson +1990-03-16 Vern Paxson * flex.skl: NUL's; indenting -1990-03-16 11:50 Vern Paxson +1990-03-16 Vern Paxson * dfa.c: more thrashing around with NUL's -1990-03-16 11:49 Vern Paxson +1990-03-16 Vern Paxson * ccl.c: removed NUL hack -1990-03-14 08:41 Vern Paxson +1990-03-14 Vern Paxson * yylex.c: Added <> token -1990-03-14 08:39 Vern Paxson +1990-03-14 Vern Paxson * ecs.c, flexdef.h: Tweaks for NUL chars. -1990-03-14 08:39 Vern Paxson +1990-03-14 Vern Paxson * dfa.c, gen.c, main.c, misc.c, parse.y, scan.l, tblcmp.c: Tweaks for NUL chars. -1990-03-14 08:39 Vern Paxson +1990-03-14 Vern Paxson * ccl.c: Tweaks for handling NUL's. -1990-02-28 13:10 Vern Paxson +1990-02-28 Vern Paxson * flex.1: [no log message] -1990-02-28 11:59 Vern Paxson +1990-02-28 Vern Paxson * flex.1: Changed .so options.man to inlined version since flex.1 will have a different (shorter) options description. -1990-02-28 10:09 Vern Paxson +1990-02-28 Vern Paxson * flex.1: [no log message] -1990-02-28 06:10 Vern Paxson +1990-02-28 Vern Paxson * flex.1: [no log message] -1990-02-26 12:59 Vern Paxson +1990-02-26 Vern Paxson * flex.1: [no log message] -1990-02-25 14:47 Vern Paxson +1990-02-25 Vern Paxson * flex.1: [no log message] -1990-02-24 20:28 Vern Paxson +1990-02-25 Vern Paxson * flex.1: Initial revision -1990-01-16 06:17 Vern Paxson +1990-01-16 Vern Paxson * gen.c: Restored EOB accepting list for REJECT. Second try at 2.2 Release. -1990-01-16 05:39 Vern Paxson +1990-01-16 Vern Paxson * misc.c: Added missing ',' in error message. 2.2 Release, second try. -1990-01-16 05:29 Vern Paxson +1990-01-16 Vern Paxson - * yylex.c: 8-bit char support. 2.2 Release. + * yylex.c: 8-bit char support. 2.2 Release. -1990-01-15 13:02 Vern Paxson +1990-01-15 Vern Paxson * scan.l: 8-bit char support. Arbitrary indented/%{} code allowed in section 2. \x escapes. %t support. Minor POSIX-compliance - changes. BEGIN(0) -> BEGIN(INITIAL). yywrap() and - set_input_file() for multiple input files. C_COMMENT_2 removed. + changes. BEGIN(0) -> BEGIN(INITIAL). yywrap() and set_input_file() + for multiple input files. C_COMMENT_2 removed. 2.2 Release. + +1990-01-15 Vern Paxson + + * flexdef.h: 8-bit char support. SYS_V / Atari portability fixes. + Removed generated array names. CSIZE now only defined if not + already defined. Added "csize" global. Added "input_files", + "num_input_files", and "program_name" globals. %t support globals. 2.2 Release. -1990-01-15 13:00 Vern Paxson - - * flexdef.h: 8-bit char support. SYS_V / Atari portability fixes. - Removed generated array names. CSIZE now only defined if not - already defined. Added "csize" global. Added "input_files", - "num_input_files", and "program_name" globals. %t support globals. - 2.2 Release. - -1990-01-15 12:58 Vern Paxson +1990-01-15 Vern Paxson * gen.c: Removed unused EOB_accepting_list array. 2.2 Release. -1990-01-15 12:53 Vern Paxson +1990-01-15 Vern Paxson - * gen.c: Bug in -F table generation fixed. 8-bit char support. - Hardwired generated array names. "const"'s added to generated - code. Fixed yymore() / trailing context bug. + * gen.c: Bug in -F table generation fixed. 8-bit char support. + Hardwired generated array names. "const"'s added to generated code. + Fixed yymore() / trailing context bug. -1990-01-15 12:53 Vern Paxson +1990-01-15 Vern Paxson - * parse.y: 8-bit char support. Error-message pinpointing. 2.2 + * parse.y: 8-bit char support. Error-message pinpointing. 2.2 Release. -1990-01-15 12:49 Vern Paxson +1990-01-15 Vern Paxson * main.c: Unsigned char support. %t support. Removed hard-wiring of program name "flex". -c changed to -C; -c now deprecated. -n added. :-( Multiple input files. SYSV tmpnam() use. Removed old - #define's from output. Identified error messages w/ filename and + #define's from output. Identified error messages w/ filename and line. 2.2 Release. -1990-01-15 12:49 Vern Paxson +1990-01-15 Vern Paxson * sym.c: Unsigned char support. 2.2 Release. -1990-01-15 12:48 Vern Paxson +1990-01-15 Vern Paxson * nfa.c: Removed redundant test. 2.2 Release. -1990-01-15 12:48 Vern Paxson +1990-01-15 Vern Paxson * misc.c: Unsigned char support. \x support. 2.2 Release. -1990-01-15 12:47 Vern Paxson +1990-01-15 Vern Paxson * tblcmp.c: 8-bit char support. 2.2 Release. -1990-01-15 12:44 Vern Paxson +1990-01-15 Vern Paxson - * flex.skl: C++ support. Turbo-C support. 8-bit char support. - yyleng is an int. unput() callable in section 3. yymore hacks. + * flex.skl: C++ support. Turbo-C support. 8-bit char support. + yyleng is an int. unput() callable in section 3. yymore hacks. yyrestart() no longer closes stdin. 2.2 Release. -1990-01-15 12:41 Vern Paxson +1990-01-15 Vern Paxson * ecs.c: %t support. 8-bit/unsigned char support. 2.2 Release. -1990-01-15 12:40 Vern Paxson +1990-01-15 Vern Paxson * dfa.c: %t hacks. minor cosmetics. 2.2 Relase. -1990-01-15 12:37 Vern Paxson +1990-01-15 Vern Paxson * ccl.c: Changes for unsigned/8-bit chars. 2.2 Release. -1990-01-10 10:10 Vern Paxson +1990-01-10 Vern Paxson * libmain.c: Initial revision -1989-12-30 10:34 Vern Paxson +1989-12-30 Vern Paxson * nfa.c: removed gratuitous trailing context code -1989-12-30 10:34 Vern Paxson +1989-12-30 Vern Paxson * main.c: made -c case-sensitive -1989-12-30 10:33 Vern Paxson +1989-12-30 Vern Paxson * flex.skl: unput() bug fix -1989-12-30 10:32 Vern Paxson +1989-12-30 Vern Paxson * README: [no log message] -1989-06-20 13:24 Vern Paxson +1989-06-20 Vern Paxson - * scan.l: changed to not use '|' and trailing context combo so - users can test using -F ... + * scan.l: changed to not use '|' and trailing context combo so users + can test using -F ... -1989-06-20 13:23 Vern Paxson +1989-06-20 Vern Paxson * parse.y: made trailing context combined with '|' warning always come out -1989-06-20 13:12 Vern Paxson +1989-06-20 Vern Paxson * README: [no log message] -1989-06-20 12:47 Vern Paxson +1989-06-20 Vern Paxson * COPYING: Initial revision -1989-06-20 12:36 Vern Paxson - - * main.c, README, NEWS: [no log message] - -1989-06-20 12:27 Vern Paxson - - * README: [no log message] - -1989-06-20 12:02 Vern Paxson +1989-06-20 Vern Paxson * NEWS, README, main.c: [no log message] -1989-06-20 11:49 Vern Paxson - - * ccl.c, dfa.c, ecs.c, flex.skl, flexdef.h, gen.c, misc.c, nfa.c, - parse.y, scan.l, sym.c, tblcmp.c, yylex.c: Beta release - -1989-06-20 11:48 Vern Paxson - - * NEWS, README, main.c: 2.1 beta release - -1989-06-20 11:44 Vern Paxson - - * main.c, NEWS: [no log message] - -1989-06-20 11:38 Vern Paxson - - * flex.skl, flexdef.h, gen.c, misc.c, nfa.c, parse.y, scan.l, - sym.c: 2.0.1 beta - -1989-06-20 11:37 Vern Paxson +1989-06-20 Vern Paxson * README: [no log message] -1989-05-25 08:21 Vern Paxson +1989-06-20 Vern Paxson + + * NEWS, README, main.c: [no log message] + +1989-06-20 Vern Paxson + + * : Beta release + +1989-06-20 Vern Paxson + + * NEWS, main.c: [no log message] + +1989-06-20 Vern Paxson + + * flex.skl, flexdef.h, gen.c, misc.c, nfa.c, parse.y, scan.l, sym.c: + 2.0.1 beta + +1989-06-20 Vern Paxson + + * README: [no log message] + +1989-05-25 Vern Paxson * gen.c: fixsed bug with -I and backtracking -1989-05-25 07:49 Vern Paxson +1989-05-25 Vern Paxson - * flex.skl: Cleaned up forward declarations of yyunput() and - input() + * flex.skl: Cleaned up forward declarations of yyunput() and input() -1989-05-25 07:48 Vern Paxson +1989-05-25 Vern Paxson * parse.y: Split copyright string. -1989-05-25 07:48 Vern Paxson +1989-05-25 Vern Paxson * nfa.c: Split copyright string. Added check for empty machine in dupmachine(). -1989-05-25 07:46 Vern Paxson +1989-05-25 Vern Paxson - * ccl.c, main.c, misc.c, scan.l, ecs.c, sym.c, yylex.c, dfa.c, - tblcmp.c, gen.c: Split copyright string into two to avoid tempting + * ccl.c, dfa.c, ecs.c, gen.c, main.c, misc.c, scan.l, sym.c, + tblcmp.c, yylex.c: Split copyright string into two to avoid tempting fate with \ sequences ... -1989-05-24 08:48 Vern Paxson +1989-05-24 Vern Paxson * README: updated for 2nd release Beta test added RCS header -1989-05-24 07:48 Vern Paxson +1989-05-24 Vern Paxson - * flexdef.h: removed static char copyright + * flexdef.h: removed static char copyright -1989-05-24 07:45 Vern Paxson +1989-05-24 Vern Paxson * flexdef.h: Added BSD copyright notice. Removed FAST_SKELETON_FILE. -1989-05-24 07:44 Vern Paxson +1989-05-24 Vern Paxson * main.c: added BSD copyright notice. Removed references to FAST_SKELETON_FILE. -1989-05-24 07:44 Vern Paxson +1989-05-24 Vern Paxson - * nfa.c, gen.c, ecs.c: Added BSD copyright notice + * ecs.c, gen.c, nfa.c: Added BSD copyright notice -1989-05-24 07:42 Vern Paxson +1989-05-24 Vern Paxson - * ccl.c, dfa.c, misc.c, yylex.c, sym.c, tblcmp.c, scan.l, parse.y: + * ccl.c, dfa.c, misc.c, parse.y, scan.l, sym.c, tblcmp.c, yylex.c: added BSD copyright notice -1989-05-23 20:32 Vern Paxson +1989-05-24 Vern Paxson * flex.skl: Initial revision -1989-05-19 10:13 Vern Paxson +1989-05-19 Vern Paxson * yylex.c: renamed accnum to num_rules -1989-05-19 10:12 Vern Paxson +1989-05-19 Vern Paxson * tblcmp.c: moved table generation code to gen.c moved ntod() to dfa.c -1989-05-19 10:11 Vern Paxson +1989-05-19 Vern Paxson * sym.c: the most piddling format change imaginable -1989-05-19 10:10 Vern Paxson +1989-05-19 Vern Paxson * scan.l: changed to look for yymore, REJECT, %used and %unused removed gross magic for dealing with section 3 -1989-05-19 10:08 Vern Paxson +1989-05-19 Vern Paxson * nfa.c, parse.y: changes for variable trailing context -1989-05-19 10:07 Vern Paxson +1989-05-19 Vern Paxson * misc.c: added all_lower() and all_upper() -1989-05-19 10:07 Vern Paxson +1989-05-19 Vern Paxson * main.c: added checking for features being Really used backtracking, performance reports misc. cleanup -1989-05-19 10:06 Vern Paxson +1989-05-19 Vern Paxson * gen.c: major overhaul for merged skeleton -1989-05-19 10:05 Vern Paxson +1989-05-19 Vern Paxson * flexdef.h: a zillion changes/additions/cleanups -1989-05-19 10:01 Vern Paxson +1989-05-19 Vern Paxson * dfa.c: added backtrack report added checking for dangerous trailing context considerable minor cleanup -1989-05-19 09:56 Vern Paxson +1989-05-19 Vern Paxson * ccl.c: list_character_set() modified to take a FILE to write to ... -1989-05-19 09:56 Vern Paxson +1989-05-19 Vern Paxson * README: updated for beta release -1988-11-25 16:30 Vern Paxson +1988-11-25 Vern Paxson * main.c: added -p flag generation of #define's for scanner -1988-11-25 16:28 Vern Paxson +1988-11-25 Vern Paxson * flexdef.h: Added END_OF_BUFFER_ACTION and bol_needed -1988-11-25 16:27 Vern Paxson +1988-11-25 Vern Paxson * dfa.c: added ntod() -1988-05-09 13:01 Vern Paxson +1988-05-09 Vern Paxson * gen.c: Initial revision -1988-05-08 16:13 Vern Paxson +1988-05-08 Vern Paxson - * yylex.c: RCS header changed display style of non-printings from - ^x to \0xx + * yylex.c: RCS header changed display style of non-printings from ^x + to \0xx -1988-05-08 16:08 Vern Paxson +1988-05-08 Vern Paxson * tblcmp.c: RCS header MAX_XTIONS_FOR_FULL_INTERIOR_FIT -> MAX_XTIONS_FULL_INTERIOR_FIT made back-tracking accepting number be - one greater than the last legit accepting number, instead of 0. - This way, end-of-buffer can take 0 and no negative accepting - numbers are needed. added genftbl() changed last ftl references to - C added check for UNSIGNED_CHAR's added back-track logic to - make_tables() added checking and report for backtracking fixed - fence-post error with onesp stack pointer + one greater than the last legit accepting number, instead of 0. + This way, end-of-buffer can take 0 and no negative accepting numbers + are needed. added genftbl() changed last ftl references to C added + check for UNSIGNED_CHAR's added back-track logic to make_tables() + added checking and report for backtracking fixed fence-post error + with onesp stack pointer -1988-05-08 16:08 Vern Paxson +1988-05-08 Vern Paxson - * sym.c: RCS header changed "entry" to "sym_entry" to avoid - conflict with old keyword + * sym.c: RCS header changed "entry" to "sym_entry" to avoid conflict + with old keyword -1988-05-08 16:07 Vern Paxson +1988-05-08 Vern Paxson * scan.l: RCS header removed \^ from ESCSEQ -1988-05-08 16:06 Vern Paxson +1988-05-08 Vern Paxson * parse.y: RCS header bug fix due to missing default rule, could - have to backtrack when backtrack variables haven't been set up + have to backtrack when backtrack variables haven't been set up -1988-05-08 16:05 Vern Paxson +1988-05-08 Vern Paxson * nfa.c: RCS ident yy_cp, yy_bp support name shortenings assoc_rule support -1988-05-08 16:04 Vern Paxson +1988-05-08 Vern Paxson * misc.c: RCS header check before malloc()'ing for 16 bit overflow MS_DOS, VMS ifdef's removed commented-out \^ code removed FTLSOURCE code added readable_form() -1988-05-08 16:03 Vern Paxson +1988-05-08 Vern Paxson * main.c: Added RCS header removed revision history misc additions and fixes to globals VMS ifdef's backtracking statistics -p flag name shortenings -1988-05-08 15:59 Vern Paxson +1988-05-08 Vern Paxson * flexdef.h: removed revision history added RCS header added VMS, MS_DOS ifdef's removed DEFAULT_ACTION, changed END_OF_BUFFER_ACTION shortened MAX_XTIONS_FOR_FULL_INTERIOR_FIT to MAX_XTIONS_FULL_INTERIOR_FIT added MAX_ASSOC_RULES added - performance_report, assoc_rule gloabls added num_backtracking - gloabl shortened allocate_integer_pointer_array, + performance_report, assoc_rule gloabls added num_backtracking gloabl + shortened allocate_integer_pointer_array, reallocate_integer_pointer_array -1988-05-08 15:53 Vern Paxson +1988-05-08 Vern Paxson * ecs.c: added RCS id added PROCFLG to avoid assumption of signed char's -1988-05-08 15:51 Vern Paxson +1988-05-08 Vern Paxson * dfa.c: added RCS id added check_for_backtracking() added dump_associated_rules() added dump_transitions() shortened - reallocate_integer_pointer_array to reallocate_int_ptr_array - removed some dfaacc_{state,set} abuses + reallocate_integer_pointer_array to reallocate_int_ptr_array removed + some dfaacc_{state,set} abuses -1988-05-08 15:51 Vern Paxson +1988-05-08 Vern Paxson * ccl.c: Added list_character_set() -1988-05-06 20:06 Vern Paxson +1988-05-07 Vern Paxson * ccl.c: added RCS id -1988-04-10 17:57 Vern Paxson +1988-04-10 Vern Paxson * README: minor tweaks -1988-04-10 17:42 Vern Paxson +1988-04-10 Vern Paxson * README: forgot sh flex.shar -1988-04-10 17:27 Vern Paxson +1988-04-10 Vern Paxson * README: final tweaking -1988-04-10 17:27 Vern Paxson +1988-04-10 Vern Paxson * tblcmp.c: removed minor lint fluff -1988-04-10 17:27 Vern Paxson +1988-04-10 Vern Paxson * NEWS: [no log message] -1988-04-10 16:55 Vern Paxson +1988-04-10 Vern Paxson * NEWS, README: Initial revision -1988-04-10 16:54 Vern Paxson +1988-04-10 Vern Paxson * yylex.c: added identifying comment. changed to include "parse.h" instead of "y.tab.h" -1988-04-10 16:53 Vern Paxson +1988-04-10 Vern Paxson * tblcmp.c: Changed name from flexcmp.c -> tblcmp.c fixed misc. typos made generating ec tables be a routine -1988-04-10 16:52 Vern Paxson +1988-04-10 Vern Paxson * sym.c: changed name from flexsym.c -> sym.c revamped calling - sequences, etc., for extended table struct definition which now - has both char * and int fields. + sequences, etc., for extended table struct definition which now has + both char * and int fields. -1988-04-10 16:51 Vern Paxson +1988-04-10 Vern Paxson * scan.l: Changed name from flexscan.l -> scan.l fixed bug in added block comments between rules. -1988-04-10 16:50 Vern Paxson +1988-04-10 Vern Paxson * parse.y: changed name from flexparse.y -> parse.y added start condition "INITIAL" made a{3} have "variable length" -1988-04-10 16:48 Vern Paxson +1988-04-10 Vern Paxson * nfa.c: changed name from flexnfa.c -> nfa.c corrected some typos. -1988-04-10 16:48 Vern Paxson +1988-04-10 Vern Paxson * misc.c: changed name from flexmisc.c -> misc.c -1988-04-10 16:46 Vern Paxson +1988-04-10 Vern Paxson * main.c: fixed bug causing core dumps if skeleton files could not - be opened. Added -cF. Added fullspd to be equivalent to fulltbl - for which options is cannot be mixed with. + be opened. Added -cF. Added fullspd to be equivalent to fulltbl + for which options is cannot be mixed with. -1988-04-10 16:45 Vern Paxson +1988-04-10 Vern Paxson * flexdef.h: fixed typos, enhanced symbol table definition. -1988-04-10 16:42 Vern Paxson +1988-04-10 Vern Paxson * ecs.c: changed name from flexecs.c to ecs.c -1988-04-10 16:42 Vern Paxson +1988-04-10 Vern Paxson * dfa.c: changed name from flexdfa.c to dfa.c -1988-04-10 16:42 Vern Paxson +1988-04-10 Vern Paxson * ccl.c: changed name from flexccl.c -> ccl.c -1988-02-13 06:00 Vern Paxson +1988-02-13 Vern Paxson - * ccl.c, tblcmp.c, dfa.c, ecs.c, main.c, misc.c, nfa.c, sym.c, - yylex.c, flexdef.h, parse.y, scan.l: Beta Release. + * ccl.c, dfa.c, ecs.c, flexdef.h, main.c, misc.c, nfa.c, parse.y, + scan.l, sym.c, tblcmp.c, yylex.c: Beta Release. -1987-11-08 17:24 Vern Paxson +1987-11-08 Vern Paxson - * ccl.c, tblcmp.c, flexdef.h, dfa.c, ecs.c, main.c, misc.c, nfa.c, - parse.y, scan.l, sym.c, yylex.c: Initial revision + * Initial revision diff --git a/external/bsd/flex/dist/INSTALL b/external/bsd/flex/dist/INSTALL index 23e5f25d0..7d1c323be 100644 --- a/external/bsd/flex/dist/INSTALL +++ b/external/bsd/flex/dist/INSTALL @@ -1,16 +1,25 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free -Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008, 2009 Free Software Foundation, Inc. -This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. Basic Installation ================== -These are generic installation instructions. + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -23,9 +32,9 @@ debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is +the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale -cache files.) +cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail @@ -35,30 +44,37 @@ some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. -The simplest way to compile this package is: + The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. + `./configure' to configure the package for your system. - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with - the package. + the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and - documentation. + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. - 5. You can remove the program binaries and object files from the + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is @@ -67,45 +83,69 @@ The simplest way to compile this package is: all sorts of other programs in order to regenerate files that came with the distribution. + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + Compilers and Options ===================== -Some systems require unusual options for compilation or linking that the -`configure' script does not know about. Run `./configure --help' for -details on some of the pertinent environment variables. + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== -You can compile the package for more than one kind of computer at the + You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the +own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. Installation Names ================== -By default, `make install' installs the package's commands under + By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you @@ -116,16 +156,47 @@ Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Optional Features -================= - -Some packages pay attention to `--enable-FEATURE' options to + Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The @@ -137,14 +208,53 @@ find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: @@ -152,7 +262,8 @@ type, such as `sun4', or a canonical name which has the form: where SYSTEM can have one of these forms: - OS KERNEL-OS + OS + KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't @@ -170,9 +281,9 @@ eventually be run) with `--host=TYPE'. Sharing Defaults ================ -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. @@ -181,7 +292,7 @@ A warning: not all `configure' scripts look for a site script. Defining Variables ================== -Variables not defined in a site shell script can be set in the + Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set @@ -190,21 +301,29 @@ them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). Here is a another example: +overridden in the site shell script). - /bin/bash ./configure CONFIG_SHELL=/bin/bash +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: -Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent -configuration-related scripts to be executed by `/bin/bash'. + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== -`configure' recognizes the following options to control how it operates. + `configure' recognizes the following options to control how it +operates. `--help' `-h' - Print a summary of the options to `configure', and exit. + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. `--version' `-V' @@ -231,6 +350,16 @@ configuration-related scripts to be executed by `/bin/bash'. Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. diff --git a/external/bsd/flex/dist/Makefile.am b/external/bsd/flex/dist/Makefile.am index 5bad6071e..63e5e65ce 100644 --- a/external/bsd/flex/dist/Makefile.am +++ b/external/bsd/flex/dist/Makefile.am @@ -66,6 +66,9 @@ flex_SOURCES = \ filter.c \ regex.c + +LDADD = lib/libcompat.a + libfl_a_SOURCES = \ libmain.c \ libyywrap.c @@ -90,21 +93,22 @@ noinst_HEADERS = \ include_HEADERS = \ FlexLexer.h -EXTRA_DIST = \ - .indent.pro \ +dist_doc_DATA = \ AUTHORS \ COPYING \ - INSTALL \ NEWS \ ONEWS \ README \ README.cvs \ - THANKS \ - TODO \ + TODO + +EXTRA_DIST = \ + .indent.pro \ + ABOUT-NLS \ + INSTALL \ autogen.sh \ flex.skl \ mkskel.sh \ - ABOUT-NLS \ config.rpath \ gettext.h @@ -112,9 +116,9 @@ BUILT_SOURCES = \ skel.c SUBDIRS = \ + lib \ . \ doc \ - m4 \ examples \ po \ tools \ @@ -154,11 +158,11 @@ tblcmp.o: tblcmp.c flexdef.h flexint.h yylex.o: yylex.c flexdef.h flexint.h parse.h filter.o: filter.c flexdef.h flexint.h -# Create the ChangeLog, but only if we're inside a cvs working directory +# Create the ChangeLog, but only if we're inside a git working directory -ChangeLog: $(srcdir)/tools/cvsauthors $(srcdir)/tools/cvs2cl.pl - if [ -d CVS ] ; then \ - sh $(srcdir)/tools/cvs2cl.pl -F trunk -U $(srcdir)/tools/cvsauthors \ +ChangeLog: $(srcdir)/tools/git2cl + if [ -d $(srcdir)/.git ] ; then \ + $(srcdir)/tools/git2cl > $@ \ ; fi # Run GNU indent on sources. Don't run this unless all the sources compile cleanly. @@ -205,4 +209,8 @@ indent: done \ fi +install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + $(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT) + .PHONY: ChangeLog tags indent diff --git a/external/bsd/flex/dist/Makefile.in b/external/bsd/flex/dist/Makefile.in index 2f8d444dc..4004c4235 100644 --- a/external/bsd/flex/dist/Makefile.in +++ b/external/bsd/flex/dist/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -51,15 +52,13 @@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -74,13 +73,14 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = flex$(EXEEXT) -DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ - $(noinst_HEADERS) $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/conf.in $(top_srcdir)/configure ABOUT-NLS AUTHORS \ - COPYING ChangeLog INSTALL NEWS README-alpha THANKS TODO \ - compile config.guess config.rpath config.sub depcomp \ - install-sh missing mkinstalldirs parse.c parse.h scan.c subdir = . +DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ + $(include_HEADERS) $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/conf.in \ + $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ + INSTALL NEWS README-alpha THANKS TODO compile config.guess \ + config.rpath config.sub depcomp install-sh missing \ + mkinstalldirs parse.c parse.h scan.c ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ @@ -90,19 +90,34 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno configure.status.lineno + configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; -am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(includedir)" -libLIBRARIES_INSTALL = $(INSTALL_DATA) + "$(DESTDIR)$(docdir)" "$(DESTDIR)$(includedir)" LIBRARIES = $(lib_LIBRARIES) AR = ar ARFLAGS = cru @@ -115,7 +130,6 @@ libfl_pic_a_LIBADD = am_libfl_pic_a_OBJECTS = libfl_pic_a-libmain.$(OBJEXT) \ libfl_pic_a-libyywrap.$(OBJEXT) libfl_pic_a_OBJECTS = $(am_libfl_pic_a_OBJECTS) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_flex_OBJECTS = ccl.$(OBJEXT) dfa.$(OBJEXT) ecs.$(OBJEXT) \ scanflags.$(OBJEXT) gen.$(OBJEXT) main.$(OBJEXT) \ @@ -126,26 +140,35 @@ am_flex_OBJECTS = ccl.$(OBJEXT) dfa.$(OBJEXT) ecs.$(OBJEXT) \ regex.$(OBJEXT) flex_OBJECTS = $(am_flex_OBJECTS) flex_LDADD = $(LDADD) -DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +flex_DEPENDENCIES = lib/libcompat.a +DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles +am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) +YLWRAP = $(top_srcdir)/ylwrap YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) SOURCES = $(libfl_a_SOURCES) $(libfl_pic_a_SOURCES) $(flex_SOURCES) DIST_SOURCES = $(libfl_a_SOURCES) $(libfl_pic_a_SOURCES) \ $(flex_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive -includeHEADERS_INSTALL = $(INSTALL_HEADER) + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +DATA = $(dist_doc_DATA) HEADERS = $(include_HEADERS) $(noinst_HEADERS) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) @@ -153,17 +176,40 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } + { test ! -d "$(distdir)" \ + || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr "$(distdir)"; }; } +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -187,8 +233,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -208,6 +256,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -217,6 +266,7 @@ 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@ POSUB = @POSUB@ @@ -228,14 +278,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -247,28 +296,40 @@ 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@ +localedir = $(datadir)/locale localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AM_YFLAGS = -d ACLOCAL_AMFLAGS = -I m4 m4 = @M4@ @@ -300,6 +361,7 @@ flex_SOURCES = \ filter.c \ regex.c +LDADD = lib/libcompat.a libfl_a_SOURCES = \ libmain.c \ libyywrap.c @@ -324,21 +386,22 @@ noinst_HEADERS = \ include_HEADERS = \ FlexLexer.h -EXTRA_DIST = \ - .indent.pro \ +dist_doc_DATA = \ AUTHORS \ COPYING \ - INSTALL \ NEWS \ ONEWS \ README \ README.cvs \ - THANKS \ - TODO \ + TODO + +EXTRA_DIST = \ + .indent.pro \ + ABOUT-NLS \ + INSTALL \ autogen.sh \ flex.skl \ mkskel.sh \ - ABOUT-NLS \ config.rpath \ gettext.h @@ -346,15 +409,14 @@ BUILT_SOURCES = \ skel.c SUBDIRS = \ + lib \ . \ doc \ - m4 \ examples \ po \ tools \ tests -localedir = $(datadir)/locale AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl # Run GNU indent on sources. Don't run this unless all the sources compile cleanly. @@ -403,15 +465,15 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \ - cd $(srcdir) && $(AUTOMAKE) --gnits \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnits'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --gnits \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -427,21 +489,22 @@ $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENC $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) - cd $(srcdir) && $(AUTOCONF) + $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/conf.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/conf.in: $(am__configure_deps) - cd $(top_srcdir) && $(AUTOHEADER) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ @@ -449,30 +512,33 @@ distclean-hdr: -rm -f config.h stamp-h1 install-libLIBRARIES: $(lib_LIBRARIES) @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" - @list='$(lib_LIBRARIES)'; for p in $$list; do \ + test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + list2=; for p in $$list; do \ if test -f $$p; then \ - f=$(am__strip_dir) \ - echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ - $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + list2="$$list2 $$p"; \ else :; fi; \ - done + done; \ + test -z "$$list2" || { \ + echo " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ + $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } @$(POST_INSTALL) - @list='$(lib_LIBRARIES)'; for p in $$list; do \ + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + for p in $$list; do \ if test -f $$p; then \ - p=$(am__strip_dir) \ - echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \ - $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \ + $(am__strip_dir) \ + echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ + ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ else :; fi; \ done uninstall-libLIBRARIES: @$(NORMAL_UNINSTALL) - @list='$(lib_LIBRARIES)'; for p in $$list; do \ - p=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ - rm -f "$(DESTDIR)$(libdir)/$$p"; \ - done + @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ + cd "$(DESTDIR)$(libdir)" && rm -f $$files clean-libLIBRARIES: -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) @@ -486,24 +552,38 @@ libfl_pic.a: $(libfl_pic_a_OBJECTS) $(libfl_pic_a_DEPENDENCIES) $(RANLIB) libfl_pic.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ - if test -f $$p \ - ; then \ - f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ - $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ - else :; fi; \ - done + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p; \ + then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; for p in $$list; do \ - f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ - rm -f "$(DESTDIR)$(bindir)/$$f"; \ - done + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) @@ -526,11 +606,11 @@ installcheck-binPROGRAMS: $(bin_PROGRAMS) parse.h: parse.c @if test ! -f $@; then \ rm -f parse.c; \ - $(MAKE) parse.c; \ + $(MAKE) $(AM_MAKEFLAGS) parse.c; \ else :; fi flex$(EXEEXT): $(flex_OBJECTS) $(flex_DEPENDENCIES) @rm -f flex$(EXEEXT) - $(LINK) $(flex_LDFLAGS) $(flex_OBJECTS) $(flex_LDADD) $(LIBS) + $(LINK) $(flex_OBJECTS) $(flex_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -565,90 +645,92 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yylex.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` libfl_pic_a-libmain.o: libmain.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.o -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libmain.Tpo" -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo" "$(DEPDIR)/libfl_pic_a-libmain.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.o -MD -MP -MF $(DEPDIR)/libfl_pic_a-libmain.Tpo -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libmain.Tpo $(DEPDIR)/libfl_pic_a-libmain.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmain.c' object='libfl_pic_a-libmain.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c libfl_pic_a-libmain.obj: libmain.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.obj -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libmain.Tpo" -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo" "$(DEPDIR)/libfl_pic_a-libmain.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libmain.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.obj -MD -MP -MF $(DEPDIR)/libfl_pic_a-libmain.Tpo -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libmain.Tpo $(DEPDIR)/libfl_pic_a-libmain.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmain.c' object='libfl_pic_a-libmain.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi` libfl_pic_a-libyywrap.o: libyywrap.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.o -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" "$(DEPDIR)/libfl_pic_a-libyywrap.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.o -MD -MP -MF $(DEPDIR)/libfl_pic_a-libyywrap.Tpo -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libyywrap.Tpo $(DEPDIR)/libfl_pic_a-libyywrap.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libyywrap.c' object='libfl_pic_a-libyywrap.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c libfl_pic_a-libyywrap.obj: libyywrap.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.obj -MD -MP -MF "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo" "$(DEPDIR)/libfl_pic_a-libyywrap.Po"; else rm -f "$(DEPDIR)/libfl_pic_a-libyywrap.Tpo"; exit 1; fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.obj -MD -MP -MF $(DEPDIR)/libfl_pic_a-libyywrap.Tpo -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libyywrap.Tpo $(DEPDIR)/libfl_pic_a-libyywrap.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libyywrap.c' object='libfl_pic_a-libyywrap.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi` .l.c: - $(LEXCOMPILE) $< - sed '/^#/ s|$(LEX_OUTPUT_ROOT)\.c|$@|' $(LEX_OUTPUT_ROOT).c >$@ - rm -f $(LEX_OUTPUT_ROOT).c + $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) .y.c: - $(YACCCOMPILE) $< - if test -f y.tab.h; then \ - to=`echo "$*_H" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'`; \ - sed -e "/^#/!b" -e "s/Y_TAB_H/$$to/g" -e "s|y\.tab\.h|$*.h|" \ - y.tab.h >$*.ht; \ - rm -f y.tab.h; \ - if cmp -s $*.ht $*.h; then \ - rm -f $*.ht ;\ - else \ - mv $*.ht $*.h; \ - fi; \ - fi - if test -f y.output; then \ - mv y.output $*.output; \ - fi - sed '/^#/ s|y\.tab\.c|$@|' y.tab.c >$@t && mv $@t $@ - rm -f y.tab.c -uninstall-info-am: + $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) +install-dist_docDATA: $(dist_doc_DATA) + @$(NORMAL_INSTALL) + test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" + @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ + done + +uninstall-dist_docDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(docdir)" && rm -f $$files install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(mkdir_p) "$(DESTDIR)$(includedir)" - @list='$(include_HEADERS)'; for p in $$list; do \ + test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f=$(am__strip_dir) \ - echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ - $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; for p in $$list; do \ - f=$(am__strip_dir) \ - echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ - rm -f "$(DESTDIR)$(includedir)/$$f"; \ - done + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(includedir)" && rm -f $$files # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -657,7 +739,7 @@ uninstall-includeHEADERS: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -674,16 +756,15 @@ $(RECURSIVE_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -709,16 +790,16 @@ maintainer-clean-recursive: else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -726,14 +807,14 @@ ID: $(HEADERS) $(SOURCES) $(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; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -745,39 +826,43 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) conf.in $(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; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + $(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; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + 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: ctags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) conf.in $(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; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + $(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) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags @@ -790,54 +875,71 @@ distdir: $(DISTFILES) exit 1;; \ esac $(am__remove_distdir) - mkdir $(distdir) - $(mkdir_p) $(distdir)/m4 $(distdir)/po - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done - -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r $(distdir) + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) @@ -845,6 +947,14 @@ dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz + $(am__remove_distdir) + dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) @@ -869,13 +979,17 @@ dist dist-all: distdir distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ - bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac @@ -883,9 +997,11 @@ distcheck: dist mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && cd $(distdir)/_build \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ @@ -907,13 +1023,15 @@ distcheck: dist && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: - @cd $(distuninstallcheck_dir) \ + @$(am__cd) '$(distuninstallcheck_dir)' \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ @@ -933,11 +1051,11 @@ distcleancheck: distclean check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(HEADERS) config.h +all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(includedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive @@ -960,6 +1078,7 @@ 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" @@ -986,18 +1105,39 @@ dvi-am: html: html-recursive +html-am: + info: info-recursive info-am: -install-data-am: install-includeHEADERS +install-data-am: install-dist_docDATA install-includeHEADERS + +install-dvi: install-dvi-recursive + +install-dvi-am: install-exec-am: install-binPROGRAMS install-libLIBRARIES + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook +install-html: install-html-recursive + +install-html-am: install-info: install-info-recursive +install-info-am: + install-man: +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + installcheck-am: installcheck-binPROGRAMS maintainer-clean: maintainer-clean-recursive @@ -1019,29 +1159,33 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ - uninstall-info-am uninstall-libLIBRARIES +uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \ + uninstall-includeHEADERS uninstall-libLIBRARIES -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ + ctags-recursive install install-am install-exec-am \ + install-strip tags-recursive -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ - check-am clean clean-binPROGRAMS clean-generic \ - clean-libLIBRARIES clean-recursive ctags ctags-recursive dist \ - dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-recursive distclean-tags \ - distcleancheck distdir distuninstallcheck dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-exec install-exec-am \ - install-includeHEADERS install-info install-info-am \ - install-libLIBRARIES install-man install-strip installcheck \ - installcheck-am installcheck-binPROGRAMS installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-binPROGRAMS \ + clean-generic clean-libLIBRARIES ctags ctags-recursive dist \ + dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-compile \ + distclean-generic distclean-hdr distclean-tags distcleancheck \ + distdir distuninstallcheck dvi dvi-am html html-am info \ + info-am install install-am install-binPROGRAMS install-data \ + install-data-am install-dist_docDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-exec-hook \ + install-html install-html-am install-includeHEADERS \ + install-info install-info-am install-libLIBRARIES install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am \ + installcheck-binPROGRAMS installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-includeHEADERS \ - uninstall-info-am uninstall-libLIBRARIES + uninstall-binPROGRAMS uninstall-dist_docDATA \ + uninstall-includeHEADERS uninstall-libLIBRARIES skel.c: flex.skl mkskel.sh flexint.h tables_shared.h @@ -1074,11 +1218,11 @@ tblcmp.o: tblcmp.c flexdef.h flexint.h yylex.o: yylex.c flexdef.h flexint.h parse.h filter.o: filter.c flexdef.h flexint.h -# Create the ChangeLog, but only if we're inside a cvs working directory +# Create the ChangeLog, but only if we're inside a git working directory -ChangeLog: $(srcdir)/tools/cvsauthors $(srcdir)/tools/cvs2cl.pl - if [ -d CVS ] ; then \ - sh $(srcdir)/tools/cvs2cl.pl -F trunk -U $(srcdir)/tools/cvsauthors \ +ChangeLog: $(srcdir)/tools/git2cl + if [ -d $(srcdir)/.git ] ; then \ + $(srcdir)/tools/git2cl > $@ \ ; fi indent: @@ -1090,7 +1234,12 @@ indent: done \ fi +install-exec-hook: + cd $(DESTDIR)/$(bindir) && \ + $(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT) + .PHONY: ChangeLog tags indent + # 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/external/bsd/flex/dist/NEWS b/external/bsd/flex/dist/NEWS index 19783b7ca..62d260d2c 100644 --- a/external/bsd/flex/dist/NEWS +++ b/external/bsd/flex/dist/NEWS @@ -3,6 +3,36 @@ changes between releases of flex. See the file COPYING for copying conditions. +* version 2.5.37 released 2012-08-03 + +** Import flex into git. See + git://flex.git.sourceforge.net/gitroot/flex/flex. + +** Fix make install target to not fail when the flex++ program is + already installed + +** New translations from the translation project: de, fi, pl, vi + +* version 2.5.36 released 2012-07-20 + +** various portability fixes that quiet compiler warnings on 64-bit + hosts + +** various manual fixes, including correcting the name of a %option and + updating some simple examples to use ANSI C syntax + +** various bug fixes that prevent certain error conditions from + persisting when they should not persist + +** improvements to the test suite so it behaves better when linking + compiled files + +** new translations from the translation project: ca, da, es, fi, fr, + ga, ko, pt_br, ro, ru, sv, tr, zh_cn + +** the flex distribution is now built with automake 1.10.1 and automake + 2.61 + * version 2.5.35 released 2008-02-26 ** fixed bug that prevented flex from accepting certain comments in the diff --git a/external/bsd/flex/dist/README.cvs b/external/bsd/flex/dist/README.cvs index 65d557617..9544b24d6 100644 --- a/external/bsd/flex/dist/README.cvs +++ b/external/bsd/flex/dist/README.cvs @@ -16,15 +16,15 @@ files needed to make building flex easy are included. You don't have that in the cvs tree. You will need various external tools in order to build the distribution. Here is -a (hopefully complete and correct) list of the required tools. Always get the latest -version of each tool; we list the versions used in development of +a (hopefully complete and correct) list of the required tools. Always get the +latest version of each tool; we list the versions used in development of flex, but the listed versions may not work for you. compiler suite; e.g., gcc bash or some other fairly robust sh-style shell GNU bison; to generate parse.c from parse.y GNU m4 1.4; required by GNU autoconf (yes, it *must* be GNU m4) -GNU autoconf 2.59 and GNU automake 1.9.6; for generating Makefiles etc. +GNU autoconf 2.60 and GNU automake 1.10; for generating Makefiles etc. GNU gettext 0.14.5; for i18n flex (latest beta release); for bootstrap of scan.l help2man 1.36; to generate the flex man page diff --git a/external/bsd/flex/dist/aclocal.m4 b/external/bsd/flex/dist/aclocal.m4 index f2cc5a663..212fb2623 100644 --- a/external/bsd/flex/dist/aclocal.m4 +++ b/external/bsd/flex/dist/aclocal.m4 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.6 -*- Autoconf -*- +# generated automatically by aclocal 1.11.1 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, -# 2005 Free Software Foundation, Inc. +# 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. @@ -11,7 +11,15 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],, +[m4_warning([this file was generated for autoconf 2.65. +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, @@ -21,14 +29,31 @@ # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) +# (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 so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +# 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.9.6])]) +[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 -*- @@ -85,14 +110,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# 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 7 +# serial 9 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- @@ -101,8 +126,11 @@ 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]) -AC_SUBST([$1_FALSE]) +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='#' @@ -116,15 +144,14 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) - -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# 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 8 +# 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, @@ -152,6 +179,7 @@ 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=]) @@ -180,6 +208,16 @@ AC_CACHE_CHECK([dependency style of $depcc], 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 @@ -197,7 +235,17 @@ AC_CACHE_CHECK([dependency style of $depcc], 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 @@ -207,18 +255,23 @@ AC_CACHE_CHECK([dependency style of $depcc], 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 - # 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. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -269,61 +322,74 @@ if test "x$enable_dependency_tracking" != xno; then AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) +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 +# 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 3 +#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; 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. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /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" +[{ + # 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 -done +} ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -342,14 +408,14 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. +# 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 12 +# 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. @@ -366,16 +432,20 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # 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.58])dnl +[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 -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +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 @@ -395,6 +465,9 @@ m4_ifval([$2], 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 @@ -410,8 +483,8 @@ AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP +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. @@ -419,20 +492,37 @@ 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([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 + [_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 + [_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 @@ -443,18 +533,19 @@ AC_PROVIDE_IFELSE([AC_PROG_CXX], # 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 - $1 | $1:* ) + $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# 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, @@ -465,7 +556,14 @@ echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"$am_aux_dir/install-sh"} +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. @@ -512,13 +610,13 @@ fi]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# 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 3 +# serial 4 # AM_MAKE_INCLUDE() # ----------------- @@ -527,7 +625,7 @@ AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. @@ -537,24 +635,24 @@ am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# 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 - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + 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]) @@ -562,16 +660,51 @@ 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, 2005 +# Copyright (C) 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 4 +# serial 6 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +]) + +# 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) # ------------------------------ @@ -587,7 +720,15 @@ AC_SUBST($1)]) # 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 -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +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 " @@ -597,7 +738,7 @@ else fi ]) -# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# 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, @@ -605,70 +746,33 @@ fi # AM_PROG_MKDIR_P # --------------- -# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. -# -# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories -# created by `make install' are always world readable, even if the -# installer happens to have an overly restrictive umask (e.g. 077). -# This was a mistake. There are at least two reasons why we must not -# use `-m 0755': -# - it causes special bits like SGID to be ignored, -# - it may be too restrictive (some setups expect 775 directories). -# -# Do not use -m 0755 and let people choose whatever they expect by -# setting umask. -# -# We cannot accept any implementation of `mkdir' that recognizes `-p'. -# Some implementations (such as Solaris 8's) are not thread-safe: if a -# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' -# concurrently, both version can detect that a/ is missing, but only -# one can create it and the other will error out. Consequently we -# restrict ourselves to GNU make (using the --version option ensures -# this.) +# Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], -[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' -else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d - done - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' - else - mkdir_p='$(install_sh) -d' - fi -fi -AC_SUBST([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 Free Software Foundation, Inc. +# 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 3 +# serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -685,7 +789,7 @@ AC_DEFUN([_AM_SET_OPTION], # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- @@ -695,14 +799,14 @@ AC_DEFUN([_AM_IF_OPTION], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# 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 4 +# serial 5 # AM_SANITY_CHECK # --------------- @@ -711,16 +815,29 @@ AC_DEFUN([AM_SANITY_CHECK], # 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` + 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` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ @@ -770,9 +887,28 @@ 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="\${SHELL} \$(install_sh) -c -s" +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. diff --git a/external/bsd/flex/dist/buf.c b/external/bsd/flex/dist/buf.c index 17ef4e80d..4026f395c 100644 --- a/external/bsd/flex/dist/buf.c +++ b/external/bsd/flex/dist/buf.c @@ -1,4 +1,4 @@ -/* $NetBSD: buf.c,v 1.1.1.1 2009/10/26 00:25:04 christos Exp $ */ +/* $NetBSD: buf.c,v 1.2 2013/04/06 14:27:52 christos Exp $ */ /* flex - tool to generate fast lexical analyzers */ @@ -76,6 +76,8 @@ struct Buf *buf_prints (struct Buf *buf, const char *fmt, const char *s) size_t tsz; t = flex_alloc (tsz = strlen (fmt) + strlen (s) + 1); + if (!t) + flexfatal (_("Allocation of buffer to print string failed")); snprintf (t, tsz, fmt, s); buf = buf_strappend (buf, t); flex_free (t); @@ -90,11 +92,21 @@ struct Buf *buf_prints (struct Buf *buf, const char *fmt, const char *s) */ struct Buf *buf_linedir (struct Buf *buf, const char* filename, int lineno) { - char *t, *fmt = "#line %d \"%s\"\n"; - size_t tsz; - - t = flex_alloc (tsz = strlen (fmt) + strlen (filename) + (int)(1 + log10(lineno>=0?lineno:-lineno)) + 1); - snprintf (t, tsz, fmt, lineno, filename); + char *dst, *t; + const char *src; + + t = flex_alloc (strlen ("#line \"\"\n") + /* constant parts */ + 2 * strlen (filename) + /* filename with possibly all backslashes escaped */ + (int) (1 + log10 (abs (lineno))) + /* line number */ + 1); /* NUL */ + if (!t) + flexfatal (_("Allocation of buffer for line directive failed")); + for (dst = t + sprintf (t, "#line %d \"", lineno), src = filename; *src; *dst++ = *src++) + if (*src == '\\') /* escape backslashes */ + *dst++ = '\\'; + *dst++ = '"'; + *dst++ = '\n'; + *dst = '\0'; buf = buf_strappend (buf, t); flex_free (t); return buf; @@ -164,6 +176,8 @@ struct Buf *buf_m4_define (struct Buf *buf, const char* def, const char* val) val = val?val:""; str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(def) + strlen(val) + 2); + if (!str) + flexfatal (_("Allocation of buffer for m4 def failed")); snprintf(str, strsz, fmt, def, val); buf_append(buf, &str, 1); @@ -182,6 +196,8 @@ struct Buf *buf_m4_undefine (struct Buf *buf, const char* def) size_t strsz; str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(def) + 2); + if (!str) + flexfatal (_("Allocation of buffer for m4 undef failed")); snprintf(str, strsz, fmt, def); buf_append(buf, &str, 1); diff --git a/external/bsd/flex/dist/compile b/external/bsd/flex/dist/compile index 1b1d23216..c0096a7b5 100755 --- a/external/bsd/flex/dist/compile +++ b/external/bsd/flex/dist/compile @@ -1,9 +1,10 @@ #! /bin/sh # Wrapper for compilers which do not understand `-c -o'. -scriptversion=2005-05-14.22 +scriptversion=2009-10-06.20; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software +# Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,8 +18,7 @@ scriptversion=2005-05-14.22 # 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. +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -103,13 +103,13 @@ if test -z "$ofile" || test -z "$cfile"; then fi # Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` +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 +# 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 +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break @@ -124,9 +124,9 @@ trap "rmdir '$lockdir'; exit 1" 1 2 15 ret=$? if test -f "$cofile"; then - mv "$cofile" "$ofile" + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then - mv "${cofile}bj" "$ofile" + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" @@ -138,5 +138,6 @@ exit $ret # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/external/bsd/flex/dist/conf.in b/external/bsd/flex/dist/conf.in index 7f73b843a..984b54368 100644 --- a/external/bsd/flex/dist/conf.in +++ b/external/bsd/flex/dist/conf.in @@ -85,6 +85,9 @@ /* Define to 1 if you have the `regcomp' function. */ #undef HAVE_REGCOMP +/* Define to 1 if you have the header file. */ +#undef HAVE_REGEX_H + /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE @@ -139,9 +142,12 @@ /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL -/* Define to the GNU M4 executable name. */ +/* Define to the m4 executable name. */ #undef M4 +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + /* Name of package */ #undef PACKAGE @@ -157,12 +163,15 @@ /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME +/* Define to the home page for this package. */ +#undef PACKAGE_URL + /* Define to the version of this package. */ #undef PACKAGE_VERSION /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. + automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ @@ -190,7 +199,7 @@ /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc -/* Define to `unsigned' if does not define. */ +/* Define to `unsigned int' if does not define. */ #undef size_t /* Define as `fork' if `vfork' does not work. */ diff --git a/external/bsd/flex/dist/config.guess b/external/bsd/flex/dist/config.guess index ad5281e66..051b75821 100755 --- a/external/bsd/flex/dist/config.guess +++ b/external/bsd/flex/dist/config.guess @@ -1,9 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2005-08-03' +timestamp='2009-06-10' # 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 @@ -55,8 +56,8 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -106,7 +107,7 @@ set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; @@ -160,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -168,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -206,8 +208,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; macppc:MirBSD:*:*) - echo powerppc-unknown-mirbsd${UNAME_RELEASE} + echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} @@ -319,14 +324,30 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -527,7 +548,7 @@ EOF echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -635,7 +656,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -764,12 +785,19 @@ EOF echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + case ${UNAME_MACHINE} in + pc98) + echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; - i*:MINGW*:*) + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) @@ -779,12 +807,24 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[34]*) - echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' - exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd | genuineintel) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -812,9 +852,19 @@ EOF echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix + echo ${UNAME_MACHINE}-elf32-minix # MINIX, LSC, Should help a bit exit ;; arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) @@ -835,42 +885,27 @@ EOF m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^CPU/{ + s: ::g + p + }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) @@ -892,10 +927,13 @@ EOF EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -919,9 +957,15 @@ EOF sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-gnu + exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -937,17 +981,6 @@ EOF elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -964,7 +997,7 @@ EOF LIBC=gnulibc1 # endif #else - #ifdef __INTEL_COMPILER + #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout @@ -974,7 +1007,11 @@ EOF LIBC=dietlibc #endif EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' + /^LIBC/{ + s: ::g + p + }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit @@ -1009,7 +1046,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1053,8 +1090,11 @@ EOF pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 @@ -1092,6 +1132,16 @@ EOF 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1104,7 +1154,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1167,6 +1217,9 @@ EOF BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1176,6 +1229,15 @@ EOF SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1185,7 +1247,6 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in - *86) UNAME_PROCESSOR=i686 ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} @@ -1264,6 +1325,12 @@ EOF i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1424,9 +1491,9 @@ This script, last modified $timestamp, has failed to recognize the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be diff --git a/external/bsd/flex/dist/config.sub b/external/bsd/flex/dist/config.sub index 1c366dfde..eb0389a69 100755 --- a/external/bsd/flex/dist/config.sub +++ b/external/bsd/flex/dist/config.sub @@ -1,9 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2005-07-08' +timestamp='2009-06-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -71,8 +72,8 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 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." @@ -119,8 +120,10 @@ esac # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in - nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ - kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ + uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; @@ -150,6 +153,9 @@ case $os in os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -171,6 +177,10 @@ case $os in -hiux*) os=-hiuxwe2 ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -187,6 +197,10 @@ case $os in # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -231,20 +245,24 @@ case $basic_machine in | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64vr | mips64vrel \ + | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -257,26 +275,26 @@ case $basic_machine in | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ - | ms1 \ + | moxie \ + | mt \ | msp430 \ + | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b \ - | strongarm \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ - | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) - basic_machine=$basic_machine-unknown - ;; - m32c) + | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ + | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) @@ -286,6 +304,9 @@ case $basic_machine in ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; + ms1) + basic_machine=mt-unknown + ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and @@ -305,25 +326,28 @@ case $basic_machine in | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* \ + | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | m32r-* | m32rle-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64vr-* | mips64vrel-* \ + | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -336,30 +360,33 @@ case $basic_machine in | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ - | ms1-* \ + | mt-* \ | msp430-* \ + | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ - | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) ;; - m32c-*) + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. @@ -423,6 +450,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -431,10 +462,26 @@ case $basic_machine in basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -463,8 +510,8 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -502,6 +549,10 @@ case $basic_machine in basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -656,6 +707,14 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -671,6 +730,10 @@ case $basic_machine in basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -696,6 +759,9 @@ case $basic_machine in basic_machine=i386-pc os=-msdos ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; mvs) basic_machine=i370-ibm os=-mvs @@ -794,6 +860,14 @@ case $basic_machine in basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -803,6 +877,12 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; @@ -859,6 +939,10 @@ case $basic_machine in basic_machine=i586-unknown os=-pw32 ;; + rdos) + basic_machine=i386-pc + os=-rdos + ;; rom68k) basic_machine=m68k-rom68k os=-coff @@ -885,6 +969,10 @@ case $basic_machine in sb1el) basic_machine=mipsisa64sb1el-unknown ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; sei) basic_machine=mips-sei os=-seiux @@ -896,6 +984,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -985,6 +1076,10 @@ case $basic_machine in basic_machine=tic6x-unknown os=-coff ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -1060,6 +1155,10 @@ case $basic_machine in basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1098,10 +1197,10 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; - sparc | sparcv8 | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) @@ -1168,27 +1267,30 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ + | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1318,6 +1420,9 @@ case $os in -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; -none) ;; *) @@ -1340,6 +1445,12 @@ else # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; *-acorn) os=-riscix1.2 ;; @@ -1349,9 +1460,9 @@ case $basic_machine in arm*-semi) os=-aout ;; - c4x-* | tic4x-*) - os=-coff - ;; + c4x-* | tic4x-*) + os=-coff + ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 @@ -1377,6 +1488,9 @@ case $basic_machine in m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; @@ -1506,7 +1620,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff --git a/external/bsd/flex/dist/configure b/external/bsd/flex/dist/configure index 5fefb23ee..30106ae71 100755 --- a/external/bsd/flex/dist/configure +++ b/external/bsd/flex/dist/configure @@ -1,83 +1,418 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for the fast lexical analyser generator 2.5.35. +# Generated by GNU Autoconf 2.65 for the fast lexical analyser generator 2.5.37. # # Report bugs to . # -# Copyright (C) 2003 Free Software Foundation, Inc. +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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 Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +# 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=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -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 - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset + setopt NO_GLOB_SUBST else - as_unset=false + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +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. +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. -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 -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +# 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 +test \$(( 1 + 1 )) = 2 || 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. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$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 and +$0: flex-help@lists.sourceforge.net 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 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=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&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 +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 -# Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_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' @@ -85,146 +420,107 @@ 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 - - # 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 | + 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 - s,$,-, - : loop - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop - s,-$,, - s,^['$as_cr_digits']*\n,, + s/-\n.*// ' >$as_me.lineno && - chmod +x $as_me.lineno || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 - { (exit 1); exit 1; }; } + 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 sensible to this). - . ./$as_me.lineno + # original and so on. Autoconf is especially sensitive 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= ;; +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 -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - 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 +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 -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$$.file +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=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -as_executable_p="test -f" +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'" @@ -233,90 +529,225 @@ 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 - +test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # 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='the fast lexical analyser generator' PACKAGE_TARNAME='flex' -PACKAGE_VERSION='2.5.35' -PACKAGE_STRING='the fast lexical analyser generator 2.5.35' +PACKAGE_VERSION='2.5.37' +PACKAGE_STRING='the fast lexical analyser generator 2.5.37' PACKAGE_BUGREPORT='flex-help@lists.sourceforge.net' +PACKAGE_URL='' ac_unique_file="scan.l" +ac_config_libobj_dir=lib # Factoring default headers for most tests. ac_includes_default="\ #include -#if HAVE_SYS_TYPES_H +#ifdef HAVE_SYS_TYPES_H # include #endif -#if HAVE_SYS_STAT_H +#ifdef HAVE_SYS_STAT_H # include #endif -#if STDC_HEADERS +#ifdef STDC_HEADERS # include # include #else -# if HAVE_STDLIB_H +# ifdef HAVE_STDLIB_H # include # endif #endif -#if HAVE_STRING_H -# if !STDC_HEADERS && HAVE_MEMORY_H +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif -#if HAVE_STRINGS_H +#ifdef HAVE_STRINGS_H # include #endif -#if HAVE_INTTYPES_H +#ifdef HAVE_INTTYPES_H # include -#else -# if HAVE_STDINT_H -# include -# endif #endif -#if HAVE_UNISTD_H +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H # include #endif" -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 INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB YACC LEX LEXLIB LEX_OUTPUT_ROOT CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE LN_S RANLIB ac_ct_RANLIB BISON HELP2MAN M4 INDENT ALLOCA CPP EGREP LIBOBJS LTLIBOBJS' +ac_subst_vars='am__EXEEXT_FALSE +am__EXEEXT_TRUE +LTLIBOBJS +LIBOBJS +ALLOCA +EGREP +GREP +CPP +INDENT +M4 +HELP2MAN +BISON +RANLIB +LN_S +am__fastdepCXX_FALSE +am__fastdepCXX_TRUE +CXXDEPMODE +ac_ct_CXX +CXXFLAGS +CXX +LEXLIB +LEX_OUTPUT_ROOT +LEX +YFLAGS +YACC +POSUB +LTLIBINTL +LIBINTL +INTLLIBS +LTLIBICONV +LIBICONV +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +am__fastdepCC_FALSE +am__fastdepCC_TRUE +CCDEPMODE +AMDEPBACKSLASH +AMDEP_FALSE +AMDEP_TRUE +am__quote +am__include +DEPDIR +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +MSGMERGE +XGETTEXT +GMSGFMT +MSGFMT +USE_NLS +MKINSTALLDIRS +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 +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_nls +enable_dependency_tracking +with_gnu_ld +enable_rpath +with_libiconv_prefix +with_libintl_prefix +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +YACC +YFLAGS +CXX +CXXFLAGS +CCC +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 @@ -339,34 +770,48 @@ 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' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +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" + eval $ac_prev=\$ac_option ac_prev= continue fi - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; + esac # Accept the important Cygnus configure options, so we can diagnose typos. - case $ac_option in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; @@ -388,33 +833,59 @@ do --config-cache | -C) cache_file=config.cache ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) + -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_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - 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" ;; + 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_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - 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 ;; + 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_feature='$ac_optarg'" ;; + eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -441,6 +912,12 @@ 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 ;; @@ -465,13 +942,16 @@ 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 | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) @@ -536,6 +1016,16 @@ 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 ;; @@ -586,26 +1076,36 @@ do ac_init_version=: ;; -with-* | --with-*) - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - 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 ;; + 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_package='$ac_optarg'" ;; + eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - 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" ;; + 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. @@ -625,26 +1125,25 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) { echo "$as_me: error: unrecognized option: $ac_option -Try \`$0 --help' for more information." >&2 - { (exit 1); exit 1; }; } + -*) 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. - 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'" + 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. - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; @@ -653,31 +1152,36 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - { echo "$as_me: error: missing argument to $ac_option" >&2 - { (exit 1); exit 1; }; } + as_fn_error "missing argument to $ac_option" fi -# Be sure to have absolute paths. -for ac_var in exec_prefix prefix -do - eval ac_val=$`echo $ac_var` - case $ac_val in - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; +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 -done +fi -# Be sure to have absolute paths. -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir +# 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=$`echo $ac_var` + eval ac_val=\$$ac_var + # Remove trailing slashes. case $ac_val in - [\\/$]* | ?:[\\/]* ) ;; - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 - { (exit 1); exit 1; }; };; + */ ) + 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' @@ -691,7 +1195,7 @@ target=$target_alias if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + $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 @@ -704,82 +1208,72 @@ 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 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'` + # 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 + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "$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 +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 -(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_CXX_set=${CXX+set} -ac_env_CXX_value=$CXX -ac_cv_env_CXX_set=${CXX+set} -ac_cv_env_CXX_value=$CXX -ac_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_env_CXXFLAGS_value=$CXXFLAGS -ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} -ac_cv_env_CXXFLAGS_value=$CXXFLAGS -ac_env_CPP_set=${CPP+set} -ac_env_CPP_value=$CPP -ac_cv_env_CPP_set=${CPP+set} -ac_cv_env_CPP_value=$CPP +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. @@ -788,7 +1282,7 @@ 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 the fast lexical analyser generator 2.5.35 to adapt to many kinds of systems. +\`configure' configures the fast lexical analyser generator 2.5.37 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -808,14 +1302,11 @@ Configuration: -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 @@ -825,18 +1316,25 @@ 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] - --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] + --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/flex] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF @@ -854,11 +1352,12 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of the fast lexical analyser generator 2.5.35:";; + short | recursive ) echo "Configuration of the fast lexical analyser generator 2.5.37:";; 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] --disable-nls do not use Native Language Support @@ -880,8 +1379,14 @@ Some influential environment variables: CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory - CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have - headers in a nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + YACC The `Yet Another C Compiler' implementation to use. Defaults to + the first program found out of: `bison -y', `byacc', `yacc'. + YFLAGS The list of arguments that will be passed by default to $YACC. + This script will default YFLAGS to the empty string to avoid a + default value of `-d' given by some make applications. CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor @@ -891,120 +1396,537 @@ it to find libraries and programs with nonstandard names/locations. Report bugs to . _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 || continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue ac_builddir=. -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 "$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 - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + 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 ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + 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 -# 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 + 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 - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi - cd "$ac_popdir" + $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 0 +test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -the fast lexical analyser generator configure 2.5.35 -generated by GNU Autoconf 2.59 +the fast lexical analyser generator configure 2.5.37 +generated by GNU Autoconf 2.65 -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2009 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 0 + exit fi -exec 5>config.log -cat >&5 <<_ACEOF + +## ------------------------ ## +## 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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + 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>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_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_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_cxx_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; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_cxx_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; } >/dev/null && { + 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 +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_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 : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( cat <<\_ASBOX +## ---------------------------------------------- ## +## Report this to flex-help@lists.sourceforge.net ## +## ---------------------------------------------- ## +_ASBOX + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_compile + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=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 +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_type + +# ac_fn_c_check_func LINENO FUNC VAR +# ---------------------------------- +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_c_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case declares $2. + For example, HP-UX 11i declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_func +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 the fast lexical analyser generator $as_me 2.5.35, which was -generated by GNU Autoconf 2.59. Invocation command line was +It was created by the fast lexical analyser generator $as_me 2.5.37, which was +generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ _ACEOF +exec 5>>config.log { cat <<_ASUNAME ## --------- ## @@ -1023,7 +1945,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` -hostinfo = `(hostinfo) 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` @@ -1035,8 +1957,9 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" -done + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS } >&5 @@ -1058,7 +1981,6 @@ _ACEOF ac_configure_args= ac_configure_args0= ac_configure_args1= -ac_sep= ac_must_keep_next=false for ac_pass in 1 2 do @@ -1069,13 +1991,13 @@ do -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) - ac_configure_args1="$ac_configure_args1 '$ac_arg'" + 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 @@ -1091,21 +2013,19 @@ do -* ) ac_must_keep_next=true ;; esac fi - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" - # Get rid of the leading space. - ac_sep=" " + as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done -$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; } +{ 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: Be sure not to use single quotes in there, as some shells, -# such as our DU 5.0 friend, will then `close' the trap. +# 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. { @@ -1118,20 +2038,35 @@ trap 'exit_status=$? _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 `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in - *ac_space=\ *) + 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" - ;; + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( *) - sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} + esac | + sort +) echo cat <<\_ASBOX @@ -1142,22 +2077,28 @@ _ASBOX echo for ac_var in $ac_subst_vars do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + 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 cat <<\_ASBOX -## ------------- ## -## Output files. ## -## ------------- ## +## ------------------- ## +## File substitutions. ## +## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do - eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + 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 @@ -1169,26 +2110,26 @@ _ASBOX ## ----------- ## _ASBOX echo - sed "/^$/d" confdefs.h | sort + cat confdefs.h echo fi test "$ac_signal" != 0 && - echo "$as_me: caught signal $ac_signal" - echo "$as_me: exit $exit_status" + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core && - rm -rf conftest* confdefs* conf$$* $ac_clean_files && + rm -f core *.core core.conftest.* && + rm -f -r 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'; { (exit 1); exit 1; }' $ac_signal + 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 -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo >confdefs.h +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. @@ -1196,112 +2137,128 @@ 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 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 +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + ac_site_file1=$CONFIG_SITE +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 $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;} +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" 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. - if test -f "$cache_file"; then - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 -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. 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;; + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; esac fi else - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 -echo "$as_me: creating cache $cache_file" >&6;} + { $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 `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do +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" + 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,) - { 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;} + { $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) - { 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;} + { $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 - { 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=: + # 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=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *\'*) 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. - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then - { 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; }; } + { $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' @@ -1311,56 +2268,30 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu +am__api_version='1.11' - - - - - - - - - - - - - - - - - - - - - - - - -am__api_version="1.9" ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $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 +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + for ac_t in install-sh install.sh shtool; do + if test -f "$ac_dir/$ac_t"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/$ac_t -c" + break 2 + fi + done done if test -z "$ac_aux_dir"; then - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi -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. + +# 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. + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -1375,22 +2306,23 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # 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. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +# 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 test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test "${ac_cv_path_install+set}" = set; 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/* | \ + # 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\\/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -1398,7 +2330,7 @@ case $as_dir/ in # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + 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. @@ -1408,30 +2340,43 @@ case $as_dir/ in # program-specific install script used by HP pwplus--don't use. : else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 + 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 + 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. We don't cache a - # path for INSTALL within a source directory, because that will + # 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 path is relative. + # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$INSTALL" >&6 +{ $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. @@ -1441,21 +2386,34 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -echo "$as_me:$LINENO: checking whether build environment is sane" >&5 -echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 +{ $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` + 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` + set X `ls -t "$srcdir/configure" conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ @@ -1465,11 +2423,8 @@ if ( # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". - { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&5 -echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken -alias in your environment" >&2;} - { (exit 1); exit 1; }; } + 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 @@ -1478,81 +2433,206 @@ then # Ok. : else - { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! -Check your system clock" >&5 -echo "$as_me: error: newly created file is older than distributed files! -Check your system clock" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 fi -echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +{ $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" + 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 $. echo might interpret backslashes. + program_transform_name="s&\$&$program_suffix&;$program_transform_name" +# Double any \ or $. # By default was `s,x,x', remove it if useless. -cat <<\_ACEOF >conftest.sed -s/[\\$]/&&/g;s/;s,x,x,$// -_ACEOF -program_transform_name=`echo $program_transform_name | sed -f conftest.sed` -rm conftest.sed +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` -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +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= - { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 -echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} + { $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 mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then - # We used to keeping the `.' as first argument, in order to - # allow $(mkdir_p) to be used without argument. As in - # $(mkdir_p) $(somedir) - # where $(somedir) is conditionally defined. However this is wrong - # for two reasons: - # 1. if the package is installed by a user who cannot write `.' - # make install will fail, - # 2. the above comment should most certainly read - # $(mkdir_p) $(DESTDIR)$(somedir) - # so it does not work when $(somedir) is undefined and - # $(DESTDIR) is not. - # To support the latter case, we have to write - # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), - # so the `.' trick is pointless. - mkdir_p='mkdir -p --' +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 test "${ac_cv_prog_STRIP+set}" = set; then : + $as_echo_n "(cached) " >&6 else - # On NextStep and OpenStep, the `mkdir' command does not - # recognize any option. It will interpret all options as - # directories to create, and then abort because `.' already - # exists. - for d in ./-p ./--version; - do - test -d $d && rmdir $d + 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 - # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. - if test -f "$ac_aux_dir/mkinstalldirs"; then - mkdir_p='$(mkinstalldirs)' +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 test "${ac_cv_prog_ac_ct_STRIP+set}" = set; 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 - mkdir_p='$(install_sh) -d' + 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 test "${ac_cv_path_mkdir+set}" = set; 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. @@ -1562,55 +2642,59 @@ 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 + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$AWK" && break done -echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF +SHELL = /bin/sh all: - @echo 'ac_maketemp="$(MAKE)"' + @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi +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 \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 +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 - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -1623,12 +2707,14 @@ else fi rmdir .tst 2>/dev/null -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 -echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} - { (exit 1); exit 1; }; } +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 @@ -1643,7 +2729,7 @@ fi # Define the identity of the package. PACKAGE='flex' - VERSION='2.5.35' + VERSION='2.5.37' cat >>confdefs.h <<_ACEOF @@ -1671,96 +2757,6 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} -install_sh=${install_sh-"$am_aux_dir/install-sh"} - -# 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - echo "$as_me:$LINENO: result: $STRIP" >&5 -echo "${ECHO_T}$STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}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 -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_STRIP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done - - test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 -echo "${ECHO_T}$ac_ct_STRIP" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - STRIP=$ac_ct_STRIP -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" - # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. @@ -1773,7 +2769,8 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - ac_config_headers="$ac_config_headers config.h:conf.in" +ac_config_headers="$ac_config_headers config.h:conf.in" + # checks for programs @@ -1792,17 +2789,17 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' - echo "$as_me:$LINENO: checking whether NLS is requested" >&5 -echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes -fi; - echo "$as_me:$LINENO: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } @@ -1839,10 +2836,10 @@ rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; 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_path_MSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSGFMT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case "$MSGFMT" in [\\/]* | ?:[\\/]*) @@ -1870,19 +2867,19 @@ esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then - echo "$as_me:$LINENO: result: $MSGFMT" >&5 -echo "${ECHO_T}$MSGFMT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; 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_path_GMSGFMT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_GMSGFMT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) @@ -1894,31 +2891,32 @@ 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 + 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_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT - if test -n "$GMSGFMT"; then - echo "$as_me:$LINENO: result: $GMSGFMT" >&5 -echo "${ECHO_T}$GMSGFMT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then @@ -1949,10 +2947,10 @@ rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; 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_path_XGETTEXT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_XGETTEXT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in [\\/]* | ?:[\\/]*) @@ -1980,11 +2978,11 @@ esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then - echo "$as_me:$LINENO: result: $XGETTEXT" >&5 -echo "${ECHO_T}$XGETTEXT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi rm -f messages.po @@ -2020,10 +3018,10 @@ rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; 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_path_MSGMERGE+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_MSGMERGE+set}" = set; then : + $as_echo_n "(cached) " >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) @@ -2050,11 +3048,11 @@ esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then - echo "$as_me:$LINENO: result: $MSGMERGE" >&5 -echo "${ECHO_T}$MSGMERGE" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi @@ -2064,8 +3062,8 @@ fi : ; else GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` - echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 -echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 +$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } GMSGFMT=":" fi fi @@ -2075,14 +3073,14 @@ echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6 (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then : ; else - echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 -echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 +$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi rm -f messages.po fi - ac_config_commands="$ac_config_commands default-1" + ac_config_commands="$ac_config_commands default-1" @@ -2103,60 +3101,58 @@ echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6 DEPDIR="${am__leading_dot}deps" - ac_config_commands="$ac_config_commands depfiles" +ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: - @echo done + @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. -echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 -echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +{ $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 -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi +# 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 - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi + case `$am_make -s -f confmf 2> /dev/null` in #( + *the\ am__doit\ target*) + am__include=.include + am__quote="\"" + _am_result=BSD + ;; + esac fi -echo "$as_me:$LINENO: result: $_am_result" >&5 -echo "${ECHO_T}$_am_result" >&6 +{ $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 or --disable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then - enableval="$enable_dependency_tracking" +# Check whether --enable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then : + enableval=$enable_dependency_tracking; +fi -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 + if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else @@ -2165,7 +3161,6 @@ else fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -2174,10 +3169,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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2187,35 +3182,37 @@ 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 + 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="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -2225,39 +3222,50 @@ 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 + 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_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC + 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 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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2267,77 +3275,37 @@ 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 + 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="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2348,18 +3316,19 @@ 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 + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -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. @@ -2377,24 +3346,25 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl + for ac_prog in cl.exe 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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -2404,39 +3374,41 @@ 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 + 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="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; 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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -2446,66 +3418,78 @@ 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 + 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_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CC" && break done - CC=$ac_ct_CC + 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 fi fi -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; }; } +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; } # Provide some information about the compiler. -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 &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 +$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 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $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 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2517,112 +3501,109 @@ main () } _ACEOF ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.exe b.out" +ac_clean_files="$ac_clean_files a.out a.out.dSYM 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. -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=$? - 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. +{ $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[^ ]*//'` -# 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 +# 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 + 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 '' do test -f "$ac_file" || continue case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; - conftest.$ac_ext ) - # This is the source file. + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) - 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 + 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. break;; * ) break;; esac done +test "$ac_cv_exeext" = no && ac_cv_exeext= + else - echo "$as_me: failed program was:" >&5 + 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 sed 's/^/| /' conftest.$ac_ext >&5 -{ { 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; }; } +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ as_fn_set_status 77 +as_fn_error "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; } 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 a.out a.exe conftest$ac_cv_exeext b.out +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save -# 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 +{ $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 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; 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 @@ -2630,38 +3611,90 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&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 | *.o | *.obj ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext break;; * ) break;; esac done else - { { 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; }; } + { { $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; } fi - -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 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_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} _ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_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 test "${ac_cv_objext+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2673,45 +3706,46 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 +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 ac_status=$? - 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 + $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; case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else - echo "$as_me: failed program was:" >&5 + $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&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; }; } +{ { $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; } fi - rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 -echo "${ECHO_T}$ac_cv_objext" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -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 +{ $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 test "${ac_cv_c_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -2725,54 +3759,34 @@ main () 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu 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` +{ $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 ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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 @@ -2783,38 +3797,49 @@ main () 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -ac_cv_prog_cc_g=no +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 conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +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 @@ -2830,18 +3855,14 @@ else CFLAGS= fi fi -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 +{ $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 test "${ac_cv_prog_cc_c89+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_stdc=no + ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -2869,12 +3890,17 @@ 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 -std1 is added to get + as 'x'. The following induces an error, until -std 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 -std1. */ + that's true only with -std. */ 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);}; @@ -2889,201 +3915,37 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; return 0; } _ACEOF -# 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__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $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 - + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg fi -rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest.$ac_ext conftest.$ac_objext +rm -f conftest.$ac_ext CC=$ac_save_CC fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; +# 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; } ;; *) - 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" ;; + 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; } ;; esac - -# 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 -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 +if test "x$ac_cv_prog_cc_c89" != xno; then : 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' @@ -3092,10 +3954,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; 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 @@ -3120,6 +3982,11 @@ else 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 @@ -3137,7 +4004,17 @@ else 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 @@ -3147,18 +4024,23 @@ 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 - # 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. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -3182,13 +4064,11 @@ else fi fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +{ $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 + if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= @@ -3200,67 +4080,84 @@ fi # Make sure we can run config.sub. -$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; }; } +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if test "${ac_cv_build+set}" = set; then : + $as_echo_n "(cached) " >&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; }; } + 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 -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 -echo "${ECHO_T}$ac_cv_build" >&6 +{ $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 -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/'` +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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if test "${ac_cv_host+set}" = set; then : + $as_echo_n "(cached) " >&6 else - 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; }; } + 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 -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 -echo "${ECHO_T}$ac_cv_host" >&6 +{ $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 -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/'` +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 -# Check whether --with-gnu-ld or --without-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then - withval="$with_gnu_ld" - test "$withval" = no || with_gnu_ld=yes +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no -fi; +fi + # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then @@ -3277,8 +4174,8 @@ fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. - echo "$as_me:$LINENO: checking for ld used by GCC" >&5 -echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -3307,14 +4204,14 @@ echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6 ;; esac elif test "$with_gnu_ld" = yes; then - echo "$as_me:$LINENO: checking for GNU ld" >&5 -echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } else - echo "$as_me:$LINENO: checking for non-GNU ld" >&5 -echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${acl_cv_path_LD+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test "${acl_cv_path_LD+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" @@ -3340,19 +4237,17 @@ fi LD="$acl_cv_path_LD" if test -n "$LD"; then - echo "$as_me:$LINENO: result: $LD" >&5 -echo "${ECHO_T}$LD" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 -echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} - { (exit 1); exit 1; }; } -echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 -echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 -if test "${acl_cv_prog_gnu_ld+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if test "${acl_cv_prog_gnu_ld+set}" = set; then : + $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then @@ -3361,16 +4256,16 @@ else acl_cv_prog_gnu_ld=no fi fi -echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 -echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld - echo "$as_me:$LINENO: checking for shared library run path origin" >&5 -echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 -if test "${acl_cv_rpath+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if test "${acl_cv_rpath+set}" = set; then : + $as_echo_n "(cached) " >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ @@ -3380,8 +4275,8 @@ else acl_cv_rpath=done fi -echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 -echo "${ECHO_T}$acl_cv_rpath" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" @@ -3389,13 +4284,13 @@ echo "${ECHO_T}$acl_cv_rpath" >&6 hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath or --disable-rpath was given. -if test "${enable_rpath+set}" = set; then - enableval="$enable_rpath" - : + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : else enable_rpath=yes -fi; +fi + @@ -3417,10 +4312,9 @@ fi; prefix="$acl_save_prefix" -# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then - withval="$with_libiconv_prefix" - +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else @@ -3443,7 +4337,8 @@ if test "${with_libiconv_prefix+set}" = set; then fi fi -fi; +fi + LIBICONV= LTLIBICONV= INCICONV= @@ -3797,17 +4692,17 @@ fi; - echo "$as_me:$LINENO: checking whether NLS is requested" >&5 -echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes -fi; - echo "$as_me:$LINENO: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6 +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } @@ -3824,16 +4719,12 @@ echo "${ECHO_T}$USE_NLS" >&6 - echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 -echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 -if test "${gt_cv_func_gnugettext1_libc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if test "${gt_cv_func_gnugettext1_libc+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; @@ -3847,39 +4738,16 @@ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 +if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_gnugettext1_libc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -gt_cv_func_gnugettext1_libc=no + gt_cv_func_gnugettext1_libc=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libc" >&5 -echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5 +$as_echo "$gt_cv_func_gnugettext1_libc" >&6; } if test "$gt_cv_func_gnugettext1_libc" != "yes"; then @@ -3912,19 +4780,15 @@ echo "${ECHO_T}$gt_cv_func_gnugettext1_libc" >&6 done - echo "$as_me:$LINENO: checking for iconv" >&5 -echo $ECHO_N "checking for iconv... $ECHO_C" >&6 -if test "${am_cv_func_iconv+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if test "${am_cv_func_iconv+set}" = set; then : + $as_echo_n "(cached) " >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3938,43 +4802,15 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 +if ac_fn_c_try_link "$LINENO"; then : am_cv_func_iconv=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -3988,54 +4824,28 @@ iconv_t cd = iconv_open("",""); return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 +if ac_fn_c_try_link "$LINENO"; then : am_cv_lib_iconv=yes am_cv_func_iconv=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi -echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 -echo "${ECHO_T}$am_cv_func_iconv" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_ICONV 1 -_ACEOF +$as_echo "#define HAVE_ICONV 1" >>confdefs.h fi if test "$am_cv_lib_iconv" = yes; then - echo "$as_me:$LINENO: checking how to link with libiconv" >&5 -echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6 - echo "$as_me:$LINENO: result: $LIBICONV" >&5 -echo "${ECHO_T}$LIBICONV" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= @@ -4061,10 +4871,9 @@ echo "${ECHO_T}$LIBICONV" >&6 prefix="$acl_save_prefix" -# Check whether --with-libintl-prefix or --without-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then - withval="$with_libintl_prefix" - +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else @@ -4087,7 +4896,8 @@ if test "${with_libintl_prefix+set}" = set; then fi fi -fi; +fi + LIBINTL= LTLIBINTL= INCINTL= @@ -4423,20 +5233,16 @@ fi; done fi - echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 -echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6 -if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then : + $as_echo_n "(cached) " >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; @@ -4454,43 +5260,16 @@ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 +if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_gnugettext1_libintl=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -gt_cv_func_gnugettext1_libintl=no + gt_cv_func_gnugettext1_libintl=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include extern int _nl_msg_cat_cntr; @@ -4508,44 +5287,20 @@ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 +if ac_fn_c_try_link "$LINENO"; then : LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" gt_cv_func_gnugettext1_libintl=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi -echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext1_libintl" >&5 -echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5 +$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; } fi if test "$gt_cv_func_gnugettext1_libc" = "yes" \ @@ -4564,22 +5319,20 @@ echo "${ECHO_T}$gt_cv_func_gnugettext1_libintl" >&6 if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then -cat >>confdefs.h <<\_ACEOF -#define ENABLE_NLS 1 -_ACEOF +$as_echo "#define ENABLE_NLS 1" >>confdefs.h else USE_NLS=no fi fi - echo "$as_me:$LINENO: checking whether to use NLS" >&5 -echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6 - echo "$as_me:$LINENO: result: $USE_NLS" >&5 -echo "${ECHO_T}$USE_NLS" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then - echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 -echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then gt_source="external libintl" @@ -4589,18 +5342,18 @@ echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6 else gt_source="included intl directory" fi - echo "$as_me:$LINENO: result: $gt_source" >&5 -echo "${ECHO_T}$gt_source" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - echo "$as_me:$LINENO: checking how to link with libintl" >&5 -echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6 - echo "$as_me:$LINENO: result: $LIBINTL" >&5 -echo "${ECHO_T}$LIBINTL" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } for element in $INCINTL; do haveit= @@ -4627,14 +5380,10 @@ echo "${ECHO_T}$LIBINTL" >&6 fi -cat >>confdefs.h <<\_ACEOF -#define HAVE_GETTEXT 1 -_ACEOF +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h -cat >>confdefs.h <<\_ACEOF -#define HAVE_DCGETTEXT 1 -_ACEOF +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h fi @@ -4651,15 +5400,14 @@ _ACEOF - for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; 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_YACC+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_YACC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -4669,26 +5417,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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + 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_YACC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then - echo "$as_me:$LINENO: result: $YACC" >&5 -echo "${ECHO_T}$YACC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +$as_echo "$YACC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" @@ -4697,10 +5447,10 @@ for ac_prog in flex lex do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; 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_LEX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_LEX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. @@ -4710,258 +5460,144 @@ 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 + 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_LEX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi LEX=$ac_cv_prog_LEX if test -n "$LEX"; then - echo "$as_me:$LINENO: result: $LEX" >&5 -echo "${ECHO_T}$LEX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 +$as_echo "$LEX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$LEX" && break done test -n "$LEX" || LEX=":" -if test -z "$LEXLIB" -then - echo "$as_me:$LINENO: checking for yywrap in -lfl" >&5 -echo $ECHO_N "checking for yywrap in -lfl... $ECHO_C" >&6 -if test "${ac_cv_lib_fl_yywrap+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lfl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char yywrap (); -int -main () -{ -yywrap (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_lib_fl_yywrap=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_fl_yywrap=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_fl_yywrap" >&5 -echo "${ECHO_T}$ac_cv_lib_fl_yywrap" >&6 -if test $ac_cv_lib_fl_yywrap = yes; then - LEXLIB="-lfl" -else - echo "$as_me:$LINENO: checking for yywrap in -ll" >&5 -echo $ECHO_N "checking for yywrap in -ll... $ECHO_C" >&6 -if test "${ac_cv_lib_l_yywrap+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ll $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char yywrap (); -int -main () -{ -yywrap (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_lib_l_yywrap=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_l_yywrap=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_l_yywrap" >&5 -echo "${ECHO_T}$ac_cv_lib_l_yywrap" >&6 -if test $ac_cv_lib_l_yywrap = yes; then - LEXLIB="-ll" -fi - -fi - -fi - if test "x$LEX" != "x:"; then - echo "$as_me:$LINENO: checking lex output file root" >&5 -echo $ECHO_N "checking lex output file root... $ECHO_C" >&6 -if test "${ac_cv_prog_lex_root+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - # The minimal lex program is just a single line: %%. But some broken lexes -# (Solaris, I think it was) want two %% lines, so accommodate them. -cat >conftest.l <<_ACEOF + cat >conftest.l <<_ACEOF %% +a { ECHO; } +b { REJECT; } +c { yymore (); } +d { yyless (1); } +e { yyless (input () != 0); } +f { unput (yytext[0]); } +. { BEGIN INITIAL; } %% +#ifdef YYTEXT_POINTER +extern char *yytext; +#endif +int +main (void) +{ + return ! yylex () + ! yywrap (); +} _ACEOF -{ (eval echo "$as_me:$LINENO: \"$LEX conftest.l\"") >&5 - (eval $LEX conftest.l) 2>&5 +{ { ac_try="$LEX conftest.l" +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 "$LEX conftest.l") 2>&5 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 +$as_echo_n "checking lex output file root... " >&6; } +if test "${ac_cv_prog_lex_root+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test -f lex.yy.c; then ac_cv_prog_lex_root=lex.yy elif test -f lexyy.c; then ac_cv_prog_lex_root=lexyy else - { { echo "$as_me:$LINENO: error: cannot find output from $LEX; giving up" >&5 -echo "$as_me: error: cannot find output from $LEX; giving up" >&2;} - { (exit 1); exit 1; }; } + as_fn_error "cannot find output from $LEX; giving up" "$LINENO" 5 fi fi -echo "$as_me:$LINENO: result: $ac_cv_prog_lex_root" >&5 -echo "${ECHO_T}$ac_cv_prog_lex_root" >&6 -rm -f conftest.l +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 +$as_echo "$ac_cv_prog_lex_root" >&6; } LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root -echo "$as_me:$LINENO: checking whether yytext is a pointer" >&5 -echo $ECHO_N "checking whether yytext is a pointer... $ECHO_C" >&6 -if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +if test -z "${LEXLIB+set}"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 +$as_echo_n "checking lex library... " >&6; } +if test "${ac_cv_lib_lex+set}" = set; then : + $as_echo_n "(cached) " >&6 else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c -ac_save_LIBS=$LIBS -LIBS="$LIBS $LEXLIB" -cat >conftest.$ac_ext <<_ACEOF + + ac_save_LIBS=$LIBS + ac_cv_lib_lex='none needed' + for ac_lib in '' -lfl -ll; do + LIBS="$ac_lib $ac_save_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ `cat $LEX_OUTPUT_ROOT.c` _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_lex_yytext_pointer=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_lex=$ac_lib +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + test "$ac_cv_lib_lex" != 'none needed' && break + done + LIBS=$ac_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 +$as_echo "$ac_cv_lib_lex" >&6; } + test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 +$as_echo_n "checking whether yytext is a pointer... " >&6; } +if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then : + $as_echo_n "(cached) " >&6 else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - + # POSIX says lex can declare yytext either as a pointer or an array; the +# default is implementation-dependent. Figure out which it is, since +# not all implementations provide the %pointer and %array declarations. +ac_cv_prog_lex_yytext_pointer=no +ac_save_LIBS=$LIBS +LIBS="$LEXLIB $ac_save_LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define YYTEXT_POINTER 1 +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_prog_lex_yytext_pointer=yes fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_save_LIBS -rm -f "${LEX_OUTPUT_ROOT}.c" fi -echo "$as_me:$LINENO: result: $ac_cv_prog_lex_yytext_pointer" >&5 -echo "${ECHO_T}$ac_cv_prog_lex_yytext_pointer" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 +$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } if test $ac_cv_prog_lex_yytext_pointer = yes; then -cat >>confdefs.h <<\_ACEOF -#define YYTEXT_POINTER 1 -_ACEOF +$as_echo "#define YYTEXT_POINTER 1" >>confdefs.h fi +rm -f conftest.l $LEX_OUTPUT_ROOT.c fi if test "$LEX" = :; then @@ -4975,10 +5611,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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -4988,35 +5624,37 @@ 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 + 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="${ac_tool_prefix}gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -5026,39 +5664,50 @@ 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 + 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_CC="gcc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - CC=$ac_ct_CC + 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 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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5068,77 +5717,37 @@ 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 + 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="${ac_tool_prefix}cc" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5149,18 +5758,19 @@ 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 + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -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. @@ -5178,24 +5788,25 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then - for ac_prog in cl + for ac_prog in cl.exe 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 -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. @@ -5205,39 +5816,41 @@ 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 + 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="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:$LINENO: result: $CC" >&5 -echo "${ECHO_T}$CC" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC - for ac_prog in cl + for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; 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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. @@ -5247,71 +5860,83 @@ 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 + 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_CC="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS 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 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CC" && break done - CC=$ac_ct_CC + 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 fi fi -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; }; } +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; } # Provide some information about the compiler. -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 &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 +$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 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $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: 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 +{ $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 test "${ac_cv_c_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5325,54 +5950,34 @@ main () 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu 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` +{ $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 ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS -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 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + 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 @@ -5383,38 +5988,49 @@ main () 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -ac_cv_prog_cc_g=no +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 conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +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 @@ -5430,18 +6046,14 @@ else CFLAGS= fi fi -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 +{ $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 test "${ac_cv_prog_cc_c89+set}" = set; then : + $as_echo_n "(cached) " >&6 else - ac_cv_prog_cc_stdc=no + ac_cv_prog_cc_c89=no ac_save_CC=$CC -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -5469,12 +6081,17 @@ 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 -std1 is added to get + as 'x'. The following induces an error, until -std 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 -std1. */ + that's true only with -std. */ 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);}; @@ -5489,201 +6106,37 @@ return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; return 0; } _ACEOF -# 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__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $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 - + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg fi -rm -f conftest.err conftest.$ac_objext +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break done -rm -f conftest.$ac_ext conftest.$ac_objext +rm -f conftest.$ac_ext CC=$ac_save_CC fi - -case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:$LINENO: result: none needed" >&5 -echo "${ECHO_T}none needed" >&6 ;; +# 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; } ;; *) - 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" ;; + 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; } ;; esac - -# 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 -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 +if test "x$ac_cv_prog_cc_c89" != xno; then : 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' @@ -5692,10 +6145,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; 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 @@ -5720,6 +6173,11 @@ else 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 @@ -5737,7 +6195,17 @@ else 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 @@ -5747,18 +6215,23 @@ 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 - # 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. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -5782,13 +6255,11 @@ else fi fi -echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +{ $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 + if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= @@ -5799,20 +6270,24 @@ else fi -ac_ext=cc +ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -n "$ac_tool_prefix"; then - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. @@ -5822,39 +6297,41 @@ 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 + 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_CXX="$ac_tool_prefix$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:$LINENO: result: $CXX" >&5 -echo "${ECHO_T}$CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX - for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; 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_CXX+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. @@ -5864,64 +6341,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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + 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_CXX="$ac_prog" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 -echo "${ECHO_T}$ac_ct_CXX" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$ac_ct_CXX" && break done -test -n "$ac_ct_CXX" || ac_ct_CXX="g++" - CXX=$ac_ct_CXX + if test "x$ac_ct_CXX" = x; then + CXX="g++" + 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 + CXX=$ac_ct_CXX + fi fi - + fi +fi # Provide some information about the compiler. -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 &5\"") >&5 - (eval $ac_compiler --version &5) 2>&5 +$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 ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 - (eval $ac_compiler -v &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 - (eval $ac_compiler -V &5) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $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: 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_cxx_compiler_gnu+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $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 test "${ac_cv_cxx_compiler_gnu+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5935,54 +6425,34 @@ main () 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_cxx_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 +if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_compiler_gnu=no + ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 -echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 -GXX=`test $ac_compiler_gnu = yes && echo yes` +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS -CXXFLAGS="-g" -echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 -echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 -if test "${ac_cv_prog_cxx_g+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if test "${ac_cv_prog_cxx_g+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5993,38 +6463,49 @@ main () 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_cxx_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 +if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ -ac_cv_prog_cxx_g=no +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 -echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then @@ -6040,110 +6521,6 @@ else CXXFLAGS= fi fi -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 -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_cxx_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_cxx_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 - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -6152,10 +6529,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= -echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 -echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 -if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; 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 @@ -6180,6 +6557,11 @@ else 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 @@ -6197,7 +6579,17 @@ else 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 @@ -6207,18 +6599,23 @@ 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 - # 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. if depmode=$depmode \ - source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + $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 sub/conftest.${OBJEXT-o} 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 @@ -6242,13 +6639,11 @@ else fi fi -echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 -echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - -if + if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= @@ -6259,24 +6654,150 @@ else fi -echo "$as_me:$LINENO: checking whether ln -s works" >&5 -echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 +if test "x$CC" != xcc; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { { 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; } && + test -f conftest2.$ac_objext && { { 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 + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&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_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { { 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; } && + test -f conftest2.$ac_objext && { { 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 + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no, using $LN_S" >&5 -echo "${ECHO_T}no, using $LN_S" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_RANLIB+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -6286,35 +6807,37 @@ 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 + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - echo "$as_me:$LINENO: result: $RANLIB" >&5 -echo "${ECHO_T}$RANLIB" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $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 -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_RANLIB+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; 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. @@ -6324,28 +6847,38 @@ 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 + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 -echo "${ECHO_T}$ac_ct_RANLIB" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi - RANLIB=$ac_ct_RANLIB + 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 @@ -6354,10 +6887,10 @@ 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 -echo "$as_me:$LINENO: checking for $ac_word" >&5 -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 -if test "${ac_cv_prog_AWK+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AWK+set}" = set; then : + $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. @@ -6367,115 +6900,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 $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + 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" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:$LINENO: result: $AWK" >&5 -echo "${ECHO_T}$AWK" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + test -n "$AWK" && break done -# 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. -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&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 $as_executable_p "$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 - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - done - done - ;; -esac -done - - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL=$ac_install_sh - fi -fi -echo "$as_me:$LINENO: result: $INSTALL" >&5 -echo "${ECHO_T}$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' # Extract the first word of "bison", so it can be a program name with args. set dummy bison; 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_path_BISON+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_BISON+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $BISON in [\\/]* | ?:[\\/]*) @@ -6487,35 +6944,36 @@ 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 + 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_path_BISON="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="bison" ;; esac fi BISON=$ac_cv_path_BISON - if test -n "$BISON"; then - echo "$as_me:$LINENO: result: $BISON" >&5 -echo "${ECHO_T}$BISON" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 +$as_echo "$BISON" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # Extract the first word of "help2man", so it can be a program name with args. set dummy help2man; 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_path_HELP2MAN+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_HELP2MAN+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $HELP2MAN in [\\/]* | ?:[\\/]*) @@ -6527,96 +6985,70 @@ 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 + 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_path_HELP2MAN="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_HELP2MAN" && ac_cv_path_HELP2MAN="help2man" ;; esac fi HELP2MAN=$ac_cv_path_HELP2MAN - if test -n "$HELP2MAN"; then - echo "$as_me:$LINENO: result: $HELP2MAN" >&5 -echo "${ECHO_T}$HELP2MAN" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HELP2MAN" >&5 +$as_echo "$HELP2MAN" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -# Check for a GNU m4 that supports --prefix-builtins -for ac_prog in gm4 gnum4 m4 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; 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_path_M4+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# Check for a m4 that supports -P + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for m4 that supports -P" >&5 +$as_echo_n "checking for m4 that supports -P... " >&6; } +if test "${ac_cv_path_M4+set}" = set; then : + $as_echo_n "(cached) " >&6 else - case $M4 in - [\\/]* | ?:[\\/]*) - ac_cv_path_M4="$M4" # Let the user override the test with a path. - ;; - *) + if test -z "$M4"; then + ac_path_M4_found=false + # Loop through the user's path and test for each of PROGNAME-LIST 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_path_M4="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + for ac_prog in gm4 gnum4 m4; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_M4" && $as_test_x "$ac_path_M4"; } || continue +m4out=`echo 'm''4_divnum' | $ac_path_M4 -P` + test "x$m4out" = x0 \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + $ac_path_M4_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_M4"; then + as_fn_error "could not find m4 that supports -P" "$LINENO" 5 fi -done -done - - ;; -esac +else + ac_cv_path_M4=$M4 fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 +$as_echo "$ac_cv_path_M4" >&6; } M4=$ac_cv_path_M4 -if test -n "$M4"; then - echo "$as_me:$LINENO: result: $M4" >&5 -echo "${ECHO_T}$M4" >&6 -else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 -fi - - test -n "$M4" && break -done -test -n "$M4" || M4="m4" - - -if test x"$M4" != x; then - echo "$as_me:$LINENO: checking for GNU m4" >&5 -echo $ECHO_N "checking for GNU m4... $ECHO_C" >&6 - case `$M4 --help < /dev/null 2>&1` in - *prefix-builtins*) echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 ;; - *) echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 ; - { { echo "$as_me:$LINENO: error: GNU M4 1.4 is required" >&5 -echo "$as_me: error: GNU M4 1.4 is required" >&2;} - { (exit 1); exit 1; }; } ;; - esac -else - { { echo "$as_me:$LINENO: error: GNU M4 1.4 is required" >&5 -echo "$as_me: error: GNU M4 1.4 is required" >&2;} - { (exit 1); exit 1; }; } ; -fi - cat >>confdefs.h <<_ACEOF #define M4 "$M4" @@ -6625,10 +7057,10 @@ _ACEOF # Extract the first word of "indent", so it can be a program name with args. set dummy indent; 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_path_INDENT+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_INDENT+set}" = set; then : + $as_echo_n "(cached) " >&6 else case $INDENT in [\\/]* | ?:[\\/]*) @@ -6640,63 +7072,64 @@ 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 + 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_path_INDENT="$as_dir/$ac_word$ac_exec_ext" - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done -done + done +IFS=$as_save_IFS test -z "$ac_cv_path_INDENT" && ac_cv_path_INDENT="indent" ;; esac fi INDENT=$ac_cv_path_INDENT - if test -n "$INDENT"; then - echo "$as_me:$LINENO: result: $INDENT" >&5 -echo "${ECHO_T}$INDENT" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INDENT" >&5 +$as_echo "$INDENT" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi + # if INDENT is set to 'indent' then we didn't find indent if test "$INDENT" != indent ; then - echo "$as_me:$LINENO: checking if $INDENT is GNU indent" >&5 -echo $ECHO_N "checking if $INDENT is GNU indent... $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $INDENT is GNU indent" >&5 +$as_echo_n "checking if $INDENT is GNU indent... " >&6; } if $INDENT --version 2>/dev/null | head -n 1|grep "GNU indent" > /dev/null ; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - { echo "$as_me:$LINENO: WARNING: $INDENT does not appear to be GNU indent." >&5 -echo "$as_me: WARNING: $INDENT does not appear to be GNU indent." >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $INDENT does not appear to be GNU indent." >&5 +$as_echo "$as_me: WARNING: $INDENT does not appear to be GNU indent." >&2;} fi else - { echo "$as_me:$LINENO: WARNING: no indent program found: make indent target will not function" >&5 -echo "$as_me: WARNING: no indent program found: make indent target will not function" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no indent program found: make indent target will not function" >&5 +$as_echo "$as_me: WARNING: no indent program found: make indent target will not function" >&2;} fi -# checks for libraries +# checks for headers 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 -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 +{ $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; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + if test "${ac_cv_prog_CPP+set}" = set; then : + $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" @@ -6710,11 +7143,7 @@ do # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6723,68 +7152,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -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 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -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 +if ac_fn_c_try_cpp "$LINENO"; 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 @@ -6794,7 +7179,7 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then +if $ac_preproc_ok; then : break fi @@ -6806,8 +7191,8 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:$LINENO: result: $CPP" >&5 -echo "${ECHO_T}$CPP" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do @@ -6817,11 +7202,7 @@ do # 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 >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include @@ -6830,68 +7211,24 @@ cat >>conftest.$ac_ext <<_ACEOF #endif Syntax error _ACEOF -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 +if ac_fn_c_try_cpp "$LINENO"; then : +else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext - # OK, works on sane cases. Now check whether non-existent headers + # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF -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 +if ac_fn_c_try_cpp "$LINENO"; 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 @@ -6901,14 +7238,13 @@ rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext -if $ac_preproc_ok; then - : +if $ac_preproc_ok; then : + else - { { 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; }; } + { { $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; } fi ac_ext=c @@ -6918,387 +7254,142 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -echo "$as_me:$LINENO: checking for egrep" >&5 -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 -if test "${ac_cv_prog_egrep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if test "${ac_cv_path_GREP+set}" = set; then : + $as_echo_n "(cached) " >&6 else - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 - then ac_cv_prog_egrep='grep -E' - else ac_cv_prog_egrep='egrep' + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count fi -fi -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 - EGREP=$ac_cv_prog_egrep - - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo "$as_me:$LINENO: checking for working alloca.h" >&5 -echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 -if test "${ac_cv_working_alloca_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -int -main () -{ -char *p = (char *) alloca (2 * sizeof (int)); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_working_alloca_h=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_working_alloca_h=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 -echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 -if test $ac_cv_working_alloca_h = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA_H 1 -_ACEOF - -fi - -echo "$as_me:$LINENO: checking for alloca" >&5 -echo $ECHO_N "checking for alloca... $ECHO_C" >&6 -if test "${ac_cv_func_alloca_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#ifdef __GNUC__ -# define alloca __builtin_alloca -#else -# ifdef _MSC_VER -# include -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int -main () -{ -char *p = (char *) alloca (1); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_func_alloca_works=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_func_alloca_works=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 -echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 - -if test $ac_cv_func_alloca_works = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_ALLOCA 1 -_ACEOF - -else - # The SVR3 libPW and SVR4 libucb both contain incompatible functions -# that cause trouble. Some versions do not even contain alloca or -# contain a buggy version. If you still want to use their alloca, -# use ar to extract alloca.o from them instead of compiling alloca.c. - -ALLOCA=alloca.$ac_objext - -cat >>confdefs.h <<\_ACEOF -#define C_ALLOCA 1 -_ACEOF - - -echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 -echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 -if test "${ac_cv_os_cray+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#if defined(CRAY) && ! defined(CRAY2) -webecray -#else -wenotbecray -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "webecray" >/dev/null 2>&1; then - ac_cv_os_cray=yes -else - ac_cv_os_cray=no -fi -rm -f conftest* - -fi -echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 -echo "${ECHO_T}$ac_cv_os_cray" >&6 -if test $ac_cv_os_cray = yes; then - for ac_func in _getb67 GETB67 getb67; do - as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then - -cat >>confdefs.h <<_ACEOF -#define CRAY_STACKSEG_END $ac_func -_ACEOF - - break -fi - + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break done -fi + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac -echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 -echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 -if test "${ac_cv_c_stack_direction+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -int -find_stack_direction () -{ - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; -} + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac -int -main () -{ - exit (find_stack_direction () < 0); -} -_ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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_c_stack_direction=1 + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -( exit $ac_status ) -ac_cv_c_stack_direction=-1 -fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 -echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 - -cat >>confdefs.h <<_ACEOF -#define STACK_DIRECTION $ac_cv_c_stack_direction -_ACEOF - - + ac_cv_path_EGREP=$EGREP fi -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 -if test "${ac_cv_header_stdc+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if test "${ac_cv_header_stdc+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include @@ -7313,50 +7404,23 @@ main () 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdc=no + ac_cv_header_stdc=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then - : + $EGREP "memchr" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -7366,18 +7430,14 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then - : + $EGREP "free" >/dev/null 2>&1; then : + else ac_cv_header_stdc=no fi @@ -7387,16 +7447,13 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : : else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include +#include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) @@ -7416,59 +7473,40 @@ main () for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) - exit(2); - exit (0); + return 2; + return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +if ac_fn_c_try_run "$LINENO"; then : -( exit $ac_status ) -ac_cv_header_stdc=no +else + ac_cv_header_stdc=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + fi fi -fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 -echo "${ECHO_T}$ac_cv_header_stdc" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then -cat >>confdefs.h <<\_ACEOF -#define STDC_HEADERS 1 -_ACEOF +$as_echo "#define STDC_HEADERS 1" >>confdefs.h fi -echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 -echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6 -if test "${ac_cv_header_sys_wait_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; } +if test "${ac_cv_header_sys_wait_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #ifndef WEXITSTATUS -# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) #endif #ifndef WIFEXITED # define WIFEXITED(stat_val) (((stat_val) & 255) == 0) @@ -7484,110 +7522,32 @@ main () 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_sys_wait_h=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_sys_wait_h=no + ac_cv_header_sys_wait_h=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 -echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 +$as_echo "$ac_cv_header_sys_wait_h" >&6; } if test $ac_cv_header_sys_wait_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_SYS_WAIT_H 1 -_ACEOF +$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. - - - - - - - - - for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default - -#include <$ac_header> -_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 - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -7595,159 +7555,14 @@ fi done - - - - - - - - - - - -for ac_header in inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h stddef.h stdlib.h string.h strings.h unistd.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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 - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ---------------------------------------------- ## -## Report this to flex-help@lists.sourceforge.net ## -## ---------------------------------------------- ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +for ac_header in inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h regex.h stddef.h stdlib.h string.h strings.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +eval as_val=\$$as_ac_Header + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi @@ -7755,70 +7570,109 @@ fi done -echo "$as_me:$LINENO: checking for log10 in -lm" >&5 -echo $ECHO_N "checking for log10 in -lm... $ECHO_C" >&6 -if test "${ac_cv_lib_m_log10+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# checks for libraries + +# The test test-pthread uses libpthread, so we check for it here, but +# all we need is the preprocessor symbol defined since we don't need +# LIBS to include libpthread for building flex. + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_lock in -lpthread" >&5 +$as_echo_n "checking for pthread_mutex_lock in -lpthread... " >&6; } +if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then : + $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lm $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -/* Override any gcc2 internal prototype to avoid an error. */ +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char log10 (); +char pthread_mutex_lock (); int main () { -log10 (); +return pthread_mutex_lock (); ; return 0; } _ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_lib_m_log10=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_mutex_lock=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_m_log10=no + ac_cv_lib_pthread_pthread_mutex_lock=no fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:$LINENO: result: $ac_cv_lib_m_log10" >&5 -echo "${ECHO_T}$ac_cv_lib_m_log10" >&6 -if test $ac_cv_lib_m_log10 = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_mutex_lock" >&6; } +if test "x$ac_cv_lib_pthread_pthread_mutex_lock" = x""yes; then : + +$as_echo "#define HAVE_LIBPTHREAD 1" >>confdefs.h + +else + +$as_echo "#define HAVE_LIBPTHREAD 0" >>confdefs.h + + +fi + +for ac_header in pthread.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +if test "x$ac_cv_header_pthread_h" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PTHREAD_H 1 +_ACEOF + +fi + +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10 in -lm" >&5 +$as_echo_n "checking for log10 in -lm... " >&6; } +if test "${ac_cv_lib_m_log10+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char log10 (); +int +main () +{ +return log10 (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_m_log10=yes +else + ac_cv_lib_m_log10=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log10" >&5 +$as_echo "$ac_cv_lib_m_log10" >&6; } +if test "x$ac_cv_lib_m_log10" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF @@ -7828,270 +7682,34 @@ _ACEOF fi -# The test test-pthread uses libpthread, so we check for it here, but -# all we need is the preprocessor symbol defined since we don't need -# LIBS to include libpthread for building flex. - -echo "$as_me:$LINENO: checking for pthread_mutex_lock in -lpthread" >&5 -echo $ECHO_N "checking for pthread_mutex_lock in -lpthread... $ECHO_C" >&6 -if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char pthread_mutex_lock (); -int -main () -{ -pthread_mutex_lock (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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_lib_pthread_pthread_mutex_lock=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_lib_pthread_pthread_mutex_lock=no -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5 -echo "${ECHO_T}$ac_cv_lib_pthread_pthread_mutex_lock" >&6 -if test $ac_cv_lib_pthread_pthread_mutex_lock = yes; then - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBPTHREAD 1 -_ACEOF - -else - -cat >>confdefs.h <<\_ACEOF -#define HAVE_LIBPTHREAD 0 -_ACEOF - - -fi - - -for ac_header in pthread.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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 - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ---------------------------------------------- ## -## Report this to flex-help@lists.sourceforge.net ## -## ---------------------------------------------- ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - # Checks for typedefs, structures, and compiler characteristics. -echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 -echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6 -if test "${ac_cv_header_stdbool_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if test "${ac_cv_header_stdbool_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifndef bool -# error bool is not defined + "error: bool is not defined" #endif #ifndef false -# error false is not defined + "error: false is not defined" #endif #if false -# error false is not 0 + "error: false is not 0" #endif #ifndef true -# error true is not defined + "error: true is not defined" #endif #if true != 1 -# error true is not 1 + "error: true is not 1" #endif #ifndef __bool_true_false_are_defined -# error __bool_true_false_are_defined is not defined + "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; @@ -8099,109 +7717,69 @@ cat >>conftest.$ac_ext <<_ACEOF char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) -0.5 == true ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; - char f[(_Bool) -0.0 == false ? 1 : -1]; + char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; +# if defined __xlc__ || defined __GNUC__ + /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 + reported by James Lemley on 2005-10-05; see + http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html + This test is not quite right, since xlc is allowed to + reject this program, as the initializer for xlcbug is + not one of the forms that C requires support for. + However, doing the test right would require a runtime + test, and that would make cross-compilation harder. + Let us hope that IBM fixes the xlc bug, and also adds + support for this kind of constant expression. In the + meantime, this test will reject xlc, which is OK, since + our stdbool.h substitute should suffice. We also test + this with GCC, where it should work, to detect more + quickly whether someone messes up the test in the + future. */ + char digs[] = "0123456789"; + int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); +# endif + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; int main () { - return !a + !b + !c + !d + !e + !f + !g + !h + !i; + + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + ; 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdbool_h=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_header_stdbool_h=no + ac_cv_header_stdbool_h=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 -echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6 -echo "$as_me:$LINENO: checking for _Bool" >&5 -echo $ECHO_N "checking for _Bool... $ECHO_C" >&6 -if test "${ac_cv_type__Bool+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((_Bool *) 0) - return 0; -if (sizeof (_Bool)) - return 0; - ; - 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 - ac_cv_type__Bool=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_type__Bool=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 -echo "${ECHO_T}$ac_cv_type__Bool" >&6 -if test $ac_cv_type__Bool = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } +ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = x""yes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 @@ -8212,22 +7790,16 @@ fi if test $ac_cv_header_stdbool_h = yes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_STDBOOL_H 1 -_ACEOF +$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h fi -echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 -echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 -if test "${ac_cv_c_const+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 +$as_echo_n "checking for an ANSI C-conforming const... " >&6; } +if test "${ac_cv_c_const+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -8237,10 +7809,10 @@ main () #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; - const charset x; + const charset cs; /* SunOS 4.1.1 cc rejects this. */ - char const *const *ccp; - char **p; + char const *const *pcpcc; + char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; @@ -8249,16 +7821,17 @@ main () an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; - ccp = &g + (g ? g-g : 0); + pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ - ++ccp; - p = (char**) ccp; - ccp = (char const *const *) p; + ++pcpcc; + ppc = (char**) pcpcc; + pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; + if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; @@ -8277,114 +7850,37 @@ main () } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; + if (!foo) return 0; } + return !cs[0] && !zero.x; #endif ; 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 +if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_cv_c_const=no + ac_cv_c_const=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 -echo "${ECHO_T}$ac_cv_c_const" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 +$as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then -cat >>confdefs.h <<\_ACEOF -#define const -_ACEOF +$as_echo "#define const /**/" >>confdefs.h fi -echo "$as_me:$LINENO: checking for size_t" >&5 -echo $ECHO_N "checking for size_t... $ECHO_C" >&6 -if test "${ac_cv_type_size_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -if ((size_t *) 0) - return 0; -if (sizeof (size_t)) - return 0; - ; - 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 - ac_cv_type_size_t=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = x""yes; then : -ac_cv_type_size_t=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 -echo "${ECHO_T}$ac_cv_type_size_t" >&6 -if test $ac_cv_type_size_t = yes; then - : else cat >>confdefs.h <<_ACEOF -#define size_t unsigned +#define size_t unsigned int _ACEOF fi @@ -8392,63 +7888,199 @@ fi # Checks for library functions. -echo "$as_me:$LINENO: checking for pid_t" >&5 -echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 -if test "${ac_cv_type_pid_t+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works +# for constant arguments. Useless! +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 +$as_echo_n "checking for working alloca.h... " >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then : + $as_echo_n "(cached) " >&6 else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_includes_default +#include int main () { -if ((pid_t *) 0) - return 0; -if (sizeof (pid_t)) - return 0; +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; ; 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 - ac_cv_type_pid_t=yes +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_working_alloca_h=yes else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_working_alloca_h=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 +$as_echo "$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then + +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h -ac_cv_type_pid_t=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 +$as_echo_n "checking for alloca... " >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __GNUC__ +# define alloca __builtin_alloca +#else +# ifdef _MSC_VER +# include +# define alloca _alloca +# else +# ifdef HAVE_ALLOCA_H +# include +# else +# ifdef _AIX + #pragma alloca +# else +# ifndef alloca /* predefined by HP cc +Olibcalls */ +char *alloca (); +# endif +# endif +# endif +# endif +#endif + +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_func_alloca_works=yes +else + ac_cv_func_alloca_works=no fi -echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 -echo "${ECHO_T}$ac_cv_type_pid_t" >&6 -if test $ac_cv_type_pid_t = yes; then - : +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 +$as_echo "$ac_cv_func_alloca_works" >&6; } + +if test $ac_cv_func_alloca_works = yes; then + +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h + +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. + +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +$as_echo "#define C_ALLOCA 1" >>confdefs.h + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } +if test "${ac_cv_os_cray+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 +webecray +#else +wenotbecray +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then : + ac_cv_os_cray=yes +else + ac_cv_os_cray=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 +$as_echo "$ac_cv_os_cray" >&6; } +if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : + +cat >>confdefs.h <<_ACEOF +#define CRAY_STACKSEG_END $ac_func +_ACEOF + + break +fi + + done +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 +$as_echo_n "checking stack direction for C alloca... " >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + ac_cv_c_stack_direction=0 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +find_stack_direction () +{ + static char *addr = 0; + auto char dummy; + if (addr == 0) + { + addr = &dummy; + return find_stack_direction (); + } + else + return (&dummy > addr) ? 1 : -1; +} + +int +main () +{ + return find_stack_direction () < 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + ac_cv_c_stack_direction=1 +else + ac_cv_c_stack_direction=-1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 +$as_echo "$ac_cv_c_stack_direction" >&6; } +cat >>confdefs.h <<_ACEOF +#define STACK_DIRECTION $ac_cv_c_stack_direction +_ACEOF + + +fi + +ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = x""yes; then : + else cat >>confdefs.h <<_ACEOF @@ -8457,272 +8089,41 @@ _ACEOF fi - - -for ac_header in unistd.h vfork.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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 - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ---------------------------------------------- ## -## Report this to flex-help@lists.sourceforge.net ## -## ---------------------------------------------- ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +for ac_header in vfork.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" +if test "x$ac_cv_header_vfork_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_VFORK_H 1 _ACEOF fi done - - for ac_func in fork vfork -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if test "x$ac_cv_func_fork" = xyes; then - echo "$as_me:$LINENO: checking for working fork" >&5 -echo $ECHO_N "checking for working fork... $ECHO_C" >&6 -if test "${ac_cv_func_fork_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 +$as_echo_n "checking for working fork... " >&6; } +if test "${ac_cv_func_fork_works+set}" = set; then : + $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_fork_works=cross else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int @@ -8730,39 +8131,24 @@ main () { /* By Ruediger Kuhlmann. */ - if (fork() < 0) - exit (1); - exit (0); + return fork () < 0; ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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 +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_fork_works=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_fork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -( exit $ac_status ) -ac_cv_func_fork_works=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_func_fork_works" >&5 -echo "${ECHO_T}$ac_cv_func_fork_works" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_fork_works" >&5 +$as_echo "$ac_cv_func_fork_works" >&6; } else ac_cv_func_fork_works=$ac_cv_func_fork @@ -8777,35 +8163,25 @@ if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_fork_works=yes ;; esac - { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 -echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_fork_works guessed because of cross compilation" >&2;} fi ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then - echo "$as_me:$LINENO: checking for working vfork" >&5 -echo $ECHO_N "checking for working vfork... $ECHO_C" >&6 -if test "${ac_cv_func_vfork_works+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 +$as_echo_n "checking for working vfork... " >&6; } +if test "${ac_cv_func_vfork_works+set}" = set; then : + $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_vfork_works=cross else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Thanks to Paul Eggert for this test. */ -#include -#include -#include -#include +$ac_includes_default #include -#if HAVE_UNISTD_H -# include -#endif -#if HAVE_VFORK_H +#ifdef HAVE_VFORK_H # include #endif /* On some sparc systems, changes by the child to local and incoming @@ -8876,7 +8252,7 @@ main () while (wait(&status) != child) ; - exit( + return ( /* Was there some problem with vforking? */ child < 0 @@ -8892,224 +8268,64 @@ main () } } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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 +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_vfork_works=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_vfork_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -( exit $ac_status ) -ac_cv_func_vfork_works=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_func_vfork_works" >&5 -echo "${ECHO_T}$ac_cv_func_vfork_works" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_vfork_works" >&5 +$as_echo "$ac_cv_func_vfork_works" >&6; } fi; if test "x$ac_cv_func_fork_works" = xcross; then ac_cv_func_vfork_works=$ac_cv_func_vfork - { echo "$as_me:$LINENO: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 -echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_vfork_works guessed because of cross compilation" >&2;} fi if test "x$ac_cv_func_vfork_works" = xyes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_VFORK 1 -_ACEOF +$as_echo "#define HAVE_WORKING_VFORK 1" >>confdefs.h else -cat >>confdefs.h <<\_ACEOF -#define vfork fork -_ACEOF +$as_echo "#define vfork fork" >>confdefs.h fi if test "x$ac_cv_func_fork_works" = xyes; then -cat >>confdefs.h <<\_ACEOF -#define HAVE_WORKING_FORK 1 -_ACEOF +$as_echo "#define HAVE_WORKING_FORK 1" >>confdefs.h fi - for ac_header in stdlib.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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 - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ---------------------------------------------- ## -## Report this to flex-help@lists.sourceforge.net ## -## ---------------------------------------------- ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_STDLIB_H 1 _ACEOF fi done -echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 -echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6 -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 +$as_echo_n "checking for GNU libc compatible malloc... " >&6; } +if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then : + $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_malloc_0_nonnull=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if STDC_HEADERS || HAVE_STDLIB_H +#if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); @@ -9118,228 +8334,65 @@ char *malloc (); int main () { -exit (malloc (0) ? 0 : 1); +return ! malloc (0); ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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 +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_malloc_0_nonnull=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_malloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -( exit $ac_status ) -ac_cv_func_malloc_0_nonnull=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 -echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6 -if test $ac_cv_func_malloc_0_nonnull = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } +if test $ac_cv_func_malloc_0_nonnull = yes; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 1 -_ACEOF +$as_echo "#define HAVE_MALLOC 1" >>confdefs.h else - cat >>confdefs.h <<\_ACEOF -#define HAVE_MALLOC 0 -_ACEOF + $as_echo "#define HAVE_MALLOC 0" >>confdefs.h - case $LIBOBJS in - "malloc.$ac_objext" | \ - *" malloc.$ac_objext" | \ - "malloc.$ac_objext "* | \ + case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; + *) LIBOBJS="$LIBOBJS malloc.$ac_objext" + ;; esac -cat >>confdefs.h <<\_ACEOF -#define malloc rpl_malloc -_ACEOF +$as_echo "#define malloc rpl_malloc" >>confdefs.h fi - - for ac_header in stdlib.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -else - # Is the header compilable? -echo "$as_me:$LINENO: checking $ac_header usability" >&5 -echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include <$ac_header> -_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 - ac_header_compiler=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -ac_header_compiler=no -fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -echo "${ECHO_T}$ac_header_compiler" >&6 - -# Is the header present? -echo "$as_me:$LINENO: checking $ac_header presence" >&5 -echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include <$ac_header> -_ACEOF -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 - ac_header_preproc=yes -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -echo "${ECHO_T}$ac_header_preproc" >&6 - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 -echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 -echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} - ( - cat <<\_ASBOX -## ---------------------------------------------- ## -## Report this to flex-help@lists.sourceforge.net ## -## ---------------------------------------------- ## -_ASBOX - ) | - sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -echo "$as_me:$LINENO: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - eval "$as_ac_Header=\$ac_header_preproc" -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 - -fi -if test `eval echo '${'$as_ac_Header'}'` = yes; then +do : + ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" +if test "x$ac_cv_header_stdlib_h" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +#define HAVE_STDLIB_H 1 _ACEOF fi done -echo "$as_me:$LINENO: checking for GNU libc compatible realloc" >&5 -echo $ECHO_N "checking for GNU libc compatible realloc... $ECHO_C" >&6 -if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 +$as_echo_n "checking for GNU libc compatible realloc... " >&6; } +if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then : + $as_echo_n "(cached) " >&6 else - if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : ac_cv_func_realloc_0_nonnull=no else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#if STDC_HEADERS || HAVE_STDLIB_H +#if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); @@ -9348,174 +8401,57 @@ char *realloc (); int main () { -exit (realloc (0, 0) ? 0 : 1); +return ! realloc (0, 0); ; return 0; } _ACEOF -rm -f conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (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 +if ac_fn_c_try_run "$LINENO"; then : ac_cv_func_realloc_0_nonnull=yes else - echo "$as_me: program exited with status $ac_status" >&5 -echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_func_realloc_0_nonnull=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi -( exit $ac_status ) -ac_cv_func_realloc_0_nonnull=no fi -rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -fi -fi -echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 -echo "${ECHO_T}$ac_cv_func_realloc_0_nonnull" >&6 -if test $ac_cv_func_realloc_0_nonnull = yes; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_realloc_0_nonnull" >&5 +$as_echo "$ac_cv_func_realloc_0_nonnull" >&6; } +if test $ac_cv_func_realloc_0_nonnull = yes; then : -cat >>confdefs.h <<\_ACEOF -#define HAVE_REALLOC 1 -_ACEOF +$as_echo "#define HAVE_REALLOC 1" >>confdefs.h else - cat >>confdefs.h <<\_ACEOF -#define HAVE_REALLOC 0 -_ACEOF + $as_echo "#define HAVE_REALLOC 0" >>confdefs.h - case $LIBOBJS in - "realloc.$ac_objext" | \ - *" realloc.$ac_objext" | \ - "realloc.$ac_objext "* | \ + case " $LIBOBJS " in *" realloc.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; + *) LIBOBJS="$LIBOBJS realloc.$ac_objext" + ;; esac -cat >>confdefs.h <<\_ACEOF -#define realloc rpl_realloc -_ACEOF +$as_echo "#define realloc rpl_realloc" >>confdefs.h fi - - - - - - - - - for ac_func in dup2 isascii memset pow regcomp setlocale strchr strtol -do -as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:$LINENO: checking for $ac_func" >&5 -echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 -if eval "test \"\${$as_ac_var+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -/* Define $ac_func to an innocuous variant, in case declares $ac_func. - For example, HP-UX 11i declares gettimeofday. */ -#define $ac_func innocuous_$ac_func - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $ac_func - -/* Override any gcc2 internal prototype to avoid an error. */ -#ifdef __cplusplus -extern "C" -{ -#endif -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -char (*f) () = $ac_func; -#endif -#ifdef __cplusplus -} -#endif - -int -main () -{ -return f != $ac_func; - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 - (eval $ac_link) 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_exeext' - { (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 - eval "$as_ac_var=yes" -else - echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -eval "$as_ac_var=no" -fi -rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 -if test `eval echo '${'$as_ac_var'}'` = yes; then +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +eval as_val=\$$as_ac_var + if test "x$as_val" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done - ac_config_files="$ac_config_files Makefile doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile m4/Makefile po/Makefile.in tools/Makefile tests/Makefile tests/TEMPLATE/Makefile tests/test-array-nr/Makefile tests/test-array-r/Makefile tests/test-basic-nr/Makefile tests/test-basic-r/Makefile tests/test-bison-yylloc/Makefile tests/test-bison-yylval/Makefile tests/test-c-cpp-nr/Makefile tests/test-c-cpp-r/Makefile tests/test-header-nr/Makefile tests/test-header-r/Makefile tests/test-include-by-buffer/Makefile tests/test-include-by-push/Makefile tests/test-include-by-reentrant/Makefile tests/test-multiple-scanners-nr/Makefile tests/test-multiple-scanners-r/Makefile tests/test-noansi-nr/Makefile tests/test-noansi-r/Makefile tests/test-prefix-nr/Makefile tests/test-prefix-r/Makefile tests/test-pthread/Makefile tests/test-string-nr/Makefile tests/test-string-r/Makefile tests/test-yyextra/Makefile tests/test-alloc-extra/Makefile tests/test-lineno-nr/Makefile tests/test-lineno-r/Makefile tests/test-linedir-r/Makefile tests/test-debug-r/Makefile tests/test-debug-nr/Makefile tests/test-mem-nr/Makefile tests/test-mem-r/Makefile tests/test-posix/Makefile tests/test-posixly-correct/Makefile tests/test-table-opts/Makefile tests/test-c++-basic/Makefile tests/test-bison-nr/Makefile tests/test-reject/Makefile tests/test-c++-multiple-scanners/Makefile tests/test-top/Makefile tests/test-rescan-nr/Makefile tests/test-rescan-r/Makefile tests/test-quotes/Makefile tests/test-ccl/Makefile tests/test-extended/Makefile tests/test-c++-yywrap/Makefile tests/test-concatenated-options/Makefile" +ac_config_files="$ac_config_files Makefile doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile lib/Makefile po/Makefile.in tools/Makefile tests/Makefile tests/TEMPLATE/Makefile tests/test-array-nr/Makefile tests/test-array-r/Makefile tests/test-basic-nr/Makefile tests/test-basic-r/Makefile tests/test-bison-yylloc/Makefile tests/test-bison-yylval/Makefile tests/test-c-cpp-nr/Makefile tests/test-c-cpp-r/Makefile tests/test-header-nr/Makefile tests/test-header-r/Makefile tests/test-include-by-buffer/Makefile tests/test-include-by-push/Makefile tests/test-include-by-reentrant/Makefile tests/test-multiple-scanners-nr/Makefile tests/test-multiple-scanners-r/Makefile tests/test-noansi-nr/Makefile tests/test-noansi-r/Makefile tests/test-prefix-nr/Makefile tests/test-prefix-r/Makefile tests/test-pthread/Makefile tests/test-string-nr/Makefile tests/test-string-r/Makefile tests/test-yyextra/Makefile tests/test-alloc-extra/Makefile tests/test-lineno-nr/Makefile tests/test-lineno-r/Makefile tests/test-linedir-r/Makefile tests/test-debug-r/Makefile tests/test-debug-nr/Makefile tests/test-mem-nr/Makefile tests/test-mem-r/Makefile tests/test-posix/Makefile tests/test-posixly-correct/Makefile tests/test-table-opts/Makefile tests/test-c++-basic/Makefile tests/test-bison-nr/Makefile tests/test-reject/Makefile tests/test-c++-multiple-scanners/Makefile tests/test-top/Makefile tests/test-rescan-nr/Makefile tests/test-rescan-r/Makefile tests/test-quotes/Makefile tests/test-ccl/Makefile tests/test-extended/Makefile tests/test-c++-yywrap/Makefile tests/test-concatenated-options/Makefile" cat >confcache <<\_ACEOF @@ -9536,39 +8472,59 @@ _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, don't put newlines in cache variables' values. +# 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 `(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 \). + 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 \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; - esac; -} | + esac | + sort +) | sed ' + /^ac_cv_env_/b end t clear - : clear + :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end - /^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" + 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" && + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else - echo "not updating unwritable cache $cache_file" + { $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 @@ -9577,73 +8533,57 @@ 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 - DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. - 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' + 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 -n "$EXEEXT"; then + am__EXEEXT_TRUE= + am__EXEEXT_FALSE='#' +else + am__EXEEXT_TRUE='#' + am__EXEEXT_FALSE= +fi + if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + 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 - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"am__fastdepCC\" 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 - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&5 -echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. -Usually this means the macro was only invoked conditionally." >&2;} - { (exit 1); exit 1; }; } + as_fn_error "conditional \"am__fastdepCXX\" 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" -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 -echo "$as_me: creating $CONFIG_STATUS" >&6;} -cat >$CONFIG_STATUS <<_ACEOF +{ $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. @@ -9653,81 +8593,252 @@ cat >$CONFIG_STATUS <<_ACEOF debug=false ac_cs_recheck=false ac_cs_silent=false + SHELL=\${CONFIG_SHELL-$SHELL} -_ACEOF +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## -cat >>$CONFIG_STATUS <<\_ACEOF -## --------------------- ## -## M4sh Initialization. ## -## --------------------- ## - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then +# 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=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' -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 - -# Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - as_unset=unset + setopt NO_GLOB_SUBST else - as_unset=false + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac fi -# Work around bugs in pre-3.0 UWIN ksh. -$as_unset ENV MAIL MAILPATH +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. +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. -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 -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE -# Required to use basename. -if expr a : '\(a\)' >/dev/null 2>&1; then +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error 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=$?; test $as_status -eq 0 && as_status=1 + if test "$3"; then + as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + fi + $as_echo "$as_me: error: $1" >&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 +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 -# Name of the executable. -as_me=`$as_basename "$0" || +as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)$' \| \ - . : '\(.\)' 2>/dev/null || -echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } - /^X\/\(\/\/\)$/{ s//\1/; q; } - /^X\/\(\/\).*/{ s//\1/; q; } - s/.*/./; q'` + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_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' @@ -9735,148 +8846,123 @@ 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:$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= ;; +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 -if expr a : '\(a\)' >/dev/null 2>&1; then - as_expr=expr -else - as_expr=false -fi - 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 +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 -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$$.file +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=: + as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi -as_executable_p="test -f" +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'" @@ -9885,31 +8971,20 @@ 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 -# Open the log real soon, to keep \$[0] and so on meaningful, and to +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. 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 the fast lexical analyser generator $as_me 2.5.35, which was -generated by GNU Autoconf 2.59. Invocation command line was +# values after options handling. +ac_log=" +This file was extended by the fast lexical analyser generator $as_me 2.5.37, which was +generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -9917,45 +8992,47 @@ generated by GNU Autoconf 2.59. Invocation command line was CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ -_CSEOF -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 -echo >&5 +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 + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. -if test -n "$ac_config_files"; then - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS -fi +config_files="$ac_config_files" +config_headers="$ac_config_headers" +config_commands="$ac_config_commands" -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 - -if test -n "$ac_config_commands"; then - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS -fi - -cat >>$CONFIG_STATUS <<\_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ -\`$as_me' instantiates files from templates according to the -current configuration. +\`$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 [OPTIONS] [FILE]... +Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages + -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 - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE Configuration files: $config_files @@ -9966,84 +9043,86 @@ $config_headers Configuration commands: $config_commands -Report bugs to ." +Report bugs to ." + _ACEOF - -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -the fast lexical analyser generator config.status 2.5.35 -configured by $0, generated by GNU Autoconf 2.59, - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" +the fast lexical analyser generator config.status 2.5.37 +configured by $0, generated by GNU Autoconf 2.65, + with options \\"\$ac_cs_config\\" -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright (C) 2009 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." -srcdir=$srcdir -INSTALL="$INSTALL" + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' +AWK='$AWK' +test -n "\$AWK" || AWK=awk _ACEOF -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. +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_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` 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 | --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 ) + --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 - CONFIG_FILES="$CONFIG_FILES $ac_optarg" + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --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. - -*) { { 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_error "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; - *) ac_config_targets="$ac_config_targets $1" ;; + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; esac shift @@ -10057,19 +9136,32 @@ if $ac_cs_silent; then fi _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - 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 + 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 -cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # -# INIT-COMMANDS section. +# INIT-COMMANDS # - # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it # from automake. @@ -10081,78 +9173,77 @@ AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF +# Handling of arguments. for ac_config_target in $ac_config_targets do - case "$ac_config_target" in - # Handling of arguments. - "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; - "examples/fastwc/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/fastwc/Makefile" ;; - "examples/manual/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/manual/Makefile" ;; - "m4/Makefile" ) CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; - "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; - "tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; - "tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "tests/TEMPLATE/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/TEMPLATE/Makefile" ;; - "tests/test-array-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-array-nr/Makefile" ;; - "tests/test-array-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-array-r/Makefile" ;; - "tests/test-basic-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-basic-nr/Makefile" ;; - "tests/test-basic-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-basic-r/Makefile" ;; - "tests/test-bison-yylloc/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylloc/Makefile" ;; - "tests/test-bison-yylval/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylval/Makefile" ;; - "tests/test-c-cpp-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-nr/Makefile" ;; - "tests/test-c-cpp-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-r/Makefile" ;; - "tests/test-header-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-header-nr/Makefile" ;; - "tests/test-header-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-header-r/Makefile" ;; - "tests/test-include-by-buffer/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-include-by-buffer/Makefile" ;; - "tests/test-include-by-push/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-include-by-push/Makefile" ;; - "tests/test-include-by-reentrant/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-include-by-reentrant/Makefile" ;; - "tests/test-multiple-scanners-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-nr/Makefile" ;; - "tests/test-multiple-scanners-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-r/Makefile" ;; - "tests/test-noansi-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-noansi-nr/Makefile" ;; - "tests/test-noansi-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-noansi-r/Makefile" ;; - "tests/test-prefix-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-prefix-nr/Makefile" ;; - "tests/test-prefix-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-prefix-r/Makefile" ;; - "tests/test-pthread/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-pthread/Makefile" ;; - "tests/test-string-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-string-nr/Makefile" ;; - "tests/test-string-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-string-r/Makefile" ;; - "tests/test-yyextra/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-yyextra/Makefile" ;; - "tests/test-alloc-extra/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-alloc-extra/Makefile" ;; - "tests/test-lineno-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-lineno-nr/Makefile" ;; - "tests/test-lineno-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-lineno-r/Makefile" ;; - "tests/test-linedir-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-linedir-r/Makefile" ;; - "tests/test-debug-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-debug-r/Makefile" ;; - "tests/test-debug-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-debug-nr/Makefile" ;; - "tests/test-mem-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-mem-nr/Makefile" ;; - "tests/test-mem-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-mem-r/Makefile" ;; - "tests/test-posix/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-posix/Makefile" ;; - "tests/test-posixly-correct/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-posixly-correct/Makefile" ;; - "tests/test-table-opts/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-table-opts/Makefile" ;; - "tests/test-c++-basic/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c++-basic/Makefile" ;; - "tests/test-bison-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-bison-nr/Makefile" ;; - "tests/test-reject/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-reject/Makefile" ;; - "tests/test-c++-multiple-scanners/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c++-multiple-scanners/Makefile" ;; - "tests/test-top/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-top/Makefile" ;; - "tests/test-rescan-nr/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-rescan-nr/Makefile" ;; - "tests/test-rescan-r/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-rescan-r/Makefile" ;; - "tests/test-quotes/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-quotes/Makefile" ;; - "tests/test-ccl/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-ccl/Makefile" ;; - "tests/test-extended/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-extended/Makefile" ;; - "tests/test-c++-yywrap/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-c++-yywrap/Makefile" ;; - "tests/test-concatenated-options/Makefile" ) CONFIG_FILES="$CONFIG_FILES tests/test-concatenated-options/Makefile" ;; - "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; - "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:conf.in" ;; - *) { { 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; }; };; + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:conf.in" ;; + "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; + "examples/fastwc/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fastwc/Makefile" ;; + "examples/manual/Makefile") CONFIG_FILES="$CONFIG_FILES examples/manual/Makefile" ;; + "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; + "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; + "tests/TEMPLATE/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TEMPLATE/Makefile" ;; + "tests/test-array-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-array-nr/Makefile" ;; + "tests/test-array-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-array-r/Makefile" ;; + "tests/test-basic-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-basic-nr/Makefile" ;; + "tests/test-basic-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-basic-r/Makefile" ;; + "tests/test-bison-yylloc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylloc/Makefile" ;; + "tests/test-bison-yylval/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylval/Makefile" ;; + "tests/test-c-cpp-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-nr/Makefile" ;; + "tests/test-c-cpp-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-r/Makefile" ;; + "tests/test-header-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-header-nr/Makefile" ;; + "tests/test-header-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-header-r/Makefile" ;; + "tests/test-include-by-buffer/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-include-by-buffer/Makefile" ;; + "tests/test-include-by-push/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-include-by-push/Makefile" ;; + "tests/test-include-by-reentrant/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-include-by-reentrant/Makefile" ;; + "tests/test-multiple-scanners-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-nr/Makefile" ;; + "tests/test-multiple-scanners-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-r/Makefile" ;; + "tests/test-noansi-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-noansi-nr/Makefile" ;; + "tests/test-noansi-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-noansi-r/Makefile" ;; + "tests/test-prefix-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-prefix-nr/Makefile" ;; + "tests/test-prefix-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-prefix-r/Makefile" ;; + "tests/test-pthread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-pthread/Makefile" ;; + "tests/test-string-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-string-nr/Makefile" ;; + "tests/test-string-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-string-r/Makefile" ;; + "tests/test-yyextra/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-yyextra/Makefile" ;; + "tests/test-alloc-extra/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-alloc-extra/Makefile" ;; + "tests/test-lineno-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-lineno-nr/Makefile" ;; + "tests/test-lineno-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-lineno-r/Makefile" ;; + "tests/test-linedir-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-linedir-r/Makefile" ;; + "tests/test-debug-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-debug-r/Makefile" ;; + "tests/test-debug-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-debug-nr/Makefile" ;; + "tests/test-mem-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-mem-nr/Makefile" ;; + "tests/test-mem-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-mem-r/Makefile" ;; + "tests/test-posix/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-posix/Makefile" ;; + "tests/test-posixly-correct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-posixly-correct/Makefile" ;; + "tests/test-table-opts/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-table-opts/Makefile" ;; + "tests/test-c++-basic/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c++-basic/Makefile" ;; + "tests/test-bison-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-bison-nr/Makefile" ;; + "tests/test-reject/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-reject/Makefile" ;; + "tests/test-c++-multiple-scanners/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c++-multiple-scanners/Makefile" ;; + "tests/test-top/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-top/Makefile" ;; + "tests/test-rescan-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-rescan-nr/Makefile" ;; + "tests/test-rescan-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-rescan-r/Makefile" ;; + "tests/test-quotes/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-quotes/Makefile" ;; + "tests/test-ccl/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-ccl/Makefile" ;; + "tests/test-extended/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-extended/Makefile" ;; + "tests/test-c++-yywrap/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c++-yywrap/Makefile" ;; + "tests/test-concatenated-options/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-concatenated-options/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 @@ -10164,753 +9255,574 @@ if $ac_need_defaults; then fi # Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason to put it here, and in addition, +# simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. -# Create a temporary directory, and hook for its removal unless debugging. +# 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 || { - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 - trap '{ (exit 1); exit 1; }' 1 2 13 15 + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 -q "./confstatXXXXXX") 2>/dev/null` && + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { - tmp=./confstat$$-$RANDOM - (umask 077 && mkdir $tmp) -} || + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 + +# 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` +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 {' >"$tmp/subs1.awk" && +_ACEOF + + { - echo "$me: cannot create a temporary directory in ." >&2 - { (exit 1); exit 1; } + 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 >>"\$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 +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \ + || as_fn_error "could not setup config files machinery" "$LINENO" 5 _ACEOF -cat >>$CONFIG_STATUS <<_ACEOF +# 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 -# -# CONFIG_FILES section. -# - -# 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,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t -s,@INSTALL_DATA@,$INSTALL_DATA,;t t -s,@CYGPATH_W@,$CYGPATH_W,;t t -s,@PACKAGE@,$PACKAGE,;t t -s,@VERSION@,$VERSION,;t t -s,@ACLOCAL@,$ACLOCAL,;t t -s,@AUTOCONF@,$AUTOCONF,;t t -s,@AUTOMAKE@,$AUTOMAKE,;t t -s,@AUTOHEADER@,$AUTOHEADER,;t t -s,@MAKEINFO@,$MAKEINFO,;t t -s,@install_sh@,$install_sh,;t t -s,@STRIP@,$STRIP,;t t -s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t -s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t -s,@mkdir_p@,$mkdir_p,;t t -s,@AWK@,$AWK,;t t -s,@SET_MAKE@,$SET_MAKE,;t t -s,@am__leading_dot@,$am__leading_dot,;t t -s,@AMTAR@,$AMTAR,;t t -s,@am__tar@,$am__tar,;t t -s,@am__untar@,$am__untar,;t t -s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t -s,@USE_NLS@,$USE_NLS,;t t -s,@MSGFMT@,$MSGFMT,;t t -s,@GMSGFMT@,$GMSGFMT,;t t -s,@XGETTEXT@,$XGETTEXT,;t t -s,@MSGMERGE@,$MSGMERGE,;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,@DEPDIR@,$DEPDIR,;t t -s,@am__include@,$am__include,;t t -s,@am__quote@,$am__quote,;t t -s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t -s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t -s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t -s,@CCDEPMODE@,$CCDEPMODE,;t t -s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t -s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;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,@LIBICONV@,$LIBICONV,;t t -s,@LTLIBICONV@,$LTLIBICONV,;t t -s,@INTLLIBS@,$INTLLIBS,;t t -s,@LIBINTL@,$LIBINTL,;t t -s,@LTLIBINTL@,$LTLIBINTL,;t t -s,@POSUB@,$POSUB,;t t -s,@YACC@,$YACC,;t t -s,@LEX@,$LEX,;t t -s,@LEXLIB@,$LEXLIB,;t t -s,@LEX_OUTPUT_ROOT@,$LEX_OUTPUT_ROOT,;t t -s,@CXX@,$CXX,;t t -s,@CXXFLAGS@,$CXXFLAGS,;t t -s,@ac_ct_CXX@,$ac_ct_CXX,;t t -s,@CXXDEPMODE@,$CXXDEPMODE,;t t -s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t -s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t -s,@LN_S@,$LN_S,;t t -s,@RANLIB@,$RANLIB,;t t -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t -s,@BISON@,$BISON,;t t -s,@HELP2MAN@,$HELP2MAN,;t t -s,@M4@,$M4,;t t -s,@INDENT@,$INDENT,;t t -s,@ALLOCA@,$ALLOCA,;t t -s,@CPP@,$CPP,;t t -s,@EGREP@,$EGREP,;t t -s,@LIBOBJS@,$LIBOBJS,;t t -s,@LTLIBOBJS@,$LTLIBOBJS,;t t -CEOF - -_ACEOF - - 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 - 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 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$tmp/defines.awk" <<\_ACAWK || +BEGIN { _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 ;; + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_t=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_t"; then + break + elif $ac_last_try; then + as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' >$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :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="$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 "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 >"$tmp/stdin" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; esac - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. - ac_dir=`(dirname "$ac_file") 2>/dev/null || + 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 || -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; }; }; } - + 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=. -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 "$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 - .) # No --srcdir option. We are building in place. + .) # We are building in place. ac_srcdir=. - if test -z "$ac_top_builddir"; then - ac_top_srcdir=. - else - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` - fi ;; - [\\/]* | ?:[\\/]* ) # Absolute path. + 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 ;; - *) # Relative path. - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_builddir$srcdir ;; + 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 -# 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 + # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_builddir$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 - - # 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; } - - 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 + +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 +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b -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 -s,@INSTALL@,$ac_INSTALL,;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 +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 "$tmp/subs.awk" >$tmp/out \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$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;} -# -# CONFIG_HEADER section. -# - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' -ac_dC=' ' -ac_dD=',;t' -# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='$,\1#\2define\3' -ac_uC=' ' -ac_uD=',;t' - -for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + rm -f "$tmp/stdin" 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 - - test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 -echo "$as_me: creating $ac_file" >&6;} - - # 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; }; } - # Do quote $f, to prevent DOS paths from being IFS'd. - 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; } - # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in - -_ACEOF - -# Transform confdefs.h into two sed scripts, `conftest.defines' and -# `conftest.undefs', that substitutes the proper values into -# config.h.in to produce config.h. The first handles `#define' -# templates, and the second `#undef' templates. -# And first: Protect against being on the right side of a sed subst in -# config.status. Protect against being in an unquoted here document -# in config.status. -rm -f conftest.defines conftest.undefs -# Using a here document instead of a string reduces the quoting nightmare. -# Putting comments in sed scripts is not portable. -# -# `end' is used to avoid that the second main sed command (meant for -# 0-ary CPP macros) applies to n-ary macro definitions. -# See the Autoconf documentation for `clear'. -cat >confdef2sed.sed <<\_ACEOF -s/[\\&,]/\\&/g -s,[\\$`],\\&,g -t clear -: clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp -t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp -: end -_ACEOF -# If some macros were called several times there might be several times -# the same #defines, which is useless. Nevertheless, we may not want to -# sort them, since we want the *last* AC-DEFINE to be honored. -uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines -sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs -rm -f confdef2sed.sed - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, -_ACEOF - -# Break up conftest.defines because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS -echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS -echo ' :' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.defines >/dev/null -do - # Write a limited-size here document to $tmp/defines.sed. - echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/defines.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail - rm -f conftest.defines - mv conftest.tail conftest.defines -done -rm -f conftest.defines -echo ' fi # grep' >>$CONFIG_STATUS -echo >>$CONFIG_STATUS - -# Break up conftest.undefs because some shells have a limit on the size -# of here documents, and old seds have small limits too (100 cmds). -echo ' # Handle all the #undef templates' >>$CONFIG_STATUS -rm -f conftest.tail -while grep . conftest.undefs >/dev/null -do - # Write a limited-size here document to $tmp/undefs.sed. - echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS - # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS - # Work around the forget-to-reset-the-flag bug. - echo 't clr' >>$CONFIG_STATUS - echo ': clr' >>$CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS - echo 'CEOF - sed -f $tmp/undefs.sed $tmp/in >$tmp/out - rm -f $tmp/in - mv $tmp/out $tmp/in -' >>$CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail - rm -f conftest.undefs - mv conftest.tail conftest.undefs -done -rm -f conftest.undefs - -cat >>$CONFIG_STATUS <<\_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 - echo "/* Generated by configure. */" >$tmp/config.h - else - echo "/* $ac_file. Generated by configure. */" >$tmp/config.h - fi - cat $tmp/in >>$tmp/config.h - rm -f $tmp/in + -) cat "$tmp/out" && rm -f "$tmp/out";; + *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + esac \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # if test x"$ac_file" != x-; then - if diff $ac_file $tmp/config.h >/dev/null 2>&1; then - { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 -echo "$as_me: $ac_file is unchanged" >&6;} + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" + } >"$tmp/config.h" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} else - 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 || -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; }; }; } - - rm -f $ac_file - mv $tmp/config.h $ac_file + rm -f "$ac_file" + mv "$tmp/config.h" "$ac_file" \ + || as_fn_error "could not create $ac_file" "$LINENO" 5 fi else - cat $tmp/config.h - rm -f $tmp/config.h + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error "could not create -" "$LINENO" 5 fi -# Compute $ac_file's index in $config_headers. +# Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in - $ac_file | $ac_file:* ) + $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -echo "timestamp for $ac_file" >`(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 || -echo X$ac_file | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } - /^X\(\/\/\)[^/].*/{ s//\1/; q; } - /^X\(\/\/\)$/{ s//\1/; q; } - /^X\(\/\).*/{ s//\1/; q; } - s/.*/./; q'`/stamp-h$_am_stamp_count -done -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'`/stamp-h$_am_stamp_count + ;; -# -# CONFIG_COMMANDS section. -# -for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue - ac_dest=`echo "$ac_file" | sed 's,:.*,,'` - ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_dir=`(dirname "$ac_dest") 2>/dev/null || -$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_dest" : 'X\(//\)[^/]' \| \ - X"$ac_dest" : 'X\(//\)$' \| \ - X"$ac_dest" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || -echo X"$ac_dest" | - 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=. - -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 - .) # No --srcdir option. We are building in place. - ac_srcdir=. - 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 ;; - *) # 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 + :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 +$as_echo "$as_me: executing $ac_file commands" >&6;} + ;; + esac - { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 -echo "$as_me: executing $ac_dest commands" >&6;} - case $ac_dest in - default-1 ) + case $ac_file$ac_mode in + "default-1":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in @@ -11011,102 +9923,113 @@ echo "$as_me: executing $ac_dest commands" >&6;} ;; esac done ;; - depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; 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. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`(dirname "$mf") 2>/dev/null || + "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 || -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=`(dirname "$file") 2>/dev/null || + 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 || -echo X"$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 $dirpart/$fdir - else - as_dir=$dirpart/$fdir - 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'` + 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 - test ! -n "$as_dirs" || mkdir $as_dirs - fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 -echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} - { (exit 1); exit 1; }; }; } - - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" done -done +} ;; + esac -done -_ACEOF +done # for ac_tag -cat >>$CONFIG_STATUS <<\_ACEOF -{ (exit 0); exit 0; } +as_fn_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. @@ -11126,6 +10049,10 @@ 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 || { (exit 1); exit 1; } + $ac_cs_success || as_fn_exit $? +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/external/bsd/flex/dist/configure.in b/external/bsd/flex/dist/configure.in index 8f3aa958b..61f541201 100644 --- a/external/bsd/flex/dist/configure.in +++ b/external/bsd/flex/dist/configure.in @@ -24,22 +24,22 @@ # autoconf requirements and initialization -AC_PREREQ(2.59) -AC_INIT([the fast lexical analyser generator], [2.5.35], +AC_INIT([the fast lexical analyser generator], [2.5.37], [flex-help@lists.sourceforge.net], [flex]) AC_CONFIG_SRCDIR([scan.l]) -AM_INIT_AUTOMAKE([gnits dist-bzip2]) +AM_INIT_AUTOMAKE([gnits dist-bzip2 1.10]) AC_CONFIG_HEADER([config.h:conf.in]) +AC_CONFIG_LIBOBJ_DIR([lib]) # checks for programs AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION(0.12) - AC_PROG_YACC AM_PROG_LEX AC_PROG_CC AC_PROG_CXX +AM_PROG_CC_C_O AC_PROG_LN_S AC_PROG_RANLIB AC_PROG_AWK @@ -48,22 +48,16 @@ AC_PROG_INSTALL AC_PATH_PROG(BISON, bison,bison) AC_PATH_PROG(HELP2MAN, help2man, help2man) -# Check for a GNU m4 that supports --prefix-builtins +# Check for a m4 that supports -P -AC_PATH_PROGS(M4, gm4 gnum4 m4, m4) - -if test x"$M4" != x; then - AC_MSG_CHECKING([for GNU m4]) - case `$M4 --help < /dev/null 2>&1` in - *prefix-builtins*) AC_MSG_RESULT(yes) ;; - *) AC_MSG_RESULT(no) ; - AC_MSG_ERROR([GNU M4 1.4 is required]) ;; - esac -else - AC_MSG_ERROR([GNU M4 1.4 is required]) ; -fi - -AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.]) +AC_CACHE_CHECK([for m4 that supports -P], [ac_cv_path_M4], +[AC_PATH_PROGS_FEATURE_CHECK([M4], [gm4 gnum4 m4], + [[m4out=`echo 'm''4_divnum' | $ac_path_M4 -P`] + [test "x$m4out" = x0 \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]], + [AC_MSG_ERROR([could not find m4 that supports -P])])]) +AC_SUBST([M4], [$ac_cv_path_M4]) +AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the m4 executable name.]) AC_PATH_PROG(INDENT, indent, indent) # if INDENT is set to 'indent' then we didn't find indent @@ -79,13 +73,13 @@ else AC_MSG_WARN(no indent program found: make indent target will not function) fi -# checks for libraries +# checks for headers -AC_FUNC_ALLOCA AC_HEADER_STDC AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h stddef.h stdlib.h string.h strings.h unistd.h]) -AC_CHECK_LIB(m, log10) +AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h regex.h stddef.h stdlib.h string.h strings.h unistd.h]) + +# checks for libraries # The test test-pthread uses libpthread, so we check for it here, but # all we need is the preprocessor symbol defined since we don't need @@ -97,6 +91,8 @@ AC_DEFINE([HAVE_LIBPTHREAD], 0, [pthread library] ) ) AC_CHECK_HEADERS([pthread.h]) +AC_CHECK_LIB(m, log10) + # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL @@ -105,6 +101,7 @@ AC_TYPE_SIZE_T # Checks for library functions. +AC_FUNC_ALLOCA AC_FUNC_FORK AC_FUNC_MALLOC AC_FUNC_REALLOC @@ -116,7 +113,7 @@ doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile -m4/Makefile +lib/Makefile po/Makefile.in tools/Makefile tests/Makefile diff --git a/external/bsd/flex/dist/depcomp b/external/bsd/flex/dist/depcomp index 04701da53..df8eea7e4 100755 --- a/external/bsd/flex/dist/depcomp +++ b/external/bsd/flex/dist/depcomp @@ -1,9 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2005-07-09.11 +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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 @@ -16,9 +17,7 @@ scriptversion=2005-07-09.11 # 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. +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -86,12 +85,34 @@ if test "$depmode" = dashXmstdout; then depmode=dashmstdout fi +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u="sed s,\\\\\\\\,/,g" + depmode=msvisualcpp +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -178,14 +199,14 @@ sgi) ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' -' ' ' >> $depfile - echo >> $depfile +' ' ' >> "$depfile" + echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> $depfile + >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -201,34 +222,39 @@ aix) # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u "$@" -M fi stat=$? - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - if test $stat -eq 0; then : else - rm -f "$tmpdepfile" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then - outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -276,6 +302,51 @@ icc) rm -f "$tmpdepfile" ;; +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -288,13 +359,13 @@ tru64) if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a - # static library. This mecanism is used in libtool 1.4 series to + # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in in $dir.libs/$base.o.d and + # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is @@ -345,7 +416,7 @@ dashmstdout) # Remove the call to Libtool. if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift @@ -396,32 +467,39 @@ makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift - cleared=no - for arg in "$@"; do + cleared=no eat=no + for arg + do case $cleared in no) set ""; shift cleared=yes ;; esac + if test $eat = yes; then + eat=no + continue + fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done - obj_suffix="`echo $object | sed 's/^.*\././'`" + obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" @@ -441,7 +519,7 @@ cpp) # Remove the call to Libtool. if test "$libtool" = yes; then - while test $1 != '--mode=compile'; do + while test "X$1" != 'X--mode=compile'; do shift done shift @@ -479,13 +557,27 @@ cpp) msvisualcpp) # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o, - # because we must use -o when running libtool. + # always write the preprocessed file to stdout. "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + IFS=" " for arg do case "$arg" in + -o) + shift + ;; + $object) + shift + ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift @@ -498,16 +590,23 @@ msvisualcpp) ;; esac done - "$@" -E | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" - . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + none) exec "$@" ;; @@ -526,5 +625,6 @@ exit 0 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/external/bsd/flex/dist/dfa.c b/external/bsd/flex/dist/dfa.c index 6a6a171a4..e4937ab66 100644 --- a/external/bsd/flex/dist/dfa.c +++ b/external/bsd/flex/dist/dfa.c @@ -1,4 +1,4 @@ -/* $NetBSD: dfa.c,v 1.1.1.1 2009/10/26 00:25:56 christos Exp $ */ +/* $NetBSD: dfa.c,v 1.1.1.2 2013/04/06 14:05:42 christos Exp $ */ /* dfa - DFA construction routines */ @@ -163,7 +163,7 @@ void dump_associated_rules (file, ds) } } - bubble (rule_set, num_associated_rules); + qsort (&rule_set [1], num_associated_rules, sizeof (rule_set [1]), intcmp); fprintf (file, _(" associated rule line numbers:")); @@ -837,10 +837,8 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) if (!didsort) { /* We sort the states in sns so we * can compare it to oldsns quickly. - * We use bubble because there probably - * aren't very many states. */ - bubble (sns, numstates); + qsort (&sns [1], numstates, sizeof (sns [1]), intcmp); didsort = 1; } @@ -875,7 +873,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) */ if (!didsort) - bubble (sns, numstates); + qsort (&sns [1], numstates, sizeof (sns [1]), intcmp); for (i = 1; i <= numstates; ++i) dss[newds][i] = sns[i]; @@ -895,11 +893,10 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) else if (reject) { /* We sort the accepting set in increasing order so the * disambiguating rule that the first rule listed is considered - * match in the event of ties will work. We use a bubble - * sort since the list is probably quite small. + * match in the event of ties will work. */ - bubble (accset, nacc); + qsort (&accset [1], nacc, sizeof (accset [1]), intcmp); dfaacc[newds].dfaacc_set = allocate_integer_array (nacc + 1); diff --git a/external/bsd/flex/dist/doc/Makefile.am b/external/bsd/flex/dist/doc/Makefile.am index bfed30d32..0058e2538 100644 --- a/external/bsd/flex/dist/doc/Makefile.am +++ b/external/bsd/flex/dist/doc/Makefile.am @@ -2,7 +2,7 @@ help2man = @HELP2MAN@ info_TEXINFOS = flex.texi dist_man_MANS = flex.1 -EXTRA_DIST = flex.pdf +dist_doc_DATA= flex.pdf CLEANFILES = \ flex.hks \ diff --git a/external/bsd/flex/dist/doc/Makefile.in b/external/bsd/flex/dist/doc/Makefile.in index b5a7f5ba7..7964dbe8b 100644 --- a/external/bsd/flex/dist/doc/Makefile.in +++ b/external/bsd/flex/dist/doc/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -13,15 +14,13 @@ # PARTICULAR PURPOSE. @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -36,7 +35,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc -DIST_COMMON = $(dist_man_MANS) $(srcdir)/Makefile.am \ +DIST_COMMON = $(dist_doc_DATA) $(dist_man_MANS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/stamp-vti \ $(srcdir)/version.texi mdate-sh texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -50,6 +49,7 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = INFO_DEPS = $(srcdir)/flex.info @@ -64,15 +64,36 @@ TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) DVIPS = dvips -am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" +am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" \ + "$(DESTDIR)$(docdir)" +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' man1dir = $(mandir)/man1 NROFF = nroff MANS = $(dist_man_MANS) +DATA = $(dist_doc_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -96,8 +117,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -117,6 +140,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -126,6 +150,7 @@ 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@ POSUB = @POSUB@ @@ -137,14 +162,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -156,32 +180,44 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ help2man = @HELP2MAN@ info_TEXINFOS = flex.texi dist_man_MANS = flex.1 -EXTRA_DIST = flex.pdf +dist_doc_DATA = flex.pdf CLEANFILES = \ flex.hks \ flex.ops @@ -194,14 +230,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits doc/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits doc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -219,10 +255,11 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): .texi.info: restore=: && backupdir="$(am__leading_dot)am$$$$" && \ - am__cwd=`pwd` && cd $(srcdir) && \ + am__cwd=`pwd` && $(am__cd) $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ @@ -234,10 +271,10 @@ $(ACLOCAL_M4): $(am__aclocal_m4_deps) -o $@ $<; \ then \ rc=0; \ - cd $(srcdir); \ + $(am__cd) $(srcdir); \ else \ rc=$$?; \ - cd $(srcdir) && \ + $(am__cd) $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ rm -rf $$backupdir; exit $$rc @@ -292,15 +329,35 @@ maintainer-clean-vti: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) -o $@ $< +uninstall-dvi-am: + @$(NORMAL_UNINSTALL) + @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ + rm -f "$(DESTDIR)$(dvidir)/$$f"; \ + done + +uninstall-html-am: + @$(NORMAL_UNINSTALL) + @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ + rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ + done + uninstall-info-am: @$(PRE_UNINSTALL) - @if (install-info --version && \ + @if test -d '$(DESTDIR)$(infodir)' && \ + (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ - install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ + if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ + then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \ done; \ else :; fi @$(NORMAL_UNINSTALL) @@ -308,12 +365,30 @@ uninstall-info-am: for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ - (if cd "$(DESTDIR)$(infodir)"; then \ + (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done +uninstall-pdf-am: + @$(NORMAL_UNINSTALL) + @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ + done + +uninstall-ps-am: + @$(NORMAL_UNINSTALL) + @list='$(PSS)'; test -n "$(psdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ + rm -f "$(DESTDIR)$(psdir)/$$f"; \ + done + dist-info: $(INFO_DEPS) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ @@ -322,18 +397,24 @@ dist-info: $(INFO_DEPS) $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ - for file in $$d/$$base*; do \ - relfile=`expr "$$file" : "$$d/\(.*\)"`; \ - test -f $(distdir)/$$relfile || \ - cp -p $$file $(distdir)/$$relfile; \ + base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ + for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ + if test -f $$file; then \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f "$(distdir)/$$relfile" || \ + cp -p $$file "$(distdir)/$$relfile"; \ + else :; fi; \ done; \ done mostlyclean-aminfo: -rm -rf flex.aux flex.cp flex.cps flex.fn flex.fns flex.hk flex.hks flex.ky \ flex.kys flex.log flex.op flex.ops flex.pg flex.pgs flex.tmp \ - flex.toc flex.tp flex.tps flex.vr flex.vrs flex.dvi flex.pdf \ - flex.ps flex.html + flex.toc flex.tp flex.tps flex.vr flex.vrs + +clean-aminfo: + -test -z "flex.dvi flex.pdf flex.ps flex.html" \ + || rm -rf flex.dvi flex.pdf flex.ps flex.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ @@ -341,51 +422,64 @@ maintainer-clean-aminfo: echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done -install-man1: $(man1_MANS) $(man_MANS) +install-man1: $(dist_man_MANS) @$(NORMAL_INSTALL) - test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" + @list=''; test -n "$(man1dir)" || exit 0; \ + { for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | while read p; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; echo "$$p"; \ + done | \ + sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ + sed 'N;N;s,\n, ,g' | { \ + list=; while read file base inst; do \ + if test "$$base" = "$$inst"; then list="$$list $$file"; else \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ + fi; \ done; \ - for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 1*) ;; \ - *) ext='1' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ - done + for i in $$list; do echo "$$i"; done | $(am__base_list) | \ + while read files; do \ + test -z "$$files" || { \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ + done; } + uninstall-man1: @$(NORMAL_UNINSTALL) - @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ - l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ - for i in $$l2; do \ - case "$$i" in \ - *.1*) list="$$list $$i" ;; \ - esac; \ - done; \ - for i in $$list; do \ - ext=`echo $$i | sed -e 's/^.*\\.//'`; \ - case "$$ext" in \ - 1*) ;; \ - *) ext='1' ;; \ - esac; \ - inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ - inst=`echo $$inst | sed -e 's/^.*\///'`; \ - inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ - rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + @list=''; test -n "$(man1dir)" || exit 0; \ + files=`{ for i in $$list; do echo "$$i"; done; \ + l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ + sed -n '/\.1[a-z]*$$/p'; \ + } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ + -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ + test -z "$$files" || { \ + echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(man1dir)" && rm -f $$files; } +install-dist_docDATA: $(dist_doc_DATA) + @$(NORMAL_INSTALL) + test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" + @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ done + +uninstall-dist_docDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + test -n "$$files" || exit 0; \ + echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(docdir)" && rm -f $$files tags: TAGS TAGS: @@ -394,29 +488,45 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @list='$(MANS)'; if test -n "$$list"; then \ + list=`for p in $$list; do \ + if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ + if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ + if test -n "$$list" && \ + grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ + echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \ + grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ + echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ + echo " typically \`make maintainer-clean' will remove them" >&2; \ + exit 1; \ + else :; fi; \ + else :; fi + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -425,10 +535,10 @@ distdir: $(DISTFILES) dist-info check-am: all-am check: check-am -all-am: Makefile $(INFO_DEPS) $(MANS) +all-am: Makefile $(INFO_DEPS) $(MANS) $(DATA) installdirs: - for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(mkdir_p) "$$dir"; \ + for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(docdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am @@ -451,13 +561,14 @@ 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 mostlyclean-am +clean-am: clean-aminfo clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile @@ -475,17 +586,54 @@ info: info-am info-am: $(INFO_DEPS) -install-data-am: install-info-am install-man +install-data-am: install-dist_docDATA install-info-am install-man +install-dvi: install-dvi-am + +install-dvi-am: $(DVIS) + @$(NORMAL_INSTALL) + test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" + @list='$(DVIS)'; test -n "$(dvidir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \ + done install-exec-am: +install-html: install-html-am + +install-html-am: $(HTMLS) + @$(NORMAL_INSTALL) + test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" + @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \ + for p in $$list; do \ + if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ + $(am__strip_dir) \ + if test -d "$$d$$p"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ + $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ + echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ + $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \ + else \ + list2="$$list2 $$d$$p"; \ + fi; \ + done; \ + test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ + done; } install-info: install-info-am install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) - test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" + test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - list='$(INFO_DEPS)'; \ + list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ @@ -493,18 +641,19 @@ install-info-am: $(INFO_DEPS) if test -f $$file; then d=.; else d=$(srcdir); fi; \ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ - $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ - relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ - echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ - $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ + echo "$$ifile"; \ else : ; fi; \ done; \ - done + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done @$(POST_INSTALL) @if (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ - list='$(INFO_DEPS)'; \ + list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ @@ -513,6 +662,32 @@ install-info-am: $(INFO_DEPS) else : ; fi install-man: install-man1 +install-pdf: install-pdf-am + +install-pdf-am: $(PDFS) + @$(NORMAL_INSTALL) + test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" + @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done +install-ps: install-ps-am + +install-ps-am: $(PSS) + @$(NORMAL_INSTALL) + test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" + @list='$(PSS)'; test -n "$(psdir)" || list=; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done installcheck-am: maintainer-clean: maintainer-clean-am @@ -532,21 +707,28 @@ ps: ps-am ps-am: $(PSS) -uninstall-am: uninstall-info-am uninstall-man +uninstall-am: uninstall-dist_docDATA uninstall-dvi-am \ + uninstall-html-am uninstall-info-am uninstall-man \ + uninstall-pdf-am uninstall-ps-am uninstall-man: uninstall-man1 -.PHONY: all all-am check check-am clean clean-generic dist-info \ - distclean distclean-generic distdir dvi dvi-am html html-am \ - info info-am install install-am install-data install-data-am \ - install-exec install-exec-am install-info install-info-am \ - install-man install-man1 install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-aminfo maintainer-clean-generic \ - maintainer-clean-vti mostlyclean mostlyclean-aminfo \ - mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-info-am uninstall-man \ - uninstall-man1 +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-aminfo clean-generic \ + dist-info distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dist_docDATA install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-man1 install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-aminfo \ + maintainer-clean-generic maintainer-clean-vti mostlyclean \ + mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf \ + pdf-am ps ps-am uninstall uninstall-am uninstall-dist_docDATA \ + uninstall-dvi-am uninstall-html-am uninstall-info-am \ + uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am $(dist_man_MANS): $(top_srcdir)/main.c @@ -555,6 +737,7 @@ $(dist_man_MANS): $(top_srcdir)/main.c --section=`echo $$i | sed -e 's/.*\.\([^.]*\)$$/\1/'` \ ../flex$(EXEEXT) > $$i || rm -f $$i ; \ done + # 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/external/bsd/flex/dist/doc/flex.1 b/external/bsd/flex/dist/doc/flex.1 index e8dc83d8a..301f9f904 100644 --- a/external/bsd/flex/dist/doc/flex.1 +++ b/external/bsd/flex/dist/doc/flex.1 @@ -1,7 +1,7 @@ -.\" $NetBSD: flex.1,v 1.1.1.1 2009/10/26 00:27:06 christos Exp $ +.\" $NetBSD: flex.1,v 1.1.1.2 2013/04/06 14:05:49 christos Exp $ .\" -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.36. -.TH FLEX "1" "February 2008" "flex 2.5.35" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.37.1. +.TH FLEX "1" "July 2012" "flex 2.5.36" "User Commands" .SH NAME flex \- the fast lexical analyser generator .SH SYNOPSIS diff --git a/external/bsd/flex/dist/doc/flex.info b/external/bsd/flex/dist/doc/flex.info index fddd79212..85d7e947d 100644 --- a/external/bsd/flex/dist/doc/flex.info +++ b/external/bsd/flex/dist/doc/flex.info @@ -1,4 +1,4 @@ -This is flex.info, produced by makeinfo version 4.8 from flex.texi. +This is flex.info, produced by makeinfo version 4.13 from flex.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY @@ -8,8 +8,8 @@ END-INFO-DIR-ENTRY The flex manual is placed under the same licensing conditions as the rest of flex: - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex -Project. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012 The +Flex Project. Copyright (C) 1990, 1997 The Regents of the University of California. All rights reserved. @@ -43,240 +43,240 @@ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  Indirect: -flex.info-1: 1620 -flex.info-2: 287921 +flex.info-1: 1627 +flex.info-2: 288417  Tag Table: (Indirect) -Node: Top1620 -Node: Copyright7690 -Node: Reporting Bugs9203 -Node: Introduction9508 -Node: Simple Examples10336 -Node: Format13646 -Node: Definitions Section14060 -Ref: Definitions Section-Footnote-116323 -Node: Rules Section16391 -Node: User Code Section17549 -Node: Comments in the Input17987 -Node: Patterns19355 -Ref: case and character ranges26186 -Node: Matching30201 -Node: Actions33487 -Node: Generated Scanner42466 -Node: Start Conditions47484 -Node: Multiple Input Buffers58043 -Ref: Scanning Strings64581 -Node: EOF66211 -Node: Misc Macros67799 -Node: User Values70653 -Node: Yacc72984 -Node: Scanner Options73880 -Node: Options for Specifying Filenames76638 -Ref: option-header76864 -Ref: option-outfile77576 -Ref: option-stdout77901 -Node: Options Affecting Scanner Behavior78883 -Ref: option-case-insensitive79124 -Ref: option-lex-compat79557 -Ref: option-batch80089 -Ref: option-interactive80613 -Ref: option-7bit81967 -Ref: option-8bit83271 -Ref: option-default83683 -Ref: option-always-interactive83747 -Ref: option-posix84351 -Ref: option-stack85498 -Ref: option-stdinit85606 -Ref: option-yylineno86084 -Ref: option-yywrap86527 -Node: Code-Level And API Options86795 -Ref: option-ansi-definitions87022 -Ref: option-ansi-prototypes87274 -Ref: option-bison-bridge87521 -Ref: option-bison-locations87860 -Ref: option-noline88120 -Ref: option-reentrant88634 -Ref: option-c++89245 -Ref: option-array89371 -Ref: option-pointer89469 -Ref: option-prefix89597 -Ref: option-main91126 -Ref: option-nounistd91310 -Ref: option-yyclass91818 -Node: Options for Scanner Speed and Size92304 -Ref: option-align92853 -Ref: option-ecs93354 -Ref: option-meta-ecs94390 -Ref: option-read94877 -Ref: option-full96760 -Ref: option-fast96955 -Node: Debugging Options97881 -Ref: option-backup98068 -Ref: option-debug98613 -Ref: option-perf-report99336 -Ref: option-nodefault99962 -Ref: option-trace100280 -Ref: option-nowarn100571 -Ref: option-verbose100639 -Ref: option-warn101068 -Node: Miscellaneous Options101287 -Node: Performance101744 -Node: Cxx112008 -Node: Reentrant119531 -Node: Reentrant Uses120208 -Node: Reentrant Overview121771 -Node: Reentrant Example122570 -Node: Reentrant Detail123345 -Node: Specify Reentrant123778 -Node: Extra Reentrant Argument124425 -Node: Global Replacement125677 -Node: Init and Destroy Functions126906 -Node: Accessor Methods129418 -Node: Extra Data130762 -Node: About yyscan_t133029 -Node: Reentrant Functions133425 -Ref: bison-functions134909 -Node: Lex and Posix135650 -Node: Memory Management143034 -Ref: memory-management143180 -Node: The Default Memory Management143408 -Ref: The Default Memory Management-Footnote-1147217 -Node: Overriding The Default Memory Management147370 -Ref: Overriding The Default Memory Management-Footnote-1149769 -Node: A Note About yytext And Memory149933 -Node: Serialized Tables151166 -Ref: serialization151310 -Node: Creating Serialized Tables152075 -Node: Loading and Unloading Serialized Tables153685 -Node: Tables File Format155453 -Node: Diagnostics162468 -Node: Limitations165879 -Node: Bibliography167828 -Node: FAQ168501 -Node: When was flex born?172741 -Node: How do I expand backslash-escape sequences in C-style quoted strings?173118 -Node: Why do flex scanners call fileno if it is not ANSI compatible?174422 -Node: Does flex support recursive pattern definitions?175217 -Node: How do I skip huge chunks of input (tens of megabytes) while using flex?176064 -Node: Flex is not matching my patterns in the same order that I defined them.176531 -Node: My actions are executing out of order or sometimes not at all.178277 -Node: How can I have multiple input sources feed into the same scanner at the same time?179052 -Node: Can I build nested parsers that work with the same input file?181040 -Node: How can I match text only at the end of a file?182046 -Node: How can I make REJECT cascade across start condition boundaries?182851 -Node: Why cant I use fast or full tables with interactive mode?183866 -Node: How much faster is -F or -f than -C?185124 -Node: If I have a simple grammar cant I just parse it with flex?185436 -Node: Why doesn't yyrestart() set the start state back to INITIAL?185917 -Node: How can I match C-style comments?186544 -Node: The period isn't working the way I expected.187358 -Node: Can I get the flex manual in another format?188605 -Node: Does there exist a "faster" NDFA->DFA algorithm?189094 -Node: How does flex compile the DFA so quickly?189604 -Node: How can I use more than 8192 rules?190571 -Node: How do I abandon a file in the middle of a scan and switch to a new file?191983 -Node: How do I execute code only during initialization (only before the first scan)?192536 -Node: How do I execute code at termination?193314 -Node: Where else can I find help?193640 -Node: Can I include comments in the "rules" section of the file?194013 -Node: I get an error about undefined yywrap().194392 -Node: How can I change the matching pattern at run time?194869 -Node: How can I expand macros in the input?195231 -Node: How can I build a two-pass scanner?196264 -Node: How do I match any string not matched in the preceding rules?197180 -Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.198090 -Node: Is there a way to make flex treat NULL like a regular character?198885 -Node: Whenever flex can not match the input it says "flex scanner jammed".199406 -Node: Why doesn't flex have non-greedy operators like perl does?200050 -Node: Memory leak - 16386 bytes allocated by malloc.201403 -Ref: faq-memory-leak201701 -Node: How do I track the byte offset for lseek()?202669 -Node: How do I use my own I/O classes in a C++ scanner?204180 -Node: How do I skip as many chars as possible?205023 -Node: deleteme00206100 -Node: Are certain equivalent patterns faster than others?206541 -Node: Is backing up a big deal?209960 -Node: Can I fake multi-byte character support?211867 -Node: deleteme01213309 -Node: Can you discuss some flex internals?214419 -Node: unput() messes up yy_at_bol216664 -Node: The | operator is not doing what I want217767 -Node: Why can't flex understand this variable trailing context pattern?219314 -Node: The ^ operator isn't working220564 -Node: Trailing context is getting confused with trailing optional patterns221800 -Node: Is flex GNU or not?223044 -Node: ERASEME53224718 -Node: I need to scan if-then-else blocks and while loops225489 -Node: ERASEME55226689 -Node: ERASEME56227788 -Node: ERASEME57229147 -Node: Is there a repository for flex scanners?230146 -Node: How can I conditionally compile or preprocess my flex input file?230461 -Node: Where can I find grammars for lex and yacc?230934 -Node: I get an end-of-buffer message for each character scanned.231281 -Node: unnamed-faq-62231876 -Node: unnamed-faq-63232895 -Node: unnamed-faq-64234193 -Node: unnamed-faq-65235160 -Node: unnamed-faq-66235947 -Node: unnamed-faq-67237063 -Node: unnamed-faq-68238051 -Node: unnamed-faq-69239194 -Node: unnamed-faq-70239908 -Node: unnamed-faq-71240670 -Node: unnamed-faq-72241880 -Node: unnamed-faq-73242924 -Node: unnamed-faq-74243849 -Node: unnamed-faq-75244795 -Node: unnamed-faq-76245928 -Node: unnamed-faq-77246635 -Node: unnamed-faq-78247529 -Node: unnamed-faq-79248528 -Node: unnamed-faq-80250229 -Node: unnamed-faq-81251548 -Node: unnamed-faq-82254349 -Node: unnamed-faq-83255307 -Node: unnamed-faq-84257088 -Node: unnamed-faq-85258192 -Node: unnamed-faq-86259200 -Node: unnamed-faq-87260139 -Node: unnamed-faq-88260786 -Node: unnamed-faq-90261618 -Node: unnamed-faq-91262882 -Node: unnamed-faq-92265311 -Node: unnamed-faq-93265811 -Node: unnamed-faq-94266739 -Node: unnamed-faq-95268152 -Node: unnamed-faq-96269671 -Node: unnamed-faq-97270431 -Node: unnamed-faq-98271099 -Node: unnamed-faq-99271765 -Node: unnamed-faq-100272695 -Node: unnamed-faq-101273406 -Node: What is the difference between YYLEX_PARAM and YY_DECL?274220 -Node: Why do I get "conflicting types for yylex" error?274742 -Node: How do I access the values set in a Flex action from within a Bison action?275272 -Node: Appendices275703 -Node: Makefiles and Flex275912 -Ref: Makefiles and Flex-Footnote-1279112 -Ref: Makefiles and Flex-Footnote-2279229 -Ref: Makefiles and Flex-Footnote-3279415 -Node: Bison Bridge279466 -Ref: Bison Bridge-Footnote-1282135 -Node: M4 Dependency282327 -Ref: M4 Dependency-Footnote-1283732 -Node: Common Patterns283867 -Node: Numbers284158 -Node: Identifiers285135 -Node: Quoted Constructs285964 -Node: Addresses287017 -Node: Indices287683 -Node: Concept Index287921 -Node: Index of Functions and Macros313204 -Node: Index of Variables318100 -Node: Index of Data Types319766 -Node: Index of Hooks320654 -Node: Index of Scanner Options321222 +Node: Top1627 +Node: Copyright7692 +Node: Reporting Bugs9211 +Node: Introduction9516 +Node: Simple Examples10344 +Node: Format13631 +Node: Definitions Section14044 +Ref: Definitions Section-Footnote-116302 +Node: Rules Section16370 +Node: User Code Section17527 +Node: Comments in the Input17965 +Node: Patterns19332 +Ref: case and character ranges26156 +Node: Matching30167 +Node: Actions33451 +Node: Generated Scanner42420 +Node: Start Conditions47435 +Node: Multiple Input Buffers57972 +Ref: Scanning Strings64508 +Node: EOF66138 +Node: Misc Macros67724 +Node: User Values70576 +Node: Yacc72907 +Node: Scanner Options73802 +Node: Options for Specifying Filenames76558 +Ref: option-header76784 +Ref: option-outfile77496 +Ref: option-stdout77821 +Node: Options Affecting Scanner Behavior78803 +Ref: option-case-insensitive79044 +Ref: option-lex-compat79477 +Ref: option-batch80009 +Ref: option-interactive80533 +Ref: option-7bit81887 +Ref: option-8bit83191 +Ref: option-default83603 +Ref: option-always-interactive83667 +Ref: option-posix84271 +Ref: option-stack85418 +Ref: option-stdinit85526 +Ref: option-yylineno86004 +Ref: option-yywrap86447 +Node: Code-Level And API Options86715 +Ref: option-ansi-definitions86942 +Ref: option-ansi-prototypes87194 +Ref: option-bison-bridge87441 +Ref: option-bison-locations87780 +Ref: option-noline88040 +Ref: option-reentrant88554 +Ref: option-c++89165 +Ref: option-array89291 +Ref: option-pointer89389 +Ref: option-prefix89517 +Ref: option-main91045 +Ref: option-nounistd91229 +Ref: option-yyclass91737 +Node: Options for Scanner Speed and Size92223 +Ref: option-align92772 +Ref: option-ecs93273 +Ref: option-meta-ecs94309 +Ref: option-read94796 +Ref: option-full96678 +Ref: option-fast96873 +Node: Debugging Options97798 +Ref: option-backup97985 +Ref: option-debug98530 +Ref: option-perf-report99252 +Ref: option-nodefault99878 +Ref: option-trace100196 +Ref: option-nowarn100487 +Ref: option-verbose100555 +Ref: option-warn100984 +Node: Miscellaneous Options101203 +Node: Performance101660 +Node: Cxx111902 +Node: Reentrant119504 +Node: Reentrant Uses120181 +Node: Reentrant Overview121742 +Node: Reentrant Example122541 +Node: Reentrant Detail123315 +Node: Specify Reentrant123748 +Node: Extra Reentrant Argument124395 +Node: Global Replacement125646 +Node: Init and Destroy Functions126874 +Node: Accessor Methods129391 +Node: Extra Data130733 +Node: About yyscan_t132998 +Node: Reentrant Functions133393 +Ref: bison-functions134875 +Node: Lex and Posix135614 +Node: Memory Management142985 +Ref: memory-management143131 +Node: The Default Memory Management143359 +Ref: The Default Memory Management-Footnote-1147165 +Node: Overriding The Default Memory Management147318 +Ref: Overriding The Default Memory Management-Footnote-1149715 +Node: A Note About yytext And Memory149879 +Node: Serialized Tables151112 +Ref: serialization151256 +Node: Creating Serialized Tables152021 +Node: Loading and Unloading Serialized Tables153629 +Node: Tables File Format155397 +Node: Diagnostics162411 +Node: Limitations165820 +Node: Bibliography167768 +Node: FAQ168441 +Node: When was flex born?172681 +Node: How do I expand backslash-escape sequences in C-style quoted strings?173058 +Node: Why do flex scanners call fileno if it is not ANSI compatible?174362 +Node: Does flex support recursive pattern definitions?175157 +Node: How do I skip huge chunks of input (tens of megabytes) while using flex?176003 +Node: Flex is not matching my patterns in the same order that I defined them.176470 +Node: My actions are executing out of order or sometimes not at all.178215 +Node: How can I have multiple input sources feed into the same scanner at the same time?178988 +Node: Can I build nested parsers that work with the same input file?180976 +Node: How can I match text only at the end of a file?181982 +Node: How can I make REJECT cascade across start condition boundaries?182786 +Node: Why cant I use fast or full tables with interactive mode?183800 +Node: How much faster is -F or -f than -C?185058 +Node: If I have a simple grammar cant I just parse it with flex?185370 +Node: Why doesn't yyrestart() set the start state back to INITIAL?185851 +Node: How can I match C-style comments?186478 +Node: The period isn't working the way I expected.187288 +Node: Can I get the flex manual in another format?188535 +Node: Does there exist a "faster" NDFA->DFA algorithm?189024 +Node: How does flex compile the DFA so quickly?189534 +Node: How can I use more than 8192 rules?190501 +Node: How do I abandon a file in the middle of a scan and switch to a new file?191911 +Node: How do I execute code only during initialization (only before the first scan)?192464 +Node: How do I execute code at termination?193241 +Node: Where else can I find help?193567 +Node: Can I include comments in the "rules" section of the file?193940 +Node: I get an error about undefined yywrap().194319 +Node: How can I change the matching pattern at run time?194795 +Node: How can I expand macros in the input?195157 +Node: How can I build a two-pass scanner?196189 +Node: How do I match any string not matched in the preceding rules?197105 +Node: I am trying to port code from AT&T lex that uses yysptr and yysbuf.198014 +Node: Is there a way to make flex treat NULL like a regular character?198809 +Node: Whenever flex can not match the input it says "flex scanner jammed".199330 +Node: Why doesn't flex have non-greedy operators like perl does?199973 +Node: Memory leak - 16386 bytes allocated by malloc.201326 +Ref: faq-memory-leak201624 +Node: How do I track the byte offset for lseek()?202591 +Node: How do I use my own I/O classes in a C++ scanner?204100 +Node: How do I skip as many chars as possible?204943 +Node: deleteme00206017 +Node: Are certain equivalent patterns faster than others?206457 +Node: Is backing up a big deal?209875 +Node: Can I fake multi-byte character support?211781 +Node: deleteme01213222 +Node: Can you discuss some flex internals?214331 +Node: unput() messes up yy_at_bol216575 +Node: The | operator is not doing what I want217677 +Node: Why can't flex understand this variable trailing context pattern?219223 +Node: The ^ operator isn't working220472 +Node: Trailing context is getting confused with trailing optional patterns221707 +Node: Is flex GNU or not?222950 +Node: ERASEME53224623 +Node: I need to scan if-then-else blocks and while loops225393 +Node: ERASEME55226592 +Node: ERASEME56227690 +Node: ERASEME57229048 +Node: Is there a repository for flex scanners?230046 +Node: How can I conditionally compile or preprocess my flex input file?230361 +Node: Where can I find grammars for lex and yacc?230834 +Node: I get an end-of-buffer message for each character scanned.231181 +Node: unnamed-faq-62231776 +Node: unnamed-faq-63232794 +Node: unnamed-faq-64234091 +Node: unnamed-faq-65235057 +Node: unnamed-faq-66235843 +Node: unnamed-faq-67236958 +Node: unnamed-faq-68237945 +Node: unnamed-faq-69239087 +Node: unnamed-faq-70239800 +Node: unnamed-faq-71240561 +Node: unnamed-faq-72241770 +Node: unnamed-faq-73242813 +Node: unnamed-faq-74243737 +Node: unnamed-faq-75244682 +Node: unnamed-faq-76245814 +Node: unnamed-faq-77246520 +Node: unnamed-faq-78247413 +Node: unnamed-faq-79248411 +Node: unnamed-faq-80250111 +Node: unnamed-faq-81251429 +Node: unnamed-faq-82254229 +Node: unnamed-faq-83255186 +Node: unnamed-faq-84256966 +Node: unnamed-faq-85258069 +Node: unnamed-faq-86259076 +Node: unnamed-faq-87260014 +Node: unnamed-faq-88260660 +Node: unnamed-faq-90261491 +Node: unnamed-faq-91262754 +Node: unnamed-faq-92265182 +Node: unnamed-faq-93265681 +Node: unnamed-faq-94266608 +Node: unnamed-faq-95268020 +Node: unnamed-faq-96269538 +Node: unnamed-faq-97270297 +Node: unnamed-faq-98270964 +Node: unnamed-faq-99271629 +Node: unnamed-faq-100272558 +Node: unnamed-faq-101273268 +Node: What is the difference between YYLEX_PARAM and YY_DECL?274081 +Node: Why do I get "conflicting types for yylex" error?274602 +Node: How do I access the values set in a Flex action from within a Bison action?275132 +Node: Appendices275563 +Node: Makefiles and Flex275772 +Ref: Makefiles and Flex-Footnote-1278968 +Ref: Makefiles and Flex-Footnote-2279085 +Ref: Makefiles and Flex-Footnote-3279271 +Node: Bison Bridge279322 +Ref: Bison Bridge-Footnote-1281987 +Node: M4 Dependency282179 +Ref: M4 Dependency-Footnote-1283584 +Node: Common Patterns283719 +Node: Numbers284010 +Node: Identifiers284987 +Node: Quoted Constructs285814 +Node: Addresses286866 +Node: Indices288179 +Node: Concept Index288417 +Node: Index of Functions and Macros313700 +Node: Index of Variables318596 +Node: Index of Data Types320262 +Node: Index of Hooks321150 +Node: Index of Scanner Options321718  End Tag Table diff --git a/external/bsd/flex/dist/doc/flex.info-1 b/external/bsd/flex/dist/doc/flex.info-1 index 25f61b352..cda615c21 100644 --- a/external/bsd/flex/dist/doc/flex.info-1 +++ b/external/bsd/flex/dist/doc/flex.info-1 @@ -1,4 +1,4 @@ -This is flex.info, produced by makeinfo version 4.8 from flex.texi. +This is flex.info, produced by makeinfo version 4.13 from flex.texi. INFO-DIR-SECTION Programming START-INFO-DIR-ENTRY @@ -8,8 +8,8 @@ END-INFO-DIR-ENTRY The flex manual is placed under the same licensing conditions as the rest of flex: - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex -Project. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012 The +Flex Project. Copyright (C) 1990, 1997 The Regents of the University of California. All rights reserved. @@ -51,8 +51,8 @@ This manual describes `flex', a tool for generating programs that perform pattern-matching on text. The manual includes both tutorial and reference sections. - This edition of `The flex Manual' documents `flex' version 2.5.35. -It was last updated on 10 September 2007. + This edition of `The flex Manual' documents `flex' version 2.5.37. +It was last updated on 22 July 2012. This manual was written by Vern Paxson, Will Estes and John Millaway. @@ -265,8 +265,8 @@ File: flex.info, Node: Copyright, Next: Reporting Bugs, Prev: Top, Up: Top The flex manual is placed under the same licensing conditions as the rest of flex: - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex -Project. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012 The +Flex Project. Copyright (C) 1990, 1997 The Regents of the University of California. All rights reserved. @@ -338,7 +338,6 @@ First some simple examples to get the flavor of how one uses `flex'. encounters the string `username' will replace it with the user's login name: - %% username printf( "%s", getlogin() ); @@ -351,7 +350,6 @@ rules. Here's another simple example: - int num_lines = 0, num_chars = 0; %% @@ -359,7 +357,8 @@ rules. . ++num_chars; %% - main() + + int main() { yylex(); printf( "# of lines = %d, # of chars = %d\n", @@ -377,12 +376,11 @@ other than a newline (indicated by the `.' regular expression). A somewhat more complicated example: - /* scanner for a toy Pascal-like language */ %{ /* need this for the call to atof() below */ - #include math.h> + #include %} DIGIT [0-9] @@ -416,9 +414,7 @@ other than a newline (indicated by the `.' regular expression). %% - main( argc, argv ) - int argc; - char **argv; + int main( int argc, char **argv ) { ++argv, --argc; /* skip over program name */ if ( argc > 0 ) @@ -445,7 +441,6 @@ File: flex.info, Node: Format, Next: Patterns, Prev: Simple Examples, Up: To The `flex' input file consists of three sections, separated by a line containing only `%%'. - definitions %% rules @@ -471,7 +466,6 @@ definitions to simplify the scanner specification, and declarations of Name definitions have the form: - name definition The `name' is a word beginning with a letter or an underscore (`_') @@ -481,7 +475,6 @@ following the name and continuing to the end of the line. The definition can subsequently be referred to using `{name}', which will expand to `(definition)'. For example, - DIGIT [0-9] ID [a-z][a-z0-9]* @@ -489,12 +482,10 @@ expand to `(definition)'. For example, digit, and `ID' to be a regular expression which matches a letter followed by zero-or-more letters-or-digits. A subsequent reference to - {DIGIT}+"."{DIGIT}* is identical to - ([0-9])+"."([0-9])* and matches one-or-more digits followed by a `.' followed by @@ -514,7 +505,6 @@ want certain preprocessor macros to be defined or certain files to be included before the generated code. The single characters, `{' and `}' are used to delimit the `%top' block, as show in the example below: - %top{ /* This code goes at the "top" of the generated file. */ #include @@ -536,7 +526,6 @@ File: flex.info, Node: Rules Section, Next: User Code Section, Prev: Definiti The "rules" section of the `flex' input contains a series of rules of the form: - pattern action where the pattern must be unindented and the action must begin on @@ -592,7 +581,6 @@ new line, with one or more whitespace characters before the initial All the comments in the following example are valid: - %{ /* code block */ %} @@ -620,7 +608,7 @@ File: flex.info, Node: Patterns, Next: Matching, Prev: Format, Up: Top 6 Patterns ********** -The patterns in the input (see *Note Rules Section::) are written using +The patterns in the input (see *note Rules Section::) are written using an extended set of regular expressions. These are: `x' @@ -705,7 +693,6 @@ an extended set of regular expressions. These are: The following are all valid: - (?:foo) same as (foo) (?i:ab7) same as ([aA][bB]7) (?-i:ab) same as (ab) @@ -756,7 +743,7 @@ an extended set of regular expressions. These are: yourself, or explicitly use `r/\r\n' for `r$'. `r' - an `r', but only in start condition `s' (see *Note Start + an `r', but only in start condition `s' (see *note Start Conditions:: for discussion of start conditions). `r' @@ -782,12 +769,10 @@ Those grouped together have equal precedence (see special note on the precedence of the repeat operator, `{}', under the documentation for the `--posix' POSIX compliance option). For example, - foo|bar* is the same as - (foo)|(ba(r*)) since the `*' operator has higher precedence than concatenation, and @@ -796,13 +781,11 @@ matches _either_ the string `foo' _or_ the string `ba' followed by zero-or-more `r''s. To match `foo' or zero-or-more repetitions of the string `bar', use: - foo|(bar)* And to match a sequence of zero or more repetitions of `foo' and `bar': - (foo|bar)* In addition to characters and ranges of characters, character classes @@ -811,7 +794,6 @@ enclosed inside `[': and `:]' delimiters (which themselves must appear between the `[' and `]' of the character class. Other elements may occur inside the character class, too). The valid expressions are: - [:alnum:] [:alpha:] [:blank:] [:cntrl:] [:digit:] [:graph:] [:lower:] [:print:] [:punct:] @@ -825,7 +807,6 @@ any alphabetic or numeric character. Some systems don't provide For example, the following character classes are all equivalent: - [[:alnum:]] [[:alpha:][:digit:]] [[:alpha:][0-9]] @@ -871,7 +852,6 @@ not be desirable. Flex allows negation of character class expressions by prepending `^' to the POSIX character class name. - [:^alnum:] [:^alpha:] [:^blank:] [:^cntrl:] [:^digit:] [:^graph:] [:^lower:] [:^print:] [:^punct:] @@ -906,7 +886,6 @@ not be desirable. * The following are invalid: - foo/bar$ foobar @@ -915,7 +894,6 @@ not be desirable. * The following will result in `$' or `^' being treated as a normal character: - foo|(bar$) foo|^bar @@ -923,7 +901,6 @@ not be desirable. `bar'-followed-by-a-newline, the following could be used (the special `|' action is explained below, *note Actions::): - foo | bar$ /* action goes here */ @@ -954,7 +931,6 @@ Actions::), and then the remaining input is scanned for another match. character in the input is considered matched and copied to the standard output. Thus, the simplest valid `flex' input is: - %% which generates a scanner that simply copies its input (one @@ -979,7 +955,6 @@ your heart's content, and calls to `unput()' do not destroy `yytext' (*note Actions::). Furthermore, existing `lex' programs sometimes access `yytext' externally using declarations of the form: - extern char yytext[]; This definition is erroneous when used with `%pointer', but correct @@ -1013,7 +988,6 @@ action is empty, then when the pattern is matched the input token is simply discarded. For example, here is the specification for a program which deletes all occurrences of `zap me' from its input: - %% "zap me" @@ -1023,7 +997,6 @@ output since they will be matched by the default rule. Here is a program which compresses multiple blanks and tabs down to a single blank, and throws away whitespace found at the end of a line: - %% [ \t]+ putchar( ' ' ); [ \t]+$ /* ignore this token */ @@ -1066,14 +1039,13 @@ within an action: `REJECT' directs the scanner to proceed on to the "second best" rule which matched the input (or a prefix of the input). The rule is chosen - as described above in *Note Matching::, and `yytext' and `yyleng' + as described above in *note Matching::, and `yytext' and `yyleng' set up appropriately. It may either be one which matched as much text as the originally chosen rule but came later in the `flex' input file, or one which matched less text. For example, the following will both count the words in the input and call the routine `special()' whenever `frob' is seen: - int word_count = 0; %% @@ -1087,7 +1059,6 @@ within an action: example, when the following scanner scans the token `abcd', it will write `abcdabcaba' to the output: - %% a | ab | @@ -1115,7 +1086,6 @@ within an action: `mega-kludge' the following will write `mega-mega-kludge' to the output: - %% mega- ECHO; yymore(); kludge ECHO; @@ -1137,7 +1107,6 @@ scanner looks for the next match. `yytext' and `yyleng' are adjusted appropriately (e.g., `yyleng' will now be equal to `n'). For example, on the input `foobar' the following will write out `foobarbar': - %% foobar ECHO; yyless(3); [a-z]+ ECHO; @@ -1154,7 +1123,6 @@ input file, not from other source files. will be the next character scanned. The following action will take the current token and cause it to be rescanned enclosed in parentheses. - { int i; /* Copy yytext because unput() trashes yytext */ @@ -1184,7 +1152,6 @@ input stream with an end-of-file. `input()' reads the next character from the input stream. For example, the following is one way to eat up C comments: - %% "/*" { register int c; @@ -1215,11 +1182,11 @@ example, the following is one way to eat up C comments: instead referred to as yyinput(), in order to avoid a name clash with the `C++' stream by the name of `input'.) - `YY_FLUSH_BUFFER()' flushes the scanner's internal buffer so that -the next time the scanner attempts to match a token, it will first -refill the buffer using `YY_INPUT()' (*note Generated Scanner::). This -action is a special case of the more general `yy_flush_buffer()' -function, described below (*note Multiple Input Buffers::) + `YY_FLUSH_BUFFER;' flushes the scanner's internal buffer so that the +next time the scanner attempts to match a token, it will first refill +the buffer using `YY_INPUT()' (*note Generated Scanner::). This action +is a special case of the more general `yy_flush_buffer;' function, +described below (*note Multiple Input Buffers::) `yyterminate()' can be used in lieu of a return statement in an action. It terminates the scanner and returns a 0 to the scanner's @@ -1238,7 +1205,6 @@ scanning routine `yylex()', a number of tables used by it for matching tokens, and a number of auxiliary routines and macros. By default, `yylex()' is declared as follows: - int yylex() { ... various definitions and the actions in here ... @@ -1248,7 +1214,6 @@ tokens, and a number of auxiliary routines and macros. By default, `int yylex( void )'.) This definition may be changed by defining the `YY_DECL' macro. For example, you could use: - #define YY_DECL float lexscan( a, b ) float a, b; to give the scanning routine the name `lexscan', returning a float, @@ -1303,7 +1268,6 @@ constant `YY_NULL' (0 on Unix systems) to indicate `EOF'. The default Here is a sample definition of `YY_INPUT' (in the definitions section of the input file): - %{ #define YY_INPUT(buf,result,max_size) \ { \ @@ -1329,7 +1293,7 @@ though `yywrap()' returned 1), or you must link with `-lfl' to obtain the default version of the routine, which always returns 1. For scanning from in-memory buffers (e.g., scanning strings), see -*Note Scanning Strings::. *Note Multiple Input Buffers::. +*note Scanning Strings::. *Note Multiple Input Buffers::. The scanner writes its `ECHO' output to the `yyout' global (default, `stdout'), which may be redefined by the user simply by assigning it to @@ -1345,7 +1309,6 @@ File: flex.info, Node: Start Conditions, Next: Multiple Input Buffers, Prev: rule whose pattern is prefixed with `' will only be active when the scanner is in the "start condition" named `sc'. For example, - [^"]* { /* eat up the string body ... */ ... } @@ -1353,7 +1316,6 @@ scanner is in the "start condition" named `sc'. For example, will be active only when the scanner is in the `STRING' start condition, and - \. { /* handle an escape ... */ ... } @@ -1381,7 +1343,6 @@ the rest (e.g., comments). is still a little vague, here's a simple example illustrating the connection between the two. The set of rules: - %s example %% @@ -1391,7 +1352,6 @@ connection between the two. The set of rules: is equivalent to - %x example %% @@ -1411,7 +1371,6 @@ condition. every start condition. Thus, the above example could also have been written: - %x example %% @@ -1422,7 +1381,6 @@ written: The default rule (to `ECHO' any unmatched character) remains active in start conditions. It is equivalent to: - <*>.|\n ECHO; `BEGIN(0)' returns to the original state where only the rules with @@ -1436,7 +1394,6 @@ of the rules section. For example, the following will cause the scanner to enter the `SPECIAL' start condition whenever `yylex()' is called and the global variable `enter_special' is true: - int enter_special; %x SPECIAL @@ -1454,7 +1411,6 @@ default it will treat it as three tokens, the integer `123', a dot the line by the string `expect-floats' it will treat it as a single token, the floating-point number `123.456': - %{ #include %} @@ -1463,7 +1419,7 @@ token, the floating-point number `123.456': %% expect-floats BEGIN(expect); - [0-9]+@samp{.}[0-9]+ { + [0-9]+.[0-9]+ { printf( "found a float, = %f\n", atof( yytext ) ); } @@ -1486,7 +1442,6 @@ token, the floating-point number `123.456': Here is a scanner which recognizes (and discards) C comments while maintaining a count of the current input line. - %x comment %% int line_num = 1; @@ -1507,7 +1462,6 @@ a big win. be stored as such. Thus, the above could be extended in the following fashion: - %x comment foo %% int line_num = 1; @@ -1534,7 +1488,6 @@ fashion: integer-valued `YY_START' macro. For example, the above assignments to `comment_caller' could instead be written - comment_caller = YY_START; Flex provides `YYSTATE' as an alias for `YY_START' (since that is @@ -1549,7 +1502,6 @@ option-header::. *Note option-prefix::. using exclusive start conditions, including expanded escape sequences (but not including checking for a string that's too long): - %x str %% @@ -1610,7 +1562,6 @@ whole bunch of rules all preceded by the same start condition(s). Flex makes this a little easier and cleaner by introducing a notion of start condition "scope". A start condition scope is begun with: - { where `SCs' is a list of one or more start conditions. Inside the @@ -1618,7 +1569,6 @@ start condition scope, every rule automatically has the prefix `SCs>' applied to it, until a `}' which matches the initial `{'. So, for example, - { "\\n" return '\n'; "\\r" return '\r'; @@ -1628,7 +1578,6 @@ example, is equivalent to: - "\\n" return '\n'; "\\r" return '\r'; "\\f" return '\f'; @@ -1744,7 +1693,6 @@ which expands include files (the `<>' feature is discussed below). This first example uses yypush_buffer_state and yypop_buffer_state. Flex maintains the stack internally. - /* the "incl" state is used for picking up the name * of an include file */ @@ -1780,7 +1728,6 @@ Flex maintains the stack internally. example did, but manages its own input buffer stack manually (instead of letting flex do it). - /* the "incl" state is used for picking up the name * of an include file */ @@ -1899,13 +1846,11 @@ rule is given, it applies to _all_ start conditions which do not already have <> actions. To specify an <> rule for only the initial start condition, use: - <> These rules are useful for catching things like unclosed comments. An example: - %x quote %% @@ -1936,7 +1881,6 @@ number of the matched rule (rules are numbered starting with 1). Suppose you want to profile how often each of your rules is matched. The following would do the trick: - #define YY_USER_ACTION ++ctr[yy_act] where `ctr' is an array to hold the counts for the different rules. @@ -1944,7 +1888,6 @@ Note that the macro `YY_NUM_RULES' gives the total number of rules (including the default rule), even if you use `-s)', so a correct declaration for `ctr' is: - int ctr[YY_NUM_RULES]; The macro `YY_USER_INIT' may be defined to provide an action which @@ -1956,7 +1899,7 @@ call a routine to read in a data table or open a logging file. control whether the current buffer is considered "interactive". An interactive buffer is processed more slowly, but must be used when the scanner's input source is indeed interactive to avoid problems due to -waiting to fill buffers (see the discussion of the `-I' flag in *Note +waiting to fill buffers (see the discussion of the `-I' flag in *note Scanner Options::). A non-zero value in the macro invocation marks the buffer as interactive, a zero value as non-interactive. Note that use of this macro overrides `%option always-interactive' or `%option @@ -2057,7 +2000,6 @@ input. This file is then included in the `flex' scanner. For example, if one of the tokens is `TOK_NUMBER', part of the scanner might look like: - %{ #include "y.tab.h" %} @@ -2088,7 +2030,6 @@ Scanner Options::. Even though there are many scanner options, a typical scanner might only specify the following options: - %option 8bit reentrant bison-bridge %option warn nodefault %option yylineno @@ -2124,7 +2065,6 @@ suppress the appearance of unneeded routines in the generated scanner. Each of the following, if unset (e.g., `%option nounput'), results in the corresponding routine not appearing in the generated scanner: - input, unput yy_push_state, yy_pop_state, yy_top_state yy_scan_buffer, yy_scan_bytes, yy_scan_string @@ -2199,7 +2139,7 @@ File: flex.info, Node: Options Affecting Scanner Behavior, Next: Code-Level An case of letters given in the `flex' input patterns will be ignored, and tokens in the input will be matched regardless of case. The matched text given in `yytext' will have the preserved case (i.e., - it will not be folded). For tricky behavior, see *Note case and + it will not be folded). For tricky behavior, see *note case and character ranges::. `-l, --lex-compat, `%option lex-compat'' @@ -2208,7 +2148,7 @@ File: flex.info, Node: Options Affecting Scanner Behavior, Next: Code-Level An Use of this option costs a considerable amount of performance, and it cannot be used with the `--c++', `--full', `--fast', `-Cf', or `-CF' options. For details on the compatibilities it provides, see - *Note Lex and Posix::. This option also results in the name + *note Lex and Posix::. This option also results in the name `YY_FLEX_LEX_COMPAT' being `#define''d in the generated scanner. `-B, --batch, `%option batch'' @@ -2377,7 +2317,7 @@ File: flex.info, Node: Code-Level And API Options, Next: Options for Scanner S located with respect to either the original `flex' input file (if the errors are due to code in the input file), or `lex.yy.c' (if the errors are `flex''s fault - you should report these sorts of - errors to the email address given in *Note Reporting Bugs::). + errors to the email address given in *note Reporting Bugs::). `-R, --reentrant, `%option reentrant'' instructs flex to generate a reentrant C scanner. The generated @@ -2410,7 +2350,6 @@ File: flex.info, Node: Code-Level And API Options, Next: Options for Scanner S output file from `lex.yy.c' to `lex.foo.c'. Here is a partial list of the names affected: - yy_create_buffer yy_delete_buffer yy_flex_debug @@ -2544,7 +2483,6 @@ File: flex.info, Node: Options for Scanner Speed and Size, Next: Debugging Opt trade off faster-executing scanners at the cost of larger tables with the following generally being true: - slowest & smallest -Cem -Cm @@ -2575,7 +2513,6 @@ File: flex.info, Node: Options for Scanner Speed and Size, Next: Debugging Opt general, if the pattern set contains both _keywords_ and a catch-all, _identifier_ rule, such as in the set: - "case" return TOK_CASE; "switch" return TOK_SWITCH; ... @@ -2613,7 +2550,6 @@ File: flex.info, Node: Debugging Options, Next: Miscellaneous Options, Prev: non-zero (which is the default), the scanner will write to `stderr' a line of the form: - -accepting rule at line 53 ("the matched text") The line number refers to the location of the rule in the file @@ -2696,7 +2632,6 @@ rules. Aside from the effects on scanner speed of the table compression `-C' options outlined above, there are a number of options/actions which degrade performance. These are, from most expensive to least: - REJECT arbitrary trailing context @@ -2707,7 +2642,7 @@ which degrade performance. These are, from most expensive to least: %option interactive %option always-interactive - @samp{^} beginning-of-line operator + ^ beginning-of-line operator yymore() with the first two all being quite expensive and the last two being @@ -2727,7 +2662,6 @@ newlines. In general, you should avoid rules such as `[^f]+', which match very long tokens, including newlines, and may possibly match your entire file! A better approach is to separate `[^f]+' into two rules: - %option yylineno %% [^f\n]+ @@ -2740,14 +2674,12 @@ amount of work for a complicated scanner. In principal, one begins by using the `-b' flag to generate a `lex.backup' file. For example, on the input: - %% foo return TOK_KEYWORD; foobar return TOK_KEYWORD; the file looks like: - State #6 is non-accepting - associated rule line numbers: 2 3 @@ -2792,7 +2724,6 @@ scanners. The way to remove the backing up is to add "error" rules: - %% foo return TOK_KEYWORD; foobar return TOK_KEYWORD; @@ -2807,7 +2738,6 @@ scanners. Eliminating backing up among a list of keywords can also be done using a "catch-all" rule: - %% foo return TOK_KEYWORD; foobar return TOK_KEYWORD; @@ -2831,20 +2761,17 @@ backing up. Leaving just one means you gain nothing. parts do not have a fixed length) entails almost the same performance loss as `REJECT' (i.e., substantial). So when possible a rule like: - %% mouse|rat/(cat|dog) run(); is better written: - %% mouse/cat|dog run(); rat/cat|dog run(); or as - %% mouse|rat/cat run(); mouse|rat/dog run(); @@ -2860,7 +2787,6 @@ long tokens the processing of most input characters takes place in the additional work of setting up the scanning environment (e.g., `yytext') for the action. Recall the scanner for C comments: - %x comment %% int line_num = 1; @@ -2874,7 +2800,6 @@ for the action. Recall the scanner for C comments: This could be sped up by writing it as: - %x comment %% int line_num = 1; @@ -2900,7 +2825,6 @@ through a file containing identifiers and keywords, one per line and with no other extraneous characters, and recognize all the keywords. A natural first approach is: - %% asm | auto | @@ -2913,7 +2837,6 @@ natural first approach is: To eliminate the back-tracking, introduce a catch-all rule: - %% asm | auto | @@ -2929,7 +2852,6 @@ natural first approach is: we can reduce the total number of matches by a half by merging in the recognition of newlines with that of the other tokens: - %% asm\n | auto\n | @@ -2954,7 +2876,6 @@ newlines, or, since we never expect to encounter such an input and therefore don't how it's classified, we can introduce one more catch-all rule, this one which doesn't include a newline: - %% asm\n | auto\n | @@ -2975,7 +2896,7 @@ a token contains multiple `NUL's. It's best to write rules which match _short_ amounts of text if it's anticipated that the text will often include `NUL's. - Another final note regarding performance: as mentioned in *Note + Another final note regarding performance: as mentioned in *note Matching::, dynamically resizing `yytext' to accommodate huge tokens is a slow process because it presently requires that the (huge) token be rescanned from the beginning. Thus if performance is vital, you should @@ -3077,7 +2998,7 @@ scanner: reads up to `max_size' characters into `buf' and returns the number of characters read. To indicate end-of-input, return 0 characters. Note that `interactive' scanners (see the `-B' and - `-I' flags in *Note Scanner Options::) define the macro + `-I' flags in *note Scanner Options::) define the macro `YY_INTERACTIVE'. If you redefine `LexerInput()' and need to take different actions depending on whether or not the scanner might be scanning an interactive input source, you can test for the @@ -3094,7 +3015,7 @@ scanner: Note that a `yyFlexLexer' object contains its _entire_ scanning state. Thus you can use such objects to create reentrant scanners, but -see also *Note Reentrant::. You can instantiate multiple instances of +see also *note Reentrant::. You can instantiate multiple instances of the same `yyFlexLexer' class, and you can also combine multiple C++ scanner classes together in the same program using the `-P' option discussed above. @@ -3104,13 +3025,16 @@ scanner classes; you must use `%pointer' (the default). Here is an example of a simple C++ scanner: - - // An example of using the flex C++ scanner class. + // An example of using the flex C++ scanner class. %{ + #include + using namespace std; int mylineno = 0; %} + %option noyywrap + string \"[^\n"]+\" ws [ \t]+ @@ -3134,7 +3058,7 @@ scanner classes; you must use `%pointer' (the default). if(c == '\n') ++mylineno; - else if(c == @samp{*}) + else if(c == '*') { if((c = yyinput()) == '/') break; @@ -3144,23 +3068,23 @@ scanner classes; you must use `%pointer' (the default). } } - {number} cout "number " YYText() '\n'; + {number} cout << "number " << YYText() << '\n'; \n mylineno++; - {name} cout "name " YYText() '\n'; + {name} cout << "name " << YYText() << '\n'; - {string} cout "string " YYText() '\n'; + {string} cout << "string " << YYText() << '\n'; %% int main( int /* argc */, char** /* argv */ ) - { - @code{flex}Lexer* lexer = new yyFlexLexer; + { + FlexLexer* lexer = new yyFlexLexer; while(lexer->yylex() != 0) ; return 0; - } + } If you want to create multiple (different) lexer classes, you use the `-P' flag (or the `prefix=' option) to rename each `yyFlexLexer' to @@ -3168,7 +3092,6 @@ some other `xxFlexLexer'. You then can include `' in your other sources once per lexer class, first renaming `yyFlexLexer' as follows: - #undef yyFlexLexer #define yyFlexLexer xxFlexLexer #include @@ -3212,7 +3135,6 @@ However, there are other uses for a reentrant scanner. For example, you could scan two or more files simultaneously to implement a `diff' at the token level (i.e., instead of at the character level): - /* Example of maintaining more than one active scanner. */ do { @@ -3233,7 +3155,6 @@ buffer states. *Note Multiple Input Buffers::.) The following crude scanner supports the `eval' command by invoking another instance of itself. - /* Example of recursive invocation. */ %option reentrant @@ -3286,7 +3207,6 @@ File: flex.info, Node: Reentrant Example, Next: Reentrant Detail, Prev: Reent ====================== First, an example of a reentrant scanner: - /* This scanner prints "//" comments. */ %option reentrant stack noyywrap @@ -3359,7 +3279,6 @@ have an argument, `yyscanner' , that is not present in a non-reentrant scanner. Here are the declarations of `yy_push_state' and `yy_pop_state' in the reentrant scanner: - static void yy_push_state ( int new_state , yyscan_t yyscanner ) ; static void yy_pop_state ( yyscan_t yyscanner ) ; @@ -3370,7 +3289,7 @@ argument list, it is always of type `yyscan_t' (which is typedef'd to `void *') and it is always named `yyscanner'. As you may have guessed, `yyscanner' is a pointer to an opaque data structure encapsulating the current state of the scanner. For a list of function declarations, see -*Note Reentrant Functions::. Note that preprocessor macros, such as +*note Reentrant Functions::. Note that preprocessor macros, such as `BEGIN', `ECHO', and `REJECT', do not take this additional argument.  @@ -3392,7 +3311,6 @@ tell you this so you don't expect to link to these variables externally. Currently, each macro expands to a member of an internal struct, e.g., - #define yytext (((struct yyguts_t*)yyscanner)->yytext_r) One important thing to remember about `yytext' and friends is that @@ -3410,7 +3328,6 @@ File: flex.info, Node: Init and Destroy Functions, Next: Accessor Methods, Pr `yylex_init' and `yylex_destroy' must be called before and after `yylex', respectively. - int yylex_init ( yyscan_t * ptr_yy_globals ) ; int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t * ptr_yy_globals ) ; int yylex ( yyscan_t yyscanner ) ; @@ -3451,7 +3368,6 @@ and non-reentrant) may be restarted by calling `yyrestart'. Below is an example of a program that creates a scanner, uses it, then destroys it when done: - int main () { yyscan_t scanner; @@ -3459,7 +3375,7 @@ then destroys it when done: yylex_init(&scanner); - while ((tok=yylex()) > 0) + while ((tok=yylex(scanner)) > 0) printf("tok=%d yytext=%s\n", tok, yyget_text(scanner)); yylex_destroy(scanner); @@ -3484,7 +3400,6 @@ Instead, you must access `flex' values using accessor methods (get/set functions). Each accessor method is named `yyget_NAME' or `yyset_NAME', where `NAME' is the name of the `flex' variable you want. For example: - /* Set the last character of yytext to NULL. */ void chop ( yyscan_t scanner ) { @@ -3494,7 +3409,6 @@ where `NAME' is the name of the `flex' variable you want. For example: The above code may be called from within an action like this: - %% .+\n { chop( yyscanner );} @@ -3522,7 +3436,6 @@ accessible through the accessor methods `yyget_extra' and `yyset_extra' from outside the scanner, and through the shortcut macro `yyextra' from within the scanner itself. They are defined as follows: - #define YY_EXTRA_TYPE void* YY_EXTRA_TYPE yyget_extra ( yyscan_t scanner ); void yyset_extra ( YY_EXTRA_TYPE arbitrary_data , yyscan_t scanner); @@ -3536,7 +3449,6 @@ the scanner itself. redefine this type using `%option extra-type="your_type"' in the scanner: - /* An example of overriding YY_EXTRA_TYPE. */ %{ #include @@ -3574,7 +3486,6 @@ File: flex.info, Node: About yyscan_t, Prev: Extra Data, Up: Reentrant Detail `yyscan_t' is defined as: - typedef void* yyscan_t; It is initialized by `yylex_init()' to point to an internal @@ -3589,7 +3500,6 @@ File: flex.info, Node: Reentrant Functions, Prev: Reentrant Detail, Up: Reent The following Functions are available in a reentrant scanner: - char *yyget_text ( yyscan_t scanner ); int yyget_leng ( yyscan_t scanner ); FILE *yyget_in ( yyscan_t scanner ); @@ -3610,7 +3520,6 @@ intentional. The following Macro shortcuts are available in actions in a reentrant scanner: - yytext yyleng yyin @@ -3627,7 +3536,6 @@ to maintain the line count independently of `flex'. The following functions and macros are made available when `%option bison-bridge' (`--bison-bridge') is specified: - YYSTYPE * yyget_lval ( yyscan_t scanner ); void yyset_lval ( YYSTYPE * yylvalp , yyscan_t scanner ); yylval @@ -3635,7 +3543,6 @@ bison-bridge' (`--bison-bridge') is specified: The following functions and macros are made available when `%option bison-locations' (`--bison-locations') is specified: - YYLTYPE *yyget_lloc ( yyscan_t scanner ); void yyset_lloc ( YYLTYPE * yyllocp , yyscan_t scanner ); yylloc @@ -3695,12 +3602,10 @@ exceptions: handler which long-jumps out of the scanner, and the scanner is subsequently called again, you may get the following message: - - fatal @code{flex} scanner internal error--end of buffer missed + fatal flex scanner internal error--end of buffer missed To reenter the scanner, first use: - yyrestart( yyin ); Note that this call will throw away any buffered input; usually @@ -3709,7 +3614,7 @@ exceptions: * Also note that `flex' C++ scanner classes _are_ reentrant, so if using C++ is an option for you, you should use them instead. - *Note Cxx::, and *Note Reentrant:: for details. + *Note Cxx::, and *note Reentrant:: for details. * `output()' is not supported. Output from the ECHO macro is done to the file-pointer `yyout' (default `stdout)'. @@ -3722,7 +3627,6 @@ exceptions: * When definitions are expanded, `flex' encloses them in parentheses. With `lex', the following: - NAME [A-Z][A-Z0-9]* %% foo{NAME}? printf( "Found it\n" ); @@ -3749,7 +3653,6 @@ exceptions: * Some implementations of `lex' allow a rule's action to begin on a separate line, if the rule's pattern has trailing whitespace: - %% foo|bar { foobar_action();} @@ -3765,8 +3668,8 @@ exceptions: `-l' option does away with this incompatibility. * The precedence of the `{,}' (numeric range) operator is different. - The AT&T and POSIX specifications of `lex' interpret `abc{1,3}' - as match one, two, or three occurrences of `abc'", whereas `flex' + The AT&T and POSIX specifications of `lex' interpret `abc{1,3}' as + match one, two, or three occurrences of `abc'", whereas `flex' interprets it as "match `ab' followed by one, two, or three occurrences of `c'". The `-l' and `--posix' options do away with this incompatibility. @@ -3840,12 +3743,10 @@ specification: with `flex' you can put multiple actions on the same line, separated with semi-colons, while with `lex', the following: - foo handle_foo(); ++num_foos_seen; is (rather surprisingly) truncated to - foo handle_foo(); `flex' does not truncate the action. Actions that are not enclosed @@ -3897,7 +3798,7 @@ all memory when you call `yylex_destroy' *Note faq-memory-leak::. memory management API. 64kb for the REJECT state. This will only be allocated if you use REJECT. - The size is the large enough to hold the same number of states as + The size is large enough to hold the same number of states as characters in the input buffer. If you override the size of the input buffer (via `YY_BUF_SIZE'), then you automatically override the size of this buffer as well. @@ -3966,7 +3867,6 @@ telling flex that you will provide your own implementations. 2. Provide your own implementation of the following functions: (1) - // For a non-reentrant scanner void * yyalloc (size_t bytes); void * yyrealloc (void * ptr, size_t bytes); @@ -3984,7 +3884,6 @@ collection. In order to make this example interesting, we will use a reentrant scanner, passing a pointer to the custom allocator through `yyextra'. - %{ #include "some_allocator.h" %} @@ -4078,7 +3977,6 @@ File: flex.info, Node: Creating Serialized Tables, Next: Loading and Unloading You may create a scanner with serialized tables by specifying: - %option tables-file=FILE or --tables-file=FILE @@ -4097,7 +3995,6 @@ the serialized tables into one file, and flex will find the correct set of tables, using the scanner prefix as part of the lookup key. An example follows: - $ flex --tables-file --prefix=cpp cpp.l $ flex --tables-file --prefix=c c.l $ cat lex.cpp.tables lex.c.tables > all.tables @@ -4158,7 +4055,6 @@ This section defines the file format of serialized `flex' tables. specified, where each set corresponds to a given scanner. Scanners are indexed by name, as described below. The file format is as follows: - TABLE SET 1 +-------------------------------+ Header | uint32 th_magic; | @@ -4171,8 +4067,8 @@ indexed by name, as described below. The file format is as follows: +-------------------------------+ Table 1 | uint16 td_id; | | uint16 td_flags; | - | uint32 td_lolen; | | uint32 td_hilen; | + | uint32 td_lolen; | | void td_data[]; | | uint8 td_pad64[]; | +-------------------------------+ @@ -4303,12 +4199,6 @@ Fields of a table: elements or between structs. The type of each member is determined by the `YYTD_DATA*' bits. -`td_lolen' - Specifies the number of elements in the lowest dimension array. If - this is a one-dimensional array, then it is simply the number of - elements in this array. The element size is determined by the - `td_flags' field. - `td_hilen' If `td_hilen' is non-zero, then the data is a two-dimensional array. Otherwise, the data is a one-dimensional array. `td_hilen' @@ -4324,11 +4214,17 @@ Fields of a table: simply skipped. Flex does not currently generate tables of zero length. +`td_lolen' + Specifies the number of elements in the lowest dimension array. If + this is a one-dimensional array, then it is simply the number of + elements in this array. The element size is determined by the + `td_flags' field. + `td_data[]' The table data. This array may be a one- or two-dimensional array, of type `int8', `int16', `int32', `struct yy_trans_info', or `struct yy_trans_info*', depending upon the values in the - `td_flags', `td_lolen', and `td_hilen' fields. + `td_flags', `td_hilen', and `td_lolen' fields. `td_pad64[]' Zero or more NULL bytes, padding the entire table to the next @@ -4348,7 +4244,6 @@ The following is a list of `flex' diagnostic messages: cannot be matched because it comes after an identifier "catch-all" rule: - [a-z]+ got_identifier(); foo got_foo(); @@ -4384,7 +4279,7 @@ The following is a list of `flex' diagnostic messages: specification includes recognizing the 8-bit character `'x'' and you did not specify the -8 flag, and your scanner defaulted to 7-bit because you used the `-Cf' or `-CF' table compression - options. See the discussion of the `-7' flag, *Note Scanner + options. See the discussion of the `-7' flag, *note Scanner Options::, for details. * `flex scanner push-back overflow'. you used `unput()' to push back @@ -4402,7 +4297,6 @@ The following is a list of `flex' diagnostic messages: occur in a scanner which is reentered after a long-jump has jumped out (or over) the scanner's activation frame. Before reentering the scanner, use: - yyrestart( yyin ); or, as noted above, switch to using the C++ scanner class. @@ -4430,7 +4324,6 @@ special `|' action can result in _fixed_ trailing context being turned into the more expensive _variable_ trailing context. For example, in the following: - %% abc | xyz/def @@ -4647,7 +4540,6 @@ Does flex support recursive pattern definitions? e.g., - %% block "{"({block}|{statement})*"}" @@ -4689,7 +4581,6 @@ section *Note Matching::. around this behavior by expanding your short rule to match more text, then put back the extra: - data_.* yyless( 5 ); BEGIN BLOCKIDSTATE; Another fix would be to make the second rule active only during the @@ -4711,7 +4602,6 @@ My actions are executing out of order or sometimes not at all. Most likely, you have (in error) placed the opening `{' of the action block on a different line than the rule, e.g., - ^(foo|bar) { <<<--- WRONG! @@ -4721,7 +4611,6 @@ block on a different line than the rule, e.g., rule begin on the same line as does the rule. You need instead to write your rules as follows: - ^(foo|bar) { // CORRECT! } @@ -4794,7 +4683,6 @@ input. Then you redefine `YY_INPUT' to call your own routine which, if it sees an `EOF', returns the magic character first (and remembers to return a real `EOF' next time it's called). Then you could write: - (.|\n)*{EOF_CHAR} /* saw comment at EOF */  @@ -4807,7 +4695,6 @@ You can do this as follows. Suppose you have a start condition `A', and after exhausting all of the possible matches in `', you want to try matches in `'. Then you could use the following: - %x A %% rule_that_is_long ...; REJECT; @@ -4885,22 +4772,18 @@ How can I match C-style comments? You might be tempted to try something like this: - "/*".*"*/" // WRONG! or, worse, this: - "/*"(.|\n)"*/" // WRONG! The above rules will eat too much input, and blow up on things like: - /* a comment */ do_my_thing( "oops */" ); Here is one way which allows you to track line information: - { "/*" BEGIN(IN_COMMENT); } @@ -4992,7 +4875,6 @@ How can I use more than 8192 rules? you need more than 8192 rules in your scanner, you'll have to recompile `flex' with the following changes in `flexdef.h': - < #define YY_TRAILING_MASK 0x2000 < #define YY_TRAILING_HEAD_MASK 0x4000 -- @@ -5008,7 +4890,6 @@ number of rules is the best way to solve your problem. With luck, you should be able to increase the definitions in flexdef.h for: - #define JAMSTATE -32766 /* marks a reference to the state that always jams */ #define MAXIMUM_MNS 31999 #define BAD_SUBSCRIPT -32767 @@ -5039,7 +4920,6 @@ You can specify an initial action by defining the macro `YY_USER_INIT' (though note that `yyout' may not be available at the time this macro is executed). Or you can add to the beginning of your rules section: - %% /* Must be indented! */ static int did_init = 0; @@ -5085,7 +4965,6 @@ I get an error about undefined yywrap(). You must supply a `yywrap()' function of your own, or link to `libfl.a' (which provides one), or use - %option noyywrap in your source to say you don't want a `yywrap()' function. @@ -5110,7 +4989,6 @@ the parser. However, you can do this using multiple input buffers. - %% macro/[a-z]+ { /* Saw the macro "macro" followed by extra stuff. */ @@ -5163,7 +5041,6 @@ One way to assign precedence, is to place the more specific rules first. If two rules would match the same input (same sequence of characters) then the first rule listed in the `flex' input wins, e.g., - %% foo[a-zA-Z_]+ return FOO_ID; bar[a-zA-Z_]+ return BAR_ID; @@ -5194,7 +5071,7 @@ Is there a way to make flex treat NULL like a regular character? ================================================================ Yes, `\0' and `\x00' should both do the trick. Perhaps you have an -ancient version of `flex'. The latest release is version 2.5.35. +ancient version of `flex'. The latest release is version 2.5.37.  File: flex.info, Node: Whenever flex can not match the input it says "flex scanner jammed"., Next: Why doesn't flex have non-greedy operators like perl does?, Prev: Is there a way to make flex treat NULL like a regular character?, Up: FAQ @@ -5204,7 +5081,6 @@ Whenever flex can not match the input it says "flex scanner jammed". You need to add a rule that matches the otherwise-unmatched text, e.g., - %option yylineno %% [[a bunch of rules here]] @@ -5261,7 +5137,6 @@ matter how many times you call `yylex()'. If you want to reclaim the memory when you are completely done scanning, then you might try this: - /* For non-reentrant C scanner only. */ yy_delete_buffer(YY_CURRENT_BUFFER); yy_init = 1; @@ -5276,7 +5151,6 @@ File: flex.info, Node: How do I track the byte offset for lseek()?, Next: How How do I track the byte offset for lseek()? =========================================== - > We thought that it would be possible to have this number through the > evaluation of the following expression: > @@ -5297,7 +5171,6 @@ already read from the current buffer. matched since starting to scan. This can be done by using `YY_USER_ACTION'. For example, - #define YY_USER_ACTION num_chars += yyleng; (You need to be careful to update your bookkeeping if you use @@ -5333,7 +5206,6 @@ other patterns? the phrase "endskip". The following will _NOT_ work correctly (do you see why not?) - /* INCORRECT SCANNER */ %x SKIP %% @@ -5345,14 +5217,12 @@ see why not?) The problem is that the pattern .* will eat up the word "endskip." The simplest (but slow) fix is: - "endskip" BEGIN(INITIAL); . ; The fix involves making the second rule match more, without making it match "endskip" plus something else. So for example: - "endskip" BEGIN(INITIAL); [^e]+ ; . ;/* so you eat up e's, too */ @@ -5363,7 +5233,6 @@ File: flex.info, Node: deleteme00, Next: Are certain equivalent patterns faste deleteme00 ========== - QUESTION: When was flex born? @@ -5378,7 +5247,6 @@ File: flex.info, Node: Are certain equivalent patterns faster than others?, Ne Are certain equivalent patterns faster than others? =================================================== - To: Adoram Rogel Subject: Re: Flex 2.5.2 performance questions In-reply-to: Your message of Wed, 18 Sep 96 11:12:17 EDT. @@ -5456,7 +5324,6 @@ File: flex.info, Node: Is backing up a big deal?, Next: Can I fake multi-byte Is backing up a big deal? ========================= - To: Adoram Rogel Subject: Re: Flex 2.5.2 performance questions In-reply-to: Your message of Thu, 19 Sep 96 10:16:04 EDT. @@ -5509,7 +5376,6 @@ File: flex.info, Node: Can I fake multi-byte character support?, Next: deletem Can I fake multi-byte character support? ======================================== - To: Heeman_Lee@hp.com Subject: Re: flex - multi-byte support? In-reply-to: Your message of Thu, 03 Oct 1996 17:24:04 PDT. @@ -5548,7 +5414,6 @@ File: flex.info, Node: deleteme01, Next: Can you discuss some flex internals?, deleteme01 ========== - To: moleary@primus.com Subject: Re: Flex / Unicode compatibility question In-reply-to: Your message of Tue, 22 Oct 1996 10:15:42 PDT. @@ -5575,7 +5440,6 @@ File: flex.info, Node: Can you discuss some flex internals?, Next: unput() mes Can you discuss some flex internals? ==================================== - To: Johan Linde Subject: Re: translation of flex In-reply-to: Your message of Sun, 10 Nov 1996 09:16:36 PST. @@ -5631,7 +5495,6 @@ File: flex.info, Node: unput() messes up yy_at_bol, Next: The | operator is no unput() messes up yy_at_bol =========================== - To: Xinying Li Subject: Re: FLEX ? In-reply-to: Your message of Wed, 13 Nov 1996 17:28:38 PST. @@ -5662,7 +5525,6 @@ File: flex.info, Node: The | operator is not doing what I want, Next: Why can' The | operator is not doing what I want ======================================= - To: Alain.ISSARD@st.com Subject: Re: Start condition with FLEX In-reply-to: Your message of Mon, 18 Nov 1996 09:45:02 PST. @@ -5703,7 +5565,6 @@ File: flex.info, Node: Why can't flex understand this variable trailing context Why can't flex understand this variable trailing context pattern? ================================================================= - To: Gregory Margo Subject: Re: flex-2.5.3 bug report In-reply-to: Your message of Sat, 23 Nov 1996 16:50:09 PST. @@ -5729,7 +5590,6 @@ File: flex.info, Node: The ^ operator isn't working, Next: Trailing context is The ^ operator isn't working ============================ - To: Thomas Hadig Subject: Re: Flex Bug ? In-reply-to: Your message of Tue, 26 Nov 1996 14:35:01 PST. @@ -5766,7 +5626,6 @@ File: flex.info, Node: Trailing context is getting confused with trailing optio Trailing context is getting confused with trailing optional patterns ==================================================================== - To: Adoram Rogel Subject: Re: Flex 2.5.4 BOF ??? In-reply-to: Your message of Tue, 26 Nov 1996 16:10:41 PST. @@ -5797,7 +5656,6 @@ File: flex.info, Node: Is flex GNU or not?, Next: ERASEME53, Prev: Trailing c Is flex GNU or not? =================== - To: Cameron MacKinnon Subject: Re: Flex documentation bug In-reply-to: Your message of Mon, 02 Dec 1996 00:07:08 PST. @@ -5838,7 +5696,6 @@ File: flex.info, Node: ERASEME53, Next: I need to scan if-then-else blocks and ERASEME53 ========= - To: tsv@cs.UManitoba.CA Subject: Re: Flex (reg).. In-reply-to: Your message of Thu, 06 Mar 1997 23:50:16 PST. @@ -5864,7 +5721,6 @@ File: flex.info, Node: I need to scan if-then-else blocks and while loops, Nex I need to scan if-then-else blocks and while loops ================================================== - To: "Mike Stolnicki" Subject: Re: FLEX help In-reply-to: Your message of Fri, 30 May 1997 13:33:27 PDT. @@ -5893,7 +5749,6 @@ File: flex.info, Node: ERASEME55, Next: ERASEME56, Prev: I need to scan if-th ERASEME55 ========= - To: Colin Paul Adams Subject: Re: Flex C++ classes and Bison In-reply-to: Your message of 09 Aug 1997 17:11:41 PDT. @@ -5923,7 +5778,6 @@ File: flex.info, Node: ERASEME56, Next: ERASEME57, Prev: ERASEME55, Up: FAQ ERASEME56 ========= - To: Mikael.Latvala@lmf.ericsson.se Subject: Re: Possible mistake in Flex v2.5 document In-reply-to: Your message of Fri, 05 Sep 1997 16:07:24 PDT. @@ -5960,7 +5814,6 @@ File: flex.info, Node: ERASEME57, Next: Is there a repository for flex scanner ERASEME57 ========= - To: "Marty Leisner" Subject: Re: flex limitations In-reply-to: Your message of Sat, 06 Sep 1997 11:27:21 PDT. @@ -6032,7 +5885,6 @@ File: flex.info, Node: unnamed-faq-62, Next: unnamed-faq-63, Prev: I get an e unnamed-faq-62 ============== - To: Georg.Rehm@CL-KI.Uni-Osnabrueck.DE Subject: Re: Flex maximums In-reply-to: Your message of Mon, 17 Nov 1997 17:16:06 PST. @@ -6066,7 +5918,6 @@ File: flex.info, Node: unnamed-faq-63, Next: unnamed-faq-64, Prev: unnamed-fa unnamed-faq-63 ============== - To: jimmey@lexis-nexis.com (Jimmey Todd) Subject: Re: FLEX question regarding istream vs ifstream In-reply-to: Your message of Mon, 08 Dec 1997 15:54:15 PST. @@ -6099,7 +5950,6 @@ File: flex.info, Node: unnamed-faq-64, Next: unnamed-faq-65, Prev: unnamed-fa unnamed-faq-64 ============== - To: Enda Fadian Subject: Re: Question related to Flex man page? In-reply-to: Your message of Tue, 16 Dec 1997 15:17:34 PST. @@ -6129,7 +5979,6 @@ File: flex.info, Node: unnamed-faq-65, Next: unnamed-faq-66, Prev: unnamed-fa unnamed-faq-65 ============== - To: hassan@larc.info.uqam.ca (Hassan Alaoui) Subject: Re: Need urgent Help In-reply-to: Your message of Sat, 20 Dec 1997 19:38:19 PST. @@ -6156,7 +6005,6 @@ File: flex.info, Node: unnamed-faq-66, Next: unnamed-faq-67, Prev: unnamed-fa unnamed-faq-66 ============== - To: mc0307@mclink.it Cc: gnu@prep.ai.mit.edu Subject: Re: [mc0307@mclink.it: Help request] @@ -6187,7 +6035,6 @@ File: flex.info, Node: unnamed-faq-67, Next: unnamed-faq-68, Prev: unnamed-fa unnamed-faq-67 ============== - To: hassan@larc.info.uqam.ca (Hassan Alaoui) Subject: Re: Thanks In-reply-to: Your message of Mon, 22 Dec 1997 16:06:35 PST. @@ -6213,7 +6060,6 @@ File: flex.info, Node: unnamed-faq-68, Next: unnamed-faq-69, Prev: unnamed-fa unnamed-faq-68 ============== - To: "Bart Niswonger" Subject: Re: flex 2.5: c++ scanners & start conditions In-reply-to: Your message of Tue, 06 Jan 1998 10:34:21 PST. @@ -6241,7 +6087,6 @@ File: flex.info, Node: unnamed-faq-69, Next: unnamed-faq-70, Prev: unnamed-fa unnamed-faq-69 ============== - To: "Boris Zinin" Subject: Re: current position in flex buffer In-reply-to: Your message of Mon, 12 Jan 1998 18:58:23 PST. @@ -6264,7 +6109,6 @@ File: flex.info, Node: unnamed-faq-70, Next: unnamed-faq-71, Prev: unnamed-fa unnamed-faq-70 ============== - To: Bik.Dhaliwal@bis.org Subject: Re: Flex question In-reply-to: Your message of Mon, 26 Jan 1998 13:05:35 PST. @@ -6288,7 +6132,6 @@ File: flex.info, Node: unnamed-faq-71, Next: unnamed-faq-72, Prev: unnamed-fa unnamed-faq-71 ============== - To: Vladimir Alexiev Subject: Re: flex: how to control start condition from parser? In-reply-to: Your message of Mon, 26 Jan 1998 05:50:16 PST. @@ -6318,7 +6161,6 @@ File: flex.info, Node: unnamed-faq-72, Next: unnamed-faq-73, Prev: unnamed-fa unnamed-faq-72 ============== - To: Barbara Denny Subject: Re: freebsd flex bug? In-reply-to: Your message of Fri, 30 Jan 1998 12:00:43 PST. @@ -6354,7 +6196,6 @@ File: flex.info, Node: unnamed-faq-73, Next: unnamed-faq-74, Prev: unnamed-fa unnamed-faq-73 ============== - To: Maurice Petrie Subject: Re: Lost flex .l file In-reply-to: Your message of Mon, 02 Feb 1998 14:10:01 PST. @@ -6381,7 +6222,6 @@ File: flex.info, Node: unnamed-faq-74, Next: unnamed-faq-75, Prev: unnamed-fa unnamed-faq-74 ============== - To: jimmey@lexis-nexis.com (Jimmey Todd) Subject: Re: Flex performance question In-reply-to: Your message of Thu, 19 Feb 1998 11:01:17 PST. @@ -6410,7 +6250,6 @@ File: flex.info, Node: unnamed-faq-75, Next: unnamed-faq-76, Prev: unnamed-fa unnamed-faq-75 ============== - To: jimmey@lexis-nexis.com (Jimmey Todd) Subject: Re: Flex performance question In-reply-to: Your message of Thu, 19 Feb 1998 11:01:17 PST. @@ -6449,7 +6288,6 @@ File: flex.info, Node: unnamed-faq-76, Next: unnamed-faq-77, Prev: unnamed-fa unnamed-faq-76 ============== - To: "Frescatore, David (CRD, TAD)" Subject: Re: FLEX 2.5 & THE YEAR 2000 In-reply-to: Your message of Wed, 03 Jun 1998 11:26:22 PDT. @@ -6471,7 +6309,6 @@ File: flex.info, Node: unnamed-faq-77, Next: unnamed-faq-78, Prev: unnamed-fa unnamed-faq-77 ============== - To: "Hans Dermot Doran" Subject: Re: flex problem In-reply-to: Your message of Wed, 15 Jul 1998 21:30:13 PDT. @@ -6495,7 +6332,6 @@ File: flex.info, Node: unnamed-faq-78, Next: unnamed-faq-79, Prev: unnamed-fa unnamed-faq-78 ============== - To: soumen@almaden.ibm.com Subject: Re: Flex++ 2.5.3 instance member vs. static member In-reply-to: Your message of Mon, 27 Jul 1998 02:10:04 PDT. @@ -6528,7 +6364,6 @@ File: flex.info, Node: unnamed-faq-79, Next: unnamed-faq-80, Prev: unnamed-fa unnamed-faq-79 ============== - To: Adoram Rogel Subject: Re: More than 32K states change hangs In-reply-to: Your message of Tue, 04 Aug 1998 16:55:39 PDT. @@ -6576,7 +6411,6 @@ File: flex.info, Node: unnamed-faq-80, Next: unnamed-faq-81, Prev: unnamed-fa unnamed-faq-80 ============== - To: "Schmackpfeffer, Craig" Subject: Re: flex output for static code portion In-reply-to: Your message of Tue, 11 Aug 1998 11:55:30 PDT. @@ -6608,7 +6442,6 @@ File: flex.info, Node: unnamed-faq-81, Next: unnamed-faq-82, Prev: unnamed-fa unnamed-faq-81 ============== - Received: from 131.173.17.11 (131.173.17.11 [131.173.17.11]) by ee.lbl.gov (8.9.1/8.9.1) with ESMTP id AAA03838 for ; Thu, 20 Aug 1998 00:47:57 -0700 (PDT) @@ -6664,7 +6497,6 @@ File: flex.info, Node: unnamed-faq-82, Next: unnamed-faq-83, Prev: unnamed-fa unnamed-faq-82 ============== - To: Georg.Rehm@CL-KI.Uni-Osnabrueck.DE Subject: Re: "flex scanner push-back overflow" In-reply-to: Your message of Thu, 20 Aug 1998 09:47:54 PDT. @@ -6693,7 +6525,6 @@ File: flex.info, Node: unnamed-faq-83, Next: unnamed-faq-84, Prev: unnamed-fa unnamed-faq-83 ============== - To: Jan Kort Subject: Re: Flex In-reply-to: Your message of Fri, 04 Sep 1998 12:18:43 +0200. @@ -6740,7 +6571,6 @@ File: flex.info, Node: unnamed-faq-84, Next: unnamed-faq-85, Prev: unnamed-fa unnamed-faq-84 ============== - To: Patrick Krusenotto Subject: Re: Problems with restarting flex-2.5.2-generated scanner In-reply-to: Your message of Thu, 24 Sep 1998 10:14:07 PDT. @@ -6767,7 +6597,6 @@ File: flex.info, Node: unnamed-faq-85, Next: unnamed-faq-86, Prev: unnamed-fa unnamed-faq-85 ============== - To: Henric Jungheim Subject: Re: flex 2.5.4a In-reply-to: Your message of Tue, 27 Oct 1998 16:41:42 PST. @@ -6801,7 +6630,6 @@ File: flex.info, Node: unnamed-faq-86, Next: unnamed-faq-87, Prev: unnamed-fa unnamed-faq-86 ============== - To: "Repko, Billy D" Subject: Re: Compiling scanners In-reply-to: Your message of Wed, 13 Jan 1999 10:52:47 PST. @@ -6834,7 +6662,6 @@ File: flex.info, Node: unnamed-faq-87, Next: unnamed-faq-88, Prev: unnamed-fa unnamed-faq-87 ============== - To: Erick Branderhorst Subject: Re: flex input buffer In-reply-to: Your message of Tue, 09 Feb 1999 13:53:46 PST. @@ -6855,7 +6682,6 @@ File: flex.info, Node: unnamed-faq-88, Next: unnamed-faq-90, Prev: unnamed-fa unnamed-faq-88 ============== - To: "Guido Minnen" Subject: Re: Flex error message In-reply-to: Your message of Wed, 24 Feb 1999 15:31:46 PST. @@ -6883,7 +6709,6 @@ File: flex.info, Node: unnamed-faq-90, Next: unnamed-faq-91, Prev: unnamed-fa unnamed-faq-90 ============== - To: "Dmitriy Goldobin" Subject: Re: FLEX trouble In-reply-to: Your message of Mon, 31 May 1999 18:44:49 PDT. @@ -6919,7 +6744,6 @@ File: flex.info, Node: unnamed-faq-91, Next: unnamed-faq-92, Prev: unnamed-fa unnamed-faq-91 ============== - Received: from mc-qout4.whowhere.com (mc-qout4.whowhere.com [209.185.123.18]) by ee.lbl.gov (8.9.3/8.9.3) with SMTP id IAA05100 for ; Tue, 15 Jun 1999 08:56:06 -0700 (PDT) @@ -6988,7 +6812,6 @@ File: flex.info, Node: unnamed-faq-92, Next: unnamed-faq-93, Prev: unnamed-fa unnamed-faq-92 ============== - To: neko@my-deja.com Subject: Re: A question on flex C++ scanner In-reply-to: Your message of Tue, 15 Jun 1999 08:55:43 PDT. @@ -7008,7 +6831,6 @@ File: flex.info, Node: unnamed-faq-93, Next: unnamed-faq-94, Prev: unnamed-fa unnamed-faq-93 ============== - To: "Stones, Darren" Subject: Re: You're the man to see? In-reply-to: Your message of Wed, 23 Jun 1999 11:10:29 PDT. @@ -7033,7 +6855,6 @@ File: flex.info, Node: unnamed-faq-94, Next: unnamed-faq-95, Prev: unnamed-fa unnamed-faq-94 ============== - To: Petr Danecek Subject: Re: flex - question In-reply-to: Your message of Mon, 28 Jun 1999 19:21:41 PDT. @@ -7070,7 +6891,6 @@ File: flex.info, Node: unnamed-faq-95, Next: unnamed-faq-96, Prev: unnamed-fa unnamed-faq-95 ============== - To: Tielman Koekemoer Subject: Re: Please help. In-reply-to: Your message of Thu, 08 Jul 1999 13:20:37 PDT. @@ -7112,7 +6932,6 @@ File: flex.info, Node: unnamed-faq-96, Next: unnamed-faq-97, Prev: unnamed-fa unnamed-faq-96 ============== - To: Tielman Koekemoer Subject: Re: Please help. In-reply-to: Your message of Fri, 09 Jul 1999 09:16:14 PDT. @@ -7140,7 +6959,6 @@ File: flex.info, Node: unnamed-faq-97, Next: unnamed-faq-98, Prev: unnamed-fa unnamed-faq-97 ============== - To: Sumanth Kamenani Subject: Re: Error In-reply-to: Your message of Mon, 19 Jul 1999 23:08:41 PDT. @@ -7161,7 +6979,6 @@ File: flex.info, Node: unnamed-faq-98, Next: unnamed-faq-99, Prev: unnamed-fa unnamed-faq-98 ============== - To: daniel@synchrods.synchrods.COM (Daniel Senderowicz) Subject: Re: lex In-reply-to: Your message of Mon, 22 Nov 1999 11:19:04 PST. @@ -7185,7 +7002,6 @@ File: flex.info, Node: unnamed-faq-99, Next: unnamed-faq-100, Prev: unnamed-f unnamed-faq-99 ============== - To: archow@hss.hns.com Subject: Re: Regarding distribution of flex and yacc based grammars In-reply-to: Your message of Sun, 19 Dec 1999 17:50:24 +0530. @@ -7214,7 +7030,6 @@ File: flex.info, Node: unnamed-faq-100, Next: unnamed-faq-101, Prev: unnamed- unnamed-faq-100 =============== - To: Martin Gallwey Subject: Re: Flex, and self referencing rules In-reply-to: Your message of Sun, 20 Feb 2000 01:01:21 PST. @@ -7237,7 +7052,6 @@ File: flex.info, Node: unnamed-faq-101, Next: What is the difference between Y unnamed-faq-101 =============== - To: slg3@lehigh.edu (SAMUEL L. GULDEN) Subject: Re: Flex problem In-reply-to: Your message of Thu, 02 Mar 2000 12:29:04 PST. @@ -7274,7 +7088,6 @@ pass extra params when it calls yylex() from the parser. YY_DECL is the Flex declaration of yylex. The default is similar to this: - #define int yy_lex ()  @@ -7294,7 +7107,7 @@ How do I access the values set in a Flex action from within a Bison action? =========================================================================== With $1, $2, $3, etc. These are called "Semantic Values" in the Bison -manual. See *Note Top: (bison)Top. +manual. See *note Top: (bison)Top.  File: flex.info, Node: Appendices, Next: Indices, Prev: FAQ, Up: Top @@ -7330,7 +7143,6 @@ following Makefile does not explicitly instruct `make' how to build `foo.c' from `foo.l'. Instead, it relies on the implicit rules of the `make' program to build the intermediate file, `scan.c': - # Basic Makefile -- relies on implicit rules # Creates "myprogram" from "scan.l" and "myprogram.c" # @@ -7342,7 +7154,6 @@ following Makefile does not explicitly instruct `make' how to build may have to explicitly instruct `make' how to build your scanner. The following is an example of a Makefile containing explicit rules: - # Basic Makefile -- provides explicit rules # Creates "myprogram" from "scan.l" and "myprogram.c" # @@ -7373,7 +7184,6 @@ with. Since a `flex' scanner will typically include a header file header file is generated BEFORE the scanner is compiled. We handle this case in the following example: - # Makefile example -- scanner and parser. # Creates "myprogram" from "scan.l", "parse.y", and "myprogram.c" # @@ -7389,7 +7199,6 @@ case in the following example: In the above example, notice the line, - scan.o: scan.l parse.c , which lists the file `parse.c' (the generated parser) as a @@ -7398,7 +7207,7 @@ before the scanner is compiled, and the above line seems to do the trick. Feel free to experiment with your specific implementation of `make'. - For more details on writing Makefiles, see *Note Top: (make)Top. + For more details on writing Makefiles, see *note Top: (make)Top. ---------- Footnotes ---------- @@ -7421,7 +7230,7 @@ This section describes the `flex' features useful when integrating `flex' with `GNU bison'(1). Skip this section if you are not using `bison' with your scanner. Here we discuss only the `flex' half of the `flex' and `bison' pair. We do not discuss `bison' in any detail. For -more information about generating `bison' parsers, see *Note Top: +more information about generating `bison' parsers, see *note Top: (bison)Top. A compatible `bison' scanner is generated by declaring `%option @@ -7434,13 +7243,11 @@ bison-functions::. The declaration of yylex becomes, - int yylex ( YYSTYPE * lvalp, yyscan_t scanner ); If `%option bison-locations' is specified, then the declaration becomes, - int yylex ( YYSTYPE * lvalp, YYLTYPE * llocp, yyscan_t scanner ); Note that the macros `yylval' and `yylloc' evaluate to pointers. @@ -7448,7 +7255,6 @@ Support for `yylloc' is optional in `bison', so it is optional in `flex' as well. The following is an example of a `flex' scanner that is compatible with `bison'. - /* Scanner for "C" assignment statements... sort of. */ %{ #include "y.tab.h" /* Generated by bison. */ @@ -7468,7 +7274,6 @@ as we would any other variable. The data type of `yylval' is generated by `bison', and included in the file `y.tab.h'. Here is the corresponding `bison' parser: - /* Parser to convert "C" assignments to lisp. */ %{ /* Pass the argument to yyparse through to yylex. */ @@ -7560,10 +7365,9 @@ C99 hexadecimal constant `0[xX][[:xdigit:]]+' C99 octal constant - `0[0123456]*' + `0[01234567]*' C99 floating point constant - {dseq} ([[:digit:]]+) {dseq_opt} ([[:digit:]]*) {frac} (({dseq_opt}"."{dseq})|{dseq}".") @@ -7591,7 +7395,6 @@ A.4.2 Identifiers ----------------- C99 Identifier - ucn ((\\u([[:xdigit:]]{4}))|(\\U([[:xdigit:]]{8}))) nondigit [_[:alpha:]] c99_id ([_[:alpha:]]|{ucn})([_[:alnum:]]|{ucn})* @@ -7602,7 +7405,6 @@ C99 Identifier with the addition of the `$' character. UTF-8 Encoded Unicode Code Point - [\x09\x0A\x0D\x20-\x7E]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF]([\x80-\xBF]{2})|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF]([\x80-\xBF]{2})|[\xF1-\xF3]([\x80-\xBF]{3})|\xF4[\x80-\x8F]([\x80-\xBF]{2}) @@ -7628,7 +7430,6 @@ C99 Comment appear at sane intervals. This is also more efficient when used with automatic line number processing. *Note option-yylineno::. - { "/*" BEGIN(COMMENT); } @@ -7647,23 +7448,33 @@ A.4.4 Addresses --------------- IPv4 Address - `(([[:digit:]]{1,3}"."){3}([[:digit:]]{1,3}))' + dec-octet [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5] + IPv4address {dec-octet}\.{dec-octet}\.{dec-octet}\.{dec-octet} IPv6 Address + h16 [0-9A-Fa-f]{1,4} + ls32 {h16}:{h16}|{IPv4address} + IPv6address ({h16}:){6}{ls32}| + ::({h16}:){5}{ls32}| + ({h16})?::({h16}:){4}{ls32}| + (({h16}:){0,1}{h16})?::({h16}:){3}{ls32}| + (({h16}:){0,2}{h16})?::({h16}:){2}{ls32}| + (({h16}:){0,3}{h16})?::{h16}:{ls32}| + (({h16}:){0,4}{h16})?::{ls32}| + (({h16}:){0,5}{h16})?::{h16}| + (({h16}:){0,6}{h16})?:: - hex4 ([[:xdigit:]]{1,4}) - hexseq ({hex4}(:{hex4}*)) - hexpart ({hexseq}|({hexseq}::({hexseq}?))|::{hexseq}) - IPv6address ({hexpart}(":"{IPv4address})?) - - See RFC2373 for details. + See RFC 2373 (http://www.ietf.org/rfc/rfc2373.txt) for details. + Note that you have to fold the definition of `IPv6address' into one + line and that it also matches the "unspecified address" "::". URI `(([^:/?#]+):)?("//"([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?' This pattern is nearly useless, since it allows just about any character to appear in a URI, including spaces and control - characters. See RFC2396 for details. + characters. See RFC 2396 (http://www.ietf.org/rfc/rfc2396.txt) + for details.  diff --git a/external/bsd/flex/dist/doc/flex.info-2 b/external/bsd/flex/dist/doc/flex.info-2 index 27cffbdae392a63d593fb15d89a35e2efa00c51b..31a4826c8b2d2d27d609400aaa35890e0ed21506 100644 GIT binary patch delta 2035 zcmX|Cdr(y86`$`e`@}_%6$Ex+fe=N3-h20r5*Aq9iy{xvK_yaFScB!UfLbMqA|^gk zH9&t!m?WKmPSRwYm}0*+PZN`gZ4*r^CT(VPoW@Q%owhSJWRl5ik~HVLVE#FG_xsNI zo!>e4ch0>sVfb*uFs4e1=bT4osU>bzR#f-KuDESYPkf)7_p-}IDd0u9Sxfd5+m^eF zVuORRA_h zttVy$7%k2*xP3virbMNn7f+{XEPz`n<2u3v3nR>jcNPj}X{q97YpQ0I1;X~hSO>y2 zl{naA!ffhECi4Sn!;FRS{i5qs>$P+dRN$b*esnvcxNDgS35N^rswKGPXpv+eU$Z!y zNuB_^bD*l+$#lS{=32sCdmPwRm2$! z;?H+#Bq(Gq{fJufcz9U>6FTZFj!LozXN#|4vfso{EPu>kR|V7cvF`Yeojq~5 zEAmiZ7AG(M`?5BJBrBL!U0hXHNYsHg?>O06uVxjZ(3OTtU!f40Ro71arn))|*fRK( z@3cgGYl5O9C&()JTkx8s1~DBHf4&Y86CbL}MaOOPJ<_*3;#0a7i9jMQYHzUFPo>%pnW60C^4!DRm5NX$SUb(%&fk80O- zN$#$V5Xo0+wPbzV2KV&Dca@+rEuWXJbx8QG(Si@^7V*})DrQiFeoU@EPR$x^T8wc0 z>x4GelmSPBN(vRfwly4{Kl_@_Wc}=TqZR8Kiz%n@INmsj@OdL1X<7tFlOpC<4{TD2 z##qxs)Pd2aOeh;TM5Kgi9sF- z$SL_1+}I|V7PUoLkoUHwNJRer_NYzQMpFHliU~#hCpJ#~ zxNp0V+eNZ|*gJ$)Cp!eKr^RMFP7;EQ{z2{F{AS@gp0FLC2wZ4Pm=&h0Xf2ba5qV#cfJnob@=Lvwon`&9Fu1ETUb4vZ3j!W)M> z4MaQ%@{v3EjYB1pB!{@|@H>(iq`w{=CnXA|Cyr%VZTe;{E#0xF2XCD%!0ZVN4xVWj zBI2ul`JrTP%-o5-ImZCTo)( z3un*2XfO*gx=S1Ni|I$&(Z0)!wbSoYHLi0}^W0aa6#08|(SK$!f9hPRSc>ocRx{5b zZl=JK{5f7`wdh67m3+tTs`Qe3Utcd#vtPULcPj3QH*?tB$p2Vc{(Ncwe`}v8ZQt8Q dy|m$XHEU3?o9{p&xsk5v3wBA=IeAHDKL9L+l-&RT delta 1894 zcmXX{ZBSHI7@l+1{a^uwKtOhZyDBOwx_7^qkQLb6i<6*0qJ3Day9tWyN-)L@CYq*Y z$}Z24R@P9>^krCdYN}BSt7%GWgl2L^YSN~rA2pTEG&wbWz31YeGxwhRemw8y$LH5SB$7QHi7urpfs4j2u8PsIk@j~_z?s8)yd)oHswuM+3wP*VDD(Y^FG&JJWs#3gR zo-vfP8I+(CCud6E-)E+AWv&sA%?dL=F3!?05HqqmEO*p#R{+r*jk)k@&J>|G8tRuU zpaRIz<`s_@`(%QTY%+V6{j%=$v;Bw;b$3aaDEhEO zGHJxD(lAreS{mUV51uL2@LSY~pXkzq&Mt6rg$3ziWK%82dJPV8Q<;O_;BG%Q_s zg}nY<8v z8y+o3*F;xhS9dhIR4FIzTwiU!DK7D-cbrp*)d3Cjg9Ugw;3jgu30&rGC*BE?ZilM$ zj15(T@@lH8f$E!oYYKB#%Wz0!jP_=#0O<2jMbIkK-~iF^Qk`_>!5JQBs<V|9oRy=fF{ZeP!Ia4)Vo zEJw-RI7#-6O$D$uxrn63rl-k=-iOw@klbKIbJHzoSUdfx07GlLbt5ugr*gjwjq5Zx znhP$ot?Va z#n*TBGRm>;o;eJz@%bKho-2IT^s0pxFy)x5Yx zqb~fWpMh9JcRUaa)7|-)WFRm8!wfk;xHi{@oc8SLEG|{l-rp(FpV}IcLc6h5hFsaM znS2s@KT?Hdw9CwL0h!(2>AUIuHdEg5fFEb~Ex_^qLb0L4z*r;h-qxEL)TxWbH}`G@ z>vZ7t+!E}GnS`?aFGfqrEF3$=xWP>$^;KdO_0WsbsI8oMXR$0HmMJYtnbuk8Mk!1h0+L3z)J&mKB#a5-I~ZBNXAVE-cY_h*Z1 z`^vafeC~lyIrpmg`k-7%I}U|1h`-VFF!PD}p-Y@JT|C@FJcz+3Xf%8{c}&CJ<9Wh# z{71%I;+H3%G;yyJheo8PCPyaC`j4Zs687`uP#(X}pwdoJpMTe4lB1$j;+&-jS5Me5 zaON)B&^|G6vStPa`r!2#GwXY-vX$0vEd>=j#^TJZtDth%^c^h|aZV!q_RMgm-iY>i zG#2kh*{6q)oM#eQ@4wBAdL}5t<#_g$?Km}T!rkMvD#df-dI@LG$yqdg_@FFc&qqd+ s$*Xq-M@Pz$c%qbhgShya)Kt;=BWAs|eSP?@$02_#82F?ERTobD4^7)-m;e9( diff --git a/external/bsd/flex/dist/doc/flex.pdf b/external/bsd/flex/dist/doc/flex.pdf index 3ba009f78b4a4a79edbe0b140380664aac860938..27df2c1bb0219a91e6011fc5fc71cf4bd0e9087f 100644 GIT binary patch literal 773710 zcmcG%2{_eT)IXk-p^T-Fc}Rxh%m*Q4&OAn$=XsX7R3c<1rN}H}C38ZiWXe=ZD54ND zmWcm8&gs4Pa=gF$Uj9ALeeOBO`R=v$-fQnQebze1Ri$K3LHQ8}j=%0{=sN&qg|IrB z*szL-91u`6cd&G`Vnqs~S+V~P2*_C5xtY7L3dqw1A9}p8e;OgdLZft+R z^S!;MQbejaRnroU@Nc%n*rHyifUW?j;cUIa6vF_qEl6GFqq5 z@KSH?w9EGq)6*ey6GpOQS|KX^+Hbjv(tdtgU6YHrNqDMwGu8NqH6;;b7-ajVK?IC^1gHJ_WkdyJy)72J~ zy;_{3WR(IB(_`NGvWf?<-Y^WoZ#pNhoR9T#RXIT+H_dZuj(u{P+OH_ID73BrLjSv# z3K4Asx{%qd3wD)bGQH0{N0egvGr3hvzD_vLF6q6s4E-SK9UAy@s*`C%q-sV$J1qGq z^TEms_JNt_o%id;^_L7l2(D zal_|nII6+n=T*QMiYao^XjS?Av>UgN4-r zYhDPYv^C2$JsqS+X9U-?^(OJB@>SK;WvIOe%pJ^dQUzWCi97(qBbh>i|6MZo0m-C+ z{8KVptB3rxQroeT>0XsH?SYX@z0bY1;jOte$tC#(N*1!S9ez{fMDlU^0wv!D^V{qP z3rie_(;hy_pQ?u#oS1y_)!?3|zQq??2cO<`>2p53uY&fu*E?BWjzFC*9=yegs7yUw zS!}5%c#`B`^y(9(3!0;es)gzbvgzi`I<%hlRkQg?bU!Ge`U?2;b(c&O4oF5iKIqepS1R9N&b&J_DiG9-chlx)PcF>mMyEv#XOdb;T`G^ zzeC~hOZ8-)67?n%BvYsJ2&uY^WfhrF=eQm~_=5bn7?;@35JVmN^oVvpH&s_=m$ATs z6bjRCC*#=Csxod)pR%~TbPJyTj*(Zs&XZKc_}<=?Z#sL4!yev=1frSMN?c=yBKdxn z@ysy&@Mr3#;O-NCg}Q!U9%zUtT|0V&Tq}|4e9_T0nnl*zhm9tHXr?f`T@^bL;S*q- z6S=(qd#tPcS>oe|yS`g#ETm?mN7F7h_~pxWh&H6l>s~A8p1w9=(~xywU2lH;<0``E zO`nEJAH%0eWJ1s7$v3g3lW#I?c~mlY%BHm z)B7b$327N4X4cG}*mjq_l@f?GI5;S;_I`z1g2Qg3`tE4A0)tjKG*k5bBl-+wH&QiW*y z$Stgn-THD%lzH`6U&J8|79*PH3bUm4e(uM^x`w0=lM(6a8weOxUfM&L839DJu6LAK z7^+zM?v3_9D6ONt*Yjgvwbp6#KWe^XA$>z#$G8^mQT}Q^N=nJV-IB#8GqCCEBi3dX zCwr}abc#VnY|{A)F>h!W-V=@Zh(f2C82M~JRAmc32o$$A&UsQ<_|?$Bw>#lkburV$ zlBM&+&L)aq z^|uwb(&O_`dqea-le_lF(msikqw4jY7W7w;>-CxUoCU?sWxOyfBe|V)o>e(mZY=3F zT@Rcyy(uZdM`QpJ5JJzJilk;X?e$+*{jvC}@Wt`~Qs)JN9%jIn1To-9a&f-t*_d!o z`a1lUXZtGI>;dwe{oXM=rd^hHP|4QmLtT#+wn$GQjJI7V)c$N7lBA`udSl_+nd5DDk$sgW z>zX=gmqj}havvAOKM$)u)J%t@o}7h^TYTkmf;ri+6lojWpEs3DQ!>3lsIBX%cv%CT zAk8A0xCR}zDJ6YQVEOXM%dN77+A3QxA=JN?ty`*X=jtFd)jtYfLIX$d+`j#^SLFv0-?Sx3a!_e;>_n|25AUXRV*Uit@7$Pp^AZ z#O@1Tm}ewu?;K?`{1A9)XzQ{g|F-O!UQXt$0;61%X`jV8G5oBU#ayFM^jyB&*=YOJHybsJb|sYM8sRUI6S!$*>A&ntQsj>H}Ns&v1a; zU*q8{IVc<^gq4^7w}QhU)o>j;hd2UJhG?_t*{lM{!RA_IjZ&ykj(jCdfyA zK1M#dSgrD7fy9jAL=%lxcJIvcFQ^G2rN3RI_q7C9GZrebSe|~Yx+*2? zl#|N*>t>OF2WQNw+2o+scSnw&hgd45`c)kbksBzt2~~)!RgO<}F#j!e^~uAx>MfZL z<5iFRDdQEM-p#f+%dRl__EYk*qf;Yw=*312h2J?|jVBG`eBZOD+)}42^KT_iYVpg} zVP7{nw%?CY=EI_(_?zxJ)%0ISVMoi1sU+OeMtzu1XE6pWbnqy#E=MsiHh<5iVk(~v zFcWK@KV@XAmN=bF^+7k=Lht~`7XdY!w~UT7fe!aLuSJQUY&zVSubf8Z z1tO{hnR#`o;&V#;8C8jF?THkY(}llZxqiv%YgS6L(JiY}qq^Si88jt3NFi%ad5fcm za)JHLi7OL&Ttlx)Y#Tn2e0w`=A9NPppJ#X3QBxx-+a7i7xWG>xZf7g&u$(yG4`;nA z&M;J@e92I~%#eI~R^d6bQkC2<^8}|oDJ4hHgO^K`rj~rfzAD*%^&&}Xq`8K0*RFV- zdVEdk+S0!3IeZuPMjHnm(JqW&dERn2>HVJT28OR?32!EreyOtgAw9&vOp#2q=VMOl z)98wTs~H5B3QnZe(U-MI3fIx~7K(_4r1kd9KSKn>G_e_7-A^qW7MLwBd5Tc#k_|I) zkOs%Po(Qc1i%O_Sx6Jo@J(8kT(MoECXS~0m*^UI}t=xg1wyKI>J%2Cbe9Ife-U7kz zhg}$`gZ=n|BelCwK3XA{^dg?{_waR6W!pH{NY5ZPO2Xl&Fb2N@TOn;+aeTHv>wVaEB|BGZb!+=szKYcN6<@;+9xm6623Rdq2QxYX> z#Ei&(afUp*RFgtzS4A#LDJW64_WEiz>~?H9^rI4~KAqEJ;u7tQ2L%(E?9L~v>*MHu z=wuqdy>)}(;Ny9Xd;1d-;zg#-XtU0dDJvR1d3`JTJ9(;OO7>~a+JQIIKPjnPAT}-f zYR zZ|M6^sW+J>Cxi7~ej}172_##6XYEZG%k&WK7gK*UFZ~?X%`>d~^ElKO94H1$b-O!X z`IR0%a5|diQ|jXz&(Pm2i<~~oBNl4ib6Ux*>rlkAec?Uv&VAhpCTV(ybfi1jv<7}% z4J>p2!3`QXlcNqgRU&HW{vYhw%PW8qGdn?h}~Gv_=+%ekg6 zHC~&|>0S*Co^4gAwpgB8Wt%A*3QkykeqLGojn(s~jX$#9%n$R|$$cO;MCFfq##_e3 z>1sZYX)Bm!E+~4}R^B_oKHQ@3kv#hICX|`$yI*{pr8ZyneX6K|%k@36!8W;D^#=6st~6f7v2jKJLvuhengV?Ce^ebCk8RZ* z|D!MjWKalJD8@EbXZ=^o1A)hmg~I>D0si00W9qJw;|PlC#?0~&;rGNv=|2bhxs*zH zs2<2Y+aKaUnUl}C*N!K0)L~`jTu7{x5KWxc0P7&l!8|*ed-NSE!Hm(8)SBz6oW}J~ zqUd0&V$o~vw#!s^C`(y7BC8xz94-o8N)qUJUYUxJq>|%Sd-^Pb`;hqDn-4Bbzfmn? z)dH7=D=(IKSTR<=PI*3mN47x3g^EMrsqB%%hxf56hLw(9jMklN;<_&Y$toHiyeJUj z8{V0x&}N=x3d>JpP9}>YVNycQb#!B@Lqfx9uG!4{!o!OCUbrTT@$Bi$rou6@NLoxl0SE)Bls|>a79DDFg zF}ou+$`s~&)il_CVZO`ElNX}AZfrtfw!k`a1NuU-FYU$+RaPFcmu;mtJ|B$b48-^luMu!~zeQEZ9zojkXL$EK+7qjU{{adc2_1 zSgA3s7L-%^q!?(5#tR8u=C9UTr~t|FGM4yq`T#N0b)m1s|Q zd*2q0A+8e*y1G|6>&;5FVrz9GCeh`=WNLp$4iP{Fq zX+@~As_yCV!#g~?U$P!jyeD<8Eu6lv?lYApYOy|t$vmtXTZL+CqUCRxS&H^-08IIBLiD5efCb%74M1 zn^^JbDpgB|^y7id<%`a0@0xjAeD)b%c=;2eW^0V>_iIUDY^tNO(~cg0RYHo+^$V`u9;SEispP-7zgDN^ zsd9e2;U%dlS=s~HKnN(8G9}`Rx&9q&wI5(s0x~A=U zy7hRYIHYInW3GAeZ`yEzL{14{`tR(yX2ed?sPp{bAZ zwY#Q$ExuLU)3l2QUZ)5?(sBi+-?qXyx8tkmds6HM;rz&+EMs0xPW zgnEf&1(SL+Kis-_PPoE)$lem3+_VmUW=znRhCr_WThr_R9*pG2l02iAFtZkxZMAt zb`Tg<^>5XVfP{mCBXD~zutGN+9abpDLsDmjZumj0P^`NG#kwlc4KIfkwxQQpVH>?r^6dH(K0VduWV>;VA{ zcN4b_-%Zil!S;ZFq@#-&2xD(JW)R?#shgVuR|Oh||ofdpO~63!1n zLcv!gHvBOSRsmT@O-EJ%DOPSM4@Q~(&EwkYDgGDg5H!CK3`-ma;YXn{F5_0>u+7B( z9v%44Q%9l&`Qc!FF;hnh3W8-o;H3`VOdYdbe+-cSP8|W~hoazE>PRHN5EO}*I$|?* zjFjx0Iuyc>7DQsH!{Gc#I2tc?)Mn}!;oJ#z1V0i1$O@tPp>PzIJOsgyhT`A&&Ez+Z z)-I42g!2pGW{(hp@*`3Bg&w_W_8Uif7s#U_{DN@A#_SP52oe91`qsNYOy9qjxc`Y6B$PVV7oI6qoQ5bxqck(=kg!yE4peK<&d zBGDW3hXVzGz<=zZTb6%^S00W$P&E7yG*;QbA>j2kk`LRgZ8lWn&X*qsmR|_Cs+jGE zp;7!O6ddpJ!?pUiav&!8te|CXBX8l1H0W*In0;nJa{^JMV zeEboAzkZ~E@q{(U1kUT~u?j(0(LgUbxZBzN-8|bcGykysSBU#>VT!*+yP*(p9b#=l z5WWB#gf$HRRro^a@4Vq+-!M2Dmn{Al;fs4puKk$s#o7^Jg>GsEUurW)<$Gpb^1q_W zs-B9zKJ?8=CiSAc^0(DrdpY;;o9|Int9%@zXlWB4e@SOWOz-4TlUYuU^^fv*l=fw0 zn>Cm{7JK!+vOiS*((G6RHL5T%m$to@FZmv`-}=3I(stE5ah@*TVxJPyqT|~K$6e-{ zo)%bMzQ5+V@U2I8__}ZEx!7tfA)YB$?Y2FJ2b&KPPZr`I=jpgN|S4kgT zqc3AnR7f8xXdA6=N?%zKf_#kn_F8G*VY+4#F6U&57)igc_BYiNs93m~E?XqLY8Z^H z6<1QL_G2H?g75EG(d+!o7Raqb&%<(xhmBittSjX!dHsVcdpkcI+#hU47Lu((EX_~F zN!P&7-gObe%j63BT<1Zh-zIf;jFhq@D#zxqhE9X3)*Wn-J>q zAmr&nG$A`Z$BBvVs5<%=t;MXt4LbLqhdpv2J*2_Yo2+a8Dw!(A#HKjF=PFBrzJBjzQEuqLw?6d~#Gisq zmyYyARL)YFw30-%pLb+!r0Ypk6EFqOG=gVLr5;>e3>&@i`0b(tn@(;{RATOcpyex_ z#=dL$r;?+JsMNV;#^n}?OynfI=;zt@v(ulQsQHp_j}$n_smaNt^ujLp@*OpixC_Pc z`MDNsl~aovf$CMU{k+dwxMEqkzJBR9CoXxhq|fCT7!dGM+cQ#eY+$5DPUdOoO3(Yz z9G@d4hiGIfX`fglZD<)z^SLDftrtCk$ju^3}6D(g|;{vqLcVWOek(A&AQLEU4|R@&C? zf8!r?yP(Em>fQS3{>}JoxugeY5{3__Hl!o&#}A5!9nEI^aft-1x?ZZ-sZ)yiB-bmo z8p)qMJAOkcSzl+eC63HqIh6RKF|!`|!ABPRr)&dimY2T%$bG=8CA6W!H%vj0|fJjBjy9-NK1<*;Ws!cO>*2y(; zhy1D!Nl4}9I;n$j7LS^YRsL+EWk0~0zxMk?X>1A#~@$JKd(yu0RW zaUHs6A$P*E>UtQ0Yxf0`*X(1bzs57sT`P4kw$khNjpmZG0@{g1uNaqqi}7hXzkAdB zPN72Br99_o7vp}h^6}~C1xNdDT|&!{NQBW+?tc{7#lS*H4;eV83E-TPaRs}Ogo!>sZE*6l!u;fd&Y-BkeuD+smc!kM+f` z$I$n`0AaG^=J?^?ODY3vbnVHyKcXtpQ{d5GddsxhUx_a}!Rzx^ARpXTUz-?|>d zG$1#r-BKwhw&?Ih%W%x}wuMdaYLBCAAPvG1u3tMSt|*bvcI7IN%>9(UgTmVBVX1pZ z+L@YL9}l-!Jk~YTUip=0(7RGGb#Y(m{m=^U%4){Xi5|V{eY?gnqOMh*K0z(G zT;zNrd6j@LDyCY(+hvBf&WO|0M#|3y32{gk`Px$>bL*{3)w@AAYkz%YZ{Wp5jiH){ z{MKiRBaE`B54}xi)BgZCxtK8Z!H1EUgZ}W3nyl*c6O@v=u-r!s+7+`sH$@5yw8wlK zc!uH?bA6qZwQ{N)X8Ue`6<;pCd5*ujMm&9$Vqq3ez(H@!KHUvfGtz`iBsfJdC#1cz zuX0tfVNAM2?- zvt`{AS#5(a-<7PrC|Of1Ui0y)ViD2&Xhy-PV6>JYs%uhon?eSN7ZDB54~j_exDn&e zXT>iMkD^MMnAw)brONYjwSKGJ^`CIleqxPA&YeliE*QVP7;N%@;nA|fG|`m+IW#2l z_z&e|@GuSIPqJ9zRI!rsQV&;$b%RR&-Fw zh2~X4KUUWCXYwi)bKp9iQw_W_2ljk4O)P(|tW|5j>%kCP*p=XEsD+bWM)jkaA=$4Z za&z_te&~<7?$Nb`MC>2QSzlJg*a4;K86@V2gif5|VEgtV_%7F2dIA64HU~q2z51d4 zL=PVreqPsQtEzomuIS(dCV34WsYvxlNg>%{IrQG=)RVClPPkV^h#cuT^nzLUhf4(U zBN^eC7B@+t7bPEi(BeZx=@oi^tM_``>yUQRe0sa{H)+ zmMC>ZNz(PtsGIV)E74Rj3}c3##O#ph3oh$~DL=YJw?-#{pSw9&vI$MGVY~e!Itij- zAo}+&lVX2GC*j!eA_yvM#165hByco0-eJRwaBO%Hjtws&u;E2uYhu0vZ1Ro&VV^@` zpF?4vLt&poVV^@|pF?BAl4z_QjK+?F#*PB)TFhW*>?mmLD8L@w_z*jaAa)c%>?nfR zQ3SE02x3P8;Tg;Wg4j_&Hg4k`c9g%{*&8$eV`u+|xCG8MLxV^p3?aDT8US-1uUiP; z?3HgU_fBX77gz|&iUJ`h5C_821}+*DjXxB)l|E*Tc7Z-75DJ3O7`F%o0-+GtHg4(W zaNLG~?E-xeg@OWc*`SX`@C%~xyXElBVF@@!Dt3WB5(egsqmP2}qha{zBeuBZ7;)SM z`XCS{2u{t${1G5PwoMouvBfRkX;=a$e=sDNGuACf!I2;;gg+pO*y0vrj`2?BkB!P9 zg#`K0z%kyKKLosn;tvZTHlM$Z+iMr-gRl?=_m82E1YsdKTnO*^M?yA5;g!{GSuzpeAf7%sa&A0*)5!1}?Qe+0M-Ao!z_TghV#rd=Qpa)B^lMs1LX3W2OJ ze(B#F6yGrSc1|7+k^(RYjy%Z8ppe^4UvSgyyJ2VU0)0#}5SIqVEtwb}aFFzI(Pe;j?F z@lm*>1W1nX!?v-0QJb|NNF?os_``(2?FT#EAg#ZR0mOeQb|IA53k$+ztTv8GM4sZor{~{@Q@to`D66)tOg{q^G_j%qL zkzS#M1eKv|9Z%k_dMKzc8u?kgP5jU)3Zb#O%2$Py;s|jksVj$y-<^->G8Q~bHSpqx zds?RzRr0=J%H;G~c}X6HvmQ?dst^1!oNPJlKHHsaXlzwVO^()XIdi|tdtNL=+389b zYr_dk+7r}VbMF@}m7HGw!rL*wSl#jb^5WE;abEV%;V|=-3zCP~5K@S+n>4(Ow8Hxk zYIB2y(3{$hZ)pnGc=uO(MO>@#zaqo^LS1rbm2#3i{O}@m#BXZCEb()Na(aRBh1_kKYuHGi3ytZ!I^HshY>h<)3j<*aiw6*m8^AqU1oeTE`UgtL( z(=h5>Pm1P=zLxJ?dFFWUJVWj^Qg6o4S=FvLW;de!@7#z!DW0-aHKb)*TN)AV`^iR! z=TK4(<=S{;-06?zC2_G;4k3Bv@4s6lGI?jZxL1Cvc6;{0#mLPdhhoV7uJ+Pp4e?6D zik#8Y?nTy<&z{+F-BeCrd=f*RNg~@3@J*!~rQdkuL~!~yf<~mxOLD4hRXjL^v3 zD@5awK$4)FOFu-Hk1WPH2XZ(Hv}T|5BG)cDQdjaS1Zi+2)B61PLwT_3D;?ScZJ!=L zvFUB-r@VYxtF)wdEwXsot2Qg2?-o_vY_xTKAops23pJDQcQ%`d0zx%FL8=Nyo|^LW z)UCKyN8ZszE{kcI)VHMHDTov52;%QLF6LJ_#)jq^W}x?HaX+x}B9E#KKiAXptSz_e z69eg4#PMXf$ZubVng&X``q5Q7;qS9`jjw7c!NC5W=EwXa_dSLrB`YURu0ALz;QTpo z{H=um^SG$Ajsbe2Q=#A6>#JT{F}IbMSC3JLK+*hQ%hPAnN|5^7I^}m=>a^Yl>uQJB zlh(eNSWFLzdl6FGEpoWcYE{Ift?Bgd3Nq!q%fkroE4AcIKglTcc&?q}B5&_9YybER zcB^(jo%FCq{%Gjn`mm-_(69#h&m_6{)l<&(UIB06qi;XDeM%8CI+8qfM2A+XBq%p$ za8_@q?ZJ%3B0+magjH|1&%&X0u~H|LiHjt~?f$#H0Znh*_#*P(-EHl=YnWM5%zcxJ z6bKlH)RT85l*&B|(Y+T7k1m(k#^v8E)Os6k$!jnB`*>?`uR-J4XKg=L1rypn&gOA* zDTNRbuy_8>JVERKU4_5N@oP;`vS>WT>Pe-s@AIz^KO3Z8ay8YG-ZXx!mLrfgF~S=| z?yp~0VX%*deBY>sDzThn(MO>gUI=4!7+8@}%j$!*LcnzC|T3t>x=;IjN@S zm$Q?LJghG9sj5}f#ayL}KB?Yi)_SOcnt{AIh052=JIjUdMG&RQF6zpW1m>`!#}+apgij%au{_pC8L?~hQS@8vy!Te z$|w6vI7E2rqnalUtWvJ;)6mp9iXLfx#oFjTsM+RkatuyNNNXjP$Dtv^())zD(MjlZ z>%5rDd2yjKXf{-qJXyRhj8&TL+>F#MTT$JR$}@f|ze{J@jntBF(mN2NpV;dosXij? zGY_Bb&-t+E#r&ON@|KZqZ(L%1)#X#1FAy@ZVn*G~6E&u)6>&|ec1jkCuLLyu zHDB&CrB8erIw?+5XmE{o|H#BKr%YPiw6}*IIhB14+561d!@wy)bFo$4{b#dnx#n^& zth4IX(DZf0B`W!7y5pa|c+~T^8XLu%in)EP`@p=;dB6Tcml=g?q2e_!lc~~()oeX& z@!@Wxy!fEH#>TO#s*7Yg4Cm!bbl#IY4k|guoFF^i8KbOU(HDC%KmE0xg0B{NlZmgL z!t_P?Pq(f6INx}L1+;dDs=f4k>J&#!{|)+O<=UXn^Sq+pV!4Z}7n#cwlPfce+1($Q zoThm75N({q$^ByCoDchWK1dvM8B!`5;z zNZTdRtdH2*GuMyktrjuY+M(O0SZ<@mO{<*eKP`M)n4%09?a7F_eo*CS*6k4?FvV`> z3&cr4Y&^ZqkBK~doh<#s&~_k)W&B#8P4yR>tB#D*XJoF61l{MOjWc?7Tf_QmjqGs- zZQ?i}=h>g*th28lrcsad%DmlQ*g0AJ(S%cy*omyiOiNMbec6>YWs7GDR=uZrW}etD zJHW=nG`LLk=lbr9rjmzExx6Q1`e|i)_T^Ri_vi1nb~f^Lzn1YmbX57oH~t7N(#nFf z^*OpTwiS7gZ2P6It7)f-UeBb}I(6~wf>Z$g0n;Tq!I9zpWP>gSU>Hwh)6X9R!Kw&6 zgCPa1LZ~y{o|MU^9%R0D`IWm<0#8`O#EXgW3~uGa2F`BUN#+pyV*DT^HRu_Yg=*Gmya-s9~b4Nvjs>g{{JB5%;bt3J1$E$Q+| z^K5xShBh&Cd^jDvP5nX)ef%%;WAR+PND+M#&V$W&`-=mg5JBEL$J|+IBtggVx3sM^ z{B(DQPt{$eAvO0;EFa%*dqVUwAA6oe2A zX*0;kOByJ5ioALyqd*_>m9Qi|pTbv$INw*s(i&#zW^kwRtK9Xk_bJ9+s`C}t{$8OH zpFvV2c2yRjY=T#!+l;V3jJ%&tSyZ5CdBC%(qh&B5 z)0Dlj9_gc}5q1skZA9zZI8jq~huS|((YX<5b2!lE@RO1}(8@O-dMb_zdx%lwtav*K ze)MbztwWs7c1vqMx95q|!$M=-_OcX0mJz!Jrm!N!9n*WDvh$*(l-*s$6TI^-7u-%e zy!m0lAT`7+Id#*FD!hJCG+NXB1Rr0fi{?IQPcd2ZuKnag6ly{I!3=@4;ez^tomS3l zjea8vqH`_sK+SW+kw3bo33eeJ>_U2oI?drKcZ$kS7is$lAg`TXo&QV$#R z#W$m~sh_@nk1In8kLHYISMUYptc@3YbN0x;yM0lj3=$Ne8@>!KYFD3Cri2T3TaBmV ztRY!6Hyge%K}v^6J6Q(DZ7-bA5LL|=Vsz8wIQPLQ>eN9*fDGnTo5H zLj}5J!YjY;{L=nPt}J*f-{Z+KeeyoW_rI(tC00EL^;=n58wH4YlllSQ_T_ zAE^93pzOrAUk!uD(aVG9vYkx=D+MKH#@Nupr+q4nB65SYja{^sKe_EXJ>tXUhLE4 zqTdFsWrty1`x<6N=Tu|DeK?wF;B&(j$vKl0P;a@b=AMI=Q#nzvC8w@FV&s_Jz=_uh z!p7<&m5g?ePEG#w4JC7IX)|wIrbsG$;8x!LUZGm0ed(Psi~aFb31>|q)O~kj>X6ih zPw!6CR@gAcr`aa`NU1iZ6{F0`Vx>U^P&N1bStpT6( z+wXyc>1s!#i)dy9#^#u(xy=}a>qYu$DogH>r1O`+nF zp`UqGle&zH@L24ZNydlE`=Y2WH=klACO67ET4dxocy=#Cq&3BPn-8fqmkCOK5@>9N zC_n)id~+0I6Gj2+%l!kS07Y(O<^Rtp1wm}~A0TEi$$Sv>!2A!2E1QDi>ZYI@RTkiL zT;&uLS2_j7)lNZi#Zyp_vE6tcS3U*B)lWfj1yoR61r-!mLIwIkV84&UNfqPhzU@Gk)eTN&7C0Tc+fZXizn zCE@@N1G}^ZPy{~;M6fVXPZSIWg8ukZZs^TXPwcI*^DV#>{J{bI3c~H&_zpLjuU4m@Ko{#_6OP;rU`%4dTC5c!8e@mIs(VPLD${6AIV;Z7j} zgx&$x1j_&fvjX^2KX@4UdwBJ~?*Kv&)tqknAA_^;m2qY*z1$ak{3?M)z0ze_~W}omdusatarVJZ`!@eMp0Q&;P zpMJr^z;1yLKousgCJR%M3Ei$1c8d(`7zXkBn-<@j^4wAkQ&>aUee>esS2f=>};9&q`uT;ArGVaqI>I z0Dgqr27rNwf!(AiLn&`W*0zmGOe;^;FZpMN@H)1$D7XT33`X3}X zh)ZEyWc(tqm4V&41u+N|L0lOO@J=z!TK+8qyK@U-Iz-^mP*5oTG91CpNEmFSZ0D;F zY#&@i0E3A_Y-5IPrT%x}2S6NbO!a?9;$S1Fe^~yHP#n-D7X>;|VZ(_3s#gGPBewd7 z?4M=#8GNsPmlqjJNkl=25&GQVT~ zcJUefuJFNyy4%NQUCcCs7(7B>-g?w`U-ypi7qay;OoQzS{0HWP_}v~y-aD+H(=auy zqlbK zn!euz!?y{)x2vX?7neesN6-3+)XMl;Pebh~vbx7C`d1&X$Qk|}h=C@YR>Am?H zCKX~^N`+`%t8O^sZIV|{ND{gU6_rL>Ikl`hUJZ9869 z{Clyf!oKip*9XblO;ui&^B?v7Y!Xc!v;DGv{H{E^@|sblGptELIVW|sjU@=WXiqzu z%R*)}arU@O4{=m_kF1~fV#ZCwn}c6YpOzZvx&3(Zx5eclL&3^`_BCHuN7?$!!Nwqn zjQnw~#6bhyxyQ#wM`+26eoD~9h7A+5%YO>`weXWvUctd{?VWkZCH`B_W}2Fji(nPoAIQq24BK-A^Zsi@6I`m7JTTt3HCB?pr6VF>Tc~p1X692r~9yjiWU{PQ5injLB6par9AY zRmWu!GStmB^^EBy<>yw06iZ)zR|qA&_pbIxX>qochVDP#d4k?J_U(B_E>Fll7(O z(DnYh$CG>ww*}x=_R`m6gs)`U8|PNeKYYAAYTYfiaO=jq&)@qTC@gBBa>uhgc{`=% zZ%U zd>IJsV4kLn&@T67y+#lwM-t4RCU;d%T`^TmH1@tD_-&5Tq05VP{ngKph!E-bDy6k} z6(gz!pjpOZNws@!oRE^1?PxdV z?svCi79*r&tezCAot;-H=;ZgRe8_6j&`OW(_#O*SDmIwI557}xCZzOHjRZm_%;c2VIH{KfC{`t(}I)!t>TcXK&~G4HaIJQ!R4lOH&VAzCOt<9$dJfeWA3|zfbhnkt>AbolYJi7v(DLKa{Vu zJ9eBo<8@i2l)1(w-Lta)oR0dKeP*Rff`9?!%1z?aE>a>?@(Ln7S+s?*=|&l+_ged= zSlfpx4h0st+m@`DR`tKz`wJ$rb|EX+@PmE`_e6icr!$Y1)FU0|U#D*bPF4Dzyh=cJ zkh_!QC~Gv$(QK87{a?nMKV36l_cM)n@j+wY+uPi_fr&A@j~@$O7V^1g&m>yfA>0iq zt>z`uQQu((dGfI|JU53ITm^nNX%@4H8ul9P(Kxd7DE!TrS~>NcRI#d@JW#r>lli3Z zQk%EC&gJu3C*RDdQ)hk_IecHTH#>$u`IXV0v_pqrlE;HNrH@Z^Yv{_cn}sQeX$U#< z=DRIxf(?v|jHKoT8^{aVdMFf}Q->W(d2;XJJye`>g&l7I!Sz=JY{GhZWE}FUH&+%k zc@+}E#Ca^ZPf(Z_UKER2^Cy$P(nJ!)7Df}9aJIuVqaxUFj&8u~c6C~Q+mP4?T2>eJ z*;n#QlM>$?4FgxwSSjvZbjy@}O2Sef#ZEo{Ri0+7xQm)*G;CN??djdoB04f7h$N!X zYF|palhl20=5q=(TGY(Fts|OV;Lr2m&mxitE9!jrppEWCevgHeuuEz7aRoEgES4w{H}FG%FFGp`8)|3s|dyG2ht0< za7gUFh%$|iv^+Vrn}dqmEhw`D zHxIK~R+6mit!_ELhffjX!5o3?W1TVF z2UDfepUAeIfX7I8+QfI5K(5r1bUu)N3S+zx{es$k!iy&QC41wDFYNCulIuzFIT>S_ zYZ zRZ&R9cfsUV#rVHu!8A;kN+CqH=i!K&MyhoBBiS}$xJE;#LcEe`8A|}Qi-h&l3F`XU zy$$PoPOkh|+lo?v;YoXLLMdP^+kc=GU|3+m{~4tK1u>9~#5}Ia0TkEe0E%mK0LAq= z03IstdpO_#uGIk)*XsauIK%!O*X;m`Yj*&}^*ey#8XiD#9S@+mmIqK=&ja9s z2XOESC=NdX{R5!D_KaYK;wk{3*sc=bJ&r%n@oZy0Lb&lj>KpqW%O4ChAH%$dL9jps z7zjjS-(!IYn2-$iJ$5`81UnuKgzK=MW5OCOEd{> z$+T@;Y`Y+WAkzo?)8_#O(k$Dgn}xRId3IcCij69PIz!N00vlfhKT))8q6rTJe~KZQupZQxI)4Fkd1F4KmG0gV3N1qQ&$`;%!yf@CLbn|2d;7{C|`J7)j^ zjvflv?*|DC1Bf90Y^%@~UA*I(Q(SZ#96bcC;SmBPJGbe$Ahbmj?zrX@M<4xHq74C( zKHDYQ@G!7D_aFlKSE3C8a-G{G+P2c)B?Kx0sNz3~HVgy^T*mkh;g%iPu(@|Z1VO43 z4FJEGYX}1YLTr<55ZYpl{G*2VziT1{NOhus!N0)(Xvz-ou=rPCD+9Y@4k93!TpyM` zunV?J_2F57-N|-?ns5F;O-BIiN@yERyu}#%N7?m%Uw=4g`+z}$W7Z!Iu&9EFZ4}{F z26lQ00@NjF+y)00@Smnr7zEIEsYcM6dQ;yO=!PG;lQV$h0I1?Wxkfl>L9|`25g!LT zO?cxt!1SH~v)R}L(0c*^g7F>#C}fL83V<3rQ$;uqfEf&|04xWf4G|21-x}D;0oH5Z zg1HqF^!9MLk?g74K4%0RF)J zG6xL6a<@@PP{?M(7zWv?S%_l*G~`G9X~cp=Z`*|r9|ya0CBneZ10Zm%Krmn^s33l; z01DY`n`1*^J3k5_ipdY!WMIVrmkuo%>KEqrFAeanV^5FMTp^(kS8SEcFguH__!2CuKa5gqL0EWVLKU4yR zY&K7@LEc>u0|W@q;3@;4z)%2a?`;HeD+jxCA%YqQFmJ4C20&xbq-Yz}4Bc!XVFTN{ zum(^Np~3ZK#2~`}MjHPbKsTEw*pT`zZ~y{ke|{(n0}VrM)0q*9hXYJ7f9D*4fZ3m) z$^u?H0BLWt0$WUjjq1@q^Z_ahn?w5FQCZlG(VvI#qO$(_ahCspzWPT935ULd3IUJe z-=eSHgI~>*q1p5C$Lay4t6y@$mToAP~RdtB@BVEKo>d~WaK zs>;-Jdo!&PYSH8O4&PVF?cE=(xPC4D<)H>T9?v92f$%54`g;@8z2?8Y<$$!@TD)rd z^z&4A+JzI6oRLxNe5^vE=l01-3Kh>PTQ;{WjC}1KuS@gELPb7UfWx)VEu~)%n>6%F zUARQAq4cVy!Nf(az0op;azvzXZb&$atT2;?$EBdCr)6E_*fsDo_8)$IUY&yN$gH&_D)_df# zWHl8)K3IK{n%9^=!sWYXHnUR4u&4)tBr}wJ&*(z1!uUL$qK)Xp+k0w3vdDk1_J?!p zNi`aAGYX1`y2bBj7yFh@zUMeV^}S4*koA&Rea3<(*@Vi~L_hrW>9nO{?EU%00!<-JNxqOU^4QlF_iOEL9}?S|Yw@lTq4y`4dj z*v?}#v8sAyR4=Z4|44P$p@Hw)-s^NGG-5&7v0}ls>Dugka+zdnXNHtfY0y(f?9!()FCs6)-e!R$Tw7>Zni<-gFgSo&I$TFY*oM@2^H zTtqU{83*2bCoSwHRx%)3kr%TkxdX>Vkpdp5$pN2B%)f`<=ilivGjc3l0yy3gda%S~ z&g0_n6K6FQSn7<_TOtprtF}D4>V`Z9Z|r*a#Cvr7+Smv~e%@fTfj(SNRT;t2+E%@|r{`jG zdtFA~?BN_4@*kV*wiKo*EIdfn6~y*)Aw~Vy!u}XNKk=LDW94BhEf#dS1c+bfa~)y# z<84jTn2+TOoC&|qY}CF8x%93=*EVC(ab9}9A${3Xod*_$n$K9CRV=K~GeEG2wV@po zi_cfSnOfEp$U#d<27Hb@VfuQWz<8`piL;dZVG|sw$ne~cs6)9S^s3yi{T*Hp_5|F| z(dT`t@k!m=BWEC8;l${5XZgua<)$2mXQdr+jMZ;VdAnT$8|(}|>9C8wNepx@S&SKc zeC)+95wf6b>>TQ^C#8I+G(FH+%xbFnzVCGCTJ9^faeC z<(-R8`jzys2-2{e`7bB^M7(rvC1r?}&CPot@=h3f{B#Y|xXYQc=S-t?vhB-{3`&YB z!?H2_;#P>-{2yLt!Qnf|RXkX>7Jk98$Fs7###`+E$)lq-15A>$QAPeM=`KRL`MDVv z_r<-Q7hJl`^;N^P#O~Q$esMW+2UgWDMSW$lVn`sFh&u?aBk8?7n|g5{m4lWhhz7zGo*}+1F$p z3?|GlGuE<2ixz27LMlsXl}eT*OOX~zmZZ{RU$Totzx#}tc?_o4`|bU`f4uKIo_o(d z_ug~P{hV{py;tKf-}k~3e4-gA>?B1rGzV2of*7KCKH%1Xlsar z$f38}{auBYh^=^=5fteV5vOsiM2HPECz)`c>)D|F#q)^BUe4Y~wFlNq6zaI#zHby> zt}oA4nExiL*W|t`C&C$fl+Lt$-T<1uTM!S)Gpb!w|9GAXDiMk@pQHFi>D#? z3X(A&^mgxN)2#E&T(L?zNh!sY2eF+o@U0$We2t!PLM{8LGj7QN(eGC`4R}8gZRoC1 z@J1b3SysPdrQH>YfwqE0{P?^{H9XL3yt2WM+i}vm2K?8so!Rd56J0m1r*QCI z`R$|-h0T-cJ-Xq0!J^AwR&E)11MJWnU|?lsbQ5~Y3rDRx25;tj@0ETY9Fm`j^|<|N z#p|{zI+G11S8inN{kmCN>*!60LY2sWV)w$4?`^k9~aOVY)Jc3UbO|CKzI zsc2+9RN0NMZZSG(-&%I;_ZC(^pXO8}uqd3iQ&HLMC!)H!%;1(mhW_Rfufgwbt|^_0 zAH&{13vQ=lv}$gw?VH$^@7cs<0t|KPVXH;>Pd`gDhRpzzoPrw;p@*V^bf3vef68=F-_D61Sl-*!v3SjM&(N;mq*IO;N7hZ6O-4(lxADJhZdS0+ zZf{jK#;K`vaUZ|gsjDLWFpP2ao_tnYn~L>!!|5yzsU4Un#buuBRA;BSOy`S05BTD- z{y0|@9)t>rDHi{j;vzkrS_0nIB|m2jj=BJR29iF2k1_pUQnCi=77A(7EfmtETPUD? z+v#$oWDVlQAy9oX9a8cKDIHxJytYX!4|2<=|4T~#AU!oAO}x7v)F(YQ0!}=U%8}@i z-Wvg-i0QwRl5xN>Ez)liJyJ3bxHXvccM^Z3WE^QyG7h+AcltXi8E0ma$@Ex|Vc-Am zH7zvB1R&|zo+EJ<{+jYn#p_|{5Qe8h31(^ z&3$B*DD(fpEG#V1WIhJ|8`l+t(I`in};oG1?QYN7vN4#1ug z^x`iR!H@^OGp$3-Qc`oGIP+YI^zUwWAZfw^lTGI1;J=CGEil_eN@`9R31n#e7tZ@a z(@o~#fVhnOy%;Ps-vr$3GutE+7qI_;135`>o}Bc!%O4U>=HuYMF^ID>PH3I&1{ZM6 z8H4|3cVnR`C-ZUe-&n-iDIXxmb^buoJY(>eCJ`7Pu%85O7XfJwq@6w}=K?%5LxY1k z!8{^F`g=))5*;K-yPdM&nJal34?Tbj*yhN=e-q4;g${Lt>(C&hEDJq!B~5D<<^Uw( zD|G+C7=YQ32T+m70d(^_jiknve3D1a^eFxVM`;RIk)}4er#uYS&{`8 zuE~=2IzcKR$VHi8Gy1KWJp_`GGMbuiIxn^*<>R^|G$?38L-zX31~qw z0G=8GfSJZNpY&V~{u_G;Wjm1HoB)?TfxK*5wqPy?e`ya%)<{MM%Dp6w0YHmNQZ%+# zr02k+zs`mxi2=|9^1BN%(!es&+H9SNga2l`SB7}y7HJH?8%RpDHd|%p*u%e0h@Kt; zX>jKjv}FfLqO=lNA81^}2(GZ4ZH@jqBbvkkxc-ow_@D?36Rq7=nK=geuV3FGF#r;R zN$35+9f0Dpv^HDkGVs?a(If`IIwViJgbf5UK-vL~?cRAfn5m1<78B`U&!3*)n2y+x zjo820Vv^7Wnl~LJkQ9x>l5sd{M{Ffn~@d3>;si+_%ED#cUSW7HIVmm@u8|xd4 zLwk4m4L=#sAv+;7eO2eQx&05ByWb#p=g2j@%2U_bb^r3f2kQI9!eq- zwZQtI5VMQI#7RbI4sl&9&Id_7n#6->M4Hnd5mLsSeB?-(Xh(#HnEoj@4i5ybK+H&}v* z_YluF4w^)vp=ObIIWdti`76vJt(nt9VNf_E0p*6Ua7ALk|5LF_4kR)OTLKZETb4qf z7-^o5PYVJPM*yOMahn!*YVss^j7fM-F_CjOmx^WbGqp^@Iv6)Gth*Sb@d%>6z_UhvOLh)5BQ)L>OtLEuOU)=T zU{0Jls07N}8;L<-{ULcE7KPcQHH}17vPOFQ&$57IoX;dY{Sl!VfJA#ET>#Hu&4BC{ zR1@Z$49n+mZi{qvr5Xq_bR-&V6wV##3au4^Xo4q#SeC*w`NZ2Ck|cpcnD`P6AvJZ9 zg9apHS}ZB0D0In~VGdmqJ%l?Jhp_NPxuV^JA=aRY!XSNS4G=kvgGu-wtHCYPGPGn8 znm`nReu75H+-spckpXBdwRVwDpulbap(5NmEg699ub3e!0OgI)#JC|eO${i6h5*2V zyyBBjJwR}PW(Bx3DQ@-WQ6|k17;Rukkf3o3bO?%SLdmK2a9@ejGk-<6by~{59p&Qh z;Q@{Ce9}Ws=w=e0TaHXymL`g#R>67b%fg6i{<3fzv?Rq8XbglcFs@X?BuhMoO*8~E zNpQJo3c%3+7wz;PNCyO5GF%Z_O=75gOv#2Y;r$9Yp|UoQgCI zvY@3JCJ&hbfR#u!D2>nrSR{)HQ=o2zvSM#Xxq2gUkQ^b&(~Z!?&!`4BMQiGHf`B~1 zH4vIO4}S>UQMX7D0;pfpRVW21ZO}wudfr$Uq&H~9*Bj}InnNANVx)rBpij{92=#&1XK`#h^?kaf=d2jAo&lK;8tlF5epQsLEZpCxgjixwurhR${I4a988;* ztZ3sSlW(k-ct@$@Z`=ALVtT$s) z!0~o69-3JKrblbewa_l!Xsibg>FXIhv)^(sEYx(H_Ron+C2`IuSVxW~BGlD1qb5h0 zIp_<8FXELz^WhmAPZS0bhy=*a8yHI$EDobiO^>ql&sUN{pC;~u!YgiAgaHB-##xoe|1960)H4;Q<@Ca9=w>QEa@@KIKv^xSo4m2Kt!2;W4Y+-;PuPNTBSgkX1!b5-`O^o5%3lmTvE(?D9pgfQ+!2}fEUIY>72?cum@sRC= zdNzw^is=7`4ZyvjW!H3}Atuc|2vieejR>D$@)%R1q<9ebKwxpeg#N>Xd%aMCnGs2;?+OMj&x0pszq$h^rI?4#7lBvkrhR9>nnpXb{99 ziaY2D&;)AsVMPCzL}9LJ=_WMQKqbLwg5VAc;X@8cPKyyauh$)liJ&or>2MoyCP<2m z0Q`gTM-cx8^@>`iU?<`Kp&__;v~*aT*fSS@w6_}q1H2i~3tuD-57{503mqaOC)AUZ@p(5%7f(Y5L7;hk8(}NAdV30&1iS~0An^a0XJ+lj= z0`o;nQ)lw!1^jcJ9Xi^UKze{EfL#+}m=_P$94J`sN)DETCD9+_1{_k#y|6tq}?v4D(*KOTi}N8*7>;t=lsU=1QnyUIkb1&BC^PysE5Q~^X5smB)fxJdMb z{s)3Evwu=aAAeU*BAdY40oy313$ZH(?a~2>7So=^7iCd|hVmb)!W__28v}Q;JwPJx z(|eNudHMJtapY0l;}1rVs7lbvO&q(q3kvMD{h1(f7->?ZuuIdwn}z}?JO&U74#ojJ z2O?-M3>G{*ie#OLLJ9s393conA%G<_FgCC>&@`kTN_a=$FNwljFGQQbs)rzBHvoNz zyMwbBqu|Jy>N0;lO4~GjLdYfc1s)m}SassCL52`Q1&|pGLe*ok`>;efup(juSVyu}!Ju2|-!@nW{b3{u6 zh^P%}7Fx*BK-Q560my2gZ~_S9?Yf#`YT#dB;r77dz;2NbHCM3X`LD@PIHT!~LeuX? zfu;~nhA3 zm`8|d*Ce+uPt$3g9t$9>NEhH6VS%g=S42o^paJngySag}A+D4VTp`A?@W5CBZ36}X z2_Qk>+$B^Vc6t9h`fy)p=>VmzY2XMTJ(P+-T=m`ji7{$owgnVZA-dHFdtu^77Zgy8 zX#sFYJ+&918hClw>;BK1fqOg#F_I2VG|TFf;x9afD#>v2YZ-=|Bfbw zXPWLgSR{N91RODq0vLZ{K!<2z-EmkSgr?oeza|TFPD^8;z$eJ)00<5mU`TGEFdxY&1!iyB;|6X79vO@WFbgV0 z5@W<3;B}zf1gM7|cE$e_(v%+1bjWA=0z~$Ru@VdxBj$kvk&$2o7Jz9a0Sm$k#PJ8e zyon%MnV)C4BX6@>%2 z9{_FuUnKwuwg8}5!gRhWIp{(3BZ!V4wGSZ=?~(p5lqmesbd7;QgdzlxGwkmRrr!na z0RqiPZ)%x@{b1VV;kIbWpY}8qh3q&n@G3^s2#U=nZ#>LuniB08*IiMwF{?IN6 zF$4tS?2syhxeN|=LK2)@uv9rm^6>vP!K>iiP90=ADL(C){ zq!Kr9hXh&8|DG<)J1secM!|9B7((431*c~2@IbF7kgU%it58~`=^0wi9tAK&z#Ag& z+<<{`2TOw+X^Vhd5=%_>1<@(8(W2&zVi*4t(r^!G$vUt=#EI53wt}L>09;YeAnZiW zSCT@Xrgx}gu4$oTq$4Lo)lJy>gTKSHXvwAlh`E6A1n3o7Qo+Wr7y+O|F`{Gc0^kVP z!-NENdZW@Ci}j_-Mo@r#yZ?a@%pEQ1Bll$blq1OqD!~35{GCFJrjJH0JAI)9g%(9P z;O{UkS~E;8JAL+%LW=^{;O`V#wEZC1kHCTBQFt_ft-(b2MHC_u(xJA`3NxIYg;s|- zp(P6tM1h0=+U+MDtpJb|*e+5`6UZ{~9er_FC_xa~5hkr5&>5vUp%MkyrTKfhFz>V^ zWjZ=E%{?)cMA{#j&hUji7^2?@4jfSHB9-d`A)#pm00pD|K!L&!O%DYQz)YX$0PZR{ zNdh+i@pzC=N1R?15`;ZxU<=SR2<}kfe+Ae>`3r(Dx3uKh9|Ij?a1(P!`iaR;pX4M9 zHM}i2s}O}MO%H>r0=2P%U5HtQV5+pFl&XR(l?j9$fLVoLs0$5s8Z>cA`IJR6{7G; z^H>N~1uETAgmKxdLNL{Z%$6dRZYjdRYbI4th(eVn`l6~prCW;d+1go!V5$qzEk!Eb zQiKE9R8(i^7EMG(Re@T!VB9sU5QSHor#Pr8Q0o>9m1Y%!sV-=?sC5g5HdIt+=oU@% zLREoUw_rpvs}O}(n#VGzDp2dz{3rvw^hlw)Ae5m3{VKBx)4i9dhd|5!YIy< zGC(1i>Oy9V^oAgr>ij4J6rxaF5XvCE3`n6$ac^c0J}3lJU5IXxUfZKko!1hALKLbC zLK&nd^vG1_M;V|HOm#uCMXd#JMhevk%+Lbzn`wW=2dAyC_{;Ag@GPNn+FeoLNL{Z%oh3WCejcn z%?~r6QZU_xXczfCBr@Ikfd*8HLYF4euz_NQAPNN{BOrnb`EgKwKf(n?2n5Gh5w^C5 zI=h@qHO)1Rh)$-htF#HLXg08UICRStOUcGe@}QrB(0C}Bi1>+`YZyNLmo32kp(VqbzP>=T(4a3fJy0bWcg-jOQ==uh zMqtMQil9sf+n{lvq6*`#c?wdf)5KoWqo)N{2jYT2p82 z@8dG-QV;0PL6S8ie}(DLnluB@SpwP}J)0JcyJnW4(4z^u%%;x>X@k@F1RS`{h+48> z+%>lxOqQJ<$EOr6%uQ7S=) zqY=>EP=cWu&Ek}n zsNQuYzlQC9KbB)rZrIx2B-R+dtivbqMu5jquCm!~FOxxFhZ1 zyOnMzhu;$?Q+x7^jy%lOj!f7ra^%-o46d;_N?l(6k><<%B!)_72ghLD8|#;C+N$m# z)vZ8ZVOBll8a6VunPu5ayoCfRYF`s;JeDDR+i3^C*IFy|lJSQ^d1Ln@2%ATc9YR(2 zPMuKZ9QJLwda_U1d(38PqE5CifF<;|`jvwz9{Eq>?0SA~W%0(CvF9CIc7~5Hw)B}o zqp$ltI!#yhtnU4#lTSv>AIdf_7wt@{&>G-qEfzV-bVG@I@7>CS!-x3sqfggZOL}Nu zam_(%zVXStBD_@W-HV*eHMXj!kPbF{*H8{}!;bIrKJE})V`TnFkRxM+Zc9n6ZHsi$ zxYB3`2gB_RLy_$`b-~ASm)Vwva_W8lFnrOu&xt4pBQrE&0w_p0rqui zeipY{er$BRI-#fCF#JonR(*4uql(4NzAFxHlPZRa&ZdpANge7*1-OYbSY@BjD^yua z-X^%lU8&l^vs*U(x25YMdM&FAAG*dkmjff+-wyTNO}#45h^!SlW~SZN*6VBeD!W6k ztg9c*w&<2pQZat40X5TqO?N(xNWMrZ`TV`0DBZE!Z(pqt}ly(|PBUE$PUMlJs6wz7>u##=70zlb(6^Qqc6YOC*axo)zySF_t}a34bK zsjmFN<%(YshR=ErBG&S0?!SNbirV#@pwjNR1SIdj?sW|f&^N+;d&q)>9)0KAR zT+LnE(#jR}OEFj;cC(UJjnCJQt`o_q7yHI~M0k@zdP%2!hmA*|UEh!L-pZ=c&-)(a z>ZNlgmIroRS=7R;CgZ$=GdSx~8KZuYn5uHR^W&-fr55PhB6yGDB=!Qyeu3oy^%;oW zIqd>|H^Yu=%Y^y)rxje6`(S%G<>FU#gv?vhCy%^;pgE#WEjQ*aFk>%zGAzhzbyV<4 zQ=?KigTNu3S0PT%%!QSo6g*RX{YycU*(KE`E;(VzHaB(y!Lx=zOAqtNH+>G4T@)4T z8?}fbm)Gy8N#0WK-0yc|*70>m+db>y)XZ7B;%nn#|K-C58!rOufM;` z#T@@@JlVk{%V1)KT1CZ;`XL4Oav875Q?0o}hYIV$1d%^0T$CIdb%rt=_J#ZDOMI99 zaAbn*Wn0eL>Ot=U>9@}V?>4r4|FSJ9G{oc4d$EC5@rTv8U$wlf9Akzr+GM)pn~e>g zeV6EwEbwK1?~r{fZg_=i-&KY)m14ZF*OuwKD( zKFS3>*_kaFd3G$xV!=&mJ9T`fwF9fvuNtz8h~3nQH)EP)Hw&;RX*S5|I@` zMTJRX`ss{W&z2|=ZM*r*XG@fbJ~{Z45lB=;YGH#AcF-#y^1ww?AYKOykSUa;M1HnJ zO$|YE^vFPt*c`ZWQ;FFApI>#80nc2+JT9=(G>gC$C$=>2J)K~S2ZEKLab0kuhZN*6 zn?pzMB}~B<|*B+jS8Vme3UtGanpL0#~lW9FdkgS@0tLLYKSar*@u5l4Pss z8|N&#B~~Z?ZCS#43m@wyi}=?1QH{g=nYM=+Gdpv$HoO+xWM#9K_e90-@mGsY-PASE z(d_)YMCC*sZBG6O;9@EtMK5(-n-fXk&ablGps<7g@UAr(5qELo@x5;pevQXn40*ds zG`jc~$7OTTLOCI=;QdXvvyz^FG$>qu{T`nFNy6z3jpyoIM-{Ta{<;t?KFA=IeR%n| zOD%_ay(%@HMLb(>B~@XkMW-xDhjor&az5)}d(CHQ!`2;o@$EJB49lmC^2&SJRyJ>p zd!_a+c&zuJD6hZF^>Vz`;Ry69JO8ZR>tD4x;;Jqv>4e@nqV?_Vn-&j_TIFV!UQxeT z-iFXT-l`&LkI_R?V;SoTO1%$r%NMP=(7jxC_M$NJgufGC^V;o^ zJJ0H)R+MOHE}HPqWNtX2o#1y;0l6w5jn(s>jHJh2N;Jq?9{q=Q;vh~cJ%D-8V3j}kGIWj;&%W-7!q51P=! zKui)^)2F71>L>{=1~&&MCcwqE;LdPG@L-TUxW8Qi+{7*e-i%fN5C6!6w+&?Fp~p!r z{9OnDyCNhE(HJj;geK4$;x)5Y<^~7}=wHH~1cL8235n?w&LC9bffC1{2ofOOU=L^m zF99VR5P|g!Whc1-6lEul-9ITi36KAqN=oEt-hz}J1i+<;-qV7$o#cHIsgtx_2@L0g zwcUE>iEr{OMb%mTx8(1b-8$s-C@1P;swy{K$UBEiYwQe;ZM)0=;^FD3pQloLHYs;5 zj-o@y2&kKHxYobvka~)2u(?6y8Y`jRaS_%V-xJ~no2pGz-uD*!2D*;Fo$8!m)j8Rp zEEimMdh$zsUC~apE7d}(!Qbv)I3pde?xvh^WSA!@X4?qnWdPz~#>k|nnS`PVYBczF z_uGj{?i{wS;icLy6vjl0ZKO(=xd!5MTT+Z#800uK#z!X3QpRJIo^e?{s-QvpZs$7I*DxVMU}hYg*b!T6Q_Qx#`%|ijJK8k>~s; z@9uh3b?bqza~P*n>oJ~vIc|-&%>^b;etnAP9OCml&3D51BD%Nx8g?Mn_=6Eef&5)t4RjaaUCM#7$rQ4GSLbfzN z=FE?4-Q#~?rBw182bOMrUDMdfbB31JvbQ9o2hziy=dXGBYh|Nt#+Plci}hIVH9UBG zdoTXB`jZyaD^dQw)49GcM9;lZ>JrWQx%T?97w=b_%kScKY&p5o`6l|Y48Hqk%v84lBqzwj#Ycv-SSdp@vrmTmlD!dPJ4dimF#=Q?7K(ud zGWasvzt?tQwC?}$!%DHb1oAHF4(~v-MC&&aYVdLgxub{l1r)5>Y4K zU_z4QR~=oEFSqAF4_h>TcjAM*O6%bWK< zJnp50`@MJgdh%ooA@ugkH7C-8<-|s7=|8rNyohkHiI<+7bnB7pX}VI1->Dc8du_29 z{rWt?HyRQlyWd!|o|6oUy5PjMMkn*&wMeG@H){eGwa{@%eJ`hC9 zY%LG5yyR(F&XUly#AR~T2DP3@6$ej7Mwe@+TOSz3B<5}Kh>31m>^rpm#O2oKLA5001@nO>xp3G<2Nj^SN&1qP6B4D6`Ld4XAg_phd3Wx7j4H?kAwwl$J+kM}I_s48+)!+M3Qmq`?VJPFIYsUHP+)&0D(IA_?706Fq z6WX1h8*sp4!58D*)g(5(Q)~}hSu%R_wL_}@GM=*|6gBDLG(fDNdXjY=H5a%1^JIgCXvey>`z zeW%j9FW6t#E-dd}@#y2LVAE2(e z>J>)g>3Kc|MBm=CtjAw(y}Xx}J?rqD#;YnO9B17sZN5pm?^qGLHkGN7TO2*~({#AP zoSrqzOfxiktOv1==RW4@l1udI1;@AYOK+A|S|PT0)%x>m?{kXgbc$OtBn@~!VWI!B zKkhsieFGxl9=*%as$RdwXha*UwLmnw;qYy>fW`beYm4L)S$aJ`(=BVQxDv@JZ6P%o zd@?oUtDSjSqJb7_QSR}@wI9|Ka^$@jCbtWg#2=r0Vk>eaxtw`_N&j)bj;)U69oiTWZ&||dj zunH6nIdIN-o8MQ=P~!{xyB$wHc!cw0=<$=!2NWZzI#o z_s4uaapiDH$t1U^Q@gj4hk4~arlwE5*-nm481r+XTxhkN)8%}&M`R^U>qNcjPd`v* zL+0JTt$Ib|sEm}@p2r$5N9t^~-@G4@dm_UWw9{WSVMles{-(@g>x#(@D6=nYkuUl> zSBV>Ahb~~MJ~?g+G$)8(uF`b+5kPlna#7hTcWxVG|F3c1Ho<|7$5h*Ea`_5ZKaIIq z6+X(VoLSJ2_I-c!qhH_dsZA`&dl<#kjD0kGKYwp%?{d{Qjbnw_FGq7^23EI*dO6*^ zHFC*BZPSpm$>RoNEs4;FkAs?SNO)RXa#~1rp+s0ce@2$RsYw*z%k*wm{XWou($bdj zUisPh1H*o;-A$Ft{VWefba;8^xo!;U7Vz}o39=$Arhl%mByPvO&(HmLiX#)xd8|yw z+*fORwqvv8RPAt&-T4C|6K?y*nehj7c5ALGj@{LHid%A@ZLI&>z6+;bM1)*^oASxF zb(Kaus@ZP%`@#MkHEdNIF z!m`*U_zdlb+qhUv-U&b5&VIt~NY-yZ{i>jsC-&D>uwt0aN7CONxO|1xTJ4>Hzd9}+CEH@c{#2?~lZo0H_vyOc4WuzgJvD(7oXm#xllMC&I z;vc;-B)tztP4XSq!)@sg#Q0zBTJiD3#}aN&BgY@+!4DB9lwL@WJbsUOV3VL{gIQae zw)aw6QaZDk#=FsjDc?TC>VIFuD^r+E&~# zYB1T(|CFKiV$IXCl!Lk)4@3~7go8#?jc|#^d z>e!=wPI-w--|ptTXf$Rio|oEaF=&86gt=_r&JxIPpUi`BYhhX&u`Z1Fj@-&0Z(JqS zQVx_$T=zfOU8SgWTkpfQD!Tq+;jCSoYFmbiAN6>|=M!%es$uZ^T)gx(JbVpF8_NQxwn+5bBFvKA93GwjRFP$5+noGD>cJGpvvY%a0b3tOE&7oCkyY*a zQHdgSZ(Uu}jrfV({c85^8$#`}9P?xPA3079tqPADY%G)E51W|aiOJt8J{OsQRTT=a zkb@cXLKD);JIm{Y(8B+MO~89LaC-ookU01Ua6$~BkhxrFEhTdP!@u?2{wH)YPuxaH za^Z2C3~L{3nj+iOC#T3bQBCvAS34079}NO?CAva)_qwa+I8-jxzRAuJIdN*|U~}MF zlQpMKS=Cx>_dem#7VKVr>@s)chMe*zJ4#<~(7P7@s_L2U`!i?H@0-BsnpH2>$x0jl z(b6-BUu$<}%vJhIeR@YhVoUw;q3ScQxUlvTEZRZ^xJSZAF7%BYJzP4R z>i-B~7*!kd@nPj-kBghL`u*6FpILYn32y6R&sa6WacXzk5;wHlJ8^Z#@cfjUhcqJD zziyRV>~-d+LENtOD?-;;q$y&fEuV_T#4tN&yZ#n@wd6@*%d2?X3%TyKN7|Ksy|r7T zTT>+Y^{LhXkAJpijEj0kry7$*&O0P;ugxKX!o;0{&%ODQ>+9V;__QPkwb^?r_Dskd zFEhPxNxjF_EGav4&y}BA;>{emflqOr0||aRIk(8Q;{2<3^4r+A-3YeuPzm=QyB>7r zJbR8x%95WGTUGj>;y<=z1$V?u#HlOg?`qi4px-n0=0(0`D%*v(fol$64)$DrbXPTq zq2K=fZM|=s)M9O`gBJ@#?(Y1JJw|&T=B2)qJMFO6ee~+;XLOTA zv3GVcs$_*bm+i-I`H`&lF;4l|Q%sM=?k!on!?wBH!11#t`*-K=vizkZ6VkM{z^Avr zVB~AI`VOtvYsWbyvMVh+lx25Z=w(zjF)6Q7Wr;~ky2yFg`}iI4W85;@M{Ne(Q=~-v zTZdCK`CKE8aGh@5xWz1oomJfaecsP5`jv}^m_EfGj!pJDaORQ$T6HN8-*H9umm{Jr z$3N{{i>leaF|R1?QSug_f(V(6le>o+7Y!S^lz)6u+`C@Gk@0=q!DR1=Q@pxioX2wu z4BN{6%2t?u%oICQ>$)UVGmuGam7=k&*Mr?v87D%M#|%!bKg00YA9p(;^R+II26NpN z-;nZGSJ_fyu1kO2%Q0r{;aKvp>f|jA%$_duWnxDQuJ2hlCS%!@nX?aHnKL!|t&1l; ze1FrtHu4_>bHIwtiOhk&5g(-fA7a^{>P*LK+Tcw`k^l696sbkBot)Pn`&%b$X5fwF zgh@k>1}@MEdu3~f{U*;HR-Gluz*wGgODR?Vh-x?DcYP;mH{*i4e=lbk}w(`*Zs?=fMdedCs&456Y)6)C9)wc%qzh$+l z>9Z>SQ={G8RkvFtN47bues@yqRjZrl ztR9)z*&q6HwmDb1BC2W7*E@JjM8a9h63Hf(R(I}UxI<`R_iAZm5Py5#ki<iXTvqz7LVqC&jd!Fy|7_;sFS<>AE+!B&qM9*K+ zIa<8=g08|_4ubbK#LEkD(WTMXC*=7IzpH=DyQxvj^2BtLKw=;3)2-??i}vkJL={~0 z=Mg+0J<4aFTi0=E-$aj%?XpEDHJH~4aSX}X?mp|Oxvn^H8KX!*C);z|*cO{pkt@F5 zWc&1)ciWQTb9_@Si*FRJb8~#7*0vdu-EO&|_=|K`y65}*m|*oxoQ(5`Wsq0&gGU@} z8@>$so%858qnv)}9J)8*%-(IB&a2wrVE9Vq`8IBJecCj8g=<#FGhPa>n5=v8VVhcYSsfpO{ zJkMGYAAUtp{X}bdoso52%7ha=$IG40i~CFST)#IcO&z~e7MrWFL;8)66(`rA(aVP^ zfh)f&PQ9&*4_v*D(aWSi(*B0N*pDYyk8C?H?DNh!zjDLiSs~n~MeL>-tv5dWD4MG0 z=r&gKs0$i%o7`r0<-oR2>91CDZCd0TVWGwPT<)MkpYFuBdq&|Kd*cgNZDbW^W&Et9 zGm?pq)Rzb~y~f9~W(s8+?`54Ud--rkpqqS2g!sW zSDWH4Y?RaFslB+?$o1HjpeL@5oGSZ$cRVlit9Y^6UYmvKr?AoMt|*@1&nz-#Dw=}V z>qNI6%ocaH*XZZY-f`t8!9=9(ZC@L2=Z;uEjY;2$vfg#VwhSeM_&df$FIRVtE_Pwx zbF8}aXSKu_Yhcks#r~gro}NtFKD4{WwEF3z(et1kSo8R8oiXUkk%fw@|sZY{R4(t5p{c$Rfc#u zN(-(xtQ|Pi$7kQ-%X;VdrBjd2i=4bVRh6Ofk;}LVWBO3Ko9SSemEqnRr{$^=;d?iJ z8vD{}`f5^DxLGmwP_aQ(o#TL*TH6t>VZxvY0oUSw*H_8pn3Q5-@4;OoU7g}S8GJ07 zT)gPVH?oXZbY}TTIW-XieUhp#Uf#bG>%<*%lwFvO@8TX0lMAIDpLdT5aH^$~wa_;HXddqCu16aJoh}{H>Iw>JRT=Kz zG%`AQvPLzhSyIxG|KQ%?hd+3peHC-d&==-4TCttmU0?v+db9WSu|*R(7}O^FbMCRV zyQ8&hFa`%DW3Ig`YrjLkDm8OW&8C-k%1hhN8?ppgJi621B;mOgJYRdd>Wx)ooVIyE zSboA*BwZzs(bKf`Tn77&Fr9hd=VEzj8ynY_t!q~EGORrFMppCEh9C{0>l2m|SsrER zP5UnoN#EGu`=X@jkz=h&j^rx8+P=`>_}xQ=dM6t<-bh8(8(NddV@#j)BVchu0eaG;?kF~ATv7drwe(<--%_t* z7_RodUWK6oj;NarKK==}p58PyaQg6phpSR6{wa1Bn|=}R3%0!y`4YxjJFaoDT7y2)aY-8T4>W$kRX19vPs!`$B$eBS^)0D$8Vmw@0kK*&SUr6UZyg#!4 zr^@kf#~!~|%u2XxQJmajMt^XsxwfxcCvS2zSSwaEc?t8k@663FjTF0I-|J&57jh_4 z>@ra)J8Kwi6mrk3y~ZNFBx;L;YVxxSo|b7XP3t+C?QS!E_Sqfq5%p&MlBV`0w*lrkE}*QE4q&yWx+VSf1i zR-Xc)Rdsbe&(u952Yr=#!z_bmLXD|jw~es=TV3;8ayTx}{uM3lt6aQao(|6{7Xc+;*;=9v*;Ouv2!?(%kC&1PKkPhju8l~lRb)A^OM3gN-|52iUQ&!tBU!Z+Z1)--{Tj@r zx3l@R8E*K%e%VzcB3G`0%97xGoFqHQ>@!`R$sqapH8b~*Z{u%+DEhAGTWZd)R8dLx$f?T#`fl zA)Zxc4|Es^3S!|!3^M@+M--MyBBX;e#3F(8v4K@lB`I$){>r9dqemwQ-|2QHa z`|bEdSBTfGrou;6Jy&{HK8+yoeh&`I`=Julu-0TTYqPZ+n~`^_+iAz&xS?}A;YF*t zaOEl%_?CUwL!@mSgscU(J=!6CgWzrZyV=Uf_F}-L{W6%LLt*c%US0bB`*31J%dOb> zfEzc96;#%TZb-;2|7?AC`%t2ZqCck0Cpl9#ySURb<*-1wa-FvS61)EW2imw}x!NzS z^ebBX{#)X%)50F7i~a3#o$I|V9LvJ{_R0sm2`)OBdJvs3cKG-B$1UeE0V*qatST=& z_$Y3VtsCkY*p1!Bx*_D-L)NXD*}5X0ZdTqL+RI)g-(@g#F*g-+f0``qT=FF1T+2X* z;5Ao?NT*SD-e11g{dm?+b-cK|Cn?AEn_%mXGWktYZE6XUPP`Qno8@`0ZmjH*Q0W=u`i+g`!cQVyVr6SZ0)&y%C;?0toLZtv99X_OdO{f6b9Qx z7}yi>Cu_D{Wl38b#}zFV$C8mK*s5YzRe#&#MRC8Z-R6Br_0SW`Tb+Q|4;Hs$7X4*vVrZ2rnPDR3{Eub1np zp^rek`#_CQ^W}8LEcU@;?SB11ygN)&ajV`Px9?b`KCEjm%5{#O>DtPpj<I49U9XYeYpbr97S6lt?bo36eZ5C-@A;k(@PadM z(FVh>!ENpOO|dST$2btruJPXSh}1l!W$5;8)8UpA9G#JAms^`JNO;jN=ewH3+8|E% zEc1w+v|3eoVHTt5_i>9|r;QdRr8+*}c)-lsiQ7nfnKrH=h2gOMqm#Bc*5olIoLTl& zw&gF{HMR=5h%pat+I9I2%c^wK8f5!8{)*_hZnax2OSqo)=R@KBtp>>qHb2Y5HPi(p zDs+C7Dz01nc#K#2DPQr)P1pPxkN6%58d`VY#oPT~w=RBv_#@X~?F(kcG>2cSu{om( z%H5l^3OP8_WSNg-^G9f?>7^~-bZgh@7;UQtm90&#Put&m@8dIaDUMha$@`+-8)JgZ zz3ed+CGq6_Sr$X%6lMJ<0iCOilo5zsTRlI&?+ST1#JlmUYskHCXq@a?%hD4iCtZA> zeP!Vpva!|J_xW|n>Xmw#7P;E~{VJUgZ}*0z=v-a*{YHw%Xc4dRg*#TIrGgxyH80|s z@lD6i#c4CiF0b2bmVVdGP`Nq$$G3;!w^MP>_V4K9Z{0{0Sv}ITrmIu7;I6?HZ?`bH zo-glvy$6_*Up`e|s>ZQ=aFXjtx}XXh_k+-pVhv9Zjf9RN?I-ouh3k(-+3S`TPp+=3 zK5$zA$#-Wt#_IX~w+Y^HCqpAnoz}Pz!#{eLu-xB?Ib`6YJM;E~(%X`lbe?fWJr3x2 zwk6j2!j2lZ)elUAEY!07WYY}$qnvo_$0o9@f}R|7f4TX_xURNAXE|<^nY+C5*C|WS zHv*DgY!jWSyY_B=&^5l5|03de(uwcfmp&JBGNgEJUGMwSK=(F(jMbHDHulA1u1j}5 z*nDnxeM^99RKb${0+SbQ6)o~tD=B`9cxQ#)d~w;&tJOQYH(XGuh^e)#aIa+aP2bU>7di@>rJLx zaAky!&{vz&90PI=98V9Nkne1W-_sb*stiJM*(%c%G5Y!d>rP=?&K>3+Z^XKEkUV@hmAq0u_uMSovdrX7 zSa!Z{`%I;8Bcq?;|tz3`sX2Kr+69-m>89tR3 z{ZYiExq5vpLqKJ~B$s}L?o+dU>kZCs>@?b|7`IoU!TEva`hEJZf>j1ie`$|u6DulQ z#91tMLH`x!FZv9D&R5)nOh4&T*p~}psw&gNpVrm*I-vEoFB+v|pn|)M7QkTHv zj#+=r^YWFVuFZxQ4V+6;Id{dVJl|(4x^iihvR^@VY}6B}Xh*u$KSyihOI6zJUwWC9 z8gB`UTH9EQ+BiX<6W5Oo%PSR$d}uM|-kh2%dw=PJNo1_osY@eo8F0-9J?t^3KJWOY zZQxOSFzTmkFtcILY8JcPeJ`VucG`Tb$aKS9Y|X#5(<6(yU(<(oB{zcxy;Y*|ORNL? z`oNRiY$w&8v7I)dLk){?Zru4R>e-=q&eM59zX?;{?>h`dB#LjW_LbT+w*JABrek>h zU&l;V%Oy*1XH66O-kCTwE?2f}9nZ2C6T15i@8q_Q_dGIRvpZpvGkE3p+LpX~2a^}Y z-E#<)TGZVq>ihPm6k$^fU598#W#G|61qEG)TGNt0UuYSiTQaiemHGo*_v1!w#&1V# z8=r30UMHw@uky~-Jz5ga9(U)R+a&7m`eophW?+uimp1>%P&xJbVs|V2!Mx^vyrzy+ z*(Tqeg}>=~cHAy)UH;+V(f$#B3v}Z1qk@SFGQPS;ynh{D&3z;;)i=>1?)(8UJh$PM z#8*SS7j4+=@bq1}V|&gTwDp`fi#y+3BE#Vp&yi_7k-IacJiLW2@qj!&*>4P8uN8ZT zxzCI5+KIf^(n;EUqGFkq#phymR*OmuS5BmE*-JWHWeGz+NQRcYoI_-4? z%wr}^?F~y9!({3)gT4p04RLVAc6=)M@ym+sy~@GIm^j?!U;G$SaxcOWKDhN))RUl$g zs+~rFQ~#x_0B5*@y2PkF1dXA1I(4oq=_?tdPjf^{cBM*MrIq^%pt78-g18Jw5tWvf z6Nj!ulao^v2TA21?Uj<}s)x12A|$pWgsF}*!u|}2xBs0DDFsOcNVOG*t^t*il@*r+ zzJRQPyttgA?7Vy!lCH#ppOS=`AsGP^ z_Am4Nr6j3*OVUn?3^+}>Q1>g|+`%MDk~6g3W*D`6E4pE)$d)~Zn=xU935JG-wF%2V z>V0rVZk4hfZ5BJjFYLZ%eMrdOs?Odo^r>BoTg+-bjs?YPe0hFJNA3duigFueTMy|RN!OPxLfipsF|k{}Bp4JVx&=FwTvMxV zGmlCNdh|+mt=QS?o-#=VSME6Ow{zvST;bO=<=U<^N7n*@((8FX@5HCe0CBb}E71=n`(83}rLCaFgMV530H$d#ro>3Nsy zYAg*HxEVgR$G>vhz2tnEWmStF%KWDCqqWbF>;}g_oi!Ny)bc&)L*fATZlTE`4!X(T zssrb71&24T_K-H`O=QL5RkqwyYhG6~#eLMNTzWXG&zNuRn1I9jjsEX@P8?`xyNA8; z-R|WJ&C9)XYThd!7iWoMSD)QCrcU>A{A2Nawv2q*ov0@?Y#DKaXWKHOC;yK-f(wZ)8{)RJn z?81Z+=Y_HU6UHv#>^NhWRYu(1Hboa+^$B76C&C@g?AuGUva$!8&t*-GpFYFUb^6_j z&X&R323>;zIJv#KmPzLA_!D?F=1(tG`CEE&m5#b!j~>4tp`gb6)mG(k(Xa8ki5EX5 zE8po`y0@;n$>w|@+DwGanr*pOzVDs=`9g~sG!$<|7LPk%A{@9+C79=S`-Ump@syzK1USGS^b0vx;;>&ydTVu%g)lK%iPPPRWw<6Ee86Lcs@w_f|^j2qB7w-vu;W8PslW#IL3VnyQ zS8Uu}Y@Xu4}0Zo1(+;?T^=*Y^G0eXq6T*mA(F&N9y4cLwfp)0m;zqvbm@%Xk=&sA~piLc!cT8FpUt~s#daoW0j z%WMqets)q=h`vn<5y%PXyJGV`536)YU0DnBebD>(#FXxVr*UUJ_0G0RS3mgCG4l52 zEqp~p@W8TDar{blU&4zKSjzV>WS zzrOg8@4a(WWs^!sKb46Pc4Rx*n756YrAnT` z=42n073r37DD!%Ps~yG}T;8x^^V-ZEJzdqEAvY!+qclvGHLA9at=HOywx5(eaZE@% zJ22ENzT=0dNr_o5pP7~p-z3LJ@!M*VIXmxv50J_p;;l?ZX=V8wbrY!Sez>(;?A-p$ zj~}hx9C{ycQ=vi-q0V#f$xUH=M_#XgRfLt!=VxKByBb*%KGhtj@4I_caOMAz_Ri6j zX5IF1Y&#XJV%x0Pwko!5+qUggT(Rv`>{M*~OV_}Q`n z)?91OxpG%?jP0yk-k5kQNC)`!;T)4a7f;aZ0fRh{aLTkCTfefPlX)?1+GmJr)3#%Z zQDF<7oVg=ObOP5dLtGK)Pcw!j=A-J`_s1x!nY_X^d0xqG z?W&#^?U*zVJxe%2Sefy5W*wb&%wuAv{@?iKwX%dAd9!UI@8Ppwd@WA zGr(C_T>&Iu`rxu|55HZ(LF#HWbF#=K!?&uES?JTTDp5yL)ML|1g;kmpAedZ&uzg}c z624vH%}`#=9op{k7M5jhy%-EeL%F7Xe?E_QHnisLc-H02g?BkmP^(?dOL##~3Ib!= zy}vA!(xSlL+M9{e}cOQ@zIya9MB z?LlKCYp8vAG{h$$0Dmt#z*iD-8Fr|9dWgJW6?cd!hhj~_O7WxWo(cVjlCcWv*dR|@ zYJ-j@ayn_#e5GL(`jc`o^cvO0#bBiUcH&yAIR>RFWnb}i;KSE5RO^d82hpsUP*Wk! zTc8r^oNxA=wM&aLToIO|hOJF=uP6OT0mMm{V(hHveX!Jt%aqijOveRW89$>w4ZYJ7 zo#-O=pBPje#3uFiv{M~Jue&Z*j)(wB{xu*ALw^7FyP8hNLEF47(F7)=!c z7Vu=5xr(nHcC1tii?XOn{Z35H#N=VPy^6-G2;1mNRbe?HF|b#cCCDkF@3ftg1+(En zywOkAL4;g1ou_*;1`7t3%=k#=FtF&sDJuvj6f~{2(GF9)-QAMDyhEPK>A3d5XRN#M z!^j9;SA!r0%l%$syLwGNF;L>>(~c#H@Il~9&h`9N0Y?jAAeaf{uMv|Zb9^iEbu?Uj|?AR?c*a@m>Fr9 zK4dH(Fo)*1A>S-4Of*b%zey+m6+_DZHp%T{*!nL&q`zn)|2xRv(bRvAXBnC4KjLA* zXQcZ;YYg~IZ1gnrOdtQ!vwdJ&_P>os*xK%6ddyz}Vg46r_MutA6RBjX=)%3px)AH3`1JO2@T{%v~uNBs6b`po|e$M<)irC-nc_q3OhjrpIZy@hIW z);rCJUK=`k1)ycv`ZVORc?oFLXLnZNXkRoOfNu!W1x?eV<|*PRN3g(~@w^$a#gp3Q z^}lX`%gxysv0-~{#Go<4@zRezN|Hj38nS5cwC{8@xn{`i=y-dP`mJJv>;n(uovpXO zm&{4pBwcHcoh=9|IhQYa-spX8thB7!7mE`*JiXNvM}58Km>`@L@ZPK1x2>AxLV9`H zI;%eSYCWzjW#gHpPVnfZC192?HvOC`O5AdX#{^+_C`+Tq1z4!9iw6>gLSD2}5&wWQ z7G5lOsX8C&_>h-p_~_?;(C zQEn?}!LL{BKnBIP57ciNIviaake9AH zuB(tcW|Wi{ie9AT_k6GziTk8eg<7GnR$(=$Z5ApH#$G0u7%U*vkr6uf!_DZTDmz%=1Q*Spd1%lRh%tXamiZE_6NdJTG1H_+)4U(Xz?$=Y8U7PJJ$FG%; zME={v^YP(shG;6)G$1B|^&(jvRdgX8rFUT<)f|QTZcqD^?WEno)(UP&QZFcj&4E#o z9q&<0F8Gz|ZjWcLDc<3TucJTWKIddCJ$LbP})~Qh!l*N zjBBIdnYIaF5QMHDT!LG>5-knn{UPSXkBgd8wh86mv|^AMHmQGYYEU zb^)9q#Q-Lwgj!i&VeXYvP%e~0FEb(B*w>_klK|jgny=D4m>#aV7J*NBd1rM1PvtdX zh=_7OHTA|FmZVKq4XjG@m3}Z#5rRWCMYqjtjsTM`y`q_stIVOcNAEX?^L<^{;HI2q zJ72^t`&8gTkq0o{=EL`_kud`q?%G+twj%wCTZ@8*S_X3w*ms@Vyc==-Ek2l7BW)ol zKn7`#7q`;MP~E`}W(lmkbW&?vXCN6_ypjqxNO_2>4nSD(Q1Dez&Mi{i=R_pL)BH55 z%wkF@JD+n{m5N5q56(>ip!#ISz}uVO<@<_RUXXH_AwwHgCjSrpV0U#u52Zb5N7UmB zi{9C3d)T%%T1W2q3co0tN2UF*EV1hV7xLN&>M{g`vJfWLr##Ki2I^(I!=W&lQ@ec$ zmnn?4Q>PP=vaGLp>Pc-jSqReHSa3}d$QCXV`YAVqS^`CEMDgZmIFSvc@fxVZjg_ZfsEuE#l)Yz!syDW$~Y?7Fu z%%dp)rbBax0y-}t6R^E>uX6KD;fu($HH~VStB8_PMDon*L~=&t3iT$DLYc3H*68e3 zm)Ciny{VQuWIG{IMI|H08ER_RkaWFD631A1Y3t_Qeva8_;1w27Y5yFq!C^KlLCOo; zOQ4#X>O_FCH02%Og9p zy&W~^*&qW59-VMrkKV=kyD}f7^p;mM!Ox{M5edzLy~7H9(1xfnV_OPU+)hXPd9g|G zZ6bR%r6X?W3BFAIG*mqlmjDc70EaZU{gVBdN(ZjP`ovq(Z!Mz!c<7fKljD#5S;c7F za_qjhOwqK9$864#t0aUnzBz2Nx=>VTZaoA9=lGYkB|u5}4;&D)z(59vz*ggaYColP zb0H2p4ny(@58uxYh!aGrn59-Izi8gIODKS%AD?-N*9D9cNm_&rO6eq%#;P@WJ_>Os zdct{ij}8RfYC8A?f#=Eg`*Y_&X--;`t$Dj|nT@#EF~>71Gjgg+kqa^dtM|$aj0R-! zmC)k?`j2slP7(D%s`uW;muXNuAZ!cwEy4$qIfp-ENAaNyw9FAc9lp11k23pwC%=R# z%%8|^)lq`m^a{X;_eBFoxO0~N>U)V!xa2cC6rtbJxq`h)|JH8hsYL==JQybKQ~!;% zmFCoIM&GMBl_b;W)L~K1S0`tZQ;OX6i%uB6<^8};`?-g(vw&!C=9m3ql2G^?IEzMV z@uxCEs-Ti0hWQ>Fb|i#!cM zq^#rxQ*3M}!2jqLkI*@`oj31@W8)w0Mb2hdgp zZa>&Gs<_1|I977&pDop>phrktHrSuT!s&yr@Q0(Clo(rRAo*<4umw{)cL?rOLZ%K= z-5&|3VA@m%BaDv(6yN-xzuFHpf?7y??b%~XXA>OGAYtf?Fx=5ZrpZ_CF|B;9UOjd*Qi<dZx9T{fdu=1fKW&CdZL8|dt}5@Lc3zuD zO@PN8uQkG-6qLf?!mGx=S!$uM()8GgyG+12YrhCCl$4I*_&FTZnpEZ+05JPQWPWo! z&WK>pnBI$>G}wJ6(-z!|QGFGl9s7!nM?}KeojFXmx3!DJy8Npa;VTpoX(hzpfrQ@; zGyjm1|HX8Op6*u~_m{#f<1bd#KQGMw2_*cNjQ!(-fA2Q^YHR!pTKFU1>OarUnON9p zK03qr46F<^>>so+=8t+X0~-Sk3-jMY1xZs&(~l|ZrXQw~f634PJJA0-Q20pU8JO8= zKD=K({?gMhF|mI{MMp#b_kFMbS0I1t|NQ4`!pQgmO+KI#J;O&7EX=>wgr1RshLQE} zTVD#lhR=UkOB$H|n}zuo=<;hr{ckn)U%Th`_5529^6waa|FGcxCvfyT@?iehZ~w61 zo~X7Ky~+aTJ*iV`oeHU+O){zzPRLhn0@ofaVY?QbBL+9WoQAo>b*Fg6l&*c|O-nv< zHR$F6CT=COy~sRpu@LVXJGL&hXrgA`kN-C9`{F)PWDC-Y=c{L z$0Q-ycD1q8W@HOXVT5CW#@|PnAsMrzQt}$i29aI-TRIS?Z{+WpsM;FKo?FdzX1Q*` zClsjL6VFsEfg4>H>!d>cf5H&?=YImL!S97+t2S2(iCY6F)BQp=v#oCL`N1n{ zvR?;%PapKQ<;W>O4Rb{fy#_b=(mDUr0<=t#vC$C9&0Ej|+nS!tZ zf+_8qo^j47Fz|2`=~!%K1+CMUZ_4tL;}nlCL?IG2kZ9tXD*K1q!7n zc6Tp5K~tVrLTPO{587ZEu!DbH%IRD3k77SGVO^$FEkAta*I&5!2^jYDdg8~D7I>@( z%w-27p1%QpIl#p~W{4+0gr!O5jAgYmL93#&E(l$#us@#Fy4$WJ}RU1Z)BAWZ| z?fe~G@Qb7%=ws%J8JW#@d?jNk%~t;?z-ZU3F_|Y1MV9*ex@z!9=gcD6%M9g0YI!V6 zU{R3bi8*+cJ#B->>oy%PH{ODZoziZ3zQ#r#3>bHTScE$PF8x~9w(%XQ{cno!NXov( z)uL#8v5AIDTqw?3_qW^WT)rkXh3p;USguZbhm3YubYpedV<>pY_1{^X-Ne%$arT`|n*oZsBxN*>cND$?y z*!;J0Biao!i2 zT27#>qkuf;a4uIv??R{DLMT{oZWt#VtbO+)OA4Qq{q1+JGoaYBAHU_9K^sxp@q;5q z`ypxqxzCydJxG|ch;^yGa9p$~T@2wSW=rs2(}m$Cd)tGfV%u@(5W|Kcqq)l2dJKR0 z`cr0KTU!nhp-Jn9j#-q<6+5mLXk+AruTcJ3!K=|Zu13R@RRNIv$EVe=_a5s%dtX4}C%;>IAIL2HO zVYrL0a$06sTP1c$(ISPkVdHp(#Q9b#)2Vv|v=3h$K6}hzg#F0BxeuX1E8>*z9nAGN zD=z7;*q9vsj-ydOGeXe71}vlSXrk76<=5?k78okp`Iuwbq{-dQ7FERk?nqi|<*kjP zmry}kR=wc?z)QfBcY~@0vKgOahj0#Vq1imq*PL2HDm_!TMkykcPiVO?qMJz*=P}Vw zKfsWM)=S6^F`Y6I%c1gPP7q6TEYqg&M9V3?#X8@Ht#bK?@_O_K+-XG42#Q^z$+43kCF|q*1QK| zt37?PaE!6a)w+sk z!PCe^ej0IPT*dyPXK_CK869OtXMRa2@MWZ)^03`r3M()W6l~rPWnx5;{O&p*@ErC;W>ny^`a5gJ?Gnl^z`PqeI=<>27_SAb= z0-bszc%|;tkx{zx$a5_^+MQY^xL=%w%CdD*Jlb9+29H!iX20=-mYSJVt<3i9(IL&w z4WpnLO%?n=_Y#P{W~T{V=c4G7IDo>rMn$4~lhDkEc@H=DVjpOygskwV-GNWih@Wl; zS}>+9)eZgYH@BtzsZf$#9wicS2RVmWnqAD5#Vlzlug2la7vlwYj%$lq&Nn(cWwGje zikon7!4^Ss8;1t&WNR!e;0Z8MlFhov3`%8s@;fU*8T<=)Duw0Z#dD{-w}b9Z)?PtJ z(bXbM+W1-g_^HrU>gz*#sigNOl&~nV{SFGN=zSTYU2CSxc+Fe2DOlQhC_jPTCuncbu$A zVTN+dUKAV-Ku;g~`PYQ{FCKW$VAmttiyCPb-qY)cy4f@lL!B>Z7-lse4M82OJsglD zpSUh4ta<`^e#sSSTb++{yDLh*KVyj%(Ji3L6zq9|9ePR9KZ(^e#N#b957Llj?y194 zRpkdDWfB!(YHq(9*zt!ia7?-3JF|5~?Hx3glhxEE@#pP?_v*j@(FC27y*bD01R+M> z=hOcsC+X_sLZ|@Li}?nvH+fyZM{8hPp3kTR(c%zn_sK<32{vTP!}fWq_*04rN+g@- zH$;zSSye`J0)fv1+8uK6$CfUNi|GyQir@)4jibB#0^V%xImvP;fxp60D zPMu7w4mBvgIib;RkGC9ZnKWAyO!0i%*^4Ult|CWaTZfq4^m=IYhlh?|q;B0)HipW4 zI)FgNf_0qpwZd$vTxKX+PJzAzMFdp~^$S(4l@e25Z;MWOAb6(5XxhI1TR8L&dM3Ye z%fG^*Uv#;D4u}4SLG}SI{)lsa74m-#5BOhm=>N5l|K}X~Pr{i0+)a$>kJ6ss=~oON z`05{K)bpRrqgMw`+r0Y;$aJ-im6+T{A^aBkGm1=NyV&u+oY*sz&!3eph?{eJ7-PMj z@0ov#ljb-_Gx6!UIE66|60{SA8;)(Y+01Sg%?Ka5KIx05op~h+&bdAF!=ml0GPtCQ1--h$+WIDU{Ae_B-&OhH#%}M~_ja}rOQRLk zWl6JYl^6Jw3`J_Za;&tg;JKBHwd4(e8s0&aqN zFo3Pg0=x!3y?6z@sKY!UrPYb5RM{xfV^8k)tqn!iB?{W~3X3Zi?`UX-thZ&zjJwY} zrk$fjTP6xQRCb#6#}wIxl1p!~b%PObix4+(PO>txDN&$UiSQ>V98M^=SnY1hIB;sO zH*Qv)d`rH(Yck2{;5BWbI4#47?s98c!R-?^XZ<7LfXEs9;;xNQF4A{Zz_nnxh0waw zkrhd(<&_W4SsRPWmp(dL*j6`UC`(+%6=HnR=I%Z=g+M8%S@{yWunp4vxP+9{4zmWZ zP6Ed)*47xB$9BogGR?sGBS$oeiG-c3Tq>+w%{gMVIKgGcs?}bZh6|CWQ_${4<6f*v zDi+P{!h2s(2e{ilBVWYMC^}neCvp+cVwSW>40MScmJQv-i$=*`2Hl_Z-GdwLx$7!x zfW>X$`+yK3!+-Jw7vT3!l~z-p=PE2gxTMyrj{O8y3_-U)wU}H^c2j}=#c8lNJuDXT zs?IDF+_)gvTA~}40t-3Q3MDr_MRxgAG3Jg{)2au)KB?=rQ z+ErIos6jX+4JwCjS0b zDZ&KsAxgq|Pu}fc#o<1WwmxgUqQN{jfhz zTTIje%FPCCrs z%P6zA5vJ}KmdK)I;|S8W*=ND-j`d^i68O2=OkMXap2(9$8R-z{m)sa#gLx~-~#IM|xbbhmzEZD8pRrMCG zcbg}-Wm-JXCPPU(56ZV_V}qBypn;A+D`KkzXU65_YByfGgJwQi2Ee&~I6_;hv^ttJaF-T+6mZ65y5J8iX%qGbj8O4 zC){OJI!>Q&@(zgUaJ}>J!kcVrpTasp4w873013@IhL@!&Ip)Yz`C;;XRuc%2-}f{o zFEf*m3-||gR@0c%rW5OG>gp{>PoH19!w-dRA8u+{xYAsLdnBi%GgAcZj2o2iZr2tB z+0CQ|%Q5y4P+v)=_6sjfO!eDDJ`;oikti$Emovn8+@_y6niFC!M=X)muMpBoeL7^f z@pk(fc`DuetP#Z{!Z`v8amzO7kCP{vQm!Fwy3L5h%iXHQq9es@Z1H%_xI$CJ zS+e4E7b}VQL4@A!!^04MbUkG?-lMPF;4XO0Dya}Kga$@A6HZ!y+b0Stw046>!1|#4 zEZBwqJq_5<%Kao_zI=|tdZeZKL-3sWV^VyYpe{Y3W3BOqS}k9CjvIRspk-n%Y}^x4GSB#+6?mQV8u~IAHdDzM@gmhXlao0 z&6=Bv16vJ(v_ibt#|G%feSpy)Foa2a)ZqlLKko}W9pIfuur{ZMS%-EqnhuV`)tkz!6SL)IpL&gdQ`ME5!r z`Xyr|;b#3H@8nLVn!XyYd6JoDRtLS+W0bkG)U(S(z0r|ArG41hmGj`-%(Gcd(~=^? z=q`6+bn8e^rRdbav9p=|fC)>IrC)WnlkwXacE1^MM68vouW=aS6hl9Ri5cdOJ_xqT za47Y}@)a#59n(`C$Pv1$%bcW>ZMS?Y)Mc1E(1#NB2GeaQo z840xySOrLbtfHSyaaGkb1R$U}P5GKhsoC83RYlIvw*&-jABM+nlMSq>06l3xToU=n zE&{sEcg_n+Kq|RUZ+$uSi!?vQjC`3FvjySO%ZggfHnwbQEbq^}V;y_Wmty?}H1scS z*&QK7`zz_+y$`yJ1LN+2j#27kjfJn+w!wARJ6nsG85zNR8JFc8F;paJR=yk&AVT|R z(Y!ta@cCT=c+4a&xuP{hGnXD{N(ee6x?&MX?8HNAaYhxvi<`LE(4sCi?xA5PDw^6` zzOX<{L<2*EzZ6PHvWK3+CsJj1S1COcA@!tC{gf38nrk5!ZV!prU(wN87}@B=WWn@ z^Et6zT-yGDhv%H-^Ux#){s`6N^aE%0*d|?%N%Q?oV|*DE&p24shwaa`(2Gc(fE)h4 zhF$o$UvATlM+kLu`HTgy7#r!W?#6_oh37)S*cz;w6E!>mM1h6|xq@Mu=CN4;uFcbd z2^R?}>)3Y?y6Sj@5TW7A)XH~pUrp(ERM5=jHc)2-UqBcCeGg@X!6t56%r!k^%JFEx zCC$t*yXD}HYT2ovXM5F6Z)bI1n>3cm!_$MENLn6u0#8nj*}zdkR|FA;f{GXk-~hVw zY)#Y^-~HDnP)*XQM?R#c<8skQ;y6R7+9~B;~n22v_sPNqyZ?iKqRSVW2@<~Lq*V7Bao*?v@g6l^mwPuzFU!k zaS;k^$FYeK1BZ0$HMCkiK7lV;TqVWFlBQVD9y($0bzo-8AtG8N^lwXF+eMvRn9%EZ z-mXQ{cD%VQkZ`axg3UxdkEjz>!~pTI-Nvj_<0=Hk4i`@ zN4the;KF+u=wK|8|2(9oQkZ+?S~WO@ha>ga6`I~SNB>2w(r8U zBPr8m7VAPH-0Se_8LOyd9weVYe}>qK8$z~{M3veu^=B!4ks4@fIS)PnK-+lg4iqsa zPY+Q0>MgB9H(bnCl%X6-gl7hZ%J_VuBY#)=31-%TT8-P=VcS+xKo$4Ni@@O!h@-cU zcQV0){0UFyHT`b}chJ-QKA7$Q)kOP+pZG>dw{fRmD2kiL|8#qjV1jYXiH-8%q z`A^|yrLso#3JZ)EZ)XoYs1bT%UihAb9EwSB!y;~w-jIe&_#vA(;an~7k||3LuUEns zciX7R!Y%~-IIX(0z-A7`K=&W`KIumpOew7*tZa5anR%UA88_Z zA>o9{usCjIQ*zNl`hmjBwKksn4iaHuMEws)F$L83*bu@6?xA!Vg1oVMhMx?N-``Gu zCg0wqA#JBxxsH>*Y-h|;jf5rGrGouPYXol^VX*2BCafxphc=G9^0MyI8PK1#khKs0 zq-R^a9H6!4R0KWJcb!{qtqg2mMW^z%jlMAeX&9+9KVug8|Yh+Tr#Aw)TMq)Rl8rbtnqt=?~y*?Tmyt8#{ zSSKi`YQKi8`c)DY=4<=ubfp(BF$&k|ARqqOoTDcjj2LVa&bmq~WO`dnl?@vwbcUth zosPsbWYVlADv=GwBDHLlnjQ9w@*&8z%%~|cdoju4%f_`+qa)5)=ApDBFUjTBL$jh{ zft|-@zrHLJ`XdUmzzHs}lzh_VCAvSk2*_w&y zFB%47(yjzFTOjU&VOezWILau45fxDFx*F_6Np^Zbv|f9)*-ahS?LGR{|b}{3Pj%ub$+sapEO1a{wQn z*qr?_xGudfo)yeO4XL##h%TrBne;z;rH$gm<%GnGm?-DzE=v43p%U~G!u77kNs@_d zUbtK6YUseKvs-xc!x09Godqq{j2#|JoI|Kp?!lOWv!R%;Ut{$mmt|bsEK#1bwns@Q z4TZ0{(jCQQya`+M2@+M1?Niu<3Fjv1f*u)sP36tVIu|Oy6Lf zYwSCUPv%4S(GPClDg=+5{>2IxS>g31{HdA3Ea z4>d}u^27+*)lAWd>bgMfQmZDZ_nL*$jCI840cg?)L14`60`@CfTT2vM*zYujAo_EL zX-aiH)$mf_=Srz#YRbc&v&@3rTSc}WtMghS`T^3M4C6Lu>ppyp>EDofOWU3R2t8hK zTrC4CGKF1b9s+6w;d`j!-xO9pCJVNCZHnwLb>)1&ddxLEw7)-q2WAayll`nDeMxf! zhsRA=DE7qpme?<4S4KMJZzajPqS<>HwEyzFA-QBl`)$z6q?ws}E>m)GSa#F*PCE#* z=xJ6M{rmAq`TS9M-G0c=#pv1Pq@thD6IQXj$+aOljIfUGn`${t$DEojMK}||Mjrl_ zibx#P(8hD!!zUNI7a`quK1K#@{Hf5$ZP(eV?z{txt5kaHP3nT5a&uIOWe^1ms zq~!gHq2##j$p$}~(t*m40?n7)=TY1pQ}UH`y3f(pu;r?tgjY|57y%*i%7brYKvKK|o0GRRYfG zg*IXg(+;M#>)lW}g25s+VNVUd1e(*xQQuCA;-PE~7qD2=H*zV2O*`TNptn~`rf#SL zHJbV^<}RIKaSQQO+N&nK^*FM@XzN9ij3akn&JpVSd?;{yp$#^Tg2HhfK87qetk`Os z&I~4u9J;S@e4qgVG6! zJ1-z#vM9dqCvI@&u@XHr;Bw#+8Ju=*y5l`Hj+5+UhNFu93W$bltj@QObeEJUq{=rd zN~NiupJ>y;9fe-fz<0*urS&@mtrav~ut?m_9Zw?;QGcr^K>J z4td>Ao&E5L8!tmirwtgbEDpCM3QIeE=v_VmU<^Bvm(%Xl&fM5Fja?b_`Q)!6ip5oc z+oEwj8Bt-cSn3w1htf;bBsOw|#_4E*pMkuZ9UH8l6M7RqpGTcKXR#ieiYY>|YeB3?~D&kAKzH?9axlA&xg zAoPkO6)=vBkM_-r-f^uk(Pjrt17eu8b3IaK8^d+`>{>U zbNRaoYiBk|F7R5zwG6`NhNx5QK3vIY-Dh9&{4mnAB!-HC7N+rof@bnd_Y#aWR|F5` zi^V5bk7ut*Vcgz!1F}W?iqsHIw0qSmvyn|Ca>pX>QcW+v8763Vk+u3g5DVAZxG=Fq zlpl~x#8AeNEf2e1SW|)z3Y;oK5%QRljn1K+^#l^80bgj2caIBL%~gd}O_?5snF|?f zsZR(D;Oo`zuJWs5xH500a^?`Mrlh1YJZ{vxDj}ZeyQ^xbmCm&S(01;)%E^@09!L9N zt*oFinhde2;o0`T1^A&#UwXuFUA^BpakCuPECUFQoFFNCkJE!`#ds|5)_xsBzDr_P z=XGzEGKKKv>@^mKzeiBFFHM&Og0WYIxo~m0LkT9ITdf}XMltif^-QvSF6j(tu}gjD z5ls(>9$-Ke5kBbrNG{BYPe53W2p$AGTU;GEq+Xn)$=KX`-s;S(jntG$5Lt&jUzccxS|Ci!70hE*owpE)KdQc}2Sw zxkkZi=a=Wr@`7m?f5~n!P~JQQ-+U38qtlhPL1x3@4*qT>OwwcX;bfrqvdRwnkZGSM zjdrvJjph(TZtZFd*o?EVK!G3PA=IC<^R)(YMDF}C) z(o#KwsCjmoDX07J7})H}(Pg7nm2)+uw${1n)8<9AT`Z}GTbWnMp_x!GmhR>5ifJPB zfXjzse6~$xdYGDfR!1VkMYIN1z+NH;?JSZ6bL}&XKpo`qUk*YxdPy?Wdl&z zB`jFsQh+D#^5na7>wHLMj}5!jz~rE{ zxbZOH7(^q@0-axNG%L6G)`6gYnlrL!!x2|#)%hEwX^fo&NAqfHZM)uYQpTbWpZA|i zFv7%S-x(9UU>{{9H2ZLmxNve;XoK-d%WEgw@eHTitZV2n7V1A*rI{C+59k0okyT$z zhR^U&8u||9yC8jDU}-Ahln)Hla#-VnoD??LKHje52{&Gl;=!bapy(!+qfcqjn!-CfFTVCwD@Z^| zxV*&#@|5?X{_zYm*#HV$Zd{X~n2dbM5#n0y_pw`4&gB32o@nTUncp58l+y_%3LYua#_nxB$;w)Aj|v9dxTm73!M% zpCRV1&TI!`G?v8a;4KU8bP8Skpc*VXD|lp%b)V?;OqK_SX>g{R1nCc+7~xSQ$=f&A z=oilp9M=P+pn%ZL=9^|;1q86AmOq7QE@E>!e%pO8mDvk|(*a4vsicJET!e;N+ zctqj93R36!v~`Rx%C6pl&+^s?s4m5==@yj6zD&_cj^ zi_`%Du03fR@}-T}T1F=T71Vywo7&-y)K6A^t)hdKw=cr{y7h&RNg%}|zzzXg_8v1~z`yO{3YvMf93vCv5URf7do1I5uI` zk@dW7v(;u^+zkU1_(OL7JHaQN#~S9C6A0o46c1+vI9N2GJn6_oWn2ISKOh7X>W zWhUz1`N#Ww8;lN3Uoq_!K=RYCE1-z%fj;c*k1avMKMvDH~i7do1iK;8X~9$5kN z>QMV>K%k@v@lie2j@~puaOCP8T(oGN`tLwJ^S@&0e^C_tLX&?1^~}G-0RJ~o|7%Fj zZ?a?NUwY=>F8<5t_2c5dJYGL8emTVa_R@dJ5B_XF`=>EG|9J&~>BHBSo{j03pVe>v zw!euDm|56q=vmqRBlQ0({@;o5|9Kd{9JZK0gasc3S5{^kh7W^VW@Z+e5C56}EQ&vJ zeg5+(=s#xJGJMph8JXB==sq4R0~;$1D=Q;D>rwOmJf|K6Z3}{gy}=F&GaF9_H~{^`3uzUy!2!S6Tw+ltmd5UT&#b?hJ3x;{+B{^!oWi$~c1xokZV z)7*NM<;vYF5K$AMC0U6?4!-O)0n9WV$Qk_Rg&NZ4Tar2Sv^caF*5K)F=f-zYZo)wx zjElI8EgQCsrtNTux9xC-R_9`s0d$pM_R{j#{^!l{O7_Uc&Q+NGXne-WQCv2mOK%z2e878Ps`TkaWQ-s?T`)FC4wuvY0hk%;9{V)uw1ikPtdF46 zU`}uY=Mg{|QkAguy~c5s2AENbVe`{>5TB5#aC8ls%Z!xa&7UIA9^qKBvo%8sxqDLK z4n$FF&|AciXJ!Z()GBL`^P5@51Juqr4BR_3W5OZ1O#&E{Xw)_O-8Lu6HD_E<2$}+G z%5^X{?DMw0xL{2FT3<5!c%_r&bzwzdSL$P``=N6)9)&PYPP;SGW9g?7>#i?BjCxFZfE&xY14(jGaFyRY~SIdL%?ZY7Ts4CJk z)|2@V_=n&>`8d6?mvrD#bb&Ab4B3qb+w1;yXMxz6-x;o=Eo%L+lt7A_yZ?6)c%TAUm)WE4#!t z+t@eW`|3gVulgrPU#Cmh@V!tENe`<=h%PEehiJ=`yHM#g#ViythQCkvfuFbO#W*sh z+1rOUTUY>ycw+ZRk^A$?=%44oN50mjg6!!jyH&rJW-cMB!WVPnw9ut=>PZLHg0pjA zHzoja1AjO*>jZuU3?+9u9hF1MC4+J-NGdyd*^uT(;kJ1>`gG-J%Kpd!pzY85`5yRq zB1rGC3Jk~E6*IuSPmvH9Phbpql?fQC)xO@SmEwesrw|Okg_tAJrB$!a14NKzUIbOG zD{AnZ!(trc^3!e;vZ4c4vcJFA%c7 zu|H|r3)A(`Bh7jYM;!4RuHlNZ`~{rc8SV3rc$)CtsnOdzFr>19JiDFJ10%$R+n5D= z2H5hmLPYu5`7ge8es+nl?(&4N4yo|L9X}p&GzrZ1^?tmH zP17RVOF%*gO}mO0r;ZD@{h%j7&j#)jJXJA0G&RtSB76x0uEjv-E+k{F-1U&M2b%<7 zrxt#25`4Il?{Je+>O)m7ql+v{yI#LKswn9>#Og+U2KBm2ur^M$NEh!e97}}rZHzau z9<=XNgQ6eYIqL@J}b zs8ZEM#JGXfT2JCs(G?%5ckzaQ!*+~JFxU|`Wumm&lClpGQGksyj%<)QMJL^(khH(O z@t3Ew4VLn?X$9A+!8MeM3rO>tP?jZF+EoYj@Z};Jsv+xTiu}RwBILJ&UtPG`HJw@B z%9IV(8Hu?%gljOzKV9hJf~K9eN26hX6}___)?AT6S{m?kHwFS1yD!lt4eCaCATy>; z$HEa82d6$3wNBl$SI;$FtZVzB4pOvBU7PS#oDL^jvVdpR+B^;_ocy)56R)4r!w`jo zDtvBhi8hft(jyI}9CE0!y}LqkhJwUTatJoq%BK-zYw5a2K>}$_8S6G>u3EZnGi*35mZ+ zvo7Y%_4-R!R>Kb{?G;FB`<}DzAMoR^5d}V7oLrj?byRZ-+jl)T?JXM~*@TJ;M?pw< z6;GI$__oX%gke!0S_hW~F*G!bmT^Qmk@=wtUH84HB?#} zq&WD7fdvW*MXjR*fOBS#EGpP52e$5QCc-xOg>VruCzumb(9Gtn@>yZ0xvfq3gid3Vg|)R!z^}*AMBE%G*7!k2_grb?Kx@o69)ot31gE z`ZLq4<{v)!oG;wb?#ZvZLN{?ni)LdYrav8?(w@IPVo(N8%ts{8n91NnIwYFLi6-NM zQyU&Y6!m~9!@TpEEk(nWULXgVQ1VGf&T(YHZ4MQ>G+3z=+wiRJ>;p(NoIcGCQQQq} z-3-lckyRF#>?8L*Jg;o5ceJ=kMpgKyfb7b*@O40{^keya_RW%mO1dW6IZq(Un?p=@ z<6(r62|6MgjpJ8$4;sx3x@4bxBto`IxnBUJJFl~1T2)?sU)XnY+Hfs;E`9 zIQ71@*0c9M`|P8vngi`2?}Fg?7>qGO9O=~ZAu%i=z`4`OKTC@j-g;BttOVyE0W6D& zk;}nCRbO9z!w->M7Dq;7c@nG1ZYh^-kWwNkI7ImMZ35Qg&aTmyWSTxk!*_-jc^q0L zw{sG@7*1C6U0~NFbbP$XM8-pC9dPIiWSw>1YhR8_Z4lVx5BE zC*HBLt8O9DJp#(p~0da{b!PyM=EIzkT`2mQFxgvXCsy zq!;%DFl~Zxir$5HdCaO^26k-leyG>i`l$89Di{GlI_65?M&>dZOh6l7?7(=(%((uj z6}}E@7lxEfNaO&=t@dh7VoncDv+cCCRKyUgi7Pu`5jP=>u5Kho4Tc(hugGI#`Mv%q zpK`C_L=k3$xDCHcVmq;)Gn5CbJ9Z^SbgWrKbmh3nNjGMK{;0i*GlSCmL9Gz%MycF) zF&u2Myzg>)X%aSM6r(4!v+bMD575xEsf>nvOhiVmC842f0a@x4tUnSj02J{b(Eo27 z?_b1=pY-5=h!^ZX<%a)Ky!hz?15h#cziq1dAHu}1et`d+but5pE-Qe0GjlT1vjale zSO5Xs?0~jCGZzy*U>^PtiJz>Yi?M~Jo%z4SAp9)wcS`o3*TVGM{{~P`fGWVj38;XT zo(r(?lL?SJ&Bgi0GRdD*@=p@ePe%FkzWr}J^jBf(uYL+}SAG>k{#PFQPl4C}@WB05 z=J{);+waVio#XFYk)avHEp1#(odD~LYz$pYMNN(EO-uo%Kxk(dCsRXPXpfZw&DH4D zVI^#fC;`IWq{Com&ym$9%XpfIE`C-AWltCE~b*8M5OXnMSAn=$gL>KyiV6Bc-w z#__%tm8JZyrTuD1&&Fl6T4WiasS@g|+mXZd>wZ`DR@l*0qG;d0_zz?)-PuK4V4v;#8Qq^!$(rZl` z40%oB3t!KJ4uMtssdp4*DxL~EL+1t*QR^u>=q@isNJ;LE?JWlMH(sA_Z%;p^^Jt#G z2w3z(#8&pbmBuhE;gAclG3ZBMrj|(i+LOX0PzK$o499;&fA*fiJHkgmEf8{_cKa?v zBNeRV5ZgaaxaEW6faJs$orE`Z^KC%thLqZL=N{DYd)ZXmQmB)xM56r36)DhZIav zVj4y*f~2Sf9yn()@FJT-Non>rbonXGX>22DPwB`P z#ko%;s8gsufu1ubib3I^w`Z+@rYKWH{DR&AQV^yB#=Y_VuIE(eYYzc2d8w`<-!#P` zj2`t%!50qeltz*{Mzr8?jkG~pT@3Lb4%hHLa{e`zTo#1;EQ>5h!Tj?_<|M>$mXAt7 zdn&y_?#C+rLM6H%Mq-MTwwcZqAauX-jjvQsce+6o8VhFE-Ofv>shn6rosL6iM9w(P zpLQTyf)WmZn{L>YcLwK8jKv+?wzm=oG@&{ zR1XG6l_D04fZ(IcrWz&+1R34 zTeVG96|6@zbxViQ^vdO1({F@Q2BEJ;F`5k^TARas8m;!MaJ{iX@{Id61%9yh%dDIH zew#{A{&)Bn1V*49Sn>%u%c~>_7Ih@)Wi(h&(DK!N@EgQyiP6cEy>6h%j{PR*`~*_| z+NMFhpNgwlbyd0gOVdBIk3z7AIB9s&CT?1U-tJkyC(!%4`8~vv8yW(pJ8G7KXj$n~ z`FAKNDjjo8$R>wMu68?eS|DnWN|-Ff$}e|8nMdG+>liN@$b}iYNH56Uz;c^upj?e`<{uvVksh#PCC9oSOBpC=VC7W-0M9d*Otlt{O0&noqA zMFBgjq1VESj6$*`OtmYLSu+7cbdunr?=)(aLP|rCABCe75vO3yvzuf_+S0pHX*Wlx zKCk+uYY2iH=FL29Ov_mZ+0#~Mc1<7huNZia64(rXck(2p2RomA2%z7`x4UNf&Vb>H zZJK*?DiK_wAsW!NkZBkSq-z>!Lm@I4IRmlrSW4@!gh`Q)&(jQ!fh!-Q3xgSo?!D2` zM1l^4N0KHm0yjsQ)myH)0t4gYwRD!wrsE(u6y&Z62`$xJ<50nZ1lE*jcvA1IAfb!g z*gdnYcoxw<2fp0X{JDW_ctwy5VTZ6kk(1~#F|UQwau~%Z8)JiU!ljo8_r4lKhYuUP zrM$1)8YLi;qq~O_{0`$x7rj@G_030|&^dJn%&l!80C~qjH3y2mtbkqs0eDNFR$R72(%kh1$9Ge&g-jYjqqBp~F zI44M7op6cDUG?$G%=zw|Ws>nb%SaXygK_Tnqqh-#P+SFa`9cO8VuWV;AY8L}^YN;h zDsYp5qEdv3c6LJ#^%UBGp$jm**x>l^)WP=dB>DwV7;G(Q`9ObC%)GJam8;QCi}bv? zhK5h#BQ+KAn=n*ZU(*a?51I!`i}E3u$L0|&>C-*+ioNvw(A#S-K*xbJch_R?JOr8@ zGEnv8KE3M9`%3G-;_8JED{tgl8lnJsG~zMYdw}V9FuH>aTo#^ws=e@~N*9yH)P+NN z_CTxSM6GFsuF7*c$IcdTLgvpTr8Bist zw|>-E^NG?LbAl3m%Yt@WLY1%fCr7#QJ+P1@z}Tb#Ung3DId*YZvFxuPyM$SvwFco~ zMU}po+c~;-A|iEMW5SYs#tmjiv>q|ipTB6g@dX$w?F803)CO`T@Y=h{{J-_tq z;Z8B(H0r#Q@Mj~@j+NMqpZc(Vuxg~CL8o9HkL44iF64Ka-nT&)D+1CJD@K)kKLlA@ z!M@;13!+n~Qxn@Y29kuUVqW~FVH38$i^y&U9HNTNpMp_voIg}kd^9+VPMB=;pd48C zy-hfFg12IS-_-mAKbCSF6iVtSNVdp9+8z^qSzD|OLJ z%c{PFT`TufEVZP_?Iioz_$TseE?54*&Lq%JRbqL?ojx$^EWr||x1(g2Jj=n-S<;}st9}%pmfUI6B@YVRVr{2VPhTMs)D`wxz*?Q5@4L{-sOBr@U`FI4 z?%^$?TOK5H%hS`=y_0 zGnb+GuRlDl!5>*|EMke%zUI#viFr@6FE|k*Ofq6@H%cW(w_pZTfaZkVuYEl-#RJYn zac-knj!`nqUzSKcdTMWpMwI8!$~P5RH=gttHSl}iDHBY{hO9Ih+(H;*qFm~}E#F|I z!Dwg&uluSqmbI2(!xU3vpge-vOArl~_frSmgr2zhHRsg4BWc}l=owBi^ogDz8%RBsWU>d+3 z{ttrrHxlyO)%y3;1wcZ6ihSsxiEu+MJyKncMi6QfpcXjzwU zYF)Se##I#!@X6J=`fj+#+c()Eew;+mOjb9Aktz8;t$1q8@aYO&$pP0V=Ai5CBOodW9fNAPwb@_QCu(_bur;Ve!7=j z&;gODnTcG1RHtJyx%U}X@)iB!T)G3^lM8WKkbOY&O>LP|!IrBVrj%Ry6;w$1#DR1k zuOfP=q-1lx)?p{nGS%FkeJ|zqX%$X6MHwZ9T#RF_`+BQvo}QZ()K+KR>@|I>^{MpI zbs|5e(Q6clum?gv*Uv&^CL0}#=eoS=eh=R)EZEOzs+L^X@NY)YUP1VZRq8aq`|h?r z$~ZU!;%Iq}P{;`9Xu5~4t;>2Mn=iY86Q#*c(AmJ`%XvEvBsX=u#X;x5T&2#Z9TqC? z`IxE?UQc5ypFG0Do-f3+5}eOyj&}o$`Hz%!G27+vkD@)LQ8)0%v8xJxL`H*O#cNGe zP`R5(X6R2JmTH~T-4jc7w3xptxms``kR93m_?R0gC`oYUor@a4F*&5Xd5VoQ#dQd4 zYsa-49R`~;)KglI0aDIW)=bpss=0eooSYog%KO}=lKUVrzP0EN>ZXvg{}JDGVP?ly zIdd748l9iG=lYR)IVqs1;*p%iL}H~3t*i#i-xGc7+ZSw$FDESTO7pR!KAN60d|GD zIeeV;IjJm;0lyUG#m=ZViUneF%+JvFF7N|(R76ExM>hr*aIGKskjGVSXjF6t5!Q`g zAy4=56J=ynW$RGZ7ToZS1MwCS{p3)|d^APBoN=K;W0&gE?y79htv^x+Dc7ED`PUfo62-Nx*$~!B=x<0 zY$^|jKJ(B-4};GC6s| zMyf7COm6!<5F~YwV@Uc-8I>1p;Fxop*(Vc2IDOB)>&$mef_LSUKT3b_=F&IfG)ydG zk+*nBlWcamUL-2GbrKU)Yo7)NfvaqGnAd)XZ z<%2Z|*BNF@@CA#&gw$;hL{~r^gUKv71QG}A%9T9`D-Sii_k<@;Lg)juaXpL<=?)Ij z4vzg@f2#+siw)Vk~HB-1@hqwL4*sBRSzGehh^epDPGr`n=zB1yOh zd?j@sc{2YWGutFc5n60=L#eF=FSeI~PA4;pAibpNQE{L9^-*aZnG4Z{BozfQImvne)ibDj5M+|3}Q?a zmU&FLCx+PgrA%N!_RExdC7nugX`v0z7fpKXYBsY6Az~mO*zX=7jO55bl+Tnz!k9s! zP=18>7sve>EH5%l$WpXqUmQnS=w{DL_L9x_C^bkj_Fi*`rlWSo; zkt!G0?i3(T;Bf!EE z{fMX`aBj7S>!8cgyQPD7M(4`X1A`=0P#K-%gEUsPM=rfV4!!e!Ps>WDhjR@dUym`S zItOErl$lTaZEKgKJ4MpkU)y%eK)0N)D8?_Q%^lAHt9Sf`|uI(NYC53v9+Ql zA1_jFe7oXs6Iqsv!Da}1Ld%)5;chGlAyg0l_|0aKVfd|I6n5lhmaFRx8BLCw0gcjdW2~DkTK=;avLfq+;pl zBaeuj0YcI`+F@#12a4{B*In+zxh9f|-%-5*lbRV2`{`S>SCr2w6eYeUAAnyX|wYo z4{1O*WNa+CIV&qO8hQMFKbWXkro-Q{mw4W3&f;cwfE*I5;PtCAZ*|!d^^mQ5k>eML z(K(hfniMMI;vXAO(!JOy&DjJlcMAj<)~BN_!5?TtC&ODUkM@Kv5)@Sxxs-4Gs>)7B zf&wsD`0Cm;n5x5$nHE3RiK=&7h=QJgprh<5S?YXHcXycMEp*r|?aORo$>&r{FDb3n zU|mC3hqOase5*F}Q#@KjOx@^Hw;l$wDb?N|#Z|4wFodlkp3LUcc1|JtSYU(bWmiuz zm}@0Vh5)EasJR&4*W3t)xpkfnG*>42JAGE36;FlJv&A)hZP~iI`gW;S5q;`9ojH}H zD5w1N#eFkDY`h6Ju}W(I{C;m$It_hZT161mKC>o7#TE_K6_2RDtX zcWD1po-{XCp~{X88nj$R_!K$H;S_YV}1XpdHT;9~s; zL$^{s(fBLB4#q^^-fGP5A>ckZ7~kVmLCG$40#wK z4$El+eWTb)Fm971V)JOD^XbaziSK?WN)&-2%B1Y(QV0c#f>@6CU3i`X-JT)|(m7;3 zpA=Bjo@=^t;nbP~e+s3Br*Emxbd-BCkGdC6oWOxhy>yXvBeW8qsiP9_`bWChhDs_XS}*u8^V0_yz$oWb)H5Goo!fXYBbi$bym;)VUE!Of-4a`qJ9Gk#IeK! z_hZ!`C!YYyq{Ibu&8tdot0#A)U7a8X@w&4(C!%wSB|cGt-3;$&yq=wF2VLNCF@Nm@ zdWaroy)RlZQb$CwnYHy8hhpB%0B4YGb%kPoYu*5S46Kw=PWY_?1^dMgX*fQC)yx@p zRTzn}CMF^ALBXt%E#1uHh=)ah&8)l0M~9NW@aw8;?(w{&c`2s`t7JhpIXk-5Np@ z1J)G$wB0i@(=-3c`mOh-0Br`)IyE8uyH4{jE$*My{`d6&4s2EqPI@N52mmuPAZs5m zYrx9+v)}!Po%a8|o}U-(zpv-Fwm%yn-Qc%<*S~GHWd$_dnE zf4VCO|6&uJ^VeVd-!TOX+h4bDXKEeWuMHx-opuQe&V*3Az`D1PCSMfwH=s0xC~`7K z5JD*(MN`yl#i{e#l!?9FO8e8Xsq2$PEJ1W)fCYa-xtwe9uP-vGjiM-d3&HM zTD!aV1UGH)D>K`HfN(^{ZLIM=U8=_G6jP3W(a~KyNtRweq4$H;Tf-R2J)!4t#D#cJ zPsTBh-`wlm39%n5Jc-C%bG&)7onhtF7#b}W+)WnPc)s~MmLBdedOVen`rc323OwH| zS1lY#N!eN$4TqeqYmKx7-j1Gwnh=$LZ+43nj2^ z!i5eQx#R>ETC-~KiS?!3_Z#TkaLNg-imFpI@ORbiHn+<8GIYBi9@(Yx7-dnKKu=Kk zc|U4zn2|$Oq)9w}hsKZ%M7UeHRa)K5x?669TMWsw3d4q*AHLb&S>HO@j)Fo)*8MqHrYepMV04P=N-O^ESrig37iX&2BA>F=O1}E^a-7JrWEVV zmF8`456ktEmy8oeT-u`~7pzMjZ8hMYz=sw?fKfilzNb>_bdY2SGeZIV7(zV8dK_H! zp^$@})S*hel>pM~VIxss3=-@_=EC>^eihdVI%3C8>F^}DIo>S0=D3kL-*db!dzyeF z=lJ-tV7HJtI=d)#QsFW0_7)1sQ92zIVhnv$n#o*2H9m&{BspWO4-tFOpbSlQh4kpe zYXRKfYWJJD!L4e;Ckg!ScNrM;+i#^hp(gs#l~@q#SQ~rFq;Xg14YO7X-RUqkMYmym0fj&oc zH9hC@aAmT7@;psC=7g)8FAvAkYDP-{cVBpt?!+sP(=s$1{7}yItRG_;5wt;S!ai@= z$*A1CvX2RpIVhwKZ_Ht@dk(Qf9I!o$*~gdz7x-2+H~jAG2MB(l?!=*Ku3jZldjuzU z4YQa#2R9ixp_=A-A>Mfol$MwY>*rFw4+IwJaWpXK!nO^G1^Jom?LP_W!xrJ z+lxGRfr_faNm8{Of9SB^%rHD0tKDlI5s3~qK-Y}zvqbxqdQ`+4T7lA=Da!GAOUrw; z$(4(6XMh_*IDgYLeO57LJOjVg=sg6z6~WuA$F6H{9?aJ{YvUgN7`H-Dul1!ky2klD zx&d@^S*=%|YrzRelKm#8nHE;1_l;y&j0SDHz(|1`X}y8G2Lz9~yo7X6^WWIKm#sfa zi>Fo*Oe<^(*>rMq(K&j(OuL*&bykd!3@aqxx1Fs7S*JpRSdeNTD(?FM<lissEVqiQOl^^)l+Qsz4yG@a06#N$1(Lxbt@?o)D_kO)Sue3v)eI1PqH@@d z7kx3~{47|VYrY{kk1ma3=zWSXyO}_12Ls!ZgO*Ej#PQEN$eUn@Pyb* z;LVkkfUZ3fgudOcxzEPl8K1P~fMd!gm{Bj{?34`FQP)GArZmBY3m0!s2n3%$zVXu( zh!_L15J4hK5=?E(8EfCuF6WA*Q$dqO^uA4hkGe>S39UTHHA5ARHkiH zMmFOHb0vS7hRR@@+6Ph5TapLvd#LohAWd^d^(ktBH%_WJQ#qkVwud_mc^7aNs=H8a zT~p(Ut%I;8XBiC(%Mp5JIyLd7eo=>vzQ>A;lL_+6a>(=-!hTY(HC|CQ?Bx^oAAT%M z{k0#Ihbw)eVFS?1j0VU#2e%eBCBduTR;x1TAlKYeX1ljF}$=!CL2CoE7B7W zE||tqi4ICV)T~9HkjG{3wFw#bM9VP`fIgfuX3g^Z#~BEN`3Yk%lrWCWbF2F2*1K_v zA8?bwVLh4a8G~G6chTsfbP9(tf4kl78XB2KCJtI_E6F@zWCteNon)IgW%#mYYy1^K z2YuA>(Zq2Otn3?EqfN?JS9B9P1ktn+kO-D(FQ*170f%>Jh&I#RY!ps9a>O#;o8`g7 zhOXMz%obP^yUHu}xd_YSnEqrD$`K1@l=i4T1(Xi_`~?rlTLk#6$RG1?@cSx1rPnLj z?L#t#1ez|g6c5B?}~6S9wP zwwM`*_bjz2n6YW-!dD^J^Q;Q0XJDf;5FLJAeS=+tJzF-@Kx`*#%xWu9pP)j6`90} ztF`es=^94qWfI#^cL#=^-h$}DY>(u9!rM%CoFy@(45Ajndi=5@&FH@Q*%`4pDM~Je za8au9o0v2{urk__i~t;Dt-_EMS!;ElT&M37Zk<59!Qkgs%zLnLDHp2?8Pr4ye|Sng zHhv+8sc&)Zwg^K;#pq1jY|;_^PB{{(cDJZ(%WHGxiJalc7lPdmcvX^@p$@ zq0iRKTceUX5jE4!36-Hs42b?NnCOMwi{@z+ZZzZP(6wo!Y=JcZlOD|0x%ka>M8(J{ zKS-oubz#>FJg>|EJ^^Z0O1b zl!dF79mNA#<*}<2_IPeQDw^I0vym0+ZR$Lz6$w9bE)4m1GX{hwy@~B!FQ-pueh+)= zW$FwYk74y(qI_=eb`|wM7aje~;f~dcJLvMa!kxJ$+|H zLcF82@>w=!sxGkZ4SveX&+1zPJIxK?Y%=4%Fxg6Gja=BGBUrm@?t~esWcrkohC$tbR z>Zy(Vp6~g-(_Vg@D0MuZQh4aS2p>S>RYg*V1a9Ew%dOQ+5uOHFMLyuCud=%~V*=Rf z=EUU5(A%q6myUHt8U*?v0(O=CoD6!GNu7&V@DJCSwO)tcS@A$u<_a!@>%%7%`F$Xa zT@h>Ct5M*RQ9XrA_H<jGZi-)eFh9*HE~Zx1+}h?Vbf{Jbh>PK zBfJ9jl8%yjHVdbsk%H6gn52qA>=?KpE8HaJ1gP!c!uJ&mtgCIJ3rJWPl%LNvV{ndM zcP}fNiBzky1jf-^9T(C>W?s7ln}n<>;}6jbcJK@^&zGJ{ezmS8@=$g2Yr<}ffnx9% zWc^aM!x3fnw&MR)2)Jcn_lJ-|x8)AIXbwy0$ywvn z6ol1vo;PS5swQxKPMfLq1wv5z-gj^jUPjf+cjF7f8qREFjIC-PKZ7@CBNZoPBZ=<& zi31_oVD4w5oRS0W+yY)IR`IhX@7f$)IJqqx=pxghlXe$9^>Y-x2;0H$S)R4w3Y{pw0{OV2k)M-oSf z(kBKLZ>G(X3PFF!@}oMw(Cn;@8Jn^jIau6O6>m|ke1DkNpeAY>?X4hL!6?->F-uFy zL93CM`pxq#bt(%=_aF;2%7nvIx9OTa4(F~OTiM4pM+Vp3Op+jw@yfh|*(aVz%BbXM zdl^vl(;jt&7EmN^9c8IF5_PaAbie7cal)tq+{#iiz`L^F__n z*XF{1UJpRaVd4Oc$pf}FG650{*a2HvetTs8ud4Z{{KTJX$Q{o3&Qy`jSi`1XI%MwFysYro2l2(S?u8c-Gj)eLfU zG+>4_NT?y`w$jmu5W{f~nAzku?u0ujHywP~z>7&FdoP51A0&F|;^VSwrNo6*n}CT&n?d~g^3MMK+Q=s%hqX8#F22V@+6eKCV63rw3$Hmv{&5O?+ic)YiWyJ`G=ZVi>Cp^mmIz3^)k zdZMH1yFR>KJg=v7$kjrKjwqC>or6STI(vVvUudhn7iKXt$L?S!?8D255RGus8}E*1 zeL7>zq1>ste9GwL!vXF~h%H)!dBF@E>SmcMnB!gIcyMF$*sO`#j_nf~)Cu9Wis9pW zyIOZSU&F#I9tbLAM}^>UZ5ZSbTO2GIC~ciozkUsHY?$4KBLv1l+W{sp?t33&T0Fbh z--hSI3M2vP^CJV#MBJE2LAa;p+@tCfghG}V0d-wducMkw;a@WRK(dWk?YVj> za#)jgTbSeI$))%Jnsdev%d_WT_QsD&5*uoWe7Eh|N;~eLFuHl`0b2unQLClM%1KO% z@%YO4bv{Y9E0w*F5<{-q=|W7pu3~JYbe?ZQw5I+uN5`{eL<77wjf?O}c7b?1t($`e zDyBZYL*pWgu8;W3%CyYsjw=^|NdJ{V6vV*Xwk8`L_cu~wz~PP{V*hw_rLV1KLM|K! zRV*TzA_|56d5nfVt&bQ8UX{7EA^tcHR*ZPdmaUcZ(Yp9?m=?ZZxSX0+?KYNOL=Lw$ z1YjxZ8Sz@-=TGfm0&hu)d(hnr%S`h`9>5DbiF$GEe8fPms^wgYp0`n#J5O5d(HG^g=%zmo{GEqo8S z#yWDTo#eF35~3WKd70&A!fZU86GxhKKi+r>dEytwz{Y_^X{GiBa2j4#?H!%(cch0H zj@I_E-*{lIId0VESRYHvM;({+iEmz!`Hh8~vTHmjb*mzgz0kM$32)#naTzJpX6h`~ z2J3tpW*dU(g04zu{1V!+^5pdiUAJsPcoT7~3;9}vcI_@#9FdkSz7Y*;RbAz|JVWKq z&u%{lZ;QQ;a3h4Ad*(y}wh$i1pINVv< z5=TjFa;j{Lv$U~YAX$ZChg8Hqak#UJ3>wdZr$B1)Wm=suYdDr%B-PqFXv`;b2Nk*P zUl77aiV8-O&K4w{4m(%FU&o>$aH*Dt@Ww88tY(9wYsf|1%Ey;8L?5hWTdcFHqd-i( zXv>t;MEdSc8MFRlMf5Xh(^z0{cnD_lJ^GWiIEAT$gX~4a_(gi-@|M(T7TkQJX@f2; zge>ethfKEULiuWrvDXooZNG0J%kHW8#kU>G>9h=+L6U>+xy}hSv4@cx!c8RT3n5`J zLT2lLD0Pmqp$p5^1faoVa)E;+Q}6Vepeczk+YI=I5jM=G6<}9n&*I7_8-}{p0mbMD zx50$aeHl!LWEZ4+qR~e#cee~FYe}?7c=PSBG-R|s+b_6PH?5`a^$s0iqsh085hB+G zgX9!CAA!&WOKG{MP1CTyeY(ohU3xsvsvt$kEu`tDct@buK*aH0lz<51c5*%YP_J`+ ze|z!{1aG>Bd=WAkgRdF`^!BJ9ERMKi9dl);Q#Q%{m3|XgMTDXpQ?DBTajaW9hUYs- zH9`_MbFfu@U}Rh2P8=w4xHo2&k@VY(NHKh4%hNv0K5AX^2f=>hwzJa`>Xeh!$7KGT zN*&MZJ=FjS_!#nSQdBAa*>=6hfFNAzAB)sT#!tSn9M|T^$Ltu4%@vU$^uY66u!_9W zB3bn=9*;*it3qnwB1jD#xcLHDku8&;+0xa8AWRbaP|a%Ld}o32J()_!z3?9bdT(P8 z#6NxhLhFKn(YIPKjZpjSXWz^cTKf$g)PwoGKUAcbt?fyIL3V=?3!>)i` z(|>>Rw-(MnW7nT=`|q(UDolwBM}RfU#CWWfv#F z!@qX4eir-Rmjn1VtN^&m3K$su-K@jP1ZYeC8>9HYt>#}%RX^LS&M~WfBwY&J(LAZ!2fD6|3gsvf3&bO0c=D6;2(d-p3KYusQVYOX9t#b%SaIf zix>8ek~iCY-A*peYE-1an4jHh=2t)kTs7yAPTN{nP<0j6e;8q52l(EI7WoS&?h zb}fm{s3V8b5GZ1T1lNS+&&cG;*2hYr1T*WM~YaiP+|mWxaC{p z_?hQdQDjBh#QEx#3U2lrVyVEX0dfd&*W#ck{!pJ!C{N|oDSU7H_fPD)) zEl?50J}j9M2vOSD$3aymuAW;Gly)Dv4c=o&PQ1h8kKux= zY?I#*Usde!A(4d<&z}oe@YBOMBZ^M8urpw=WS8H@FWM7xk+2Q&(nTQCK^>w(VmUwc z`SS+Q0S($P0M*b@!tF4SP8`Q^bt9X@`@8G`ZTH}w%!`WTa9(N=zME96G>R)cZ24Lo z2h)`UQwL3%#t}^!FHClkI%_AeR%y5K`~bH8^1Vvn&GhE<=6#r+kzO#O1UnfG96d<` z@Y&Eag1TnnaF4rVH?{P0iV8XzQ5me`FS1Z)s#iU`%fukVz53`FWl5WV$1w^p8~da5zy6 zlkkLtU{&vk9pN)Sd=w6}EqprnW=?;w!iV#O8wP6KTr9`hZ)QU%55rjZdK++cBVQ^giq zt9%5gw!G2<#%@J7;V`i;T`s%ZM`Oa_yGKbJk3dgAvNC>u()GnR*?pd7TGI&|EK02tVHrW3OP{WdGyG{_B_qKcS6yI)eWUka|Btu5xf4Q z_upVOg+Q6aiW|u@gPXCD7Gv z%^ow~v~Qg<*NbylIx8xtWt`yD2LZKazaatzs#;Q!r5&bovyvThH7+I3Q0fgQG5n#a z(@zjm zSgciW(Xn}I1mkJnWr3QfMRv8sfeueuVABIPPs0P2<`XarluFk=@PH;VB^co_^z?}= z8_&h-JZR{Nz8+qQsq>Iru`gk9nPnm0qY}DRh7nAjXATtYAcB}GttQQ7XMt8${`Pg#cgyxOw8ar6r zM3VZ*_{YV~RYO(J^=B2}D|cC7uKh=T)>o_6|W zUbQ65MBj)w-5INUWTh+V(Ol9brx;uucY5#O5HyAjyoU=Zm-|Y0U*o1^O@+e(V_Fan zO0{Ut33-t6hwu(PFm{yxc4lb#7k@cAhP?X{D7V&R(m4TnLXTGyPBzheB{GqqIcKK_ zDqv&5(OoPZZw}(u?4r;1A&FdXgZWX&iY|+5?XCH4#=(mn1qRIX4oP#bw_D*72~tmB zzGE80xov$Wr+RkBb9QIoHB}LcwRpbXsu6(Q9u=a(c1kcDT< zMs|sL8%x`y_eIjvg+-_-6nCVjWQ`p$)diaOy~#?(m2%HmO}gzFK8hVNx#AKn-14-h zf6fUP6gQ8X&ne$N)`;l*7Km1_q}P0NQ03iwm)yV9zd}Ev)zUN!Q&s$ICGCsQRiyMS z(=#*0tv^S?V2&U<+V4kc+E)jY;F&#SqTaXnH~QJcj~jnT4}O&x|Ck>94Osn8dhpZi z_1EdaKQ>==%lxgIcumQUbV2fhEfqN2=s`qK+NjD2@QT;* z!qULZG||zN;&ViN(WR?KjT_x_=M6xnp+8E7^ipPqiw2y?MPO`XGtEgDk%!z{=L)KGQuOV#;@~{%dQ(9|p&!3#yha48C=p8TmyCSg z&g>xT?N_ULa@<2lpObKEB*o(8oc1l7b$<(Hxov|5pM$iDn)KREUyMPb=h19&Z_~4= zbYTB7QiIx!%N~_XtRLPd6=I2DtTW|;dlM(HaS$|h^loTI`k_K?Al5w6y`TsU6NzG% zGWnKgZ)1`AZz-aZz?5-WWyLd(2rh?}4%T-6q0yr4KsH8P8YnuRKq8L<<5+-G@NfWp-pbQv!)_gqSSw*0l=d9lu1g ztt(S!ZS1FeVnwJoTn|WUUB>Q;ORXtZ)G1Z@n2NocJ0NHSS9Fn%7h19^%hh>0nsmrz zheHp0pKO`w`cTMhWZ+-3UwjhXyOe4>suhP^Gx=oFcuj=354s5n)O$mY4}?k4l+wm; zT+5Ob=l=O70x*EtQ>OvZ7xj4Vwee=m zbMF$IR!V;o=p2#aM2oO0z0^t7{fu60wzIr?L4t?`wJrML5e{!TpWTNtgqGP$brt05 zqdKvJ^yll(epmau1Ij|!Fs>3&_nWmS>Hb3IG2Qg+BiZ5P&>dEv@bTvuwFOUNsTje)G^$BeBQw?j{( zxjUgeXKhlt+j$$;Q%9s46%a!%0kpAUm)zU~XNh?d{|op4hZsoqjcgpQtC-&%7~%RAJSUS~B??p!FCc*&Thsx3cnK*Z9A_Td?5xiTo44ZXv= zrUcu6PiI^d`Wc(7kIF(;6Le7ZA?}IO! zBjYqtke5Q21jH;&f+-3Q-!#t1-kP$(S)d*P-}m(J1J=mZ7mOb=4G!*kbaI!dDBLl9 z(zVXT!}2;iJbF##=-93`)5v-rqHlT<8CzS2;OX72!J6qNMmee8Nr`DE=~c(m_$y84 zo5oNBiRr|@gS5t9zo(Fjf7osBLJ6OPgmXS<_o5r;Bc*NAP?t4q8(AxV*VEA_e_$et z=LZ!p2Nbwt7?-A(fpL8(SQ#PaJ`H+fEdy)mH4Pug0WRt9Dm3+0hzsTfz6D0a8)eee zx%yq-&g6cBY;IYJ_*2~*UiO?TWqc^}PWH;13|jozsF&sswT#dD-Of%V?B>d6=L`w1 z#aCzUE{pTlPv?FFr#L+BxoErtPydg%cMj4lU$%z3+-2LYF59-cY}>YNciHZ;ZQHi( z>ax4Onx1=N=AL)XJ9BTm@%{Tev19-C-VwQStz4PeA`mX!xoP@#X4y2f`Hpu46qI0# z78BJW32og5bh~_)L&mKxe;K*!M*%NxFTR^~Y~SW&J!M=dow(Y=>@SatQ`X$*kFgq! zGymdi*coAd`opG@oF`zHF;YzEm2|~h3kJyRFR~iCkGXPxNJ0N8tNE{{1vx`|YezeM zL;K%Gv;UGQ|2J99$F+Yheg2lA{CKGC3;c)6{!fqpuPQ7Z zJ;Og$!s?a&RfWYz`%KC4t;~7&tFjLC%0zz*Y+C1cRle1_ue^y+p(VS}FPH7RvNicj zU+Hvcb+BEXC))-!nOux^=1`-Tjh^HgXMnBV@wsSf_-x(rKI3ymY{ z_$jaO>97>`X29ymmFE~wyyKSE%>4)e`!NTe*!TPypqULlnwN!fKXF)BbvFHTW_ifa zB9|07y_bYRO5UQd$)J{nN`-YRKA-uXztS-4q6y_FKv8zT56|V3oSJIA`VYPADy+y| zCm$4#4AeGI?1C@fK(r6iBwxqPe-OfRAaz6t-;YEEpd=T4Eyez};Q78id$t{p$X*+~ z>~Vj3$=l+581X6rC(DnfW$+SZ#KpdFdkkvU1&w`!OROAT4}Tvxw1;7N%vpXzZjK#mT$h}xfW7D#{rNjr8lhGtb%1vT#+rx!J?42m6&q^8wSj+yoGMJ?bOy-16 z=am-lxy(*%;=b%YZS%|P@PP!sEIO(anH9b1)-cscoBma@wg@Dh6$O%W`V`1jQq6hQ)6)oSDMNA=exU6 zg6R<(r$VK7i1m+f>}6X7@xuW`a=;Os@hw;L=vJcDY{SggIodl?QHYZ-4HO5e-;LLn zBn>o4J>l@@nqT!yamBWaXu!phRx~p+*lsuUQU+ttIxUPgM#Vj}#pV{f^z5t5WMg0^ zZ?72Dl6|(Z_A)jfi|^j}*Nn?nWltPQPin6n%BG^1@9G67&h5D0H8y zdNW$HQG%TQZE6HTI-lFy5DN=duKpJ&Ngk){;N}fux$AYUl9HZ!JKT<7e$fh{qgv#& za>ZEd6aL4OYo?uhIeGBE9D^1)~=>gaocaz=^y#Hy|qk3jt+0cAdDBn+^TCVKWsX}`Yh`&N#Q zhCHlNLpE?;7t8BzJRI80ahM?sfIh`)^4e|D|>r6rCj~W~OrTefb>&@lr*rww`jpl zR)K|a7Bc4n14Fr9KWB2|Cl2&|bc9hAML1C6t>eYTC63QVUZh@P{;+=kxfx+Y<&PHX z(Pya%Q>Xfd2$862uy3=|cPx?|&5rcY zns^AZv5;eq7+h&T2SDep89dv?8>jSst1n1C+ZcPe6k|UiV-pkp_q`9 z-U#0>VKfS52uB;*f#8Rr3}~{x%E~d$G)dhlP*YQ9>?=FX(HEqH)k9$eUgyB#hvG{Z zP=B>#BYhH@H~DfF;3GyamM+MLR9hi-p^(Fbht(Bdg$G?*;eYFcKKV0&TgOd*^L@+m zdz;ARcv}L&F0%bH6kp07Uo6)e-BC&hx?FEJx!47okibmj;7%hY)^UrHfEyl-kh&Xn zmP0ZTlnb+MI-1kgFd8fw79v6=BR3yUT1Prej-SW4f6U=} zn!tx42?(f`a)o~Yu*IwG)dFuV(*9;h9VxOx5r9R)o>&NI9x#IonuQJuvbJ2j$MtO7 zJU30jga{lHyf_p%o3{u_>1*U(>xdP+#4!s6U9E>R$bln5__m>s0MTK(GpsiuMR9FbrvaF<|(Nb!74Di%Jr#h+FBXSpowY zi9J@+Qa=fiieTF!U6Db-W(1jVhhEe%tC?x=bilb5EWW%rrtGW6{1^@~mhIY3t!4%T zF9X46b^qiF6z-5zqglT0 z!82#UNCC;`u0Rd5Y%sx(7KeL%!H10XI12V4b(gcuc z;!FjCOW@jXsL(6#>qy>s^Fw|47f_w*X$UvpAd&_eJj+^yf{F?Rii6z2=I#Wtq)b{z zA*>!0qOs!X&!l)ZAbh5Fv=exaWs+qQ1dP|_6!-}&jQw+7^Jb|sLH>NwMA&kvlS$Bb zD+WqvpDC8pZHm6zV^cnZu1qi@8YwNzLm&K5=26eqUXy16HI#}ots!iE?UC8O#!V$O zZwQo0EBCp%E@|g}zuB`c^2Mc=es_Dfb)#E~;yzpTUUF%kIay-XQ&LP97`2wwX@vAN zAB&wjwK{P?f|VE)T)J(lsxh@-5pj5Z}D}y|7qdobS(n5!Mytu7N#w@s<(aDH*9-~qF7zga&-^~^i?x_ zgj?9*O-PNTT}$l2ELScb*fjp07k-ecVOa{$Q<P6W0-w%W5rn0zC_r59429?FTsiEkF7NNdJblbpMba(b4@EDF4wB z{-MSGhSMJ;i|%)K$ba*K{QmF1XwdKI|39)ju(5tLI)B(5SlFmpK0uSv_Ib>3 zUXztN*Lvx|1mLtb%|->|YmO^P6O67BGZX^^w87n^eao4*KVQo0YM`l!q(~Oj&b(S* zs$1oXgtn5@=&JcA?e%$TX7B>)r;km3-rG36v3;f#UrX+ra~o=r zfrUJs?ih_r*wZ_4$uyR~);)Rj(%Bpp6kTgAEfvE5$WsbnAo=+%P$aW(e{#OuRy|T>LnJiHQACl~N8FH~2?!AY#hn}iDj zDk8_RtG9ShK|Yw@vF!%M0dL;m2h;7=-m%R!Fsm(lI;$ThZ(3FqGY@{#nM2drCzfXt zg}9b?(_BZwOu&wH@s4lNx6QDV>_4L4&#+BQ9$A&ww;0gGfzEvjOf!=)+LruQ0Sf(b z7F}hpcT;BhTR4Whl( z*v!9@OKBg)A4lnofTJTGFx}xJd52!0WtgXx0SVr{ec!x?Ij2UV?N~4lQ?v9m_??o- zXJ}^YCjSd>euK;={_03yLL#ScHOHJ?Ys`ExL?uX3d@g9|lvdrB>w~9M7MUV5WSWuZ z$nKRhDMM}2?+oK-e`toA%02g*8bQIt?+L?G_((4w#c_C2jZF&g}l-^V2lErU*P^e)TP-*a@# zkIg_U9kV2Jmu?lUdggX!(qVHZUae>;=GaIUx+F$%YDf@{)H1+1HcuooImLFyOUMO( zVjUEcSAFOvyQX{L6w?A%*OQ@Cqm~e8CV5^UOcSUe&`Zc14+u;VJ`)fU{f>Pr#m@qD z-{fx(XZ=}N-%p3O%sEb|`4gzzycXMKe#LMAg5$Q?GGT3z&(HimH*6@#2tb~tClBm! zGi`CiS)qqJWG5k|G{}aOT4n!X`NapnJg-Lw@8CBbx&p?RoUBXOUi)Mrz9QD>(i; zZvMk+>A!IE&m8pw#r{3+|9!pm17-hAZT~LrfAo6%QSSVQBI5^`{c)~;iHyH(SN(^C zwOmOe`lHpOmYe4y3iC>>z94x}hf%?^k zDHAMll_{RDY%zN{7fCBY%cd8Yl0Bx8P0*uzHQec#US=GtTh<>Bl1UkKyC&~VuU|B# zJ+$^$NXFtiz!7U-$^3wls>P#WAeo6+(_ou(2|lv7$W;kA0Ny~(!LVh3jCPEV-%cUA z*e-%X_PjN#D=|a^a6t;kvQRM4cebI2EjWcDcj2FBN6_sgZTC+pyBHS7SnzNCv=H`# zF4k4$w4&n@h0EW$aFJAo!I4SBxkXr=#bmE^)(9u@%{!32BL!RPChUp`c85rpA8GIY zJh(`*x7gZ9QqUzh_mdgU=Wg;Zh`>xz5?yURF^3${!j15pK~R&2G=-*|9ss3E)8pyZ znF8^Y5^w#TO?y(_^@-#vstQ`74`@m42Vh$nhs~&G^RqWW_7j4!|&5$l#zW3XC$TsXYAkN~m4Udj5qfAOFZeQ_Fxd&6r zn$Au++LdW+D(V5xMuSJ1*Sg^)O5Y#8jl+; zJLFUU7aOiGefOR;X1vefmcx6v<67?zDT@&7SCC=Bk5Y=Ryw?;jAn^n^%hJN+Vzz-97Upc`X1LbP zDo=w(;BS|alH9I-hg<^cE1_oZnVg8N6ld@}wk86eZk5w=05sE4?5KlNsbC0{@<8vI zeAAg4FZ{;6%3u&X5WqPLIt_e@{>(EcRp*TP5O-lw*6#M!XrD7H0$m9Zq>6M1H(CgG z$m;muxXe+Khpth(5EXc`nv+?j_|E@Q*nJlKEQ))QW=4|rGv?;O{)WY0#JCz@eH|K( z!vOVptkwntnTk_N<70^I=|RLj$RIg5N>KnI;#`o{RGTGV2TW@K4PJi=BTzN|4Td2&gJ7!jVT_y+;~0Fh!#Mp(~) zw@a>as}~v*@ujVc#^N+Kh6Q8C->i5DjRc*_dTzFH?Zhjl93{gpcOSzihbto1x+# zZu39Am0!%@*L(UqX7KB!{OcM19w9!qKhe>Bw1)onGX6Js!SENPfr0U(4e}r2MZ221 z^;#412WddNHDn4b4?`**?I0GCbE$4MVc7^ix7r$Ez=(#6WSl0}dRTl|D;ibl0Jeqb zg%gr%OCNRa5QtI(`BA83S{2qiCH=K#1xpJ=VRfyn>BlIK)|X>v80<+>u1$@O=T#1K zW%3`hc#5T?>kdVu=O@mWmoH~a`{U1?Py*7$m(@CLS2+!Z@ zxRtfETZ9G{T78&C*|#k}99~)yq^%zM>qJ&@qw!LgO4Fo-ed|%@3(gv!wAY$O;$0zoDJo2^r9G#od_sez z_YKvTq-57^f;HuF4PIXvCK6dxLpgfOi>8#7u9P4Ozns@=#u*1MXlG&Sw=GJ+O)J2O zovbc(;oV+UjJ<0hpbm`$johUUeKuNNcpZC`H5&g)%@o{HX;WU4={AVs0F9}?zr~HY zae&@9pWqQ;KX<)daG;yovKO}M3B%vBo<)KDL|#PztfkX9$QN-}@+yr5=ycf!n9wMs zYPZjH1Wq(Ok5@{i9A1`lfl=7LYp0GCwU7PKWEmEv2n4+xt5F~M+GR#sv+32^^7xe1 zsg=w3Z2>g^>kAKBAZI;!a=wY{0g6zfGSwKY9gswb>)XJo*+pm?>2Sc7ARofSxW9vl z#G;NVCf3&g$lPmGDx&+ZXkOF8fSV_Cp1u@|I*pEjGkL1DHDiq$kf~)&iSY#@sC#Nt zBcLqJ!RxWjAB(1L%to0^G*x6BX7<%SZAn7)_jzF)H?tPV1r6f&HeWpMr?#PeFO{#c zDxxr-VIL{Q8}gBB(Ek*;L#AmKGeUiO4Rkv03Z(Qfn*y%zoWHHgLs`i#bIODfhSNxTH%k0Z5yS}BIwZ^KE zOH)`~z-`un@<-hk9blFCYEO#qXeHrPD+_$;+9wwUW?4_1QyH0{lH_m|Q6m(j%} zYkU*))Ae=DD};)QmvtB=kzK)VNp-$GSQmd*!np6VQq@^~{=%D@uaAk1SISXk#xqxM1ZC8ue&c1S;*RR9wJu5X?-rvjqPouAsZ9<8nT#0Im{pIm09XCJwRg0UIHpRIb>f+)RA7Yk{(cRoJk_6V;L&t+3x7;ZMXFj8sjuqbti9pvu= zo*@BJby+X6D2CG<0NlvRH>W=@_l(SRMf0C>fAUz34M$6pq(VFF{UjPONIRjd!4<&o z!RFVUog$Nzn#FW$+0L~>e&!*2f2zDRbT|_y2dA{nKQ&SHK+p4O*Rp!}`d!vM=h`8j@OjUB+b1bXxb!xluQ9Kr>3S{)7@dNox@vKE-{2LqFW4FBEsA0=d7#E=JbO zmkxj0>Zt_%T`JXCgRsZcfYE4Ol&tQ`tD@E8XNFy9KbKVr0MTw?FS-S#7i;QQmVq@K za#~q9dD>9x$kb88<)Ny<;ZzP0Bk5BvAiV|u7d{QYeTUxY89ICmZ{IO zaGp6P@DhZ?x-h{wjW7&W^u^dQNaS?)ww43YS>A6~gTeH1crGx*;kfpY>GsQGzLuDq zOL02Sl=jN<%y{U1*6~?){0TR)tYwhu=sZ!Xv&d;UHs)XY@v?iPRc&Nq?U78<3{X=a z8{STCckDGSg46wGs@@cpd195w>gMSnJt(V_Z77`Uo=jP5fpz>IE%3gIdjM&&1S@xX ze^ydAdDTVcoj*x*!%@Qj0dqTOclUF?bC1@E8FdPwi(E*+l<+VO3-WRjQg^=5*Dcgl z;FCUNPuBQLrrhn~X`f4ywW_6}S8EkaRV%GWiencX{+>duBa~8ob}yVs*tGP4Sq{Ay zl92sklL0jh-h@Siu-k*`bv-Tp#soUv9R`CtVCIl7w?n+lQ^s6tKBgK8j<3MnOlPN+ zJsz9@bC~~pI=K>k2$neiC3L3HXlO!uUc{C-b-lydXIA=5SlpI|9;tgos4U)Jfw-bkG0PcOe>8dWeaUbwtc@>XsmC<=vkQQJ#BJsh5HRk23>R~FC zeV@L*UEN1!)B!`lD&vqKdo$lcO{BB>Mck)h)eJcgEa+l@U5Cj%-qv28E*kbRrDU@P z>@4zL{KJRfcOv4PR!w$r+5@mdK0}?{QvLo!KSCl}b{l=4 zGokxRcM_M!9Fh~Om8ybfnJirKYJ*9577#Jn@6Wvw)3}Ue4liz=zGTTWPXVq#b9P4s z(6BlH6ssYJb;5rm!+zH-!Cr9z^tnuQ-kJ zZ5|X`xr$d#i$@EIP-lUix}v3@bY6H$R&U5(Th}CJcwv&C32qdU5XSig%Ro9PFdw;Q z4kNOheIvXC)AZ1wqX@4%O?MT9N=&J)qY{ndR|2Q8RG>YnRCe!Zpo}3vNtCGFtK`EQ z=o^%yx3;irK-`rt)7e+2`>7gQ$Bg|PP}wztxep+tfy=cI)4xp8%`Qt^77sg?clZc- zW0@a98!JDSp$7@7*s2E8wb{F_M9#UcF}jN-sz- z=9pEAVa=%r@_@=%gEIfkNqZ`1V9)7uIw|-8ZR7BYhZ8ho`lIdnQS~i^Rw&xRjp9SQ zq<|gBt_)o1$Qm(PFH~BG>GiR0M=N{*V_-OaPOHI$)YuN@x}9YEvli5ocRv0KaM%90 zL_R)iywvRBM+up>QbNG!#*1(&hqT_(1EPxGl(&Aawx&XI|#_xY03%ue7fn1V5~P zWX4`os!EdVjv(JGXg`BMmV#J+EkIZ83*UjnvU@X=knlrsj$hM@hoMN6#gl$3g6`uCzOeVgO5M9+-rftH7zGlFBv~_F#@Z6(#gK$Jj}g&$jUb{m0I8 zu0EH$Pctjm7V5^>-zglL%j#oH2Pq$c0n%j+3`5y^2+kk;uc{1E9Jp=iO%RFE;0rGX z6>Qm;zD9JObQiwjh^%~!MxdSbsnpBnE_EUGIi1U0`@U0fusQJ2j7R6kr&|J%=pW^y zF;K{20BpWFq*3X#kG7Wd#2z0<^RnEdr^13V&~06Y8?5czVuF7+ofuTpjaV4Y4q}(J zl9bE>mF-=0ctag@$CTk1kpD9{?}foD4c>Q3uYK#@#5j%&@V<#^JW@w&n@lS)a6Q-;`B}26$ z_RjX+0c;N9wp~U00`C*!AX<^n)~!G8V1VXw6^^36WD`z|HhR})X>%T42T$Pk!W;IX zyo0r;@bmp8S^o!O=`T|F?_~XdEtY#qpxS z9EiJYi61vb&7fhe8jsfbZhLnoC^_x)ebmMW(>PTUm0L@#ojccMMtyPX2?ilFk_5F( zh))ScE|nHhs3$UUWeHh8yRV}5hF_1S#*YY6b?bL)cudm+JL#$%ul5agHc9Q6|UJg{$YET`mRZcZ3pk zO>rsO;N%z=p{#=rb9`2WS`J6^o#ePLs$T3h7y}drWT_jNBaY9rfq=Ko=!&wxyFF)> z(66nhETQ68XX=n{l2+IE5t0j4fdC3_In#uZ86=i+)_3F^IjbR`gYL|StX^7~?;z@L zi7<3aFe+A{$9(mQ8$pH`O6V$|#TWSk%;U3#=?;qn^$biednhlD8Q5i{4hi&x}_xlZgYA2Vj)31%SH=K6(%ibiPvw zIYfYS`$6}T;B2tL4;fZBNWW6qk~Cn>v0XQLsdEoK2h z>V_J7uAVO1A>w340qhp2?7PQXM(2G>T|A8-yZ%j>lhmi#Zvz&Cl>k5iX_7T8% zK6<9JTioCkVSq93>Dy{~>c;T>%Nu}a##f$zJkq$s+Ql&ExrUOr!E^Wn#6?{rqKH9l z8k`6p_$Ga6DeX2_&g{omLQzj2I{Hr5h3HNE=dopus?z&V`sZ6Lnw+SiaQ*d=bZWIO zZFgFr2XWaXTfGfvZcpuqgJ_PDX@(}?eSpT!?WBb<$7<^XTE|) zbA}?M=1l8x9m@W450jZHdNvo*=i?egS_m)GyE>;8*%>{_hfqyQK}F>GdrEwRO)d9e z%{>2EW)F@R^BSi4l+zoyXrCBYljbe9-F0mY6KDLu*amW4 zDvp(_hj%WU19hn6F=*&pP3}pp$%9(sO1JEbfg=tj#mkerP0jk#O&c`djd89H+=Ci2 zShy9n0EpT4ra}+A^0%k|WhYcp7-iMElrhUR5ueMxmDW7}3IGBn{1 zIbVxH6*stS%6Bv5e|K5rsaL2(Zx&BT<-jx%qCK#b0d1~JBw*f6 z*zvdvc&A)_$InhU%`}1IGj3TvefLVNm%M^~d{C46D_s9rwD1SY{s$5M7byK3t~2}( z%|m}Kf_}^e{NtX#kp0&w{!Zflb<6)BCGNlIyI`UFuir zYB;|Ug$0gPD6*ZKr+)IC1EeBT(Sjeb3zV&A!4^U5XOfkTClAOn&n+>Vx4!xGBI{$a z1eM2D(766Y=mQZJmr6z<4NS!Nr)MjnbS`1Q*P_%0^R3{0u zgWn=k#aK7t6fXve^3nl*T7pYsY>G8rQcvk)om;O>NB%IFTWpQ$hF# zO2hLA6VqdOi^Wh?JYBZ(Su%{;j;$|glc#foWT69y_ZmF=p}JGjAQt42@c{J&N}4m? z^qGgt%#$s$$Nq<4XVh4o76_%O`2wD$!#KOd8S5Mi6Hi*R-w{>64cVQXLJ!(xoC(p{ z#wOj6ED71ZhH_)2CSXjThk6ZtwhkLS(508QbWl~j*53omvM`(`L^gJ+LP_h^t6Hn4g&1bD z|HXUAh92kVr&^MME6NF2iP*ZYO?eQcu6I`kCtE2u<`=FZerLJ(PjSg-@Z= zROMm&XuL$96J}mZF|74QCA-1u{n{(Ic`CkFptxBRDZ;~)AZK1Nmj z5yJlEmtg%Ei}VlcU-c@g(W}BxUYpw6BF!O%_TqWBU&LxH!x)7S5Aj9)0xc#hK!#!| zhS!^T-`$6|kL>Ei!W&d550EPHd16r@VZ8OeT?^$RNz`jvz$&j@E;vJ`w*A}|4{)bw zYQk9eXz6&qUr7$!qTDZ5DYG8TUuf-rIa=oCXsFPth?n~Y7o9{={`K~z*yKik+vG*a zm9w7F)9tw{(9W?|LyR~+1WDUV=2dS|Mer)e@wnifv`&a{BN+G>?*| z=IbVhGMnnEKZAdhBK5S6m<&5@X_Wb|q~#};K&L;a|lNGm$@_ts0Y zI8fSi#%$y-pW?m&3Nl&b!B|2+cP$exNhri8a8$yLY52I4MG zAOgCN5S5Hz)8{H@J_AXs5V@qzNjw8CYye9Dw{aOd_D=nQ6|O^ zY@A(OPq(txjEwE-Ope?9NK(#1HZHMMWbDz;OJ=6WMu8Yyd{K&h2>XKaF0+pLl^Bu7 zF`8D7!%vydUKaa8AHdR~qm;nqc@}#qmw_cs>)jGj(`nA=<`dkDnwyM(hBSFz2M?EbvHOw&2M+J<-Cjq|p0LVXDgNU%+P}%~`+#V)(FhF^HF4jJOM30nR9NIBKja-?BUFN@0!DdH9)lS6vWtRZ=-SOAbdNB zj*KK1oC_4VeS1Jr7isfOtJ8Rf@3H9mlY&8Yln1sVwTGOA&Bm#7Oc8E=S!?TR&9NuH&Q*atuZI>wyOs>eX>$$pQjfq1b2T4-sqTxgud z*B!=@x;q-Uj`ux7)RZw!U}c#aI)850RS6&HPRM%bo1iZ|0Qi{UUTw!B0Vh);YW1~s z`^F(Oxe_KI+fVuRIvAg#kWkDs}zg7X_M zOx0*LJwK_?hL%J+uV}7Ec^*Di9v#VI5O7Fon^3H2eDEpuBZHlAxyvn#?$9F45D|rd z7+44~4HS~NBqh`Jx{&ay(x494+QzND5ZfbNH=ghEdzuoN$a{DlpjGkyR-%d{+_R}5 z54>T=jy=Hp#9_s^$MQ?KDyJ=(H}fGnP)1*z?KhE*rEYwrq>%oHp9i`CmswjcsNpQi zok7BS1QB5%yVbY(@n>eIudpn=OunC4-l3IE#4Sn+G=L->$7sqan4~(Ru9yweN5Kc8 zOH`>0lC^c11*QeLmN^4d|Fo4KH{u8N)O}=J z8n`8r1#Ck`_m(Lymeki5pDr;1Fkf)=!>vhLt6AB2ZtuIdahgTVD(;u7;nQVK@Cw2L z+o!$pTGY%*$Qe+23ln&odYIKx=>=fS=cs>2jF#JTn>vy_O@=O!}9o5Zjc&~8PJv-M@ zr6o#+g7Y~vB&2`GShbb@(DC!w9*~d8An=QkKP}*FX%=B@q2U|)Ezz_Y6AR3SUfQJX zgIG2qM@E_-A33C3T4eW6T`Bv+uVmG+VCVW8`-ZN~a&PI+*PV{C9iRc)Q(l4ja3J7= zn?hXZ8&TCt&B%TpceM}uGR1u~p=o1Q)DT;o#I<(}Cw5TVB{C@dKGTt(QvRyvqYoe5 zI*&i=S=`}sAv^Mu;~5{wQxW1!!^Wq}O{`Yt$3f0Wk!j=mJ}7F)7uM&n=qj7+04mm} zh{zoKMEUT&UTa%ytKbDPF^`R86p&40OB4)+h@+d>J)l94Z0^qr!YF<|O{TbH(KKG; zKQ@pGzf~&ho>|x^yDR%*Uy>Wse}hyRy0(69c1xAlh3x-M zc792Sf8R+?_c4?4x9sN6Neknj3D&Qq<<}|xhV0OOxQPBpF#hT?W>$ue)p$&JR*n`H z|J}~S@Mo#^FSX1+HKEf8|GyP5KiW3_IQPF2Bc=~S>OW45Ud-2o;eM`r_rrglXIfAy zU7shk1v0G;mk`Cril0JK?ofXcbXY0HsjmF~?r!X)#6B#m5!Zm0=V^MMW}V62@p&tn zW=01dvRf{Na-lV@t73r#5~J;HJD}B`8|zktv{OC9!#-!u4~!C8u0v&CU$%672levB zvccN1{WcH|2R4hw^GkxWmZeAB3#w4D>7k|aiP3Sect9xWC@<->Bm=%U638tn6B; z79^THPw&mZN|>U0ChL* z0Lv(w&nl8(KvlBX7^eD+jZ=c9hpOC`V8b*zHhAL}efs%CiTnjJ*EdY9Q8Th-7dnBj zh+FTcz#=HBKCB_KWUYLaQTD*vG=&5C<%v_cR9JYvu>ePTPJcUcvWxjTV@MDzG#79jOoYl!cp4$mV)o-8?wmbiAIY<^8kZ0tI2@#O*tvW8Xn2%ndeHgQdT1~ zTkefQjP|~!$6xzEodq}L#9{Uu(oFgW>&Cc z#NWz-#|)yylJXSVDO2xZ=ncLl_msHFU2&#@2CJ;qNB+bjBsA+;&Vy25ZgM~UY`5N| zKpB~bBc^rII=S=pMShE0{L{o*0XtGKp{`dDAyq{u#yT~K^oKD$B)tSB}oL#Tpun@#-ApYQIjes z4;3PL=N)8_xzfNkAa*|^Q(&}odVeg0T9uGrUyA8winRSUA8bg#=@hYEj0orf@-xXJ z6!(Oq{bHqizE+hdLKUHKc8!))70POEDcgzqi zhP^N{&gY>7j#5CH+dgSOBmo*sWTZ$}w=qq^N}eBLqXu*ECn6Au6S;V_*mTami| z@2{{S(5+^}Y7(`dz!piwjyt?$;4F!TIHLtjJ1&5tsQE}X{k@|n$`@lfXaI-= zZ{~<@@V+hJn|1(YNr07& z%1ksm5X5lIFe1~oG%E_$G9I-}hq*fCAY%IZ`F>u1>0RVH4=AF%#XwQ`~+CbdqOwqo0rdi_b@CgIYPMQmfNrE3Y3FKAe!PoNkJSr6TWK9(f^5 z4HoXYBA>3r%sEFpYc9EC`n#>F2QSz;h{EZNj8ZMeg@tV}GtO67T=fl##i-VJp3)y^ zP4bV&*e+5n#euv~=Vg}y-ZN9+A!ju2SRUiFY-9YP~iD@AXibjQ3fx8z*S|;-K0!7Ioue z{G+f1y6?6kl3UOW+(Aq&XW9JE=ehYd!C@_6Kt@jmWo6~XD@R#Nz(@Hs#-%>BmtryI z*4;QC;j}bpmW{W!P=ppLI4jb48tTl~J5qC&U%uY7@Y64);co|V54-prj;{6%^J?zm z?=}rg18$Y!PDx3IO8btR*K4O1i*r*j_0R&+!Ny6b?=IKZdP|tXo${jjZKQ@!asysP zW$<6}`X0qG6XlL;%Om+O@0OKZh1?6;Qe3JXcYI|=5&gw``e5aB9c_nn14G*hD`G&V z9enG#Kcmn-4Mr>DZghG$JO145FKx75cqFxnA#=KIEz`Tt;!_MIbw9t+1~e@3m|U+o z*hKvNNl-hyeX6;Cxq`yXbQ32GTMoNPy^ddQW5*=u{lWyw>4j?Z4*LvH&#FPZu!D|{ z*~1Wd)Y&Wy!+MoGu?JL31jE-?f8k1sh!l#^Glj=8g?u&Vq7~3VTbVmq48xr#gLp;X z3BV!~TiWm^miqz)yHR!Ni(FHVu%7h&bFKXF?3+farcxqjY$%-LCNi=`8f<_|n~qln zb`hjv==*hnep-9$>Gft2HoZ3*h1h{4XZ4)lnCPV*7>zGb z8Z{TXG&gCtEvKGpyvP*CHB&Zn>Fw6O}P< z@Rj);oSafuHl_G41NHi+!L{ySV``nkgrZV*mL;Oi6D0QQf)!MpB7B7-+V}67qN*k2 z@xACU>c~)^VZs9Fc&);yh{pv3Pp9{DNxA;g-C7Y2k+?cVU7j$I$+hY@PTG($%Cx(D zG89eNYeDR=fwNVzAUKtSn~D$UG>*|L^Q3f~B9f2r<42<@YpiXO6}T5H(-&e#6fo$| zWFD=3_yC^FQT%$qP#4p)TV70T&T-*faM+rtYvTFk4+R%?jqIl=9N27oOlVgNQtgol zJmRQV$nkFny{DzlxL#gQUSFYYk5*MSoy9*}QUmMcUC@X5Z68rrLuNyN%t7d(86ida z%yrw6yOQvhIc~m(!H?21@mv#USOvNsw!>s&$VZ+@8SrqVR@G*0ABAlfWP0>?S)%&b zZ8KvTo>p!OJkuf0FY=&}t4kpjW9zKU^0gzbs$#oMnc}wilDPha10QmIL8h{`mS)*X5+EbJ z3~q+}HVhC!_e5q!U|XL;MeX2l$Qo>@(IXL(^LOoTQqi%;06ik7>Do{OUuhc)U+FEk z9>(;S=+EFRVd`eKgEFKm8BZjF|ykso-rm}+!W}AN9o`a0W63_z}Pkv;IGsy;J_H= zS@<&C-~H<1jB6@l42b7m%0`L&;R3eih~YZ9tNjWkpnP)E((tiuwQi3oM?Q&bGpJ$% zN2ium8~Mqsw6y|S4`VW>SF(W=JJHqPV95c~4P$BcE)cc^MVY{<OjuF8elh+)aTlgcv^<(&gH>FUN7ib%p@Peb-YCLROF1(<7_!vUX*^ zl4rrm!EMENoRXT-_URKQN)6K7Cu$p{f){S@&xk?Ax>$+G5xlltUt>h#*PKqQ*5jd9 zI8mSd8Sj61U92kU<>zQ%7q}6rj3>bv@{)1nk13bp{gt#hjhm z=sRqQgnnOaw$>dPL=CItcPp3_DY$f0?Z_z8{z6H~oPvrfLydfOS@>W9x#sSkD@lOj z03La`lLmgt?%rm^lFfq%mf0{WP(pjJs|{q+<9E)jfVDm@Sj@RG!hJ{`WJHu3J_rz%!l)EMqjaU{%gE|FmP$iKvt3Wi?8XkWJL+h_ z0134<#oTqqmpbRM@G+XD$&?cjHO^_Y)1`oTGg)i6I0~344S-1>vKyaiYVK<)Ef$U1 zMU(vQ>t4zR?T(%>c-F8)8--a0JqE$JG?-Q696 z1*dU`;O_1k+%33<1c%`6PLSX(!QI^~lKSHD@E#CTl@!;da7NA8J~?Bkd{CPP@Y&SIt4GdklGb2FNi5vtL4%r3=uZ zbprRPFe;R_HK2)+yAUDex%qUKC=PmEW3RH5mn*lKa9<<^Nv%A`KxZxQ5b z;BmnmN(vWl$lMf8!$_ZjSl8LBpt}E9sen7NPLX@_v9BQMwyJ$?p64}?h2pJk`T3khL9k+wL zKIg2kyjx)1c7W^_B_R8dm3FgSK~+Pq2b5MsuprvTATO57pIV-DiLWa1wLbc9y1T~%*7wF*gj zeQY1L@;n3L^g}+1m4qx}PpWz6rHsH*<@-UGyELF{3m`(9KaSCoK}E??89*nGT%^J7 zLrRUM#lP=6+d``0^ap|85qAZBDD0m^?qIbk3=V+q{amPLgWw7-NNA%kzEpcdSnSZl}C~=C)$dqKX4b0)-iKdR{zcLmy|P8|fKbDfEk! zR@)z2Mx;$ir8Ee$ffN0~fO|pIdk5=X4hQYCEp@L@)UgP^(m5~~61kVk_sO_GbydyR zgt%!OLEDJgl`nE1@Jlr*yo2Rz2;~C%WRYmt4yk#C)K~c}$_!G#G3OMt4%lolb7p$68PbLr2i<#!CNkIPc}q|2{942BEkM z>?;25Otkl013f+)7>3|v1Z`@vx^ zCeD~Y3pY-WQ9DIH4uds&lS^#lcQ)V+&7N6!?qLK@y^oQi6PVe!U5-Y4IuA--suwe! zsirFnSa`GXthKTop^xVwz^~Gx0{&_~rdHDm`4+hvc9OfT+=VQG;f}Bk)A4poJe1#; zki-;6Xb`F$0Tlcl4d|f!mrgU}xado7bUWMdi-rjwiR)X(%a?)nSp{<(TzyE`Y8EyA zxSAI;rQ;oJgIRw=-L4(CFOjjJHi%OfCqhdyBvJu$`nUO2Vrl)Ocr_r(b|Y`-KD+2I zeDV)#vGb7mTJF)Yi&>kXwpQyw_`qEkH#gBu-#s1$&Mr?|O5X|d&h8OCPzn9b1>rJM zaH=RA2h+4vfx%2?2m7oK&4gfKCElKn(q<1OoddFPf-E*{NC_|ELnO$~lE?}F)wZ!e z)^zL810ZuoEtGLH7Oh_G{cq5tKjFcj=+U3fhW`Pi`h7zt+dp~`fxVjl=*$En zpWmvye{RwI`L=)7aQ}h!{*#F^KbOnv)Ya*%R1<$pFMwz+o~BKyAr?)iC;Vz5e@TSXo&a*nov=R!-p1 z9VWp4F%4zq0y=jxv;P+<0SV>*iy(jES69U1w5~F@q|)^|-cCfT2#ni^qg zPAovZ8QvV(GsSuPwdFezob>y-AyGzJt8Y<>vmdPOO9i2_bu3z+T%K>$=MME+m|z&D z!PVOoD4@iQP>aT^$P|r&CPOe3%^KlyK}6+U7(EGc_G5^`kwgwntx^|9Em+O4A7bq`s%x&&q^?vs>)~U2{Ka(?1UN|iP6i&6_Ti|S zww|OBG<)T~!e75xt&S&o(b>gDS|vukcE-2bT)JAPSE#9B=RB~co7IJgB+>wJ%#X5T zap?)W_|wY8$H;a%I$MnTRq*c;$~cKc=uQc;dj(y-q|aJIBpH#@VM(S!r|4~Y9$Ue-DS&N z3;&Q+OJwNJuBjU-7>%MUJe5io%p+Op*=?A4UnRFGT$eTlhk%73l^!LM4wL)n!T@h9 z6I4)#>q!G3887&5b@6h*Oe3||P6U=Y`gs5HQs~=uKUV3qM~fTI8TM3IHZql4Zl0b; z+CDj7S@3~TsUKHSygFKum)$62;w>p3z$I9=miM7-SUXH%kDkDqxF%8UMlq7`3}+-uzAgFQj;&F$dMA7IL=xn+D%g3D4euUJ>udz$LvCCP{MHJ%=iji9 z-+Y8q^>l>Qj0*(I?Xg-^QNuVillZiVa-lGwTD*Kq+>5`hbHD}5)f8{9&~=_mm5{Y;&Jur#_-Z`iE9IPNLKMw zCa|#CUic_i@bc8SBzdB6FQ>;T7kPop3l;}mjg+un=ITcM89DBmTr-Iv#Jd36h zOR^=dvu@Hnlsm6y&`)k6$Nit?1W=6429Nmbb_#y*DlL{LxW(t)5fdsGZOFVU_{3 z`%D4F9);{1tW33d823+QU&BY!pUm>VzJ|W4;SP4__+ z1UtTmsGJ}GzR+9h2g@&ya{*35S7`3gByo-)UrA)s2N_BYx(*=P$(y#}ASzNBVUP#FymiP*l z;dD{oAx0fuButr|yOG4E-GeFdHbpGcB%gy4f#CfkZe|GFiC1malB(NwIyFV;NUoS7 z`&<1;vSO@Lx^{sTuFWKA6i;XaiKWl%Ika!}Gi;Y$0tB6qU(QGPEVXDs5)I4Eos5SzmPel{1bAgRm5rq8i~a!d zkZp|qFVVs8D-!=p!R6--=}+k3r`gYcfDZnzc;c_66ZW6Qn}1Vq`TdRX9~a4g9|go8 zzwf;I4=$2_Q!x66Znl5wBA9@Z_P={~RI`a#0_q}s+J*B7V)iYYD?KImzr^R|`QTyx3ZEvA#*`T9(RMTztrut~*d*z$ zUBE_X%@#kOy#TeRk%&a6|Pi73OJvyArTl|#P;As2A%yRf|mpsA^|4zn(IK$lQI z)!^tAhtYd5A$JNWP>n2tFIt9n?|Vg6v-VFR+{#;H*hnOTpB`8hlH2phgBE_o*opN& zcXr0OBF~GzTwGz!2+WWRJm+?{hWzAqQ^tikd(_n@$Fh4UZ)Ua6HB#Y84P-lsM$r5e+9lSnGaW`tVx3(9a;plq2Qp zVwY*&+#3ulDM}hZSj7N3LtAQM1qx?9k>m^eQtVyJj9Glx=zUBPezzHWR*L6Ugvt4_ z^9NEgs$~?VKU2TLEg=@Z9OiTrKEy_p1-x2bL#;tuq?qX^33l_dX^+FGI6@MDD6vyH z=Wuzyver1OM;{NXTsJKKJiqLmL)NjXEJ?TN#G_*1rK;l>b~uUN)gcEc2-FKDN)s#o z7~R@RnnwHAX%B0!Z_@@T&8DDDb@i>Qqyo9h3y36!`$k?6?$wIm;gZ}=uJGjrBRG)c z620crpHJOZ5Qw0pk9|BiReHlQj;faiC?QLP^b~ADF|S||?2_bM=P)+AoJm(+{LusO zE18d9YWw)bmqv$Ab9twk9C05%rmH8IR^cu63BtPTR9e3xF??#XL+WpB>n0qXvfUD# z@9Uhq@#MvO6NJh!dLXK>n}(Seg4RwXUdkcx`f_O3-r{}_2+`<-{%*>#+{j3*VTmq9 z6n4fJ5imB;%ICb4UJkgmJ?(oV=n|FQ{X`Fk39#`;R7TkqkhgvPh%jaM#10x-<&kk` z>;ARsO3ePzZM=&e2Cw!T{9CuhTeeC8pNPPONv1HHpwksleHg+Dm0M?idDn%kPtrGy z=-oer@4GH8&l2vCu`w!Ae|aqbUMTjz9m_u{l|RlQHz{nj#*WQ^a9;Qe4*H>tp_?D!g$1yZ54D{f8SIHE$xQSD(MVAsbTn44LbiVQ_KVbE? zFBQfR2hiS-U5Qa>SkD_q#R(v)1MEiy=2{L*jf$M!yYUm%&p1P6aomfovEB#HzGsq{ zXTdzsEz8R+NdnmrXWE6veL|0ouFe}K-P}DjhqqpLZ$(T$`sOAJ8)AGAr6$@lBIllE zxbYVC`LUJfPI3tzW$@ZVh5m_NlVH!(TYJ~;dz)6Q=x{r%nTA9Qy6*(6OQq zp9>_wK%{xnMk~r;UBj#Hz!!u4?YAoAAY96R?&uh2z(0~ z(yCijyz-z97ROMsWfLDhMuwr|RM)eLw@yAh9HspY&DPP%#c-uFlYkbIlbn%Hg+!5p zymG4Ppt+@bMZ|Q`%y+-!qGu99EwWrSH$y!0c{G%I*3N(PlqKwEgCUo+gI+ zWAVFNQG&s78`?UYNl4nOzF+1?s=|i!Hd#+5Q~hXVndE67(mOf`N2yFB+?h5|xNb$* zF>8A{ri<4^`GWH);cFScI%Qe413k*^W}v;%VO!L@%X5+>4oDybOMC?WRlf#SB4H7Ru8iu;bk|w)3PagUA8%G;{Ygh;&8c$T<^mrZbk`?Kt%oA_xjl zCXK4O`G}aEp#!M}84xxC33F{?gXs4iqAfIc@|=xU6u4iTyLo7{RcV z7~=J3KDd-0Bjs*5P~l|^G_IhwDW_yvm`)ifb9DYr`E8)}6PVGk&Ovem zPFgnjo=iR`cZu`hXXkQk@5>bJDSWEo3IdJUlwZ*KPnEGG-9%&CUD^H&!UkU}wFGSBiO(G9>=TPh8j^td8zs@bCy4*-|nE1BC( z!A>C{p77);o+u;`0i76a`qAJq!8Hm^UFcvzZqe2FZG-BNqZ+C|Bs)pa*sN{+@~O}^ zb;@V(v@`J44TMg}<;z@(ykXjP?)rL`pQiY;g=I}fGQd)lEi-gf?{r?XuL=@X_)Qx?zgdM{F=zT8>cZ_-Po zeF2(&y1OxkaB$K)v~+VG0?zT=)C0+reQFLz{bUbF)zwMFm3X2>vXl^Qv2>m7t@GPS z#@go!ft!5U-%2h;Yz8bipLU%6Domgu{RzuGn`L0LJM3#a>xLb_va;^wDKr!_$7@cc zA5c#7n|NAAkXXr3e(4b{c68uR>NPIPabBCk{OZKGEG%vHy1iznU(ylPZO)u>B3t+h z;`@pQ0|F+=+h#N_X;@Q2QyQQ%u?d2OpV;5)9CK$_KWdS6_m1Oj90I1|W^xUP13U$c z!N^hkg8SewT=ZKAKfSSbdu(VVC{gwnjj5ZdcgqhYUj=D=((+RWtrpK$txM=4*6|`w zy4`5fQ!szbfF0AKixv zz@mw;%f{9|BFm$&Ta!?8?v+3{O6G8SlH$L7luuD+!DC>f+@7tr71{lV0-*zaF&Hi-qU>cNX&U)(Xj1 zavKT)rcaX}coF(@PYSqXTCU@tM=T3Yt!;!Eo2rSSCf~YDK8rs?T3t9qdb|@Nk}#En z7e?m2O`SyLY2Blr)rpBNwZbBpUzx_csL%CG_E;?>6xh3V6d-G9AX*MF8W4CxB3_K# zZP_Utf2;!1-BB{%S876x!y%YQ5!7xCx5#SZ{r2EHm;mB7FR9-!_hqEtamA#pWy6@J z_oc|#$~oD(7aQswVt_8egA^?|Q`PkLbhNot4@PguNJlXfmgt%*tlF)8+vb$Cc_15G zno;qH>UjjzIM7#nVi-KszYhIYvm5)#aEnjxikXCBbmL9TE$G@F<(HBp2*0~}Fb!qQ zv#x$*Nn#d@xMQjB$Xzs;ne9StA8v1<52yP;?vK*ZlJ)G``(Zc>l33gsaKHsMZ^|A* z5BV_m*_h!Px|AhTZNQI@n@swVGfcUlAyx2{uXSwQes)=Hq|4)c?G?{)ub(S$g{qxR&2nVt>k8|6F(d zgXZ-=ue-8vvNLc3hnE9@1{y$52@*B{^KbKU0qo2SOe~zgtSw5~nwYwi*qM?1>p{6( zzsChX;l$51`*$GZ_h9L7M{)jM68oztX7=Ac<}X@tfa3!GR0{o5mdvc|3`{_OmA`iJ z{Gp2a{{!&(eJ}Mtfe#n32>&;MPdeWFsO9?eX5U^?vG;^V)nsBHRs6l}b$DDhsDvEF z@F;{zmUdR*CZx0_->+TIxrK;0QflI_VTM#sN8^n?=5MLvK5eO+y5?V|B~0qrAdRs= zAD>oOoUf>lH3)p^>U4Iz7)mww^~s&a9Mecnc=}<+A?8xk`at7RR~eamTsg%%hOYOt z!=0c+xn@^Vk2r1@X}nU`?Lr%`MmrF3sBio7a&#@*q6T{|@o={N24-8SX0wDT_FM<; zvq)aS_c*JqVh7~b-e8$UTZ*t&0kCZDgNF%QOS>bB_siN^M>chc`#z%$*7VJCstj?d zAC6H&*Nz89V`^tQk@~HS6=6D52A%paCp?atm->jH(6nbZpZyX}AiwLXv)BG`tyP`a zDyUYKmi9tkwCHa9vessLo&(0P={$w}*aVs<9F}K$KIaq)vUvi@>qo}NCXX~zaEgNY zy*X*9*&vx=11j`>W8-)ZXv}>*)ZX?onweo)s2~GJh?EBykM+brWr1$jZvp;lUklF|l}avH)t>6ffJ z(q9GqVsya`rU)ZvG}ZtaaAUEsyDs5O73@Rz$yFnJnU$y%2y_=l=_DC`ESHlMA}gNF z&@|XGVBHj^j5!wjl?-7;)Hw%bah;gms`Xc19k4%|u&6xr?T!V1l!%{N+HQ$RkMA#6 zDS8z)k>FO*<&M_h7F6G!9l zlb$+Z%gOde^=G*^W`d#=MD}@QO&{|jr zZ%5tR=DO;a)vBL1gM!?ry9G`SI;Tqx4j&)mwr!XI2`bH6Cn%`#tsCYc4;q_oqi;rA z5JU_s7sn!&kGE=MQ7nt8dqgxU`ut-1IFi9bQ2U3RUSp$CFrY>QEHX^o_HZ`#wLBJF zh+V)5UA5(1)TWFiyAvOmlO0?IcBN8mf;p?)l;LuhP1JgteQY)tGNVH2F@4GR@SD%_ z5fVg612E$0@$RslBA5{x>qpy43bY+s# zm~|oAOtzcMj-MX*N@jbpJ6@d%zJk`I)Ipp9eEo}+s;qM^c8zG`;6sd-LtR|pEk_hY z!Ht~3a3viU504{T6vPhReQd#wU4tKy(Hy-#A4s}t_R(bM&KO7@9D4JvmH8d7(!Ew$ zvo(T_5C9N?)6Y76lctJ*_iX9Z$xWh@Dlv%!)=N7D$x6m@oL4@GLl7|xuO}Nw&O1&1 zyxM3~gs7^B46kl-W|9RCy2T`%pmDA33Dy_&CaOz}-#ZsBm1k2UaK-UlbcdgY$g@*8 z;LC0}-iuG-T*#XBWiMrO7kn)>)`LpN3QIhMImp-%P~-m*UdexxcVSW2#p<0Wj*k;G zJ`Z=qCNCAW&Z%eEs_iwXX+(D2YF6s8I;;99=}VG4UPSUNYAQoYW^)k|yd6y-HdBE$ z_;nB4wIX3I?6*(Xg~-2;o^7C(Db|tX3=qm%+Vg`m%1k8p0d-IaT*w zDI@vDkgDg=eP~uIi|gr*hSrlzby*$ zYJM*zc*s|}lpkj9I&gOMwn?lO{84n4sOO3B`lY-bI>W7W>_ZYW{ zM}>d^p#hJxu}%*a=&ZIh<-o9wvL>7}zN8vNA-B15sxs#mb8}B3<)fuqEkx<_ajMms zgwb7Bs3EW7$V!>4uADe+vQA~;0nuHnm=dvtt_>iXgN(h=L2)qM_F!Qx?QmcOgh&qj za~wf0ew61vQsT|~;dA_Drw?CCu@0;Jsv10!^m0W)dEx0xPd;n)Wn;wS%_nwAr#ynh zym#TCjGWNa1Y~O-av=CQ~fVmth8N$7Y%eVvT%1D23*^kaaAcX6pk$!my_9t7 zXII7q3;JH;BBQ;Bg)AgTX(m@`m1q-Ug`1kw8QP|7Fh0>jvrr?j1<44l)1uU0{NR#) zx%~l=stt{p)VDZJfN$KC0f$$P0l|uBT?C&|Hrh~Z;yJJ& zA-S)np4Y=mX-4aXSPU3=^`)R3ei&>K7b~#DB#Xy86<|1|EH#~gR};}uK$pvvbUosA z88`YNUlTUCgzakMp-UMT-PzZ=sC+^vI<~walJ#@ndO}LS)2j#3PWQ08Qc#C8hg9Ko z8yCFq;vf&-tc(~WG5^FI{Dm(=pTv)7aW$&eW$$`%^4&^>+8|!oz~$xqcxyYrfJr8G ze$D*_TrOr^I0Wez!o)%tR8@x5hbW;Zxg@V%bVRMd2k*qFy z(;pXs?a^0^5h&wbbn;%kAswj}mEUL@5r?*e80IK6-NJ)GxT{oGe{JRp7omf(x~1iQ zYNSbE(+!e6*}06hi)kZ7!i^IEh%c-bYMsN>zfC1=70l!)qK zyWzQH4J>kD=R>aHEa5bAgv;ZobV1?B_*R=~aAXzJI0T;yZAw8_{_du=mYl7>hLfT2 z7$jZKwsA)V9uez_57?l3^Gr50P7SKGcf~d8W>-JnepLkQDo0d@^#1pGs9P>do;~#C z#l`B9)XvQJ2Xj#sy~7Rf59McaIh3fQf>nmbj?Sgm;UBmK8t}Grttpr?6Copaov3#* zQa*JZ9^60I&GWUJoU3CFQjq1YWv({9le>q5#a?SNb1FL3-KA0a&ReB=M#<4QArpu~ zwX7q@yK#0p)h2i_g#?k$G7Rk(%SkLaSgam|sX|$3b|wBpp+pLWOdXpaerrvx4C_K6 zB;yrqqo3IK!{y0!yHD?HW!ruKH%2=mX8xP(ok`~!6AzCUirTtnc;a9a!1K$KH_z)Q zf~C#@4CIaK!CSaTVs4*R<6mOO-(#Hr4Lkm#AO!fk1tE_AdE@VFRe&aqziD=vnK^!g zO27R8_(#nh_{u+j^;6*aXMFiH@V^(Yvi%0UfCAXx#H*}a>_3IQzX?}anSO1);$-S* zX=rWfY3OWeXZshI$e+po_sIZdy{sI-eAr2tfwLL7fGfZXguhHozc#G=*QxwmzW+WI zHVzI3cHkGv%*nw303y@h1kcRBxoUF#5_20HI+>Cf+M19UTNpYT8vi!d&e71;-1M)? z=RZ{O{&PM6xJ1lAiyWZVf`x;b0RS|aWCkt~8|(kuwEiF-{?F55VFuC?Kt_R+iva-i z-(dx=8V3-RGcz#(Q~k9BS_Vi`{I+5Wc20k>_x$VZ4#3|jbprk(T=`QNfQbtzU+4G* zS-|lZ$@QN?*?|NM0666M&pZQghyI13_+zdt9GpKj^M8&6{$>BA4*aKwvakdH5`jkT zzX<*9bol4?{s*J-$EW_!F8M{|zsnc6^O-nVe(}to=i5J@`Ab6O4`We&-(LNH?ezYu zmg+z7NB_gM0A=_8GfMK`Pm)Z>8*<$0J3px$r>s+$LF?r81Ko^k#ViDbQefI4(JZMF z#bo&E`f#B9%Q=LBp2JKH(=2Q6WZh6A(M4ePxSZc^<_2JBC0Aslk(Qz4-sFblq7DYi4k5>?aM0FqdCTyYt-s($==U2;`CmuqvQ>w1;FHF*rJS`trC00KF4!XW>#q$XI;o4`XKnGg)FfIG!)hixcTOiZ-vDuK z)DwPkilzDh`-Vdk3_}rPr&uhRzdQD$qPg=`+XmwB25fMWX$L->t%;~HqXa-xH96w5 z95&yIieO#mx|1s0c{l;QLg{>Q-IKSv?WztD9s6M?5o7rgls<wdS2 z>}`+zI{q}m27+}cL~KEpf~RTWvv2>`CqkNL>-vHO3u{z5j>D^Bq7Y?|5uKT`!M%F) zJZm0PH|ypayBn6J$UqSBr=}tzg{ZXfRbmfPlsBJfYI9&QLg*?XjjU8Y)BT9?7)vQyaDLQtQOZt~hcu6jm;tI~%ySITL*P zu)@nC;REe2OE-}<4SUx-Ahk+Zc~;~|m;}4|zL{|Y(y+K!vE^~YwU*#?Rqma7Pk2-G zgOh3ma)AcxCj&^`?!fvD``Up7R)<8$lS3@v#uwH5w+1$gTG4md(-u{2F4#O>t*u>f7t=?Z!RasqvS0 zW$e6V-eWvHv4!`S@ea|%q2UkTAFVpKh#zj)koJdTUQI^saeaAiwvju1TZn_$*IkbA zNNHY_NA_gMd_CWhe$~3|3@1!WYJq>QiZM>e3>m#-yuE84%srzaBmD~JO-JjHA-W^3 zvo}R~X*ez$yj)pf_c@>fm^PYkTit@gy zDC_a-=?7^3-giao$q{XZUID#a-%^Xd^R8$SEvFz}IY%rc*G3YVD|hMxhi&(t_q@k% z1ZUIXY1gffmB4%`i%d1smXc@Z(>jE4JQQ$o ziV=X#;T@Ig5+aJ{i_6dxF|PU|rKD%O3-6tXjphW>23PW+2ZlUt)-p1=Iaw(|p>z~@ zT%hflRMoH%!4R1N{=+i`+@pR}0N728S?d1qY=utSPERUpe3|w&NEm{1 z+EYGS>=hIhaEB1lE}b7?mY&?jTlj;!hAlVu3Qk``d-6+s%3K+TQb6F5cTI@bp+9zi zeJ^zbnrAQLcLoYIF0U-#Tn<9Aa5EYZc<3*kY9C^VjyWDWAo8K3&<1X+JBsSC2sWQAaJQ1BG2MQyx|l|3<~lo+xg{^;0MHuymIT2cS8dUw(mL zaUvMk1~aC(hrR@IU@Xc7rKS<+sfmCgdu^{S$)A^^NJ&QhN+5F2 zGq$1`GZEX@w%exsH>GVA(Wl^M&W@rUEgWpTogZ}>)J$wDFTNV z+ffKUXOs#-gl62%j7)`LR;l7lOJ`h#M%`Kht^qW+9hL~>cbJsIXCLh(jZ$|a&~%&m z0xiwP!we&XSR#$|eC{v7WX(R#$0Px%Z>+!G%$owZ%w zy|jS%8H)e(|BCkm)n?{(ob9F3_=XcMOT5P&^W5EDOf#eFg9b81ec;w z&yZ%G^j`Bmgj&NV3%*_tWIh8mf;+i?P=r#~b{e}GXixhw5ycNEMu8~Bg7u3BsLiybS1 zGm2Q>fq`uxC;cfMN$U|=g8^3KvxeyP38Ee7g7v9mjB|N#3&L<)7&!eW$^=3C^Knk$ z*A*EpbqKwP`U`Mw!R4!X*)MzwY2d0@t<_xHwufI~q@*4>U2%Rmmn2KxL5*QE4Z7h# z5}h>e6)B@T!X3_gpMyoj6ncJSf*GAiwom~(3l!Ct6X;=q&4$8xnTuLG2SHwR(l^Qt z(4V~Qk}`ta<&Re(#z^u^n7pH_631{6L!u=gya}9_50J;Gs{|M?{N0kJl2t z2a{e2Us_!WI0KAnrsUbx+fS_;YXYaGc&&Twy1SmH`};jnzg3rik?X`I86@iJi_Cuc zeAKLjS4sSKjc^EmnVNhXVCu;}SkMPCx=q!h{fYq=-PlRj&`Wm>{t6F%R?i88raH7X zF0`Jcg4|Z-NdST-n4DC8OXg`QTobbzNhQGYCP?XH^T6spb0oegOhsy$9JH(&4uSaQ z^1%Ya*&NaFjwqpr2i;|QRw^EN>Zzlly8g=mC`S1c1tD!%yWwYPSr|sbfZ`{XNsbdS zTxD$Y%D1wYjcg;8@dfv<`Y9#aR#R+pM{lz!bxRy3G2=q3S2$7S+qUN!rs0%_XK4I% z(z_y6<0vvc3GPd%f^Gb7gmRLTU2rt9b2V)6%FL-TCBYa&5oa^nm9I31Y}rb`(C%dGm;3f9S~884wX2ih!VQOj*3>kgx{KW zT8U^HtF}7uzjks8cP(3nXmx0%u2PdNW_;>~;s-n-N25hS|BCD4{5|gdU%0NH=<829 z369^O_TSM-{DSM^_*H-U&lmp*F8>Pxf`bW&T7miqw%-swupgY2gMkIu9?k|}0ye4t zn#)o!bu_bcv@x_bHvJ2e1q8rR+oPfG+cY(P;lE48X+7z|6$;3v|u-7exQ3 zP*wmJQ1kIC^5U-)#GgW$S%I#~Y`+po{QMsOx$OTQ)BmpJ`@aM7zh`Lvk7xooDDH2H zCh|28fv(5Dsl~hW7rzT8Qi}a>S#uQ9%4^vDI4=giOsM4{c8XS*P#+7Z_u7A5#YHOq z(&(BN7!yWjKCr>-a~a*Re)fg|&L>8404_n_8o9C|{n!c9t(|-wCZ#7yvu5J2YPnIhL)z;vj3+Gi-g* zh@P-n3PzHqklu2LTGCnzmHTK+5c%f1)->O4NSSY3bzh^E@wl_#n1Dxir*{Jfx9RI7 zuzAx69ln>vz=E6t9rk$jWjOdqGSzkp^tPqu%LHP%2|mV0!bwymv3s_;IN7UDqml}; z_%W=M5b0>~Ehaj0Ms9OnB0MkIb%`#pW-*^Qki(>k;&;eWYmIQJjj&3GSEj0~raBC{ zEEY4j!M`Qt!PTr3&$jO&nSM~`zrvsLTZ&)m^q$B*9c{+IK_>Dtbo9j4eN=QP84RZyGp?dNN1N>CVEoDNY2PJVhn}b^)quY%0HFQ4Rm_0b+5c%xFhWc(E z1z$*l)%qS}c4r}r_hapUbk?Enn=&chk_tRRDyX(i_p4{KU!90>x|v?{M0p|b9}5&ag0wH?`KiAyYY%r0w3=cRwOp>3W%67%f%Vccj&W_0O9jRCS!YuI05rR(SQ{Xh{qIb0|Nye&)R&Vhmiom zMF!)1htjc!0EQZ}&%E#lIsMR3Z^Oi)3d zV18qI&9~*@EIA|~kb3ho^~WSC+Ru0MIGaSiSc%OtB*;VJOT2MIVF+QHg&->f_k(QO zgh9(`JDNAvqY#l~;D^V?Og6;yQFWOAP3bZ`N{|>e20x)eW^Xo_ANbQwQ>6fLtz7FnqwqRNV zu8@#UPS5j9cnt3`pkt}=`8z>EA_%dZrF}L1J`}TbTucNq35@FYYK}?_sxjv+mU7CW zfL>^}Ty+bz-nJu%csTujTZ3<56h<>M)Rw3;XGBc)F@Z~iQov_WlBd4*XGV8UoG0gr zIoo!=2QnhHF(Vgo<$gK4emKeh3Z@=G$@B5G zB#L)bG$3~{O*I%DfhjUx=_mCYER;yqI1kPvu+|P|qK|6oMF2 z3{l1IU#7fL=d{2|-xR`A;M@Qr0x_pgj0@jHfU_mPDoEnX9X&}1QYG`m1%(GoPEM~L zS+_|G)KY34%1Rl_2ljv|#US<` z|1Hb)ddge&2s*lv&GK#aJLS1e*L(N}xaE za}DOpde5SiKMvfdm_HAU?<07FV2(ds#Vsy8x%|=&q78rIdZ67Y!BZB-7s1&e!)jn`nD-S_| zmziUKkk$9CClo^nClH~1XT$lmD<+8@DK7X_MoVgXqr;CwFSn@+Q2s=h4@stP2=39- zY_Fzfob%mYq@Ee=2>1ie>3D4!N{t(x@~!D-Z_&9V2$W=G{FNluGENe`evEwLoo3dz z`QfO7K(1oZq^oBwpWwgw##+(!0N<;wBEjD<=(1=I9C4fiVQSb|u^uKrZAZC*D7hLR zg>}!;n^M(Xt$z9 zy=X9g@YF&Orn0I5JSov3KNxDa)a^U;)><*m;AzDNoRRR?U6~ zA(U{oOd~>&{?YfX<~J~FJZcJWKP8Oz`#zm@t9#3JzBA6rDZRR%R)(mut*KJ?!<)Y7|sZ}1s*xh6&EyT{cVKB;MyK)&}@Cyq$G6=_tt?-X6oqjO(OwZq|AEK>-pSejL)ux!Rkdz?n-b}gmJ(^n z#iF}Qqy-7-?ha|Bk#3M~q`SMjyF*%18s4S*`0Txvb9TJn{J9*?G3PzwzQ%vV-ffz| zc&Dvji^06e({pRj*Bg`(LS7-GT$k95##c~})(<$4gUmQ=F!4sJz_?xDiv^ryli${vZ~snoi?FP-#5sOL05c z+7Yg=DIwRifYx?o|4YNiv3Le90u2|3*^jxAr-y#vlu|S#> zTB@hF?WE4znTAe*HmvXKrNmH6bBU9<&98Wq7?Nls%B_sy4ac8~#zS`1mFB0QZEb%< zb32fLIFMIMKCLEL1@;kfz=@wx7M^&LiVr9!NuRw+Ve=UnEKp)ZJOuizqpQ>z8N$8K zZ|?S3)!cy7S*q~S_Vj_kcpCh6Jd2y@b?7tq7MnMXO1z<4fvWwdMs9o+Djm)=$8Ni+ zRNfEr;~%r2{~JI4hZSXYt<7z%v~{gP*$u4U)yluoMEU`KWc{8#0s2os`3m21CH_3T z;rp*Yh~}SzBqIwWEj_45+c$Zg;afK^knj&+1$@gfe^B|Cv(dD&Arde*(=q&(67j3x z|J})d?+-}u2QYnWy7qfg1c3Ql#3`#WknTP*u#tZ^* zHW0)9Dma5$qy2>`h}9YCAIkn``xU4Ed{icSR$2zYgQmaY^q)-`K_m`fdC=isY7Tz7 zL_Zeffph(KTmM+>hpsLIGb1e{NacUP^qYJC%anzgmIZ|Czgm8OmVQ|N4Tk?iOLNfh zl0P;(2es3q|1H`>^!K`Q06ZOtc`aFM{FRO}MVd&3--%jQ zWBLcWc0Zyh*qG(F&-BjtP`1UhgoAVjoHABN1}{ZtBk^rp;xu%PYUXiOAW@8q{3Ly; zP~#R+z4-Mm05{pysf|kw;r&t2aoc_Z&#l7li=<*=%8QA8yT)!T)S~#>x?u0Y@?agy+q19c=66;cX8GO@&)h)6k6VC>K@vg; zcTeph(`;Umydl;U5<%(89@92P`r zZt_eK2bzeyJ4cSTJLr7pu~>U_6RB4PU*f6XKW3uzZv8o1S0Ghv=q0ZkXLHnN)LyhI zMy7qeUCEcD;faio>LaRI2aGC@ieMEv;6-Ho0}g__b>9lARq*V+8m0~Jwpp+=&t2e& zbu~~sfpKyimu(BHY?NU+tut3e{v>*B<6256j4A^!<@Da$2whiw-vF%#%_jsO25l&e z8hKett)-lEhl5`M+neZZlGLg8JE3IF0nvzg-ZrBeox56)1CI~eNU`@ z42cMvRSo?no_9^*x?1gCH7p7rGJ*^kQxslO4a22;5P}ZOzUZ?#i1NsO>8Y1VT+3$} zXrR58ykBJuJLP>mU~{@?`Qd|`b4I5I4+Mh8)+7B#2N(QmEVharPwNVHdJAwzub3nc zUxV!mg%_MAV`*UMR6+?V*t@)=Ug?aqW69XJH+kX9wpUk`5}8#setj1+M3{S@MUi8y zeWVqJ-<)2SIbCO}oHj?WJ8Icm*aEe^^%XQqVE~+LxaY8J2h)%A&cyVOp5&0>4l){hrkkaw+sS;vD!*}23+CVu>jBMg>hta&?tX-&2H-XYdzWXT_eFEpWK)L3NgNrcJod0-u)- zg9R^(TYD^fHU@Y4o~&eGRA0cU!L3_fG-0c>Dyg?yu1U@v2${ z?3Fkc!7EXe=tl^guh;QM#trCWUbvlUSPZh<49%(4@tme(wzOt3z1!6$!Pw6${BlQ_ zv7n$P*JW>7QB(CScA(1(TLN9;SnC5ru|CCi8FpU)toE=Sw$~C)=Q8|!SZ~CZPh+P+ zo1}#qu1b`;nK|NR_eOv{iOUu5)JF3fG^fM7FrQmI=$k&C?0T6U!svWIzr{xB-TwSh zJAFEI>xM^yJ*G6o@d6@w89f{~0m3XQ_~+c6&hxM@o{eaZuJmUOXM#Czz$d-I?9)0W z9G}_imhr?k*5=zqiKx;(AKL4h^{SLc0NP@t$5s~gt__yE6NPQ+y!00KRpl>w#;Pgu zF~VGJ!)HmJ*umzzd~LDid$miF~WwSFJx7kH4qV%M>QEyo<0#13@Upp=2YG2fHV zrhm+nRIHYh$>MTg&(nl|K0KIxlO!i?XtIzIBTVCc!duGJXFHp;Dw?>Ri5;4%)#bV~ zj6>=^mq#WZyhvq>ot9@a(GkWjLr`%MbcA^Fs-GWcpQtY(+I?PpNlxLnPMF?}7p$=RL>U$eE>cUO<|e~$;JDlEn+a!!EewjF*03fRqs7ap72wCV z@ZM6(aTW6tJ{GN2jf^$w-H@#q7Eg10^}^A^@sc`u-b3|mMzHec2o0HC>`F~FBJ)!L zNds*&rI}(9G|{pwcMW$WN9cLO{Si90VPLX8-w-yuXbdo;3NWD2YEF;o>dL7?q(l9B z?&hwO-(xV1EuL__z63jmuDIc?jTv>up+x3qtD|Ud*0Lr& zDy%*w4;IEFY}wG2092DXMyJPYmPxskpKNPVzh0&!dFF*yh&87N$KU!|XNRHjPlTDs zRlvXm$f`wmM{KDp+z;dV7P$1X<|rt6l&~^Qz*p)Q1a!6{Ax{YHtrPk1YYya zs19bE1aW6e!*dgOtP!c>s4nO%4#5i*e+t!1z1YXq>Z&wdV_BFhWITuDQy8N=mI$Wl zd1f^R4{s!{eiX@$)1MnJR5`82Y|0Ut-@AxW>8>LZCbRtrj4MRc9R~|hL zHOI|tw|lyZ(!km9yybo(M%sg|?w#Z?h+<)#RTj9ajtTbhT;h2Qr`$=?sWm?li^$a$ zwD}C4{nH(z0y@b`R|1Qr85~D1cN>g8U|aRlhoCC&C-IhPg!4}ovAoINL%6@BgLrh6 zi~;|#`aIxugiMz5=lQ-vyblfT*OaP4*A)j=v4lgIFc%-sn5EPip!F|%!gC=UYlsjy zc<{c|RSdP`>>et6X^B>__A#zhWH&ZnI>{87Hr@r4-2w)UG3n0YlZA_BlvU0Pa<47lW zcpO6!jO}s9!uEIcr7b$$3nlPbCThyWXDPN!sUrHeA7=(^P~_vjN(s?hL+~-D!zw80 zzzORqn7EP6M;RdqbH&rgD6Y;&`}tE|``B$83rBN{t+9*5O8Qf|?zybfzmCyES2@4% z#gAHQGlajf>&ojAukeMntmnk13ZigWFNA(dOW^%_wM~ETdBS!%=aK)_xa5B7P{%Fn zyPUQC*Sl8gF$t+hsotK^g%B+;N)!RMR4M#VquIY}+#?K$BuXqtDvzbi*biy+^?qaNERW^^D-@`q2-ND0>IZX4;o*|-_m|tZybo0HKpuY`r*6o@_ z$UWrzFlEpKKn|e)V|wqyK>pjN{m+6ffc|^A!M_7?w(o!sYQ;_e4K6{&3jh$!{pSzg z;P2bt{AZ#P=%@dbGXOyO;lI-R_y6h#%lvbC2Y?d10ie8KAOHk+-|Gh$X<0!j_dt*U z3M!;{kl^_ZtheLDd?JOrYF!Mj$BK0pjR~+X=|(T9{ke7@Fx5@!RVE z65asN|B>$hxkEsDW>ED43(>cQqX*qJ-@`2oAPt}4!L^dr)itvLRaV&iEZF~cfBpM~ z`c_xL_Mg%dAgFCS=#qduWBD)T9{=5q?|1jVcLNAo7d8-qGXMaf^o9SFoiH-cva&tA zI06n1zg~%7-vIxl)Bm?C0g9>sLFobj24+xF1t{L0^H4;}Q!t@gk{|7uzPTb;^ppRym%;9tkX{;y8uZ-%@8e+)|g2zfF7lOYDX zA#0VW_pWZ8-b271t;1i*3T9jJ7#2OUAaFuPYPkZ@Z4f zeTb2*Yn-Ns#JKie^E_U{541L)JtGT9<0V`A#G>5QGG{6?)pp=E=rS|D;FP`!42Hxn zbaT0w%Kt(rTv;NUOhKsWs@hC4#xETI=;lK;IAz>(A>tt35n>bO&sm==eR;~N-3&g} z8`B3u+OHc>V~c(Cdzl3p$Ag9h%y~b$ZS?&4Gi~ne!D=VWSksy&K;WIyDR;@LYKA4V zbp6|RC-c`zBDvis&ds~Q1DUf78zOogfvtVdpOn1vv9IcCeX}j~R=8R+4_YTXrFI*3 zm`{d-+f?OK%h%e$G~Uq1Tgxj-cFwho*Q>HMipASuVmnGCGFL+Uu#F1vK%5!%yc3!k}GqiwEI2`YCc~do0*k}nOd=bDf3ApGbPwR~gHFRBjDxOIUYyBB- zR4p24Prc)n3ezLU>Z_?Ck4ICl*uzH`Oy+h}n~RRikxmkgYjz|-amH8>zC7xYj$l{s zq$B4vomnCpaU^@)%lYn05=^d$%0WW(8%%|cQ)Gn`zYg1z#=YLIUbU~cxVfnYeXFSK z_{@P$pMkzA@5Sj_jofmpOkyZJf&a$SDHqo(_ZZ_>(p(b%Ewh{JD zcxZTa#wqZ)ePZg#K4i;CFy39^l zg9NlI#@tgZ~o0P3ck z=<~#~Wyv8eOob^F^rd#V;G3Az>a`JcVH>CIp_rrz5?k6<21O1g86~CjKKWwvgeL-T z;fW1%kIZ18EgJ#~&aIA0rIo@P8piO|%f+bU#(WNL+O_?i35FVE+FsllDz}~X1z%#^ zuwt32V`9+dmG0sMR%AgJ8D_;cuuJCgxM4uYb2Ko-^e6h|uM;B*(LO za38LT;()8?w1Q!oPcrNym_Ca6^qvr)T}Xd5kVeRoQ-3;kt$Lo`LT zCFWgedmM86VlQN+zNSPJ?B5)7Ze4}T^Ygo%<@+dfyepQNn{Pj)J0O#f4wov zs3L1}UKMA};GJ?7Pxz_hWslymhNA2~eIY7&l2&^XTa9rL28pdHX-l`enY}C!Gi$4N zXGdDxPx*c@u#pWr8|u@mQzRo*|D?8EZB+IuRTuuxS=m(1W(fi+iHS;wSR2&&8D-S& z!8^272C%co(zFVYJd1Cg08Bfw0kx-)>|n<^u?E1HHcM3v;?gK%7|T^X1)&75JcF1y z@L5wtMN0JuWLAkYfG}m#G)1*ydf7~dfUNBY_Lw=GwKL77cslD)KnvL`t0SHL2tp(QL)>RtAyz8qKLatue`K==+OXA#3g( zV;i^c<2O!DKRaOHpYX@se3XO2q!Y3&3KgafleJ8hVK4#2H*7^pNyvL zI1A$oCHtAQ#k%jXmgNPBMY@1VNJ3 zihH%cF?>sd0D?qzd&n3NB#0aGaX_NQb6ZdE6p5I<{2A80#y_Xw?3Vtig+#jar`zr99h8=^b8tyr$KF{Sx%qq3U+W?IrF=_ zwmFu1_ING*CsfOt?PFJi`WQl#9Jr9l9avo+xeRziiY&EfY0gJ-pHGA|~eHShaz7a!cFWXFFM3BV8|WG0@iI z;cfHT17@J7kKM8Zg*Xu*l2fgB1ken zGHx7SDNY}-+U?mA?R>N(-4CM{S`L$S8WpCmK9>T_&TPt;UTqf1b{1>H?&A;mm$Gc; zRB_G?y7h*}i`&LO4;21dg@Enau~bRFIYY=4&2gg6aB($eCIJBg z1JGhssXqArP%>Z@CETvI+n1_%s?YpN=imj=8si7eE$*kVeXmQKB|J}7Kg%S4RJT3N zgu{D#?<^OIfD%JFQp|s$LOB6pWcs7+=e|A!vIO{zwhY( zOAO=tF6^fm21p17MHK#3305_wSV_=A*d{(Wj1ji!mcrlU2Dp&6*10H~*cq1~_H2~bDCpRd$EVLe75 z0Mz|~@rP$XATuo}_2I8Qv(nYn`Gq?Hzfi*Wb^PDl#{jB=|HCPKM}(ium_g|dpu+NB z2?6j&(0#}f0AL1X2Ru+d5BlLR4$1(c3((N+hmQJJ{{Cl~AMp2&@b=eS^3O+)0~r7K z;QT-nW>A}fzp2J&zF7#FV@7iuQZIqA@Cy?DBpMbezf9o7XJug705;H=3EmrJsG|7B zinQkGlDgXopID{hyWKi1!k0)Q>lWN@ZBh2HH$8R4HGQM<=;a}@O^V$5lqY4d$ zce>i7D{Nc>sJqu{|p&b<2`Cz3ZcSZ2egZD~tR9bMetoU8Zq2F~)4((X@Hvn`p#xU6CZ$ zas;z039WF=&yJ-zIiFB^*UR#H^#{AXCHI|OWfLE7bpU!y zvE&I_jltN<~8EiB{AbO&z=3oUv_4)f>XQ7fR+U zHXM$G)fP!PIp#56Uu#GwH0AU{?Ztgi4N*`lTBYtu7uXjMY15K7>S9!st?thG>^O1w zcwJ3&`kKqNnd%U~$SfGqttta57yV_w(5cDn*SasS$U||}u+)sjuBe}gF)x%DUA5FP zB^nGc!m)S{cXYdDeSSI^E-SFUd!!BSGf+-a)On(csOKJrzlIA*kZm?|i1I=AbeXzIQ&y$AvXZ#0?UN) z&cF-yoZCS%;he~w5PFb087k^dQ;eb}JNRPs!jaRhNjkC+speB6MOOcjqHyw(%k9+$ z&92;rxYGO;H5iiFZVkW3RgoF7bxz=GFP0Z!_3~mOn+}_AL$8hcmRB=w5wI&nOKws= zV`_5fu1o>4%lW;kcquPnu0n*dL-lYWa9a56g3&Fk+|@B0McaV(lGx69cl$9xNEVNJ z6PR`;mG2MAP7;u>5Bf&UpnG3t6$VtJ&Di!(saWl#8XF5Ty|#{*L-}Idv|q1JypH?U z2HBP*4#D!`&$@`HeS>m7q2sPe<=8^ zmpbN!FDZTCUDh@C^R67FgUqFtc3J@;u#5*<$4@XY`TpG z++6@ZO0@I-IZBOvH(hqfHpPo(j6#x`3}s>JCDODlyw->TnmN3Q^NX9Y4pGz-N9$Zl?h&CR2zh$ z8Ss#=B&>6toeiXrKmCQL@(_0rU^xA~krD^krdRlxc zixX03WW$bPaUjiR37M(pelK{T$7uF5tnFIIZ2p0CMFPoba`YaJz!qL)dMd&a)ucfz$kl{(#5lGOi=qVE zqA(1j0WAHU9|6I5$fGr2&!dVU#&?eCVU(+oyWT2Zd$04ytocSMeFiw)LrEJ5yi{_; zCIMTSCWKWO)lreW%QP)Nm?sD~?=k+UPS}U~$ylP5m`mxbmkC9gY0EDU24iOqlNJ%{ z0!xrJBFvYbK8RuL?D-5yq=MArQ{70!p5U`OaO+C^i0PS^8Cq?A?ia<*MC1xQ8DIoY z9omE{!V(-sK%gu7zE1NpH@;^A(?FU`PhE3^9 zY2GWoUZl=aMWD1ra?YeBF1_(6X%2E_!a+?fN*ZwdNSX;Cju;D0cjC`{dU%jY!4VSVRz6MTfdSwI+wRSB*v6GmQ+Fm#!oBM?f zMxa}xSuvewjfL>8e2K*AG(j-L0S6)-8rhteJp)#@LF^JXQgeT0N^0S2F zBAMV-CAxB`MGwTJ=_j&~W& zH}s{dsv4&spNB(3_}^(CH91bZwg%1@(|UDUnvUQzjO*In5~4e^jLqy1qsqoO9T7eP zlZ{}@C$f227L$_B?#Aqv^}?5XrD<8je@JuZCW?C?5Ps|Nk~QJuQIvR{_MFUNW%WBO z*rNod5jmVsZ0~T2RkbJ^l-_xZ$hcGMQaH4|X6}X_C#&8+mV+dH`OymH{Z}pp?K@G@ zFJ2^~o$sKNShbNwd{P&joM}8@dTr2d%hSH%Y<;qcUGxkQHHmv%LMp#Eu$;iF-78SB zarvANFXixl#lmK<1}p0FQUICe!vudgssdV)qmF|z@f#_4(QUY?7gtNt0Umq{@OMuG z!YRWGTVUn#Z(E*awVIO$dBW>xUErhSScKGGEF}YdDP9Z`^kAtQ2?8Foj1xG8NJpzP zPI7ie%y2R2QrO<&jntIgm2X}@>VEI|EHYO5ypU+@28K<5%z5h$`9tum%0uV}Qh0s_ z8fi^^T{t>WhP4ey`vc{U|F+Bh3H=zqE6@K9{Xn7n-_VcoH);CM==c5Ce~*4ZkZc72 zK@~GS05lz%@w>pu%mA7g&G2wnyI=J*&_I=Xg7|zq^ zw)?_M$ycShb-LL3^0~a7ed@2>T#xLS%<@++;*OtfJb|!^E7b|p3AcPE*6FtD!yEH* z8!8Zro(XCt;VVWDu1^7NW!7`AB_`oxQj>fLyej9-YyY4P#{(r7FJK@_WsGGbOpS)> zNPiYKJEC%^Kg^X^rw_tc+;RC+CyBL>V+qfU_FQL7n%xTzKFF^ona1ShkmwS9tTqg*e4jo(%sS ze-@>KY0lw&7(?HMfp}npYeZab(e5*ckmn3cIO#MUEUpLm?@6lFjRFNV{tpLJKmLg%4aCk+{1ei#%7} zG)g3s3;b2$a>S$BM_%}WPTEqP&x9G1`XMybV>1oW<_UWT0I$3tZF%SvAPN<=Y}yUs z?2LkejBwDVFpn7}v~zl?;U|ec50AZHd&Qt2lU>d!Wm-l%IWgmhHNf)h8*0NuFZ9~@~ z4UCKkX4>0<`($gb45@=5DJ2GGE0Dd(5bk1}Xd#swd@p}e_Q^N-Ijv2gBTAsCa~mDe zNxmR=*XK(T@il5VBq5OxwW&qS9A-{CQ5;vn2LT^xM!S`-cO^O)Zr6d^eQ7B}*DIMtj3^q2M+FsS0&*io@CVihk6I|Ff4B(Nh zu2>rvlIWvdO15ri6Vh71jKq3}H7Rl0QPJyTr^KlfN{RN!f-A{(Q2Qshh6S@HhQ33x z9?Z;uLgSoy&VugbP;xrb1>E6+w@x zOE})7MD+`TWDJsS`#F@k+HJ#Sr5n9bxHEP&`^p&>uw0~B0=jZ9dX3M0gO;UaqHKMa z3Im3(-iyaq67H0CeH^T&PS+v^L&mdJe}APe0J{u1sAl+{)<;JUJa!V_mfrbjj*w_d z*|U*ewB@A=;9X%!tfmt!1J@Utp-mVZv}v;$1ozPDFGtSjy80gzte7vZJ3KT_m8!Ly z`>PS{z$SNgOmcf4H&oc;0LW0#3or;~6IT43ee$*>diSvW(d7V1>?Qrr6!zhG-KITi z3*NPQuxbw?sq^glTk$SpDUNg{=-OpmL2tZ<77+zpJUfa=xr&^A1|D7tJY1tvp^(TE2*JbnPQ^@ew6bJ(KJLi zJT#1hmCJzo?9qmu1?g_O%c|*;zF7!HvFLNfXAb>>I!HNZM5btKzw_%Tqy4Sq*x7o4 zFt5dMp27LSMl+1@?S11OvY_Ug0582_)JPxKKB55Twc-hD$yjkY{;7Qxy?Nx2c1nKy zyYWvoclSx$3#hRiwsU<8FFy}X6b%|iY*cu=&+_c)9wjg2+ut{oH1~4>6qFD+FlK~d zaF2FkJ7Ltmz$Xr8=Mg>)!m1CAO92)HKGg{67eSA<87DpTOKVrlzhc%XlSM5|$A%xeC%2E=a1M=JlSF z_^sWM^R=v=URfpTp|BkF=ctb}X+;l#RcP>kpku=R6q_G$#Q%9leS~cvt$ROr6(z0u zRSkqYHJOjKrJ z?8g)UUc)|*9_evaWILoNuc(*eiXtV2N?wv!bNq?1{CmW5(<&^^w>j(>)ID8o?@=W-ripmjr+A{SsEEGG1_D)**H$tk_rW}_#7#_ zIC}9mV)}_XYY4K8N4|kKrp0bbDb?|G$Q($V*TKu}_dfSY?p$^JLf`G1*%Jl%>UNxq zD2G#NWzm6<$iDaXIM5`KPV~a(2K@?uK#pF!?}L&-gq%_8vwZTf%dbc1wb>0+^-lx3nbO^&)qK12F?i=8^1ap_aRBIZG!ExvbJOGa^I|( zooz}LacTH7Y;NcuO-P&vE+#G!E;U}?t*I*(EsTxcgDD|s(mu#tf84?T7s>7W{_$t- z`lg2b4ap4v{7-)I?>)}}pdqopaToBrZujRp-rs)xu`~YX&;tZ@$z}#+{xX3IF2B|D zeoHK60`2|Tm>;Ab5nVHo$Y!If^J8k(FY?xRC;z=a-yrN;Zz>{2Adr>?L>5fnI#ba< z+_(F0c=JmRA>(fX=Kn0?1pxmj5dB70e>MX!13+N-5FUYK!k-!ECsUBF$?{;XBnY>D zH~nkK`J?dlZ#W0|5a)a=p#GbjllkUN#C#>H>r~OSm4f*EXgC>?XU47G8>=46PmyK0 zoZSJQA6xcHfdavf1{GIl+rlgkL97+K8Jn8T(9;H|mrNA2vKRh=fQIfUad9+2D@TyCYgBNBxinV><0jd6Itn zn3Bmiry(B-c6nXi?d4}3&}zqRyumcIy}Y~ntY1{vWy(ki%FrvkQRZdDl8)3(8$E7C zXGax}i2P!5vvCU_%9~+0Uh8VGE1?lBG-ZB&wK5R0lrES}{(&)Uy_o`&Oa?$MeEZRh zr6PQ!Et5J;&tZ|>sS*6Zaowp1fdtr;%|BwXm3I~G(+u{Qcoy-RD`IaTDX#orx)!Mt zY_UP8f;7fr5#Us&oppAnsU;|jWt|)K+TX`3gT%bT)>gfv`j{BWxf>s-x8_dl8+u|%xdf1)D#tyKDC7XsZxZD-0fVD+e9Ln{yoYiJbW|TLy1W{MkK6F? z-_H~q1G)O_GR`tB=+LmeR#$JH0sTRG_+AZ0&*fEq0{2*Qz@>DSR8IWgy($j>U>%OYT`GLv=N3n zRWZb~;hcwlhN$)^qrdOPm_U)L+;br-b?q-9jfgY z8)gc%csFjxG^=yv#y2|gTh7rHgXp<7;-=g}o(_=HFh0aqDhNZLG*~=xRgkE;Wmq6E zV(W^ENuJl>8{uk@A&)g>znNuw9U~1r+~Titt)^o*c?Ma!WAmCcxNxCE`Y6G!LTMcr zkdR~uha(`oQV- zd|KUAx}j)F!2FI|obl9V72rjW*$1iJ`~qAC2Cm6kK|<=&cyN-@=O~&{KVy0`-zU*K zqF$3bamWhX*i0fBXkepM$uHcH@D&WhSNXk6;z9{H$#D8fl)6)99nfns`d3IA@Q2>2 z^VRp!yyB%3rLtmQsB5~WH+NAkWI4E1=yua3#?rJcuTtf-wR0kRIi5L!RqLLov;N$H z^;58ZpJK2@Z)6xDJ8E2XjUSp#X0kGDl{V?TR*l+=_pVw@hz1|mM-$Oo(WoQiybF<{ z!4l8+I0cm$LbNkNEQ64_oh+p%>g{V@@_{`$VL%z`%>kQ;LoLF?{ZgP3gK~F=wX7@> z*FYLZZR%7GL+k}bZNJMrK+|RsmzROfNFySv=5nM@$=cV;f1>GORcCHSzp;j$Ldd&c zc^vA9zfIZ!RYpL-y_YiU#`><8Qwm_ZiGyyRo4|gzI_m?~vYdeNN|hI0A7HjHh;&WR zK*h@anmD2;L-aJB@+6PpgxJp{e{leO{|(UpWf%YGnaWh9RP%iMEZS!mg_F13VJk@_ zNx?(`&%p7E{hX^RdEA-1eH+30L*JROJbio@atL;tTuX*GlXPb&fu|dACsVU@;c^6v zvapH71y1O6UULu4bhUnWI-Bqu`Fgqg9HtH2w5z!x(|>Y5N2_@{=J5^T61n{neX}6i zj_9VIvOsp5j6!mKuqmlzJPc}tfDkciXNBUB=NKM+7Wu7V^lN_!*1DjBC(J}?8-wkN z*mEVY0@`SJuz}gvcmdgiX-zeSUaI}OrdyBp8`oGi4ZvsQ=s02^NkgWI;Afy@(y-k)K{+;XXXS$^|KW7|D)dEeM4Dq)k35uGtM_{?~H~!6o6V4>A zYpsI>4mxp1gO&CA_N|d>n~qhhzy#VIu=VjyR2NG z4o&Y&Y&nA`EPYNUjn<#jOT*Qd%Vg7NL%(U14wQSW-(ej$pMZE5Y(vM?ik8;us^f`i zYIyPX5!qyfY0{u^Z$t#m`!~>x_7%j^63v^2NSB^P3q;4i+0n97v6B@NObd|F_!ODX%=?Llfag6%@kY?*6I9N@ z1PSMiyex(fqZ=_~Wnhn*ohA_Qx%Ltc1Q(y{8~Gsc3z*wF-PH(XO11R9uh%FJJ0J=R zby^Nvdn8G`&5fEnrhv~m|5`iSXuaLf328IQSDFc^ z7g#b&-ouFqaA9kRvp)2QVgz}WWpf)*SioFF^|?nK1Cd@u?w%!WNLu|=n?;DLh;dQ% zUO>tzQXqMNL)FbOIWl_p%gN?ZX7n)KHAkmf2_z=S}}VPjXGN|o!D~BCb zd2)*sw3xq1Y)X~ho`%19cV>n%Tj}gd30@y>VK>LJkD>O|;)yoFOv!s@db(_musmqG z(uBsV^&~rT*;odi9^#PJ>qH!jiwcj!N3mSC`S5969iz3x^mBn_h;ENd;s2LK(p=NP1@(>w@9R{=w-3#Q!3LjMa23Rg5V36d}|eTdU)DcZAXlCQAcV!V&r=9=N?R=x3xCTENN8V8nPR%mI# zp{9s%=^b$jzus0nb(2PM9-uqi&74Dgm!_$*=kMoils6&TWPHQLIw(KAT7qrtDb>8t z1?8snUTI79-mQK53|m{83pP2iGbZ_h&^*0;+jcyjlPZj#8~kPT<>?y?O%>W9RRwSn zM$+}N<33`UJk`3~-sZR)@_JQh*7&{>xn}ZO1n||y6dn9n`&sR8V*bmvX0jT>Ne5iuEvGst*~h;DsRKQQQws z>?Nd^jkKGb`K&003otlmQq76tY1{@^%xmZwT>HE&Q}E*pm#*m~@RUVKEQoMM*Qivy zOE;NHH=Txwwzf-;KYgKTJR$?vxy8cYjLUflR6(<+;8-SJtRDAaxTtU5xnAsjK!22Iv zjKArQKVPhWk{$|TRv-&#q7z7u`ym_x*+3JWfdAYR;2*`ce?jv=(7bC-|8Y?8k!o~e4kPFYsKpKCHwcQ1G*?6L6(*k6b%8zC_piWZ(f0r9{6yD z=Kt{Id$sfrN4~@O_nZ5#bk#q?^g~w64BwXM0hN;Jmzcp%$75n+0F_uil=KQ3YyJC; z^w2?n+$X`iq$RlfwYeseUW-e!%pP_uE4bGcbZGo-!|(5y9}D_V;~f8A((a#To&QJL{XRMHZ-zVy6ioxym{IN;n~2fH@mY7N zcRTEwA}ddOF@k9pGP$-e^GIgfm#6tES?cZ^8F6R)y{hWwUR-Jz0^_Ijg`YHvE_Y!G zm3F_^@b1Ujy;WGvHLFYMFy~P}YQ}=pcJ91v+n=~b7N>D&4aisyoV&J`sY>Wb9tq*F z-uk4{$?xa4YaUY)NmctMp_U+L%D2#D#||f(3Y5`nbvd<9r^vGqY@`t1ILf{5Jj44@ zqSKoM@?O}qIb$deN&-ss6yfLye+H+^)*4v&RRzao!J#fDMPA4TO;GaGG81R$vE~v{ zAMqxvKJMOzr=<|NsT(WnTxBJxX_s!i5K-BuD#7Wt)S21nFqkL?LFzKOc7R^~|Al?8qZ1Y@?EQau~zjpFD1}usnPP$yn zo1_dnPeZLUwY2cbJuk8+@*ENrW~%xu&m!1#0Lf%l-agNWsuO+jhm=x9rZ0C+-uB04 zvdSIHYieM15pN8`?;z%;thc09hQPqm@>2{UJ@QeGGnJ4R6|Z)lpNYqYXwGR$TtcvL z7C|zmj)Py1KC9hf(bnIwo2GLn-?j@C8yoSlfI*0*zbP!v<{EL*{vxSvt3EuiT7na3 z`1oBV#z~|YDcvkq&Y(4$?V%rz5M`)2#SMmYSq>lTnyaarzPOuTCX{6}ag@b|HW5LP zm(|`2ugp+PVyZ8X%_IPx*Mhb#7~LpN#05DnXtw6HOv>eL)WqN~;6Ef|8tmtDaP(k$ zBbA2LGt$s_njk|hPe&uiVg;5&I-4NH`J$kQfO7lth`+9ArY$^~oj9G&cpq@53+v+A&LE&imxa2mk0oPNASX@!0xmuK%dIa$DIB8m4tg1GG2~eyR=keo z0Fak2dxRVa2IYlOnfKB(fuKUiD3M*y0wOw-a_vyM9?gH(u^fDQ{PJlUBaVxdt0^uv z8K(`c3ubDqb4%+%qovKp)b3M@wdd@oalu5zzInj2SsyCToNm>IieS4o`9n4A$Eyzd z`E7|(ag7v7=!xiKg2BjGVoW3_NYJ#AR~Rx|ydXn_xK3U@^ zmdxnN47OJA!k$@Q-m;*jSQAV(ewhj7x>mAl3nGJR7HwpEcJ_4nJw@q3lNTJ3t;@*~ z^vL#lVMt}*J4IH{6yXRa#i`QNbtj1b4yL~e!d;?8 zma-8YJiC5PJ;n{JK|&erq0JvC=jHcr$$#1WeSa1HwD|+Q=Rw=Gzs?T(p;B;j6X}}i zfZpVA4BtDM{CKB-|B!rl;(vdn833T#yG*Pze2hn=*YHjtXiL z@v|xLFMVbDmU#Bi90xVQsAm4` z`VJ1OgBSpiwUJi5qFgZZB;%Dcfu;z+qoJ`jvDF#L%=u{P=CVY3i9MjlfF0pXLb&8Y z@uuT2=F^UYg5DeXe4`1x#dav$It(dp=X0_!>t}cfbg%9%?*7kw!m_>ieAOnP*qPX z<@l`Ve5uLNjYlplds{y|kX(IO1)@PWlB@>JDNtNUEGu>~L)F(Y48r^HD~7kOtHiTm z+dl4Y@`Cg{DxA4n0`u1j7Q?1PWd%61_yfBd`nFxt*F@6+5+-8tf{w4jU$=f8j{BS` zG6oQjjDJ-DnST0i-*K|H8d57fMIBO`)slW>k)HC}t_nGX==3<=cp4XX;k*-Zgq?bo z{UTpu&e+iavWhn$OJw%7W?EiO4)38DCaGhq;7qzX^8S54rh?j|Lr@dIP@jWY*REmm z(tyGUh23+`-SRmcZXTkQPUL!s+!1gVJLn!cM+|2#+|~WZ`pC}B5d<1quKp4Iz#y>p z#S;qZ-lrm(1`-GzEQ!krmQ)mLB!^C8I6h2YEo}6#m0RK6-I}r#6tE&1TkR#-C6^I+ z*ZZ-8kTMNq+`K-CAdfyzZ51~cb+JR_AryzeiR*ID~x=%ORBamCf|ucFDs}^_Ud}&_WaAz zg8Ft6OZi;+qM^MfO4ug&OBLp~s!WyVn=?{Vqr?yl#|`OUQ6S!NvxJ_Fx>!jkvYjlI z2n{T2r6+XZ>^i8XtQAaye`NhQ4CPd(lW$&OeN`?viV=WGVV|=cvU&b?Y$1Xhai#Tx z#9k9Dx!%-Qu0yn0UzA*(VlFMHN4NivwzrO|YrVcead&rjcXuba6P(}<0RjYfcMI+W z3-0dj?i$?P;hmfQ`g+^mwzqxbjln;M!yfx%?{oGy*PLt3+2L{Q#G?r*kUDUYMfWKF z&9@N7`3ExsI*s~CBF#AHh2!p|to_y$1y!>qggG3Gt6oIr&q%9De@wW&#{#7-xiNqLO3~q7anaoL!(8kU_(elDdOYsS@%d^#upFr! zko!V#GYmE?KYNdEAJerRe3|bwc`Rf4y_w^5(BN?nI!UO>o3uz7g5-&OQJ>US3zgxL zP@A^O8mMbH$CWMV{Ikl)Rw3K%No26VL*unJ1v|I7q%gqg-Q;}++iYVNB=z9$h&V?b zL7il@vixK<=au427yP(7pbVqq$W801(Trr1%y|&PuS%+mMoTA>lZW$YQg(6abKp=b z_eo^*V5=LbSn0;Ap?51AjDo*tlEt%LijaOM9AaBOO%YzdW{I=u&i9RAzPPbKG=;8V zbNzTqRGa9y32og!ZdGq2D{moti-?c);J3G{#Jj;kI!l8usT1OyoqR>pPTz+%ix#Yj zvSE4Wm7vbP5PKFT&^Qg7J>_qRR8_BP--$=F^+1ui)04ckBTk(qL6hkTd=j$JGATj< zmxwA#{@p%inqLx>i)HAL?g7=p#wizKJW5$BUomY1>NNXRRWsiN-w9(4+-zN-{NuOk zJx;^jG@iOqayqNYv~lDL9p0nmkG>{eFAvg0!Zja%-$t$94gBgc>;DlsIf05Qse zrIL%2%5;HF$60Fz!S}n1fNAgvR#+S|}REv-wYS#o6An z<$Rmg2Uu+~P#~T&k=o<9fvJ6DEvh+0FWHo$)P=*(WvXJ?Wo-b>n&P(^u5Y?rSXDL8pr7i=FoNVIaN9#1&^2cTl@p?2l|PI+c!` zLoZ@f{X9(v1NWL5G}UN_mbsG~d^ODl^YD63b=*p3A?dx;)B^0al_-SK_(iaE4mEdci+~NJOW?!K?g!zAT}_9sz{R9FWg4K}AMlKLWEJY3Ufc45Q*iau6l{Jd(6yJsI!6j^D+L!l%)Mn zgQKxtc1hx*?%}6l)nw_=?IzXZQOAHW+WRs_n&Yc!xef!^oo^_Yl3jKSi7*d6NMc!L zkv|4AW+j!&2VL;k45`wSUmL@&o(cug&LiyDZHm=HbKdWEX0tZlA9^~xT;C_WUmms? zy}$0xOE@0Jd0%atIhT8VHctX$UHCXY742W9jqo1+!eID16fY24B8V})Ga?zhewSm5 z<9Kt;85FZPnp4^ws`C}gdZv1J#w@G~wQS$Coe&Xshbw}(JNvXZ5<>uBKx9s$G6LREv-sg zs;*SIlxiU)i)3lx#YVw(Gxi{Fyw@fJ(w;}qmws23H9Jd7kC{tF;&6g>R6BuFJTx<( zs+Re~ppWe^;a)DrNXeauk%CZ%D{Kk)JyT3z(IriEO8Ul3hmTC#06pdHbi>`EmP~gaj<4$vOX{xcD}b62;up=)^B->~I5z--DC>t<@*&VZ z@!{y*vF}$UBI1Q~m~OEWAHLH$fq?8%z_RJJK{?|b>M)8FkR~#VyC3wdYa@LN0I#bi zgZ0`j*xfbb!5`u7gY>RxN%3dY>)_kDKoAQxLg!e>39I2+3=UE1m*o!rXdL$mnZhmK z$nd?eq0K0F0!FViYN60Zq(!UAQ=h#d0wy%NGUbCsOS!IEr{!3{ngrG5vew?eP2e+ZS)swvE28Yob5yTh~t8j+=!~*BPuR_iApZ z)}dQ#OYhxKw@cT(~yfiGsqaJgI}hX+>~p zE48BFa%#N;Wc|ckpM982I&4VelG9CN`SmEq_`uUH0>ThSh5Mt4z5oSe9qn4=cj zPnlb;_k1W+p`OjV87=4?IM^&{`()sDfNib?tVIm0+;}J-Qv~Nvmv#FEeD@A|6Q=TO z&0cgazmS?^DE2IQK2WLueH6oyRa2N8+l8a|;GuK46;MzXG#5rYn?aUWEupm%q$p1( zL=CB5eKzVP^Cmxv>C=@Drks&dcXw*=8f@-=E_GPYG5>!bpQi~6I$ewLxnF_mi}9!2lNh?F1Q zhnYC{=|8As_*LNz$CY$VQm3Ya0h`HnAhwhDbeMk&?&X`PZJOJv8Z1B`(B zXWbA>iWDg!1;liJ-Xh?fC|eSr4am&f8X-DQ;Eob!tHw$ti*etqMz7(YzlAt59ToEA7yaXfU)A1Y5M^9bJ-_1Ue0a}e@_vi` znt+Vk4DuuzW6n^?{iv~>j+O7n^L&ve=U5G2Sqf0dqZ=a}haJ&~gS0ErRntav)655! zqwix1RHVzhR=A9ia%E+?F#V7VL=d039%YJ$c6Lil#@%{VD9m#_kRS3nL*Y0f zmP!szlA6o1(c)X2@t0t##{&l;cx5XDri}G?Ve;Mu&68KrsMM$1ic=2>+g@Pv6B1qho}Hu{RyXsy(F z=D5JS`dtbFN6-Gb`P)HBpbdhgI%{(b0|%)Z#KFy-N3Ak}T99&o2iao(<9?%B+j{DUOD>xlMMe1qYeA=sB4yZB#ed)Nymm2xNavm26331GPHaDDJ4#78b-CAoam z<0XkDa?#qNcI=(zOlV0dun50Utu5jQ^0s)eWM}f2eLb^y5fMjGPmS_1*!;8*7xK{R zyx#D}jOrR;3ImMJmnJuUc&!?@e?75Jp+H4rpzVMDd4bTQXJS2VVdM2`EgaA+`?ht= zXtw82BF5I+bNsBbe*l~*D}(j!e7nFOQFY=s@t&HTbQbC_cxa`k7|2cP_5>bYUFEzV z^u6u2g|erEtnCGUi^%hQ{B6?h{4DB6@;gMkD-Y>LL3stkC@ISe|8tgaSPd2ZT$6_0 z?4&-<$otX(3H}Bnsb4N=)^JOb(#w$#qqDf3uSh0-FWDMxJ$xLAnT~_hw4arO4STiuLDdk%-4Z* z!4Uczk$`E?^pXoc%P3hPdVSf!l{*Z6B-~px3yEC``*WP`X zBrxIxdsCl0`O)hbFe?1b02+yPjSh8zAJwaE(=-o)m+mlKF_~Q21C@~z)8H*>-pcZDUk7F8=%&lR0JND1|M7RMz7 zpu%+LF7<`Zj$CYKlL>`2pV+VfMrnfVxNv7J)$4wpn&7X%9W0BC8pt7bWApX3(@V`n zspC^FM$3`ZLKhz-EiSZ|PR-XY>Q@L$K7&ePlI7IlpEg=Oad@&zF}4KL)6Yj0KjDy_ zbWzN@qgxEZdg3vtibdL!lG1FH3h!39JdSWT#A6aanxG3kg z_=ppO@_NdDNiWYXtJ|^mC=Ex0DCtyB(EBLVRm6JkF;|Hb6xb47pE;xsIdDi9$TXdd zpI6hn5+YMib8iAao?om0hNmM(8Ul+YZ0v#BPkbnI{L_$exVC{VF!21Nb}BZ?COl)Z z(&TnFFGZJ*P;N%oTv`EGl_UD@TI&9!01lh-ZVG1<#+WH6eZB-V{ytaPncTkIGBdKn z8r=>TliJ70TF3L36m~GSDZ`6^5X5#mos}dFCn*e_d&S5k*o&exD(o<}`D_++Zxg}M zxnkMCh?>}89L5R4`}Q&#p1|YSq^=(VW{KlsSVO4MHyNO)IZXW}9OA-(D?Sa>H(b|; z@GJ3?J6GsPhLb7?JaIRWP%dKR0_wy0ak2oaIXG zy}F!ud+-{h4!@Et;*6pd7BZkm>6X;nbxXOF`7#b&jMK4zEJi6~Q-7WBPM$Ms5pt6g zXqyy6SFqbeDMt(>C-2uXziBEQFg?y$OwHB#QJk%LHZ@8lMo>pr7i87zt!r zbAJLlEtYUkVL&BeYi5oev3>G`b+BhxVGl=iiwCB-u!$TqjBkFJpI`sLHX_8#iW%@I zjHLd?nbN8f8ku}wn{2+#zmf1g*MZb6xr7Ter<&U;>e19YO>%e0 z%%4lYPz_G2s*d>tU2See-CQI$-}{cLxaPjlaEA)i;aCfNcCQe)5_g}+1>QNg(CAC6@9WNG13BA+pNFe-@LU)m&0l(* zp4~C|nC^`4vlW{8ozHx05c#|J0?R!INM_ zBl810L9LDmu9Tsc8<&|=e!i3mOG5W|ZuU>vQjlT6WTVztJKb2%kicarfi%P3ZkPRFQ$Y=|Q5HDmmL5UH6dZd_vWgO-RP% zeSGXr((le=7ui7gF>AigQ&#ZHG3!K8PjkzI`PBw1`TqV+jHT*6(j=fA0-e$_bPK?0p0kzd)iYZ0Z3D?TJcYzSWGie9N5=PEgD+`E=>KMMVPPX^u zLZrlM0v%&Xa9h|D|FgVJqsK;_Sc6B| zo_u_WaFt|zFAVO7iuMq>X*_tBlX?{P@#k%cxkD&gONcBDZY5WCib2-~l5)(ZMGQ&Mb1M4D7cl29fJ7cNkjexTvFbrv6WSPB$#cTCWO30^j-q%WBRjaFK$rSX zy$6zqUZ1>7VT%TQ#}w3Uzu1gY1ccF0uyX~d!0&?I($0K<93#;u8}m0_Pz0l zx(k?%?_3c8^&}7^D0_Sh-<}wsf`N`StKGip+kLtkx}Jh*^?8H*O5w!#N0?z0DcKoB8Zr#y1M4VML&-3R66}E7B0A+ z0hN^Ix9OyCb^G#jJDChSv~$8=Ct^?Ixo~gy!2jNqobyNZjs=={rj&lfcZYP>j_96I zmAjI9D+?I$Rn9sKr{Xee_OkvNCMnXbzNLqmmxcI->kLe3EU)h^RF5GYBq6@I(WW0y z!l@{}@6)cuD2T7Akuw;8TI^_6c(>qK=L+ z-7`scQ(b&mt5s)gR!{7;zkimcmM0mP8z2$1w`loL645Z9wu-@O7anuJhqEr zrR{-FlnWcQS#IQQ(AJP;1KePZ8h(&C)pVZ)hs@d(Rc;3jcN&>%^9;Ijsq>kK-+(xy zM2d|0Q?_$-psss`jijPEQW>-5itlLf)vJ}Udre2Epjo{&9I?m|oPj$C(I6H5<8$sh z-@)AsrTxeP&AJ%G;a%7PX>s#tUDf`jggEq3&EPD_sfuP&V)c+b!ro8HxS~EA*Ezbr zsHwW<2{I_7$2rxN%M%7v$Y~!ir@IJIt&`&;z>9ST+Z-n3Yz&BdQ9eKh3oCyIiv~XkamwkA(n2?0`0*O zYV=B|*DC3g^(sz5Jdu0!mG{vke~Aj9#}Fs;#Hwae8NGr7sXcVeq+c`WJc@E^XpBV& zqpxBXQ^-Go98hPb-KXZGPl}`0(S=k_jL>I^FOO3A=`91KDV9H#v2a6bd zIk5={PrG?Op;d$g*QF)`R{tb#-u$-84|@JSP=1EM8}}BU6eq)1L8vzfZko!oNr;o; zpU0QW@isD?nTdth1nkVo4;|qri>mlGO+PcU**-S#4K`YNT0y%HlTr|7YJAQN8u<8g zjxR;^>yItnIbZ?<-B$D+ZOrDKuy4>{5Qh4$DzJ3xoT-OrH&Osw2V-Gwi0&UZ zPC#|bM>GF}*4*Ojglhb_c`lG|OI00l_gOMAlr+f?V`uRIa0+PFg<*!`SRbf6Q8MLn zVBc_71gc=j^~imx-8~>D1X^i?Y)6ebmkyLo7a=+Fbv|L;GvJ01(iir3Mr>8ujX&I- ze@_$qtKIn*-|+Vu4nUarbGtJj#q_s7{9Q8;ASUN`8_ZvJzF+*ve_%9zo${~y_x~?D zAJ-r98-Tt3Px2den%WhsjqqL*6$iuB|B52jRVP{ z^k$zio_CVbsH6EE;%YiEt_@;EL(#;&^2s=mUwR8eI6mS92M%+ZT$6lWeQV6=>Ue(= zsa!<>b7374TMn+hazCWaRlU`+5ekFZTKL5x$xFTa~<)el?Rz*-vg zXBm{&f#sr$jjMQq&dgVCU6b^Ajg44)6MY1>=^HmTh2-)L)XO#6jwIP0uDIGo?Y8H~ zHNy5>=9fTlV;GdI5-Z+k_O=G*>hKvR8T2A)(JqE}4Ok_ja4IefzNc0wYsm;mGEmV` z<@-IRc{A_VGT>OVwrC(4mN|@+-s+#JQYm;rXXZN*E^t(+nGmj6 zXpiP}WI7hP*~UfNI=WNK&85#Ir!5G=ICY^s#~vj%iDNH=(bx+1`7`qei-rM8l5|4( z<^^)HOCdgcKm8@v@w|dW2w00Lq!!V+pJ61hGmV-OeBTz8w-@@aj+jS3m6?wflxwlB zUd|_fr2TyHW8*1@gKz;4tSYm&DcO(ptA)jB7D-Ojjyf2>Xf(eXXk_!$dMt7C8fxkG z$4!B6%BT+IZMTrsnh*>UezsU8!B3%@KY+nW7JK+GW#l#Xdq|rhjG*8t9-M|w-c+sS!G6tD(TGk5m3nm<%VJSBOjWoHdT2OO3>9U(jZ3UA zTa#B;Htx)3CtTVTC%V*o!D#O91orVx*UumA&X>Y)6V0g&uNe%M`_KXo0SSYQFJpm{ zGbjQjuXt)C`h##KD0XN|6LV=tzom&18Z^+){) zF%MJK;8Y1j1JiVu;F@m_qi`9@v4u1^u|`Zv`2`gWf#_(QA5?H*Zb+gVNZ_uHMnMhu z`!rNHm(UC(iklEqHCubc0EK!n@ zpjR!(PXcj{vY}JmCJbM=KydTA_v4TtdNjA&6~vkX0xBv%qw4m>D_?-ba7c(%^{WRh z!W7ewo}lp(>w;#wJk$6k;^+!9HXB=MS}@L6(a#h23aqd6hcK)n^<{T;j{7nF6C3{*ZwyJzNOI-lHXT~N-tk3VPIb?7by5#VeD zgdVVF>?OOaUzQc#-k*K!J71~|Gh_b&Tg=$B{l2y!(jtnPUC!Ner|TfC`+3G39iFu_ z6I$8D4xtnfFcPLC&lKXDM!nJ1+5J{ZsFT1$<-m50__c9MF}=qp4i-XkM_e6Nj94_b zV8Xm3Ov;t|EY{*9Bz;kE$E;`pw2l98=4cOJbaL>Q)2t@gk{yyr(1B;mW#8kj+<|LGx8X%2?`^x7g^pO zccT^M0jvrn?AH+LTGPkA?FDU?+Y>w@WFt|XDjM|e+B6}pX#{z~DOL4zZq2!LvKlO4 zv|eeu<*NH#_h9!V2n1Lk=wlg}Hr)?tOV+9wmn1UBvTHID8IlCySk6N7Y>pWCYDE+O`iNZ^|MY{t&+sed~f) zE?eeji=&g;?C-org@LJ=cs!zoM?Tfc`95tixMVRYM+V%Z`X!#5o^uVl_CV#0$oCNt zw29~3;Ub3|w<;(*!Bf%D!bkc|8t4{RH1h|Ki(wbGn)`EOUI5fJ)zTmrbU`*G0aT3~ z+V-9Z@tVv;9IN-$<+V!?Ht`k$z*MWfZh9{AKX{`{r8;~UPOg5GiU|L8`(H; zku_UcqDGO)OFCVc! zWcSK1-rxN6b0GIaGssV!2A@H1C>^P`V!FZgl5tpLpyB66y0lHPH_!Gi_1#Bx16MN6 zY-*q#>!c!wLHAp|!jDQ*=SL_P|G9$TF;QtKT6}0r(s?xYTy=z>K6n@__Vn!Ao9s(= zMbV>qu~7qCm(COprD@ab=YNnRDM>ePd}%aSzv(F^MDFK4%~DoJ5yAw6vL}mbHjzK* zj1JjONK<;u3w8r?#^hRx?QjT^GrlIODAn`Yz^zSkQLC7JNi0WpC#)zMwTFx1E@&yQ zs*SBaUnL!J052Tz~cD1WdsJfY?6_+5LL=ubAq;=S0{5p>SM) z?izrbC<7ZHrtQ~686d6kk4M|&44sV30U3z@q8LQNt{$AB@c=1YO0N#Ib;o}Dnv=qhg+YQMLikGb>l(+-If3*n8! z?XT^ZwT5je=q(;+k2}eS(8+z|wu3fljQV7Wt(K#d+ z-|`nK+-5*BYe_QiUaIM7xSHD5sZz*ks+qm6w_DO;!AfUYE&4LDkkddeRH-cBQPYei zq->yCN6R@eIvECKPKET6#s!lk!euLpwLui^T}uS=q8?(#A1h;}DYmf`)l&w2B;Udt z-XHcA1oh2$nw!RDZ*HSGi7~o^i?NY~p-miS@$uo$a2J}7v`mzOQCXH3#!`}wUM=my zp}v+}+PKp!Ck5^LIC4Oi8I!2mLJXeGyw)YgS`F8fHgBW#vLiz*4(g-LMU4w$hHQfN zw5eM-(Uti3pq6tie=tl0#;_p%k+0C;JeR~9Gre}`>vVyTKoPDJOzGL{Ere#EGDRb_ zsEPZk#I=n!38}fbgXaZGC^^d@CJ{-_mikvR`a+@ajd*7 zCTVK8(F+1#5#YBqJZummyVNftyrQ)#3Hb6cxiO>Lt})mdKLJf#Q%U>oXgE;~w~y_7 zTT}g=!nN{j(<4G}QF`Z63L-2c!sa~KlkHRt7t%|W#ddAgJ6+&8NI!9~n#VFf;b=DF zr1Tpz!<)=~DK~(bJTUF`YS|Pe4e_KI3(zWkad!f9o(Quqd!C8vS6iFvR9k7Lth=f- zEGb&7z6i|rF)F2f%eJsoF2n<~+L>>v>zRX)<$xGS+wb-PnD5ZimHBQ2c`Lh}x1^`E zY;8S{o%jf?e)RtcLD;J>wX=}5*4A*-Obi(rzi|_M*T8A8`5NfzL)O`f*+P&CUEqJRL#$!PD^JF>iqqs z@u^F4f42*-Vmm1HnJm|~#oVac9#eIF58+$#R;b%89p6~iNUt(p&Pin_Qnj10@ze0P zS!8XpM(iI+1i58r?(fI}B%PMW9q~W+>_0~_NYFZ6bn;@mx%g`1x-fhY;fwM@da|O~1cnR>^YCHzSHV04;R$d(VqP=g|hb&a>c?joXlEJlHIc*~zg%t~PK0tku zAd}`X)VSA0YLg|4uW{!tNd+hT#;A6hh9e5nFT}`u3cfuDTNt7*Ec;2yZrTIr@^!^! zV~VmukTn(5p zHKrJogMAcDiVn?iSMeWd`b>*A7ge-p&{9o+j%7o8k0?bEUAfq|*DhmKJO*!z-3 zk%F#%4lyNA?qo8@ef`XoA&HAXvS=~MPg@b^x%z7j@HfDkf=ko)+9Gn!F2!ge({+J$-{eeNkb zg)DS~vbnH^)}$YVEiK~^q5PU;TgVgnwo6J(FkTWy<}?szK^h9l4jRTy{5|(4iMC3t z>|4efcUDwkr~=0r3h1bBaun!}(S>W1RzStjY8ml!eJVOAg`$;*N8r!~<3qb^wOyw+ zA798R2NhaT$Y}TW37@?7-7OP#Ktivh0-F#FFpIh|OGaNxWF$R0sOu9QuVgkXM8e$N z>@$nG0qCQy;xpY?l9oGIYcNI6Af+d;d-&1>Rr5LUtBV0fBo{;^0UO^0rURZq%-nZm z$o>q`Z1lboVPhsBR6n^G-?MOf1-GhgN4vCwA; zxdN>AN_WJ8NNbkfSbfaf;c;CuRhp4h48zCHkO|(9_88jf72T<3Yz8*tdF4iCQNYhC z@6<>(R|0mbra7s`tpH(D5=_!}pB-&^8oqMs?XUF3z?Dgd?E)Em{De*JCb>1dJ7Anh zn(+6Y;?fry#F_m*x(MP59L}Uz{-;&udQ(m38yk%Z_z)d3#6y0VTGLC7<#rw*r9s(# zpj^Qc>*cQ~$RRt9Ygd*#^-+yGc^KvB_)V5}c@KuKgd2Fp9$fMiSON_C{*Ht@=TOXO zKExmc@uq@&u4s%+E;Ul^^Jc>9siAzgbbUVkbwI2)ug@;!JTK8Ys{X^&d0kU#kQ)TP z(lkA{l||n|x%y=D!Fng?z8yr1Q55!yCHA61nSNq1BN-Qr4-MIR4-Ea>*Q@fese~Zq zU@ku44)!qx{$NvqTyTl_cHE414a+4yDhu8XQD~5e<)giG_DK z8j40+VB&)eWgsjNo>yC+Or;2q;$$l3of~*v7Tk?;MJ2(Pvch_hyt8Uq4dcbhT`EpmPQtFyVEq+Zn&_|N;kIv#B0$xCn>SGBWR;L$$q{-wW;B9< zuoD!HxEPiiV~*Hu=MJ)3_L@H&QO@bI-0Rgji-K>-67uvsDC33rG!YyW>oU`B2-a(# z7F^i2a}Z3oU(Tq&D-TG`oOU7~XC753E+QCSQ{2iF`kDr=J1X8M6)z5bj*60Xh(h;* zusE(R#1W*y(C6gD&DTLucF{yd5~0!s!`B;D`h}U<8q;PUrrmO~6nX-ovI}u>R+sRP z-+U6o@QjJZ=?%E5%aC0Xliy#9y+#{- z5`-4ixvGxamC-(g7sqkU+=fH_vDHrxD{HI$yKnvkU&BDQSq7H3Qzda>LM7@LB4V`q z_DDN86m4v{DY^gUM21x-eeR0!^qrh1!mzZ=pykaG!x1bGNVw&S&PkemWX7k+$f}qM zpf4>b8BL5&mml6nM$X{#YN*=H((zEV`KbwgZ4nyY3I{4)BMB~XwaU!2+3kKj+cqWF z3v__o5;q+-WOV4ZZQi0t!Dp2shALi88(7~2Uuzh=-DyNOEO7@z3RU!vRsqUA(r z`sME1ce6Y8hXrzLnr{lZNGi4)o7uPb2rxQMDp{@!C&5fL($`Mw&aPts*@li67o=O}oE$C3CocCw z(-O?541eu8nNXGNUS347a?9`*RLV5Rw^P`j)sO73cC(Zz=8GEez~Mw^8&IZ z_X0oHKWiEPjljvXbfY1p*?jZ9YJDw_=*xP+}0@Sob zBF<+2?2__pnSU(}|NHV95MB=mcVGsz7y$f40cnSseEDe$rt z-m5PrQYqFSZhha&Su=L)2XXG@)qUEGPNyTM{^oT1a|yQqW7RA)>!NSY^uv*5+rvTI za^W+FT@o#Ez`)M_NMge9Gk3)mg-!TTsz9rjSMw8P49xd@*X(Z}?CnGkg9%S^m%MbC zy>+eyWN5R?l1qIC3^%ExI^3?FEV=w({8%T#XbHLLl96FC4e78kMJaEVc;QR6^wdP3+_o{>3AmZ0EOqG z3JN3dY}8FxxB7I4@u)!i(om36U;llGg$wh(w*Fe%eN?x-XV*zel~dlfnZ_!-nFUg> zj4M4B5(UD~fqh8@Y_;Vh&2E8QtQWPToXTy#b0?K4ODrM`jiImNYgq1dACHR?ia@wz zEFl6>@rK84kN#OM&1-RiE>ScJxFT{xunCfzvm~QhW|||o#AmJ<3rfUQg>Mt$3bz(* zlD@GjcnJMkdS2IWxR`=OpDNpnk|`-+8nbTD@!VB7iw-a*_aFmRi-$t*wY`*A8{kCARO?vIE4F+GF} zbxKDlnMjwqv$_GinwW%9#u?!#A?JpO!e;8Lg|OC?-!ZdRlPZ?4P@;d|{sdti^*FhT za+Jhw7~JOM5cZKD(`-dG-2S)}Xgzomo&>9)hc`qGu^BTV9*_pkc_QD1Hj z{@xdP&Hfg`-GJyZL?*c)>V>>2|U zdCTwkLPy*Fq)R>A=AmHLo|ZvW?%0xgY8s_5J@ySh^**M8b_XvSV<(%5%Lbv&D~XlA z0)bFn*0p94QJ}}aiLMUlNtWp^V)cXe6N`?rRgaH&h$&FO=E>j7d8y216dvX--}Agr zze0R03^wfR#~%Retr}p*7U{*QDP1e&jP>yBKItk!(H|XaFIpCu`6&3^sIlzD4`6Id z|07*^iN5V#UMQLsu5|$J=5i2@8NZa|? z{W#@*=2w=RUSe2du09)M8W<5}dpIbl94!1gT@{PvqBXz8vL&FqZlv`k4Ht?%U^CJ) z9z=Tl0;32|Lp&T(Bp?&Y$Hn{U+h(DYol#%I&X)sgETAWRZr%N&^N2H?1~B!_mGBt^93;hn9fse{wP$owkv z>!&Z8yk#~l!ewGUD__6bWLYT9kHy|w(RgLHfE`Q(3dnHH!xxy5eGQcm&@!u+OFMri zs%|>KuE%JWITtwI?s!~603>L$Cm}g(JG;A5yoENxVBmxK+gqY95LxxLXcX8hwe`EB5l1Vh!N&8eSR96taLdyWJZOrl z|A4pTY*8)PQ%4rvTToUR!vqCvROz&pTt2n9{4=Zw7!t)C2wLYSp~6KY1DN&{d#KwA z3yx8mkBqSnE5ONe4eAdA0oG1i-;(UXdB}oI%zQ6?dr!+x)H7!ng_tRWtwa`scy*PowMJ zWvx}cDf=fr;-8rIR33Rkh;}HxU$Mt=(#x~v!U6l|L^)W1uHYDXZ;K&7 zX2`YTk;nCtCg5(!e77?aq{j2PU-5qb{5hQXqHI&BB^RWvA~;N*8637Svr49zzZxZO z#TF(?DDeOa=$X8crsK49XeAm{WthW7O4b^&y~ z4cOOt#H)` z`f?Ph0X@9#Xx(`X$1J<%c^RcD6CKNQ%Dp5qL$(z=>T|UVQ>ixm8o-dL3#l;_rJp-1 znKnQ%(08GjTYxLHMm``1W}*VsziLBCblH#PA)0{Ng#OfAhlzus$O7V9-Ouf%AEKSx z#*4fa%efzE&ba*vvm1oqw{d1j;yAfM*e66MTZ>6f`ghPluS`6UAnr_o&p|&?MDdC@ zh;x9q%$xgx;}-}$T*5pwaVKgSpgBs@GhPob<0pE@24kUMBv^D z8e*4W%>!~$w3NIy1q%^Kyy|7wtWO60!6-gB;+Srjnu=j~_vDHaZx#KWiGXg>?Wr3a zw(7&u`7%lN^FkQjgVgvv9s4?MDnn4Qw5VMpGZt{&;k-t?J6IYSYGG6)cWH4ZgX}(7 z1-=<1n&C;iv^<%n>dS$6bwuwdxg0e*f`>~M0r1av5U~MJkchhu_-Y4bGtKAB1+y7UKbS<; zjKAuL_=dLi#(;;iw{iLy4PW^{gh)}t@zK#ybCnh$jw6ZNd~M325UI?)tY@`Jz1fr) zMIsF5WekzkjYlWcU2?J^@0Ug7wH{f%K`BfB+sOL|Gp& z5&)YZ%9hG{CZ}GkT?#fB=`ad#PIJb`t8s0Wb!)DWEA3l4`yh00`8Ap;-y$3(h?fdV z6y(E}arub%&q!VU#U%TU%+d2{{6|!dRn9vjeU^x<)m$~^>%N7TtjOTyBwDar!^s+g zX~s-`e>x1R^MSBT(4GfBxSg419E3*8_QwV>(%f5rUWbAN1tauvKcD3c1 z_a>&92JytiwPoAOhHgEjmo=q#dDm`bmGha=H`#_`Oor`3^&apRQD~)#lEYJS{ufNo zFHeFxr?2IIR6KJ3-jwiP6_3A)y}xfeB?L^<~jT z*M18y5|2MrWYm=?Q>6e&KG4dI4Ix#RC?+~xf@0gpez!ynqaFu5bXU89pktC-hCT~q z4Q#KUL1_+X9wbH5nBYV#u?n87apkZ|6NEyAuaei~q0Gd|MxY>eAZlQTsa-bqvcSR* zSxw5j7S*p%x(4z#3MsDT(0IuMOqN9o-AtRkPS!-G4Q`1xm){Ix!y1Bn+Cv;uD$8Kh zF$_qxUnPoqE_gjR4fAUj)=362Po?`2h+sv|d|*nYk}r3h+asU}kyeprE`?WS+jbl48&7NWvsDQn_|kgZ=ZE$rJp#(C2)En1&wlgl%9uVgJ; zejEohbAejunI3&y);r>m8JiF$MG&c83tew+-0_NEy#L$s6rQv`hXC}4T*j7Df@W(9T6o*8IIdr+e$KAck-A|ft* zkM0}2ZA;9!T^|VP+B#x+n z%I#&*7h#)O`heiNi4NytRnnnbH8mhE%|%{sq7cnEZk1KTpHKcSCdYs*k47qyC<6AU zBD*LUKG>tb$Q`wxT6Qgnp)`mV;?Hpu*p z8F{GTJ_1%|Yw_)!|N7B*Q(0u>9;^r36HersEr=j*$d-;SW2shJepxgi9|SV!qqg#V zALxF(JRc%g4xtml^WvAUi%yZ(mzb+|S$Ll^W8qAutzA zmDu*)eRxH~C#q-qvZwS?uI2bukC#us8Sl?=4mSeagQA+!L|tm;Wpr=a&g4v}`Qh3Q zGb#)ZBM1dv9Thc19*a&N@-*Hfpr|EA^I}Qk`{pw3thfs}GAWUCv?P>=5zbxK4#n#{ zw_s_q4`*kcPQMl{_v`vO-BY2XRa2|u+&d{rNMkUxd5(XMJ9B?X0`si$wakpxgi8#Z zyr8olFrfdrL=1V}XG$&2!u_;p`%Yj-(@Bcb7iO}REagyEP)lyDn8zmrwY%gyYKR9c zOMUQGy*|p$(3-D|#byb2>yay##OPVZ;?Quy0VR;J$fFb40BnkwR&ciFrNSd%g_TT$ zC!815Rf|(!Gi3QejPB$_EiFn3TYVAEA*%>WL(JZRs>B2F`-qp4D*-QKEwa;&S z{i~zRo#%d^WL%hYUh}#QK_QVtW$R4uGfg+C!VnJ_W9FU!Qe}O@v|vA@*ggBelOAr_ zEndicK|-2Q`&?&mpX=;+&0l}U%2^JslzjjqrN_4w9^|fB@d0f{L5!A}z0`{c zskx+}xj2nWoMnd>v$GffKxaS>dO68C(E4l=7%{UC!Oir>_6SNyX(;#?@rwC($nw97 zSN|yAe&dY*z_$OplJ0l$>bGU&FSzutxA+h7>eom9v#|P4RmtCtSHBI{|A<$NY=9+T zKmWkciUv?~gf$2rL^k6Ir^HtUJKc{(%$8>A9tQ?sroj zZ8G;_1pA$d(>p^EEd;^CZS$=e5kaQ#lu2- zc!;EZ2=B$l=m`gbI8FS^Cj|k<3_DCD-*{4=sgT!iR}b((lKg$8Z2Sg>L4tBYVJ-*} zrx*|sDdVbxkd2%a4Y&a+iAg4wOB%#d^pMXc&YMxRNG?oM?+QJngdJGhZnMK8C%mo{cNJ%u!8ZaW6m;ubyRc}U+bKRpr)9SO1(4H@%(d2 zlVa8LIAyl<02=uMzOqMxs&NboV_In}2{ekuRPgSE0Jx7#CJ1z-arvIEoceY~P^@9` zHP{Dx4t|AA?g85HR*EXgv-ct!R%!xnpx*TD!&c@k#d|#k>_MH~La{m;RpxS;HY}w} zJbnd!0&|V=5?LuMDurU-5J@QdjdBO3$`AwM*Q>b9(&pT=TRo{OVgh6rSiQ>FSWJ?n zy_E%`l?gMm=Vh(U$P3&;?5wEt)@EgmXRd2mKX+bI(Ou;_sVEFU!1`vb)XL&3 z&wp6)y@2F-x-u*eCLnN&<>9XKR<$a&xS8YLImH=d{%C;9~kPuIFCM>Z$<1Fw9!?|g!9TBs0OKlYUsjV7fgWU$k zu1v&qE+RG-O5C0w3i=G^mobIG+}zyV{ZLc*gb?=MT2iJ(>TPl=YC`2hJr(fGvZlqQ z)Oad{QSWKc`@>vWbtRgRsuqP|UJBQi#8;JAjhM^R4AyXRQU$Nk-B~|&vx(_XulLvi zYxVVh9YE}J?(EH!pEEBlFQSVkX~G~Fz|B2zat#tllugR;CC1QS0GWR@xlR&8x{f|q zFpYzO%}G6C=E|4WKz|yii$HINaVS~}YHK&PK4j}*AHj#R(VIq2fC4R=g=RE997q35 z;i%19P)B$Gesvr{iGgNnUkxO@84&ty^14_)QRq`jBC`e|Im*dIu@Y!jyc6m5MX--QK4Qse$OqXtN`Vy1Hbsko*5#UV4hm5o z4YR%>;umg(IvkezsdAZducV>NSfBgDm1O%BR7m-hDMK1ehWa;B`ri}*zr~Y4;DHWU z9^`meGcO0?c$z>!eKWzK(wvoo$xL#r z(<5`9gsHM{h`k<)LwftHvhsY|p!Ob7u>RbPDHK6cQ?uF3hhmebsnE?+ozHCN{D_RFf*Ai_j0iBV-MQ`DZQ`aRv zZ z_geu(56nyqbj*NVqKs?+89Fn-BY>Haj)~>}&zqz;~&|6W`H*S zmmkCb<{iZXC|Z7x_5AS^D+fR!!Soj!Lw@~L`RA+q%gX9EB>#VHK*h}X7fm6+r<3LH z7Fn69)^fW5Yl87Fp|K^%QtdT6?I#UoB2!Zs-`&yH$_RYlC*0B@Es>@*x)I?L-u8hrW&_)T>7uI?Xwy z^mIZP9(lADTA^NOni*RbmO)d>u-?T>a|yFR?9NTuuh22gYq`y$P>kt4c8|LvUu5Y} z^b!+d2S4;)6HCPtI={pM8&OLY2LgwFZaK)3TSE?&ZhpQTf-R*^FV^y&r;gL4y(q^g zfrq;$H2S=ttHt-@mb{)fvIv5MG;v99ydIrRCW-?N+4Uo9^K^S;iH=QEZlJnN*Yyio zPOjCi3JY+k-L%!c)JWOQ4`D{XK$z5LVhWsP#D~ZFyOMNMeCgFe#&PP(Ysnwq%>&?A z>IH?~TQdNKY^eJOw+KUvWPb0f(dRF0_ClK0wkkv<_!`Z0-vH75HySPE;&f`{gaGzq?De95c6}QS>>c>AC>ua-p z|CU+>*F&I#jlF#H38n4pOqbY*ScIx&MoCEfsnt{3@rMdc&g9A#+C=Ipzko2_zywd_ zbo03qL33ra0dq@C^n+tE`V<$M^Mw)84`FncJ4-=u1mR+y9N20y*GvQ*P&HUCwRsr? z&E}D{xk8#*gHB|WOJy%9ZAoEy3`iTu(0j$wSJP*qK}QNs6Jw!qp$Ml>P>T9MwA9etA`!wO{cWCKPs4A6SetHvsCh_vJ}C}8cO*q^ zgmk0MkLp0=ilh+ieWSHR+YKFy@|@Mi2BjHj3M0zSMT*ql2A(3OmJrJZqJe`73IXo~ zR{H?~b@|TDxU9N%Ll!@HTH|yS<0uGvO2oUDGzfw!_y|2DW;jot}QEG0@}AV zX^2q=isONkT~q=^W<@aF_8N;4`C%JeIkG{HX>*87N>4xI{5 zm+|zfZ$LE34R;L7y>rbNSwhi) zH^8FA^j8g7R90XNl2^v@opmV0-hvXhHQ$%i1@3Eys=TN7_&l%C1w9cpsxgEg=zLJW z;nCW;=FWk<*fol6Sac4@BOZJKR&mGe(i_u4J!P0j zH}ING<0(j+hgkqO?(%y*Yc6z^xc2zff#zQ%X$r}>WcCPxgq3n)k|Tsm@+NA?K@I!oI5%nV%wL~ z*7Vx?6`UPu(*Wf(tLstQrmS?i)ysH)J%kms6IY!&)m|}S5=7% zDJ5r0GFEvCH~^DKlNn`wioaH1q9chLWle}E9Io4Suh|`%2T=|JORIr&iikW!U!Bq} z+1=ycP{_A9d`!UmpiDeh`~nQ|^^NEH+>`?VBac`rAjfVvRx_Vr_#}UhX z)oXlm)^YN>HE;e8GYz9-)vkQqhV#M9*QQqTJ%K@g@3u?vp<;2QGCd(_j(G0jqQ?6g z6jLm=UMewZc@Y0X4q)lzybq}o{ryY{G`$P{xR~UUFGi{j-+c-CbcGSVQ0PDb!ii0; zl^7Q9`(Xb)p~>R6<+I>2>%)4-B2+(00>z}ad*EKZM3knp>aO$Gqluh$HLUHk!f(W`-ZoOXowdp2hg^p~p__#}JDLbiN)Q9!YtWzLvQ;L?e z&}QtF`~eFR$AfaD;&%t zEknq6Bud@sw?KHCZ>Pz3B`?V(xerbn-?3ecpVyrrQNcq=A>}+e8u|c2Vd}>)v5M1y z6HA0T*&T8^`1&F9$oo>3$Io90nG(K=bSPlki>s3`G`9}oTYXqd@xy3(<{rcd$IQAC z;=6EDUl5ry+2B}&2?-b*CFt>;Bw*k2J$4R)m64&Aacv9fcjZ&)aePBmoP)zki)wY} z0P77yEagyC7<*x75~~9dE)Ttq2ZvykxJKl%QSxn^bv_?lrdT)9BNsn#;aEMnd%Y_n zkS{=5h8c6<(+D%4pXxQKi1lnWZSydY?itQULosXYO@?O}WWoiu&NB_!CVLJQqU^@G z&>9!qG#@B8-waIdhYg46eru;J>`Bb20Zn#o%>K4cZ*^$?^{Iq)bJpzLh?W#VdMkTr zPbQg-mj~VnJ~1=7^|YEN5k3RmYnaLYOM9erG9R_UI8!M0IGX){2;G202`4?p-DueI zOgt!;neylfaF=c+5Cc<^r+GPR!~TJ`Lujhjrbr!{8|Z@B$wD<)TgsMk!M4fgyNs@0 zx}dzpr#9wkry`3OMdsS0#Lwbg=<_oCuEV>9-_+vJ6X|_;kmOc&nSe&#ge4Zqudz#Qzs<@zj^EQ5 zb@nt=0S%6BftXMm948_AF|{4ZQLaRcD%Sz_K;oL1!Cefw_8GnRf>FqS9LhAYv^zA0 zC>Oj6+{pfhjsq27nA!^kgZrx4WeslG8^J1yOqX^PM*XRW>08$U5!>SgQ)!fR8bi0o zVW$~LlWhrSCtKlwtkc86uktrT+PJ2Z|Jy0>vX1xjQKZh3*>l@97 zDsK#$1-wvD_W@Q0>y|QylumA<7WDXD(@gRkV@IsU6VeYSzk$l>V zEAm}ysr>iJ1M?;fEXxRM-mE9w{QBuhOSjM1)es}tOa&_(P0OxpQz31xcmg}PWv51r z+5OeThaOixE?DqsZOQOhn|>xjv|rhRBtRe<9rS6^u=TUk{Plgl=f8zKdO_fGC48L= zsMYdu^d|Tj*Y>)}vr`Z5-Ec2@!l8ZugC|WN!>xGdS@2FWf5j{u81?0nY023oL{Rnk21$_um1%r6Re6ES96ENM zPY*#hmCu5h(^CwiN6fq3{q?S?d#TLV%390*_Gs*UVgZylH>TeisMta4 z`RpjATy^22S;9={_<5MChy69Bd z-iQhN0|!ZTR@tVp1d3IJ4|d10UqL^=o@A0>C4b?Jo^7io7i^#o%_Ezxes$DEB5Ih3 zdn&fb8SgbE5~1<5+7Ww6yxdxh6p-lkci5rr#K^btjwC=Ae*=2fV<=C zR39>8Ga*yjg?uWdf_$f%m`BDS5f%USfl96hb^1AftF0jG6Z9xDvk_srI3bE*I7Px2 zGz+lkrDwdB$3(h!W|@^-8gB0ivJt}z$kL8FM4c4kmEcS>FrFO*5*Ilir!8k*)_u$Cj8r^+^@8%BIRVqqyhW4AW$2OYoIZM!K_=5aY6eAH1?=DCZ3Ah=AN@ zl^~qk!p}-mIp+6D&On|d_TROt6_Kh`l7bJ~kbw>AWp*qrJ_(?l)gs_1)#cVA(&F?8 zwctn(YZ4JonX`eSF&CvQgCk(ZHDj~f_4vcjI()}pGZdl+!lub=!3RUM8~!mcIYMup zzHG~=cF^j?*>X7BBWhS~OFVPj_-KQ*f)+4$-RGh^m~6dZLvvPUHiTrF1{(epKVt9O9D?reP$R8`y&tSaLwjOF?} zeXESP%n47TmX^Egh>bdKwv@_v#;GphZ3Q+C6%Txs5F_QgAN8(kj%@@_>02J71cRP1 z+#^1d&+JtgW7WQ!3VR|z_xk7OQPPHlR4vy-%Ivri@n?Li2jc6FEih}sjry#skl@c| zOBB**J3<+LW7vrA)1Q2ro{P$9B#|g`>g9RdCCkyM1E1z?mAzfV)z-j+C&0jFo_50> z;I5iKm(oRX;Oshqe_b29s3~ES41Q1pq{^*+#_NI7q{}w>X8)B+hK26N0&LjG%5obT z@R=YiahnF$SrGf1x#a{jHWITiN~V2Ab)r{@MT;J>-pzs|GC`a{Se^_Xoo>U4EdsWS zgtHb6PHakL2l_>QY3SLss;XM1Vn+s7NjEHUhn{f5M36hZko3X6h)3->87(kx;D$w% zz?699u3LrR2c;BpXx+VNszT;(_b$jG0qYAl)Cl!Wb&kmQGw5;cq7tPq=c*aeGv_MZ z^O`SnfpUW0Is$w=^H{_u9Fl?zvMpVub_a`vWNagj7LRq^2X7{)hg>`!ybQ1J21qn} z;MaNa>QDzeWw_rSiY}Q=m>21EB!`P`sl?|wwj$D zS(yI>TmRuC;C=jbsrl1MmOo<+zken(z+Q&+&rkf_iu%9$gp3TFbPRvBMx6O~82f(# zl>c8GeVGAJ{hz=FCRTu8<8Nvc3bD*>SH$iB{xR}7uJt?Z?yZKVY@BxINm&q{KrwZ|ulwWrjo zGj&F1r-%?x4QWawIXThV=a}wP%68Xto2oa**So9zr?q?4dM7g($2zw3TBhTOu3)s< zdmqq%>kMP{T8WuR;3nJ{v=L_b3QZQ18qVkYgwYQyBLx}6m*#xa6+%g$!d*R+KUvPW z$auX_BNoAQBvQ_lf>cvVCz4e!xI!c`N3(@k%q2PR*+i?w!6fg&Ff^)y@TU32?|v|S zJA{|no^%1*28C1K-K-2hov#RahnFg|29|E@ERDicK`e8020!$U(L^td2cLp6ZKanJ za#0$ebEh5-(#10Q%BrAFn^&Acl}7pT8VX_`D(<0<^sqomX_koX;bX-@l=+%PhkXQE zR0xbNZG`nB^%Y3UT{4EVWGD_vUJqVa$ubHrj{OziemG`WUG0@P&7cVdN{azNeoDiN zqVZ6N(I-mElzd!sH4k-;|08uj7dTwrg$YT;1=~0z!OQS$4zE@BWY;cLW2*ksxLwX z!z@&>bfv_4q%o`PQpM)nu0S^qroj}s`TlHY6DX^+5eS;X)FtF@Idy7hc;1eYh>RoC zSrs*gnOpuUa5udKrUh#Jm^m^C(OY(!J`ydhoemI+}YWAQQv_uf3+I(m{pO!Ok(ybcjT6^nxTH zHqF7Ov!fhgg|$aW*D(B@sFyE01&q~MMB{B}#?^bQfM)*bX-=>Lz3_V|j5&9e>5L(x zyh~YTM>|UggE&6#QC~&Ih--Q9E1stTG3L|@Gi{W(aVcu~{nq^RM$FL+6$$-Kl`kvH zM{E^0Cw}Lj?x3ntLF|7}s)C*S)6L#^e@CRzOl#^NAXYkGB+XbN^3 zQ`ff{LoL$WhU+6soA9t`w-dr6d?ESnm=EI#Z$FD{@sZFrA)(0+O`0n*Y6)$#deuNQ zWLdd`K#A?niBe+9!%mVlXr|PR-xaFS}@Z!nM_Bt)f~Kq#pv)_a!z~K zt=kMsmhSQ^R91SIKgqIc>D~&+nth-mYWX&R>nSu-ydJ$vM}qQczg>pyij7kYZ}I^R zrjGjK{Q=5*IQ|J{t5p6w8udd-Ad?#ECgZ8e8a5}4 z69S+aui#0cwfiu#ZRVM=%#rE`>)l&>tqynHoJOC%iyR7mYt8XL*s9XnN^oUBGjfpP zKPsRrAPcB55_;vg2JF3_K<4nr~vp1+)QA^}{j-d~Q z=8hSawm(HeWIvlQyp})8oc89+a@cw!U_lVtOl4VB@|adsiD&0738?AN3;qGu69U>h zg<7Q|6j2Px(P^#7-Xm#=9MfF0lF(_>Co+mih^(w|RsVhsABEs#p{eD3f$)Ikeo@pN zfurkkbBkiqYX6E}&{O>ekgljJ5iz#<@X^8RSM_b!oaBJun1XgctKG@Zu;)2uaEX~O zipPBxX+>p{k!*)K$e-z)T!%H1Q!Ee3&>prbrDHP?>P-^V>dbW!Z3W)-;({X=7|}?6 zqrJt&>4}^v_#$4_>2dvZ#MUR6oB=FVFG1l{zBew5jV zIaK4IqqI=Oy%`yFp9ga=ayfW0b~K#C)lDTsYf|#07m}flr?WxF@lQ^V^zToVMe)B; zNqrYGKjg_=E548l7tAn+;uCfgmb*7fLijG3%){Tj|6#x#dlm7Ue2zczBNqX?6?lXi z%fJ@skcyX?%Hc&3R4uTw*UFsUB~T|CX}ZaIAt1=pUTXN^AuvGPJq z$N5vGJfTwUDGeUwMijIFPWqVi~GTlS-M~nyAGE7OXTUenUsVbiOr)991W^d{<$DP{lap$ z1S@-YXvMG^GQqk(>Ar~PjvFVIQmlb)PsdBmR&1d6)q&G!lt=-Sy<{+OYC;gfu=bAj zJv2x-X*Mc2pRE_}XoH-(orf8f1QrzJ3rfi+RhCTk=Z>umTj#Oh$;crVd5rtfidMT& zxFHr$iQH;ga{HY^`f*^s>QyTCND6%1u|b2TCNHS1C&XsS-p*3nbOZ5(v#P^GOK?#K z)8(nD9OP-ubCAQq}ThFTul2}-j zD^E<)YPyz0M^TEvx0`{FOFV0_*5|rzopCNc{`b;uRa*9uP0&B59446J_ALJC^lKJXEwk)e=H=VaA&6#5Ga(el^%{#HX znLxay@GZP|BO)c<;BMhs!7f&sjAQ!5!E?`T9stoByUD1BBV4TtnfrNH7LSmPD!Dsi zlY_oyzV`%a#U(N3JIT`}Pf92G!t}Io*f?m{NerJtEJExm*-iE8k7Z`VYzgE>bFD@@ z^O?C$T9a1pW3>E+a)Mae?ltm;UM7U0l#%H-VXjj7K9>9%vrm9Vl9{C?65cFJVqFWb?$MPDmoPi^^OM9#N&;rOVz*(}A|bEXBsu&K zDK)lL>A^BH4h?qWO9S}>&Oc?vJVx&Uw@%RX`$Lx6!>HFg`m($Yqur!WDw(dJQo%8Q z77_5iE_0CM29cYs;eyuoGD&Edf4lNerz)}Z)OqvS*i0t>t45LOx5f6qVFP~_kAG+s z0bSRB#RmSykdpZ)vG+$I(C^s3|Gq5*NOtI$09^_T6JY8JK*X`IF#@Kq0NoEW2VmBT z=`UxUtc|U09X`=o>)Ys?8e0SAp8nVx{**oauIu^vy8eTB2G9WhtJeP66a3*6BMSqd zh5ak~@#kCp=L7$;C-@!x_%F`!H&o=`q#u9RoBe}+WCF~v{oRfrNzKD{w-M>bMz(={ z50S=#bVNaxq~d1$(=ymXPKTo}c1nPt^r|+IhB>vlHNC&*{it2Z0=}1ve)qN^M+VmT z4*Lke5aUwxh~9uw9h)S=%5^_|&ZI7<=h-L2Ub+e7>s;W~^KsoslYa9ipY&@Yebs`Z z%EIGz{(Y~?Dfb$Us)AHZ@dk~mAfo$uLsjzo%T}?elslhpxlONcO3L4hw5tN)UM67^ z_KJ_Q$E&I!1%-%oC>Ry^=p7QlB1e2hRH7g_4bH5GpJbCT7$ln)=Ia-&ox61FZz@mb zJ4?@{I`YGYnch9yRhJ}p!>WR3t=H^P!J(XIvs%3Q{OnKXA#q!q@c&nbl$U1m6*6dT8~j)F;5C`5$x;O zQRqvyJUq2?Fgw7-d#acY4f3`c>&aG@hJbI_L?*DME_?UxduMBp`tGSy6L{~}^4;Vc zRsI|H);23=aoA%}9-ky;X?a9b z(ENv`AKD9nx!~ao7$Irrj_pV6HK|hJ_F%O%9~{m=WpW9N!XA+b;5rb=$?U8JwiCj? zd02XGU^>*qe>IJVtkau~v1p>dWv4^xVKm?ezKSI+E$re6Q6dsL2Yo_@kKE^=P_|5| zt+Y@wQJ|5XLVV!G=YCzxF8ls`O@F@5h@GW7?hxes`MLF*N7ZeX*x>}P^aswS9KFvI)q{QgrJukOaQRzbJimqhIGM!z6yT%L5I6E$_iV}7O*rDPy z`aqxRX^76=&9#=gvba;UR#Kt~;zVLHtZYaOiDxvFp8W2hmf!5 zW6wwP?kI~2!wI<7$QXQD>UZa}9%J&zqjdyU(E5Qnd}dxS;Uckg{+Op&IPzfqwp+{> zy4m*nlT)6?FbNkY77mNR2}LJShXg}?)U{{Du*gnd*i?YAvZN@8hrV*8Nj|bT9hYXu z9Vb#gQgt}OB_g9jB$Y~NL<`jlEMja@!m5G6<3OLo0Iv`O(FUsd-Mh|Fru6D*0l^&s z@6gk7s9F+mQ%|ZhGYLk+SwU&)7HH|o%(^(wK(YnamV>sj|XLZNMrTxG?^ zONMxGubI7kh1&~y}0g3sx%H1{d^Rw^5bF-p>iF<+f)C_UExqRDf zE(gEf7JkBH3kpf;fgGJL=yw06;^x(KydQbL$|mN>S65`PJ9#|9OQ zQo)&KjcI~shG>D~rQ9_F8nCRFam;2J&MTr}85&fR1t)Ac!98b@LZ<%Cbxgp6FenT+ zZUB?>p_K5MGY_(fY%SF`fs1Y-sg%@Qq?37;V^OHkp7_hDrzH$hB>p!zW7!#CY(!;6 z0=5-z1672|atx6{^zWEy@6j;Rwh+@s!!m)v3Wc@3o>5(*G4CO75auF53JP%`ySkw% zVWz^*5GFuQN-i5p&0i!du7$1!Pi3HmNVT1xvPD5G9oJWP~3hlsqt`H$>%H zXSB6ADQ|cu6pi{u;p%m`{C*+dX0|yHI0BT9eWEY(lTo05Paju2Y=joWJKN);5qP{Y z7b;5&Q*&t)vR8~GHi`vv9#tT91Sq$5ZP{tC3UuxAkp}x%~fu#g9bQDtbHAK*VW0de!yYShGar0dy5+iah022Qc1CcvT zjtkdjc4OdmM}V=r!`B0h6ik!mi;W~mo_GLWbPDTaIg{I4dsAT};nyE57K^Cu4c#Fb z|G^(tVcq&8S|)R&r{SdfF(RQFLl9OTb(bBN^r#TNk9Yr!V1@%w#un7M3XtCOO|aAw zwyhz@cI3#XLF+Of4wNXB<+RSCnp$F+fPBf-d6#B^y*!>puO~kQ2w|D8Lr~UF)b8Jq z6uxaE7?87n)Lq3j4+dVWUsHloRJe$TQ|F!<%sn-n2ZFMS2oZ+B9Dgcjlp}mN(;#+e zfmnj#Mu>Gpp4do#i4zJ}D;HjB$!0Ui#jRcD@x(pH9;8WfxI;;4(Hj+HP<#$wS#y z=d$*&QpSCD>-r@c=!cE{!|+mzurOq(O?8&B-Ui3v#$xIh)mTSD53sZB)%C^fuoF3# zYl4L%k2Mxi8;!RKhk|Dew(|XRx~|u}-73sHS{1xdFqs2R0`kdf_($gzN4UaVf zI*5SEOP;T)fmLgDi8HF^ZTqpelAVe!PH)4cy~ljlKcMwOd-?vd%>EmE%+HGKk7f4% z10TcmSM1BrfBa{K`QMk>On~B+g&kmU0I;HC1EBEifQp*~;BUar`Ii;8?N19jS~FvP zBV&g@RoB0LC%@LozsKC!0YuWDkb2hNHY|U2iiHi}ZU8WN_~S_cFZEk`;6GQ_|0C}E zn-w*ncK%o0|Ihh9Ccyag-^AD}|7U9+5!g2YG$iWqS0)oRcy55p5gd)8l#F_M53y&VwI4n zZ0I85;LELeEPHuHnbAzEPInMNJcIKFy*F=*TBN{NLN^iv+DFb^GniCpF++a)JQ4W; z@NFHs1yRbC?F214U~$wyqXpC?jjn6q4e&Z5PG0Kk8Aq-Aju)sNH~t2T(j=`IKU`q_ zJB0v92K=4GpnzK@%elt!2K#Y=tD1qPvPG%Yw^a_|V^dSdwtMHed;{1=)~(aEN;dUt zxRj@y;UZZRkcYt&a6j4Y-1JWN{ke5Ctv#Ai71lM2SjANBHJ9U-NNt^07eA1Ra0^tZ z_rtG1q~S0VKK1&u-0G*GxOugdywZF5V;5o(`<92n&9mUVOMM@h95*7(Jiz-*Hi%4==*P%moyF-Tap zr*bEJZl|tCFrk7Jbyd-wipho2$R>yUa)ce!rNEWMT(=lGLWQ)RM~`@FZr-G*tFBPNTa zWdu^h>>=uM`;b#IXaJ>wdkbxW8(ZT0AOyT#Q>|$amZZR(9K*+nBMQKXv*bA$uk}GHUxq# zp&*L7Dq7bNJ41^LL@u|5=?>G%)XKBU5i*&|oOIq3Dl*n=;4VKpaO~sJj9oOPP^SX( zyY@4INA=dRcnFgTbkZe0iR?(Iav(-l+egdAv?ODqDGYzHL_3lqJ!F>GL}1V%%Vz36T1v5k&$WB#F4Ys4cBO4Mmy#FJy%j+g7@1IaAf zV}u>H#7`0=J{G=JHkVUg`L&?^nXde#E-WUPTyd9jEUol%SCWECeNN8re&6KN<-+#U zoP+)KVE=5;Cl#I`NYFJN)hRnV+cw+Ip6|?hKeqeWM=Q1%?T?w-xPRPHL}z}tz*^s& zpW8ix+>p*;)ynp{o+I#J1HUC*AiVMFB!Kehyci%k-Z7rDw%wa)%cA|3dKDBmD?nQT zd!6_wg?L>+1HVBjFihODErghf+Hnc*y$!sqII0l}cQdpoK==f5kgrTX4Jw1o z(>pCRz&tN|><2JL52MasB~pMF>c4{Qzrm}12I4;?Qs$qUg#Wxi<)0I5zg4gQ3D5a? ziT{8C0US&JbJO&?Y&G34jP)P$6acyU4<~SHDK|RjlB^KMNuJ z?Zb7`+!%dV$d*4O%{zroHQuop4YUZK_BQLrbLY03!bE(z4SKIaq4R|KTLluG4U_u# z7kG@lwF7nS<3`OVp)$goJiSNb+l8@^xm^j0J{(@Lu?0GD$CQ?B8u)n8M2dmJ_gx4f zIzFdUbQwF2LvCi^NmcCRAU34Nr~B-^K?%be3sKKF)$1lUQ#*=7yqNss(wifp z{c-+Z-iMMGetD}Px(2>y(pX*q7r4Wt#Y5Xfr^s?!tKJZ%ME+u)vTDHxtk0&18cfwT z_2Jfk(B$Eq;p(pPY|_GN;sG~MaEOK3#o*jG&jc{yddgG)zhnNXs%@O4_W(w!bX-x0 zuiNh>8L<(6GBj4FYp(g@`ZZHz_ZLBw4L2Ce%Iqo0O(B)gh5)^8w~yZN&C}qF3%dw= z&tUvQfix4`mH=N9S-xK^eMDsps4fuU97 ztyrxmO%;aI_1DjgwatW*gYhKGK!?)EU2Q;;FLo`;z-=m%-|3Li$dWV!)%Fl$8^PH% z_9RcP_F*64DsCX9&VgIIsIRjnFIkMx3}pK8=+WNP)_&bZc{VP$G!^kP_(+(!r<0&vY4>?S7P8{P2xOM~q*5`%$zz6$YjB=2WpQGW z?p(XkD~uO8bG#rV>WSQu zGK7vFczSu#aL6PNOh+jNtgPOw)Mz9MYBc-Na$}mTGfLpD8gVR?FeZWm6 zF#U|l2wn9`|JfqU`t(qYAMaOPR) zVUzm#Fnfq6Ea%*sOLi|Fc+i%EcRm*JE|_2IS0!xA{anU!zFu}w_x|TH#@Y;$O+If< zAO)A^T#5LIxCaoZW)s<3*h|lL)EFZsnf=Re0tP&Gkc$h@0|BdsJa(K0G(cxbpZrcn zaOw7YnLa{+VCfY#*lTg~HHa;LY@Py&tyln8*T&I4pa{)Ln)%*hkT&yaj*KS0Mj3~f zX~*0|wMRKy_4DFa4gBok#fA?<38hPbUo{sFRyH2UBJm*0L?Am+&s%lG9&0Qa@REDs zi4*z=+c=pIw||)oeyeKvcgf(VD(!b3a)4oBK!gP(2pMA|bA2IOH$u%{vI84n_=lbI z7pg#B-vPh|0OolBBBNiv@HfeT88FNH$GHB>E&lgx0QgRSP6xj~#tQIiV`KZXs0ncN zw;j)a3hIBeS7G_>oBKy32Z)3i{%#~6(>RXV0igfhKK*$D*z^u2{UJI-#W%4ms;Di( zwSqV#g5^oZnqf38?oJCoybc71={^d;UPN-0)86o4*h?voe1YIh4z=lLBGIsewOv$bdo_Nog7as3;(qKNf zr$Tt=wK92>ivbQKq6h>utW1QYM%zRa&1U&S6&31$2t&F_Qgshd83=zNatp! z$w=nwx{K$h^v`o^1m_Q@A?~}xsdR)<$Pj%7s?FWOks>sP?4`E8WEoQZ)Ni6+j7XJsY|^dze87-Aceb;Jm=9!L*@E=NF2JH>Qt z=aJ!QJ_wna5eb{8uCn*qAhZuH*x^dG;*%? z)N5Zcq%M#v35mf=*N*n|OWZA^TaG?3{-lHZe9~E)@X!{!7@cbEd5ar$@x4sNZ_;Eo zE}|71wz8-!T-r9IjO)^YVybKx^z?DJK1>v~^l|7?u#}~?6)x)jywm3yfxuFdupsP< z8GW_w?l*PUf?n#Ys{?_wjJv2oY%}?gjOa(GX_2T8hI&NDsUab}65$%cs`K0g>`bzO zk>ZZ8yNijec{w5E3E@Bj-^O{;5o0${SFB3hi(3i%0Gw(?S%n_<##K&QO(+U4#(_Km zBndj9AU(Bj$h3VeWoxJPxBW@7uf7PtI5{09s~yUi+;FX@319*iEXcf>?$so#NO0@FGb(Q`s5-HBjv%qikOYQVFav0{B`eLraX zum`+E+1x?d=6QHR!-Z6Dz;?NK1roJk5x*T!2&5M4d|e6~ssFhbSS)25u2A%&$0>4! z_~4~-o6=&&up0Ow9?K_41Z`qbOf6^Vn%FQdMbbFz3v+Xx1^$TAfiSU{K`^g3!z)Tu zv(l-dkki|lXw}D*lspJcENf@&PwbRIe)!_irL5w`n44$8jg1j@De8E&gIB)AY`D#a z4#R=eIa1_r%Pl0yQOZ(?-tnWNi}ia|6?Ngt9!@7&GW}u&PvCB!i}GW$+<`5Fp*&%M z4xgqDzo%aA08KDxy)LWuR-}zDTdC8Voxs>Bs_R-+r0%P~!?TmG_o)7+B+eXB4>N6( zei!TaEJCa@b#z|R1@&3dcMG&}dsbbxzi2Q&k_Cz-Hjvb zGg+wM%c>)0r(utf`og!IPo;LvN)8sYl!3n4;%Jq>U*d};vB&hHw{CsTC>1klv<#gP zH9)K+&K2~i+(@iZEs_#3ZR^Mv4)1<{{7yXfaT66Eb*gR#b#)rciq2LEBEM2yWC%y=YQPb$C^TQ+HBD-7T}1J7R7HhAbxpz zub3;Lsq`YEo;Nb=AbMraAk`TFmoGE~f^2W3eKA5*cYrYQRo2YH+vJ7g>cz#2A4oIp z24cuaJB%|}>J~=c;rxjRrtp03#sjSIR{b;wBcG?QXqXFS^F_IDX@T+S7OB=D!}y4^>E>7i#JcyHk>D;41$ zFRVs4RUI3Uw_cHcicNYtD(;uB9ZX!|Spy6n~-BN#CYu!=t71bh8>8d6R;j#V~~eXjOGQdcm*wk zyK_V0JJa;FF^E=aJ|a9xpWCzJW2}&kdLn6gL_2MP5>uLI zTAPr|AR?$h9amoUu%c;{W0{p|S|kN7@Bs_-l|#(&8;scZ3^SQ;4?FxD-p_9#Z3nxU z;4_K)v3u4#8*Sl+alu39VV0ZU$8IyIQT17v77c)N>s#uWf~hGwl|&u~*TSiDp zqpeqISD{1Ea>UTZWxpbpt;C};{KS#LjJ&#>YPgg@m9jWK06&z42vH<8lm;0PDbL_O zURjb&a#G67hHFwijf{PS1W|Gy`^r|oUJV#g3IE#&cEtUp@oFJKI z$CY#od-Vt#jsUMsenedH7QaqifYRRXjXrP`#$U`-TS|>li~W14>vFi=T!ErBS>70jxIAF78q9(0_qI?S{?1&!Z?SntSZb)y<&b>)Bfj#F`lG?7CqM%5;Cmt)SJ7<((x6~k*Kfp_9W6f>@?FatJ zr>H{zlauFKJQDUV*30|5p$P*FsNya`QQOb2E$!8CBuEB?i$gB`2kUlHLVZma7AqCv zyU@ztxTGrW$sdG*?w4gih}civqo$BL@<%T|@mn>WMF=lB8?x%*4?UfZ!V3-QC?Cf(O^&PH=a3 zcY?dSySuvt2~KeRPG_cnlkVxcx95KR1%#cm&OYz+>|M2LRVCKI8!bV4_;5%=7e7T` zu1C)_oXLJ{d7Ry#;fD_n2BwDRrD?b?By6B`emq5jIFUfuFPXm+scsWhiM|FC6_`Q} z2HMeVlSCs3hjQQ-q-^<^c_&Smw0?IC1w1M9V3*SG$YDeI(ew3s9f{s6hnxslcy(DT zz_=L}R3J@q%mORPx^Ml2N}4Vt(;7*i{@_+nwrox;{y1S$;lfA{!&gde&C289_4G!g zKM1^6M+Jv;cxI`mCT0?>nxM$Xy?dOTye92tKuVnW@^FavX>8Oe_zTsj9g$sOsI1+h8CccBnAQ^ z!7nKH3BQgKC?>^SF}bS9{AKERIgJKxSpx^yS~Z;9BRSs{46Yg;n|T0;F`x=8l5qy_ zJ>1#TjlcKcMB*s*o0NeH~m&+deO`Tn{>TogV;*WW1V3Zm80_amtgxaS9pHPVfG36f+u3TMY+N^F} z8P^X8iJdKmOxDVZ6AkinCP%(22B2kAPhX0~ezQ4epWEzIUlI0Wt4Dm_EkN7JqntGw2Fekb9fZd+YBu*_ZLT^g?&_Z?D*7Cidz) znP%Ke;8xo?bxVG(gnN4{m3$ksqIJ;=)*B-~H>DwU;tH9Uj&Lb*9;3RjH=u{oLJ6>E zvi>f!ygSbO7Dl~qo-BvE{`TeYF>v&T{g9DhIN#dnjRb-yes56Lj$uAWw}MJU{kBpi z*T1*u4TR6t()6z|BVaP-U-<1mV8);5=uZS9V3Ov)!i>KP-T*nhzac~hCIGB2|3j0Gm7SIzP%k4Ow(2)OCT2!}_tbCWNdWtA#{U>&^&fn{ z|55Y*y%;727Ql;g0F1BzGg<)f%nT5}u>t0`7}!_<`OJT9i!S8s{O4vN(;p^u{`);) z2J8tdpu_rm8NZE<{ZA$QznQ3iFXUGe^uI3zFfPWx0vHbiBwjPpv(qv#vjS@RZ7S)n z6SMzg9Y5XFe*aj0^2E0pm%(y`z6T=zpA5 zq7(g9u=s1F*WYC=er4i+XD#RfzWslff7WobU;C+96x>}voxddL3yYeI3r~;Xnjm%> zP)Ysj(lm!7yR&yz6x}vdl6JnKMctLef4ozW_W{QW>WmgGY?IgKnLLosGk#F4IG$Q{ zdD`v?zhUn2Dj1^j_0_x81tz%(W6a(4bt}(A1Mf2Vo9#r@#G;VOL22H3-eg7S@xmM# z422Q#PLv#)VDE5mhq6u#y5WPC3RD z;SlzR%jX}ECI=a=8o{88K1}D-#0q%ZDCs zMoyzL^B80`?Tnvd)j8WM1j2Auka4@2oodAGaXkDM;ESVe6T`-svZlQY-;+K{LTn>DYke}qHRi!c=d~sKvg=B(n4lcE0+d~$FDy|g7!ntbX z8cnvEZ4rlJg?TMA6+2TPZhTcwVBq-1IgG4DWvJ7Ym9uJ1`X%wDuV0I4;;q<7u?lCg z$gGl+SEA9hZ_W{z4|pv#-lr+xf{EVH;P=<^+9QWw*QSG*$~m8KnH;`wz(7$N3tqVi zNNm{vK{47E2t{P{5?Avf^4nWU7=}exq3@aV^FyX+QK@o_&KhnJIA;!O`xdgDP-sRZ z%8{ztj_hI7w%E)mp=5!WCd1?RYC>t0{68`7}1(IW8PyA?AfXSIn$YbA)+5%FY8GD@k2STQ4C9MMnt& z&!;$ExIN&YI1-kWior_SKmv~>ZcmHY7*|_s#q4n&dg9nMEd&jCI-@5`g%alx3`+T7 z>OK(H3x#)Ss@H3bxjv=J6%;tnVkxFor@Y=Y_*!m$S5*|^Jq+Y28;dd=F#mO>@fw>E z%FZHIc_Alyg?-;!Z9&r$f&mo3V>F$R!Dk+pfpG;pI`2EHGsyq&+9fjb*&5*_x$hZu}2jc--DY zZG<)J6xk?xYoPsZL&?4RLtQ{#cD#bM+Y6KU&^~>TKqHIePumEw=fvkH?Mwc8DHP?T zpViWgJ58}bgc&2QL-uh{ypvP*?+hyljX#{b_nvku`y8Av*4X7s)sy;QL}Ope$x@6{ znMvY^Rc`}v89YbiGdaAvz4tiFcfYy1`C%t{MwElUM=h~T#Njbxe;$-IUOU2u3^6JtgLg1Dy!T-}0618AKn zd;@;zohX-)>NsWU3|mIXGX7(s?AbvNH0E*!-P~Nq(xrGVzo}RlEUlQid2vk=X|i4S zJY+c1AlDC+rY3i#J=TU={II7{E91(`srxNzsSm!CSk`?O5!YE^xt{ti3a9o)W(ES0 z6ZyEE7m=jhZWk+9j3~ys4f>A}D#=~X!jb)xq*254M4uD{Pvq29Iau7#7fM>}4`%dw zS5QtnSoM_n!NtYGzMb)ZQ`A*d@_}9M_kj#ugpCL)HAz;>F)a8xE;9bG3D_ z6GsV^h>v^n_T6b?0d10SS=f3$L42L$dt@s@^&r1V)U!fnUbk-C&xv=V93ti!Z{N~8 zni+w3gsRnKHT&}PD*QHPrt(s_159)$o?p2|zGc8CeXS|(-lt)JzZ(N;bU}{~4g1FR zss;i3o<(>dXrBIxI(^5Vt@u=ShtmQgkKK?~DL_Bk76q%quI$VVo_?TR1h)KJhZBwf zaN<~vVftzIlebcirG^P#FO`%9$V}x4P^HT|&QRihQ4`Bh(qvp8N$$?Z@_co|*)3!C z^=dcotbnIToIM{@lcauN_*m}aMV7D+ekut@i+3}YeQJm|AmAIEZY!3^OFmeZSc*2Q z{_PY+5n&Iy6k+8=V&`nr=kX}CItWZg+LS@)$fHj%=Rx6|bYKLlBcE?EV0?KGgWfmyVoi#vML_(NJSfLX9}_%E~bePl|e z0ph5Jy2(kV`4LaQs>8PoybnHlwp38pcp)L8&l|QAN;OGEw3!NuyY6$4 zt#%=kvJsWhLU&#`=;$PaX&*LW$k*(8$bTV?<817g7q$2<-WX`C?}1o|X$$E#6@{{A zmj$Qp`x0udr4EHg4>$?9yxm#R6{to%ZbF8iVC|KKfY;=-#`c2Xwh-GXPZN0#MwpRP z7m48--UwGBM6=Pcj5ixo+(HYDWNb*k_t#;TOO1hL@kxgV#-b0i*U@NPcveZIV8RmH z<|so)Pt5iMFlSC@KIP??EF0J)sE z>bP3UH;7frGku)Rqss41<644P9}ehcpK?ixkoS8$N1DP(wKSDrFXU>r>zBB3^V{LB z-GHW&q46;sQfBFvXz9$6N);^7(87|I5RAxRQ+hF}DypaGS!d}&aMvp^cYUcMo8qTJAh(gc)N-AZJ!@ICFEtg=<|ad}+soG6QnQsQeN_>J&j*ap74 zD@;)D^=a$Ou?gpZ++)6-k#}5A5A3jP)u`x{&m&{22X9{pFy`{n5TwsebDK9p=C>0d z-Xr9mm)>)I1`U4zQ!N(g#_o_qe9X@B4;DD81ZvR!Vvde-RI~2Ck{GcTqasl zbZ4d{5$DdS)|{lv$K%4g(CsbJqwE>Agm-PMtbNdK?OM_Pm7ObNomNF(5GK*mqjx1; zx?<2gTJ~4tsA7c)Kp+kWE7IfS2SbO?xwc5w9CGqZ)MQpEiDU?WG<0e6F5s$5zEUg7 zXkIq!Zk6~B)GzbP?i{p~%DQi*nZkPH+ZlJNPphI!;_%%y6jU~VR5=Lv0++eBnM&2{ z6j&!pdmjF9=LuOcsQowumruGyC*kD1JgX^Pk=tU}wf;_Dd)qGGH@72g3GItg4POhw znZDcCFZQkdrq^cmP;B*=@lh8)j+P%x>02R(4$sZoU8#24iTpqWWFy0l0~z0#I^IAA zw_o-Ck|Fq2m-?R=f}e=~k6mRz-{SnRm?^;*@F8j5s{Fk`w4~XkO z0kgjezy2V-{ayY82on3d@T*W`-J4nvm(V^f37O~ccAj&_+hMacdBZ*%e+Q4)vBG7t{bf|T3>gGq60kYsTi+_FPF zFY@V|?1W2!LM2L+36igHD&{ay3jTr-AP}yLC=5`sr!@jQLHS(ffAD%|8H907P z?^+Y^7f9ZP5R+v1hrtx0g=3iDOu~x>g-p^`qvR!MB_(m?U(pn+oBB6oP)X!xBs*p1 zOQb31-xQ^OFq_Os_#tARiF%nVZf)8@tPDl4r#^$pn`Zqo%W!*A2~%)_{g8~{-z|>! z(Z9LcI(1(?1~?n@Yjj`R59akiU^osW6d~#E(P&e0e7H$@gl@j%&(ao(3*FN%8#>5a z{ErQomYdB`;XWsbxe$Hmd`v1xmsh^ zZ8!Cv8{{py8Ewh!oDiQW!r<;y8I)MKG2Vj*oKH^3 zc`?-ukWvo=HB*NuJ7robB1 z*k+CdQGsG>nEs5ni>quO@i|Fpw7GLo25XVEa0c; zxnCXIB|fP>zJumpK;Zl!3~XKG5I^4{PWrNRt85fgc~;_V?+kpxK5Ed-59zhZ zpZcoPO^}sfMDm6U8B6Y{e1RB)R@mtgcqYL9Ja_nf^StLLR0?ED-vF0`YPAGL=_+&_ z<2sBjCp)>pA@oia1A1InR~QU2G*^!hur*COV31QQA~ssbN3FBN8P%)so|^~irU%=m zDuu>qO^Y77mDoIXj;)_x1aI#6?v{G4zs#FWkEc|xN1PN%UPWimnVJ>kak6HK&R1(O zxAEaP@63gjifkDFSlb7w5VzU1o)6fh_T=|yJPaNWl3mM|2>p?3c9KssVPERl&{Dx= zhoRq>zhr$Gtt0|`2j&INV}ERULJG}9obO;MOnlyewm(WHy{vNKjd^#>c%PeB5WFvR z^gMxm>`-9k^|+>TTdRtET%SVPfBO~vb43amCs^WkhQQ(Gi&VRo7Dn;+?*;H?VTGXl zB%p&KTK#(HqQUP}txD)dWNwOaSDO{c8rx@Z;Z|R!c@e{X=%7a>-aBWx)>*{#O&Z-Q~*o5 zJbrk$zIJbMV&Bu=+iRyl?)szI$JcY8aiUO=?e0c@*dj?`2VZT`IBTNKSYgtfT>PeO zwg21b+4s@xPt+rQV5;cS-@=zuJDwi&@h{6$TJ-{bvn%V1)kzA`4vd@0M66FBP6GN- ze1RlSaLN}IR3W-PuAVZamvf)x8^x+}(yw@B8=@`fYz3Om!L%BJggCjYBb95DO+uM_n@oZ>$Z zv_J9uEI*m~zpoAZmFEX=xxcaceK7A1kK7YIIIc!3Os1POUZ1%W3V6$zb*NYBnR$sFk{J3s~#z)<`jyl+3VXd;T zVr2MgS8GSB-9ZH}^F%!MMMP^YDX69+q{hgrHna>hrYSAUs?+WA(MgRvGIx`LB%%$8 zDInPtA!VsJSz;f=AS3ugN}6)I@aPvds@m(Gd@JH~76dp#Eh`MnkXZaMqLf1?RmXeg z$t3fY$tpK`R-;C%QmzyFPl=qL7pIEEOrJ4Qo1VYoh_o+1DWny)uq&CHVhgv8(dY=K zkgDtNjTy=bvymm_7X@q~;vHqxSeD9Ata+-=EPSRLfFNb9Ns?)%k$uvRl=!xR$}Kcs z=kwX``a8&R?2tJTtVO0vJw(aUC&iNrl=9d5HO1N{2B{Q2oD{I>j=L}9n|nSX4$W+C ziaPPFM%9~a)E6y>5@CHK*Q-gaUY-HTvR= zA2!h8*)~$AxX)l>Cyl48$Z-2zA%Q{dEf=NyM7FCZ=`y=BM;oXc==Ep7o#-(rc-gBM zxW_Hu;YCCN?IJh&kMMkx!*Zyf-_-Uzu32*stTDW&Irf;|IBpDhUdzA_rTK(3S1_vj zD3MoN9P=fYiar+~&W@m8HrTaH4Jv!#2`S0Yn5-~Q6G$NmXBZApepvwLCYu|t@sc@X zgX%7!G`1d8W-96{)3e|vtDOC9hOt2M)Aaf1)ePARIXqGt^$vS)TjGm8LS7VKZ@(@i z$G32v{5MaQRNaAM9opWV=PDXc^$=Q>sr6ntIuXP{UwCMZp$hk=U8phPjf0maycet) zE!mNo>MuPI23W#+p~w+_)KLRgf|CwAq~hOU&z85W=_1`$>oVEvXFRy;>7&WDShbeh zQ8qfhKiV-}rn%jWyAN5#fVr44#qy5)=n8c5`HXr%n3cj5kPwg-f!%=A9s4r0x1APZ zC`-r1uI$0>vdN=~swkNbF+A6&OkgZ8&Pfi|CICD@2b#MnAd^3Zd9)-K(Wx+Wfj=1G%1gzoBP-TTc)G^<5h!-f|tCv=^^ zL*my%dWqywWkIV2oci}knR_u}v?<29VTZ&cfubc{n zmIaoW$CTC3Q(~%UL+1jJ-a2l8{5AF#iaTi+jTTYC)TxEgOp?;}9U2erg^66`nCnVC zX#$kdT1fWq=5q`w7&)%Y)0P_Y{at3{^XE7Qg1#4pU}Ced5Wi!5k}x6lx)~knHTJ39 zG1%hX_VK)@(6pF>L4R8;=bOlQmE7>tP^DB)gEQqo?I8mnu_}hS%zU zovLy~bXw-y=pqrXI`>};+q5ub#v%ffvvE|j$ut9fkN-l*%FyrQJx?VcIoJT-alq>* zacAVQ8K>S9ugu@MfsWX2ZPpC1+keMhlCSQm*ywlMOdtg|S5{{&A8-}*^pT7wKvwhS zMH`&}Tj(~~ge}aV z^opF9UiRu+V`0Pmn(28hNE*qGDT9HKjx?edW+@hM4jCx)N;+r(lI)H>dkQv&2GJIB z*2@L<{WQ14_86Y-l5%!X3wNqQjjPD!%y`k(l zpC`Xy54uCP3UM*IG?T=L$OaSJ)ExYX+$zB>RtWYzGAo$A;@cY*w}DJwpY!@|L_GC{ zMmlj4)~DK-e~oQFR=*YUc0T>XUFI=Bs~C^y9~>8%OGQ&g}~ieLsc zlZ>Apabb9X{C+aqsO`{xNn#CWCvSsTo*G6!VN$(|@_650NH_H+>P)M4liVaZkDZ(a z!)_nZkP63Q=svY^6RL7*6Y5nSH%&d6&j8c4l%piB{j$G+xK<=g$g0J?H38VqNfTwF z33bPem@Q9y!-7nJH=UXT1c?B$FiM%>fYaiTeRT2Z4Qqoi#FrayhBVZYjs;6xQ94fB zrKuUEg8c?o_t3k2D0iYCxsvdv$Y8D9NtXq+ej$jH%ctKVtmQIb^}NzLAoO$36d5uK zZk5#}k^{Q>usX!|Q<&JQ#qhdfwgfb|y{oEfZg*Z18`{p1nBap-_USfGM7th*dY4rg z4hFAnO~}d2_kMF znftmrxc&n)xy(@S%f5%%WWn}eF!c{zAjPEmXQ(sFf_(MUF`5Pgp4BcJDZ%I-W3C%* zEFq2B>17Co)RA|8=VjRU9g_asJrXB{T)cW=sj{uINzpjsi4=#aMGbgjW^vWt&HEYCzA_;kvKLf`gIM$n;FH@^r71>V!%# zx2c7DYSgs#`n4c7#nof-08vA2@Sw5xns-ZN) zKwkIW-_HVHkl|hw5?u(rag1u z7Y=ECLMn&=eQ4N~aPVc9Il`lU2SVp1?4Z;u>GnoC)Kn3xZ%Gb}$cFVP*4$c`8*m$y zK@GUA220bLa}sG28l5EOp^8P z*J|2qmJBBeB~Q2zL+tb26UcRQnLygZh28*$9deVfXD$5$p~28@*Eb3|)I#Vg zpR|p(*H_o|A-#6u7tCW(I0i_`w6dqyM9mp0XspIcQs7k<`_Xj2=h7w z@l*pB(~k9R8DmgDhs0zuCD}fjPK1bc8I>;cR}2Sr>`S29rdwiEBH+#sdpmxTlogkL z^JY!me zi^iF7!5KU(>QTIFc60`?gLS~T${9Ony&PxmTAGOWiNa{M8oKlK1Rnl)AL zYWIwsiZ4^4OZYM#pc-LoRg!$^Mrk4sr2mF4Is1S46 z@L@D$BuD&Y3*})Nyv;4y<7OItHNUY+8w-=&&!#pI;J^uomqa$x=0(joPWAH|^AsU8j62@F?KTefZkmfJsACKmH|J z{Z-lWAJFPQG&O(ZoLT-cp!ByVnSMp9EdP+60g&Ba!PcMu`a2x^?_nzw<3Dl_Sy%wR z(||lCW)^_f2>>Ah*4=0+hxGNP+rI7RSW?*Gja18d%sn=o$Q5JwLN9f8U{h;OKwo{Qk#iMS$-b+@kQFda%nJCcKd%Hl7{7Kx{u1*4C)pQ3 z-$(z?yw5*tzyP{C`hUcP;{RP{;8()ppUeOw6JR6%CNt2kejK$r@Y}FjKxz+=vYOi( zWRl@yvFve|Ksv9xhyuH4SDXqNAyRQ{{G{2`TRRh1t^1*~$s$}Re&M$hz!$eyYhoD2 zYaGDA`m09Rnqk<@Hs$TyzLkJqr-vI!iZyt6DdIs`TIq3;L``({(5@z}RfB;7TU!6> zVVaihiDs>)X*m%|r*=iSMDF65Jevt&2W`pD1de9ClKLEtsw5W1lHtSIerqY;`gIza zq(^Sz&;ue%zC?i5(%8FVSW{QtAe^`PuviJ&8s@w3m3{J)(^ltdpW$<~YWky{4SQTP zjUuJq&z;WpH;c1fVw`)!9$7^F9%}5flFO*OFD#R{~>vy-;2GsTDp5bvAuSr`W z)DbPIo{bUq(#w}y{BWZV#EDc`WYaRqws;F?O9_rF3Dc(|iK64ClVv_Lr=gLe*&;i< zTMy_|aUs~(ni4dIf@T{@PdxPdtQaFv5)>F^ax$|)ut+`Cho$U}H#vtRj@6r4Ar77P zs1XxQWxUndgeUgA=Mq`Pe9|D>xdd>E6!Fi5UKmsXGJx;1jXbdHv_9rZ9&91iF&Pe) z(x{6`5$UUm?#E!)Y$H(0xgi&G6Co4W>Jt)!A@c|AI48Hr;~QPX%N^q-y}sv zz|s6xV2M%fRd$KfYE9QYVFY3aC|!5gjCd9Y_+?W95>lp8u35B*>B)AmU&X(LJ;gIt zT(H<&Awr+}$vk#c8K- z&yu2pr(!C4MXL)&&bbzQRMpjnU9%7Hpqwe?r`7t_roAutLF8i!!MYU%pOL>hNnTOd3Zw zC8~NXd@RpN8e-{3AW9yccg)`yfY0PP8cjp?rtzL-V>85ay8N}edQC~GQEnu znZ7t-BQ}QFtLiQDa)5&+ZRq9=5?jwh98DwhfL(`>x8bA^kz-$zH^F|+C~)>yH!&fc zSKsm&o0r_a5Y*q*U?o)BZl~jX+REwM12vpN!_l739>A1cOD>Kqisz$Wx^^-9QN+!^ z2+P*xn-QYfsC2;n@!<9e$?qXDE!`hEfA$b+C{(e2YlZ{G9sfs$AXA?pj*;*qY#Dax z`+9e*YyS@-#oq*b4j{NHP$~7~y>?F-W0~tAP8O2BcVouMD0V^}9vGZ&tHTZXz9fMr z8(t=AMInO%16x0_e3I*ZBweJ!)nO4<10d*lSxiX}tuXC(APKkqze4~Tyezsqg zR195Rx%(Bak}kpfiC{!ucIQ$G#=XhH1SlMS6xF)238|fWSj854tiEGO_JD0dhbB>C zrY`gLHi!dd9?r>%Nvxemz@Tc9A$HF`HYYbgkfLLFZ!13~r>siVmlDjtMF{Tx zfI!z#ISPCE9O)@IcMtE+ZTVn*hdkOWViAUMcxSI#^+BD0-PIJ{ITA3%G*CSf49yWtD3(o6L;(94V}Yu#sf@G$H|yrM zcDA&YEz<<-ZT%D=i0Fu4P+dnWfpttI)?Gk*?J$o*tA5!gvndh=Shjr~|s4u3|L zHCI%-cFDda&3?PS4IjVA% z-#MN`fS*=Qt`aMLlyw$J85AU4+xCtj$8@iAF4{=V#|0Ln*}PRv5ynXMQEZvh)Fii- zc!kkFqv_q(BS9s6^2>qFTDdsN8-8EJh8OAw)!+SD=g^&-pjxnj>CM2O;QqkqA()wS z?LE&W{d1ZEZZ%w;I1_nxBq3zs=129Afx$o9z#N zJO4d6_$@S^6)={<3K&;m1$4-M#tH%QWm#DNI>zU32Fd?n-r~Qn3NS44Th0+6LCkp6}0wBfDC+lxRieHhVN)~l=tZ<(Dv zUGhqB`XY0qGoc=z8y$wcd8b^KLLJ{>q(lOYdIe@A)-2zi&Ya2mo#t}E19PV@o!bV_ zaliHx`+DgsipIIb`WtCTm)sIxY1%Up?5t0c`F=CTXJ3tTuV&})N-;u43@}m(9oDa} zG^IBygR9?#tA15BY z_do%qe+3fQ5 zwBLa=mm0c^X>|mrn43qQrQ)bjhi*eltD{4+DtBFWU5L5vtv9BpbcFn94idrtZD(1a zkHO%FVV~LkBqR_#5b`oNOlCyDy^YoT&PLJA1u3Ub*09K5(*0W2nbpu`^|epXtJ~&p zV(*S>S08{(eX7;PXHorJ+U-X&5hKWgm>OcW3g7SWmvy#Rvj_H2z|mlSYbf9vxEdk{ z^=dG=1>Rlu(U^HW$9N>_78rq};fY;l?=^mF9O^{5CkpBya9}`t%IiCGqBcMAbXqAtJ_|&v{orxF6el|TiPU^x=_t?EhG?86oLxhy#Z>7AkWz~q^CQVV zxym&8t4nyEIoj@FYCd83O!}TaB55{Fl-~jU$D9v3LLVVkC^YkjP`X*Bx>h-3mjndQ zQam?kLbj?;B5)%eEgBh7802m?7wIdy15g+V7#;bhOdIR!qVI=&Ra&4SpB}^KaU=DD zNkWaKnh;jT`##5Y#%8MYUOdBU% zVtL)As=#O+=X7!1Sn5lU^d3i35}xsiD~t-V$gqqrc&3yc--rhki8_>{zH%+0r)5ZE z%m5;!mSE&@RIJ40aedbI1a~yAbQ@?o7lCYRZ7~gYJB7W?P5%1n zId3eZIHOmv7q$nquT>zR^wT_*)trZy-*kZ(S_9=f37YO>?#S(d0-4r@0pL(m=5tgs zB3ZtUAA#?X8lw3T9bx&5)Ij0z*3>?%&kSfq5cz+uf$Wnv$Nj9EY?+s-k((pFJpf$wPQ|q zWNC#nR@+qQQ^eN;Y{?H5s75qOY^@)ID6ff)(VV^zQ$K_=Cr%{cqMqgR_CS8+S|8`7 zu+E_dt&n`NP3_VAGI+ZUv)Ql&xu!qMwlV>5U zPt^4J@fvS{N7*iL7OBF1dPEGieJT(|*O(SWN!)lyHHb^oV0A3&3WZqKfK!OQ6Y7ip zNz9!bTM8wL3&Nure95%;y9#1Jmw2lE*!F(O-U4ILXu$aG!v%zz&OzEmBpMK5)at~- zBE1|I3)*NXVFYN~*O#KOrvi~PUZ-k0p0xsZo4zETS~?TWszrvx$tsG{P?h%a(Ou7v^d)9?Q_?}D!iWDav0CVfO_89mYue9qZbR2F!(Mt;e;gaFC`+PHj z90oDr+(@@SF%fxnI1C^%wkFO<(#|5W3t*#)WYd)Y#-}wCk~7NK(`stnGsbu$N&&r^__Fuz_)x<1EdK2eVSCuM)@|l!O^LCq;v%`40>O`+u{)+?tS7P=r5BNXKg#JnzvICB8!0qO@>i#Ah$o8wS>vuMg4Z!RE zO*Sw=T|H`d0MRo`CnpH3z*jkF-9j4zyUVsM&~IF*CN4;~U7Q_-rB{v6D0W5tv{FuM z-NKB+91=AAv81K>o%Wo}l90(|GG)YvFfpmR_eMVhO{s#np^@)9Z#0E8mwq&2G7EJ85Ez zT-jN7olIt^*%T73H#gsI&Ys-7oXy6p_mEUQ2aMq?_D2rqpwra#5@e}sO~;&)j3F>q z&m6$UEFJgmM?Y>=Iy?ibHhzJ~A=W^(+qE{5K%<@3NT6U8mx3GI-^C<|E2gGfE2*w% zi4-=eJ%qw25w((&gJmm$#ITGytz&U<=&xo@bfesMhRBT06)knTvxQb|st>1~Qp9APU zPU=g30f!;76@{gKl`h0X)&3m3>X&z)brEl7T|T>{Yc7o}qE^Lr z?f?E>@B@}9=QJs+s|GLB81IxG>@Y}+qZenRm8OpEdr zwZS^N6i;u|R1K!u~ z9qs*=u+h%uvT+Dhle1ad0}wqsngYG$-B8!AHItOA6L-UUupAubm-7=dLS~+s(h%hg z%0lbf@~a&W7%^BklM)aUa^*qbv??{;+|P@Vaz&s0pAI9+K$e(y_@#@lavdhbO`XIx zVf)}*^Fl)Q*(QE8vXg01TJ~|h!0459x;yb<&4Y4h9g3oA2IdTiPSSXj!*4pDBkbaW zgv8)@4}HJ20YB^1whu2>anTGO2!VR*;H#DSI#4`%2E>0gevG&2J}C!7NNM^>_hAdy z#>&#H@e`3f6{QUj<>X0hid)dPEtKH$7_MxAS({?Avu@DBt=SwcXnpiXTny2^Tglt5 zKyG@giz}*UV|BnpHJa0?NS(YdM6>R8K39rTg2a&uMS;tC@FZE%MaN*CJh>orfJ#GE zq~M}lX>Kj1eiF4#s0XY0)cZim_`vt)cPDXO8mRkz^9=3@h%EtO~O`E z-TA~B^>eX_Jv5&&IPwR!XXeY~nzECGR!sLG@|47s1ek~5Az`Q{j97y;!63>By&*6* z*g)RaJGRAx(Y2N^$y0rdcnN)Od$R2c5ipQZZFQ^p_x!==@}lGE!;4t9RWffBQE`NoZOz2_DYYI#ZjaG9&xDYl^$&#*tc3tZFjzM0EaDV5w<`vY6aPiI*~3m) zP;*iO#EAd`M48i1>?A&)YI;UW=$S`^w8qmb1oO`EPeA7NBJIBS3Ugu%3*i8o`06l71)WdpYKfmh!c2ISZgIGqOhTsPoY`VR<;{EB29UL(Nw>1`N@`p) zcTy--D}`@XuNI=DXh?-65HwBayxhxp@cwwmJg4#X`Aq@zM2;Z4#9I6ayc{zI3F~vR zb44#0-@ceb`oMJ79y-Vl9R@?DlDCDG0en0S$s_SAeRh{Eo%x9kP~*Xbuprs#fltg8 ztDZ!njYzLDN3O;drs z3ht|q(q#D^pMT;A_u$#E+ol$GfOBQC0d;-It%VejVyqC>-zNrNb>G2fg7K$Uw4|pK zS42nac?6GN)RFfs^By%J*Z|R!-5!Ub&+MaI{I=t*PNEt~zO$;@>joczj=i8&)eR2o zb3qJ>hrBsw!_UR#e&g&J|8CDAHKNMDB1Umr<@*Y?;xu#wVZSo~u@V5o1%Or@cY6A@jcOf)iwR$~WB_Q$xH#ON&ZYS%VhGmsn!qfjRi2 zP*$M4`T)XRSg-HVwlCTdrLq5^v2oWUJ+j0Img5>~8J$FEYzu@kr`puT1mgwQ#HWX? z>6Wc&h$Eo)k{9ptPGz8^Gv97vkTd&i53klqKx;Jz3MY+-5aKwwMtw=&{9j(ZJ`)XzMVw=xR)Acsd_elaQx86l1+`| z?EY=G6RD?9$}JsjHut!;mNWnqRiihS+NU8%G>drh!+jV-d1NhuTHj|fT8*(an;=DI zS%z#f4aHOrJqnL$*=&|54xS;G25H53S0^DMo9i@mc1c7^w zAdHTa9Y$Vg4ps?ZU%!i4wFGsAjW3mm>zevSd3Uva)rwh|6_6JbOWPl^kQHmey5=J6D#HnnZNmWF9!}Ce4xl~4((XH*yd}pwA-{<hII@evzK_UCax>Dh@hu%Nw4Zq6KIfzc+1y_WBV z&Y557hGSsUCS1LFoEdBdLE(Y1@6aF%_1K@V^C)LB>SjE8b z@1*0Omi?xBUHpxN0}#Ia z>+Su{e6jK zJLKb0=d@_}A^}b_gUp#B7fWnTomy8S@4Vb&0$@-@sKaJOIy&E-nz}V+_tS0a*ogg> z`3Lo_^rpYjI@YjTC^6uJPFZ7N?n3_#=elUrf`REvuY198*_&aFWgLcyGS4@ zMbJ($Yu-&zYaTCTE8|Pc_}g|1qWaiT6)qIO^=TlmKi@=(RRk zrD7n&p5ZOFeVBGEll_BQG_JZdAU;K+GdeG&q>59^*=NH_I5|@>dUO3{CDnnpp^<4}o zxJT(xQV+kU0s_0s0gAyC9f4LYH9e4TsZ7WW*hcP{!cAmDJ%flC3g@KE!Gg!G z=a&K|t77YIBg;hF@cj22%ECgi%#!ufpGSHm95@{oTkp4zHcrwO%Bk|+Z1x|$^Zd5w z8hNyF_}|6rNt+tL%mkvMuNIV8$nwVD;3!zaJ8mS&ysSZoD;6<{V~L*&L&v(lK$L$m z+*%n=4of$ZAf)$GiJbi=ukME!;w{XpIBZF}Ox7#WFH$8N6xw@$17oj*$b<+#?0HIF z^HBgXY{!8b(*6Hq?VZCb+tTgf*mhD;rGkoW+qP}nwr$&~*tTukW+kaqe(BTQx2sQ| zzUO@R`SRy}GS{AaJ!{T2#(2jZuURzv6&Md`MvOx`o5g_uL65Kf=`A|B(Wit8 z9#vU8Z{6R|DIUBl5up&@T=-ahp{?OESBH8lCisGLet ztc+9b+VAh~SzMzdEz%@;7Jw(46UY`Nqa3X?QOJ_WtQ5H0vk4WdfPvDwq~jR(wH9m2 z!QFW|9T9F)8{VLnX5ujW02{YZj6+vmS*oiOTp2M9V1+>s6E`ovBr6OKj%$e6{rq0F zoJa+B+Ke{bID-^ZdgD=1%y2#J=ky|urB}8&tV{&$eq$X=hCP|C7)`3qItI2AR z8d9&n@(K>csb;G@Gtj(b2cO%jtJ>==Wk8W-cSkB(+ipyju0s(0z0LGhd)-EcF_QbH z${w6%W6FwsnGOL&JRqZk<~Wla+yDVLGMi-zat$Vm7mI*&)1)0X+WE(+jyrOt%uOsN zbPwDhiDBMu>qc(u5N96S(|uE*y2y+o|I#-9O1xvr`LI2i@5BMY`VbdN$TiiRJ(GMk zCS1quO?yxp433v7wBU{3yOV@oi9^~D$z-lf^_}QpAZi_>$T}P`AmqmvZavr58{DE< zQOTfTO2LC5h+qnFgQVazbCBy=dXPb7GspSs>eQj?VmWY}@e8%BOsio%5Atr{o(S;x z+6!%GF<}daMmU2-dm`EDJwGD2nH$P2UB(&M-9Ic)1+6{j^#_W~o!0Edy0AT`6OdpD zI5Ulh8@U#5$FPq8V@@eE?}T~4fYK+2zPd(zlDzR^(V%O~%s2uUnwLP2wkAn6^^#Cp zvLZ=9DQb6tI*2+cC^QEKed~Cogf8+*gOy2`eqa&9_E)~9vAn>NoNx(ntF1FT80Q|J zZkw4lRwVq3mEhs%3;d@|&H`byN$d;ZM{rIt;urO1xOoL14L_rrx*OOq$&Dox9X<$rSU5#stB# zCt(}OWVwbcX}fD#SscAnz4pc4k@=heF4gmLP@b(dN9gh3CJ8NtSoHIw3)RZ$iTBjH zGOP~-Of~W%9)jU#eU=>O>rfON9jNF4%`YXEk1ti@+B`0V8eX-v#CamKU&hlp$I z<(5yFpIT#T4g$a!tWUdKRu~tXr?8J^CECLzReeBfFf6i>A0f_=bG=S&!zbYIJAZ~T zvmKSE2|pJ>ZLLKcxaH~j>;L3-$=iK*C!pm()al6yB_EWhHPoAgJ``Pvkk!WDeFt1H z(_1%&Td0GZ5ZpNfVgYuy{|L~nNuMu5Om&>_JbVW=MCSfOhwsOm|6lLj{|43mq51x* z12g}livFj)3jRO`{`D*W4%Pnl$)7+q)?WqdKN`hIOH1{)UI~AIe}2V=e~5p61uP%% zOhf-TE&;^zWeOe=yWv6^ws{g8zefXc_-1;z`666 zs;X07yQtp`wptsZL$b6b5XZ$4ZP)Gs03?;$9Xv4@1mZ>Lho#Xw?9NUhnxwepV87W@ zZFN7uu;|D{ygpe{_B%o2X~vM%s?dJ3!vvw@7-+JcfSsnoe7v+Gwcpcigugl?=F zbln>Bk64x1w7Z2^!RZ1V=5B?g$0_WI=}+nDZ{e84)@emNXr(B_C%taTiZR!7b>c#4VMoGAaiq7ywg+{YfX#E1 z`Smr#00vcYX#SLdNrpn*{)e*tJ3Jhz{uP*seoft@m77l64Q2GNzBAp|BY@=)#sP(e z)i7t*zK)7$!TMNO#g9pMAT|}p?((&B6Jq)v5W^$2eBg+25&+%&Aq*0m5vi^S&N=*5 z5pPy5VKejSx79@Fz3e02n=qNGoto1h(NOcTqCWvQoI5gQk%PHaq^z}GYN9`@FV824q=o7c>d8w=H}64fa@r1;8uM8MOH+}`ODD9o($_{p6FPr zhfTuL3tPg2kYv7k(IiB+n>Ow@jZ;959J^IkG=orAbn3Q9(jXtd&br5h7QL2&-s}W( zu}#hZYiXUnk|`@2CK`XroBa{O=%3|cZxccp8t34I`PHC}zrl0qQ&T0rE{-y5D$ zQFFiOfyUxI(sdk(fsRWO4dJhS<}sZT6jU*$kfSXdhTX|{72l!sKjvE=0#Q#nlWCrY z2j8(nrX&e?wIDFFh)WU!)M?f?n+w$;xl#`wcQYYux*^EGB75?Y4u^w3wp%k-K_Fcs z>a@~!sHmcNHQ-}Fk!Ep|yU~$pcWv3F+OHKQYEs6g)gQ1OiV!Os@a;cZ>3MMd{#g(* zIt+_46z8ruM2{e!U9Z%VCP_i~K8LOLyXyjT;5t*WLKlr^@HrlS2Q3>Tk3`UCfS`Js z%*}eJEj1^{2{5u{L7V}{{Mu}U2c-qr`_XS(-d`^Z^fb^;aX}E^qDEpE4{1I#cz+nE zFE@a)(AYIc(av(Hb;d2t_mBv4Ho@Ei5Ls3>^`LKbBi^1;=B+T+2qN6`Tbux{fLtY1 zwrUXddY8tt%h$%J zCR!+Zhxi%|tD2$q5njRW9fxly_jdn~+oB{7Lob~$*>C9(>E&Yzz|tbe_PXT%9xD6& zW^5!ds5@Kb^RSabjRlZLki&gH`Y@7(l zTX20Qvm1tKN{mI+29WKBQ_V$k^PgQ57Fn=|W{b+aD9Fc409g!BoJ_KxH0R_XU@kz> zqwV&Z^97NXtDfrPd2pcK;wOo3y%i>qsbJ@)&&cL@u*GD0CDQ_s9}=U4_cKmVyF6a* z`uNRK@&|xvy9kK$8@6+cdb8Ax!u9!!Dq6xssRBwVW~*|b{Ju+SUJ!>eq&St2*&UmC zw!*Cl&E5*o?aS!jsZyhF5h0?}m z|A}~dYZCa}B=hvu=`CZPU%>OZ*313jb*=pF!0y3z1HGl&_7cZenp(ex#MhBUgIBE7 z^L02!dRZ&OTT3#fb&9SdDUxl#?s+X6Icl>Gd+x^}WS`FH^~I@O?=<(I3=DSeV&-nM zniK}u6urU;sn?bA*&XE2wQCf+i`3(L&MTf11u^#@s!@LvF#aij{5Od6Tdnus4>A3w z@_Z;%{|AUe&+;F^SeDM(+9MM3%LV4 zT)RIH_8z>6kd2!Tn3#RtQ9LnwWNpvq^-Em+sz5*oh)E2CQ4;khv7+i<9@S_EkemEef zVWWsbMYtY9&CJ=G+LTn(Tohg{BGle$8lE29agMhYP-mLD=wlTc7PU?-TFYfFqRCAs z1Cn7~Ckwl84;Lym=u_m4rgg0YTZ>d-?Wyy0`9T;(;AUWbaAs(>Nb~0m;bU;^lcS0| z*wAPbi{cKDmr5Z0`1^*9<`yigZdz^V!t<@}zBLv7vQb%}HjY=q?=p$W&EU9OF6WK6 zYm(|$NtXQ6@BWG{7bF#7a(M~3Dhr;moDA}EaXG2YPl3wn@i}QGlSPc@z1@y(Z#R7+ zP1f0rgy`V6Xc;D98kE8NdGR%yjx88a=*c+EOQckAj$zd`QX4Z)9)e14IN(4+WLXNO z9)*(_A~G_x)2gzZh>$;pGi|FvLLTZTsi>%eQ;1vCjzL& z4%2hlpRi7vJ2L$U<3G=CJoAzvDE#d~39%N7IYzb=bH!aLUv`?XOpG1R03N>mECT9~ z+&%ju>=CvCqr`Q|?Yd}8!7puSKY(4+ZZ;*u=IQvQ;$||(o|ZqRKv#$*gF z_C}l_RSX+I+$F+j;+s)A?X=tOS^FA~^+3&qR`ph6%)N((-pnZox)d5i=u2@l~YQdO_Z$I7uDu#gVpN59qgfTc=ce_haOG?9qGYo z9gV~QmPs3(+KSUvrX7zKyAj}>%=JgF6Fm(U=EOMEFG7#cCx(ESe0azsu|9;+UVX08 zdz13Wv;HC>vfzn=sN<{jU|^ovlxuJa4bkby^CW2)neAcU_fwpndRv|A@)}pnxXTzV zR$7WEv%j+BBu6OH?MOA9OcamF*7O{cZ-~mR5^1Ki*uf4~-(M2O^}E9HJ-$}a{;a!l z0i8AsNVAm+H2`wooYFqF08Qtf0w^%n#yK=1hFDU`L#Eeas@# z=07bHnXWV0)@_ED6KV^}CMdYTbk5{O0sP3M?)ua(2mwopv|Hsc7|5Ol%H0&W0U`{S ztjNWH4N|X@9S!obwp>l8ECfccC#(v@8zs)N6JR962C=aW8;3Dm$r-i>!=#MHw?Is- z+2z}ywiH9-sz}xkSDSu_RuRnU0q7*Q*UxMacEA?q{cj;-46G~So^R@;E zik0$3W9DJeP;s(rt+kg-sRgOy{u3o(nd5O0|14hpzE!AiEq(ZDjuNipU5@P1S>5p$ z4jJ!>Pp^aNv|>?_&^G8Qv`gLPJp3XY-)*vkclUPJFCy_W;*t*g`-?-N34D*;xoxiIouHBO;6)A(bp5Bo+L>_vdx;)w7AjJvsPJ;qJWfSK2!+aC~k1=8CW}A~)N`YWj7$v;9jADLT!if(>;>Hn_Q_M5Nn|B7yY6;yuHVt$*&|E}QB(*K*4@6XW9UsO?8 zenm|Gz%#5L2M7Kto+(u7iTbD;bzCVQi=dJ#p^(a6)(FbiL%5l&i_hugHkeS$hSCwX zhTc77?#O6WR!Rb)aM=jJZNY4Dz){9wdl9VchbF~YD`cL(v~i3_1qVcMd$l0XPy-KH z>^$#1UcNFLeq;k#-$sfwz7owhN^aI=XQkyc>!*p5s>=R|F%nBW&&0HxTbU{<475}e zU*vEy606IraOkNQ;kNK@dv$e()Iu9zHVVyZGF2L52%K#fD^s)mjB0qg7TkCP8`Qy- z5ZAu=2>?C{EiOT<4lFp$lWC6!Inx&W9R+=;Ml?Jv^TyzbMj2|cISEa39bp$V2D9!{ z+G738mR+BJD*d|vF5{gDGV4@2@fuzmJ#m%+?Sg~|mDs5B%MfmKxA}y`SgiNJro$mJ z?G{|UpNt%@QP!bzu`L6f^fn-y1Wp9K{vNFBiwczn<|Bg;nNDKKcI-I%yfKknb|@^m zpl5F9C!H~@ryh2?cPd;_Hi?M>VpXd`Zdy0>7#NvnYAlSyXC7gII*>WU5 z{Mi6h1&1aJdX^5Nj=@(dPddTCIf!OKgvUI7aD>}cGK4lMq9wqPfJ+k?0UCU`JitYH zM_;NkbUyL%tpMw#L5AUgGW1*!j|o{efMM}kZ+M*GofH%hcdN~Wm55W>vo7H|)Ly0a zee@$@)<`sagn2n$bp%99_ZySjGC}yZ_X__l?E3LqEaaIhFZ7icCULPEI}AR4iU>B_ zlMt2bR<&>@7HnRyeh>q&$-CbY_$wIH+?S=PUS7g5q;k++S-F_gqqn0kp}LVVKLp#V zCzs5zQ9#q^d!EdB(vH+LRtxU()IiHziORnLQQ8>XaNAHpN_ufz)l#r9Bqy(iYfd*T;(VP9 zEvn|+DbBV&>@tN+ZegE@T&2QZtWqaUg5N;@raodW>mBn4jk*g;|&^3p*Q#exPb~0sU;>o*1aX6Y@_o=z4#Cq@0jl zx-)7WiX#R4ToToc0Tn!$m$^ziIUt2RzB9U&DxF23Nao&8jL3Zgiy>8IIe4drZk@;A zB-zC7c-`JKAN#a7tzAmmSnlt5naAPw(zgc4TRh+m%=Pa33NJgH3iOA2;;+Tz|HAlw z+ckn5^dU)B<7=`qGm}DMb*;9q4|$J$v13XXY?4 z>o7g*rD5=}?|4m1WJdfE&n)N=Pf7%pxn&VeO#p6*XJv9dk*zJFh2Gn1(|8-+hTio~ zCTe9s7*-O)?A-P&>wGW)-&5Yf`p~!$AXbX6lx@vd8NV%^=vtCq^{sJ(IHHb#+K*!M zhr`oDIQ7-wS{#cPv0C#jXFFXtIdY8z!(QT{nn)q!HxNd=q=Dr;IGX= z!Wm%#BwmWF1d_?vmP@JN;Ux~)bB_vBO~G=71i|KfI-zoqICuJlbq!+%6tf2H=SPh7 zi6IHv*OT>*irnpl8ml`xq1%Qc|yff#(m#m%psf*#$cq59l66@!5*X@Z?Ys(OGYae5$fDVFC*V!_(j?DyN; zUx!IjC-uK{Cn+F$G>j-tU%x%hU`vC)&d#9H@>aB?+I*El#fkP0je%-F=PmD@w4;S` zUt%cl9piDjk#KTJK?jJ6%~b71m%bnEHnj}B{_c0wT)TU*b{OI@kh{X_y&EJUtLS&H zYpm@nX3qWk1>fwITCrrR*^nh=s&WZGLLKzlogK@${a@>sd%FZ zBhv{@lzzi10`>4c_^7peHPy4zW4{zS+l`9eP1#72#nDV2R*Cv9sL8WqBV8q-utWa1 zIDXo{?>ym~DNDDUOHwf;yLt<~KSb zJAfLIzJ+7z!s&RgO**AXAhsmqEC@$LRt+8?W~DAdPy z*7+0;oAvpx*7xR(RF*AP))xE**3a&bNm@-!i$C?6-psEX4$P~QmTXSWW*-57$!$zv zY%Z$GmLdtF=w$2{UVncP!R#yx7U&OD4(Gw6jZ?{uMlzJ*Sj5T2yR)zl zu^#e~CBXKAu@Sfdb8NKaQr!JcGG%*0AUZ#1=kp4cN_nuIKSid_3lrb>Mf-F_omI;m zQ0S?LkO^6qb}%~=5I5PwioYudVPR2=#s*vpM6z@^W6ZH-RDO849l)qw;mDgv@9 z&9^I`7e#3tNKjXV@H_dar+qJ1tJE>pu1AMk`vozDGAe7ksu&5Q3mFlY+7VbbNhRo} zoD8pT8p%ckQ(;?5FV7PExzlz?SQ^u6!`4#_vUE@i&CTEWE)mX@%wGWgX51)39SL(_ zUcZi{e~FG8Bb}S?p+0nJmxJdkODLn|+saEiUN%+B7>DzXF5D8zMk8iQt zlR4?759Bj+p$Q4b>;uaT41SzcC8;6l7mr$`MPh7sz3@Oua*45r|F!5@&UEXdoOEK; zBTja!HG@Jkp~9+%Q?)5wKz`~6xEu11%9kjm);N@uWIj=cBRbfC)@BiMO%;I@RtH!- zI_Q}1ns7-;_wC(BM3$Ct<}KT$miWb-PE*6GKby=JnXNrQr`znH9bl09!N(N+J=fLL z?b06Jp1faQ@!nlKFlm=MC}uaM3FLQ8miw;fNC;#c2fk~YMHCfadZ{39e4n0&j{>MBx1nI4%fz%l+oqd>B95s$ypSO<|cXl1Kf4{uulNq=nPDM*(m7bMnL8 zLL6ZGeG+2_stwnURum-*)8PK%Rw5xa+ze$pL9Cc780U$Su2GMs_WCW?j1v7ychdGm z2e*A;c6^&(>B_xIU0ZtAZ*6GJ(QhG734CLu4#ZJ7_mYPc>?Pii{%jx`**QxC7;^V9 zMYrGd#j9sh6>c_$kY}dRwWM5|lvdK?5Q^T_ds|G*;d;Th(n?&ZHf_Aq!g1!gFEirwoZ1`Pme;NIr#^y z&X?2En%mvw&E_PyESQndvqDMH^6@~dPca$MtqOH}NtaEF&rs4#Fk%vx8qm7z)3TGi zG5KGKk7}#rO$iFHkSA!|waUIg7lSVkc)7Sfv-k`69Dyz#A#5Q%@q9r_K~5=y#%xPY zBQp4Du=f;P2dtD8PxY3P^{$V^+kyrz#I6@9f`sY3!K!YBM6DY?IyiE3N+3D zv{;sl+3o^f_v@`pa1*~!D^dtbZioP`rbC|i8h`53yL3j?{!wx6TJV$6YtUg@Q{x6s zn)6u@z97c{)_uDv6-oFa9dWo8c_4nH6s>(X&4YqFAAiLtIwLx6RP!tZ!r`r=IDW`c zw7hOxaq1?sJ+8Zxt?FmF(qw|2D1&iodKMkr4X1loZXXns1HTv<=04p$T*m9MXHD$$ zbYTDC3r3af>CynOs8}%dpeUblL;%K*P!+vFo^lq>jL!m`prf@)x3(hTr6i$x4u(I} z&`Hq9QW-m&aAq45J!m35p-pt-0 zlYEfPF>RmD)Qi54F5TEGr}!#TY>;sSeLcO-W$VMql2j;ulAnoy*=+|2c*JW^fByvS zFp}!szI@RR>K5AUBW0)zQ$A(7}&t#7RMpd)A!+!AX24-V* zIcW9hlLAkU)Nrm;jp-cXpTP7x__ORBm4Vc}-pw}5jiQl;s3ozA!pUSi^Do7k{_CiBnlvC&Z5&sN%<1ZN+{k z-sRg;w5e#lT&33l*{1@Mh>NE4mFa{1d7RfXWd-aN=^ZG4l^lV*D#&C#RN|+72e7Wz zcKieolAXU1gQl;D^OFu+8l=z(u^Tdgtxx?^u@#MfZq*LIhISHe%=aCb+=7Auj_ZmN zy2i-T{)b3$oO883T$=jD9(1Q*Nr_X8sK#AVJ>U#Q4Ud&ES=Ddcu}9)>Y}q|CyZVH2 zV0wP|PF(pYHut_HSK;|-Nu1fK9(CS1bl9RKSvP9QWd4vqv3uG|5d%c6Ju_<&{heym zLvq8WLZ0vEb&C0-AW@5D8y7tvjU9AHpRL2^tbhCw$NHcX{~{Uxg=76jM1IGyK5Abd zUZ20fv3@f=fBYk_m6f%FJ-+&f!T2}#^zRck{>@VT_lf*A1d3YTQP08E#t@%c!qmzf ziki>b&cM(PU;S?rp!o=>mowCNz*ndLTld+IZnShvj8ya=M@t!LKDwULd~~U0X8MTX z`{N*cd3{|gtB*@b+c=n7TiO3U5s>y*`uQ6b{OxA_@A4QU&967~ua2Un|LuPMv%2|* z1oD53NxyeCeMDFM-Ld@_wKmpYf7d^GWU*(mNa${0`GzjfS2z$aA{Sda> zq_zSrvV;}$mIREnVj4N#(Q}S`(40Bg9PI38nKiu#4|x1xc^VLTvp|ZL0#6oQLI7EK zU(g&v(TTxF)9G4WVvuOXP!wSj%lpbliQIac8a^z<(a4`c4tMFKW)*hZgubz}Hy2^; z1{{^iu%O?VKcj3U-!Y9mb6ZA^a(C9=4=eAaBN+;crHJ&b`PF)8ys!iB5#GUoE~v*C z1S9d5q<~DSg)E&~G3TMcOFh92k2;MFGB$q7v0{tS(42bfc~~3G%&hHol}aEhQaths zvTqM}^}Rp~lcZ;<16g0)1W3bnaoO))atHr8U+hPuLBr?ji$n|&U%lwg`5+M&@l_?= zo`*vD3}N2G)t`r|q=4V0A{$0)E^5FjZh`HP^(O`^@OZ|I{)LW_{yl?ETTUJMam#9b z&ydTQu{>s1dh7}ME7%u~X8J!|q`#^Q|80@}CR6-->6`Vhy8HgINPq1a^`AyP)<3uR zeLTm%YRZ539RHfS@{2|9uRXjBG{08l|MBqB(S9UT{`Ln&Eo5rp@Uf(+g)DR(3(uI}D z&EA$)2u~AO??c4xwL&h^>wSG3aj#T?Ko$5dv28`HF45-1B$j6%a+uWj4Ff)XW(wl%vK=| zCO@$#j15(_+Jeq^(LI!=}@kx0e%~dkLlhb8$F}Mpt<9f=f?;I?_a07USkTpI$=?=Qvt- zjK}iHT@EfO{Nam2Pk}^n>v#Q9JBDoqT=L+QXAG_(22_bVmH4ivch&x`j8K9Oy>L;k zF{)+SH*}EFI75!I#*5aigO3J_DdYQ~^I(@;=glT1j5t{IGz^kggj_*+M-`IV&)|l?R~5}FXH3!IWP21HeV()3s~Ie~4@lt;3on3w zvyx8_ib{H`f=)^vct@2m06PF|5y{KBnJub&TZXBJl#!|k3x~Lk2-T1rFR4&cBV35v zM&U>tEC}Jk*Pyg7l5;#6EQid^&|$c@V!^~gMaWnXSerrCWu<`2geG@~VFaV~RC#vQ z>nTv^K9&=B=Lj&NenjqR{+hMC7pR%v1kNQWxaUY4{5sglOED?qNJpYW$D=U<(sfR^ zR%OZ&z~L8To#Y4K!F~kV4#Eprw=|Xv4WM_)L~db_al3~_7F|4LP2Q$i>q7ZCAhi|Y z#{Np40hYeMK~Ba+5R=}(;%W#`d>wr|P8wC-6+856k&GkOXkArFbZ*6*X<1SN80Tt# ztGmBv5s2tCC6MFwS-jp3>6jwSw)kEKE2SSeN@7?%zaqarMiC0Z+=gn5HU*lo?@efx z3UheM*Ob{8jZ7{al!!S)FT}pfEGVW4#o8x`)Ui?yi)B3bo-Gg*io3L9WuqB@K9@XCW9#@` zolt$xL?3I&CO*PvV&YgMh4L80-14Y6EGeMZ1rRz6w6jKd*Vef7%kJd#+oAugAF|_U z{8K)xT&pNuuSqcHC^wjOY%b4{X8G8$>~b%bCzJpjadE>+pEt#-oDb`;OFz2|CbbXQ z9&)p~b4hf49U!usTAtSTwsk~TKp9lzd+9fs1)Q~a*BbiX`MmpfMj++pWmv~E5^04S zj`ZzZUrW6NZH-fCrIHXmc6N!CXTjt6ieUl{5L+)46&h&Sppjd%%Vnm=?-EA?;^I0N z;HDwa3K>IEkOzVjh~N>vQXXo3zVK`uuY4El)+s19mTti-?F^DeP^-mkz~A2o-D3}o zZ@qjhuIU)G{6rt8VObu&7g`S%(4l6Ok6@%SFt%$VYL>wDLYJzN)dh-I1`O6_Fp}=E zl{I*|pp`99sK#pJ5m|Gpdr{|FP($M}l%rhY;J|>~B4H%;ur}vq zZYj8(!*6(6P}?c6dVTt3<55SD*%{>`9n>l_9TZk4&h#_YsC^JG1|pZBz*rsNv%}64 zScwh*XmLo-%skSMo-ScL@k+l%JE*{;G?FjNti}>C2U8@6SKL(r2qW6ZBU{$_`UY~= z)XRM6e1tW=!V9q*;alz;n<83zXByZ>cE{T_Ro*|YH-ep;rZ$-l3n>N^%&{+{ZT4Vu z0cF{Fcwe@M#-;&H4MWp1>@vwYx+!F`uAYciqPl=*1k6|Tl9DrSINqV$yD#rhX#wn0 z*2I_dw4nGC*E^3wmU@Q*8IvbOEt_4%u=TLPj)U)bA5NKDj?hKpdays5p<tlb2@BSN4`PJq4L1CCbJdb}jFZ{)59tN5}@I117_%Z(~^s7{~ zw4S3u_}Qr)E4?k!-yfBk?0Ke@!T{^rNRZ+KuX@U~INMBkqP0C`|Jb70h}uJ_R_b(F zb##Qw?X1fSqm71Q8$$$1DS)dm*0HSGCg_uX7teXPM*tBa6bnAr(R5V+qaqRBtkdJb zCB>Ktsy(8sSp~KbC>uu@F!n}+#1}VWQ3P(eTFX1sLT22m8Gwj>{W%q;OIrFVs(3A) z=;$3{Mu@8~1#mFJjyP~A<`WW zyFs#U7DC-%Ym(uxy`424NXvp}4^3l`L={X z0SZM8()^`sk?5-e)>yscwhI^s0>=wIBHYdCjiaAt9L>zq#fbMMHjb4#YT#K@**F{1 z^LySp&n3^=K}priKe|}&4_BaL*iP%JA_Q6-=r^*&$Z||OqKS1o8m|!%eY0tSse`Fn zbt}^h5EpHsV8Y~>h5t5{XoVGBYr$C|y7eVC5iHCNssl^hF6Y|I1yLUCJ3&(SDN)Vk zeDe&5YDuwWzowfF>ACaiEG^&$0q)F8)-GNY>0oy0Pb|t1n=`RtK~$h|w^HLisa=&g z*`zy4+ac}hYwczig32gtdnst0>;MfU43Vep?Yo_9mzQ~M>sc>k!6njM z!C{eYOAO>b>12tEPG-_sGpth2%d~yOs#abo@LmySwhF%%7pW$B%Lv27qpA&}yP71C zZ2enQu=@G*VSOuTK*aec%m zE`|oAZy9cn6FrfVKmK-m|0P%N&Aq$EJJpN3<~ z+4wdJxY`hzV@^J%c@b0-E@!eluLrNP_W7V)c{x}`kgbYfge4K4lXh!zi)5hJoMKBz zb)OzogrI_r)CVe-o65aZeFMIgFSeI6ObI@HY21xQhCj6MHTlxIEal~oIv@W{jrlXF z>F;a&-?v7F-xQUP&;HcF{hutB_SfC&Z=2lTC-G+z&aZp;Umf*v>0gzfKieArjRpVW z|Nb{|=dW_&KM-_2nmPV;PK>E)y*B*J+0_ey5I{zd)VH&eOt4|qxDuSR;i!%xi8nYq ztjBNrk(_T~nfAVUMIgxPup0UZR~Ml4c7Y1-^|F&1 zXK&8ZoR#@w?xAk0YvhhRvENayy!>nfd;a0^bZaL4gF(7=h?O5(m%nSgyCfEp4c0+k zC4*LRz5aCLiz_}sF71iej*$mqHOwgEK(-4b3s0ORwwuKso(UUq72&!r-f_ws+)IpV zXRlaPO%m|5ucos*N>rwy7%kaS2UHmcBvTv;T>R43wzx^XBRSTr5HAB)bRwh2=}~E{ zuxVv+XPcN53)@~>gA0GXpWGAFX{#Bcd{#T0pACaRsQlV-B7{G*fCZpF7f-iHMy{V} zNHbkCirIG3i=)?si(s0G*rawAqP*tB>7c&cZ>X~UuFhq5e_7NJd~MbWct5&mGsmPm zg^YjM{Uv91kOE0T6Ko&lq$G@CvNo;s{VA)ZJ;k_; z8-ma?#l+BMjZaA?lsyJ_4gs@B{yr!LZE8n?_u6eIu7<*cq4{_hR)b-{Hzmh?P;lv& zOR>j7&GL?kgC>ZWZp6!%!*eERrf~y~vf-*B^wlRUw2~g#MjI}f5exRF>5 zij3-jOuYf5dc7?B2C+wMD6PSvJJ&5MFkHSUy>GDHL%h$gh6Z92;O+f1v>`+Vntm;6 zgVlBfvMpQ6i7EhM=N;nODfq!R;j$f-0q^X)S_ORF&Xre)BQ*9Y(qp8+JQt%(EIKOLYsYU!* z>*@4Z6)1r)?0$ND5w)RD087%rJ<@&SJV+=-^02*Mbz-bN!i2s(0zQRpdGJEiNcI6(Y}TQFJu6 z&O-;K+930sLg!ZJelu+rhlQ6E?5+{IgAv5C%1SdY_4X8j0{;B12nXm;S1DJhjk)t^ zBl4^f)=)RAZp=K6&dcxOIcn_&C@jsMsKU`t|A+&g7&c5Jti*o9O=7)wc;(u7Fi@>j zaenO;Hb_IxHV*gnkz_Gn<8?>47FhaMr3a`#}Q2xLV9BjMq zveDd&^Aq~=mX^eVTy?O#)zFp~_0vjKzhh@GIf9pO_8a<;zXpCG%{;M0Tc(UYlM+p& z6hj}Ql5RLm?qnUdJ}D{?4WWI|mF=hQ-1J&tj^#xZzxh4>(7ZU zb6iLK%)kK%mZi8O42QfNeX-Hf-WcLb&<4iNDs?N#D&1k?#3~J%%>@Sdi9Q@hy$b7m zCMJ;>OcW7>oGM%@ea~nl{d*oybh+J=7*{T9;^;gOrO?gIlytG43EUUV8*!bu$3MuS z{Gm!y*l?YgBXPE^1LSn#dG{Z2dv$Z8DtL;u{*{ zKPmWcqlb38DNoW1)404{9yOsaDi}(arXVeFt%HtCYUv{Nv(d15^PUTMHg1Tf36xg1clWBovm}Bo24K^ z7DLLwx5**l2xF0T0p}D&3_^vl@CAjR8lp9`b(A=zliQPjSCmt9{aG-FO)3tuC>ZM4 z9DzDB&CD0cCBrXmej-%C50MB*=hzB9&5Ur5sxulz2RlBz%SN~=yK`h-rKE{g| z9jgekws{pbh~N$Vh_W2`A`(v5J`aBpiJA2Q;U(ATr*jOaN*Pjpk)b27L+#6j4o!cY z%;;@Bp)t39In3A0(;yPmDB5!J(liKXJ2@9V>k1{5x0Rd7+mkbsfCe>E8Dq~POy_3z zI#+S&(nrrB;TW-&xrN7FtGv5|*l)k^sofYztwq5> zwO(&^2Ph{4H=OP57KL^ny2$l@h0NfGAYifNEtLPVaW^%U48doDy4~6RFzFk46jSq4 zkSXfII9B=_Ve40_eE17Li$N(L0m1{b8y+&C6m<{)!drE26RMrGfb5Ts6Sef~IXe6h z*1?M|Sa1h z_tKq|Cf(nJqyoKyPNxtY+`iNz_cgAVUW4ujYdQ6lvBxN*7lZ#yOC_XTrkOm31hoi+ z&R&uB*JYnui87{Tm_z*LlW7`nFa#hLd@hvtF`}jUlvSc>4>h||?A?t7Z7s0{ZmuIL zKMC=&m4neE5`aXeATNa7Crk^B_I5hkZRfAdwwW8#qf@x@?Y*D!ZFr4tkw?yZOgD2= zZW`ei$7X0EsL^}3d*Kn-CU(Un1KzJMuVzmedMJ}xTB4>B4LN>dJb5c3F*W{ys=@GY zV!?k?HU6^z#X$3aFF-NTi7;Xg~V7|2~w0 zk?zlC$w<#c^${cX2P1#4zx@6?>FMdISQ!2@e2kIqKk3Q8-x<1(*|L6g!~6YgKPbwd zR_Fe!dh@TujK9cAerwS7&x-axD|L(?*Z-@PI#qY;^^d-4TiJY+2q9z+49ViSBdaDm zEK&JPHL}8jvIVAXt!wOvyRqn81dyU#?ne#o`=N2D7}u1}#?D92=_|2pq1)MPqe59!B7MmW;(p zwlxc6{xNVXi!JfueX>zY5C2dY=ybmexQxKyoNTdQ6LX9d59&6YGh zAofgJO`zgBZ>_r%9nP$($C_NV>Y4ZhCy$>KTSd{ z*h!%F(b&6fIxKGDherkP(Iev+)sP5}7G<(48t%}kv9+Go4f)-M&y+$1%&{HIKCnUZ z?AW3)Xs#qnPRKufbZ4egSZX|+8C6)IU}o#7Y1{tU*`R5?`ja#%X*D*uox?FT5NzNC zLW5k2cW5%2+?|9N9eODe!^_ys3DLS02Qy>HeeS8z(Mopl2XtKMTxw=Snvag>OLBc5ypY7-Kt%^467W;ghlc_6`S%MBw7> zJJo0EGAvlB1>p8I_|S#?iDYO;w^$R2$A;ZqrZ$4XtBIJ0`NZVC^RIKrZ0au z$(rzk1ZH+2wM`WesD`>3QmDE?oxbYhSFB)j!nSXPyGR`NuW2sfS< zFWIhchB@iAFNv%0k8K2pq5W&QFEH5Q{I=V7vLi{=nHN5fnV|1_!UOYZExQ%i5L%rk zQf%(Y(O=)o@aF)H&YMTe0U2$_l-p^qP~D5bcgqn%4p3EK%W0!&uM_55JyG}yIf<$rm2U1EgRLb-q*4C6}(z5~z zO$O-LaHZSL(y$T63g;U`&cw5nSs9*Up+K=oAPr_yH1AL=QNmz&xr9|C3Ta^m1n^BP z9mHeH67JAFpn~hpc}Sd%%YU{C43SRNfzayiLfCSC9ZhIxbEdDiaU^GG;Qu00A|{PW zQsu{lAA->xR>WrfM0ys=?d$I&?w73R^L!5R*-nFI0Bc%=I@e}4cM%j-QWwfR!Syqs z%mYIvX0oi+yPiY0grTzsEad&;>bW}-&i9Fw0ldynxhv5~74CJYr3!WwK9jtHHE9sn zE(=E`+lY!ZmPsP2YPOPmi#dsidDZ;qb(EZtyHf>&V(3zg1bg0)MMXDOZ9WOdc9H+X_X0rAu#8N9d7-!B^3l{3# zCmh0TY!?WLdt~UK9_tJK?<3AS7=w`hrsm(-!vtNDrD@s%UmvnA5fJAXcC%jGfQ}FNLYkPP-?O(5zalFq9wbRjozLgGcP{(ryeZ)J2-se!4MHmX}}mn{qWN;EWKa z=a@>GAEghHQ)#=sQ`zMk4=vBR9Z_TmV5jWdA|&5ef@6n9yEmC*hGW<7=@DVomg&*0 zb9l_8Emrb@hFuF z1$h~9LXxb+3330eGI0G1-iL)4JDy@$K93eQgs?LB%}gZWbV){l}V=E&Gd z`x#WCy@scLJ4q7|5O{$jz2>_epByH3%0fq3&l83MQ`s=SyI+1YZf`bLg#9W{)_--= zH7m?J4}UFG-~^?}y~WD?L!!HG_vU*9=Nj{Pm2zRmEw1pF@4&(!ikHuKC;fWebKm%Q zJzg)re~J81s*D45_hVOz%x$q z=oT*PNX*b!A@zi_#>~`}YL77iv2E0KIW=JG|@B$3`mCG+Z3LpI!u$B zmWDFUSw4(~KKuA}Q)UO>lqAtDWvzR@-X5*3j1KY~e?&;E>M2S~HC??CKbZUqK|jUd z9irrOhochkMs_;DeK`9i+dsjtBf>F4p_(Xtn#~?(IY?8*RNZ;ey}Tlf{3V@~mxnJ5 zG_+eVz3(+oGsrb1{L6lq0B3|lSE@zhWO%RPG0a*Cgv?!#Tr)P!O@V#Te2YL6W_vf# z<>qid$PZWnJ{@}NuV#pByPd{kJ+-($9Jd)xg9q2%vL9Lm9kc@0W8j$EMS`IN9IRCZsc1xH*5@VuDYS8NX4b4HZJ& z+}>9GkX6-&q~uo|{2xfkKU0GLpo(Lr|6h(;f03>-0~DtJ zu(;C%Xv**ntqcJ078-!6e;vU7^C15l=_(@=8z3Bx6%YzX|I_)736RCc03a4DOboOD zf&q}Ye#GbI#;23VrxUhTu*Rnoz$cf~b6bM-dM`3$EzLCY}azzTOOnEtjuUK~T=1_bCm^iMd zHOP%{X`b}Gj6P=_@RgS<@g9S}@=8@d44>TS#>$*PsQINnjD?(zrGsh(mXX(VFeVng za>y`9xh^;qyg|D5RnI(lsaS_Ite>e3YOUGpXB}`QhDK&NCgka~(^OtXvn(}^VtFPx zzEbWODP!9w(%OuvC#Jb4`H41CmWne_rKT1TofXwEo$L%s8((-muRKiyTO6-Ua*kK- zUwvW0nwp^@Qf~JrM!BNk(_|w5?~gS^dsXD>}O!_7ocxi#0i+N(eyb?HfmenJ@T{m|ur zkd42tP0jiyxB8=8ppW1sbV7i9(FEiY|FHyr^eobt#EBl z9j0dZJn^Yo(dI&&k}znRq$JgbIC+GKEaDK0&~1X_QWO*`CiYA)EE?w|(Y5%dCd2Pf zUTP+wWW%{-_}}4 z9Qd9-N-ZuV-F0oW?WK@6*I;jR3gznk;mX5YBh|4OY{^r~)u=Oqr#5wcNy77)=7ujH>|txo>L^1e7R#5!zR30~*to1))n;9rND z^_jSjH^R<=XtCe%#lWmUvhF>%luV85UjPZ4&KNitx=(}$Y}Bve!|w_PMexuM38vtw zTfIv?atZt3xFKQ-f*a$XU*IN#b!s}%GLX5UVaaASu9UJ# zX&I?naz0<03AZIKMWfO063a(Jg_;FkxE14m^Xw6{4w$P4#2fX4r}=qVbp}jL54kDt zq{EvRGXbNh_u!M`UI}VD^|M&8(gdRbbt$T!?w+{D)H@jSB82MfJ?>DNMjz5%7e~M#O>VnZ)2ADkpMLYb^sxbNKia1(Ct_fC z+%b;nE5LnATOC<_YuW5*$i#_zQto0L1dR&phGq7V|nKEOsDq`{3v_6MM62qH5=(h=> zqJ018e;aA7fv;^WIhsQbzb5MKP&ZH}YfnNmlA}UooHHIt$S}5A6Np$IINC^avq5u4 zPg&S89Wq*usq1r)xp^9%GMXBN@|?`?r>mb2RyYU05C7tmbmj!+>a1jkb+J@v#c41} z49Lnxz@ML=n-v9K4=9Kyj@)$asp=sM6k#WBuuobOQA5Vi-r%wMGSTlaor~(eOddw2 z{@FrUa~o?>Fk9W%4dZ!=84Kb-qgFYOJ!FtUCq4?4EcS#}s_#-~$L{=D6%%F!At|us ztV6XPm=Pq7dm9&1B1~X{gJ(d4pSI5Q7=pAz`X0M4uP*_MP(<2ov8S@|gOJc(I8Df< zmMk2&!*Z=PeQy|wv1?4LqMtXU)p8_i9G@-OUdPl>WsDlER_`pYdBkm@;TOi|=_%nmb`#wXq@@4x9RjT#pahrz^)>g5XxX zg=hZG8!~m=q;IJ zb!?!Y8q89GIhgkeD9j+EahTYdG0Apfp`-&`5FU(H=Wv-?$n_>_&ewRbv-(#7)Zrhgfn5LDM zZFYv%)^24v>_@%qh&S?B!?ubA@K`MPz!fgpB(nmWOxpCjiJgFfG#Oesg`)%9XecX-w)@}kxNpAFN@+`+`1t0Kv!9jxfM-B#c9?q)x z$5vTir_(Y9KMKQbJvwO@D3y`Dm2&&Mkauk)>^+_oe2I3+i8Rjx2jnb_@lJcHlS{_R zpSz{R;k?Dn9KBqk!Iui>^4Wn)AugGmB11RqA|y9TV0EPjqFVW2`ITKps{wGu554!sZMWQaD_t1)B(OY{9VsDq{w?c#ZjF+{lH9Zw5n_V z(=EgYtsjp@R}0yT%EK~ZoCJu2ajlhha}3FQ$(m^D=V^0J&E^vL{HQw&5MH79gXtx4 zp<-jcVx^!XuthjR?aP`4!q!1LL{(1W&7z z^GhmXlG8Qe3acYk5(T=Ej4>qBjCt(n%at=vzHd3j^*zBWFLD}mp913H0WT^$JUB(% zK?i9EP?mWKHz+8DV+lhFr{-8w zAs=8pBp{Z2r_If_xa&7#z;vA)+S?)C+-w`X2I^cqV4peXlEVO}BQbL6GR4-$mI%4a)MnJ3S7Q8}5mA5bjdjU2OZ-H2GP zOGC7eSs348&gdytfKhji&e~_fVA$wzH_~(%A7e)#&&iWHe z`gw@|VG73lE1&+!=l)d1%t}wo#{SocP8Psq?7zPr6C=RX9WeU&3!nQ#uKMq;3E1hR z1q7%6xsZYR=i~X;WBo0i`!`YhgQ$*9=>N^Q{w{(0mFWJ9z|k}Pm-6`U?VPPNBYn@* z-r5)6?N>__7*4DbMEHuIcD|MRIS$M>_Xt9*(2^zgFjN71=lr|dfn;ranTEZJjwpOk zuZst}9e2nkU1oXiuw02v!hT$?CmK@2nxymf`FNemqfr-o>*nj$*3v8OD5)(!QSW)K$qHc6cqRIPS;6+YJOhscB;P7`E-VJ?N4NEk4*J1JUbl#n`Yi6nOq35JkX$YR|0JL1{C4_l$|*Bb zCJL`IDobaQBiVS|suaI$*35S-CXGibduq4TRpzL?eXQp_9{3SyW9?#bDr>=+i2v$3 za{+-K-!YrpcC(yT#iesuU@fh0X05J{u)VScd=Rl74t{UME5wsQxw8srS^IijWfj#C zN9GcA1W9c-&-WL>usnA;-w0yhh8Q35wRzhAKnvLDZ1-yRdU~(TkUL;4lD|9#_+LvN!E8#~2%6dp|Z?kvz z;nWB|crnvBIv0N}O$oi@HQXLa`7^O@1H(pL<^s8QV|fod65`|6Zj(M!ohEk55I)3u zdrgna0!!@oyh64{9rVf-d<0e)OO%GUZf7a)>cta{&!Uz4a0_j1ibp){rZ!#yeuefCa)Z^S1N9D^UYN$DWJ+n(SJl2Hv;@H{Of;(5m(@OH(`)E|Y>` zTU=sT=<7!Jx_kwC0#WdA0ycgCBA!eDZZSvg&UB8b!r`@LK-mS6pnh-{5po(eWdT(0>GB$H1~Kw+{l`=`DsvwC2Q z4SWVd0ph|yVH)2WPUp}iARvNi@jf-!l1tUE-yk1stq~(s*a6|%Ur1ET{T=0#Yl3yh zql-R_#wxVHim^{3qHGn7;sZs53NX zW&9bMF=0b9T{qlzm)ZDEP)`+)awfE^!3hW%^(*<-SYS@|oyAxn$VZV_GPz_?TnHo) zF(oM8wfY&A!iB=dM=1i!H4aj=B4B>Bb|C2XB78K$7>PV6OrKR^3Ud4;9BW-bj6;`t zuD#g`9=kH4m6H29u9dLZ03k6|0pe&jc#B!@XzA;0t2Tw0al!PvkQ6Zt;Mt5lmR$76 z>%L-#Yz?EFEjA3TI>l69TGiyj+%Y!G=rkGx|O=$){qmdTn5K0h82%%9Y^Oe-n#9~D3dTUk; zXCLWV8Im&8j*sN1HC>E`MHHoF9icj9)j(R2)-@jez!@6@cA84r^yFYGMW&hH$a%2&r_->{LA!h@1|QQ1m5%kAM3*M*vde6O(A<^kwO_%XO5f zEiOVv%R`*%=7A|$WB|(|PfcrQr5dcYyqrQ`N5UvH>+Og2%G-UZ*NQpwDbq4}M$*2I zZTLZ}(n5n(=RC;wq7!vKpz01h>bD)OsF{;58P&)*S5Tu$(Kr}e@Y+p+4)efGYJSxu zD&OB663L*5i|^@niz_i2FS9F~b8`Jp9$akpDs@TEpJ}c3tf;YSSM1S&Kq++7og&?s zV;@n#hVjnaP4eiKDiW_{OtWzKQStN$o5(7MVBB|Uv2rd;X+dGBfL5vkd0`ZJr-!YZ zJ6WwD_m4ocHyuwHhMRY?x#>G53__?G;No%DQh;R!Z3H!4IwYM=Y(`{kz;Vb&X-R#;} z9#eNtC=SX6RD9IizS^jUx|)k!vtD>X{lrbWEM73%o=lJoKHr2wrrL>QK5% zpJqnwW~0(#d><`MPjDP1c4}06k)?VYHYg6!)dc+5XBpa~m(E?Ax%$Y0r9RH(M;|bb zE0ZlhZon{M`!}BqpY48alH#DP(eIb73bzPh+4K!lGCsbIRYo%JR4#aeKhLOQeP4Cj zkn{PGPuikSLI(|&^f?DH81u1*HBG!v?iCCAoKw9QeZ<=&>Y2|(qXSDE{5#HeZIByp zrwi^ncV`M;k;bU+Q@R)U(hv#e}-i&tbggx|EZFR8Gz>isPC_pe?^~vJSh_(7?A<6(D9ebpLvDGXBoyfcfvQbY!Sn z+OGg+2Itz{mtp+F{x;6SsiFf;#KIXuW-RHZOpPbryD^_Yfnl`>>m+};eX)Mv_vRE6 zvxu@)Sv@;D<9QKdu-mM{Ao)iAGhS#)?`A}H){G~&`|L&8_drs2yPoal>~!wQ5HZ|e zpG=BSs7^6!&Vu7vM^nllaXu{sOZ`W(d+M9xZfnoLS9p&oocxZKWXCkn%9l^3Hv9Uv zJskif;KU8Bzk!x1%@sKzJ&2dlRpa#ovK}~4&)tgmq5y6JhGgf z^sHDkIalhDaUnFg_Vn7o#Jz*@^SWj5Inh2_RV#BIYYC9qOYO`BV(T}*auq{WNir%J zQtnM#dG6szs4q)e;@K(KEXb+|?x#4OR4eVFG3xRKX5;NjaJIrYRir(XWs=JVhF5xu z9`=qNEUm6LP1ZlkHqVOXL-J_&N8a6Uzs<3j9Unj6w5H*CwKZotrXD3umHtRk z@u<`OVnA15D-HV~*MqZi*xM8nsmLP-@`KTogk!S`Uhqt?A_x} zwhC;fhTFLYsS+Lww&iQ^RmJ2J-y+S9Um1Zlo*EB=Dti*bg!mkZR-j%xJbYEi?x9X` zTD&W_^9h!F`+CDVA&B4SOx4XLq5N1u+6u+JhEYqa-p!2>U-7p@VX6suft)k#cP<-+ zi%Yc_4c1IRRkxSy0Xj1#LiQMp%oA{v&4UDzW1D7@!kEnQ((#GG3Dko;ii!-DfDJGY z;@6F|?lKhY0ET?V#RlL4^OpB20>&yPIkX6~l9-@aJN`_A_+!d1$=_!>geY)k!4qJQAMgzDvLsBsylOeEN z8Cyz10z&v{TtGC*6cUK%h(044YxEzpo;3S$&MYIjM}$=rR(Rx8*`J&e$L z_SPOX8+NF}6!hE(=l3K!CsOarSS0I1pg|3Iei|b2*DY2a8y;;Bwp6om??rcfsStzM z4|iOy*SONHizr9E)r6zMHY%r|M(Pt*t*hi|cWwBLT~0Q`iHqm&K@vow1be{*+wmI|lMANZ6&v#&Q{02W}~t2>Opt%dKIZ z6PbuY0`JmI@Rk%K-C;j<`-nK_I2aBtekR0t%#hSt)#$)CAi(Xa5RSIetO)*+G_?t1 zthUSDec0ZGqxFD4oHN^+f3W`2OO@}nz=xC(T+VYVz>r81)~4yS#HC-nUlkz+b@f?Y zT;D(>yF3gcM52mK=U&`{%7f|%BVl&#^YZBlByStcTnGkkN38i%Ke^26!*_^l40(1N z8Xk;ea6h)m?GF5XjBZgUC0qJ=kHD(%#vt313HIgDavA(!o-lopMpuQ*mmrZt)YA+W z+cyD)dspfHX7*E}XTkZfvG|fn()3>CrO6+%Zh|>t31-qlYGlWP%Lw;Hc}67gyORak z9No7TWT#5uXIJ9L67nUdf+1(0(D;fIHwyZ*S2aiXv*`m{5rEn(O2L$dDq7&EpPg;h z;^{kclM>9z-5(T6R?Q1=L`&kn?JKz$bN2R80L>how}F?JxiW>9lVoF;vFhqFC>h?M zt#IE)UOGwY+!(70?lyWIxQrpTtf(5k}$xfcv*i7Tr^Ax)dL>lB~f5P z5VFwUlt~@+8nz*=*3{yM)Zrm73^#tI~VgRpQ ztAu%sL%8y`zWdxuQK?Pwy!H%jFE0)xE1mX~)I~6bm8(_jEK~`mo!JSoNBMq^5~AgJ+`wlQ6*yl6q+pON=j z5f!$AqX=s&H#9tSX4&gl%228bDj>WkP{i}m^0J&ENvBZfHWk7q_avXX;Y0LI{G4_i z6fF34$>=LLB;jYE`Sho^Wh0nf*Q|>Uw~xk-P7lou%MSgFciNYI*?VbEu7NPRd1$6(-aUa%3Hy9RjWNzsZS73@ z1E$ZeE;g(s(YTvaWoizvZ$2xB`;Jm^^|1m=3kZaln-3x8PNlCGG6h&MUA$EHsTi*} zR&0Y&&oG5jY6j|7+Ie)Z9Rsz-^SQ&rQZ2q|){zszl$9n{Hm1zN6>VLi@;N$;MJM??B4@gx1f9`yALIAIN z2FCyL5d531XU1PU>;Gy!Gcy0})^i4ix%G#Q-!j`Fdqb{QXT|3XYIu3gVx+(Cv?Ws(q~DZev3E-SXm#e8 z>adHM-?l<`zz*FsvhoJ)0FYA7Jv zkTGnRIctvXVH}WaT}P_!SZKO-Bmt3Gw}@72Jokm>{XUBvuY%pqeuZON7!!aVYJEbmiR@ zCDrH~GgNxfjA}M;QJLaqg!8&H)|^NqrMPBN)QkDjDB_`ifyp`{*dC zvBUyX!v&jHitz!3LL^ih_&`B0?ih`l!@CwH5k$~$uS-;*^>v^O`bFnu=?4Lb+{`v5 zbAe=z8w_2iKH&j&OA?fzFG2J|mG^S{d%YyWF$ZJ1Me{y&qkYKqjp55iXJ`axtJ1wg z!z1fM&`aR&=tn(dA83+O_uZ9E$kK5vyz9`;qfhho_v%@Q-u0Sof{r0T4^3eX^9Fkw z6pnBscH)D2ZjMWK>Lq&PC-T<#W7ZfTYGMlCxM>G-4ruXgPx0A|IV1KL;vYE_rXza~ zs^BuH8lr-@n;V_R-n1~ft3Jr*o8EJSd?kmrMzDfeB+2#P&M0!2adPiAIV#8G_Pz*} zhWp$>l>|Z)$UkG1O@s$xxvyUdwD3h=+O9w9j#=g#h((kj80bFtZH2CmG8<@4lzOT_ z0qIE!oDaE>(q?G_5VQOQFguC-`BqKN>t)UgC z0%`=#(L^-MoyTc$ENBGD-YQJ*s>ZA9jB>)h!#fWqyb;mr@@yro|K#Rr;-(DGigu#P zORxN4{ejz>T8htQC~9J&laE7`&u-en$+toA@<;rX+wQIP_t^CNdIZZzVKSZV_ilDX zhyu~DO^(|8uzb;ZtWDfy))W_u4q(X=_wg(wB}Cx@O1*%zEJSTI;(Qzecz4_+j73P1 z3`VSTg-^*Ew`(?bpBTd8G;5aZ0uLyQa{{J|28eKKbHGI8&)?guqRr9xEyb#X>BW); zF$RQrjB;RfH6E~vIbHE1-(vMLZO>j@dU53AYjjxzlORg$Eip@VlxhXKct*A z`Sn^n?QP%IPM+w(h`9Q*GE(445NTm5v)($E^lz;)85wuxF;^S&a>dxexnXlL;*v)t z$sEZ9WR>?abIuePmH81em7GgVz$r|X(3<2=0*;HHws(>|WSx34JUTtOF=c&Wg2t*x znjfIwkC4!32iY?QK(+fiJIXWZAZ(6JUK69|#WyhXaO@mW*s;4M*1)9_L}o#cdYVKAeVgSxG1t+-?O>*Em))&|R<6%3;>LG}obkg1yV# z)KZqWGcV(ZtQ@j)yc>3MHeu*`?Zkl*Us)ILcV3!NJeuu>cvRV*T~-{Pv^{^gtUj+T zbUO&Zy;T294N^RyLV=(*ID6g~ESX@ho2>buI#K2ghC6N-uOX^W$=QW9PkdJ$$be<#0T>!3*ve?$k%H_^m1b zkbM@>=BUNBK_{CbzmVgN6tOy3W3GH&MG!$388kMFSL}!AG5FCXXPWjn`pr$&Ao1+_ zFlq!3KS;r5wYQd}NrAMGzl*h!2N`Zh4-1&8BzEQuv(@n)iv$C30}oXg-zgdT_0}ZO zanzcpsBmgSn@yD7$>naM$)}Cibav-3Yv*f%*A^jJNPa2`XT|b|@ER(@8hm9!)~;R% zpw~xI4;Z%ejx$&fiS_Zr{->IY=Pet8OKNBPx7Ry3t<7X)2GC?S4JNg6KTq>IL)z%| zaKm)Rys8@hph;EGqRh?>{S)pUS|BIR+S5QOIkyik1U8ScpWeGb>(kPTz4r9?rA%Ju zp(1KvLFE>~d{WuOr=-6%CvBqI*5+8J@kI5z{a(6N(8~ste7S(Ln{;63YWZ~$A+~%f zmT;De_Kh#N?hqE z-7~sgZ^@JstH>&nGI`^8Yksxd=7@(>#aj3*JeH|R6D8z6=#tO&>AHg}tb=PdkGQ&b znD7?Tk*7YzvZ#8YiFdIhqWz+J$skQp$>6nFqEjTxI1=PT?{IjF|8uc{eC2&cJeryR zDHC^=^rsKxvZV$Pu3mjY!+GZ>&0E?v%$@K+YEjMWJxInWPtJ)c?-9wMWv(4L97`ON zzpVnj($&17VmS@QCNg0Y>qV$xv4nFprq8{U2fHYt@#ReEauaMa6VA$RxwFA(mRaal zov4Xw=oFO{GC|Ud*IEWKHE*lh5;E_sHkQ})$`?w&={IB}LnUBNWNE+IzHJ8#Q%sQf zyf^7?8OLM*-e2TZZH5U*=ImLCpMwTXWcz?~bP3ghzT_QTPUSd!vc?QmS<+W)i#Sj%1bPKD5uKM7sNss4SHa31Z(`v zlK(K_3JvSX%u0liZm0D|pJi?DB%E4X@gAIDok5PC7w_c=4EM^E`SRu@p`zfzjb+R) zM(zkT ziU!6-0h-FDQnb&>2Lr?nK}%0&@xiJwyJ!08?Nsa6OY(cNt5$6_kONy} zGLugs`rtA=DOgAa`D;IJau)}4602Yfeki2EYol%owUBe7tV+iWgPw#GL8O6g=uZ^~ zy}fAM+CKzx^>+LsLVzLBm#fr$Rw!4Fjz|E#ltW&EV!HD*U$H(UrBR?qv$w)NXoIk5 z(dWDE9FmIC!pV%f!9xn7u=z!TpJ)4@@!8OY(Q_eUNPazVw7Yb4oz_DrNeGeqhz6nPR^w>$YNuF7^*IReyE9Jn;8q0 zP!Mp>#Z(vN9QEuv+36MXO6S-HYEbk2R42E(wLLOcC)H34`4=C`{*UmciI50#>7`~z z69*Q4{lH_}0mOE~V{&K`_}O+!apEf&e4bJweQ&_D2*?kM^W)asopLQUewe^S-3!N%#E&Nd4F%HJEk2=n}Ca7noRw9by% zan199gBXe1{4Sz%XL#1JoSD|iqL2S2nM_YR^c9XtacqlG0k%rmv5eHY(HKDsnD7Sd z$hYj#_%-(BebzTgp)DcB@_Brc+&MSucDE+iyZ!zB{WC>x<4qgS~D*qJ1w} zwEQ|Z~Q-w&wqzaSm}RlH2$uNl?f1|0T|)`87Hv*)o2Ca!T*od$baP|vamDL zvH{##|62J!os@-<1rX)&8&vZLX!5($GP40t&2MC;|L6w(ds_dyN+xzTT7YfJUr+m2 zvz0&HC(}QAhQCKrzh3lzfu#OVjY6j12?iJe%Gtk(tNxvf(4##aH`73Pta%u;J*_2& z-VJa`mC>;8PN14;tgbzbmUF_%2E-zy=TKjm#lgWhkp}f{*=S{Aicu3jlA$TqlgAR5 zPut1jX$wZ0-NSrvf4oo7=|H8gBu&@0*7CTMOr#M&QIaJ=OIuTzHEMlicr>E$hg_%L zVSHS;E*j@UH>Lix8)4Ee5&e98X2eY#wu5fwmo7awTyzX68@NYEHzPw#k@3h^1g;@K zoHG<$s8&`vBvUo}>9WKhK`s0#X{Uwi*CeQdChKN5LX)dxQ0;I)}LjvrxEF_x@* z_)y(tCDYVtqn;*mdJ}h?gzI(Xy&!VfnPGc)*k)v*t8m%z7BSb#VdPL#Z;=S`h>F@7 zON`-)8H$VauGEs2rRfp5d7fpnhM_1pEeL7^@AY}F9H>Ehf=Ku5(cRqMnH|`tj9u-^ zC|?h#i<#c<{4;*M@3fJM*CtzFxX=dEK*yCtaaGky)k!2plxVt2O_TFo!j-^A$q2*2 z+-~q(Qy{+-5W<)(P3cJTHGQ73G9^DM(k5lF=|yYj6g3Yq)738;(>`bm&aC`|WY67s zA#*VH0-0e;>dVCRYW37~^t2$gPzU55*NCVj!Bfpmj5X?}(h#B`n&#$6%wXF0#kJD6`M}hI;Mgx(M2}_TAJiv^TW`SOA#C6xV<%35_o*+%1>Gva9KsYvMB6qOgh({^k$lMh1_o99^*qGc;NWbDP1(EN{% zjego$sES8p2=Q^uN(^zb+;*FCiWa&Uv>kS?Rg*?$Uutc zfjKG*%a(+TY*#KXXrl4g_2^|p0P<>KdI9)s8w_ElesW1=UfnF8k$=`l=ZN1=ha z4JFUlZVl&7pO8gX3C#J&ZlyfHE zsv80>H)^?-8J(co0j7VEKCRVu0(M##NhYFpJaJFB*;>lhaTXu!c-5YTl(x5R%*ZU< z??F7|9hg};1q3Y({C-hXruvcZ zMj54rj-}1BC9(B-kOA7vR~>l_I3-=WCgY4mP2poelNIHv_$MjgI-hV=Z>a}$&t8>g zeC3k@H8!dTyNK6fR&njWl@w>4;$Kf%83T2zBHdiaoRxD^TF=LcqkeHf>jtJgLRI2J z2<>^Vf-|lAvPmpPWIlutHoi{&Rue@#_W=o0&(*}Gz_Pi*byv-9Nzp!4Xs#Z0z2R85 zG3wS`nc(yyNoQwKl{TJsu*ajhPfBNh2xDcd%0?b+xqYl80$^Ocft ztjv?%CWkr@?dt7i;-qt;v8QSJb$`BU!`<2H#6deYPnYba!{g=rEa-0Ibse2$<)WSn zHDQx8RiTECuSak>J%niX`f&Pk}}wEj~naf1i!}ZS-{4B2oN33%?kNWJkmo*>q+;#gB_F^#^uO4 z$(Nk1#F}J0<&4jb63ado_qxoUG#lW~5Z^S(80ivL6&>k0;m;q)PHU_WVup8@)v{AL z*HoN$q9v!-oQf~P(M5kyV|S}z(}nkF!2rwI;B-UN`z;dJg5I^RJXYtX2(A}NC4oVN z5gT6Vs`bFVv1olP9`l;Ub``$$5)91Pe)90L9%up!ml?%>#G#gCgl-h}8D^$S9w>ny zneSurf~H%o^2}HY2MuAf=5W(z#@5}2J2z}n!YnV4&qfKVKKG8WlQqm4sVDRZ$FIv@ z8gKIz^I0jbl(a|tha>u>1P4y4K$Qdxb;A0w7 z<(BMars3iGk|^yTS}le=!TidQ(wb9twY3QZwYHCO>L(Kl2k6jeE}~ z@gM~1c2}a&Y!CV@Uw1mE4L@OU#7$KwDGwM@WmM@UwDsWW8bV;oZ5MU9Xwn(k&V z);YbVMC<2S3waY1M-F=xMSoM(HzeVH^v-p*c5`_#v+^r+JT$T)VC78jYDH(d!-AtJ za1^uVEcb6CJM@tQp*L4M2Y0O(UW;SL(E$Y*IANB`vXULV-AMP|7fIo$e^1KH=xf!4iqo44?d)T2k{~S1x0utzQcda5_2@Mai zNX`9Ob-brJcxzn|LwS{|;%spO)A3Go*h4P%5s_Ux?_PF&Yr4R4Oo%@a0zv<&6|dvv z+m|SLCp4>BPm?`tsTpx!uK6VQ4!d{!B-~5~d=FIQE^y2IC^ z`|kS5NTIBFIMtoKT@Dd_n;zy}$E))F4-o%4e3##nhF?+be;^G%@zS4LgMZT)(8ir~aB7AK~-;@moag zsYzNF!nUEvH`s$~xC*0pud^0NW7G7v=(4QpXSiU@%T`9K&MzxOB!JAr^eA#|YCN9S zkew9hSHWtTx;@vnx!PopODoz0x%C_I43|!APqpusXr_BamR&ch{&`WANxcL$^L)c_ za-M@y(5C{P7$nOz??F9*@*Gw>8w**r=|1nJ+}q(6);uuC)I1HGDQem0S#esOURyb0 znpuyoS(!J>&cA4hh&?T1H}R;%A1p~GMlM124o&Et`FoBr7nK)!Cc~lVS5j9ig0vR5 zyI`1V2TfU2>LI3ubndohP!xWPc+Uqpoy9kA96CdlK}Il1y*U(6b?Zy9p>342aN7ki zk!bMQDVbw=jA(0%_DScn)W*zN+{c-Tw(6#B9B85FWrC|;ewj{n(Z(xTMcP;Y((f>^ z@u=Km$7rN#?8%yT(uDw0(@QqqL50=4t}?j3C6mxlf+a_hTo3JmN=4w#$nw1P`J1@) zi)+K4QQbb>h|yOli!|x1Rd7z9n}nHDZi!9C2TRp2Cs7}@KWt39FsyR4f>;Fe$;>3n46AG3H!3zEUs)NgT9YBlRNlI{ZCPOT?_rt;>U7}d@Vn&Xk=chGd= z$&KqTvGJbF3^(Q0oEk^D>>amxs3lcbzGc^(5EE2&UzC9AC^cSC`vdD zHecHks%$gU5jC@g$1!Os%rS3|3PxxUgkkDH8-qT@2FZ%&3Bpf(Gt>VrrBd}+gviWF zyLkzJ&EA|8eUE&$f`<}0G1%J0R;8fFYjwXkfVK6_U0sp(I_}!9jMS{D1*zWuTt$bn z1Jj5E^M(U8p43X&vhE8#6EWTXIT}If5kqbRzb+7j3FqQ8g$Wx4wv|5gJpm=WqRH7> z46Aw86RX|8Q_qc6`I>|Q&u6ps$MEBKlDssmi0if0{B*^Mx|v~U&|OY61+1YSaj7cH zDrj^&P08v;ra^2Go%u`{5HSL2LrsrWMGZ_+#WoM0TLAkZRRjndJ+Dl~G~yn}F~~C^ zSFuNYO28MLFx$@>oSNW&>dJDavM(AJ4Mc#l_A=83mP`S@ zXios7F?f@`ZH+q;xkl?g=)bn}(F*gWyrl-3|yi&@v4eW%W_f4HTfkfU4 z_<-Du*6ntL0PcYL!xNlw6jzJxy!yNka^tlX&T4>RbSCl~fk990_kD8XpTe}4VS)*| zPG;Smrr&RB(U}=>gaYgh9iZSCAK?|g(3{}HdBpVS2->b@vY$MEEO65Mj;Nt&#B*Km zYfqrSU+6~z6)J~Jmgbe+-K>_$aKFuk9BGe%0FbvOGBLe-NXW!jgz$x%ium*+>k6Q$*q8w7u)K>@hm zmsQU;K>!+rkYajL}2)w1H-iL8h)^VO3_K1 z0vTF{?yj*fL3C}*&B@RGP0V_|f%*h{e0iv@rc)THwWgsGf zwdHr>n1Zk}cQ5HcnJK?0yS|I9Ed4MauSrwha)qk1YPRsz-a#Ugx6#2cF`8(lYxRyN zKt@Z#{}t8QTArz123iC9~9)rCH|XC{E~wFGxXtiPW?0R;cusy{)ql# z`e$wf^FIS0{&te#t>ZxZcB_Ao2!?-7CI0;=-CNfBuRIMue$_vlH@~DG|23cYSMmKX z!4bbpMt-Jd|3yaL_~vhtk+`?q^Ceb<*Y=FgeO=jn3l-UHt>${FNsXqXX8aXNO~lqE z{>*uMN`d&6*jTXBp*1KYQg!epb6LjCPyJ{xURT*WgrB`^qrqYrg9XZ}2K257D{^*i z`NFET(?#+)fIGXm2J5d#%2#_X1VHg&ZP}8_Z|jq3NM4iLI3newB49erA09ir_Fhv9 zWFWpm8*_))Tn`Mm>mUSdXve;#o(IPGu!;$ggR73fQ{ZS)=A&*e{Gb z31y5ThI}DS)v|FaEwu3#KV?5<@&cwebr5b<{8S)YtET-7-wpVbV0A8$nWV4Hpi5je zkTvWFrOHwc3u6Ff#?v)x6Ns7eV!P5P)lnMV&LXKzRp`<|Q75?+j}oW8HtwXU0m~6j zReR`ZmlcM=)Zgz=(~8odiUy7rAviTBID?|OFfFiB;#h3{X+}ZOPJT9FdZu1I=VM;p zi%m_j{gNwK5Q^zJrj)|z{IdkkwAo6k_H}U_GnMJxeFDv%5sC0CtJmYf%6;ELyL8|= zh{x&aD2j+jTkZ>!@fxBa>>QgpDwW%)B9d7wNfG=V%u2K5Vnfd4kC?&B^r@VI?!Pq z&nRowYQDl9wzV&%MtKa+m5vP*D;7kol%l>T3xEraE)2p^PDUYMa9%KlwE9iE^E1WC1{A${FyAU@B=a?WRB! zpSs?Xl2|u68sKwE<^GFHu9yHJm`wCzc}5nV{y}Vc2KxiDC4dz+hZ5d=fsJ5$N4tcD z@wixdAinJy@gQT7?- zn@M$P%^bw~ewN6TvwMJ-`k|ug5#GTfN(WI6z)h#M<-?{?LY-n$+tWab^k?E~R$cB5 z>H^Qo>|0zX0Z(vsco%dfqhNFer2(Px2h)sqPusJm?yB|@Ou##>(4;)ZWvOqADuJaE ziYM?_t7fkM{=JSz)lu>p#{?}EWv*OQ1*3p0s-HSY`ZI0 z_?Q))Par+>3E^_Y<9n`$XoE>8&%)dn2eK5 zFScCp@%U^j_Z&1hKAFqo^jEQM4**O(qsk#Iao-+r$KVflKH9E?Fhnl+eQJDv{0*GR z8%;u7Gsj9|;Uuv*8386$9Ywv0LX-bVKq4!ZX+jRoSKs0jJ9;(XT)O{!hfH%FNV!9S z3wh_dmg%uAc8V$9W=Y7|KuYx)`QoMegyA_h*?BcLYuuzB5!QA${GMB7D+sF!T9Clh z{>{f!2}pi6beNI{SMSOqB0k_oMJ=y&TfSscwes@MMGWu#n_bJTYLmDODaqCeu}Uzi znaVxB;43)Ou&RRMJe<*i{$6OZQ}T@6vFnkYCz`%THm8-p7Xl}w2MlK zKmImaHZdgOPHMl;`WGtFFp4IC{pHw|WHpZVuvSnvmX^*%dgfFr`ADfxk<{2IIEj_! z9PU2*>cDm-`=?@AAc2UVux62{vKaGPJoxqZG0vChFHwl%F<7fAcjjB6fJrb-Aqs5O zMg_BGC0QAG5eDCeT*Z(5KZBBzvyO9$RF?{i;ANDTa`8ciuUOT^auhNqBV*20)OEXP z`4DYWK?Hmf(ndBE-F?4;LE3D72xTFW<}!VVque>SOFr+&aNgl?NECg+MzRCt1CTMXc)*Kz3OkJ5E{~axzl1eEG+#zJwJ?_do!=U%V8<4Dk zV136I>+@Q1>M(Z9$GW@fOK&s0f%AFS7Q%>I6bPYL6wxfPAX})n6ljG*4hN(RqtT+E ziKMK8LTHX?6+;UylkiaoCt6iH`(8EBMg5&vePZN@HL50_C{5)8qq>p!3G@UYxPl0T9bA=wAM_z*88L+L|De1n8HK8 z%CZk8r#C-VmXAT<)6&s0G)V};>UZN~?C|F74NbwW);Gf~4^W%4!AfAzpa;S!Xy*X$ z>tfmm-~$|##8Z{b0-4X$ST?b^!I)qseXQ%=b#cpdy-79ASva@|c*F56HU}PToV4`x zRN1|IiVW%Jjd;;lrpFPE*DqGrXVp^+?vB?lwN%F7F1HRZCj&Iq@|;ws0m63!SJmEd zoy}xrF3+(Y7l;`lw@&);uq;?qD49WoUx1$d-r4xZP|mj!2%)tSY~r?e8K(AZAY!nE z;qyOTs#DaIOf(9ru%1%E^nb?KiXccdJND_?+Beb!FDKejVp&_HKv88!-O2Q?6Y$c{ zSlOt!U5VsF@Uz;u7Uy--ek1wt?5 z68a@2`3)=8kG8_!Dar3zss2exSbjF8{EL$O)g<&wO7e?3|94LP?6&#Uvl!oOMXbL_ z9{FQC)8Be2Z(-~|TbX{?tl#=3|DYs{3_m~ge(>7VxhLaZY7&6m8ZEVmQRa8e&JvpfAC!7$U7`>VzI?uA zWl);RiaKbIT0vQ=^mut(O<%Ls33~#yEVcH105_0hYA0QNWYDD#YLxp}HulI{$4dNi zMgPni(I4wD+M6RYO|+`il>SJAHHSKPn(frJ@+#Mj?S3AdQ>>=MY<5dz>@-c{ke_eN zEssg@@Ij0I16bD}rwxkIlJQ;D}@S*NKQ-<&k+&m~cu2gN( z$`%#jA#}aO6lva!syEN%p^RUJ?Bn9#(AU1F@liIaDPZ4uuAi5zM~30PPqot}M8LB- ziKkLV!>LoxBh0vz|P<$8p@zIT4Q~^`W9Wy+BSM^bjvfR^9K5C6X za4wq1Hh4Nkuvz>oSf4^USu!tJCD=k{r0yQ7Q?VcPi`Z8-m@I`zQ&01LVyHljp0x3> zOaOdwRzS3F-Vh{N(N)pgHclz(4qW=O*$Isy1u~3JX1i$e07r{5WMU)0`@A@xNU7ps z)cB}Wwe%$}R8L^AGvOrLx2Qpraa_^60cb0j0m$E{g!lUPu8v{(vGyTH4ij6Amg3aD zqVpRv9v_$zi~-+Q3I(jerjaECAACDNdC8HmYKq#cfYLj33#Y%L0R0&6qPvQqL>dOg z<$t`T1$Z9Qv$QueEC3ZY)5m~^mVG8M>|*F|rNZ=z;oR51c`BAy%|;?$$!Xg0?BbH! z5sE&>3M0g{$c2CaOE*Zw`)S~kOsOv-8igEbT^;f@^eTP3__!>;q}3|~!Ml1}uw%DC zP-n$`ivbuktP+_`ZW6Z>g#GJkBtDe%s*WQtR03KG;{?^|2n0V5#%t6^t z9PKTDN&^v#cl(RI{uW{;;%v6e&TkGfu72)N?g{qB(!9Nht*ImFmk zXzi+2CU<$!;vBo>R8=Y^eL`bT3g&_6D=o7v0>(Cok^5x(LNuIvCHeACr5BbVHTek2 z5Ax5NGPJO$r&>%PDLod44|TR1HnDv$w0%EsjMjwtGJC3(d-V+}N)X zxb5UK;TE?9nYyX{)y;h)%k`ep$niDDF$Nf;U3Df*2Orc2%Y1aMEajG%#Y4y#QT7E2 za_Y@EGbf2#0FLY)@rPPWRCa_Vg&uNx^$wHwtl=$#nuYNXo%V5kBWll;-$`$9&{$s# zeVD%*@6_+GWNsm)q;-;P)|)y~E74$r7sqfv!dvrPx`te`oRLp#+e{9r+%XwMLf)R8 zCWcIItha~{J;b1Q+eWW+_+Hz)^3}bSEWR0KwoEd}qC_QFH3?i?wuLm|7@}h49a*M- z6K)J}8CRfpc1=fRtJMJBay-kzbf>8c4Se`~b1P*Big$ z*U$LR#KuU?!1fC-1;s>$jnU5_6z&;TdvsuUq=MvFLDFk#;ksS=ZLcU+n5#N znQ6dqie#u_9Y2(uk<7RZKhsGR)0f9XO;f)TGh-nnKz#+tg;I@pD!U$8xw z7SgnOdEV5Gn1TEArv6A}2N_HMu9g0e>dP9$TQX0!G>v_CYu4_-8r4q*)(Jr_EU#~_v-up|TL zpfw#z$g|45E`UB)8z_Z?0IDf?=HdXF%eTTxwbBAtlFmCdL-t(x79>R_n~wo>QwnmC zP6TEcGUicG0h68UeC>SQ@Mqw2A)lu~d91yU+*XXUp0{K?z<|SHX10}@HC^Z#oudQ- zxQ5QZP^ag5ia?#FKsbNhsTkm|)P#f@l1Gp)SF6qojQLvLnUFX_IwTvl?!PrT;%8foRU-=6xA>mq%4e8x z0YbjB@%j;FuK}*rmtJ7ECg+5#k)Uv+c-9}LwV0^^yUvsCC`;eMt!Iu#SKm7JdeavJ zs$di=c~b5=Hc4L|6Eq$r05=k*y=Jt96hL<00m!d)B-@)oHB-;>oz?tT!X}J%ywvuE zZygNK7L&2MVv}Li(NIUelH$5W*cJoQ5g5dFda}FnE8%ogu+r?jX7?G#*psQ{pZJ`n z?`}g$C+qx^)vS*C#~Ir-k>%@@B{-!w(c6ngT*|;wW%`18JxlFx$!(IK6nyM`p z>n)5n3p*_-5+=rY*iH#9L76}8i7sWySw+%%X3C9Yf)8v_PT5A~ETw(S-dbkhGwr9s zI}mM0{Isu@E@1!{Ktqy*B^EuqVNt{Uaaq9GgS$CP0n@?El57T*VU||X&H3xw3Y{s5 z8~mF|?h!e+)>GC+UFyXR3nNSmUN=KrKaWrH3S*L{dg$e4)I4dPTH0P5SkGZXuPeqI z#WZI;?k#uA=z6!(3YrYW@X)=2{G9njOy%~qV^gq3?V2xDo-;0e1T;?{`+4a2(?{XS z{IMv9@Ovbre0u8O5?bJMkE|wVM;u8cWCofs(-_P%*A5QQc09JiaK6yqQjtIahH4ML z7Y-AQmQ{?*uj-&cfNkdI6{E8fny(w{$;qPppjmk4(3UheojMzyoM1j65?AUGd<4uK zn5|4!wzUKRs%B$E3V*^~mY?F1glCv%E$TE1PIbqOK~%-A7rT-pd`0K&dw`Y~)^F)M z;^MR2dPyFJA1~%=K7s=2y7qub7o$JK*fj72(Ftjqw|ClAj5RT?IbSI}3cb2z0rBPb zyx*6l;C<69jalWd88N0S7++BhNN(;|&>a+l!gZiB@B0(SS!%cP$t>EY%J(tNW}HKc zZnRM%r16uxu**{E$Z=XpT=$q*BSvljX|G`d~-}2+%hK%24on&-v4J_?(-(c_WZA<#U z3|9TX&>xrhAKI4x3?BO1DLQ%<>OTgp|H;|^Vu1W5Xa5UP|F6#A@AC4WWtKmAIm25A z@^{;R%1gFy1I`}bl`EzK`q5&Doufn~NeZ!+!X}#}@$;r6mM(Y+NwaoK0Z>(^Zr7R- zD{Dk1Ea+WvgN9Bwk5Ad)=*;in32MTUj?}VHP;ET*&V+jwjkQ<3ocONUKOiTAQPAYX zTw$!S1X}nxiiDDKF(MK5mdB*X^Yw3UPJ{VR72% z1Ot3&FIw?LoOR~IZK}jx-JGYUw&3hb$!BC6s?GZF@&di9F=mqhJD$WP$H$vn@8*H9 zvyY0!7KiT4s;Dg9@>v<78D*fN=SJ-MVf(rieyEsoyK^1+de}G_IDtR0n_-Z|Omxkx zSSOv{g>8LrZ?2*GsesZ2{wUMYV5QBR6!bL+LJAM@TFhm310lgr5B3lWw(lnBToe{2 zueekXpGr^)BY_~w@qJ47?a2VN*M6$a42#xKvSAXax9q?K$hT4oJg#|ek%DlS=8X%X zB`VteE&A}GmO*Ezo{}rvPilz!=Pd7$B0sRx4yaH+Hj3WMdR$O`@elwCf-k>j%p_MC zU3VtHCE}EH(J(4HBP64v;HywEXr3_l>PDQBaKs2Pf*8n@!Nf3Gnz2ZpsKtzZ-y>FL z5J2&@PMyeABP>E>?Rm#hFTpqhEdGL?!FR9UQx-BEN~Aj-%2IDO2(xh!3fbWpFp=-0{o9r|cf~x7J6h$j_b4eS6uQlt^w>P0N3e)EWr#e#z#cooCRA;G@Ar z&Uk7s0A6QjrKcts$om^aM$BzhW>ZE95tNSiXu!zJ)L3)XPdc|f8tbfOND|=4KwXh@ zAj%H5%kiW%s!EnPR=}iJXl^1Zrf)Gzimyx(4y-MW4VpqI6SY!BN5gp!r!Fs;pWwcG zP%ZAoI5-iO6jK*@K*CtLGP;#?^N_BBrDsIo9t6x%`tl%V!J;_6hGY?1PkcYN-ma)e zX{WU0SzcXvX_#&#(M1if<+WPc>6ux%?Ap1UdF)x*2Pjy0Jp~SM8k*y2ji{J5z1+M@P;2%YBwV?)rZ;wfx`V*w6I+PaI=p`fVFa zt+Hyw8;*IdY2yLEuTn2TlT9G17fCS-xy}_m1O{K!`zRheQX)W3SZkKG?{(IXPb5Bz z4<>Wx9nimlxi;+H8xF~HOjuTZ?GX!H853`Gs;g|7W_fu#$6!86wZ6W&zg>N^uvJWJ zUlD@9(lN@;gIqhB$}?6@P20OCP1ADsG}5znw3hm=p?W02K)%nJZWj@*S3!BM4uIdguIi^HE`3g$7qT%1o5sy6O&CvRi^|CH zZpOeUzQN85vmOhyZ9<9`XR8|Pe)T}CWz;K>(>K!(Y{8goeyB=m^kjKSKeY6TA*8R~ z8H7}_952;sSIL=}YH)i5nV9vZ7$})u_bhZqa;CuiF1P2aB`S-abym2&OSwRyyUVlE zdHca_CM5DKxmcPSnHy&1N_pjDwt}V{$5}7m`H6GBdD8`$LZWd+r^cZ1C@a(6b@*tZ z*;=fxG?(OeB;XXo74j8$Q5_S#nBZZ|b|OIwockeYO~YfvLSiK%Jn`%eg0@ur-Ebs7 zzl%M<{*R#m_EAS!^I??nK(XDZxQ8N#+eTKWU>1qa{b7BeMX~1{A3jLKTb9Je>R+Lr zo+!@(%K5kjgE|};)pmpgt%ffrr)UhLqJs8^@lLURgpc)(@*BV#YB%1d7Ya%UEtLQn zQx$SCT{UbSk-*9-nv}3+4Cugngos`Z1+>9m4t!Fe7_l{ss!HT`A-N;4$iFmvDl?kQ z6Yd_xUpgEe*3^TKkyV8DMu)08L*N2u+=>eepDB#S_q%+@o-s?jM==$_l?mNzQt@LQVgY9OG?$t0zfPn9EeYPYERZ=SxJ| z^*XsQyIgz;sX8@AvaMycnwh+8|X5!}3Zf$=gy zSte(8uBdWWLPoxZZkt^JcFm1&ukLqF{9mKeLz0c=D%{ehj;5RaX)FTO>R+52+EEV- zzsjVk9k=d><_R(kQkv3( z1N9i9kD^n1FO9at?1DC?B4&>>p)^_872vNE3WBXOjU+g0RoE7(x?D3d`EZh>ST)u` zm8R4zr&7cF1-<54Ch*;om-p9U2TfSPc_(+Ck3-$B=_NN@tSEw@Oig^T*?RJsr41+V z;&l-3H&9W)(t&Ysw5hz|z{c+h%8?qsrHA<3GQ!R1m^>v;_?W86p*T79nmU&vL#E;$ zqrH3UwpSs75LMmh`k*UQ#5z(Z@;zgRb6n^5t(=EfdjolwKmb(ef=m(TWq2dL5&B__ zH7Qp!)13VkY3UUt81JlAephMMvpMh{3Klip*VoOKGgiW+GBz~R4qli6vKsNh8($K4 zBASLz<7r@Gbf0>^Vdm*ah_L5E2jt#UROqUCM3E%!CPBBV$+DYF#}*jYy;MDa#fO&2 zp=x=@Iqg*umt|ql$7E8M*y)CKY6An(`OUHbU);M!) z(5r~Dkryz;kkLV#6-f5#DY0U^{!&`H%zMS5mYa1-rBFL9l-aeQ#;-@q zj_%0_`@{s7j0J<&Idne4M1o8ZMaw(euLC;IncuGVsznR^NG&NZOg_>lf*8=Q+>Fa~ zAM;SvOl)(}%F};b{xVlPYv1yA>)_u z`Lj6r@8I)?M*27S{6i1@4{6}fwCP{)`9lZ(uRMugO1J;af_;ld{TX!sNRfS0g@3^U zf0l0l-?KobpNaIJ=*j$Mi2Y3#_|~2M-!WHN2BgsdOazCTA1BH*Q_6ajO2RlYRla|W zH%cHPH8x#17cQNzJ*po9KSE}XKje-Jr5KX+B!kAzagA%H>akr) zAinz4Wr#t^G2(!oET+cLV5XGqCE;B}`Go{^k143FpB%@KjNNE)@-ZF&T%mZu+QLa)q z^&4gxjmBfV+<}DU=?-g*fOcvvhK$719nncc#iJqhwrRL3?RHUF_0lgRUf%PABd*F( zORkdSx6>jN_Lq68H3OfUxM|%Bh6EH`_Y+WMlwyxa?42hPun^jAP9|$o*H2|YT zm4>J7rrtwg)i%GLZDUz>+l+H9Tp&T0X=psVFp$Vow@8>8+~UZYC{zKc7(%8Zdbr2y%V;h3L|#NHj5l3E`@Q~ItHU(c0L;6AHiU2PCaWVUP|N*DN< z{r+J^STnkqo@`uJC%fbOWFBQw0g2gcgedCcn}A9P;D#epqXle$mZZoo< z&2Rgq?szeJt*g8UezV?yC`l}8&&9KwNJp!(sAjNQ&H)WPSJO1|`<)Ibr6Um5l72wB z9Qa5!q9I92zaw>|JA38A=SRsKxq?z?dv-ubPjQ`PvjV9VuP%0N=lS zCydvuP~hQz<4;t-awrRGR%Bc^zr84Cqdhjs6bxt=pXz~fL{=cVCC;lUcz$6<+W^pM40QXToy=If3?T|l+I$aiV1GnzP2%9D4{Dsn91NKGE zIo=zFQhNh_AD?3Oko**{!K7nuLP1tdz(0-Q7Z}_uXG^g?EAtj2tfZ~BpC}$D3r5+? zQI>q_0;7?``Tb)Tn;$$Nt-^4AjEnQk=l-IX;eff+Ju?@VuFPCb&*3Y+N(pfY+Qu!+ zn#fB>T6B|H0NeC}atQVknLeZ}`<_=JZ~RkzPa_4Jv1@f;kC<~?Ud_C^#>-D$vN9he z-d4y95J0?lgZ1I~+I?YD$D>Jz#DO*Jl#ixPEUA@&ZgA}k;L?-1XVhA{GEoOA{BX-; zV#+ajEAu@|^~5_Z3I1ef%d_8jkv3IKn2K+ydW%w-fS(6b{~?$nQze|>?2#~V84T~t zyC%Y*Y{UY-nNz3K!!Q)#6F%|&_u#e4izfo4gDmN;gYqteWuse(PB;7wE+cA#95{uW zxg~DqJKPU>rA%;%lbpB&?A5$`QhQ~b3WJMdbAlovo{hk)UiD( z4@CN(+3tTk^_Eyg&GweX`Oi||$6fz?$Nvwdz|WPmIAfPk3UKQE-$~x ztUzdilDqLC(#bqCPW}C=8OM5L3;1yai{cnT`jN4MNxUibb{IC$&@#+jiH07)3 zA81iw>3Y9h;emr%`DYmNsE6t(9I+pMhns5_MybAqONg|(ek&XH!|RV=dI2FQ#{$wm z7k(J?KhNg4)BQTjBu$SPrXhy$9hX-E-qA+bMUyf{C8&=dgQJYW8G*+myMDI?&XE%N zP*mR_J&=z}pm9AnkVkK@YU>5ak%c2*REZB9MBB_HX2^wn_E49|wzV~~5kV@Hf~0?* z2s;}_)<2)G{oCH95NRA7K}3_9G{;SIfAvFO{wJK^Avgo>WyH;6l;+_BxWpEd&L##AOGwvFRq`ubXc<2WH}9y{qk;R7NrpLBTDPfYN5XSM}fVOJ+4`jZ(Iu7)=X9&%7$EPeGkJI z3j7V2_7OV}o(A~CgK7C#PVZa*zdqTZB?{I0yD7QGk9?W->Djq0_X!$QEz({&=y%OU zv6+$dUH$F1s$IbM*mUH!Q`VSKS5=1TOwHnqOGEmFzADTO1wBiyr!14XtEinzkw9Xg z20W5Q2f0q4iPG|!4BAtr#z@Mw5Q&0u4c0~j^N7ZV>Nd8vU)tIv2WMc+Tt!r|N8&xB zlJJ;2KI(1x66}U!+J2_m0JA?xDbX|PJ`a3Zvp2CaWt>sQLG`Cj+)zw{v1)E$RSCk6 z#;9a5f?2vRihnSDcF1n~xM+J@5eC2uU3!SehvTKnheI%T;3>MRXeu-oyjC++LDRB% zman&WMQySGNz?3fF*_W^j6$L9ZDcHx%Q4#!3IU`hUYC6Eh3-FK~|KpJ~#6 zJ4pXFdCB~i)bb02{NpA61BCqRFy(JHP?>%uJTtweF8(H7rm4KGJYhzBPS?h}>%uf* zA`pwGbQ5f{Gz*4OuVn5G*298$TeeM2UlJIhQeGmh`za>lmDjfm=d zhy!J)OB?oyHbwtq8wcc3zWay7p5{5D@pO#hFI#RTUTUeDS|p+X{Irlpv??WMDQYD? z?W5(waGh5PIiwt391m_6X0$=L<3{||JR#Rp)yj}wq6mW82Vvaz<7wAz9B_uXkdx-` zbU5i)HVGEvK(GtvVy*xmS}+rLUTx=m)!0ZQVA53=FFO4$66 ztv1U#8<}>-Dk@1J7W}vA1}-{O#F-a1g0p7Bm0zNiL69{CCPvGk0_}26fc34>Lvs+j zvzY1($^A(cNqD}m)Cw$H&INZBOCS14hkD6jBqLyL!`_5!aUX^4qN~*&QZF`uYv6|y z)*+aPoCB7EqkP}2EzjU=K?p(Ep*GAHb(`bw=_c#1Vid_E6Y1PeA&U75o+xDjZu7B3 zRkq?wNXNaQOWvIhGDy}u(I8j?E{d8iHxR6b-_)oAVcRzyxevycv#~t~*FmuxtvM2w zsKX06s}6N`N=Pt(sX1cvyi%lNRC9`|^wh0-ntXvD;`ZM^2sBueucLws zVJ)|qWoI8|l@!Ry+1Tci7&Rk^RuO_k?rEMN$GC^=gO+pRe;0jN50M{OsQSi%G4b){9b~?M2D{XL z@ILwaAR2{cwspd1fg8-DzM@Wx04RpK1?$m4UWOIBQ)kW0+MYK_^mc&A8#(S+nb@aujeMX>x%h^_G zErVXLF2Zu}?hW(3o(cwI^%0Ln!Q)j#GNbp3B950#?_o!CYad|7Fiv~nMR<=dO|}q} z_uMmbG1!$-dQ2$OBEssNRNmJdi0mVarj$mt?m#c4fTWJdHH+nP7Tx-RB%2eL!H=0R6<;GgH8xJBzTBPR_ zOx>NZSpCGkyfb}z<8037NtxFf6avk)r@dj6O&|++z(d$AW$4jMAf4!^qux9$t=~xU z>^HB{Ms5zV*c%6x>G?PsrHqYm*Clb(;KPr|_5`H|M(N`kXahT;1XLelqoHT)xxuT2 zA*@nz{UJLXu{K=il$|AwH6wcnI%^5dnYg>bo$9n@>D3fgZx213#SKlQlpcd8ZB+~#}? zYofoG!5;wjE!<=i z(Y?^Yj5$NV-LuWb9WO`@T3|H^w8FzHW2J6Y72v>F01e6-6+2TU(+76m)el_fg8^bQ z%oz@5I7Ni=SGCyKGwah=lF5Y!A6*iBNIlhbbhFzemvKNO_yWsI38~s}BseO#PK?K1 zffgJCNq>pxKf~+4L-b#W*gp~qen-Uq1$F%yy8eaef0d(uC1SJub6Eq^Ur#Z-Wk}P# z`J{dU%s+GG|M%4OEllCRasN;1O8-Wze-nypmHu=Qk3#`hehGp%5UmTvHEEtz2dz<+ z|HMDR3}7*VfT4O#N-m{#{kE)uGnPiSss$0Sli=ZenFhy!^Dal~nC**aMt8?}5*19# zO{o|bzs9pCZ`2rwkW1iB zbFxAgt}D0Yax2(X33Q^YGoGpBp zRF&~Ov#u(Npa*>b#HxOSv6CrkWeIVRZQSGFD%MGVjhl6rLQ8=tbXnaREP@0feNA;NWyxlR~-DUMKUk10*CeWP7rtd=czzNj6}Axc}=GcaZMXv zporWg!soQLzBe~MPegB2lYEt^f`AO#xfkMEjY}reOxS-gBeM5z*~g=(MNlEmXdUP9 z_ex~QYjAL>T=!dzmQ1e^&O8-Rqksr1S01PJf5@eJLMezWZ7v~}FS9T&ozIP)N~Jkh zOa4HvGVnDyYk=C&Se&XYoux2oD6e01EO(t#A$8ZH>_9@v#1LASR8fbgBss-R^<>Vs zwrN-}`2Z7=9R7+;8BReS=c9kiR1Elxcp$ zGL}c%O%%$btl6Xt7+kUEpiv3A1yl-Jb;;mxp4*^d;tog(*|1C}-ZdYjDlQ6*VI!r> zq+Tm2GmJog3@E7H1f-zS%^6Q{Mn_Cd zoQ+70MUTp~=R81cPQ-EbpwD#1ts;W5jL>GnWut0GRhB{=q1W(-2!6Y!g$=twCpLDT zrDA4&7Rfb(Nm%A+^5&q@77Xq+J)CC#J*9{PN*r}6j5{(9olQJFw&jDpIlUL*DNe}; zhkU2;5+Q~Cer@%&J#zM=gGZQy2AUrq&)B=)g?h2T5ukQz1(cpekwQ=oz8B&AT9J>{ zlXl0lw*-(dZ z9c1LJMi61w7cjrRaaVB#0aUjn-$C*KOO+Uu(rOdu9c$+uKP|4G-~y=V6CN73kFXZ8 z935t%GW|}2h}6Qvi=ZQqBEBe_w{`t#_NyN*H@N6$<89keP8IyN1Wz0C4c!cQ0FMFDlz$_|L14LFNG} z=PY6m?Y1Q?)XYmebq2Omzi2jvDF+qCi&JGT#HuiP1YQp$t3}VrY<(3 zdTA}SiQ0>8g862z?`^v1SKz9CJfPdCfc`KUUoKjWD#i=d=%GDdn^CzlX}J&H16ZCaOW@MtN#Xfe*CfiO)_Qv&n45pgunm5 zogbI@Z%+7Y-1!Gu{m!X>2LJ!<)F0Eb3@pEzmi_UD|3@16UuN6CGROZUhKKoQLjNar zF}@`R{U&yWDXZH3;a~b*KAv)n1`c1?6`i-m=x``8xvb2g_R*XkwZ3Yzr2cu1Qr+|7enu5xyNPsuCFaS% z@%Gq|)trcn`9Lyy*1WRZG`{|YyS-5)di$wIke&P0{^IOd(kzmAc;NQw`@pwnx7#C1 zY{~YDkc=H_;8i>guAZtPS2x^83+*`*#AY_J3ofG zuG!zQZ8k|`+iq;zwrw`H-Pl%Rqe)|KrhB(%&VFaU^9Njcp5%w;leO;a zUMu)Y>OQ~s^-g`8h`OgEql_3sD;}%&qoCsp^>nF!ux}xgI}Jg$*DAF0S`70sRPYF~{qmS)J@R#p(ogE~VDUC20% z1NGft#7*!<#Dvf1d@<14MrHd5m+B;b*kUXgxV@ol|EG|vN5%geZcJ56z0h1A+BrbO1Th^xpZr{l)q7Tf=#fWu7KFkX@M)z z)&+Qo6W2wgvp_{EPk!8!`11XIs-*CSg3VHE#_hn%$<|2(v)}_UnhD!gW0ZJ&{9E5( znsni_nBtP*c;uvzYzu5t@(w%;$HTkV4)?Hu5HR>J(G;e*ZF7u~gGGdYWb zYsq7yKTvSiT8AJUTGH*CNBhn7^dtp(IU$6o$}fY!5^W+80hAsJLA*04AG+k_8-|0# zj#Ux_Yy|N}54T3Vl2{ORBW9h|3(5!-$Y9avHm;gx!pMXUHqch-g;a6C?r9$E&fp$bZSOtBRtidNSKwJO9WjEGG~f_OyM)*gU7rI!~v3AD}d~TPLzSI71vqD+-1i)0&|(b zJ(7Q29W)b*SXF};9B+}>YqzQHs9GLyYlZ4?s9vVoB-7~iZLTSwg&+zLO_Q1JI1DL? zY;;zSz3NPM z6yh%pKAu%hfx8p}a+P{z6W}4csztg0<{TFmC+F0ukL6>UH$N1Rk41lC* zW(uXN5Ie@106sn}+hN8S+6kA%uP4D1^Ha+-a-8oBRG0VhUB3`@ ztSY=efg%Y1I6}6uB0-*a1;=H)978gv!xTFekEbsO2P|p$>(&ZlA>c_G0+%^47cr| zN}Dwo^rn}P$U(Lp*kDVh(`jPsE)s(_b8A{3F!k^{nIc-tA%KF5-Z{y)|Gj(!z!GGL zR^8`mzU||Z<+2!kPq$oNSuUP)Afq!lCsFF22HEECpF8C6BJ3R87gaRd$^yr81y3&t#{cq9v zzgqTX`B^Lf6PACpZ~skLHvDHRpWe1aT#m6&`$Cc&$mml3exs$;R(lR5)Kae1TwHNz z0xt0L1!tJZBQeFJKOFyuFb>?aKNglgcmRH%(8jtBk`tVAok>R}<@Zphb$7nn?S~X< z=7G4qBl5|};OY>Idj~6um0!=AdRCTZ*#3Es6+L0Z#6cgaKLBAAGeZAE-h#Hv^X}p4<1I(%NQLf`?%J)bpl~~n z6eR5AV;!dLQ zI0#)K%ZRH^W;!F0(sPSwM&5b?nI+L8s``LW*{zg(k`eJm@peRN#FP+C@odwYYE|(C_L9I_|w`Tms9IxG$|`eWrZEdHl4Y$i>-x zN(Pcsh_=ES{mf^hGTMZQI4H;kg=t8|V{B3tMV=>osYAI)W9lD5LNU_79^OhzPHoW( zrZSASDq|jx*}jBFe;Nl>Himm&=tTtx6)fIvPfs>E(J@%RYZBs3uJuT!6^>>|C9BD* z{T#6|`N6$YaG=$`N9nWOuR&OpKL9T^p+HY2r#WPRPB zNfMB}I2ghru;CJi)xkxK#1j*YsAWE(Dgmvfl-6}#PI%IynVHJ$qlL5nD(lU}Ui0Ry zVH!4pJ5Q@GZ(;t39yVg#BGvLYI*o+*#7FTSo_18qz#ZwYZ76k#Y(fL%3EXZ_2*x1x z7qygNpWa{TRK9*lT6eqAV*6f*hLKEWYuW16)i}u(HbB7B?(W^U0Z;b*YXaDoD_s;) z)%9!6Iqw5zlG15jZViNLP?hxE^frnWua!eL_d^=@$1i$JiC~|gwcR-c+rcj3OeWsr zPYZ1U^S7j5j6E{Dptc5aphGtyQIo5N7Awn>(>vuC8m?k6$VS!HhB{D(t^W{0ebwPR&j3DnGF_U0EyM6)ajtzF zi)YO8#?{ZCs(hSUszGgp#5g?ap)IJtezf>Pr2*aVb;T3G)Cg`FA8Cscm8?>(oQ2Q6 zhDe#-Lp*_g(PLGz_$*y%CH4vK15UhN#yc=Suusu^DDeOTbG>K@5^4mtvf_gezAv#_ z0bE}l*3v!Ekq=E>$rr%q-xs!RJMhvsVU)8~NfL3k;Q$^5)Fcoc?58ups`s0Qc%KeX z15%e%npb8fi=!k;Fv5d7QfoIhIHnL3Ti2GMkkpC{5-KP(YNhOau!&|Em9Z7hFh>Sqb}yJs;mu+Xrv|C$xc z`fF?3U!F%#&qTxUdy)F{y3TJc)t^M_Ptg6Fr<-rj{MAxrdiyzlo3vVgoNju(1v9jO zlbVf$)EY_*Oi)W@Pz!M8H+&}8Z}ETI42~2m%{Lr;x<4Znl5a#|w+M#yrX!9`zI(Uo zF-GjD`4Awz&5_p)An3i{w-~F@z9S(5zv}G*GTPRWv9Ol@VDIecjSB+j$iFT8X1m@> zjUw%>T--ngp5JfwK}WA;w0(MBzkdf}URl;DB5-qS%237%$#urqF2{)1%J|I%yayq0 zjP4o`=iYtLjQuraOW*VTJounZ4W?$%J%2RKC*Ju0HlYu?Id}+C*XzWH5z0BDbn5_J ze9P@QUQt($%d{!zLRqXK|l4FoYXsY4YYXj0X0{Qxq7{xr?*QF6J#B9zSXw!ghBtOX%!F z>JYo~7en5jp7zdeU(Sl*f#t2IOnm5Eee2BdaRR0Juh7>_*ix|zt zvGaQfe!HYlSO3**tGgs4RjjpoE9EWo`c(L}Vq(dacW^;a>zq0VNsg?Yn?!?Jc*rj07@jDT!mF7I5tK^aFauj zF+?p%PrV+#i%09LmUuP7Mz2uwwVCl#0}= zd~1_Y0lok7JxMvF;rsSF;=tqXk+SOR=?`%ud5&fVaSn|nVlJpNuDR@WoJtwFa7Cq_ zy{-LW#AvxP#2Yw8XbZ4QX_AVb)B0}x_$-T7DVSrsQ=@P$b0Nq?$PyV1Bci+|%yq_h zZwr~Z@1i-sTLWtZf4!)cv}#rnBUC_Dg?z3@p6miYrE~OL1D8{TF7brOnGp##FtNKX zl%VHkzXj(nn4Vy~P!fN;bl&++tl_S^3(wu$9?#v~S*Ns`m*Iie&4WI(Eek}TJ>N(N z(jHHEs>uw|SeaHQ-Xl=q918W4Z{o9ABLG9JK0yIE#J7)6fYhB<=i0)8epK@aOG!@+ z;6UNdn#%nTcp*>HF7UJ$uxr0y#(n`+CxM;`8jyBB~QfR@X)hJqR z;jRk-4rd(J4;`-4_v1}Fs4yV{NNg1AirIGIDF|ECVqDzXvef_%E#!)mJ4@=}8JH@k z8dy*|-{lmG2idM<2x%Tn0lugSu-gz+8o%(Y)*0Sb!X4upvwgN8iCL2TF);ndhE6dG^d&k0wjj z_${J!>v2twrj)+Sg*z*QQK)-RL!j?!RjrJYJC`_Rb4bS1_yEHl_)Pu|+J6c~{1?#v zL5aWm!~bzs`EQ}k`p2o=pH^!B)Q|K7q(5Hb-$47{PBGCj(lGy~or<36Pmzkhh3HS@ zq!s>8qW)co{``-@f5}zWzYEa{<$vC;ApjwxaQWkQjoM^|Mm%+IOGQOZuEmpIl9>p! zkU7z8AMWj%3yN63{kLSm0N#7ScRxzxMQ{Yqd-+j8h2pX)r~_KK!-ABWARk4gB-n(e`w4I{Z2=8{2(O{_vBm)VMwJ77z#_~WxpXeDh0*)?&Z_g$F1 z(N0jAu~26Dq%Arh;g}qfp2b5?W{V|TCzg?m_Kn17@hS(jbs{wSmxh=n(1{y$R?n>! zcYzs^VUM17OYoZ`nyz@Ic@4KU8z37a{c{oC?v1tj)b}katK~7$hsFCCH`7u#5!pDxf{)*Z_a?(e~%D_KOV1_%NRCzx(Qhvx0w}pDz2D>P22>V&Gq5}9K!Nk zqF91TjWgd;UXVZ-{ZPQsmbNcSMBp%&g&a6*&^3aI2D)Mdf0ub-6T>phf5PT z8@r=ZwTg1})175h9u*YlqHVi3^ybCD=XvfMGzecjPTfWgDI2EZ^{SH|UOalP_C9N~ z&K9CE7T;_v_)wV>tI4-hER9Kx9F>XHwI);Axp*{fg_flvI2n2RVcAF9rD)k9z$oB>NVx?=JO98i=f0xC27O)YkIkdVYA+BPYIA>E= z9<2x}6%v{4eI6@@?5y&l=Og&64?2Nc9MT?Fqx}#_gz^z4ZQ7tTlXJhp9cP(GEMJQy zUHkg<%Druu?esqE1K`;VI)kMh#5D#MF=QMWzgwcD+~A}ML3B8jIMwGn&lAktTRY3* z)dMeZ{E6Cl$6zuc%b^M3w%5*qbI|NK6oFw_C(PIdUb9_Me}Nn<>g_q2N-00=4XZ%L zcy&U`CcqJ`n@H@PcvgL;%q;-{VljPf?0|%z`Q3KWlS5SW-J_+`5azVeX(m{m@nIq+ zSIkVbckhLVaOVXqtEF{QQj!y5rMgpIm$HLgWH-2tH89eiw#=+%E!qGcM9f^OwD2Z=q}nx z4Q}+f;8~{5l1a;=$7&%QS{Bi9yo;$on2mOfY`#W~+Z}|7~Bmcp_zhT$@+Of#`=P4GtHxc>ERu1c* z0)~F~GzLa?8pgLIq`&U-u>RVx_?IWrztxnpzj?vGPX2P1``1Z&hPOhNUk3l<&-zb6 z|9^n$-#N=~QOtiA)eUHG+q}ZZ9^M}(y;8IUOQmg^HRMQZG(OucEe%gtt7=qwkUNWhG30|dhz4s}er39!_L*mN%7xN~9p_e&jUMp! z2rW2zox&OiX~XXxQHHoBBC0dg0bxq)l|~u~ z@F4qm*EpN6jjT7%_2Zg(Hm8@iaY*L0N1D{4l$z%(73>S-lnOC)cnYIp(q!()g739M zAG-v__EyAua+K!9OMo$dplBe$aJGU$Af_jmbc}~1O(+|fMAdysGXE0b=_v3PID+u- z$O&q=kF1-N?GNmEAqF!HD89wI=f@}Oh~P+N*ir{vM^M!T90;02h>UuaO`sk9pMeUs z+^MBzy~}6K*zi$W%~4U)D%@0St*#!)OkoXW=d2IbPZMG3<}$} z)uZBTw-|KX+p(Nw#n=IfmzR5G+o#fGDrKH+s-|IaEbTIrtxWA$Osxc!HB(hlTn7q2 zu@7g6;sH-=)YEMeuEPltt3-+NOv0WeWhF@#K}me~P@RlpQHby1ylL+%h+MO#abQEa zXDs`8XgnM8hQ|GKYi=OLLuV;YE=}St6e*q~Kd8sDHjOt2`ZR-HmI*6PjHLx{4z=Ybg<7gujWPuaA+_Jywk|5O}~AI6LZwOSMi5(a@HHls*>vnZref6lfy z|KR*+Ho$&;Y<9Fd{m3qbf2un37VTiWf96xvSaMxBD3YbZbUiRSFB*8w&h@4vPgW$Y zXDY6gPg>aI-odfGbC>@~+r5-wxYWp;Tl_oB7*#a4n8}rR{4nQB@ZLR=Matby(*d(G zy9KAGsL3a! zXRry*N>!PdR%5QWH^n1YdDp!Ns9P#D=wwb~uB-5yCupr%ZE@RDIu0f0>weGXAOPe}mmTYHJ zNx4@dXmBM_erbKgvHK(<_YC6N6UBw+V_nEOdQlP1-3nJ*Jn9;8Mki>U&fXq3GidaT zmsGmDc^45Befx>Ie&po2$k}bFU8$m1Ju*i+XyCP3Nvi0b1Hw3Qz4Q#shR(7*S9`{| zUM!Ui4Qc$v_Z>f6`7*OSnj&6gCEqV~x=5tgY8p7(Mt3abH;S_i!7BPqYG|HrN|n08 zyr%xW2sGsTdB{!YP0ZLMS~P{7(RkKej(4~2XnC79XF7AWzXkf=aG_a$<3hi64FA3J z*WUpBX94&R#QqIG`PbI69|6AqMh5@dSoW7G7CIIh=HJvFv;Jul?00YZuW#J^_}l!q zRQ^xR{6ATa`cr)3e+p>!zr7q)p`sC={uU3sro*q@(mJZn{|zQf@^sPgD#onVnlrO8 zK9+xB*dHIL|DyA(TePQ#O=>C%4`FkEU$f&X)8M%2yjOaY!(mNC41v?kZTHlrf9U}I zOea&1m=(Bt(QmtMXEEUDpUF-PyowDY8N9TWwDbe$GPLdYn=3nOUsr~T!5~M8 zRGTf%x{=zP9(`iA6mfB(6sUqvIpPFCu+wPoqY=tkpi5m02lX{^nKj94fq|~oJ*62vOqPD)qSW(rkNPL9JZ(oh+s0vy_P7Tgg)7mr$^+Oq48C(0^@H8ZXG+i zV}f~}`1;fmA#$&`$=EG@z6dy9k5Mor6Z(9er8ZEMvt6~UIAJsoJeqJ3bLkg@*C|o! z9wBlR#6MkTawN-HX%#TpfNPR}P4Np9?g5-=%-uX1By7M|pJ@p+r0?2i`XH(WomNZ3 zCu$IM-nzTW?e*m?)~Zy%N3k@JeHL&wpK0d13_>~OlL6(&s82M;m7SP$J7{Sb;C=Cy zeL93{On!Cv!d+#0`|rnZd_atIK4t6joN;So$s43eE^Adx)ffrU)6CYAP-~zH=dMHm z%+JSl=h;7sABlx-R0!BcX22jb$$X%5iu!gw*mit*DAb;eHH(RQT*pFzfBCBMnl>~Fz*EQu#XFono4p59QLi%#E;#+dw)J;}tKc`rF(t$WiJqCn8 z?{!PI4hhEA#SAs8CyA-nv2jHs7L>?MYa9z~Mx9-If+8S*$nzDb)U0sa$Sj5C`a=)= z<7XY~WYfb_blt~Ik9x37WmbB1(&A&Rm~6*W#+C3m+Q_H{0bTKzFZwX!xv6^`#+;-0 zvS6U}mYN6a5zVrM4!XCqWBThrrna|oNe!cCPdI52=FjXz7Z)fs&r2{0Ni;LkSA(^u z9Afk631CCh{AbPvB;@Oq_)a_9aHlonNXubWor!7Q8F@K^}0FFuyRiErdg(m``aLMDOYovN5f>2)8*+_kAGJ%HIs|bTLz$O zdhwuF?64dF>xKcU7h)2=4LIxmlxFabs|ziV9a~G9h78nu`94=|f(J-2-vpTHo1^wXidlcfxD&an6REq3RDuH4 zbh5Tn;f2?{qSZL%jVT8imrlctLFkN({Sp!C8|A~vxn9ylch`;9aQrmulKWN<^FiiU z09GSC@!vt0?dSTJf8iqk_{#sqMP~h9xX3@BjQ+sckC*s2`25oz?(e3U*w|_4SXh3M zrmTN5k$*Qy|CX-L_NH_Hs)pZ0?ay-f|GlVX``J(UCq5bee!5eI^0M{TTgLCW3dEB> zIQDd|bz_8nx|KXD`I43MmR7w~KvELf+aWGTF3PgcTCC_WD?55N9gO_8ZIFZUE=-M4 zFT6&M6|5%u$JL3jTI5#kQIn)J&xZpLi{^I_w~a(TDH+#;9X5K{ADu%g{%GDo(r{V1 zARlOYx|qRq=KZuPWlv3dn3eY5`C-!B2w(5_ihK$`EcQ4 z_w*^xy|x!~-cs^a>DG;QX2hj=cmuNca&-4G?i#&T?bst5By`*)kq6Amd3HF`!>%Ee z;SBlj&X&T_iOi3eE3gpgIoh@;h`*;p7k5}&lNOKO5`$=Cw^KLI9j@o8 z81?9cuq;PA>^uLs zX<8O$%Oo5YoL?H90&-rjYnsLmRzjLV?q)NeBmiuSON4D+Dlw$xRfu@+On;pG$u%ul z$3Ou+{^PT>wEna)Tm{{JAc?+45EFo48ZKs{{1gc;Yknyo9f2xeXnF?&eXIXx`!n?f zkK__}oK&pMaX&_Elm?9^>u%>0jG&28)f;cl#-hfhCf5L>xLn<>u zr%zOhUTo)hb!&F&akX5b2jL2Ep0a&`7H&#SqOqP-YpUS%#m0=V*@$3FO#b-XpGe{+ zi^G+S&Bm1srnj-EXFXEpBfB5V*Kt2w!ampcvJavRD6z2bR2l*wUs90dYSYkkUWHRe zAbnz9C0<_}#H{yHU+^N1b+;cy9$)#Nd@|+XnW8K^+n={s?_R?`ya4x%43z&CT0ggv z{3~ev@L2!6uf+C`6U~1g%ljLp__H|u2Sk3X{r>lxy1!P!u>E<8nT~;m;ccJyujpa@ zwG!qplm8l8KYq*qR`dO@4o%-0=YF$!^p>{tH#d(8RGu6%SP))Td_dz<=bX0`5O6Rm zF+V#YnPiBqa9K}@q#f+@;gs^XK%A$(cJ!F`Z?O%ESw+k2UoSl0F5946E*_%4Q7f~B z25Qd_bqD-*rCd|vWPRl;aQXb`Oplt)&co&U(8oQs1>qcAeT&rVX!U`)!Mt#Th>Jb>x}tidq@up61a zUWX(;uA4;T9hKBCmdf3K+n|Gw;r#6Rb}xc7vQP6N2Pg>Zj;J9n;Paj9NoH=B6S(#u z({PBP=L*leIVWM8W%>{M)wq+(apK-nJQ*ql&d?bY66cPD{SoMlrx{Cbs>^sEdsq4DNA4buHrxY`+ zXx!krbP-TKjqdu!AB7Gh;Cn*5b*8`FJk~W^5i{QpM;Z~Jq?h6Gya{iGNh>a1ukwDf zTv2aYloy>4t!P`AQz-=JTR8dTU0kAXOws|$SsOxTP}UA7L67sf)QH0CiY|s>35@S~ zS_XweVZ|fl{l@*5hMPH~(ou9A4ALnEa<^8g-SL!a z$R0{AVwp(TKT=o1*HNYXI#oO~*pU}*XNa?X&Cac&@&0+edQfW5^|A| zu)f|42aA3<-Y}Y@@S-UidnCY{lHe*}9jVWyw3GEo>LAJtu~77L8BL})HbZnlu~>6f zlMgA2R*k~Nk$oHN{EPZxcur-eE;>ZIm}srsq~P7*;X`I3$1&nA( zWcPEX`3CN1gj&Ut6}ikqK<*tEE18Ui<|A11Pf|*o zqki4&*4yGcS+7$FI8D(=XJSkU2}}@|3g!YEOtwO2Y9uu_92L^rU)X6q#8J&BD#I{& zsANhhq(Vf!#x{;pz!GSMT9nvyeXpFq)_(VB7_+Ho4g?$+L4ao4b}-ob858!@c4hse zF(=I)R!&xSiR?3*sl4=QIA4#oh_ByejDg>gbiY>@bVTo*a0r(c2m-*gP7D(q^$;b-SH@*avba)2;aZM#-LF}z1f_}) zu4Zqkg>Mr0U@2TFk!Tvh$LZ5~nXil3@iFZ|cMmjLRBMq;7iVNoue1|dV{6x{W8V3R zm;V*2*9WK-su-@qQlat41ZVO~<_m(bT~^1Q%sT$>!c%2eBFc-RgAVe-Z_J>va7sCF>f$RTdx#;H;zJCz*hq3$L6ZTII6vL5-?nyt zAuQW3-tXHA($5>n4D{?YOm7_i>m)tXpGN=R%R=^_HTgef;U5RRf0MBPb&F=hM#?vZ z+30IcM2ysQwbS;XT1}n6hxE#td*Lk8^p{{H=@QWaoQ&-)91_x2nmoGjB0O--)$$SpwJSi^*g?)SXh=CQEe zt!?eO3ECY^VaCa4RWGV-n3ATFg?Z-WL| znd1r3u2K^CT^T_@h6IhuAlHKA6n#$3-N99|4o}C+`A$E4c&m%ea%FyL92jhXOA|#> z_Ofrf5dlGc zh6@YJ!6sdajYNkEDB4tNKzx1jFXAT$Bbkr~U$CIGiJR z>X)F_8BkJ~2=^uJGL&7UWWTeTj)j!<%hd}+A_E?VadExD*D0_;r!#xnjm~(jo>voR zkx1mbCv*L0qzW_TH1mU@A>;I~)v2kZMmiyyg}K9HwQ*af&wZ^zeR=#{hG_EZb?@OK zm0)`Dx~66tv&IV!4wjOueA+z1zu^iO#JL(bAhDFzrdR47NTvb3Yot2%LMf}!T23cy z)26tV>d}+^aP}rE*lfTkucaPL&9+gehqjEDfN9!i#iqjieVzE7o-<@Y31gYo(icGCsHeBI5 z?Td6i9X4;My*q=Wm~v;k0LYx-i7pR4%0fsJQ3T^eFkk*A0_>=u`H75iHrgq3Z=X|qq*3#&#oC|gZ(Yn4( z%r@I2=*)~a!a=ui3SrgV2T-C;{rztt__O=>FCh5iTm2VrlUhG@IEDil{c8uO2_%pBn4MdGF1j5kv`!VP&frW<>Mupxh#nl?Xc-_hG z=HQSIC+TDRF9csVd+!M!gYLq6n5}CGB8roSCaZ{azbIF7NqBxgfB^nvgYnFnQH3rd zvuAg_0Z_mn)-GhHGOK^^?9ReFi1DeN13tbEey@{u)fE{h&y0!r@wRgd-@Gc?Thmc_ zlg=}rlX}m~r_kjY5|%qu-^N|_iKDL3Yl)TY^Z{gn(ImEo24 zb^*iDF3{G}$cumeAva=OR$7IxnI6tH&C3(v7zb)(XPn zk%D5rJ)X#<#BUUU*E<86F0N^U!u+N}I;vp6m`f+JJd8m_*`*}%fN+Z9fcJ*=2uPK$ zuHH-2kOVYyl4@Xg74!IZ0xk#)j6-wf3-lfKTu~l2u$fP6Apv!3BZCb=-w=uun5ivd zkk+ZT8gwcFj}jvbz}<|$~4uSFa$E@}4Oj~v}| zhzZ#frns>vSY1nA^uQOe0Q)`WkT`;=5FnolxwzsC(Ja4KZ93=hC)f*>8w84PdZ4DX zW_ss5putck!Ev6?taflKWujVZLh)EzV!rMzRZ?S>3to z7^JA=vZc35@OsN8`~@^K5csNz3Svy_1$!@ za9`jQ&ezf3($4jwq|c(=ZIQqgTGPxVuof6A&8r6sPei7h4gk`5etYnL%EA#qf|knR z@CE=jUYCeX->|ml%~Bq4;3yvsz;2-IH7M={M7wWVyVo+cHst#5 zkBxr8IVHO5?=90{$fu)x^Ku<`@u4`QBH#4T=G&0X$0-3eL|-*JM%I_`{_oPZrbhrQ z+Zo1p%KL^v0cyT)n{aqVsN=R=y{}jLLG66H;yWaIxpstVPI*TiW-)7(qcG0x6Y`F9 zb2$`hO09AoP8xGg8p4;@)T6;3mZ67u=HG}$6BC^(y}o+$v>6jBbcdEq(Fw`FgnnxxZju;Z;}NC`j|PP}vudtv#xPyO}%8mHb5@obxD- zQPm)>GA&N@(`qAy;%9hpiW6v4T^*Z#0C;2NmYAEgoiD^Ulx&xVh`*!8pFXMoiW7W$fFBgPSqYBZD- zfv*ufClr>Wifq$6;RHY}mxL9nC|cV1`b-v2sul)i2^^*efuOK`adCQoid(aFzL-I8NpBO|wliI46J`#e?3NWs!Y`#ED0{qKbY% zrK<9I|FHL_Xq1z*i$Hw@9qX(RnVJIE9flypNZo9gp0Maa9i}P{-E0)$--0o_*I*lkAt&ZwM zA5Pg&L*8vTaEv&M5C^NOai!27Fu_R-%~ECQxoW;@gl|G!RxI^>={k(Qu9-_#q&+Q^ z5V&o_IwyZ=&b(4@oaZ_ki?=O?soUsG_UKg3HUWc zZ7!&?M#P2{S_@}=Gt#|Y(Hq@NltD110=-?y-HmkR}0j) z@0qMDor%(vfI(Ly?n$gkd~A*2)6|lEvA7$F!78qAH5lFt*(H41798a-fTida{-y=- zK*b8#7TuK4?kySy5^zXg+^&RV)}-x@=PHOHmiPC3TKGb#vAjZ#ZP zGAg4O!oFq0rZy2Qz2Zi$S&>E|=AOuxQ+zK9F0r`RDTT|vjxx}dx}+D0neX#yxBWnzzWg8HTadk+Db^F zP|51JCkvW&@GSqDHrv&n*#TG0{^Q>pcFQaOOtD5S57Mq1&F@%}R{ zuh=!Sdemti&`_CEY(?P*H_##meQu*R%GB~Qmk@;{Pk8j z(;YFs8^RxF}tuFLP zpsMGsySntrI?>KD`hbzwV=cqpdc2yHha>^PHS~nE_6hyzqEF)En~6HqkCuGv8?YJCT`&*4BTClaLc@)9H+N z%cmAu#DWn(2#=E<+&j(kh?=oqk5;cSh~$dy^EM>@3T$$vNJZ7qr1?h6}qfm?RlkB*PhWDnJRsreYxts0vZa;K`DU!01CevXQWF;CUiD7I# zG4c);?AJ%-iZDqnqp|tm$AH{8&1yk3*6)VMbomkPfnerW%Wa~UCng@PqZj3MhQ5Vp=30b?Kvm`;m zq4==v`#AMjLFcv@&re5pKy*gNNX~tEs2;D8D>kSc25D>rSUa_Uknm75iSueXJQ1m2?ohtw_Z`F{IC;x1IW+xIG7Z$0z%lG&Gp(xu$2M!R+oxJ{J1M+l#d==}1#STmuoXEe_inT~`%5TBV4PZO%xw3Kxw?gGNJcPOn41Gd}a<*3MU z<*VimQp|A{lCA`X8%3UzH0UPI6>1h%g}Y@rkH0GuQX4vZ9Hl!y@j<}GGF2nHGwLod z7{^pN1FUH-Vy;t09x8z6D0o@88OVC&wHSq2#^R9V8yNK~HI;VPuV1e{*cE3Lzs01S z?ujs^MwaYE7H)*mkt%T3bTkGb*wOs7-f2C4?kAH$S6hsYOq=_N^OgZ@O@_1AoQUh` zdEd4A9K^4q>)d@11Y)VK=`D!pM?a)u|9Wm#?SPxKE4fx77mYjKHGz5t7Y|Qqn|yTh zDB&{ll#6qC?D9(bWEy4+uk<-RHlG>-kTgX|=^G~-F9HZASs3-gO`RBpV zTTbfVRW}VP%l2>T#_LYyoEX{7@;%6zqCDwolXW~v=719Cbc?s|m&CvzA{5_*a_7f0 zP*7haGjVI~(S3e^Ce`D`uWA4qQQ!3_?aIGg$!-oRt7ot+EAf1uS>IhoF5j^vH$4;c z=4N-Z!v#Temfa*;NE^9Tl43Y=cJvCPf2Wnzam>hNx49AB|~S@>*eT7 zTE%9qa#X6B7MSwZbA}F;B&Z6n5@Qsil+^U3k;=@eb9I=uzzoO`n*5hG+MU!nLj7&=+n&&HUxZYzPz1c*8!9eIz ziNS=wxef`Nw)eLF7JHMC7-tVqd6tXdp^Pygy7@3}8vxOtRkR+q3u1*-(jv@|C1&HI zPpD_Y4Wg^OV2OaeWNhtk^#9TJm2G*Y+0wWM32wpN-6eQ%cMI^R-?*q0#`!fXWR5Rj` z)duwxbl}$CAKw+GJ>$hnSvCW5HH@r3ABl%+AmLhmI?EA%-Fg{PXgw#2y9pvYUPDmf zS>({YII&YP#Nwb&`5ZsJbcEnDlzF%XS288CDRl6nQ7Q*VB2pq0!O=4^cRqd8TMUW8 z{um+;wvz*v&BR@T%%a+wIs?d}X{%_Ix=2bPV?*;9yFEr$6?G_yz_{g4v(){%Dyf*)bHuWeuOmG?6rq&uy zf}3Q8UyH$Ii;m86BhtA z^BIgxgz=bQK%@fD&R!pMMc5Ni!ATvOIg>I1HIM9lO`nd>K(CQ- z=BY8U97yoO9__a{YG)8>JPd7CE=Qj|{!nfV%5PZv9@&mwi$lI2jlc2T9xPN715 z*>hT|J5!^2lzY~-2F`86htBT|YGZwsbJk3K5ld~LAMcQXrD*=9zbxKtFjGyTJh0&m zidBPGZ7z>-79*=5-<8h95)SkpgddVtdYht?EODnbDQ_Cpc%h#_g5!kgcreUb4vWPM zmfc@7`uHKa+hD+$IWR94&S2eJ^V!?lsGM^lHtq4LOvBf~h@2<6ZShU_%S59i*9_y% zpv%f>B`X$q$DCN&SYxD-{cu{8wPe%s;5NeQh+I&JNs(LHlbWO|9r z-W^}#Pm@_>@3%vD1;xDey9mKox#!NK5PAH&5m24IS9wjWTJrVXEk6*&A47n+aM~y= z7CMgRE-(T(Bkn$N_}N7mIX5?IKDH|B*Ss7^&yU*_lTY8EyW9;U`ICmk5Li5bv*$m{ z{Q}Wm9eA&>@H^%BD@6P5+WUjmf$6&l_KI@C{1FJ2Z)V9GCrG+Qk4)jj<2s^U3k8L>EsucKIv!W9jFWJZUUM zljBYp2s9AM6k6(EI`%k+=iNJHV}{{8c=a^jw-i+GlFWS(oB8JC=v=L?QMSU^p7JF< ztk+_<#PQ*5c>6Rod6Y%VVudCd+?yqN*yHZ5cyLxLAzh2A+yWIxNf=gq3C9lmS3e?2>$ayGMCQ*=@F2 zf0!k(cgGK5_yrV0I%%g@@=h0_!DF*~F^hDlv9%z~Tl_UUn0sahxWC{4SWnV;uBCqg zz9gSL_BdH*^_$`AXc_>Td=L6dk9@CfH(F9w(ZzN1b1_1l(2p~c5K0DF*la?W&V21pdz?T-h`OBhUt=* zRY_r(M^`5z7yF4B5ufM`8%5l3I%M6NXevCG@9agN9KT7@>7J&&Uo}p9DSUx>Y?gU) zne0(gw-^EQYK0ddYN2aUp;M(lrsM>d9RY&><_rJrN0gXCmO~VXQEv{YcUZXHuG$mM zd&26~Zjsi;VtP+=pGncE>{)nCfhEavrVZlEyX^%{3#Q((EFPeL1l6F3Rw_jm^v})q zx<1k};O#*eB|8bar6Y!OnkPb3H(ZjVqY@)drcZRHJrU3l@X)O)(c*4R`*Ma9gNyaZ zG!U`dOjzRBC5|X5zOSec*%Zx6_H-b=yra&-;gO2foBVc^MR!(o2vZB2YO@63el?F$ zB9Sq%Atufeo9S>j5GSYkbXQcyW;CaPM7oLw45GGV=A}Y8+0sSYyv>nO=qj)q-A`Z~<}goNA=AYvEm43xyNlLZ;(VGjWXF5) z+ryoUV8Dro1XF-LfoKgooAET<&bS`-!^}a{xG5Qw?v*syu%=6S)bVKM*#PS5J~cFw zCIur~`=PO_|2LycnT`*5t~Rld(ROeaX!6uwm-l&lUD7Xv)Fl~{mE$m`?zB(E3i6bJ zt3vFF5)a@2uC>W7R{E*pL!$BCE22B>gpp4{O$m)#UT~Drlk660#n!xI9)i@Qr4T1_ z0NFEe3q9Jc)r83as02);KlZwQ7cXLHQNi`0%CAe_5R2@@#Oxr=!>Bv_A){!wAT%@| zrztTDHyz!eW@I2X^B%F84==;=-n0^8lS{3Kt(-7+4SPE08a(_Gq<=)PzXIv+>f}!#{XZ9N{|QL{Xh8T4 zG`}mb|I&)V`lpSdOy6bHe?mJ09UV2(>-N*1LHhL!@Z%r;7ohe>=Ked>vb;*QfAear zRN35d^3_nWq7{8TxB#q3*&C4>VGY5kuRrX?d=!4pYaKTykU&3g(Kj;U@mNOLUly*d zzvwMjtfZuLyWL1bj@@tu2S(S-qVg7N9)ROB?RxzkK87?AsqBMj=#c`HzrfE@vwPW{* z>1t9xG^*sabR}G97~jm0Wf#z6FYShp_jRkr_PV^tdfpJSKzAs~&tT-3K5+%f($uLR zU5l2K9)NcYcRvd33F>UevoR%dpSGz_y8qm&h<>Evhi@oGa~D3^5D9|()4SqQ~d zv@T$M2+&$tjkN=yBg1?rQr@PPtpx&bj2q)#R|>GNBQ4ae8;12#yL^M1jRakT&Ge!f zQQN%?hEr;Nqyy29D;8>&F>jwrBNd$~x9(%rCN>S0Dh`GV2IV+ z&FDqOsC39&OlEk4xqvXl6^0@Y1v&j%W6MXpUQfQkv=4c(5fW`rxYp`_XS_ln^jIOJnw!{#vOtCc3E!wJ&RnezZso zhRInm`4N49K2y;bZ6>@S;XM$#+B@RgZ-7HPC^ z5fg%1jNJ5F-D&y+jNT-2O{EJ74c3nLu~^k$8*!{5r7t~0qu#wkt>I@m7bgAkHqH-X zjQu`lO`&w+mVb+1YkC>8#USNQy-|Xu+*rr${sYG)1Geju673G-Xnz3vCuY9LxM&Ly zFn_C7`<16{lS-Ct*=r<%%Z7bmXK~j0V{N6K;A+D28AjNk{-oe1>+~#W>lxIBMeY?_ zG{TW*T}D%hix~{dAUxPxTpDh-WJmP83;BOn7hDF z(2E1dv`C?E9?Vh@@;paB41`(VN1$OTyTvN3oa_xd@hVb4YQGd|C9}*b3B~7-Iv94X zd$hmE?*)1)6ky)m?HC%u9>^H$4VUfYdGLR`kpG<6%m3_l^S)e5!&zq2fks-=b2fB- z@P6oCCX{Z2&gPLd9a2+TlQpz!1Sl&5CuBV$Ixg8Q5)t24)$MVoCvk6Gq}X!cJN9Wm5nAscdUGSW=)n@G=b}O@VrJSJ%v)2(KHYk|+ly0tcQi zP_luU@7s|Xzd@I_qc`p7!MO!eU*R1?qlQjx6aB>obQKrqlS79}(6*ED+2+RSX>0~9 z;4n1aHgi}j4MKO|HYaPdTfQ?g@l$LRu1D6$=cF>ZLJD?A_zFTf+B~pB+cc}YA2G+f z=)s^122PuP?Qi&CaK1cf`VopBW?-|BZo80F7hl3I;K6o!h2yz;hnwW=HDbh~a&&kH zxfRq*VQIR*ieg$Cxfdb8MkJa*BR6NT90P?(* zJ+7=>Yhj_t(@tMqpML}@m|SGY=NlHNr= zN|}nf29(Surj6q$IF;~T(@wAZ)13(Qhb!@wq_LKX_Fqw%tShex1tu~pcE{35iQ z9<@%xv7%Po|ax)h*kBndf-Gxb8}noDY`y}nXH1&XW%dL3Ld#u zx{n)8Io=ANCqx<5FLOsR#E@tlJ~j!|_whN$fWHrh+0pDX4@WC|Ny?JluoUq-rv2p! z;zw!ruTBu(72=;x5dSmf@b69#Omx5HZgF$t>Raf&GG?e(nfOn%`@0JMuTKzvT9?X1 z`^PFK7Dj5O*Wdod3F1fh%m4ie;t!Jg?zGcw;$iE#f6y*(iSl)1v9cdfJru^# zZIP|3%YsP-8Y~ge1xddK7l*~>X;7lY!-hAfST_%d zI;^fO+$DvO@x#)#M*_X^O67AC%RI)%E(Qpq%dvq}l>2?5}ZrN5E;6m8r8 znSR5HF;>SyX_vS^jt0(LOOTY<*MWO9F{*l6t^BZd*IquGt9rt--$pl>Q2W@b)jcL* z#on8dhEv9xJvu3O*62Z?EenDG2mFOZOC~DAinc;i<4hD;lmdXo7Sy);4N%dC%#lWC zy8I%m&(FkyCZYpg;M=#ssP%b^(4bGm^pB6Gh_Db5)T8M^59T$s~e#CzaDwO0fC z(ca<+0)GxmvYiByqseB`JeuvPvpzFLd-EK0XJtScKz&X8u0V3Ef3)2RhdK&!NDbUu zaiOWu3l+97jG;^4+_z|muzE3~5Vewejy@RVCWqU$yqJdB#!NO-U0S7-mESEz4{|CVlU7C*LE7dusf)90 z6BarX29!c2y{Q46IKo2^9*9T8@Rx(L46n@z`7@W0#`V(+j&T(ONzOOrs$+5Hqsx4y zWJM;VPu;$N}9D6dcsKeIu_@`}~KP$mxoxC@Y1?F%Y%o04i-qh_AM?t#Uyg|di zoA1W}*?~eqaD1fgU^Z4K>a}hi+n!qX!q&HpPwqaPA3HT$>s62j+2q--;9Ze9fivvL0HAfQe%YBtHdNHruqN30X_{b>c_Mx)->* z6KxF7=ZBNYy~FA5bVFLWM_#PDQ?TUzOJ;-Bkfa5@9Tf|Dk`2QBwdyr=Zn3(%qt<3> zcX$N$&0&@SDZ=6*E~??^*8yN33G|I^YjCGX=|vL|54a|bexN3tz>|Z@IRlgpI1$b_ zz>il1H*`W8Gc0I_Ax)z&SX@P@o7#GxY4;6EP6d_AHSJ?$0$;2?I=VS95o-+vBD18E z^LoM`zX0nuMu94+aMe=ibC++ecOhQ02KJ~>i}^ZJy)!?0J|tfCY&z_j{}pV}{S9^c zdtd(JeJc~)Z=(hOR-OJ8Z2hRoekZ=)AL5@B_Lpv`l*WPHDrVKRoVR+wpjnP z=k({wzZ}H-?JfU%>NMStU*dPbWBmJW(s-r+%`JvP3I-HIwy)eSftV>9PS6;urDFy; zL>WUcw@vuqpR&l8Y$d&z8;wpd>Ym@mMjn)i$e13ph%fw zaJC(Ym~-1$F}}Qb@8NQ>Lm%;O%N5bnCuQGFYl_kKnX?%S*KcG6#%Js3a;LTq~{2RaRS&-*+Sdh0I)rVo}T{b%vQpX zE#DT0hQ)XjlRU3=wTi+Z=*)JsqO;_a4N~NU>V&mAn6Jzk?pJ46f?%PzkknjSyg4L$ zN}*gys_INad$f;ujNcL*8ZJ(nu$gQf&PIOTZW@lQs**K0P-z$TljPBq8n^ZhlhiCk zC3laObZw2@?k#bhAN>F&q`3zkUQn#%`7I|_WV+ByD9luAGUem=n_01}1c7#|@%e%T z`E>JiaenZ87dQ*-Y7@YZ0sy(y6svn$T6Gdls_Y zp5xev4L-3s?^S~w#0JU2>u;1Fk=Df6mc#|?y{l+Ek3!Lxgz7|6ochYOeUwHksw`^9 zStfa@E;a&HbYKMs$AIN5LT`hg(L%}$g5ews0!YK|!+IGz+M7s^5xBxSCLXMk z2i&2SO*p);SC_{7tsYeO-aV)bsMzikV@cX4^d;0Q)#b67z+H2@%HS!@qg^>J zxgoT1ZXGU2;|!mpN-xc0zpR8MT_pn9IpqGkhg|B#in8M~N`&!)va4r*+^<1B!ijj> z3gHT<@M+!4w=U z9PU|?nxJOE(p=90Q`(!*8;Njo5xx<`j+0pi ze1WOxlUKa6Z3x)t?eN8K|5#MYO=%5D)O|!FBQpL|bZA?JmQuCnhoYJ-ny&@$ZeWfv zU@J*Q`V0sH%Pj)i%J*XaVG9R5A ztA=6|sZW8kCgQSWMnB;=!3&n)?z1w-nfAeT+&Vbz**8!=-!sk+BiR+m3%jqO*8V6> zg5Hu7zKnX;H`sYJ4^htAkZjWGIR#a2QG#Q zG%692XE1=PfXeMcLL{WdP2%i2CR=BA7)ih#>)$Ht;0>q9x5V|jzC-F_(MMPq9{E}f zy4c}~iORH-$70YO~23XrX!G4|d2fC;aH%7&_)_dU*Bj-Ybie3#hi=go^ z^K-)kBMHmH73HSJC&GK<643Q#fj#=vRUWYPAIe;9?vAS0VG=j*xhgUF)ra@$F{GYM(Z;Hsj!qOiZ*>70- zH$>z=6UWz;+dq1j{>neg^h(D5dDHt}V1U2Ukm>1I|F(v#wE7x`{KjKcYkd$q<_cdZ zj;Qx$dx2V_y6KQwW23Bo@#ei)+_3WNRG#R@i$@&fL;`^!4-FiUG5j5b8vxo8^f1mz zc;||9d!*2L#is=Dbr+=(SH*^>bpT(@k4U~$!-M-B^Y$@URzX7R5Vv{vb%n+=kH>cp zAi8efoDJDh?7T03Zk z8gSG;+1u+#68A=m)0E_(3iuKx#Hq<3v}R0DG-!y@_v||G9+7;K_a^EfV~4c*?AIH+ zWKk;MPFNUkI-O$P`4K4i5rPC|A|z+O&~_UDtskl=i;Tcu151|7pR*=ZG^9k53DJts zo;IGe(11w6f$j3yc!zqy$D1lb-b&$<9Ry(WfS}5H0-6V;#h$9n2DQA{e!T@#zups!z#c`p`~!7-u9!Y zQWbzAalwYLRlsB^Mm;K{B$N4aW1%Kqu)6tJ9kfQ@5KDXOw)>q1Vp-RxC^};kFRlim zEwgyN{iNi5I;2`zIN~-^X-Ge*siC_;hebz#1`n2wVrHsjcBLgI0wrd2g+e{GMmu{X z2wmW8)Sx@`WjxZ5;EOb@eTYCWaz#bz9PZ$gi`r&1RL;-H_!=%k;uZ@pe-74=GEG}V{R&ln{L9}^<&P5KFBux+kInm6Re$Lp`qRQ| zrq`DL2R!;KM=aAH%(VaafJFZzJ^r1c(J}pfK>FuEhaTxh&1-_waLg>IM18{tKvdJs zR-{9CS_J*-1kz7&NqX%baZaxT9b^k;XW(i5oBJziyFu@io+@G+M!w$4Abgcn#co(G zQ)X9ndU*iwT~Q{BaAee?f|WGT-usA3WZ{!4*k)=H&E^?y(2KS?K3|C%x$^F%)oBxi zRUjIN%ypTqN3+@8>h&}U$#sgkY|M1}h(0an39k@ zMYVlSLTr7G3IsKTNj{=fC}tA1^5tkp;lp5sksl8Y1pTLhy`f|vSxI&nOGSG=?8{70vLPXMx&Z_&RF!w`1au&Q|VZkt=9c6w`B1?3Lc%1tfm4 z+hPRH->1^cEW7C}NOGC{qCEojfOWDsr!*Zdk%2;Q%HK^M=o21|LmJ41)I6@M1A_?H zIQFCw+*Af96GkF!Cxt^Vr?IG^6eC-9>oE~pyr{p_3@4#G5j|d0AxK#ihot(A4}@U0 zNJH9?paaTLd-dz7{MpT!9p~4bSn^tYzO%0tuiS-NtYl3w!#uPr-Ri${td@ zedaWD7R?(?{kG%*xGo*NJ{BR(*5+>CKJvZ>=Jro8s+7$N>OKrgT(M`*s(ujxQkzQ; zcxDW`YS*GcHQHNjk6Lhgl2GL0w0|n(sZL|UHay~n3Cx`3+oLnagwm7FY(=Q!zmG6d|vkOEbX6#%S6ylWb z?206F;?mW7a#4a8jm6Emeza(j))5QrW@~=$aq|cK0>~71n48S{KwgYg0?*?x&^k^nc$fC`*sPM^5 zX7c&boxObOHcK!o++R}@S@+QSnAYzZ-ihB_PMF(h`~aR z)bI%SAiML9tcApF)Lw(CEj88qv34R}6dDJX{;d=!QOwG&V~@%(IrXE8rG{c41goUX zq+P)pj~&>Tx#a5m?F}<)*huBoWP!0Z5-FI|pxUErpA3@-X)%{u>_83W#a-GZDvQ2% zbN7tWCbFIDld+jqS1D=fPtJ5N<{nI*u8{r5V?YdtTK$a%Uw;KEfAD(#1y%Xp`+lM- z^uJv~{YSFjpWxy9L;M@r?@y@)Og~kHAy$ z_hi36*kykQ6^7THpnuaTQ>&!%%5va6Zp+si;JADIAT;r(r-IeH3ny3uORvy+kKZE^ z(%}Pwf@BxO;;iNZ1R+Q?_wx%gOvI=kogbg{BG+NveWY+GDcjAQi!34Jv0`@Y9+K_6 z4h1f`Hj}P#WTX)SPaVXqsPNSx>6tNVGBshWw1}jUqV4H@LS$k0aI|4@F}`PgpNZKTIg;-E+oQ+3a41EtBXtKrWgKUZJ;mU;Is2&c+H6+E1tML-d_-4KZeHuD zMt6WEa!<@&h~|f(pj&y|Kwr*ye2wB_RLjBv5?O1emo@{6D7`9<)nKVp+ia@Ij z@#VP9NXF=e6{hLV?c!ZeQV}T42*C2?Z1!=yYETUWQ?(?g=dE06S;;x|&R3GhU- z9p~7%1o8v(Q@fgu<7$xHLB2RSfV%>5;?r2AlP$ZranN4 zG#P2wq5#U;U@4eWUjT@K2^Z*j0FZbO<4qwSUQk`bR+SIj2b1NmY5c2_3~ltBPlX01 zJU|{*Zm*|@L-eW}87%D#Trp`=m$MUX#hYbns7>kIIvDGGn@t<`T%cN+O7uhu>Vv5S z^rs8y(UoU=m)lx|qJuOCip>IdA9!y!#XqoWu#a_?^q zrphQ1Q6i_b#fj`%>!L9P8!XN?2|J|5-z7KoEj|}|p@1Kl#%Us#v6`q-hTDk16vc5cSvP@vJL6Gws@+K`lr z%1V}u=bh;r9&%}tZ1OQ32g7ErBO1nzHp$5rq_5v}KiYMq9|O$aM6QdP-`rSblyco) zUnkG{vb4WhQE%DfIlX;^Qya@v&tN{4SsU z(bz%%KQkTwfwANJqR8Lz=R1?4|1J^!Yh%Zs5)7Drs`^X*^```bpDX|RhV1)W{{E={ z1^)FT6a5`3>0b5AzX_G`|2x0&x~fu9?d=l^2|rzp#e}|cWhq?+>>|AM#Jmo9G`2{$ zwda#0zEm9+`=NA3R`=#Im*XgxyfRIXXNe>FEwxbgo(<<=?zYHM%XD#?n%jd_XUj4G z47h8;DGJFhORPv__qe`Wzf0(LTe0BG9n(*}XkmQ0=>YSli+i9xcb!1)ZkhqIVnVZ#(c?J`2s5|Be-KM&QkCTqK3 zr_VgQZw~}NQJf_L;=rtMLP&r1f7zZXD<2tUNtTd*T|T`aSV&%OKxa_}u+kV)M}4Ey z42JWyGnPvWRlVP9t{5gaw{zakD)P4|IbWwk-je3!~D_c5# ze~Mc9q*c~I#^4KAFmvb5io1exB{e4y-fX;OP$h=be%JJ730`T<+er8jGCft?(|9w3 z#m9?rTWuhaA`P8DlgCfeQ%sJ5f@Dw_(pU2lXfP$Ht+Vs6+KwVLTz2mC++MrGl-{)G-X7mNrQh5kYAl zV=O9-o0->pY_7~X6ts(__0t|Yb<2^-e(6k8T324@f|$(5e{015AnOR*9pNvNUj-%ELfn z#McdFH7rwnaY+3MsFN6SJ71qG22O7eV~Z#gd2e?!!mGqD)` zSZN$6SID4wT{p2S0|`xpy<3>(LoSyz~D`~Zg=5nuDG|waDXUnJ`VWGu5g16a7)$zD2 zi~XUn@#>`T%P@elkJ zQ%+e2HRvkiteys8XI$#!YjBJ_&`z*!+*dncvtYYttiFv+(N;b$9iHlj-AdkyG~7DB zoUW4$c5y>3yP#cYw#xCLS7!lK?gxZ+qR@__IOuU@UYinbC#;7mW#SQ0JL`Fc2qGh(Q!;!*MQqu(xLxz{GdxAqU~2wpsO(^n7ElPfy8}f2LEN>a(K5~|A_6g%-8s|8n}aOTYS`d-WjmR? zdrn`sX=0d>(6*5Y(VeePhSYW0#8bjkr>zk7djuN}?+-1Wwl`nxtf~U9$W_aaSRkI6 ztBn3w zIB@;?bk}r$fu|KKh3BfmzQUI~jjv=qvT@If{J`v*RN=yV@(9+c9+@lwC;J8hs=_qd zE9?EpXByt)z#xPL@6>8^yB2X=NimUc$t=lf0p&Z8qyRD07fpURev3xo2aICusMNLM z@c>J=AGpM-WKsh`h9LFH`s$%Ek02lePdCm3U+Qy18Rlx zWB|QX?jN^th(pAaapw^H~#&81G2do1?C^9E^!0X&4Fzz>~xs}G=QZ)J4*Sp?$~ zslmld`tBR}+w9s_X7Bc%mNN<(aZ|YZQD{c|s@l!`5oq^llWbTzp=x0v-#(JJ4qB#~ zMwe$=a$rNgzakm016%(V9KLtZpY%9}ziY$$6FAWSA!p?~$@u;d|3;7dQ{v1&X3c)Q zs$qWJhtKw^+WoAmvHmG>=I6@Sv~B8t45|I8@=rVXf3Ez?tQw~8-{-$aPZ)j#%Krtm z*Eju}^yG(4`a5C>1Udrk-LN4aHPle|xy{7Fk@*+3YXnqM$YgU1*jLJN^q2RCZ7Ot> zFL({3TR!ckair~iaeT3>I0LWWq*D>!@x^7kgtHtrkcNsp9U(osToNj;yzHHxAGTqC zC!J3D4fI_}R$h?;>z!R=%Re^hH(?CZc(y)Nx$t}*BTEc7lw8$LolrS{I65w>qJJ0u zoXgQYqU&iO;Yperd;ihlaAk-jxBrpC(aHrKvcFtRX70jxKEW`zPyT*OG+AKxZYCIt z`49p&*e_Pr&5HayqTQP<-nk@h{V*%2O4sNoCRHV^5gB;P^xvJL45X9-{=DJrSJs^%@26{(b5yF+h z$4nT8H~7WATo8rhrv0%Ofq|984Fe_HLLHf-&r|i4LSGy@d)BA}Wb-q7)e=g&iBVC; zSG$+Iidy+u4&N_`!d64P`O@-swV^0>IhY*!v+UCQCafe0M^Vd}3Wb7^c>%x7Epu)< zvbPwz)iD^|fPWu(!*ps!ny<@1|=W~$^*ky_=8mnX`*a@0I)dU9V0xpJ`lPeiW z0)tL}CiSQ3vbEdR?XFxPH=vBCT$_Ez0%y%1hE_A-9wBn<15$%z2nNkMIj02G)WmF? zr9xWbW(G|yLUO4UK%HXRD{e-M9Zx(2Mh90;@gmkLh;J&{l{gdJB+Vehwi9v8!O8s1 zlo}pq1{%&VQyPfI1!b}b{TZax&bkJle-5d zmAHCnPPC>q9Md>H%U5VB-OCEX}An0s7X9@MJNXgVhl>u=1p~5RHdT1=iB#bI@e#2?6Mrm);TwDJ`Bi& zM3*wi*10>|>m!NPsZW+6u9x<;AhmiTy~4klRudnzJ-BC+3y1LJ$LiOyEHn??Xb?ck;WXtmI6o&1jDTAU@p!-C&Z;S&sz`z;r zI-14Pu2k=3I*Pt%w=h9I0%+i=$-TN8Mc1TE`5t36{9E%m)!n&);KP!~rpf6EN6o{f z?~Gt>tsf0OigW955{4QiN3w-c;g#Wqqh|&X0bF055J5fyq{HP< z09>t%&b`h!h@6F0Z{>}IgRi@iy&>Dm`^*Aa@$`JQ$)>O3Haq1q+ek-n%Y~R0VabY> z(76b7bAk%#-eVDMN?WIw&@Xhec5Ry4pozTkVYjWPbEI~gdIbht_=S?7^{zc;DYU~_ z4F_{m*g!%zVET9iMVMu!OK{>Y!q;-u6QFVXTkkJX@NXFCzPH?;QSiGu_U~7vF#Q4r ze-xO0L%}~<;eKg#_(MR;ud4oXtv%E0uKRx?{lDW@G(!IypZ#}f){l(ucSNFlU2*oe z5lJla^=_%{Q3-ivohyWlwGRgBwKy5jaqb?0un5ZV>7koCm)H#+R)@?BfF zN74&|qweOiLe}f&29;HvFiVdHn9gLWde83DR`j&&ZaeLx)D_*9l25{?8#{5%@NU^0 zwL7^yp=JM|Syw3QZ`SvRuUB~!0F4K5XnCTKViGb=efn~o>t*ZF}eY{@a+rITMJ#QnU5%~p}KaCP=6EL7aH~% zi~mSX+pfHM3X3NV2|kUK5pijnkI98v%}*(cSN0kz0eKy zQl@O^ybP5Yp8&E#@t`c5HpT(YH{;ZmV`8FATNJRNlVYrY5f;M$&Tbmk{54npX1b1O zaDurbuV?Q41#yCO-@EDl%tAnKL6K?g3?niIYdT=T9iJ7EXx|)Y0kVNQ^o39oN6GLP zt%a2I%)D5DW2_iPRH<5i;6}7;;`+^MA*pU>_(pAL<+p69st)e1rd#x%4c72m{6=2k$XVDg%G+Z2*cvx)vZsNL6K$ zmCB=)B-B?Z3%2W(lj>eZ1ibVR?cPS?-D`~`crpz|qv!K~>{Ifz7MUg?_L+@BtG-cUi}3k~ibf(Qam#DFbs%M5zzMluAiz z$q5*PB39RPBzGgx&?jdZ(lK=+Zf@UjqoDyE1XEaGNMZ)qdNOAnUq8wumoLOz=<1Wr7?)7;HSWK z0})3u@~6k2J!AXcoU6wNus>B z2Nm}0`WDosP;r-j|JEn~pzK!u@KVIoTWCQIuyitX$v?~i~3>;{$4}xOeL> zq2R~9{1<8&!#{f6&rtAP-}=v>;K$baTT}lo$NfvOjP-k-$?pu~S5<#$Q24_l|6f(o z(=t;tylQbj6CygMKMX_t--E~>He&t`BJ}?s0bz=2uUZ|F$F7pog>(!k^x&tjBX;|; z$_{%&D?x^ipX=a4s7Nf{K@xJz*LZs9A8xSHjnN;|eyOyxv!hiAXVsr=lcVYUA(`9YqPbiP#xEAD_2}R~`e5M&zX!aggXPygod00l~x43|q3g zbG~x@7P{R95Y}2*F?+<1HZv$}scZY{Pk0$iRlR&&m{rEp$qi9zy$8H^e=*<`EWBYv z+aesMOROIdie*bChyOxSKx$JJg|lex-Tt%#5^?9BZ)2_*ZxXB6E3PsONkb>PE!-XM zEvx0~Y=aM)hRb*09`6;%42lS$&V%5=PwUMN%^k!?>QjwYSCu^~<;U@sA`^;*41RY& zTQa;|78i{|O02fK`0-JPLVpUeNgabS1PU%EMS+maHnqkkc!1fRJUghSk(aQ8>n-@( z&jQ{|*n#i;uF45uiE*zu(XC^ZG?bH$bK9%cg#9~!3ckIW%5z@{c9wntgmEJv9m7xVlJXd(6`{*c=DaT^`}i(kPj?Rx?ZaiY z$uqd5sC_S$qEFv@VHJN@ezO2jp(9yWdtr+BQRE#gDl3-jQ!<%*dyV@SU=1-qA(m)MXWQ2V53RpTVA|Y{RD0_R7&U$dV<9a>*Zhm~uSTL$__+ zs|s5vB0ahVtxZ%#x7X6foxPQy&RhIf%K(w#R=4!4%ns|8M^M=+>($zNf?*Z|9$ocZ zX{`bb%eNeDskKSvhHnl^Mq4ZdfuGq>c7oRlH8PtfV!(=lY-y`9&-7W1XkO@t^USHQ(7vVC5D7$_8l?B+Rnd zjw!{N7C}Wr0_VH>eKI01Dkd}|%@f;CL%qu!m@W8{!-;Ft9nzdT`TuBp3#d5LWoww= zZo##23GN=;A-EG9g1Zyk-5r8UaMut#xCM823+{Y9nVEYgGdcI<-1Yyg6`D8Aldf0t z)UI8-s>GXG(t0qzEj$NM=a>``FXqB_$C53zs@owZ`uq8p-KfBq^RulC6hheJ^nWgz6G z3*zqH6Tawe=vUs%ea3@!QwBEUYix+NbcM-r`>jFLS5pXV-r74<%Uz}l-(t%zI9^6; zIZ@DA4wN_)^R;P?ex;M&GScDSxoe7^ywv?@&a`BTe!@r0)n+F@1pZoYDw$E9wi2r| zhXIx+Ns^xa;w9}%7*90s^Tkbd2g`{9>DT6J&#dQ`qb=P?B5@k!JAQz4hZQoEqL$O9 z!jJ0L=fuv3JKb?HGk=`zDH_qp!9*i;@_Krt5c5cylftrwWMET^APSv`Fz zyxrw(+}s%M9ePpb_OGvmdh7yKd!xiUNckz`lV&WIx)*}z4f1v@_rQR2F6CNjh2)1Y z(NG|Xyhrk0nue+LTS5VrXzY0b@S98sY>eZ(VdFMc{7qJihbV>@(!JQrg;DdGtP}LF zJ)2u@Ppz_+7G_x95+M3@LDF?UAiK7YzUgdMT6wXr);jt#2lYc$>A!JM-}lkKIjHZm zRDgf?-=}k!ewf?%-C=w;;y*BU{}{u<`nOg8P8PuVk1;HNU&+kQP6sR%`iX=3VPeex z4-V?Df#M$yiW4}5^OvKXKV;d*I@#Ei`*|P zFR6x}1{uWt3xA{Z?41~y0s(clZoifUXIf4AH^4TWTs+Jxja}gm9eZArLBrfI^0Sp1 zCRK%jP+z*_c|#ChI?fwb2LDdu2v9%RmpV^4!bf}&6h(vAP}Hdoy-FY-56_5{*6#}T zUYZ2WL%5}wPSeG}AFfuRPFBwMgP3GBM(Pl7swg_=?;TkZE4$pQ7PP9xsO> zmmEtkHSVBa6Kc37zcaoR^6|}`XBgK+VJt$dJg}27FZwICk zm$G?pz!q+72exjM2g(*>y{NTyPF^2dm^-TGZ-!IOdY>ibWEi7o#5&XsZ52@$-`dcX zxFC`#4#sXn41Sg_D=-eMh88FqvoXpL@Cx#ia}7>|Sj zr7{$44G|VrYV|)6=-pv7v6&K{2G9@q`*OyS#i@$kQOOA@>wM@NaELzON{ygp!P7v{ zQ}446Aw{P(nQy(uPOg?=R;ZWOtkDYBvM!n^32NESV~g19mYZ%iAspO};DH8x9)(@(Ao^G=Re8C(&1<-Z>HZ?aAt6sxTP~ zE-tsqQ=k(3%BhD%hO{z8HcmlQmGz^wk|VE|=Ui$+nJEC(#e%H`w7;6pF7-~#g+3f} zIKS~r^Ry3B2VVGizmnZkg z8gcGJJ*~zK7X3FLYSJO=7Cc$=D;mCJ5g-aeNT^h9s96@NLS?_hG9FYU;d%`nml(o< zEml`HO8|P$@#+2RX2tyv*}DOqf!|gvz%|33CGTBNbQ;LV77Nqi$XPQH)rvHzM6qBcPCNiJv;1=!qisSO*UUq$+fzFBw>>8HE$U)hy^ zw=4fdto6NP?*DOD{`>F~R+j%P*5drf@RMI#^^XwcZ=c1&z)Z&ql#l&0WcZ;c@K1N- z|Dl@bMOoPZjBMZK1b|=Uoqj0(`7>l-1de6-McyeNxFavJ!9Qi{=sDc3f*H$L*XO;* zj-}nxsO_0woQ9BLbm1doT&=07ui1QhPbKd(QjQA`?W@KWN=$XOMp6~rNf-tn5s%z0 zj*q@TvY&q>;~$4aAEh=X#m~q&#-mO6=#W`}lG`oUm2-KSU3^J?hxVZY%ivpo=)uk7 z{`s9Fsk$Unj1TYU5e~=o+?vZ>vaJWNzzvqqAz}hNvCt{shzKNMAd0WAzpEB(X zh~lbw;LCF~L>_@mcnT%iSWK=D^ozVxoUaGhFP4K=fttU5#yTvJ-2nLi(x0W-$cREkb-yKn{1 z*uGnxr8`&XHD9CSYa99$7ynNxOg<@IllZ7{a2u8-r(bl;JS=6UFZq{iV zh&2o;`o3xtns~-zj52jzpoQkHx($YOH{&?^1eB3DSvizS+ir+OiR1k|^Mt(~{7TP$eiEAlW zk>aV`N#-as(_Gi#?llaD^94|Ev~KO%b>+u5aHn@H5pt?U(JfvgUkqC{n`&W?K%0ZS zP*xMHlo}^PDviFGN z88!{eaj)sB1&ZE(>M(y_Jbso_nHibj;X(M&0E)IbwKPVUf&UhDO+I=9*?Vmm+|zE! ze-WjLb`_iP83rsDkT$g*RNl?$y-AbW$L5zloKOr$m)J_?m-yrzVa zuf9MV7bOMFB4(bPQR7{A&fhXCnnAn)?1_=Ydzp1EKzoZLcwk*yj}&j7e&alRg9uLp za6Bg8gp66Echd9C7K&~3#hjYwRZLw9v%#JwA~V(}u*;0(B%~imI(h0Iv=E2wTaJ`S zDfE@v&FonK(9zVDEK4+egftz!Kn z&o5wQW$j=O&;&5DvV7Nt0e@iqeWTWf{a0(aKi>V5mipZheqRequjr`n;A&$8pqDna zGKZxXw6-%evIA)T_Kz@V|0X>%Z~$nsZ~zDTva$exqv+{4fISOXfyF>9oNRQAjGVyV z5diS;0O&;ll=`Oj)>d>jhQ?F?dPM-en6;8MFd7jCP%2s5Q2pjQ{%X>9JOA${0iz!l zb|yMDpv;+xg%hY0U4#a7zsFPmnegNMp-bJbullR{?`Nyn7+C2T zfw9`(JvZkMrCL8*2}~)`F#$d8-&X=3g1>&~f8q1#MSS`{)^k zUxfp}N9SKzu0P=bC$MAFFT#OgwFRri?~`O`CP2n9-m0_)qavWai=7sLEfjx=NgG{I zL}U6%ur`*&^!@Gqh)vOgh7;Sa5F8kWH8(R)Iwv!!&duo;%w8RT1*Y5_k!s$vqj&F{ zvU*!o#TLsnJ36P{ZH1lZp2+&?cDy(C=)&ANs46;l_}1a>=~$-~(l#n)FMj#_ zw#xVYYXBX*XYid%*qIosaFGvS%Bmi)}Rw8%Ql- z3B)%7ZPzN@wNd4c$i-k3T&n_TNHwEO4~;{xCI(8HJC_|ZjalZlRS{&$N>Xvy9hbMa z$Q;LHo!W6Lgs1 z)kwYJ+nerSVN9m3t-6&sPirBI6`2NSYfpUkiM)3N-*H}Mk!vn39LI}W{1Qtc8?=Dr z#h6Bm8dDJWj?p6xg`f zD-nezd|wG9(odmj-;-dQoiKqpLp><$kKocI!*0EZWMjk1kKh31_94Vfh8p1DJg%&P?kCE07x`-;n>)~EWQ0{|0m@eU9O@hSjQ7i1 ztX13kWFEuda!egkkc-)Glv)^fDCu8Z9%#!iatgj$uQtglG60CQqC2);G9Y~_wg{D| zX-@Z(>Bvr7HfZ=(Xfa(Ow0*DF0LyVz9ocZ)>O|IOHJ>>jl0?8qAuf}CO;B0>(RDOX zZbsn*Um42MnIH=|j8*3Gf)UPN-)EQBTh7?o`Ft5x8vWb5QD||JZc!dxts{t`Qc)Nm z)@2*J_CUr4sx_tpU!G`8h&npT7giQbjmLI`(%ljYQ&bFCH<8L&7&tcyqTS8Drj;15 ze(lkSHrLVa`XgAY>ZaZ=1AF=sH2mDTjSfCi2G3F^bdF7unbMT?Y2XrbY`PmwO=vl} zD{o3HYp4c=v|7x&CDqy^m%ES>c@Ci+K|Lx9iA;QP6>C>QYGgQ2Y)O61j4+0MSyw0u zI^$UPUbq%sZ8fYS0)z(yT~K?xRz1CWg2H-F(?le*3ALDdNtV4Fe4xRV+OerOQ6rj3Gxo?>6qs zQ|FjVlAHx$OXox9{mRW`scG?_t){zF75toE_`!C?+q!(9BiWl%(C)BC5s)IoK{YTa z!6**5$HNK_K`5cZG&@x~T#Si_Yc?8}t^sS9kT@Q&fG-ixQrW5n?ee?1Ynvd__8YQP z4KpzL5T?!NyYli&8KuF+tt&{%EK=u}Dnel~UoB24Uk!d@7$os&g`n#`B*!e}n@=FD z-Cnb}uyBV>B?zlILLY7jg063tH5OOdJ117IY8H}Z;kf%~ono8an>spCI*RYzZ<&jC z)z(`NE8b~mVtt#jcz~2+xF4^5;AC;@$oMw0n`1r3LD=x{8h%l1J<;p^YBQ|K*?pm! z?`IDQh$@Kw$D2K*)l>$tS0kQ0yzWo?kClgeI^_&@Ohj-}UMmHe7@{qFi>Np*_f9%B z_{+F>nwIzdNyDvgw4T{FV%MlfZA)n#K3dB$nY?!WNInb?(b%?GP2hsYi6)fgk1M+@F&BeKI z*#sS#CEy7v7i@tB?V|!tEjZ=(@r_v?s9fHGqwxey2G5Xeyom{ZJibgkc~k2;>2No} zp@_aQNY-%4SrIa0f$mAc0$$84e4E%F^=Aq*b$d8%bC!vR&8+?qb?32d{7of!^KW}B zJ>?r67mh>Uhd0T}VKbu6*P7OK36e1Mx_@$tyO8zHS;9OK!LY>VCx}z5wBA)IJ7o5@ zRSqUS@qU1NUNFEhJ2J;u#uvK`y-1Y_=m{umO-OfxZd){Bu_DBsB;D~Py+FemEvz=* zKjIbTA3yPZBs@$VEBP6;{h>F6@@)YHE8?ulr8k}6&-WO=yoKj%U>yYYE)=FaD zUIkdIEZjpNczQkyGA+V_sJ`rDXQyv#3e5?)2)L@#T3nQ=XjZ4^bE|M}*`gNzl=C)8 zC#i%1{?km-Lx#nc2-JqKXd8u}?(OaNJ?4oOWUD-Kx&%OwPbm8W{qUm*UZG%5YTrZE zo)2W!E16H#1=gR}0uHCg=4jSdDsG}?!YbyRRM9cG4oolLVv*D~u&33+)FAltJ7%`j zY3(4>V=$>vdb0!Edq^FlB+>GGF5N+6{qx1JUn1jlP<|oF?y6g1S znJyx2S`zdN^!YPu!LFVFJ&?#A>I)$h(LH@KAtDm;?BW(X?b?fF(os3r4<5zgv%2F{ zrAq6k*L|?#EdBvhg%T=X$)S`9?O_KB0OCv!GYAC!JX9Avqm zOMHb+HFz%>(AHos!S1c9(YN~*LtWV^OPwPjw{7*Uy@>!mD6}EGwIOy3u%wOd%1^kv zEj_eYRDGlDzFh6=ZuTMj8{Jq>0C8g?eG_d98BqEK(E~zwvhz2;5 zn)j`Ug(2iy4ufEx0B5*TgQt3{Qb zM7E>z)n4*6b-Ge4{1-*6Jjh*s$>0ML?lVRim>6*fw(G*e5*LRD-Ne!apAm^lsL8=Y zxDE#v-(lLS?@W0PtDwJgF#4uN+V@$qRVF6Jve|ITzHHMR7F2|`KnFuzrOHU9eo*n|`6tyyK&O*F4 zGoLE``!HR-2HVh_$zpwLI+j)q>vB%oiDkX5aK?mSFsVE)HBXIrAx+a;7YW*Dj~6WN zV=<2BjR!S*HC5^9UCgX7ptuPcB2|MQw%{v74zjj_oSz|CL)LB@!hs!$u}-@V8mwO^ z+_eReei6;#;5dEXc(-w27^*B)Ldi|jDwV%I}&JmcZEO&qW(lUtaEx?xoagP;|{#kiWuBT-N>eOhYvFbMHvpxlrA+8dtt{%ha$vZ z!ZOJw+0DeJoD-}&m>lPwjyBkHJ5X!2xlz*ZDz@k1-(Bg1(AHdA>lK^b%-DMT77+qU zLUt4uuW!Foz>Zyoefjz3js94*Wq|IoB~sJAtsXqMDgN-RXAXz)u1OZS*4jTS(3CpiffytTH;BN0l|g=)HHDDR9#y?AU>p~=pX0$4W-EsAbR_@X zJ7b(oX-(G@yjP%u^_^e(n|IIZ4cXg4C}54SC4*H=CRO)tB%N2y+XcS$$muQ}y~25I z0ZZPIn1oF4E_+144w?s2l@Z`x)DS+Fo*x`-py)G2k*;FPEu(R6JeRN>O4m+UKrG1~&G+ZqXWUi8e2J$?1*4Sfk^G5d0@oIg$#lBrXA5Gr5p_ zfax6~g5BKZr0vbMb~R~mJ-1#;F#lvqp$sY;g%@i5hspyur~zdW{&v#x*Sy1=<6QYk z)M%a_h)^VGMhxVE0$V4cdM~c@*F})c)`ZmW)BLbL=*ZC7h*XiVi0Q$*yoNP63t_;x z6MBwNz~hkhgod2%lDbrakLxXyPVpr6M>%E2Bhcow*GF!90Av*JB5q#;yXvdRgS(Jjxnn0<`abJnHFS&<5W+@a}hAXMCOhQi3jc` z1LQ`!`t53ZfYgEvc|n!j>@2vPl$MjL7H!9@P3aGmfE?s*7XQ4dea=t?xeZ3N&pByS zIqSj1ANxP2(Nlz@l#lJhM`3k?X-`)2gXh&Tc+adTpl8)lagLW1wO@53&}y$7S6w-C zd69|4i<)pftAQJ6MhxPcnoD9?)U;Y^xu8Oi=AQ82ebnjCBiPdeB{N|uIGr}_Tr#MT zQ7D{c;d?nEq-U9NiTzdRv48KyX_{;qi_ac>v$11tO=(mBPRku3pVo@U&E8T?Pql3c z%60H#ZZEZ|11M(%PbiqVqQ>N8%Fj(hzTs?5b%4@r;Z{>{ldQUkDk`jL^;u<(=P zMVV?-_70S(kL06}J@3(G0mqOVqqMyUJZ6D%4Nxu2(Kpu8Fmi--CXt3G$Sl+&&ybd5 zr$`F0;>mIde4baBKt&FL0}kl!dI!HHk+yJ@Ds8#WgP)R-M&h1$o-OE*aKU2wlLZD1 zASR?kn>hLOrD9V4Qz;@M`n9|d#T^VZb?HZQ7jTponq6nj^y^l{1eCl9S6OCRnVyYQ z+n#rd;@ENO<2QJg5U{ec1IFnQtj$+r?&~;@?LoOih)y=3VYGO0#D-H41PYsJ#_bJ# zuwXL?o?zCRhOD`Vv}8)3*LFJ?Mp4GwSuU2G;o;^{vjbMOk+x8+vqR*2z6GHY3Zjdl z76s}@ZGENa61kyX70hV&#f{%QhQu$`q)9xbf&AZ zyiP*b6jY6ao4IW%b!P;He*Jv6_>S(U@y%ZYfPWL;{GJN^u`C`etrx=K&+orf#gR|8DiwR;e>l(B*f{4j^j;H#ug;cN%%)6dcPeFm@>JnR4v$lv4GgqwfnJwlt=;@>d%hBfPR1gRf`snf~Klvw872 zV)q}9Xog)8-zPCxAcsX(6n;L!d!yMhRJ{x%CvHXJ&cU1mnaGfvht*|l ztfV|dXn0LORC%cV_N_GiXylge8@6xS$Q54iraxO%eA#PNulVReK*~Pgze~Ym9uXaK zdhH63SrEeb21V`&Qts=Tih<|5qnF!=5L&=a9+;{PaZWRw(A+jNE0TG@A8#hIO1?TX zmrtPIm;e_mS2#@E2VsG0w0ameuqYb25|Ls6Zi`*}Hm^D%BwDl|E7jM8(|6aU-d28^ za~;RDpjA6BWt#VkDB=}gDCI{3h^l(smJLK{(58-HE$JDNcyeU2xOqCm;1N25K4Yg` zD~v7EoEkINzHCc5qF0n8qM6jg0cQ4dZC}byh+5?vkvU744**|Q((@<0=zZa#_yJ-> zj)2Mf9V|u0@x0h0fh;0_!81O|#P{9;#F|gYrPEchZ!pc|)9A5C2EVOzn$ORQ<vRkW)}xW@?VkZBJ0<=zaN1^lM^fw?mnawU20I z=Z)}9)tcGF$=RBfvRRpRly5k6!3VSPMyRJkD|aoaFLMixF{;DXjaA4k#X>j-b8Pxs zm~F_wh!V^%_b1SOEq8i7L zgpEx-4~t6LJlxmPn$vwOr&8viu6inrVWDq0R&1Jpm5r7> z#qW@)9jf)bk#5ux6LQU8rj4E=$AwR3S0DWia9T>l1_+%xwYCHaj>4;7vrsQ`kh6d< z9qT*F39P|BD_(h>tFxbu#sj$RNQ@?xH^d&Dk^;+2Z#SD))Vq{gE!&lYQ!k$iF7u<= znQP0Wsq~|fyu&P`>N2?$ox_YG8Xx((8OaWxwHDDzPat-CcNzLvRE&iS;+lJ+f_?zd zOvLpx8&Xm}G9*dM-#WW$0w2385$6l=Kp|^&W%+=gp@X;5{yg6BGJgZ)gd?!agwHUqxgCz<=ty4Zz*yv+Vcg#f;qNuXfm&eq}&02 z%+nycKcU{eUXnp=atkiVgkBO%9j+)&O&ZPO%9W<25|-Iz3seg)x1C+}z5Zc*q$A{- zrbSzOU{2b(K2Z=!LQSrm&5_)D}TTSvkCp>(fkTOJi zTYiRS*nXjp0NYQ7&3|u}`78Rjf3UTTtZe`AblY|H)tds`vRT4EU1^ z1@`&;RqvDk8yDILajmjbUey=Tr6R4+cd>&9<38 zxjR<@M5vXHYVBXbfjDE{d#>Je20h;pUtwxMV+_8F!N6?eEjz)iy*WU_TdnM}d&6d?dU+$% zAxz|93e$VROxXYk%hTjuwN)Cd52$hQT zMZZX&J}og^XNr>D3x(q3tVuj>#&ZD(k|KQ=c4rx>(#4p1)3^kgw9Tfubrp9ccg3_( zXe%?&o4K6<9?_|xJN^%AOk>gmjX?vFt&_`IkLK9#MjKn67@Y$) zX(rB;lojt})e*N_Uiqt+8fK}{=rbhiYH=c#l!M=jZ2DPw`%q}GlNT#4p46OWMrzcS zj#V`bo5j^DXAq^`K->@lwjI{*R|!AvY;Rm1MVUCPzZw_9o{&&cH4->Tq`PfZ8j#wj zX#&F>MgaR9k>{+Pvz!^+5x;0@4!zM&U7tHl^hQBwA9_`^oTLzuZ&sfSjT&HCGhoT_ z=zY>jPpB(SQYlVjA(R$GGiu7pfs2BdS6SpZwRB>tC>|}?J8++zmS=m~LOuElZC|gk z^jXQd$u_AD{ZTNuuDuF<=!4{DcLmj29@ba&I*apdzE!WQ-Idd9 ze3xkf3ouY}6)HU9v-NgX!QLh)3%w62UD8>bOS#$55CDnve`XoPzfnO8Cq{;*uGmvx z*(0z9Z7?0fI{td79m;$ZrT_SK`mlOpNEw9F%-DG^t-n$6{TN&>Eh;T%}zH`Ck_*3opwTfjpZpnTr%ZffCz~|g(OPo z;S3>axDYyh2|LUw4)saPtI|U}Fv#Ke_*$b1Uw4y~-8V315<3_WDumICGkEB>L0^B0 z0vavx$)z$H0vd)zwV!dBS*PiYk~_0?LV;Py<$mQH$gOu2a0uFknd;OTlpwJA~Bk;b@-E}!@`d7@&3 zH!T1iM&~|g419*o!`l$(DZvV{@2exAGGg7oSL?$ewoD6u;Y^U$KIV65z|0_Pj;N~)d?{fQv92$ zntt||eLNqG=xe%>vph=~nbnjoC`h3%04q!NfYFUJ-u{$EzxHHCZ)iqdgyKWn$J!^y zWyA?WRkCdyl0Fu}H>`S&H2Mg7an9xF!Nmx*h3dAIOJbDq&Mp2Jc{xaEB9-slK{=_b z>XsZ3N=Tj2N+*n$B>dYAM>n>N?Kv0dAsP>}%PS4g*x-ib{g)-rNqPncT~k3t{pIlL z&PyGVXAb<`=p|)d2qz~Oke~K-o7t47B{(_VsB~qQ=uvZ!(2;I=zX?%DOr@YrM!XO= zgNRsnw^*wBc!_{tIu-;68FddfyMe+I@MGEYj zR;$y;S4l&b!5y6}rgm6&5<~Ouin?6U6ZhknAvfd0^oYFXpUvNGxsCIgUvs|ZlqHy} zr%30-3wAmE_NDX)3XI>T3HCK%5ituJrpaWa4oW;OnQ`;@JQ}*=l~Xy08tzI=gmoz! zN!{EsTAzYD^&9Rv1BG;3AM{3$^ir4Z+SO4RT z(HHZjHYM`+AZps2D?FlOJbc^)vVyqyOp|m(rlnu=i{t8d`aZsv8K@?lGv^{CEpAXx znUqaUdm0<&C)O3zUE+ZYSQKR-B_8BJ;|29vUu`V_o(?#!}B2S%Qoy{Qk8_7&F9 z+kp9Sh)D+lkeO?p5}g4jLnxu5H4*U&Z)T&>i#p~)$qwu?noDf&y%wxhjgU4Qy&Gv& z1q>?Fz=bJvRHb>%i|V>j5T?MKbX@>fyqQ>GaSP$7nf=O^gbeOE^d~}Tbthtxz7EE3 z<}n?!FoEw(%@;(q47b1=GvSsYmxd-uEMde4R*OmX0miXjU-I@)$NbHKiE$Y;J{!S=bVt@IHA z?`(XngwshS5{*1+)jyv%dE?n&Q0Mj2doUWFE1uRT6@o>YB~-XaC7r8?Z*Wa(yxe?9 z{{DF9txPvCBsYR80=6e{O(igMr__>H`E%AyxA*yN;MeKT9sn&hUvkX)Ty5?1Yh`>op$Yz1{2v!oW`G851V1ddb&b2twD@< zXUuImL8vZoIdiLdr;V+CqJ^W^N>Ykml|-X^jZ7SBk~(>*bbcQe|DLtm|s_shU? zin({D%k{04D5N5Da>a-NR~!PSM)uXqw4*3dZqFlHXW3Y8lTRHdh=e<(?C%kR*P=#K z5OcokJ@=GT*DvlUC)nfbMCPd96ywNA@%q#=8VH@`UPk&$AA zTs6Y(&owoXs z82jFa_WuMWnSkun-#8Pt-w85$HFXUDPyqU~W*nS96hnXKOnzn65A}OLTg3uQ{4)S4 zxW6+kod2Aj^|#MsVPFI{mgo4#O5pYS>k0l8^ZvXD<8O2g5OM!Llk+!iCI?V4!0-pP z^j9&#FG6OZwBcXZ{7=G$6WG-2`xh*|sHuemP#;V$YN6*~By410ZD<5k^}^aa*cs_r z!n(|tsU27Y8-_e*e(q#|RI(*W$tzM-u@F~m=^HaX+6M~6m0}DvlWCe_)1lHIPPoq~ zH5KB&1QOYZ<43iw@VYpo9--Xi@gBr)knU z{!8LiZue=hn0uV-W0Aycni<8xW%h^`tz_5Dwj8^RA~&asfhAQiY%=#GF^$5L3pNCcU^EL=wbtFl>kSz@o;IH&tfn#N znp;;!!iGKQ3M(Z~NTt+-Uz16>t3Ob)dLE-Q;)7xEv$5i7>~$iH=7UrviG8~5*r5>M z=C^+}Hi$Sj=twYpq9@_|`Ow>GW>pA*PN&pY2H!7*VZQtY*0UdMI&S@7Jgm=-_E6jq z{f2{W)yR5nD|B@&#IoUFhNNdHW0fLM=#EfjI6z7$n*r7U{Z-2JAnY;~jig8M>&j->5 zUprEZL#5?<)@KFsTvs!y1F&+azP4)FRK&jC4xOK{OW#WCAR$ zn-&&PsVOI^jALst9G@20PTLZf$2WgYP}Z1fT&QZbJ4CV5{<4K?av!0GrP}XnKG$0J zkUK~|gmS8ue?~uw^N3D>5$yhUu9rW7NQ2)9$$l)vFrAnQON&swVqm=U1~#fz z&zTcXOI#dEM?lRrs+!;aUcC`fShTXOuIXfRgxU3HpEe&#kaW=bo@DZXvt_WHA#H5KyY z(?z3crSU}Imfcj7ZyA(QtbNb=HH_-brjnR~U?YjHhynpuaY+y}K`Q~d}{sVS^4leVZg`#ajcMT zw#%oq7sjD9y5z%Q!TkIBz4O>ORnkmUT1bQ1{CzIee*!sT4onir;(_ceKAY zb>KKeg@p(O%a^QklMgL*PNN)`(^erC_!t}1oj~t;`a&v5pMF}RH2DEAYFI^4p9o?# zm5PqaKK{U>gu_q&YINlNE}4-^p?8$P{X!$SQQ(N;W2al(4W|N{FKOiVM+H_l020z{$<05XCisiSc) zDW9q#VTLH@Uv4AQUU#%}R`aibG#B1fo=I8Q=k@oLyTPdifShM#xep_&g<7Ts*x)J_ zIR%45xJxpkJQ)`x3K&qPQjXO2GeN?Ke&brUo#rBTX-!D*@1K6uJw(u;?5*gd`d=t!p(GdVh>6(O4J?F1q;KHczML!UjiH>hm#&!1w@!XBh&dosw)34OK*1v?1X9-h0M z+dSOtveqnqY2f<_1vKXd##&w2o!iaJiOy_s?*rlM$PtR1{STG!` zmY4SQhei)!JNrxzU~?vVJ3j+)?7x-u{FxN`H`&ea2;gt(&F>Qd{tFOC|ChofU{>$9 zJQpJ?aH7p`Km3@~{QmBb7X4R+NzA|J3prTmfDq`nvLqmCq+?+IS6R|ub9B}=zvbp= zU0p3qt&FU!|CXcs!@~c&F+fDh#LoD=;Fght8JN#x0Wfhe(6KYK|1@LxzgzQL3D3Xo z)ptbt{qFtmJSyi8g||Oj^;<($cA%v6A2{|0W$({c0t>)^=kl|af2CP}wvv$rcol#Z z$AAA!AOikty8WjJ_=haz|G?p2MYDgk><=`{@n@59z<)-w2`W<7Y5d4-JF0*kU(K3j zOnRN1TC~W-cBmnsk;Twz-d{x{pWRJndmwx_)Djct=5CGKmNHUUnJFKV*A%fN!0h9YkKyEM5n(J{AUj@2bOF~ z>h9=xjdKkBL4FbZZX)(ieD%o)<5op732@P~({q;N*T+qw?(qy!jxHm{y#7l97wbos z;}`1?Dg<3uhkO13e-C4(4n2nlsm=h z=)8kS+T=cp<5(5b-ecVk>Z3F=kx~E(?lknJo^C5$U3r1FJ;JgXCst95XL9Pu)L2Q1mYz3lE8^RT@Pq z0{M9qh8fnAhUlw@C_%jpsw+mBqLeV+y%FcQ1BQu85}8yoZFpuJi3cxX(2(l=eD0lW zR0-0BEz=GApo^iQ`ivQ2%TvfD&xQbD@sdYy`FRskroiskLUI8H$EmL@#s<{7th4;A zs!`n=&3pBH??XuVeX}m$ayszugmJ*2xRk=nOwFNvo3Khz7U$W|u?UOOj2q^c61irLl z8=yf9y^!cnW0GBqCclA}tdXu}P=RxSgNB`8`NI8>+wqy*C_isi_0euS%{X%n-}Ez) zzKQ^fKeA3S1Dsiu`Fm{v#<5(0!M-y?dsO$UWJ(A*DR%kTr4rL7#QkfW2qjb>rXl4v zbk~pQj`RG0EKEV#ly=B4NlDJh08+f-_%@<^F+3+XV4;f2U&@LF~MY@D$xV3LbEzt#MNF~);C_nW+f8Ejko%i_(g#i3t|7+SB z_U~~oupsqcWwGBIRDbtAzjtBy(fj<+zWN89$j|Fw8QD1L*nutBfV1O(Q|5rO6($Bc zHXz{u>?BGDtONya^FNf+0{$qC1^OUm1&QCkQND9+O z`0Wo9GdnY#gNwsI9n)WPYQJD73nK#^3(ys?0ChAhKs^l$D+ka{M&K*3dV%x*13Q7W zzdyC}H(&p!1O43-{Ab1n=y(4k5Aqi;@M~K?+YeCZkFB4D87STQMIz%!+Y;FM6cyNk zVhu@E7qd(~22EsN4sG{<=u;QO%(hfay|?}=+>O@ygCz33y5~pn5PFg{A=5gEngfK; z`Vg7n@NHKPJVYI7ij=1y*#Qe;P70%P@|puN_4BpoP zFZoC~fD_&PfxmX~ToI5Z0Pl997DCn^LYq&D{ffJOmB+U14U02ORueI7SzE2vZ4su{ zg0JG3aI9b=;)myq&}d=mYsb3O2A413i~_=YX-}@yR1{2c$Mo z!DgBK31Ef;2`9UaVphMD^gJ0!MOP4Shzh{Kf#2S2h_9!hI3|L3HtO?oWxf&s89|5E z^nKNyNTen4j!mndWwt4!!=rYY1?*EsMzZ|IaGL6ZSxrbdX1ZL;iZiONi)Kam7jEeG zZ-M0|*rDvevs;E4#yM#n3U=t<*;aV%T-BCGe!xs6_{lLvC{6V&tjo-P_BlR8`dKRX zD}=z{{TEPh=Yx##%Ag(jNg@y>{VXscNZm|1bAamns=}pyrZmol)~sQUNji&eeC0Ck zXb1p=0>U2}>2WNPs8;+PTPvj`?^g%YPEUN8vmqrg0@;EaSvZ`LrCc~1eh`hZUENR& zmMkhE7l%AGlguSa^-RUGCCIu_V(fg{ggK3QlMfk*#FDX!Yspu`an>Y)MOGw@=I6IN zwnVq`yj`MoH+f0sNha$=qO1iQP0hpNnBc4O!}X@=gH!{ex`W7U1g3n&3un~~WX~!` z%(YhL{Wpg@*;7t2aj~I6I0!LC1uUU4RVyq1yr&6^_xROl?w1wr#gh@IYiZq@l#G+#M zCQK6<0h&K#d;Vf_KbsaT*r~Lsi)fg+fWuZ2%C3msvA^a_$coR!%K8P?8`@`{5gKns zks52@WA@f@D$|f#+NLuPL00FYTtT%){nJ9(5r!XT(9~h?WIA4OV z=J_C#i;@5@<~%72?y{W7J1VZ$D&_XOc_oMs4SRbYZ%3E7!(oC_ARC0 z>3Pr35Foun_6CD}p9X?9%LG2=Zw&U%*eT)^D{H~c>iW5~T!Y5zVI2FiWJXw76fG_S zpo}IuTJxc%U(4$@!wFioXH)s>g%wWdgqOWWGkNr%pSQ!jM2X`7 zDeEUbtXKl2!y7QD;H%(1k!!ocQ1eXw0GQ!afKo&5IHDKRs`HF5b0=)#as+rmV~K02 z4TS_YM#xh*4IQ#4fQ7}1yzBdsVbiADTO)jhgLy{>C=2W>8_J&l3 z0GoMFg@)kK%+U_p;bcsm!6Sxr#=?9RtqSLxi1J|I?G`BogW~$?T>!7g58Q0LCxtw= z_4}^&ZL}+-$IVWH88mft4xkyd>GZR{(#&`nU)vt9E_-++A%dRrAuJ7klSQz=_B9o( z>8M2(ZbUe&$`Cxi6LC~K*7SA`Td@>b4@eVebFHb+IoY@cBsudEIaItRm<519VcaF# zqp1P!jcydn2QZ@*5AFs9tzw!cb_8$0T z=oy(9B-LDTnZRFgU|Xd1s&Xz5`p^pXMUPn&@iS-SFCp)2*X&sGyo)Lu+Ic$HU|+J* zMxJGJ?|Eb3Jx8J<8IFwwUskmte>%DW0P)(q*~Ny(27OUJ4T#?3naB5O#s;^lAa6-l zzEA0|c`IA8H6eRkyF(J0RA9_eDW%V#7WQQW8GMzWzkxIwq#oXfI9uHyTaq|sH(=e- zv8-d3rt7dzFdjO9h21>##6>U+#8}6iI>1r6>Lh7pG#p{-$>>yB#tr^UBY}SLP|7mgzEGb3*7+1M%Rtu9W9{s=8hC zJCC~%)W>#xuNG8U^`y6xr&#C1<8hx2M>(W6w%f%lU&re;kQh_mzE*s}f>RAI`}{Mu zrSB6Cd~E$jGf%QHsr!V@Xym#InKw&f;vonDG^wBKFDYTXUhuFbzelKw%T))puEa~vP& zn+Nl{4fZrQK2dxb(s*ZUYRoN%5pT;aSt$`&oi`PiJ<#JF+nM_~%PcHv<%Sw)7)so9 zc;2q2UAl%)J|f~d`?!e4HQ~hI)!}EAR=u)bG5FQyN}*opV1?M8iFfmp=4RcEDz~zJ z9vb}PO!(bzRmS0WmvU%7^%^Z{#!1vxgg6-{853)KJ(a^ndzyF`n_cfPkQyKOwAu2s z<5H0z0>>B8vWx`jfT=5;2Bv;GCFWA#Y+IQ2F}FU#JVO4$*paT^q=OtsaVz+`vim&w zx!kmux}6Q;=x$G1W|)-By}pzuS2{Sm>P_P~PEMhHcfD`2qvD3M!I$2QbhmDBx&mt_ zs^WR!nXo?5l*3^FH!rcAkhrev!*6cdAe{pww&~ZY4&Ro;(U5$ZRT1Lfl zmdDN?-%=rvXsQ-1lh)z$nuAlx-YWLjMbTwEPAi1%Ed=#;2(A{KrxV=qZE>Z|>{okN zD7^|5zA(0J|D94LDaoYDS#lg^+qBPyI?WR5X_wz(n4}n;;J37ytgywgKt*2rzO?nt z;?Mb7$&T4#uVgpm*i}4uEVCw2jw4xwC(<}{Zuyxdf(wX#f-Me*JbqUz4g9K9Ok1+Q zwx`BH+_&$buAR!shcAT8CCu*Vzo=B;FWk*#uzvpPnYPBVW-}!9%r>vOmaF<>arw2y zE-v1Wf9y2hxmb8dcn&DGuBY+{(yW^#ki*W06M z(bG#-1sl(+Usg4HIz8B{XJ@WkZgL|phkA9x-iO;urJi?hzIVr~VlIcmE7#1={L8BT z*+&Z2JoIhUa$RBdhlSQ*iGEVI>Yn>2IzG(%SluJNO#|q9sXb+WAFg#4w$jFk@Z*LeY@%MKHg zKxwUJ89h8W>R6Q)ueK@I@4>e2*#*(tx8)Xo7^sQvxz#1^r+R2+NK)?Q1&Vd$`Bx

C2|}uX82uP z(LdkGSoWg8X&IAw{K@;JF1noVJ8c%QT`?_2WVN?qUs@Vz|HgGcwUbQJ!87vf`L!q~ zn7g!{TRE}(Xk^OWw~ElPQ-XZv5a-<{5rup__OOOjWzzJl9xbrN5_Rphm` zaitmSYt(NEDLaIG=IVKx-9L`ma;HD@S7`+e+!@84JOM+k?2>re3js9Kh7qZ zH~VijT+1m6yn4pr)Crv>e1=n2x1FruULX=QJyP2HMYEztl5kV7VYsVHpwo2Wgk^h{ zsnqn>duaVQo#;A7lo^9xDtkoKST?F6B+xL?_)4r5-Vk`x3_JKFYt(sr7$R{(^Tj$W@uT>?_AAfYdy+wL?wo>SbP2Rof z68feiZGGz`e@V=_c2qPV>Px5YwHTA=0j;_{n|k(o$e+^7)^ZY1jJTGUQqyF&6x_7% zT_Qot1On#j^G)e#=O)04MvE(y1w4JQdnnIkwx#-$x4h(YPu|wfK7ZoKl4pb+q}y9% z&j>dfaLDA$TU%kz@3caeFhfw9;G}%wwf}7|r;t7R;XQX$dp`UKmVRV5M<>TKW#Il$ z8jjbXDu2Rh!(k4wsxuM&61U64WHzi9)VsZ!Sn#3lYJK-wmuyAyL%s2VRo?O94GPz_ zXAfOHxS*wP`>U5NX1)>l#|2knz1?ek?LFQ2xXM3$bPw>a#NSU6?v_8@XSc1jn7c*I zcQof`?WVTJWxsm%YnQ6ae8&}piJseQ*?;~7&i8UapdgP?nqRw$!I5PSF8f-g*UyN{ zNIfX#y}aJ~%;w}dUEEE(EpA9D8wAeH>>w6Nm3zhnuV}K58V@t6nU`~^%{8X0$aL#o z+oxW-T-yC!%YM{Wg6GrGc?15Q8Pj7b_zoB*hHPz<|6slD=YwOC<5F*@ zO}`VfSCO}%hOjC0$br{BH^EET)Bc}GCnksv;o_U}GhxauqT+zpeC)_xFu)gvQ(_mj4NRqCRZ#b3wL zwYC_C9VhFCUlj_Fw(;RzF<=|Jwk=^}Yuk)lAzlU6y86M>rAQUeR?mzU6V4{?kS1$i z3~8%aJ3ZrM^@5;jil)Exw;I3T#|Yz*{)*XShw*69m%o!pBw8ZqUr>Nxgz+dy;tC1l zQHQ@#|Da`);1z29I`U7n2p{}GjTa)X(1K6!2Q{jQyn-g9sB;>S=Rnei_GCJ}8N7l% znMyoDeGmF%YDE(D74*pvT%&&+eXETBn|qLNg8y_B$#hU{W#FQ zp?}byOwyn~nWRB~GKpT+gCo(&Lf{V?Q3(8jKABz!1h1e^#-UG!cqQ$-aOjh9=#z0M zW;}|SN;8LGhLjrZQ?vo*$SdfRsT3>J_n=Rv4z;Defts=mLxB8c=+PokqoJGNM41oed}mI5iC@=9?4+0eB_}|8%APnOepX8BrkngbgSl z$AGXwPols>6DsbXhTZ=c3Pj=AfC4fK8r1YUO*xT9T_UztV2J`T5UhhBYH7ij{-G8~ z4>Ji{E$|wQ3xe1XHlU!uPlq!KT@XmHK(d92T96r0AZCUQD9C^Un6@TSP@sbvkKLP$ zwIY8e-v7I`Ad+AOz>rU(AVb0l(_%5&3hK$r20_4_SP~otlMo05H8?6UK@e~Z%RxQ% zSwKNIn*?YL*Mjp4MF9oBYSl1M)ZhQsfokG5vnN%K?XGf5b7YswIt9{0-l1o zGw=-Nk`}P|?>l1>0k{xk2tQB}Xh0>C7Pczj7+ii@q=W?o@NGCU{B|w4{b*4EXo7BP zFuRm9ihvrSVFLhA1SsC3AppfB;+a8Uv`^I75E~!>84?9_09gefLsBFEK^pa^ZNlL( zAh32JM-@R6%Ghua!lObUK`EOiwkk57+_Z2Q3qqi82AH7$d{smm0!=u@@&8^GSu>53 zGC-KJ=&Jw@J`>LxO9HG}MNJ$;r>I{{f+2r&O+-dbXku$3!!?IQ4Lh>31atsUz)k{3 zlBxuFxa%=-A~E(Ns|Jw>=n79I$I_eq_H30#U$wp)}1%J&i`M+QA&}~43#t$622(T$}IBXeE z7|%tpU#tXRCK1533SsI-^pHpZ=YWFk9B5+5fIa4rh-^vZbV3k76okNJ6*L*59<&%f z8}tAiGo-PDiU5aPE3sDrOB2~+4hhsLL^J>zL^Ta;J;YiAR?Q)8FA~5dBLX!bA_0OH zT;qt?<`Cl=M@^Qnz6J!iK~W&%K}7(!CknIJFrz_)P8fFV1Of?;0mxEO5x`6)92t8R za2R^XS{M>Nln9zI=a5W0mI+`TAzqGYk{J&rYFdg7i$KJyLFkGq0mxNoVP76G1VGJ( zvEloH#gm{xS3~Hw!jrMp5YG^gCQ;LHY(M}l5hQ5wqly4h6eJ?HImEcc|HX3oUycOY zxr}gOYCw9BiU2Mu8cd7<@kMm57ZfHzcgCOp7X!l{ zNkae^6b&*H9b|OR|C-ACUt~aE0q}%K5HY990B){OvV$!HhFB)GPJ$H?&;a1Hz!d{_ z8!7+|JeXx{5ilgpY4sVb0HCb_4jdsQFNpxaX+boXNsJ%kdO$4s*GJZXa<4Gr1fSPcknIjxE*@W$wVH`-* zq9ayTfVLGNZjFpKrS1gCGvWUjkos5Hj?p6jHPPz7uK=W(NI*-40Due=iAnhQfA0q1 z!2EGJL3&APg@^wS{)4}0WdHrA{`9}FK1G5mD9BhcG8oXR8qrn4WH6W{E%=K-9fqnx zg&B=(<9{Z7{XK8>-}Sqa|Dqv7`&}u}1^aLNT`${2G-QbuHjOENyH4<4FEo#XOJSt? zhFL7>bY<=3-3xoT7gu=4tbD)xYNv;O0OyQDn`X?q=6)vNJmE6&lFlCQM+LlhIcACE zzkWZ_zVU*!cwB^vdU|V@`tJ-6(>t#BdoQJ_)&nc=0|qxc?=mV|zeo}pW$Vxi$U(CgxG zKcT3g_Q|1&z5?r3zB3Z{?#V4^v9#D^l)KhL!Eo&Kt_#EZul*823J&k;X>(k(AIJVv3S!$FyJt$A%K3>l%^YMSG&gTQYbD5CO=>HRA7ij zS-I93SK6ajag~S$I+Ty?l)3frTemFA(WWu|N1G&)KCb z4OdorpuZp`d(i6n;onuaKla2dUAcDE#;kMt^A~DRTE*Xe_Ti*RwJW|}OMxf2&5zNP zQb|5~lDOiA_JGiyu-B>`cS3}l<5EkMm&8kst^YN@p4eb2vQX%Sca|@K`*OFziU-bK z*7-f-mrt6GE#r1pRXr)vQfU;ngE)PqaR=`wO5&y6$L8~9nLd%MxKn;gMe%8A-gbXY zTcU2ASp1&OO}7Oaqa9!K`*g+c`o5Gya6E`}x=cNu)8906ip_othXMXkcRuIgp2plw z;qlgEpK^vOz08!Azpmd~BVpM;)M1s+5vS^ji&rq%cEjzoQ?-?lIev>)+Hu?dwduW< zf%`L?q6I_>zO^kM*_fSYQx_fXmv*InU}DfOec12gzGc1^=Vq#P5L+b#?cB5l)j5ng z^Y`b(x2%O_PB`IIt)w6ySF&F0XG%`$h49>#8`Bo)eZ7|O+%aRoRxk4HN1?*HWmBbG zkAvX4LG%X`9WKn#cQ{ng)Hs-0azDT3fd1m&$|AfQuQ=PR5VQStI^td5K~75G$|JLs z0&PpgMny{{55?cQ^YYz9YkuqXMR@g%Gk1+Ozc?WnR`=bZ4o_nn2lzXrr5@W*DS zZEF7V+V;$kr^zY23ocb}3?Ha1Uf(gA55rgGru**~a*mz>BdWBgI4%G2X4mIZuUuTH zQP+yWnq2FEhT465k2QtHm6$Sxn;DSr>9(C?`t)H9WABd%i`N$}C+>ASrr^8dr>$4NpHq>;XWN?5 zJlCz(#y{Gt6cUFcJByqP<#nzN9XRj3@-T;I$UvcE`wtnSySEQ$wl-pI4{Tkx>*tR>Dr+tk_KCWxy1MYJ@>=%?F}Fk%O7>|L z6^*TZeb+i|@ZRjrOgv&i~S;f;j+(3)f1|BR;mMg!g><_ABtGOxT=|xRl&plTwqE1IO z`rG-)n(Gah&e`_lo!UjeRk)~k4n}(8C0RSdF8QW-Zr{%FRw(C8BCi8{KJN@PjH&Pi< zb~}8fk0>R9=Utq(DPrTQxCDm-^Ojk4n{vR~nuU$wlqub%V$L)C!DA+GQ1 zB=Jv-ciX;>)HtD3?VfPH=<1t33WwgKInS2m=KVIVFB|#lZu{Ya4BvJR8NRauGJIfm z-9^^jX%1>rn7Od%P^PnFcJ);}UT@X(9^B3HFLNfk@A>bG(@-;&Rm$V=zZMjy5I+Su z2wt3PjZmInw&9y~v}k9UonwPbY?_DfQ~!d-m}8eC>K+eg5VkzqCcdlW?V^sc??(eN zu8gI)YbI|9TpKaHevNkE=o+sFYYz>l>{nKAscIO1GAJ&8?EUq)l$1+lA)&TT(?^RD0dBrg7?NnbwMZ$7h}_rAU12C2PE zP6{rJRCP9}w^=cJ`nS#t!lBvIhn@{KoYJkb;+DTcc$#9osE?DA;@kgbWhcLLwBeGg zTRbeM8Lr-aD=YLuQO>@$l(DOa1&Y2&_$0u5%Q=g--rOR(X_ff;=-1@-bQ2TV1g~?r z)tiT+KE4tvw0o~hu*en!(~|_IXT^cYT9w1OH@4U25NAe~HJYD4`MTU8AdxRNqttKv z<=!Wpix!3TzbkqwR9M6{V}{f;A={G3yOekSc&Bxm)`>&q6*YFZrnZ-TRQG)UmD0AH z=s8dcQFQ^0CCfYo@$Z?5v%d8yRfkio3$0w?rI!{pSu z$M^?49`}vn-yJz&q1!jOkD&Nq$;$X&T%7ICeil}=Kbswc=XEj4I3DX^Sh6mwsn;?~ z?yG(9Zq2wcy%Cc0;i+#|g?w8QPT(6iPR=Ymqx{T0Rgz+PD&Xgt8BM)b=L&DA3*Xz4 z`XyY`X?o?cWW7}x-^d?V8h7)43QH_;e+haN3CFj?1({hyzNo%e3oO-DZrgaLG?C5j zFEN+>kQ=>)rjQ0p%n)`70kxKjLs-Qzf)l&G}wc`=f!&@7-<(uc!sd+sHPLlQ; zPFcOS^}aLHGCy_eTC6jO7W7RVHe9~>@q}1qVBi#i#~MQ~*-WTL+OGWJsdoO^34*~j zC0TWxr2vXhhhGm+7Y`T$!rOo ziJ7)%3O|K=zW&xv+4bp%1<#y=^2H*}ol>6{DP9deVbiTs61BUyMZ)f~{;sx+(a;^5 z<}2Gec|X}ECX3!HJcGM0dirAOBFdtK8Pa%#p@cb1@(7v(u8f zO%7_GJ+_9gQ|P+>D~W(38FG0$zXdeOHh=#;M?|F1=ca=HnY+pSZzPf=*0n3$9@<N+G-rcwzMT?-He$(c7XSn`{5f4FW*-Z`+A-~`m97$Sy@m}GggM)^mJcgqS==1zG>pUq7UCsqVVkZnrUUSr()lyU+lN%Q|IH4cNX*g z?QZ@{M>b~mYQ7fUPYDS%N^DoU+x@8Z!hp??=vP4(d;YWsmcJd(U7BlDZS%^V zgD1h=jf3|jx6{j&QqMNzP?Q$DD&13;V`G+{)@!x(XUo2tj;6fKs_UVpB5gyUT(OTUzhC> z;BkI?nZL{}>rMM_@4ptC@;G#7$X%-3>odHP!z*mLp;1yO&)Zcy zTs_yFyIc1-)A?bl>w$C4^)jz?^r})Twf&S8C8fBV&v}-EgCv<_eLPn8uH95mqa^N9 z&s(Z`9M-E3_S@!fopwE?zrN`*sqfAOi}-*KnfVf0{iiy<=5fSH4af_rZ8OvY#8z=vD!}+{zYB8xzemk>9mo;hCPgNesT0*hZvD!E5$gT6g4dcuMaN%<+-|2nh z{Uj68tG=te8MaioF;P3*F>GyazuT9-<(Yf5-NM}8k&QJBoHpv^*PZgM^b7)wA~`d6 zM!jxL>Pl^~lawc|jbJHHUw0 zzWc;LXNAvmqW1O$3+AYbZVw?J%J|%xZte5JOtfi+dS!c*~x(1ztLFRQn-C&+S87-$PEZqKFx`&o;mR z)M-_I;?#zxX|vQCTIy%5znQoEP_*gX9Cg#_mK6a@s>;utakup2@!|C0U%K$~0zs!2 zn?;O>IZ7{8&o>n5RveV`YRtM-^I5%S5#A5?{9LtsM*`>!(eoh15)d6;@=hY{^{4yu zhrWGwH4cq$@N@RwJ1ni&C_k0&R_V=mF526^-x)vtUU#<9lFQsx65ma2u8c-KZWJm! z9P4=eS`hDHZk^&FW8&5iceu!715MLfHc4d#OavbENqnptU8H_c{7C#O&f|&qOLOEN z1y1K*+SN9FRO-%^qYhy~rqU~9JE!`BXNyVY6_W;6XZgl3 zF|983)fX1%gpbLL40Wu9->Tx7@zvlatnN+t15TX=ug0uVw}7b-bGb z@nLsjt}ii6tGTkQZf2JFp@rTHv~{2OZOFD1BTYmNw00 z2X3%mQL8KTGod&7Oqoz&pMm3RjU{kMK9)cIIWBa+!G4F~;NBG;X}!cRe&lq^Jz_F0 zjS>>+okLzWO;d{P1HPR7VRD%`?W9G)3V9iK5i$OynYfWRZZnNFv_S+FqU+js9(7Pr zCuQuIEo*l9y~Ua+?{9l*jy-xs@X=ak;PgrjBH|KZmhZN}ZFX<_ux$q?(Jt(OQKDU{ ztE0+o^idsFtCBmi~|Cp2>KOGLP!-f-6k}b-^a0#NvW;ty+_cY%5 zWPe`Qi=OO|ru==9p6#}>B`4m*e>2lMT2R`hNEp0ge9lmqFIMU94jw0?*p@9Dg6;hU z%f`~4Y`YP^K|wmFKs?4e4IAM z3;6?W;-wAyLS8|iOqkZ3T-C>~lH zH@pXJ-X@{V+axHfro9<$-X@{V+a$Dkn}jxRlhEdE656~CO-=NVqs`kSw0WC^HgA*A z=4~hzM&FFekjku!NDOV>Msj5|JZSSa8ExJsqs`l7w0WD1HgA*B=4~?CyiJA*4C-^p zX!AB1ZQdrM&D&(Od7Dfv4F(tp8!zosX!ACdQK7HUF_Y2eZD`y<|A~$nY5Agk9Btkv zqs`l72)Wb$iN1nlw0WD1Hg6+zmh|_aPo|ayA;8e)Z8F-tO-7ry5guULr_knYGPQ^T z`4j=gj5cor0W$h#8s@)9IBD9BM$rH7X$G`?8qx!h==`UNgG5FWZcGYs7^?!QTa67U zApMV&D5DkoFvXT>nKEOGDv7$!SwKN=?I9t&pYW_n6hPe!6@vdV^9JcMR?5OA7X;FM zhz3rAAVRS&v!e0;P5*%HLzIREQ9%6((p3+oj!>HUPg@PtJ3$`@lYBU1iQHdfbXibN zD2{|m>3?JabC2Q(SY1>W)D{nBxk*Otq@Jj3Kmna*$T;Ll6iCC57WPKP zGjxcOsK+@QP#_!+aB@zfK&q&i05uE$fPiW$4JQ3>j7`)uCyEWCfZB2bI4+Z-fRZXalgbHl^Tw*SK(p?eq5iV1@t{s94&6#FD& zG~U$f0vqH2{kne=fe@kUoJhhpn>a?ZNxiGE0R>c@!>;^C5Kwszm6w=a7DfjI^`gWE z6i|Au34ZycPC)&+rUv#d#WVW7)LR-0DCjytfVM~?Fepu;KuQpq6h1N*Td|2j32DaA z0<(jHKpHZ%nAD+@7}bJR1|_=3Nq~z7{trSD0?dNJGa)3wsK=+?jagU_6a_S8Xu^GT zQWnS-Va73lAq&=8ln@pWgiQ)*%pimDn?wOy1VSp9TLeQbkZUjtqCi2w#X|$iizh*7 zLZbieT zxgL1NvQ%m)h7Bm-x5Lzje^7wu2W`WcC@{=7H4elE6vz+{2;EG|0uPP`6NeMS_ofD+ z*nk2WMUX(tBnqfkB{8X1#%N<>6NwVA`l)F_gbPK1gC1838Cx%~P_TF>qi<9k!aWD{ zl9MRlUV>vX%ZqWNQbT_%EC>n$xaWuvv6=({$_ZpGn99kxPg!MALP5Yl86>_q2?E+( zA^Q4nL9l2y=_U&YO;p4`96cP|N{CFB1LH>a*ZAK5;BBHPkPY&OB;Zm4aaK%8VAzVk zrl|b~5cKt+5|aF5Dxk3mB!lg5VkjniB3U30@*mC()OACW0b34?mYYTXB($6z%AFxz zL9OM6&_9GKFu$M3=ufc7oHY6U&`(2zSU6Hljzsdnx57lgcparh^#8kgm_z_Y`~cS6t0|2BEivQ%t90G@%ZfLD_%+ zB0>;5Ms$$~dy@$%4c7Ow$0QQrqN_n?r9t>vfGZbU4H&m0HS5a;2_SJGNE}l|05KrY z3QPoyktkZanGFblFIkIzG=iT95jt$InS>z&)-KtTI{^-4#CNC407wXkOpZpzunR50 z&ITDE2QoN2R0P10OkvV`tI6Od(lYyOKmZ3aaA437AS?s~Y_p6d0~Spp-5LSHZdd-z)>dC`H8??WJ3RUkZlET>L_lK58_^17SV2H<#fS5l4EaQ=3=n=0Y?H|7s8Z{5SowaMql$;q z7zd#$k?hv?V|+fQkV2B?*tM1tbQZEJSYX&_g_&$IyFC zLjYAmaC^X%0b@N5nOX|PiVWylfaGK#`$m-kkQf3%044$qHDJ{s(g8rg0xHL--w*jy zCNy1)U(Y6bB!uu7AsV87KkP~1?Zy24jO0MHiZfPLfVK~CkQ&l};2eSgCLlxZ7TY_* zxHMBs-PnKtd}K|i$)X~FU8%{W9t#TrYsnbYI|A+n$a~PV0ICil*o|$BNDNs*T5%sM zGN7p;5>Z5E)lg-C@EbGX%wu#AsYQis0D#aNLo|^J03wMH#lTcVM$d#=%*Z+bB#=mF zNJ4^$kfFo;evF;Ssx73g060ThbY>XXlUgJu2`Gk`0h`#7$Ut37i=82r3`}Bo3}5~i zB@05&KB|EGe0H~qP7*h9_m@5mS^e=#Z1$rv<&i|XH#F>G^{dXy2=^wY9^L6D~{ zu5_>W6)CAt3g4&1hA7lh41zL!oyzXFJbAl3x}$F8@4gN?M8!ZmP|S?L9SKIad1od${bO3F!w-xz#p#Q<_G5a(e^E z@*`*8mpiboGSpi(;ih*<=tRNjj$Et7^+i?sAICl$u3aT&xpl*Y>gzrIecrB3zP#r% zqAy0d#z#F>Q?XE8aA)4_8NvH;PPxuGX^pPJmNiy)OB`~E6Q3@XUftGne9i9`7oAbB zN5i)g@*1-nR5#gp6{**x^sGH&bI68MZ-b!4iFe|i1?g$KSA`VRwkv9n>GXf*4!?U_ zLA>ShqGDB}&Zcu$s}HTM&UG9W7>GDHF3C^nt6H`oV3n9o#&xw-Pdd*nrp)`FpJnlZMKO|#WVD;+9y)D@d%jfQpSFu(bs;jNN zqG6OJ_xr>V4k^)rS=W{3+m=Wf36xGb_a%51@r+Y;UAv#hml2Dzw}-pa4&C50KjHCI zuw(2;$Fq>O^us~?eHk+v90bL*G#sY?2;Otl3O`>}bos}eVvnEmh^Lc96MAN!ia*F> zd!cbyvEUvbr;mMzh?4Ou?rp7S*Eo^B^2#4mN&4zKl-u01=b+t)`E0&y%Ypq(YV`}M zr*@4l{h>ZrKtgd_jK4X|`WDDpRG|bPbX)C2ilZ#h{&{N0R%br7k>;ES0WFC=GcWVU z9f9%bjvLI@V+ZR$VA8sm&+D(bGJ9}XNuKp`k z`+wbSAg4S?PY7*1TbSi-&77+Bl=> z_?a1B*LLssK6t&wCTrwILyujvX&Qg}uZUnCt~cVUb0tKAxaR(z-fNP$m=JWGIM;Tg znUT1w+l}xi)UpmTZyd(&R7Xt_pO#+8>hjM&Nz0!_1ra6b^`Asn!0lH`{7@-4+jT zNvGQirygIdi&%3~Fm|_2lf7gAQjVCn;T(y-b&2-oYZb&|6GRq>+WV`d>bL}Sj_=6! zw%aS+slB*dc3;e|?=c?p!wB(u=e&=Vq?Z_QY`>Jqcg!e*b6cyei4&>Tb7*79FV9*h z{-J~y8M4t@UF{{@H*~~)OL^>)Fxd9i|A+yHxrjF59EoFFtB9!+i6?sgk=)&jWB2~N zu-bcc-rRzoO|ex4b0a#Q7w;ZZ>}nh;PVDj0pZl?ANaNgMf0J2DjJcOBxK(2Orj?V^ z$EUt`>NL}n#})6|oBJ#z#(rOPP5AtpljeFc9~$>rP7F!E5IOU60zWUeL0!1%e68XM zlXamlPKO=lAgVQbAAfk~?!(}$Hz!IW9i%T^o#CfZTwdr;FlrpR(K{44w8JOww3+7Y zYr96J?rjar99*%aO^%~&s`VK~O8G^txS282+Rk^$wurSocR9FuajC*aeewOLqV_-C zGWJx&j_4fSzk3QN#jL%S#|$=Nj6mt}8}F8JW%KYQ`|29yoR;h&-F$ntE;Kr#II8}9 z8(|uk+l})4lNTjw@gXoWdxy%LTUy6Vy<4BF`pfE!=GT9e$(^U?b4Y3v{_>aiTMK@D z_&PhFr)~4*?62IyTyCGre@-4>O-b4g#D{#Z*$f&S*)EEhY1aopX0 zn*-+x1WSAu>&qPB(3O#sJa)zwKJjH2s76lMx>vmro4+%WYcPZ(W(pcZ; zk84zZ7JLjiF^%JvIq#Z=z+Gz9(NTJ{p|jB=LtY>Lt2|Qc@fs!4;~M!-s~@e(4>*|H zG#HT@I^^b7nI7wq(IovbY@vO$dEC~Ts(O;|;RVm`DYUdjy?U|d_~K=OrTkpqV>qRk z_esqHNtqjFCMFq&T0IoVZJzh0;PO{3-3x6>^OXRQLR$3_4~&y2gaRv`Ij22e$(lw5QH6l4R$m| z`Qh7Lb)I6iPhMx`<1+KD{ddoA$w@zySZO4&r7Ot)9_-6mesdIsOrw{P5;sR^=IpH* z(e+6zQ9IQ3F>fEqOTTm8_@308DTMeh?&dFDz8vPbe^S;rCUL!P`NcUt>tm*UTpe<; z%W^37*v-9nJDPiR$97cg%hsNmdBEH5@qR1sl!gOQPVL_NyK9^Y-6I;kd%KOkf4^TB zJlJz!V*NGwJG-v=yfL?t;|Sk4a#<$I$Xjjcw$^8R3^Pw|T>jwq!1|pV$(vt{?a<^= zm|AT!yg;caZ0pf|OS-D`92_L&ca@x5qr_h*VBolb9}JNQoGih+4EAIz4g{CaB}?ya z)ffwXaz#+3LFeIC_kuki)3@!4J$b$?r}WtcjVsn7L77KgBHK?0*W*L1VecuL&b4~G zqpkIdzEpPmd;CVD*O$f(KVHzf;vf=K8GPnKd-*hYrvvETt34Ja#5WTo{lY_cPUSWn z$b24Su==D$r|zcG+MR9v17*#W!;TAvb2ugNd<)a6@4nx1-Ys_-E-KVPdZ_w_io?2@ zZ=d;2O^Yi@<^GWY=EAbQ#VAQ=AF={<35y59J+D?c_r{zqdtldVdO)BvbE_I5U2R*_ z*Y&XHJ4KdW)rMnq?HZ@*_q(k{anE%t6l!vow>rL@%c=KJes1O=sbf<|Pdh$+a%xVH z`{gO=>$deN7Y;`xu2zptJGrUTFfU8H$0|Y?1_HY;n=tX@Rk&{tXTJk?{vrWOm1zMF ztPi9(ID4-$Qpr-d?Zex}8AtemT;FOZ6z*ex{9YCe97?5om|J>92@v_BdP37$kp>NbTbfoI^s|JV!S^B-4YSY8(96eJ>pmgEd z;P@=-eOyCExkp;$g}B^yl^^^y%8EinSH#y$KH(v7Ad^c2mH#R0cbg-fsgw_S*hz)3sSv0cI)FQY-Iq&(jT`!u9pY<2oL%H~hhTTVI%1l;WS|Tx%}j7(bF~ za^ZuyQth}bX_5BMXIc70T;KNPODZ{6t|{NTa_fxknL^k1%qMJ*&Ov;~2o2wx*M7=} zTi@XBXv3zlt;ta!-bW%_)% zVN$rz_8}p2d3T(Y=RWn*?PtZEwAWm$N|~eXH@#Z*_gy%wNS=CJb8B(DI*AoU4y%(n z?5bTh?oVDH6pzcfS(mDCx`&t)e5!L*xcSg_sn?NfUh9V+<#Jg@;g!Fk@wroXfy%0m z*v_}{RfAKSmQQnV_da(tZ(!+{ytJ?=4wuG=H85rU+_EW)-b%qY=p|OHSAX-$r6t)y zUuMaQH9{(HRm@(j-FD?`(sVAj_vL;3du(5bbq22p*;+mS%`Bhyfyc(b)ec^&IW3$~ zOKhm>ac`8O6j9YakbbvB0>1MzGs*BJ377K$&6f4cBeqr#K&Ret!zd% z@u-7`MJ#XahmUE!V5cKhCSp^H1mFd{~nx z92Mp#U5jfO3|`SYc)sIq+WGC_`JFR@SN|Toe7nV9OLmL#GLax-?p;MrM9CoO^%XGj zJ;`95MegV$9co^vt@8LS*c_l`(JkT!*E>aj9lK3#MK>jDmQqAtoQweIlnT$xZIB-#+yaw z-g$1)=--yVuOu!U&tJIC@Ws3Nr)B_3Jj?@MPf%LYZ%k`0KalPBQTK{Fh|xL9IpajX3IvSywjeG!f)CzL0eJM%`a%iW7>J9OyC-B|s*bH&HL zI_F(p6z@?mf6BXAI#*yYdQ$M?(`99bIyY<=68&P1MBG;DcUqxZ`8NGp#PcA_aPuA4 zE$Wr@4My~nP11Ojg(m8I3g*xEOkL!^qQ77!*B9fvl3#XMeYk_EWSz z8S_|a>^wC$?X6u>r1Mt)$0e=*Df;62QO;=oTc{TzdJW|P-?zb!fyIdK9Q`$ z;r9`!i9QLOj`uNGHP7G7`rDbtxjrLdTpw{_;}i4~9l(r;ES& znHIY+>*#UOt%t;QoOETn(nm$WwUr23yFq*!m+gxUVhY4zjdI_p{g?Q|pMENO?3|>U zW=bgOsL5O@BgEhJXfz1k9u(wrb`xhUPFzIb^b$GG_)Y621x^f_dp{qTVb%Q5^V0Po zo8?nXdDjj0yIy{xQU9aWZYq~sSotmf6=0T%gI9!SXb4sI_??7M$EJpb-N!>LZ$7li zI@#s2dC)ZXiiT5`=kIcGb0t0JohBE9;GIBzl9e5j>dt#U_5_lWBr^?g_%!>twc7)9 zLfhTD-o+JVHuLi@ZFVxcaB8!ZfzHA&O4lo1tlKiPMJ=R#s8mJD^nPufWxRJ|?4wJW zQ6`k_9|Lz!y|wt@l6P_(#)8sPHmkXMq6}lo+s~;q^5pLRrhKids(7Hdk+Z36-|?MC zPI^d%YFU1r3F`2)yosn?C(si$Kd!u8perxOt;W?lR}=0pYv#_vq{_4^6jRZm!tzB9AB0r;rx(2q8GZe2iGi$4x)Nra+*qf%1*C8Wo_kR6W-!8r)>{i>ur!Pm|U(}Gb5(zqb z)WxWfQ|CtE0-~RrwrbM#9`7@J*$=&ORzDu>(;s_wH)f`9vGIxdeB%^-d)Z&yJPCZ` zVYbgYxCuAf6~+99wM%Cb3!8>hHzaw~#rDken{u`;Ze&l6|J2b>SN*?@`%38~h)COW z&b^V)T(9flAsy#>yJ&t|E!V_rweNgF^L#hYE-p@y`+Z&DN;~Pm3Z=)d#rL|UUj9AJ zMI?y)uzXJ6^I_PQz53-6YjR7+H+Ft>8+FF_eCxH^_p^6ocUV=ij6{O*rdKIPgnx3s zZB@f%EbvTU{d;Ek$&jd;lh@wVKX*vk=p&Q5X-Ks%S9GenZIM9j1jpg4Hp3Vk7!>NL z^}l1^|I2|v3wi#{fq@h$0!hGs;=mxI>6Zh=R5U1NVJ{$2l`|vE~34HvTKl0b`7Kuk^WEU zlTmgJGRm$&M%gvUD7yw3W(3ebg+3X`dTFoFS%G2l9QtIGfdlEKp}z-ZSwI;$$S4B` z8D-!gqYNBml!1ecGH{Sl1`aaHzyU*~=ubu&IAHcX`U)xyl!1ecGH{Sl1`c3apuZVq z;DD+R^cD2U)QWIKswe{o8D-!AW_0w;bZJmf1`Z0!z(GM7I4CFs2L)x|pr8yK6qJF3 zf--PGbu8`46qJF3f--PWPzDYdnL~dM%D_QE88|37x|}H}0|y0V;Gn=vUFup;PzDYP z%D_QE890!Ed9?RXD;nUpQ&0vD3d+DiK^ZtG)ORQabpfCLo=6edYM#_>Beo5G4Lkk&q!kqH$B$c#+1T>~kTr!cFx z!6?IIaq`3@;|7!&{4vHBSl5}2vBfbKTTqQDE25zDZ9s1q0d#y)6hsQN31DYgu@(f; zd=^m9`!z^V{D+u;Nfa=R0SqLjax&&xSsXnuxg3z~{-d*t1PO0uV>=m_gT?s+lNgZh znLm1XNKmx>@7qRbrzZ=`LEojw(A2-^PayS;XC@2AYH=0^5umcr1T={CLzO}kX`x}# zn2VvBR8}rF$O0kP_@nI*=9WRNB6cbqW1F(dQ$*h&nwqczkdU5~1=LT2lkzV&2&*(j zs9GQ+N&cjEfFf$(;=%;MIAfXSt+8Q2fTsu#uE3-ypj{Zpq(lr$Em$kem{d-f8l(j- z+$0JpWd_F-TNaFEt8C&aB0^`67L+efqJWY`W_FXY%Zp5Pl38C7q=n$mjYoHQ;6$X9?vFNQB6t@hCT+@$9uD<7$_7zDIUU@cCMAJX)G?_qW~?b> z6H5`oJVN@TRho#D)iG(p!ct8Z9Zvc-B~V}*Fwi5QqCn=-YA~67$Ji@PhNgFx++Gv~ z)YobJ(IZR%x(67EiFt@%pr8gISl0>y%%s);Z)s8%K!~EjjNXB<(vlkeU;_&9aF9~V zNfb0flz%M?uBKraL`E`1UOUIRHyFi|jWQ)<|U4IqGF4^gp65U_2bDEQxk zU=N!B9>(zD!IMWp;I){OelQLQC9}$1Mc*NKIMg*Da5ISlb_|50Fh!xsScc3d{wkn5 z1n2G#6tH8kT|F!e>~T2pz-xj3gB1rETncV5wj?liDSPZD9u7~W*Jg4(fVmVXd$Cb4 zy1lHjSD{(~&D8im!Uf0(Q;5D|qhLJA*hF82NBH*s*`;`dZjXs(GOh=k$g4mK@XP

`?58-&L9yP&YDSy$O_4OVSgu zlBL2H)ix-&{XAWF+hLRwnxjG`_BLUTAVTdMA>4KA=dcI9>Ss|@p*j?U)S6v&S+k?c zIc8v-h7JZlD&UA8CTJYB3Dee7HZ58Pr4sZu38|swQhasM2RjOVN7IlHP*)!qHq$!o z&`pqqm$<2a1(&JlO?JWCE9t+BAu&NgfQ+_!FY@IM?P(??54+N#-d=q31cxyS6rB6& z0LtI_u50YN!D%m$AU!KO#t8p~t|JCd!AWsWC=)h+=M%A-0+^cb5Yn_9xP+7>HFYD%?Ih(S9ZR$|u`Apo>OKss^%e zaycB1oTW`-o8n<{ysyZa5ce3d`=F6x|IE9G2+h ze4KWf0)@lTOnDy02^6}T8)}2sq2VTK`BGC4va+V2+umZxDVLF#4m~709;Nv7MTJZ% zyZL-A_hTs4zY8&b85UyyU-Tpv>jP(+|fn2lm)!aqLWc;5XoUY)KHg)$k51`k4(4s!ePtCD>M{CKB zibsa}p0vEG%oCeCGCg0f)s9qs*cJ3mH4WQdrqzl&&|hx7evI9s1g;i|+GSRe7|F;Z zwR_U1?C#;`L_AzWk$?5i!1xza&TW!&J~_SbwiO$iBfx=}`MBxhKJQtz05!o0x5**Y zhgs=si&8Qa*d~ou8#$`7_3-Q!@I!g##ygZ4z2@G@5*j}#UUW+L2_?Do1&7l42not^ zal&Nr^oq-Cl}23_<98b-_-#f1Qu%J}T%*CJHrpln4aUhkh14o}aG)>juyW-f$U=Ie zaWY^q!U+mm6N>~V3#}C=xOPamSB@IbujsS{Y#6@x`d#55#UTUV;D1S0kb*zlt~skF z*OGNNmPaWm?#fLR2M=1DN}bLpD5ndT{Z!v3$Pc&ft$8+tCPxdLw4-u!+}rTSVG|0t zW%mF2&00QlN(jjqoZ?VqG7WrJZur^{~E=pR}!s}-sM)6zHJZ! z5n%*1l8JF~*^Y3K-v$w4r1)f$k#SpqBzaSa*#s*fMhCo}bnI(UEbN#e+?Fx}dqC(} z>|+8{Pt?)0xyLd?J(0i(K{QlHkR|gOK`AUgCUXQdO6?VZ>vhn`@z}Lm6gC%W z-AGX{D0){QZICF>Q*JekOj<1M6-}>J(Q`r~W%Ej!x_k~BSb9ND#`nAs|Aag7qZ)NU zWu;9C>D@naK4bRF>pCO!Z{nu)(nbrCzW^yT|MS9N)PCB_J@ln=ZPp^R#l+a~%DGO& zwj;ay3>`O1yKZy14k~KB&;4!%x@Fkqsqgga+fLNL(7_Sk&Kr=P`nWz=kDNH94$bz> z8GG#^k*-sL6P2DVdq4*PCUZ)-2}p;NnzFuvrGVG3nD4jGNSiH&{%Xi%3}TiFU1!!- zjz7vHsa7m;-n>*gyRE1yeD9PK0CV8;4NuN^Oa+_o(?{;6|5*~ zJs**rlvXmhJ_d7}@DlNhaT|Ue~rxY9))@isJMk)Tcli-Zu-W>@$A0nSei0+jf z-v({h{!O)CLAvp~h|FZ3Xp7uw6m+bnl;8XIz$ng{d{d6>#*Jt@+SqD^zfc=1sWLj| z0d4(&!ju1)silNdsaP!br;n`lpmEG^-7(GM8g*-PC}Mk6t6S)#{R!9H)hvofPsyEs zX5pi~?bH=t>9<{62?n^ViyDi7>T+)rzM_lBDCtiry93$+w0POTBt^?k`s&Mt&Xh~tXvDGz&Y_g@rQ#>8 zxaK1$0R)|gteJ<@Lg8)H3l+!xI&VCC_ByLYC2!xIZCPF#x!!RDGKURLdXFi7FhH;B z6ddX<@^+TQa$p;LhVHrn+mr{XiQY-lWqM5WPJO7rhMyw-Mtj-1bLkEgu1c&kJ_n>K zw7?v4LnCL=S)bFdA9$X-hr7)RBV@%o8WaPUT)FdU-8Qx&_x{<3_THpTK+x(u_4 zWXACb8+GZ}<0cuE>jhGzkhNka^T_}svNxY_k$L()euAX|3&q;4c2=G9O>F50>V z2U%N1-^NX$} z804Z|4bv}!pFciN9LF7WXly_Z%v?-0DP{W*((}1b;8m-@%r;-<4+CBq>2ABXpSnr6 zN{*QYw3dFICA*G$qsB!F`m!#@7W=`|H z3&B1A@3QtFzV@XINYOxM@$EW=#wJMj>T$apo{EkctOPZ^b2)~*3Q{d;K$etrD6N&6 z^jiMYkro|dy)>=2sUn7WmDX5PTd&N(0mpds3};U`uWbI5!&|dCX6m+-sUOCBkyqTl znsGp#KaNA}Tpmq%x4ng9cWFC>K;2H+M3I@({XAd9?#tZQ9brM0*VI?JKL9sU0nunu z@I7PYVSmv$>^>7Dx#R_|aBputmq6u-a^`Zb)D$%EkMYDqcUA>>mV#zwa=<>QgQDT! z#?eM8;qdyG&^kza4JQfqQ+<}DL3o&v#%Hoiek6o+bclo7x;9!3+m$tswTeO>01^=u zD%)jbvb&X4fjQ*sq5021hp)T2ms-UTL5f&oykMYTrecGs(FNVuMCSylOPI|~F(kQ_ z)9svey6XWtUU${2ph=-+Uo#FF#M{(hi8N>3=!%a8ESZg=(jW**yU05fjQ<-H;RCKm zC`l-MK7V9A1wlBB`z26`dN=XNKmOAt^IR6uQV_LrK!yj1h_k3ZxQ_)}@a}Lz8hUqf zNd4NO=-tII2h|k*VWlwRiqQ?1B{Aq*c_QYoC)ji0zp*R4`q@wAw_BJ+4(pH&f9pI^ z^}!`IO6I82;fJ=3b;f!s?V=;axz9kA&@{67b6*H~T9JD~S>q_wZ`R^U7STqQnRY`8 z8do)Xk7~1w<_E-?J~C^|2X1L95O|DD6OkyAwX?;E zuB2i}kl6I!u@pOettvrHO!_qN?UShTP4Zkzmw7ECF1=<{HmtU_VZ~UFbl2nUp1%9L zG6a=-SJ;)GssJK0*3hlYWp7mfcNKmdt*FF*3Sz!KKNT;vnzqf@xw}g0q_b=W2FErC z-?cXC8+EmHIuA?O8)XYU(@u1F-pSknq$4Y2hRQxw2PLt;^}69-x}m1kF@jeku;b&l zP1~4|S}HFP#=1QhI6*FqGlGZ!-hcx+>WC6=m94(d88J^S3?fOffK;b|1d?^vp2YeQ|?Pd(!y zVnj&yNS-e7;2X5v@hDH3^T@}HIkjauQoHUgyp1dAFN_P+fUOtPI+G)wdX%=k5>fFZ zp{T*MA+*&c3Ev94fj31Ww%lmhsIHTOb_Bb8o#h(jumjd6!Fpd>34|Zfh`X#Y1^$5P zr6_tlq9B{~uLnfhRuEij&z!H(a(cPEA?@hcOeG~O-oM5{$IPs%l_e15n5|8F<>RxD z?HVHLua_!13lmZ&ORRisjFS^L##|zR#dibLwX*fvS-ZHw=8O>os9qcO=B;PF0P|=UM_(f$O%7EB5Z6`XF6@F zyzZ)DiNwwGxBo{EJNXX#uZy&LKv7jW&OHX13>aECf4$BNY}UQHQ6lEjv%{rueeD_6 zyo=MmMVcGh=}1-B%GX=I{La&lz$)sX_n|eb_AQaZ<%?^X??O~0xtM)7?Y)uikT^nL zAvKc!H-|@pKgLScOFoHXR`dp2Q^j008Er9Z(|M3%D9&| zr^nb?plLKG_mA z*a2*qxc#k#?u7lj+BohwzZ`k}uOypR;3lH^5o69gv2n3j_P%7YRZAdfER~g$o^*krlpf>Z`w-&>_7dIu@PADd@+T{_}O5){^&8i#ak6!4WEI3bGa%qbJvX#S_%b+$^X<_NI znRrk99#{9Nd&X=nkxOktwoNb+Wk1rnO`8JZ1KC0XCNWSt8dLUs2yN$!2A}Nx<-Al1 zDYxi$n5fc3(hEnq$hWIEV{>O8gY0w9(9x@4HnK|C&1!=N-GotU zn&xQmzzXo<J1dM#1!gYE; zP8becCOsw2bXp!!N+6%;?lfds%^aHRNe*lUpK|+VrilkisuPeC>tN6#qw)|*q`j)& zRykB!Q9O=vpAw4r5iis-h$$@;5mXMj&w;08UjW9a6iMwnVm}X?3;5{pK~^ho=A4P| zGj7IvGJ6?4$d1gG8wU!Uau=^PRDL(zKQxD8 z$%P5lu3LkZdHF7F+axi#x*UBGF?U_i78*3b$@B@>wGL%Lh$$6JwN$055244Ow5lRO zjQ)C8oAf={d4381hVCMIa?X!Ke1;nfEoH9aNb=_@4LpBR>`5xFR8Wxrr7 zr`zxEdY1~s-=EdzJ1ftt9n6`^1wtpSCc0hYz(G)~TJ-O0l}!JT4!$yF<`sOwrAWP9 zXu^@yEAP|#QeJ!hUm=E2I0n#rdjz(Or|tx z3n?tgEaHOGA@FFBEXiWY5#!Xt`w4R>Ji*(gz>?7iP_N1J*5ZNx^f7Y*e58!fhX^{m z5g+M|vK(B8mGGoiMuJPUi4!X`n^VEo5FT_E@huv)C|qmAI`(?XL{=cj6jDtZ2-ZFi z+L5-Ts${^o@>2djzT>5yE(4k?hcw@J9M_ri$@oS(S~G(w137c3bGOs#`$*?8nE6_* z{}@ZXGB_z->#Fhf*}Pn(k1zfpr=eS(Js*VT6#Iq;RNMr5;DxH#;PM17wE4rHCzGW# zS~rNk4w$AA8Z2|!(A9HtHIr;_Dwfyi@UW`AlJnn>#vq*!TTgLkD>3PJ*>(o6NIq0Q zda}s?%A6(pBiKBCu2&2sJ3-aog$mJm*<<2iynH?_q(0=S<}d$wPWp;`prW4LBiP?y ztK@mht8e)3S|a1w9!hHb#1Z~8-0@i&3xS6kayVd%?S@z{xwnA%wFtNWYZ?}VFC~mS zGT8RsCfxbVn#^@xMJJc^1swXr-`ecv!)ylsvo$1;%(7F{S~~-+0Y$n|nGH@yhzEv+{`{utWe)%!9NKOspw+F)*A;2%fHg!Xk@yK*r?Mek|4+9 zZ{9A^5-6>5R3XEB@4SrhXQyqj4awdBJxs`Qc?Tix;V%TyC=ku$?ldt`@DSd62>2WC z&5}{p%cx^!4RsRSCx}EjCX)79ce@{0U>ff4=><;+b~O{gjgQQ@;h(?Ajd8;gsJ5^l zjfuYAmb9591B0(VtpiE{x}KraZhAh>M?UQ+Ialq0)zD#2-mH78AgwAO3a(9T%PS6Z zgBAhDT!3V}a_BQ%mrreWmts&fNdu=n1Y8O3qo2BeqOdYpg|;5Nb!?eK$Pwa41Ah>B z|6q?`qYsO0*smhd6bELogMD`Hs~i9)h)(9Kf;XBb0iv?S?(@yoVi+hhG`Tp+2^zJI=C49bl;&F=BCvR+}dFsKmBN|Gj# zZp@X1_@edxsLbfDX%-;y?drA<>V7SC>kEO(Je!;6A38A=EXmchw`p**$CJT ziv2Y_Zsk@TQfA?jhs>2AY&|3wFSdxzuMT;@R>MGy5@#NOqnbx<2nj@TcQ@M5eTN;G zW~l4WB}?21$g@lxP7&7+4#Tqlj?#_-^>G#QOg+s|kq+54j$7@!Sg0pFmq5cqIA{Sh z%YxFd2x8DRy!7XlSE7LUXP88Es4I>k3UNg~8-cY)r%t9xx%ge&Pb11>R z3s^j{ZM9eyi%L1UGyAVBd;-gG2~hBb{jU4r*HC^tJ9X^Kg;y`(w5)OF)J%j;V~$6C8^@_eMU{y7XxvMS!zF7;WoX(D4$Db|!FevcL+|@~L zP%rZR!+!V)_B?1bO$*{l`H&!GX7Ptu6^G^26 zOZ?vVpsL8s-Hwd83{PUzx|O|YhYTg0%Ts9K7J=?$bTT<=!AqTv43O0_R(vk)cs2en zPF|E?t_jG}`gSj}Zd51x1Cpo~M<>JCKujHJYx}w*1~)L{bgFQFqLAtMkwTR)qT#}1Wc+*Z=t)QfT3y66B-@Kcpb9NU=f(D0*5f|dw? z*jibTl$mE>kMD~2lkJd%Vi{I*ucrG>6@7W39Sj_16xb412sf+V?};uR&z%J-JQ(cW za9@o|-aH^7QGOIP0f3?xr==R(AoH->IO7ODcXo#HXY-QtgH$^I2lV@W7!Hv-;s z+&#DH6pia}mJNyzpG8L+XWM)-(J!Ze2ijXn;r^wc8d!b!V@L;REG0Wj?@$-Zz?5cyab5u4=3ZGAZM)m@kh^qTH5JetI{za+ z{>x3Gu2{dDtcRxzk9+UaII?5yrEgjO^!;?$GdJ64*Y<~Vs&&b3^3rmr0kb0WK(jh- zgyq7xwlKI3_i`f7%%j5OcSqX5Pdb&--Ff1=UtU;#4e8n<4~?Ic2)rOh%If9aBbQ}` z1)m>6Z^OZG9(EWzZ5P#FU(aJ$*dccKUT$=(unFyZEjK9G&3u_w13*z(NNREe@%D{V zWAG(DHv2Vb7-<1mrxq_O*z8Ysod|I+if@|6mf~^5E!O6`h|6g?f^dqG9L*?5H2M;2 z)cg`fIIJ&wFXT%pA*^RodKIsL7Td&=AYum{IK+uQF(B%ju zbwJ{PWnf<9A59o}Qpy6cx3M#Pvs)T7`+{N}nb0>7p`E*6TdVbO_#qkorY2zX;y}ZL ztZv@*{@M=McQ>v9gZpluIP{zWmZ=G4cp8IbLJ{fl?8Fd~xDIh#Y9>bZ&ZZZfTXP#c_KpUlKR(Mf^lgA7!<>S>Ppu zDr1@yV{NaeNFdWs1(c}q9p;kDXXI7P7Ekdu1lpbGyU!toRsw!21*tFlFJrv@fJjMM z>4Ysbw0CnCy1Y486yG5r!5j5Q0Kl&y64qRi7bgO}t=j>)Mn(OHrlQW>*~ZCz*Rk)# zwD_UIatAhz67ZOzrsm^b#(|r6wb3Fw+dgdl0{9u7RR9!?t$Y+YPNcp_iT?&VA{N>+ zKsB4?4*X)@8{Q;)(=JQ`R=uYc`Xnj>z?*qnL$u?F0PGomC|40g#!N=}P z_aKf`f$Q$+xv4z|*A=2RxApN8@?p;8eEbnd^wZ1wC?|_>OHDtHd_sg*(A*CKS?nd( zOhtp$6Y1z9_#Am3D}r9J9M^TvdAXh9Hu~d4-xJ$cZ@0jemSgK3k5$FP6C`fLUk9nh zFbfbYm^gq#%U7zeFL#UPZnG}{D%<@UCgN#d&jaREsUGtnhQ+3`@+CXg>5u`+%7JcF zH!HatU2^p=JF!%B|CH0Erm}>f(WT-zM_wQQft8};k5$Y~`@V7s#{!H-9OjBiG?$hm zLBC8wX^WIgQgSfSGL8iq+o`tB?V=J*k?q^V)+PB@86n*_LYmxlbW&4L!1*|u4*&x*DBzsAN%la zX%>j-A$Ob|4RJ-=CoF6!Re260RP~{q4`;SNM#g_uvO+i#g(>j=08P=^nmA#38M~Ml z!>*MZL|IElX^`^cgp?YYie`i+_i0?NQ(X?y zmIQC84P$j=(p3R)ylf~Dx;)r8I0)~TE*aswe?-;Mn>)U(r}9mzZCvS1Q2_!Td>q8U zYe#@SGCu|OiEgmu#{h=7&x4y%yImcagwwa_NH<6KjrBw_<~>aK+7(gI&&TvZ^_*=} zEvzoqMVJU!@qr1?_(q_h4#sfUEt@Fpl!kX&y4nkD#Pz<}FIErl3w*Z~RCj{+$NT^8 z{OA^pQ{Lr(rhWRe@BMuW1hLOZKm*9We^+-$sx8~$J2SX#`5?R6yH%*{d-P% zs`3=+N`P1U-bgRVW9|_eyEV>QF?S1bM5VT^vN}Ka7o^DGL+J03kLFEkEU_7HQCiYT1mGCEBGJ9z zNdE9)Vm}0y&AAe#q^5ux&nY|%P%iX?0-6h0d%c$5q|g9j{fxS83oK55QMR-CrmVsO*|MG; zRatw4lih%YoQl+eyb-&|>x{-TFX0hUJ%9HuXYZ3f6ASDbJu~NI5XExOKs678IViE~ zwz7w2z zhE*b9i3T|gId_VSQ_c=bYX^+L8h;6@er~*PSHxo4UOuWILifii%;*{cn0qHjmFFa%4QMF?^|=sUM+;d<-Kw_Z0evaT7z6%SkQrTTypk+s+{9Eszz zLXHn1v8{R6Es!oSmt!M72q-c)i+F{ooP4nyKg5hxX?)64CBu`ac7lqf6l!ySS&T~k zyTOc^wmJp~C$@_Ao7#b~=IK6{6T~m?kXI=o@gvJZHNq3F*7YLH<%yL0_OND{pRZZE zM?#?toFm9CS;K~|im-yG>g`OmFN^@9bEQXNcp$^mDSYS{0#8iUZ$TX{(eu6pbnkBB ztz?>_$oP%?I|71ZoMkF6tHg9b#p*B>!||Cc%ct01{xvMq1xgl#BULe| zmH+wQ)IXa1Iu-8`G(K23bsmO%faCfL|K~g+w03$)s=EDgb&iVWVo6>S5Q~kp*7<=M zN5+AYm#sYc%aGzre8ST&GU_IHj|Hd0!<@8ua!v-_dVo**vouSI@IR9Q3WYH*h0%zL zOEldQg+COFZ5${YXq@wF&9cv7Y`3Xu7!UIDJC8jQ5l(|Y;A`UIynZI)=C4p6bXWRL zacu*+R@g=GQC}Aku(r;|9QMmAGg|PKRQ&)XYYoQas~@@V<*(Q3!oqcF_G%8_4E6J( z!B9ogI#y(Mq3PLSuqJ+g^8IDBLBiD^3DGcue!efyzm*1rYd_%6K;3W#!dIZTT5IqD z6OCd=sa9b1Bpd*MP*aa0FG&_0vWW;f&l3WadCI5JY^=xg3Ao|aqqtTzhbl1{ev(!- ztN?sn3mDMOtxN?MqM=aUo1r{7Ig`a_s$|Qgd;+8mPk3fq^utmKQcrDA0F$jEPzy(n zgfJPNEH!V4^pto3d>(X%A82a-T--^qdS?xyi4zvsYn7L zCin7&fsusAYNXlVrW^|Kx^K^;CE7=gxgGJIt*0cvj3zCl7ni35xye!&Bmk!i0fQzw zp)Q7(o7hMZekAG}>||A$gl1dsJv4e&!XOnw&K(#gG61}wK0OHBTV%{SXF6{c%5K51 z_o>J;if&e^>!km989^svh#Ur=5W4>BCDhLYCXkI(K-o68&M1Q%;ziPqs>E%3G|?vU zeH-ZXwJ8k#5IfOUvE&|5&b_H{r+-%H>n9yv>=;ytx;>ARcoA}YH(UxQ#Y4C(_&|6p zu>-`fiAHoak;iK2LMr&(56fuPD}+k4rQ3V6_!tfy>+j%0Xl# z(K_bJJ_z=M`zRLR0V3Px-f<#SQOCc;Ir-Nh)-Dta+IjT=f*XIqu*kn@X_VF`ot0v& z9f$r5BOAV)?ZI;O#eJExe&C*RkJ|C3KtxNav~3`!MA0Foj${6Oi#T!HzvvoLy(reF zb(93_I8_}ic<}C)4X5O6a6mj83XpCJjmJ;;3%>k~AJ^WFucI-yZ6Uj%49q4H8O{c&EO7d72720Gp-EXYdANeX!|~AX^I7 zx=TNMfH!kn(*LNM-EkhmJdMOtqeN7oY>ji3LHeR{X95#^ezrrRq39O)04=?gcz8tO zGgaXD0~$)Xto2MU2FNCeEfej~+oQIvu>o^3SXD0jXSJ|4Z;@Bw%7- z{{4Rc%kyR;U}R-w|8J#lMm7!xj{jZh`x#ULXJa8C`r!H+=KA^?A!l#EHb4-}-5nk; zXOE7Mq#c>3-P*w&ddBpInETYf?%z%k)QR;?ODDRpaADa1k>S1pSc)q^SEECHBQ#J+ z3Tq0-8sO!nPW9zwjsy!!7J)kVp8t^q%Z7kCdIGS%T)3m}mAdG@T z6R?8=AcqGi=PStiI$+M_CD0F}ivt>nM0RH|4ZuV-04O-a9B8E2#K8O{ritm*d)g^K zKH%dC3;-M;Am2&fHXzcofO$d(B}ReGKP%W~|49owEATl72JruqzI*Chs;Y_!u(N-q z@2bik=&InRR0?3`|484k3gG`!`bG=r(*mo=*Z}_7#-c`o6?a z?CcEgEv{UT4q*dY53&vj_@_~-x;C$N3P8DjSU;@HjSkNKyX?A*fLpnVJ-APr9dt~p z8$6@e_4VdkXDU}Pu9mKvj-ad0%jAQ4YLjs?fVKqZ@+#0k9lfOQUosdc@bvD?cJ$S5 zx;3=hEx^ZTIE|nI^km;gy@RvKB2e%z40gZp)9Q&#_(j|V)CuIVw!Z!b@(L(G4luX4 zm337IlBE~d-`0{9553AFo7@b>Fz{TKDk{~zjGS^@{>mn-j} z?uW4e1tR`J{*r}h{zUKF?qeQ9E|~ph^TPpn?(_Tp7{9e0q`~QT)BDNz@g25t%38oe z+K~CNd+U>ulmwR#fQP0h4+u>T$L$~Z^-K4>KlWbw9KXGRe$Kz`E3+uic9*{p74dA& z0T5o*k?qT0^2N4(crhP;^svGDf6NpdJ+jRS0>1O_*bPn%+5JC;?|wWXzun$`*gyP5 z-~4fZezX&-vvaq1z25yXKYz|-uLOTTO6%`k?5l0t3T_^o2)941%Yfh3g{gsP1neI_ zRjKZ*zMF`U^~;+%O%U}?58u)-PKltNK(tE&wI?e-SfxK(!`e{X2pAP7{~^EE0qY&= zn||=OH%~G*dwFT;?Af2&pk7-wezMiTY_1LNR>7R^Z-HcTb7gxHcEI*xJplM{?5nH* zA3wbZ0d1-cz*pJP`?aI}0HndqOZu);)4}`6?$XcnhoB9TKf^%)Y?yvX`P=}qFZqY= z*kXQuDR9|ue6Q%DNBBFywUi%1KY;8B|Hypg{<3fQ9?|*N@OD6(te-jUT&>??ivKMQ zWREHHBfVwMD66|;hj?W4@%w_J)#QIRz5R(F-X>yCpZUd4_}vM?7R`TKqq&Fwnl^Bc z@1v~s9q3Of=#SCIYWf7;OWO2J{-mwGq8GPfPk+mgX5YyFwVT!S1-y&Z@BzHb)$miC z($@I{@uY4E=f9_I8TVUE<^EG$9}emWBU*8g1e{Le+t zpV%MfwG+FU8GHGkUHG}prJwMhZ+>79FQDl}v{Rg^P$Apiu-0wgM1p67b&HoUVlf2!J8kUh(si_^ z8<4cIzlqUF*r&Bd=H+>i=xc*eH`S89bB9_!S%CTL=SJpi9|Ce2t(7P4El-#{x_=p| zp_VjsV0Zxe`O%?NEV@M8ykkvrhaP3Zd0Hk*U)Lm=DlZ3o#daacXU%?;K$%G_h=X5m z5tbG2xIPqEeEY)FCFV_l7-XBaiG^=71n_;f(Xd49Pwth4W27j={k#wEw~sC3uGwQ& z$6q77NzGu6?15aw_BzybRYh~?YHg2uMNBs{ns(cPZ`!l3mSxQh5mfA3_?m~J>Yz4o zMD#ka*n~cuUYtr^C~j>I(xB)WwXn1$&+?; zc4#!dNPh) zi-CVkbLb$OXiQ_`&2lH=dg(^F|HfH#2Cj~#uJF>5O2?_a)BH{4=817oKQeIyQqH?B zPo*!3S9|GW$?Iufc5;LdlOx*HbQeH42A#JKX`VggM*PX)NgdNG!`ia(AhBt!Z1I_& zuSy&L+BKyL;PI?@YLG`>na^uTj3fuoKXGG~mHC_&Kcx8!r7yhw?uwZF^6f&Z-C~le zq2Jgi6P%Y<;@CIF8Yrn5*X7k38!bl&eBMprI_|xyhhH$RjV2Df@%1H8y?9vW&?K^S zyVVJ_C<6i&2r?~}0&#}ijyUKUUa#A%g9_^FKq4zqta}#A^V3t%(c>9Ko5W}3#W4`Ud2>7*u-vs86S0&H(T^DQpu{6ujO#g4fO=4^GK+BvG znq*$u6RR*o+5#ylC&c3-9LwJq^S_D9D4&X$8N0(^>Q78%i2^d1Gfi2X&}dDSz?hAk zljVD1IzYnbC7JDZi!V2D8*KhW1=V-mbCU{qVrB_1EN*twLt#E`dvsuQ zp=lyM8YNC=Y4IGf6I-$(Gt|`qL>DT@JIEg~-Draxth?O3a(EV$LsS(_c-0xpjz3ED zmU)h8q$+Vbj2&KrYoCef_V&(ZR?JK4<|BTLN3U?3*V*`9A176s)iqHk;k)eu<1k0% zBjS(S&QdewamJudd!OUyI;mbU8W(w&P_&vsKO(Td3T2xrYx@ zdsXe2OH_|HE|dnkLc9_`R>o0Tb6|-*Yw?6)mJ45OtCR|NN}DmfDwl~AFA1$7S$tYU zKVeI31Yyo@Os>BMrp@Yw3ftZI=UV1j zpVa65ee_Y=cB~1nO(d`-bNJE=zZj}MU(CmNH9yRvmUWAGhxn$WNvAfLyaRX*vr|i| z+vHb^Yo*`QNr<5B9r!ldwQ90ILxX{S%Vl-qt;4($9c}I%7testmvxq?&v<+AL=zNy zQ$Etdou_$52HZ>L4K1_gWX>mt#UqF0dppc;TSFX-*&y6!CCLKgF^rEMl- z!CchcHiFLkBj*iQ#O+JD2aEL$@5>0vyo1*eMGStH zJJBc9m3}z5DyF!d7I~@>vl4=PT)p~ezNXD8_ik1?l)(a=k9@b? zk+A0SpSwGyL+72ksnXhpj%b;Ok+7z`7uZc-2M)CU$SsGMH?yniU~j|sGzCZfz?8vp z{qsZ?Yl#`%Gl5XxZ8+0GLnh1HfPl9p9Jy&YLuc%RaQqmuQR~B8S<5B&U}PYQmgtqm zrfHUG5|wM$T%WH65AxBrj?q8=gS2}J(j<%;13b2E+qP}nw(*TUvt!$~ZQHhXW_E0Q zHkFy%lj@{&Iy_%6c2EB;AT?u$=>4rw(1;RD zgPstm?60 zBF0yRRgNPppFZ1qoz__@+2rQ0p%~grqP+I_^QKwEC~lyRmbR~sV3%DUisPo>j7ban zwW*z6`JTxryqQlxZbRyWaid5OqLML%XWFtAw;|t5Z3oE3Ldt8FfEKw!YEz?Eh4EDo zE`F%sD_2QRr!GKr^o0oWthVXfl!BWMOR69U=@h8dVGd8?LLk?}fd$>=3 z@3$)gk$=e?Q@ zRZx5#L1}SM#~t$LFja+SgSi(A$_E1=%W!@~!#jcLhI@zh;&sr)kAJAKk9Qc0ZY%Q| zA@T^+BE?#cKKc|G>oB&{ z2v^k{6iFpQyVxQeBQ8~6&q%hfr~3O#OK(qRBy06vvac$dS6Y`*j zisQa(`FyxN-gQ-rQLH8HfDD@2ty#^HoUr?YqsnK;uhv@X>CdWgRIm<438}~Caw^(q znf41l)m_NWSwXh%h7)fl39-R%{Ew z`VV49lkz0UF?5TY@5gRX9P={Ptw`{Ox?@srr?_}UVnJL1)Yo-0ge(%36Y_n8O-50r&*u(hGJvWq9R+NIT9%Y3-PFvqav#RBs<+{#_(8=5j$;mAZ_1*5e7@X zSekoUhp}5t#2!dEDhk4S7!7q*pP4O%`Q}Irt|706#SstyH`+%q1FK8Ph2vg1ckp`g z6MvVzj&rFY@#(N(W*4~HE?+e4u)Wsn-B+EBFP>ex3uj$i*bXGaPB-)KFlbhq!NJux z=y~no&AR<4?$>e|kp3ECE`NGFT>89!oiDzW!>--mu-Q?E!|3vY>3z``CQJzGAbigo zyp9~i-h=e|^K@h!nQS~?QS^Ur?Wm0ACMQ07448AX-VR4SahvNE{h z!51n*7lKnsFV3G1l2X5g7n6#R0RKw19O$-Z~!7Ef#qBt27N$dqfw0e>cg)o zK)zey00vM&3m2&9S~qgss{aV*SF7(}`1-)1Dva&u zo_gSQh*h#CL&q$qO{UGN!_2tt0ndAwaQfQ;hs7%xPB-)RT$Re>APN^wTrhdFom+gx z>7@8=T6Kl4spIL1)hKo~7RBu4%WhjXPyOpm*KUFsu^4#W-ey*7WQ^^4{POWn7e)|` zfF+4~hY^!|K#H0x`T1oa;!qZEX?T0Qe`2mGyEW?UfmtGCe>@#csA?VmUPQO6yPm6?8nQ5?eMCjl+RRVL0x9UHs= zY{6z9)aR$yHb5d0zQ&xBTBi{aA9o36K2SWP7-&fy-veXE`E9-;CNHVBf6eQ@wAd(F zNBje^w@-u(vlk~-UTESyaDVa17YE?uOlM!f5Qv1|)}1z!k)5BJzs7|~rY-+vv1dJU zyG>M(>x<$j%klm^4?=j`F#-RQv=0^6F(kFBzfN&ffQ9-6vpIW_+E_Gd;3uJyw|bv( zYSL@}D;X4)pu;I2lDQJ)h@Q991|n4zReXyuU2OvvGuQgpIy+;YVO-tfbjLXfS4lwD z(51W~5jV&+EyV*i2&(nm{&|%{b#A*)Fm4K>sJjL+W_$XjzYAP-|Kaq<(6?uv?Bqjz zGQQhTk(>0Gp89}d8Y1i)F`1V9N!FTN!X-=M887wL^8Q%bBFR;jA>WpkVJDrE(IdNf zp5qq+y6d>*plF5YCdTKfZRl?V*V!@`^TzqRyQE_<;5A}%Qqb9B*Lau%2t#KPL%(c{ z^Z50rN2e7=7I^G9eFLicFe*G$iXFBd_cho;9=#H@IKS)?;LdDrcj;noCQC>znCTb_ z+vGRd{022jkCqFJmR9&)50(y;d1$rzE7mG`r=EH+UTC&@fl$e0onvhKkk!t&5nYHw z$y<*eDkkP+m=pTzIuU7EA{S%k9Q~BYv&e<&Ap+jJ!|^wTbxu*rcM~_}3As8pDKJPn zJvcr7Fw*z5y`$+|V?12hBwPftKViOeWhTf|R->a=D(!oPIyrc*g&z{_0k+AAq{F6w z5$p_8t}EzAvELd@FV^;_Ww+seFW|7=o0v+E!xdL&^;wm@OZeB=&lWJlO+&84QP7dl zBrhnRMa+vLU3RhEgyYO$!0dnU*Zud_NhHo=dj-L{D8;}DUA9ZRJlLFDOvD-@Z>l=< zTyd30p=T)v+h%i>(L0KrY{rI#T#;Ljlk*|q+nzp~XOOPQ%1NI*$s%B|soUyky&BnB zlhIBocQIQ|O)-Zyk@2)HheBI=DfV5MDT~~YA1u6gWBY1ihrCr`B?Ojl7G2$6nktM* z&lTtnTDgp)86t*iTbU0?^Oj<;MwNQ<0Y>z4PL5Xc1Ve*)PnU{(+SHUob*Y-ZZjoMb zxqH2M!fhx--3ZvnqwOA*h(mFY$fkWscVK-tDQ)r}8c*j^XA=-J+lGy%HmaCKwQUNPe@=RSQWBVz4Z$6Frv>K=)A&qSJWQ_#I^pp-yB3YO>SMJL;qK{E zQA^BWZl*)G(-&4sDpalJKd1!OEYS?z@9FwjZy@;+bMbUE=8=6dB;8?-KwOiPikpo$ zwTem*+K0&3G;k{?)-{-p)f|iJ&=JGDPr)e_G$69et&s0QH}FDH)-bFTlQzO(I*fJ8 zdXn^196wzMJko5E1gQh^{I?wA1v(b)(8l2yx35L@7I#F{@Pe*ByiphRis;-hhP)*V zZ|@@((S}W3J*ZH2n&z7(n|TtcL4XxE?~oVx%i#{p=+u0ju+!Fx%BfZyIG2vTX|fUY zy^!0=;77Mft&G_(?C@^#u5reAal?$L8h)XMI|585tiil;&p_8zSr9*GF&*;ZmlN_H ztSsJB#rG=E82Ul?RmI>}hi?GHfLYA@RyA%y&pZ4HBe_JxUNW7)vFa zwubuG!ZMAgi*8zfIa$A4*Th<9PIKG^H2*4MHHMvF@H+%U#qKd3_dI;|CcE={fj=oB zvTyI-E|jz@FRvcr}dl(107=(ir5s(mlINHm|< zUHMEdKuaoKj*F+K3`a@gSI543DWSi*#RRx(!7OP^JdNg$hrB(~kC{!~XO5QCtU*MYMo7 zQq#Yylk|HM+dyFTp`o-+_ilkJXl#f|ALr6J(sSa?$K{l()!Y!s%wJICqpuwt-CkT2 z#VWkDirAo6@<-c*tnBkHqX~{QtXb2R`a_28^1B7t1=pK_ft8m|g6LS>J)|J9KZp}AlU+n=Roy;t=);4#iD{zuX2LFN ztF8ghN!)AaCHv2vo0GYDukL1BeK-AUH+|zTkfOpn?ba717;}lIYqH5o9p6&-VR6UW z7LMq*Oam4cxwNd=XG?*ti>2$*w^ilS+OrdFs_cFHsEvRRHs34C{dXOeN0xLg)?8jD zz80Q+!6;p)Ul8>h%T5g_pSWFXfM~xFX0Js*0Gj`!OUMC^*JIg}+&sI!-3gX0u~@82 zci#YH+UVR9^Y{CjV=Usv6(Z)9@7aEmnTauBx5U{1Bd7Dnl;b|sgp#295qkr6y}4^g%*8(XzQ<~ z1afy+xC2lmyFvqS1Bb?&mW&COf{GXd0rPgZj<6Zx3$mmAZOa8KIQ~M>Jh}NiAD!Mm zo{?>4W+qWd+^ts*Y^=P$u&gjS?`zM7BUjBHiApRRp=+wzGTsh4uNyIWm8eHmxK*l4 z@qTm4RwDis703|0elZ|1&=N2PdUxL2{|Z&OYGss;=zPHB(ny--YQz%_f=;IlaOiP_ zEfzNl3-cHvlpw@N(LcUbPY%CCj+!^B21-%Opia8?bPThim$EOAihR6DKKx$KyFFZUCw0x) zmLU?2e(Ny=qb7xNOnlG>EOc*KY0^k2js@ZmySkX5di*$2YIyc?dW$S?fIqo!z6~$o zjw2h>o_35yTOLlcVkGY1n!l0t z&~;D0C>!z%c%{&jThC>Wv4=`1TM;ajq|G@W)9az-hX~`#ZSlaqBi!>8Z0IqQIL^hE z?xj`~IQz`2(8n!x==M?hsoeJ*1FSSSu>i)~Tt7S-$V#G+`J6MlUj+{T80yo|_PSEj z-2RayjctOX+>dUG4)K$|KRs}WpgM6VO8|K`q>%bRhZhgBBBv$Zsme7X@}EC(S`~IZ zBWvcMNl~TaI7{p$=P~RA`t^81aJsDQxQ<#gIV6<5+avg}4Lh-PkawsEvGuSXvx9$` zvAnG2lHZo-U&J8ESsFK2!^4(vIKrS!3~v)M?oRcdKy{c!YuboVk9%H>`?s1d;~g*J zDb`i%glKIhZzo+Y*FAr>ow32f-F69`2&GPjDTvQ!Pnc)^%n(C!254#;0;|t$r;3H> za@7rgzA4V9V|ygbgb&KvgVa2(^;3m}n7N`wqH zBpcE~O^TEpJAY`yDj9xGA`Q9^GR7khCZF8J}*WjE>++O;jc8p4acgOB$$Haok zB>Q!Be&UhXM=LR96QekGk;il6Hml?on8bR+kY=G(@mJ&1G};{s58Cg=8`%KKa!5EQ zA9sho>01Xx3nu$&$9z9)YV}i_;gm-W`q}XJ5MjqjCwzm0l{EC$4sWs{hDG&5Q>+Xj zW#M!eZXv*4C*uAnNZe5=892KjMF->oga#qs+u6DuX#QMjdVQS@VDiJT1nXo=L@zaf zCL9+{LH5F-BUT?T==`hs&#JA}%#M*%Y(LkFfs-5esSOJ@3>`La7@12~3WaBlEVNee z_hMb7NvS1yzH}hpJ~LK#RY%b^5CA>p@cN|R`1!UA_D^QgC;9Sucq@o8-#nGz>bARz zx6YU8dZf&yw0K+6t^0+~Fwwrs9$YUg6LmNQ;}v(KcVOtysGJABR6Gl00n7xkds*2BH;B{Vm!Ocp)0uAbEs)1D z0>|b?H}iNJ)|qf^;Fv=-r>+AH9&NFb=jt+S-BCc^bkU=aReHN4I1HBQAonpS8WjzXX%U`2F{)DImb;$7c9~~@ z3tYsy_62vV$vN#($lE#;q`Uxa`vF=XDPRDD-49cM>ZbIrc*BRXdIfWUDj3QfXH@w- zCXMG7Q%8X=cgkR+Gl9dX;Wox>FUU^a&}OG8*v0Ln?TpIclwp9aif17DtBmT7#J%eUe(Ev*|46WzdTnu_ZMH-K9V*bopl|P zDo*)!nK~wmV;!U@wCgsD7%NJ+^y@0Ha zYop53;1j?8sakNjs5fCJK%qj*M4>$;vAdQdhjV^}rPA-B%3Io6N5Cn!NTigPVQ=_< zN^^kZ(eq<|60;A)YO6MM#1ZGHxTsfrYZY2$ZlE(SG0Gu6Z07WB&(lv22C;%@be`8y zp2tPoq798tijDW`VCjkBD-mK3+3F|*m(ABNfklN;%l7Sc?@ptRZd;&^1e{2bAeRR^ z8GSr%kvT(*Hv~2_+7JRV(g$+GkI)Z=LhDy}eX9m;~)LyJe*^b|5*gc8Xs5FF-pbSwhtm5K;-|<@^fm(`iBjc~ec+ z)}-a(`vVe<>Qym-0|)!Ql+V6(QL(&xJ#mEd8_-ornYZ5k+D4VNjemQuzrf-t*#I?9 zp=Sx||3}ST3$Q3h8jNtzwS+@zvhvcXZ!!Xv((340(l&G{uqd#7VErd%MP&Gr0AI{9 zG{Z(6Pr$eI)35I?iy)LbC{v*^Yh0m)d1q*Ox`3qJmY+(q&WI% zQ@6L1V|*Y93>8+YX8)ien}(Zza41*~1pxlF@ZF*Tp(nMp%w8;k4?D2Z$}zr3+>Hei z3&m<8Q`j`MZ?OCjcn|UmE423b$^XcNRoZgvf=F>l$AQEO$lc-j39@3=0zgOke(#QUB^hv$S+(rB9t8pH#qA4{4Z?6Fh> z_Iy0-%J@vW^M^Rix{4-78Bq1ztbTx)_puJ&AyL$bef0W8B_;PPDt%fJu zgrlOuG(T(&_8DJnq`wn=zA=}yBK1g%twMKU7sr6^4FOKsD*3Vex7u{J&>=Fm1Nt&_-=x(_#e5T%Ku zns%-E_nn(|^tT6aR)+?AgMNsn060?0a9>FQqhm(ev~8=r&-c;aykOj;&RF&9fskNg zwKEhPHM|xncGyS!oo-1RMMnHu-8|y?X1zc^kj(?KDq5r~d)~e|PQAPiJX&JeA78CZ zSdRuQm&E7lf$2*U|0Es?WMeQ{vHOm@X&;r_Z22x-orvPm_uFmRis6e3U0d=)uT0cJ2O33)tzcC z#NoV!ou7~dRiAT@?*<$kZcnb<=yGTAap`~7Qc<~Z?V*~`io*|uP_mPdf2t;_P`nsIu*-(H1z z=drwX^cw(VneiD@A@>LO#x14Mar8*k=i-n@5L*qdkEpo$)+uvUP>qM2ERly>ZD{=J zeUKe!5y-%L0PC0x5`VPhl^RCRGR!q>Tf%|RwUca1_zdpf%8F{U_p6xGs7XfDY}cwI znfJZ$)>ygT>jaXNgD`0guzHi@d{eVh#Q-@KL>CMgnVZdwQdd+FPHB(s%{nH%F1Gnl zI+tQB-nTuw87UB>Cj%67?J~gBW??3^vmM#H53DD+K#SxwU492gg9_3>#JFpF+YqNU z!eJK1dvd$VeE^=e*xFqoxlebmjCjNu9MP*BL2A;2De~W|72rvb8 z*+~Bwm1)%ikW(L#2r7ju<;~O(lzQo$HJL7l>4!EnTrM+fd?8CQfcRz(5%@R_^`3#}Zk2*s0e0O$Zha@^>d7e)$X zcY!+dR7IZ?dPY{|w~0EJ(Kuoe4pVF383DtXcJzS!s}Ll1$!Imi>2ig0i*(+1u+_?H zkl{L&{g87&FYl>O8Dl5pZmke=$^46Eimp|8)Lr&CF=euW+H1#?2Clzg^vazh5|Z`1 z4X=*O$I(_j)FVmA9CU+M)`^s<^2%DBhP)skxo%5Y5!`Z|J?qbL2rsJt(;sQXwLBn- z+M&_7-OzWFkdRw7n?^`eJa#6)zns@Dh286$y=mcz!$*p&a@7g)o+f6k~ zOzX|vFJO1}%+V?IdQv7RyueoFAVw4zpcOAZ9ja1%Tx8>#xaT3~?*HnCYobPs4vdxN z5L|m2`tOE0PAi72DuBFbx6;Zg)%m~_n656u;! zG)3@CY3qyp_n_Um!^A9n1GM9(Gq5`n9BJ)4r7!|iw!~_{7r#~|G*H%cNz7xs&89wb zHfUNy*Cs?+wk*9P?zIP)Gjxk^U1l@aelP=xrXNnz_Z<4*Lshm`1SogG=`!c6+9BcQ zxSZs`?tLNQ2r3b)=X(l6iyHBpJB*-%I0K&2@Iwb-29<-lOv; zncW>zdcH%4^-7=^+%l-fdW-l7vvVPWU@dWZyfqP|EvJu?yumhOi7BM4J4WV_G4{J1 znP?p@Pn?sPKA2FX#d`z!F6cV2BW(gV1QgNx*^v0_Py2ZC<71_qrJOq;The+*3kI~! zc%Pt!;oaAW5iphdo4$NB9L7U~6-$;yS94h((-vOKT~K2ZdCq~ANsD-U-lBbu_gs^Q zyAD@%-Oz97PTsR`0-j@&A>9!P?5r39T%Aw4>(I2SmD%e8^K=5EH(NB5_YwMz?iK=3 z0k=<%;6WY&;|+3Tnmy$3ir%oOHGE~y? z`%qmkTZ#f0ZNCnsD~jrcM-xM9LeT&t8HQg@F>dVdH7;r#+BWaMF)6|P7N5MBzSNn< z#9R=Wy1+a?<_V-WEOwTQyE;b3o<7&Tekq@E{(S|(#`*BNiWC&ZvUzeGra#~(W<$1Y zI|A^`koLtu2T-#eimZ$k*fUi<_YSc1Yl02mhx#)hllQZl-Wb90I;w2LcuAy&ii$9G zf^G>Ud61)Y=VhqGF)RVlJLPJ`9#FKYnv;{d;LZWRku_e#x~teqb3C6 z&jrp{jK~@gBSC`LHroUOYjR;|hUA9zCS#h{c^^v1CTBZ(g?K4}0L~)Z|WaF{yXa`Suei z^>z4^tG9SW0v}czumGk=3J^9O-Yf0QxrBLOT-c>=qq?G?$Vq*Gl@+41GKAUXGj{P<0$=jz)Ht1wg zFfa^KU5IGX_^YFlwNJEyY%}3<2c@AE0wvZVLLp@-gvqANgCwoj`eFm6`hjaPzaG8k zy@&<>MM*8X*5s=;v|t7oK`g8?mR1W9Z8ga!pA z&Xe8RtxjQp4HCIZEnkiAq)I$!c1XbLc)>m>U#92j5!ne zCwX3d=e5RSiLRPfrb>ly*;NpBris)>TV>$g6Phb`@7M4fFSK_Xgagq@y;nVnHAIyD_5jr2OgECxt#<~Czf6!sQbt(@ z)x@P1DX#)eaE@g-ja=}apoW7{feFo#zZ|2@)-7YVi+GP#ByD#BcMY7!N{si|g|dGC zxSTdXBzmR_xXXO_nv+8lw@sjSq`>d!pPJvIejeKTiS48_;>SgdrFT8B28KAmyT^av z2*Oz8HPlS6knQyWrFk!&sVkv9h?JzP6|tEoUQ9VxLVb|hgVe14ayXn%;%Ahz# ze4p}{EIIV(D(5>EInE&*pGH}Z1xE}>!qyawGQTo|iO{iiHQUAh^(z7;ax^1ZIeu0F zX{F~d-|NorvRE8^buGQHOGqKAhf_AxjJa5w#V1FOj*(jKCxM;RR{VC=oiy+8u}RYy zI}j(E?su>C!q{G1qR}}t&M=Ayw*TZE-{}GQUxztNOxxeAq`=>?F%}B)6y5PRuwZ!pPJTsq#>6G;!p*UHw6!3w%#%x-`pPX!b?;k-!hExt!_&N0Rx{V0tMpwzV7T zY5vUV>%e;D{9s2Feg zWw!G~wVEjxcbex*nAimRS82C^a^t2&j95k!^*icm3GKb}i0L6}xP6 z2fj4!VayP#&P>wAg@FZF)+xC-bVUqAQ%VBA9X}6c;$B?jp-buKc4nlbV0Ev5baUef zwjXz32Eg)fox|QD9^SU0wbzZLr{W&|y2GvG(DOse$YqN2G33*vwLABBvIc5p_Hi~t zA>m7KB_@EHYOw$G-Pm$?7xj`}3g7Fj;$ANsHch+ap;moPq#@c+uB|jM^o&k0kgr66 z@c~R?dMFxu5hyIaY1{kvy{VnmiTjvIeUT^7X$T-0=!izRwXs@d_qO#24*)9Iy|MZC zDhgKZ+tqx8yF{sL&R;vYm_HlU8FL}hLidAVBCmw>gJ zb3coF6FpIOKxlUb%|zjZnWwY_HGNlWF!$22>X+YMaQDPe;5*( z-c9h!{TvzE_&MIUuaPWiB=<^|CfhICN}mXz%(cu=PgIjDBk+5i5KPANU0PVZZ0f{MmSCnShK>fkwb3rw#<8JJe0gENBsd zN5;7XTQiMF5Po$ip=IP^O+$2n8A85Q;|h;b+}7Nres%$vPidUxOWV?j$|tNHsWOb{ z@AzT*&9+Ir0Tmese*We)%MBQqo6RqLLwE+J%z2v>GUAst>!*9O zHbb?z2LllNCfDyjQhotz;NGDT)j7(1BoOvmhsODBe&U?DRcgDJmG{ zE98@1`W{quwNZ2MDD9k3HZ5m5_S$Dr(~f}!*iS1N9Ou#SyAd(0nBS`os61gA_6A@r zNp%+G$*_sKF+a3WE!8&QKjw)=rd1Jx$;d6x!I*Q2WYIg$8IQA+rHAUDZIuwlzQ<$_PL%4i0{Q6 zL5zYQ1)r@2-Dhw|Y*Z`=+w4$@2u=MS`$0M2goV_f1-0$EDgAERuO$q(Oa6GJ%JKAd zW$)^`kbr;)NIfgobLjW|2iJ2QLR}UCp;Or1CIY>UO4J|4{&~q|j*)v{Kz>1dBvYXN zDNtcM`Z3}4;*QuPryHd?W-DP?;Zul0JapDPb(}6N=OWo zsTeoj_rNFbC?XWh{dU^PC{$ILpfowv)7qer(qVhQdii;k*QS>x`fFj^w@Z*cvh`4* zd@_Eu10}^VBecUean{2>zFjkoIC}d-^&P)?e zrkt$HjC@ugMxb^jUV72PG!E`^F)g0x)}8w}6fVh3++2z&aN|<*N#bA7w+zy#aYt_Z zD3Ar8jeWzJ22R$b;0qomU5X^=2$goC3)S@oKpCt_62%^;8g)b^Wg788Ig!a%8reSX z?bckWEcE&9a44Ike|enOyv;A=(Pmx(kxz7}LY54gub0&FOm3H)dxnL9f_#tNef&BX(Z?yySH`*WCkS=Kk26@xm79L-KYrS{G zpikGW?t{m6VXR#@v_R9Jw>gV&Rx!o>N-i#8Cl!B28V+~`l7*^#LNiKetmXqUvlgvB zQdD=RfT&nsLD+4MN0t5ql!JIQ9e#_CSdbMBcRi#s#k$_Kc~ zJk30qB4^ecI=hf3BHEYzwe(DM6O>t3v)S?=7da1xu40UfJyqi}Qw0XEC%h{;<``L; zfZ-dV=MYcMld2b#UG;Z^*lK9_(T$C-4eQ7t%~*GaL1g_WVTrc45LMNtJY#SxaICJ~Q*kFS_Z) z4&@=e+=w_C6+JFkbL=dDwjGN46;#p}TuVTA63$=8Jdu?^IBQ1%vsp6wFOy0OA&4!; zA?~YjP=jsM`TA_Q^6DL&7*!*-CEIJFjoZV>yAX41Te!4t+w7nfePbXv4YD{@J2imX z)h1gVDgUs`E+KL2Vi2b?R2NuA3iKozQ(pzC|HO)Wldg9UQ3ch^2s*rZBTx#k$JyV0 z;%br?#9}h#`Vj=?0vi8Yj08NNf?sRpOqR7+u7LY`4#fJ})8JlARhodj5Nz+9l}Idf z3Vxb<98E?RkL9FVA3E?xOkJ9@+V=bC{{)1vG5=3O#QzHjkyH~?71sC%gs93fGyR{5 z5Du3APJ}SCu>SuLA@u)<3RO3AdkrGae_Q_-BSf50f>DxDno*8Xo>77EKUENI#{b0w zF=aG${15iSobf-24@*WXMk_BTD{}`%Yeri}J4Sm(2S!ImCq`#R7e-e`H%50x0HX(^ zC!-gmH}$`Vb#!o(u(mTNVqyMos>c5YZLs`L%lIF(2J=5!gZY2R8Z1PdEUX;=$!@R` z{ae2OIE;wv-~Ru`Y!Lmsh_#)YxeL*M#aGvA<)ZKi9I_%YSYfxt$UT(f)US_E zzknXg`OV$TPK%Sio6JjYM9Anig8mrzEu6v#3FG%dq6jc01yMzPLqZr}5u#usC^4Xc z!NT|v9^#)!ATBs$2P`ri@_WXZ99)op$%o0|22CY+HkgWw8?aCqkU|m^C1q$RFe;#+ zh`-=s-O@nE#spHh1rSgbQ4+*VKnUC|(e1cPa|AxC=k@(U3|yQ@Gz<(=ue|tFM=?&K zL&j7E5OB8fPJI_p;oQK_3r=Jpm*4p)dau`wTA0vG8_Ub6V6J0<3l0F49bX|uvNeK= z=mDY~J|vC-!C`I9R;Ln3c1DT}C4e18^ zr}Xq&K&B)RuCHQ*jF|%sPm?9Ph<|Hx-opR*jKop3P)@xPZev6?HGYeaj_rcm1&VZa zk*fXqE2iHG^!M!wNvnVf3xLRiGc(rm2SH zFQq%Oia3A?`X~g{=x_rixE}!dV+&lMQ~-|>2d+bUl|VHhxLUshwJms6P46V?4LnPv zDGLQI;_vtKW9i&#$zk=+_!7L^4}r*@vcbukxcia+xNWGR+k!otW&{F$fQ5nq5ickb zLUu+j*bjjH_5%-C{CmCni})|!UO!A#f!(6ey`Yw!{=T6c-;W+*o#5&){Ffu7{L`uq zX`tTUiUB+lxFAD6;lJ}bZ@CYDlLzW){z9UE-Lg`5@p6AlIDLb^2Ou$7mL$LCXH<^@ z#tkCHK>f(kSN{IOA^urtgBXH1zxnDfrqS9+)iP58Xu{4jBA}qW566yBk@O;QY)R4W z{JcJVvBy;-C`h4+;KmC7cmn~y7Y4u|-)^LW9K>lNV$ZBD_=h8Df_yq^f}`QtKgvde z43P+BWaG}@0(I)J0~;F`Fh0pNaX{7Y>mq=KC|O;p!`wv`5-wm|L%gx;I4cujy-Yuc zlOuo)|7|PK#D$jlnnnW(w*SjquYnZvk?w`={+><^2G;#OjRq0S+&}vlkMQQ^1VH|@ zpA8tjX8e3r1rNFt830B#wR-DS3cpw=OP0ZgQ2Z%X48|vckW9as5ed|y+!06GchewKrTq|5RZSV>jz9d2fQZTD3YGb5T=M#?oE{3DF=ALK86 z+098q$>6)kaSX2rQ718;NSn*ce=(!FYSMc4c>7c~b*;oWkGUfhq%VRdh*7mi4Yr&? zluXN0JIq&uqlV8y@b;J{)_0Dpd4B!f(S0b7f07_>cS&{y!t=IO!Dn|0iPvajt$)y% zXsQ-HET&>*&^%uuifIWp!bn@5FmBk()c%pLiBs-@s{rd|tEqjKxz|k7%o^TyyZ?(;%Y5O-i+Vkv4R)M3D0d;f^>U%ND-JCHZ z>~ii))3N5>0Xry;sM6j@`j|krXe+QB0cbGBAj`2ErsF1g@`O1Z#JIEOnZPOY_XfW5 zu|!IHQ$nIDu_oyy2G3I=uI_e;KIv44zoXo?GlQ(zM@LUKREa_2!16Ru&(d`HFc^m+ z_wCU5tV8zlwp_ksZ6a=XNwl^fP9PR*Pfloz3f`!Nf@jy9L*PaQp)-Yp-zdFW&A|Q~ zegOk%m#_w8Q7^#H>unAG*8N+OF4f%N>ZJ8_SI8r)F_V*ODf);g%ea8*82{8(NV!F=%z1V z$XCg7-pbnRAA8ohfnjb;bA24gM+b9Su9x-L*nP}E)w4TdLn(Ia!Z=A3Iao`IZVNL@5e0Hs$v)d2|Q66lD8m$!Gj7r_h{Z z3O!h3E$@_U!?zX;FOSXA z@X#1Wipdq&Ed&4S2KBE87sKXvc~sN1r_1OhfN@dL1Qwj`uWT|d%=MkN&CdBB=FDvE zzY()fm@AvJeG|H$tL&{G2^&hz0(rGe77*(88Pk9Qvkx-@WO{;M!x`}l0D5kxBPmKZ z$1|w*2m*b=9hfbB=bZJ@`OX{EeTIZigy;RFYfkPr4SfCTN>^6!84+awMti?aF-R|V zJC5n8b(AA_A${@VSg;s{>Xgz#n-_iamnh42WRaEKJ)K;b{+7_3F3X|Cr)@C*G8&6> zM-tDUs=0Wh5ht4d7~@M zmREPP-h1N~U}h=#lo6xsS{*%%quLf8TJKwmbIBcnx{2NVl047<{d|;d#O=P>VNx>U z?n_Hglwtz3DB%GvmQ#9|Y2=k_3Vg~f4Rv>qZOofk?750P;QODiyjVB0JX3|*S zZO@T9U!#>_{Ni3H{NXOrquqRQQ4PW}9tIZ7p1jf5@6}<~T^|PDv6JPPe11h+gGt^Y zvTqXyuRL;xLYa`j6c-N@Yw&3XQY|aF{6Q$}_kogo^zk<429I|kO{oPioa^$YNW@3j z&MeFQpJ#aD1r6u-S9Q-IIo|HK1=d}$__Gn~uoD1ok%RqIK?22v<@>X|*$XMj>+RFq zFa}ZGH$s}Ro4ZQ6rKf&;g}xbB5%<}wawg9~R1U3#2=tI+>p_lM3nbTkhW~&?-a!hv|Di%k8oyS9glthO9Vu~27*QS4t773w|iSDHRdS$p&paVR(Qzc zjWqhmzqq*DXo8#GyJA-kL)#rnZO*(|vRG*Q%ufjaNR#7okCk*|E~8k(Y!iU>Hd*z$%7TqW(U*XEWuox2`@ZmjV`VjC@e3z%fj1Hp`@zU**j z|B{9wgr~Q4J=GO4(@0b&R=qHS!k~DSxOGJ&{B#;s{fwZje^b5h?-qz&=1jzaI^)UH zmxTS5dGIDs*xl;K{9hsX4_Q*KuW+kXEx5bWmBh>&5^P_2*+~-DlQA zT9I*R$i+!HRdqK>05=JbPU^x6nj7IQ{}VU7^6E9d1!EjUlhRTd#xZ^*WQv#&j5y^v zH^9|}E;Z)dJJh?u@z+Q*ge6OQr@P~uc0o`Cct!^aHQq}Wo6z+%DpG*jZ5lMA1xhmSp-kuB@JK0;3x-@FW zHCOHm2u51Z7+YQm?mvk73Qsf8K!Jx`S z{aW%}KB3qHubCT&1l?;Tb-yp$pVuRM^wh1$7R(TBT$$>s36(_m-0TQ?J+>Sl2r67%`5+sgoP4>&qbj(p-C(Xx;h}O|yV#FA^aw4I&~`bL%^2Qe zXddq6KO!01(WNgofWl%{^y2$S`MoKMr(CZ>#H|jcsB6<`A;@fn^ExC-1}@ChC2yU~ zEGd!D$1a);^?z%xjTcszcbJrtZFFzeXMP2Jtc3v`10Bczu|GHIk{VAH{w$t)A*^`4 z7_r3m>_#(KOpBYkAk_NZ>8O>4(Nxl{B+HdzE6CuMI6m(oj#oiq_9wK$_eSc#f6S2R$z)87D(0|M16YY}?OC#JtR zZKg9>@<4w9JKLbD*FV@iIX!6mcXU;R1Mbbt9wB0j|H7G^HZ`lqT{F8{_JcjXw4QZm z8@lB$Of;}>cS9f5=HJJsrB@IDjwEmD7VC@sC` zp8VTQh2%1sW(m!Yh5HYFTEBQd?TSgXgf5})7uPcq{gZA?-&Mq&HEP1h>v}9xM0Fz< zmg-E~FDswkyk$eXP(b@E-soF< z%NY;H{JQ&}_+LKhnF&AiN3;SILXv^d7+yxnqZBNZw0bWj+~uw%@?&H|`fY#r*%vn;ZojK?`L z;1o_4aeYFqrMx7`8R{bR>&;U$F7>8pWXPzE#sC3g0TE=Ltnb7*8DIr+SKAfK#a;t} zIooQQS#Kpj-Z$NnjDw$Py&>yTV;EDN^UK1~V`HRwzr*{ZD1^)p^;puxp3($;+R?o9 zoO1**gNX?|#>ebMg52z?w1-t@%jl}cV(7PEVYw1kStZb-^_v8205a;W0?h0+y{Y^A z8(}X`PNcnUI&nLe+ofOCSR$Phy3~7rB5{wv5=*W#B{#>U5WqWONuwR%#5v>;{R*HS zIaVE6KRu{ECL^(MU3JYMcoa-7EM<}QAIHSPZ7d&OQV8#BSMe(xie+*1l&j{HHxMuG z^e9t?J~bUqCH>^Mxdn^N9C?QOj7=iT&SoN?J_UVT>X2;!EKpd7RVd$VX$)q6I3@%#PGS%5`M@M?Axq@lxx zomaU6B1HCY<@^K{mUy?7I(6Ip^K{~OyxMD8DAwUB zm<7xRYsU*y3`c59dx1$gPK*;bOS@1@V@_eoFJ%Z0cKn+ZvvmFSPHV&J*c>}j!) zqM6=)F`da|RN)3)%WHVks=tRg&F$4!6~s1)iGBc>lJ2B@Y%piQd~razsSY_X>oT_S zHL0E^)AunzkUA*kLvM2DGETMhx-g3Ga3I5 zKq{U$Th*lEnnq{jWYsOSHVOHmRgmc{&`XVZ=^H-SQ9sJd1>82n_Osw-AoXG5q8sLY zO%-)W%WzZTxt-h((AE?R*=Fy|?$$b6pr7@e*|RqsYdFiQBh^^_BBbKxbJxqXLzl$J z|IBvGyoK%th?_mSEV$D#cS?D69O1Rz?93f+-%B))ULtWT1R&9Q#bC}+4HLoL?ZSWa{!;@dOOx?5mN^ah*UOvE8h#ad85N}1u*AxHa>gl`r! zA={Tl^llqI0$FqCI+1qtERmVT)OfxMvtF_ymcCnd8{Dg}BBg7xb4TTchAO{n^E~Mp zoEU`lw!n&Wn#Ui?L;mG@FHMw9mGZ4^G<1J!nw{Vcp3CNWtN(aat?n;9@IJeIhHKIs z96)3;Zc7Cd2+>Bp3~|n}4K!S^Q7hzoD zUIg>x{#yi|gG)I#6_z=o!Cn!kNVPAy28dNSf`rRpoz>hY?1u7>j6!Q#$gwy7b=+9; z;KA{55dj=08%EPvV)o169(b(K=?xt~oyM5d99)<9Tj^Lt396d{pO%2wAioZpqBQU5 zL-bTiHOi=zx^A2HgHrA!J#6()Hw~l2o$U5%a}n3O&{ajCxF+wH^tsnKFS&C`vluPO zqb6vaKti}&fF2!G_Pc(#X>{zS<+b++Pob86SZq2>Qd`rgYt~NdT#@ge?T@h)J#n#y z0*>pP&^v^%49?!3@tCf(yXerN<4yuZW)C6eOrm?J4sK z8N8IA>}(yED3uX3+E2pw$0PA4#b2f4daLqO2Fa@xhEB2fqpl>PkdY(>K$*(VWo9=Ry^M9nw!B;k7uE!ilfJ^672aZ1{uI5(^Zzqa}knq`-;qN2SpmHzNHlo z|CWVts*edn^3~LMkzJ$*vI!^HI1J!8ru@!Xl>*vYZ%*H??E`ZNm_UY)zSZ6C(SMd> z@)G`$R*TEQ&9lTa=68-fW_09~Y36VMoJwc&=Lp!v_478X1n{KD!*Y5sBE6S=?qof0 z3i_#LQ79{}0F-n79&H~P_ep;b0Qcd(*2goC*+wW~{&RmJH%m)I%}BCB3pVb+xXrNa zC*W|bN79o|DP^exP8^l@E6gL2nX{~zkH*ELfme9*r|fO}c3e&Qi=`5RvPIp^V4M=c zbr8m4wGRB7W6c(WjEHmUJ9#5EpPRD-sJZ@aZPQjkOvhGWGfMUSGs-@HZ|4{VoiK)w zvB(tJXXsMH141R`QWhMcZ=+g>^iqG(E{8Z&(mv8x_Iaf1DW$X_H%w~H)1NmxPEMx_E)))+Bu>f~8-ugxR$3}7Hs$3H9Ln)ZH1}=w zcvi%1Ec)1og1i%yy-6R$10>`fNtP03pAAN;EQ%L41`jIIy}aSh`AIR1&Wa^L0DkDFi>dhC$n1EP*!JH- zg(wR0`5l7^zAet#E>S-zq6w~@w;XzO-mJh;bMLs!0)a6<6 z74^5Xi>Ji#CiJ|V`FO|0Jyp$j^zOi651t(T1{=@Kfj1sqO$u(XM{%p=RZ?mnW|;F6 zT6s#`yr#@yro}PP%}F*mz$+$HGP+i@xL~>iN6tBFJy%v=U+ijrqC(VAmPDoe8|3b* zJ5Hc0N&_{epQzbeBfxM)WI!wd$Ld1SO^hzv+ki6S`gC!uKuW}O?3+M4SJp99o9`k_ zFOngM2o^rh&14NjS*Aq|RwW9rmxb3Y-#DQtaHl=fLK@uK&#_0cj>NKDCFT(x??+$S zT+5;eSAWcDdMn2zIMX(^DO)x%2je$+ct1p4A+&FY(*(s(QO53@b&1$)L0TFyY#a)_ zjQ1^2YUB@SQ1+Pf|;c}@Im`oW}i@fdr*liD4`FGrp;WU$K z&M~e#K*t(){E0ch5npC=(}eXcno6J zw^f#`ZANIlIL5#CWTH@`kf`db4=x=N{~<$A0Z zNSp8(Sj@(L;^G0PmqEYT(T5Zoxy7A;Zda?+M}7p_n2BG{`26Z4l-9 zMA4E15~j^V;{6QqvHVxhgQZT#IEqcEIzY##3e8Vk8Nw&jE5tfOCj@nj$(QaJ3C7gU zZJdj-YcGr~dKXHZwI(gA&uMoOk(Nt<1kiKGcSw`CxB)6&L%!*}8r*#7qi6c!G<3|f zOzNZx`w&!kh9N)Q}pC;C_M(5xzepS%xzjXy)q%)MUu2`%5mT) zwG3J3Op$$)g3idI4OGQn?{nj)qA%qWBRtK{V*uMs#mxy2ray3+^hSFz6S zxP~Guqb`=eXD1?A3?nehrKeT5c`PDZTvaIM8c@oRuA_E5dh?d)*lVU82nL|=_=n3c zaTj|GUXttYzqDp5{>Z|D+>PgTP9T*WRbg>_j*nlK-kzeJC2gzcNorfv6s!GjH`L;909qf&p2-uOTxL7OcObmz#@1bd%xbs zs)F#>zz$Z34Y%$zw{)I@u$1~=ozH@Uu+$oiBT>)oW7qBkKrKK*HkiW88-8`helD6| zs(3N}Y2Iy7k@`b4vWYZK=k*%Z^YZnR`bK84ABu z6Dv^pIh?g|7G6Sl{ing-+#?ZYysO5$RdQh{(lOJ;3{gL7)9L~eOMRgc=c4n`?2|L6 zD-L-SyJ+45xe$`bZoxrd3%;*VNo#6!ME2FU>X>{pqa)R z^x`uMmQ1Jv4dA68IoI18aG!KKsm-mF4!w#|&J*QB z&6gJ`&*!sJ1t$9^2TQt@zQp{R_LzD9w)WZn-JIib)m_{D>;rgTf7U{T4Qe5XtHR%e zC;$s1_IU9SLhFhuzdh=2C?PoT;K z!HNK}>NE7OD244~gu026yor+b7xV{$BKyKbx*`Uq^6$=b^@m{0g9#HtYNNYz;Lt}b z3nE2PJFfld4@d>w!NkNo{6a?*eXlu7s;$j`ahHwErDPlt96&FoMJqS618l(dhh*rUYC5D5#`xG(j;9+j8&kY2n z)FFWivA%Z0>K^?&h>^RX$|e+Iy#*HXVl|P?C=uOULi*yNHgn%q{5=J2l#Z_^o=e-O znc6reziU(Y(9F!glR~pgadUy;&aR-9lwN{_G913^xdh|=nV`T>K%qg9+<^9s&qtpd z{d;P057LspOR20tlz#^LI}yTu>3LC-+b0~GJ}Aq55e{CYL>(99si{ziU4zn6^o$;naKjKOOJ zlD}QY$NGJM{0NYJ{Urpkz`~=VKnn);1b2EDKK>pje48#oh;v(B5Y76%DvFq&M|Y?pmDznd3MsNY zUMEH}X}1Apc2SWqfcppt4D@x7qzyp^2K)sCtfViA_Za0Zrby&Aktxn2woQ+H^#q5-a7pRroJnz&QAjzN&Kimn~Qswdyfb~ZUa{LHLO%>)XV57|o;7N1J?R9bcFE((d<{b!Ii|a+&&7JegP?jEVxm zA5X94#d%1mkLpA^GN8!Sn@icnQTASc)C~d)n?shmVxh>zXm)gGmWjxi*oGSZNi|{p zg-*Oq-KJHqeAA6yZ$;As-3B5?IRr<|I_kcbwJi6bfeLXXb^wX$vC7__YMKQJeNj9{(Heq)g(f*0v?K0 zoog5Mb)KvrP|wiR^@XTWsQnVa&aErKy;iQrVQjZ$)xg#x)orPf+a*%Fg%u`8PXYXM z@21Cm&`S>N%%Y#_G}}tPOun6uhMbl3M1eGzgPjKi_UspC} zlprU~^!mW~kHpb$R1Ce`JlAhmiJ_|6thrg)J4A@Y~@ zfJ?pzIutai!fM}8zck_9E3M4cX>rS*xEGB&qc7yUl5dI{^FDeGXsxd!u8lXAUWtK` zMX6Lx%yA#YeJ~>%@6pP$H+KEaR;`ZQqp*D>A%0A5Q)ahtXrseFg!S#r@8YdSsehY2 z-C=!EH=R5U|BU{vcdXY_R-1BcfT|OZYTktIi};N^Z}k4MXUe>5g7b*k)R9m&&K-;Y z+xpj0ZN@ep`<*e4a1M`PoTK5ip2D+>t;ZH8=dL<$?(->91Gy%LHz!66_DKtA=48Lo z6#5+j$=J1=Ni?ACtidw(qh;7tJv(1P$45H~$(VRDvIK0y6?gvZD7{0%nxXdVsyk_U zG0rYFB`&t7l~=gEVY}_vZ`V>e7^Oy4imhAzQa{%LM>#THZlBu?mnrLDv--5ow-S>W zKhL1kRJf=9RO|-%a}EXZXXW!s`6=5BP6GiCOK4vR5`OxhFAwGUWmJV*jzkMF7Ylkr zM%;pIRT-<5tX6$TjP(#ns8g=aMPhL$kf0EU$aO{s3xoWyTLEFqF8)cX`WoEn-{EuI z#i);O9us)I9`(R5o0o7od`3dbMUzG+lp$d{jV6*M9ndGEIOQRoQ90r9%iM?SDsmH4 zCV;&vlv}S&=yCzasa5E-KdG`6;j-E#)QWD(YrOS!jMrTNdt1#!l6)0j@ucYvIXa)B za!mOo!GNzavqj$HfCxjJ=ea0eW(O>mOA*Xjx|+A0-O*>vFOEi-!XdoqDc<;Ji&V>N zNTRo{EA`Bvxm$&&vRogpBrhWs3De|4!!nNEYZs`-t~@vjS2EVsr0vALhz!~d_2tCV zvQ-}ysnEq?N0qjmAbokwb; zje+JsIqay|vDFV7h$a)?wcAB7NyEqHPu>ENFJ?toDciEzQ3q~zY#gFXsx_2y7fB&m z9IS1u_d~703XbP=ixma3d5v;w$G!^9W+G13IuWDpXtMF(05m7NXDgds3C*I6bX5>xz;EVjwP*YQm)F|50FT3BkqNpXf?7>5K z9%7I0fjJga+z;%OJjFZGq?tBqvcJbBc5*)EHH8J=VM+n{b>9Ukq3|m> z^EzC=_q#834!+i;wnUHWO#v{;9q$SCHa{qjFhvm{Q~n|Xz|h`l{DICGFPmFOQ4{H} zux!Es^ws$vfLvu^$b?jckyK~d#rIYzW%Yu_JP}O`2m-#t5;?*#Svf6FL%wLMQKJ%F9W9=~AM_(N)sD$$YSlWu z6;6N5udcy`%w(fZ8Ul;VVgKf~=NtDgM*Q22H)-`f>5_0g1>`x%Uef!F-{&%EQH^ZE zlrAow>C9ve0@M2O- zM8jZa=H;N#AnM#&FjOk-W*kr5|v%S|$n zpx{-SX(LOlUXkVY<{dM1FP+9Id+!(xtLKiMpYq#Xd!hAiFhG%_I3YvQ91W1IJ?j`< z-5oO$4q58vOD4f9M@M#lA`{Q@0p)REbxEx2PA6_$#&L6_IH~_|RoUN{8LG_->cN>> zYOY88N+8mt&~leCjN(c)<(&&f`p|TZYxe{p@RQl;a1o%X0V|W+%2L{S>(Z(6hm*j` zjg9{eI`EHb{{gwsCFNShqwi7986r4OQavizr4zhSAK!FMF-y+qPdq90-`3Y#j287= z)clr>l=GA8ebS6S{Jz+z6&>;lZay`BrTI!2g}ALIHv=x1Q_PzMv@#@$mCh(-d>J(5 zpA3!oW5G#zHR5i=r;0irb{k^tIc~Xr7Kc=n8%eGBuf`kFZkq5UcF+b8!cVjhw(&yQ zzX!_oP?YN&jLwuEael-PO}UAlMgf{F>_odna*cZl8O|?C(I0<8G7e-s+3UM*?;Kz# zkzW0BawoZ$auOsV&MYF1(?Ix9`T(7_#Bn;b@Dkw=)k2SpedtMyOlRg$Gu*p5Prj5N zfF!a8n^w;}usWRM-LC8!X{4xx)#0+*D*yQ8GJ#REpR!>l!8 zriDSp2age;I3Ia~y6$O$tVi#5{_YF2Z$8L9lT#^cu5He>q!N#5alHHj;HQKCQVx+{ z*C6V3eY&x-mB8ip6BZcc&7>_JNx6e>*hQ#VNb@fW2)65<-7&7DVG+2-qNwY&%X}8) z&)Ti&O@tJfse$%wh&zFw#8V>My0oEgeq8a)@bC=M9Yz{=KT0QNPT*TN93!vr2>xhr z#}r^c;7umR5i)ZWjo8+HV-{p<3$A16=vVr>grDdBB;_pS~->W7mZ0v`_Im9JShV8Rxw=NY*n8V zb@1X&a;&lvE&AIf-;ATBqL6En#3Y7ByfC7wtW)ZIOP=#{;(d=}LIn&#UZDFKW3m0y zF);6;ii$_bP~W~b)Za6Yvz2!6Pk(Adp0;fhAlF?o0@g9DMD=9<5Y5qLFs<#I#9>;e zcH>!!l&OD4Yz7bJs1KiUwu#fEjOKl=Qe=(78fWjNL=Y!7L`Vqs+F=Gf)aX(zQ zH91_26>1x5FFN|P3GuOAck$uiH<4?G&gMDj`Rd#2yY3NWb$^zhz&IFCrp;!P${=Se_faL7=--}1 z2zz^dfY?FX(bZxhYCt9D_B&^lfQKK?l|HTbR;z>jD9|nx7D6XG{ZL^;L^HhEC((tb!CKaHf6r(ss7B} zk9d2JlXAcYq@pSF4NekCe8QCmFb0|exPW+?CFA(uhR2M9$n(UTxHOWQw1!a*{A#gn z?&|gXY%x1wVU2yXekarAgR@9D1_QB*CVx_W_ zhyZFKaW;?O5@qy&qEwcl)giE-u^X?`-pG30bpSA#r&CXoC11 zEbr*~$1&*{zzMDEwHN5^j(+WYn5|_2r)TDMKI-T@sNTF5Yt=KHz?)nUM97_-!seE` zPQp)<^biQ3ml|>V-Y6T@NdBaWN5_=V17F7dzKt9D1O~3&{e}N2{S1wkH;YSOrPnD-{SLI|Z z^xy5I(#L0=&iY0s>L;lbmwe#g3>w)*AGSy;cL)9n&X=fbkw!g7lO5#9y1Lh~rcHaq zc3@Q)v9P!#uUhzUxZ4hLm^1e;@$3_}Wa%dyN7Z+IF-jNvMl7*NZm=EY7*9Lv`NX^84xV4e=+oKmwTCgBPCX!l`mOI)S1qAx5wQ+_RYQa70V)L zHwL~x#$ifi&#ht+Wou-4?FqG4qmOjGzpfy1C$6ACzbgc5%$}C*W_^w}pxbj-rkc@Q z!Y!l_y7xf*a>R-iD&{DqKRGSj8Cz}g@Ri2$@i{Vk$m9${Qk>?LXV9dGV(wOP*(BvP zK4NnHT(R5ZjAJsQD5hr{060vmP^9u#4G8PuERMmJIymhd*6d`6rA|n=^pM9smT(<= z!0Ajik0bxW$7;D7m%pC$v@3f`l+;ChY{?-TPdI-qQs!CEQ{0GxI8ANP@|2iX7@1UP z6@>~_6s7j1#zcZ9dgS&@V65gzbVep()r0Xfk#ThO;Mshqv(Q}wRbbk`&y=E+ryb0%`0BufF zI)R0j>;Rwan&`A5e_yMvPQlm?bwNKdxJi5Z%FeRyam^mdTM`hZlXq!Y_5PIM5ogyW z)F@eOBx|7zWk;w+C3EM|8x@^gs_zC?s|_I#G}DGE7+AcyVC z5JnLfuxu8yHFow=JwWKZKW=kYk!aOMaexi77M&|*7xy#p5@O@v4SK2<-jBsUJHUbk&3<^*-1mGp5Au4CNj?qW3_XhDTGN^OJHNHL}e#RXyq621 z=#G?KZ1VnwFB%n2`BM8eD|yp~L!(A9m!}3YU!{UQnA^*0oSfvOmcVVb$ug{QQP%yU zv0#~p#_I7ASi&K+wf6N3I1`G8@iB4bmbRyL))=Zx;?P?z} zdB)!P2c?TPxI8VdCC>gaSqk9m}I+@en0nG+kO<%?v`n(?S^LvG1=gd6INYL zYA3v2uWpOa>vq#XTi51!f?}k&z(KF6re#x|;b^>+bP=;fER@=IJ~=2VPCv~?=P`L| znZ!l+G;~kti3l%`6$L7_&N{fpzcrEKcQk<`!c?Or<=gPI>a(hr<%4&wXEtZRqer35 z_cDZ-eSSz7UuzSuKG5JBXy~M}o&F|Q2$Q$RGuY|OVCPV>{u;}m%JaNlt6$iexabUQ zN{&)P&Ln~XLc2S^YzrNQk1X@_Q+$w}=yh!La>r}59Un>TW?DgtpXR(qmq{^9M1FQ- zyeJ2?f$XKbkYb3%hE&Tbm3%UM?pMCnY=E=AWhV;484TCwZ(0_BGq%aPTC^$^ou7~0(+Y$g8- z)LYM{MyJBr-9j-lTncUzp8B_@##ZRLieDVc;PU96_Vb@5gQGp-wVr$NANK^TVat#S zMdv_K%&-}&s;2{SRCE&y)6vGWQ$TAsh;Nbm%~wbxJ5$H|?1exKt{d8Lsl&0t z*+Vkdm-~e)USjtyOzko9Y-tMI3EEar>t^=T^&6bdG}TeKgB`j(_nP%?*kQ#kE+@2E zEr-M*CSAUwDBJZ2^Do9~t5ca?a!dGLHenanEW<;qdoE&>OwmHG`s6@1?px&=-F{h-1T-LAx(se zd)vlKF)cp`JGVBIBj=al_?^a#h7es9^DXD!RXk=xu0w=J(z>&1(gH9(w74yV3Rh}t zF)PYs3clroCcykg%0O1fxxVeSjBFImrlY23vi%F+`@hjladAx<4bgwlOqKtMWwJB>TXLO?i|cQ2 zo$Fs%CKu~}VwwLK|H(3$|1te5%lsSc{`cJaU$pqo+&b$&eqmwgsAB3&M8)V}=xAzZ zV`}F7Z(ol8V5I+rXZ{0T{uiFf{x9$S7oPb~g87$cGPD0BtN(WQpLizo|3}2!9a1%E zW1f9p%rk``UJq0)q+}=DZH7W2&Qu;fFyl|gal)&0+Bx}h!2LBcM1#&6#*1HR1`c^{1<34 zAyK_@Anh`MD?)e(UjlK10Lg*j1(F&36mENK6T!z*I^p&c0BP&n1R|D_`qi_&3j~fC z&VvRQ2>92lslrw2lWSp+ly5K7HN+yNKk z0)Zoz4DX~ILb!?gA&7YZ@*4FU2$-jD6*=-_pGkPNuuJd?31}TCD3I8JjC%;w4)Pad zUL|NWYZI_%4blr?-4h`Y;ZE%!FcdV@CoMpKt`|jUw>L=0fN5YD9qc(^0RJ!2!~)AJ zt)Tb66Tbx(bm-IG1Kq5g>no^Rgsc(oFy;CU`n75(_V;P1jRik5j(#(dqDYyeS9~4(@uQTe1C5xR6xQ#ZOlAE-h96ZF({_b=tDK- z@F||G%?jmFf_-f(vW(^iEC;L#@#%bRR0e?Ln~MTp`7d+z&iVlFd z^u_u$J-D&VvKc6HiV_9{e|5OcDhclRz0MXwx{7bpOFB>Zb`qV8y_xHxb7C1jTZ4s& z4FeImxy2&_YXP66Q1vN5@m0DaU2mg6Lc#PQQ#nHcO)&!*#5qvDENKuc`RCEUMb9=! zY<#DS0tFhB@nAs!e_QPnjtE2s@@)d?^H-|kJ3lN!Gsc)c)US>Og1AhoS$)tUJ4%%1N|0x06?i<}GnOCRr$fFYK&N(Q5u0-fu>_@zO~&2RJIS zkm&jC%r5q1#S`6_AN^^Ctf9xq&V~xqT5~@bGtF91^sp(6>r~H-aV=FA{+Jfgi5Zt` zN)7|9T|C}L2EpI0inb8O+>Wr3Nw3Ez39dL>uX18-aN59G?FqNNkILz@23gHyE+3lf zZR@+jzliGLZ?Iup^czN=>3VeCw=-q6h}iQfXEIqr3{I_*E$pOWH+Ci_7lCzhVtCp9 zTs6s;ijhm8AIF|XIMH5~-Mp$hA|c;vLzqT~*y49``hZ7m^zD*S@#-jSM!Z>uY6Q_v z5+W*OYcjm+o|N^N3}U4nioND zS1yIyQmH(6vC||8kEa>mp=`Sx){El|+C?$GV6jqXIq;f|E5iKW^99_4d54@>C`s3_gCO zt4nXzL03J0O??hAQy?zrWAC=2QO^{4q_84FcEe=LydQJrU|h%+1;nC%H&FWTT5Lfn0mryyAq78rqk&vs88~Mjpm(d#8b>-S_XQJX z-BM{v4${ujy(DP*vV|&$YLsEoH4`7COGz%=15BpASWYGp;!&StGnp;no=F6(o1}-v z3fHEqI@uydRsI2WCp8q6##Hy;D?sGac`<~`d147y)O)|}wW*c{WDcZg?P zYVn3yl!cjnMh?VcbHCqC%Y}d>4;rng;b@!hH3o1y6A5Y^U{Z?gN)*>snkjTg8Z0_^ zZ<8d;UBZ7XqA8_)^*6G)QA*X6GK6Sylb5QSy%f^vYkYf3i5-(JM_$L2YqBPVc5>!~ zN|)b@t#Uz($AUEtE!?qtw}UPYa*^RrA1uz;TpDJ=;9$Njrysgx=)r2D4ZGq5o%KxX z>^LPTUK2vgG6(hZh>K9X;kZ2cY8jgrN_IF5bSp)jJ$>l*aXxJY~g2V;)&B(BhEFaWv1WvPm!*om-c*>F<;h(T(V+XA*(I3+e z$RJC!-gVxy%gS%kx3d(}1-LCI<*$8e5(`*^NYZ>l?Q73Vl=148yzWK6@+XC9;BCWC zI3|F*9e*@f+I*cqkcw)DKjLYlN?aW8lhXcx*0A~zM{NiprK{3rGPIrg%@Z~Ja=$@@ zG{<~ob+|Pk3ZQXu2t&5+asF6Yq(!ubE3^OspDUDQ7Q=2p1kbra%=mNuqLy*nynk7> zn{;f7rXJW<_z?i?tCaK^bmy^P*`pk{j z^!jic!4VjX-l?)9WRVy*msSpw;}3*zr=Y2(I;H-h*$Wi2Tbzy3Yuy2ygmV25Za38o zK_-gMpgpNeBD6S=HQlE!2I$KD1_1iunEuM>_!2NL=7PA;tlt4XL@{VM)%=^J|_4&m>KN!9q1zLZw&~n?nC`Op(T`V=wKzG z-ds2REJZ4opHssP9Iy8#Q*542Usd$jvO1&ZcE#iEK^t=#&pz4=eVW@9=;{Dvvwc%F z72`Vwa7fIw5$7OqC zjb_krrtZ=!q&_<6*?bSziqFZgHuL78Ru*kMN)kzut)imLjlk&r_NRnG_Z$Xz}MBKQwfpp4gNcrqn^6!E0awJm%fB0jF#D| zIECpJiQdbTMS9!xnKx56gV3tVH|y{@jC9fkXjn(r%}d3a^vTi(Tws}v;YHr^nIG=n zK0>``c+oF6_u!pI(R8JmIrJ)j&h);1pwG&L+*cLQskZ)V77~-3dWC>i)#xhw$-Rv- z$hnHkRie^|RYN$X@(lt)9mUwfcr|q6s2ANe;hfJfL?5eyCNa6JvA3;Oxf@xlhV+waJi>WjOmS=P$o6IqPM5 zDgCULnLkR>69IwtN(x%2?>|T!q>-X|J5LkqKd<&#a1`#5<(DWrwan4BWW@UoYJK zaM18P`aMW$A}54L!i0Kfz=kH;`i!r!(LVGpH2nYV>wG(UD+*Mf11AH1Cos?N# zCIB7$<-sA3QLcTR_K%ub>q*Irtzt$-KZomf-D&6VTJ57L*i#r!QAHg7zSe9;@Ve4# zv1d(+ZCVpJwVu*DezLKpX04Rcf`=wou0f}5UHf%AI0l4X6-o9GQ%3A@6}etx2AB1A zYM$8~@?n;asws;&uD9rlpFbi%lMl$ICQc-lAfmgb`0C5z4`#Isha1stYLyH zDKlh>>b;p87Xb!88LV(xYy~V)8V^ed@f>{F4jG+LGef@k7Dy|OYqz7`(KEu$L+!u%6f`qhZTYeQ?b|7@2FYb48BGKuoOJBKn^3RHIx`{V?$D(+r{qE1kVVCUUbVji7k@*q)0i-wYp7HtLaZmNV%56YzN)nW4|o;D#nm zJNlDnQ!kDXE{UnOOEafy+aGffO*5UTp7KF@`|Ij`BW1+9QQXJFi1PfB6OM5cR)!8W zt%HxykHp5l?DIDIsEBs=h*-ljp$8g^N{Z-YHFQ{C8uQlT-*E z!v7-d9b-g^x^~+(ciXmY+qP}nwyoW^ZQHhO+wQ*my*KweUk-Bq%pa9hWmP4WtgJDg zF~{Tj%Oa+2)k~#QmU?x$Q{8W+nUcaE`%VePR)Zjt16x&;H|ELYw|e6u7OLqyu|Sc0 zWj3y=@(fVMWeS}H5ZBC=?~X?ZZ2))p(H{Pwu`&6E7AB8!#ya39JVH^&2{gFAMiyGk z{q|3&>lu7_kS!8#+rqq0uLyG3L8Y}(mfZ{dAmPcT;v5A@C)xEU)=;x%r;&hNN0nk_ z4R@?tK7UrSV>Aq<`4ku0WmR2_?~f9mG-SN@I6_Z!3NUt{?YDAT?+ZuIer=gs)3h0D zpb@+G@LpqMyU;!(wDVUDYwLT1fZ&K#*1p0IQ+ZW4YpbJxA-K+w$=hsp-ziBHU{YTA zT%dIEcVjKAm^!(dHg@#t$b|R+wAjt`R*~8$4X{cj@nQ1*5IlTQ zZ>M0G%6}8C?@5_5w_ICNq~u-RSBD;={TUgz&8|p7Tw~=kLmo@)*xN(~yS=xC(r!BV zV)rh_n{qxr0PDoA))E{R8!5kRb<)Lke2~}cOb5r<4aCdGotquv#DhGTOo8m2b3BEO z+stiJzAdS#LD7EOI@GN7o$5JLla){3lDmZ54I{lR&ccl3Rt5bD@UZo;?vErK57hqo?GFym~nWt26TR&#PH1j1#H` zpxgBywMi3Kg+UygY}LTf4tl~?-+xmmF7lm5?pjgK5%^_md0LI?lYjj zw@SOdW-BKiWO7PYD{?Zl&l+1SVnl@RRGZ{9oCSv{j{H%y%gx^8xja9puRSfm&A7*H z9ciIqeuCB44%JG%7UImxSbNE(_bR29dp+wd^JmPdlDFzsN_h8HuTVJk&21RcMWm+0 z?gC|+pL{Yp9tIL9va>D`a%PP^p^JYQJ1eBM#Ao??4T*2o2Q+#zR=RqOwvo0yCrzzm z2r{e7@JYUajVyPMDLywdTk)hzi-&YUcRjuFzN@PUnJdTFeY-n`UfBEYSZO67b`19l z7w{WcbPUWsf#w(ngp{<8Jn+v|zY|U`R97YPR=}Bhv9r%j5Zc?{%uG1NRCkM~%!?_; zxzmvbB$(`{R*M`4kkgZF#ZuFhhM>=CEyX8~>(S9f0YPq<3Ci8-W~8fFbwfzUr87pq zx}36!HGfG-$9TlSNiK<$aQYi@tt*3<--j~FfS1K;_jEJi4z0V+sARi2d!EmZym{^7 z1-Q_ixR~|$(uJ@?2>ZDov)CpS7}|j>QU>ns8@h_k${xipg9Y zbu#j80wpS{3`v1l_}68$r;v8yG{F`P_%&DZ&m$$$ulIzGT93Eo?Se~|FSI!(!&g(% zb`tsf7Ps)1UhMP8*98L3H|#ZV>_{{eluVX0sYLJ7IFXFSS1Q*Vd~>H~h3t~xRWjMjhW)huEBl_xL1q6sdO8QpaR=2`6etmhZp129AY;C?R$9 z0O4_B(fZ)r8mmXDKK{^)P2GfEPLnN&w8KLW^+Z>4w%M4kOE4t_%=zp&-$MV$&BRZ) zUJI%qKMvUy0jEj84&a@G@Pf}eN=yqKSRKy{5Uo()n(mk_L^_5K(O!OPt|_%h2om6B z8fm8krR{@c*EhUcz4NioLA@#8*?x}+aS)PmWU%k05uJTh2N(4{TT5(~&}5eqrm@Kv zN2$fy%Qvw{0+V_e?iA2*0lKlbSLb(7kgNttrpxuQFwSEEzanu#Qnjn2`c%vzrNX$f zb~@8il3(^=v(}#c@#!8_m(CUvTz>2;I(p8!0f)2+&RzsR!mfv~D55qv;qmMkY?44O z^{Bu}A+C*dzYe$oqxCJ(sS4K1T~?@)nsn+H-{ATVD{8lKa!?j=bL5cA_sLtfZ;?W+P9leE2V_Ms(;)aFXOD$rA_ttvSD1}8# zrefRWp>JbRS+tLea2|C4o}?^Ud&#?ed2Vf~hRUSb2TwvPwD|5?E8-##&G{#yxX;=k z*PQ;!HSv51x#En#B$(U{mmh|C%xTLcECQ z7-HwKFdx2qMc~2Bu#$G7GgFfBNRYk|6Q|peo4XpIf2=rfjpkWE^?_xe+s%qJPuYi# zT5XbW7Ga=zIh(YLv*jxZWOc3b(O#sZVd4wB9&`%Qki8t=$s{?r*?-B<`rLzO%SVbg zK<6Mcac8AVu?%0RAi3C~I)M08;c+7vp?2>ucE+RWOYr1MP-Qum|objVqtA!}L z^7+heWKtID>vFPt-&Yr`T#ku6xZfeEc>_X+>hF!S4jQ&hmm2K9HeU88RNIP~`TIxY{yk@ zAz0iHjLP^D1!!G%XqNFLaB=MCcNA7ylCn&^HXEWCT_s!`WekA{ryS4OfQaVj-uK)V z4C1LlD>-%0^5*Zn3&m4$kegkae5I=E1BY5+X;5+r<7adDhux2iyIqxq;-~;zlAYq$>1cH3`is+`uJ zwUrlA^u;t~JPcq5t-B{}E>mk7V>c%8xMm(?W(&u4rkJ0fGpURXImWs|LxzO`Pb81s zT~@%dyY2jzDc=r!FQ4=7Zq`dRBaX%ic)i?yW!Ds&Nw+fuzHT4WmvQH%L+YACbOJz+ zMLdB`%IFMHyhjA;fj9-rMTd7GSgm<1wScWHZW;Vt$p_sAm0$1o7?-Ai19xci*zHoW zgk)BZ$!~kr?H619|n07<#`SDHSU-7DI(3`SB$bnjm6zQ`o(=YI$Qr zjm0FDuvPt*fQe9Va0NoEw%CCd)U)PkKE$tuBWZ{fi>pLnC!pKm$yJa1ecu=-smajB z3?-uo+bxF4yN8E0B&^fw9d4BmLSuK)aNL8Hv)ku`LxKZAFvVhnuh>j9s&Wab@L8c! zj?pYTGtz{gB)^R3`IiuA(G~8Op}r>rO~cOMT+;Co>_TQ|A~26F!9oTTSFdVL7D}@W zHM+Wrwax+5!dovWFd1To3x7ZkpX5BO@GLpYsk^e66F|n0GKW5phl{l#eYw2n*H4<$ zw^x`d&lQtWKAMOD)e3w6{VY=p3;WZa=g|#g1CU2a7Twh$)_q%*(ScYONSw*0|K@-b zQ&azXT#e}i%%A2eKxsOV_>0hGP|C1jv*4Vk-Yit?D;2*#BAgHu1{VKsAXPv?SyV{nKOj}({{&JQIsOGYS?Tc^7#LXb+1ObA z2T5gP`A0|pTPl?OUl#NKOj2nW{z23KkEJsIyYIhPD${?WrT@iJ4PC6QO`PeBEF6uj z{|U40JskgMl=>fT`ahvm_W$e_R33X{!9VKYrpCY?;^yY2rr*FH@&*^;hE^cR>faUG{_X6&8`t&Ev6=VX%8u5u z!1oPRx7r&K7?Sb^%%Je}Y)JWqnU(Z_kc4zJ{E|G{!GS;erlv;5rlul!MatkDTEM?V zVtGp-oSXqy)*iog@J=9@T)mS+G1uV7YVjES0SNe3X3)-pdB}~8ul67s>YTl~kGXLGm`a)e&~R{Q-@7*e2v~VUV@qqO zdHPq@kWC(Z^Gj=(d8TGiK%8D*auArlQf6jex}>CRY;2-NSY)DHV$cGbp8i;4>xg+! z&On?UK+^zzDSzadTL6DLnMFY){X0m;&h?;JxSY(`jKuKwbo5~uK{q(NJKNSW0C50s zOM#b+j{qfK_&5D9CVwaWaqn(V0MyYnez0zKclN{&SQx)iPP(TNTTBgISy}nD%*cX!ACSN~fMj+*Z~C8ZCz~6Zof@A%;L?Mvr>A}? z2d9Q}BnDBB_JEQRep{zIA@=doLFX{~`lqI*rYB$kI05``O8!dw;pE*IzYg{`2AH>L;9B&(aEf_f;AGdh=Zh zzv?FkHr=}#ih9>eM!wNK%LLE=IQw?V;6$I<^K1D2+Xdp+`SqLm-COY08~gh^Exs_k z@nOd^-TUXq?`eb;|KC!yx@H@r9zSi#*ShV(uYXyVfqty=QT$Eu(K3H4Qyf@*cM%Y@ zqFy=7^bO36O@C9dkBA{1!80g=vSes}S)_j3qhFb-1X}n_xX9-8Zf82tm>z%UyK8gG zmp?ZTo_tOGD*bOWpLO30Jnc}9RQFD ztFs?Fq4&B)@%-Dfi3ar0Cdco2Rs14;M6>}&>;1yP`-t!L4h#Y5CBB8S07&2c!m;{_ z-r%}FDZW$N(gCF>e&MbtctH`jXQ4)x@w z{cLuMNq^@$d(ZtM4t2~d&AxX|e#O_;e-r=Bv_N{U{b5S~4!A`D{uNMdacg2>a&7n; z3`XfQ{s|lB3iz4p@lyW^xF!2Joc!7Gkb?7)%Dcuxy=~z8-i>Pc0N%B#`vKmCZh8mb z#RDnf6YS;_kaqRk^Rj&TS4?65Q)2%WOj*CZPa2NjfLo3Be^1kB|M^e(o=XUqPx&4B#jsRD6B~VX`@LN~?LPe7@BJMI2)N-_3LfU*QtIiOWeKQ$RUr(v{nKew zbv5>#y1#0#$%Xh<^GW$*_ywnC?STMIn9byc0EdMxRyAw~qq@O9r3!YrQ;yKZ9_3O! zcS5@Pw1b2W6elM8KwIVIh=bE1YTaUr%5D}@5oEhMu-Mf01dG<$_-|z2mvRh>+wots zx+T6ij0F6V0z&=!w)XXSe4tHX#tlm0N|6$?4HNP#+K^FM#BdTgT*XgOb&i&gRLS#x zfz0yYu&}Wg$5o85z+GQAC&V!f8GsTBw+@oK97Bt*S}ow-g*5h<3dn>UTinfpZr3S4`4{B+7i(7{eklio}ApnB#8KA}Q?oM0Lx%_Eq|+CVXq`QaTU)QDP&}-t?B*Jx9w;fi^zm zyE9TJ?dNOP<)pvG`0{_OX3PT}IC#`sWcD@#shp=2aig1eHPzZI?Zm9NY zS@v4qAt2MgU?kaFz)3ssyZZ#Fh(B+o-iTev?+VLwylbZsABAmx3U{T08Tr#w*=gu1 zyb&Kp9|np3$qL>cDX`ovMN|0kh^z2)@~t}Shr2seSlh~3`=v3BMXfoIHJ!jquWR}d znQ!3EN_?L(rx5P)b_=2<-q?RK97m0yi#Aji&>_;ZW{K-+jJ^z}R zL{PO;racaG^_MEddf}ld?Mb*cfn|l-kQd0NNSCGhwbYsN@ zwAM{STwr;e!mEj+_Rr+1a(SX859y?Yme@DPt0u1FoizN7S#DbdZ)DglS9karFixu} z2~tMp2MV9mgL5S4EFY@KNMl^FP_#Pcy(WBxdeQMM)*vU9Eiv3fJWB$af0SQW9y+NVT8X@ zUHU0M#7mTm@fhwwo>B+Ndgm1=_TZdTV#g>Pu?1{8=~jJC+MkDIM%%vkji(TWqZ@R-9V(>2x(Xtxhwp`WnqYT@)kDPh+@0#GZ9; zobFqtHV*)$+Zi>F_xF-nbZw?Y*=c~)4%;swKrMrU^aspn;tpIuf!RIaNvsCGdr>(Y zk=V2OcjzGR;^azdPejO7(#B-^W$J1tJtDgtPU7SiDimQds_kfesm9>;10zXmSq7!6 zTzxU(W%S_*_`i;lf34CykbX6NHELf6_4rd@+#o*ZrQ?;&Jg7gyOGOBji@{8(BP5(w zs$3g^ux*<&Z&aNBZCpDa1fX*%`A-g}{6fS}MtGHuN+1>=jFcer!gQfKDo)ur_m8Uy zEPYWrLRIQfFSC%BZIc^S2(pVw`9vb}J46z`<_F|b(aNlpa|Tcd_K+F_WW=Hi9orv5PaBtZ$YcBRU(ktC8ylf|kdJV-<`&`~?&YzZKQyccaXHqLgAqXk z0%@;7J*sGeJO^V!mh119!fWeyL`Q+B`e(-z=Yt+Fi&>^3$ysPi<3N?~J_jeq8pZJq zYtP{BU45o}$(rr*sA9PVlHAUl8Nz#qzSU4DK(wMD9DbKSOPH`#v^KMGdSWX|&?v2c zOJd@=P{LF;@bZ0?TyHx+Pw@mc>(;J42JV8{=`NTWgEg}aHYN3n!M|XGv)g+KcabN6 zg#QpDu>Mqr+E9QN=h3Hrh88iDwxScr!b`!HS_%QvzzG5 z`V$r#VeQ1uLV{PHmEC*{p`%Q2EYXmEIv4vT776_!Y_`_#mR}&2Vl&6+MKkEX!c~it zJ0as9inWT1tRjUCthGm;ehk4n1BTwJRTwAJ=C$mkG~6|Co>H$P>kgk!J`TU}xu`+! z`%KGRsE747X^}Tc?Zt}Xr??P$NQGUwl3}mYjp46 zZb8AMY&v|e%W}d?i~fPg$!Muk*yS;4`zmkl-h>zED&0haUl$dN1L~KextGCh)bkbfsT*{tl(f%0L14H_eBI9iFWP77{^+ol`+8lRU_uHtT?7cE(G`CRx@so8 zKn~(qQ<(KWU1`X`St1z0da1^pV zDuG^S<#Lp%)6vE{I%r}!H;+*0av>|br;KWeaXrg&jc!5NX{FU@hw!mMMR(hvPmn=^ zqiv;hJd?|^41j!y*Q8lI_OlGbgynXK{JF}GQDDWQLe6|K{={WC&Oy{kOY^=HRclG5 zJ$i>~*W6qsJ#NFGJP`}C^6+u2L0|u!Ve_1|gY(HjK*CX&tMdv;Nv1B6c-IGB=c}{~ zY971N8Oa5VU|k)lh@~FB+>D)_RY@B#Bw!8)ONSYo;bYrXhDn1CBJv&QFv{|ncFofa zU*S!du0h+*j>z0ivaN!47aK|~n^e(u7nqD>_(ax6g%9F^^$6jJb9wqEiAu>c>zxj0p*1)3RK zijMpmA!gZ~(Bbiu4T(&j`YL)2K9@abyOu9vj46)3&6>=LT{YG=Vsr(cw|R_$T>sqcr)-v?WnHx38#M19!Li1v(-gqudj^@+9TcS99La`qht1y0u;UTWn!!@gC(~nc zE8-_Cf*!Zl7q6SlIHq6V8oKDY=$Ve~yMyOMaPVfn01g>7`dHP*0)n9;#-eoIxWu3H zj$jLF5PQj>uFn@d{#mbE#h=MCXlE)6U7EBcLwuYzXK5d_F-NYih7-Lk7hCS@)GJgY1gBx2%^pc;V(LKd?Ym#3sVjq!UZ|z0AH!Oe zo9vx~g?+};bVp?{Qosp0B42MP3tE8iXd04=U&`JH!AWGGAt!XyPK3D;t+xj6)@Iv$ zfNh|}6fZ~MWfMKP_>Lmje?r}kyY#z3ipAM0U+s4U)^Pr@O~j{|?9^$YSvE(XZbO1j zN23JmPwhy^SXIU9&AG$@ZZt8fnZR3`j2p%TCpGuVGQ>{^y#bPY7+!pskd`)}uW}oL zV}regRLK>mYWabz%@w7=;1lP~0cv`W4?o~X+odo`IlE&w2e{6wWejZqKinNKjJo8Z z`(kt162Dv6|2<~?s?kkA95(VjJdTj})_&h-&GeD;Z?|Z=!)1)B!e!ON^1MnQUv9O- z*RI1a?&uZ7>=OVj@Z1bAwKq9(NOfg#i6k!~l5=_X$Ep5U5m~?Y&)-5m1%FI5zExkk zZKtmzDnSqXt+5;Iaoflpk|LV@UX5c*x2z4LZwF4VD!vQx>rvdtZG~gY?~&F z8iyDDt*L9*FowR#Or`VgIO5X9w59_xCOU@nfj-!K(62T$(qY-VnmIg`JaQ?KKEJ6fAJ!@kn+1A=MvW4jqiTFL z15Y~;?&qesR`w%n^W#cCnkeq&9pJ_a%}X7ypn08d$sFt|?{27zmDVZ}s!-)EQtRku z{BB#d{;UwLjltaU+&OX5KwD%}EcVAnMon`nHxD5SK`g51>{R}f;88Nu&W!BM-x4#Y zMVcpXw%?^Ntb~#OY+VnTtD7?MbRCVHNe`2fXd&-zxD9;Dh~^QTDg6W*{p4@W;F>h$ z!+R;b$^tTbg~nNlUCRgIYrcW$e@?EWqxONaj17K-{>X47QEB`fJ zI@bvw;d0QJ6CUXiJre0sgm1%ITzg7Mw7h-M{6QdP=B z7#L^XGwiqMI z2T((t<7&MMfB0u(@%RTvm)%Jnk-CJ|KG+)IZ-EaV*<`}B^Q1<&aF8xV{9OTPbO*ga zb=FGkLQUuotlns~2hPJ7y_CACMaPefu=LNHhSznh9 zI?=yx7;YFqqmioC^w5ZSAZ5NyrDO*3&t{%omf3D5}-D<}4@aCw^+jjq22G9qOA-#<6)2*lU?W3O1N2$a7 z$4FEr%FAowew@O>pt!T<&G!yBCt_W^^x(J349V_2L2At==`NH}_7Q}K=w`W7Ip!B- zRv*!tY!XceUc~c5zG1t`O+o=%>&n{(7D(7}FPYw>2j`6mvX&ItuuBmwNGq6$K|xln zKaqZ2^gwn(m&=Ou)0Jy8zBWXEGz2|$d_BGbxW2hW&~B5DgiDG3uo{PsXMeeCDP~Ss zZ*KGKI-T6cS$x4l@8YKPZ9%$ZHTG1PRhFvPXNsEOww(_ArYO4{Fu=zcYg}^ZT9xO; zOr!{lD2c}FfUWFjb{`PUTGK1LqD@{daJ3e3ot#wQgj~q8NmrES`Ql`4&!@7dRnMX- zzd=8!VPr51Sh!v;#1al%n5*Q?2}(b=S`!z~XuKX-F^ZS^kqa<5OL4R%OM~eB2`kB1 z{fP_)yx005?_{5ee@W#FaRDo;cx~Ds4%7T=pR=i2qRkg?bi5lr-V-p{z&-)_@9PL@ zm9-4cCuy2p!&dgYa`ZqpVwR7pAO7Prx$bWY2^R1J)`vl9wUX0(W4BehvpEcmqqc`RKreaLAH+A1TGx!Vo|Y&b=G*$ z>H}Z2E1+AJ`d(@AIM6$~G>jqaNXEHLJ-af+{6`wC~l2sX0nM|7x_Y1D?d?cjP- z{S`V)BCR?9)b`5$qdM2=@A44sGY-_Rw8`40b||ikW8JjGDLVh`bb+|MBFAEt79;n*1bSBPU_DWndei$!EKG3zv}cB)jeu<83#Xl9TM z;umnm-@xsct%?{ht5OdxOaeU0Nj&PEY>mbZuj2ks!YlCra{)GgSX1c^qqwZ6{JBHT zK{cx8y0^ysKgsyC$=R#jxHIMU&GqT{2P7^llmYT{Gfiih3&P7{2*)lQdsbH5)`(TYy%(X0##-| zkpf`i1tdAy+~>vza~=OR_l^SpwR8hRXr6Vx0{PvMlk(74F)*#iJ##RLnb#o?&0 zt^vZE_omw^u;;Nyj$e#*7wp2f5u*s{f3>yAHlu)M_V1cioJFZzQ~D;FA+b$LL?DX( zWZK)w@~+d-WvRj~4`fEvZpE(2Fq^lseHSG6#PK-8FI&nA6F)zL1c zpC1}D;+Qfh1ObbpG17E_qWfu^tF;a>0{O8IMsUyjGUWr*WVk7``f(swqT(D?`F0lA zp1A~L0u|cRnXKoB7ZxWfy+t@NqedI+>tFPqSXE%juVGclVn!VnGDQ0pj8=7+swXKS zeR=20+I&QuX3VmE1(jyLxE?Tk93FQzx!z!40 zQB_^9@;1C}C8c4fnZKds9Zc#pAo%FH4#nt~9F5jTUh^DttZ4T*>F_x*KJkZgx=D_2 zioIHfw9Z^ijhcL8@Z5Dm#Nl|rqw?lCEVa%x^?+e9om!_=9RR-?euZd_)Km(EsuLtM z@L_zSwDgs07P6cO$t&V4Z#5_5Idp2FSTZQ5p0$xS!eZe)d+Ktt1bh&u;`|6Sg2QDY zSpt^Lrfs9)?m%udc3Dx&9;tc()&02^nR9v|*fKfBP<9c*k7T@GU;I!^Bge#5AMRu7 zc;WgjsTaW+#M;i)CAf|7e^Do%>$V3-9Ri_n*JF8Z&L~fnD7nL^Y6o&ZXR*|i?q>^v zDK)BVz{Hnedp6C05bjL$cjlU_Y>`KQh?0aR1>AfBp)y^Uv9c9VvmMstHCZKsquL1O zF1gVzoWo+9PE0mqz{%ym&3%*cVYQCBl=i-y9D5+@bFSnnHvB9i_-aL+GPj_rdi2TH zUl_G?n3V)h@Bb7%+jyGpv`Yg%Y_~!09T~-;SVvx2;F~c-&OIdlwAClP8S8^{x{JAK zjxj5!^ec8wY8HtIcHTV(v9%>H&{&5#;~O%S;gO9}x)x0z8BS+BH2YMxZjJ9|_dd>= zhyR5|Y}~hykjtcd^$SFdM5W0N+wkZ5)x{lP|FQAc=rRy-^?znl_t=;R#XCyOyE6M{ z;;e(JY!*H&b1xo>=QqSX8`*GFc-$9&eSzyWfaHyMRkY1zkw2^t0=IAA5WpX!xk1nsegNau{8BFo5cwEFl+ z@iMY^0El|hb(fzch2L#8$QkO9iZ{gzO?H3;a(zVoh2DIOuL?vPH zpm=>5)mPL{i3<4W*U1dgqh&~10qL2>nKThf0T^x#VrA$Yz&%X*Sm@K92+)? z9T&7#N>RZPt4FW0-^|tv>5*{LWkI3Kv#PysEbB|%e`{~2IOjYAXY7@mg_c1Wjnm}U zk@^=Tui*0?n0)b#nyrV~EntNpXAP};t0#j4CH+UsQtI?{_?-2VGzwF)P0}|(+R(uJ z(0Jy%wCiZ0IgYMV|8~Z@(vGtz!}vMDA&kgHMeS$ZzXd;9PX<}TyIi*>1lix3kZl@B zMr9)wd>m4#)(TZU*~2*JoJW=Q1KrsYUVBxiLBnC(jVlP;9Fhl01c%UQpH^ zxAajG439utBwdin=&+wrr+q~D>+c)tc)@ZA1$-F}a$oyr+7(T(``b=O&yXbz6hYA@ z^;5;6Jrw+Wym!R!Jfum|6CPgcs#5r{TGj|`apu!K=z?7h;Y8^0ajC`_`$b!U*$o1G zQxj}m&TY4Ryd&np`GIO+VF=&x7TC=9uMl763+S+Tn8M(YZ|p26Qwea-VeF4%{Q}lA zNQaB}StfV27MQ-ykh_Ue!*U-3?88ihgbhW~PUr-e9DT^`xx&zg{A-x@9CxK{d54nZ zD{LeM1y#@z_w(>VPwhYlvra*ET%~pip{V){Pt?>o#L(ry%>R-;$o)bk$=`(va~8ok0;nQumo!qJfLqwk&2=0Z68 zJ~bX0I?tfdbshUyOL6PNBoc>>o%HS$gb0CmLIL#ia?~xTH@4ADS*ZH8;(~!VwvhWb zl@Mh1GFxV+2uc%%SpSk5lAn_DA{q4l8rzJu0mKmCelnbTM2cd(z|ygRllVx zQu*6zxfk>II1 zYLdGoo3@a|-}Foha*o;Pz7L;0MoDm3)QM~64M^^My6wSd^{+5F!RZT`E^jZ#{JO1( z&n&xyA`Y%s$q&Ykf9G@{WKIkhyw4TN`xsR-8W#-ii1Fbz`BMf5*?6W>ln|$WQA^)# z87r|t74mShd+@34HLNgiy{5X*Q<#Kix>;ur?GZ8VVadBQT&~|jRF_&+gT;zNldzmQ zYXXz%PBTfot}s89p3(cyhFitBz=Y@`QF6Tsoj4!}F^=1+2yC8TQISy|^4;0$m*=en zrx-a{(9dP%N>+pO4dEF~E?$Ev<0*Xy3fE18#TxxvFk^b8WW z&nYBqS)9|oQmTY;s%d8@QUoHjp(77S9+bh(v7GJ((3=`)+KkMeZiwO+TZz0V*ZrKz-( z{p)@-h)22dl&JZAbei@+Tv$r)-WX+X=O{Ny!bh>`*q*k@9xBn|ghG?jEM1Ae0d)4`$zL!!&vcjrW#3PyW35{kZH5CNr zIRz>Xx!b9TnW+iBuf%agm}8+OXkjD{lZFLr+t-X**fB7sr0YyvgQ<>LPV=c$6+v=} z)d>zwDqKJcLBu987fSq2JhFKh?<}~d13uu*lgp=LsM%NfDHO+ui9XG#Vo2WErzjR`bRBj3K8}@YjNb-vn)R`vn+jossuuXkX7~9j18ThYkz@42F4^pHkW5Us{pXsP3LB&F&{> zG#10Yg2pM52TtBQ3^Yz~T0sG!zznd~vLrIwD`zpRt5gn!-mO>!6BsVts$JqfsuyNW zOapUai6!2%*chbEa*{Rqy%Ak{*b^eC63j_DaOF50ZnuNdofrM~C``KHbFg^_=zgQUSd*EO_RPD#_6iMlY~h4jN^5mf!CCWLgz`Dy9nbIwQak)Hi%R zg{T+=IjwtYNr`0xuGdt+KNDx!`|qXMUjR3doj#;;eAU-hRxyFSrPe?a2EsJ1b~m=Bp5f1Ra?4fi#0fJ~SFxM-2Ph$M}q$v4wokJ!H(K=%A?JIL6}NvoGr z?Hq|8dq{-C%^)-r#5k}(dC|77m}!*0-`JlE_LzL*f<)r0gZ94iWXOzaJmV$AdOMw&)NmP1=gjgD7L}=qayE@rWNp?IF@z{D9l7;=n|DZ$ zcswc>(Pi0Jy9;K>Z4*G4rI1X49-@VgN!}^Hm2@t6kS^;VUUY~)@;KT>CCC2O$6iF& zh%6FGb>OHq)@8vOyq{pzx%yBJSmJxcpFbYBt>>;kP=`ptI!QWa_~f;;!+4J5R2So!FJ73XGoq6ud%+4(<$z9<%E}FU@eYqYl%F4fL2`mLId|}U_Buqa zO=7ex%~Ts#Tzn#poTs2nWZ0;c7%HY=)jowJhv|jxo}%5`#cMyuEnEb!O%t#bXYLot zj-V1DccxOMl;K_Bv@KL(tr~GMcF0eNmM{n?b$O}RT?ogvlz*u1J zYMC)pWsFh1swm_>d$-zpxLtbvJbG^Vh9^UJWUcfab^B4!`!9nkVhyTz5_#_IcQsn^ zHm=L1ykS4v-|sJRnVfBcuE>I5aN{0TdKPL0-W!wGuT&>^-7aL>iTxiDlE!F^uH1&4VtOWUHsw2l zF2}R8ux2iI@n#Y@-U6=2>939TJie}+R4XU@zX!yj9rVh+BYm1nedyL#iB-W3k=d5? z8AaRq-h$P_6_rJ*P=ILW;H$q7!`#87&N1~?^3hoO0lh zJx%Bw(&PjZijGPn0DWy6<)qVm6kO(*%RO35w!jhkSEJ)x=S=Q(R zdEOuGn(<3Y)L7|wbt5B_ys&O(y3wCsB4zFVr17h*3R2pxdDFu3s^cj59y8yMhB0ku z@8l*SysCu8`1by7LJ^4QaCp>=r=ex`LAC3rqOpSk?vma~p?+qttc=bJ8uFOag zIxda#C87i-Rg(miO(lI@tk=aSu1)-v2gq?2d`ip~yqSG{=)9PG1VQ&Oc!DI}zCF}D z%DMAKBFEw|CHeXBSRpL#1sjr6n~&}@nx3ug{^#2R@I>srQRR!i8&)up{?CEzS3H^r zbN0nkWF@A9GsWUd^5Ao3-b@S@Izx0&+Vaa~JOku~0ojVqSX0~&IJYuu?c?%{M%h&G zW;w*fL_laad?VMV_v=!p5 zH3hz6mzHv=k^4-?({ne}5DJO+W7HS`1O?;LY^tE^qJk!q3a7-3odpHFFKj#Z-Vxb+ zn^Pg@{5lbSTh(Y(JQR<9qC6WEQz&jOgOYQt}_gs#0 zo@ie=aW@teRr<-wfV_{sHblMIBY6!f2jBd=2qm8xgH`<(+ayS+g7WQd<-22wb5ne;rq6#MYHr%wXYN+RM74d&AX( zbfSd0shpbQSf25&4pf_wx~Wt&&_Q-YK6GzK5Ca2h6771Vjw)>Y97XVIUf^F~P&{z2 zJ|Nn+$(_UUcMXET>UaZZ+~)Mhj5bqEzR8XFq!)05^bd9GUM5PavYO%ODQBrqy>|D0 z&Z!b_2@u@l4tSfBbY3V^oTG?$n|s5@>(Q~+iH|sED>HQG=Ygx$hbbVL$t*)OFOy8Y zMh@%P6SqM8a8{FRFbAk)k5N4u zJ|2>bL?Dy4%r{O^>KPaWuCR!$g1ma?w=FEE`M){-9cy*4_s;~bIYUCqkYB{ZPy+UU zY{2*+g3}mO08Fu~VsPLMjjKnX>MaeBp`0#{aaJEJb_Gz_Lzl{Pdhe7(I{MImvyN?L z(82oHEt+4GkadO5-T-NnzT393;r5#64?Ld(U6;OOk_G#?WE1Y@)IoI{(lGA{tJ}^x zASW2lpyML`9IKuV6^(%y!{}~jcOjVeL|$cYL#p81nNZ@VSbSnivHV(OXCLTA#E|5? zJHk%K>@=)6UVT2Z7<&pTNYvDEy}GC-KGJA(FM+9;EpJ*QJ<&$T2G5->i>6>y-aXF! z$Dd^1<+LN&mFkc~^}u&; z0K{gx$31kQf4}|t+exj&dN&O^aBDiBLke7-Jvluvnd|AB`LroTD_Stx(UBSXE>|>= zh9#H#g!3ov;A%hzkHPoncT!yJCo~-Ho2EeDU8BgI9@8dbd>tNRDekM78^r7Tv_|On zC>!vW7a*GK1r0Aj-$W87r~BrgK(QM};W{;T&}cV?0xkqt@|g;T@V@4AmhnsJO|X1a zW`GWB7*8|2c8X*fXiKOp^|+gnig=~=o%L90!{dM#bWt^^AO9KFFlw@R7<=8@axC2> zEOxd~1?KT2t6p$$&Zrv$R*&H9?is9S(Z)B_7ug~!ZH1y`DU-K+y@2;r);c_}%P8;x`U?l%BI?s4-asG=I2HzNzY9%9|Qdl~-S7diy*;4hutJn#I zoWNX;N5>HsLoO@z6=Q2H4bgi+2N4+pLiH24ZHwzBVex|#ZBZ6hs-5k3GCJ-%ZasNk zF;(|q?rSyAPIdeKd+Xrz&#=UC{65cdJ`lE0s(4#U2SppsvTQ(Q7kP%zly-uaU|s`0 zPCUgzDYz0_S#i}#tN_&K8^{rC*`?pJTrA0ca~~043dheS->nH$as5*x%3mh(1?rt^wWQr6^UI@D3cb%Hq(^ycjK;I9l*p{`NFU8vUuwM;{1`(39XE{t^e z=#sgaF*ZwY|32N0-xS6%#6uY_NRPqt6oB_O4J!J+7R*TM=YIxn78D^-Lg4VY9-jcZu&7~@G++q#$BiYO5-8Bq&0nktIkn`{y8A` z;qrcJ%xm}h@H>f+(*Z5G;joc@&J~Rcg>CCUW0F$e=;RrYY5Dp$k(*ASrW#|&kRcbZs;x=cXu*1S6j!0#MJ2|w>1LD7Yaaydj4oI*o&AAfxiO(ipDYo zr=qm_iHjdMAAi#0Ou8&cWhf&%gdd>B=w1HH&)}YY!6G+7SH2-G=PV@@9wf`hXUI%I zN2In2myV_CFE4++&zJ3fq0j_*HbUs$wl!L1*5XlXb2-k%Jck;++}pAuYUGc38q`ep zp-(_C5#sNRMu6t*|Gowm8*| zfBe2l%Ej2)B|1ExD>4hSoOZB9?>VA_(lG%0qCDb^WASFy7s?Ab5R_)kKklR?l`q`8 z>ULZf@a#*qIKO0)`(uH(k)jHa`0J{IJS}AD(9V(|x26{gjO;5p2O1Nwl|)&Nv+MY= z^K~T&6s0#jmaBi1;tLgB`;z0Z=%SRyt}Ae0lm%khydaF-%E&ogUrewEY7c^}%V6qQ zQCj8wW#2;S<#>nfFy43GqbKx#F^~@awW+Ep4P^N}?e|13D>;b?HBjH*ytKO}*~>Ye zy?4V0W(cd_1dAq_8YuO~@Y4kx6feYRI?%=GxZKiZKbj^n~{MYE>ND?gI=g$7?YRMLlR2@d2|D1dJB zcu*eH13fGl3TMz@eJ6Vn^Nr>otUKjobYp0@WMo4|m%H~)_)YO^k|n1Hh@p?bXixJJ zRyCJax>WZ&vv?&YPP)(7+g$ruIv)x4t7ovA#DBc-yA2K7U2aq6KI-*eT`}fb6N{hk zDBqHKGz?xvm5QZp6B&T@$Bn`2u02BfMnC})L*v6RPoB70`*H#EM&V^ODGLOFt}P+1 zzpyq^gD{Zq9+JL~MuE1a3D-0+_)3ex!9afAYdZyZKfuGo<@>e}p8_ z&C@hHCV8rqWIh*FD%W(NozMoS(QUTzOF#zMcXvCACvw4#v-UTEoX_7@5d=CPbZa=v zv!KZ{vf*#lEQZqz72nXv!9K(>w10`%s~Vp88Qi~z+#jZPhXvcgRqAor z^KxXqBEmaMH@i`^$AxTrwV`skYi0;#*BP zFB+KYVZ@3ck@(%s6pD4z_PieaJA}|Z2_1DuKLc!eWGZCtk9p31>+^axo-;40*tdDXADL~!2aoe5V8ki$WZjV8SRF zqUE*9_`c}{RZdb(vk)8}FbrrrrFZ4rG37RL)abt2m-R0Li$omj>hUiH zl3r;^kzUO)=Dc4)rOs{FOn;@RE@P_atcE#(RxB6&k6-a`tr?HNlvx7oh$V1)r>}5J zZmUznqO&qBY(nQfAVFaBe9x}vL0SE+1xi8+IYbuIn0e8?glaa`_@?)+!pkx=bWv?S zuf5hqMgg@z&gbT)fqcm{33mP-3FKz6QdbaUIiTJzk+l#VQEb7wwL?#oA|8j&t;=f1 zsJ!+B6{GXn>b!TYUt_bZaR%w{2cNDzGu`U4C6x&t>ucAH1KZluCzg$|)>ZCk>gxkq zCCK#-)KstU|Xw!{a0c zs+wwd`U05L%*LX(a8YmcTI9l_9X_xdfqEt$^*+YkAbMk63|YOs68|Qw$oZXl%GL~T zdx1tKpk*Zl(JEx3VTQV!e7a5^Tz4J_S1O%as^B8pEBoJI!sv%EH>EoJePg6SKnEz= z7XkN&B;B5ounrKFw8k=aFvy@Vx3SKzYIl0};>295_ptoObAKW*MK#W}q)4f(SXl|*s_X^$;1`%n6LY-9d=B|w@u zLhrx_XP z3_Xuq1rGPLL|jLrrxMpKvM`7pAKcx6xj8cQ`fpQ;e?`pR4W`y+Rg*oKNG&BcgmvMURoq&_;J?v~e6d}6 ztuKF_9^O7pdKH(vRFgXpZk0!hlNkxRwVcm>tqoFU<9xIKLsQ>c$i@8SI6gyZbN z2z%h26I55IXegw`KJaox5TtY-irc7`Md>`TeD^MWIea`^{ zM7i-j#&2AA-0NY0MeEn5!6XW^ldVk0NYZS_6sRLKBh`_bNh)_~lV)=ETZ$*F&W6FZ zm}25=e}>iQ*Qm3v)*sU!uo?9t3`2fw?kp0!>QC|Z7a>}L7)`~6p%K+|KN+%{HU4#= z2%5dUFYtoRs^#t8SOT~C7{}n+^8A@qC?=r2Ao9CLhxKDFh;g!(cj?ZUz@h&mGs5{_ z(2f6JW<*L!O-TG7GomE<|HX_jv;NOs10y37%fDa)!~e^Su>EhrhW~43gzdj38~!^p zA_x!$hyug`G5|S%JU{`U1W*B}0n`Ed0DWsaV+Til8zX?hze4>#lfu^K->jg7yF>fHS}a;0ka9 zxC1=?w;aTOz>@!Nn6NVZm(%(G7$*PRmH&m7FcC2^GIIVOdk{=a9IQlLa11OpQ zwVtCN3bVjYKfz&u4Ef&Q(<8W+CWqjmx7}PI4Q4JNTtY&`1Km+z0~aFGI_x=uJTRwb zkaa^!(8(62-sW+rrjMVQO`R-wWEfo0HBI1mA_7Cq*;ZrH=H%x=yxY@l$2xwt=I zWgG#QKWr+Wn|{c*^7cShQ&vA6A199halMaT1kmXzyh}X)XB|CHX+Q8a3^0Xw6(g4? zCu1<6t7%_s5NmBbqLY78Lmk~5n!zomGm(IX3_MVf(W|@<|O}gbG_?r-OC$c1JGus=BL!))^z+)H1FCt zJQ?L%EWAk2r=|(C1Grs%L&Lp89jJgDP+Vy``eZFohE7agZ<1B-P#oT;7al$yFh(4U zfR7$5(jjI;EbJUUn4Pl==-b<8`71!k#1J$sa9Rtvgh;xM_ulpfiE(V-7VfNUVR4M%4VFi*x-m1%AaZEe!c;3uX*C z#u5nB)Em0%mmIkacaOOFbAtYQG4|6t{&RHnKE}VrQ!VbM?I5 z(H_)qW<~&Dq%!99Zv)tCjfmR<;r`RI37B^38KEYQ6iC9w2M89@^iY@X=oq9f>fVCHo=+f+Ejt!S)KCaRuATe#DUIae9%1B9H&=x9@%aEp)8e|1p&H2c>9b)@L) zSzT`ZP-*qI9OwBSWnKRJuh@fku6^3f04QsEy@g29zs2HEO9Ys4F*WldmkGZ)eZ#YV zkOV3W&*4}=*8^y^evll$NWVQBf1W0uTh|~C-w8eWVtkK&PJoIOOnyk{p+uP>HODYM zGqFwp;n~|a0bd%3DZ9!0erQ8m{VUJ^j7iVLBUfu8*nW_Ad4+3T4@&ki)`wb5DE={z zHIN@FR+=IqjNWbmTH3yA-?pz}7rPH;+M%I)SER6=`_)$9Q+ZSguHMRN=wAiNsfFlc z--xhbaG#JtajoB=LMEffh*0ILH)L(Z!S!Fx(w{5B6(8baapD0-u2l440MD_j`%b91 zxn~=flHP0QNq#E98~{e>ZV@pb{x`?)2!!O)T`LaCAo6{*{!i|=W5XBem+cF&JSwcw zBk?YZZ<@moIVkt%H6vwFT}+FOFB!xef}#C;_AB5J!r|@W`*W531dty{Gq&~U8cuZc zcX!~Y?%?l-_`9x)l@$`EFH0=EV(u z+Yc>1ZqV{gUEE3h@bU!q<7k^SI}ivL+Md_aOk@^RSr z69s|k0%6X=5+~N#Sn-gHJ4thR%Q-GM_=&R-j;WjYTmzmR8&!F-Cxiw!;vbBwu0>|G zqN?Kr-f|lmNCTUROI+99gi)wVrY~G^siwCfC6RJNIFOQYVd*TQFW!XNUdS}UOu@BNc33lWexMQhnd#DK=z7Jg$9j%KTEt;$>R+$UW z*fUKlQexYKn$|E|3BC~Sw>_$URNbqG=XVTs)096eA6`v4e9l=9TQ5teI2B1;uEOGC zR35o8{%;Lbh3TOdEPEZ_l$!D3qp?a8i!MyAc z5DXD^StXYKD;UbuYmQY-qs%}V5V;d9-%nKM&{S_0uCP)&Q!s$)i-q4=m3)m^ zuOzQZWy|8ljtwYdEX7&c_=rMQRi<^)uCL}7{A4sAu8SGqw-&Okk+)s9oN_E;>mcs( z;ZVrbP~_LYhN4cy`54ss2msxEl=xOwpVXJ#C`r? z6dP?7Ca^Dbl%jKd%yFrPb^GXGE$2WTD7`S7n(+iw?&H&WsgZknw~NvsI>a`B!^Nsw zbXI$nnx@%GFAwW@5mf(43vHfk_|k8ZtL`T7BWz~86y8v@yECKYy|p;7B$ssgV}Uq- zF7!?%-qjS)i>IT;7)zBy5xds0&>cbTLDnd6DdyF5i3Q3bQ_3gaS4(`y25GwMp`d!A zVKH8vP}LY`**0iTr=wNVcqr{t1OarD&l5ZPyP75>aT!j7&D+QSVL!_T#e3oS3%cVjcMD(h90g?)jMc-JnN~QFY0;Av9&aT| zz4;TRuB%j1HK(AtM&yGGS_Nh~#cbyJJcc=H^}#2N*ab z^Sso#EYGY0=`39dv%4dv;Vro9rKKJ(UlO)Om7qhI6L`l48>llnINea!(!8rQh2}(gu3`42-W+{G}+JBq_@%~&k}#Xu9|>W#Z=-eve!PLgmYFF(q2Z?^bJa|3Di0K zp+n;-xEyLKxS5_RJ36v^4l2L~ah;#0V8RW;F~yp-V!hB*4NP^hL_&t;sSsB}&tgPT zabKm)o6VoG^#}8Fh9Hfp6`<3zP$^j+26q5|&jLVo^n${eH;e{T@D&VuvMZ8EW}QA( z>I*uZRc-E-u`E}{g3v0$pS_>(;JdWn@u4F?;6nzU@o=K;=v7jdQYx58dl&NMiy%Vb zI=MQiS_Q9DpcaP%kaOhVWcxPuo;1yQOeiaxV(r*FMA}ndS_Jzdm}0}xk22U}5{oI8 zmsK~hrM#YQJ4ZO~Q*vc^b!}B|G7C{ zYD(WA#2F^FyGD}}P(6gof0*TJ7IdER$6Q+5fhsMT?wFpB4RfHMM`DMw`mqopw_^(oP;(j!B}|A}2M?eZ!`(^tvW~vF^4U6)@tnZ`&Ej#DDd}DM(guAL4%o z6jfRI7P1pLLWll6WRu)r(&{Zsf?M=nHg)%9v7G^d9gO;GcP!68mmKg_+>L8k1sQbU z#{CVPe$~}K3rs2ie4fO1R2jQgiH%u|kAjK}gkdogYR@kuqkB0?YejX*R489r-1Jgu z#e3Z@HOGZGX|Qrv+pOb-*s_PhMNlxaG|dm5SmWk}i2E`OARR++Of8F61b4rY=q>xf zb2K8s@1l#%yYFbdANQp4eKpKSW5&15S4*jc7CuiJyqmCRGLU7}5U6918UME2Ep1&E zc+Zf02xOpx`8fNorXS_C5sCE17W62Uvb#YYcW-|4}D z-IlkpT{ymuXxVW#4*1wQ;%WGF=pKu%dDUi%U6Pe^tSw_-H2Rn<_$9I!T*u2CcA^DP zkp5gwFC;iqNiSB5W8d3=Q+unMSA?;bn9;D=NFX|rkYIE`{f;wTELEAmV_q4>rQ@nd zUDHLd9$DcG5SCkH#g8B$yZqt^)_ly#7C-mm%DVg5IpuwjR6eAinOyR+m;QUGiN3>R zPvmr-V+2k8zV91!-JXq7ihQ1F+%MjuM7~h@5WQ|Kvb88QqIB-RF0A>Nk7e7x9uvA( zO>2HcY%dTIBp1A(_z0A==_=lq+?n!sA0>!WF*1?&9?wy%D;e)K+QsxhDUYq(bj*&N zkCj+iP=UFBKXj|D@<^Iwu0iAs2i5#HkJ4L^Ld$(sbBsn#$tA>W-%D3S|9Bw!5qY2> z_vTMid$NqDha;#FiS4WpMWL2>MnrRZ4w6F&UMZvC8fr-vLmQ2Z z#i_{^257<<(7+jo7(?@i01*N9a(S-erSS7@P{lz?su1JL2;fnDP=zgkLT|X*{GFow z--a+yM!EpsBC_rgThr)QyS<3@0x}LP@XA4$tL@R?XjC zW#$ZuOGGGZjpJ5kgG27{nH%jdepv9@*N<2P+%XI`&C_aFu#8C2vIlB|c-Jrydh)6F zJWD|}WxeknE`EC9g!CvkT_?OL#1qwAEqhT-TG1uZC!!_I#pW?q37jO%bo>sx&#M!( z2FIt^X-X9&;-xteH2Phw$^&BJJ2_F6d}85=CLuHFn_CF1bozuFH4ox^s_hdL<~7nh zasc3+N~kFgYe<~?@1mhQ3v1+9I|U~(*jwa=Q|p?7B4CMKg!g$}$Uk32u|lIgm2Hl! zuD|*wll)Yk*(|TesJapN6Yg@oI=6N+Ktb>t#p9wEN7icO9*E<<9P1E$xp?Ll16|;A-7=|X}1Ji*RI-!#;DV` zZWdBlHHEQnJ=3}FQt%&()8!bx&)aSEj|iu6PVb}IJ`QX~j&Hdq z^r21%Q1w~{Tq0zO`#8GXZCZ~lXx+#rin+WY$X?Ts*b)x3pe`Z~JDRXnl!Sc?`zuV2 zRlPlZ5!y;qbceef9#`mw=9xpZij}J>%rIgkLL_H59O6d^qi5SdDoPjkKRmORAo5cY zyLYvZa~;WO>)`86ZGfZ(U1V6b%m=2xJ7XJU)g+-roN6|FZH9YvuWo|#dxH0@r=}sp zOE1&GkxnGDSP||vIZh&E?)SX>;Uq~iSYi3f3vHe|&hp;WE&H|DTba6{O>AaoF}=zMKN(J6m3e|^zyo@xFJLpDFh1N7C6@-4p&JZy~}(&;d(t@ zx0J_|jpZdo`*1;VA5WaF4kdH|d0k!=K~RwY^h6KL@MSAnZ9~<08JY=98Mp3lbPL6! zj^b~gjg@f8po=6ak%DuDkSmcbL|H-)P!-uENyQ4}yX9`4Bc3G)WR8_XCGmliM#|yH z5~J)AkEZ2We)2^BiCfQsJ^`x}xtZc3@ZSTu$J^-T-s6zh%~~AM45L@-T0~pGlCaJp z7|g`V3{#ELM;US;fbl;gpHbP`N&+JpeoD^O`*(i&DOI-3Vv4@n-fpmd`yNG*`K6Eh zE?Gt8PB(cqt%gvA1J6KT9sZ}L?+AK_C6`Phfw=fLrib6)Wv5-WC#;Z8Km~0zCFCX> zu&>Im9{fDhUb1={N+Jp(Hb*Q`;5Nry#x|0ppNqkA;f#TnOqzV$*=r;nvnK0TtN4w7 zi#xi4CYWrMJ(}X?cpW_&KsAq;KaV&TQ&$T2jyMX7&sBs9>!`TJGB_t_v6{jpReIDWTeY!L6`IteN(!I2Z&$3bn^t2 z82IG-x1ZHUpgSKcw;^7uGnnhiypETg^g8#mJh6}`#kU9__#8Axr399ArRaP8@Z=lq zA5l7LB?R+R2$`m|A-ueKN{ukjVuB~FcI_K#*SE|SPF<8SAgmTGx)EY*k!;1IYY4H3 zP^dqF(MWIslA|2(iu8JDePqQ@m%z}*&LD6%xLP1bpIz_l{(H0^2oOM~+2uHpnFyg2I4WT`zamN2U}+YZh1F7A@_7d& zx=9Sa&EbFlmhwbFQ3b!TNT^lkkLNZ;YB!QImsq+SgnIJ5#}V#c&F#%)NAa3g8W2+- zEl&GXhlZ7ok$i==C04)2i=f-eB7xP+xyjJrO zueP=&C^=-WuDM9Dsesu;QM$^p*P}47DmNM|K4JJ<=iex;m9mNTIZgtATOss)kSWo1 z`__LO95(_pq&Lw~-iRrlE+dXYyP3p5UTfMiM%4>qiVP?9`ZdzO^o-2Sjn#5FbUM}DnCBRcQLsG$wfGAe9U8ni;N>8Dlm--SBRMPO);q zz0_75;Qm_|Hi}7C4iWWf4)KwSdi&oDE$wHKF?ghi{?^%*uNvRa(kOL9sPcLmn5-*B^9WBR zJ{C}Dj&DzvobBb47;BPg_J5OezOcqe8)Ra>zRl*Qz^v`NkLDT%y`gO=1;Xx?zDy?_ zuR}|pD!AJ=v~bp}-F=uZU}6%8U|o!kh7dpTP*CnbsQ-OXc^F`OCx$aD@*3oEJm??p z2u8}s;p!@NfFD22U-pIea<$zcy@P`0SaW1?CU3>afQc2FL6G{pJPnt~2BzHp?)*dLl;q&=Z63JPH(S84d zJS!uGe&Bj|KAv++2DaRvIbssLt4kla6#O}^f?*HBZZtC9>5s3~4k)bld{(5^`Udgl znI3`BolvYnGt|&cOkq^Dmy31nu48sw2QaUF+*+9>Y6-Cu?C?fKECdl>W@dAqQETuk zhc~f#P20HLNhLCLTg;mgJ}7^f>4U~emV&?yXV_dPP9fEUa^U|eQYKeEd$h3qp43M* zD&o&Y8}<)2V;uSOfYALG`1l2coiyq?5D74W&%8%GwA!}pQmR!Um?}JZl++K@s^91~ z<#ho!sm_~rSk=A0t=z@mQRy0qcDv*z4B@S648?~=3B5OHC)=GiT;AxKOwH^ zZt*crO^1loxO)ec9gifyi(!+`0wxjkHtl<}If{I6bq}I^zQYweqrWQrY!@q+;v;-3 zN`TO`GYQwHa5H5ea@7J?ZT=;P)2zJ`$AR+o&ItPQ1z(yxOkn!eI})=c?fSUEGdm+^ z#{n;QSNMSW@Imsx$a9;Jt9sVsgVec?))SBVg^WA`{#OR}Z zXOu(C9l!BDCiQj=k))Z)bs}Qo@!h|_38QSc+$ap;C_eJH$vf6gR*#Kle!LX=Sn3i6 z;4E69PvGD1hpG0|C7XXw`8Y*Hwb&!X@@DWdpnSw~c0OCpA#XuAG9jGplEkNa$Ci?;Y0iFw({O86(z)cC zy`HWtwZ-+@Sq*#&tPRq<&$f+$=~7e4kLg>_ZXMuCOzc?tWpf~ zLr?^dJky#-xj*vu+eO$jh!IAo!D8(@uev$2qZH}vW>w||SNn)KCau=-Ss_^7VBW0E zaPDJM>>0i@y+7)f)G!RsKW`Qe*8X*nnyj+NoY=IECVcVi`Wq~0bN!>;|>TicK ztsT$4w-fg!-(@c}{_|&}hwi9m!~!T_)<+MxN9yrJP(s&B*P=msq3y)rg8uK{S#UXV z)u^L`1d2?%r5EwJA8CD}&MPGYK=!l#TA0hL!x9N~w;7)}sBT#>IJ_drfLeMOrq}BSt|d)cIGtms z>jq?q=v^2pV(OAU%bku``Kr3{-&&2fga1ehWGP1?SE!pD!W*}{hMPK2oe@ip`wZ=j zaU)h|1f<+LnY^kcj@7*5w|wK8gSbB!MSDJ9MhGq~6u{<8<2!Y#-mFExw))ydqI?}A z#AgS)MQt*$4qGxl1y0db+B}G9D{_P__{?3=KVmFSr|pCx@{Ubw4W<782` zfE(o=i|{r{KLa`qZD(2&)=}5>8faxMLJN%Eph11A68L7<$4({<$@vEyQj329DpU*# zjYC7En^Th6eO5~GC@zI;835VUS|$&hPTTe>yt)o zzr^*qmdIHqh;k-eZ&x04D67Iy$5nqbx~W`WXPdse;`j^Vr)3kW3L2d%uO}~{Tq9;V z|G9c$kJ1kKFmV zxEvBHk7ToCs_DH5y*y2|*{>KgCFr66)-bW;JryDR=mN~mrPG}|0oCGr9kl0Fp>kij zsB`%ZrzoAT#j@{&WA9~QkEx9gjq6uyUjqv^&& z%hbDP-+Nx=3lq+;?ct-wI|$}C+^5nJ@9&pdLnV{Sw%|1ldGkwb?c9!Q7~v6Tz1Jvr z#Yfa<`~@Sh1#`wiS8u8KKKXICoGd5R(HU{tq+wcYcq7S8a4-Y;%-G>_rV+lP%1c(0 zC=pHh|iqh3v}^gM5Ua}k8t7`Sj~d5=qoJ$Yu;P?{{Gr1hG2uP~~A z*&mU+pX;Fa0q(30-*qM#7E$o#Fl={f(oNJnlMN9EF5#*+}~H? z*Pt>ljm}*Su9(~ap6`jFLYx-1bOv~k2Kc2TS8K<(Rg(}d_TmPvN5!|KHkju`x^Om* z#GIgVAOgP!CS04!$}a}R4}URAe03j|s+2M;wsF$HQ;y%v^e8}rY~Ba0D00q>AHGtU zTk4i>$cO;MoD%VdaSE>6P#?fVriA2?m!ngN?p)3)Lq#J$IU+ z>#`j`RiB8Iq(&5S!!fUx=oZSh!G@_+UP3c@LMnlIaU!a*_s=W6p3(%aq`+8$yokJ_ zYf#f`(8_!2P5+qArK#ORXU|87=Bs|8h@qRzk8fI4XAlvD`Z;ZBR-fThgJwE0XDcmK zp~|cf?IMsh$I3Z*+vVb37!zS=FxL)md{oZqzhSa zZFLIZs`5e!v7lY_)(A55G8|@e`OfVZb_g-InW=qqEnjWskni+C%d_6VEY)#SRqfNNyTG%cjcu6=l_>!8ACEPp>!j`0BPfwI%WHLk0ivAg2|54AgRI&JTGO1Fy=6 z8VIokB)D}X>_$T+{{{PTkRV?tX4iIKmH$I^L6xUTY>cuTh&MaFS*Y#=Sp%Y0UH#{%o+GY5)MbDuc8sx&@G~Nxzvb-{yXd|e}WUNMe z*Upq`F7|6@^w-L@fDK;idL67+JA@wXVx;?m4gC69^NGYetDmM~RUJNsFxCvP~J7=|jBiTN-# z{|lF?2HVsxpy51(v+=uqlys8N1Gu)!Oykk;y!|PCE5yah@PlsN{aoEUwXANz;(cDp zAe?QjS~`(YGKSxjmo>j%oa82;6P&sS@ty&f&r$38UPa4rl#KovC7>I@4avlK1rdo5 z?RHq^OmI}YjE+#=ir}j|>un;FdR|tMLSWeZ$l>6(8#peLuB?W3g)ue-$e1}{Ok~_G z%O@6X6RWJTlneM2*Oz=mQO|p8=b|Hu%(hP9-d9ivgwfqky|GEf>BtWcVh;VaE{RJy z^I*zP!O7xs&z9il)I?hiY)T!rGbGUme{=BkF!I)$W=wm-3psVuhY0Z%3#+E4b$Ezv z&hKS;IeSZ0>Xs(yu1ArW8#jg7uH1sjQidjW`Msa%OZh@WQp-&?76zZhk$6a?`R+7w zrnevwF(E9$VR4bSGjGD-MEwqw>OKR4l_d`bG%0fxUY<<{>Q6i#13?#k5fa5^aI=5KPV2zKlV6Y37JIpaMQ@tsg2jD<3b1%ryNcSZuiLM+;!$1ta-F4Dk zF27o;T1I}%fFp`fb`?`EyE#6=_Lm@0-=LI%Vt_|!Ys~-YJJC6+IQ)i7P@-{%KhGub zcWImGgt3fv$RxD)q%IgaXe%GvhI81^ui-e&olDigakQBK)KPP|PDb&({Vk)5wxZC! z2|llP)4Ik6OB?W{>(L-wYZ&Eo^)lD(2|a}1@Ib2q=VAUk>A~XKlUN&jF7q#F2;_5y zyq802-D)Wyv3(hkOWi1ktejEW>x)y>e=8Sv<24_ZmPGVt@nId|h8T25t#!Y6^_Mu3 zBt62P-^-W~7MQwuJ!NTV4~tsLahOe3qwr0J(cU&|>uFDrm!Bp9BE|a^HjS#K)Yrl> zW_aDPhy(H{iRIKf?AK*fOJaIOjaFMxR^Aj>l;{5Fyk!WEGj-x-#soW z=$6-+Dw4L+9IDYh7sh2=NNE`))6aQZ1(+5j%!QT~UED4T2$ZXwpfgns9h*Srsco>P z7K{~m?)4mcZ2TLWv!MXpLtn@RYVnB@hNxIevnTDkVw_8l$-`e+`+Du?juRM zRbwf$)D-T3)oa$=ly>h7C==^|&8y#TgMgv8|PjUH>S;09&bx ztz*-yhhBS?*@np@Tz$lIw#usUhH>JMGnu$)Fp+|5y1>d!1)bv~*W2>NB-3BQf^&Y- zZV(SA{u_{FCC4u7Um0iDs8c#z#hH1U9#lrS^up|%Eih{l*mw*;lRGhVHRj`?gS+;4 zU0FH^9}3<+pVTy(lf?5mq5$!~-A=cGn+DNBd`mR+l|c$n2+4(c$f6V`Ho3}XOWpBe zS$(D4BBvnjZgmndG6vZ#F(u^CkjV~})+K)j`e@>_FEHZeCmryTML9<$Va5LXr8ALE zU^M_fl7g9J;QdRPB}=^`;_o0H@wc-rLUW2e}_DGA$D%3b@m_gNex9GQm3ToW5Ne3xoxCx{`a$As)`07m$2sr!tF!BiQ4Cst2?{d9!!`kZ$69Au3pq6Oju$P*{u$pOROP9?5Ps@3w(@vp})&qBo#fmyZV=?g904o!%H zlKp8I*Z3;9UVgV8CjKcT%nt9IDSDQpozx`AL1w|vwAUa~+<^Z<+B*hW_OxxjW!pBp zY<1bTja{~Fqf1@3?dq~^+cvxGQ_ugIcjh^7%*33C^I^xnSLVu$+!<>}+*hv5-{k|z zj_L|O-WC>TYQt5`ezbIsSiY{Bo#>VMH~zy}qO+GjJV|FaO>C5>a1oV)nxj-(?uW7YwX25`)24bjlFT%;V1yZv{HgL!0xocOGPmA0Xe0BQLzr6= zMGcYVxH)(Y!ITGMVuSaRr}?!ujc-)av2uP)0=EmNY+EXgP`t~5z5edNf|H{9`x{vk zY-=kc|2lutMJ(dd@JDVs`vPKHc2IWcCC2Umu|bGIs3p3UrGF?`3zc^DV$#R0v=$UT zxY4o1=hsWz{HToq0711KH{?r2HS395zI8K z;Q>yyDdF4`%$S;j4c)bivKI&x{uYIu_aD(v9P<2loR0D~{dD*-Mk=J9d`lWcx3c*k zW5|1xBFAdR{cKZuB_7Y3H62(Dm7l9#;u^t)&G9w4y>-d_@QnzG9VS}{qA>>iIkDYO zH<>#&ju)Gr17}(Gy@!h2*C}d4(8CX7$UepK^8-RH8fU48(McXgWlD;cLD{L&6bqF^ zEU#S0d`5coB8L_^)l~bda|(g!Jk6-Zknv%yep;DJ81JP9(jvLSL37hOmt0y-GQ5&l z>bky54CF;LiY;Y4KtdWB@!{1}`07av*wV|rkxS5c^e(M|QV(K_%~&%-O1c9lUrs^=s+6=;%fa5n-+S$oKL>nNk^re#nabxc>}O zG`=CHXfIiKBIUblZ}}k*KzeW1CK4I*s|8mGwbevT|0J9jJ6(@)Y+4HX)E%t71C@GP z93fCwStoYna^W^KySbc@a`_G=CcYA{WNT2&gW5H(Gm$Lg2m{82_T54EmCf!KSZTvK z{p7ln5}@ZYu(KEWP&ZYxZpFzhfEv_1H@-1*&NRDaOG;OO?BQwhyz`~F(G7h4I@NS8 z#RFObT9}+0vtGnzUDQz_zSzCHvW2QELQ5{KUZf3pOC}K~{Hs)RFH?y%Mn5nu#1kxa zRqQs-LS4|G7UTMHgi7 zB=_ivjF>D<6cnpNZo(dDEJ34d`{fSM*P#=9OLKM6x3BB|Eg3NDH4i1clyV+#}b zW*>in%%$1O37zcQONApVTur4s>Si5HtYk@3fbLvI6*R~lpKC|129bLENkhKq7e|DgfcLTnz$)(8I?vEa9T@yvQaakmv! z;FH^2FF+w9RZG?VO!WB|a=K}A!L{H~o0KUj>92RH!DvClW?3=Zb2Lb?p;8;Dap-pW~*VAKr#<@d&G5l??&DLeYLZ$>)Gfcgf zD({*7JcjL7Z!l)Sa)L(pIw|?va$Rm45R4gL3+p3ZIh&B*^pHvB7mut({4^#kbY}hnMxMi`@OXopLe!=5KJE90yhi2qR%XFYdi$zBw!C*n;AoZt$ds(u_5=I zz@#9XNvY*v@lCGXY5NAXb{@QY9xO$&8>4|g2>4~0E86KD^1HKM{`OTVh$v*#dZdPx9*l19309iQO6T0_R&+-Tv4jgg1Lz4$(e7%HqVg%!5+waEiU9 z%cNW%>|iCI+H3{MVjvAR8?+n!Cp9e zUfw(V?9F4Y8Dy+0TD?}v7;fu&0=n76IG*N-SDr>sI9EJ$_1`jBa*H%*2`olF%>~zJ z!KOcb9n)p$$VVmGN%7pfEa*5bJgxVF1h*-$6*wMfb6yA&%90u`ng+eYghC}H^_dW( z#C!|%aFV$?yE}I1s=i7-lvjkd8qk|9?d zZy*Vq@G4d@ox$xgd3RL2TO`cvjkk(_iRJ#`wbr&w%kZk~I^!_$XEE!BLyZ=(-YTvi z*s1&IX*1;7m4{btFe|t8<`rKIfABxo2>IF{PB|)PJ z@sq>#!TyoCk2$gUU8igMbW#?vkI8{g3HPz?P@SAAUyouBTZBR6p$ zph=`4H?uw)+m;zxeYThO+@hBCs zhJFw1ozFGYbbh>xVb|a(sZXl%_JLN%Rh*xX9Px9*gL|fPZg(l0`)x*h6vfwa9SHTf zz+K|4hd+wu3OibyvP`RwgCpY9VgAXZmz@c99645EYQg0VgJm-iERGhyKP&nxQbOB<%VPMwhlYgj?rGHo#y*Itc;dbY3i^Fk8&8TSq06P0S;5VPyxqePHRj#Gvvz%B_7Jf~qH6IATHgqO_`)YHsGu*__!xc}QjZTle z&pl%Y_A%R#5cvpbn3OfL#8k?#ZTk=gbTmxtS8I`KYkm zcOBV5-9W5xJmg%Tft7xnf)p&LOd1|6E{ofv1fX^USL!b864XM$nwnC!y~A1%JKv^_ zto2VY-q*RqbTkCw!`~h7coYsIQ%y`=VJ-YUW-_)1CNaI+Xdj07*M$^Qlk}h9>e@|% z!zdZ9D)J1zk__7U*D{z*vmlHT!#uzL)G|0KYn9Pjl=EsS)nfw>IZUvq%JjWcV2Z-s zmbTI`ADG#NJwu-Dsw1xQQ7@}kwx3`wU{+bZf#d5L5~hj}IsP^^B-1&km78N`fS*h! z+kx~zUgI43k`Z7L#(ub)2zJXiIUME7NhR#iH>u>}Y(Mp_FbGbHCH#_{do}XMIKB~l zIfTH#52Ikp^qFirc8XlF2FllCfb2J2DbXk$yxC&2E5{}Hof4TbP2!I3fOQ=CGr;LC zy}&-o7eVNCtR)72(=nmUA|<3$y!zYqi?tb{pS(Lw$$+9(*XUb+hc9^#m#PlYOOH7j<2!<~xEhVTz7Q%&*hNtS%I2Hqke-rMua28H~ZmIWz|E#nS zy-FeVy-1qvj+g9C(Plk`1t-DrITM;Svg}%0POiL@?;z<+ocP0+MbhX02+N( zS&E8p?UWiv3+uFGmc3A&RK)$o2ng!0SbW3AwN$S`(5I+bJ8fyY;U!sWN$G~rzFlo7V*>IkQ`*9kl4(r^FphONJ2n}nauwTQ*cdbMRXNYNNV zO^^w=@?jpCJOnnDa>8Ppmx|K1v;BSj+#BW^8mHlSBOEPjR^aLj`*&Ki{^NPIwlQyP z1I{%N%!Q(qxQd7nxOI;vkq4gq(iB|OXqoFtr}hT$D~U#RKli?Z+Va~r{7jhrJnqNQ zjl8USC9t?n|8_ zy4wiqPeC1Dyz$>)G2UvyaEy906u!}4$ICJKTfw!W?`9M&X1_@dPEg9(99!(tF2wY> zw2VR~ps!FIGUT%C$b=L6bMt6Oqr=`}nmhL%1?K5@5_$|l9C3M%I&#JhwyQE*_m_?! z*Eo(Gj=GE{9H;;liG%=d+4*(f$tbYR)PNx73P8!%)1?83PZ|>|!}d-)QO)shdax={ zT&1Y2GWtlpQxMMOpHTd=pPXLOj=X5k>@QA+_(}F(Ju0B#oI0($Rj*#U!3HwYW$)@s zF0t!N$Qgt}gW7!(*OEoG1HGrZG4;khwIE7kO4sUkHwtXK6mprdZ9bKiY=MTBEId%~ z%7CU2S{f5d^~^laUdade(nzTr=~Cqdp(Rk2uxc2}D{!rI8%Dkj)I)@j)nePZRcZc} zVvrlpp23O}xIb>4O&cFN8)gq>kMyqotvdd5%o|EZEe8p`xXsM4YtDp40IxZ@vEf({ zVfRw)I!x`OTRlF6&A^1hqe97=Xif?kB^Nw|i8N=!rC_$(Vq`Av9Fabxi=Z9x{+BAi z?ej)CZ==J8UQ$rYs|^HqTiT&`^SbHn&_@oU^erX}efVE3<^}ljehy^VZY|15^Lp634OLur zPz7H5hj8F8^US# zLNX9_`E_U3iXHA&n@If2Y2{p*67A;Q=A1Fw&ZSmv_OFK*PVFizG{p2=Y6i+QVSN?4 z1WjBfQ)RvGUVm%Tn!E}sx%uU+;0?G*GW<;=BUW>5Wh{eofXacQxrJ+OML>r{(w=ns zA<{$^bp5>G7kx~Jh#R1gADE3V*&(TPl;(;Ks%(EpdfUO^+-)kO1GlY@P>HQfixhdP3OFS75-@tIl&?M{NIEt6Y zvVrdJY?dF-wl=4%gUhwp$wqS+M?rJ>?B@eQ-$}DWnwMpS2<^< z*%?18Yi>ezM^!a*U$2H8#GPtB zId&@PA50bpKT6|WoJXl`_U5q%t*J!wS6mc~StScGifM8sEBwy?vNtZ>hsagEt&NiR zU!pC*U4bE|AG>NmUseAK3a%^voZEaoNgJV zThV*r?lkWObwvp3FvShwgr)aZ7)h2~-V ztaD~~qfI%q`iJg2(o}k)d_cCg6sFB(4&G|qdno7p?yXFlNR8UD-??fYBABy=osGv1 zJO+8-%mym`bh0ozzfoBf`VdWZLgy|Z-sQkw29d!0ujSEkaXX>bbNYP_ma!s4(pOA1xE^yaX{Ul~J}Vh*R_ zcsl52P?cPfIfU|Ar28{c!Gc}fO|g25G=ih9_*zY-WpeESSnWxaG}Z+I7L8u5Le@DW zAYW7RW3vo|l=Wj9E|(fEu+A6m$GStafwC2;0>`235--eO<}wFk04H^kC~1t;=U+sH ze}qRql=jLMk9ighmWRjjZY;?(%YVc!V*~>sYemE-GsjL8<>rfI5-$fnXb}55J^bX{ z62PbMJb~b)U)x!{q7Cc2eVMueI+HGHwSe#{G;pVaO_i~1m-LZffBfmIvn-q#%m znTicTTX*~p(GZs+4~laS#7QX62JRx(FJ;lDct6Bld#A|(bUC5&d&hQ?p-B5+CGwEY z*1ON>b!HBqXi{a9p!yU%P+As9Dq5R(xbF)kkbHs2b4rcFQs#3YLGDwwRPUuv;M{}0 z;ed!*6FIK7TWqF*y1+*&3`xG9L%tpy4IEIJeKGnfvY&@a6Jx9uKLtZ-82?+@FmgcZ zT2%mepbI(>A^@^QM1-LUR%>Jhy}E?!rV{WA>SJj%o)Xo`smAfX@z=F6gG{*CT4_mH zone(x0rL6u?pun`?9P4WJ=yU6kUvbqfg!7z=n3)lCgf)xg$Zr$S_iWQfdu4x=4rqmZhz*h`pVJq`?>7f_OIW_mr<>rP#m6;h<6NCd$R2Y_ASpb< zPr@7GDXUX*L)hN|w0CXQZ1OC}o5tl-KmeJxd8#R2Jk5;*q*{XmMG}D}Imh!GXgQ~c zb5a7m0y~PZgKmmw$q=$0;3%5;!pxWA1E)5NoMi1l@wvw;+E2P_L8-~YMw3nh9c^rQ z1umR^t*T@nV(;tlGo)~?o6;UpVcK@!bRm}_uo(Q#j-F6aCx zi_=5RlsN+Bd*3Jn+)sMGkUQ$<3!7k%Y_njIYw{4~;%M?iB#}p3IlGK84A}2?0-SH! zXA??(x77~ra;ebVra^Ma0Sc()V;?=s)&19#L4Dx`jBdjQRv3hCd&2?wQ)Q9z1##<~ zjREspKNrYO@U62eDK1G1N;?g_V|N*_yCcJ@1~T&lVDxZ7&#y;-n|`qD1>B>^nbda8 z$}$#ICfoL^_i76U8?MI?c^4@ODAwa|9+0&Z?2aqz+uwG^O0gA>{XK^7LOK@TO?`M; z#j{)tQ@X{WBB`+W><*l#DSDo9s>@mnSaUy`oP^BBJ%#<%qB}7&TEE)x*_~hzvuw3V=D8s~im)}R6N@^F=#MwoclCtcdd23#QB;PT7pe8zB@(g^I& zFnA`EFQF$|CGC%qGLa#kBS&ds%2z(8Sr(_7Yf;MCCcnW|aFgid$d+$^J+#k+mzQ0# zgg7>vJm7-3!Vr(j;v9PP#pzcs5YFK4{bDvHi7Fci<${uwc{#50G`kO^??+VBz_rFH5~2tU{s`e^2bbj!wjd~;&ORX`{2u|S19F9h@Yj;Nw?ZM4IA-8z-payS` z_FlwY?UC1^HF01+c$OtO`LPTidjiT=MjcRe~ec?_ro5K>{V zT~8;#&1H4BwnJM5z=4+ zy}w%RO{F9OI@uj3rg}?8VaWGIGOeZZqFJCU4G+&F_xTGf#s=152M>1}O>P}H2kkS$ zVB5s8`c?05W1>_23vPEQAOXg0CcL?}b(#H@-S7F(10TOpUOJdX}Ex}n|(|74C1jz`nb<-8JrHq=BvY= z3dh5wq4K0}A^rJ4nE$ZgvMlAcKSC9@)ft!?)gPL|tZJ3mP+!q)-^TSab^#vBHJVd zw?qrdV(0wmHucm}cQa-vQ4A3T7(K6Qj8GnR)hH1Nl<>Fw^t;kY(SVQYf^s%?%ndHa z!%FBi(_eO~KGHh-yD)-YK6e$pdOUI{?rUj;9PV}lvE%F_m5eNH>WqENVId6qh3j4S z7ix5VYs*EavzI-6jQ&+@Ipog#+4KWiR%3>D-(Q5pfJ9{cUVMegA?4kHJ?P zXZ2fmGVksvn%8V$FTONxnTMr?g+srPFY>?WII=6222cJ8TJc!*c|CGXfh->$hKyxY z=<#r%WGWfut_U8B*jcrz;nZY!ADB#~+_6eeQCT1dt1k|mK-8O& z?4uV@cj?SN3Xe0Aype~!McdwaW4}t+<|3}t3P>P?jsa_Qp|HH66aRUoUO5ir|H%J^ zd&W{@lM<-jW5tgNKMn-WjN-R~V&~!QkkPHQD>^MST6+UVuz-_lQB)_~d zQW;R}qjkM(vBE?B9*~vv=sbK33&;fT-neV$a=vACtU)delHTfzH`Sw>20*o?9IX~@ zN*Sl0F8@6jdD=|T{}Accf9U5-(Wi32A^AStuFw?v?^@^75#@bW5 zw%ha*dF5t2`d8p52qo8TZ+UGHm>dqMyG+Q!ERdg7i;mAVX~6~Fi%nkzb(1zdYvPcP z^xzC~pN-x%rM$}`YAJ<^P;(iEAZm=QBktlDJnJGR1}SWoJau#h;1dNvi4#T=Ae@sn zP=9k9IK&jzO;Zh;8xDC|lQqz!vrO%uft<`{@x#!$DD~^Ikm=%X9>-+uI`Qz5v1Qvz zTT=l-I_+B3!DQo#vb1D+I->kq<19{!FOzm;X@`4B4x}HIwtjeG3)5s$-uvVfwT`qH z^w2Ca;91V+eUy@2g}&)q5id8-HtRo_jh#ij;x?=<-Fr(l-tbOU7sssHGTHs>efAeF&zgXUEu-ixrS9u5lTfCxcl0z5rp z-y!vj_c}F+v3OAg?S0;A3QY2hza{j^L`(RZ#7VsYWcks;pudE7?f{C{X>aDKaX(&i za$RHKnI#mQ}=+aX-=l=@pUS#w*ou?D0aE z%`YVpN9}+rXBK{ni=4CkA6W2X)T;z|0-MsR3VUfF+Jb_sKYz|9j^_}5c4S<%{IGO< z-9MiK^giV$B6qk2P%^PRG6tI|gU2otg+^HSm5KfsO_<*W<5vF7RU7Fcpu2o3K>X_E zakMt)C66y9Dy!f1<$+nebtLJjn)yrST$#JlnTpERB=gj1^p(1{Ja3%algf<+6w@_6 z*eROx=J>0NmHlDsNF@q2ZlXcQL}T9Rl}+&$MfC-)_HMEYpcICofD=v51O)}HZ(qUc zQ@RM9FQ?(aD5CwH zo8B(D8^GsMJ-%RQ7yFN}l$Ta!mgYa@SEJD{VC}Ar6DvT-(hI8EKkctvFAoMib3N=G zY%g>_MFszMBqQ_CZ|GB2ZI`P!JM5Lf&LB5}nl|n_2b2xe`b~v=-0%-s7JAx9@FY4w zOec}7QPXY;JxHK*u~e2t1t>$&Gj2cdtnFQfO=a^Ty0$;6zVDUgTek*U&oYt? zwexEyQLF{NdDMx^+sfXz1a9Q69~f%KNm?hHR#A;h2Y&WABprht9D*Gw9{RJcx)v&qT20LWR)yR`H zdC7Ki1qDw6BBt`7KPK0o+U6vjqTVLL5I?g7$*q0*+DDbq&fOw^O(Y$RjJ>0$V@1Cp z9XM8auX(Lnw|&iA?dyRVWd3kg!MgDwZ)%ut@<4af%`Nyo%H}=yQwj+QT9#pK1h!C0 znxp(##;c`|C@#odpVE{@;*iil*f=qP3rsk;QYVBpW zx<>EF9o#)TtX+DEJz0wnN1EK;BG0p4IG>IK^L14(UWK~=!BF~?^~#$!jR>c9OycQs z#cD<_xR%uaY3C%B%K`7ST5JZ(OOuFzNc1jmS1p@1;6hC*`^-!& z5dAAWj(yk2YR9@5vk69_rtN$#%Z=vR0FM_I@qFVQt5$r7Sw!EfjvzD)r;LC-wH_r+ z?|}S6qIU|c$4_$lSY?HAc33>B7|XUQYfV6tcmJ;b<>$&PUBs_!_tuhUc*Ct#{76+S z$Bx}w_>Vsn)?hz8T20@Iaycj3kta%x$>E?-lo$qEUEj;_hbSDn#E8~Lr+f(tyM!kX z=L-hU%$24cH-MaU-DH^?R* zL6o^&hV{!*=}tJpM%v|t3X>!PpM9gz)0r`ZJGVrMaS<$Cw^^IDjdj`EXuEv}**iWp z4$M#{YK)Dzw+rHLhpt-|gy3twy}&V^yN1UT?`64F$Gi$jQwmGb5^r5wuy^M!o})8> z7j=1u@(p~oC1PpfhzrnmN(w4c((|L=D|VbVIasiPJ;{vHb1sW_U(onlGB4~Cou4@{ zZueeLiiXuxrAKg}BlxcN&y>Tg^PetCz0xPW0+^Cc=oH3$!TVSl7izMduWwqKwxQ42 zcsYQdI~nQmgtnole`=H9H8!U!%6LY~wjEViaN_-Dqzarp0*N}p_Y)h|K<17P84>x@ z*sa|mR%ucf_(Q^fi@z~G*mdEi@COa2UXaa1$COosWC-bcU{|;Z!`1`F{|<)D#`GWb z=KmWETT?+zQb_$@Fl?3o6AYX6n}yB7Ld3?xLB!6*{vRl8CMFmLVMBWffQ6a4GZFj0 zE=2%N#sFLA?-tD8bZALuLu(6TL0dCx0MR!)TG<(3qxRhg41>o1Xv6y7LD)jyC~T2$ z7`E6q4qJjjl0k|=`WuTa`#-?giVR8&%HMcw)o(zy`ag(lEr$PuWE(meTUZ!dI2yay zF#HocTUeU_zC&k#qlJ?dgQ4>`N88BI*viTJU*K#bLq`T9M?+(PHNf<{=3kNHzkbR; zp%uXSe-?ko|E~D&3~m!UYwPb$zERx&v;#P}7+Ny`+>NabZT`V>y8;+Y?OYtc>D*?H z0K@N5{3oT`@*hsOHNeT~A6U1og)M-=*2Tu?oA_;E_Ahw1-FJaKgT0|6!1kY^{1g3q zAm3QRaVLQ5H#FSI!kyvYv*OI)Z0-mEFgUx}eM7@tY)!t$V{GRL_+R{R22X&a-TxaR z{tq$yzd^*A|Kl;IyLGZQhfb8!3@Qk>;qPsqP-BVuO%#;*T=WQfP8z;dcs z5USfmMQACG0=%qdTPD%z%3LsGq^atyy(Ti5C|Qo9Sy)WTYzk4@EJCDO3tg+wLsTLg z7nJBD=%u87DkTb$@PsU4P*)+&?rs9~cD6p!zI)?0FfN^CvuLu!$(IU!Totl31dMJHUe=97zi%F31{mHxe%ZhKMocISt=+?E#Mz;_Qh6`N@Qa5g(n!WXSp}_-;TXYqZ;cf*sshdz~C( z%zlT;-ys-2uLl<8&Hz|39{x6fe@M*0;hvIunhPil=RFM)48ImI7Pw&<;@Hi49 zf}0>wMgnjr|3K!OP_P>?HkeT?up6Y=mR`dB$fED_C?Gqe)>!Ds#3;W(_x(!|-gz~8 z#GwlIrz#yFVHq8`{N?iezFD$W62ZA+2H}%KU_wwaVl(zVqR)&s4#tWD%yr=Y3cvc0 z_o5g{2qFWK_|U{SskFoVGxmP~A;VEVN33v?phZ!U1lR0Hs1_1euc9Av8iN2wM~ae( z`q4unG(>pC7R$kLfD9IzPaH%<<>FNbLWq+TR*S_;Kws=K?+ObP#%gfVLM*Z3TxwIG z_QV4v*LkRj2Kbv3SF+BbGxid*i-ki2r{n?;ljx*A6Ay;xQelNVK;z-w+4YxDqGTa( zLTSVG?bw5n`%K97FuJ|VOc08j?0Df2^K<7?^AUcApup@KQ1QPOv^x%{5O%Xw3tCN5 zQu#4*a~U!t8B0PY!xf{~nrZ;!YFi<_StKLAQ?}A5>O-ZS#5^+PK#mRiUvh%)T~Szw z$eslLtYa0?CHoRd`=$Jz<90x?dza+;x24~2 zg&4RmHv5KXffgAxV>bl(Ex`8*2P(Fv0dqo-EO5Gtz$knLNt`wFYnKE$9+xDDt1CQp zQu&9eBbxB|@T}AdG#Y%$yH3$Jt z1kptE;4ZACC8AKd3o6KD>LU13G&EFHVt)fn*cL1~rRaqv7zJWvT)`EnsbnZLF>*P| z0b%%{8$^G2P=$VU27-5nXoym8QMW{YbX0{9?@@98IAS)Xzz9P*EPZI-xu4pB`vZD3 z52B12KWPY&v66eO=Pq5NJ6R1sMuW#V27kROjc1F6CYf$3Bk*-gkaWq7qWI&yPVt{WNOT>wa@MQEW5+yJVo zH?cCmQTg0*`>rEZu4XK`r%4=ZOD+|1+B+phXSciWAXG3@o|IXO*{@{O7C#=fi-#71 z?|y|%VR9vLHf^=+7?R;QntOLm&s5oQHZ%noe$-yc1q`Ac2o`_Nm!$V4{S}r^G5c9o zH>>?(%wo>wtFm9t(-wxuP$Lsg8WvIgdNtZSw+{iA<(tfKtN9x#O#LVSi@E5$T}brR z`SvL2`)dkWYKUKVa~ShE!nkDB$%SyHVs+DSijGD1(i~fzN20R(?4RYAZJ!3UgSbm% zR28 zK~HqHr9jt|Mzyy+@{?GB_?%5O$mtd zQaz%-Gjo}o!HxMm2YYXh5bZ>8(mTtpNh6i+m>{6Ud{iUQxD&hUif~i#pqIzM_*q~u z=3D)h>~+1|a6i7@Ii}(=)o~h5Hwv(eVUSR?nWX0O#J=mjfunP-T-wxgoY_kM8gI~} zJonE|r-5ze{UH5Wq&YckZ&EBPsWiEazpRCU?@r#lL1M>4Jh|bfrh3<*`JnCgp)f0z z{GspjA_+@d0x>G&mJHZ3ugT#U+?)75iUH0bRAI^|_wZZI4!fMXDysDSvz7K#Zu9dJ zSP!?nnwCMw#$5!k=(tN-VZ$MMdn&%ZB@z44##zL|$L?v5Kh5u3V_NssIwI^t8E>(^ z3Bm?v`@|n_q0Qr|FirBSo-2;WPUG2CfN($Sp*z{A1C zFV+>TL+JX%x1-61 zho-dpKaQ-|wNnVoS9O$EKZI$vQ_Z9rqtrXsHIS9k}bK;F%y=?|(l`>?3 zwTjQxyxzO!1@5nEP3v;srW+5zIYx%X|8DDL=&Cgr6!2Jmz5neeu4jM;&~(fuBk&Hd zlr~{oj*1-_YbOX-SZ(R7V{WW0U==ARe_PI51i_(tlASdJYuTyAz%&%7JN3 z!i9rL4%@nWVC8i3!z?pn9KHC9TJCkys|k5bmt30Tl6>-{CBqe67z^(tH(PCoy+CL8 zL3grd!5^7ds?3nJTu%(>GJjGA%SwFM!`ym&fEIj>n3uw@&ipE?KUqbH{e+-?>2eiF zw=|?JNKRv9+luh?LTI`qw8CTe_}}WM?^Kk?&d8GJ=T8`h|C@f2S5gzz(EPW4`c^z* z)`n(IM6BO|ovpKwkexe`HXYNy^b;!)+jmaO&c*isUq7+^ANA9J>Ysm!oBt9W|7eVV zYlQzH4E|g8{;yR1zh&>N|1k;wmAx}Fv;WV0{X2VSWoG&|HTrkuf2QwDY;6CZEr4R4 zz!fqt=fERD0(P#D4D8*S!Q9-Qdb4^rH#cyQbd7) znZZ6VqH&X{|R6z0m|G0 z*cq@JOhf<7JopbDUHQpz2Z=V5}K!dossRlH+F~HdmIp3*^jP| zK=T|Z0(P*xQ$rv-J4YbyUp0web6?2dT%|&s4ytLuhzpTm;-p%3x0TdWh>|g3M(9GW22!h%y=U>UQeUcM> z@aFjjz|8DlUOJ!i!5r617)=7;Jd{!0TdY8yrWD0r1zzjy#ud%Y5%by=pK8F{$)|p# zk!v{XY43krXfN=9gvG^$-8hSzca03qAl;d}t4g3}F0Wf57@1er0=9kuZLN5K%3R{@ zep*sN^7t#>FwF9Q+xt-6f7|A-EN12_fXy9 z)^){P+1+EvA8~j_QNH1J4ko_EZ0(JHVLEgUDnG|;kx+ez*&%;B0Eie0b!~{DFHvi|sV%)a_U?vfD=jS9Pk%dA$WP$yNTXLs?87h7@ngWc*^H5|)bM!+TE z4V`*B|Bg2IV|Q8C>RR`va?_VG1^ba-(U&&)Qgh=)z%RR}S;AsFoy)4MuaVG~m^DI~ zwC&Q5GM|h-{@333qq!G1+%4;`F0!oXOT4dAhC6Lwo$rBp>wcY_;zBlm_x<0u9^-1{tOE9aCHE!@i1W z&p0%iW8K83HyTg@*opNo%q@{rM*4hjM$flkr&na-8;Cu1?9g=AH_LTWYqnea(<*+0 z8WANKS$R)tCN$FXyVx|k_IR#%;+4S=DKyh~W6X5HWHQziFrtA@G^h59sW@drJAS3% z2h$1nr33{Rb-$~&`4(Xm2KcSul0`uG)I|zTb9PEBwu2~70(Q8IP47D`pmN;TzN3}f z7WUI&x!^oygw)yR#a3G>Y=Sb$kG(7Rw#SZywziCj0^Z63Y~PmAsy5O6oT#X)U9PS| zF%3dV-*m%A+IS_pI4e~pTzvwp|04i*Rx~nPlh> zy5%^FeN+iGzXcEachbo=4+v8X(@wz^JJ;QnbIyZeZ&c_8r zS()+NH)hA8N(f)3#G9Z@BFh^tnIj#j>ub){Toqt(8CUvH9*Jm%@_`lh0tM zm{jUl1LT6>925IlBRkYiLUuOm`-`#vnjF7Xn(V6;8;7e~k0yI}n~x;cW$}Zzb@QbV z6>^299yax{TehL7U#4vU0}S8%z4#OeiwjAKCHJ%3SPrVY{)YQ5NKrWrB~k_TrLl4^ z!;aPle@xfF88o79f$oMhi7$CnBGU2%=p@z-F+?xX^?9YixQS*0e}Drwqn%+#;PL)u(M`B+BgwHCDQv6!-sqA50E&RC_Qz?BkE+5~C4}Z^>|_gAitc ze|ikp+ledVb>+@q=NP=@*FCZSq7ZnC{leW$exLY9#8{jALG+AXz0&)SgzA!ZBQ<=zhTc1z@43(NFsZR0{OO?5#%KG}c7R_JzS;l1W82$WR&Z2GtNb z)t7(>x7bP;nxXt0?_OVDHLe+^d0VQ)MBj)fpaD&SWU!m|fPH5se6sw1NIUa*sJ{R4 zx2bH&RwOl%kjU(#r0lZqOOovS5<>_rq{z}jRF+Co5+Ri(TP2ZX%NEL#Jqj)AUB7$h z-rFoD-_QH~`^RJMoSD~oZRd5K=ghr_Rf(Cs-l??}nTH;`zKbG0;nNaO*zA(CbE$z; z=2+R@->q6E&_6{$qJ$6NaXaDCFt2=D= z7;w)$?b(Y-Y>ISW)w2Z0%RZ)i^S9pE@V>`NcU&*6NR8TRA0Q}_HE6+esmCJRtZLD( z(_QNw)a%sa2YkOdH5`^FyJ)vRF`Hc&tW^$>qqQcDKQ!;)SkS}KMa$m6_&Ql+~?@5tdPCN z#_^(q?%$tniO{*9V8CafZ(N!m5x=?S`)StO* zX4M(t;`==vsgv(o8)giGKOOAjzBaRR^O46YWN&g==KV=ck-!5i8zsiaHf{=C#+mWC zt3UY?YO-+p_vvHy!uR+(Lj5{6YTqv2?-21L)H&emfsqRnS2adXN|bF}yTN_Yw8~ev zHhK2_s^Kj;tGPAWGCSBpRNPyOt_hcJ-@UARzh;%-+svz8tMju5NqL(kgWQVuptlbN zEG@ps<6m`H&dpFhPB81llFN~gQhsp^lLuaiD&~Hid|0>taQEkM&YzM!E&1HvJ=bLI zcYAS1JbqvNl`GNd_&D)EALs)6{Xiq5IX^$?{i+&fZ$cn>Xe)jzeqjEpdvW^2 z$yY;h*P8q6GIL5223%ku09i^IpSRYy7i=_UjECo;e4I0>c?!>tW4^hR8<%87f+FXYt_l}cD$t9@VO|e z%5f&D_moKU2nY7@uhL$T-4_aelFJ^TPT%4aDBS*T%w$VFF} zkL&s69O$Q(6?dLgn>wPrExGRJ(4>OiMn%!ntPcBF{<#q@)iJv?yv%ND(}>W_OONf>U3aII^c;@4J z13q^RhJ^b>B;Pn~6XbcoO{b3~!WfGl%Zhn2Qy`Go&F}CGCtyEtax>f4z33n5=nuLt zT5gr2Zn~_q=|q`CD0528QlwB6;fR2kRm z@2dB<2w!w1>BITuov8yHMUOXEys1v`+B&`|%jiVuo!39tMQy;${2Jb&DyJ3rAUQJ_VI`e0tUU87T>9%8`>(g~5-i!pT zby}H{Skc~YEY%l%cGRkC{FK|p#+p5gReuMplXWL2N={n%bD3V5eHP7LJ=x}f=S(Pi z6f;-zK2ag%$A!L|P6ylj)CWIBy6;^~er9rR#ZR&ExWfbA>*|XwuXpfp-+Z7f73z7e zH$ee+Kz^WBmdAjwlw>22f0@v5T>l~OM26xa{IzS}BAWYpx++OWcGbkre)m>**s_wp zIN1J$z7u}iE9Al5b15y6#onz!FclYN1Js2_FxW#<-)H zqQL?I&z;xTatQZ46Pqe1+&_KO<)cum$brJH4nqvT^Rd%P%F`#x3ZpLET=M(GNQ?Bj zAmf>3o8OMqx;bi8z3j=nb&_HnxkB-5oA{DopE^ML3 zJr#b>mABTPp7M)NeDEV2UTxQ9vw2|43%wqNBQKvVaKeRLC-c|OIV#~Q@4)2Py9@HER4bj;4THD~L zInT$nTjD3u!<2N~w2V$Fm|X6-PAbEl)UjqCzM|gn%P2u1pa}RMb&D-;udw6}!HIJe zwBBaTH}Xk#yA&&Q-PChQTZ!7!ki#i692vQ*zp=PAt2^<&IhekrAUss+Qf1t2W4xGSCcpfz0gl^)M7W1$d1d=hv3^uzVv${!~g zdGD|`-4kVfJ7J=74hMjF{)Et}XQd-9F)p3_ECoE!?TWHuks>rd{! z^!sO%P|<7!AI{jm6lZlr;L1;Kxs~H%CZ)pa<~wIEXI|Gg%!nY2=)G6iYg$*a_ML;0 zKzed-$=fw1oW`BkmG|EZ414`J;QUGnJ{FIZ=YIDpE=nuLtWlQVenzAwe)BTcuB{?> z9Cws%`F2Tf>XTvP+{f&oTf6kD?GE=GFpogF-|%nGblz5WxIEyJ706)2x z#G*t+><{vhv5u!V9BK+xsv>^FXw`M3E6K7a5csOi&yE?@oYzM!e;XU+eEwyreWq!S zTC2H;&$%Cm$9JkS({sf?S*-`m*wfC}O_~RP z5mzgTLC`kB(_4uh%v6_8tiY=FUfO_+;?&=h@TZY-H;tDCLVlW z*Rix9Ks|PKtbEiV9kmuCrOfl&f24}pDw+R!eqo=2Y~t?ko_hpO_&zCmz1w0pVdaZv zX?AqrrSa3JjK`|3hXs=Ezum#!Bb@j3PHJMGoo?vemnunz#92Px2=`bryOm>HrDN)! ztBG=}GuIBSuuc3bXLxhK>dg34e(lOV`EzdtIWf|YO$XnvOL@`YbGZ2@MkujE+iLYV z`}WO?%PKKhu&~;Dp&99Luo2{Q8px!FQvRDA;QB~A)5r3`n=n_HS)P6$HeVev& z&IdDtwLR?aF2+G%31eBS?{O2m&-?ucvpYPTyt?d$6<@CFZqxBlH(6`elpb`_7juP^ zT~R06;7&=%&WVF-Wu)$~yVbF++NknkfNy3d@x)T?k6-tXmUYLUN8K4X!Rog3z>deY zo#!<7X9ACWkQ#FgPu4gcDF1kA`D%XKJ7%gElE@z36%tBX>mKy#I-Nqzp24_J`AIlg z+IJt$yxx#ul-|%7`r`OTv9$41Ex30lV{~F}If}1JcyPhMQzzkysP-eYnQSkQoaL`9 zzO-27UT)*==*-}}a$dpvU308&eqXmglB02HjQhOAiAVAYo&ihP6>e2ID6RUT{P;@= z;aKJB$kq4X>nd^mkT>9R;mC<}W1lJ8QFPNU;1t&y0+*d##dFuYm;>*!%^zm2cS#+Z z$@@AbuKRT-mNbL&-9LEq-I8#>rDsi9S(k9iyh*(-d-8ts5vQ^D7Qo?C+xcQyR-Q?- zkF~izZM)9Vv0vDYPv%J&&)j)_u@=syyY1t>3C^~oQ&+C?9eEjnbFE0mwhV9K)u??j z+poa;^hNXv{&V+=vI%RyZVU1MH0IH|?$MTr6J4o7y8`z&^F6u{x$^ncjIf`DTV&?! zso3?2>5We{*I)Cy_xf>|oK4GxYdxEzoug426%P+t+g10MbFe2Ud^@orEa^ahzsn~U z;J7Wc8v^vDO&=ncDeR*BHNHp7IGh%y~_{G+U8($|MWl9KQ;r5xEu zzU^$D+-aL;|Mlk#`;ySt0{-bYRk-_z+m&Yg`tuqJ-Rtj*e^udrXd1Eha=b`BO4T#g zNyI`vz6f((dum5gmi5`EH%2Rsy)fslUG88>c_WZz{h?%iyR3W+|H`{$^g8x|fY0R1 zXTPy3;NCydemk-?fL%GQQGbtR5$E)QLCf!lvLm!bi#S=7&OUs(Y1HMO_6wCuBOk=y zzPDZ;m(|gNGdZ4EbGfA3b8xGEvY}4UhrY@E%aV4j(H^Z|Ys;nZM)kn2_xQ$=jd zs8+WYW5+d3&yAQ3AG2;(ZOSB~i}%>Xqz)Bs93vle{InyZ=6Av^c22+ForjkD2pvr4 zR6Dk_e(6UEW&HF6hE$`UE-saB)-eF%%IvdT8aaGg1= z_h~xsMd_PRtLn3*K|eDFA9_R|d~*HQjZ z>=6l>Ytrj)@0*cm9ZQ;EyAmz(CY#-|az-vHWXH}JRYHY{^u&pSHWjt)zn+qXfI~ti zeXe_aNM!4_er&1JpgHmV&cr0%T7KV=x0^>FwaSYpD0pX{)&A6yyL!{5%ypPyi^^Q1 z#T=`)_L>&%yIX2!<(DydtseiX-tWT|)HK1_oQj zL)6=ZP12i#_BnP~W=vJ8@H@)9%`C&`a@YsT8>wwD{Gq_bB_>Q>!t&<@FKi^ADm9KaE4%ajbNFKjb77SK5)@c3Q=OUkSBk*i=m* zAn~HChcht44PDMtePFSJD7^m4W=C=>_xYI6u!zMOiwl$!40Hq6=H0f~&cm`~CjT(& z<D4I8@*t}icrt0XU>tb07AL*J_R{^?hB?ZKr($xXE^cbEIO9OOg=%j69_ zx_2J+NIvPawO-qgV65ai?r9I>Q>8ZC7cO8ls%oBU*~ekDvErdY5}Tynn``Mj)(TOR z3HpZr8m>^WT(RRrXKi4kS(M7-o-9+9#1yHuqVl_S9IN7@EAYokjPGtS;*mUb_Rh`t zz=wyN232GH?>8JwAq+fi?oW$4v0wd+(7lOVpI6Q-y{}!LWGV6tq-k~dbbfqLFl!gM zSQvP4cTc@~%jFZp*W|vxyqI{~FY)P=$lg>RR^d^3MXfB+D>G*HTReA2UwFS{Q}>X} z#aodD6|V|q>ckz?FtH89eo2WOj(m2hFIuL-8l?5dEPkiix~bh>J|)!QpSH9i%vykh zXv_amO5slM6Gg|;v7c4n&v{0Utj$wq$3)0I7O_bGroUD#!8FNIru*eAudcQ2_^y{3 zE3cC;xoGleO3rO#uO@3htP|eA`9k9m%NHJ(3%#LfgSm%C{h#i>qVe&lIr)i3;ddHVXXwQAK`CG5)76e$R&lk*%q(UsLiYXoDBY+K zIkwy&fogZ-sYPZ4+cHAkl9tiRlS$fmHcb# zPNyy}z6~RSKfQI>8`lbgK30BhIq(h`btn722-C7;lmmcJr zF!jPOlW3dsitC?SakDaN89QIZ?v^Wxa`o`PFlCfdtdlhES{2F7D=~Pw{Uk;%?@QlA zwhI5#bgnms9?J6jqQ3f!Oh#{gx<1N5lx^vnrX;Ub>tpVOMz?XfmhQj7clnc>`rPMF zbK*O!bKR;kP9$9E@;cZpr)lEYs`4f)N$1PRt?!wYC5A3my;~FbFWVg!Pn!^oIvOG~ zRG*$)0sPKA;mF1{s4z4W%`Zg?8RD}GZCet%|5SMPF3+;++;1^WiI<dVJYX5=S_Sk=sBt~BsdZJnrkb2#COF&#a2@fw~aZaMCbR9N5YFZcCpSK zeEhM-OW5SX$fAOeCUQ0L7=;v5Ny}YQo!nJDcN9Y=d0cF^C2v0G@v6x@DOBMETCK(* zK;q$=Z6~tol=IHoC?ts$y)ih2(iQk;=314$UFO5e*x2@`!_{fqHtlS69tx`s+&CL$ zjyGTQwem?);+YNq=xrJI*Ai9Vw(`?dYYf2I#N6<4;8!Yi_9A zdl_}ywY##Jo75ISvMaXL<2{pCsehqmja1;*RKZhYk6V)}EnX{qx6f(#iT)zh3 z<|UE)E!N*F_>>$r9IuuaBfC&Bvpl1T;Wc2$)wT#}IV@2y%2*__VPJFhPie?o96 z-dEFSFmnFay+)SV0M@Oo*(03h4{C0+w!M#aPx8q+a&Py`LWO=UTa^d$4YTYj&JopJ zzYK0?baHYfU8^UPa$@ag&mK>GJRJFOzwh^ttHd~dPZivmSaHoeJX_R9W*gh;F6HZv zi(Zhb9!!L5*Ro!9IT4&+7Q;67$~oKF=W}J#?9R^NB`ENs? zWw!dydRZ>-&`@XD5nkBn$eDV5=%UD;^*R?EyGBa{z=_?m?pJAKr z=K^cO$9FXgR||Tr3GPb$!LFa3b5BGhi&wU_3xB$MYEUz)nAFPIiNCcYP3(1LEZe5c zq9pDpWTG#d?q$j5KD z{Lq#>TUYViCNTZ1<_%jX;|=v^KMf6%1VjfO)oiOxe7iP#+i2P9yr22L;a2ReSM;hB z?RN%5mi0aL)7sH{^S-BOOxHfGv&pl~lFN8JPi+a?h#ET3UGk6O((jel;>*(veA24k zyo&REPv($F2-mg^D)>3e%`Gjxb=@cFeaX=R(W{Cz4xdkZ_8fB#wmMa!y4Ty%t)wOHSO^+w7fXUCA9=bD&qRx#m{5TC3|B)Gj`U zQsNpV!?{>%(GwoTiL#eZgQ616W}?SImc)2@+^G9F z_V`CY&ySgcTjG+-3cLE$L>>2E-|C7xdW6MmMI-j1aMsOZF%PyrG6?=IzdC%a(%E%^ zhwccx=)Zk*m&axv8T3Ju)?WtYl1>*7mwn&ob#$MY`X|swATBE9$z&z!*3(vIqFPl+CG zR+RerxFxB#u_S_1N#Aj%yX`@G-zx()Et7-~H}j9pjz5bdZ5#;>T7Onyaq*!{m2%S_ zrHP*>=FXlt7RUc_=hCePr`K)0CK6U-f=$Ud+sQuse#-G3@rqgYPqGL zy1Vh~2ZfDug!c-N1wML5UN~TT%vFGYM9}T@6+OAf*TO4SIzMQ96=QATof34z>D0cK zy@pP5?xsF9Uwb^i$|=5Y$TJxqP#aoR7i<1F`a*A1^0T~`2bS>u6On>Rj~7+J9qIp? z&@6FI(dTfCmRYQwiQ5fp^Uc z99wlR`osDDN6RNxxXyf0(O$znyJ_dgnd6t8X7jhy>^=N^>ip8>(Y7*QPMS7t{2}!+ z-+gz^X%hSP`<)k2t$9jCrZ*=m>r>x7F%pzp@spr4EYLcjGu}8!maEtzdazI^)#l=i zuj{15RZMnBdXb;*BX&$;MNY9SIg1p}5-DVI&b8MARX4hpc67uTJHa?b)m>{N~6~m8@T>IkKN6T};r08H%lQexf_}Cg*Y;6RXRO_#`cn zFez|K@k;e=;i;jeU*E)XZ@8Nit2n{FB=Y9w_a=K}eNA?jSK2M!G&7l&AwQ=*Zu)KM zc*PYDN9UJjO&o2hXLsWrEVc7}Wd=NCNB0yi*Kf)!J-kH4i6zBrJMTJ|$>6a5IpfUp zFJIa09pbGmCi-d#Dp`Mf7vQ*2@a$kwlSZ;os81okUR-T)p2h+9MLt$Jr(eqFZOQN( z+1ELklz*t`wmXk%!Pb1Ugofv1PM@zvPkl>xU9!YQ+0^>8;y*jiR>=KU$(yLsYJbUp z@ZR4=Jnl?aiRe8XwAmR{W@uL?~*?>TsOMhwdCn>_pBhUH6s!; z9eTH3nz7uia~w0erX0FLNTol!=#}1yYR^)gsEzuH-imid-wPP6nmQn`3pA#BRNjiRMaJ9n))lW{aNJ zBHlVn?oBTJKMbE7-oCZ&qFhZOH!42Zy5VKDVZ5w^{O3Xsca!@3?6!e1D>wXRfufcE zLFy}O^9J5t3Fy&Exl7t}_zv4MaW=dBMXNgHNgnDIJ%xg2HbwYJpWQCbX*SWYyR(W7 zou;I1aWCTH1yk-W_YI9#WsX`V_Z*wSb~H-`IF{I7TKeN{q8=}g?*8;DlhNnL&)DAjH6>eg~1{C?;oIFJzUdJd7?1UUGo%2akuUjL7&o3*Sthp`OsMT-qxg(QH|7 zPuSbNiy^b{_W3=wZ_0WwMD9!5KDX!Yo!~W_hhOIp7>aWp7QS)otV-yr_@=ivxA#AN zeQ9=%^V#z1F)N$g;7z6q*55JwqwDgUFx!C#G9rxPJ69Li9zFCpLtJ%*-KZg_GaeH&8z4SQZN-I=5R zSM)A)e)=ZX#Vy7=TScebdZZjH|KadhuVy|o?(ZR-1FLB zKitb!2Z+b~YET+&TEAX%Y?Zlpt_E=E(xifw>I7Z&!tbBgZVj%I5ty@B_aL{t z#f0mzTv;X?DX2M+4bx)t@LNiimh+RL{|s=Om%hPDecKI{h+n}d(WVA$){g^E}srItqxw9X|&7d4Cd28&JEQw zwU?3tj_4~(~#?;mOP3pqs)G?pxHiz+wonNQTCVIEHZ02o;UShhnrd3Lu zB~H74S4h2EION5XDOA4F|ImkHY8^Rj4K`}7Lr3q53-?JUTqO6c=y)h-nmTMB zw9Wf`-y11)f|c8l%;_e%^L}RSanVyaLS)>XpFC!YqO~HKN4-M19^%ZKFDS*WD0Vq@ zvV>RX4f@u$vZ(`R85X}zHxh(7&xD$6jQkM&<>T|__kLSTs_q;V;;u8&)?O)nwy!Pn zO*hZOiJmIKA6h21+pX`H`U%BoXa=onJsoW<5VPpR^57RnKNZKCiON5WRUUrMjku&U z{#>@*+C<4GE7bM0^RALpT6o>0VSg=!pj&31o6h|}3yEl`ZYq0P*o><_A}#BzW+Q6$ z&z=s$?P87SK_wT>+fu(z*JcIlkpHodbhz~~TM5&z3<<$n6-jd$%Uz;vdSiVX$sC>`zL$TO5Jlore7bK zFG=@~)Z1Scly2KptxfoPx*)JDog1sUW~H!MUaCh~A7`b#bm#gy zx%y|&ZN8W*e2Sln)U+32du!~5K4&!hlVrAPU} zM-OuUT$f}$Cd!dK^{UphgKJ}dR<}smrZ5{Fi=mz^b?F;h!1CN$<4}@}VB`uXLGM*hmsN(Shv|vjdaKb{`zi$2EmOtWzG-D$xM}h1_dUM1 z*Wjcui>1?B^$yO;lTPTd8wt1P#6B8i>HKK9o8^~Gb~gd z&&^F8T!&YFp(yZ-``h)G+w1s*`tb?n>aQlhkjDyHE;v2nnmk90t;)_EUEQo1wAzp@ zCyfxOy<`1aJ12Gi``Iqy9gFg#YPKIu6~}GbM!qp?D6m7XUc2uG>br$x^2z4xOOL(_ zwkYn|A{csiyfJ0{jqmTt;=(MO_X)lC{P=G0b+G?^o7&{fTh5$Yc01BPLGCWb#{H(s zk^Sy1>(*~w`quMDN2joEf?8Bi(-W7nkLHo)75}sb?*0Cu02jckcy-t|T%4^-Z=kem zyZPrOl2W7u^Sx))dt=lB{l=@R-h|fkB#iYLYDvp~8>`_x&Ki78g#9aDPsZ(v4aa#^ zSCvPYUQCHSQg7OAI1b9zmfZ)tBJl>@S7CGMXhV1fPuN?Rgy@{B~?m z%RM|%E{eRrqv;N>rqA0`GCVI6f~Q=ztSldBFYK9_eiX%iI+@HhtN7hIb6+%nJlS!2 z1uhz+G>cgic7DvMs#b1kz~pmLzm~4DxAALVyjMEath0Xi*>|q$hlO8`T~xr}UZUPd zbUQuQ-9+9QlC3W^y*`mO2K#f=W$$cGzpsuOX4zrm5B&M%iU;?~lpl#VTfwZZN)4seDgEu(<~M zy=uD`$D38EnRoZ5=?H7Jd6m(7W!}xlWp}K{4~r;l2ut^s>J2K* z5a4@RFYW#CxUcg|)xr9q!;9IUh;8BUkY9B@eD~^vnx?yI^6bTDY)alPmm6=@Gu?aQ z$cCn<(Q)=SoSG%6AH}}3G`YG}X!x|%uePhUTy#&sHWfhhT5ImSls)z6edi?B0ka|Rwa(>j1-9P51C>wh@ZD=`*Jw9A81&?Q z)hR!fMS@4QUfP%H>h=0Hm%DU^zE22WGqh;9XSZMD;`W)(w%nTGO|}Nr0p03#F+TTp ziyMEMNKuSlulo7qNKAkYS*iL7u4$BQL}B17e{9h|8?y5DPkcP3)Q8<-Q6s(nOoMjq z$&x&>_x;~{K5G)oOl*wXuD)Hz!JgY zzNlfbUDcw;SIo~ka)p25n~orIjr!Z@*Z#Wef;#Gbx;P*y^_Xf=j4^7kl)M^6%zF|` z>V4vof8$Y1fs$nx?~6#@W$J=r1%9`$Rmr0=O4jmwUI@*!`5IhO)U<-HFY}2!x4|`i z^#oQIEJlN%`hn}ruTJZ{JbiET=k1*>OEv^wtqUJYLiHAZUhTX725#KkbgSe)%8ROX z0xGnWJf6kaxyoE^bxJwI+07!7^rjKT6LG=wb7yJcNrRgSHJxoQlgO8Du*O%e&CTk( zliYHApx9DhcT{f437h*)h3oV8Ulxth2!6ULO;JHuVHs8>c9;D1>Xhysd?Q{xxto`~ zCM@%ITfJvE&agC0B5u=-spa~>Lm|NxpKKpo)KD8+vGR%2j@F7{4Jq%JYs-eakFW-I zE8x4?AW$Ecz=m8!VUZKq4zHa&Y%dnBgt^T_#SVeuQDcAY)G)5&!7;A{PN zh2O_&(vKZf6I;8cZM19m+nk@ZWb9V{#c%nJY>Kn!nNE-1|Kg)+)WsaRsPIv}t)f43 zzVXkwXf*CKljSm1v=~<&+xFA*ZAa_uWXg@p%@cZ_>OX>ZJ^e9ho3bblbMXAd%~5=l zI{S2Yy_%6JX4M!u_r_u_x_*k){uB9-=ZBeyk6-;fvuj%|MT7O)`^ZtbbxTqeSvi8s z-=Zo6xQxGQ9&TRLvgr9;fs}h?C9kKwHkF7f3|CD&+-{c~qIf9Mri;6(GDy>DlX{8K zgVftA$}5&8e+pI2a|zZ#yKL_}dnIh9GW9ZNpHc0S6=6qb-SWv%Gh1=`qg&7ilboMy zD|>Qn-`wUC8MCJai}U?g{lHG&7|R*nX`uA7I@^S*2@F+7*Qy`t+84mrKF>W5JE} zdoHw2-kjVMIF_&@$ECP`41l0Gw{|V_`qSIRD}GyGf2WGuMMP==$BT-r>0dRaPjVb- zPRUiuT$y+O#z6PG>VuT~~v@Nl(9ZzJR}8@|O*d zzs?*2GN_WL9yp1p3y)5feE!e=_{RD-`}U{^%GK-+R>`n96}IwI_By^xw+AjuEz`VF zzQoBce(se_57Aj7%5-gTc5eAGC+qs@La{^Jc1PW~ContG;P?*H=Z!nUNwVLw<+*!q zNZIqIyX?FvIKLemj~E?V zs)u)5;~7bfA9B{gCc$AHI%*zw_|z18NlEVuW;S6m6D~g|sK1aJQpY^huhiM}`H_!F zidyC+u6zrB{HobhV{u0%;WK+~6BOc>?dPg8e$lUbE^JG!tJsq_Hm5H9ShJ~aDaZ4~ z)kh;R$!%q^aU0{xlRKPKLw4Oz1pY}ty2F?7AoSrIq=qN#RWD8Y+n=ugwK%S7kGSir z!Nz-aNngJuIDD5)tvTyKgN}?ahELs=S%U4;(G${@`-8#HdcGJwsiS@Y+yb>RdHo2GG%j`PN zDn4s|6*%U0-MZdqazUjZwhCr@KiT+mxr2pV#^?B56)6Y%iC3=;Y1Nz?a*X7=a7&K6 z<%N#MlQP|g&o)@>8?k$FshquO9;t$CdC7NU#w~Mwd-yIEEj5aoJB`vil)r1RtbMca zEB{fB&5yW7<4-kuZci~gAM~Mm#m$UciT8C|!tQR`b93eOS#p}d#v1|?Sgwvp;#JnL zu)P;mcYJEww4)$uO7hDmu7^v>p#i_=1X{ub4$1lwhgW%Tg3 z^f&=NeG7*Ho*pOte?L7=1fEU*pHJVSp1g&ey9J%P1)RA>bJ7-gq}E>!(gM%R^6;?P zZVw!h4in`$8XiAi`(SY~B^UZu*yvbfZC=40{M%oYvn~RSx zS=rgf2ZaS6j|Yw$qggy)X-G{G}PJ4 z+=X(C8sfnt1rQg47k?B)L!VVpKsk8Y1Lrfa;h2xKg*>LNuc&Km4(Y?pV^}CCG$H-F zJ{Vbw?o@q%nb z0c{MKh6_6{;~5ePOA{~5|C#YHB0G7bdXyn!G`S8UP1u_%8WDGPg@ zswMPonoy%L|GwU;saa^5gQ;g^#N3nfh6fHj)DWp=IJ)@&_BvHX=nWbb|GgU(4UE;4 zO+W=Lm@7DMbfAF&@kc>AA7bX|BTI4XzYDCQrm?w_I-rp;^9cYqe|!MxM%4&IH(

DxFt z_yQ-=dieqD2E;@kJUEpMpcfua8!Z=mUz8<94HTu&8=?TJ1~LjIN0E*~<0<0mw2#E`)6{ihBwB)Ah2CD&1MaBp&Q6unSrSy@Uzz!wxfX!`}GNbtS?)G;6rvIh`? zynrkNy22oxL&yWXgQdJf-#L!<7$|5l^FO*7EsH~}!XcgGVc*LVAdjGB35XUHax$dv zob>-;Igv6B0jo$z=SYlY<)AR20UuC;54@OfIhq0o|IO_%>jOCkAuI3#IQt9CGvEc% zITq=hiQCbX$?kvcoMIr`b||~iXvFPk3Lb-fLWlE$FAy!@JV&Dmlp;^(b~F+6#((Ub z0DBuvf`gAH!GXZY!odelhK78BfijP-bIiX=IC{%5Sfnc)@&XTg8$*CC2M#cUJ10`K zpzoXre*C{#j-hxB@HR5qffq>Ua){+f=3$wPb1W0|{QFR&w;T(RKMIY7>L&OCb^#Vz z)&cKekaw849ZPZDf3qA5oNY(RZ7hUnKv#(WvA{8KP!kdeEMb0y!xH|D+bLH3$#yIf zPb^eGfX<1qx3NeGz{2$xjU~+==U7Tv_+Kq&=$tZ<12M-U5ym1B#v!!@hon6YVp6(< z!=XXf{kP6>(1rqV3LhG-p*W=4;E)l9Ly9~ODm(O@Q{wg?J4dP)4ys;&7FamjaqyIi z#v%0w2c-jj=lFk9+v(kogMbX^6PZtNcsRFlP(1^hkO7Z_5`?~U%Gm#pmJ{K^h9kmh zk0Zh*1&7o;9A)AH@&d;s;c!go@9*QB;?zIcjzdZc4w=kw2t(kI%)=v@hletc&T>4H z_4fbTIUXr8cqH@i&;lC3CZyWnp+y7m4m9D>ca8;J_rJQG-f}!;wFbBpk7OPm+KT|+ zfrF2S7P7!Qlu3jhCh$!DE5iS5Ia1H?l&l4{K+O6AOdo$izaR zlu4j-B4i#4O+v<;98!Yi=9gED?Eh6>fyE3JmFYSMz6<3x27x9FdVW^HfW1Iqv9vT! zS)l>TDTr4n{h=Vb25f_97kq&jDT@pyh{))o3iJ%>_uqO3NQp8R0bGQ*7@`lLcMK(9 zzzb+r246r~MjKY3cQEt*WAD(c2TJ}kmMOCV@D2_MCl1Ls+CQ17&XrT04U zZx|@x2V^p(A^@G@DWem7fs|J~>;yQ27(CBpp-nfQfO!dtF`OWV;8G0EC&+b_cPJS^ z?^j9{r?*VckL(WogA8DOM_GoWuuz$U*0?A+Xc!`kKMaXx0RPqlB?qkv z*tRPIFDZ5W&lvb4O5ex9A84fz44pXe9Y%4KOoGHw=7+zDgP4SEyRJh384ymHxoL${ z+8KmHVW0?y67{dbVM}1)^E9W-Sd79cv;+xu2$jc`gkgK(%cQ8b4p`}uBx906-iD~?GBp~?w~qYohlUL^tY zDJcO#6_SW@i0p4)PokpRB=fBplCvM{ZBLz)uCv@enFy%qxBH|k_j>bnvf|* zKw$jWUg?G^>^&Nj=-C_=P93Tc1pQSwU2I_kX@xV1E%L(`;4f&QIA1vAerRr@bp*wq z4DN?;jp7K11pkO*7)^L+(nE3uspC+QmxJacq{t&l2JP@k(?x@_X6#@ zr&lNk;7wZ^7g63}5C{MM2v##_$@Rx3Msak(g?|R470zVf!oNjPgwqdPM&We9WuiHg z;6j_7lxV=e5&p#y&_);%3^+72np4^t+yd<}Lc(Fg;R?o}IWl8Ic?59>Z5~nD8HH0r z2yK%7#pfi-?_z&S4r~WibEutOI0;%Zftr(`Wz=7V(*+c^gI4(bfRdms0Z8~l0VT=N z1{AS_R`~pYk|27c2#5C9{-!xh7*Hi9$w79|2xr1ZBq|$`7}$tDpd^@$5aEy=w8H04 zvm}V-A0flz2D8d;?i9vIOHYkIL1lvI)oCztBsH8+0vwQA=20Gr2`iDPtVCj9B}U7e=5zYjV;2jG}o-+Uvqj1`iOPU8rBqo4FLheohe9iz!jKbl{18F`F zkVy0!RTTOnQ2~j>07wkN5xj(j&nvl1aEV04B@zQJF$$*(D2zumK4*eKB;>{}z%2`6 z5DA6}IL~1_XoNF?A`%sfNDD#{iH`F~^PmW7XBb3OC?X-Z&oQqpFigOj&x0Zo{kA6* zP%0FW7K9=a9TXvU(71&O6p^SDE!Y7hA0PTGE=t@>7WR)gI4qTb10DtMZ^W6 zh)4%Th#fS-nLrVd3Pr>Pp@>KaMTi}=!a=(k+(LySBJ>-=UuGgA9TXvU&Pp@>KaMTi}=!kGk=3Pr>Pp@>KaMTi|V!kIu3kqSk` z1)+$DEJ-Q#9I=B|IFo=F4jRpwKoOC;YeZZSiiq&u3siC;J!vNksGXs1<+VFGr`JSc+N88oLt5ph8%BGN$-Vh4@p zOrVHJg(BjDP(-AIBE$|_;Y>y-6^e)pLJ^S;iV!1=DgCfKZTH#CrN`)fAf>1=DgCfKZTH#CrN`)fAf>1=DgCfKZ8sSW! zh(LuR!h$1=DgCfKZTH#CrN`)fA zf>1=DgCfKZ8sSW!h(LuR!h%plpo1dB4qD+%0!oD$v@2++ogvSuP=sF)ir{-e{|E>5q!-R4pj0Tr zF9=0=Iw(Typm7TmD1z@&r37?AD8kc05n>0ea3%qzLJ|1i-YH8erhB<~Iw(TypcT#} zpj0TrF9=0=Iw(Typb^dlittn@g6|am%T5uV4vG*vXoWKgC>4tE3qlcm+cJ_ZupKnQ znLrVq3Ptz@p$Jb0MTi}=!kGk=3Ptcu)_-#g9TXvU&&}hyCittn@!v775DEo1U z=CtCNgpi6s@J;%ELOAcXE2ug_duDQo)1lk0{#XLt1cx{czU>NlY>w7tOnzF!Q-KM7 zXyC7E&=C{zTPKZ?Oo$0jB_=!rF)Fh z9Yj=j{NsQuX!wqRhJ2l}b6vZg~ z&*m<(i1}+^RR1HrLjH&Oi6)#(hzUpCM#3==6OKU~L>ka=gEXV_KZU3mbfpp#eEa`= zT_OK7(RF?W#!(pw$G}L8{-@hH`V(uYHo%WPA^t}g7Oo9+{%5km1V4>M$$tixVpM`| z6^M9~CLB!eMZ!^G3daCb(35sR+Cb5r_ZtE91Q|mBsC!B{27JOHQy?U6-d#I5$~%nW zsDqUOm>9*;4OSTZXiTR76{B$KU}XR%2H|wT1nEhaiA;bAM+GJv!!8n|a2N!kyqx#b z8uV-+gXUCV!Z837gK)ZCB-}h;!Z86R_^CunzA*q3qj0(b3WFbw&zanBgrfozj$s$+ zk8sElu;#Slm<&)VBHmw7A!cn)Ea112H zr~_T3=Z_}}G%!S(N>Vrml41}}x4i^E#7e6<6Ow`-ex*d3fu#Njhx`TO3{5a7rG`OQ zDoMc)+WslN^9mK+Xhmu#91X-0C>ltp;Ar6KY+{lTRF1+iY& z4P=-AX@$?nX87@KNI0C=@KTmhIBl$%X+A%QSn6gImI0#}gwt&{VdnuL^z=G|Tc}Wl zWq>M1;k4rw3vZgyxP=KUVX3f$W!P-`Bb+j%;OFXTvKeY;(3J{HSO!>P$Yw0v{t^z! zZD>frPxB)Hf*?LTq-dYFg2XT?@n;goGHgT5Q-Utm^B4ICFK z*kGD?Fo7rdtOH7#E(}jtq|m_9Axmhb&mXYx$qbNm*mQUhFnR`=R3PcFB{b5RY(-(I zEQMuYsd>_A2QXp@t#l>>n7S7QA35>2YK^7ajKa=iE2y0zs?^OW_+*Q}N~eP>>^v;Q zGJz{B6|S%haK-2uy6q^$5*p7?+8K1G(iN70t{A1$;T5DQEf_K!5kk3#7E9fa!ZP3$ zqjY2msh?|g=IPJrESSEmlr2-a~;TOAkO3)QzIFV>g1lt*6O(iGzY@ELiS!8yB z90;#EX{0kDCoGkmu>S`+A=48qeO@7EvI7Ml4n&DI136JW1IdGRr)mp)fVQ&h+ITns zC!R@2qa{&LZ9z#$VWg0OAHn|2LQMNgd+zx0at)>7^tX# zp9IvyKvfI80`-HA_@LDTlul`6(1doDplSk|1r;CgO9b$W@`NFHMFg)X2@hV8z$*$Y zfLC(h6?D#y1R78o(2a5%8NDWebg-2{6Hv%JpMYv(Ag_Yo0lfgN+rcZ)3(&!c;1%cv zhz-Fjzze|XDsaqzGcmx%dBFjWG^413XVe8WVZJV)A0RdbdjS0aA2b78fqsB+5o`nf z00Av<1*i!`1xm!6%%cM4k)b*83T%$rwx|kj6XeqSpke5;FE@+4A2=s z3d5Jc6$BqZ6W|yKkAT;pTVx?JrHc_L8*HW5gN|_jj3Gd0pd)0|fKHKxRtJCtz$Xyh zp(Fr_NJ4{|0SqB{Fo7X}jsc-l0dxh>#GnCaAEPJ0tN;=m9;uY9091f12a^IAO-LJH zJ20AHCsC3Dh&}vCphF1%Xw?8^OJInMYA`FRlzadj4~qlS0XSg{x&nfOEyqCB z0k{Gq2hVl1YJjrAMg}#QRZvRD@Ih}9cuKaz;{y*E51jc3k4rpgJ{Hjz51Nnt^EHYo zlx(8a0uU{M$1y6wtajolTEK%04~=vv8}Xp^NNvDFBNlD}ZHEq~LrDN%fmS+n{eue3 zD-6uaB>}V>UIqYP0S$+Cihv7>-AH;6D0U~Ji&BySfj$ywI|23(3A6%Q+td01lq&(WF{r?-K$1Yqp_^xbuYi_AGY@b9 z8jg%j5@3t?IxfN~{(HU<@#)krzeYy?FVQMz7a2b7|%mme7w z7)S<>p;Gj;N9j0tc=-f^Q#L$VBA@WJv+=Yh0}b%WT@s3Rb`HM2!2iF{aUeT;+4}-b z$W*6jM|Sb@1m3|S;H+qG?*n|=0eDYt{+thLCPDoOgDuPot)jO#@V_5i01W_vNL&?t z98h)+K4cpgPn5$UKNo)+cktY2ZyPe%!N=1V

|hV{ z3A616H7HJSpBoIePhc*npbhAtSfI!b*VE#LwNPu0^ie&IQ zvzb%b%hS%mn~d7)Y3~pK=zx@9WiRhQ9~UQQP-6rdlzkj*$S$5vC?f|S7aMn%ARq&c zZEOJtgM$}d9ViC?V&DU3Q4%T+wth}d;CHAFLZ%=U2S*oA7mC{eiIn&Nok7G*TW=Ut z1Z2+t9)qRKW@i-_8z)aMU$ToGpe`PZpQDMno12$a_GgCeEJ)=xmXoewN-1bT`%@YbfNyK-DKAsffG>6n`SJJE9su z_OU^!*pO|&0t_Q1^roQ$FvNUpfI6q>(03RU~qy`RS7he=Ge1XwS zwsQtk!6OiH?VoW&+Fv`PNA7?=E+*pkQBY z-(PNCZ^x->iu=FqJ}juQC+eHU?T6jr`;7?DfJr2{Ez(12DD~C1+ahH9IUPC90zPnk z2kpCfCz5~K_|&BG4ko5Ux4FE$7rlHBEnL7;-(PRvU+=_VwLl~Bo3M}7z*wg%(5B+x z=cBiYpOfhx8rgpTeuLofZu9zjx8Fj=>uSv7A$utQcEf2dR`;H<4ovZ8cX!QT7w20R z4l2K^`K*07PQK=H&q>D#J!#U#1M+v`qhEab@1H*Viq)hpY^XZMD&B6cZ<*t9#urFF zS8q1g7h7?YlP1+nQE@^R&kk>H@9AgbWh&bw1}|Ge)b5Iv96O7MA||)lGyQgSA8Ov+ zFc~|jR!JpfQ8{AEK*ZI~K%1v){7~;lXMM5-ei*+k@|@JH=HBc$5}Q{nG0bcjN#p15 zF5bM+cGU>AOb7;V7B>hz%o|I%K`{EzhJM;;`~%LCA8Sz&)b3dQ8^jHX7mFewh(8>R z#rgH_T?tb4Wst^(PfXESqtJV-+wb8R5}@?3nwDXE{qEulPPx0H{ArWw=F8XGy}7#< zT`X=WzFKt`-yGD(S6hUh;k2LYv9}ucH~(6wM}296x(>#x&Fk-OE;l!C4|y_f!}D@C z$fjEueI1szzy9+Mah%z^RpYh#F|;Bt%<=tL>Vb~ep{bdKZoJ;UQUBX6I!#)=@8Qp1 z*4k;cMgF1Q*&duzoc5i)`R?NVVgo(Y3`jn{(O>U(H#Z3GMPHjD*;jdc2YG(|_U`Jt z8*SBr;Cyp%yG0}5?|0j8HxjvTzWLY1hqofXcQ=|p(OezEDaEgW!faoESCd_m`tJN( z`<897xV+hJzx(E3*bYse*mtH*;{9Ux0Uq=C_lwtT3G|_1!$14gucln4$$djz(M56Y z#vVilCCuFH7AQHdzq`CwKbttLI`8f{fuptqzdw8~mU1X*n?ri|OvQ&LoVL^ee{!O0 z(SNcHTiZE}6vFauaeIBQ`G#Of&lwJG9r};I`fpz?H1JZWn7$hn)tmRX*F|Ue`ReW* zVdS)N@D~f|D~u4bd$>D4x0vE)U!5a<_Yr(7S5V zz>7D?Y!~MjsE$%QMt=F?9I{)i654w4POK8ulqWQ=C8bCv`;R-wPwAYC3-nE?nr+Vx z2VuIn|CE_N_!*tD-7u%qm)4^rDLHqcH-D<`YaR|hj`oJM$L%XlyMEAW*x2Xv?HA}? zH6Gp-y}jPuFZQEEnr~vx3k3b$o4cl*HD31OW+5J8PEF4Ta`H!_|%P^;af5z645c3D-K$>$S z#O3TRL4X}KzNfJ`_-wZ+R;wC+yt*9!n$yP{aejHc`0ZAfEBHS~rn9D}y+mx4VQ8Qe z&mnqzY^v?cQB{*BQ%1Sz!L}YB>}v$59<>$7uX^x!ruXIK)P) z(7s}m=+IEK(y(6Lv*`Luw6F=#FR|KyQp$j|>QN{XbbEQZx!UgTZXQnFagz#P%Jd~7 zSB9CzCq=r2V2>7|x*hw{@g?SI%gcVrX&=;8cC4&L(hmkTmwiYN>EHM!$aLyvhJWz# z=QYz!`cZkbe9}L^d-rN2_2b-(#+b#&uq%ehm>PxpWD5tl*hzep%+6eih-)D_q@68{SZ+4D7 zjA395zT{IoOAntu{eB~^s&C^uJbarH-z4^3ClBUo*+}Q~=Z9*V`M+IkKd2|;Vmy5O zW0}m48==N@fsCX@`sD6gEnjmQej%N4YPcK6)V9cj!LO}eeW}ehs2uoSmZ@+)^yHzN z2T|3=JEuy{QN^~WzZ~S7aYZz&wvy~@ZCXq=qmheAY6AI}rO&e|1`CR+wM{YDK^NNR zi|3<-=(t%re{y@5d2LE4X8L~c<5+A$=JXmN_&>b&+;d-Db5isf z3rQI=P#ln_YqJ45NB({@Iy73zU76XjsEzh6mSELZj*WZ0kZFFpDMt~lzWu3meiki- z)gPalgK2e}Xzh9@xPR7g8O$wH^5#M+ft2sXtL^OvcGcqRuRr_rFMs{R$6tK>vPkIH zU;p*DpFaBx0p+ZX<KsL^xHST5dUm~Kj`3ZLh}OK2{e5a`)QqRqRJxl_nX(ROB@@gbf{Gd$E51p z?d5w(S`Pz3bKYp9RWGF0V8al;+qcZn-$tnymCW|SxWH<$J^S?F1^tI7_~6fPe{O$l z{pZw*u@P-~_He1i5`oX}E-x3iCFBp=x|~arF=U=(<7$nY5-%L38%x9dg^t7J#lWg> zrKZ%<++!yE{uc|_=Q2}FhE8=C4b7UADy2MjEF`?(gx*ii%2~E$f@k z$Y3Ys|5(waS4g&h@%f9dUVN-WanjVGui1f|-r>(Fwfq_LeNaekP3P35S8~c8o;OVp z-ZhFKivz5_XdGrp>^dy3*RbzTTia5zVL5PR!#7*IvDQuMaK0X#W9&H1H?GJ?e)FwTWJho_)qP z($ZF~K9{aD1T)a$7}qwIc>SwiRX=JeW=6ajdfGau;{7nYlnKoz*pRc2S)d!tlz52# zhM>v-BuPGu_>KIzHDHIA@U9vyM0Z5GmAjSQ(C-pi3I%SbV=OERS>VDxGd>-)zKdv2JwzmFDmqGX0WZJZLsghIyTfffq&mh zSyI@EC06g(4oAhgOe`#UHNO9V?PwT&(UA#wuK_S?{eFj6y%uGD(jvsiwwXwIaq3G= z=FA9X?V=lPfUSxRa87`KXoM9|8!dEg{2)I;t#J#49^r_JuXZ=}rE!w+OIzR;tv7=2 z@5@&}6Z_z_{TJ<{t6h!oht`lGRR`M;kyD0BHpV&GdEbt#-qp&uDoFPgbW%348vMA5 zcUQ73yg3x#tQ#I@O-1d$z+=xE!JU3lgy^d6@b1G?KBO{kJv^`~Hb(6N*AKcH$7*Dx zj@<`^ezfD&eNgB|lOVbeir;9;cK2b;ho+}>ABcim4Lb33qjp8;Uq3_(OFpX8^kYL* zT=(+{@8t>o9nrCS8VHgSoR+pqWaejkvg`DbK+6g zJZrLUI#2h3HCZ=$(|uq~*3J6TePB)2jfG4nu5tef??`=B*xM*8l9)}(n7x(`~DrhRrFG>wgEbRRU0!x{adAy#Ov)#-;=_ZNR` zqbj&|-6-S~mBMt_bB9zRyX(0_s_@C_rZUj*%=36LQ4ju(ap?RQbQyjOl$Rfa?8A@XYP!Oh7q^B`@wT1z zO%2=%G=pdlbsQvkehg+Wehjh%Kf>|J9X%O&2tV2oM)?>>o6%$^b#>qeVy%au_-L>##&Erm5sg;_ z`O)Teycl>iDjd_Hbur3{P8bYS7*YPA&^Oy*+8^HGQIDlFgUrc~HXq~NGazkHx#b`F z_~SuV|6GUUaMvJ)(zeWaaq4JrDsg;{#xu>2aruviOe@p5|E%|C{#{n0N6kTbPFbWqm+$LeTW6ydG7xwj|NYAt@U4w&&_y131>*|Pi zXuQcoW8)EMxA1_pl^bus0GTJU|K$B$GEwxiP17h!(ch6mkN0Dy)8xDP?_ot<+OCm5 zv|Bec8nnOI%-_|3rnL=EQ5-ic^_YWeaxZ_lfYZt;$Yt^P8SyTcyKj}506V2PW6i;% z$G;!nx)-Q64VjnZw-x4E#i7bexmh0L7HQ=tIVvbQC6Rxq01})P2k+mUf3^L~;ggS! zmmhIS{L$mOP=I0l0C4*g!xs@PTdofL59kdidx>j~oLx^2m&dly=+l2+{0X;&Vn3gL^yHYd1V^W>n}dU+iI`75Z;+wTD$8O%HogNn?5#X#-d%gOzEzhrxazRZ|#mp)8f*z+m+lKo27= zf|XNE-Rqi`TP~kg07(x!s?4=h81KSVUiB$#xg@=K;3K!Y^?A7@4L-Z8uS--Mr^#TI zAjV)7U1PABzMR%8N>;8k8H1fkrt4w2QKNsnt`zILD%Y{qt;C=PtGxdPtGBugR`2T? z>`Zb=592jUUrSw6N2=<|agSBDS%Xy~PlHu1euLHfSq59nzG<*CiH|)D)*5q)*6aOS zlFS=M+tpnjmu0Vq@u(>Te+pyY*Cj!Nm2@+OEqUca5>F2!m67jLUOJHxxi80iN9NR3-zviDh8`mVg@^wkZiD1$q@!y>5{m?)>3VH*wdvXLxVv) z19l{Z(8^WPJcCtMYJ*iUp~1>5XRy+Qd)V<(vWLM~rGOntnX+<~6VhOn?%iPZM3cel zSyh9bDOo}fBizvUg$GrU5_$$<#_GZdB79wa}qPVa!iZwXSAIY z=PBqrm563q7r)?B-4yR(PwRc79)_r4Gy+B8Na9{s4pOH)Asvi_3d%{;!z490Y+aED zT{$E+*$8^raou_9U_2|JEFL{Dl>*!7QG zg(1H@U7pE6)|VTiqzqQ}a)U9ts9Sl%tz7UK7)8ApYURo^XRx#20Z?Zd)cbPm(}bno zO-4>R6s&GNT4u0%-`8Mk=iPAqGv(v!%RNQJ4_M_Bv~rb}*kJXLiNV4KKnlfrs@%%0 zW##T+Gjx(WB(6hXJXq&A2(IIV? z#uV7PG4nx(bhKP&;ut-VCuWL|V-$Vn7zJ~e|pFhoM5r=&W4 z;%A1VfCa|uu0y6_+t-76T^mRTE;EoKwqBa=%fV874vvuPY>n8?<STu)c4JToxD zI7ci;!cZgnIncIB+P*#x+YPsQE(#}PG z`5edDY1n<9Vvex&g&UQ--P%119);z`bu~1PI5y^Yni!HS1G&MOA;uUa{% zj>A$$g8rR^9f=&=E^}ehV!QSDuq;*jnrXWTIcF}@V8Fwc-PfgwGv&DL>K>z>+rB5+ zc=CqSbb!(Ry$giICfNAkF$c3?bS$oSYIo(R8~hho$TYADW%HcYT`4lq=9#{vd;lzDF6@cEmf%bKDQ|6r zt_IA#aC!;a7CGi{`7p~2<+Rk||6S5L|t zY~?nJB{o%;i)o_XQS!Q>=V28HxtPSePGdC%K@+JPayw>Q*RALu4u;q-l?Jr$9|jIP z`xt4KiEmvF@M&H8SLs!!Fx3s-!wz!3N}-&^8$|XLni$kQY%1>d! z=X##%h7A;$%WzZ;8)K=Vwuiu%x*ssNVV2^3*q{&y62896 z)X%vFn)IG2Fgb^vhGG`@QXk~CBHyR;R@ z8zGknpZn10U)nKwBQN}+z?>hUHr87;({{lZJbo#&Xq;&T4m+#h3w;ZGmDGLO2KZ*q zw49awyvTRrwu04iojQ)h@i^1k(19=c(Q=)3I36&Z8E?oX^sk;ZosNzE;q2|(WxVN^ z1QzoLZFf60_)gs}0KQX&vrXF-%Rb6BzR-xJ|*yl9#3CT zcB753K_Qi#y1gBI^-7=h4@oER1rNYqRw>S|G@8P2-KCEJnCk|@=X?fyFmLY* zE{vE{mfZIrR%MsXz*m9H*1xnrACu11&l@bj_XhZ2z|lXPED3WSj}*3c-5#gane#2? zkIftS!ahkn+nL)&z?VK@u=zQsjo<-Dgeh-GwGaA?Yc^=?N$@Qmc|m0B$3g!>4x=vw zdi3Q4^Ro)Rl*h3Xx{O5KhzAiY_y;m@$bTp$DNCKs$ROl1bb2bfVf%pbrr&^KzHYFd zuqR5I^f?f|q%SD))~;BipDjt$ZnFg646it??8E(;IjvXSrm!QH$mL@2W$Y1lmE<3| z)NK!O@Wal!B7`9KE_Rw6Z=MhEIS&xNu=NoQmox{LVfHWe8D4V9vvA5Z_2YPyB-C;^bew`g*}#d5SQWP`%L+dbOtf^tMsuPlT_Ky z2PfZQ>WRZJn$>H^{TyIdp26qy0=|f810OlGeEyjFSYIh1eL3(ExY@(NhXW*F!9(RI zcAp6N>ankWY-?0F$47jk^#yz!%)T7>Sm7RqAey#5V6OWKpWCJIPKS*QeD#*7^%)A& zw~N!1V2vIIJ{&4N41DRA#PaHX1Mr0p9DHa^fe$e_VY<>Z?X&Q?ZUDYh*TLvtU4EO^ z1$O3Z4!(N&Z(2_HQa3oml-~CR$u{gw!slxQzLSV8qi*U=Uh`vM& z75xi;0Ql;~KpXGVu$v*ZCr>7An6)c>VULC5xm|$1RJzY;yMl%M2ib7i#CSsnp>Eif zfz_4LX&c09VC?JX3Vf)JJ&d|%$=?X$v3)9hu0yP-95F>FM0Y#A!qeeA3Vaby4ZgY_ zIvodHCd9=03@LUPg~EphzVvr91x_bvBjSvN&-VfN!se^GzVCrW+$;DhncQ@2;LBLB z6NHc)Z{4Gw))hXdCE#NMW3K9=>a;HX3;z-LA~p|vTn2D_7~O1dFnbX%4?YCXzApGO z2Ar99IRbofjucar@({*wqZ>Lhv7dp(e#TlH_FWtsVS7E9@j1Y1-9|?LX7oWsN2i@9 zSoU&G>v@Rj8i6nTh&XzQeCX$t@uohF=hNw=;;%eT3w$WRjt{owGSUgw0^5_|V^;gR z;Hx~Z({YF-hRhGl^)lhh^MGJaC{Qht%r9(_sulE^KOry)*e?Q$ah3%QB@ow=VxF!whKU&^P53^vbr z98&&6%J#iMtD$Sqzlb{oU)cHO)$lz@yieGbR|L+5?~b~z=Yg-D6QAx=3@C9=MEJti zN5p67N5Fy}pnc?dV-DhM&BVAOZTKF?gHbnqr+ub>tB8L-!KE2zI_=}a=ez=ZVUuRA z!ZrddY}|_MN&OAqSkO9XSirDJ+nH9ZmB%yCKNymq50)eLBo2O?XN5qz91FgBrhGc5 zh?sS+)nFkzD(=f|x!}vVX0B2sf5T`V{lgYya{#`KgFnGI95fNWZ*?&aou)hqyR>qQ zH)HcSSste^d@i#ReHC|&z(;6HtWiCQG@VmUKFUE~4t$k6V_FV;DenUFb1sVGd=-4@ zt0bh&^*q|BEFaT$h0kqdiZ+W_10o#4e#*#VeP?19gfC?k1fn>9;H&57 zrsI&;AaqzRuDTw8@EkDk;e_nh2z)bV5Lv+XmGJo*fv;YoxBj8TMjIhJf-mgK;0u~V z|F|rZ_jm0AI6M?xqhVhPM;SXEOUFU^3B?u zM*K5eHRN{it&^5u7LD~_IgG|431C3&#{s@dg4Op0H$-tpPTLhep63mPHO>d@*X9a*M2zUUJGZY3zO~ztsEZ`q zmlMqQDfl9G27Fk_ye?98%mJ2GYXhkmVXChSzKoAWD|6b;DT4X*b%{a=9UFY%$EI%F zD-z7Z0-nx+@VVRszPYj0Q$y3b zxD8VN!@BEh4!(^4qps6-;d5CECKI{_`0Cj)>&p|T?cfVN9(;(D{ak@B{G8OS95U7h zL56)@#i+ZTAAE5i2Yl(T1?DmwidxWn@Zo0e+Xdf@e$F^-Y{HlHo_Gr@Cwx8*U|4ke zb_tdW8b<$SY~h%=ZLYu*jAq4mH%-G_N1a80ZYY3muf$+Ianz|T_y$yU+wnpHq z^s>{jf$zlqoZurkH1NfqBr1|<)4m+|GH=BR;z6uAwts^OpO+K9nZ8i6Z~9In@n)2AKPa!H03FuM57s z>xOh6`vsWGO^63^&kKCvQ=)&BQ*U~X1amo7_`J{HBapH0v+4$Y=9K%s!e~M8QC}B) z;ll-A>R_j+@wOhq=kX=rOIr(deP7WAR@%NV9P+qh48D-LRCi{)5nBO17PxN%e6bI} zck1H+7ItOfbG{{fp-WQN5b&Na3#qMnr2rUbX9VoRFPL z*xc{GV^+!Q5{hj!mWxYqrm;|jU4@_)7{BA=da~1|Q+T}XD}`h^Em2ri*z~FEIuolF zHiae8B_SU`hJ5ZBTjV1nz-HzQ;ybo+KqbRw4lLsy&{q9i60%qiqjc**7-P^~s7vfC zEHXjwr5^ddLi@;a3fi$XqHgRzL>iBS(hd*53s)nZM-hICavE)54Kf(wee46aLBvsD zk#QN0NvV9^{rmwkT1O}`P7!Yxd#BL|LaaGlUXDv~i7)apQ8(g{385zn!|{>F-sc4o zJ?0M=Y3zGoxp#@i@$Q?{#b2Wh7n0aCrz= z#9!%ph0n9D=eZ1whk!JkJ`PkFbj z>h?Nd2(8h^QO*^F*UlxoG-CI`7ycA(N+Y0p8^m7)J_tw5AA)hr3)jIMAGya|j=(7% zaRtCuP9uOt+z1Yv@F%OT^Au@JuCwc|Wz5wnW_ceknFQSCfrl?*iD@^_Ds|l-AZf_$ zQo!mBh>n&hl|alN{>y+7x^FZGxhecJx;yN=8(8Q<^aW~c`v9}I%ODsi@Yq^8r01X; zrJm+<#H1)7knM-^>BYHc3Q`Y35 zVR-!AH-XnaWH?}PrvVt+Ro@q2VaJ5fMI1Nf!d9>Q)2^=qix^TQR&H@vyI5I+hjO#P zZ2;hl7z`xBu!nKpBCdsU5hn=Yj6A~19^o-}iYjn976(veTJO#gHZqsJseA0UKKd8- zSVc3;v=MPF;0qfgbwhsx7W#t9x$F&W#*V3kU;P^CK3MQZL;?3PV}#3j=JdM1n|33o zEOkR)1(y6sp^|=nfw_NGSzWRmP6wyEvZ)4)?dn8L$bu4Ucm5NL05c;aYAZgZjir>+YL=6V?y1|sJ?FqG{6 zY++1{SQpBLT@+Z{)uP?V^+GwUBi07;M$Q$f4PDlw-Iy!6yZwBKgar(>(d2Q)hM~s$ zqU6E`t7Iwx3mZ2QSKP@27BPWvZiEoW$G-ACj)vp926YJ{h`MplQ00Or)2`18JU;oL zOaLYe5Um&feMD+f8+cz}jRC{V8tXxfQj8aWW2_NI0F&$JOYTXoCkIa^iaYoguRBHLF4xdQ<#P4;qh{y}WUh?;Oq_nK2a;pZKkEA3 z2aMSfpRI_`IG4B^{jM7l|H|XdR5xUPg(UczqdVukptAcOr>@&A*t>X6ZT}HLALm!1 zqvMlZG++eD`Prv#tda7=MP2S+`k8@+#(H4!jk%Jo-f1Gc&-p6)Tf`rroTm){t=9Q3 znXVv2K38uj01n;I?=61ka<~*Ld7?=9KAjoqV0v7j=s2lcd>PD_k z2vgouN8EM2mU7|e1YhL5rCjLjY^t!MvqC{9fkCo-Y?)(~%e9ejliNLz7^{l`%YALs z<-rpxM`W4Xn!$&4&dOncaT|(qhWLI47CCUh7xA{_qlh>K9GVfYtUMyFivwfhNB_bu zfM6CjUtnQx0v|?I#|JG*SkMTWGMpcwX@ndrnBRK`S=hZHI1#S`EbfE=t9NOqvN92= zs8==)Cfa>5+~|t?8sH1tE0_3)L~(pfRkT5}KVJ`yhubzelp$Zy2F$|SP%>bLt-?R8 zx-RoG+{kqbj9aaSkN7%|-=JLNu+sFo{hoFswt~S%90f}hG@GRieM^xL&I5Ey&gBCw zQLH7`Y;qh3yf%OAwXiF*L^wNaUi8F`uLn^r&fiez;@uX6`>SM>I%Ap(9}uQP4q>!QFp0wuCym#_%~7tb9Cw=&A91-Rzo>5FOMeBy zaNz?dNHF5o!52OZ);H|7;0r$;FtlAChmz$4ENLPZ0GEML_QT&z8ew&7b`2zP^xym}j}ReLdhP9+xZ6Y}_4YMm;7*_r={F zdn6sq&w|_r-e)}zmN2rJ`PguDIvt1Z#&}`LZp+|4cH}H%JF|92!Bs=te0Szw2|EdvWc?t5K(cOHcg zH`a)JGBGbi+Xl~*x!vc0p}GB!H3}IRYjNlcOaPGpHqZD--Ij(&F7o~Y!@=rx@c|_) zazIcwY<={P>34hxAx>jqtJwyI`Iwipc$W-<9lm2(`hxx`rJd76y)EH;lHNtT=p=Eb zxpC%pWvG3`l0aS}t`Atmo{J1cpSgM%dlG%d^)l+l`xPWu2pxw68U!TSda!J+8&Hnu zk0=-KoKcP*M!As3DVMyFTLdxpSdoIykU}!{q}1PNmsB*qzNk1kUTjOgpOv1~X&BiG zTvx+N7`7H*ICgywh=YnYMA)KS%1E$U*Qc@2qP%!r4z-^xj_*ue8jiXVA3+;o!;@7x z=b5T8_ox90BO#Qxi+d)^rOc|QqWoMET^Di*dUEi6G*h>Wk~ARfaKKVeL1OS20?J{% z@o~_ZgyA)eauMT?(j9jhfnn_Px|q@umb4DnyX)uROP&g!b;+1!^UQL@K85uJKf;sX zzFzKDMP3qMsc#XA?RIaER?T)w? z!tVzxbD9vHJySR0Rj3a3R)Bv$XartAw^dO$b$e`cGj+qKN!`eU27w^+md~FQ z%z(|z6~`#cg+D;IQ^KAj^HA1}H-?pI&HYEf;>`nK5f=#zEzHM(i80#MBk)l!Y*pZk zcmaau;vOHc$R!0Ve9^$-js&oXbpaOfiNGSCGzvSB3O){wQNl3mN4bc{1Yf*I1uWi> z1{S%|fRS*-+aPOe!XnlHVG>he)D7PR<>KBLFx14T8+Sn|7xr-hh9^ z{1IxG(;Oy&Ens20!CQu#D$0c{K)H|wfQ2joEO#!uy`i~SnzIOLGOWuZ4TJXTq&x}=YVB1+QbG5dJinLOJ8*sxzEjF5&XhuRdd$ZLSvo1nHRhh-pOVN>8>MJ_mCk>dzh+?57~k=EP5 z51TL?W>GHU*T5IC0hr*!rXaJt+ogcvLb5jC3T_*wT;!P`up<2*sO)Zwq%M|uZv&TW z!XnqCtl7bTInu!g(X4_Ga)T|_m!QDlg9^Iyc}D$k+Xw-qad#6KWYNdQmW(+)3i}Xs zBZnF=ypWC$au97~oH-$5p-Te8pdI*9&LJQ!&Lu8&w@-pE?4m?!KqO<3H6lvUa7 zwit&Zmoi#jImeTb?c!w4x-3cHiyWMCk-F^_Som>(7-4Xba{2U8Fu2I^^s7nuhy!cpR z9Qas#-H6H!xejqCWKo5C$NFY2WugvIsl6|l1f4d)kwYheRk%%1DQZKGB_u2A5~m-w zAVfHiz2vw>JP5GJSpzI>P=qYTT**xBdkrcSdjpj-_9WhEj}6e#4?2$688R?YxtX7z&N8kxc6e3)?Vt!!`^oY{S5K4J_J-`}RaLgnvt!USc0$%8k9t6B!`` z%N-Ey=KJxq5wRM;;_kmlZ0Oj;Mui?qJW}XZ?D{xIx|`v22$OWs4I%@={(|Te@-Etb z$Xt3)B=#hBN2dpnd-rL=0@9X7^o!pUrX0ZwzP^ZhZr{b69rLG@lui#=wU8r-cn_X} z#u;)1Y{u`%!g>%Itbcf&-RDL06-Ej#hhfj>4+=3;H}3I)55s)mix?`(VKDY`sBgYT z#G8e@L0-;~V~JG@eTLkc!9$5Hi+zRk7jh2frl42K-x+&%M)p?P1s?}T%lkqcS<3v% zB^vXBG8A)41f|QJr>K4ji#zFv8{x0jsSF!8;(hQQ<^71gL2{skrF?)$lXHqNkah7q z``#e#HDN@vM>!PHfFTkEEMj#LuXuhm%05#|R?`46um3q=E1UAP&V` zVH}D%Wjn{4%G~sbH)Mc?&z}f~i2nl?dmL69c?V&&VTZ#hiJ;TZ3$VCn11k%j426h3 zL&UM{89wf*2mjEWVB2dr@(Ccax?ItA*%3u8a+ER4NR(a|BZZwo1{O9lc-hR`KL~q9 zhbR~E0>C1dH!v;(SYMD{T(2O&h9qx&Io;OvvkxrJG_cS$fJH1Zu+U+F#hXZI({V2q z7&o81e|djjnz)}|U`R<(H}2C>F7z^pTKI5*MP3MC5k~K6|c74Q21H&@vb>VqNizyeeE-U+YVLKXlPc0FKZJal{n&Bizou#E0fmuOS3%QlF0V|Qe^xWA9I7V-DMkes58cn?yN zp4%P}OCm-DSlE4laSPDfK%_|+mY;`mx7VAC%kA}}U;ldX_{)p`+Ag51>qn2j*zIoh zlah-s9zA|>b-vS|5Ucw0w~PPv>u1k!raxPKvV8jSCxlEre}*pm+vWOW%umnPzg?aD mX7STS{`cZHzj<_XyScvo{(5`<^6BrNKl*>+r=cVO literal 697753 zcmcG1cU;Zy`+rm#Xlc@tCOMrw8ie-VLpx2IcJa3N6qHhOvGKN7us`8uXU}-(5Tlp3r@hT-#&hrebu`tf zVJvl1h4eSsoNPr~gm2{QFw-i!zdkl`=lwxQxtViMVc?Xov-)MBi*^nlU)Elu(|Egu z6SciN@7qypsqbo2FWflB_c`vYbKH9!%CN4f{$A=*%l3lQu^DM@hte67eW$KQ@X2Lr z`F2ZY`CT{=rmIOVnkWgNu>E6l55!Try`qfs{q3zyoj52LR z1MTJAUyj%&YG$0GDL>siQ~2)f@coo(`TU%H!cRF*(W1_Ua*htri1vS>W%w5A`ZfuE zs!}&cGFHzP_ig55#niDHPSGEZdq-WFt@gfj;!B)yVZqv`V{uagK6MSxD;NFRAa%0MwYwt2$%Jy@{`W(yZ=Wy4WSj}iklAW)%^6}!O9?R&m zY8a+p?BIzyVn%B{-D#@>+bzktzV*pe=plPoJ5tYr|AA3qg#Tl749>gT3rgwOINCEx z9dmQ_ws-aR62uRm9;1|=y_ee=&lC1uf-vF-n)Y_iHb>pg37SE{2WS{v5QBqTFoMfH z!F7T#{HJ%76FQwz@c0%9YThI*P zQBV?;GO$1AEokx2=Ke6PU`QO4+-cQjY^L9*#2zqWd~R8|P4G^ag}>Khnlq0bqE%9z zmjzw6^qC|&iiCX~STHx@qD#(l<8!#*@73qE)ZVN3l6P^}!=~$sHyy zi2E35Y;AH#?n|{u)#Hl(=P{146IC7>C421BEJE9{hF2YBZhmRIpCD)-VHfvyzn{#H zOH_XH5MN)(dcb4Ivaew>=7U2=2@m!AQh5)Vrf!cr zGNn`1j{MUp)pinN?BQF-!r@X`dw8mL-}i3&EUJ|Ml^V))+A-(B(yv%)J^wq$&R*7P zYZTWMc=?VxBCnCfea21GqE}x|;nQ|rx*4t2+$5VNRof4H_d4n|>P?+OX6Ii@-rvFp zk%+Q>>UFT-0`JM~I_&qkyv*2>k6%eV(zVhMA{Sa{qWdF!x4@+(d9hzUFunXkO zS1q@{c~v9g{OK#b(DQ<)Kd8*({T?j-5|Wr%el=6i`(C@jZw7<2JdlN^aWbaeKB-!u zlT;>U--qeBSZ#Gh%Zi8D`pg$ZPQr6M z&~ow1IU}a05og}UD;e%Gco(OC)%E<@tv+Hkmt+RQTs&eFtiwD$@fnYGy}0v!tvN%U z2~%T!b@fxv-2iN?-qdXWnpEz>7uWFf0W`Ojrg%DwhPLP06|=FP`KDy@f-Ucr)7@6y zWtU<#0k->IHxKW=CcPS9Yzo<8p3658%`dL`7PhWt>mN$WaZu}!2-(&q90>r<(@ zoKx?2zmoZh)JPiX`N30r&rIPEulFlz6LXueAKjPsv6)rE9u-`>Z0Gnv=dkUER~UM> zOvnK?mMKY_`BID$HqxlH0vB_J23mP`mp)w%F(@%xQu&*u@;qrUS)ob%bT>JI5KF-ysS=0N7|?Xubeb;rLqx{A8h_I+o! z;^M+yc#?P4UCzou!W3t(R4x0c{*lVHDQ({)`!btXx)`s1qfac<7w(7dvP|<@X?fG7 zmv3*p-CSNC^OjC~`Q3SHl>6S8#kuG`ot7usItqidv+L9g-;VE^mC&!O)Ocurjpe<5 zNzd`f!xauY*2V7k_RaqKUga?Gu@H7AzecfVMl5RltJ{so-G-YS8*oVfaX5eUY_QF) zjZ)wCXXo}m9!*LK4HbkD9UXbz4etqmdrMN#1Vdu67J?IQJHzNZyW=*v349UQv=e{}fn+Rs~#F9njVb#0SodwZF$C2Deuq@F}y@7EAM6>d}=;Egg{ zv6RdXd>MeNNr@@2GaL%$Ny>gbcCz859!x?5xp>)NAN`l3@39YahZTRFN7*Z44xT?4 z)fV&1Z+kZSyF_7R{Uv6jpYETZtQ>F87BtUkT@3MMkJh=9a;7Cq3!8(*>Z40yF{>eH23W| zq!M2j%@TK31kH;(JUp9wENmECaF1>;bsk)_%1Oyka5Q!7*|XeQnvZ+N`Z;N6)u7Ea zA6Fik5A2S~{md&|_6U{De>B6oR`e+2s(+49q~CLMP8?iA=&%Co(O6lwh9`E9VwaEkGHm9=RO#XN? z?-j%=fBZEg|Jdg$gR|_P{3F)lk$UE60*gczBq-Q*mrm9uq=$VI@DRK+CeIU zr(QhsaVG2IHy&R zCV+Xr$(c*S)m5w^J*qlvk!%u|I%cjNh}fm2WQh1Gm%rOC#bD<)Q#!*-vWkXDvFN<4 ztb2n;&vpIKH=G^3(^sYM%78tXUv1)@y}+R(p5OcZ+ks=T4;hbys$RBsvbij%t$X?2 z-5ACMle&j9JhwW_)pGIPIA9Gc(dB{;S zy&C&6_Qb#b)UPU7-FMC>m+3D_zfW(cL-X9i zfMzsai6)KJX*_vqhZYT@R`W+v`fPW4zphhufH8|&r)AyEic?+(OS$gZ>@|y8zV6B! zJ<1P{9}3%%wBoLI@R4=%)5(mLH+wG%yfg^uj`4hwLz@%%y}qn+c~B(2zrsRtwV}{k zhGwrrBCC9NZRO|K*L<@{ccXUddo#1SUi~!K1AAu??J9cjPComzf6)2Tsrh{6$N($O ziJ{!je(MqN$=12OM%N?JDgBynC40?hxPFGm9OW%Z917o&B<_)VzIFwKTd%xT8n2}4 zHpjI^GjmjWXFiRr@<$d(ww&!hJ^w{eredffqIREiINQwiI*~XwUe9-l(jt2gi8qosic% z-%8XaDc8g*uf>3e*pXTH;;xVb#~(%8?s*%389-t2usrX5B%)vL=n9uf#0AOCz76{i z_wZ-mM%YUIYukpwZ>|`n$lJF`9dUJa1G_&nK{yhBogf@Vd?7k9IH55?I39#zh$MJjK_syiB(W7Fu@xk-m4EL12!MY3 zM&ivAz%oi5b@Q|XsRY7?6biPYdiE#44ibrkL2w8tLJ*CFLf|+oP7sL#8&(to0!6{V zxAf20dJ{Ij8qTh#7^RL7Hm3T5Qp#=yZh}$@g5odsjKIS3FN5#Yy@A_PbT1cnAPhJXNt zg5Y2%1UU$h8xd??1LREu6buT%V3BAd0yqMKLZGqaAV6;v#ix({&(*jI0p3DTgaAxF6dEjM0s=G&0!QJ<8ih>=C|!+6I2MA! z!HEV5i2!|oK#?^HxQ(Omx2q9>fMC&3lpq3!fFR*W;!H$B(GVC0O%?*!#^p$`?0+*1 z{{sOHupm$v!Z08(2nYs;CCebdP#b&UpPMFfR>S{5K!7|o3Zx?OGXVkI1rmlM%Ob!w z4g|rYQPK-=91a4-V2MTv0R?Z6FtU~de4}?FcvFfXfPuilz@)(U0vv;epwVzNIV%#r zaX}C~IYkf7VmK{FUJ0F*K@JuV26^%(GX*E23I|BUZo|1@U*VG90{O!)_CfP)Fbi2)-Z5Rifh zVkk*gjs^Ws*G0;)z|kOxCH(upiKz*5zz3k&0vD|AC_76Zo!=Y5_D{)X{YLk!_;)OwSQI3xu7RO$?bxd49=PvwdCDgl+qfTeE|A z&rp^Qbg=)}EwCsFpbwGjDTue{Htne4%QR9PPoLU#ZQ-8 z9BgZT7W86q@ua=3gNvVQyMLO7Gs@LrqRanOfQ98Rb+`A55AVCBG6g*G(Ks1>ufTh2 zz??O&IyU_Sz_cu?U;i?Cv75Ck&C7t1NWo1hni1nYDPE1n4;# zsB~@MEmXJnt6wasdcGx>rAuuaQ&B9n*nx$69XpGd=0{}~rdxvFOUk}#esSLCM?S0X z_vDF4x$d{Ii48P$BYaGWJte{nmi)pDERu;d4bQw2h2;&e3fp@n2nX+LF#JRx zXkDVx6zX+D{z|sN+u~+b@8*#SD@|!j9fbqAH~E}PqQ99-tAtw?Jf{m{5mS}^8Cl{Y z{yx&~({S2V*s1W?o!MZ-CxO*BX9bbC$EFDk3nMP**;&(>jJSUjBlVBmA$G4ZWl`MwH z@HWxWb537`JTyHMowP`G#?-G>^x&cLsa@X#`Uhw0r>T0wTKATspYnJyM_(GX5lm3q zXT&;Px-4hPdr54Y2Tiad@10Y8u`N0DUG^RyFxRzmg2jbHviMSpZ_M^(O$%0y^PHMp zs9&*sU-sdwoCm5}Zd}bh%GG54!Q1QIuc8db_dGAHLhhD3bVccowM5LMy!e|C&^sX# zH=;sdw|I?(SVX-8Vy{`;K{2TND+gv(lZ8W#&Nk$%j>Zm%)?)3eu;?Bi zbod7ohMKQt$f~FO+2g-Fr(UCcY3#%Gb&8sD`L4W83(oUQ+YRNyW$srfitLprje{IQ z=K5WU9-%3S52l%eyBjPRM}9E?h^aNFj$WL@`;2-5_~i zXHeBmon!?Qop=cYdgg1c9Z$x(wF4wGC))<=ZXr{}0;X>0?ui%Pwm)Wcop*IwjK8g| zXJzR*H}CoAK5Uo zQ|)8D7dXmi{Zr|21$~N=Q46~zFJFDxaw2hGW9U+d-2F#46d@m$1wG}9!g+t%Z^PZ* zAN8TW>XO8sFFOore%({^z}WlNq&@I^SUUeJORDd3zWIs{5~9amu{!U*c1fVV?$qSU z#lrJ#7x!E&ToK^0@pZqJmYy2YQdGc?xcXve+vk{_JKJtsJ3EzskuYP7PO3?{T`ehT zpTx;|l*O^rr&N5@8h46UJb>#--NJ-v-TlJVrK}qv4%=>S)t{5yc5`}?u9!Mlas0N7 z{n<|pUG~L&nCncTS6h!G`nPb)gcN6v?`bkF53jZG9$GOCH^Su4`G-fKLwG{^NA=cK z4ulk6DBsm#?i3Tt%lJU2i2b-ve1a;!ydjQ%M@p1z4t?GZtF6qRna&=rHSeqKY#+SA z$aUz-GxTR?FT=hDXrl18Edta>1?WRBy1X^fx%Zr_|5eIU6xM;oSkR=27GJj2p`m?WgQh!^l7_yy8jNmWlemBIteP#4QQwuEas79_B zdhhekyu7Gz1dHV79dfsx@Z_|9Hb-;0iylusr{Mh&^*s8(oi2ArIcSs)s`SgdkYSav1;MDIe59I z-*@|~1-vg|j^n)?OzX!^v(};wj#E|X*>5>gbb1M@0@Z3WnGUhS&;**b0`|3YORkme>lG*b0`|3YORk*!<#u0ZVKJaGivA#8$vo z0sjs}`-B%_D>z~+IASX}Vkz~+IASX}Vk`gLWf1QC_r~OJk_8x$#DyclP2zWF zVE;nawrFFjg3#fA_3I!bfP>-$(I8ic#Qgqsuvdj)kmPL+H$lL64Mh;}Ib=AP7WfW8 zgB&sxPUa?kWBQUX(I|odvUMO+MNA%|F-Qm&gCK8zx-nrxnB){eK*7O{lhRgbGz@}) zlebGpZcJ4W78pekK*kV@AtiCqNRUg!kd-n*Zp;%9);2{5;3#n4q$DmHfdaWi7+JYH z@WcWpjfaVnM;mkLTwrdy#4$u2qepdf?*&ikj*AS022c+ z9F!rzn{J8_044S_v3Ha0<7D?7rKy8`|l-fol769wYGQ%ZnXF#e1Oe}| zDCq^@njkPJDVdGLq9AB2oUD{SYNL53xNeFdpyBwGJ~4rb#J~Z=1}DohZH9n%_!L1v z;=qlQNIoPA2SH$A<$tQfrGq0S#x0%gv}A*f2TSTq&0~I z>?Q(BB3qHbMnJLTk!+g>;-ASNBm~lU^qa4lgF~5HnIwYFp-jhKmcw9 zuZRm|L6A*Fy<)Zuz0YnIBB#^HV zdI1iDz%k^>56~MOC1FcK$w0tyz&c`nLx2M7h{lmM9XCUu)H=cesRZIxLMOn1%L05S zIqLzv(MbVs|Chr+vI=lCu#FhfOu%!Ea5QPH$cmoP8?7^8&;M8BK$;3LG!n#$B-$B*>QyU*@Hhx!sTs4A&eQ9DMzi=RHahsU9wx^$0O`R$X zR#^98V%RMzFYoGl(r_B^`to!71o?`q90|9Lh-wfbD$ zJ-caT`gxUQ}l9UHpFtex0!XRv?BkoBNSG(BBcJtCRv2Z zQ*o}D>VQ;5aPY1mi~R=j?#=-T7TnrN3H=PQ;tA?WC$v6?s4^Dckjxfu^E&;bkXgM} zJh^MtQ&GY~_F#kwd-{b&&OmMVu|wJK}ledGcJ)WpT%+M)Iy(*S4QYbx*RRjy!4})i-0Xi@{cd+jG4@_rnEv=X(`P z)bNl@qvQ*CEtcJPX?@R&3fsCXA--3PrA2hO`Wy2)rFxzoNz~2RlYFnFCL+fW;mfsv7T`t#CnkxGsT*h!LjbZd%icp&9%H>bDrk~yxv*%4n zbDS-pp}AZC^{Y@jjR9?)gll_^ek+T^2SwMX4vkiyGU^0=Bi}N`U2c+2>Rhu@Bj)f_0hXt+xtO-@2Gv+Kyw7ygbP zao5wevKOAFGa>3uXp3bQzn;H$vN^BZC=PP$fYHQMS7bj+G!3U+8iJ$n1@j%=10L;` zdCl4Zuy0PD+mnXIBagGwEAh3pI4gfiirr>F%XiSVUFLYOZYwv;_iMF*2giu$gO*3W z>2HgmU!|7IKCfNM-4WBIwbb20&*yRuHL1v^@7l_|9QH=#RG|3Td5gEMt=+Zb0^Z(e zw~yBk-_TPWuJbC5=_xxVHTMniKv{n;OPjOwcP$<0u$CocTuaCBdAh?(oR8Z1Ncw%x z&Ih`kdTrZp+!mlBt#}Hduym*Ma!xC|f7zpoC8bAvBiTyHsAr}xYxd5fYDx;vigKj) zWOPiynrhF3Q&ULesf_(xUXx}={xlu^L^6*v`X$WmX4W42PdXL_`~m5FDt z`!b`w@Y`b5we#YgVfD3F*kmlMI;%rvzwMTfH1st*Ggf`H{(I_)Q{|ua0?d|kl=L_x zh9>+^&}h~g`0SY0`w0J7&K;2<;L2dcZDAA1)ktetZ7|$m_c|d$* z!W@cef^{Va$2?&XB03yRaM$(|s`QCwD8H)pMwSpMs4dWR-ylyh8#-==fdn)G# z{riJ~%SKxl`zzdB(~H_HZ#*&F?ys1P)}$M|Rv=}LaqJ&Y_RHKZe(r;3C*SnZezWWE zM>3UH%@=4SJ6JMp4_!U_B!&8XRT1?O!@YE=uo2#Hh8DTKKkSo^OTRKccCU2e{t3sr z6Zv{~G!yTZ1m?fF{@rllsl|kuZuw5b-22O)WX$r4B+bgUUz~WA?p&}8`Bu8_9;=rS zSgNuoM8KsE-_$#o40LL+to5 zLpf*?ns2U^cGA6@ zX}x>cRQI&>t4`=Kr^y`q=PZrk@exAbAKqlN)F}5WzHj~zxo#W5AslD6YC1#pMEty9 zn$UG&W*rV;?GI^UaVzRHH(YM_ThaJ>xr`re|H$XYRVKBfsjQej*fJ3$Bl`~hV294z zieIPJ%g1C=;Q z$=fvVS#YhMuG1@*ley#U_i0u3eH?wDDw7$W<4^m-Hr3OVK~HRY?M8)q^z`SslWKeH z$Dq#?Z&`H&NM*lVQ~&PECuyHvedAv7?qc?z*}R<$#cxi?D65Nee;EpweA^U~cl2c% zY$R90XT3^rP=fa%tT={_J7JvjUN2wX1?vK4ixcu~u&f(L44I{c}s( z-OVvYPdQLU=#Pdsb~=SbYb8F;DLfb&dgOv;VfINszpm)mJ1gU_^}R2|bxn(&45oh~ z6&K_;uPB_kH4|ASBu@P#rw~^a{&0)o5x1xtvy)1C3RV8GL+>5c$M1VvHI(ku-u7~D zLHpBk=QEvM*Y+5{G3(AN{28J| z%{%+{0lf7mneM4u<=(IFoqCd3?aZ6ntOP)S9M-7Z%|yGPJh9yxES-X zT|0*BtfzZ5V`5(o^2rjH)+~$7N@NG?HpXZ4h+v?vXplGD+wd}FHiT88mEmw;-cP@M zR&k79XScp*mv>bezH^`Xtw#J7X0fj#pDb9zWFZerw+8DTKXRM8bZcI4Y2=OB($6#= z?JagmI?d5%{Apf46+osGAX>QmF{bL;Kb`H`70+Ld%HN~%;HF0Wo{C&fwj&Z+EiT(z z_$+VmJf4Fty>*c~wZ8P(?3s#^%JPX@Iu}eFOlfKE-Vesona~>0nsQ)9Op}Mj_g!a* zLC<`+R#fM7M7*zirx?2{`-{kLj`^ZDd*d&D_r7p4>Qe5zpL-n^4T2wzSEZ{hK20Cm z#uDvGox$;Gn-0fUr4MN%+g`AI$xU&aPf0I@v`uxG1-xZu$&IjD)X2)e>@Daq-EycO zT34ZkXqwhW+~;rVIrvJlULG1LWj;++58T~AB`&T|lK*S>bfoFP%q4!F-o99|X=s*|;kbKQ2m+-| z@K%RK3A02CG4!B=gmpL+fHT`0;T1`f&CMA)W&=;}>)Yi*Q~j}uN74B)%lqYwk>W1Z z#2o6b@oWFjD^6Z zHQ(=cU0;R_Jj^}{oRV`Hd!M|&e9T!-f3!u~Us|WNNBBDK6XVt~BRftVL2g=hhzFI< z?fvvlAJXWM_Tj94(|sQEmw7(AQqQs$1P5!o#G%z3_gQ`Nu>G+|VK_orGeLet#ISI* z>oo78oY)xB-$FByOJ$Rorrrn1Q(~NYd_-BkL-gaSxh=Xe{KwbGl$|tp zA(LNAqaLbq(d7k0_%S0EY4jl;?Sb!B4)Jz$#!aOieo@>bCbR5((^nwxMT}v8%0StS z>78$T7LM63-=6dM`NC+Qt_)T6#Q~S<^Fp24o+9gkv%>VXW>u!2E?TpnqgSLl2X4d< z+z3CSYaM-fSa&jY{;OK&=hydFTFoExa9r=BP4e>?>!)$l?b#N3W-!ofnhENJq1WiS zZ=iQ&y2JjQFny^-u4x)wmH12RL27a4$Y4R`)90gi$=SJgMe7Z4N*_FYGv*-n>CdL^!anLmXq(Mn>U)kp7ucs|z{$I&e`cUOXLM|dX+f)Hh|hgYo7 z(dTNRR&!?FYlHpi3m&TU{!yo{`mfUIP<5~I47^?|-_87FR4hE8%wYZc$Lo2`Tg$Mj zI9um6iC=@Rb;GZ=dBTbYXS7f3WZ$W?&V>*`z27A3fc@dz+6G+*adY}FVF!$;ZvJ~^ z2aI$?4@Nqp2LqCJymkVHAWA7ZMfo#KO$j`6`r=lEcxgM1*TLHa)FI*@fETo3qb;ww?q0ZxOF-VhdSsXd}32AsMlwMP`qfcK>KNYWP=N&5mLiC_My5h3>B z@2mt_tOqHh^ly;}U_G!{C|Lpp%*OmCas2)Y11YdErCBi>lg&g+LCH|y51az>i$u`l@Ny9ZS?8?&fPqpz5(Q3}!9b>)uq;qmK*hkY zWU()Qz<{?T6!inp>fn&1d@~9Ks1O)=%AG%8pfv3cm}zjp3#jGr<^cs1BS5u4UO#M1 zyAwSFMg0JdK%-!!1KB9Re}JQ3T2XG!2iU1lY{Coh^Fa!-E0}3%vY9_(i zXmIPm;S(?bQU(c*=TeA)Qag#S7665k<^vK1L`2{O9)%bvmu-Nfz<{MD_5<)8Ff@$3 zIk|a0P--WEd4hmK0i>}2axN&0ya)!nQPf6^{3x*xNI;ImfKr0k4?xg`Md8TuS%1Jl z>Doj9dK?NI1_1*CFE)gdXCF3WAVj>B^aBEe!c(NgwTS?dE)FB z7UmxiP`WTlC&h^i6Z8g9Gm)oTz-}a~iCZg5CL|olnXpi>bHW>HP(lQB33-J1A23iF zz`(&I#9&A|M>xR$Fi;x60LC8NI!WmW z2ObnuwIM5z`vV3_jU*ftPyh-$l7<76*}*}{lR9q3K-k7pG$&!;Bmxkc66Yiwh&aGH zCC71NH_G9Gx1}(!$IDl6P#`8CtP8N?0{d^W0+>Hwpwvpjz)}F(E~2x5Ve$Py-ob=F zV4&1Wf+Pzls6i?v0R!F()DWPwA1JkxAR&d{o&cf#zFW9`kBDnU_CzePF6*$!EK&vyhqfV!YE``llQ9 z(~SOYyG8AMCtg_z?6ac1`cudun9WU(kxN|Hi1kG0-%(MyIz(d<4_s^ec&sIB=N$<#31*;Ui%e*66T z_}jN(r*gaJ>K!}nMQbKQWxao@=6+9oYonpEFn3;X30XV2T#AxD^~<=iZ^Sz_kA`*T zq0PJmW6!cFZaz4sJTND++WhfwT2R}d(u7BptXdd4e(|!`s`rEPC5_Kj(qHYo$JRwP zJ=I7bC=>5JwZ(VD7}{2ObGqZ!Lb_Fk%gW*-zN;9Q{uoZ{7=1S>z2{3y*q~8kX|eSL zWCUcw^hMh>HQTF6?suZnsE%FPm6HZj)dDSxovVDVYRKvu;$Qd5=Ec#G?WW&o7@}yl z9=js{Jfv84>&1M@i{~m;Zd->`DR^Gb4fx5Bu5*4#Rx5F2KG$l;&cb@2 zMksrcJ$P&lu?jh8cVMC9V|EWp!?z%F73G=!RMdPy2>qDl={81ZXSO|`_DAjHhuAhE zi$j^6XL_ZQVgoLA`fH1v3GAhM^7whtx~r1s&A2VF;kA0Ky4KF(m+xC1$;2!e53I@? z`%GSWROR{0+kS5B?%}`&MSEjy<6!p*$MV6swXweZM_N|!rXLQLafz*4B$ClhS7X+?2}i1$@Rg zYCKqeZ5cRw+r2_2+V>6+0ni!MOa@t1Gtt&SVw@DY^8?Ooe|uY<^?-G_E$!uYYg%*r z;)X`r`}gb>c%J=oT0a*u)V=&8x#MT=^??rRu$tT}ue)wut6xT$5h(!^vRBpw>~2NA9XpPT`|xJZKMU zkJ4HU{oEfCb;0@Az1uU{*%t%X;+%u#R6pf2Mb8AR^F)f~-q9-4e->$fs6l>*8s`z3 zQ1NhuDd4LKEL&1rO1g-TJ>;XO+Cznr^y(z!6yJH?nkwZPZrTfRug2!8`C%b=bY<{?7O+Z3VTwtH5eoMcfYUj zf8hUJtjOoi;3s#ChKfL4apBvk`7g@z$ILECW%DI@F>^&4ga*tj>T+IoKNuxWb&Q=> zJXW)uP2Sj){f9d%?X!sPRFRoD^O+8pS?x_gwt6SeeOEOUxvjt5+v_qU&nTE_x9uwn zYwM&3J6;(wRUfUSPxsgraaDRty5;Q~2fdG!33)$exy)p1ofO0L%8*l9);vUOyHKSa zmznCT=g6+PvB5$1kGmt)C(iejWfzxzGq$qHAFa6CmObt8rTh?Ys)jy0;?2OwN}^lj zdPvR7X=yIlmQZm~oyr}eV1ReYnl~xvHh3G>x&G>}cZ%&T_n$b|GjZIiAa~)Hjt~DN zRv`Q7oWV8h&D1XvkkX3jf-mpP?;e|wK6C3rwGYpC!DOppOz-CskIL1suA#-%sF^Lt z3=W+;f|%K2Y`XNrUAJCsSLLb)}%w{ zEsu%2xH}6>Xu&bBVqXF@o z)fvZk4Oo@l7g&EpdtKZh0cIV3bX#(V&Ng#0Ys*2XW2P3&S< z4M!tNj+JfIaJ7N$J?duyIsep$!?6tO1Ly9snC1O?C@-mEps<5GBm77kkLFrE z?Q*M7X!G`PSU!V3vKO0mZETH~C5kPXHJ=RZS%7PfeJyk(w|u zWR*xlZGXtV;CSR+jt*;43)9ec`kRfXX0Bvz-^n@17Hwc4_A9SVujdx61?Wl3$1FqJ zPqv$s@USkovV}HBg~N_j8jMPK=6>(k`k#?-lSY*R`zDlTb?UsCO&r__I<@h}F_F=lp;G-gyL44b|*wc#b0=a)6pUk;^J*e-q zS)TES)2I7$8j z&fpTh|1X&bVJv>{lgN^JkVrGU%mar{7vb|gpzr{mG^221OPB|gU;rF0P?wN$u^``p zC(X#)+HR7XP<+A`4G2uYPY{V3e2EeS3`QPNvl#<^K2X#TXaZ?Q91Ar55ImZ^q1dEv zp!kR_pf2&888PLA201XYIkQb%GNJqpMcqKCno3H=q5*$NHfOepJN)}Ywxnf&h7&k5 z!m7YaUjSuBP9he!i8-YBj4c|lmv9uR0s%PP1ttTMtVMy_L{||EEkz>%*h>tk#6au@ zkc9)38Ci+>KVZNcJxVa30DB39b9nOvQqiDG$Xb=SO-#|>pRy%Q1$;RaBotgufPf{R zv-<-EN;APIP@e@33bYV0;E%xr%?()-auYK^@TwFI1W=&?A4Fs)K$#T46d}o56q~Zq z1dmP;2K=dC3@IB87$baj3bMLkGXzQ#!6;CW0uYC!p#TyjKpc`q4B$59VgLT9?e8fG zmLebyiH-sVI9$M9kvAPSW55R~lnezDEJk3Kh@Jukq6jE?0Y5^%Vnm>5ZHgD-*)o;OC;eApPg5cdic%?H5Y zf|?A(rHOw!0(e{td1J8|1Ep~!5=!7MiAxi&f&$znd7;B*43wHlPzeCsIHDX0!cubk!K}0L-=be38bkApxZ})5E}FXaVYR2 zD01mjP|9FK;7EiCvA0$;2IY~k_q0Rd{2 zAjo4cVbG1?Ec_3TMf^W%N&SWZqG%8_kOl+Pwt|C#Qsmf&KY{pbL-`v73q zWB@QY@(M4)pc`XaIN`aJl&lOmkkSJT#9$6D2?Gz`&oi2WW8P|^qiHhhG|ftQ5=O*xsvu^9xV))F{92uPHY zq+lQ|hXwVv$XlYD;%iVPi?TTZGO*z0!G;lUCh)>A3~*61Qy^d6`8}a83d&k6PyGEH&04hgX5f_ z^c8tYYoOfPG$$yvm@pVf1p(PAu_u5`4rt5C8xGi}kcN=jr^IZ7pa5SZmNXn7EdcV^ zWQEzV%^?2%d?LwWf(#va4jwVg23Y|Vxnr?0n1B&#tN-o>!lRamRL6f6rV*;N|Gwyt z!nFT9Rq5{)Xz+ijd4DU=fcqy~fp%jcsjnO;(54Ds{Zzfc()!d*_6(#P;UVgpw4C)o ztnHFt;;xt}VP&!As`dKq!9hmSE8IQCW^dhPz3x39f`m_n)ljK4-fIkmdh|EZKS@J6 zc>4Rk-WfJv`M3z99EC$Ijg5WousV<;-)uf&?K$U=A&-Dm$yQb$U&F4Ro`2g_!PQZa zc;M;z11T71#Ydz(0$%lq1+5IbPd}s zrv~wj=lQWdQ9s8g%Q2d_P2K%^tVDi^$eZbe0q+#v#- zZQO0EoJ#$U*S6D`p;!svFV=|AvS;=B-vBy44e>ySaeMb(_CH|KV?)c&<9q*-Vr2$a zvohR<1CoahdeNZh$1#}KtnMz+j`fjc=8AUr*Zt2I&N4tg=hGX@Sq7_PyLtAo4IK_V zQpx$NH%&&)V&L+`+BL&>rk`8p9?7u06MNg`T2{rcRr@R^y(|0d7=EJiA440Ht z0QQ5IH#VCevCx)o^UUVx;p*urMy+r21SAM0}Nn@+Gd;#oTvqs?#j zfNRm(Ozfq{_gjY=hYw9#to2)Y_R2ds$S8al-ou_CdOByHh1>YCFx0(>LZLTce4PtY zzC2U9m(cpF*PQCsH`?V~(d!7Hpcu$|^yM>gA z@`@)jjn&L${Ot!Dh7SbhHkY~WvJ9_74L+7Md8sVOodfZ!Vc{L=ZMYcy)`8c}ul-Uc zotktrvZrK8Ubpc*b@KRrX7)M53%B{38dn$+8FJ6xYJC+Is4Qua!+vcF>c|-4`_Npu ze&y)hTb1GluLbg;WNj5`>ZcjwF?6?KO{u6Ey8fy!uHL(kI=r(=ug}2 zAU%DjQ80B%_&KBU3dd!cnCl%OdaB*HU7-cnb~pq~_Gwxz9vL#b#pRn@q@yP5>80YH z5`}(IbnKz2XvZfFe&zG;VRNqEhnH$=4U@Pp*BSj0Q{W6UqW6xw~ zBToFfrTYhoW689jSfQXg27+zYi$>_$chId*8Yq?{?Qs9;941PH(*ZY>WzWZ=%a zvL|*s4MXnnPfD$wS zbx^k!4xG1f7JrzUjZJ$09AWzMSIM<&SK0If%dfKK+MJe{R=HhtC1q7Ie)+&>_uYuY z(`-S#TNF$z8uWI>pTnrT9l0qm{G&JdDD_M31I^7j3#g8LlL;5n@ zqrSYaGITUw0gLNwCf#R$W^KfGPWw{+*2ETIAF!;exb#q&pldClYhTQ3 z&-&dtGA+eeF^zofA{%NkSrn)`aHr^)m87jiT8%|xRJrhz7geV?EPYd_FZuA5GAjI} z_De;WEXwTx5Bn~1;uhrg%pnz$t5?95A*l85xjj;IDL3HdaN?8c_`65IYmyKJ1hmmJ z_iucX3jXd9aAFMqJ3fg9|MCt9W6b@Idm04P$3MOU0xtO9@$~TT?|=)G@xSBg;h*3E zmu<}bj(>y)+&PZ_8=pjjPeKB&5dL>OfA}OM5M{#uj^_`bgd~MeLXyHKAwm0^xc=dj zkme`XNRiy^`X|oPUnkdq6E6$>6x>7*VD6tV0j|t|j-=1|DSwh(BPqEk(1w$OzhdHV z(`%Mu;%`Haa(|g$1D-ZtG#h`sH-q<;{yM>CDJK5be+Gd*=u|pBuj3CgY?fl;Z~f=L zOtArO_oB&IY#W!iApqsr5KpCpiyEL)>C4*?kX#g7`txU)2omwPNj4xsZQ)4#`9n;2 zCjKtVMpAN7bnDL_Vj^(xw`n#@G4Z#-#=p+9kzDkSy42r1#)R85l$Di$p1+w3K>tai z%~DMKt*w+@m}vu6kmUuSml%n^HI{#!Ya=POD9(p_+V5|cu0@G1Ai;QfBe4V%e`+j& zO_Emx3Cg&v4#HbN(90)^3d`hSQLK?9UiK$I0=nBqLXq$+6L>F9PJVgU6@a@(78vTr7(T z=|#)epXZU|2LgDy;8Hq#QXII+QcNCfAuf-JMOORI6UhlofQvH~!6Rn4=>WbuG)K#u z4(Y{A{H?(Ru?!%J_zM)k>#rcsLT;JUv1sY|^K5d$NPr~^94Nr=se{B#Y4A+W@}^@E z6C{_sfbFumAkja+QZpA4BH*Au*)9{;221~3ltx?|NCN)&(z5Px0EcNncm=ddr>u++ zH$#Z;LYt!z;+hB{4YW_NpS!D@KTh*O+zTos4K50sD?aZ#9q}XHL@%Ocit<7G`MZ0& zBGj?27*c|GJ3=S4pb$(IujPxV>U#V8p`Ec#{_bdR5}Jg(3OXT@B1DR~0a~ihX6{}- zo+yM?5EA+~DWimqc{(98v=<7ouqaF%Z=DyhtBv;aLXwUqVPlt0Xzn8d?Sk-kLm_m% zeX#xrZFf(UFp)0qPUWST)-sBZx+`gwuHMada04qKzn(iy!|l%j$Q+3H;<7~ggn;TI4Knjb`uPLV@OGXPcT)1isajMFrc7>@46vU5?vU!wX`VXP z#RcU@Iv|8F5}gp4!o*exv7SZzYZ+;iuuKR<&Mj6 zW1PSwJNcm(FiM;`s07N>6X}gYVX?>HIH+$XbY}n z6oB#za7P7_3=Ryo)VvXd5(HQW*9H0nk38-*jHT9PxI7+_k~T%O^NY(7g$DPM#y`{6 zMEL_VPC^<6So`GQOZC z=o7R&LOsD%aYm>IFIkGOgx_25wVuFb1py_M|fpqqhZxh*Zg_3y54{Kn= zxa{ggPRK$@HH0DBAB7;upFb+dABU~xMuJ5CVIcW0mEcy%fdexXutA;xK{+GLakhxG zA)@VATn?s9PF6JhP(a?m$S$rtZ#1DR%?VC4`3i*Az@dFII7A zzA>5E)mAehB}be&=nIiA+|^4<*?ucGls6&}36Py9FqV#JKkpqR^kDqAR7oOzvbYZl zuQ;O-x(HN|4Ki;f_Igqk(NQ zG}A>8))Y_F0_KT^<3AFGxh5xZnrH~GL$iv(`ap4HgdfTY>xXd)UyRV6Gi`j*Z|xca&}D{8e;t1gFrPd)`;*5CX6vLN{Rt-4+Po| zxR4;`gY*X~fg61w=KgLdFEJ9Wg8}#diaN0$WKp_7FakLTlMzTi6wp^7Ex1(*0*7EC z=2!{_Y@%gA;eq6QBtT*e9y!e+b1{@CM!t z=!Fl`4+GgBoD2n`{XFLIDzOi99fu4PX-{BR9y3)m!4;<=e!9u=4`a+*4yFAw0KYw2lem;>nnq5yVHaA95ySaYCYxf3B+ z4wgi$w=-}^Q45wK*faXiWQm-U^`)T20*nP@G_V*H!Uc%|D(Q!C!Gbl&f6i6Lc`ZQ1 zL4*ouF{BD06iGU^u*Zd`C-@fxVP^kHCB3jtZa6l9wF9k-=~>k~pQsSohb(7>wWh7B@=5GsJo zU?4IWOh3SzApVbXCS93e4-q0EC?>d!`Y=1>B!14Ky5c7b5+no&D`NqW2eAtz0EKQq z4REn${{^E$l>9#;0dqu718}GfY8G0^-GQtl5qyx6_@3^ldYL{-5*z{2f{_5-^` zUL;(}!H(x2lOb>>N7fyMrr((eO(C2NVLE8uAdWC-fc@Q_JUoLJutc&fEU!My%fE{- zWK}_61!4pkCu$d`)8eWS!Qzu>it~bOgQ;8psN6MTDdV8W1mc zXJ;@rxRnxuE4Ww|1{f=#ZNLB^0VD`qyo5rJ(#_l3#yMaAnLgYXaymfl%N%e7kRD1! zz^(euSX_)6mu&&XRB&!J!d3|P(Gdj{V@?2E-2H&0LOrz=UNG=PJ^7zE1NV%aE-l?8 z1Z7ZuUhdww-jK2j`}E7JOXPv9n-83CNR>T-m_mY}3#J`lC^wX+&w`eTdh$;-;P%LA z#+*5F_jdBcf>|V(bb?^=;dFx!EKfLx0g_NiUKfE*IXHUo9|#h;B^zYWML@O}j0=ca z0-S-w#j^oygS=Y+nS+A^LEHseP)Qa8Ie63Q4+y~A{F5fkO_CEZCcwGH=`z7HB)Hx{ ze*CaN&lkEJAeU~w`u-syn7eRBw_!6cT=RT0i6dVhHr1{_L5_$N?0Kgob zIoAe>@DD_b`XDg?euLjZd}RR#M5%^3AYT)1pPY0PwQ|n0Kzaw`Lrpl37WX60U&PIv z4+xu}a1qocRs`5l|8F#jJd<_L!6M;>@b|-|Q2^tQ3+UiXtcxGo3!!E%V2*%r2hJ@7 zYZ3<9&++jG$^h&H_)kZy3#stK8BqTV$}s=rv;t&S0X+al42c71pbK6|;Dq78l0OvR zMi^S?>mxkf!H-A~s&d7GtxXUYLPGw`LVDcK-M9j?+f7A!^KLx(cYr2 zejqXuj6ef0jr2!@umW!U!C#&@kVdM8@b=<=AP93yPCM~iT%IVT2SOAf2@Ikf0v7>< z0!?TqT%w#~Fqi=7FVc~Po$@~2U|`}Qroh_g0(ofw#2~=xjPih% z8PZ{c-R?i50rNyor-<}$AQVhvAbH zxF9dsU;rKw2x0(z#vs67K4=UEY>ALYDCA&|d)d{AoRD>|ol%}Bf3PQuzkn2Rf*v?O0_XTG@F8GF_-`l?`6KHZ z1A_=f2q0$|>jS3W(cKjUnvtHQG70;^P z-z>X2%n3PZBTnJm=?eTDgQHsnEH$qHftoy79~ELO7>z|ZgG5j)1WKUHb)4bE1=zfi zo}`m14`+NMY5iu`NB~ELj=4b+|CUc7#FZKIODen2qn?DWM2@SA{Z@F&WK?9e?l7W0XbO* z76>=dy9_O$C@}z6q%#ORkxP{%(kJU3YMH8;X&GqAN|SUGcK+b+FfDSjsS9E*U_1eO zg_cyX@hj>N(4i>KF?R%T1ngl#f;zWR>4`@BkYpo(8#f8F{uhK`?#M|Wp(k@k9|=Yf z_TS*|L|SBhG(y?A%PEMoh{6GXhiQ?UVM5utlZXUbuUE|i4d9|5We0a@U|;QU5#;DA&YNn95Q3C$q@ zC>Zq*6o~wg^-$md%-o3%;I4v`Bw+I&g8}(;IHpiY5cZshEkM&CxI=>f9tKGTQey?X5DN;yRLMyxNd*}a69_v1 z3ktzh$;l5%1yXYZWB3Jyh*ZfUb&?9Ch6hIL3ktzhmo;0YCI|-OBvj>ziBsSXcf7@3 znBGrPVeZx#f(*dmdO;x~uY@;?7MJ|)@78HW1E^D?(bqj_zBvj|=7FqN{Qh`*rU_`Q@5Rq51$1+GNkm}abC_@2Ww-lCz zG89O4YiX1L3K4lFd(vV)ulP432`kLfC<7FNsV-->@GmeDs4k5%Kp`U4WuXlGlZHg9 zORig>5KMJBx}`{}1xuq0P>4u%Stvu1R120y8K4kMbvf%6{uMvM2*BrINv3q37Jy4n z=F$uP2@&BR#lusD-u=L*B#=;*Bl4=aER=zNT8&6`>Dhv{KoPw3xeQ)Ov;bVFvLvst z7AP(YWhj!YFyO|ZC8;XHBY=B-d8rir`9nr{z=|*gOT!GP6hR8W)lthB1Hyw)1iDKD z4X6~6E?J~u1;q+M6beK}Km--?An?9F;f!hRz(im}H z)ZH;qG7;|60fm`?#;#_ETu8Q$oYBsDQGUP zgGK~s2FY*cuMQV&HKff2sK zbjVGbF6gYkyNmlmS}^XKUxG-FEa)KzCr0&LND&mMTf4 zPZp37Yw4iT9t%hlZR>(UFjaDMORQjqi)#8Ub)yFK_9z}iku6SW2>^ik54GW6`H_?b z*PY}3M<=fB?g_GL5aQaNAfE!$>A(dgK$TEPFS?-iYOCFt4(&CiGgfW~_+0gm zH^^hmoE2SaFDXl1mTCUBb9eruNS*zc%(;J;28r;TZsS+MDm&d_D_i+vgrb;5n)+9j zh_B1}zP3|5T6tcOY*NnF3hrW|%n<)2p>P=cnHTCW6z^nXDe*b+M@rO{4uZZS#1;2l|gPzI4 zu7>@A^xC#;n$S)595aO@vxj@urLT_=i&!birEj!ThUF47!|lCmdS=#8tdcL>G@?fB z+(_l}aU;*BwTHKCnZCGAbe!(O_KJYgKGC*&-;q&Cd(FiHM7CSrE7&HZBYI_kli|yU zwC}lb9jW`BC#ux9Ulq_;Q+yHIdXNA0xoHfm)~o#4I|n})oqhOYdc(Tvr~8qk!NigGW?(Q2x#B>u!`oKSD^9U@xF~;bS6$Ef2C)5R!Nf{=<+pO zyVaM5f9iF5_Sa@^y5paj6&T-(%}COS{p6P%^4Z*X=XgQatDxj;M$4=lK3i2bm{4s? z@xZo@8(&$WRem5RU&|uXf_6>TC&8|=%usVrp&-r3w+LCYh<^x-@A6Qj=^$wRfe(AyC9{E7xf-8$`kS(e_P>pUq@Eu4MC)oxS~I##4;w=G?j=1n%8rE;|0H31L% zCxz(jRajxE5ozv+14%=Q=;GF<^eEZqDPhlIo79Z<1#tufc25ajwv)>Iv4{Sv=8t;! z^_0x=Yc}1iIrn5mI#cb7;P;6fy~hP_uDj!-l(@nCp2+9YjNNQ(KXp7YZ{ytRZ`8DX z+xh8wifi8BhhiGhti+oYzR7t34SDNsgtRFRIr231Y&ccM*juJ_r{zqXM!`&!7R8#P z8QV)g-@m?o&`17&<^3JuT~WonpQhGEZ@BJiT4_}pt!KIIyh*KhM8WNAbkF3np62X2 zV=x`-aCv<8MM=xZ%s$iuO6v&|+R&{OHQQqm%#}B)ohHYMPky@>Uv+S=mEcJ2`Qtkn zWsQ3Jsoxy+$=IinV!pDvLq@vh#8-~6?uHg}%6NoT)eVYN~Q!U#_yTMV=UWwTk_eXy=>F?6=hYB)o6(NP72g)I4Px zw_ZMa_%`x;$PSL~n|oTnq#0a{dmARDYFT)|N$DXima*VvuGFy6we4JzF>|%^f`yp>1gHj#kh5B7quOfrVac!vWG?Yv2yL? ziTirwcj|~(6I1&6i(kCIlsavgLJ!}(^^LKM>)fup=@Y2$U99RHAc;L(fc-U8^7 zjsaGCc6NmW-R7I#yOcgL-TpC|>hpfzutVpwyHX}kYwJZ#-I5iNWbQ0A^c^^UY@{c- z_p!*nyZJT&1yxl1{?da%QZ-^5ZidrK^klepUY%I&QF?!+VsOX>yNovKOY2PU-`CHx zpr#2EyeGfs%nt8o90vtG722zRPS~D756jc^PkXl&DF1r+oBFHLs?7kk;#Ud0vj`R& zyf1`MR;Cl5yLWoQTQ2woiR3XCMO-9d`H#7%sv__$5`Z|aJ?L4zIS&5$qEKm)XO@>+ zYmQ0amgCx5@_NyEw}^tb^>9!3nnG6wh#P~gUo+ra?nQ_jYic9J&7rF+=0C&&_{L)f z9CiFM4PE-Y+-3S$Ou2W5#G2#7!F2BgC@#2|=5CpcM^Zg(ZkjF}eE%T8QKo=CL#?<- zTsSlQ0;^D{gs{nD)n9zhieb?f!Jp2)xQG?=;IRtcbI@AtG^@o;RQ*G{uwpU9QCq8E zDx0@gPPR-wuAcN7=T}n>G!2hWld7R9iFvYTn|HBbX44t>Pp6TcRf7}AybLV$d&(z| zCmLI$rt6Fm2es?B#Kkj8`)s&&k2dd{<ESt}(N!G8}ZO*DG;mUdTrOM{Z zMFurjUn{=l_~3ouOZ3R^-QL4xy28IcIP7A%9~ELS`}6wxmkgsjN8>;E3NtCXq4m7a zf1KGjIlY#O?^stx)?NPnB@Q!z`||n%9tJgrI)*+}`pI-ntJ=#fwk)OS^M_4$3{E^? zXbcv8v?bD@eedHUlig^_-ST%d1-UQjg*7u4^OgiQ(RjPiHSKrx(mMab_`{2uxWT5} zqa6wyqC9TehS8zDjN1)w_ph>)irbwr8tM}*N{P;Wnfkr7LP6yNkC%9QpLNEiV?6rP zX^73uo7vwE#D!JePkQrQ@o*r0ar_i};49;R)%)uxteQTg9I-n)l`|yWv|DX;>+obL z#q^y|>Psop;T^fI z_d;4P0j~Nr1;;?ZWxe3$bg=CujQ~$hgS*1Pt^Cs9WpH^}@J@jocmM)CQ@-eeWQ4dH zppLsg*TPg6ArAdR$j#s1XS=xg+|g|igKR;_0Cx%Ca4!?MAG54K*DJ^T zXwvEj8y$zFZNZ02GAszijqw^Thi{_V*=jDWu`w*_8!)5KJm0Lhnn8ZIdCr&C??R7E zMl$3J+GAfmX}|a}U1dk+{huFocL`HRhGvd6eE(eguB6Lti-*O)vw+_Y&c!ok$~;NC z)2mr?ZO=$H+$pH|75nkI;%LZ~1U>!DB|N!YRc{%p*km&pvdT$U#=kx$sA9$hLcyo$CBc{+_jYw%tbae3<;7K z&EKC{GicN;nx%51Ha1s6i}uUS)_uHdqoY@|Zx(o7;nP$5QzF-gCX6E~bD(^NchAJ` zTN~83hRPgBqm;Y3rZ(F{C^@EmfR8)c#%}xOgD$R7wVXW1A4Tk^dgaf>=!E%Xb~mV> zCTU+%0tI6`aO~< zJ12y;2TjQ#Ss$`?I9YFtdbQ_ER*U3^-@;Kv!s6`vpK@#t;?&4HQ<|}P*YPom@Y%@A z`pld8)dR~9rUdm~csUe1=KJ&TI%B#liTy^Bl@7ytKd&Ge0vOcaXl)Xyf9Y5h<(_v@ zB(hc5i|X3&wS?r{5A4q!o?rG$ML#!R&734T^yth^`YKm{Pqk{)36wl_Q@WpjTxO*j z_Q^@)w|yy}f?vFdB%_$(_En%H-dLI`D%H61c&uY-26JDI=EG{|?;O)96& zrmOb2?YwF*9`EnAa<9@8N|9Kx?b}Vig%|OpuS_y*?YS#Edod6V+Z2~w-yE4 ze3p{@%JlUURnpA!G262$moCvMUvs@vHL&Vv+lCFQh>8?H;~CaiQOyjnP`d8?Twu8HWg(CC+wnf=l1T8q7?aJ^mOWX%Jj(hp^{846zl6zwo}hr z^f#>=mJh=`tn9T?*M1V(rceK%*0ZaJ){~!KFIF-CQbnrwmEp33=j7Ve62m*ry_ZhC zap0;AI<6`?bdCTbeQ1Rkgh@sc7{-^*UMpuseL~xN61CyXWs^&nkZlf8+j~ z>U4C4B8yAkO@nxo>zhiof*y@b(kG;eY_gtF{OtGksQwkq?-i+f$2*oQeSn)o<^H(;uE@1ia)3kdO?&Mf=T@zfzM2enrz zm$hz8pe^Mc9k9-{&9Y6>#-fd7U@kXgz2b>^Jlt8SE}&6h{p5zdNWrU9Qvo?LHT=WK z)Q(=wW9yWShj|iDe?A!G*JRU_ug`cU?d7qpEO|ftC&zE`3~4{OZ7QyNjz2E7?~C3i zbzP5=ej8*&OHE9_OHO`*Uf0o+B1rEGld=KU>isGF%2$p1YF1z})rAJUMxEY@>oDD; z_6Ul0=F>Dg=u)MJ8#N~HiownZDd-%bxqdP9khZS`X zXIH-1wd2hJ?^;CH&2x!a*Y!kmWty+DXXUwPWyHVIQ_B-lzPK~yR+?ejy$2E3qZ6Xj z#N5Uh(+ac&lNc|0A2D}W-Cx)d&-#EZv*7y{UOJP0nQ?RMnT+FK7@iK7y|T?x&a|vz z`ic_BKCbz^nI*hZv^}dYr*_lBFZ(G5ayn; z%GdZbf%%1YF66RC#<8*HDl=GJN1 zxlHXIN}=_@(wxRbrH!XL-K)=xv;r= z%dGiU8Ucga;;~HKwj+K_2dPhQ((fxQVO~#L!S&==7;{_FDHrM;D)jr4%b9DQ>U+Ex zOYwGat@?hG^R7cx+B06;ZS>3ly z=(^2S{cl6DY|84c!O26Yt`PamD1{wQRMMtp3%^ZqZZ)&sxPCBI?$9%Pf9hGg_U{J< zBSW-<-TMY)6BzdY9M)6WBX!V0FemQC$H!V~D?^@A-AoG-Z$WJm6MJz*@T0@w)sftN zCbb^xcQFoj`(_OATIi2%Hs|_OTTqP30>Ft^GU8@5k)i_%uT5voHVft?5j+nlGJ0Zfm?YqWAz&rPf=lzMPNr<4EInro>^T&7fY?=YA*;dV`9=@q=U zC+~RNm$r1%p4i7z=vH|^V5hdp%!@8_f#?$6^{c`HDQ7PFTeCRbu2UGO>0ysZ+&8{r zT0Y|4wxQdctZT0heHNouIQ0HZ6kmV1c}IG2;InRl)3gj64>)$W2uo_&w(Pm)r*!8? z&a^16v~%-M1u4gwa@ptc_jvf|g?2_2Cn7}~hE|rADYfiZ_PVDVHY_b+ICWY*koxHA z?JWaa1-PTb!<$XRct2|99A`6*I>WhAM^s5B^u)f{jc(S-Up@xwmF%Qg(bzmHbReLc zS!4S%Ugk&k*&7tRS$KDMx_lStId(0xl2$&DHyWw1ryV7rWwU4McS}Ik8Xtxg!-Fcj z*f*5ZV*J!O`lGrZg{$3&rKJCPOm*Grm?7nQBV{$Up*PK8f;--xVp1OZ(QFyzRBA%C zI^Ur8wEAFb!1m1Z;sZ}6l^y#HPI;aFy1w#Mn5+vj`C$gXmRP3x_o~rTv0wO(QZo+Z zX^o0p=aYS3(`R`2_6p&_&S#2SbSsArbLtw}ZK&8tX;SqxvZZ&B^^}XFZ_IY2P*3lL zY#H9qdL_v(4V`=yHgPfbmbVTje(=?}zqjY%46UnS=gwbBaa*?KOHF-y+s`+1()QyQ zN;6+8)jH7!Tb;QBo}1Ds%#8JXlCeCsYDeLDgBJ!IA?I2>OrQUjQ>%QNa#3*nSV-9G z89{kf%hgw9<9=Nm3;cT8j;^_;wweQLJyng@vD|g+D`ljA`Nu|7bE&fAh}h*{>v+mzGjuCGM48?B z$=JZdeX_L$?^sHL1OpC5BI^d;IUWc-G}AnI`4Gi)v{-|YBzMuf5VzTK(cd$)hoZ-x zh3-(Pzy70Qc1Lh$vhET{N^%*#I}Rc&@ZE8tslP%}_?)Cq^AmQf2p zA$%4OuCad$h0XJP{|-sb2c>vFSP>9iE|My++>7pzV?Ee-SAvo<`l}A_mM=YQo9^8i zj8NW<=ewr{C=%i$AE^HSo}F4f4D8`iDC zw&|rc81V~mzpu_7&#PdF*4ol8{{!3By`NH?{)f>Hig>^5=n^}R(HnOUaIjHxQXOh^ zxbOX8EoC(m+h^a&Liui{_BXu4%-ZpkYp=bqDKmWkW{~5_`ck<7+lGhT2ZTnxB&`%b zH^PKT;C1rkg?M>19vg7yi%k+K}n6G?1=8|*x{U8OG{gqw^I`kc$71!3fzBH?A zK-_xJlDc=ycFo3`6)PRmHFT$U7x1CCZu!l2Yy$IqZ_2=MR@29i#{TqTt!opDEDmDd zsHSwLhGVGhcnVekR4rAl_3@cpC-%XHd$oP^#GdxNpU+i&eQFxbW`cGPc}f@# zguboh|6*9OGQatldE?;aS0RtGt1paxd3@zU-(W{nhT6(77R`12;bvdM^B%~&jYElL zn^`sHh$j7Hw>JIy;v!|PX?ovB;EWJ?swr9I^!9!Oo zrjlGeZTqee2`1|b9+$@AT8$2?5{X#AnxzOD1W@vX}edTL5{wVC0u^jeoy#Jj8 zqjYPF?HH0Is(&2$iTJ^^`DdolQZ{vdn2wBhDv5I+Nxf5CKHcBgRAA^9`KS1(zPPo` z9t21skO#h~H@JL{G?-7w;3IDz|Ep1yT4GmU3d)IJrhEBp4={=fY>-i;V=X9_-PWb) z+x4&`plDp8Z0N(Cy-&9m#?V~c67^9(k?rSjh#0@9;#gI6smMxeR;^9kDdU%K@wsx& z)+aQ&7#Gk~*2Sk4qwNwfI~#tq{77lofmEoh5FTZ!UH_ zoIThgOyuq%*OwAJ{>5L~ONS8b{@UMbRZ;h&-}8F(nj-lDN1|Hs-l;v9cPW_{f=#6Kc4v#B64fBeN)3h=R>OIL|BcP(99elQ$QqW6i!7Cp;Ex zbo;iOpQHF)O6xQR^O~Kstgl+L)S4pe_zpANXI{CbCzdjA(}u2-d)>?T#EMsFdp$_V zHxfNoXsCj{8Fs=-X?Wlno20G%juFbXbtbEuP}=dSBTlp5ocC;D@mRY-V3pL~k^NNG z`yyxV^q7s#wJ@~`{91SDM%cw{VQd$43P@5wbY z@3qtU?<*frGLqBs^?5lM?%Ie+yHd7QllIDblN|AQySL*79~yqDD=Jv6VAi*#c**7Q zarLuwug{YLB6lZmnqTjoVYt&Nc;a#IXK!}Pg3u^r#y%^h)q(63NRc0iB!eq2P!7>r z5wFl@g83Dh&S%9B$9@>pu`y`ACN_Ljom$YG`zYPH$EJ1d*m8t{Kyt%Z4*MWB2E%}6 zBv;D=UWenD%JUM_in^Dq-nGmG?Fbg4eIp}vp^xYEP1LDVWc&f=};yaIP!LPAf~P zP}NZPeemw7s+a=aJ1h^Vx17zVDBTi%=iQ}kPbVGjuJ7T<)IhxNqzubAQa`}hx;}^b z2t^O4{Ta4%PMsy45&G1EsrFi1Z!t4eD#=C;G2Y<1d|BtXbQVo9#ridR`EoEcH2{nG1EIys!B@rgIH7mkuC~IJU(MAFH zdq-lanT8MeJ(UlYXXstoS^7ft{pXDbt`1-5W_cNJ8&$SOj%j-Y!;vR$aWjdrRr0NI zUaTrz+NFjZtO^EY=r`er%blVWAxCbNtnjEC8Vox>XvxKs|=a5Dmu^8 zPo|p+a+Qh18r8=zov2GFJ?fwJ$UT+bcN}ZLyZ`s;yjPSPf{+jQ95$~_7*F_{-G|OevIcT8hn-*1LyVXP>b~l&_kgeqD*(IF*>SuR1wP zsbhcXTCvB!KPCjR9pB-w23z+fdKBw$)9#{ykVkRexPrg1b6&qebli(7CLi-c4{u}y zOQhL{t!$lMS{pb&?TXFjb~bYF7fR%1Gm3lD{NTt-b=~#*auv4OtZ;Po;%d%ZRoG7> zDb2!rhPtSypvcMVv3m}tSHa>24QuOhrS1zByI!{O2X*uBzs`1X1-76g8UxL#5;!n_eIwHt)#o%bNke}UmpiB zGeUW37b^1Txez}M8sZ(ce!4FpX_%hE+RwptPRmF(Cqq)5bJL8{3>_1N>~>UT&|4;> zj1nb&TmH%Pf$Qv5C*mV}CN%jdzPysl8k;JTZh5AELuPG_V8yv;W=+12!>(GJZdm56 zv+QbYNFNUJYxUyPE7dXXQ9raUf`!d5=G4oF9cBaKN9rmHUvj6(x$P?Fo8>jJ>Uw&` zX!}=N=gd(#;cfRukFMi=mx1uqXEC#54d%`aI~23$_dPYHs(`n$D&q+;kp}W2A09|) zG*l@YHAJJXY>%h>-B17d_uX@a*Y;n3m*@9n@VoJiIHis&@%C$1s zHQn3%$kE)=-qJ!u^n2(AsS2sC2)*^S+b%ud-Wjtx*xHZ|F}ZT^=b@KsbwL;tjwj8l zjZ@9(XTN0cuh@3Y;{@jsruw|Vqg{Qz<|A~stF)4o%CCN_n7W}oy)#_XDT=X1zWyhM zQRx>WMY2O!1a@Pc9+T3(&Q5ysCvqFYYrmect71` zb=U1$)NrCbily=y`ziY)l!xi@> z+C&T6Pcxqyp|GlL!MazlzCPGl8O0#FUv&Cwgwj~F%a0EprI#2*R1zCyGc&+k6$k((y)p`w$YCV@_q7b$A}Qiox)ykE;DmTVuR4b}a5 z{hP1T@JKft95ETc^s1~mB;|HT`RffgG<`gI>wYd&eD^9ePrzqZXHUj3uuq07`oG#{xHUh<76U%Jg~9EfVZI?Ka$?DC14 z%a@L_%U0DXV`X@_RcFUKc62=oo*A-_n!KmYdZO`*N}%BD6XIE|(@lO8_2LeK(luEc z@|Y@(Zps^1KCL}?B573(eVrV2;p(dFeoxwJZcKV~*0tHchVSiT^keuV+C#bEjx9B za5fk>kob_1l%mwKQzxG78938fxAynYV@F<*1V!cC>9pD{lwzeETr7Uc^87xoCj+#L zuUl_sh^gt?^5c-vqla6bxjlORHqPPA`G>cPZw*Y{ifOf2^Si}@+di#E^MOJ0t-)?B zkxCvrq2Trv)h>EtwMp!EyA-f#Jwj0!EEXf*@xf)X`O8G9LU!wZq1PJ=zP#G#^z=zs zahJ7+75Y`ezJj;cIDELchexdL9uKQuh2Cg=K)L$>chIUR3x>S*eg&Jffl2v82S+oK z%C0p}KTtx{S8VzAjb&?&NvdhsMQ1tFn(YstptD@|UJ3Ad*z7$qbMTGDGv>kHhxN<4 zHlp}G_V}M-qd8IQ)E4q3@|BPErDyD6H4iZ1-uf(QrwVp{NmZ8ApSEJvQ!y9X8%=#T z>1}xhgMoLr+So(!1kY(Af533^urH~Jg#mH z6hD^QHd?u2d?uI0py(}QSH{D;&J9jh-xX{Fc!IB=Y+H40+eXeLw}+vh_-^GA4|2Gp{HdTPxKs3&KqvpZkKGon#Lrsgq4_t{x6Wj`ZZJ;WbNS1-2{N{3XwMB^gV5rtX#uPA z&!qdFDe`_gS1l2{sncH3Shu_)sGYO3lT&qYx0JC8QmbSA^znDE-5B)4+fsgHi%@Zt zZ1IR|RcMP=2-rfO(J9Hk-j3(!HeNe>G^Urr_*&Gn3FU$9Vmt5z~`B6SX~dEh$$p zSp{cIFSm0(rtem0QmLKzc)YGy;)rFfuTGZ<=VkfhKDU_9PTzT~kF9Fh_oHjH=Xnp0 zGnXHmmy|ij+9cJUvTT2@v;;-^*J$4v>r-7$Dp>v?r@-F9_>Co2$vwV^-@DQ)jwU7` zE6(}*{&-~PCwDPH$MuO0&5y>I-5*WPCK$e~dMUP(B1(O9s!c_&E>!fLPLQ*ts!o4+ zQuL!uZR4lUaSf%o3K(Ke_zh~>mEY~2>a%Xk<_Q`eGM^EuuW`0b{*nKr{G;*JkR!}@ ze6K&=d*QYrS4g0;Y`*eCCxaHPT37XUn=spA%9jonoqE<8FN{K3Xw#mk+`XKgx#a?z zY~$3=pZlVZGn~JjHR`uBF+}I$)8p2&*?3?EehSNLjg*+2Ip2 z95il{Q1PbFZNtMm@{|GFqt#l^-gs*EHSpC`)sACS1r^M62d9f<755hLCp4@;JAL2$ z^#EZ|%2LJMSTQ{Ao8q2gwS~IiKFv8^`HT$eoEt91`_2cBTTfapm?$SYt zZnyu4)!ut1=1$_}3W1;-k2#`5?q}38Nkpda_%<6Vbd=NTS(wAoWU0Uvm-VGyt2Hya z8Cp8)yGvIHnQz$T%XMp8lJoh<3A1~A zOBKe5(l}^i)=-C1jPe=LU>XmP3{2Sl) z_*HJX_rh+)*L5z(^j>E~i`wYHjEK-aS4$l(qZW`y4h*(Q=>Q@1c`vf6=JS$_c`uIWu(m!jdbh?gG}d+N@5c|@ zDTe*jZ=Y-zK3BWeZl&q<^6JE>^(hbQ+|xeMOsyg{YfQFj3>3W)@?>Jzrj559CC&HraK(ZX4rmiibxVF zIxyhzjW(`#{W1A-qd~7F^Vk^T4mfUluDvzDRkY+>ulD-G=tj|JMjRYl?S(mx#EMX=t&g;4^Ri~leS3y(8ort8V zZvkOHEgpbuCo!Ya{xh`ww^6^0^=(7GvhgfPunEJ$BcVVg{iGg@XhT>va)~VvE|5yJ92M+WPjCuAHJUM*qUDd4}Njt zj+2!)>{e{kDSz}UM?A@ILmf@^;jryIoZOV9vK`;~>u(KE*#&d(7mv$iRr&sm&}=?( zZxV4c8L4h-p*v#z#^>~HmlpxTBF0sXra4wY_pb!fZqH3+9zT2)O}i7FrdN3_IxIKG zxT=X;@V(@T%80=f_NS*cx#Eki1buy%_g$2QHdbLOkfQI)?dr8n>rTs^t7TE#oe=Zo z!_T161l#)>*w?0`9l6pG3iXnL4p_Dd-}V>h*+N*Zbn|)6H0seyB>KO&hmBQ0&)n_H z(mLwn+EYoPys05DRF!?pIg>~41;WJQ?i~EKiQbVbQ{7-|!fGpJ-nJ&?3T)periQw; z-O*!6mNP{f{TaMhW}7cgW;}~Qy>g~j91gEB>=_J~mJz)WITg#R!Dzbmrf{-rX^{l| zS!HQ?6^@bI%07Apy`xf`EXrJ4E*H&Yac&gZsotiPQOs-c?5Dbn1}g1^&-u9O9ZkMl zM`fa(-^{&JO{1~Rdse{Q>Zb%c#wa8(Z)?!uI~i94y{~MPeAvc*)!ywYJ7?mC-7Wg} zqs9EXBz%Mu#kt>%zy_tod#J92a zB-S_Hl4L?D{ZbhbTout-?o`b|TX{m?F(2J|J(yK(%(L#uG4>t1p0>CvSX#wyK9d+H zTFLI3x<<+A_o~p*)=Ac;8S(y9fd`%zuYa|>t$lmKq2F5Ohxm<@eeYiQtc{iQPC5JO zJ;$*CmbgTOlkea*(=$fxu(*Pgr^>upywr@q}Odho>Y zjjqqPV4gn+!KPeRGyC>fq43V{-&{r5;-6(vXW1KjMJ8|EEHPT~ahp;{|IAqS{<_H! z?y{cbnD_TL7s~&pSK&OKyM*s0y^QU19LQhbd*QsAKk&Wg=f2~v3o?a#4O}+kf+Tpt zWkNWYV$K`<$0T^LHzX?~FD9)BTtq1;SuuGjaMV{;RzXY}?4E;Ec{8k|KRA<$5Z8D2 z_Mn5)-*=(S(Fk!(gb>N`ZP-V|vqwl{Tm~nS@)Ba;Sd1h>Mov~tP97W^mzI$c10Izu zLPlOrOjbc=S^VhZuL6Xh(1n>I97Ts6SKI{ti{pwLXF^ACF6e?Ui6l+^M4 zckncTdqQ_bU^23Dl+3384Grbd| zHIGU%3r$UCXP*~J7gqi1o6H$lvtB<{Od`zj;n_CTz%+8F-%l~QD0sz3jBccJxllkQ6vwtY)+S!^c-66EihXXL!CYx=`(xPeZ^)?DGf};; z;l5F<|0B_F8#r$HmYN$0U$0V2nOLjJas6J`wX5H3j~{ut_6YZh6(gRnCy#v&>Rer; z#hF%=7rWv5|T^_(&@?xHq`CU%Bh2yqV8 zv-}!M-?6F{SzyvZYFY41xCeX=oIzo zJi2s9y2;)kKl1xNH$m%7952Jn?c`1jGq<3J6{M?qM(DqO>egGz#?6o0kclth=6a!x z!*6jLfVU`+>gXT@?)Z%y$jOmcgftmkJ^|fB4x|+qTbUPMl9X6NZy+xISy2I{`6)R6 zCilxskS5%^F<*?Oq``*!GIy{GY&yIUC+mgn3%{E z?|DS?`THSzAFwA=l`1~gn8$wTx9&J6lMRbNXh49p^@p$1%0Za8>^^0;+^Hkft)aYW zYo6YkQWsuda^;MIPSWa>;#w-(R>Zo~LTh5Cs@odHyHW}|Ja`!?G|$)4Y?ka@yUuo- zx|?J5ee-rcnek(CE6a4c%gs-w-&|Xkeb9koZB7IxqpNKb!s=?x2D@h^EA{x*?B4$t zax2k1$Mia>=IyV|Ey&0Y=eFz=bzy-IPu(gbm?g6)n7>x0WbqgDpNah86evmglec*P zSgy}KnN`*mNYxV!htQWeGe^pmYEF&6?_uS3TYGg^bH`I%t>Pc+gZMe)omEb@O-T=N)4`h_+4|XbP6@*q)M_{kpBd z$-@gRJG3jf_m@@Mpvx&sgx=l+(e|__U(;o+Z@Zl9+sV?mKi1+0W81_w&rlKk8)j9Q|HBSw4h|8X#9O=|eE-O{mJ+j_AhA-{zr?Ll1Ckh@U6^;^VbFIDBJKkqLm{V7wHj4($8#p#o{>v^t7BPGb4s`q7 z?U2sPNIhzyxoB-*aS004OhvM1HLbD}`D{+5)b5$ks_*}f2Xv7$uJ9pNM*s5{@=n^za z^$KH>-<*y5)2wb&1%3`Z&TNBdOAbg89+0z)XF#);LB2P!S5r}c?&1G|ZtA;;PW4U7 z=uBWO`&#*D%ZF(=7s>iC%_VXUTa5U`gUwH@<8*ffnlVo=VW3aM1jj&`c(o=}QY z(#vx6X!%R+?4?@3*(tQO&M_+QG&J(fL^X|zotVgGMeU}5XBseM?Pzj&?tsx zo;(n>$zW^16GhU5_;ZW-hFP83^CpJ})?~^u)@#7=8Sx!pt_rA<&M71GVj>Bwj>41j z#nfg}F1La@TSNhsu)T`~Rd35KfPe34%e{Bfe(pxg7E`5(3=h_G!jf2PoK#RB4uQ4i z&s|7sI^UeaniU!mhVtqNTEP;4G+LK5r&5Z_IC)%o1YPRfaxF3V66*%bo>A(8;@!c2 zY%DL2QHENIo!4qQPbe-wpS0DJ${pG;lwH{JbVt*cA3lMhgRV0%O+(L~*BHvGIq+3C zEpSJAL=8b=>YVl)>5(_T^BWF@Nrwh{r%;{hc(u$cjbSPNz=aSFRmJBdoP1x72Mb{3 z-O1*%TB4WP&_OZOuCCD~A%i^*<8 zW2~?*Po1ql%3Wh#!`ByL6ur&ZN)50?lR+>VYaW{TI9q((*hSd%Y|qZZlt%lePcDx?wP<^t97XK+)aAtbi7{2_jQ5^jh9A2ng z5|%8QCXFB}Ka7x1;&&G`sxRX+;+>v(XCDzO{D~RtJ)b+R_uV#85M6AkDh3Y^XM=|- z;;uj4;EUgI#=-8r=EF9(yvl(x|WOn&dw^fsAH_qMC!GZQlIUd*Cqa-76a?yz`e?k1}ZBwwRg< z|ML9~qsMe4>|?##HbPH8r&sBjh@Xh1!1E@b1bCdcR#m}-h_3c*adykAeNZAbo9OwbPi{n%?lhYj)O1EoY9;}`g2H!b5`8&Gj z#GT1x!;=rJse#K1qb?dm6&Cu`B_U^ZBO7BY^`# zsK@$zsaw6b{^nlOw3eTdlke)ZpMiU1$S*U_${ymXb(RL&b^wvd z0l@g2zg3i|wH;t+*uPZ+K#spco&JfTfBl93eQVDA%ToT2EBJ+>f8#8`h5uPT`j;E} zKV#Q_TG#(i0{(xg@gHm~E1*I0n>+mqbxZ5*0i-vtu3j5ZVVLp`&)qnyNg@gRPvN<= zHV{ue``Pu<>J|pWgeB?lH-paFPD%OEwFQNfkg;ubb#=^j%oA|4DFInr)H^BcqNsDv zb-R7sSV7)iMZMD?6zD>6=T&PR?;A5Iak(*pTy0+>lQmbhCcM;=qU~9aOCJTtQXhLU znMdjNVa-oZ@a;1uMk@VXGuL{RxOEPC-8q%)yzFn2ocXm2UNh#bB|=E7LyOBXQWBnM zMl0k8xR7sjnz3V!2uqNDii4KNZc)ldBy(;y%=>Pcb7VQxJ$bd6Z{>W!88wpfSmWiH zTyUxkSI00KImM-aj!-gJQ*~AjpD1pQLsyahVx1C4)>^EzF%L6YY+L7Dd7OW8SED)L zs8<%Nt2fU}<=Kbb=+av!Lf3wMW|0#iFI$UyjNk-hPe={>bG_DLX~N5j-LOsjB2%jR z4rHjb4K~}}t#QS2YD7!j8WNkhXoB^lSEO<8yu_>dA($E^;u9}_7L%`HFPC{9{8BY@ zdIDxrG(}vNvLT8=m4B9R;kgH;Yu#q})$xk2w}tq~DCKLuC7k881lQx> z=&ThaB23hFLs|prQ@TGn@&}3#8e|bYNHIdXTSM1lP;A;=Lbmx`XZHD~_4NnU6xx{O zX z3C%b^mz;NHR)8ArORqBNMypwD*i!gS=B}^qUTCeF&&6lvu^@h4t6G9uOr%`!FewL5 zynmdoDW8{ix%M`cwExmaJ95qV{ny}+1~r;ts8tu@%kQ;h&*oJ zB-;aPM3|towsduzKO||GOF^)BCx{<+F7m0!eOCw${4OiMRwiPDBrAQ5DZY274|i4p z3#UJ?i*%#d(Cg+b}3w>YJ%A1%uasi3nhZ+4|uP>l5mHC4L6Hv`4_W5-nU4DFc3 zL?N+Vs118hLvu_B?VYuY?Ah#;g*cSPD8kZ4OpJvmd_?>yM0R%^jI7RI zH+U~@ItrSGXBuG8ZUcOg;Zl=&2X&r*VXFQLVW%O)y?&0QoCqJSEEmm-XRzTbx^{JP z<7f-fNSV8pwp~sB1j;1=gb8Ihq^!5ab|gKrrbMc_f8@oF>QLE>wAAROC1@S+jq7Z^ zlXml*(Z^pOs1vv(c?EvB0#&h`ffS)I*?`f* z^1KZ290u1)u`Yrmq^uouH|pT;nw46~DKkQ*By~qB=3El$^@2*gguGmwehU{FDw~CE zjrsodps*mh4jw44D2(jB9d}gZ#K%T2VVEjo|h)2JjE! zTf*USR&KvpNlT#bXe1arn0-nM?yf?0jolv$MuBLDKw0H^oNe5%>1$Bq235jvb z{2ZPHUTRfd(fD4(<$`AdKCw)M@fq_`nSR-lZ8Y#kCBqca6hrX(3V6@OY0^&0ARKsA zc=;68DgIO-MtxZq4a#yZ?W;xNao3!DVt>N=nx+k%2hBOP*VWywKt1S?k-#&TQto66 z?<9}3Lpb4Pze1-$NF2BXkbL48u1K#tUJLcG{j|u!sRl$XuJ5+nG`pX4wc3>xqbjtc zKT$2krm5*u(Vh#5)FC~0jFs+t`6PL^;^(knYN1%9EJOTrnPPw>&-6ZS?QqEeEul)kP;dPKlRj-rRW>cA4;S4DpHT8WYE?F>!)5rX;RZ$& zb}ShXR;q+jM20M8Nr8sQWE+O|;YA`RxALTL+jVVL%(yAcddFlB!B#ie(OGmd4j|-B z@a#a94o+CutDRz+Z@b|)3gG;CVHiGZGVg{dc??%|e6N5;k2XWr%UWCc#6L;D*+oVJ ze-eZ)IpMHN;jd9;#NWG3|IAgducT+$j1Y}LRN$%5gXf=B0?Sd*y^t+AoOExS%Mkdn zDe1lO7)tqW@hgn35X*Nyuxky=(xSdL^pccu3(h_p-UAwJus8KP=-Z5I58Q96az4(O zY0GcSkTXtwmB=z=&wZu%5A^lG3^FrmRFkL6go=TZsFgKo-L628gU5&ocH2b;Q^$3dKXvu|*C`Da ze=xHJ9^!RwEN8vFA?X?P+xg}?aiv0}lC2bE%E14^LZ;h`)_QD~49BHQGI9&Yl{L6xvY0vRY!E_!YI71wU2p%P-?D#8jRbUgs zB;a~}Zp@y+CMTW)u#m|&4KQ37t}1ZPr>86iY-GWLM0N7tG;*qQlLvl;S}~HOe@fM1 zN*5e+@gjYkna3BCe9&u>DI%|q7|9=jyDT0LPf<}?UktXxeHwoYIyvNS12IleVf51Z zPKPeA!UseFfudIF$3<`?-Zltpl9bm0LV!;Fm*5mL`VM{90Opa zKdW5-2CaTEF9iSH`}Z%AgntRG{)Hp_Gcov^%n9I>eQ5K z%^J^D`A<(xD^xsN5N1lXAZ>A~el9!eMyS6w&OMIY@wV^Ji(xt*f5K2luSodf-TXWl zo^}567&y> zuBBrmc#o-d4l+o4q8PP?-^`GWxTZlB@|B@wvf-JYdl9v)motOY_L{*rl|5&(Kj>_h zt0!jJIC7p8=)~O;moIH(^VLo2F~hllo?As3hPN!J0x&NU72$p&6LS@dHL1wz$oLP zWioQfkn5Fpx1y$}3R^5>sv>*%w6h{w1<>?0qf2n^%rK4q6XW3EQ*TC%mY=O%~2#;oDrs^eKYn)z%d>!U0===Goc%-TpEFG=6U_{ zwpi}ixYUQdyfn7)nu1i;$8O+=yJVJGNh3Sk-a_lVzck`zU0Kw)gG)i-Hk;nP+pVp! z+?O~Uu}z~jE2DY^m1C%*LK}Z-@Hn8(oi6dD3~|vbee0fWPy0pBaiwQ~Ln|>FJC#&8 zo^mUM;tNUEW<(S-gD*)ct9ZfB4=>AyM~K}y`wBqClzcH9OIOY7bs8J4*C6w@L?BIC zgRt0o@c}_U=OviVxu~WI)ryhG{Pq_;;!>c6MQ;}s=X`08 zCTPPc_5+(t8|lQ_rN#P%+n%pV!t&LS7tmLxnlFSW4P(9-xu45c`7m8oG^JVPVdi7N zNDgKls`Jd?jxoJ6!b~EZ!m&e${k5Z1pK0zvr*5{#LO$0jEAHm*5V2U>d z=s8%mZe5fS{87E1(Z(NNlbn&4DQP*<&BE9W))Uk-+|o^=ppFU2`>f|%F5zm|H5LvG zF3qB*fqpK~NX>#N;ic{^cUbC-2ix>pWfSDYUCat8e-#!c5!iIjtO zu}C=iX1KGYzJO4-D%%1|3(Z*5 zWdypEgClkEQ!x$xM+}RNTi?KHfvlCJ@#G&Y^FHO`XlMDgMBN#BP-bmvMdQaF0pd(h zKo!xNHV5qmB)YmKZH$;lG;D^tvQ)V9KuITiF>z(17Vc&Yk#`RI&mvwY%q>4O;em3{%2^R($5<-zOKn~wJ<=9YVWMPNSuE1t*Q3MWEV|&Q#qzm+SA{V=bj|f3-!?n zS?o5GigG}}G$#o`NDG)M%8=3hVGbBoTkhN}lIRo0z(mHCtc?AAMufDAciITLFP3vB z_|V{fpmwhlFeofoJ_MClM$CXutDKEtAyzxl1visneOKLTv?Otk$tJVQ8fFp?D)z~o zUbb~&qL#@J(F2k7iu5#?2C{tgl4=QutCEjzYIChP$c4%S8#%4{Lc-~P^>1WC2&rh2hz}p@JUi%YMmChFZ8(P&XMQ>+0y}BIz8g1#1KRN_HE%LVbt<*Px@>Z!8HGFK0f- z<7!=-@w}1pz_5Dh?fAgo>reW|Q*nI!J%AZ>%TeOB>1FgFra&OCKVMHOyx7o+IMhLR z;lM5yYNTvg!8>t-qM%WiQ#J$5%ECChexMd&Khn%%g4sSG(&te_t*Va@Lz~%KdCJ@= z25m=+$ZQld;+1<@B^07D0fSR`>oR)F@#(~#da55FlhuNTp?{{TXnfnH84+Yl6=_M) zJ$cs9z@LDuJ|>ug=FPlwa%rzRy(HFnHB5YabFx2Kc2jGsa8l;yIs4+iL~mJ?w1y|QfQ>0=EMlK1?lUe|Toz?!O-HnTy) z5R1l_>CodI|Gi1LuF+V(s9R`3Qm&-jbao}T9MM(Cz={i%1p}y<@#cxx5^FEGZ)uGh zwHRh5hGkhsJ@kmz9L^>>j^}F~8pTWmWDi`vPsrGh&3=TrL)E(bD-aV`GG>)&ax*VQ zcWN~WQeruho`YTtOPrVrF(=8JXOo>WPXsNMM8 zOp5G6h@MxgW$C_yue6O%FGPo-HwUwr%P*f?grmksHE&#Zdnt&@mhOdOwHCQc5Vu30 zKlauLd}i&7y9SQHPF*9#E1{^lSO2Na$)M?zbue9gM^a{U)F&VHQu2#i3-Xh;%3UEL zd9sGe{tv2AHFHIG{9yD+Yp%fRs`(48=;*~&#{vMEmfG2=o$3jZyZ8C4J0Hjc!LHEw z_tqObEmTz4dW(x&nG1RkZ^v#IPz=`8_|n4fLl&rc?Y6k(b)SuqXQn|mlofYO6@9on zV~%JqV+s&F)L5jrikpeu8nx}c(;b24O(Ie$*wE4#>q?dM<)rH8?wP;H~s z1-E*npKl1u_o7Ma5a5k$2wy>Ash-^}2+o?ayqSnI3!Njck82Qh*qVN(Tu!gISxJ#=^a8?Z^~Cv(b7|)BVesY0 zn%w&k@cY&7d%kq;`CmZIe@xT)ZzS8V-TJ?gY^=XRiD7=5WcwG?_U9CoU$Ep?75|+l z0)V|gD{6lOmi)<@_kV#Xf5uLKhbYW!fb5jtqx=@TJ> z?Fhd5%rGEcOtkJsaGwfY(XfA?K9r$(?a)j3<1r2B7RTW-x9&LVl!ie&ulCQV>TREs zD$D7B3L9_7jdj+$MNs$(swSD_C7jYux4;?6%m=AB($_gwFMGHGlpr7T`260Q`ck77 z^qP?bJA1y{dJ&^@J#gS-eo;npr1IHzW5$gBfq;g}ES&r2T6a6FzagoF5cLwaNn`M7~w;CDKO|EJ=$s2J!lZxX*QV?yf(= z@7D}{?~bpy*KkLdW1L7S{m76oz=XlcW5}SDe4PkSQ{?Yoo6qej(Wsy6Xo*8ex#tYIUsoECc-e$hKy<&4SbI^-1S6&z$13CBIQvu%&ys z-Yq=4^<{v3QH?F!Q71Hw(EOa`5Z*IPs%0OK%GrFYo-rpi-_hq}H8fG_Xt&|q1j$@b zrEV;E7zGK2QSLWVsXhskgT1w`+NLOi#;Aj?yJ|v$!!>Jeyk6X(L^+}=}gG(JP{mhj#k;Y7#8 zcjfFLIHJVevD_XVYc@p{=4angmd_vIxX*|}IrN>D$y$wSEpfEg*rM)esZF|YHA&s` z(sx^{q5HyR*lTF_4HQ*{glnpaDQiQt`z%kzrMPCASrK9v38Wre7Th}mr(nuI$By(q zA0%ZI5H@`Cp8u8@weD0)Vo1V{y`8c*CAXt*>$U5}j>>K2&Vm;kuTQtm5Ic`1*|ZnL zeCvCD=)`K7L}EJCa%d2P$>wDE0fVh$r~us|VAh6%ge-$5Od?#DXsC`&0RN)G*VyDU z=!6w*{Z6^fz8GVs2-w!JBAS+^lvn(zuGZOeSUPY!s2P`icRdnZ1(RH874g!C=EX_V zmf_Cm+v@Gg9*Hd;yXYWIh0JRAfHm;@WPzCBn+-f~?`U^aq2gX;jix6L%m5aW*vzx& zvaIoNwQ$vj@TJYWRX+azG?Dh zkwuk#&|D0znAb*YO;+mcV(wy?zVbKlUO3ZqejGTvV})c#^Gm}?z;MHegGSk>Vn-Ye zk73ytdC_FMYrIUUcpUZIi5x~%t83+@W||2>&TWS zCQ5O9vvB4>%G6emyV{rCcXLEUPRKSPM2B#^Q@q3?-dsG&l=Oy@qOvS+-;aAA-yh!D zyWSe}VFH2BYh&MF6Y28bD5b{~FKd2E!5)0)u|+N$k6EiKbM{WXk(cl4;x<<*lctw| z(JcBY!bb?R&m^Z>WUGK`M@0k8Bw0=3SzPMb^7JH!GM6ORm8v6Ms%FM%VOnsj$ZMK? zBRd2IS4l`e6N(+b;8R@E{JAaIsw##^B7Qa^UfZD?$fybA)WBO89P1^pd z(%~|Zbfb|hY%<$2xanq2Pd}=e{ls%OFe81Zz5k}x zVs3`uBmhb!>bcRjZkZeJ!WHIDhKlfKntW38{3yGc=G<)S(Q%Ws?)swyN z{n)Y-#P9U^)|?o1C3Lw!f;k_pn2AW#+KV|GR!_zKM|2-VR<`_&7{!X)@Q&U==kg&i}56*l}88yfqjk*PRndYoDqjn zI_n;!B(wo0YX9kxoZXw3dTA3G?=A=8nWn#IfzyynRwl=2L{cXRjxP5K4OT+$d;&$$ zb$_h=qrxk*FYCePH0VU**k|>c=oQ7|c<-Q2#Ucbfk@V@o%@r|)Q*|w5tAv)iJEvY? z2_qEM4FR?jYiJ;)Yqdyh+h86r4j1b+yWWe6I%$u!_*Bm5B@1z_vy{7Dz5N=dk*uw2 z^&wWa60AWkwIbvG2t3O6-oE?E`_<_6x8-0Ww4%_M>FLaMuGwabAs3*?)x=Ajrj0@A zxUxfAO@3Fa@vfO7|bKy^%$Y#P@vD?@#HACphsFTUItjkXLZ> zpYHZ4jjCaQ0J7ZH;unwtjT1()&;lI{+1hmr*)IrQt|V!v2~^bG1neMg*+Ohi&v?Ur+SBq zu=E7AYwgtfE_7TWoi%WU3=G+zV%hZdHau7OR_p z28SP~=f|K3Lk5jVHP5$}OQ^}Vu8g96@k-p)+qj~FPeH_*-seG|3gZbcyNyeqp_m8+ zoga<^q}YurikSCNO$=breAYr(@}S6wCj$MUJljD+54MPVXV2LQ5{?a&(=jShy?i%e zxlXC6cpGuQ zHNcXdRq5M%tZzHa)1pci?%|Q~Y#$f(9PY`qIGyV=xX| z0FBh`|cy9pnD7n!8am^Zzpp67^1EuZ}uc+ z%@+nZ<)4Xegi$pmxJu8~RX++D>0N#16OXh-d)Y#xo_th_wI#fUG$~%5I=~i{#L~+l zU|Tu#6#Eni%ZQ!XW29}_enYqbn-^w^-i05hbho{1mzqM6m_z*KN*zQOzZMg+joMzJ} zFArmJNiS39c%f{6@o^iD^&jj)S6Keh6LxHMia#~gxv3kSY3TUZE;)#@1;&-V)K|v% zP5HJX_GtF&z901teSPG7blkq9lzU<#P}L^+4X%q%SqR z)(gc$If8W83X8owSMi}C+pc(&p(G6fK2d8y36O%`yxb?CuJ{x$zj0J;yw2u+F0^tZ!B=Z=(f5U%l#j+ zK4XW7HGuWBx%hGL3)q{f7t*b&vyQ#=G*lHz%0i$lv^ZEQtSl$^az2bhicsfX% z=qv(>X~x$T_<&m8q=o9j1r`|d%y4TOMDsK(G-S;3##Pa4mug;|m=(LAuRIStF*I`~KggksSDG9&Qcx%ux>>9m|4@vk z0(bHCVtIdyoRaxRKdw$zJte(m)bQ3YC&v$U>@w?5O>o>ENJKS#H=hH%8oD_wc@8s- zMRXeDNyyWU6G}8!CSR6$r{PKvy!k|&XC9w~Sl)3>&1-AEOT?3pG6H5#VZ#kI6)Z>U z`Eark&p7Hm8L(B1pM*BY@6;w3uVjMbpF9TizH?qro{2!X^bU~ALmmrV>BK85frf~G zu?X0W2G(YJ=d<$>4>n9-hZ z?m7x#5G225r{wXxN!G=w!fyArsi&-w+dLS1dB*M?Og3A;Z&W^AhrTp3r(W;J8)S<{ zg<;Z>l6l57>XhB8JYAsf>jPcq>9niXhme|HC1z()TA%0rapSm=*@Bku6Jz(PzuI>T zMwLjAt40op=)6AtD)UkJ)G%tMs5KY#^bK;5sJikmmSli7W@DyfW@2X}U}a{c<7E5efB|5k=K!=& zSy`CqH~=H&|EJLZ*PZ(RYvBH4{Q0lb{x?hiZ!Y)$m}&m&_y5td z;? z@tW(!JaZ!-7bR4Z)d~iF%3h7l8GTHVWo67Do*uHbiq-#$fe(51?9*Nt<^qmD4-TF? zBa#jT%JOVo>xq`3>!KigMWO7VlXcYj(RO-)m0+=wD`O=la~WH+MLPEl4!6jeV230! zH5QvXzjA4R-84X+&4uO66`AYDtP{Zo(NQN0$62NX!o|Yv3r_@Z6yNITMNzO(@Ze*2 zl^7SLM_|Xck@83CvZWZ{!thhSyXVNRTks z5??LBZ`*ZYojR9yZ4yDWG!FX;n>euCDNomaXmJ*^_py;=OtyC6TQJ^;*tA)4a|y1( zDucx3xIq$PX%;E%m=5 zT!Amp4Z|{!?|MTW#dSf!W$^urKl2$RJFF|gj00JAox&N1du+%TvnUL@dgodYSS-=F zpDJQlb8|({3iY(goUz~}LS)Nf&%_zorVBetdu{g>D|6`&sw6#pq7$AGk{0Rtp}w;= zu|gW&uq{Lx-{-o;3v-E$^_aN7nnrOewxTAY6->e3QWoM`CXQ^;C}Z&$Zm>x?rM=&@ zLT@{!)MQ`i#Zk0>NySLJZ-7M)lk=5rTFV29m#}w83D?@p)|$V6)5TkKoZ{pLFHGbf z>>02ZqIS^{kuk|@E48E?Ab8a5bfRl!36A_GYokAiu;U;yAOUgaBcUMWYPY}&J@IKr z!SEaH?3UW;FhO{+poHh@0$c^M<#lBuo+9W&#*e0mv*oj>6<%l8?-fsG`_iLg2n3%( zcNOMibTS`|9sw|6c!1uO!v*|!us+X(gQ zJG;jBRhEe$`e>3WA0Dw(+s3V_UUCr`san53rbJIZlGlvDQVW%?E;#h`$+2Pv)d_x{ zO+8V|mnHnc{l#+e`(_o2&v@a65FRiWJ~X^cq1~2|EiOmEt;*7|HEYJpqCaEmU`!(- z>+(K$3=?N}R__6JT95V!jYvKicHS9Q>XpMXrydYaB{`g+@J6X_nK&%_^$HbVhp|LB z_sdHZF0#aqc6&l?Qky~xxCLbQL@Ezm#8{=SkX%y+3WQT#=447E!{>}4cO?s(&eUAt zBf*uLTzhLMplT_dCvE5Si)KMjCeA)+z~FV_r29Z~6#NYGnsJy8hbgcMg3>Imw?yBa zrbT{zYX3;MId1Ni+o(u;MHYQ6pEedW!!S(EMr7iJ`QR|YwV}Kxdv501z+_7-P@bD9 ziDsz7x-f>CA)^H>C^^55a*IMDgFfvTl0c2LOId#-AHUr~)>H*TyC|N@AFJCSvKGl+^WQt>FM;d5H3QkJL^#*{~OGTBXfC^;q*aRVl zM+$q1fnl=qs9e!^svLZVLu9_E>qW_Ujk zwG)IAEn}p3CXt27=)~C~^koh82jP}%)?MNbGp`o~4%%S2->GNnseA-~3kvcC-7#I2 zvhqp!;LMW)t(?G)V6q29c4UNV49V;NawRu8=L%`$YXk!h)#6}vXseIbn;rUO*F`mo z6LRe4Yqf#xP=^!8y0^59^*&_{ER z#$1(rFkmMM?&_&>_l`W+?&J9dthe1~;$)vOrXCrs=}4jQ#t;nGp3%zFF0iM^JyJ%m!iXSnROuRC(OXzbHNl)b zjLGpoNLFt5?p4K9*VyK?KQLsc1oXa@7-I5XNLq1UC}v059v@&nPt1aGHk~~*T801@ zeASQ4d-N?bH}>lVU#yRcM#JsK-8C7bc!~t2=-eh8LLiyysVoXSd|WKeK_F+N+!*g) z*oF33m*Uo;L&Lo2W+u-NJ87Zi`sh@X)+-NVpv3nDN8uC;xBC4KHEl2 z^C-{w$V%tl%;*BD_JOATkc*e*ffZ(8bfKA+1%#gvs|_HF5+oUW{IPm3EL$rv34E9r zCKFa4m+$BRVZKLKxJ6;&6}M>ffWwUuL$!Z^QBJ9~IdNNSi(l|*fdg%lL6rCU;v2{u zuPM#EV}AaInG@)J_MyJ*$xed}rb|!?k_jCa3bW>#m*q4Y>u7?od4c0Y-UNFIqA8z(PjK{_K~p7O`I zu^_tAVoBj}4DO8$*}`+OV~j@iTE`Jz13s0eqXu7Rq)?{dp0%qaon%lgk5pl&%v~g+ ztRk7rwBja*D@ZSc_J?NKF#w;_K$cF#T>zSbOQ6y~;jO&|>EV)_6T#buGTv(kyE2fw zN1i^0-gjlP*$x-%MnqqO@FE!s@7mllQW#*nj5>|LU~oarFD49*>($>BeDVbefenM$ zp3CJ4E9&J1@_^5ZLL>`P)pg99GQ zsUhan7r0LorN`fvLKLMNC2%r?`redrNZ3XeI@Gse zm&uW+tBA0SP@?<=?=AqbQCz=bZ1e*I=t5Sh`b-~X2kfjVUyHnqDS~m;O>MJMPZ06? zrh@C`2M1Rdk^$5s!$1uN(ZHL~q|9|P*2Agw7lM^4x`qd&1eN8LMZRT~T>Y|Jk=1V3 zfb=sjkTh|mm?hO`U=-^3N3PFM0)0^=-|5Sb9K!4eh zISCHygQpukMW4K=xG}hcU*)kLdZ*UZujzhdJ;uOR^lZZm+hOv?-wb{JNICt6NGCP39P+i{q6z+vPI>3&jY`y_FABu5 zSms+l582n8i(0v*j;S7E7}C+(j;D)^JfO6V1gs#7%(XLujOvbQlJCcpm{)gS9pGEy z?}VBuVv>9U!;*-5x6oz2q9oJ8jo)%{1m1+-tn@gfpNWyQ9 zK%*NdUc*c@tHFbYQJ#W9TolA57Ud_TRuPa_KlX=SZx42PyS!H=C267Vl8qA0`l2)* zf){_?Oyikj>j+U)TJ^VDXEC;Z2_gMd0pQ-J+f0lwC3D~X<*e|4xMmSj9~6D*fe+0(ll7afp^J{c##OO1 zS|*J!hyKXCu4!Wa+KqwTRjPlwqK#z<2+XxdUz%v0bpGM1rQd+X0g*rk-*HYP9+WT6 zJaP=qbEhr1*rTHLhcfj<;8=K_$#jx*2uCQg;|M2u#1!4id9~24>uq6|Wz+X>%%@&gaSD7- z$F<|c44N!z0`*++uX09v44~%^{pxp6i#)mYB&fxQQhs-qhVs}RaHOG8qYU)uxZZXy zTzJjXCtA6V(q*mg$jn2lSgpxdj@z=BM06nnbDD9J(U*krfEDt6`9)PT=#dLkL?rcg zzgipg>;glW{|&Rfuck&eQL0I$6aTR&z2sxi;ppND+7gyRc~`WbgQ!2_8U+V>#&X%Z z7-#EgIzz%sB^g|jbDcQa%k$yBb+K}m7J|i#Yh%4|N;$zH86ysU4WZX!ty$adSE zazftnIJ6My(QJSc2)+3`MtOc`)nBz-{w%xtA6hQIaQ?ryTz>Vfe?yP<7cCd|Ux5(- z>k}X`;19?hHhxJUqvha`i1{Re})B+OwR~NE&LUy$i&9^%lgC0 z#!1J>&hcB;pZ}>d^Xm%!7lr)Fcw`0GpE#Ha7};6rm>2;bBvw{7IzV_m%l}J@=+_<`}3O06Z+5f8>DzUJ5`iB^{v2$PRc# z{>TGmWBr{!=Ra%s7fI(YA_?#={PCXsH-j28fE4;?-M@Plfb9A+!SnB-ETexHv>Y~H2~NBZNK&2$;q+s`th|Btk{j*4r+mWOe7cXxMp zcemh9AV6>n?(VL^f(CbYcXyWn!QH>UxijCp@6F7c%F(h>+xz%%?*wG4hi*4*~uz+!pUpp^z-volXQOdiuG*q zrgi;7+_P;h`+%6>&w-XtkU!*9GQ=$#9$%kQGzlwu1JhI{!ve`tSUxx>t!NddA*VT5 z?5Jf#nmT0IB-3URkd^U1K#FwD9e(ngFQuEX`Szn0ao;vy*Qs;4lq4#8pG(7Ql(C*q z){{!h0w*gy+~91x5U=XHJ71JbaU?>?lU3Ip@{`S6{TH<2c2uL9W+obD`-*G40udvb znf3I!(oocou)AW?f?vG_Mns# z9<}=y#2dm6hCF78X(68~R*mJKRvE`!<0u^ACttqKx%4CKo`E>pD3M3pQy^coZiV+DPH;#7RE*^40Eq*=%lk-ZKh&t&)rJUiU%IXwuUi2U7EEyb5m?7n@eq+?#dIr+)}V%^W}P_{3Zzp>>XtXN1K51xVtQWGlnC>@PE2-c zv}-K+4%$%hQTH>MKHnloV}HLLPCTq!SHckB385JkcehRPfGv32UIVeZ2g z^0f_92;ZEiqZ`ni=kL{9MJd158>xaoJ`!>-T6tG|4@VSH}(#20A z-P55qwviUeVXQ>7vStBBgfUTC>ZN%hI5$%HKiOh_=n=S=i?sx=;%l$+XGy#5W)W|a z7Zn{t5{PI<{Y(|O8JEN48Bhp4qm*u$9SYweu90J#cA*3_)QRD{+Zt^9$ys;u6Q!ZV z&(JKnMTg(8ikovMyc$2yZyoj!n7*EmoiyQwlEufR!zg=s;#H1PgtuRERavS>Q+H*o z$375G;?yMA#Tyo3aAQ&+7GucMZxC2ov5DFQ|88oVM5wstl}rGik{ofwAZmY{&G+Qk zZX9vLtgEgL7ZA6GfJD65-1$Yj+e{XxU+>r*gxisP65?G3&A_Q0gV8tjrDwP{ZwRdY zI;uo_ncF8>)|<`Lr0?_XS2Ig%R11BF3GaQ;JKU|b%lpo}Mn51Qz9?R%hs}7p?d`@0 z$eW_gO7Q~n+D^j<5URUV&NaQwdVCx?i3(KtVD0sy()|O@&5pgV*J@a+LJMCR@@KA> zf_tq^BT0zn5Y}{9UP~?HlEP7S+&Anm^r_e0i4#!=9Fx=Hc3<&_w{uSPvM zC#tt0w2vkGyJ-0npCNTkhm`e{vPH2Twh_KxyBno_pudiQ-g%5uA2K4DU33RgCK2q_ zN$^wn=>IjaVawe=qPqOK0~g{O{}vJ#=32H1DIAW2N2Jc~{Hd>0p`oJK+v>NcnsC)? zE?N=3=eeulMh7NgC5S?NZr#{Zepf^jMaiRygiAlr7OX-bo1y_RUG0@qsXnF4zjVU#4pB{vO(Y}mTD*=>OP2?CZP{cuI< z<>L0IXpD-jgQK~Dd{gnzJ3_3X^@qsg(SZBc+|Sss>owq&R_PYplf!p5%Ly=wquP3Z+p_J9noYQokblt zR$Le%(G=fMV3)`QdK&!A;ibND=aha0&~>D~?Yn#kGo{7mk#W z3XgqyioFg?cb?Q$nM#%`vHQfr|K@cFoBTit6AMO5Gz_~)fn}t!n$x$XFEaz@s_9g$YZ`U@yBNv>pF)HPJ-oKv{0SDnEynAr zkGgxJ#6`vB5V;UIwOitMq0?{N?)8om^4?l6Kb{1hR6jeh?Eica$!NINabD3})4SsY z)8o<^%)YOU;pH*?A`@Hl(|<7UrD~1))Oc%W6w!-4`)U3vfMJKs@l6Qcq!=Eo(V9(^ z2QB=;u0y)#`p2Psa)5f4)OZ_xkpEEQq#1e&I`QptDKzAhqj(qX0tRRl6cOTIfRLSaH z_*nUHOB~}|@9>Ew<2n#nY{u!R1Zv6yzgcgo2?LdR*oLTy&dI>4^uxK^H-}<5HNM2T zf-Virb;P+)%9SyyOLbXD^8%u~-FTON$SRb~=(3bGd97;BkVJ$W`dxzI*RKvbv(8o5 z2f++5Yy8Y&h)$1yEqjeC@3=T1kd6q?!skdYZOHC>&M-PhvQ_0y-Z#z`rR%P*RHpGnUKln~b+X2N4+U%V>ULjmA&t z2?Q7m;7&M2w^ce&wZb+Fchx(u$0jRajs?`<0X;l2hAj1&Y7gu34i$w#9$9>i5kJ(Z ziPEENYu+NAk}HEM9opMn7PT-n31bz-r0@Y z<$zrJnaEpN?of}&8seQSUL_yvl}Xi)`Le=DtEom3a+Ys)-$bV zK(fS^`;L_J;>4l>_}OTo7;ZeI+L?|)FJ+y3!TY6$v>t_l)YEQAr`OBib>4;weqI_l z1s?=bt0%X}cvT#T*t$w|ApMApQQaOS(Y5#9K_b%G2{n5NFwKsFGyGo9r5gGtnXhl@ z(|n`Es^=}56NIVd z1=RiIv&BJaf{Cmd?4Y5V`X=rL>29+ji>I)l`lsxC<8?doj-hrBJoGQI2NvZhkElDx z7{6`ZZjmw`@*R30?1QI_5ydxvTc)6BNxEaZ$Ori}`@Z({?lD_ekI4CdI;hiq?$K%@ zq!clDRRmjb?sYQIva>=oNl@JYcjB7u*Do&o7#i8;c$H9hctOHmQL4?yZSID>Ixb0gQS+-N@ zGr6u*`FT_P5?joRrIde*@bSh?uAnY$3O}bqzhw=c?!7P{WrvaXyd$a!!$R;B?DuW% zwoWKPQTLjr&nAb7McQkXJ9wFiCdecEnMtCQ)abafg~pRBw^SobQq%z@Q&8RWLI;7J z@KZynml*?3!MwC81~0}$vI!*)hWnC09Z-|*)$9($QS|ogTGoS$_!}cimwx)9TtEt7 zovr%bbN>7Vd#t5}$%e7Vr+qCqjw9c66RCbQ7$x!!%;&wgjq&4^>FIG81mws1ePfuv z0{&J$iuN#^Lv1=Wx6J@>*|60(6&0Rs-akjR@>4>Y#XihEc^2fwFf;onToJ%b=D+&D zf5jF36U8Lwf2f%Jt2~G6&lEpE+xsVJ^xt(lzi#~xSPvEem%s*~N?5p<7&uq}o};XQ zzzq(zKkRb2nHktwS%1rnQ{KqQe)0FME% z1p381{8e-Mo5CZmzp_hzYw%gP0p!MSHu!}fR-;#kkiG6T$3}bRJj7}%$rgu1jhCP> zmgr*fi4YqS?8vP8v`En7Yrc08=Cn9*QaA6XnHoikb7ZW~J99giQrWURP}+|Cq|l_H zch24{znf&?e7Q`s)09oE&QyGyU9U~~9My#ULEF5rsd+V%-l5SurENnaBuHw&qZ&=R zQ;ViBey0c!X`l6C&(5L8+hs`MkO0;CV0V9A%js$)O1f`CvYi+z=fIFKM}a<5imUTO zjmk!<<{LidMT@k6>+2I?+1Zct_b$O@TC_uRXhuws1$~$#n1st}?*~5ue}MvdVNdz| zjE>fj{9!uTV9|D~()H&t(+f)d%XA;F>+6g~*UFdHYxK?6tfDqZV9A%t*9#CQb0KC% zeL0eu))W~7oVbGzxklm{;cFOmJDcgqY@MgkZWZNH1N3VPXRoZ_A2M+0VUeIWO^8jN zsj_Iw5;I(3M{&~BPDPT3!|s1z$bKNBWxG3G>h<3;alxu}nIvF!us;^}ti+aRJKqiMDiSC!7S6zpQw7Z1grMQaym z0rIG%Lk$sJI>Q;Q-scuHY4)v3C))cH@GP}h2Q*#ICg7v|gRlu0CwW#)_0=mRa43cq zm*N)wXfscCGpJ}8n<;3evaonX#1?g0js%I z!euR0((r@+tk(9W!2!*#8=`nS%Zmj!kOX**XO=oX*pJ8A>_Sht%PT$RmKE~uMmB&i z#>KCwpW^(2*D5(lbs;lu+BwO1p;ylO9BH~*6wm0~VpwBZac-;~liKvq>=5b%sIo8~ zR8HGx9+!$EY}T*P1kmVeg}2*Ed#bm)g+$c3X7pE9X12{)k^GYm)RDio<6cOAq{68b zhiJm-sc$j(o`Y1;*hb`w`s!`#!s|NEIZ>&c`Xjg*>@g_I2FhpN3w?EAuVkz+RmorR zz`M~F7bGB#d8cS8Synmr6PO)6BTCnr5lzUOfeB1y*Lfm1-#d=iEy2&+t-E6rzzmsK zw9WnX(137~@<>yLKYs19t5f}p1L$c7j;2l@dz+q38G$E;Ziuaq=i^PA zqvV7oH^H;fUWPrce=q-846mTSl(7v<*EfdpErviW-Oob`{P6s)wX}JNZr`zEC#sY0 z$`w7G@kk;NAR#hsOA=)a67m^PWe`$8C;MQ!#F|#z)iSaXRBsYGYs4u1GmtA_*r~)_6 zNNJ2sh|Z;57k3G0{1679!QrkFbJkIdgs83%bYJ&cdk=>qZdKG=us$&S38)6r0}uk6 zEbSZYjA5dS@0zeYZg7cRj-zXed7`Of-5@_5z0(hET~p+ZrY<$GOrXJcu&kEa&k``# zzdusY(0vuxMr#hCz7Yx-6%&Ifs?rFfj2L74MyCqo>-gQc;CXJL4ly>ct|m25jU_0J zlx)IQFLYz|V*{qUcJY`%_NgO~Dxs*9SF9(slx4OjFoZd4boGJXB>a%rb(^(JC@qIJk_-XIcM(DQ66yTvrau4LC*VsBC7CK2H*Et(I-H4sl-S z-aaSxeo0G`YA;V33yqj)1GqFfPtHh3``Bs4)$26kiMD*!Jgsq2>)hodixIzB<0hGm zcj&T5=6cg`#mDaH0nzF&b5o$ZGc+I`z(I_s$*9Qa7HB8Q!rt0^A;vB=T6mbpP2M8Q z1Zy4ZEE48=S)tT?kQ*3QR%1W(w~?QLF;UErpw8@;V)|7 zpZ6nxu{^j0ly%5BaA3XH`J&XX;Oi|=g_qryDqQ!t6>(=tsCi{Nr}bEDccdT6P)_@g z$#T*msyobE9TAnp0!hp0f~gmOh*K33J1E>vlyfFFecEc77ofwD%SagxFai9{@8A;G z5iy+M5_2Iu}u>P?fcn1J?ZLn8|#LIO(+s0}~G6V6M@ z;Dxw5Zp-Oqe}LzbNRSA|>tmu;6lB+Qnxdl?`0CB-CE<48qC0uNvcg!a}Sy zbda(?+zv}!801LW#094GDwfn^zjf&b+h2gAdu;hFm6O%5dw`xVuryGcI-Omk9+CLn zsvNvEzcK2-v{!}KaBgOoqiw;#s7rOnjXFrKzV3=IQf#9Zs!^)9fv*?fXKm*`?MJqY-#wS zvC<{YE@G0%o;9DJZL(~{xA1zq^iTqI*(CtO_*X<*goy<*lDoCLCW+J%cbnXSfC7O|X!omA^+2>Y!3#-)@eLVH)OZmB}dFqFsJ+@DCrMdC&B@D`=^3 zMS}}%;5ZQJteq0h0nu95^pxwWifAfzAwAnCs)Sb0jv>cK#gv%jRZ*S)p;M<>%9cB; z!U`TQGP-5e>&s(PiD3y8Lri{qD^)E5&mSSVbSW-%=JL&sw)s0hxFi}jT;fi5$to3j z5H<%}&&zW2(V05`Mev$&R(~V<^=Adu$kh*#t*mNlnBF&tua;{x*Db!C0Z9}=dyd<{ zy-SO_PHQuia4#tHi-+k(K(*PsyYp&pt4KuGm06$edy)&sDViZN2lV#nmYJ8F2($b+ zepVlT4ixW{lgQvzpYsA?5F9Y-5VpG)FVY(FG93zqy0ozHL66-ua0IRyxkG~tk6JZff1DPv?+N%4ptPc zC+CkcTUECS8(909Vy#)nN?l=7%>MR#t|Jp0j!5$x!-FYiH{s#cuB*T&?F@5{QP8NL zXJv20PE4L+{Tx_jjDqKZ@&+(@7y>li2^;-XGvy{?}Fedq2kV``$hETI-(y z{g}_B!8SoGYf?I#Yx7IXSMW3cJqB=(`yGLO5GQ$M6yz{9X_{#5wfBuj?eGH2K`$z} zh|%@!iNT2%bMtw1D4$~*#L5{e7>9&!n*H12RI@n-RM?L~+cDDKEnb&TUgZ^PSbIhl z6}FrS^0teF?Tx%&bg3&DH9M|Wk^l~xDX&#mQOp}L;s)%_kO{dmCW?h+ij6*BF3(&H zu|B=h$HkfoQ}8ECW1|-snODS*fzhxqOW#dDy}#WYCRM6qc>rRruU2tQ1s4Zn;)&!V zo3GSS0xb)EtP*}g;?c;qX)F@`Q0a7V%az}5-b+i|c^75PgHAOkjEAcR;>w$IZ?^bK zFhKlLMouk9KxUr_{pwY}$(jQ4-Ad7L3qi7wX?<9TtZXHzTwLG2C&h)tQN4E#*)Keg1x#hK`XTiByB6nKM^6L&&h%#6}tX`Kby$x#l3z+E}WVEo+91$YR#LO?m~R&9W^&SyXHxSdY{Z1-}r=USY2wRH5T{&BI0ok*-|7Zs$E zFPLzO#sRNsmQ(UNO2`K=B*$VcrLF-umJ0lx+wSnmm4-^6Qzm#aadwMb1$`czk3yX> z$dq?r$K)$Wk@Sc7l&}0|<&Nu48&&==LO!*~m zW}G=zHPWAKam1Z(`1(@-vUS}>{cC(_wLjI^cx^im0%$(#;e0VHOVtb45{P1e`IN~5 zAA=HhKJkL;w^+B+<$WFr1a9b3>z;2_)VV?*BeT_xzAv63Tz0A$w2h~YgfG8;k z`sW@NZfz_PePJNVuZ1c46M*B-hiGMs!i2EE^!f1&ClkxF#0^nTM;3tN5me+m_;`w< zjZp7_e}DkbklonYPxwhEivBp|<}f_}0vXU`Nd0L$RVdViFla!0Zo%6H%e)6xpxby` zsknWM@oa|k3>GQ0$h!SN*l0Na^12k00G<&ZqDMOPIZUJA9q!9W%MxcM)q-juSNx|? zrPi7+J(4EFg(j4*lPHa)5bh@UU*rsdAjv|4gfw0Xt zHmnlIjthF;dW3!O+vq+ybY!-BffejRUMwPIacd&1(M|M03O}ldyLg)ZjPew`rAxKf zYDEHVOi_T0^ZeqQH4x~7KBDx^tFwiPJX^c>18}JTIX&*S$*m~z_G*#n9`yJWfFkme8N+}=7x3;KroAJInhFVH(lX6zMfl1d$ps*sC>k; zvnfs~5NS?~7pk@eTef(9^xFNbJx1f}rJGMjCPOovKUanzxl(8Og%_=viLti*E8Us; za(lVa@yD~fec(;t1=qr#F2`cS;P=xs2yC(Mh;IoXPSGRyd*YAN;j#0U5(Z$z0|TGNk_}b`D+a7M|_tH`@t*WUgt6jQfupthEavlJpqz<7!l0K$Uj*kxIIq zdv;#RUuA3Kf`p?&mSCQf=j-tOs4a!H4?TI*fXM6^6DJJrPbht{8Faqp4#yEWe`fI5D`kw4+!`;hJ_2BW0_(A}- zOsn~H37owq+5SuXFi>O$n{*|RPyn6(1p`9W&}e?fH@^u&R0dr?{x!Qx61YUg4;?W+ zjr^L_cwITRV7PU=Tmsqo>&cn?+e{WMR7^NTXjKaoQY`p_4xc!t9!+|{^$2XKY|Hm* zgvz>#`Lgt5+9~;o;wQ?+?52U3gqkrW&tUxYB}#1VVkH)WZIK6RK}6l(b>SxQRubs! zmEO)8?`0W4*IP$|BOU2gh;by40{C;Lx0kNL7`p;(1Y^*U%p~}23W8Oj2NNL+ilhB? z#~sgZvkAO9-o%CmqgTX;9~Uy|7mCHgR2p+?PLBqf$y#2sK^p!jaH()IO(bgX|Ls)+5Ya zT$Llws)i8t|2PU&JZ;~Hsrx9k*IR5z2KKn!tamw@A}c@PT4~@F!YN}!W#b3}Elzov zSW4fhF4-LBA-E`mDY_YGAI82wYO|j)Y_fnmab|(pdjG6f&v@86!#`JGl;yTw$p4-| zXV4kXart~678V8?+6vh}v4pNn@Ycd$(7#a6Yr$nwu*gu1-zcCT{1&;nFT>U>xM7aO1 zo(1Gh|08bwb?bjHf?#822jEt~zB51{#{h7P_){9o$_7xRGXIvy@Lvocn3;Z+_a9UO zP&={$1eSpPVSw!N?{Y_0fIUAK2OI0}faiZ*$v?Pm08$A4o$3*Qn*Z%c${G$v80o~7Gl*mlA5++!|UPfymY{K((QMaTtK z+7OFkicB<~lDtlOXgc8#1a(kD&f4m}6Tq2Wv7`j3ehX*U zB&$gGz)fpWcpUQn7F+$IEK%>U5?U~>v;-;!=z_zGP0dzjkS|7z|weO_GlJ_ z9CUtCZX6sAC7Ho}AaitmmLRY9=btOQeeUlTGe%uCH7nn}>8O-SwR-Ar7`^sL2#`8X zP(eBh<`bD`(!c8MT81+h*BrDJszQR^$fmHXYfokA1cFONJ&pDBHhjaKa7;}>JrX5& zTUEVc!PRT36q6zs4NdK@j#c&4fTAg(=bJM_V6K4AoeAbGAg-2cy;ZTQN^`S3I%fPB zI}1VR;io8y;Vkx+jtPF+B{F~GeLY9fI}4%!`<^UoyRvx?yVg`j|FC3j1AM`>p@|WC zeVfs_@tpwHuIB?;Il&I@HAj9Ow`H{qZSuzqy2PNFT&F;OG%@b0;zS;I0V8T;mZhQ`=KCi2Kz?=w5s{;%K3FrN zLYu28B<71ClL74AGuWFmbU2B0DrgNTbxjxH+_`birbSl^Q-xMZA+Tkh!NhJ2A{*so48na5d>Up`RWQbk%hOm;J zj=;R=_fv8-VBZPfy3pu(=srF7Xx@IRbB;-Nb+QZlGG<~SI_rHEePIZOP;zdDb3>3H zMWDkG(C>H3o4k&?NP6iPotqk!nC%j|iyZEfrWtD<11yAVZX|RM<(mdwg&=ejR~RF@ z3aJOI?Kr8j=cO(<1-yfUt@32eQkp6BnI=z(9z06Mz^A$%$@T1m2RKzH(KQOa|0jch zxG8v6y(25DmB-+Nt1gK#GLr0X!kZ?E3JN&*+5I>5xn8po=SUFnZ~pdlb#~e>hWibz zksPe7MNkv3&K`AC18lzPbavjWh98I#&@y|Wjv2fHb6870b3C+{KrT;qF;g&ilY8UE zl@lp99sw`6VmdNy7qM=rZg&@^k7XjU7A3J_74cBPYzWLb7bCKC$1|mK)9lF8k|5B# zp)RaWu`fh&Jz3OP!3);Eyu{g5!O>#tx~f(r3XINCPtWzz>cbOppFTY*9Dl7eMPO+U zL%r{EtXM=O7$m9|IDLl%Ps@S&C#Zn?ujA=|p_BOa&;Ng*0`A}RcxGn$+Z}&x4>%I( z{IRC+H=P7vuKw$*?T>(+e}o5r-t9m5QvPFch650qL&OHqN3a5NeE!^=VPaumVd4I* z1RqH=0HI~%WM)eAH*)KLswV!d_&=x#02J6bxflS98(>|81(4~(4xq&VOxqs{ir<1P zzfsa(3A5i||5&&H`y!lx=vhFl5CAvt?vZ$&T3J6k(h+F6?s zN!!{vI}wREo12?C{A0`z;Bx#I-S&$G{Pl_ZcP!wqkJsPN^KY<#02s!^{pWhf@98oC zD<6L;>~DyMjfv&AJ-m~&Z2%tL$Zux`_CnL9l}+k>m|-d})b^(XQATLP*y6EZCAOMh ziX>WFWVCY_#oxaiMkTtWe0ny_)XWRsv*Ti%gezfCc_?BSx#_`9NL*-+n7{i#Gu|nv zdQ}G&zMr|bdSYSFJ~9_1lfXhh-+y~x7<+O%8G-3K|5~UWdAqMd|1?_2Y_9C>)m*p0 zP;qW$`+)1U4xANRBHquxAa_ApSANkhlBWj`YMF1{qO`wXx#;6_cg4e$X8BrTMl^iH zli8ufFilfi6Wvx7#=?>BoR~67x7brN>bH-7tsRwZvo~)RL8v*8zzxHi*I<>q$XV6ytY7zNc`K&6%1s31Y{zl!csXyeE?;;)%+=gb2U~O zge&s}xg0!IBShnU^6;~*;LI0%6J_)d@t;zL$6{i-_8Bdcdvd~A(kU#{JREjdb=0KX z0si4~y5?j3DrsV7)MX6J5npQh+1GqWn#GlNdv*xAKSP`}1LrjifTMHYV#Sv0U*BiQ z>M;;JHe)}!f{N))POe&^QTw$iu{5&S-t#&jSqDIf56D8gRGCxIe0$Z^r!9D#s-s#g z#r!t4p|sEq1W7y)%pOK{n`bn>u0i{`7{5BHO57)c6bClTluXy6{y|9Gsfis>Y>4`D^BkjuANLh! z`>fHpX=gsnkMy-H!}!!s*6vMT7mJA`0|iwRv31BE!<(_Jk*3>C;KUSJyee{tqq|R4y;Onn0(jQ;EI6DV$}ikm=#CFv^SC_zKu;k z;A2s2OqFWe>v^jL+D@ib63k0LWPISMp0jJpkbJh>PYx>Uu!a*}E+qs!XNT}9`878&log<&in*HL9Pg*oN=AdWFzq<` za%ukUwPayYM^!p~J&fRWR3>Gg;sz-@MFj+oahj9)K5Jk?{_Bz%Vjlqem=v$k8>xz7{` z9J}7{+b!JOzly+|H8Hhk&*%i9(XpNURdI<6mBlkWimKP?3O46FFr5#U1RCaBBOeh7 zvc!-}!AljMgzh7$B@e>Qe6+PYwqw=3DYIm>4Tk#?s>c?OJNQFgMM+e? zx_F1m+V)ya*QGMsCgRTQfNyl;hUgg-rHLS8V1O@{y$sWYDC>r_6Pl(%4SWEDbg~gDEad=dsyfD!A`E9>qTlNCc&+=kon{ zMZspo%t(8&e|Hz&U#pb)$Q~;TmI*OA2xKmX4^jJAf%=T3I}pC&NXd-;bRlehOwk@| zc}7L%20xe#on91i9Ndll30)^$X0$*G*0tED_!T0w4earID|SnRxx8?cKl%JCx=#d* z<`LU);%&6)&ocJzxYDRFZpbFpWOIajqhQC<3PBXYVOpS{AxbpEKyYkdZbmZ-froBet#@KsGC0H|zhRsSQ$o_@oF$^;&Ucd1K) z10Hvwk=S7L62YP|u!x#Tzaph~_zg0cTp1v2?ZzWl@_V_<%M2LCHux*>@JB_RGgQ7o zL)?(I-7Jx1Q$Mig_+*6xuBE=@{9Dhj@WU(l(l1ExjB#-L=x6W>`Huav!hOMvUV6ya z8%H7t!`F5{%F~X$m@YSp^xJA#WcY+NeJg9}wuWjMm;#(slYo8gr~K?^)7W?EAXme3 z42Vd#fRBRgF~jWW@muiEc1d?QKWOXJc0wZ~7I(aZWcze&bepn-?zeDhd~;`GYZhR3 zVnlwCfH(=FztKONlEIl)Grh-Vy74bqAEi)eNW=t#u`8fP>oM+5s39BACF^FV*==7$ z$g`*867nF7mvh)qpE`Vzn_~8@oVgiRh73l{$Z-#dJ=>co;;r4EM!jo)-Iy*s#B4|X(HH`rQ$up&!q7}JG*>r zIJNDwA=Rtx{aTv>Ozu=Kf~$_1<)=GB^e{L`5x(NpOhg42lT(O@2GOrtBaz6%d`$JD z_dprCNF2@@R#w9T*3XVK=qvtiotd(E#3E_J;|wmia4GscOPBZ4lmqNAa&S360a()M zqiU#5EUQQ*FF_!U_*zgK`u3phZqC6@0JB|vlAOIZWuHa~bzo|M%{UgUEAb|_g7C%j zC|rD!3*!cqwhAXg^-@h!s`w`ECqfVHR3kc~1%S z9xgDo4XUn9R;TO2k4O9KJIPjJG6lZ&7xV*x(8NHWpevDs)ZLeIG7hfh`9u{9QKkkzcaAWQ*E`AMs zePEt!gUdnyI{;pQx$D%Yw8&FU&nOy866J#(-qEV&y~nbqEJYU%%Bxr2RilPW|5OQI zso&{7%<+~|9AqA*l7_NF`WkxiB|a8m`mp{$L!vQ577_8yw!#9lMHB zN1*8{k11p;nI7ps@!X1^Xv;2M;K41yxX0^5a-^plAacA8MrlL z2K~#spj2Jpspzl;_$153+$dnXc9fpwuqijK?qb)q+fB#JF!)Sz`0-OUnbAooj2iTH>uu7xpCzlPh1mrO=z&$9chLk z@|9vxQ0k^C;+RYYfk7GzjzYmMdD$-lSze$fPPR&04n~4ld2C`XqTCps%Ma{!9*ylq zs0RnZL+R6mh(LvNm%cY0m7ARS=R~{C@DIBMT(n!B7hTca@*ZbR+yNCliK&wmwUDjh z9O=odxbQ`saPa2Ku;X$T0z!L6vOl^Z$xHZo6y?dM11m(iC~-uQK?D?+@Heq~hgfj2 zb0#x$jaJJS1=`J+FNRcsFn|uO$mRzRv7svJYj<|DfVWtk*3dM38J~%L@rg)+1~+-H z5QiQEoDMDISA<(5+d*4;)A*oHp0S@uVk1G7qJ2738Z+9tKo@F{<}8U2u#ZK|f8{-;$q^12um;u-v%k#(2hK41)0)E11THEzPgpXZL|7Ubuip zI_nyHs!PfvIhSH%p$-kI$jmz^<2?6%Icxm9+3sHpgh2qpoQ1`of`)^sM=nn(qUGA)XuM%p^M3qQ(sm2d# z({J5@W@l#AJH;6|%dQ|UC>qRO3Po83cpPRUdV67uRy;$Q@yU-w^m$8w=Sw-DJDnEz zccUup1#K#zn5)t>C#cD=NiZOI&LuH=88*b?Cw&7Q@u$zJ^zt6JYx!a%*JNgFzSW~; zPzhzYwu#g7oon%+aos}$ZzmcNY*5=9y4!8(GrwvaF0j+xacv)W;vhm)qU)*$sUrS> ztp+uZA%6>zpX+z)Z|3B}-bGJ14v~y++1LW8sb}PVW{ZLQt#Y#pOLXv%&W|IcWlC#> z$&$l8*39_YEBT_XouFLVKskPgotBSZL&6C<8J}CUM_)YQCe#Pyg8GmbP8RtElRla+ zD(7*L%BrCIKiKeB2$-vERr;<3=!%IAB_8yF`4k;vkD&P<{NyUrj=E+gAv+9*6X=i8 zp~slHF3Kg6Le5HluHj6f)tx(=&b_5CF4} zcVqFRL<=iIL9jGJe7vdkTA!>bjUplB#ssI2`0X2%;p_>sTJ>+%;P+5 zruBkJ{#@e#K_!en!NtsvuVH+;rpV@@Fr;z6D%;G{-Kb&RWECBH^o~JWN%4;y7+{k0 z7b@VNb6|hc1^=A`17s-w!CL)$A=f|Uz-i4CwA z#QH}$%mBuV?T-lSKYmyMcEf?a^NdOZ=KvjU1CRTt+ z^B)H+fJ^*4=jPv3^eYeV@Adq_cm4V4`rr93)_?HY|D8txp8Buk?LTG7{<_HY-|X`L zLYV#Mt|iROf8`wiE~5Kmiu#*NO-WjSjBYVBKt^|HV5vu8R9ePoaVX`vneQ^NRy1lh zn*AAEVe@?m4ZZPsZ>|$&11Wv7nES*8&ktkG-kaE?CB8YC6vjA~r<4@o-y+tNBh}$VzQ>80gQZ2u??+y2lVeO7{ zVsAdAWn&Oo^cSRD;mTsT!Mb8JDJT~Y3B}FKKq-brWIT=z*Sdc){W`a}CKLzxfIKje zvI4d@xFaII0Rdk&BR-q{A%IwVNBu)fU)d5Z?c3)m&NiajQGYXHq%A+0Hi+?Hesv#3 zY^Y5zKt`AS=>551hxh$)QWBn)MO{pA^%^8Hl#wgr!@FKwZ?I3T{cW{*fGc~bOviH9 zbv&aZn{8Snu`Nr-`(RU)AERj2QhQFjyMTF4q$l?15Dfnv@us%Bqgv-S-7bV|$_4ts zZ52NJh+If6BQf1<+MGZjl|y&4$LmS!<3}eHxcqfIRaHmy@1+idn(&(0mkTCjFOAde5e4KcTJV}N#ORY=eWQI{O{tB381j_e`iP>oiPwSh|Pv zFK;>)prwbvk)*B@4fvVI{iG+oycCk!7fQn4x=hrDGVy%@Q0Fa&^Hht{xX;rbtYrpy>3a4%>-@9h=?cpfUGY zedio^5%otRRF`c>uK3=3L>&=9FQoba#Gy}a?F|fsWZ;l1SseP3A?r?jQftk32_~Q# zj6uv2c+$3pyx5-)kI(l-x&YKxCWcKkK7^PU83*^Csk<3^gc5qa5B5MMmv@9;Q(Rdm z{jD|ZPQAdmaYJE4!TY4RexB>33~yUAE3iYuH|RTFaOBEWyv-yoM=Lixsiv5O`;!`C zpv0r-QWiwL2j7PJ(T4Lje-&m(SZ_Nzh-&u(IX_VykyKlmvMD@@Ad^VF?!`MtY0ZJ} z2hy!bG{;?xZB)(TL)Lj2^*n({b-F52Ca$=>;_Xf^{(TCelV-J)m$v1CsMZ?wu#DTb z0)dpR$Z!SYMrq|{kh{Haz)e!CWZOi6lf@>d>;XQ#5xv>(gYIgyP!h3xp;GH#Z&J}Y z$luRPYGrp&jnCe8ec@?|jnOxY8kPym)hde$LZ;QXr;;|XR!CrtKMsG{XWPJM3Fn#M zmsnvj>Io-7&AJflZB^Pi%`DEX%Q!Yf1%(~^B3vk$_1=sxv`W)84w;oF0-H#Kqc!d= z31(1kE*ZTP*4i*abKfM)N`pfc!QM$z{uH0WW;^$?Lb7gK8;+;BaZ*za5o>A5YMMB8 zMV4=s?0TourB{G9@Y8{*-jY*V(^i8C>uo<)So_)4@+=R=Kg9n)mvapB#QHId95v!> zG=4xJqDR-$T*(ti&+Z7PjVfar1-%35+sQG)N||k+A5=7(AG6!hjX`@yy1^@#H=HlO zor9?`ufj1F7gel>l!PXiEqJx780!cqV{$SA@JJK&gG&U~mvokx08U!{q^1^Hx9$#g zxkk3z54p;oY9bGQp}irXWMl3u4n@#(!BbpAyv~*(5u)o=nnmp3Ads#oqXUl`Kci1 zj|L0_2hFTl(oFB)nzNzXDa|ThbvBhADvzo!$7jVNLg z9wE~%$nPdN(8QuQP4^$ZC1u=#OPUWl24N+hB*chCXHBzu&Z&8Zl(#htxg3(P*{*t{ zpUu{j<9gkNNz*KG%pq?vX6Kr?Pr827uwB5!v;Uz>yvyxH{^bjSGWJKIk|{Vitgw%? z_v)Y%XdCyZ3Nmk6B4IG*Vm#n7vVLMC(J)R6n6^_k#!)%!yHsD;YpJS%M*wn`q(@JN&q`w9Aqd&T2! zHi9$%2ig-26#jN%$hRzspsXsfIbQC8T_LP)GQ&hmd%W978w`_lGej6+_jlaXEoIch zb!+gUkdnSkY4(oKaQWe3SuxJFZ5AdrRb5#rG5GSnE4)thu5zIYv)n;aryqIIP>OpW z0^M{lOdoyE{a*ci6+OhiU}Pjc|O3QIN!hi6S)3s8T;=L>tDe2 zUjXHQz;)(dW9R=jxX%0w>I2|905<-i#sVDtlT8ffUw8ZOrTwpPoedDd!S=`Wn+<@@ zIsSO^KL9ct3mXGF%WuNbKejLc`~5_!P7Z)y|1g04v*7=rq(3Is0D#WM0ccGAe`y;V zGhm|5!Tnp!!~e(ITZZMeX3L_uyF>8c?(XjH?(XivNrHQDcY?dSyGw9)ce`{}uhZ$h zd-YE5d!F+bp2>Wfe9WpEqehLNt@D3-qF+0&zo8=Nnctrc&#KU{x4=6^}W|9=_q=-+Sp zk3RaJjGOu03;COjyH{QFeSZn+JL9H9gUE(tfFX}*vI+nYuV}WD&o$c;#$#Fj&hT;h z(1OS{SDlmWam~|aM$C}IeiEpc>oZ~G!281KF-*t&4bw3R?*z>fiNrnAloe#^>2@A^ z1`Xg|51Gr`&B5WbR(3{>_$DS(^u$nUnmS(Mv$B$uc=0}uT9!ed+PXOskx$JUoO?0w z4GJfs=|1zW%V4I-Z68#QX7)5li_~AdE}lr&w57D}nO?9m#2hjvxwsh{CBj|1%v9Kn zORstgCrfI_r?$HxsOV%HWmh|gd(gtcx4~`F#%y67#3hwc+{Hb$>u%Dbr~_knhpjPBegY0#POeidao+X5%_)r!mcs(q=X!&dr%qHq>K2~E^`I&BwNa&xD(v&#Y=t`xssU7YHbSwf z{$AZq+7le8Z;q^2?ImlGs9OpD9&q#HF}lrM|&Jg7f6a>uNB>%l$y zCEQ4%E}eyO4SAf@;80t-NX8rInhS&;@y!5|n2XYle7DJ0gXNkWk)?_P322*-tOKdwUhSP^XWw zcG)wev>8{`Wg@uPHuvJ2y`6NYDW_liGagS&amn-C&Yy`f)l>?(MxQTz!~#P-*k8&Q zzR!zz?yOr6HhqKE!U`uMwXEng?%`NZGtfryoLM5AX+%*G ze7byrG9}uRl8;4W;4ldX&EkTWQc^`#jU4MAe&Dw0x*QdMw*sw0kiK~vn=i6R$cZ>s za&@C8b5cT~ z4)&kI;1)`r1koMlCP_H&w%Z8GERHOhlZt7_$q;fT1C5M^@CgMYzzzlt<=6CCXmM`E z1!K1w`beerWW?e}xhhwEp(_Fex2?JNmy0RmG z^sQ=>6+~&W;8@-N`h`uGqdWj~(u&CyYXGy2Dxf$WPInw|+>H|m$xg^=d8UMFG(eiW z)$_UxM1Cn@ee?v1mK6Q1MnbX+i>^!vZIlj*HgN7 zfaHXAr7&tkdNN@D9q%Jf6DU|)v$hUcH+B8dt%gpwW2yJW{dbm<}JERTBq<8~fA~{P_2;r+fcij(9W)lp>RG0X1U$IfAqi+TykJY6q!M}8C zXcHm3HRsUbaN|h;Sw3%#)rVd^wBW<=6s%(N!4+D^j#aQQeB4hoLZtgBU{+pAeXP)> znr+UNb51%4rf^HRCOO)ZTi}d@`9Wg$f<y~!y|KD2h@C*Bv=HOi6bqVh(-o*$F?T~#@NcR|e_otn zs}Yc?aZjKHty8Z{vO1{z4n*7=QM!)NQ{>4hpL0W-zvz;rBrlz0HSMlHP3PGSM8M1bR%@q@V7 z79fB!_0SC?dii$g`k70U09`p@^b+#qLfabsOAlrkpj$YXz_oS>B{B0s{#x`1C<^@N z?!{KpV=3W)GzZ^Nfl63SO4dW=AI$MZ7GRmA**Qll7Of+$$HOocQriAT= zC3Mx5Gl`X319lh%eBj%tyc!I>mGRb?;@UV3(8#pJ9l}SZQyPUrDWeh6F|n*=VyvPZ zh$k1>Tj`~ST_&U)0hUhAzN}YZkUEKZ~N}oD?W$J*oRZwDk>rR;rbS zpz&>mTvegmk5ANbMe-=O_~d!Jp9u2WOg};|(oiZ}DUtfLn@3XngXRB2n81bU*{~2$&9-t5t~Gt5D$t*w7Rqb_ql9H4{dAeWYAucNP1!Sm8*| zRkIJuYg5DhmBLQ1`SJ$uengjc3!m8|?J$-NmIe;RV3B-7!7g%(EM{zBziCz%V>M3* zL|-x_qUJ}S?Mt7tU-6!Z5uaX*-3%<0tH?&=sI;LsIU0)1sBRUAkRwV6v!*KL1Kg{W=c)7h>us_x!J7 z>Sx>H_r(+s5B~ez-w84l^RM*(4}$$i=i}ezdjHe9#oxW^U8Vi)nE#fR|7C^zpL4&M z@EQLwEB~gw^xa?kj~oBV*XiE%;cxQwc(p(G4OTV;=$|kfJml9O&F&M6dC+{V;d`cL z-`+-bRsF2uKzzC=Li5(jxGhI%y-gy#P9+RCXu6t?DPGFoN4})}}wB0*e&D$>1BVngLPyS1o8$>^eE@?Ou--&3vRL^unPcA?*Lw5K%if zsi{Toc~qe5Vy(O-wNl&7ks#jZPPFqlpYn;z)0r__EcZSC66FC)u9KPSNIBV(Bu)l< zDI+Bd*o-Sw17M24!mHwGYLhGoab)_~mtqBQg34jZ`mpLk!3GpX(0CJ;$H`4cS#t)y z&*#nR%#)_(Kwh1XqChNfOr7E@jFVs(?~9$V0;6{>Ko%20mY_MSC0pt`RA8WM^4dH@ z{WCo?Pc_Tz5P*o?GBM)MSaGIAy_{ z@l(<6Wbm%AkPpKVcCw0-EPDVbLfbnJr^~UuQb(>o?rLlEU+f1RzUX0&Gvmu7snGHD zpu<~2L>USB4_!1Wprh-n0Iz$IbFR9?9R9!_9};y zX%2Gxoag%ux893xRL|sTtQD&y&bSCyS2gl&<{;`vv2NJmgae-PVo>AI|0Hqi;?Wp{+UcDXjh8dZgV7MzK8aPkKjJzWAN?S z5s{x8bX1xGk$JN%Bq=J_@T(g<43MuelzouMHND*_7akO?&dbXqtVfT#_u!8v0BR$# zoz;bp#gVCnxgd7;(D?dey?|kyD21+LnPLKDq6yV~ysKx@c)9YW?zvk7<_#0gN-$m< zF0&Pzi0G71DqNb5Q^jWcVWrwxDC2 zHMEStHtI3VUSbbU>!$$tQ^k>=TM{UUa4@NtDgkIp=GPT$}GFoa`$C0~6Akx$ATDcC7FbZU>MBp>zBrabF9MaaTBGMfC z7znzlIK0%_*kcQ*lAaAl@DHEBLT?D~0Yau;hNN90T&RP5tK=v|V&mgn$eBqv>a~@o zuOL_HK95))f~qD73PgU`^1>3VNoZIh@ZD+ltv5gwRH6>3rX3SvFOyVg7ivJL5G@7? zAE=*5dqg&Zm{Sp##_;?4DX^IT|Y|a_> z$vNFq)g*D-Wi}}ec&`a|jD2u8F3_K|?#x346ZP&Y9zWF-A8E1sPfhqTW5D-!-nLOr zJ_=FL@fh!{lVV5iE4Bl6=k3Dlayuc(e*%6woKOM!G7VXln`q4`u9@1tmP2(@W&@_H z;`uhGpc1OWAM(L4iIkSJzgGCQGlt9kFSq;f~-4mO_%uGDim8TYmcYv?CGr{K zb(xIUW;zj>XGzJkl1AM*T-S=I$?!9mr@N`^a_==_c9jIDp1GjyEZ9%o0Z)n{`sm<0 za#&Vbw9P|$hq4H0mB`E!UyWeYpK(0F!1Gx1(#o4%pb!!R5i^-dxdqJX2c*wSa`gJ4i7QIx1;)_MjV&fA)S^18_lMICktwK&f};gtFARM30n4aY35~# zE4)k`liTlWltkOgm!%y`3!|Q$$WGEv%F!ry_Ieiyyo&ivX}n|Ey^E4gQ#g6&Vy+Y` zuR~=&6SI{WRfI9r=~WFYnBD7C8Ae;Y6U+jeFQ2rBkyDv3Cw zdQCrOvw9f8wvn}|(kN>UG?LI@q4~k!m%EhRftzVg6j2hcItque*Dm6ZQj;nl!RQ? zS25@0M^GE_G~`TmJaVle%F90Zpl-#GI%p)n7=hQ9Zu;Q&Qt^DV*DRlgH#lObZ+7VfW^6;YFxNI8tlFH?MORnIqm^`l$G&$h5V%MGAjzD#u`SS zzF<9n;qY|w!41DH0pm9Dm^;9wn5w(O^J!~++74PhSvk49Em+GOUWM~}7Q~pu=F7I* zzK{Ok7G}BJx<`duh7a4Z{HV#v;$s~qn1pH(+MJ|jy;EuCFGlV5St)Lp!zXvw;R^D! z0Ylf)3b)A-ENPNmEZfLM#K%KnQ(hh~(&=<^BNeyr$P~NTaNrR`PKOJW`9slXJKHs% zMt1(~KEypfU>eiY(HoU^2q|biJ!3U7L{T+t6-z3?&nN-Ml!H!7#+J(&nw(eyx0&!p z2y6#L1}efO(Um&Q1oN;SO8XTu64?7Z!q6wIGYG3bk>O-^l*Vdlb`~LIjhUDyaYpO4 z0LBAQGXaFwX<5OX+5Cp`1DGKOdn?Nw48r>I4M81k>fxcoF(e-_PLek+;LKFFGd?y8 zG?3imKtd*c@VwGFro}rLnzJ*IFU*o?Xu%#5sNy$CCEj72F(M6bm*A18@I|s>`Oa8M zF43K>7pTCu3kTXf9(9kKz_1R?n z!pRHtX)HNh9V0~7){Bd&;sv&zVSJ}3VKN@EX|UAAE68_sA=m+QzNCa>(^i+5J3U-F zE?v3ZmU3nX?uc}~(s-zl?68!|oF_i&#!=FYRZLNQ8j`t0N?x>pqo#N!zH&&quRcM} zyr^l8`78g*vQKHKK{$>f(TinsC%3PQ)?iwFHrM7!to@ary>UYtTKoyj~s< z2>Bp?ZNLJsGzU8AH}7?6U4*BADbS=T3U3xOS+x<&CJ-W&29v}*h%K|G9&JOtruFPL z42zD-FKF`vo;dUz2r$lMc33%XT$)}usq7%&z>N1JCZOU{lmc`DoBi0lxOTZ4{LT!_ z1nj;10;5oo-(uFtDarDs#Wcm8N$C-y(uus(MA!505NXTJj z$YZ!dI_&B?49yyu?qUtLC-y>dL{wt%ECs{$SE02u`ZeKIZi38g%;c-0jjHjBGd z7>|XVc*Hl5RixVAJ^< z1}e_>)n*FIIpW;$iphS{={h3>y|?J`hO6IQ+A-jEJAHo!^Ba&ki#)-<0)bzZ@n3|j#@{dd)iU`%wYz>31bzzaKY`^>5MX(a zzxYkb9IkpKyDWzAHl~Y6Adg)bKHuyUuR{!1ODf~aT{Id}LKcE%N}z(nc?0~p`1Opn zy4uCS5G&CCj-K->Wzn5FrQy7vq>>Yo-PHgwIM%3fFL}q-b0o|vv!Y(yC*vf|>wGb= zQRcYMilO<0K53Np`&E#ZbdqvO(P*iIh2t3YZd=ll0K^gF=|ENf&J|%sK|>6hJ98~J zuaovL@^r~!hUb|n4%FI}%Z5-4V&*D~TqGzQG#3jb;RYRz7wjFWL_l>HA`d)i9Xi_& zV}Y|)>90EqJ2%b4ZxL->U!D&kX3hb&Az{46>*Gqz@vod)#jZG$XQ9>cRG7v>69Rcc zL_?U^I3}|@yTUj}T)W#wUUFUxqdcb|O?>uwQGb+j)Cv043n!q$TgX(W)Dm!+L%IS? z_!qb!03KY}C+r?_*d`RbFm@_VJdr;2Nwl}WZEbF;&byA@Iulk)#aDDOrDRbqa@lq9 zLFnOf@StlkzR`sT&c@vUarLsHRwuBL4Y?dJi(P-TUitYDD+uu?SDmhtFETn$#{ z$8`EY6lq8b#c!xu^0+h1+?b=+^+k>7QT58*<<^|Vgw4(iE$D}x`cN*j;zkE(AK+3{ zPNT2AS&?X?mhp1_R`hJLYQ;bdD?(V7awhZHg>JLXh95=i@bU*acAI%r`m#`Z9Bvxy zF}2XLGibvlKDS_Opr$m!v5 z5c*J=)vYPOzI1bulC@&STxV0jVIz{u4|PqLXsdOh?s}yyD#Y)}kFkyb@r4l3>;Tk+ zG%gK`3jP~HL1BKrxfw*$xcM8{Xl0+hSz1>4n9gV)oj^E31f|{-G)&D2giHl*s9Htm zAoeBlbqpPb7D7HI4q;a{nz=H%F_fz8l|uB{5tUr6K5`F}NIbbFz=2pD-*?dZ^D1bp zO&9rT3}D$?0qK3O7%ZwKWn72kZHJk$I?1=N4F~RuDQg9Ro_?yY;qy2~TbNa{hXcA+}2j6Z5i}W2kHwP|)&SZtQ z*$G{o?*N89JWIOw_m8c+qJ8$s1%;f|OQmuQU7e*|CUteBYefmx<69KjkkIZz^w=p5 z`CY5R^>c9!_g(zFhY&h>Y^iCqLi+trs#HYl-&Z&X16v+g6@?q6?p+i!qx4BzQf|Oy zL5(P+L%1v!=PZNXkPB9!D&uYl$~Xn^AH`&+2)w8nI`IE!Grf7l;O+=4c!j;xk#elB|A3S(-RJ`BJh`FgQ~S0Zbmc_3}0V$>n5K&iWmo z$j_8%{B#?QQ3y;mXKoq?O@cw71C?kiOjxn$uI_WaQi4q*n#A^qBWN}@LgQ`vCYFFn z4n_SjJZ4<}Tru8GSUJ0RD@e2unhKW-Qi(yFR6@2o6Tx!Y9B#Skz&&+9^=o9{;2x+y zXbsM<5B$W@s*d3TB<5L1Pj=Q!-vo@`oV;Jh`^T$Grs;`U_99ro%T=A-Et;lPFd{c* zh3GD70lay^NmSnC${m-i(xwFNM10du_34x@sjb==k*?Ok`D0L(@1Uk} zWd)bHI;+CKt_W3IMJEbhIIPg|Xid;fKi!;LBjdgZYzg+9;6}8iXguc?r!cJ5MahF_ z=O;9}kI(k98h<{#k*I~2E%t9i_Q+!O6(+j7e>PK}a3vm=h|ejG;y$ML;RTRe^?oPu(oi&KXq3)sY-FsmFk4;qhmOK6TtDl@Bde@0nl-ntX!5LIPP<(KdYJz~-= zx4bdKz?lwd%|CnPue1#=7Xy>#Xzzb~yKvb_IH z#&-kLyBd8r>9D`AD`92$t#Aw5pV6_@X2$wP#t#22Yvboh|ARv@GQH0gu)ps|`9FtZ zdS4v-Zl?NMBFKMyC_4vZ6Z8MJ7nPpzSE2rsFa7*${*R*h*EY-lCBDS;>&NI%zQpjK z@Fj7@EfJKqD@rXbDqy6Q@3X*J6j>(4B#GGTU`B+?)TIImsRJTi zPI>(YYJohSX=HH^6y@fxLqxX%sDu0{-6or)xi;zHzMM{{!enkHPAh1zQM??3!tNg<@s*$E;jOQw+4aMt-JUoi z<2e^ef0bXw7*R|N5$C8DyWSofQZIi>F@=+0Vc4 znqOXOuV}O<78T+YaoKWen2YxM>9#uH+`jr@LBpS&yVWi6M?2B$lglZ|5HvC$9r_%W^H%7+68Sjwv75Qep(q`uvM)8$#3?T$ zVb*scnojAd&4baW+3csXJH)rCM#ZWw6(7guhA}f_<%Utm4CxZ!?R7p%H%-8(UQvIB zQRFI=t5#plghbt~DWreIRXe5J)6CMvG>+zpmMm>ogJAeRyWI-pa+yzFYLymqt@S~t zfGB)#TA*NJ=!wG38ftYGL7CYFOHtl#V&7$`EVw%^q^c_gd++NOtS1phSntHTj4%3T z*o>gYSce@eaJ-xj5)r*wfW*u(9t1<6^j%(Q*S1Vt-rarP1t)Y#eR+6<*4%e!X_&c0 zwjHjS$nVStL0+GON7~i6IpARmzYTl{5nuS8Hk@+wc=)}3?s*{e;}B=It}Cdu6J8s9 zJZ7+=C28g@hoHw72_VV9@o+wQ>UFto=Wa$ASzlJOqLbhadwI;}>2U1RYa8Dd=$iDPl_?K;|Ge1=EkB7R%bnx1-zanJ$pa_ zyGc7}332r)++j5i%KXm5o}mu*5=i7@QIWOo*7GHF5cXSc-bEwQzB*PIdbwW9VkdEJ znt8^#nj$qc%*d5dbeUn$1azqwhF;!Qj?W9B-DFk!t=_3R9Bp|R3?#&KSZU>+_@^{e zeKb4yo9(0V(7s^z6_4cr-Y%Pm=J>@V={^GFc zm>0>*TyKG_V!3&%bY6A}`kC%DVSZ;m#geAqPk}F)Xr+f^RqL%E0K4zL$woub=ejAh zDb<8_FFkQSm~nYH$-9gE)&Xkx;5PZ`DylD+WfbIzkZY6vbUX(EOHv;X^jou6n7iT) z%fPCO=*2z<&YD9AN9(Z7ZPl6QmCHhP>+vGNu>oy!IN+=56R&mb2+P01=U-pee}T_G zU%vmPC(ii0J@LQe^RLC&ci8$z0r(GG`HA-U|6Ygxyyc%5`9I;x`=Hk^P3_-QYo3~b)o@gy z+qCW)CeQUbg}7h#c_*Q1@YVh9hZt+J=LM3257Z!oir-nAw_tCUWm!i)5obn^DD&9Z z`n(V>2Fu4xr&`xVh6>j0XkQo6jM0Zmp^{P^ZVEvl(mxW&OfiMq$SXMYS%0#SH4fmE z_B`AQl$18_QTA$odD*>k2@`O5)k!V9)X5CX$CqKHkc31os+nBHI_Cwe>HfBiY!x5g zIk3JA<$-d%#0XOKF-1MnpNRvFemon!;09n5rniAjd2T?7xHAxcERftTm9u}j$$^wB zJEc3T*O3PHag~!l#J_Xl`(U20S!S&f5K&>EK^-T~jn%PP!I0~AHkC*LN zZJ0%_UPFeHEvn^rmi(#095NnxC~t`<6}gY8dU3`3OEnYLL`SkmiYF7G)_pL2jO0DI z7E&~z4TY*4VU4#<3Imvs@%8293D@-vD+KD&U{Wz?F4af!aYx$+^!S;Q!Nz2gq_G-R ze=NSm5e*{WNCgVA^y1;8bX4N7f>_<%cr=_ux-=vR+5lSqZ@Cc!Xt0`F9$?=CS6LTO zVgx3^gxX8IN>%pd$mR4}(9Xd(gkRZk?)Th{G)P4uy1#&>%ohU;n5WCOd5DU|y|}H< z5WA@RaxqnpiYzS=Cw|d;7^C+!oC!n&*-@2t7AVg%V1LS5a;0)PBR!s_$;= z%L4-vNLvC#S64#MTgLIw{NX?i&_^z>739e4^LlcG=ht8>6l)wvUTg|GuiU(8XO}Lm zjd8d0^=qC42tt5mUxIW+$|%nnI;3llFXg!CxKrkHr~g`$^1j|0=Tq@fCGg5OL^;}g z@~8Iuh4i)Tj}37KBG8W%%pD<7gzW~wY2_!2d$wG>$E>%sCV0V0W~Vz;jyqKW7A(Uw zu(!s$PgCi;k_UUsj*6wskbCTam0C=L5-eOFCCGMXu@M?cQWY@m?#JnvNEx&BR)ze4 z3~OFl@y(^o= zx{sO^lUpc-w*7SZ!HpFjHaUqX71hA(wJy%JM9|R+Koy(@)sj7HBcs&kGd z3Y_J!b^)w6nTq8##2|zH@QgsJ$6oPqmPPN7LH)s!v-nXPwUOM-PWmdw){+;Dj%RXY z)2@6OMOFvU_zjiLR^gWmkII684ngChhZ#e?uweOBcT`meCLU#bF3YGqmy=-* zaPJ~+liP5jZ1AuiSDw>d&gm;Dx88X@v*}MrI|P6Fl-`Ye%EKgBd1r-k$zcU&i-95d zKzJWddS7^_1I3Gru_{M&{|cU`i2kp}N0@$f=KR&${ijI!XZ6MOH|GC4)879=eKGy< zF8^oI_4A8=zPo=zbp35IgN5yVtouE5nBhI^ko|oi0WAAIJPVA~CYPhgAM1BDHF& z+x`$i@|iD3xb4je>N$xOT}>5+VH5LTQFA{h@k>n3BI^36K){}mrrYl9e1$-~Xvs+j z;*jjEq^kPqM%h^tkMh1C652UcJq3kkIHI0aRO0IzuDLsB0G8=A#acSv%T~~QzXov- z#r4I*PHF7bN_omBoy2-l4@MzZC~(&nMuO4^?sOiJxd469<-#@l%xPq~Kn!rd*v)OKD`7#vHhd(6&^pv+H^tkVj} z&Ac6U6{{aEDnyG!%o*XQR&nLVV0MHE+|#+g)+xb~jpvG=LP@T)S=d&@W-nYXm}s)F zIZnp*2^646{h)jWE%r}5`7+2d|D){qfnBRRB%xR=(siC$X+*I1)z{JvI(eAYnzT6R za!oJ7S+G?=Gj&B@^+mdk{3KIP7U%~5Juj68;sN}tqAP=eYCPwRlw)r@?MADmEeUez zYL<|_&knA0pu{B0q)uhy%+)OG52w!o39L#{z7DA?T<{(&irjm`n~W*%*5a+5Hjnl? ztO}G>3({JTDZVc`tVV`r>6}WGq4Jl8x-P2maX<7z(S)t-3RIla38)ra zRu(mwsvoOhO|DZr0b4HCdeXcH`|Qd^7mwA*Ab;1ZVvL7X7;kbyrrvKgn|KJ4$XYL3 z-9i|%rs*JLusJdZeX!Qzytns@ed@S*N+t>Kt4Yjmu1LS>P~1`3S?a>bAkh;o+JC+| zVx|4`I8VE0wrQkGSrT_Bw76hkF-PaJa;0abBMnao@}YY(YsaFyc7ME!M72?S-?r&m z9||nYW%;s6S{V&XO|2TcZ{E)Ip{kq_CTJJ|q&&2kq+=V1NfHjCpg@YQ} z2TD2;d9tPIzhgYwDV=l#Y+T+G(Z=NvjLSNNx*50N`K=cdhX^Bg!oOz|diP{_FT--T z$Eds2H=Zm(1Nkf+y&NQqIPb=cusxylJra#p>s{32Y>=CsYPXgc&BWlb5>b`Jhc%Iq z+ulK*x5(%}$xG+!P^|!KMjI$j?fKa|}VwBV;EdC~KlxED9*A0d*X=!;u zi32Y}V&&Y~P|zoSxzO;L^R-KouUR4a(oo;`^1JCizSioTfz&x5%OErSKq0WO>dn9? z)@$%^C47q@Y9>YEC}PBpj3SY+S=54Ra*zx{O<7qZ5c?)dCzixrvoaq&+;KKU@?pQQ zPI0xII{?ZBKxS^)4>-l$u$(MFB+f5f#rpOZ?`9y*^T`f1T(D9EHsrSlCTwU3i~}fImL@yy8bV~^8f`5*i9n-z`kY9 z-7|xq8;4g~2yL@sW*#f7F}+=*{d`SQGak8+K(s#vf8HK&mqs~;C<|1{4ukL^mTrKL z>jP{SPU#pwS!jwCpQ@ruf$59bX-GeA@>lPwa)aexl2Wy|>p*f~aV^yE*hV4Sc(^$P zDp()2D&rM5C2{081@64EPOUY#3);{esdXXw3tp3N~#rM@bkGP(X9n0Ay4LZhad#@XUwo;c)F67(%VZJ zXmF(#p%2AxMpcz8v09{k3$ha&ATF616YDEqWcByviK|gNE#!8G)Ocj2(xthOU#Uf4 zXtprKbrj5M<)#8^aM`~>)yWw?t8OEE6MQOo!R>Nma{HmO1RX38?tm9BE%X|rhkfA5 z`Q?Im&c;@fFmd`CFleCRGXXwnoM7GB3CV3Ran`W)vNP&c0Kx>nd1))C7T(iWf?O-^ z;>DFs{{QaJ8&f;8S7<`Jz7+=7=|V|pFyF21Sbf&$v&CIfI|~A)vwMWU+}t8=*j4K&&{hV znSe+MkpePkMu|H>vp*Llp{a><0&~UAR1OylpHv@~g^4oHd1@fzp4U=#lqV{ZSP?a6 z$Jl4=xl|fYV~Sw4017BpkT6eC2phw_21b`nWgAw#+$zxZx!=gTmm}XvH|bZ$O|%HY z^?d87^DXQp9-~#=&AAN`Y1<;X1?*h1{F(-jWTHfXGsH*sWk04phNdZN6*uah#-D>6 z|8s99ZwHd`H4S?a34f}PT`&;3sQ^ggCl`>rvhS|+R!4rPw&iOuCm*9zL@37{pU9(^ zkLHJuIoGk}pw$pl0_vS*3_V^Vb96tc_BVfYetwCTz^>Te;v5+U)@sM{*hKv{f*#9sdmopJ_9LV| zDM|A25L@+$eQCY1r(4?DRo05m-Lm$<-yj4x1LXsc;Cjqxua4U@^YnXIXzGQm@Q!bv zcrr~j)82N3!nu&tA-gLILyMe`_~PA(Ts_KExOyf%=-1iciSblouGsOb)DPDV^ryyF zGcu2TfV6B-kSJC$*}fWr!$koi9EnDpUW;|C(a?s$%1Ca=V9w%M7ol(?yTb+|#DS#)*bh~T;!7sIz46b6Uc z&2zupH0#!|&mApgZJf_>yKm2?Bj0RD=bIa~l%>CY1q7~2P<_=6rbu`f6?;c#efmZu zvY{0gk2W@tLG4bXKg?YjnuTi6H`Ix0O=alyFxLYLy}($+B6`^gE=ZCxJ`2*9x)osk zXld))Nd)>MhxrKhY&-vBlax+^NjQL+n(o60c|QBJ=EP8|vTZ6-FeNb%@XWB7ZQBnV z^434^AfKH3OZ_IXeG<_lP0Po&*KCKdwfVxYi6AR~$>|M1_Y%SIdGrxj^ z%u%F;3-XS=p$I>|4vS-XdPyjhbVQeU(donElo&LNh(oi*M;C<o)L^9ByY2YKBlBLU+Fj3VQ(yjrk$B={wS*85eB`SKuyL-zh_I?fg)afrA`vw(u}u zF{V>2!wOn|qF@23N3W)HLCU9r$7-h%S-C3w#Q)7Awd-n#79&r_!;4A`c9w@miW=c- zCXHBBQJT2-6s$fPugXJg^aQi#wY3vp7b$#|%Px$}v11@CKS}$^WNLI4CPuHd3YH*{ zOs$X*b7Jez5dhH2ZA?t^OaIuF84C-s8xKH45g5CgP!r0mxTi*+WdO+75hDYXYvR&iYDs^tlB{sly1TWR7AR@(_BxT_HV^ zA09mtIh%EqL;|u)(J1m!qTei3BT>l-sVgxJNurcZ&e+qwlHqDkQ^88#kMs)2{+@Gl zUJdngB>CAv-3^MRjtr0lA)&}9I+dHlH1i${P zcxU{jgs0YR5*5KVA$CR*6BWVG{@4?qc_2x3`o=N|*TO4Er72edKPek-gHE$V``bD> zul?j5q#vL71Y>DqJPoj%1T&LMqD!)10!z-Ts?gP>NkDBf9(JPL1DDEeuWV`VKJsfs zuCH^mE}ANQ+{;2Q%tW;V*m>S_%=!6mG7ABhZN7EFcAaxPfP!$2YGk1+F*UKJ7^4B| zy%oQml&hPFpO@J?a<5#jzOU>b*w-FHFwAUV=-HGUCA?a_GQ zz_><%LP`n}{KMacK9McV_?yoPt0omnvDE-xtlgz1T~IS0mi25ED{$YYK8(FEWC`NE?$cd{5bO~l z>9eJlgSS0BoAa$$z@Tig3|?5B?<-9a+=y?BISeu8Y-l zt-YPi$JK+w-SNWZ)`|tw4`XWijF!RM+rCkg#(6`|zYbd|NGOoU6(7&*fRka71o{h9 zyn|4|bRx3l%163HJFvV}!6!uHF%c>C90%J_&q4H+ejWo5F`@1>j^c>QJ}M)kZ3(#k zIAjX%qcf1GMm!Ju;PH;oX(E@51he{Vdd&b-5FxOdO^DkhbPk$YM#RH6Zt}wMFXh=o zP=(aSxP6MzIZYX{przr&Xe#)mLD6RE<@Vr%TMUhXqA?`I>C2j%N4Z*y%8gUEBjOoA zC_p5o(zomU<%N7m!tsi(njwj_PXLXw{vy;6i8|;I9ZE_UWzd^eli-77`f>8$jT1#Q z&Uh5?;wZC-EhE}fScyd6Kvh|24Yg>GcLh>>DJ+}MmgDyQz0t~J8@M>^A~xh4W50(w85B+xiirb+U$W+DtT` zaPJ@yD3I(Q)3i=EiU|i&$(+Dd<^+nAk(1&g*g=$EMj?WC%E+A3vXtBs?_nwNPLKTg zdbfvC5(dy?;DN^OloxKEUE;t8k7--bd7fm zGo^F;*qJkg{G-CN3_4s`-Q8Y)(BArT59@8`o}h+~^}-`o<(p~Wcx z(W+?{=OzuUW-q8XwB0$FAKb!0XPS_j@F5B3oOi5@q3fA6P*L^F+s(JQt#!4Y*)Csj zVH=jq;5-?Cee^MgvU;ct5O069gPZQX+5x^i^mdRE`YJW{nMh-xPug*>gCu_~UY+h- z?!=P@F9+SNt3dHVUI(7YTZ2SAJhO`B`#42q~E``)~`3#vY6*C z!LpUw=+M>2>BW~NW4ShXE7wdziDB7A=E=t-h+wm?gu z@kRP$^`qvA6mV=8l;>9;R43x()L-qTNVn>AD_w=iAD7@<=}klnRCMz#Y^P{~S-A;d zZ8i{|UEiHdzUVf*Sn68n9itu*H4_g5rcJk_-)o+wNzfCbYQ=K&x&}iM69OV9BsDn9 zCkpqhxP>yewn@#Y+AhMZ*}z#^Qyp7_gfOwn5onpKH&QleBi`xp53nJsL&X#G=u!?v=M)S z-nOo5NMrzy0RrF<)`4*mb2iYi1z-cCk+9#|2WJG!ny!!gHuyq-KqSDOGWDKniRxI9 zo~G@o_@nj2gAE7=AqWt=#$!s&lik=0R0$v%A`wgzlg)&$5lqnoF+Hw40T5*r#8nW5 zh|3+@ zdfPF=Ey@40UG~a1q7knyTs`WB-XRalQVU6b0E>~Pad3^@#O(zBtDBMXxpUloe8y=~ zu3}Sx;ct^_uUpt+HG3QgqpuIB^?{SX&dniWp{cu<7eN$)pq7Zr!Tp#Pu00aN0-vXI z1+p-EyGg1y?N`wmM!~PSU?F6-E{J$p;oXfcXW-+1gkezwA6jdB8MA_poh@?6EEXQG zgX_Pdg=ZXgB$r`C9agLw^MdDp_jWB?iFGwj3^)3cU97YeET6%tI_i@uNB=;%9p}a- z&QsZ)-s_g@&df%-x)2&-k47+I9~<7-S^Wm|07dnK)iXH=7}s{BYSORSEV!4fdl&1aeGN3rENUSl8FTZS0$o=sc%#Ruf7X);bVD7PAY35@3-xX z)s#hlR6u@*2>+^p{F>qZ<4pJ$Ao&kw!oL@gfA)N4`rAS-f!QPF zBQy2HhgAiZ?2pa`}zLDOS+XvgU*%mqQu|a>XpBj#&~LO$j!#H z=1^SZNUmXJ*>=HG!M3!#q(CdAru52EWbtP|Y;7L}E*>l7Cq`e16>Y~tuI@@ZZc;MP zBVW&$ki;^-fwXU1Z0k{{>Gz3zqLfWco}8J*fyXziD*nPL+Zsjf+!K>9!Non%&rowL zrndE!ixM{c!!?b)-{4&%k#TUCLQ9EJ3Nqou>M+TW$-{iPOB!8((2Vr^6ZYo?F)?6M zGgq=himo=oEXmWFvQKo7;B>+78EdhoPLEeQ!7RHV zWixdqFx7nqRaZ^Zp{o4s!%_* z@6M0_Ur(~Yr50bx<+kXK(6^|MA7n86SyurJ8S?^Nm!ex*-=I#Fd zGs=m`ptgu?K7jXTo|r%Nw`olR56HY?y->bX60Or$k!6j zX39dOG8631V+BnfegdE5U6|sZ-J*zx5kBl>(hcFb2xX5tWR89a0J_*Hi`8S_A@bL z9i=zY0MU`dP5IP6Fnje0xZT@5j~S43QnuJ5QY5z%o+>7w`19f2$?8NN+iT0~Zoh$A zD*P^;We%O?_U=k%X_!uz&F9It_D;!mu#?+b(6x*%jBk~7>aR@7<(00dQ&A)jkg1q` zz6OdNU*tlB8*VH@_s)eP<=;6+hb*_Yd}|r)wslxkvUl;T3}io%_?!){>lujiu5y;dnTqx zekx?Oe*}%rjM0}1jykiE4B1^O-CCNQ)hu@(HCwK&P`-%h^N<65K%%fq^!v^@qWFC` z>?vDsKtV$|u*ekMEAD8Bm3Jh%++ZP|s9H0zp$SIKh!K8N%nDfUGxxg8jDQ+}i3?Pn zr9i|IzD3^Fs-JxEUrDN@gssrgs}wn%BN_J@@RWV-#SW>YvuD)T`}U%8b2Q?X^DE=4 zTBg4l2GMxHD(x;OQgXTp`C%SjNd?xI>#1kRz64)@8J7M$JXtc5?6Ah3-IJ(6I?*cM zR)uB2rVdXtg|HX(+2o_U%UBGIbZhhPIt@fO!r;3lRJ0bSxH#{I8R-#4eV#p8J<)PE znHN!q6OeUx%wea6*d|9ZU*(k2-?iii(i5PX2o>qoDlm?H5D>^}vP%-TM8?jOHim0m z+AfYwPS%1_r3PN=?{X4`@-5k8O z`Gzr^L%|vE=upDviYo5Xj&P z;WxN-EFlgs8C1_^!!4@J`bxC8Zo}yS5~haoqabvNN8oo>bcihGF+1^&7LK&z;cor3 zQertyTfQvgZZS4;HhbmRq%kSZh~(?2UHH@LlP(GSU<3N6=13b*u5oF8kYi>;q^h-( z0k>u&kdu?Es%*t$^ETJI?9O46suMpSseG*~&jN{R$|`VQexmpD zWU>dYI|gn>f%La??Te(MPwN-Gmi2Nd-k26;q0q`Uy^HXmC zl5Y!3cadn_LzOLGPT0hKg$4maMdon#`;IgIpj~7BT>|8|U-mEj|w_yarsv#0Q{>;B)sivJ7R`5#F0 z|3f=}?1}wJkzKFyv+0W9r?*wlUKxm4ra8su2~p7%UR5(INXS@UgygLuM|Ls(cM{wR8;wM%Jfk9#Tos$&EX(bbg6#HyhqM1y9|t_Y2X^`ukb-;_V& zP(NB*U%d)Y8qp)D#11a%av@YHzoNXz@1-=t1nA-nWu^qG9`hEFUQeJQrgkS7BG;KZ z1vG4A`^ac)&?CN7m2QSJ-(5@hs{Ztjzg|b>$w;Mf5bYIpmo!(u%32Ff9^@xO$IP#n z2#;F&unCpFrmdr36?)|jw|A0Zv$xajZ}JxGrv;FvK>my+JcVN5jnZ!%1jDQ?fq*22 zrQ|%S#U51;I<1n(juii0Crt7y*$_Jiho}AJ$>L05pI5N;35p_Ykh;RK8<`7dH`t?1 z!BXBn@cGbpHgI7vk5P{Nt%#G-+SlW1bW380GQF zbm|+P0hVy46#XuGq2HN!s`f^Y&Tv%RDqHr2&UWd{N>myN0b6Zy$alKSqZ-RC=5$kiR7AS4U-07U`qWyrsmIv3(5bWy- zunPB{3VwyMK)rX{a=-&>To@*8ObcQZ5nBBIW0n1@FsJVmzLDq(yApRA<5$7LpxTI5 z$i4OCjVgZ}yhU8pExf0bKwYY}{L1NoP(^7%_lY`HiU;J9UniZ2p0xe#|CSz&l0l#Q_G+ zOf^dL%ePGj+@N9d6B7gSr?Oy6`7VQP3`upG0jxH5FgrFpeKr`HSng>rER*sAt2?v8v!SA+)I5hgw9 zA_=AF`>Ei({N8HTc^%ta3>36jtaDmj6rH)5j~G^S_)JYFqPOYV=6Xw+`u0X<(iMzfSgdv3G2c5dOa5hL z%A#}+a0UxG4N)vkn?*=13ZH8W7bS$KBb6b7~0ZO+_3`J-7*L?6K z)F@JLj3Sf0f~9PpAk`J51Ee3I3RIHRtcccfeYi>GvgXlP>#I-Q@w@$^soxG1~J?v2*<5DkNP=yU!^Jp-lXbI&;l{a zmd9=tlKkP2p6a9X@sHA&0^J!EB14KuszNAWtOMe)1&+zbn@(hcw${X0%!l_r}581Vt!sbKI*qJOdO?{eYnu|Yckqaq- zp*2C0)|NfcAD)=U+c%F7_zj=x7=`F}ec7{hJk9#4+?DFc?K2zQ8#bHcikBCHk690l z+F^XsFBJJwQuU3GZof<}DE{1`0p04`id9faW@nKXQb;&Zo3!S7#&q{xrF_79SlihO zifE?71!`%JS_GYtK;uDEyed%q>uBAgy>zkfcH1W19jsKoc&c#=$^7f6TVS3%v1o+Y zw5CzihCL3AKK`d2P0ai|$4K1r;--RPkA*LyKreCo!fIwZR;%zhR}zz0LDyZ9*c7Ya zcY!fJp-o0$ypjopHChm|PBklMm0g}Mlt{;wL3Uo6f)@VMX#S8}`d1_G4>Id-ff)ab zUW4U#A;I5z4F-mfPyQ!+ji0K2^-4X{+RP>+AXHI65@}WEArAZ!b*$k-!j1HmT4GmY z@eBW##vjZP=ktzh!ZN08jeMW+zR2*|u$GU*l#U@j9pbnaMM%o7K!kPpxa1h0#rp z!@6Ny4#&6EUo0tVtl|pgf&ifv)Nv{ZaE0Y9<*`p4_682)j(arRv@9~dqTCB#MZI!z zDLJQ7nEJhz&{j_MAv}v}nVH2y2LR$DvpQrA&$@xUyz5 zJKJ?^Z%`)12E>$vOGFzdhS{#QK0gdE>Z-cy&s&XYn1J zP%-qvWBP4K@r>5@WX~JLif-Rj%UEhXy()wZT?0gvX)21Q!%11QE-cl=2Glw;4D6!d z`g}cQ=5ReV9`wiBC4yo)W#uFR&vr8Lp5jg*t)gyoHJ)x3OeVzhuPe6$n$6pvV>LUM z3lGMdF?Q$J@VOg15NVZ+V_t+q<@MXUdPmeeQ!x;lM+kazoG%&~6tRU-k*zv8u1A7j zci+~A&xScgt0qlme(aq|pWIgH2==iX!avWqoz0zy@3N06JO;v)3PTaz|t=QM-J1I`<>8PZ~wFC*z^#i}r3<)9*UKh0Qtp~R-Ij&)-V!^-(aRZj#n(88=qdDhdpe%Rf z1Ap)5ApWAnF901O$5au$a?ye9(c^704h&T%lPM29ZaKLzX<`|C?-6@?CIT;1|4oz{ z=3Pq67t#8r1lgtmMXTa30|PghfW18f+uQ z*klz8g>QqF%?fyVyTyc_`FE*S-@bJ2RmpBw<_UOHl%`3QRHMFfQ{&ZUcdioEHp%T7 zqB+nj6J<39g-QkXn@;+D+VFPZ?^WMqR<9un(LC$`yCXHn)y%O2bK+k<8?(vu{Cux^Z>`_Tt{+Z=-qxE`q-Otkg za?`!cl(l1GW^0b?2Lw^4%G?*|QKTw~r*$d%BzXtZPPzvjnpqqJYOzeHYQ~obk?Vn( zVLEA4q{qRf4E35w|H+J9=sDsLW6|YK--#`Psh`Pl%HQd&`n!a6Hdn|(Si^qu0l-7S zw?^YV5f_rqe)gxdtK}&pvZCSY-cFO(5XpNmXSQDCFWcomCO_f-bfDqUx?m zh13E9wIQP~!)0hHX zbJm$NfL}^5?>lSWEU<@wV?VltkaJDp(q4UtG-ZaOSax3^_FzdomZ^M5hYX@s4>6~e z`e4rJ&dScg)I?ZYXK2LP$t`t{`O??E`1PJeupuM4X;4V<18{bWTD_ThyHMxm??3Vj zo4)T4w&rf7XMJl;oxNjWshNe93q7s%!nw>H;w`lMfz}u%^20Kgj)Zw`gv_EOKXN1I z)@$R%R>Inj6I~@zni#0nO=W{f1aFH!Er>O`3eW>oUTTMhD)K8B*oPHY6l@$N=cr9b zITKku+}rT^YPV4o z1wXrr^V7}8yOIYERkmSJGd$;~w!Ets9OlCS!hxT0yo1A8OGr3oo+rV>MZq(Y|;D$#-V zh-@sn-tO%dwNu!+30?OvSWbfNic2^ywRmq4&lORQhf8jiR4k-=8yuQWbX@AEcv<`e zztwK66-2^OHW-XF7KjPUaXAM#+N&J4qV1lFsz zMoz%I$RZf+<$0T07gd9`wQ*Hijl^UtAyn55XVWQT(=z<}tx@geGZ`EczfLt1Sksd& zmswk7ApH!FJuMduTfQXh;Akwsfj#7eO#ZH(=IH@5{${cokFwQlIYX~U+RrZ@u((?5 zA&1#oz##)YzSdoQ@O1z_SBz4q`O2o$98H#KTbn-BxaG*4B=*pO@f8t;I07_!0qvl=(yacgS`(Y?`cN@*#GlB$IP87SmDnJJSvJUcC&=r2SSiLYW*2pGR2Bg|h zN-IiTiiGYCoH%NX5M9_thgef;1V$OcNYE`@-B5TgNIyZ%N6WKG&6J$ON`~V^rvOCX z*@eMc3QIMzcZ%D7x(slY9y53=Cwd)%6rj~#vol%+f!cJHlR>=P7NFr*P9A~CN<4Sy zTwL!+Zhz_4DZobAGf%)zhoT2`2apYwr(r@SU^F6*n&s5HO$Y`r>m3OD(T4=*;u){W z8X=*ZjXf8o1gG89&#uL^^HL!0^~((nzBGL&RdC0~ z@ZlOOsvOU96fCSj&YGN7AXae+&lu$vJR4%;B-v8P*!D>sNh!2B1)oa!R2A2)<^27* zNNsuZO8?lmEV&YvqUKM8!tQ8B0QyRtX&g)I2k48+qo|nYYwm6ykC(m28Eq)F3=0$Z zhgsW6~!v)p3>9=4}TYqwZHivlkillcP0pPSuul4@ccI5a?T^r6@J>y<&b^A}Mz zp9|-Qe`=!aH?qmBYiuuJxmw8V+ag2x78ij4#G*Psz8BjtIf)ftCzqWFDgoX+QLX(U7eU(khiAhn8_+0E&L*_Fq=iCuj*$LioHh5 zVfa-@O!q$IYKWe?6wU%wtL1U?k!Q}%ctVfMP@r~)94rdYVLKh%vpm{g8dNjj0_rf= zH{{-cJyLV!nxOfqDO)X6r%?_vAyx7T0|{*(sovhrSX$(anurt zPOq@+nmfE)FL~)St#q@c0;;832qBy6S-L4bOYsp^HZWlaukY@82R!LepCb} zty`NGhb!X`@kh`7OIJheaxPDH$ZRUoVb*lOM;s?<2j7}X{J9&?`f1MB(&j)+zzRr| zE~0cZs%ar^-(BzC_-xvImp1yViI@xaIVh0;wo|TNtn&1N6#QK+$Jf$dZOd?8LQ<>- zmPRcmA*t-J>Emyb2i-0wpqU7 zsx4{`8Ntyu(l*mRY|NQ#5lqw7njbT`+!o6- zNhN(7hax+4C>HZ6G~jM~4Gx7Z2-%hTE*`c0B>1Kc0>>yCy)8zFcI^>D(;qQaqF&z2 z6T8u=+8C9UNdyWLpE>3P@)pvyYPL)Ln?yYcNs#7M_HTX2e#M>B{bdcFo`sr?iG}5_ z`H2jy)U3?RtbZ!b`!D&4|7Iut*M0wvzyHLI{<5V15xLI#5!_DqaVORfi!^#BY8EM*E>1`9FE^3~V2f>~xGQ|NpPW^t;6D7uoRZ z4g2?#5eAmuxrRS`>f_z|{g3@e6vh9-`{v_)`Y#&g@46Vqk5Bg}iHS57HQVJrWRLsu z39&wH#BA5@Quit*n`7o$Bdj7hsUOz(2n2Ki0HCOYN9E&CB3?pu49fC z>ncOgfbTm3B-99{-5(>6-n%pZis=k3VGh;qkXyUKVe5H*^wO^^Md#o?%|vPWtZn?K~z5bW_|qz4C-)3#>(WK)9d zei+t9=z?w;eGVG0B9*y-BJxn~#pn&x@!;F)4jrY?yF}FM4IDI8o>EcfJ=4Pj{2mto z)RWD?5?G~ITmK~v1WqB8445Ldk|HH5Wo#5Cs$Bm2zF3Xd zEReV5Nd&EXML;J*E4r183dfgD%;o}YlDv_6_r)0vV|zs*_F>9c3WeP3yQpQ2_nVs; zRIMlC)NG>*)V)j%-&C2xJO8hi+2UMtV9J5Je+_Ft4$bE>pC@C40e2tPS! zth@E)XTvESgMe9{a&}4tab5Pnvg#oq#ni)&o(yS$G{9m5`D{KDHJ}TM9QDB!ee9uk z*;n%UL&gPLvxMta}673-zTflomK% z0PGJ=KqK&>>0^Oe0&*gYoWrw{XeDB`QFS)Yp`|rf*&q3WbACz{>#**E9>)8S$!3|PI9t{9{JOsIMpNqTo?dw8F;` zTpU6iq%N_xYP(dflb2cOqA)sy5d`6p?~mL4xbL?|JnhuM_ySlY6b@HEJlLIjw&Bjy znQyx)F}gU!Rw~_wRGJXR*d@Px?(YM{u0Eu*@(b@ZU%uEb`nqiAxJpy*Zfa-z4v+ViTyj&1H7 zD#IcF&?pH+9WzTy-P2MLm^&%UU7qfw@iab<)p29D8h7h4NG+Nu4Q(wr;|*9FbkbCJ z5to0&!R-s++pb|NWWz(h$G*2C%~WtlczhOuJHwvSxphSr=@|RdhEYhOFk~C@1!=K! zB4aL@jhYo$rZv`39t+5PVm+dXXrzj$?%0B)uoOSi*1q~?7F7ZBNXDzp+PSHysnU-* zRM%v{!}=%!^XNHCs5=`rA(sJ&%!ehgckfc#LMF&J97CBX$1H-?;v^J|x;xv1U;;rEy>e3inj0$aiyBuE-<2ULWyL*6Q;ZguN zuc`ZEZ+84DL4oFRCn5JXYX(qgVjC_aEX{(=%o>2W@nqd%lfKKJLq>K=TGmMQ%cZfP zxU!C`R$8RYNs9AzL(-}=(3m!B`L3{h{^}vNN&;)@VGo+o>e+1@*pgz-Yc&5dCdO~X zoET#kfz!B^ylCIRA4m;Pw2#v`tZJkja6x0s;C9#cqi~~ag>BW&I z$k*HhUDl1oY1+N=)&Dfb;bjeay>i~3l3&TiKEZ@mA1G$f@?mp{DkbZy2BA}&;SJe{ zoKh0Q8Ti>?=UWIjak|)+tZ)IZ9vv9<{QjxZqM*3osTEA{##9riDF4D@r93G$BI&%9f0Qx;|$6)fHKmy1Nyua?CKslLXcZ z4-@xj?vs*)H?JFcsez^%gRV4y+3c0&OI;IbQ9qI7pEx7Ce)*Y)2srHt4%g|RH@Ucd z_Ll>|KKpB{h{Codnq#Z2`4iUhB*U#BCa1;+lM)!{lksnd0vc`OkK96!&)(+US!xJI zSZ1e*=os(I84BbLV_b~8W5`Xxh*x7V^gx+zO;oGqGq&7K%JOa@iYm+^li!p%lxB(e zwlQRtMpz95A3^rw2LWyPJ{R&F0XivLu-uu5iw{f^mXn){Un3&-5a_oX_&~2a_H=%J zPgl8WO4?(fFP4jVYl5F#Wu3@;otPSM&XgFoOr8KlD>A`~UAaVR{_zbhf5MKf^R@@^ zzK6nU)wk6(mzppfFGdE#m!c8p%z5a^)iUFRPGS1CE;QU9YK`fY3|6D$lTXDb_mtQ3 z#^c^#xzv=as*&r){vQW&SUfRcQ__b-PdVIP&pOFd*5Am5`kiE&anA&)!M<$hn^AJy z&&a}mShUy3?QG8|H)D!uDqmbo-OV=Ixs#p5|2?Yr-^Xil0TXS*iuJqi&V3K}hneQ8E+zs9)!%P#|-)O;`A&Pf|EvZ7 z)gJ#3Ei~)zK<=+C^shPNznu+!K(OC!zW#$2`cE20{==>Qt{kFc_|prkX^Q5d%OA=i zkM^!ytT^MEMI{p!d@Wf7VNp!7v%n}n#me34AWC$VvBlW8`>~Ugp*w*T{=jFVqE|qqmI2&&Yd+1?~spfm2m)m3zT-jn?c%+|0 zKSg6DdB)dQThb#xg~!gP^2VLFlI@5ii9_Z1qBhQolbN@mcI74w8eE}t)D(X6bO8}+ zI7R_PWpBjoL;>qy-|htJ38Vy!oT7(=XnDLpV5H4;injamg2Biz#7sP~_47H6)F!YQ z%YLwdlZDz(XG#^iKJ!vR4m*!_AXTI^M-f{*{!$DVH^#yjpK`egnk*nf61YzUCY}wF zzRJVRFHj6-xk{?lQoCmStR>$YeFWQ!){ZNsX$-?qzRdHb4*O`FewT6@MV>w@kv6qU z4!bVOnz;}Kc&BuF&GS^giYz5Sk=Xsof=3&!2AQ1T$!5D;S#m1YmPDQ3j`Ldqw{`cX zmN;7`?6klRqt8Q+f1hi74fY%|)zT5|M3DuZ$8!Z{Q@OIe!iQ8^ByD6KkaFr0!1EOS zYDU;XS(9Ja241Iroq!>#CN>`6E4wKC;Z<&VfcrWa`kGG{APvvdcuSCMdIWzJTov6J zIAx&~PL!OcQ*~llfd>x`Bl(-_tCR2=d}Zwe;kt8#%(&6leL5Lbioow8f$Ors7^CSI znQT(hyft@=k+*K?w2l(@poHtbMCNloH}CPNzxSNheW$<%vhwN(E-qb$Vw$0^lAjE3h1L!eovpIg9`P6VVe1Ve6^Ta6eFFIv@G}BlF8-6WeUhPJqOkBJMod;gj%Ha97+l1cc zAcWDT$>A5EMCMW2(8`R@1}Cy&v0u7Ui~DJz!A~^-0*Yf6Q3UMF_c>%2pXye?8!TlD zipxkDXR}t!QjW;mIPko_bWPL(depOf6Yy+-EQG&Fc#Y-`BvmV_%d&XBFRy#P+&&l2 zdrE#~xd@=hWxWM*tDDTlwnCgJNW8;qxQX~fClW*9RO9rVm^x|OPhCtjeRB9i(h!<8i4`br~;FBk$XFtsd3u5lM_baqX%P|p_W zzP5hxgZm<}(0XC|%n9qIrH?7%9knKm5NV!tPpil1{2gg>-rZalt!B8E2=e7LshXMX2ZPyi=1On)m)ac zVsF@r6>DsmA+||uLuxf{P{Tr8J&v(!|l31gWf*>M}xSi z{e45b&Q-%R)6=DL+PMN_({p&p({nf-iR|6;vqW;IUa5NwbrI=Kct^ zUr#twLP5JI;o*uVoz3J`KIQZiQZfYxbFcfpC}=sNDjzEyJr0$G#YxJTsW(`zBrv@# z`AqadC^+JHYe-OZX%uPJ>Dg})1$!L0#6Gq!IB<|SH_Z#!_0~n)ktsA|dn3ZnP$7m3 z8G4_(&og3EyOdp~!*RM0q*Fx@#-NqWm zNaSo?CPOTy)S33?Vj0*#oX{9E!$5vdEyf8iTGLDx4a*~B*tShv#Lo)muF0C1<1(3P{do8G+Fx43GLvNt+k#*#?hc1MG($D6N9g3YSc%w zkLH1>W1Y#)s+kj}DVnZ|oZy_j_oKXl5AQi(hh`ybhi*M)@QQU3nPu_+0t*GzMx~F5G=UoA#=GFc4X`x40@W)vbFSnddJDm%_;615#4TSw2vh~VFP%X zfTJn=8i{+)gU9Hl{pWpyq*aP*cpGgrzeG9CSv;$}>H^0y?B}AmGdV81)4jrSM{pFH z#<=77QQO)2ma6>n!h6iAYH>KD5G0FZ8i2ypj+h)HYpV*5WZ`7} zPP?5kYn;{3`E!(?`|*81mz)`W2aL=SxCjdQB@jY@;DY(@n)Rq9R;i8oAy72OM4sWa zDmkvIpu$y1DZ{s!jer!sfe@vA4A*Vd5_5yrwLknY2W5FVagNgsdNiY=(cm(`EWFK< z5>7))j(6(I>&SXY^Y}9g)HX-SxBT7(@;sE!*5z|UCeLXSLR$pq8M~8VvssZup{-g8 z4}nyPKEKq>LZTz>#tvnMADLrWSR&()iQyPkufjNKFmHE%x9R2qBk?aKE!;b4Bw>uPBkDt$7d1e0j=-F z<4PvW1WYl#aIhlhg{UIUL9(xImV+25p2{OTP%843G=0@EcD`zW1IS;Sl}9^-Tz*My z7L%h_wqhinEsAh^<$DqBq9|HI=x1p^z)(&K1?xN%IE6@Hs&CV)Jeg^Eb|T1T%Y;%? z-1EBN#!qLAm<}s<%)zJTLW#grSeiS14B+j&$MfXMo}j7S7>b+VXz+9+`%oknFY2w~0bPU2}}0;DFu@b7dYB=Oy6B;!kaf z_%x1fa3N2nke8q-;RM6iBII8DPbyX>$N&Q)wUf^tfX~ViGB}k#3=30%gy8t9v?3DlvaKvg^ddZd zaZawoQqSswKS}ppm&92S)6wnRF_&FKiSCqVL>fmOU$^$`68-KV=%co=bL$4Z(3%RE z$$vG&>f)GoP1q6)Y>e^4kJf>!q}dihO>Y(mH@f@o%&{I@i-DT9bj5{+2(~kRhq2j3 zEK7bk6p(4);OVfZHc*ZtQbMJTSI&v5Eoj2IGomj&gn|O`=5snE4FMbyfiv&E@<~HX z4f|Uuq=(C8h#xS)xV2A*X#?+A3;nsv#$X*{(IJ8(r`-99!nOlI9s97Q-X1*GpwiIDBZC_IPozNB{~JDFrD64r?$S zJyNp@viN(#gU=6#zRzJ@47r;T=#-jVbdPo~V#CtaMqp&VJMu+#2czPC-6owK3R?aI z+HYjFPOQXE=5owG=0Gu_@<0z;&Z$p?BVM@lXf5-1g7g9bn7)mwh9jb~`f(m=Gb&7S zcmT6rr6%~a0%AObi6?tQkkAam>so7SBMGmh3ccYvGXLzVb5}XTtNGCgTGLdsKim*9 z62nT4h+8(vj_alk!7}%-Y-mh^w`}cuyuzJ%<$WAg*6NMUwf)(H5a03BfNYwPJ@n@0 zQaPj(x3Un0rD{$Lh0f0)*~z12!c64iD^S*QnJ@4!cBqUs{3i3q{nrMp9$114Nj_?y*3TG8FUTrsCWxnUT)|01q+prY5<&!4}4es1p?>c9N1sLxnWDpOTr% zWGRU%1PH#a4iMr~NTz=a-E9o-F4G3j%^#R*_=+ZJ#hjL3uTbHo^>t{*jkt+2U0`El zS*jcxL%O|klOa78>_GydPprGUY6k;TA|(^jTH!Ki3V<32)?5yjhM zv?ow(iNke*ClxWGbji_IKr%m|-q6r~Rj#-I!_CrH4&fwc*)7BkqDs%Noo8E(HAQM! z-C}JIG<9Sv=#ew#E%8HW69#Qgq-Q7@9K0qEhCjTm-Ox3pQbR5ZRfj?@YJ3EUoJk=W z^!N$l5XJp9aqu`~rc(eI6%i4S0OH@bczRb$Hp*d$u-q5ag1vZNPPse?XZ(~q_4LDu zR?@4p(==tGiDup=3~hIq-O(TtQAUul_V*7j*M^FPYfqayZL_7|6rrR1vW7c$(dx*< zHlb-9(zB{`D)81V-ofDzHTVAjG<`Jq|Ai|46=?dK-^%YEEUf?GPTudT0@gp$5d8Y# z-{H-ln32=7GEuYAeVk(c$PZ)ti(4EcGaWS>3oRWUGZP&(DiUSsLQ~ z4=($(|3upT`p^AOQ15rl_6zF$nNw`PKa)Q?MaRTS&B*!@`~A<$hYY`ypnrIlfsy)S zd6Df8&i;C)e}4r34-n=bjO7{VS^xBIVw$R&>q){-cWv^)}nAT>+@~!BB$Mfm#%S z_GMJ1t!5t#=?dr4~=`evdmnpFu$_Pkgz!XJbmh(UDs-D4QWC9nZAXR zz}Z_iVxu!Huc4d(S;)XAes7ysq8WE%p)bB{rr>ZPe~E@#4;)$i%(20#Rl6!}{&<~r z+g`s-TCdOuyYn711Y>wdL|Q2cGq4HO-_UmVyt(Jmz!hN!WUimZxgn$w`JTOzbPClA zE-R9YGL>7B%(2tfx~2r4Te!(O8jnod(PQ3AW4UBAZn=#89{x;&o}#- z(Dm)@*74#(k{>LLEEV+{-j12GO4dbz<)Jv+?*d!wK+Fli6y4%=nXmCsl?Y-wLGnM@7! zF$Al?0*F`P>zks!Y_r^>)X%rQu$hwZ__`6~13W6({rMZ{3MX*E@|7c0esA+#_d1*x zuRU&Ony`WF#qx{$u$~T(RpXxt&qr_W_FDE^cj!>aniNT&iz?8Cdm%~F@)mnvYlQ8K zd;^w-9naT222Y4ZT(Ksi+CpfmXK{Ti(F_!I-m1m;WA80_)a1*^{V=E^9^_0&t{CI; zRhP4|nnQH3{R^OOoaI)p(Y{vfZsu=XFgbsgTzl#y6xbwk-|G`NuzJ=eJVYNC?Q~#3 zc7yh>aN-8#+b8LRzPTil7^kaSx!UuayJ&7ehZxNBCk3KFg@@OzuE92*^HvIn3T!A< zJhvj0dIvl$<8l$35M1D-ktBx2X$>%Tk}y*|u?#f>bUU62hdW_v>q(3TimGO{*X@7| zQwOAI=^4-R9|X7+Un#+@t5|37`vd^&{RqOqYQ}th$^aH4vB;=*;dQ^%t;Jkh4%kL2 zGX$hPl!!i4ZIb581D$8-?pcR@Z!C@%>sofCoYN_ zT9os$>Isz*#fRFU^NaYB5;BjI7MpF=w_rwHy(&*dN&#H}TrveHmJ4M~Th)NMff4}t zANx(;``=8nqX?yT+POi<;-Hm~K8v3)be<)_o#M}$=-6dxg%$Ae%PGDiM5MF8m{1Rv#CCF?T4saST0QO)?NUB7TmzdTc96%010IrT|7iKM8 zaX9qT+%OhG_(<X2(4#e(k&RX*;`-a|1Y041+l)Yj!1rf$i2;97Lk!Svol|YYcJ~ zA=U-O=BoxH)=ndYd!eV~V@#-0SSd-}oapbhIoUfM@EI1Sq8%L?mZ*Ap@m~7Qm$CM2 zBi3DPEYfYT*o$AxeboFe3+-<;(G%rZbBrFlBTacPP-L#JU(=5l^K{YeAB+XXdI)H9 zp!$@oSTWTRNTWm%O$*n`A+qA)V>Nm$WlqdjS16%CYLs@8JVfyt2PAN4_oaPk^qORu zc8N9(NI2HGj@T~=tP2NflY{-F+AYuF))48?uf8$1O?VW3CFO%8{+`h@W3?E&NvPBy zCpVT#Tb1a13~vh207D6tg@<9MadxbAXc8)S_IYN*Cbqk5$64QO3up)!MiM{6Cs1Ch zaGgKD`k8GEX2N))CrY#+)(R#*l@j@mPlU}gkIO83H~Q0O)T)*FN7_||cMcmjIJ~6r z;81n!m(X}mIwu5xjqWyoD81orn+>fHU^7wSIF8SW^m}ZzE=9^B5*%zvfFL944q5m^ z`;s!nU^QaXF%FXI3F4^KH+DFP{8=xI({_ip_3&B&Q)7_5K^&*iu`F#Cb&sjmw7N3N z8tMmFQzoTjHCbC#`c)Q%$V{Yx&#wFAK*8&WobB=&t!idpS$z-tDZ%hczInJ%gcPfZ zDpmVL4HL3*2h4MTKx1hmBhR>xmlJsK2L*w3f%zKB3g1YMl7Ow(=v$?1ca~o+Kdvtq zT|=9W59FP2*=@@4OSv5cZUbhN--nh~i#wZrt)bg2!e=mHhW7yM0`(kRgFD~LtkVz- zK3=dosoaJL^4aBy8obkn-&B8GDD1w}4F=Y-bPTffc(oJqu*asS zR(A2RXBFY7Vtwe90PPq^D_Oj|rAM$>@T)@`onoY)xYj%L6j=q;HeJRZdVTZGs8fFr zOa&Lv2V~F!m-8cDjSkP;a{|9e7Qt-J7j}s_e1PK*Rlo3+Lc3VtXuq^lgVSNGR-|Tb zaWOrril7U{@Y;r?JLie@9Z$!p1s|+Hm|7wulIjYCO5-}C?BTA+{=_S90d#xRv1;0t zgk=Q@H45|pk@nSbRc>3?gdp7w(hUN8)7>SFfOL1KbeDv5Nh2Ks(%sz+(w)*NAbeZT zJ@@q-eedB$~uC*6?jAx8F(WKkn0Um_U^itQ1v#TzAAr301uBp&X`4dWP62OoR3xUztc`giZW&ml>wWVm( z2t|2iSxFxfii+(J@fe?L$hH&vD#p6SPtsDa<@OI9Kd)A#*qY2u_z2j`pDP{yv?*c% zzdUF-Bzc~SgO~!yLLKS?xJ30L1&u0N1Vr)3)Vc z@Chd`*NsL585A0vEDy~l2pN2W&(ROeSv{FI_-a*jhE4ne*2f;`6wI7CNS!EKdr-c| za=J)5n!z|e$d`zj@;8=)&ACIISUociOJ3o*s^kP@;EJ#jvKT4yGwZb`&QyA86chUC zfJkDrPY}Bu5&ei*qlDH;Z{y(L`+{CIhARZpi%NA|h$f&fZYK!fRqi?I&Ae z_4?<=Y1MPqOHt;SThBr8yX54Bjp7sS<|Gp-Y$?tO`8@;wi~;9k#pw`v5VO}2NXAFW z(Z7@%rlg(FbZoE)4))?k-I8WKyfTbB-VX}f6>zX;RNpssPY6F=oZXgkdqMd5Mt*rV zj++RX$M^8wwvlIQYI;Q&ZtJB{)$Ux7cnSjN)0ofu_(C)d1km$kfTh;k$>|D{jSp&; z3#pK6N`@++U4-oXkv!vyxL^)`DU}pkarkzBrAoM4FQ}4{@Jq3?$4NI#ZiMlAHj@(! z_Ue%K>v@H@3Y&eB8SUPQNPZtmI=U#QU2*+8{m+G=D{ry0;N{7OhC?O&VRd@&;q)CQ zulzG;no+@CPo!6-;#Qbu0WE2~b8^ zBa7~m6eXcwprh#TR_f{$TKzXumh=}8c-p%WD95t(Rr;A{Tx{}2!`IjE|-uA_jk+>>?W!?HmCbq~I` z^Eo#6485pu;Av~Q3wZ9^*CzUUs`1hZ&jUknKX$i9`o&4-dK{dfOE*PoVK7tray&#N z!+Cl>w(AJY(>oTgzNFis8fU<+9}3-5z|z;&yy{XTjNW+j^h8Az^i%f6xCP;ba5BVrC9D1~xX}Z%yX=FX{aF zMD=&d^DP%PP=i_k2Rj2Z3kT=-@_d`w4*WeX!$8l$h*;0skl4Uf&tA{qTZ348J!=yq zho39;<0I(bNDWje0BCd}D3@epFaWr(MtjZfLI^U z_T=DXU;~0IEX<(du>(Lu8Udhv#mdae_B&1qX%GkWt#I--4nGf%2QfP2 z_|GkaK@;8oa~KF>bn2lK);Cnks10`Ea;QL!~ysvXZ7P{f5}<> z&{vgF?8inJKMYm==iM)WOh1xze|EoM2OS{4X)!l>Da?hrJr`C|6?;f!Wn zKi(}w{qq@|y_OkV;aduO?@p)8*a7Z6A=4~9#m^rfP9a~`Yp=|78q4VzUj`$+If`H} zFVa#FPBN=VWyw1kNYE?2o_qR9UBaT+*`hFuILYpLMUMD30u^-{yD+~vzO?Bx%Q&jV zXUSy_2ehvw)?{{B9ouGKlpXEL+osua*`m0}7Xgd8qz%r^2;`5O5hvRi_U_|!hOJeU zInBOqW=2~;)YRA{#T~7I!+A}QM=THnBqVC#9a3P)a-WCGkp-aEa+_F{ z9GW2dBWcO*p8RUYYX}w5Bl%%)Wyp6AFwKU(X!$Bckvvf$yu|KlkU-y=qam3cYPn(N zE~y>(57O}go+_afQIZKGDpaEY8K(12(FOOAf+)N z^7Aak83%rTg_MxNIvMPWh|%DB_1R#KKcPv+V$fJldS= z@lpZ_-yrJe!!eRkK*DuTXSm5qLbiOZ;Hy=>kJjj-z1(vHC~({lR?*nhq1t79K@Fc# zRu4*xk+T>b&}RoMHDB7)?UACMIA41`lLBq&w%^yG1&_66TC}KkhR9iM%yQ_qQ9!I*=H%; zsX4;23@Sl@iLYbA%Pu=1o)Kq>mb-6naeB-3wSK3_jYv8cAy4u{O|(qP>jm3s1HP>> zPfDRk9!s6zLLe34!dwYL31Cw@lSsYqS#7P}z%5&-fHTKS$0v#r8W=AX>c#cs9%$8# zn3RajNPTZz!l6~ggpsD*DGA>Q5*l)$yAg6ljPk|8c9QfNnwz&E;jrs623de}wJI4$OU-51};>y0Gf zK<#wjXmyvI6dZ1SJVJx@8q^Vi-ex5K<)Y-p8VmA^ksV9+D)B8TtQR7kql;DHDjXUYdD(3Gcq5B<+oCXP zOhBQ6WA*qWJZ1=X%F)rBS2n4=j30DRixbWSPft`S#g>1=;!NAl7s^m0cbI3H#w$Fh z;us6jos|mc+i_f6bIH`*lCtp2bHWg@_mad^Jup33>Tz3@0HIp^WE9**_B|H&*G17^ z>UOw~rU+yGgP94hP}yA;or8nKp$IV@ywH$`gn-loi3GW|E$R|DB$MOCR+Yu0!L~Ig z!@l=hZma&`_Q317LG6k9_gxrq+!>PR{>x{0YO?vNvem5pB6^W4SZ{p7b@-}WT5jAd>-LN~W2>^%e)+h{W5 zDk;<&+?y=#r+`;$FN{!;A!rLZJHr)QotEvOIU3S!u@3FsD0tED&-pppQ)|^*y>$7% z$gi+2uFMU};7GV)c5rZ7F}J*VROW#hk+%Tj1z z5d|v282U@@Rbn;-U#7a_2S$G8F+3_Jd~GZex*8sZ>w5ChYJBC{3Ni-a&>Ev6rZUA~ zqMr*#Eig;RNsc9zEG)_;ht&Qthybn>+3u@Xz+FM8Vkq8*D#658(wuGm;ltW?X9c=L z$r4$^#2G-B<#Fr?c(8n|rxW;lqY?C3|MRA@$P_TDv2hEV>~ntfRHg=xCx~-}thiGh zi0_mXyZlH7um@hs1&H@euQZTcct@u1tb+C7gI2wK~yv^Gld=dg}?lzM!FtlY@>g>-8sN^$p!C-Nobi|wJ z#G5t?dPuMxw`$z(ZB6^LE=jzN)={#g-p}%|}*S6BsA>}|wynD^P9Iz-hkmb#k!h4M% zhb0@*;RMrEy4fx~w5lad;-zjs6m>_Uf>np7BAJsJQZS06K}yrEa{O+(ox5W>tf=aN z)QwmV@tUl`a17s@`ME!%qW8^nadw?#S7rZt2G%;3chHG~>yDi7cjgSVHB#FH3f+pa z)7?#SLW#Px=l_OAlfXJ<#Z>emjwfKzZraT9{%gXHFsU~t~9h~iDyZnhN zVPbq}H7B}zp9!=SOdv1QqSmW8AX>opahP~O{oKx*TPT3Vh=JuVwzhrK+SE?Iv0OVl2T@qqJ{vX z`+!HZY`2vbbVn_%^6f{3yzN8JcF0HRlbcj^+o?{iqX|)eAG7dfBGtOl>j6s*Yld6{ zmEp1R+{f#fz%PNzu(#j-ipJWUxycmY%|SV_k)D$eU4T%+_1QUbcp3^hb+^<4L3CH- zUS%;wFWv5`urWl+D-M|Ss8iQUoDfyrZc|7d*5k!uHfpmk70(7&<`D1u;7psY^w#*u zny!5ruzO@2s$^RG#mXbm%R}X_>cjLJv`3KIx^0Qj-Cf1;b>*Z$(uK~gn<8U2Q!H`4oF^xCM z_DzOO>_HJPcLdy$L}@)y><$FK?1ns9Cw%Yr{6v9rHCq#mZ{U&WL=Rq1d&Af&J{>z| z)vWdALiB*vc4CJln!&^nk(TTXJR9u{d>S3BEW9A)X_h{}Td?PX4Xh`f-G|eVHoPdOJ~NtC3rDdCY5m}j(@s^zfARj%oLW6`ZFsD{0jr} z2VEquXJQ1$C~RZx2x=bU0BV}?9S{H2SpobmngPA`U!4^{vywoj?~Eq#Ul_+fUi_2X z_zm6)$POYJIXKvfSy(thjYdFJ01Goa1CR;S#e{{83Dj+b<+s=?c_Vvc8+$7~YXhUd zQ)xh^A6dR{+{GW&`p?23&>#KC!2K$Wjfok=uKkJ~0y6zbk^L%`nT?Zy3HS?^26X3t zBbNT2EdV4B;sjOeXNKpG)%>&g|D9_2v2n-$fnNdqD7gBQUttE_`fu_pAJjp9lpfTF zBON=PWC@@CBf7*P_Ff5J3@fy*SL6a{RXib7s0kwR?=5xwL59S^qnPy%M&z6`<7chbh)u~xZz)zRwp2oeiHV|Kqbkyn$oT-O1v zcABlNc_XCko~ZL^>tmp12iCqmeAamd3Q|%>b>+}fwLewUs%VNPwz_)*qig>ylA%09 z1I7J~4?hq4HFYLmb;h)7meO8g{R(S_VhRmZCs5wg^~_{*OkVUI0}z*%(!9Nr}yjbD8d1O zDz|2koO9jRHX9dboVZUHtXdOAd;}2aUujI(N?I?Z6Y8l2Wun41xArtmvo@wbq`1co zSS+u~J)@@G_fdYmmakZmkk==rhH+{f67phe0OLpzBL%u7Q_Mn8PsFSvX(qTgjbBR+ z*|C)0t;p^AqZfzKp`K6kE8)8=$!8}3WyP{oze;saR~0CF8iV02y#-;W+^pbnSJuq- zM1AmE-OgN3p}+zGT!9tWx~%Js4>OR+r-R9ovdl{D&P26`aPek?k+uXLMW?;~E6z|+ zlcnNLdIPUv{2_%taV~zWM=6XU{wnmvAvP`n%cYK%=H-?(i?es|yd;?KfHvHIW9iCl z<5Fh@3w%@Zdv%lx4D<0Rx~iV%d~16A>jIUgkp-lXlfDv&=I{~0ABcErP_%<`YZt~Z z$uGolV~c5N9o>t9*VbO?LER_58r>hDCRon9GVv)(;k9-p`0|Xaj5EGpRPX&ZMpZ`x z`03FCB*|N-sFS`;J4nL5#5Rl!Oz6nbTMCPegl=g~--b?XUf52?31~MZ`l-~_*^~EX zHmSIF4KRHYH3&AN8|nFNj?Q9&Wv)+y+!b-6W&*J;WZsGx1*(_Q$-h$EajW1?!-Iv+ zEBIn(dM(p31P8X8@jeO33rT0J-lruSU$+(7Va>_Wbr^4I6lT~Xd;RUrQ2r5bJJZTe z8+72rda!2JJnBu=GTG+?r*m=CqcIQD+b3-l#uFnIeZ>RAV44t9xLb?x0y4$= zNalFN)Bbo!WxjY`YRvrvQzuJLrcO|0J8Rn_F9fl1g_bngn|GdO1ohvbToScdHovZv zHy!42(yG;H$vbVx<16MS>`!yfXRBj@iB|-mh0B=HGOi}p;~|uYsKqD36oCom`sX&q z^d-{vk19|_v>oTq4jl)==Y&)R2iJ*xvfo~Vf*DXrM8k(s;;5Q_vN2Eu)voguR>m&U zI8ekr6}TFA)$3+TQ}Jm$m!uui`}*Uv8XnTjP73cE!p?mg?`k$>Xc(I7>u+Vb~Q_(%XMS8K6jTAu#SPh zxjYO?FhRa*LvmOuN3?wZ_Jb=a4vEL7im6Yic9zvPb7(xz-ABwx4eyUWN{i!&>ZBzU zM%AO{xv1y8gC6rgksPj~&a5fAAp5Kub1sHh7*}fuT(f4klMR5qsTN0&^NK`$(sDHd z^=e7Ff83QU3wf#*L%_358VquL$h6*NgCc12bNJVoofe{Izaog?-t;Y}xswU%ttT^0 z{37`qFTvy7!}^7Joa3IjA10Dx(r_rEl*MhG)L;CJetfRjKpnU6m^dyzpQrjn>4rlD6uB>kZbXJ}vvW?92Ee+!n7& z`pfmJumu)~6oT?9myp1xq&^bG#cyuvUab&t`n1D5(Q)imxXMWqo}F~winqkA0V9CZ zxPMq7$Jgb=(ie)X@oIh!0d`b>a8JQ~7T|JWuu?7-AX0_m(#c$`&JH8_&h9}TCll|L z>^*hkY8K}dDr+>D!Ackya-u{=8CaP?v8}=7(lM8-2v|FW{^myW zhhkc6>|Sq1YF6Djq#6x~N$+D>$V#H=S@@CxE42~e^?93iNC2w5kblBkR5JdT1v*9D z>?aSCC?6b`O1^xJyf7E$v|4hXmxJl_WPV-~7i#!*II<4K2)~L4{S5I=s%y400YdKv z#)%A^M!~7wIuey%Wto@94?T#z87fSJ0%yCZj^N>)mr<>NvlmSpD0D@muXxFrh_VAEp}r{FBZoOrU<;le9UVbU zQ-VpC2aKbwF4Q(UMvS;Z+I6n?$*!hg*T}B4PeSd6B1`;Ier%$ij)Gfwq+gMy#J-A|%Nx{nBk%kIb-=VvHg`8v| zxyHekEJ70bxa#*gsagxM_HCai#gK?_bZ`Fbh!*O3nB_G@Sx2#N;+0(qRy|rJ)7574 z5-kBLq=0nH%Q?->JnBV<2J`cYF8$M9tV%s)kn`YN1;wJr2d-10w7dqxTz{;$Y(+P1 z7fbCHVtM&YDip#t7ll9`7c&8kkBlji$L{tST zK`>k>lw1hN^!k$R8&=zTaWR1C?tJe;d0PTAI3}30xhd0Ev`jgH&s}_%IGe+feQY)i zR?GQ9r4Wb^)x&WQf%g_tIh zC@YKg>ip}T@`XFVndX%d$C|~jL;_X7L)lU$4p9)jYR*KFNUzS3cLHz z*|J%mG z2(et8j1iV@`k@3X#cDEb1+2p4QEwupGN`;z3VWV=I)MeRJaWeGPpZ_EJnt~V-%8Yw{g;gdG(M}2L)<`g3hDz|!PQpl(6p-#rW zU>94{hgAcV+He^J)^~@UFok^X>U(h<`K* z*G-<*^$w6Co0V?MMDnhIJqe9t0>Mi(4_&!>e#MzZLxt-1`y_}r$?bzUQ6h zBkek#)LJBx{D{jZcj#>O<;a~fa3tmTw2YUA3t9>7J*oEkJrD21odi7YjYV7rA^49^^N(F_MR7LX z%Ju7^JZ|S53)7_gtG(^vj2$e!)U;3teBw)$0`6o^P+G1vVfPi`#E1+v*d}6HEpEdB2f-LHV7=GrDm(NoU7%(5f`cJK8NdM!gDu++m(@xfT(W*!tVcDZ* zMXAUyCG&NWCJ`<_z4ym}^}98nf*tq-z|8wP<0`TC@YI3u3GuJs`j6^?{{^mphgW}x z>;KXQ{a@hvzs5)afZr!)DgF(&fB)^D(D65LJ2N}TrN{~bd*1*&%Qwl;H>J=w4R8*75k%V<5xK|GXX)`7*H42pTr_SP+Qc$YGeLhrhhNfFJixC_~)Yk>bd|n z(8dEvh<BDFx>w7NRuaiMcepw;3|xyVxQT%>V&C#ALJ%jEEzFy(y;OVmxw-R<1|9JYk9 zuT<%f0_Jcz%vpg!GN`078R>+`)1BNsmyJkKhx3@J#^~v%8bc$|^Tu3H16*Q{QMYNI zi>h$smMIo8n?X60eCilcq!Krjl=HxM*?grZ8aw@|5htd8q>A~=8>0mPTe(CJ(}41J zD!dX2YlXy>BW~*lrFT=jNbd~mp7NMmUvo5<&L;%l2!VgBIman2USbF$h|$>=CHC%; z*6bLmliquOankz~C4f|rZG$HMapsWHNX(pudE*89j$y5gH|7Lb1$PJ58x|p|+CDXr zxsV*2H-;GFOXvvk425q79_q?)4eQFF({Yau{E140Al1h0999Aad7Q)%x-PvMkYi-s zNlqO*`wp@`y`^Gel0_xVM3=})db#~&{KT9`A_cwzK0I+NrO-rA3j>}3B&q6xi_Cdy>8)rM&RO~h8Hy!wV$JM8Q7vw&MD&0 zp|$xwEB9u=r~xWt#mw{*ppLK#@m(n;rK-;fY)wj*-As=>7Cnw)q|9($qqp)tKW2K&m1jL>rGf1ik*<0>)n3#O@+P z_zV0e<{SbCbwQ1+GpiKywq-hY60uF|*AdWEMMxcC#srDYkEfI3K@G1Xg4w{wiU~*w z!#PH58X?Q(*1uSl--Ap4!WznUQ2NMkla1G4qVkD@r9 zXp$OWB`t$VJ6s4OZ zmrY8G#pHr;Wqq+h2X|WJi&7?Bmmz(U2HluFJZ+MOTn_Z5j*q(?&ZG@v#WxPagKh}z zQAAa%=?Kiuc&(=`r5r3tHg53PB8xpp!DNj9E+GK@KrGJ0$MH811fOYgZU!U0uK}t! z8RN1Z;Q)EMHz!JUC@mI5r%{13nJVPiv3)d~Fay397d-Vg^COYXk9%b7Gjvg%?&`MK zj<|XXDGkEm)VXbm$rEml+98(>_}RVYrq<)}hj@$~xsp83h}85{F$tc)D>7Q*zvO2* z*oaUkjzYOBhm^<4j%SrtqE8!uK(!;w6vUo-^Q>D{fz&Wh%8JS@GWauhOvG>pVBD2j z0EYQy(Z@Z$H*Y?(*}Tc^+y^~h0WFFEW_V}tmKgf-|_1T)X&{q%P?X<+c@LE6Sd*6XU@AuPyFadNk+KK062@uz4PJ`w5;plgj|OUN3~tV|H}7 zLK;4z2Ly64;R87+XB1Gf)gRTO5A;V!&gu$BhWp2aN!zwVV&?&}&^QAkr|x;p8}Egy zuP=k6o`}S&a+PFaP?h-lmrZCDOO0aj*rRchXb(T=%}&|z!S+vQP7*ZOfh6z$xIuU)OySSM$P=Ez( zc`;?5uPpZAO*EA?Im~gAJNc>%#*t5M^idsmoD<(n;=R|z<*06#*pR<_k}PaGkeMs- zFdlVz5CI+u-~^YJr414klddcee{*!>noKg+>6c=AUS%A^xhjZk8HiM{5=Cjpr!f!~ z55*>fv)Z#CUVegV7N)1wHm&ilwNEr2Q+8+64i#B3O7Yy6%qw^#yS(gEj7okRnpg^3 zlmt$t0VYL2+-p?iR~E0Iw+Z?};|q%&EkbYW1xM{8p+70)G1II#fQb;+m)LNCyYSB0z)WO)767WV0>sy)&)82W;y_?3X(+@;>be(2k z%|yNOmXVOxJ@WvSXDg>Y(G-mxK>3CZD!K z8y4jY6_=)pTxt z*i4Dtny-y&?^Fj9rO;OkG?DRY&x*9&!(dv+9%XO3fWvCK9c5kUk8lt`AnxxZI=*%2 z^-8B#<$xwP6ceCVgRx~qwQV7>$YpH0yR4dIr$7L?QNPO19@-YnlWec__7{XXlU5oJ zY5IrFvN=F?<1=DvRc&~HD}l|=v<}aO5yGy~J%mHNaxeLD1=;WRne`9emmQYA$5HWOQ&_*A?S`tRl5u+O=5Hs zoA(m|gf^xPALZ_f5;Qccy75@ba$YsCrI9c<3OrFycxU>V=P48EX!yudyih;=G({|+ zBll&SDz#^g-jE?N>jXeWmw8?D>pcSxh7TqLcOyM>G%k&${%}1>PDdQ%Gk+JX(hI+5 zxZjSXDHH~Fo=?$J+eT-;*)gF&Bau)KA=G7FtWn#z?Db2BkaFu;!ajI@IH9_~7^?IFu9(inB%Q#?P`g};s^T~M)(_1Os=|&1RJY8R!d3YH~lV;^riLpe-l}G!;^hb6E z0^e3i7%g89b@!Pin_p zyGFVO4pCjDT6;&6|}Fnp{xfUrH(wv-KE=X$R#oI$i{88oIY?dVjs;^e?$)fJ6`E}P3+Wde6Z1zZ`g@3hSn&nP zIjvU@a)Rxzl^*zoF1W-mw^o9s9@yE|y9|E8TYw<`|G=dGg}3+)X#U1q0KbE!|C`JJ z^pyO&`3VU816Kin|AJniAHHEHkS_|z{4W<2@OyKO@2~t3^;dDi_qX~JT>b{h0m7{e zptl5R5`Z8_&9^sa2APmJ*g@~Z!VCm?SAf6eT@f;Ku(2ii(?Q=C`yXV*!o-jM`+oZexqNeHaenh+v3&E6v4G~ofNUrr zT8e=Q)W7-vGnF5uCcm+#S=c}WeKqU^?<0zh@( zUzA>A zo^?ORGXJ+){rgP%MeL9NI(~KCe;*#di2ZN10T+;@!zJm-y{uLek|s{NJAhi8{l_I!!%GU;EftoP%C(S)XX=F zB1P0OF-h-nhp!)EfV)(p)^`fCroS6oSG76zA^;gLAbWjfbvx8Ir6 zty2bjulH=S$H%=>P1YwBM*>1FSzR#c5nXZ-STHLSC2Zbx=Dv?;c@Xw4X~XzeBA zHOGEU7d`YkKGaY%S8+fjZsmhwuF@I&P>J39y{u^s_Q&J9`oM=Vx#Fs^cn0+NvgMVB z^Wn%^L2NCIGP5u#KH;Sbm3L7uVjEgF_{s}7bjT|;x6uODLs^=M=Dlh*YD+$6K##rN zeN~<&yBLRV|1nnHNF}VoQNN{!Rd<|}PDyPkN61)c$Fg#da72qLLE1lIF5RWfb!7+u zRozdEXks{?KWRy{lY~?;5Dw4|G~*}Wj%v|cb8ez>PTpm6%8Q>lI=^hOyT07n)wZoD zlDGcItinGe>vilUF0X5;QhsixJVV2!lzR0@U zwM6rEO7>7|NA{~3RQY%~4zCQ3$+Xb_yxmSNFF9JA%&i%0OhE zNzl|PbY>P)(aJTN@a)ian3+ey>lrkLk0;9mvM5eU@xEOh8U%jA{>;r<)3kz8tJYPQ zWP2gcn<655#?Fg)N(B&y8_?k2e-yV4Cdm_3Gf_s>Kd@N79@y$DQruQk!*w;Ab{)l{ zHBY-Rl(9ryFhR*nra=hnV^Io2E5OXo2QeV)VLj))Jt?pPK@AFae*Jj(PkYjF?r^c!O?ug{)_kRi@V+OMY`ZZ{^K6@rZx z#JA^Y7@^2da4rO2nx=g6s^hkiyq{)}zm zh~rR4djfH|=fe%taOMs3L0<4{?PLC-&afAdnWFs1maXpA+o$hBYHGitWZ*|Qcs!1G z;P!An#78dXGb59Y4elc3ywQ7>;b-B+wTJmBVy1_H6H2bshgj2X*rtAD#aDw?K`0q= z(Z?lE)*q=<1nNtaeRqUA;^RFER0#nN3<^3n-HHdgOa~rKDizTrlsk0as~Dj7=nDi- z?BQlHqre#>A2pk9Dkcr#$}86nqfshdFrM5#Y(1NHz=ILd27O%#3X-3QO%Ajmz)4L+ z(8b&-E#=Vdb(au1Zjx5Xgkth$>zLIJF9bBD)yq4JwtEEOYANzqp3h6D8vyMCr(* zQW6zOM5H^oM8*s}3ze;;3e??2Pw$L~%^=}|+<22gO`uX^ZAO&j|CKIc_X#V{i0l;^ z26OYqD~ZuoBT<32kXI;>ZC!otXT<9c4A|W5JSokP^NND zb-)94-dYzypT!MaK=Vl1FMC%Zl>?lONq60lEA?Dm2 z!s|w@o;&m;;!@>Pd=QnNw~I9}(Vy8E#7NDwpd!L^(XH~7sQFj~Gw*~cftwAtP6l;Q z+|*gfiHHQnVrxi@`)ckPG1i4I0c7)2Ds`=pgzBsJ$QT?BO#=f}rA;F>Tf{UPZqa*N~acgS>!cu2eQ47y^)y*+3xm=3G%>soDf<;GxI zzARLKD@-ob{v%p|z%$hpc`bUJ!ITLH@I9PNWk@54{GD0uUEa?Ntjm4rtx5Bpyxj$K z-O@<8HrhIV$9QuF7~t^Kvz@spf?lA8`*CR|$U6I^OKXkT7YT5!)u$%qn(6#cS}+3T z4U6PWvy<;FHx_4`^&H{r#%Vkvf+PzV9Bv-Mc&mvbcrhGPl4@`3IgUSMrDG-{N$m^= z*17TVE}s`;=*?~lD;36o9>LhxM$z;}*`}9cc{O)ZD+8o2_Ex-ax1PxzSyg7ygIjF^ zA|}@6U8=)B!3d1(jhGBwWhjIis072^U`>m>Rd)`L%JVI&K03{1f{>Qi7Q``03JQV7 zhQcYoSP19lW`3;U6~=>-A0=v!%6iia^`V%0WF4yUbm#d?BTAn`Yy!}%pCn54T4r9{ zjXKXKg1XTY1)J_V?B(918o0cAiooLY11hJ6u^vhF-~e`Z52ogTg)Yxf)@ueC$b%ql zwo`XxZ;qjvDF!L}PgQouepMM{3Q&AKTpNtHyM_phnTR8yw4Bo;=DsvN#dmratE+`v zQ@#{CnFgbb_Z$Ky@we}=b<=#?_-!pD7GFTTSu}2>4+V!#&PDclZNB~Gf?|j%;i|G} zN}CkpA_aT0tDC#1n2=73T&cld6iXY{*v&Mbw|3WF56@=#qn*!i5iKKnhoZQ20z53s zSAg!YVmF|>fm$WN7jbXCu97MrehVX9J}6KJg0au+=~4PArvf(-_hM~UnqWN2SQG>Vd zS-bS-9g$sLLt%mWz$QLIx#KItE~YPqOaI((9zneB~&Xlmx-7uh@xwjQSwuS0W6 z81()qHzaO@-*%=0&{4gbU!Gkr9SXKPT|RYVc~SlbZ8lj@-S>w57BeNlsLb?AMDs=p z-}=^jhtNgp7t9XJH-_fVFRXt6xStFp-@kSKjoD%O1_}O;1`-e${)4_@`4w67{kMP3 z=s&g@0gYV!4q=HwPx)EcSwW*&0jwZUK>V#$3kM75?;u+n+iyyg=X#dTdae%7%|OnX zZ%tavUjNM6e9!nFB*)AG1U1$Ha{N0v78W+p+*lBe^Uu?>H_|iw34pWwC?og|ufDJ7 ze+IvRZ_}gxXW4%h2AcNEz{(10S@JVH0zuRN91Fs!3?OdqSD`-vy1!)$070woLY`k- z_9sO5x7a_|{}-V@;@AI<%0TUp{zWzZCM*NFm;R?Be`-0HK-!Xj;)wZkLW@Yx2S;*I z1w|jPI%rs1(XywG*BT6MW>%k63^e#8k4n!ExEaYQ=p3D6=^#qJ0Lg&+m=vy(vDQ?7W(&(a(I7Pww65eYp`Vy(|$O_dbsO`XEf^=oL}6^TK{z z)VMq&sL^B?hs>lza&4HZ#j~aMAvCHY$SS1jw8u*hmN6UTucRt!>F*>4yYuf_Tiv{m zUHjv{8)Cp4^TtA?oy0yrMC^b?C!^(tNQlCvkctvyj1Fo|UwePuk!x*gHHvtgfEYZ~ z12-{_PVs*Gr0g&VJD>I)#XH&fr8C5d#jXi3s1x`PEYa_D!E1t_^{qF(k;*2G*|M9R z;=LxSz4X;c!Rva3hzMtI5b|Y5YxhNkG`dwz4Z;11aFPs4TK{tyes`M1JND=hJ$N$K zYyb7Z!6({waVuv7W}^Cv8=^vY)j8bMY9S{50Tl5?ERs;R-Xw(?Pj%%tDM?967OYo- z=K!wnMT|$)j`#CXm;xv2GMoaDf9F62{ zRZ4aOJ!Pe(7yXuBI)l z+ttoB%-xme#gP8!CuPp!H}NI!S64zZx#oJb&U2A?`By1n@}N=s;T3usBbA#U%8&U1 zYX*q}wq9s=JdNLkKpnj>OL)F_Ggi&rr6}efJ-w(pol=^|=1P@bLb$rm&D~(x-z3l6 zkZgePiB=H}L3K(03GI8&g-$V#i z^Yusw^bU{TyQxjCTUakA)I*qsnMK%i`96_&qpP>#yQwzzjH-hD-mQ?B71=j)SO9wtQT7*{K2&@WBY4$l>`=D_$xwlu z3=>QYju)%V^%f`###4yLBVa{UD4=PH2`I`G<+<@31aNbZDq$Em;vSR0$y zu{oA7MI=mVELzBvqjPOv>>3t(n#w4uz9cYt-XPt4$T9%{PyD#h}+oRv|VIE`YHtoNuuzkTCUJp#& zUG@<|yqNuvR(?`+IFevn@5t6x1jp@0q#CXw8Kj~{fH>CaqwCGfB(tI}fT??~!@trD zS%j7|H+~0MW(tK^*+>9We9mff+RPDA@#VRKh(==S1Z4!PfVKOhJ>th&{Bu=uBky`w z^30hJZiH5IcKNyMH|Q|vtfu&)cSZ(8ur~uA7K-KDiPQPtS7!Y`*4{cSt~Fa8#@&KD z1b27$;O_2j!7aE;a1HLR!QCMcoZueZ9fEzGoO|wM=48%f?(ci}gGSzGzrA~R@2XX` zYJI^}A**@4({$UP#_$Rmiqt8*^_si`Z(PN8#xu+o&W!e?=|J!RJTTzF21OaF+7vQk z@=J!U@EcK|^r7^Y=}9WI#ZK3)2?*5;f`Iz`sI!s9Q26SPi(*6ZuOJbY~gswRo=G2RH~JG#we5bA5J$35a5Yg9smcnl+=%1`Muge6$5 z;_O2ovTZlNfE|Sz%uJM)C4qvF3`Bq^xv+v>0{TZwn0H8wDW^f+gbM=I&uc1!a>B*? zgAF414czSY5H3wk*axzq8nih=Tzo58Byi2gP?YxoD+!y`Ou1oYI8q+uFlLRf8xpL+ zQCr6sha!bsHx+h?(1~P#X+z9JE}a_UiFGg0%_a;|lW@>_6JfF!lj$xHi{}>l%8m1F z&LiEIePSs%eyG`X!^nODKiL>&Dt^JsdKqhH7&{JntoM7+(KO}v)Ib|buLN$R+_qRC zxh4|qtRY#cB#Pt3>^`wezs#?5A2kV|;ke%FL%xYF@_X~)e&Jnxk!rB2uNQ}K3UIYA z@hy4}YnM6(k%vz+G^CA<*g{myTx8|RS0-f4v0Rz0S?tiE8dXmyJ}LY&Aea7|6?su? zjLq${xq~rnj8{$sdnBm(JB(e?v_mkyyPXwAn;Ni_l*j&b=V9M2`uiPKYWrg}{fftn zjm@px5WOnG)hY#}7T<@c@7Iau>2EzEJE42hZ?vJ4CNh#c4_8ysDw=?J6 zfG3d|hGs+ibfM_enxnpOJ3b4QIQE*E2- zW-uvmdSI%V&&Ha98c*X}eALLN>p#{r7xK+yjwjL}W4ePyj<7yev@LvC^9pUXK+5Gd zWR_(u-Y{@P0Ew;>C>NLiRX<~5bdR37B3uW`KFp_}GWZAWqj4IOsMMLgQHx|@J9Q#9VU;TU}PJ!vzCNY zywA?8RpL)Q79YssqYwu)Nj&)}ImoUV;%x7#swOs}$!U_H(bNi8TQl1v_gYOa=T+Q? zBhqbVBU3ca-o2nUqNGH6hgV;b9SoLd@ZMI;n6aBu&PO%7fkcJ9)h_EF9#TPL!R#Y> zsNb$oZV}IrT*chCM)Nv#j9D;jt=@*>qSaP(2N!a_f~BgYV=o(aF>dB6*&e~~oMiSKZCX-8ioitgB z^-@t>J1D&2k4s~5^JW6uR!d+s$Z0R$quWr;2KXGTQ>h4?Bi!(Ulun&WCh+V9qZ`7! z^o;Vh=8cK<*ZO+wt9O>q_uI(FxgksEMFp?UHrGYdtgZO0iJ!~v)}QT0Um)7=_K!Q? z7PRXAf>i@V&3_Prf5WPOkcNL@)vW&ytQsJ6|G}yO^yT}5f3`sU`0IZ`Tv-6>Clf1x z!mt7S{;UiDKJ;BKW@BUqXxL2uXSw*t*8YoK0OVp;Kzt}CDf8!k2%%R)5czS^k;{@h_`b*?$-xekJ$<(iZ-4E&QO`|FV{aoe7X@3+O2MD{%!x z&i?({@9j8%;EZ1$_b(LxUyjQNAk54RfJ6NCxPX+2zd!E3=h{Cm;XhyE|ID@jR{;eC zQT!D9`J2T1pT>OusfTg^MA+XY-am~-oydgi7_59S(D_NB00 z$ap07t966ui|20C$FJskAgHkAqz)Xo2)o;<3Jz$!dJZZBYN}Q$*j80v9?WXseB6?T zrjaR)V zD@9{V#M!qfApV|xFemu-W`aJ+!nBTuX@9eERxj(R38vQA;#_R4R3(L}N}$)>e3>mF|LjL5ZJP@`djMnHJ8#C^yhgJc-vLmbM`2RB(XeS`;m`Ng$Har58sy9 zy_)jDSU-$RvtF~txT-+DoSv0#?agsSm?i2J_aqdAP9lD2$%tp8Rj#}g8S>TWv2LU_ zCt)>FCYZpM3jhI*=ka*Ax4^VfXpTP~1p7s0dd4kfC7s1BKqE(K!7PG3DsDQM*)UZZ zO=7nTxGDf1f-~!DTf+re2zs9d7>F$3V{r8#a}@f~b6xS1X%HEn3rO zKr3%Glk6KA4t9)b9TO8o$(HzCJm6ik)a`7a@IHhuUD6d>TxDY72Hyx<@w1`=BXFZb z+xmM`KXdj(n|!j3@XK9N3#m`%0S=*$D^Jh#QhSB?;Z37ksYg2y0z1!z1@NoFgM(^r zge53W*W*k*0ZX<7-YVenTsvEy@K`rPWtYiMG8`g|jXrJPE`4R3Jm zs;Hf!cHWPnKGc16N(xwFy+%mZX5V|~W;Rs+wjB|T!KqO^qL}wwY8KjH_Nszr-%6RD zZ!EYqe`4?61j=n`LEThEkz`k1>~Ug2+G6*8{9FC;?YR420{6TOs=1l~vYmD_Y2EzgQJdk2I+{Dwp{uL@x#Mf5ph5czL@FSe zuN_EGvFHv%dB7S)RMa-Fjg6OBse~O}a@Q2fx8IIZF7Bc>1;vg`a6o*pdJl{{A$!Cp z!n&zXxZZ6^K4NPH_0~yS+?T9#RP5o~5g%uWC>$Ev!xMQM-lsAK&OlGx`KhOs*iiAe zN6SSmXw5Mo0r@;^w%iP810?O>_;j6 zgiW62EVaQM#=u;7dq?-RhGuSI&K;9Od^D{OO3fb3+C9aE?A0C-B)%y7;)RiY_)OB| z0B{Ls)BTl3F_<#pQispW!(rCTx$U*Q?kA&yX-4%>EURXza*J|><{+mJ+y22o(je4n z_`qWVjkqXd*<i1m@~>?XQ95;ZsMdfwhl}^ja7t z%&re>B$e{CW5__ZY^T`o*y}M}sY_>c>*pFd@s~-$7YX^J-IssPO-hhQ`8If~AvFr$ zmslk$yNDe=ep@S(qdpXX!<&+Rlwbo$i|F+_1`6d48{a(18g-qnZTiXr%70phh#GYl z1-h1#JeOmV-fb?A(3;Tvf$=T|yngR~;?woKNMe{wQNtH}Ea!SWCO$k%7&^*LICUNS z@M&MYn>Nq-{IzItZRQ?JTz{5aGHRRZuL296_<@lUxEvn6UGh5Yx?@vDBwjq!0nF7T zs)$$?A#BF;vi7egttt9s! zqz3um-WC6`zu=R#y9-!jCxO)6(K9?gnG~=AaT^_y?iR!oRArS_sjJU@93L!=8F+CD?p&+w zW=`W~sFpD_g6(y$e9m&*`j|1fNf+R#{LyBK44>Op7}6^+BmCHaMxt&}&Jm0C4s@y) zyi=&r*lg!G^JNvOY|dTRr-Z~LhFpAj=5$E_s0tI-9H(6mH7%}Mb__aL7YIIL7}!5j zbM)(|3-vwzv_>PGeOT1G6CZJmY{XP1WSL-KqW?{g#+(hk8*oOjEJP=~`?&40B^N=G z9dfY086vxoBk}OtB{p~i6o$E_b?U`NP3+1cf5!m!_hAsrk6$}ltC+%InXeZ+EbQ=> zaabdshxniHyQdt0+p1O0-vG zi*;~NYtPBP_t;+<(Fl54&Xp<>?T!t|1lzcMbkW)>Foc&)mIPC-k5F}gD^9KLgrP{V z)my@^VhrZ`$fs6^7$$_e-}#`Dxv)LcDP%e5Rtoq)IimDr zv#ib;Iu;fhiHzrRD<~fV4*^ge-Gzl6q?vGzQ|=C^1~c5+X0GL^sX7=|@y%?$6Fpz( zMgy9tc8teP{=e02Wz&~-5*gt%~f~`iS=~E<+qRwaBOU_4pgOJOLEj$ zVJ*cd*||;b@wKX23J)r6K7#q!o z5#kA1h>HFZUxW!z#z+KB@Owf+?)Z)d{Uh>2XPm{wB^34@x}`-9zO^r3sOrN~UC^!l zhHq*S-HqWZ+wq{N^eY$gm8T@lzF=5jiZPIzI0EL9rZRE04X(tDStki#8ldlT=sP{j z6OmYU`-`_&AnrQ5Rn#5VDfhdl@oF~p-iO~t-q^}lb0**@P_p5K&VkpB(X?FbT}6CCn8zX{W2McEb9C; zkD%xl5Zfy2O8RdON3etXdF@N~%mx;<$h3(^HNGf#8}h`& z^$=)9UK9JnN?jl-iV>rrv97vLd!l{v948qhPuaidAUy1zZQf++@L~zOi895z)_zt@ zUc8&i-DUsg0?Cp;WdPN+LwGquP6{L8#M2h6*obhJcS%6u)(TW>?DH`+O!=rmbzf1h zuhK=??beO3*qTiIc{$~y32ysgXX$!l z@o$E*2DYHF0Dm`v-uTp`!j+gBZNERzsACGU7`P-h(A2{E*uYzXkt#!44jqXP{+r8X- zTwfF|Buak1am!@3#>;#_yiyAGc|M;-Jbmu?w%REE0*T3iwDT+W`ZN0fH|+HX^8Q!$ z`dy*>4NVx}`26D^|1s)>31GJWgT1o-L1X`!z5e*?pQPe9Y{o1AOFSDpGZP`}_pWhP z#y{9AD}XF<0{HCjP{%hWwg3^>$;9~2@uPoHUVm)#zu41vF8e*}kO4p@nORuq*qH&8 z58&IU;{eFP|37W%=d!~eRP&GCiNBqP!31bJ|5vv6&&vR>4uEm9GyZ}p0({*6VJ$$7 zXJ-RM1N@a`0<`*nto_ea@gK76|BWmDd{zG`(lW9C7qNwhfFY-^Uc7yRUS$tq*PwP> zNp@_jXs3~h9_A8M&LynQF8aHw;Yi>N-p;w|=I7VnocNVXw{B= za41sMa@eQYI(3gR7v^YtjfknS<;yQ{C_i#1H<;rGAc}hAWYo1@+eg<+OQ(A8JaOEI zBkz$K#cR7NQ)|o0sOn2ct1hMr7F!}yytm?A?f3)w>lMo?@nu&wunR|28~LBMcjwl; z!ba2Wc!r%ci>Gu*x#XM+9nvh^e4{2-4Is>}5AGKe%5JVK2A{^#X7Om0D-R61o{Zi+ z*cH&S%L#nh+J%?g%jE9OM=-7r+OdFqabemyJrgZFF}L9Htt_-S0IlSAdu8td4^paH z_11g@uAyn-#JvI8Zce7rDnmwR#{r4;q;6p*Bu66Vf-1}?tbqdN3)p-@03KcFm^o5= zJ(G%S9Q-_!9xE?@v`&l>{S?crhG$-2=~i)LE9fw;bFJ1y_D|zK%%vVC^e|BV|nQYmsQvXud{8TqOz@BWk;}Q z97E3V1)UWBpy!>f%8P@gcRNJuHMassAt`W=W2&51p(G{V-Q%}b6BEV>nzC4_3z906 zpfGle0@wm|u-HuXcWgXYGwaZNZPApVAJ`VfHY)fZtYgcNO?XgNcGu7t(1vEVgK-0C ztt}lmpw`JNq=(~XIGGYm*YzD*zXeBLoj660KLjh|AvO-pQqY*i#36s>%2WF>eN2F%fXQGamqxOvS=Gh%-lwv=-V+WG z>cc@^+Gph0BqtvMAb}ojHm&Wu+d7rvdiK`$=8_*wO|Y&^)LxQwP1&gxl`wfH(~uMV z>r+&di*^Sqfl+c)Ter>lqm`^TWD86Xm{N`#2zcJKW=3u9=j6cipIJE>cdqYzsNAu= zTFgxUyk$PQ{t|sRv$>TGYzuJumb~W}?84hD@ol&~M6wHlZ8b!h-Cd46-%lN6r$xM? zUFuAGsH%z?Elzwx&=i&~B=^P-Di5xs9@1DzZIW=mpzM~`;hx%EurS>gHwaept?_|E zjPX~?YmZjcFre4@l4jk+Zcu?(!M&sfpOvhfC=>FCHtCSHC9Yys$srMOhu(W(JaVPf z)caDH7U`a*y>kR|;3*pY=V&deyBx(y=&48ByBRA(Fb%~YOBGf$TtP555 zDVTLw#Vnpf(QX3R*hCo`w>?>(nhQh>H?6ky8MmYRja=0FE3en}91M(xXyXnhny}e~ zN^Nc8YD>8K%Bo`pIBrZTH8k?`A3zt^3!+?yF|oR+WX2`GfI9@#@dV@T>};7 zGC8|Mv4x36dM~+-6v3o|kTfHiC&=R`5^#0ZnQlqsqvrSqj|JZ}2HF)f$in`qZ53L_ z6I&flB{*|idT;_mqhbP*1&@9AVvu=uo`^Q^3yNPjLbLY{{`dwGMqG2{!o!BXC+^#v zI`9nHndoo0{#pVM1t1lUXl|Pz{v`U=G0gCC_HOx7g@Lfmy(7>V%uwr^7>{0;>~U6& zq%`%>wS*-zc6R<*m5O;{{GTh2_D-#CqUgBSum_T;8fO!!yK5s`5)4IJj3t|@>yuHK zNW@IGKoJ4rhlUdYPCq+ixE&H34ftDZbti_gf}k*4aYMHPU%&FSvei|7G5C`O1WIIs zt#(-u=x_D>F|J+7>qyn`naK;EcDxZ|9AhCv-XAHYX!w@{**K!HRog)`*jX~J`v}4? z)blhjj$0A%ZXR@rGaMotqEgCv(ho-}u+i!@J%DvCGy1(CKL>Eo-qog(U}x5OlmP{hS}8v4>u4T`Ob_L7peA8+pj>j~KEkXves+c? z`N*KB>XOzIVh7C3sY|0d+`jeUSVO)GLcCD!PIXO8Bw9B^QO|;_5LmDbggf1s@^mO`NXfYtRFP4!CQ(UUG`{Xi6I6INuFHG=taH3Wd&# zTQ4b>)n9t`*?Hyg_uK>hRb#_=w<4{@tbjM?gFuY1Cu4{ZeWM}MdZj?5?_9SI3kMKp zppch1uR*$0cfkXtSuOPW+o8=kO7SW%ufnp=2up*7&f_v{4?nZu6^z$19NSGmVRo66 zbvi8M-`*1EyIS|uzF)g$`rMw+`MS9ev2Z)f(KaBKMCyYHi^@JF-@q(&CA2}qj&d+D z2lQSpoT8AH<3kYqWu${Wi!dJ*MBYXSmvmp9$PLzoO8Tpfcn7oBNyf&Q8hi#NL}}gy zdsmD7junW9H+?1`!3;@KtY>%US^QpM71FXyS?g$SoN>7g3G5TM?0&^b5I0Ovn+TJ~ zH?d|>f$ijHgm$_+*vv>`VD4|=|TP-RIq|bo) zv=%3m8GSIKwr`SQ0@6u7Em9O0nMP&K?94i$f4=BT756iDki6dcI zkcC{OevQ=nusN`0`UDXADU zPA@jiSkcR>58Q5GzBY75OUA1I^^wss|W$FBqd}y+r9=i@xgI9_60k88E$AMw~ zaRLh>EpChfi$0@^JRR+IaPZ_E0T|yqFuo8MCA(Lc^xc^pP3l}Fs3a?F+@QSKFDeG( zbbNEV;UUF$qR*L9vv3{QRk3dFVe{&ou@RG`q9uw-1IR#@XDQEJ;ddLr%wt$>%V+IV z5y*620dQ4*(Ekd zVe{(KD*RzJBYGy}3xrYoG}&t5@>zjbK%+vA2abG63?FM3Vl@68R-XHuOZ8zJMXwA- zOe3oPUAW9he{$yIMD}Xt*Ez7Xbs%=3gN_Yu>}QDniK#@y4pyc-y%u(lSW3oRXi_ki zH@ffc0tVjUMB()C3D-IH7W%zd@j8W3f55gG4Po>M(&WA01_fE_(WZ#%DR2JNYf5k1 zmrzn)phXd3njPY#rketE0*f-uDT|4)j#~0}RYt4Ppl*6Ease z{70G1S)0AMN4FGS$U)l`Ve=f=V z>iPcrM(ZCRJbzwe|6T3q|IKm$XzKsRx%!_n5+n2PPZupvv$5I|Lwe5CGl1D9;jpPc zRqRY?_-G$Q90Y5VL+NBxWuu_M6z3)T{Lai&?LrDI?uvusbi`aY)7{ji2ZQr*D}qT+ zol>KuT!+S$-JR!oH+WD50(qf%2+@^&?Xmpcf46*8s-sCukD^)YDfO|*`5}QkK#n=n z$%3pvy6K+nbAsY9d6ULwkd^-IotsZ90o8n?OqQvTmJM>jROg9z^ZmZls6r!j z4^8o0QYx;sX`8V&>P3Bycc#$OQEN!Utz*qV*@8YiX3{5Za9GA2v4t}I+n6Jw^FB!F zmv>`m!Nm2F!L+zd24hA>DWkKYyDc}-j+s!sLE6`4kI62SE`U zq1MAJ?D3@r+pV@^`O4DRltuFrdA$U&@<|B#<{=RohnYR@tq6us>%pZ2r6!RCC^A?p z@?&a@yI@5_@C@40%Z$d+NWGzw6Aex>6qU%?cxP%PIEZg-p#lvoOx;qwtRLK@-uqq! zr8yP}3^?=AxOkUtlrGG4oc2Nz#}P7F=N(PS)U7a7udhWf0Tvi5J z0X63nK$T30zm?n(A*U(iTb&IwXzP2d@`?um4xy5Kzm1N1Uws!zRFixjBSr-VKIpq3 z%_HOhac!$hMA6SIxw6Z3iWf_aEjB+f9R{sV$7a#mT}6Zlv+hS*_2~c@Pt4`qY;Tm7 zItmM3so)lKDl$5axngGM(RH0*fxT5LAW15=3RSd3pAneR!=S%bC-G z8(|y_C0{FP-cPa=y&kOCdRuQoJW}j>HtS_LKHy`yFSupBGi=hAhrXyi^uN!IIbeDw z{uX8F%PT*DIODGsXxLRCoz#J&jdltRQEcy~>Ko5?kHj3{dMDqEkOs=C8Zt|fy*O|rH zuvNOPOERXa8>UndL!+rs!m8iIhj_VEquQLD?SUCRu~ljWuwl~!$R)A-@;N6_xD*sD zMOy&Voz{J9j4xtw_mevc!{0{Pl_clcl*MZ?0PU2JDq=q2a(8>a#@xNBf7Bau#HFa5 zS=h2Hm+U|!BplRC858S(pjmud3b$0M5u8>O3<`P3_CBk#XaBee(I-%66z-z6QoHV| zCLNetWdiB4A=Q$5OnI%}fNG?nV|5(df|YvY!crL(shOgRtiNtBT~qn4Ii$v=6g7YQ zxlG^Fz&1{e0*z&+wpVCV%?6t^2}kz4$)Zyqvf(_9 zHq{>13^$9#EVIEs73#YA0#fN4JVCy;9P@!4i7D>vu_~);tY&QE`El}ID9$i0EZ^+y zvtI7A3*RF@JF+^k1=9AcuU%@p>0U>kWqi4V^3iW#zAc;>St)^O^qVJM917Re#gE2LKcQcvgQ}_m}|*Tfb@D zi_$p!9%TZMWBSqibC?_yNfgHqlMCmhV!+J9`verePEOT+QB_073;R^5b>(x~Mk1wq zyz;tepLL~SDu|9hiTJDfyM6<0*C2JX~`@)*LK z)rE$tTNN|ysH{crtult`SPb$HS&eIL9-SG+k_q2ZX2dVFkEB;bHL`O_&}*i75Qy-| zNn8?a9!XRPb5sdm!*nJvNwvAs;Dk5r9%4amE%p!~VS%-)AQa1?31*ssS?2o5`%4J%^5C1WG5uh;V-s$5!yGNlL=I#R&8d;*++7*$gJSIT{H=v z$n+XVvtDpqfQ;QA_)4)DMt~{{mfr}$33VE<-5R=m?$-AlWL~@@kp_M(hPG~NmReW>r_slXUT#r>r&{I(uAa@x_RqtM|oipR*VdUkjAQra*dx+elLrV(i4Kn*zRYW2oL3eGrNA1WQidd)Z7 z-l?e;MS&o}-f=!#*oe7=)w&RVIrugvkPBlJYw>cOFaJaxQc~11X+FmN9T)p-7zw%Z z+fbRiZYaNvtT6;I%D8IO{K6^yN_}WXDbCDl)rt@2BD6r~LC{F@G`*_h>6IR78BM~M z&~kmOk0yDph<56B?&!u;?hpp>!%ex2#Z)~sc#hnCfNoR*MGa&KgY>WL^}ZV(TL4w) zR>~=Oiz7($y|`>4u48LKTc$g|IwdiiI@PP$AUam4OIv0%=ofskI~QqpG8~Sv`C=kr zzH36(AYK)13T3&1e6|u@G40DbqR^R&Pn94*>vYH`x=3DoYS*cUgi^Iv@z+@7g7_wR z&jGAS-eBD^2YaH@o!ccfT(dp3{ENU9(R}G*bJfa}J7bI^n#GcV{^{sG!-)p+nyPN& z(}Tpynk;c?MyaSmX$Y`H-yB_Sz_Q&U84Kq)W8m4_RJ*3^kI z81*BE1bS&fkKBNSdH|t3s1_V|B3hu?jRCT7zLGl!s1V_nB#LmuLIl-j5X=@sC|Y?9 z-Pi{(tGtfY97sLYckNK&G~r^~8aIpwq4Gk#yA89%Mds*2zQg*pS(@;QIvy%3S2>#z zGjrVaAah;Tv=AJA+XmSYR}gBpH0Ic!KE!}K<+OPo2*PkU#~h>|8sCw8R((y2@(oH> z^YE_K81n*39s?5LU21Bii}KguVmWzn`hM0s0_&~kj}z*eBzX{-ZfnnJnKAw>gl3Is zXr~kf+iRp(u!L2pBDT4HRO;Q7`M@fHdEFi?;ea_{L6hVsOdr@es4E4cvc65a0J(eW zY6{>II2?bn7xRQT5bdvlwWL>bBn5Nhao>&ZTz+|6u(drAl6We7C)t~_MN?rZ zlLXUuq(%Ppjz#|a=3w4MenH{AF$X^BMiq<7odL*L-{$DuY*Yzb`neIk@{+RvSF5SF z{0jXF1sbV%CRy7KoZ+&ihpeKthYfa;?UG-_9%>-6+n}Y~`pNP?2&{ zB$l|3<#;c<*HfA*8cVT(cRbhzGQTL7?LArJYq2c8hb!Fxy`*Y29gDuVPxprby1t+> z((6D*7o84BLcRQDLA^5U?Y@KBQuv6;Q{F0^?9Lb#f-YSQ(MsNd-D@>O>C-u7nfJ`5 zV%l6X+pqfxymO^wmvK#HaWmmO@+YKqBY7g_ebHLu@jMJ1(`qw0riA!x)8sEglC=mx z2Gq%myVZ-P7 zlpz4}zUabpii~Ee4jDm}AcEy)f-4n2!iAn6y?<_y$e7$>C~{E!nOFLm(UTi(Bg&UF zp-V$|xed570wa(MH)6Zc1Lmy4KZ_#snhz^ih{bbqDlNw*K{V3~z;x<2FK6QoxMk=y zG(C-UI7|g#(Atol%0DDCkRZlwl4*lu_GsDFC_@J8sx=#U6)bq)9`kp;dx`G!xqZ@m zzU!&X*zjPuUmuVYj=P`5eA&Ja@9yEdVyfZ{s#tYTyhMDDpQ`Y2t>|Kr_*AaK=ABZ~ z?1Id=4BrZ?Ujs*LiK)!mQteJx4tZJ5tA@GTbQg}}(n=rh=e2+rP|7X#kY8cspIb=& z9Y+42D(=sfT|mbTpalE-mEE5)^3R9-1F-&4&;2_a63ahLqWRrb0A&4h>GPK`^?#8m zz%~R(ykz-auma$9v48l9eiO0+O1OW8tPGsLJ+fm~T`PL23C(-FilJ6LvMm%%Ay0=rd-?6jr6*maNPY}*%$AB`M|*x2IJK5 ze19`ezq*3JRq*zawc_n3|HX4o7NEpk(zj$bWfm}#7m zDz+SZoZx<BI&m`Bhr9@iYBzN&vi4a#)-iJ)@snU(& z)*%=#f|r&epaNXBieEv>lJ$VZ+;`z&Dg&pC@J?d%HM;C}Yl2tlvxG!h-i(&;YZ|;4 zgI<~pm`L^Lk5otVp&Y7|ZrMP%RBRZV(9PV)SSh_+F%qKH{n5d=JV z!~OAMXl2rPFWYIT4GAHO1i>~oRjq0$K=xxWnPkA{+^Eiv$kYOz_#?p@ld8P(2TF4? z1(#zOsIo*@jRok}VGj15xlbgzg4#Uu*&wMYG+5C&$rP*{+zO0S%Jxa-0w82i zl!7}S)_c3@+- zAAHM8hOaele{sz2)N}$a1($HIVCb(A6%6w{FC)Q5ew%fMXdWPZyDUtfv5PXHwdr!C z`DnuDD>74a5gV-IfM(*tPlAFK#TGEGga@8g_RL`b<+1J^ad1Kyp6oL2DQM5&kY}Ek zYHvz&=i5a(xvm+fO-+4$Ue35hRM?%7XSQp9W4d`)M2sUknc9N8SnElzgKX^mH2nWCAh zj-Jsj=IQQ(3ySHy3)JuFhZ=|?Rmyi#wD36UXo2T@G26rw*0)E=o#>FbS5lCeTFlvp zpqvY%=0BP@q*oiVGM9lVv^Z3Q>vM-)L3MDnIE8mxierj^pWxC$e3VOhHP0lQf{Oy- znOvt%nWrP#9H~nxPG4xzwX2pER4U)kV+h&hpXS4fuAEY~jN^5Op1cme1v^8b1?+t! zw|z7cK+1CBZVmFeS~@7#4%akR5+fWwV|aL7wrE&k0My3aY^gmOI^Rq4VGGG~ZNoo( z32lqNj~vu4y1J@_D3(aX(ZaWr+0ZXwYQOL4@atKw`P>4t0XQ%LdeD?GSMzZkj!_EQ z_WjpE;kc+|u#Y~RNi3*i{l3&UhutJF7tqj>yqvH7*uEmVWM*;(D?ufur31c&Cb)vI z$2?JeiADyq#RN;+^?qv=&k&|WdeHG$DhOF=wM_JF59y5M$y7JANxs~tR93}COZJgx z!=EuL;hlSR0Ki#ZjGC8*@QI-1!tr6+zI5HG&AfkLS6#TCrP3Csq<2(4q`Q1O1ESh5 zuPG()anp9tJ%uzit*Zpf2!Gppkhll-2uV0cEU^qTP}v&a4jWBKVsrxvsV+SkT*PS8 z*}4;L@y2$h#7IPVkVCL8pv)@7y8|YM6iGGsBoEB^9LiWC0p8?&Me_^hym_a+KE;Nt zvib=(nckjVlYBLkYg{&%k+>D^%l(A&Y{G2@ai(jnrs-l!W*spnSU_@x09#zKb@+Om zmSRHec_&P7P#KC{EdN-WJ|3kWcn@!KZe9O3)cp>qo(5Fkm8RSr{A2LSHpB2_cAMc9 zsW+lHY{|r|!9YUmUwK#Cba*!P50xuxq1izBM>BWth1kl35Utnv$G=EV$Wk|-s2Z)- zB%Di!V-Di67lc|OBIr0`pDBD{`nWBDNgl07b7D=pFL=vMXPYy}`Tl@DLw z2<}Rf+uC&t6Jk=@qOR%}Ib@&$eav}_62i?vU)O0syhq_|AEtP2N2ioPUEHH_lKsc7FTz%>sxW1TC0kP#7)kQcR2`RJMzTXd-lWO2+yX`f?s6l?w@k&-yz_#4` zOnii=vkgpp5C5Tuco#Nn23V;!8r#c?lQTM)a}CAOi!5Dt+Tn9CB_K)Xva470<#I{Bpi;&p zoYI{|pSC3tnds6{UJ16=F$2CXjh)bY=($FE>y!@(*)2R8mU*GUANM6l%E0w$1}Lg3 zv$P+H-;d=o4E6GGwd%^HXjiRzRyDeuzR}gYix{$c3Ify%r|h1B7zZAP)l$_yS_zmh zW>h4D6Jee@E4gl$n%n4YDy-bYq7`yoNFVsLJwFd`UlS^o&lo8Ze~O&9q;WCMC4^^o zOfn`5{TL>3XV=kv=sQ9*C5ReQKGk9&@TlCct92F9aI+CS-}-zWqUY1}cuNm>XFRwf z%CD%i014oeDobSdilc0Jw%#3YT|z=trR-dxp>sh`^ukqtukSb{jsx8Y3Y0oW)GUzH#to4G`V(- zDb3`YN!^m#o^<3IMo-iUm4}$+7dUH$bW1N@#Tz*jC3fB|Jj=oAh2y;{vLK9DU_IvP z+c(YiQ>zemz5VDJ1a_rr6(~Oar#XqQ4L&OBBgO@Qfq!t4l|u1Qv)Y-Nk&ZT&(qgt} z7_MEmTWK-LJnLx1Xo@sg$cFoH3|mMq+G4uGotqYxmbMH!d`u3b&4`q%)%@|kqPS=^ zE9M4%*}69HIBFxl0N?Umu{`neH3(@X8rMW+IqeQS7aE#$lAn@4X>T?C3H^Iq_0i8#IBdN^02O|zM<+Z4EseC=C^273Vabv?@R+z;RNX8 z%}z)e6g7iChDgr93d`F-H&=0i{P{iT4Q6YA1fh?@dKJfm_>81!o;@fM5{I@|+-tc8Z-$aYtA=?6Mc(Ei_XMm5$utO!wCzpm{@vX6EawuQ zP@_a>Y{mpk+^I_C60!WI*v7uE3W#?5QXMR-I84!^8vM~~51k>h;aW-&W=Aku5#%yX z0cvNQ#FkWGS{>9W(~hxaK#Ia#v_3BvN}+0%G3+XgMa`3fxk99Ax3nu7c%&|(Ay1JB zEtdrXZxSA}$&`+|lX$^MgKYLBxy8bDnyCcv8w}Dp**gz=UBp z-?4x*X_@-+xkHL3^H7fYb1+&SNUA8<4W*-c!h+s5k%-qi!PTLuX?ih&K1vYq>>bH! zgSg^GPH3`KM2v?m5z310$E3J8rXnJ1W;-ShaksTTK3`m4FMICuKur%7h=26Kf`f;i zQ31tj;a-MAIErT|*0i8j#&~3&ZN6n*LL+Ti!7rmeTuZMf22I3g=P;a5b~qI3lv zDJrarENQq#RC=H?v!JYF7oRtGu&);D&&ffurm{;xMbn?xsMvBpx3xZLkamQsM^nY7 zPwP{}b#+c{~g|K-wf z3~m90M-z)*S{j%_5>C25u=HS_gnO4(bW>T zN8@#Vm-wOk`YpTxd0+r+F|KE)3ALm6Yp?rg0fvEDqYf5NkU9m-*KRUdGGfl~SlPre zOB(~9g9DV4cIUM&UHuI zrHU8nZA@5pe7UFy)PN&Ug&7ROsZJML3VtZ{%0)bG^zXF8@z^h5CPTl=0Uj;b4oa=& z^!_m1EU`-P2+V*v*x<77fygGpZU)4@mdgPxu5j*4;z7bGMSd;Dwt$-lfV>h#2QzTme(60FFXQ0__<{lEX`eOtgG@`+5sPU!+3fK zKcFdb9M9`2k-)y{l{SC^=SEE+~oZC0;R>`k+_{<7;UUDj+oKYA2 z%XH%3)Pgn@P&X%T-x+FtbbMuWg=QAzD!Lc< z>!cRLB*UqwD2rzzC?C(4EHeTkn}g`_9TNPBv8)V!$e9R@W#e!uj%T7_f$ZJ!48Aqq zPcM%kv+^-?kgS!fx;lF8Ud+XQ+xI^3;#Zfyz=fPYYs>!*7k&p%|AGrSf7mX69~aX9 z)UF8#hW%bd`)7mZk6-?&82_=6zfbN3bZN4)0^EX3fUzYkY=GDnW@c7^9}?h=V`gBX zV`gXkEtlrs*#DRSLA(Db+5Nz;KhD;FlIwq*nm?b(f5NZ-mrCN#Q2tL78Ne9$yI8he z-NtT-?YoI=1Dt}2yN>8U=a?;{fd}YIju+%PgrGqF2DCJnTBj47=OQ6pL=ynZLVxfajgm+w^^p$k-*+dX3FduU~>7$Jk2nEexqOfp`ub10!wIDMW5x$szq`;3gM$*d8J`BVK;YMrT&5T0 z2ikG(?Pw3#xJ%uc=#?%d;IK@+v9XOE;y5zlIo{8W(+aEk{ z@U^wxr9^4)^oSAIBc5?!U}V&f6D06uW$5_^k4$E4Lb{u9JM}akxp;@so%5dV#g#Rx zMU-Lq+|V_{Hr(&kcT_N9Blt&@){E`(l<+f&N9xJ|8{%ZD?D$qwzfwvBs$qP2EgoSS z%Gl~x!*G_N9^5s!1%kV~ySux)dvFNu9^BnMxCD2H;O_3^JDr|> zrf0g}cQW_8mp?hrKBqW)Q@^TJtJae6WeHqqES@iqy@$e$>}gm_5!s{EoE3XkchUET zMr^JOoA}BlM(2k5Zszk$*J@ljk$A*Gmm^)famom$19;Go!+H^%T>yf-(A#6*$AFK` zgis6UDXh3HOUbTxHOy67@%4v2iAr>o4%Q85@51Y?ti~dDW6`~hso(mcko1w53uV@( z2``vNrkj1?cDvU!7=wkEwKajo*}y*IH+N(S5%@)LOiYat>p>H-D%lfx!R?Z_tMN*9 z`812xN@UR2%BHla#}p9h&be5jB(}(-_xH>u;VMO^UudzTA?M|3`sI*TBNbE3ynx|B zd3~z@4c1PULfe()4TlOZ|3kr5P(YKO`=7~|4VZLhKxyi7~yB-POhf!#n;-j(!a-gwkX%kyu zZf;4U&fi&LCwt8@e`!C;!<9ai2}F_)-I|ZNCyAh^kKAn-qX%^+wQb9L>FH?Fw#PO> z<<9`ao~so}f)7g6nlp`P7|<^&Oll{_cz0HuUUCpy8nzswE<3W-nYTMFsXcKG(tT(J zI~<$-@R=4zR@j^reJw9Bgz9S7zJP|9CVMh)GLC72`38K0S0uj}@mwI8i|l-rK!0TE z^OyGnDQlb9#$?(MA<#YG@w60O!JsWnFkgaUZZz$aI8O0yUEC#R*S87;Z3Q*p*``o| zlRmnMKb)d5pdn4liPnFo6URqT;gNes03z1*Vbb9gl6W||WwQXp`G$U)0Th>XpT6jF z1$4_FF}_JHO@J*#DTN>+q_XEC(5H@;ubE2;Qmo%@Q@mdtB}5x3kZ{&l zLkh*>oGIsRMag(Z04NYPt%U|$BksI&v*pTLALSG4A_*@%i&y&j&C7KN%!O6LYTXP1 zXc89-A_5i}s1>$CFq(Bp{B364d&7PwZu=Mm;Os^c?ncrW11T~y8xj;E6`R!gA`?sm z238ajRaUNeRyg&2!}sNGl*lM(l-ifs>@LTXH04H*-A$nt)W*XkNhSy+O~ubLoym6i zVe4bT$UcwU+2HSu&W#w|cyD}i=JGNI7GBm`3C}AN!Dz_78rIFeH z_Apx}F4240#}^}*9q=T7;&G>{Twz1>P?Ap6I#dr26K~AAGLtTrg#Vo!tHRHKo9yxR zHNEMR)NEu}4-v)e*z4O?%=22v#%qn2R!P^=oCf%sMMVR=(w$8M%K%ts`4(688Xn~G znG%a;IM@fbbr$c2I_*P>Rg0%Njwpr-5XEwywI7FL_-CT2acn-)79{G3oSESj5zuwy ztblEIfdXlPp5y>a-kx&c&3Gy(AHg%b1C2vDQY6dfL#xM)l3WsvLg-#Q@Hi4bXHC3~ zVUW%JMu-MWN;0C|Ex-M3At9^vx31a5wo`YdtMveHj;6IJGT!#vkbd)G;)26!gx#kF z*-p<$iEwv{KBUUl|nsI_tlbOvK*Sf2v+s1bj zeS6_7WvXy>iyfg_hxwfjHr}HykFEP&R8LV6sD#nNBD_I&pYR1rC9}~{0|R2#-tRCli>R zMl$36NXtawA3~($Lq>MQA23S8ef#TU4>pp=X?+Sa*luo76t`zDVNXE=*bvp(1-sQSqlSJU>wRhn%FDer_Z2FJw6i3(c&Xq0@YyNr6Dx zRLrXh+2k(4?TAxZL9OhKh@?k;gg=oNLn>HzXydb06JvX(E(d!7AMdI@6vP}Fgr**p z)~julNEa*O(q8q==G1NYBp&n4=2aI@0g**xN*_|$I9jI7$)(^(Z#3vioAY9r}31rTC*}T9*n2259nR5onHj1F86Bd~Kz> zD$}XEJ7cw}y;mhUe?x$wM4-yFN{1K3K8fneP<9cw%&xOCk5_D+ znAMUz1ITb>E3FAYh%-=nj@H0n-wA|9b9cKJByuGw?V+wb0Y284Va3V zlk}8cNMC(Ab*bv>TPgBr;v1a zKh0+5swZ7(BZW{%)-8-I61@*!8)*!BMBeHC!T*L8ZiF!PZgy)2Z(l!i@Ngk5t)}vH z84eieiql>!ni|P{baH`L;3?p}0sIR@DRyY+ZdrzK&d1sv=7MXw>1D+n%@}cAPaI|? ztqNtjst>WW81k#jdX&wJJifw?r+K?opMG4AOl^fDjcSP-WitD!nZ{5l&12C}*>__s z!O1pJ6T65*$*v+{Lu#UED_4-AW>qgJN1ynClS<)yh#l_~e^;t>wLvDsBbOU#j2pV+ z_SpdHZK7CvH-G0ixCSgq7PxT00Ie{738Pgn5xczJ>v0x;W&G>LjoX!^yTv<}wCX^O zP#E&K?QmM!oaux}3#IZM1j;Pbp_qdB)!~7OEjsFY^&>@6<482Ns229ASzF0qtNU>Y zNzOTXvts?G1I7*i?FU|a4HouD&0es4rX^C1x6tOYi&XGjlr-Y@KypYOfsAd^J{!`s zqXf{P({a@ZF;ei^-Lfp`?-ldz1LPq}fg>s>%j23OeRBK`xA0~O(ASW#h{q%m%2DTD z*<`2V-$6ucZzF6rv96cwC2dp5O$R>VzX?QT7L zi~Yc15d5CnF*uU4z5u}_ty9)RDgBKStfkLgs3A{;Z0tq;9)b(UGi^dGQT!%ZlG;NdJ}Z^%~IadHx7s~`L^rioDz?Pi9caNh|Rm{Fd;=iYbP zx#Uo55gK!rTb$?1-1p6E3HX~o9Cyi8&gc#|6!916ocPY`Nbmicl{idgqoX>Vwc57r zKpcsBrx9w`x_t&$jFh6Q18aEbH*6?D81=S>MOw*mW{3f1ee|&-i5MM*R$sSFpE=h* zX>|r8n@ASb-B#cxJjuadpHao(4Cb9HbHxC_@7IVlkH80=R`elIQhbpL+VSfw?(L-! z3dbvhyN*_kXI2f5mv~4R?!6amA_+x`zm|xMbpIJz`n`7gS7?dxrzP(%kjMTg5&r}& zG1C1GEzvX5{j4+p6=VAS)jul1U%;4{0GpbC?L!6v27qxlU=f(@_f1!TnKmOkJKL`; z0ZZ#U8JYpyssCL7?DzQoi%b)j&-J%`SHN%n|3&ieDA(^d z?mwVhzu%=l{(%4cC>JCB-|*!anE}tnFHUSLG_0dn0dBQty7s!zme#Z*s`Aj22sN>& zG}HNF@Z=Fpc1~@}+{|rd;W}39o#(J2`T5*uU%m`L*pP-1?R#fpNod(W&{j(L7$+JO zG~QV_dJVi@*iHm?YV=0jdJP{Rn|^wo52fr@ACk0p{;Emk@b#75(@}G+LWpIytl?Yh zoW@6hA5GbuhUJ&nuRL?w%uIBf^+l$(DxF$CK+zMgg@c$z6T~2B9K4^72PAbK z*mXP}a9SHjA5D+DF>f~sCFwo50MZcF8s7S?r(cA#xFsUz3n&{Qw1nn{5tP?w>P?ty3itEHV;R+tre{<>wQ6FiwfAB~ z-I^D#a)=i?6ozX(VU*3FyVM%HINg*R#jd@R*m!E>IJMN;wWx^D6Dh^XFHND#u=1M8 zd@_Ma@&d)iKO2g%?b-+{$FmEHrZlfxmVB2vTs^a#a?)Ah8eYjWs~nABai2`8%^v_) ziaa;0R1!$6=UU8Lu$aJ((gJJ6A>1G~@h%%3H&;j)$s3%@&yQ$@<;SLgaHo1Ps;-@* zxQIT~kG;(HmO{?Ko*o!ak7_}mO9PT7r|8Q!Vx7FRE|FC}2J|k_!iKo$cc9(%Q{84* zQ?VUk*e5dZ`!YB z@V*7;Kq;(D*JCg97Ca&=Rpn0U%(4ecXj1T6o&*?N%P=}S+Q(yVp6>5!ewQC zFzcaMA)D?(vJ#0LvN;U5HZvw*7!$UPLXG_KaJdqJ#gJ{u(mPWiA=tMksD;6JsB2zg z6p4W2-YrRVtNqr?fGCnji!MH|hqG0%7ZbrpVi(d0IYfxBkL~hau>Mm< z$XzsQXU<1^;$XIJll7*6{k}^`vu?%{(I&r3TpnBmGe{Ca;7u8E<7AsHu1g!I89m?& z2@>5HHp}-t1zJxvUfqPcJA2E~&ddcB8{5r2RYP*h3B|LBQfKFzkxIpJcItt4S2)zO zNePkmZH~e3-dD1wNPijer0b_wKnWLgWRtROBAXx^u)t~Ot1xlTOpaZ4!HL^Jr&4w2 z%bCan#)cf(RgdskGeGVwKdXoDjNjx4Q1(D38)g&7e8*&#=iA}^yvABTACBrioXrI4 z^is{>uHp=*k34$UOgeCgkyLZ}(VbT-pBkgozZS8ZWFgBhD09Z4VuYAxC5Ml` zq2WtW_M5j*{7d!Sfv6-z>NhI5c8*yxSWHkp{9*!~f^Uj^xch#so%OChg4Hc!BgrXX zGGPU;z+!@4%}oNpEw1!(t&7^p64_>C!=rz zc3?rtpN}vFNMK`rynknE6F=|)PAB}z+>#Lmvx>Jxts3jyd5+FvkRIuaW?}DBeZPhn zRB}}PmRXY9Gna65tXiSSg7lOD`M!*wsvzNXG=E>S(;V3XI$z=}qsoj+6_a9%0t!&m zu*nY>BCe??q}Rb=St#hZ$o;vMa4~F**(Iq230_j?5eJ<>^%akOsXe*}?#aVT*Ul3m zAq{^GHn0T+8tn}~R%~hhK5|=GI^Ti4SnBU@9)$B((_jeTB8#uwD^_t~0Z)peU~d^L zmWbwT3Hn^azTG=A?1Q0X6D|_g`EZnhV?{ z8jMJJ82q)I@t4#W%Fj=j!tQGBgY5(o0d5lm5l}cj?=t6WR*dpv4=gRBc=fO$nWN0! zF|2-T9H@|W+)|dKM-+I(Hq>7`Esex?PV${G0L}I;?*;eCy4LdH52yS9PZS0&xvNL0 zMXmVpPN&&)2?b znVWeO^-wr1-5FfZOdN-yd^t%-_M5lglVQ8LD1|<2h)> z@^!eYc&ChzMx9{%;d-s%TW=2O^+m}?C;pGXxKkE3TEZA!dLdKC_1#^IpAr=?-i1k; zxWx|6Clr}EYC6-Jox7e_9?OD$c$E}i)LYy!9bcRaC?n8{C6)#vvjZ-hN(|>w0MxhE zOw7&UxCLY7RXZFeYz^;;>RqFod@Al(Q5C!$9!Rq0UE+NPyQUFW;ZjJZ<3LD#B_4Ln z@9(1?CdBkVHvqk0_?}A~2g0|sT_h%BJhr*6&lSD?AT=#1ng*`&>;HNj?I*7&C`^;d zIbtrq@8&B1{UJ?MI^m||2T5LaK%4KVF%8I*eK-*hS8@~CzT-|L&WrjLP4X2FQ_<6` zh&!hy8N!2LF0Dy!kb=>6rW4A<#VWfsd9D4%29caJtIY?V3{QuHHB_*+k6uN7q!=+{ z^%B5lF@}09=4u7{(_vU)Nd&?<}}@;LGYn>+uC+}jJjEfXbfnzS)$U&6?l<%%;kAXyzn z+0RS~R9u8zWWVgeLOW&aRjqXei;Ud)?eKm-Yh0fa_6@Pr&>~%6v@I|5qY%3>9@8h7 zk%XW{USjGg#>kmWz0Gb1#X-~r-C!R5(C5TK@eXfMSRCz*LsLWxD>?>i?s*l`I+YAu z!?7uG5A1oZZ;F>avCEtV`hr*-g>a|gP z$Nd`t+C)?olc}U>3yg@1VfpE5OQWUt zHgt40gI7irx57sg=}~+{&!_0I>K1R_`g7ZXwaPO*L3xmR$R(LUtK?ExeQ!mnW82pE zM+=B+<(xs}$-|x=hGI&-p|ez@a8BqAgVXYXMDlX@*^cl~tjbMfO1?<+0xCJL@~m3# z%Oe$9mUpBQxNe}+e1KS@Xfq2dzUK7qam=gm;W`g2o4AVv%NEPSqV|i>$9*~D@8N08 zU@g(rLS8`LBArWM)JCsE-HB8;gQf6*B6JC<>3oH~CTBwdr^R2HXW(n`Sa#9Gx2TSq zpyRH@q}{^6PN50&PZLC%)Lizdx6%n=^bxWGcVVL27`@6 z!!N~gIOKy`45Zkf#?wxG%0YL-KYWvV0KP68N;=dlU+HumOgLLwKM3i}4LP+cy;8i4 zu%l-++N34N#z{CB7~9~XYev+qG1g4#H(iz=CsDnN!x&a*xh~+=ZrusQKL5)6#mwud zZ|d=OYG%K4m0vFi$o+=0Rm%^90OkF?4zw z6k!<63|yq`GV9hs=;;~;pALsjxirJVRBx=LE9>t3(7Ca_Y4^)5w`b*tZ)I5>GZ$f( z(?#+1Oft$iM2U903$R5#X07@pKjeYyEfx$OZ~CQ++FI73?sxG@aT$b8{JNa+CkFDz z2zPK^9{TA*Cr6W7QX4+u6-a}Ma|MrCbIQ-nWEut9O}Ws7W#AY{`_L>nHIk@OY$z9kUjx0fTWj*8;E|^`RX4H?=OG{i~w~k zCOW`d0gRAoSm^+oL(KF5$_m488)b9=EiZcJUqTQRjO}b4oB$94fq=8=U*xiW5B0x@ ziUFWt#{QdlIG};2p=Sn2Q!)N#Cd~@a*k%OCInc5ET2zXL`ZfTKa{}3)=GT7->nHm1 zM^wKtXMX#{-#9=28}pk9FunU%zRj;(1$gT}k0Spw67i>vK7cp|;AZ~@Q~g}&VF~Pgl_aJ$A_~io!AL$HB1$fEt=mt(@}M#GX4d_t&Z$dY zV8ZZ;L)War^i##1vgRE#;z`xR()Hu>NM~>Ep__c_dwpml(BzjlPf^AtwfC{8;%8>x zsYYJ$lAKqD)me4(8Ja9iNIG5*`i&7s@(;cJiHE%7B)>qVlN<((HN;3@8yG1!kbfWJ z8jDS3k~AU3v7$eQ$G`Mw6ha4V*7cK26ihC|ynXoKN>eV)-Tz+L+NCCuFG$>`fw;ZR zv!#OPRl&P-c`K^hT^y5!&#DUUcWKixjt_Q8 zFxp)bSyS4C3dZdTx0!1~<40)jGDgygp<0q?36LBw-1JZ{LyJ!w{8>y zBXX1>v=+XlgRn?8esBwFOmk3zLYnbto&IXSt7V)pLSR@+WDphO$M2*sOX~J?qXQ__ zVe$l5c|V(wh!OMeO)ReL4J&Hfr&Z-*!F!?R_6eAzk)Mo#E;cCaY&_Ut}#Up(_&>QHTzQ%=xu@`Tg)CUK748bIgfL3E>j!L@a3G_zb$3eq{=E7A++_mw+yS zu7_Rp!LyYYSEt^3#wQ8Nn%{cfQ|#*=Q%&Gl8CnNP?sL&+^e!{_XTjxBKP0c`LYrs7 zmR(YtwD<8z{xR(p&%1kq3r)%`$1&+?6P<>`-p#aO#M<1IJ5bL zT#=A8!T)ol%3R|Wd!*EfB}t}k6OWzkM!pR^?mF3Q=;CzSpy=wUYq5WVD(-yw!X;IS zkjYt7bC44o5LlD_M#xbFiAd$$+>z9(uPXXyi6VQ&b5Gqb+T(Tt!aX}sx)Gp)q9C9G zp$NLDc-gdT@XB%75MK zdgKT^AOI`WfcXmD5+UHk%Li$OuL3D+3F5|}lLwqaqHcm0YS2Xuk|8E-5q8e+-nAD^0j9Hk{LU+U$U*`Qx5}=qZfmdvhdzq3@Z{?I#* zqGVz~FxxYiI{nP5me11ayTDl6TgKftv2i*gz2vhWzqst~Er!%~H4{?#CVPuE1t;Io zV^c0hj;2e@M>C%96B>`2$-xVmK9IqJAzbKv<%ABpR=-=D#k5*&E$vLuK}@2b8u%TJ zBzkW{h&<6WUIo>N4SrEy)P~b9kP?xfeL<%F1xO${%9PzSgfhEfemTQJX%qupr!!+e zCK0J4r-qz-NmQ%Ouevh#8K!-${1r=;W~WW`rV6%v8Q;zl*4~^hcH8fomT@7juJwy9 zYaTUML_|ZGf``na*&k%a9I>>^IbHVfCRs3QNvfDl~68O z7@Wth(i=A>bZDn=dVM1nr&c{LmZZ`A-R(A39!Za}>sQ?>?|H8ufoM^Z392&B!x>Ud zM!|BX6p~hbyN74-yH5NeKn1qGD0Z1r_=4^7+Eep^t6}@Ij)^0U?E9P|Pwh8%ry;6U zw7M^MGuI=kKRl3dL%Z*Qb@{q>CapR(9Fw`FuumWdD_)>##fGDZ;vu-JnNF?(TZKmGF)0;Z$*O+62)lyK)w)XyyQbu&Oom5uifU}#>l<8x zGA-8-9ACcPUXf-7%9-c3e8kFeYob#9i91eBU z%)7+y<1m7hpB_+#n8@eqobrilk%#~zBTW*GCt>ZZ^=k<*T@9Z5-0eqaO=o?vYA16z ze7TY?V>6oo*O=VZApX^w7*qYKZ*{Aj6S_yYrC}$jm@-Rba$T)@vxs!(&zl6h)XMXsOWjF7Ti7 zu{MHNzlZZ?@5J=4m<+Z##QMi?tI(U!<4B6TBX9t>3DgdWpnM1My$r7L-KJcvXxiT! zW@2RWNnQByviqW=bJ9<6MB@u>m#lnHA4%83ZgT5JuV_XXbNN6PH~l z6YNHkygsmkd!STH=kJNQZHD;;xzqAHdzV!+w>15_i_{ceV_sBXv$Ij(#|4Cis#fMQ zS?(7>6EK&vd-#p3f#r2~__BwVk9gb-5N(G%(dBxMmZ+I|@+s=;4I07x7 zNM`C&w3OsG=up?3rHkV*DG)iDW>NV;Rv#;&tbm(A2}?leq;kL$ViqOdKi_zbeQrN} z@B~}!N+^Zqg)XWHp5UWV(m1jU__~Q6Y(uhk)`L+55 z?Lx%$hwTd&4Po48_u@=13`t>~KzWIV^PEUl!J{;la@0n6&}g;D!N}scoHD*%hnCAc z{=xnWVA#j}?1A8hvQ@UeJppm&grU}6Hzm5z)i!&O95ObVHLYP+DZM(N7cJ!i1Q1}+ zZcb5Z1QzoFG&tE!PyF_5TDU=Kuw_{gE9nNbN#Qg{>cAq+2q;79z9Ih_bP#7k7?WdM zu7}9Q8wU@<-IK5JhiU#0C6PR*IN1|T!YoLH%j|5e&q8e4c1$wR4T#q)lWHEhg&B<-?a-}EJMr*G%iaJ<2&-ns2}yy!9X6ku&hgwTv=qx}e^5snQ~ z?|Y>;S2{4Y|1MM##^H190nGjeB!SymX5qHE25sq17@;Iu;<e;=UW!WYfJ={D4dS4g!$=tqd`iQ zi?iJVNriYfCr@Sfq2K_LAP9Y=utfEG3m*ZSx@$V}JpW4+KcULLsJ7*)x2d}wL+hjd zP^XdEB#745VsycP2);@U5j8>C76q-Ph}=q>dnFY7@+`9&dD_tGpp|hs2Af6^m78w$ zz;>5eUbXuEG8uU-lKGsdr2Jq2gPaimO}@GD2e|#%BnGF+mJE)gMSaT%inv?HyvQ>_U0+|bKK5>~eK-P?JNSm@TyI&l z_CMYo7zg+KO*c*d+cf--e(ZnhrvK47|4GM%@u#fH|KTY9XEz7X<7Nb`X8dK{gYjQ_ zyD`6=Z8{0TJ=-W8`g(m=b>wn(4 zpPls2d-=b2(txJ+Hy*?vf5(6BiT_(Q8%BV7^*`VLAI&Z+1N-m8c>-u!5pydi06ah| zVg;~46EZfmH8KWJd7&Mh9E|m?q1~1Xlvixh`4GMDRpltJe+g=39tMl;wQmr{W(;9vQv9qK>tFU9hvnjKnfh+R4W z?Lx_cErxid!HcK@&t@Bn%78T-N=F-UMBj#kYhcS&RRd@1V0K+|;Rc_>ZajCqVWDVc zQ{(|TPVFuV$guX!sRK)4{*&|wxBi%U(=!&;F!2z-7_A`&34aDus=2BLu-%*1OR z^{`_FU!y19(@XPy=y`}#W&;5vR%^^QQRU>J8+W|-K*J}#zG34Hvr%F^#ik+5b) zVJj5LOBxv_>_j698Az$&fQU;{ zi@a#x?zd`IjE%mQWL<8ExP?b+|1oxH??yj=vbDPE1K6x zikqcZlrL4Ho-#kF0Y_?WY71SJBBX3uhG`G1swKIR12O?_1AwggpBL=@05bnf zlxO%0rRQf9|0!ww{K#KT8owsI@S7_CUlIjC!2XvLMFk*H%m5O_xvH9Qv87+~SKZ-V zU@*u&P-J(0-@rt+iXcPPM&fCS7f#0S&SJ}G-ax_*C%2cQsi}3Q?gJZxj1vr$q_@M% zRxRxM_K$;5(XQYGVS?XA`iJ6K(@ZnuC%7iikMjt^=P<60YTJj|vC7&v@+V+El5U=H z(IzPDSkI|=v(E#W(e|{dJ~s7xLQ=p7IOLSviGd38c%agYer_ooWyGM*N-|y%SWHQZ zC!_^)6+x!HJdR%o_g2>keTEhl%e^v;8&{x)orq9OkSri0lBL&FfdppTuk)82W`_BC zSZ2S{#4fZD2u{E$@*<(EVI~`y*cFN`wj-G9YI#sXzr%qM<)rCVy+g*6K&>-a&ET^6 zX-Sn79{ilOrP>Ha+G5~+$XwrTl~kSbYofjStuiEtBv-ptsrKBUnlwA?;(nn%dqI>aI1^kaFCqw29lsUGnjA^-NtNv)KYOR5a)eBI zuq=G?euY?m(LZwXN4&Vt99tnWYBEaWZz=&vhA%zu4L2IB$my}bH9T?oBnwG#=X2JD zH3l;X_n5(n1yND-*vNl14LzK1@Azr#2I)i+h(pxEY8<(Rh5V~BT2ed-oE6vL-e=ww z$NXek1*QrRKQT{&m>7h&Q>qajuCY_#E}(EprD}&vCr_8y1+<3{V#dZ)vi5YhuN=|1Xfzk(apEtW)-F|UEx7J|w$m>L+kWhahmOYPX7*4rhi7A`Q3%|o{_)2PNsIbwoZODf@S_v41*u?$~sx8(L#`mA8uO@$YIkT+bPVGp09>6>o%;Ai*OVnD#Vs**%uWtcP1=weIo5kqp#)6A2B;y()bUq3g<@Oo1--EhE5gKs znS~lc@9oLw6w_kUG4!TlBH#RA0^kS=H1T3&gU-@0Pf?a01!1CD1~7+w4O426T&^}6 zw>a%Yf)Wa9|3=qzxab9Ng2bh$I3(dv@d^WEhyEDKD&aJ)vg0Tp%1QlY&5gnLDw0Jo z(aR$a4)S#^C95R%b}0j!>W!W;D!DQ{zww$ zv6|fehA6HhYN*L$FD%C7GR6rhb;7I}QFBsCF-}(sw9&eqQjtOKz+8T!(IhwDK3UB) ziH{giEkiiXaY8iR&d)5cYyHifhRVsTJt?6NJH6!qiWv-Nz%!Ow^UX$uYj2D&A`Kcq zY9bJte`k|k*btSFXDImQe~!CyPTtUzCRsEqlwc5An7Pg5M=l8ES%9s&Vj{TrZab!h zatO8OqsTF^`D}h|f$hTARV(%gErNVh7sW*H54CL8M=EwYZknz+xMlFvgQ4KY0k7?f zY2uJZ4j1joqMY}*;vL84Zk{VeW3xE{7;Z$l(lO8}6c|;}yI7q?*g11iwKVH>ZD$?J z&H>-l$EO+{IYvDPCvkll%LZ_5?wzArk*B4#-x6_Y=vsnJ;6&b9Q6O!)yHLtm3(bk^ zKPx4Rpdby}5w=lLa}!RHEkDnqQ4s853V`Tp~VFqhfUO#ZFf6d>)o+R4Gx{I5L5JuR^r+cP9eRt9X4mM7}bLAHlgbDga%61 zZ)U3UEM?&)3o4%93s1nkB$R9z>Ee^?O59Yk#SDygw%pY#RibCd)Q)J@P3NKVtB(Rd z9e-7+>l$XSHGnQhE;#T-GtHnKX&upQ%pQSz_Yu42^Qd{$ZmL2RgCC?IO7!Ij(syRE zMXyI%bVg zeU(#}LRxL4lV$DB*GaU&8&&(XZ81O*%xoF2lNV>}^(Cm}X(Wba{Ou?UUh$@{N?-8+ z;AIe#)KzfED;@)ehf)4a0kJ@aj%*MG^aHKeELc{K_wJG1UiONtExZX1CM<#2;PR>! zFxZxphx{}(VL2zS9vz0}fkEFPKN7wc+^Y!3z&<{YeG?5Quk7Ld&0&I16&Z|g5|QsP zLsW6oEg@RjY=i}ik1Mlgfl{j7;pKE>+aNgjf)=q*NDH%i{GK}EX;9CV|oljA#;aVz?gh{d3o3CNZ1^xKTg ziL9SmrBF5lro%!k2cMu-Tw|o2n|h(%aRen1_>sxW<8*pCl?o*s7!^7Po@06}`^KAl zUc4M0z7THq37!%54(;O?IIMskb!%wHqQxf7}V63Qz%)N*e)s@{tIQS6Z(*-|=^7{3Tm^fDn*I4K1RXI)I zwvxgI7M>r84~!5Tv{1t-JwW&%BBA_e5?uSxxF)`ITyePf3l` zrHK!phBaL8*BsQ>S=etA)~Qurdt=pM@uCKU4u;}OY8}E574a}=$yKvJf-eq_vS10E z;%>+X?mf#{l3kSCKa|byPb8o7XlrEvWVo8$+Sv9%Romu_O7g>8pn}%$B)VoAEloN# zaqm4fS667i<#gQbF31;n?FA2cKn~+1&Pg&P&k=;uBC-&;YZe}Q*?{i;9rdVhBnGaG;j!vN_1 z{$d!y`16VR6~Po*FQ?!%NoKM;|C&_qjP=lb*kBsA=iA^~y= z1}xmI{6i)!a1&%?r5K&O6iCXXD-FyyJyf=Hd@WrLCBKkWuFkmpzFUw5=sKDVV-f#o z5lTueT|Hy+XFV`Ul%R1^rLA7g9_Dghf7z6n8e5>T$!sZu{VPzftEBnx+8*H@rPrr` z_M@Zd>G#GdS}}+ZX&n=%j`033j2IoH$;!toW=VR}WVqHe1#$DL6j;-^f3XvW~E`@jf&$VD7tWthl>+~)0xU{MdR^1 zR!Cs;N?YI~ie5Rw^Y=?Z;S?+7PHAI@r}K%Q>++l>Q9|2@6fM6rmQ#q6fwB+{t`c;W z!^#Bd*TyXtJ)GN=;~d96F;Y~S8HOC~CV632xv%vs)d{$Q4G(Cj+L$-YSJJzW)_8rT zuQHy4_4uSX?T7%XQ@y$ZZAf``BI6Pcd3JWS6{UZUyZ>QsTj_LXXjy)6BHZhSE2ud_ z6XejqXKPdfSQVbPLtwy4gnoN+EXzwo@v8<_rW!CR1oqln1gZ!*?pHGn8+7~{x zOPw-|36reubGRa&V9Q)adS-RYj0Im8oIMph?x&{mJ-H6M3~uI+3VD3zq84W`m^{am z7IULTrlk`xBGEEri}ve58Y}fxx}Je_b){C`;81V$^WTr77uRM{e-q7{@zg-ywYhKb zXa8j7;Z5?T?Ed`w*EeI9n_Lgjvm9Ih_hc8RHm-F`^CQ@HOGeM#D`{Thwrk)W_}vKE z)tx-Ovq};C58s!c{Fo*QSZzkeau!~*?dUG>-HxSvo_aCAzM)&dDVXX**B)q6HAO~l zz2vei?`tc;WyJW!^ZU^Z?^qz~d)q|jm0^=KO<_z-V-iuH z*Uj^}Pe8jQBME<3cl-iC@iV3Wd)@J?0L4G*jz58>KM9I|96-MxUjG@NVEPv*;qR^j zxN_030i3k{{lsGeoPz&6k^b(=-v(U(kIR3*5KtHW`O3dND*tpo(u(})++?8xlp4Pk zTm-*}lmKjR{~6>ToJK(5^vlQQ`)7bR-sAlX8bol85|Vv8M)U$O==7|$LiXt-CU)=# zI4a7+oE09pPi90uwGCwXxgeJ3S=}rYg#>H9}lBx z1M#VW4cNgS-;Vm%eVDccj7ml_nwytLSz0uH#I}D=x`&CqnKSqpXH%mjLE7Wpq-IeO zzfPIILWp%WSv1Lki0d&WlDxOdYzImB z@tDMajLZ8eTlT4TKs0~^hY@L!N{hlM=iq@=S(Tnv0esTU=>I(M+7Xi!) zXzyvM#c8LRyE|MqwQPe99==ndXu)Ir9Vc<=u)C_~i^J#(*IBlS;oSB$k91%$7K%a>rr6 zpizCrhul{d%+-jIfkqso9w{?I`l^}8ImzVX-hhyMXYfIp=Jg@)!77b%7c#uF@!oqa z_ky3c6>B0&`OVv;_J@mNnc9UsTcB{ao-2&G=;nj1Z5NeQ%yRC~42;-e`{3j^-*Qsjz!>J5U_p|yQWvmCL{=N1h5 z(Qn+_V<|*w{5A8C39(CJ2F#TBQ6tzy(X)3bZf=g= zy7#VO)ndazUV%5HM^LipyQqtNkNf+wr zcCVgyKvYwaZ)7pcmoNK(T4FgMggC&QA4S6GGRhF>VjWfeDoZ$r9ipqmRcH(pU|i=P z$aGtJhRw_U5bkk}csnbzv514k6OTV{vU9#nhARNigX^|;4~jdVy>SbXnTjo#f}VUEuSPo*Hp%=rSu zIREa1Hs=JpRE;la@!TuVWQ|JZn?iOl8UFR$%Yn+GHmHX{0P!_~An{xj=e-RLeproS zJ%mTbe0@62QL;?ooh}^%r@acs>-mxl$+I>K-YE!#hHSR~kG6M?u5;V>hnog%Y}>XQ z+qP}1jcwaD8rwD+n~iOwzqNbrzGv^V_c^y`yyMMZ85wIfbId$lbA9;r?`7!9q9+Ae z{sw_uXH#sy4iy-n={>}!#_0>o|BWrXI?hzQYL{==jyjWz7Px>>$4(m(qRz}t7*dcT zApYCj`;<~mFyP`ZIl|}>^xt)cU&kJhnfnU7!-rGak}(m!%l9q_r|u|dRJt&cdXnSa z=DkFzSbP*>T2#sc{@Bq0g`20Wbw9&O@%|zq&Iao>6w>dq*Xy|LaM{}VP`lqeqY8-}ujY%edXUY|W;L%_cS{Ei*#<9G`-*2| z2|pQ46a@yLUxk9Ba3Af&iusWW*J~0LQLunvfP`g>ln_%zku&&DBCK__3`lMALZ~+f zgHlW0;2F3ce=FwFH|iyaF>-e^R<>3s3ENI3KqDmzCW_7h6m%eGAX9`EjRb&N>#5RC zf6V`;Pi>gwh5$BHeW&10=*hTgia%p8UB2*sHO&?_#A}QdnTDAKl@Yr=vJe5z4?BAk zf9j4Ku~EhO?sKFv?!{#Z9g$WT@mH_fJ2RSmV___#X43byVzr!*>v69@Ev+^NZ2ZGy z<+Fs5y7$XsccB(okox!&E>by0JGt0IQV#J4Rf&S_Ewb;SbU!ZWB+OD}*v>+9`wf7s zxzs~3gGpocdw6$p*@mxWm8?l7hJF{VA-%|pjAEfDd)qmd}jwC{#^X}>Dk@5<{8pdO5jy{2()81&Sl$qO+HP0B|6Th?fV&S^u!SM zT77;ZTolRJA(C+<-Bi1%C*e&WJSQsSe4$iw;8pf%9Gim(nh%IU#o7Vl94Gff2@0;1 z5JSd(`gqV<5>L2C(z9S7EtD#JPRo3;rD#s94Q748uo7i{F?yq}|Gt|1QVn+#(I1DHRUFXL+(~qxL`=bjgavNp%c1q?Q<>%3a zdHi7zg9Zg+HX1hK4_C#rI}npT(Uv58)1d=bm0uf?7gl&;v>G1n1LZ-_6Rw%Ag2It zVNj0m{O0eY8J;bcV#1CfxgKuSWp2uf$lM_pUVfW4xt9yWJ}nc!Md|Yz!d(HT=)ksE z>-ob_Bs~@jUEb{YnwygUjW935G@Zv3X00@;&$TbxyO^=R#JW!M>0LIBON zxpuHT74dF@Pl2=ED28GSY|Q&o3!Rvu*IPfcQ{lSAGPBoZ$Z8A`NYzJ&QNf4hl%j>2 zh{+%+0n>zK?B&Lnq(GL>S{xYzFN8A2NF+rdq1srA0@g5H0 zCC9$2>IOGD{ZQEbJ2!`QRZSzR=9ZE3w{Jqativ-nPFF3!_c3%fqBb*4=allt2O}1- z^e;wQR$XiUfjG^*lbmBcUh6zvt2j@uPCuxXUj^#JXh*#+?iX%Q%DsRNdy?HFdu&=| zDfri&_RDmTczNzhN|-qk3zrwVljXULjR)}x&d0G)2-ex+Q^W#N^BG9}e1M~v>NwaI zpGPw)D!}*%-`>!V(uPVV@|Df*6M_OGf&gUsxO+f>{QgzmbD&uR<*b39tp1q2Ui;4A zBC=y`MsItGx1h*`4&Z<;t6j`|sOP=QOYvR@!9>Qs|w5D3m4S7%J^fD{~P zdNLyF#P&Rajz`=lhx?Dh>}jsz_v^IVa-sz+lmnKV4M&wShaZ*Kl_U9*q59anoAZvA4tHFT5f1gj;w* zD)l$$nCXu>xqrjT|3q&8ijIF~+kQd5{~K1G>8BkD;O1odot|gX03e7k0!*dMOaMnM6C3-_ z5-L1K7G@eI=3gs2|L4YpovaNU&1|gyqGSB2cIhWA@$+f>KlFk>J(0h@>W`=JcdJ;K z8EKdq0jAo2B|(^e&SCuhZ~Avj0fz)=?4tkcN&q+VPfFwORx$!=wwUPv^|OEZr2y0M ze_jfRkJ8XFGqV0=DS)*3qy6P?Nt-|LG=Ji6{%db8AaeT8ZT=5w!@&0I%~=I%&o-+A z@Na8g0dRPrm6KM0VMhj9`QC_Z-hQ9JE%A$EK;AnH#;Gdo`0S`DhrXR>EL;(f$YXtk z8}^u(aK9cu(F9C8(sA7DshvgJwM@-CwayHfetAI(LbezM1k6J zaPpl_V@Lmo#KozT=c*u|j%9<~q; zx^r7J$DYO9Qx**?%VZF{mdDfY&nC3AVBiMjxE#PRYV7`*I0Q8@;=N;;#3@QK)%4f} zU-_z32fNp_l-%2>j^#VNptmRQ9b4Nv;_o`Iw-+0ezI;hiQMz{1cIu4}-gxsdc{kM% z0}!hVVXd6h+)q~Ao3~oOB+>rxxZLaC?QhM}wx21XTpsnXBRkgjdRypAEtzLeFv>0> z8dk(=?K@teND=~@{W6bY5)_jA>VN7uKw6JoM8Qa+F4tXzJg)OD;+x!A$H7xW^D`v} zRfetwLITNrPe({7wT+vd7M^YIrY%3#`BP1a(Ul~2h;mA8v2Z$b_wtBvwSw7^Ji1%$ zl$m$fmjfES=6RY2Y#cQ_jq|Hgio2IcY%^XMXK!|?g5X-LuQ^@j!-K6i$4~ZPkxl}2i_PTtp4alrFrZRg;? zW~0P>v6OV>C)Ed`O%EE53sAFR{A_Fw^`XoryKA{E^|Aa%#=I&a&ICSwuO%JF1r@S5 zn#vhLfQ@tkQI(T2NA{j~@Yny?NezM0&%w}9Yn_~|O60QMo!kn+_yO!x7%fl24vI@7gxzcfPUGsiu({*!y0^>^-d&I44nKS`I9o-BwFz-|q3s7$b z`2-NsXe6T#x^WFdusg30T)9yBJ>jG#t|{WTaJ5F_Y0b5j zVg_|JQ+U$a=PK3k(18cv?! z6Y+6I#8J7aNBb`@VNR|&i@C#jM``BwbE0PXC9UlsQ5JJt;X{i!Vj*z4$fY^AVU}B? zvykS(e`A43=rQy0bA+enP%%)V*V2WVxt#O<`d*4KM2!V|&)mQl0hFJ+C@(z80x5*nCW4cc@fhzTEsl}eTyl&2X%Yo zhWcRnV@=d)_UJZg3PhBY5USL$1lasM{Q-MBCgSt&&Y7>d;YHYR@~HckRxWEyxVY*J zxj>M7-Zu_!*c9%(r)08J9}ovwvX2#p{JI*|x$nFk?x#^_*4%ruiJ{Ka+BPRVE#RE; z0ln-r_!$Rt#TCKQ7PO7goy;Lq3Os+_?_*qkFfH`rqwStak8FXo7g&i;=FAWX4?zl_ zWeYX?%}}$1ShG}m30?J+-xS8Jz!D;6e(N~|b{<~`8$80To`BTAN<;75`naUkn69~< zJ7J_352U0LTHq5snLuG0)RY3J*kF!0*7^-;<_+|^`aFyH78oWE^^){vY3k8Q4Bl6z zWD+k54=F{%z{PbGE<1yWNszR_2i^2nzET^^ZiKpAgiEnZhpU?^gP=oB5by2iKs#Nj zx7u6EOB6|xY_{k%p|Fpiho%V2W;Q?Y7ZohpoGFe?t$D*UPTOigUMBjMRUGU~(sW2! zVG(^W)jLyFins0(Zd54DY^6$nW~XEaH#x*IOuWQGh^{ZPxO=B87Wh0kiaS}N-RV9q z--eT`JF_l^1>YRa!XA9@C|8=aZ=>FyP}%4iqpxN{j~567#D#K(KhOWZq18wFEOWLx z&~D|hDIS+xwaMQryIL5!gm~ zO9~YX5F4ZmmwJ3{17=r8Nh2kNkWR53vM2SyXaxABFYuQPm?NZ>M-a%AIrt+nhzPC7 z3Qyg=`!g?N!yzA%rNbTtDvZ@~v77RXp_VL#320$n**-@wF(w?U@~F|K)EL;}af{W> zHp0~m6KzP66hM%M+`O|*eUya?y(r~E$#93ZrA8B2-zBJxmF+%5LUi-QwG71dE0l9t zS@iFY5_JVXXkf4B_GM)3wPK1)x^EQ2h8eXq6E5vCp$_-21f6@4mtJ;E{azn+l`=nb zh~2o)`892B#b^zB9{kWr^wD;t`g;pkC6DzoiX&U0;5JlUtM+f8%z47?P zR1MFq%ZiKyB9mphuWdr5PcWb z4%dYs<@ef$P+w zV&sfyr3j0~vYo+ICbO~#RKBRbe3m!w3y~C3m8uDg6=95?zhAhr31?d6&S5f ziNv>z9VPRpw z{=K3AoCzv@syDPm`z;Tr-dA-y4^FzoJ1EExz7OTPJ+f8>EcR5=3iq)-GqBpxqSvo? zlrZe}a@(Q6CJge3*Q+M}AIWqm?hU3hX)ADNc03nWZ70+!bv&?FO~wuM-euT}BIZZK zJQcJMg%k_hf0MT`_I&wNgtQq63BGn^Vq|$z=|C>78lsm;3HxM0McwPkMdx2BVUG$w`t zbM{gFd?o{OqQIAPC2EOLJC$B`r?qd!Vgt?yA(QmB^lZXoosm6aFG2@D2qsy({tjXP z@ss|)L)bs%;Xh5c_zl1Qw6jSW8Jg+w+c@KC{07xo0QxU0`)}i@WcBO;K|cVB{yT*I zn?>ngreZPv3FrI*Py}=$(J%l?eDIhU0O?48eIAdAg&q)-{0%WOvH|jl48N2|v@)`? zv3H@i(zDhxF|q<|`Cmab{U3$lf1s#;2+RMm;0K^T{}Y+~-70z}IshF27zOsP*bBfr z{4vw?w*cx-sOg_l_a7ASUsS#S1QCA+Pyo*US5@x>HMgi07K9%>S^6>ha_o)zeL>o% zx88M9wp=@*0=1wtqP_w8!ws?;>Y`U?7($)T<9_kPX|2P0KFI7?FhRXrHpZqd@ZDK$ zLwR9}7BOi|?W$*)LWwVfjAk16w*Crp!6NTSx!>gtxUj*fW3B!R#A#B=6^(>dC zlJ`i%svxlAsmViU!RuLat?G0`DbA03r`pdo-Z77T1mW9M4<=#C&4XTooq5V4p9J~V zRPA04S5HP#k*!kWr1%m%)tJWFZkv!yVGBVZ1LPsmMGoyYgh}~kuD(RLks`ihRh5z| zPc$T86!(KmZ(UY~O|&r9NC+jOk36=9C*`YNQ{g&cj!?Srj5*9+ySC4!V$oOi(j8ef zmP|tn2RCZZ#s)HCw}cHF15tjWmHL*c8t)!V64MQIx|6s{t%z}gN(2zxXmtSggVd$_ zj`koIg70Kvdv|UfOcAG;_9ISx2lqj?d!H^3y@&y0V5?@znzjKN^=zD`=Flpxzupy zwLj94y#3CeBzfuBR#l~Uyt4A`b=jm|FqBP9?UmUpbp)zq#M>eitZsxV4}T6NH#ut7PlwzcYSZ%@xF zjlOBL+D{k973C77_3gVT+6bfwQx^je^+Rk7Vp&~0A;n0RjH7!3P6nV>K+YwXei~pI z7{$li(Hj{{y}vW!Q)p5c2`Z>VYET$O%|?n~xK3#KN=A+`+w z_ZCBG2e4)l%w$AJit4Bb{q87-MR|1~wSxqzp~sI9uI*M=)BIBl;oV zw_~J-K@a`5@fH_R>VRdgeSu@&Z5z+a<&XpTlC=((D%%jL`!QYy8 zK@8_4y`<`zJ{HWbZs)9u9Bf0oMlzq`bCvVb`X|2wT?J&LxqvcPjmMi9cwRMxGH}rn zrd$mzM}hWLo09tar*OGy_3n>=K>&0_x^7ku&ETFWz(&k$u3@jAz1bo$+nlt$5tit? z4=`k%_L4!uoi|sgS%qH&VL2fscQ}fTY6UTM#eLNFT1!8TBPI+BAqidej&zRnO!P5O?mWXlCAhAo+*My&RH?^l#cORcM-ba}qo^fjX5U&(yR--hivab-g%f;G?n>1^{7|cz|E5ZG(9#+A zvXvD5o>_gE*K*)Ov_T1yydrd-U^IGEj_sIiSp2R0&5IonLn*Tbm*m-& zDydJ9Xq1qWRg>(7(%vD0t0s&C-{$*i41toqw%Fa7okfZ+-;A*jh#PW-B#8Dnu_~MM zQ0BR`q2(|PUvHL2War`CRZ?zrM3op~W%aq(wx!_5cpLZ73ZbfW;QNGTD23hWlYjQR zHnV2-6nxinXdE3#-;7}4lMNA|WwDiSmp9#{h}J@!by!mdp1)F2WVUlsN6N<3!V%DJ zh=WO`5&Ue)2lb3*TSq`A>*Bj#euWgOqR7CBg3PVSJMfq&n|7eeP|OJ_3Kw9oNwSY~ z4T_gtV!KpR?;-6id=`J&NS$)Zh-uQZQvZA#_@Ssw+IAogZ>wFg*5H$y~=V_{36qT;R(OK=0CYRYE_esKhOoJaw8@zOQ=1q~H#fs3p2JSJO6# zgYG0wKqn~=h(g14KscY|Q;E{Vd9b9YkZJLh>w|lZU4AI0Asd4tE7d(P;up*Lid$m{ z7ZOLNrS0vM_d6mk6f*Zk1<<*%I)~|j$gmlFXyFUMI`yZal=gXypXojw05c+QZ-W#T z%NtIK`DiOwIJ3e||e2y|)=LS7L3@_xka+ck5N@<>ut@`o@#| z26Q9e{@N21$GumA_~w=HcrP>iWQOrA{ZjBMgh2GYH=ZNg>f{>n@*JXTIK~)GW)1`+ zMmn-NHa@*lgV-k`$&^{$<*S(z!45RYg9IUY&XTN3`c27X7Eo7k zeiavBQ(-XB>cF~j$933W-c@@{!1S9XmgLm}V{FVyaXFtmfCMJZEKnnjG2^(-VN)n7 z?ew`o%FIuql_3zy;L5G}5=!HZa%JR>uR!&pjD8ule<2`PKeK)k zjewxB)R%xqFzB96Ydm#R!IiTPNMLI3T4axJi8?2(DE(Ba+SEgE(%{_>I;~0|>Afw| zQ;wx;rX&l&@PJJSPye=q;6m5Cjci6?Up{sdk}%Ka$1Uk_df+`6nOIYjbI%9L6cyDe z3sT&g%2E>R*6aPMcCv(jhh8|LD9S-4rF_8YD$hx=A zl8S`8M8}%)^}_mH#ZgO3{z4w(qUY7{{gn*vZCZ<(^?iZX?)htuSBOyQ;>$K=)4kLh z>@HzjlGkJG_o)lA?6OiY#@B8RuMu{xT+f3$2~?NBo(65sdx&Po%L6YjZH>==gFl%6 z`0@JR;E$i5QvXHaWB&h;y8+~1|B63;{_uC5sZEXa42|sn0zCdA-~2qQ|3jYwL~H&9c>K#MCKf3KJmq{PXMoPNvlV&otjNo!^ovpzxHTvl?O0 z2caOQQ|~p7U?G=#qNzW@lSpI=7B~g{mP`>!Z)AD+qzOVpM#R2jAucN{%YA|uaJaNTcg_;a4`stHHZC;28ECyWJy zaCRn-BiD3?ec|HW5oiPv7QDnm73#b9xT`LZ#}-I_Qqjm#fO4sA&mI4gXT3}F&-DlJ zfqb?UU`Qz+3DCg!*omvNE?nYm`O#sO$VPVy$%HiAQAUY*gMBBLn1zU0&tE6MblV=J zXCyr?6?kr(_meIeuG5xl<|6pNvxoUOV-k$H=^PJ_@l;K(V_d#E&#rD#^)ff#ShEPx z{vvd|zpqdR>l9z6c&x3wWjz1p7GO3~|DIdy8iGeKRwOBgl(7C|Nl^Y=&?$Hd%(%vNK0RZI zkpC(7N#>mczfSKK34Fmr9aSkmjS>)S1MfmA{UbXNs67Qy@~337(os2I8H{&SA5Im- zr|`Trc{7e)7sz1qHolIwAPaO2LTE=v2MZZw|Ja<5J4T}+C*)q0Z_CGl6-$+E8V4fv z+&q>LSICFxncG17Dl+EM(F3_V+cb~g+~@42zJt6OPY40-8$J2)!TUqFZ5Bo3gT>vM zAI~=*8SQa*1QMncFF|{JAm614wk;;`lXLsK&v(y0cCKOTlli$Bc7j0HVuI{EO#{LC zFrH(wIJ?60dGti#1=|*dO2T7f3Oxca(X-{I%*}hzApPCvIf9|u4pJRz&yFKD;pBry zf<&7o-0=3Dh|P2#aM5>rQK zDKC=WDWEBc^Xu9o9&Yt)RoBisL6HW|BtC>p#nj(b1E ze+dha?0)7l9(r-M?VXfkKlaxi4jWK*r5yE=T?JkQ zRTHjuP*(t?t61x8YETLKTJsK-)GXR6RoSSSu*9E1E_PRc3t zsa!4;?B%8)HprF|(G;P>3K7g3NljYw2^cEuLMg zJ`uEHUa3rsw9NkXibR98z8vSp6Xp#^Q+6z#Kc!qe1F}AhD&!kxJqZQs5YzxM7Xp2T z!J=mlLJt9g2+$-9sOyer_GEkgNjOfC^)??RF_Wm{vF0k|ID%?@3zfy!8uh>j7;9O1Tyl=@39R+bc>Bb3DR8XK_qVzt~t(o@vc|K|x=b68`pEgUEsDD zFmcvA5ec$mE^fbVw=AH439gun`Lv7a?-_i37`I@8-k7A+s1-8!h0BG2bi!sK6bz=f zP!@54)i=4&#e|4dc9d-=(EN3T*t=!#$}eI zfygLXsz%84Rm~ARNavM6m!1e>^m*2+B=L;^$GG^ki3`?9i1ZCuf)b*+q&rTUe_N`l@V<< z|L!*bBX#xfZu6h?*`L`&fb#!ev59|3v-~Wz{{7PW$+R*5q$dA!0XLux{9muhKd)k9 zWTgT4a{kKCF#)c<|GbnD;Pe3$rTuj&J;2lQhqeDd+^~PNUi^N;(lh^Zh@~D-_p!|a z*RikiAg@TFOr?{Xe_Gy+Vp<)Pdr5qNQbI)^BCEzgMXvVadBT>g@?=tM%4*9`biy`s z18Pvee~VNZRL4lXn%`upbXnWZ>t!L~q6`EuZF)57xa{0ZykFc_`GWuJ{5>iE{O$SF ztwD2`5YsXn{1mrzynGDV`e4ZXr>F6jZJI&2J?KDb2w9>L44VqSd2=c)IWh7ubO5Ig<>~dfpW}(R%x*V#y24_r+V1B_5V0MS zjc-PnX2~g`k5YZ=lMdTs;J0(*pc*5%li}QjPNUY9=F%2yN36D#SjBF87|97Hf~E-$ znS2NQN&t*EOAMs=F}`fZ6xamOJdpwemzp~B`>gj;+{P!7{K!Z>7yjGNGP73a`to_# zSxu7-h1bwaqU;<#Iq~G9jy{t@y>#6{HLcqqYfqSJji#cZqhtiSv*9L z8$mY0dIH7iIByq*l#m~v0uHRzH5fxnN7xxl=!@*Mc)k-W3g}=*aGj1eoYH^%R_C-O z^n~PAthT|n2dS|DgB6N}H&U2ZDSvRu(sX5{a63~|&n9mLUeHjs?++vcA93o_^z>}| z!Zs?D*^z(@KFWEo>0qchQKMPX3{f8i^<;ziJBFBVbZ;mUw@6yR#;kd5%Fs%y&(Z6GdMO1*btAiW zUg3KEVuUxQ_HCW3wzZxW8|p+=u0q+ zq-*DcJ0r_{#Zeq)Dmny4{pjjiZ>BRXz-~p&m29gz$tWM0^8gv#=^y^6IB|AuBL!gc3bn1ugiL^Ez5buLuDg zQ`^=K!^QS&n|L2dL8tJpu1~zjmnrOqsvE@DG;?pzQJwZ`A*|RsJDb z{U_Cjo{{B`X!h@xF#}pOSpY2!e}}&QXlDDr?uK84TmX6OpLf;&TnK>-Ozlfi;o-Y(-Xq@PMd7(maw78ZmKQHg~6_U*zRVd}0a?H%dQ*YpwHomZqo~Lc|gR zuhMuQCuP0BBWQy&y2dZ)QLh?WtU;9^A0yeJN>x8UB~@$Q*jiJ0{w{xg_MjD;=cS4I>kzCFFr@`fr^XP0`8_jL$X8jl_>lgf6`uB|r}?}rahDKY5cVRvBo%_F z0@3;cI!Z^XcMBk1Y5?M?{t5ryob3C^o)UfBwtZ02tr z8e}1}RJPzl?`THpllWk2g2OZ^`L{e3*sDV53^6P+3g1P_GH2t(SUnKtRk-S>;PE5V z*59{*ouI^IJe$iEAKW!IzT9A6wS6u+yfotvZVCKH4GIR4Z`JwvxGtVTNSuP>Z*M}2k zT+-Zy;Ilb-Z`&Dy0H08y)G7=_`O~c}cse9Ve=Q2~yrNVj1*GDtcU9#V!-C4i(&sTI zZbc*hl<%wSw$@zNp$@PniS}YSp!)qgiFo_IYU4+pP{@USV5>sj3KX3zKElWp*(1b4 z6#1y!=VvJXGDG<8ND#Q$jXNgOb+2BUx2$y;Axs9Ojv{TquEF5RuAB%7(9l2|vmD`3 z&`8S0kNOtx5;BNCD$5XpY??DysWv)f;EhB$%1d>ow+*~}vNsgOxc?5Avu5X7O(K3` zn=0Y#nE3s%c@YVuN-sC%W+GO-bPdQ82wln^gjQ+_zde-n7D$gAj za`7TeeTvZpJj$Hf^;AY>mLM_N!~xF0a`=cLHJG?j9=Fx7_}PwM8Fn|L?~uX|;maHF z$^r<@-H^(#>_-TuFFDaE-xvzTZqBH?vX!S0m#`>=&yaxYds5nJQ_yCYbyw>vCi3m% z$SV7mHjh7I-&o`mQ!3J=4^3gB%Jqj?Kz@7|)b7z8Vt1jC(vPnFR)Rmkv((Xz^9#N?QpU>q!#~+NZGw1^X6KA{PB)$izz+|bYPG3L|zt;KV zsu#!?Mct?r2bfW*Xm|Ky#a4kzm&U|c{xU^gnj^P`#k|#%h8I;E`l_v?#D#Pb8uGF$ z^h5>dQ-PZOoH@s6#h5hmRt*RZSSN+t9`oz3UmdV96Gp=_my>&%F~YSbrmV|b177m( zJ3cAxB$9q^|1P@f_Dvu;;iZY1ekuGdgufwDZ|1BVmvF_dRqfU1FsQVorKWOzUP0He zqQxR~xDV^%y>J0(+Y&TM;MQ};X@gO1>7-xRiw|KD;csMmg_h_W`We;_pq(5Qlj}TjOJC--7882emVC2?MJ5PTuh2mi}2>YcVhqO5F~g7iknP~h{C6bjGAg+LZv)Fmc|>* zNd|&$(oxtfR2HKKB<3ygiod}X9uX0E495fIZ?x;z!^t5S%i(#FA>4C@mU4Np3~HV( zB;y;$Ln|-(xul8WoMi$&Ln1$z@i1fLvZ*Ak)XYyz5?-L$WS|}kt5-S> zI>_)%`KCdg#GSfv&(I#IHrtZI!HclzDFo1S1OSga5@?L5IqvE3Yu*ni6{sv0Z_y+@8i| zYvEG3jOysCx+^(Cbp-V+-?n4mkx&{J=M_i2N7C);o*vs)`8yf4gf!?DLd|UXjV$G9 zOAI?>-qb$o_ZLMhT*D9_AvS%AfE-ys_(boBt%uh)_Q2a7M2QEPG)geE4JceIM#=PY z+j@ToQ(Xv<#k~6E>zq@1#tL2QXo&2nNqAk0G z(=;d60N#1r(4EdO&LG-hwkMKPHwTS$Y2!S9KNWpOjL?QYWS8coq#?!j$790`8@8fb^!O$4W4WIyGPSdAt%lBppQ#5gJZ_k|@?$2kfEBnc5 zTaya~8lT_!%Oq1Xd^3pKTdF+J#xI}hFX&;5P}nFvrqCz^Dy%<^5{(Eaf7X30)+emJ z>961&U}rHz!}4P>a#deKAumM5VD^lTkfC6L#9FWjOR#EfSWCr7p>*YPdKKpqRn2^mx?C+fPk2jy*h^-)6InzW2R* zmWyfIJm54w)#Dw?*bFgJh-?n@M6)#wYi)%I75EjB(&F^-LN!syGh5?b?7C&D1hTYZ z)vNN#3c@@LTDTI9z4Vdj0m!7CmV|SOL(TI2I@@7kf5pNbyDm!8iL2;98h^5z3%rH- zmWMe6$FUwnahLlekCLL~;#IiK7u!un){ou=S|=1m;-GFMUre^L`Gbw3DMN4MRo>kY zQSQOzF%=IXo>0xmag6LdxjHRQest%j;N`w=bI)H{2Ih&zhCaoTD72E3h#6p@m9|e= zRv1E2^9}d9i#Q~51g`hrJbfx-i4q@^Z6%ET&_>(6G#J|gjwy~V#9(Lip2K=ajqJ8Z zdR4D=OJ8%J1AHSSrwFN}br8lm!_EpJA6#p+M?2{_2i$hh>e&n5{*I)# zF>(ZdAPH7BvZJBD5fQw#Du&0cSd-_f4VtO$v8_?5;h-KmC|2hOL9!9VP$VQ5bM|wM z2yMy;)6;9ImdX!dgGX4I#dTtyNg>5;T|R%SMonchJ$GU7&GWUbxApew^806VY{_%q z;#GZ)#g^|1GoK(qul4o$fU#Q2t!>y{7QF}zB1MMSU5j<5vKaVwp3VHu1v|yFQjwmFDa5C?bM6m!3wz2;`~QDWOipzlE-=c(EPREMIQr$MFSZ_azUJA0?@( zqI5+8r@KIH%D2+MUfr~O*`NLvdC`2myU60~GybMoXnD`zw(isADjSMqW_Z(4D$PS3 zBb!I!d`#tY9Wss3i48tfcw*FygSLorIAM}e{dWr zE0#`s>!VOc$z%LM**H!bCjSZtJXUk-y{uUD06)p&t_*S)0amw-FJ`~cncCIkJ|Cw- zoAoTCm8GC#J^7Ns3T)MTorj$`DZHv80cbX^@jeonKzXzH%}>L+9K*MZR5Ozk=Pqo3 z2^LkpaW*|#7Gz%q&AEMCk37Kb*>b7R3-tSs`zK^SF{^C(|SEUx! z)+S%_I;1-aTi*$PNmH!J0UIZBzP6K+CzlKZ4lIUgDpYtAo@J*yO0U@^`K=-C*-!>a z@(k97+w(xOr1StjKn*u_u)9!>|jv+m_Ta$ z`2AH|g8LpaXm-@c$I}G*s`b*S||N z#z(ZL@H`d%vjHbZM}2&Husbf2>gikhH(axd8P26Y&4`%|Ea@;G3Vc0N$UA6@R||cgFZvlwKA#8agIG zWjq65m?a|};NJwq5@{IN0I^U8zz7Tm`u{Gy`L8<2Ij6Yxvf0R=~Z>?kAP zK$rktQr6$%s(@-|8Wtwz-~6` ze+D`>8hR!G|3lC6TQ-vEm)bA??NNE`i0;`p650!(=QWu;ynP=+Op@W$m8 z5TiXYi?4q_ZbWMug9NjgD;2uf-moANnMjsaOjU|B*Ozqs!;_Jtl~SIBnxjd;J2`51 z;*7K7(OCH5Aw&WQdJq}>BKm4nbcuL@sy8uONOQK;?gR$Pp(>ZbD&TqiO4WtSBIb@+=CX* zE|Iw&mfJmKSo)B)7ydr;Hu+jy6UVxfEJKu5uU7(!iZC{>z&LzKm z57w?TV?6q(Kr4LHhnC2Y;ldtf^yq0yPasjQI}k;oQft)CceopvUuWmBK-774EC|_B zzd0fV13dbGFEc&NG^%vv0lEQOK7Pf7n&?(dXtAvZ0o=Qs>AN~M++8iAU?!EiB8el_ zEZJr`4yiG3`gA~EHu^14ImacHzD)Oha){dfYuWxrx@4g*W8%w=`_ng_3m%qn zug5gRk*A(aPIT9n;$v90@hly0OnXHoh4SV8Z<4j(&T-N>onITv*tJwnzirZ$4LW`> zc-R;uKBYAMROk0)&OYRgHdbkEy5DJPf`mY#;(%ol$)HcIEWk~b@Wo3^<_EJWQ;q`W zYDopG#z}IYmN&PR{6y$!;fcTP!sS}&=GzEt6OFMyG-t`7SbdHh((%NjGQHwn5_-)uU@JvcRinq+o3#7Z)X`+> z<@FBiLiGrR^@OVxMJr(Vvbz?mIg(=rPTYs9B5AuLU}+ae17^IvIFFL(;IvE~uQhkg zGE*X9@nvsbKkDf%CN=SUoKWqCXR9WP$CYt)YCqC}@AU?oR=Toz1F4jsy$4Dw5GQ-o zMT>?{GW-xpC)afTeCRl$2d1aG4&30jJEOup4FPCD2Dltp=idLQ(Q+i0Oi$J~@GJnr z`AUP0VQs1#Ww)8FC$OhB!prK3-?>g%p0hYcgwH+3N5| zEE~d^>=joj5{u9VYf-=0u(iQs=6EP%KkfgFlaA|}kK@yqb@XS9fuOFR>z!02Y zZYscqQV*#>PK$yvhGq89@4LbgXd<9`vbZ>0UazjZl_wa(~?RR7O=5FvCp^DNcZEI z@!=e4_ifW*-!pyN)fkjGf#wHM==^Bw^V<&2XH5+!3x-NR^Eri#58tw(qH=y{G;)@~ z*X9?zYUTOYlM2}$C&@kpFHVY9-H0ON8}4uzaD#4=2n2t=+~5b5oFQbgOxmqZQXXr2 z)AjH59Br9!R(t$n4K*9%i8761R%7~#lLV720n((&cD89ujQl*^oxg18<}!}hZ*bmn zoO@cwuK!gF`K>)qL#X~lS-YC4R6P{9k!fFTw>@les^x|URp{EXmZmDU%k{d{Qaoq~ zp2=0mJzMSq-~B$3Dg0zMp~Nee1S*`h=WZv8!AdqYba%RKJ!Q}W1X->TTR0Tr7QD?` z|3oqFp+A>u*$UC!Yw^%16JnsRxBbl>4LL`bt|vM218_U)aGbFzznT27Q8Ik}7qtrU zbBhZlKCgA8(;mM3y*dX;Cq0dbUZim|)Al<$kwzHJO`F*a6oD4XeN`&@#PkLtVoy}= zT)Ycbm_n@|gKljDD5%>WA0F?R-5owZ2@L9I>~NKF(sA5VpMmX1ffVkCeJ&~}L6FW7 z7oEgS#C*su|Dcd2ULH=R+p2D}vbpSs6i@&q{;Em@Gr0>zu@S7s%1U#y0c&q8`hEGJ zYeh>Bn)1%fnzji4V6YL!xU8yDcC>2+S^TQ?62*bOC$pOIy!NWsXyi%#{OFBVLTEp?KSL}f$dI#dlqW~gL9wyQjolpSL+2WWjc zR10ucgF1h<^iYnR{sZRw_m!=qBsQxLtzQhN#qkRG&D`*0LKGR$;mYqIvcaGvJ7iGZ zqd>$-EUtk2dm;t%XVH0J)Agd!_Sz)oaJrycZGHXo3!OloghEiELn|B*%^xS-zqo%r zLKsoQKJ2at+xQN}idZHL>6x(y$Bi2_m5r13HO(HSeYv$W2!|(EdvZeyQTHn;a9Gu+ zh7@kj*K2Jpm~>3~z5wzTt~nPep<`YCTff7 zjh`FO_Yon1E*2bGdTC&VXh9(SuH2BS9M*s>uUffvIo8jP^w2o@_nSZscCPR;6q-Mh zl(~B`XM@$VYalSLngr}1mMwnQzw_Zq@MG~=h8bD=y1hkLu&vR2`Cy`jiN(5ume~`@ z?|8NR|2TWgu)4NvX*f8+-QC?~qru(XU4py2YjD@#5FCON+}+*X-Swk$Z$I~(?$h@@ z_xlUXz2=&0KdezTYE*r(D*^Nun(v^IN>3enjNx2fj2Zzw)jR91!#Y`M%b=%mp!c+Q zx3C~&O;+ot-(NKMSLtmK4RYn%gIWgAAfokO3x1Q!#JWl0D&Jw-@=*Ml-1Vg^AaYDR z03(_Xj@8n#5e@y`pDN)eUq*QEC->6~9WA|G*KOsK5h|&AQx#8tlU^r3b;)sy4aQB+ zacfZjTJ;V2Z_Ff5u@|H?JF}Zv8B*n;zakem*@m_g-0k)=1rZaNPKds9THS)kO+4We%MmU%_AQ*yVddAj*gLyP4XBBca4k27vOh4v+Mc z!KG^Y3<-pFW!G#Nn(lI67jSZ8*qJ0^4LrghK5dnGR7FP%D1+qg;V!HjGoM7|cSn4h z|Msok4rY$~?!GV2!?AP;F?VCJ{mK3+iz34frQU;qKN51|Gw*8m7*cD#W$_)a4#L@7 zf7_CcptR1JgxAsXdGn8I*lG*xDx)UqlVb)B>i}|n^P&T6h~nr~u?;TORfQ9{j6}ID zCd@j|{t~X~>TfO~v{jo^;H2VmQ*Uk!(?8grH>m5@Sc`sP-HO@Q$t9ZZb&|I*;G&ih zzZwAvM}-$b5N9y~$}Jkd&VOnr1Y$P-(wWHIdX_QX>2y9~f@%eCWBx^vzoD%%AheWl z5E*#mI@c;7{D<5tMIx1jYx^s`)oUiSFmcV>Uh!ubwteh9&{K}mY4%85|RI|ZRVibA#4TKkRMIW&}jWM$Wmr` zZY1;&JcxZ{Z?~=o0tz!4CH!kWcs;VDXruMedc#?0zw(yWIw6wJ8PKBcX`=JJMTnKj zrQBC#wl^V)`k&UUuPOQv@`da^PKVC3fkSY)$L?hq0aqcZ(b6U1?($&0y#rU$bRdFm zkGF&HHsfucZ%4C(>4b=>Vq7f?Fywq4(*qP=Qj?(}ukGHDnh@=Yz|gH3UEaKn6jh#Oxl!3C+3Q1iV>3c3my8-p(nE4Q zpY`%{;NZ{>=jJtKuvAuMBG(`*X6pDzElZL4^xSD9zl6ZCrQnoy`nB~(E#T@A2ubzl zK=2eLB7F0Yn3%d2rrj{5a>sdinP8A=z@4a=$^u(g3OYe2<0P5Vl z)X3jh@vktX(oO>Fjd*YLDGm~RwZk;PSZgMl$b_e>MjCP40M-f37M-?wu%d{Hs2SFj zj;SX?rg1Uuf0G|N?5d5i#riyt+hR4K=U!%J&7k6wv4WO(K-XR?()?W zxlzW{Q`1rPKxN;1cjnb;pGtua>-eYr_SlmiR$7@3Ty`+QkDj!Npn-_^>-~U41mA=K z%c9F~HG9Uk?9ja^wjUPl-9ToRX9b(8t?yu1K`n59!LP9YQDE>N_?6%2?O*s6_P;Ba z{|hYy`yV0cZzTJB7ymo{Wn}(+$^R9}{t2ai@CLs}fImJ~hc)HBA1EA$pb_y zfjRSe!(Kw+$W<*Q$ZDa_cQ|z-i&e?<7;lFrQyk71-!H$?1YXGOPZR0(I6YwsP0)t`%}o5HmsYaX?8|0P!TRlv-aSDz5EMV!YAU42`_$ zqgK@emxOMy{KTT8<3!I90u@k8&6dLk*&iACu1H&y@8{&^RyE~l{e5o3)pP`fSmCRp z$rx{jM4^+$NV!#SqWmYjKym;YXT^0dQl3TN6-I!o#VneGt+{Vc%F;f2Nui&Lq3RHr z0e%#vVW3D`AR;--1?;1Vc+#F(W&$c>AeU^Mw8{hnL0mU|0r0jUp232?#usb(yjbi8 zFfJxNO+o<<_A>?}9rAlIdS+(#=;8TZg~q|j#HT{aDh(+^Y49T+wxfCKkrXf_w3q>t&#Yuf z&lXbKUGa3aD4&%NKH=j!nSTz&f0QYl8kq)jhC7@Nivt-?{mQqNhrmmLw)93ce6~`t1wHFMJF|#iyD381MJ6qiLwr?3-3n&7xJkIoKlsmFPRY~tKF8$ zjb+}p@2tQa6gkE=wCsDqDG<(swdm@aHL5|MUjYFYD4#Ia(fxULK!l_ZAb{%5eFK@0 zn6_hmW;Z6&|<`*7nOX$&KhI$r+ zY1<`8#-=w{Kv{|Z+7a^Qh)uM9PM?rY@!H@J&VV3vBiu_BMU{J)HGJXZ24PrC_rRwg zdjW(3?{+9XX(+SR&YqJXOuUG8iD8R+%)RH3<*b*oW0aR$r`ydX=WEIgDrXL4;+6;1 zbj8ABoY?xlS6@Yez3EBD3V-!6>^_yVhb>#R#kQkp$g|K9p8DNpw{yNgZc3aWVotgD zf?$4GpPi<0G6Wz-C46=$^uiUz-lhh(C`JtR5>KAF$XqB_|$rn0ix5$MwEjH}6X{H(Yo15#JS#om8)Figf4D0t#@*yn5tk-*(l zpPfQVovu5}4J$Bki|&_bR=v{MRtd6TAia)2t4vjK>*1P^1Ghxry1cZ@VpOkihe(d- zvL=QcO*}=F)n^cZg z#nZPni1r-iGJ_qgS^Vr#DrKn{C9I>}=X_i?&r>b^%cbZQ&&e?w<5^2R(*T~QHYdEO z-pz<-^9icDsj=!VoOJA}>yCCrL)`?txq3J~%2qT`Py!e=@c!sRIsylM*wD*-7B&KA z8Tq=WqWPtibipL|H(HgQ z!5TK1O$lH6VvX}Km+J6ATV{_N9QRL^6?KC~JIZ#}qH~1s)ppWW<32glQ*1yc6h)TH zc%mX?F0Vz^hkeFTBQv$l))lw+1QBJgh{eMmz-*II2&oq@}bUobm?crK!%_J(oxOJ$YgMzS3{aU8NMM3YTh2FWBtfrkl)&trIL`wA7%n*TsqEThsylGpd79e#)B-c!Ot3C)Ane&b zc&$Ep)^oICxpdD^5i9jEa~@hRINmZY%fLn{+0i?6AH^{7)6h?+(qMCI26ZME@ss<{vvgA3;+8==l7( zt@Hbb|ExFuM#F#+@X;*!Xy*`o=rQS-SU@Rma*gBYxD!+WIvRpA_;*GFYWIL1+xrFf{ z-E}wGrUchEc<0EB0k4sr0Yp5Zbs4%mq8ep%dOBl#sZ||4u>ewEtmt0;`v3+PX zFjToGI(S~KY@G058Z4~J#{7HMyjNP=-D)u(!|J@l3~}s7?SH6J!PbSBS7jKnDfRXB z)TlHZ111M>ZF^t}8JQqg^y3*!Sr{N_w8K9I=EpNcu*NT+91+V6TL$B_Cx8Of2e_=NA(-@`sHrdGLMX7dnqUDCz9y zhl^7FLHsxd7q1K}qrl@4M+Kia#!~)T|M9L|0T-Tj{0WaXDu-LmQ#j4tK;z<>J)BvX zL>{N{+)>Gz#m6%PhNu5Z9$zYdt^puMKD>;yb)2`RE`+(>nD>1-xHSuLz&aGdyjj(0 zKGGMZhB|(!4WgyNo&WUAglX#$Jo<*#i}+G05aXN#b}pi0$JlQX5*{nuDaReB0$>Ft z3Mu6CmM+v^9zZ_5^WzH1boArZJmH3Wktw^33BxSfAeNorv)t9wtEhE>?|t2Ikc%Xs z_?Z?98NZ4?aN#Bn6kTx5K)Ts1)NHK{kp?_Q>p|2Uf3#m)=~3!7HPG3CS5qIqy6;9t#J$L}wH^@F}VN+YOvp>~V?GDj3N z7(5SqJWt%}`I2R9OCW0y30qT&U>x=%t-1xFaHT4_@fT6ZNZfKDZ9mzJZH5JE2qqjp z4;oX`PIb)g6$}?*bkI4oQ?T1T3h-_dF>#Xi^tIntXVJKi?nO>a#P{GFs!DDj;_6_f zj*2)2S?OTx88^JNffQ6BOIwbgpX>4|EkGCrmS^}}Km8gfcAlhid+B7Pj)dF7vvqNb z(A!}N&b5#flL>8hO!sLSm7#its z^bPhKNCEq*oKU$3wo#tR3GGfq;>NFB!j8048O>m<7XLb44eXTOS@-vum_&IM?ERn* zg$Q~LBDT^`sdKzm39qMtw!sN+tZ?oKw9rbad3;6G)N!06xjGsAxQcmvT=wj6`ZjX- z`!e#Y{1&^vkgx0zH^kis>*D8b5;1oNybZesfwnkbK17jcc?QB3#)1m1WXwJ(fG-r2 z5N%8gp6lVa>0flM*DuMSdC~Y5jUbu)B%>IFUSXw6+IB?(u5d1UPavN|j0J-Kkt)5# zWXPkrF#1}oANfPBr;htkU<%U=!k9 zHBu&-`b4JK;XT#myh7|9D+=@ZJI*?=i>7lyI$m>gt8av`FN|lvWi$B8ukzLDznVlxq7 z_@k);pKY8&KBn7K6MXEg>Ur*Msv&V-~YfHewm>n|?VRF$d@qDBJde@`(HhcsIz^wR2gl zTMzqA6A&1TCJjtBs!5K1r&>{~{V;NY5cAX5y zRBBpY`XsBf%}lnuJp_*;3|3d|N{gArjmLGCy8<1LDvJK}l~z0v6e<~53|ia?(rH6& zr>*505&l+}Z|fI|zucfkbhYZcJGq=Ea1161`ge@R_#WOhZA0^5_=^kXDGv~y^Yzv> zTV!S+2^9M#DJt<`CQgZ_uWIvb`_O^k3@fw*InbwQqSMQ?8{Mw)+}yrNr_+Boa9;D} zh|+3_Vc%jNB6kSd5B9_6Rk3pMXAatrjAq`FP?=Ad0>shY;i=c-Vu%eWIWIflr@~1k z#v_{!jKMZTKW3WSf?{VX5<%jJrO_t}_Z?X5dqY?-L}0cAP28PjLAZtr`Am`$J(^K6 zM;wR{HK#HM;6!h@`(bJz8$K2_tJ!;y)#OZ-NKWe7I)%YqbF(vH=y%-5d67}Zso%|= zaM3wM4fzW;&<9JZeUtDaEGU@)V19EV=oFLhG4>dfs_^5XJGKlBWgkuc$bpEhEkk_W zSfOlk979OO4A;>DBDh7875QQKby$%9$NhsrxS5rVF~*hklCmyDWmg1o1r_p&R3zaD zf?7Nm`BZJQ0W=~>mEs(TvW_Mu=VhaegOG`T1I?ab%>}7G6n6BABd347y8lg2;t=IU zMpO%>Q)tFa)ja^ETTQ4c$xfDnqkBQ@Rtn39mp(CMqj5S>W}6`z`5AViRZi=f1pTu0 zbLY^_PnNS62F|%v)Ji*~Bktig!pf+vh*q*sYEqVat#J=vs~)6tEKHqT9EAAa6aun& zMKXA)Zl-g~mfgT93kwtB6a#kYbj5jNsPo*boy}N}A<}WV(SKQ#-9ucVRH@N2swH_A zyZ5Y$MA*&s$HGywk5h4-#}&LUsh$`so5slCOd@Dp=0FjyY|=h>&!S6|KJNK?#_ zWLa+zensSwGy_Fm&{?N9P>ScTI9NH?ZRuX=4LQ_5+boEYx;~* zkVUamBzWHN?U*zIj*Ra;w2}fD$D!|L%2>2_2}fsaIhnE2lSGa}3gly_io%yO+a6Xwt}WZyc#NcJ07;+JdX;p<>Vg9yseUOV z(QYV$j?}CL`32i0noq5&5S|dKsU*d^@4~9=+dyy7inC=?JxhTk>HT)0Y>y_jDw@+U z6GhsS>{~d06LwTC?JDaafeU&(L=StL(s!c71Psht0U>ImeYFMAQYe*zf_|H zWdm!?(^_UItakN{`!M!_hfHTirzFeqDWnehtI`?@=^RXDRLgrJR|soTf?MM^MALtA zPQMgLpeaF2TYgLibQ`GOk1--rzGKH#Gawv-5l=}3$s;W%`hzlwPuU>+`h7E$o}~b# z*rCD#T^1rMLIoqp@HWhbkADR#8lloq{ITPw*CIW@mC<5` zLOBYtEuSu{9*ez5v+GJ9zZs+_zjcH%?$>f){WLa?xN)=+w4rmk49e`zhV)gAJGNk) z?hl|bN$mc__deI042`)>UcpNmSMeSMwJ}N~euWBPNk3Y77Z9$TFeZJGH^V5P+zMxi zxT35#iwE_|2(LDhSHvhiEW~ccJ36fQZ}SWd(4HM`HSh%B$hC5;Au2?LBjv-db(ons zezF>jFM!Sgl6`fI$jVP{xFSJ0bVfrzE|ldlz-Z_#X>s>WxSL_VWm&ko#62>hVeH

He zC%*q1Tm>`JKVq{#1dXh$9~l@-ACf*6)(?r}hqcc~q{v6IHp}1gIyKR^qy2BcQ%hrg zi+>|4esA^vuq!4Ob~+9gw%@u~7IxN;?=tVwyX$&6@PyhJd{ar%nk37|X z6GBXEA5Zdc5<);#Rng*%%ojGI1~<_!+p=CXkGwiNm18 z7ghXU?q_CEC@1e|OxPLp;=Ghp=O2~DrI8*KxZoK9ziNbRzA%j{8OCcplJ4T3KCYiSdQ939lRcIZ5J8U_|~?!iy0hWJ6?rG_H;P%E^4Ky6>&nZA4kBW`*7LM z%V*q*M^ztef)70sMnu?a`|HUrjyRoY-AUG9QnU@3oEauBBeU7ue_y~yHeLYtmeLXc zk@4HBWihArrnA5(WG#?d8HP>=S(GrzbLG4ai?%*1s$q&4D&n9eRMb?~T!hzECa5!i zC>ODwtFZw)hi$JHtN1X@wLKmpPdG6$sRfLegE6M4H3g17+12TEPpybXblh;ZelOpK zsfDM%_FC13wd52`@4M8*Sc%s&$D_Ejs-s+*ZB?tBq_s!q*(!YAw#MQnh&895iRc&t zO2VBRaakuS0|8-g%6vd^OiVo~rOnL)9LM8SLmn%iC??}an{-<(HFrtkOkho*$d!nQ zo+r^b=2>Rs)8R_|YH1jo&f1v#tVcl{v_8xQiQ9I>1c}q&m?S2mqU*na1Z|#j$P#A- zD|2c_e$IcKA6B!A{xj7XaKGRFejzv_$le)wv26zx2;IET!W^3s(ueBm6BlG8^AOBm zWiAdmcyUE5GPGSn+4N-*8<`j=a2a1(a*NKIqD$J=QpXBi0N&;&VtY4OaXjwl0&_7u zYLbSe?R_ak>qXFIEvs`^85ENJQ(I*xRrK`rss_!83w${;e((F;18LQR3oH^9+Q-jl z!&yH%-|;OJfNDIa?{q0F$PFWV2Td9|bx_jZ0S- zpokl~Ql(*?LB-iLtNjFxkU~cG0*K7UH|mvv(FafLDWj!JQ92sf>ZYBMPFk;)wcGYA zkAIHh|74^}>Fw<)yV)%I+Ywe!0Kev!L?ZG zc9QY4Ss-|Dh{qQvwQ$)Z?s0hPA@}Yb_X!UPD-gA&W!q}DN$y{4?(Lo8ec9oV^tL=c zBh3+gMl^G>qtyUb9#^Gbge!My6SNQ&qFCB9V3m8j5G&yl4HA>HqQ)9uN z{&S7FLkX#TNjL4M1cV$tD3t@mMq2|pkEpzqH`lmZ-#Cq7O8UW3GElHldh(9~%EG?( zv)`~KMWZ|gkd&@=5mtx(Xqs3G}^@0W$D)~)rD)Hd0{n*!W z>U_RSQ>=vk>}aY3`(i3lCaHTxzZ?pl>=>&d2uC!`@)Ha8R4y8dAF81@cP` z=794t0Thi5;m%w+w6$gOpFpw@zIP48eZGCvPyxP`8wOFx z(e6TOY`z=pC`A|v5Y6LLqWg?&$$%@(hQ%a=ez&f~W!CMR(J)JJ4+Eb%DRR#YXE&b7 z7|PkcL^QXZ2dyT^H{C)spr(65v@)(cM+}j1} zw{hMcqr#98wX~R~9WhF@b!Cc|uXO}m;}-ko3zzcE&-`8(@$JV}{BqPug2S85)vJa~ zn;MX=_e9C@cw_|a41?C*KF9GXZnF_qoc2>3ewWds5`lS#V=yh9cm{yD+{E>GcP7nU z4_dtoSC7+TLNKHR&%XfGsjldzmX|pQ*cMb@ouTZ`eLf()FVbG-+X~XVpCgL=uNe=s@^8uORpDx0}J)w#P zgQ4EMb3ShsZ2I-hil4;|_kXbCM#p%L2`>O z_l9<_Wkm|S{1a}ti~V`x0+bigB=}u@?C+TIk2b2ykM8XVMX!Y=Y`d~3A~BB-Z|T)M zHg8;5e7&(>PFzCQu-=Fo9D(Y~Np~0=Lpmfl>cU8ow7zAbeFq}{$uD=h9cxX%7ve2Q zDw+XIS{s7nF(<+3wwIrnYp+(-B)8#oWj7_-xo+~DP#iENyW14Oe10u%ZIFJ{nmu$2 zS_+`}Y^R=)Ps!%BO|vOH6Xfsji0U3N*X3knt2qXSfR19I7iBq#C+W+b@G0`$DpWPe zkWpY-qpv{$)9DMmh93)CkGu!c)J3`!mLXP8B-~erc$7lMt(;|K9V+>PIcl0mZgiMA zP$);Xz-&nqYjyE3BS!9NBv3uE_nKOW6Bp9R2r3d=m~rOtaT47;ci>>7oEhfwgf^nG z;H%|F9eIn(d9db0GO);rv5EN;F~I`a#o~qHD0}5-1Od^}6Sd>7e2_=hMNfFqg|A=m zIoJQHISu%uF6=)czu$%OpPSQw-%Z;8f8&UNe-0l4e#6Iq=~Dmx?LU#i-$8yXA9k(G zAESnBA5(uHDS-fje~j3%F|mE5NBq5vMrkKYN3)N#NCI(dTPH^X0Vfj^WBY$gLuCHF z+yBGHKIZNIk!1NXTK0i90L*k8Y#+gYANe12Ol%D7e+T#dy?uRn75yu+`Yk5--|hYW zbjtsQ$Ns#E_2XCpA4YwDfyaJ7`+pw9{|S%%u_ym0Z1x8{MlbRK0vQ>Yf9o;-E;{=- z;{Q2>f65!#Kax)VE;>_Nv|biL@w!*VpzxRT6Lx3}vz!RYm;Qu4;IAZ%%@V|zD}tsU zP8>tLEVb-&zA6@06H`bb2g+#L^a7PG*Y-RK+_|pG?eDjA=!Ay<5F+k6*eYjvxE)D+$o~kzC6yoP)R&9#1Tk zUSFn5;pbItD)(|rjz>TOyPwx_&06WO@-iPm{V#NR@I!Fy?6WeMj^7_YPeD*B4$@p^ zWg{)(b1Ti8UU(Uv4;4IExqO2;D}dTH(M*L^5->DgqBpr7OOjmNmz|dn{B7~P7++{ee_Q;<> zg#?SLP=fC_$8x3fX;HwYtqx8Vc3kJvC7m9Iz&MAN#4orc&LlTmB4v8FPi5b*>pQb? zJ($`+tI!>EgD?$mlWzkp3G)JM7-z&uU#CFmgd0%;fOhKu5HQs{A}t0;W85>ggoS-O zu>27E8Gh0%vp~6cE0o!}BjZf0$W62>RLtW^w!KDK7K<2Yp>1jej=-6~-O|Ud0os$W zI!a)i=ThBV&ZMIHrC)yCXA;pI>u`lc5s|LBE#vCMXjvr|ZrG(o#y0SMwk6xrOh7<# zbC5?V05XAf{B9UHKrsm9OdF<3o!USXK3{E(L$9%zA7ghvL9C(HVcXCk?d1DyW;zf; zW#lmm{upmWu(A|uNZM+|X?7(Lo+#ha6U##39Nkq@i)bSb z{qa=zBz8y`)bRQty<9zaUmn~Wu+}2$2AU|{354}i2HnMO*fvbf?2&}#sKt>*V)>g$N;?qiB(+@{H}ZvW@%~U} zbkXJF4q=Q#;@&?ySG1G+nWn({Dz%68Gjm_3mv=!E%E5|7fHYW%SV_*;w??SJPQ(s; z%+kg9$RaNWzZN+wZO6$ zeCYYjY!SmsQo4?2fw-J}wQ~yTp3zDzD=Eo^&KV9gA}7Kb0CCMG#d;ttCyUTItyiUY z(%1Nx(VVC!_8ij$NXA@?ip-68-c#;^{9rdX!WRKx_RArj@$@wfYILR5q==zN?E@NDF%?Z+SQ4#O0Gj`R~0JTYF~*EMIen|CJO1GCMnKn zhUVtDjr!0UwHXwuW=_UTy7QTf$=W(FSwL%`j&a*jFR-L$dc~cw7YMNcI3kjiTr&rV z0n7pAhZ=|EUB-oG?ofQ-%qQ2|)O>33d}iQx(@u-lfoBg)$jvAj2%1+m&E51JGx-;* zx|{@{;{(f`YgZ8&9R0@#x(v)al(jCk`va~?(UG|XM>cL2!az2z_A5EE$uvHZ=$`7` zTqXlNL$+sjEM!nKlCm@}x#nkunn}B&=uHb>=y#pm($F=BIdmP~KiSrjT(1$LZlqfV z)6bu_@gF9!Iq{1$mOBk^t0>KQT6TcQu=oTgbIM>qxdy1NJioa3yP{#E{yOZV8A-b*O~lFOr;d?_jWo_!|vux48?=U29Z&%0@s zLnyF6Pc{;?(>Sl${;oK>esqz6`WICGN6zv8yb1q9LHGM@`7c!dN44_7hW?F$j^j67 z|3@##4{!hfx#aI!;`b*09~|_bUfF-O>Lcu#4#4(d+VJm;@bAt3uNBCj2LJy^4}aul z|Ko)IHt+l4Qv5$R_fH|O63S2=)t zK|78QgGhBtl1akD+Qbhb;Hf?3G%qMbM$&UiYUcfjMmf_%k&1FXRirqzCQ9k)AzA#P zu1!KDTa_WQ&ExawsO~yPor1cCaiYfRnJJ&O3x51L{B5@esbTF}alWoiBxBgzdKvrN z(hf-3g#dKk)54pKF4vlK3!SvWdgo9z<{b9vRTqg{^_%1K^eB9TA63z9@yQ3Bvl!7eC>KxIA*sZ~OKzA;v0Uuls7<5YFv z+su>6OT2=qA!F2&UfO5F>sC)*;*FcmuMG@0u+R?ee-6Db0iE_pSL(lNnn8(-EFPU zpl7b|_T{C!Afa5JorvG>s$N`0phQUS0|~Hk_&QmS8WBTZA0Mz-QvDx(qa~eBwDJP?YB3y_**QBC8s--nPio zb(D0tT@V1{uC>YalRUa9r_>ShYOC7+ElHd`m-dDhr#OzWpvB}`GH&X=gJol2!P&GX zV%u0-!=RGCD;A z!}1f(!`ij80yp0!k4@=wR+TO|VInIK`yFHcnGheF|c+>g|q22lgxl6;vcC!clS zGOL^co1gn?WL5k>bw!Vk5J9R=BaXYwu>KP<;ms6!ypV@5?OsH;3Ho8Q+$1hFyI#AYt%{85Q)p!U_=8KqJJ?twF$} znNZ9}YsJze#`|fU1><*t)}5d=okX|j@pD6HqH*_AP^4jqi#O8d)=%=_K8MBU-KY?k ztm_B6lL2DaRpC}wo|j*Dd_9asqo90<-!hA6_82iId7f8n-^K6{BR!V57}_b^*WK?C zVBi3r2Jjm}^{FoiO)UITkt?i7``JX}xLQgl_Dk11=ayh$LYWR+IC8g?)&?vMls%}l zh-#{4@=0W%4&OEP#n=xj)a1hbL5P0s54-`5#e2@)y%**sgw!gd5Hg;%JQto4fCoomJ$ zG6ljaI*VP|Ef90=MP3qBiw*sI%PwEq-u;xtEI!F6Ip6}1`$t4rq>mzfw`dc9l#cN1 zWD6O1bxAM*_S_&a+wL>9J zN#nL(6*}sxqcPee)F(b1Zyb>|?;Vu1PZ2kmkP&!&9zv6uMnKm~LC3i= zctus}k~F9I9GJT&P7>&*`XKxCVhQ&q%TL_nFkWr_bfSc)J32b>Q-}Ys@I!W+FrVPUPov@nIXy;^yq?w-siOGa|R%|}RD5$&GwA@n;&f1|GB9~8k z>O0l34qwP86}q3y;XC@L%*;85srya6K*vt>s~{a5*Y+Iqim_L?1qW}alx}*X&xwwH zM>vB9?a1r1+zwV31PXkRJD;NCdZ)F~rb)F6g@wU!4$ray^0|F*-}cT#3OkVQPOlp@ zi?hFigC80g-}H9?mB1;?ou*gSV}RKDW`QDlxS;KIMGo;5ypgrbfwyfsAt)YZXj0`j zvId+zGJvjrtQf(&gHKIm?B8QwiD0g^fA!Hv=zH%zUd z{Da%R5Hcn~bwK@YA*RWsujS+v$tc;sWfqTNj|RcGvAdcS4#iV^v#)~GQ>KQf^^TiY z$F=Ehk~AbGIkA!qB-|ZF0X^@~{Jat{3eQnE78Ip}_KUftLg?quF}-0TS*6dPZA-2x zqO8{CigC&$_vxV6mcl)zD??|D%yOu3iBo1gfP_>1Yz67>s5b@HM}Cl*6U#`$oDGUU zFmd!O!7z+@xP|ORhR1POw-KyU-7+bRfHH#fs-!~Z#<5k*J7uJZ+r~(*@_6hDt`vbV z$ZNva(`x$BD&__Fw_9yjbl~v!_W8PS|J3Yp&|}dtlP>Vm(WX2Ej`SLa#a%xi)jFb5 z)ME8)I;fLB331F4=;40Jqo$`W9wUkCt|)Gbv`?Q|J`~5OZ;c8for}#lx-L@kEf7)# zKO4^x%?bZbRyvmREeKuP7=h$K5nQ4EJQYyso(wtqK!GK zoqCU}-W}D#BTUBzr+=cGLMXQm*7)e$ZgMB!fNrcn>!>(Ja7&O7hj2_)COP&$OtLkjl`pJ}U=A z>m2GT4nsK2=r_8x6UF}5Sz*a*T7mVY>)sEce9;q@Q}jUx+H3VK;WL9rS}2#EouErn zP7tsD3VBS1m9fNzht968VEW!h*`W^pdQR3Ca8nwr7qd7V-f50eD++j`cqy%`qTwL0 z`)r=-)aboy{}QS43QyW#@VXf+|EXbfboOASEA+LL^b`~jHs#a{*8}FHMZ5tut(@1a zXvqf{HIq#;CxJC>I)3U3JPm1Zgwh%fO3#%MtuXqM_Epc9gmP#0#iOEhnmRY-vaE~G zY_l5!Dn-}|DHjG3r-h_< zYROp2?&{teaah&;GE9mQj}`UG<`Ng<%mHrWz5Oa%96XdN^ti%0zb<+iX0wbbSv+e% z4NL;mvBn%ik9Kew)x_x-@tnoZT}oadchF+|wU5VErc-`)q>C}xq8(hpFfs^FMnF4P z6I8w7kUhx5M4fP*t9G3Gxfk!cOSgN%Pm+G=-LmoGmU&sZTrrj4M%SjfOOs~3Ww>}S zIJ2r{DP>}3Rj1v6`~`rm*bHnEpfDB{`34jxn&)EuP#ygODKjmJF+yKA^H2rD;D2Aa zt!8Or#Smje)-uFFpFIB-_Z<{^D9^iQ`srvAN22BJjq$vJLLmS?b{`=WEY_Hm%jiz)@o@x?9{P)U;dij*G@!(^Eq4_miiGQ-|*I zytZ_FSoHH2-rKY1cQD^x>%T&Af0Xt7ClvRau>CVF|Di|u|Bd4QXl?gjczs8{OU0VaTq8KV?mtV>)PPD<>aGcrdbRv=a( zu@_Lli{8f1_Wp!I>0m&voSq7D`IY7A(Miyrc0;!Uy1L#h4P|NR_UtE;_hWM6O&$it z7Ukgm^6Zy&6MI@=g;0TthG)!pD>vj9H0X_jvZ?!Ur5Vhp$zHosws zoT>Tbs}CA2OJ|9k;W+m%>4`~N?R=xGEl@0U2*$# zcKW%g1?aRUZ}Sqe+qA7h$ir8jD}RLo`j{%(-}6g^REB;Le@;M<-6!lg@hmvyZeq^G zEVr6&O*H}5csX?OEb2pHPj6lo{IeKa+@c_9Df1J~Br_uBP8|rKkP0uIDU}Ez6r$@g zq((LWQh1soiHPD-9J6^gK!g11^^-4)b%(e&A~rdBKil^~xH0%FW!WF?HA3B2&)9^uyH8zZxJb}BDkhc6=v!XdV^{q)3`$=e;GmnFv3 z(huAzv*4j_4IP=EBXzKS)0nT7c6I+jp|c!ih>{$Y_#A}N1c0_8*c-~06NFKL`zqrJ zC5RQvWm{!K`9`^rZLahL#P0YrWV7kBy1?TUTjk*omXJX9Aoczj{Zx6dRo83h_~Y^D z6`d^|GGTDt&{yvZUkR6MKK9xjS^W&^<8gylEru=o5Sav(CFE7t zaLXYIX$7lV#``DSo*`6lD&lylJ$oyZ@5wYwpiR1}>sZK3N-~iMm_`nM!L$#=SOEd-#I_sLkTN*KSBMZKaZa32hHy_q13>tFKcme;bdqMn zs78|+6`)R%k~2oopa8K0V!jN+sIqA}G``#N#&+2@L$;;2sGBe$a-=BG_|8ECY|7yD zm)Y7pClePCxog_s5HZjv;V5ow8wZw^`KbcsQXp7JhsIY~kHD$r*dQH@36U+nSB)F! z$%5Il&!`zA=rwm3b!1lPiwOiit}6(GYE7iVHPI%)#E_z04J*C`*zhB4;1yXkVQrho zGbrFbN96fl$281D0yQ(3IFG zpclHLTz6t^Wmo&UMki#$q=GD+rJEM?#l&XH8cjGu<}sIn^+Z7_tKNZGS?bjC$8CK{ z!*;_xvQwa+@X+H)UBrR-zKTda(kFH@JN&9pSb5yRWQpASk)|r`BcjieFtzD>3KiYg z95MacGllWPDxiuGh1{^$aQ*HZ7#5)*k5S6CyFVOXy6HHIOPA zBHV8JJ-cBk1%UqY*q;o;2$g?9fX634=_bd4JW@yhOF*5{z-O_~Y#l(DTS`*ttGx&D zsbK73j!WTmY_lBo1@==W0!f|?_&==e%ab7jXfg8diJZO9n?vr*{RFesH)3l_8Yf}k zaTh#}j`WMM;Dr$A-Sls8szT<9ILN?ZPy%fayhNnz--K_(KJzL~_XW9_!>efDQumpy zD(^1v``P_kV|f4e#S~n@Xj8MidTzsL({Hm0ELMg$?9*m`uz_W|a6W1-Svx`xHTVgF`Epkf!s2-9-jQd%mKR)e2xxdjH5igdb5!o3k3 zMynEiU&E(vmx_iOrnG(}X-y|1s41PSP!2=P()4t6&U)W51DStb_Ds8A_6(+KsXqn~ zrFtwUwDF>MwOc{Cr*_-`y*do`1henILfzRa2%qnX0ql1Yf`NXW4;_J!BHK3MXLEzK z`pV2w_Xy!OWhHygoisna8G!zOoPA|fo=LVf?jGDVxVyW%dvFNu?gV#tcXx;2?(R;2 z;1=9IrhEEMx+gQYzx#v5T0lKjyie6x`|R3hAC6RT>>s!UfC_f|K*725T=?=#u_gin zQZw9pX(5JJTt_;zK%_$H{&cNSMduxFcUWGt?e2AZzJ{XruSOr2SugS4Ja;!+d>m$0 z*k@j#!@xk&{V7m9cgiL%awSkAYOdQjTY}u~sFO#!_DS`f`os2Iw(oPQcvY@6=#N8pa**Qhy%LtUN7o2j zpIXnOj3|tg6VQpiscK1@v_ixX0B|ipl~UQ5CmG6~Cwoc4=Hh-5-DjcYY;Nal94vjf zj*;KMIjZ8i&-5bHV@+_rpLv9~qIiq4Vpz0N$V&r28)(ay-deWaXZ`pohIs0uq}>aw z(q)267Wq6CMFYBlj>!NCx|V>n@LbMm`+L<8{~OlCdEAehr+{;QAh zpJ3a&oAOWa?$03Ze<0!C6PYv7{S5p65Si1xi!lDCj3Gl!(>_fE*=w@uLQ{7jmx>DQ zhT7@dA&Dtx#N!kThBK_1emEcSP~_vWyH!{hLCyMfxSG?Xm;3FBGff!B^>)!j;;TAR z;D!R}u==};s^r}|B}oOS7}WqF+Og`Uw(ybE!^VtGY2D2!h+)Rtsg~9FhO&%KGxT2l z86k`yDMW`enuhrSaQFouB(-9~+l=OfzBwx_jy*7u@^niWerViONYYu+jck?5F@G5u zMCJ^ZurV_HKq$C|`!ECS#Ez0X#T;VE`L>x!82-%;9T+i+8^x8Y`7tZnxeASs=tR(b zDpqIqvq2hFyuzn!g>*c3TV%#tH_a^(lrvjIVwv5Z&97Mbkv|R$6Qs?Zo;PxA8>bet zr+_;gxn>Ni4nZUFFd|voxR>Eqzjir2573TN^LQ4qvL3mT{g^A{MCQpJ@ib+IpGiiovcIQ1m-N7v3IIkt zvV_dtsz=3CX&2bR7n5{CJR%1egl%X%#zshdER!^b9ky4c&CqX)L?Z?KlE!5Rj+Z~Q zGnR-#X@-2HUR*BhC?9D9tA}EUvAIJ0G0o#gLZygA5XXMwFoI(kx0^%h#g*Lc91aIb zMq;EtBXbnIG5y0ZAF=gOI+j>)oN}Dn_fX21!tgSjS=4sEg^Q1)u$Xo1LoVc!w=@d= ztMz$)HXpi-P{hOyH67D6d{Zucw!kK#EO02~s=JGv&W>V4bwyoAfeNh#4rD!ZIiY3L zR)!5-HGaUTV#^I}ITPyLsKh90`cBeh`3mz6wXzDuc6?XM955^0v4Ds1TTIJPWbP(&@lxFL%L0&h4=!BSpK+ z9PNR6$=NjfDBzFgtq=KVrnGF8QfgxyfaYxx$}imz5EHOlKU@-IsUCIs+!oiQ9JHY{S`- zjs&C1qUfO7k*~^SIS1M?08yXt3zSP>vz--#t2VKSp8(mUQdR_{*g(#3YP>~vXyuRQ z&@~gTr|O;8Z0+NZ;B_!l{giv867qpICF9|Q`uIF72;dwV#GK6}t=>1(9D8 z9nmSdV2~ioB)6974bVnIiC~5a&DGr5hzs@NV}9Ff)i*2xz$Y8`^~ygPR@OjF9|zL% z=qj#$_nN&*g$d$HR|cn8Jc?iz>W77?L$&t^bk|RBPfk4+!sWLf20c{|gsRACebXxj zAcS;vz-P}C_!6Ov{bfW2q~NGWL1A!#4zOQzt!tQ$NvlmkSyhct-Zko$-&GS=FHM{> zZpbEolF^N*^SxeAge_i z%=V~+O??CrGGSKe<6)Y;ta4tovSkyqd_~bwvqCa=F7cx) z*zkn3${`6Jo-|nyW-U>gmUl?c2@#W7zAev(1|?tFBJoJy!aL#Wu@mWsd^&p?H0^v4 zFw*Kc#SGvz%jYd;Jv@PJ6hrDiMFxi>?!F+vyQKwNa6=KNI*P$GeviH$lOG*|zW*>8 z&w(Ij@B(!9%uKa3^hf3T(3Y!ruNb2`e=au)%;FE6F-q`5XhhOjdwnn~J4Dop!4k;QKDFr1)ZC2PS| z(cnBh^Z-j45ZJtyu#4?_E|UBTA3zXHY4%SI?`;z2@$JLXo)BaGMstYcwznNU=0(P|r&nxTGOX^#9y3S~`Sy}n9 z`B7X8VzjPVk+X`1w0b(OTKE>ma+SBnw;p}}{jb2=&kWap0&l-@ zUVq{Zndp8Ob-qnKrQQod|0b52SJ$-87eVzp*O`v`K{37nTRN0BxI530I!0_Dl13JyA@ybb zv#AY$`M|>sdl3zv-ioEDYX}vy(){*Zi-#kPQR~MG(M3pg$%$Sev6c-y)jpXwZ{gEb zRI*0JSk}X%&9{*6sj+kfklIB}xN%HxB+XogcUYJ|`i&*OIMwZ?gNJ*zEkhCbVX4tW zle8NtKLp|K1yZe(;TmS?6;QN}Ckoem^CeE(oHOF#p;OUo3dGEz0 z^>x$IQ?W$<@b0jtLD`Z)?To!o-lw*nXTUT9xb|?ZMB2@O^TN@%5_Gv+#6v4At8^$_ zsoS<3_b^V0-#>JBn>Js7dSlk5CJpAEjTBB$T!b29N61jY$a|BO%Vm0EMD-?@E=kNE zvr)z==^-NJtC}_Z4 zB3e8F9O8rq8ZTxIwDEJ1_^u5QTMfyzj2!(rWPgF{{02-~eOE)L{JF(BYjAYK_baEdw1B;?PdFGkPoW~ zVm7eEaxc49tR_@+nyd#c`JE?ia`M9`IxE%Y19$96&nSCR&nk=?p5Ag6H5)(IBcF5n zAJ#tWV=tNB>!`Bp<$05Sm*mOmA7n&jRmVeIu324DYu@=Mg?HT4Urk2%vL{l3hin_diUf3rb8 z*F^i_UgtMBUM;xcX$)rc)ddW6FgZFrbNDihWH36Km^hVBogW>mvGz&G0HDS+kzDLX zD1?0ufr%J0wRK5G5krdNqCSF;FPihzN2CsO;^RcJSte-)>Kh{ z#o2Q-=KS!Mb@vJadNwy9SL?|jViHW`9$b5QAgt>i5l=d#)d5aDiSZ~?P}N$ z0oUY0xY?rW@8ZQcAwe!(Ftv8WIdv#ROM0Ks&CG4BuEBW|c>TLGCe!03B&aizgA}s(0yN= zHa!2n`SinR0AyV&`3$lX4luyg`Fi5MeReA=I~HO8Lzhj5PqZF!3FX{ZkP82aF8p=n z#=#Qc0m=+?o2M$a&@X3Gy4ii$p}jdpUEO{|Zn%mtJdC|lecd8hBj2!rF%`ws0AE~! zx>0XyP<*`>_3Eb+B5U%f$&a-dI~bKF*640N8$0A1U6zPR8eo>v`(&~fLqRGZVSIr? zeTLs`Sff~Cg%|mlHsOL)sy61cxFpCx1~a(DvU+F5a{ToMlp6_yq9k^)I0m6LKX3!$ zZdl7y2Np#jQM0$FKEO{ppm2=wtAS^3rC%X;Xk0;@dz{y^!{NMAeEaJ+D1npVy^uq1 z5dMZAQ|Vg7-FYFCq7|bjV18dLLI=$U(6}S7>o0W!vZ~T=sz5mFbr-$i(^`0jsKvejm$6D6k2jR#l*6+OR|z`G6)H?kZNhr&Zdj|Y`LYQ&~xc- z|4Z%+h$vR{30y>oTOAn>$owI51h>Rzfir6#%svF&KpuqoZ2e3LTL~=C4qCA5-J$p@ zQQ|C%^;BU?7?*uvUgEpFYrzUE@$yXVI`M~POqScx7;kEvBXpgFV>q7OPoB=L!g&mE zk4+M_B3&j8hW5Ekw9WOPdL%`WX>DTVj#3+#*A1`&#F54bA#=gL$x^9-!vXm? zGFJIb4~*2z)#*fd)_lC-SVT^p@%t-BSaC#jnQ|EKXGcfZ((DLC``jtcjF}}wv~K-q zWQGs|KJ2wKkR&rBNtjmw(v%_enO9wEh08bPjA2^ z#`C%-R9=o!=wzj>xgn#IVP%t&%Wa9nE7?VeFPJ!4R$NknJkxmi+_-=>K}($@ClX_20>{cX;))DEF5|IzLHd|0X>}|1)I!C#0gMd$)G@ zn~x&~>OC0>V$x>5o5eJ!29;Zh`=Jx!P@)AiWmupP>+$m=953vKB%`e;vy0gYHMCXi*5ec?BF?)WH+eLeZ7iN`0>PxWAB(2JJ5HBT=Vf zRh3D+IXF4cb{rBnPHV?sjz$Zw37^5c_Os7?0p!%n3s9bKpnWZYGal8dE7$0jSqyjO z4^W~~Bz~)XKHW~*3zv{{gKuJN0Z+FHARcfaU>5baMchjBI;DRgj#NIFO2@7i4FXP| zk|eG5M<59(KC76!8oiNPe{IZtft#chCVO$8H$+%2GMukC>O4~(h=fJ z7ZF>0fVP^Bs@6p8t9Z8_6eOWA&}3R^B7`IfZK;H0MnsM`sIq#U)A6mf)Vm{(O zpbXgZafEVJ-2z4fXYy$O5LGfyN-Jb3efosPqhn&6V0+TZGmohAwz_>76(jmEv?Mh~ z^hF2Xx<+`GNzS24?E~FrXzPW9D*js7Y*3&CsRVJ%k1_Q5^B(j?`l}S>kF^#Iv>2*duxWS-FE32E7ww4sd%YWH1m92*icP~~^Y|6kN zh^SeYg#ww`t=f*CP=4H9yhSkml!sr9*S4>T5VGPj!bV^e{?r!^dwerpz{4lm-6a6w zt-JbTTyFW}(o!8cG&Ka^9c3rsP`P zF-mi3YA;H`D-sSkIA*Z*wtr_h2^)lj%ajS4N>b{-aNK$KTP>BqUnE&@Q+2LVtnt65+&NWRd&s;8rU*A0=zqNk6>IPqw3v%IX}0+`&9Zryx+{ zuID8-I34_%s%m#m8u1`ITgT>u`X7Rn~4_ zGyO?Zowk=CcnH1>_y&Dsv(I7GocE1TYYy!uBh#mcD}3v5I8Xo+tBn*KEgK~2N&A`2 zvifW~Y6ODxcKLWgWyx1w;=QU-Kt7b4r1clKZDzsGFaeX3n{UrQ$Snfk!8q?urq>O& zm0L@3E*dw%MwfWKc|tARx9wsV?hQ9^kJ7AJ+7sH<*duE6h#-<|`wq>kSoC<>ks>Kd zZ(ENR2H}{vy>zWT2A+y9=(9DeCb%}-;ORqHB*8O)-Cdqo4~dzbi5RPlXOl|JLY`>9jNfkqb?cWUnfN2kuLjilQDP}8^3T{ z&<`3&U}u8ISa*#ZS_bmkr<|g-r!Y`3a$R<_t*jq}_X+X|xjXzb&)(>&s`n$u2UWt5 z(R^gprq%wBO=);4)=v8_L@I)gA3~I!KZuj7mOSr#RFJ56)ku2+%eIV~0?a&O=IJ(1 zO%iSynN7>G>U6!CuNWkdoK33kBTxFgf0!_|t7JHmTLO&&UBV#1n7}GusMrM&4Un&K ze~6KTE6+yy0i8g&96Dy^YE?TRzhoY@WchqGtzM0LL2Q*9_$bqq^|^Jhf_k25!|Ig& z@EM&zf)C@n`1j<~jz@%^kMp*L46Nq6pTC0}lHxk!-`;&~IS8V4LCY9(4)LF}^(_+a zA}3E_}da%T5>w@)o5vjN!r}iM)mT%8|GNM z0W!06R1G<#y6sahP)2$1befxGAk=cXZyD#e?yfCgD{ztX7{>EUt6*5zaAOie;9jTD zLGXq39CQuVMvybvaO=^aaqis50G$XiaP#;PMZ~{JA^0UYZSm{m}Ojak_ z+&lu-wIYJuCIrB98mRIvRHtT+y&~GuH%}f0B7+s-+I$EioitnlT)^^MY3jy#=svS_ z3o?aiB@dflWCax~=r4ZMg&Xv|NhOm_LnC zGD_hjfA9J=e_(S>m}Q0A)O#!t2={!{l4aJ=TthOq2^+cKblPeJcJpl3C^)|?DyjFi z1ar-%n4f&^WCr1$XepNY8V}#RJw@B__KCN;K3=^X%Jw7GZEh#TCGiK_Oyp+1!IrV* ziD%th9q&hMIArnKR_maq;2AmVt6}U~%j0m^XCr@+7mT;8{36y?}k@Y~Q5GN~YZXxEE0?1<5w2uh&7tEOetu8tT zXG@HrNFaQIr7q)Gd0b*Fx10h>zXzq&Ao*PW{owNj4Y<<};x{@z1g9XF{et7hLXZ<;2?}Zk|vja1z|p;Yk7-5u(nh5J zK`<~QEG!*~(_DuB112y-^Mdx5xcBhh-`M&X|EWm!$Wirc*+Q?T4R~5pcD!}>Q|G!8 zaCput-`oILeyLSYXi}l>yn^=1dY2v;oYbruL{VDNY|d#ZDI9TSp*oNg32l;=Cn{|9 zl8qu9G(tf69D2g-!~q&qe7!j*78PpKiH zIMNq#8AutJBJTT%5vC;{oR? zPR4t7FIK3-7kiWV2W$a(&|JYd<&qf`I9>v|Rg2@W^UY4fT9 zfCqiIb;&-c9@B6O?;dgJuVHv702c+2+0fTYO$-68{7QT1kxqxvow>;8*T5GN)rV+4 z5))@>V3KCsOR6hi!uJD*pBkQs-Y_bWM(_h^IxC>cF03I2yRF^5dhL;AdW$_^?UyAz(jh&6^?ZkyrG|ZU{#xxi=z*@r8 z=wzA|spJcO<5^a!NfAg|3zV62)%qrUnTB+!-di|phdStC`SE<>;DTIdFV^6}~eIRM zHNP?O#W{GPlGoj&7fZ7|Dy3`b#`T~}q{tKcawGczEXKJR=R&tK% z7eNh)CFx2e(eeZs6uq_SMgUU=;p$*CDLfuK3_&PNAA^1%TT87AVbX*2(NREbKTwhq z=o(Nnv`rmm)Po64l^{QtV}T!3DzcYB7rnEzkHQR_gjkD#Ag2Kd2%ZzBlE5S99XE#5 zqRB88fLek-kpt&}Ue~^K<~fSQrdEDI=&O2ex2=x`4}x*GGjxS(lG>|?X|iPrzF{6V za7A2~dUdE>*IK76#9V#Cx+pcA5rwuxC-_k(z1IV#;mxfcBKe6V8)SovyO+{NvZSd( zNiiojhZ++AEEB%bcz#YX|I3BzR{zZq^&3Y}0CJGrn1dFoM8^pt0RR~(2ti{uAG-yJ zVabkE(jF;2Fk=uXP4lBsIj5>vC=~Ac+4xsRWSE)>wH3_)iY~a>w{BOS_5t`sy%iEv zquP|OWOjQ(@XDl%dhXi;QCc;`E%w5LB}3l@%azQj7La8_PQ3ExS`MnKc3(8izRq<{ zP}VcpV}OiN=5kUX8JVfyC%dr&K)P=+e9@x34rCa^rTKo80v-4=RJ`3wMW|9HZ7J&M z3UG03d1`t}wv;(RmaQ3}v!x}%9kZylG$@#Ci_hOO_Yi9v$DdT%9xgZ6J|-j#gic`V z%fHeX zXZ=kxn~w!nTJ2tFb=MIU>I`QF*;{ioVkF&0n`a(B1)w1eT9Y%w$f9(D<7aC*$La2>O_K|-)Tzi{#H z(f(JV{=Go4fPTZ(l`D9cP4u4fI(#EV*yvzR=7)8IA=0bN-KFzf&N{DZ%e6b@ruC*M zy#hqr)X6+i?J)-LDGoGZD?bb}e-P9CK5L7}-3u*S311@WEA`qkp^?g@`=(uBKzmJn zJ{#*I9GkI4JSQ$TB|I>5=4*xpflT%BcRPob#=O>{^GbKz0u2nUaN>qD7X*dM7udnf zi+w6?p7Ry%2;+rp{n0sG1LzYvF;lh9G8RNcWdwOP@XJEdS*g`Y)k^ZbGYfm#_%1%6 zZWPOQqa)U!PEz+#MsjMP!?f777DQv<DM#`Betx7GJEev9^yptMc3g;px++efQc!FiB#>XW7_ z9ni)YQIm|W`;P@9&Fb53($F#2O~cBE6PP~+Q_ZB&aE@GoS6~#^X^`bnp!y{{*K*hx zVY)%YL)ql}i^QWFjp^KzAZpqaC0i=6sD3ny&&h}8mewSRUM>h&emj!8dr{;*2Kj#D z!5@^2;v(E&t^k>pBFaFk-Qc}YEa8FE-Zj&7sx`{@>ZK<#ifwMgh({_p9t#*O8+?s*Uk|K&|CF2s7>lx}?Qs-lL54$$;6t8)^QygqGbOAIvW{n#+ zrGD7_p!cdBhp#)jl&CyxFp$gBETks_&&z_irCH+t7>OW~h1tWWFM>_)}`}dB2zZty#4Otx%{Xcm}ek&_$2YY@@ouQE(zUDs&N4j@|A_XG@2YgM&cc)qgI+k}6TNY*-Miy3P zd}cZZns==o8$JUo%e$K`3-jMGGg36rv$A@Bx~z?ZskPO=xhuUl`T5sv?QfUJzxf*d z_sp94PaMGC9re%8^pB6=m)z+82>1RX{ri`J(cetd->s%W*3mOSnfu0du;K%+~jn`?y?Dqu8HNy{*o`-548}@!q9e zJzY}VG4a55UYM%O8WCO@D*Q*ZouUXDeCS}h{5Vt8==?N+(TkAP;y(9wAG7$#aCE+c z1mQQMSYvgOGmYz&-nmGxqii!u9ezqX?a#5J-&#Dv&qlw3k@R^}aPL)(fpW&GcPWLq z$Q#CwN=a)Zg&(|jY-ToRLl$htwo*bYU}RS)CgoIUqQh?!35CQw`Mu+lbv zLVRiz9htxJ;%U{>Y^hUJ@EAkAP0>k_fZZrJSdoTY6($Q4I~__^zEB+z{0$-lk!zYtHqZSnt)lgz_||33TsHie@9 z2e0$5Ie**ezpdiGACLE8KcA{!ZuEa`=s)fBzq`AC4r+gBEEwOP`8P?Z1ar#y#Jh zUNnCgtKy<@V3zhPh_36KRz!q98P_;W2;&`ja>on8f}G~)P)V!gtH-zWcUpOS+@7&u zr=wrTe-^tcut;f{R=0525o%;|u4$wpSPs{uiklO{+j@43!UOiu+5;rVEd>Xob1mOO z*txK81MioL5fM~ffURY-aDAr|P(OnAPXfzghcvPJM~dkY_k~>fFjhow^s$YNO@r*(cmwv3_xv{LQ&QdoUc| zEPy+;3ajU1{fNRBUEvtg4Gwb16ZI7T3NN$oK}bn^({R$^W$0#{>M*Zh*3q(X=zhrJ z)uH;Bs^Kn_s8zXBrnbGQ;*t3Kl<0+~b6NLXg|zOknK$Xfv23*Itd9rRql*WlqwIHV zpfy!U=Q!*V|Ep9^Lx#77;LfVD%g!-Cj|})$YVY|z#zY&`>1kQbBN1_)7#L1-N~NHx#BKiwpBh!rabfFvdaQ;iv2{r4{c!t_QxDq@WHlAotc$TM3|<YxP?x?!@_ujss-y<&RJ!_wcUtvGI?Q+}Xhvq6rOa{mmKawg zTYefIJbvsxRk2D2Rvj61LP5gj(%MX%WCh#7C!>zMQX5yZ%+vMtT+5DB&NW9*!iteG zG<+}_6Ni-Ia(*kS_sy8n4fR;7NU<^5Bo7Fbv7ngAJ(_Yysi1?$a^)7D(>>9#M!Eur z6@Ggogm>G&wq?*>Qi6&dg|MwkFxTOm^wOU%pR2)0_e zP?Gb2-UsUBKHO9Zj%`rhebNAI5J@()U`s~XDS`4YPZXG4?t3zl0{4>Lz03)jVAR7 zrD^nWOZl3RZ|b9Pd4gn7;95PIkzhlF8S`$W^}aszg-oFxI80Z6qb|hD^MeIRCopVw zCuL;UF+&n=&u_*zu!rfN9j++E9<<@bIVf3x5-q#N@LA$11K!S(7Cf;am zR5t`8(_JYW*^lN{+b(N+NR>25Mlu*8%WPfq(EBfxCk3EQnx;YAablZqgt7@Cj7jV< z+pf!wdq$19{5)+vvla3km9d65;}DbGE?d`Zit>-kP%(LE8M1FijGDEMCrAeZA=v$KYD`l5#SIE1K{dKehjDbwN2&n))$8m4ifW{W zcNZIEj={e0E5H?)6B(QWb`bT0qX!Q_AFSZjiZydDqThvbqA+ zabE}>`5K3uW${!Z*UY8iI%9+C6Uy$QLZSJxW=#n?{_O`-l|6!bE@ELZ(Jz$23o)H< z+~wHzbW0z7wltn;a$!?K2A$RLXu06p_1ZZcb98Ew$AHay8ab43#2mIuaA@){8vUXX z>9%^N-i62H*F0)er=Qt|qNjAL*Oee@w|jVES*I&eX9mFQ?5M;?OH zJ*-{pCRIrU0;JD$=n1pAyyylf$}dn}@8Ic`f;z>DKXDDd+PUM>mvb%8xLP_|^-^23 zY=5#sWe3=>uSDk$iqGM9$2_`NnhG1!SyPdlQaFPeTbKD1dBx^Tkkm9!HxkB6eZVp? z>%;cVhEKkY-LXb&pivADAXHj00}qhQM))S7no~Zh-)0i&oCkfCTwm>>2v{xK!&ifk z9=Nk4d}@7*NCZ_Yb5qxAjNo<-upUCU@inxva8P=jSC0>2T3p;gGQr0m13@^KOOTu` z09Axs@bXx>Kr_2NIQ$CfcJwB`EKOSfeiXN5O7KfY6yJw3V!qSJaWeu$ldB&AX2ardZ+i}MXG=Ys60 znRm~L0EXM@5Z)&e+uWy#;hvW1pI;0;^FIRK(Op{W<0&qNwz6QZYjZl;_23|Omc8jF zEBa*HC2ugmWIEV^kek)gpLyBLtlmLaNdMqIhnggENtX+6iF_JNUQG?Sa6Vsl7B3CB zKeIbBAxIhrxX*vByqtWu&~dka`hkPAn$-yN5dCly0AeOrKil^Ic(r|k2xT=edd&~&YB9E3hcJrQrQJ*IPYSVIt)af-#=?@ANJZjpX_$rvJQ|x z46Y=sQtc^QOo~bfm0R32^>p&wOD=F7^E+-R0ID#qcBcDTi{UqlAl??chY?ia{rZM7 zW9OK`!zXAAQF8nlgQ4s3{;E!lmRQ$)J5trO)j0gLTiQ!~&GQfB###9a;o=&|0do85 zv1S$htpNp%X`C+pIcKg9snyJtj=kEk6cK9Xv9f7pVWZ=|k@83G{)ku924yNU#uAt~ z7)c2ehB>hGDj&tAOZqTd0NL{qw}KwjsVieLt27N^pMB;R34NqWN9>m33BANh1^mG$ ztW-%$kz}8*mZZ@wMy;EbyK=w^bi>Giy-`IbC2wHG^yzVjMij3Tx7j-S@jdZul0;|V zc{dHZY*-gKS1vH>Xs!(wP>K!tXx07DWj@?QwbUOl#8Xg4_zEG;J<%TQ6d)o4r@rA` zKn^cTUmN7f5PyC$_@cm!caGR3A*n_N9lXO(LLuxke(RyPbsCAL&%ND*wCxpoQ@Det zUeFyvM?4bJ5;&Qck~jbqNAvQ*>H!k}-s4j`)1zr&YaVyhbvx8&yztLZm!Z{JC3nxX zY^ou!56)^s07s780R)u`$r7X2w8II>Nz*$ILoGnj%5#Gh6bQpOh8_v%*$<#t<;c93 zyMp@EVgL@QePq+=WdZal43**Xgn6vII!~47zT)|s@G+ZigiqiK>By&i-Q-^)Cw=Ld zS&|f5xZ(;0B$4TcTH=bp&jh~DFBLm`MShUXn9l{5dhFd!lvgXs8H92!eLD{CP67xQ ztn6`^w3d29&*@(UG4iFVb}~d=E6SKOqlQiszc844MB4VQRe8H2I@*+1LXS<-^~xwl zlHqyw`SCosi(yrMzYb65UpuveJzzgCo)jTF5$_mPLFXnW!T<5t(x;W2ZjAZi#eVSG z`lUTW5D5TW6*sjOT|9#{(@ivB--&;3GL1S2cmo{^#RbvHXN|V>2KULNM^fDEaxf<+ zuyFOxOTZ~1kOqL$4Y_C;ZhaFTw>*C&78KvFz(|fyj!$EjU0La@b_AD7(rMO4rx_{S zL%+#UG70~O#v`u#l&mBHDyRd^b~;0ggEFKn>5H^9n+}rgqiH>)7a?w_HJFLvG8QBJSD5HI^EIn-}EWre(YJ&}9q;UBK!0r`rqn z5;)B%lxY0P8f_MkN{T9FHrd&gKT0&(tiGdi*e}|Q`sgspXC)oSosD+|rkEo~v{Jm< zU*dhHA@TcF!2KIaz~5rWUjyzxDZc+r3HYmk`!kjFd%*pj-=kGi*T8?b#QbHz{SyW7 zcSpT52S3Y8e#spCM3Mc8MEE)0{;PoFZxRacrLO0HLq6n&as8XPkg=MPudCPdP!gmW)Fe-=3oDh7RK*J_tyoROtQOxQ zH)!G&rqhHqM7*`14{ir3<4V~8KX(N`2}hREc67ov8Ja$tJKzr``6C}DQ0yofi9ifX zexS5ukQGY>B;YU-pn(KmU`m%!qSz`3(dyKsijbdfmXimbq^NC<7BZmi9G}>^GItrj z{=BBqogrgOsodYPP;$|3dOC{@X^MzOF$`*^%8C!JwMMHiA!7VO(LaDp9NCpT2=@G&Nw`d)arY6@v0E5FOf-NFkc% zNxIC`j36yIuER$8;)5fbR){NTqy;;#IJxp!Euh}1R|5cOK6{S`-BzDGwk^a}V+jp4 zAD;7-yMK$=!US3#DHsY~rypD3z^ZGX7J`w>Ec&!(Y9W>K;o)sfLsuIOV=X(b_*1mf z<%?%7gB%9;W;gsa46>8A$3QIKCIvNf&dXr#TsD#rY~$T5VMXp^NbsqtbWE@u5IoEb zkvHi$2Ov~oLPkoW%#H$zMEL%JR~=tTj~;>|;(V?!@(48&p=v|l8q6hVvs9v+1GOzI z(c=mvgz(AV)Y4K~d&+KBmKKR$*&sW<7w72EH@ZcmErt`7CgOiXEBBryQgmSl1JjSTjEe#^ z0__FDeyN@Lln26SjEKAp-7}3C2Qs^m*R*yMPuGfDa{6$}S!3o=$q88TP}Fee??W!Y zPMqn@ve-qma*tCsU$dBJ_gd|dWq73CCc8s5jxi1Y0;F_1wEtDanfmH`pw8)RCIr!F zl`1+nUSK0`qaWN#h`jmKGhwt2?9^^xEd@R_A%PI)_^g^AH+hUGot%4znLtjn! zLbG1J&x>d083gT62% z215{{lq~)(Xg+!B_d+<89f#cjHP$7tdIcn`B7-;1*JMD(cC}xLtBTG{7y1z+09)fg z?i4i_T1y}u%L~S1C#BWWJ(8!M)#^(+Q?-=uWA~u-(!uvgXp3&AubD1zgof_=mjP19 z!L8LTLIUG%GISZ97P2J{_=8osX|PZBTZGiU7S7+4;l}YXCcG#?R<35|z-DTLano!^ zgUkRgYE2rpV>!hndVzQ607!}31(Fltxmb`z# zn6Y-DEryQ#YTVpW2lHk53$BceJrov1NR(&O570O|jv7%)KoiUMX16jGrt<}rjrD=)&6?u3wt5vk`v zL2?$Ak582kdxk45b9T=b%UCd`!O!-T$rBbST5aJSqN4-HKn3uN@wQ#yw=~ zAfj|!4g+f>GJ8E42bKk;CwNR4LRW%feA8^VgiA=u zS3v`qn89fLW6Ai^BZR=A3W{@APa$7~GJ1!^f;zb6ngsjFHwbxvw}#l&zYfdTf-I0= zK*swMf|TCHZSYH!9qPeFS<%QeXcbqQjcF>u8(=KsUPuJ5;J2jkP)_Ff&UW~6;7%v) zhk||nK@n%}OGJ=I+~k*D4x=i@OHQKu>K~Ge zUA;JQM-z$N*OtZFK$F!{Jp^nuAbXx<2qR%S{@z*+2kRz$LiAp4oCz?x-x{jB6}&WT zs#Rk34$8NCmOJ#}t<+|_7^(JBoo1c!=iKupjNFUR}t4rH!DxX4V zuZ-gP^5>5%ibFn@+*_p@InVI3Dv47VfF?`uFIAP4CtE`B$tagoW+)g$7jnb}CPO(@ z?s*!}od(nleJ_q1WWAVY=}Jz_=s5T~z#7y+iB5WKmkDLS^$G^zd3QbT8rF655{h}g z-hq4g4QKP}W`YllV{J6GFNsVkjPcUTriU<9(M;XX1B$nPg{k7yt$ee@Fso%vX-Nl? z?XDG}e$CD7ioxda;gSa#-*`vy;v^ts(mVvDvOApa*3WppEt(J9)R}C}?uMN0iG4u9 zKz~T9D0$hTF0TX`chqi&u*FxY2NuGCSiM{+XA&n80*wcWS&~x;5_{AG0}|Sqz==2% zNk{r1P*L#$o0dY7z7p-zi6D36pw6^{!d~Xx#yH`;ZLGi6b~e)srU)E~*VJ8VTjtFe zam4&?FS$)<3Vv~9vPb?9(aq?I5wIKFgik>_ysl%&ynwJa@jjLtgH@8pW8b?7V zPn~n9e=(u3Es1PTH>u0=k7>-;HBkk}?9kKnOugja*n`Z7E7?fZN)rKsJ!SGQd@9t- zh&bO}MxvnJ%_Wph-v^@AnP`A?w(NBC!D7tbdz@uXT_x3cdhV3%Rf}>mX}e_9*gCJ| z)tQ|3|2{&+*?FQ3&lAHx^NjWY0*8M!HVH=Vvo|XqPP=-&Hn~9dQAPx*x~`G9@LC>( z8N_9pdcKW4486ZBmjraCChSdhvIyueOOrM#0K7q2I}do>Hxx%;vvFEm1Gh8 zel(@lt)L3`Ra?kNS~4TkvlmrblbnPm53q{SJP-ZguvqA4u3ajb2buj$fW@H(%li!{ zv+{*C?)MIMME99I*5Tu!Y6bXFE+NiJk!j|wr?Y6-LEQ-TRcK!{w0b(uBUf5A22>Z@ z`R7CG)`EhZj3Ewb94^@Jn3s^+IQ56ciy~H&L-w$%1O-uQCtyCr8pTaBbj-KA)}p$kAWjMJs1RgQGb3LxF^_jK?8HBi z@a#s%o5?L}-ppF3ayb#_E07v943{`xiEMqBjt9@*MigKl&g^&Myn&7pcd;$4rbdDiLBt)tF!Z&NEV*r zn>uNsLW4NfekSkjptm<*wogy?zsQb$V_g2AYyJZr^&8axOLp{o)1UucoBxaKh~;OZ z=C?fO58CIyW=B8Q%m4jRKPP{`8ugD>RP^s`)4w@T{wcrt)ktPW78(|oUpP>{|Kg|A z=vPA-85wEVnBMJ({%uyKpRa*`HI(6fz3j~IC1ZabO3(D$EBWJ9{%?ukPbFpVY}-%9 zNPjo|`|mDFHN*pP>%r+U)H&sr^!n2vMF z8dnqFGeEtNxvOAmi>LLcN{m!s%d?SlB=eU!_ULch{79aKQV1ypPT-Ke_);)<--66=OP1F?5J@gAw71Xg zoQAW;wZ^T&9t6hW)@m|D-4@n$qxLdUCN_3DE89V@0^2BwmvvXiKKouxHE{iiqJyg` zYM9%kljkMKJf%K;Z;VhYs#aeBiW#)KMzLev9{#kQi|1)LCI^WMa1zD0T&vo4HyF$i!_0 z$n~>fBSEI9W*rs4FnK0(%2!ZWUutFPX;kH5ZL(Ga`JOlX6FPj+sf2`Slwp^qG%iiU zYMf!KK?BP)ma0`+9Gj9aRM(0?A2C)p2!Yf^awH~DIYe40JD@pd&foPb2p=fQ5^q{2 z#os9Fxfkjc&%JO1x=1jld`p%}j}%bJC0+|^DwZtb&QH6fj+rMh6!!JYlN4_o{~u}Z z99?<3Z4Jk^ZQHEawrx8V+qRR6Do!f4ZQH8YMg{ez`@H8n-Ccd}?fbp?BO_yvvBrA# zFMEtV=dx0;KP{|ksk8W$j51m{gf;tK7Rp>&9+ z{nrZ@r&d2QxIFY#H*K6e=Dl+$0~4!Ez+m~y@{j@&>QzsRJVS@RZYFeNCNhZ^8CMl| zqtL{eZ6pSc6Y9!CFF=O^3izu9NS(Pw<3M(E4ifz7&gxcqh1}h^_#?~6GWHoqRfahI z+l=wm+8USj*mdbJ&XE9)iIj_MUb_AL**@zf^%V;GXY@*N>t!@nXxQdnt$rgbbF|!- zFj!G>2O7M{Y|I0RZ=|&ONTa*xC{g=>t!IEl1ce$xRxJFZq50aVgJ zxWIT}5UKsLn>(mgdo<5>m}I;5`eY6eUFD5q@l_k~Vu+6lfISNkGnA}ZEE2#^n&u;7FYgdE}+8#p1&G^Ue6mV3M0SjNQ`Z%DNbL{=C=xB1ycb7->cJQrv% zjWdR9TAU={EASTC8>qo+@D%-}uNGcl%r^z;kSPvF^0-$`-XO{O!YvrU4xIe2G6*Q7 zWlXzRJ4>618V4k9mm%9Y*g@zlEDYrtZGNHz=(|Y#nT+~wK0PjvL< z>y((S%)366c6ss6rdDmExjJXUZOi2G2zzLnsBNuPAgmvFz8EsPP$G@WWVG(;C2b7gLd72;YTd78J*@ZB*ew zV!<)ngO#rbwk9YM%LfFmme6(l9^-MU^*-uwT;?>5QPd8T{t0I%BX`r*DeJDK#Q4SP z^;0cE9ZOhh_W^{+b{WGumo;{NJv(}UqG3Cl?~I-gh);OUTSuy#AS=4MQ}#?Yw>JJL z03E_1-%;}P)u#g(9lr{{q0z4Fpbi%C+Hoz3(HRPkAHJYnz|GU!DzRer_^^lSH8Ez4 zKXduqCnoGRy?vhrGJM~k9^_KD-rYVs++W-$rRP%2aq!lRLBmWiW);P0DA_ws$t+ql zeXUk+If@<PXpNMX+nbd<8rqy2Zxc+-6mHX8Q@0daw!|Z z1cf$`C0ysny(vY+mRtl;z!9s;O1QUzCJ48HH4lf2{|#V}uu&M{9tC7hozkKa>lJm4 zusjNbaiZg7Px#E5-y~3wTV44Dux=yK9*Y=C>XH!uT~EJ z>IK7WGgt&C{+H8hR4kC1enDr7rFd^Q39kW)9iGZat*!lF;I7iE`!TJhV0AYSJ4l?M zLrVj&Wzg2b%3o19ZF^Zbmb%FI;a&MuOUJa1X61l9Bk*R^@1=A%f)St+(dLIci7-&P z6`XA*F-3MJK@3u&Rd&8XTyA-Q6icumXn(27f~-q4PYbBx72UZxCk4T`s=Z9TVeMZo z7*e1kF{q$^PN!&;+aQjp=8nRcp|0aV?$@$Uc6`W~gFJX&p^@IhgQ%7{gpX*oS$>wW zoJu2D$V2-kO$8^dMjo?UIPa>zAw!Fa>!~^xZMe~f9t9$f6Er0Gc<(=K0-2mNBex23#g+GoxrESr;#!R_U&c21B(*RCz^#h zxP+t@8qxJ&F{HEIfTX#ueiipq=FieT5iZp8uX97q-i?8G?7{Y+ zUbvag6{Kb&+OG*j%d2a}HaJY0sn1VbSiAL%bzMe)Q>YDIBR!Sg!TLCduy~{wC;1Jr zd)nCsE)42niC?X$s1)K;i>m9NfBbCH!T^nPD*ADPnt8kyo5S1T>3QFr$LrR5)n@P` z25>fTh*{S9c*YNZ%n|1`Y6=bLz|(_#jS&LhCD5!sk-ZkIoiJGgN8C^-~o5$uYi=2f@!x)TK4143}^tcH}R(fx^Au3UIH;(_-YjRIg87SL4Tp`(Ba<09a(hv&yl^Kg`14cKe#nQbggh zw4>cRbQwRA(3&0f2EGpxIY`tdOQsZ-d zP2O|HjgKn3=l0pPEGR$TfG|D`95z(Z7Yt{yp_9`)D-tkK&)>fm!}U zgZ_1p|5m=v#LWH?56t$VT4!ST%?*~3fSKbXl=p-25U?^c(y=lzGW`?zx{QIdk-3Gf z8Rc(@w0}@Ru>VS}{%7;Ek8IsvxZFRf`jvM6xr&XIk&f|$2>+GEv3~Hf|BTiCMF9U? z`JwBlV`u(wa{IOPSK9gKQbu+LI!2bi>H5JP|EOC2-*Lx3OcDPxUHqpk@{d;m|JK|y zv#|bS7OCkTyEcgWb1TOXk)Rqy{chYoL=355xs|Qf;(I}91d%yZD76B$A*CW=X$87X zm**Dir+RHq9h&Ma&&~Gd4yOWol-J`(Wu1Nli~_b8dbUtA$qc(33(9Z${g$8hVo%NJ zw>Z4>RN~5%^(tHwMHbh5={9K^79+4yfb<#om9ak=n{c(Ly4h>Q(e}M2bjnF+3mhl!qbg_vgacM3Rea^yF1Tvab z&HlT!h2csR_U+@mmu1@y8_u|$38D6#TYzuvE-Q*$_e@*}`=?j*{rP)GP${KTu$098 zHt)&tX|!ph9c-{w$`Hr4o*7JAg=^eXkr^gDm+9p_PPG$U*WH5^uvq&wR-tryw6N(O zN0VhL^Y`BtJbNhkJ`M~`t2o{%|W9;5QaVcnW@i3LTCh_u?A$y z;ZbHNR)(;sG2NWG#r$jpCbKyzT0Qa5fh6IHl(#2PRjT|`Q8Z(mmbBuZ(==D!-aE&) zeB+iG!esWsHx_gs;(S@BX+FcZN0blP+McpNRn$BrV(h=#w=US!jBpLMi^Q-#JC)|T znduy`0!`n%%!))-P%sBcq=S$10QaI(>aR+Q`7;?vMpivK!ww=ztJ}haX-q(edtn>` zdim6ngiu5B9UJFK5o7A*7~kUNH}k@1DHu>WPy6-Sm$B(6sC|mPgL5|4{vw2Mw|QSy zbWII!W$QFu9-0qyQ0vEqd_Tixz)<;eBc+BL1-7eW6`RySN_a?7N;R^AC1|}Wrh}WYXTGDf*mFqMva!M zrk1>)`Ac!1^(J(t+ef{j6u-!H9BR`s9%t2ivmlpqoioCc0X+NWq{{XZju_0p6Pa8NYM^4r=bYxtC&>pq{#0 zbLQ7?!m+y;Ei~x@2tcPySRDH(Q=*lPALb`2iw5@mbq@#P7x#50**tIZQgq z6`R zF3kn3R8U8%Sp+-Ettbld_N%}K$6N+vgABjr1!Y5__07y`b|dlatX%EY1E(WjA_VqC zd)TEC!ukXrbF7}78#HhCiJ}{~C>L-g_)D_6Ac@g5G;#jHMEBlN6xeJlWGIwLm3HC) zE#XAmy9s_Ng}bqqQZ=Zz*%cabQkwf?g0K~+VpFr=#xi$wEo3OXmTrkFcXiX4r-%+} z*N%bHO64xS2uXM^7g7fM5MV;Vslhm^??p!I*x?g{x-ohrp{TF`Ye3}KFpj{KzUw8Y zUwNJB*w-Lz+$CAsOv2E-!ziFxN(|X#w=M&4E-%^3GzigPpZP!l1hp#TpXK;^4pK|T z2==1bmFEyz>bv@xC8jSDX2%}Byi7hd>OnccK)|~BY-TZZ>BR@C)`fDI_6XNEGS<^< zA#6-;5c&;}z!<$~H>ewGXGgNzPTo{;AUB!0nuwlSqRIR~8L=93yXhJ&{j$QOQ9biC zLMcqJW&vo_yc82#FEgC*gTZxyOG}JDo~UPe0!{7p7m}}^vBt`t;hmNOzs~VvSCin7 zGMXmqtAR9pZ_Laf1QcPzDKq;zA7QKaxLdH-3m4#`h_ezhMFloeWN}TX;o`Jv^ACsyk9g z3Pt@vKeCs)HCMm*eC4)rHg(>y8h6m4805Ohp4at6dkw4Ver#y|ZCX!Xi zqDBNJM6#;5$&8~h2wCFCNXIq2QFlgo z&__7Eq*2XXH`J1o1CXbm&faTtfk1TR&>5KLLTB8a`S)>JRzk zI^lTDi(lWyXo1BdgkxAoo}RNxmPw-V(f54&nhWy-ZeRlMjTn>aI+rE^e|dsG%BHv& zyA-iRfkr#$6EF{8u$*=Y#N478?;}F!S0nrfN<-(HOs`1GK~*H}i5<*QI+knXT?p{u zrEpx6Acxpis+SF}n>DIRQ)zgE?KlM@KrMJTe%X!bJ6vCl*G(xe3!%Q&qVFP5n6%jS z>r_;!>Bs{7yY)W(oYnS5)~?k_J0>`s_zCiZAXt$(V+EjCTS*dO(L{bTE2}XVgwvl_RA($3ooIN>Y^`HtCBt2;0S$E8X=ir zB9>7qHiC#jEM{FgvBc3MwzDgEF!uxWZ*Yxg(4v|G8lX_xGv&~JEsD+BY- zsue{7&uk@PlUjvG2H5pBO4k@?zb{Ee0#`6zx$)Kds^&1n+j}r>Vz6_0*>2bY6%+2N;o(YB)!#+ffaw&$ z5XCn!Qf`9kM4%jYD1-bqYJS@9=C*BgyIp4#yfXc4KYJx4KGYF}?!nC;z_}wPa=bMk zy6)*Au6yW;;E`@IDxqk!m|6^Dd&D!x^fPLci-k&i3~C9ZMGY9lxXBwS6K{!RAexaT zd~ibdBwL$V_84=*z2Lh;oQg)e($o){`|vsDJOest5v9==-b|Bf&*|equ?Y1W<8hG2 zwH^u)INDG9=?L>#GKB{c8OdBB^}w1RU-KR}5bPO3$u-_-6YoY4@ykyZQ^DbmM&JFg z@7_l~?i#JUhzQGjQi1j~CdpgY>O2E+245oI#-K;Jf>)M`z681#unYAbGkb zixRtwIL}9X-ug0E*f%+*!yih^4@uAwGr4n^XY%}TphC}zmhG=!ZPXr{O)n!)Wbb*A zH54Y@@vqK^p=YC9%AQ{ce1)Km&AzM<9~*i>f`R_%N$k6CQ+|0VHbxKw*Ua86-d*cb zO2qjAPV-<&UX}9BYI7qySrn_hqUzWuGvj%nH)$pi$RV@A68~~vj^Fw7{eJD9eRy@7 zujHO;{VmeBk8-Qy$HPtWPav%Z#mH1Wza$L%AGO?ce(zj+DnrTAox|8vUe}J3uN59d zQNhEb{WX9bwQx7;*K~nJvw_z4JmAuO*G%XvK*@zKEoJY8B~AW|(#=c-s0ax-oOGxXOn>%1bSGr2KGM$r{O03HT1H6Pvz*Pw#8J z`3Xi8!Pn(Nemv7WUWq?mtz({ywo( z{1egscKREOMD7^g-AO6$IF1_ggr^x+>JelQ>^!(q`R;GV1r~l8p z4PVqxKc=mSKeM}fC(xBbL~cum8jc9j`_=GQaXb(aP-OTjNF;ZIi9YX9HBLYHUcQ=| zKHH~h%VSSpOn&@$nqumL-r?)g29~?yyo?$1cCF&*fk3@K5zVh8F%)?x;j7YLT+Cfj z!MvJO!&IrZ0md&pTfA?yUt}>16hyPBpfBJrRGL^pZG!6-gJm`}K)?0cR8*m)-GY4KcH%q#Y z0JhyX)?i~pI;?!&)3wAhlT}rR|_*)Wt(Mp<45s0t* z?Of(kxhPt!yTUNdOH%TKb;K@H0n4e9$2hLmVPce+5qoI+`q(JmO_9-}TFn;qT5M6h zp23_dQ_8|usQWbJ>zyK=dahv`+ob0~tW57<=W-b>y}_r=g@u|zy(V@RHs&>jxy|)x z0s2%Ts|hR*R~J6Ax?i3gm?F0q=EOTZuqIxUVwg@|`bgk-6eT~&4J(XV)ux-(NOyo^ zPRfua;_L_eR;{Rq_yTEHaRTwP zBN%6T)91r5gZAtEFsKjH2+0|f2b#SAa;~3Qg@&GYF+^(m8s7#)}2xA}e`ImKKp4;(mKa+kW5i#iC#uk;YOCjkJIQGW=J5oS;3v} zwCm(3rrPNx5{j=Za#5`*k7P;JL`ahw;&vGGm-SgZA~ojn1TX!Gx!keQRI7w7$?BoA z#Nky(MT^Yv;WZBX8nk;u^^+>r1B8Ad_RS+XyHW zl@I~7lfi-=W`j}AzE(DFnAOcBLx+Se_U&b4vM&3MF0|dxn9vhXJRvkgbO)4= zO-sxo)~=)q#K&|w1l0kscv=SmiPQPBma0ALA9 ze7NMmfpL|7!)}dZ84z`j2{`~Xtb*Ikxw>M7BnD|r{Od?Kp==GRczj#;AQU6U5M%=` zE{g%&H|fV@0-_P4j=7*Jh>eg)bTmF!NP^po< z9ckgoei8z_NlLqsFWO8q%HkkFip~rXq0K~n+-GURv1_Q|R+=M#=+7##r+^}Y6%&nZ z#rZ@?rz*8wF0YRKp>#&|0=4BQMtow|8ca;{jOTYVa_d*bF|fvJ37DI$C?OEF?2}Fa z#>Wt?r6;X2&E(gS0+K*%Sea*(dV%}`UdXec8UPp4Y}&9V`3b<+MxA`-JpkzqiE)@T zj;v5@$DrO1n|Gex7# zHq+TA9IM+Dv$o^-r-^|Efv>4hus2_=WWEDnMrqCoEg?I7%X?>E>U8z^>7M#&W5irx z7~}?PZEJSx{d`>&3b7tN*~=BjiEuN%BDr!!$|9<$=FXvu{iPGKGxD^!EOGNjsX zaay%N%1-V~V#cI9fN6ZtU4fR=H$W`R%D*#58eL)U8{D8HvmlA|%!hrKRPjXRw@0iM z%NuXXx`zqBV8_qj6as-y=|a_yzeC75!51BdL;`F*?)Q=(S9E%AYW2N0U<%t{lbr?E zKi!`}G!p;~L^==J420byVn}h~!K;h3osNN z_jEzPnFaSh5id-g`0}mpA*{@6k{7**YTDGD_g~o=GM82!RCO(*v;8N`4@AhI-z728y$J*-ip$`*vEtq%5LUl7m>JtFzDu@oJ7X6{6G6`_(Jd z&VQKSo9sOnsmtO1Iq#8mw0XSGUGQ}Flv0JMpjvP&l~*BVt+#{{e{q1ql8fV*LdKv;2l+|H(+~Z$R)LTmB9#e?P>3zdg(PfeZh0(7&r< zW#XV?VEE8W{xbbx|7H5~mxjzNA4rztB0Oagx`{RMgdrRxX4rek3KbwtL<^83H#-+2FThgE-4H~z1|_8*_*zrpqg!28ET zDUDO7wL!$67hQrg=>Cq7I{-L%7G$_<@kpPsTJG(OCYCFK<8y-`KrjHJD%jq(+N!t% z?i5mx&4N6)E;cXh@Rh{?UzNn%?UO{~bA~KDSoCtKs)`YSQch4L2m`D{v|Y z1msWU|7AOO{4m{~0rAtI@T|4-gmu$%U3no(?FJ+ZA zsO~0=SJTs@q9@<%PfcTd?c5C(Dt3Y*(vn!KH08)wp;v2 zs}y-ZERK8#twqLE?bwk9yNHhl`uS-X;2O$MDtb8rYu|S7>nF}#K=9RQaq%GD?%B%R z4cAXfY7EA<#F%tzaPO5@C5GKAjqVW`>B)9a)JePh3!!RNzOUD>mZpV`UFW`)J$8-Q@Y5tQ~BPKk|;WixFfJEpWj6AFt%qWLD~@a`00Y zRz#rWP+t_Xf(l&nwn3J2@Q>7^X}DzCk@4|gK+MIvp)#W$6a;JJ-HGmVcU#Q0Od6+4h5%cJPL8&qEs6ZeXuSqRU z$^E98-KSqyO3NI!%`8l>mL*^)93T|Gqmt)eOH`Y6l;)85opN*iq?0c_6-NCLzUa6M z-QS6^0Is1)=p1a(Z>rkUwgs86OC${V%A`NI*-Cf7Br-cRD6>SgS&8{ztmB^|1!Q-{ z(JONDa4?LHUU$pBP7@U5B2z7W+GvQ-pyx?5J`YGR#q z*}sYb;dpsA$i_>?%`&fngvjA_{}~jnBjlJ}e1Q`#G~Zp50?Y!iAxPzj!Fdqpi2_bf zv=JjrnBbvdX}c4EE?752jc}z0+cRaeP-%NtKu^(K7bMkW?cGPm8G>#~=SQ4AGc%L| z%ifyc<;lJD{L7Vz1%O8?2c2h36Xyb_$W3p}VBmcp5GvT{&PpE(zetRN_*=KPM~(pn zw{ifc)^`}5AwkoPqO?IHB@ni(qQoCmO5ru4op|4HyZG?kV&a1; zF~xG6Y50BuyOwn1E$?|4qX~8=bO|+3L8cE&3s&7pe6QAk^~|qDqo7BKM>2+E721bW zj0LC`viT6C=lZ42<|PyqUKXEZynl{7j?YNCz#6oRZi z%6;_d*&#RX9H6rSM`Q-1TZ1_jFfRSH!Ej$l9h;{T)L{FRL7_IR8?S^~Jwc(8KR(}0 zEg=Ohf}EC6U&mIEpGlu=<+~-Yv$5*>m?XQI;KOc05j#L${23 zLS}jE)Jv&ufXQGdw%#;C3%)4(WxFK_nd>eJQ5*5V@`Cfba40ZCMqGDT}u8NQz6-G{PBN9`G zZvo*jy%a90Bu0{E=3Ih(J&?);P}>b98&Luv#fqrjly*mW{l%^-Qk9N??0Lli8)3`? zo#cxV-tg!C5OY9;lMEgT{D99u)9}tWFjnJPyjEX1Fh)rAXLquB*!I0;2%%{CT&P1n z-KUlhU~_#|sf=6JX^%02!C+X7`3|gLfcC71f_$R@XIy;!?Jn0y4JFP7)+l50XYiQr zm!IAb5GGU$-6rPd->-h=J{;=+T|diQcwK>2tKn+3@%nmSgSdu6fm8zPueE94tgvf{~MjgnR5V;-@oEydp z9=lA8qQim};g!{?it0UsugMZYPY+>6fHMwG`~4OlWk0SM;l(iLO&|#acg)-OzM-NA zb+vdxNhiL346owRt1@$!QDFA|!)hhz?uhi+{6pg?YKQbVe4C>}eFsu-RM-U)eY+uK z^%_Awc^F@J!E^%`Ej&qrn`Qgvim}*9dHKKrjgF%=8L@PCAb9O`F&u={GApn7ynJCk ziROCI7!*|dx?B{hJPfR2QaIwo{86x}O7#|Y!k_9-S`&XZ2TbXLQ9t83l|?o03B#{1MNNWPNf8G zBfG=Zg|#rX%Nj)K5GDW25vNFhQLx=t>*kdfL8NDu*@e?aC;diIx2uiD6a3k{_{(WO z#p6!nUJWqd^jv@M^nxooGOFd}!2IW|6xaQREuR!#r?e~WEpgjm_`zBYP6vG~!B-?w zgCCH1&ZJ-$>erTjBHW;Lu*g{|M+cG9F?OYey_Y8*(EA;Zq zlhY8)cg3e9q#^_w^^e4)N>vjmDb;&nIx{{z@}YQ!$1!g_1RLhttli!`k{pz8k;bSv zMQ>1|*4HySQGK6E&*sBG%RGCRi0szv?tdUpYTagrp{g1fN>>nsAwJTYIp59F07#Vk ziYP{aswtFnE)nzDZSmEsOLm!g>z-k8a}LHL0VQr}eWNxkS{DGmh_mRo#$rSm{n}+~ zK7`Y8tP?!}o_pz_hiPlmH^0|35ZQyqCv3Qcs+Q+ai@%U4W3$(3`Qw~k{)jIt{1XV~ zYQUfXx^!MTWIKUnG5VWk?KDkrf$V-8--W?y0*SwC_%Q*6!3+v(#5Ui-wIOOvkzt^& zZ-)U)Kj5C1(%NTQ-yWMgV9G6RX^>btf#t4v;xef+o|)NJ0wT{$hO*&zKmRuVF3-Bf zFNf+x8ZKhpx(UZTYC7{@x1dYYY<-5A8T^UYklNKi!o6`k!rwSUGDb#SGM1SSO3jn{;unX_bnX*Bj?}p zpFgs${{{b{7yaWv;)A;}GXE=f=QpJ!y}YBHk&?-WjW7Ydys#(%y|Rg$^IsI5EPo@{ zV`BXfR{q1KuVf6X*tO|koN8EVZkzVI*s9PvXDWfLbHh$+M326rXTB$Or&V41 zQ|K9i#C#Si94CtMR`c}XA38rVZD9&`Y$f})nopgwT3U`~FxVrp;PUKP_=Ux&-6K@* z+&Y!a@xd>S?HCP_3j^77u5~Q=lG3b>UNaKrikQGzkh9MyuD8?>X1!y|{hD=jm;;?U z2}HXus>%Rq3)YAp!QqX9Be5LJ)|iMGW9nOfdg2dz*Z#iQ%98Vy0YY+>icf{wdgbOd zv)Sdq15{&J{d{pK_ErK*5>gl`hbCv7aw*hup0a9vYNWEE=pXwN)3I5tCGu;yeX=j@ zBNl;|XYx?6eX$FQdmuP$swp;+UG9S%Qz8tG(jGbwZh|#y%>8pGcn`2UDjf+=WE4Q! zpdxty^LM-Vm1%fRQFF8Y%`@{8?Bjs~oU9VJ6!RRrnVp0>rlUg*dF*>c=eb#W!M6=1SZZRK;5<0E7G|d&u^VlIXbCKa*Ti z@g)z3p!8Fu zk^=)1S08E9A5<}2cjLGIZ3;LP7 zb$GeVc;{8^IN#I&H*$->b}-VF_!}9H)K`j;1VA?`t~&(e>Wpnq;UMlsl|FHb>|J^1 zPkmvrVKuTaLc?@YH`MaTVw`PF4Qv1@DeT+r@r;w2;#ms*+b%4nH=7aqE+v^+lyS`z z1k0W>)?&*5p|&wX5CY=-gb-?HoU0ZX{AFOtu-A5!n^rV8MiGb7p}mj+D{PqJle^%u z_*un3*)pnmjD!7qj=WKt=F6o@O|}7 zSB4)B-4ZoVQIIjfokBo08_Dwik%rBdu=LO;R^ zW&C$XPh-2piPx3yv@u7X9AAyDe}E@(CgLmgnMb%KiF1YoIG`wwc2BGJhLKR#PdQZQ zD6de%T?#AsuMmGuLaH~7(j-~6rz>#Q(^H}u`T}0r2bLb=Y0CgzqMYZ zI1DO8M9=nd=aUWXYKiQGBMl2x?P~9$fME9`p?~2OCTFgjgp{`ZB-o&*?l@DnaF`l; zs#<2`1a$VdPsqW9u{l0dTSBYrji02S=k~bG>B_#v@s}50>H;X1GQwa1Y-(lC)=fXl zdBn{;%Hh}N3G9kOCJE}Iw36M~P(v*uS;5mancoc9&L?WVE|>#97Ah&2Q`97osJj_# zgUKWFBn|8j@GYiZ((&nbb{hH>6J}0eJ{hkuhn1^cX6wAYy1Xq-h{wz{fvBoVB(5Ql zOW>hUk2ac6V^VSVBJ0XhGYMUtTriT@U=_I#?bXYm&0MR=yUpr!VatcxGLgHyL84gJIxUtP@Bgl@QTb4dIP2 zK|9B~vgDgeE-}q=!>wEC%Pw3?3#BN4t*gIjQ;uEK+?mo(xH#yt^#;5{_!zWdNJN;> zX`t%1PP212>RO+q>p-X^&&MGbPPxn|3Eg5GTz7-eP(vNbvLg-7tCPUHkWq~Xn5Z!j z&$6spbQr{7w;&d$gi^~p@TD&{i1R5z@nMGd z!u@oH6~!#NUGza2vo%O0Tl(HzN<%NAy;1YXR~KyJi@kjt0JMc1WKV*G2!SWKrqXkA z4gy9y-p^Go`6%r90NDs=#tXo=TtBa~gB&^~3LV+D!c)oHpTPkk!rZTiYYKqklh;@e zAS9X}YD^wBJm6L$0&GBb!hT4yu2|Db9gmDbhQ7Ok^;5aP;2|*qT%zjnrb_tT3wXZE zPOd=nki7MS$ibS!*Dw_I~zN+Mm@*S=jv3sN~@3#6U1Q*A-+F#RT#=^RTEOa71Byv!i`^KlRyxFay z-td!DVp3#77h=+^^t`&Q^lith@ zyNtdWZ(P0}%Spu$VA94CY)DN3+PYC<7b@*=W5H(K|N4XWjP!lUU_#rE^()L0JjwiTcCTVRTTX>&509!%`q z^gtetkF1~`aO`*Q{jvB@7h^VA2uNxK^JtFGGSmUGnhz@7u?66a;=0G!d497ztD+ND zcNL&|l}XbHw=lFoTcL!m9q~hW`?0#|Nqim&%F|HB={U-3z?9S1-@CM3h%yv_U4<+w z$>i4BB&3ME7p7Mgvh<~durq8xqmsH3TW{Mg!^n*QXgh}zzWt<+{g!mKqy_riI78@ zg@l@?H1_)6X`;LbdHCdq_N}m8z!$m6?al9ic~qY*(^Fg4>2Kvm*IP~lMme%4T87-V zr@yH#IIdB zNT5*7944PTSeZ?AK+q}dFxUHhNNuTW;bQhva>HSkbgT;XlqBSkEUsKLzuTp+W|`hf zcKj3si`Ied=|&#hSXN4DuQ8e`qJkV1+!e@p~diLNpvq9vQn?Y z!WxU74vpEsa>Qxl^1|cme7e0E`Ph;1iWRXn->o?2cO_gVsjWn=o`!zLSY5*I75+*J z< zXwrpPN_!5v`I%ziQ}ZWyqG8ss(q$*XQRZsY6ma*()J%9#@`Q7#V7IR5q23Cv9BH3tUR+|(7aO|rX4&~3b8KzdL9u0v|+}(woL}Wb$VrQmj zp`NQK$odvALyzmeiWk64M#Rj13aU^GwG#VW*FaQSh~lk#wVRQ zPU1woHC$RNP9H^@kv#_LjUmF@D2{5QfpX6k(Ts=H2!r{y2p;%YDpo8@hUH|*B?v~U`G zZ*bAz@H9-GtF4|Rf&tPIo3^=l8pkf=9$cat2X-=srDW4S>QokxO1 zv85mq6a5{`+~b?9R)DHBCL%}F(E8Gi)u&n(6^O}hfWEKMuBc=j3OoHVf(jzhQ^aLz z)zGt8WPEW26-UpH&X7*&hi+uUk*^*))y}m+oXb?0J}v)%`MVPzf?5Y!n7m?sh(UFMy!CFqw#i$sOQj zVT1R~JZPuBAa<8&@LO9DF=HyhrYNpY$Fd_6szJP`<5ZKIq)2Q?@bxn~36lRfXud{1 z0O!pK!?xX+Q3s*3?zy<0%sy|9AGWtiOkvOHcw`atBDDBo2|=?|ic@b#ddv2>i(Ng@}`df>>WiScDj zXof|p)g|966}?=j5cj4e0;al#r7fdvea9;lyWi$ZhEGf!__uVR7R%7!hZ2k#2n z7Ovk~UAFknp+yOAJrI;4!cV>TLjX<)%0A81TPJ`Qah&u3emSHRZ6f99T-esVTo#ZZl6dkUdu~G~Lyia`0s>jaiFUmiM za|6G&&oNWYM^JplZ(7G@nk2prf5ewU4dweAtik$6f%1QWHGcnI`^&8+>u=Y6{|hg7Jm--`u)X!V~Kwq==8s^q4^;D4yz+5b`Uf2Ncl}s7Sm@Z<*?+wk zWn=myg#6o5Cf1L9w7w{HTP$>6L!LE?E{wo*PU@rv&lE6 z@=Bm5Ii39;6)X{-%DKBTj&=y+m-pa=1uTL^r?^XY`c7};a%$8k_qg)%iHoRV)0fCc z)54@1-EY0)FNY^f6MU7r19hi3EeOFFi1j9hYJ6VW@Onei!PgEoI zRYbURpMMhL@x!1#Q^BPT)n1GizRi`=pXXUh>-j+J0=$=Arfi2D6%rv3MScfCOUECe zBAk9Kr@2`*XoyJ|=B`XKThnra?z#_u#4Bq}S)h{UnXBksKXnlE41sT5&~)#hlrMht zn!R``@%jW5Vi*U7X441W1nlJnp&SHWc#iSS?sX`rL|Pj z+X7b%%Q9L}joX;O(YZ#fRbdZ{f=?w`oD(cj1I3c>H5UP%2%>(&@Ww_q-{X1w_R$G0 z4ot%wJRouk*>PiGIxm+lT9_&~WYql%2PH@71M!z2a~uZ!f>(JF>*TJca`E^(i!;=s zodMXN>u{*?>o>(aIoXWczO>nuu|+~)iszsCb17*r-rYwSr`;X(f;EI)yO3?f9HPjk zwt*1v3Zn(`sPkjZw3N>aV6t3*}q-MI4-YxnwH0>~;R5u*K4!S^y2wlo8a zcw|6MZm{?qN!B1JZ}k19+5>n76*lD*X%ltAh+BoPx)b)=jBhMr*Q-ddn@XB#19Qc< zlQf4g3^Ismu)abP4$GOUHKAJH%s``y zB&uxi_^x}s*apW3I?C-ZO2PhIPCtc*7ooD3l+A;hdbKhTm!mdN7Tcgb zc?G%~cJ@%e2P)CSGjGn31VJR?2csEsAX2`YHt&NYqS#S-+S#cfjg*+7FlA;I$Q0dK z*t82wpcNYmC;z2AE)n|wq3xZcGhMfB-=M+@DzftwyiI=jY=xEZL?zY zX3cfh-Zj^(b@x2yp8IcFd)oWvOUw6+Umtz+@o89BPFAW7nW*@~mPXa5gTdMQ!^L!T zV4O49RiFSxdqdIslrb@n%X#a;3J8aJcqQ>=5jkK zD4}-!g%t-~Q!}WBuRZZ$sbx?=il6d=Yo+)F3%Jm46Cp9FifE5-K+Lrx1DLcTVXWyE z%}`AWJm6_Q1;szV9oZ&7KwV479iO8L0V@W?Z-N#eFdHDddrNob^)3kSpZO zVz`0Ta@^ zo=K(RJd=mm1RzYyrTdsWkL*z=K=RgGnXn->=CfM2Vq^0ZrZRc^@;KN6hdB$TaFASq z-|p<=r&GQ%anB-VDP77{i}fs%x1w_fsh?G~yXexF_I$>c;9s;OlwD!U!-TEM z1bssEStu0F9z8HV*1$|HDJrbC2hydW(IJ9A>OwwZ^gAf8UN5?ro&zsp; zH)pG-FpalYi&tq&l zN&b3=w(srUPmhIZ-`Q98M|EwqN($ZB>q!(&L#e1wI!E{Y8tnC{LzEb%!|MZvk#_qz z2R_{TRIrBocC(@UJg7gvVX24H)3craF=VKeRs`d)5e&mqew~UB6(lQ~!_;4}Jkk|m zBymb+mrb`-^dPk8qFUuH&*F4gmjlntnDbB#GYFWKVhm#R!z&0b|O=$axEgN)k~&-=ja) zj3!i&&$sLDFxqhc_8WPcBG3l|9_I-!ifsv!xbWkHu6a`=$gwcm%>iBtFJ8&IQD)GK z5d<0YD~^1X67m8mT)m5$X^rBO{0%>qRdq{`HA>B;+%+&>7iwRa*QyJP1WTK%!U$pk z`%|$b>4;AloNAwB7lfVq*JxE#ro|0-3DjM}MqRPR@EHwLofoHg| z@@ZW|ng?zb)XH#{xUT*uUfh%H}L?U6BN2T?{Q{JQIqktQeaP-kpmY5Y}qvE27*_8#5t zju5@;OqK=`#wF+iB1)OQ)eTOT1xxcj-`;NZ7RQzyd7uJ^iasl5|3R$~^Th7*R45MSHbZ>NzleA#dkTH}aJBG$X&L*NzS zeT~)(CUqRQmvfs4^^9U0O(OmQmm#0DkeOEZ3cLeJeo-2%)>i#=H)VTq>Z1Ps&{WsT z_UTMWzfs7h!RUbY`RzWQ_eMn;v;vD*oD}+IMH6047VhPbL$|LM z?tTMLRt%HA@Zj57{Jcft5K=t}mri9myq-|SymC$4TU(90;Dc(w^h^rgFn*u!A>z_K zI#vj6ZqeKBLxkLt3%8Nb%74xXZnh%B9Prsob{s&*5C2qXZCV51SwLo|{b3eI?xb5w8VdtxlBkeX}#< zn~>qIZj}%oc@KTa{b`iWS0II;_T}I4)US;2pLpswE|K?zPybsy^=p{ZuNCP(YyCev zFMf+9e+_ebp9%d{@nzv)d7m-;&7dgjpY-Y9J@8$@re$FN9hdw`BK_S_MwWM%2ph|9 zkmgT?_wSA}FuijL!#lqGh7f)wss9Z^_?upk_t*Vz!Tw)N!12ytf71&Rq45^A+yeX7 z{#8Uio4v5oj$|?MCmW2=_my_1&X)4C&>XX{v5wU17~beqTrV)?ckqsW6~70&!w8d)c239_OSa;vXkDqIaMC^DIcW=|k)7 zArJ_W&7~n8?&g?HJEFVh-SR-DN6{2Y{N)5m_pl=4^i`Od&6a$NS`9lQ{a1%#fY3Uw7y4GNS*w0bcFxKE3sUJwADIT}{x3l)crTr)**a00+r54Fqu=FxOStj~l~ zw%bn?7J)ZpF~R-AfIJlx4jeeOWdM~bC?_+oF3(}5nKC^nZn~)4kQ`%ZTK{;u?3c7^ zKYX#*!`A2zeAA460*OJKC@EpX>?2I<709(?BXhYxP9IUXQIKp2z`h{#*Agcfr21+B z_P%2=IZ16;DByBzoX`8SX{9>Z6$MeKjZV?a0^-%mmm|GOf5JqRn8JEbJ8y6_WjW%0 z#YOrE)s(QOXfzYR2)<6H{J!>{-SA7FKnQNdz_G_dQ8Om6AFQG0tLVrwh#Dd~!VB z9M@$sKQZ)pGg?eT$o}RCC+;?``*dj#7+&l{I}WvGq8npu_2zXovvSzcC!nB+E;Bo} zq{yU$0cjvHBoriRe}0DO2s4CJfqq$kLzC*2XcmK3=%{vr0&jBgs}t_XK@1wSK{j-6 zNlUDLNuiTX$72k*Q+-*So%&;|x-F!d35L?t+oEJe%-~I&9{s5CLnx>i$WEiLlS=S7 zm{wtpVM;Ku4$?|y2TY4RFMfPJ0}W@Zn~A}V;sWXvu8<2r#oHIi$r@K1hTkB73fLq4 zwWvZBnz!`$0YVBy*?1TZKQA7K9Ji@ILA)Z~p}rjQ4l<53(XcmJ9_wIjX8`SwxG&Vd z@TWzz!=z&;v^2V5s;cfIkL6Vbuc8xAjpbod(m}n3Ww+ZdEg8g@MdQf`TIZbn(Je3ooKn$?(1hc+kZIT6gpw(+D;I zLLL9AfGYt+%n&Q9!-9339CC5D(%q2rdPB0l8&O6-4&1BWTpT>v8b4M^6kH8;&cNaz zvJhx~$EEsX64wr!Qs(J|SXaOeYsbfx{OV0`QwLp8A63YxZ<2|+?QParlbU9(Nlj3C!D_r}H?;6QI^GH|c6 z7+q>Y~_qf+aJk8!*jIFZlO*+3B#524A2!9r;Z5WEY3t(&AyLW zgPdGR2C-0sy$i#~>uYTplw#Sq5d20JRF2H&No=~3c6PQd2nR@EVLK0y~Q` zQ8G#Cl5kVR5_DE6^7){A8H@LXV>HyRN$&Jr&&Hxv@HVSU9U+X6s%n6p=OVJ;WcQ?Z$Rx7{*SD=Wn=o$}k~JcqI^vJ; zuVuViE>?{PFhnjcB}xWZu@c1Ne9FpQ+!Iaok>SgU-<7&%m*6%BtiDm4n$>0F6~|zj z-0MxxOgVFby0ABJQG9t)Q1YnWVywPC8M2aNP?#TM_hHzSt0O#nd%(21HOv&~4Y8~g z*ql!`xZ;P(K_#pg2}J%bh!TIWAtEPyep`%-Xu+LeJ}+EhSp;4PL=Nke`FTWyed1v! zOs6mbkJKPCAVHSAXo77^y^12n-dWk_dOOAR)zUh+IpDZMIx1|+YjJf?d+J>e;bHvN|7zJ6G zjjGYy{c+|?DpVp6DSKh78AiGW2sw~vSs8+pkw8D)JBjXxVriA3c7TA-sjW~pcV}to z1FX!j)NXPE`Q4tPv}iYeV)=HK!|^YXs*S*b5WOH&bu~(5;oA z!BXqdki4ZKudpM{6=dq}%*`y{m{&?Ph5hKCL6<_mz@a(1@9oNo@7-kq)Kd~bibynGoQz2SP> z-MoaQE~`il-F-{(4!&v~SFECziv3u>*5IGQEJ%D|8Fr~FW?1k{({~okz%+#w`GLo5 zsD|^KDGl#ihjRxGdx>Pm!n70wNN`_A1re0qzWfBL4%pzLVGnXmfjs1E8}ri=F(D+K z1Y{jK?4~rL{2-IXQBGBW{nY&ReTTa@VRI_m6lS&=`+_QV3AZCSxzqZ2MS>+>K%ev7 z4=;`|E#jk66R*d%{tRALkMggZQ30z}PWWxb%lVcq2Qu`1w->&0(Kt5}6Alp`B>p(f{_cObqX9 zV;JA<|Ns8j_nywLAJ1=z?Y~Bu=|q2R#uVb|HW_bNd7nZEkVP>W~B+? z9}8TXwxU;wO@%|<&vBu!=MSy0*wy+4qHm#v)@I$oEc1DI46$A=Gav>NuzRgP^=uij zW5exVU{!EKZe(%OcL^W{{x~4!P`A$d;C%lWQdcgN&5j-0#_{#?(ux?~7++d{r|ZGJ zXUFsAY;n0c-rkv6?eHY)>Mi~4g`bK7BpW=EJxi4Rac5`c43Xj{8C(3a9zTRLTJsyH zs%kX*tY9D~Ai}$JKPP>41iqU%wcO&luNKUu)zq8(^P)X&$znauj~JP;3@L4Qwj^!~ z2+J>T2m@84T(}z3^4%GT%RkcxHpg%91duzwhP2PSnogu+TFB-TGLUkz$BT+51QOp+ z;Yax_lWibUe6m!!Q%f6jVqB&?xhpswMq#7-8LG3|&}(uyH~+k9tjFCC*j1gip}Xpf zU~P&y-f?uYePTprgpQ5*@{m+^Qd?0(MOr!kWHO^ZZ=$h|Jd5ITwX758FYk0S&AdFR z&%IPSdUgDfU9o!oRP8m}yYz9ZMz8X!KtzV`>G@&nWapp~&4#z5{l4mc9tw$fe|&Yd z7qOVmd4+EWzKrA5)!EtJJ#u(0GaaWxa0oVbt#O7uRxk*d89BHl+-|QVK*9tv$zx&% z;<$bF5iF=1Wm*>*Li9t991L}Job!sui}wvnmGG5G!*Gi)-xeD_b^X(w*2 zvUCztI(=f9L1SCfI1X@eZzi?D@N}Y-pQ(?CstFH?(i%Q~J|~_=`9Rb2GRODu`2#EZ zcQbJQkuf$>;hmUwfEF+$xEuvgQA#X|ITLToLD3e@Yeyoc7K)+R@yVU9x2MsakSZC4}u;yXj>`kVQ7tQ;1(H_94+z zZRh5^YDb!_SgerET8<}gDNo_zVT?I4;sZ~(B?JvjDY3yNlZDgHl-goKl*UM`UFILs z8h^MGU|N2oUzq63qMz6|&eiGo0SQ8iN5#QasLj8VM`WTHgPGsYX%RA5Q-Kdeg%iFa zX3kQ}8z%D=Oj1a4X$Pe-7269sBiHfPuUlk(2^>Q@iA_cI5;w_}B-x+5pP7yn1w(4U zPvAKit5{sv08z8VQV}V`tTCyzypa_cz%CVz;uuS+<*Zwn=p4bSVv{ms@~P@ly~ob5 zZ_;bNN$b%sru6ip#t^K(yVgMV2QKCX2^iv><6Q1gH+%X`TX~+SYNAUU&{kAL9KVt> zcQAN$^>G6-sv5GI0W=btH`D8c22-I7f=>ndkD5Hk@=j9qg# z>rds^ZshW9beiIysooqISVsJ;eN9~Lt;d(k)<>#BM0K)?E_djlj$f3RtPRJTdXCr5 z<#i@Q9)Q?84Y0MSQin0_qdoF$r)`20RgGUsPc)S&yd`KvxU8}{fm|db_(pgcf((K~ zIAB=7fv|GwP-7y`M2aBdZoSIIal+((NUp^g3hMBP1WCuGG%}n_7}#`mOcr&zYdEnB zjV;(*oRI|B)G4KRG7;^9z5+k6QMFHgHsf5H&O9pJ2YO(6ayEgdQIs4$^&c6CNA9w5>`;r3c$VaEbPK>sJmYNJHM#o?La2$(c?=BL|1akXK&+gH6$(-g}xpae>Kyc!p4V@eac-5$G*i_U6$aUI~H z@`MtEU++>Eo=p-e!zk}Qxsv;r!gglW^d&-%e|5rd87VEzA~V1+V~GH`wjuPLj}w1^ zj}>a(1(odB0*3x7)NUBWvbJN%oEh7nEI;ZFo>W>^+an~+q~D8P+7WnR2@i6aFf+P4v-4A&M44M(Loj9MxR0U%-%nZ_ zJ*~qQ)+s+^w0&Swt+m4=nneQJZO&N3i78?xTOJDAp1dQfb|Eg}_)ZApgP;VYtgV$` zf3bUA_?ecPn!aIf?5gTfQ{L9t7RlO^$0_x2nblPyS3v&2y~BuNzB@U}R+4-m?FH{w zUJ_1nVT-R3G{P~IHo9`0P#cUnxx!JUuX4QEzT)z0_xzP6KGobHkYYc#i=V{v<%^-u zLR{%UL6lW93!D&OS+8G#P84`hxs2w?%F@7d4I0tJ)o@*Nn$lndwj*l|!8Gv7KTZ4a z$r@-hI89%m6M$u6iBDJ$#0;Z|eTjoaIdJ_lEF^sZOqoh$lCrkVhK2JWF7nDxd5u6R zK%$@553Z?2nBUE~vPtO=<*YH>rVypZE!qqZ^?f84T~J*?EBKoc@>mIps+aQzoWh?t z*h1hMTo_);X{^B4FC`uZxG>5T)b2W=rvN7CZ>;rC!BG9gTk~Ie=tGglP8cgh z4yjRFhk+=8^_Hio@Dp?M()L<*ZxWZ)4!lcj?F1-+_lr-eod73`OWv(S%psjIfhjIl zStz!_$FV&;I4h5mA!6-`m5g61Jo9{TY?=xR6v0|>LpEEm_7lv2a=p@f34rNT@}P_v zTvH$C6gGp^4Y!^IAcNntv2GhNh|Ees(ib17ta0RFr-Q9KGKE3pn*vA`*Z0>Y(Zyxq zpBiHcC0;B$JIf2%`#L9+ZGAvsnuZE&fkVgm4REyLBR4&^zr2I7$@!XKoX9b*0wOSK zQ9m89O2>7SXz+a*IIxWWo#F17K)R05Sda1}EVdyeo(K#idd0_MmG~#9k7inEY7QX& zFeuR3e{w;!w0$X!mpleu{t=q>`U*xdNt14v+bU?GT?{$Z*O?} z15MM7(bV~3({@*?@>yqSM^s6c01m zWS@<3TV%tiU^2kSH#Ss@mp;ja387f6{@HY810TQVu`E(U3LRkhvegB`xRBH{0Y+N}Jn1@2Kvjjdo&`w0Q6YhZ%{3{^(OM?8`qG z{;b_iD;u?*m63s+<#5-1F?o16h~bjio*w$jx28GumD)Qi{mt%(tV|EJFzl*#vQ_OG zu4_)>yLmgu!}1ogT*UJ^44)hWil8*?n_rmji$3fggr_}rO`V5#92Ff}HZ*w^VDU|5 zFbH&70^_2o&>Eb89{Ze5uo(M!C0djD1T}&XY&;kLzMhYQpQI*F8joEpu5*_as(det`1KcKR zotkJ=x!O2!9x)%`OnG+g+v#pTYWT7@%T`~U?^bO0wfk>C?mO#Uzacx;Ux%Up1KIsi z{=a(}6;1x>0Cd2A-wg71?ie1P1eOEQ0^*)A@gO-2Fml?>#?;e~oDTJF5NH!j!*DYQO%z|BKY#SGoLs zQv0tF3xgf0T~<@^_FooSFtZH5ha72}Tq1L=iPQJI0;abK z1F4W;upI-l*Y@AuIy z!Rif4cz1h`-PhX~n0|Hs5%XIo6%a&*1nYL%_}s$W_}@0DO}k?b5x22OZ`+CE2pAYQ z7c=fR&0q8b7MLSgbVxAhsYz^#cMa0esgb{HpU~~t!x<+~X4Ws{lTZf;O*0wR4>>r4 zT?IX<37PlqeXJxkjZCGSDs4UJFau1s}MrF1NQ|K|_UbEBH(amq-(; zQgb*T5G+w9R3h4NNGQKIU;V!IE5AlU1O}fs(F6-jk7-i|!_tO&m{Faw8v?4%YPo68 zo@1+d>3iX^%ut_KU`h$@?G)wlruu_}cHtPqn(ixW`(q#ucYEqs0or#^i6c$m%3JBg zEw-<<%WC>D5C9xjm+wc<{8i~4*n&`88@Zmm{BV|j0%MkdrJ?||-jF=Wie$Y^$$fmZ z9?`^~sZQcpXVT*NI0Fu7)aBhObKe=W(edD9fex?AHJ_)GhL0Doqe|_vj`fTZCBho& zqJ`sYJS0ZlGBYeG#2W%alpn~36K2HR_0G%etVt-m`!74Dk8TlQ=D8^wnbmBV#*~~~ z9d1eY->T%n7>6D-70)#C;P!e$P2YZS+*ks>;QQJL20|LIHpx$!lp)n@N)(766ww-T zu>Ppnhr?f=AgRbT7#8(~kAy%xw`UF3L@x*swJH|kFQ{GW@kk>xDXz_axtEqQ3+jtY zS6c*JOeiUgIRR&06B89`#7xD~V1Ati&Zq3sOF#x2U6o(pogr@MRL8>ah2zXQN4N-C zhYdi*tj~uF1hEJEQd3Yw>q9bK!AgJ_Kwf+y?#SRSdo`e7M-Vy!QU!b5F?dW00Ezez zGstt>E_oUVbjKVZtj>a{m1+6Kj3SM89C{GLSK_8YJziQ~R}!{z-l!TFY3q3rhjZKL zaJAQOUs>hxa|f~)-2hvi?i(0@U*Va4Jgzr3C%SU{G4-S+HEc|Ql8;G5I(3dQ#$S5& z6Lk=y)-<(p`F*>gNQ$j(qu3QQ*6x=$-f&5)bG>cM{^21Uq$PQD>!b2`*B$%4R-+$h4LLrh1g795?@^o7$&W}>O9hlOTWu4EbLA4}4JDIU3K>LkDKra& z=Qw5pNWM>ZGN>rpO-sxw9!i{QObQ-bo5-(zGaMCc^fKCz4!|1RPXc6~dnh2_5CfKt z7{t>)7`>OSX%dc9ndwP@@8ic=X{FM%iPCgiHntGLH_HSG5~}gxw5f*AgNKhcm*`Nl zQ;?oF$+I?>*J7iNuFchF)wy+})3-uzFC(Hn=*ZH7L%7NzwoOzdn{bD@w=g;&)-y*c z94Y~(%lYE=hZq&6l0%J8V2x~e8}0{Bvh?&iFyCxk_CUK<7qh`ctwMxqyBz5WK^C;^ zs_0+Oj~p|MpBjG51+A7qsunoAVjNGw0p};RY&A;j@t|@WjS3&$a(L1l1kyB0nmCvb zHXW6_y9ReD995(p43^Q>=oAIVY8#16Z)}-Xw!E?XL4UY`!Qtabmbrhep_%ud!^y`O zu`2fO3KD^b5Wop=Q*l0_Qy*aAW`;Yb_HtcHFv3aGD65v^GjH)9i{2%X!IatR$?PZ^ zc75xZS!fUs{S=5S&75yE!-7kxg(d<#_xX{evc{|1f)7(1Y2B*jRF&Ev>jl100$ArO%7S z#>Ge?>gG~jZzP4^lSKop!eNzsX~wH4!E)a#Q99L<&ugn?s%64*`xLQZm1U*-qt$$c zjEid713#)Am=$c?t=e3lg?PE`k0{@7)&XJDG&jqi3t0{uvTPN*SD zpg=museL)9oxTN?J<6n>GR8=H;qY4!p$>v!%mcl_t6}Re|6LvPH+)6!bC!Ro(SNFA z{;sd+FLey#pVp!OA^pDZqx;n%^jn4cucGh2onql&re)$_`;FH8E+YT8jpla`WM*Zh zsmPyTM*@f(NF`-}YT9L(}x>kjNrQ{i?hs-=99X%qfs znwwh#4d@9(D~A}7D8MCS|C^UsSp1D?Ax;WcJFlVT!O6w^AczIQ7?jN}<2iNX*cBK$IflOOFeNVRS9f==2e*wS zbPakeRps?={s`RmEM;BpWp4^NmVB~Lt+s%>{ImrA*=1uV`YPu+wl zu;#*DEDAg-LJ|~>2O-*E>h<^3ifgRa+&!w{@kTCC+baL6&tQEC5j0Ze2}w%xRBdj$ zm0xb6YTZO3yTU$O=>y=i-s-sTEk9(#zJGO}Biwm#Y-l2D^wqdE4`%Z9rQhEv5|> zJb?kc+kkLJEHLI+w_7H=sJYPH;H*#IR5B;U9^7SWj2#-rnp!pF3e)O`1`0yb-WZb| zEH0avi}!c0)a^SUM(rLp?!ayOaWxWU?P(1RyVKANImyID`|1MDflwTcmM&~aC>k3V=$lGP$L*8>q79lH?}(!10^@H5a$EOtgJoj z_yWul3zJOMx2ChhSks!>SXqB)`!#l6MCWnD>5Ehy%n#K#-DwIxliD!^*5}2zt%O4c ziI~mC?BhTys)>|z2V@BZEk%6K;8w`_J50dnPyr0+^E7ZM0IWxH80}Wy52rkpC7%5s zV@F{bRfI~E08r6~8a8YMVlOZ{j~U7Vsa3}P?bP|0Q|1IRdeNx8H$4Vb31NmDv#CDN zFBdX+Tyia8%E!ktF&@^2T>NcqW77p#N7~Gc5Vnou%?ncE6(3WgIwG>DWJ@q`%0Bdq zIQvM6h>R6*3J$qPrX$%;5f!_BUaGUv6ic$QD~`(|I9#`1>IZ9W!{i%Zf`=F)oazyP z9!wGjLCGsNO($tSF3J$Kg=kth2i+-)!_#*-+3@|S{}^-j-BaJ}AAco%=Q1G9Wy&W< zu>*!dSa7zaTCK5NiP|q}{13{(C0aMQvNH@G58O&(0LG(PN=?;P8I9Eg@2SI=z_N;| z$Dco1lwAxc&f=@MwDi8dx?Y$&T-_KxLtwl)lrGkLwt2m69x2IKdew%qiYuE$tBhLC z-yc1H()$@zPd9US=Kc8Gy~p?S#qk9Etvi!$@0&@kC~FvX4hXU3T)`D#W%AEGD)v?@ zye0;UOH;gYFqXkH@u2v9os3-(`IT(!pY;6fC+C`tR^eSu)^Jx6~>@jnFrEHDACnwgpff8&a=()@ew&Ba`*zS#Vh` zc3W@B4q>=wQvvhElMasG`OOKV52JlfpYq^HXPgy*JjA5_3Ht!7wpScjTROiE-j-57 z?ivI6TMht*MZIi@Y|>%Dc?FL&KF>yyY*e$}sW{T^TUEJD2$Hw%=?3BE?3=Fk6~`>{ zb?BG=uiD%)U{ZU?0=?IW8%c(bXxSBNtp$&}H6^rIZUbx6%U{uKWfqb~^>+MEO2%(`)U5x&cHOG8p2j|8o_6Nu z{1oKg7C~&^Vg9t<>hsOF+j*bYCt9`D{dV!QlQ`36P+jLtVuRI(G5cbXhY$+BGudd* zX@dY>ZF`hV?Ug2Rp#p?t;He+RbrR@r9ZeiUkTkU8)L$=#7qd1YMysO@epoD2r`)~l z9S^ov-EC>kN!c+=nSxXY`r_|k4ddIgjJv=Xb6FpsHcVg?*Z9*8&0?Hv({{wO9Ix5` z;8=^bmM2|hl0LpVg#}x6kSRGOIp6u#EVwr0*fQCAJYfb8txmAaU$F>m7Xha6a>g^N zzxzlveIkli+1*TIqnSH9Lk5C6x6_1 zR)x;FAoD!1E@=j^_cieZ7fdO*uFKfPAVk>mXL4MGzFQ>7V1*0@^2}2tNj@E6TzmoA^JD{Ly%a(B4NXA44;L0Y-)hwbt*9mbXZW3Ub zM;>DhT=2{mU=y7S=*JW@07(43^I@)YdL3kj?Ggix1k$kZ<6;b{rZi3*DTcXej;S*V zA#o~=z1mr~jJc&BaUPXxWe6UdwED_4X*P&^Q;-9pRbas=Cas)if6XEE!w>Ou)f``oN-Lp z7jan+YeI@Di}fG}Cuf!xkH1^9qm+bT05UBICDg98u;^mh?hc=p`qV4S=6&lLnp_lD?!BrH-%TIAV z;%W{g4>Zy@>|RZ6T0u#hTq(}Wn(mh%9v70mozC0dbEfInXf(ZTyd@2ih4UimJoYzq zWv9rMw2{%yp!_`-EXYl^$1Zxpn&tBl;Nt`l8|&YU9@iL9U6Q`9u6cE|et$BjDfain zPcF@gS)ARyd3n5=ef(Lt9JLA5zZ;ggaqj){x-XYwc!c=PT6BnZyJ@_7#1~n3R-{*# z6qrnKmcHwVlN~wLHI=5ztj@CjY0DHUnuA|^+yZ}^1}X*a>r8t7Gw5xD`TlLq&#O_Q zu2!aH&1lmdnoA}unx$oIO?j{Ba5%v+kG%;+uRLUOV4-WR4esk5mPxb#d2>yqw?vJnXe-rKh zSZn_NGZ_TI7SoH4KCs|SojhfiK?m(az;Vaqx{mfR6 zZ|y*@Rcaq}QALV^Ye%RWKl|!*aCF~}1>wA2B(jCoCaFQ)+WLfMcdi+-*wz$zXX#`Z zg@3Lb@AkYMe#i>TYGdyq_gUSje&L~8nytk{Th)rCf7ZnQnHa+VW1F9TOhFYnBx#S~ zheA5G?wwZcv!E0Y9|YduiJFCtDoZYnFE-lt5^CEL=9?RBcW>qVp-`cs!q#t%+RGBWbkT6}M;a@MRZ7 zru`|_%q5U&Fn#{spwbmL$RXWDw=i8-qPkv|PjT?4u6^aV_P0~iL_LmadJzSmT>ryT z2R;zKS{G9yg_1=@7n_RujpNNBXPb)k?4<(#*|{PBRbTOHA)6zm_MNQ6J-WI3cmFTb zL)-~igizc|EAfDuWgCgrrle;CV&K|+RUmp%>^W{3Lh?5)d}5MW=5emz_-=7Y z{;D;itLK91_!_9SXf4aZUMO&ha6e|Lc49jDRN_HM{~y=B2ykNqd=2jlG^oWy)M50= z!St#_FQ>r!Ipvc%4fkZ3x+amMo}eov+?a@GLmZATrE;0I82VYiJ`Ztq>6y7u*@&J+ z$Q(MAEj1n4Rx?>jVINbLID3&kfi~YE@)&|_b0zVjP0NNNY9jY=E2#Tvb!Xxkqkl8i zf*$FVXR4)g9@jRx3vyOtD9A_kCZX<;HrG-aw(|*J4}DBjMNaLMB-N8XAVAKfZ?|FgwxP z!cjFyutU|r);W;GatEfakgSZE$E5lfNEgqlBJ*Y!9Kd+GKjKLq;HKoKYj-&N71tm( z)vZqbKtTb|djPl;`~`507E4(nj)8sM45F;YGuAAaOEP%bZWHFb)BH)ERIFbI7}vh2 z6ES&zHVSy}EmVt0s=zRWo9%Z%kQ9b20&LFU;k#LF=14O5JKsw!@l=amNTAw$m3up2 z-ozF5d!2?w%*(C*SrmYYCirNI;d&}PZSG0n2H4hf!V=lhveASBbJfLf(DcfbPw*`A zq(84v>&FQsu?mTt+bsF~xxO&xB$F}BCQ0r}0{b=!Rmf@Vl6xwDbr$t)T{g#;Hb6xS z$t(+Ze}*$X*9LDZd8?w%w4K@tbU%8sqgOJ4r2L5~4C2{`s&YEsrsuaq zMzaDUA1kA*AkRY|*EHMsn#RlhvC57?p^2Y;L}pxreYF*Zg~a}?8?NPZuDrQC z*5_Mb*tMvRq`gbuT3vu|B~G;IphW=<>?_EqbF#}@2&qkxl;?ewJKP>SFz}19%q#Qz zKW3f-_KRNXGicDz3@n)!=wUAv2Tc&ou6v$9W)a6JI?StXg*0}q8i`T91Tl_OY;lpiv$;F6xQMnGBazTLnY#9 zjW@r`6TG*)z8Qf8vZ&l!HhY6>*(|@FAAA%sU#A_j;gSH0VDgNtJC1=@ckk-?H?cZ9 zi_|q2BvIz$QM2SPi|)B%N5U-jvxeM*q#xIxmQ3=hL|ZgCXauA{geTB-}}n{ zhyG_qre7cV&#UtfsT!Y7T|*O}gC75P>N4A3Q^w!#)?YR0e*}~>GSRdA?!x`m<@^7` zh5IX?|LekKWBS`ep#LoqZ<>%Bf}#)|=?F|#=%lgqs(uOM%2vM>NHj}}5O$Bn?ti)A zlHfk-tyu>0=Tir`7J9gyHs>Dne8bE5w%5~Wg~-{#7gEclM6;fy;AGMXm)p8K`h0S^ zl#gT)I{|ZO+;KvYLiSaz@^k#u;c*Iz^jq=^(;K}VwWRa{EatmASff0%J?*%$De;De ztAvIqP+doe95xs)@U-V6wxCtN)yQU)cA05*R|c)p?Sghf&4Zp8p@fD*`!>{Y+OR9m zu7Y+=o7rjeW0GJCQTZ+rdMK{DtXybM$EI;-{>VQuIKen8YR4!0js_N2(dLJ~eb>^h(ZzSR z%w*i1R?RDu*F|A8QY>nxo<)d;Q7T-k-Qgf5&g*#x1VeS)YMG-M(wAO)1)lb{+b-as zg~-n;aOg9PAx2yql%3-j8KzI;2n%1HP96Db50$Oc(!PzuaMEm9G5CKseV>{@)o^h6 ztk^i@-r#2L4-1**DS8g ztm`T96~uL5)Lk$7$zBHf)*dFcaakmQEdN-pfOd!*Q3Nvqdy_5+XCd;S89{W6^>B@R zvSQr6R54B92!L`-)v^kmpk=}OhPUgl2`N2vn?K--Yq|vxwS_~);+Nm*H7hY z7Q2}&t5p=&-zK=jhU_pZNm`~ed*t?m5M6EoCpt;DHn}f;X=;{7u8w=~k`jk>l_78B zN<23#SJjAzRrHDd?)jWI?4BT&Vvl_A<-Ef+ZC^T`$muN5hnOsxJx7jv`ucn6slvd4 zWJZYx8BoDFPAOKnE{t=VcB3ufkSB3a5HBqCA{>Sv3JQJ|?bkX9j$1=kubQkcS);YhZNVZu?#kHF+=JReh;`Si6RT~ufL zG}0CUV0DK&jgp8(R$V+Go8F-Y-Y!-Z9}d0pelp+Y+q~eW5-mY+jD}YF2Zb1UR6Bt! zs(HKq>ylB8YQggTp~=r7vLX~J=v(Q)CZsO(3?Wx`PW|f_s&|W;yYyH$hRy3$YDThN zrVv2p&S+lDLbrC9!6prZIiXHel)wsQ_+-g0=uBLm79+F_UtDaz8%%mR+)?{_gi2>v zDO%;bQb)L!Hvm8ErN7{Hd5>3lvb3tn9$qebzogdW>Gh%wC5G`COf8Y~G(T?tbj-15MFyeaML{UueARN+V;F;)C30R>(|807q z(_F<&@x6SqBz{rimYNQIw-JgDXyFH5?&)^j;bATCjH^qfR8w&il&ekz;Ze(v6lV}b z=>?=_z(hpGz!BQn>@}+0^la#?7x>dbxGHro#)VTgA+Ed|{T&S)j|y3?wvm*PxKC#M z1YnUbbw+w>N5+DllGO9?$LQ&F0KW`)(%GwTG`UuqnRga95BL;d{+mSR?dHOzf_xKd zXx@6uF}J0TE~6zMZoNj7_lx=oDlNKaJiR80>v%lI6w`H!gj`+%J)<~>O!Pn8kcPvk#Gl!KZ@>`3>T^x`dSW|PLaC5(47)Q2pKM_ROO(P&*H zHYeGK5%eKiNAT4(fhO2Fco3l1=ErF}2CMkfj*Sj@|K#`B*av2v6+JNa9MqCpfk604#-m! z2axGQK6r@3JvL^O9q^)G_`8Ypxd_x6ULnpa;%|RfUi_-+{-^TdAJ^x<^Zfs6X#bBq z{~k5*kHf$6{IB@?&+_6A9sGYNFaBDT{P`3s0~0L=$2(j9wFCX9rIY{n%M12jjg0>) zFWwvCf1l@{{s`u%u!RIX& z6Hn4FtC%hH>3p+wd-b9blM*Dd4BWyn57C=7fE}-Zph7r$A`^SXw ztYh(pWbra+DJe*@B|5anYN!y`%!FwWh>&d4CD)wj-vK|#WoS$AQ1niXsEY8)>?+b# z7#lR~yXBAt%_RvL!^QzAz)$y`2QWh$rs_%2{9u4C8ZX1Q{P312QsC|7jwvXK0iedG z%%>&AHH^Oy<=#Mk{?+VTiu?z;nH&_k3I7|mKAZ&F;7Gj}5yb&L@BRxU*rPOud) zbK&L3{iC^M_RN1=kB1EWLmP(c#%FYPHfXruEpq!r&_Ke#W}QO+u&yUqQOz*xd1KIc zZ{?o5PjC-=#wc+`r>^MtpIZCB<^;`c`QrwnGemv!LMx1xAJ8$ZL)j9HmA*7Fa zs`NW8saaBgWzMI5KBI&vFYa3nOQ)pCX+k~BT$w>L4Lhwp)7KNshODy^5v3gntDi+J z9204?3FQ}*^G1L?>FUCV2)j2AnqkW7&%3o6I`QIkW76Q`*Pr(1>>2HVZff$Hb{2htx=k14yn0 z4IrBbY4C-Vf#&mSd4B1Bco=LQ+%1JKEF{}My}Ef+R8E@aX2Gae7_Sg+h-RpP@n{@k zLzsqS5cDe#ZuV}y6>-V}L{ ztR~SaG)m?gs`;!lC4H2y8Lytl#9(CWX8K8Gr&c&+CZrPPtOWGNJCbj#L#x*V z+E2aYkxK{&8Wq)d5XZ!~K~xSx`5M9+`n33~JQ+TLNFIsG)@)m;zr5p=kYF*HIM_z) zr^|v1-2`qiDP*nHFZ9cEg~s3Ig0!3l&&p-srn7im=ay;?e5wShCqn9#=@VsWnGUo~ zJeViDhQGLk6`1kGO^jGb`okTW-h|6u=h!+}Tf4nH=qqQS=v|$ME%Oru7ZQXr&)Z=z z3ENK_zj*M^-U_D8zmP91raQZRf2t6~T)yTQB)#c{jM#r&zBV71h*!L6`p(D@|7;@q zi2^FtwJbAbo2-Ff?(z6(%-3b*m3W>4PMlR%kv<{D&s4tThLQ6WtG5 zKwGZgPYnw4Wrr*jHyR0+)WL{PiB?t|Z6|J&G7p%5O^5i*YoR^SlloQGXD*E{0A=ngwr36@4q9D{{p9f5xRdo z#DA8@nf{s&@TXM_j7*d)Ow@m!^3U|we1JbKeY>1~>mB}ujqJ^9{+qi0AKmG{zC`|G zBk|vKhB5zq(D(XD;|yET)ZXga(2K)8P}hh$DM4X1>#0R13pOV<`dZu2 zpUo}p0D1N1NN??ziOt5i@XzhXJ8jraV|yi(i^e;9ZQPQ*R&hX_DA36%F-K0Ff6)7Xh z{oLS0Lb&s+!8M-%4+%_?%17$NkUvUng8fDsp6J+m3)9jOp#cDH;0n@HC1rm-UQ1wp z;k#u8Ig^W6{?f;czTG=DnEF(ul=PM(i5!wA8f~h-eHV5X*o}vfb%7x)9%Oby-)r~%48t-T zZvQ(hh?(e81-_3E)kdT;Ff@ItbQ9F0^tW)Fg6&FFZ~2k{S1J)K%%5`0uO{cTA;`b) z#>eU1e`0jo+Q4&@l9tu*n6$Whzq9G!Dfpf8DmW>@eaob>3rJMQXv)8%p*l13^ZA?^ zC#x4hfn$BOhU!XERX}mD4CiQ!PPAS@I>n7eCLDH_74KIlFyav*cX0epZW&VeEY{LYO8VezBArSP_u7aH?8? z#Mc&`MSJ@!mZ3f;G#8M+&+ZmCS7X_zq_;D2V57{=su@mt=*Mrp?fb%7$M*?%HbuF; zXN<2)ONJ4$Ujd`UC(f;@E1J@Xf4d?*zg*geTU70a5;eretu!frWUNY~6|fc(`63*A(1c&%;q4>toD!sd$t?Vn%?F}SV(u-C1K1uFSUtx1 z8@n0QXPd+ULV|^4{gV#&kHh?axn8QVJyNX5%z?Qw&vJ2}2>6~`XVWuq>o~a~Rik80 zvy+U#NFulOiSlL5#bEa=fW)bV!frq( z7PQK0Ox;Za0={CBy1}C^CtrT;JtE?sQA0L(3hr63+L(4J@^FJ#AY!?^wcDi@S9>MS2Lrnuk|crI4bfHQ1-PT+_9`%5Kq3fK-*4b>diCqKFp& z;ISQKYn^>32Va1aQ-z-h;{S5JcbMmk+kO?c<7M6@%}D&?(wJEJEI<(J`%M4cly2pe0DwN!XU3gRMjKBsG@M(|64M`990xw1)JgtJOJx2FLGa#?bblO zhHVZ+FU}}Qn;orZp;l^#Xj#&0NToOR2;W_>>?Oj4z~~Y4nCi83kT1n_^T~Jk`_~IpO^Vn}&2;5E%lk;$ zW|PKVZ)i+OAG7-xKLI>xpE^KxN5*VI%HGp@H*8+@*Zq~&`oa(Es`S+=4wA*vDvr+) zk0 zdEEA3Vceey3V!7j>59~oP704dgu^PMk|dVFv~qeRm)s?Sq10i`{5pGOvL4?fHYSS%+j~F`*(=N#hBg86%lmc*Db*zo5?78BS}bffM@+w;_;$jC z9uyMnSur*F9*P|m)>GOw*s{=cl=*gLKtS1KxW)ja?n495DcVa_j!(CT<^Y-K7Tsvij;!m$^KlCLf&}a0XrlGWia1%S^cd=`N+3|9luek(>sFzF#tpw{_GsB!qojUh zkJ#JbNRw;>Ug*p?Nvv<_r!kMq16ZC_ zb*q6FS7#qgcJzHqx(iJVu}-VC2fv`AX_1KqH6!Cr3VB^N1sSSZ$8-3Asw@d=Elb0emg9n2+8#e=K?NB?5(X-kp3nQNtSC<32TP@ZK| zp<)dpTmuE$qbH*Mh(W(eRi@eM_G02OMgDGOxrxc{5o)`wYez)O9^)#(QIDpZ+Sxs& zz7^ISy5bVaZ2-c$TQ*If$xG#;jRExe!a>5d@xIm|C-jg3P5`zo+zRW2N~Z zUD!+wJ1Wz(T(hHC=SU+*UI}f2$l|^<>JkZ4@rXK=WdvHr?bgvG%E=&<;`jRZaDBQ~ zyi)Cc+i$5lAz2^omm^9Rn{&~RMjY^$C1?$eM5h9Z!ZreSEhdg{ZL?C5EbM}Fbu8NA z#3~5BG)6h?s<_OTg_4n6v}B;48FgsC<#~I0i?8l|&is5PTgG~vQ2b$fks1#%6Lx2z z28oQCIq&o;ZK+z^j@(hiqCLV0oT?2Ai1ti48i1Y)5;n>V+&||<=zQD+CX^Y_QnQmM z%NOZ004sQw8N42ta30C=#>q-D;MDp!z$nC^yG?ehazfwyt&L64>#; zp`#UAs3G*)o=kyeV-Oe$&Cr3JWC2h@wO|#$sy0}ExyYqd1HpIN9t*MA3od!%zIkmv zxPCo6Al0$+OqLCpEho|HAe5z-9OgRh$laM(57LJA)uZcOtk3O`@!o~qJHL+iUYG|= zC#$d9Wud=<-OuFtcd+|~%>35I^Y?DCe*wFnFMWS!&mRTjU*2N>HQ0sukE?!by{2QL z{%eoaTXFkyCH_m9`JcT_f2?Q!H-oX>^7sCQ)_(wuo}T9K7Pn!F%C>Kbb{@B7W69en zU^v7F-*PwU?GMBz)WYI0Cmm=%f(d`&_5u_dIw(8!>E;PEX3F~Dy`^)0e0}V5gL^lw zfqI>r^+`Bpzd8ZIFv`>2Rp8kK6t;^uDjm^qw6w2U5HDJQDfF?dZDK#WU-?L)*<&m0CCx4kIj$bfn`AQ}dSM2@h@4E--W+ zG}R9EbH7mBB>F(jhv(YoGDh@kI#1@sd&z~iwnDuRcW*8pZ4_=greM~*1H@R4}I!;d_rv;~{SEG(Or zsN=G_*eyy%#>Ls|T?5PazKmH<8H8~)gq7-hpyN2`q478moqn?EC^UmZ_t6-_Hx$T( z5(u;ck_au*G_xCMl9I<^GEt=q8uYmaQY&lrTL*y~OcPR4_=fNT*G2_Z7yp=5m${H~ zM4~Kjo%LS*OL4@A$Y+BW1tI67HZioWs$lvD84U7)SUDbn0elAn zhHPuTXzA#i06dWm~axwT;GJp_pPey+t53n z1@Iv>2@6vYZa;9-=xN*Fp^q^6g^HhD{30nYo>E0wxU}&q!BINmQ5GDLCgz)qdc&+>T5oVIPYmS0z{p3P8O-?*_TZEPNtMg zyXG=hv#!rgvHi`IU?JzQ&L(VLHlJvp>q4>A8$)$0F#QK{O8{<^I+kq z@YLASwQs#OL%0)vfx21_;cQ(Z|LorIaE93r&vDO8O7>zed=#&~sgN(IH5bRnRs}U` zfdxtP1T6~?K=OjmLebfbtVRW8cn=My(s0Fv)+7Tckm8KAt_iUnfCckvrKATQh^i2K zkqv?wP+qcUAaj0Llu_bfA$qyhH6z~=$X#rH_OWdgpM6D}@K_WFB8Qqwm7AV(PMOEt zF1^>hcTmc7)ufcxV=N2^#V^e<(-o_yw>bBjo^0n;)fN+tal9<H6*anPeyE@c;X2eZM|Dj7|@-;7bh)eii&6ydsVVtlffDgqQ0ONm62{un*M!6(Udz1j#G3MSxk* zOsQ7yWl~g12rW*-7k^^nEu+<^rxjv|Gr@S`B{HS-(O41e^X3m z`MF&GCvV@}>Oa1~sRWG8?DTE0sRYcl?ezKdbuIPu-!8qu|0h7$X`$qwrtP=!CPz3r z{4I0w(!j$Dz(RFq>YFVYWZ(;#<}=a6Ut%%dJ)h(C;F*(&Bx&)E@9~}YH|?IJv2CW6 zy{v0&+zM!ai8i7?7`}wVik~Gy#+N)kgRXmG=5V&h*u=b%-XN-HQb)(273aJz`+&Up zvW<;=>xt%;)_TehDA2l4A~CfZqg0lrCcaEz{n2d{x@9{9C+k}v9=t#o03=E{o?jQS z1!dy{^I0`cy{BVN&SH@gCy#rJ4KA}CE^?Oi+W;#VBG3<; z>$0_?M?qa&=bdufJ8(KHEZN(N3^n)Fd?p0JJMG`x##a$oj|l389|ZCb{gOM2jJ_VT z8<)K#&&EaBkOC{qTy`Suu&7V(3S0#4IE!j=N<>FR`B=d|!a<^aUJ_Szgh_5%{bWqx zF;l>t);$hPbTUO5SW1@GmEk#7=+&~NVHK%qId$PL4;4UsWj&RzkqDJeh)<@dci{|^ zp+S1EMCtBJMSAw|iUf5E(?^u#v;ttn7HBMQ2w?O!F!DIG8MhOZK7E`%r@%Q`KU=8_ zsfoAv4v`&)t~CQ7Sxs6=e}cWPnK?!s)ZDq|Gv{YHV>Im!QXCjcCLIyFc)IzO=3D&? zE=zZO+W{wUxfil0)Q^@a+V=52=7Rhv(Bn?%L@mt0_TmJ!w0Nw|o3M(&!r3%dln*;=&>q6@2=&2-Dk5mdLzv)of#Z+}6R8_-UF;Iu zwz_kw3Pq`W46++n&{AG1tO=6=3~+(I4o>5C1Gj(^>knqo_JR%Aox$KFDzDxep^Bd< zEv~pOOP#=+Tikn2iMLwvQ7j>kM9@Ydi$~n#nQ)!^E~@frfJ~^TO3^R?A2u{V8y!P; zA=aiVvk&rUyJc~&dYdvrKc!qon0L>RM9_JK3Duu!MJ$ zjkdxHalUM}&CLdZ`TA~Ao0p}L!VA^%TBFX#wz0bA7T5O0b$m!7z-D(RrsE^N56f%L zc@Hs0%wW2XCW;~Vr^{=SF7K}s8p?(85u-cvWNXi|g|WCLJ8mXR2BB_uf*n&!J85mL^WZf%wuHwi&uN4u9}ou2k5>a_tU4lcQZSwQ z7~hgto8mmaaN$)(Jlyk6CjyAR8%MzzE2F({bi=-A6N8w8|FA=7`~mcRMF=9)_L2j` zw7vXM(4~AvCml$rvnrC?;oP7xncW;<2+sjrqMFC^{sEFJqTM3~nba<`R+q-PjrghV! z&g(fSh7mhTCN+=8$L_vi%FSkAJ$Z^+IB)>2M+LWd{ZfcVj{!c@$iV@{#ZZIlZxBo^ zbJ!&$6!!U8?bHgxJuq<<$UQ+DJB9>g#Lj^#k~|p;GfsYeQ1FlYkp(YGaR_mUpdA+z zxrMx9HBu_{*9%|uC*2ufxSZ{Amb}`S1yN6%uH3K3)d&ui0)@{G=5~mqk$?LXcX;F^?y{? zzZ{;?R+m;CMYK1Q}QWa2+VkRH$qGCu5mbT761TH=Rd|J-lW zL{V=r)2+{5aL#BAz!v2(`MJ&xg;tbW@+tyE`HL(PyxPd~{r=}(osFCh6` zAFlaXt7RL-Hj4`iStA$!1D3|z~ai4!$MNi8}$;|SLD0Zg*x*^S5yelo!FH%uy z=>O1P{7VM^R002lR4MeW_N=0;$yntW( zE#I>i#I>F7wVU!v5lHZ+R9WXI9z3i9%{oQdJo7#>wW$+Zmr{A(E`{YNtS~7xRdYI* zVddPg7apfl{qrn7^^!LAu0te&X*AY%NKmBHNFr;=EXreQzAa6UP7JMX?hAt4$X7-h z`Lm1W7^kaC?JZ5oVy6~;2R+J-z560vpFpVKN~$~6KEBXsJ9j8A>@?r3LE_Vuhb-tr zlda_U!IsrL((%wA`B)l52xGhk>e3R|Vj*Qd9?QoW;f6q!* zLsFP-`@X?(ZaT%7rCH_E_vGZ!>PIp{;M5#Fq&V{7N|t`A*{pz0p!Pn@jm#?33d` z;boY%6@n3iU}(x}S?0@{=G6OL0->aTvLIMf*0Ms+7A{kgU^^w7upF&^I@231XnUAzqp6KLj5$2+$FP1`G+-kd^?Gtw&dI3h`;*8qTxL!VtXCFw!&mJOCKV zQr^g$RBz6!Y&$IcSSKu(8mtEog3lfw*un7t55#+It_{%p`=q{>Gfs&&N9fE^$&j!x zP~1Sdx8vJuYyv@l^h`H^_y9}wX{-dDdtqds>$T0CT3>+Q8;WIo3G>rT8eHO}@L*x$ zYlOGfY`40(2akee(w)^-0N&_p@c3GyyyI4;^cog2RDdQY>K#<$$T2uk1heYb^4TZc zcr)F8YHuP&_NS%yI&y#_pO9$7(~ zvci65p#je$rU3e^qfLy~Cx!^vtVbvkH(sbf;zH2mT_&-)R3Ez-2xF{7y=WoB#PYC2 zqoZeA)Bt)gtqGKQE+vCi5@uuOHHZR7nGs5!bxjhB=GQ@~sD~$yOS6>V;OBJNdK5HG zqRnk{Yp6Z6&?*@Z!lZ{p#0Gl(A+76L0ju@MhbbIJLgxx8Px1R(-z8r@I7*`vj~rC%M6AY48; zWxWzWj*KzLb~Y9eO0gpBj-uup<5z1(`(Wh^QB2%@@ZMOE=kV$_HvByhWk4$$i9<}P z`)4NG;i`}-!|=2lD(w>jsXgZ?i_v5!2OM8A7=$4M#TTDFbU!Q{t|OSw=^zX@9AQ~& zyjxD($Yf`xykD)FqTSm4x0{nvNVMh{VcHsLr?ljkR9M@U;)aEuA+W7*fst(N!$^}9yT&t{s55(b~$s=>0dMJW0SFJe@r85 zqqJ;UxH&~~O@$DbHuWo3|E$LTJ68YDcK_Ho#qvMRRR6VHX8B#O{>j<=roR5UT>hb7 z|7TYJHSUk)kE`gZ=_ua@TKzSK{0+E2TbzCg+@B~*CGb!B{ypF_yxG70^+Nvw?%x)f zQ~y=;0uz(kBj5!`o9Xj6B@ikF*i)5MWSTyD#~TY)@qxomcVpbFI`$z6N-R}lJaG$N zoH#Y_HsFa9(LC*Ce<70X6^fF`i>YJ@UcTD-!b$=ZW>kF9^|ZIeo&|>*gG;%m*ScU! ztJw-Q!Yg8Y=AQW7hqLqcGM&hnM;LNp?bB=s$p~iZuw#>+@I?c&)HWCP0P}A$vkLq? zetM2yB|Y7ubqW9E!ACVcZ-tvhD|HPO>3z}h`{}UAmN>F`MbULV@$cN&NWv0IVzQg} zoyzJ8G8PV%Ri}aerT#0dFcu1=Nd0jK)ezq>s!O*PEDtfjunN$fp68(JZEe?Y_f(}# zu+a4V3@Sh}7LMtrM9JbsN&{A!(qRp1 zpJnY}6(vXV0K`R^oS&VEo0Z`aFt!#b^4&c8l8(jn<+b+EjK*L8|2DB{t}SF zT1Vv%r%+R0E2GX3x6>%o9{cVFiS~d`)e`TR*EQ>XUzxxahh~#nQQULu#zF?#u7yCg z!Z(nq;J7_wS`P7ijOQ0O3FzbJ6jQ8I2!fW`d3TNZqbV}4Szd`zwrS?P_v%GMWv<&> zL|9r6`ySp(jO;bwFqr5Uhlr~edz-i8nx}1Gc=3`|Yg&J3r;{UP;k$>z++mx(^_~ ziW?33a2vq5G`pw(rGV^`|6oYD5HhWyU*@N@azfndNPv&GzxhlH!dS-;m}c*iSC>nd z-aaNR)7?VlXAMYGnMd+f zfCLuI)MtkiRgr@C1^l~`Y$uJa2lL%EE9TL;jHl89HjOD}C2aA)ILu)F&3@-YE5-b#KYkgWN zO3~ouT~${bIuOXBk|%rUtAi-sy2!W*^>#6uf~|A~JyPwiTpVmMn1t{`8FqBDdgLCC zZ&LLB5X}@~!jazrRpzj}w47^0;y$2|2YqF{)Xs&O75ALn?)vzP27F zR!;>$+7@CEZ8cZ~YfoiQI>wqL0HR&Ek$@-CMLMSD!Ribp(qoyfog*9D+U&rH``uA2 z^VZGeI=Y5N=zH*O%oPX(@CC@Gl4(`#`*LGwwJelMAfm@;-`dz2>(}os$-?pI>zNuIK5F~+B4*Z2w++C;=WAlkOID`=4&PJg#6!1;!fI4OcTx! z1bxN*y-QMIjN1rGxu^mOHuR^8%%5;DF@bG}8=UCGg%zk>L(}Cz!I~p)Jaqap9j@=G`^{Y>XH z-xqX%@bM(J1uR8R-53ElC9V z*xzsOJEMS2)PnBK33TK1_5vz>1p&@;eU74~8u{|KtCT{OQ748>oCP%ZlYSPz`W7-M zZU2#8FVUJ8c#6K7mxZTA+BBF?a1{xnWMyHvmSO>GGs|R`-({xZf?c!B`(c{_TK!m& zCenK`5$N=-`!4Om2OT^RR9L^ggbyfvpUAQG4)PN`KWTi10sb-`@mJ#hR*3zJ7QZI$ z??m}?b^Lb)>R%A|=hmCw1nS=(;=c&gKSo~vENlOH6(co0B@GM9U!!iB-f;S_cl_0c zv~(<#baZdM#ecRmG5sYa_s_e&RpFw*{F*B?Vs{?h}~(9pi6MEx?Z>Fq84^~C=N zM}%MM;%`5xzp0DYD5}~n2*AJHLu*Y028ZSt+4ENq120Ar(@22V$5iiAn^t(4sehrY z-7h(nb5xt0Vjr?+<95pyy%_!!MTWpUr5+zM zKVB3i&dN8-zKoYTUzwp-dnbxw4~8@N&GagEwaIgI#gW|Ch}Fthz~kha`PzuNsAMkS zJQgcud+gKf-bYb7ioVEjW)4xjTzv>$4@CxbRpp9Okys!m`VJ~lM3cdN(d)veLbw?H zr*>(b_}$o$v*Ain_>MSXlGa=<$VNix8KG{5VI!$CT|(zeFG4U?qo>NpNWlE=$uHw{ z{#jM_iN2BCv23L{!0)8}{1}$a8VlEbx`aRz?v`!bCTY8tS(*&@h@_wN-nHqU%h%c8 zNk-}_1JQs5Q^y6t@URMt6+cVG5^%t>8sny z5Z7e?B@_4Eox6D09IJs)dzKcm!lgqBwwzxN>i2<1P+CE~AW`SjbUHm6NUkJXo9f#f zo1m785Dse`UC7D!`MXSt&$Tr%QGrWPA>lN+zQ767TbY+|b~ zlr^e+zO`yb$wQAZ3%bB-oC5@}nMK7CLd7;RASQo7#7(YJ;^PAWu1>G@Ex-{c zuOuoJSKMT*^h1h=EJiEcLgbE5n&IhnJp5TX4#P?%y{a)>ZTM*A8hd>|JKmb)k;kP!vY7zXU|+Lqz2 zj0^#Fp^Hgo56kJ6gs6p#2}V1p-qt9?ihbu;TJm_TcAS~JIrBC=it6brCv$oPRj!Z~ zx%#Z95_(Fu#1gCqFxV~r)~ zX4o@A`0>2Psu{;MSYNv;W2aFc&1cXg+OR_NsyfWRuq9@d;#ECO4;3y{CO2y{>56`F zfjw$aBofo$!jYq2DW#S_*;6=ZK)m!T(`aRNN}R{6hA*0>(Kb?PULKr9sV>CCXB=lk zIV5*XGmi6WB=e5w-I2qtRQ?)X&;ZQ>yov2Y`1bwryigS}9rJE3&a@nks- zBCEY;uXe57#OS=+9&%$ux!Zl|S-f|me)f`kUKzU*eM0oZDzr&U;3^#=dZ=8JrD_x2HHzc)Hh9jFae0C_SOP}!0 zFD?01zHW-+4s4_A+Nj05{H$%H31c@{a&JyO1#kx|AjAmMwvN^NsaM-OtqbAJ%7!P1 zIiC-`zd9fMclG=?g#B4PXQ2L#xqnAJ|Hb*>=PiH7_1{p>|1h!o@2~o^;f#U$k9#pv zGg30p{KD6v<81ItzW=l8|6lmb7~Y(2|9Z54NC5P2n#JGd z`=ZU8&&>T+k(jC`RSC4CD1V^anlgl18VVxm8lC4H(;;J3a!O|pu;-uFU1ef1h zca-!iw<@Q~s_O3zhc(Gz!!HUaaAn#^of-mxrE;J%(h%(2`9upv>KRA$^cWL(1A}Q{ zZR(L?Q2I%$uyFX&Rnt9_3qF`@l`v=G>bRdY!9fdrWuLu}@A#14?0h5E72_4yJhs?c zS}lOHB@%LBsdhXV2AED%QsYa_|24`t5#13w1Az0pboFqtie;!W)Ltc&0ZuS$n%r^fQ+7%Lv?X((e>U<@7We1wqS)1|E` zm1(bVei*tSH~0c>81bM@+bsMQ=O)P)ak|?%-P|-yZT)j43@YymBXO!o(KeEoqH0SN zTM4qY9o1xR9mRdMY3JGd{R!<&1$`TL4(g_L;c#aK0*cx2roIcc^SJy^xcy{=SiwY+ zQUf%_r(cy6zyZ5M6YhpTQl8LA2nj(TLKQA?#iLt| zr+(_INeS9j?yg0@4XpnnGFdu9Lg^wQRK7_rW)80uJEUIvt`ZVU7}^K;{x8 z^SoYmMsdJ4_;GO}iKqI@wbmJr)l{l?7GMQC+Z_(Fl<~qeD;V!E)S_j*cfluXg4T@7 ziouB$nj~5znGLqIkS!CN2PSBI@3K+LcXK2Dk#`O)%drcH))-7nA)}oOU?0n}^+?vZ zs4|V+gsJ9c3p6b|16z;k+sj~ruD;N0DHG@d^bo9`M5kET=*LuTZ~nsCXPt(_>1$w!IXcbGd4=J%pWv(E)5j0-#jiY3d(y^z*Yz!|c8yeC@ets1#5 z8b!rEpTq3~2*56&B#8#QeD)it35yj0zNwmUUwjPpBJXc?lEw=3$sNQlgyG)YGT35o^4>gNQ#BH7Q7y- z>^Ap+BH>GaM~-!OwE(-LHo4aOWJ#VKdFSfsc@HkN)vp|-)AltI{G&H+u*}|*SWS`N zb^@eo)XLs{nXD&X5J!3e? z;oq)kvft*hoT?27q#T^VScNYrCBB$8D?#`Q5QT5IgCv4O$YR8p)kt=|wmG{-SgxQU zvwwAqqprc_=|w4M?M$rDIp$w`*5Ju=?5q?yGNuRGj8b?R7i)@BL6cjV?Yik_KiiXV z9~BXoTV!34?P{P)o;(X=yLR`Ntrw3_so7tu*eQM0v_EL%dVUA46)f^AQvY}D{C6^)IAzrayEd|7s=8TcQOs6a6nn zVgLS`{}H+WPpbP{7t&vmOZzrW?e8L2!Q66_5%Oh4^V3oSe!W1&(}`C7^$ev^;PFgJ zLsxC-9K5PU^MZ`Yy!geb;9_iYw#33aMqqFKued#dTf7r#fSd~up=pN7_~jgBNCrgj zEjUx8)WW!Qswpm(kM!8>jUrI-seu-fd)Pz_#*ejFvtyw@LyLQ!4V_us@Q&s}TT{#e zg-tt}AWz>6+*Zwm>L!(`XT$E-2Q|3EiMVfocu(4L%w18m)!u4@2Bvn@%iS}J?`%Rr zbP)^@4d28WrCF17;zr%wIN}By)XaMoZ+N1H19~o`Pf-GrPT@|`G-na!TV{Pl7~;o0 zIj0ziH-;rN!rjmww7D@;?=4#<**-iF@QZwqp*p*A*HH~vwZ#aW3&1jxGWYUV@lvMR zZE=E7ch{wKS(%Sr0yrW`v1VY0c9~=Ez?TqzV6ALn^j%>M zA4aO89&84PSc1}f04cEVh(VoJYcUKFA8-`E+|wpp#u_4bWh>Dap@9KT=8dejSt82w zC4T9pJ&i1s$qYt72`BD{Dor|Ok%W8c)&w473=*YKsz=L(0X~4DTam4?Q-0^#@AuK=etN>(PI3;~*0Lk7>)PId9^3Wx%XR*b3GC{)I!_f_h4qIr zE(8KvEX$$b?$@jOK{NyPGDm5rGUN1;63GY*$-5vh)_9=oYR+(d$%)*T4(@b#>a|qZ zNMn2ABvM7fFeVJcLHgq4Wz!2ec1c5!aURBSXGtY-2BVf~T93R)FxZkU*}i63_b5hW z&V(C`uA6eSPR4MyR0otqNU;Xkd?R05YY`HP$leW{IonwfR z=t-e9MeUBaEWE9zi=X63Smn;GTL9?gA%ytdT%PYIr!CE`*qkEQcebwq4`xM3E0_8Z zJ2VEK02SHAB^kgne3O*FkzdIO?(6eim)HR37^Iam2dqJkt-1CkjwQt~2aMuwiNLv4 zY@nyUNO#RP(u44|Ef0&JHBE|=f!Rr6R8a7O0?0mufQ#lhB}b0REqZ<9E%zgxJvPd1 z6B!@qM^ipg&ov1%D_!JmR@mb{`M1RS|} zj{U+d(uzlODDpYkOl7**>8m0Pcg(_tM~zpvEEeGRA3jyEFKnPpWnO|=6a-VsV_4;s z?8OHW8(LTJVg#2Y2_L_vQ8$;RQzJqqRWZNgffB~m5grtbkBa1YXQwPme~KkbIFxNL zQ74I51p)_CNS3R~!SFO?(B!OVVnr0dR*}La31vBH;yW0${-h|&%g^=-bSk?s{40?C zEPnnQN&3gX+dqTs_q*NyKCb!~CFjpqvcH4nhra!vFMu7XYu%!I`ub6R-$P7TbJ!~nkEkXTy!xFnMgc^ zGyhDEc`&^COpUos8f|0IHYuRsHM_P7dzjG@l>Om(E8$ zSYGKp&BH1J2~WD^$rRdj(G-`7sCEs|My*@ng&6d(Ve>G+dOs(<_cj#IEu3_GKK4l1 zHK}xDlmu-nN=B2O33DZ7vL_?!%C_j?Ns?}i8?*C2*b#q52sZ1HQQ`cEIUN?;0d1O; z+t>r%a(3AlVXr77e#}dK6UA1mZc2L|wF?5*u3aqQqfW+E%bH72fKbQfEu3{z?Az}o zyVXQ#fd@BEO%Q#q|LoK_pM8~Kf#)Z2i0Dq7zlC(&C9k}f)zuLKG^Qk6A!Mw;DU|f7 z_ma{{)WksXN(!=zvNMgt{6pNNzJN0~I3cqiN(?Op0Pi3UHEO(n(2L|^6^_yP#>w@3gZ^U=w6{*(IIPY&az-Q_h9Tks#Y=Fd!It+(LgaOfP(^d7vsMS=E zmv>TjOnEAnLgZi}tk+mz9)*gHn>x!d1wsLKWV%CqFiKL@%e3tWu$R4D_>N8If#7i0 zhcSl*I!8)z58VaGY@Oj@y(i3b(6_$d-Xfh?3QQo<`LpiO)1%r1V-5z&X7?&r#pP&fS!AghE;qnF-Ch*R+P$8uo zEA8p8jw^G@Ltofwf-)&#!j2S7eSJ`HL?q0VI{P9&mvKKg?j z^)L`$TvDP@sYpShLjd6J+<`zmwqnEdhX5B5)ZqLemWa{{oj%UT&SHO*AO zO$XY|8ss9>B)Ji?sNRwRKt$5?_?g*n8nDgYx7poZdxt(OTw{cQ)9cPP1Z8i zLk_}k1TLhCtB%FPJsI%bM;U?0`EU(cfkIAiM@xMTGXS=M6Y=JXMlOIx)0$bdYZ*LK z*Q?c%K-)1F;MZOkP%x?I4(81@HbnVXx>^-!{J2zs%4YP;QOv$i@uWn})E+4e{eb?c zvX#V}PRN&K4oI9}P9;4f9$0Im?4CRIk4rt(r{j3VkA^=Q)5m8S@07+n+=F1&IGJH0s}h z_=jBj2R9Z2&2J8*|E2c(a}oQ4i$5OXzuXP~!NUBjRSYx?lyr>0$cr8>%jV(AZ}4y4F65VT`e0^ZEjEcWM4s% zHAiS%)$`tHg3u!P8wHRG>U^>BL=>^>^KA|}w7&7ST5#r>FG=tgq~Y7Rq0F>5%~jOR z5;XunC|8zhS>xWp#g_lr$V?%0G@)5ZjiV)`K+rw<4(uAyc{h^(rf=^gNru(M1LM0u zo5pL6(>6c-n>73jlH*GOhJoF>I$E>+!6 zLeXS^pSg(Nw}V3AcJ1)<`y3{5gXk2gg(~9eLb(Q*iqI}nzpv4u%t_r$^&S_SCg=!# zk&bdsX0FFMqt+qY5!mZX4mMd0QA8ys5uy6{_hddmunlFef(Rkntc-+@t9mnJ?L(th zUdg??P4C-3CR)P_1ToR%gBr%BZJc3(D?grJS(qpY;)fD)x44MCYifpGBo|KFj*B%j zJ>eIeXKu^IyD?@jNq^c2P2&$~r4a{(GSG%|VzBf%_p$7cFeSY64l)$gfR%^D-Bho6 zLX$CfYyn}bw{3Wk`wDDB5XiVXWDUq>jc!VBI%cU|_G%QVA4W;)Cqv!hWb*Ml9&5xqN0ZwzVLZb3VmD*52T3(Y z8FCI!%PV55(A+OG50wU}+%E+iAZCE`J=+>V97;l#*{o_>hvpG5;m*UG5^+zlQ3235 zS6xYL=H-V<8O|zT3fSvR*iqW*u%5jTl&&ktdR*hW?sNJrI97DbnaHK{n2nV&1+5F` zY1uUgv%v-!6{3yKO1yx)Ox7CZK$L2vyO~siMCxY8?jiK?Br!J3g$A)w=nS?=jf!dtahxS-wz6R9ZCQ;?9Y6I z9IRdwCAW$2Y0|IM$@CWE5w{M{qO@vNA@m&`#D50=3fV||uTdUq*)Tj{>uV0}n%(Gr zOHL7VzN)8A7yT9`5;@+uHNUQc@nElbz%!4SF%?j3@tJMYQFRqEU6i=>_0?}K-|A>| zf2$2i2k&$ef`|S2mIpoU5V0}~cuplnfnX~Rs(v$r*BEZaB0T;^T~yF53$UrFlzPKO ze!nXIxUzYM*y}?W-@^Y#+c`$}xo&H}vC*KhZ5xek+h)VYX>8lJZQE&Vr?DIB&FMb- z?5@?W{jPDw*zT!+t7wk+&=YP# zfC<;pdGZ5pE|VY_kspAY|8~jTEp>tB5x4A}3N)<W6y!Z|hXnKg@Xj?i4fa zj|4&bUl_;wqqX}_#Qp9l1M}O|6$9gM=A4=6epZM7@A3EtpQ?Z2k?!x~vF=TAeZ%8R zy0)$XxE@d(`C(uEO09XzC{OT*eI@#gUB5eY%6OTa4}dD);;nw6cn1h_h|4FVQq=fA55VP zsvay^ao+R28MD9G-%amF^ab#W;D5#p1>!07B+-(w)_!U<85L-Mr4lxa!j z!3_o5hOm(GIrzFpBN4Q;F>()F%g+Kn;8Au0k28zqc`UV!4m3l7XEH7Xi&ma$FW~>( z+E}i_&F59!2qkjCNk4WhSMl53!mjyv&(929mIHn#rcdL!(XMuOi6Jb zD`4D2N{G@NfgL`O;M7cxkyD^&!=0^9guf(DF(hUa7Q%!m!3#Nd*b)kbq^!ZKdx=#O z1r;K9(?m$2sj%d?0p9Oy{QZ`5gz~G&6)pt^)2c3b6VkDca}FHR0qknGxsqA23|W+3 zA5%j11eM*;av?JXW6db;emJ>Q0vdK<1inwbf>;v6VDT>d_AAD=VMm?A11wo6<_{&CdqjgZjp*-sZ33m zP-LV+_%Rb;|4EE^ayJY3p=Ly|ySdNVHm7pdDQI^A&qt#kg9kC$5)0K9LJ$apH~`Dh zdoRr7_3L{qPEP^P?6|FX-w6qd@JmT8Ol9jP5yPbOx@g6(3}piml1CBMGnyWn1}wXi z(k{`L$5GFskgccKe5>QkiIhp zgY`zN>WKB7>&*g~A0%kQxAH{{PB|9yXwKi|Ck{#MoXJFNVyDE{ML{*OZD@A`PGzt|Bo(f#oh zGczqUEj{C}v$3pys4Rc?Kzb%tYBu^eXN=!eT|d9eGHLGkMks^fj z+}`1BeIz;N+vNkJRC}Tnloys=xay#;Xi6TYs}iW|PYb{N+K$420xhmyXQrq~LDj=K z?mpVIr)S1?E?m}Gr4#}Jv0!HCcOR#pf2%wbYO$cJZFTSHdTqNc8^TWb3DC@P8(@(6 zfp&RCM$Gs#OZmsgmv7rQWqpOh@gci_@F@<5l|~PTWAzN%O{W=bQx-|*y=~up*ogYOGNpyw0g*hcYxs&i|nb$bV)h+gRBo>L) zO{jg~T)`NnWC(#c-D;88w?oH`vF9z^t2JG6D3A+M=_g4WE*O2+y0%j1BZrhX$*0sR z7T1ewFoVXZi#=S60MwYRAWbw8V6|5V9YfX;Dh8o3zoZ%M z$B$yXFRU0};3!-=ESrxjxdfUsCFLZWXeozj&w-!o2Tl5ENFRLkEs`%-j=6+}g#s6t z0IJ>|gKuHR0bIRuqjePyJ-PEnO)T9Vv)r`TVEhe1NR-b)jm- zqq#C^)AW#OmL%5vrT8&V1oD_eZOjR0S1s%H2J&E?a4Ey*sx@~6T|*fhUo?w%3mVy^ zc*blASwr)CYWw~W{Iz*mtuXdOQjUHeFQsNN=a`qHQCH;5RXstSECkJt z`^n`?4QJR52ISH6oe|gCJPuDxSM!m`0%?G&vE(e7do5PCmpMZ9?GJ#{4f44ymMl** zU++CMhN_AU4KO9I6Q8ko9bk8<`fJ0S42LNt%$hPH;`Pf*Mi>yQR;3h*Sc5CeeTfrA zzL(s>Syz(Ao|3<{9BIRqFrhLN0--nbvkyySV1ZYIjJrqONQsSgtB43F60%qs5bh$^ zzp%;>E0LAn@fBT!y4&nW%p^N!9(I{ICxrLvJ9kpY;A<}0n@?5pN_5Xm)n|M!s;!dqf{6THX2A6IBo%@*$pWg&zDM51 zu`2aINltjwUWf#8Qt@PDlWijst@m7)%G%6E3HhsH!Q^CExVGhML>#e5jZkwvhw0|i z=iO-bJl$es-o9FYDS52~png>X%3VutGM|6k!+6UBkdD364FsavKrM#0$GuY-D-dlp zbz;YM?`{7maYbXrsAFlkrd*ENk)&1i; z|5?fW2e9!wv5x+2kK=EOb!AHb$dlpn^pnjjs}Z6sY6!*O@3~mA>ZzY`MLLq1L_ju; zB6`b*b@F_c`bH3)o!cV=98P-S^mKaK5<$oS?P(Cdp}ONtdXZxiZxvDb;^r*yeGmYu z!1~g~{kt1-Bw80~7erFol~;_z&48PO1b9*hyW{r##DHh{`h*)o<|Gu?`N9|?rhP`l z_?%-(r$YyDE<+N})=d;VLJp~@w<_vmpp(a^g)<=W6m||aP?WBxu^MADTsgJ*P^fDm zHhCYc-D-*D;7hX#n38X5VZ$0+hFv$(W8T&Aq0e8!>c56sPbIuTe47!vDrFJ8_`+NYxeHs_mkBm zt?L4g{IwxP4Hsty7h3QxX)j=JjOMe-;My+{&aG=NZ|8JbTFVJoX;rJ8+@sF*49 z(h|sa*ekmgjOQ8ajdmTCtEhZns=NB7tw${7o~6!a;^X|ODlnKDy%TZYcN^IP`omCJ zlXqH<?8E>*hLoL& zj0gnVM0&@|Ktn^(b_Y<8Dt#CvTRQz|pUW#hvVw}3KNo&53D3{d@F{X_uLQieM>rj)In9Z+w{P(FX-5Z}BrW%gv--R}6weT+-K9Q#fhULT z?FVukegNCL7gj>v-Y|y=Mkv3NufYr(Am53n-%}na7EyeM7`*%DRzxya5r6K*DQ8V% z+j36SB1$Lf?AQhWB)polm@c(@%inSzk|$^FG5%fW`g!rJzTfOz!201v0){)ijeVXN zb(?Jc%q*Zrv+i>)#Hs$Y+0Y_A-aZJ%;e_?*An47^m3zq$U$g*9M5G@EwT5!rbFD^B z5x0t*souS{7F{Foz}%4n55<~A-82wyELGck|0S9)5!VMYh>9_3{iH=h$^WRCj^cC8FRf? zoA$xDyLFMq15^0@ zXtwHA6L+$6hi>kpPi)mwoTW~|$~DosiFH(-cU$799QyoX_gVL;6f^nKz9WV%SuRw@ zp+yzB1*B^e-(EK1bNR+Cu-B==a0IX7CuIb*j7I*oO$o+{K$Bf4!Su>*}T32R6N z-U2al5)pmzz>#k|;6Hw|`yJx`hTum38^P^|KkVP=NBstIOh1qH{ew7vLvZ`Wkd}%5 zkEa-!>8V+m8GjuNVg1F2@6Si+8JVbASl&iYeyxoD@Yw$V;(o^cKLt02x4q22iMTrD z_5TvwJSMcW5;9>CsvPc;`M$9L6ka60(R+ z{d?-@*7DF8TAsbFgArIv#`vkx8FWB%uRb<^#I>uL^Y!Db78geeq3QrE3P5 z$t~l<+I1T_!~0v7DyCmSyHAT+P>=8Xz8XGU%TGS+7nqk=NTMT{ft6m+BFZBt7t#-E zUomde?GPpz6C$W0lBL@XgF8@F(A_sBzXpXWIpXlbSjjnYezYE7wt-kq!%r86`~qFw zBy`S;5C%yTQ`nGsyQsvm_RR?3$lg4jeP>-j(S(BR9^s+T6TWFH>7?QHjJ!_?-Jh4E z`k1UPKYp6~*@=rFpxu2;JndU4;0Y7!Y22LF;`k9>0gK;Y?6lGHa@~_GB$G#wFhj>o zK9%H>W{U+%>WkgrSstiX6w7kHC~VW#5es=Y3PFCsYk2EQCMSJr>dNU(W-A9y)y9EK zUsQbgnUqz<=z7!r?JAyL(XLH3XOD%Ay?N5+s!D1>fHro+9j^s@pL4zx8D}|%*QtKq zMB@jRm)PE9i%tjAeMGH}2s!Fq5uIgAcaOCm0wk1XPLqo$H9<#$Nn5f_Wc-jmh!Qh~ zI7pj{Y$~vl3m}6QBH7$HirH%5$RX-ok_U`TXw^|2FLA(~J04Gdy{vA|uR4YXr|My* zv{#z;y(`>)+l1XY1)049!IJo!e#MKstC81$v|`Obs>DONEUg7ge*D*c1I=g~}$DA#bl1}OJ#iCIO z0Lw^r*PUM3G%0bnxKl}3*|J@$fax5IJ|$P<do;iOSrz)L(6{zk zQhtjRR$ZJpW-Aan*b%Fg`*L!of?`irZ7jK2bJA$A{qMXP=V5@nN>^=~$1Vw>>pghE znD8NBT7+)tu(^0-udn{NPnZ51hPeU+ZPPX@}chc|0z7RIU26}(hl?7UVJcAp!#UB<4swjR4w5-xCJiAc?V$Hbr2 zu)iw%e#mlvY(l*WTK`+Mkm+ZGnSU_xhxGXGn^3>F#4`Or-M@-OW_ns`CYIl9(zE_z zjQ8iG|3)qR@tyy5JeEyH0SbV~?V_0b?w>SK0 zxiS+bO$$zFgQ*70EGR_io4(I~#xmbUaZ^ro3$!p-ZkagcZm}hSeOeLSkuYkv7VffO z4hmrq?pRA}axv_JEos@EeK6kww z_QF___dN9Je`q-xJ)AeTp8J+KdG#_8=`s>Xq&1H)pSD~>3Q02UtkdEFpFZwt1JJ$c zoIKs)o9|f9iU#7*)PCYWUfOa%vd|^A#M#=?s#-=fZ=Fmsa%(hQbk)|)lF&h8&AsZ@ z?%ZLfb!UYnxK8zQczL}yTcBK0vb;OsFz{tD0`=Va`lhEW9#nS#4P3hJ{25&|i7_M* z#WjAq*F)#ZFr6hN^$Kg&yN*{nnTTS$RZOL6mYf0o40OO^;pV%VxX9WQjjWdf;hEZ| zq~%+9R}8XsNcNzEo!XdXG@Ny65`)3kS`8#E05 zR;YVkwQ+MUlEeGi$LLDnFmcjsV$ye7GQLEc{U3%-phg_{_S~q#3)RW4(o9b<05@Pq zMl+VKoKYpaC#$#y;40?;Ig){bqfU6pB!Sa%)4KWbN+_;nuKhd=2+&B^L_3W6!IRJT z9pdsSUqFcvhokikhN+Mr(f~%A@dHQbPYCdkM}&diTy-fVk4;ULP~ikY;;3r1iywlH z+$F#k%wAy8EIbw`Ml#j0lnWpacVfAPqWLP!TqiTyHq?0`%TmbF+;Z=?-JDPy0v=DX0a(=3c zxj{vzDCAvY8=8drAaPW>6W7^BC%x}vlk@Qa_t-$(ti5yp9VLMYswUcfaM1u5vMX&9 zIPc<4Z6vYx(z3UxGaQ*|rxKRD!)nYEPk8k}IsZF}a304a+>_-maZi(!T4sC?!DP^# z;7mG7L&03BpKu6(rAz_BEN^eL5Dx<8k)$OM7RR@Vg5$AkS@NKn<&-GvJ%7ibwSUn{J3*Cib5 z4xkrUC|4(6IHQ)FJaT_ql4v7E&kR^v)ge>q1n6?szr zhD=hP+}@xZSa(@??BV{P>-6lgDY~~k$9sJ-awjLJzj*11|Lua%lox_G@J`Pac+3}p z7@%(}9@E~BZ)+Zeo=_36{JIl~Yz+`c(F!_$eVmuiaqpWgk#! ztw1&NN^H&Q7f=eyL}qMcXmY(y8MHl7?N8!(ab0Ix+lM!Su}p6E(gDHFMPIr)EE6GQ zf$ew{s)~W*dWy0>eBi_pISq=mucatsu-HS362TTJaAQToOdKsu9nzJGcI5ktP@3sq zBxZp>39yKL@MRX5*&FZ4Pq`VskZ*Ny8+Qr$c729Je|Iaw zWBrI2yV3-0`hk2jK_#XwzKc#+2ta_(VoGaIwb)3i1;F=1IG&1k%Z zl6d}XRy^Vqt(bUiy&8##dW|uIU1d~u-H zOwQ9cdaEkU1d^|7yr8a8D*DX$ms2n|AYc!lF{U?}6;}b-l@sWemnw1E)4Gtoyr2Sd zr`)4;w;UCQY@e=={?{7PNzu3w${pl0~9Ub-CZ@(Jn&@ugZ+5aGTf7Sy230@YazYX3u zTiLfL6@<6xkF2YNrD=G4QW?Tk4Pr6MhH+I%Gl~;U*ZX&}k%N%H_PC~kX;Pl93BWwT z(A$IzEH{CZdQ~e4#@e`?wwrJf_@9v^h)MBzX@hG>%JI(9b!u$C^spH^H@VTb-&}yV zklGS(s#&q~#UHJYSJ2S*@6|xjaK0XFJzri2>flI{Ohbs2-c(^I?T}mvM2_r1G*)GI;?34wy&%-92=O4O38nuF@wXGd1&X9^Y6TTp10 zgtnxS*NrdQugcTYPHvMNMk}TQ+jEv@w4p0vaxTBM{=Us)R}-l>rjWzi{B-8% zhqq#mEO3&8pass;UWK~?E8YetsI4Et-AO{Sk=JSh`2hMx^@Ff zhHj_k8ZAq=WN}{QmB?GMmo?xlTJ(gtRggO2*P{n3GBa5r8cyDY&rGEPNpwWwS9}oR z%I*XqKsg*epANpTmQsb%ZcLD@>O76c7CH{h1AGb0gh+Bh4#Yfe3X~9Gw0&nuh@0Go zzcGI+xW}K{EqR?L-deH} zCf2AXi35UUQ^tgO%6DrKi1k|Vv3qab^nso%<1lUy-6oHhBRpHCLgO|XIKe}QXAiV| znf&R-Y*FP1I{8ubmN+&ik)s7E4&T85worj62%_J<&i*pkAR)W zrX;?JJYOV6;Q?xdmrR^P<-E8s`?LlQ3WKEhM$(=F$Krt>TFlEF-@NsP)8b!c5xXY5 zSdv~oenp<$zr1d+)`Xk9?$aqwod+}<$z5vSpwH)wa{k&p1-cyqkCII`<6q@bOV6GT zN79?Q_>j5hE$#G$a|>YVs?$`3fS#8d7N3+9?;TgF2X*Bbz~1*>{j#LUckd^r_uD`- z&`~_K*%WEcRP;EXC0ZWddvfCx3q!^4*^i`RV00MAp{&4D!fss8)oD}RwreO#j)HTU zV@PAm<5_%MN^ssPHECr?gXF8--5MW@LAspdIlH)IH?hU0r6C z`|kE>pRss0idRuatF_tT#eqQv56t&z`Chi2x^Eo3iJt0pfJK~xbK!y_9?kxSHBZBH z!elti;XWOmP~~abVJ!`B$;-cd9un|1Lf3L_broGPI(tDod?27_Q@#u5RdL&jlhPF6 zfzHr(%o-*CEhywlA(?K3-+=B_sbYQ2Mfb>QqGIL6gS0awrEle4HH2=9&Nd*{iAbsG`Y*GiLX00>y zj=%V}1nux(GWQWD9z~+;;KI~+#}K#OSDBn6Q;s9f2XNU@!MEz`oL`Dj{t3(qT3DQg zR4=@9NK`2Fq8UI;aAHC|{2o06#dvSMNVsF_SjbBCvX78*uXMqai!&7)p%X{vUK)^P z(j+UHa2fVw>+)|(H*B3T93Mrx{)1!^b2=oEJ-oC8g55)6#)L{eM6a+AqH_B))# zV>MA%yuQ=ZJb+ai2*k8**+TsW-5JZr(sj;a3+&-hayAR4WViN&RC3pG{%PU{JcHvR zD&-S6NF$uXL*lo<$5T9Ffd=16VrmU=)n(FV5X@Df1SNOxqii6#^fp&>T zS{$;c02ALFxUTlX(rg|(e0aRYm{cUI^@&VYmK4@QyAq3sQ0zm3E#MUG_P6d75ocs_ z?n&1m=`XU@DQu;#a;=|bNDff+NOcdvNvpazMe5Aq3BFfwDvm$Fbg4rr{qD-~^DO3H zT{(Ve)PIx-82-Cs{QsR*{ZXUKy``t%zCHa7`;hcZKM&IUmQBfE zlCzzS$7pvSQR;E<=)UU!I_JGNuJ?QNv6%4aw`B5*V^lmw4~Jv_?e*~2^bV|haGxNS zi`xE6E^pcUyA8cH4Ij;0b^lmlP)eKScw8iJ+~9K)gok&|+~udPikRl6obAP)Na}L3 zBHi)V+%Y8AeEGFnluc?oM$d{iqG5n)y$1ZQ0U@bKMTi9gkt%Y!*tR7tkYB>_F5h)m z!bWBiPBdHxF%gXxe&pmTMF}$v6~7XLjNV04pIuI55Ix()D{NpOs%6s~1K~PoBo`D4 zBOeN&Ts(`qzNd~cZBvW9>u;rRpo~4n(d)NSob*tDs%EAj2S%BD&c>y9$i%LM+aOE~ zB}N6p@sFZ{#1X)|6ng)KeUE@wShR$%G;%uLrB=cXM}lv@LXVdjL(Dg9UQt2wj$Dn>;`#Bn1#&d0D9RP((Hl8U zJ|rEYWM1w59>Nrr6!uu*J_2l)4CVwz3ds^{QVOAAjF(rZG_p~tj{@*cq&14N&0%zj zpVR{^=}FyrI{hSajcfKHa~h<&+fI9>-yL6oPZ|tfXOfMpdjGXO z$_n{1e2)!p5+McdJVqoOn|(ch!&-N55b%)X_sCD>kh`+)QPp|2Uzf# zfgq$|T=`yGmGa-Y(O8(~0<014%hP(h;+0Tcpvt+Xr$f2RPbxAd3n(wv5P&P+Pe~cM z20$j6>C(=S+qtq1own2&+DX^gdQ_{DF(oxiI}BkoH{8aeq0D@^AJ;)HNORFPC;^+5 zgLMQ#uFAqEO3Aj7l;J>x=K?r^K z%{Lg_+YG(WNSW`~U07Nr>@?}h4%c31x6DB;!O?cdw;;|7#YNjs7Re}8_euvs`Oy`S zL}`!>{*~lvMZy4-A=4TxRWc(gl0$HF=Js$kV$$ziUE;Ikal`vw*K0o3zGS`}E(w$; z&-|+;f$QT%+K`ii`kwo~YfSg4buS4|6;qz>ZBL0RD}jCkxomg5>-kJpXHwazF9!uD z%=5A|(%W;>o>Y1-U>foViob)}-_X8){AvHWj{dva_iv!~Ge`dcwZEZ#|LR@)<~93P z%Kr}vnck9JXxV;aK+F28ckQ2!{+sTmsE zB#()Tb4a8r0C8l8s?t*Mxl)*T%}Gl-X5ga_lL(e}@gi~A$EZCokKvSZ9}E{wX&-r! zX!ah`B7{vgI&om|jp1F=vF>$Q18bm!B`atm(N!yZ%&eP|G+UcsCf~6+?g*IBs-yB5 z4dL`GzvnZ#v)Yjg=m>pDb^mxSt0UbS1cp%J;G1gpu+>v4i`aN-=dYmd@`Hzrbv>kz zpfN?(1QT#K59Pw2SW#cDA&eFVlO;BHGhD2qpoVw0Vh~yVBm&{LU0#rfY@133$P5iU zzav}lYtP5Lo?`hd;7$m6A=V==5>TZ2hlSgz$BAa4uudfR4&Lm7rYSu?)HSi1(x@pt z=Tg$-r9Wh^qlMML-7?r4X;SRwxn<40X4S^**U&jHN{85z)bHVX(j1-^oN*Vs$vLae z5cJ2@*oajY1}q~-QDkd1?pwrC6pu4Y=TG|R*MZGPI5z=v;`28S|vXF=mtJuZTq%#PEoiGzgyT|i{Aw)spI{@aQ`3czu=gmZw0@hDr zPf<#X3MKYNA2tr8T7u{J_6hWDpVCXl?GWZvL*Cv6a z83Du#8uB6L@MKQ+m5u(Ie*#vsf*N!b0hxF$QDZVU$bFl|z*t*GNFiJ|Sr-jQE_gR# z7v?rESB{1GdQ%Y5wRC%7SR!lof=MeSo7-zAWX+11{0B1&U{4C^juLP zP}1Vv!(5|43`tD#a|q)EGh%5b?=O)qrGQ&{;!}9=`Q-$n4B7hKs$dHNlVln@iP#Ec z9N$eX4;o~OckCccq&{yW%F<8B#lxSlmtEgqrUh+H8YEOy%GQ3S$(Lh+NY{6PND)jkfJCf=!KVv2<2+8@t?4!LEJBxeVk z_+H`=$-&kpj=5LQy1GkHL>$^EKD+F?hRw7yUn-qTK&nq=X%%g+H7BVFI4TunR3$y;EWGl?~HDzl9}aVb{m z$_+_B6>P{PV{0C(>%l<1F2RVNaDX7OR{MP?rOS6bn3mA7083eQG>b+ax zv^B9VJ|ywo=tO_KIHPcnGs__F2gn#BMc#(xuj3jx_;41?u=t*k_>=Kx*IK3Z>0rzC z%a`WUn{!S{Sh9y=!6V6z_xhPhI~Jeq-H*c|Cl1!~Ndcm58f=Em+36ose5e9ia?8x~ ztQAZi9OfI${Fe-=qdnrMWGa%~?xGnl;EJ{n{1e*<$G_P_l+9VKkhPo~PReV35V~{# zcZi4ts$vm&g_CMb)BX)!|B#IG7d7J#2K))HKUCwtBUAqduRp80Kk)kFCH@7<-^$d# znzaAv)V~=E{)5E*A7JFqAM{T~(!b4I|4l}|Ij#RUBWbGxSOs$fn-}8W*J>_-IxOR9 zZkMChb4?-`GQ2S|H~MZpg5KF=M84XnGZGAIDq!z2&3qDf($gdo)W-(t-jov?uKJL) za{h?GfK1xX>5($wD(9*M7)EBJfHxTQDx1I{{gtkjT@W0`lN*MlM_c+e*%P&w^g{S6 z=@i29`gO(0_1Bgr`552L4z#K2?fV#RI0dHksFHd(f;QE&^D_kx4)m=BW`?A7 z-NSNjl8JaAN)-5*Kr0BT^7V{h7TkWgQ({}8cLmsx(K@UYqqF`jB;KgaQ76kEfM5uM z-C}`3b701+874tKm<+>L6QlLzv0)(};|S!&f|!VOS@U1&g0o5qTFyzfsdzH(aRTyQnOuo408`CKfdw zNr>&VIT!(mWEu7t20r)V;=weh8~#j+?Pr*>@1{9-W^R#Gv2k00LuI!79lA zw3<>|&^x%FFJ{8f$6plD9TY{oC$GQg+6_Dg{hXycf}9n{rnzDjv3uws$tff@l$3FC zXo%CuGPV_OFg*OkM=2Y-((F$8l=z*)nzEdI5P^njW5sB-6^}Wi zyXs!c_=8bwKB9P7K3#Hu7Mpu}(xZFx`eC6&1_={HKB=SJqpuc(mTJ~=CA!uVE?x}H z>GwJxn~yMBYU)Zz(dzrf)r?3ivBX`)UWbS~uKWfeuk}3ZSFR&18)58&qs85$N@AjD z2Xu9Qd7}<2U|}NqOoz1zO2&Q_h!*#U?Wzv!}ut+(iE&M#z`F zMK<~J{Ge0f0QFCPEKmv7R#oxWri)>yo%NaMu)wSgm6jN5$tie(sh>{ZC2_`4Pgpk zW1-cKrM3E-@J-MOdB`n``)%bTw<6L#=R6w^bX|=z1pKEgDz3CKMbCQ&*8MZ_1ivH8 z&sEf4k>xjP#=)7fS!LIggi1x>bwJAMA47oO$p8j(S5+y){7(3s5NAVh&+f zRxalId<251sx1=DJ?$OP1m~sw?aHd1z=zn627;52w4hNKz)Gn&ylri4d}`IZ5G|fN z&zJia-|(P#;k&?9N9=VBlAf57((rwWQ3|A3?{~kS?ShR6VxLz<O?d;F! zg~baYwS^^?WpQL9`xx#WKE|3Wj;IuP2Noi%!vRjd?^@u+Be3B4aJXRL+=our*?j|0 z*xrFgkryyeTkbjG3RJH+T#(i#7DbnfRfvlc}KeiyVZkW4~mJSmSYCpU+&+c4Sn<>ri^*h#IzfL@R zSR$5$k=WN>SZb!d+1GzEY2urS$TDTK;m@7^JO$U*2r zXL|Wnb~}`X!EjwJ=5)#+@8eT{a0MaRn7ut49m7PgD72=cP-9;6Y+^Zvlqp|~>}B@^ z0nHw+v)=?s#de07(YG;g8>#y$t3t(`!NrzFmAK5(5e^PwO(Q$l8jJ_CDEjc(Gm^Os!I9T z;H?;E3N*dc;%0Bjp*-S0Rpz{Y%`PN$vlX>xxa^!ADbHq&UR0LRJ$h;@t{+d&)>-q& z;saL(Z3CU*?Sm-|=XTkcb#ef-b#ePc z`>lq)>#glLp$1D-u7ekla%!Kz-!bTCaqO=c^h2flV@K@G>g0dTpr0T44+i~EBL7DQ z{5^wyRylun>MvbJS$~bFcw0I7S$CvoW2I(bee-Mkb(!SHcmC%X^oJqhe=>;i?+?z_ zDgQH~!ej<)1RD|GsUVp>s)SV$oy4^CJAL@F7vZ3u03al|kSqz#IuSr1!q|fIfm6R) zbVys;Y7f!r!kfQ()hdK0N}m?0qtRkinRP{YWjy6%<&7dWvGB7v&gaT7J&yjgp{>qA z1CQwz&Mwqje-f#g$CDk$%j#`i91yDw@4id6ek$&sQxM%R$YCO;V`7in)=ch;Lq*S`KoP zXcKdy#S>E#3KqNcx}S{?L3Qnj2<4u?iEHIPV2jEVSv0C-4ZDSA!L}QxHpa!Q7wPOy zzZilKISpO|7D)8J*;aDShfrLThNp?O>4X}jwO;KRCl=cF0kX4R8iLCZt^)YW*qryAu1n>vX{@dAh^(gJU8F>oghur z@*Hcnd$(lIlUx*1OCswFmGQtRf_<75l_}su2nwGl+L)bf!O=L%;cYO3rW48$hX7c_ zHtU=m<9VxBLB(1)apBl)pa|koZst;PSy?-!%5Y1DI#s# z@?DZip5v#=X$8boAYYID+kP<{QSPIaAzd^@ej;1dc{H+%h&*aP(on4i&n3Zv)oG6g zD*>W15N-LlWLyv1<9dnlxTV@iOXiOY?P2X6UjX!Rx47W!#={M#7pLpLCR5gRVH%Bw zMggc%o3@Y4hRSLp4qbmm(`^BA5lE8ojYq6!zSxtKi6(0b^$;`89aL|*^l)q@2=e6} z9NRe3rt^cq=SxU8Xw|u-Md|*|FWNCUl?fqL62yiaR$C~lV}q(A17gzXU+uhh9DoqS zuq|Z(L4dGOEK9Ia3w;Re?t`bu<82aRPCfDfU}Krmw>Q}o5^H_>z5xY5chPFVj$nsP zN@ro2-v+oX>?Axhtq(ga1!(RiD4=o0jt{BVYpYxn!F59_q|Y02X3o&4w7jt}M!Vqq zNW;>@x3lTxiaePu&!vw07Eg6Oqa_Wpb)uGo8B#gCMkk%fa44mA@l%ycnzZ@$2w4o2 zcTk5aLsrR<3~()gn70v3jI=`nwz`MWBz9%h#DM3N#$+ry5xZ4Z=>2sEs$!z%$0?fn z3VC?X2QQqFNtB0DL!`R*KJcMo%aQ~+(WKy$DR^GZDRvN)Wl8cZC-l^25b1EGb3xVyfF1B z1L}#Oc)bRrlO$NDVMkL06G$q^s3nzZy%;b_9z za90HqYGZu^nMp@kbRPpVU7}QW$VpDZli$dC^^EIYuM#5*INJ{eL>s+U_XL3YLVY^= z&7)8Ny)J@z>8zQGga*Q4%ylXUDD_fGHyEz7h-}_Gl`QWxg9Jt*Jg?5(r+6Exn@fF+Mp$L{GFtJ#dQ1OaX|qVK6o!SgWcf1Z7c$3ou=Ld?q-X`m84l$Wix-^@ZMlLm zZ6pNRfI;#Ct!IQ4Z{j}GZr?6ix3qK~_}C+IeIK{l5CQJBiwta5yQ*zX!{>%fY&M_C z=4J9WFr$^~h?`4kkfl$d-NMrv^B|myUoW3sIVM9P0gB-`k5mjZvs21|NOGLGgN27U z)1zcaKNi6tKT(u@zG1}ln)oDrvR^DoAsJgXP z3{$1=z=F5;Fhip%|mfu(Zf&;mRDOPQ{$5#`&x6(!8FvZEAMd zK6m}&&@=_OC0HEZCeE`=(g#7BqEBb_Vsl~;IUZ3n z9kq(ra6-1Jb-=FUL=!A&p?@#r?3K2@?A{9XHzFFh5PYL$gZ8?@NEHYNixO(u;^piB zX8(eI+od)538H9GrP&7)XgXNup<#+{a~4-FfHle53QVA~BI_3f32Fu`PAz<}P!PlW zw5ZRfbwbl6RaIZ&tSg?^+8U?xPmZjo^tCYSN>GD4I|0ZWnm>VSz`4h_TC}&rB=Z7r zO}?TX>J~qK+Y;z8P&C*|46AEPwnc+`2<{r(Ex227cXxLS?(XjH!686!cMb0D?gZXG>C>-sq`Pz9ci+Dq zl7gAV`sSz_HL3=)B0=R#y|g;~agL+Z+5l!t)&oj@;Zg>4o(rb5)==$TPL+8{vc_zP z$D3EI{7;QJs(mfAT%RY8PRXI&CNAXX_8_C!^xL%fR!3?Y)X-D+W(fXTW>@ z(IWa;o=DFOkP!asLjDJO{Gb>AV>Jc{`&sqy-|lg4ZfIH=J8OM;LkE0yd|DYnVSHKz zLl*~p&7YK#fbaP;HvIGQW&o_F{>96?LiwMoEH`c?keT#E4|{Vb4aAbrKgPhRZdH&s zUKYs%J-YaJD^)WXr|HAYFr92f|#e0 zMhK3H;1yi1#3I=L8xaAqpl08*6rx*jQ)c_(8R&Lzbo_>zQVbk0MPw80I_g`jnfbHlnlsF>ooeC392^hKYkShZy@5f|`jUMOn$#=g_ zPxtEi=v{3pw6lM(PyYzKEZqcFQIl-5_36DhwIpLTuUacOO)VO#ehkjL;>Gp4HO2kk zDkQa>Eg8Q^0gNu_+Svxf#EX>0B<$X?{bcM5JoqwC*^^wT^F>hI;ECu;PFO){>x@nX zjgiDiuJb}C6-P?z**aPcG<8F!&iBg4D5tzBt+KRPw@W;yxP3*(-< z(prOi>o%kAzOr3M+dIPc9p-p+?V^8q^Xi3h?+_&anD(0@Z$fYZDqF4PhPB8^%HCXnQE|o^cM7^}JG{ zW)%|L(>D!aZovT*XCJvG_QTDnXXn`*^DHeBY7oB=5IB0sWkyIOpxv$)eoO9{R)En5 z4y=HwGB;ErHU-`0r%59xu62d3b^Khizj6||WpPWiDuGRHAAX;)Dht7QMHjF7Z!up;;}IHvjbOhtp$A^CLB(Se zK;)^s28ftY3*MTE2hEqLrJ<=XO=zQUifMDh87@u?3SoZU82^$4Kt$C{ecnmv>aZQOxetC;|vS z8;VQmAF4hgGm|$`HiI!|ZJS++e#G&G$V@EltLrGQqK7j}F5a#y`0g|8k01}QXPFY3 zFWShoC{wlU1unbJ_K`wxAD%_}hMMaF(jzK1Tgx&czG^-uzWP!-h4Xf5Ow0@uMBwJm zzTPuNkUg~N@%78N#q~ALMjbaROE{5x6n}fj2t4)1a3123EOT9S1`p9A1HBe~z1Fm` zmS3i{d(Wo|*<$gPSD*^mmyo~1m!CPbe}^x>7a~6|M`Qj$mqGtmOCjdJ;LC5f_n+bA z2b=gG;f3w5mO_A$wx1b07J!ohJ2T5)C+^t(YAN)mP$mXu8h}^tUpL3F{nbC=Poe+8 zjp)ZC`v1ohviuCU|ANL}u511!ps=|_?hk$|8%xU&s-vk6dVt$dFC3P8LZ_BXHTJed zP66j^E-Kc=A#BqUJ&|)?g&1M{Va%C^A4TLfPi$Q>G1D00#f}|n8m7OMTLYg+)h%dt z<#OwG(~409WqaNSC3}$N^!2rMekTXe>Q#X`c+*n@(o1Qx8*^l@354{wy?d zM7F_SnCsmL5Z>1Yj}oLJx4gp}L1tds^1X`tqA$X)vE7p{CK}-X2E~;n^}}$b;TLiP z6Q@8z207mdrOt(t#AtOM!%k68S69<=?+@fW*WdL43!ssO5e(K3^hwz^2zrmhE#2Qo zQdH{(wN!CIxXwm8J7g8BH({3@wK_H+GrV^S&%Z%{@%X5VN-0Fl8q~&SFG2zW^g%8G z-M%w{1(xXBrh~{GxT5z9J;78lhpEFAaQ@eI9q0>7pn!5xc?c zA8L~>J2&Emk%&I=>-GU*m0Z54k=N;CQ&QaP6v$#svV9vfON~UAqZiT-3tyAOHZK`) zqmoGlKW4(*jfkd>#(80mv5qe6*64bGvOAM4f}NtzY!jzjL!kd!W2{UagE>dQu3w(Q zu&V_DCdN;a|0QaR)S_$o{Gn0po}&dso|}c(+&UoG5H@JrNyliX@d7D*S8s%lv@Y%q zwN#Zq>=^jl#MsZxW1RBTZ28VmNf{RHnIz&Eto-fU$YUq|=%0?twtt$$53-IKncFfn(4qSD1G<^wJr^7I$-j3pP z_YTxvd5Q%NV0vRPu!?TSJT8i&b8^WnxEq|4;RDJR>NeI`qEho!n*eJLa&AaOri9HQ z|6$t0)G{2bT?t17qW2D}{pr)DXlDWetNSh$g?$@}H_Kc=6rVj^W*}4|n}y$Jw=%~x z+JrZv(zN#NctHq@`F1x}wKGJ)*6uG|)FOy5Um{Q3J?W~i%QtDiyVh$WyipY6pB@Oc zo_On3>w7uZ`fUnP9va2l`3c zgXdl0UGFKvN6x%+9QrO=4oU(CDBTn;r&}NOSc7AO_jLR6(`XKzV;7z>#SLP*HqJ^n zSC+c`!M^x(v5ig{^^Ht{t*eo%-_^*r9<@yzl@h*XPjVDG5DA&ZEAds_ZT4%RKLiva zwc}BKy!#4#44J@!q$&A%8-Gj;9Q_D|RrqQqXAP>VZg3s_~ z^(vRDk)9}OLep*8ixxdmCPHH=ND$^G*wrd}1+^5T-DMm%ByAPc-o#Y2h$0X$qCp}) zB}KV=?5T1b63_pFV(?CLtNiua*-8*zz#fzn?>I-NqtP=kmDFA@$T)t{+0ub(t34s5 zv$u^hNM`B$d)uR}lxk*qi`twYDdtgB`u@npf`t-{wfK6_+WURjUBkLjORRFbqn`0r zPZBxJ&xFZW*Q{zxCWg%zXCc+scZ;(}jD0T%vYszBQ5h-3$~BA&p`O0eWR~X}948*D zDQ6q)K-wuF%7254EWa>`{^JJz6KVHD7xDj8cQLU4r3v=q5dVd=`zxCMDe6D?5d1;J z@!u*oTH*iey#9;D8^9UwUqJs)grWx!gTGk30oJ0$r2*EWwYU3T#98l75OlD(OqnkZ zy7q}Nnz~CCr8FQg3^bTULn1rdzCJ?MBCmJPZ4+!kysK6_iIQHctlm1nbJ81E1p^N4 z?(Gr_qeMtVP(~+KHgEcrkQG<9GzoOnTddX~A*<#D+t)Sa@Y9$dz&@2~dxvKSXVXYRhX{_ku#?RRB^Z4k$#_Et2HMr%t- zBg4;l-<`zSmWXCH(k`WYT9MFX%1~DDc}crcPKLivU6@sJk%o5|wlj-hl|Aa&0NO}t z+;`_=vyi&;KMOA?;;PVLl|PY>&9f*NJWP7xQNIWpn;xW#-4iFv7>;~C8RaZ%;)DrC z>BZ&qL}V{Pzb9m?U$UjNG;_=(MiHP0Wgz1iM0^r9SsA8T*dnun+6a-O@BB!gKg+m4 z_za0b+|So5*YyFHV0l^r3 zT13__UxhD*et%qcedFBVJg->y!$yzq052bfTB=zFi4&23Y$@Tn=9Dz^&ik+Q0WuWthZgvQMb%FB8+`&B|EH*K!^qmxqNjlNO1ACoIb)oLa&`QYk5% z_A_MBIkAaFm5_9w0Qz_`~KY(w{r6WVJ&ri1s>a%OwH|838IwaWc=Y7Qn zPmt5co2a+UDhmZp{Mz)Xt-@!;7Q26U8hJd44NPQ}IM2A9VCeqQQR!Ad69i7Q>7mKjW7vV`+3Fg^L8(Opk1e22^x#EK{(VSc;LCFVh~AD)R- zN3DHbjl!&(?NKVPn#ufDwLxGQR!Bt}(=RPKF>p3;1mbdFP+TRjy?kb}Q>-WhZw>zno}mmny@) z;QtnEbhCeNiYEUfAMt>Xp6Vb zC!&(6*FnZc6SAkL*zdyT>;&VPkVK-o;)*_#*VOEU!}9J2WLC|W3!t-RNv{^}rgk`H+2=1z zZH2TPg;c@j5<`{K-2z`fXMd&DT#sSHg~dbMN*<)|HuU*|El>DrTucSSkQ6ss*rV;` z3?lN}W&dEQrfe4Ttw>Up8uByU&`$ntA8*0uuiPKvKr;#WQ*W%Uk-#dmnz}3@3HO^g zz_~^B_Cp}411lD!Xs&_X?|LTv1vmANdoB5EkZmjZH)jNiA;9!eB?=Ny}d^87a9eMV)R zD%V;T?&898@!V%QU6^q6K6?;r;gUi=(EbRi25r4g*Jw<{CK%;3HKJ##&m*WTWYP`B z%X({oF;VTnCX(N=gVjc`;5(V_ce4N3-C`Nedcw_~r4y?!JSTLk4C9KDDD!3?7@bYm z+)GaSwMVsp=D~lKH{Zak@omTlJw_@ML*>N^ceOGwTKYYc$h&G6kr45wqoLQc195nr zSYk7`c+OC-G=w&Ff4Nt+$WVQhu5DH z?mbGP#3@7#xVLIJSq+P0&pY<(dL$G{JR}CVKw~95G!+)~!j_E~GthcgE$*R>S(e`& ztPw4t;3CihxH5MdeUn1y>sg^JSIxFU>_U}fGT{RzLAV(?jU!}x{QdVH81M~ASYRF3z`g9hFj0p1Fd*n~hO{U(hiRZiu0m zyT>ssm9b7Ev~smbWUZVoPK^>)A;8P87L+=;&xg?|p(~x;XOFXpKFfAhwi34m9vdR3 z`f1I4q~OxfXZ9O23#=9@`za!8nX6Dz^A=Pj&FvD4<%Obq33nUJ{zID`s-iY;(&K0h zvp1chFr%g$^O{%4@xu^!Dh9XSY%;yH&-jN)+BpyBB2j`6~kpf4O_nkfoXH`4HXnA?d97VFzX9P4-L|G#9s@fZ3WdkB4gt}DT|%H@^dPo=QGH| zdx>JEMAyRP$;?m7F4#7lg!I6&#siIr@gploNT-9QCdbX+%)w}bH2O5K%H;@ajNSvp zk&AG=tvBrQJ{m$$n-+S-5!TW;wJP`Hl-Fod89Rl;#dzkr6hbh{azb{W`i)f6%lXC2 z>33<+6D{YWi_5A!>`>nKsnG+Vo_y|>6VDKfkE?*Z+rZwz&QRA98u012{S)-e0N?F@ zU8VmH$$qeFe{3qT{Hnt5Z;2CA_aKH>&~Z4fx#XFT;I!VTl)x~kYqqPQk*nee#LTD~}SgV5SPl6DqAiU6gLsP8t~Zv4o$o z%aw56_Rurw5lmxZt`APsBhpj1G$`0f$+Jv|@yzUjP8E3_=HieikM3eRESqi-qRN_tOB zO30%0fRR-DnF`VSDZs}jrRpY1JfBm6zccnrtR0In`xf5_nvD!;`Mz)arrTKJpfFm* zk(YsCWqv#=xF%iwAds7eU6r|xO~7a>D6B~G{pB3K*_|sVpXE~b;w=P4s!g8)P$|_N zy~5^W;X&L6d_86MFsB6YwR55X6!)}ajL-8fo@=W_J-r|)snVw#{`b$Z70ENeUX?S* zMrJ!HGW@E%dg5(VLh>P_6tN*98OqMAr5p!OB!`e&dhJ&A$vtc9ZNZyeXX5+4Q2FnR z9*pX=h88(0_3vJLSlY7e7QAOSl&l8ZXH})oR?Zxbwkj0{NoA{mcW8w^j16&-9GImH zYbnZIZD#FS7$u=xA!u4gKH7Hl) zl$lql`vf8aje%s%iG+koyWt*v;W~mbk~)C7EtDc7W6WS^XOy1-!bM1JAFMHV%Y>yq zU@O_EO9SIdLr+p~!alw0{`Q;3#GN&{uq9(mJoWS?({S&=O(4Z%^Mm=SS#72itjwGx z%tEGRCMnOQ$0cQKzyph}Y-=zg%y1A$=2>- zgI!A;%25lgR(jQ3%ZZQm$8&nLt5mpJk}a=MJIom;cg3u>)lA>!574N@s-2kuH;3f! z;JPgy6q2v<=uA_B<=HCUmUf{o>FZ<_vYv@(&s>a0-|*{p16i>6R`fdKa8tb=Rg%6% z+WIJ6%Ys(-*phn=`qls4=7wv4vnDs8P}-vLd5QDu`oufA2Z57Vk!`QihFRSDKo`o( zSA_T2a}$4aQM3NMWdGk>)IV;MKbIW8cWnNvbnGt|HRE54haZRd*OmLX7xiDQYkno_ zudX$Jieh47pkZJFeDgn78|;7B=>G#x{uIi}PQyS4Sjzb4NWks>GZg*p?f!p>E?Qv# zKG6S|3X;SBMb-=8rTv%Not}~XmuHB6lPoL?{we?Gl|nD~l0-y)Ie|h+l#?=*g3Yy&Zd*1O*T~u%oj;V?BqfJ*X2P|sP&a?SB0-}t zyH#p7Y;%eBJkW%ROtSeTc+pg<#^HKLgLKhr|Mqo@3EB`fPO8ZdWqr4Q_6dP=kyn&f z8GA~nb{}_3UwqrOPSZ5eya~B2Z8mN8NMIta&!N(ez|IgSF8i77MH{&&2a)jQW`WYK z-GsG`xMZX|;BDv@Q_>5Fpfhruw|;ldx@u*L%%X>_>;N2Hxan+*0eo> zGBf$<6*t5wuu&M42};BE5JE}v_4|UUh8VipAmR`}rc-JO=t}DRIk&SUGipyJbqcleBDePqu#!?eu6R;arlZd-u*M z%yaMTy2@x3yd!=Z6MFzic#Jd9;eC$1e<*`tGHS{_9uN{!p?!jccl0_&<3pzdF9#5g zz!%68=nxDYukicU6e3`MmM!N6UZgkvvS@NEnv-XqYYJIa$7=mYvXc%7jOxodi#}4q z#9dRMIk$A(LR-@~W)q|7WzK7XxA7t;rYV~f@gfQLX7ZY|)X6N!F3mV5)oZU%Qd4fF zt;(*F$h-z495Ud+#$OmY5P2BxaM=+E1;#Djwc|s#-paz~Q_YE7b<-z>(G_M=rT78a zvBTHYm{+5IfBPQdby_P3!%qP8!d)VcI2?DxQe^#lO$DlS#g~;3!T}@GYYdMdWz-*v zkg3nD<{XmGuD8R^X(ajxYx9kJHjadaK7qKlg+)a(AIy-!#fs6+pqWf!ths(LhyTs-W99+TB{DpmR7@S>tRSXJ^6WYD@|@-g-n#F=*Is(q*|M zha3Irwf$&f&JeL6#|o9v+`qy<`?*iSpMM8VN`uzlTCDr6+f} zLqvnJ2v%=q(aKtU2j5TC!NM!birSFpdwdThYUDgeHZ3AUxwYgM2S%#`o?=NKFZ#-w zmqcbdfUD1K1q`huB5dr4(40-U^A(VgUyoS1}-YG zwFn!(4?=kF3@4dpjY8UmXjC%?Q35%gVBVku5s9{zG)$CuPvp>uJ)DVEnvCc-qgkkA z+h!Myt9S<;4TQ8E5OW_06b*oOcHFYa1UOu1ZfFarc}vflf|_{1cH5)8OJv`{ThN)x z8hZgt>6uDd1}VlX7EnHr1<}tXg3KR^SllIcghE(h-Ypj3cS9z%!MfCm9N{gEz>#Mz z0NVC?eqhBMGTv(CZe7>8Q{-12q^B(U61})_r6Ig%W@LX~X8CYdEk=_8Lu0U&!|#w3 z;q(d)c_{<;cd+|2llAXl_isdZKc^&&CG$XY!7E4z4za__UIyR_4&OeE6K4fPw>`T+h_r+KR@;!00_btvo)h zh_!+>0Qv>-$rY?^-v0)H|Jq~t`%(V~r(&nWXJTcbVPOHt-2v{W0L=veUYXb!Xc$=- z=>K;P#Yp#aarKYH;J=F(+5c)T#QMi57CL4cdUn7s_|N$S`yY%B{_Y0?_B7G}L@$3w znf`cT{`mm^2dN0HFhCAN&q)9K8HE9gO?o=Ou-b2Wm|sj&{-D_Zy$EHX2c%lR*qj?x zIf`0pLV7)I?-B(~*XSv~MhQduEpM%`fzyOsuE~SJXyija^Y@ykE`5Xhi)_fL5ezQ2(ShJAW*yNHBt%`3Uig5|KoVlDM zBaoKm{6^X6C}G6asjg5V>Wbn$X`or8(NJkKiyP$oOs4p1(~Yi#&W3I+HK>+QJ!<6mO00g{=&#tT4zQhmjIf+lGzpD* zj$rj3CH}AqqI5WQc7$2@VAGX%1n0$t|H)52a|h|}-2?C!gxyiZzA2>}n0^zHdvlMmY-} zsFsUeLQ!uVe&!@8%qH_(aFCJ;Rsxi^%%iQ);@MCl zs`T#Ahjz9dLM5Bzh?i;@Mw4Tv2q}>>JA1RJh=CfdT}v)JO7TuQ`%GxXq%V-;1Z&0+ z_si}Km>tuw%C=Xb9}7eov1Zh?jUAib_CM>7K6F;I*9ViD(~1cPlKPpfqnUp)ipDQ~ zvx+w?u;3dDC3p<}C4sI)s?ui801^Ak$F6jm*dEu9)i*KkPbm-s*TX99Wx=4fMo4d2 zAGV1w=)92!uLvAuD&YYnN0=0PGBDYB8?oXf9P%|H^swc_5!6Q2O{ElzOf@QW?qFI+ ztPSuYdLY*$Dj2z?jVai)e8i#K`MLUD5X=C2M*?^&Z0H$Q*Zs!@+}#G#v*ga5ttdfWxuM(a`;i3v>b3hoI8@k*eK+KE_=DlH{gV8avr2LqcMLulq z`GLU^H~W{ps7d_>mhrT2Bw=mABL(sh1T_6CQ;9sm??D=aFMXFQO-oD&&&%=d1#9cN z3OKg%v;CQYKxCjv)(KoF1d#=OQc(~ty~lu@gl8ZZz6rB_@H%hco2%q1^@TLy=mJ;q zh{_$CfoW~#qYW$|^1@AxJQJ_GYZO&QRaE9VXIcqeL9}+IXlDQV*|3maX57Mo9+FDI zl#Bedi#gD&FI|zbwyz;um(})WlSBEgS83_^VvC>nK#;h)ZVp^dC(?=G-B6Lf$YXxZ z0XUwjyS&NDW+8{Fdsw~zGaV14V%_YWropLIWN`)d)Pg;Qt(taYJl@N)DrSjz$di(z>0W`|uH zCF>_bQaA7M@Igz6A31oGz!3;QxLnt2_;3A`;z{eWbKEX;8& z(rP6!;ca|j@e0HRba;ayZ7~RJ8d9nH>&rhd*PnK1;lMZ7harfAgk#b=)_7g+)qja^ql+lTMqI0O2f zeV_Jen%jK+q~|gx@17{z%4b~Zb&CebV)RGE^{`2(fG5G^!X-GUq~y^Mrg&_ZXPY`W zS6vExAN1#>yLD<_-mY@?w3~!p(MF&~jS^l#t&k=qzEX*}qB1zkiVqNKoNo-7Y*|3m zo-fe=ulj%@Dm2&v?u_xYOYyR}5!jdFU1*+wnS(T?=7E^k>T`apolj$d{bGXj=_3zU zdSiqchU?-NU#3C>D^jOZW;+{)()+7E<0_2vmWuFF$AxF@>U>R(LoVD}tq!o^n_S;Q6UkLGyg4aD~1Q&^z-XJA=@o}CfF!HT( z5e%T+$j=yhx;*rx@U-DIz0$L-Wsh9g=ZBT7OpI*`Y<&*P@(M{x6KZ|7Lh3e1q&hnf zkQ0Saob)89p4^FYyO`b#I@mf4M*6A}Dd7syMVKuP1i7P8yaOfvR_XNHWlNzqsk9zk zR&QkR>dVQQWZ_P*6bZlBQLz8^$KDCgzCSTr{Z%e)d(Ta|3s(p{>#lsF!(HG{#fKwqOo1NBOD|wB;tFI%%^M z-Q7f#icrrJ_O8p7mTtkU@{^9G1Kk{!$~-Gsc^vXyu61Lkg>nF^{o9QJJ>4zQH#Jb( zk|w*Pw_mo5p-sv}3Q)L$<+;3Fmz;%39T*@;F(xVBna`ycBQU)nt!xlIF1F`(6LTE{ z(I0_MbGJF@f9y!g6*~VQN9}dvwhfAt#Ch-dg6@Aa&YeB#1w6yee*Jfe_s`VKze&7* zBrbpAyI6m3R{U4K>-WU_Ur8(@-On=Gf240e$g}^bMrQx9M(3Z2+b>7`VWryNMX@jg z5_ABe_va)NkZS+j{r(?iihx9s?gv{2$m4|pY!=-=49)<50I*~9bpNnU`Q@zf=gR2! ztdWr(Fk<d+!eqI>r{PDa0S$=S;c83OB@NLg-0K zk!g*;Kb?XCiG|cuGS(YY0clXZds+>cmF&`HuC+@f3#lRqZ+LPFqM zU0(6HpiyKb2}n>HJyjwib{@vdn`>F&{N}1)nPiVTo3(2jOFVg`d^+cq(ND1m(ov%| zaqm4$kq|TG_Hwnt%4&TEf>H8q4pJ!EJf6aIy*9;Al|a%+p78Fefe1RbOZW!c)K?eD z(Hy;H=Q2~&YOguiv)gOg?WSZI|KJ0VB}Mz^W0z}~RS?k$B4h?ihP)UH&gUxfM!gLn zkvdXgV%1o-CLV^N$92z;0c`lPLU^$RQIxWkRU!F=r9prQn&BvFf9SiwY=~?6AYrq5 zP#(O8vJqc>$5UdIeQc7x3=-F z0>K!GQL1)8SB@uX%eA+ri{x;-=m!`$(w#&vpP;IF#V5EDyaTfZcC~045qexCtpa_{&w49WdaDTiI+#`&ufovt3BxG@XEWuor$5G+jLR8uBNqYL-jnPN+Dum>*21w-eLEj4v- zP}~0Iw!>1hspl>6Ru1Ps{rv@OV1{ZkeEC4B7K2Wy|q`l?QFBL|30bOFqiSpLnk zb#CF*{m~_7(KGGWm&848c!K>DsBY&dqsc%S1=d;Q?=Gn#uY&#CPM=M;YHa13#pg9~ zIaQag?3JlYPY* z-W|dPUF|~u>9l9F(fSoUG_muAcBONyPa2q~_2rP#TS3lE)TwSHY|91aXfDWkt!0|OfZkzNh?}g-W{%et+2i%y*?7_1w5x}(-!$0axbm|9w zi5FF+qFJGOP3#A(LWQQCq=R@0R1S$_x=D+ym?V9h#*n+(^w0qXbk+2H!nXn9W9&Zg zCG6Ltv(w^9-7~3n@BG)*_$i9mtNcAtzYI+Vw#gcSX1#0O^+UFYZ)=%oF#9A!G-73w z$kn07J8$KLE+J!VFji?TIAWj)b_BP78xP00Fx!{l{wdUo+|{l-+nxJAw!Ew0J5AD^a@L#0s{U*t5oJDTAOSJVh{&cz zJUyzxP4zu?-nGJ!CAAnm-(KiCpJ3LMEmQP&S~#C#DG7KK7E^{t$R!|_LzCg|Ou6r=@=I6WB9J>Suf1|ZmWK^W$l@I8|BDt~~K z5h{^HU}q=v#bKrj_e1XqnMvKJ)p$fJqy>VBWMuA!5ML=!UzXmny2+c|5dq4!g>m54w_Hp7r|zJPrbdfeO$cdj3vIb!7<*ISF8iDo*mD&s#eCRrjQ zMyeF31LtgGN1MCDu3RMenM5v@I||wBZt=!o0R``2TgJgz(0FVAIFF#iV)5&lc&UcT zaZ4mJGPGwjx}|v0;d;7<+|~TW@=gwol+?-~F-RRR*OnA!5DHE;=o@7lfh6BDDgQ|w zI*w|P8sBRr2xOae}XN}C%#n@^pTHx4R_U1~e>sWS9F<@2?j>u}1SgSW1L z71^bkTRRnaZ*1l&-6C!F(FoGTGct)4K35;f!hWE@e|g%C6&Rozn0-6GAH**kt#Q~l z)KzZ>J;A1pWOH3m$G~J}xOTD8Tepd4-uP+Elu26#>tp?wxNHWw!3ycDs4< zA@tW6<0xO?7jWL+!)JV&Ym8Z*#;lim^j=wODe+T0ZzhYhyQdB!PtxWL&e%$Vj zSwfZR1ry?FqQPyXoTBpWYHCH$@Rx4`C(@zl6#;Pq5yNenF&X? zr(toqABSG_CNGCcl+Dr(y4EuH&3Jv=&Xk?k4xMRTAtL72ne%4A39{SLDDe4r(qF$aZnOQ87NP^a@LsABq#UMHi4c}uHi zI@(b+SuUb!YMJgA&xjdlzsy4JH@hG?Q8{64K@3GwM&*z9;%&Hm_tjV;JF7X1z{pgl zwy;Biaz<-%EZGE@Lk4zneq0m=No=bP&%!TyW{Wq{5bbN>)Bs9 z83Q8?6F^^q&%nq+!_LCSh|f&V2KWG&VParn`K`ml@W0c~`Ta@$501tFm;(mbV6ouS zv#qoomM<0yZ$k7VmgJW%F|EJa$BjA7j zFOkQOO8&=d_g_>pf3@)XQ`B#+p-jKcEB}=M`0;xF^D+D_0q~Plg;w|vRsYZJp`XUM z{y+!(YTM{%hURwyfSwU>;$I{H0Jh$Mwe5%icTrsz7(!?cWx$al$!q8Tz8U10Tc}=kIbMuWMIb z4cGZ{zUWk96>;waZI*v`Hr{`>mYLFta;2g*Z1`Y*_cFV3H>@}H)q2T|@G9yZ$c~00 z7Qovw=hS!x0R_2=7+|Cf>07io&ME{NvI%vQ8UW_bDaBV)nvkx8Oetz2tDg3K-c&MH zB|n;)=}k31B8^QZA|H|Np4hx#P`!5yI?gh>UoakPVWkMa3(#4D1-M|^|%xDoWpvCtY2iF@D}Nk7*#4`>cleMX8(&UjPMm2+;s+}WjOeO${T?G0gZ zzOH-EL=Yb~znG!R)dCES@xi%-HkRoLf-1LaWzi5wV}6XX0q{Aj z+FIXe5_CG)ehG$F{cT8yEBdv0QGni7e1Nd|u#0(5duh#q#);W_m3X@1hm+e;yNcE( zwoId|a`v{?=fOAUhSO6yqYvX(H$&u^3(qV~}9*%Cp zYMsfnH6wuvHGCJI=#L5ybpc+nG-uhHWttOL7cD%itqy+hS#YmdnH{7Tkbv%`b9J=` zAMMJK*xtdMyS@9~{zY&Pl1u^hR*wy5jU%QD^=-Ib1n90~kt~AQirCu*me6p+M_{^m z2Ffxi0!MYz2$otW`xVo=rr0YBy`F&5w+$pxU)x2X?#fG~kB}HgYw73Bft+tr*@y|> zJbJ~0=o5C)EgVEa+A}iDy`$7$-hY@e!9T@6=^}U9WX|vMOP&ZmiGe=X-5#WfD`eNT z;De-|qY6BVW=)6?gpv!6t{~tuRG3iJ{0JKEXVOv?bo%Y@;W& z86UXzjj~Y^t)uTC(Gu7JuPbMf+@b>}%@1LM+v2KkqkSw}Rh$sXd3D}t_mV8XgSc*Z z4Cz2rJ378d*UQUOIl&NCfOJ`_iK$E>4Y~4UwnxJlj+uj1c)gdo z5%H+oHVxmmv2s<)jEn+<8k`V{2Id8xH1CLxz}oJZi==bfaBrvdVvlN*s|>Orq?!>{ zUxCpm*8q!G{-XQ;!y=4-mm2+GzyFjP{VrGef1%fZRzv;+D1UJE|CwI@!yfj(jrzCh zPPU(C8~z(k{vzo8VGGDVwGzw#1GQfSy#iHrfK~$4GfP`n5>H7=Pw_1+@)dIa;G4AG z2GL1Z@^xmp2byG$6dVO&?^8X-iLTzG`>n=O$@bdq!Fa0`Z^{P2pQ zn#tBS@#S-CI z8a4nT@Y7EFR1y1Uxl^b6={hOn#ku#$I9SvSGLanSz5HeddTE2{f`a9Bazy8{d+Z?x z1XmX6#4LCp-Ry4A`P=a1s(c;>_j;+JSh~DIFE6sG<9swH zyq*`@?+}VwE>^4Zo-*St74U7e?5MTDV&v%S z+yu0E4}0G!Q-0CoCmGeOtn>XD1;p>vi1kmugf$W2Ha!j#E2JnYNJGHrmZq0XaK~Af-8Pd)gf~ zz{m|}?-A{L#8Rlm2BvD?>NExPb|!T_Af_5aQe?BqBh`51R63^5_sn_Xg*F`ycpc7v zn9CqN7>BSHq;h=222xs%oDb2=gQYtM~{xvI}AA1B=Mgvr%PqMpiZ zjLIX^2SeuRzD#slMJyM`yVx=dgFV;1Lc;)eLKAuNVml#6KBbYY-yYYsvg$}v(bIe3 zZf=TX9D>|m@NTDOF+vveNaedMg)j8Xdxt^2T+ZB)+o6k){1 z@_j9*RKkeVQC#kdKj{D>#6CfonzqM>peI6(QxN}8m>j!Zq=~&>Vs5L4W)}UKQ0?2r zy8|ttg-dbtWJ&YxhPP6QtIW-;DX!^(p~7!<24xOnV(mIXZ$PDTB#|kB*=N4>@FKpA z4U|@%R%K8F>b!q|=Eh2kXv1F$mhY&N{X{}P|HVsN`}@}6nFus8lhh*x1bQ3;yFbu1 z7<)LF5)O&)r==+;V7MZ9EBRQ=CU2>6phONB*?gVyg}~>Sz@U$7Y%-72T`-%3P1Wo| z{&x5_%1)f?0usbP?a`U;E@WDrql@J$kG*3b%TS|^S&2iIgU^jVjlqn?1arN)5D`-P0nkJ)z{3iT8V+rPaMql>4ed@yTpc>2~ z`DsYX1*8vAx&5;Bd4$@b!FW!FX6H86*=sBtWI=&N218JvQo4V%X;-sam0kNbmU1Hh zk&4*Bw3uol#BS?SWDDA4nhR2UO@L!o-0{6cwJrLzG-6KmNK9>))}{hOy>F1?q+Ifyr;p8-aR| zKRjDiVHfbled5v@H=6TXW(eqC7Fh?sJdK|)79}~KpsI>GTDZBXl7b3iB$`GnFLG7Z z*=YcmR|xET`>5cX8+UJ&8p#G;)1R~D)5Vy6zZx$`vKW?`HlNR*L2ihStwg;=1(!x} z;=2W{q@p3xXxz2U2bI$X5_Dx?Ma7yFwZeq;UFUu4Y5q3@v={RVZKl#9mq~x*8 zGo@9EPR7S`{egu~sVRCpODuLHBHf5yObNUa7ZLxoD|2Nsz$jstdc*w6fp2+SDOuV9 ze8)Mu7nob9CO^fr$$LD!D8QlnbkLm2MChtV@VJaDG4q!PR1B(%Sq9PvF1;IYKUe2u zeMiTV0}e57sX1Erls$iOq!U2BGCx4%qCgb?$<(&P0J}Svz{V9 zWaV`(9bq>GR;sLq_{#V|kV=ZsA^!V6phTm2#6;SAdp(j&P1B6#sTMBXbP@MadLt7; z`nce5|I>v>KlbJnoGH%S^$yw~K6Jmzeh(SdYR4RcWYL$8SINv$;CuSTysMtWKW<5c z)8twx(7WeX-geD1Wu2_hn>Z3wcYvR!3=uv8Quef{nF?4a_TD>>4y7%5!ZJChG{ za!Hz=(cJqf-W}yZlT56_HTzv}f~2-BOsKx$f#pI!#mH&%{E#(*e5Mn18ClCKxgRbP z1@WXVo}D!GOQw`%y;s4-tV|bQ9CA14cTb5JdtG;$8uV()l+$ zC;dLM+sX~(ij00w`So4HPb2fK6LCpw{l$js#VIVgORcx-tcPhCwDp%&x$Rd^vc8z# zv-{fzX|_9KU&O?-%2-sz!g6TSNvF!1%c*|ReMopdX0l`#`0;dw+eglm_kG@dT1yKs z@h)y)==}wKrM7zw`ikq*Bcits-ciF7Pkzw-s-fJoLi>8(7qhuEbMa@tZqrse^MxG9 z?>PjqRL~g<@+uwA7e7~KlcwJ$@arn6>Z?WG&M$+3&kmcfbTSkAoF5l#xN0%9NBoB4};F~CVJ_CxnP6zW=>0QyTyPJwj?s)Z9s0oRo$Tck=PI2=s$Z<$ zdFxF-%snLSJ8qq|+ApYjgZFN_v^RCcBd&h?0rHL)t2bvPk`KPDo~c3Kjw6Y84T6VK zIlclj*4}v=FSQFl9QZ-IgTmkw#C+GQ?+{vAgXyfjg6n(AF& ztm$d1-89D^wH;o%zt;ot**3x@{FzWR(R&6aKCw>Z{P0PPR`_l`d)IFMxGf3ED8Qh=!JH`y!G-65VM9jBB$BQ$hcT)nHmaJ%m1erSA3tNDoHsWDOs!D7wf_wEi=7vsea^c)~u zn5SHO=bHFL{-VN5L4G+SiO_?NA-=9oDKA_awS5 zjCw$eT*Gs=7OiRp&@!%b1$ABbJr8RcDorha7@!DdpjGmx;pPap^@He+K_osY^Jtg& zQZBNWyl8FP<5u$~phk;c{;;El<5fOGw=<)~9}Dj`hEs<@$3BZn%&?a_e9QP27e(Va zqP;6lZpzs8n8cx$lfJyoH9pV@_<;o9i#N>8s((77(I;gs9^Pz^=}RR=NXj@???=3m zM4zMxMo1JxINQZ-$zFbos-TN4DQRJJ!~HeIJcnkY)K)%R==Z((neg*BdxHM!nZ~mepR~Uj$Nw;x zhQ3%e6xSSBYH3W0;_NC6cb)4a@6n1VZEWw(h~uo)~mC${<5(~D_Eb!GYjPes%`lS;bF4=)aCq}&KSwIIl+OJArW ztcPeQVzw{}9i)>N2;i%!icd0C4v zP&6HJNg2`#KO<6?;O47jon{!eJoYB+{6$6yUFTrBGTmiJ$5piK*Iy+sXKSk$KHAmg zuB8#xq8sB$s3-+5qhhQRwR4b5A@w>I{Zp$u{!cRGwc_Oa){IkW|1PUwvP zw5K3VEPvuYDNL8ec7@pT`|nHFxMiwtn{1w z$9OC5^Iw@;Cw#A;q)We%&)wh>BrnTdmHJ6QVxowrCMMX4S(DG&OYqoTQ_JCNyT@Yg z5Y0E9_H@7bIiljRS2+DZ7zEC)C@7i=^~|LqqG_75X!Fz)dq)SzViqe-N4t3(ygOOK zdtKYTK>G<%U#bkvU5D@^M_>M&eM7~;Xaz+Y3O?(*KoD%};O;BDl_q4lQ`vT7Alz(b^(FP}bY{jI3q==w-TJF^q@%7{4@QVZ4G9p=sps>Pv;nS%GU)ep4_B4m}8r=-N5M%pp za@|WgW}HaVL?q%ngX~TFahfOw9eS~5CDRee!RQplZoAj=4@tsQ8c zZq8r(_BG1_5_z+8Xy0BLC;o;MeMpI0_7iSn{#-_4*K4h>j!oU`8rBeQ)tziTcF*~z zGtpI|gxK8~263|CE-k5JQ7=#{A9lvA~7uBG(3who%Lt;{lmkuDm!4=0jpd(F}dEIy4_ ze=9`2BGjC|T-zo2l_#{Q&AXRkO#|IO$if{Rv1EMBnBib?rYYSLAK7Y2>sFED->K98 zDRRWtoBz$$qBn}$_-1SQ{z4&Q*(5RbYb+V1+<#Dr|8PyNOZ2~^5MkJwFoGRBO$`QH zMEIX$bU#EHezrv zg=;OU&I}z^Qy;c>Q3fXzE`k&4LM2tm@LxsQK60@E6k&s zKZ0@EWtm>gWhgL6H_i5o{F|0ijkmTF4%{x^6!l~@W(g&3?Yd?f-Ahn^D$;SXAeTqD zLim6c6QqBQ!^QK4|I~5$V>SHY-c}`Yj;Clp_GMkAc32`9@q!;i!6QAw_EmECN>~#@ z^GPklG9RBm%r70he0`2{fzzU&dS7U0q@Pe|`*q%K`4GXj4q9dFrGRfSL-o6k-ZSwc zn$`}Pw*E!Nuc~^wuC!2ajQ*)i=PYb`$?uY?29aXuvh~IGX>K>E*s-j3G9M;Thsu<6 zbqst!^WzrDslALUMl2)RHmdSD+@JI1D8-8wlskG~)R&AZ9SIaHHOaa8-Hpy|xhBC? z@68)jm3XW$Nl2%PdDW^Ui;J|bgr`ogKuiw8uO%&_F z>hYDTT}UQKncZbtvORFWlnY8TRdaWqT;4tK_Dm>^lG)J=zqf;r_%e<>(l}aCbtR}E z$$?!!iM3p_A9cj}r)PJR+nPscW?$Wfk|1cGiJ@uDTfba%*I-nDpTF2knLEMOGhF2| z7Wv9O3xly~`;R90CR7Tm@Kr80YgY$XE;P@r#NMz&D<~&l|5P(fL96UPF;$|GKyvoh zvldBm4(HIqXYzXfowwdq*4!#gzjoTr*Jq8tGr8aq_c4W&d4em`7mGjWwfv&wi+A{G zS=}~Lp;40}c6MHOjYiB1rl-cYko8_F=vH6L^`i=R3^{`@(88h%nys0C`DhFemn&4A z$#u=;t8fyuLUnwn|3x^KDQ#_<>b}2+w3-BvlW#yQcc%d9%0)g^{y* z)EAp)0}VgSYG#j#yniA^>qWRP|5lI5)S4Z&0)x71&)~Rm2glM)ZY|nCEe+$^g^utO zg;MvYIz*&YYb3RC^sdKSLiYu zMki=nj=->GR963#4VaB z-p!A%ll8?tJTyA`iBnWtL@!z;lFOFCliE-2L8U?oq1Y24BC(gGEt*r_&7vX3>bF7< zM*QqZFdOGsqIc5E?v)~or(Nt=%kiGF*cUo?#;sGdhkf}Y6RD`@Gs0(1E`(uj?u4Z} z&m4;6Rl3A4ubs^IbJ-gu41#b7x0dD!Z(Q=jAiK?I;=BMwj}`=G7vY*F^ZDx?3t^ zJRS=b8Ba*MaUCeIxYAliS-M}F)51%gQ052!nCnrCnuv7$9G=F?H?vgjF*PJlh;#?6 z-()>)(QE<#w=7dz^@G>lcaOH2Mxzea%rCfzbiEzX2&|*7h?5=)XBUnRP0Zt(m1SgM zUcMgJqI6Ww#i~{)ey^?ax0X5I=fb}h3{H>vcb||c7q((7S{0##8}db|RjjN{IJ>+N zoIRT~dHmtBPz{-gI84ha=FvG(&w*!2*Cv8~nkN$Ink0_CK6BH{JAQUC+vV$AX6BK_ zrC5QuU1f!abQ$T&AAG1y4~IyzJvF_^O3?FY&?}6+{V1i}*H|hy+V`%mUWBovx4r6~ z40==9+#Y|K6VHR7QrbVhv&z={bxRm)0~&3 z@pvN^lN3*p`tqvDT{GIl!p|IMlO>zqFFRg1>d^U1u@xp`Q*B-{7GJcN=14bjO^>g$|UYc7_Rk_fqV(n6hierU{-dp{ITAGPDGs-mjw6n@i9a&BD2kyT>JwfZ$ zMNsg1XPAsoUF_qQm~e-7HK!J8Q3q-^q<{UQcvC%HYky(MK||G?VGX9d(vH5YM`X?; zP1>Tn#5j(yb7_Cu)iRJ6_WkLXPG7?)aNNrYj>YGdHomrH{Gh~}rPiJ|u+}_=jGa9X z>F)_tEU}vnCp_vG`uP$S8ST$7&f`X+%+l^q=5L7bx9n>4=Z#+LH9xAi(Yo+!dWmE1 zn~L?vwS5`7{&Y`00<(MVLO=hCLEm2TSn_*S1g>7TOTyNAYt=so>z|YDy|248JM~kA zYmI?TtqSF^hnm$%snAiUZN^@Bv0tOB_E)vtNUm=UZF%~q+@E_+GD&nc5AeSUGI$@a zV)jLYRhF4W!dsC|qV=*-u$TK{8|hR@gIfN%ve7dxN_)ywiu!jqT#3CESo!VC?(unK@esC>l;wUn*)>(` zcC^krwM(xfZhPl7_$NhZUzQT3Qc-cD)>h;A_Jgq(yzmG)k=Go zy7$w&$e8E_mW_?B%t0HRLD$z0ROh&S?k{9zU(Pabqvu>kep=Q&?MCRDVoPyg3uVRo zJfbH=QUglI4gE!#DUCZuzJ3l`CX&3wI@}-}T~XHYeYw6_|K39>#`aO^7{Q@?DmHY} zxr(inspmeoIeR0hWRaq+IX|1z`>d_|2~ze829Ncw7SNET zR3G9_wm;i5t*F*YXkgBEa;l@S4p2%#1_oCs)19T<86xlnc|!AI08lEcUq@w-n%; z&3}4vP}|_~p$d{rmw}IudA%sqKo!+U3J$$~-FB)u)WKL}%}Oh2tnEbVqAvO+nZrog zErwlaAqsYed-uppUaE>Vdka$yQy&M{b)Z=4XXs$xuFQbUKs%d}!s*dWd_u0M0 zNaOT13%YV**!9#1{ZbRs48{XO2D9OrIe7}+?pMXnH$g7dG<{2*oUZyL?VzemoO3g- z@s%p?T=LWiREoH`_i>g&?v&zT6cI(!K&VoAqLb0kqrW-9U-CAav;t3@O_Er#l9 zmyX`}k^aUn@pJPBU;1-_Q)>C9LgSetC<9k#;x^8vgjzQ>+lmnqNp_0lCW>z?9IZDF zmWjLYP!D`1lZ%vi>$H~@)LF#AAaF4 zd4^j(ukKkhT&ln4_;OI%i$%-elX2qomcdL0A1W`MG@35+pNb?T(O=HE&2THh%cLVc zt#E&c^2rYLs&^{|u@~EiOGIR}7s5jMkBRQz$wl%3&{b?lCCbzAVRycxWY z*!t1sixe79jhBy5x42zM@{4h_XBT5QogLIJdY)UgwCTdlTMeI*&YAxhH9PxS*~d3Q zsl;UZNUV}WHuQz{8K zfTT_zmb{_r|EiT@&q4n2*pm&P=DqD%y`gFk-?lPKo6hL#@f9)oeq>*@bU4-OM8dNG zE43sQZ+@uIDeAe4>ah1~M3uwtjxf`LI`FWsIb`3lhXP!)mMb79Cf1j78Ch2IbA>@7*MY`WR)1O@Yyk@IxQBitzD>YwU zJD*+wT*vyx5$c3Hdt&R)9zEYx=URE^gL%vI^Tz^%l__c1FA$MEIQGKW;yoE9O=%MY z`-!@^7Sg?*l_Hh_e!KP3vWC;67HrTEh_t}$QTMr9kuPtW-9zkp%)W1z=kxl)UAtVW zc7?gR5wIVE+1^@|CGfo7`{|W}Q(^CDO2M0iz)Ip9(I-0lplUp;R{2*0-$tkK_v;$P z+J3KC8|Yj4sh}aOTRi$|k%YF84iYZHm0HTe8mM*r`>SThLx*lrk^m_Q ze@0k97#?%L8MyD?=Z7~WyOI~aq1o$#(7Rc{TPQv_H2-Vo;Z zUpwV|CDM_t1tZ+tDJGtBz_p!bH?eJQ8`u26XGXCiUaz0q~3*bc=M>~ zI6k};soUbD^gXRjC)GX5q2b41TmBmPXk6JD-3~JP=*8Pn%VY<|jwo~QjE$8v3hkn zv!fPyDb0UnchFwsZTzJ%*y5byuXa=X5Nq-$4szm2x{~LOE=shr)R&$mA!y}XQZrim zZ5^L}jbEPE9imFTNY~M3DR#%DQ$z9=Y6QKSZ1Y;=eC-Ux>&wu!z@U1NH?=$4<38P46i=nV*|4NgYxsOXF@z%~)CuGnD}7Wb%3set+Lw@pD_K9L=LpS_qKgAV-4!f#4)@;axZPy#V)o0}+t8K;pLr>D zG^?0dk*6BJ&I*Gjv`^O+W9xc_Y(b-?z7odf0tr?&^nH zmd{s*O~TpR2d@N`y*Lui;d(?%=Ln;oD#ZN=qm1QvXfR=Hu&i2%2~Dk-}JGoe#-=6x2ZR_UB>2#zB@t1JT_Lq$vG6hmLbUVf6$wvmXTP0e|LXkYncccZ$WEn8^B;PNcm_WB8n?5QiGH`;v? z3{y*2_jCvfnFKgkX`kUgP+-;hJgv+pPIjM*SqFpB)2Ge}M}4E0dTNIl1062!dTA9U zu9aodhi>C!_rKnfCN=1fJe14FQBodux2tI>C)4Pxex6gTe8jtF7w#cmTb153Jj68b zL(0+<0=Eo{U&+?BX}uAWmMcTktv+rY60eHb4U}{Z_m>Emt}IhJ zD8)D&pgBTve4w|RmA1}-7FhhbjL<0rbnNUs6?GMV>Q;+T{sRh!3LE{y43eE=4D8tn z=udy90CwLc_emnXYtK}}V4ZSL(tuuij(%(D_+`zdz~RYXv_9JKORzH)LE80(AH4f) zq04VtMt6(7`Qa4LBhwJh;mxV0)5*Z=_-fGXtJ>$7WBR{TUyB=lO=%j`ZWy?)<54o* z%!qIor79*nqts4Aq|N`#`<=aNx?y(L{-;^xL*=6aZV`Qh;+o4reS^(PslxQ%x^DBD z*cgUTrMSATQKz!f&u>nbA^#Z>@;{}^HkT!kSjZF}4K28I*#GH41$DUyJA4A z#|GIQc!6nK0Tm161{ofBv7P`2FR)TzK3WIkffwtX^WepL6FPW-doq@b81o!Jnz;Tz zK$y7k0$WhQe1v;46!&B(?#UaZD&RY~Cqr>h-e6dPV3P3b55!UiV*VDGLcj42?#VFR zld%jl*ze$E2IZ5DFXNt!<&(jD2abC(949jz_hc;Q4Er72li@g-;kYMn5FCT&;GPVI zbglm_fH~ZFfqOD`A~oiLpv`9EBixhM*`zTa;hwxPEfc(hd-D2#H1M5`F=gNd?#b8z zGMFcC%$xx)a8F*JJb?KK_hjri80?pEPu?Jah9K7&vB8(I^op48Y>+vE7dV-5beqTx zx=rvA?#b(9LYQCSp1e*u1m0Q4i2hp@TQ|;a)S#dOC_u>xYycG5cwrC#0R*Gpc=@3K zGKyiDLkRcj(u4jD+JqoBOM)@39Z3R%@bY6U@sA`hz*q`{<5ebv zz&A_scgYNoQso~rfr6y~+xU+lP=I5FK>tUC?LR8nLJ-Uz*pW&gU@4%$nf{Rk)FlBx z`F|vo{l6r^Z10^&0!O0(9vake|40I$(rB=~@u}fL`8O}l-*wyVEDk{H^1{KE{UZq+ zY-TtduZ;siZ59OMg?6M86cFSeGl2^LXf_mz#78At+3Vl6CVW(ab0%;kSPJ0Yey

0#Q@<^5HO11k05Y3FH!(MH^0S!gAI{(vNlj)ET9kMZ%O$1 zd7*e7I9vF6=uW*WQ~&~wTtHiZJAV*&{zw8x z@WMgFgU<#=2y8Z!oqAU&6m*+FKw$Jo5

%f*|o~+1YAwcIsWhVFR2Rh}!>10)>N+ z1%ls+vpF2VhUq&pSP+?^p`h*Mk0cP#Sc696b>hG_$7=sDj&H|KAZTC}{9uU5A4&LO zykMFYK4!Aj;%wKy;`}^B0M08Q0Qfb23jzp9cm)t}yiT0WI|qAD+R55LP;e}R{9l4# zIOPFp3O*`7VSmr@r8D91Z-@;6G8or_hz`%ij%oUL7z)|>_ z>sEs7)V~6ckN*4C2R1YsjAz*C!tB(!f~W*LA?dfRg2qS~n4f@;99#Gi*ft|q1Oy5W zUXY9cxg1^?0^H0oBPu{b2F#a5;T1kZH+xlVj$|7<_m2=D{6IlL_5~{hzW^^1aQxz> ziOrV@&{Ddsh!p|;95`;lH5?5tSRfk13IUqEz{MAhpAcK9;vceMJY2^gDS%5?Md zFs*FI9^gm_Py{SQ^zoSE7bCiWmx9>;@aAyM(fYuLDI1EG-VCoY-CV|-O zv;RQ?Z_6ey`xFII>)7Q0=@*bK#q0b+Y|ge|%M3fx1c>TTKm+SSKrk0q{FY-2!^D<2 zb|M4}Gii$-;AOCy;D___qwouOw_1*Ed&>>Ogn@t#?1yzBU}$hj1e+Ego7f_{`v>B^ z9h-oG%b5TiT;VaAfPs6N0GL3Amk^sBCbq1!qvb$?5nTKm$2bg(AcLUrJH{bf80I$f zqQ4I>7y<@LDmV}naGwY`Y=?&zwwkshMSy{-XxPRn4g;kXG(Q?I8MaWwKd7Z`nFQc2 zg@Mp^-6Y_cydPd(0=hX}jx8eYND)wQe1Tl(x(uM8f&^J5e9Ur-bOE-2xh)|!LJ17r zCqK?0z{Q83UjQ!|HXq~I(&>&w0QVj^KZw$?+Y>qgbCo4G}^)lTMZCHA<=-Q z8mkEq|09tC_-SHOP8Hh>vJ)9V@)WcLfQutm27V~;-S~9_Y_7roGbDUF9s;zBV2Z2j zdVruoav3dv*8#r8Wdqv-vmHf%|1x0KhJneWz(qhop9}(2-65DaK&1){<9rr;Bpd}ygCHLR9LHkfSVU+qrxYU*nEipGvf;{quAIS zn1nh=glvcaDrETW&n+a_wzJ%DR1j==Y<*{d>o2g%9p5zm8BB|p7B*x6X>?FlUS9@K z5d+=Kcm*Y!a#zKIK7!m<~jd2j576zID@e|=cJ__*u|CK?;K=aqTF8>b( zuYa5?{=fQr_ignnBxnVLLP3bQi3VW3rxUknw!|X?nJ~})4;2@fJtqL#>G;<>8vmU{ z_wQ_DJVDI=Ojf`V27m|-e-Lw<@u3XEFCDWtCXOmRSR|tsCN-Dh%~=S#Ja+H6f?>0* ze-G91hL>40V>Mn=jie0LQkA@!V(8P)%d(7u&&S_t6I{)gL{)v6NUi`N=8UlqeqQMM zd5s(M37IpKG708OgEg0x#b4T4Ob?}XXxbJD_MI-SY**&<{;asVxbkCm=t*eD9XEQv z73)WnjVL<-d1V-<+stVPB6_6t%FrWym%}{ghGU6d_KerOfW`Y?lXyFR@54Ri6K52c zZYNIv&@Tv3t6-ozw?epR7q(P!?s-Cf<4X2gQHP|WmVIL4_dRV<?vbqLLi`OrJiv>qewvA)x_RapRHDf(DM8k?Vc-Sg?U}hLy;sA9^W%VO!ESrnlD8h zH%e))(o0!WFtV*Xu|lnKTlvz_O45#`RqF1QvkMdXPKo`@d{gNODM5FZ*?a^ieI4>D zDzx(eZdGT%s=6!D9?67MLw>pLYpButz~D3W5xdV5Yrm|O zT|-;rdqV97(^)(ED_LVkAMY(b&6)d!#^~p{uigW#DR zb5CNbDhW9r(X$|2#Cp6E)%a1v^2iYHOvPmE(O75I+qBplv-CrJ!e&-3Pel#!7$^Tl1F z#$iB1@JhBOTc_T<-JnVTT2Cr#{p|PI7Gb_T?(aWckCiF9i;@eKv0O1~IPY*o$I`v! z(a}+YLNc>G%DK-Ap0+B9nCsLwrLlclCWpF|FL{@j)?T*ZPb?JVNs^_J%rZcJJ*dsu z1z^UvPX^4|O!Nar|eLrrfS4M8pH$J#=pZc2`NrhkYm6Bf)<>HBQdl zUs>owRFm4&l=|(<)7j7E4;>YuGBLZh9}a*xXLB#V$s*8&YnJNlibKPKKN#4Ww`TJ! z{_@E8hOb;JYcFKH*gbo=_7&vPx61R! zL=<09&>ZCjog z7myU*O$eC&BsVJIT3h)fhiR3odbT zv7QNntS_@fCSe|%&fv(Wn z=2SGdO_~e{$R~|cN1pxI6sl1g7}P!*|8&+efPpoQCeHt3pxqKnUbpKpDfSCr9CPZ; zckfEA=0BcH5Gf}$Q@YzFb7$&tI4>S4%gg zuh1U1wCFnqW52-fzF8E6P52)DY%A7xE%Amk*{K|^c|Q4E+P-k&@yeMsK>OO6SP$->1sWX1PbP zoNIyReMTYD-gQ|&M|DqgiAD~if^{_$0RVXJKBfF{;y8nLgd$MMWi~DJ>pd66FDl*K z@2qqsf9dX{i*I|GM6O;RLLYlrX(>r`G~i725pp7Oud0u`RrWczXnFyvff|Nm-p1S| zt3NWHK+Y*lzj-*|^2p$Le5voWyVhXH@|?ls*;kx2M+C&vXvH9P62@=8lei04)co4V z%SE)1F}oYe>8|!B0nO> z)>w6RQDm8Kv3Mf?^`+(cQXkWs$ma;A3F&Xhv$j2F)#L@DstyvGyrk@_>bq*SuO+KA zU4VHt$HHrL)F4d-?)xY$c@nYRp<=ZkBnKBLz^<>|f9||b85-0DN8rjbe2rrC% zwF|6dnWY1v%%YboT&r#J((knK2o$NrkFicKMlcY*jeGjYaBz84zLd}}yx?=caPO{E zMahK_J;7e)TgBdkBMHUqB1vj{D$dP2K1G-98-q8t8VITPk)}|DhuA?h;nMY=g=DOkS{em<{($CV~>h1(*=}LHWM6~m~yP;mU zUVB=(Y;S|dmD(!<+CoB4({#A3-q<@bUDmQpa$4{_cfoXt$C0_vwPw`k827U@PmX%c z!?MiH;un&`Z8S>`(eqaGDfAoaTu5It4ZM*jIs9XFR6X0F?CTAa+lc-%J#sHJm@Ix0 zB`t*ec!-M$vE5FmtCS3fGI6RQ?p~{@96wSZa%FXi>LBW~-dAH^Ev+k)7gPxLvDCi3 zRX`S*>@j)D`1-l&f>GkYn%6Tur%R?GqeXW$eyF5bMUw56uKXc(TK@1C zc z*88Xhd!62%n5wui{bHb_L@}=Y%!@7?=7r#%hhLJ9(N5WaRb%2^t*nsQUB+Dgi{)}r zmawk+$^qY9#nj`G!_l8&mCX;89g|lyI`#R-6(#rK*nJtP;WvUU8dO8(K5FXwOuA+4 zjbl_YJZ|JCJ3%(}F*CaLv!x=-HOJf6A3dNTJjF8X^x}tS2ZEsZ!H5mjm?=HU{Al9) zSFWko<-^iH6LdR|tJp1z)F$k>zI6Pb*26s1GhN2e35!i zds-QW!mR`o?8pkbsL?cz%pXd>d&0C{8J%Y1+IXli!fW>h;rZgX+MLGeH9gJB(@(_9s5{=05RvOt`7xlv$cZHtPyY0Vb?vsf z{7NZAE`gUdF#ZM~Y@qzEOYE(naP|s|E(=FkoulEgxbmPl)fi()bSB$eS#PJg-M3yn zHg3CTKBp)1>-!)qC42q86fILCk6yUL;?1Q0Dv!m;!QM1 zRB8YSs1p=lje45U zCF+(3@Unf+9ygvdt*3e~MzGIUUAX<{f%ve;@hj$*%zSgryu2m6rg@DPs7z%|0pBW9 z!BbZtMGyUAD9+xzjb3nB611C)%(rLnG8`b)jo~GAkqrehM?HEnd1W@e_QoXZm&t*< z1I06Y!Wq|Q8jXM1ktD6ON~;5~F-hAqll@_2Y7&emzrXE~V!m&n-uQa7i=b_kHPSft zN1+qI;tkb&u1@z>fp`J%@>o&1Lcv;>YER)Lm@)HJnUjRNo4)h)8KL z8ilE3(aK&_Ki`3(;xOVWKz>4(VQ`JbtNOGZTQQuT4R3L_UQ)7hcjM;-}VUnI=8Lk{n5$Y1sE z=`{Z^!){R8^ULy8cPCq3zh+_V{aZF)r~9~Td6kn}D(*f$BnBs!PELBiJGeefi2O2f zq(SZT2~BOw@k`C0{AmkjrQ_=@mdXz2FMkU%><+jQ9##6j+x~hu-GPF=aR;g54&D+w z!ys7GKv8+AZ|cXn#-6N|(=v%%LVTVYAAFQ5VizN+qjK(spKK^E*JWwFmlIQT5 z=_jB7;Vo@)jir9X6YUR;Lk%b15cDvut$K9EH$v3oN9!~)PP?J1%kgKWb^jY7+x;wn zyh}`@kJu=BbmfaatwE9u#sC)MyuZQtQme_6ZzUL)z|&Amm1lF~UK z*4ulVcj)$hZt+F1Y&o|aZ)isP_vN0c8;_j7^KNgecp}psv4d9zd~SHwlgNEwAXTB1S%H*G#xCv0t)2>2ykf zFY%c3><~2P4#!iWdZB7ZzrrBBkejVlOjiNp)*If>Ct@Yd!Z;`nYw1X6QtlnU=@$Ia z^0Rh#hLGZoj>Xg|?@QmV29|J2`zIgzN}HZ$yR_%M*hN}jbx#}r;F{ORLe4>1<6=9Y z6pf((Gq^L^{=Hpe(7I?UVnxH!|i)oCvC-TOr zy&huHmiy+)dkl=Pid4u+>&k)XK|OnI!CjVBW}?l3 zN(AHny*5(TQ%YuO!^*1r)6kDz2r^BVYOj7zQWFm?C}P+HvwBMoc$N6W9byF=WvTbP zNx0eV;{rJ=7sW0rC0V_Mz)#-!1X(V!JiFO4D90K_S8L5^6Hql`xsu0J1uV zsR$i9Tj8YtK z?$B%Lv+mD%+lZ&(dLCIX1sKQNm^7}8j~tLdEJvNE`_^?WJURB7y>GzK8o^WRjssiZ z+Cjzhzg@essv2s0_|EFHmr@njSh?T`J=#*7#Hk zeb9`x@wad=eH0F+4**8Ek8n@M!SpeW8tW3`VEQN=OdkbO?HeEAo{WR(qi`^N6b`13 z!ol=WIG8>P2h&I4VEQN=Odo{>Uts>HIG8>PwxMSf4yKR7!Sqqs_IK=;H}s6cwt-{b z!NK%VIG8?YvDlCq2h&I4VEQNkP+0%(;9&Zor4jcI?#VcqJ_-lZN8w=lC~WT@=8xiF z`Y0SsAMginJO>BU2Pik(JGdv~VEQN=Odo}V>7#HkeH0F+kHW$9Q8<`B3J23iZNT(z z@A)&91lTraeR0(SJjyD+5zt5^=+F5F%85i_3Xc4E6&$yyh5s`oa9fgq<_ORa{ueY3 za1`L(6ut%Uc#DyY|0|_71~`d@?1MTq2Jib9s1y(~U|RKeR(lk{Y_J`z4XAix_TX<6 z2@(!kqW_o4)c;_@H@DaQGY@84O9SejpcekOB%sd>4XCQ|(a09y)-5LY{O?PHLvjKJ z5?(0cZ|VS0iUcJzJb4{9_eWzL{*D$0)Is^7zythQ9nf-yM&sFmxw&f|d*bXw5(KbY zV7q^B9553IieL9WWD7yI*=+XPmmoj`1>lqT3qFZO-2fOcUS_g|!D8I%j#L7mfuNHE z@@H{?SU^et^XT-yw+?hO;CH+9{C{+UA^X7KD}I{^0@H{F_-^pg$rey~Y|ybIoq&dZ z0R)I*{z!spM}y)CgWBABg^hZ4Bne>qfIz`H_D2%Xlm=S5ciOy+4ZC(E325yH-P?a# zEND%G0zZq->TGVpT95m7Bnjww!SMF{Q3;k}0fN`oL2lYQ>v89f1Oe3}G-$5)OA_F7 zK`RtqDnV`PEME_NcOnTu?1S!~zdbC#n1U`b{2be6+{1e0y(395-TuhGJuHC#^1=a_ z5+5_!jBi~J{kJ0tE;Ip{S`ZR|o%h>L;K1pEdk0?O+9qEQ+AeqKVKK8W;OM{EgaAwj zC<#9g3)$ph*Y7^tQ3)<209|vK9sAeT!QiJbEw1=1&Sqo^>Yomw?Sx5ifB-7z#81LHx}z0R@31z@y{kUbiw=OlD+9k^o#06dYK8R01H& zATGg6kj*hY3Y!7jkstue1F~Fy#jhAL9gqdYD}LP!LtIb6?L-p5i3wn4f2RmQrjSo3}7F2f8CcV1V`l13~+3uMmJ{27H-#IkhbW!Q^1KBM5E>Lje2@1ZRH>0GiZQruysTm~ z257zNu_GY>7ziK(*YOsBc^0r-;dlGqN{DR|8vb4m1O|}>9O=3yundCuAxBZ0gOBY} zZT-e|1HcC_raFRI4FrZf5QZO;c=JUUTW8wIVgR~AkYC=wAYrnIc=CL05e;HXT-%Z1 zH(?L(*C1uMp$9-12!rE?mxOE)31aJOJCXtfIZy#mqr|QTC<#CTMh%}03W09UPhpFD zJCXv!;|yvs>r#O23hJNuIn1r3*k&yHo5%@{K}3P=u`UHD1%Of{e)qSnq`;I2x1)>S z94#176o%v*vm$VCx*=hB0;{*!quZ=f{dN?XloSNy_}7KNlmGw&8(wCyS%_^DYyH*) zNJnk39>Bqd1r*zOB~G_EM6reB9W4g9P4nZ(i!doD5SQ;%4Ljx3!e*cVbaQth)&?5gFV7cFKgY z-Z!u#lfazafX8%wIRK%z0O%sY$0iV)gUs!dYHeUQ0X;OJ@C3OTtdqddP{8m^NN$e& zw@<6JAp{H@-U3h%2VjH%ES{jl0MC2-7Mj?pyTp)11B$bC89?j}MIi9<5?dVQ*fx=! zm;?-j+JF~xgB%6Jy@wz5-WD5l$E;c~1R%{`Kg7XeV3_y7&~ALpatn94V^%GI?+2G* zkZZ?U1mK}Sf&?HwLTsk0S?|o*(Q079%%FP*D+H+D1DZ;_f(hj2Iv2JpXj?+y_!q#z z4eoC1UIK<8jR7??d^E8+%H1)k7AW|E=9>++Hz?rB1Ot)ry7z2R1I0E&ZA%dwP6CPo zmoGGq1OjYUZ~?rHptT8j;%gn$wjKYD}n4vcTA~;q2Wd#!0yJZ28O2u z0nRRbEMhAmb{bp)@(oav0TeG-AwZOk7Qi#E+g#biHac!=IX3JPlgtEzsn%~BSl(>` z{KD+bu_d<0az`>?Xty`~H711#2$b-PBmToh0f>pWSs(hH7{O#P!7;wR6kw}@f+9ZV zuz7QCpHFLJAwc{Dh{o4BYr#GR17h%U51Yfe9kXen0DUqbamMNZ)1U#`BJk0{CJB%r zB>Zz$U}-wA4eS3qB?#!b{d*(*|HRONA14RuAJ!`zCkOBe+u-ETKa}zEOUHadRT)9e z*L#7X(%n>~%1_$z`wo-S_8WW|J(D8Iqj*zGq7jz-us?yiSsEFO`0yshm&a{{=;jaD zyAvO6SGc{-dxgS(t*sOwxZ=FOM}In_*k;>U;9>X6y*M}6>bWuZ)N)$K>KJLcjCsCt z&qB$MGAFMz`ZcR1Fbmo>^iIN3vaxOEndRIxJE5z;Svh#ESK8+FHO}68){;Pbj>?YS z@Lm8+qOhajW?}j@%M|0rQL|q+2AyZ;MwCxjv@ELVE|rzq- zdS8qNi`Y^s!^(osekEKx6tg!sZXc=o?J_3S@;n{;Z>J<*Q{KE)LZM%N_@M2Q`qbi( zRC?`vTUA^UUp^}T=R&=7TJTT}chlOMEzx{gfSyd&>#IiDOm>mGBvPfAbcF-H6QbW4 zT}Km$J=t%<+%Lct=GJ#EfHKJS!Dp>oF13AgX34zine|c+xk8$1WmbEr^)0=gOAL?D zQfPS#IzJ(PJ6|u&5}p^Z+Y~Nes&_YrxV9l8FJLZOg~Fz@cc!tfjqZZdSEk0#tToZ8 zM|{XJ{hTUQ!OiB=!hm?YATYSGpvkXOFUWa`vkq3(b7h!q{$yn6J%=t%ahnIT-$duGRMX62t2Z9RyOAMkCpP4zfpF z_Xu;1&fWVg^4B$=lvhcTb!B~|d|J)t?v#6lZ9%`i11j4o$by(vTEm~`Xv;WsUmt4%ITDW$X`D*6rm8utzIWgIw| z4>;MGt2xu0&rhG-SCOGVQwpDZZ`G>7keK>W3KheOJS+C*^s(sD$CRnn^)I2!F%fzJ z$#o{C%Z7)dioZlJ%f1(nREv8#^i6VDlDM(tVQLf8x2|x+xyOB4mwJvZtcOUiS5S zJ!ee0Uo*eY`)PiE-E)tb=bWzPT<1FHaUKt^tXofR8FoDG^YgtYINapgJ}aI}-`Iil zJLMG8Lw~2DG4EIE*oBbx3!+&$panaJSwZ(~5>wkDRlqTESZS-)_cj%gftPU4RiB}998QxM^c6R4C zkL3yFL!)oPrkWGMb7o!UJXHo)w4Zy7sltX*L_@IEf`rG6Z*t;C=e6=)Z9$f;m_L4jA7?>EmoIUYSrr0psUq9q~Lf&y@p8avh z#V*Ek1IgQiyA61S01FFPzvqr4cB5&x*H0}tk!GGqKN(%NA~Ad4;+*nOE2|f}>GA%w zds$ouerv?<276Csj(Y!UVE38(aa~o03*m~<3rhYA7Xs#s`PO#pza&}E^>szpcCt%U zL=44o>Hjv3M=|aSQzhB@VDX?M(zVfnUjkhqVMpJ$v!c7Vf91sdE}cgCuM`tb-SMN7 z`^ET16JjPkjb0sbQ(+Ti+{Lf*fZIoi_1q%?z+|EJ>dtf5`>_H?Xe115L@yZZH8HJY zNW1R6=zYALYpAnF|IQtg@5-&$G9O)Ov3(+jY7Ihc>mx0aM&Eu|gaiu9g$==mleJnI zks$}n=optzw{vq9oC{fX`V>k2MeK!3Ss(3LzDu$WMN*kBbRLWsuSj>Iy}`7@1ETnnH8zI z@grF5wYUa?LL$}rM)oyf%}>)LsTZ3Y<5(^}u)Ob6Uu(0^!`W&|YC?L41LcH9e`=p) z&2y7knxWNJ^(?C^fvDTT=_vZG=XN&4*pc7;DAi!-*TM2|;YoYc+MBgkH{M?w>VA8B zpYrXj#x0c0=E;d75(ju%f~9#%IF-3e;;N>R=5<{&^$8bB)Vr_0f4O4dxH~?-5qO2j zmsLd@#2vmPXXAzMv?ygt0}3abA8whvfT8B= zlAZ5^*YSMKk(zPAbbBfcJJv=h7+0NI8eXhjsoTRP6yoIj!TEMRUoU#E5lKVj+CbLb zGd3M$=+ef9U(ZRXzjOqeMcijUVC(LfoE=iyrkQrB`CaCXR_|{kt74K`w=aAunH72_ zX90CCnAA#mF)5f8y%`V6Mrz2& zc9um{r=0!K_ocQXVV+Gi_0&E$D9-KF0!&9*BUyUqdo-nayJ#0?C#Q!!KIC-T9Ej_v zsOelv?3?L(K7HrHysFA7!uM0K|BAGe*6XBOW*x^YWn&Ld4MdNCQ-w8Sji zymlzOKh&w-=#X(Oq`+NpNZ+`9?!b~2Pjq33;xki@?-t*0pWQ9~tu83+Z%#Fp(t|yZvsU2)6JtG{{5}+pE+?C*Ne41GxV+z%K?!!_0sPFlo(?dp9$(vnx z(h7fj$}4)9R-q*x4CPgscZ-SgYbFP_cFgamKKIB9Z0fyi3autew>}E*V5{tXdaR@C zih-qVLQHqX`<&GmqsACT=aWyS7MR{2DggW1qdNF!)@72iwQ2tqZIZdKL3^J+&7=B| z(_RsELD-_zZEquDA-R!}l9@I|TehNtzObEEwBU+>r;gSWzAD71zfMC%6HAmk%XG^r zmzj5>!jeYV=4!DI*TAX(qmle+-rvn;$ASE{HeH^o)t#JMI6POgZ9hKOa3AN}lC<4u z3oQjzRoj4(%$DvmRdHqv386aN-@CVw-nWxqy(aZQ?%sWoi_dbcjsrnuAN#fU^C}0E zCaU|?-cT3b@X;!`;+*FY?9DjP*QTpDpS#eFqH0n+wEIqsuK8unPUb^l94odQHTTFQauOU% zmd-u2$-a7INA}Fy1N0O31?YW-s4@fx4TTlG_n7iTr}k+u?9On}c3*s%6wt?=7UwO* zM)ru;*W~KGT9=PiEAxIQP1Is5?49p4amMzT&tGyF6g-!_OOVTypi#u0~-td8*cf&eq|E@*! zi@}Sl9jO_&FYWkPUUu;5uV-}(qUJl6J{s7?_8O^!?ew~Bgwi^hQeB6uDJ+<(thgww zB-(!2Q>Mk1e$+bg=XlyvyV4MzLAo__?Lmzd2nDL@# zyT_jzDvnOeOtNQz6KVHKqObJ@_1P`n+&($p7pY(U^SfMQ;WM`d^;zS^nXKGxfk7iF z@<9@%J494Y9_4Dvb>1Q)np~xLs`s(Jj$F6z7Wu8V$o3P)ZD!X$)0#_qFruDD(EjZ5rW08c>3{TZ_U0ui>SWdKo2=IT*&IQgF7KyJaWzm=C^Ht2)=~f9 z7l;rCo%LI7#XH)PTv_JY`7~_~iycp;=wI=Pd?P52=K9#kA$L#1OxWMZ3@}g#xl6vw z4G@eIvK22d($)O!L)+N&K1iZ&LiII@L1V>T!gW!JkG5x~rmt;6VbZ!Tu52t+EbX+- z?NFv-!%|O%uN^fC%(0S2e=c4e7(5;H{Gmlh0Ka}mENlCD67@5>k0OWe*75#H^)@p0 z{uE3xh$v+ZsmwD^7#%kHEhfvasdx4IH{BcDdO-${B5lt_IVTTlz0uG=(Kqsq_g#bb z@VvgcZqmI6%lfu}_Ul$#x#lSb))aA38yRh7AwwT zk?X6$u*XYD({fjfQ;(Cnr&nAtyXpDla1fp!kKO%alm)=~LIz2cyE-bnAD_hxiK)-*p>ED1af-R) zF0<7MhW8xqc&~V0r0IN0>ixGo zKDTyD>7RS@&G_7bnB=XzW){Oi5qjt1@^y5z>=I3UnF~+Z*qB9WTpzBJKBxH;{na*- zMc40X`45jHm)GWMjQH7dAM1|XUpuasl5lpI?$ug`$N`C~(?N+Yoh1t%!L81`a*t`x zTBP+;2Jp92#CWI>6Nwbs%V4E6+m7p*+*!wUq?V{X=feoPx)J$pdnyGdZuu^wc<-yY&GY!Zl&3kpwPCOE z;{!1VsLOp4Rulzs+jTHof6C80+Pz?)+)U|Pgd5!g)zH3#a@+JA-#hYtr8y@fy3NuYXGyI{~N{gPr7y-f&=eqoi&4=09BUF+vsDJ|xR_9VeR~{aAMY z=%?sWH&yno`H@v=`luTV@FBn$s z`8=(nsg>%JULxK1>SzjSJVo}@6&jtIkXw>IWC}|u*wF1nQ#h?2 zQ)7(uEiUe+?1*C(%GU?!ye7R%qqkK0O7B1T={LvS_#ijkiYM!gMi%B@u14tP#^pDE zsDG-v^Bm_v&7IZ&qHRxWi^b6ckh{ZD%tRY#G>6f<$cY#2|IDN~G3MDnAt#-7^>} zzLr&VmrEXceqHus7zbl}>z1b~4A3S(} zRolk2Eci7)2TMpEu}Drvjt>x|SL{VCEYZz^RM zua}4GN7Ae2?Ueg0J@TH=O(gAaMnrffXP5QNe@!*4+8;^xX^i6x!`(*xv4bEYyQ)$g zXIPLT828H8M)P%(@9U;ZFGZ#+vzR8_jjX&n$8w#&I!dpE@>aNSGhkD)OY7UVXp%p9 zBtQR)cAqNq9)B;9M{Li!;{vw#$HwYS)%`g@d8UDOjq0JCGZ#K>3M5>XD>p#80w_(eoFvqenBMyf z{3ign1%~JvBDug&`D0!{5FE@4C{2!efg=;a5W8dE!TcihEy!f(9Sqet<^_%b1xw}v z{Ru}Vf~9lJ?v;|Tt!+r}uZq{Gmo{VYW z#(W+3WE^RWJdU&lg(Gc2;YeFhIMNmrjQ>ny|ZpJ)b)dXAda*J1tgx<-@!c@N7{nIk+uLm$Mw&E3L*Bx z7~O8j9vo>43ImwOyo0kDN7{nIk+y(-@b$0bNLx@i(iRksv<0->;68)18AsZJ!jZNB z#X8()a5m#eTTnRC7NA|V{uvx;3kpZtg2IuuKqAQ4e-4hc1%)GRL16^;pnndIv;~DD zZ9(BkTTnRC78H)O1&AoGKM+USg2Iuupm3xukPIUBM{%SrC>&`E3P;+4!jZP1aHK6L z9BB(`owVgY6fM}DwTW`$UkU+GXacZ^4Ly{Aw+KRX!K*pq164LF((%s_Q1b;P-;I_4 zkOr74SZEb|nJalvL;YU|_kYlUKrNeK-aw~3q-(pOg9B<|K*1|P5&}hURET`P%K4Y za_~>&|6{@8CI{+#`cDs*96-~9R$DkDLI8HRStXCZLjp-30|K25BLdI^fIkP8Ga;}@ zHmm3H&k(5j=|64_aFc*;FqmCw_#FlRDaUW7Z68C(f&gd8-;D#XS76=9z;kQ(tAqgE z-T!-);5H6Wh6b`^8+FuW0j?cTf5BQN_#5Xx(jA)`5=eAN8iaTMh6JG7<~?s2IvAH zM!gN|1mL9rvKJnm0Rfyf(PU{*UkVbah;5i15Sswf7FaHpK!YdIWNApyl`SO;?i>Hs z38XPC4eul-05ry2H8<2#XKy#N4%su>_*60m4@smkESz1QaE3hJ?_9-E0Vp8xt86(ELViboP+! zGy;gS!?6Tk_e`E>vNRz24Zx-#74Ub#0)Goh+Y)OCu^v_i2+<>CL3-eyA%If{0gq}z z3J-OO&9)G=N)A#aH{qX4{Ce z1cU|elq2=LknSZCBz1>5N{7) z^Vtw0L3+eca1F{AN6m&1Ng7b@0?ut%p|mW4Eez%Bh_VE9)=MKc zZXIbr015Kgu!aQh=)-1wi82J@f84lSA^Jy;S(ktN@9?7RE5eZ^jbb*(U{YbAx#3-|T=@ z1Ibsz+Bx`V4yNd_8AJX~4u}Q-ZQF(g3z1@hiw>-R+uVu9`uSOF6LRT#BtqO`w@1X47Y0V%@2TUZKk10WFa z_#yBr7br~Ci>Rpqks63gHZBqnsUgwuT08OYpV+b+QI;R$PRa{>7GCiLwENV+g1|2{l+k;s>DA1#4O0 z`wmQ{cT+a3x4S|$BZM6II>rVddjRSuu>1x-NdgKZ4MLO=pj-ra$+1nIkmvz02G(Q{ zGGdcn^e=-5plFwnhl;zHkpO&Tpr;&G=t0PcO~$AHi~yb20EB=s0c4xeXn4Ff_^A+V zU7x7QfH)GM`!>c1h$BH79ziStBQTf(VvK+^4uH2>pA3j20n}*VxCm+dy@A0q5M>0! zMg}N@F(U!dkpbNxST^8C#TY0BQ8s{!Eu=RDO@^#IaFx*BLO@oOg>9O0|7xyh#ClRdjwa3_1OTG zDm35@gta0F48$g{^?zLibc7+LL8%Wj5a8MfvZ%054SebjENF+QkpOvGKtzW1*s{QB z0Rl%@0XU)QAl6wzq--cO0P$c(0=O*z#DR5e5HezuY0|&bfdsASQh=-(V+14Dh9|D|Du+}ABSsjbfB4$ZI3IU)!f1QgAL&^qE;Df+yVDMo? z83Ar!C>em>gO&sm_$`ojCidL;|AP<>@Y*0jF#%%)M*IZU1|{GwF|atI1_Io705}ip zs(`xy0|D>c!1q)bL>^H#06H`TBsqZ@2SA4gINxEpO9Iy(qUq28jSZl92Ou_#5g^+I zn3v!kUU=eBSR^7bBLS6{WM$UbGoZ>6VA6z@`;;MI1hMW?1}e&eYX)W{WFWFYP~w5( zB?tt##PgwngaA;@Sto`AdjoKS!I}lc?zcn*;FCVK;{i*c@nhPJ+Nd5YLAO zHis0rcw%P*Yz{!<2y1f?GGZe$2@KrN-@^+~sDOVv)?3Pey#e?NVR=h@a&9c%mYB(a z*vG)uz#0K=fuJG`4?2Mllfzx z1qquBENS3Ej~sLTz{;^7?f21-=5;?yjlI6`vv>M(xU}b;B8EtveRoYCM#m;T_Fp08 zKbWgyd87FU^FA$wCqm~7XvV+OFq#Hf)BIYsq0#1uXMEk5c|2QgxBL7|4~yJO1yA#FJM%NQM|z0X~g%D1q* zUt9e4(~b5qN>a8qvAM@!YRgSE&6d!jGdrnR41zV+W?lVCKGUdXe|(o%LSx+;8nfT@ z<-V`O&&P{K#%2auTZ38CZ_mt@{_HM0x#lq;k(SlDYVB0LR@}Kt?pJ!Q*uMAvc;eh@ z@sd(3f}izfgi&s7jV+7)F{y9cBopWP<_zj})oEFLQuZ81rB;8hW1{A}x*X;4y$!L8 zY1n?ewYWUCAg@R;j>nf#?uz5{nwraQjj<8l`a&<`|!TVhr&mpRU@jC9&d9A38k z8g=fd(R*Dj5sgA{$N1x|d z(*Ln{W~QibtaA@ZdROp`lnN&gQKUJe&5FAqnHfquhqAiB ztZ%|>sBaNRiEP$B{rvY&)`g|r(;zY_m8FVv0L;p)MxB6*n{puE3YXoj4_m! zxV!o*rKoYXuuu5xq%5$`M-M)JXTad>e8eJY`TV)g9~0XZl4K+GZ$}=Usu^CH{=INP zvL?M!+WwWtX*Px+;p zy-C+ADwgg^x4W-g{%)>+`|;s<_ZJ+`J-ze$KMoG``k-XQW}8+LuZE9go@e1La2whE z>-gNHw_Q=_*+D~tajToW?`pR0d_e2;ThZZn@El@S+JsdE%X#A$q3UIiW)Pnle_G{T zI=WUst2o+_9UsdgR{k#fedCX(ZHJ2~ZZ-a@F_Ad6!mV)3Tojr6N3+u7$3SS}G4IZq zm4`DE{fzq7)-)ZLt?)|r^Y7OZ9$*C?6d>Eu?-FcnRj$TM zSIe6ftM;g`eHZn1LFV9=vibTZ4*v&*dL>UnQ5NLeJcDOnFci8kqR$Mx`mwgp`2C74 z)e|jUv9#AV=CrS}KfBexllSCcR}JgEB5yu!YAWeDxRp=HNPoP2{EXW+dZrgO!-`8o zowu8Ue3GIj^D7pIOth}?r2O>zm^|vg&#_cOoL;g+{XwIxO6D)Aw~7bTT*9qH@0HPX9KCy+b23DmmS#k# zj?-%VsJ=D$WoB}Ertnw8<)({;Ei9hfe8*3z6$V>>UAoM|p-Xk=#deojuaKJTPX}6E z@~s-cQ>;}psj7G+4~FDSx1chNTfn%LUhX+NZ*~XRAD(1wc^oK{!XF)gT`p(!5SY8-W-)K$;zkXi`i8!JWEv15g*eN9ZBtWQhR7EZrOa*_Dd+5V>>+a@<6`-(s{ciIjcx|f65 z`FZyXrN`4ABQ4AO)2J}hF1jYdCr_uPIA)Ro@zV%$7uZ7<1ZiBwSco^)v*X+b%_%S-jb*( zdPL-d$Dv;!;)!e-!6}1o_*mf$n$$qewf_0Eom10Np zcOStWpGh^$yiD_`?k5_Q@wm-MO)8~Q?yRj*vR(SAo)CUi$BaoHxO7!AuHGtrc6oM( z>b)ZRbzCesIzPX$M=0LJP>o-z19eM!W9-FfZojG7xxb|-O7+)l-s>GMax3Vr+;M;QP!p%{-xtf?cG?t_ zd=cVs1txMdCm&HN+`?XW4YZDdCmEgN5)E!%n`h_kxn%fPJQuJoXU zmRQDslNQ?;buX*X^nNo6P`|5YDP|yQ=O#vSBH6FaHodq;5pnJ6T~)&iyX=oYdlKEL*Q|(8i)Ap3ZBTNF(^Y17X!J+r)?5@` z%kS?n@BHpu<22Yebn&LdFHP;*of5wy?}!*sgixv{e4S2a$-=wP%)zgoBllExK+NEi-aS9q)J?uzT_#vXr20m*XaYo|O-Cqd$kh8j8tgq>U zYDVprT}}*4(}Y^py2Rg!GN}&RhT!3qETN>~6wI?+l|IRcYODs6koVa86)Wmwdw=SV z-``_JQl{q)|El*K6ev*F*YOAwCK0}Go=hTdrp|vu_#mYg$~aH2Q+B4M<@v>DrN@49 z*$I0U)@wc-`pT15;9_$t!u^UsAcyeD^m_ZxA~c*da!kY3x|iu&JKbBHPI+1xt~5_X zq|SX{lUm)URgo{izvoIq-9w510YOqtp_9^q*Pk(01?nhCcf?2+$Fo2c+joy8~;`^GHg^F2#e9N3$$Gc*?8lmyDNk>%8%_N}k`d za5|I5k<~xJGkklk6pK(q8{+5`f4<6N5fu$|#F@PChbd}%&UdiNx8yA^GFC3zm7O>> z`$yJmTxf+&z45`DFQ=CGMWns1JHOYBEQE4*g2FxXGY2)yj+o|!-z<79cH9;<6WS%& zSrh*FVp*+cQ?`rbkd0ClQur|?3#TB$%CAF+{)Y$+3ys{X=~Dtb?;NS2Exa~qY&ABI z^5@*g)%&SyFo14n$c5EHwxYUbwkPDOK?)Q%Dy&pA%zlBNC`GDK(Kp3Ulr9!MpV|3- zF6Y5xR%?Z81|%V2to--fqbL*_50lc!X<7MkcWDn=j=!Ji2qFEPsq2_gwzSo7G%M>Q z2R$o!?x%+S7yE+F{}!KGBhhX-`xKwC0Y!kz_q!VBH9lH*RvIJ;@fFkk+z^xn*2tlHduu`yuEZJm^=ilrABoaXD zZGh{^fs6|RqdVex?n8<=sGEh3(fZhjc2%xwOucj)4pYPc``2wyb7ZjAi zd~84t%7TL9~9YU6D5`Xb`c4VPeO90saw|79280sT{m5;=i1V#}}z5tYjpw5>K zD^?cteMkeSHk@@r03wd@#zd_XKm!4K*Ee8pA*2lG{eZV(@xkguvoFX3%p3yrZ*Q0# zsMQj*(!d!L0ySR@xe!rf0$MFW0cV4cl?APqKvff#kHuGZK@m^C0KmSW%DQpI0{9L{ zpu=0S_`8^B{spK}8#G95SSLu3HwC(qun;pc_^<$?`4^C&pnwK$_1`*yFf?d@n1HiR zD{|e}V}MiLwNAW&xPQh7%A8bzC4}vbhl0JH(bF zag0n*^=UI?Oa!`3HcP$mw^T0&5LKZ0XC1H(aUICQ!v+&*#l>)|ZDLCP837PgK>u?c zEe_6JB&a{Z*|h|W*ev0~KO?~T29$KLfB}eoNnQq?rXGPKX0u!i|BL|870?catw>@( z^f1qULPl&dTK#7PgzEyV516tjkf{O`DzfnE!}tzkvkVLWjKE-5*0qU1yB>frz;opI z&?d~ykEnGCuq)sSwZ1t(10%p#!8+Fn-~~3ztMGRq0QeDf*RF#WH0U1eoanlF?wd!gH50crAF?G#)V{frMIWKyNeF2mo#ZSxi{&QVy@r2%ADA z$_S7W1bz7HpmmT91duCOTNFRO#HKHaG6LK{KxmEK9Y~M}M1rUn*1qXI z1Ho^B1P=sEbh_x^@IPtkjd24(SkeaUk@WvBgc3X;66mJhu=Ur0NHSn2!v-SVbG*P) z%v3+HWcWi!HoUE-gVgJ6xP3=&ZM)=*U8d!?+#HM~aR%V~xD zU2+{^3{8DCYsFQAKNJk&2qow|tqt3mn_yJPnVVV^;rhh=<*ngAQ{l+VMfA5Xuvlbub>-hIDEsiRoQ^N| zSWo}y@ux4nr&fIO&7yBVVE?3D&HJ^wQKGJPsb|uA&~9qNNA~5M0xieqfgDvAD|>m* zK^wlZ=$@`qbEkYi%|BJ>Q<~=(WL^%v8q+hAR=nz1LCNRvvF2&dT)#*Etn;lE=Z}^2 z&g9{zqE~kJhsVWp1S|zE`CnA(b_rgU{xlVC@UF@FgE)&YKW*@>$dSy@mo#D@vKO{X z6iWuj6?pWmt$1aRbopG^=RZ<;lKy9#Z%6H}1AU3k-ZvfR%7j}u z1}O}y4RdAfP0sT&R~!DS*s3MdeeXbx4*OBw5bIT+9TK@3KWMrI;;d&o^5c_F_sy(I zo4f3;ElXQFDBKbM){-xyzwEb8X|zY`o(BrF$66Pg`=0LDZJ?h1PWor$n8T^*qF6q& z;a|sVcg-2=diS(`o96rebgK+abCC7*YnL-VDMgnIzUI@HTkv0AeoC1roGshzCVKt( z1)XCS=XY5>>Z3xA=FwyI<^5?g-Sbri0iilJSNO)~y+{>V1gXOfkO>RSTj zs$_1@fAL?~E;LIl1IcQumvKluVV3Kkg;BM+ME;#N#c<+5)H|1Q_M5@Su$k7{;h+Xq4h2e=J(}(`()*Nwq*y!0^$gMD@ ze9QS^Pg?mRIj`9FrIm_&f0DBS4{uc{f2rSZ`@SmX0B_FWj4Sfo7r8wQ;(a~CkLB_y zJ1h4UU7I`BlwpJ^m_taEP6U`%8n=@hz@GO3T6h zZ@wi2>1O34S8t7F`c?V*`xj2imN@42_xJT86MN}O=r39G{iO3UdKAXO$&5-Vss4-t zX4-Rm1Qra7_ix?bGGf=Y-|FsFPW6O+`vQgZZmGQZqkdDz`pALB>v7Iqj=L@uyzHsi zeIVqgg%jW0_KplKCK1H0FqLr8$5lKnNV~!b@}4rL{`C{+v#QPQGAoXyV6q(mp#hp$7DWA zv9o2Z#4JiSk+2$y+cL2rb|DV7@9N(f(tk$h>?bPW@oLulku#Gui&y!|=KYR_1Qu0H zh>z|ZpM03`=&*WoRZJDFI*06aF0V&Y=~lZFvYf^=A`@!%vVL7=P3*}y%7j4dB2j%I zT2;kEhoVa)V{g6GabvJ-zQq5qv#|7dE&AvtP8GMZ7BTs_Q?O+mkJ#R(lrX^+X z;k>)&E4F#|I5{1gxNle6=Ni_?nhzH49#-yG)Z0@`J1j3{ce~m}w(b0wR(`q6V%Uy} zSEkfYp&*QNTtA=L=}g$yesaV;C0g;6owReiI0JhY+hc%y>UfWFkHhe_*;$+1XxsAx zzmG9I6@E1TkWAeN{PVYMQJ*B$5UD_N2EH}QerC6wg6=$OjC(@mMa0>?e2mJh=HlK= z+Y!5}4vMDBXz`*xQ*ODvRkiADeUO1oXU5*^7JVID<>Luz@eyHH1g>yKDDn2Xhh5pp z>dH-fFk9R(K8*Kqf$g6cJ)`g5^6XtytQ#A4YPa)v(4LjkUHt0E+CpDg#`x5`Yo+9> zDxMiZt+STNJB{X$oDaQCXFf{ITJ}eku}I5mOIh`?{HRV&eq^HFRuw}+m)a>o!;Mlo znEr~f?V(*rCwqXCQgPxX`saM_j1DUf4~9~o;7)zw`Rv=B>zJW-|CMW_a3`QM-pahG zJOiD3m5bN?i}>qh_O}+LkNLeDl36^}X4wyS**bI6Hdy4|kv$wRT7J^j;8=Iw_l0of z)&RQ$toaF~RWWZ!-cU4C#@oej2S)=}p2M?(-JvP7RlCJZUenQ1^)iwK z@}N{)(_j5Ai8qWqvF+?!qCJD+DsQZa0Tm*zW4S(8c`XYsHK6 z_Y{rZ&pp!M=OEY9Gedpl{ED{IP|bs5yoDlx6d@FvB74c0!N8`yVvKpWz+rYhG0m(n z@lt{Z&kor~SKJ1!d0tO^YCCc(SNv<;fSNTIlT!OA#V6ZC-Qfk}jI=jSJ|*$fQ_vEj zxb70EE$Zo>o15rZW;Vb#OYUwg^vf{&QdLaGB|WEm_r^o6>lK{^Qj*0wC5&F`rsSf6Slx31jLK^N|Bl&x`M^m#-k*bpMu_7y1 zDS1=o-&tPr8FYPC`p)&nx0>-+6mbKO%uqX;EXcOexw?2848J<4!C9h(ph)`A{9f?L zPRHey3l(S`WL%0yUqss#0a9M;7-8I4C#jtts&DSl)aGa(VX4ygY8 zV@TV^M6Ey<5|GQ5)m&oZ;cfbE^drB9*1!a zHx}R}?~U?c1COr6t*XyDzdw%odh7F;mDV2yS~3l$Yg{C>;j{rdF|;Jt+h{ef3UDP? z7qomG9~`r~vF92p(@2e$mg=>hJB5@>kl>N40%5i&-a4~@`Mh^C-pPLrKafnWAu^5R zBs*!;Y$WVta`wCP?Uq{!FTLaJnMa>TpJUYr?n8*RxX3IHEEZ|HkmT&`1%;V&`u*aa ze@1q%_O@o|FzrF?%2P=hS$;|45@fA=btu1j+p>hDWVQ6Pm80~-WWLniE2%qDlTbCC z1wYb7_GO-Z+;HjWL;89_hUlIA_91KTqeiGdXdl+hDUKZsxxdVodw3ak^iQ}@p233E_l|32V+Qwa==>?(!w$^wak(y2pLyzPU_Jc{zKPcacBIYU`T0XoWJE+KxV_ z?LFZ8LCOE3pX=&=&sGx@XaA=ft@rN@TYF7(s4bKvD7e48MMs+i7o?}i|JM4h^+`*2 zs8LFvPNU7-;Ai#M8-fGnmsS?1Kh%D>CU0+_{`A6mp(N4sJ4PKjg7>ohDSj|O%EQT= z_sH0f*<%}z*CVTRtBxA#62`%jh$)AJj${6ni-QiIy=MB9A5^yPFl@TxdR;lg=3IR& zyFOT_Y^>K&0VJ0n>4Wn+17&}mLB7o;@@?Y8Q;W(=mlnSc`f!G!GmTz@>2B6@|1zrj zBdRVbL&yIf}xyJRA*52IzrOPiFGg_Gpph4#)Xb}??*Ye$aQ^^ElQ!Dpl> zl>z~}kkhJT6BGvZXBUUu%HP;u&+br#qvCg6$3w*bEz0{kvr<6Kvkf)kgyUy>w4PBq_o zwuiB`CZwFqIb;-93#qGE?ruAa+{JLZxXSs!4xb)LX5UiBfw?_ubAM{TJjtPtDrMax zkJu$9A7_>+ZuFTl`0iHKWa`%JeAjwizddz>%Ha#OXeQge!xV^JZe#{3+&ub9^VFDSIDlSMCLLn$}e07TJ2c>%4R#nDV zT&YXm-|}6}q;}rB{N+SOoo`vNS$UtFrJITKuiUZ~F$W$OD+A}=tvXxpp&k{JavY|1 zOQcnB)j%qD8LToiIH;-O(Lkg?mF|sOtb442{#v0eKs6 z|HQnr4hsY9-?(?y0cU8OUJe@6R;wR&am9*^JZ60c=?7f5PeIpmBORXq;XS z8mE_o#&qXHKZ?`KLF4ptAfghiVK}`UG)^xEjnm6P-l!PdVHAY$0( z;Pi4pq7L^CZk%y?IS`8z_QN>695klc4YClYmxEr{%K`7;o{RxfVm^a=G7jbl$imhi zh=Vzzahg?V9Ly2Wso_3@vl)ZzfgXs1IRY&M+-Gn$ufrVwlR?2QGhE6BM!`WE!>46Dk!X0ZDOo(;6s+qZ$`VM+0lg8J1FA#-Z~>2E ziI63m%)b7G*Fg{=P)grGXbBR+5N`!6E*S!rV4N>8V}gWqrXco`zq5k`4WED>4_5h% zz&gQrf1)e_EKfi~XTv%{f`S@QXoFQbB4o)X%UAzq2T(mpNde#YZ%lxrk&%H%Qb%ZZ zHl}akcsiUv0SupjnQkMMB*bq5{2#2!2|knzaGC+vOw8=a$b%INL|Xoh32-HVRs$X( z7CvDeHUc2Z5&-`MesKdJ6ynd90~B^}JR2cPprer}OCX{&8E~BcT_->}4I;gUwTlT^ zvPl@g-xUiORsfuQqkbH~_yGVftgVBO)avIL+%fv?}-*gzp1;3MD>I^&ZYVxv%^ECFR-02JA{bpUP#1O@PB2fzG@34@8T z1Uo4JcJps`0P!~-4>;Ta2p9Yp0ylw+G@NCD-}!;YT=F+z$iKDu*AQrF zY{m!zqp``T^q&z@5XNntM;lPCgH9oMXPGPkBQ_b3{xbq_e?j zzzAYpCK4n9Kt^L7N(8RlfD04W2}Wonh;^Ds5SoM754%GkgcVRagVkz6$OvMcCK5#D zK#d58X9D0RK&}pJcMzD4O$MKT*90Ve2YM~n;bjopI|`<+z(30|i8NxiC=#%%L$v77 zy2P}2AYr-*0yb>&Ru4{WfFlFG5(!!w!37q3j$!~-2zWab=s4l!pfCwUqDBHVU`Ziy z$S#OM3fyI3tqJ@{lW5LGB+%dml!w@Z6r|_?^F2I9Z+s;cY~qxtkpQ_j0Bu`e6u^Cg zSPxzz4v$9+o3tgy2%v5wA&1+cK%znhw9CPn4FX{eCSOdH4G=OMC}(1J2k_ni7Yk1x zk^lgdXwF3$fDK1WSzG`ha5KmN&`;{?*c@?2ux*!sM&zB7Le#Y#t7iW0rw!hAQOK&FjX0%i~!v|@=~Cr zgfRki_kdnaShrDpzFr{4N95%LLrp8cPK+u8(iCz?c+89VT)Eh46fq<5H%);V38;Vq z1S(+dQ2fJuv)qe+Q)-}_8Z3j2nJkErQwp##!m)(FfxcM+#($Q8fzshoB4x<Ib zXnBBwfP4s`n30eNs?czDE}@Yi)|-MF62w4*J=`FNA`P@si8W%gS9aX3L<+RS0ayd} zT#*9dj=U5+)n`JtlFd?^{F@JmL01|#A0XI}f>{72G#{J2v;Q3m5NrV00X7bnf^^bR z@NS6&hl1EkyA)`ML*j_}r6A%Ccx7LFeitm{f~Y+T@pb?of!Q69I6B}-B6eXCo9F~G zpMZ`YRA?|p0QU_FM{sN)a7ElKf63qb0I0g7APHgIbzn2j8=r>#zx_m;aaVusfV|Zv z4iLQEA%h{)!Yv7?r3nim`@b5YHs<08eG3wKmH~z6|80aq|A%IQ&^H0VfN%>H7NdqU z_5W(20!6RC^v(av@(hjHIsr7yhN}M%nXETdflgT&_zhJjoOxcb0cK~>NTmkN+M$)- z36H7nI_CEXTO_|47mOKl6<51)Qp@Q}HDARyTJ(j}H$snmNlx_2qx`s&_nwTx8sEhB z2wsCVzJ2b~ZIlO-ki#yks{wVl2YB=5JKvwsNolzG^(x=}JsxjFT;J!{d@bPJU7ucg z#3K7h^rzEO&ezi%o}m|4=Id1(Sld--CS*(zuWFjMy}iD4AmUGV4#mwCZ>i-NEy2gb zQx?zTgQ%XoD@XE0r&VV(sF&O;m@H0Owk@JNRxp0=>&{ogowrv5b?=UctQ50HBKDY$ z3}5n^3jMy?$ednCoAQ#1W=`<5{WAxp)$)Z;+2uTaCe($U|?bdjfGM=xpo`{A`)E9!<*EErR(;>eqI6O2A2f18A8dP&ot`Rfu zl$JWDn(CdepIZCcr5EOFT;z23gNNb?$FgHL-Zcl+H%PAtrK_{Mr9wjE`xzF^Vf*sX|IBjd9DeQQ9d1di~sgZJdhDm9us=j(z>C$-2!{a}P zizr6bdw9AG`yOVeON~Ms%@C6>YfAGoo|nCTU3(k7Esip) zYcN#r7UhL6lPg!AMioAdDr*{gm37shzBX%4KA3*)F!GV#NkGm#(f|4D&Qo6%73sGO*S=LAinu0Z z66T!yJnnO-sLG(mg%=aKWXjVa)zKlm3h{Z(V;rOd5evCbisp=Y=T;}5{p^wdvhUO7 zxmh>$10ve*kJPRN%O@-wJL$=M$p#a_pSYqsQE0PoX&-&%d(Js(n2cAcHrmH;vkaRg8Dbimk^DjTos@>hE4f0{(A;zXryHS? zLjpqujpPV5uYli{`$?Qp45p@UujW`M@)v$LD2FSK9I!HQlCbW zE?`@57+7{D;0wR6+7G&PVEGxn5Xzy_7psXkyY^R2j{lM_rmC5f$cSTL4HYC2y<$uf zAV5a)UNu6Rq>6{0gk6q=U$*_O(28og5`*mGCBKFkZN-nnRkqX7hnSz17&nuxjg$mJ>RPOuI*loV^x{PCo0}ri!*sTDgBB;$gq&S>sn%1RkQ^ zlVq&{g7ORE4vhEqR2Rl^wcoBW=zE#N@mcNT7}f4WaZ9bmm9tMW57W^yJ+T^=dICOt zPTV2puGT~M(YY3xjtCvbSEhI6e5OUpTtgA*^>=EICJWn@Q@2=#BFJ~Wj^Xkde9bRK zjxb`(`uc}g{*PH@^+bI@pK!p3v>cYj#uOAgviH$Kxeh;T>XC)abKqz4trqi#`Mhd| z>Z&i7zhDVE%h40qG5qb9V=jvb)lKWsE!MlH?_}Q~p=;VTN_mx*I$1uB0_nj2%1w~Y zCOoL1>w{b3sm$-OWv&cX?16Ew#VD#6uaKMz)L}j7jG_Rm>&nD?u9`C2H;H!lN9J4y zHCVsCoZNljM(pumGEPCg15q(Qt$xsjlF{%aw?*o)JScdHPIP>BUbC@>QpwuYQ{3Qq zmMMuU1x-e*xHEHLzl(TY9x07_I6^@}=-$b_x6$Ie2J4~}LyuMorWQtQL8#>gh*_C} z)yQu8DInP8wI|Ak#jU^jNa76A;gp4){S8k2I;Es@k1{Sd9yh*d8J0n>&X}34Fd33{ zJ(w=@g8$hs9rPA6wobCIdMK9|<| z%c^NtVi48vg8EW(i!DEYXOvL{qPCgbM9DTcb3Z~YE>wk|wiMH=>i5JYW)@X3wzH>k-w_DvcX7w&zV3NxcM7oi3z0a>~JYO?ogDTT6b?M-!)pH_PMb!-za1Im93`HPLsjf*I&~{g!aAq zIiI38xAgI4&z_3bnMvCO%i!s#|0YQOg5t9q#&Lu&npZEoA zg7!6?W46eZtVXuf7WuR8+M)eSH0f>K3!{PR1qan%hQgVL$yC*}5=?cpKGPjzrs0Wu z94GSKI?BhjFiNBLx$l&)zeG6Ox!#vIf(3*MsDbaX4Cv-JbZ+CJCujdyW6A4^-0}4i zi}tTY@s^jliIcI3=GnyyT%Pq~z6voiaR zSsIP#s7KSkp9qOQDpb`DIJwZwEE4@@$8*}=xFh1P1nKx))E~cdRa|xJ^QcoEelTI+ zuwS0So*$S^ick{?=zcRQTG6I|gIxR*iOT%WsE;38Mv;}0s@h|RwvGp==-9^xy`m>2 zJyTFA(cy+D5w#9b;})T;Z{qrB(>Bc`{jp%)J}ugk@=t1V{FwM% z@{0NJv59Z@G8D!bL{>R+CO+q2zo;@*3EUkAKXU zAN68nAt`S-aq5UsQEi^o`gaAR(2z^k1%u^MOp#ZyY3lJuyC0Xa`HslC`T5h26j&Uo zS_GgP{S9hCMX&MUV#1J3?Iwb+Mu|DAFOA>?-~|xWb%|12IqPaHp}~ z?u?k#k*}(|Ou0tytfk)OjLR66x_G&tj*4kmT4*s@x=T&X=geTXpP-iZ$ZhWrjo#O8 zEzm}V`$RaYZKl)}uGSGBr~jfxOfSe86_0tc>2er5X*}!g^lvLFOjDkUA8vFqEk{0- zLL)dXpY5=5%)cT5<$|pIqpRpFJ;W!j-FTKTcs!{TOF_|%oaAbR1e*J42{amV#`<8w z1e}X0(d2CkcaBT1wYJ{iC0R0%HG3qDgL-#rCO0sHiC+F5>amBogtd3xE&gB$peea$ zBN{NTv?d?<5Dk2rRJOxfrS0bjtvD2Rfgv1stp}EFb-Id6OR?uNGyQ^CMGid-<{f0r zM483oqr9HM#0rKZDa0|oJ0iy8r}scXPX1*%or3klNmPR4V%aup=M%wmMtnvm9>+Dw ziY_45e%&q2ROWboi|JYM<+AiEZ^fGVMYD~m<7t~0JtZ!%ih{?1PMf5~zECnnK*SGp^_UJS}B?OEmnVDa_os+GBeW4x+im)5qywEwE~R=Jn1Ch zNmp1^^RhMda}k3I8xba@eCA{U#tFukv@HAZxTu7y_1^Nu^d*Ail;#ve&~PQOXF|Vv zr|;PfNT6Obzm)B^_EhAgkpbj#_rrT5gKqG< zcXmeR<=(A*4=#2_1{bj8fI0)XfJ+a%*clmI?2HU9c18vlJ0pXOosq%C-pISP??Jv~ zZ)7<26E-ru`VahKZ{%HKCU|RaWH>zw{+YdzK?C<4!FGw6ys&v zq^x$nYnPY_-r5^^mzW9e?2Wuj%mjD#M&2c6!uTJ%aY74rd9{s7AZ2Bqgm5cYQjvguzd7yn5sK|z^C zz>(d_ut8yIB>_Rik_d;&Ckw%wY5c=<>=7FSwx$1NCiW6+P+046DA41uln#^^0G0s^5|NzF zQ3*EW%N7Gt3j_ilVz?9lX$0DMB9x9l0#o$QWsCQw0#*?gfTMRe#XmeAM^42*W}yG* z41SPH;^hNV@rUsP+b{rqh7b<&2%N;f7BBuI3Bc_GSi(UnBdDqkQ2mIl%u$lSj;w## zq{Ndle{P*(c@Q4RvOFP{Kn1@ZZgkOXE|AR`GMz!?ef03+?s zV*|Qk1GE5QMTH@UX^j6`+4#>s0sSk$p%1LGeMtlXq#Hop5mBpr|2^e^!3ne3keUp2ml2SfTIXW^4}c`B!QVpNJ#=}8$fx00k$s*6f`bJ3{4FAZ%tbu2(sE0 zMzVzhYj0l;e$b;C^twT4M*a)82ZF#1P^4xA!2Cf$^n+^yx)+KiicT^!gAGIM{;)26O?X%MqKC|0;UmkRz*Jc>zq18`kh+ ze@+0E3V?hOljOeyqTM(GQriUhRDgbYK$!pl=Q$|w{}Fj~AV)}otbXMMjum)v4k&tF z;PHZL>?LxLBZez`@l4 z^eRwb2eCQ%uaN{KK~}?p&<8mFK^$#=$HFM8z~@0^pB$ms;K3|pRtJzl!LbXXKl_pZ zrWNR*iI8am`L6>E<^)+43+D(30tfhyBmjR0>%oPPNpQ$;1d<@DV?o^k0&CvIULFf`8Nsc&okS=xvyiHJJ0EAQbB>{!Q_;?Uf zY)2R;@PH~(Qvzeu16O)q4p2%43QDLU^5h(`Ux6cwoJqg~$m~#99lL!=03aEH*d{q@ zX^^#Gd4P2WDlZ)HLSfVrUc|~T9JMsa>Q@*lnVQqc?<1U z#Q>2zpurI|Ob;6zNY^uhk*h&)d6&)$>Iwk|50OXXsKxk4um8`sePLj0rExi16=uk-D-PUHoVby$5^goHTks=?s^$gBo0 zX#WMuDeZ9JctKEI0KxqA5&9AiML)2WThYaP7|!~^p@1%U4c7XpT& z0QH0r65?>G0uJUwMqz@oC@_4$?o0sN4qPL4bQ~4}={iQBIt@tr?p9rc(a0g7$N@q# zaae7`L5#@E1gzPt&~DK+7-$0NbO0PZiHrn$jC0t203jj(%|poFIAllw6ZJq?70zvk zW1#;BmmZEa-jn;Nzv72gbq5KX!({ruKs-nNDF`%yEFpmH{+EXjfYAqCg8!e`^jvZP z91Hdkm_jF@8h;Iccv4a|Ims$@JzWfMN>oZ3j zm<33}7G^lyteJ@$mnK}EWYk+EjuJkWdnECg@^Swisvq)UXV~~0=^s}WoGZ|krMGxg zceAzGO0>2JOXVR!i{l@^4lWQhXd|Bzaw5-oe z5&Wd?x{iSXJ!YlOw(rWQh2ObOhlekg@&v2Ix5t~sDfFl;Qnh$2)N%59;>Ue`oaN2# z75k;K+zOzq{C-BK=#`^MjfIqT?~Lx)eTY%57F`5QvflcSj7O`qw;6sXxVO!$E^lk- z{TxtvpESn9m691IGJHJe^ES24wXU-{PSYcz28(h-y2Br+Zj908olS7*>b535cZuih z^%G8OF9V~Ac~YEWZ@k(P##5yG%*iexABg6sfr^bOlPj6ib4sjLLA!?qL?A5mZ>`*e%E_V zx)Pe$`E>YGUiPP;hrwte80=jF9nPu}kP~E__Gq#pgE0kVGizl8QEKf_)hjsrV&_Kb z5XWMLDrQJb1Vw&WMrrpe6S{V%sHH96I&R77vNNg_8s%rYrzk;IkaL>D5z)AJX0u!F zSQ@o7e}4Ac_k;maqhTW^p0h#Rd*(tts@SGbuM;o=CY+iPv_I znF=-SI3HewEUDBd<-q6cKV9tN0=NXkT4vwT)TShgb^(e;LN>;_oZa0zD+rtBFhn`IO$P+81RDYmONzVkg&C^Pv2Hi>ar(UH#_6>wlIf=ayT}D4Q4BfiDnzAKGmN0Uso!JA3)# z2@fyVtozY(r?jYVRK5J5Q+t}9AdIi{(^uU<)s3a^T65S^4gR08o)!mMm2YVdTh$Uo zQCs)D|2^{C^bFV5P(R)rrwL|Jh~Gv2Y2zlFIBCZD)kM^gkK89_SI^89CnP|BYqc6z zeJ$;mnzZ?8h!SZbdecDIcbVKpEdS!jr0+aMeqYeqhp#unvJ>jg6xrMa&yfY#+_w}x zy0D5%wSSE+TJ)-%8y$Rgzoy_f`U^JljmyooZ&+{8}_*35zp zw$pQiL?u;U`y1!DrOAA>XN#?!M1!M53$-}G^M;l#^X*!r6@)zB+LAO%zCyhGWYmOX z5vihwR-tNcgY%g1@XR|#spvt82i^hrp%`+yT0*dOh`H3;$wR_xv-U{q*R!bZe(0@I_)Jjie+L2GA80^vxs(T)WtN+b6EZl!=D!X{EcheqY*GS z+c`s$6kaKZ(=`zy@fJr);!ILPZ|19H<=R)%lj8I>(~}FIHFH}s%4@F`xmW1lZyXs> z$G*qVs7cp29na6|djrzh4MT2jW0(9w+-N^h|?5_e}> zbA)4lui|9-C>wWf`~!oC#ce&dt+XlcD#_=ERaN?{aCb~81vSFDxC z8m{_gS~Ps;4t72lX0~12$-HoRt1sw1J;87VA?1(0&{p=>F|zv1D94CNewt~mEu)#$REaJn zGm=KeeT{K8m0T?SBJ-F!4rAav??6#2!ApHgCEB+ocFSLnpA)|Hy-eZ34OZ2Nk1ndI z6}F`K+{9t{x9ozOaql;K#*_~cRrClLj6V~tj8?3@t+)UMMcXoP;EPP z&d&Qu|DdDevtt<(rzG{%-wnFl_0zu;Mf0hw*aam71G_8TMHdx4hX#C>$W6W@wnHhD zz_RfPZk75}!DLFKdsVYyPr`+AMRZ~kh{W}Tel!dz>+Gb9kOy`5-08Zy#IqL5E=*F4 zadUPj-brw|dyz!;%wm^z8HyAd{^yjl4#D*j>=gNJkJ6JxD1vDn7`CcjRFwG*=K9?0 z;c@g68TY~9;~XX68`HcMB$avVI^OtvU=X*3MH{h2O26{@kJwUi&0Ey;F++y=RWVgB z^((*Tr_VVUjR_NKw?8`z_0Dkcu+}$n&rXnFE&8s7jU}a)lXNlrUbLc1bvWeeqmCOL zP;0_r50OvKIIl)f7fe65G8^Qf&TIu(fOHCK-n4F{JgTLI@d1F<4T>NklH9O#O$unO7N zIdrt^T`%ju<4_Ty>s?31bEb;hC}~GjE`bBuZ09CM<k=o^b$e?2Wuj z2nBccM&2caf;)RM?-D{m9B*&rT|y|hvp4cCAr#!%8yW76!32Xd8sHauGQ;uw;12M( zcYY3_eC=KA&IYJfws&WDHhA_3p};lYduvx_7}o$kEdYM9d$C6d1*J~+?(B`cM+oKF z?bHc^qq{Qm>=8l%Xl3uO_D0?#gaW9|?pu3=P(V4_yR#$ne>^(a2zw4K0-Urz=vpW& zZpn8L(+Y((z5~sF5D7{g5zj`tI4Wom0ie$Z5m!(UB>=VI5ek_d0TuYy>Ztp30+Q39 zsR{2sst5E=0O@K3W2uJ&HUC;7bzc%#iW+Q+KhQ4_$OHWm5yO5Ru{dxwfYdetX=+f) z=>U)vMxx{v;zbNxdpMK`*F(rj0-|^@MY2C9AR{CIsIG`?*du^>|5`6~e{n#8P9Yd) zdS4P)UI?&E5s~Dm4GYr{NX-cV#KDR9`;x$5KLSw1=H!UgIT#@N7j*)D22!jIUT9L6-jJJupICxGe<(!~dG>2O9gVsadjD}*=9MM@4BJ52B(YLXvND?sKH zu_xyUWr8e`0#I!LY2YBsg&!0@<_AoCME2_u0C~7EfYhA8*kPdc;r=cG<);B~5JB$V z;r;qoVD+E&D+C6Q11jLpeg(u5Sd%k^QY1%Y_>ZW-fmpe87}XYZS~vhWh84VpHTXhg zbq)o_ckMA`RtMIb2jJ2U5Gf!ar3VmW2<0h`lH?y#iGMUKXn_Le;*sf5(D_0p}3XFzkP= zsjx4}PPOy{`vk_x6@ns`**oI=``5w>`;vexGibMVz)pg5azV2vgr1$lxMR3ig3Pl6 z>Jx(m>%n~j<5mJDAwuWh5$DdoR#@1d6PN|S2a4=EKo9tc^HQm=da}5zbJd)T!3u?O33_~5*XA@0I~Y=N92 z8117T9Ar&c7?MX2co_SV!1!Un<3Maq4y$^ki!JZ~-U2V^X?{QwnA3%z<#_n?gV)MJ zMyr8#B>-u5U~NF)1n>&^5Hn#9qbHCqwE)`t2*G%nf1Vq#YXIsB5iNh1^tuxm`iJ@W z191XI830XyxEl<<0CYPj;&VGnF)RvBoqps6WDU_1JD(MF{8u50G@v> zs<1y1U^M_RcxOuh7&|~DB6hAE2Au80Ad#5}2&};o-|m)xfYktTJS6q!PW%%oApmm} z!UGOB*lIw4_X|o*AoPSDKG$G5&|IpK$GU(i2#Q?LC zfZ1B0;s+wf*AWi~JjH;N5Fktmj<6l2%?Fs0z|Tf3$bQJU*-398B?N%4gTAr5>?`0l zfmkv^p^hW8_P^Fg__Hx#wM9U=(p~7d06^&SAa;-+p|$_DG{U|RAoc|?(tF$vVBtXo z5wkT9`9?b_C1jQZv{8gTqB~j}aJs=GilEj$Vo&^IGHQP&VB~24h=o5LU@1VMLc~sv zBV_o;DCr*=V1+6`pYUB?1*{t|KY|?1!@BBUt03$P0rEcJq1=Tk1Nb@=6!AbvO&lQv zEH{bFmVmXe1W)LWngCr-VNWPR*2Lk&(@yphIUzvxP=Q^(59o>qV+A7QB_DB!!b|BQ zBLoO*@q&0Yd|QH}3?w)Z(^Q9p_kVTM1n6OqwBJb!bLr^nF@Ru?0N6AC1rCD`9rW*y z1P%iX@Lqqd|F+%&g74(A!5arUbRmWn=J~54!Co6K5T-^LE1V)?+sI88>amR%yYeBU zsOXoTRrYPdyc8lv1xARwl4!{0hGN{u)@55x+7kq63GoY+J!{04pXobkc$qN-tqJr4 zSO(A3vQ^)jx{~-RsftPW47nvuea^>X&#z=0P_9|&$~Mmz`i@UB^R-s=M0wlDt#U$3 zsmTmlA7#F$EJY}INo9Jywv&>1!)1|Jvl9?5~ zHZ{I&L8Dn~5FxqJ#b}Ar_9bo(MZDyp<4CCdY9*h+H8pQKIR&&Ub>g?tetg|3EDW=9 zVMwj6heX9sVzek`VIR_cRv3Q5AUDwBP@3h!bk^#!yw-SoC5@@IES9$ z9fAKrl0RAdtol|7L)I5B*P-dO&afU$rYjN|XoWi4Htq zJ4%#?K>z~9|EMI6LM#FOY&7Dp&3(~u|=K2G}kCHw!4U_8^kWD3pKeARkCRb%* z&-#L~`Hs!`I~`e70dr4gwq`c{YZo^B#Ai0>Y)^|v)==e3eehLm8_cEY!+h?A?J10& z(kNYAGHMmUgOTU23MDfNMhR$as}lOMx)m#Ck0065^*BP z6HeW`N#bexM(@GZ^Y^H5SyEC0W75!@Sa3Ieu7#inP!Y}IM7R=@VG1&uOW>rCDu#@p ze=0~(ljs|0=`TE%iz6TYM71s~v>fvc( zvIX4PWS;vB@^eOLiaF|h30PxfMAqg3v%G_^rU{*;N9Xf zI7$_y-_J>!-BKHbi1qOX6B0`irZDk)u+PTa?7CMySWLLo<3KA=PMDRDdEB)|#^aP1 zR{q39j9S0j?+z5JA(Oj&xU7#aoPwSeZfiDgxM1NmxqO+4)nN2|^65rpdyQX8G3j}P zMZwtG_YBUR%vtr{=uMA|*IMh%uw|?G%B)Bb@ZCEsD()tKGqu@hP4DOnMmy7~-1MCB ziR7=OiP212;H{E{9RDx^rk_Xe^2_BvbEfW#q^)D96lN^?%SKBeJzi>SGsCo z_-o`V-I8!e)FO#x{fw}Gox}Y{lH-#ZVpc8*&5mEOvxZ3r6#EL5Zqt!DUi4d_^YyhG zU8zg*yZ%=1)>*Z;*9PiF_%g)t$F*4T`Ehh_gn2qF&e^zZF$-2y-_fYxmIVSYFBvLa zdCC|^$irM%Lw>C0*mv_O%VY23YT3?oR#W(O$v>L4Pa5^gDEvWNP%-MLBR?|sOjFtZ zq*gwSjVH#FI6}x=oaT>CtEfpXN)e@ysZgJA6=J)ziW zw6kM7gBPQ9MkP*RRaZH7ccx-&X_hZFR5DyDSXaB$HfHURy{tg zxnZhlR*7)6@0aeD&f%_pOulC7+_PKwIrBl24;|jrT;6!{Csrr<|aA+ry% z0~2qiqL1e!_qxiAj3o+Xd{rmJJNYq#{^iossW6OE=TE}T*9fW^pK;1wn*VVlor1Dt z)h4dY%WO8Rg0Cly?AsunyQ&tWKl}9D4^{myBBuS?r=NLUIhkB-J`pJQ_=U*ul%M(w zYmuBQl;y)8heC@_k~nm7WRa+jRW466U)a2RaW*fi<}rqN$++d|g;a9OQwuje-*vJn z+d6yZJxd)Y9{Bz7YcuBBTiMK|GK!X&Sk4gxf$?_A7aF$tgs-jm%8JhZ80`@1PBl_J zK0bfLvicjx0=-!4Hr6&SItMOKdJY*CZP+HR$`_?;hip1<YKC9toZm-QCz>UYHvpXP!5Bz4Ba8huX^;v-5JIf0SAb?1gAcFuuH?YU# z?2Ij48DL_7DS%Na*}0s|U926=IClP0&Ki8f?xC)J;0Nta3hcM(^MRO@A>QsU-JRLJ zU%C@I-J5st^Q$kjW;d5(LOTz3$XVU1Mx(H5lcqXfbvsy-AE=4g_q`D;&(y3zBaBYDEm46lpyRv)$u1+FIEElgqwCXDGzarR}X zf*XVbkHs^IYLz%pG8&^cOcHOxlK$?zpF67b_T-l@^VX{aS8MN|cV@ver96#>q5S(@ zfcfh985`1AGR$w#p!Az{vQpg}TlgEj?ww?!sSXgOHF~u1Sn+hP|DQ1(r_TSyX&m{FU0-?}?BT^2WY~ z7t~(Y@+GpQAIFgk@@)OiK<=19m9Cp?K=Rc$(nD8~%jnCG^nsOu^b6|AEED*r(Po+F z+$=HO?^J|5*0j4X_cc1M(exyKz*}6ZK2@`8CZ|#!^}Ki*KUNTQM>l;)qO^A?ku`iP zeB_smkx}CF51wwrwoE03zX%@&yit`b#tdQ? z`j1@RMDZ7%$yL!WxZGN`V$0PN3h>P?>_X28qK*+DCBU5G%v>`~b)Cet39$Z|)?UIo zEmg48TmA;`t%S&yhIx|`t&U+0o@;%3MJ!t;CeSH`p9L z-5ksNm7z4hV?|To!x!llKb*|smsG;!PAI4)scrKG8*?3%mzyVDh$J89m{$)^@%u-~ zEqzVp6I&I1nQ-|@y~-mhZ88I24roAzLdxhB>e-r4HS=8Wm0XUo-?z1`U~L&{GVMs~}kt_CI)uY6QeMwBJ&azQd9GqI{M)Gp*l4Ng_(XC_@ls zt@try?8N89%laWbT;H^W-V2+HN!^evoFTZFAA}oTu`Ze;Kj`gi;bBUr8M2r{TjgD; zEmug}`9*{%JaUO7F zD*1!q=fIai{GgjNH$&84rA#_ic+5uE)9V|UJa?YNzW2EOqEB*J!+?@=wCORnLdzLF z!#+JK*A%zuE0(!zve5@Vu;TMp-gyR6)Jc z$$m{kx{WixR*v23rFm!BF4r%p#jUOIve+{#tpc|s@II{^&heA;DH}#PYz7mQnF`ma z6_?|+tk`t|)IIp4UL@ITJv8?!;jj7ekjmLJ{+QNm<-+{S48BcOm&n4nvC#KYBKh70 zx2C6;SvhpO&+uVCh$=G7Yag-SnhWhnDjU5(mSn#$bdo^q-C7^@x+-IP-ul$L?zt6{ z+DJ*i$T+qj+HjugG$oRNl9jgVJJaq#5bLpPwBvdF7zfM=^%- zKqddh332?e-jy8B7wCC&9&zHN4mf2cd}{uBk1Z9~S2ZW6GNL8N_QFLYE6|q+LwYqM0Ka%Z)(&&9s4c-uYGj9d=#_d zE0wl2_G>%dh>ug;(;^~SLyb?9rgaO_#D<+?G}5Dso^UH$_I_=TI-P4##bzSs-H^sl z8+uZ~aFG7AFO==8cH1}hVp?l^#km^~f6(`fX4NE$Jr(ls_qf}fI@;3gbl>DYNy}G8`Ux+Hc^nH;iY&CQ_jk@HeK@Rlhymzmt=c|;(e_PPb~BcQtNT@ zcumd;W36k} z-_WTnpMBkIULhyOj@oY)QR*9ft$M<1Elty--H+*sr0;s#<_5>b=h`>#w%VRyf15mOP4Y1l&xq99z%R^ixp+cSam6o`dYLku zfyQEGc^$)lLhycudq+gzqi*CpMR~ZP+w_o z{uu3|b#W7i^B7}UkCo0{xs$A6WPJF}5S zV5>6z>ouGG&1*riJ#62``PqtxW%LA+C$|Gb5>l`H?D8a!>#MBDG}^QZph#SDLwoW_ zBg)4lyYG{@FT*z1cX2fo6)a~67C+4e{Og#em!LZ<- z|HA`}_XGY9?ByT-hnE)w24N%b_&H5556d8OgFx@ze|N56vHrdP z?Z3D4IoRuizSF@-EyBK&kN}r4h^p?nO$cLu-TTzvKG|R3kUu^dpWvPs27<|;fZ^V&|M+CU!$sI9Q}+^0 z*`T|Wb~Cb_LTFJvS2CvTWUBd@R2d6yR`YbPSRT_cp6D2UY-b*v3-569*|RbfhI;N! zCY7AI{rGhcN6Mtd>G`e#AIF)uKHD#{Hh%y1s(t%w?R@Rbl5Z`JJ7wlWerjR#VQGT6 zb9%>OQ6F9M6dgv9_&VE2jB^H`#pMBUV_GXJ56bX+8bTdcj=&(XKxjP`wP}pS0Z*Is51`P$84+Qc#yjLIaUkIlXBfh#$e#-UMxLy!L^jQcdL+GieC^@pcP1#E* zyr0pfX+uLCgQVED2{pu{MqFoq=E`jIuPvwi?qgfmn5`D4N)S(ejj9_+DubmPLtjAm z;j-%`hFk5++hslx()TnJ-Vxx@V*IR?(tLKFABUw%RfxqXuyHc@D|aiy_GihPBQMa& zI=86CI<#lvgB}VPMrdMTzcuy0Y-n0K@HyaJgQrd(L!E|^iV^);7QD9=;-&O-PfQaS zcvBhQ^-L8wY?#*Kq=JtR!cn;?R@8V!dJ7u}bE!p{Cqm>ddc zAilH2BK5kSB`t&(LseP$#uhDiH@2!wb!mZ zY~Jjv=#z^UC)l{E80>$P3M>~nKKMmYt(8S;Z=(3f6cSAR!K9Z2Jx~jUH-Xv6ZN%pbZ;D!ui(eg%IkC=t5~b8X;BkagO|g~HY9!m+1s{GEg7aSz z3j3kG>Q7HU6yKUa`)SiYp_JVBtj%C@yz2ctA^$IXwkAOglM@ygC68|xk$WfIHJrdo ztf|a(t7iOsU-wx|_ja3KfvDrDCZ#j=^*8*S9$`Ix)BLpRm|NSsZvvNXlxl+XFR|V6 z7}h>(axLiC4Ra`snK;Fe2u|}FzUDAKjR4*A>$LuQ5px-Uv#6bWUEc@qrNOPQPQ^C<9u{w*)g3=#f~#+Zp1cUTTydk= zzaG<_W9<0dv*XSSt>_Je#88%IinXuDsSAD}!ovXgtlp7@6qTh;+xc`Sn1w zJN(!4*sEjrxffhYu25KWjb3~Q34E=Wa>lKmHj5*3hO-9cZOt&tm%_#xBh%1;xsHpP zVMG2pSKL)N2ep%5p19wax*&RLsZ}x^)yGxq%tTzz9l;OxINp8gU_EWPVCcWRSt!>A zrOubBEi+1=GRal1{;a8z`#iy0 z2bK1b$yT%{m|0eZPYK2G z>g&_pqm}i#_n6H$6CVgV41F_hrL^i7Sj&{X5}6pKdFzDhw>l}*9~0ATwU<9NM}MwQ z)gr6Nmm?`6dOE!AE}BhG%cnrPz^oJR`EiN&4X2}$>06Fv?7VE5RJu$Xf(|@Ru6shU zjs{~w;Z(KwSy)rJNga8v`UaykKj`xk-?)tT8nt82g)h9J^^MaIQop2r>Amf9<*o!} zAGw8MNRyAwyT(S$8#U42VvFqkhf^(kZef*1Mm83o!sxT*=&zvhd>SaYNTXTO^;|7N z2E-=Ddny}FmO6d@FmmU4 ziT)hJ^A)!S|C3_Y^2TJ^D^}wESB4c{9y=rdHf70X)u2j$&c-u>-rqwi<;GOzM|-=z zP2*mSE#oF)^=gUN>+L378on$XEsB8f9JHik@ z0;2lA4e^~k!GR*^jF*kNIci}R2HMO=jwRSOex92i3cKO>hha02+G0k_q4q%$YfwOyN_|E?y zb?@&_03#j#cZhuQzkm7n>;JbAV1IqkO*l;WLLkM$2jSYAS^x^)Gw2y0eDH||tz-V& zf^x&B9k@yRw|Ms!fdRVjAP7MYE(wFs{-^+S0$U*lfKb^R<1g0%fGiIJOZE*8T=oxfvoMo&R~FTBsX&zbCBRO2Rk0m)eUSJdpytKIdxkd zQp*#VWc7i;I`)-)L^{tV2@=6vadW-woXSm~fCFx~dW}rxsOQ zkZd_y$#biz0TB%cy7rNe&M(&aeHPiZ$|ugA7KiqWjMDU8g7 zceYe(WN`Im`So{YO(}UC^Ue9yr(R^Cq^Z_%t5m47KG+Q+@Av4tN?h9SmV&5i&u1@~ zhgUTh-^blY_qkTMtn_Ud`v+cL+o0Fho8)Bu@EbHnEQOmdxx~~;BSwCIH}4)z>(f8? z$%vo%qjVcersc2Oa`#856HJ^(I~rHbAB&uS&Yx>bMS4Z1ze1K0k4>o9JZL}{mn~Qk zOQx$nft8-iL)2~A_lbVn$C!}N*|-|_pm~;RwZ~Zil6kV~aZO_RvK zJT+P*^S$d{p8cm*^z%iM8&SnRgtFvMBbOd-IW;`_$QID}(L9=Y#lxc@rX24^5A}8J z+A})(%6t_+NPkla3|L?FYPgWr)g~`ATEGc8I1#fWby}j)RZ#=dEcY$D%jt z?{&P#2dpxlJ8!O8ee_7bZC5c`6cV<{6*J5BD^^>a=NGl!v^SOE=qnU=TXD4oIYQ>U znI19DA$m*C^bO9BJm;|qe7Q6-omLf`UpZ8{m^I_tGSFE?`L4rZeXV}|J*#`987kbB%$J|rG1S6}z8Jce4cz#7`Oa6$&>pXg7ba_4#~+ACiC+>Sd10~nT4CVLNW?d< z%Sw|a?`~YlmzWB9T_rq1(74#_wa$TC&|l-~J2^mIrYM5HZSB5kpIbj+OSdL09Jb*z z#%@Mv%kcd}Wry>qanmhtrFX;wh29vua`E~A#60chABX+<*!G7^PEySPXZD5gLTYy}w-mBp+(NuF2 zllp@ON#~#8|Gu{B{(8zZh;x3`YOd~~2((mt>RxS8XQj@Et8P^WrryKFr!7W&J-9B+ zEA+Z1cX*$>7DRiw=uFmG4YAiZc;0GbYBr_CIhgWoYGSw5p7hOK8p5>i&co?2e8$hl zraoRd_T~6zbC*?xA4@?LTZJ{3hRPexME)MR?ERRi(!TZ9nRoBz(>H|i$K;C6-cFw; zI#0j(Y6?fiu}Uw@IWu?YPAS=inJ$WsHO19#;oEm?i^5MXUmp8fP4b%ljJJkHjVXuq zB|QR8( z0*tgj<|PCK=Ju^ic%iq0)}@N3mh>fMSeRGis30#7;Eli#(FZ^-JGb_P+_NtK19E}A z{1fE;56I;|UwNc;DFA|tf2>Og7z{QIy8stZB_0lN0TuTFz6C~HIKsSig4GwaGq-T# zf?v77us44hk~^l!!CwYIExTcMfOY`|GhqK7G{+7iQxJ~YLb!JX_>U+I5Z)sVCeVcC z2!jb=)nOikxr3#f6(DVZ4l#SL{2F5HSIdNEyJfy0iy#P7f`UVGkq2ZS@{T*4PL|cG|a@u6H&*`;F6&|LWcFv3&U^VD4$D zdr8dz-6d^WKQSTO6mn(iP`4@crR%Igc{i=iYR z806ycOhWR_iwE}-9^Fe|4Yh>^7=BbmS~4;w;}&|_CVOV!c_0t+|VIp{u2wHV=t0XgI^mW$Oab z0>VF>Yj;w)`IP8Axea!C5QD+hfM#R)uiNE;LQiW60^R7Wsi?m${`SiVD4CV`Ab%O1 zD?dPUTlsf%eJzzM)ap4~mu8@m1WJrTlkfKO>rHVR4#pgITR{>&BBr|%I41~ypk19t zlV*~j=O&IT5A#AZzC+c>;Lp-d{sc2Z=(u<`As*rC5^rczAOjoK2|Vc+zbn6AR@Olw zy`F6>kMU-@f_*h0H^At#xbbm@*3Q>$L}8ocBwI?PagTqqu|%~cZOGodi&ra;hNHe7 z-h>gv&~L8rCG{mwUZ_(YTy$?vjR=>IRVl!DX$$PD(MHtiF*@9xX7B=eYQfk&-X1Zva8UGsYx@OSFroQxr{TCun}#(lm)7FH>0PB9spC0@i?tLYiMqtc{<%?gBPHxRNkCq8 znYu5Xo!3ZAlX?~ z&^w?%pQb-Mc9EbZd^Y_`#w9y8Mk9x(5aq2w()xFIbm%x0e3QmAo{s;TdfMqHd)>Z4 zR=fC;#;+HhF{)}jrc-Vq6HgwUILD}cK1y>Y31`AmiH*#NTvhW!zXzm4ptKTIXGgQIWcL+V{Lq)uxuT!q$UR4}w88 z+)tznd5?qhFZ7mCZ+N@XF0H+o?AhSOD##&{clws;R@*(~HnQAh__A=h{1Z_WGmSeb z$7*0jbC16E$^yyo=%7YfSlm{mjA*^3#t$zly#jKo|CqkJ-TSHJ^ELRgPxn zTwpnGWjMX~bbs&bE}4%MC+F61N1`h+ zfKI_wdzOvLFwub4Dg5g%!@GZRhlal_i%5pNhJ5dsI-`zD$5qi#*}s)kHNuV?_|#Qr zYUS!gidU|$uxVwUf{II{A#=yzcXs-XXsj`TTpKAtWE63rj3LIR&qR~y-_ zUEEBhjn?UwidL-N5oggo)6MX{TbzB2sX2t?i{JzI6PpsxIasw8qX%y=Lnbn}E!tU{7kWxJ}!@@<{DGu%rn@rxc-;SJ$e%t7zn zeW+*Ei$T;K{3$7F?&^g!gXw7APf;shd$9S9um2i|?0!18mY-&JvH0EFt12JmB4%$W zgijWg|zYl#2LZVp?c8Wz#*&D6m9=7~$yn$!$( z-mL>YXMc!_zwmgI#7C_cs#Ow1Xp?g)^O4l~QnOPlS;gtIS+$q_Sa8{_QwC=?XAP&NVhd!++Bl1aBW8eHZ!24V8+RfN}otW-yDB{(4y7)#-GkLYr!#x@MFow9w zm5;c)fknmryk%TOgy~_efor62UJ$$=fqkn4yc8^L!TcFdi=#4)Mbj!`Ww`VB%z}Ig zbrt;5*#eK%$qFsJ3BKS~{KUi@o*{xj%iA*Yu*rz|M+w;x^QDcVhdp4k^0uFYKC7N~ zbIfPfqSBJiUht+4u4P!4NY>kYASqIbjEs}`C3b6s%tK{SS!qb;&Q$H_bl{~ZJ^Z9Y zwsIpxgn%QHQaFAxXebw~X8o!-Yy{yfMq_Cm?IC7YW5n>I&>*&ai)Z@*_l_+D7od4j z((zCbB7GrmfaHS2yQ|@B4Sh*OTRa91ETFSzC$!#W?o$w(XJRtT4-Xq}BarPKk~|yV zPiB=)WbTEyb~_{0m4e@}PRNeuYlIi3Wu(pM=0QH2-@$>YoUo5*5nhFC4epb-!PFLZ z?H^mKu43otDk=}_>k3F2WJ7tyuN!<*;j%6ySmwEYK^fj0&r0j}J|kyUe#xVDMl|g~ z5DSDDT#tCh+kwVtmBZ(Bs0&YKL&V+MSa4>jlbb5L5pCU9;N1EwCEL6ZLDqluiAAX1 zH6NA@fIwcgxVbg9m7;)uLSbV#8!>olFe_^Nh*THl#>4Ejvb}@CS+1udd%qdiMiK_Q z>Cl}_ggQN}`B*o5$~9^M*(K34?UktPKTr{&oh9HNP@>BOw4cI9lSQ*$>K{jt3}N7oVEt zO00*yGJ_=V7g%ggQ41sE+r?6Ac_NB_I6So{AKgb-+~#Hqh0Lm$aehtI8$@{|PzFy0 zu+e_WN4y&lZJ380@>f`3)f>)ixEuimQ1@rteSokc+z>)$HXQJ+Q+1vm+ymWyrSFSE zPBU|jEuQ@lLf~!;W%y~#vki{ggzSxzb>bFO>gz5#WOp^79KoyTPPb}lv<=BceuE#R zy9t}a=A2}u*whKSZ^iO)b0mFmFY+_h=O~^{9(sdP%L_uDr&kk+;Isn?v{qwjm+cxh zty6weXZ}RbAI=Rp%=GKmsG`-A0`mDn*Nqa#q&CQJexC{}eu~Ym_I`^r=ig(ygPZ6^d38Dyouxla$F=hb zIWN17xw%Hv9D>hBdg;;Pk=iG=mEP)mtu1+cm6$o|d4&ElPopeBssRiCDZ={R=|vn}cjh%K5N?4%71g#rvA%wacCT$Fj@vlMS(+R7ak zs=+BT5ipWH)i%bDY#E*&I+re2vk2T2H&-T%-fXrET%}DE6KQ2+7)ewTQe)(WDKrh< zGb`sgoP>tgI4&D57m?DLTC0dHv)C*ZamI~xxoCg`LAccH(Q)I24%}Rbqt>v8eBKJ9 zQ?Crjmgw;o=Vf@)oJy%)x&D?*>$j;Oj~k<42h%drq=+^f3@Wsd>fjvRG<0NZO2cK$ zLE4t^6Dy>KL1k@K6x3$)1YzV18xI<+6ltYub(ycBSM(-TJg%3_FGknEw22ZxOjv78 z17;NDXG7d&h~zNF$J`wicR2p_8quUX2a`irT@f~8AY0g5 z8%Wxl&Ag5mKhx^5JJ8N*ay@p3r0S=ZiX)JxtJ5XKm9*-H?yL;?C(`$@GpU2rtDJZY zio~`?yT54E?`ffk?>LOgq1I{7?HR$dU>VI2kZCziK-n#%@o6^dYAAKe7RI;GV8v;| z)qT%E^!>i0nmd-JIfw)MQ5dDzV;nBXS$vacC>vK3&ir_gHPLH))ZW?8lq{H#co6PK zv-0*2h4k?#go!Jzpb!LWX!nv@Aq(=`q#=kE`eEKf6MY`VF(({i8vXdJ*Cf*hlINiA zPcB?u`<52ZSNNsoK2%pRL-EOI*fru9az>`<+0F-U)wiQsKLFEC*&ihGTyxADjUZ}1 zHM;2BJ$TAmEK|>YI)>a2XZA&+?Tkz?kc+jDug@#4dMlxv)WlBaRdT)@3>vIK79wt> zz;br7;H`pf+m=+~33v$--0YZCkQDGnw3;oPTaC|+EQd5>?5mYrnJ@i?aRMDDRQM;`)II(IlZ15@YJW|2Hk%LXS zgJhL>$h*tDs`LT$TIxAX>&$h&7}4~oA|urGG3IPWadwxSMQAh)K1%c!8JK&7Qc#1r zS4H?@y4^z*cOXsqyk4*^zFOjTLXiog2@1Tg#E@A@DjtDM{X(SkJ3}X2^~wSwR^I4ERyD+%Oy4#cQ4$nKvf^f z^sIW%{bezCuXDCX%#=9z<5Zpn2(VOZ2LeiiBw&mm#7;LiX?2rj{cgHz{9ka%Z8q?6{}DQ8;ccaHc~ zbjEpKiWsp>kNxaYuJ>b+D!dIZGs4CT0U^AWu4F(BYlo;tt{gbO5D$jV4v86y0Ewuxnc|<)K6UWP@C0=e43 z_{4SyapMjw3u=mOzycC?NxD~V;syi0e_ef}!=5G7sHpctXp^Y!2z~DT&!tsU(oxx5 zbYgOpB?h+%8SBBffKHk7ND6qUz0TnqlI!KQX2#~&%{@ouN~4{Ud749Go8j+NoAizs zwHkd;?kd3-#rpC_C1s0FZR$!GY94^j$zM4cYfPd;*~HIl*E!(^9-#yDQqLusIvo+ z?VhZU)PQPOB>E}ZAGh=IDmgSgls_82?N#kELH0%a)zK#GodNkx-TUnwVd#&86s8fy z^^p-da)L2LXVIKU9BaChADGQtM7$yqlXeWTE$6=%zf6tk2f~5Q-HF&hX)kO>SfW%G z!m&KJ*ZKPgr>mIRgU9JQSLF00? zHFk~BK_Y8+9Lhn8xlYCq$BWh?J$f_KmS*RWU^m6jwl9i1hP7UZI#I@1K4mD)^{v%6 z4G*GTmtUvMy4+>1*FP*)&DDCbgJ$rr}2pd(kOn0zYrB+_0urJMy&vcd@i$h2O{41(7_L z&7tTc8UrKpN#gZl=h|9NXT!ax46C`C!d+2hwO9N52^}iaId%lpetByyZNKUc)a40$ zFgIx;mQ>4=C6UROm(k}bpQOb-skJPeDrn?2rfFhM0Psdc{#d~x^xAXG37tLOm|dWiImS5wjxeFJ=`S9d(a&}{k{pC!j-U}D(C3D(4X&cSq$8L&uhZdNu@LXLPm zYRykEBfwq@adsX*8`Ouv*0Jx$WdqyNUy34Q=Fw39Fa; zF%H6^GC$g3sN;IlfvfkG_wFxLuEes~w75b*Oh;H|!*h;Nw8hg@>=!$B`}J)@%@YRA zbiYT%W&?o%qp!CKf|PdCOFaE%M*g&Y9CQQQ%YZ~I*b2>=yyf*g-Hk`VcjNpVdupGorC9&$ z{N-8A%F)o^@?3g7gyPcIY^;MOIt#ImyiIDpWygD(esxQYndahcLCFXcgto>gkCyfi z2~!T+g8rIObLh!<{K*85w2W%^>{v=9o0g1usHWgyZ8Mz1C;fI@Q4k7M0&t@-svmnb zILnHQIsJH`+%btj zIHi#~Au%hh56SmOrE8#JlYc#Y>5q04k2ZVm7D}t(#)uup{)BG0dOpu`vSZEv6Fo{0 zvDT|u(Sz= zU|8;)J+7N|tT6rQt%T=WQ*?##vdGLl7Q)X7+pe9u$yYOIZT z7SCpY7V4?i*Ha^S%I!L|Q*K?NmHp(m8m58eIS^}E-+H{qx3b{m5ZfwfYEE>_fsHLg zeeQh^{Os-fMh=z(^#SZ8%q}1Y59kf_+>MFkze|Yp|6fW)n14}B@3u#ON{CEH1|SQN z1AGQ30`%;3_00_(e$)Q`Yy6uK3HVifV(?q}i7~(gVESH!V*Ps=3cvy22yp$IQ2Dzg z_;;c5w|nq@{b1DJO{?GU9sO@&F%ckv@V>0V+ zD@Dd<-L8`ujRj<->>CA;_utNTWP)91HM0hpZWU{epze&MUMR~Xa7i{ z|Fay+#P;is{pP*E^k*r}|1Q!JGPC^sj{n8L;Qgur_z7A6RXp=>8UyolOQ~wJLn5?9zvD8@U z%NMf_*3`2CeR_Io1&*dH*UUwNq~YI&y6guD3k>oNn(iBEbG(B2i6;if)2G!ZhouU) z(yC~lr?+UHg0Z|@xoHFBCJ=QX!)_TX8r*VR5Fl|wT3Rn4NNO$^_(&2klT!!~F7ebh zU~nMZ=Vx3XTW1^~axNc#QJ-{CpLm==2tsJ5+aMncixr^jI5=<83y?lMU!<7A7F524 z%`yS_n{=H}pn3=hrhLM8ZCFGZ;QZmSG?twR#XP4j0gJpIHhEDxDGxq{HpEpwc%Q zx~#m?NJbr}LHyI!<&bBsSA|S(RbfnGe?9$e5Z&w8fHQ!~tH+#j^ zv1MQb%2R_aAh7B;YB0M*U{~OZpL|wHjX-Q6T<2%>lf#F++N${NFuP+i6EibG)1Y2n?*LnGlW|V9VCudZIZqq# zh~2m#40j^FR&W#@!1s1Qd@{;>0H8_O!{o>r=wk>^Fd)lN-fnC-{s(iG78hWPalR1J z$>EbK-!A>-EbI`d8wSi?jVM=qc`DCxP8QcwCXp|TsquWzLLm2R~s8XOZFFEIh=J~ zB(vTJ#DGJA_Z5{#1W=j^O}|1fhyjb|_n^6~pR$qNT54T?&0T%pQ_utf)JYI{-!jTQ z?>HM=FbHLG8OYVTx?M~)^z zBW`yO!h6}Ozs6G&?+iZ*gD!MIAYRVw7uGu=B~$3Q!E4d$cKH30l;s zI)=f?d&oGb6V`w0efriPgf9mjL&Eunt|gJCbZ;pI7MQ1 z^W%CBh^b=LO$;MLgzokd>1uYu0BVDxm>zS(w%tA*diN8Xn1sxTn;_H;rN(dD;PT_1 zj5h)S9OyFU;|j_Nu#m~B9m`71gbSO1qV5dXFA@=sQ7u@7PbD61Q?gH$OWm@>+b&bs z`6Z%be$$RHSZzw{pCm&2R|pu#!fp{&@hw7hja?9bK>I8-t!2WKQXILz4Cfa3vDE6B^EvyHwDqTH>v|w`-Wxs-mijW~_S~rQl^H%bmv}8l>T4d=@6FRT+${=-~ zoY}oV7*Se9U?f(e`{>Va1T0UCX^P)x5dv05=!w~D6!Rg~dv{j|p1N1p&EUX=D* zkik`WX8tChK=vC&23>2v0qhX!+Psd)MIpE#Jm>>-?*# zhogEE!gM!Fl;scMjp<07d%sYMx*K1t)kyQZ04hY*xu0ym-Aj1Hut=y+-KI>^=&^%^ zySKA;e+oU6O@OHSl15ehg%{L2BLtH~fBPC#oBswSbrxvrb%4i87N@`cIVCvQMC?+i zt{jL_?WvFQVK(|aYg9Mrq$z&5=DQeXQNI|+nVoIdw}r=0q~$>kuHH#+_VU)B^<*IK zYm8kpV;>x^9z4(FvL*s*{9bQoxhz8~XlEVcRK>&eY1+#MD<}$zEYf8)p~&3~kFhh$ zUK9v4FH$+*pnYpUdYLxt5w3kI*4XInn3XDb)Cw$7@dat|7-I0~nfHU%EbGug!G;Jq z*kBX!ygL;UCz`fXrn5^|09VNnlh)NU&4?r{Uyr15^lMoF&ZK)=ockOYJ-t`}1{%)} zrzPk_`MeUuWV;Y~hExFF6WD@Jx}Zbk!s61o2^^FSn(C{s*95Z-?Bf$}0%jTKENmi^ zvzo&nR#8;j&6RfUjGr+QITdXAC~YuCzJEh{F$}bV+uVzHIKZY}f;;cQm9k5BfiHEX zI*lKDVU|4gX^G&wwVb$8(cJoHHxS=YQrsP)V@i{QQYIuW_-m1b>3umy_g@y`2YsBUS@%dEA-w)+3 z)4)eS%9}7M`i>Zr3@en=^qcB`garHC+itvYbH$DbM+KRF!TNm&9yKZ5XO!9Lq=G(T z*a~v_-rp+>CTlgG&EfnCQo^7SfvS4XHSejzOtPGQl>zIej}8{Idh9%fv2v!uW-kS_>)CZ%IVvw_6`J_PBwD~Bj+x?hg;D<`e|MPomxcn>V z?U;R5VdrPxof(%=Shg9ge9dMtbCicrp(fK$ZT$(${WWKR{V=V8ZZydm7{sx7EPND% z*P-@BmPBS^M|I*K-jv?@o$$&>r}$Nym=g*(dF2~K5vR!f@`WAwmIr<2Pp`LvpN#}E zXx)KX%1m6M=#?qy7@jdBOL=a`3I1rgrj~Tcr;#xZIQcE+cAcP;0 zDjBz~Tdywtp$k`TToxJSjOx3p$mno}c|5KC1V=G?Y`7G+)q zp0uF0bi}?Q^Av^~?YOOmLxYkVyq5zZLRu=P!0=i#2qT>}T}7uBELv{Qi@M~x`;_$5 zRM6?R?p#7lvWB@?my(`vSp{w*iEy^*W&_=Zlh#;K;Xq)og%aM7(N3Y*qN84_b574z zTCZ!dyPc6PvUz^AfWDqnb^*j^rHi{crVBP^_7G`7Q?H}A@Z#^_yl7ns6g@D0OQ?dv>FyK4;B7*HwN5(x4zNg7jb!+AOhU5T9)WeZ8UNP;dXkzIZ;7zFjS z8M?EMdcR;K{}61jwfm+KD$tWy6|hz*H7iK$ve{;)<}cwH)4}PuWj1g#*Ypxet%Hng7wkDJKk6PGgC^HPNE<>E&!-BBpV*D zcQ5)ha=2C?zt?STz?oF5Jbz^yXW7ZNqxB^>p#|+?Bqf$~Z_6&6Z+g){amP?bxjxRz zXc*k_hP)Jsw$kaGUFPE#h)@1c`n#QFDB9jHo1#N#Dt7l6huaWclY23Ig0HP+(nsv0 z=x&tSOLy%QVvD4W&xzW@9+lL{Gnse?kM>J&SBw3ibmAid2oXlZn^Q9graFqzHxR4<%CLgNA>!inhXvu+Ufq9+)aLA8y0)>GEQL7TJNN{DQBGM3F8y%13}-u-UP5~j~p zW_CV18xYSZ)Fv4f{u4ZtkYLN>8FeN&= zM{aSRrw$OZaD)e}CAkr?GesXQOi?{9Cf<-er62rj)uA@2+#AD)X17`bE;2d`4r|}* zWoajo;R$ar@(55pH)y!kY@!Jek7K=CKF^ENtYQ8rP;mO-V4c;(9KY=eJ77VNayg8D zRhmQX-fyeW{b~JZu(JyS+T3{=u!mqg(LYC`vg2@{)0aO}^f5Hb35)ikC2_ie>6~%< z65Gwz5kZ2d)&&y|{9(r?%*=P_Olv$>VV#wbFLSt{<29D`~?#P1jQRhcgV*h}$4-AIa z{$MB2W|TYydCN6ZjS12JQj4fb_dX;>r-^t-P8?a$cc6v1T2ki0mU^U4IuXXg zZJOnFy{_*Zb~<6dV-hc1J78k!)SAov2vH41;_9`BG8F_a&9JKlw8pIV1o`}FQO`X$ z2{-yyul-9zVkOwmwgtMnNjxt`d#@LnYBBb<3n@5xBh&2D!^ge_VJR~2ON%Qm)5R%T zu*;n`)G@}}Cuv3rvoSqJcF1AHp5m}8YPyN3rZxQxE3A)z2@E`_WNst_3&NLC>ga1k zAsHU+R}65OLzOT_}Y;~ zP5HJU`dD8}4@xse;xcg?*B7~ll?`0U5d)TOB4<-sJz0HPWm9z{{QuU&~E(}SJDxvrq3vD`|ss+Ce zp-5L3F9W-*Ixu+yTypNqX8j)GwVzobWL0Jaq?y!OdSbaGs@R)Ot8>gtrON=~wf zsO>9sRB%u4j|r=MH}(p`y~0C1Z_u*3Sux!maapVz&JS*KXuuH9li8HUbwez>`If^N z>#UBQ69U6H)d_o=d9WeNP^EITX)=hCXUZ}KAx!@zt=X{AV)*eR;$xBU?nMKXC z`l&_DfkS8MJzF}g4oqD=BN9|PNAjsq4g6uitpaNY^m?%?Kz#m-;%A$fTbL`~1DeDC;@&Xix)*C#KB>0+_kO#?YJ_0vR*z#W|Gp z677*!_rumBnH}kEhfEC+4Z8g1ePZ+dW8K_qb7?d8oh`4F{X-B5*^cL8dtg!D@kF?; zg4Gij9Nk5dOENhZ9z$%!4k@n-7BsC!=Fted= zdwr_~O$BB#foB~HGeCEmDYu(uO%y@(xYoYTd$mJd=;LC=kwfh<87#cHMe>hk+o)p_AHQVO@=8|0g~ zwZR1)Art#YFWGLQqj>_o3pO(ImE5aEBe7EV=6H^?WAKr53;kNUk(_r=z&;gv80R8l(~91=8QA%3b5OZ~=B=di-n z^=Ny{G>#G%!pACS!+Z_FTw0TBy~Ak2w~#nQR~A?doZ{PCg`9KeP4AR0+Iyy~K~tX8 z^>q09YEsNI85UNh8A<)(PGfY0)8eBNQBB*Bbg4>O@Zz|Va%xm5fx`M+Fh#{~-6Qi; z35EgQ|{g_uGPNkbYgC&^Be^hCLXY1 z@rtC?ba!G{EHx3{J5nzD0cBVE#JF|Z9j}!_+Qr`|tD>;F$@gYxnB{Y+s~*mYmJS_T zC1|IPV&n@+UHfPE;c37kbL(h$UFBT;$MQ`oQ7%FiyqhO7$)5fIV!VY|;Mrqa|6JTG zFonyNIB49wQS! z8MGPR#nJCK8lh9|u4cJCp-#!RTd=C(+mzIBcb7{oNSc8h-;hN5(zr2QO2gr(C@xlN z9tbCtD65)~0ao7&324$&nQgX}Xg)qT@nesZ5flMv2Y4y7gKj+)2g6&xDrfsNmuua) z599>t)-((dfKfa=pC(`yl$)N!IBV8uLqRwN3h^XC{uox*7K*{yab58ACf*?#L6fsw z=bZf-*q15urEyCD?MLwp#k_jf!*C!zU4QDfp~R@W^e*TVGt-yN1}NyI&@;)9>jOBx5W9qH$QlnYiX5ys!Q@nQNfj#-CDxZTG^Ek;zZf5uN#t*#*|bCXA+iEa zrdaq|&XFpN?qmk$iRK0t{q?K~!FH-;{OQyjagcOvK2|P}`yj z8;N#@{HF`EKN5SGjF!0PZUkl6P}7@k9N(kO(W%;%P9oWC`YbS|Zk%hcytgMdKMf74 z60)w`7eUM~ZgS%*frT==njn(FI*Bsy`j&RwB0LANRHtYl?jn?-jmypIpT)YrN*-w( zL);wU@|QM8!xWDN9c7C8W|vTX+Cumk8(y4r1T?7Lu>zaECFb>&8x~f0yX&k|jIKt= zvY>ibt`A#tDt)y1a$c17EDkKb8zHUh`Plgrq-=a@z2yd%lUE`vpdjca)-`;?huFg$ zJ|o*t)OOl&G2G~-WtFulVJJcX7fXj&;zWp^+&A`eNVVl*>g<&~sq($T*4O5nRn`U# z1Wn<%2kX#o=LVBeo|d!nD$Jfyz0lnN()M<5;r_1sAOrofz?b2PIBSfrUE;WRr@_U2 zDfB2YAR#cHz#x{14T{xuBP|h#i)o(1kTN4XA6NXbQMi7V$Fxd%g)3u~ftg%s>#ZKT zdN^>m)4{+r%CH=T%?I=jXly7ydw!vW)>n5@r&^;#QqDWgS6&!gs^yd`eO9M=f?cs$ zLkFG#;Y}?4IJ=8TbGqN=J+AoV1;EY9ESK)DPz8H$RH@kNAEKRb>%xR{t8)l%Aycz@io{kDO<^KRCQhL zY5Q8`pq~4(;zC4MowxbC*(;n1;t^kY_i5UN1!`Y|U>0xQFb~EgW$l#*LLHxjPFdh9 zNtu|(P=+$a^Z}*bw95pF`T~Ay50f%X%X%HN!9JEYT{}1>kESMRN8iCr*~gMf+>RXS z3t2WDd-&KmyIY1-uDz~w$z*3VcFi)cXZlj!;yyuR`7;^YZ~blw#_Nl|DB)-3vCLL2 ziv&Mde#AzqcZgk-5Ij$HvL=D66s=PyK77}+cM(LE7g@NP?;-5cM``l1mJZA8YiY>S zH{T6NU{BTJc9RzGHLK)=5U#`Q zQumoQCg12d#M+AA`}gMd^v`j^d`DkQ*w&|KaU_|fvx5jbf$ zLpT}9(Dy3*<&pWk{d6vX()Q#G+t-Xww8oSI_{LV&v+bHhs|4Nw9w}_leVrzKk7~A* zR%;(=h+SYt?aZl!d*Y_~YqHTRl@^g+Yo2cmr|!u7Yp}s=+#B{Ivq)wn+Wpm&i$A!{ z2zh+1Ep-{^5u(Wey7{C;0Fupv^V-TWGcKlxdV-MR`Pp%$rZk|VO?jt?WZlg!_j5FE zS?j4*RKJ?U)$PdIt#Qn!t14uGQ=f|HB5x0e+F^BlYYN5J4}0Hh%~AAHVPDEbaEQ5s zzF{}yY8SK$`XMO)Y@28&HZKP4FKUkpSFr14TI^bMIcbq*ewtdy`;dEuB+0TiBHdMv z{j|B4nwL5v6490aQ#SXy_Uz+saOssBlZpxU%@FSBm^O`ci^)C(Wu6r>AR37?s=ES~!oB3b9bFKtS zw(J#S*O>#xQ(U}VY-JPraIydgo};@KCWGI^;e6$VYe>(i6Woq+Z*@JP=m;6q2l!-V zyh)7fRb#6^)MXHH#;HN`%fpSaFM`{33M063WYkvk_>&BmFAgy`4A9LD9HGCK=*pd? z^lIi+6%FN5Op|F-eHzMGpI8r?_OtqC&=u`m`H&>!t&)~QWk^~eTvawp%25&j5M-J@ zv0jgZkzWKW4RD{x7gNBb-ntUp-iYl9en8*Gyt@wwzAtqal@&K%>tQWt*_3Z6_cClY zB}^wWAyIu^x5U_f`Qhb(!^ek4lh>%w+pP0aKR8CPi$@u2g@*(bKC9X-PuE&gcz)Zu z^Kshh(Ia5fB5%-#4;r(HwF9>V&$G*m^Bklhv7xqX!M+nks&9tAZxBXHYNo2=Q%dJU zsr%|3bb5PQV~zt$!Q5V$UncO3uv$J1SlNo$^v9l>x##0z`Aw_|KWARxt)Ja+#bx`& z^2vEf=hzI6MyVh6+^)qA?#hXyr!35qDl3VP9YADuwIcJw*QAmdetHVHCS6H+T1HXR z(VZRfVg*l)j+GE{nvSki#W8$`mk9d#MeNQr<9rH^R+?mna&rQob8kEG&`35bgx($5 z&W2-$#Kq*s!!id*r{t75A-rRcnr)8h#`yp-HQ_^3jH8Lk{jTB2pJfc(L)qLkg94rE(y)&rhkNn754(|yuAb2+{ zJ(;t8+DaT+Jdlc`GXETjxR^x)Z3M}G)nG_s26m1;lQ%b8 zi$7IUOJ4Y?qL(rZK;=(E(*IO#=U>Kyhu`6f%saHz^{_Z`*}3;YBZpotmF3+~sIHxA zIn#x7E(#%}))lS_WB%HUxXt<5om04qrcq~rT@zB+*aB9I05W^mgM8(j5VsImsd)0T zXB>sDeF3Ru3{WY)VI-6=6;zVKi@FBPYXT|%?$&2AKd(#e^X=z=jkY|lxBYjYNff*N zsY0=O^)4+EJg0-sw0LZcE>;z_!y+unH8}5*s8zb_hh7^Ev@bZF9DIxEVtXPr{#YCd zi9`xj2by?=puT>4>-h+I4*u&^q^Q6}B>`2_sUxC@YhQ;xr}2Exf{*Yn@pz(}OhPMKj zV8L_tef;xfD@Oc~iy%gv;nN2fN_oZhbr2h*fdZe1IucYHC6*8{1~tz4E`-iC*(Ke* z9&u4X)+5UpO5(Aq2)?L>HpvlwFPY~D&#k-CKBP})s$Zo2Q(1_z@D{s$!mvA>f_?VJ zlu=~igOd&~UrF~)J!=Di?vxQ{3@R{ZW`-rGUaw!G8EJIu*TuM#R`Bq=2h0enl$_HP zB*Ezz&@3C27{sZG8;#bAoWQ!NRZM3J8B}qsbEs)kG6A=HgKKC|pOPP#c|?GNsw7XK zKy{fLZ_-O@Y`yy!kLR$_1Gh6{0M~7dRXk#Xlh7w2}`q(N>;8i z6?Mh3`(5GkU6r2g3l7-*yq|s9I?)^dK>BRv)&Ux2;0cFKuDFQK;!34}MUxac`B`=R zwrnyyZ-zugY$$V74qJ#HA>A$JyZRXcAjZ=AS$s-jvJ{ydy%OJjr(4GQ);?j{5riW! zlp?sBmcMG6ik`#^b^;FhuJ`!)9~ zaAC`f#4DGp1novyQGFU_1$@`=d$oN-n4AV*aBYMUS%nU9uk3Jcpijh~GVVNU~wWLXryMTintUFf@Ge~jZl%JbWP zdLhyxKhj+bFXG7}CyA*vrC#YPOYio)Tf=3D74+s;d=61MMkeJw4Z3fw7x9zU3ALkD z33OjIzTALU8Af$6H(GxV5+RG7tS`*-D`ep-S3Xd|o~I5SKQFyta7o;5pV+JpP_kU%QvSB|bDl3to<6Ed?D2~qCm%`j1JgHG8|eNIgVmRU zKd`?YTe45cM>3;x!-hY*c?D-DxBe{UnIwwwMDB{<$DV9imJPlrsN&>K%g6R97KM z__GvMf9FK^VP3JzSsMY|%1=_>7sdn9n$B}ynZb*+;a=(M-XQAK$guXrR(1D&m3Wy5 z3DZqDRGBpbdP@vi9NA02XV!{Zg3)Wf=#~1O^iCQ}u&jX?{Ma3wWVq&|N}x5#MMR#A zT8pi*FZi>I?aq|17F7~n30HMd&K@>R(2#QmM!4zw?0LL2Yp3S%KZQTvvbP+&t58T6 zs`CRWIK4Z$<%fAl#0PY6YE-Gj;g}0L;tSkS1uhdUI}vm=6w^{W%tH){l+K5VY7LbK zR?Cy=Z9H0kMMT~k1*5psRG^M?FEPFNkm<^pRils6=)p=d2Nl@QRL9(pfc()AG+)k3 zV7T#QRMI7$Vv0JFzhO8MwK^6j?}Ly@Y<~a&1#ZEjK6n)(*$ z-$H-Thkv*h{lBoL|N9aD5jkdiH|hD8Y0>0@84)-bAScF^52+bCxA1+1>g#B`wc8L{2gi5wflYPzq>2_4txF^ zwEXKXzTbgA9Q6P6#{cW+Pn`I_kN)bb|K~QpqW|gnYajo#?!QO>9{Ju2SU)cyYfb^hHd6!2TJ{Q{r=K!^X&hM~WJ=zmYkzv0fT zfPW?FzXQ*|rz|1+pAa%T+wTed-c9^pr}B48(!ZoLA;+H^{z9GqJ-PpmH`B8L{*vtf z333Mf@5%p8J^$;t|3*Fk)y4H+)H4U$yOr-BhF)z0J=$;yPZx+gFa;@8hh>vkbbJ zkEYFVQ;H=hVg-!hN{^D_;w^tr{qV&FIPa3`6A*@o5jzZwJf^)qo4F_?gFc(R77#2V zA}rth3QG3~+&eOAxV5pf?wb!3!pZ5{rmC*i0$d_&`kLAYj?~EJT*J!Z1T=)x_9b-* z)IJ4!30M(Nx?*gl9SgX}$q6XYyV3@{B&98_%_SwBp{J%AXtZ2<1&C}nX%@jo>g`^P zOO+j@`IXvY_w<@q5Pz4hl8+LIMJ^5kNRipzq529UB~`tffs!4>JQY;>buH#`VjJbu z$q8oQ_N@T&cK;2VrLn2;>h;W4)ScX!%^uUIJwLT2yw_W1hWQP^;%d)i?)>zIo9M*U zSjUR)R9(*mN&luYw5Zgx_6yLo?-}D*f`sQ!4(JC9g{f>di6hz(Kw|J2efZ`LI;uBkXvyt|? zBFgc`UITpMDxC%@mAyYM1CbHfV-E5H=hWr0&aR9UxtW&<_U9OHhq17Bq%yLxM|Ldf~*f3x=S)0>8YwdJA7-u<3{ zj1JWXFPIeZWv~yW&>NCXp`JHXiuChZAGk(A9{~uR{3RlAGWkugk9qv7V0Yl~Gf__X zF#$;H(98Sa`F%j~E3(-YinE`09qcos^oms7dPo4Gtnwt-eR${%rK-7w2wZ0VN~Ggh z!3$Pi`EKNfUn)gLH&E2LYxQRCd|Ca%_1bkuj=1N2cJaoIr+PlIyA6!N{29{sQjJT{p_dlHP^1Z}5Z(Qh5A6E%AlG09cLV zIgpQfunWm#=Nc2FBIE5n{{4M(t2bC*Wh-x@$&nWTn40UaNfTWNq&bOm+EDeEukR~) zy#F88-Z9LwCF>T>tgJ+(Ds9_FrES}`ZCBd1ZQHh4Y1=lwtUi7Eyxnj2bNk-s`w`FH zYeuYyxn{12jIs6_bKpw%uCAYYW!!(fXd}Ve++G_1V97$3broVPs!47l8Qybavc$559a<`7>UQcCD_Ct|C}kEKSEzj}g^!v(CWo!d4%UcbJJ+W?skj2~^q1F3h|{2TsdGNFjGDI7GBP zWWyiv9a`;X-1o1@K}+{Podq8=oYh3Xj#_nw#uxR^dGcDtctak#)@F4y z1u)CiL>Fc0vnUBw3t774K45su$PmC^7B|eqr9)<#6eWaI{;$vRP+{wi3K8M2{G)xYzCuGXy{6X3JtrdPdVM0 zMz_gWA6qHC(&*>X*OA4lP#SfJlRA`HJ!DKDd#e2)a98U(?4g$(RL^Dsg_Ps&Anmfg zJg_^~bqBtv*OG1~2oLVX8!*h0&cLfm`#DIwq^S!WXl?Fn$}83&j;o&ki^*+yc`3cI z#`eOO={2HPmeM_(fiC_lAn0h3rm@seVBCt&ctLrsn{M1QLib)QAh4H!+NvO}f->nV zv`7;{@3Vnu`-tf%0;AB}QFOfLHUpVcRg5_=*o{H~+WF$$S3UIf)DBk=+V}p~n)_4A z!7?G~_4uG@98k6thATysP{;|BAR~$&y+C0Nz*^K&Wx=?BFoFV3w zx|QfC>O+fuF4^!^>H4=8h&<<`e$R_wVvFP#{{Uc%(ywnX@Lzd$3%V){X^?{wQG;^C z$O#tfcz_xgyNEU6WD*dvTuOH@ob*_}{YFoqUTvyif&Lwy6xWSuZ_!OQN2HkDf=kH0 zThGch5BMoZ9}ENv08_1-Q3}``Aip%T_di# zzSo~5F-nNUrYa~-qDT4TT-fgs6w;4eV=NK@T|5{p+G7=oNQd&vMF~+Z|q`AeY6l- zSe%9e9Wj>O-J&@I<>5aPaAtOJj@Nve#H7kjf`Qu~1iqJ+&Z8%fVCjkPG84z8O9Hcm zo=blS_gJ!gx5G`-{8WBPxXGvTCS{FBFYUl;x*Fc&Vcs)osOn$id(!WEb09Z!iWlxv z60fr`h`VhMsLBXDlpDM7HDZ7V8!g`%Gj4JKU8ht7G6Ng5v?w~p8CSx8h_ zdog{G`PMHOqBTvzC+cqS$~j14aDdYNbmEStn0fb03xAQg=gtIt5IU{Hq65roB^j@v z>MMo^^pwaBfm+{eT9sf0ugq~pm`VZ&@`86^&LrwQ>eumbE?Y%EVehmqfbJXRCBmim zHwGo+%V00=_;+BQ-0EHFHg%Nw9mZup-#fH^5fL5?%Y@C_-7F30bsfFQ7!l&aAska6 zNUg9!SWd9j3{S+>R`Jt=`!;(cQyVLG)S#6XBP$k#%;C+)fbtKEuV{Lx4i5@MCP@ZR zkt0Ui8*-(>tez$dtY3>Kh}oGaXjuqS$Y^pyC1_ugas-iIEYt#v-3{yuO$>itADZ6W;-t^5#MyzxeI=zXu+BoTp?6qr^k%X6ep zy!_g{keJ2qFQpJgrr;1#tK}HW%XDdX{Y%xj4?-v1ggdt!MROy49Tfu@tC1UwsFN(( zm=@}!CpuI`oPZ|DkTm%XAnr@)%9v)M|;k>R<0cRX88k2D3m~Up`ae_wo`YbhIvLU$e-@C@lUKp z0*GYN7z)onm2xEU)d@g@rUXiZ=7UQ!OSWenAde*;b^VpV#^tysv@Hhk)=m5KOuD@u ze|X7y!^rJ>I{Bl$iXv1t3b&)22n*>{MLpj8zaTYi2?wY#6j8k|1oxwe$2q68(AQ3# zk{WfI^mxZoV)lq;Ldu-8I|ZmuoM#_)>*;OOXFdxCt^E2Leks0cKQ5FN%k3mqA-b)C zR@SPTy#~`8Z?$9QTr11ntf!E?+DcR3dk_vs72zSv=!D9$^6q9ZC$V%ISSE9p!6d(quxNmMIh!F{+iN7TJhSX|&kxz{YVAV;9j&))9goZFhj{ z!aD*B8W+CNnqLZ1>lG<06P$x}__P3y{Vp0l z2XZm&@J2Sc|uak@Y`4rGTcv|df`)jWwe5*#uHc%ybHME z{uEJ%a;JE?nrV;v zW{oc)vJh&Iq;&Mtdx0x4;6fc+aBFIVZqW0+ukM)k6%~k0BCIDqV#a(>;BF=~nfngx zhjY(ccs z%q)yHuZq1_%*d$0s$nP@^dNj_fmRGcb4Y;Hz4htAUodUBg{mj#i-B9*sQjwduR(xP z_2eJ&*B=ht_{t|uy@Urn5GZG@3rnTi5!66FUyT`Bx0R4Kx1{#seDPj|o}MCO(|A3G z$dMU^I-b<>D;2v?bIbpt7uIF*LdbE_#U$Khsyf{ zHcM<_y9gFmQZ?$MJv<^DfwI~UDtq+AY-74z&*RqeZ3A^U4U{wxXds|mhFkG-#Z}G) z&1US_le`3ZRE?~%GNm|MO}d`Uj?x8(GBc292*PBkTYd(E0#GVzJ2`i--er~VI8Vsq z6@<*>H8$&}GzsCWTz8BxrqWrXHA>XhYq+!-#z;p3NcNiXHX*KiRk4!2*ABFpHz5t6 zO@LqCNP=QqsXLjRTz&>PHN{TB9Im9^va zQL-C915MJyn6h&?y~?eK>27TJby)OL4!HB8Gt2)cEfP@W*FL@yF#9Wm?k_rU;)l7S zDFs#GOoTT!?HdmRS7a}QGL{(v&V(IvZ|{*w5gsRr+^T!TWC zO7~o5lL>y{EWTwWbgU0yoa0DwV+RUn&bkYvLqp5ZY>2=o0%i5~?QjgnFO?gd zI3fCVM3G+zGej#yW}?Eczvu*@?E@g~73@7`VMtd%C5@cdp)Pl0a#ND_;@6b&``B`Y;*#-1l*Oeb?YK;zL}(9!k&mdd`Gwx#>w2U@vFO-KiluHG2#jeV z&K;T?cpT1PTH<1Xw2c-iq9w!!$J=V8bX0S9%~Z>p*{F=%$z474Pf%tAg%(F z&X|`yRMvd6(@#$zY?c18F~|$#yMAWkJJr6hl@sqC1^yBOxsN9Afw*~ssMr8 zBB-}PAVER{rucW1k8XZF5LI|fmyrcbe89+C#@9LQX<}6ixMa;VsRn1EhBBHOwlbEc zwgUSK`jqjO+V?#5QLb+hts5#EZ-bO0^Or`I#7t}AbI@vHciZV9Kfd@lTP9X~C-rF) zgQCCkcC=j>WL^&>?SxJ>P8Br3`bD`wEJt$HwOzs2k2Ckp61d~McHJ=pYEb>hmd%i_ z=GBFa_Mppq+N?2-S_>?tE=@%!>O59CJ6+YyTbU$hr_+4u`PPP#aI)3TV#2kAVtJHs zq9%BnH1u^yZ$)sFI!k^_+V?aRe%_dal;F~py;R*fc+jGFZFN<)*8FuKn|tD|h#qJi zC8IJ;fUuKH^ghUaB48ygx-6*?_LBVbqKGr)4aUe7d=zs-3qky-d`l`OU7W(<8*aO= z<~LFBO3{w8y}52)?#?kXr9OHR69cXG*|=F9qmYB!12HnJBZj3fTvDPeGYLJQ8>Xek z%-d8F)kLWp{4#VqAsQV7EvUJA&-lIdX^so&tOyHSesxDu{0*(vEg69~;08ZWJmo0*NOEXlvX$RqXese34-XtoWm(;E;JhH4WYZI@D#%9vwzpILm_Ox?& zyQ|{Y|9XyvxZ%@%5xnBFLX@-LOK_Zpct-T13h`AAf~m7NdJtqjrtsL;9^YAw>sN4Y zGnjJ)Sf$C%9>E*u#jn~UGonYsUO!KrLEM%@QDa|>B*KqMqHaFelKAE7UQ-9K6w;u= zgWN(uATkRNrZ@6dOXZaIh%N9i_HzvPK)PF!((K!Xsq-k*DXEi@8z{lUroJ3fS_&m% z^d7Qu&T+gmNyG;PGfR1#n^bXd%hHjm9}D#Axvz#)9q2 z`kUh_@RY@zM1!STE?5i&oSswMMB#ESO0ZI+q-5>R(^v>#<7;(axb8aL>q-%%#)m!d z7ug}9q)dBL?06vS01ZGp>JheWTG*D|(f3>Xt>Z9Dk-+)_>THfa-U!5>LP70>RmxtL z4!gPA`3m{Ut99W@)f1OsTPzQCu#3x?zs6(gb=lBCjqJ9eh` zc<4=cN84iV6F&nLH}umJE+zuKX7ZnsME1_Ekf~beS;!5$mhhFP*!~g)LFHtOnoU1{ zxi~!>q#@2#95DnJcFOj2>!0fnKgn^0RE6SfQWvt#3VF#fo-C}lr333MbJeg2&;3U4 zZy$3RZZZdfh1EEB9TRdd!Qm_}ebf|(QJc3|OOeeZR4#3+7?iIU=yIf6WKTNWFLyq^ zL&iMoN^)wkFO`Lk@}+^t&}@lzqM>MiYsJ%uOShFu(Ov2xnZ*UL7!f<CIK2T0IC{tN!WB)sji?(TrUE6jJBdNbF|J9A8-VgaAm8>FpkE??q4Q%w zAFz~HjGxrMQ5xTq;0T}uj6@(Oz7tYE+cF4x;yRZ+#4wh4)0+)I^RT+95mqa(O=uNX%5&BR1UMG!GEzO*~MX>Vc zPx2qq4Dct$|4<9FDgp==5+dA3nAb>K_3zH^oL-jGbAsDF%DXYo&^klHA5k40$_baV zASvAzKxKUk>k6q!mD3$G=Wi&!#i3Dpp9vf(N5GlBUL@{S?+#?0+tN+@mhvE4o?o45 z#4)jDy|7ukyQrdG+@l|YCd^9>z)d)Q24lDEU}c7x{y=H$ShXHssHyNngOCi;n%){B z6dsrJA$pqbNUz^UOhMJ@j3DJIg<*Q_+?<`T;0Oo1qAcNUO&X=JV{teF9@sPcc9sqV zs65>ks)2N<23;kfKZ3JdoTEQc;&dMv@5>mvXJZm&#nJdG@o_&+OBxrTm?`hU*B0~r zx6u6wr#`{8TvWJt$&0{5NF`hVZ9dRqwVCCFTww~meC?!)KNN=%NflbYjx|N?mxQiR zcj@wpp=0NeOIV_h)H!j`#Rmy-KbupKI4P+XuTTnGT&%z$*GLDQYOWV(T;AX2b?Y%-5 zlaaeY4{n+VaY{-y!y7Jwa0?4%pDs#{F;|e8K3dwr<_#}6O%ut^uLMgiS5o(!GN6|K z#h%GCy!t~l#9d(mnKzUGGyySGw^p-@g)QlILCNc47KV#+2|VlW z(dZB08p`ahQdExUjay%CH+#*&y>K*55F20qJ=B--@Dj+$y;IQJgz#xGN+7O9>uAu& z0O$KAsYtaS(=0!L``hF=0}3O3@MQ$SuG&Ypb>;t%*Ac zi9;kIBn$`^t~FYoyBoJ@*QFD@->KJX9`t(|fDEK0S92yp^b%P2RnhjM70w^)#x$-7 zqm`D5H&gM7E|(1-@B>9Way32g;+VKkFWQ<%BTw^C`JUc6`g7u9l!`-a-0@NB*K9FIGqu$SJn z@+C|H5uD~YF=*>E4Wk*9VGn`(;pGNWn5*!upA&1m2}R0I1Vj=pbu#8`1uwHc&p^Ww z3j4VO{Bm^lkjxDl+k@z%Up{t!_59eB9uXEp9)}Rt&#JdESeJ65#G!%1Ul)Bu1o2pB z@ve7ImczfBa#k255%vr#=wEp(@P1yL7fA2_d~ z$=Z<4tpIF%x*$pvvomRu5bNL_nKT7-Ov_s9$n1vZ27Z+^dN)g?NoCz_FS*^e^GI$e zNv@aduyT6NT+mmh#P8gXf551Vc;W7|rzBl#$aHSiOWPY2Yu>&EK63Z|~^ zVjvDGwkcThdX6WZu}nU?bTIIH=CfLDs7KHULWtpdq>Le0v20MMnL&&uYvo4#Kx4ZZ zZB%q(xOwP2CLJ_qjj%cAH6ug1yLJbj9CBd$Z<_f-2B*WNQ&DS&o=5N)KjoV9c+{wC z=>yy32(iH8E}+$MvoK4KDKX#cSy)$h_1HC5D=#2L?IT&%ACZx~Nq~J7j zO*}-6Sl1KUIbN@`bx>z;!5_3w*y~V>ZKLo5`15;sS!;O2TfJJ|qMl~_NnOHzHP)71 zmqh0D7$2(Ct!66#6nyRJN}i<}18B79IvvEdb5j0T3ZkK36O>cVh&h@bULlDy zSt@@kp&1o#8T}pED67=N*d~5K*=~iU7=%)LHj`mYC%jg5D6n#D`M7V2)`d9snih^` z#-}xuv8n;zjP`a(;xWq2q)^&6HT0yxEtVXIYJu$DOfYS>HyzR^Jnezd^)p=-&4LwY zy5HJ)h;)H`t;n}Nh?hEi8q$l?3%w2sBdHveQlAHHE7GOg3H0{S#Y>$wKiCmjE^@S= zBiwVYt()pM)}W$t;5quqIJ4lWBB~f(rl}uMHU*yG`$C8lDN$MVOf|-PCUDS8tAp1= zF-)D7uLiX)iTK1H3Uc^zS@=o3a|4iQv~T*X*Me4OWk!UH(Ks_@B4q5@Nc;K#YY#oN zC(uW))6DbEQX6K&D4N^}JsY7=w3EGykK#_NVc;SkBi)yGy!)OxYB|-Wo@yZ|8Ma6+ zya~qO6sNc)x7USKH&o@=c-KFy-jVYJ3C3DzjC*d$au_3rd332r6Ar-O_o%oQX>#ay zi<>3I6ISA}%ED})gVU%)4T}ioTv^r;w`rP_oYmi-foQhOtTV|k2Bi;LNYCO)njw;H zBaV(-t_-aLcHR=3%`TY6JRmlXO%bYs(WNcX>>Wa`NI(He*8#%|!(j!0k4(_9hVkpQX=w zA*>J!ZZ8*?9ADs$oL(erwPJ^N{&47XzoW1rH@RFb9rDcS(~bLPcGC;Bxm%ypbkjON*~1@?W1qboZFQO`f;fV zPGQ>iXfzVtnseKrCQi&S`QetOkkFc2$>awL@3w(0s(6lC91}!lBPmrP8MEOYQIn=L zLBw5FI?O$*kWPkcg|^0W?uhSzy0JZpmH6W+oU&4O3EC zHYD~J(YdiRPz3vb5z$q!fE>*^Sbm;26s_l67)9rms#BatUscg6qG7{+IJ$MAkYP#= zCpmBpGG!C18*smjw@}7oNf_=>ipd~j+&#r~Q>T6&vJ)|9%6JFR$SDN&9f%sNZ~4es z&dNqrxVPxCy_cZzccZu^eKIJFw17F!i+=n?f*oeAN)6P6B!RReE!E{=Be04$WTZ&U zX(P`hNxohk3|kWL%o*gf17zf~uaz?C;tz4a`a<-M+fPLADLbQQ8ew8pT zty#0Rr2+aK$>1njck`e!3U|ciz;DYaWmQ?$7ASza+SYPZ3ztf-K|72N6*&Y@iO={U zor8jk&ZYSth*H?K3R1%|PK|AKGWf6vU-!&dERT(PoUuofw9{ruLqzwRgKuRE=&3L{ zs{ez$2z`x-oV6*9T;-;+IHvg~LsFZ}PigmwuVpAW&|kJL0cn;-^jEARH71DqKp?Fh zUTxabD6c5KWl2A)6$n-&^eW?@1mjKv6Swf;UUD=b7+ULWl2K%~HOr*LsH5(sIU0Z} z`EuTbbf>36pW;#%Z%`^2XNsP=@U%Nsj@jN`kex8Ry_>iNcV6M3kj#m}Ts@=GI#(r; zrN5`&L1THCkqs)mXB`Ru{6&VnBOmq+-_XL!*=D>BT^$-?peA>I99TqX7(@IL7XlIL2d({+pGZh+*@344TVmpc86%vihLc7eK} z;pJuwQLzb*3Bab{6BMO3BP=}^#5y`x%+K3-tF)@B!9Lygd&#n@v36Et)h0g_0&Rp? zhHb_*&qx1*SYDdjI_Q&HxPCbOs7~u53~gPf?TteJjAwamRDG)Fh^RvGm(!&m%8e)D_KPfq z1+lqnl)`n3haU4;!}FcOjcBi%?K4iED4-wYaiNC!4pN1j>(DoIDf21s^#swWw=k1& z0NM*17TS-%kZFdlJg4XefCn2KwxcnE11H&=Wz_%}H`ryeBmRU+Z)#{QC%wj)_bl~; zU=EO6!?%(g%!H70(5I-DTLo2o83z~4y}P7ncGOdgDqu?9$u?oOp9sp`dZxw*HOQE> zlS&WXXq#5!-1fF$zn;P{OKjP4hBxOmrQV0l*aO6vE0X3MjX4cRf(v`8W}&Fo_Viy3 zMia`KB*G?n%jypBu^@*aqLmB3Wb26-Q$Hr5dSGedSZTNO-ZDj_qi&dB+U*AM-vlo$ zWlNhB`;kM1<2|u{qwrfG;kd#%jdWOGVMzlg&CYLCfwXDR@{>w|y9SxjE}AM-Nkk~{w_kx4 za8`U2Xjuhhi&8LaD~TpLS`iF_DMLUL*am@|^qd3%wof_=!!-{ac)&x*XLgbCfwaD< zd6+Tw09CJDQbOIznUTiH3Hn00URN{Xs^%C~itZwZFTB`E+U?Nqs&~}(Wa)wqQmM;; zHo{2JuSFoEVSwz|8f9>BWo#1}P$iQH5M;Sm8OD2nTNUP!z{RZcn$f39)Gs-~as z5Y&UfHEz4~CI|7@eXaSaf=~qXD-jmpv1&w9V_%CH`RcF%xG>CtUcV$=uyz=UF2RqG zin?{(*KYQ8eh^q7v|q=kCA;(LOYqawF7X`2gOy`l!cRP>d=gahH5X3efb<41@X(w| zTIik)YMe7855N66J9?#*5leyG=4|25p97qWJOsl_{JDwv^&Bl5Xd{%qY>~K69(Dwm zUW&CrdgTE^XhnuaG?H>yg$ML}?kkS1LUAf$qHLsy1b0G37W%*2dsveR8nO1dh6p7G z>qe2DdZ=#yR1d1P293NKmj52A&0rB5xsEDE0ntiS_k}ZdhrKyzD0=)u47@n zyip-y>@!st-2~UqDyW(!2HN^l{@@cGmZHJFt}RXwfb-H0KZU-~@}GybR%wavPBMA2 zn%ZzapEmuibgXxIyp7L6L4kg%)EGa%u77fs-Sej3NGPFl>MAI=(<;LCA|n zu`g~j;Ql-K)yRVSWQ{~)THt#*Tan`{ensWK5e7#In==iREKXX}FpV+UzAl`JjJxn1t zv{AtpY+r(xveIY<$J`mA|xQt!PT^eGXHrHl!9=Qf1CUciH@|LmWIDbnnY_4p``| zfRVbbDf@jTurV)LBOM)@0&a4FN3Skumh3?{UlJ+;ffW7c>&fWdm_qmg7FG4rif7ET z2eF(AI7;RMR?u9Ufay0|IFWrL66;CBBxC$N^3K)7b-JFz-t5fzS4a_w4EblpBrEAA zeFnV5a-CedtxQ+5{DmdHY192N8UL7yFVXloG9lRlq3?=EjS#9kUzbGI;XWQo6N#GP za_eqcDsxXUk@v^O5L3OhTR)%tgE?9J93HnLf@HP;ZWTq^f}v;t-&FV(^pU?+$AwWT zEHGp+X6#m1JArdB6Zop@mK=FY4dmewbbukKZkCyqqd$K5kpDGgKk^Gky3&!R zv^bJKjGj5{?gmVVF}9&^*40SV(o}lx3@qY7&p~^wQrlx}Z$8rM@?rOP9xk2;CFKk1 z?k#=m=;p4sLs`$ExN*}E9+v}`HYxiJB`|vbnR{^&lp}=oX?YQ>R=G{0dEDBE*sTOb zY3eDq22m~gry9p6#0vBi@tI?!ZU56##Z-DqG_ic6K7cB0Vx zW+doFf$bVqWL-zBvcHhDJD3SOSKiZN(R{%gyQDxF(421}=Zs!mw0oClq9g+pO4XP+xAM6Avz?<`_yP`w-q3PQtG z+=tqg9x>f>w*zg{S|30NDN5~2fAOq|U`aIT5}q)%+{~sisCQ3rl=h0B0fHd$NvNyD zzJeo#qf{ZPbcu^Yp`zo)d{7K$QdCRfWun4_XkQIg9$KjjkZDe}ymtw59Yv`cp@Q{b zU5AFqQh;wd`tXVAqhtc<-&FNT+4CYtM{Xc4xk4UxfDa*&7>6BhHm&y_{k;uxKI zwX+qy{?&3vg^N8c(nt>m8xL9|&T-6luqQlG%cu*J()EnN#rVAkTzx+dyb&rF7Q_x;j%x; z52IMBGb4GG0^L)%!NIZ6R!y1-nSymp1K1^tU1>0;7DmCdy#zd^yRR4~$olJTT2!0R z`8%#)W)ExYyEA(TM}iH_?OpTLhopZsxn2uOB5g|GS!zgjLuR?QoLI52wku= z%bzuiNNWv_h$Cdp35oPyk{)P1k^5H3-8X1^a=Dda_I1H+>4R01 zGH>O&ivyotf2K3m04sKL?*Jy$9h20k<>%JV%6=zKjpI>vG1rO!@G-;l_C-vb;*tksPUi{1j|3_xZ={WocSt$OD#wU0=JESATq4%S1daY^R1+(@KXGW(e) zv0s%IPuFM0$=E9+;x^N4gC6-}e%8rWKNZu7t=p?e2HN+=dw0%EdPa~6_Ksvm7T<@1 zaS+WjKXeG+{yJq$|7`2-+%;2k$MEP?7cwOtZo6=@siya*;M}fsw~#d=JzMSLyP@P% z@d--dF8(7@WfTp>$G+Ki<^Wdflof^d;9YB1L)*H_70#w1y~Y5qyDVQSF9!3v~4- z2Pg2EC;%GLBU5C?S)u?9HY)eZm<#1si3H;M+73Sp@65X&?>}hSi~Nvild5mq8=L61 z%^1dt5XTzLz1Fgm<}3SRW=ZfW$vaT+zm8{eHBL@haIkAPMDGMMP(==@u=gy!2=`e!mBXTn`i!ISS29;J!Z9$In>t` zzvvyExT#8rCg2^D6GSuBhmD2=hmR9;|%$`p5H?Q=2qp?3HIFei70F4E;l|z zmZK^vj~)-8HY*oJhU8F>THfRO*NSUNT-s(|^@V6ZA*N=Q5ib8F1f_Oa0oIs!<3}0S zeq6(JSf3oUmhij<6uQ0E%Iu}e%nM_O{2BpDTWoV*)*r7wIoBEk85nGw6y(zl!AC~B zM7@M(!cAbS2VaT6+Xr2O!fsYuk&j{>e)v=uq7bs3@6nCtW`o(1N{_J_x4gdzb+=?l zC+5|oqfnxC0PjMu+DEmoLx%T96Jd734 zqGT=>O(kD{jT0&FoPlJ^@#!MH*qRg?U>-c~w7fy=YM_B-*D_lM$!3zKW<^x1e%Humy7(orJ^hH4*l{A!ae~UoxkX zyC*6s{miWbcZz$re`$TY@98u4dq(9fbwew50g)m8wn{nHZZqTQIyv&#?N&Oz?)VC; zt4giHoYAiqth7Ej4Md_M`T4t@ga?6h>4spW9ZcVp$E)I(CL1M7o9J(-UoNRZ2osjW z*fec}<2e{pt;JQn>84~J4L7|ZcuM1Gq>(8n1^q74CD2)?PpZASyqMnO!F>0f**P=-RvTqRl;}B+*8N9XbU)5 zY(DGc<_Yjyo1`td*j~FfdGD81#rGIvGFFw9k#su+e|FncMk8!{rV08x2lDbsxD#aV z!4TopE+j5;`EDuI?&d(J`vxHRPNLPl1c15w3~T2C2SX`BMe|a(kh(xR2}<)s`>E;M z;5PY~2?vRLhdORGBo{(#tu;sWjyuT;%_ybp@HZea=s?U5hu6eay^T>$a8>H>7J?e* z+I(5md!@He_x}EqM_D5@Ljp3`{fM>#lbeP6+$iqdRb^(z0;s{{6)|{fNI4MTYlR1n zuvT^7ozy@ohz^PZIEI4=^(!f1;mb}{j~iVi=hhRTX?6o4py%jO8t=lcu+Vy1S$KwX zg9rIvmpuXraaExPi7(1RqF`hTW{|5gK^-lx-Uz5V=S^kuvqG$Tg zGE|0!)P^S1hUV1zR_5lPl7*X3eSlNH7Pks9M?-}EtLHn$>Gy8+c`_J-4)OO}N zcE;4M2DVnzR+a|T_D)vR_Qtjb2GoXD4z{1;IT}#gnK)D189085T>UK&)Rrcn4ebmp zO!TbGtt|gH!=Fh&EKGocqK5aifb+dlg z(f{`Qcl~esXB(E^?S7y0`}nhbDs%l-()w-rv*z3+Hzq1-J(EKic1m;iMZzq1&{jL79 zPnu6xKE3~+)b`)e`@g2P)6!D^IVo^x|B|+%XZn{Z@~MjU55_n>%YQv#a2Wp5++tw( z|8x4_F#hEbBgm4~Y(@5DqrqG20woLWma!+F>^%=WI@-+Me${5&sZHhWajiZW#KGiU-0=orJiW3DaGbHXUYzX?3hxa>pGGJ2=0+{~IEg(4v5Kj3i z7_hK5$q+bD@iQ0$S{5$?)8_XX9HJg=!blE!01#^}6Efn*6%t5&e{ep)<(?>3ZyG#A zLpo;wL`ZIwA3Z&_+&VEIf<@Tl7A%kf_$gh031VK3G-pY{FNt38=yx)IVBV>s9 z6vN0pVuV!#B=_Up!1Orb@(*x-Me|OQkAm=4*U<#>AR0rm1oVr?0QsVgq`OBKE)D>c z^sOSQbP)v@rK)%90)?{AhvHHT0i_EEV85yZK7jWN_)E#7+4qG78fM<_zCgD$ymky| zzJS&PMZF(HdDhAlQNx-Zx;;#tTL8j~9ALIQ;JS~T;pFM zx2+)u>P*oO?8-ZOuW@trtnaUN)kSh2u@f_pl{pQojc0NPY4uJQZq@JAEyA@OLxAo^AvXF@ApZaY0TXZD)`TBd;e(l?o$1yG<_`uOh;?Lrt`1Q8Uj6D4b&p&0&JLb4Ni z>AiWY5{tVwLOl&13x&$~UN5@Gx7gdj94G139E1Zdm?cNdTm<#%v##xa*mW<9b)FYr zXEM(bHZmSY<{U!PNRiFFMcLL7@uTXnyB#*lVXRQtP?<%!_{HD$%=gn2<#>3^4UT$? zolGZ~Xy>V{NmC9EQ7KzctCvafO?^@w4c?z+W=6r#_7gFABEpy|L#PZE?+wrIX zU0Qcs5f_Gl=(A?>Krw7MHEubiH5PQWB2b8afRwu63ms5FS9nnpPC!n6lHy?4a?#SI z_}I5RR%fD1bs<>NkJ$gb6-$p}+lftk*@z(|9&(F9A!O0NA{xeVyn?hKL#Xs|2A{=m z$0PgGgyq$!=jc>#T^D7$G_jEGd9x(EFyv9VznlvB4BY$HHk(+vRVH+uc?9{4kL%dp zpN!godas{*^Ci*?S~->6sMbR{oJXK{lE`Y5x>e$Clp1z>(X$i;7%$Q53r|5>9TFWb zC#Gz8tJf1Xe8h!?WmD9U=aT=ZH_KB44F;^gV}8;v^Iggd7%r4Q_3We>$@+?I z6s?ratA07$U2Na9oygZ`l6+>Q>V{N9MRL}N95%0Xu2STNqKV{4h*>*#XIfb7CZ6Ya zh@HbW=YDT57E*!AS;%tB{S5uSu#rX-(h|2u=b*YXDC5fL;)KcGM;}v=U1VGs*5H>J z3Zzqv0c_A3h)S9v!&4;KQf{C6aAtf1GqU6FV`Enz=$@F+z!O{ummm96D7`vEcM^Yv zw)o9#g8Ur3eT6DPXmn24WCYwj(fWnJ_6+K2KY23z1Us*z8BWFCp|U!icX&@et+IE& zg#g=VBfY=(1qSZ;>4&gmjhx1kty+gLEVr5Q`q;H)7g_3;Xb=`QdYGHY# zFh1s8PBu8^A~i@EhCgs8MLd~+&>^^lSBb{nE#OkLXz27~dGHm6SPQCp^m@lc3rzbN zw-w?CR%2^dO1lQ&ZmWMWbHEB?V_cFVeqjTV9b@QB<9=qdazwJ%PR5qT z?_K%-8M*&~x&DWSG{Ywb{|9ns{M^m`1>Ao_flrkG7jTzSRumAH{teteg{Oay^;`Mb z*2LQ0>J#+S{7swqf8x2noBjk2{|~_Zp9cK*!2Q$x|CG(`^U($+-KQEd?Wfr7e+KUV z0a*VFR{bNl-CqwS=x7=K{@~;@Q5q8q&cBxbiJpGP{Ldi#*NMRxSpE~_{{(7(!jOO7 zq0|0GihmCD$2R;ER?`3Yhgk0?6s2eU{iMdg(#YQUpSS3rBHPT&|Lqq2Q@S^;yCDm= z8@I`f&-&NqS0|^RU(HrcR@WH6LP%Oed`kI#nw*k34_4h`SRQQlO&07sZyU`%T052% z?keXI@m!XZUZm?B(E$7p?Q0M=C-o5 zMDmV`CG|#Re-92!PYy&(`wCNCZ)Zot%n00k8tQ9L(RYYYyPyY6y z`HcB2Y+(q2DSgAM;@IK$hr!|N>w(C=_8>&R@2MgjZ$mQ~3+d_sqGe$E0R;0YIADSl z`=E)hq%H%oeIc_r*S}rio8$%%szUO?Bo_kuB1c(SRjvaJ^C5wdxM^H#^3{%g!Te3_ zy)-l;w$c5Fx&1ny`$A)_Wofa0tAW9X^y^{9>m7 zWvFFfMXaZ90s=y7MPK3lptQUsv%Z96Qf2}}PXqh~U5VxQ6$xw=`K17|-sxjb7d9H| zDVLP@R-^TCl$-C@1|zmG2@9_KneZWF{4%hO!=Bm!)R=~zmZsJlwteOEHTMxSHfR}X z88vCuJL12G)Z5$F*9!ya$l;=D+|SE` z+lys<}f<>ACICU)UdD!_{XED(lWBpXAZaWWVT~xa9=@m z5kCdLA3{~cEB+4W=SB1hkLfFZ3g=fb`iUg0zKst31<&^9SY|D?FM{q9s;>gzGwAF1R0sT#{sXE{ zz}N?WdGwtYL{jxLNEfQ22fkA81FSD3a_o>6#A5lo2GjAk_J!)tjP)r{8@#6je#w1I z3!=gP5u{6b)B|sMaJ!TSq|x@>m9pjU?x)OqPK%i8^5R0k4icrWUsAveE|e~?tv#K` zhfSD>G%PG1<_xcn!gj~=mZd&ycNbqSkL5|P3x!zl}kQa`fwaw5uR-! zbty?u%8h9fs@HIywoKe|4*iv#V^1F5>6%1 z$KS_dqE{Py#yY6sPVUQ_Kx55X+#4&qBN@y`EXR;5z$jB#oe8$3`CAUODx1kX1!qv9 zW5c*EhzO318Ad(83r|b>A-FNbmJU{^w?AwhXq03vERW$GdW*c6@?O zitU(J(1dkg^u+6P)A;_d0n2nle?;l)8Si%;F9^!Z1uKP=k&n!luB6Pd>9r0meTHJZ zn~(_1{hVL4AP{6Vf6)kSCpyBfOty7)mN8c0ISBVmWC4T)T%}&PiB*?Eg{t>H`m9_< z%!&fbYp4#&vknP#=66v*oVS9%>Y_U|0j*imiX+)v3>~hLJW0004QvYK0v9Cec>+3! zyG_ZeK;`O^MqQY6YQBE&tS&!>aV)k`!$-zwbu|19mxA`#Etn1pr37qfBWtCMBt)Pj z=$!r$MbQG);rY1F53fJPN3&bZk%2bZh9-7|KUp7m-Ybw%ipX=mP zc()H5T9rnA!kk@CKcUB|c1z!-wQ+P6&F;}+=U++2B_7%jl@1oFFdv0VN%J#|V#|@# zXQwff8;Xz4%c}HOVlHq(eFs;|ykf_emsb`DUvIVC^w}xf#DbstUw&9w2K0QM-wZ0`H(PQ^0PPNcoEc8K zd<^2UazkdyXVQtNAx^o-Q}$Ts@j+FV_bW4)WDHw*c#j5T`aNJj^Dvn}{Y1p%y04aC z_qdj6fT<3j%Riz&b?cWrgH@2}l0zRh#w6yK+ZgxPz*T*fq(5};IzC-qgSBj6kp()L zf$YCDU3orI4u)t~EsJ*7b%qB`ql_hTVVC!LNF|O@&fT%r=oaQ%A5CeVaYj!L6ozDF z=*Q2i9=_W_iC2emYo7F}&Sil3X;)=H&7iCj^3|7hk=kI096FlR)Q=i;6`-g$HU%PZ zg6^Y#T@k5K)~V3-YD=t1q={vtKh_n>l^i>48ZPgX*Ym_ns>#+-dMkQ&dg`q9M7 zr#Bsv7`Cg%JhYxv$_`?81vhG-WEM9nQT_AF>#dG19uo3BB5}@L*`DolTpy30&R6d@ zoF4@jJG4(;SCB6ZJbL=~jzJsiYGTdgm0Uqlq5OSMX^z4y9Uu~k?S=QHz@(yko>J(k zfm>@cG*<_~TCRrJEIQY`q>=yzkFlqekPEfB@5$$ZT$`rY=oXp2mri4{lXWRgs9OSe z)X%l?;Txusd%?#1oE_?B1vd>s5cO$)0+$0AdMG(#Fb+uigGbsAjxeQK0wDijnN@cc zSui04>@p#Pl9r(H+V`@(ZxVWIt;j0tc98pCQFj83a$oRP;}Py>2rv_R%;#Bp`Z-S> zFaFl>r@&shEmFwjl$-(coWYo~%?J@=M35`9ICKiiw>6Y6V=L?sJ}<`E>0lS_P@2XDCeAmryWC{9i7kE*r$f@^{RmrRy!d1dJ{b?8rKO& zi4Q+$-Dn2GwD4I@sOG)D&@U=ji(@Jy9G8MBgSw*ZG_QsF>R;8=Mq0*>@H^hw?qV4T zZ)Jz9$Yg2Ys0aayN;OICw%;3uJTqby(j+N>YL#@g#J5<~ZqqJSvN6^mV5)XJe099W zQ>F}PZg~qdMvd#r+c44GS%0cDz|BH$OVxyP8$(plkTrhj!UtyQ9xt&h_O1{SXhB*qN7#}ggdr#^2w;?`XN zOz%N?yvjV9>>XLv398kH5UD?j-7TcoO*mfLFG*}CM5>Ul!v=JXi#IHmGU&70wdUHF zv$+-LH8cHu+K^JGbrwigD}>a3C3d2C)9XJGf%-9P#yV&aS+-2pWJ@Zqce6(Oqvv{@ z>{g-~XTg~%2-&%3JI6+2y*1X$a2W(Y>%-+ndsZD#y>6}D5U8cIGb4?y3gP)|f&$tI zl&!9ud2R}j;EbUuy3?1&+`y7viU=dx31O= zDig2Yu^7SoNT0X04^R^?;A}}bO)XuBGGIkpSIr6qXz$gr5eC#Jew@;up)9%w*Q5^8 zHkb@@9QICs^-YwMkHr90z*l5i8IiVoaT9#RjOgj_$(`e%2INdnhXy(U2O{U^sWeF! zTvQ~9j^ybb;b9IDQPxewV=Y$0)PX)K5`Ul;&T&s2BI>2W)&?)bN|;dZz?!_dzCV3D z;$EG&fK5)g4?TlQ5f4{X0giH!3$I5;bQ1=46Jfcfn29dWgWK(}tZqpST~aZa{8H3W zBZ;{Uc$9Q3sb7?=g&WPCzUk4LDb)b@fU;H;x|fNIY-h(K>W@8UcyO17Wh4lTbIP81 zesNv%R3#m!Qwa>h86?G^?AH<}-52azLK$*Du4(=?p=7 z--j#Gkkk6<&arnu0n5-?wettr>=&0J-=pc3?~!wrSYFOO(Ii$*1W^P_#n8QvOjLXw z`iQEnk75r%44&ZFCa4!~9pk2+|7bKR&8u*n?UX+_FU+%ck^D#KvB178?;cK z3;x~FeILqjCb}jZcZwU%XtN(DzMkeQZGy(H`M*1RDDf;4Z~tsslLBd@?}9b6gvjV| zEE+`W=b-y7N{nHGzQV$wW>SM+?Te!+&};Za){NmKQk9Diso;rcCRVOX1sOAL5n}O{ zmMP@TM}izYXzT1C7ap)BPiJk_xk3r9=-xd9tx~({MS*W6yQA+I8lOuJ%Q6;gzCYJ} z-#Y(|NEh5kv}tmm`cqOrqqD?Gct56^{YS~hit&>IrSt$2XE^q1R2HQhj)p_^^rARv z9q5`YmRE_hS!nV?JF&7vl(BSuzWNR7NP0(u*b^%>jL=}I-|b?7P5`BT0{ou#8(hRP z8iLZ{m3Le&=Da!*44!5rjP`Q((LHqtgpn@}0_Bcnu@O6-`68JfQafv6B9^PvbjJ+e zFe=2pH-^T`;sJesY6TNy?|yXPYHM?eIc}v2#;Poa*m4p$m3<>0DpJAcd-?TlsKWXC zakKbIAEQG z?7PX!!)?aR!01Ht=q40rQmy1!wHpLyGqu8!L7peuNGfu}L=#zR0nC-=SFTSe-@8$T zLsT#u%>@Twflm3FiXa!lajCG=hw}Fu-BjQ)DeQxm1C6O82oCRY(FiEmvwJ};Ns*mK ziQ{q`_tZvmmo3pdHiAd_t~0un;CU43TyEtBNp^e0vvj($XpM*=U6Dl|KJQoG+3PC9 zd*HJBbZxS1K0Noy7D;+2UjVNrUv-f^JD*85nUTk&%z3K8djxblvui(NwZsFcbDHaf zKhqLC0d)1w-`#n=u-62^+A-hiWx$=3)$X!|`O|DMF9VJRSCAsweiu7c(pQ$M_$Ry? zS;%iN=c9t;r=Ohe<1^#IsX0*BM!-Lebi*3;HG6 z{%K9AoP2b@W&bg9q%0r&v8vh?bz#^{tDRBo0WSKCCaR2h#2U)c_Bjz78X*w2qCvdm zB^NwQsQbSV#zcHUPRH}9Hp()fswcm zM}BpAItOD{u$hK|hAFuOy}&cKMMAE-Z6@GAaOd$BYZ;T7CyJZEri_d^u03@ZD|D8W z&$SL2X3FH$k|XU|=Pxt*WV1wa$M<#6^UHCSV5j9shfs-{eb`|S??*(UfqetB;Hy-j z{QhLtfHLXb$eED4FYvizAOoa-QU~I0YC0Wfo2}RaiqV{mrJ6gibje{Lc~<^9taRe* zv1@*jg|8d^rlBpvQLV0o9jr9W7swCZ0?BYN$jLueQr{tM1MzZaw0FkJ$c!?u8qp~8 zujZF$EERK;w4p;iIJprn;URpEjycXX6`hKYADdSMxFdN67fXg|tFn~J zlvB=@_}$MhwW#BprPMy``sXt%d)0m^6Y(`&Zn@NqEOu&KjDh>v*HLG*+*A02whr}_ zD-sII0Ozi+l}UWRLyw>yy2c28j*CctLXP;JwAs@3RO-Uku@>$zcn>hlY#t9gQ8b@= zNWZE5X$yuShZ5Yuvuc%VSSC^vbQb>EujJeA8A=Y>6py9Z7A}mu-Z>pzH~;JYrt=Aw@jd zYOp4(nC+>Rpu<{*VVV{JoO{MC%RTE*c{H{b(=D9AY+~A9+o4It!h-G3R^5oa_ zri7mzSoITNvP}StNK75+M)IMrUR-i5mg|0qxcxAXgU`4KEXKks+DI@`_@i2Mv{CWK zC9S{u>YktLL*F_RU;p6b2=NLRE#5XX17XopWtT-Lx{%QorES&IeKnnLN$L;>mjyM<}E5zXxFA8&z6cUV4^)JWdMW3jybj3h2h!0ti=|# zt6$7$LXi|>^6qA-OEq?vE}U3#z`swMm4XUIxlZzf^)Y*8c&tNOv&HI5Vo~EseT)75 z8-D+Z9gTtz%lONdqYa4Lbg83tLgfWVc_wT64}uv(!hPgvIF4C$GkMxq$grb#%}qVe z14P4Z%DW`OViBl{0^u*C_$?S&1U8FGXuDpBo}8$wlnjJnYcDVq{u=x+!2J10wx>!4 zrrC^=ksHY9(1dQjKOGP^%O_X|ySAQX$kqcet!>QCr(L-s))}Q_pb{bOrfB`nPcWuD z<8)1Ry+C#!q^36nLEPx~bn_RsbGFu5*|gW?fah8Gea{1}WO|r1E7*NMSJDvSkbeze z>j#PkiST7cU8@2O1&xdyCQ_;9U8nufpqFoA!vDv8)>_# z$b~Rn`?D8x2e*cy)VR9A@KfLaPfA+|Yhko{PmnwHLok`E|4*jLBsf?hlPfdgeB0yw zlaIP~kxT}E$Kezd>d1&gsl;*}|4A8LZYBeBiSya!?Wvxbg!g%4?sT<-#o++u$!Jqh zfnG#e$foit=5BTNAmt+6kQbnj9`83;rqiBRi5=eUAlAFG=11$|+cgP(iZjRMcsklJ zhhMdARSN#JUCmb)VB;k4fqU$as$R))B92=i#_?p2oB306b(r#MXZc}ddJWH7(VWh_HM$-YV~t#*0h`2BN!hNbk);~M6~mXtfz~q z=HF?y;p2ju&C}EuK#<-{E^#ot7r8t!A^&1RSczXIp^`@J+;|uyNhG+rpJ1t3nsH&) z!$n0s8&KD<%+AwT%csYAafo8B*}U0KIS@GDFD~|0&OMfvEiIZFp`OEs=KP)ZS;-i5 zBb7G5R!rF%3jR>*Eoax}UX$PPtM&r{AvpmqYLxY4)PsrqkOER}w-Ji}4T}fwS1n}K z$uD1x%fk_MEo??hJ;M9OWNe+YKP5bTgRuqmi(VvF-!FN_u80^u6 z;X{#PM@6TBQ9vb6iA-{_qs%jPhbCo&v0NS3&+enVpckl3EI-VF*_D{-dj?V61|hey zA|6{Py9SLXs{-fh6mW``B5$Ol=&9}`zak2{d#B$Gxg;0|n*s=(M9qwEwNhp2j@BT} z>1fMVLO0G3UZ|%er++z99YRNb7*iv(zFT`>Bfq6`+fKv(yCIA%HrNtk*Q4M)Km_b>V$oyE8b7#ZNmW5iu%w;n$WA5J-ZF1nn-1F6kg1z zmGrl|;ewchcG-XxQ#>G`fxEFqZ&OLSGS@faliX7ndat(i;#iM{zp2(Mctm|NQeS%V-Z?>cf0VaBbI+c6a-ev;TJUNwsw9%l! zeTFc^u4HbJ9W1YEM;!7{BN@jE&u}IU?GF_6^oXlY4{`8*+?fJ)hr40rDqr=d6iPPP z?ioPc+~~<{$}I4X+n_x9SS(bntCdZ4+{6y-r-WVDn?Ds;ToYJH z%caz0eQU6_PSHl*hF;;$f$EZL3*h|Td4VEUG{P_W2{;${%m{&%@g}ly>Yk&JTUhZR z9cZicqEHR!S}yoKD+Z)PF&7YE9;%shHl5*}e5pL)A!1>fuCpl06g$cpTVUJg^i?@s zGlwyg$Xy}shTb32#vz>8!;MHv@AVXWis}MO5drv%sU-)dcN@6LAGe^5-1cgl{Olfb zuaC(kY0Yfua9ILd!RX-}Yp4<|H-C8VBU?{ZEkD!X;LGFC7Ld?C1a2WMC2Cg-oVvM3 zD|2nYw2h?*V6zUswYbO(XYL=i>0~3c@b9TdWM|u-FH^bq3eHDEr~2!fmQpMn2_LOz zZqEl$x|G9mUxNiAcE5O%omu`Z}}35>aE@9B2{cD7c_i-r_dY zl0pEIG`9lnWVmMG`-^!I;k?GwWZIPqMSH*bGa@hSD-yU)vi7~Mp9L(bHN}idFq!+b z5x#Sd9V0a}eF}Zz)qbS!s-I=FC3$sI0uxzyf_NOWV%Vl3^>cYxeNUd8S1kw)j&E1e#h1Zz&nidDvLYPRE zq>@IQ5a9HBvxpy6`}NlcXrsGmqN<2pW8b%AqztawM>Kn;cv51H+WJUWxXoA;cy(2d z_zkK~HA*5mw{q`iew#R5sOu<%ujEBQnpHrub=1L&on^{HVy&jO?YLthde2XxI1k!4?|7MT|-hH#sn z+ot|_XhjU2Jw=M?J8UvZrrNQOK%i;eiLVeDNx_3SKw?oqYY?v(UbwadsitW3*c9h+ zjel6FJNt?5O^SDy3kKSGfFL|D?jLyw_Is-!LMeTH0^D@rn9)r^PlF$b{BuxIx& z62pX&A}3~{>9NPe#KGOU00zexrI%02J{V%J^XQ;1XB2VmR_krDjzl#vhxtl8T8xPb zdW7x0pYJFb3HzAwgRv4o7=ZybK@Kd3C|2u@5C&-HhNAyAKm>tkCxm==3zss=n*+XX zmSHxPfRRO-&cJTItp}0TW34sgnrXedHD_AL7U3phm~5b3^^4|>ij7l&a>)G|<8iZD`?f*cvL?!*_*&(W0@i4e{O|zI4t{N|MTak z+ho}f4KW8y^0E&Q@AtXG6!z!<8F7SZ#iJ2(Dl{=7MfP`G=7A}k7EP7x*}$ZGmJa~P zt$45$>3rYHkhj5s=yUKj7JW2)oN){qqaUSNFWP-&-mNBf@~q?cNF(B!UjbtX;DhO` z(9#Cg^wl0A%mI97hp0eO#Ii|V<|;&Ca20i%*n{h8ykM4|3g9{AYD;Q0DWvuS^h~o; zVvdpbi=3(S`7qLR%{q28?}Lb(aBX zuCELZ#R14~`9lzwy`kNF1;DaoEWYRQ^&)r@e6Bvsii!LSm-g0oh9(fhNKcoJz1+IL zl)Vr&OKCi8QP@SS_K`ilWf;1eBUFV_e8BwZFcO9B2}}6ArJ|gdU*xll z%F8!tJ(IJ<8)wC>EeQ!Ch3;iD=Y}S2hN-TI|7pI1pE)VkY_LyHrsXu)Fqq`N(n57x z*g4FFOI7_FF}EgTb|O(m{6HXgEBfBZG<=bvAqU4ypUBL58 z_hOjTIJhJb9>T@M3BKm%d?;rjpvOBG0n|*PAe#q8-L|t$Y-Ob~TQ@~DdV$PSCdIh( zfQ_4!4{@ZAti8^Px>P>eedFG+mv!Y3DPT_6uLb+`h?c7ZLZ7r_+!RMJt!x1v%@s=p z5O@i>A7v@MQli=J7DAHa-da#5?AiMMx>TYG#kqkve}r%B#-4`t^hw;}M_+KGlJQ!(tYB=aNHjX~+BqD%U>jlsO%2dDTx0grMFWbc*WbG|S*A z5Tt#ETNd^oTk4G|^m&7p8%3?9DuiX4b@<63SzoF$;Lpe{CO4a{_@BGT(&05?# z;kuU}87fVBD7PvM)6t=rvb-%h4ll_3lT{OvxLR)Hv9&{EDCKafafl=j43RsTs2#Q? z_jrG`bSn_bIKWQ$F6V2iH1+?W2bGE+23N>D@wQCJO^0yz&IOb=kSaGVh2Dp)yTJMr zYo|zHM`rAtHL~9BD6%O^fpmSgE{^d7KZw2pZ4d_a$nG?dmS#`EzMLMev=!&&plVs@ zYf6=}A9W?tL@88wZui$sSp008Q?G)xDe^nhu$_I5Vb$jMcV)i8kF=Ta*qw=r@#O%^ zutQ72UmDP75$I$`9TSkq2ciW}sVIkjBSPM*%mf&m{q|1}7V|QVYMqo~Qo!|XTpoDV zkS=jCyQO_NLSvxs%)-gSg*jG!7bcBJ$%cQZ7X}}Z?ek)lIUx{6&@awvk93wL(+Pm| z=+_|f;;mF2r5?VpL8xcZHDP>L2DQ7NETd#K|}3(6k|2T|TU7ll8u{o!_M z&yv8^;E>zaeCdzWdac%FUO+{_AfJA0$qGst0r}xV0F%f(K`PBr7ZR^*O_gCp3$Lo6 zmn+xjp-JpCAFy$APrbQyad-I0^FLGo?hCNVOXw;g|DX*0Y}mh4+f$|@vcD8TQW=q7 z7m;^vc}9NsEu~Rjz^2O{zv)x01~k%UznI-+JWzS+%=8*5zjH7l~Ps0KjOfv8bloHl}HjKc|3U}< z$teDxSyHy|bN+W0=y!PLf54=FwYUEQlL|@-sw+xA(MT66*iSto*N->OTn3|BT>%W2%3r@q5m`F;%v2;`7@H{11`w z|Fy;Ztx|rwh^%aQjNd8A|95Azegn9ybbpr$-M6GmkH^CNJ#GK68W~ysF1qjPx8BQ6 z&-!;V|FQqw|68>EJ5ttva=ZVk{`>g9`u!cx-+oL?--hG=*fM@gnE$H(9qHdpU$%dY zneA_~^LMX*9sOHpWM}w(F?}nD-w5yDW8byE@A`N9_x1P6{~6`|d%b@x!2fHM_g^C9 zH;el(a2Jn>;XCR1pXTrXMr6ce`gdOK_r(2`dA~)|e_w-z{h#aTd&K{)u`<$%|92t2 z-)s8ceb^ZOrTzYw0AF@mwf|xz{y*mO{&(K*f0hjY3#2G{gba*-zX<*bCo|yD zGcz!LW9I)YtIWd0_J7SPf9LIHPBz;{bV!14!mn=-w@TVR4R364o7%cOZPWB|f7dnw zK0d0to+K7OX{XybrU7Z(f0wsx(pw}m?GuHM-wTj9i}2ZTYM8hi|1ie!4b2RPWJK~! z^9vJ4^UKs6L@+(J)H9(pKZf21q;qg+00=zC2Bg9QFebraL7Bk?V&@y2+8mhe|GkdR zM=bCmLn`eX3o|p@zdVD2XL4)_+Xxt?XK4x}+sxPuz~Mm$5Lj6SDDlO$10oB=0f?>T zM*QgRIiPJknyASuoBuaYt3<71F`AlVPe1Pp+9rn-iv zM}SlSDFn2GZ`%aeU-NTo=5;F|;yd(r0(149@x90R^vj&Jv99*<`3lFG<&kEJPt-Rv z3u0#W(Z@vz>@y`3Yi6*2=+LJ{f*n&`0}W~=T@4uU*B5fVEnEWkQFBxqaMH$Vnw=Llhm4f`dpsI%OkdGeGkCLaJ)EBsb;*r^Y?A%F^ zbRA<^(V43+&$$mBTBHW%X2!Z&X5iXd2LNbnY#45Mz6mg)a{yXn-=Hdp8EgPYFbGD5 zqOqtI&^VKp_t$XsI!!3>|>FJygSI*!(5c3`Q<$}f-=z{qAA7LhN- z&EJnQsldIa`X*LZ$IqmL5W0Szm*#0Fl8gxupsCrp=$&2cK7{A4?Q3Idqsv zrT~JXxmCKaYd~ z?^EB0@J;pmfbUb@hVa$r`+yTsJlgDnK!ktc$7X%!_@;?};>RY;;{uI|eODrW;{vsP zL))wg=6EB!rTQ2Y7MA$&ACpYWr?Cvbk6iC^E1Z-`q{@o(cB;?|u1+t~YVFnvj_ z-9vfO7J)6YYIlMoid``Rg+dnrfwDPl~ec;Q&4u6ptlgJ{H`0VgnT+zOpRJ;e_ zSv2&(@0)+3`v0W<6o^ef&;hrve}&?gU-ZErJ(a2dojZ^|`$!9-w(=2#NBP!sos)Hq z>R*ZV)$j9osRLeb{|UvfO!M7${NcM(+Xp{NY|`6z{r360p6#>aqw>s4Iq9k;_fN3lju}F2c7}vtk z8qwgawYVtu_!>U7_FRNHNXB{YdFs}nx)lsVo>CxgA^<{K=i6GmR02L6r@bvB&#Y`WM${5PSHmq(EQPgZr9hsx?=fT6N!Pd?%z_|A2Wg1ixU65@dEQ za~X}{CQHXmG!+w?KQ^KiMSuZR&|Vr7v5uEsN>zNmR!lmVedx7$xJ$NGRWAXbFHNv? zB20o@_Qg^mpEI>2yrNqMvDG8aL&T^$6k(+&AsH&g8iFH9hAmS|=j#UdqsOv{RnP_1 zHv(?lWyu;dgq9*yk%N%BwNDV#uKc7MZdnmkX(LItrCz1<3C};E-uOCMBLs8}seQ#1 zfjP5!vg2Ckd{u-@UVkt1^7gs9gi+drc%k8ZVVn)Y(fL-uDn0b|C~@-)Bn!8h4I~Z< z2}W-TTdVZkt21+$h(b`za8|qxjlvM2-N+WKuZ^#@Mvo5|=YB~xFAE1ogHLywGG-*r zcDVth35s&p24yjHFg?L)N_#XDd$SS6J#)w4LdwwQa1GBmgf@1JUpLFGJpTgF5^DT2 z{QU&Fz0jjkF9(+56qc>A*1=M-k!V`b=xE6{19B^mWYc%`4UdgH6|^F+?1=M23xNw6 zwx7LA2BJ9@zC4G#_G$FH3+yD6<2@)3it!4dYR3{zBJe7jSn7p@=b1rFLeX*Y#s-*m z#ZlL|RCS!t)rnWiMFGgqzEg?w2{%s7dQeC+yy}& zVG?dy<`}I=*IeYAaIY0gC!0Lz#bB~PB=<6smF4stNRt~C@9?svQrbL}_u{E-Zd$gY z85@xi2;0$_l_+Jvi9Mh0m)&UpV9F@~VTPTU>k;Omxf(@I!iDY%>Gelo2fX ziEP#z#LvFs#7+>tKG57bpK-TQ!c*1Yj+t924!%Ek?HtwrByf*UP*f7rNuIoYc9r&3 z*G2$}(gWG_75`ZqO{aR1DRuZFz1xF2bP8~?_P0PH9f-R z&gEkEB1`DHasa!`nGDkDN**gw|ADf1wYrm+^oH-aOwZS31EINZq->rhZfK|NDv0t7 zkjQmWaCIS`m!v$@)Kv-8hgYRJVU=bW5fO#dShm+kW|Jp!h)VDu2N{TtxLZ;Zw9J|l zgA}iI56k89v$wtRz0&>J;=-Lw(D{@1~hR+kvHrv?_w!v)?a6v&3=LX>t)x42t5^3Hg?kR}?ExXf59JQF| z_Ov|H>-V6DysI1p+Xw^Z98;^OrQW*m>&@x=5V39*1t|+T2rpa@kCaxX_XWPMWkAF8 zcd*QPqrk+C6Week9eBYNz2ztNm7l_Y95b`A3>Z?=I}1sP+LWwY&J{pfy4VoUZSIa* z&DVzuIq1ApsCpBIcgqg7b1Yf$7~JLI8w-xQP(hF3<#LqeF%!1V9%snR17+uaDF@K-Vcd2tk+i63#YY=X0q)qEl3#XD*?3l z3>Uyt?+64@B|w609oW9=3PFhEU0sRddFHTeBwJy*P<)p4cZ%uqwr3!*a7&tt^-zWUp#_#OXVQS zLO@j+3#apJ0dhUDtwAUN@254-QrR0pE~s;y8ez^491x5txV^^mYj=q(E>nT~rOxtR z31hRQTDXo8y<;JG_5nV{7>+>PUTN6&iCb>$**c`OHv_GF=oCTms1lXo(5U~ zXl@h%kS$jsdu4z}RX%qA1xFGe1E^w#sT_NqgmXSBSZw^mA?WjxD}=5+>)?stMJ-N_ z+PjNsU?!?5YjUjVki|`iM!es_!wBu7US|Chff93@jZQDsGv_5@sl#m&BzsiWwnW2| zLPkiwcFLamKezs@Kp#hb;IF<9!a29LANN%^gxH)iqEdcj!T2auVn zDAeT+TK#z?q+rg_^%MXY`qoomia^Rl_xejI2KMe$X|rGKCVS9mgL=#s|M)=FC)lM9 zoEQ-ZGD-h(N<%O{@aFC-?{LQqO+J0bFue;G@^K-ezGLq+L?w7@U!Vl#ZjgEY(c zV`B-~IElV*@UNpA##sZUHK^N{XB}Hg=lbR4Ko@2T_HNnd{g|EO*!LO=WNlF-OYCl> zW7^YC&_coFGE zSP79F30Ws(mMrsarwY+93&xYsGBBIs-%k{BGRC@ZsnAdsl=Z#O;AgFX4%_bnzQeR2^V&Dx=oI4S2OdJD|!6O3UTgZS;Q zdLS7k_kv|Vn$Bm#Ldz_N^Yh);Nz>*lLzkKuB|XDwnXbvVw04Os9b4UB+f0$F7*O9H zun;}ps63AHu`Fz8+^p|r-Z?6jj*u43wne^l=lk~buEuGu;j zY*Q!{R>o6nvm!FRj4k?_*4U+M)&NIB&f3-oJuuz%anhcBzmTzW%dQ;n3>v%`d2$Cfts1A%CqxT!i zl2{1vY0mZlXJM}@b468C4zF+5YT<1xWoMG?&(eCo|1Lbow~N(|JvcLCmLyx@5*H;C zx@|;Y0rB|u3|G(@ODTl2Q=tW&vXgTv7&U-+l;v9GLd1Az1z^2mBk^#r#E#zbCvaB> zTFh}LQyrloQ1pKD!|!>}(TRn0)qiD0TL)1oC`KB#LPBU3O9oTSD3H1WMhpR;N!A>eN*k7J6v@5cYFzaVPH1cq6Wz@@dd&LEseYAu zu~BwCx|%#e=aZh7lUwT{tL*BkQ}ZNN_iXn@`{jw>%V<}G73#WS=_7p2hK9tGii0s1 z@5)%XZ$AsLA8hsf7+r9@J<5S*j>0&@&^rlAJAh7&P?YF`Lh4%H@)5Aj&qu1=q zPaIg2zsaJ3+)1xI;vd#)^Xd$rriS>CLm992#?w2L;1ppu2`n*plone(sGjk4X@#5OE2$NRd3OW^NZ7`P|A1%TC zwU^|niVmt8U{J8jz-CM&%55)Zt5lSQIwHcE6DmqAb?%QkorOtpqNz5RnL!!8?pqB0ISrONUEgawf| z)tl$~@EE+rFC;efIV-V4=P=;p z5isS)#m&(N3MK>^X1^~7_1T97iq%{{7q^J#a7joVWo3Sq3pS5&p>mjVCGd!4t^YrjtGH_xN$eIFfwq-a}|X9$IOBY-p0LlqRn5bM8a=&i(okNud z>tc5OOBK7?G%RvfDTzXhCv5vy+{ie4rmdgLTp2t`GWXzb9Twa2=gQxk3@M;}0cGdg*EvyhU5Q}fy{t}N$`)sEpKz~2BOTPO$80#6_ zn8I;O>u5;81)rOil9Q6!gn}2MCTrTAK1|RQ-G*z2?X=rA-og}8r?2?vz0OeHEvb4c z-yUc_8di}H+kqCw*9reSJr zouJsTkrqQWSy5i-#hrTE_JTnhWGB{jLN*viRXTGUR+OpL_cP2$dl5bZ{ zjfYlxM(^VaRYR#F#Kt}MXZ(2iTfm>y(*>8rVgj3qWKtdHL&O}&b71{Wt+)PV$HY;9lE4z6N2||e zqU2}ZQx6fVyMC)8p{?iLb3A?v`rOoK++Swxn?r(uo6k}^CoD7eJ$((E4|_hIG$ftuT%1iurzVe5+}gPnF%zX%MGp^Q z^mgrxp=+s_qFs8bPdPT0amX|j4p`rwd16QZI%O<4DBp<*GUjlhvie9+G!oB}9riA# z2|r8WdR7qNWTjB6Y9@NjM5bRRjt6POcyZ!l3IVf>;mb~Jq~&vM$M zHWV*cr?$zHCz$IN>R4j(UW)hdi{c-{9XH-0vk zT$QK%i5t`i?1ucNe2Br6mvNkq^hz`u^E2RCd@0=H#F}!Z3Iz$oMUN0a?jW9ajQpyOgk64EocA8&O%?Z5Mu+QhR;}-a~~#10_GT zaHUQK+^N_cw^YydcC%hG`Mo<|EjCF$XUp!qa$raljl4}QEs1K+%Z}k*8^#eP*86#u zjI~uSV#Mpv%J0;-mS_{HeE;GBzmk7LhO<f=gqzEP0YNQn3#x(cz;wx<*HhlRav!G zR@BP;e)1FK{Pr?o5vW|p6Owy8f;JWh>k@tzp8b%<=Ht7ZN0r85Gx9nYVFx@%H0!hb zZc`wAdbkKa3J6c<3AvV7f0S#)u%GV=--bTiD{5snbwZhRE39TchZaV01Vb9sa$eRq zsJl?Bzy0sO#@qEgP%^4*N6iLZRKI|TMyyiG02>T{i5isdsC_%YkQy`=Ak)wn#JV9J zeeTG1ujOKBfp;Hpvq{6g*Qvu}eUI-e?Ulk7=pSD?n*Ci;3=dJqkLRrkt#@L7;I4an z;)8xt^S)brEV&@7LXAWx8%6}hR?t{n_O2m^T56hMo4a=ns;dOWV`K-KmfpM)%T^=E$|k zrxq`{QFTj3Udy@pwPsbX>szbfB7XUHMX1BqOC`M`icIrPpg?H-K(SlxMqa!KnTSMh zUz?cM?EC{A>4?e50Fx}c@@rTw-Iw&vm+r6QqHq}8=S}4j_3HwfnMaRmc9;Bjv+^z; zJl+6jLkym;*2Imyty? z87vP&;P=9uYf<09D{+ju^NBQVS1|yPs4oJgXpKb@?A{)c<`HiOR|G5_+Sb3Z0f|z% zcAvr$cS{|h%@vF}A^Y^DH{pkfN}6DQSz6O#eGb4e2)K9@=^u4jSvGCytU?_0S-ZMM zf7cQto1c&?Dej;GNr_iSMN{K)3L0pua1Y!~IY?YYrxaIomLuo0dTbTi;1{aVW{X*t zx#cZo8qU4+((*>O?u-b~lp-R07`sjlZ|qU*PPby9vTP(I_tU0_-Rd@6)OR23n`?VS zsdU~AX+C;!rz4V2t1))s%b7-Dhj}y6Sb~S5YK=v!H*JGOl`u&%8<5f*DQhP}c=TW6 zXTQNK;c&%AwW~qCCp^AbOkK&>g^EZ(ByYsM@2eTB+VN(xfk4=5bp1>gEnqXzsPa%m zl*(_YeQ$Z`XqlJQ zyzHcX2b2Y#@?PxRCd&=nr1S|!7SkSsmS|0D78?V!%r7xkBzeTuHy7lU4)!=meyI_A z!wa!MgFeQjJfD_IQ3~4Qrl|-7;i$|#ACd~bW#3UZEpF_q#)0v8;;NDEsS<*ey9Mru ztZZg=1ov;gj4bu_Pn?0pl>*EOwO#LVYT#hKV_U4qcmmQnVX`6pal)q6LUowCwTyd5 zFUKB5uNtE|a-auvNP6g_7IiA?M8npMMt0FwQ{|@>Z0em8l-^wqsG4h ziQHDrO~7}+GIN9~I{`qN0kTL$qzENFKR36ScVjeK@5aT$2VwgfY^ z^|R81rAO7kJtSDEs+O}y7T5tX4YNxi9H~W1oh(o^w@(8BO)t)E4ga;{Z1WF6gdV2X zJtq62PwC^q(RtH3q3DG(!oE{!$=Ip-C*F2aNE8Z_xKrf%?;#TO(zz@?4|IfxA3vdX z%UFs%c>cnAlG(##me&TB(?EQA&F7#i2NUGwttX^+%rhQZg z8-y0J9&s&iO*DA)jI77=d#8NeK~%0xUY$t?4F0+ND9AH!3z)^n;_gJVjp^)-0fxN4 zL(QMY9jGq{%md%%BN3;^am~HJ zuS#GJu0RVTmAWp^{d?F9OIX&O^fv2GDWw8hzpJ(L-63g=1=}M11;Tm2qAh81jHhIXcAMGSmD`E`=pjLbR+#ti^-=A}} z{Ph^HFH-^-!MZ^qKPkBE>(*^JmTiN3@QuV!goyi~f8sqabhQk1A)hc+b-}a-i-_2D z%QBWX!Vf(emrOGTLuM@2cFE+*3zgVDZ)|gbjvGnsKB<5@J1Zfq@xSX0cCXB?ChaVP zELbsJi~{mWhJ*Lp+D?YqyUx}c@=fg08A>D2ZUjNxIYdN>=b~CZpQzS#rXRFu{vc+! zI(v{of;A1bj4w0U(b8ubf+?TKZ}h%*^jdtRK^uOE;L4i#ZV{;~N%0ZfD*+?X`GT9n z-!RzRQcNigvKM-WRBzI4VtffVspSWDx8GjzW7_JFL0Q*7p+;(0OKch zzRgup3G9P;L*#xK>WWvuFJilpPn^%h?|E&&XQ%g7RuN8dOdd|F$h+1OObOyjzY`j6 z{tP=n`g+Cj*GTx_s05oKlml%Z%#kIF$;dCg_v7V;s323;g?AmxaK!f%Q$KG$dw8!3 z9S((7*tJ}p_BK_;z8&mAz@I+DK)E6Rg9I$1p4Ld zgr2Ae4AZeQqU2c5k{3=FhX9RP~YXV!q|$D*ZyU5-_6(dz(4v7VJK)SXEi+C*CS zCnW2!yUpUBX-rso)~uV~dpJ3!Ah!(0FKQQe zzSrp}agf!(4pP70 z>exDP3`vzHn8<^eL+S={slCdbjEIK7p2`HIKJTSNlk@E;`xo*@z z=6&s@^;!>*O_gCT7F#l=zY~O=qeq0XA{)Ps&=Z>m@($c^IjV5g-o5>XGI;qF_-P|| zct$frFbyS~Pc_#8x$d(2;yZK|u-%FFR-@iqGxB5oDiZ&aMyO@*uEyjtROVc?Q{_B_ zIse_B4GPVlp(dQ(%)I>9Y8c{EHixMBZ`eMW;K7sTvgmvT{UG*Dqn-v2Q&BncL5#h| z?3K@8-rgtthwT}=|Hiq~vD=7jE*GssJi3j^S8qI{Y*GCiIZ(y}!^0J~4^g|$h#>Lr zS{?6;oU5EKhCxsByJ9T8*enj6)wfmSk>Ip+uUSgu{<&hcN@X76UQI=fB@e(WfTU_YYh#wzKEDbjFUsH=v~Rrn{>pSZA(a!{xClPvt81VfE!&gS{JbsJ$MB zYj*V3orB+7s8tD2>c0W!1_Z*tjpaLXE-UPYYpOKt8;cu}#c@?#8Kb-NE}C^$MSHlS zdb@vBSIi8EC_a>AHv7#T8~%>n{8}gBgOtTY8K|+@yW@B885qPTHO0k$r01quH^l@u zMgnjUx;7Z(#Ks0ctjwJB;_y_mM*_bew;!vg_#(&%veQkOM57X;owsf1Bfo3n;a?a= zfDz!qJW4U^S}I;m5{u*ynAy{CwyvZ~YpJg<4kbHgWY#GC<}>Grq4_+inWsH=N%?ZG zFkIk2JA;U;rRSp0dagMIpTCw00pSjHz_#5;@tuv7aB#Tl(t$AXJA2hy-K7N1g-JKo zVwA7PW+%M@*I<;r7+aYR-6M(ln3gjYwCJ7Mj^K((A&}hGyxw#W9b)#s`vg7S?y5>L zW}tUF`3svx^@j&7a^pgx!DsdG)|@oHjZjhQeBR2=bH<6&e43$weJYr?rllZ<{#)xS zm+uOBW2)O#tD%NfpuB|uBCLYOuj#Nq*gu;gY03HOMT}uLc-MvZrC7^73sC_OCB=eS zktCcC@eqk|foo!!`7h~aXY57})FwK-s(m5j6-Y&BlWVdgAz|lqB^2M>>a^#PE=JW( zN$Q~v#gvL}T9~3J6g_fg=*SA&jrx@7khC;0HZJi6GSpck?A_OlR9L!JTSP_It1=I9}XRJZ*PG6q1Ga^Gfv+N;-9SAt) zvHVs6I)Xk>Tzw>Q*@tC~43jG_81jMBP)ilct}4h?v(pnr>e&OZoCn=Gh*9OEp4I+B zny=gl9J<^t1bv~)>*2xjhz>CXzFXN3?XT3BaUwt0R4HRN|Ii>VkDdv#0MEK++ZO>C zwyj`Qg1==8{Y3h;C3=I; zy;ura%FPLHzCp~k!^B{>o$4wIX@`BOQ7au&o{AI2bW|R8O!e+V4j6l#iAmPEWqn7h zNC#q?B7}pGYb~YkrHp_osWB1iR8docI=G;N zKf2ClNn#Lkl@REY0B2BKN6i>?t2LM+P?OZyb8`wVG*`ors^vD47`4Zl$7{$klr#~9 z{em1E9UFvD^W*`HHJV5KntrdR7W#Fh5ch1dR=GTEYk#!pN-~mw5lJ5$9PGhjiSMyD@1<7$3Y2j2q8!` zX5n{Jy~Wz0g90`cxSn}YH8C$a&<$)k(%dkM&qqZkA8*m!nsi5HWieGQce)%@<%`4^ zySh>AaV#^hgV!!}5v~NN;Ll;Ev3^(X1bJuTWw|WV?}e-+K|kjPiY2POl-Z!Ukznxs zzGgKTlD1=@xUWfemyHLhCjxS%l(Y{_u0kC?=CrDzxRU7f$CzIGh<4ppo>Gr?QgqQQ zQKX<7xnFg3t7o&(`-MFYJm8e!6W6AY+5z20iXpIQnaOF`%Yj1iDgTCT@y)nWbzLY} zKqAxY^3RW!-&c!|UrwW*gkBVCE*Bgu(;^Zo&!$GpIS-Hf{RIdmfs2<2)=KWgy9lPC%sy$%^F{eXw zHv8ww-Cq}lraU?F!{2_UfX?#kAa1o=xO7lqet6fznA+XD^#gonkwxoo?j%%pjcptS zHz)jvyqjI8#hwYGDlJ zL*hQ?WBoMjY1NmLgdxkGQ(OBp)F)K2xXYH;H{c&3=-8bh=h{i7CZ z|JKTMKz>1PE1-ZYzNIqBJQ0)z{G#zySK0YCbjz~+rrOfT6lz!SplwtHR6Q2#T-?vgw~1 z&H79&3=nC9P)g|%N9R0nR$q5Z8vt8-N&u+_4ims_@4;HAT?)PkLQghLvocX3{(3+26 zl0ozKPDa$OCwC}wQnK-x_$u9+S}|k*cLYN}Ur$_R zj%n7V5KMvY>0{T#U|q)@zh!NFoV!xoPYioSQJQw@m$&FE*DJ(~;j_tEBQbnFR{sY? zJ{Ax1I%~sEP&R6Ot%#IgDTQ($$+T5qf?1qT;^T)Hk|Wi>@tjc9Ie9e1%$pT!f zpL1v=t8UgcKyUIqpHLYC5MNUQD0pF&Z-_hd3>wq0X#?e5U7I?964Y%vjv5)0Wi4&U zrN9|$L|^BzB`D9f)G-NS$ICggtHVGQI`p`0II54OB-u@fh6B1s@#ZW4yu<{k!UlDJ z-;zf;MZH0H$YNd={xK5x^@%lhqaNhR5Qb>WUieV7?_3{Gkgx- zvkSG4b%zW9mgtnl!(Tku+-Q$h)$NlkRN~YA>j;3f574c6v;Zu_fklY5TT~KMm0>JG z)gI@Iz6)%C)nt_XD)4My$HtH#t#-u^;`VaXyBfi-mi4ue;9dswWj9m78$TMao~Z3} z!H1~U>bh8wvQ+PcY)ytxRYhml%@MVm&;=iHD&!tSXjZV->eOaKH!GEHrN}=)J%-wb zr!JnYHU%q!uW`;L(-4%5u%^# z)6Ei|u>VS50oErs!=Nis;h_wDk@?@g|ex6(&C0^T% zeoNApSv7}}QpMcST+4l4hG8kY7Bo@sb+F89;-e?O==N6zBwh#sA{jMV^!R`xc#)Wq zWriWDxRhl1V2TK6px|VENu;Y-*s{eET`rp$8F!c^WL5+_W)twtdEGbC4dll znbIL=BEC*vEQu z1?K%vliKxgqFpp)$kI2|`Imn5Mli-%eS~)U)QRN_?#LSB(9qwns`&d7d=}Pg(Di}p zZ}6>Pr>TOsG5DD;bUm)=*ktxgm~i zyb&oHnxvoR&eJk)9Jb3H1L=}B6T1L|sZ3BU=`&CMYp9&fBw`yB?$51$u2&sSif<-3 z-OXR9)MzG3wAS|oJjL!7mSMU#pjMf>-na8asf1oKZiC;IN}?~tupizcO8S>ZL$PGWM|~aEI!Mo04g+M&Yp3O5@$D)!jXFKh|;J_ z(q+V~NdwJ@5rmV?-HuqYXci1BzBSlt!h{#(q;3u~k)BmW&is-m0?%7%3?%4r> zSvH*_p}>^50siZpjyacZY8db#r87`&C552I=Qobv>yW*R?pbN=)j^H*{_I>>G*4IZ zJEG{Sa>K}Es&ViOCzIcbKa+F2EYTI?oV5m~DYWG@6Ypna_8fkV ztq}b^3+RfY=Z<*45FS(Z2OJr_4f|_INdXi!<+f!^-M`(oh)r=dq-l0Ld*(MiF!Fd7 zZ2`#WRI}%`<_RUPX9Yhg{_m`YK&I4zFvOK36}pdBLl%3~-8=59I~@Xa=U@!cn{hMg!p1=UhFD_6fg)hPt@sqA?-&2p}ijS=~H z^z~a8_L$!=Dmj9b>}?b8I^558M!QM}#1bP44dVy;3Q4pjWAfRPU2eOMn~E{ou#cKZ zCTk*gl9chEp-@W}6}uUIeRLEVU%sBc42q?gkq4;QWDi&7qfHzUEN7R1l}V~kEyYTirrE6{m@cp zxoiewB`VrK(ltsgypWWW7Mk)U2D?FCUEB;Do$%VF^ud*RtMz-)!(< zq;$+xA>Fl+8%Qo1|4Bko@Cvv0Wf*aQFLgUX>}U7@+)g-GL*06r6=0&IJ6@DF*m=xn z@b)9B-oAjmS8}zwTlY0vFAnQ+M~_xAw|T%=3Y#g|VkuTpf>RcM#w6zyW#c565SLj5|H6R<$vmhR$hsXg&^xWU&HU zqf$giFDyMW*cL74IaGax>rE>^u@gi#3n;(Ved>*AAx`Ob6WRT$MG}HHh|vKr(#_)X zuAE!lnR|4l{i=lj_)7Iu3~ea~MdltZGDBmS>DA=uyR9UDZzSAdIq&I;Z3y49(hY^; z;Jk860MQrh_xDNFzqwD_g=Q^VI8TQB{=OC4mqQpadi+ym)ji5eCJbRWEC|ie?Lzt; zNo|(l`{M;UHQ5>>RX@S57v-XDt&m5{3eIH+Qbw6BAbh+@xK-F$bdZCL7^d790@y!W zz3%F&?QA%vNwm*CGeNv*9yzL+`b)Qr|2`VV2G(FXvfO5hI*efyx~S)@;0*SZswq4WX)%fSot=^~Cq9PzB>TJI-2~`%f&Ikr6ifP4;sMFM z{%P{<@6&1Fizt#Igpr7a!NRV-x6P$Mnqj9B0gw}(5NokFUBc}uFj;3qWPYNBqa-zL z%lPs9XZnp|=!}&J6ZZ=o4;<8vkpJ%$QL7@*W}F_+=n$KUg!8vwENzKcOBT}ocJbQk zz&x_M2C*cv>yss_U>53s!=sCuKOgHBHcvvHy*iJGtK)zP44e3=HD?=LCOM~&udZ+HBFp$dw{dzn?IsnW(` zoC?rZulyqvge2yl2s28An5{XJD>DHT0^_#p8a!aD4^O>toT0*1G-`77U2)I7&i3Lg zL{=qaG35{(s1v$|+!y6^WtWtmao|j(dn<6LpDWbiuD|b4l_Nce0VgLhe~}=Ma}E1nLCWBv zT)!pN?_!By^NbFVH)ADmdR;FXpN@YFmsiM1pA3jS| z(I?aN#cu*j%H@>&k?z*CfXl_!Oi6e?6nmGSqx^Xfos3X9vQKyGa_Eu6NOOR(u`eTe zOH=S#GQkRFfEK)nk?ha9vcP1Z-bJ306URO4Vmm`@yR}-Jn~^36=hs^8+J|&~7ubcg znxIYcBMb6*d-Sn#H`{8Xjd;QvWiPTev4%nC?QHr8B=Cf1kr6lJ64O?CQhMfufawh= zZ@UT?w@jL`y+KuHBwZToc_%lef%Sek1RFiJ#0#x%7@eiHc$do!1Vl}Whp7F|z?u4UaXVf*4f_hLDvQ1CmxNg0A%}WiswfOB%h;|Mg8Xun>`E2tk zGZXR>A2pcBVi@u#>3i#A&@Mwhph4}hkPA%l1lt5R1=U+|L$*%8*!zte zIHb5y3jRwga(-y6e35yg{IeIcCG37P^d!jLMK=_6wtYM{R;OpL?2%j zQO{=?d!@jZW^kQs4&#Z9n*nc8h_F0@L<#Eg6|KbYgX@yZqH0@lyk+%QoCTY4;%+_@ zFTOx$Rj(}%uceVxaC2TV&@5N}43zufGP4=_`}Qn281y8mBnjoe|G*Kgf38sr{;P1#y9VqT!_Th?ECahpzqK~w@ zlU`}Zm~DWDDev2XR29@OVewm^R1M^yT?HV~!^27)muNEU+RxPKfce*_q?*ZzaouEm zK7SCsG>+)eLYj{!VjNT&F?xdFxV)t_bT=YUz$He7 z&e*h!Q?@sZ7KCJ+HTp~PFQvD3N4~Sx8zYGNp-%UwC#eDLk>A5RdbJHQ(&yDbmArbR7cLp5D6!>+Gc|H!|hk@ zIROEUyyvr`kTa}QxtPR?>t~R|7BJTO2n2W^H_|JVWukIbhF<*<-Y(Yj#^Pcg%!7@p zWNP;u#oh;I>Er54t~g?UQ6dt3X6ury8+CzKHIr(<b&WHKr8wqW6%aQsEIxYQX4T#`C-4T-aLdAkjrsgrV{^E^Lk z-GeO5^hmLu{u&K9qUddoD-^(dR5k$7+T!h{16OHyw3cokKg77<*D0t46s9eN=YFam zi$J$1;L{>RI(@k9LqiR(@gJoJ6B3%9fMe?Rb0@B^FNC!jQ_I~@qY`d{L{DiFQ5v; zKhl+doCpC^J^LR^;Rh)B@1P3PKk$tI0;))hDv7G_|9~orivMSz3gf?`|NfJw^3N^* z)-3+bsnGr8!wKlwivBZA9*_AS#ebyy8Cg62xF_`V|AJbi^{kBWX#R%=|1+oZ<2d|_ zQepnTpi~%tYGh#g(LVl>BTcLIQ}vId;DGm&A^nf{t6=1aM@nPlYVfnx`d?AkhWeH? z)=pOXM)nS7Cf5H$ia3p)mF>?1de(;j%L(E%ww6u~|8E9||I}q^WBq>whSOLYIXKW5 z**WQ1(wNvA>HT;gKQGS6!O`sJS$dBD@H}V)XaxU5gAt_>`>zS&G;;rTI%xhQHJnDB zM&Dk~z{1G!pRwQiKX)B0^&Cw9z17~##MJQz7BMh0GcdC^aI&ItvNrtb6$2Z4qknbF z|I@hef3{%sAFbN|tMs2*b2PIwH2N<|Ihp2KT$US zJlXvF;QwEyY#12+_YtW;qe!Fl|BoZ`XUzETT+n~^cNqR5DE<4x|Cg}ylN8EG`!m4& zo8Mt$V`BYx>3>WLWu;~MUrh>4P*T;@n%A{+0f&*Ywb}sxNd{${VU6VI-Sh{2-nqir z$kY{^*^vfA34VSjPQC8VXiYO|d*7>AQ*v4=t#_H1EiJzK>(<^zjpvA;5({Dt>yu=#sPH3LBjA2jIU<_ zvb5R<$w}6IA^D4ncLd7*6bZmMEwDTEVQ`mm*L*?d+S5++!@aAJi51>s< zm5FuP37CXOfs|7>f4<3EP5sT%@YUJc(B9cum)g&B`OQ@NU2A;=(DWmrK#_o&xUj$h zAHmY=p;HY)Prh-vZ=2J08n0NR#<9&!-KYq2Xyi#mFcoT zV)`bgc2b<^*u~@@cBgktUF+cRdO?$^fm;=Qdp3TnD>D7&Xft!?2mrA3srw$h@Og0( zg{wjB@x62!yQuzKz5U(x6RMsr#-`4y=8s(oh_%59zyLNdfqCeJ*onZ>lZ*}E+yLYT z$g5pF#H%bq(!7k&b8h$ns4NYa;Il=+0SaIW{6+Fab8zq*U=k}sXS;6o+~89sAsiB* z!PefE_8oB-1i-2z^T(0!;pYU{vA|zBmBD7&=5czG_K9=VJ|FmkqX8hj4S50NE&cwZ z?F=A$1l!51@*z;|mH0hlkvZmrh>HnO@)n{!$@Ei3z2tdV6MBa2be?^;ao?=%;gK2t zPBZ%o(Pp6fN?%#kwlRH0?Q#$J>hn2zN45XuyX3Q5o;9iS!j65T^FprojM}BX@*Px- z0poMyQ8u!$`#@yRrh9Izz5K>_KPxHdQdJh0v0-$`b> zFn+#Rn_rL9k879RD-a*<8GLv&F~DPIb@4&EC06bdFU0_*d8-hvAS!bcbu*(`HARwq zOZ(OStl=?B=u&X6$j)d@R4oV;mx{RTfIB)Ui&6~E!P>fG613LRDY^%sIP?kQ; z$wu6y^;7A*0gk>m82!lh_Tif|mBS2eDty|@o+zlU)^->!_@Zi_exvE)7 z<<|H#zto;aSX1nx)Kodo4Jk5F9c{osQfO#4hnS~ zy;3+TM5s!)xn&RF;%D zxR;wN*kH)Cm+Rj0Uy_%!Sbn0KZrHh7rwIn5Te#n0=~=M=Fv06`JRXgAkYjkL`R*fC z*63DsZ;^k@iVNKhuHq1if0N7Edp>CrTRDx;;Uzl>BDc@P!J=x{))Dp2*@n%KRTo0J$IDj1`bL@?bZ#VPrN86gjy*cDit&$@1x z!-zK2O2*O*E)Z}&xv#HL~?7g z7c(|`z+i!0p%IB}GH{jJ+Pi3z2{hO~>E2O-nCIZ#qeNNGt9ek((AW>*eYW`45^M!H~lxox7u{8rK5j=RT-^+W>P4(MX{mC;o;eOWeYZ|RA9aAbA1n6tSB#2 zmoVDt^x4$wl$(cQVa9v?it76Qz!-CiI)G?7m>V4>&Un}M)xJ4WzDpg&k-Wj`SH$4l z-uWg|I$w|}61(W9T`UP_0Hv}FGb3}Dxr4-k33>dbfaiyHFc(6^Hx` zV3ND;iK?#waXPNkA^aTWT7k4 zL^K=5WQM%1X8oWl)JXV~3mC2lwr1by&o!!C>|G>ML}=Ta9{%uEQ%3AS6l z{WI%#Lu}OO5?Of0_3@BYaG5alKdTGkFl_<9PEJthx8wcxv zTrjlLN(hbJnS`{oNcJdHm3vGr9YFTf8AU0sdLLFpMZbecTNOduQND(NXYe6INbqQ$ zJWb!eU&>wU=sx4ml_ILpi)DmqND@si*SQo#JA8D6Og6jcfJr@Vk;P%Te>RlDbsC5C zR$^dO_*a9Lg#8}dScf_Kubz`PVh#^J{YPIO%o<*d4r9Erxt{Q}d5z`$O zBPknC!fjJ{ZcT3Q@39GgvaoDs>m~1IYzdWSBcu&L^qYGj3eXP!xLy?4)la6{^o6uU zE1yms>Jd}anJhz&cZ!>+tOVNvSOJzsExl}!a3Gfj>SI^TaCaq!bAlpA%kzk^19aZB zr9YzGeaD>b!ZzD6ws&Bd%Lo!dWpj_nO5DvN9UHODA5_F5HE^+~d9!yivKcGnY#|+k zq__a96S2Bt-Se#*wXw&c&S7Ub^Ppyq;6eibwkIQsqwIbexnOhvEe@ve)R)S0c6Uhocf(2la~RT_VuNB(8oaQkTxEZ!#!- zE(DurkY{m=cf7IwR*KqV8tAAx_XOG6-EQ5Kuq1Vt7!=-m!0Ke zKSG1kg!Ld9QIZ_oFSR7dGNw@Z!)j4wb33K2QVmbe+~SOZ+_#amSx`ZsHhfqX5$PA3 z8u@T3i+hCEP1QgN@l?d0;^=anYw?BFl93W-LSxmx}y{}ho zUzt<1$BG^%zTz$tqs;hiumGwhO$jMy7Sd3i@1}38Idp24B&Wr1nG0Wt81;%cNl(&c z0UYW9n@-j1xQ&m~H@Jw1e@R?`%qf}%%z|cmn&-Z6T&$~U_4J4HnT?7`z@~PAkqTN* zKFZ}b-B1t^kupyNKK0T1z^_jx#nIsIv&}qJlieQzXJ}?r8IF#4vf>I3lw^3y%)UQDBA<$cYjb%#I@w`qsz=%7(V(1eBY>Ebov*cH)cx6RwJ5kUxIOY^stxPHXR0!*f$&?{`zfm-GZk zW2|=$omE7{)~9DG=D^G)9uO!dc3b5sA;%ClVbhFKy_VPv^i{BV+UtJCu?!Qi7I<-3 zGm$Ru`(JlME^T2-MtP)g-$99E#e(z-t^0vGv-UQaIIJ-Fwlt5f6$ zK`x6C@k%t8{(z%cy#sZjcl*dOT~`XT!0RNqX~-gT% zq22)<%D5lD&i;)pOWT+|_;nOH$VCrzF@wc7Zhf>P=PxY5G|Px8bjiy~fXe3clBT+C ziTi<7ls_%Gfozb$>c+d}ovdJ@b**w6mrN0q@9`}a^M080f?i0M6_k{0o{RM}b+1~d ziJZAsa*^bF|JX;H&4)vszycyT8WZ-9=6Ah{a+{_W)A^!vpMu)`8$ZbPSWfQ(#Uu;U z%fqC;r~sdATnwI_;HNJ|@o}%*pk76UJDfnhv<{8^`-mlj3#bmfxoFNgG<>jjyMqQ*BsNJvxwqoIwzYIwg3ZETpg12= zuyaEZr^qg7gc>`(DY@~}9(uymSFPJ?(AAq7K6B=*D4|>I@~vE5)$t5boap-Vwmiw zSus(v>rHnH<8YNG(;CU+dbz+;k#(i}%aCKlud1cID90v>T44(|3E38xS(KDX>WsDI zILB6)Y3=m7AE>VtXU>$0t%et9zN2H=5h5We*r|O4vSyInrk9sh-5Tvt!fdOFq7fix zZ>`p0u1-|d>H9fka`s@tg(zCF8gKlT0D>%%$XVe@+)L9}7t|1c@rsy$`E*M(>$0}p z4(`OBhRKx3>;d1x5X8&RP(*I5HU>_4DFd88sxX!hGYX~9x%FU3ZI{~vOe1%UHSgOb zbrtY~752$jAjA{{iT!j|rw+?)X^=Lb6XPQng3xp1=k5u?Tn`Y0%8jycJ=l*K1oLY1 zDRzwziENk6#PdFY=)6%VP$=;Uq$bT9>i6kgsY$5M4qq6O zcR2%@w&p!X$FWBB(g=7Lo@^e^^Faz}`fqxwUg|QPBk`JP2Fsd(y&1({3X8i(v>&ff zgoBpu4T5Nd^lSRzKPQbKPU_ixEbGETca*2G!=dFZdB;ubi7;&Dk7(JZ5es!QMr*T-1W4yn@SlMu1o8Hh|$p0w6yF=jUadJkBsQQPwkQBd4t_k8$cm-UyMv0V$SWnDR* z>H2Wz+Mte{DTl4SN+UQox!7;{^NJ+-pa(CE24V;)m zQ~e7pIfh~cm+v93V0+rk7L7iOp600`@IqceUU(%}C1{@*=X8wU9mc{`)kaTO40IZA z5IZ`XjW1GKNUrcG_?w`84{3^^YC-ZX29H8`LA@x?wY)mB#sZj$> z<2?A9j@c45Y6y~PHyyOql19*eD5uLho?niE7d7$I3C}tfWqZcIAAVsr_z|597QC4> zBR;=AN3T4W-KHc{ou?kqs4+V>5Frc@cThr$qJ$g7raB|AYuoJ9%I6-`jy;NY8QWn8 z9c6fi1SDXuIiwejzF)qsA-0E9O9rr42funoKqlA>Nbe>VrlZ$`h?i740Oj}exNz}E zF9xxI(OaL~9Lb>?aIhz)YS-1Xk}l*`Yk<@%O!dt?(9Q~}5<&kS=kh`85wAp(q;1!$ z87-NeT_cF60bysw{Q09|=*~Q68y)ceRpE6Sh3<}-Zd8PVdX>Ka?84B6QT*|5kk(-n zYN8^()zfpJ&>+3LYwXp*OlJQ|gToLviA##?+e_KW(a3`) z!8kZ)+Y2NoOM+cp;ThGqDJbS73FuQWw*3MAr3$P!A}KdqTGx>;>mnYox6tw3oeprD4!jO9inyP^h774U<@V&N_`MeI{QN{|$j!1b8;6(sH(j}`zp zs|mN(r;I%lw9x1-CRAz}Mgj7Wu%v(?>eV!C$wFl_cqJOAOZt*Ezk-8LJ=WVZHkc`q z2X-lf+QjrpY#v%x(XHvu3vI!QRWPfsmos;YRZQk#?C=h|kG)MTy(}0+Q(va=@Ir`m ztmU5*gh`()A*Hc7ulTtNP$q{D9Fe-${y27G-tVS4c}kgL#iqFlS3cgXs3E}|IyhNh zq-9OXchW7jsZ&E+xi&Ya0gC0co+tW)ue}Z~zdAfHAD}k_X*QNEd3`$bK}$Y*e6-+{ z(1(>~>E-enG8hdD#Fxq_7prUC`%#Xrod=Ov^wt~g)t3!~SXg&wc=sb951$2IqI@x* zc&p>t&B9!;7*KPuZ4+;B<2eybv_-MNdyay&g=xyoNah>$*)djd8}z9r!Z5YTVg50u ztl!--OJ9xx(^DGd@LR85JKx#^z?rC})WjT9l(Bl1^_kj55UmTP%&5PDqW>fhCv%vf z(S^R<;|xu*tDiz4sh@*QuS~W~$jrhbVMfH@|MY`~<6zO3yti(JbeZZWs|}Ong=iZ} zLgxv6;d~T~1e3+rqP+ZO0ElhBi5S#=JZiBl+a3{FC zySqCCcXxO9;7)LNcX#>W^>e=S)jj{MOVu#FciW!su32lI>eZ`Q*@`hqZ&#p~i)3Vr z=PB&v>DzwC-Im{4%+|Uu8d@qI9!5dv4xdltl*=B&W)EYXQ8ybE;j6jsY_Kdi(>a7M z^g@v}wCs1swkl(+e%5?1Q?T6IJTXQ#Z=WpmnW~(Bo){}QyPex1>ySnoI;YQ z1~177KKNN;u}Ws?;drhw%M%>10dh8(o+FOYCzVD_^{Ypy{<_RVt5TCJgyXgQ1_!MpAetThN*(SB=_3u^htq*nK^ zU&E0i5ZD!)(g5#e!9tf>N#l9FZ1p{nZJ(*wsckRZ*aQOk8G&0gJ>ga?;C#j|Z%Em4 ztnw7Z$Q!eajjNVPv#9(FGE9*MI4tqPLk~rkIS(S4^{;2D=GJ02a^-X<#t2;_ty=&^ zx<>u*WuK;&x`t}(SMaN!M617sdGb%LG>ih9#$o}W{5iFqSnvbE3lzR2^d##?!TEaY z&+>sixxK$E#=nDeW#|tN<0>)9vGXRITApV5=C&;4ODPsg41#9AGzNOTYH8}8p zt)+v}*}{RfXt&XX3^NK#|4z*aBa#|XCeP@&9b0t5hu4=GLsl=2THz=kYtF3M?$uaU z?y1o|+NrQ=e`j@s*~t=+{enDl*z9az>@gQMpo2^s)?y+gLCjmcAIJY0@$&)~J|4^~ zB`XooE93{QSc-e}Z+f{oqdi-$_xrPKbT9EwT1H!k>{nrvppwd1UwK;{{Ntk(4F>C) zt3KnL*CM8BdPvm~a&gH%eno!a2M@}<-nip@bDn>Sv8Xog%Po<}zN#X*-pli0s=kQi zjng2zm#VhrEr=891XW;4Xwsj^mOjN8%EKyL4Zv)1zp^Q^fIH;x+$``yEKj6{)R47o zbOrXWu+G{chqZ~9<*rTA_mOBrlrHMuux%{AQ5&1dx1P`ISaKhL(87X8ZY59SZa>X0 z$U~4GHJXPHx-SsknL(p<)>Bn6jX1TAW-qs(rx(s93d7%D`7d(eHUV1OJE?9mT%bw#^mggTTU+}ZiOf9ux4xIbWRXK`8sbwm%ucO&$C z7f=9nNc%FMkZ*LF_sRMj)!0;b&jU#&Uw$pPb;kB~yu|J1BfT2e`Oa6vTXgdY&3yQz z?ro9KI5Gyyn2xdS6Am=jZ>4HH`zTTuIt)wAQUVWVuV&<0H-p9{zc!RBGf#v)siNwB zjo|Bwz;lLzg*(us!_;c=oyr2trYguMw+3(@1Z!8Ioe?mKi#v-Ial?T+0V+!>HX zEyb8s4tQKK_ammWIwz@U9&Oco^FEzXQIvB_d+zeB3gWGdq@ocFSNVM2ylCaMk6jZ$ z%{Be(cqGsOCCg%0RcuZ|X*XmSic{EMo?fP1dbnq6XX-{H;t!K*702Ut(}2>772qz zwVwq=ugO@pKTr6pWc#Rj##w*LVhm`tJv-S;+D*YvkPO%AeP^#xNH0u3LF{H6o4~ck z4w;0sro+A6SJZNZ6}6L!QjR`bFC7_-C0^CWO($eT^6})=C|aQPHXw+ATq_SNk}(D< z(z}W|8!<0N`D>w)xlHX1{ZEJ?TdXr(C_q5@_N#OH>j*<-JnWC_@zC5~TmzoTp;-bIe2Ix3g9dd6pd!8Q! zPTqouYms9ViM4Y}mx)BpOD+0`ZxM5zwxx&3ihLvjyr>wVnkZWUp~wpa0hMhRL54R3-35hLI1!yF2I+m+$;)~INyBE1Arw-}XAa78M#WT>eA2(xDRL|Nu=3Y(> zX)lGg`7s@}2(t=VAA^gyK8M3Or~a3(WnN>q2hMVK9Q=hGT@^-r0ebbMj_g{K!*AX$z+Svd` zQEu3Tj%4`c6G+R)E|9Pp!WNiMlT+?|M5cp4B{5Qz$}%mqJ1IX;Mry# z*>De_D_L(DWTtY2{6@G1El|8)x25;P?|k;4d}e4qBCGbgvI}sq3QRp^*o}N8%SrNG zm`KX?vtN4l*dBmT#*CJsuX?X_hFQQ6OWP$wlN8kdTV-H<4BqE2Uzq_(t@Ynfap4~p zcy^X*JPL`nHWlwE(`GWP?nr{6Q!QsqZ8Cr^N2c~319PZ-K>BUXO0L`Hosc$R=HR0c z6USC?tt<(!#Zz?Uk=Wp-eL9W~BK#TCA(W#-EawxWY!fRC0(njp;ptKEG*rSiTi z{jns@qc+4a)MBjv3uV`c0P2fc44tv7l0>P=utp^DT_<-ou^zZtEv@hci`M5YkpjtRRaoedpjjPzyo0ENw@QxtoI`#sIMX`wOb#4rkGTcjqEzvP&PYP^;%+L-EHBi^U@Z&`{kJ_}VB($xK6%tI>ctSgB%h znUW*5S;2=7T1O{z(!xK?&x4?_;>>I*rtDDq45I-{?xj-!!{aSYjK}J_iD2u|RL@;P z5zL}dp7!KmsVIc3XIMAb!pfHJ_XaF*Lw?`+2`pE?Cy0_#_r;>MgOf<=$2Wfye7xZm zzo)=85tL!kLjmuM>q~UVeKRdLLs{t`yvCb4(s&?tnq8r+Qg&7L5EgFai9$AfokhP+ z*L~~8Ov}4?50_Xf_dv!V@)ICTLg|`5pU0K666vnyMWz4r-IIir*^B}8zS5zd0q

sV$&Ajw*)oV|iQ^gYA#;c~f3{8PeboymOk0!C1YQ9R^v z@eh;S$FbYbm&RR=P)81(A(keMGn><0=4ekdh%DxXU%2at4)Ep?HA84!i(A04%feb4r>Rvn&($4WHIdf6^V z_|09O#mWOs#VeE*EY-?_rJux~hd4?&q!Xly{uw2es1BxLpv|ox^ma8Imu*)0S})#_ zyjru=c1j^}Fz1F6!|NC^r4o6LjC;Ki;lCElSADc!I$q2Jz^0Iq5Cn&SRVV)G|drXZDKYH4c{4QacQ zNiM~8fV4RC_ri-#b&emqcb<<=m22I$!H_sC$tC&z1r|cOoXv*z+hLRI;qJzWk$a>= z7kHdc{`Z1;UI2i#o+dp@xsi@@$Mk1;?CNQ&SEnyv$a>DzTt6mySBE%!C*b#&lql5N zhm>mB=>`&RMnbz4FR+)5`2emKV80-<@K26&Eyc?}c*@4PYhBSY=I=nvR=Z=<@>ruN z7v+@NorX)-+taE0k5YlD)YkrVuiQ2@|5|?b8NnOHW{ICYOabM#q902wnh@>jp6?!h ze%<(7m;$^is(wMs`HI-^fNC6HCO;JX&0w}!3GHtu5ADj8J zFQF zkBB&JF&_h;TQEcNm+a2I6xIEBxS))>@5aZQq33PC`-PxJ)tC{oORQQEqL(Zb$H=58 znl8jN4)LwXFP^#%50Cz0g1xrL;*wYeOfrkFvsukT2R8GeRV8e~-y24GBC0TgWP;(&u0fhX_9kV9b#z;k@S)48Z!@kau5*~!o&pyKVxN$ z5Q8bR#9ggB9#_*~ie027p0jI>aeh)%Yn1b)rSaF&S|9G)RQ|e>_+FUGR7dq(go&$N z&II)cNf)hp<8QKDOLIfWGMFqNCWD-qx!T`mkb?P3Bss3F*oKrGH(c$6z9Ew@ZT9Uc zst?%E2#`&S^FGE-)itq^o8%=}5Y6|ag}}I03tfB>r|EbUMWfB9>GV!*x>(8nBFr^8 zuY%s!I}s(!5MxyL+J!LqYH{|;4+7)z1EYInpc7U*;G!K!(@$she`qP*Ay%Rlw}2k_`bhODTM!nl!Er(ooRo&@#l8h zKZO)5?>dIRg%r$hJ^m%60K8|u>p^}OQv6$Y{}fVC0_dq|-U|Prrg+{_GVBkK`luw^|s~tJGCP9|Aj#<_1k>DDHQ&x4ft*M@xMs}-lyPqX~3Jo z?w|gy|NT1?Bhx=>(a|vB(lNZbyS}~u=QjR5hl&3E0hj>q8X3mlTw|G-=>MwANc-N- zdztrse$Rhz_xJLD)P2wWt(AZF$na*YOwUO3+w0Htd*AQ(-miauj`u6tH}_d)z?Hpekj?2LO`zpd^_`BA-eJw8IKkRIosQKOu zf&Xgt-OTpQDEO~yCII!fe=)XYq!zX~K;ct8G>HqBcpL^}!=I`&>_;as46T`c*OV8ZE){qvLh53K;xn+3! zX8CV-+DEx4iWy<|&BjgCRG|p^#uwTG6zJ55aoE{nfD~AAEI;9SB4j}ZSTBGG=ys&@TNOxIdlrjPYgh`9O~^_>uN& zM@CF%s^o+LPtw+^=fjlhM}p{)Z(ATYr#25_Uj0^y7p?v=-+D-J!CZx4WxDexaPQ#9 z!eZR)f8+y4t{0Fa5&3wIpjkWqbZ}!=_U_{wMpMXG=ML`ATGzz+IG2xY>+JJMRioU= z1_b2z1@maFirO1F7)b9EXiLOHXVPnBo=(=8V?{#W`uSbW4|gtC%KNPb7ElpwW+ZS> zd>2otPg%O-3V~((xLydBz&__dy_3VL@H}LDl%5hqNJ7HF02+l%jy1twU3isVoST;# zRyG8i$aBEN9jJkZI$l1A%z?f^9>`gMPhe0zYkHX=_fn!(tbCB0c!T4NQ3W<4-8Vm{ zS;%*fnv>Y3h!#|BXma!T?PNBG_gjulty9U05Im8cL*;vs99L$I)Gos<0fl?vN|}ej zgPtt-*TLzLjCb1D_e2m{kQ0)@8B+0Ku$4-&;qVQv5j`G~&*zSiWLl z;%Dr4|K*vYIyDIYqt5NgCYYn^D(7#@g?AD(Bj`xQk}S^QLqiRH&5GGA`Z`YSq)LeZ zf%YXLB9-OmNAE<=V$g^$!{HM$$YW4%CwYjeFJB&>h=%b4SlfOP{B#giyg7M}gUCN& z5@~xg$Vvri?qHj%o@kc>f(`yLDkr(Pu>Tb)tI29&*T9W2HbAn_h7bM#QU;a2M4HXn zFafQCS)^J|N%Xm&GI6>quzcLCO>3Q6=VMZD1bw{i$-%UTavs!ju?4Y8m2~Zm)8@i- z?RV$;l=9X>Cx2zo0yce4#sRln1Jh5IIokHy1cYWHH_k!L51nSM5C#K z%-!FW^g2Z?r>b%Y!<`>)Q=KTxwl-#AT84MYLkxyB9n1-2P1G(P!u7ANwVm*&F9`H& zH_KB|3*pUfXqRc8J(Y*;nJBDgCB(G-lXf3lmHp}2KvH!>ETGfL=HnBi$0Qe(DB!W=MBPRN1D19l zT(PUCxF+d1c7N>aCm6zjk6q?6L(|s0Aoy_bi%N4 z^>OTxYOqfJnMpCPlnwb~y>@?iSV>ZNTctqHUgKsTtlCE69>TpxXp)JNTNzd2u8gvJ z#W#&vtAKht5QFQV8#2q3ak*agNB;Hc={hwuPAD#~X;ImH*2zMsvb0Zv@v+@^HD%BJ z1IPzXuV-3M7H8=++@i9DrOFr{~{tvcH`v;Ty%~}1wWy|kW=ZygW&6erk zm0*7gkKZr;Cd&-Jm*v&6(R*i~xYSZ2qC(%_$uh6vf2Pa7E0zBi9@GAl(Eo3A`K{0Y zjV}L>4*z$;44`>~*1s4t{U5CR561iku9UQII>-(tu#$V~)c-%j^*!$4_|K?)!jDN84f3T{5atgp7-TgMne{l*XhQB!l6V03O`uCiF zQ}59-{x06beV=dBH%T(?yYAXnk6%y6LRSx(lM~v;_D!p72JN^YD-R1fV<$EsDPlJ? zM*fRoimpb+@&+!Po?eP(if&Ct-i}H{oMK>j%tn|(xK@UyriNb5l0sa8hF+eArk<9z zf|g-dM&5Fix`1L(Y>Y&D+;Rq#lvcrVSe$ZDOk!B}?5(oU2v|~NNQdXayVZo26MAfVxF-d8OeYptMkp}9@ZQd;W%(*o{MDlUU zaDMkbo4@;h*p zpHKqX9`T1Rb`*TyeLmv+r(k0>0#PtEQM!yUe}8@Got?Z|66k2rkYJfhk&Yn9H%jHM zOhjWUD@!gD-Ds{pBw1%ZkknRcrk8rS0aL7a&Ek=!_;^9|=oR?cu9{BP*hhR9j4Usn z!m0M`*Gya2#yr~BmZ;KvXf(6PqwB+<$0{Mmk(n~EA$%hGgp=83BntKUC5Euu^tuP~ zu`WL?x}6%%sJaD>E64BoRih)+gV)54JGm{E!OAVCkF6$4yvjV$H8DBE7G;|4LnK7% zPPg}Z_mXS}`8f6B?hZF`5eA-)l`8QMJ@jlRIn+U`X_h^Cv1%;^pYMjx*J9Bk2EWR@ zK;GRRMU*)bEM`uXJ)8@jRRx!;*-cE(N}^PRXdE~$H=mh=aS_kDE9GZ9P-C03ya=_o zce`IbYJ9xBPW+}?4N&WTg&v*m;K&W6HDCeox`^3uyXVDOX;&n`k|aF*I2=7 zJAKF5lTv*x&M@$(8r$Qm;I%`*!|Fi#>%HL%d2Ip_Zt0~lF`wN+cB9g-()d@&r(fsY z46QV-`@>J0A-5tY4=s*k1}^pksnMveh%0wmT9e4j7OTMX+w~P5=MAro6nDS8E9T$M zGsBr#V>BZRTAokcKr_R~p%_`btGf=^8yyI+H@#_eF`3Z97v_J==eR>Ti(tZ=m`1O0|DV|UKGc7H`u{%8K}Y@1M|qRI|M{yO7r^kxgW&@H3RL_PcK>;%%b%!A3t;&N z>;f2>-cM=ykHE{s@)p{8|NB1!Z%LhwZSF{2#plJk)Nr%Kles#xMd3aP){}(gO0&hI zxx1O_Tb5>*^xIRWD#6|+{gI+3b%@~G0T_<0!_`3GOGEQw?o?HKK> z=@>Etw6yVQE9vd=XlWVhYkaisz6lSG4yOffu4*AG1iYGA)7e>r3n58Ai$*6w;u>jN z7;FmbY8!)h;aVUhjC@+Vcnz3&{j9n)-7B~sAX=-RSbuU*|HNqblu!Q@ z2<|Yqg~2KC9xrG?5Ori?EAlWG7WAAAc(q5*OV}__&65uWP|dwh$t&Tjk^TpIkls2# z%`-A^4s+8&b3zjO{FBS+>*PMPx%hh)znBznjAz|?5()KNLfAnF`_AuJljya0Q0L-b=b2;YQqag@61Je_7TPFk$2%G*X>j~uBKon7ifa` z9l{6wkN13@M*Odcn$VT6h!7d58y=8SP(fUv1>RdYz(PXLcpVS9uZSH2I|v_Cb>9;w zZ;7q<#5z|ul%@0&9}rqD7pSH5%UdG$J@NdOsC`eoz9qum688@QKvYSucvPMtGdREv z=qwnRD#=Yxvq2Co6fc)FFAg9>9;{EdT^&6yTpTZKpVzK;*K9ttguWnl4Bd^vbwVQ2 z-NSs)&+}O4g1DsyHB5N*^W;@}^79mVwnG5`PnEpzdPZMsK>m0*%+dx`d~S?M0E(yf zS=NB8sCtF@@E!iGV&6SAs3Oa=-z&SY2VTeE_S;qCiyshqeLJG&_RFjqOvT&T10TMp zy=NX$Kkb&)(%r8nZ@s#$L&7Y&I8FjU%wamXdOhsDVJcEp+g@Xhjt)Q@fYe^DIUz!C z+D-ML9ETEz4#wuPw!{b`Bs)I4l`?=(2rn1p&*)f}%w0dyHMKqV~mtUKaVQf%JF%CxKF%h7n?Pvi6 zcr$J{2(!@oNQuSFNT0pSc}XMQ+;y}3r*|CJ1NX;NwIqTC`Wv5LCT8wq-+Z9e9I9&_P3G6U0@6zZpM%t2NhSy63wTZvaQu4Xjh5ylr+KDqA~+qlTk?X zX1Mid=#$Wpf2!4ChX25U4f5e0%&#xj%q#n0QAiiM{beE~mgYJ+-5ZHQ`xUo*Lzqh6 z9NDWxterLw8H6Wg?K<2th1l)5EU}IdPJ-dNQBCXVY*?_ULdMK4gbMj9dt=q$1C(M zjNlme3=>#f#7J}zCA9I!d27Ldd`R^^NornIz$bhh;>}|y^1e#DV=DQ|XZpvck$e+F zc5yOub{0$sV-IWSQj1!-CBYag zVh5xP=f{4#VSr#FmOQ8$PL8D{y}_5c?)%RpHnGnr-ABuMhH0GU@eoevS#+F;sfz+w zdE=teUm=72p^4brga+z+3ee9NmdW-n-RW zqIonf>UAaZO0dRVA~#j38_{if(5f(lU-Ej$v+nNw4A zr+y9Lp~ElA91Q6n)gh9K^cXEAN~{Kwdf5?^2zl$Y8!Jx5uFQlmOBc3|dxx@qv}k0A zYCI$M2Z3bHoW$oh!LveWZlI&(Ya5!zFar!i`Z>kcDFK-#_P#bb}l)3*{(RC3vO?4sA zK*#hFF4*`WConY=d5d)f=htUJ{B?{MhwumcL%n`C>n2L|&) z!u)deH=8mu4|sLNf?pa#y^~HT@egoTYfR-Ud3(h|PTR*2Jd9NGKH?~NKMME0QsST+ zjFKY`dpU|e;q?WaZtq}5BAQ>=1+;;M?kVuLYd4V{Qtf9@V+5(yNE;X_Ttu+KpSW=B zhY>oMH64cPj~wCHj?mirgSWc}>HD~tOh(S(9Xzxg=!&rUx5&ijq-BuIIy$1qRUzIa zc}3(XK0XmPS}9iCx3wlAi4lAmie0wXpkV~-u8Ha^#@&oe$G6Gc4yzs- zGqYzYkJ?L*0pExH0Fd9g8p4%J0`NMlF@V~*oK(t`T!0KQE`@YypxOAqRnm?Nu;@vO zI@ElLaXf4BpIB%BiC+Hs^xf6g3nz;e4zqkvUe!h0gifV9=jG9Y6l$1jYJq}_zFWRnu&-3&;3v5Z9il^te zms%&=e{?nt+|k)z#&MJqa`{C~%rf+(CdsBf>1576Q!udwwu#7D$1y3PrO8TMv5lHk z*$DxDMb0SEql;(N?T8D2%OY>OpGdB1nvRAV*Q>E#23=v51gTM}4nx0X>jW0rNFt}b zb{O1+zRHUZM~MhRyx*uaukM__v~CkOr|FpralC6KCgCI9;3&idqq_=6r_5`Q*@qbp zFHh z%9%_G#ec#Oh`(8n=>SQTxISbm;X|<{T>ehivKJ{(=+LXd&`5NsvbfMX> z9~^X~Rb~snHV@RWt{_$tn?>b6UtFTg0lJ<@gqsSIUXRjXXeVW%% z7qOnvi^(Gy3pq_y-LG`m0 zEN=XVXG5M9!}zi37oiYoukIvbcpVuohq~7oz|8vRom)cP9*}rveWXkM#$m-*KcA1z zi9Uw$9YX93CZ!|;WC1~x{qCj*)BfEmR}ME0RIAPAGi8_7H$PGXZejyX+q6G^j5^nW zu8s$)+xkf?%AzxakFs1KlUV{$J|DWuj-tpqmRxFkN_R$OuBVM53=X|J1YU97w)e@= zYd`3^fTBR_kV~_-Wxt6&gSZ+g92^Z?zk{XCSG@{_0O8W7oh=uFeplg}JT8x=3QS7C zv;iN(SU=&aC3*iW6VnZ5VtdlLLXh;(4-e`CGoAz>veyDn(dmPR@XFZzRZ%tSw%{ny zaXXC|5!WW&Tn2J>S6gT!BJH}F=GvkNCLeh%yc%r>*&Z9W&ll06X?KCojk~YviklG| z-9G9OE|YyqYV;^3sE`sEctlNprnuxsX(8_%)37% z$J!~+KTyggxj`@t{yBC$FAu_UNQ$=m-TBJ9vM%xX%V+Tt}IZO6R8! z%`GI502?eE@^4q7j8TXnjvC>#AOO}P=UObNKt7@Dl!&pMqy9lH1RR5`Y7*6i!y%f) z)imKkD`QZH9?U0;D7(__+9GF7AMA`ihyS#Q8V~uo4}SIAAX~GB%6^~t@!UtT9Er09d6cKy?M#q*ThR9S0-PB)^!$-by(nJ`aB)pCfNco&bfhXCFNB`>Z)~Vd=JEPK z*Mjg8TJuG~XQ}QVr%ht;^G`fkP7=}SI9I*O2fnq_ zO0XcP^dC93Vcc5taT6mr<6KI~P9_%**I;3lUL@_tT|Q(fTaI02l~jC#Q=9DmPf%FWJGxPQ+#7+hbw~bdOZ2zNMRZ+SwVQi~8+m^^dAOMd>i2cL43(_b&@52OG}ZB;nDC;_sNDajrfTW2`5zJ&^? zQi=@sn;tnMGtC0!$jLwh_@>UueEv9uv~bG!b)i?ush!u@*6uN?A$z#b@&^EcHK4k` z^Q#hW;MW%FA`!Wvv*VK5vm+_`AR*=5>@29g0Z(?XF(59(nzbTnzXBJjWAACz)Epjp=9e zUaXUt`l|A0&$DePCk?(qR_&s5y%cC&v#}<_&|QUrD#^phU~CNZ)Mez#DjgWR7f;S^ zBIg7EYvhZVlOX{{jJspY^+~^Qvz%DO{fn=N{#`koJUBc|1rfF%=6iFz zhjsSd*Ee=~sgDhtkmre3CnV*Rk<|}134Vz**a^s~@1G@(`Ei?_tvgnI@G)oUmMO-k z&Xl%4;L$GpT8ToCs@y695g~~wVwQA~(<+wQ(>*+P^Q>$kKZnk7!5nhnkoDzhE|P!K z1dkEoF7c>O;lp>=oevlm87_X$Uy4kg6_wVZ|@*&K9F8lQR_X058&PW~RkRG?hEj2QHY*UX){SG6kSwkm4Qv zB)hY4Qd=nNCP(>OSGF;`N^JmzKM_Gss#3eaQ_t9Gu=sYW%2SDw2s*5&=(dBA`p5r*Z=;cU( zTEzH-erV!s5Jc4vS2%pkY$h(7Bg&0rv{Ne!Oe0Ylx^%5a|3cw?g)9|^p@lH4SPWVwz1TLO{-N~V0 z-{nYUd{;oTAj4iKS<7Oe2ZIH_N2W`F!nwb1Su&2x(!tiF%P(ZV8uT{CAqG?E1kClP z*>@@*H3_-RT7wbF2wO1^c5EpMm?rD?O{REhw^0|0uqrx;Gv+~vQxE6}xrTc_(gZ}M zZff^KD8CLefNg__6w^vMRax4N<4^BU$_iKhNnb@~+@f!ZN@r0a@fXR!yZIB&xEmkG zl&@L%LZv#))XLSgbUBvVXU4%MnfIkGv&F!kEW;t0&1%oi*FMLwo?wzs-pD-|?fQ)19&yS!kgZf-5i8kgp=s^C1|1 zMP>YwNxz2LzlEAg71JNBF6n0~suMCF$t!|nh33r+=faTvtTTB+Qg~c*P7ldwzgFRg zA5?vZ)-YIsR@Wdp%|l?4JUPHkoI?%ajb-DR7aY4QVtXQuDQnT!pWLmx-5AHp`5K?7 zwGrVN%+T`#>jj(V5~gZVHHA0ua+Y$D$dtcrBJx9=kQRW(ZL+?xvtAmVp>;n_W6(4y zOyOr+0jXvopNQ=KJwZuOYa_Z%y9I#AGkOfKibDSc(Fc3QhnJ1aqLztWS=!}$=;RFz zqxvpb3O9x=pHtzPmH7A!mxt6>f(?X|!WQk7(>Ea?L0N0Jc2v(OwO#~R{jrr?p2iQt?SMq9+} z7J-?`SHZW?Ly|rtf^p_j>>u_A#7^A zYc-wE)DhafGNJ~xcJuMRzpY=Qmu(E3k(JILAe~1S&_&j42%q&(7|?s7r}W~)y?*2B zn@PygrI=ffog6hQ%RP6#2oZJ*Or;SrBqJz;bYB0lOqsd2H+8W>_b5U+i-mKTE)&h+ z>F!hLb~)sUAWPIv$+3b=Cz+o_Z~Bb!<*`yW2>{U;58vq8-p1l4(fwRC-9Ek|-ic%o zV*lRo3EKvc^hwgl99?SO%?i9{0tf4Pfki>*K|6~B zod+3h)S#EJfl|~r6H*i1)=OaQtlCPcA_81(vMNssQ)eV{(4U~6>}`DA^F}FMSjtwj zhJ}JYsRpV@)?$X8RE(l2#nLA+dA=|F(vSO@0=a~-sKKyK5_Wi{CD@uVC zxq$dvTwaUF9f3N>RNKH87VKt_ghvRG2tbm|Q)GLqON!Q|^N3853(Q6(&1O6tc#822 ztDEcKrYx6*8p^3dYYE;b2u|}F994YzpKp7Jp|ugFw{g436PW$v9A`d}fB-*oiXE3% ze_FJvLT;BJX`SPHMn?hVozE-)G#hrz6GIx<4ji@?)%uP`O_WT^m6!R{Wx{=X0fpH zHcBh{a^hpfRxp`8{W&0#U^axefgiDn`Fy701B|wc2ma+MT&5D1*UXX3FM05`_E7ef zT12ZUuY}0(;ydddThux=fWn^Urb;wWuzvheHr!SUCfz6sk?s64jWe6_9HPD|H{FST zXWFmKhY7NnIh(>nz@@7!-1Uy_V_B8kbLWLDbmj_u5(rP_*{527K)GzfmW~=1ft_bS zEq-L-=<1|B%b4(i2`Gmh-PhWW zGpWA{2C}h_V-*A8cNiBbIZD*f3leh;LRhd#h<-?+p!iIwj*cmBuEMK0&TYZgb}ZJ3 zKGW-Qa&^_p#xD^I#Dbzy(nJ$Pi27xM1(wN-CmVy`$`C#bL*B;dxtuEq4Uf|SOct9} z4Ek`iaXT^C9Ry@j{f|4#9iXAbI0aB#afR=U0FX(I1(-$$OvsQUVVG3I-t8WTHS|h#{;4mH2H)e+ zZ^pTs8--UWH#!L+snH?568?HpxB0ADh=K%isA&GQ1rvxyanKGkBj?%h|8aNM!Eq~V zgYX^46x%UF%*-%mW_C<5Gcz+YGc!ZX%*@QpF*7s9w3Bo0-Lr4)duz99>-*;`m#jxm zx1?5=dZs+q{Q722*3!gubFh)A_5*d+M+&mjq27nt#ziTYb$W*$YIZqDJk@9D0V3~f z4*_Inc|^h)>Lxwno&dg5&iJh6kyNJQl)+-Go@M?VWDyU><~MeGq26fwysQ-v@!{)r zDn;14{mwJF6CL%W)T}-OEkvOspFFSU{T)TYNwH6yLLYtk#sU?MzugT<2kxaAZUbN- zp?<c%=Bav+^s`DW{46GKidfG_sCH-La@;Ax7P#3#=d^yhNmMyjX-qO7g zBA3!_?2n2-l`U!QO~X<~Mj2BZ60OT~rQN=5tpRiAr&ORcO%Ok`rmZ%8xZCz(A^il^ z+NJnaDec%~H}XRzawW_kZ#4NU-eQjw$|qF0{-?kSn(!8DkOT*;n|K4a zDhF7Ua#g)0an=)jf6PvD@aA29Ecj zC?ME2>rNP|xrIlMjD|#k-&B{0F*b(p4LJu+VcPRJ=4Aqvt3lyPfV#v=!Hb%Zjuohk z!^MGhcC#i?nwlPObneDM<^qYjt^x{i5P+>y)xKHU`qX;M$?J@SrBY*J0bB~N1(Q(PnE%u`!iiQg&(8>hY zG-?;VJiWDLJiu7nrvkGsI=sG4b8oVRV{yfCm}JSXHd?fu8(~qFBUu2s&TTbt8dCh! zVxkp6Y1wlWYPF`6;JHpkKH$4%_ecUE=X0uDt%j+wQ7E#jA+WH~dn_$U-noU`=n&Es zD?7u>Wu&c0DPL_u`um)eOAB2t9#OMx%o1@q2aFw9Fup+#OBfpL1Ft~;yX_2eZl8$J z&eD^dqqV*mWU`jR!mE%Fh$nkx>(w3?6h}_^0c?a?TJpkFikg}%dMp9{4+^5yEHI>} zbkRtKlQNd@ib$cT@M~pi$?T?!^Hty7Thmwpe47A_ERcEQrtds=-{ls2e_i-PENw8l zODD597p0Esdy=7e3+}r&aG?g7K+-L^&Ehog_T8Q5{3=UM_cEM`%4WN}47o3a$5JnD zYpYwa_Z7DDzfMIDkpG%hZE~e}Ct%YxP`9=1++fmY@&f09Q4ajU61>N><0wSm7m_3#RL`}RWX(NTt zNuLHmDNx3pn~H9Q-<&Uivjvw^%a+-MxQzgv?M{s^ zzGc}EkVwl!)(t=RY`1-p^X){klW#n-Py0t4XrG{Yx6Inq$+xC*BjYK2 zTZ{E#=Ub*P4+hc8ilcFxT9h}-l@U0s@q>dZOERT78i_;mWPqFLLMJ|U#aNTAlj6d$ z8cpc}wY$OD6n*N5P9rTdSk;W|VpFQ%YiHZ^SzJIZWzpNw*_+cBR9??2f~wY5f9g}u z1@X%`TDHf#*;zV>AU1>J%dngR&u1Q3IlVO#tb{B!Erxa|{ur=4^;%Glu<;B!bWul> ztf$S1&k{_caB>psd+cUC5JgpG9dr^MV9bt?2BA&`) z+-FaDZ|h^z7(qeZy$X&BpzPZ{S{my{_KIhvXUp7c=JGd?Z^>SQ5cX4P12|vi)N^~; z91x?qlmf5h`;8d6+KP<7#PRcMcvDHqy>?$sQoJbxru(8_oa$ZjE$zt;qC-iOrL-Q( zMU;|cJb9Gn4rwEQYbrZYT0=4wPu=6U1~|T2H#;8YmXz^#5xG{=xb^uj4!wK}X4GOT z&4h-gf9zTPsj?>1V!hs9EvBD#-uu+(Nh40T*RSEsbV{!+S4k4HRkhzh8>04_ocGID zAO?H|f!MXC8d5Jlk!GT%i&5hDxS!G3iHTEEu>0h-+y7ItbQ~Jxb8mhfY%!d1xiSD8+7k5Hf1_XCy*V3Jf5D3#YY7Aciwe zHjSn+!+Oxv!!ElzP3o63ph|EBbuk>yx``4VfNMz}-$uf(F4gAfz=xh@8OmO znPnFg)sBY$xP3&(Z5u)(j~Q8kvb- z;wm?UJ_jI!#zxVY79u=Hs#e$YfW77ti1$mxhRT}mMF630e%P0!#w7CfljoycyIcEN zC?Iso)LxZ^{WMeES^(98>ox4@Vl;ENd9Y=VCY^9EC6gqX{T;l1`ZKS?b@*@zILiDA zQKc9Y9DR?zL|n?MvPKkAsGm`r#8KGsC-lVb34}RfQaXU80)H2bK?R&hCzRLj$*z{T z;iaI5(*Z$J;xkP;)rqanL-9US6m&1()2%g zs?$Iq30LLC1u-N)1WZGLrBz)@9~Dir$MjCQX!|#91=6hJs_BxKE{7Ob+2@3Nbs+b@GbwZwc6bdx41MEZGmVARWE_| z67CG?q;UCS;GxATV--RJ1z8%@n8PrTCmTN37{KYWC7R2*)q*I#%jR*vBecA8M`0w9 zz4`7i4P6E`5)JueVZ1n@WI@#Doovq&yEc_+xgLQH=q3KJ)$>}EVl2{^+IiYev#hF{ zt1r2tqX|qX=W<4GPflK(OJ1-8>aPh`p|uY-TYOxtCaUv)&QGbT2y%%jVU zbC|i%FK{L!f^lb;OMEXPlF;-N-55HRyUUSCx8%e$Yz&!%GNbkJsr3L%no;emS`*Py z9OHhbs`;~Vi1BwPMeQquWpnCvRCH$1;tMiP7) zGE-RP@4^|fwgHCXE2R_6SEm^FX17vai}eRMcOjmF@7nl))|HPdc-2<$(D%XwK%iWa zM4tdS3N4q!h;}_82K|*||WQkJtu? zc`q<`ZEQg~u@Y=Q!!xiObJct=LoUnlPxXy877mOYtt%11vlaB67i(_%#J&ago=|v< znvT=kIO8KI1N8+o;Dh>pe|RR0;FwHFkSan#n#n9}_I@|l29JFjZ57$XcVc}C5hLY9 zzgAnajX`rxP~?kmDdP;@Mm2ab)nR9MJ`Dba^C&cBf0BkYW=r19YK5oHkQ`Z=d#cB2 zch)dsFEP9v*`B;Edz`4)>?DVK;MP)1gD2C>6*Qrx^Qk0(g3HcjVIQCg6TMI!NbY`}j4ON4Gfu^=AGv`3}|%I4AN@D4eY&h?B1>Ooru zYoKl}HCyD+mRq4vZdO!(R(j6gM-ONO3jj^vf$xfdw#ASl4;ndjUKv0{7<7t@@dJU! zAzw?mF}098<*Bk?qm3Kkwz%BkwR5;_-%Lf(I~Gi7k&!Xu-OTxY0-e)M3fJ*QapBPTj#(wkie$G;H7wxt$s)BK^43a)HMJrR4>rm4% zIOcS23P$egMMNdt5F!GPJe&_=i@x&W5J%qvF09Fn#h&*nUgo#t_(m|i2o}7;5Ay6l zQ?$IZ>ssv-a)-cRz2K4x%ijI^=_&L%pA1lYTNdzlq?yMh{K(WQNl#5B(QfIxrd{{0 zF$-iKk^ErgJkDAx3OKc$Nd9o=)GI`?`NGh}YaucL>u5R-xxGWcF{)HilalY0T~u0y zjwo89-*{rwqhLajgb-9qhVwSosm%04uG#(abaDT1fVtJ}ny+87NHX$EB?>{=>3u7> z>mF?0o7G@D85tX8(n;PnOQU}ST#xQ^iEX;<_KVRq(1VqPDkAw5TVkM4H!*$X(4H0@ z7Qr4l6jzrGQ!6%{8zdADM$_k~nG_R`Ine76^jh}d?1n=iD}msGBajwW_T@vdUbrs_ zX8c4@W*T8;cK5uO25+FP8Lag0*VxY%!oJeq~nIkm2@!n6Py>$kQn zQp>^llQ2K?l4J$klttm`DTA*n08p(#2pYiMNwfKbr(zn`-&CEbyum?aB5DC z>%rodUMjnJupi$yR~IcTad6?)HnBEJMqfa;5*GATSHnEU5#4SOuQR2h(Q=+Iiguyw zofsPJm4lpLSHS$l7MS|xf#61TzX&vJEtU-th#fgb$X!7gHki|o-A z<>M8X=IyySVL0}U`p{C^1N(Xae7odL)28yiJ;4!2c5}g~|L5{~zMSrDWrRVYN)xzg zrc`1yDjP)_2_^r7inR-mFl46Fs@87i>N~M){z%$1)*T%iQlhZs0!jhzYv1M@6zz?WeDkmC}SB*TM1&ONbQqNj?*e1g|tO)4{ zG&Kb-94KkttSphymvQz8l1@cJA?Kmle*6qxQdzu$XG{s-s!fHpg|h@D`^DLWlK61C z6|Ho7XxFP1-pH4_GE``O;il(1-tsA;PnrZ?QPCz%4>Lu8m=kAji0X=xIgJkOp&X{z z8S^JJ!pEA;NYIIH@gCZygu5>9$U+6=*X%DbF0xAVToyOummzdsmCnDt;HJr1Px?rk z#ZOCWU8Kk5a5yT=v#a{*V@i4gw`=G!xoW>rcz`}49K}+G^k=yL(r&t7r`FEkA{hJi z^4kC&>ZVKF7D)oil4$5HES*Kcs|Tf&_;^^6UfzN~3H0JzaG|b4|F{CW$v*gO1ua*B z6>65K<0O99qS3!n1%HEYJ<3kHf>3U*S@TMU%?sYp(qlM1dx_U;KIwsPwDGMV{uGwM z$l!)Q`Ru$_E!EZ6a53o2uDVNs!X2>7<&;JH=K1QkQc*Y&q`c@&-$bT5l34>o7;}S# zu*dmu5@XDv`q>EcvW}9$Y=w-RE`hV}F@p;Z8kdpTJND& zDCD&4bIxg33xiPT@U4GdNHE|T91@Dm`^4$ zHRwAeb-;H}Ci!hI5h+}|JHzM5Mhy@1QcrKc)tV|s9()f*J=$?F<;D%HS5b&Yk_k-< zPEvUkVBd}{NvtOqFurq==W5o=wmnP^4}N7T$zGTp_UEiKohpLj^JDaB4~SxJxZy3@ zvm=@h5{=aip+@ryLX5Dgik!IgF+GUV6(LAkWuZ$~Y5z^JEM`oly%MdFjd($KITj{F zbhlecuJO@_BTb3a9p-7%B}Rwx(1D}ZUbw8(a?&t8GE(;f3N0P%E<0@^(E z^piV5L(fdf{F5^K_;QCjEjkbUIE)8xkM3{jw;zh<0y3w$TAu7I4jm@wG?uBBJ0cu` z9hQkrC*f#L<2B2NmjqfxuZ0*C;h}akw>9&_2z{&{PU^HsxzDBpC-F4w*k+GhVCTw4 zGGixREccO7rmjO_EcEBQXbv1ty>&>LH}*wqxsm$O+r zz0ytf2~hB^Wq0c)-R5Z^VHqN8dIh-HP$=TwedW0)GR82E^V7J6O|o|hgwVyt>YCg5 z`s3o&ptQm+P?^wfF^W@I_r4#>@O>;mB7aG zOiL)p2&Ia`*=9sR`Ylx>^&*ekSPW>hS;Y@8G*OBV>`iu_aqjd% z(lq9+$29WuElZ?$kaXrdG`V(iAzxBLX!kU6sD@qfk%$6LZAa6~xpA*iy+E*V;nZJZ zKz_-?v7sybYlgHA1?IujI&n@Z;R{P)TnrL2)Xnbr; zwal@%eArC&D*t8e<+MZQs_obsb}3I(zbs4E_VZQPVWoSmj?w|)jLc%l=sh-Ei( z4w$4@5k&hePknRL2@ZF5P}eio5<)x%e~C_JF5A7`Y9`hCm>Z$&4nDbt@CN5cEJqW{ zwP<_Dp5(QVH%wNfFH?uKWPoC-L@8R*Yl~Ks;4gjV8OD9|tZf>Io92HB5q{>hM0?vf zmH~yq&nBWeo;(9nJSSdl06MVJ(S7?z^%$eeX11S&+zs;ob zm~_{karqHsS`eJsw2i# z1FU<|X^gpvrkJQUzj4{BRDzyIbiHMb%#4JfHVMnm#VnT!V5IouCf{U)poGlKjBY@| z_}8mSAl!!*y;R4KcZqY;Mp&PpAGpHg*zeo8v%UI$P;FJvOR`7MD7gC0+)hswA5 zA&RoOvxaAc04pyQcDQ8(es30cEY|`>_taX57HPoXuBqzIKLla=1O}xD z7;BVN!)H-NO=ob9+S-akMoB++@^Xuyqi)q&x)909l8@qaPwu47PbQoyGkJc?ai;K< z7vhcyZ_dKSro#W=uaM;^3dbD5swh1cHEVN}Pm|L($Q$3YU$)*;EeDxzFDcl9=O)rQ z2rv!>uQX2G{FG=+>%(pcUYK#+5C6d|4)Y)s(6ZpeL-Jrz_xKU2D=F49fpIY4=PnfX^6 zHU&*2GaWX5`l$|e45`(^q~|#7VWsTIpM>l$U0uI~@=))3D%dFhlgG{ixqYPu-?WYt z^J-^LpX_SOz=agLM-)h5HZ{&QOdvi!dn| zK~{VQF9oFVOn^@InxT^T=&CGrY)UHOwtx7r1atX3S27-A`o3`%zkY@~u`9KNp>$^S z{2i}+Qr(H*u^WDk79>me{PhC_3q$xSkbJQSaVy?j>1sk+ZmPK^sSuNn4V@)LhM&b; z6tBu2mS-BMC4YKR3CKaA9;H{WdRQrT1-JTPkfp92;#nxYc`)2^<(fVOCvl{(?v^DbnXthW*$jOp?AD5 zTY`pMInm)D{ezfvt)At~*zW~FxREi`)?A`oL~tg+$Cy}Xyv3?*K1yY3Nd`guAY4b9}3ZDn;-Qa zv&Zlo88R4lUHvx97M->8WJRn8DWl^Rml(^0OX%FL?rFKo9XGBEi5(WxuO?zOZogF}QBuQHRl(j>a2te1&SlsNHC;H861jf6J|D z_8_vEv6DW?)wk;>-FVm(GOCJ%wKK-e&CcSzLP*6@)p%}Mlhj&wI(07hfO7~w*F1oG z|K6!-+SGDLB0sU?hxh3D?NrZRo2Oxw*LC84N+NOokautSDX2?hqO-`OH|rjP(V8CX zo}?jr-^=3Vv68pwTK2F+Ia$IpJzH-2e&o*fEz&5JvfynWI9Id$x%J(VJG!-={AxZ6 zFQwsB7)}}Y8fe&QQEJ;aa7}9Vaz{E7j=s0_2MC%e#hpm+BwDsLK&-W_O{VSOcG@N0 z)8U{ZUh4I434e!M0>sRd0^Ysm<)zYzJ+zk!V;uXBY!aC(*kh&0lhRb=x$=w-$L0W5 zso!t%vKPfUBe8d53|bXM^++4PE1DOWOLp%zo8Cso&Czh*isZ?esqTvsLQ&@eK+l^j zwXKgD-X-rexh(IU8x=b89mC->?Go2i=gg$9ZycVb{YL> z?c7c&Gn(!CV)dydR}a+)`1q&;cs2TlHNChB}Xq0^rsb*F?5#m*p(By zT?xg@Q`Vs&yKGH`oVM+>lHGQyRxYPYs$V=xowvWHwcMz$&n8b1C1(9@;K@6o)UbA$ z>PndVC1y>1Rj=weV^JH-yXvgH)5>dpKLstZE)#h*dA*eoy-U;@R0huHvS%zI^>=+4 z)!5{Gj9tAz#lUV7nyB(Tz0y(P*3`CkpPBIanA^uKxIjZjtr>T0x9QqB9VjY)N&KcF z!wb!A*DNl2EgXG^>KR<-et7GSy;kima<=QTlC)MUPG()y@JsmYrTI+yKCanx);;=| zDeSR$$}G%96=9n4e$7Xqo7t?pnhu|xjQJn2NHW=|<9`#2{>aq-RmAx}gGGN-oBx9U z(F0-Wf50LJAYb&4SoAl24fsd@lad#gHV)Qy_<#FG|9D0J z0)75s>;4n`2Rz+>g8%;Ox&BwJ2zcs$3E4pQ?ms$3%=G^P|LA~d@_!bxjerm`z{mn% z1Y8-q=v(Mo0&E?v9SjZhEbL5;O&kDLj+T0ccJ`*mRsaKQ3kzMlKU$x@p_RiwVDjI4 z{9WBf*Ur$&!qCV8@K^MA5(q*8y={AQfQ^Nt{eK541MDq;ZZ^Qp(9RlQZDj~>aJB|G znAjN_0*tI3?SM^mG6dM0x&Z7Aoq%|^;ol821ykDSm(e zQ1uo9y51r{*;@=C4)_j`01Dqy|1!R10dfF&p!BT>w7!-9(!SLIdUm?{=7tV`wf^6o z@Ylw_3jV&Bze@f}>jLxu`Tzp}u$2H~fC<19UmRsd^&4Zs#)2e1b?02~2M z0B3*;z!l*3-w5G<-;)2_Hw^U5|GKlG)tT9Vpdk=h{Ijqz{?RV~&p!-6()$k{^{4*7 z*Q~(YpFATQ5Z4ASfAaq`2dww+eg5SCZnyq`Uc{Y!2MVlnDN=^S^wVW&o;2`pFAt$-`D!rG5#Fyk61~^ z04(^|1`AOC{&!>l-GF~@|LG(qCZ@kS>(82z4tTIX7X-}zsq@!1@K}H1zdGkn$NsCF z8JK5eX8|BfbQprikvDjEaOn5SoF_zy@L69XIT|0R-k z-l(XOG0|uf4(7bXw~Mys*VfiH$G3X{mb`_#M$inlw1tGP0(Eh5@$lI6utBBz(#3Un z!d3KAI8^Rt9GOO9Egwr!Mjw{KnF30JbEb)*nyTXZNe?=2wcG+ki4;wUl9JvyCzNWq zM{BJgbr?oxe_Izkq*)boSp}qAqx}rKJp(&L0fZh>6kr@vkVxgD6mgL)y#|8FnZr0d z-jAE3vttHc|M`%Pu?D=DJ;m3jQcDs9QC;2Vgjc2+M8TJq&)7MK9hs1dsvFzj0GbY5 z&F>5`^@BdHrpX4x=0kaTZQ|NHZOwO*R)+$FMkNjoM2X3{y6GM?OyGr;q#(<;3?YCuGi;iY4zyn`(OpdvK1=DA?n^lMf$lWoTDjdqOxC zA62>r8d4VgMuZPZjeH?_H?fhA+t=br}f> z?WJIS-c^TPn2Az+50xicQ6JJTGMC=;r+5&`Ll}EsruB98balaTgU>`q@U{Lk51Yf2pLCq;>}|l)(pTS?df(duVY)3Ybj;0nUdj5u>NtUM zq<=d9IC((qw$Ou&YEAJed$=T@@-BLt%D|@H0wbN|b63w9(3V~NhBGZ-t8NUh2n}DzhEiF@Iy$=|19@<)hI~(F z@5!sg^~iyQ)a;gcw}u#N1zG>F0|x*YuXqo} zzbG|8zLE3}yvq>y(tc>5d;4uk5_&^r2;af`GKRbnTnP<)Ah;wUeUMsRVUqyEAUSU+ zF3w|Ku%wu0!7bO3cY^BhH9XL^;SXTY3k=BrWM;dLiI#<*;e9m~-Vv6C?}5SmpWqD` zF#QQ`fkFMB-~|{syi0BUN?Dm-=^uwU`i=K1A^3bs_IV28!JGFgoAa9oC&R}|IoB4w z6!83#b-YD!;2I#eT?l6&uP`4g7TyFdd}Cb*8enC>Ux8hdoG{I>i{1pwBL@I5iIw+2 z9jZ3oVdzGnY}Nym%?Or9uK};dWqn9ph0tm;2DBDu)Sh#XsL8ohS7kIi zL1Lk@=vbU%7)0$9Wb{p<>A=F{R?-N*+ua(L8-rkTa{~#Z1#_=pmuy{pNnR0qqOeUs zl}ip8S*Lm`)Vl!=+-7gJ!}j!c(6b6ucJiGWm?cl8sRx;J+DTw-!OJ&Zr(jidogbJj z`$@RT+fqkR&dkQFbL$wQJ-#!;O=K z3|~W9pD@inLJt!C;HdO92h`(gdN=!(?BuK?5jQ-@PQNl1*H~_TG95-KpMMf9X0A_l zNU*Lwv&)6C?Ghx>Dh1B4D6X+{`s1;JB;1^kx^-qGk;2%y_nV;-)?u`$JerU{Bti>V zdDu>7Kl9Agb5jH&F&!Zg92z5un?~&c^!AvjmbeGB$lN6JX!tfsDJL@2AZZA}pXM`T zGO?=bYmrkEB-#1RJHYu(TL}Hegh*Ibi_L!grb+`1c@S_)bz(v)6svlUTi*+Qvp1Do z+-cW}R>43)k4ZjA7}`@R^JI^JMDsn$xHuzuQ71+ee29n@)(R82cQovy#~Tn0DB& zSA6?sIBwD(AGNh7GfJ}-*(CGbaUb}#?33i=OI<##z*zxBr)6fGVH^vep#lT#K{yK? zwqpg;KED(=n6nQlQHowMeI}Aw_XgW29*(e~JoPcxBul!7>HaWp>lo}mOSN}|*B2?p zBB^OYF8hk?G;Y)h^BMiCn{@0RIhNVWf!2?$r)OgY(nC@*>d7D8NYGB&P23!!arrBi zR*ZXw-UBGc5BdR+?U{H{ui0?|HnTr81p*+XYL~8q3S7=ZzByH6L_-Ux@7@f-P85}? zeReK5$`BAxfF@S58hiFDhNILcQ8n9K_HxIWQ&0+oyCF|n%av!s$QFSTQdP6X!$!4a zOwjr?;Iccj@tBx-DJlnZ194Q5)idlpMv9VsK^gxnE&R>FG;bbZwW)tD+<#b9wM*pZ zy74c)t4$U8i%J9wl&FFStW_cmShC2Vb0uPc@h8iZZ2cGRoG=nr> z3c`E5&o7v;KcC1eq_Ox{Vz?WpE5x%}MW$*>alnh&<*~~O`0fP5XK)S(@h-9(6Tk9V zVFm5hZ4zt0NF9u8d>mWQ1{1B?#dnNPA%sL8k(PMdT*6Oi!1wLXi50XR$K!2I{%NX* z0D?8hROz9`dV`6dWkpnQZbV;R$}kgBK7hwIN!e(?(OSUt5>v4R+%N<_83dT@DYG_OrYBP85yciC_iLB zkDI5+l(I))lAdKiYo};yOo%QYe2Fxoiitw`RFv4yI-e(^@@t7~-eXDY&If0bg_j^2 zp66R+wm#R+5c6~PCuR_G6fBB`}^Kfd@IO~g&FiI{j|^~MJFkSF(syCk%f3AnmGG4 zgOpHCb2=low#Np$DDnu1x3yNMeUek7gSzGWeazuSO=O!TESSc2&-uINOrFIfgK$!xd%rO zuP%7HTyr3@zPOdqu5t7QXcH61KDlDfW}l|1RZell8%}`L!cMXzpM=qqKY(50@_8U7 z)_ zj}T($zL6d7=Mil3d}FoR#K2zcft2oWs1kC_FwW8Po-x0e-43lqg#Aj??p=1tZ3eJb z4|-`xC1$Us*FHL|NFm`zr7jrFXffqGAg3LKnJsZ*o6_oCOqCLz68AgmY`N`K9|?a( zq1NE%^HB(zQ&;A8%543-z=U%BC(zMO#ix z{fuZog^b*T$!tLVbqYc14G!wy?auI3ak1gAmR@2vLiZXvOwQ$xH%4CSk8;8xq3QkJ zNwPEoZDsQLv?RforfDRTv-*&uT6XcTO5Bx{Iar7R!$+$Qz^6k&#(h1D88l|bC-jV( zR~DedoT7A^t8^*x3-o_#3M7)07DDkdvV@@NAac16Y?QIz2!(k z5uPUWEZ4yrCRjQ~Z3@ocqppWxeQL!+j&fK$O!$~lyb~t+0si?kHyc^>*N~^YD*;{w zh@X~?#HbNU!me3JM$P3B)m^`Q^;lEtCQnZ)WMv>|p^$gXbA{YqZQ|!h`NWIcikvg!Si%lM zlXH8$Uvz6CKE<<`xbQaLpvR~9JnY**!`Whs_hmj|@smwm!{$$@P%Y^r?q5_fICHcw zdG4IslbBylWMU-5+Yf7<{Zz!$%L|tS{o*d?P^-p5&$|f0{fr|sMkS&WjkhQ~;JM)Hso%*NiCB3mElN-b+uF`VaVwJW}i|Fd~V>9fJw?!@6mL* z25`(3MvLh<<0`3DeM|NWhb$BK!$~;md4FmlREF%p<|$j?5Jl72J3u)Ej-KwWp^|#J zQZs~fq}3NCge+w7IyuRUE~T6EQgoLZ{=6|MH`)*`@p^Dr(7LJUx^6glj=+0Ldy?;{ z(fcZ)Hh_CLS=zx%1vvA`&ATC_JEh?5b{rmhc4$vNcVV<9pY`J8ny?z0nW3kGATEX{ zSbrdwDPuEHX)londs6L)RB*&K&U%fDTYswwh-SN&r%Ay3g^&hwkbujr|lOoSrG1 z?y#aiuLt`EDG9*W20-4vn=48Z58zt1g^jLzb{#+Lm~YVFP;zJW{OU-=Ormy@DK4pj zf8C|cu3Y+d#ka?{SSC)0H;9new^ZG;$%KK_|-wUsEM4QZ^Jn3 z3deL}dyt?M57)s;J=oH);6F4!PeW1MFYoziP!`9`pA~?P9D84CckY>C``)l>kWoig z+HJtk;{5hPSQ{Wd^z1N$mVgLy!J~w~pumg5{#o5aWa*QH5Zg0>6?wghck9^6*>SpVOm_(16FPYN^<(el&c0BjV1#As^ka6lK zxA}ME7T3pBzfCnb6K56zqr>PwGOn?2ji(iI(xM+csVhe zaU;yH*_^!bg$%Z2118xBBw&Ub78gpqBOm?Wf*Lw=wYX$3vU%pxteUyLNSmD(S-4F1H!}Z0kXNQo+<|fBBHSnfEmwYL1apo7f#P}~|*xR49KRtg!y=V>K7z~w7msnYT zN(_dnZ-kN)!$pR~DNB#qRJ&g{*NuqV;sBczx70SYjq!}y*2tMGc)u-jFSBe7@cA`x2{k`4Pu& zmpps5J};|)jwST0NNPFWIu!9&E}U~!fjIT(-MjZ05odK!S2V$o3jdNa*uGuxb-IQ! zZE2TqKC_^>x#g$FshvaasjtyRGXl)Wp|6;Q}*#I1q^cjvdE2H#@`f^9aw2Ljne|T`-^Go6esQaik z!x}Eexv`~ubcmhHKIY# z*`Z(+dFXnuj$}r-|CLNZA(Dw!&7G?(%*YOI&L2K4uQ52BW=eQlj<+xm z#)5Po?PY{wfKy|?wPB^&GrZ&Y176F|WSjMm;Xz{8 znTu#|kETRDze|Z*G*pnty>BMJbYWgmVH2D7Y@iRhuoh5*u;MU?DN#y@W>yoVwIbsc zUXWa>-F9ZVTYP;>e5=K>+Z4l88W&!F4IVC!WSvhMfntFkf^If{XP%hnfwlut`ZS>L zc}2ayoBTveKtgIfRx7ziX~sfc*52M)i3XpIB~@a>$%YfFMnclpI((vfzpltj`9%_G zsBa6f{_b$!Apk2MHsQLwv~t_gn~?Kfe#tl_N8;}?EgmqsC)8x zs=q9*@uhIUvLhc#$k2q^H>cjFr>svC&ZlPs+d~a;YqO{fdNQ6HNbbqX3%eDLZ0n6~ zng*-$8g0t?&TER`H$lE_YP+yYt)TjM&MSbcswTq*35z6rK}ERyt-??Qez z+a>vR9_hi#tgI4ky)X=AHot%cTj9ygf}y)O*$Pt8@+4PWmx-;}s(D1&QKT_fFmhuT zWeCN*s};j2bOm+$b+0yPT?N6Z$pnS|HxJn%mF}j3PSCE! z(T$)eba_Z{9X$kltARb*ciA1SW`plw&{0q_+V1oG<$5^~HE1VuezqgQ0idChpbkw4 zM9!6a-|06N^iW|HRi6*^A}!AGCdfU3j{+ST(Yx!}@kn2MaXTqu&BG3ONlh-2kH?JK zk->qThcOiM?k?JM%LVkjQk6zegATnA#F0m5eTaGz%!;e^!NU8;z5KRz>Kr3F3FY9o~1K;se zfQ^vdLyAEQOEKE%&=QAvBmwIdVr0R9!q&({Ojiko-`U6?O9Qp*%-vKeR2?Z2F8Xa1 z<@?;i{YJXw^QsvOVu7L}RADzRC7p}QYd*onxg7p^#r5~SmkJH8ulrO*IeQ&G{01`) zbAgPrsc6*uwX`BcCIB=m1P467yOfMxPH;?U_wSW><<_iVA2m5I4m-zV#rXEq(%mJJ z!w=*eoKZQj$!zVGOUGsF$z>rl6i6&cj&EE$1K;kxA%IIczKC#txWYFW2D!9wRf*N| zljy3SAXV4YXD3whh(ERBZeFL!&KTQ->YsyiqOD38ZN|W_MN^n-cu>=7h3P8vJ~70d zA)!xyuS{l7tbG2p5w%bPXh{Bc`D%aR(PKG6RVY1VxYfi(4=ImRknI&F{gjIJ-EA+S zX%2~^q4jlP(|Rv^8-u4N5bgRDdoTsplr%WPmhN>!`%B!`gd|6d&HM`PFZ_LTgf0ck zz+lrAf>WOUojs+utC|)7T}>UkGG_hs@M*?4B|;twYGdX&xol&(^S zvk_5`%6Az#rvBtv9ZF9RaDNcK{qvay`!^ii|1|mOe*NAVJ)LPKzIXX+K}gRQ zU4}MGnVoCs+`MOp`JH|FGJB#S?C#)U+q)(;$lq(un$U!j>-&5d|E}fB^(PLN-(2&8 zW=4~O&#V8EDTmLq+>7Gd7GJ-+^o?RW`@S4kd`itvZz_!Mk$YV2cHTc<+!&&-kGxlD;X??b+>^E1$b~!(^>ZiTM<`k*;rQFaxeNr+fcW$+y`t|c+ zJwwkP8+oXP`|c;ZJ>N~)yZP;rY#~E7ChfR8rc>hrvvPGCJ?dpjrSl1euJ;&Hzp)-Q$@<|9Lp8euiI+wtJl}2A)5DDg5X(&D{zSMJjjr zeSfCzQ~Jl|YB2wpd+%Y#`V8M(Dr3_C|J$$kG%UQK$Em3w-r0_9jBB>Sf9Rf}$wwP) zZn^zGas4OOlHXnOm`c%Lxbjdgkq`Js-8Y z`o#TfdYzaxYLfrjq^%2nnN&El_i+DQtkVW4%81d*^>A`9)%xQJHVl*-+=k`Vu*YSDRda)BURtt`;*Kx&K@HX=}TM z*FT{9eaj7f`N}&E9O+@~oich@X!d!YH}7X%)u3hmvF#ch$o9vdD^3@2uX?s$Y4f41 zh5-RTCM544IeEY3RSy`Ng&(4lUY?oSyr1LQ?ehJ1WqWnEWU(7XtVv@tWqlmFd2sJD z-3H!Gd48qPc>SH<1Mj}s_GM<%hXc0F9@N>E=g@%XWp34I-|?SmN8?8I@00YY`f1PZ zA0ob2@E;v}@UL1ApWX~=vnJ$w{~_IP-mXUSq* ze?78JXxopO?%T5JPk-}mHS?kE#jh1U&CmAR67%Ct1O1*@!+L+pG~nvTPXP;qOSHPu zx#FR)Z~67@50sr&$8Kyzs&~YjV7MF#qN{-20H-cYKA##|}<#v#fmEBcevJf}3YQJ5zJO z-c8Xr`o67JFVDz;w#SBFSlF+zeYUpVm2xKAv;}{UC^zL$`|1T+4_s&Z@b3P|2jyp_ zydFDf(VZjrkKS2-wO3Q0j(_~KIh$^M$zF$_{;{ytq-qtzQa{!1UiQyCIkLjSLXSiH(F(lsB$|0fSZ1s&UGHpDA%R0g|bC1^Kz7~-KODS`_T@o4UO{u z^Eqf=zSqm=^toY9U47jzc-ewlZ=bJS`^%GE4~mZQx_Wi^bL-9y-8%R!JvrNUU_p_Y zOJbj&dOllUbjkkdp zd;R+QiVT~^HomqnHDAQkg17Rwe^_sarMYEW$)Ix)WLzKt`Jd>)oQ zJ+WEd)OM9>TgqHLbuZi_x&Al*q$6j8gSYQLInXmPrNbJ1;I9i??H)FK_Ous^XVl(z zDJgk%JO7)HLx=p);BiDIYk|Uj>f!SD_cd?lY!lWe|JiyUUhnQPq(#X~4IFmH`;!Vmv8;y|n!HKyiHGlaw$bD|D)`f=5dcQpNvGtGb zQ_4Cr?zy{gLAGTXe~I;Yw*Knar9sB1W!DU~JLfu-|}x-h%vwHkrOwoOG#_N}jnQ|dE^YKE1SADkL2~Yi6wL^oXYZ-?Qia1=gdj8eJM}|iG z@A19n8; zVjT}(W(XXYFX+b?w-R}*QEt&PZu|ryxPwH&+&%WQSTdiU-G{>;=}xvUY*@XmzbRWfZz1V^WUuf zrBKhZ=7poHyT9$Uv&y?ZRVo)Nl5<2%ouJ@*JqD~9X>+9dy0uv{w#tXP*46h%^!~kx zUuSHzE(d&%FI~i(!tT1>Fz7-hIwd%=+of@Jo#+ z5A7c?y3){>W7g*1)oJ>M;0s?zp9rgS=5*<;mFo`7KV$IXdHveV9&m2?_@)=;*6P;# zA6qx~>2D7IWr{73F!}Ns+=YlU2u4O9vsAi^G1#0Ep*I;~}SxNfjqU&~ST{?S5g_ZTodoRAV zzxlk>a&NompIWha-Ku}ZmTONn5E_8wly1Y z^W(b#SM#)O{$SDQ*t6%RH<)$F`u_Z`sN+jYP49YmRPwb&MZEI8IJ@?BO5vR?+)s6G zP_=dSiG5}dt3Lf}y?itOdAcCC_rccw!(Id&`)V3~@k`A45&^-+xtGg!{!&j<^I5r- zxrbdXb8F`Ou|-n4CL8;dI8)}++8bLRttqS5&NXH$^>x;u8iVRSZaQa0?Yy7AcHesR zbf4PpOFOPLc&DyC(DbRk=;urBS34D2+;``v)~z?({%caP1t-e;)C}pgV_?ABj+M3) zbstmydswf>5&N3|Gv?`@heO}^%{=baIknNpTiKf>r2IL@d~k4XeSuY-J;Sb@{l^yE z&zd=Fq1bbql0Wa>Si0MQ#=SZQmrm*4z0Ru2xwK=ZR?k1>MOU}z*mq+W9?Y=r&7rUj zp-a62iU#K1vw7t3iZlI>yj!(F-}&zzO*@`m+BVbRlt0Qm3miK^pJD6ue)*!NX{{NS zc0HTw?^X0nT@T~rqNA4PygNMggMWdQmyi11C_maeSK{bTnh6bVKYdZCOuN)&170l; zTV;>YG;fx>)5M|W<2J58UiQGCpfRfA3y^oxvo)vr@I|4&tO?%uv*<-5k8$FF*jwPxVj zp_^+?tFWv_oUZq<%mYiC%NK1h=+?V@U$>5_w0+FeQ!zI$_PSI5?B;>?k1O|Ai#+sq z<3d-aWgk%I;l%fvTyqcEZ+=cLKL7CM_akb$y)@0c9A4PF`rog9FM0dN#Vm*Zs#xRu z$a4Eymy=&Oxqw5oITvVHW$$`|q# zU({J!ywJ|e|D?>Re870nZ+xe5lmF^>aj#d!Wd(aTnt7(*+VJRH5>ncD69gZ=7%J zi)Ob*_3CO0&Q@&aJTJd;3yYp8mT_v)E(z10_J8fWq{otqtq)Y0`8EIVyF-uVSY3K= zu7}CBaui+swPWA2rLtU@Q)}t4`L#y`6wUw7tPfwiE)Sh}|4FrgDAU_#U#o9@SaYy< znQ`rM`L56Nd#kqry?YgV5UD>k{vyNIw_G!;)84v!%6WaUbgr@X zq_4MQ-ISZrfq%RmX74ewL%G`v{Cj&g-n{;Ls{ub=xhD>pSStP(?uSxY~RuSm&sH6Yz_RrxLL~YH!J~h_ZOOuo*oo@rp6e1 zj{uK0HSb=ot@jzxeE*`uzTv(PUR*4G`(dfrBQX*C8x?QYB=gKlYg3`b2i?>B`8-1?! z81}kbmjmrP<&Tu6 zp23^9bSU*fvoydn=={Z%e;mtr`?#0Iy0F;f;pOW^p6!=;TgE>;_H3z}WB0a3ljbjP z8uN8|{K(+%FF7#cdg0i{;S*L&=#Vqd=B~P`jUF7?xQYY?T zZ1cHf{I?Us3tf&|x7d4UC$rb|NhJr4{5or5vB~YOKWW=*+q%_}1I;eyhC})Oxw=PUhh~lD@1h znr(ZahgXw!?=sg;o$cq*VZ(Gwz0h1!x28UNq&ao}kk^^Sr}@j2JH6_;{#KrPSK1Wn z-=t^(%a+nT{0^EuhgY|pZ#{1Ko^?+`i)O6o-}Zs$l2H@x&#T#_P1%@~_-adU{5|(V zvtwsUXAK*@tjV;Ne@_@2;y4m^;X~7c17?`d$8XIzakuZHXVXe|tvRmuhK@IOJvp;< z(bgR;e+f+5UdXfmtw-iIXA>&D9+Y*z{dwE`-99um;CTGj-~-lS^UIA{esEihrnw`k zT+o`_y%V>+Tl#KtlM^EYO7<%5QQP})Gp~)o0FJo0k0Cjtm(4-aN#>X zrpm#HV)M>vz@d zHoASl*b4<0R&Te--Yxl*wn*>6Q&(4-Uvtgx9`UF4Zp<;yQfl@5@4h3dwoKWSdwGdm z6F$w{k?mIXHN~rK$(P~1vXrCR|tzM;{N&Ti2Rv`x%pR~ z6JfZouau)}-2tgF9Y%MUKlzsnL;tQ}>*>|xTv(hFwtY+QPKUBz9h>z|-0X)NvklNx8|>a@*v)cD%}@Dcm=U!6 z*v^ozEq=K*`tZ8~7cI{&WZ&x8RkHb-Os&6P?pHlzOsi`(lDB<{`OstW$y52O-O2nY zE_`fk)6oe_H}ORk=SqWj+Mnr~(Op?x|IDlp*gjU1&CvR28R^PV=f-;{vz z)AwDjJa<6ro6qlb@)#FW`ANZ(y>}EF@qX3Q&$BWg%=_fo*XFTrtuwpkD7~rAs<&N| zJoBbLGXFNLWoV0o3FcW9%(ZuJO{x5BZRW(V4cY-&H`r>;kFHd1)vSpp9y-RaY@X$C zl|8*)RCrY)d){3irg+*uWjx$5)xT_+*g=JgW;*=f%ZF^ka%Frob;{Y8-^(Oz8c^zh z=ZO!e3$N*xckQfYZmX=Bn(Qx`oYODrOmy*MU6bBM?JMLRx_tE`OV#OKex=%-UGum? zLTcaezLB^0T&g*JUD-W{-gX^4#yYA_%7$-w-jy#kd`4DBnG0LKt-rqVWcbqu~$GyVAcam-AR$27RW+i1m z`>|Ei+Ams`d354h^Q40n2mZQd?$Twiepsznd{e(?soCt__YrSeo$NEB+qgf@U;b-o zt_p*u-?uiYoo`Fe@$>z^+NYcyKXlH-eCBThW`9aqSR>_qwJeLa?XMi2w_xs}^UoQt zd-Xgx{9?y}cUJZLwBCDLpx=_V?=G}2v!lki7$ z3$h2_+o2isD8t$^`2sf;TKjmz_)ozj8fQJ3eNykLIY;07wzPVk3n2@e?fO2}+}@}C ztP>%B&P^V+?~jvvy7oR4^G`#aZri+9xo@sXbUTw=e*EIA{`L1>T({}k%D=-lZcFs+ zn^0!y%YSN3MRlIVJVM?6za~-dwL~_b#h;dtrC$xv?kBGY+)9zk1e|vmsUb&6(6mqdD7k zw&hFUY3-yIk6%Bmo7&dUr@wJS#@zW{^%{6(TInif{cFs6TC`-2M=^)C1}u8MXI!xl zq5E$IZ}z#iWn`hI%i_$#Oaa}uHk?ty(#dV)q2x{lhMq6_>%;fi7QEbBd(A)3t+Q7~ zjvO3v^HcoeW!K*Z)tmdYd-Xg?dn*mvf3sFkZJ&Ur$3GRXT}N|$eV!`k{4PIVH>N_B z{~Q@PA|b=$`O)*;{O|0@FrZSzu0sd&*gizWeB0Ei!c5&OEuwZ)9j zZTB7*x!kE&(yo_fLQ8aRo_+F%Y#H0M`gQgCp|4xcd*MG}PQ4e}S*9}|jwWaGTXE%e z-jOfNZnpJ}uk_qqwX^-JcIk;x9RpJO_bR!}H*?^nDo5uI`?95UyN7ve)>(Y4-PMt+ zi##p(!DzZRJ$XR(>DuPeiC1S=9{bRe)c#GbEbYg5MYMUDor-;4QaPmYtJQQp$(7D$?$Hp}4w5|2Z<=Z+2u@p^q7ZU*x^H z>A}?*rOJ&ebaTX{xb9&L^{bZ+_LZ$%&e!r@dR*vES9&A$L0Y zWjS-S!|R01(`Pl?KPz*K0h2aHRxn&XajWXxXYCrp>o6lb}k`^`Z)yVi) zuQ$mfZR7umi+FdTN{t`YvfQ2?d^zKf@4r^iubzLu{_^T=L#BRP>Q?j8lDsog!um}* zkfZ3p3;m}bIr3~^V~1{4r}uU1oled9Wz$EW6&FKBtSFl@#k==!N1hygJ9na6>;rwp z_2mX_GM=th`0?w#qpRFrQDAY6HyEa+%vdHWa_iG-S zI%L_3oojryJ$9>>*Q-nT5%Y_`<8rmCdN-nB>4nXQ*z;sfSsRlucF5j{KfVt+@I2Fa zk6mVMeaE%@J@<_%R?ol2^(cL}sLfj)kv*z8GHo81@79^Bo9pH8_u6OHxueq`k9s+F zT*5m2&J&~B7oG5?;Ool6?B|}=@%_(}w~m1WueZ5M>O|jHFMt2fpMQA{{rlDMWg64>3UhjO&T?t~ zlo>0wJQ+1~h403zpB9aux~%r_z*)P!o7uiL-E^gN4sAm5mdl^C8ntrbs;V!G*=iki z|4-X$eZNh*bK_Z~oKGe+pS0=m-OShhj$Ny_BwvSR9fr=(O{#CY_+VlCq+xZ8bqlY_ zIQ-n0*QLG{T##{NWm}f8KDH5mTwGUZ>*0i>ALn~)ndhZ1u~E}?e8e=%kzE&8Csxa4 zp0n}Mq0cRPyxm{4+o0nYA9tAC@K&j6eTuHuzPUc`cT>*iPnwnbobB?*XcKC73E4Vp7{!jXw_SH|2OHQLjV-LQLKcwe_Yx9i_L z;a0F>+_A=Uw+8E{|LExBsQL7La*Zi72iNP@@NEBIW>qU#vFXCUuRJO1F=W(*H}$S) zM(pk1IU!Gv#nV3qZa;Ip(wB!R!y`9Xdd6Qku&>hSB_&?W@_!s%^MzyW=YiWTa~pK_ zytrdmuJOf2uYAAj?^3Y^UREoZy8qL@w{6ZX^B&%<$<3P!?1#!U7}D`$qG?;P$XP`e zuGw{OUB8CNsMTg&gn%S+=i2lziINsD= zo-^aEZ$W#9lomb;fG zG+vat`oVu5-kY-dRI!s?df47}JhLKenE`&?kG1vfGs94?p80H*jT@{vN~|n7u-t~{ z9w%}g4~;r-|I+4J@8W*^SzMD6n6Y+XpAQvseVf$0@VMW0l+9JT)0FCaMpqou^J4T` z>qFnfU0ID0H%7Dz^N#O#GHZ)7Unjk(&~aEkM?YPGKZ2857Qb96ZpqyLjMiJm`#mX8 z&Zl*QTX!Z!jj4R=_MO6)FU7>v`_|^l>j~~Zdi5LGve~tK;gd)Ia-)*IUjCZbCapVE z%Jv>wKgSWqqS#s-)$W;Bu%`$(A(P2r@%iSN3>sD_fp{8+1c89 z-O9CW=lOeY#*XhiG)|int$f_4 z{echnUREo+X!@5KXUiPgePO_r`Kv=J@9sF}x0ErRa~;+0Uh(zYZ!5j8jwu`I_a!Ay z>Q>K#vGJK__o(tb=(ou^o<81s?9unUMN@oVrTUiEmwbKe(5q7g3&v(Vvu@X!)l)4u zvTn>ZqyGD(YCrPU8}(z*kRL6|Yd2+?W!YKt+Dyw$&G*v3E=bBRoMbl%r%3sF)WZYRD0S4Jr7a+INK52a8qBm1IZ93n8}UU?j-jI*`Au@t z-{fdH{w94v^U2?hNH^ffKRI4b`h|W&8fgjnM*pdgozub32Bd#tj9pXX|90$L$I(sy`qBrDL6>%_-Jt(}e)9u_nMVHq;Tdy{)p>N?>hZtb2%$P}Zm#h! z1|g1@>sf2MC?XtewXnekLr zduZt}{#T8~4H2wPdPfG~f*Kg|he7TGErzL7xskSC*=`sElIveqZj`zgMC6Xu!kkD| z;id`c58UG+|3On!m4n%TUpbW++UcRC)*FA|h74Mj2P~fS2kx+t{}8*~L$AEUK(ZzO zqmE%Vmb;xy%Tf&nxt$)Et)&#Hx51axP3o4z#{Tc!PDwKbr)F8I0ft=q!_3%$eV0=h zUohxMQCDsyqWE8B&Q)%aYrtg>QdK(KvP0|CvEJ4h*e9tkRF&&YguuV6T*ro*&Lpds zj!v}D0$mzkxWhzZ$4WU@Rj#K@|I5m0uc0bE8{T@>ay>3|p>^tYvKHudG(}zc|4HH0 z-L9uLf>f?&RT*TN>kYC*^i1>gMmi$YmH(f{IafIw=Xy5I^=4VZ1i(lwmuxB+lmwx! zoQmRq?RIKQ(zIP~WmQ?_stio?3|iUj7;yOx<-#D@eO2WI|NQR?r>@-KA@{98Cv#z- zC=i0c6((|>Of&{PEv&AbO6lLVT!Mz`XS}3_unm5TGthbpVBFhqRs;br2if_|tIWF6CqGfgER=J%ZB59t^L((&4^JI*jUJWWhPDe?a zPD`UmLfGh83GR|Vm}QY*AW|eqrs`Q#O+@oAtM*_v%Y#kc68u125)>eR&}o_cA@RdC zoXGlL)~=T<6D%eh%my}TOQso>8koXKCW~)7kx6>Bt0b%LcF7E(3dtmpKj`oze=z$h zscmbGtU`S4|7A3zT};Sq6-Jh0(on)5lF7gyRI|8#C1zaRvK9&Pk+|6qYdoLu*tmGv z(SU^=xusHLm4+x=0O~A?)uPp^q85&e3^i6s;yG)0;!j!UK3*2mN=Id zkrMHrh*0KL;#|Qi)fSFd38hHn)FOnAQdj}zsY*y7n<=7|@h&N%EK=DM;cilD4z<^O zwNBxt)gt*WtkRsvYL&)`iku5^()ANY1@u}PYR(?#$f?9B%_J(~H&CIW6w7nOrKKG0A<3WcQ{pPw$_-Q!cOhG86+wwh zUJH@9#H+N*P<90EPmWg!BTD4d(&R>y3|!gJXLejN@>U69G9%CQK=SgrtE53aTs#v_ z9gx6qTAR{pm2^NS>42h(XbMlxDO_m*|5I`*;Yz+YWrtA=#Sz!Z^D_pnE;n4Br#a%1w}lax+o2#%zw^YM0+oERKkF9BiI_%Qm{{p|j<~cMq?}7D#GevZ z2~=)}l5-aVr3(t$Ef#5g@Dt(|HXTW0S8j)sxb$7kxy6Z%EF3mc_qj#JMlzU@94`uO zk-qc9(*$afmP|k6T!oZaI~1I|KuQ*A)ld4|!XYJ&a~WYsoU?W)i4#TUICml?i?jm! zDd$RoS_Gs-w%SDE)DcTL=a3S|IYS#%pcVlsSzI6`ixVl4twlPXTn-`&v%WHMsU3=L zae z;wpg(Sjob+gXx|2{?saxy;j+9Svai35odry>J|YjSzKTxixVqZB+uT@`kc*}GI2qm zE|8N&+L@qz&LJm`bB3HG;&M9_eeMDvkqu+kEgV4NiOY&A6X#7X*`5{#krNvNMt)aok7IlrNp@amn<&elEn#^ERw_FX9AVMgskT>JW}+z3m9aP z9CuWp>B1n33?^jaayt~nU4SBswAV$6rwfWKGMHe*1%bK%MHVM0vZM=&ERq9Wo}gJf zl$;ZRa{_gOB1^iU$f5#8tQ`vCEVb4kdBYQ5@$^P-KyIHGf82 z1&UZZ6vSPCA`9JIm!L(upva;EMIZOcxZHWiTOGMb-`_aTg=h35v|=f+92X zwMYULK#}yF6Q~munbQSDW)&!6?ND&;0u+%@Mb<6pf+DjD6tQ+FiMtS}6BL=#1x02R zC}QnU5O)EJ%uY~bP8SrJRiKEqLrL6)K%Jn-oGvIbt3VNJhmyDplj{UU=5#@kSp|w% zI~2rSfFiRK6q(ZnMP?N!V(m~8cOg(GC^DxDip(ld#M+@C?gA8)Jz1zg z5o?E%xC?GC4t!DP2#INd<~nJCwx55o&URB2&7c z$fWWVv34kkyYLj5oS?{*E+{goKoM()lDG?jIzf>sT~K6Ffg;upC24GAY z3KX$+D2TfNMJ6XGGNlWO$cuCeRg~MIB<@0>PEce@7ZjOPpoq0YLEHr>GC4t!DP2%x zQh_4Y4kd9H0(F8SQ@WtYqyj~(9ZKRZ1nLAurgTA(Nd<~nI~2rSfFhF<6q(WmMJ5#} zV(m~8cOg(GC^DrBicBg{#M+@C?gA8RCKV`R z?NAVR0g6mcP-IFM6q!_@h_ypW+=W1$pvaUiC^D%)5o?E%xC?4GAo3KX$+D2TfNMMftmGNucPj4DvX z+My&a3e@NXMdbC?pR1yDIt~s<3W``el*C1W%JG=AThawZa%@`~ammssh`RtqMkgpT zrVEOUDp17Qp(O4?piWR^OcxXxRiKEqLqXgHD3SwVX}6>cii|2y#M+@G?n0nWP-ILO z6v>ggtk30kD2cles1p?P{i7yB<@0>PEce_7Zk~H-%Ox#JCwv-2-FFRjOl_R zqY4zUb|{Fu07Y^{I_;KpL6K1fidZ|8#9au~35uj6wJ=RC*ZxKoC}QnU5O)EJj80Hw z{23^c?4SUHq%BQu?s38(BL{vp18J(EP$YG{5ax^5(C^%rG6t1J4C`mqslGYVGIizcE|OAsa%rA>1BaM+auU*zK#hDTNy#fkR2*?9Vlr@uDUCSo ze^3EV4iKUG@-dd_~6l<`e$6VkjgA+#?IL{MDU9WN` zum&rsi#W>Q#8CzgN2QUIjHdub3@(6^!3mrU9B|^vsRptTmSmt{g%h?DMj1F~6Hi=a znO$)1V%~K+oAexvQWMv!@TA12(s)YW)tu{{&L%wvs(9k6@hXETrwFCfh&=H$uq2-!_mZ9iOMR)C0{^5 z44j?=RRR-AS+fQ!n<&a!@5ESo&JV>?XLdsBKp9jisJj49dM9|2Z&pZ?hd^B^ZM}@A zmDI%nt9ODY`2vTZQfHHj#Jk)Q1$7r#O7Fx{dJaqRysLasdf8+usf#nQ-U+Sr9JCUs ztE4KoL`mI+RGrQ!J%_D$>MC%h7hs{@1-Q~X!IgY9$4~oRg|76%9-ZC=y3#w*m3#xp zPpPZmmBgva{J4NudMCWnbMT7q88#70IwRmKJ%uft{c++eJ%_LKj2xXp^a7lhQh0J{ z>sdXAuQ+lld?j(F>IoOXN$=d3laGw2^)pXgH8e%eT>vM&6FA9Ny@zRhghM4(@F9`8gA+AuCH>F=SmJ zC%qFn>A5XCzKJU2Byp+|whQE>cOobKe?d-cdXmH=c%Y=~@;LE0k&~W7PEOt>dNS|M zzCZ>NG{*=ww?)};>zSLoM`fJiCvFsto4c;EMlwwJTVENMBhizG_+h{gX#&F!BT7gX zM&pLk(on>oT4d5nia>thr%qaNkYA)4XHHb4ldJ;yhN^V(#WeVZx^zw|q%z5rkenv+ zi^`n*GLv6)|9;gq^k_F(Q18eMp z348-DO1Nw=Ed7iCVmW(2msRIdFY8qQL+3J zztZFcPSd1B_|&Gc0yZH<)-i-lZCYo8OC~?m%M^)p9>giD0O>p?R?>AI>=r*a(slSH zH-vN@3dw3jx(2UB9wb4)d8zu|%zsY$fk(8tm*kZ0OVx(uoz>mlhfX-e0) zkq(m(1O7&dw8CJA4K6)lhG~kPc8|=Mp7f4RT9BYT=^dS95b%r0kZBF5v9V+zyy&Fa zQsZU-FYNvlHv{RPv@vZU{liqtK)Q!%mVq)PH`+iL(n+pT(4!o&v0@+`r75|AaFnK= zl!jy`HEu@26w^i{;Yl{i_(YhJtuB5MrsVk&zbIF-1dWuUtcga#6;nhbVT$#Ok? zzKQZ9vu&dM$ZVSkKL$2tk&Rh7Ghs+x;%eN?gdutTj9*l2veuaiL$X5xp9n+JoPr;O zA!*vf55kZHZt;UKB;jxTAPh-6&G%=M#q|FCCsqFZzaq~jyGf@%&@Uz zCCtbdTe*2^nmgj{8qYvSLcAt1F`nGs;u#&R@v}!cViU>mlRJ^+hzqhscZ6J}gg9cOY^0b`T`W90 zC^8`!H8`T8&^vLY3?WlCHX+g;S5^~ervlJ8LL}-EyCybwkh&8c37X*WxS)i%I8B@b zEu$=iN0VN*MUqZ6Gh6EA2)4U7v-h$`QVsEJ>8oiGBMaET?7SDpiZAIXC_q|Y<2z)~ zQkEm6z{Y}?BRa?)6R+`&4z~9}Ivadmj+jJxu{W8bWo7h=wcFyuqeC@q?6Kjt$nd@p znZGR%jYc1(vC;=*3{3V7?SToQp`?t0Y1x)Fw1HZq9iXj{6J(3V-}uG`VWUV#AcjwCdrYJ)$S!lrl&rC%w+1EBhPzD@-`n9HVmk0PDfE%lVn?@frW@oz`zTSBF4bPESRFO1Llormn||fkqp)ta``$eW=yO- zCe}gBC+Qz~&zc!gFaGY6oWb?vlZt^ zh()EE5IZ^$L)}5!Ma3a^0%;R5Bs5KK7`sNz%}G3pSi08UO}xGQ(W@v6TSOT{Z^qkV zT{(ZROZa62(6MrQhzq@XAoFZa0kMDWQB8p+FSI-i$LRgP%%sLU)T5n}0V zPO~g)u(M=B96G~+aYyG3oQ~E(bg&wv@8ru=Y4d^|&=6Z7dK$J$BFJoORCsVOkshgt z^cIYCuqF<(1K3AT+AxFkW*nH9u^=2sH0fkX`xY}=0)!9;(@#vjh7KFd6VMY)NUS4@ z&N%doG;K+rz^RoD^)#yXJ}^CGrh$c~yU$ z%fu|b+W=i5l~ctKnnp((`Z!U}<+LhPcWF;z7zNpb3IA!rWR@e1uegZt7>y0%jF2KT zavb>;udZK%L#~xu%ST_lxvC&93de@0nopi$T+(_qO+USugt=y@lQ23QRC%}HcsVo`i#2_=XLxwe(Ug8`Yz^b5#$V4JXHpi1PQ3+6G z8DGJSyZaDRcV%K@z2jk4+>^hVm0|BPk(OU{C*w{u)v@MNw!$91vz) zOnfXIGx#$wAp~aL#Ei4AhTtGnf|2a*2yw^f5KIp6^u*y3eA-EN8+cOyDr&QXLB!0a zD<_fISnzG5z!tWLOvO-{#Khh}g`}HF%}m{VF>3JFct|+#A_ga$hI~U{La6nHod}O2))#m*D#{j1CLl7~^+>?f zPl2W;93Ye6OQtqV7bzAZdPe4C4Y{nHRKYA_+E<^1XbEXkF8!zpCi&#qAT3{Gha-Xz zV3I`gv8>IFnztod35bEOW(EsD0dj+> zvH^@?Y=_5V4MX*Y4gn%tURq_-`RXaJqmX#RMDGBwTHHfyGd4984IsD>s) z5(zR$Pk3X^Y6eXwlR-;VOpqrVB+bI3!sDqyMc*5l#cbxVQIkbVw2h9Gf4Ri7@-*gW z&@{A@r4sBYRy9^;PWT!D$`Bl3%kAU2cxVGRM21eFkgDmz(7sy#B&7HxMV#5uJ~ zzOP*4=0{dZWN6T3f~El-@Pt4bSIS4eS`V;SK^S*)U+4iJ@lM+Qbl>LFCs43lIpL z8BtZ{7<*872sM!8$(?B8wepc0W14p4c1i{iWqIE*UGG98k|RdhTGH9zy{Xck@&>4$oa{;kB!(e zd}HR%`As?2nL%)VB~9%WZtqQs%B^>PY)f4N>~eWGfOkwKq*odwgp&SZZE8)>nsSXM zD;kqY+S*Rfj3oU+r7NKfIB($JmRy}KMw@|2yp3eD<@ORDSU*ATM5I_@$V(#9QSumV zLt!tvTmt;080&IreX5}kFZsv|8Y2Up|5f-heUh)M#t}nSKTyT+xadlfe*!HehEN{$ zBpdRCJAm(%St#%zcFq?oPc#GiK?VuaMpCT5k~&3O!4A@Wy@@BpSJNAF7b;@F);|`C zLOuiOQ$P;DfJvN+4oM-H^n+#B3CroAJ_D@Km@kL$EjJHp5DSF`ighl-nGVu#?I>tQ zuQG$xp0I^Vkj%Fs36YVScnSj~sZvJ~ zvCw3d3AvH3V?&?Npo<=Y>dF#rhzyquZ9D-ow8e>7?e!_Eff01XqO6t8Gus9Vw5r=2+kDHbj`>BQwIo^ zD6g#Ufy5u_9>UNYOp_e@pmD=;8h`_`OM@C3cwg`o6f$Yq4ok2-(jJc~oNQK_7}2yu zxRcGyZxmwd=^jO0y6$9dCpEGBax!L*G&q1QFWIp#4OVw^U^qrSwrpf`D<@l6vTRS~ zWGo;516ZDX)Z(Q)DK3db4A!Zci&1&)(=2UR4RL*4>pIbvgN zfJoS8lqXF&oroqOhJ0YV25BF#en+|o+XH3kR6>EW#~7TbJ3ta31xAvi8#&Z9234&} z`B3vmq>Fxt!zvPvp`0zs5f z02%I#XSD)F!;+-6lI^?5#iAYLwtPZQ3ii;rrF}?fsQ!(MG7WNE5Uk_nGd-@Vj^`(kh&QvP5VLw7VV&HsT(OR#>oc;TrmGre?DC< z5q??RK|(Zv&cW`)kkQ}_E1Rm+UtsjCjF|EZ+5R-MRfXz<9v|40rTSnXALLP>`aoRk z41cIT5dS*s7u5&iWM>Md`e4BaHt%E^W*dG?ZqCMZjgy;TbvmZ}eExrO0O z)d#fP!fc4@16poz)xBgV*5ayn$*!!0S!oq1wA{i>qUr-$Zei;H)d#fP!i zFfge4Kw8d>i|PYuInzef2hwu3GE{vaEoTN)^?|gU!7=xKcQ>scdznaAbqo>Pq3r zX0z3m!jX+<`5_;TTLRe_q!^0$_W%ds^GQtXW{d9@=)lZmmI&bCU+O+#v0neB828u; zu{JDXOnxR)3M1oQe4$`~Wh9=fIP#ziwN;9P3_2;gfaQ~(PV|CfF47T7Li_;ENHIES zbJl1fKkGu0=a<#m7SILm9PB~5YmJq(+DgdR(%(Cvx(|Q= zHag%JLvgZBz<*`>)imv}f*|`5`sxVVz%o&)(Op+vr*Ug<57c>S%+-z6p;Hl<`orSv zHVq~Yxdcg9G^P(Gz?@prdVNkj87lt=-ZLZOA3`)NjV`>%M@@8E8Vw8K(zN7=f-=nn z_OJzQ! z(RdPd8e-?fdJ&eSE{iKB=*<+$vbe~CMo=izv}gx`)9N&wE8yA-UT6rnI-kiz!oihk zs8>g#&edsnj!#I#l_{`K%6wWaj^S{9k2F2OMO;4WJ>k-f1aWa`G!j9XhWj>X;DIU) zcL(x)fP8c%pv(te=>5@L8ugH=({L15;04dqiD@(>ohwUU@Z-|xbvRs_nM9XzY4pl_ zbs7QzIQ@gn>1(W9KDxl+(&!74TpB(3uS&xOJpA~;OKWs_qRxj10iG9JRz_Axs(iQ+ zQII8W_$1Lt>U>rj8>>pQf*>~*plI}NUS&Q6xzPYsRhkZi5b=hpG(^vn8B3Lh2oVz7 zsZK+T4A%}19IGZ%f+`=5x|85SWt!FlM-91g1Y<>S9#G}e;&M5zUQ(6>ld1DzzemWY z)$%&7MUXN9L8`I{q$B}tTpA73Yz7$ za%uGHe=ZF|=gMLv@H&L&>FM*}sMaqj7yj`asXCY z7FT7_>*iHySO)O(D)P}A`;_?rS#cObO%G|*m&oO#CuO-b5zCY15ieiBVnOCQzztsJ z@DT|z#|$s(A4VZJ_Mt%Zz63RYI(oSpmnP0B1j=(`2K21_Iskf41NYVRuxTi?18oX8CK0rSDWEGc>K8~wS!|58n|1h5ma}-vW#DT_@rMHrC zX*4p3OQR2jaA~5g!-y8}ACNNf=&8$M>~rH+3zH+*Nt{Cx)(|)$%i9f)AZMaB2sG5+5X^YcS+EqL~Jx&hs`AD}2X@Ieu{=rPr8xB=G>k;_H z^)rA4J)fq^hb1v_ysOi25fLXhJuX-h>A|k?{9)C@k3oc#VJ7720A}UqMjZc#2aC^# z7e)9!#nrFEc*F8Tzzndaf(=7w5&yNay*TtG_}74nMO%z1MI6&`hjBckEPaecRR?0# z__5bg2qs|9M2+to*a){&7OwX)vWd%Jz9rO-@?$Pd^l2d~OOzYtEl!`cxRph~*|562ULl`2Z{fNaer<((^s;?5 ze;Cp{7Qj6=!kh=FEcj3i1buVz#RWS8zDGzPKlX{W;@A6#`q1+J1E{2q*L&OsqUG1| zWMwaw#W^~DTw+H>u)Baw{5lyX2aaHM+n_>%Ug7Q)0VhH=gta(s#G&W!lzoq`vhsZj zfbK!|xK#OofO(sZEB>q`{zaJ&S#n8Nx9u2Oz%fgU|RqoxPf7jM@v zibyPhDj#COcpM9Q^qM?XK9m)0wsg8%l@IjzITZA0sIV#@re9v~v6UeB^w9_!ovSPh zdV>FjlqLJK%6v!@?S>gw@^XCudLAzNUc{pC!tv`e@Mq-xlY|~Q&&}~dk5h1I!a5Ja zr57eB^MRgLs2B0S{GJWkOJAB%mc?}hf`1YwhrZFR$_Eb$zc&VY^tm`?K6oDJ^P$Q# z(4$XQD$`JwzJAH4@wgK{eHyW@%m;dAa#~uM26}>zjHK~%9yAgwLUmbUVnv$`hYmk? zV@4(?u9fv7Mh+Vr>NLRxL64A z{K5Ug@r=c)$pwGnI+WN%VN7HHgVQyPaw|VB!5@vFSMm)0=v^Xwnn;f<1k~*SJ$gF@ zSC(FB!>94%9D5Elwndo_^aS4=_@ieNl=+Z`UQqKw_A7Y*2IzSR>jjh*a4}3LkM%&0 z9)?lYOX%_A9K47=GT;(^o`Dq-_9{V7>q3_FEh=TbsDnPNr%WUCNN}Pu%>?Yj+ZZ|B|Q?9_N4_4c_9*lJ{-6 zGyy9Udb~dZ^tAlEg|^YqeU6?mH(cKvH;(Fd+~S!mxjyL zto(jFp(pqNu&c}WGwPssH!15S`>?z$L62UOtjtHs^6fwxkdB&X&@=JAaL}Xo;Bxfn zP4!%w5XVF4@vUMyhum?oacwVqSEzGr`hY3@l zC;DmNW)Q|N-s$E2*`VhF|Ka5&4y%Aas~``oF9myr8H%3+NLg|IKsM6zIWGsIC|E=*{{{p2<#;uy==74*0TU-&9x+;^t(2O#*si z8~~m!;A3Y%j~-uD@&f)`tdGEo(0_P`ms?8`di=f%=+R5fly#6TSH3JsY+vp2@%6yjeNli*qwmcq(?E}&x>lxvo}lC4g}zOw%tzAry&XbN zSWn{;Y<>-fvVvaE60dy*0Tkt2wTcE74M~{bP_;F6?@$)q3!R^8KJ=XD@9^l$o zA+8kkpn&SKphxd$3lRf zMVNbV!yvzQ0X=k=Ku?Hg1wFwhh_d2(8fm<(Be7fjSOq;{4FP)eIaOu9AdNn-u1o_x zEC|&+gC4#5O_>j6h4=`h(c^i_e1slvCqa)swx!I6vh)&BbsBv7+`0k|ZhAetG9T!P zvHRG)wh?+R`VZ5dIv>gccnWDk{2J)dD^@uEJjAhuU|r6xp$J@L|It}Da+d?q=9QS&!9&izE+k6Jsd+&=R;W${~?Xv!+>F;Pd}^aVPX~g%FJUu z)FJrwNURXw4ilmo1m6RqRE7NyoYoLxXRsa0;|S0*^EwV*#PbGt4O6fOII6(g63_!A z=lc(uAoMAgro4T@RtIl4Ku^H@TDUTJKRQX{{o^DTzYhU=Ld-kL3ceAN#?MiBxB%Wc zb=yEs+>gT1ARaq{9>9gVETJdPm)LmW@}VrYfz)M58gENT+?R+?$>yg}R*W-(+2F?@ zCJ!x-ZP8v=vP2MzPzSxdO*s|_J>J(xcK8I}Fk-v;eR~8>3%C>Ee*y*uJvcacUf`w? z)9C#MYW^(3UNoV{ue-quy{cVVmZXXDz%_N8+(3_>3+Bp-co%zjydGe)f*wRymIXcW zEFL@*yx#}>!9%X@7ebHkd(ac?B+3f$FC>j0)1YVNedeHtj#1Z(vSQp9ra|6@VN_~) z>e(Q7+WNbANyqF^Kt`!!kUhh<<|x<_6XZn^Ma`s4tI4L=+Spg)P05R08V#74;#>2vVJol;v>*(gc4P=%Ki}Eb%b%Jd?6Q94*p>`Gds2aJCNgL|=gsvocpN z>JZ}62s9J*50HV=Nt6|RWJu#}9iS){VM2R_Gx(q<#F3FSzAS;ZydN0tHS&IbloifZ zk~Cg!1j>v1DL78T^(iUK+jgW0XA8*8$e)b_fApoJpeDl zSx}P3uMG%29(RI2dLbCci?|1bUgmwYSn9&DC&*Xu6JmnG5fybllE%j@(xpA8Yv2zD zKZUaN^%gbHh&|`(Ac&gxNn=4L#65r)@r(}H;^XvyOm94H0zEOd7G-(cjymYOW=ft3 zJ${Y{J^IdpG9M|++jgV@Xsi2$#8~s|c+kV3R_7ySdD~9Xcw7v60xkwU@$5Bm$#8uI zdLsTK!J(Y(1U)hS4|3!69`uB{8>=4r#H6yXKuZal zp_gwf>qP*)mbdLBjrY@F#VOol1A5qq;Q15h1<(^>J_$VmAAlae#ztBC@({F9LD?``|B$ufOeTsckPRBt{@TsD`^u+*<7jeH4Zc)DP2|Yo+*d!3n+2E!e(Z7bU z7H*Em;GoZGDR}{Z0?tPNnfQG=q>1Y-&=dS?I$Ta5_7yg>1epsuNy2@E`4?^}ajfEe zJZCrHfrlYd*Fos~4RCO9DE8<?1K?HX1Ak&HCw6D}y$y zLL3x$q3@C^c_C@M?~BkA^%@LdE+lAHibmBQ{ED?FkK*|d81sW3UGdhOX4NTI) zc@naN!H;tQZ*fg$0u1BE7Rn;pPu=%$1qnREwJEHV5r{3!we;#Xp$>#m@N)%jKj7B} zxJnAEaWyYU6YqY)vP_f*j_vR|ZUzh!)8Moe>VRWPord-b>ri;K1m6wv3H$MIqYF3( z6TE;skq?Ijxq3+eG@pj$8}CELG8DHusmtO_rg+8#TEP1^px_AfP?tpnxDc0ylPy?c z^7*ha$>|FYbHWYE=L1CI#|)+l!7qhq3x3T>&WH&zLL8nDZ-&=$gnc!HT8Z_dxttxx zicZ)kMw;lOMOc+!*HD(12g-^z8@qJEJdKs4;CmofMDg;#YM-BHPzPpPuAeQKsQENp zbSl^!3otc@Rp87PF_H!Q6}&8w#>)u024KhWf@ANzZO2Mnn2&G*2FJR@vcenySjS^g zEJ#E>ATdC^eZe(%LOdpRiUfO#myURRiaLZdaYz%-2f&NY+YRIcKvlPmoGIk(J<_mC zug-_E2rg5nA)nwIMw+k}2#1UicZf7BlzDn6&B=|FNF^McS`#FlaTjKPcO9=4q?9nWfA4CE{kXZoWkPL2(IJ! zLq1{c4DSnlR7%}mtSbcmfbTi}FlOLjQ`bwpFT72}ZB@d06)Zzh`Le)Le7z)0hL<^9 z`n;~;qBXdFczTF0=IjvoLsSBvPrRoH&N_=AH!Oujo)L@4&2Lz|VWe|)05zyG;3yQ*gqUs66Lf>TjllcOa2LGbt4EsPheKK6?k7@~w@nBU5zZ`FjmLyY zLr^r&GvejNu`29CK(B<@bDRT5^Ei6&MhJZhb0yeBvPZ@10nYabdIgLwj0JM0hPMYe z+al6~-%SOHLsT%Ofrg77=JgT^7h2%QbZxDiGpwktWasF91_QSyUpX@#_!J z6ZR{RhMQf4vclaW2mA-ZoQ#|K z1Y3fgC&BKLJBb8(aKrI7k@)Y$d>Ga|FIZm+Y4FvHWpOfJC@b7Shl1jKjx@3F(W$(R zz?LiTqX0c2{+{3nVf}$EK2er9Qpnp4_yvUd1AYbpm*AFO!RBD4E9eH&gmoG59SVJl zX@;K{;HD8UA$F()c~~HFe!fH+zi)s$D)0~jCnFL@%ku)ave3`C@{EsDKr{%HgQtfn zRGZA@+kr9SVAnW2C~I47ZOcH#{l8 z>o{%)5%eBOq8?xagx58c6~;7@gz-y`Zu0eFB`Mf@+?*xkBj@DAvcg$aatjdeQy?b+ zgn1g$<^3B#SJ+bK^Z>pLVa|gaQ@|jACH!75g7k$u8?Xr`#MUAW(R4z+!kKDPmfuf7 zntvSebFxG}Z2GJ7L3f3?3=$U3&pl+x$=hAf6ZU_RPncJcCY(<} z8c>{?7jnM}AD@Uc;T|uP72Y9nt|b1(xQgyJo(%F?vzwJOiMD6R z*$Cc#pD0+JC!sC1;no))?7j%H*rD;#M+q&xXwcG^SlLN(4Xy?8Vtt-v0S*s%gIUYL z*`qH-Q&PWRj^LAi$HLz^WD4#%P}&!HrF<}Q?RqQaSux?2r`ObTXj0$O!;dKy9ghY) z+%-Q3_x3wrS)p=BZ?zJXOQ=e-iA$S}{YPXc;PJ}a0twj(&UePTSj zzNFQqeibdb_T~*{e$TGWf4yk7rU5NB`f=sK@A9n==OB17WIg$@Xxj4)Pla)!e{~sK zzlVkgJnplyyjD)~7Q#O;L*z5aa_wgw&qR=R4sqhl;lAy;0vWBp1zbzc@uk?r)^nVr zkHnZ4W4s<8YkQ-mXM;I{ec7X6uhPwe0Z1wco@fpyfB13`=<+~Bc**CIV}W#aiR8Bcqz(J3@CsQ=}7Xu+DzoBnH%o7`1$JatMp$NKif zM(*3yK=1iOOH9tZtxsVMEe~k(d;{++sm+hLTIAH{QOS$H7%#bM%%KOrgEP!MH%I&} z4Of~+%VOO);+b5V2XLh=n+Js!T-h91--+x!LrQrfC(#%yb2iw(i|23}X~+598Ntf~ z9l96yQGylx>dLaVmeCyPm7`oOeM5Ps>3wHB5u{xoplk2KmD7z*Hb-+;FE4!g!i8Ad zTVVDSSQ1-5)-@%8fFb1Gi8cDp@_U*V7{$QizXEOU=87MORFvzU3c z(d>A>7O->3H7zZD0uLRJY@!AuOU|s@^+9B!2cZXfkAwR5Y)B=}Js19n4X27F_XsMQ zvmtyQUWtZAMu;+Hf2G`oe=PpkaL-aih6naMeu{usViVM5@)&g`Nxto6ob3IOz7ee6 z?~;#spWBI?yppNCZ&C-tgBx#Un6+#i(Hx1#qbb;!^Y`|EpU`OZ&;UB2)$Rm~W-s|= zk*Al+zPj<^Ju6E@w-#^G@j`~vt_8pm{!vGHU!jw{FLNXB3qZ(t!nzrcz{+@PU-urV zOe_C{5j)=V>UddSJjZ=s^^M^HKP6{Fu1lXyE}}WwdrZ7+V-9|ox^3xP`F1N>@Eo+{ z6Qb#|y6@&7gn!)boDF97>=6$qISy!2*j~S;eMBT*!wKS;soCBl0u74MoSJKq+ZJM&I^#p z96n&X=fx@ATn*#p8yOc3SQ&y>%N|itdp1a+mF>n$P8+L4 z)Mn?nkKBZox{32Da?c&z#kBlR0)EDe?m16#bvIhDVKi{=jwju5<&_X**VlND@sdx2 zmKZKeD*a>80LHr(+mSu0&EVPea6ywvmhsXL8Jd&WHX6WbpS>i$(1MvCIu!ZBM*WydWniaR@X8f4i1q6n>W+;X9FQ`=Bv&GG6+`2-c?F{?fCfXOtdpe9-S6oGU!rjZLVMLYl+88{{E(73Lc~1BzU~+ju^Hk?~}qEv@}&t~wz8 z2XPvENa!j0+^@C=gz*xehPb6S!9jTIW24DR*fn1gUueOqJe%B0wB*yErEdjbJvFFk z)gSULqCaT7$Ovz-u^r>(yBTQJA28&|KYd*`mz|ea{qZf}GrYQxaGelz7EafviXf4!zj&E^vG=}W11qPqB zz~HmzF!;Pj``5`-tKQO2EB+SIp7Uqc+%3_7%xfou!9z-8$1)Q;?MwvTE@P=MEyM*7yR7&A>{wy+2s8T zIAGxNinF%*S0zC1IV3ImoH?Fng|~9|_2PgF}(E*|#eK+TM_4M^J z+j9U$3RXot$G(5#Jm=k<=jFXpkFHNKz{(tX9=UHKUR~dTH*87P>Ruyf=UHQ4p>_rn85P57)(BzvT^ zK6gPQhw$JGj^({}n|WW#vEx11H|1{`j{wX$Rr{6k6fk6cV4Br$SIZq9aJ$2Mg%071 z3zBzJgrBw8xU8i;Ozm1~BheTV%hUEX;N_)H5t`DceOCQZ#$(Ed&vJ3X=WA@5@rony zTq+ZZu<%7qT=+tcXOAwyWan-F9PUx8`)y<}PBeXs5B@<4~~$aY9% zWV@Zr{kS^%drm(npK~P=@@#61{jPc+td}^1-UQJp_pRTR zlOloLbFY^7fa|SnQZg0)2+R;$MOl9QBg@NOAgy9Y5LfY!q#;L#Dy@ot#0AS4*H7Vr z+$aVB8i||~-in+Aiw1w;<^`|2Q0nsZYO8iXph&UDA%e*>I+$j4fKXd7b2)~QooKng z#B=A+a$wG+?1S`jyo`kPaVV|yTt-XWnIYgvzdZM7$w}4UHZ>e*?eXT8?>)Ly`#mo* zA!27AZRLS#HQ>mskJY($4ofP&E?T~Gd(gw;dJMDF(n=nWJ$bafGuOd%ZR(>fh6nU! zX}^4r%lhB@CSsG^S~QjF^Q@Tl+A8#Ud_T0*fuk`{GhX({?-aDp?*tw8?CL6%{JNv< zJx7Zlfc65n{rctSU;pv>%hS7ePp|*_>wiAKQl9yTr`JFI_S@I{69-@Y^z{1A|NP~* z``6|D_V346e|z`*>CLC_fByq<@VgHLg^2#A47ni diff --git a/external/bsd/flex/dist/doc/flex.texi b/external/bsd/flex/dist/doc/flex.texi index 67fbde40e..b214e033b 100644 --- a/external/bsd/flex/dist/doc/flex.texi +++ b/external/bsd/flex/dist/doc/flex.texi @@ -1,9 +1,9 @@ \input texinfo.tex @c -*-texinfo-*- -@c $NetBSD: flex.texi,v 1.1.1.1 2009/10/26 00:27:40 christos Exp $ +@c $NetBSD: flex.texi,v 1.1.1.2 2013/04/06 14:05:50 christos Exp $ @c %**start of header @setfilename flex.info -@settitle Lexical Analysis With Flex @include version.texi +@settitle Lexical Analysis With Flex, for Flex @value{VERSION} @set authors Vern Paxson, Will Estes and John Millaway @c "Macro Hooks" index @defindex hk @@ -20,8 +20,8 @@ The flex manual is placed under the same licensing conditions as the rest of flex: -Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex -Project. +Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2012 +The Flex Project. Copyright @copyright{} 1990, 1997 The Regents of the University of California. All rights reserved. @@ -59,7 +59,7 @@ PURPOSE. @end copying @titlepage -@title @value{title} +@title Lexical Analysis with Flex @subtitle Edition @value{EDITION}, @value{UPDATED} @author @value{authors} @page @@ -355,7 +355,8 @@ Here's another simple example: . ++num_chars; %% - main() + + int main() { yylex(); printf( "# of lines = %d, # of chars = %d\n", @@ -383,7 +384,7 @@ A somewhat more complicated example: %{ /* need this for the call to atof() below */ - #include math.h> + #include %} DIGIT [0-9] @@ -417,9 +418,7 @@ A somewhat more complicated example: %% - main( argc, argv ) - int argc; - char **argv; + int main( int argc, char **argv ) { ++argv, --argc; /* skip over program name */ if ( argc > 0 ) @@ -1440,12 +1439,12 @@ avoid a name clash with the @code{C++} stream by the name of @code{input}.) @cindex flushing the internal buffer -@cindex YY_FLUSH_BUFFER() -@code{YY_FLUSH_BUFFER()} flushes the scanner's internal buffer so that +@cindex YY_FLUSH_BUFFER +@code{YY_FLUSH_BUFFER;} flushes the scanner's internal buffer so that the next time the scanner attempts to match a token, it will first refill the buffer using @code{YY_INPUT()} (@pxref{Generated Scanner}). This action is a special case of the more general -@code{yy_flush_buffer()} function, described below (@pxref{Multiple +@code{yy_flush_buffer;} function, described below (@pxref{Multiple Input Buffers}) @cindex yyterminate() @@ -1577,8 +1576,8 @@ condition remains unchanged; it does @emph{not} revert to @code{INITIAL}. @cindex yywrap, default for -@cindex nowrap, %option -@cindex %option nowrap +@cindex noyywrap, %option +@cindex %option noyywrapp If you do not supply your own version of @code{yywrap()}, then you must either use @code{%option noyywrap} (in which case the scanner behaves as though @code{yywrap()} returned 1), or you must link with @samp{-lfl} to @@ -1758,7 +1757,7 @@ treat it as a single token, the floating-point number @samp{123.456}: %% expect-floats BEGIN(expect); - [0-9]+@samp{.}[0-9]+ { + [0-9]+.[0-9]+ { printf( "found a float, = %f\n", atof( yytext ) ); } @@ -3403,7 +3402,7 @@ which degrade performance. These are, from most expensive to least: %option interactive %option always-interactive - @samp{^} beginning-of-line operator + ^ beginning-of-line operator yymore() @end verbatim @end example @@ -3888,12 +3887,16 @@ Here is an example of a simple C++ scanner: @cindex C++ scanners, use of @example @verbatim - // An example of using the flex C++ scanner class. + // An example of using the flex C++ scanner class. %{ + #include + using namespace std; int mylineno = 0; %} + %option noyywrap + string \"[^\n"]+\" ws [ \t]+ @@ -3917,7 +3920,7 @@ Here is an example of a simple C++ scanner: if(c == '\n') ++mylineno; - else if(c == @samp{*}) + else if(c == '*') { if((c = yyinput()) == '/') break; @@ -3927,23 +3930,23 @@ Here is an example of a simple C++ scanner: } } - {number} cout "number " YYText() '\n'; + {number} cout << "number " << YYText() << '\n'; \n mylineno++; - {name} cout "name " YYText() '\n'; + {name} cout << "name " << YYText() << '\n'; - {string} cout "string " YYText() '\n'; + {string} cout << "string " << YYText() << '\n'; %% int main( int /* argc */, char** /* argv */ ) - { - @code{flex}Lexer* lexer = new yyFlexLexer; + { + FlexLexer* lexer = new yyFlexLexer; while(lexer->yylex() != 0) ; return 0; - } + } @end verbatim @end example @@ -4272,7 +4275,7 @@ it when done: yylex_init(&scanner); - while ((tok=yylex()) > 0) + while ((tok=yylex(scanner)) > 0) printf("tok=%d yytext=%s\n", tok, yyget_text(scanner)); yylex_destroy(scanner); @@ -4566,7 +4569,7 @@ called again, you may get the following message: @cindex error messages, end of buffer missed @example @verbatim - fatal @code{flex} scanner internal error--end of buffer missed + fatal flex scanner internal error--end of buffer missed @end verbatim @end example @@ -4810,7 +4813,7 @@ to change this in the near future, but we reserve the right to do so if we ever API. @item 64kb for the REJECT state. This will only be allocated if you use REJECT. -The size is the large enough to hold the same number of states as characters in the input buffer. If you override the size of the +The size is large enough to hold the same number of states as characters in the input buffer. If you override the size of the input buffer (via @code{YY_BUF_SIZE}), then you automatically override the size of this buffer as well. @item 100 bytes for the start condition stack. @@ -5084,8 +5087,8 @@ indexed by name, as described below. The file format is as follows: +-------------------------------+ Table 1 | uint16 td_id; | | uint16 td_flags; | - | uint32 td_lolen; | | uint32 td_hilen; | + | uint32 td_lolen; | | void td_data[]; | | uint8 td_pad64[]; | +-------------------------------+ @@ -5204,11 +5207,6 @@ two integers. There is no padding between struct elements or between structs. The type of each member is determined by the @code{YYTD_DATA*} bits. @end table -@item td_lolen -Specifies the number of elements in the lowest dimension array. If this is -a one-dimensional array, then it is simply the number of elements in this array. -The element size is determined by the @code{td_flags} field. - @item td_hilen If @code{td_hilen} is non-zero, then the data is a two-dimensional array. Otherwise, the data is a one-dimensional array. @code{td_hilen} contains the @@ -5222,11 +5220,16 @@ by the @code{td_flags} field. It is possible for both @code{td_lolen} and array, and no data is loaded, i.e., this table is simply skipped. Flex does not currently generate tables of zero length. +@item td_lolen +Specifies the number of elements in the lowest dimension array. If this is +a one-dimensional array, then it is simply the number of elements in this array. +The element size is determined by the @code{td_flags} field. + @item td_data[] The table data. This array may be a one- or two-dimensional array, of type @code{int8}, @code{int16}, @code{int32}, @code{struct yy_trans_info}, or @code{struct yy_trans_info*}, depending upon the values in the -@code{td_flags}, @code{td_lolen}, and @code{td_hilen} fields. +@code{td_flags}, @code{td_hilen}, and @code{td_lolen} fields. @item td_pad64[] Zero or more NULL bytes, padding the entire table to the next 64-bit boundary as @@ -8429,7 +8432,7 @@ in your scanner. @code{0[xX][[:xdigit:]]+} @item C99 octal constant -@code{0[0123456]*} +@code{0[01234567]*} @item C99 floating point constant @verbatim @@ -8516,24 +8519,36 @@ more efficient when used with automatic line number processing. @xref{option-yyl @table @asis @item IPv4 Address -@code{(([[:digit:]]@{1,3@}".")@{3@}([[:digit:]]@{1,3@}))} +@verbatim +dec-octet [0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5] +IPv4address {dec-octet}\.{dec-octet}\.{dec-octet}\.{dec-octet} +@end verbatim @item IPv6 Address @verbatim -hex4 ([[:xdigit:]]{1,4}) -hexseq ({hex4}(:{hex4}*)) -hexpart ({hexseq}|({hexseq}::({hexseq}?))|::{hexseq}) -IPv6address ({hexpart}(":"{IPv4address})?) +h16 [0-9A-Fa-f]{1,4} +ls32 {h16}:{h16}|{IPv4address} +IPv6address ({h16}:){6}{ls32}| + ::({h16}:){5}{ls32}| + ({h16})?::({h16}:){4}{ls32}| + (({h16}:){0,1}{h16})?::({h16}:){3}{ls32}| + (({h16}:){0,2}{h16})?::({h16}:){2}{ls32}| + (({h16}:){0,3}{h16})?::{h16}:{ls32}| + (({h16}:){0,4}{h16})?::{ls32}| + (({h16}:){0,5}{h16})?::{h16}| + (({h16}:){0,6}{h16})?:: @end verbatim -See RFC2373 for details. +See @uref{http://www.ietf.org/rfc/rfc2373.txt, RFC 2373} for details. +Note that you have to fold the definition of @code{IPv6address} into one +line and that it also matches the ``unspecified address'' ``::''. @item URI @code{(([^:/?#]+):)?("//"([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?} -This pattern is nearly useless, since it allows just about any character to -appear in a URI, including spaces and control characters. See RFC2396 for -details. +This pattern is nearly useless, since it allows just about any character +to appear in a URI, including spaces and control characters. See +@uref{http://www.ietf.org/rfc/rfc2396.txt, RFC 2396} for details. @end table diff --git a/external/bsd/flex/dist/doc/mdate-sh b/external/bsd/flex/dist/doc/mdate-sh index cd916c0a3..e631b2219 100755 --- a/external/bsd/flex/dist/doc/mdate-sh +++ b/external/bsd/flex/dist/doc/mdate-sh @@ -1,10 +1,10 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -scriptversion=2005-06-29.22 +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005 Free Software -# Foundation, Inc. +# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009 Free +# Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -18,8 +18,7 @@ scriptversion=2005-06-29.22 # 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. +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -75,6 +74,10 @@ if ls -L /dev/null 1>/dev/null 2>&1; then else ls_command='ls -l -d' fi +# Avoid user/group names that might have spaces, when possible. +if ls -n /dev/null 1>/dev/null 2>&1; then + ls_command="$ls_command -n" +fi # A `ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo @@ -89,7 +92,7 @@ fi # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. -set x`ls -l -d /` +set x`$ls_command /` # Find which argument is the month. month= @@ -197,5 +200,6 @@ echo $day $month $year # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/external/bsd/flex/dist/doc/stamp-vti b/external/bsd/flex/dist/doc/stamp-vti index 46b5982bf..b402edc34 100644 --- a/external/bsd/flex/dist/doc/stamp-vti +++ b/external/bsd/flex/dist/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 10 September 2007 -@set UPDATED-MONTH September 2007 -@set EDITION 2.5.35 -@set VERSION 2.5.35 +@set UPDATED 22 July 2012 +@set UPDATED-MONTH July 2012 +@set EDITION 2.5.37 +@set VERSION 2.5.37 diff --git a/external/bsd/flex/dist/doc/texinfo.tex b/external/bsd/flex/dist/doc/texinfo.tex index ff2c40654..91408263b 100644 --- a/external/bsd/flex/dist/doc/texinfo.tex +++ b/external/bsd/flex/dist/doc/texinfo.tex @@ -1,18 +1,18 @@ % texinfo.tex -- TeX macros to handle Texinfo files. -% +% % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2005-07-05.19} +\def\texinfoversion{2009-08-14.15} % -% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software -% Foundation, Inc. +% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +% 2007, 2008, 2009 Free Software Foundation, Inc. % -% This texinfo.tex file is free software; you can redistribute it and/or +% This texinfo.tex 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 2, or (at -% your option) any later version. +% published by the Free Software Foundation, either version 3 of the +% License, or (at your option) any later version. % % This texinfo.tex file is distributed in the hope that it will be % useful, but WITHOUT ANY WARRANTY; without even the implied warranty @@ -20,9 +20,7 @@ % General Public License for more details. % % You should have received a copy of the GNU General Public License -% along with this texinfo.tex file; see the file COPYING. If not, write -% to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -% Boston, MA 02110-1301, USA. +% along with this program. If not, see . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without @@ -67,7 +65,7 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} -\message{Basics,} + \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. @@ -99,6 +97,10 @@ \let\ptexslash=\/ \let\ptexstar=\* \let\ptext=\t +\let\ptextop=\top +{\catcode`\'=\active +\global\let\ptexquoteright'}% Math-mode def from plain.tex. +\let\ptexraggedright=\raggedright % If this character appears in an error message or help string, it % starts a new line in the output. @@ -153,28 +155,22 @@ \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi -% In some macros, we cannot use the `\? notation---the left quote is -% in some cases the escape char. -\chardef\backChar = `\\ +% Since the category of space is not known, we have to be careful. +\chardef\spacecat = 10 +\def\spaceisspace{\catcode`\ =\spacecat} + +% sometimes characters are active, so we need control sequences. \chardef\colonChar = `\: \chardef\commaChar = `\, +\chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! -\chardef\plusChar = `\+ +\chardef\lquoteChar= `\` \chardef\questChar = `\? +\chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\underChar = `\_ -\chardef\spaceChar = `\ % -\chardef\spacecat = 10 -\def\spaceisspace{\catcode\spaceChar=\spacecat} - -{% for help with debugging. - % example usage: \expandafter\show\activebackslash - \catcode`\! = 0 \catcode`\\ = \active - !global!def!activebackslash{\} -} - % Ignore a token. % \def\gobble#1{} @@ -285,6 +281,50 @@ \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in +% Output a mark which sets \thischapter, \thissection and \thiscolor. +% We dump everything together because we only have one kind of mark. +% This works because we only use \botmark / \topmark, not \firstmark. +% +% A mark contains a subexpression of the \ifcase ... \fi construct. +% \get*marks macros below extract the needed part using \ifcase. +% +% Another complication is to let the user choose whether \thischapter +% (\thissection) refers to the chapter (section) in effect at the top +% of a page, or that at the bottom of a page. The solution is +% described on page 260 of The TeXbook. It involves outputting two +% marks for the sectioning macros, one before the section break, and +% one after. I won't pretend I can describe this better than DEK... +\def\domark{% + \toks0=\expandafter{\lastchapterdefs}% + \toks2=\expandafter{\lastsectiondefs}% + \toks4=\expandafter{\prevchapterdefs}% + \toks6=\expandafter{\prevsectiondefs}% + \toks8=\expandafter{\lastcolordefs}% + \mark{% + \the\toks0 \the\toks2 + \noexpand\or \the\toks4 \the\toks6 + \noexpand\else \the\toks8 + }% +} +% \topmark doesn't work for the very first chapter (after the title +% page or the contents), so we use \firstmark there -- this gets us +% the mark with the chapter defs, unless the user sneaks in, e.g., +% @setcolor (or @url, or @link, etc.) between @contents and the very +% first @chapter. +\def\gettopheadingmarks{% + \ifcase0\topmark\fi + \ifx\thischapter\empty \ifcase0\firstmark\fi \fi +} +\def\getbottomheadingmarks{\ifcase1\botmark\fi} +\def\getcolormarks{\ifcase2\topmark\fi} + +% Avoid "undefined control sequence" errors. +\def\lastchapterdefs{} +\def\lastsectiondefs{} +\def\prevchapterdefs{} +\def\prevsectiondefs{} +\def\lastcolordefs{} + % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} @@ -302,7 +342,9 @@ % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). + \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% @@ -311,6 +353,13 @@ % before the \shipout runs. % \indexdummies % don't expand commands in the output. + \normalturnoffactive % \ in index entries must not stay \, e.g., if + % the page break happens to be in the middle of an example. + % We don't want .vr (or whatever) entries like this: + % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} + % "\acronym" won't work when it's read back in; + % it needs to be + % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi @@ -338,9 +387,9 @@ \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingxxx.) + % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 2\baselineskip + \vskip 24pt \unvbox\footlinebox \fi % @@ -374,7 +423,7 @@ % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi -\dimen@=\dp#1 \unvbox#1 +\dimen@=\dp#1\relax \unvbox#1\relax \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } @@ -396,7 +445,7 @@ % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% - \def\next{#2}% + \def\argtorun{#2}% \begingroup \obeylines \spaceisspace @@ -415,7 +464,7 @@ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} -% Each occurence of `\^^M' or `\^^M' is replaced by a single space. +% Each occurrence of `\^^M' or `\^^M' is replaced by a single space. % % \argremovec might leave us with trailing space, e.g., % @end itemize @c foo @@ -427,8 +476,7 @@ \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty - % We cannot use \next here, as it holds the macro to run; - % thus we reuse \temp. + % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces @@ -440,14 +488,14 @@ % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, -% just before passing the control to \next. -% (Similarily, we have to think about #3 of \argcheckspacesY above: it is +% just before passing the control to \argtorun. +% (Similarly, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % -\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}} +\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to @@ -498,12 +546,12 @@ % used to check whether the current environment is the one expected. % % Non-false conditionals (@iftex, @ifset) don't fit into this, so they -% are not treated as enviroments; they don't open a group. (The +% are not treated as environments; they don't open a group. (The % implementation of @end takes care not to call \endgroup in this % special case.) -% At runtime, environments start with this: +% At run-time, environments start with this: \def\startenvironment#1{\begingroup\def\thisenv{#1}} % initialize \let\thisenv\empty @@ -521,7 +569,7 @@ \fi } -% Evironment mismatch, #1 expected: +% Environment mismatch, #1 expected: \def\badenverr{% \errhelp = \EMsimple \errmessage{This command can appear only \inenvironment\temp, @@ -605,8 +653,8 @@ \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% - \ifx\temp\imacro \ptexi - \else\ifx\temp\jmacro \j + \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi + \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi \else \errmessage{@dotless can be used only with i or j}% \fi\fi } @@ -661,7 +709,7 @@ \def\?{?\spacefactor=\endofsentencespacefactor\space} % @frenchspacing on|off says whether to put extra space after punctuation. -% +% \def\onword{on} \def\offword{off} % @@ -872,15 +920,20 @@ where each line of input produces a line of output.} \temp } -% @include file insert text of that file as input. +% @include FILE -- \input text of FILE. % \def\include{\parseargusing\filenamecatcodes\includezzz} \def\includezzz#1{% \pushthisfilestack \def\thisfile{#1}% {% - \makevalueexpandable - \def\temp{\input #1 }% + \makevalueexpandable % we want to expand any @value in FILE. + \turnoffactive % and allow special characters in the expansion + \indexnofonts % Allow `@@' and other weird things in file names. + \edef\temp{\noexpand\input #1 }% + % + % This trickery is to read FILE outside of a group, in case it makes + % definitions, etc. \expandafter }\temp \popthisfilestack @@ -895,6 +948,8 @@ where each line of input produces a line of output.} \catcode`>=\other \catcode`+=\other \catcode`-=\other + \catcode`\`=\other + \catcode`\'=\other } \def\pushthisfilestack{% @@ -1051,9 +1106,9 @@ where each line of input produces a line of output.} % _ active, and distinguish by seeing if the current family is \slfam, % which is what @var uses. { - \catcode\underChar = \active + \catcode`\_ = \active \gdef\mathunderscore{% - \catcode\underChar=\active + \catcode`\_=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% } } @@ -1070,6 +1125,16 @@ where each line of input produces a line of output.} \mathunderscore \let\\ = \mathbackslash \mathactive + % make the texinfo accent commands work in math mode + \let\"=\ddot + \let\'=\acute + \let\==\bar + \let\^=\hat + \let\`=\grave + \let\u=\breve + \let\v=\check + \let\~=\tilde + \let\dotaccent=\dot $\finishmath } \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. @@ -1083,28 +1148,41 @@ where each line of input produces a line of output.} \catcode`< = \active \catcode`> = \active \catcode`+ = \active + \catcode`' = \active \gdef\mathactive{% \let^ = \ptexhat \let< = \ptexless \let> = \ptexgtr \let+ = \ptexplus + \let' = \ptexquoteright } } -% @bullet and @minus need the same treatment as @math, just above. +% Some math mode symbols. \def\bullet{$\ptexbullet$} -\def\minus{$-$} +\def\geq{\ifmmode \ge\else $\ge$\fi} +\def\leq{\ifmmode \le\else $\le$\fi} +\def\minus{\ifmmode -\else $-$\fi} % @dots{} outputs an ellipsis using the current font. -% We do .5em per period so that it has the same spacing in a typewriter -% font as three actual period characters. +% We do .5em per period so that it has the same spacing in the cm +% typewriter fonts as three actual period characters; on the other hand, +% in other typewriter fonts three periods are wider than 1.5em. So do +% whichever is larger. % \def\dots{% \leavevmode - \hbox to 1.5em{% - \hskip 0pt plus 0.25fil - .\hfil.\hfil.% - \hskip 0pt plus 0.5fil + \setbox0=\hbox{...}% get width of three periods + \ifdim\wd0 > 1.5em + \dimen0 = \wd0 + \else + \dimen0 = 1.5em + \fi + \hbox to \dimen0{% + \hskip 0pt plus.25fil + .\hskip 0pt plus1fil + .\hskip 0pt plus1fil + .\hskip 0pt plus.5fil }% } @@ -1197,33 +1275,33 @@ where each line of input produces a line of output.} \fi \fi -% PDF uses PostScript string constants for the names of xref targets, to +% PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. % http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html % (and related messages, the final outcome is that it is up to the TeX % user to double the backslashes and otherwise make the string valid, so -% that's we do). +% that's what we do). % double active backslashes. -% +% {\catcode`\@=0 \catcode`\\=\active - @gdef@activebackslash{@catcode`@\=@active @otherbackslash} @gdef@activebackslashdouble{% - @catcode@backChar=@active + @catcode`@\=@active @let\=@doublebackslash} } % To handle parens, we must adopt a different approach, since parens are % not active characters. hyperref.dtx (which has the same problem as -% us) handles it with this amazing macro to replace tokens. I've -% tinkered with it a little for texinfo, but it's definitely from there. -% +% us) handles it with this amazing macro to replace tokens, with minor +% changes for Texinfo. It is included here under the GPL by permission +% from the author, Heiko Oberdiek. +% % #1 is the tokens to replace. % #2 is the replacement. % #3 is the control sequence with the string. -% +% \def\HyPsdSubst#1#2#3{% \def\HyPsdReplace##1#1##2\END{% ##1% @@ -1243,53 +1321,135 @@ where each line of input produces a line of output.} \def\backslashparens#1{% \xdef#1{#1}% redefine it as its expansion; the definition is simply % \lastnode when called from \setref -> \pdfmkdest. - \HyPsdSubst{(}{\backslashlparen}{#1}% - \HyPsdSubst{)}{\backslashrparen}{#1}% + \HyPsdSubst{(}{\realbackslash(}{#1}% + \HyPsdSubst{)}{\realbackslash)}{#1}% } -{\catcode\exclamChar = 0 \catcode\backChar = \other - !gdef!backslashlparen{\(}% - !gdef!backslashrparen{\)}% -} +\newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images +with PDF output, and none of those formats could be found. (.eps cannot +be supported due to the design of the PDF format; use regular TeX (DVI +output) for that.)} \ifpdf - \input pdfcolor - \pdfcatalog{/PageMode /UseOutlines}% + % + % Color manipulation macros based on pdfcolor.tex, + % except using rgb instead of cmyk; the latter is said to render as a + % very dark gray on-screen and a very dark halftone in print, instead + % of actual black. + \def\rgbDarkRed{0.50 0.09 0.12} + \def\rgbBlack{0 0 0} + % + % k sets the color for filling (usual text, etc.); + % K sets the color for stroking (thin rules, e.g., normal _'s). + \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}} + % + % Set color, and create a mark which defines \thiscolor accordingly, + % so that \makeheadline knows which color to restore. + \def\setcolor#1{% + \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% + \domark + \pdfsetcolor{#1}% + } + % + \def\maincolor{\rgbBlack} + \pdfsetcolor{\maincolor} + \edef\thiscolor{\maincolor} + \def\lastcolordefs{} + % + \def\makefootline{% + \baselineskip24pt + \line{\pdfsetcolor{\maincolor}\the\footline}% + } + % + \def\makeheadline{% + \vbox to 0pt{% + \vskip-22.5pt + \line{% + \vbox to8.5pt{}% + % Extract \thiscolor definition from the marks. + \getcolormarks + % Typeset the headline with \maincolor, then restore the color. + \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}% + }% + \vss + }% + \nointerlineskip + } + % + % + \pdfcatalog{/PageMode /UseOutlines} + % + % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). \def\dopdfimage#1#2#3{% - \def\imagewidth{#2}% - \def\imageheight{#3}% - % without \immediate, pdftex seg faults when the same image is + \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% + \def\imageheight{#3}\setbox2 = \hbox{\ignorespaces #3}% + % + % pdftex (and the PDF format) support .png, .jpg, .pdf (among + % others). Let's try in that order. + \let\pdfimgext=\empty + \begingroup + \openin 1 #1.png \ifeof 1 + \openin 1 #1.jpg \ifeof 1 + \openin 1 #1.jpeg \ifeof 1 + \openin 1 #1.JPG \ifeof 1 + \openin 1 #1.pdf \ifeof 1 + \openin 1 #1.PDF \ifeof 1 + \errhelp = \nopdfimagehelp + \errmessage{Could not find image file #1 for pdf}% + \else \gdef\pdfimgext{PDF}% + \fi + \else \gdef\pdfimgext{pdf}% + \fi + \else \gdef\pdfimgext{JPG}% + \fi + \else \gdef\pdfimgext{jpeg}% + \fi + \else \gdef\pdfimgext{jpg}% + \fi + \else \gdef\pdfimgext{png}% + \fi + \closein 1 + \endgroup + % + % without \immediate, ancient pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi - \ifx\empty\imagewidth\else width \imagewidth \fi - \ifx\empty\imageheight\else height \imageheight \fi + \ifdim \wd0 >0pt width \imagewidth \fi + \ifdim \wd2 >0pt height \imageheight \fi \ifnum\pdftexversion<13 - #1.pdf% + #1.\pdfimgext \else - {#1.pdf}% + {#1.\pdfimgext}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} + % \def\pdfmkdest#1{{% % We have to set dummies so commands such as @code, and characters % such as \, aren't expanded when present in a section title. - \atdummies + \indexnofonts + \turnoffactive \activebackslashdouble + \makevalueexpandable \def\pdfdestname{#1}% \backslashparens\pdfdestname - \pdfdest name{\pdfdestname} xyz% - }}% + \safewhatsit{\pdfdest name{\pdfdestname} xyz}% + }} % % used to mark target names; must be expandable. - \def\pdfmkpgn#1{#1}% + \def\pdfmkpgn#1{#1} + % + % by default, use a color that is dark enough to print on paper as + % nearly black, but still distinguishable for online viewing. + \def\urlcolor{\rgbDarkRed} + \def\linkcolor{\rgbDarkRed} + \def\endlink{\setcolor{\maincolor}\pdfendlink} % - \let\linkcolor = \Blue % was Cyan, but that seems light? - \def\endlink{\Black\pdfendlink} % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% @@ -1390,8 +1550,8 @@ where each line of input produces a line of output.} % now, I guess we'll just let the pdf reader have its way. \indexnofonts \setupdatafile - \activebackslash - \input \jobname.toc + \catcode`\\=\active \otherbackslash + \input \tocreadfilename \endgroup } % @@ -1409,11 +1569,23 @@ where each line of input produces a line of output.} \else \let \startlink \pdfstartlink \fi + % make a live url in pdf output. \def\pdfurl#1{% \begingroup - \normalturnoffactive\def\@{@}% + % it seems we really need yet another set of dummies; have not + % tried to figure out what each command should do in the context + % of @url. for now, just make @/ a no-op, that's the only one + % people have actually reported a problem with. + % + \normalturnoffactive + \def\@{@}% + \let\/=\empty \makevalueexpandable - \leavevmode\Red + % do we want to go so far as to use \indexnofonts instead of just + % special-casing \var here? + \def\var##1{##1}% + % + \leavevmode\setcolor{\urlcolor}% \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% \endgroup} @@ -1440,13 +1612,15 @@ where each line of input produces a line of output.} {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} - \linkcolor #1\endlink} + \setcolor{\linkcolor}#1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \else + % non-pdf mode \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax - \let\linkcolor = \relax + \let\setcolor = \gobble + \let\pdfsetcolor = \gobble \let\pdfmakeoutlines = \relax \fi % \ifx\pdfoutput @@ -1472,6 +1646,10 @@ where each line of input produces a line of output.} \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} \def\tt{\fam=\ttfam \setfontstyle{tt}} +% Unfortunately, we have to override this for titles and the like, since +% in those cases "rm" is bold. Sigh. +\def\rmisbold{\rm\def\curfontstyle{bf}} + % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf. \newfam\sffam @@ -1481,6 +1659,7 @@ where each line of input produces a line of output.} % We don't need math for this font style. \def\ttsl{\setfontstyle{ttsl}} + % Default leading. \newdimen\textleading \textleading = 13.2pt @@ -1492,8 +1671,12 @@ where each line of input produces a line of output.} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % +% can get a sort of poor man's double spacing by redefining this. +\def\baselinefactor{1} +% \def\setleading#1{% - \normalbaselineskip = #1\relax + \dimen0 = #1\relax + \normalbaselineskip = \baselinefactor\dimen0 \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% @@ -1502,10 +1685,279 @@ where each line of input produces a line of output.} }% } +% PDF CMaps. See also LaTeX's t1.cmap. +% +% do nothing with this by default. +\expandafter\let\csname cmapOT1\endcsname\gobble +\expandafter\let\csname cmapOT1IT\endcsname\gobble +\expandafter\let\csname cmapOT1TT\endcsname\gobble + +% if we are producing pdf, and we have \pdffontattr, then define cmaps. +% (\pdffontattr was introduced many years ago, but people still run +% older pdftex's; it's easy to conditionalize, so we do.) +\ifpdf \ifx\pdffontattr\undefined \else + \begingroup + \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. + \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1-0) +%%Title: (TeX-OT1-0 TeX OT1 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1) +/Supplement 0 +>> def +/CMapName /TeX-OT1-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +8 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<23> <26> <0023> +<28> <3B> <0028> +<3F> <5B> <003F> +<5D> <5E> <005D> +<61> <7A> <0061> +<7B> <7C> <2013> +endbfrange +40 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <00660066> +<0C> <00660069> +<0D> <0066006C> +<0E> <006600660069> +<0F> <00660066006C> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<21> <0021> +<22> <201D> +<27> <2019> +<3C> <00A1> +<3D> <003D> +<3E> <00BF> +<5C> <201C> +<5F> <02D9> +<60> <2018> +<7D> <02DD> +<7E> <007E> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + }\endgroup + \expandafter\edef\csname cmapOT1\endcsname#1{% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% + }% +% +% \cmapOT1IT + \begingroup + \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. + \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1IT-0) +%%Title: (TeX-OT1IT-0 TeX OT1IT 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1IT) +/Supplement 0 +>> def +/CMapName /TeX-OT1IT-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +8 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<25> <26> <0025> +<28> <3B> <0028> +<3F> <5B> <003F> +<5D> <5E> <005D> +<61> <7A> <0061> +<7B> <7C> <2013> +endbfrange +42 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <00660066> +<0C> <00660069> +<0D> <0066006C> +<0E> <006600660069> +<0F> <00660066006C> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<21> <0021> +<22> <201D> +<23> <0023> +<24> <00A3> +<27> <2019> +<3C> <00A1> +<3D> <003D> +<3E> <00BF> +<5C> <201C> +<5F> <02D9> +<60> <2018> +<7D> <02DD> +<7E> <007E> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + }\endgroup + \expandafter\edef\csname cmapOT1IT\endcsname#1{% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% + }% +% +% \cmapOT1TT + \begingroup + \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char. + \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap +%%DocumentNeededResources: ProcSet (CIDInit) +%%IncludeResource: ProcSet (CIDInit) +%%BeginResource: CMap (TeX-OT1TT-0) +%%Title: (TeX-OT1TT-0 TeX OT1TT 0) +%%Version: 1.000 +%%EndComments +/CIDInit /ProcSet findresource begin +12 dict begin +begincmap +/CIDSystemInfo +<< /Registry (TeX) +/Ordering (OT1TT) +/Supplement 0 +>> def +/CMapName /TeX-OT1TT-0 def +/CMapType 2 def +1 begincodespacerange +<00> <7F> +endcodespacerange +5 beginbfrange +<00> <01> <0393> +<09> <0A> <03A8> +<21> <26> <0021> +<28> <5F> <0028> +<61> <7E> <0061> +endbfrange +32 beginbfchar +<02> <0398> +<03> <039B> +<04> <039E> +<05> <03A0> +<06> <03A3> +<07> <03D2> +<08> <03A6> +<0B> <2191> +<0C> <2193> +<0D> <0027> +<0E> <00A1> +<0F> <00BF> +<10> <0131> +<11> <0237> +<12> <0060> +<13> <00B4> +<14> <02C7> +<15> <02D8> +<16> <00AF> +<17> <02DA> +<18> <00B8> +<19> <00DF> +<1A> <00E6> +<1B> <0153> +<1C> <00F8> +<1D> <00C6> +<1E> <0152> +<1F> <00D8> +<20> <2423> +<27> <2019> +<60> <2018> +<7F> <00A8> +endbfchar +endcmap +CMapName currentdict /CMap defineresource pop +end +end +%%EndResource +%%EOF + }\endgroup + \expandafter\edef\csname cmapOT1TT\endcsname#1{% + \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}% + }% +\fi\fi + + % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). -% #3 is the font's design size, #4 is a scale factor -\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} +% #3 is the font's design size, #4 is a scale factor, #5 is the CMap +% encoding (currently only OT1, OT1IT and OT1TT are allowed, pass +% empty to omit). +\def\setfont#1#2#3#4#5{% + \font#1=\fontprefix#2#3 scaled #4 + \csname cmap#5\endcsname#1% +} +% This is what gets called when #5 of \setfont is empty. +\let\cmap\gobble +% emacs-page end of cmaps % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix @@ -1530,118 +1982,293 @@ where each line of input produces a line of output.} \def\scshape{csc} \def\scbshape{csc} +% Definitions for a main text size of 11pt. This is the default in +% Texinfo. +% +\def\definetextfontsizexi{% % Text fonts (11.2pt, magstep1). \def\textnominalsize{11pt} \edef\mainmagstep{\magstephalf} -\setfont\textrm\rmshape{10}{\mainmagstep} -\setfont\texttt\ttshape{10}{\mainmagstep} -\setfont\textbf\bfshape{10}{\mainmagstep} -\setfont\textit\itshape{10}{\mainmagstep} -\setfont\textsl\slshape{10}{\mainmagstep} -\setfont\textsf\sfshape{10}{\mainmagstep} -\setfont\textsc\scshape{10}{\mainmagstep} -\setfont\textttsl\ttslshape{10}{\mainmagstep} +\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} +\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} +\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} +\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} +\setfont\textsl\slshape{10}{\mainmagstep}{OT1} +\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} +\setfont\textsc\scshape{10}{\mainmagstep}{OT1} +\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep +\def\textecsize{1095} % A few fonts for @defun names and args. -\setfont\defbf\bfshape{10}{\magstep1} -\setfont\deftt\ttshape{10}{\magstep1} -\setfont\defttsl\ttslshape{10}{\magstep1} +\setfont\defbf\bfshape{10}{\magstep1}{OT1} +\setfont\deftt\ttshape{10}{\magstep1}{OT1TT} +\setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} % Fonts for indices, footnotes, small examples (9pt). \def\smallnominalsize{9pt} -\setfont\smallrm\rmshape{9}{1000} -\setfont\smalltt\ttshape{9}{1000} -\setfont\smallbf\bfshape{10}{900} -\setfont\smallit\itshape{9}{1000} -\setfont\smallsl\slshape{9}{1000} -\setfont\smallsf\sfshape{9}{1000} -\setfont\smallsc\scshape{10}{900} -\setfont\smallttsl\ttslshape{10}{900} +\setfont\smallrm\rmshape{9}{1000}{OT1} +\setfont\smalltt\ttshape{9}{1000}{OT1TT} +\setfont\smallbf\bfshape{10}{900}{OT1} +\setfont\smallit\itshape{9}{1000}{OT1IT} +\setfont\smallsl\slshape{9}{1000}{OT1} +\setfont\smallsf\sfshape{9}{1000}{OT1} +\setfont\smallsc\scshape{10}{900}{OT1} +\setfont\smallttsl\ttslshape{10}{900}{OT1TT} \font\smalli=cmmi9 \font\smallsy=cmsy9 +\def\smallecsize{0900} % Fonts for small examples (8pt). \def\smallernominalsize{8pt} -\setfont\smallerrm\rmshape{8}{1000} -\setfont\smallertt\ttshape{8}{1000} -\setfont\smallerbf\bfshape{10}{800} -\setfont\smallerit\itshape{8}{1000} -\setfont\smallersl\slshape{8}{1000} -\setfont\smallersf\sfshape{8}{1000} -\setfont\smallersc\scshape{10}{800} -\setfont\smallerttsl\ttslshape{10}{800} +\setfont\smallerrm\rmshape{8}{1000}{OT1} +\setfont\smallertt\ttshape{8}{1000}{OT1TT} +\setfont\smallerbf\bfshape{10}{800}{OT1} +\setfont\smallerit\itshape{8}{1000}{OT1IT} +\setfont\smallersl\slshape{8}{1000}{OT1} +\setfont\smallersf\sfshape{8}{1000}{OT1} +\setfont\smallersc\scshape{10}{800}{OT1} +\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} \font\smalleri=cmmi8 \font\smallersy=cmsy8 +\def\smallerecsize{0800} % Fonts for title page (20.4pt): \def\titlenominalsize{20pt} -\setfont\titlerm\rmbshape{12}{\magstep3} -\setfont\titleit\itbshape{10}{\magstep4} -\setfont\titlesl\slbshape{10}{\magstep4} -\setfont\titlett\ttbshape{12}{\magstep3} -\setfont\titlettsl\ttslshape{10}{\magstep4} -\setfont\titlesf\sfbshape{17}{\magstep1} +\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} +\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} +\setfont\titlesl\slbshape{10}{\magstep4}{OT1} +\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} +\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} +\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} \let\titlebf=\titlerm -\setfont\titlesc\scbshape{10}{\magstep4} +\setfont\titlesc\scbshape{10}{\magstep4}{OT1} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 -\def\authorrm{\secrm} -\def\authortt{\sectt} +\def\titleecsize{2074} % Chapter (and unnumbered) fonts (17.28pt). \def\chapnominalsize{17pt} -\setfont\chaprm\rmbshape{12}{\magstep2} -\setfont\chapit\itbshape{10}{\magstep3} -\setfont\chapsl\slbshape{10}{\magstep3} -\setfont\chaptt\ttbshape{12}{\magstep2} -\setfont\chapttsl\ttslshape{10}{\magstep3} -\setfont\chapsf\sfbshape{17}{1000} +\setfont\chaprm\rmbshape{12}{\magstep2}{OT1} +\setfont\chapit\itbshape{10}{\magstep3}{OT1IT} +\setfont\chapsl\slbshape{10}{\magstep3}{OT1} +\setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT} +\setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT} +\setfont\chapsf\sfbshape{17}{1000}{OT1} \let\chapbf=\chaprm -\setfont\chapsc\scbshape{10}{\magstep3} +\setfont\chapsc\scbshape{10}{\magstep3}{OT1} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 +\def\chapecsize{1728} % Section fonts (14.4pt). \def\secnominalsize{14pt} -\setfont\secrm\rmbshape{12}{\magstep1} -\setfont\secit\itbshape{10}{\magstep2} -\setfont\secsl\slbshape{10}{\magstep2} -\setfont\sectt\ttbshape{12}{\magstep1} -\setfont\secttsl\ttslshape{10}{\magstep2} -\setfont\secsf\sfbshape{12}{\magstep1} +\setfont\secrm\rmbshape{12}{\magstep1}{OT1} +\setfont\secit\itbshape{10}{\magstep2}{OT1IT} +\setfont\secsl\slbshape{10}{\magstep2}{OT1} +\setfont\sectt\ttbshape{12}{\magstep1}{OT1TT} +\setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT} +\setfont\secsf\sfbshape{12}{\magstep1}{OT1} \let\secbf\secrm -\setfont\secsc\scbshape{10}{\magstep2} +\setfont\secsc\scbshape{10}{\magstep2}{OT1} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 +\def\sececsize{1440} % Subsection fonts (13.15pt). \def\ssecnominalsize{13pt} -\setfont\ssecrm\rmbshape{12}{\magstephalf} -\setfont\ssecit\itbshape{10}{1315} -\setfont\ssecsl\slbshape{10}{1315} -\setfont\ssectt\ttbshape{12}{\magstephalf} -\setfont\ssecttsl\ttslshape{10}{1315} -\setfont\ssecsf\sfbshape{12}{\magstephalf} +\setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1} +\setfont\ssecit\itbshape{10}{1315}{OT1IT} +\setfont\ssecsl\slbshape{10}{1315}{OT1} +\setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT} +\setfont\ssecttsl\ttslshape{10}{1315}{OT1TT} +\setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1} \let\ssecbf\ssecrm -\setfont\ssecsc\scbshape{10}{1315} +\setfont\ssecsc\scbshape{10}{1315}{OT1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 +\def\ssececsize{1200} % Reduced fonts for @acro in text (10pt). \def\reducednominalsize{10pt} -\setfont\reducedrm\rmshape{10}{1000} -\setfont\reducedtt\ttshape{10}{1000} -\setfont\reducedbf\bfshape{10}{1000} -\setfont\reducedit\itshape{10}{1000} -\setfont\reducedsl\slshape{10}{1000} -\setfont\reducedsf\sfshape{10}{1000} -\setfont\reducedsc\scshape{10}{1000} -\setfont\reducedttsl\ttslshape{10}{1000} +\setfont\reducedrm\rmshape{10}{1000}{OT1} +\setfont\reducedtt\ttshape{10}{1000}{OT1TT} +\setfont\reducedbf\bfshape{10}{1000}{OT1} +\setfont\reducedit\itshape{10}{1000}{OT1IT} +\setfont\reducedsl\slshape{10}{1000}{OT1} +\setfont\reducedsf\sfshape{10}{1000}{OT1} +\setfont\reducedsc\scshape{10}{1000}{OT1} +\setfont\reducedttsl\ttslshape{10}{1000}{OT1TT} \font\reducedi=cmmi10 \font\reducedsy=cmsy10 +\def\reducedecsize{1000} + +% reset the current fonts +\textfonts +\rm +} % end of 11pt text font size definitions + + +% Definitions to make the main text be 10pt Computer Modern, with +% section, chapter, etc., sizes following suit. This is for the GNU +% Press printing of the Emacs 22 manual. Maybe other manuals in the +% future. Used with @smallbook, which sets the leading to 12pt. +% +\def\definetextfontsizex{% +% Text fonts (10pt). +\def\textnominalsize{10pt} +\edef\mainmagstep{1000} +\setfont\textrm\rmshape{10}{\mainmagstep}{OT1} +\setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT} +\setfont\textbf\bfshape{10}{\mainmagstep}{OT1} +\setfont\textit\itshape{10}{\mainmagstep}{OT1IT} +\setfont\textsl\slshape{10}{\mainmagstep}{OT1} +\setfont\textsf\sfshape{10}{\mainmagstep}{OT1} +\setfont\textsc\scshape{10}{\mainmagstep}{OT1} +\setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep +\def\textecsize{1000} + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstephalf}{OT1} +\setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} +\setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000}{OT1} +\setfont\smalltt\ttshape{9}{1000}{OT1TT} +\setfont\smallbf\bfshape{10}{900}{OT1} +\setfont\smallit\itshape{9}{1000}{OT1IT} +\setfont\smallsl\slshape{9}{1000}{OT1} +\setfont\smallsf\sfshape{9}{1000}{OT1} +\setfont\smallsc\scshape{10}{900}{OT1} +\setfont\smallttsl\ttslshape{10}{900}{OT1TT} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 +\def\smallecsize{0900} + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000}{OT1} +\setfont\smallertt\ttshape{8}{1000}{OT1TT} +\setfont\smallerbf\bfshape{10}{800}{OT1} +\setfont\smallerit\itshape{8}{1000}{OT1IT} +\setfont\smallersl\slshape{8}{1000}{OT1} +\setfont\smallersf\sfshape{8}{1000}{OT1} +\setfont\smallersc\scshape{10}{800}{OT1} +\setfont\smallerttsl\ttslshape{10}{800}{OT1TT} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 +\def\smallerecsize{0800} + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3}{OT1} +\setfont\titleit\itbshape{10}{\magstep4}{OT1IT} +\setfont\titlesl\slbshape{10}{\magstep4}{OT1} +\setfont\titlett\ttbshape{12}{\magstep3}{OT1TT} +\setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT} +\setfont\titlesf\sfbshape{17}{\magstep1}{OT1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4}{OT1} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\titleecsize{2074} + +% Chapter fonts (14.4pt). +\def\chapnominalsize{14pt} +\setfont\chaprm\rmbshape{12}{\magstep1}{OT1} +\setfont\chapit\itbshape{10}{\magstep2}{OT1IT} +\setfont\chapsl\slbshape{10}{\magstep2}{OT1} +\setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT} +\setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT} +\setfont\chapsf\sfbshape{12}{\magstep1}{OT1} +\let\chapbf\chaprm +\setfont\chapsc\scbshape{10}{\magstep2}{OT1} +\font\chapi=cmmi12 scaled \magstep1 +\font\chapsy=cmsy10 scaled \magstep2 +\def\chapecsize{1440} + +% Section fonts (12pt). +\def\secnominalsize{12pt} +\setfont\secrm\rmbshape{12}{1000}{OT1} +\setfont\secit\itbshape{10}{\magstep1}{OT1IT} +\setfont\secsl\slbshape{10}{\magstep1}{OT1} +\setfont\sectt\ttbshape{12}{1000}{OT1TT} +\setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT} +\setfont\secsf\sfbshape{12}{1000}{OT1} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep1}{OT1} +\font\seci=cmmi12 +\font\secsy=cmsy10 scaled \magstep1 +\def\sececsize{1200} + +% Subsection fonts (10pt). +\def\ssecnominalsize{10pt} +\setfont\ssecrm\rmbshape{10}{1000}{OT1} +\setfont\ssecit\itbshape{10}{1000}{OT1IT} +\setfont\ssecsl\slbshape{10}{1000}{OT1} +\setfont\ssectt\ttbshape{10}{1000}{OT1TT} +\setfont\ssecttsl\ttslshape{10}{1000}{OT1TT} +\setfont\ssecsf\sfbshape{10}{1000}{OT1} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1000}{OT1} +\font\sseci=cmmi10 +\font\ssecsy=cmsy10 +\def\ssececsize{1000} + +% Reduced fonts for @acro in text (9pt). +\def\reducednominalsize{9pt} +\setfont\reducedrm\rmshape{9}{1000}{OT1} +\setfont\reducedtt\ttshape{9}{1000}{OT1TT} +\setfont\reducedbf\bfshape{10}{900}{OT1} +\setfont\reducedit\itshape{9}{1000}{OT1IT} +\setfont\reducedsl\slshape{9}{1000}{OT1} +\setfont\reducedsf\sfshape{9}{1000}{OT1} +\setfont\reducedsc\scshape{10}{900}{OT1} +\setfont\reducedttsl\ttslshape{10}{900}{OT1TT} +\font\reducedi=cmmi9 +\font\reducedsy=cmsy9 +\def\reducedecsize{0900} + +% reduce space between paragraphs +\divide\parskip by 2 + +% reset the current fonts +\textfonts +\rm +} % end of 10pt text font size definitions + + +% We provide the user-level command +% @fonttextsize 10 +% (or 11) to redefine the text font size. pt is assumed. +% +\def\xword{10} +\def\xiword{11} +% +\parseargdef\fonttextsize{% + \def\textsizearg{#1}% + \wlog{doing @fonttextsize \textsizearg}% + % + % Set \globaldefs so that documents can use this inside @tex, since + % makeinfo 4.8 does not support it, but we need it nonetheless. + % + \begingroup \globaldefs=1 + \ifx\textsizearg\xword \definetextfontsizex + \else \ifx\textsizearg\xiword \definetextfontsizexi + \else + \errhelp=\EMsimple + \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'} + \fi\fi + \endgroup +} + % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since @@ -1682,7 +2309,7 @@ where each line of input produces a line of output.} \def\curfontsize{title}% \def\lsize{chap}\def\lllsize{subsec}% \resetmathfonts \setleading{25pt}} -\def\titlefont#1{{\titlefonts\rm #1}} +\def\titlefont#1{{\titlefonts\rmisbold #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc @@ -1733,6 +2360,16 @@ where each line of input produces a line of output.} \def\lsize{smaller}\def\lllsize{smaller}% \resetmathfonts \setleading{9.5pt}} +% Fonts for short table of contents. +\setfont\shortcontrm\rmshape{12}{1000}{OT1} +\setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 +\setfont\shortcontsl\slshape{12}{1000}{OT1} +\setfont\shortconttt\ttshape{12}{1000}{OT1TT} + +% Define these just so they can be easily changed for other fonts. +\def\angleleft{$\langle$} +\def\angleright{$\rangle$} + % Set the fonts to use with the @small... environments. \let\smallexamplefonts = \smallfonts @@ -1746,28 +2383,128 @@ where each line of input produces a line of output.} % % By the way, for comparison, here's what fits with @example (10pt): % 8.5x11=71 smallbook=60 a4=75 a5=58 -% -% I wish the USA used A4 paper. % --karl, 24jan03. - % Set up the default fonts, so we can use them for creating boxes. % -\textfonts \rm +\definetextfontsizexi -% Define these so they can be easily changed for other fonts. -\def\angleleft{$\langle$} -\def\angleright{$\rangle$} + +\message{markup,} + +% Check if we are currently using a typewriter font. Since all the +% Computer Modern typewriter fonts have zero interword stretch (and +% shrink), and it is reasonable to expect all typewriter fonts to have +% this property, we can check that font parameter. +% +\def\ifmonospace{\ifdim\fontdimen3\font=0pt } + +% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will +% define and register \INITMACRO to be called on markup style changes. +% \INITMACRO can check \currentmarkupstyle for the innermost +% style and the set of \ifmarkupSTYLE switches for all styles +% currently in effect. +\newif\ifmarkupvar +\newif\ifmarkupsamp +\newif\ifmarkupkey +%\newif\ifmarkupfile % @file == @samp. +%\newif\ifmarkupoption % @option == @samp. +\newif\ifmarkupcode +\newif\ifmarkupkbd +%\newif\ifmarkupenv % @env == @code. +%\newif\ifmarkupcommand % @command == @code. +\newif\ifmarkuptex % @tex (and part of @math, for now). +\newif\ifmarkupexample +\newif\ifmarkupverb +\newif\ifmarkupverbatim + +\let\currentmarkupstyle\empty + +\def\setupmarkupstyle#1{% + \csname markup#1true\endcsname + \def\currentmarkupstyle{#1}% + \markupstylesetup +} + +\let\markupstylesetup\empty + +\def\defmarkupstylesetup#1{% + \expandafter\def\expandafter\markupstylesetup + \expandafter{\markupstylesetup #1}% + \def#1% +} + +% Markup style setup for left and right quotes. +\defmarkupstylesetup\markupsetuplq{% + \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname + \ifx\temp\relax \markupsetuplqdefault \else \temp \fi +} + +\defmarkupstylesetup\markupsetuprq{% + \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname + \ifx\temp\relax \markupsetuprqdefault \else \temp \fi +} + +{ +\catcode`\'=\active +\catcode`\`=\active + +\gdef\markupsetuplqdefault{\let`\lq} +\gdef\markupsetuprqdefault{\let'\rq} + +\gdef\markupsetcodequoteleft{\let`\codequoteleft} +\gdef\markupsetcodequoteright{\let'\codequoteright} + +\gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} +} + +\let\markupsetuplqcode \markupsetcodequoteleft +\let\markupsetuprqcode \markupsetcodequoteright +\let\markupsetuplqexample \markupsetcodequoteleft +\let\markupsetuprqexample \markupsetcodequoteright +\let\markupsetuplqverb \markupsetcodequoteleft +\let\markupsetuprqverb \markupsetcodequoteright +\let\markupsetuplqverbatim \markupsetcodequoteleft +\let\markupsetuprqverbatim \markupsetcodequoteright + +\let\markupsetuplqsamp \markupsetnoligaturesquoteleft +\let\markupsetuplqkbd \markupsetnoligaturesquoteleft + +% Allow an option to not replace quotes with a regular directed right +% quote/apostrophe (char 0x27), but instead use the undirected quote +% from cmtt (char 0x0d). The undirected quote is ugly, so don't make it +% the default, but it works for pasting with more pdf viewers (at least +% evince), the lilypond developers report. xpdf does work with the +% regular 0x27. +% +\def\codequoteright{% + \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax + \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax + '% + \else \char'15 \fi + \else \char'15 \fi +} +% +% and a similar option for the left quote char vs. a grave accent. +% Modern fonts display ASCII 0x60 as a grave accent, so some people like +% the code environments to do likewise. +% +\def\codequoteleft{% + \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax + % [Knuth] pp. 380,381,391 + % \relax disables Spanish ligatures ?` and !` of \tt font. + \relax`% + \else \char'22 \fi + \else \char'22 \fi +} + +% [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. +\def\noligaturesquoteleft{\relax\lq} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 -% Fonts for short table of contents. -\setfont\shortcontrm\rmshape{12}{1000} -\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12 -\setfont\shortcontsl\slshape{12}{1000} -\setfont\shortconttt\ttshape{12}{1000} - %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic @@ -1782,17 +2519,22 @@ where each line of input produces a line of output.} % @var is set to this for defun arguments. \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} -% like \smartslanted except unconditionally use \sl. We never want +% @cite is like \smartslanted except unconditionally use \sl. We never want % ttsl for book titles, do we? \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\slanted=\smartslanted -\let\var=\smartslanted +\def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} \let\dfn=\smartslanted \let\emph=\smartitalic -% @b, explicit bold. +% Explicit font changes: @r, @sc, undocumented @ii. +\def\r#1{{\rm #1}} % roman font +\def\sc#1{{\smallcaps#1}} % smallcaps font +\def\ii#1{{\it #1}} % italic font + +% @b, explicit bold. Also @strong. \def\b#1{{\bf #1}} \let\strong=\b @@ -1824,21 +2566,35 @@ where each line of input produces a line of output.} \catcode`@=\other \def\endofsentencespacefactor{3000}% default +% @t, explicit typewriter. \def\t#1{% {\tt \rawbackslash \plainfrenchspacing #1}% \null } -\def\samp#1{`\tclose{#1}'\null} -\setfont\keyrm\rmshape{8}{1000} -\font\keysy=cmsy9 -\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% - \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% - \vbox{\hrule\kern-0.4pt - \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% - \kern-0.4pt\hrule}% - \kern-.06em\raise0.4pt\hbox{\angleright}}}} -% The old definition, with no lozenge: -%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} + +% @samp. +\def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} + +% definition of @key that produces a lozenge. Doesn't adjust to text size. +%\setfont\keyrm\rmshape{8}{1000}{OT1} +%\font\keysy=cmsy9 +%\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% +% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% +% \vbox{\hrule\kern-0.4pt +% \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% +% \kern-0.4pt\hrule}% +% \kern-.06em\raise0.4pt\hbox{\angleright}}}} + +% definition of @key with no lozenge. If the current font is already +% monospace, don't change it; that way, we respect @kbdinputstyle. But +% if it isn't monospace, then use \tt. +% +\def\key#1{{\setupmarkupstyle{key}% + \nohyphenation + \ifmonospace\else\tt\fi + #1}\null} + +% ctrl is no longer a Texinfo command. \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. @@ -1878,11 +2634,14 @@ where each line of input produces a line of output.} % and arrange explicitly to hyphenate at a dash. % -- rms. { - \catcode`\-=\active - \catcode`\_=\active + \catcode`\-=\active \catcode`\_=\active + \catcode`\'=\active \catcode`\`=\active + \global\let'=\rq \global\let`=\lq % default definitions % \global\def\code{\begingroup - \catcode`\-=\active \catcode`\_=\active + \setupmarkupstyle{code}% + % The following should really be moved into \setupmarkupstyle handlers. + \catcode\dashChar=\active \catcode\underChar=\active \ifallowcodebreaks \let-\codedash \let_\codeunder @@ -1913,7 +2672,7 @@ where each line of input produces a line of output.} % each of the four underscores in __typeof__. This is undesirable in % some manuals, especially if they don't have long identifiers in % general. @allowcodebreaks provides a way to control this. -% +% \newif\ifallowcodebreaks \allowcodebreakstrue \def\keywordtrue{true} @@ -1933,6 +2692,7 @@ where each line of input produces a line of output.} % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. +\def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), @@ -1954,20 +2714,27 @@ where each line of input produces a line of output.} \def\wordexample{example} \def\wordcode{code} -% Default is `distinct.' +% Default is `distinct'. \kbdinputstyle distinct \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% -\else{\tclose{\kbdfont\look}}\fi -\else{\tclose{\kbdfont\look}}\fi} +\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi +\else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. \let\indicateurl=\code \let\env=\code \let\command=\code +% @clicksequence{File @click{} Open ...} +\def\clicksequence#1{\begingroup #1\endgroup} + +% @clickstyle @arrow (by default) +\parseargdef\clickstyle{\def\click{#1}} +\def\click{\arrow} + % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url @@ -2017,34 +2784,20 @@ where each line of input produces a line of output.} \let\email=\uref \fi -% Check if we are currently using a typewriter font. Since all the -% Computer Modern typewriter fonts have zero interword stretch (and -% shrink), and it is reasonable to expect all typewriter fonts to have -% this property, we can check that font parameter. -% -\def\ifmonospace{\ifdim\fontdimen3\font=0pt } - % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} -\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} - % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} -% Explicit font changes: @r, @sc, undocumented @ii. -\def\r#1{{\rm #1}} % roman font -\def\sc#1{{\smallcaps#1}} % smallcaps font -\def\ii#1{{\it #1}} % italic font - % @acronym for "FBI", "NATO", and the like. % We print this one point size smaller, since it's intended for % all-uppercase. -% +% \def\acronym#1{\doacronym #1,,\finish} \def\doacronym#1,#2,#3\finish{% {\selectfonts\lsize #1}% @@ -2056,7 +2809,7 @@ where each line of input produces a line of output.} % @abbr for "Comput. J." and the like. % No font change, but don't do end-of-sentence spacing. -% +% \def\abbr#1{\doabbr #1,,\finish} \def\doabbr#1,#2,#3\finish{% {\plainfrenchspacing #1}% @@ -2066,6 +2819,44 @@ where each line of input produces a line of output.} \fi } + +\message{glyphs,} + +% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% +% Since these characters are used in examples, they should be an even number of +% \tt widths. Each \tt character is 1en, so two makes it 1em. +% +\def\point{$\star$} +\def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} +\def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} +\def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} +\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} +\def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} + +% The @error{} command. +% Adapted from the TeXbook's \boxit. +% +\newbox\errorbox +% +{\tentt \global\dimen0 = 3em}% Width of the box. +\dimen2 = .55pt % Thickness of rules +% The text. (`r' is open on the right, `e' somewhat less so on the left.) +\setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} +% +\setbox\errorbox=\hbox to \dimen0{\hfil + \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. + \advance\hsize by -2\dimen2 % Rules. + \vbox{% + \hrule height\dimen2 + \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. + \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. + \kern3pt\vrule width\dimen2}% Space to right. + \hrule height\dimen2} + \hfil} +% +\def\error{\leavevmode\lower.7ex\copy\errorbox} + % @pounds{} is a sterling sign, which Knuth put in the CM italic font. % \def\pounds{{\it\$}} @@ -2075,49 +2866,113 @@ where each line of input produces a line of output.} % Theiling, which support regular, slanted, bold and bold slanted (and % "outlined" (blackboard board, sort of) versions, which we don't need). % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. -% +% % Although only regular is the truly official Euro symbol, we ignore % that. The Euro is designed to be slightly taller than the regular % font height. -% +% % feymr - regular % feymo - slanted % feybr - bold % feybo - bold slanted -% +% % There is no good (free) typewriter version, to my knowledge. % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. % Hmm. -% +% % Also doesn't work in math. Do we need to do math with euro symbols? % Hope not. -% -% +% +% \def\euro{{\eurofont e}} \def\eurofont{% % We set the font at each command, rather than predefining it in % \textfonts and the other font-switching commands, so that % installations which never need the symbol don't have to have the % font installed. - % + % % There is only one designed size (nominal 10pt), so we always scale % that to the current nominal size. - % + % % By the way, simply using "at 1em" works for cmr10 and the like, but % does not work for cmbx10 and other extended/shrunken fonts. - % + % \def\eurosize{\csname\curfontsize nominalsize\endcsname}% % - \ifx\curfontstyle\bfstylename + \ifx\curfontstyle\bfstylename % bold: \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize - \else + \else % regular: \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize \fi \thiseurofont } +% Glyphs from the EC fonts. We don't use \let for the aliases, because +% sometimes we redefine the original macro, and the alias should reflect +% the redefinition. +% +% Use LaTeX names for the Icelandic letters. +\def\DH{{\ecfont \char"D0}} % Eth +\def\dh{{\ecfont \char"F0}} % eth +\def\TH{{\ecfont \char"DE}} % Thorn +\def\th{{\ecfont \char"FE}} % thorn +% +\def\guillemetleft{{\ecfont \char"13}} +\def\guillemotleft{\guillemetleft} +\def\guillemetright{{\ecfont \char"14}} +\def\guillemotright{\guillemetright} +\def\guilsinglleft{{\ecfont \char"0E}} +\def\guilsinglright{{\ecfont \char"0F}} +\def\quotedblbase{{\ecfont \char"12}} +\def\quotesinglbase{{\ecfont \char"0D}} +% +% This positioning is not perfect (see the ogonek LaTeX package), but +% we have the precomposed glyphs for the most common cases. We put the +% tests to use those glyphs in the single \ogonek macro so we have fewer +% dummy definitions to worry about for index entries, etc. +% +% ogonek is also used with other letters in Lithuanian (IOU), but using +% the precomposed glyphs for those is not so easy since they aren't in +% the same EC font. +\def\ogonek#1{{% + \def\temp{#1}% + \ifx\temp\macrocharA\Aogonek + \else\ifx\temp\macrochara\aogonek + \else\ifx\temp\macrocharE\Eogonek + \else\ifx\temp\macrochare\eogonek + \else + \ecfont \setbox0=\hbox{#1}% + \ifdim\ht0=1ex\accent"0C #1% + \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% + \fi + \fi\fi\fi\fi + }% +} +\def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} +\def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} +\def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} +\def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} +% +% Use the ec* fonts (cm-super in outline format) for non-CM glyphs. +\def\ecfont{% + % We can't distinguish serif/sans and italic/slanted, but this + % is used for crude hacks anyway (like adding French and German + % quotes to documents typeset with CM, where we lose kerning), so + % hopefully nobody will notice/care. + \edef\ecsize{\csname\curfontsize ecsize\endcsname}% + \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}% + \ifx\curfontstyle\bfstylename + % bold: + \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize + \else + % regular: + \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize + \fi + \thisecfont +} + % @registeredsymbol - R in a circle. The font for the R should really % be smaller yet, but lllsize is the best we can do for now. % Adapted from the plain.tex definition of \copyright. @@ -2128,14 +2983,24 @@ where each line of input produces a line of output.} }$% } +% @textdegree - the normal degrees sign. +% +\def\textdegree{$^\circ$} + % Laurent Siebenmann reports \Orb undefined with: % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 % so we'll define it if necessary. -% +% \ifx\Orb\undefined \def\Orb{\mathhexbox20D} \fi +% Quotes. +\chardef\quotedblleft="5C +\chardef\quotedblright=`\" +\chardef\quoteleft=`\` +\chardef\quoteright=`\' + \message{page headings,} @@ -2220,12 +3085,9 @@ where each line of input produces a line of output.} \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} -\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines - \let\tt=\authortt} - \parseargdef\title{% \checkenv\titlepage - \leftline{\titlefonts\rm #1} + \leftline{\titlefonts\rmisbold #1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt @@ -2246,7 +3108,7 @@ where each line of input produces a line of output.} \else \checkenv\titlepage \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi - {\authorfont \leftline{#1}}% + {\secfonts\rmisbold \leftline{#1}}% \fi } @@ -2299,12 +3161,39 @@ where each line of input produces a line of output.} % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. - \global\advance\pageheight by -\baselineskip - \global\advance\vsize by -\baselineskip + \global\advance\pageheight by -12pt + \global\advance\vsize by -12pt } \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} +% @evenheadingmarks top \thischapter <- chapter at the top of a page +% @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page +% +% The same set of arguments for: +% +% @oddheadingmarks +% @evenfootingmarks +% @oddfootingmarks +% @everyheadingmarks +% @everyfootingmarks + +\def\evenheadingmarks{\headingmarks{even}{heading}} +\def\oddheadingmarks{\headingmarks{odd}{heading}} +\def\evenfootingmarks{\headingmarks{even}{footing}} +\def\oddfootingmarks{\headingmarks{odd}{footing}} +\def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1} + \headingmarks{odd}{heading}{#1} } +\def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1} + \headingmarks{odd}{footing}{#1} } +% #1 = even/odd, #2 = heading/footing, #3 = top/bottom. +\def\headingmarks#1#2#3 {% + \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname + \global\expandafter\let\csname get#1#2marks\endcsname \temp +} + +\everyheadingmarks bottom +\everyfootingmarks bottom % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. @@ -2447,7 +3336,7 @@ where each line of input produces a line of output.} % cause the example and the item to crash together. So we use this % bizarre value of 10001 as a signal to \aboveenvbreak to insert % \parskip glue after all. Section titles are handled this way also. - % + % \penalty 10001 \endgroup \itemxneedsnegativevskipfalse @@ -2541,9 +3430,18 @@ where each line of input produces a line of output.} \parindent=0pt \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi + % + % Try typesetting the item mark that if the document erroneously says + % something like @itemize @samp (intending @table), there's an error + % right away at the @itemize. It's not the best error message in the + % world, but it's better than leaving it to the @item. This means if + % the user wants an empty mark, they have to say @w{} not just @w. \def\itemcontents{#1}% + \setbox0 = \hbox{\itemcontents}% + % % @itemize with no arg is equivalent to @itemize @bullet. \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + % \let\item=\itemizeitem } @@ -2564,6 +3462,7 @@ where each line of input produces a line of output.} \ifnum\lastpenalty<10000 \parskip=0in \fi \noindent \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% + % \vadjust{\penalty 1200}}% not good to break after first line of item. \flushcr } @@ -2785,12 +3684,19 @@ where each line of input produces a line of output.} % % @headitem starts a heading row, which we typeset in bold. % Assignments have to be global since we are inside the implicit group -% of an alignment entry. Note that \everycr resets \everytab. -\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% +% of an alignment entry. \everycr resets \everytab so we don't have to +% undo it ourselves. +\def\headitemfont{\b}% for people to use in the template row; not changeable +\def\headitem{% + \checkenv\multitable + \crcr + \global\everytab={\bf}% can't use \headitemfont since the parsing differs + \the\everytab % for the first item +}% % % A \tab used to include \hskip1sp. But then the space in a template % line is not enough. That is bad. So let's go back to just `&' until -% we encounter the problem it was intended to solve again. +% we again encounter the problem the 1sp was intended to solve. % --karl, nathan@acm.org, 20apr99. \def\tab{\checkenv\multitable &\the\everytab}% @@ -2959,6 +3865,7 @@ where each line of input produces a line of output.} \def\doignore#1{\begingroup % Scan in ``verbatim'' mode: + \obeylines \catcode`\@ = \other \catcode`\{ = \other \catcode`\} = \other @@ -2979,16 +3886,16 @@ where each line of input produces a line of output.} \gdef\dodoignore#1{% % #1 contains the command name as a string, e.g., `ifinfo'. % - % Define a command to find the next `@end #1', which must be on a line - % by itself. - \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}% + % Define a command to find the next `@end #1'. + \long\def\doignoretext##1^^M@end #1{% + \doignoretextyyy##1^^M@#1\_STOP_}% + % % And this command to find another #1 command, at the beginning of a % line. (Otherwise, we would consider a line `@c @ifset', for % example, to count as an @ifset for nesting.) \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% % % And now expand that command. - \obeylines % \doignoretext ^^M% }% } @@ -3018,7 +3925,12 @@ where each line of input produces a line of output.} } % Finish off ignored text. -\def\enddoignore{\endgroup\ignorespaces} +{ \obeylines% + % Ignore anything after the last `@end #1'; this matters in verbatim + % environments, where otherwise the newline after an ignored conditional + % would result in a blank line in the output. + \gdef\enddoignore#1^^M{\endgroup\ignorespaces}% +} % @set VAR sets the variable VAR to an empty value. @@ -3183,11 +4095,11 @@ where each line of input produces a line of output.} \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. - \expandafter \ifx\csname donesynindex#2\endcsname \undefined + \expandafter \ifx\csname donesynindex#2\endcsname \relax % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname - \expandafter\let\csname\donesynindex#2\endcsname = 1 + \expandafter\let\csname donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname @@ -3221,12 +4133,39 @@ where each line of input produces a line of output.} \escapechar = `\\ % use backslash in output files. \def\@{@}% change to @@ when we switch to @ as escape char in index files. \def\ {\realbackslash\space }% + % % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace % + % I don't entirely understand this, but when an index entry is + % generated from a macro call, the \endinput which \scanmacro inserts + % causes processing to be prematurely terminated. This is, + % apparently, because \indexsorttmp is fully expanded, and \endinput + % is an expandable command. The redefinition below makes \endinput + % disappear altogether for that purpose -- although logging shows that + % processing continues to some further point. On the other hand, it + % seems \endinput does not hurt in the printed index arg, since that + % is still getting written without apparent harm. + % + % Sample source (mac-idx3.tex, reported by Graham Percival to + % help-texinfo, 22may06): + % @macro funindex {WORD} + % @findex xyz + % @end macro + % ... + % @funindex commtest + % + % The above is not enough to reproduce the bug, but it gives the flavor. + % + % Sample whatsit resulting: + % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} + % + % So: + \let\endinput = \empty + % % Do the redefinitions. \commondummies } @@ -3244,6 +4183,7 @@ where each line of input produces a line of output.} % % Do the redefinitions. \commondummies + \otherbackslash } % Called from \indexdummies and \atdummies. @@ -3274,19 +4214,23 @@ where each line of input produces a line of output.} % Non-English letters. \definedummyword\AA \definedummyword\AE + \definedummyword\DH \definedummyword\L - \definedummyword\OE \definedummyword\O + \definedummyword\OE + \definedummyword\TH \definedummyword\aa \definedummyword\ae - \definedummyword\l - \definedummyword\oe - \definedummyword\o - \definedummyword\ss + \definedummyword\dh \definedummyword\exclamdown - \definedummyword\questiondown + \definedummyword\l + \definedummyword\o + \definedummyword\oe \definedummyword\ordf \definedummyword\ordm + \definedummyword\questiondown + \definedummyword\ss + \definedummyword\th % % Although these internal commands shouldn't show up, sometimes they do. \definedummyword\bf @@ -3311,12 +4255,24 @@ where each line of input produces a line of output.} \definedummyword\equiv \definedummyword\error \definedummyword\euro + \definedummyword\guillemetleft + \definedummyword\guillemetright + \definedummyword\guilsinglleft + \definedummyword\guilsinglright \definedummyword\expansion \definedummyword\minus + \definedummyword\ogonek \definedummyword\pounds \definedummyword\point \definedummyword\print + \definedummyword\quotedblbase + \definedummyword\quotedblleft + \definedummyword\quotedblright + \definedummyword\quoteleft + \definedummyword\quoteright + \definedummyword\quotesinglbase \definedummyword\result + \definedummyword\textdegree % % We want to disable all macros so that they are not expanded by \write. \macrolist @@ -3330,63 +4286,64 @@ where each line of input produces a line of output.} % \commondummiesnofonts: common to \commondummies and \indexnofonts. % -% Better have this without active chars. -{ - \catcode`\~=\other - \gdef\commondummiesnofonts{% - % Control letters and accents. - \definedummyletter\!% - \definedummyaccent\"% - \definedummyaccent\'% - \definedummyletter\*% - \definedummyaccent\,% - \definedummyletter\.% - \definedummyletter\/% - \definedummyletter\:% - \definedummyaccent\=% - \definedummyletter\?% - \definedummyaccent\^% - \definedummyaccent\`% - \definedummyaccent\~% - \definedummyword\u - \definedummyword\v - \definedummyword\H - \definedummyword\dotaccent - \definedummyword\ringaccent - \definedummyword\tieaccent - \definedummyword\ubaraccent - \definedummyword\udotaccent - \definedummyword\dotless - % - % Texinfo font commands. - \definedummyword\b - \definedummyword\i - \definedummyword\r - \definedummyword\sc - \definedummyword\t - % - % Commands that take arguments. - \definedummyword\acronym - \definedummyword\cite - \definedummyword\code - \definedummyword\command - \definedummyword\dfn - \definedummyword\emph - \definedummyword\env - \definedummyword\file - \definedummyword\kbd - \definedummyword\key - \definedummyword\math - \definedummyword\option - \definedummyword\samp - \definedummyword\strong - \definedummyword\tie - \definedummyword\uref - \definedummyword\url - \definedummyword\var - \definedummyword\verb - \definedummyword\w - } +\def\commondummiesnofonts{% + % Control letters and accents. + \definedummyletter\!% + \definedummyaccent\"% + \definedummyaccent\'% + \definedummyletter\*% + \definedummyaccent\,% + \definedummyletter\.% + \definedummyletter\/% + \definedummyletter\:% + \definedummyaccent\=% + \definedummyletter\?% + \definedummyaccent\^% + \definedummyaccent\`% + \definedummyaccent\~% + \definedummyword\u + \definedummyword\v + \definedummyword\H + \definedummyword\dotaccent + \definedummyword\ogonek + \definedummyword\ringaccent + \definedummyword\tieaccent + \definedummyword\ubaraccent + \definedummyword\udotaccent + \definedummyword\dotless + % + % Texinfo font commands. + \definedummyword\b + \definedummyword\i + \definedummyword\r + \definedummyword\sc + \definedummyword\t + % + % Commands that take arguments. + \definedummyword\acronym + \definedummyword\cite + \definedummyword\code + \definedummyword\command + \definedummyword\dfn + \definedummyword\email + \definedummyword\emph + \definedummyword\env + \definedummyword\file + \definedummyword\kbd + \definedummyword\key + \definedummyword\math + \definedummyword\option + \definedummyword\pxref + \definedummyword\ref + \definedummyword\samp + \definedummyword\strong + \definedummyword\tie + \definedummyword\uref + \definedummyword\url + \definedummyword\var + \definedummyword\verb + \definedummyword\w + \definedummyword\xref } % \indexnofonts is used when outputting the strings to sort the index @@ -3417,19 +4374,23 @@ where each line of input produces a line of output.} % Non-English letters. \def\AA{AA}% \def\AE{AE}% + \def\DH{DZZ}% \def\L{L}% \def\OE{OE}% \def\O{O}% + \def\TH{ZZZ}% \def\aa{aa}% \def\ae{ae}% + \def\dh{dzz}% + \def\exclamdown{!}% \def\l{l}% \def\oe{oe}% - \def\o{o}% - \def\ss{ss}% - \def\exclamdown{!}% - \def\questiondown{?}% \def\ordf{a}% \def\ordm{o}% + \def\o{o}% + \def\questiondown{?}% + \def\ss{ss}% + \def\th{zzz}% % \def\LaTeX{LaTeX}% \def\TeX{TeX}% @@ -3439,29 +4400,40 @@ where each line of input produces a line of output.} \def\bullet{bullet}% \def\comma{,}% \def\copyright{copyright}% - \def\registeredsymbol{R}% \def\dots{...}% \def\enddots{...}% \def\equiv{==}% \def\error{error}% \def\euro{euro}% \def\expansion{==>}% + \def\guillemetleft{<<}% + \def\guillemetright{>>}% + \def\guilsinglleft{<}% + \def\guilsinglright{>}% \def\minus{-}% - \def\pounds{pounds}% \def\point{.}% + \def\pounds{pounds}% \def\print{-|}% + \def\quotedblbase{"}% + \def\quotedblleft{"}% + \def\quotedblright{"}% + \def\quoteleft{`}% + \def\quoteright{'}% + \def\quotesinglbase{,}% + \def\registeredsymbol{R}% \def\result{=>}% + \def\textdegree{o}% % % We need to get rid of all macros, leaving only the arguments (if present). % Of course this is not nearly correct, but it is the best we can do for now. % makeinfo does not expand macros in the argument to @deffn, which ends up % writing an index entry, and texindex isn't prepared for an index sort entry % that starts with \. - % + % % Since macro invocations are followed by braces, we can just redefine them % to take a single TeX argument. The case of a macro invocation that % goes to end-of-line is not handled. - % + % \macrolist } @@ -3490,11 +4462,7 @@ where each line of input produces a line of output.} % \edef\writeto{\csname#1indfile\endcsname}% % - \ifvmode - \dosubindsanitize - \else - \dosubindwrite - \fi + \safewhatsit\dosubindwrite }% \fi } @@ -3531,13 +4499,13 @@ where each line of input produces a line of output.} \temp } -% Take care of unwanted page breaks: +% Take care of unwanted page breaks/skips around a whatsit: % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the -% \write will make \lastskip zero. The result is that sequences -% like this: +% \write or \pdfdest will make \lastskip zero. The result is that +% sequences like this: % @end defun % @tindex whatever % @defun ... @@ -3561,25 +4529,31 @@ where each line of input produces a line of output.} % \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} % +\newskip\whatsitskip +\newcount\whatsitpenalty +% % ..., ready, GO: % -\def\dosubindsanitize{% +\def\safewhatsit#1{% +\ifhmode + #1% +\else % \lastskip and \lastpenalty cannot both be nonzero simultaneously. - \skip0 = \lastskip + \whatsitskip = \lastskip \edef\lastskipmacro{\the\lastskip}% - \count255 = \lastpenalty + \whatsitpenalty = \lastpenalty % % If \lastskip is nonzero, that means the last item was a % skip. And since a skip is discardable, that means this - % -\skip0 glue we're inserting is preceded by a + % -\whatsitskip glue we're inserting is preceded by a % non-discardable item, therefore it is not a potential % breakpoint, therefore no \nobreak needed. \ifx\lastskipmacro\zeroskipmacro \else - \vskip-\skip0 + \vskip-\whatsitskip \fi % - \dosubindwrite + #1% % \ifx\lastskipmacro\zeroskipmacro % If \lastskip was zero, perhaps the last item was a penalty, and @@ -3587,19 +4561,20 @@ where each line of input produces a line of output.} % to re-insert the same penalty (values >10000 are used for various % signals); since we just inserted a non-discardable item, any % following glue (such as a \parskip) would be a breakpoint. For example: - % + % % @deffn deffn-whatever % @vindex index-whatever % Description. % would allow a break between the index-whatever whatsit % and the "Description." paragraph. - \ifnum\count255>9999 \penalty\count255 \fi + \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi \else % On the other hand, if we had a nonzero \lastskip, % this make-up glue would be preceded by a non-discardable item % (the whatsit from the \write), so we must insert a \nobreak. - \nobreak\vskip\skip0 + \nobreak\vskip\whatsitskip \fi +\fi } % The index entry written in the file actually looks like @@ -3642,6 +4617,7 @@ where each line of input produces a line of output.} % \smallfonts \rm \tolerance = 9500 + \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % % See if the index file exists and is nonempty. @@ -3715,7 +4691,7 @@ where each line of input produces a line of output.} % % A straightforward implementation would start like this: % \def\entry#1#2{... -% But this frozes the catcodes in the argument, and can cause problems to +% But this freezes the catcodes in the argument, and can cause problems to % @code, which sets - active. This problem was fixed by a kludge--- % ``-'' was active throughout whole index, but this isn't really right. % @@ -3771,11 +4747,8 @@ where each line of input produces a line of output.} % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. - \def\tempa{{\rm }}% - \def\tempb{#1}% - \edef\tempc{\tempa}% - \edef\tempd{\tempb}% - \ifx\tempc\tempd + \setbox\boxA = \hbox{#1}% + \ifdim\wd\boxA = 0pt \ % \else % @@ -3799,9 +4772,9 @@ where each line of input produces a line of output.} \endgroup } -% Like \dotfill except takes at least 1 em. +% Like plain.tex's \dotfill, except uses up at least 1 em. \def\indexdotfill{\cleaders - \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} + \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} @@ -3911,6 +4884,34 @@ where each line of input produces a line of output.} % % All done with double columns. \def\enddoublecolumns{% + % The following penalty ensures that the page builder is exercised + % _before_ we change the output routine. This is necessary in the + % following situation: + % + % The last section of the index consists only of a single entry. + % Before this section, \pagetotal is less than \pagegoal, so no + % break occurs before the last section starts. However, the last + % section, consisting of \initial and the single \entry, does not + % fit on the page and has to be broken off. Without the following + % penalty the page builder will not be exercised until \eject + % below, and by that time we'll already have changed the output + % routine to the \balancecolumns version, so the next-to-last + % double-column page will be processed with \balancecolumns, which + % is wrong: The two columns will go to the main vertical list, with + % the broken-off section in the recent contributions. As soon as + % the output routine finishes, TeX starts reconsidering the page + % break. The two columns and the broken-off section both fit on the + % page, because the two columns now take up only half of the page + % goal. When TeX sees \eject from below which follows the final + % section, it invokes the new output routine that we've set after + % \balancecolumns below; \onepageout will try to fit the two columns + % and the final section into the vbox of \pageheight (see + % \pagebody), causing an overfull box. + % + % Note that glue won't work here, because glue does not exercise the + % page builder, unlike penalties (see The TeXbook, pp. 280-281). + \penalty0 + % \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. @@ -4020,11 +5021,15 @@ where each line of input produces a line of output.} \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} -% Each @chapter defines this as the name of the chapter. -% page headings and footings can use it. @section does likewise. -% However, they are not reliable, because we don't use marks. +% Each @chapter defines these (using marks) as the number+name, number +% and name of the chapter. Page headings and footings can use +% these. @section does likewise. \def\thischapter{} +\def\thischapternum{} +\def\thischaptername{} \def\thissection{} +\def\thissectionnum{} +\def\thissectionname{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count @@ -4137,7 +5142,9 @@ where each line of input produces a line of output.} \gdef\chaplevelprefix{\the\chapno.}% \resetallfloatnos % - \message{\putwordChapter\space \the\chapno}% + % \putwordChapter can contain complex things in translations. + \toks0=\expandafter{\putwordChapter}% + \message{\the\toks0 \space \the\chapno}% % % Write the actual heading. \chapmacro{#1}{Ynumbered}{\the\chapno}% @@ -4148,15 +5155,17 @@ where each line of input produces a line of output.} \global\let\subsubsection = \numberedsubsubsec } -\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz +\outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz +% \def\appendixzzz#1{% \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 \global\advance\appendixno by 1 \gdef\chaplevelprefix{\appendixletter.}% \resetallfloatnos % - \def\appendixnum{\putwordAppendix\space \appendixletter}% - \message{\appendixnum}% + % \putwordAppendix can contain complex things in translations. + \toks0=\expandafter{\putwordAppendix}% + \message{\the\toks0 \space \appendixletter}% % \chapmacro{#1}{Yappendix}{\appendixletter}% % @@ -4288,7 +5297,6 @@ where each line of input produces a line of output.} % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. - \def\majorheading{% {\advance\chapheadingskip by 10pt \chapbreak }% \parsearg\chapheadingzzz @@ -4297,8 +5305,8 @@ where each line of input produces a line of output.} \def\chapheading{\chapbreak \parsearg\chapheadingzzz} \def\chapheadingzzz#1{% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}% + \parindent=0pt\ptexraggedright + \rmisbold #1\hfill}}% \bigskip \par\penalty 200\relax \suppressfirstparagraphindent } @@ -4325,7 +5333,20 @@ where each line of input produces a line of output.} \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} -\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi} +% Because \domark is called before \chapoddpage, the filler page will +% get the headings for the next chapter, which is wrong. But we don't +% care -- we just disable all headings on the filler page. +\def\chapoddpage{% + \chappager + \ifodd\pageno \else + \begingroup + \evenheadline={\hfil}\evenfootline={\hfil}% + \oddheadline={\hfil}\oddfootline={\hfil}% + \hbox to 0pt{}% + \chappager + \endgroup + \fi +} \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} @@ -4359,41 +5380,78 @@ where each line of input produces a line of output.} \def\Yappendixkeyword{Yappendix} % \def\chapmacro#1#2#3{% + % Insert the first mark before the heading break (see notes for \domark). + \let\prevchapterdefs=\lastchapterdefs + \let\prevsectiondefs=\lastsectiondefs + \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% + \gdef\thissection{}}% + % + \def\temptype{#2}% + \ifx\temptype\Ynothingkeyword + \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% + \gdef\thischapter{\thischaptername}}% + \else\ifx\temptype\Yomitfromtockeyword + \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% + \gdef\thischapter{}}% + \else\ifx\temptype\Yappendixkeyword + \toks0={#1}% + \xdef\lastchapterdefs{% + \gdef\noexpand\thischaptername{\the\toks0}% + \gdef\noexpand\thischapternum{\appendixletter}% + % \noexpand\putwordAppendix avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} + \noexpand\thischapternum: + \noexpand\thischaptername}% + }% + \else + \toks0={#1}% + \xdef\lastchapterdefs{% + \gdef\noexpand\thischaptername{\the\toks0}% + \gdef\noexpand\thischapternum{\the\chapno}% + % \noexpand\putwordChapter avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thischapter{\noexpand\putwordChapter{} + \noexpand\thischapternum: + \noexpand\thischaptername}% + }% + \fi\fi\fi + % + % Output the mark. Pass it through \safewhatsit, to take care of + % the preceding space. + \safewhatsit\domark + % + % Insert the chapter heading break. \pchapsepmacro + % + % Now the second mark, after the heading break. No break points + % between here and the heading. + \let\prevchapterdefs=\lastchapterdefs + \let\prevsectiondefs=\lastsectiondefs + \domark + % {% - \chapfonts \rm + \chapfonts \rmisbold % - % Have to define \thissection before calling \donoderef, because the + % Have to define \lastsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. - \gdef\thissection{#1}% - \gdef\thischaptername{#1}% + \gdef\lastsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. - \def\temptype{#2}% \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unnchap}% - \gdef\thischapter{#1}% \else\ifx\temptype\Yomitfromtockeyword \setbox0 = \hbox{}% contents like unnumbered, but no toc entry \def\toctype{omit}% - \gdef\thischapter{}% \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% \def\toctype{app}% - % We don't substitute the actual chapter name into \thischapter - % because we don't want its macros evaluated now. And we don't - % use \thissection because that changes with each section. - % - \xdef\thischapter{\putwordAppendix{} \appendixletter: - \noexpand\thischaptername}% \else \setbox0 = \hbox{#3\enspace}% \def\toctype{numchap}% - \xdef\thischapter{\putwordChapter{} \the\chapno: - \noexpand\thischaptername}% \fi\fi\fi % % Write the toc entry for this chapter. Must come before the @@ -4409,7 +5467,8 @@ where each line of input produces a line of output.} \donoderef{#2}% % % Typeset the actual heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright + \nobreak % Avoid page breaks at the interline glue. + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright \hangindent=\wd0 \centerparametersmaybe \unhbox0 #1\par}% }% @@ -4433,8 +5492,8 @@ where each line of input produces a line of output.} % \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 - \parindent=0pt\raggedright - \rm #1\hfill}}\bigskip \par\nobreak + \parindent=0pt\ptexraggedright + \rmisbold #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% @@ -4443,7 +5502,7 @@ where each line of input produces a line of output.} \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt - \hfill {\rm #1}\hfill}}\bigskip \par\nobreak + \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{% \global\let\chapmacro=\chfopen @@ -4471,47 +5530,108 @@ where each line of input produces a line of output.} % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the % section number. % +\def\seckeyword{sec} +% \def\sectionheading#1#2#3#4{% {% % Switch to the right set of fonts. - \csname #2fonts\endcsname \rm + \csname #2fonts\endcsname \rmisbold + % + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + % Insert first mark before the heading break (see notes for \domark). + \let\prevsectiondefs=\lastsectiondefs + \ifx\temptype\Ynothingkeyword + \ifx\sectionlevel\seckeyword + \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% + \gdef\thissection{\thissectionname}}% + \fi + \else\ifx\temptype\Yomitfromtockeyword + % Don't redefine \thissection. + \else\ifx\temptype\Yappendixkeyword + \ifx\sectionlevel\seckeyword + \toks0={#1}% + \xdef\lastsectiondefs{% + \gdef\noexpand\thissectionname{\the\toks0}% + \gdef\noexpand\thissectionnum{#4}% + % \noexpand\putwordSection avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thissection{\noexpand\putwordSection{} + \noexpand\thissectionnum: + \noexpand\thissectionname}% + }% + \fi + \else + \ifx\sectionlevel\seckeyword + \toks0={#1}% + \xdef\lastsectiondefs{% + \gdef\noexpand\thissectionname{\the\toks0}% + \gdef\noexpand\thissectionnum{#4}% + % \noexpand\putwordSection avoids expanding indigestible + % commands in some of the translations. + \gdef\noexpand\thissection{\noexpand\putwordSection{} + \noexpand\thissectionnum: + \noexpand\thissectionname}% + }% + \fi + \fi\fi\fi + % + % Go into vertical mode. Usually we'll already be there, but we + % don't want the following whatsit to end up in a preceding paragraph + % if the document didn't happen to have a blank line. + \par + % + % Output the mark. Pass it through \safewhatsit, to take care of + % the preceding space. + \safewhatsit\domark % % Insert space above the heading. \csname #2headingbreak\endcsname % - % Only insert the space after the number if we have a section number. - \def\sectionlevel{#2}% - \def\temptype{#3}% + % Now the second mark, after the heading break. No break points + % between here and the heading. + \let\prevsectiondefs=\lastsectiondefs + \domark % + % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% - \gdef\thissection{#1}% + \gdef\lastsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, - % and don't redefine \thissection. + % and don't redefine \lastsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% - \gdef\thissection{#1}% + \gdef\lastsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% - \gdef\thissection{#1}% + \gdef\lastsection{#1}% \fi\fi\fi % - % Write the toc entry (before \donoderef). See comments in \chfplain. + % Write the toc entry (before \donoderef). See comments in \chapmacro. \writetocentry{\toctype\sectionlevel}{#1}{#4}% % % Write the node reference (= pdf destination for pdftex). - % Again, see comments in \chfplain. + % Again, see comments in \chapmacro. \donoderef{#3}% % + % Interline glue will be inserted when the vbox is completed. + % That glue will be a valid breakpoint for the page, since it'll be + % preceded by a whatsit (usually from the \donoderef, or from the + % \writetocentry if there was no node). We don't want to allow that + % break, since then the whatsits could end up on page n while the + % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000. + \nobreak + % % Output the actual section heading. - \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright \hangindent=\wd0 % zero if no section number \unhbox0 #1}% }% @@ -4527,11 +5647,11 @@ where each line of input produces a line of output.} % glue accumulate. (Not a breakpoint because it's preceded by a % discardable item.) \vskip-\parskip - % + % % This is purely so the last item on the list is a known \penalty > % 10000. This is so \startdefun can avoid allowing breakpoints after % section headings. Otherwise, it would insert a valid breakpoint between: - % + % % @section sec-whatever % @deffn def-whatever \penalty 10001 @@ -4572,7 +5692,7 @@ where each line of input produces a line of output.} \edef\temp{% \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}% \temp - } + }% \fi \fi % @@ -4589,7 +5709,7 @@ where each line of input produces a line of output.} % These characters do not print properly in the Computer Modern roman % fonts, so we must take special care. This is more or less redundant % with the Texinfo input format setup at the end of this file. -% +% \def\activecatcodes{% \catcode`\"=\active \catcode`\$=\active @@ -4607,7 +5727,7 @@ where each line of input produces a line of output.} \def\readtocfile{% \setupdatafile \activecatcodes - \input \jobname.toc + \input \tocreadfilename } \newskip\contentsrightmargin \contentsrightmargin=1in @@ -4626,7 +5746,6 @@ where each line of input produces a line of output.} % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. - \def\thischapter{}% \chapmacro{#1}{Yomitfromtoc}{}% % \savepageno = \pageno @@ -4638,11 +5757,16 @@ where each line of input produces a line of output.} \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi } +% redefined for the two-volume lispref. We always output on +% \jobname.toc even if this is redefined. +% +\def\tocreadfilename{\jobname.toc} % Normal (long) toc. +% \def\contents{% \startcontents{\putwordTOC}% - \openin 1 \jobname.toc + \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi @@ -4680,7 +5804,7 @@ where each line of input produces a line of output.} \let\numsubsubsecentry = \numsecentry \let\appsubsubsecentry = \numsecentry \let\unnsubsubsecentry = \numsecentry - \openin 1 \jobname.toc + \openin 1 \tocreadfilename\space \ifeof 1 \else \readtocfile \fi @@ -4805,45 +5929,12 @@ where each line of input produces a line of output.} \message{environments,} % @foo ... @end foo. -% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. -% -% Since these characters are used in examples, it should be an even number of -% \tt widths. Each \tt character is 1en, so two makes it 1em. -% -\def\point{$\star$} -\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} -\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} -\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} -\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} - -% The @error{} command. -% Adapted from the TeXbook's \boxit. -% -\newbox\errorbox -% -{\tentt \global\dimen0 = 3em}% Width of the box. -\dimen2 = .55pt % Thickness of rules -% The text. (`r' is open on the right, `e' somewhat less so on the left.) -\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} -% -\setbox\errorbox=\hbox to \dimen0{\hfil - \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. - \advance\hsize by -2\dimen2 % Rules. - \vbox{% - \hrule height\dimen2 - \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. - \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. - \kern3pt\vrule width\dimen2}% Space to right. - \hrule height\dimen2} - \hfil} -% -\def\error{\leavevmode\lower.7ex\copy\errorbox} - % @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. \envdef\tex{% + \setupmarkupstyle{tex}% \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie @@ -4853,6 +5944,8 @@ where each line of input produces a line of output.} \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other + \catcode`\`=\other + \catcode`\'=\other \escapechar=`\\ % \let\b=\ptexb @@ -4872,6 +5965,7 @@ where each line of input produces a line of output.} \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext + \expandafter \let\csname top\endcsname=\ptextop % outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% @@ -4987,6 +6081,7 @@ where each line of input produces a line of output.} % This macro is called at the beginning of all the @example variants, % inside a group. +\newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak \hfuzz = 12pt % Don't be fussy @@ -4994,7 +6089,12 @@ where each line of input produces a line of output.} \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt + % Turn off paragraph indentation but redefine \indent to emulate + % the normal \indent. + \nonfillparindent=\parindent \parindent = 0pt + \let\indent\nonfillindent + % \emergencystretch = 0pt % don't try to avoid overfull boxes \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing @@ -5005,6 +6105,24 @@ where each line of input produces a line of output.} \let\exdent=\nofillexdent } +\begingroup +\obeyspaces +% We want to swallow spaces (but not other tokens) after the fake +% @indent in our nonfill-environments, where spaces are normally +% active and set to @tie, resulting in them not being ignored after +% @indent. +\gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% +\gdef\nonfillindentcheck{% +\ifx\temp % +\expandafter\nonfillindentgobble% +\else% +\leavevmode\nonfillindentbox% +\fi% +}% +\endgroup +\def\nonfillindentgobble#1{\nonfillindent} +\def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} + % If you want all examples etc. small: @set dispenvsize small. % If you want even small examples the full size: @set dispenvsize nosmall. % This affects the following displayed environments: @@ -5015,12 +6133,18 @@ where each line of input produces a line of output.} \let\SETdispenvsize\relax \def\setnormaldispenv{% \ifx\SETdispenvsize\smallword + % end paragraph for sake of leading, in case document has no blank + % line. This is redundant with what happens in \aboveenvbreak, but + % we need to do it before changing the fonts, and it's inconvenient + % to change the fonts afterward. + \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } \def\setsmalldispenv{% \ifx\SETdispenvsize\nosmallword \else + \ifnum \lastpenalty=10000 \else \endgraf \fi \smallexamplefonts \rm \fi } @@ -5047,11 +6171,10 @@ where each line of input produces a line of output.} % \maketwodispenvs {lisp}{example}{% \nonfillstart - \tt + \tt\setupmarkupstyle{example}% \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } - % @display/@smalldisplay: same as @lisp except keep current font. % \makedispenv {display}{% @@ -5086,12 +6209,36 @@ where each line of input produces a line of output.} \let\Eflushright = \afterenvbreak +% @raggedright does more-or-less normal line breaking but no right +% justification. From plain.tex. +\envdef\raggedright{% + \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax +} +\let\Eraggedright\par + +\envdef\raggedleft{% + \parindent=0pt \leftskip0pt plus2em + \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt + \hbadness=10000 % Last line will usually be underfull, so turn off + % badness reporting. +} +\let\Eraggedleft\par + +\envdef\raggedcenter{% + \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em + \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt + \hbadness=10000 % Last line will usually be underfull, so turn off + % badness reporting. +} +\let\Eraggedcenter\par + + % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. We keep \parskip nonzero in general, since % we're doing normal filling. So, when using \aboveenvbreak and % \afterenvbreak, temporarily make \parskip 0. % -\envdef\quotation{% +\def\quotationstart{% {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \parindent=0pt % @@ -5106,6 +6253,17 @@ where each line of input produces a line of output.} \parsearg\quotationlabel } +\envdef\quotation{% + \setnormaldispenv + \quotationstart +} + +\envdef\smallquotation{% + \setsmalldispenv + \quotationstart +} +\let\Esmallquotation = \Equotation + % We have retained a nonzero parskip for the environment, since we're % doing normal filling. % @@ -5141,18 +6299,16 @@ where each line of input produces a line of output.} \do\ \do\\\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% \do\<\do\>\do\|\do\@\do+\do\"% + % Don't do the quotes -- if we do, @set txicodequoteundirected and + % @set txicodequotebacktick will not have effect on @verb and + % @verbatim, and ?` and !` ligatures won't get disabled. + %\do\`\do\'% } % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=\other}\dospecials} % -% [Knuth] pp. 380,381,391 -% Disable Spanish ligatures ?` and !` of \tt font -\begingroup - \catcode`\`=\active\gdef`{\relax\lq} -\endgroup -% % Setup for the @verb command. % % Eight spaces for a tab @@ -5164,7 +6320,7 @@ where each line of input produces a line of output.} \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% - \catcode`\`=\active + \setupmarkupstyle{verb}% \tabeightspaces % Respect line breaks, % print special symbols as themselves, and @@ -5179,6 +6335,7 @@ where each line of input produces a line of output.} \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} +% \begingroup \catcode`\^^I=\active \gdef\tabexpand{% @@ -5192,14 +6349,16 @@ where each line of input produces a line of output.} }% } \endgroup + +% start the verbatim environment. \def\setupverbatim{% \let\nonarrowing = t% \nonfillstart % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% - \catcode`\`=\active \tabexpand + \setupmarkupstyle{verbatim}% % Respect line breaks, % print special symbols as themselves, and % make each space count @@ -5259,6 +6418,7 @@ where each line of input produces a line of output.} {% \makevalueexpandable \setupverbatim + \indexnofonts % Allow `@@' and other weird things in file names. \input #1 \afterenvbreak }% @@ -5284,27 +6444,35 @@ where each line of input produces a line of output.} \endgroup } + \message{defuns,} % @defun etc. \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deflastargmargin \deflastargmargin=18pt +\newcount\defunpenalty % Start the processing of @deffn: \def\startdefun{% \ifnum\lastpenalty<10000 \medbreak + \defunpenalty=10003 % Will keep this @deffn together with the + % following @def command, see below. \else % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we need to allow a % break somewhere. Check specifically for penalty 10002, inserted - % by \defargscommonending, instead of 10000, since the sectioning + % by \printdefunline, instead of 10000, since the sectioning % commands also insert a nobreak penalty, and we don't want to allow % a break between a section heading and a defun. - % - \ifnum\lastpenalty=10002 \penalty2000 \fi + % + % As a minor refinement, we avoid "club" headers by signalling + % with penalty of 10003 after the very first @deffn in the + % sequence (see above), and penalty of 10002 after any following + % @def command. + \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi % % Similarly, after a section heading, do not allow a break. % But do insert the glue. @@ -5322,7 +6490,7 @@ where each line of input produces a line of output.} % % As above, allow line break if we have multiple x headers in a row. % It's not a great place, though. - \ifnum\lastpenalty=10002 \penalty3000 \fi + \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi % % And now, it's time to reuse the body of the original defun: \expandafter\gobbledefun#1% @@ -5340,7 +6508,7 @@ where each line of input produces a line of output.} \advance\rightskip by 0pt plus 1fil \endgraf \nobreak\vskip -\parskip - \penalty 10002 % signal to \startdefun and \dodefunx + \penalty\defunpenalty % signal to \startdefun and \dodefunx % Some of the @defun-type tags do not enable magic parentheses, % rendering the following check redundant. But we don't optimize. \checkparencounts @@ -5350,7 +6518,7 @@ where each line of input produces a line of output.} \def\Edefun{\endgraf\medbreak} % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; -% the only thing remainnig is to define \deffnheader. +% the only thing remaining is to define \deffnheader. % \def\makedefun#1{% \expandafter\let\csname E#1\endcsname = \Edefun @@ -5529,7 +6697,7 @@ where each line of input produces a line of output.} % % On the other hand, if an argument has two dashes (for instance), we % want a way to get ttsl. Let's try @var for that. - \let\var=\ttslanted + \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% #1% \sl\hyphenchar\font=45 } @@ -5609,12 +6777,14 @@ where each line of input produces a line of output.} \ifnum\parencount=0 \else \badparencount \fi \ifnum\brackcount=0 \else \badbrackcount \fi } +% these should not use \errmessage; the glibc manual, at least, actually +% has such constructs (when documenting function pointers). \def\badparencount{% - \errmessage{Unbalanced parentheses in @def}% + \message{Warning: unbalanced parentheses in @def...}% \global\parencount=0 } \def\badbrackcount{% - \errmessage{Unbalanced square braces in @def}% + \message{Warning: unbalanced square brackets in @def...}% \global\brackcount=0 } @@ -5649,7 +6819,6 @@ where each line of input produces a line of output.} \spaceisspace % % Append \endinput to make sure that TeX does not see the ending newline. - % % I've verified that it is necessary both for e-TeX and for ordinary TeX % --kasal, 29nov03 \scantokens{#1\endinput}% @@ -5682,7 +6851,7 @@ where each line of input produces a line of output.} % This does \let #1 = #2, with \csnames; that is, % \let \csname#1\endcsname = \csname#2\endcsname % (except of course we have to play expansion games). -% +% \def\cslet#1#2{% \expandafter\let \csname#1\expandafter\endcsname @@ -5710,6 +6879,10 @@ where each line of input produces a line of output.} % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \. +% Non-ASCII encodings make 8-bit characters active, so un-activate +% them to avoid their expansion. Must do this non-globally, to +% confine the change to the current group. + % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. @@ -5724,6 +6897,7 @@ where each line of input produces a line of output.} \catcode`\_=\other \catcode`\|=\other \catcode`\~=\other + \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi } \def\scanargctxt{% @@ -5916,11 +7090,11 @@ where each line of input produces a line of output.} % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) -\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} +\def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg - \fi \next} + \fi \macnamexxx} % @alias. @@ -5941,7 +7115,6 @@ where each line of input produces a line of output.} \message{cross references,} \newwrite\auxfile - \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. @@ -5986,7 +7159,7 @@ where each line of input produces a line of output.} % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: -% 1) NAME-title - the current sectioning name taken from \thissection, +% 1) NAME-title - the current sectioning name taken from \lastsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. @@ -6005,10 +7178,10 @@ where each line of input produces a line of output.} \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% - \toks0 = \expandafter{\thissection}% + \toks0 = \expandafter{\lastsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. - \writexrdef{pg}{\folio}% will be written later, during \shipout + \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout }% \fi } @@ -6052,22 +7225,25 @@ where each line of input produces a line of output.} % % Make link in pdf output. \ifpdf - \leavevmode - \getfilename{#4}% - {\turnoffactive + {\indexnofonts + \turnoffactive + % This expands tokens, so do it after making catcode changes, so _ + % etc. don't get their TeX definitions. + \getfilename{#4}% + % % See comments at \activebackslashdouble. {\activebackslashdouble \xdef\pdfxrefdest{#1}% \backslashparens\pdfxrefdest}% % + \leavevmode + \startlink attr{/Border [0 0 0]}% \ifnum\filenamelength>0 - \startlink attr{/Border [0 0 0]}% - goto file{\the\filename.pdf} name{\pdfxrefdest}% + goto file{\the\filename.pdf} name{\pdfxrefdest}% \else - \startlink attr{/Border [0 0 0]}% - goto name{\pdfmkpgn{\pdfxrefdest}}% + goto name{\pdfmkpgn{\pdfxrefdest}}% \fi }% - \linkcolor + \setcolor{\linkcolor}% \fi % % Float references are printed completely differently: "Figure 1.2" @@ -6085,7 +7261,7 @@ where each line of input produces a line of output.} % If the user specified the print name (third arg) to the ref, % print it instead of our usual "Figure 1.2". \ifdim\wd0 = 0pt - \refx{#1-snt}% + \refx{#1-snt}{}% \else \printedrefname \fi @@ -6105,7 +7281,7 @@ where each line of input produces a line of output.} % is a loss. Therefore, we give the text of the node name again, so it % is as if TeX is seeing it for the first time. \ifdim \wd1 > 0pt - \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% + \putwordSection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% \else % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand @@ -6201,10 +7377,18 @@ where each line of input produces a line of output.} % collisions). But if this is a float type, we have more work to do. % \def\xrdef#1#2{% - \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. + {% The node name might contain 8-bit characters, which in our current + % implementation are changed to commands like @'e. Don't let these + % mess up the control sequence name. + \indexnofonts + \turnoffactive + \xdef\safexrefname{#1}% + }% + % + \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref % % Was that xref control sequence that we just defined for a float? - \expandafter\iffloat\csname XR#1\endcsname + \expandafter\iffloat\csname XR\safexrefname\endcsname % it was a float, and we have the (safe) float type in \iffloattype. \expandafter\let\expandafter\floatlist \csname floatlist\iffloattype\endcsname @@ -6219,7 +7403,8 @@ where each line of input produces a line of output.} % % Remember this xref in the control sequence \floatlistFLOATTYPE, % for later use in \listoffloats. - \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 + {\safexrefname}}% \fi } @@ -6323,6 +7508,7 @@ where each line of input produces a line of output.} \input\jobname.#1 \endgroup} + \message{insertions,} % including footnotes. @@ -6405,7 +7591,7 @@ where each line of input produces a line of output.} % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. -% Similarily, if a @footnote appears inside an alignment, save the footnote +% Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. @@ -6509,15 +7695,19 @@ where each line of input produces a line of output.} % If the image is by itself, center it. \ifvmode \imagevmodetrue - \nobreak\bigskip + \nobreak\medskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak - \line\bgroup\hss \fi % + % Leave vertical mode so that indentation from an enclosing + % environment such as @quotation is respected. On the other hand, if + % it's at the top level, we don't want the normal paragraph indentation. + \noindent + % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% @@ -6528,7 +7718,7 @@ where each line of input produces a line of output.} \epsfbox{#1.eps}% \fi % - \ifimagevmode \hss \egroup \bigbreak \fi % space after the image + \ifimagevmode \medskip \fi % space after the standalone image \endgroup} @@ -6595,13 +7785,13 @@ where each line of input produces a line of output.} \global\advance\floatno by 1 % {% - % This magic value for \thissection is output by \setref as the + % This magic value for \lastsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % - \edef\thissection{\floatmagic=\safefloattype}% + \edef\lastsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi @@ -6669,6 +7859,7 @@ where each line of input produces a line of output.} % caption if specified, else the full caption if specified, else nothing. {% \atdummies + % % since we read the caption text in the macro world, where ^^M % is turned into a normal character, we have to scan it back, so % we don't write the literal three characters "^^M" into the aux file. @@ -6689,8 +7880,9 @@ where each line of input produces a line of output.} % % place the captured inserts % - % BEWARE: when the floats start float, we have to issue warning whenever an - % insert appears inside a float which could possibly float. --kasal, 26may04 + % BEWARE: when the floats start floating, we have to issue warning + % whenever an insert appears inside a float which could possibly + % float. --kasal, 26may04 % \checkinserts } @@ -6734,7 +7926,7 @@ where each line of input produces a line of output.} % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic -% \thissection value which we \setref above. +% \lastsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % @@ -6795,39 +7987,909 @@ where each line of input produces a line of output.} \writeentry }} -\message{localization,} -% and i18n. -% @documentlanguage is usually given very early, just after -% @setfilename. If done too late, it may not override everything -% properly. Single argument is the language abbreviation. -% It would be nice if we could set up a hyphenation file here. +\message{localization,} + +% For single-language documents, @documentlanguage is usually given very +% early, just after @documentencoding. Single argument is the language +% (de) or locale (de_DE) abbreviation. % -\parseargdef\documentlanguage{% +{ + \catcode`\_ = \active + \globaldefs=1 +\parseargdef\documentlanguage{\begingroup + \let_=\normalunderscore % normal _ character for filenames \tex % read txi-??.tex file in plain TeX. - % Read the file if it exists. + % Read the file by the name they passed if it exists. \openin 1 txi-#1.tex \ifeof 1 - \errhelp = \nolanghelp - \errmessage{Cannot read language file txi-#1.tex}% + \documentlanguagetrywithoutunderscore{#1_\finish}% \else + \globaldefs = 1 % everything in the txi-LL files needs to persist \input txi-#1.tex \fi \closein 1 - \endgroup -} -\newhelp\nolanghelp{The given language definition file cannot be found or -is empty. Maybe you need to install it? In the current directory -should work if nowhere else does.} - - -% @documentencoding should change something in TeX eventually, most -% likely, but for now just recognize it. -\let\documentencoding = \comment - - -% Page size parameters. + \endgroup % end raw TeX +\endgroup} % +% If they passed de_DE, and txi-de_DE.tex doesn't exist, +% try txi-de.tex. +% +\gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% + \openin 1 txi-#1.tex + \ifeof 1 + \errhelp = \nolanghelp + \errmessage{Cannot read language file txi-#1.tex}% + \else + \globaldefs = 1 % everything in the txi-LL files needs to persist + \input txi-#1.tex + \fi + \closein 1 +} +}% end of special _ catcode +% +\newhelp\nolanghelp{The given language definition file cannot be found or +is empty. Maybe you need to install it? Putting it in the current +directory should work if nowhere else does.} + +% This macro is called from txi-??.tex files; the first argument is the +% \language name to set (without the "\lang@" prefix), the second and +% third args are \{left,right}hyphenmin. +% +% The language names to pass are determined when the format is built. +% See the etex.log file created at that time, e.g., +% /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. +% +% With TeX Live 2008, etex now includes hyphenation patterns for all +% available languages. This means we can support hyphenation in +% Texinfo, at least to some extent. (This still doesn't solve the +% accented characters problem.) +% +\catcode`@=11 +\def\txisetlanguage#1#2#3{% + % do not set the language if the name is undefined in the current TeX. + \expandafter\ifx\csname lang@#1\endcsname \relax + \message{no patterns for #1}% + \else + \global\language = \csname lang@#1\endcsname + \fi + % but there is no harm in adjusting the hyphenmin values regardless. + \global\lefthyphenmin = #2\relax + \global\righthyphenmin = #3\relax +} + +% Helpers for encodings. +% Set the catcode of characters 128 through 255 to the specified number. +% +\def\setnonasciicharscatcode#1{% + \count255=128 + \loop\ifnum\count255<256 + \global\catcode\count255=#1\relax + \advance\count255 by 1 + \repeat +} + +\def\setnonasciicharscatcodenonglobal#1{% + \count255=128 + \loop\ifnum\count255<256 + \catcode\count255=#1\relax + \advance\count255 by 1 + \repeat +} + +% @documentencoding sets the definition of non-ASCII characters +% according to the specified encoding. +% +\parseargdef\documentencoding{% + % Encoding being declared for the document. + \def\declaredencoding{\csname #1.enc\endcsname}% + % + % Supported encodings: names converted to tokens in order to be able + % to compare them with \ifx. + \def\ascii{\csname US-ASCII.enc\endcsname}% + \def\latnine{\csname ISO-8859-15.enc\endcsname}% + \def\latone{\csname ISO-8859-1.enc\endcsname}% + \def\lattwo{\csname ISO-8859-2.enc\endcsname}% + \def\utfeight{\csname UTF-8.enc\endcsname}% + % + \ifx \declaredencoding \ascii + \asciichardefs + % + \else \ifx \declaredencoding \lattwo + \setnonasciicharscatcode\active + \lattwochardefs + % + \else \ifx \declaredencoding \latone + \setnonasciicharscatcode\active + \latonechardefs + % + \else \ifx \declaredencoding \latnine + \setnonasciicharscatcode\active + \latninechardefs + % + \else \ifx \declaredencoding \utfeight + \setnonasciicharscatcode\active + \utfeightchardefs + % + \else + \message{Unknown document encoding #1, ignoring.}% + % + \fi % utfeight + \fi % latnine + \fi % latone + \fi % lattwo + \fi % ascii +} + +% A message to be logged when using a character that isn't available +% the default font encoding (OT1). +% +\def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} + +% Take account of \c (plain) vs. \, (Texinfo) difference. +\def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} + +% First, make active non-ASCII characters in order for them to be +% correctly categorized when TeX reads the replacement text of +% macros containing the character definitions. +\setnonasciicharscatcode\active +% +% Latin1 (ISO-8859-1) character definitions. +\def\latonechardefs{% + \gdef^^a0{~} + \gdef^^a1{\exclamdown} + \gdef^^a2{\missingcharmsg{CENT SIGN}} + \gdef^^a3{{\pounds}} + \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} + \gdef^^a5{\missingcharmsg{YEN SIGN}} + \gdef^^a6{\missingcharmsg{BROKEN BAR}} + \gdef^^a7{\S} + \gdef^^a8{\"{}} + \gdef^^a9{\copyright} + \gdef^^aa{\ordf} + \gdef^^ab{\guillemetleft} + \gdef^^ac{$\lnot$} + \gdef^^ad{\-} + \gdef^^ae{\registeredsymbol} + \gdef^^af{\={}} + % + \gdef^^b0{\textdegree} + \gdef^^b1{$\pm$} + \gdef^^b2{$^2$} + \gdef^^b3{$^3$} + \gdef^^b4{\'{}} + \gdef^^b5{$\mu$} + \gdef^^b6{\P} + % + \gdef^^b7{$^.$} + \gdef^^b8{\cedilla\ } + \gdef^^b9{$^1$} + \gdef^^ba{\ordm} + % + \gdef^^bb{\guilletright} + \gdef^^bc{$1\over4$} + \gdef^^bd{$1\over2$} + \gdef^^be{$3\over4$} + \gdef^^bf{\questiondown} + % + \gdef^^c0{\`A} + \gdef^^c1{\'A} + \gdef^^c2{\^A} + \gdef^^c3{\~A} + \gdef^^c4{\"A} + \gdef^^c5{\ringaccent A} + \gdef^^c6{\AE} + \gdef^^c7{\cedilla C} + \gdef^^c8{\`E} + \gdef^^c9{\'E} + \gdef^^ca{\^E} + \gdef^^cb{\"E} + \gdef^^cc{\`I} + \gdef^^cd{\'I} + \gdef^^ce{\^I} + \gdef^^cf{\"I} + % + \gdef^^d0{\DH} + \gdef^^d1{\~N} + \gdef^^d2{\`O} + \gdef^^d3{\'O} + \gdef^^d4{\^O} + \gdef^^d5{\~O} + \gdef^^d6{\"O} + \gdef^^d7{$\times$} + \gdef^^d8{\O} + \gdef^^d9{\`U} + \gdef^^da{\'U} + \gdef^^db{\^U} + \gdef^^dc{\"U} + \gdef^^dd{\'Y} + \gdef^^de{\TH} + \gdef^^df{\ss} + % + \gdef^^e0{\`a} + \gdef^^e1{\'a} + \gdef^^e2{\^a} + \gdef^^e3{\~a} + \gdef^^e4{\"a} + \gdef^^e5{\ringaccent a} + \gdef^^e6{\ae} + \gdef^^e7{\cedilla c} + \gdef^^e8{\`e} + \gdef^^e9{\'e} + \gdef^^ea{\^e} + \gdef^^eb{\"e} + \gdef^^ec{\`{\dotless i}} + \gdef^^ed{\'{\dotless i}} + \gdef^^ee{\^{\dotless i}} + \gdef^^ef{\"{\dotless i}} + % + \gdef^^f0{\dh} + \gdef^^f1{\~n} + \gdef^^f2{\`o} + \gdef^^f3{\'o} + \gdef^^f4{\^o} + \gdef^^f5{\~o} + \gdef^^f6{\"o} + \gdef^^f7{$\div$} + \gdef^^f8{\o} + \gdef^^f9{\`u} + \gdef^^fa{\'u} + \gdef^^fb{\^u} + \gdef^^fc{\"u} + \gdef^^fd{\'y} + \gdef^^fe{\th} + \gdef^^ff{\"y} +} + +% Latin9 (ISO-8859-15) encoding character definitions. +\def\latninechardefs{% + % Encoding is almost identical to Latin1. + \latonechardefs + % + \gdef^^a4{\euro} + \gdef^^a6{\v S} + \gdef^^a8{\v s} + \gdef^^b4{\v Z} + \gdef^^b8{\v z} + \gdef^^bc{\OE} + \gdef^^bd{\oe} + \gdef^^be{\"Y} +} + +% Latin2 (ISO-8859-2) character definitions. +\def\lattwochardefs{% + \gdef^^a0{~} + \gdef^^a1{\ogonek{A}} + \gdef^^a2{\u{}} + \gdef^^a3{\L} + \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} + \gdef^^a5{\v L} + \gdef^^a6{\'S} + \gdef^^a7{\S} + \gdef^^a8{\"{}} + \gdef^^a9{\v S} + \gdef^^aa{\cedilla S} + \gdef^^ab{\v T} + \gdef^^ac{\'Z} + \gdef^^ad{\-} + \gdef^^ae{\v Z} + \gdef^^af{\dotaccent Z} + % + \gdef^^b0{\textdegree} + \gdef^^b1{\ogonek{a}} + \gdef^^b2{\ogonek{ }} + \gdef^^b3{\l} + \gdef^^b4{\'{}} + \gdef^^b5{\v l} + \gdef^^b6{\'s} + \gdef^^b7{\v{}} + \gdef^^b8{\cedilla\ } + \gdef^^b9{\v s} + \gdef^^ba{\cedilla s} + \gdef^^bb{\v t} + \gdef^^bc{\'z} + \gdef^^bd{\H{}} + \gdef^^be{\v z} + \gdef^^bf{\dotaccent z} + % + \gdef^^c0{\'R} + \gdef^^c1{\'A} + \gdef^^c2{\^A} + \gdef^^c3{\u A} + \gdef^^c4{\"A} + \gdef^^c5{\'L} + \gdef^^c6{\'C} + \gdef^^c7{\cedilla C} + \gdef^^c8{\v C} + \gdef^^c9{\'E} + \gdef^^ca{\ogonek{E}} + \gdef^^cb{\"E} + \gdef^^cc{\v E} + \gdef^^cd{\'I} + \gdef^^ce{\^I} + \gdef^^cf{\v D} + % + \gdef^^d0{\DH} + \gdef^^d1{\'N} + \gdef^^d2{\v N} + \gdef^^d3{\'O} + \gdef^^d4{\^O} + \gdef^^d5{\H O} + \gdef^^d6{\"O} + \gdef^^d7{$\times$} + \gdef^^d8{\v R} + \gdef^^d9{\ringaccent U} + \gdef^^da{\'U} + \gdef^^db{\H U} + \gdef^^dc{\"U} + \gdef^^dd{\'Y} + \gdef^^de{\cedilla T} + \gdef^^df{\ss} + % + \gdef^^e0{\'r} + \gdef^^e1{\'a} + \gdef^^e2{\^a} + \gdef^^e3{\u a} + \gdef^^e4{\"a} + \gdef^^e5{\'l} + \gdef^^e6{\'c} + \gdef^^e7{\cedilla c} + \gdef^^e8{\v c} + \gdef^^e9{\'e} + \gdef^^ea{\ogonek{e}} + \gdef^^eb{\"e} + \gdef^^ec{\v e} + \gdef^^ed{\'\i} + \gdef^^ee{\^\i} + \gdef^^ef{\v d} + % + \gdef^^f0{\dh} + \gdef^^f1{\'n} + \gdef^^f2{\v n} + \gdef^^f3{\'o} + \gdef^^f4{\^o} + \gdef^^f5{\H o} + \gdef^^f6{\"o} + \gdef^^f7{$\div$} + \gdef^^f8{\v r} + \gdef^^f9{\ringaccent u} + \gdef^^fa{\'u} + \gdef^^fb{\H u} + \gdef^^fc{\"u} + \gdef^^fd{\'y} + \gdef^^fe{\cedilla t} + \gdef^^ff{\dotaccent{}} +} + +% UTF-8 character definitions. +% +% This code to support UTF-8 is based on LaTeX's utf8.def, with some +% changes for Texinfo conventions. It is included here under the GPL by +% permission from Frank Mittelbach and the LaTeX team. +% +\newcount\countUTFx +\newcount\countUTFy +\newcount\countUTFz + +\gdef\UTFviiiTwoOctets#1#2{\expandafter + \UTFviiiDefined\csname u8:#1\string #2\endcsname} +% +\gdef\UTFviiiThreeOctets#1#2#3{\expandafter + \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} +% +\gdef\UTFviiiFourOctets#1#2#3#4{\expandafter + \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} + +\gdef\UTFviiiDefined#1{% + \ifx #1\relax + \message{\linenumber Unicode char \string #1 not defined for Texinfo}% + \else + \expandafter #1% + \fi +} + +\begingroup + \catcode`\~13 + \catcode`\"12 + + \def\UTFviiiLoop{% + \global\catcode\countUTFx\active + \uccode`\~\countUTFx + \uppercase\expandafter{\UTFviiiTmp}% + \advance\countUTFx by 1 + \ifnum\countUTFx < \countUTFy + \expandafter\UTFviiiLoop + \fi} + + \countUTFx = "C2 + \countUTFy = "E0 + \def\UTFviiiTmp{% + \xdef~{\noexpand\UTFviiiTwoOctets\string~}} + \UTFviiiLoop + + \countUTFx = "E0 + \countUTFy = "F0 + \def\UTFviiiTmp{% + \xdef~{\noexpand\UTFviiiThreeOctets\string~}} + \UTFviiiLoop + + \countUTFx = "F0 + \countUTFy = "F4 + \def\UTFviiiTmp{% + \xdef~{\noexpand\UTFviiiFourOctets\string~}} + \UTFviiiLoop +\endgroup + +\begingroup + \catcode`\"=12 + \catcode`\<=12 + \catcode`\.=12 + \catcode`\,=12 + \catcode`\;=12 + \catcode`\!=12 + \catcode`\~=13 + + \gdef\DeclareUnicodeCharacter#1#2{% + \countUTFz = "#1\relax + \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% + \begingroup + \parseXMLCharref + \def\UTFviiiTwoOctets##1##2{% + \csname u8:##1\string ##2\endcsname}% + \def\UTFviiiThreeOctets##1##2##3{% + \csname u8:##1\string ##2\string ##3\endcsname}% + \def\UTFviiiFourOctets##1##2##3##4{% + \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% + \expandafter\expandafter\expandafter\expandafter + \expandafter\expandafter\expandafter + \gdef\UTFviiiTmp{#2}% + \endgroup} + + \gdef\parseXMLCharref{% + \ifnum\countUTFz < "A0\relax + \errhelp = \EMsimple + \errmessage{Cannot define Unicode char value < 00A0}% + \else\ifnum\countUTFz < "800\relax + \parseUTFviiiA,% + \parseUTFviiiB C\UTFviiiTwoOctets.,% + \else\ifnum\countUTFz < "10000\relax + \parseUTFviiiA;% + \parseUTFviiiA,% + \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% + \else + \parseUTFviiiA;% + \parseUTFviiiA,% + \parseUTFviiiA!% + \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% + \fi\fi\fi + } + + \gdef\parseUTFviiiA#1{% + \countUTFx = \countUTFz + \divide\countUTFz by 64 + \countUTFy = \countUTFz + \multiply\countUTFz by 64 + \advance\countUTFx by -\countUTFz + \advance\countUTFx by 128 + \uccode `#1\countUTFx + \countUTFz = \countUTFy} + + \gdef\parseUTFviiiB#1#2#3#4{% + \advance\countUTFz by "#10\relax + \uccode `#3\countUTFz + \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} +\endgroup + +\def\utfeightchardefs{% + \DeclareUnicodeCharacter{00A0}{\tie} + \DeclareUnicodeCharacter{00A1}{\exclamdown} + \DeclareUnicodeCharacter{00A3}{\pounds} + \DeclareUnicodeCharacter{00A8}{\"{ }} + \DeclareUnicodeCharacter{00A9}{\copyright} + \DeclareUnicodeCharacter{00AA}{\ordf} + \DeclareUnicodeCharacter{00AB}{\guillemetleft} + \DeclareUnicodeCharacter{00AD}{\-} + \DeclareUnicodeCharacter{00AE}{\registeredsymbol} + \DeclareUnicodeCharacter{00AF}{\={ }} + + \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} + \DeclareUnicodeCharacter{00B4}{\'{ }} + \DeclareUnicodeCharacter{00B8}{\cedilla{ }} + \DeclareUnicodeCharacter{00BA}{\ordm} + \DeclareUnicodeCharacter{00BB}{\guillemetright} + \DeclareUnicodeCharacter{00BF}{\questiondown} + + \DeclareUnicodeCharacter{00C0}{\`A} + \DeclareUnicodeCharacter{00C1}{\'A} + \DeclareUnicodeCharacter{00C2}{\^A} + \DeclareUnicodeCharacter{00C3}{\~A} + \DeclareUnicodeCharacter{00C4}{\"A} + \DeclareUnicodeCharacter{00C5}{\AA} + \DeclareUnicodeCharacter{00C6}{\AE} + \DeclareUnicodeCharacter{00C7}{\cedilla{C}} + \DeclareUnicodeCharacter{00C8}{\`E} + \DeclareUnicodeCharacter{00C9}{\'E} + \DeclareUnicodeCharacter{00CA}{\^E} + \DeclareUnicodeCharacter{00CB}{\"E} + \DeclareUnicodeCharacter{00CC}{\`I} + \DeclareUnicodeCharacter{00CD}{\'I} + \DeclareUnicodeCharacter{00CE}{\^I} + \DeclareUnicodeCharacter{00CF}{\"I} + + \DeclareUnicodeCharacter{00D0}{\DH} + \DeclareUnicodeCharacter{00D1}{\~N} + \DeclareUnicodeCharacter{00D2}{\`O} + \DeclareUnicodeCharacter{00D3}{\'O} + \DeclareUnicodeCharacter{00D4}{\^O} + \DeclareUnicodeCharacter{00D5}{\~O} + \DeclareUnicodeCharacter{00D6}{\"O} + \DeclareUnicodeCharacter{00D8}{\O} + \DeclareUnicodeCharacter{00D9}{\`U} + \DeclareUnicodeCharacter{00DA}{\'U} + \DeclareUnicodeCharacter{00DB}{\^U} + \DeclareUnicodeCharacter{00DC}{\"U} + \DeclareUnicodeCharacter{00DD}{\'Y} + \DeclareUnicodeCharacter{00DE}{\TH} + \DeclareUnicodeCharacter{00DF}{\ss} + + \DeclareUnicodeCharacter{00E0}{\`a} + \DeclareUnicodeCharacter{00E1}{\'a} + \DeclareUnicodeCharacter{00E2}{\^a} + \DeclareUnicodeCharacter{00E3}{\~a} + \DeclareUnicodeCharacter{00E4}{\"a} + \DeclareUnicodeCharacter{00E5}{\aa} + \DeclareUnicodeCharacter{00E6}{\ae} + \DeclareUnicodeCharacter{00E7}{\cedilla{c}} + \DeclareUnicodeCharacter{00E8}{\`e} + \DeclareUnicodeCharacter{00E9}{\'e} + \DeclareUnicodeCharacter{00EA}{\^e} + \DeclareUnicodeCharacter{00EB}{\"e} + \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} + \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} + \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} + \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} + + \DeclareUnicodeCharacter{00F0}{\dh} + \DeclareUnicodeCharacter{00F1}{\~n} + \DeclareUnicodeCharacter{00F2}{\`o} + \DeclareUnicodeCharacter{00F3}{\'o} + \DeclareUnicodeCharacter{00F4}{\^o} + \DeclareUnicodeCharacter{00F5}{\~o} + \DeclareUnicodeCharacter{00F6}{\"o} + \DeclareUnicodeCharacter{00F8}{\o} + \DeclareUnicodeCharacter{00F9}{\`u} + \DeclareUnicodeCharacter{00FA}{\'u} + \DeclareUnicodeCharacter{00FB}{\^u} + \DeclareUnicodeCharacter{00FC}{\"u} + \DeclareUnicodeCharacter{00FD}{\'y} + \DeclareUnicodeCharacter{00FE}{\th} + \DeclareUnicodeCharacter{00FF}{\"y} + + \DeclareUnicodeCharacter{0100}{\=A} + \DeclareUnicodeCharacter{0101}{\=a} + \DeclareUnicodeCharacter{0102}{\u{A}} + \DeclareUnicodeCharacter{0103}{\u{a}} + \DeclareUnicodeCharacter{0104}{\ogonek{A}} + \DeclareUnicodeCharacter{0105}{\ogonek{a}} + \DeclareUnicodeCharacter{0106}{\'C} + \DeclareUnicodeCharacter{0107}{\'c} + \DeclareUnicodeCharacter{0108}{\^C} + \DeclareUnicodeCharacter{0109}{\^c} + \DeclareUnicodeCharacter{0118}{\ogonek{E}} + \DeclareUnicodeCharacter{0119}{\ogonek{e}} + \DeclareUnicodeCharacter{010A}{\dotaccent{C}} + \DeclareUnicodeCharacter{010B}{\dotaccent{c}} + \DeclareUnicodeCharacter{010C}{\v{C}} + \DeclareUnicodeCharacter{010D}{\v{c}} + \DeclareUnicodeCharacter{010E}{\v{D}} + + \DeclareUnicodeCharacter{0112}{\=E} + \DeclareUnicodeCharacter{0113}{\=e} + \DeclareUnicodeCharacter{0114}{\u{E}} + \DeclareUnicodeCharacter{0115}{\u{e}} + \DeclareUnicodeCharacter{0116}{\dotaccent{E}} + \DeclareUnicodeCharacter{0117}{\dotaccent{e}} + \DeclareUnicodeCharacter{011A}{\v{E}} + \DeclareUnicodeCharacter{011B}{\v{e}} + \DeclareUnicodeCharacter{011C}{\^G} + \DeclareUnicodeCharacter{011D}{\^g} + \DeclareUnicodeCharacter{011E}{\u{G}} + \DeclareUnicodeCharacter{011F}{\u{g}} + + \DeclareUnicodeCharacter{0120}{\dotaccent{G}} + \DeclareUnicodeCharacter{0121}{\dotaccent{g}} + \DeclareUnicodeCharacter{0124}{\^H} + \DeclareUnicodeCharacter{0125}{\^h} + \DeclareUnicodeCharacter{0128}{\~I} + \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} + \DeclareUnicodeCharacter{012A}{\=I} + \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} + \DeclareUnicodeCharacter{012C}{\u{I}} + \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} + + \DeclareUnicodeCharacter{0130}{\dotaccent{I}} + \DeclareUnicodeCharacter{0131}{\dotless{i}} + \DeclareUnicodeCharacter{0132}{IJ} + \DeclareUnicodeCharacter{0133}{ij} + \DeclareUnicodeCharacter{0134}{\^J} + \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} + \DeclareUnicodeCharacter{0139}{\'L} + \DeclareUnicodeCharacter{013A}{\'l} + + \DeclareUnicodeCharacter{0141}{\L} + \DeclareUnicodeCharacter{0142}{\l} + \DeclareUnicodeCharacter{0143}{\'N} + \DeclareUnicodeCharacter{0144}{\'n} + \DeclareUnicodeCharacter{0147}{\v{N}} + \DeclareUnicodeCharacter{0148}{\v{n}} + \DeclareUnicodeCharacter{014C}{\=O} + \DeclareUnicodeCharacter{014D}{\=o} + \DeclareUnicodeCharacter{014E}{\u{O}} + \DeclareUnicodeCharacter{014F}{\u{o}} + + \DeclareUnicodeCharacter{0150}{\H{O}} + \DeclareUnicodeCharacter{0151}{\H{o}} + \DeclareUnicodeCharacter{0152}{\OE} + \DeclareUnicodeCharacter{0153}{\oe} + \DeclareUnicodeCharacter{0154}{\'R} + \DeclareUnicodeCharacter{0155}{\'r} + \DeclareUnicodeCharacter{0158}{\v{R}} + \DeclareUnicodeCharacter{0159}{\v{r}} + \DeclareUnicodeCharacter{015A}{\'S} + \DeclareUnicodeCharacter{015B}{\'s} + \DeclareUnicodeCharacter{015C}{\^S} + \DeclareUnicodeCharacter{015D}{\^s} + \DeclareUnicodeCharacter{015E}{\cedilla{S}} + \DeclareUnicodeCharacter{015F}{\cedilla{s}} + + \DeclareUnicodeCharacter{0160}{\v{S}} + \DeclareUnicodeCharacter{0161}{\v{s}} + \DeclareUnicodeCharacter{0162}{\cedilla{t}} + \DeclareUnicodeCharacter{0163}{\cedilla{T}} + \DeclareUnicodeCharacter{0164}{\v{T}} + + \DeclareUnicodeCharacter{0168}{\~U} + \DeclareUnicodeCharacter{0169}{\~u} + \DeclareUnicodeCharacter{016A}{\=U} + \DeclareUnicodeCharacter{016B}{\=u} + \DeclareUnicodeCharacter{016C}{\u{U}} + \DeclareUnicodeCharacter{016D}{\u{u}} + \DeclareUnicodeCharacter{016E}{\ringaccent{U}} + \DeclareUnicodeCharacter{016F}{\ringaccent{u}} + + \DeclareUnicodeCharacter{0170}{\H{U}} + \DeclareUnicodeCharacter{0171}{\H{u}} + \DeclareUnicodeCharacter{0174}{\^W} + \DeclareUnicodeCharacter{0175}{\^w} + \DeclareUnicodeCharacter{0176}{\^Y} + \DeclareUnicodeCharacter{0177}{\^y} + \DeclareUnicodeCharacter{0178}{\"Y} + \DeclareUnicodeCharacter{0179}{\'Z} + \DeclareUnicodeCharacter{017A}{\'z} + \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} + \DeclareUnicodeCharacter{017C}{\dotaccent{z}} + \DeclareUnicodeCharacter{017D}{\v{Z}} + \DeclareUnicodeCharacter{017E}{\v{z}} + + \DeclareUnicodeCharacter{01C4}{D\v{Z}} + \DeclareUnicodeCharacter{01C5}{D\v{z}} + \DeclareUnicodeCharacter{01C6}{d\v{z}} + \DeclareUnicodeCharacter{01C7}{LJ} + \DeclareUnicodeCharacter{01C8}{Lj} + \DeclareUnicodeCharacter{01C9}{lj} + \DeclareUnicodeCharacter{01CA}{NJ} + \DeclareUnicodeCharacter{01CB}{Nj} + \DeclareUnicodeCharacter{01CC}{nj} + \DeclareUnicodeCharacter{01CD}{\v{A}} + \DeclareUnicodeCharacter{01CE}{\v{a}} + \DeclareUnicodeCharacter{01CF}{\v{I}} + + \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} + \DeclareUnicodeCharacter{01D1}{\v{O}} + \DeclareUnicodeCharacter{01D2}{\v{o}} + \DeclareUnicodeCharacter{01D3}{\v{U}} + \DeclareUnicodeCharacter{01D4}{\v{u}} + + \DeclareUnicodeCharacter{01E2}{\={\AE}} + \DeclareUnicodeCharacter{01E3}{\={\ae}} + \DeclareUnicodeCharacter{01E6}{\v{G}} + \DeclareUnicodeCharacter{01E7}{\v{g}} + \DeclareUnicodeCharacter{01E8}{\v{K}} + \DeclareUnicodeCharacter{01E9}{\v{k}} + + \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} + \DeclareUnicodeCharacter{01F1}{DZ} + \DeclareUnicodeCharacter{01F2}{Dz} + \DeclareUnicodeCharacter{01F3}{dz} + \DeclareUnicodeCharacter{01F4}{\'G} + \DeclareUnicodeCharacter{01F5}{\'g} + \DeclareUnicodeCharacter{01F8}{\`N} + \DeclareUnicodeCharacter{01F9}{\`n} + \DeclareUnicodeCharacter{01FC}{\'{\AE}} + \DeclareUnicodeCharacter{01FD}{\'{\ae}} + \DeclareUnicodeCharacter{01FE}{\'{\O}} + \DeclareUnicodeCharacter{01FF}{\'{\o}} + + \DeclareUnicodeCharacter{021E}{\v{H}} + \DeclareUnicodeCharacter{021F}{\v{h}} + + \DeclareUnicodeCharacter{0226}{\dotaccent{A}} + \DeclareUnicodeCharacter{0227}{\dotaccent{a}} + \DeclareUnicodeCharacter{0228}{\cedilla{E}} + \DeclareUnicodeCharacter{0229}{\cedilla{e}} + \DeclareUnicodeCharacter{022E}{\dotaccent{O}} + \DeclareUnicodeCharacter{022F}{\dotaccent{o}} + + \DeclareUnicodeCharacter{0232}{\=Y} + \DeclareUnicodeCharacter{0233}{\=y} + \DeclareUnicodeCharacter{0237}{\dotless{j}} + + \DeclareUnicodeCharacter{02DB}{\ogonek{ }} + + \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} + \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} + \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} + \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} + \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} + \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} + \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} + \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} + \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} + \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} + \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} + \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} + + \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} + \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} + + \DeclareUnicodeCharacter{1E20}{\=G} + \DeclareUnicodeCharacter{1E21}{\=g} + \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} + \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} + \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} + \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} + \DeclareUnicodeCharacter{1E26}{\"H} + \DeclareUnicodeCharacter{1E27}{\"h} + + \DeclareUnicodeCharacter{1E30}{\'K} + \DeclareUnicodeCharacter{1E31}{\'k} + \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} + \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} + \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} + \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} + \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} + \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} + \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} + \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} + \DeclareUnicodeCharacter{1E3E}{\'M} + \DeclareUnicodeCharacter{1E3F}{\'m} + + \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} + \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} + \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} + \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} + \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} + \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} + \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} + \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} + \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} + \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} + + \DeclareUnicodeCharacter{1E54}{\'P} + \DeclareUnicodeCharacter{1E55}{\'p} + \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} + \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} + \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} + \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} + \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} + \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} + \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} + \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} + + \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} + \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} + \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} + \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} + \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} + \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} + \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} + \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} + \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} + \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} + + \DeclareUnicodeCharacter{1E7C}{\~V} + \DeclareUnicodeCharacter{1E7D}{\~v} + \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} + \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} + + \DeclareUnicodeCharacter{1E80}{\`W} + \DeclareUnicodeCharacter{1E81}{\`w} + \DeclareUnicodeCharacter{1E82}{\'W} + \DeclareUnicodeCharacter{1E83}{\'w} + \DeclareUnicodeCharacter{1E84}{\"W} + \DeclareUnicodeCharacter{1E85}{\"w} + \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} + \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} + \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} + \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} + \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} + \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} + \DeclareUnicodeCharacter{1E8C}{\"X} + \DeclareUnicodeCharacter{1E8D}{\"x} + \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} + \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} + + \DeclareUnicodeCharacter{1E90}{\^Z} + \DeclareUnicodeCharacter{1E91}{\^z} + \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} + \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} + \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} + \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} + \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} + \DeclareUnicodeCharacter{1E97}{\"t} + \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} + \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} + + \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} + \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} + + \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} + \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} + \DeclareUnicodeCharacter{1EBC}{\~E} + \DeclareUnicodeCharacter{1EBD}{\~e} + + \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} + \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} + \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} + \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} + + \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} + \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} + + \DeclareUnicodeCharacter{1EF2}{\`Y} + \DeclareUnicodeCharacter{1EF3}{\`y} + \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} + + \DeclareUnicodeCharacter{1EF8}{\~Y} + \DeclareUnicodeCharacter{1EF9}{\~y} + + \DeclareUnicodeCharacter{2013}{--} + \DeclareUnicodeCharacter{2014}{---} + \DeclareUnicodeCharacter{2018}{\quoteleft} + \DeclareUnicodeCharacter{2019}{\quoteright} + \DeclareUnicodeCharacter{201A}{\quotesinglbase} + \DeclareUnicodeCharacter{201C}{\quotedblleft} + \DeclareUnicodeCharacter{201D}{\quotedblright} + \DeclareUnicodeCharacter{201E}{\quotedblbase} + \DeclareUnicodeCharacter{2022}{\bullet} + \DeclareUnicodeCharacter{2026}{\dots} + \DeclareUnicodeCharacter{2039}{\guilsinglleft} + \DeclareUnicodeCharacter{203A}{\guilsinglright} + \DeclareUnicodeCharacter{20AC}{\euro} + + \DeclareUnicodeCharacter{2192}{\expansion} + \DeclareUnicodeCharacter{21D2}{\result} + + \DeclareUnicodeCharacter{2212}{\minus} + \DeclareUnicodeCharacter{2217}{\point} + \DeclareUnicodeCharacter{2261}{\equiv} +}% end of \utfeightchardefs + + +% US-ASCII character definitions. +\def\asciichardefs{% nothing need be done + \relax +} + +% Make non-ASCII characters printable again for compatibility with +% existing Texinfo documents that may use them, even without declaring a +% document encoding. +% +\setnonasciicharscatcode \other + + +\message{formatting,} + \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt @@ -6840,7 +8902,7 @@ should work if nowhere else does.} % Don't be so finicky about underfull hboxes, either. \hbadness = 2000 -% Following George Bush, just get rid of widows and orphans. +% Following George Bush, get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 @@ -6887,6 +8949,10 @@ should work if nowhere else does.} \ifpdf \pdfpageheight #7\relax \pdfpagewidth #8\relax + % if we don't reset these, they will remain at "1 true in" of + % whatever layout pdftex was dumped with. + \pdfhorigin = 1 true in + \pdfvorigin = 1 true in \fi % \setleading{\textleading} @@ -6901,7 +8967,7 @@ should work if nowhere else does.} \textleading = 13.2pt % % If page is nothing but text, make it come out even. - \internalpagesizes{46\baselineskip}{6in}% + \internalpagesizes{607.2pt}{6in}% that's 46 lines {\voffset}{.25in}% {\bindingoffset}{36pt}% {11in}{8.5in}% @@ -6913,7 +8979,7 @@ should work if nowhere else does.} \textleading = 12pt % \internalpagesizes{7.5in}{5in}% - {\voffset}{.25in}% + {-.2in}{0in}% {\bindingoffset}{16pt}% {9.25in}{7in}% % @@ -6957,7 +9023,7 @@ should work if nowhere else does.} % \global\normaloffset = -6mm % \global\bindingoffset = 10mm % @end tex - \internalpagesizes{51\baselineskip}{160mm} + \internalpagesizes{673.2pt}{160mm}% that's 51 lines {\voffset}{\hoffset}% {\bindingoffset}{44pt}% {297mm}{210mm}% @@ -7022,7 +9088,7 @@ should work if nowhere else does.} \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % - \dimen0 = #1 + \dimen0 = #1\relax \advance\dimen0 by \voffset % \dimen2 = \hsize @@ -7041,6 +9107,9 @@ should work if nowhere else does.} \message{and turning on texinfo input format.} +% DEL is a comment character, in case @c does not suffice. +\catcode`\^^? = 14 + % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other @@ -7117,6 +9186,13 @@ should work if nowhere else does.} % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} +% Used sometimes to turn off (effectively) the active characters even after +% parsing them. +\def\turnoffactive{% + \normalturnoffactive + \otherbackslash +} + \catcode`\@=0 % \backslashcurfont outputs one backslash character in current font, @@ -7124,28 +9200,29 @@ should work if nowhere else does.} \global\chardef\backslashcurfont=`\\ \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work -% \rawbackslash defines an active \ to do \backslashcurfont. -% \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. -{\catcode`\\=\active - @gdef@rawbackslash{@let\=@backslashcurfont} - @gdef@otherbackslash{@let\=@realbackslash} -} - % \realbackslash is an actual character `\' with catcode other, and % \doublebackslash is two of them (for the pdf outlines). {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} -% \normalbackslash outputs one backslash in fixed width font. -\def\normalbackslash{{\tt\backslashcurfont}} - +% In texinfo, backslash is an active character; it prints the backslash +% in fixed width font. \catcode`\\=\active +@def@normalbackslash{{@tt@backslashcurfont}} +% On startup, @fixbackslash assigns: +% @let \ = @normalbackslash -% Used sometimes to turn off (effectively) the active characters -% even after parsing them. -@def@turnoffactive{% +% \rawbackslash defines an active \ to do \backslashcurfont. +% \otherbackslash defines an active \ to be a literal `\' character with +% catcode other. +@gdef@rawbackslash{@let\=@backslashcurfont} +@gdef@otherbackslash{@let\=@realbackslash} + +% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of +% the literal character `\'. +% +@def@normalturnoffactive{% + @let\=@normalbackslash @let"=@normaldoublequote - @let\=@realbackslash @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @@ -7154,15 +9231,11 @@ should work if nowhere else does.} @let>=@normalgreater @let+=@normalplus @let$=@normaldollar %$ font-lock fix + @markupsetuplqdefault + @markupsetuprqdefault @unsepspaces } -% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. (Thus, \ is not expandable when this is in -% effect.) -% -@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash} - % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive @@ -7175,7 +9248,7 @@ should work if nowhere else does.} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then -% the first `\{ in the file would cause an error. This macro tries to fix +% the first `\' in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. @@ -7194,6 +9267,14 @@ should work if nowhere else does.} @catcode`@# = @other @catcode`@% = @other +@c Finally, make ` and ' active, so that txicodequoteundirected and +@c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we +@c don't make ` and ' active, @code will not get them as active chars. +@c Do this last of all since we use ` in the previous @catcode assignments. +@catcode`@'=@active +@catcode`@`=@active +@markupsetuplqdefault +@markupsetuprqdefault @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) diff --git a/external/bsd/flex/dist/doc/version.texi b/external/bsd/flex/dist/doc/version.texi index 8068e743e..77147a4d6 100644 --- a/external/bsd/flex/dist/doc/version.texi +++ b/external/bsd/flex/dist/doc/version.texi @@ -1,5 +1,5 @@ -@set UPDATED 10 September 2007 -@c $NetBSD: version.texi,v 1.1.1.1 2009/10/26 00:27:06 christos Exp $ -@set UPDATED-MONTH September 2007 -@set EDITION 2.5.35 -@set VERSION 2.5.35 +@set UPDATED 22 July 2012 +@c $NetBSD: version.texi,v 1.1.1.2 2013/04/06 14:05:50 christos Exp $ +@set UPDATED-MONTH July 2012 +@set EDITION 2.5.37 +@set VERSION 2.5.37 diff --git a/external/bsd/flex/dist/examples/Makefile.in b/external/bsd/flex/dist/examples/Makefile.in index 5e244bbcd..5c18555c4 100644 --- a/external/bsd/flex/dist/examples/Makefile.in +++ b/external/bsd/flex/dist/examples/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,22 +67,52 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -108,8 +136,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -129,6 +159,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -138,6 +169,7 @@ 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@ POSUB = @POSUB@ @@ -149,14 +181,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -168,28 +199,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ EXTRA_DIST = \ testxxLexer.l \ debflex.awk \ @@ -206,14 +249,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits examples/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits examples/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits examples/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits examples/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -231,7 +274,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -240,7 +283,7 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -257,16 +300,15 @@ $(RECURSIVE_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -292,16 +334,16 @@ maintainer-clean-recursive: else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -309,14 +351,14 @@ ID: $(HEADERS) $(SOURCES) $(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; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -328,81 +370,101 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + $(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; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + 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: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ - 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; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + $(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) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -432,6 +494,7 @@ 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" @@ -450,18 +513,38 @@ dvi-am: html: html-recursive +html-am: + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + +install-dvi-am: + install-exec-am: +install-html: install-html-recursive + +install-html-am: + install-info: install-info-recursive +install-info-am: + install-man: +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -480,21 +563,24 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ + install-am install-strip tags-recursive -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - clean clean-generic clean-recursive ctags ctags-recursive \ - distclean distclean-generic distclean-recursive distclean-tags \ +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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 \ installdirs-am maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ - uninstall uninstall-am uninstall-info-am + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive 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. diff --git a/external/bsd/flex/dist/examples/fastwc/Makefile.in b/external/bsd/flex/dist/examples/fastwc/Makefile.in index 21befbe6b..d00c6dcb8 100644 --- a/external/bsd/flex/dist/examples/fastwc/Makefile.in +++ b/external/bsd/flex/dist/examples/fastwc/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ EXTRA_DIST = \ wc5.l \ wc4.l \ @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits examples/fastwc/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits examples/fastwc/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits examples/fastwc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits examples/fastwc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +296,7 @@ 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" @@ -299,18 +315,38 @@ 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 @@ -329,16 +365,20 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am 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. diff --git a/external/bsd/flex/dist/examples/manual/Makefile.in b/external/bsd/flex/dist/examples/manual/Makefile.in index 44ae53567..bbbc10eba 100644 --- a/external/bsd/flex/dist/examples/manual/Makefile.in +++ b/external/bsd/flex/dist/examples/manual/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -70,13 +68,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -100,8 +97,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -121,6 +120,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -130,6 +130,7 @@ 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@ POSUB = @POSUB@ @@ -141,14 +142,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -160,28 +160,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ EXTRA_DIST = \ ChangeLog \ Makefile.examples \ @@ -224,14 +236,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits examples/manual/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits examples/manual/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits examples/manual/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits examples/manual/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -249,7 +261,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -258,29 +270,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -308,6 +323,7 @@ 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" @@ -326,18 +342,38 @@ 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 @@ -356,16 +392,20 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am 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. diff --git a/external/bsd/flex/dist/filter.c b/external/bsd/flex/dist/filter.c index 91b827f0b..3ccb92e85 100644 --- a/external/bsd/flex/dist/filter.c +++ b/external/bsd/flex/dist/filter.c @@ -1,4 +1,4 @@ -/* $NetBSD: filter.c,v 1.1.1.1 2009/10/26 00:26:00 christos Exp $ */ +/* $NetBSD: filter.c,v 1.3 2013/10/20 03:13:44 christos Exp $ */ /* filter - postprocessing of flex output through filters */ @@ -50,6 +50,8 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd, /* allocate and initialize new filter */ f = (struct filter *) flex_alloc (sizeof (struct filter)); + if (!f) + flexerror (_("flex_alloc failed (f) in filter_create_ext")); memset (f, 0, sizeof (*f)); f->filter_func = NULL; f->extra = NULL; @@ -69,6 +71,8 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd, f->argv = (const char **) flex_alloc (sizeof (char *) * (max_args + 1)); + if (!f->argv) + flexerror (_("flex_alloc failed (f->argv) in filter_create_ext")); f->argv[f->argc++] = cmd; va_start (ap, cmd); @@ -106,6 +110,8 @@ struct filter *filter_create_int (struct filter *chain, /* allocate and initialize new filter */ f = (struct filter *) flex_alloc (sizeof (struct filter)); + if (!f) + flexerror (_("flex_alloc failed in filter_create_int")); memset (f, 0, sizeof (*f)); f->next = NULL; f->argc = 0; @@ -132,6 +138,7 @@ bool filter_apply_chain (struct filter * chain) { int pid, pipes[2]; + /* Tricky recursion, since we want to begin the chain * at the END. Why? Because we need all the forked processes * to be children of the main flex process. @@ -147,6 +154,7 @@ bool filter_apply_chain (struct filter * chain) fflush (stdout); fflush (stderr); + if (pipe (pipes) == -1) flexerror (_("pipe failed")); @@ -163,6 +171,7 @@ bool filter_apply_chain (struct filter * chain) * to sync the stream. This is a Hail Mary situation. It seems to work. */ close (pipes[1]); +clearerr(stdin); if (dup2 (pipes[0], fileno (stdin)) == -1) flexfatal (_("dup2(pipes[0],0)")); close (pipes[0]); @@ -179,7 +188,8 @@ bool filter_apply_chain (struct filter * chain) else { execvp (chain->argv[0], (char **const) (chain->argv)); - flexfatal (_("exec failed")); + lerrsf_fatal ( _("exec of %s failed"), + chain->argv[0]); } exit (1); @@ -281,6 +291,8 @@ int filter_tee_header (struct filter *chain) outfilename ? outfilename : ""); buf = (char *) flex_alloc (readsz); + if (!buf) + flexerror (_("flex_alloc failed in filter_tee_header")); while (fgets (buf, readsz, stdin)) { fputs (buf, to_c); if (write_header) @@ -298,13 +310,13 @@ int filter_tee_header (struct filter *chain) fputs ("m4_undefine( [[M4_YY_IN_HEADER]])m4_dnl\n", to_h); fflush (to_h); - if (ferror (to_h)) - lerrsf (_("error writing output file %s"), - (char *) chain->extra); + if (ferror (to_h)) + lerrsf (_("error writing output file %s"), + (char *) chain->extra); - else if (fclose (to_h)) - lerrsf (_("error closing output file %s"), - (char *) chain->extra); + else if (fclose (to_h)) + lerrsf (_("error closing output file %s"), + (char *) chain->extra); } fflush (to_c); @@ -340,6 +352,8 @@ int filter_fix_linedirs (struct filter *chain) return 0; buf = (char *) flex_alloc (readsz); + if (!buf) + flexerror (_("flex_alloc failed in filter_fix_linedirs")); while (fgets (buf, readsz, stdin)) { @@ -347,13 +361,12 @@ int filter_fix_linedirs (struct filter *chain) /* Check for #line directive. */ if (buf[0] == '#' - && regexec (®ex_linedir, buf, 3, m, 0) == 0) { + && regexec (®ex_linedir, buf, 3, m, 0) == 0) { - int num; char *fname; /* extract the line number and filename */ - num = regmatch_strtol (&m[1], buf, NULL, 0); + (void)regmatch_strtol (&m[1], buf, NULL, 0); fname = regmatch_dup (&m[2], buf); if (strcmp (fname, diff --git a/external/bsd/flex/dist/flex.skl b/external/bsd/flex/dist/flex.skl index a43321225..62bd41561 100644 --- a/external/bsd/flex/dist/flex.skl +++ b/external/bsd/flex/dist/flex.skl @@ -224,6 +224,7 @@ m4preproc_include(`flexint.h') #include #include #include +#include #include /* end standard C++ headers. */ %endif @@ -294,6 +295,8 @@ typedef void* yyscan_t; %# Declare yyguts variable m4_define( [[M4_YY_DECL_GUTS_VAR]], [[struct yyguts_t * yyg = (struct yyguts_t*)yyscanner]]) +%# Perform a noop access on yyguts to prevent unused variable complains +m4_define( [[M4_YY_NOOP_GUTS_VAR]], [[(void)yyg]]) %# For use wherever a Global is accessed or assigned. m4_define( [[YY_G]], [[yyg->$1]]) @@ -351,6 +354,7 @@ m4_define( [[M4_YY_INCR_LINENO]], %# Define these macros to be no-ops. m4_define( [[M4_YY_DECL_GUTS_VAR]], [[m4_dnl]]) +m4_define( [[M4_YY_NOOP_GUTS_VAR]], [[m4_dnl]]) m4_define( [[YY_G]], [[($1)]]) m4_define( [[M4_YY_PROTO_LAST_ARG]]) m4_define( [[M4_YY_PROTO_ONLY_ARG]], [[void]]) @@ -465,8 +469,13 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + %if-not-reentrant -extern int yyleng; +extern yy_size_t yyleng; %endif %if-c-only @@ -528,11 +537,6 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], #define unput(c) yyunput( c, YY_G(yytext_ptr) M4_YY_CALL_LAST_ARG ) ]]) -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state @@ -557,7 +561,7 @@ struct yy_buffer_state /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - int yy_n_chars; + yy_size_t yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -646,8 +650,8 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], %not-for-header /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static int yy_n_chars; /* number of characters read into yy_ch_buf */ -int yyleng; +static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ +yy_size_t yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; @@ -683,7 +687,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG ); YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG ); -YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, int len M4_YY_PROTO_LAST_ARG ); +YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, yy_size_t len M4_YY_PROTO_LAST_ARG ); %endif @@ -812,8 +816,8 @@ struct yyguts_t size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - int yy_n_chars; - int yyleng_r; + yy_size_t yy_n_chars; + yy_size_t yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -950,7 +954,7 @@ void yyset_out M4_YY_PARAMS( FILE * _out_str M4_YY_PROTO_LAST_ARG ); m4_ifdef( [[M4_YY_NO_GET_LENG]],, [[ -int yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +yy_size_t yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_TEXT]],, @@ -968,6 +972,22 @@ m4_ifdef( [[M4_YY_NO_SET_LINENO]],, void yyset_lineno M4_YY_PARAMS( int _line_number M4_YY_PROTO_LAST_ARG ); ]]) +m4_ifdef( [[M4_YY_REENTRANT]], +[[ +m4_ifdef( [[M4_YY_NO_GET_COLUMN]],, +[[ +int yyget_column M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +]]) +]]) + +m4_ifdef( [[M4_YY_REENTRANT]], +[[ +m4_ifdef( [[M4_YY_NO_SET_COLUMN]],, +[[ +void yyset_column M4_YY_PARAMS( int column_no M4_YY_PROTO_LAST_ARG ); +]]) +]]) + %if-bison-bridge m4_ifdef( [[M4_YY_NO_GET_LVAL]],, [[ @@ -1085,7 +1105,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) %endif %if-c++-only C++ definition #define ECHO LexerOutput( yytext, yyleng ) @@ -1640,7 +1660,7 @@ int yyFlexLexer::yy_get_next_buffer() else { - int num_to_read = + yy_size_t num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -1652,14 +1672,14 @@ m4_ifdef( [[M4_YY_USES_REJECT]], ]], [[ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; int yy_c_buf_p_offset = (int) (YY_G(yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { - int new_size = b->yy_buf_size * 2; + yy_size_t new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1691,7 +1711,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - YY_G(yy_n_chars), (size_t) num_to_read ); + YY_G(yy_n_chars), num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = YY_G(yy_n_chars); } @@ -1775,6 +1795,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], M4_YY_DECL_GUTS_VAR(); /* This var may be unused depending upon options. */ %% [17.0] code to find the next state, and perhaps do backing up, goes here + M4_YY_NOOP_GUTS_VAR(); return yy_is_jam ? 0 : yy_current_state; } @@ -1800,7 +1821,7 @@ m4_ifdef( [[M4_YY_NO_UNPUT]],, if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register int number_to_move = YY_G(yy_n_chars) + 2; + register yy_size_t number_to_move = YY_G(yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = @@ -1867,7 +1888,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]], else { /* need more input */ - int offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr); + yy_size_t offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr); ++YY_G(yy_c_buf_p); switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) ) @@ -2063,25 +2084,6 @@ static void yy_load_buffer_state YYFARGS0(void) } -%if-c-only -m4_ifdef( [[M4_YY_ALWAYS_INTERACTIVE]],, -[[ - m4_ifdef( [[M4_YY_NEVER_INTERACTIVE]],, - [[ -#ifndef __cplusplus -extern int isatty M4_YY_PARAMS( int ); -#endif /* __cplusplus */ - ]]) -]]) -%endif - -%if-c++-only -m4_ifdef( [[M4_YY_NEVER_INTERACTIVE]],, -[[ -extern "C" int isatty M4_YY_PARAMS( int ); -]]) -%endif - /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a yyrestart() or at EOF. @@ -2246,7 +2248,7 @@ static void yyensure_buffer_stack YYFARGS0(void) void yyFlexLexer::yyensure_buffer_stack(void) %endif { - int num_to_alloc; + yy_size_t num_to_alloc; M4_YY_DECL_GUTS_VAR(); if (!YY_G(yy_buffer_stack)) { @@ -2361,17 +2363,16 @@ m4_ifdef( [[M4_YY_NO_SCAN_BYTES]],, %if-c-only /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. - * @param bytes the byte buffer to scan - * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. * M4_YY_DOC_PARAM * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, int ,_yybytes_len) +YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yybytes_len) { YY_BUFFER_STATE b; char *buf; - yy_size_t n; - int i; + yy_size_t i, n; m4_dnl M4_YY_DECL_GUTS_VAR(); /* Get memory for full buffer, including space for trailing EOB's. */ @@ -2592,7 +2593,7 @@ m4_ifdef( [[M4_YY_NO_GET_LENG]],, /** Get the length of the current token. * M4_YY_DOC_PARAM */ -int yyget_leng YYFARGS0(void) +yy_size_t yyget_leng YYFARGS0(void) { M4_YY_DECL_GUTS_VAR(); return yyleng; @@ -2640,7 +2641,7 @@ void yyset_lineno YYFARGS1( int ,_line_number) [[ /* lineno is only valid if an input buffer exists. */ if (! YY_CURRENT_BUFFER ) - yy_fatal_error( "yyset_lineno called with no buffer" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "yyset_lineno called with no buffer" ); ]]) yylineno = _line_number; } @@ -2662,7 +2663,7 @@ void yyset_column YYFARGS1( int , _column_no) [[ /* column is only valid if an input buffer exists. */ if (! YY_CURRENT_BUFFER ) - yy_fatal_error( "yyset_column called with no buffer" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "yyset_column called with no buffer" ); ]]) yycolumn = _column_no; } @@ -3057,7 +3058,7 @@ static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader * return -1; if (th->th_magic != YYTBL_MAGIC){ - yy_fatal_error("bad magic number" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "bad magic number" ); /* TODO: not fatal. */ return -1; } @@ -3068,7 +3069,7 @@ static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader * /* Sanity check on header size. Greater than 1k suggests some funny business. */ if (th->th_hsize < 16 || th->th_hsize > 1024){ - yy_fatal_error("insane header size detected" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "insane header size detected" ); /* TODO: not fatal. */ return -1; } @@ -3133,7 +3134,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read transdmap = yytbl_dmap_lookup (dmap, YYTD_ID_TRANSITION M4_YY_CALL_LAST_ARG); if ((dmap = yytbl_dmap_lookup (dmap, td.td_id M4_YY_CALL_LAST_ARG)) == NULL){ - yy_fatal_error("table id not found in map." /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "table id not found in map." ); /* TODO: not fatal. */ return -1; } @@ -3200,7 +3201,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read t32 = t8; break; default: - yy_fatal_error("invalid td_flags" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "invalid td_flags" ); /* TODO: not fatal. */ return -1; } } @@ -3220,26 +3221,26 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read case sizeof (flex_int32_t): if (M4_YY_TABLES_VERIFY){ if( ((flex_int32_t *) v)[0] != (flex_int32_t) t32) - yy_fatal_error("tables verification failed at YYTD_STRUCT flex_int32_t" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at YYTD_STRUCT flex_int32_t" ); }else ((flex_int32_t *) v)[0] = (flex_int32_t) t32; break; case sizeof (flex_int16_t): if (M4_YY_TABLES_VERIFY ){ if(((flex_int16_t *) v)[0] != (flex_int16_t) t32) - yy_fatal_error("tables verification failed at YYTD_STRUCT flex_int16_t" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at YYTD_STRUCT flex_int16_t" ); }else ((flex_int16_t *) v)[0] = (flex_int16_t) t32; break; case sizeof(flex_int8_t): if (M4_YY_TABLES_VERIFY ){ if( ((flex_int8_t *) v)[0] != (flex_int8_t) t32) - yy_fatal_error("tables verification failed at YYTD_STRUCT flex_int8_t" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at YYTD_STRUCT flex_int8_t" ); }else ((flex_int8_t *) v)[0] = (flex_int8_t) t32; break; default: - yy_fatal_error("invalid dmap->dm_sz for struct" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "invalid dmap->dm_sz for struct" ); /* TODO: not fatal. */ return -1; } @@ -3253,7 +3254,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read if (!transdmap){ - yy_fatal_error("transition table not found" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "transition table not found" ); /* TODO: not fatal. */ return -1; } @@ -3264,7 +3265,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read if(M4_YY_TABLES_VERIFY ){ if( ((struct yy_trans_info **) p)[0] != v) - yy_fatal_error("tables verification failed at YYTD_PTRANS" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at YYTD_PTRANS" ); }else ((struct yy_trans_info **) p)[0] = v; @@ -3277,7 +3278,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read case sizeof (flex_int32_t): if(M4_YY_TABLES_VERIFY ){ if( ((flex_int32_t *) p)[0] != (flex_int32_t) t32) - yy_fatal_error("tables verification failed at flex_int32_t" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at flex_int32_t" ); }else ((flex_int32_t *) p)[0] = (flex_int32_t) t32; p = ((flex_int32_t *) p) + 1; @@ -3285,7 +3286,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read case sizeof (flex_int16_t): if(M4_YY_TABLES_VERIFY ){ if( ((flex_int16_t *) p)[0] != (flex_int16_t) t32) - yy_fatal_error("tables verification failed at flex_int16_t" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at flex_int16_t" ); }else ((flex_int16_t *) p)[0] = (flex_int16_t) t32; p = ((flex_int16_t *) p) + 1; @@ -3293,13 +3294,13 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read case sizeof (flex_int8_t): if(M4_YY_TABLES_VERIFY ){ if( ((flex_int8_t *) p)[0] != (flex_int8_t) t32) - yy_fatal_error("tables verification failed at flex_int8_t" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "tables verification failed at flex_int8_t" ); }else ((flex_int8_t *) p)[0] = (flex_int8_t) t32; p = ((flex_int8_t *) p) + 1; break; default: - yy_fatal_error("invalid dmap->dm_sz for plain int" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR( "invalid dmap->dm_sz for plain int" ); /* TODO: not fatal. */ return -1; } } diff --git a/external/bsd/flex/dist/flexdef.h b/external/bsd/flex/dist/flexdef.h index 44de82154..752924fee 100644 --- a/external/bsd/flex/dist/flexdef.h +++ b/external/bsd/flex/dist/flexdef.h @@ -1,4 +1,4 @@ -/* $NetBSD: flexdef.h,v 1.2 2009/10/26 04:27:15 christos Exp $ */ +/* $NetBSD: flexdef.h,v 1.5 2013/04/09 15:19:45 christos Exp $ */ /* flexdef - definitions file for flex */ @@ -93,7 +93,9 @@ char *alloca (); #define true 1 #define false 0 #endif +#ifdef HAVE_REGEX_H #include +#endif #include "flexint.h" /* We use gettext. So, when we write strings which should be translated, we mark them with _() */ @@ -416,7 +418,6 @@ extern int yymore_really_used, reject_really_used; * dataline - number of contiguous lines of data in current data * statement. Used to generate readable -f output * linenum - current input line number - * out_linenum - current output line number * skelfile - the skeleton file * skel - compiled-in skeleton array * skel_ind - index into "skel" array, if skelfile is nil @@ -444,7 +445,7 @@ extern int yymore_really_used, reject_really_used; * to "action_array" */ -extern int datapos, dataline, linenum, out_linenum; +extern int datapos, dataline, linenum; extern FILE *skelfile, *yyin, *backing_up_file; extern const char *skel[]; extern int skel_ind; @@ -849,8 +850,8 @@ extern int all_lower PROTO ((register char *)); /* True if a string is all upper case. */ extern int all_upper PROTO ((register char *)); -/* Bubble sort an integer array. */ -extern void bubble PROTO ((int[], int)); +/* Compare two integers for use by qsort. */ +extern int intcmp PROTO ((const void *, const void *)); /* Check a character to make sure it's in the expected range. */ extern void check_char PROTO ((int c)); @@ -864,8 +865,8 @@ extern char *copy_string PROTO ((register const char *)); /* Returns a dynamically allocated copy of a (potentially) unsigned string. */ extern Char *copy_unsigned_string PROTO ((register Char *)); -/* Shell sort a character array. */ -extern void cshell PROTO ((Char[], int, int)); +/* Compare two characters for use by qsort with '\0' sorting last. */ +extern int cclcmp PROTO ((const void *, const void *)); /* Finish up a block of data declarations. */ extern void dataend PROTO ((void)); @@ -939,7 +940,6 @@ extern void out PROTO ((const char *)); extern void out_dec PROTO ((const char *, int)); extern void out_dec2 PROTO ((const char *, int, int)); extern void out_hex PROTO ((const char *, unsigned int)); -extern void out_line_count PROTO ((const char *)); extern void out_str PROTO ((const char *, const char *)); extern void out_str3 PROTO ((const char *, const char *, const char *, const char *)); @@ -1221,5 +1221,12 @@ extern void sf_init(void); extern void sf_push(void); extern void sf_pop(void); +/* + * From "misc.c" + */ +#ifdef __printflike +__printflike(1, 2) +#endif +void lerrsf_fatal (const char *msg, ...); #endif /* not defined FLEXDEF_H */ diff --git a/external/bsd/flex/dist/flexint.h b/external/bsd/flex/dist/flexint.h index e17b67118..8e443421e 100644 --- a/external/bsd/flex/dist/flexint.h +++ b/external/bsd/flex/dist/flexint.h @@ -1,4 +1,4 @@ -/* $NetBSD: flexint.h,v 1.1.1.1 2009/10/26 00:26:19 christos Exp $ */ +/* $NetBSD: flexint.h,v 1.1.1.2 2013/04/06 14:05:42 christos Exp $ */ /* flex integer type definitions */ @@ -30,7 +30,6 @@ typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; -#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN @@ -61,5 +60,6 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#endif /* ! C99 */ #endif /* ! FLEXINT_H */ diff --git a/external/bsd/flex/dist/gen.c b/external/bsd/flex/dist/gen.c index c36b7df14..8835c7a24 100644 --- a/external/bsd/flex/dist/gen.c +++ b/external/bsd/flex/dist/gen.c @@ -1,4 +1,4 @@ -/* $NetBSD: gen.c,v 1.6 2010/04/06 17:39:47 christos Exp $ */ +/* $NetBSD: gen.c,v 1.8 2013/04/06 20:05:40 christos Exp $ */ /* gen - actual generation (writing) of flex scanners */ @@ -1977,7 +1977,7 @@ void make_tables () ("if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )"); indent_up (); indent_puts ("{"); - indent_puts ("int yyl;"); + indent_puts ("yy_size_t yyl;"); do_indent (); out_str ("for ( yyl = %s; yyl < yyleng; ++yyl )\n", yymore_used ? (yytext_is_array ? "YY_G(yy_prev_more_offset)" : diff --git a/external/bsd/flex/dist/initparse.c b/external/bsd/flex/dist/initparse.c index 48beed9fb..47a0e878f 100644 --- a/external/bsd/flex/dist/initparse.c +++ b/external/bsd/flex/dist/initparse.c @@ -17,27 +17,10 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; #define yyerrok (yyerrflag = 0) #define YYRECOVERING() (yyerrflag != 0) -/* compatibility with bison */ -#ifdef YYPARSE_PARAM -/* compatibility with FreeBSD */ -# ifdef YYPARSE_PARAM_TYPE -# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) -# else -# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) -# endif -#else -# define YYPARSE_DECL() yyparse(void) -#endif - -/* Pure parsers. */ -#define YYPURE 0 -#ifdef YYLEX_PARAM -# define YYLEX yylex(YYLEX_PARAM) -#else -# define YYLEX yylex() -#endif - #define YYPREFIX "yy" + +#define YYPURE 0 + /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ @@ -118,6 +101,43 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ */ #define YYSTYPE int + +#ifndef YYSTYPE +typedef int YYSTYPE; +#endif + +/* compatibility with bison */ +#ifdef YYPARSE_PARAM +/* compatibility with FreeBSD */ +# ifdef YYPARSE_PARAM_TYPE +# define YYPARSE_DECL() yyparse(YYPARSE_PARAM_TYPE YYPARSE_PARAM) +# else +# define YYPARSE_DECL() yyparse(void *YYPARSE_PARAM) +# endif +#else +# define YYPARSE_DECL() yyparse(void) +#endif + +/* Parameters sent to lex. */ +#ifdef YYLEX_PARAM +# define YYLEX_DECL() yylex(void *YYLEX_PARAM) +# define YYLEX yylex(YYLEX_PARAM) +#else +# define YYLEX_DECL() yylex(void) +# define YYLEX yylex() +#endif + +/* Parameters sent to yyerror. */ +#ifndef YYERROR_DECL +#define YYERROR_DECL() yyerror(const char *s) +#endif +#ifndef YYERROR_CALL +#define YYERROR_CALL(msg) yyerror(msg) +#endif + +extern int YYPARSE_DECL(); + + #define CHAR 257 #define NUMBER 258 #define SECTEND 259 @@ -461,16 +481,14 @@ static const char *yyrule[] = { }; #endif -#ifndef YYSTYPE -typedef int YYSTYPE; -#endif -#if YYDEBUG -#include -#endif -extern int YYPARSE_DECL(); -static int yygrowstack(short **, short **, short **, - YYSTYPE **, YYSTYPE **, unsigned *); +int yydebug; +int yynerrs; + +int yyerrflag; +int yychar; +YYSTYPE yyval; +YYSTYPE yylval; /* define the initial stack-sizes */ #ifdef YYSTACKSIZE @@ -487,12 +505,16 @@ static int yygrowstack(short **, short **, short **, #define YYINITSTACKSIZE 500 -int yydebug; -int yyerrflag; - int yynerrs; - int yychar; - YYSTYPE yylval; - +typedef struct { + unsigned stacksize; + short *s_base; + short *s_mark; + short *s_last; + YYSTYPE *l_base; + YYSTYPE *l_mark; +} YYSTACKDATA; +/* variables for the parser stack */ +static YYSTACKDATA yystack; /* build_eof_action - build the "<>" action for the active start @@ -514,6 +536,10 @@ void build_eof_action() else { sceof[scon_stk[i]] = true; + + if (previous_continued_action /* && previous action was regular */) + add_action("YY_RULE_SETUP\n"); + snprintf( action_text, sizeof(action_text), "case YY_STATE_EOF(%s):\n", scname[scon_stk[i]] ); add_action( action_text ); @@ -631,40 +657,60 @@ void yyerror( msg ) const char *msg; { } + +#if YYDEBUG +#include /* needed for printf */ +#endif + +#include /* needed for malloc, etc */ +#include /* needed for memset */ + /* allocate initial stack or double stack size, up to YYMAXDEPTH */ -static int yygrowstack(short **yyss, short **yyssp, short **yysslim, - YYSTYPE **yyvs, YYSTYPE **yyvsp, unsigned *yystacksize) +static int yygrowstack(YYSTACKDATA *data) { int i; unsigned newsize; short *newss; YYSTYPE *newvs; - if ((newsize = *yystacksize) == 0) + if ((newsize = data->stacksize) == 0) newsize = YYINITSTACKSIZE; else if (newsize >= YYMAXDEPTH) return -1; else if ((newsize *= 2) > YYMAXDEPTH) newsize = YYMAXDEPTH; - i = *yyssp - *yyss; - newss = (short *)realloc(*yyss, newsize * sizeof(*newss)); + i = (int) (data->s_mark - data->s_base); + newss = (short *)realloc(data->s_base, newsize * sizeof(*newss)); if (newss == 0) return -1; - *yyss = newss; - *yyssp = newss + i; - newvs = (YYSTYPE *)realloc(*yyvs, newsize * sizeof(*newvs)); + data->s_base = newss; + data->s_mark = newss + i; + + newvs = (YYSTYPE *)realloc(data->l_base, newsize * sizeof(*newvs)); if (newvs == 0) return -1; - *yyvs = newvs; - *yyvsp = newvs + i; - *yystacksize = newsize; - *yysslim = *yyss + newsize - 1; + data->l_base = newvs; + data->l_mark = newvs + i; + + data->stacksize = newsize; + data->s_last = data->s_base + newsize - 1; return 0; } +#if YYPURE || defined(YY_NO_LEAKS) +static void yyfreestack(YYSTACKDATA *data) +{ + free(data->s_base); + free(data->l_base); + memset(data, 0, sizeof(*data)); +} +#else +#define yyfreestack(data) /* nothing */ +#endif + #define YYABORT goto yyabort #define YYREJECT goto yyabort #define YYACCEPT goto yyaccept @@ -674,15 +720,6 @@ int YYPARSE_DECL() { int yym, yyn, yystate; - - YYSTYPE yyval; - /* variables for the parser stack */ - short *yyssp; - short *yyss; - short *yysslim; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - unsigned yystacksize; #if YYDEBUG const char *yys; @@ -699,19 +736,21 @@ YYPARSE_DECL() yychar = YYEMPTY; yystate = 0; - yystacksize = 0; - yyvs = yyvsp = NULL; - yyss = yyssp = NULL; - if (yygrowstack(&yyss, &yyssp, &yysslim, &yyvs, &yyvsp, &yystacksize)) - goto yyoverflow; +#if YYPURE + memset(&yystack, 0, sizeof(yystack)); +#endif + + if (yystack.s_base == NULL && yygrowstack(&yystack)) goto yyoverflow; + yystack.s_mark = yystack.s_base; + yystack.l_mark = yystack.l_base; yystate = 0; - *yyssp = 0; + *yystack.s_mark = 0; yyloop: if ((yyn = yydefred[yystate]) != 0) goto yyreduce; if (yychar < 0) { - if ((yychar = yylex()) < 0) yychar = 0; + if ((yychar = YYLEX) < 0) yychar = 0; #if YYDEBUG if (yydebug) { @@ -731,14 +770,13 @@ yyloop: printf("%sdebug: state %d, shifting to state %d\n", YYPREFIX, yystate, yytable[yyn]); #endif - if (yyssp >= yysslim && yygrowstack(&yyss, &yyssp, &yysslim, - &yyvs, &yyvsp, &yystacksize)) + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) { goto yyoverflow; } yystate = yytable[yyn]; - *++yyssp = yytable[yyn]; - *++yyvsp = yylval; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; yychar = YYEMPTY; if (yyerrflag > 0) --yyerrflag; goto yyloop; @@ -764,22 +802,21 @@ yyinrecovery: yyerrflag = 3; for (;;) { - if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && + if ((yyn = yysindex[*yystack.s_mark]) && (yyn += YYERRCODE) >= 0 && yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) { #if YYDEBUG if (yydebug) printf("%sdebug: state %d, error recovery shifting\ - to state %d\n", YYPREFIX, *yyssp, yytable[yyn]); + to state %d\n", YYPREFIX, *yystack.s_mark, yytable[yyn]); #endif - if (yyssp >= yysslim && yygrowstack(&yyss, &yyssp, - &yysslim, &yyvs, &yyvsp, &yystacksize)) + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) { goto yyoverflow; } yystate = yytable[yyn]; - *++yyssp = yytable[yyn]; - *++yyvsp = yylval; + *++yystack.s_mark = yytable[yyn]; + *++yystack.l_mark = yylval; goto yyloop; } else @@ -787,11 +824,11 @@ yyinrecovery: #if YYDEBUG if (yydebug) printf("%sdebug: error recovery discarding state %d\n", - YYPREFIX, *yyssp); + YYPREFIX, *yystack.s_mark); #endif - if (yyssp <= yyss) goto yyabort; - --yyssp; - --yyvsp; + if (yystack.s_mark <= yystack.s_base) goto yyabort; + --yystack.s_mark; + --yystack.l_mark; } } } @@ -820,7 +857,7 @@ yyreduce: #endif yym = yylen[yyn]; if (yym) - yyval = yyvsp[1-yym]; + yyval = yystack.l_mark[1-yym]; else memset(&yyval, 0, sizeof yyval); switch (yyn) @@ -907,10 +944,10 @@ case 21: { tablesext = true; tablesfilename = copy_string( nmstr ); } break; case 22: - { scon_stk_ptr = yyvsp[-3]; } + { scon_stk_ptr = yystack.l_mark[-3]; } break; case 23: - { scon_stk_ptr = yyvsp[-3]; } + { scon_stk_ptr = yystack.l_mark[-3]; } break; case 25: { @@ -926,7 +963,7 @@ case 25: break; case 26: { - pat = yyvsp[0]; + pat = yystack.l_mark[0]; finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); @@ -962,7 +999,7 @@ case 26: break; case 27: { - pat = yyvsp[0]; + pat = yystack.l_mark[0]; finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); @@ -1014,7 +1051,7 @@ case 30: { yyval = scon_stk_ptr; } break; case 31: - { yyval = yyvsp[-2]; } + { yyval = yystack.l_mark[-2]; } break; case 32: { @@ -1063,15 +1100,15 @@ case 37: break; case 38: { - if ( transchar[lastst[yyvsp[0]]] != SYM_EPSILON ) + if ( transchar[lastst[yystack.l_mark[0]]] != SYM_EPSILON ) /* Provide final transition \now/ so it * will be marked as a trailing context * state. */ - yyvsp[0] = link_machines( yyvsp[0], + yystack.l_mark[0] = link_machines( yystack.l_mark[0], mkstate( SYM_EPSILON ) ); - mark_beginning_as_normal( yyvsp[0] ); + mark_beginning_as_normal( yystack.l_mark[0] ); current_state_type = STATE_NORMAL; if ( previous_continued_action ) @@ -1106,7 +1143,7 @@ case 38: * trail rule, and add_accept() can create * a new state ... */ - add_accept( yyvsp[-1], + add_accept( yystack.l_mark[-1], num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } @@ -1114,7 +1151,7 @@ case 38: else trailcnt = rulelen; - yyval = link_machines( yyvsp[-1], yyvsp[0] ); + yyval = link_machines( yystack.l_mark[-1], yystack.l_mark[0] ); } break; case 39: @@ -1151,7 +1188,7 @@ case 40: /* Again, see the comment in the rule for * "re2 re" above. */ - add_accept( yyvsp[-1], + add_accept( yystack.l_mark[-1], num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } @@ -1159,13 +1196,13 @@ case 40: trlcontxt = true; eps = mkstate( SYM_EPSILON ); - yyval = link_machines( yyvsp[-1], + yyval = link_machines( yystack.l_mark[-1], link_machines( eps, mkstate( '\n' ) ) ); } break; case 41: { - yyval = yyvsp[0]; + yyval = yystack.l_mark[0]; if ( trlcontxt ) { @@ -1182,11 +1219,11 @@ break; case 42: { varlength = true; - yyval = mkor( yyvsp[-2], yyvsp[0] ); + yyval = mkor( yystack.l_mark[-2], yystack.l_mark[0] ); } break; case 43: - { yyval = yyvsp[0]; } + { yyval = yystack.l_mark[0]; } break; case 44: { @@ -1211,7 +1248,7 @@ case 44: rulelen = 0; current_state_type = STATE_TRAILING_CONTEXT; - yyval = yyvsp[-1]; + yyval = yystack.l_mark[-1]; } break; case 45: @@ -1219,37 +1256,37 @@ case 45: /* This is where concatenation of adjacent patterns * gets done. */ - yyval = link_machines( yyvsp[-1], yyvsp[0] ); + yyval = link_machines( yystack.l_mark[-1], yystack.l_mark[0] ); } break; case 46: - { yyval = yyvsp[0]; } + { yyval = yystack.l_mark[0]; } break; case 47: { varlength = true; - if ( yyvsp[-3] > yyvsp[-1] || yyvsp[-3] < 0 ) + if ( yystack.l_mark[-3] > yystack.l_mark[-1] || yystack.l_mark[-3] < 0 ) { synerr( _("bad iteration values") ); - yyval = yyvsp[-5]; + yyval = yystack.l_mark[-5]; } else { - if ( yyvsp[-3] == 0 ) + if ( yystack.l_mark[-3] == 0 ) { - if ( yyvsp[-1] <= 0 ) + if ( yystack.l_mark[-1] <= 0 ) { synerr( _("bad iteration values") ); - yyval = yyvsp[-5]; + yyval = yystack.l_mark[-5]; } else yyval = mkopt( - mkrep( yyvsp[-5], 1, yyvsp[-1] ) ); + mkrep( yystack.l_mark[-5], 1, yystack.l_mark[-1] ) ); } else - yyval = mkrep( yyvsp[-5], yyvsp[-3], yyvsp[-1] ); + yyval = mkrep( yystack.l_mark[-5], yystack.l_mark[-3], yystack.l_mark[-1] ); } } break; @@ -1257,14 +1294,14 @@ case 48: { varlength = true; - if ( yyvsp[-2] <= 0 ) + if ( yystack.l_mark[-2] <= 0 ) { synerr( _("iteration value must be positive") ); - yyval = yyvsp[-4]; + yyval = yystack.l_mark[-4]; } else - yyval = mkrep( yyvsp[-4], yyvsp[-2], INFINITE_REPEAT ); + yyval = mkrep( yystack.l_mark[-4], yystack.l_mark[-2], INFINITE_REPEAT ); } break; case 49: @@ -1275,62 +1312,62 @@ case 49: */ varlength = true; - if ( yyvsp[-1] <= 0 ) + if ( yystack.l_mark[-1] <= 0 ) { synerr( _("iteration value must be positive") ); - yyval = yyvsp[-3]; + yyval = yystack.l_mark[-3]; } else - yyval = link_machines( yyvsp[-3], - copysingl( yyvsp[-3], yyvsp[-1] - 1 ) ); + yyval = link_machines( yystack.l_mark[-3], + copysingl( yystack.l_mark[-3], yystack.l_mark[-1] - 1 ) ); } break; case 50: { varlength = true; - yyval = mkclos( yyvsp[-1] ); + yyval = mkclos( yystack.l_mark[-1] ); } break; case 51: { varlength = true; - yyval = mkposcl( yyvsp[-1] ); + yyval = mkposcl( yystack.l_mark[-1] ); } break; case 52: { varlength = true; - yyval = mkopt( yyvsp[-1] ); + yyval = mkopt( yystack.l_mark[-1] ); } break; case 53: { varlength = true; - if ( yyvsp[-3] > yyvsp[-1] || yyvsp[-3] < 0 ) + if ( yystack.l_mark[-3] > yystack.l_mark[-1] || yystack.l_mark[-3] < 0 ) { synerr( _("bad iteration values") ); - yyval = yyvsp[-5]; + yyval = yystack.l_mark[-5]; } else { - if ( yyvsp[-3] == 0 ) + if ( yystack.l_mark[-3] == 0 ) { - if ( yyvsp[-1] <= 0 ) + if ( yystack.l_mark[-1] <= 0 ) { synerr( _("bad iteration values") ); - yyval = yyvsp[-5]; + yyval = yystack.l_mark[-5]; } else yyval = mkopt( - mkrep( yyvsp[-5], 1, yyvsp[-1] ) ); + mkrep( yystack.l_mark[-5], 1, yystack.l_mark[-1] ) ); } else - yyval = mkrep( yyvsp[-5], yyvsp[-3], yyvsp[-1] ); + yyval = mkrep( yystack.l_mark[-5], yystack.l_mark[-3], yystack.l_mark[-1] ); } } break; @@ -1338,14 +1375,14 @@ case 54: { varlength = true; - if ( yyvsp[-2] <= 0 ) + if ( yystack.l_mark[-2] <= 0 ) { synerr( _("iteration value must be positive") ); - yyval = yyvsp[-4]; + yyval = yystack.l_mark[-4]; } else - yyval = mkrep( yyvsp[-4], yyvsp[-2], INFINITE_REPEAT ); + yyval = mkrep( yystack.l_mark[-4], yystack.l_mark[-2], INFINITE_REPEAT ); } break; case 55: @@ -1356,15 +1393,15 @@ case 55: */ varlength = true; - if ( yyvsp[-1] <= 0 ) + if ( yystack.l_mark[-1] <= 0 ) { synerr( _("iteration value must be positive") ); - yyval = yyvsp[-3]; + yyval = yystack.l_mark[-3]; } else - yyval = link_machines( yyvsp[-3], - copysingl( yyvsp[-3], yyvsp[-1] - 1 ) ); + yyval = link_machines( yystack.l_mark[-3], + copysingl( yystack.l_mark[-3], yystack.l_mark[-1] - 1 ) ); } break; case 56: @@ -1403,67 +1440,65 @@ case 56: break; case 57: { - /* Sort characters for fast searching. We - * use a shell sort since this list could - * be large. + /* Sort characters for fast searching. */ - cshell( ccltbl + cclmap[yyvsp[0]], ccllen[yyvsp[0]], true ); + qsort( ccltbl + cclmap[yystack.l_mark[0]], ccllen[yystack.l_mark[0]], sizeof (*ccltbl), cclcmp ); if ( useecs ) - mkeccl( ccltbl + cclmap[yyvsp[0]], ccllen[yyvsp[0]], + mkeccl( ccltbl + cclmap[yystack.l_mark[0]], ccllen[yystack.l_mark[0]], nextecm, ecgroup, csize, csize ); ++rulelen; - if (ccl_has_nl[yyvsp[0]]) + if (ccl_has_nl[yystack.l_mark[0]]) rule_has_nl[num_rules] = true; - yyval = mkstate( -yyvsp[0] ); + yyval = mkstate( -yystack.l_mark[0] ); } break; case 58: { ++rulelen; - if (ccl_has_nl[yyvsp[0]]) + if (ccl_has_nl[yystack.l_mark[0]]) rule_has_nl[num_rules] = true; - yyval = mkstate( -yyvsp[0] ); + yyval = mkstate( -yystack.l_mark[0] ); } break; case 59: - { yyval = yyvsp[-1]; } + { yyval = yystack.l_mark[-1]; } break; case 60: - { yyval = yyvsp[-1]; } + { yyval = yystack.l_mark[-1]; } break; case 61: { ++rulelen; - if (yyvsp[0] == nlch) + if (yystack.l_mark[0] == nlch) rule_has_nl[num_rules] = true; - if (sf_case_ins() && has_case(yyvsp[0])) + if (sf_case_ins() && has_case(yystack.l_mark[0])) /* create an alternation, as in (a|A) */ - yyval = mkor (mkstate(yyvsp[0]), mkstate(reverse_case(yyvsp[0]))); + yyval = mkor (mkstate(yystack.l_mark[0]), mkstate(reverse_case(yystack.l_mark[0]))); else - yyval = mkstate( yyvsp[0] ); + yyval = mkstate( yystack.l_mark[0] ); } break; case 62: - { yyval = ccl_set_diff (yyvsp[-2], yyvsp[0]); } + { yyval = ccl_set_diff (yystack.l_mark[-2], yystack.l_mark[0]); } break; case 63: - { yyval = ccl_set_union (yyvsp[-2], yyvsp[0]); } + { yyval = ccl_set_union (yystack.l_mark[-2], yystack.l_mark[0]); } break; case 65: - { yyval = yyvsp[-1]; } + { yyval = yystack.l_mark[-1]; } break; case 66: { - cclnegate( yyvsp[-1] ); - yyval = yyvsp[-1]; + cclnegate( yystack.l_mark[-1] ); + yyval = yystack.l_mark[-1]; } break; case 67: @@ -1477,78 +1512,78 @@ case 67: * sure what range the user is trying to express. * Examples: [@-z] or [S-t] */ - if (has_case (yyvsp[-2]) != has_case (yyvsp[0]) - || (has_case (yyvsp[-2]) && (b_islower (yyvsp[-2]) != b_islower (yyvsp[0]))) - || (has_case (yyvsp[-2]) && (b_isupper (yyvsp[-2]) != b_isupper (yyvsp[0])))) + if (has_case (yystack.l_mark[-2]) != has_case (yystack.l_mark[0]) + || (has_case (yystack.l_mark[-2]) && (b_islower (yystack.l_mark[-2]) != b_islower (yystack.l_mark[0]))) + || (has_case (yystack.l_mark[-2]) && (b_isupper (yystack.l_mark[-2]) != b_isupper (yystack.l_mark[0])))) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), - yyvsp[-2], yyvsp[0]); + yystack.l_mark[-2], yystack.l_mark[0]); /* If the range spans uppercase characters but not * lowercase (or vice-versa), then should we automatically * include lowercase characters in the range? * Example: [@-_] spans [a-z] but not [A-Z] */ - else if (!has_case (yyvsp[-2]) && !has_case (yyvsp[0]) && !range_covers_case (yyvsp[-2], yyvsp[0])) + else if (!has_case (yystack.l_mark[-2]) && !has_case (yystack.l_mark[0]) && !range_covers_case (yystack.l_mark[-2], yystack.l_mark[0])) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), - yyvsp[-2], yyvsp[0]); + yystack.l_mark[-2], yystack.l_mark[0]); } - if ( yyvsp[-2] > yyvsp[0] ) + if ( yystack.l_mark[-2] > yystack.l_mark[0] ) synerr( _("negative range in character class") ); else { - for ( i = yyvsp[-2]; i <= yyvsp[0]; ++i ) - ccladd( yyvsp[-3], i ); + for ( i = yystack.l_mark[-2]; i <= yystack.l_mark[0]; ++i ) + ccladd( yystack.l_mark[-3], i ); /* Keep track if this ccl is staying in * alphabetical order. */ - cclsorted = cclsorted && (yyvsp[-2] > lastchar); - lastchar = yyvsp[0]; + cclsorted = cclsorted && (yystack.l_mark[-2] > lastchar); + lastchar = yystack.l_mark[0]; /* Do it again for upper/lowercase */ - if (sf_case_ins() && has_case(yyvsp[-2]) && has_case(yyvsp[0])){ - yyvsp[-2] = reverse_case (yyvsp[-2]); - yyvsp[0] = reverse_case (yyvsp[0]); + if (sf_case_ins() && has_case(yystack.l_mark[-2]) && has_case(yystack.l_mark[0])){ + yystack.l_mark[-2] = reverse_case (yystack.l_mark[-2]); + yystack.l_mark[0] = reverse_case (yystack.l_mark[0]); - for ( i = yyvsp[-2]; i <= yyvsp[0]; ++i ) - ccladd( yyvsp[-3], i ); + for ( i = yystack.l_mark[-2]; i <= yystack.l_mark[0]; ++i ) + ccladd( yystack.l_mark[-3], i ); - cclsorted = cclsorted && (yyvsp[-2] > lastchar); - lastchar = yyvsp[0]; + cclsorted = cclsorted && (yystack.l_mark[-2] > lastchar); + lastchar = yystack.l_mark[0]; } } - yyval = yyvsp[-3]; + yyval = yystack.l_mark[-3]; } break; case 68: { - ccladd( yyvsp[-1], yyvsp[0] ); - cclsorted = cclsorted && (yyvsp[0] > lastchar); - lastchar = yyvsp[0]; + ccladd( yystack.l_mark[-1], yystack.l_mark[0] ); + cclsorted = cclsorted && (yystack.l_mark[0] > lastchar); + lastchar = yystack.l_mark[0]; /* Do it again for upper/lowercase */ - if (sf_case_ins() && has_case(yyvsp[0])){ - yyvsp[0] = reverse_case (yyvsp[0]); - ccladd (yyvsp[-1], yyvsp[0]); + if (sf_case_ins() && has_case(yystack.l_mark[0])){ + yystack.l_mark[0] = reverse_case (yystack.l_mark[0]); + ccladd (yystack.l_mark[-1], yystack.l_mark[0]); - cclsorted = cclsorted && (yyvsp[0] > lastchar); - lastchar = yyvsp[0]; + cclsorted = cclsorted && (yystack.l_mark[0] > lastchar); + lastchar = yystack.l_mark[0]; } - yyval = yyvsp[-1]; + yyval = yystack.l_mark[-1]; } break; case 69: { /* Too hard to properly maintain cclsorted. */ cclsorted = false; - yyval = yyvsp[-1]; + yyval = yystack.l_mark[-1]; } break; case 70: @@ -1650,26 +1685,26 @@ case 94: break; case 95: { - if ( yyvsp[0] == nlch ) + if ( yystack.l_mark[0] == nlch ) rule_has_nl[num_rules] = true; ++rulelen; - if (sf_case_ins() && has_case(yyvsp[0])) - yyval = mkor (mkstate(yyvsp[0]), mkstate(reverse_case(yyvsp[0]))); + if (sf_case_ins() && has_case(yystack.l_mark[0])) + yyval = mkor (mkstate(yystack.l_mark[0]), mkstate(reverse_case(yystack.l_mark[0]))); else - yyval = mkstate (yyvsp[0]); + yyval = mkstate (yystack.l_mark[0]); - yyval = link_machines( yyvsp[-1], yyval); + yyval = link_machines( yystack.l_mark[-1], yyval); } break; case 96: { yyval = mkstate( SYM_EPSILON ); } break; } - yyssp -= yym; - yystate = *yyssp; - yyvsp -= yym; + yystack.s_mark -= yym; + yystate = *yystack.s_mark; + yystack.l_mark -= yym; yym = yylhs[yyn]; if (yystate == 0 && yym == 0) { @@ -1679,11 +1714,11 @@ break; state %d\n", YYPREFIX, YYFINAL); #endif yystate = YYFINAL; - *++yyssp = YYFINAL; - *++yyvsp = yyval; + *++yystack.s_mark = YYFINAL; + *++yystack.l_mark = yyval; if (yychar < 0) { - if ((yychar = yylex()) < 0) yychar = 0; + if ((yychar = YYLEX) < 0) yychar = 0; #if YYDEBUG if (yydebug) { @@ -1706,27 +1741,24 @@ break; #if YYDEBUG if (yydebug) printf("%sdebug: after reduction, shifting from state %d \ -to state %d\n", YYPREFIX, *yyssp, yystate); +to state %d\n", YYPREFIX, *yystack.s_mark, yystate); #endif - if (yyssp >= yysslim && yygrowstack(&yyss, &yyssp, - &yysslim, &yyvs, &yyvsp, &yystacksize)) + if (yystack.s_mark >= yystack.s_last && yygrowstack(&yystack)) { goto yyoverflow; } - *++yyssp = (short) yystate; - *++yyvsp = yyval; + *++yystack.s_mark = (short) yystate; + *++yystack.l_mark = yyval; goto yyloop; yyoverflow: yyerror("yacc stack overflow"); yyabort: - free(yyss); - free(yyvs); + yyfreestack(&yystack); return (1); yyaccept: - free(yyss); - free(yyvs); + yyfreestack(&yystack); return (0); } diff --git a/external/bsd/flex/dist/install-sh b/external/bsd/flex/dist/install-sh index 4d4a9519e..6781b987b 100755 --- a/external/bsd/flex/dist/install-sh +++ b/external/bsd/flex/dist/install-sh @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2005-05-14.22 +scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -39,38 +39,68 @@ scriptversion=2005-05-14.22 # when there is no Makefile. # # This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. +# from scratch. + +nl=' +' +IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi -# put in absolute paths if you don't have them in your path; or use env. vars. +# Put in absolute file names if you don't have them in your path; +# or use environment vars. -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 -chmodcmd="$chmodprog 0755" -chowncmd= chgrpcmd= -stripcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog rmcmd="$rmprog -f" -mvcmd="$mvprog" +stripcmd= + src= dst= dir_arg= -dstarg= +dst_arg= + +copy_on_change=false no_target_directory= -usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... @@ -80,81 +110,86 @@ In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --c (ignored) --d create directories instead of installing files. --g GROUP $chgrpprog installed files to GROUP. --m MODE $chmodprog installed files to MODE. --o USER $chownprog installed files to USER. --s $stripprog installed files. --t DIRECTORY install into DIRECTORY. --T report an error if DSTFILE is a directory. ---help display this help and exit. ---version display version info and exit. + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG " -while test -n "$1"; do +while test $# -ne 0; do case $1 in - -c) shift - continue;; + -c) ;; - -d) dir_arg=true - shift - continue;; + -C) copy_on_change=true;; + + -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; + shift;; --help) echo "$usage"; exit $?;; - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; -o) chowncmd="$chownprog $2" - shift - shift - continue;; + shift;; - -s) stripcmd=$stripprog - shift - continue;; + -s) stripcmd=$stripprog;; - -t) dstarg=$2 - shift - shift - continue;; + -t) dst_arg=$2 + shift;; - -T) no_target_directory=true - shift - continue;; + -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; - *) # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - test -n "$dir_arg$dstarg" && break - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dstarg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dstarg" - shift # fnord - fi - shift # arg - dstarg=$arg - done + --) shift break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; esac + shift done -if test -z "$1"; then +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + done +fi + +if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 @@ -164,24 +199,47 @@ if test -z "$1"; then exit 0 fi +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + for src do # Protect names starting with `-'. case $src in - -*) src=./$src ;; + -*) src=./$src;; esac if test -n "$dir_arg"; then dst=$src - src= - - if test -d "$dst"; then - mkdircmd=: - chmodcmd= - else - mkdircmd=$mkdirprog - fi + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? else + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. @@ -190,71 +248,199 @@ do exit 1 fi - if test -z "$dstarg"; then + if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi - dst=$dstarg + dst=$dst_arg # Protect names starting with `-'. case $dst in - -*) dst=./$dst ;; + -*) dst=./$dst;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then - echo "$0: $dstarg: Is a directory" >&2 + echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi - dst=$dst/`basename "$src"` + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? fi fi - # This sed command emulates the dirname command. - dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'` + obsolete_mkdir_used=false - # Make sure that the destination directory exists. + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - # Skip lots of stat calls in the usual case. - if test ! -d "$dstdir"; then - defaultIFS=' - ' - IFS="${IFS-$defaultIFS}" + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac - oIFS=$IFS - # Some sh's can't handle IFS=/ for some reason. - IFS='%' - set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` - shift - IFS=$oIFS + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi - pathcomp= + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - while test $# -ne 0 ; do - pathcomp=$pathcomp$1 + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + -*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir shift - if test ! -d "$pathcomp"; then - $mkdirprog "$pathcomp" - # mkdir can fail with a `File exist' error in case several - # install-sh are creating the directory concurrently. This - # is OK. - test -d "$pathcomp" || exit + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true fi - pathcomp=$pathcomp/ - done + fi fi if test -n "$dir_arg"; then - $doit $mkdircmd "$dst" \ - && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } - + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else - dstfile=`basename "$dst"` # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ @@ -262,10 +448,9 @@ do # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - trap '(exit $?); exit' 1 2 13 15 # Copy the file name to the temp name. - $doit $cpprog "$src" "$dsttmp" && + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -273,51 +458,63 @@ do # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ - && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ - && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ - && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - # Now rename the file to the real destination. - { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ - || { - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - if test -f "$dstdir/$dstfile"; then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ - || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ - || { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit 1 - } - else - : - fi - } && + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" - } - } - fi || { (exit 1); exit 1; } + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi done -# The final little trick to "correctly" pass the exit status to the exit trap. -{ - (exit 0); exit 0 -} - # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/external/bsd/flex/dist/lib/Makefile.am b/external/bsd/flex/dist/lib/Makefile.am new file mode 100644 index 000000000..53b4d488a --- /dev/null +++ b/external/bsd/flex/dist/lib/Makefile.am @@ -0,0 +1,4 @@ +noinst_LIBRARIES = libcompat.a +libcompat_a_SOURCES = lib.c +libcompat_a_LIBADD = $(LIBOBJS) + diff --git a/external/bsd/flex/dist/lib/Makefile.in b/external/bsd/flex/dist/lib/Makefile.in new file mode 100644 index 000000000..624ffead5 --- /dev/null +++ b/external/bsd/flex/dist/lib/Makefile.in @@ -0,0 +1,461 @@ +# 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 = lib +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in malloc.c \ + realloc.c +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ + $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LIBRARIES = $(noinst_LIBRARIES) +AR = ar +ARFLAGS = cru +libcompat_a_AR = $(AR) $(ARFLAGS) +libcompat_a_DEPENDENCIES = $(LIBOBJS) +am_libcompat_a_OBJECTS = lib.$(OBJEXT) +libcompat_a_OBJECTS = $(am_libcompat_a_OBJECTS) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libcompat_a_SOURCES) +DIST_SOURCES = $(libcompat_a_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BISON = @BISON@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +GMSGFMT = @GMSGFMT@ +GREP = @GREP@ +HELP2MAN = @HELP2MAN@ +INDENT = @INDENT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +M4 = @M4@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGMERGE = @MSGMERGE@ +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@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +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@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +noinst_LIBRARIES = libcompat.a +libcompat_a_SOURCES = lib.c +libcompat_a_LIBADD = $(LIBOBJS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits lib/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +libcompat.a: $(libcompat_a_OBJECTS) $(libcompat_a_DEPENDENCIES) + -rm -f libcompat.a + $(libcompat_a_AR) libcompat.a $(libcompat_a_OBJECTS) $(libcompat_a_LIBADD) + $(RANLIB) libcompat.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/realloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +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 + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-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 -rf $(DEPDIR) ./$(DEPDIR) + -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 -rf $(DEPDIR) ./$(DEPDIR) + -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 check check-am clean clean-generic \ + clean-noinstLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir 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/external/bsd/flex/dist/lib/lib.c b/external/bsd/flex/dist/lib/lib.c new file mode 100644 index 000000000..580e58fc0 --- /dev/null +++ b/external/bsd/flex/dist/lib/lib.c @@ -0,0 +1,9 @@ +/* $NetBSD: lib.c,v 1.1.1.1 2013/04/06 14:05:53 christos Exp $ */ + +/* Since building an empty library could cause problems, we provide a + * function to go into the library. We could make this non-trivial by + * moving something that flex treats as a library function into this + * directory. */ + +void do_nothing(){ return;} + diff --git a/external/bsd/flex/dist/lib/malloc.c b/external/bsd/flex/dist/lib/malloc.c new file mode 100644 index 000000000..04f88c756 --- /dev/null +++ b/external/bsd/flex/dist/lib/malloc.c @@ -0,0 +1,19 @@ +/* $NetBSD: malloc.c,v 1.1.1.1 2013/04/06 14:05:53 christos Exp $ */ + + #include + #undef malloc + + #include + + void *malloc (); + + /* Allocate an N-byte block of memory from the heap. + If N is zero, allocate a 1-byte block. */ + + void * + rpl_malloc (size_t n) + { + if (n == 0) + n = 1; + return malloc (n); + } diff --git a/external/bsd/flex/dist/lib/realloc.c b/external/bsd/flex/dist/lib/realloc.c new file mode 100644 index 000000000..25ff0db5f --- /dev/null +++ b/external/bsd/flex/dist/lib/realloc.c @@ -0,0 +1,29 @@ +/* $NetBSD: realloc.c,v 1.1.1.1 2013/04/06 14:05:53 christos Exp $ */ + +#include + +#include + +#include + +void * rpl_realloc (void *p, size_t n) +{ + void *result; + + if (n == 0) + { + n = 1; + } + + if (p == NULL) + { + result = malloc (n); + } + else + result = realloc (p, n); + + if (result == NULL) + errno = ENOMEM; + + return result; +} diff --git a/external/bsd/flex/dist/m4/Makefile.am b/external/bsd/flex/dist/m4/Makefile.am deleted file mode 100644 index 109e92df3..000000000 --- a/external/bsd/flex/dist/m4/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 nls.m4 po.m4 diff --git a/external/bsd/flex/dist/m4/Makefile.in b/external/bsd/flex/dist/m4/Makefile.in deleted file mode 100644 index bb1b4ea08..000000000 --- a/external/bsd/flex/dist/m4/Makefile.in +++ /dev/null @@ -1,316 +0,0 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005 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@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -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 = m4 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ - $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -SOURCES = -DIST_SOURCES = -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -BISON = @BISON@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -GMSGFMT = @GMSGFMT@ -HELP2MAN = @HELP2MAN@ -INDENT = @INDENT@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -LDFLAGS = @LDFLAGS@ -LEX = @LEX@ -LEXLIB = @LEXLIB@ -LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -M4 = @M4@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -MSGMERGE = @MSGMERGE@ -OBJEXT = @OBJEXT@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSUB = @POSUB@ -RANLIB = @RANLIB@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -YACC = @YACC@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ -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@ -datadir = @datadir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes-pri.m4 inttypes.m4 inttypes_h.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 nls.m4 po.m4 -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits m4/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits m4/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: -tags: TAGS -TAGS: - -ctags: CTAGS -CTAGS: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -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) - -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 mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -info: info-am - -info-am: - -install-data-am: - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am - -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-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/external/bsd/flex/dist/m4/codeset.m4 b/external/bsd/flex/dist/m4/codeset.m4 deleted file mode 100644 index 59535ebcf..000000000 --- a/external/bsd/flex/dist/m4/codeset.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# codeset.m4 serial AM1 (gettext-0.10.40) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -AC_DEFUN([AM_LANGINFO_CODESET], -[ - AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, - [AC_TRY_LINK([#include ], - [char* cs = nl_langinfo(CODESET);], - am_cv_langinfo_codeset=yes, - am_cv_langinfo_codeset=no) - ]) - if test $am_cv_langinfo_codeset = yes; then - AC_DEFINE(HAVE_LANGINFO_CODESET, 1, - [Define if you have and nl_langinfo(CODESET).]) - fi -]) diff --git a/external/bsd/flex/dist/m4/glibc21.m4 b/external/bsd/flex/dist/m4/glibc21.m4 deleted file mode 100644 index 9c9f3db30..000000000 --- a/external/bsd/flex/dist/m4/glibc21.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# Test for the GNU C Library, version 2.1 or newer. -# From Bruno Haible. - -AC_DEFUN([jm_GLIBC21], - [ - AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, - ac_cv_gnu_library_2_1, - [AC_EGREP_CPP([Lucky GNU user], - [ -#include -#ifdef __GNU_LIBRARY__ - #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) - Lucky GNU user - #endif -#endif - ], - ac_cv_gnu_library_2_1=yes, - ac_cv_gnu_library_2_1=no) - ] - ) - AC_SUBST(GLIBC21) - GLIBC21="$ac_cv_gnu_library_2_1" - ] -) diff --git a/external/bsd/flex/dist/m4/intdiv0.m4 b/external/bsd/flex/dist/m4/intdiv0.m4 deleted file mode 100644 index 55dddcf1c..000000000 --- a/external/bsd/flex/dist/m4/intdiv0.m4 +++ /dev/null @@ -1,72 +0,0 @@ -# intdiv0.m4 serial 1 (gettext-0.11.3) -dnl Copyright (C) 2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -AC_DEFUN([gt_INTDIV0], -[ - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - - AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], - gt_cv_int_divbyzero_sigfpe, - [ - AC_TRY_RUN([ -#include -#include - -static void -#ifdef __cplusplus -sigfpe_handler (int sig) -#else -sigfpe_handler (sig) int sig; -#endif -{ - /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ - exit (sig != SIGFPE); -} - -int x = 1; -int y = 0; -int z; -int nan; - -int main () -{ - signal (SIGFPE, sigfpe_handler); -/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ -#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) - signal (SIGTRAP, sigfpe_handler); -#endif -/* Linux/SPARC yields signal SIGILL. */ -#if defined (__sparc__) && defined (__linux__) - signal (SIGILL, sigfpe_handler); -#endif - - z = x / y; - nan = y / y; - exit (1); -} -], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, - [ - # Guess based on the CPU. - case "$host_cpu" in - alpha* | i[34567]86 | m68k | s390*) - gt_cv_int_divbyzero_sigfpe="guessing yes";; - *) - gt_cv_int_divbyzero_sigfpe="guessing no";; - esac - ]) - ]) - case "$gt_cv_int_divbyzero_sigfpe" in - *yes) value=1;; - *) value=0;; - esac - AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, - [Define if integer division by zero raises signal SIGFPE.]) -]) diff --git a/external/bsd/flex/dist/m4/inttypes-pri.m4 b/external/bsd/flex/dist/m4/inttypes-pri.m4 deleted file mode 100644 index fd007c312..000000000 --- a/external/bsd/flex/dist/m4/inttypes-pri.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# inttypes-pri.m4 serial 1 (gettext-0.11.4) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -# Define PRI_MACROS_BROKEN if exists and defines the PRI* -# macros to non-string values. This is the case on AIX 4.3.3. - -AC_DEFUN([gt_INTTYPES_PRI], -[ - AC_REQUIRE([gt_HEADER_INTTYPES_H]) - if test $gt_cv_header_inttypes_h = yes; then - AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], - gt_cv_inttypes_pri_broken, - [ - AC_TRY_COMPILE([#include -#ifdef PRId32 -char *p = PRId32; -#endif -], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) - ]) - fi - if test "$gt_cv_inttypes_pri_broken" = yes; then - AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, - [Define if exists and defines unusable PRI* macros.]) - fi -]) diff --git a/external/bsd/flex/dist/m4/inttypes.m4 b/external/bsd/flex/dist/m4/inttypes.m4 deleted file mode 100644 index ab370ffe0..000000000 --- a/external/bsd/flex/dist/m4/inttypes.m4 +++ /dev/null @@ -1,27 +0,0 @@ -# inttypes.m4 serial 1 (gettext-0.11.4) -dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -# Define HAVE_INTTYPES_H if exists and doesn't clash with -# . - -AC_DEFUN([gt_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, - [ - AC_TRY_COMPILE( - [#include -#include ], - [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) - ]) - if test $gt_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, - [Define if exists and doesn't clash with .]) - fi -]) diff --git a/external/bsd/flex/dist/m4/inttypes_h.m4 b/external/bsd/flex/dist/m4/inttypes_h.m4 deleted file mode 100644 index f342eba39..000000000 --- a/external/bsd/flex/dist/m4/inttypes_h.m4 +++ /dev/null @@ -1,28 +0,0 @@ -# inttypes_h.m4 serial 5 (gettext-0.12) -dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -# Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([jm_AC_HEADER_INTTYPES_H], -[ - AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, - [AC_TRY_COMPILE( - [#include -#include ], - [uintmax_t i = (uintmax_t) -1;], - jm_ac_cv_header_inttypes_h=yes, - jm_ac_cv_header_inttypes_h=no)]) - if test $jm_ac_cv_header_inttypes_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff --git a/external/bsd/flex/dist/m4/isc-posix.m4 b/external/bsd/flex/dist/m4/isc-posix.m4 deleted file mode 100644 index 1319dd1c7..000000000 --- a/external/bsd/flex/dist/m4/isc-posix.m4 +++ /dev/null @@ -1,26 +0,0 @@ -# isc-posix.m4 serial 2 (gettext-0.11.2) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -# This file is not needed with autoconf-2.53 and newer. Remove it in 2005. - -# This test replaces the one in autoconf. -# Currently this macro should have the same name as the autoconf macro -# because gettext's gettext.m4 (distributed in the automake package) -# still uses it. Otherwise, the use in gettext.m4 makes autoheader -# give these diagnostics: -# configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX -# configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX - -undefine([AC_ISC_POSIX]) - -AC_DEFUN([AC_ISC_POSIX], - [ - dnl This test replaces the obsolescent AC_ISC_POSIX kludge. - AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) - ] -) diff --git a/external/bsd/flex/dist/m4/lcmessage.m4 b/external/bsd/flex/dist/m4/lcmessage.m4 deleted file mode 100644 index ffd4008b8..000000000 --- a/external/bsd/flex/dist/m4/lcmessage.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# lcmessage.m4 serial 3 (gettext-0.11.3) -dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995. - -# Check whether LC_MESSAGES is available in . - -AC_DEFUN([AM_LC_MESSAGES], -[ - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, - [Define if your file defines LC_MESSAGES.]) - fi -]) diff --git a/external/bsd/flex/dist/m4/stdint_h.m4 b/external/bsd/flex/dist/m4/stdint_h.m4 deleted file mode 100644 index 32ba7ae77..000000000 --- a/external/bsd/flex/dist/m4/stdint_h.m4 +++ /dev/null @@ -1,28 +0,0 @@ -# stdint_h.m4 serial 3 (gettext-0.12) -dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -# Define HAVE_STDINT_H_WITH_UINTMAX if exists, -# doesn't clash with , and declares uintmax_t. - -AC_DEFUN([jm_AC_HEADER_STDINT_H], -[ - AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, - [AC_TRY_COMPILE( - [#include -#include ], - [uintmax_t i = (uintmax_t) -1;], - jm_ac_cv_header_stdint_h=yes, - jm_ac_cv_header_stdint_h=no)]) - if test $jm_ac_cv_header_stdint_h = yes; then - AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, - [Define if exists, doesn't clash with , - and declares uintmax_t. ]) - fi -]) diff --git a/external/bsd/flex/dist/m4/uintmax_t.m4 b/external/bsd/flex/dist/m4/uintmax_t.m4 deleted file mode 100644 index b5f28d440..000000000 --- a/external/bsd/flex/dist/m4/uintmax_t.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# uintmax_t.m4 serial 7 (gettext-0.12) -dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -AC_PREREQ(2.13) - -# Define uintmax_t to 'unsigned long' or 'unsigned long long' -# if it is not already defined in or . - -AC_DEFUN([jm_AC_TYPE_UINTMAX_T], -[ - AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([jm_AC_HEADER_STDINT_H]) - if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then - AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) - test $ac_cv_type_unsigned_long_long = yes \ - && ac_type='unsigned long long' \ - || ac_type='unsigned long' - AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, - [Define to unsigned long or unsigned long long - if and don't define.]) - else - AC_DEFINE(HAVE_UINTMAX_T, 1, - [Define if you have the 'uintmax_t' type in or .]) - fi -]) diff --git a/external/bsd/flex/dist/m4/ulonglong.m4 b/external/bsd/flex/dist/m4/ulonglong.m4 deleted file mode 100644 index c375e474c..000000000 --- a/external/bsd/flex/dist/m4/ulonglong.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) -dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Paul Eggert. - -AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], -[ - AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, - [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], - [unsigned long long ullmax = (unsigned long long) -1; - return ull << i | ull >> i | ullmax / ull | ullmax % ull;], - ac_cv_type_unsigned_long_long=yes, - ac_cv_type_unsigned_long_long=no)]) - if test $ac_cv_type_unsigned_long_long = yes; then - AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, - [Define if you have the unsigned long long type.]) - fi -]) diff --git a/external/bsd/flex/dist/main.c b/external/bsd/flex/dist/main.c index 1be21025a..c20814566 100644 --- a/external/bsd/flex/dist/main.c +++ b/external/bsd/flex/dist/main.c @@ -1,4 +1,4 @@ -/* $NetBSD: main.c,v 1.3 2011/12/26 17:32:28 njoly Exp $ */ +/* $NetBSD: main.c,v 1.4 2013/04/06 14:27:52 christos Exp $ */ /* flex - tool to generate fast lexical analyzers */ @@ -59,7 +59,7 @@ int C_plus_plus, long_align, use_read, yytext_is_array, do_yywrap, int reentrant, bison_bridge_lval, bison_bridge_lloc; int yymore_used, reject, real_reject, continued_action, in_rule; int yymore_really_used, reject_really_used; -int datapos, dataline, linenum, out_linenum; +int datapos, dataline, linenum; FILE *skelfile = NULL; int skel_ind = 0; char *action_array; @@ -457,6 +457,8 @@ void check_options () size_t strsz; str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(scname[i]) + (int)(1 + log10(i)) + 2); + if (!str) + flexfatal(_("allocation of macro definition failed")); snprintf(str, strsz, fmt, scname[i], i - 1); buf_strappend(&tmpbuf, str); free(str); @@ -1443,7 +1445,7 @@ void flexinit (argc, argv) num_backing_up = onesp = numprots = 0; variable_trailing_context_rules = bol_needed = false; - out_linenum = linenum = sectnum = 1; + linenum = sectnum = 1; firstprot = NIL; /* Used in mkprot() so that the first proto goes in slot 1 @@ -1579,7 +1581,10 @@ void readin () if (!do_yywrap) { if (!C_plus_plus) { - outn ("\n#define yywrap(n) (/*CONSTCOND*/1)"); + if (reentrant) + outn ("\n#define yywrap(yyscanner) (/*CONSTCOND*/1)"); + else + outn ("\n#define yywrap() (/*CONSTCOND*/1)"); } outn ("#define YY_SKIP_YYWRAP"); } diff --git a/external/bsd/flex/dist/misc.c b/external/bsd/flex/dist/misc.c index 5c12f453b..fe33d794f 100644 --- a/external/bsd/flex/dist/misc.c +++ b/external/bsd/flex/dist/misc.c @@ -1,4 +1,4 @@ -/* $NetBSD: misc.c,v 1.2 2009/10/26 04:27:15 christos Exp $ */ +/* $NetBSD: misc.c,v 1.3 2013/04/06 14:27:52 christos Exp $ */ /* misc - miscellaneous flex routines */ @@ -35,6 +35,7 @@ #include "flexdef.h" #include "tables.h" +#include #define CMD_IF_TABLES_SER "%if-tables-serialization" #define CMD_TABLES_YYDMAP "%tables-yydmap" @@ -63,6 +64,8 @@ static void sko_push(bool dc) if(!sko_stack){ sko_sz = 1; sko_stack = (struct sko_state*)flex_alloc(sizeof(struct sko_state)*sko_sz); + if (!sko_stack) + flexfatal(_("allocation of sko_stack failed")); sko_len = 0; } if(sko_len >= sko_sz){ @@ -188,7 +191,7 @@ int all_lower (str) register char *str; { while (*str) { - if (!isascii ((Char)*str) || !islower ((Char)*str)) + if (!isascii ((Char) * str) || !islower ((Char) * str)) return 0; ++str; } @@ -203,7 +206,7 @@ int all_upper (str) register char *str; { while (*str) { - if (!isascii ((Char)*str) || !isupper ((Char)*str)) + if (!isascii ((Char) * str) || !isupper ((Char) * str)) return 0; ++str; } @@ -212,33 +215,11 @@ int all_upper (str) } -/* bubble - bubble sort an integer array in increasing order - * - * synopsis - * int v[n], n; - * void bubble( v, n ); - * - * description - * sorts the first n elements of array v and replaces them in - * increasing order. - * - * passed - * v - the array to be sorted - * n - the number of elements of 'v' to be sorted - */ +/* intcmp - compares two integers for use by qsort. */ -void bubble (v, n) - int v[], n; +int intcmp (const void *a, const void *b) { - register int i, j, k; - - for (i = n; i > 1; --i) - for (j = 1; j < i; ++j) - if (v[j] > v[j + 1]) { /* compare */ - k = v[j]; /* exchange */ - v[j] = v[j + 1]; - v[j + 1] = k; - } + return *(const int *) a - *(const int *) b; } @@ -318,52 +299,17 @@ Char *copy_unsigned_string (str) } -/* cshell - shell sort a character array in increasing order - * - * synopsis - * - * Char v[n]; - * int n, special_case_0; - * cshell( v, n, special_case_0 ); - * - * description - * Does a shell sort of the first n elements of array v. - * If special_case_0 is true, then any element equal to 0 - * is instead assumed to have infinite weight. - * - * passed - * v - array to be sorted - * n - number of elements of v to be sorted - */ +/* cclcmp - compares two characters for use by qsort with '\0' sorting last. */ -void cshell (v, n, special_case_0) - Char v[]; - int n, special_case_0; +int cclcmp (const void *a, const void *b) { - int gap, i, j, jg; - Char k; - - for (gap = n / 2; gap > 0; gap = gap / 2) - for (i = gap; i < n; ++i) - for (j = i - gap; j >= 0; j = j - gap) { - jg = j + gap; - - if (special_case_0) { - if (v[jg] == 0) - break; - - else if (v[j] != 0 - && v[j] <= v[jg]) - break; - } - - else if (v[j] <= v[jg]) - break; - - k = v[j]; - v[j] = v[jg]; - v[jg] = k; - } + if (!*(const Char *) a) + return 1; + else + if (!*(const Char *) b) + return - 1; + else + return *(const Char *) a - *(const Char *) b; } @@ -458,15 +404,31 @@ void lerrif (msg, arg) /* lerrsf - report an error message formatted with one string argument */ void lerrsf (msg, arg) - const char *msg, arg[]; + const char *msg, arg[]; { char errmsg[MAXLINE]; - snprintf (errmsg, sizeof(errmsg), msg, arg); + snprintf (errmsg, sizeof(errmsg)-1, msg, arg); + errmsg[sizeof(errmsg)-1] = 0; /* ensure NULL termination */ flexerror (errmsg); } +/* lerrsf_fatal - as lerrsf, but call flexfatal */ + +void lerrsf_fatal (const char *msg, ...) +{ + char errmsg[MAXLINE]; + va_list ap; + + va_start(ap, msg); + vsnprintf (errmsg, sizeof(errmsg)-1, msg, ap); + va_end(ap); + errmsg[sizeof(errmsg)-1] = 0; /* ensure NULL termination */ + flexfatal (errmsg); +} + + /* line_directive_out - spit out a "#line" statement */ void line_directive_out (output_file, do_infile) @@ -501,11 +463,7 @@ void line_directive_out (output_file, do_infile) if (do_infile) snprintf (directive, sizeof(directive), line_fmt, linenum, filename); else { - if (output_file == stdout) - /* Account for the line directive itself. */ - ++out_linenum; - - snprintf (directive, sizeof(directive), line_fmt, out_linenum, filename); + snprintf (directive, sizeof(directive), line_fmt, 0, filename); } /* If output_file is nil then we should put the directive in @@ -679,7 +637,7 @@ Char myesc (array) int sptr = 2; while (isascii (array[sptr]) && - isxdigit ((Char)array[sptr])) + isxdigit (array[sptr])) /* Don't increment inside loop control * because if isdigit() is a macro it might * expand into multiple increments ... @@ -722,7 +680,6 @@ void out (str) const char *str; { fputs (str, stdout); - out_line_count (str); } void out_dec (fmt, n) @@ -730,7 +687,6 @@ void out_dec (fmt, n) int n; { fprintf (stdout, fmt, n); - out_line_count (fmt); } void out_dec2 (fmt, n1, n2) @@ -738,7 +694,6 @@ void out_dec2 (fmt, n1, n2) int n1, n2; { fprintf (stdout, fmt, n1, n2); - out_line_count (fmt); } void out_hex (fmt, x) @@ -746,35 +701,18 @@ void out_hex (fmt, x) unsigned int x; { fprintf (stdout, fmt, x); - out_line_count (fmt); -} - -void out_line_count (str) - const char *str; -{ - register int i; - - for (i = 0; str[i]; ++i) - if (str[i] == '\n') - ++out_linenum; } void out_str (fmt, str) const char *fmt, str[]; { fprintf (stdout,fmt, str); - out_line_count (fmt); - out_line_count (str); } void out_str3 (fmt, s1, s2, s3) const char *fmt, s1[], s2[], s3[]; { fprintf (stdout,fmt, s1, s2, s3); - out_line_count (fmt); - out_line_count (s1); - out_line_count (s2); - out_line_count (s3); } void out_str_dec (fmt, str, n) @@ -782,17 +720,12 @@ void out_str_dec (fmt, str, n) int n; { fprintf (stdout,fmt, str, n); - out_line_count (fmt); - out_line_count (str); } void outc (c) int c; { fputc (c, stdout); - - if (c == '\n') - ++out_linenum; } void outn (str) @@ -800,8 +733,6 @@ void outn (str) { fputs (str,stdout); fputc('\n',stdout); - out_line_count (str); - ++out_linenum; } /** Print "m4_define( [[def]], [[val]])m4_dnl\n". diff --git a/external/bsd/flex/dist/missing b/external/bsd/flex/dist/missing index 894e786e1..28055d2ae 100755 --- a/external/bsd/flex/dist/missing +++ b/external/bsd/flex/dist/missing @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2005-06-08.21 +scriptversion=2009-04-28.21; # UTC -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, +# 2008, 2009 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -18,9 +18,7 @@ scriptversion=2005-06-08.21 # 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. +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -33,6 +31,8 @@ if test $# -eq 0; then fi run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. @@ -44,7 +44,7 @@ fi msg="missing on your system" -case "$1" in +case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= @@ -77,6 +77,7 @@ Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c @@ -86,6 +87,9 @@ Supported PROGRAM values: tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] +Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and +\`g' are ignored when checking the name. + Send bug reports to ." exit $? ;; @@ -103,15 +107,22 @@ Send bug reports to ." esac +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect -# the program). -case "$1" in - lex|yacc) +# the program). This is about non-GNU programs, so use $1 not +# $program. +case $1 in + lex*|yacc*) # Not GNU programs, they don't have --version. ;; - tar) + tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 @@ -135,7 +146,7 @@ esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. -case "$1" in +case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if @@ -145,7 +156,7 @@ WARNING: \`$1' is $msg. You should only need it if touch aclocal.m4 ;; - autoconf) + autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the @@ -154,7 +165,7 @@ WARNING: \`$1' is $msg. You should only need it if touch configure ;; - autoheader) + autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want @@ -164,7 +175,7 @@ WARNING: \`$1' is $msg. You should only need it if test -z "$files" && files="config.h" touch_files= for f in $files; do - case "$f" in + case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; @@ -184,7 +195,7 @@ WARNING: \`$1' is $msg. You should only need it if while read f; do touch "$f"; done ;; - autom4te) + autom4te*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the @@ -192,8 +203,8 @@ WARNING: \`$1' is needed, but is $msg. You can get \`$1' as part of \`Autoconf' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else @@ -207,80 +218,78 @@ WARNING: \`$1' is needed, but is $msg. fi ;; - bison|yacc) + bison*|yacc*) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi - if [ ! -f y.tab.h ]; then + if test ! -f y.tab.h; then echo >y.tab.h fi - if [ ! -f y.tab.c ]; then + if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; - lex|flex) + lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi - if [ ! -f lex.yy.c ]; then + if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; - help2man) + help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" - exit 1 + exit $? fi ;; - makeinfo) + makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file @@ -289,11 +298,17 @@ WARNING: \`$1' is $msg. You should only need it if DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi @@ -303,7 +318,7 @@ WARNING: \`$1' is $msg. You should only need it if touch $file ;; - tar) + tar*) shift # We have already tried tar in the generic part. @@ -317,13 +332,13 @@ WARNING: \`$1' is $msg. You should only need it if fi firstarg="$1" if shift; then - case "$firstarg" in + case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac - case "$firstarg" in + case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 @@ -356,5 +371,6 @@ exit 0 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-end: "$" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" # End: diff --git a/external/bsd/flex/dist/parse.y b/external/bsd/flex/dist/parse.y index 9eada7b5f..378e7a6eb 100644 --- a/external/bsd/flex/dist/parse.y +++ b/external/bsd/flex/dist/parse.y @@ -1,4 +1,4 @@ -/* $NetBSD: parse.y,v 1.2 2009/10/26 04:27:15 christos Exp $ */ +/* $NetBSD: parse.y,v 1.3 2013/04/06 14:27:52 christos Exp $ */ /* parse.y - parser for flex input */ @@ -725,11 +725,9 @@ singleton : singleton '*' | fullccl { - /* Sort characters for fast searching. We - * use a shell sort since this list could - * be large. + /* Sort characters for fast searching. */ - cshell( ccltbl + cclmap[$1], ccllen[$1], true ); + qsort( ccltbl + cclmap[$1], ccllen[$1], sizeof (*ccltbl), cclcmp ); if ( useecs ) mkeccl( ccltbl + cclmap[$1], ccllen[$1], @@ -970,6 +968,10 @@ void build_eof_action() else { sceof[scon_stk[i]] = true; + + if (previous_continued_action /* && previous action was regular */) + add_action("YY_RULE_SETUP\n"); + snprintf( action_text, sizeof(action_text), "case YY_STATE_EOF(%s):\n", scname[scon_stk[i]] ); add_action( action_text ); diff --git a/external/bsd/flex/dist/po/LINGUAS b/external/bsd/flex/dist/po/LINGUAS index 679f2e420..e7f51899f 100644 --- a/external/bsd/flex/dist/po/LINGUAS +++ b/external/bsd/flex/dist/po/LINGUAS @@ -2,6 +2,7 @@ ca da de es +fi fr ga ko diff --git a/external/bsd/flex/dist/po/ca.po b/external/bsd/flex/dist/po/ca.po index 2af5724dd..a4a1f514f 100644 --- a/external/bsd/flex/dist/po/ca.po +++ b/external/bsd/flex/dist/po/ca.po @@ -1,19 +1,36 @@ # Catalan translation of flex message catalogs. -# Copyright © 2002, 2003, 2006 Free Software Foundation, Inc. -# Jordi Mallach , 2002, 2003, 2006. +# Copyright © 2002, 2003, 2006, 2008 The Flex Project (msgids) +# This file is distributed under the same licence as the flex package. +# Jordi Mallach , 2002, 2003, 2006, 2008. # msgid "" msgstr "" -"Project-Id-Version: flex 2.5.33\n" +"Project-Id-Version: flex 2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" -"PO-Revision-Date: 2006-04-13 22:21+0200\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" +"PO-Revision-Date: 2008-06-10 20:13+0200\n" "Last-Translator: Jordi Mallach \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -71,7 +88,7 @@ msgstr "estat # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "No s'ha pogut escriure yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "caràcter de transició incorrecte detectat en sympartition()" @@ -222,182 +239,186 @@ msgstr "no s'ha pogut crear la capçalera de les taules" msgid "can't open skeleton file %s" msgstr "No es pot obrir el fitxer d'esquema %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "error d'entrada al llegir el fitxer d'esquema %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "s'ha produït un error en tancar el fitxer d'esquema %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "s'ha produït un error en crear el fitxer de capçalera %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "s'ha produït un error en escriure el fitxer d'eixida %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "s'ha produït un error en tancar el fitxer d'eixida %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "s'ha produït un error en suprimir el fitxer d'eixida %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "No hi ha retrocés.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d estats de retrocés (no-acceptació).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Les taules comprimides sempre impliquen un retard.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "s'ha produït un error en escriure el fitxer de còpia de seguretat %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "s'ha produït un error en tancar el fitxer de còpia de seguretat %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "estadístiques d'ús de %s versió %s:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " opcions de l'analitzador: -" # NFA == Autómata finit no-determinista. jm -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d estats AFN\n" # DFA == Autómata finit deterministic. jm -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d estats AFD (%d paraules)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d regles\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Sense retrocés\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d estats de retrocés (no-acceptació)\n" # Es refereix a còpia de seguretat, o retrocés? jm -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Sempre es realitza còpia de seguretat de les taules comprimides\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Utilitzats patrons de principi-de-línia\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condicions d'activació\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d estats èpsilon, %d estats doble èpsilon\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " sense classes de caràcter\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " les classes de caràcters %d/%d necessitaren %d/%d paraules de magatzement, " "%d reutilitzades\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d parells estat/estat-següent creats\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transicions úniques/duplicades\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d entrades de la taula\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entrades base-def creades\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (pic %d) entrades nxt-chk creades\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (pic %d) entrades de plantilla nxt-chk creades\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d entrades de la tabla buides\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototips creats\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d plantilles creades, %d usos\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d classes d'equivalència creades\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d classes de meta-equivalència creades\n" @@ -406,65 +427,65 @@ msgstr " %d/%d classes de meta-equivalència creades\n" # segons un company de treballa que estudia a la UOC, allí # les "hashtables" s'anomenen "taules de DISPERSIÓ". En aquest context # no sé que dir-te. ear -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d desades) col·lisions d'ubicació («hash»), %d AFD iguals\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " es necessiten %d conjunts de relocalització\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " es necessiten %d entrades totals de la taula\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Error intern. Els flexopts estan malformats.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Proveu «%s --help» per a obtindre més informació.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "opció de -C desconeguda «%c»" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" # Hmm. No se si açò està be. jm -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "s'ha produït un error fatal d'anàlisi sintàctic" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "no s'ha pogut crear un fitxer d'informació del retrocés %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l l'opció de compatibilitat amb AT&T lex implica una penalització del " "rendiment molt gran\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " i pot ser l'origen real d'altres penalitzacions del rendiment notificades\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -473,48 +494,48 @@ msgstr "" "l'%%opció yylineno implica una penalització del rendiment NOMÉS en regles " "que poden fer coincidir caràcters de nova línia\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interactiu) implica una xicoteta penalització del rendiment\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() implica una xicoteta penalització del rendiment\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT implica una penalització del rendiment molt gran\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Les regles de context posterior variable implica una penalització del " "rendiment molt gran\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT no es pot fer servir amb -f o -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "l'%opció yylineno no es pot fer servir amb REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "Les regles de context posterior variable no es poden utilitzar amb -f o -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "l'%opció yyclass només té sentit per a analitzadors de C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Forma d'ús: %s [OPCIONS] [FITXER]...\n" @@ -523,7 +544,7 @@ msgstr "Forma d'ús: %s [OPCIONS] [FITXER]...\n" # molt això de text emparellat. # Encara que coincident tampoc no m'acaba de convéncer. ear # I que faig amb "reentrant" i "parser"? jm -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -660,43 +681,47 @@ msgstr "" " -h, --help mostra aquest missatge d'ajuda\n" " -V, --version informa de la versió de %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "el nom «%s» és ridículament llarg" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "ha fallat l'assignació de memòria en allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "caràcter incorrecte «%s» detectat en check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "l'analitzador requereix l'opció -8 per a fer servir el caràcter %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "errada de la memòria dinàmica en copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: error intern fatal, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "ha fallat l'intent d'augmentar la mida de la matriu" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "línia incorrecta en el fitxer d'esquema" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "ha fallat l'assignació de memòria en yy_flex_xmalloc()" @@ -772,32 +797,30 @@ msgstr "valors d'iteració incorrectes" msgid "iteration value must be positive" msgstr "el valor d'iteració ha de ser positiu" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les " "majúscules i minúscules" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "rang negatiu en classe de caràcter" -#: parse.y:918 -#, fuzzy +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" -"el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les " -"majúscules i minúscules" +"[:^lower:] és ambigu en un analitzador insensible a les majúscules i " +"minúscules" -#: parse.y:924 -#, fuzzy +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" -"el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les " -"majúscules i minúscules" +"[:^upper:] és ambigu en un analitzador insensible a les majúscules i " +"minúscules" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "La línia d'entrada és massa llarga\n" @@ -811,14 +834,29 @@ msgstr "directiva «%top» malformada" msgid "unrecognized '%' directive" msgstr "directiva «%» no reconeguda" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "La línia d'entrada és massa llarga\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "«|» no emparellat" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "definició del nom incompleta" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "La línia d'entrada és massa llarga\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -860,9 +898,8 @@ msgid "EOF encountered inside an action" msgstr "s'ha trobat un EOF dins d'una acció" #: scan.l:945 -#, fuzzy msgid "EOF encountered inside pattern" -msgstr "s'ha trobat un EOF dins d'una acció" +msgstr "s'ha trobat un EOF dins d'un patró" #: scan.l:967 #, c-format @@ -879,27 +916,27 @@ msgstr "no es pot obrir %s" msgid "Usage: %s [OPTIONS]...\n" msgstr "Forma d'ús: %s [OPCIONS]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "l'opció «%s» no accepta arguments\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "l'opció «%s» requereix un argument\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "l'opció «%s» és ambígua\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opció no reconeguda «%s»\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Error desconegut=(%d)\n" diff --git a/external/bsd/flex/dist/po/da.po b/external/bsd/flex/dist/po/da.po index 1113bed23..2008f67db 100644 --- a/external/bsd/flex/dist/po/da.po +++ b/external/bsd/flex/dist/po/da.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2002.3.12a\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2002-03-27 09:12+0100\n" "Last-Translator: Keld Simonsen \n" "Language-Team: Danish \n" @@ -15,6 +15,22 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -72,7 +88,7 @@ msgstr "tilstand %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "forkert overgangstegn fundet i sympartition()" @@ -231,291 +247,295 @@ msgstr "kunne ikke oprette %s" msgid "can't open skeleton file %s" msgstr "kan ikke åbne skabelonfilen %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "fejl ved læsning af skabelonsfilen %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "fejl ved lukning af skabelonfilen %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "fejl ved oprettelsen af headerfilen %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "fejl ved skrivning af udfilen %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "fejl ved lukning af udfilen %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "fejl ved sletning af udfilen %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Ingen sikkerhedskopiering.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d sikkerhedskopierer (ikke-accepterende) tilstande.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Komprimerete tabeller backer alltid tillbaka.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "fejl ved skrivning af sikkerhedskopifilen %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "fejl ved lukning af sikerhedskopifilen %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "Statistik over brugaf %s version %s:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " fortolkningsflag: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-tilstand\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-tilstand (%d ord)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d regler\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Ingen sikkerhedskopiering\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d sikkerhedskopierer (ikke-accepterende) tilstande.\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Komprimerede tabeller bakker altid tilbake\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Begyndelse-af-linje-mønster brugt\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d startbetingelse\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilontilstande, %d dobbelte epsilontilstande\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " ingen tegnklasser\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr " %d/%d tegnklasser behøvede %d/%d ord for gemning, %d genbrugte\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d par med tilstand/næste-tilstand oprettede\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d unikke/duplikerede overgange\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d tabelposter\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base/standard-poster oprettede\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max %d) næste/test-poster oprettede\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max %d) skablon-næste/test-poster oprettede\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d tomme tabelposter\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototyper oprettede\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d skabloner oprettede, %d formål\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d ækvivalensklasser oprettet\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d meta-ækvivalensklasser oprettede\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d gemte) hash-kollisioner, %d DFA'er er ens\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d opsætninger med omallokeringer krævedes\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d totale tabelposter kræves\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Intern fejl. flexopts er fejlbehæftede.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "ukendt flag til -C \"%c\"" -#: main.c:1192 +#: main.c:1194 #, fuzzy, c-format msgid "%s %s\n" msgstr "%s version %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "uoprettelig fejl ved analysen" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "kunne ikke oprette sikkerhedskopi af info-fil %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "flaget -l for opførsel som AT&T's lex medfører et væsentligt præstationstab\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " og kan være den egentlige årsag til andre rapporter om dette\n" -#: main.c:1529 +#: main.c:1531 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "%%option yylineno medfører en væsentlig præstationstab\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktiv) medfører et mindre præstationstab\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() medfører et mindre præstationstab\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT medfører et væsentligt præstationstab\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regler for variabel efterfølgende kontekst medfører et væsentlig " "præstationstab\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT kan ikke bruges sammen med -f eller -F" -#: main.c:1567 +#: main.c:1569 #, fuzzy, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno kan ikke bruges sammen med -f eller -F" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "regler for variabel efterfølgende kontekst kan ikke bruges\n" "sammen med -f eller -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass er kun meningsfyldt for C++-fortolkere" -#: main.c:1798 +#: main.c:1802 #, fuzzy, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "%s [FLAG...] [fil...]\n" -#: main.c:1801 +#: main.c:1805 #, fuzzy, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -635,43 +655,47 @@ msgstr "" " -h, --help udskriv denne hjælpebesked\n" " -V, --version udskriv %s version\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "navnet \"%s\" er latterligt langt" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "hukommelsestildelingen mislykkedes i allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "forkert tegn \"%s\" fundet i check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "skanneren kræver flaget -8 for at kunne bruge tegnet %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "dynamisk hukommelsesfejl i copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: uoprettelig intern fejl, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "forsøg på at øge arraystørrelse mislykkedes" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "forkert linje i skeletfilen" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "hukommelsestildelingen mislykkedes i yy_flex_xmalloc()" @@ -750,27 +774,27 @@ msgstr "" msgid "iteration value must be positive" msgstr "" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -#: parse.y:821 +#: parse.y:819 #, fuzzy msgid "negative range in character class" msgstr " ingen tegnklasser\n" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "\t-i opret en versalufølsom fortolker\n" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "\t-i opret en versalufølsom fortolker\n" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" @@ -784,14 +808,27 @@ msgstr "ukendt %-direktiv" msgid "unrecognized '%' directive" msgstr "ukendt %-direktiv" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "" + #: scan.l:284 msgid "Unmatched '{'" msgstr "" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "ufuldstændig navnedefinition" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -852,27 +889,27 @@ msgstr "kan ikke msgid "Usage: %s [OPTIONS]...\n" msgstr "%s [FLAG...] [fil...]\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" -#: scanopt.c:578 +#: scanopt.c:577 #, fuzzy, c-format msgid "Unrecognized option `%s'\n" msgstr "ukendt %%option: %s" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "" diff --git a/external/bsd/flex/dist/po/de.po b/external/bsd/flex/dist/po/de.po index 0351a24a2..060350535 100644 --- a/external/bsd/flex/dist/po/de.po +++ b/external/bsd/flex/dist/po/de.po @@ -1,19 +1,36 @@ # German messages for flex -# Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex Project. +# Copyright (C) 2007 The Flex Project (msgids) # This file is distributed under the same license as the flex package. -# Michael Piefel , 2002, 2003, 2008 +# Michael Piefel , 2002, 2003, 2008, 2012 # msgid "" msgstr "" -"Project-Id-Version: flex 2.5.34\n" +"Project-Id-Version: flex 2.5.36\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" -"PO-Revision-Date: 2008-02-11 11:12:41+0100\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" +"PO-Revision-Date: 2012-08-03 13:42+0200\n" "Last-Translator: Michael Piefel \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: de\n" + +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "Anlegen des Puffers zur Ausgabe der Zeichenkette fehlgeschlagen" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "Anlegen des Puffers für Zeilen-Direktive fehlgeschlagen" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "Anlegen des Puffers für m4 def fehlgeschlagen" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "Anlegen des Puffers für m4 undef fehlgeschlagen" #: dfa.c:61 #, c-format @@ -72,7 +89,7 @@ msgstr "Zustand # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "Konnte yynxt_tbl[][] nicht schreiben" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "ungültiges Ãœbergangszeichen in sympartition() entdeckt" @@ -224,239 +241,243 @@ msgstr "konnte Tabellenköpfe nicht schreiben" msgid "can't open skeleton file %s" msgstr "kann Skelett-Datei %s nicht öffnen" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "Anlegen der Makrodefinition fehlgeschlagen" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "Eingabefehler beim Lesen der Skelett-Datei %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "Fehler beim Schließen der Skelett-Datei %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "Fehler beim Erstellen der Header-Datei %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "Fehler beim Schreiben der Ausgabe-Datei %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "Fehler beim Schließen der Ausgabe-Datei %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "Fehler beim Löschen der Ausgabe-Datei %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Kein Backing-up.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d Zustände mit Backing-up (nicht akzeptierend).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Komprimierte Tabellen benutzen immer Backing-up.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "Fehler beim Schreiben der Backup-Datei %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "Fehler beim Schließen der Backup-Datei %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s Version %s Benutzungsstatistiken:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " Scanner-Optionen: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-Zustände\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-Zustände (%d Wörter)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d Regeln\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Kein Backing-up.\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d Zustände mit Backing-up (nicht akzeptierend).\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Komprimierte Tabellen benutzen immer Backing-up.\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Zeilenanfang-Muster benutzt\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d Startbedingungen\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d Epsilon-Zustände, %d Doppel-Epsilon-Zustände\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " keine Zeichenklassen\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d Zeichenklassen brauchten %d/%d Speicherwörter, %d wiederbenutzt\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d Zustand/Nächster-Zustand-Paare erzeugt\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d einzigartige/doppelte Ãœbergänge\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d Tabelleneinträge\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d Einträge „base-def“ erzeugt\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max. %d) Einträge „nxt-chk“ erzeugt\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max. %d) Einträge „template nxt-chk“ erzeugt\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d leere Tabelleneinträge\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d Protos erzeugt\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d Schablonen erzeugt, %d Benutzungen\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d Äquivalenz-Klassen erzeugt\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d Meta-Äquivalenz-Klassen erzeugt\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d gespeichert) Hash-Kollisionen, %d DFAs gleich\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d Sätze von Neuallozierungen benötigt\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d Tabelleneinträge insgesamt benötigt\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Interner Fehler. flexopts sind missgestaltet.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Versuchen Sie es mit „%s --help“ für mehr Informationen.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "unbekannte „-C“-Option „%c“" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "fataler Parse-Fehler" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "konnte Datei %s mit Informationen zum Backing-up nicht erzeugen" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l AT&T-lex-Kompatibilitätsmodus führt zu großen Geschwindigkeitseinbußen\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " und ist möglicherweise die wirkliche Quelle anderer gemeldeter Einbußen\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -465,54 +486,54 @@ msgstr "" "%%option yylineno führt zu Geschwindigkeitseinbußen NUR für Regeln, die auf " "einen Zeilenvorschub passen können\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktiv) führt zu kleineren Geschwindigkeitseinbußen\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() führt zu kleineren Geschwindigkeitseinbußen\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT führt zu großen Geschwindigkeitseinbußen\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regeln mit variablem folgenden Kontext führen zu großen " "Geschwindigkeitseinbußen\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT kann nicht mit „-f“ oder „-F“ zusammen verwendet werden" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno kann nicht mit REJECT zusammen verwendet werden" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "Regeln mit variablem folgenden Kontext können nicht mit „-f“ oder „-F“ " "verwendet werden" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass ist nur bei C++-Scannern sinnvoll" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Aufruf: %s [OPTIONEN...] [DATEI...]\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -644,43 +665,47 @@ msgstr "" " -h, --help produziere diese Hilfenachricht\n" " -V, --version melde %s-Version\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "Anlegen des sko_stack fehlgeschlagen" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "name „%s“ ist lächerlich lang" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "Speicheranforderung in allocate_array() fehlgeschlagen" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "ungültiges Zeichen „%s“ in check_char() entdeckt" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "Scanner erfordert Option „-8“, um das Zeichen %s benutzen zu können" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "Fehler beim dynamischen Speicher in copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: fataler interner Fehler, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "Versuch, die Feldgröße zu erhöhen, fehlgeschlagen" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "ungültige Zeile in Skelettdatei" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "Speicheranforderung in yy_flex_xmalloc() fehlgeschlagen" @@ -756,30 +781,30 @@ msgstr "ungültige Iterationswerte" msgid "iteration value must be positive" msgstr "Iterationswerte müssen positiv sein" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "der Zeichenbereich [%c-%c] ist in Scannern ohne Beachtung von Groß-/" "Kleinschreibung mehrdeutig" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "negativer Bereich in Zeichenklasse" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "[:^lower:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung " "mehrdeutig" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "[:^upper:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung " "mehrdeutig" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Eingabezeile zu lang\n" @@ -793,14 +818,27 @@ msgstr "falsch geformte „%top“-Direktive" msgid "unrecognized '%' directive" msgstr "nicht erkannte „%“-Direktive" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "Definitionsname zu lang\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "Unbalancierte „{“" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "Definitionswert für {%s} ist zu lang\n" + #: scan.l:317 msgid "incomplete name definition" msgstr "unvollständige Namensdefinition" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "Optionszeile zu lang\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -860,27 +898,27 @@ msgstr "kann %s nicht öffnen" msgid "Usage: %s [OPTIONS]...\n" msgstr "Aufruf: %s [OPTIONEN...]\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "Option „%s“ erlaubt kein Argument\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "Option „%s“ verlangt ein Argument\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "Option „%s“ ist mehrdeutig\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "nicht erkannte Option „%s“\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Unbekannter Fehler=(%d)\n" diff --git a/external/bsd/flex/dist/po/es.po b/external/bsd/flex/dist/po/es.po index 71bfe1433..715760340 100644 --- a/external/bsd/flex/dist/po/es.po +++ b/external/bsd/flex/dist/po/es.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU flex 2.5.8\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2003-01-02 12:06+0100\n" "Last-Translator: Nicolás García-Pedrajas \n" "Language-Team: Spanish \n" @@ -19,6 +19,22 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + # El estado (?) sv #: dfa.c:61 #, c-format @@ -90,7 +106,7 @@ msgstr "estado # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "carácter de transición erróneo detectado en sympartition()" @@ -272,6 +288,10 @@ msgstr "no se pudo crear %s" msgid "can't open skeleton file %s" msgstr "no se puede abrir el archivo de esquema %s" +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + # Skeleton se puede traducir por máscara, o por modelo em # Sí, lo estuve considerando. Pero el eskeleton file es un fichero que # le indica a flex la forma como tratar el fichero de entrada, y por eso me @@ -288,46 +308,46 @@ msgstr "no se puede abrir el archivo de esquema %s" # que decida una tercera persona # # ## Cambio "leyendo" por "al leer", como en otras traducciones. sv -#: main.c:505 +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "error de entrada al leer el archivo de esquema %s" # Otra vez :) em -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "error al cerrar el archivo de esquema %s" # Lo mismo, archivo de seguridad? em -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "error al crear el archivo de cabecera %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "error al escribir el archivo de salida %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "error al cerrar el archivo de salida %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "error al borrar el archivo de salida %s" # Copia de seguridad? em # Sugerencia: No hay retroceso. sv -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Sin retroceso.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d estados de retroceso (no-aceptación).\n" @@ -337,13 +357,13 @@ msgstr "%d estados de retroceso (no-aceptaci # "Compressed tables are always back up" # (supuesto que back es irregular y su pasado/participio es back y no backed, # que ahora mismo no me acuerdo). sv -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Las tablas comprimidas siempre implican un retraso.\n" # Lo mismo, archivo de seguridad? em -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "error al escribir el archivo de seguridad %s" @@ -351,47 +371,47 @@ msgstr "error al escribir el archivo de seguridad %s" # En todas las traducciones que ha aparecido # he sugerido el uso de copia de seguridad em # ok ng -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "error al cerrar el archivo de copia de seguridad %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versión %s estadísticas de uso:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " opciones del analizador: -" # NFA significa non-deterministic finite automata, así que lo he traducido # por AFN -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d estados AFN\n" # DFA significa deterministic finite autómata, lo he traducido por AFD -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d estados AFD {%d palabras}\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d reglas\n" # Otra vez ;) em # modificado como en la anterior ng -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Sin retroceso\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d estados de retroceso (no-aceptación)\n" @@ -399,18 +419,18 @@ msgstr " %d estados de retroceso (no-aceptaci # FIXME. # Informar al autor de que esta frase es casi idéntica a una anterior, para # que sólo haya que traducirla una vez. sv -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Siempre se realiza copia de seguridad de las tablas comprimidas\n" # Lo mismo "se han usado patrones de comienzo de línea". sv -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Usados patrones de comienzo-de-línea\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condiciones de activación\n" @@ -423,17 +443,17 @@ msgstr " %d/%d condiciones de activaci # lo de doble épsilon no lo he oído nunca. Creo que hay que dejar el término # técnico. ng # Tu mandas, no tengo nada que decir a eso em -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d estados épsilon, %d estados doble épsilon\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " sin clases de caracteres\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" @@ -444,13 +464,13 @@ msgstr "" # ¿Qué tal " se han creado %d pares estado/estado-siguiente"? # Bueno, mejor no lo hagas hasta que no se sepa cómo queda al lado # de las otras. sv -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d pares estado/estado-siguiente creados\n" # ## Añado sendas eses, ya que son transiciones. sv -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transiciones únicas/duplicadas\n" @@ -459,50 +479,50 @@ msgstr " %d/%d transiciones # sí, mejor ng # ¿Que había antes? (¿entradas a la tabla?) # (entradas *de* la tabla me suena mejor) sv. -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d entradas en la tabla\n" # ## pongo `comillas' en el base-def. sv -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entradas `base-def' creadas\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (pico %d) entradas nxt-chk creadas\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (pico %d) entradas de plantilla nxt-chk creadas\n" # ¿entradas a la tabla o entradas de la tabla? sv -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d entradas en la tabla vacías\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototipos creados\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d plantillas creadas, %d usos\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d clases de equivalencia creadas\n" # "se han creado..." sv -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d clases de metaequivalencia creadas\n" @@ -520,40 +540,40 @@ msgstr " %d/%d clases de metaequivalencia creadas\n" # un lugar que se puede determinar mediante una transformación directa de su # clave, por eso si hay dos claves iguales hay una colisión, porque dos # registros van al mismo sitio ng+ -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr "" " %d (%d almacenadas) colisiones de localización ('hash'), %d AFDs iguales\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " se necesitan %d conjuntos de relocalización\n" # Lo mismo que en otro sitio: ¿table entries son entradas a la tabla o # de la tabla? sv -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " se necesitan %d entradas totales en la tabla\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Error interno. flexopts mal formadas.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Pruebe `%s --help' para más información.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "opción -C desconocida '%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" @@ -570,7 +590,7 @@ msgstr "%s %s\n" # Sugerencia: error fatal. sv # con comillas es un término medio. Lo de error grave fue una sugerencia # de Enrique, y croe que queda mejor. ng+ -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "error muy grave en el analizador sintáctico" @@ -593,28 +613,28 @@ msgstr "error muy grave en el analizador sint # ## # ## Eso no es válido ( solución, usa emacs po-mode :) ) em # ## ok, ya estoy instalando linux otra vez ng+ -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "" "no se pudo crear el archivo de información de las reglas\n" "que producen un retroceso del analizador %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l la opción de compatibilidad con AT&T lex implica una penalización del\n" "rendimiento muy alta\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " y puede ser el origen real de otras penalizaciones del rendimiento " "notificadas\n" -#: main.c:1529 +#: main.c:1531 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -622,53 +642,53 @@ msgid "" msgstr "" "la %%opción yylineno implica una penalización del rendimiento muy alta\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interactivo) implica una pequeña penalización del rendimiento\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() implica un pequeña penalización del rendimiento\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT implica una penalización del rendimiento muy alta\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "La existencia de reglas de contexto posterior variable implica una\n" "penalización del rendimiento muy alta\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT no se puede usar con -f o -F" -#: main.c:1567 +#: main.c:1569 #, fuzzy, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "la %opción yylineno no se puede usar con -f o -F" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "las reglas de contexto posterior variable no se pueden usar con -f o -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "la %option yyclass sólo tiene sentido para los analizadores en C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Uso: %s [OPCIONES] [FICHERO]...\n" -#: main.c:1801 +#: main.c:1805 #, fuzzy, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -796,7 +816,11 @@ msgstr "" " -h, --help produce este mensaje de ayuda\n" " -V, --version informa de la versión %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "nombre \"%s\" ridículamente grande" @@ -806,41 +830,41 @@ msgstr "nombre \"%s\" rid # Sí, pero creo que sólo por mí. Normalmente esos mensajes # los dá la biblioteca C antes em # ok ng+ -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "falló la asignación de memoria en `allocate_array()'" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "carácter incorrecto '%s' detectado en `check_char()'" # he añadido el `poder' em # ok ng -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "el analizador requiere la opción -8 para poder usar el carácter %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "fallo de la memoria dinámica en copy_string()" # Sugerencia: error fatal. sv -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: error interno muy grave, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "falló el intento de aumentar el tamaño de la matriz" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "línea incorrecta en el archivo de esquema" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "la reserva de memoria falló en yy_flex_xmalloc()" @@ -919,28 +943,28 @@ msgstr "valores incorrectos para iteraci msgid "iteration value must be positive" msgstr "los valores para iteración deben ser positivos" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "rango negativo en clase caracteres" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "\t-i genera un analizador que no distingue entre mayúsculas y minúsculas\n" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "\t-i genera un analizador que no distingue entre mayúsculas y minúsculas\n" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" @@ -954,14 +978,27 @@ msgstr "directiva '%' no reconocida" msgid "unrecognized '%' directive" msgstr "directiva '%' no reconocida" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "" + #: scan.l:284 msgid "Unmatched '{'" msgstr "" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "definición de nombre incompleta" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -1028,27 +1065,27 @@ msgstr "no se puede abrir %s" msgid "Usage: %s [OPTIONS]...\n" msgstr "Uso: %s [OPCIONES]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "la opción `%s' no permite un argumento\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "la opción `%s' requiere un argumento\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "la opción `%s' es ambigua\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opción no reconocida `%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Error desconocido=(%d)\n" diff --git a/external/bsd/flex/dist/po/fi.gmo b/external/bsd/flex/dist/po/fi.gmo new file mode 100644 index 0000000000000000000000000000000000000000..f64f218c9e1fc538bae2dd96d446322fd886e143 GIT binary patch literal 22521 zcmbW9e~=~DRo~kVcC2SfmTcjlIBrV}yDRC<{?JcG+LczL8F{4r#qLO!ysXzf@Ab^| zzW2JH`p4`(%OWi<;;5_(-H+bG{;4$#^;5qPi z@FI8z_@m&Pz*j&Y{2hmX4BpB6{|4^?_ub-o{{TD>s{9ARcY~h<7r`%q-w*yz@BsL> zTkSX&!8zV9fa>?7p!$6Uq^S2bQ1kd>P~-d`;4=8SH`@MAgZ$^k{PO|uBcR&(Gw=t% z*D#nv;N9R|;05rt;7gznehPdi_#2@5`8ud^ehXAPH`1xbdk}mV_#AjII0Ekj{{^@N zeiJ+h-ube_&GW${;QgT5i$Kl$Cqec1uRzh|KY@_g`@f+0 z_l+=t#_faZcL8K*-gBV%?0Ikz`~~nH@J~Ul>uof~Pj3lSy`Fo28B}{;0@eT5K=t>( zK+(5_Fetwb!cyK7pyu_Q`yPW#)%yf^H~7n-`uz`}*7?;;UgJIjY8@X1MUNlmANBKb z_x?Fh{r?+K^Zy%A>vSVbMN{5BP~T63;){X9mqE?vi!T579e&g0zZ#;b{JTJn|6x$= zodVVV76@s*PlH;ItDq15h0AX-D9vjQY=dV(&F9154d5q1&FkktM9KRtQ2hB-5E6QS z0g8UN(1^a@399}H5Z3hG2WowucllocZ{+>=K+*XRLDm0r_g#a~I^F~>gZF@H=Yyce z@o7-yf8BlmDyVh*6Zid9C^OCb9iZrOKlm{C9*`p5$H6bZ%JY5`e2(`%gA-kT9~7Vc z9VmLZm{4L0ky<4d)x*P*<1%C+C_&cEZ{w4SQ*Fmkz?}9A7 z_bpKE-2yZ5(|ZU!4#waD_$5$!=C8n$;Op}a(py>8jpvL$1qjnx=z#Do0DEMW5d&HJ;U>iug_diOtrKKN}={B^?#TmA^Bah(Ba())*? z*8giDMZLH3awpgYHJ_gXVQud>K+XTZfsovL^(m{@9|nEi&w_V>87ThxMNstqO;Gjz zz`g%9sQRxxZP({fQ1kl`sB!;GQ02b@vUJ`zLGk0eSk$}0!=T3Zeo*W568L@KKL-zj z{}$A`{2i$Ayz_^wURnXA_lBVAeFl`=d>Nbv{}dD*-*DE>>jyzZ$2$#*4j%(W$5+4r z{5mLpK77u8e=n%@`7j7;d%q28J-!3Bz}K$Yaoq~Oo%j1djpq!gaTK8X|GfMDRrmd` zLDA#3r)~T9fLixU;4R=MK(+TdP<;7Y?)!fPHQxUY@}GC}Gd8~qs^5=+8vn1l?_UQ+ z*YAL$=iA?F*YyGLExbPqG8AtJ-UEIGd=;oi?Yz(Yf}cR`$A6!s^}m($DUu$oyL7nd zf0$H07u=86f?d*MB+*>-_)(I^KOl)8w8xZ>)zF3V(^Ij z{Sf$^`z?U2y}o<@8SrE7x1dA%UJ|Oq`wZz633l_2lKv4%{GjK@NgpO@oiCEa51%Kc zq}xb(-cLdlyjPRNhvoB+`SAwQN6QbO*8h#9*O5LzdXn@Ok{-#Pod$3fU`y{3=_L{(?F~ud*Yf!SKXTFoq+cM7NWVnVb1w;THP4L>x4>hhr${f8o+te< zNzdmTYGzd*+AF7eT*e%dZ8U9wToTLw|pq#O8GKOW9!%rISrg8*0uh`gB{BHKQ#cx*JEH z^q}PdKfaQ;JDa_d9?dy5iw7%qlZ$c{xeD*#SE|HF>Ja z9)DX4vasC^*Jlr;vl*m8Cl6D2w~g;sSsRKv1-{$ zV-;0sAhx}(lFSjw=p=F1GVypiMI1d}ga^CDuphDfpNCM9os9g`r%pWQBb-LS7-|5? zgP5V`olSV)vgxpzHDWLqq$%@?;tnK4_9VwfleO=11n^j9r!^ql46QLwOVvmXw=jzS z2>uA9DA$X=4?+CJyY4Edj^ToJO1ZTab!n;gwSG zt`VLn%cBmOlmZL>dLW^WVzCH6!Zb}%IGpO03cnLFcC~I&;Cw%qz{s0ojrWF8+P%|n z`+3q^kOoCt3tL`$aow;%dvVzh($F6i;sNFuUg`9UEZPcH@%G}t?KT?O{qRb=T(77fp{NH*m+n{m{bt&*C&M{Vc~jk*OLb6h`2A^7xG(BVd2{0+K}{k0Hq z4Ov;kiDB0}Ug>%*!& zQ8v05Xcb{eADOVS0SnmKdQ&p{Q}Wtrs9iLmapu@=uSFS~?^+slA*gM0S~V04rI&Y= z*h}3Zq)6jpQuMpN#OZPxp;N<7map}9e@^<-KCe&vm}OJTjz-uJ7pGM)Iank4j9l$w zGqTubXXLPmGjg;S&B%&jL)lNWvaier$!^5bA2VNQGup^a8O z2X#?|hLK;G%U-ONk;#VHmlV=VXtxM!uFFmmYcoNic{2*Qz0O-gr<@GZUYNGLCqnio zW7l9^ZKS~a(|oJ7YAm{Pzog%VmXEFq?uIFYezXz$=7Cxa zE?Hmqjm)Rzwkio-3$^>A+6PHGVxy(f0OmIBU`n*x@S1JK*M5&M6`g#VIbmw7mqi_R z6T`LAMB33^#}8Tgla;8?Qb{73X<_-hX<>O<3j>YXnlfhS<5ADDZ%oJRDs2Qi=(+(& zMd)?^0j+MX3}a(;qr`ATX;?(@urTCWR|D*g{c;8yZedY9S$?;reYs)I`{%@ULB?{e zry9VrsZPnVx(0x)p?yzglv(N~!Rn1Hn?@GHL0R1*0%o*!xdPg3_h)6-W^u>FI=}%Z zTq`y>5N#Mv>S|0~eQLCd4J6CLW@xj5LgmCXl{Hn9m4Ss(d#vuNomryT*i~A4WJ{Ym zm4~V<-e)mnfVl>2<@#>rvZhUKX$TNF&G30rPxl^6k@8gg*A^vFy@Vs*=jAbt70!PghcJ}ZJjSimsd_K**3Fb z*ooF@smNhgU%66xs&P&=vR>G)6{k{JLpfp2`lyb|!^o639goNByM3t~Cgoj`n&_D2 zRh@QwG%{A@(No7yx)B;3%tU2VnmqclWjB$$Fm2aoWDhPF&5ORxHKWsl1YLU|5p`tR zy8%^=87az4W9Q9;FSwE03{?}=TCH=A;A`P#uoWe#q3#2k`vYrH$&+@7ezmd>UihL*_Ng z{C$V_nbkXCx{ecLH`f}e6xbb2i#pR}Y7BSA)JNB?M^}!XTRppS>Iu_|_7eBXmSgj& zT5W5$k4Cp^CC{4rWAnBgLN)b(J+ZWX7i&G6f)kdo`BpBNu{C5T`@;f890q9?rt@yu zAh)%l$1WpSHs&P8-oje(*%t}e4r*0UF*4!GF@naT!-n~wYDMwE(Fl#_G$pT2U%Cp~ zDCC8c^TnBh9DDj*wA+Z?ZM}$%DW@eXv&X}ARgFI^9}PonBi9_*&Uox@mnbLwu+5*}JXWu?{Pd~C)s@qy%4(Ba3vLAbGEt|%&hyK{t=7pX>xBJ& z5Qj-&_lZu~LKC|QG_gl#E1~vW#1PtzEp1$Dj~b7t+NNZCGwe4E0bexf7VNI{m7&AQ z9$+5g08pK0RHyU|jJtCCJ)5x0Yk4cOy{u@D?e~?2uVCI^M@umeoGd!$2YuNbVV6@? z!-vHCX?x@~5;ktme#K6^%Q_5dhrj8LgL%)oIpnL^p?k+ry0NG)0O43?}dH5 zaZXP*V#Ehq*Ajz<_fbwugX1Lg&!0Xc20VAcKd+7Q!u-6N-koi}KNF;pu@q6kI3YN? zV2kVMVx0)Mvka}}kJ-B@UT;Guw){QFbbjIe{p50(E?f|ug27s}QNZw$LAURXH$HB^R;W*oB+}L>^CE^3qHQJf{qq`o?vaNq4zY zYaBTqp769D(<*q%sr-KaKGp~=mE&YFM^UoEPVb@$>_0G3*4S3lzTx;XCbABZySrek z(E0X-7xztcUX{fP;SeiJ-W-~3F|)kdq3Two>3w2aMp>2_I_;oRwQktIy^GZi&BY+Q zh#7+nyLrJ^#=@c3F*)j#$VRxp(1;qC>X;44Icg-EZc~A5+Mi@G*7o*!4++Lul;HFg zNosG637I^O#wc`r0wYU)w}_fVILtczBxBoS2$&$wmE){fH9Yxk;*4a?+i3-@w_W~E zxznBF4cg{mtxXa@4F{5^DNl`K!!N_u_F%!Gr zApy8rO*TG%_oiGqYO#*63Xywv7?cq&YBe)!r;^>7yD07IA~d?_Y8(Knmb*H%D0gbp zqQ}fZm6;PYtsB}{Emnhi>o|Y7pula!%>b8c6)PHrGw5A$JZBxgj3=~?rm;EU8P|br z&bS&hs9p25h3pl8HXQXRo7`TnaHDnXs65-_tEB_pge>CR#uC9@YYq!?ZCAS>x+719 zXphoG>s5}R(iE#PveRneMWd@&W-3$s5`B@9^jD?cSi`a1}3I+>W~W<-TO<$MbXD3$0oXcPnVd zwWPc)owbf$bA*=Q=jS@@xz6rAHZZ$vr9=lyaiR!H;6; z*6eRzURbYihD>`A&1`m@eRG|C)n}_8Ffcn(GTVr{?Z=9Zti77p5}azb!v3Q=gkPA-keQuR|>C{Cyz)IwLdsl~AfgXM({U}@(&S5vBvm=TV{(PqB0ofSnI z`MrX@3Fl|$QN&t+_a1EKWJckf=u)=-H)NsuBs(}@FEg(b~Gn}BvE+s{; zmjv{kZbgu$924U^n1!%Zu*J&vgErPh)M&eHhMPuPQPs9KQ?z29yMkuGJt&-qP=@u#f$lMKl~1(#d6nOS`OBo9SdxHNErV-j&1Vp%y`GVX9-Wsf1SM42v2%gsF`&3kYA)%kRUQ*^mmtyR1Oe?8 z)TF@eD%aMMN)hIxEZoeKOO9JLENuRWK?etWK`%?9tQT;A?N?%ISN1GSLp&HdgnL7n z@lxPVa>;5$8ICOZh=ZuuC2z=2)Md^-I@5H$6g4yBJTl+Ih;u?kL;H;p>9Rr!C(5&k zDKGeKkGMBt+c^0$S;E=^tWu7YT%+^{=s4+&OT1+T&Sf-SZ`2!Q0Sv5#B#by0RUtXF<|Gf@gnh_+MV?r` zB?bYXd93d>^cvo9jxWdxj+fn0I%YM9Awl6fiZP^Er&=y~%(8?L>`<#Ib)rZl7C1pK zOO+T+;#)7)LR<~4jM}MubC{>D{8f#J_%pT@Pf~DZZc4ecRq<;X1E-_P?+Pe9T^YUX)bODMp9f(Vio`aK%L?Ewup z4wxJJ1Lt@SpKJr%x=W#ogRl^Hwi~5aY_pBEVnJ(dnr?UJ>oTJ~{=CIDWN5;gjw5+` zxnvG{9Pk^gH;lN27{EwVxUdn^Gtq-%Ata>E$i~UBi|0F)n)+rVPs}rq|igP7KDv*|D>o7|m5gQ>(ZbpEk2)E!Ysl zJ`Vott7xNs{y(Z36?G}WcM7S{3pwM@*aw@#m6B`9KuI!agpAfD76x=8ySvsz(f;g` z_4aFyWrU!*5^>(Ddf(UC;5urZc9t9CuIgU5`bW>$DdvUWi_%MIYgD)kL7L1VYrzj~ z9MaT06O1%9$3-Mf%^Qa$&Caf3lV%jD0+eRtmr+VHvT;I~fTJ1N+SvEXZv-vPXv4)P z?IO46JsQ=cmrgq28D()ah!hdjk0SQ4VU(khTi!Tds?+Z!vic-tCXQ)W@zn@LjQXY- zDPp^$o4E8`#wiP*C-lR01`0|#z0W@EUAvYw5o=XWjGJ$HCs10+=B2QYdM)==tF}z9 z9NT*6P&t9Ml{rl`(h0zXKFMOSCd|lQYVC@9>M869<&7D@y+Huy>JVjYou2)T$&DKm z@?wn8R~}>->ANG zbd`;EuF9t4y|f0+C!IauPw2EOT8b@%5H}hbD4mtvd-?1sb^%`gfW&y{}Ps$<;5A1Q<|a~sLqR5 zomo_?E0dv`Hq0tY&4{KdRk3)rcIYKo2g)TJ3}7Q->)7M=jH{}esT&MwpsV&=Hb0AL zY&X-ChBG6?3bNx>MJ^_7358hU2QYT>&NjO~TyfQG{_Mp@!ZDL+cXrGbN)0O#87`GW zAT!Pq+u2xZU`F_rlNiHYkV^iPUS?T)M)Xxh5^K(FLDFhXoSkb}%Miz!6PD5hWI9EP z9n6Rt(O9ML#9e3`3Sj;qA+8Djs=z8?G_7inBeN!|(n75^p=dpv9k#CO&4|!4{Z>;e zMa!;meG(Xd5@Wk%jQK~^Yk^xUCs#~^_8%QDIOrm-zV;(Vp+^_e^^@w6tS?{%h+OAq^g}p*jCxlg~}Q!kFRA8p`@*IPIowI<5V*;ChJ~-Tr#5( zP!q<*#)IgTWD;Fx1arAcCX{P;r5OQTu2PupY_lzuz3|sbIxcPLB!#N8`fks#F5HNH z>0H3DlGc|4R4hsq>eUrqh^7v)vFd~gni9u zu?qQ`*3^s;Fh?dE09GBIs#TdvuRUYIO2q-qbacT*R#;KuLm3lRj!$&6;bGDl2n3Gd zJ>$b1TaS<0&aos~T_ZXSCrvL+bk(8gFsnlC8y44}efaZ-NqYu}RqEFSh_&6BY%5Yc zqLT#22aOOh>%x8V^r_R8Ia2$?p%AlD`v{x1(+dn_G~ypkYF4zECB#;MVI}dyVIf&s zEIkmVTu&ZxjM6Aat6AIYdc}+J(nd9K)X&*wFl1|CV7nv7oQXP;a<$Q8ZIpggtFt?F zj7WcpOf76|Y{hu@~mf_g8idX8PYJsS+r-<-z zUwo%v?249S5BvED(z>E}(p%@kUcmhd^E47NBfP9^EF=y~>PouasD*ZE1BM4DY+ z<-LN=oHn6jCc@nzYBt2R%gu|roe_2B{FB_hWX|u^^3ECSRtjYI$?IIxUq%K5R5 z*1u%#D^RcTfE@=zHIg?^r^1>oCr6(?KV#jf@$~*&F1D9E6modg{0OsMWL1z_XnY>s z$}DA37=?4((q`pEuzJ6YTZ19Sp3_|pCtVc74YIU2MR8EXs=Z^5pfVgTjY}KFubmLZ z;6-D&qA&3M>Ub#yfP>LSwecHDtm@Bgobyyhw~Jys!@Y^lt`vHKq+;@%W9Qf0tR{Od zBfsT6Wu2T?b@l6?f9Cj!mDO`xA+8eCR+HsomiQU z^P`zPMstzta_{0enDMq1X2mL(bd9j1(j|^@qo}nq(v9_FyYO-NB7H1d9ySaYl)jGE zc&xS1Q_X~W4BU6$nlZvElfyfyeXP_I@Pi4p6{pZ&T6JElj% zDsv+#mxOWPG3llU&mL8r=lfxId#babjhidQ&fQs97K0`DYkM|O`8nL77P8qet}=>l zqNa@9Uf@mr+Q)?u_Ds0sWC1_m4|<3M!%c1OK3;gS<{O!4%)}+wZ}L`~m>%v46FGD) z)w(unp%-rA7;*ZX!H+xE6_5x}?jGYD9c8qO45Rw2_lUTw23XyyI7iVm>P4P9eSH<1k$TROKtY+Xc6n{Y;Ei}a+XSq6iA4z% zjNRCb8dIH8cH#_cC^Dtk?gg`jAi3+bc_ys2qYECnlh?5wwOKj@iEqD{oNjYKq8>7@nSC^uziuU+Gb$}(sWR2FI6p01r0h7$)79H8|m zrFWNq-y7R1R{c%f`BkSe+l5>+L;m!UI7S`ptcRCvLHn@gt*d1z&T`X{eI?&(lWyWJ z-`>;PIL5|@u3rZAjEH8Oon>PhoB35-BYcmSovVYHyyMw*GD}uQG(v(Y6t5qkuW3tF z%78^K%|P@9LWm7W$m66gcXl^SS7WS_-Jn~@Z){6u;%xQ_Yj=a@{OYO&fW?hJ7r;Shl\n" "Language-Team: LANGUAGE \n" @@ -15,6 +15,22 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -66,7 +82,7 @@ msgstr "" msgid "Could not write yynxt_tbl[][]" msgstr "" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "" @@ -210,286 +226,290 @@ msgstr "" msgid "can't open skeleton file %s" msgstr "" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr "" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr "" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr "" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr "" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr "" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr "" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr "" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr "" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr "" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr "" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr "" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr "" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr "" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr "" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr "" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr "" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr "" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr "" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr "" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr "" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr "" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr "" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr "" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr "" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr "" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -555,43 +575,47 @@ msgid "" " -V, --version report %s version\n" msgstr "" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "" @@ -664,24 +688,24 @@ msgstr "" msgid "iteration value must be positive" msgstr "" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" @@ -695,14 +719,27 @@ msgstr "" msgid "unrecognized '%' directive" msgstr "" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "" + #: scan.l:284 msgid "Unmatched '{'" msgstr "" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -762,27 +799,27 @@ msgstr "" msgid "Usage: %s [OPTIONS]...\n" msgstr "" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "" diff --git a/external/bsd/flex/dist/po/fr.po b/external/bsd/flex/dist/po/fr.po index 99a6cf14f..ec9a51884 100644 --- a/external/bsd/flex/dist/po/fr.po +++ b/external/bsd/flex/dist/po/fr.po @@ -1,36 +1,53 @@ -# Messages français pour Flex. -# Copyright © 2004 Free Software Foundation, Inc. +# Messages français pour Flex. +# Copyright © 2008 The Flex Project (msgids) # Michel Robitaille , traducteur depuis/since 1996, depuis mars 2002 pour flex. # -# Marc Baudoin , 1996, traducteur jusqu'en mars 2002 +# François-Xavier Coudert , 2008. +# Marc Baudoin , 1996, traducteur jusqu'en mars 2002. # Dominique Boucher , 1996. # msgid "" msgstr "" -"Project-Id-Version: flex 2.5.31\n" +"Project-Id-Version: flex 2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" -"PO-Revision-Date: 2004-05-10 08:00-0500\n" -"Last-Translator: Michel Robitaille \n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" +"PO-Revision-Date: 2008-03-29 18:00+0000\n" +"Last-Translator: François-Xavier Coudert \n" "Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" -msgstr "L'état n° %d n'accepte pas -\n" +msgstr "L'état n° %d n'accepte pas -\n" #: dfa.c:124 msgid "dangerous trailing context" -msgstr "le contexte traîné est dangereux" +msgstr "le contexte traîné est dangereux" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" -msgstr " numéros de ligne associés à la règle :" +msgstr " numéros de ligne associés à la règle :" #: dfa.c:202 #, c-format @@ -48,7 +65,7 @@ msgstr "" #: dfa.c:341 msgid "consistency check failed in epsclosure()" -msgstr "le contrôle de cohérence a échoué dans epsclosure()" +msgstr "le contrôle de cohérence a échoué dans epsclosure()" #: dfa.c:429 msgid "" @@ -64,20 +81,20 @@ msgstr "" #: dfa.c:604 msgid "could not create unique end-of-buffer state" -msgstr "impossible de créer un seul état de fin de tampon" +msgstr "impossible de créer un seul état de fin de tampon" #: dfa.c:625 #, c-format msgid "state # %d:\n" -msgstr "état n° %d :\n" +msgstr "état n° %d :\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" -msgstr "ne peut écrire yynxt_tbl[][]" +msgstr "ne peut écrire yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" -msgstr "mauvais caractère de transition détecté dans sympartition()" +msgstr "mauvais caractère de transition détecté dans sympartition()" #: gen.c:478 msgid "" @@ -88,30 +105,30 @@ msgid "" msgstr "" "\n" "\n" -"Classes d'Équivalence :\n" +"Classes d'Équivalence :\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 #, c-format msgid "state # %d accepts: [%d]\n" -msgstr "l'état n° %d accepte : [%d]\n" +msgstr "l'état n° %d accepte : [%d]\n" #: gen.c:1110 #, c-format msgid "state # %d accepts: " -msgstr "l'état n° %d accepte : " +msgstr "l'état n° %d accepte : " #: gen.c:1157 msgid "Could not write yyacclist_tbl" -msgstr "Ne peut écrire yyacclist_tbl" +msgstr "Ne peut écrire yyacclist_tbl" #: gen.c:1233 msgid "Could not write yyacc_tbl" -msgstr "ne peut écrire yyacc_tbl" +msgstr "ne peut écrire yyacc_tbl" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" -msgstr "ne peut écrire ecstbl" +msgstr "ne peut écrire ecstbl" #: gen.c:1271 msgid "" @@ -121,69 +138,69 @@ msgid "" msgstr "" "\n" "\n" -"Classes de Méta-Équivalence :\n" +"Classes de Méta-Équivalence :\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" -msgstr "ne peut écire yymeta_tbl" +msgstr "ne peut écire yymeta_tbl" #: gen.c:1354 msgid "Could not write yybase_tbl" -msgstr "ne peut écrire yybase_tbl" +msgstr "ne peut écrire yybase_tbl" #: gen.c:1388 msgid "Could not write yydef_tbl" -msgstr "ne peut écrire yydef_tbl" +msgstr "ne peut écrire yydef_tbl" #: gen.c:1428 msgid "Could not write yynxt_tbl" -msgstr "ne peut écrire yynxt_tbl" +msgstr "ne peut écrire yynxt_tbl" #: gen.c:1464 msgid "Could not write yychk_tbl" -msgstr "ne peut écrire yychk_tbl" +msgstr "ne peut écrire yychk_tbl" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" -msgstr "ne peut écrire ftbl" +msgstr "ne peut écrire ftbl" #: gen.c:1624 msgid "Could not write ssltbl" -msgstr "Ne peut écrire ssltbl" +msgstr "Ne peut écrire ssltbl" #: gen.c:1675 msgid "Could not write eoltbl" -msgstr "Ne peut écrire eoltbl" +msgstr "Ne peut écrire eoltbl" #: gen.c:1735 msgid "Could not write yynultrans_tbl" -msgstr "ne peut écrire yynultrnas_tbl" +msgstr "ne peut écrire yynultrnas_tbl" #: main.c:189 msgid "rule cannot be matched" -msgstr "la règle ne peut être pairée" +msgstr "la règle ne peut être pairée" #: main.c:194 msgid "-s option given but default rule can be matched" -msgstr "l'option -s est donnée mais la règle par défaut peut être reconnue" +msgstr "l'option -s est donnée mais la règle par défaut peut être reconnue" #: main.c:234 msgid "Can't use -+ with -l option" -msgstr "L'option -+ ne peut être combinée à -l" +msgstr "L'option -+ ne peut être combinée à -l" #: main.c:237 msgid "Can't use -f or -F with -l option" -msgstr "Les options -f et -F ne peuvent être combinées à -l" +msgstr "Les options -f et -F ne peuvent être combinées à -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" -"Les options --reentrant ou --bison-bridge ne peuvent être combinées à " +"Les options --reentrant ou --bison-bridge ne peuvent être combinées à " "l'option -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" -msgstr "-Cf/-CF et -Cm ne peuvent être spécifiés ensemble" +msgstr "-Cf/-CF et -Cm ne peuvent être spécifiés ensemble" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" @@ -192,7 +209,7 @@ msgstr "-Cf/-CF et -I sont incompatibles" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "" -"l'option -Cf/-CF n'est pas compatible avec le mode de compatibilité « lex »" +"l'option -Cf/-CF n'est pas compatible avec le mode de compatibilité « lex »" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" @@ -200,7 +217,7 @@ msgstr "-Cf et -CF sont mutuellement exclusifs" #: main.c:294 msgid "Can't use -+ with -CF option" -msgstr "L'option -+ ne peut être combinée à -CF" +msgstr "L'option -+ ne peut être combinée à -CF" #: main.c:297 #, c-format @@ -213,312 +230,316 @@ msgstr "Les options +- et --reentrant sont mutuellement exclusives." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." -msgstr "bridge bison n'est pas supporté pour l'analyseur C++" +msgstr "bridge bison n'est pas supporté pour l'analyseur C++" #: main.c:360 main.c:406 #, c-format msgid "could not create %s" -msgstr "impossible de créer %s" +msgstr "impossible de créer %s" #: main.c:419 msgid "could not write tables header" -msgstr "ne peut écrire les tables d'en-tête" +msgstr "ne peut écrire les tables d'en-tête" #: main.c:423 #, c-format msgid "can't open skeleton file %s" msgstr "impossible d'ouvrir le fichier canevas %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "erreur lors de la lecture du fichier canevas %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "erreur lors de la fermeture du fichier canevas %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" -msgstr "erreur de création du fichier d'en-tête %s" +msgstr "erreur de création du fichier d'en-tête %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" -msgstr "erreur lors de l'écriture du fichier de sortie %s" +msgstr "erreur lors de l'écriture du fichier de sortie %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "erreur lors de la fermeture du fichier de sortie %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "erreur lors de l'effacement du fichier de sortie %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" -msgstr "Pas de retour-arrière.\n" +msgstr "Pas de retour-arrière.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" -msgstr "%d états avec retour arrière (non-acceptants).\n" +msgstr "%d états avec retour arrière (non-acceptants).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" -msgstr "Les tables comprimées font toujours des retours-arrière.\n" +msgstr "Les tables comprimées font toujours des retours-arrière.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" -msgstr "erreur lors de l'écriture du fichier de sauvegarde %s" +msgstr "erreur lors de l'écriture du fichier de sauvegarde %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "erreur lors de la fermeture du fichier de sauvegarde %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" -msgstr "« %s » version %s, statistiques d'utilisation :\n" +msgstr "« %s » version %s, statistiques d'utilisation :\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " options de l'analyseur lexical : -" -#: main.c:819 -#, c-format -msgid " %d/%d NFA states\n" -msgstr " %d/%d états NFA\n" - #: main.c:821 #, c-format -msgid " %d/%d DFA states (%d words)\n" -msgstr " %d/%d états AFD (%d mots)\n" +msgid " %d/%d NFA states\n" +msgstr " %d/%d états NFA\n" #: main.c:823 #, c-format -msgid " %d rules\n" -msgstr " %d règles\n" +msgid " %d/%d DFA states (%d words)\n" +msgstr " %d/%d états AFD (%d mots)\n" -#: main.c:828 +#: main.c:825 +#, c-format +msgid " %d rules\n" +msgstr " %d règles\n" + +#: main.c:830 #, c-format msgid " No backing up\n" -msgstr " Pas de retour arrière\n" +msgstr " Pas de retour arrière\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" -msgstr " %d états avec retour arrière (si non-acceptants)\n" +msgstr " %d états avec retour arrière (si non-acceptants)\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" -msgstr " Les tables comprimées font toujours des retours arrière\n" - -#: main.c:841 -#, c-format -msgid " Beginning-of-line patterns used\n" -msgstr " Modèles utilisés en début de ligne\n" +msgstr " Les tables comprimées font toujours des retours arrière\n" #: main.c:843 #, c-format -msgid " %d/%d start conditions\n" -msgstr " %d/%d conditions de départ\n" +msgid " Beginning-of-line patterns used\n" +msgstr " Modèles utilisés en début de ligne\n" -#: main.c:847 +#: main.c:845 +#, c-format +msgid " %d/%d start conditions\n" +msgstr " %d/%d conditions de départ\n" + +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" -msgstr " %d états epsilon, %d états double epsilon\n" +msgstr " %d états epsilon, %d états double epsilon\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" -msgstr " pas de classes de caractères\n" +msgstr " pas de classes de caractères\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" -" %d/%d classes de caractères requises %d/%d mots-mémoire, %d recyclés\n" +" %d/%d classes de caractères requises %d/%d mots-mémoire, %d recyclés\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d paires state/nextstate produites\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" -msgstr " %d/%d transitions uniques/dupliquées\n" +msgstr " %d/%d transitions uniques/dupliquées\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" -msgstr " %d entrées dans la table\n" +msgstr " %d entrées dans la table\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" -msgstr " %d/%d entrées base-def produites\n" +msgstr " %d/%d entrées base-def produites\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" -msgstr " %d/%d (max %d) entrées nxt-chk produites\n" +msgstr " %d/%d (max %d) entrées nxt-chk produites\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" -msgstr " %d/%d (max %d) entrées de modèle nxt-chk produites\n" - -#: main.c:888 -#, c-format -msgid " %d empty table entries\n" -msgstr " %d entrées vides dans la table\n" +msgstr " %d/%d (max %d) entrées de modèle nxt-chk produites\n" #: main.c:890 #, c-format +msgid " %d empty table entries\n" +msgstr " %d entrées vides dans la table\n" + +#: main.c:892 +#, c-format msgid " %d protos created\n" msgstr " %d prototypes produits\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" -msgstr " %d modèles produits, %d usages\n" +msgstr " %d modèles produits, %d usages\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" -msgstr " %d/%d classes d'équivalence produites\n" +msgstr " %d/%d classes d'équivalence produites\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" -msgstr " %d/%d classes de méta-équivalence produites\n" - -#: main.c:915 -#, c-format -msgid " %d (%d saved) hash collisions, %d DFAs equal\n" -msgstr " %d (%d sauvés) collisions durant dispersion, %d AFD égaux\n" +msgstr " %d/%d classes de méta-équivalence produites\n" #: main.c:917 #, c-format -msgid " %d sets of reallocations needed\n" -msgstr " %d ensembles de réallocations requis\n" +msgid " %d (%d saved) hash collisions, %d DFAs equal\n" +msgstr " %d (%d sauvés) collisions durant dispersion, %d AFD égaux\n" #: main.c:919 #, c-format -msgid " %d total table entries needed\n" -msgstr " %d entrées requises dans la table, au total\n" +msgid " %d sets of reallocations needed\n" +msgstr " %d ensembles de réallocations requis\n" -#: main.c:996 +#: main.c:921 +#, c-format +msgid " %d total table entries needed\n" +msgstr " %d entrées requises dans la table, au total\n" + +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" -msgstr "Erreur interne. Les options « flexopts » sont mal composées.\n" +msgstr "Erreur interne. Les options « flexopts » sont mal composées.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" -msgstr "Essayer « %s --help » pour plus d'informations.\n" +msgstr "Essayer « %s --help » pour plus d'informations.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" -msgstr "l'option -C « %c » inconnue" +msgstr "l'option -C « %c » inconnue" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "erreur de lecture fatale" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "" -"impossible de créer le fichier d'information sur les retours-arrière %s" +"impossible de créer le fichier d'information sur les retours-arrière %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" -"L'option -l de compatibilité avec le « lex » d'AT&T entraîne une importante\n" +"L'option -l de compatibilité avec le « lex » d'AT&T entraîne une importante\n" "perte de performance\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" -msgstr " et peuvent être cause d'autres vices de performance observés\n" +msgstr " et peuvent être cause d'autres vices de performance observés\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" -"%%option yylineno entraîne une importante perte de performance SEULEMENT\n" -"sur les règles pouvant concorder avec le caractère de retour de chartiot\n" +"%%option yylineno entraîne une importante perte de performance SEULEMENT\n" +"sur les règles pouvant concorder avec le caractère de retour de chartiot\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" -msgstr "l'option -I (interactif) entraîne une faible perte de performance\n" +msgstr "l'option -I (interactif) entraîne une faible perte de performance\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" -msgstr "yymore() entraîne une faible baisse de performance\n" +msgstr "yymore() entraîne une faible baisse de performance\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" -msgstr "REJECT entraîne une importante baisse de performance\n" +msgstr "REJECT entraîne une importante baisse de performance\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" -"Les règles de contexte traîné variable entraînent une importante baisse de\n" +"Les règles de contexte traîné variable entraînent une importante baisse de\n" "performance\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" -msgstr "REJECT ne peut pas être utilisé avec -f ou -F" +msgstr "REJECT ne peut pas être utilisé avec -f ou -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" -msgstr "%option yylineno ne peut être utilisé avec REJECT" +msgstr "%option yylineno ne peut être utilisé avec REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" -"les règles de contexte traîné variable ne peuvent pas être utilisées avec\n" +"les règles de contexte traîné variable ne peuvent pas être utilisées avec\n" "-f ou -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass n'a de sens qu'avec les analyseurs C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Usage: %s [OPTIONS] [fichier]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -583,118 +604,122 @@ msgid "" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" -"Génération de programmes capables de traiter la concordance de patrons sur " +"Génération de programmes capables de traiter la concordance de patrons sur " "du texte.\n" "\n" "Compression de table:\n" -" -Ca, --align négocier les grandes tables pour un meilleur alignement " -"mémoire\n" -" -Ce, --ecs construire des équivalences de classes\n" -" -Cf ne pas compresser les tables; utiliser la représentation " +" -Ca, --align négocier les grandes tables pour un meilleur alignement " +"mémoire\n" +" -Ce, --ecs construire des équivalences de classes\n" +" -Cf ne pas compresser les tables; utiliser la représentation " "-f\n" -" -CF ne pas compresser les tables; utiliser la représentation " +" -CF ne pas compresser les tables; utiliser la représentation " "-F\n" -" -Cm, --meta-ecs construire des méta-équivalences de classes\n" +" -Cm, --meta-ecs construire des méta-équivalences de classes\n" " -Cr, --read utiliser read() au lieu de stdio pour le scanner " -"d'entrée\n" -" -f, --full générer rapidement, un grand scanner. Identique à -Cfr\n" -" -F, --fast utiliser une table alternative de représentation. " -"Identique à -CFr\n" -" -Cem compression par défaut (identique à --ecs --meta-ecs)\n" +"d'entrée\n" +" -f, --full générer rapidement, un grand scanner. Identique à -Cfr\n" +" -F, --fast utiliser une table alternative de représentation. " +"Identique à -CFr\n" +" -Cem compression par défaut (identique à --ecs --meta-ecs)\n" "\n" -"Mise au point (mode débug):\n" -" -d, --debug permettre le mode débug du scanner\n" +"Mise au point (mode débug):\n" +" -d, --debug permettre le mode débug du scanner\n" " -b, --backup archiver les informations vers %s\n" " -p, --perf-report produire un rapport de performance sur stderr\n" -" -s, --nodefault supprimer les règles par défaut pour\n" +" -s, --nodefault supprimer les règles par défaut pour\n" " le texte non concordant par ECHO\n" -" -T, --trace %s devrait s'exécuter en mode trace\n" -" -w, --nowarn ne pas générer d'avertissements\n" +" -T, --trace %s devrait s'exécuter en mode trace\n" +" -w, --nowarn ne pas générer d'avertissements\n" " -v, --verbose produire des statistiques sommaires du scanner " "sur stdout\n" "\n" "Fichiers:\n" -" -o, --outfile=FICHIER spécifier un nom de fichier de sortie\n" -" -S, --skel=FICHIER spécifier le fichier du squelette\n" +" -o, --outfile=FICHIER spécifier un nom de fichier de sortie\n" +" -S, --skel=FICHIER spécifier le fichier du squelette\n" " -t, --stdout produire le scanner sur stdout au lieu de %s\n" " --yyclass=NOM nom de la classe C++\n" -" --header-file=FICHIER créer le fichier d'en-tête C en plus du " +" --header-file=FICHIER créer le fichier d'en-tête C en plus du " "scanner\n" -" --tables-file[=FICHIER] écrire les tables dans le FICHIER\n" +" --tables-file[=FICHIER] écrire les tables dans le FICHIER\n" "\n" "Comportement du scanner:\n" -" -7, --7bit générer un scanner de 7 bits\n" -" -8, --8bit générer un scanner de 8 bits\n" -" -B, --batch générer un scanner travaillant par lot (contraire " +" -7, --7bit générer un scanner de 7 bits\n" +" -8, --8bit générer un scanner de 8 bits\n" +" -B, --batch générer un scanner travaillant par lot (contraire " "de -I)\n" " -i, --case-insensitive ignorer la casse dans les patrons\n" -" -l, --lex-compat établir une compatibilité maximale avec le lex " +" -l, --lex-compat établir une compatibilité maximale avec le lex " "d'origine\n" -" -X, --posix-compat établir une compatibilité maximale avec le lex de " +" -X, --posix-compat établir une compatibilité maximale avec le lex de " "POSIX\n" -" -I, --interactive générer un scanner interactif (contraire de -B)\n" +" -I, --interactive générer un scanner interactif (contraire de -B)\n" " --yylineno track line count in yylineno\n" "\n" -"Code généré:\n" -" -+, --c++ générer la classe C++ du scanner\n" -" -Dmacro[=def] définition macro #define (par défaut est '1')\n" +"Code généré:\n" +" -+, --c++ générer la classe C++ du scanner\n" +" -Dmacro[=def] définition macro #define (par défaut est '1')\n" " -L, --noline supprimer les directives #line dans le scanner\n" -" -P, --prefix=CHAÎNE utiliser la CHAÎNE comme préfixe au lieu de \"yy" +" -P, --prefix=CHAÃŽNE utiliser la CHAÃŽNE comme préfixe au lieu de \"yy" "\"\n" -" -R, --reentrant générer un scanner C en code réentrant\n" +" -R, --reentrant générer un scanner C en code réentrant\n" " --bison-bridge scanner pour l'analyseur pur bison\n" " --bison-locations inclure le support de yylloc.\n" -" --stdinit initialiser yyin/yyout à stdin/stdout\n" +" --stdinit initialiser yyin/yyout à stdin/stdout\n" " --nounistd ne pas inclure \n" -" --noFONCTION ne pas générer une FONCTION particulière\n" +" --noFONCTION ne pas générer une FONCTION particulière\n" "\n" "Diverses:\n" " -c ne pas traiter une option POSIX\n" " -n ne pas traiter une option POSIX\n" " -?\n" -" -h, --help afficher l'aide-mémoire\n" +" -h, --help afficher l'aide-mémoire\n" " -V, --version afficher la version %s du logiciel\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "le nom \"%s\" est ridiculement long" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" -msgstr "échec d'allocation mémoire dans allocate_array()" +msgstr "échec d'allocation mémoire dans allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" -msgstr "mauvais caractère « %s » détecté dans check_char()" +msgstr "mauvais caractère « %s » détecté dans check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "" -"l'analyseur nécessite l'option -8 pour pouvoir utiliser le caractère %s" +"l'analyseur nécessite l'option -8 pour pouvoir utiliser le caractère %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" -msgstr "échec de mémoire dynamique dans copy_string()" +msgstr "échec de mémoire dynamique dans copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s : erreur interne fatale, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" -msgstr "échec de la tentative d'augmenter la taille du tableau" +msgstr "échec de la tentative d'augmenter la taille du tableau" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "mauvaise ligne dans le fichier canevas" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" -msgstr "échec d'allocation mémoire dans yy_flex_xmalloc()" +msgstr "échec d'allocation mémoire dans yy_flex_xmalloc()" #: nfa.c:104 #, c-format @@ -705,12 +730,12 @@ msgid "" msgstr "" "\n" "\n" -"********** début du vidage de nfa avec %d pour état de départ\n" +"********** début du vidage de nfa avec %d pour état de départ\n" #: nfa.c:115 #, c-format msgid "state # %4d\t" -msgstr "état n° %4d\t" +msgstr "état n° %4d\t" #: nfa.c:130 #, c-format @@ -724,16 +749,16 @@ msgstr "machine vide dans dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" -msgstr "Règle de contexte traîné variable à la ligne %d\n" +msgstr "Règle de contexte traîné variable à la ligne %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" -msgstr "mauvais type d'état dans mark_beginning_as_normal()" +msgstr "mauvais type d'état dans mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" -msgstr "les règles d'entrée sont trop compliquées (>= %d états NFA)" +msgstr "les règles d'entrée sont trop compliquées (>= %d états NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" @@ -742,78 +767,87 @@ msgstr "il y a trop de transitions dans mkxtion()" #: nfa.c:703 #, c-format msgid "too many rules (> %d)!" -msgstr "trop de règles (> %d) !" +msgstr "trop de règles (> %d) !" #: parse.y:159 msgid "unknown error processing section 1" -msgstr "erreur inconnue de traitement à la section 1" +msgstr "erreur inconnue de traitement à la section 1" #: parse.y:184 parse.y:351 msgid "bad start condition list" -msgstr "mauvaise liste de conditions de départ" +msgstr "mauvaise liste de conditions de départ" #: parse.y:315 msgid "unrecognized rule" -msgstr "règle non reconnue" +msgstr "règle non reconnue" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" -msgstr "contexte remorqué utilisé deux fois" +msgstr "contexte remorqué utilisé deux fois" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" -msgstr "valeurs d'itération erronée" +msgstr "valeurs d'itération erronée" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" -msgstr "valeur d'itération doit être positive" +msgstr "valeur d'itération doit être positive" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -"l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " +"l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " "casse" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" -msgstr "plage négative dans la classe de caractères" +msgstr "plage négative dans la classe de caractères" -#: parse.y:918 -#, fuzzy +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" -msgstr "" -"l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " -"casse" +msgstr "[:^lower:] est ambigu pour un scanner insensible à la casse" -#: parse.y:924 -#, fuzzy +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" -msgstr "" -"l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la " -"casse" +msgstr "[:^upper:] est ambigu pour un scanner insensible à la casse" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" -msgstr "ligne d'entrée trop longue\n" +msgstr "ligne d'entrée trop longue\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" -msgstr "directive « %top » mal composée" +msgstr "directive « %top » mal composée" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" -msgstr "directive « % » inconnue" +msgstr "directive « % » inconnue" + +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "ligne d'entrée trop longue\n" #: scan.l:284 msgid "Unmatched '{'" -msgstr "« { » non pairé" +msgstr "« { » non pairé" + +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" #: scan.l:317 msgid "incomplete name definition" -msgstr "définition de nom incomplète" +msgstr "définition de nom incomplète" + +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "ligne d'entrée trop longue\n" #: scan.l:451 #, c-format @@ -822,17 +856,17 @@ msgstr "%%option non-reconnue : %s" #: scan.l:633 scan.l:800 msgid "bad character class" -msgstr "mauvaise classe de caractères" +msgstr "mauvaise classe de caractères" #: scan.l:683 #, c-format msgid "undefined definition {%s}" -msgstr "définition {%s} non-définie" +msgstr "définition {%s} non-définie" #: scan.l:755 #, c-format msgid "bad : %s" -msgstr "mauvaise : %s" +msgstr "mauvaise : %s" #: scan.l:768 msgid "missing quote" @@ -841,29 +875,28 @@ msgstr "guillemet manquant" #: scan.l:834 #, c-format msgid "bad character class expression: %s" -msgstr "mauvaise expression de classe de caractères : %s" +msgstr "mauvaise expression de classe de caractères : %s" #: scan.l:856 msgid "bad character inside {}'s" -msgstr "mauvais caractère entre accolades « {} »" +msgstr "mauvais caractère entre accolades « {} »" #: scan.l:862 msgid "missing }" -msgstr "« } » non-apparié" +msgstr "« } » non-apparié" #: scan.l:940 msgid "EOF encountered inside an action" -msgstr "Fin de fichier rencontrée à l'intérieur d'une action" +msgstr "Fin de fichier rencontrée à l'intérieur d'une action" #: scan.l:945 -#, fuzzy msgid "EOF encountered inside pattern" -msgstr "Fin de fichier rencontrée à l'intérieur d'une action" +msgstr "Fin de fichier rencontrée à l'intérieur d'un modèle" #: scan.l:967 #, c-format msgid "bad character: %s" -msgstr "mauvais caractère : %s" +msgstr "mauvais caractère : %s" #: scan.l:996 #, c-format @@ -875,43 +908,43 @@ msgstr "impossible d'ouvrir %s" msgid "Usage: %s [OPTIONS]...\n" msgstr "Usage: %s [OPTIONS]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" -msgstr "option « %s » ne permet pas d'argument\n" +msgstr "option « %s » ne permet pas d'argument\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" -msgstr "option « %s » requiert un argument\n" +msgstr "option « %s » requiert un argument\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" -msgstr "option « %s » est ambiguë\n" +msgstr "option « %s » est ambiguë\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" -msgstr "option « %s » non reconnue\n" +msgstr "option « %s » non reconnue\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Erreur inconnue=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" -msgstr "échec de l'allocation mémoire de la table des symboles" +msgstr "échec de l'allocation mémoire de la table des symboles" #: sym.c:202 msgid "name defined twice" -msgstr "nom défini deux fois" +msgstr "nom défini deux fois" #: sym.c:253 #, c-format msgid "start condition %s declared twice" -msgstr "condition de départ %s déclarée deux fois" +msgstr "condition de départ %s déclarée deux fois" #: yylex.c:56 msgid "premature EOF" @@ -925,16 +958,16 @@ msgstr "Marqueur de Fin\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" -msgstr "*Très bizarre* - tok : %d val : %d\n" +msgstr "*Très bizarre* - tok : %d val : %d\n" #~ msgid "consistency check failed in symfollowset" -#~ msgstr "le contrôle de cohérence a échoué dans symfollowset()" +#~ msgstr "le contrôle de cohérence a échoué dans symfollowset()" #~ msgid "Can't specify header option if writing to stdout." -#~ msgstr "Ne peut spécifier l'option d'en-tête si en écriture sur stdout" +#~ msgstr "Ne peut spécifier l'option d'en-tête si en écriture sur stdout" #~ msgid "unknown -R option '%c'" -#~ msgstr "le paramètre « %c » de l'option -R est inconnu" +#~ msgstr "le paramètre « %c » de l'option -R est inconnu" #~ msgid "-Cf/-CF and %option yylineno are incompatible" #~ msgstr "-Cf/-CF et %option yylineno sont incompatibles" @@ -947,45 +980,45 @@ msgstr "*Tr #~ "\t%s --help\n" #~ msgid "-P flag must be given separately" -#~ msgstr "l'option -P doit être utilisée séparément" +#~ msgstr "l'option -P doit être utilisée séparément" #~ msgid "-o flag must be given separately" -#~ msgstr "l'option -o doit être utilisée séparément" +#~ msgstr "l'option -o doit être utilisée séparément" #~ msgid "-S flag must be given separately" -#~ msgstr "l'option -S doit être utilisée séparément" +#~ msgstr "l'option -S doit être utilisée séparément" #~ msgid "-C flag must be given separately" -#~ msgstr "L'option -C doit être utilisée séparément" +#~ msgstr "L'option -C doit être utilisée séparément" #~ msgid "" #~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n" #~ msgstr "" -#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osortie -Ppréfixe -Scanevas]\n" +#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osortie -Ppréfixe -Scanevas]\n" #~ msgid "\t[--help --version] [file ...]\n" #~ msgstr "\t[--help --version] [fichier ...]\n" #~ msgid "\t-b generate backing-up information to %s\n" -#~ msgstr "\t-b génère des informations de retour arrière dans %s\n" +#~ msgstr "\t-b génère des informations de retour arrière dans %s\n" #~ msgid "\t-c do-nothing POSIX option\n" #~ msgstr "\t-c option POSIX pour ne rien faire\n" #~ msgid "\t-d turn on debug mode in generated scanner\n" -#~ msgstr "\t-d active le mode de déverminage dans l'analyseur généré\n" +#~ msgstr "\t-d active le mode de déverminage dans l'analyseur généré\n" #~ msgid "\t-f generate fast, large scanner\n" -#~ msgstr "\t-f génère un analyseur rapide et volumineux\n" +#~ msgstr "\t-f génère un analyseur rapide et volumineux\n" #~ msgid "\t-h produce this help message\n" #~ msgstr "\t-h affiche ce message d'aide\n" #~ msgid "\t-i generate case-insensitive scanner\n" -#~ msgstr "\t-i génère un analyseur insensible à la casse\n" +#~ msgstr "\t-i génère un analyseur insensible à la casse\n" #~ msgid "\t-l maximal compatibility with original lex\n" -#~ msgstr "\t-l compatibilité maximale avec le « lex » original\n" +#~ msgstr "\t-l compatibilité maximale avec le « lex » original\n" #~ msgid "\t-n do-nothing POSIX option\n" #~ msgstr "\t-n option POSIX pour ne rien faire\n" @@ -995,26 +1028,26 @@ msgstr "*Tr #~ msgid "\t-s suppress default rule to ECHO unmatched text\n" #~ msgstr "" -#~ "\t-s supprime la règle par défaut qui AFFICHE le texte non reconnu\n" +#~ "\t-s supprime la règle par défaut qui AFFICHE le texte non reconnu\n" #~ msgid "\t-t write generated scanner on stdout instead of %s\n" #~ msgstr "" -#~ "\t-t écrit l'analyseur généré sur la sortie standard au lieu de %s\n" +#~ "\t-t écrit l'analyseur généré sur la sortie standard au lieu de %s\n" #~ msgid "\t-v write summary of scanner statistics to f\n" -#~ msgstr "\t-v écrit un résumé des statistiques de l'analyseur sur f\n" +#~ msgstr "\t-v écrit un résumé des statistiques de l'analyseur sur f\n" #~ msgid "\t-w do not generate warnings\n" -#~ msgstr "\t-w ne génère pas d'avertissements\n" +#~ msgstr "\t-w ne génère pas d'avertissements\n" #~ msgid "\t-B generate batch scanner (opposite of -I)\n" -#~ msgstr "\t-B génère un analyseur non-interactif (inverse de -I)\n" +#~ msgstr "\t-B génère un analyseur non-interactif (inverse de -I)\n" #~ msgid "\t-F use alternative fast scanner representation\n" -#~ msgstr "\t-F produit une représentation plus efficace de l'analyseur\n" +#~ msgstr "\t-F produit une représentation plus efficace de l'analyseur\n" #~ msgid "\t-I generate interactive scanner (opposite of -B)\n" -#~ msgstr "\t-I génère un analyseur interactif (inverse de -B)\n" +#~ msgstr "\t-I génère un analyseur interactif (inverse de -B)\n" #~ msgid "\t-L suppress #line directives in scanner\n" #~ msgstr "\t-L supprime les directives #line dans l'analyseur\n" @@ -1023,60 +1056,60 @@ msgstr "*Tr #~ msgstr "\t-T %s devrait fonctionner en mode trace\n" #~ msgid "\t-V report %s version\n" -#~ msgstr "\t-V indique la version de « %s »\n" +#~ msgstr "\t-V indique la version de « %s »\n" #~ msgid "\t-7 generate 7-bit scanner\n" -#~ msgstr "\t-7 génère un analyseur 7 bits\n" +#~ msgstr "\t-7 génère un analyseur 7 bits\n" #~ msgid "\t-8 generate 8-bit scanner\n" -#~ msgstr "\t-8 génère un analyseur 8 bits\n" +#~ msgstr "\t-8 génère un analyseur 8 bits\n" #~ msgid "\t-+ generate C++ scanner class\n" -#~ msgstr "\t-+ génère un analyseur sous forme de classe C++\n" +#~ msgstr "\t-+ génère un analyseur sous forme de classe C++\n" #~ msgid "\t-? produce this help message\n" #~ msgstr "\t-? affiche ce message d'aide\n" #~ msgid "\t-C specify degree of table compression (default is -Cem):\n" #~ msgstr "" -#~ "\t-C spécifie le degré de compression des tables (-Cem par défaut) :\n" +#~ "\t-C spécifie le degré de compression des tables (-Cem par défaut) :\n" #~ msgid "\t\t-Ca trade off larger tables for better memory alignment\n" #~ msgstr "" #~ "\t\t-Ca produit des tables plus encombrantes pour un meilleur\n" -#~ "alignement en mémoire\n" +#~ "alignement en mémoire\n" #~ msgid "\t\t-Ce construct equivalence classes\n" -#~ msgstr "\t\t-Ce construit des classes d'équivalence\n" +#~ msgstr "\t\t-Ce construit des classes d'équivalence\n" #~ msgid "\t\t-Cf do not compress scanner tables; use -f representation\n" #~ msgstr "" #~ "\t\t-Cf ne comprime pas les tables de l'analyseur ; utilise la " -#~ "représentation -f\n" +#~ "représentation -f\n" #~ msgid "\t\t-CF do not compress scanner tables; use -F representation\n" #~ msgstr "" #~ "\t\t-CF ne comprime pas les tables de l'analyseur ; utilise la " -#~ "représentation -F\n" +#~ "représentation -F\n" #~ msgid "\t\t-Cm construct meta-equivalence classes\n" -#~ msgstr "\t\t-Cm construit des classes de meta-équivalence\n" +#~ msgstr "\t\t-Cm construit des classes de meta-équivalence\n" #~ msgid "\t\t-Cr use read() instead of stdio for scanner input\n" #~ msgstr "" -#~ "\t\t-Cr utilise read() au lieu de stdio pour l'entrée de l'analyseur\n" +#~ "\t\t-Cr utilise read() au lieu de stdio pour l'entrée de l'analyseur\n" #~ msgid "\t-o specify output filename\n" -#~ msgstr "\t-o spécifie le nom du fichier de sortie\n" +#~ msgstr "\t-o spécifie le nom du fichier de sortie\n" #~ msgid "\t-P specify scanner prefix other than \"yy\"\n" -#~ msgstr "\t-P spécifie un préfixe d'analyseur autre que \"yy\"\n" +#~ msgstr "\t-P spécifie un préfixe d'analyseur autre que \"yy\"\n" #~ msgid "\t-S specify skeleton file\n" -#~ msgstr "\t-S spécifie le fichier canevas\n" +#~ msgstr "\t-S spécifie le fichier canevas\n" #~ msgid "\t--help produce this help message\n" #~ msgstr "\t--help affiche ce message d'aide\n" #~ msgid "\t--version report %s version\n" -#~ msgstr "\t--version indique la version de « %s »\n" +#~ msgstr "\t--version indique la version de « %s »\n" diff --git a/external/bsd/flex/dist/po/ga.po b/external/bsd/flex/dist/po/ga.po index 2263fde57..02df88ed8 100644 --- a/external/bsd/flex/dist/po/ga.po +++ b/external/bsd/flex/dist/po/ga.po @@ -1,32 +1,48 @@ # Irish translations for flex. -# Copyright (C) 2003 Free Software Foundation, Inc. -# Kevin Patrick Scannell , 2003, 2006. -# +# Copyright (C) 2008 The Flex Project (msgids) +# This file is distributed under the same license as the flex package. +# Kevin Patrick Scannell , 2003, 2006, 2008. msgid "" msgstr "" -"Project-Id-Version: flex 2.5.33\n" +"Project-Id-Version: flex 2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" -"PO-Revision-Date: 2006-03-05 13:09-0500\n" -"Last-Translator: Kevin Patrick Scannell \n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" +"PO-Revision-Date: 2008-07-23 09:37-0500\n" +"Last-Translator: Kevin Scannell \n" "Language-Team: Irish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" -msgstr "Níl an staid #%d ina staid ghlactha -\n" +msgstr "Níl an staid #%d ina staid ghlactha -\n" #: dfa.c:124 msgid "dangerous trailing context" -msgstr "comhthéacs sraoilleach baolach" +msgstr "comhthéacs sraoilleach baolach" #: dfa.c:166 #, c-format msgid " associated rule line numbers:" -msgstr " líne-uimhreacha de na rialacha bainteacha:" +msgstr " líne-uimhreacha de na rialacha bainteacha:" #: dfa.c:202 #, c-format @@ -41,11 +57,11 @@ msgid "" " jam-transitions: EOF " msgstr "" "\n" -" athruithe plúchta: comhadchríoch " +" athruithe plúchta: comhadchríoch " #: dfa.c:341 msgid "consistency check failed in epsclosure()" -msgstr "theip ar sheiceáil chomhionannais i epsclosure()" +msgstr "theip ar sheiceáil chomhionannais i epsclosure()" #: dfa.c:429 msgid "" @@ -56,12 +72,12 @@ msgid "" msgstr "" "\n" "\n" -"Dumpáil DFA:\n" +"Dumpáil DFA:\n" "\n" #: dfa.c:604 msgid "could not create unique end-of-buffer state" -msgstr "níorbh fhéidir staid shainiúil a chruthú ag deireadh maoláin" +msgstr "níorbh fhéidir staid shainiúil a chruthú ag deireadh maoláin" #: dfa.c:625 #, c-format @@ -70,11 +86,11 @@ msgstr "staid # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" -msgstr "Níorbh fhéidir yynxt_tbl[][] a scríobh" +msgstr "Níorbh fhéidir yynxt_tbl[][] a scríobh" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" -msgstr "carachtar trasdula neamhbhailí i sympartition()" +msgstr "carachtar trasdula neamhbhailí i sympartition()" #: gen.c:478 msgid "" @@ -85,7 +101,7 @@ msgid "" msgstr "" "\n" "\n" -"Aicmí Coibhéise:\n" +"Aicmí Coibhéise:\n" "\n" #: gen.c:662 gen.c:691 gen.c:1215 @@ -100,15 +116,15 @@ msgstr "glacann staid # %d le: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" -msgstr "Níorbh fhéidir yyacclist_tbl a scríobh" +msgstr "Níorbh fhéidir yyacclist_tbl a scríobh" #: gen.c:1233 msgid "Could not write yyacc_tbl" -msgstr "Níorbh fhéidir yyacc_tbl a scríobh" +msgstr "Níorbh fhéidir yyacc_tbl a scríobh" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" -msgstr "Níorbh fhéidir ecstbl a scríobh" +msgstr "Níorbh fhéidir ecstbl a scríobh" #: gen.c:1271 msgid "" @@ -118,77 +134,77 @@ msgid "" msgstr "" "\n" "\n" -"Aicmí Meiteachoibhéise:\n" +"Aicmí Meiteachoibhéise:\n" #: gen.c:1293 msgid "Could not write yymeta_tbl" -msgstr "Níorbh fhéidir yymeta_tbl a scríobh" +msgstr "Níorbh fhéidir yymeta_tbl a scríobh" #: gen.c:1354 msgid "Could not write yybase_tbl" -msgstr "Níorbh fhéidir yybase_tbl a scríobh" +msgstr "Níorbh fhéidir yybase_tbl a scríobh" #: gen.c:1388 msgid "Could not write yydef_tbl" -msgstr "Níorbh fhéidir yydef_tbl a scríobh" +msgstr "Níorbh fhéidir yydef_tbl a scríobh" #: gen.c:1428 msgid "Could not write yynxt_tbl" -msgstr "Níorbh fhéidir yynxt_tbl a scríobh" +msgstr "Níorbh fhéidir yynxt_tbl a scríobh" #: gen.c:1464 msgid "Could not write yychk_tbl" -msgstr "Níorbh fhéidir yychk_tbl a scríobh" +msgstr "Níorbh fhéidir yychk_tbl a scríobh" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" -msgstr "Níorbh fhéidir ftbl a scríobh" +msgstr "Níorbh fhéidir ftbl a scríobh" #: gen.c:1624 msgid "Could not write ssltbl" -msgstr "Níorbh fhéidir ssltbl a scríobh" +msgstr "Níorbh fhéidir ssltbl a scríobh" #: gen.c:1675 msgid "Could not write eoltbl" -msgstr "Níorbh fhéidir eoltbl a scríobh" +msgstr "Níorbh fhéidir eoltbl a scríobh" #: gen.c:1735 msgid "Could not write yynultrans_tbl" -msgstr "Níorbh fhéidir yynultrans_tbl a scríobh" +msgstr "Níorbh fhéidir yynultrans_tbl a scríobh" #: main.c:189 msgid "rule cannot be matched" -msgstr "Ní féidir riail chomhoiriúnach a aimsiú" +msgstr "Ní féidir riail chomhoiriúnach a aimsiú" #: main.c:194 msgid "-s option given but default rule can be matched" msgstr "" -"bhí an rogha -s tugtha ach is féidir an riail réamhshocraithe a chur i " -"gcomhoiriúnacht" +"bhí an rogha -s tugtha ach is féidir an riail réamhshocraithe a chur i " +"gcomhoiriúnacht" #: main.c:234 msgid "Can't use -+ with -l option" -msgstr "Níl -+ ar fáil in éineacht leis an rogha -l" +msgstr "Níl -+ ar fáil in éineacht leis an rogha -l" #: main.c:237 msgid "Can't use -f or -F with -l option" -msgstr "Níl -f nó -F ar fáil in éineacht leis an rogha -l" +msgstr "Níl -f nó -F ar fáil in éineacht leis an rogha -l" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" -msgstr "Níl --reentrant nó --bison-bridge ar fáil in éineacht leis an rogha -l" +msgstr "Níl --reentrant nó --bison-bridge ar fáil in éineacht leis an rogha -l" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" -msgstr "Níl -Cf/-CF agus -Cm comhoiriúnach" +msgstr "Níl -Cf/-CF agus -Cm comhoiriúnach" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" -msgstr "Níl -Cf/-CF agus -I comhoiriúnach" +msgstr "Níl -Cf/-CF agus -I comhoiriúnach" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" -msgstr "Níl -Cf/-CF ar fáil sa mhód comhoiriúnachta lex" +msgstr "Níl -Cf/-CF ar fáil sa mhód comhoiriúnachta lex" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" @@ -196,323 +212,327 @@ msgstr "Is comheisiatach iad na roghanna -Cf agus -CF" #: main.c:294 msgid "Can't use -+ with -CF option" -msgstr "Níl -+ ar fáil in éineacht leis an rogha -CF" +msgstr "Níl -+ ar fáil in éineacht leis an rogha -CF" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" -msgstr "níl %array comhoiriúnach leis an rogha -+" +msgstr "níl %array comhoiriúnach leis an rogha -+" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." -msgstr "Is comheisiatach iad na roghanna -+ agus --reentrant" +msgstr "Is comheisiatach iad na roghanna -+ agus --reentrant." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." -msgstr "níl bison bridge ar fáil don scanóir C++." +msgstr "níl bison bridge ar fáil don scanóir C++." #: main.c:360 main.c:406 #, c-format msgid "could not create %s" -msgstr "níorbh fhéidir %s a chruthú" +msgstr "níorbh fhéidir %s a chruthú" #: main.c:419 msgid "could not write tables header" -msgstr "níorbh fhéidir ceanntásc táblaí a scríobh" +msgstr "níorbh fhéidir ceanntásc táblaí a scríobh" #: main.c:423 #, c-format msgid "can't open skeleton file %s" -msgstr "ní féidir creatchomhad %s a oscailt" +msgstr "ní féidir creatchomhad %s a oscailt" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" -msgstr "earráid agus creatchomhaid %s á léamh" +msgstr "earráid agus creatchomhaid %s á léamh" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" -msgstr "earráid agus creatchomhaid %s á dhúnadh" +msgstr "earráid agus creatchomhaid %s á dhúnadh" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" -msgstr "earráid agus comhad ceanntáisc %s á chruthú" +msgstr "earráid agus comhad ceanntáisc %s á chruthú" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" -msgstr "earráid agus aschomhaid %s á scríobh" +msgstr "earráid agus aschomhaid %s á scríobh" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" -msgstr "earráid agus aschomhad %s á dhúnadh" +msgstr "earráid agus aschomhad %s á dhúnadh" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" -msgstr "earráid agus aschomhaid %s á scriosadh" +msgstr "earráid agus aschomhaid %s á scriosadh" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" -msgstr "Ná cúlaítear.\n" +msgstr "Ná cúlaítear.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" -msgstr "%d staid chúlaithe (níl ina staid ghlactha).\n" +msgstr "%d staid chúlaithe (níl ina staid ghlactha).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" -msgstr "Cúlaíonn táblaí comhbhrúite i gcónaí.\n" +msgstr "Cúlaíonn táblaí comhbhrúite i gcónaí.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" -msgstr "earráid agus comhad cúltaca %s á scríobh" +msgstr "earráid agus comhad cúltaca %s á scríobh" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" -msgstr "earráid agus comhad cúltaca %s á dhúnadh" +msgstr "earráid agus comhad cúltaca %s á dhúnadh" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" -msgstr "%s leagan %s staitistic d'úsáid:\n" +msgstr "%s leagan %s staitistic d'úsáid:\n" -# fr uses "lexical analyzer"; scanóir seems fine though --KPS -#: main.c:740 +# fr uses "lexical analyzer"; scanóir seems fine though --KPS +#: main.c:742 #, c-format msgid " scanner options: -" -msgstr " roghanna don scanóir: -" +msgstr " roghanna don scanóir: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d staid NFA\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d staid DFA (%d focal)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d riail\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" -msgstr " Ná cúlaítear\n" +msgstr " Ná cúlaítear\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" -msgstr " %d staid chúlaithe (níl ina staid ghlactha)\n" +msgstr " %d staid chúlaithe (níl ina staid ghlactha)\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" -msgstr " Cúlaíonn táblaí comhbhrúite i gcónaí\n" - -#: main.c:841 -#, c-format -msgid " Beginning-of-line patterns used\n" -msgstr " Patrúin úsáidte ag ceann líne\n" +msgstr " Cúlaíonn táblaí comhbhrúite i gcónaí\n" #: main.c:843 #, c-format -msgid " %d/%d start conditions\n" -msgstr " %d/%d coinníoll tosaigh\n" +msgid " Beginning-of-line patterns used\n" +msgstr " Patrúin úsáidte ag ceann líne\n" -#: main.c:847 +#: main.c:845 +#, c-format +msgid " %d/%d start conditions\n" +msgstr " %d/%d coinníoll tosaigh\n" + +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" -msgstr " %d staid eipsealóin, %d staid eipsealóin dúbailte\n" +msgstr " %d staid eipsealóin, %d staid eipsealóin dúbailte\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" -msgstr " níl aon aicme charachtair\n" +msgstr " níl aon aicme charachtair\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" -" tá gá le %d/%d aicme charachtair %d/%d focal stórála, %d athúsáidte\n" +" tá gá le %d/%d aicme charachtair %d/%d focal stórála, %d athúsáidte\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" -msgstr " %d péire state/nextstate\n" +msgstr " %d péire state/nextstate\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" -msgstr " %d/%d athrú sainiúil/dúblach\n" +msgstr " %d/%d athrú sainiúil/dúblach\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" -msgstr " %d iontráil sa tábla\n" +msgstr " %d iontráil sa tábla\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" -msgstr " %d/%d iontráil base-def\n" +msgstr " %d/%d iontráil base-def\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" -msgstr " %d/%d (buaic %d) iontráil nxt-chk\n" +msgstr " %d/%d (buaic %d) iontráil nxt-chk\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" -msgstr " %d/%d (buaic %d) iontráil teimpléid nxt-chk\n" - -#: main.c:888 -#, c-format -msgid " %d empty table entries\n" -msgstr " %d iontráil tábla folamh\n" +msgstr " %d/%d (buaic %d) iontráil teimpléid nxt-chk\n" #: main.c:890 #, c-format -msgid " %d protos created\n" -msgstr " %d fréamhshamhail\n" +msgid " %d empty table entries\n" +msgstr " %d iontráil tábla folamh\n" -#: main.c:893 +#: main.c:892 +#, c-format +msgid " %d protos created\n" +msgstr " %d fréamhshamhail\n" + +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" -msgstr " %d teimpléad, %d i bhfeidhm\n" +msgstr " %d teimpléad, %d i bhfeidhm\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" -msgstr " %d/%d aicme choibhéise\n" +msgstr " %d/%d aicme choibhéise\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" -msgstr " %d/%d aicme mheiteachoibhéise\n" - -#: main.c:915 -#, c-format -msgid " %d (%d saved) hash collisions, %d DFAs equal\n" -msgstr " %d (%d sábháilte) tuairt haiseála, %d DFA comhionann le chéile\n" +msgstr " %d/%d aicme mheiteachoibhéise\n" #: main.c:917 #, c-format -msgid " %d sets of reallocations needed\n" -msgstr " tá gá le %d sraith athdháilte\n" +msgid " %d (%d saved) hash collisions, %d DFAs equal\n" +msgstr " %d (%d sábháilte) tuairt haiseála, %d DFA comhionann le chéile\n" #: main.c:919 #, c-format -msgid " %d total table entries needed\n" -msgstr " tá gá le %d iontráil tábla ar fad\n" +msgid " %d sets of reallocations needed\n" +msgstr " tá gá le %d sraith athdháilte\n" -#: main.c:996 +#: main.c:921 +#, c-format +msgid " %d total table entries needed\n" +msgstr " tá gá le %d iontráil tábla ar fad\n" + +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" -msgstr "Earráid inmheánach (flexopts míchumtha).\n" +msgstr "Earráid inmheánach (flexopts míchumtha).\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" -msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n" +msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "rogha -C anaithnid '%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" -msgstr "earráid pharsála mharfach" +msgstr "earráid pharsála mharfach" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" -msgstr "níorbh fhéidir comhad %s a chruthú don eolas faoin chúlú" +msgstr "níorbh fhéidir comhad %s a chruthú don eolas faoin chúlú" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" -msgstr "is cúis le moilliú mór an rogha -l (comhoiriúnacht le AT&T lex)\n" +msgstr "is cúis le moilliú mór an rogha -l (comhoiriúnacht le AT&T lex)\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" -msgstr " agus is féidir gur cúis é le fadhbanna luais eile é\n" +msgstr " agus is féidir gur cúis é le fadhbanna luais eile é\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" -"is cúis le moilliú mór an %%rogha yylineno, MÁ tá rialacha ann le línte nua " +"is cúis le moilliú mór an %%rogha yylineno, Mà tá rialacha ann le línte nua " "iontu\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" -msgstr "is cúis le moilliú beag an rogha -I (idirghníomhach)\n" +msgstr "is cúis le moilliú beag an rogha -I (idirghníomhach)\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" -msgstr "is cúis le moilliú beag an fheidhm yymore()\n" +msgstr "is cúis le moilliú beag an fheidhm yymore()\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" -msgstr "is REJECT cúis le moilliú mór\n" +msgstr "is REJECT cúis le moilliú mór\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" -"is cúis le moilliú na rialacha maidir le comhthéacs sraoilleach " +"is cúis le moilliú na rialacha maidir le comhthéacs sraoilleach " "athraitheach\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" -msgstr "Níl REJECT ar fáil leis na roghanna -f nó -F" +msgstr "Níl REJECT ar fáil leis na roghanna -f nó -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" -msgstr "níl %option yylineno ar fáil le REJECT" +msgstr "níl %option yylineno ar fáil le REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" -"níl rialacha maidir le comhthéacs sraoilleach athraitheach ar fáil le -f nó -" +"níl rialacha maidir le comhthéacs sraoilleach athraitheach ar fáil le -f nó -" "F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" -msgstr "tá an %option yyclass gan bhrí ach amháin le scanóirí C++" +msgstr "tá an %option yyclass gan bhrí ach amháin le scanóirí C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" -msgstr "Úsáid: %s [ROGHANNA] [COMHAD]...\n" +msgstr "Úsáid: %s [ROGHANNA] [COMHAD]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -577,109 +597,113 @@ msgid "" " -h, --help produce this help message\n" " -V, --version report %s version\n" msgstr "" -"Gineann an clár seo cláir eile le haghaidh chomhoiriúnú de phatrúin.\n" +"Gineann an clár seo cláir eile le haghaidh chomhoiriúnú de phatrúin.\n" "\n" -"Comhfháscadh táblaí:\n" -" -Ca, --align malartaigh táblaí níos mó d'ailíniú cuimhne níos fearr\n" -" -Ce, --ecs déan aicmí coibhéise\n" -" -Cf ná comhbhrúigh táblaí; bain úsáid as léiriú -f\n" -" -CF ná comhbhrúigh táblaí; bain úsáid as léiriú -F\n" -" -Cm, --meta-ecs déan aicmí meiteachoibhéise\n" -" -Cr, --read bain úsáid as read() in ionad stdio d'ionchur\n" -" -f, --full tóg scanóir atá mear agus mór; ar comhbhrí le -Cfr\n" -" -F, --fast úsáid léiriú táblaí tánaisteach; ar comhbhrí le -CFr\n" -" -Cem comhfháscadh réamhshocraithe (== --ecs --meta-ecs)\n" +"Comhfháscadh táblaí:\n" +" -Ca, --align malartaigh táblaí níos mó d'ailíniú cuimhne níos fearr\n" +" -Ce, --ecs déan aicmí coibhéise\n" +" -Cf ná comhbhrúigh táblaí; bain úsáid as léiriú -f\n" +" -CF ná comhbhrúigh táblaí; bain úsáid as léiriú -F\n" +" -Cm, --meta-ecs déan aicmí meiteachoibhéise\n" +" -Cr, --read bain úsáid as read() in ionad stdio d'ionchur\n" +" -f, --full tóg scanóir atá mear agus mór; ar comhbhrí le -Cfr\n" +" -F, --fast úsáid léiriú táblaí tánaisteach; ar comhbhrí le -CFr\n" +" -Cem comhfháscadh réamhshocraithe (== --ecs --meta-ecs)\n" "\n" -"Dífhabhtú:\n" -" -d, --debug cuir dífhabhtú ar obair\n" -" -b, --backup scríobh eolas faoin chúlú chuig %s\n" -" -p, --perf-report scríobh tuairisc fheidhmithe chuig stderr\n" -" -s, --nodefault ná déan macalla de théacs neamh-chomhoiriúnach\n" -" -T, --trace ba chóir do %s a rith sa mhód loirg\n" -" -w, --nowarn ná taispeáin rabhaidh\n" -" -v, --verbose taispeáin achoimre ar staitistic scanóra chuig " +"Dífhabhtú:\n" +" -d, --debug cuir dífhabhtú ar obair\n" +" -b, --backup scríobh eolas faoin chúlú chuig %s\n" +" -p, --perf-report scríobh tuairisc fheidhmithe chuig stderr\n" +" -s, --nodefault ná déan macalla de théacs neamh-chomhoiriúnach\n" +" -T, --trace ba chóir do %s a rith sa mhód loirg\n" +" -w, --nowarn ná taispeáin rabhaidh\n" +" -v, --verbose taispeáin achoimre ar staitistic scanóra chuig " "stdout\n" "\n" "Comhaid:\n" " -o, --outfile=COMHAD roghnaigh ainm comhaid le haghaidh aschuir\n" " -S, --skel=COMHAD roghnaigh creatchomhad\n" -" -t, --stdout scríobh an scanóir chuig stdout in ionad %s\n" +" -t, --stdout scríobh an scanóir chuig stdout in ionad %s\n" " --yyclass=COMHAD ainm de `class' C++\n" -" --header-file=COMHAD scríobh comhad ceanntáisc C i dteannta an " -"scanóra\n" -" --tables-file[=COMHAD] scríobh na táblaí chuig COMHAD\n" +" --header-file=COMHAD scríobh comhad ceanntáisc C i dteannta an " +"scanóra\n" +" --tables-file[=COMHAD] scríobh na táblaí chuig COMHAD\n" "\n" -"Scanóir:\n" -" -7, --7bit gin scanóir 7-giotán\n" -" -8, --8bit gin scanóir 8-giotán\n" -" -B, --batch gin scanóir baisce (i gcodarsnacht le -I)\n" -" -i, --case-insensitive déan neamhshuim ar cheannlitreacha/litreacha " +"Scanóir:\n" +" -7, --7bit gin scanóir 7-giotán\n" +" -8, --8bit gin scanóir 8-giotán\n" +" -B, --batch gin scanóir baisce (i gcodarsnacht le -I)\n" +" -i, --case-insensitive déan neamhshuim ar cheannlitreacha/litreacha " "beaga\n" -" -l, --lex-compat comhoiriúnacht le lex bunúsach, a mhéad is féidir\n" -" -X, --posix-compat comhoiriúnacht le lex POSIX, a mhéad is féidir\n" -" -I, --interactive gin scanóir idirghníomhach (i gcodarsnacht le -B)\n" -" --yylineno coimeád líon na línte i yylineno\n" +" -l, --lex-compat comhoiriúnacht le lex bunúsach, a mhéad is féidir\n" +" -X, --posix-compat comhoiriúnacht le lex POSIX, a mhéad is féidir\n" +" -I, --interactive gin scanóir idirghníomhach (i gcodarsnacht le -B)\n" +" --yylineno coimeád líon na línte i yylineno\n" "\n" "Generated code:\n" -" -+, --c++ gin scanóir mar class C++\n" -" -Dmacra[=sain] #define macra sain (réamhshocrú: sain='1')\n" -" -L, --noline ná cuir treoracha #line sa scanóir\n" -" -P, --prefix=TEAGHRÁN úsáid TEAGHRÁN mar réimír in ionad \"yy\"\n" -" -R, --reentrant gin scanóir reentrant C\n" -" --bison-bridge scanóir do pharsálaí íon bison.\n" -" --bison-locations ceadaigh an úsáid de yylloc.\n" +" -+, --c++ gin scanóir mar class C++\n" +" -Dmacra[=sain] #define macra sain (réamhshocrú: sain='1')\n" +" -L, --noline ná cuir treoracha #line sa scanóir\n" +" -P, --prefix=TEAGHRÃN úsáid TEAGHRÃN mar réimír in ionad \"yy\"\n" +" -R, --reentrant gin scanóir reentrant C\n" +" --bison-bridge scanóir do pharsálaí íon bison.\n" +" --bison-locations ceadaigh an úsáid de yylloc.\n" " --stdinit socraigh yyin/yyout mar stdin/stdout faoi seach\n" -" --noansi-definitions sainmhíniú d'fheidhmeanna ar an sean-nós\n" -" --noansi-prototypes ceadaigh liosta folamh de pharaiméadair\n" -" --nounistd ná cuir san áireamh\n" -" --noFEIDHM ná gin an FHEIDHM seo\n" +" --noansi-definitions sainmhíniú d'fheidhmeanna ar an sean-nós\n" +" --noansi-prototypes ceadaigh liosta folamh de pharaiméadair\n" +" --nounistd ná cuir san áireamh\n" +" --noFEIDHM ná gin an FHEIDHM seo\n" "\n" "Miscellaneous:\n" " -c rogha POSIX gan feidhm\n" " -n rogha POSIX gan feidhm\n" " -?\n" -" -h, --help taispeáin an chabhair seo\n" -" -V, --version taispeáin leagan %s\n" +" -h, --help taispeáin an chabhair seo\n" +" -V, --version taispeáin leagan %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" -msgstr "tá an t-ainm \"%s\" i bhfad Éireann rófhada" +msgstr "tá an t-ainm \"%s\" i bhfad Éireann rófhada" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" -msgstr "theip ar dháileadh na cuimhne i allocate_array()" +msgstr "theip ar dháileadh na cuimhne i allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" -msgstr "aimsíodh carachtar neamhbhailí '%s' i check_char()" +msgstr "aimsíodh carachtar neamhbhailí '%s' i check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" -msgstr "ní foláir an rogha -8 chun an charachtair %s a úsáid" +msgstr "ní foláir an rogha -8 chun an charachtair %s a úsáid" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" -msgstr "theip ar dháileadh na cuimhne i copy_string()" +msgstr "theip ar dháileadh na cuimhne i copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" -msgstr "%s: earráid inmheánach mharfach, %s\n" +msgstr "%s: earráid inmheánach mharfach, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" -msgstr "theip ar mhéadú an eagair" +msgstr "theip ar mhéadú an eagair" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" -msgstr "drochlíne i gcreatchomhad" +msgstr "drochlíne i gcreatchomhad" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" -msgstr "theip ar dháileadh na cuimhne i yy_flex_xmalloc()" +msgstr "theip ar dháileadh na cuimhne i yy_flex_xmalloc()" #: nfa.c:104 #, c-format @@ -690,7 +714,7 @@ msgid "" msgstr "" "\n" "\n" -"********** ag tosú dumpála de nfa le staid tosaigh %d\n" +"********** ag tosú dumpála de nfa le staid tosaigh %d\n" #: nfa.c:115 #, c-format @@ -700,16 +724,16 @@ msgstr "staid # %4d\t" #: nfa.c:130 #, c-format msgid "********** end of dump\n" -msgstr "********** i ndeireadh dumpála\n" +msgstr "********** i ndeireadh dumpála\n" #: nfa.c:174 msgid "empty machine in dupmachine()" -msgstr "meaisín folamh i dupmachine()" +msgstr "meaisín folamh i dupmachine()" #: nfa.c:240 #, c-format msgid "Variable trailing context rule at line %d\n" -msgstr "riail maidir le comhthéacs sraoilleach athraitheach ag líne %d\n" +msgstr "riail maidir le comhthéacs sraoilleach athraitheach ag líne %d\n" #: nfa.c:353 msgid "bad state type in mark_beginning_as_normal()" @@ -718,7 +742,7 @@ msgstr "drochstaid i mark_beginning_as_normal()" #: nfa.c:598 #, c-format msgid "input rules are too complicated (>= %d NFA states)" -msgstr "is róchasta na rialacha ionchuir (>= %d staid NFA)" +msgstr "is róchasta na rialacha ionchuir (>= %d staid NFA)" #: nfa.c:677 msgid "found too many transitions in mkxtion()" @@ -731,11 +755,11 @@ msgstr "an iomarca rialacha (> %d)!" #: parse.y:159 msgid "unknown error processing section 1" -msgstr "earráid anaithnid agus an chéad pháirt á próiseáil" +msgstr "earráid anaithnid agus an chéad pháirt á próiseáil" #: parse.y:184 parse.y:351 msgid "bad start condition list" -msgstr "is neamhbhailí liosta na coinníollacha tosaigh" +msgstr "is neamhbhailí liosta na coinníollacha tosaigh" #: parse.y:315 msgid "unrecognized rule" @@ -743,62 +767,75 @@ msgstr "riail anaithnid" #: parse.y:434 parse.y:447 parse.y:516 msgid "trailing context used twice" -msgstr "baineadh úsáid as comhthéacs sraoilleach faoi dhó" +msgstr "baineadh úsáid as comhthéacs sraoilleach faoi dhó" #: parse.y:552 parse.y:562 parse.y:635 parse.y:645 msgid "bad iteration values" -msgstr "luachanna timthrialla neamhbhailí" +msgstr "luachanna timthrialla neamhbhailí" #: parse.y:580 parse.y:598 parse.y:663 parse.y:681 msgid "iteration value must be positive" -msgstr "ní foláir luach timthrialla deimhneach" +msgstr "ní foláir luach timthrialla deimhneach" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -"tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " +"tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " "cheannlitreacha agus litreacha beaga" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" -msgstr "raon diúltach in aicme charachtair" +msgstr "raon diúltach in aicme charachtair" -#: parse.y:918 -#, fuzzy +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" -"tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " -"cheannlitreacha agus litreacha beaga" +"tá [:^lower:] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha " +"agus litreacha beaga" -#: parse.y:924 -#, fuzzy +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" -"tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar " -"cheannlitreacha agus litreacha beaga" +"tá [:^upper:] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha " +"agus litreacha beaga" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" -msgstr "Tá líne an ionchuir rófhada\n" +msgstr "Tá líne an ionchuir rófhada\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" -msgstr "treoir '%top' míchumtha" +msgstr "treoir '%top' míchumtha" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" msgstr "treoir '%' anaithnid" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "Tá líne an ionchuir rófhada\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' corr" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" -msgstr "is neamhiomlán an sainmhíniú ainm" +msgstr "is neamhiomlán an sainmhíniú ainm" + +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "Tá líne an ionchuir rófhada\n" #: scan.l:451 #, c-format @@ -807,17 +844,17 @@ msgstr "rogha %% anaithnid: %s" #: scan.l:633 scan.l:800 msgid "bad character class" -msgstr "aicme charachtair neamhbhailí" +msgstr "aicme charachtair neamhbhailí" #: scan.l:683 #, c-format msgid "undefined definition {%s}" -msgstr "sainmhíniú neamhshainithe {%s}" +msgstr "sainmhíniú neamhshainithe {%s}" #: scan.l:755 #, c-format msgid "bad : %s" -msgstr " neamhbhailí: %s" +msgstr " neamhbhailí: %s" #: scan.l:768 msgid "missing quote" @@ -826,11 +863,11 @@ msgstr "comhartha athfhriotal ar iarraidh" #: scan.l:834 #, c-format msgid "bad character class expression: %s" -msgstr "is neamhbhailí an slonn aicme carachtair: %s" +msgstr "is neamhbhailí an slonn aicme carachtair: %s" #: scan.l:856 msgid "bad character inside {}'s" -msgstr "carachtar neamhbhailí idir {}" +msgstr "carachtar neamhbhailí idir {}" #: scan.l:862 msgid "missing }" @@ -838,69 +875,68 @@ msgstr "} ar iarraidh." #: scan.l:940 msgid "EOF encountered inside an action" -msgstr "Buaileadh comhadchríoch isteach i ngníomh" +msgstr "Buaileadh comhadchríoch isteach i ngníomh" #: scan.l:945 -#, fuzzy msgid "EOF encountered inside pattern" -msgstr "Buaileadh comhadchríoch isteach i ngníomh" +msgstr "Buaileadh comhadchríoch isteach i bpatrún" #: scan.l:967 #, c-format msgid "bad character: %s" -msgstr "carachtar neamhbhailí: %s" +msgstr "carachtar neamhbhailí: %s" #: scan.l:996 #, c-format msgid "can't open %s" -msgstr "ní féidir %s a oscailt" +msgstr "ní féidir %s a oscailt" #: scanopt.c:291 #, c-format msgid "Usage: %s [OPTIONS]...\n" -msgstr "Úsáid: %s [ROGHANNA]...\n" +msgstr "Úsáid: %s [ROGHANNA]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" -msgstr "ní cheadaítear argóint i ndiaidh na rogha `%s'\n" +msgstr "ní cheadaítear argóint i ndiaidh na rogha `%s'\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" -msgstr "tá argóint de dhíth i ndiaidh na rogha `%s'\n" +msgstr "tá argóint de dhíth i ndiaidh na rogha `%s'\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" -msgstr "tá an rogha `%s' débhríoch\n" +msgstr "tá an rogha `%s' débhríoch\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Rogha anaithnid `%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" -msgstr "Earráid anaithnid=(%d)\n" +msgstr "Earráid anaithnid=(%d)\n" #: sym.c:100 msgid "symbol table memory allocation failed" -msgstr "theip ar dháileadh na cuimhne don tábla siombalach" +msgstr "theip ar dháileadh na cuimhne don tábla siombalach" #: sym.c:202 msgid "name defined twice" -msgstr "sainmhíníodh an t-ainm faoi dhó" +msgstr "sainmhíníodh an t-ainm faoi dhó" #: sym.c:253 #, c-format msgid "start condition %s declared twice" -msgstr "fógraíodh an coinníoll tosaigh %s faoi dhó" +msgstr "fógraíodh an coinníoll tosaigh %s faoi dhó" #: yylex.c:56 msgid "premature EOF" -msgstr "comhadchríoch gan choinne" +msgstr "comhadchríoch gan choinne" #: yylex.c:198 #, c-format @@ -910,7 +946,7 @@ msgstr "Comhartha Deiridh\n" #: yylex.c:204 #, c-format msgid "*Something Weird* - tok: %d val: %d\n" -msgstr "*Rud Éigin Aisteach* - tok: %d val: %d\n" +msgstr "*Rud Éigin Aisteach* - tok: %d val: %d\n" #~ msgid "consistency check failed in symfollowset" -#~ msgstr "theip ar sheiceáil chomhionannais i symfollowset" +#~ msgstr "theip ar sheiceáil chomhionannais i symfollowset" diff --git a/external/bsd/flex/dist/po/ko.po b/external/bsd/flex/dist/po/ko.po index db46f2941..37a268edb 100644 --- a/external/bsd/flex/dist/po/ko.po +++ b/external/bsd/flex/dist/po/ko.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.2\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 1997-02-05 20:30\n" "Last-Translator: Choi Jun Ho \n" "Language-Team: Korean \n" @@ -14,6 +14,22 @@ msgstr "" "Content-Type: text/plain; charset=EUC-KR\n" "Content-Transfer-Encoding: 8-bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -71,7 +87,7 @@ msgstr " msgid "Could not write yynxt_tbl[][]" msgstr "" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "sympartition()¿¡¼­ À߸øµÈ ÀüÀÌ ¹®ÀÚ¸¦ ã¾Ò½À´Ï´Ù" @@ -230,288 +246,292 @@ msgstr "%s msgid "can't open skeleton file %s" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ Àд µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:694 +#: main.c:696 #, fuzzy, c-format msgid "error creating header file %s" msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ ¾²´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ Áö¿ì´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s ¹öÀü %s »ç¿ë Åë°è:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " ½ºÄ³³Ê ¿É¼Ç: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d°³ÀÇ NFA »óÅÂ\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d°³ÀÇ DFA »óÅ (%d ´Ü¾î)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d°³ÀÇ ±ÔÄ¢\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Çà ½ÃÀÛ(beginning-of-line) À¯ÇüÀ» »ç¿ëÇÏ¿´½À´Ï´Ù\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d°³ÀÇ ½ÃÀÛÁ¶°Ç\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d°³ÀÇ ¿¦½Ç·Ð »óÅÂ, %d°³ÀÇ ÀÌÁß ¿¦½Ç·Ð »óÅÂ\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d ¹®ÀÚ ÁýÇÕ¿¡ %d/%d°³ÀÇ ÀúÀå¿ë ¹®ÀÚ°¡ ÇÊ¿äÇß°í, %d°³´Â Àç»ç¿ëµÇ¾ú½À´Ï" "´Ù.\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d°³ÀÇ »óÅÂ/´ÙÀ½ »óÅ ½ÖÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d°³ÀÇ À¯ÀÏÇÑ/Áߺ¹µÇ´Â ÀüÀÌ\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base-def ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (ÃÖ´ë %d) nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (ÃÖ´ë %d) ÅÛÇø®Æ® nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d°³ÀÇ ºó Å×ÀÌºí ¿£Æ®¸®\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d°³ÀÇ ¿øÇüÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d°³ÀÇ ÅÛÇø®Æ®°¡ ¸¸µé¾îÁö°í, %d°³¸¦ ¾¹´Ï´Ù\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d°³ÀÇ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d ¸ÞŸ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d(%d ÀúÀåµÊ)°³ÀÇ ÇØ½Ì Ãæµ¹·Î %d°³ÀÇ DFA°¡ °°°Ô 󸮵˴ϴÙ\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d°³ÀÇ ÀçÇÒ´ç ÁýÇÕÀÌ ÇÊ¿äÇÕ´Ï´Ù\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " ÃÑ %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®°¡ ÇÊ¿äÇÕ´Ï´Ù\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "¾Ë ¼ö ¾ø´Â -C ¿É¼Ç '%c'" -#: main.c:1192 +#: main.c:1194 #, fuzzy, c-format msgid "%s %s\n" msgstr "%s ¹öÀü %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "Ä¡¸íÀûÀÎ ÆÄ½Ì ¿¡·¯" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "µÇµ¹¸² Á¤º¸ ÆÄÀÏ %s¸¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "-l AT&T lex ȣȯ ¿É¼ÇÀº Å« ¼º´É ÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " ±×¸®°í ¾Æ¸¶µµ ´Ù¸¥ º¸°íµÈ ¼º´É ÀúÇÏÀÇ ½ÇÁ¦ ¿øÀÎÀÏ °ÍÀÔ´Ï´Ù\n" -#: main.c:1529 +#: main.c:1531 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "%%option yylineno´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (´ëÈ­Çü) Àº ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore()´Â ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT´Â -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: main.c:1567 +#: main.c:1569 #, fuzzy, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylinenoÀº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass´Â C++½ºÄ³³Ê¿¡°Ô¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -577,43 +597,47 @@ msgid "" " -V, --version report %s version\n" msgstr "" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "À̸§ \"%s\"´Â ºñÁ¤»óÀûÀ¸·Î ±é´Ï´Ù" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "allocate_array()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "check_char()¿¡¼­ À߸øµÈ ¹®ÀÚ '%s'¸¦ ã¾Ò½À´Ï´Ù" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "½ºÄ³³Ê¿¡¼­ ¹®ÀÚ %s¸¦ ¾²±â À§Çؼ­´Â -8¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "copy_string()¿¡¼­ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: Ä¡¸íÀûÀÎ ³»ºÎ ¿¡·¯, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "¹è¿­ Å©±â¸¦ ´Ã¸®·Á´Â ½Ãµµ°¡ ½ÇÆÐÇß½À´Ï´Ù" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ¿¡ À߸øµÈ Çà" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "yy_flex_xmalloc()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù" @@ -692,27 +716,27 @@ msgstr "" msgid "iteration value must be positive" msgstr "" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -#: parse.y:821 +#: parse.y:819 #, fuzzy msgid "negative range in character class" msgstr " ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "\t-i ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "\t-i ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" @@ -726,14 +750,27 @@ msgstr " msgid "unrecognized '%' directive" msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "" + #: scan.l:284 msgid "Unmatched '{'" msgstr "" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "ºÒ¿ÏÀüÇÑ À̸§ Á¤ÀÇ" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -794,27 +831,27 @@ msgstr "%s msgid "Usage: %s [OPTIONS]...\n" msgstr "" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" -#: scanopt.c:578 +#: scanopt.c:577 #, fuzzy, c-format msgid "Unrecognized option `%s'\n" msgstr "¾Ë ¼ö ¾ø´Â %%option: %s" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "" diff --git a/external/bsd/flex/dist/po/nl.po b/external/bsd/flex/dist/po/nl.po index faca408f3..1ed68725b 100644 --- a/external/bsd/flex/dist/po/nl.po +++ b/external/bsd/flex/dist/po/nl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: flex-2.5.34\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2008-02-09 21:59+0100\n" "Last-Translator: Benno Schulenberg \n" "Language-Team: Dutch \n" @@ -16,6 +16,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.11.4\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -73,7 +89,7 @@ msgstr "toestand # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "Kan yynxt_tbl[][] niet schrijven" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "onjuist transitieteken in sympartition()" @@ -224,241 +240,245 @@ msgstr "kan tabellenkop niet schrijven" msgid "can't open skeleton file %s" msgstr "kan skeletbestand %s niet openen" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "invoerfout tijdens lezen van skeletbestand %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "fout tijdens sluiten van skeletbestand %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "fout tijdens aanmaken van headerbestand %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "fout tijdens schrijven van uitvoerbestand %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "fout tijdens sluiten van uitvoerbestand %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "fout tijdens verwijderen van uitvoerbestand %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Terugstappen is niet mogelijk.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d terugstappende (niet-accepterende) toestanden.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Gecomprimeerde tabellen kunnen altijd terugstappen.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "fout tijdens schrijven van terugstapbestand %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "fout tijdens sluiten van terugstapbestand %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versie %s gebruiksstatistieken:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " scanneropties: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-toestanden\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-toestanden (%d woorden)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d regels\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Terugstappen is niet mogelijk\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d terugstappende (niet-accepterende) toestanden\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Gecomprimeerde tabellen kunnen altijd terugstappen\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Begin-van-regel-patronen gebruikt\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d startvoorwaarden\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilontoestanden, %d dubbele epsilontoestanden\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " geen tekenklassen\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d tekenklassen hadden %d/%d opslagwoorden nodig, %d hergebruikt\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d toestand/volgtoestand-paren aangemaakt\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d unieke/dubbele transities\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d tabelitems\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base-def-items aangemaakt\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (piek %d) nxt-chk-items aangemaakt\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (piek %d) sjabloon-nxt-chk-items aangemaakt\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d lege tabelitems\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototypes aangemaakt\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d sjablonen aangemaakt, %d keer gebruikt\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d equivalentieklassen aangemaakt\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d meta-equivalentieklassen aangemaakt\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d bewaarde) hash-botsingen, %d DFA's gelijk\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d sets van herallocaties waren nodig\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " in totaal %d tabelitems nodig\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "*Interne fout*: ongeldige flexopts.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Typ '%s --help' voor meer informatie.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "onbekende -C-optie '%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "fatale ontledingsfout" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "kon terugstapbestand %s niet aanmaken" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "de AT&T-lexcompatibiliteitsoptie -l betekent een grote " "prestatievermindering\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " en zou de eigenlijke bron kunnen zijn van andere gemelde " "prestatieverminderingen\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -467,50 +487,50 @@ msgstr "" "de %%optie yylineno betekent een prestatievermindering, maar ALLEEN voor " "regels die met het regeleindeteken overeen kunnen komen\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "optie -I (interactief) betekent een kleine prestatievermindering\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() betekent een kleine prestatievermindering\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT betekent een grote prestatievermindering\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "Variabele nakomende context betekent een grote prestatievermindering\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT gaat niet samen met -f of -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%optie yylineno gaat niet samen met REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "regels met variabele nakomende context gaan niet samen met -f of -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%optie yyclass heeft alleen betekenis voor C++-scanners" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Gebruik: %s [OPTIE]... [BESTAND]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -642,43 +662,47 @@ msgstr "" " -h, --help deze hulptekst tonen\n" " -V, --version de versie van %s tonen\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "naam is belachelijk lang: \"%s\"" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "geheugenreservering is mislukt in allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "onjuist teken '%s' in check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "scanner heeft de optie -8 nodig om teken %s te kunnen gebruiken" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "dynamische geheugenfout in copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: *fatale interne fout*, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "vergroting van array is mislukt" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "onjuiste regel in skeletbestand" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "geheugenreservering is mislukt in yy_flex_xmalloc()" @@ -754,26 +778,26 @@ msgstr "onjuiste iteratiewaarden" msgid "iteration value must be positive" msgstr "iteratiewaarde moet positief zijn" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "het tekenbereik [%c-%c] is niet eenduidig in een hoofdletterongevoelige " "scanner" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "negatief bereik in tekenklasse" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "[:^lower:] is niet eenduidig in een hoofdletterongevoelige scanner" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "[:^upper:] is niet eenduidig in een hoofdletterongevoelige scanner" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Invoerregel is te lang\n" @@ -787,14 +811,29 @@ msgstr "verkeerde opbouw van '%top'-commando" msgid "unrecognized '%' directive" msgstr "onbekend '%'-commando" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "Invoerregel is te lang\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "Ongepaarde '{'" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "onvolledige naamsdefinitie" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "Invoerregel is te lang\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -854,27 +893,27 @@ msgstr "kan %s niet openen" msgid "Usage: %s [OPTIONS]...\n" msgstr "Gebruik: %s [OPTIE]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "optie '%s' staat geen argument toe\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "optie '%s' vereist een argument\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "optie '%s' is niet eenduidig\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Onbekende optie '%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Onbekende fout=(%d)\n" diff --git a/external/bsd/flex/dist/po/pl.po b/external/bsd/flex/dist/po/pl.po index 9724abe9a..6046600d7 100644 --- a/external/bsd/flex/dist/po/pl.po +++ b/external/bsd/flex/dist/po/pl.po @@ -1,19 +1,36 @@ # Polish translation for flex. +# Copyright (C) 2007, 2012 The Flex Project (msgids) # This file is distributed under the same license as the flex package. -# Copyright (C) 2003, 2008 Free Software Foundation, Inc. -# Jakub Bogusz , 2003-2008. # +# Jakub Bogusz , 2003-2012. msgid "" msgstr "" -"Project-Id-Version: flex 2.5.34\n" +"Project-Id-Version: flex 2.5.36\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" -"PO-Revision-Date: 2008-02-09 20:14+0100\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" +"PO-Revision-Date: 2012-08-02 18:15+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pl\n" + +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "Przydzielenie bufora do wypisania ³añcucha nie powiod³o siê" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "Przydzielenie bufora dla dyrektywy linii nie powiod³o siê" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "Przydzielenie bufora dla polecenia m4 def powiod³o siê" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "Przydzielenie bufora dla polecenia m4 undef powiod³o siê" #: dfa.c:61 #, c-format @@ -72,7 +89,7 @@ msgstr "stan # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "Nie mo¿na zapisaæ yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "wykryto b³êdny znak przej¶cia w sympartition()" @@ -223,237 +240,241 @@ msgstr "nie mo msgid "can't open skeleton file %s" msgstr "nie mo¿na otworzyæ pliku szablonu %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "przydzielenie pamiêci dla definicji makra nie powiod³o siê" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "b³±d wej¶cia podczas odczytu pliku szablonu %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "b³±d podczas zamykania pliku szablonu %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "b³±d podczas tworzenia pliku nag³ówkowego %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "b³±d podczas zapisu pliku wyj¶ciowego %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "b³±d podczas zamykania pliku wyj¶ciowego %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "b³±d podczas usuwania pliku wyj¶ciowego %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Bez zapamiêtywania.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d zapamiêtywanych stanów (nie akceptuj±cych).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Skompresowane tablice zawsze zapamiêtuj±.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "b³±d podczas zapisu pliku raportu z zapamiêtywania %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "b³±d podczas zamykania pliku raportu z zapamiêtywania %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s w wersji %s - statystyka u¿ycia:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " opcje skanera: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d stanów NFA\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d stanów DFA (%d s³ów)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d regu³\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Bez zapamiêtywania\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d zapamiêtywanych stanów (nie akceptuj±cych)\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Skompresowane tablice zawsze zapamiêtuj±\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " U¿ytych wzorców pocz±tek-linii\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d warunków pocz±tkowych\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d stanów epsilonowych, %d stanów podwójnie epsilonowych\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " bez klas znaków\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d klas znaków potrzebuje %d/%d s³ów pamiêci, %d ponownie u¿ytych\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d utworzonych par stan/nastêpny-stan\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d przej¶æ unikalny/duplikat\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d elementów tablicy\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d utworzonych elementów base-def\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (maksymalnie %d) utworzonych elementów nxt-chk\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (maksymalnie %d) utworzonych szablonowych elementów nxt-chk\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d pustych elementów tablicy\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d utworzonych prototypów\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d utworzonych szablonów, %d u¿yæ\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d utworzonych klas równowa¿no¶ci\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d utworzonych klas meta-równowa¿no¶ci\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d zachowanych) kolizji haszy, %d jednakowych DFA\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d potrzebnych zbiorów realokacji\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d potrzebnych ogó³em elementów tablicy\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "B³±d wewnêtrzny. ¬le sformu³owane flexopts.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "`%s --help' poda wiêcej informacji.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "nieznana opcja -C '%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "krytyczny b³±d analizy sk³adni" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "nie mo¿na utworzyæ pliku informacji o zapamiêtywaniu %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "opcja -l zgodno¶ci z leksem AT&T powoduje du¿± stratê wydajno¶ci\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " i mo¿e byæ przyczyn± innych zg³aszanych strat wydajno¶ci\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -462,51 +483,51 @@ msgstr "" "%%option yylineno powoduje straty wydajno¶ci TYLKO dla regu³ dopasowuj±cych " "znak koñca linii\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktywny) powoduje ma³± stratê wydajno¶ci\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() powoduje ma³± stratê wydajno¶ci\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT powoduje du¿± stratê wydajno¶ci\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regu³y ze zmiennym koñcowym kontekstem powoduj± du¿± stratê wydajno¶ci\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT nie mo¿e byæ u¿yte z -f ani -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno nie mo¿e byæ u¿yte z REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "regu³y ze zmiennym koñcowym kontekstem nie mog± byæ u¿yte z -f ani -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass ma znaczenie tylko dla skanerów C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Sk³adnia: %s [OPCJE] [PLIK]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -640,43 +661,47 @@ msgstr "" " -h, --help wy¶wietlenie tego pomocnego opisu\n" " -V, --version podanie wersji programu %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "przydzielenie sko_stack nie powiod³o siê" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "nazwa \"%s\" jest ¶miesznie d³uga" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "nie uda³o siê przydzieliæ pamiêci w allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "b³êdny znak '%s' usuniêty w check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "skaner wymaga flagi -8 aby u¿yæ znaku %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "niepowodzenie dynamicznej pamiêci w copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: krytyczny b³±d wewnêtrzny: %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "próba zwiêkszenia rozmiaru tablicy nie powiod³a siê" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "b³êdna linia w pliku szablonu" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "nie uda³o siê przydzieliæ pamiêci w yy_flex_xmalloc()" @@ -752,30 +777,30 @@ msgstr "b msgid "iteration value must be positive" msgstr "warto¶æ iteracji musi byæ dodatnia" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "przedzia³ znaków [%c-%c] jest niejednoznaczny w skanerze ignoruj±cym " "wielko¶æ liter" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "ujemny przedzia³ w klasie znaków" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "[:^lower:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ " "liter" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "[:^upper:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ " "liter" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Linia wej¶ciowa zbyt d³uga\n" @@ -789,14 +814,27 @@ msgstr " msgid "unrecognized '%' directive" msgstr "nierozpoznana dyrektywa '%'" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "Nazwa definizji zbyt d³uga\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "Niesparowany '{'" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "Definicja warto¶ci dla {%s} zbyt d³uga\n" + #: scan.l:317 msgid "incomplete name definition" msgstr "niekompletna definicja nazwy" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "Linia opcji zbyt d³uga\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -856,27 +894,27 @@ msgstr "nie mo msgid "Usage: %s [OPTIONS]...\n" msgstr "Sk³adnia: %s [OPCJE]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "opcja `%s' nie przyjmuje argumentu\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "opcja `%s' wymaga argumentu\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "opcja `%s' jest niejednoznaczna\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Nierozpoznana opcja `%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Nieznany b³±d=(%d)\n" diff --git a/external/bsd/flex/dist/po/pt_BR.po b/external/bsd/flex/dist/po/pt_BR.po index 011a50477..fee688a40 100644 --- a/external/bsd/flex/dist/po/pt_BR.po +++ b/external/bsd/flex/dist/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2004-02-08 18:45-0200\n" "Last-Translator: Alexandre Folle de Menezes \n" "Language-Team: Brazilian Portuguese \n" @@ -15,6 +15,22 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8-bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -72,7 +88,7 @@ msgstr "estado # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "Impossível escrever yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "caractere de transição inválido detectado em sympartition()" @@ -223,241 +239,245 @@ msgstr "imposs msgid "can't open skeleton file %s" msgstr "impossível abrir o arquivo esqueleto %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "erro lendo o arquivo esqueleto %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "erro fechando o arquivo esqueleto %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "erro criando o arquivo cabeçalho %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "erro escrevendo arquivo de saída %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "erro fechando arquivo de saída %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "erro removendo arquivo de saída %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Impossível restaurar.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d fazendo cópia de segurança de estados (não-aceita).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Tabelas compactadas sempre têm cópias de segurança.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "erro escrevendo cópia de segurança %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "erro fechando cópia de segurança %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versão %s estatísticas de uso:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " opções de scanner: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d estados NFA\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d estados DFA (%d palavras)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d regras\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Sem cópia de segurança\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d fazendo cópia de segurança de estados (não-aceita)\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Tabelas compactadas sempre têm cópias de segurança\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Padrões de início-de-linha usados\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condições de início\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d estados epsilon, %d estados epsilon duplo\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " nenhuma classe de caracteres\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d classes de caracters precisaram de %d/%d palavras de armazenamento, %" "d reusadas\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d pares estado/próximoestado criados\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d transições únicas/duplicadas\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d entradas de tabela\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d entradas base-def criadas\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (pico %d) entradas nxt-chk criadas\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (pico %d) modelos de entradas nxt-chk criadas\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d entradas vazias na tabela\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d protos criados\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d modelos criados, %d usos\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d classes de equivalência criadas\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d classes de meta-equivalência criadas\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d salvas) colisões de hash, %d DFAs iguais\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d conjuntos de realocação necessários\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d total de entradas de tabela necessárias\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Erro interno. flexopts estão malformados.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Tente `%s --help' para maiores informações.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "opção -C '%c' desconecida" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "erro fatal de análise" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "impossível criar cópia de seguranço do arquivo de informações %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "a opção de compatibilidade com lex da AT&T '-l' acarreta em uma grande " "penalidade na performance\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " e pode ser a fonte real de outras penalidades de performance reportadas\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -466,53 +486,53 @@ msgstr "" "%%option yylineno acarreta em uma penalidade na performance APENAS em regras " "que podem bater caracters de nova linha\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interativo) acarreta em uma pequena penalidade na performance\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() acarreta em uma pequena penalidade na performance\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT acarreta em uma grande penalidade na performance\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Variável seguindo regras de contexto implicam em grande perda de " "performance\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT não pode ser usado com -f ou -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno não pode ser usada com REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "variáveis seguindo regras de contexto não podem ser usadas com -f ou -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass só tem sentido para scanners C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Uso: %s [OPÇÕES] [ARQUIVO]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -578,43 +598,47 @@ msgid "" " -V, --version report %s version\n" msgstr "" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "nome \"%s\" ridiculamente longo" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "alocação de memória falhou em allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "caractere inválido '%s' detectado em check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "o scanner precisa de um flag -8 para usar o caracter %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "falha dinâmica de memória em copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: erro interno fatal, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "tentativa de aumentar o tamanho do vetor falhou" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "linha inválida no arquivo de esqueleto" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "alocação de memória falhou em yy_flex_xmalloc()" @@ -690,32 +714,32 @@ msgstr "valores de itera msgid "iteration value must be positive" msgstr "valor de iteração deve ser positivo" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "a faixa de caracteres [%c-%c] é ambígua em um processador \"case-insensitive" "\"" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "faixa negativa na classe de caracteres" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "a faixa de caracteres [%c-%c] é ambígua em um processador \"case-insensitive" "\"" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "a faixa de caracteres [%c-%c] é ambígua em um processador \"case-insensitive" "\"" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Linha de entrada muito longa\n" @@ -729,14 +753,29 @@ msgstr "diretiva '%top' malformada" msgid "unrecognized '%' directive" msgstr "diretiva '%' não reconhecida" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "Linha de entrada muito longa\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' sem fechamento" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "definição de nome incompleta" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "Linha de entrada muito longa\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -797,27 +836,27 @@ msgstr "imposs msgid "Usage: %s [OPTIONS]...\n" msgstr "Uso: %s [OPÇÕES]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "option `%s' não permite argumentos\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "option `%s' requer um argumento\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "opção `%s' é ambígua\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opção `%s' desconhecida\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Erro desconhecido=(%d)\n" diff --git a/external/bsd/flex/dist/po/ro.po b/external/bsd/flex/dist/po/ro.po index fab37d5a2..8389e99e1 100644 --- a/external/bsd/flex/dist/po/ro.po +++ b/external/bsd/flex/dist/po/ro.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2003-11-22 11:07+0200\n" "Last-Translator: Eugen Hoanca \n" "Language-Team: Romanian \n" @@ -14,6 +14,22 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -71,7 +87,7 @@ msgstr "stare # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "Nu am putut scrie yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "caracter greºit de tranziþie detectat în sympartition()" @@ -222,239 +238,243 @@ msgstr "Nu am putut scrie capul de tabel" msgid "can't open skeleton file %s" msgstr "nu am putut deschide fiºierul schelet %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "eroare de intrare(input) în timpul citirii fiºierului schelet %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "eroare în închiderea fiºierului schelet %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "eroare în crearea fiºierului de header %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "eroare în scrierea fiºierului de output %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "eroare în închiderea fiºierului de output %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "eroare în ºtergerea fiºierului de output %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Nu se revine (backing-up).\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d salvare de (inacceptabile) stãri.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Tabelele compresate întotdeauna au back-up.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "eroare în scrierea fiºierului de backup %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "eroare în închiderea fiºierului de backup %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s versiunea %s statistici de folosire:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " opþiuni de scanner: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d stãri NFA\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d stãri DFA (%d cuvinte)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d reguli\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Nu se face backup\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d salvare de (inacceptabile) stãri\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Tabelele compresate întotdeauna au back-up\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Tipare de începuturi de linie folosite\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d condiþii de start\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d stãri epsilon, %d stãri dublu epsilon\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " nici o clasã de caractere\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d clase de caractere necesare %d/%d cuvinte de stocare, %d refolosite\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d perechi de stare/stareurmãtoare create\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d tranziþii unice/duplicate\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d intrãri în tabele\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d base-def intrãri create\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (maxim %d) nxt-chk intrãri create\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (maxim %d) model nxt-chk intrãri create\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d intrãri în tabel goale\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototipuri create\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d modele create, %d folosiri\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d clase de echivalenþã create\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d clase de meta-echivalenþã create\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d salvate) coliziuni disipate(hash), %d egaluri de DFA-uril\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d seturi de realocãri necesare\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d intrãri totale în tabel necesare\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Eroare internã. Opþiunile flex(flexopts) sunt malformate.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Încercaþi `%s --help' pentru mai multe informaþii.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "opþiune -C necunoscutã `%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "eroare fatalã de analizã(parse)" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "nu s-a putut crea fiºierul de informaþii de back-up %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "-l opþiunea de compatibilitate AT&T lex determinã o scãdere drasticã a " "performanþei\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "ºi poate fi sursa realã a altor scãderi de performanþã raportate\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -463,53 +483,53 @@ msgstr "" "%%opþiunea yylineno determinã o scãdere drasticã a performanþei DOAR în " "regulile care se potrivesc caracterelor linie_nouã(newline)\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interactiãe) determinã o scãdere minorã a performanþei\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() determinã o scãdere minorã a performanþei\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT determinã o scãdere drasticã a performanþei\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Contextul de sfârºit(trailing) variabil determinã o scãdere drasticã a " "performanþei\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT nu poate fi folosit cu -f sau -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%opþiunea yylineno nu poate fi folositã cu REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "contextul de sfârºit(trailing) variabil nu poate fi folosit cu -f sau -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%opþunea yyclass este folositoare doar pentru scannerele C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Folosire: %s [OPÞIUNI] [FIªIER]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -641,43 +661,47 @@ msgstr "" " -h, --help produce acest mesaj de ajutor\n" " -V, --version raporteazã versiunea %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "numele \"%s\" este ridicol de lung" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "alocare de memorie eºuatã în allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "caracter greºit `%s' detectat în check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "scannerul necesitã parametrul(flag) -8 pentru a folosi caracterul %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "eroare de memorie dinamicã în copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: eroare internã fatalã, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "încercare de a mãri dimensiunea domeniului eºuatã" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "linie greºitã în fiºierul schelet" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "alocare de memorie eºuatã în yy_flex_xmalloc()" @@ -753,32 +777,32 @@ msgstr "valori de itera msgid "iteration value must be positive" msgstr "valoarea iteraþiei trebuie sã fie pozitivã" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-" "insenzitiv" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "domeniu negativ în clasa de caractere" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-" "insenzitiv" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-" "insenzitiv" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Linie de intrare(input) prea lungã\n" @@ -792,14 +816,29 @@ msgstr "directiv msgid "unrecognized '%' directive" msgstr "directivã '%' necunoscutã" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "Linie de intrare(input) prea lungã\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' fãrã corespondent" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "definire de nume incompletã" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "Linie de intrare(input) prea lungã\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -860,27 +899,27 @@ msgstr "nu pot deschide %s" msgid "Usage: %s [OPTIONS]...\n" msgstr "Folosire: %s [OPÞIUNI]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "opþiunea `%s' nu permite parametri\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "opþiunea `%s' necesitã un parametru\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "opþiunea `%s' este ambiguã\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Opþiune necunoscutã `%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Eroare necunoscutã=(%d)\n" diff --git a/external/bsd/flex/dist/po/ru.po b/external/bsd/flex/dist/po/ru.po index d20ac58b0..3f87f7aa5 100644 --- a/external/bsd/flex/dist/po/ru.po +++ b/external/bsd/flex/dist/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.19\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2002-09-08 10:54+0400\n" "Last-Translator: Dmitry S. Sivachenko \n" "Language-Team: Russian \n" @@ -14,6 +14,22 @@ msgstr "" "Content-Type: text/plain; charset=koi8-r\n" "Content-Transfer-Encoding: 8-bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -69,7 +85,7 @@ msgstr " msgid "Could not write yynxt_tbl[][]" msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "ÏÂÎÁÒÕÖÅÎ ÎÅ×ÅÒÎÙÊ ÐÅÒÅÈÏÄÎÙÊ ÓÉÍ×ÏÌ × sympartition()" @@ -225,291 +241,295 @@ msgstr " msgid "can't open skeleton file %s" msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ-ËÁÒËÁÓ %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ ÚÁÇÏÌÏ×ÏÞÎÏÇÏ ÆÁÊÌÁ %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "ÏÛÉÂËÁ ÚÁËÒÙÔÉÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "×ÏÚ×ÒÁÔ ÎÁ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "ÓÔÁÔÉÓÔÉËÁ ÉÓÐÏÌØÚÏ×ÁÎÉÑ %s ×ÅÒÓÉÉ %s:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " ÏÐÃÉÉ ÓËÁÎÅÒÁ: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d ÓÏÓÔÏÑÎÉÊ îëá\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d ÓÏÓÔÏÑÎÉÊ äëá (%d ÓÌÏ×)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d ÐÒÁ×ÉÌ\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr "" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " ÓÏÈÒÁÎÅÎÙ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " éÓÐÏÌØÚÕÀÔÓÑ ÛÁÂÌÏÎÙ ÎÁÞÁÌÁ ÓÔÒÏËÉ\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d ÓÔÁÒÔÏ×ÙÈ ÕÓÌÏ×ÉÊ\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr "" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " ÏÔÓÕÔÓÔ×ÕÀÔ ËÌÁÓÓÙ ÓÉÍ×ÏÌÏ×\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d ËÌÁÓÓÏ× ÓÉÍ×ÏÌÏ× ÔÒÅÂÕÀÔ %d/%d ÓÌÏ× ÄÌÑ ÈÒÁÎÅÎÉÑ, %d ÐÏ×ÔÏÒÎÏ " "ÉÓÐÏÌØÚÏ×ÁÎÏ\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " ÓÏÚÄÁÎÏ %d ÐÁÒ ÓÏÓÔÏÑÎÉÅ/ÓÌÅÄ_ÓÏÓÔÏÑÎÉÅ\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d ÕÎÉËÁÌØÎÙÈ/ÐÏ×ÔÏÒÑÀÝÉÈÓÑ ÐÅÒÅÈÏÄÏ×\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " ÓÏÚÄÁÎÏ %d/%d base-def ÜÌÅÍÅÎÔÏ×\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) nxt-chk ÜÌÅÍÅÎÔÏ×\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) ÛÁÂÌÏÎÎÙÈ nxt-chk ÜÌÅÍÅÎÔÏ×\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d ÐÕÓÔÙÈ ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " ÓÏÚÄÁÎÏ %d ÐÒÏÔÏÔÉÐÏ×\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " ÓÏÚÄÁÎÏ %d ÛÁÂÌÏÎÏ×, %d ÉÓÐÏÌØÚÏ×ÁÎÉÊ\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " ÓÏÚÄÁÎÙ ËÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ %d/%d\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d ÍÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ËÌÁÓÓÏ× ÓÏÚÄÁÎÏ\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d ÚÁÐÉÓÁÎÏ) ËÏÌÌÉÚÉÊ ÈÜÛ-ÔÁÂÌÉÃÙ, %d ÜË×É×ÁÌÅÎÔÎÙÈ äëá\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " ÔÒÅÂÕÅÔÓÑ %d ÎÁÂÏÒÏ× ÐÏ×ÔÏÒÎÙÈ ÒÁÚÍÅÝÅÎÉÊ\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " ×ÓÅÇÏ ÔÒÅÂÕÅÔÓÑ %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ. îÅÐÒÁ×ÉÌØÎÏ ÚÁÄÁÎÙ ËÌÀÞÉ flex.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ -C ËÌÀÞ '%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ ÒÁÚÂÏÒÁ" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "ÎÅÕÄÁÅÔÓÑ ÓÏÚÄÁÔØ ÚÁÐÁÓÎÏÊ ÉÎÆÏÒÍÁÃÉÏÎÎÙÊ ÆÁÊÌ %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "ïÐÃÉÑ -l ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó AT&T lex ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ " "ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " É ÔÁËÖÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÔÉÎÎÙÍ ÉÓÔÏÞÎÉËÏÍ ÐÒÏÂÌÅÍ Ó ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ\n" -#: main.c:1529 +#: main.c:1531 #, fuzzy, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "%%option yylineno ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (ÉÎÔÅÒÁËÔÉ×ÎÙÊ) ×ÌÅÞÅÔ ÎÅÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() ÐÒÉ×ÏÄÉÔ Ë ÎÅÂÏÌØÛÏÍÕ ÓÎÉÖÅÎÉÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ×ÍÅÓÔÅ Ó -f ÉÌÉ -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ Ó REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ ÓËÁÎÅÒÏ× ÎÁ C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé] [æáêì]...\n" -#: main.c:1801 +#: main.c:1805 #, fuzzy, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -641,43 +661,47 @@ msgstr "" " -h, --help ×ÙÄÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ\n" " -V, --version ×ÙÄÁÔØ ×ÅÒÓÉÀ %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "ÉÍÑ \"%s\" ÎÅÌÅÐÏ ÄÌÉÎÎÏÅ" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "ÏÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ × allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "ÎÁÊÄÅÎ ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ '%s' × check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÉÍ×ÏÌÁ %s ÓËÁÎÅÒÕ ÔÒÅÂÕÅÔÓÑ ËÌÀÞ -8" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "ÏÛÉÂËÁ ÐÒÉ ÒÁÂÏÔÅ Ó ÄÉÎÁÍÉÞÅÓËÏÊ ÐÁÍÑÔØÀ × copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: ÆÁÔÁÌØÎÁÑ ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "ÏÛÉÂËÁ Õ×ÅÌÉÞÅÎÉÑ ÒÁÚÍÅÒÁ ÍÁÓÓÉ×Á" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ × ÆÁÊÌÅ-ËÁÒËÁÓÅ" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × yy_flex_xmalloc()" @@ -753,24 +777,24 @@ msgstr "" msgid "iteration value must be positive" msgstr "" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "ÏÔÒÉÃÁÔÅÌØÎÙÊ ÄÉÁÐÁÚÏÎ × ËÌÁÓÓÅ ÓÉÍ×ÏÌÏ×" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "óÌÉÛËÏÍ ÄÌÉÎÎÁÑ ×ÈÏÄÎÁÑ ÓÔÒÏËÁ\n" @@ -784,14 +808,29 @@ msgstr " msgid "unrecognized '%' directive" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ '%' ÄÉÒÅËÔÉ×Á" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "óÌÉÛËÏÍ ÄÌÉÎÎÁÑ ×ÈÏÄÎÁÑ ÓÔÒÏËÁ\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "ÎÅÐÏÌÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÉÍÅÎÉ" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "óÌÉÛËÏÍ ÄÌÉÎÎÁÑ ×ÈÏÄÎÁÑ ÓÔÒÏËÁ\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -852,27 +891,27 @@ msgstr " msgid "Usage: %s [OPTIONS]...\n" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "îÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ=(%d)\n" diff --git a/external/bsd/flex/dist/po/sv.po b/external/bsd/flex/dist/po/sv.po index 6d7801bfb..980418207 100644 --- a/external/bsd/flex/dist/po/sv.po +++ b/external/bsd/flex/dist/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2004-03-21 22:51+0100\n" "Last-Translator: Christian Rose \n" "Language-Team: Swedish \n" @@ -15,6 +15,22 @@ msgstr "" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -74,7 +90,7 @@ msgstr "tillst msgid "Could not write yynxt_tbl[][]" msgstr "Kunde inte skriva yynxt_tbl[][]" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "otillåtet övergångstecken funnet i sympartition()" @@ -226,238 +242,242 @@ msgstr "kunde inte skriva tabellhuvud" msgid "can't open skeleton file %s" msgstr "kan inte öppna mallfilen %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "indatafel vid läsande av mallfilen %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "fel vid stängande av mallfilen %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "fel vid skapande av huvudfilen %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "fel vid skrivande av utfilen %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "fel vid stängande av utfilen %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "fel vid borttagning av utfilen %s" # "Back up" i det här sammanhanget handlar om att flexmaskinen backar. -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Backar inte.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d säkerhetskopierande (icke-accepterande) tillstånd.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Komprimerade tabeller säkerhetskopierar alltid.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "fel när säkerhetskopian %s skulle skrivas" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "fel när säkerhetskopian %s skulle stängas" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "Statistik över användning av %s version %s:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " inläsarflaggor: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA-tillstånd\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA-tillstånd (%d ord)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d regler\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Inget säkerhetskopierande\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d (icke-accepterande) tillstånd för säkerhetskopiering\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Komprimerade tabeller säkerhetskopierar alltid\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Början-av-rad-mönster använda\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d startvillkor\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilontillstånd, %d dubbla epsilontillstånd\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " inga teckenklasser\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr " %d/%d teckenklasser behövde %d/%d ord för lagring, %d återanvända\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d par med tillstånd/nästa-tillstånd skapade\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d unika/duplicerade övergångar\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d tabellposter\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d basstandardposter skapade\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (max %d) poster för nästa kontroll skapade\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (max %d) mallposter för nästa kontroll skapade\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d tomma tabellposter\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototyper skapade\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d mallar skapade, %d användningar\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d ekvivalensklasser skapade\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d metaekvivalensklasser skapade\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d sparade) hashkollisioner, %d DFA lika\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d uppsättningar med omallokeringar krävdes\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d tabellposter krävs totalt\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Internt fel. flexopts är felaktiga.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Prova \"%s --help\" för mer information.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "okänd flagga till -C \"%c\"" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "allvarligt fel vid tolkningen" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "kunde inte skapa filen %s med säkerhetskopieringsinformation" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" "flaggan -l för beteende som AT&T:s lex medför en väsentlig prestandaförlust\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " och kan vara den egentliga orsaken till andra rapporter om detta\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -466,54 +486,54 @@ msgstr "" "%%option yylineno medför en prestandaförlust ENDAST på regler som kan matcha " "nyradstecken\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (interaktiv) medför en mindre prestandaförlust\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() medför en mindre prestandaförlust\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT medför en väsentlig prestandaförlust\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "Regler för varierbar efterföljande sammanhang medför en väsentlig " "prestandaförlust\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT kan inte användas tillsammans med -f eller -F" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno kan inte användas tillsammans med REJECT" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" "regler för varierbar efterföljande kontext kan inte användas\n" "tillsammans med -f eller -F" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass är bara meningsfull för C++-inläsare" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Användning: %s [FLAGGOR] [FIL]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -641,43 +661,47 @@ msgstr "" " -h, --help visa detta hjälpmeddelande\n" " -V, --version visa versionsinformation för %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "namnet \"%s\" är löjligt långt" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "minnesallokeringen misslyckades i allocate_array()" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "otillåtet tecken \"%s\" funnet i check_char()" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "inläsaren kräver flaggan -8 för att kunna använda tecknet %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "dynamiskt minnesfel i copy_string()" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: allvarligt internt fel, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "försök att öka arraystorlek misslyckades" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "otillåten rad i mallfilen" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "minnesallokeringen misslyckades i yy_flex_xmalloc()" @@ -753,29 +777,29 @@ msgstr "felaktiga iterationsv msgid "iteration value must be positive" msgstr "iterationsvärde måste vara positivt" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "negativt intervall i teckenklass" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "För lång indatarad\n" @@ -789,14 +813,29 @@ msgstr "felaktigt \"%top\"-direktiv" msgid "unrecognized '%' directive" msgstr "okänt \"%\"-direktiv" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "För lång indatarad\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "Ensamt \"{\"" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "ofullständig namndefinition" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "För lång indatarad\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -857,27 +896,27 @@ msgstr "kan inte msgid "Usage: %s [OPTIONS]...\n" msgstr "Användning: %s [FLAGGOR]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "flaggan \"%s\" tar inget argument\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "flaggan \"%s\" kräver ett argument\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "flaggan \"%s\" är tvetydig\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Okänd flagga \"%s\"\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Okänt fel=(%d)\n" diff --git a/external/bsd/flex/dist/po/tr.po b/external/bsd/flex/dist/po/tr.po index 7f4614bee..12c32c225 100644 --- a/external/bsd/flex/dist/po/tr.po +++ b/external/bsd/flex/dist/po/tr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.31\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2004-05-16 18:36+0300\n" "Last-Translator: Deniz Akkus Kanca \n" "Language-Team: Turkish \n" @@ -15,6 +15,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.0.2\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -72,7 +88,7 @@ msgstr "durum # %d:\n" msgid "Could not write yynxt_tbl[][]" msgstr "yynxt_tbl[][] yazılamadı" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "sympartition() içinde hatalı geçiÅŸ karakterleri saptandı" @@ -223,239 +239,243 @@ msgstr "tablo baÅŸlığı yazılamadı" msgid "can't open skeleton file %s" msgstr "iskelet dosyası %s açılamadı" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "iskelet dosyası %s okunurken girdi hatası" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "iskelet dosyası %s kapatılırken hata" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "baÅŸlık dosyası %s oluÅŸturulurken hata" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "çıktı dosyası %s yazılırken hata" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "çıktı dosyası %s kapatılırken hata" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "çıktı dosyası %s silinirken hata" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Yedekleme yok.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d yedeklenen (kabul-etmeyen) durumlar.\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Sıkıştırılmış tablolar daima yedeklidir.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "yedek dosyası %s yazılırken hata" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "yedek dosyası %s kapatılırken hata" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s sürüm %s kullanım istatistikleri:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " tarayıcı seçenekleri: -" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d NFA durumu\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d DFA durumu (%d sözcük)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d kural\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Yedekleme yok\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d yedeklenmiÅŸ (kabul-edilmeyen) durum\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Sıkıştırılmış tablolar daima yedeklenir\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " BaÅŸlangıç-satırı kalıpları kullanıldı\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d baÅŸlangıç ÅŸartları\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d epsilon durumu, %d çift epsilon durumu\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " karakter sınıfı yok\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" " %d/%d ihtiyaç duyulan karakter sınıfı %d/%d depolanan sözcük, %d yeniden " "kullanıldı\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d durumu/sonrakidurum çifti yaratıldı\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d tekil/çift geçiÅŸler\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d tablo girdileri\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d temel-tanım girdileri yaratıldı\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (en yüksek %d) nxt-chk girdileri yaratıldı\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr " %d/%d (en yüksek %d) ÅŸablon nxt-chk girdileri yaratıldı\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d boÅŸ tablo girdileri\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d prototip yaratıldı\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d ÅŸablon yaratıldı, %d kullanıldı\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d denklik sınıfı yaratıldı\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d ara-denklik sınıfı yaratıldı\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d kaydedildi) saçılma çarpışması, %d DFA denk\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " %d tekrar ayırım kümesine ihtiyaç var\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " %d toplam tablo girdisine ihtiyaç var\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "İç hata. flexopt'lar bozuk.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "Daha fazla bilgi için `%s --help' yazın.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "bilinmeyen -C seçeneÄŸi '%c'" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "ölümcül ayrıştırma hatası" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "yedekleme bilgi dosyası %s oluÅŸturulamadı" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "-l AT&T lex uyumluluÄŸu seçeneÄŸi önemli ölçüde yavaÅŸlamaya yol açar\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" " ve belki bildirilen baÅŸka performans kayıplarının da kaynağı olabilir\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " @@ -464,51 +484,51 @@ msgstr "" "yylineno %%seçeneÄŸi YALNIZCA yenisatır karakterlerini de eÅŸleyen satırlarda " "yavaÅŸlar.\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "-I (etkileÅŸimli) küçük ölçekli bir yavaÅŸlamaya neden olur\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() küçük ölçekli bir yavaÅŸlamaya neden olur\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT büyük ölçekli bir yavaÅŸlamaya neden olur\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" "DeÄŸiÅŸken izleyen baÄŸlam kuralları, büyük ölçekli yavaÅŸlamaya neden olur\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "REJECT, -f veya -F ile kullanılamaz" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "%option yylineno, REJECT ile birlikte kullanılamaz" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "deÄŸiÅŸken izleme ortamı kuralları, -f veya -F ile birlikte kullanılamaz" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "%option yyclass, sadece C++ tarayıcıları için anlamlıdır" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Kullanım: %s [SEÇENEKLER...] [DOSYA...]\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -635,43 +655,47 @@ msgstr "" " -h, --help bu yardım bilgisini gösterir\n" " -V, --version %s sürümünü bildirir\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "\"%s\" ismi gülünç derecede uzun" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "allocate_array() içinde bellek ayırımı baÅŸarısız" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "check_char() içinde hatalı karakter '%s' saptandı" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "tarayıcı %s karakterini kullanmak için -8 bayrağına ihtiyaç duyar" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "copy_string() içinde dinamik bellek hatası" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: ölümcül iç hata, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "dizi boyutunu artırma denemesi baÅŸarısız" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "iskelet dosya içinde hatalı satır" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "yy_flex_xmalloc() içinde bellek ayırımı baÅŸarısız" @@ -747,32 +771,32 @@ msgstr "hatalı yineleme deÄŸerleri" msgid "iteration value must be positive" msgstr "yineleme deÄŸeri pozitif olmalı" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n" "belirsiz anlamlı" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "karakter sınıflarında negatif aralık" -#: parse.y:918 +#: parse.y:916 #, fuzzy msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n" "belirsiz anlamlı" -#: parse.y:924 +#: parse.y:922 #, fuzzy msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n" "belirsiz anlamlı" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "Girdi satırı fazla uzun\n" @@ -786,14 +810,29 @@ msgstr "hatalı `%top' yönergesi" msgid "unrecognized '%' directive" msgstr "'%' yönergesi bilinmiyor" +#: scan.l:192 +#, fuzzy +msgid "Definition name too long\n" +msgstr "Girdi satırı fazla uzun\n" + #: scan.l:284 msgid "Unmatched '{'" msgstr "'{' eÅŸleÅŸmiyor" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "eksik isim tanımlaması" +#: scan.l:443 +#, fuzzy +msgid "Option line too long\n" +msgstr "Girdi satırı fazla uzun\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -854,27 +893,27 @@ msgstr "%s açılamıyor" msgid "Usage: %s [OPTIONS]...\n" msgstr "Kullanım: %s [SEÇENEKLER...]\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "`%s' seçeneÄŸi argüman kullanmaz\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "`%s' seçeneÄŸi için argüman zorunludur\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "`%s' seçeneÄŸi belirsiz\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "Bilinmeyen seçenek: `%s'\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Bilinmeyen hata=(%d)\n" diff --git a/external/bsd/flex/dist/po/vi.po b/external/bsd/flex/dist/po/vi.po index 44ac4f89f..dd5394ce3 100644 --- a/external/bsd/flex/dist/po/vi.po +++ b/external/bsd/flex/dist/po/vi.po @@ -1,21 +1,43 @@ # Vietnamese translation for Flex. -# Copyright © 2008 Free Software Foundation, Inc. -# This file is distributed under the same license as the flex-2.5.34 package. +# Copyright (C) 2012 The Flex Project (msgids) +# Copyright (C) 2012 Free Software Foundation, Inc. +# This file is distributed under the same license as the flex package. # Clytie Siddall , 2005-2008. -# +# Trần Ngá»c Quân , 2012. +# msgid "" msgstr "" -"Project-Id-Version: flex 2.5.34\n" +"Project-Id-Version: flex-2.5.36\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" -"PO-Revision-Date: 2008-02-10 17:40+1030\n" -"Last-Translator: Clytie Siddall \n" -"Language-Team: Vietnamese \n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" +"PO-Revision-Date: 2012-08-03 07:57+0700\n" +"Last-Translator: Trần Ngá»c Quân \n" +"Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: vi\n" "Plural-Forms: nplurals=1; plural=0\n" "X-Generator: LocFactoryEditor 1.7b3\n" +"X-Poedit-Language: Vietnamese\n" +"X-Poedit-Country: VIET NAM\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "Việc phân bổ bá»™ đệm cho lệnh in chuá»—i gặp lá»—i" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "Việc phân bổ bá»™ đệm cho chỉ thị dòng gặp lá»—i" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "Việc phân bổ bá»™ đệm cho 'm4 def' gặp lá»—i" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "Việc phân bổ bá»™ đệm cho 'm4 undef' gặp lá»—i" #: dfa.c:61 #, c-format @@ -72,9 +94,9 @@ msgstr "tình trạng # %d:\n" #: dfa.c:785 msgid "Could not write yynxt_tbl[][]" -msgstr "Không thể ghi « yynxt_tbl[][] »" +msgstr "Không thể ghi \"yynxt_tbl[][]\"" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "phát hiện ký tá»± chuyển tiếp sai trong sympartition()" @@ -102,15 +124,15 @@ msgstr "tình trạng # %d chấp nhận: " #: gen.c:1157 msgid "Could not write yyacclist_tbl" -msgstr "Không thể ghi « yyacclist_tbl »" +msgstr "Không thể ghi \"yyacclist_tbl\"" #: gen.c:1233 msgid "Could not write yyacc_tbl" -msgstr "Không thể ghi « yyacc_tbl »" +msgstr "Không thể ghi \"yyacc_tbl\"" #: gen.c:1248 gen.c:1633 gen.c:1656 msgid "Could not write ecstbl" -msgstr "Không thể ghi « ecstbl »" +msgstr "Không thể ghi \"ecstbl\"" #: gen.c:1271 msgid "" @@ -124,39 +146,39 @@ msgstr "" #: gen.c:1293 msgid "Could not write yymeta_tbl" -msgstr "Không thể ghi « yymeta_tbl »" +msgstr "Không thể ghi \"yymeta_tbl\"" #: gen.c:1354 msgid "Could not write yybase_tbl" -msgstr "Không thể ghi « yybase_tbl »" +msgstr "Không thể ghi \"yybase_tbl\"" #: gen.c:1388 msgid "Could not write yydef_tbl" -msgstr "Không thể ghi « yydef_tbl »" +msgstr "Không thể ghi \"yydef_tbl\"" #: gen.c:1428 msgid "Could not write yynxt_tbl" -msgstr "Không thể ghi « yynxt_tbl »" +msgstr "Không thể ghi \"yynxt_tbl\"" #: gen.c:1464 msgid "Could not write yychk_tbl" -msgstr "Không thể ghi « yychk_tbl »" +msgstr "Không thể ghi \"yychk_tbl\"" #: gen.c:1618 gen.c:1647 msgid "Could not write ftbl" -msgstr "Không thể ghi « ftbl »" +msgstr "Không thể ghi \"ftbl\"" #: gen.c:1624 msgid "Could not write ssltbl" -msgstr "Không thể ghi « ssltbl »" +msgstr "Không thể ghi \"ssltbl\"" #: gen.c:1675 msgid "Could not write eoltbl" -msgstr "Không thể ghi « eoltbl »" +msgstr "Không thể ghi \"eoltbl\"" #: gen.c:1735 msgid "Could not write yynultrans_tbl" -msgstr "Không thể ghi « yynultrans_tbl »" +msgstr "Không thể ghi \"yynultrans_tbl\"" #: main.c:189 msgid "rule cannot be matched" @@ -164,53 +186,53 @@ msgstr "quy tắc không thể được khá»›p" #: main.c:194 msgid "-s option given but default rule can be matched" -msgstr "Ä‘Æ°a ra tùy chá»n « -s » còn quy tắc mặc định có thể được khá»›p" +msgstr "Ä‘Æ°a ra tùy chá»n \"-s\" còn quy tắc mặc định có thể được khá»›p" #: main.c:234 msgid "Can't use -+ with -l option" -msgstr "Không thể dùng ký tÆ° « -+ » vá»›i tùy chá»n « -l »" +msgstr "Không thể dùng ký tÆ° \"-+\" vá»›i tùy chá»n \"-l\"" #: main.c:237 msgid "Can't use -f or -F with -l option" -msgstr "Không thể dùng cỠ« -f » hoặc « -F » vá»›i tùy chá»n « -l »" +msgstr "Không thể dùng cá» \"-f\" hoặc \"-F\" vá»›i tùy chá»n \"-l\"" #: main.c:241 msgid "Can't use --reentrant or --bison-bridge with -l option" msgstr "" -"Không thể dùng đối số « --reentrant » (Ä‘iá»u vào lại) hoặc « --bison-bridge " -"» (chiếc cầu bison) vá»›i tùy chá»n « -l »" +"Không thể dùng đối số \"--reentrant\" (Ä‘iá»u vào lại) hoặc \"--bison-bridge" +"\" (chiếc cầu bison) vá»›i tùy chá»n \"-l\"" #: main.c:278 msgid "-Cf/-CF and -Cm don't make sense together" -msgstr "Hai tùy chá»n « -Cf/-CF » và « -Cm » vá»›i nhau thì không có ý nghÄ©a" +msgstr "Hai tùy chá»n \"-Cf/-CF\" và \"-Cm\" vá»›i nhau thì không có ý nghÄ©a" #: main.c:281 msgid "-Cf/-CF and -I are incompatible" -msgstr "Hai tùy chá»n « -Cf/-CF » và « -I » không tÆ°Æ¡ng thích vá»›i nhau" +msgstr "Hai tùy chá»n \"-Cf/-CF\" và \"-I\" không tÆ°Æ¡ng thích vá»›i nhau" #: main.c:285 msgid "-Cf/-CF are incompatible with lex-compatibility mode" msgstr "" -"Tùy chá»n « -Cf/-CF » không tÆ°Æ¡ng thích vá»›i chế Ä‘á»™ « lex-compatibility " -"» (tÆ°Æ¡ng thích vá»›i lex)" +"Tùy chá»n \"-Cf/-CF\" không tÆ°Æ¡ng thích vá»›i chế Ä‘á»™ \"lex-compatibility" +"\" (tÆ°Æ¡ng thích vá»›i lex)" #: main.c:290 msgid "-Cf and -CF are mutually exclusive" -msgstr "Hai tùy chá»n « -Cf » and « -CF » loại từ lẫn nhau" +msgstr "Hai tùy chá»n \"-Cf\" and \"-CF\" loại từ lẫn nhau" #: main.c:294 msgid "Can't use -+ with -CF option" -msgstr "Không thể dùng ký tá»± « -+ » vá»›i tùy chá»n « -CF »" +msgstr "Không thể dùng ký tá»± \"-+\" vá»›i tùy chá»n \"-CF\"" #: main.c:297 #, c-format msgid "%array incompatible with -+ option" -msgstr "« %array » (mảng) không tÆ°Æ¡ng thích vá»›i tùy chá»n « -+ »" +msgstr "\"%array\" (mảng) không tÆ°Æ¡ng thích vá»›i tùy chá»n \"-+\"" #: main.c:302 msgid "Options -+ and --reentrant are mutually exclusive." msgstr "" -"Hai tùy chá»n « - + » và « --reentrant » (Ä‘iá»u vào lại) loại từ lẫn nhau." +"Hai tùy chá»n \"- +\" và \"--reentrant\" (Ä‘iá»u vào lại) loại từ lẫn nhau." #: main.c:305 msgid "bison bridge not supported for the C++ scanner." @@ -230,293 +252,297 @@ msgstr "không thể ghi phần đầu bảng" msgid "can't open skeleton file %s" msgstr "không thể mở tập tin khung sÆ°á»n %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "việc phân bổ cho định nghÄ©a macro gặp lá»—i" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "gặp lá»—i nhập vào khi Ä‘á»c tập tin khung sÆ°á»n %s" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "gặp lá»—i khi đóng tập tin khung sÆ°á»n %s" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "gặp lá»—i khi tạo tập tin phần đầu %s" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "gặp lá»—i khi ghi tập tin xuất %s" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "gặp lá»—i khi đóng tập tin xuất %s" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "gặp lá»—i khi xoá bá» tập tin xuất %s" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "Không sao lÆ°u.\n" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "%d Ä‘ang sao lÆ°u các tình trạng (kiểu không chấp nhận).\n" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "Bảng đã nén lúc nào cÅ©ng sao lÆ°u.\n" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "găp lá»—i khi ghi tập tin sao lÆ°u %s" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "gặp lá»—i khi đóng tập tin sao lÆ°u %s" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "%s phiên bản %s thống kê sá»­ dụng:\n" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " tùy chá»n bá»™ quét: —" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr " %d/%d tình trạng NFA\n" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr " %d/%d tình trạng DFA (%d từ)\n" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d quy tắc\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr " Không sao lÆ°u\n" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr " %d Ä‘ang sao lÆ°u các tình trạng (kiểu không chấp nhận)\n" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr " Bảng đã nén lúc nào cÅ©ng sao lÆ°u\n" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr " Dùng mẫu kiểu đầu dòng\n" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr " %d/%d Ä‘iá»u kiện bắt đầu\n" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr " %d tình trạng épxilông (ε), %d tình trạng épxilông đôi\n" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr " không có hạng ký tá»±\n" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr " %d/%d hạng ky tá»± cần thiết %d/%d từ sức chứa, %d được dùng lại\n" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr " %d cặp tình trạng/tình trạng kế tiếp đã được tạo\n" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr " %d/%d việc chuyên tiếp duy nhất/trùng\n" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr " %d mục nhập bảng\n" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr " %d/%d mục nhập base-def (định nghÄ©a cÆ¡ bản) đã được tạo\n" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr " %d/%d (tối Ä‘a %d) mục nhập nxt-chk (kiểm tra kế tiếp) đã được tạo\n" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr "" " %d/%d (tối Ä‘a %d) mục nhập biểu mẫu nxt-chk (kiểm tra kế tiếp) đã được " "tạo\n" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr " %d mục nhập bảng trống\n" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr " %d proto (vật đầu tiên) đã được tạo\n" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr " %d mẫu đã được tạo, %d lần dùng\n" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr " %d/%d hạng kiểu tÆ°Æ¡ng Ä‘Æ°Æ¡ng đã được tạo\n" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr " %d/%d hạng siêu tÆ°Æ¡ng Ä‘Æ°Æ¡ng đã được tạo\n" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr " %d (%d được lÆ°u) lần va chạm vá»›i hash, %d DFA bằng nhau\n" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr " cần thiết %d tập hợp Ä‘iá»u phân chia lại\n" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr " cần thiết tổng mục nhập bảng %d\n" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "Gặp lá»—i ná»™i bá»™ vì những flexopt dạng sai.\n" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" -msgstr "Hãy thá»­ lệnh « %s --help » (trợ giúp) để xem thêm thông tin.\n" +msgstr "Hãy thá»­ lệnh \"%s --help\" (trợ giúp) để xem thêm thông tin.\n" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" -msgstr "không rõ tùy chá»n « -C » là « %c »" +msgstr "không rõ tùy chá»n \"-C\" là \"%c\"" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "gặp lá»—i phân tích nghiêm trá»ng" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "không thể tạo tập tin thông tin sao lÆ°u %s" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" -msgstr "Tùy chá»n kiểu tÆ°Æ¡ng thích lex AT&T « -l » rất giảm hiệu suất\n" +msgstr "Tùy chá»n kiểu tÆ°Æ¡ng thích lex AT&T \"-l\" rất giảm hiệu suất\n" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr " thì có lẽ thật gây ra trÆ°á»ng hợp giảm hiệu suất khác\n" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" -"%%tùy chá»n « yylineno » giảm hiệu suất CHỈ vá»›i quy tắc khá»›p vá»›i ký tá»± dòng " +"%%tùy chá»n \"yylineno\" giảm hiệu suất CHỈ vá»›i quy tắc khá»›p vá»›i ký tá»± dòng " "má»›i\n" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" -msgstr "Tùy chá»n « -I » (tÆ°Æ¡ng tác) giảm hiệu suất má»™t ít\n" +msgstr "Tùy chá»n \"-I\" (tÆ°Æ¡ng tác) giảm hiệu suất má»™t ít\n" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "yymore() giảm hiệu suất má»™t ít\n" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "REJECT (Ä‘uổi ra) rất giảm hiệu suất\n" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "Quy tắc ngữ cảnh theo sau biến rất giảm hiệu suất\n" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" -msgstr "Không cho phép dùng REJECT (Ä‘uổi ra) vá»›i tùy chá»n « -f » hay « -F »" +msgstr "Không cho phép dùng REJECT (Ä‘uổi ra) vá»›i tùy chá»n \"-f\" hay \"-F\"" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "" -"Không cho phép dùng %option (tùy chá»n) « yylineno » vá»›i REJECT (Ä‘uổi ra)" +"Không cho phép dùng %option (tùy chá»n) \"yylineno\" vá»›i REJECT (Ä‘uổi ra)" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" -"không cho phép dùng quy tắc ngữ cảnh theo sau biến vá»›i tùy chá»n « -f » hay « " -"-F »" +"không cho phép dùng quy tắc ngữ cảnh theo sau biến vá»›i tùy chá»n \"-f\" hay " +"\"-F\"" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" -msgstr "%option (tùy chá»n) « yyclass » chỉ có ý nghÄ©a vá»›i bá»™ quét C++" +msgstr "%option (tùy chá»n) \"yyclass\" chỉ có ý nghÄ©a vá»›i bá»™ quét C++" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Sá»­ dụng: %s [TUY_CHỌN] [TẬP_TIN]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -587,15 +613,15 @@ msgstr "" " -Ca, --align\t\tthoả hiệp giữa bảng lá»›n hÆ¡n\n" "\tvà Ä‘á»™ _canh lá»_ bá»™ nhá»› khá hÆ¡n\n" " -Ce, --ecs \tcấu tạo hạng kiểu tÆ°Æ¡ng Ä‘Æ°Æ¡ng\n" -" -Cf \tkhông nén bảng; dùng sá»± tiêu biểu « -f »\n" -" -CF \tkhông nén bảng; dùng sá»± cách tiêu biểu « -F »\n" +" -Cf \tkhông nén bảng; dùng sá»± tiêu biểu \"-f\"\n" +" -CF \tkhông nén bảng; dùng sá»± cách tiêu biểu \"-F\"\n" " -Cm, --meta-ecs cấu tạo hạng kiểu _siêu_ tÆ°Æ¡ng Ä‘Æ°Æ¡ng\n" " -Cr, --read \tdùng chức năng read() (_Ä‘á»c_) thay thế\n" "\t\t\t\tthiết bị nhập/xuất chuẩn để nhập bá»™ quét\n" " -f, --full \ttạo ra bá»™ quét nhanh và lá»›n; bằng -Cfr (_đầy đủ_)\n" " -F, --fast \tdùng sá»± tiêu biểu bảng xen kẽ; bằng -CFr (_nhanh_)\n" " -Cem \tphÆ°Æ¡ng pháp nén mặc định;\n" -"\tbằng « --ecs » « --meta-ecs »)\n" +"\tbằng \"--ecs\" \"--meta-ecs\")\n" "\n" "Gỡ lá»—i:\n" " -d, --debug \tbật chế Ä‘á»™ _gỡ lá»—i_ trong bá»™ quét\n" @@ -621,21 +647,21 @@ msgstr "" "Ứng xá»­ của bá»™ quét:\n" " -7, --7bit \t\ttạo ra bá»™ quét kiểu 7-bit\n" " -8, --8bit \t\ttạo ra bá»™ quét kiểu 8-bit\n" -" -B, --batch \ttạo ra bá»™ quét _bó_ (ngược vá»›i tùy chá»n « -I »)\n" -" -i, --case-insensitive\t\t_bá» qua chữ hoa/thÆ°á»ng_ trong mẫu\n" +" -B, --batch \ttạo ra bá»™ quét _bó_ (ngược vá»›i tùy chá»n \"-I\")\n" +" -i, --case-insensitive\t\t_bá» qua chữ HOA/thÆ°á»ng_ trong mẫu\n" " -l, --lex-compat \t\tÄ‘á»™ _tÆ°Æ¡ng thích_ tối Ä‘a vá»›i lex gốc\n" " -X, --posix-compat \tÄ‘á»™ _tÆ°Æ¡ng thích_ tối Ä‘a vá»›i lex _POSIX_\n" " -I, --interactive \ttạo ra bá»™ quét _tÆ°Æ¡ng tác_\n" -"\t(ngược vá»›i tùy chá»n « -B »)\n" +"\t(ngược vá»›i tùy chá»n \"-B\")\n" " --yylineno \t\ttheo dõi số đếm số dòng trong yylineno\n" "\n" "Mã đã tạo ra :\n" " -+, --c++ \ttạo ra hang bá»™ quét kiểu C++\n" " -Dmacro[=lá»i_định_nghÄ©a] \t_định nghÄ©a_ bá»™ lệnh #define\n" -"\t\t\t\t\t(lá»i định nghÄ©a mặc định là « 1 »)\n" +"\t\t\t\t\t(lá»i định nghÄ©a mặc định là \"1\")\n" " -L, --noline \tthu hồi các chỉ thị #line trong bá»™ quét\n" "\t(_không dòng_)\n" -" -P, --prefix=CHUá»–I dùng CHUá»–I này là _tiá»n tố_ thay thế « yy »\n" +" -P, --prefix=CHUá»–I dùng CHUá»–I này là _tiá»n tố_ thay thế \"yy\"\n" " -R, --reentrant \ttạo ra má»™t bá»™ quét C kiểu _vào lại_\n" " --bison-bridge bá»™ quét cho trình phân tách thuần tuý kiểu " "bison.\n" @@ -657,43 +683,47 @@ msgstr "" " -h, --help \thiển thị _trợ giúp_ này\n" " -V, --version \tthông báo phiên bản %s\n" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "việc phân bổ cho sko_stack gặp lá»—i" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" -msgstr "tên « %s » là dài nhố nhăng" +msgstr "tên \"%s\" là dài nhố nhăng" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "việc phân chia bá»™ nhá»› bị lá»—i trong allocate_array() (phân chia mảng)" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" -msgstr "phát hiện ký tá»± sai « %s » trong check_char() (kiểm tra ký tá»±)" +msgstr "phát hiện ký tá»± sai \"%s\" trong check_char() (kiểm tra ký tá»±)" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" -msgstr "bá»™ quét cần thiết cỠ« -8 » để dùng ký tá»± %s" +msgstr "bá»™ quét cần thiết cá» \"-8\" để dùng ký tá»± %s" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "bá»™ nhá»› Ä‘á»™ng đã thất bại trong copy_string() (sao chép chuá»—i)" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "%s: gặp lá»—i nôi bá»™ nghiêm trá»ng, %s\n" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "việc thá»­ tăng kích cỡ mảng đã thất bại" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "gặp dòng sai trong tập tin khung sÆ°á»n" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "việc phân chia bá»™ nhá»› bị lá»—i trong yy_flex_xmalloc()" @@ -770,45 +800,58 @@ msgstr "gặp giá trị lặp lại sai" msgid "iteration value must be positive" msgstr "giá trị lặp lại phải là số dÆ°Æ¡ng" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" -msgstr "phạm vị ký tá»± [%c-%c] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thÆ°á»ng" +msgstr "phạm vị ký tá»± [%c-%c] là mÆ¡ hồ trong bá»™ quét bá» qua chữ HOA/thÆ°á»ng" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "gặp phạm vị âm trong hạng ký tá»±" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" -msgstr "[:^lower:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thÆ°á»ng" +msgstr "[:^lower:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ HOA/thÆ°á»ng" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" -msgstr "[:^upper:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ hoa/thÆ°á»ng" +msgstr "[:^upper:] là mÆ¡ hồ trong bá»™ quét bá» qua chữ HOA/thÆ°á»ng" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "dòng nhập quá dài\n" #: scan.l:161 #, c-format msgid "malformed '%top' directive" -msgstr "chỉ thị kiểu « %top » (đầu) dạng sai" +msgstr "chỉ thị kiểu \"%top\" (đầu) dạng sai" #: scan.l:183 #, no-c-format msgid "unrecognized '%' directive" -msgstr "gặp chỉ thị kiểu « % » không được nhận dạng" +msgstr "gặp chỉ thị kiểu \"%\" không được nhận dạng" + +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "Tên định nghÄ©a quá dài\n" #: scan.l:284 msgid "Unmatched '{'" -msgstr "ChÆ°a khá»›p « { »" +msgstr "ChÆ°a khá»›p \"{\"" + +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "Giá trị định nghÄ©a cho {%s} quá dài\n" #: scan.l:317 msgid "incomplete name definition" msgstr "lá»i Ä‘inh nghÄ©a tên chÆ°a hoàn tất" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "dòng tùy chá»n quá dài\n" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -868,27 +911,27 @@ msgstr "không thể mở %s" msgid "Usage: %s [OPTIONS]...\n" msgstr "Sá»­ dụng: %s [TÙY_CHỌN]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" -msgstr "tùy chá»n « %s » không cho phép đối số\n" +msgstr "tùy chá»n \"%s\" không cho phép đối số\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" -msgstr "tùy chá»n « %s » cần đến đối số\n" +msgstr "tùy chá»n \"%s\" cần đến đối số\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" -msgstr "tùy chá»n « %s » là mÆ¡ hồ\n" +msgstr "tùy chá»n \"%s\" là mÆ¡ hồ\n" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" -msgstr "Không nhận ra tùy chá»n « %s »\n" +msgstr "Không nhận ra tùy chá»n \"%s\"\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "Không rõ lá»—i=(%d)\n" diff --git a/external/bsd/flex/dist/po/zh_CN.po b/external/bsd/flex/dist/po/zh_CN.po index 6302d4f90..5e7aa23e4 100644 --- a/external/bsd/flex/dist/po/zh_CN.po +++ b/external/bsd/flex/dist/po/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: flex 2.5.8\n" "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n" -"POT-Creation-Date: 2008-02-26 16:34-0500\n" +"POT-Creation-Date: 2012-07-22 20:48-0400\n" "PO-Revision-Date: 2002-08-18 10:37+0800\n" "Last-Translator: Wang Li \n" "Language-Team: Chinese (simplified) \n" @@ -14,6 +14,22 @@ msgstr "" "Content-Type: text/plain; charset=gb2312\n" "Content-Transfer-Encoding: 8bit\n" +#: buf.c:78 +msgid "Allocation of buffer to print string failed" +msgstr "" + +#: buf.c:100 +msgid "Allocation of buffer for line directive failed" +msgstr "" + +#: buf.c:177 +msgid "Allocation of buffer for m4 def failed" +msgstr "" + +#: buf.c:197 +msgid "Allocation of buffer for m4 undef failed" +msgstr "" + #: dfa.c:61 #, c-format msgid "State #%d is non-accepting -\n" @@ -69,7 +85,7 @@ msgstr "״̬ # %d msgid "Could not write yynxt_tbl[][]" msgstr "" -#: dfa.c:1052 +#: dfa.c:1049 msgid "bad transition character detected in sympartition()" msgstr "ÔÚ sympartition() ¼ì²âµ½´íÎóµÄ±ä»»×Ö·û" @@ -223,286 +239,290 @@ msgstr " msgid "can't open skeleton file %s" msgstr "ÎÞ·¨´ò¿ª¹Ç¼ÜÎļþ %s" -#: main.c:505 +#: main.c:459 +msgid "allocation of macro definition failed" +msgstr "" + +#: main.c:507 #, c-format msgid "input error reading skeleton file %s" msgstr "¶ÁÈ¡¹Ç¼ÜÎļþ %s ʱÊäÈë´íÎó" -#: main.c:509 +#: main.c:511 #, c-format msgid "error closing skeleton file %s" msgstr "¹Ø±Õ¹Ç¼ÜÎļþ %s ³ö´í" -#: main.c:694 +#: main.c:696 #, c-format msgid "error creating header file %s" msgstr "´´½¨Í·Îļþ %s ³ö´í" -#: main.c:702 +#: main.c:704 #, c-format msgid "error writing output file %s" msgstr "дÈëÊä³öÎļþ %s ³ö´í" -#: main.c:706 +#: main.c:708 #, c-format msgid "error closing output file %s" msgstr "¹Ø±ÕÊä³öÎļþ %s ³ö´í" -#: main.c:710 +#: main.c:712 #, c-format msgid "error deleting output file %s" msgstr "ɾ³ýÊä³öÎļþ %s ³ö´í" -#: main.c:717 +#: main.c:719 #, c-format msgid "No backing up.\n" msgstr "" -#: main.c:721 +#: main.c:723 #, c-format msgid "%d backing up (non-accepting) states.\n" msgstr "" -#: main.c:725 +#: main.c:727 #, c-format msgid "Compressed tables always back up.\n" msgstr "" -#: main.c:728 +#: main.c:730 #, c-format msgid "error writing backup file %s" msgstr "дÈ뱸·ÝÎļþ %s ³ö´í" -#: main.c:732 +#: main.c:734 #, c-format msgid "error closing backup file %s" msgstr "¹Ø±Õ±¸·ÝÎļþ %s ³ö´í" -#: main.c:737 +#: main.c:739 #, c-format msgid "%s version %s usage statistics:\n" msgstr "" -#: main.c:740 +#: main.c:742 #, c-format msgid " scanner options: -" msgstr " ɨÃèÆ÷Ñ¡Ï-" -#: main.c:819 +#: main.c:821 #, c-format msgid " %d/%d NFA states\n" msgstr "" -#: main.c:821 +#: main.c:823 #, c-format msgid " %d/%d DFA states (%d words)\n" msgstr "" -#: main.c:823 +#: main.c:825 #, c-format msgid " %d rules\n" msgstr " %d Ìõ¹æÔò\n" -#: main.c:828 +#: main.c:830 #, c-format msgid " No backing up\n" msgstr "" -#: main.c:832 +#: main.c:834 #, c-format msgid " %d backing-up (non-accepting) states\n" msgstr "" -#: main.c:837 +#: main.c:839 #, c-format msgid " Compressed tables always back-up\n" msgstr "" -#: main.c:841 +#: main.c:843 #, c-format msgid " Beginning-of-line patterns used\n" msgstr "" -#: main.c:843 +#: main.c:845 #, c-format msgid " %d/%d start conditions\n" msgstr "" -#: main.c:847 +#: main.c:849 #, c-format msgid " %d epsilon states, %d double epsilon states\n" msgstr "" -#: main.c:851 +#: main.c:853 #, c-format msgid " no character classes\n" msgstr "" -#: main.c:855 +#: main.c:857 #, c-format msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n" msgstr "" -#: main.c:860 +#: main.c:862 #, c-format msgid " %d state/nextstate pairs created\n" msgstr "" -#: main.c:863 +#: main.c:865 #, c-format msgid " %d/%d unique/duplicate transitions\n" msgstr "" -#: main.c:868 +#: main.c:870 #, c-format msgid " %d table entries\n" msgstr "" -#: main.c:876 +#: main.c:878 #, c-format msgid " %d/%d base-def entries created\n" msgstr "" -#: main.c:880 +#: main.c:882 #, c-format msgid " %d/%d (peak %d) nxt-chk entries created\n" msgstr "" -#: main.c:884 +#: main.c:886 #, c-format msgid " %d/%d (peak %d) template nxt-chk entries created\n" msgstr "" -#: main.c:888 +#: main.c:890 #, c-format msgid " %d empty table entries\n" msgstr "" -#: main.c:890 +#: main.c:892 #, c-format msgid " %d protos created\n" msgstr "" -#: main.c:893 +#: main.c:895 #, c-format msgid " %d templates created, %d uses\n" msgstr "" -#: main.c:901 +#: main.c:903 #, c-format msgid " %d/%d equivalence classes created\n" msgstr "" -#: main.c:909 +#: main.c:911 #, c-format msgid " %d/%d meta-equivalence classes created\n" msgstr "" -#: main.c:915 +#: main.c:917 #, c-format msgid " %d (%d saved) hash collisions, %d DFAs equal\n" msgstr "" -#: main.c:917 +#: main.c:919 #, c-format msgid " %d sets of reallocations needed\n" msgstr "" -#: main.c:919 +#: main.c:921 #, c-format msgid " %d total table entries needed\n" msgstr "" -#: main.c:996 +#: main.c:998 #, c-format msgid "Internal error. flexopts are malformed.\n" msgstr "" -#: main.c:1006 +#: main.c:1008 #, c-format msgid "Try `%s --help' for more information.\n" msgstr "" -#: main.c:1063 +#: main.c:1065 #, c-format msgid "unknown -C option '%c'" msgstr "δ֪µÄ -C Ñ¡Ïî¡°%c¡±" -#: main.c:1192 +#: main.c:1194 #, c-format msgid "%s %s\n" msgstr "%s %s\n" -#: main.c:1467 +#: main.c:1469 msgid "fatal parse error" msgstr "ÖÂÃüµÄ½âÎö´íÎó" -#: main.c:1499 +#: main.c:1501 #, c-format msgid "could not create backing-up info file %s" msgstr "" -#: main.c:1520 +#: main.c:1522 #, c-format msgid "-l AT&T lex compatibility option entails a large performance penalty\n" msgstr "" -#: main.c:1523 +#: main.c:1525 #, c-format msgid " and may be the actual source of other reported performance penalties\n" msgstr "" -#: main.c:1529 +#: main.c:1531 #, c-format msgid "" "%%option yylineno entails a performance penalty ONLY on rules that can match " "newline characters\n" msgstr "" -#: main.c:1536 +#: main.c:1538 #, c-format msgid "-I (interactive) entails a minor performance penalty\n" msgstr "" -#: main.c:1541 +#: main.c:1543 #, c-format msgid "yymore() entails a minor performance penalty\n" msgstr "" -#: main.c:1547 +#: main.c:1549 #, c-format msgid "REJECT entails a large performance penalty\n" msgstr "" -#: main.c:1552 +#: main.c:1554 #, c-format msgid "Variable trailing context rules entail a large performance penalty\n" msgstr "" -#: main.c:1564 +#: main.c:1566 msgid "REJECT cannot be used with -f or -F" msgstr "" -#: main.c:1567 +#: main.c:1569 #, c-format msgid "%option yylineno cannot be used with REJECT" msgstr "" -#: main.c:1570 +#: main.c:1572 msgid "variable trailing context rules cannot be used with -f or -F" msgstr "" -#: main.c:1691 +#: main.c:1695 #, c-format msgid "%option yyclass only meaningful for C++ scanners" msgstr "" -#: main.c:1798 +#: main.c:1802 #, c-format msgid "Usage: %s [OPTIONS] [FILE]...\n" msgstr "Ó÷¨£º%s [Ñ¡Ïî] [Îļþ]...\n" -#: main.c:1801 +#: main.c:1805 #, c-format msgid "" "Generates programs that perform pattern-matching on text.\n" @@ -568,43 +588,47 @@ msgid "" " -V, --version report %s version\n" msgstr "" -#: misc.c:100 misc.c:126 +#: misc.c:65 +msgid "allocation of sko_stack failed" +msgstr "" + +#: misc.c:102 misc.c:128 #, c-format msgid "name \"%s\" ridiculously long" msgstr "" -#: misc.c:175 +#: misc.c:177 msgid "memory allocation failed in allocate_array()" msgstr "" -#: misc.c:250 +#: misc.c:230 #, c-format msgid "bad character '%s' detected in check_char()" msgstr "" -#: misc.c:255 +#: misc.c:235 #, c-format msgid "scanner requires -8 flag to use the character %s" msgstr "" -#: misc.c:288 +#: misc.c:268 msgid "dynamic memory failure in copy_string()" msgstr "" -#: misc.c:422 +#: misc.c:367 #, c-format msgid "%s: fatal internal error, %s\n" msgstr "" -#: misc.c:875 +#: misc.c:803 msgid "attempt to increase array size failed" msgstr "ÊÔͼÔö¼ÓÊý×é´óСʱʧ°Ü" -#: misc.c:1002 +#: misc.c:930 msgid "bad line in skeleton file" msgstr "¹Ç¼ÜÎļþÖдíÎóµÄÐÐ" -#: misc.c:1051 +#: misc.c:979 msgid "memory allocation failed in yy_flex_xmalloc()" msgstr "ÔÚ yy_flex_xmalloc() ÖеÄÄÚ´æ·ÖÅäʧ°Ü" @@ -680,24 +704,24 @@ msgstr "" msgid "iteration value must be positive" msgstr "" -#: parse.y:806 parse.y:816 +#: parse.y:804 parse.y:814 #, c-format msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner" msgstr "" -#: parse.y:821 +#: parse.y:819 msgid "negative range in character class" msgstr "" -#: parse.y:918 +#: parse.y:916 msgid "[:^lower:] is ambiguous in case insensitive scanner" msgstr "" -#: parse.y:924 +#: parse.y:922 msgid "[:^upper:] ambiguous in case insensitive scanner" msgstr "" -#: scan.l:75 scan.l:192 scan.l:300 scan.l:443 scan.l:618 scan.l:676 +#: scan.l:75 scan.l:618 scan.l:676 msgid "Input line too long\n" msgstr "" @@ -711,14 +735,27 @@ msgstr "" msgid "unrecognized '%' directive" msgstr "" +#: scan.l:192 +msgid "Definition name too long\n" +msgstr "" + #: scan.l:284 msgid "Unmatched '{'" msgstr "" +#: scan.l:300 +#, c-format +msgid "Definition value for {%s} too long\n" +msgstr "" + #: scan.l:317 msgid "incomplete name definition" msgstr "²»ÍêÕûµÄÃû³Æ¶¨Òå" +#: scan.l:443 +msgid "Option line too long\n" +msgstr "" + #: scan.l:451 #, c-format msgid "unrecognized %%option: %s" @@ -779,27 +816,27 @@ msgstr " msgid "Usage: %s [OPTIONS]...\n" msgstr "Ó÷¨£º%s [Ñ¡Ïî]...\n" -#: scanopt.c:565 +#: scanopt.c:564 #, c-format msgid "option `%s' doesn't allow an argument\n" msgstr "Ñ¡Ïî¡°%s¡±²»½ÓÊܲÎÊý\n" -#: scanopt.c:570 +#: scanopt.c:569 #, c-format msgid "option `%s' requires an argument\n" msgstr "Ñ¡Ïî¡°%s¡±ÐèÒªÒ»¸ö²ÎÊý\n" -#: scanopt.c:574 +#: scanopt.c:573 #, c-format msgid "option `%s' is ambiguous\n" msgstr "" -#: scanopt.c:578 +#: scanopt.c:577 #, c-format msgid "Unrecognized option `%s'\n" msgstr "δ֪µÄÑ¡Ïî¡°%s¡±\n" -#: scanopt.c:582 +#: scanopt.c:581 #, c-format msgid "Unknown error=(%d)\n" msgstr "δ֪´íÎó=(%d)\n" diff --git a/external/bsd/flex/dist/regex.c b/external/bsd/flex/dist/regex.c index b1781b6ad..ed88f3ced 100644 --- a/external/bsd/flex/dist/regex.c +++ b/external/bsd/flex/dist/regex.c @@ -1,4 +1,4 @@ -/* $NetBSD: regex.c,v 1.1.1.1 2009/10/26 00:26:41 christos Exp $ */ +/* $NetBSD: regex.c,v 1.1.1.2 2013/04/06 14:05:44 christos Exp $ */ /** regex - regular expression functions related to POSIX regex lib. */ @@ -57,14 +57,20 @@ void flex_regcomp(regex_t *preg, const char *regex, int cflags) if ((err = regcomp (preg, regex, cflags)) != 0) { const int errbuf_sz = 200; - char * errbuf=0; + char *errbuf, *rxerr; - errbuf = (char*)flex_alloc(errbuf_sz *sizeof(char)); - regerror (err, preg, errbuf, errbuf_sz); - snprintf (errbuf, errbuf_sz, "regcomp failed: %s\n", errbuf); + errbuf = (char*)flex_alloc(errbuf_sz *sizeof(char)); + if (!errbuf) + flexfatal(_("Unable to allocate buffer to report regcomp")); + rxerr = (char*)flex_alloc(errbuf_sz *sizeof(char)); + if (!rxerr) + flexfatal(_("Unable to allocate buffer for regerror")); + regerror (err, preg, rxerr, errbuf_sz); + snprintf (errbuf, errbuf_sz, "regcomp for \"%s\" failed: %s", regex, rxerr); flexfatal (errbuf); free(errbuf); + free(rxerr); } } @@ -82,6 +88,8 @@ char *regmatch_dup (regmatch_t * m, const char *src) return NULL; len = m->rm_eo - m->rm_so; str = (char *) flex_alloc ((len + 1) * sizeof (char)); + if (!str) + flexfatal(_("Unable to allocate a copy of the match")); strncpy (str, src + m->rm_so, len); str[len] = 0; return str; diff --git a/external/bsd/flex/dist/scan.l b/external/bsd/flex/dist/scan.l index cf8bc1c78..7b7d5639c 100644 --- a/external/bsd/flex/dist/scan.l +++ b/external/bsd/flex/dist/scan.l @@ -1,4 +1,4 @@ -/* $NetBSD: scan.l,v 1.3 2010/04/07 16:14:07 christos Exp $ */ +/* $NetBSD: scan.l,v 1.4 2013/04/06 14:27:52 christos Exp $ */ /* scan.l - scanner for flex input -*-C-*- */ @@ -191,7 +191,7 @@ M4QEND "]]" } else { - synerr( _("Input line too long\n")); + synerr( _("Definition name too long\n")); FLEX_EXIT(EXIT_FAILURE); } @@ -299,7 +299,7 @@ M4QEND "]]" } else { - synerr( _("Input line too long\n")); + format_synerr( _("Definition value for {%s} too long\n"), nmstr); FLEX_EXIT(EXIT_FAILURE); } /* Skip trailing whitespace. */ @@ -442,7 +442,7 @@ M4QEND "]]" } else { - synerr( _("Input line too long\n")); + synerr( _("Option line too long\n")); FLEX_EXIT(EXIT_FAILURE); } nmstr[strlen( nmstr ) - 1] = '\0'; @@ -885,7 +885,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ } } - {M4QSTART} ACTION_ECHO_QEND; + {M4QSTART} ACTION_ECHO_QSTART; {M4QEND} ACTION_ECHO_QEND; . ACTION_ECHO; {NL} { @@ -908,7 +908,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ { "{" ACTION_ECHO; ++bracelevel; "}" ACTION_ECHO; --bracelevel; - {M4QSTART} ACTION_ECHO_QEND; + {M4QSTART} ACTION_ECHO_QSTART; {M4QEND} ACTION_ECHO_QEND; [^[:alpha:]_{}"'/\n\[\]]+ ACTION_ECHO; [\[\]] ACTION_ECHO; diff --git a/external/bsd/flex/dist/scanflags.c b/external/bsd/flex/dist/scanflags.c index 82e55db3e..0c5b6b60a 100644 --- a/external/bsd/flex/dist/scanflags.c +++ b/external/bsd/flex/dist/scanflags.c @@ -1,4 +1,4 @@ -/* $NetBSD: scanflags.c,v 1.1.1.1 2009/10/26 00:26:55 christos Exp $ */ +/* $NetBSD: scanflags.c,v 1.1.1.2 2013/04/06 14:05:44 christos Exp $ */ /* scanflags - flags used by scanning. */ @@ -62,6 +62,9 @@ sf_init (void) { assert(_sf_stk == NULL); _sf_stk = (scanflags_t*) flex_alloc ( sizeof(scanflags_t) * (_sf_max = 32)); + if (!_sf_stk) + lerrsf_fatal(_("Unable to allocate %ld of stack"), + (long)sizeof(scanflags_t)); _sf_stk[_sf_top_ix] = 0; } diff --git a/external/bsd/flex/dist/scanopt.c b/external/bsd/flex/dist/scanopt.c index 9d9e08a6a..cad3a9685 100644 --- a/external/bsd/flex/dist/scanopt.c +++ b/external/bsd/flex/dist/scanopt.c @@ -1,4 +1,4 @@ -/* $NetBSD: scanopt.c,v 1.2 2009/10/26 04:27:15 christos Exp $ */ +/* $NetBSD: scanopt.c,v 1.4 2013/10/20 03:13:44 christos Exp $ */ /* flex - tool to generate fast lexical analyzers */ @@ -191,7 +191,7 @@ scanopt_t *scanopt_init (options, argc, argv, flags) s->aux = (struct _aux *) malloc (s->optc * sizeof (struct _aux)); for (i = 0; i < s->optc; i++) { - const char *p, *pname; + const Char *p, *pname; const struct optspec_t *opt; struct _aux *aux; @@ -202,11 +202,11 @@ scanopt_t *scanopt_init (options, argc, argv, flags) if (opt->opt_fmt[0] == '-' && opt->opt_fmt[1] == '-') { aux->flags |= IS_LONG; - pname = opt->opt_fmt + 2; + pname = (const Char *)(opt->opt_fmt + 2); s->has_long = 1; } else { - pname = opt->opt_fmt + 1; + pname = (const Char *)(opt->opt_fmt + 1); s->has_short = 1; } aux->printlen = strlen (opt->opt_fmt); @@ -483,7 +483,7 @@ int scanopt_usage (scanner, fp, usage) while (*p && n < maxlen[1] && *p != '\n') { - if (isspace ((unsigned char)*p) + if (isspace ((Char)(*p)) || *p == '-') lastws = p; n++; @@ -506,8 +506,7 @@ int scanopt_usage (scanner, fp, usage) if (lastws) { fprintf (fp, "%.*s\n", - (int)(lastws - - pstart), + (int)(lastws - pstart), pstart); pstart = lastws + 1; @@ -540,10 +539,6 @@ static int scanopt_err (s, opt_offset, is_short, err) { const char *optname = ""; char optchar[2]; - const optspec_t *opt = NULL; - - if (opt_offset >= 0) - opt = s->options + opt_offset; if (!s->no_err_msg) { diff --git a/external/bsd/flex/dist/tables.c b/external/bsd/flex/dist/tables.c index 82392940c..5b70e3a49 100644 --- a/external/bsd/flex/dist/tables.c +++ b/external/bsd/flex/dist/tables.c @@ -1,4 +1,4 @@ -/* $NetBSD: tables.c,v 1.2 2009/10/26 04:27:15 christos Exp $ */ +/* $NetBSD: tables.c,v 1.3 2013/04/06 14:27:52 christos Exp $ */ /* tables.c - tables serialization code * @@ -59,10 +59,10 @@ int yytbl_write16 (struct yytbl_writer *wr, flex_uint16_t v); int yytbl_write8 (struct yytbl_writer *wr, flex_uint8_t v); int yytbl_writen (struct yytbl_writer *wr, void *v, flex_int32_t len); static flex_int32_t yytbl_data_geti (const struct yytbl_data *tbl, int i); -#ifdef notdef +/* XXX Not used static flex_int32_t yytbl_data_getijk (const struct yytbl_data *tbl, int i, int j, int k); -#endif + */ /** Initialize the table writer. @@ -334,6 +334,8 @@ int yytbl_write8 (struct yytbl_writer *wr, flex_uint8_t v) } +/* XXX Not Used */ +#if 0 /** Extract data element [i][j] from array data tables. * @param tbl data table * @param i index into higher dimension array. i should be zero for one-dimensional arrays. @@ -341,7 +343,6 @@ int yytbl_write8 (struct yytbl_writer *wr, flex_uint8_t v) * @param k index into struct, must be 0 or 1. Only valid for YYTD_ID_TRANSITION table * @return data[i][j + k] */ -#ifdef notdef static flex_int32_t yytbl_data_getijk (const struct yytbl_data *tbl, int i, int j, int k) { @@ -369,7 +370,7 @@ static flex_int32_t yytbl_data_getijk (const struct yytbl_data *tbl, int i, return 0; } -#endif +#endif /* Not used */ /** Extract data element [i] from array data tables treated as a single flat array of integers. * Be careful for 2-dimensional arrays or for YYTD_ID_TRANSITION, which is an array diff --git a/external/bsd/flex/dist/tests/Makefile.in b/external/bsd/flex/dist/tests/Makefile.in index 79d01427a..144a8c114 100644 --- a/external/bsd/flex/dist/tests/Makefile.in +++ b/external/bsd/flex/dist/tests/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -35,15 +36,12 @@ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -71,22 +69,52 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SCRIPTS = $(dist_noinst_SCRIPTS) SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ - install-exec-recursive install-info-recursive \ - install-recursive installcheck-recursive installdirs-recursive \ - pdf-recursive ps-recursive uninstall-info-recursive \ - uninstall-recursive + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ + $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ + distdir ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -110,8 +138,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -131,6 +161,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -140,6 +171,7 @@ 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@ POSUB = @POSUB@ @@ -151,14 +183,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -170,28 +201,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ EXTRA_DIST = \ README @@ -302,14 +345,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -327,7 +370,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -336,7 +379,7 @@ uninstall-info-am: # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @failcom='exit 1'; \ + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -353,16 +396,15 @@ $(RECURSIVE_TARGETS): else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @failcom='exit 1'; \ +$(RECURSIVE_CLEAN_TARGETS): + @fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ @@ -388,16 +430,16 @@ maintainer-clean-recursive: else \ local_target="$$target"; \ fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) @@ -405,14 +447,14 @@ ID: $(HEADERS) $(SOURCES) $(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; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ + set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ @@ -424,81 +466,101 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; } \ - END { for (i in files) print i; }'`; \ - if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + $(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; \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique; \ + 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: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) - tags=; \ - 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; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ + $(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) \ - $$tags $$unique + $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done - list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ - || $(mkdir_p) "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ - distdir=`$(am__cd) $(distdir) && pwd`; \ - top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ - (cd $$subdir && \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$top_distdir" \ - distdir="$$distdir/$$subdir" \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ @@ -529,6 +591,7 @@ 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" @@ -547,18 +610,38 @@ dvi-am: html: html-recursive +html-am: + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + +install-dvi-am: + install-exec-am: +install-html: install-html-recursive + +install-html-am: + install-info: install-info-recursive +install-info-am: + install-man: +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -577,22 +660,23 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \ + ctags-recursive install-am install-strip tags-recursive -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ - check-local clean clean-generic clean-recursive ctags \ - ctags-recursive distclean distclean-generic \ - distclean-recursive distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-strip installcheck \ - installcheck-am installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive \ - mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ - pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ - uninstall-info-am +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am check-local clean clean-generic \ + ctags ctags-recursive distclean distclean-generic \ + distclean-tags distdir 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 \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am # clean up before running the test suite so we dont test old builds of test code @@ -616,6 +700,7 @@ check-local: clean echo Tests succeeded: `echo @ECHO_N@ "$$NOK@ECHO_C@"|wc -c`; \ echo Tests FAILED: `echo @ECHO_N@ "$$NFAIL@ECHO_C@"|wc -c` ; \ test "$$NFAIL" = "" + # 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/external/bsd/flex/dist/tests/TEMPLATE/Makefile.in b/external/bsd/flex/dist/tests/TEMPLATE/Makefile.in index 50da6d178..9ab5692b6 100644 --- a/external/bsd/flex/dist/tests/TEMPLATE/Makefile.in +++ b/external/bsd/flex/dist/tests/TEMPLATE/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l parser.y test.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o # parser.o @@ -199,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/TEMPLATE/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/TEMPLATE/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/TEMPLATE/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/TEMPLATE/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +298,7 @@ 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" @@ -302,18 +317,38 @@ 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 @@ -332,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -358,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-alloc-extra/Makefile.in b/external/bsd/flex/dist/tests/test-alloc-extra/Makefile.in index 1a3dbbc94..6fcc4b38f 100644 --- a/external/bsd/flex/dist/tests/test-alloc-extra/Makefile.in +++ b/external/bsd/flex/dist/tests/test-alloc-extra/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-alloc-extra/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-alloc-extra/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-alloc-extra/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-alloc-extra/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-array-nr/Makefile.in b/external/bsd/flex/dist/tests/test-array-nr/Makefile.in index 005f2e68e..529e14c0a 100644 --- a/external/bsd/flex/dist/tests/test-array-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-array-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-array-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-array-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-array-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-array-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -356,6 +395,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-array-r/Makefile.in b/external/bsd/flex/dist/tests/test-array-r/Makefile.in index 2b61b55d3..f5ad61923 100644 --- a/external/bsd/flex/dist/tests/test-array-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-array-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-array-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-array-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-array-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-array-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-basic-nr/Makefile.in b/external/bsd/flex/dist/tests/test-basic-nr/Makefile.in index 9e1dd9c18..961e57f04 100644 --- a/external/bsd/flex/dist/tests/test-basic-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-basic-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-basic-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-basic-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-basic-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-basic-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -356,6 +395,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-basic-r/Makefile.in b/external/bsd/flex/dist/tests/test-basic-r/Makefile.in index b46bee892..6ec9465ef 100644 --- a/external/bsd/flex/dist/tests/test-basic-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-basic-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-basic-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-basic-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-basic-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-basic-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -356,6 +395,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-bison-nr/Makefile.am b/external/bsd/flex/dist/tests/test-bison-nr/Makefile.am index b25157233..91edc35e6 100644 --- a/external/bsd/flex/dist/tests/test-bison-nr/Makefile.am +++ b/external/bsd/flex/dist/tests/test-bison-nr/Makefile.am @@ -36,9 +36,14 @@ testname = test-bison-nr scanner.c: $(srcdir)/scanner.l $(FLEX) $< +scanner.h: scanner.c +scanner.o: parser.h parser.c: $(srcdir)/parser.y $(BISON) $(YFLAGS) $< +parser.h: parser.c + +main.o: scanner.h parser.h $(testname)$(EXEEXT): $(OBJS) $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) @@ -48,6 +53,3 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< - -parser.h: parser.c -scanner.c main.o: parser.h diff --git a/external/bsd/flex/dist/tests/test-bison-nr/Makefile.in b/external/bsd/flex/dist/tests/test-bison-nr/Makefile.in index 25e40a5db..7ee987c69 100644 --- a/external/bsd/flex/dist/tests/test-bison-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-bison-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,14 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +#LDFLAGS = $(top_srcdir)/libfl.a +YFLAGS = --defines --output=parser.c --name-prefix="test" +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,36 +160,45 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l parser.y test.input main.c CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) $(OBJS) OUTPUT OBJS = scanner.o parser.o main.o AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -I$(builddir) -#LDFLAGS = $(top_srcdir)/libfl.a -YFLAGS = --defines --output=parser.c --name-prefix="test" testname = test-bison-nr all: all-am @@ -198,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-bison-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-bison-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-bison-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-bison-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +296,7 @@ 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" @@ -301,18 +315,38 @@ 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 @@ -331,23 +365,31 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l $(FLEX) $< +scanner.h: scanner.c +scanner.o: parser.h parser.c: $(srcdir)/parser.y $(BISON) $(YFLAGS) $< +parser.h: parser.c + +main.o: scanner.h parser.h $(testname)$(EXEEXT): $(OBJS) $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) @@ -358,8 +400,6 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< -parser.h: parser.c -scanner.c main.o: parser.h # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.am b/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.am index 3be89072a..1da325720 100644 --- a/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.am +++ b/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.am @@ -36,9 +36,14 @@ testname = test-bison-yylloc scanner.c: $(srcdir)/scanner.l $(FLEX) $< +scanner.h: scanner.c +scanner.o: parser.h parser.c: $(srcdir)/parser.y $(BISON) $(YFLAGS) $< +parser.h: parser.c + +main.o: scanner.h parser.h $(testname)$(EXEEXT): $(OBJS) $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) @@ -48,6 +53,3 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< - -parser.h: parser.c -scanner.c main.o: parser.h diff --git a/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.in b/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.in index c9dd923a0..4ddb9696a 100644 --- a/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.in +++ b/external/bsd/flex/dist/tests/test-bison-yylloc/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,14 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +#LDFLAGS = $(top_srcdir)/libfl.a +YFLAGS = --defines --output=parser.c --name-prefix="test" +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,36 +160,45 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l parser.y test.input main.c CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) $(OBJS) OUTPUT OBJS = scanner.o parser.o main.o AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -I$(builddir) -#LDFLAGS = $(top_srcdir)/libfl.a -YFLAGS = --defines --output=parser.c --name-prefix="test" testname = test-bison-yylloc all: all-am @@ -198,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-bison-yylloc/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-bison-yylloc/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-bison-yylloc/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-bison-yylloc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +296,7 @@ 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" @@ -301,18 +315,38 @@ 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 @@ -331,23 +365,31 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l $(FLEX) $< +scanner.h: scanner.c +scanner.o: parser.h parser.c: $(srcdir)/parser.y $(BISON) $(YFLAGS) $< +parser.h: parser.c + +main.o: scanner.h parser.h $(testname)$(EXEEXT): $(OBJS) $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) @@ -358,8 +400,6 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< -parser.h: parser.c -scanner.c main.o: parser.h # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.am b/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.am index e55e8a787..aa9d93a28 100644 --- a/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.am +++ b/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.am @@ -36,9 +36,14 @@ testname = test-bison-yylval scanner.c: $(srcdir)/scanner.l $(FLEX) $< +scanner.h: scanner.c +scanner.o: parser.h parser.c: $(srcdir)/parser.y $(BISON) $(YFLAGS) $< +parser.h: parser.c + +main.o: scanner.h parser.h $(testname)$(EXEEXT): $(OBJS) $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) @@ -48,6 +53,3 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< - -parser.h: parser.c -main.o: parser.h diff --git a/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.in b/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.in index db638cb2c..3c1ea2a24 100644 --- a/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.in +++ b/external/bsd/flex/dist/tests/test-bison-yylval/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,14 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +#LDFLAGS = $(top_srcdir)/libfl.a +YFLAGS = --defines --output=parser.c --name-prefix="test" +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,36 +160,45 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l parser.y test.input main.c CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) $(OBJS) OUTPUT OBJS = parser.o scanner.o main.o AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -I$(builddir) -#LDFLAGS = $(top_srcdir)/libfl.a -YFLAGS = --defines --output=parser.c --name-prefix="test" testname = test-bison-yylval all: all-am @@ -198,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-bison-yylval/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-bison-yylval/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-bison-yylval/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-bison-yylval/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +296,7 @@ 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" @@ -301,18 +315,38 @@ 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 @@ -331,23 +365,31 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l $(FLEX) $< +scanner.h: scanner.c +scanner.o: parser.h parser.c: $(srcdir)/parser.y $(BISON) $(YFLAGS) $< +parser.h: parser.c + +main.o: scanner.h parser.h $(testname)$(EXEEXT): $(OBJS) $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) @@ -358,8 +400,6 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< -parser.h: parser.c -main.o: parser.h # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-c++-basic/Makefile.in b/external/bsd/flex/dist/tests/test-c++-basic/Makefile.in index 11a034557..0920dfac0 100644 --- a/external/bsd/flex/dist/tests/test-c++-basic/Makefile.in +++ b/external/bsd/flex/dist/tests/test-c++-basic/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.cpp scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c++-basic/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-c++-basic/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c++-basic/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-c++-basic/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.cpp: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .cpp.o: $(CXX) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-c++-multiple-scanners/Makefile.in b/external/bsd/flex/dist/tests/test-c++-multiple-scanners/Makefile.in index ad1565f47..d9136664d 100644 --- a/external/bsd/flex/dist/tests/test-c++-multiple-scanners/Makefile.in +++ b/external/bsd/flex/dist/tests/test-c++-multiple-scanners/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner-1.l scanner-2.l main.cpp test.input CLEANFILES = scanner-1.cpp $(testname)$(EXEEXT) OUTPUT $(OBJS) scanner-2.cpp OBJS = scanner-1.o scanner-2.o main.o @@ -198,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c++-multiple-scanners/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-c++-multiple-scanners/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c++-multiple-scanners/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-c++-multiple-scanners/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +297,7 @@ 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" @@ -301,18 +316,38 @@ 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 @@ -331,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner-1.cpp: $(srcdir)/scanner-1.l @@ -361,6 +399,7 @@ test: $(testname)$(EXEEXT) main.o: scanner-1.h scanner-2.h scanner-1.h: scanner-1.cpp scanner-2.h: scanner-2.cpp + # 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/external/bsd/flex/dist/tests/test-c++-yywrap/Makefile.in b/external/bsd/flex/dist/tests/test-c++-yywrap/Makefile.in index bd2a82eef..207dcaa7b 100644 --- a/external/bsd/flex/dist/tests/test-c++-yywrap/Makefile.in +++ b/external/bsd/flex/dist/tests/test-c++-yywrap/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.cpp scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c++-yywrap/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-c++-yywrap/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c++-yywrap/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-c++-yywrap/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.cpp: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .cpp.o: $(CXX) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-c-cpp-nr/Makefile.in b/external/bsd/flex/dist/tests/test-c-cpp-nr/Makefile.in index cc285b4e1..ae7073e5b 100644 --- a/external/bsd/flex/dist/tests/test-c-cpp-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-c-cpp-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.cpp $(testname)$(EXEEXT) $(OBJS) OUTPUT @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c-cpp-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-c-cpp-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c-cpp-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-c-cpp-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.cpp: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .cpp.o: $(CXX) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-c-cpp-r/Makefile.in b/external/bsd/flex/dist/tests/test-c-cpp-r/Makefile.in index 8378fc2db..d2270471d 100644 --- a/external/bsd/flex/dist/tests/test-c-cpp-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-c-cpp-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.cpp $(testname)$(EXEEXT) $(OBJS) OUTPUT @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c-cpp-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-c-cpp-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-c-cpp-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-c-cpp-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.cpp: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .cpp.o: $(CXX) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-ccl/Makefile.in b/external/bsd/flex/dist/tests/test-ccl/Makefile.in index 162e8c62c..f4befd02a 100644 --- a/external/bsd/flex/dist/tests/test-ccl/Makefile.in +++ b/external/bsd/flex/dist/tests/test-ccl/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o @@ -196,14 +207,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-ccl/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-ccl/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-ccl/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-ccl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +232,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +241,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +295,7 @@ 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" @@ -299,18 +314,38 @@ 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 @@ -329,16 +364,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +390,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-concatenated-options/Makefile.in b/external/bsd/flex/dist/tests/test-concatenated-options/Makefile.in index 827632bd8..9ad37b791 100644 --- a/external/bsd/flex/dist/tests/test-concatenated-options/Makefile.in +++ b/external/bsd/flex/dist/tests/test-concatenated-options/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex$(EXEEXT) CLEANFILES = OUTPUT all: all-am @@ -190,14 +202,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-concatenated-options/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-concatenated-options/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-concatenated-options/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-concatenated-options/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -215,7 +227,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -224,29 +236,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -275,6 +290,7 @@ 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" @@ -293,18 +309,38 @@ 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 @@ -323,16 +359,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # The test below just wants to know if flex can process multiple @@ -343,6 +382,7 @@ uninstall-am: uninstall-info-am test: echo %% | $(FLEX) -cn -o /dev/null + # 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/external/bsd/flex/dist/tests/test-debug-nr/Makefile.in b/external/bsd/flex/dist/tests/test-debug-nr/Makefile.in index 68bf3c3b2..60bab1d3d 100644 --- a/external/bsd/flex/dist/tests/test-debug-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-debug-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -196,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-debug-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-debug-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-debug-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-debug-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +296,7 @@ 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" @@ -299,18 +315,38 @@ 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 @@ -329,16 +365,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +391,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-debug-r/Makefile.in b/external/bsd/flex/dist/tests/test-debug-r/Makefile.in index b75323150..c01696360 100644 --- a/external/bsd/flex/dist/tests/test-debug-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-debug-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -196,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-debug-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-debug-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-debug-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-debug-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +296,7 @@ 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" @@ -299,18 +315,38 @@ 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 @@ -329,16 +365,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +391,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-extended/Makefile.in b/external/bsd/flex/dist/tests/test-extended/Makefile.in index 06088dd63..806f439a4 100644 --- a/external/bsd/flex/dist/tests/test-extended/Makefile.in +++ b/external/bsd/flex/dist/tests/test-extended/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o @@ -196,14 +207,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-extended/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-extended/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-extended/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-extended/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +232,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +241,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +295,7 @@ 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" @@ -299,18 +314,38 @@ 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 @@ -329,16 +364,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +390,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-header-nr/Makefile.in b/external/bsd/flex/dist/tests/test-header-nr/Makefile.in index 90528d4a0..64745a204 100644 --- a/external/bsd/flex/dist/tests/test-header-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-header-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input main.c CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) $(OBJS) OUTPUT OBJS = scanner.o main.o @@ -198,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-header-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-header-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-header-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-header-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +297,7 @@ 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" @@ -301,18 +316,38 @@ 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 @@ -331,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -360,6 +398,7 @@ test: $(testname)$(EXEEXT) scanner.h: scanner.c main.o: scanner.h + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-header-r/Makefile.in b/external/bsd/flex/dist/tests/test-header-r/Makefile.in index 42015eabd..13bd3ccf5 100644 --- a/external/bsd/flex/dist/tests/test-header-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-header-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input main.c CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o main.o @@ -199,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-header-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-header-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-header-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-header-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +298,7 @@ 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" @@ -302,18 +317,38 @@ 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 @@ -332,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -361,6 +399,7 @@ test: $(testname)$(EXEEXT) scanner.h: scanner.c main.o: scanner.h + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-include-by-buffer/Makefile.in b/external/bsd/flex/dist/tests/test-include-by-buffer/Makefile.in index f1d618193..8075a3db6 100644 --- a/external/bsd/flex/dist/tests/test-include-by-buffer/Makefile.in +++ b/external/bsd/flex/dist/tests/test-include-by-buffer/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test-1.input test-2.input test-3.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-include-by-buffer/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-include-by-buffer/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-include-by-buffer/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-include-by-buffer/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-include-by-push/Makefile.in b/external/bsd/flex/dist/tests/test-include-by-push/Makefile.in index 16ca418ec..72289634b 100644 --- a/external/bsd/flex/dist/tests/test-include-by-push/Makefile.in +++ b/external/bsd/flex/dist/tests/test-include-by-push/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test-1.input test-2.input test-3.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-include-by-push/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-include-by-push/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-include-by-push/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-include-by-push/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-include-by-reentrant/Makefile.in b/external/bsd/flex/dist/tests/test-include-by-reentrant/Makefile.in index c6bd8d2a1..2d2f65eeb 100644 --- a/external/bsd/flex/dist/tests/test-include-by-reentrant/Makefile.in +++ b/external/bsd/flex/dist/tests/test-include-by-reentrant/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test-1.input test-2.input test-3.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-include-by-reentrant/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-include-by-reentrant/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-include-by-reentrant/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-include-by-reentrant/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-linedir-r/Makefile.in b/external/bsd/flex/dist/tests/test-linedir-r/Makefile.in index de28eddb7..3aa42a692 100644 --- a/external/bsd/flex/dist/tests/test-linedir-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-linedir-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input main.c check-lines.awk CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o main.o @@ -199,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-linedir-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-linedir-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-linedir-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-linedir-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +298,7 @@ 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" @@ -302,18 +317,38 @@ 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 @@ -332,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -363,6 +401,7 @@ test: $(testname)$(EXEEXT) scanner.h: scanner.c main.o: scanner.h + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-lineno-nr/Makefile.in b/external/bsd/flex/dist/tests/test-lineno-nr/Makefile.in index f58dfcc75..84297956c 100644 --- a/external/bsd/flex/dist/tests/test-lineno-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-lineno-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -195,14 +207,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-lineno-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-lineno-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-lineno-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-lineno-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -220,7 +232,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -229,29 +241,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -280,6 +295,7 @@ 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" @@ -298,18 +314,38 @@ 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 @@ -328,16 +364,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +391,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-lineno-r/Makefile.in b/external/bsd/flex/dist/tests/test-lineno-r/Makefile.in index 0da15589a..7e8761e8f 100644 --- a/external/bsd/flex/dist/tests/test-lineno-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-lineno-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -195,14 +207,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-lineno-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-lineno-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-lineno-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-lineno-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -220,7 +232,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -229,29 +241,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -280,6 +295,7 @@ 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" @@ -298,18 +314,38 @@ 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 @@ -328,16 +364,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +391,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-mem-nr/Makefile.in b/external/bsd/flex/dist/tests/test-mem-nr/Makefile.in index 9c80cc87d..4b218d244 100644 --- a/external/bsd/flex/dist/tests/test-mem-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-mem-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -196,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-mem-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-mem-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-mem-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-mem-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +296,7 @@ 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" @@ -299,18 +315,38 @@ 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 @@ -329,16 +365,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +391,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-mem-r/Makefile.in b/external/bsd/flex/dist/tests/test-mem-r/Makefile.in index 738acab84..c0fbea25a 100644 --- a/external/bsd/flex/dist/tests/test-mem-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-mem-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -196,14 +208,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-mem-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-mem-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-mem-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-mem-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +233,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +242,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +296,7 @@ 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" @@ -299,18 +315,38 @@ 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 @@ -329,16 +365,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -352,6 +391,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-multiple-scanners-nr/Makefile.in b/external/bsd/flex/dist/tests/test-multiple-scanners-nr/Makefile.in index 1cd7d35d2..3b8158781 100644 --- a/external/bsd/flex/dist/tests/test-multiple-scanners-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-multiple-scanners-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner-1.l scanner-2.l main.c CLEANFILES = scanner-1.c scanner-1.h $(testname)$(EXEEXT) OUTPUT $(OBJS) scanner-2.c scanner-2.h OBJS = scanner-1.o scanner-2.o main.o @@ -198,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-multiple-scanners-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-multiple-scanners-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-multiple-scanners-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-multiple-scanners-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +297,7 @@ 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" @@ -301,18 +316,38 @@ 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 @@ -331,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner-1.c: $(srcdir)/scanner-1.l @@ -361,6 +399,7 @@ test: $(testname)$(EXEEXT) main.o: scanner-1.h scanner-2.h scanner-1.h: scanner-1.c scanner-2.h: scanner-2.c + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-multiple-scanners-r/Makefile.in b/external/bsd/flex/dist/tests/test-multiple-scanners-r/Makefile.in index da99f9048..a0ac19963 100644 --- a/external/bsd/flex/dist/tests/test-multiple-scanners-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-multiple-scanners-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner-1.l scanner-2.l main.c CLEANFILES = scanner-1.c scanner-1.h $(testname)$(EXEEXT) OUTPUT\ $(OBJS) scanner-2.c scanner-2.h scanner-1.tables \ @@ -201,14 +212,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-multiple-scanners-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-multiple-scanners-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-multiple-scanners-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-multiple-scanners-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -226,7 +237,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -235,29 +246,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -286,6 +300,7 @@ 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" @@ -304,18 +319,38 @@ 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 @@ -334,16 +369,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner-1.c: $(srcdir)/scanner-1.l @@ -364,6 +402,7 @@ test: $(testname)$(EXEEXT) main.o: scanner-1.h scanner-2.h scanner-1.h: scanner-1.c scanner-2.h: scanner-2.c + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-noansi-nr/Makefile.in b/external/bsd/flex/dist/tests/test-noansi-nr/Makefile.in index cf9167cf0..ac587d950 100644 --- a/external/bsd/flex/dist/tests/test-noansi-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-noansi-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-noansi-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-noansi-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-noansi-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-noansi-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -356,6 +395,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-noansi-r/Makefile.in b/external/bsd/flex/dist/tests/test-noansi-r/Makefile.in index 58ddaec29..7815d8cb2 100644 --- a/external/bsd/flex/dist/tests/test-noansi-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-noansi-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-noansi-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-noansi-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-noansi-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-noansi-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -356,6 +395,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-posix/Makefile.in b/external/bsd/flex/dist/tests/test-posix/Makefile.in index 13b12764b..88b749e07 100644 --- a/external/bsd/flex/dist/tests/test-posix/Makefile.in +++ b/external/bsd/flex/dist/tests/test-posix/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-posix/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-posix/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-posix/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-posix/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-posixly-correct/Makefile.in b/external/bsd/flex/dist/tests/test-posixly-correct/Makefile.in index 8a41f9744..48db81774 100644 --- a/external/bsd/flex/dist/tests/test-posixly-correct/Makefile.in +++ b/external/bsd/flex/dist/tests/test-posixly-correct/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-posixly-correct/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-posixly-correct/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-posixly-correct/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-posixly-correct/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,16 +366,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -353,6 +392,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-prefix-nr/Makefile.in b/external/bsd/flex/dist/tests/test-prefix-nr/Makefile.in index b755786af..03de49472 100644 --- a/external/bsd/flex/dist/tests/test-prefix-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-prefix-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-prefix-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-prefix-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-prefix-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-prefix-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-prefix-r/Makefile.in b/external/bsd/flex/dist/tests/test-prefix-r/Makefile.in index 3dc83bf8f..5264c53a3 100644 --- a/external/bsd/flex/dist/tests/test-prefix-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-prefix-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-prefix-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-prefix-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-prefix-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-prefix-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-pthread/Makefile.am b/external/bsd/flex/dist/tests/test-pthread/Makefile.am index 7d2d062fb..87474f787 100644 --- a/external/bsd/flex/dist/tests/test-pthread/Makefile.am +++ b/external/bsd/flex/dist/tests/test-pthread/Makefile.am @@ -27,7 +27,7 @@ CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $ OBJS = scanner.o # parser.o AM_CPPFLAGS = -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -LDFLAGS = -lpthread +LIBS = -lpthread #LFLAGS = --header="scanner.h" #YFLAGS = --defines --output=parser.c @@ -37,7 +37,7 @@ scanner.c: $(srcdir)/scanner.l $(FLEX) $(LFLAGS) $< $(testname)$(EXEEXT): $(OBJS) - $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) + $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) $(LOADLIBES) test: $(testname)$(EXEEXT) ./$(testname) $(srcdir)/test-*.input diff --git a/external/bsd/flex/dist/tests/test-pthread/Makefile.in b/external/bsd/flex/dist/tests/test-pthread/Makefile.in index c872479fa..21255c7ae 100644 --- a/external/bsd/flex/dist/tests/test-pthread/Makefile.in +++ b/external/bsd/flex/dist/tests/test-pthread/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,27 +96,30 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ -LDFLAGS = -lpthread +LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ +LIBS = -lpthread LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test-1.input test-2.input test-3.input test-4.input test-5.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -197,14 +209,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-pthread/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-pthread/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-pthread/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-pthread/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -222,7 +234,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -231,29 +243,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -282,6 +297,7 @@ 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" @@ -300,18 +316,38 @@ 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 @@ -330,29 +366,33 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l $(FLEX) $(LFLAGS) $< $(testname)$(EXEEXT): $(OBJS) - $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) + $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LIBS) $(LOADLIBES) test: $(testname)$(EXEEXT) ./$(testname) $(srcdir)/test-*.input .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-quotes/Makefile.in b/external/bsd/flex/dist/tests/test-quotes/Makefile.in index d81327c30..3315341c9 100644 --- a/external/bsd/flex/dist/tests/test-quotes/Makefile.in +++ b/external/bsd/flex/dist/tests/test-quotes/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input CLEANFILES = l.out c.out scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o @@ -196,14 +207,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-quotes/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-quotes/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-quotes/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-quotes/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -221,7 +232,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -230,29 +241,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -281,6 +295,7 @@ 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" @@ -299,18 +314,38 @@ 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 @@ -329,16 +364,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -355,6 +393,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-reject/Makefile.in b/external/bsd/flex/dist/tests/test-reject/Makefile.in index f7055f027..3263138e3 100644 --- a/external/bsd/flex/dist/tests/test-reject/Makefile.in +++ b/external/bsd/flex/dist/tests/test-reject/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c $(testname)$(EXEEXT)-* OUTPUT $(OBJS) @@ -199,14 +211,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-reject/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-reject/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-reject/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-reject/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +236,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +245,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +299,7 @@ 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" @@ -302,18 +318,38 @@ 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 @@ -332,16 +368,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am test-reject-nr.c: $(srcdir)/scanner.l @@ -387,6 +426,7 @@ test-reject-ser.o: test-reject-ser.c test-reject-r.o: test-reject-r.c $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DTEST_IS_REENTRANT $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-reject/scanner.l b/external/bsd/flex/dist/tests/test-reject/scanner.l index 77f6ea2b2..45f305a9a 100644 --- a/external/bsd/flex/dist/tests/test-reject/scanner.l +++ b/external/bsd/flex/dist/tests/test-reject/scanner.l @@ -1,4 +1,4 @@ -/* $NetBSD: scanner.l,v 1.1.1.1 2009/10/26 00:29:20 christos Exp $ */ +/* $NetBSD: scanner.l,v 1.1.1.2 2013/04/06 14:05:58 christos Exp $ */ /* * This file is part of flex. @@ -54,17 +54,17 @@ int main ( int argc, char** argv ) #ifdef TEST_HAS_TABLES_EXTERNAL if((fp = fopen(argv[1],"r"))== NULL) - yy_fatal_error("could not open tables file for reading" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR("could not open tables file for reading"); if(yytables_fload(fp M4_YY_CALL_LAST_ARG) < 0) - yy_fatal_error("yytables_fload returned < 0" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR("yytables_fload returned < 0"); if(M4_YY_TABLES_VERIFY) exit(0); #endif if(argc > 2){ if((fp = fopen(argv[2],"r"))== NULL) - yy_fatal_error("could not open input file for reading" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR("could not open input file for reading"); yyin = fp; } while(yylex(M4_YY_CALL_ONLY_ARG) != 0) diff --git a/external/bsd/flex/dist/tests/test-rescan-nr/Makefile.in b/external/bsd/flex/dist/tests/test-rescan-nr/Makefile.in index 582257c76..dc930c2f3 100644 --- a/external/bsd/flex/dist/tests/test-rescan-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-rescan-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o @@ -199,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-rescan-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-rescan-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-rescan-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-rescan-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +298,7 @@ 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" @@ -302,18 +317,38 @@ 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 @@ -332,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -355,6 +393,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-rescan-r/Makefile.in b/external/bsd/flex/dist/tests/test-rescan-r/Makefile.in index 2d7958c41..063f40a6b 100644 --- a/external/bsd/flex/dist/tests/test-rescan-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-rescan-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o # parser.o @@ -199,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-rescan-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-rescan-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-rescan-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-rescan-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +298,7 @@ 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" @@ -302,18 +317,38 @@ 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 @@ -332,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -355,6 +393,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-string-nr/Makefile.in b/external/bsd/flex/dist/tests/test-string-nr/Makefile.in index 71f81f52e..6ad8e865b 100644 --- a/external/bsd/flex/dist/tests/test-string-nr/Makefile.in +++ b/external/bsd/flex/dist/tests/test-string-nr/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-string-nr/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-string-nr/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-string-nr/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-string-nr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -354,6 +393,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-string-r/Makefile.in b/external/bsd/flex/dist/tests/test-string-r/Makefile.in index 8909408f0..fab83fae2 100644 --- a/external/bsd/flex/dist/tests/test-string-r/Makefile.in +++ b/external/bsd/flex/dist/tests/test-string-r/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-string-r/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-string-r/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-string-r/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-string-r/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -354,6 +393,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tests/test-table-opts/Makefile.in b/external/bsd/flex/dist/tests/test-table-opts/Makefile.in index 5a25f4f7d..87af98a16 100644 --- a/external/bsd/flex/dist/tests/test-table-opts/Makefile.in +++ b/external/bsd/flex/dist/tests/test-table-opts/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -43,15 +44,12 @@ # 'test-ser' deserializes the tables at runtime. # 'test-mul' checks that we can store multiple tables in a single file. # ------------------------------------------------ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -78,13 +76,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -108,8 +105,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -129,6 +128,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -138,6 +138,7 @@ 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@ POSUB = @POSUB@ @@ -149,14 +150,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -168,28 +168,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex testname := test-table-opts allopts := -Ca -Ce -Cf -CF -Cm -Cem -Cae -Caef -CaeF -Cam -Caem @@ -233,14 +245,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-table-opts/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-table-opts/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-table-opts/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-table-opts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -258,7 +270,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -267,29 +279,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -318,6 +333,7 @@ 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" @@ -336,18 +352,38 @@ 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 @@ -366,16 +402,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am test: test-opt test-ser test-ver test-mul @@ -442,6 +481,7 @@ test-ver-r-%.o: test-ver-r-%.c ; $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) -DT .PHONY: test test-opt test-ser test-ver test-mul .SECONDARY: $(allobj) $(allsrc) + # 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/external/bsd/flex/dist/tests/test-table-opts/scanner.l b/external/bsd/flex/dist/tests/test-table-opts/scanner.l index feda9466d..64ac66e92 100644 --- a/external/bsd/flex/dist/tests/test-table-opts/scanner.l +++ b/external/bsd/flex/dist/tests/test-table-opts/scanner.l @@ -1,4 +1,4 @@ -/* $NetBSD: scanner.l,v 1.1.1.1 2009/10/26 00:29:55 christos Exp $ */ +/* $NetBSD: scanner.l,v 1.1.1.2 2013/04/06 14:06:02 christos Exp $ */ /* * This file is part of flex. @@ -56,17 +56,17 @@ int main ( int argc, char** argv ) #ifdef TEST_HAS_TABLES_EXTERNAL if((fp = fopen(argv[1],"r"))== NULL) - yy_fatal_error("could not open tables file for reading" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR("could not open tables file for reading"); if(yytables_fload(fp M4_YY_CALL_LAST_ARG) < 0) - yy_fatal_error("yytables_fload returned < 0" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR("yytables_fload returned < 0"); if(M4_YY_TABLES_VERIFY) exit(0); #endif if(argc > 2){ if((fp = fopen(argv[2],"r"))== NULL) - yy_fatal_error("could not open input file for reading" M4_YY_CALL_LAST_ARG); + YY_FATAL_ERROR("could not open input file for reading"); yyin = fp; } while(yylex(M4_YY_CALL_ONLY_ARG) != 0) diff --git a/external/bsd/flex/dist/tests/test-top/Makefile.in b/external/bsd/flex/dist/tests/test-top/Makefile.in index 633ccb164..633335776 100644 --- a/external/bsd/flex/dist/tests/test-top/Makefile.in +++ b/external/bsd/flex/dist/tests/test-top/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,30 +159,41 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex -builddir = @builddir@ EXTRA_DIST = scanner.l test.input main.c CLEANFILES = scanner.c scanner.h $(testname)$(EXEEXT) OUTPUT $(OBJS) OBJS = scanner.o main.o @@ -199,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-top/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-top/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-top/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-top/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -224,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -233,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -284,6 +298,7 @@ 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" @@ -302,18 +317,38 @@ 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 @@ -332,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -361,6 +399,7 @@ test: $(testname)$(EXEEXT) scanner.h: scanner.c main.o: scanner.h + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/external/bsd/flex/dist/tests/test-yyextra/Makefile.in b/external/bsd/flex/dist/tests/test-yyextra/Makefile.in index 77bac2020..84e35e21c 100644 --- a/external/bsd/flex/dist/tests/test-yyextra/Makefile.in +++ b/external/bsd/flex/dist/tests/test-yyextra/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -34,15 +35,12 @@ # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -69,13 +67,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -99,8 +96,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -120,6 +119,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -129,6 +129,7 @@ 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@ POSUB = @POSUB@ @@ -140,14 +141,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -159,28 +159,40 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ FLEX = $(top_builddir)/flex EXTRA_DIST = scanner.l test.input CLEANFILES = scanner.c scanner.h parser.c parser.h $(testname)$(EXEEXT) OUTPUT $(OBJS) @@ -198,14 +210,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-yyextra/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tests/test-yyextra/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/test-yyextra/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tests/test-yyextra/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -223,7 +235,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -232,29 +244,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -283,6 +298,7 @@ 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" @@ -301,18 +317,38 @@ 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 @@ -331,16 +367,19 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am scanner.c: $(srcdir)/scanner.l @@ -357,6 +396,7 @@ test: $(testname)$(EXEEXT) .c.o: $(CC) -c -o $@ $(AM_CPPFLAGS) $(CPPFLAGS) $(CFLAGS) $< + # 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/external/bsd/flex/dist/tools/Makefile.am b/external/bsd/flex/dist/tools/Makefile.am index 04dc89df0..48385da1c 100644 --- a/external/bsd/flex/dist/tools/Makefile.am +++ b/external/bsd/flex/dist/tools/Makefile.am @@ -1,4 +1,3 @@ EXTRA_DIST = \ - cvsauthors \ - cvs2cl.pl + git2cl diff --git a/external/bsd/flex/dist/tools/Makefile.in b/external/bsd/flex/dist/tools/Makefile.in index 66604199a..8d7dda9b7 100644 --- a/external/bsd/flex/dist/tools/Makefile.in +++ b/external/bsd/flex/dist/tools/Makefile.in @@ -1,8 +1,9 @@ -# Makefile.in generated by automake 1.9.6 from Makefile.am. +# 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 Free Software Foundation, Inc. +# 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. @@ -13,15 +14,12 @@ # PARTICULAR PURPOSE. @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -48,13 +46,12 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ @@ -78,8 +75,10 @@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GMSGFMT = @GMSGFMT@ +GREP = @GREP@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ @@ -99,6 +98,7 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ @@ -108,6 +108,7 @@ 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@ POSUB = @POSUB@ @@ -119,14 +120,13 @@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ XGETTEXT = @XGETTEXT@ YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_STRIP = @ac_ct_STRIP@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -138,31 +138,42 @@ 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@ +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ EXTRA_DIST = \ - cvsauthors \ - cvs2cl.pl + git2cl all: all-am @@ -171,14 +182,14 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tools/Makefile'; \ - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnits tools/Makefile + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tools/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnits tools/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ @@ -196,7 +207,7 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -uninstall-info-am: +$(am__aclocal_m4_deps): tags: TAGS TAGS: @@ -205,29 +216,32 @@ CTAGS: distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkdir_p) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @@ -255,6 +269,7 @@ 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" @@ -273,18 +288,38 @@ 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 @@ -303,16 +338,20 @@ ps: ps-am ps-am: -uninstall-am: uninstall-info-am +uninstall-am: + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ + 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-generic pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am + mostlyclean-generic pdf pdf-am ps ps-am 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. diff --git a/external/bsd/flex/dist/tools/cvs2cl.pl b/external/bsd/flex/dist/tools/cvs2cl.pl deleted file mode 100644 index a00fe5ce3..000000000 --- a/external/bsd/flex/dist/tools/cvs2cl.pl +++ /dev/null @@ -1,1977 +0,0 @@ -#!/bin/sh -exec perl -w -x $0 ${1+"$@"} # -*- mode: perl; perl-indent-level: 2; -*- -#!perl -w - - -############################################################## -### ### -### cvs2cl.pl: produce ChangeLog(s) from `cvs log` output. ### -### ### -############################################################## - -## Revision: 1.1 -## $Date: 2009/10/26 00:29:59 $ -## $Author: christos $ -## -## (C) 2001,2002,2003 Martyn J. Pearce , under the GNU GPL. -## (C) 1999 Karl Fogel , under the GNU GPL. -## -## (Extensively hacked on by Melissa O'Neill .) -## -## cvs2cl.pl 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. -## -## cvs2cl.pl 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 may have received a copy of the GNU General Public License -## along with cvs2cl.pl; see the file COPYING. If not, write to the -## Free Software Foundation, Inc., 59 Temple Place - Suite 330, -## Boston, MA 02111-1307, USA. - - -use strict; -use Text::Wrap; -use Time::Local; -use File::Basename; - - -# The Plan: -# -# Read in the logs for multiple files, spit out a nice ChangeLog that -# mirrors the information entered during `cvs commit'. -# -# The problem presents some challenges. In an ideal world, we could -# detect files with the same author, log message, and checkin time -- -# each would be a changelog entry. -# We'd sort them; and spit them out. Unfortunately, CVS is *not atomic* -# so checkins can span a range of times. Also, the directory structure -# could be hierarchical. -# -# Another question is whether we really want to have the ChangeLog -# exactly reflect commits. An author could issue two related commits, -# with different log entries, reflecting a single logical change to the -# source. GNU style ChangeLogs group these under a single author/date. -# We try to do the same. -# -# So, we parse the output of `cvs log', storing log messages in a -# multilevel hash that stores the mapping: -# directory => author => time => message => filelist -# As we go, we notice "nearby" commit times and store them together -# (i.e., under the same timestamp), so they appear in the same log -# entry. -# -# When we've read all the logs, we twist this mapping into -# a time => author => message => filelist mapping for each directory. -# -# If we're not using the `--distributed' flag, the directory is always -# considered to be `./', even as descend into subdirectories. - - -############### Globals ################ - -# What we run to generate it: -my $Log_Source_Command = "cvs log"; - -# In case we have to print it out: -my $VERSION = 'Revision: 1.1'; -$VERSION =~ s/\S+\s+(\S+)\s+\S+/$1/; - -## Vars set by options: - -# Print debugging messages? -my $Debug = 0; - -# Just show version and exit? -my $Print_Version = 0; - -# Just print usage message and exit? -my $Print_Usage = 0; - -# Single top-level ChangeLog, or one per subdirectory? -my $Distributed = 0; - -# What file should we generate (defaults to "ChangeLog")? -my $Log_File_Name = "ChangeLog"; - -# Grab most recent entry date from existing ChangeLog file, just add -# to that ChangeLog. -my $Cumulative = 0; - -# Expand usernames to email addresses based on a map file? -my $User_Map_File = ""; - -# Output to a file or to stdout? -my $Output_To_Stdout = 0; - -# Eliminate empty log messages? -my $Prune_Empty_Msgs = 0; - -# Tags of which not to output -my @ignore_tags; - -# Don't call Text::Wrap on the body of the message -my $No_Wrap = 0; - -# Separates header from log message. Code assumes it is either " " or -# "\n\n", so if there's ever an option to set it to something else, -# make sure to go through all conditionals that use this var. -my $After_Header = " "; - -# XML Encoding -my $XML_Encoding = ''; - -# Format more for programs than for humans. -my $XML_Output = 0; - -# Do some special tweaks for log data that was written in FSF -# ChangeLog style. -my $FSF_Style = 0; - -# Show times in UTC instead of local time -my $UTC_Times = 0; - -# Show day of week in output? -my $Show_Day_Of_Week = 0; - -# Show revision numbers in output? -my $Show_Revisions = 0; - -# Show tags (symbolic names) in output? -my $Show_Tags = 0; - -# Show tags separately in output? -my $Show_Tag_Dates = 0; - -# Show branches by symbolic name in output? -my $Show_Branches = 0; - -# Show only revisions on these branches or their ancestors. -my @Follow_Branches; - -# Don't bother with files matching this regexp. -my @Ignore_Files; - -# How exactly we match entries. We definitely want "o", -# and user might add "i" by using --case-insensitive option. -my $Case_Insensitive = 0; - -# Maybe only show log messages matching a certain regular expression. -my $Regexp_Gate = ""; - -# Pass this global option string along to cvs, to the left of `log': -my $Global_Opts = ""; - -# Pass this option string along to the cvs log subcommand: -my $Command_Opts = ""; - -# Read log output from stdin instead of invoking cvs log? -my $Input_From_Stdin = 0; - -# Don't show filenames in output. -my $Hide_Filenames = 0; - -# Max checkin duration. CVS checkin is not atomic, so we may have checkin -# times that span a range of time. We assume that checkins will last no -# longer than $Max_Checkin_Duration seconds, and that similarly, no -# checkins will happen from the same users with the same message less -# than $Max_Checkin_Duration seconds apart. -my $Max_Checkin_Duration = 180; - -# What to put at the front of [each] ChangeLog. -my $ChangeLog_Header = ""; - -# Whether to enable 'delta' mode, and for what start/end tags. -my $Delta_Mode = 0; -my $Delta_From = ""; -my $Delta_To = ""; - -## end vars set by options. - -# latest observed times for the start/end tags in delta mode -my $Delta_StartTime = 0; -my $Delta_EndTime = 0; - -# In 'cvs log' output, one long unbroken line of equal signs separates -# files: -my $file_separator = "=======================================" - . "======================================"; - -# In 'cvs log' output, a shorter line of dashes separates log messages -# within a file: -my $logmsg_separator = "----------------------------"; - -############### End globals ############ - - -&parse_options (); -&derive_change_log (); - - -### Everything below is subroutine definitions. ### - -# If accumulating, grab the boundary date from pre-existing ChangeLog. -sub maybe_grab_accumulation_date () -{ - if (! $Cumulative) { - return ""; - } - - # else - - open (LOG, "$Log_File_Name") - or die ("trouble opening $Log_File_Name for reading ($!)"); - - my $boundary_date; - while () - { - if (/^(\d\d\d\d-\d\d-\d\d\s+\d\d:\d\d)/) - { - $boundary_date = "$1"; - last; - } - } - - close (LOG); - return $boundary_date; -} - -# Fills up a ChangeLog structure in the current directory. -sub derive_change_log () -{ - # See "The Plan" above for a full explanation. - - my %grand_poobah; - - my $file_full_path; - my $time; - my $revision; - my $author; - my $msg_txt; - my $detected_file_separator; - - my %tag_date_printed; - - # Might be adding to an existing ChangeLog - my $accumulation_date = &maybe_grab_accumulation_date (); - if ($accumulation_date) { - # Insert -d immediately after 'cvs log' - my $Log_Date_Command = "-d\'>${accumulation_date}\'"; - $Log_Source_Command =~ s/(^.*log\S*)/$1 $Log_Date_Command/; - &debug ("(adding log msg starting from $accumulation_date)\n"); - } - - # We might be expanding usernames - my %usermap; - - # In general, it's probably not very maintainable to use state - # variables like this to tell the loop what it's doing at any given - # moment, but this is only the first one, and if we never have more - # than a few of these, it's okay. - my $collecting_symbolic_names = 0; - my %symbolic_names; # Where tag names get stored. - my %branch_names; # We'll grab branch names while we're at it. - my %branch_numbers; # Save some revisions for @Follow_Branches - my @branch_roots; # For showing which files are branch ancestors. - - # Bleargh. Compensate for a deficiency of custom wrapping. - if (($After_Header ne " ") and $FSF_Style) - { - $After_Header .= "\t"; - } - - if (! $Input_From_Stdin) { - &debug ("(run \"${Log_Source_Command}\")\n"); - open (LOG_SOURCE, "$Log_Source_Command |") - or die "unable to run \"${Log_Source_Command}\""; - } - else { - open (LOG_SOURCE, "-") or die "unable to open stdin for reading"; - } - - binmode LOG_SOURCE; - - %usermap = &maybe_read_user_map_file (); - - while () - { - # Canonicalize line endings - s/\r$//; - # If on a new file and don't see filename, skip until we find it, and - # when we find it, grab it. - if ((! (defined $file_full_path)) and /^Working file: (.*)/) - { - $file_full_path = $1; - if (@Ignore_Files) - { - my $base; - ($base, undef, undef) = fileparse ($file_full_path); - # Ouch, I wish trailing operators in regexps could be - # evaluated on the fly! - if ($Case_Insensitive) { - if (grep ($file_full_path =~ m|$_|i, @Ignore_Files)) { - undef $file_full_path; - } - } - elsif (grep ($file_full_path =~ m|$_|, @Ignore_Files)) { - undef $file_full_path; - } - } - next; - } - - # Just spin wheels if no file defined yet. - next if (! $file_full_path); - - # Collect tag names in case we're asked to print them in the output. - if (/^symbolic names:$/) { - $collecting_symbolic_names = 1; - next; # There's no more info on this line, so skip to next - } - if ($collecting_symbolic_names) - { - # All tag names are listed with whitespace in front in cvs log - # output; so if see non-whitespace, then we're done collecting. - if (/^\S/) { - $collecting_symbolic_names = 0; - } - else # we're looking at a tag name, so parse & store it - { - # According to the Cederqvist manual, in node "Tags", tag - # names must start with an uppercase or lowercase letter and - # can contain uppercase and lowercase letters, digits, `-', - # and `_'. However, it's not our place to enforce that, so - # we'll allow anything CVS hands us to be a tag: - /^\s+([^:]+): ([\d.]+)$/; - my $tag_name = $1; - my $tag_rev = $2; - - # A branch number either has an odd number of digit sections - # (and hence an even number of dots), or has ".0." as the - # second-to-last digit section. Test for these conditions. - my $real_branch_rev = ""; - if (($tag_rev =~ /^(\d+\.\d+\.)+\d+$/) # Even number of dots... - and (! ($tag_rev =~ /^(1\.)+1$/))) # ...but not "1.[1.]1" - { - $real_branch_rev = $tag_rev; - } - elsif ($tag_rev =~ /(\d+\.(\d+\.)+)0.(\d+)/) # Has ".0." - { - $real_branch_rev = $1 . $3; - } - # If we got a branch, record its number. - if ($real_branch_rev) - { - $branch_names{$real_branch_rev} = $tag_name; - if (@Follow_Branches) { - if (grep ($_ eq $tag_name, @Follow_Branches)) { - $branch_numbers{$tag_name} = $real_branch_rev; - } - } - } - else { - # Else it's just a regular (non-branch) tag. - push (@{$symbolic_names{$tag_rev}}, $tag_name); - } - } - } - # End of code for collecting tag names. - - # If have file name, but not revision, and see revision, then grab - # it. (We collect unconditionally, even though we may or may not - # ever use it.) - if ((! (defined $revision)) and (/^revision (\d+\.[\d.]+)/)) - { - $revision = $1; - - if (@Follow_Branches) - { - foreach my $branch (@Follow_Branches) - { - # Special case for following trunk revisions - if (($branch =~ /^trunk$/i) and ($revision =~ /^[0-9]+\.[0-9]+$/)) - { - goto dengo; - } - - my $branch_number = $branch_numbers{$branch}; - if ($branch_number) - { - # Are we on one of the follow branches or an ancestor of - # same? - # - # If this revision is a prefix of the branch number, or - # possibly is less in the minormost number, OR if this - # branch number is a prefix of the revision, then yes. - # Otherwise, no. - # - # So below, we determine if any of those conditions are - # met. - - # Trivial case: is this revision on the branch? - # (Compare this way to avoid regexps that screw up Emacs - # indentation, argh.) - if ((substr ($revision, 0, ((length ($branch_number)) + 1))) - eq ($branch_number . ".")) - { - goto dengo; - } - # Non-trivial case: check if rev is ancestral to branch - elsif ((length ($branch_number)) > (length ($revision))) - { - $revision =~ /^((?:\d+\.)+)(\d+)$/; - my $r_left = $1; # still has the trailing "." - my $r_end = $2; - - $branch_number =~ /^((?:\d+\.)+)(\d+)\.\d+$/; - my $b_left = $1; # still has trailing "." - my $b_mid = $2; # has no trailing "." - - if (($r_left eq $b_left) - && ($r_end <= $b_mid)) - { - goto dengo; - } - } - } - } - } - else # (! @Follow_Branches) - { - next; - } - - # Else we are following branches, but this revision isn't on the - # path. So skip it. - undef $revision; - dengo: - next; - } - - # If we don't have a revision right now, we couldn't possibly - # be looking at anything useful. - if (! (defined ($revision))) { - $detected_file_separator = /^$file_separator$/o; - if ($detected_file_separator) { - # No revisions for this file; can happen, e.g. "cvs log -d DATE" - goto CLEAR; - } - else { - next; - } - } - - # If have file name but not date and author, and see date or - # author, then grab them: - unless (defined $time) - { - if (/^date: .*/) - { - ($time, $author) = &parse_date_and_author ($_); - if (defined ($usermap{$author}) and $usermap{$author}) { - $author = $usermap{$author}; - } - } - else { - $detected_file_separator = /^$file_separator$/o; - if ($detected_file_separator) { - # No revisions for this file; can happen, e.g. "cvs log -d DATE" - goto CLEAR; - } - } - # If the date/time/author hasn't been found yet, we couldn't - # possibly care about anything we see. So skip: - next; - } - - # A "branches: ..." line here indicates that one or more branches - # are rooted at this revision. If we're showing branches, then we - # want to show that fact as well, so we collect all the branches - # that this is the latest ancestor of and store them in - # @branch_roots. Just for reference, the format of the line we're - # seeing at this point is: - # - # branches: 1.5.2; 1.5.4; ...; - # - # Okay, here goes: - - if (/^branches:\s+(.*);$/) - { - if ($Show_Branches) - { - my $lst = $1; - $lst =~ s/(1\.)+1;|(1\.)+1$//; # ignore the trivial branch 1.1.1 - if ($lst) { - @branch_roots = split (/;\s+/, $lst); - } - else { - undef @branch_roots; - } - next; - } - else - { - # Ugh. This really bothers me. Suppose we see a log entry - # like this: - # - # ---------------------------- - # revision 1.1 - # date: 1999/10/17 03:07:38; author: jrandom; state: Exp; - # branches: 1.1.2; - # Intended first line of log message begins here. - # ---------------------------- - # - # The question is, how we can tell the difference between that - # log message and a *two*-line log message whose first line is - # - # "branches: 1.1.2;" - # - # See the problem? The output of "cvs log" is inherently - # ambiguous. - # - # For now, we punt: we liberally assume that people don't - # write log messages like that, and just toss a "branches:" - # line if we see it but are not showing branches. I hope no - # one ever loses real log data because of this. - next; - } - } - - # If have file name, time, and author, then we're just grabbing - # log message texts: - $detected_file_separator = /^$file_separator$/o; - if ($detected_file_separator && ! (defined $revision)) { - # No revisions for this file; can happen, e.g. "cvs log -d DATE" - goto CLEAR; - } - unless ($detected_file_separator || /^$logmsg_separator$/o) - { - $msg_txt .= $_; # Normally, just accumulate the message... - next; - } - # ... until a msg separator is encountered: - # Ensure the message contains something: - if ((! $msg_txt) - || ($msg_txt =~ /^\s*\.\s*$|^\s*$/) - || ($msg_txt =~ /\*\*\* empty log message \*\*\*/)) - { - if ($Prune_Empty_Msgs) { - goto CLEAR; - } - # else - $msg_txt = "[no log message]\n"; - } - - ### Store it all in the Grand Poobah: - { - my $dir_key; # key into %grand_poobah - my %qunk; # complicated little jobbie, see below - - # Each revision of a file has a little data structure (a `qunk') - # associated with it. That data structure holds not only the - # file's name, but any additional information about the file - # that might be needed in the output, such as the revision - # number, tags, branches, etc. The reason to have these things - # arranged in a data structure, instead of just appending them - # textually to the file's name, is that we may want to do a - # little rearranging later as we write the output. For example, - # all the files on a given tag/branch will go together, followed - # by the tag in parentheses (so trunk or otherwise non-tagged - # files would go at the end of the file list for a given log - # message). This rearrangement is a lot easier to do if we - # don't have to reparse the text. - # - # A qunk looks like this: - # - # { - # filename => "hello.c", - # revision => "1.4.3.2", - # time => a timegm() return value (moment of commit) - # tags => [ "tag1", "tag2", ... ], - # branch => "branchname" # There should be only one, right? - # branchroots => [ "branchtag1", "branchtag2", ... ] - # } - - if ($Distributed) { - # Just the basename, don't include the path. - ($qunk{'filename'}, $dir_key, undef) = fileparse ($file_full_path); - } - else { - $dir_key = "./"; - $qunk{'filename'} = $file_full_path; - } - - # This may someday be used in a more sophisticated calculation - # of what other files are involved in this commit. For now, we - # don't use it much except for delta mode, because the - # common-commit-detection algorithm is hypothesized to be - # "good enough" as it stands. - $qunk{'time'} = $time; - - # We might be including revision numbers and/or tags and/or - # branch names in the output. Most of the code from here to - # loop-end deals with organizing these in qunk. - - $qunk{'revision'} = $revision; - - # Grab the branch, even though we may or may not need it: - $qunk{'revision'} =~ /((?:\d+\.)+)\d+/; - my $branch_prefix = $1; - $branch_prefix =~ s/\.$//; # strip off final dot - if ($branch_names{$branch_prefix}) { - $qunk{'branch'} = $branch_names{$branch_prefix}; - } - - # If there's anything in the @branch_roots array, then this - # revision is the root of at least one branch. We'll display - # them as branch names instead of revision numbers, the - # substitution for which is done directly in the array: - if (@branch_roots) { - my @roots = map { $branch_names{$_} } @branch_roots; - $qunk{'branchroots'} = \@roots; - } - - # Save tags too. - if (defined ($symbolic_names{$revision})) { - $qunk{'tags'} = $symbolic_names{$revision}; - delete $symbolic_names{$revision}; - - # If we're in 'delta' mode, update the latest observed - # times for the beginning and ending tags, and - # when we get around to printing output, we will simply restrict - # ourselves to that timeframe... - - if ($Delta_Mode) { - if (($time > $Delta_StartTime) && - (grep { $_ eq $Delta_From } @{$qunk{'tags'}})) - { - $Delta_StartTime = $time; - } - - if (($time > $Delta_EndTime) && - (grep { $_ eq $Delta_To } @{$qunk{'tags'}})) - { - $Delta_EndTime = $time; - } - } - } - - # Add this file to the list - # (We use many spoonfuls of autovivication magic. Hashes and arrays - # will spring into existence if they aren't there already.) - - &debug ("(pushing log msg for ${dir_key}$qunk{'filename'})\n"); - - # Store with the files in this commit. Later we'll loop through - # again, making sure that revisions with the same log message - # and nearby commit times are grouped together as one commit. - push (@{$grand_poobah{$dir_key}{$author}{$time}{$msg_txt}}, \%qunk); - } - - CLEAR: - # Make way for the next message - undef $msg_txt; - undef $time; - undef $revision; - undef $author; - undef @branch_roots; - - # Maybe even make way for the next file: - if ($detected_file_separator) { - undef $file_full_path; - undef %branch_names; - undef %branch_numbers; - undef %symbolic_names; - } - } - - close (LOG_SOURCE); - - ### Process each ChangeLog - - while (my ($dir,$authorhash) = each %grand_poobah) - { - &debug ("DOING DIR: $dir\n"); - - # Here we twist our hash around, from being - # author => time => message => filelist - # in %$authorhash to - # time => author => message => filelist - # in %changelog. - # - # This is also where we merge entries. The algorithm proceeds - # through the timeline of the changelog with a sliding window of - # $Max_Checkin_Duration seconds; within that window, entries that - # have the same log message are merged. - # - # (To save space, we zap %$authorhash after we've copied - # everything out of it.) - - my %changelog; - while (my ($author,$timehash) = each %$authorhash) - { - my $lasttime; - my %stamptime; - foreach my $time (sort {$main::a <=> $main::b} (keys %$timehash)) - { - my $msghash = $timehash->{$time}; - while (my ($msg,$qunklist) = each %$msghash) - { - my $stamptime = $stamptime{$msg}; - if ((defined $stamptime) - and (($time - $stamptime) < $Max_Checkin_Duration) - and (defined $changelog{$stamptime}{$author}{$msg})) - { - push(@{$changelog{$stamptime}{$author}{$msg}}, @$qunklist); - } - else { - $changelog{$time}{$author}{$msg} = $qunklist; - $stamptime{$msg} = $time; - } - } - } - } - undef (%$authorhash); - - ### Now we can write out the ChangeLog! - - my ($logfile_here, $logfile_bak, $tmpfile); - - if (! $Output_To_Stdout) { - $logfile_here = $dir . $Log_File_Name; - $logfile_here =~ s/^\.\/\//\//; # fix any leading ".//" problem - $tmpfile = "${logfile_here}.cvs2cl$$.tmp"; - $logfile_bak = "${logfile_here}.bak"; - - open (LOG_OUT, ">$tmpfile") or die "Unable to open \"$tmpfile\""; - } - else { - open (LOG_OUT, ">-") or die "Unable to open stdout for writing"; - } - - print LOG_OUT $ChangeLog_Header; - - if ($XML_Output) { - my $encoding = - length $XML_Encoding ? qq'encoding="$XML_Encoding"' : ''; - my $version = 'version="1.0"'; - my $declaration = - sprintf '', join ' ', grep length, $version, $encoding; - my $root = - ''; - print LOG_OUT "$declaration\n\n$root\n\n"; - } - - foreach my $time (sort {$main::b <=> $main::a} (keys %changelog)) - { - next if ($Delta_Mode && - (($time <= $Delta_StartTime) || - ($time > $Delta_EndTime && $Delta_EndTime))); - - # Set up the date/author line. - # kff todo: do some more XML munging here, on the header - # part of the entry: - my ($ignore,$min,$hour,$mday,$mon,$year,$wday) - = $UTC_Times ? gmtime($time) : localtime($time); - - # XML output includes everything else, we might as well make - # it always include Day Of Week too, for consistency. - if ($Show_Day_Of_Week or $XML_Output) { - $wday = ("Sunday", "Monday", "Tuesday", "Wednesday", - "Thursday", "Friday", "Saturday")[$wday]; - $wday = ($XML_Output) ? "${wday}\n" : " $wday"; - } - else { - $wday = ""; - } - - my $authorhash = $changelog{$time}; - if ($Show_Tag_Dates) { - my %tags; - while (my ($author,$mesghash) = each %$authorhash) { - while (my ($msg,$qunk) = each %$mesghash) { - foreach my $qunkref2 (@$qunk) { - if (defined ($$qunkref2{'tags'})) { - foreach my $tag (@{$$qunkref2{'tags'}}) { - $tags{$tag} = 1; - } - } - } - } - } - foreach my $tag (keys %tags) { - if (!defined $tag_date_printed{$tag}) { - $tag_date_printed{$tag} = $time; - if ($XML_Output) { - # NOT YET DONE - } - else { - printf LOG_OUT ("%4u-%02u-%02u${wday} %02u:%02u tag %s\n\n", - $year+1900, $mon+1, $mday, $hour, $min, $tag); - } - } - } - } - while (my ($author,$mesghash) = each %$authorhash) - { - # If XML, escape in outer loop to avoid compound quoting: - if ($XML_Output) { - $author = &xml_escape ($author); - } - - FOOBIE: - while (my ($msg,$qunklist) = each %$mesghash) - { - ## MJP: 19.xii.01 : Exclude @ignore_tags - for my $ignore_tag (@ignore_tags) { - next FOOBIE - if grep $_ eq $ignore_tag, map(@{$_->{tags}}, - grep(defined $_->{tags}, - @$qunklist)); - } - ## MJP: 19.xii.01 : End exclude @ignore_tags - - my $files = &pretty_file_list ($qunklist); - my $header_line; # date and author - my $body; # see below - my $wholething; # $header_line + $body - - if ($XML_Output) { - $header_line = - sprintf ("%4u-%02u-%02u\n" - . "${wday}" - . "\n" - . "%s\n", - $year+1900, $mon+1, $mday, $hour, $min, $author); - } - else { - $header_line = - sprintf ("%4u-%02u-%02u${wday} %02u:%02u %s\n\n", - $year+1900, $mon+1, $mday, $hour, $min, $author); - } - - $Text::Wrap::huge = 'overflow' - if $Text::Wrap::VERSION >= 2001.0130; - # Reshape the body according to user preferences. - if ($XML_Output) - { - $msg = &preprocess_msg_text ($msg); - $body = $files . $msg; - } - elsif ($No_Wrap) - { - $msg = &preprocess_msg_text ($msg); - $files = wrap ("\t", " ", "$files"); - $msg =~ s/\n(.*)/\n\t$1/g; - unless ($After_Header eq " ") { - $msg =~ s/^(.*)/\t$1/g; - } - $body = $files . $After_Header . $msg; - } - else # do wrapping, either FSF-style or regular - { - if ($FSF_Style) - { - $files = wrap ("\t", " ", "$files"); - - my $files_last_line_len = 0; - if ($After_Header eq " ") - { - $files_last_line_len = &last_line_len ($files); - $files_last_line_len += 1; # for $After_Header - } - - $msg = &wrap_log_entry - ($msg, "\t", 69 - $files_last_line_len, 69); - $body = $files . $After_Header . $msg; - } - else # not FSF-style - { - $msg = &preprocess_msg_text ($msg); - $body = $files . $After_Header . $msg; - $body = wrap ("\t", " ", "$body"); - } - } - - $wholething = $header_line . $body; - - if ($XML_Output) { - $wholething = "\n${wholething}\n"; - } - - # One last check: make sure it passes the regexp test, if the - # user asked for that. We have to do it here, so that the - # test can match against information in the header as well - # as in the text of the log message. - - # How annoying to duplicate so much code just because I - # can't figure out a way to evaluate scalars on the trailing - # operator portion of a regular expression. Grrr. - if ($Case_Insensitive) { - unless ($Regexp_Gate && ($wholething !~ /$Regexp_Gate/oi)) { - print LOG_OUT "${wholething}\n"; - } - } - else { - unless ($Regexp_Gate && ($wholething !~ /$Regexp_Gate/o)) { - print LOG_OUT "${wholething}\n"; - } - } - } - } - } - - if ($XML_Output) { - print LOG_OUT "\n"; - } - - close (LOG_OUT); - - if (! $Output_To_Stdout) - { - # If accumulating, append old data to new before renaming. But - # don't append the most recent entry, since it's already in the - # new log due to CVS's idiosyncratic interpretation of "log -d". - if ($Cumulative && -f $logfile_here) - { - open (NEW_LOG, ">>$tmpfile") - or die "trouble appending to $tmpfile ($!)"; - - open (OLD_LOG, "<$logfile_here") - or die "trouble reading from $logfile_here ($!)"; - - my $started_first_entry = 0; - my $passed_first_entry = 0; - while () - { - if (! $passed_first_entry) - { - if ((! $started_first_entry) - && /^(\d\d\d\d-\d\d-\d\d\s+\d\d:\d\d)/) { - $started_first_entry = 1; - } - elsif (/^(\d\d\d\d-\d\d-\d\d\s+\d\d:\d\d)/) { - $passed_first_entry = 1; - print NEW_LOG $_; - } - } - else { - print NEW_LOG $_; - } - } - - close (NEW_LOG); - close (OLD_LOG); - } - - if (-f $logfile_here) { - rename ($logfile_here, $logfile_bak); - } - rename ($tmpfile, $logfile_here); - } - } -} - -sub parse_date_and_author () -{ - # Parses the date/time and author out of a line like: - # - # date: 1999/02/19 23:29:05; author: apharris; state: Exp; - - my $line = shift; - - my ($year, $mon, $mday, $hours, $min, $secs, $author) = $line =~ - m#(\d+)/(\d+)/(\d+)\s+(\d+):(\d+):(\d+);\s+author:\s+([^;]+);# - or die "Couldn't parse date ``$line''"; - die "Bad date or Y2K issues" unless ($year > 1969 and $year < 2258); - # Kinda arbitrary, but useful as a sanity check - my $time = timegm($secs,$min,$hours,$mday,$mon-1,$year-1900); - - return ($time, $author); -} - -# Here we take a bunch of qunks and convert them into printed -# summary that will include all the information the user asked for. -sub pretty_file_list () -{ - if ($Hide_Filenames and (! $XML_Output)) { - return ""; - } - - my $qunksref = shift; - my @qunkrefs = @$qunksref; - my @filenames; - my $beauty = ""; # The accumulating header string for this entry. - my %non_unanimous_tags; # Tags found in a proper subset of qunks - my %unanimous_tags; # Tags found in all qunks - my %all_branches; # Branches found in any qunk - my $common_dir = undef; # Dir prefix common to all files ("" if none) - my $fbegun = 0; # Did we begin printing filenames yet? - - # First, loop over the qunks gathering all the tag/branch names. - # We'll put them all in non_unanimous_tags, and take out the - # unanimous ones later. - QUNKREF: - foreach my $qunkref (@qunkrefs) - { - ## MJP: 19.xii.01 : Exclude @ignore_tags - for my $ignore_tag (@ignore_tags) { - next QUNKREF - if grep $_ eq $ignore_tag, @{$$qunkref{'tags'}}; - } - ## MJP: 19.xii.01 : End exclude @ignore_tags - - # Keep track of whether all the files in this commit were in the - # same directory, and memorize it if so. We can make the output a - # little more compact by mentioning the directory only once. - if ((scalar (@qunkrefs)) > 1) - { - if (! (defined ($common_dir))) - { - my ($base, $dir); - ($base, $dir, undef) = fileparse ($$qunkref{'filename'}); - - if ((! (defined ($dir))) # this first case is sheer paranoia - or ($dir eq "") - or ($dir eq "./") - or ($dir eq ".\\")) - { - $common_dir = ""; - } - else - { - $common_dir = $dir; - } - } - elsif ($common_dir ne "") - { - # Already have a common dir prefix, so how much of it can we preserve? - $common_dir = &common_path_prefix ($$qunkref{'filename'}, $common_dir); - } - } - else # only one file in this entry anyway, so common dir not an issue - { - $common_dir = ""; - } - - if (defined ($$qunkref{'branch'})) { - $all_branches{$$qunkref{'branch'}} = 1; - } - if (defined ($$qunkref{'tags'})) { - foreach my $tag (@{$$qunkref{'tags'}}) { - $non_unanimous_tags{$tag} = 1; - } - } - } - - # Any tag held by all qunks will be printed specially... but only if - # there are multiple qunks in the first place! - if ((scalar (@qunkrefs)) > 1) { - foreach my $tag (keys (%non_unanimous_tags)) { - my $everyone_has_this_tag = 1; - foreach my $qunkref (@qunkrefs) { - if ((! (defined ($$qunkref{'tags'}))) - or (! (grep ($_ eq $tag, @{$$qunkref{'tags'}})))) { - $everyone_has_this_tag = 0; - } - } - if ($everyone_has_this_tag) { - $unanimous_tags{$tag} = 1; - delete $non_unanimous_tags{$tag}; - } - } - } - - if ($XML_Output) - { - # If outputting XML, then our task is pretty simple, because we - # don't have to detect common dir, common tags, branch prefixing, - # etc. We just output exactly what we have, and don't worry about - # redundancy or readability. - - foreach my $qunkref (@qunkrefs) - { - my $filename = $$qunkref{'filename'}; - my $revision = $$qunkref{'revision'}; - my $tags = $$qunkref{'tags'}; - my $branch = $$qunkref{'branch'}; - my $branchroots = $$qunkref{'branchroots'}; - - $filename = &xml_escape ($filename); # probably paranoia - $revision = &xml_escape ($revision); # definitely paranoia - - $beauty .= "\n"; - $beauty .= "${filename}\n"; - $beauty .= "${revision}\n"; - if ($branch) { - $branch = &xml_escape ($branch); # more paranoia - $beauty .= "${branch}\n"; - } - foreach my $tag (@$tags) { - $tag = &xml_escape ($tag); # by now you're used to the paranoia - $beauty .= "${tag}\n"; - } - foreach my $root (@$branchroots) { - $root = &xml_escape ($root); # which is good, because it will continue - $beauty .= "${root}\n"; - } - $beauty .= "\n"; - } - - # Theoretically, we could go home now. But as long as we're here, - # let's print out the common_dir and utags, as a convenience to - # the receiver (after all, earlier code calculated that stuff - # anyway, so we might as well take advantage of it). - - if ((scalar (keys (%unanimous_tags))) > 1) { - foreach my $utag ((keys (%unanimous_tags))) { - $utag = &xml_escape ($utag); # the usual paranoia - $beauty .= "${utag}\n"; - } - } - if ($common_dir) { - $common_dir = &xml_escape ($common_dir); - $beauty .= "${common_dir}\n"; - } - - # That's enough for XML, time to go home: - return $beauty; - } - - # Else not XML output, so complexly compactify for chordate - # consumption. At this point we have enough global information - # about all the qunks to organize them non-redundantly for output. - - if ($common_dir) { - # Note that $common_dir still has its trailing slash - $beauty .= "$common_dir: "; - } - - if ($Show_Branches) - { - # For trailing revision numbers. - my @brevisions; - - foreach my $branch (keys (%all_branches)) - { - foreach my $qunkref (@qunkrefs) - { - if ((defined ($$qunkref{'branch'})) - and ($$qunkref{'branch'} eq $branch)) - { - if ($fbegun) { - # kff todo: comma-delimited in XML too? Sure. - $beauty .= ", "; - } - else { - $fbegun = 1; - } - my $fname = substr ($$qunkref{'filename'}, length ($common_dir)); - $beauty .= $fname; - $$qunkref{'printed'} = 1; # Just setting a mark bit, basically - - if ($Show_Tags && (defined @{$$qunkref{'tags'}})) { - my @tags = grep ($non_unanimous_tags{$_}, @{$$qunkref{'tags'}}); - - if (@tags) { - $beauty .= " (tags: "; - $beauty .= join (', ', @tags); - $beauty .= ")"; - } - } - - if ($Show_Revisions) { - # Collect the revision numbers' last components, but don't - # print them -- they'll get printed with the branch name - # later. - $$qunkref{'revision'} =~ /.+\.([\d]+)$/; - push (@brevisions, $1); - - # todo: we're still collecting branch roots, but we're not - # showing them anywhere. If we do show them, it would be - # nifty to just call them revision "0" on a the branch. - # Yeah, that's the ticket. - } - } - } - $beauty .= " ($branch"; - if (@brevisions) { - if ((scalar (@brevisions)) > 1) { - $beauty .= ".["; - $beauty .= (join (',', @brevisions)); - $beauty .= "]"; - } - else { - # Square brackets are spurious here, since there's no range to - # encapsulate - $beauty .= ".$brevisions[0]"; - } - } - $beauty .= ")"; - } - } - - # Okay; any qunks that were done according to branch are taken care - # of, and marked as printed. Now print everyone else. - - foreach my $qunkref (@qunkrefs) - { - next if (defined ($$qunkref{'printed'})); # skip if already printed - - if ($fbegun) { - $beauty .= ", "; - } - else { - $fbegun = 1; - } - $beauty .= substr ($$qunkref{'filename'}, length ($common_dir)); - # todo: Shlomo's change was this: - # $beauty .= substr ($$qunkref{'filename'}, - # (($common_dir eq "./") ? "" : length ($common_dir))); - $$qunkref{'printed'} = 1; # Set a mark bit. - - if ($Show_Revisions || $Show_Tags) - { - my $started_addendum = 0; - - if ($Show_Revisions) { - $started_addendum = 1; - $beauty .= " ("; - $beauty .= "$$qunkref{'revision'}"; - } - if ($Show_Tags && (defined $$qunkref{'tags'})) { - my @tags = grep ($non_unanimous_tags{$_}, @{$$qunkref{'tags'}}); - if ((scalar (@tags)) > 0) { - if ($started_addendum) { - $beauty .= ", "; - } - else { - $beauty .= " (tags: "; - } - $beauty .= join (', ', @tags); - $started_addendum = 1; - } - } - if ($started_addendum) { - $beauty .= ")"; - } - } - } - - # Unanimous tags always come last. - if ($Show_Tags && %unanimous_tags) - { - $beauty .= " (utags: "; - $beauty .= join (', ', sort keys (%unanimous_tags)); - $beauty .= ")"; - } - - # todo: still have to take care of branch_roots? - - $beauty = "* $beauty:"; - - return $beauty; -} - -sub common_path_prefix () -{ - my $path1 = shift; - my $path2 = shift; - - my ($dir1, $dir2); - (undef, $dir1, undef) = fileparse ($path1); - (undef, $dir2, undef) = fileparse ($path2); - - # Transmogrify Windows filenames to look like Unix. - # (It is far more likely that someone is running cvs2cl.pl under - # Windows than that they would genuinely have backslashes in their - # filenames.) - $dir1 =~ tr#\\#/#; - $dir2 =~ tr#\\#/#; - - my $accum1 = ""; - my $accum2 = ""; - my $last_common_prefix = ""; - - while ($accum1 eq $accum2) - { - $last_common_prefix = $accum1; - last if ($accum1 eq $dir1); - my ($tmp1) = split (/\//, (substr ($dir1, length ($accum1)))); - my ($tmp2) = split (/\//, (substr ($dir2, length ($accum2)))); - $accum1 .= "$tmp1/" if (defined $tmp1 and $tmp1 ne ''); - $accum2 .= "$tmp2/" if (defined $tmp2 and $tmp2 ne ''); - } - - return $last_common_prefix; -} - -sub preprocess_msg_text () -{ - my $text = shift; - - # Strip out carriage returns (as they probably result from DOSsy editors). - $text =~ s/\r\n/\n/g; - - # If it *looks* like two newlines, make it *be* two newlines: - $text =~ s/\n\s*\n/\n\n/g; - - if ($XML_Output) - { - $text = &xml_escape ($text); - $text = "${text}\n"; - } - elsif (! $No_Wrap) - { - # Strip off lone newlines, but only for lines that don't begin with - # whitespace or a mail-quoting character, since we want to preserve - # that kind of formatting. Also don't strip newlines that follow a - # period; we handle those specially next. And don't strip - # newlines that precede an open paren. - 1 while ($text =~ s/(^|\n)([^>\s].*[^.\n])\n([^>\n])/$1$2 $3/g); - - # If a newline follows a period, make sure that when we bring up the - # bottom sentence, it begins with two spaces. - 1 while ($text =~ s/(^|\n)([^>\s].*)\n([^>\n])/$1$2 $3/g); - } - - return $text; -} - -sub last_line_len () -{ - my $files_list = shift; - my @lines = split (/\n/, $files_list); - my $last_line = pop (@lines); - return length ($last_line); -} - -# A custom wrap function, sensitive to some common constructs used in -# log entries. -sub wrap_log_entry () -{ - my $text = shift; # The text to wrap. - my $left_pad_str = shift; # String to pad with on the left. - - # These do NOT take left_pad_str into account: - my $length_remaining = shift; # Amount left on current line. - my $max_line_length = shift; # Amount left for a blank line. - - my $wrapped_text = ""; # The accumulating wrapped entry. - my $user_indent = ""; # Inherited user_indent from prev line. - - my $first_time = 1; # First iteration of the loop? - my $suppress_line_start_match = 0; # Set to disable line start checks. - - my @lines = split (/\n/, $text); - while (@lines) # Don't use `foreach' here, it won't work. - { - my $this_line = shift (@lines); - chomp $this_line; - - if ($this_line =~ /^(\s+)/) { - $user_indent = $1; - } - else { - $user_indent = ""; - } - - # If it matches any of the line-start regexps, print a newline now... - if ($suppress_line_start_match) - { - $suppress_line_start_match = 0; - } - elsif (($this_line =~ /^(\s*)\*\s+[a-zA-Z0-9]/) - || ($this_line =~ /^(\s*)\* [a-zA-Z0-9_\.\/\+-]+/) - || ($this_line =~ /^(\s*)\([a-zA-Z0-9_\.\/\+-]+(\)|,\s*)/) - || ($this_line =~ /^(\s+)(\S+)/) - || ($this_line =~ /^(\s*)- +/) - || ($this_line =~ /^()\s*$/) - || ($this_line =~ /^(\s*)\*\) +/) - || ($this_line =~ /^(\s*)[a-zA-Z0-9](\)|\.|\:) +/)) - { - # Make a line break immediately, unless header separator is set - # and this line is the first line in the entry, in which case - # we're getting the blank line for free already and shouldn't - # add an extra one. - unless (($After_Header ne " ") and ($first_time)) - { - if ($this_line =~ /^()\s*$/) { - $suppress_line_start_match = 1; - $wrapped_text .= "\n${left_pad_str}"; - } - - $wrapped_text .= "\n${left_pad_str}"; - } - - $length_remaining = $max_line_length - (length ($user_indent)); - } - - # Now that any user_indent has been preserved, strip off leading - # whitespace, so up-folding has no ugly side-effects. - $this_line =~ s/^\s*//; - - # Accumulate the line, and adjust parameters for next line. - my $this_len = length ($this_line); - if ($this_len == 0) - { - # Blank lines should cancel any user_indent level. - $user_indent = ""; - $length_remaining = $max_line_length; - } - elsif ($this_len >= $length_remaining) # Line too long, try breaking it. - { - # Walk backwards from the end. At first acceptable spot, break - # a new line. - my $idx = $length_remaining - 1; - if ($idx < 0) { $idx = 0 }; - while ($idx > 0) - { - if (substr ($this_line, $idx, 1) =~ /\s/) - { - my $line_now = substr ($this_line, 0, $idx); - my $next_line = substr ($this_line, $idx); - $this_line = $line_now; - - # Clean whitespace off the end. - chomp $this_line; - - # The current line is ready to be printed. - $this_line .= "\n${left_pad_str}"; - - # Make sure the next line is allowed full room. - $length_remaining = $max_line_length - (length ($user_indent)); - - # Strip next_line, but then preserve any user_indent. - $next_line =~ s/^\s*//; - - # Sneak a peek at the user_indent of the upcoming line, so - # $next_line (which will now precede it) can inherit that - # indent level. Otherwise, use whatever user_indent level - # we currently have, which might be none. - my $next_next_line = shift (@lines); - if ((defined ($next_next_line)) && ($next_next_line =~ /^(\s+)/)) { - $next_line = $1 . $next_line if (defined ($1)); - # $length_remaining = $max_line_length - (length ($1)); - $next_next_line =~ s/^\s*//; - } - else { - $next_line = $user_indent . $next_line; - } - if (defined ($next_next_line)) { - unshift (@lines, $next_next_line); - } - unshift (@lines, $next_line); - - # Our new next line might, coincidentally, begin with one of - # the line-start regexps, so we temporarily turn off - # sensitivity to that until we're past the line. - $suppress_line_start_match = 1; - - last; - } - else - { - $idx--; - } - } - - if ($idx == 0) - { - # We bottomed out because the line is longer than the - # available space. But that could be because the space is - # small, or because the line is longer than even the maximum - # possible space. Handle both cases below. - - if ($length_remaining == ($max_line_length - (length ($user_indent)))) - { - # The line is simply too long -- there is no hope of ever - # breaking it nicely, so just insert it verbatim, with - # appropriate padding. - $this_line = "\n${left_pad_str}${this_line}"; - } - else - { - # Can't break it here, but may be able to on the next round... - unshift (@lines, $this_line); - $length_remaining = $max_line_length - (length ($user_indent)); - $this_line = "\n${left_pad_str}"; - } - } - } - else # $this_len < $length_remaining, so tack on what we can. - { - # Leave a note for the next iteration. - $length_remaining = $length_remaining - $this_len; - - if ($this_line =~ /\.$/) - { - $this_line .= " "; - $length_remaining -= 2; - } - else # not a sentence end - { - $this_line .= " "; - $length_remaining -= 1; - } - } - - # Unconditionally indicate that loop has run at least once. - $first_time = 0; - - $wrapped_text .= "${user_indent}${this_line}"; - } - - # One last bit of padding. - $wrapped_text .= "\n"; - - return $wrapped_text; -} - -sub xml_escape () -{ - my $txt = shift; - $txt =~ s/&/&/g; - $txt =~ s//>/g; - return $txt; -} - -sub maybe_read_user_map_file () -{ - my %expansions; - - if ($User_Map_File) - { - open (MAPFILE, "<$User_Map_File") - or die ("Unable to open $User_Map_File ($!)"); - - while () - { - next if /^\s*#/; # Skip comment lines. - next if not /:/; # Skip lines without colons. - - # It is now safe to split on ':'. - my ($username, $expansion) = split ':'; - chomp $expansion; - $expansion =~ s/^'(.*)'$/$1/; - $expansion =~ s/^"(.*)"$/$1/; - - # If it looks like the expansion has a real name already, then - # we toss the username we got from CVS log. Otherwise, keep - # it to use in combination with the email address. - - if ($expansion =~ /^\s*<{0,1}\S+@.*/) { - # Also, add angle brackets if none present - if (! ($expansion =~ /<\S+@\S+>/)) { - $expansions{$username} = "$username <$expansion>"; - } - else { - $expansions{$username} = "$username $expansion"; - } - } - else { - $expansions{$username} = $expansion; - } - } - - close (MAPFILE); - } - - return %expansions; -} - -sub parse_options () -{ - # Check this internally before setting the global variable. - my $output_file; - - # If this gets set, we encountered unknown options and will exit at - # the end of this subroutine. - my $exit_with_admonishment = 0; - - while (my $arg = shift (@ARGV)) - { - if ($arg =~ /^-h$|^-help$|^--help$|^--usage$|^-?$/) { - $Print_Usage = 1; - } - elsif ($arg =~ /^--delta$/) { - my $narg = shift(@ARGV) || die "$arg needs argument.\n"; - if ($narg =~ /^([A-Za-z][A-Za-z0-9_\-]*):([A-Za-z][A-Za-z0-9_\-]*)$/) { - $Delta_From = $1; - $Delta_To = $2; - $Delta_Mode = 1; - } else { - die "--delta FROM_TAG:TO_TAG is what you meant to say.\n"; - } - } - elsif ($arg =~ /^--debug$/) { # unadvertised option, heh - $Debug = 1; - } - elsif ($arg =~ /^--version$/) { - $Print_Version = 1; - } - elsif ($arg =~ /^-g$|^--global-opts$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - # Don't assume CVS is called "cvs" on the user's system: - $Log_Source_Command =~ s/(^\S*)/$1 $narg/; - } - elsif ($arg =~ /^-l$|^--log-opts$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - $Log_Source_Command .= " $narg"; - } - elsif ($arg =~ /^-f$|^--file$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - $output_file = $narg; - } - elsif ($arg =~ /^--accum$/) { - $Cumulative = 1; - } - elsif ($arg =~ /^--fsf$/) { - $FSF_Style = 1; - } - elsif ($arg =~ /^-U$|^--usermap$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - $User_Map_File = $narg; - } - elsif ($arg =~ /^-W$|^--window$/) { - defined(my $narg = shift (@ARGV)) || die "$arg needs argument.\n"; - $Max_Checkin_Duration = $narg; - } - elsif ($arg =~ /^-I$|^--ignore$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - push (@Ignore_Files, $narg); - } - elsif ($arg =~ /^-C$|^--case-insensitive$/) { - $Case_Insensitive = 1; - } - elsif ($arg =~ /^-R$|^--regexp$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - $Regexp_Gate = $narg; - } - elsif ($arg =~ /^--stdout$/) { - $Output_To_Stdout = 1; - } - elsif ($arg =~ /^--version$/) { - $Print_Version = 1; - } - elsif ($arg =~ /^-d$|^--distributed$/) { - $Distributed = 1; - } - elsif ($arg =~ /^-P$|^--prune$/) { - $Prune_Empty_Msgs = 1; - } - elsif ($arg =~ /^-S$|^--separate-header$/) { - $After_Header = "\n\n"; - } - elsif ($arg =~ /^--no-wrap$/) { - $No_Wrap = 1; - } - elsif ($arg =~ /^--gmt$|^--utc$/) { - $UTC_Times = 1; - } - elsif ($arg =~ /^-w$|^--day-of-week$/) { - $Show_Day_Of_Week = 1; - } - elsif ($arg =~ /^-r$|^--revisions$/) { - $Show_Revisions = 1; - } - elsif ($arg =~ /^-t$|^--tags$/) { - $Show_Tags = 1; - } - elsif ($arg =~ /^-T$|^--tagdates$/) { - $Show_Tag_Dates = 1; - } - elsif ($arg =~ /^-b$|^--branches$/) { - $Show_Branches = 1; - } - elsif ($arg =~ /^-F$|^--follow$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - push (@Follow_Branches, $narg); - } - elsif ($arg =~ /^--stdin$/) { - $Input_From_Stdin = 1; - } - elsif ($arg =~ /^--header$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - $ChangeLog_Header = &slurp_file ($narg); - if (! defined ($ChangeLog_Header)) { - $ChangeLog_Header = ""; - } - } - elsif ($arg =~ /^--xml-encoding$/) { - my $narg = shift (@ARGV) || die "$arg needs argument.\n"; - $XML_Encoding = $narg ; - } - elsif ($arg =~ /^--xml$/) { - $XML_Output = 1; - } - elsif ($arg =~ /^--hide-filenames$/) { - $Hide_Filenames = 1; - $After_Header = ""; - } - elsif ($arg =~ /^--ignore-tag$/ ) { - die "$arg needs argument.\n" - unless @ARGV; - push @ignore_tags, shift @ARGV; - } - else { - # Just add a filename as argument to the log command - $Log_Source_Command .= " '$arg'"; - } - } - - ## Check for contradictions... - - if ($Output_To_Stdout && $Distributed) { - print STDERR "cannot pass both --stdout and --distributed\n"; - $exit_with_admonishment = 1; - } - - if ($Output_To_Stdout && $output_file) { - print STDERR "cannot pass both --stdout and --file\n"; - $exit_with_admonishment = 1; - } - - if ($XML_Output && $Cumulative) { - print STDERR "cannot pass both --xml and --accum\n"; - $exit_with_admonishment = 1; - } - - # Or if any other error message has already been printed out, we - # just leave now: - if ($exit_with_admonishment) { - &usage (); - exit (1); - } - elsif ($Print_Usage) { - &usage (); - exit (0); - } - elsif ($Print_Version) { - &version (); - exit (0); - } - - ## Else no problems, so proceed. - - if ($output_file) { - $Log_File_Name = $output_file; - } -} - -sub slurp_file () -{ - my $filename = shift || die ("no filename passed to slurp_file()"); - my $retstr; - - open (SLURPEE, "<${filename}") or die ("unable to open $filename ($!)"); - my $saved_sep = $/; - undef $/; - $retstr = ; - $/ = $saved_sep; - close (SLURPEE); - return $retstr; -} - -sub debug () -{ - if ($Debug) { - my $msg = shift; - print STDERR $msg; - } -} - -sub version () -{ - print "cvs2cl.pl version ${VERSION}; distributed under the GNU GPL.\n"; -} - -sub usage () -{ - &version (); - print <<'END_OF_INFO'; -Generate GNU-style ChangeLogs in CVS working copies. - -Notes about the output format(s): - - The default output of cvs2cl.pl is designed to be compact, formally - unambiguous, but still easy for humans to read. It is largely - self-explanatory, I hope; the one abbreviation that might not be - obvious is "utags". That stands for "universal tags" -- a - universal tag is one held by all the files in a given change entry. - - If you need output that's easy for a program to parse, use the - --xml option. Note that with XML output, just about all available - information is included with each change entry, whether you asked - for it or not, on the theory that your parser can ignore anything - it's not looking for. - -Notes about the options and arguments (the actual options are listed -last in this usage message): - - * The -I and -F options may appear multiple times. - - * To follow trunk revisions, use "-F trunk" ("-F TRUNK" also works). - This is okay because no would ever, ever be crazy enough to name a - branch "trunk", right? Right. - - * For the -U option, the UFILE should be formatted like - CVSROOT/users. That is, each line of UFILE looks like this - jrandom:jrandom@red-bean.com - or maybe even like this - jrandom:'Jesse Q. Random ' - Don't forget to quote the portion after the colon if necessary. - - * Many people want to filter by date. To do so, invoke cvs2cl.pl - like this: - cvs2cl.pl -l "-d'DATESPEC'" - where DATESPEC is any date specification valid for "cvs log -d". - (Note that CVS 1.10.7 and below requires there be no space between - -d and its argument). - -Options/Arguments: - - -h, -help, --help, or -? Show this usage and exit - --version Show version and exit - -r, --revisions Show revision numbers in output - -b, --branches Show branch names in revisions when possible - -t, --tags Show tags (symbolic names) in output - -T, --tagdates Show tags in output on their first occurance - --stdin Read from stdin, don't run cvs log - --stdout Output to stdout not to ChangeLog - -d, --distributed Put ChangeLogs in subdirs - -f FILE, --file FILE Write to FILE instead of "ChangeLog" - --fsf Use this if log data is in FSF ChangeLog style - -W SECS, --window SECS Window of time within which log entries unify - -U UFILE, --usermap UFILE Expand usernames to email addresses from UFILE - -R REGEXP, --regexp REGEXP Include only entries that match REGEXP - -I REGEXP, --ignore REGEXP Ignore files whose names match REGEXP - -C, --case-insensitive Any regexp matching is done case-insensitively - -F BRANCH, --follow BRANCH Show only revisions on or ancestral to BRANCH - -S, --separate-header Blank line between each header and log message - --no-wrap Don't auto-wrap log message (recommend -S also) - --gmt, --utc Show times in GMT/UTC instead of local time - --accum Add to an existing ChangeLog (incompat w/ --xml) - -w, --day-of-week Show day of week - --header FILE Get ChangeLog header from FILE ("-" means stdin) - --xml Output XML instead of ChangeLog format - --xml-encoding ENCODING Insert encoding clause in XML header - --hide-filenames Don't show filenames (ignored for XML output) - -P, --prune Don't show empty log messages - -g OPTS, --global-opts OPTS Invoke like this "cvs OPTS log ..." - -l OPTS, --log-opts OPTS Invoke like this "cvs ... log OPTS" - FILE1 [FILE2 ...] Show only log information for the named FILE(s) - -See http://www.red-bean.com/cvs2cl for maintenance and bug info. -END_OF_INFO -} - -__END__ - -=head1 NAME - -cvs2cl.pl - produces GNU-style ChangeLogs in CVS working copies, by - running "cvs log" and parsing the output. Shared log entries are - unified in an intuitive way. - -=head1 DESCRIPTION - -This script generates GNU-style ChangeLog files from CVS log -information. Basic usage: just run it inside a working copy and a -ChangeLog will appear. It requires repository access (i.e., 'cvs log' -must work). Run "cvs2cl.pl --help" to see more advanced options. - -See http://www.red-bean.com/cvs2cl for updates, and for instructions -on getting anonymous CVS access to this script. - -Maintainer: Karl Fogel -Please report bugs to . - -=head1 README - -This script generates GNU-style ChangeLog files from CVS log -information. Basic usage: just run it inside a working copy and a -ChangeLog will appear. It requires repository access (i.e., 'cvs log' -must work). Run "cvs2cl.pl --help" to see more advanced options. - -See http://www.red-bean.com/cvs2cl for updates, and for instructions -on getting anonymous CVS access to this script. - -Maintainer: Karl Fogel -Please report bugs to . - -=head1 PREREQUISITES - -This script requires C, C, and -C. -It also seems to require C or higher. - -=pod OSNAMES - -any - -=pod SCRIPT CATEGORIES - -Version_Control/CVS - -=cut - --*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- -*- - -Note about a bug-slash-opportunity: ------------------------------------ - -There's a bug in Text::Wrap, which affects cvs2cl. This script -reveals it: - - #!/usr/bin/perl -w - - use Text::Wrap; - - my $test_text = - "This script demonstrates a bug in Text::Wrap. The very long line - following this paragraph will be relocated relative to the surrounding - text: - - ==================================================================== - - See? When the bug happens, we'll get the line of equal signs below - this paragraph, even though it should be above."; - - # Print out the test text with no wrapping: - print "$test_text"; - print "\n"; - print "\n"; - - # Now print it out wrapped, and see the bug: - print wrap ("\t", " ", "$test_text"); - print "\n"; - print "\n"; - -If the line of equal signs were one shorter, then the bug doesn't -happen. Interesting. - -Anyway, rather than fix this in Text::Wrap, we might as well write a -new wrap() which has the following much-needed features: - -* initial indentation, like current Text::Wrap() -* subsequent line indentation, like current Text::Wrap() -* user chooses among: force-break long words, leave them alone, or die()? -* preserve existing indentation: chopped chunks from an indented line - are indented by same (like this line, not counting the asterisk!) -* optional list of things to preserve on line starts, default ">" - -Note that the last two are essentially the same concept, so unify in -implementation and give a good interface to controlling them. - -And how about: - -Optionally, when encounter a line pre-indented by same as previous -line, then strip the newline and refill, but indent by the same. -Yeah... - diff --git a/external/bsd/flex/dist/tools/cvsauthors b/external/bsd/flex/dist/tools/cvsauthors deleted file mode 100644 index e71dc4871..000000000 --- a/external/bsd/flex/dist/tools/cvsauthors +++ /dev/null @@ -1,5 +0,0 @@ -sodabrew:'Aaron Stone ' -john43:'John Millaway ' -millaway:'John Millaway ' -wlestes:'Will Estes ' -vern:'Vern Paxson ' diff --git a/external/bsd/flex/dist/tools/git2cl b/external/bsd/flex/dist/tools/git2cl new file mode 100755 index 000000000..1c2ab3fc1 --- /dev/null +++ b/external/bsd/flex/dist/tools/git2cl @@ -0,0 +1,372 @@ +#!/usr/bin/perl + +# Copyright (C) 2007, 2008 Simon Josefsson +# Copyright (C) 2007 Luis Mondesi +# * calls git directly. To use it just: +# cd ~/Project/my_git_repo; git2cl > ChangeLog +# * implements strptime() +# * fixes bugs in $comment parsing +# - copy input before we remove leading spaces +# - skip "merge branch" statements as they don't +# have information about files (i.e. we never +# go into $state 2) +# - behaves like a pipe/filter if input is given from the CLI +# else it calls git log by itself +# +# The functions mywrap, last_line_len, wrap_log_entry are derived from +# the cvs2cl tool, see : +# Copyright (C) 2001,2002,2003,2004 Martyn J. Pearce +# Copyright (C) 1999 Karl Fogel +# +# git2cl 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. +# +# git2cl 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 git2cl; see the file COPYING. If not, write to the Free +# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +use strict; +use POSIX qw(strftime); +use Text::Wrap qw(wrap); +use FileHandle; + +use constant EMPTY_LOG_MESSAGE => '*** empty log message ***'; + +# this is a helper hash for stptime. +# Assumes you are calling 'git log ...' with LC_ALL=C +my %month = ( + 'Jan'=>0, + 'Feb'=>1, + 'Mar'=>2, + 'Apr'=>3, + 'May'=>4, + 'Jun'=>5, + 'Jul'=>6, + 'Aug'=>7, + 'Sep'=>8, + 'Oct'=>9, + 'Nov'=>10, + 'Dec'=>11, +); + +my $fh = new FileHandle; + +sub key_ready +{ + my ($rin, $nfd); + vec($rin, fileno(STDIN), 1) = 1; + return $nfd = select($rin, undef, undef, 0); +} + +sub strptime { + my $str = shift; + return undef if not defined $str; + + # we are parsing this format + # Fri Oct 26 00:42:56 2007 -0400 + # to these fields + # sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1 + # Luis Mondesi + my @date; + if ($str =~ /([[:alpha:]]{3})\s+([[:alpha:]]{3})\s+([[:digit:]]{1,2})\s+([[:digit:]]{1,2}):([[:digit:]]{1,2}):([[:digit:]]{1,2})\s+([[:digit:]]{4})/){ + push(@date,$6,$5,$4,$3,$month{$2},($7 - 1900),-1,-1,-1); + } else { + die ("Cannot parse date '$str'\n'"); + } + return @date; +} + +sub mywrap { + my ($indent1, $indent2, @text) = @_; + # If incoming text looks preformatted, don't get clever + my $text = Text::Wrap::wrap($indent1, $indent2, @text); + if ( grep /^\s+/m, @text ) { + return $text; + } + my @lines = split /\n/, $text; + $indent2 =~ s!^((?: {8})+)!"\t" x (length($1)/8)!e; + $lines[0] =~ s/^$indent1\s+/$indent1/; + s/^$indent2\s+/$indent2/ + for @lines[1..$#lines]; + my $newtext = join "\n", @lines; + $newtext .= "\n" + if substr($text, -1) eq "\n"; + return $newtext; +} + +sub last_line_len { + my $files_list = shift; + my @lines = split (/\n/, $files_list); + my $last_line = pop (@lines); + return length ($last_line); +} + +# A custom wrap function, sensitive to some common constructs used in +# log entries. +sub wrap_log_entry { + my $text = shift; # The text to wrap. + my $left_pad_str = shift; # String to pad with on the left. + + # These do NOT take left_pad_str into account: + my $length_remaining = shift; # Amount left on current line. + my $max_line_length = shift; # Amount left for a blank line. + + my $wrapped_text = ''; # The accumulating wrapped entry. + my $user_indent = ''; # Inherited user_indent from prev line. + + my $first_time = 1; # First iteration of the loop? + my $suppress_line_start_match = 0; # Set to disable line start checks. + + my @lines = split (/\n/, $text); + while (@lines) # Don't use `foreach' here, it won't work. + { + my $this_line = shift (@lines); + chomp $this_line; + + if ($this_line =~ /^(\s+)/) { + $user_indent = $1; + } + else { + $user_indent = ''; + } + + # If it matches any of the line-start regexps, print a newline now... + if ($suppress_line_start_match) + { + $suppress_line_start_match = 0; + } + elsif (($this_line =~ /^(\s*)\*\s+[a-zA-Z0-9]/) + || ($this_line =~ /^(\s*)\* [a-zA-Z0-9_\.\/\+-]+/) + || ($this_line =~ /^(\s*)\([a-zA-Z0-9_\.\/\+-]+(\)|,\s*)/) + || ($this_line =~ /^(\s+)(\S+)/) + || ($this_line =~ /^(\s*)- +/) + || ($this_line =~ /^()\s*$/) + || ($this_line =~ /^(\s*)\*\) +/) + || ($this_line =~ /^(\s*)[a-zA-Z0-9](\)|\.|\:) +/)) + { + $length_remaining = $max_line_length - (length ($user_indent)); + } + + # Now that any user_indent has been preserved, strip off leading + # whitespace, so up-folding has no ugly side-effects. + $this_line =~ s/^\s*//; + + # Accumulate the line, and adjust parameters for next line. + my $this_len = length ($this_line); + if ($this_len == 0) + { + # Blank lines should cancel any user_indent level. + $user_indent = ''; + $length_remaining = $max_line_length; + } + elsif ($this_len >= $length_remaining) # Line too long, try breaking it. + { + # Walk backwards from the end. At first acceptable spot, break + # a new line. + my $idx = $length_remaining - 1; + if ($idx < 0) { $idx = 0 }; + while ($idx > 0) + { + if (substr ($this_line, $idx, 1) =~ /\s/) + { + my $line_now = substr ($this_line, 0, $idx); + my $next_line = substr ($this_line, $idx); + $this_line = $line_now; + + # Clean whitespace off the end. + chomp $this_line; + + # The current line is ready to be printed. + $this_line .= "\n${left_pad_str}"; + + # Make sure the next line is allowed full room. + $length_remaining = $max_line_length - (length ($user_indent)); + + # Strip next_line, but then preserve any user_indent. + $next_line =~ s/^\s*//; + + # Sneak a peek at the user_indent of the upcoming line, so + # $next_line (which will now precede it) can inherit that + # indent level. Otherwise, use whatever user_indent level + # we currently have, which might be none. + my $next_next_line = shift (@lines); + if ((defined ($next_next_line)) && ($next_next_line =~ /^(\s+)/)) { + $next_line = $1 . $next_line if (defined ($1)); + # $length_remaining = $max_line_length - (length ($1)); + $next_next_line =~ s/^\s*//; + } + else { + $next_line = $user_indent . $next_line; + } + if (defined ($next_next_line)) { + unshift (@lines, $next_next_line); + } + unshift (@lines, $next_line); + + # Our new next line might, coincidentally, begin with one of + # the line-start regexps, so we temporarily turn off + # sensitivity to that until we're past the line. + $suppress_line_start_match = 1; + + last; + } + else + { + $idx--; + } + } + + if ($idx == 0) + { + # We bottomed out because the line is longer than the + # available space. But that could be because the space is + # small, or because the line is longer than even the maximum + # possible space. Handle both cases below. + + if ($length_remaining == ($max_line_length - (length ($user_indent)))) + { + # The line is simply too long -- there is no hope of ever + # breaking it nicely, so just insert it verbatim, with + # appropriate padding. + $this_line = "\n${left_pad_str}${this_line}"; + } + else + { + # Can't break it here, but may be able to on the next round... + unshift (@lines, $this_line); + $length_remaining = $max_line_length - (length ($user_indent)); + $this_line = "\n${left_pad_str}"; + } + } + } + else # $this_len < $length_remaining, so tack on what we can. + { + # Leave a note for the next iteration. + $length_remaining = $length_remaining - $this_len; + + if ($this_line =~ /\.$/) + { + $this_line .= " "; + $length_remaining -= 2; + } + else # not a sentence end + { + $this_line .= " "; + $length_remaining -= 1; + } + } + + # Unconditionally indicate that loop has run at least once. + $first_time = 0; + + $wrapped_text .= "${user_indent}${this_line}"; + } + + # One last bit of padding. + $wrapped_text .= "\n"; + + return $wrapped_text; +} + +# main + +my @date; +my $author; +my @files; +my $comment; + +my $state; # 0-header 1-comment 2-files +my $done = 0; + +$state = 0; + +# if reading from STDIN, we assume that we are +# getting git log as input +if (key_ready()) +{ + + #my $dummyfh; # don't care about writing + #($fh,$dummyfh) = FileHandle::pipe; + $fh->fdopen(*STDIN, 'r'); +} +else +{ + $fh->open("LC_ALL=C git log --pretty --numstat --summary|") + or die("Cannot execute git log...$!\n"); +} + +while (my $_l = <$fh>) { + #print STDERR "debug ($state, " . (@date ? (strftime "%Y-%m-%d", @date) : "") . "): `$_'\n"; + if ($state == 0) { + if ($_l =~ m,^Author: (.*),) { + $author = $1; + } + if ($_l =~ m,^Date: (.*),) { + @date = strptime($1); + } + $state = 1 if ($_l =~ m,^$, and $author and (@date+0>0)); + } elsif ($state == 1) { + # * modifying our input text is a bad choice + # let's make a copy of it first, then we remove spaces + # * if we meet a "merge branch" statement, we need to start + # over and find a real entry + # Luis Mondesi + my $_s = $_l; + $_s =~ s/^ //g; + if ($_s =~ m/^Merge branch/) + { + $state=0; + next; + } + $comment = $comment . $_s; + $state = 2 if ($_l =~ m,^$,); + } elsif ($state == 2) { + if ($_l =~ m,^([0-9]+)\t([0-9]+)\t(.*)$,) { + push @files, $3; + } + $done = 1 if ($_l =~ m,^$,); + } + + if ($done) { + print (strftime "%Y-%m-%d $author\n\n", @date); + + my $files = join (", ", @files); + $files = mywrap ("\t", "\t", "* $files"), ": "; + + if (index($comment, EMPTY_LOG_MESSAGE) > -1 ) { + $comment = "[no log message]\n"; + } + + my $files_last_line_len = 0; + $files_last_line_len = last_line_len($files) + 1; + my $msg = wrap_log_entry($comment, "\t", 69-$files_last_line_len, 69); + + $msg =~ s/[ \t]+\n/\n/g; + + print "$files: $msg\n"; + + @date = (); + $author = ""; + @files = (); + $comment = ""; + + $state = 0; + $done = 0; + } +} + +if (@date + 0) +{ + print (strftime "%Y-%m-%d $author\n\n", @date); + my $msg = wrap_log_entry($comment, "\t", 69, 69); + $msg =~ s/[ \t]+\n/\n/g; + print "\t* $msg\n"; +} diff --git a/external/bsd/flex/dist/ylwrap b/external/bsd/flex/dist/ylwrap new file mode 100755 index 000000000..84d563405 --- /dev/null +++ b/external/bsd/flex/dist/ylwrap @@ -0,0 +1,222 @@ +#! /bin/sh +# ylwrap - wrapper for lex/yacc invocations. + +scriptversion=2009-04-28.21; # UTC + +# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, +# 2007, 2009 Free Software Foundation, Inc. +# +# Written by Tom Tromey . +# +# 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 . + +# 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 or send patches to +# . + +case "$1" in + '') + echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 + exit 1 + ;; + --basedir) + basedir=$2 + shift 2 + ;; + -h|--h*) + cat <<\EOF +Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... + +Wrapper for lex/yacc invocations, renaming files as desired. + + INPUT is the input file + OUTPUT is one file PROG generates + DESIRED is the file we actually want instead of OUTPUT + PROGRAM is program to run + ARGS are passed to PROG + +Any number of OUTPUT,DESIRED pairs may be used. + +Report bugs to . +EOF + exit $? + ;; + -v|--v*) + echo "ylwrap $scriptversion" + exit $? + ;; +esac + + +# The input. +input="$1" +shift +case "$input" in + [\\/]* | ?:[\\/]*) + # Absolute path; do nothing. + ;; + *) + # Relative path. Make it absolute. + input="`pwd`/$input" + ;; +esac + +pairlist= +while test "$#" -ne 0; do + if test "$1" = "--"; then + shift + break + fi + pairlist="$pairlist $1" + shift +done + +# The program to run. +prog="$1" +shift +# Make any relative path in $prog absolute. +case "$prog" in + [\\/]* | ?:[\\/]*) ;; + *[\\/]*) prog="`pwd`/$prog" ;; +esac + +# FIXME: add hostname here for parallel makes that run commands on +# other machines. But that might take us over the 14-char limit. +dirname=ylwrap$$ +trap "cd '`pwd`'; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 +mkdir $dirname || exit 1 + +cd $dirname + +case $# in + 0) "$prog" "$input" ;; + *) "$prog" "$@" "$input" ;; +esac +ret=$? + +if test $ret -eq 0; then + set X $pairlist + shift + first=yes + # Since DOS filename conventions don't allow two dots, + # the DOS version of Bison writes out y_tab.c instead of y.tab.c + # and y_tab.h instead of y.tab.h. Test to see if this is the case. + y_tab_nodot="no" + if test -f y_tab.c || test -f y_tab.h; then + y_tab_nodot="yes" + fi + + # The directory holding the input. + input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` + # Quote $INPUT_DIR so we can use it in a regexp. + # FIXME: really we should care about more than `.' and `\'. + input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` + + while test "$#" -ne 0; do + from="$1" + # Handle y_tab.c and y_tab.h output by DOS + if test $y_tab_nodot = "yes"; then + if test $from = "y.tab.c"; then + from="y_tab.c" + else + if test $from = "y.tab.h"; then + from="y_tab.h" + fi + fi + fi + if test -f "$from"; then + # If $2 is an absolute path name, then just use that, + # otherwise prepend `../'. + case "$2" in + [\\/]* | ?:[\\/]*) target="$2";; + *) target="../$2";; + esac + + # We do not want to overwrite a header file if it hasn't + # changed. This avoid useless recompilations. However the + # parser itself (the first file) should always be updated, + # because it is the destination of the .y.c rule in the + # Makefile. Divert the output of all other files to a temporary + # file so we can compare them to existing versions. + if test $first = no; then + realtarget="$target" + target="tmp-`echo $target | sed s/.*[\\/]//g`" + fi + # Edit out `#line' or `#' directives. + # + # We don't want the resulting debug information to point at + # an absolute srcdir; it is better for it to just mention the + # .y file with no path. + # + # We want to use the real output file name, not yy.lex.c for + # instance. + # + # We want the include guards to be adjusted too. + FROM=`echo "$from" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` + TARGET=`echo "$2" | sed \ + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ + -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` + + sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ + -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? + + # Check whether header files must be updated. + if test $first = no; then + if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then + echo "$2" is unchanged + rm -f "$target" + else + echo updating "$2" + mv -f "$target" "$realtarget" + fi + fi + else + # A missing file is only an error for the first file. This + # is a blatant hack to let us support using "yacc -d". If -d + # is not specified, we don't want an error when the header + # file is "missing". + if test $first = yes; then + ret=1 + fi + fi + shift + shift + first=no + done +else + ret=$? +fi + +# Remove the directory. +cd .. +rm -rf $dirname + +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/external/bsd/flex/include/config.h b/external/bsd/flex/include/config.h index b5d2ef4ea..fe66c78a4 100644 --- a/external/bsd/flex/include/config.h +++ b/external/bsd/flex/include/config.h @@ -1,4 +1,4 @@ -/* config.h. Generated by configure. */ +/* config.h. Generated from conf.in by configure. */ /* conf.in. Generated from configure.in by autoheader. */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP @@ -86,6 +86,9 @@ /* Define to 1 if you have the `regcomp' function. */ #define HAVE_REGCOMP 1 +/* Define to 1 if you have the header file. */ +#define HAVE_REGEX_H 1 + /* Define to 1 if you have the `setlocale' function. */ #define HAVE_SETLOCALE 1 @@ -113,9 +116,6 @@ /* Define to 1 if you have the `strtol' function. */ #define HAVE_STRTOL 1 -/* Define to 1 if you have the `strcasecmp' function. */ -#define HAVE_STRCASECMP 1 - /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 @@ -134,7 +134,6 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_VFORK_H */ - /* Define to 1 if `fork' works. */ #define HAVE_WORKING_FORK 1 @@ -144,11 +143,14 @@ /* Define to 1 if the system has the type `_Bool'. */ #define HAVE__BOOL 1 -/* Define to the GNU M4 executable name. */ +/* Define to the m4 executable name. */ #ifndef M4 #define M4 "/usr/bin/m4" #endif +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + /* Name of package */ #define PACKAGE "flex" @@ -159,17 +161,20 @@ #define PACKAGE_NAME "the fast lexical analyser generator" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "the fast lexical analyser generator 2.5.35" +#define PACKAGE_STRING "the fast lexical analyser generator 2.5.37" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "flex" +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + /* Define to the version of this package. */ -#define PACKAGE_VERSION "2.5.35" +#define PACKAGE_VERSION "2.5.37" /* If using the C implementation of alloca, define if you know the direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. + automatically deduced at runtime. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ @@ -179,7 +184,7 @@ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "2.5.35" +#define VERSION "2.5.37" /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ @@ -197,7 +202,7 @@ /* Define to rpl_realloc if the replacement function should be used. */ /* #undef realloc */ -/* Define to `unsigned' if does not define. */ +/* Define to `unsigned int' if does not define. */ /* #undef size_t */ /* Define as `fork' if `vfork' does not work. */ diff --git a/external/bsd/kyua-cli/Makefile.inc b/external/bsd/kyua-cli/Makefile.inc index a88e0b2d2..c9a7834e5 100644 --- a/external/bsd/kyua-cli/Makefile.inc +++ b/external/bsd/kyua-cli/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.1 2013/02/23 14:16:49 jmmv Exp $ +# $NetBSD: Makefile.inc,v 1.2 2013/10/18 23:41:40 jmmv Exp $ .include @@ -20,7 +20,20 @@ KYUA_TESTSDIR= ${TESTSBASE} KYUA_TARNAME!= grep 'define PACKAGE_TARNAME' ${TOPDIR}/config.h \ | cut -d '"' -f 2 +cookie-tarname: cookie-tarname-2 + @cmp -s cookie-tarname cookie-tarname-2 \ + || cp cookie-tarname-2 cookie-tarname +cookie-tarname-2: .PHONY + @echo "${KYUA_TARNAME}" >cookie-tarname-2 +CLEANFILES+= cookie-tarname cookie-tarname-2 + KYUA_VERSION!= grep 'define VERSION' ${TOPDIR}/config.h | cut -d '"' -f 2 +cookie-version: cookie-version-2 + @cmp -s cookie-version cookie-version-2 \ + || cp cookie-version-2 cookie-version +cookie-version-2: .PHONY + @echo "${KYUA_VERSION}" >cookie-version-2 +CLEANFILES+= cookie-version cookie-version-2 CPPFLAGS+= -DHAVE_CONFIG_H @@ -50,11 +63,11 @@ DPADD+= ${LIBLUTOK} ${LIBSQLITE} .endif .if defined(__MINIX) -LDADD+= -llua -lstdc++ -lgcc_s -DPADD+= ${LIBLUA} ${LIBSTDCXX} ${LIBGCC_S} -LDFLAGS+= -Wl,--allow-multiple-definition +LDADD+= -llua +DPADD+= ${LIBLUA} .endif # defined(__MINIX) +MANPAGE_DEPS = cookie-tarname cookie-version BUILD_MANPAGE = \ sed -e 's,__CONFDIR__,${KYUA_CONFDIR},g' \ -e 's,__DOCDIR__,${KYUA_DOCDIR},g' \ diff --git a/external/bsd/kyua-cli/config.h b/external/bsd/kyua-cli/config.h index ce092262c..47b47e62f 100644 --- a/external/bsd/kyua-cli/config.h +++ b/external/bsd/kyua-cli/config.h @@ -80,7 +80,7 @@ #define PACKAGE_NAME "Kyua - Command line interface" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Kyua - Command line interface 0.6" +#define PACKAGE_STRING "Kyua - Command line interface 0.7" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "kyua-cli" @@ -89,10 +89,10 @@ #define PACKAGE_URL "http://code.google.com/p/kyua/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.6" +#define PACKAGE_VERSION "0.7" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.6" +#define VERSION "0.7" diff --git a/external/bsd/kyua-cli/dist/NEWS b/external/bsd/kyua-cli/dist/NEWS index 0fd8283f5..834f30d2a 100644 --- a/external/bsd/kyua-cli/dist/NEWS +++ b/external/bsd/kyua-cli/dist/NEWS @@ -1,3 +1,24 @@ +Changes in version 0.7 +====================== + +Experimental version released on October 18th, 2013. + +* Made failures from testers more resilent. If a tester fails, the + corresponding test case will be marked as broken instead of causing + kyua to exit. + +* Added the '--results-filter' option to the 'report-html' command and + set its default value to skip passed results from HTML reports. This + is to keep these reports more succint and to avoid generating tons of + detail files that will be, in general, useless. + +* Switched to use Lutok 0.3 to gain compatibility with Lua 5.2. + +* Issue 69: Cope with the lack of AM_PROG_AR in configure.ac, which + first appeared in Automake 1.11.2. Fixes a problem in Ubuntu 10.04 + LTS, which appears stuck in 1.11.1. + + Changes in version 0.6 ====================== @@ -52,8 +73,8 @@ Experimental version released on February 22nd, 2013. * Removed the GDB build-time configuration variable. This is now part of the kyua-testers package. -* Rewrote the Kyuafile parsing code in C++, which results in a much - simpler implementation. As a side-effect, this gets rid of the +* Issue 31: Rewrote the Kyuafile parsing code in C++, which results in + a much simpler implementation. As a side-effect, this gets rid of the external Lua files required by 'kyua', which in turn make the tool self-contained. diff --git a/external/bsd/kyua-cli/dist/bootstrap/package.m4 b/external/bsd/kyua-cli/dist/bootstrap/package.m4 index 500a02d72..e0372abcd 100644 --- a/external/bsd/kyua-cli/dist/bootstrap/package.m4 +++ b/external/bsd/kyua-cli/dist/bootstrap/package.m4 @@ -1,6 +1,6 @@ # Signature of the current package. m4_define(AT_PACKAGE_NAME, Kyua - Command line interface) m4_define(AT_PACKAGE_TARNAME, kyua-cli) -m4_define(AT_PACKAGE_VERSION, 0.6) -m4_define(AT_PACKAGE_STRING, Kyua - Command line interface 0.6) +m4_define(AT_PACKAGE_VERSION, 0.7) +m4_define(AT_PACKAGE_STRING, Kyua - Command line interface 0.7) m4_define(AT_PACKAGE_BUGREPORT, kyua-discuss@googlegroups.com) diff --git a/external/bsd/kyua-cli/dist/bootstrap/testsuite b/external/bsd/kyua-cli/dist/bootstrap/testsuite index 151dda2a8..8aeeea039 100755 --- a/external/bsd/kyua-cli/dist/bootstrap/testsuite +++ b/external/bsd/kyua-cli/dist/bootstrap/testsuite @@ -911,7 +911,7 @@ fi # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -Kyua - Command line interface 0.6 test suite: bootstrapping tests test groups: +Kyua - Command line interface 0.7 test suite: bootstrapping tests test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -952,7 +952,7 @@ _ATEOF exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (Kyua - Command line interface 0.6)" && + $as_echo "$as_me (Kyua - Command line interface 0.7)" && cat <<\_ATEOF || at_write_fail=1 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1129,11 +1129,11 @@ exec 5>>"$at_suite_log" # Banners and logs. $as_echo "## ------------------------------------------------------------------ ## -## Kyua - Command line interface 0.6 test suite: bootstrapping tests. ## +## Kyua - Command line interface 0.7 test suite: bootstrapping tests. ## ## ------------------------------------------------------------------ ##" { $as_echo "## ------------------------------------------------------------------ ## -## Kyua - Command line interface 0.6 test suite: bootstrapping tests. ## +## Kyua - Command line interface 0.7 test suite: bootstrapping tests. ## ## ------------------------------------------------------------------ ##" echo @@ -1977,7 +1977,7 @@ _ASBOX $as_echo "Please send $at_msg and all information you think might help: To: - Subject: [Kyua - Command line interface 0.6] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [Kyua - Command line interface 0.7] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may diff --git a/external/bsd/kyua-cli/dist/cli/cmd_report.cpp b/external/bsd/kyua-cli/dist/cli/cmd_report.cpp index ea3ffaa65..1240dde4f 100644 --- a/external/bsd/kyua-cli/dist/cli/cmd_report.cpp +++ b/external/bsd/kyua-cli/dist/cli/cmd_report.cpp @@ -58,45 +58,6 @@ using utils::optional; namespace { -/// Collection of result types. -/// -/// This is a vector rather than a set because we want to respect the order in -/// which the user provided the types. -typedef std::vector< engine::test_result::result_type > result_types; - - -/// Converts a set of result type names to identifiers. -/// -/// \param names The collection of names to process; may be empty. -/// -/// \return The result type identifiers corresponding to the input names. -/// -/// \throw std::runtime_error If any name in the input names is invalid. -static result_types -parse_types(const std::vector< std::string >& names) -{ - using engine::test_result; - typedef std::map< std::string, test_result::result_type > types_map; - types_map valid_types; - valid_types["broken"] = test_result::broken; - valid_types["failed"] = test_result::failed; - valid_types["passed"] = test_result::passed; - valid_types["skipped"] = test_result::skipped; - valid_types["xfail"] = test_result::expected_failure; - - result_types types; - for (std::vector< std::string >::const_iterator iter = names.begin(); - iter != names.end(); ++iter) { - const types_map::const_iterator match = valid_types.find(*iter); - if (match == valid_types.end()) - throw std::runtime_error(F("Unknown result type '%s'") % *iter); - else - types.push_back((*match).second); - } - return types; -} - - /// Generates a plain-text report intended to be printed to the console. class console_hooks : public scan_action::base_hooks { /// Indirection to print the output to the correct file stream. @@ -106,7 +67,7 @@ class console_hooks : public scan_action::base_hooks { const bool _show_context; /// Collection of result types to include in the report. - const result_types& _results_filters; + const cli::result_types& _results_filters; /// The action ID loaded. int64_t _action_id; @@ -218,7 +179,7 @@ public: /// Cannot be empty. console_hooks(cmdline::ui* ui_, const fs::path& outfile_, const bool show_context_, - const result_types& results_filters_) : + const cli::result_types& results_filters_) : _writer(ui_, outfile_), _show_context(show_context_), _results_filters(results_filters_) @@ -265,7 +226,7 @@ public: titles[engine::test_result::passed] = "Passed tests"; titles[engine::test_result::skipped] = "Skipped tests"; - for (result_types::const_iterator iter = _results_filters.begin(); + for (cli::result_types::const_iterator iter = _results_filters.begin(); iter != _results_filters.end(); ++iter) { const types_map::const_iterator match = titles.find(*iter); INV_MSG(match != titles.end(), "Conditional does not match user " @@ -350,9 +311,7 @@ cmd_report::cmd_report(void) : cli_command( add_option(cmdline::path_option( "output", "The file to which to write the report", "path", "/dev/stdout")); - add_option(cmdline::list_option( - "results-filter", "Comma-separated list of result types to include in " - "the report", "types", "skipped,xfail,broken,failed")); + add_option(results_filter_option); } @@ -372,16 +331,7 @@ cmd_report::run(cmdline::ui* ui, const cmdline::parsed_cmdline& cmdline, if (cmdline.has_option("action")) action_id = cmdline.get_option< cmdline::int_option >("action"); - result_types types = parse_types( - cmdline.get_option< cmdline::list_option >("results-filter")); - if (types.empty()) { - types.push_back(engine::test_result::passed); - types.push_back(engine::test_result::skipped); - types.push_back(engine::test_result::expected_failure); - types.push_back(engine::test_result::broken); - types.push_back(engine::test_result::failed); - } - + const result_types types = get_result_types(cmdline); console_hooks hooks( ui, cmdline.get_option< cmdline::path_option >("output"), cmdline.has_option("show-context"), types); diff --git a/external/bsd/kyua-cli/dist/cli/cmd_report_html.cpp b/external/bsd/kyua-cli/dist/cli/cmd_report_html.cpp index 7fb14ee1f..72f524f99 100644 --- a/external/bsd/kyua-cli/dist/cli/cmd_report_html.cpp +++ b/external/bsd/kyua-cli/dist/cli/cmd_report_html.cpp @@ -28,6 +28,7 @@ #include "cli/cmd_report_html.hpp" +#include #include #include #include @@ -139,9 +140,15 @@ class html_hooks : public scan_action::base_hooks { /// The top directory in which to create the HTML files. fs::path _directory; + /// Collection of result types to include in the report. + const cli::result_types& _results_filters; + /// Templates accumulator to generate the index.html file. text::templates_def _summary_templates; + /// Mapping of result types to the amount of tests with such result. + std::map< engine::test_result::result_type, std::size_t > _types_count; + /// Generates a common set of templates for all of our files. /// /// \return A new templates object with common parameters. @@ -157,10 +164,19 @@ class html_hooks : public scan_action::base_hooks { /// /// \param test_case The test case to be added. /// \param result The result of the test case. + /// \param has_detail If true, the result of the test case has not been + /// filtered and therefore there exists a separate file for the test + /// with all of its information. void add_to_summary(const engine::test_case& test_case, - const engine::test_result& result) + const engine::test_result& result, + const bool has_detail) { + ++_types_count[result.type()]; + + if (!has_detail) + return; + std::string test_cases_vector; std::string test_cases_file_vector; switch (result.type()) { @@ -221,16 +237,40 @@ class html_hooks : public scan_action::base_hooks { text::instantiate(templates, template_file, output_path); } + /// Gets the number of tests with a given result type. + /// + /// \param type The type to be queried. + /// + /// \return The number of tests of the given type, or 0 if none have yet + /// been registered by add_to_summary(). + std::size_t + get_count(const engine::test_result::result_type type) const + { + const std::map< engine::test_result::result_type, + std::size_t >::const_iterator + iter = _types_count.find(type); + if (iter == _types_count.end()) + return 0; + else + return (*iter).second; + } + public: /// Constructor for the hooks. /// /// \param ui_ User interface object where to report progress. /// \param directory_ The directory in which to create the HTML files. - html_hooks(cmdline::ui* ui_, const fs::path& directory_) : + /// \param results_filters_ The result types to include in the report. + /// Cannot be empty. + html_hooks(cmdline::ui* ui_, const fs::path& directory_, + const cli::result_types& results_filters_) : _ui(ui_), _directory(directory_), + _results_filters(results_filters_), _summary_templates(common_templates()) { + PRE(!results_filters_.empty()); + // Keep in sync with add_to_summary(). _summary_templates.add_vector("broken_test_cases"); _summary_templates.add_vector("broken_test_cases_file"); @@ -274,7 +314,13 @@ public: const engine::test_case& test_case = *test_program->find( iter.test_case_name()); - add_to_summary(test_case, result); + if (std::find(_results_filters.begin(), _results_filters.end(), + result.type()) == _results_filters.end()) { + add_to_summary(test_case, result, false); + return; + } + + add_to_summary(test_case, result, true); text::templates_def templates = common_templates(); templates.add_variable("test_case", @@ -308,10 +354,26 @@ public: void write_summary(void) { - const std::size_t bad_count = - _summary_templates.get_vector("broken_test_cases").size() + - _summary_templates.get_vector("failed_test_cases").size(); - _summary_templates.add_variable("bad_tests_count", F("%s") % bad_count); + const std::size_t n_passed = get_count(engine::test_result::passed); + const std::size_t n_failed = get_count(engine::test_result::failed); + const std::size_t n_skipped = get_count(engine::test_result::skipped); + const std::size_t n_xfail = get_count( + engine::test_result::expected_failure); + const std::size_t n_broken = get_count(engine::test_result::broken); + + const std::size_t n_bad = n_broken + n_failed; + + _summary_templates.add_variable("passed_tests_count", + F("%s") % n_passed); + _summary_templates.add_variable("failed_tests_count", + F("%s") % n_failed); + _summary_templates.add_variable("skipped_tests_count", + F("%s") % n_skipped); + _summary_templates.add_variable("xfail_tests_count", + F("%s") % n_xfail); + _summary_templates.add_variable("broken_tests_count", + F("%s") % n_broken); + _summary_templates.add_variable("bad_tests_count", F("%s") % n_bad); generate(text::templates_def(), "report.css", "report.css"); generate(_summary_templates, "index.html", "index.html"); @@ -337,6 +399,9 @@ cli::cmd_report_html::cmd_report_html(void) : cli_command( add_option(cmdline::path_option( "output", "The directory in which to store the HTML files", "path", "html")); + add_option(cmdline::list_option( + "results-filter", "Comma-separated list of result types to include in " + "the report", "types", "skipped,xfail,broken,failed")); } @@ -357,10 +422,11 @@ cli::cmd_report_html::run(cmdline::ui* ui, if (cmdline.has_option("action")) action_id = cmdline.get_option< cmdline::int_option >("action"); + const result_types types = get_result_types(cmdline); const fs::path directory = cmdline.get_option< cmdline::path_option >("output"); create_top_directory(directory, cmdline.has_option("force")); - html_hooks hooks(ui, directory); + html_hooks hooks(ui, directory, types); scan_action::drive(store_path(cmdline), action_id, hooks); hooks.write_summary(); diff --git a/external/bsd/kyua-cli/dist/cli/common.cpp b/external/bsd/kyua-cli/dist/cli/common.cpp index 4817e7b04..19fb9874f 100644 --- a/external/bsd/kyua-cli/dist/cli/common.cpp +++ b/external/bsd/kyua-cli/dist/cli/common.cpp @@ -68,6 +68,12 @@ const cmdline::path_option cli::kyuafile_option( "file", "Kyuafile"); +/// Standard definition of the option to specify filters on test results. +const cmdline::list_option cli::results_filter_option( + "results-filter", "Comma-separated list of result types to include in " + "the report", "types", "skipped,xfail,broken,failed"); + + /// Standard definition of the option to specify the store. const cmdline::path_option cli::store_option( 's', "store", @@ -75,6 +81,44 @@ const cmdline::path_option cli::store_option( "file", "~/.kyua/store.db"); +namespace { + + +/// Converts a set of result type names to identifiers. +/// +/// \param names The collection of names to process; may be empty. +/// +/// \return The result type identifiers corresponding to the input names. +/// +/// \throw std::runtime_error If any name in the input names is invalid. +static cli::result_types +parse_types(const std::vector< std::string >& names) +{ + using engine::test_result; + typedef std::map< std::string, test_result::result_type > types_map; + types_map valid_types; + valid_types["broken"] = test_result::broken; + valid_types["failed"] = test_result::failed; + valid_types["passed"] = test_result::passed; + valid_types["skipped"] = test_result::skipped; + valid_types["xfail"] = test_result::expected_failure; + + cli::result_types types; + for (std::vector< std::string >::const_iterator iter = names.begin(); + iter != names.end(); ++iter) { + const types_map::const_iterator match = valid_types.find(*iter); + if (match == valid_types.end()) + throw std::runtime_error(F("Unknown result type '%s'") % *iter); + else + types.push_back((*match).second); + } + return types; +} + + +} // anonymous namespace + + /// Gets the path to the build root, if any. /// /// This is just syntactic sugar to simplify quierying the 'build_root_option'. @@ -129,6 +173,29 @@ cli::kyuafile_path(const cmdline::parsed_cmdline& cmdline) } +/// Gets the filters for the result types. +/// +/// \param cmdline The parsed command line. +/// +/// \return A collection of result types to be used for filtering. +/// +/// \throw std::runtime_error If any of the user-provided filters is invalid. +cli::result_types +cli::get_result_types(const utils::cmdline::parsed_cmdline& cmdline) +{ + result_types types = parse_types( + cmdline.get_option< cmdline::list_option >("results-filter")); + if (types.empty()) { + types.push_back(engine::test_result::passed); + types.push_back(engine::test_result::skipped); + types.push_back(engine::test_result::expected_failure); + types.push_back(engine::test_result::broken); + types.push_back(engine::test_result::failed); + } + return types; +} + + /// Gets the path to the store to be used. /// /// This has the side-effect of creating the directory in which to store the diff --git a/external/bsd/kyua-cli/dist/cli/common.hpp b/external/bsd/kyua-cli/dist/cli/common.hpp index a5064c78b..91e3c9174 100644 --- a/external/bsd/kyua-cli/dist/cli/common.hpp +++ b/external/bsd/kyua-cli/dist/cli/common.hpp @@ -34,7 +34,9 @@ #include #include +#include +#include "engine/test_result.hpp" #include "utils/cmdline/base_command.hpp" #include "utils/cmdline/options.hpp" #include "utils/cmdline/parser.hpp" @@ -51,9 +53,8 @@ class path; } // namespace utils namespace engine { -struct test_filter; class test_case; -class test_result; +class test_filter; } // namespace engine namespace cli { @@ -61,6 +62,7 @@ namespace cli { extern const utils::cmdline::path_option build_root_option; extern const utils::cmdline::path_option kyuafile_option; +extern const utils::cmdline::list_option results_filter_option; extern const utils::cmdline::path_option store_option; extern const utils::cmdline::property_option variable_option; @@ -77,11 +79,19 @@ typedef utils::cmdline::base_command< utils::config::tree > cli_command; typedef std::auto_ptr< cli_command > cli_command_ptr; +/// Collection of result types. +/// +/// This is a vector rather than a set because we want to respect the order in +/// which the user provided the types. +typedef std::vector< engine::test_result::result_type > result_types; + + utils::optional< utils::fs::path > get_home(void); utils::optional< utils::fs::path > build_root_path( const utils::cmdline::parsed_cmdline&); utils::fs::path kyuafile_path(const utils::cmdline::parsed_cmdline&); +result_types get_result_types(const utils::cmdline::parsed_cmdline&); utils::fs::path store_path(const utils::cmdline::parsed_cmdline&); std::set< engine::test_filter > parse_filters( diff --git a/external/bsd/kyua-cli/dist/cli/common_test.cpp b/external/bsd/kyua-cli/dist/cli/common_test.cpp index 9ecc9c8b6..8fce3d4f0 100644 --- a/external/bsd/kyua-cli/dist/cli/common_test.cpp +++ b/external/bsd/kyua-cli/dist/cli/common_test.cpp @@ -143,6 +143,83 @@ ATF_TEST_CASE_BODY(kyuafile_path__explicit) } +ATF_TEST_CASE_WITHOUT_HEAD(result_types__default); +ATF_TEST_CASE_BODY(result_types__default) +{ + std::map< std::string, std::vector< std::string > > options; + options["results-filter"].push_back( + cli::results_filter_option.default_value()); + const cmdline::parsed_cmdline mock_cmdline(options, cmdline::args_vector()); + + cli::result_types exp_types; + exp_types.push_back(engine::test_result::skipped); + exp_types.push_back(engine::test_result::expected_failure); + exp_types.push_back(engine::test_result::broken); + exp_types.push_back(engine::test_result::failed); + ATF_REQUIRE(exp_types == cli::get_result_types(mock_cmdline)); +} + + +ATF_TEST_CASE_WITHOUT_HEAD(result_types__empty); +ATF_TEST_CASE_BODY(result_types__empty) +{ + std::map< std::string, std::vector< std::string > > options; + options["results-filter"].push_back(""); + const cmdline::parsed_cmdline mock_cmdline(options, cmdline::args_vector()); + + cli::result_types exp_types; + exp_types.push_back(engine::test_result::passed); + exp_types.push_back(engine::test_result::skipped); + exp_types.push_back(engine::test_result::expected_failure); + exp_types.push_back(engine::test_result::broken); + exp_types.push_back(engine::test_result::failed); + ATF_REQUIRE(exp_types == cli::get_result_types(mock_cmdline)); +} + + +ATF_TEST_CASE_WITHOUT_HEAD(result_types__explicit__all); +ATF_TEST_CASE_BODY(result_types__explicit__all) +{ + std::map< std::string, std::vector< std::string > > options; + options["results-filter"].push_back("passed,skipped,xfail,broken,failed"); + const cmdline::parsed_cmdline mock_cmdline(options, cmdline::args_vector()); + + cli::result_types exp_types; + exp_types.push_back(engine::test_result::passed); + exp_types.push_back(engine::test_result::skipped); + exp_types.push_back(engine::test_result::expected_failure); + exp_types.push_back(engine::test_result::broken); + exp_types.push_back(engine::test_result::failed); + ATF_REQUIRE(exp_types == cli::get_result_types(mock_cmdline)); +} + + +ATF_TEST_CASE_WITHOUT_HEAD(result_types__explicit__some); +ATF_TEST_CASE_BODY(result_types__explicit__some) +{ + std::map< std::string, std::vector< std::string > > options; + options["results-filter"].push_back("skipped,broken"); + const cmdline::parsed_cmdline mock_cmdline(options, cmdline::args_vector()); + + cli::result_types exp_types; + exp_types.push_back(engine::test_result::skipped); + exp_types.push_back(engine::test_result::broken); + ATF_REQUIRE(exp_types == cli::get_result_types(mock_cmdline)); +} + + +ATF_TEST_CASE_WITHOUT_HEAD(result_types__explicit__invalid); +ATF_TEST_CASE_BODY(result_types__explicit__invalid) +{ + std::map< std::string, std::vector< std::string > > options; + options["results-filter"].push_back("skipped,foo,broken"); + const cmdline::parsed_cmdline mock_cmdline(options, cmdline::args_vector()); + + ATF_REQUIRE_THROW_RE(std::runtime_error, "Unknown result type 'foo'", + cli::get_result_types(mock_cmdline)); +} + + ATF_TEST_CASE_WITHOUT_HEAD(store_path__default__create_directory__ok); ATF_TEST_CASE_BODY(store_path__default__create_directory__ok) { @@ -355,6 +432,12 @@ ATF_INIT_TEST_CASES(tcs) ATF_ADD_TEST_CASE(tcs, kyuafile_path__default); ATF_ADD_TEST_CASE(tcs, kyuafile_path__explicit); + ATF_ADD_TEST_CASE(tcs, result_types__default); + ATF_ADD_TEST_CASE(tcs, result_types__empty); + ATF_ADD_TEST_CASE(tcs, result_types__explicit__all); + ATF_ADD_TEST_CASE(tcs, result_types__explicit__some); + ATF_ADD_TEST_CASE(tcs, result_types__explicit__invalid); + ATF_ADD_TEST_CASE(tcs, store_path__default__create_directory__ok); ATF_ADD_TEST_CASE(tcs, store_path__default__create_directory__fail); ATF_ADD_TEST_CASE(tcs, store_path__default__no_home); diff --git a/external/bsd/kyua-cli/dist/doc/kyua-report-html.1.in b/external/bsd/kyua-cli/dist/doc/kyua-report-html.1.in index ab5250126..88307c697 100644 --- a/external/bsd/kyua-cli/dist/doc/kyua-report-html.1.in +++ b/external/bsd/kyua-cli/dist/doc/kyua-report-html.1.in @@ -25,7 +25,7 @@ .\" 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. -.Dd September 9, 2012 +.Dd April 15, 2013 .Dt KYUA-REPORT-HTML 1 .Os .Sh NAME @@ -36,6 +36,7 @@ .Op Fl -action Ar id .Op Fl -force .Op Fl -output Ar path +.Op Fl -results-filter Ar types .Op Fl -store Ar file .Sh DESCRIPTION The @@ -64,6 +65,24 @@ directory must not exist unless the .Fl -force option is provided. The default is .Pa ./html . +.It Fl -results-filter Ar types +Comma-separated list of the test result types to include in the report. +The ordering of the values is respected so that you can determine how you +want the list of tests to be shown. +.Pp +The valid values are: +.Sq broken , +.Sq failed , +.Sq passed , +.Sq skipped +and +.Sq xfail . +If the parameter supplied to the option is empty, filtering is suppressed +and all result types are shown in the report. +.Pp +The default value for this flag includes all the test results except the +passed tests. Showing the passed tests by default clutters the report with +too much information, so only abnormal conditions are included. .It Fl -store Ar path , Fl s Ar path Specifies the database to use. Defaults to .Pa ~/.kyua/store.db . diff --git a/external/bsd/kyua-cli/dist/engine/action.hpp b/external/bsd/kyua-cli/dist/engine/action.hpp index 4bf1fb7c8..c3bbc361d 100644 --- a/external/bsd/kyua-cli/dist/engine/action.hpp +++ b/external/bsd/kyua-cli/dist/engine/action.hpp @@ -33,7 +33,8 @@ #define ENGINE_ACTION_HPP #include -#include + +#include "utils/shared_ptr.hpp" namespace engine { @@ -50,7 +51,7 @@ class action { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; public: explicit action(const context&); diff --git a/external/bsd/kyua-cli/dist/engine/context.hpp b/external/bsd/kyua-cli/dist/engine/context.hpp index e75f7f3ec..66757ec37 100644 --- a/external/bsd/kyua-cli/dist/engine/context.hpp +++ b/external/bsd/kyua-cli/dist/engine/context.hpp @@ -35,9 +35,9 @@ #include #include #include -#include #include "utils/fs/path.hpp" +#include "utils/shared_ptr.hpp" namespace engine { @@ -51,7 +51,7 @@ class context { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; public: context(const utils::fs::path&, diff --git a/external/bsd/kyua-cli/dist/engine/drivers/debug_test.hpp b/external/bsd/kyua-cli/dist/engine/drivers/debug_test.hpp index b96463a7f..3bc6f8ddb 100644 --- a/external/bsd/kyua-cli/dist/engine/drivers/debug_test.hpp +++ b/external/bsd/kyua-cli/dist/engine/drivers/debug_test.hpp @@ -49,7 +49,8 @@ namespace debug_test { /// Tuple containing the results of this driver. -struct result { +class result { +public: /// A filter matching the executed test case only. test_filter test_case; diff --git a/external/bsd/kyua-cli/dist/engine/drivers/list_tests.hpp b/external/bsd/kyua-cli/dist/engine/drivers/list_tests.hpp index d75773361..b32eb50b4 100644 --- a/external/bsd/kyua-cli/dist/engine/drivers/list_tests.hpp +++ b/external/bsd/kyua-cli/dist/engine/drivers/list_tests.hpp @@ -61,7 +61,8 @@ public: /// Tuple containing the results of this driver. -struct result { +class result { +public: /// Filters that did not match any available test case. /// /// The presence of any filters here probably indicates a usage error. If a diff --git a/external/bsd/kyua-cli/dist/engine/drivers/run_tests.hpp b/external/bsd/kyua-cli/dist/engine/drivers/run_tests.hpp index 9ce40be76..62dc39d17 100644 --- a/external/bsd/kyua-cli/dist/engine/drivers/run_tests.hpp +++ b/external/bsd/kyua-cli/dist/engine/drivers/run_tests.hpp @@ -77,7 +77,8 @@ public: /// Tuple containing the results of this driver. -struct result { +class result { +public: /// The identifier assigned to the operation. int64_t action_id; diff --git a/external/bsd/kyua-cli/dist/engine/drivers/scan_action.hpp b/external/bsd/kyua-cli/dist/engine/drivers/scan_action.hpp index 30970b670..7a826b913 100644 --- a/external/bsd/kyua-cli/dist/engine/drivers/scan_action.hpp +++ b/external/bsd/kyua-cli/dist/engine/drivers/scan_action.hpp @@ -78,7 +78,8 @@ public: /// Tuple containing the results of this driver. -struct result { +class result { +public: /// Initializer for the tuple's fields. result(void) { diff --git a/external/bsd/kyua-cli/dist/engine/filters.hpp b/external/bsd/kyua-cli/dist/engine/filters.hpp index d1f5d25dc..4742f96af 100644 --- a/external/bsd/kyua-cli/dist/engine/filters.hpp +++ b/external/bsd/kyua-cli/dist/engine/filters.hpp @@ -52,7 +52,8 @@ namespace engine { /// A filter is one of: the name of a directory containing test cases, the name /// of a test program, or the name of a test program plus the name of a test /// case. -struct test_filter { +class test_filter { +public: /// The name of the test program or subdirectory to match. utils::fs::path test_program; diff --git a/external/bsd/kyua-cli/dist/engine/metadata.hpp b/external/bsd/kyua-cli/dist/engine/metadata.hpp index cbf73a8b3..3d3baa3d9 100644 --- a/external/bsd/kyua-cli/dist/engine/metadata.hpp +++ b/external/bsd/kyua-cli/dist/engine/metadata.hpp @@ -38,9 +38,8 @@ #include #include -#include - #include "utils/noncopyable.hpp" +#include "utils/shared_ptr.hpp" namespace utils { namespace config { class tree; } @@ -73,7 +72,7 @@ class metadata { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; friend class metadata_builder; diff --git a/external/bsd/kyua-cli/dist/engine/metadata_test.cpp b/external/bsd/kyua-cli/dist/engine/metadata_test.cpp index 8bc14d158..ce6f0868f 100644 --- a/external/bsd/kyua-cli/dist/engine/metadata_test.cpp +++ b/external/bsd/kyua-cli/dist/engine/metadata_test.cpp @@ -338,7 +338,7 @@ ATF_TEST_CASE_BODY(output__some_values) ATF_REQUIRE_EQ( "metadata{allowed_architectures='abc', allowed_platforms='', " "description='', has_cleanup='false', required_configs='', " - "required_files='bar foo', required_memory='1024', " + "required_files='bar foo', required_memory='1.00K', " "required_programs='', required_user='', timeout='300'}", str.str()); } diff --git a/external/bsd/kyua-cli/dist/engine/test_case.cpp b/external/bsd/kyua-cli/dist/engine/test_case.cpp index c8a2aca82..524e55f6b 100644 --- a/external/bsd/kyua-cli/dist/engine/test_case.cpp +++ b/external/bsd/kyua-cli/dist/engine/test_case.cpp @@ -418,18 +418,32 @@ engine::debug_test_case(const test_case* test_case, const engine::test_program& test_program = test_case->container_test_program(); - const engine::tester tester = create_tester( - test_program.interface_name(), test_case->get_metadata(), user_config); - tester.test(test_program.absolute_path(), test_case->name(), - result_file.file(), stdout_path, stderr_path, - generate_tester_config(test_case->get_metadata(), user_config, - test_program.test_suite_name())); + try { + const engine::tester tester = create_tester( + test_program.interface_name(), test_case->get_metadata(), + user_config); + tester.test(test_program.absolute_path(), test_case->name(), + result_file.file(), stdout_path, stderr_path, + generate_tester_config(test_case->get_metadata(), + user_config, + test_program.test_suite_name())); - hooks.got_stdout(stdout_path); - hooks.got_stderr(stderr_path); + hooks.got_stdout(stdout_path); + hooks.got_stderr(stderr_path); - std::ifstream result_input(result_file.file().c_str()); - return engine::test_result::parse(result_input); + std::ifstream result_input(result_file.file().c_str()); + return engine::test_result::parse(result_input); + } catch (const std::runtime_error& e) { + // One of the possible explanation for us getting here is if the tester + // crashes or doesn't behave as expected. We must record any output + // from the process so that we can debug it further. + hooks.got_stdout(stdout_path); + hooks.got_stderr(stderr_path); + + return engine::test_result( + engine::test_result::broken, + F("Caught unexpected exception: %s") % e.what()); + } } @@ -467,16 +481,30 @@ engine::run_test_case(const test_case* test_case, const engine::test_program& test_program = test_case->container_test_program(); - const engine::tester tester = create_tester( - test_program.interface_name(), test_case->get_metadata(), user_config); - tester.test(test_program.absolute_path(), test_case->name(), - result_file.file(), stdout_file.file(), stderr_file.file(), - generate_tester_config(test_case->get_metadata(), user_config, - test_program.test_suite_name())); + try { + const engine::tester tester = create_tester( + test_program.interface_name(), test_case->get_metadata(), + user_config); + tester.test(test_program.absolute_path(), test_case->name(), + result_file.file(), stdout_file.file(), stderr_file.file(), + generate_tester_config(test_case->get_metadata(), + user_config, + test_program.test_suite_name())); - hooks.got_stdout(stdout_file.file()); - hooks.got_stderr(stderr_file.file()); + hooks.got_stdout(stdout_file.file()); + hooks.got_stderr(stderr_file.file()); - std::ifstream result_input(result_file.file().c_str()); - return engine::test_result::parse(result_input); + std::ifstream result_input(result_file.file().c_str()); + return engine::test_result::parse(result_input); + } catch (const std::runtime_error& e) { + // One of the possible explanation for us getting here is if the tester + // crashes or doesn't behave as expected. We must record any output + // from the process so that we can debug it further. + hooks.got_stdout(stdout_file.file()); + hooks.got_stderr(stderr_file.file()); + + return engine::test_result( + engine::test_result::broken, + F("Caught unexpected exception: %s") % e.what()); + } } diff --git a/external/bsd/kyua-cli/dist/engine/test_case.hpp b/external/bsd/kyua-cli/dist/engine/test_case.hpp index 12f50437f..cca140d7f 100644 --- a/external/bsd/kyua-cli/dist/engine/test_case.hpp +++ b/external/bsd/kyua-cli/dist/engine/test_case.hpp @@ -34,12 +34,12 @@ #include #include -#include #include "engine/metadata.hpp" #include "utils/config/tree.hpp" #include "utils/fs/path.hpp" #include "utils/optional.hpp" +#include "utils/shared_ptr.hpp" namespace engine { @@ -71,7 +71,7 @@ class test_case { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; public: test_case(const std::string&, const test_program&, @@ -96,7 +96,7 @@ std::ostream& operator<<(std::ostream&, const test_case&); /// Pointer to a test case. -typedef std::tr1::shared_ptr< test_case > test_case_ptr; +typedef std::shared_ptr< test_case > test_case_ptr; test_result debug_test_case(const test_case*, const utils::config::tree&, diff --git a/external/bsd/kyua-cli/dist/engine/test_case_test.cpp b/external/bsd/kyua-cli/dist/engine/test_case_test.cpp index 300f22867..4b89a6526 100644 --- a/external/bsd/kyua-cli/dist/engine/test_case_test.cpp +++ b/external/bsd/kyua-cli/dist/engine/test_case_test.cpp @@ -364,6 +364,30 @@ public: }; +/// Creates a mock tester that receives a signal. +/// +/// \param interface The name of the interface implemented by the tester. +/// \param term_sig Signal to deliver to the tester. If the tester does not +/// exit due to this reason, it exits with an arbitrary non-zero code. +static void +create_mock_tester_signal(const char* interface, const int term_sig) +{ + const std::string tester_name = F("kyua-%s-tester") % interface; + + atf::utils::create_file( + tester_name, + F("#! /bin/sh\n" + "echo 'stdout stuff'\n" + "echo 'stderr stuff' 1>&2\n" + "kill -%s $$\n" + "echo 'not reachable' 1>&2\n" + "exit 0\n") % term_sig); + ATF_REQUIRE(::chmod(tester_name.c_str(), 0755) != -1); + + utils::setenv("KYUA_TESTERSDIR", fs::current_path().str()); +} + + } // anonymous namespace @@ -513,6 +537,23 @@ ATF_TEST_CASE_BODY(test_case__operators_eq_and_ne__not_copy) } +ATF_TEST_CASE_WITHOUT_HEAD(run_test_case__tester_crashes); +ATF_TEST_CASE_BODY(run_test_case__tester_crashes) +{ + atf_helper helper(this, "pass"); + helper.move("program", "."); + create_mock_tester_signal("atf", SIGSEGV); + capture_hooks hooks; + const engine::test_result result = helper.run(hooks); + + ATF_REQUIRE(engine::test_result::broken == result.type()); + ATF_REQUIRE_MATCH("Tester received signal.*bug", result.reason()); + + ATF_REQUIRE_EQ("stdout stuff\n", hooks.stdout_contents); + ATF_REQUIRE_EQ("stderr stuff\n", hooks.stderr_contents); +} + + ATF_TEST_CASE_WITHOUT_HEAD(run_test_case__atf__current_directory); ATF_TEST_CASE_BODY(run_test_case__atf__current_directory) { @@ -1064,6 +1105,8 @@ ATF_INIT_TEST_CASES(tcs) ATF_ADD_TEST_CASE(tcs, test_case__output); + ATF_ADD_TEST_CASE(tcs, run_test_case__tester_crashes); + ATF_ADD_TEST_CASE(tcs, run_test_case__atf__current_directory); ATF_ADD_TEST_CASE(tcs, run_test_case__atf__subdirectory); ATF_ADD_TEST_CASE(tcs, run_test_case__atf__config_variables); diff --git a/external/bsd/kyua-cli/dist/engine/test_program.hpp b/external/bsd/kyua-cli/dist/engine/test_program.hpp index f2a71b31e..962288f72 100644 --- a/external/bsd/kyua-cli/dist/engine/test_program.hpp +++ b/external/bsd/kyua-cli/dist/engine/test_program.hpp @@ -40,11 +40,11 @@ #include #include -#include #include #include "engine/test_case.hpp" #include "utils/fs/path.hpp" +#include "utils/shared_ptr.hpp" namespace engine { @@ -61,7 +61,7 @@ class test_program { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; public: test_program(const std::string&, const utils::fs::path&, @@ -89,7 +89,7 @@ std::ostream& operator<<(std::ostream&, const test_program&); /// Pointer to a test program. -typedef std::tr1::shared_ptr< test_program > test_program_ptr; +typedef std::shared_ptr< test_program > test_program_ptr; /// Collection of test programs. diff --git a/external/bsd/kyua-cli/dist/engine/test_program_test.cpp b/external/bsd/kyua-cli/dist/engine/test_program_test.cpp index c8765e309..0b3f2da07 100644 --- a/external/bsd/kyua-cli/dist/engine/test_program_test.cpp +++ b/external/bsd/kyua-cli/dist/engine/test_program_test.cpp @@ -28,17 +28,53 @@ #include "engine/test_program.hpp" +extern "C" { +#include + +#include +} + #include #include #include "engine/exceptions.hpp" +#include "engine/test_result.hpp" +#include "utils/env.hpp" +#include "utils/format/macros.hpp" #include "utils/fs/operations.hpp" #include "utils/fs/path.hpp" +#include "utils/optional.ipp" namespace fs = utils::fs; +namespace { + + +/// Creates a mock tester that receives a signal. +/// +/// \param term_sig Signal to deliver to the tester. If the tester does not +/// exit due to this reason, it exits with an arbitrary non-zero code. +static void +create_mock_tester_signal(const int term_sig) +{ + const std::string tester_name = "kyua-mock-tester"; + + atf::utils::create_file( + tester_name, + F("#! /bin/sh\n" + "kill -%s $$\n" + "exit 0\n") % term_sig); + ATF_REQUIRE(::chmod(tester_name.c_str(), 0755) != -1); + + utils::setenv("KYUA_TESTERSDIR", fs::current_path().str()); +} + + +} // anonymous namespace + + ATF_TEST_CASE_WITHOUT_HEAD(ctor_and_getters); ATF_TEST_CASE_BODY(ctor_and_getters) { @@ -114,6 +150,27 @@ ATF_TEST_CASE_BODY(test_cases__some) } +ATF_TEST_CASE_WITHOUT_HEAD(test_cases__tester_fails); +ATF_TEST_CASE_BODY(test_cases__tester_fails) +{ + engine::test_program test_program( + "mock", fs::path("non-existent"), fs::path("."), "suite-name", + engine::metadata_builder().build()); + create_mock_tester_signal(SIGSEGV); + + const engine::test_cases_vector& test_cases = test_program.test_cases(); + ATF_REQUIRE_EQ(1, test_cases.size()); + + const engine::test_case_ptr& test_case = test_cases[0]; + ATF_REQUIRE_EQ("__test_cases_list__", test_case->name()); + + ATF_REQUIRE(test_case->fake_result()); + const engine::test_result result = test_case->fake_result().get(); + ATF_REQUIRE(engine::test_result::broken == result.type()); + ATF_REQUIRE_MATCH("Tester did not exit cleanly", result.reason()); +} + + ATF_TEST_CASE_WITHOUT_HEAD(operators_eq_and_ne__copy); ATF_TEST_CASE_BODY(operators_eq_and_ne__copy) { @@ -318,6 +375,7 @@ ATF_INIT_TEST_CASES(tcs) ATF_ADD_TEST_CASE(tcs, find__missing); ATF_ADD_TEST_CASE(tcs, test_cases__get); ATF_ADD_TEST_CASE(tcs, test_cases__some); + ATF_ADD_TEST_CASE(tcs, test_cases__tester_fails); ATF_ADD_TEST_CASE(tcs, operators_eq_and_ne__copy); ATF_ADD_TEST_CASE(tcs, operators_eq_and_ne__not_copy); diff --git a/external/bsd/kyua-cli/dist/engine/testers.cpp b/external/bsd/kyua-cli/dist/engine/testers.cpp index 68fb04854..50060cb56 100644 --- a/external/bsd/kyua-cli/dist/engine/testers.cpp +++ b/external/bsd/kyua-cli/dist/engine/testers.cpp @@ -304,6 +304,7 @@ engine::tester::test(const fs::path& program, const std::string& test_case_name, } } else { INV(status.signaled()); - throw engine::error("Tester received a signal; this is a bug"); + throw engine::error(F("Tester received signal %s; this is a bug") % + status.termsig()); } } diff --git a/external/bsd/kyua-cli/dist/engine/testers_test.cpp b/external/bsd/kyua-cli/dist/engine/testers_test.cpp index a9e3c3d3f..da6842e5c 100644 --- a/external/bsd/kyua-cli/dist/engine/testers_test.cpp +++ b/external/bsd/kyua-cli/dist/engine/testers_test.cpp @@ -30,6 +30,8 @@ extern "C" { #include + +#include } #include @@ -56,7 +58,7 @@ using utils::optional; namespace { -/// Creates a mock tester. +/// Creates a mock tester that exits cleanly. /// /// The interface accepted by the tester is 'mock'. This tester outputs the /// arguments passed to it and then prints a message to both the stdout and the @@ -64,7 +66,7 @@ namespace { /// /// \param exit_status Code to exit with. static void -create_mock_tester(const int exit_status) +create_mock_tester_exit(const int exit_status) { atf::utils::create_file( "kyua-mock-tester", @@ -82,13 +84,42 @@ create_mock_tester(const int exit_status) } +/// Creates a mock tester that receives a signal. +/// +/// The interface accepted by the tester is 'mock'. This tester outputs the +/// arguments passed to it and then prints a message to both the stdout and the +/// stderr. +/// +/// \param term_sig Signal to deliver to the tester. If the tester does not +/// exit due to this reason, it exits with an arbitrary non-zero code. +static void +create_mock_tester_signal(const int term_sig) +{ + atf::utils::create_file( + "kyua-mock-tester", + F("#! /bin/sh\n" + "while [ ${#} -gt 0 ]; do\n" + " echo \"Arg: ${1}\"\n" + " shift\n" + "done\n" + "echo 'tester output'\n" + "echo 'tester error' 1>&2\n" + "kill -%s $$\n" + "echo 'signal did not terminate the process\n" + "exit 0\n") % term_sig); + ATF_REQUIRE(::chmod("kyua-mock-tester", 0755) != -1); + + utils::setenv("KYUA_TESTERSDIR", fs::current_path().str()); +} + + } // anonymous namespace ATF_TEST_CASE_WITHOUT_HEAD(tester__list__defaults); ATF_TEST_CASE_BODY(tester__list__defaults) { - create_mock_tester(EXIT_SUCCESS); + create_mock_tester_exit(EXIT_SUCCESS); engine::tester tester("mock", none, none); const std::string output = tester.list(fs::path("/foo/bar")); @@ -107,7 +138,7 @@ ATF_TEST_CASE_BODY(tester__list__explicit_common_args) const passwd::user user("fake", 123, 456); const datetime::delta timeout(15, 0); - create_mock_tester(EXIT_SUCCESS); + create_mock_tester_exit(EXIT_SUCCESS); engine::tester tester("mock", utils::make_optional(user), utils::make_optional(timeout)); const std::string output = tester.list(fs::path("/another/program/1")); @@ -137,7 +168,19 @@ ATF_TEST_CASE_BODY(tester__list__unknown_interface) ATF_TEST_CASE_WITHOUT_HEAD(tester__list__tester_fails); ATF_TEST_CASE_BODY(tester__list__tester_fails) { - create_mock_tester(EXIT_FAILURE); + create_mock_tester_exit(EXIT_FAILURE); + engine::tester tester("mock", none, none); + ATF_REQUIRE_THROW_RE( + engine::error, + "Tester did not exit cleanly:.*tester output.*tester error", + tester.list(fs::path("does-not-matter"))); +} + + +ATF_TEST_CASE_WITHOUT_HEAD(tester__list__tester_crashes); +ATF_TEST_CASE_BODY(tester__list__tester_crashes) +{ + create_mock_tester_signal(SIGKILL); engine::tester tester("mock", none, none); ATF_REQUIRE_THROW_RE( engine::error, @@ -151,7 +194,7 @@ ATF_TEST_CASE_BODY(tester__test__defaults) { std::map< std::string, std::string > vars; - create_mock_tester(EXIT_FAILURE); + create_mock_tester_exit(EXIT_FAILURE); engine::tester tester("mock", none, none); tester.test(fs::path("/foo/bar"), "test-case", fs::path("/the/result/file"), fs::path("tester.out"), fs::path("tester.err"), vars); @@ -179,7 +222,7 @@ ATF_TEST_CASE_BODY(tester__test__explicit_common_args_and_vars) vars["var1"] = "value1"; vars["variable-2"] = "value with spaces"; - create_mock_tester(EXIT_SUCCESS); + create_mock_tester_exit(EXIT_SUCCESS); engine::tester tester("mock", utils::make_optional(user), utils::make_optional(timeout)); tester.test(fs::path("/foo/bar"), "test-case", fs::path("/the/result/file"), @@ -221,7 +264,7 @@ ATF_TEST_CASE_BODY(tester__test__tester_fails) { const std::map< std::string, std::string > vars; - create_mock_tester(2); + create_mock_tester_exit(2); engine::tester tester("mock", none, none); ATF_REQUIRE_THROW_RE( engine::error, @@ -231,6 +274,21 @@ ATF_TEST_CASE_BODY(tester__test__tester_fails) } +ATF_TEST_CASE_WITHOUT_HEAD(tester__test__tester_crashes); +ATF_TEST_CASE_BODY(tester__test__tester_crashes) +{ + const std::map< std::string, std::string > vars; + + create_mock_tester_signal(SIGKILL); + engine::tester tester("mock", none, none); + ATF_REQUIRE_THROW_RE( + engine::error, + F("Tester received signal %s; this is a bug") % SIGKILL, + tester.test(fs::path("foo"), "bar", fs::path("baz"), + fs::path("out"), fs::path("err"), vars)); +} + + ATF_TEST_CASE_WITHOUT_HEAD(tester_path__default); ATF_TEST_CASE_BODY(tester_path__default) { @@ -302,11 +360,13 @@ ATF_INIT_TEST_CASES(tcs) ATF_ADD_TEST_CASE(tcs, tester__list__explicit_common_args); ATF_ADD_TEST_CASE(tcs, tester__list__unknown_interface); ATF_ADD_TEST_CASE(tcs, tester__list__tester_fails); + ATF_ADD_TEST_CASE(tcs, tester__list__tester_crashes); ATF_ADD_TEST_CASE(tcs, tester__test__defaults); ATF_ADD_TEST_CASE(tcs, tester__test__explicit_common_args_and_vars); ATF_ADD_TEST_CASE(tcs, tester__test__unknown_interface); ATF_ADD_TEST_CASE(tcs, tester__test__tester_fails); + ATF_ADD_TEST_CASE(tcs, tester__test__tester_crashes); ATF_ADD_TEST_CASE(tcs, tester_path__default); ATF_ADD_TEST_CASE(tcs, tester_path__custom); diff --git a/external/bsd/kyua-cli/dist/integration/cmd_debug_test.sh b/external/bsd/kyua-cli/dist/integration/cmd_debug_test.sh index f73504b12..1ccde2aed 100644 --- a/external/bsd/kyua-cli/dist/integration/cmd_debug_test.sh +++ b/external/bsd/kyua-cli/dist/integration/cmd_debug_test.sh @@ -348,11 +348,8 @@ bogus_kyuafile_body() { cat >Kyuafile <experr <' expected near ''. -EOF - atf_check -s exit:2 -o empty -e file:experr kyua debug foo:bar + atf_check -s exit:2 -o empty \ + -e match:"Load of 'Kyuafile' failed: .* Kyuafile:2:" kyua list } diff --git a/external/bsd/kyua-cli/dist/integration/cmd_list_test.sh b/external/bsd/kyua-cli/dist/integration/cmd_list_test.sh index 7cb3efea7..1197a527e 100644 --- a/external/bsd/kyua-cli/dist/integration/cmd_list_test.sh +++ b/external/bsd/kyua-cli/dist/integration/cmd_list_test.sh @@ -486,11 +486,8 @@ bogus_kyuafile_body() { cat >Kyuafile <experr <' expected near ''. -EOF - atf_check -s exit:2 -o empty -e file:experr kyua list + atf_check -s exit:2 -o empty \ + -e match:"Load of 'Kyuafile' failed: .* Kyuafile:2:" kyua list } diff --git a/external/bsd/kyua-cli/dist/integration/cmd_report_html_test.sh b/external/bsd/kyua-cli/dist/integration/cmd_report_html_test.sh index 8abff68a4..8e11fdc64 100644 --- a/external/bsd/kyua-cli/dist/integration/cmd_report_html_test.sh +++ b/external/bsd/kyua-cli/dist/integration/cmd_report_html_test.sh @@ -80,7 +80,7 @@ check_in_file() { if grep "${1}" "${file}" >/dev/null; then : else - atf_fail "Test case output not found in HTML page" + atf_fail "Test case output not found in HTML page ${file}" fi shift done @@ -114,27 +114,14 @@ default_behavior__ok_body() { for f in \ html/index.html \ html/context.html \ - html/simple_all_pass_pass.html \ html/simple_all_pass_skip.html \ - html/simple_some_fail_fail.html \ - html/simple_some_fail_pass.html \ - html/metadata_no_properties.html \ - html/metadata_one_property.html \ - html/metadata_many_properties.html \ - html/metadata_with_cleanup.html + html/simple_some_fail_fail.html do test -f "${f}" || atf_fail "Missing ${f}" done atf_check -o match:"2 TESTS FAILING" cat html/index.html - check_in_file html/simple_all_pass_pass.html \ - "This is the stdout of pass" "This is the stderr of pass" - check_not_in_file html/simple_all_pass_pass.html \ - "This is the stdout of skip" "This is the stderr of skip" \ - "This is the stdout of fail" "This is the stderr of fail" \ - "Test case did not write anything to" - check_in_file html/simple_all_pass_skip.html \ "This is the stdout of skip" "This is the stderr of skip" check_not_in_file html/simple_all_pass_skip.html \ @@ -149,14 +136,6 @@ default_behavior__ok_body() { "This is the stdout of skip" "This is the stderr of skip" \ "Test case did not write anything to" - check_in_file html/simple_some_fail_pass.html \ - "Test case did not write anything to stdout" \ - "Test case did not write anything to stderr" - check_not_in_file html/simple_some_fail_pass.html \ - "This is the stdout of pass" "This is the stderr of pass" \ - "This is the stdout of skip" "This is the stderr of skip" \ - "This is the stdout of fail" "This is the stderr of fail" - check_in_file html/metadata_one_property.html \ "description = Does nothing but has one metadata property" check_not_in_file html/metadata_one_property.html \ @@ -251,6 +230,54 @@ output__explicit_body() { } +utils_test_case results_filter__ok +results_filter__ok_body() { + utils_install_timestamp_wrapper + + run_tests "mock1" + + atf_check -s exit:0 -o ignore -e empty kyua report-html \ + --results-filter=passed + for f in \ + html/index.html \ + html/context.html \ + html/simple_all_pass_pass.html \ + html/simple_some_fail_pass.html \ + html/metadata_no_properties.html \ + html/metadata_with_cleanup.html + do + test -f "${f}" || atf_fail "Missing ${f}" + done + + atf_check -o match:"2 TESTS FAILING" cat html/index.html + + check_in_file html/simple_all_pass_pass.html \ + "This is the stdout of pass" "This is the stderr of pass" + check_not_in_file html/simple_all_pass_pass.html \ + "This is the stdout of skip" "This is the stderr of skip" \ + "This is the stdout of fail" "This is the stderr of fail" \ + "Test case did not write anything to" + + check_in_file html/simple_some_fail_pass.html \ + "Test case did not write anything to stdout" \ + "Test case did not write anything to stderr" + check_not_in_file html/simple_some_fail_pass.html \ + "This is the stdout of pass" "This is the stderr of pass" \ + "This is the stdout of skip" "This is the stderr of skip" \ + "This is the stdout of fail" "This is the stderr of fail" +} + + +utils_test_case results_filter__invalid +results_filter__invalid_body() { + kyua db-exec "SELECT * FROM actions" + + echo "kyua: E: Unknown result type 'foo-bar'." >experr + atf_check -s exit:2 -o empty -e file:experr kyua report-html \ + --results-filter=passed,foo-bar +} + + atf_init_test_cases() { atf_add_test_case default_behavior__ok atf_add_test_case default_behavior__no_actions @@ -263,4 +290,7 @@ atf_init_test_cases() { atf_add_test_case force__no atf_add_test_case output__explicit + + atf_add_test_case results_filter__ok + atf_add_test_case results_filter__invalid } diff --git a/external/bsd/kyua-cli/dist/integration/cmd_test_test.sh b/external/bsd/kyua-cli/dist/integration/cmd_test_test.sh index 3b2d412f6..c1fe6cfc5 100644 --- a/external/bsd/kyua-cli/dist/integration/cmd_test_test.sh +++ b/external/bsd/kyua-cli/dist/integration/cmd_test_test.sh @@ -889,11 +889,8 @@ bogus_kyuafile_body() { cat >Kyuafile <experr <' expected near ''. -EOF - atf_check -s exit:2 -o empty -e file:experr kyua test + atf_check -s exit:2 -o empty \ + -e match:"Load of 'Kyuafile' failed: .* Kyuafile:2:" kyua list } diff --git a/external/bsd/kyua-cli/dist/misc/index.html b/external/bsd/kyua-cli/dist/misc/index.html index 5e590a5af..c2ec6fa8d 100644 --- a/external/bsd/kyua-cli/dist/misc/index.html +++ b/external/bsd/kyua-cli/dist/misc/index.html @@ -66,7 +66,7 @@ %else Broken - %%length(broken_test_cases)%% + %%broken_tests_count%% %endif %if length(failed_test_cases) @@ -77,7 +77,7 @@ %else Failed - %%length(failed_test_cases)%% + %%failed_tests_count%% %endif @@ -86,7 +86,7 @@ %else Expected failures %endif - %%length(xfail_test_cases)%% + %%xfail_tests_count%% %if length(skipped_test_cases) @@ -94,7 +94,7 @@ %else Skipped %endif - %%length(skipped_test_cases)%% + %%skipped_tests_count%% %if length(passed_test_cases) @@ -102,7 +102,7 @@ %else Passed %endif - %%length(passed_test_cases)%% + %%passed_tests_count%% diff --git a/external/bsd/kyua-cli/dist/store/backend.hpp b/external/bsd/kyua-cli/dist/store/backend.hpp index e5da4de0a..6af406733 100644 --- a/external/bsd/kyua-cli/dist/store/backend.hpp +++ b/external/bsd/kyua-cli/dist/store/backend.hpp @@ -32,7 +32,7 @@ #if !defined(STORE_BACKEND_HPP) #define STORE_BACKEND_HPP -#include +#include "utils/shared_ptr.hpp" namespace utils { namespace fs { @@ -72,7 +72,7 @@ class backend { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; friend class metadata; diff --git a/external/bsd/kyua-cli/dist/store/transaction.cpp b/external/bsd/kyua-cli/dist/store/transaction.cpp index b6773b25c..bf24d82ed 100644 --- a/external/bsd/kyua-cli/dist/store/transaction.cpp +++ b/external/bsd/kyua-cli/dist/store/transaction.cpp @@ -437,7 +437,7 @@ struct store::results_iterator::impl { /// /// \param pimpl_ The internal implementation details of the iterator. store::results_iterator::results_iterator( - std::tr1::shared_ptr< impl > pimpl_) : + std::shared_ptr< impl > pimpl_) : _pimpl(pimpl_) { } @@ -680,7 +680,7 @@ store::results_iterator store::transaction::get_action_results(const int64_t action_id) { try { - return results_iterator(std::tr1::shared_ptr< results_iterator::impl >( + return results_iterator(std::shared_ptr< results_iterator::impl >( new results_iterator::impl(_pimpl->_backend, action_id))); } catch (const sqlite::error& e) { throw error(e.what()); diff --git a/external/bsd/kyua-cli/dist/store/transaction.hpp b/external/bsd/kyua-cli/dist/store/transaction.hpp index 0cf4f9831..d0be448e3 100644 --- a/external/bsd/kyua-cli/dist/store/transaction.hpp +++ b/external/bsd/kyua-cli/dist/store/transaction.hpp @@ -37,13 +37,13 @@ extern "C" { } #include -#include #include #include "engine/test_program.hpp" #include "utils/datetime.hpp" #include "utils/fs/path.hpp" #include "utils/optional.hpp" +#include "utils/shared_ptr.hpp" namespace engine { class action; @@ -77,10 +77,10 @@ class results_iterator { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; friend class transaction; - results_iterator(std::tr1::shared_ptr< impl >); + results_iterator(std::shared_ptr< impl >); public: ~results_iterator(void); @@ -106,7 +106,7 @@ class transaction { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; friend class backend; transaction(backend&); diff --git a/external/bsd/kyua-cli/dist/utils/cmdline/exceptions.hpp b/external/bsd/kyua-cli/dist/utils/cmdline/exceptions.hpp index 0c5ed7a22..226a6247e 100644 --- a/external/bsd/kyua-cli/dist/utils/cmdline/exceptions.hpp +++ b/external/bsd/kyua-cli/dist/utils/cmdline/exceptions.hpp @@ -33,6 +33,7 @@ #define UTILS_CMDLINE_EXCEPTIONS_HPP #include +#include namespace utils { namespace cmdline { diff --git a/external/bsd/kyua-cli/dist/utils/cmdline/ui.hpp b/external/bsd/kyua-cli/dist/utils/cmdline/ui.hpp index 9a552cc2e..9f6347d22 100644 --- a/external/bsd/kyua-cli/dist/utils/cmdline/ui.hpp +++ b/external/bsd/kyua-cli/dist/utils/cmdline/ui.hpp @@ -35,10 +35,6 @@ #include #include -#if defined(__minix) -#include -#endif /* defined(__minix) */ - #include "utils/optional.hpp" namespace utils { diff --git a/external/bsd/kyua-cli/dist/utils/config/lua_module.cpp b/external/bsd/kyua-cli/dist/utils/config/lua_module.cpp index 1a12bdb92..9167f18b3 100644 --- a/external/bsd/kyua-cli/dist/utils/config/lua_module.cpp +++ b/external/bsd/kyua-cli/dist/utils/config/lua_module.cpp @@ -42,7 +42,7 @@ namespace { /// Gets the tree singleton stored in the Lua state. /// -/// \param state The Lua state. The metadata of _G must contain a key named +/// \param state The Lua state. The registry must contain a key named /// "tree" with a pointer to the singleton. /// /// \return A reference to the tree associated with the Lua state. @@ -53,10 +53,15 @@ get_global_tree(lutok::state& state) { lutok::stack_cleaner cleaner(state); - if (!state.get_metafield(lutok::globals_index, "tree")) + state.push_value(lutok::registry_index); + state.push_string("tree"); + state.get_table(-2); + if (state.is_nil()) throw config::syntax_error("Cannot find tree singleton; global state " "corrupted?"); - return **state.to_userdata< config::tree* >(); + config::tree& tree = **state.to_userdata< config::tree* >(); + state.pop(1); + return tree; } @@ -254,7 +259,7 @@ config::redirect(lutok::state& state, tree& out_tree) { lutok::stack_cleaner cleaner(state); - state.new_table(); + state.get_global_table(); { state.push_string("__index"); state.push_cxx_function(redirect_index); @@ -263,11 +268,13 @@ config::redirect(lutok::state& state, tree& out_tree) state.push_string("__newindex"); state.push_cxx_function(redirect_newindex); state.set_table(-3); - - state.push_string("tree"); - config::tree** tree = state.new_userdata< config::tree* >(); - *tree = &out_tree; - state.set_table(-3); } - state.set_metatable(lutok::globals_index); + state.set_metatable(-1); + + state.push_value(lutok::registry_index); + state.push_string("tree"); + config::tree** tree = state.new_userdata< config::tree* >(); + *tree = &out_tree; + state.set_table(-3); + state.pop(1); } diff --git a/external/bsd/kyua-cli/dist/utils/config/tree.hpp b/external/bsd/kyua-cli/dist/utils/config/tree.hpp index 0075c5765..e04968143 100644 --- a/external/bsd/kyua-cli/dist/utils/config/tree.hpp +++ b/external/bsd/kyua-cli/dist/utils/config/tree.hpp @@ -34,12 +34,12 @@ #include #include -#include #include #include "utils/config/keys.hpp" #include "utils/config/nodes.hpp" +#include "utils/shared_ptr.hpp" namespace utils { namespace config { @@ -82,7 +82,7 @@ typedef std::map< std::string, std::string > properties_map; /// deep_copy(). class tree { /// The root of the tree. - std::tr1::shared_ptr< detail::static_inner_node > _root; + std::shared_ptr< detail::static_inner_node > _root; explicit tree(detail::static_inner_node*); diff --git a/external/bsd/kyua-cli/dist/utils/datetime.cpp b/external/bsd/kyua-cli/dist/utils/datetime.cpp index c59c3d8d5..d1afbd45e 100644 --- a/external/bsd/kyua-cli/dist/utils/datetime.cpp +++ b/external/bsd/kyua-cli/dist/utils/datetime.cpp @@ -183,7 +183,7 @@ struct timestamp::impl { /// Constructs a new timestamp. /// /// \param pimpl_ An existing impl representation. -datetime::timestamp::timestamp(std::tr1::shared_ptr< impl > pimpl_) : +datetime::timestamp::timestamp(std::shared_ptr< impl > pimpl_) : _pimpl(pimpl_) { } @@ -201,7 +201,7 @@ datetime::timestamp::from_microseconds(const int64_t value) ::timeval data; data.tv_sec = static_cast< time_t >(value / 1000000); data.tv_usec = static_cast< suseconds_t >(value % 1000000); - return timestamp(std::tr1::shared_ptr< impl >(new impl(data))); + return timestamp(std::shared_ptr< impl >(new impl(data))); } @@ -257,7 +257,7 @@ datetime::timestamp::from_values(const int year, const int month, ::timeval data; data.tv_sec = ::mktime(&timedata); data.tv_usec = static_cast< suseconds_t >(microsecond); - return timestamp(std::tr1::shared_ptr< impl >(new impl(data))); + return timestamp(std::shared_ptr< impl >(new impl(data))); } @@ -276,7 +276,7 @@ datetime::timestamp::now(void) INV(ret != -1); } - return timestamp(std::tr1::shared_ptr< impl >(new impl(data))); + return timestamp(std::shared_ptr< impl >(new impl(data))); } diff --git a/external/bsd/kyua-cli/dist/utils/datetime.hpp b/external/bsd/kyua-cli/dist/utils/datetime.hpp index 0e8d50eb2..6697df88e 100644 --- a/external/bsd/kyua-cli/dist/utils/datetime.hpp +++ b/external/bsd/kyua-cli/dist/utils/datetime.hpp @@ -40,14 +40,15 @@ extern "C" { #include #include -#include +#include "utils/shared_ptr.hpp" namespace utils { namespace datetime { /// Represents a time delta to describe deadlines. -struct delta { +class delta { +public: /// The amount of seconds in the time delta. int64_t seconds; @@ -81,9 +82,9 @@ class timestamp { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; - timestamp(std::tr1::shared_ptr< impl >); + timestamp(std::shared_ptr< impl >); public: static timestamp from_microseconds(const int64_t); diff --git a/external/bsd/kyua-cli/dist/utils/format/exceptions.hpp b/external/bsd/kyua-cli/dist/utils/format/exceptions.hpp index b55f35531..c1fd1c1d8 100644 --- a/external/bsd/kyua-cli/dist/utils/format/exceptions.hpp +++ b/external/bsd/kyua-cli/dist/utils/format/exceptions.hpp @@ -33,6 +33,7 @@ #define UTILS_FORMAT_EXCEPTIONS_HPP #include +#include namespace utils { namespace format { diff --git a/external/bsd/kyua-cli/dist/utils/fs/Kyuafile b/external/bsd/kyua-cli/dist/utils/fs/Kyuafile index 59f14b1c8..b94c636d0 100644 --- a/external/bsd/kyua-cli/dist/utils/fs/Kyuafile +++ b/external/bsd/kyua-cli/dist/utils/fs/Kyuafile @@ -5,5 +5,5 @@ test_suite("kyua") atf_test_program{name="auto_cleaners_test"} atf_test_program{name="exceptions_test"} atf_test_program{name="lua_module_test"} -atf_test_program{name="operations_test"} +--LSC: MINIX: Unsuported for now:atf_test_program{name="operations_test"} atf_test_program{name="path_test"} diff --git a/external/bsd/kyua-cli/dist/utils/fs/auto_cleaners.hpp b/external/bsd/kyua-cli/dist/utils/fs/auto_cleaners.hpp index 4d08902aa..677c23eed 100644 --- a/external/bsd/kyua-cli/dist/utils/fs/auto_cleaners.hpp +++ b/external/bsd/kyua-cli/dist/utils/fs/auto_cleaners.hpp @@ -33,9 +33,9 @@ #define UTILS_FS_AUTO_CLEANERS_HPP #include -#include #include "utils/fs/path.hpp" +#include "utils/shared_ptr.hpp" namespace utils { namespace fs { @@ -48,7 +48,7 @@ namespace fs { class auto_directory { struct impl; /// Reference-counted, shared implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; public: explicit auto_directory(const path&); @@ -68,7 +68,7 @@ public: class auto_file { struct impl; /// Reference-counted, shared implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; public: explicit auto_file(const path&); diff --git a/external/bsd/kyua-cli/dist/utils/fs/exceptions.hpp b/external/bsd/kyua-cli/dist/utils/fs/exceptions.hpp index 9f7fda1ab..6a46d5d21 100644 --- a/external/bsd/kyua-cli/dist/utils/fs/exceptions.hpp +++ b/external/bsd/kyua-cli/dist/utils/fs/exceptions.hpp @@ -33,6 +33,7 @@ #define UTILS_FS_EXCEPTIONS_HPP #include +#include namespace utils { namespace fs { diff --git a/external/bsd/kyua-cli/dist/utils/passwd.hpp b/external/bsd/kyua-cli/dist/utils/passwd.hpp index dfab90a19..9a987812b 100644 --- a/external/bsd/kyua-cli/dist/utils/passwd.hpp +++ b/external/bsd/kyua-cli/dist/utils/passwd.hpp @@ -40,7 +40,8 @@ namespace passwd { /// Represents a system user. -struct user { +class user { +public: /// The name of the user. std::string name; diff --git a/external/bsd/kyua-cli/dist/utils/process/child.cpp b/external/bsd/kyua-cli/dist/utils/process/child.cpp index 9191f12f1..2c7f16287 100644 --- a/external/bsd/kyua-cli/dist/utils/process/child.cpp +++ b/external/bsd/kyua-cli/dist/utils/process/child.cpp @@ -164,7 +164,7 @@ log_exec(const fs::path& program, const process::args_vector& args) for (process::args_vector::const_iterator iter = args.begin(); iter != args.end(); ++iter) plain_command += F(" %s") % *iter; - LD(F("Executing%s") % plain_command); + LD(F("Executing %s") % plain_command); } @@ -275,6 +275,7 @@ process::child::fork_capture_aux(void) #if !defined(__minix) ::setpgid(::getpid(), ::getpid()); #endif /* !defined(__minix) */ + try { ::close(fds[0]); safe_dup(fds[1], STDOUT_FILENO); diff --git a/external/bsd/kyua-cli/dist/utils/shared_ptr.hpp b/external/bsd/kyua-cli/dist/utils/shared_ptr.hpp new file mode 100644 index 000000000..21044aadb --- /dev/null +++ b/external/bsd/kyua-cli/dist/utils/shared_ptr.hpp @@ -0,0 +1,46 @@ +// Copyright 2013 Google 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 Google Inc. 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 +// OWNER 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 utils/shard_ptr.hpp +/// Compatibility header to import std::shared_ptr. + +#if !defined(UTILS_SHARED_PTR_HPP) +#define UTILS_SHARED_PTR_HPP + +#include + +#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L +# include +#else +# include +namespace std { + using tr1::shared_ptr; +} +#endif + +#endif // !defined(UTILS_SHARED_PTR_HPP) diff --git a/external/bsd/kyua-cli/dist/utils/signals/misc_test.cpp b/external/bsd/kyua-cli/dist/utils/signals/misc_test.cpp index 59d3bb70a..8a65207ca 100644 --- a/external/bsd/kyua-cli/dist/utils/signals/misc_test.cpp +++ b/external/bsd/kyua-cli/dist/utils/signals/misc_test.cpp @@ -96,16 +96,15 @@ ATF_TEST_CASE_BODY(reset__ok) } -ATF_TEST_CASE_WITHOUT_HEAD(reset__immutable); -ATF_TEST_CASE_BODY(reset__immutable) +ATF_TEST_CASE_WITHOUT_HEAD(reset__invalid); +ATF_TEST_CASE_BODY(reset__invalid) { - ATF_REQUIRE_THROW(signals::system_error, signals::reset(SIGKILL)); - ATF_REQUIRE_THROW(signals::system_error, signals::reset(SIGSTOP)); + ATF_REQUIRE_THROW(signals::system_error, signals::reset(-1)); } ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, reset__ok); - ATF_ADD_TEST_CASE(tcs, reset__immutable); + ATF_ADD_TEST_CASE(tcs, reset__invalid); } diff --git a/external/bsd/kyua-cli/dist/utils/sqlite/database.hpp b/external/bsd/kyua-cli/dist/utils/sqlite/database.hpp index 6343ad45b..62e4e8db1 100644 --- a/external/bsd/kyua-cli/dist/utils/sqlite/database.hpp +++ b/external/bsd/kyua-cli/dist/utils/sqlite/database.hpp @@ -40,9 +40,9 @@ extern "C" { } #include -#include #include "utils/fs/path.hpp" +#include "utils/shared_ptr.hpp" namespace utils { namespace sqlite { @@ -79,7 +79,7 @@ class database { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; friend class database_c_gate; database(void*, const bool); diff --git a/external/bsd/kyua-cli/dist/utils/sqlite/statement.hpp b/external/bsd/kyua-cli/dist/utils/sqlite/statement.hpp index a556e3671..d048fedf8 100644 --- a/external/bsd/kyua-cli/dist/utils/sqlite/statement.hpp +++ b/external/bsd/kyua-cli/dist/utils/sqlite/statement.hpp @@ -40,7 +40,8 @@ extern "C" { } #include -#include + +#include "utils/shared_ptr.hpp" namespace utils { namespace sqlite { @@ -92,7 +93,7 @@ class statement { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; statement(database&, void*); friend class database; diff --git a/external/bsd/kyua-cli/dist/utils/sqlite/transaction.hpp b/external/bsd/kyua-cli/dist/utils/sqlite/transaction.hpp index 9ded63ae5..1b6f1e814 100644 --- a/external/bsd/kyua-cli/dist/utils/sqlite/transaction.hpp +++ b/external/bsd/kyua-cli/dist/utils/sqlite/transaction.hpp @@ -32,7 +32,7 @@ #if !defined(UTILS_SQLITE_TRANSACTION_HPP) #define UTILS_SQLITE_TRANSACTION_HPP -#include +#include "utils/shared_ptr.hpp" namespace utils { namespace sqlite { @@ -49,7 +49,7 @@ class transaction { struct impl; /// Pointer to the shared internal implementation. - std::tr1::shared_ptr< impl > _pimpl; + std::shared_ptr< impl > _pimpl; explicit transaction(database&); friend class database; diff --git a/external/bsd/kyua-cli/dist/utils/units.cpp b/external/bsd/kyua-cli/dist/utils/units.cpp index d2e7fcc8c..6e48160fd 100644 --- a/external/bsd/kyua-cli/dist/utils/units.cpp +++ b/external/bsd/kyua-cli/dist/utils/units.cpp @@ -143,13 +143,13 @@ units::bytes::operator uint64_t(void) const /// /// \post The bad bit of input is set to 1 if the parsing failed. std::istream& -operator>>(std::istream& input, units::bytes& rhs) +units::operator>>(std::istream& input, bytes& rhs) { std::string word; input >> word; if (input.good() || input.eof()) { try { - rhs = units::bytes::parse(word); + rhs = bytes::parse(word); } catch (const std::runtime_error& e) { input.setstate(std::ios::badbit); } @@ -166,7 +166,7 @@ operator>>(std::istream& input, units::bytes& rhs) /// /// \return The output stream. std::ostream& -operator<<(std::ostream& output, const units::bytes& rhs) +units::operator<<(std::ostream& output, const bytes& rhs) { return (output << rhs.format()); } diff --git a/external/bsd/kyua-cli/dist/utils/units.hpp b/external/bsd/kyua-cli/dist/utils/units.hpp index b716e0863..6bd78ce03 100644 --- a/external/bsd/kyua-cli/dist/utils/units.hpp +++ b/external/bsd/kyua-cli/dist/utils/units.hpp @@ -84,10 +84,11 @@ public: }; +std::istream& operator>>(std::istream&, bytes&); +std::ostream& operator<<(std::ostream&, const bytes&); + + } // namespace units } // namespace utils -std::istream& operator>>(std::istream&, utils::units::bytes&); -std::ostream& operator<<(std::ostream&, const utils::units::bytes&); - #endif // !defined(UTILS_UNITS_HPP) diff --git a/external/bsd/kyua-cli/lib/Makefile.inc b/external/bsd/kyua-cli/lib/Makefile.inc index b54e5daf5..18c7a8008 100644 --- a/external/bsd/kyua-cli/lib/Makefile.inc +++ b/external/bsd/kyua-cli/lib/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.1 2013/02/23 14:16:49 jmmv Exp $ +# $NetBSD: Makefile.inc,v 1.2 2013/09/12 17:14:20 joerg Exp $ .include "../Makefile.inc" @@ -6,9 +6,4 @@ LIBISCXX= yes LIBISPRIVATE= yes LIBDPLIBS+= lua ${.CURDIR}/../../../../mit/lua/lib/liblua -.if ${HAVE_GCC} == 4 -LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../gnu/lib/libstdc++-v3_4 -.else -LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../external/gpl3/gcc/lib/libstdc++-v3 -.endif LIBDPLIBS+= m ${.CURDIR}/../../../../../lib/libm diff --git a/external/bsd/kyua-cli/lib/utils/Makefile b/external/bsd/kyua-cli/lib/utils/Makefile index 3a5d34a7d..90e5be474 100644 --- a/external/bsd/kyua-cli/lib/utils/Makefile +++ b/external/bsd/kyua-cli/lib/utils/Makefile @@ -6,10 +6,6 @@ LIB= utils -.if defined(__MINIX) -WARNS= # empty -.endif - WARNS?= 2 SRCS= datetime.cpp \ @@ -20,6 +16,10 @@ SRCS= datetime.cpp \ stream.cpp \ units.cpp +.if defined(__MINIX) +COPTS.memory.cpp+= -Wno-unused-function +.endif # defined(__MINIX) + SRCS+= cmdline/base_command.cpp \ cmdline/exceptions.cpp \ cmdline/globals.cpp \ diff --git a/external/bsd/kyua-cli/share/man/man5/Makefile b/external/bsd/kyua-cli/share/man/man5/Makefile index e9b309086..6eeb69da3 100644 --- a/external/bsd/kyua-cli/share/man/man5/Makefile +++ b/external/bsd/kyua-cli/share/man/man5/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2013/02/23 14:16:54 jmmv Exp $ +# $NetBSD: Makefile,v 1.2 2013/10/18 23:41:40 jmmv Exp $ .include @@ -6,7 +6,7 @@ .for name in kyua.conf.5 kyuafile.5 MAN+= ${name} -${name}: ${name}.in +${name}: ${name}.in ${MANPAGE_DEPS} name=${name}; ${BUILD_MANPAGE} .endfor diff --git a/external/bsd/kyua-cli/share/man/man7/Makefile b/external/bsd/kyua-cli/share/man/man7/Makefile index 1e5266409..8795ed16a 100644 --- a/external/bsd/kyua-cli/share/man/man7/Makefile +++ b/external/bsd/kyua-cli/share/man/man7/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2013/02/23 14:16:54 jmmv Exp $ +# $NetBSD: Makefile,v 1.2 2013/10/18 23:41:40 jmmv Exp $ .include @@ -6,7 +6,7 @@ .for name in kyua-build-root.7 kyua-test-filters.7 MAN+= ${name} -${name}: ${name}.in +${name}: ${name}.in ${MANPAGE_DEPS} name=${name}; ${BUILD_MANPAGE} .endfor diff --git a/external/bsd/kyua-cli/tests/kyua-cli/bootstrap/Makefile b/external/bsd/kyua-cli/tests/kyua-cli/bootstrap/Makefile index 9844a8659..2c61c38eb 100644 --- a/external/bsd/kyua-cli/tests/kyua-cli/bootstrap/Makefile +++ b/external/bsd/kyua-cli/tests/kyua-cli/bootstrap/Makefile @@ -17,10 +17,6 @@ MAN.atf_helpers= # none LDADD.atf_helpers= -latf-c++ -latf-c DPADD.atf_helpers= ${LIBATF_CXX} ${LIBATF_C} -.if defined(__MINIX) -LDADD+= -lgcc_s -.endif # defined(__MINIX) - PROGS_CXX+= plain_helpers BINDIR.plain_helpers= ${TESTSDIR} MAN.plain_helpers= # none diff --git a/external/bsd/kyua-cli/usr.bin/kyua/Makefile b/external/bsd/kyua-cli/usr.bin/kyua/Makefile index 3e4ba0354..25875b14c 100644 --- a/external/bsd/kyua-cli/usr.bin/kyua/Makefile +++ b/external/bsd/kyua-cli/usr.bin/kyua/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2013/02/23 14:16:58 jmmv Exp $ +# $NetBSD: Makefile,v 1.2 2013/10/18 23:41:40 jmmv Exp $ KYUA_LIBS= cli engine store engine utils @@ -17,7 +17,7 @@ WARNS?= 3 kyua-debug.1 kyua-help.1 kyua-list.1 kyua-report-html.1 \ kyua-report.1 kyua-test.1 kyua.1 MAN+= ${name} -${name}: ${name}.in +${name}: ${name}.in ${MANPAGE_DEPS} name=${name}; ${BUILD_MANPAGE} .endfor diff --git a/external/bsd/kyua-testers/dist/Kyuafile b/external/bsd/kyua-testers/dist/Kyuafile index 3c5ccf6be..6558a4129 100644 --- a/external/bsd/kyua-testers/dist/Kyuafile +++ b/external/bsd/kyua-testers/dist/Kyuafile @@ -6,7 +6,7 @@ test_suite("kyua") atf_test_program{name="cli_test"} atf_test_program{name="env_test"} atf_test_program{name="error_test"} -atf_test_program{name="fs_test"} +-- MINIX:FIXME not installed atf_test_program{name="fs_test"} atf_test_program{name="result_test"} atf_test_program{name="run_test"} atf_test_program{name="stacktrace_test"} diff --git a/external/bsd/kyua-testers/dist/atf_list.c b/external/bsd/kyua-testers/dist/atf_list.c index becc452e9..b0e129265 100644 --- a/external/bsd/kyua-testers/dist/atf_list.c +++ b/external/bsd/kyua-testers/dist/atf_list.c @@ -256,7 +256,7 @@ parse_test_case(FILE* input, FILE* output, char* name) while (!kyua_error_is_set(error) && fgets_no_newline(line, sizeof(line), input) != NULL && strcmp(line, "") != 0) { - char* key = NULL; char* value = NULL; + char* key = NULL; char* value = NULL; /* LSC: needed when compiling in -O3 */ error = parse_property(line, &key, &value); if (!kyua_error_is_set(error)) { const char* out_key = rewrite_property(key); @@ -300,7 +300,7 @@ parse_tests(FILE* input, FILE* output) kyua_error_t error; do { - char* key = NULL; char* value = NULL; + char* key = NULL; char* value = NULL; /* LSC: needed when compiling in -O3 */ error = parse_property(line, &key, &value); if (kyua_error_is_set(error)) break; diff --git a/external/bsd/kyua-testers/dist/atf_main.c b/external/bsd/kyua-testers/dist/atf_main.c index 66f6642df..f666d6144 100644 --- a/external/bsd/kyua-testers/dist/atf_main.c +++ b/external/bsd/kyua-testers/dist/atf_main.c @@ -45,10 +45,6 @@ #include "stacktrace.h" #include "text.h" -#if !defined(WCOREDUMP) && defined(__minix) -#define WCOREDUMP(x) ((x) & 0x80) -#endif /*!defined(WCOREDUMP) && defined(__minix) */ - /// Template for the creation of the temporary work directories. #define WORKDIR_TEMPLATE "kyua.atf-tester.XXXXXX" diff --git a/external/bsd/kyua-testers/dist/atf_result.c b/external/bsd/kyua-testers/dist/atf_result.c index d2b05f015..fb0741897 100644 --- a/external/bsd/kyua-testers/dist/atf_result.c +++ b/external/bsd/kyua-testers/dist/atf_result.c @@ -42,10 +42,6 @@ #include "error.h" #include "result.h" -#if !defined(WCOREDUMP) && defined(__minix) -#define WCOREDUMP(x) ((x) & 0x80) -#endif /*!defined(WCOREDUMP) && defined(__minix) */ - // Enumeration of the different result types returned by an ATF test case. enum atf_status { diff --git a/external/bsd/kyua-testers/dist/fs.c b/external/bsd/kyua-testers/dist/fs.c index a79b0bd75..ff1519431 100644 --- a/external/bsd/kyua-testers/dist/fs.c +++ b/external/bsd/kyua-testers/dist/fs.c @@ -518,7 +518,7 @@ kyua_fs_make_absolute(const char* original, char** const output) strcpy(*output, original); return kyua_error_ok(); } else { - char* current_path= NULL; + char* current_path= NULL; /* LSC: needed when compiling in -O3 */ kyua_error_t error; error = kyua_fs_current_path(¤t_path); diff --git a/external/bsd/kyua-testers/dist/plain_main.c b/external/bsd/kyua-testers/dist/plain_main.c index 4ad42cd29..d532df8f7 100644 --- a/external/bsd/kyua-testers/dist/plain_main.c +++ b/external/bsd/kyua-testers/dist/plain_main.c @@ -41,10 +41,6 @@ #include "run.h" #include "stacktrace.h" -#if !defined(WCOREDUMP) && defined(__minix) -#define WCOREDUMP(x) ((x) & 0x80) -#endif /*!defined(WCOREDUMP) && defined(__minix) */ - /// Template for the creation of the temporary work directories. #define WORKDIR_TEMPLATE "kyua.plain-tester.XXXXXX" diff --git a/external/bsd/kyua-testers/dist/run_test.c b/external/bsd/kyua-testers/dist/run_test.c index 26ca8ef70..90f9d5c24 100644 --- a/external/bsd/kyua-testers/dist/run_test.c +++ b/external/bsd/kyua-testers/dist/run_test.c @@ -52,10 +52,6 @@ #include "error.h" #include "fs.h" -#if !defined(WCOREDUMP) && defined(__minix) -#define WCOREDUMP(x) ((x) & 0x80) -#endif /*!defined(WCOREDUMP) && defined(__minix) */ - /// Evalutes an expression and ensures it does not return an error. /// diff --git a/external/bsd/kyua-testers/dist/stacktrace_test.c b/external/bsd/kyua-testers/dist/stacktrace_test.c index 2671e2c5b..969c9ecbd 100644 --- a/external/bsd/kyua-testers/dist/stacktrace_test.c +++ b/external/bsd/kyua-testers/dist/stacktrace_test.c @@ -44,10 +44,6 @@ #include "run.h" #include "text.h" -#if !defined(WCOREDUMP) && defined(__minix) -#define WCOREDUMP(x) ((x) & 0x80) -#endif /*!defined(WCOREDUMP) && defined(__minix) */ - /// Ensures that the given expression does not return a kyua_error_t. /// diff --git a/external/bsd/kyua-testers/share/man/man1/Makefile b/external/bsd/kyua-testers/share/man/man1/Makefile index 76e151fff..139769236 100644 --- a/external/bsd/kyua-testers/share/man/man1/Makefile +++ b/external/bsd/kyua-testers/share/man/man1/Makefile @@ -1,5 +1,8 @@ # $NetBSD: Makefile,v 1.1 2013/02/19 06:04:44 jmmv Exp $ +#LSC: For MINIX, to get NETBSDSRCDIR +.include + SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist .PATH: ${SRCDIR} diff --git a/external/bsd/kyua-testers/share/man/man5/Makefile b/external/bsd/kyua-testers/share/man/man5/Makefile index ef474aec9..32bb83390 100644 --- a/external/bsd/kyua-testers/share/man/man5/Makefile +++ b/external/bsd/kyua-testers/share/man/man5/Makefile @@ -1,5 +1,8 @@ # $NetBSD: Makefile,v 1.1 2013/02/19 06:04:44 jmmv Exp $ +# LSC: For MINIX, requied to get NETBSDSRCDIR +.include + SRCDIR= ${NETBSDSRCDIR}/external/bsd/kyua-testers/dist .PATH: ${SRCDIR} diff --git a/external/bsd/kyua-testers/tests/kyua-testers/Makefile b/external/bsd/kyua-testers/tests/kyua-testers/Makefile index ce80e201f..981ff2152 100644 --- a/external/bsd/kyua-testers/tests/kyua-testers/Makefile +++ b/external/bsd/kyua-testers/tests/kyua-testers/Makefile @@ -24,7 +24,7 @@ TESTS_C+= atf_inttest TESTS_C+= cli_test TESTS_C+= env_test TESTS_C+= error_test -#LSC FIXME: Requires tmpfs to work correctly, maybe a workaround +#LSC FIXME: (MINIX) Requires tmpfs to work correctly, maybe a workaround # with a ramdisk may be used. #TESTS_C+= fs_test TESTS_C+= plain_inttest diff --git a/external/bsd/less/dist/LICENSE b/external/bsd/less/dist/LICENSE index c7168e718..3fe715f17 100644 --- a/external/bsd/less/dist/LICENSE +++ b/external/bsd/less/dist/LICENSE @@ -2,7 +2,7 @@ ------------ Less -Copyright (C) 1984-2011 Mark Nudelman +Copyright (C) 1984-2012 Mark Nudelman Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff --git a/external/bsd/less/dist/Makefile.aut b/external/bsd/less/dist/Makefile.aut index b3ee3f463..f7026249e 100644 --- a/external/bsd/less/dist/Makefile.aut +++ b/external/bsd/less/dist/Makefile.aut @@ -1,6 +1,6 @@ # Makefile for authoring less. -EMAIL = markn@greenwoodsoftware.com +EMAIL = bug-less@gnu.org HOMEPAGE = http://www.greenwoodsoftware.com/less SHELL = /bin/sh RCS = rcs @@ -112,8 +112,7 @@ dist: ${DISTFILES} echo "Preparing $$REL"; \ rm -rf $$REL; mkdir $$REL; \ for file in ${DISTFILES}; do \ - cp -p $$file $$REL; \ - chmod -w $$REL/$$file; \ + ./add_copyright $$file $$REL; \ done; \ cd $$REL; chmod +w ${DISTFILES_W}; cd ..; \ echo "Creating release/$$REL/$$REL.tar.gz"; \ diff --git a/external/bsd/less/dist/NEWS b/external/bsd/less/dist/NEWS index eb38025cb..e03f35af3 100644 --- a/external/bsd/less/dist/NEWS +++ b/external/bsd/less/dist/NEWS @@ -7,8 +7,53 @@ http://www.greenwoodsoftware.com/less You can also download the latest version of less from there. - To report bugs, suggestions or comments, send email to - bug-less@gnu.org or markn@greenwoodsoftware.com. + To report bugs, suggestions or comments, send email to bug-less@gnu.org. + +====================================================================== + + Major changes between "less" versions 451 and 458 + +* Allow backslash escaping of metacharacters in LESS environment variable + after the --use-backslash option. + +* Don't quit if syntax errors are found in command line options. + +* Increase sizes of some internal buffers. + +* Fix configure bug with --with-regex=none. + +* Fix crash with "stty rows 0". + +* Fix Win32 attribute display bug. + +* Fix display bug when using up/down arrow on the command line. + +====================================================================== + + Major changes between "less" versions 444 and 451 + +* Add ESC-F command to keep reading data until a pattern is found. + +* Use exit code of LESSOPEN script if LESSOPEN starts with "||". + +* When up/down arrow is used on the command line immediately after + typing text, the next command starting with that text is found. + +* Add support for GNU regex. + +* Add configure option --with-regex=none and fix compile errors + when compiling with no regex library. + +* Fix bugs handling SGR sequences in Win32. + +* Fix possible crashes caused by malformed LESSOPEN or + LESSCLOSE variables. + +* Fix bug highlighting text which is discontiguous in the file + due to backspace processing. + +* Fix bug in displaying status column when scrolling backwards + with -J and -S in effect. ====================================================================== diff --git a/external/bsd/less/dist/README b/external/bsd/less/dist/README index c4cfa63ef..a7bdba459 100644 --- a/external/bsd/less/dist/README +++ b/external/bsd/less/dist/README @@ -1,7 +1,7 @@ - Less, version 444 + Less, version 458 - This is the distribution of less, version 444, released 09 Jun 2011. + This is the distribution of less, version 458, released 04 Apr 2013. This program is part of the GNU project (http://www.gnu.org). This program is free software. You may redistribute it and/or @@ -13,7 +13,7 @@ or 2. The Less License, in the file LICENSE. - Please report any problems to bug-less@gnu.org or markn@greenwoodsoftware.com. + Please report any problems to bug-less@gnu.org. See http://www.greenwoodsoftware.com/less for the latest info. ========================================================================= @@ -52,10 +52,11 @@ INSTALLATION (Unix systems only): regcomp Use the V8-compatible regcomp. regcomp-local Use Henry Spencer's V8-compatible regcomp (source is supplied with less). + none No regular expressions, only simple string matching. --with-secure Builds a "secure" version of less, with some features disabled - to prevent users from viewing other files, accessing shell - commands, etc. + to prevent users from viewing other files, accessing shell + commands, etc. 3. It is a good idea to look over the generated Makefile and defines.h @@ -88,7 +89,7 @@ INSTALLATION (Unix systems only): bindir and/or mandir to the appropriate directories. If you have any problems building or running "less", suggestions, -complaints, etc., you may mail to the author at markn@greenwoodsoftware.com. +complaints, etc., you may mail to bug-less@gnu.org. Note to hackers: comments noting possible improvements are enclosed in double curly brackets {{ like this }}. diff --git a/external/bsd/less/dist/brac.c b/external/bsd/less/dist/brac.c index d8c31606a..d741157b5 100644 --- a/external/bsd/less/dist/brac.c +++ b/external/bsd/less/dist/brac.c @@ -1,13 +1,12 @@ -/* $NetBSD: brac.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: brac.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/ch.c b/external/bsd/less/dist/ch.c index d4f1f1a36..5eaebba89 100644 --- a/external/bsd/less/dist/ch.c +++ b/external/bsd/less/dist/ch.c @@ -1,13 +1,12 @@ -/* $NetBSD: ch.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: ch.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -586,6 +585,8 @@ ch_length() return (NULL_POSITION); if (ch_flags & CH_HELPFILE) return (size_helpdata); + if (ch_flags & CH_NODATA) + return (0); return (ch_fsize); } @@ -809,6 +810,17 @@ seekable(f) return (lseek(f, (off_t)1, SEEK_SET) != BAD_LSEEK); } +/* + * Force EOF to be at the current read position. + * This is used after an ignore_eof read, during which the EOF may change. + */ + public void +ch_set_eof() +{ + ch_fsize = ch_fpos; +} + + /* * Initialize file state for a new file. */ diff --git a/external/bsd/less/dist/charset.c b/external/bsd/less/dist/charset.c index d4cba65e7..aabbd0a3f 100644 --- a/external/bsd/less/dist/charset.c +++ b/external/bsd/less/dist/charset.c @@ -1,13 +1,12 @@ -/* $NetBSD: charset.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: charset.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/charset.h b/external/bsd/less/dist/charset.h index 0d494c3ca..2ea34bb06 100644 --- a/external/bsd/less/dist/charset.h +++ b/external/bsd/less/dist/charset.h @@ -1,13 +1,12 @@ -/* $NetBSD: charset.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: charset.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 2005-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ #define IS_ASCII_OCTET(c) (((c) & 0x80) == 0) diff --git a/external/bsd/less/dist/cmd.h b/external/bsd/less/dist/cmd.h index 442637d3c..88630260f 100644 --- a/external/bsd/less/dist/cmd.h +++ b/external/bsd/less/dist/cmd.h @@ -1,17 +1,16 @@ -/* $NetBSD: cmd.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: cmd.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ -#define MAX_USERCMD 500 +#define MAX_USERCMD 1000 #define MAX_CMDLEN 16 #define A_B_LINE 2 @@ -68,6 +67,7 @@ #define A_NEXT_TAG 53 #define A_PREV_TAG 54 #define A_FILTER 55 +#define A_F_UNTIL_HILITE 56 #define A_INVALID 100 #define A_NOACTION 101 @@ -80,7 +80,7 @@ #define A_EXTRA 0200 -/* Line editting characters */ +/* Line editing characters */ #define EC_BACKSPACE 1 #define EC_LINEKILL 2 diff --git a/external/bsd/less/dist/cmdbuf.c b/external/bsd/less/dist/cmdbuf.c index f51c17eb9..52df5edd3 100644 --- a/external/bsd/less/dist/cmdbuf.c +++ b/external/bsd/less/dist/cmdbuf.c @@ -1,13 +1,12 @@ -/* $NetBSD: cmdbuf.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: cmdbuf.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -35,6 +34,7 @@ static int prompt_col; /* Column of cursor just after prompt */ static char *cp; /* Pointer into cmdbuf */ static int cmd_offset; /* Index into cmdbuf of first displayed char */ static int literal; /* Next input char should not be interpreted */ +static int updown_match = -1; /* Prefix length in up/down movement */ #if TAB_COMPLETE_FILENAME static int cmd_complete __P((int)); @@ -143,6 +143,7 @@ cmd_reset() cmd_offset = 0; literal = 0; cmd_mbc_buf_len = 0; + updown_match = -1; } /* @@ -153,6 +154,7 @@ clear_cmd() { cmd_col = prompt_col = 0; cmd_mbc_buf_len = 0; + updown_match = -1; } /* @@ -525,6 +527,7 @@ cmd_ichar(cs, clen) /* * Reprint the tail of the line from the inserted char. */ + updown_match = -1; cmd_repaint(cp); cmd_right(); return (CC_OK); @@ -568,6 +571,7 @@ cmd_erase() /* * Repaint the buffer after the erased char. */ + updown_match = -1; cmd_repaint(cp); /* @@ -664,6 +668,7 @@ cmd_kill() cmd_offset = 0; cmd_home(); *cp = '\0'; + updown_match = -1; cmd_repaint(cp); /* @@ -696,12 +701,15 @@ set_mlist(mlist, cmdflags) #if CMD_HISTORY /* * Move up or down in the currently selected command history list. + * Only consider entries whose first updown_match chars are equal to + * cmdbuf's corresponding chars. */ static int cmd_updown(action) int action; { char *s; + struct mlist *ml; if (curr_mlist == NULL) { @@ -711,24 +719,47 @@ cmd_updown(action) bell(); return (CC_OK); } - cmd_home(); - clear_eol(); + + if (updown_match < 0) + { + updown_match = cp - cmdbuf; + } + /* - * Move curr_mp to the next/prev entry. + * Find the next history entry which matches. */ - if (action == EC_UP) - curr_mlist->curr_mp = curr_mlist->curr_mp->prev; - else - curr_mlist->curr_mp = curr_mlist->curr_mp->next; + for (ml = curr_mlist->curr_mp;;) + { + ml = (action == EC_UP) ? ml->prev : ml->next; + if (ml == curr_mlist) + { + /* + * We reached the end (or beginning) of the list. + */ + break; + } + if (strncmp(cmdbuf, ml->string, updown_match) == 0) + { + /* + * This entry matches; stop here. + * Copy the entry into cmdbuf and echo it on the screen. + */ + curr_mlist->curr_mp = ml; + s = ml->string; + if (s == NULL) + s = ""; + cmd_home(); + clear_eol(); + strcpy(cmdbuf, s); + for (cp = cmdbuf; *cp != '\0'; ) + cmd_right(); + return (CC_OK); + } + } /* - * Copy the entry into cmdbuf and echo it on the screen. + * We didn't find a history entry that matches. */ - s = curr_mlist->curr_mp->string; - if (s == NULL) - s = ""; - strcpy(cmdbuf, s); - for (cp = cmdbuf; *cp != '\0'; ) - cmd_right(); + bell(); return (CC_OK); } #endif @@ -1077,7 +1108,11 @@ init_compl() tk_text = fcomplete(word); } else { +#if MSDOS_COMPILER + char *qword = NULL; +#else char *qword = shell_quote(word+1); +#endif if (qword == NULL) tk_text = fcomplete(word+1); else @@ -1488,9 +1523,6 @@ save_cmdhist() FILE *f; int modified = 0; - filename = histfile_name(); - if (filename == NULL) - return; if (mlist_search.modified) modified = 1; #if SHELL_ESCAPE || PIPEC @@ -1499,6 +1531,9 @@ save_cmdhist() #endif if (!modified) return; + filename = histfile_name(); + if (filename == NULL) + return; f = fopen(filename, "w"); free(filename); if (f == NULL) diff --git a/external/bsd/less/dist/command.c b/external/bsd/less/dist/command.c index 1913a27b7..ddca14ee1 100644 --- a/external/bsd/less/dist/command.c +++ b/external/bsd/less/dist/command.c @@ -1,13 +1,12 @@ -/* $NetBSD: command.c,v 1.4 2011/07/04 12:31:53 joerg Exp $ */ +/* $NetBSD: command.c,v 1.5 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -38,6 +37,7 @@ extern int ignore_eoi; extern int secure; extern int hshift; extern int show_attn; +extern POSITION highest_hilite; extern char *every_first_cmd; extern char *curr_altfilename; extern char version[]; @@ -108,8 +108,8 @@ cmd_exec() static void start_mca(action, prompt, mlist, cmdflags) int action; - char *prompt; - void *mlist; + constant char *prompt; + constant void *mlist; int cmdflags; { mca = action; @@ -690,7 +690,7 @@ make_display() static void prompt() { - register char *p; + register constant char *p; if (ungot != NULL) { @@ -972,6 +972,46 @@ multi_search(pattern, n) } } +/* + * Forward forever, or until a highlighted line appears. + */ + static int +forw_loop(until_hilite) + int until_hilite; +{ + POSITION curr_len; + + if (ch_getflags() & CH_HELPFILE) + return (A_NOACTION); + + cmd_exec(); + jump_forw(); + curr_len = ch_length(); + highest_hilite = until_hilite ? curr_len : NULL_POSITION; + ignore_eoi = 1; + while (!sigs) + { + if (until_hilite && highest_hilite > curr_len) + { + bell(); + break; + } + make_display(); + forward(1, 0, 0); + } + ignore_eoi = 0; + ch_set_eof(); + + /* + * This gets us back in "F mode" after processing + * a non-abort signal (e.g. window-change). + */ + if (sigs && !ABORT_SIGS()) + return (until_hilite ? A_F_UNTIL_HILITE : A_F_FOREVER); + + return (A_NOACTION); +} + /* * Main command processor. * Accept and execute commands until a quit command. @@ -990,6 +1030,7 @@ commands() IFILE old_ifile; IFILE new_ifile; char *tagfile; + int until_hilite = 0; search_type = SRCH_FORW; wscroll = (sc_height + 1) / 2; @@ -1217,23 +1258,11 @@ commands() /* * Forward forever, ignoring EOF. */ - if (ch_getflags() & CH_HELPFILE) - break; - cmd_exec(); - jump_forw(); - ignore_eoi = 1; - while (!sigs) - { - make_display(); - forward(1, 0, 0); - } - ignore_eoi = 0; - /* - * This gets us back in "F mode" after processing - * a non-abort signal (e.g. window-change). - */ - if (sigs && !ABORT_SIGS()) - newaction = A_F_FOREVER; + newaction = forw_loop(0); + break; + + case A_F_UNTIL_HILITE: + newaction = forw_loop(1); break; case A_F_SCROLL: diff --git a/external/bsd/less/dist/configure b/external/bsd/less/dist/configure index f2a7c8c73..e401d588b 100755 --- a/external/bsd/less/dist/configure +++ b/external/bsd/less/dist/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.67 for less 1. +# Generated by GNU Autoconf 2.68 for less 1. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -89,6 +89,7 @@ fi 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 @@ -214,11 +215,18 @@ IFS=$as_save_IFS # 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 - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + 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 : @@ -1067,7 +1075,7 @@ Try \`$0 --help' for more information" $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} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1281,7 +1289,7 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-secure Compile in secure mode --with-no-float Do not use floating point - --with-regex={auto,pcre,posix,regcmp,re_comp,regcomp,regcomp-local} Select a regular expression library auto + --with-regex={auto,gnu,pcre,posix,regcmp,re_comp,regcomp,regcomp-local,none} Select a regular expression library auto --with-editor=PROGRAM use PROGRAM as the default editor vi Some influential environment variables: @@ -1361,7 +1369,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF less configure 1 -generated by GNU Autoconf 2.67 +generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@ -1407,7 +1415,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1453,7 +1461,7 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link @@ -1490,7 +1498,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -1532,7 +1540,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run @@ -1545,10 +1553,10 @@ fi ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval "test \"\${$3+set}\"" = set; then : + if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 @@ -1611,7 +1619,7 @@ $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" @@ -1620,7 +1628,7 @@ eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel @@ -1633,7 +1641,7 @@ ac_fn_c_check_header_compile () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1651,7 +1659,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile @@ -1664,7 +1672,7 @@ ac_fn_c_check_type () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" @@ -1705,7 +1713,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type @@ -1717,7 +1725,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if eval "test \"\${$3+set}\"" = set; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1772,7 +1780,7 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func cat >config.log <<_ACEOF @@ -1780,7 +1788,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by less $as_me 1, which was -generated by GNU Autoconf 2.67. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2142,7 +2150,7 @@ if test -n "$ac_tool_prefix"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2182,7 +2190,7 @@ if test -z "$ac_cv_prog_CC"; then 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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2235,7 +2243,7 @@ if test -z "$CC"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2275,7 +2283,7 @@ if test -z "$CC"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2334,7 +2342,7 @@ if test -z "$CC"; then 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 test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -2378,7 +2386,7 @@ do 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 test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -2661,7 +2669,7 @@ 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 test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2712,7 +2720,7 @@ 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 test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -2749,7 +2757,7 @@ 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 test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -2827,7 +2835,7 @@ else 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 test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -2925,7 +2933,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 $as_echo_n "checking for library containing strerror... " >&6; } -if test "${ac_cv_search_strerror+set}" = set; then : +if ${ac_cv_search_strerror+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -2959,11 +2967,11 @@ for ac_lib in '' cposix; do fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if test "${ac_cv_search_strerror+set}" = set; then : + if ${ac_cv_search_strerror+:} false; then : break fi done -if test "${ac_cv_search_strerror+set}" = set; then : +if ${ac_cv_search_strerror+:} false; then : else ac_cv_search_strerror=no @@ -2991,7 +2999,7 @@ if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -3119,7 +3127,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then @@ -3182,7 +3190,7 @@ $as_echo "$ac_cv_path_GREP" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : +if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 @@ -3250,7 +3258,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; } if test $ac_cv_c_compiler_gnu = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC needs -traditional" >&5 $as_echo_n "checking whether $CC needs -traditional... " >&6; } -if test "${ac_cv_prog_gcc_traditional+set}" = set; then : +if ${ac_cv_prog_gcc_traditional+:} false; then : $as_echo_n "(cached) " >&6 else ac_pattern="Autoconf.*'x'" @@ -3335,7 +3343,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. { $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 test "${ac_cv_path_install+set}" = set; then : +if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3422,7 +3430,7 @@ if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if test "${ac_cv_sys_largefile_CC+set}" = set; then : +if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no @@ -3473,7 +3481,7 @@ $as_echo "$ac_cv_sys_largefile_CC" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test "${ac_cv_sys_file_offset_bits+set}" = set; then : +if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -3542,7 +3550,7 @@ rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if test "${ac_cv_sys_large_files+set}" = set; then : +if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do @@ -3615,7 +3623,7 @@ fi # Checks for general libraries. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgoto in -ltinfo" >&5 $as_echo_n "checking for tgoto in -ltinfo... " >&6; } -if test "${ac_cv_lib_tinfo_tgoto+set}" = set; then : +if ${ac_cv_lib_tinfo_tgoto+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3649,7 +3657,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_tgoto" >&5 $as_echo "$ac_cv_lib_tinfo_tgoto" >&6; } -if test "x$ac_cv_lib_tinfo_tgoto" = x""yes; then : +if test "x$ac_cv_lib_tinfo_tgoto" = xyes; then : have_tinfo=yes else have_tinfo=no @@ -3657,7 +3665,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lxcurses" >&5 $as_echo_n "checking for initscr in -lxcurses... " >&6; } -if test "${ac_cv_lib_xcurses_initscr+set}" = set; then : +if ${ac_cv_lib_xcurses_initscr+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3691,7 +3699,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xcurses_initscr" >&5 $as_echo "$ac_cv_lib_xcurses_initscr" >&6; } -if test "x$ac_cv_lib_xcurses_initscr" = x""yes; then : +if test "x$ac_cv_lib_xcurses_initscr" = xyes; then : have_xcurses=yes else have_xcurses=no @@ -3699,7 +3707,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncursesw" >&5 $as_echo_n "checking for initscr in -lncursesw... " >&6; } -if test "${ac_cv_lib_ncursesw_initscr+set}" = set; then : +if ${ac_cv_lib_ncursesw_initscr+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3733,7 +3741,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncursesw_initscr" >&5 $as_echo "$ac_cv_lib_ncursesw_initscr" >&6; } -if test "x$ac_cv_lib_ncursesw_initscr" = x""yes; then : +if test "x$ac_cv_lib_ncursesw_initscr" = xyes; then : have_ncursesw=yes else have_ncursesw=no @@ -3741,7 +3749,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lncurses" >&5 $as_echo_n "checking for initscr in -lncurses... " >&6; } -if test "${ac_cv_lib_ncurses_initscr+set}" = set; then : +if ${ac_cv_lib_ncurses_initscr+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3775,7 +3783,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_initscr" >&5 $as_echo "$ac_cv_lib_ncurses_initscr" >&6; } -if test "x$ac_cv_lib_ncurses_initscr" = x""yes; then : +if test "x$ac_cv_lib_ncurses_initscr" = xyes; then : have_ncurses=yes else have_ncurses=no @@ -3783,7 +3791,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for initscr in -lcurses" >&5 $as_echo_n "checking for initscr in -lcurses... " >&6; } -if test "${ac_cv_lib_curses_initscr+set}" = set; then : +if ${ac_cv_lib_curses_initscr+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3817,7 +3825,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_initscr" >&5 $as_echo "$ac_cv_lib_curses_initscr" >&6; } -if test "x$ac_cv_lib_curses_initscr" = x""yes; then : +if test "x$ac_cv_lib_curses_initscr" = xyes; then : have_curses=yes else have_curses=no @@ -3825,7 +3833,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermcap" >&5 $as_echo_n "checking for tgetent in -ltermcap... " >&6; } -if test "${ac_cv_lib_termcap_tgetent+set}" = set; then : +if ${ac_cv_lib_termcap_tgetent+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3859,7 +3867,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_tgetent" >&5 $as_echo "$ac_cv_lib_termcap_tgetent" >&6; } -if test "x$ac_cv_lib_termcap_tgetent" = x""yes; then : +if test "x$ac_cv_lib_termcap_tgetent" = xyes; then : have_termcap=yes else have_termcap=no @@ -3867,7 +3875,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for tgetent in -ltermlib" >&5 $as_echo_n "checking for tgetent in -ltermlib... " >&6; } -if test "${ac_cv_lib_termlib_tgetent+set}" = set; then : +if ${ac_cv_lib_termlib_tgetent+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -3901,21 +3909,20 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termlib_tgetent" >&5 $as_echo "$ac_cv_lib_termlib_tgetent" >&6; } -if test "x$ac_cv_lib_termlib_tgetent" = x""yes; then : +if test "x$ac_cv_lib_termlib_tgetent" = xyes; then : have_termlib=yes else have_termlib=no fi -# Regular expressions (regcmp) are in -lgen on Solaris 2, -# and in -lintl on SCO Unix. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for regcmp in -lgen" >&5 -$as_echo_n "checking for regcmp in -lgen... " >&6; } -if test "${ac_cv_lib_gen_regcmp+set}" = set; then : +# Regular expressions (regcmp) are in -lgen on Solaris 2, (but in libc +# at least on Solaris 10 (2.10)) and in -lintl on SCO Unix. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing regcmp" >&5 +$as_echo_n "checking for library containing regcmp... " >&6; } +if ${ac_cv_search_regcmp+:} false; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lgen $LIBS" + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -3934,113 +3941,35 @@ return regcmp (); return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_gen_regcmp=yes -else - ac_cv_lib_gen_regcmp=no +for ac_lib in '' gen intl PW; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_regcmp=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + conftest$ac_exeext + if ${ac_cv_search_regcmp+:} false; then : + break fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gen_regcmp" >&5 -$as_echo "$ac_cv_lib_gen_regcmp" >&6; } -if test "x$ac_cv_lib_gen_regcmp" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBGEN 1 -_ACEOF +done +if ${ac_cv_search_regcmp+:} false; then : - LIBS="-lgen $LIBS" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for regcmp in -lintl" >&5 -$as_echo_n "checking for regcmp in -lintl... " >&6; } -if test "${ac_cv_lib_intl_regcmp+set}" = set; then : - $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char regcmp (); -int -main () -{ -return regcmp (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_intl_regcmp=yes -else - ac_cv_lib_intl_regcmp=no + ac_cv_search_regcmp=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_regcmp" >&5 -$as_echo "$ac_cv_lib_intl_regcmp" >&6; } -if test "x$ac_cv_lib_intl_regcmp" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBINTL 1 -_ACEOF - - LIBS="-lintl $LIBS" - -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for regcmp in -lPW" >&5 -$as_echo_n "checking for regcmp in -lPW... " >&6; } -if test "${ac_cv_lib_PW_regcmp+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lPW $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char regcmp (); -int -main () -{ -return regcmp (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_PW_regcmp=yes -else - ac_cv_lib_PW_regcmp=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_PW_regcmp" >&5 -$as_echo "$ac_cv_lib_PW_regcmp" >&6; } -if test "x$ac_cv_lib_PW_regcmp" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPW 1 -_ACEOF - - LIBS="-lPW $LIBS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_regcmp" >&5 +$as_echo "$ac_cv_search_regcmp" >&6; } +ac_res=$ac_cv_search_regcmp +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi @@ -4310,7 +4239,7 @@ LIBS="$LIBS $TERMLIBS" # Checks for header files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4454,7 +4383,7 @@ done # Checks for typedefs, structures, and compiler characteristics. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat file-mode macros are broken" >&5 $as_echo_n "checking whether stat file-mode macros are broken... " >&6; } -if test "${ac_cv_header_stat_broken+set}" = set; then : +if ${ac_cv_header_stat_broken+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4496,7 +4425,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } -if test "${ac_cv_c_const+set}" = set; then : +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4575,7 +4504,7 @@ $as_echo "#define const /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = x""yes; then : +if test "x$ac_cv_type_off_t" = xyes; then : else @@ -4586,7 +4515,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : +if test "x$ac_cv_type_size_t" = xyes; then : else @@ -4598,7 +4527,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } -if test "${ac_cv_header_time+set}" = set; then : +if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4659,11 +4588,12 @@ fi + # Checks for identifiers. ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" -if test "x$ac_cv_type_off_t" = x""yes; then : +if test "x$ac_cv_type_off_t" = xyes; then : else @@ -4766,7 +4696,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Checks for library functions. { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } -if test "${ac_cv_type_signal+set}" = set; then : +if ${ac_cv_type_signal+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -4894,7 +4824,7 @@ rm -f core conftest.err conftest.$ac_objext \ # Some systems have termios.h but not the corresponding functions. ac_fn_c_check_func "$LINENO" "tcgetattr" "ac_cv_func_tcgetattr" -if test "x$ac_cv_func_tcgetattr" = x""yes; then : +if test "x$ac_cv_func_tcgetattr" = xyes; then : $as_echo "#define HAVE_TERMIOS_FUNCS 1" >>confdefs.h fi @@ -4986,7 +4916,7 @@ rm -f core conftest.err conftest.$ac_objext \ ac_fn_c_check_type "$LINENO" "sigset_t" "ac_cv_type_sigset_t" "#include " -if test "x$ac_cv_type_sigset_t" = x""yes; then : +if test "x$ac_cv_type_sigset_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SIGSET_T 1 @@ -5258,8 +5188,7 @@ fi # Checks for regular expression functions. have_regex=no have_posix_regex=unknown -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for regcomp" >&5 -$as_echo_n "checking for regcomp... " >&6; } +supported_regex="" # Select a regular expression library. WANT_REGEX=auto @@ -5274,6 +5203,8 @@ if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = posix; then # Some versions of Solaris have a regcomp() function, but it doesn't work! # So we run a test program. If we're cross-compiling, do it the old way. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for POSIX regcomp" >&5 +$as_echo_n "checking for POSIX regcomp... " >&6; } if test "$cross_compiling" = yes; then : have_posix_regex=unknown else @@ -5302,10 +5233,10 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ fi if test $have_posix_regex = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using POSIX regcomp" >&5 -$as_echo "using POSIX regcomp" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } $as_echo "#define HAVE_POSIX_REGCOMP 1" >>confdefs.h - + supported_regex="$supported_regex posix" have_regex=yes elif test $have_posix_regex = unknown; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -5322,10 +5253,10 @@ regex_t *r; regfree(r); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using POSIX regcomp" >&5 -$as_echo "using POSIX regcomp" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } $as_echo "#define HAVE_POSIX_REGCOMP 1" >>confdefs.h - have_regex=yes + have_regex=yes; supported_regex="$supported_regex posix" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -5340,7 +5271,7 @@ if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = pcre; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcre_compile in -lpcre" >&5 $as_echo_n "checking for pcre_compile in -lpcre... " >&6; } -if test "${ac_cv_lib_pcre_pcre_compile+set}" = set; then : +if ${ac_cv_lib_pcre_pcre_compile+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -5374,10 +5305,55 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcre_pcre_compile" >&5 $as_echo "$ac_cv_lib_pcre_pcre_compile" >&6; } -if test "x$ac_cv_lib_pcre_pcre_compile" = x""yes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using pcre" >&5 -$as_echo "using pcre" >&6; }; $as_echo "#define HAVE_PCRE 1" >>confdefs.h - LIBS="$LIBS -lpcre" have_regex=yes +if test "x$ac_cv_lib_pcre_pcre_compile" = xyes; then : + $as_echo "#define HAVE_PCRE 1" >>confdefs.h + LIBS="$LIBS -lpcre" have_regex=yes; supported_regex="$supported_regex pcre" +fi + +fi +fi + +if test $have_regex = no; then +if test $WANT_REGEX = auto -o $WANT_REGEX = gnu; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for re_compile_pattern in -lc" >&5 +$as_echo_n "checking for re_compile_pattern in -lc... " >&6; } +if ${ac_cv_lib_c_re_compile_pattern+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char re_compile_pattern (); +int +main () +{ +return re_compile_pattern (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_c_re_compile_pattern=yes +else + ac_cv_lib_c_re_compile_pattern=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_re_compile_pattern" >&5 +$as_echo "$ac_cv_lib_c_re_compile_pattern" >&6; } +if test "x$ac_cv_lib_c_re_compile_pattern" = xyes; then : + $as_echo "#define HAVE_GNU_REGEX 1" >>confdefs.h + have_regex=yes; supported_regex="$supported_regex gnu" fi fi @@ -5386,10 +5362,9 @@ fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = regcmp; then ac_fn_c_check_func "$LINENO" "regcmp" "ac_cv_func_regcmp" -if test "x$ac_cv_func_regcmp" = x""yes; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using regcmp" >&5 -$as_echo "using regcmp" >&6; }; $as_echo "#define HAVE_REGCMP 1" >>confdefs.h - have_regex=yes +if test "x$ac_cv_func_regcmp" = xyes; then : + $as_echo "#define HAVE_REGCMP 1" >>confdefs.h + have_regex=yes; supported_regex="$supported_regex regcmp" fi fi @@ -5397,6 +5372,8 @@ fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for V8 regcomp" >&5 +$as_echo_n "checking for V8 regcomp... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5410,9 +5387,12 @@ regcomp(""); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using V8 regcomp" >&5 -$as_echo "using V8 regcomp" >&6; }; $as_echo "#define HAVE_V8_REGCOMP 1" >>confdefs.h - have_regex=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; $as_echo "#define HAVE_V8_REGCOMP 1" >>confdefs.h + have_regex=yes; supported_regex="$supported_regex regcomp" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -5423,28 +5403,40 @@ if test $have_regex = no && test -f ${srcdir}/regexp.c; then if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp-local; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: using V8 regcomp -- local source" >&5 $as_echo "using V8 regcomp -- local source" >&6; }; $as_echo "#define HAVE_V8_REGCOMP 1" >>confdefs.h - $as_echo "#define HAVE_REGEXEC2 1" >>confdefs.h + +supported_regex="$supported_regex regcomp-local" +$as_echo "#define HAVE_REGEXEC2 1" >>confdefs.h REGEX_O='regexp.$(O)' have_regex=yes fi fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = re_comp; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using re_comp" >&5 -$as_echo "using re_comp" >&6; }; ac_fn_c_check_func "$LINENO" "re_comp" "ac_cv_func_re_comp" -if test "x$ac_cv_func_re_comp" = x""yes; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for re_comp" >&5 +$as_echo_n "checking for re_comp... " >&6; } +ac_fn_c_check_func "$LINENO" "re_comp" "ac_cv_func_re_comp" +if test "x$ac_cv_func_re_comp" = xyes; then : $as_echo "#define HAVE_RE_COMP 1" >>confdefs.h - have_regex=yes + have_regex=yes; supported_regex="$supported_regex re_comp" fi fi fi if test $have_regex = no; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot find regular expression library" >&5 -$as_echo "cannot find regular expression library" >&6; }; $as_echo "#define NO_REGEX 1" >>confdefs.h - +if test $WANT_REGEX = auto -o $WANT_REGEX = none; then +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: using no regex" >&5 +$as_echo "using no regex" >&6; } +else +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find regular expression library" >&5 +$as_echo "$as_me: WARNING: cannot find regular expression library" >&2;} fi +$as_echo "#define NO_REGEX 1" >>confdefs.h + supported_regex="$supported_regex none" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: regular expression library: $supported_regex" >&5 +$as_echo "regular expression library: $supported_regex" >&6; } # Check whether --with-editor was given. @@ -5527,10 +5519,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&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" && + 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;} - cat confcache >$cache_file + 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;} @@ -5562,7 +5565,7 @@ LTLIBOBJS=$ac_ltlibobjs -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -5663,6 +5666,7 @@ fi 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 @@ -5970,7 +5974,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # values after options handling. ac_log=" This file was extended by less $as_me 1, which was -generated by GNU Autoconf 2.67. Invocation command line was +generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6032,7 +6036,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ less config.status 1 -configured by $0, generated by GNU Autoconf 2.67, +configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. @@ -6178,9 +6182,10 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $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 } @@ -6188,12 +6193,13 @@ $debug || { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$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. @@ -6215,7 +6221,7 @@ else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -6243,7 +6249,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -6291,7 +6297,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -6323,7 +6329,7 @@ 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 < "$tmp/subs1.awk" > "$tmp/subs.awk" \ +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF @@ -6357,7 +6363,7 @@ fi # test -n "$CONFIG_FILES" # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then -cat >"$tmp/defines.awk" <<\_ACAWK || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -6369,8 +6375,8 @@ _ACEOF # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do - ac_t=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_t"; then + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 @@ -6490,7 +6496,7 @@ do for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) 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 `:'. @@ -6525,7 +6531,7 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ + *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; @@ -6656,21 +6662,22 @@ s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 +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' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { 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 "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) 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 ;; @@ -6681,20 +6688,20 @@ which seems to be undefined. Please make sure it is defined" >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ + mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; diff --git a/external/bsd/less/dist/configure.ac b/external/bsd/less/dist/configure.ac index 0b386b075..4ac9a351d 100644 --- a/external/bsd/less/dist/configure.ac +++ b/external/bsd/less/dist/configure.ac @@ -30,11 +30,9 @@ AC_CHECK_LIB(ncurses, initscr, [have_ncurses=yes], [have_ncurses=no]) AC_CHECK_LIB(curses, initscr, [have_curses=yes], [have_curses=no]) AC_CHECK_LIB(termcap, tgetent, [have_termcap=yes], [have_termcap=no]) AC_CHECK_LIB(termlib, tgetent, [have_termlib=yes], [have_termlib=no]) -# Regular expressions (regcmp) are in -lgen on Solaris 2, -# and in -lintl on SCO Unix. -AC_CHECK_LIB(gen, regcmp) -AC_CHECK_LIB(intl, regcmp) -AC_CHECK_LIB(PW, regcmp) +# Regular expressions (regcmp) are in -lgen on Solaris 2, (but in libc +# at least on Solaris 10 (2.10)) and in -lintl on SCO Unix. +AC_SEARCH_LIBS([regcmp], [gen intl PW]) # Checks for terminal libraries AC_MSG_CHECKING([for working terminal libraries]) @@ -179,6 +177,8 @@ AC_TYPE_SIZE_T AC_HEADER_TIME # Autoheader templates for symbols defined later by AC_DEFINE. +AH_TEMPLATE([HAVE_GNU_REGEX], + [GNU regex library]) AH_TEMPLATE([HAVE_POSIX_REGCOMP], [POSIX regcomp() and regex.h]) AH_TEMPLATE([HAVE_PCRE], @@ -383,18 +383,19 @@ fi # Checks for regular expression functions. have_regex=no have_posix_regex=unknown -AC_MSG_CHECKING(for regcomp) +supported_regex="" # Select a regular expression library. WANT_REGEX=auto AC_ARG_WITH(regex, - [ --with-regex={auto,pcre,posix,regcmp,re_comp,regcomp,regcomp-local} Select a regular expression library [auto]], + [ --with-regex={auto,gnu,pcre,posix,regcmp,re_comp,regcomp,regcomp-local,none} Select a regular expression library [auto]], WANT_REGEX="$withval") if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = posix; then # Some versions of Solaris have a regcomp() function, but it doesn't work! # So we run a test program. If we're cross-compiling, do it the old way. +AC_MSG_CHECKING(for POSIX regcomp) AC_TRY_RUN([ #include #include @@ -409,16 +410,16 @@ if (rm.rm_sp != text + 1) exit(1); /* check for correct offset */ exit(0); }], have_posix_regex=yes, have_posix_regex=no, have_posix_regex=unknown) if test $have_posix_regex = yes; then - AC_MSG_RESULT(using POSIX regcomp) - AC_DEFINE(HAVE_POSIX_REGCOMP) + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_POSIX_REGCOMP) supported_regex="$supported_regex posix" have_regex=yes elif test $have_posix_regex = unknown; then AC_TRY_LINK([ #include #include ], [regex_t *r; regfree(r);], - AC_MSG_RESULT(using POSIX regcomp) - AC_DEFINE(HAVE_POSIX_REGCOMP) have_regex=yes) + AC_MSG_RESULT(yes) + AC_DEFINE(HAVE_POSIX_REGCOMP) have_regex=yes; supported_regex="$supported_regex posix") else AC_MSG_RESULT(no) fi @@ -428,40 +429,59 @@ fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = pcre; then AC_CHECK_LIB(pcre, pcre_compile, -[AC_MSG_RESULT(using pcre); AC_DEFINE(HAVE_PCRE) LIBS="$LIBS -lpcre" have_regex=yes], []) +[AC_DEFINE(HAVE_PCRE) LIBS="$LIBS -lpcre" have_regex=yes; supported_regex="$supported_regex pcre"], []) +fi +fi + +if test $have_regex = no; then +if test $WANT_REGEX = auto -o $WANT_REGEX = gnu; then +AC_CHECK_LIB(c, re_compile_pattern, +[AC_DEFINE(HAVE_GNU_REGEX) have_regex=yes; supported_regex="$supported_regex gnu"], []) fi fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = regcmp; then AC_CHECK_FUNC(regcmp, -AC_MSG_RESULT(using regcmp); AC_DEFINE(HAVE_REGCMP) have_regex=yes) +[AC_DEFINE(HAVE_REGCMP) have_regex=yes; supported_regex="$supported_regex regcmp"],[]) fi fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp; then +AC_MSG_CHECKING(for V8 regcomp) AC_TRY_LINK([ #include "regexp.h"], [regcomp("");], -AC_MSG_RESULT(using V8 regcomp); AC_DEFINE(HAVE_V8_REGCOMP) have_regex=yes) +[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_V8_REGCOMP) have_regex=yes; supported_regex="$supported_regex regcomp"],[AC_MSG_RESULT(no)]) fi fi if test $have_regex = no && test -f ${srcdir}/regexp.c; then if test $WANT_REGEX = auto -o $WANT_REGEX = regcomp-local; then -AC_MSG_RESULT(using V8 regcomp -- local source); AC_DEFINE(HAVE_V8_REGCOMP) AC_DEFINE(HAVE_REGEXEC2) REGEX_O='regexp.$(O)' AC_SUBST(REGEX_O) have_regex=yes +AC_MSG_RESULT(using V8 regcomp -- local source); AC_DEFINE(HAVE_V8_REGCOMP) +supported_regex="$supported_regex regcomp-local" +AC_DEFINE(HAVE_REGEXEC2) REGEX_O='regexp.$(O)' AC_SUBST(REGEX_O) have_regex=yes fi fi if test $have_regex = no; then if test $WANT_REGEX = auto -o $WANT_REGEX = re_comp; then -AC_MSG_RESULT(using re_comp); AC_CHECK_FUNC(re_comp, AC_DEFINE(HAVE_RE_COMP) have_regex=yes) +AC_MSG_CHECKING(for re_comp) +AC_CHECK_FUNC(re_comp, +[AC_DEFINE(HAVE_RE_COMP) have_regex=yes; supported_regex="$supported_regex re_comp"],[]) fi fi if test $have_regex = no; then -AC_MSG_RESULT(cannot find regular expression library); AC_DEFINE(NO_REGEX) +if test $WANT_REGEX = auto -o $WANT_REGEX = none; then +AC_MSG_RESULT(using no regex) +else +AC_MSG_WARN(cannot find regular expression library) fi +AC_DEFINE(NO_REGEX) supported_regex="$supported_regex none" +fi + +AC_MSG_RESULT(regular expression library: $supported_regex) AC_ARG_WITH(editor, [ --with-editor=PROGRAM use PROGRAM as the default editor [vi]], @@ -649,6 +669,7 @@ AH_TOP([ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -658,6 +679,17 @@ AH_TOP([ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Settings automatically determined by configure. */ ]) diff --git a/external/bsd/less/dist/cvt.c b/external/bsd/less/dist/cvt.c index e8817d265..6c97a5ca3 100644 --- a/external/bsd/less/dist/cvt.c +++ b/external/bsd/less/dist/cvt.c @@ -1,13 +1,12 @@ -/* $NetBSD: cvt.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: cvt.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ /* @@ -66,6 +65,7 @@ cvt_text(odst, osrc, chpos, lenp, ops) int ops; { char *dst; + char *edst = odst; char *src; register char *src_end; LWCHAR ch; @@ -100,23 +100,17 @@ cvt_text(odst, osrc, chpos, lenp, ops) if ((ops & CVT_TO_LC) && IS_UPPER(ch)) ch = TO_LOWER(ch); put_wchar(&dst, ch); - /* - * Record the original position of the char. - * But if we've already recorded a position - * for this char (due to a backspace), leave - * it alone; if multiple source chars map to - * one destination char, we want the position - * of the first one. - */ - if (chpos != NULL && chpos[dst_pos] < 0) + /* Record the original position of the char. */ + if (chpos != NULL) chpos[dst_pos] = src_pos; } + if (dst > edst) + edst = dst; } - if ((ops & CVT_CRLF) && dst > odst && dst[-1] == '\r') - dst--; - *dst = '\0'; + if ((ops & CVT_CRLF) && edst > odst && edst[-1] == '\r') + edst--; + *edst = '\0'; if (lenp != NULL) - *lenp = dst - odst; - if (chpos != NULL) - chpos[dst - odst] = src - osrc; + *lenp = edst - odst; + /* FIXME: why was this here? if (chpos != NULL) chpos[dst - odst] = src - osrc; */ } diff --git a/external/bsd/less/dist/decode.c b/external/bsd/less/dist/decode.c index b6e585d47..2f9bfed4d 100644 --- a/external/bsd/less/dist/decode.c +++ b/external/bsd/less/dist/decode.c @@ -1,13 +1,12 @@ -/* $NetBSD: decode.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: decode.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -81,6 +80,7 @@ static unsigned char cmdtable[] = 'w',0, A_B_WINDOW, ESC,' ',0, A_FF_SCREEN, 'F',0, A_F_FOREVER, + ESC,'F',0, A_F_UNTIL_HILITE, 'R',0, A_FREPAINT, 'r',0, A_REPAINT, CONTROL('R'),0, A_REPAINT, diff --git a/external/bsd/less/dist/defines.ds b/external/bsd/less/dist/defines.ds index 4dbbd6518..d85f47945 100644 --- a/external/bsd/less/dist/defines.ds +++ b/external/bsd/less/dist/defines.ds @@ -1,11 +1,10 @@ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -186,6 +185,7 @@ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -195,6 +195,17 @@ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Define to `long' if doesn't define. */ #if MSDOS_COMPILER==BORLANDC @@ -322,6 +333,9 @@ /* Define if you have the header file. */ #define HAVE_FCNTL_H 1 +/* Define HAVE_FLOAT if your compiler supports the "double" type. */ +#define HAVE_FLOAT 1 + /* Define if you have the header file. */ #define HAVE_LIMITS_H 1 diff --git a/external/bsd/less/dist/defines.h b/external/bsd/less/dist/defines.h index 786117735..304911e9a 100644 --- a/external/bsd/less/dist/defines.h +++ b/external/bsd/less/dist/defines.h @@ -1,4 +1,4 @@ -/* $NetBSD: defines.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: defines.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* defines.h. Generated from defines.h.in by configure. */ /* defines.h.in. Generated from configure.ac by autoheader. */ @@ -185,6 +185,7 @@ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -194,6 +195,17 @@ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Settings automatically determined by configure. */ @@ -228,18 +240,12 @@ /* Define to 1 if you have the `fsync' function. */ #define HAVE_FSYNC 1 +/* GNU regex library */ +/* #undef HAVE_GNU_REGEX */ + /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 -/* Define to 1 if you have the `gen' library (-lgen). */ -/* #undef HAVE_LIBGEN */ - -/* Define to 1 if you have the `intl' library (-lintl). */ -/* #undef HAVE_LIBINTL */ - -/* Define to 1 if you have the `PW' library (-lPW). */ -/* #undef HAVE_LIBPW */ - /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 diff --git a/external/bsd/less/dist/defines.h.in b/external/bsd/less/dist/defines.h.in index 8d4506383..bfd0ab78d 100644 --- a/external/bsd/less/dist/defines.h.in +++ b/external/bsd/less/dist/defines.h.in @@ -182,6 +182,7 @@ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines */ #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -191,6 +192,17 @@ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Settings automatically determined by configure. */ @@ -225,18 +237,12 @@ /* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC +/* GNU regex library */ +#undef HAVE_GNU_REGEX + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `gen' library (-lgen). */ -#undef HAVE_LIBGEN - -/* Define to 1 if you have the `intl' library (-lintl). */ -#undef HAVE_LIBINTL - -/* Define to 1 if you have the `PW' library (-lPW). */ -#undef HAVE_LIBPW - /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H diff --git a/external/bsd/less/dist/defines.o2 b/external/bsd/less/dist/defines.o2 index 0fd8cc735..578091d19 100644 --- a/external/bsd/less/dist/defines.o2 +++ b/external/bsd/less/dist/defines.o2 @@ -1,11 +1,10 @@ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -167,6 +166,7 @@ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -176,6 +176,17 @@ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Define to `long' if doesn't define. */ /* #define off_t long */ diff --git a/external/bsd/less/dist/defines.o9 b/external/bsd/less/dist/defines.o9 index 3bb1d2cb8..507ec198d 100644 --- a/external/bsd/less/dist/defines.o9 +++ b/external/bsd/less/dist/defines.o9 @@ -1,11 +1,10 @@ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -174,6 +173,7 @@ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -183,6 +183,17 @@ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Define to `long' if doesn't define. */ #define off_t long diff --git a/external/bsd/less/dist/defines.wn b/external/bsd/less/dist/defines.wn index 416a548e7..dd92261e8 100644 --- a/external/bsd/less/dist/defines.wn +++ b/external/bsd/less/dist/defines.wn @@ -1,11 +1,10 @@ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -168,6 +167,7 @@ /* * Sizes of various buffers. */ +#if 0 /* old sizes for small memory machines #define CMDBUF_SIZE 512 /* Buffer for multichar commands */ #define UNGOT_SIZE 100 /* Max chars to unget() */ #define LINEBUF_SIZE 1024 /* Max size of line in input file */ @@ -177,6 +177,17 @@ #define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ #define TAGLINE_SIZE 512 /* Max size of line in tags file */ #define TABSTOP_MAX 32 /* Max number of custom tab stops */ +#else /* more reasonable sizes for modern machines */ +#define CMDBUF_SIZE 2048 /* Buffer for multichar commands */ +#define UNGOT_SIZE 200 /* Max chars to unget() */ +#define LINEBUF_SIZE 1024 /* Initial max size of line in input file */ +#define OUTBUF_SIZE 1024 /* Output buffer */ +#define PROMPT_SIZE 2048 /* Max size of prompt string */ +#define TERMBUF_SIZE 2048 /* Termcap buffer for tgetent */ +#define TERMSBUF_SIZE 1024 /* Buffer to hold termcap strings */ +#define TAGLINE_SIZE 1024 /* Max size of line in tags file */ +#define TABSTOP_MAX 128 /* Max number of custom tab stops */ +#endif /* Define to `long' if doesn't define. */ /* #define off_t long */ diff --git a/external/bsd/less/dist/edit.c b/external/bsd/less/dist/edit.c index 20f1230e3..ef6b3a7a3 100644 --- a/external/bsd/less/dist/edit.c +++ b/external/bsd/less/dist/edit.c @@ -1,13 +1,12 @@ -/* $NetBSD: edit.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: edit.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -317,6 +316,10 @@ edit_ifile(ifile) */ __djgpp_set_ctrl_c(1); #endif + } else if (strcmp(open_filename, FAKE_EMPTYFILE) == 0) + { + f = -1; + chflags |= CH_NODATA; } else if (strcmp(open_filename, FAKE_HELPFILE) == 0) { f = -1; diff --git a/external/bsd/less/dist/filename.c b/external/bsd/less/dist/filename.c index de4decbe9..1d7ad3607 100644 --- a/external/bsd/less/dist/filename.c +++ b/external/bsd/less/dist/filename.c @@ -1,13 +1,12 @@ -/* $NetBSD: filename.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: filename.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -814,6 +813,27 @@ lglob(filename) return (gfilename); } +/* + * Return number of %s escapes in a string. + * Return a large number if there are any other % escapes besides %s. + */ + static int +num_pct_s(lessopen) + char *lessopen; +{ + int num; + + for (num = 0;; num++) + { + lessopen = strchr(lessopen, '%'); + if (lessopen == NULL) + break; + if (*++lessopen != 's') + return (999); + } + return (num); +} + /* * See if we should open a "replacement file" * instead of the file we're about to open. @@ -840,7 +860,7 @@ open_altfile(filename, pf, pfd) ch_ungetchar(-1); if ((lessopen = lgetenv("LESSOPEN")) == NULL) return (NULL); - if (*lessopen == '|') + while (*lessopen == '|') { /* * If LESSOPEN starts with a |, it indicates @@ -851,7 +871,7 @@ open_altfile(filename, pf, pfd) return (NULL); #else lessopen++; - returnfd = 1; + returnfd++; #endif } if (*lessopen == '-') { @@ -863,6 +883,11 @@ open_altfile(filename, pf, pfd) if (strcmp(filename, "-") == 0) return (NULL); } + if (num_pct_s(lessopen) > 1) + { + error("Invalid LESSOPEN variable", NULL_PARG); + return (NULL); + } len = strlen(lessopen) + strlen(filename) + 2; cmd = (char *) ecalloc(len, sizeof(char)); @@ -891,9 +916,18 @@ open_altfile(filename, pf, pfd) if (read(f, &c, 1) != 1) { /* - * Pipe is empty. This means there is no alt file. + * Pipe is empty. + * If more than 1 pipe char was specified, + * the exit status tells whether the file itself + * is empty, or if there is no alt file. + * If only one pipe char, just assume no alt file. */ - pclose(fd); + int status = pclose(fd); + if (returnfd > 1 && status == 0) { + *pfd = NULL; + *pf = -1; + return (save(FAKE_EMPTYFILE)); + } return (NULL); } ch_ungetchar(c); @@ -943,6 +977,11 @@ close_altfile(altfilename, filename, pipefd) } if ((lessclose = lgetenv("LESSCLOSE")) == NULL) return; + if (num_pct_s(lessclose) > 2) + { + error("Invalid LESSCLOSE variable"); + return; + } len = strlen(lessclose) + strlen(filename) + strlen(altfilename) + 2; cmd = (char *) ecalloc(len, sizeof(char)); SNPRINTF2(cmd, len, lessclose, filename, altfilename); diff --git a/external/bsd/less/dist/forwback.c b/external/bsd/less/dist/forwback.c index 82e290140..30002fa65 100644 --- a/external/bsd/less/dist/forwback.c +++ b/external/bsd/less/dist/forwback.c @@ -1,13 +1,12 @@ -/* $NetBSD: forwback.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: forwback.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/funcs.h b/external/bsd/less/dist/funcs.h index def617e11..de130d8e6 100644 --- a/external/bsd/less/dist/funcs.h +++ b/external/bsd/less/dist/funcs.h @@ -1,4 +1,4 @@ -/* $NetBSD: funcs.h,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: funcs.h,v 1.4 2013/09/04 19:44:21 tron Exp $ */ public char * save (); public VOID_POINTER ecalloc (); @@ -48,6 +48,7 @@ public void ch_setbufspace (); public void ch_flush (); public int seekable (); + public void ch_set_eof (); public void ch_init (); public void ch_close (); public int ch_getflags (); diff --git a/external/bsd/less/dist/help.c b/external/bsd/less/dist/help.c index 4f5f9833f..bc2ad3ead 100644 --- a/external/bsd/less/dist/help.c +++ b/external/bsd/less/dist/help.c @@ -1,4 +1,4 @@ -/* $NetBSD: help.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: help.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* This file was generated by mkhelp from less.hlp */ #include "less.h" @@ -11,6 +11,7 @@ constant char helpdata[] = { '\n', ' ',' ',' ',' ',' ',' ','C','o','m','m','a','n','d','s',' ','m','a','r','k','e','d',' ','w','i','t','h',' ','*',' ','m','a','y',' ','b','e',' ','p','r','e','c','e','d','e','d',' ','b','y',' ','a',' ','n','u','m','b','e','r',',',' ','_','\b','N','.','\n', ' ',' ',' ',' ',' ',' ','N','o','t','e','s',' ','i','n',' ','p','a','r','e','n','t','h','e','s','e','s',' ','i','n','d','i','c','a','t','e',' ','t','h','e',' ','b','e','h','a','v','i','o','r',' ','i','f',' ','_','\b','N',' ','i','s',' ','g','i','v','e','n','.','\n', +' ',' ',' ',' ',' ',' ','A',' ','k','e','y',' ','p','r','e','c','e','d','e','d',' ','b','y',' ','a',' ','c','a','r','e','t',' ','i','n','d','i','c','a','t','e','s',' ','t','h','e',' ','C','t','r','l',' ','k','e','y',';',' ','t','h','u','s',' ','^','K',' ','i','s',' ','c','t','r','l','-','K','.','\n', '\n', ' ',' ','h',' ',' ','H',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','i','s','p','l','a','y',' ','t','h','i','s',' ','h','e','l','p','.','\n', ' ',' ','q',' ',' ',':','q',' ',' ','Q',' ',' ',':','Q',' ',' ','Z','Z',' ',' ',' ',' ',' ','E','x','i','t','.','\n', @@ -48,7 +49,7 @@ constant char helpdata[] = { ' ',' ','E','S','C','-','u',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','U','n','d','o',' ','(','t','o','g','g','l','e',')',' ','s','e','a','r','c','h',' ','h','i','g','h','l','i','g','h','t','i','n','g','.','\n', ' ',' ','&','_','\b','p','_','\b','a','_','\b','t','_','\b','t','_','\b','e','_','\b','r','_','\b','n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ','D','i','s','p','l','a','y',' ','o','n','l','y',' ','m','a','t','c','h','i','n','g',' ','l','i','n','e','s','\n', ' ',' ',' ',' ',' ',' ',' ',' ','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','\n', -' ',' ',' ',' ',' ',' ',' ',' ','S','e','a','r','c','h',' ','p','a','t','t','e','r','n','s',' ','m','a','y',' ','b','e',' ','m','o','d','i','f','i','e','d',' ','b','y',' ','o','n','e',' ','o','r',' ','m','o','r','e',' ','o','f',':','\n', +' ',' ',' ',' ',' ',' ',' ',' ','A',' ','s','e','a','r','c','h',' ','p','a','t','t','e','r','n',' ','m','a','y',' ','b','e',' ','p','r','e','c','e','d','e','d',' ','b','y',' ','o','n','e',' ','o','r',' ','m','o','r','e',' ','o','f',':','\n', ' ',' ',' ',' ',' ',' ',' ',' ','^','N',' ','o','r',' ','!',' ',' ','S','e','a','r','c','h',' ','f','o','r',' ','N','O','N','-','m','a','t','c','h','i','n','g',' ','l','i','n','e','s','.','\n', ' ',' ',' ',' ',' ',' ',' ',' ','^','E',' ','o','r',' ','*',' ',' ','S','e','a','r','c','h',' ','m','u','l','t','i','p','l','e',' ','f','i','l','e','s',' ','(','p','a','s','s',' ','t','h','r','u',' ','E','N','D',' ','O','F',' ','F','I','L','E',')','.','\n', ' ',' ',' ',' ',' ',' ',' ',' ','^','F',' ','o','r',' ','@',' ',' ','S','t','a','r','t',' ','s','e','a','r','c','h',' ','a','t',' ','F','I','R','S','T',' ','f','i','l','e',' ','(','f','o','r',' ','/',')',' ','o','r',' ','l','a','s','t',' ','f','i','l','e',' ','(','f','o','r',' ','?',')','.','\n', @@ -114,14 +115,14 @@ constant char helpdata[] = { ' ',' ',' ',' ',' ',' ',' ',' ','M','o','s','t',' ','o','p','t','i','o','n','s',' ','m','a','y',' ','b','e',' ','c','h','a','n','g','e','d',' ','e','i','t','h','e','r',' ','o','n',' ','t','h','e',' ','c','o','m','m','a','n','d',' ','l','i','n','e',',','\n', ' ',' ',' ',' ',' ',' ',' ',' ','o','r',' ','f','r','o','m',' ','w','i','t','h','i','n',' ','l','e','s','s',' ','b','y',' ','u','s','i','n','g',' ','t','h','e',' ','-',' ','o','r',' ','-','-',' ','c','o','m','m','a','n','d','.','\n', ' ',' ',' ',' ',' ',' ',' ',' ','O','p','t','i','o','n','s',' ','m','a','y',' ','b','e',' ','g','i','v','e','n',' ','i','n',' ','o','n','e',' ','o','f',' ','t','w','o',' ','f','o','r','m','s',':',' ','e','i','t','h','e','r',' ','a',' ','s','i','n','g','l','e','\n', -' ',' ',' ',' ',' ',' ',' ',' ','c','h','a','r','a','c','t','e','r',' ','p','r','e','c','e','d','e','d',' ','b','y',' ','a',' ','-',',',' ','o','r',' ','a',' ','n','a','m','e',' ','p','r','e','c','e','e','d','e','d',' ','b','y',' ','-','-','.','\n', +' ',' ',' ',' ',' ',' ',' ',' ','c','h','a','r','a','c','t','e','r',' ','p','r','e','c','e','d','e','d',' ','b','y',' ','a',' ','-',',',' ','o','r',' ','a',' ','n','a','m','e',' ','p','r','e','c','e','d','e','d',' ','b','y',' ','-','-','.','\n', '\n', ' ',' ','-','?',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','h','e','l','p','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','i','s','p','l','a','y',' ','h','e','l','p',' ','(','f','r','o','m',' ','c','o','m','m','a','n','d',' ','l','i','n','e',')','.','\n', ' ',' ','-','a',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','s','e','a','r','c','h','-','s','k','i','p','-','s','c','r','e','e','n','\n', -' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','F','o','r','w','a','r','d',' ','s','e','a','r','c','h',' ','s','k','i','p','s',' ','c','u','r','r','e','n','t',' ','s','c','r','e','e','n','.','\n', +' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','S','e','a','r','c','h',' ','s','k','i','p','s',' ','c','u','r','r','e','n','t',' ','s','c','r','e','e','n','.','\n', ' ',' ','-','A',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','S','E','A','R','C','H','-','S','K','I','P','-','S','C','R','E','E','N','\n', -' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','F','o','r','w','a','r','d',' ','s','e','a','r','c','h',' ','a','l','w','a','y','s',' ','s','k','i','p','s',' ','t','a','r','g','e','t',' ','l','i','n','e','.','\n', +' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','S','e','a','r','c','h',' ','s','t','a','r','t','s',' ','j','u','s','t',' ','a','f','t','e','r',' ','t','a','r','g','e','t',' ','l','i','n','e','.','\n', ' ',' ','-','b',' ','[','_','\b','N',']',' ',' ','.','.','.','.',' ',' ','-','-','b','u','f','f','e','r','s','=','[','_','\b','N',']','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','N','u','m','b','e','r',' ','o','f',' ','b','u','f','f','e','r','s','.','\n', ' ',' ','-','B',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','a','u','t','o','-','b','u','f','f','e','r','s','\n', @@ -177,7 +178,7 @@ constant char helpdata[] = { ' ',' ','-','s',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','s','q','u','e','e','z','e','-','b','l','a','n','k','-','l','i','n','e','s','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','S','q','u','e','e','z','e',' ','m','u','l','t','i','p','l','e',' ','b','l','a','n','k',' ','l','i','n','e','s','.','\n', ' ',' ','-','S',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','c','h','o','p','-','l','o','n','g','-','l','i','n','e','s','\n', -' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','C','h','o','p',' ','l','o','n','g',' ','l','i','n','e','s','.','\n', +' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','C','h','o','p',' ','(','t','r','u','n','c','a','t','e',')',' ','l','o','n','g',' ','l','i','n','e','s',' ','r','a','t','h','e','r',' ','t','h','a','n',' ','w','r','a','p','p','i','n','g','.','\n', ' ',' ','-','t',' ','[','_','\b','t','_','\b','a','_','\b','g',']',' ',' ','.','.',' ',' ','-','-','t','a','g','=','[','_','\b','t','_','\b','a','_','\b','g',']','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','F','i','n','d',' ','a',' ','t','a','g','.','\n', ' ',' ','-','T',' ','[','_','\b','t','_','\b','a','_','\b','g','_','\b','s','_','\b','f','_','\b','i','_','\b','l','_','\b','e',']',' ','-','-','t','a','g','-','f','i','l','e','=','[','_','\b','t','_','\b','a','_','\b','g','_','\b','s','_','\b','f','_','\b','i','_','\b','l','_','\b','e',']','\n', @@ -194,8 +195,6 @@ constant char helpdata[] = { ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','S','e','t',' ','t','a','b',' ','s','t','o','p','s','.','\n', ' ',' ','-','X',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','n','o','-','i','n','i','t','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','o','n','\'','t',' ','u','s','e',' ','t','e','r','m','c','a','p',' ','i','n','i','t','/','d','e','i','n','i','t',' ','s','t','r','i','n','g','s','.','\n', -' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-','n','o','-','k','e','y','p','a','d','\n', -' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','o','n','\'','t',' ','u','s','e',' ','t','e','r','m','c','a','p',' ','k','e','y','p','a','d',' ','i','n','i','t','/','d','e','i','n','i','t',' ','s','t','r','i','n','g','s','.','\n', ' ',' ','-','y',' ','[','_','\b','N',']',' ',' ','.','.','.','.',' ',' ','-','-','m','a','x','-','f','o','r','w','-','s','c','r','o','l','l','=','[','_','\b','N',']','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','F','o','r','w','a','r','d',' ','s','c','r','o','l','l',' ','l','i','m','i','t','.','\n', ' ',' ','-','z',' ','[','_','\b','N',']',' ',' ','.','.','.','.',' ',' ','-','-','w','i','n','d','o','w','=','[','_','\b','N',']','\n', @@ -207,7 +206,7 @@ constant char helpdata[] = { ' ',' ','-','#',' ','[','_','\b','N',']',' ',' ','.','.','.','.',' ',' ','-','-','s','h','i','f','t','=','[','_','\b','N',']','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','H','o','r','i','z','o','n','t','a','l',' ','s','c','r','o','l','l',' ','a','m','o','u','n','t',' ','(','0',' ','=',' ','o','n','e',' ','h','a','l','f',' ','s','c','r','e','e','n',' ','w','i','d','t','h',')','\n', ' ',' ',' ',' ',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','n','o','-','k','e','y','p','a','d','\n', -' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','o','n','\'','t',' ','s','e','n','d',' ','k','e','y','p','a','d',' ','i','n','i','t','/','d','e','i','n','i','t',' ','s','e','q','u','e','n','c','e','.','\n', +' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','o','n','\'','t',' ','s','e','n','d',' ','t','e','r','m','c','a','p',' ','k','e','y','p','a','d',' ','i','n','i','t','/','d','e','i','n','i','t',' ','s','t','r','i','n','g','s','.','\n', ' ',' ',' ',' ',' ',' ','.','.','.','.','.','.','.','.',' ',' ','-','-','f','o','l','l','o','w','-','n','a','m','e','\n', ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','T','h','e',' ','F',' ','c','o','m','m','a','n','d',' ','c','h','a','n','g','e','s',' ','f','i','l','e','s',' ','i','f',' ','t','h','e',' ','i','n','p','u','t',' ','f','i','l','e',' ','i','s',' ','r','e','n','a','m','e','d','.','\n', '\n', @@ -221,20 +220,20 @@ constant char helpdata[] = { '\n', ' ','R','i','g','h','t','A','r','r','o','w',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','l',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','r','i','g','h','t',' ','o','n','e',' ','c','h','a','r','a','c','t','e','r','.','\n', ' ','L','e','f','t','A','r','r','o','w',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','h',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','l','e','f','t',' ','o','n','e',' ','c','h','a','r','a','c','t','e','r','.','\n', -' ','C','N','T','L','-','R','i','g','h','t','A','r','r','o','w',' ',' ','E','S','C','-','R','i','g','h','t','A','r','r','o','w',' ',' ','E','S','C','-','w',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','r','i','g','h','t',' ','o','n','e',' ','w','o','r','d','.','\n', -' ','C','N','T','L','-','L','e','f','t','A','r','r','o','w',' ',' ',' ','E','S','C','-','L','e','f','t','A','r','r','o','w',' ',' ',' ','E','S','C','-','b',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','l','e','f','t',' ','o','n','e',' ','w','o','r','d','.','\n', +' ','c','t','r','l','-','R','i','g','h','t','A','r','r','o','w',' ',' ','E','S','C','-','R','i','g','h','t','A','r','r','o','w',' ',' ','E','S','C','-','w',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','r','i','g','h','t',' ','o','n','e',' ','w','o','r','d','.','\n', +' ','c','t','r','l','-','L','e','f','t','A','r','r','o','w',' ',' ',' ','E','S','C','-','L','e','f','t','A','r','r','o','w',' ',' ',' ','E','S','C','-','b',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','l','e','f','t',' ','o','n','e',' ','w','o','r','d','.','\n', ' ','H','O','M','E',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','0',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','t','o',' ','s','t','a','r','t',' ','o','f',' ','l','i','n','e','.','\n', ' ','E','N','D',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','$',' ',' ',' ',' ',' ','M','o','v','e',' ','c','u','r','s','o','r',' ','t','o',' ','e','n','d',' ','o','f',' ','l','i','n','e','.','\n', ' ','B','A','C','K','S','P','A','C','E',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','c','h','a','r',' ','t','o',' ','l','e','f','t',' ','o','f',' ','c','u','r','s','o','r','.','\n', ' ','D','E','L','E','T','E',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','x',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','c','h','a','r',' ','u','n','d','e','r',' ','c','u','r','s','o','r','.','\n', -' ','C','N','T','L','-','B','A','C','K','S','P','A','C','E',' ',' ',' ','E','S','C','-','B','A','C','K','S','P','A','C','E',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','w','o','r','d',' ','t','o',' ','l','e','f','t',' ','o','f',' ','c','u','r','s','o','r','.','\n', -' ','C','N','T','L','-','D','E','L','E','T','E',' ',' ',' ',' ',' ',' ','E','S','C','-','D','E','L','E','T','E',' ',' ',' ',' ',' ',' ','E','S','C','-','X',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','w','o','r','d',' ','u','n','d','e','r',' ','c','u','r','s','o','r','.','\n', -' ','C','N','T','L','-','U',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C',' ','(','M','S','-','D','O','S',' ','o','n','l','y',')',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','e','n','t','i','r','e',' ','l','i','n','e','.','\n', +' ','c','t','r','l','-','B','A','C','K','S','P','A','C','E',' ',' ',' ','E','S','C','-','B','A','C','K','S','P','A','C','E',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','w','o','r','d',' ','t','o',' ','l','e','f','t',' ','o','f',' ','c','u','r','s','o','r','.','\n', +' ','c','t','r','l','-','D','E','L','E','T','E',' ',' ',' ',' ',' ',' ','E','S','C','-','D','E','L','E','T','E',' ',' ',' ',' ',' ',' ','E','S','C','-','X',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','w','o','r','d',' ','u','n','d','e','r',' ','c','u','r','s','o','r','.','\n', +' ','c','t','r','l','-','U',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C',' ','(','M','S','-','D','O','S',' ','o','n','l','y',')',' ',' ',' ',' ',' ',' ',' ',' ',' ','D','e','l','e','t','e',' ','e','n','t','i','r','e',' ','l','i','n','e','.','\n', ' ','U','p','A','r','r','o','w',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','k',' ',' ',' ',' ',' ','R','e','t','r','i','e','v','e',' ','p','r','e','v','i','o','u','s',' ','c','o','m','m','a','n','d',' ','l','i','n','e','.','\n', ' ','D','o','w','n','A','r','r','o','w',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','j',' ',' ',' ',' ',' ','R','e','t','r','i','e','v','e',' ','n','e','x','t',' ','c','o','m','m','a','n','d',' ','l','i','n','e','.','\n', ' ','T','A','B',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','C','o','m','p','l','e','t','e',' ','f','i','l','e','n','a','m','e',' ','&',' ','c','y','c','l','e','.','\n', ' ','S','H','I','F','T','-','T','A','B',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','E','S','C','-','T','A','B',' ',' ',' ','C','o','m','p','l','e','t','e',' ','f','i','l','e','n','a','m','e',' ','&',' ','r','e','v','e','r','s','e',' ','c','y','c','l','e','.','\n', -' ','C','N','T','L','-','L',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','C','o','m','p','l','e','t','e',' ','f','i','l','e','n','a','m','e',',',' ','l','i','s','t',' ','a','l','l','.','\n', +' ','c','t','r','l','-','L',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','C','o','m','p','l','e','t','e',' ','f','i','l','e','n','a','m','e',',',' ','l','i','s','t',' ','a','l','l','.','\n', '\n', '\n', 0 }; diff --git a/external/bsd/less/dist/ifile.c b/external/bsd/less/dist/ifile.c index 60ccd48b9..e98cf561f 100644 --- a/external/bsd/less/dist/ifile.c +++ b/external/bsd/less/dist/ifile.c @@ -1,13 +1,12 @@ -/* $NetBSD: ifile.c,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: ifile.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/input.c b/external/bsd/less/dist/input.c index 5df9dbaf3..579063cfa 100644 --- a/external/bsd/less/dist/input.c +++ b/external/bsd/less/dist/input.c @@ -1,13 +1,12 @@ -/* $NetBSD: input.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: input.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -418,7 +417,7 @@ get_back_line: goto get_back_line; } - if (status_col && is_hilited(base_pos, ch_tell()-1, 1, NULL)) + if (status_col && curr_pos > 0 && is_hilited(base_pos, curr_pos-1, 1, NULL)) set_status_col('*'); #endif diff --git a/external/bsd/less/dist/jump.c b/external/bsd/less/dist/jump.c index fdfc554d4..4792b992d 100644 --- a/external/bsd/less/dist/jump.c +++ b/external/bsd/less/dist/jump.c @@ -1,13 +1,12 @@ -/* $NetBSD: jump.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: jump.c,v 1.4 2013/09/04 20:02:10 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -199,7 +198,7 @@ jump_loc(pos, sline) nline -= sline; if (nline > 0) forw(nline, position(BOTTOM_PLUS_ONE), 1, 0, 0); - else + else if (nline < 0) back(-nline, position(TOP), 1, 0); #if HILITE_SEARCH if (show_attn) diff --git a/external/bsd/less/dist/less.1 b/external/bsd/less/dist/less.1 index 004c43f65..eba98eee0 100644 --- a/external/bsd/less/dist/less.1 +++ b/external/bsd/less/dist/less.1 @@ -1,4 +1,4 @@ -.TH LESS 1 "Version 444: 09 Jun 2011" +.TH LESS 1 "Version 458: 04 Apr 2013" .SH NAME less \- opposite of more .SH SYNOPSIS @@ -109,6 +109,10 @@ Normally this command would be used when already at the end of the file. It is a way to monitor the tail of a file which is growing while it is being viewed. (The behavior is similar to the "tail \-f" command.) +.IP "ESC-F" +Like F, but as soon as a line is found which matches +the last search pattern, the terminal bell is rung +and forward scrolling stops. .IP "g or < or ESC-<" Go to line N in the file, default 1 (beginning of file). (Warning: this may be slow if N is large.) @@ -451,13 +455,18 @@ If an option appears in the LESS variable, it can be reset to its default value on the command line by beginning the command line option with "\-+". .sp -For options like \-P or \-D which take a following string, -a dollar sign ($) must be used to signal the end of the string. -For example, to set two \-D options on MS-DOS, you must have -a dollar sign between them, like this: +Some options like \-k or \-D require a string to follow the option letter. +The string for that option is considered to end when a dollar sign ($) is found. +For example, you can set two \-D options on MS-DOS like this: .sp -LESS="-Dn9.1$-Ds4.1" +LESS="Dn9.1$Ds4.1" .sp +If the --use-backslash option appears earlier in the options, then +a dollar sign or backslash may be included literally in an option string +by preceding it with a backslash. +If the --use-backslash option is not in effect, then backslashes are +not treated specially, and there is no way to include a dollar sign +in the option string. .IP "\-? or \-\-help" This option displays a summary of the commands accepted by .I less @@ -761,10 +770,10 @@ This is useful when viewing output. .IP "\-S or \-\-chop-long-lines" Causes lines longer than the screen width to be -chopped rather than folded. +chopped (truncated) rather than wrapped. That is, the portion of a long line that does not fit in the screen width is not shown. -The default is to fold long lines; that is, display the remainder +The default is to wrap long lines; that is, display the remainder on the next line. .IP "\-t\fItag\fP or \-\-tag=\fItag\fP" The \-t option, followed immediately by a TAG, @@ -805,7 +814,7 @@ the overstruck text is printed using the terminal's hardware boldface capability. Other backspaces are deleted, along with the preceding character. Carriage returns immediately followed by a newline are deleted. -other carriage returns are handled as specified by the \-r option. +Other carriage returns are handled as specified by the \-r option. Text which is overstruck or underlined can be searched for if neither \-u nor \-U is in effect. .IP "\-V or \-\-version" @@ -886,11 +895,6 @@ If the number is specified as a fraction, the actual number of scroll positions is recalculated if the terminal window is resized, so that the actual scroll remains at the specified fraction of the screen width. -.IP "\-\-no-keypad" -Disables sending the keypad initialization and deinitialization strings -to the terminal. -This is sometimes useful if the keypad strings make the numeric -keypad behave in an undesirable manner. .IP "\-\-follow-name" Normally, if the input file is renamed while an F command is executing, .I less @@ -904,6 +908,16 @@ If the reopen succeeds and the file is a different file from the original with the same name as the original (now renamed) file), .I less will display the contents of that new file. +.IP "\-\-no-keypad" +Disables sending the keypad initialization and deinitialization strings +to the terminal. +This is sometimes useful if the keypad strings make the numeric +keypad behave in an undesirable manner. +.IP "\-\-use-backslash" +This option changes the interpretations of options which follow this one. +After the \-\-use-backslash option, any backslash in an option string is +removed and the following character is taken literally. +This allows a dollar sign to be included in option strings. .IP \-\- A command line argument of "\-\-" marks the end of option arguments. Any arguments following this are interpreted as filenames. @@ -963,8 +977,12 @@ Delete the word to the left of the cursor. Delete the word under the cursor. .IP "UPARROW [ ESC-k ]" Retrieve the previous command line. +If you first enter some text and then press UPARROW, +it will retrieve the previous command which begins with that text. .IP "DOWNARROW [ ESC-j ]" Retrieve the next command line. +If you first enter some text and then press DOWNARROW, +it will retrieve the next command which begins with that text. .IP "TAB" Complete the partial filename to the left of the cursor. If it matches more than one filename, the first match @@ -1157,14 +1175,33 @@ lesspipe.sh: case "$1" in .br *.Z) uncompress \-c $1 2>/dev/null +.br + *) exit 1 .br ;; .br esac +.br + exit $? .br .PP To use this script, put it where it can be executed and set LESSOPEN="|lesspipe.sh %s". +.PP +Note that a preprocessor cannot output an empty file, since that +is interpreted as meaning there is no replacement, and +the original file is used. +To avoid this, if LESSOPEN starts with two vertical bars, +the exit status of the script becomes meaningful. +If the exit status is zero, the output is considered to be +replacement text, even if it empty. +If the exit status is nonzero, any output is ignored and the +original file is used. +For compatibility with previous versions of +.I less, +if LESSOPEN starts with only one vertical bar, the exit status +of the preprocessor is ignored. +.PP When an input pipe is used, a LESSCLOSE postprocessor can be used, but it is usually not necessary since there is no replacement file to clean up. @@ -1183,7 +1220,8 @@ the preprocessor command. If standard input is being viewed, the input preprocessor is passed a file name consisting of a single dash. Similarly, if the first two characters of LESSOPEN are vertical bar and dash -(|\-), the input pipe is used on standard input as well as other files. +(|\-) or two vertical bars and a dash (||\-), +the input pipe is used on standard input as well as other files. Again, in this case the dash is not considered to be part of the input pipe command. @@ -1667,9 +1705,11 @@ Takes precedence over the number of lines specified by the TERM variable. the window system's idea of the screen size takes precedence over the LINES and COLUMNS environment variables.) .IP MORE -Options which are passed to +Options which are passed to +.I less +automatically when running in .I more -automatically. +compatible mode. .IP PATH User's search path (used to find a lesskey file on MS-DOS and OS/2 systems). @@ -1686,7 +1726,7 @@ The name of the editor (used for the v command). lesskey(1) .SH COPYRIGHT -Copyright (C) 1984-2011 Mark Nudelman +Copyright (C) 1984-2012 Mark Nudelman .PP less is part of the GNU project and is free software. You can redistribute it and/or modify it @@ -1709,9 +1749,9 @@ See the GNU General Public License for more details. .SH AUTHOR .PP -Mark Nudelman +Mark Nudelman .br -Send bug reports or comments to the above address or to bug-less@gnu.org. +Send bug reports or comments to .br See http://www.greenwoodsoftware.com/less/bugs.html for the latest list of known bugs in less. .br diff --git a/external/bsd/less/dist/less.h b/external/bsd/less/dist/less.h index 6116626da..e6b9a84be 100644 --- a/external/bsd/less/dist/less.h +++ b/external/bsd/less/dist/less.h @@ -1,13 +1,12 @@ -/* $NetBSD: less.h,v 1.3 2011/07/03 20:14:12 tron Exp $ */ +/* $NetBSD: less.h,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ #define NEWBOT 1 @@ -487,10 +486,13 @@ struct textlist #define CH_KEEPOPEN 002 #define CH_POPENED 004 #define CH_HELPFILE 010 +#define CH_NODATA 020 /* Special case for zero length files */ + #define ch_zero() ((POSITION)0) #define FAKE_HELPFILE "@/\\less/\\help/\\file/\\@" +#define FAKE_EMPTYFILE "@/\\less/\\empty/\\file/\\@" /* Flags for cvt_text */ #define CVT_TO_LC 01 /* Convert upper-case to lower-case */ diff --git a/external/bsd/less/dist/less.hlp b/external/bsd/less/dist/less.hlp index 84d951f0d..45a7fe590 100644 --- a/external/bsd/less/dist/less.hlp +++ b/external/bsd/less/dist/less.hlp @@ -3,6 +3,7 @@ Commands marked with * may be preceded by a number, _N. Notes in parentheses indicate the behavior if _N is given. + A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K. h H Display this help. q :q Q :Q ZZ Exit. @@ -40,7 +41,7 @@ ESC-u Undo (toggle) search highlighting. &_p_a_t_t_e_r_n * Display only matching lines --------------------------------------------------- - Search patterns may be modified by one or more of: + A search pattern may be preceded by one or more of: ^N or ! Search for NON-matching lines. ^E or * Search multiple files (pass thru END OF FILE). ^F or @ Start search at FIRST file (for /) or last file (for ?). @@ -106,14 +107,14 @@ Most options may be changed either on the command line, or from within less by using the - or -- command. Options may be given in one of two forms: either a single - character preceded by a -, or a name preceeded by --. + character preceded by a -, or a name preceded by --. -? ........ --help Display help (from command line). -a ........ --search-skip-screen - Forward search skips current screen. + Search skips current screen. -A ........ --SEARCH-SKIP-SCREEN - Forward search always skips target line. + Search starts just after target line. -b [_N] .... --buffers=[_N] Number of buffers. -B ........ --auto-buffers @@ -169,7 +170,7 @@ -s ........ --squeeze-blank-lines Squeeze multiple blank lines. -S ........ --chop-long-lines - Chop long lines. + Chop (truncate) long lines rather than wrapping. -t [_t_a_g] .. --tag=[_t_a_g] Find a tag. -T [_t_a_g_s_f_i_l_e] --tag-file=[_t_a_g_s_f_i_l_e] @@ -186,8 +187,6 @@ Set tab stops. -X ........ --no-init Don't use termcap init/deinit strings. - --no-keypad - Don't use termcap keypad init/deinit strings. -y [_N] .... --max-forw-scroll=[_N] Forward scroll limit. -z [_N] .... --window=[_N] @@ -199,7 +198,7 @@ -# [_N] .... --shift=[_N] Horizontal scroll amount (0 = one half screen width) ........ --no-keypad - Don't send keypad init/deinit sequence. + Don't send termcap keypad init/deinit strings. ........ --follow-name The F command changes files if the input file is renamed. @@ -213,19 +212,19 @@ RightArrow ESC-l Move cursor right one character. LeftArrow ESC-h Move cursor left one character. - CNTL-RightArrow ESC-RightArrow ESC-w Move cursor right one word. - CNTL-LeftArrow ESC-LeftArrow ESC-b Move cursor left one word. + ctrl-RightArrow ESC-RightArrow ESC-w Move cursor right one word. + ctrl-LeftArrow ESC-LeftArrow ESC-b Move cursor left one word. HOME ESC-0 Move cursor to start of line. END ESC-$ Move cursor to end of line. BACKSPACE Delete char to left of cursor. DELETE ESC-x Delete char under cursor. - CNTL-BACKSPACE ESC-BACKSPACE Delete word to left of cursor. - CNTL-DELETE ESC-DELETE ESC-X Delete word under cursor. - CNTL-U ESC (MS-DOS only) Delete entire line. + ctrl-BACKSPACE ESC-BACKSPACE Delete word to left of cursor. + ctrl-DELETE ESC-DELETE ESC-X Delete word under cursor. + ctrl-U ESC (MS-DOS only) Delete entire line. UpArrow ESC-k Retrieve previous command line. DownArrow ESC-j Retrieve next command line. TAB Complete filename & cycle. SHIFT-TAB ESC-TAB Complete filename & reverse cycle. - CNTL-L Complete filename, list all. + ctrl-L Complete filename, list all. diff --git a/external/bsd/less/dist/lessecho.1 b/external/bsd/less/dist/lessecho.1 index 46540e8bc..d7fb39099 100644 --- a/external/bsd/less/dist/lessecho.1 +++ b/external/bsd/less/dist/lessecho.1 @@ -1,4 +1,4 @@ -.TH LESSECHO 1 "Version 444: 09 Jun 2011" +.TH LESSECHO 1 "Version 458: 04 Apr 2013" .SH NAME lessecho \- expand metacharacters .SH SYNOPSIS @@ -7,12 +7,19 @@ lessecho \- expand metacharacters .SH "DESCRIPTION" .I lessecho is a program that simply echos its arguments on standard output. -But any argument containing spaces is enclosed in quotes. +But any metacharacter in the output is preceded by an "escape" +character, which by default is a backslash. .SH OPTIONS A summary of options is included below. .TP +.B \-ex +Specifies "x", rather than backslash, to be the escape char for metachars. +If x is "-", no escape char is used and arguments containing metachars +are surrounded by quotes instead. +.TP .B \-ox -Specifies "x" to be the open quote character. +Specifies "x", rather than double-quote, to be the open quote character, +which is used if the -e- option is specified. .TP .B \-cx Specifies "x" to be the close quote character. @@ -25,19 +32,17 @@ Specifies "n" to be the close quote character, as an integer. .TP .B \-mx Specifies "x" to be a metachar. +By default, no characters are considered metachars. .TP .B \-nn Specifies "n" to be a metachar, as an integer. .TP -.B \-ex -Specifies "x" to be the escape char for metachars. -.TP .B \-fn Specifies "n" to be the escape char for metachars, as an integer. .TP .B \-a Specifies that all arguments are to be quoted. -The default is that only arguments containing spaces are quoted. +The default is that only arguments containing metacharacters are quoted .SH "SEE ALSO" less(1) .SH AUTHOR diff --git a/external/bsd/less/dist/lessecho.c b/external/bsd/less/dist/lessecho.c index 9faddd74f..b88878273 100644 --- a/external/bsd/less/dist/lessecho.c +++ b/external/bsd/less/dist/lessecho.c @@ -1,13 +1,12 @@ -/* $NetBSD: lessecho.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: lessecho.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -30,7 +29,7 @@ #include "less.h" -static char *version = "$Revision: 1.3 $"; +static char *version = "Revision: 1.3"; static int quote_all = 0; static char openquote = '"'; diff --git a/external/bsd/less/dist/lesskey.1 b/external/bsd/less/dist/lesskey.1 index d305b957c..2bbd88785 100644 --- a/external/bsd/less/dist/lesskey.1 +++ b/external/bsd/less/dist/lesskey.1 @@ -1,4 +1,4 @@ -.TH LESSKEY 1 "Version 444: 09 Jun 2011" +.TH LESSKEY 1 "Version 458: 04 Apr 2013" .SH NAME lesskey \- specify key bindings for less .SH SYNOPSIS @@ -162,6 +162,7 @@ default command keys used by less: w back-window \ee\e40 forw-screen-force F forw-forever + \eeF forw-until-hilite R repaint-flush r repaint ^R repaint @@ -355,7 +356,7 @@ which start with a NUL character (0). This NUL character should be represented as \e340 in a lesskey file. .SH COPYRIGHT -Copyright (C) 2000-2011 Mark Nudelman +Copyright (C) 2000-2012 Mark Nudelman .PP lesskey is part of the GNU project and is free software; you can redistribute it and/or modify it @@ -375,7 +376,6 @@ Suite 330, Boston, MA 02111-1307, USA. .SH AUTHOR .PP -Mark Nudelman +Mark Nudelman .br -Send bug reports or comments to the above address or to bug-less@gnu.org. - +Send bug reports or comments to bug-less@gnu.org. diff --git a/external/bsd/less/dist/lesskey.c b/external/bsd/less/dist/lesskey.c index 8a0c23c5a..a6965c48c 100644 --- a/external/bsd/less/dist/lesskey.c +++ b/external/bsd/less/dist/lesskey.c @@ -1,13 +1,12 @@ -/* $NetBSD: lesskey.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: lesskey.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -114,6 +113,7 @@ struct cmdname cmdnames[] = { "flush-repaint", A_FREPAINT }, { "forw-bracket", A_F_BRACKET }, { "forw-forever", A_F_FOREVER }, + { "forw-until-hilite", A_F_UNTIL_HILITE }, { "forw-line", A_F_LINE }, { "forw-line-force", A_FF_LINE }, { "forw-screen", A_F_SCREEN }, @@ -453,7 +453,7 @@ tstr(pp, xlate) } case '^': /* - * Carat means CONTROL. + * Caret means CONTROL. */ *pp = p+2; buf[0] = CONTROL(p[1]); diff --git a/external/bsd/less/dist/lesskey.h b/external/bsd/less/dist/lesskey.h index 5e27338a3..0fe7a03de 100644 --- a/external/bsd/less/dist/lesskey.h +++ b/external/bsd/less/dist/lesskey.h @@ -1,13 +1,12 @@ -/* $NetBSD: lesskey.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: lesskey.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/lglob.h b/external/bsd/less/dist/lglob.h index 8507e266e..04632e79f 100644 --- a/external/bsd/less/dist/lglob.h +++ b/external/bsd/less/dist/lglob.h @@ -1,13 +1,12 @@ -/* $NetBSD: lglob.h,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: lglob.h,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/line.c b/external/bsd/less/dist/line.c index be766a648..b4d5719e0 100644 --- a/external/bsd/less/dist/line.c +++ b/external/bsd/less/dist/line.c @@ -1,13 +1,12 @@ -/* $NetBSD: line.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: line.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -29,6 +28,7 @@ public int hshift; /* Desired left-shift of output line buffer */ public int tabstops[TABSTOP_MAX] = { 0 }; /* Custom tabstops */ public int ntabstops = 1; /* Number of tabstops */ public int tabdefault = 8; /* Default repeated tabstops */ +public POSITION highest_hilite; /* Pos of last hilite in file found so far */ static int curr; /* Index into linebuf */ static int column; /* Printable length, accounting for @@ -586,7 +586,12 @@ store_char(ch, a, rep, pos) * Override the attribute passed in. */ if (a != AT_ANSI) + { + if (highest_hilite != NULL_POSITION && + pos > highest_hilite) + highest_hilite = pos; a |= AT_HILITE; + } } } #endif diff --git a/external/bsd/less/dist/linenum.c b/external/bsd/less/dist/linenum.c index ce0823b67..976ff62b4 100644 --- a/external/bsd/less/dist/linenum.c +++ b/external/bsd/less/dist/linenum.c @@ -1,13 +1,12 @@ -/* $NetBSD: linenum.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: linenum.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/lsystem.c b/external/bsd/less/dist/lsystem.c index de476a348..9ee7fa560 100644 --- a/external/bsd/less/dist/lsystem.c +++ b/external/bsd/less/dist/lsystem.c @@ -1,13 +1,12 @@ -/* $NetBSD: lsystem.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: lsystem.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/main.c b/external/bsd/less/dist/main.c index be5b1976d..b1c40c295 100644 --- a/external/bsd/less/dist/main.c +++ b/external/bsd/less/dist/main.c @@ -1,13 +1,12 @@ -/* $NetBSD: main.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: main.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -217,6 +216,7 @@ main(argc, argv) argv++; (void) get_ifile(filename, ifile); ifile = prev_ifile(NULL_IFILE); + free(filename); #endif } /* diff --git a/external/bsd/less/dist/mark.c b/external/bsd/less/dist/mark.c index f0301a2b2..bb603517d 100644 --- a/external/bsd/less/dist/mark.c +++ b/external/bsd/less/dist/mark.c @@ -1,13 +1,12 @@ -/* $NetBSD: mark.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: mark.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/mkhelp.c b/external/bsd/less/dist/mkhelp.c index fdb084221..eeba9ed84 100644 --- a/external/bsd/less/dist/mkhelp.c +++ b/external/bsd/less/dist/mkhelp.c @@ -1,13 +1,12 @@ -/* $NetBSD: mkhelp.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: mkhelp.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/optfunc.c b/external/bsd/less/dist/optfunc.c index 358c6a36f..bc6fe590d 100644 --- a/external/bsd/less/dist/optfunc.c +++ b/external/bsd/less/dist/optfunc.c @@ -1,13 +1,12 @@ -/* $NetBSD: optfunc.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: optfunc.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -483,7 +482,30 @@ opt__V(type, s) any_display = 1; putstr("less "); putstr(version); - putstr("\nCopyright (C) 1984-2009 Mark Nudelman\n\n"); + putstr(" ("); +#if HAVE_GNU_REGEX + putstr("GNU "); +#endif +#if HAVE_POSIX_REGCOMP + putstr("POSIX "); +#endif +#if HAVE_PCRE + putstr("PCRE "); +#endif +#if HAVE_RE_COMP + putstr("BSD "); +#endif +#if HAVE_REGCMP + putstr("V8 "); +#endif +#if HAVE_V8_REGCOMP + putstr("Spencer V8 "); +#endif +#if !HAVE_GNU_REGEX && !HAVE_POSIX_REGCOMP && !HAVE_PCRE && !HAVE_RE_COMP && !HAVE_REGCMP && !HAVE_V8_REGCOMP + putstr("no "); +#endif + putstr("regular expressions)\n"); + putstr("Copyright (C) 1984-2012 Mark Nudelman\n\n"); putstr("less comes with NO WARRANTY, to the extent permitted by law.\n"); putstr("For information about the terms of redistribution,\n"); putstr("see the file named README in the less distribution.\n"); diff --git a/external/bsd/less/dist/option.c b/external/bsd/less/dist/option.c index 7e94da9a7..f94a442a8 100644 --- a/external/bsd/less/dist/option.c +++ b/external/bsd/less/dist/option.c @@ -1,13 +1,12 @@ -/* $NetBSD: option.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: option.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -34,6 +33,7 @@ extern int screen_trashed; extern int less_is_more; extern int quit_at_eof; extern char *every_first_cmd; +extern int opt_use_backslash; /* * Return a printable description of an option. @@ -150,10 +150,13 @@ scan_option(s) */ plusoption = TRUE; s = optstring(s, &str, propt('+'), NULL); + if (s == NULL) + return; if (*str == '+') - every_first_cmd = save(++str); + every_first_cmd = save(str+1); else ungetsc(str); + free(str); continue; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': @@ -206,7 +209,7 @@ scan_option(s) parg.p_string = printopt; error("The %s option should not be followed by =", &parg); - quit(QUIT_ERROR); + return; } s++; } else @@ -227,7 +230,7 @@ scan_option(s) else error("There is no %s option (\"less --help\" for help)", &parg); - quit(QUIT_ERROR); + return; } str = NULL; @@ -264,6 +267,8 @@ scan_option(s) while (*s == ' ') s++; s = optstring(s, &str, printopt, o->odesc[1]); + if (s == NULL) + return; break; case NUMBER: if (*s == '\0') @@ -279,6 +284,8 @@ scan_option(s) */ if (o->ofunc != NULL) (*o->ofunc)(INIT, str); + if (str != NULL) + free(str); } } @@ -564,35 +571,33 @@ optstring(s, p_str, printopt, validchars) char *validchars; { register char *p; + register char *out; if (*s == '\0') { nostring(printopt); - quit(QUIT_ERROR); + return (NULL); } - *p_str = s; + /* Alloc could be more than needed, but not worth trimming. */ + *p_str = (char *) ecalloc(strlen(s)+1, sizeof(char)); + out = *p_str; + for (p = s; *p != '\0'; p++) { - if (*p == END_OPTION_STRING || - (validchars != NULL && strchr(validchars, *p) == NULL)) + if (opt_use_backslash && *p == '\\' && p[1] != '\0') { - switch (*p) - { - case END_OPTION_STRING: - case ' ': case '\t': case '-': - /* Replace the char with a null to terminate string. */ - *p++ = '\0'; + /* Take next char literally. */ + ++p; + } else + { + if (*p == END_OPTION_STRING || + (validchars != NULL && strchr(validchars, *p) == NULL)) + /* End of option string. */ break; - default: - /* Cannot replace char; make a copy of the string. */ - *p_str = (char *) ecalloc(p-s+1, sizeof(char)); - strncpy(*p_str, s, p-s); - (*p_str)[p-s] = '\0'; - break; - } - break; } + *out++ = *p; } + *out = '\0'; return (p); } @@ -615,8 +620,6 @@ num_error(printopt, errp) parg.p_string = printopt; error("Number is required after %s", &parg); } - quit(QUIT_ERROR); - /* NOTREACHED */ return (-1); } diff --git a/external/bsd/less/dist/option.h b/external/bsd/less/dist/option.h index 2ce552a34..eaa8d6fbd 100644 --- a/external/bsd/less/dist/option.h +++ b/external/bsd/less/dist/option.h @@ -1,13 +1,12 @@ -/* $NetBSD: option.h,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: option.h,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/opttbl.c b/external/bsd/less/dist/opttbl.c index c3444822c..5d6ffcd54 100644 --- a/external/bsd/less/dist/opttbl.c +++ b/external/bsd/less/dist/opttbl.c @@ -1,13 +1,12 @@ -/* $NetBSD: opttbl.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: opttbl.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -56,6 +55,7 @@ public int use_lessopen; /* Use the LESSOPEN filter */ public int quit_on_intr; /* Quit on interrupt */ public int follow_mode; /* F cmd Follows file desc or file name? */ public int oldbot; /* Old bottom of screen behavior {{REMOVE}} */ +public int opt_use_backslash; /* Use backslash escaping in option parsing */ #if HILITE_SEARCH public int hilite_search; /* Highlight matched search patterns? */ #endif @@ -119,6 +119,7 @@ static struct optname pound_optname = { "shift", NULL }; static struct optname keypad_optname = { "no-keypad", NULL }; static struct optname oldbot_optname = { "old-bot", NULL }; static struct optname follow_optname = { "follow-name", NULL }; +static struct optname use_backslash_optname = { "use-backslash", NULL }; /* @@ -458,6 +459,14 @@ static struct loption option[] = NULL } }, + { OLETTER_NONE, &use_backslash_optname, + BOOL, OPT_OFF, &opt_use_backslash, NULL, + { + "Use backslash escaping in command line parameters", + "Don't use backslash escaping in command line parameters", + NULL + } + }, { '\0', NULL, NOVAR, 0, NULL, NULL, { NULL, NULL, NULL } } }; diff --git a/external/bsd/less/dist/os.c b/external/bsd/less/dist/os.c index 59fcc23e0..676a98693 100644 --- a/external/bsd/less/dist/os.c +++ b/external/bsd/less/dist/os.c @@ -1,13 +1,12 @@ -/* $NetBSD: os.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: os.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/output.c b/external/bsd/less/dist/output.c index 27587af65..954769faf 100644 --- a/external/bsd/less/dist/output.c +++ b/external/bsd/less/dist/output.c @@ -1,13 +1,12 @@ -/* $NetBSD: output.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: output.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -176,6 +175,7 @@ flush() */ p++; anchor = p_next = p; + at = 0; WIN32setcolors(nm_fg_color, nm_bg_color); continue; } @@ -274,20 +274,33 @@ flush() break; if (at & 1) { + /* + * If \e[1m use defined bold + * color, else set intensity. + */ + if (p[-2] == '[') + { +#if MSDOS_COMPILER==WIN32C + fg |= FOREGROUND_INTENSITY; + bg |= BACKGROUND_INTENSITY; +#else fg = bo_fg_color; bg = bo_bg_color; +#endif + } else + fg |= 8; } else if (at & 2) { - fg = so_fg_color; - bg = so_bg_color; + fg = so_fg_color; + bg = so_bg_color; } else if (at & 4) { - fg = ul_fg_color; - bg = ul_bg_color; + fg = ul_fg_color; + bg = ul_bg_color; } else if (at & 8) { - fg = bl_fg_color; - bg = bl_bg_color; + fg = bl_fg_color; + bg = bl_bg_color; } fg &= 0xf; bg &= 0xf; diff --git a/external/bsd/less/dist/pattern.c b/external/bsd/less/dist/pattern.c index dae0d8e98..db82076c0 100644 --- a/external/bsd/less/dist/pattern.c +++ b/external/bsd/less/dist/pattern.c @@ -1,13 +1,12 @@ -/* $NetBSD: pattern.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: pattern.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ /* @@ -28,75 +27,92 @@ compile_pattern2(pattern, search_type, comp_pattern) int search_type; void **comp_pattern; { - if ((search_type & SRCH_NO_REGEX) == 0) + if (search_type & SRCH_NO_REGEX) + return (0); + { +#if HAVE_GNU_REGEX + struct re_pattern_buffer *comp = (struct re_pattern_buffer *) + ecalloc(1, sizeof(struct re_pattern_buffer)); + struct re_pattern_buffer **pcomp = + (struct re_pattern_buffer **) comp_pattern; + re_set_syntax(RE_SYNTAX_POSIX_EXTENDED); + if (re_compile_pattern(pattern, strlen(pattern), comp)) { + free(comp); + error("Invalid pattern", NULL_PARG); + return (-1); + } + if (*pcomp != NULL) + regfree(*pcomp); + *pcomp = comp; +#endif #if HAVE_POSIX_REGCOMP - regex_t *comp = (regex_t *) ecalloc(1, sizeof(regex_t)); - regex_t **pcomp = (regex_t **) comp_pattern; - if (regcomp(comp, pattern, REGCOMP_FLAG)) - { - free(comp); - error("Invalid pattern", NULL_PARG); - return (-1); - } - if (*pcomp != NULL) - regfree(*pcomp); - *pcomp = comp; + regex_t *comp = (regex_t *) ecalloc(1, sizeof(regex_t)); + regex_t **pcomp = (regex_t **) comp_pattern; + if (regcomp(comp, pattern, REGCOMP_FLAG)) + { + free(comp); + error("Invalid pattern", NULL_PARG); + return (-1); + } + if (*pcomp != NULL) + regfree(*pcomp); + *pcomp = comp; #endif #if HAVE_PCRE - pcre *comp; - pcre **pcomp = (pcre **) comp_pattern; - const char *errstring; - int erroffset; - PARG parg; - comp = pcre_compile(pattern, 0, - &errstring, &erroffset, NULL); - if (comp == NULL) - { - parg.p_string = (char *) errstring; - error("%s", &parg); - return (-1); - } - *pcomp = comp; + pcre *comp; + pcre **pcomp = (pcre **) comp_pattern; + constant char *errstring; + int erroffset; + PARG parg; + comp = pcre_compile(pattern, 0, + &errstring, &erroffset, NULL); + if (comp == NULL) + { + parg.p_string = (char *) errstring; + error("%s", &parg); + return (-1); + } + *pcomp = comp; #endif #if HAVE_RE_COMP - PARG parg; - int *pcomp = (int *) comp_pattern; - if ((parg.p_string = re_comp(pattern)) != NULL) - { - error("%s", &parg); - return (-1); - } - *pcomp = 1; + PARG parg; + int *pcomp = (int *) comp_pattern; + if ((parg.p_string = re_comp(pattern)) != NULL) + { + error("%s", &parg); + return (-1); + } + *pcomp = 1; #endif #if HAVE_REGCMP - char *comp; - char **pcomp = (char **) comp_pattern; - if ((comp = regcmp(pattern, 0)) == NULL) - { - error("Invalid pattern", NULL_PARG); - return (-1); - } - if (pcomp != NULL) - free(*pcomp); - *pcomp = comp; + char *comp; + char **pcomp = (char **) comp_pattern; + if ((comp = regcmp(pattern, 0)) == NULL) + { + error("Invalid pattern", NULL_PARG); + return (-1); + } + if (pcomp != NULL) + free(*pcomp); + *pcomp = comp; #endif #if HAVE_V8_REGCOMP - struct regexp *comp; - struct regexp **pcomp = (struct regexp **) comp_pattern; - if ((comp = regcomp(pattern)) == NULL) - { - /* - * regcomp has already printed an error message - * via regerror(). - */ - return (-1); - } - if (*pcomp != NULL) - free(*pcomp); - *pcomp = comp; -#endif + struct regexp *comp; + struct regexp **pcomp = (struct regexp **) comp_pattern; + if ((comp = regcomp(pattern)) == NULL) + { + /* + * regcomp has already printed an error message + * via regerror(). + */ + return (-1); } + if (*pcomp != NULL) + free(*pcomp); + *pcomp = comp; +#endif + } return (0); } @@ -132,6 +148,12 @@ compile_pattern(pattern, search_type, comp_pattern) uncompile_pattern(pattern) void **pattern; { +#if HAVE_GNU_REGEX + struct re_pattern_buffer **pcomp = (struct re_pattern_buffer **) pattern; + if (*pcomp != NULL) + regfree(*pcomp); + *pcomp = NULL; +#endif #if HAVE_POSIX_REGCOMP regex_t **pcomp = (regex_t **) pattern; if (*pcomp != NULL) @@ -169,6 +191,9 @@ uncompile_pattern(pattern) is_null_pattern(pattern) void *pattern; { +#if HAVE_GNU_REGEX + return (pattern == NULL); +#endif #if HAVE_POSIX_REGCOMP return (pattern == NULL); #endif @@ -184,9 +209,6 @@ is_null_pattern(pattern) #if HAVE_V8_REGCOMP return (pattern == NULL); #endif -#if NO_REGEX - return (search_pattern != NULL); -#endif } /* @@ -238,6 +260,9 @@ match_pattern(pattern, tpattern, line, line_len, sp, ep, notbol, search_type) int search_type; { int matched; +#if HAVE_GNU_REGEX + struct re_pattern_buffer *spattern = (struct re_pattern_buffer *) pattern; +#endif #if HAVE_POSIX_REGCOMP regex_t *spattern = (regex_t *) pattern; #endif @@ -254,10 +279,30 @@ match_pattern(pattern, tpattern, line, line_len, sp, ep, notbol, search_type) struct regexp *spattern = (struct regexp *) pattern; #endif +#if NO_REGEX + search_type |= SRCH_NO_REGEX; +#endif if (search_type & SRCH_NO_REGEX) matched = match(tpattern, strlen(tpattern), line, line_len, sp, ep); else { +#if HAVE_GNU_REGEX + { + struct re_registers search_regs; + regoff_t *starts = (regoff_t *) ecalloc(1, sizeof (regoff_t)); + regoff_t *ends = (regoff_t *) ecalloc(1, sizeof (regoff_t)); + spattern->not_bol = notbol; + re_set_registers(spattern, &search_regs, 1, starts, ends); + matched = re_search(spattern, line, line_len, 0, line_len, &search_regs) >= 0; + if (matched) + { + *sp = line + search_regs.start[0]; + *ep = line + search_regs.end[0]; + } + free(starts); + free(ends); + } +#endif #if HAVE_POSIX_REGCOMP { regmatch_t rm; @@ -312,9 +357,6 @@ match_pattern(pattern, tpattern, line, line_len, sp, ep, notbol, search_type) *sp = spattern->startp[0]; *ep = spattern->endp[0]; } -#endif -#if NO_REGEX - matched = match(tpattern, strlen(tpattern), line, line_len, sp, ep); #endif } matched = (!(search_type & SRCH_NO_MATCH) && matched) || diff --git a/external/bsd/less/dist/pattern.h b/external/bsd/less/dist/pattern.h index 4930e641e..f7b66f8c0 100644 --- a/external/bsd/less/dist/pattern.h +++ b/external/bsd/less/dist/pattern.h @@ -1,15 +1,21 @@ -/* $NetBSD: pattern.h,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: pattern.h,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ +#if HAVE_GNU_REGEX +#define __USE_GNU 1 +#include +#define DEFINE_PATTERN(name) struct re_pattern_buffer *name +#define CLEAR_PATTERN(name) name = NULL +#endif + #if HAVE_POSIX_REGCOMP #include #ifdef REG_EXTENDED @@ -49,3 +55,7 @@ extern char *__loc1; #define CLEAR_PATTERN(name) name = NULL #endif +#if NO_REGEX +#define DEFINE_PATTERN(name) +#define CLEAR_PATTERN(name) +#endif diff --git a/external/bsd/less/dist/pckeys.h b/external/bsd/less/dist/pckeys.h index acbed0c56..37eae5c53 100644 --- a/external/bsd/less/dist/pckeys.h +++ b/external/bsd/less/dist/pckeys.h @@ -1,13 +1,12 @@ -/* $NetBSD: pckeys.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: pckeys.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/position.c b/external/bsd/less/dist/position.c index 94a554523..a3a70de60 100644 --- a/external/bsd/less/dist/position.c +++ b/external/bsd/less/dist/position.c @@ -1,13 +1,12 @@ -/* $NetBSD: position.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: position.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -166,7 +165,7 @@ empty_lines(s, e) register int i; for (i = s; i <= e; i++) - if (table[i] != NULL_POSITION) + if (table[i] != NULL_POSITION && table[i] != 0) return (0); return (1); } diff --git a/external/bsd/less/dist/position.h b/external/bsd/less/dist/position.h index 20d19b3c0..42c78180d 100644 --- a/external/bsd/less/dist/position.h +++ b/external/bsd/less/dist/position.h @@ -1,13 +1,12 @@ -/* $NetBSD: position.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: position.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/prompt.c b/external/bsd/less/dist/prompt.c index de265a17e..56b4d3287 100644 --- a/external/bsd/less/dist/prompt.c +++ b/external/bsd/less/dist/prompt.c @@ -1,13 +1,12 @@ -/* $NetBSD: prompt.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: prompt.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -407,9 +406,9 @@ protochar(c, where, iseditproto) * where to resume parsing the string. * We must keep track of nested IFs and skip them properly. */ - static const char * + static constant char * skipcond(p) - register const char *p; + register constant char *p; { register int iflevel; @@ -465,9 +464,9 @@ skipcond(p) /* * Decode a char that represents a position on the screen. */ - static const char * + static constant char * wherechar(p, wp) - const char *p; + char constant *p; int *wp; { switch (*p) @@ -491,10 +490,10 @@ wherechar(p, wp) */ public char * pr_expand(proto, maxwidth) - const char *proto; + constant char *proto; int maxwidth; { - register const char *p; + register constant char *p; register int c; int where; diff --git a/external/bsd/less/dist/regexp.c b/external/bsd/less/dist/regexp.c index 927910051..3d2de38fe 100644 --- a/external/bsd/less/dist/regexp.c +++ b/external/bsd/less/dist/regexp.c @@ -1,4 +1,4 @@ -/* $NetBSD: regexp.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: regexp.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* * regcomp and regexec -- regsub and regerror are elsewhere diff --git a/external/bsd/less/dist/regexp.h b/external/bsd/less/dist/regexp.h index 783d2804a..f7d8ea6c1 100644 --- a/external/bsd/less/dist/regexp.h +++ b/external/bsd/less/dist/regexp.h @@ -1,4 +1,4 @@ -/* $NetBSD: regexp.h,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: regexp.h,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* * Definitions etc. for regexp(3) routines. diff --git a/external/bsd/less/dist/screen.c b/external/bsd/less/dist/screen.c index e323a3b98..1fcba4896 100644 --- a/external/bsd/less/dist/screen.c +++ b/external/bsd/less/dist/screen.c @@ -1,13 +1,12 @@ -/* $NetBSD: screen.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: screen.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -808,7 +807,7 @@ scrsize() else if ((n = ltgetnum("li")) > 0) sc_height = n; #endif - else + if (sc_height <= 0) sc_height = DEF_SC_HEIGHT; if (sys_width > 0) @@ -819,7 +818,7 @@ scrsize() else if ((n = ltgetnum("co")) > 0) sc_width = n; #endif - else + if (sc_width <= 0) sc_width = DEF_SC_WIDTH; } diff --git a/external/bsd/less/dist/scrsize.c b/external/bsd/less/dist/scrsize.c index 5ec7bd7ff..80214a584 100644 --- a/external/bsd/less/dist/scrsize.c +++ b/external/bsd/less/dist/scrsize.c @@ -1,13 +1,12 @@ -/* $NetBSD: scrsize.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: scrsize.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ /* diff --git a/external/bsd/less/dist/search.c b/external/bsd/less/dist/search.c index 6e65240f3..210855da1 100644 --- a/external/bsd/less/dist/search.c +++ b/external/bsd/less/dist/search.c @@ -1,13 +1,12 @@ -/* $NetBSD: search.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: search.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -68,6 +67,12 @@ struct pattern_info { char* text; int search_type; }; + +#if NO_REGEX +#define info_compiled(info) ((void*)0) +#else +#define info_compiled(info) ((info)->compiled) +#endif static struct pattern_info search_info; static struct pattern_info filter_info; @@ -100,10 +105,12 @@ set_pattern(info, pattern, search_type) char *pattern; int search_type; { +#if !NO_REGEX if (pattern == NULL) - CLEAR_PATTERN(search_info.compiled); + CLEAR_PATTERN(info->compiled); else if (compile_pattern(pattern, search_type, &info->compiled) < 0) return -1; +#endif /* Pattern compiled successfully; save the text too. */ if (info->text != NULL) free(info->text); @@ -137,7 +144,9 @@ clear_pattern(info) if (info->text != NULL) free(info->text); info->text = NULL; +#if !NO_REGEX uncompile_pattern(&info->compiled); +#endif } /* @@ -193,9 +202,11 @@ get_cvt_ops() prev_pattern(info) struct pattern_info *info; { - if (info->search_type & SRCH_NO_REGEX) - return (info->text != NULL); - return (!is_null_pattern(info->compiled)); +#if !NO_REGEX + if ((info->search_type & SRCH_NO_REGEX) == 0) + return (!is_null_pattern(info->compiled)); +#endif + return (info->text != NULL); } #if HILITE_SEARCH @@ -477,6 +488,47 @@ add_hilite(anchor, hl) ihl->hl_next = hl; } +/* + * Hilight every character in a range of displayed characters. + */ + static void +create_hilites(linepos, start_index, end_index, chpos) + POSITION linepos; + int start_index; + int end_index; + int *chpos; +{ + struct hilite *hl; + int i; + + /* Start the first hilite. */ + hl = (struct hilite *) ecalloc(1, sizeof(struct hilite)); + hl->hl_startpos = linepos + chpos[start_index]; + + /* + * Step through the displayed chars. + * If the source position (before cvt) of the char is one more + * than the source pos of the previous char (the usual case), + * just increase the size of the current hilite by one. + * Otherwise (there are backspaces or something involved), + * finish the current hilite and start a new one. + */ + for (i = start_index+1; i <= end_index; i++) + { + if (chpos[i] != chpos[i-1] + 1 || i == end_index) + { + hl->hl_endpos = linepos + chpos[i-1] + 1; + add_hilite(&hilite_anchor, hl); + /* Start new hilite unless this is the last char. */ + if (i < end_index) + { + hl = (struct hilite *) ecalloc(1, sizeof(struct hilite)); + hl->hl_startpos = linepos + chpos[i]; + } + } + } +} + /* * Make a hilite for each string in a physical line which matches * the current pattern. @@ -494,7 +546,6 @@ hilite_line(linepos, line, line_len, chpos, sp, ep, cvt_ops) { char *searchp; char *line_end = line + line_len; - struct hilite *hl; if (sp == NULL || ep == NULL) return; @@ -510,13 +561,7 @@ hilite_line(linepos, line, line_len, chpos, sp, ep, cvt_ops) */ searchp = line; do { - if (ep > sp) - { - hl = (struct hilite *) ecalloc(1, sizeof(struct hilite)); - hl->hl_startpos = linepos + chpos[sp-line]; - hl->hl_endpos = linepos + chpos[ep-line]; - add_hilite(&hilite_anchor, hl); - } + create_hilites(linepos, sp-line, ep-line, chpos); /* * If we matched more than zero characters, * move to the first char after the string we matched. @@ -528,7 +573,7 @@ hilite_line(linepos, line, line_len, chpos, sp, ep, cvt_ops) searchp++; else /* end of line */ break; - } while (match_pattern(search_info.compiled, search_info.text, + } while (match_pattern(info_compiled(&search_info), search_info.text, searchp, line_end - searchp, &sp, &ep, 1, search_info.search_type)); } #endif @@ -800,7 +845,7 @@ search_range(pos, endpos, search_type, matches, maxlines, plinepos, pendpos) * If so, add an entry to the filter list. */ if ((search_type & SRCH_FIND_ALL) && prev_pattern(&filter_info)) { - int line_filter = match_pattern(filter_info.compiled, filter_info.text, + int line_filter = match_pattern(info_compiled(&filter_info), filter_info.text, cline, line_len, &sp, &ep, 0, filter_info.search_type); if (line_filter) { @@ -820,7 +865,7 @@ search_range(pos, endpos, search_type, matches, maxlines, plinepos, pendpos) */ if (prev_pattern(&search_info)) { - line_match = match_pattern(search_info.compiled, search_info.text, + line_match = match_pattern(info_compiled(&search_info), search_info.text, cline, line_len, &sp, &ep, 0, search_type); if (line_match) { diff --git a/external/bsd/less/dist/signal.c b/external/bsd/less/dist/signal.c index d6b81b6e1..a37f776df 100644 --- a/external/bsd/less/dist/signal.c +++ b/external/bsd/less/dist/signal.c @@ -1,13 +1,12 @@ -/* $NetBSD: signal.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: signal.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/tags.c b/external/bsd/less/dist/tags.c index e827b3b0d..f21ad68af 100644 --- a/external/bsd/less/dist/tags.c +++ b/external/bsd/less/dist/tags.c @@ -1,13 +1,12 @@ -/* $NetBSD: tags.c,v 1.3 2011/07/03 20:14:13 tron Exp $ */ +/* $NetBSD: tags.c,v 1.4 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/ttyin.c b/external/bsd/less/dist/ttyin.c index b4c940d39..b7c8584f2 100644 --- a/external/bsd/less/dist/ttyin.c +++ b/external/bsd/less/dist/ttyin.c @@ -1,13 +1,12 @@ -/* $NetBSD: ttyin.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: ttyin.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ diff --git a/external/bsd/less/dist/version.c b/external/bsd/less/dist/version.c index 14ef4670e..1bc23b4ce 100644 --- a/external/bsd/less/dist/version.c +++ b/external/bsd/less/dist/version.c @@ -1,13 +1,12 @@ -/* $NetBSD: version.c,v 1.2 2011/07/03 19:51:26 tron Exp $ */ +/* $NetBSD: version.c,v 1.3 2013/09/04 19:44:21 tron Exp $ */ /* - * Copyright (C) 1984-2011 Mark Nudelman + * Copyright (C) 1984-2012 Mark Nudelman * * You may distribute under the terms of either the GNU General Public * License or the Less License, as specified in the README file. * - * For more information about less, or for information on how to - * contact the author, see the README file. + * For more information, see the README file. */ @@ -345,7 +344,7 @@ v201 7/27/94 Check for no memcpy; add casts to calloc; look for regcmp in libgen.a. (thanks to Kaveh Ghazi). v202 7/28/94 Fix bug in edit_next/edit_prev with - non-existant files. + non-existent files. v203 8/2/94 Fix a variety of configuration bugs on various systems. (thanks to Sakai Kiyotaka, Harald Koenig, Bjorn Brox, @@ -745,6 +744,26 @@ v442 3/2/11 Fix search bug. Add ctrl-G line edit command. v443 4/9/11 Fix Windows build. v444 6/8/11 Fix ungetc bug; remove vestiges of obsolete -l option. +----------------------------------------------------------------- +v445 10/19/11 Fix hilite bug in backwards scroll with -J. + Fix hilite bug with backspaces. + Fix bugs handling SGR sequences in Win32 (thanks to Eric Lee). + Add support for GNU regex (thanks to Reuben Thomas). +v446 5/15/12 Up/down arrows in cmd editing search for matching cmd. +v447 5/21/12 Add ESC-F command, two-pipe LESSOPEN syntax. +v448 6/15/12 Print name of regex library in version message. +v449 6/23/12 Allow config option --with-regex=none. +v450 7/4/12 Fix EOF bug with ESC-F. +v451 7/20/12 Fix typo. +----------------------------------------------------------------- +v452 10/19/12 Fix --with-regex=none, fix "stty 0", fix Win32. + Don't quit if errors in cmd line options. +v453 10/27/12 Increase buffer sizes. +v454 11/5/12 Fix typo. +v455 11/5/12 Fix typo. +v456 11/8/12 Fix option string incompatibility. +v457 12/8/12 Use new option string syntax only after --use-backslash. +v458 4/4/13 Fix display bug in using up/down in cmd buffer. */ -char version[] = "444"; +char version[] = "458"; diff --git a/external/bsd/libarchive/Makefile.inc b/external/bsd/libarchive/Makefile.inc index 12dc91606..e884e1ad5 100644 --- a/external/bsd/libarchive/Makefile.inc +++ b/external/bsd/libarchive/Makefile.inc @@ -6,9 +6,6 @@ USE_FORT?= yes # complex string handling LIBARCHIVEDIR= ${NETBSDSRCDIR}/external/bsd/libarchive/dist -.if defined(__MINIX) -CPPFLAGS+= -isystem ${DESTDIR}/usr/include -.endif CPPFLAGS+= -I${NETBSDSRCDIR}/external/bsd/libarchive/include CPPFLAGS+= -DPLATFORM_CONFIG_H=\"config_netbsd.h\" diff --git a/external/bsd/libarchive/dist/libarchive/archive_entry.3 b/external/bsd/libarchive/dist/libarchive/archive_entry.3 index ae2aa192c..79194876d 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_entry.3 +++ b/external/bsd/libarchive/dist/libarchive/archive_entry.3 @@ -429,5 +429,5 @@ library first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . .\" .Sh BUGS diff --git a/external/bsd/libarchive/dist/libarchive/archive_read.3 b/external/bsd/libarchive/dist/libarchive/archive_read.3 index 5dfd48b9c..1fc2d4b64 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_read.3 +++ b/external/bsd/libarchive/dist/libarchive/archive_read.3 @@ -694,7 +694,7 @@ library first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . .Sh BUGS Many traditional archiver programs treat empty files as valid empty archives. diff --git a/external/bsd/libarchive/dist/libarchive/archive_read_disk.3 b/external/bsd/libarchive/dist/libarchive/archive_read_disk.3 index 7ada50020..69cef89db 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_read_disk.3 +++ b/external/bsd/libarchive/dist/libarchive/archive_read_disk.3 @@ -270,7 +270,7 @@ and first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@freebsd.org . +.An Tim Kientzle Aq Mt kientzle@freebsd.org . .Sh BUGS The .Dq standard diff --git a/external/bsd/libarchive/dist/libarchive/archive_util.3 b/external/bsd/libarchive/dist/libarchive/archive_util.3 index 98609e565..9a85d9ab7 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_util.3 +++ b/external/bsd/libarchive/dist/libarchive/archive_util.3 @@ -157,4 +157,4 @@ library first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . diff --git a/external/bsd/libarchive/dist/libarchive/archive_write.3 b/external/bsd/libarchive/dist/libarchive/archive_write.3 index 2c0c89dd9..83f722227 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_write.3 +++ b/external/bsd/libarchive/dist/libarchive/archive_write.3 @@ -595,7 +595,7 @@ library first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . .Sh BUGS There are many peculiar bugs in historic tar implementations that may cause certain programs to reject archives written by this library. diff --git a/external/bsd/libarchive/dist/libarchive/archive_write_disk.3 b/external/bsd/libarchive/dist/libarchive/archive_write_disk.3 index c258eeb73..3e64a413c 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_write_disk.3 +++ b/external/bsd/libarchive/dist/libarchive/archive_write_disk.3 @@ -301,7 +301,7 @@ and first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . .Sh BUGS Directories are actually extracted in two distinct phases. Directories are created during diff --git a/external/bsd/libarchive/dist/libarchive/archive_write_set_format_shar.c b/external/bsd/libarchive/dist/libarchive/archive_write_set_format_shar.c index 62a875b98..24e59b666 100644 --- a/external/bsd/libarchive/dist/libarchive/archive_write_set_format_shar.c +++ b/external/bsd/libarchive/dist/libarchive/archive_write_set_format_shar.c @@ -409,7 +409,7 @@ uuencode_group(const char _in[3], char out[4]) static void uuencode_line(struct shar *shar, const char *inbuf, size_t len) { - char tmp_buf[3], *buf; + char *buf; size_t alloc_len; /* len <= 45 -> expanded to 60 + len byte + new line */ @@ -426,13 +426,15 @@ uuencode_line(struct shar *shar, const char *inbuf, size_t len) buf += 4; } if (len != 0) { + char tmp_buf[3]; + tmp_buf[0] = inbuf[0]; if (len == 1) tmp_buf[1] = '\0'; else tmp_buf[1] = inbuf[1]; tmp_buf[2] = '\0'; - uuencode_group(inbuf, buf); + uuencode_group(tmp_buf, buf); buf += 4; } *buf++ = '\n'; diff --git a/external/bsd/libarchive/dist/libarchive/libarchive.3 b/external/bsd/libarchive/dist/libarchive/libarchive.3 index 8c19d008a..cd42ee69c 100644 --- a/external/bsd/libarchive/dist/libarchive/libarchive.3 +++ b/external/bsd/libarchive/dist/libarchive/libarchive.3 @@ -314,7 +314,7 @@ library first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . .Sh BUGS Some archive formats support information that is not supported by .Tn struct archive_entry . diff --git a/external/bsd/libarchive/dist/libarchive/libarchive_internals.3 b/external/bsd/libarchive/dist/libarchive/libarchive_internals.3 index 50ddef3bb..7d77b1ddc 100644 --- a/external/bsd/libarchive/dist/libarchive/libarchive_internals.3 +++ b/external/bsd/libarchive/dist/libarchive/libarchive_internals.3 @@ -362,4 +362,4 @@ library first appeared in The .Nm libarchive library was written by -.An Tim Kientzle Aq kientzle@acm.org . +.An Tim Kientzle Aq Mt kientzle@acm.org . diff --git a/external/bsd/libarchive/dist/libarchive/tar.5 b/external/bsd/libarchive/dist/libarchive/tar.5 index aafd535a1..04a9a0432 100644 --- a/external/bsd/libarchive/dist/libarchive/tar.5 +++ b/external/bsd/libarchive/dist/libarchive/tar.5 @@ -828,4 +828,4 @@ This documentation was written as part of the and .Nm bsdtar project by -.An Tim Kientzle Aq kientzle@FreeBSD.org . +.An Tim Kientzle Aq Mt kientzle@FreeBSD.org . diff --git a/external/bsd/libarchive/lib/libarchive/shlib_version b/external/bsd/libarchive/lib/libarchive/shlib_version index 445448163..2a057e08f 100644 --- a/external/bsd/libarchive/lib/libarchive/shlib_version +++ b/external/bsd/libarchive/lib/libarchive/shlib_version @@ -2,5 +2,5 @@ # Remember to update distrib/sets/lists/base/shl.* when changing # -major=0 -minor=0 +major=3 +minor=1 diff --git a/external/bsd/libelf/Makefile b/external/bsd/libelf/Makefile new file mode 100644 index 000000000..893135295 --- /dev/null +++ b/external/bsd/libelf/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 2009/12/19 05:52:01 thorpej Exp $ + +SUBDIR= lib + +.include diff --git a/external/bsd/libelf/Makefile.inc b/external/bsd/libelf/Makefile.inc new file mode 100644 index 000000000..c62cf6cb3 --- /dev/null +++ b/external/bsd/libelf/Makefile.inc @@ -0,0 +1,11 @@ +# $NetBSD: Makefile.inc,v 1.1 2009/12/19 05:52:01 thorpej Exp $ + +.include + +LIBELF_DIR= ${NETBSDSRCDIR}/external/bsd/libelf/dist + +CPPFLAGS+= -I${LIBELF_DIR} + +WARNS?= 4 + +.PATH: ${LIBELF_DIR} diff --git a/lib/libelf/Makefile b/external/bsd/libelf/dist/Makefile similarity index 88% rename from lib/libelf/Makefile rename to external/bsd/libelf/dist/Makefile index b6bb20c6a..2dc095403 100644 --- a/lib/libelf/Makefile +++ b/external/bsd/libelf/dist/Makefile @@ -1,9 +1,8 @@ -# $Id$ +# $FreeBSD: src/lib/libelf/Makefile,v 1.6.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ LIB= elf -SRCS= elf.c \ - elf_begin.c \ +SRCS= elf_begin.c \ elf_cntl.c \ elf_end.c elf_errmsg.c elf_errno.c \ elf_data.c \ @@ -41,10 +40,10 @@ SRCS= elf.c \ gelf_syminfo.c \ gelf_symshndx.c \ gelf_xlate.c \ + libelf.c \ libelf_align.c \ libelf_allocate.c \ libelf_ar.c \ - libelf_ar_util.c \ libelf_checksum.c \ libelf_data.c \ libelf_ehdr.c \ @@ -53,27 +52,20 @@ SRCS= elf.c \ libelf_shdr.c \ libelf_xlate.c \ ${GENSRCS} -INCS+= libelf.h gelf.h elfdefinitions.h - +INCS= libelf.h gelf.h GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c CLEANFILES= ${GENSRCS} -CFLAGS+= -I. -I${.CURDIR} +CFLAGS+= -I. -I${.CURDIR} - -.PATH: ${.CURDIR}/compat -SRCS+= mmap.c -CFLAGS+= -DNO_MMAP_FILE - -SHLIB_MAJOR= 0 +SHLIB_MAJOR= 1 WARNS?= 6 MAN= elf.3 \ elf_begin.3 \ elf_cntl.3 \ - elf_end.3 \ - elf_errmsg.3 \ + elf_end.3 elf_errmsg.3 \ elf_fill.3 \ elf_flagdata.3 \ elf_getarhdr.3 \ @@ -82,11 +74,8 @@ MAN= elf.3 \ elf_getdata.3 \ elf_getident.3 \ elf_getscn.3 \ - elf_getphdrnum.3 \ elf_getphnum.3 \ - elf_getshdrnum.3 \ elf_getshnum.3 \ - elf_getshdrstrndx.3 \ elf_getshstrndx.3 \ elf_hash.3 \ elf_kind.3 \ @@ -119,7 +108,6 @@ MAN= elf.3 \ MLINKS+= \ elf_errmsg.3 elf_errno.3 \ - elf_flagdata.3 elf_flagarhdr.3 \ elf_flagdata.3 elf_flagehdr.3 \ elf_flagdata.3 elf_flagelf.3 \ elf_flagdata.3 elf_flagphdr.3 \ @@ -156,15 +144,20 @@ MLINKS+= \ gelf_xlatetof.3 elf${E}_xlatetom.3 .endfor +VERSION_MAP= ${.CURDIR}/Version.map + +LIBELF_TEST_HOOKS?= 1 +.if defined(LIBELF_TEST_HOOKS) && (${LIBELF_TEST_HOOKS} > 0) +CFLAGS+= -DLIBELF_TEST_HOOKS +.endif + libelf_convert.c: elf_types.m4 libelf_convert.m4 libelf_fsize.c: elf_types.m4 libelf_fsize.m4 libelf_msize.c: elf_types.m4 libelf_msize.m4 -INCSDIR= /usr/include - .include # Keep the .SUFFIXES line after the include of bsd.lib.mk .SUFFIXES: .m4 .c .m4.c: - ${TOOL_M4} -D SRCDIR=${.CURDIR} ${.IMPSRC} > ${.TARGET} + m4 -D SRCDIR=${.CURDIR} ${.IMPSRC} > ${.TARGET} diff --git a/lib/libelf/README b/external/bsd/libelf/dist/README similarity index 73% rename from lib/libelf/README rename to external/bsd/libelf/dist/README index 726fcc92e..11b9eaf22 100644 --- a/lib/libelf/README +++ b/external/bsd/libelf/dist/README @@ -1,5 +1,5 @@ -# $FreeBSD$ -# $NetBSD$ +# $FreeBSD: src/lib/libelf/README,v 1.1.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ +# $NetBSD: README,v 1.1.1.1 2009/12/19 05:43:41 thorpej Exp $ libelf: a BSD-licensed implementation of the ELF(3)/GELF(3) API. diff --git a/lib/libelf/Version.map b/external/bsd/libelf/dist/Version.map similarity index 90% rename from lib/libelf/Version.map rename to external/bsd/libelf/dist/Version.map index 18e6473b6..8adc1f48e 100644 --- a/lib/libelf/Version.map +++ b/external/bsd/libelf/dist/Version.map @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libelf/Version.map,v 1.3 2007/04/29 14:05:22 deischen Exp $ + * $FreeBSD: src/lib/libelf/Version.map,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ FBSD_1.0 { global: @@ -27,7 +27,6 @@ global: elf_errmsg; elf_errno; elf_fill; - elf_flagarhdr; elf_flagdata; elf_flagehdr; elf_flagelf; @@ -40,11 +39,8 @@ global: elf_getdata; elf_getident; elf_getscn; - elf_getphdrnum; elf_getphnum; - elf_getshdrnum; elf_getshnum; - elf_getshdrstrndx; elf_getshstrndx; elf_hash; elf_kind; diff --git a/lib/libelf/_libelf.h b/external/bsd/libelf/dist/_libelf.h similarity index 81% rename from lib/libelf/_libelf.h rename to external/bsd/libelf/dist/_libelf.h index de8907733..8013ea29f 100644 --- a/lib/libelf/_libelf.h +++ b/external/bsd/libelf/dist/_libelf.h @@ -1,5 +1,7 @@ +/* $NetBSD: _libelf.h,v 1.6 2010/10/31 05:03:12 yamt Exp $ */ + /*- - * Copyright (c) 2006,2008-2010 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $FreeBSD: src/lib/libelf/_libelf.h,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ #ifndef __LIBELF_H_ @@ -31,11 +33,13 @@ #include -#include "_libelf_config.h" +#ifndef NULL +#define NULL ((void *) 0) +#endif -#include "_elftc.h" - -#include "libelf_compat.h" +#ifndef roundup2 +#define roundup2(x, m) (((x) + (m) - 1) & ~((m) - 1)) +#endif /* * Library-private data structures. @@ -44,9 +48,6 @@ #define LIBELF_MSG_SIZE 256 struct _libelf_globals { - int libelf_arch; - unsigned int libelf_byteorder; - int libelf_class; int libelf_error; int libelf_fillchar; unsigned int libelf_version; @@ -57,13 +58,13 @@ extern struct _libelf_globals _libelf; #define LIBELF_PRIVATE(N) (_libelf.libelf_##N) -#define LIBELF_ELF_ERROR_MASK 0xFF -#define LIBELF_OS_ERROR_SHIFT 8 +#define LIBELF_ELF_ERROR_MASK 0xFF +#define LIBELF_OS_ERROR_SHIFT 8 #define LIBELF_SET_ERROR(E, O) do { \ LIBELF_PRIVATE(error) = ((ELF_E_##E & LIBELF_ELF_ERROR_MASK)| \ ((O) << LIBELF_OS_ERROR_SHIFT)); \ - } while (0) + } while (/*CONSTCOND*/0) #define LIBELF_ADJUST_AR_SIZE(S) (((S) + 1U) & ~1U) @@ -71,14 +72,14 @@ extern struct _libelf_globals _libelf; * Flags for library internal use. These use the upper 16 bits of a * flags field. */ -#define LIBELF_F_DATA_MALLOCED 0x010000 /* whether data was malloc'ed */ +#define LIBELF_F_MALLOCED 0x010000 /* whether data was malloc'ed */ #define LIBELF_F_MMAP 0x020000 /* whether e_rawfile was mmap'ed */ #define LIBELF_F_SHDRS_LOADED 0x040000 /* whether all shdrs were read in */ -#define LIBELF_F_AR_VARIANT_SVR4 0x080000 /* BSD style ar(1) archive */ -#define LIBELF_F_AR_HEADER 0x100000 /* translated header available */ +#define LIBELF_F_MALLOC 0x080000 /* whether e_rawfile was mmap'ed */ struct _Elf { int e_activations; /* activation count */ + Elf_Arhdr *e_arhdr; /* header for archive members */ unsigned int e_byteorder; /* ELFDATA* */ int e_class; /* ELFCLASS* */ Elf_Cmd e_cmd; /* ELF_C_* used at creation time */ @@ -86,19 +87,10 @@ struct _Elf { unsigned int e_flags; /* ELF_F_*, LIBELF_F_* flags */ Elf_Kind e_kind; /* ELF_K_* */ Elf *e_parent; /* non-NULL for archive members */ - char *e_rawfile; /* uninterpreted bytes */ + char *e_rawfile; /* uninterpreted bytes */ size_t e_rawsize; /* size of uninterpreted bytes */ unsigned int e_version; /* file version */ - /* - * Header information for archive members. See the - * LIBELF_F_AR_HEADER flag. - */ - union { - Elf_Arhdr *e_arhdr; /* translated header */ - char *e_rawhdr; /* untranslated header */ - } e_hdr; - union { struct { /* ar(1) archives */ off_t e_next; /* set by elf_rand()/elf_next() */ @@ -150,47 +142,46 @@ enum { }; #define LIBELF_COPY_U32(DST,SRC,NAME) do { \ - if ((SRC)->NAME > UINT_MAX) { \ + if ((uint64_t)(SRC)->NAME > UINT_MAX) { \ LIBELF_SET_ERROR(RANGE, 0); \ return (0); \ } \ (DST)->NAME = (SRC)->NAME; \ - } while (0) + } while (/*CONSTCOND*/0) #define LIBELF_COPY_S32(DST,SRC,NAME) do { \ - if ((SRC)->NAME > INT_MAX || \ - (SRC)->NAME < INT_MIN) { \ + if ((int64_t)(SRC)->NAME > INT_MAX || \ + (int64_t)(SRC)->NAME < INT_MIN) { \ LIBELF_SET_ERROR(RANGE, 0); \ return (0); \ } \ (DST)->NAME = (SRC)->NAME; \ - } while (0) + } while (/*CONSTCOND*/0) /* * Prototypes */ +unsigned int _libelf_host_byteorder(void); + Elf_Data *_libelf_allocate_data(Elf_Scn *_s); Elf *_libelf_allocate_elf(void); Elf_Scn *_libelf_allocate_scn(Elf *_e, size_t _ndx); Elf_Arhdr *_libelf_ar_gethdr(Elf *_e); Elf *_libelf_ar_open(Elf *_e); Elf *_libelf_ar_open_member(int _fd, Elf_Cmd _c, Elf *_ar); -int _libelf_ar_get_member(char *_s, size_t _sz, int _base, size_t *_ret); -Elf_Arsym *_libelf_ar_process_bsd_symtab(Elf *_ar, size_t *_dst); -Elf_Arsym *_libelf_ar_process_svr4_symtab(Elf *_ar, size_t *_dst); +Elf_Arsym *_libelf_ar_process_symtab(Elf *_ar, size_t *_dst); unsigned long _libelf_checksum(Elf *_e, int _elfclass); void *_libelf_ehdr(Elf *_e, int _elfclass, int _allocate); int _libelf_falign(Elf_Type _t, int _elfclass); size_t _libelf_fsize(Elf_Type _t, int _elfclass, unsigned int _version, size_t count); -int (*_libelf_get_translator(Elf_Type _t, int _direction, int _elfclass)) - (char *_dst, size_t dsz, char *_src, size_t _cnt, int _byteswap); +void (*_libelf_get_translator(Elf_Type _t, int _direction, int _elfclass)) + (char *_dst, char *_src, size_t _cnt, int _byteswap); void *_libelf_getphdr(Elf *_e, int _elfclass); void *_libelf_getshdr(Elf_Scn *_scn, int _elfclass); void _libelf_init_elf(Elf *_e, Elf_Kind _kind); -int _libelf_load_section_headers(Elf *e, void *ehdr); int _libelf_malign(Elf_Type _t, int _elfclass); size_t _libelf_msize(Elf_Type _t, int _elfclass, unsigned int _version); void *_libelf_newphdr(Elf *_e, int _elfclass, size_t _count); diff --git a/lib/libelf/elf.3 b/external/bsd/libelf/dist/elf.3 similarity index 96% rename from lib/libelf/elf.3 rename to external/bsd/libelf/dist/elf.3 index 44e9b96fa..d555eb1f9 100644 --- a/lib/libelf/elf.3 +++ b/external/bsd/libelf/dist/elf.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf.3,v 1.3 2009/12/29 18:07:28 joerg Exp $ +.\" +.\" Copyright (c) 2006,2007 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf.3,v 1.5.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd October 21, 2007 .Os @@ -36,8 +38,8 @@ .Sh DESCRIPTION The .Lb libelf -provides functions that allow an application to read and manipulate -ELF object files, and to read +library provides functions that allow an application to read and +manipulate ELF object files, and to read .Xr ar 1 archives. The library allows the manipulation of ELF objects in a byte ordering @@ -144,24 +146,24 @@ In the current implementation, all three versions have to be .Ss Namespace use The ELF library uses the following prefixes: .Bl -tag -width "ELF_F_*" -.It Dv elf_ +.It elf_* Used for class-independent functions. -.It Dv elf32_ +.It elf32_* Used for functions working with 32 bit ELF objects. -.It Dv elf64_ +.It elf64_* Used for functions working with 64 bit ELF objects. -.It Dv Elf_ +.It Elf_* Used for class-independent data types. -.It Dv ELF_C_ +.It ELF_C_* Used for command values used in a few functions. These symbols are defined as members of the -.Vt Dv Elf_Cmd +.Vt Elf_Cmd enumeration. -.It Dv ELF_E_ +.It ELF_E_* Used for error numbers. -.It Dv ELF_F_ +.It ELF_F_* Used for flags. -.It Dv ELF_K_ +.It ELF_K_* These constants define the kind of file associated with an ELF descriptor. See @@ -169,18 +171,12 @@ See The symbols are defined by the .Vt Elf_Kind enumeration. -.It Dv ELF_T_ +.It ELF_T_* These values are defined by the .Vt Elf_Type enumeration, and denote the types of ELF data structures that can be present in an ELF object. .El -.Pp -In addition, the library uses symbols with prefixes -.Dv _ELF -and -.Dv _libelf -for its internal use. .Ss Descriptors Applications communicate with the library using descriptors. These are: @@ -357,20 +353,13 @@ defined in and the types supported by the library. .Bl -column ".Dv SHT_PREINIT_ARRAY" ".Dv ELF_T_SYMINFO" .It Em Section Type Ta Em "Library Type" Ta Em Description -.It Dv SHT_DYNAMIC Ta Dv ELF_T_DYN Ta Xo -.Sq .dynamic -section entries. -.Xc +.It Dv SHT_DYNAMIC Ta Dv ELF_T_DYN Ta So .dynamic Sc section entries. .It Dv SHT_DYNSYM Ta Dv ELF_T_SYM Ta Symbols for dynamic linking. .It Dv SHT_FINI_ARRAY Ta Dv ELF_T_ADDR Ta Termination function pointers. .It Dv SHT_GROUP Ta Dv ELF_T_WORD Ta Section group marker. .It Dv SHT_HASH Ta Dv ELF_T_HASH Ta Symbol hashes. .It Dv SHT_INIT_ARRAY Ta Dv ELF_T_ADDR Ta Initialization function pointers. -.It Dv SHT_NOBITS Ta Dv ELF_T_BYTE Ta Xo -Empty sections. -See -.Xr elf 5 . -.Xc +.It Dv SHT_NOBITS Ta Dv ELF_T_BYTE Ta Empty sections. See Xr elf 5 . .It Dv SHT_NOTE Ta Dv ELF_T_NOTE Ta ELF note records. .It Dv SHT_PREINIT_ARRAY Ta Dv ELF_T_ADDR Ta Pre-initialization function pointers. .It Dv SHT_PROGBITS Ta Dv ELF_T_BYTE Ta Machine code. @@ -385,7 +374,6 @@ See .It Dv SHT_SUNW_move Ta Dv ELF_T_MOVE Ta ELF move records. .It Dv SHT_SUNW_syminfo Ta Dv ELF_T_SYMINFO Ta Additional symbol flags. .El -.TE .Ss Functional Grouping This section contains a brief overview of the available functionality in the ELF library. @@ -577,8 +565,10 @@ descriptor itself. .Xr elf 5 .Sh HISTORY The original ELF(3) API was developed for Unix System V. -The current implementation of the ELF(3) API appeared in -.Fx 7.0 . +This implementation first appeared in +.Fx 7.0 +and +.Nx 6.0 . .Sh AUTHORS The ELF library was written by .An "Joseph Koshy" diff --git a/lib/libelf/elf_begin.3 b/external/bsd/libelf/dist/elf_begin.3 similarity index 95% rename from lib/libelf/elf_begin.3 rename to external/bsd/libelf/dist/elf_begin.3 index 2a39db772..05d0a8314 100644 --- a/lib/libelf/elf_begin.3 +++ b/external/bsd/libelf/dist/elf_begin.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_begin.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +23,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_begin.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" -.Dd April 11, 2010 +.Dd June 21, 2006 .Os .Dt ELF_BEGIN 3 .Sh NAME @@ -163,9 +165,7 @@ archive may be opened in read mode (with argument set to .Dv ELF_C_READ ) using -.Fn elf_begin -or -.Fn elf_memory . +.Fn elf_begin . The returned ELF descriptor can be passed into to subsequent calls to .Fn elf_begin @@ -222,11 +222,8 @@ elf_end(e); Function .Fn elf_begin can fail with the following errors: +.Pp .Bl -tag -width "[ELF_E_RESOURCE]" -.It Bq Er ELF_E_ARCHIVE -The archive denoted by argument -.Ar elf -could not be parsed. .It Bq Er ELF_E_ARGUMENT An unrecognized value was specified in argument .Ar cmd . @@ -250,6 +247,12 @@ differs from the value specified when ELF descriptor .Ar elf was created. .It Bq Er ELF_E_ARGUMENT +Argument +.Ar elf +was not a descriptor for an +.Xr ar 1 +archive. +.It Bq Er ELF_E_ARGUMENT An .Xr ar 1 archive was opened with with diff --git a/lib/libelf/elf_begin.c b/external/bsd/libelf/dist/elf_begin.c similarity index 64% rename from lib/libelf/elf_begin.c rename to external/bsd/libelf/dist/elf_begin.c index dacdaad5d..f078d6c86 100644 --- a/lib/libelf/elf_begin.c +++ b/external/bsd/libelf/dist/elf_begin.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_begin.c,v 1.7 2010/10/31 05:03:12 yamt Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,31 +26,35 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +#include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_begin.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include -#include -#if 0 #include -#endif #include #include -#include +#include #include #include +#include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - static Elf * _libelf_open_object(int fd, Elf_Cmd c) { Elf *e; void *m; + void *p; /* malloc'ed pointer */ struct stat sb; + size_t objsize; /* * 'Raw' files are always mapped with 'PROT_READ'. At @@ -62,18 +68,76 @@ _libelf_open_object(int fd, Elf_Cmd c) } m = NULL; - if ((m = mmap(NULL, (size_t) sb.st_size, PROT_READ, MAP_PRIVATE, fd, + p = NULL; + if (sb.st_size == 0) { + /* + * Might be a special device like /dev/ksyms. Try read(2)ing. + */ + goto doread; + } + objsize = (size_t) sb.st_size; + if ((m = mmap(NULL, objsize, PROT_READ, MAP_PRIVATE, fd, (off_t) 0)) == MAP_FAILED) { - LIBELF_SET_ERROR(IO, errno); + size_t bufsize; + + if (errno != EINVAL) { + LIBELF_SET_ERROR(IO, errno); + return (NULL); + } +doread: + /* + * Fall back to malloc+read. + */ + bufsize = 1024 * 1024; + while (/*CONSTCOND*/true) { + void *newp = realloc(p, bufsize); + ssize_t rsz; + + if (newp == NULL) { + free(p); + LIBELF_SET_ERROR(RESOURCE, 0); + return (NULL); + } + p = newp; + rsz = pread(fd, p, bufsize, 0); + if (rsz == -1) { + free(p); + LIBELF_SET_ERROR(IO, errno); + return (NULL); + } else if ((size_t) rsz > bufsize) { + free(p); + LIBELF_SET_ERROR(IO, EIO); /* XXX */ + return (NULL); + } else if ((size_t) rsz < bufsize) { + /* + * try to shrink the buffer. + */ + newp = realloc(p, (size_t) rsz); + if (newp != NULL) { + p = newp; + } + break; + } + bufsize *= 2; + } + m = p; + objsize = bufsize; + } + + if ((e = elf_memory(m, objsize)) == NULL) { + if (p != NULL) { + free(p); + } else { + (void) munmap(m, objsize); + } return (NULL); } - if ((e = elf_memory(m, (size_t) sb.st_size)) == NULL) { - (void) munmap(m, (size_t) sb.st_size); - return (NULL); + if (p != NULL) { + e->e_flags |= LIBELF_F_MALLOC; + } else { + e->e_flags |= LIBELF_F_MMAP; } - - e->e_flags |= LIBELF_F_MMAP; e->e_fd = fd; e->e_cmd = c; @@ -120,7 +184,7 @@ elf_begin(int fd, Elf_Cmd c, Elf *a) if ((e = _libelf_allocate_elf()) != NULL) { _libelf_init_elf(e, ELF_K_ELF); - e->e_byteorder = LIBELF_PRIVATE(byteorder); + e->e_byteorder = _libelf_host_byteorder(); e->e_fd = fd; e->e_cmd = c; } @@ -135,15 +199,13 @@ elf_begin(int fd, Elf_Cmd c, Elf *a) case ELF_C_READ: /* * Descriptor `a' could be for a regular ELF file, or - * for an ar(1) archive. If descriptor `a' was opened - * using a valid file descriptor, we need to check if - * the passed in `fd' value matches the original one. + * for an ar(1) archive. */ - if (a && - ((a->e_fd != -1 && a->e_fd != fd) || c != a->e_cmd)) { + if (a && (a->e_fd != fd || c != a->e_cmd)) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } + break; default: @@ -155,7 +217,7 @@ elf_begin(int fd, Elf_Cmd c, Elf *a) if (a == NULL) e = _libelf_open_object(fd, c); else if (a->e_kind == ELF_K_AR) - e = _libelf_ar_open_member(a->e_fd, c, a); + e = _libelf_ar_open_member(fd, c, a); else (e = a)->e_activations++; diff --git a/lib/libelf/elf_cntl.3 b/external/bsd/libelf/dist/elf_cntl.3 similarity index 91% rename from lib/libelf/elf_cntl.3 rename to external/bsd/libelf/dist/elf_cntl.3 index 7391f196d..a50003b9c 100644 --- a/lib/libelf/elf_cntl.3 +++ b/external/bsd/libelf/dist/elf_cntl.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_cntl.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_cntl.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 9, 2006 .Os @@ -75,7 +77,7 @@ archive, an ELF file, or other data file). .Sh IMPLEMENTATION NOTES Due to use of .Xr mmap 2 -internally, this function is a no-op for ELF objects opened in +internally, this function is a no-op for for ELF objects opened in .Dv ELF_C_READ mode. .Sh RETURN VALUES diff --git a/lib/libelf/elf_cntl.c b/external/bsd/libelf/dist/elf_cntl.c similarity index 88% rename from lib/libelf/elf_cntl.c rename to external/bsd/libelf/dist/elf_cntl.c index 797934bd9..c4d14c451 100644 --- a/lib/libelf/elf_cntl.c +++ b/external/bsd/libelf/dist/elf_cntl.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_cntl.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,12 +26,13 @@ * SUCH DAMAGE. */ +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_cntl.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - int elf_cntl(Elf *e, Elf_Cmd c) { diff --git a/lib/libelf/elf_data.c b/external/bsd/libelf/dist/elf_data.c similarity index 83% rename from lib/libelf/elf_data.c rename to external/bsd/libelf/dist/elf_data.c index 4c36bac7f..48864cacc 100644 --- a/lib/libelf/elf_data.c +++ b/external/bsd/libelf/dist/elf_data.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_data.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008,2011 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,6 +26,13 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_data.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + #include #include #include @@ -31,7 +40,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); Elf_Data * elf_getdata(Elf_Scn *s, Elf_Data *d) @@ -41,16 +49,14 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) int elfclass, elftype; unsigned int sh_type; uint64_t sh_align, sh_offset, sh_size; - int (*xlate)(char *_d, size_t _dsz, char *_s, size_t _c, int _swap); + void (*xlate)(char *_d, char *_s, size_t _c, int _swap); - if (s == NULL || (e = s->s_elf) == NULL || + if (s == NULL || (e = s->s_elf) == NULL || e->e_kind != ELF_K_ELF || (d != NULL && s != d->d_scn)) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } - assert(e->e_kind == ELF_K_ELF); - if (d == NULL && (d = STAILQ_FIRST(&s->s_data)) != NULL) return (d); @@ -58,7 +64,7 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) return (STAILQ_NEXT(d, d_next)); if (e->e_rawfile == NULL) { - LIBELF_SET_ERROR(ARGUMENT, 0); + LIBELF_SET_ERROR(SEQUENCE, 0); return (NULL); } @@ -78,9 +84,6 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) sh_align = s->s_shdr.s_shdr64.sh_addralign; } - if (sh_type == SHT_NULL) - return (NULL); - if ((elftype = _libelf_xlate_shtype(sh_type)) < ELF_T_FIRST || elftype > ELF_T_LAST || (sh_type != SHT_NOBITS && sh_offset + sh_size > (uint64_t) e->e_rawsize)) { @@ -88,12 +91,13 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) return (NULL); } - if ((fsz = (elfclass == ELFCLASS32 ? elf32_fsize : elf64_fsize) - (elftype, (size_t) 1, e->e_version)) == 0) { + if ((fsz = (elfclass == ELFCLASS32 ? elf32_fsize : elf64_fsize)(elftype, + (size_t) 1, e->e_version)) == 0) { LIBELF_SET_ERROR(UNIMPL, 0); return (NULL); } + if (sh_size % fsz) { LIBELF_SET_ERROR(SECTION, 0); return (NULL); @@ -115,10 +119,10 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) d->d_type = elftype; d->d_version = e->e_version; - if (sh_type == SHT_NOBITS || sh_size == 0) { - STAILQ_INSERT_TAIL(&s->s_data, d, d_next); + if (sh_type == SHT_NOBITS) return (d); - } + + d->d_flags |= LIBELF_F_MALLOCED; if ((d->d_buf = malloc(msz*count)) == NULL) { (void) _libelf_release_data(d); @@ -126,17 +130,11 @@ elf_getdata(Elf_Scn *s, Elf_Data *d) return (NULL); } - d->d_flags |= LIBELF_F_DATA_MALLOCED; + STAILQ_INSERT_TAIL(&s->s_data, d, d_next); xlate = _libelf_get_translator(elftype, ELF_TOMEMORY, elfclass); - if (!(*xlate)(d->d_buf, d->d_size, e->e_rawfile + sh_offset, count, - e->e_byteorder != LIBELF_PRIVATE(byteorder))) { - _libelf_release_data(d); - LIBELF_SET_ERROR(DATA, 0); - return (NULL); - } - - STAILQ_INSERT_TAIL(&s->s_data, d, d_next); + (*xlate)(d->d_buf, e->e_rawfile + sh_offset, count, e->e_byteorder != + _libelf_host_byteorder()); return (d); } @@ -147,13 +145,12 @@ elf_newdata(Elf_Scn *s) Elf *e; Elf_Data *d; - if (s == NULL || (e = s->s_elf) == NULL) { + if (s == NULL || (e = s->s_elf) == NULL || + e->e_kind != ELF_K_ELF) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } - assert(e->e_kind == ELF_K_ELF); - /* * elf_newdata() has to append a data descriptor, so * bring in existing section data if not already present. @@ -162,10 +159,14 @@ elf_newdata(Elf_Scn *s) if (elf_getdata(s, NULL) == NULL) return (NULL); - if ((d = _libelf_allocate_data(s)) == NULL) + if ((d = malloc(sizeof(Elf_Data))) == NULL) { + LIBELF_SET_ERROR(RESOURCE, errno); return (NULL); + } STAILQ_INSERT_TAIL(&s->s_data, d, d_next); + d->d_flags = 0; + d->d_scn = s; d->d_align = 1; d->d_buf = NULL; @@ -188,17 +189,16 @@ Elf_Data * elf_rawdata(Elf_Scn *s, Elf_Data *d) { Elf *e; - int elf_class; uint32_t sh_type; + int elf_class; uint64_t sh_align, sh_offset, sh_size; - if (s == NULL || (e = s->s_elf) == NULL || e->e_rawfile == NULL) { + if (s == NULL || (e = s->s_elf) == NULL || + e->e_kind != ELF_K_ELF || e->e_rawfile == NULL) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } - assert(e->e_kind == ELF_K_ELF); - if (d == NULL && (d = STAILQ_FIRST(&s->s_rawdata)) != NULL) return (d); @@ -221,14 +221,10 @@ elf_rawdata(Elf_Scn *s, Elf_Data *d) sh_align = s->s_shdr.s_shdr64.sh_addralign; } - if (sh_type == SHT_NULL) - return (NULL); - if ((d = _libelf_allocate_data(s)) == NULL) return (NULL); - d->d_buf = (sh_type == SHT_NOBITS || sh_size == 0) ? NULL : - e->e_rawfile + sh_offset; + d->d_buf = sh_type == SHT_NOBITS ? NULL : e->e_rawfile + sh_offset; d->d_off = 0; d->d_align = sh_align; d->d_size = sh_size; diff --git a/lib/libelf/elf_end.3 b/external/bsd/libelf/dist/elf_end.3 similarity index 91% rename from lib/libelf/elf_end.3 rename to external/bsd/libelf/dist/elf_end.3 index 5130c9209..2ec8ee13a 100644 --- a/lib/libelf/elf_end.3 +++ b/external/bsd/libelf/dist/elf_end.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_end.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_end.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 29, 2006 .Os diff --git a/lib/libelf/elf_end.c b/external/bsd/libelf/dist/elf_end.c similarity index 88% rename from lib/libelf/elf_end.c rename to external/bsd/libelf/dist/elf_end.c index 9fe100971..74354c83c 100644 --- a/lib/libelf/elf_end.c +++ b/external/bsd/libelf/dist/elf_end.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_end.c,v 1.3 2010/10/31 05:03:12 yamt Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,20 +26,21 @@ * SUCH DAMAGE. */ -#include - -#if 0 -#include +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" #endif +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_end.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include + #include #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - int elf_end(Elf *e) { @@ -79,6 +82,8 @@ elf_end(Elf *e) if (e->e_flags & LIBELF_F_MMAP) (void) munmap(e->e_rawfile, e->e_rawsize); + if (e->e_flags & LIBELF_F_MALLOC) + (void) free(e->e_rawfile); sv = e; if ((e = e->e_parent) != NULL) @@ -88,3 +93,4 @@ elf_end(Elf *e) return (0); } + diff --git a/lib/libelf/elf_errmsg.3 b/external/bsd/libelf/dist/elf_errmsg.3 similarity index 93% rename from lib/libelf/elf_errmsg.3 rename to external/bsd/libelf/dist/elf_errmsg.3 index 88cabf4ba..a7b058258 100644 --- a/lib/libelf/elf_errmsg.3 +++ b/external/bsd/libelf/dist/elf_errmsg.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_errmsg.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_errmsg.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 11, 2006 .Os diff --git a/lib/libelf/elf_errmsg.c b/external/bsd/libelf/dist/elf_errmsg.c similarity index 77% rename from lib/libelf/elf_errmsg.c rename to external/bsd/libelf/dist/elf_errmsg.c index 258e00228..19526e7b1 100644 --- a/lib/libelf/elf_errmsg.c +++ b/external/bsd/libelf/dist/elf_errmsg.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_errmsg.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008,2011 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,15 +27,13 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_errmsg.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include -#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Retrieve a human readable translation for an error message. */ @@ -64,8 +64,7 @@ elf_errmsg(int error) { int oserr; - if (error == ELF_E_NONE && - (error = LIBELF_PRIVATE(error)) == 0) + if (error == 0 && (error = LIBELF_PRIVATE(error)) == 0) return NULL; else if (error == -1) error = LIBELF_PRIVATE(error); @@ -73,13 +72,31 @@ elf_errmsg(int error) oserr = error >> LIBELF_OS_ERROR_SHIFT; error &= LIBELF_ELF_ERROR_MASK; - if (error < ELF_E_NONE || error >= ELF_E_NUM) + if (error < 0 || error >= ELF_E_NUM) return _libelf_errors[ELF_E_NUM]; if (oserr) { - (void) snprintf(LIBELF_PRIVATE(msg), - sizeof(LIBELF_PRIVATE(msg)), "%s: %s", - _libelf_errors[error], strerror(oserr)); + strlcpy(LIBELF_PRIVATE(msg), _libelf_errors[error], + sizeof(LIBELF_PRIVATE(msg))); + strlcat(LIBELF_PRIVATE(msg), ": ", sizeof(LIBELF_PRIVATE(msg))); + strlcat(LIBELF_PRIVATE(msg), strerror(oserr), + sizeof(LIBELF_PRIVATE(msg))); return (const char *)&LIBELF_PRIVATE(msg); } return _libelf_errors[error]; } + +#if defined(LIBELF_TEST_HOOKS) + +const char * +_libelf_get_unknown_error_message(void) +{ + return _libelf_errors[ELF_E_NUM]; +} + +const char * +_libelf_get_no_error_message(void) +{ + return _libelf_errors[0]; +} + +#endif /* LIBELF_TEST_HOOKS */ diff --git a/lib/libelf/elf_errno.c b/external/bsd/libelf/dist/elf_errno.c similarity index 79% rename from lib/libelf/elf_errno.c rename to external/bsd/libelf/dist/elf_errno.c index f20e7bcf6..b2363c8a1 100644 --- a/lib/libelf/elf_errno.c +++ b/external/bsd/libelf/dist/elf_errno.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_errno.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008,2011 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_errno.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - int elf_errno(void) { @@ -41,3 +42,19 @@ elf_errno(void) LIBELF_PRIVATE(error) = 0; return (old & LIBELF_ELF_ERROR_MASK); } + +#if defined(LIBELF_TEST_HOOKS) + +int +_libelf_get_max_error(void) +{ + return ELF_E_NUM; +} + +void +_libelf_set_error(int error) +{ + LIBELF_PRIVATE(error) = error; +} + +#endif /* LIBELF_TEST_HOOKS */ diff --git a/lib/libelf/elf_fill.3 b/external/bsd/libelf/dist/elf_fill.3 similarity index 89% rename from lib/libelf/elf_fill.3 rename to external/bsd/libelf/dist/elf_fill.3 index b26e91e8c..de61894b3 100644 --- a/lib/libelf/elf_fill.3 +++ b/external/bsd/libelf/dist/elf_fill.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_fill.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_fill.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 11, 2006 .Os diff --git a/lib/libelf/elf_fill.c b/external/bsd/libelf/dist/elf_fill.c similarity index 87% rename from lib/libelf/elf_fill.c rename to external/bsd/libelf/dist/elf_fill.c index 50ef2dbe0..f5fec8538 100644 --- a/lib/libelf/elf_fill.c +++ b/external/bsd/libelf/dist/elf_fill.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_fill.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_fill.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - void elf_fill(int fill) { diff --git a/lib/libelf/elf_flag.c b/external/bsd/libelf/dist/elf_flag.c similarity index 83% rename from lib/libelf/elf_flag.c rename to external/bsd/libelf/dist/elf_flag.c index 49bf48215..8968a07b5 100644 --- a/lib/libelf/elf_flag.c +++ b/external/bsd/libelf/dist/elf_flag.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_flag.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,35 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_flag.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - -unsigned int -elf_flagarhdr(Elf_Arhdr *a, Elf_Cmd c, unsigned int flags) -{ - unsigned int r; - - if (a == NULL) - return (0); - - if ((c != ELF_C_SET && c != ELF_C_CLR) || - (flags & ~ELF_F_DIRTY) != 0) { - LIBELF_SET_ERROR(ARGUMENT, 0); - return (0); - } - - if (c == ELF_C_SET) - r = a->ar_flags |= flags; - else - r = a->ar_flags &= ~flags; - - return (r); -} - unsigned int elf_flagdata(Elf_Data *d, Elf_Cmd c, unsigned int flags) { @@ -118,22 +97,11 @@ elf_flagelf(Elf *e, Elf_Cmd c, unsigned int flags) if ((c != ELF_C_SET && c != ELF_C_CLR) || (e->e_kind != ELF_K_ELF) || - (flags & ~(ELF_F_ARCHIVE | ELF_F_ARCHIVE_SYSV | - ELF_F_DIRTY | ELF_F_LAYOUT)) != 0) { + (flags & ~(ELF_F_DIRTY|ELF_F_LAYOUT)) != 0) { LIBELF_SET_ERROR(ARGUMENT, 0); return (0); } - if ((flags & ELF_F_ARCHIVE_SYSV) && (flags & ELF_F_ARCHIVE) == 0) { - LIBELF_SET_ERROR(ARGUMENT, 0); - return (0); - } - - if ((flags & ELF_F_ARCHIVE) && e->e_cmd != ELF_C_WRITE) { - LIBELF_SET_ERROR(MODE, 0); - return (0); - } - if (c == ELF_C_SET) r = e->e_flags |= flags; else diff --git a/lib/libelf/elf_flagdata.3 b/external/bsd/libelf/dist/elf_flagdata.3 similarity index 82% rename from lib/libelf/elf_flagdata.3 rename to external/bsd/libelf/dist/elf_flagdata.3 index 5c197e832..7a23d0679 100644 --- a/lib/libelf/elf_flagdata.3 +++ b/external/bsd/libelf/dist/elf_flagdata.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_flagdata.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006,2007 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,13 +23,12 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_flagdata.3,v 1.3.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd October 22, 2007 .Os .Dt ELF_FLAGDATA 3 .Sh NAME -.Nm elf_flagarhdr , .Nm elf_flagdata , .Nm elf_flagehdr , .Nm elf_flagelf , @@ -40,8 +41,6 @@ .Sh SYNOPSIS .In libelf.h .Ft "unsigned int" -.Fn elf_flagarhdr "Elf_Arhdr *arhdr" "Elf_Cmd cmd" "unsigned int flags" -.Ft "unsigned int" .Fn elf_flagdata "Elf_Data *data" "Elf_Cmd cmd" "unsigned int flags" .Ft "unsigned int" .Fn elf_flagehdr "Elf *elf" "Elf_Cmd cmd" "unsigned int flags" @@ -58,7 +57,6 @@ These functions are used to query, set or reset flags on data structures associated with an ELF file. .Pp Arguments -.Ar arhdr , .Ar data , .Ar elf and @@ -84,26 +82,7 @@ specifies the flags to be set. The argument .Ar flags is allowed to have the following flags set: -.Bl -tag -width ELF_F_ARCHIVE_SYSV -.It Dv ELF_F_ARCHIVE -This flag is only valid with the -.Fn elf_flagelf -API. -It informs the library that the application desires to create an -.Xr ar 1 -archive. -Argument -.Ar elf -should have been opened for writing using the -.Dv ELF_C_WRITE -command to function -.Fn elf_begin . -.It Dv ELF_F_ARCHIVE_SYSV -This flag is used in conjunction with the -.Dv ELF_F_ARCHIVE -flag to indicate that library should create archives that conform -to System V layout rules. -The default is to create BSD style archives. +.Bl -tag -width ELF_F_LAYOUT .It Dv ELF_F_DIRTY Mark the associated data structure as needing to be written back to the underlying file. @@ -136,14 +115,6 @@ queried. .Sh RETURN VALUES These functions return the updated flags is successful, and zero if an error is detected. -.Sh COMPATIBILITY -The -.Fn elf_flagarhdr -function and the -.Dv ELF_F_ARCHIVE -and -.Dv ELF_F_ARCHIVE_SYSV -flags are an extension to the ELF(3) API. .Sh ERRORS These functions may fail with the following errors: .Bl -tag -width "[ELF_E_RESOURCE]" @@ -159,10 +130,6 @@ had unsupported flags set. The argument .Ar elf was not a descriptor for an ELF object. -.It Bq Er ELF_E_MODE -The -.Dv ELF_F_ARCHIVE -flag was used with an ELF descriptor that had not been opened for writing. .It Bq Er ELF_E_SEQUENCE Function .Fn elf_flagehdr diff --git a/lib/libelf/elf_getarhdr.3 b/external/bsd/libelf/dist/elf_getarhdr.3 similarity index 92% rename from lib/libelf/elf_getarhdr.3 rename to external/bsd/libelf/dist/elf_getarhdr.3 index d5970e75b..1fce8a460 100644 --- a/lib/libelf/elf_getarhdr.3 +++ b/external/bsd/libelf/dist/elf_getarhdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getarhdr.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getarhdr.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 15, 2006 .Os diff --git a/lib/libelf/elf_getarhdr.c b/external/bsd/libelf/dist/elf_getarhdr.c similarity index 84% rename from lib/libelf/elf_getarhdr.c rename to external/bsd/libelf/dist/elf_getarhdr.c index 7f4d514f0..578ce0ee6 100644 --- a/lib/libelf/elf_getarhdr.c +++ b/external/bsd/libelf/dist/elf_getarhdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_getarhdr.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008,2010 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,23 +27,24 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_getarhdr.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf_Arhdr * elf_getarhdr(Elf *e) { + Elf_Arhdr *arh; + if (e == NULL) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); } - if (e->e_flags & LIBELF_F_AR_HEADER) - return (e->e_hdr.e_arhdr); + if ((arh = e->e_arhdr) != NULL) + return (arh); return (_libelf_ar_gethdr(e)); } diff --git a/lib/libelf/elf_getarsym.3 b/external/bsd/libelf/dist/elf_getarsym.3 similarity index 94% rename from lib/libelf/elf_getarsym.3 rename to external/bsd/libelf/dist/elf_getarsym.3 index b1ed5dbb6..69d25a130 100644 --- a/lib/libelf/elf_getarsym.3 +++ b/external/bsd/libelf/dist/elf_getarsym.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getarsym.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getarsym.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 15, 2006 .Os diff --git a/lib/libelf/elf_getarsym.c b/external/bsd/libelf/dist/elf_getarsym.c similarity index 86% rename from lib/libelf/elf_getarsym.c rename to external/bsd/libelf/dist/elf_getarsym.c index 5709178a3..de0a378b1 100644 --- a/lib/libelf/elf_getarsym.c +++ b/external/bsd/libelf/dist/elf_getarsym.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_getarsym.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_getarsym.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf_Arsym * elf_getarsym(Elf *ar, size_t *ptr) { @@ -46,9 +47,7 @@ elf_getarsym(Elf *ar, size_t *ptr) else if ((symtab = ar->e_u.e_ar.e_symtab) != NULL) n = ar->e_u.e_ar.e_symtabsz; else if (ar->e_u.e_ar.e_rawsymtab) - symtab = (ar->e_flags & LIBELF_F_AR_VARIANT_SVR4) ? - _libelf_ar_process_svr4_symtab(ar, &n) : - _libelf_ar_process_bsd_symtab(ar, &n); + symtab = _libelf_ar_process_symtab(ar, &n); else LIBELF_SET_ERROR(ARCHIVE, 0); @@ -56,3 +55,4 @@ elf_getarsym(Elf *ar, size_t *ptr) *ptr = n; return (symtab); } + diff --git a/lib/libelf/elf_getbase.3 b/external/bsd/libelf/dist/elf_getbase.3 similarity index 76% rename from lib/libelf/elf_getbase.3 rename to external/bsd/libelf/dist/elf_getbase.3 index c1cd4ae51..2916c67b7 100644 --- a/lib/libelf/elf_getbase.3 +++ b/external/bsd/libelf/dist/elf_getbase.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008,2010 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getbase.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +23,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getbase.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" -.Dd June 6, 2010 +.Dd June 11, 2006 .Os .Dt ELF_GETBASE 3 .Sh NAME @@ -38,21 +40,17 @@ .Sh DESCRIPTION Function .Fn elf_getbase -returns the file offset to the first byte of the object referenced by ELF -descriptor +returns the file offset in the containing archive of the first byte of +the file referenced by ELF descriptor .Ar elf . -.Pp -For descriptors referencing members of archives, the returned offset is -the file offset of the member in its containing archive. -For descriptors to regular objects, the returned offset is (vacuously) -zero. .Sh RETURN VALUES Function .Fn elf_getbase -returns a valid file offset if successful, or -.Pq Vt off_t -.Li -1 -in case of an error. +returns a valid file offset into the containing archive if successful. +It returns -1 if argument +.Ar elf +is NULL or is not a member of an +archive. .Sh ERRORS Function .Fn elf_getbase @@ -61,7 +59,7 @@ may fail with the following errors: .It Bq Er ELF_E_ARGUMENT Argument .Ar elf -was NULL. +is not an ELF descriptor for an archive member. .El .Sh SEE ALSO .Xr elf 3 , diff --git a/lib/libelf/elf_getbase.c b/external/bsd/libelf/dist/elf_getbase.c similarity index 84% rename from lib/libelf/elf_getbase.c rename to external/bsd/libelf/dist/elf_getbase.c index 0d5479e4b..0c60f7b13 100644 --- a/lib/libelf/elf_getbase.c +++ b/external/bsd/libelf/dist/elf_getbase.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_getbase.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,24 +27,21 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_getbase.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - off_t elf_getbase(Elf *e) { - if (e == NULL) { + if (e == NULL || + e->e_parent == NULL) { LIBELF_SET_ERROR(ARGUMENT, 0); - return ((off_t) -1); + return (off_t) -1; } - if (e->e_parent == NULL) - return ((off_t) 0); - return ((off_t) ((uintptr_t) e->e_rawfile - (uintptr_t) e->e_parent->e_rawfile)); } diff --git a/lib/libelf/elf_getdata.3 b/external/bsd/libelf/dist/elf_getdata.3 similarity index 75% rename from lib/libelf/elf_getdata.3 rename to external/bsd/libelf/dist/elf_getdata.3 index 195567e9a..a2afc1e37 100644 --- a/lib/libelf/elf_getdata.3 +++ b/external/bsd/libelf/dist/elf_getdata.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008,2010-2011 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getdata.3,v 1.3 2010/01/29 10:49:07 wiz Exp $ +.\" +.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +23,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getdata.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" -.Dd January 26, 2011 +.Dd April 7, 2008 .Os .Dt ELF_GETDATA 3 .Sh NAME @@ -54,18 +56,24 @@ will return the next data descriptor associated with section descriptor The returned data descriptor will be setup to contain translated data. Argument .Ar data -may be NULL, in which case the function returns the first data descriptor +may be +.Dv NULL , +in which case the function returns the first data descriptor associated with section .Ar scn . If argument .Ar data -is not NULL, it must be a pointer to a data descriptor associated with +is not +.Dv NULL , +it must be a pointer to a data descriptor associated with section descriptor .Ar scn , and function .Fn elf_getdata will return a pointer to the next data descriptor for the section, -or NULL when the end of the section's descriptor list is reached. +or +.Dv NULL +when the end of the section's descriptor list is reached. .Pp Function .Fn elf_newdata @@ -77,7 +85,8 @@ The new data descriptor will be initialized as follows: .It Va d_align Set to 1. .It Va d_buf -Initialized to NULL. +Initialized to +.Dv NULL . .It Va d_off Set to (off_t) -1. This field is under application control if the @@ -124,17 +133,21 @@ In contrast to function this function returns untranslated data. If argument .Ar data -is NULL, the first data descriptor associated with section +is +.Dv NULL , +the first data descriptor associated with section .Ar scn is returned. If argument .Ar data -is not NULL, is must be a data descriptor associated with -section +is not +.Dv NULL , +is must be a data descriptor associated with section .Ar scn , and function .Fn elf_rawdata -will return the next data descriptor in the list, or NULL +will return the next data descriptor in the list, or +.Dv NULL if no further descriptors are present. Function .Fn elf_rawdata @@ -142,10 +155,9 @@ always returns .Vt Elf_Data structures of type .Dv ELF_T_BYTE . -.Ss Special handling of zero-sized and SHT_NOBITS sections +.Ss Special handling of SHT_NOBITS sections For sections of type -.Dv SHT_NOBITS, -and for zero-sized sections, +.Dv SHT_NOBITS , the functions .Fn elf_getdata and @@ -154,7 +166,9 @@ return a pointer to a valid .Vt Elf_Data structure that has its .Va d_buf -member set to NULL and its +member set to +.Dv NULL +and its .Va d_size member set to the size of the section. .Pp @@ -168,48 +182,27 @@ and .Va d_size members of the returned .Vt Elf_Data -structure to NULL and the desired size of the section respectively. +structure to +.Dv NULL +and the desired size of the section respectively. .Sh RETURN VALUES These functions return a valid pointer to a data descriptor if successful, or -NULL if an error occurs. +.Dv NULL +if an error occurs. .Sh ERRORS These functions may fail with the following errors: -.Bl -tag -width "[ELF_E_RESOURCE]" +.Bl -tag -width "[ELF_E_RESOURCE]" .It Bq Er ELF_E_ARGUMENT -Either of arguments +Arguments .Ar scn -or +was +.Dv NULL , +or data descriptor .Ar data -was NULL. -.It Bq Er ELF_E_ARGUMENT -The data descriptor referenced by argument -.Ar data -is not associated with section descriptor +was not associated with section descriptor .Ar scn . -.It Bq Er ELF_E_ARGUMENT -The section denoted by argument -.Ar scn -had no data associated with it. -.It Bq Er ELF_E_DATA -Retrieval of data from the underlying object failed. .It Bq Er ELF_E_RESOURCE An out of memory condition was detected. -.It Bq Er ELF_E_SECTION -The section type associated with section -.Ar scn -is not recognized by the library. -.It Bq Er ELF_E_SECTION -The size of the section -.Ar scn -is not a multiple of the file size for its section type. -.It Bq Er ELF_E_SECTION -The file offset for section -.Ar scn -is incorrect. -.It Bq Er ELF_E_UNIMPL -The section type associated with section -.Ar scn -is currently unsupported by the library. .El .Sh SEE ALSO .Xr elf 3 , @@ -218,7 +211,6 @@ is currently unsupported by the library. .Xr elf_getscn 3 , .Xr elf_getshdr 3 , .Xr elf_newscn 3 , -.Xr elf_rawfile 3 , .Xr elf_update 3 , .Xr elf_version 3 , .Xr gelf 3 diff --git a/lib/libelf/elf_getident.3 b/external/bsd/libelf/dist/elf_getident.3 similarity index 91% rename from lib/libelf/elf_getident.3 rename to external/bsd/libelf/dist/elf_getident.3 index 6e9ed47f7..624726d11 100644 --- a/lib/libelf/elf_getident.3 +++ b/external/bsd/libelf/dist/elf_getident.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getident.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getident.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd July 3, 2006 .Os diff --git a/lib/libelf/elf_getident.c b/external/bsd/libelf/dist/elf_getident.c similarity index 86% rename from lib/libelf/elf_getident.c rename to external/bsd/libelf/dist/elf_getident.c index b368e02e4..8421ad8cf 100644 --- a/lib/libelf/elf_getident.c +++ b/external/bsd/libelf/dist/elf_getident.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_getident.c,v 1.2 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +26,12 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_getident.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -32,8 +39,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - char * elf_getident(Elf *e, size_t *sz) { @@ -59,7 +64,7 @@ elf_getident(Elf *e, size_t *sz) *sz = e->e_rawsize; } - return ((char *) e->e_rawfile); + return (e->e_rawfile); error: if (sz) diff --git a/lib/libelf/elf_getphnum.3 b/external/bsd/libelf/dist/elf_getphnum.3 similarity index 89% rename from lib/libelf/elf_getphnum.3 rename to external/bsd/libelf/dist/elf_getphnum.3 index 97aa9bce9..d4f7e9d4c 100644 --- a/lib/libelf/elf_getphnum.3 +++ b/external/bsd/libelf/dist/elf_getphnum.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getphnum.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +23,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getphnum.3,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" -.Dd August 5, 2009 +.Dd December 16, 2006 .Os .Dt ELF_GETPHNUM 3 .Sh NAME @@ -36,11 +38,6 @@ .Ft int .Fn elf_getphnum "Elf *elf" "size_t *phnum" .Sh DESCRIPTION -This function is deprecated. -Please use function -.Xr elf_getphdrnum 3 -instead. -.Pp Function .Fn elf_getphnum retrieves the number of ELF program headers associated with descriptor @@ -86,8 +83,7 @@ was corrupt. .Xr elf32_getehdr 3 , .Xr elf64_getehdr 3 , .Xr elf_getident 3 , -.Xr elf_getphdrnum 3 , -.Xr elf_getshdrnum 3 , -.Xr elf_getshdrstrndx 3 , +.Xr elf_getshnum 3 , +.Xr elf_getshstrndx 3 , .Xr gelf 3 , .Xr gelf_getehdr 3 diff --git a/lib/libelf/elf_getscn.3 b/external/bsd/libelf/dist/elf_getscn.3 similarity index 94% rename from lib/libelf/elf_getscn.3 rename to external/bsd/libelf/dist/elf_getscn.3 index ba53da7ea..f906be71e 100644 --- a/lib/libelf/elf_getscn.3 +++ b/external/bsd/libelf/dist/elf_getscn.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getscn.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006,2007 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getscn.3,v 1.3.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd October 22, 2007 .Os diff --git a/lib/libelf/elf_getshnum.3 b/external/bsd/libelf/dist/elf_getshnum.3 similarity index 89% rename from lib/libelf/elf_getshnum.3 rename to external/bsd/libelf/dist/elf_getshnum.3 index 8521c7f2c..b12fa4979 100644 --- a/lib/libelf/elf_getshnum.3 +++ b/external/bsd/libelf/dist/elf_getshnum.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getshnum.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +23,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getshnum.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" -.Dd August 5, 2009 +.Dd October 31, 2006 .Os .Dt ELF_GETSHNUM 3 .Sh NAME @@ -36,11 +38,6 @@ .Ft int .Fn elf_getshnum "Elf *elf" "size_t *shnum" .Sh DESCRIPTION -This function is deprecated. -Please use -.Xr elf_getshdrnum 3 -instead. -.Pp Function .Fn elf_getshnum retrieves the number of ELF sections associated with descriptor @@ -78,7 +75,6 @@ lacks an ELF Executable header. .Xr elf32_getehdr 3 , .Xr elf64_getehdr 3 , .Xr elf_getident 3 , -.Xr elf_getphdrnum 3 , -.Xr elf_getshdrstrndx 3 , +.Xr elf_getshstrndx 3 , .Xr gelf 3 , .Xr gelf_getehdr 3 diff --git a/lib/libelf/elf_getshstrndx.3 b/external/bsd/libelf/dist/elf_getshstrndx.3 similarity index 90% rename from lib/libelf/elf_getshstrndx.3 rename to external/bsd/libelf/dist/elf_getshstrndx.3 index 534ddfbcb..59d32788b 100644 --- a/lib/libelf/elf_getshstrndx.3 +++ b/external/bsd/libelf/dist/elf_getshstrndx.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_getshstrndx.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,9 +23,9 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_getshstrndx.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" -.Dd August 5, 2009 +.Dd October 31, 2006 .Os .Dt ELF_GETSHSTRNDX 3 .Sh NAME @@ -46,12 +48,6 @@ names from descriptor .Ar elf and stores it into the location pointed to by argument .Ar ndxptr . -Function -.Fn elf_getshstrndx -is deprecated. -Please use -.Xr elf_getshdrstrndx 3 -instead. .Pp Function .Fn elf_setshstrndx @@ -88,7 +84,6 @@ contained a value in the reserved range of section indices. .Xr elf32_getehdr 3 , .Xr elf64_getehdr 3 , .Xr elf_getident 3 , -.Xr elf_getphdrnum 3 , -.Xr elf_getshdrnum 3 , +.Xr elf_getshnum 3 , .Xr gelf 3 , .Xr gelf_getehdr 3 diff --git a/lib/libelf/elf_hash.3 b/external/bsd/libelf/dist/elf_hash.3 similarity index 90% rename from lib/libelf/elf_hash.3 rename to external/bsd/libelf/dist/elf_hash.3 index 70c4ac59e..5afa4aadd 100644 --- a/lib/libelf/elf_hash.3 +++ b/external/bsd/libelf/dist/elf_hash.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_hash.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_hash.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 15, 2006 .Os diff --git a/lib/libelf/elf_hash.c b/external/bsd/libelf/dist/elf_hash.c similarity index 81% rename from lib/libelf/elf_hash.c rename to external/bsd/libelf/dist/elf_hash.c index 8f3f276d8..11814c9df 100644 --- a/lib/libelf/elf_hash.c +++ b/external/bsd/libelf/dist/elf_hash.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_hash.c,v 1.3 2009/12/29 17:05:58 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,19 +27,17 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_hash.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include -#include "_libelf_config.h" - -LIBELF_VCSID("$Id$"); - /* - * This elf_hash function is defined by the System V ABI. + * This elf_hash function is defined by the System V ABI. It must be + * kept compatible with "src/libexec/rtld-elf/rtld.c". */ unsigned long -elf_hash(const char *name) +elf_hash(const void *name) { unsigned long h, t; const unsigned char *s; diff --git a/lib/libelf/elf_kind.3 b/external/bsd/libelf/dist/elf_kind.3 similarity index 90% rename from lib/libelf/elf_kind.3 rename to external/bsd/libelf/dist/elf_kind.3 index d5275d2e3..44a2cc45c 100644 --- a/lib/libelf/elf_kind.3 +++ b/external/bsd/libelf/dist/elf_kind.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_kind.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_kind.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 1, 2006 .Os diff --git a/lib/libelf/elf_kind.c b/external/bsd/libelf/dist/elf_kind.c similarity index 88% rename from lib/libelf/elf_kind.c rename to external/bsd/libelf/dist/elf_kind.c index 16098bd39..ed92e0a2e 100644 --- a/lib/libelf/elf_kind.c +++ b/external/bsd/libelf/dist/elf_kind.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_kind.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_kind.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf_Kind elf_kind(Elf *e) { diff --git a/lib/libelf/elf_memory.3 b/external/bsd/libelf/dist/elf_memory.3 similarity index 93% rename from lib/libelf/elf_memory.3 rename to external/bsd/libelf/dist/elf_memory.3 index 7943d5ed2..8e8cff765 100644 --- a/lib/libelf/elf_memory.3 +++ b/external/bsd/libelf/dist/elf_memory.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_memory.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_memory.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 28, 2006 .Os diff --git a/lib/libelf/elf_memory.c b/external/bsd/libelf/dist/elf_memory.c similarity index 92% rename from lib/libelf/elf_memory.c rename to external/bsd/libelf/dist/elf_memory.c index c7990cc0c..96f912a89 100644 --- a/lib/libelf/elf_memory.c +++ b/external/bsd/libelf/dist/elf_memory.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_memory.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,6 +27,7 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_memory.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -32,8 +35,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf * elf_memory(char *image, size_t sz) { diff --git a/lib/libelf/elf_next.3 b/external/bsd/libelf/dist/elf_next.3 similarity index 92% rename from lib/libelf/elf_next.3 rename to external/bsd/libelf/dist/elf_next.3 index d36538ac6..c56dd4e60 100644 --- a/lib/libelf/elf_next.3 +++ b/external/bsd/libelf/dist/elf_next.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_next.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_next.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 17, 2006 .Os diff --git a/lib/libelf/elf_next.c b/external/bsd/libelf/dist/elf_next.c similarity index 86% rename from lib/libelf/elf_next.c rename to external/bsd/libelf/dist/elf_next.c index c38ec7fe3..c79f20769 100644 --- a/lib/libelf/elf_next.c +++ b/external/bsd/libelf/dist/elf_next.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_next.c,v 1.2 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +26,12 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_next.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -32,8 +39,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf_Cmd elf_next(Elf *e) { @@ -50,6 +55,7 @@ elf_next(Elf *e) assert (parent->e_kind == ELF_K_AR); assert (parent->e_cmd == ELF_C_READ); + assert((uintptr_t) e->e_rawfile % 2 == 0); assert(e->e_rawfile > parent->e_rawfile); next = e->e_rawfile - parent->e_rawfile + e->e_rawsize; diff --git a/lib/libelf/elf_phnum.c b/external/bsd/libelf/dist/elf_phnum.c similarity index 84% rename from lib/libelf/elf_phnum.c rename to external/bsd/libelf/dist/elf_phnum.c index 84488da2a..aa3c46ae7 100644 --- a/lib/libelf/elf_phnum.c +++ b/external/bsd/libelf/dist/elf_phnum.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_phnum.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,16 +27,15 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_phnum.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - -static int -_libelf_getphdrnum(Elf *e, size_t *phnum) +int +elf_getphnum(Elf *e, size_t *phnum) { void *eh; int ec; @@ -42,26 +43,13 @@ _libelf_getphdrnum(Elf *e, size_t *phnum) if (e == NULL || e->e_kind != ELF_K_ELF || ((ec = e->e_class) != ELFCLASS32 && ec != ELFCLASS64)) { LIBELF_SET_ERROR(ARGUMENT, 0); - return (-1); + return (0); } if ((eh = _libelf_ehdr(e, ec, 0)) == NULL) - return (-1); + return (0); *phnum = e->e_u.e_elf.e_nphdr; - return (0); -} - -int -elf_getphdrnum(Elf *e, size_t *phnum) -{ - return (_libelf_getphdrnum(e, phnum)); -} - -/* Deprecated API */ -int -elf_getphnum(Elf *e, size_t *phnum) -{ - return (_libelf_getphdrnum(e, phnum) >= 0); + return (1); } diff --git a/lib/libelf/elf_rand.3 b/external/bsd/libelf/dist/elf_rand.3 similarity index 93% rename from lib/libelf/elf_rand.3 rename to external/bsd/libelf/dist/elf_rand.3 index 1190e1c74..d617db0be 100644 --- a/lib/libelf/elf_rand.3 +++ b/external/bsd/libelf/dist/elf_rand.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_rand.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_rand.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 17, 2006 .Os diff --git a/lib/libelf/elf_rand.c b/external/bsd/libelf/dist/elf_rand.c similarity index 90% rename from lib/libelf/elf_rand.c rename to external/bsd/libelf/dist/elf_rand.c index 953ff4d14..8583db1fd 100644 --- a/lib/libelf/elf_rand.c +++ b/external/bsd/libelf/dist/elf_rand.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_rand.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,14 +27,13 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_rand.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - off_t elf_rand(Elf *ar, off_t offset) { diff --git a/lib/libelf/elf_rawfile.3 b/external/bsd/libelf/dist/elf_rawfile.3 similarity index 91% rename from lib/libelf/elf_rawfile.3 rename to external/bsd/libelf/dist/elf_rawfile.3 index 3b0b929aa..8885a3a76 100644 --- a/lib/libelf/elf_rawfile.3 +++ b/external/bsd/libelf/dist/elf_rawfile.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_rawfile.3,v 1.1.1.1 2009/12/19 05:43:39 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_rawfile.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd July 3, 2006 .Os diff --git a/lib/libelf/elf_rawfile.c b/external/bsd/libelf/dist/elf_rawfile.c similarity index 88% rename from lib/libelf/elf_rawfile.c rename to external/bsd/libelf/dist/elf_rawfile.c index cce063706..91b5021c3 100644 --- a/lib/libelf/elf_rawfile.c +++ b/external/bsd/libelf/dist/elf_rawfile.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_rawfile.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_rawfile.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - char * elf_rawfile(Elf *e, size_t *sz) { diff --git a/lib/libelf/elf_scn.c b/external/bsd/libelf/dist/elf_scn.c similarity index 88% rename from lib/libelf/elf_scn.c rename to external/bsd/libelf/dist/elf_scn.c index 232efafc9..c399a0d22 100644 --- a/lib/libelf/elf_scn.c +++ b/external/bsd/libelf/dist/elf_scn.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_scn.c,v 1.6 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008-2010 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,8 +26,12 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include -#include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_scn.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -33,16 +39,15 @@ #include #include #include +#include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Load an ELF section table and create a list of Elf_Scn structures. */ -int -_libelf_load_section_headers(Elf *e, void *ehdr) +static int +_libelf_load_scn(Elf *e, void *ehdr) { int ec, swapbytes; size_t fsz, i, shnum; @@ -51,7 +56,7 @@ _libelf_load_section_headers(Elf *e, void *ehdr) Elf32_Ehdr *eh32; Elf64_Ehdr *eh64; Elf_Scn *scn; - int (*xlator)(char *_d, size_t _dsz, char *_s, size_t _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); assert(e != NULL); assert(ehdr != NULL); @@ -63,7 +68,7 @@ _libelf_load_section_headers(Elf *e, void *ehdr) LIBELF_SET_ERROR(HEADER, 0); \ return (0); \ } \ - } while (0) + } while (/*CONSTCOND*/0) ec = e->e_class; fsz = _libelf_fsize(ELF_T_SHDR, ec, e->e_version, (size_t) 1); @@ -83,8 +88,12 @@ _libelf_load_section_headers(Elf *e, void *ehdr) xlator = _libelf_get_translator(ELF_T_SHDR, ELF_TOMEMORY, ec); - swapbytes = e->e_byteorder != LIBELF_PRIVATE(byteorder); - src = e->e_rawfile + shoff; + swapbytes = e->e_byteorder != _libelf_host_byteorder(); + if (shoff > SSIZE_MAX) { + LIBELF_SET_ERROR(HEADER, 0); + return (0); + } + src = e->e_rawfile + (ssize_t)shoff; /* * If the file is using extended numbering then section #0 @@ -104,8 +113,7 @@ _libelf_load_section_headers(Elf *e, void *ehdr) if ((scn = _libelf_allocate_scn(e, i)) == NULL) return (0); - (*xlator)((char *) &scn->s_shdr, sizeof(scn->s_shdr), src, - (size_t) 1, swapbytes); + (*xlator)((void *) &scn->s_shdr, src, (size_t) 1, swapbytes); if (ec == ELFCLASS32) { scn->s_offset = scn->s_rawoff = @@ -142,7 +150,7 @@ elf_getscn(Elf *e, size_t index) if (e->e_cmd != ELF_C_WRITE && (e->e_flags & LIBELF_F_SHDRS_LOADED) == 0 && - _libelf_load_section_headers(e, ehdr) == 0) + _libelf_load_scn(e, ehdr) == 0) return (NULL); STAILQ_FOREACH(s, &e->e_u.e_elf.e_scn, s_next) @@ -195,7 +203,7 @@ elf_newscn(Elf *e) */ if (e->e_cmd != ELF_C_WRITE && (e->e_flags & LIBELF_F_SHDRS_LOADED) == 0 && - _libelf_load_section_headers(e, ehdr) == 0) + _libelf_load_scn(e, ehdr) == 0) return (NULL); if (STAILQ_EMPTY(&e->e_u.e_elf.e_scn)) { diff --git a/lib/libelf/elf_shnum.c b/external/bsd/libelf/dist/elf_shnum.c similarity index 84% rename from lib/libelf/elf_shnum.c rename to external/bsd/libelf/dist/elf_shnum.c index ba0447e71..23c6493f0 100644 --- a/lib/libelf/elf_shnum.c +++ b/external/bsd/libelf/dist/elf_shnum.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_shnum.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,16 +27,15 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_shnum.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - -static int -_libelf_getshdrnum(Elf *e, size_t *shnum) +int +elf_getshnum(Elf *e, size_t *shnum) { void *eh; int ec; @@ -42,26 +43,13 @@ _libelf_getshdrnum(Elf *e, size_t *shnum) if (e == NULL || e->e_kind != ELF_K_ELF || ((ec = e->e_class) != ELFCLASS32 && ec != ELFCLASS64)) { LIBELF_SET_ERROR(ARGUMENT, 0); - return (-1); + return (0); } if ((eh = _libelf_ehdr(e, ec, 0)) == NULL) - return (-1); + return (0); *shnum = e->e_u.e_elf.e_nscn; - return (0); -} - -int -elf_getshdrnum(Elf *e, size_t *shnum) -{ - return (_libelf_getshdrnum(e, shnum)); -} - -/* Deprecated API. */ -int -elf_getshnum(Elf *e, size_t *shnum) -{ - return (_libelf_getshdrnum(e, shnum) >= 0); + return (1); } diff --git a/lib/libelf/elf_shstrndx.c b/external/bsd/libelf/dist/elf_shstrndx.c similarity index 84% rename from lib/libelf/elf_shstrndx.c rename to external/bsd/libelf/dist/elf_shstrndx.c index 0fe2f9ff2..ceb4a3e7d 100644 --- a/lib/libelf/elf_shstrndx.c +++ b/external/bsd/libelf/dist/elf_shstrndx.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_shstrndx.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,16 +27,15 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_shstrndx.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - -static int -_libelf_getshdrstrndx(Elf *e, size_t *strndx) +int +elf_getshstrndx(Elf *e, size_t *strndx) { void *eh; int ec; @@ -42,27 +43,15 @@ _libelf_getshdrstrndx(Elf *e, size_t *strndx) if (e == NULL || e->e_kind != ELF_K_ELF || ((ec = e->e_class) != ELFCLASS32 && ec != ELFCLASS64)) { LIBELF_SET_ERROR(ARGUMENT, 0); - return (-1); + return (0); } if ((eh = _libelf_ehdr(e, ec, 0)) == NULL) - return (-1); + return (0); *strndx = e->e_u.e_elf.e_strndx; - return (0); -} - -int -elf_getshdrstrndx(Elf *e, size_t *strndx) -{ - return (_libelf_getshdrstrndx(e, strndx)); -} - -int -elf_getshstrndx(Elf *e, size_t *strndx) /* Deprecated API. */ -{ - return (_libelf_getshdrstrndx(e, strndx) >= 0); + return (1); } int diff --git a/lib/libelf/elf_strptr.3 b/external/bsd/libelf/dist/elf_strptr.3 similarity index 92% rename from lib/libelf/elf_strptr.3 rename to external/bsd/libelf/dist/elf_strptr.3 index e4882e9bd..b5e8109db 100644 --- a/lib/libelf/elf_strptr.3 +++ b/external/bsd/libelf/dist/elf_strptr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_strptr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_strptr.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd December 16, 2006 .Os @@ -76,7 +78,7 @@ was not the section index for a string table. .It Bq Er ELF_E_ARGUMENT Argument .Ar stroffset -exceeded the size of the string table. +exceeeded the size of the string table. .It Bq Er ELF_E_ARGUMENT Argument .Ar stroffset diff --git a/lib/libelf/elf_strptr.c b/external/bsd/libelf/dist/elf_strptr.c similarity index 90% rename from lib/libelf/elf_strptr.c rename to external/bsd/libelf/dist/elf_strptr.c index b96a7dd23..29a5dd6b4 100644 --- a/lib/libelf/elf_strptr.c +++ b/external/bsd/libelf/dist/elf_strptr.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_strptr.c,v 1.2 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,13 +26,20 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_strptr.c,v 1.2.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include + #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Convert an ELF section#,offset pair to a string pointer. */ @@ -52,7 +61,7 @@ elf_strptr(Elf *e, size_t scndx, size_t offset) gelf_getshdr(s, &shdr) == NULL) return (NULL); - if (shdr.sh_type != SHT_STRTAB || + if (/*shdr.sh_type != SHT_STRTAB || */ offset >= shdr.sh_size) { LIBELF_SET_ERROR(ARGUMENT, 0); return (NULL); diff --git a/lib/libelf/elf_types.m4 b/external/bsd/libelf/dist/elf_types.m4 similarity index 85% rename from lib/libelf/elf_types.m4 rename to external/bsd/libelf/dist/elf_types.m4 index e23cfd97b..663a790b9 100644 --- a/lib/libelf/elf_types.m4 +++ b/external/bsd/libelf/dist/elf_types.m4 @@ -1,5 +1,7 @@ +/* $NetBSD: elf_types.m4,v 1.2 2009/12/19 07:31:04 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,43 +25,43 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $FreeBSD: src/lib/libelf/elf_types.m4,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ /* * ELF types, defined in the "enum Elf_Type" API. * - * The members of the list form a 2-tuple: (name, C-type-suffix). + * The members of the list form a 3-tuple: (name, C-type-suffix, condition). * + `name' is an Elf_Type symbol without the `ELF_T_' prefix. * + `C-type-suffix' is the suffix for Elf32_ and Elf64_ type names. + * + `condition' is the conditional check for this type. */ define(`ELF_TYPE_LIST', - ``ADDR, Addr', - `BYTE, Byte', - `CAP, Cap', - `DYN, Dyn', - `EHDR, Ehdr', - `GNUHASH, -', - `HALF, Half', - `LWORD, Lword', - `MOVE, Move', - `MOVEP, MoveP', - `NOTE, Note', - `OFF, Off', - `PHDR, Phdr', - `REL, Rel', - `RELA, Rela', - `SHDR, Shdr', - `SWORD, Sword', - `SXWORD, Sxword', - `SYMINFO, Syminfo', - `SYM, Sym', - `VDEF, Verdef', - `VNEED, Verneed', - `WORD, Word', - `XWORD, Xword', - `NUM, _'') + ``ADDR, Addr, 1', + `BYTE, Byte, 1', + `CAP, Cap, __LIBELF_HAVE_ELF_CAP', + `DYN, Dyn, 1', + `EHDR, Ehdr, 1', + `HALF, Half, 1', + `LWORD, Lword, __LIBELF_HAVE_ELF_MOVE', + `MOVE, Move, __LIBELF_HAVE_ELF_MOVE', + `MOVEP, MoveP, __LIBELF_HAVE_ELF_MOVE', + `NOTE, Note, 1', + `OFF, Off, 1', + `PHDR, Phdr, 1', + `REL, Rel, 1', + `RELA, Rela, 1', + `SHDR, Shdr, 1', + `SWORD, Sword, 1', + `SXWORD, Sxword, __LIBELF_HAVE_ELF_VERS', + `SYMINFO, Syminfo, __LIBELF_HAVE_ELF_SYMINFO', + `SYM, Sym, 1', + `VDEF, Verdef, __LIBELF_HAVE_ELF_VERS', + `VNEED, Verneed, __LIBELF_HAVE_ELF_VERS', + `WORD, Word, 1', + `XWORD, Xword, __LIBELF_HAVE_ELF_VERS', + `NUM, _, _'') /* * DEFINE_STRUCT(NAME,MEMBERLIST...) diff --git a/lib/libelf/elf_update.3 b/external/bsd/libelf/dist/elf_update.3 similarity index 96% rename from lib/libelf/elf_update.3 rename to external/bsd/libelf/dist/elf_update.3 index 80cbbc7cd..dccc3f49d 100644 --- a/lib/libelf/elf_update.3 +++ b/external/bsd/libelf/dist/elf_update.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_update.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006,2007-2008 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_update.3,v 1.6.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd March 19, 2008 .Os @@ -87,7 +89,7 @@ or .Dv ELFDATA2MSB . .It Va "e_ident[EI_OSABI]" Set to the OS ABI desired. -For example, for +For .Fx executables, this field should be set to .Dv ELFOSABI_FREEBSD . @@ -133,7 +135,7 @@ This value must be a power of two. Set to the size of each entry, for sections containing fixed size elements, or set to zero for sections without fixed size elements. If the application is not managing file layout, it may leave this -field as zero for those sections whose types are known to the library. +field as zero for those sections whose types known to the library. .It Va sh_flags Set to the desired section flags. .It Va sh_info diff --git a/lib/libelf/elf_update.c b/external/bsd/libelf/dist/elf_update.c similarity index 95% rename from lib/libelf/elf_update.c rename to external/bsd/libelf/dist/elf_update.c index ea182153a..a1d2c5e10 100644 --- a/lib/libelf/elf_update.c +++ b/external/bsd/libelf/dist/elf_update.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_update.c,v 1.5 2013/10/18 08:04:47 mrg Exp $ */ + /*- - * Copyright (c) 2006-2010 Joseph Koshy + * Copyright (c) 2006-2008 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,10 +26,16 @@ * SUCH DAMAGE. */ -#if 0 -#include +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" #endif +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_update.c,v 1.5.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include +#include + #include #include #include @@ -38,8 +46,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Update the internal data structures associated with an ELF object. * Returns the size in bytes the ELF object would occupy in its file @@ -119,14 +125,7 @@ _libelf_compute_section_extents(Elf *e, Elf_Scn *s, off_t *rc) if (sh_type == SHT_NULL || sh_type == SHT_NOBITS) return (1); - /* - * Use the data in the section header entry - * - for sections that are not marked as 'dirty', and, - * - for sections in ELF objects opened in in read/write mode - * for which data descriptors have not been retrieved. - */ - if ((s->s_flags & ELF_F_DIRTY) == 0 || - ((e->e_cmd == ELF_C_RDWR) && STAILQ_EMPTY(&s->s_data))) { + if ((s->s_flags & ELF_F_DIRTY) == 0) { if ((size_t) *rc < sh_offset + sh_size) *rc = sh_offset + sh_size; return (1); @@ -304,6 +303,7 @@ _libelf_resync_sections(Elf *e, off_t rc) else sh_type = s->s_shdr.s_shdr64.sh_type; + /* XXX Do we need the 'size' field of an SHT_NOBITS section */ if (sh_type == SHT_NOBITS || sh_type == SHT_NULL) continue; @@ -357,7 +357,7 @@ _libelf_resync_sections(Elf *e, off_t rc) static off_t _libelf_resync_elf(Elf *e) { - int ec, eh_class, eh_type; + int ec, eh_class; unsigned int eh_byteorder, eh_version; size_t align, fsz; size_t phnum, shnum; @@ -386,14 +386,12 @@ _libelf_resync_elf(Elf *e) eh_class = eh32->e_ident[EI_CLASS]; phoff = (uint64_t) eh32->e_phoff; shoff = (uint64_t) eh32->e_shoff; - eh_type = eh32->e_type; eh_version = eh32->e_version; } else { eh_byteorder = eh64->e_ident[EI_DATA]; eh_class = eh64->e_ident[EI_CLASS]; phoff = eh64->e_phoff; shoff = eh64->e_shoff; - eh_type = eh64->e_type; eh_version = eh64->e_version; } @@ -429,11 +427,11 @@ _libelf_resync_elf(Elf *e) (E)->e_ident[EI_VERSION] = (V); \ (E)->e_ehsize = _libelf_fsize(ELF_T_EHDR, (EC), (V), \ (size_t) 1); \ - (E)->e_phentsize = (phnum == 0) ? 0 : _libelf_fsize( \ - ELF_T_PHDR, (EC), (V), (size_t) 1); \ + (E)->e_phentsize = _libelf_fsize(ELF_T_PHDR, (EC), (V), \ + (size_t) 1); \ (E)->e_shentsize = _libelf_fsize(ELF_T_SHDR, (EC), (V), \ (size_t) 1); \ - } while (0) + } while (/*CONSTCOND*/0) if (ec == ELFCLASS32) INITIALIZE_EHDR(eh32, ec, eh_version); @@ -479,11 +477,6 @@ _libelf_resync_elf(Elf *e) * file. */ - if (e->e_cmd != ELF_C_WRITE && - (e->e_flags & LIBELF_F_SHDRS_LOADED) == 0 && - _libelf_load_section_headers(e, ehdr) == 0) - return ((off_t) -1); - if ((rc = _libelf_resync_sections(e, rc)) < 0) return ((off_t) -1); @@ -546,24 +539,22 @@ _libelf_write_scn(Elf *e, char *nf, Elf_Scn *s, off_t rc) int ec; size_t fsz, msz, nobjects; uint32_t sh_type; - uint64_t sh_off, sh_size; + uint64_t sh_off; int elftype; Elf_Data *d, dst; - if ((ec = e->e_class) == ELFCLASS32) { + if ((ec = e->e_class) == ELFCLASS32) sh_type = s->s_shdr.s_shdr32.sh_type; - sh_size = (uint64_t) s->s_shdr.s_shdr32.sh_size; - } else { + else sh_type = s->s_shdr.s_shdr64.sh_type; - sh_size = s->s_shdr.s_shdr64.sh_size; - } /* * Ignore sections that do not allocate space in the file. */ - if (sh_type == SHT_NOBITS || sh_type == SHT_NULL || sh_size == 0) + if (sh_type == SHT_NOBITS || sh_type == SHT_NULL) return (rc); + elftype = _libelf_xlate_shtype(sh_type); assert(elftype >= ELF_T_FIRST && elftype <= ELF_T_LAST); @@ -738,9 +729,14 @@ _libelf_write_elf(Elf *e, off_t newsize) assert(phoff % _libelf_falign(ELF_T_PHDR, ec) == 0); assert(fsz > 0); - src.d_buf = _libelf_getphdr(e, ec); src.d_version = dst.d_version = e->e_version; src.d_type = ELF_T_PHDR; + + if (ec == ELFCLASS32) + src.d_buf = e->e_u.e_elf.e_phdr.e_phdr32; + else + src.d_buf = e->e_u.e_elf.e_phdr.e_phdr64; + src.d_size = phnum * _libelf_msize(ELF_T_PHDR, ec, e->e_version); @@ -862,13 +858,11 @@ _libelf_write_elf(Elf *e, off_t newsize) e->e_u.e_elf.e_phdr.e_phdr64 = NULL; } - free(newfile); - return (rc); error: - free(newfile); - + if (newfile) + free(newfile); return ((off_t) -1); } diff --git a/lib/libelf/elf_version.3 b/external/bsd/libelf/dist/elf_version.3 similarity index 92% rename from lib/libelf/elf_version.3 rename to external/bsd/libelf/dist/elf_version.3 index 3c5e01a4d..d368866f8 100644 --- a/lib/libelf/elf_version.3 +++ b/external/bsd/libelf/dist/elf_version.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: elf_version.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/elf_version.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd June 1, 2006 .Os diff --git a/lib/libelf/elf_version.c b/external/bsd/libelf/dist/elf_version.c similarity index 88% rename from lib/libelf/elf_version.c rename to external/bsd/libelf/dist/elf_version.c index 71b31081a..ab87e6132 100644 --- a/lib/libelf/elf_version.c +++ b/external/bsd/libelf/dist/elf_version.c @@ -1,5 +1,7 @@ +/* $NetBSD: elf_version.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/elf_version.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - unsigned int elf_version(unsigned int v) { diff --git a/lib/libelf/gelf.3 b/external/bsd/libelf/dist/gelf.3 similarity index 96% rename from lib/libelf/gelf.3 rename to external/bsd/libelf/dist/gelf.3 index 42dc938ba..d55635d92 100644 --- a/lib/libelf/gelf.3 +++ b/external/bsd/libelf/dist/gelf.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf.3,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd September 1, 2006 .Os diff --git a/lib/libelf/gelf.h b/external/bsd/libelf/dist/gelf.h similarity index 90% rename from lib/libelf/gelf.h rename to external/bsd/libelf/dist/gelf.h index cb5135c06..b2eeabbd1 100644 --- a/lib/libelf/gelf.h +++ b/external/bsd/libelf/dist/gelf.h @@ -1,5 +1,7 @@ +/* $NetBSD: gelf.h,v 1.2 2009/12/19 07:31:04 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $FreeBSD: src/lib/libelf/gelf.h,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ #ifndef _GELF_H_ @@ -49,9 +51,15 @@ typedef Elf64_Sym GElf_Sym; /* Symbol table entries */ typedef Elf64_Rel GElf_Rel; /* Relocation entries */ typedef Elf64_Rela GElf_Rela; /* Relocation entries with addend */ +#if defined(__LIBELF_HAVE_ELF_CAP) typedef Elf64_Cap GElf_Cap; /* SW/HW capabilities */ +#endif +#if defined(__LIBELF_HAVE_ELF_MOVE) typedef Elf64_Move GElf_Move; /* Move entries */ +#endif +#if defined(__LIBELF_HAVE_ELF_SYMINFO) typedef Elf64_Syminfo GElf_Syminfo; /* Symbol information */ +#endif #define GELF_M_INFO ELF64_M_INFO #define GELF_M_SIZE ELF64_M_SIZE @@ -97,12 +105,21 @@ int gelf_update_symshndx(Elf_Data *_symdst, Elf_Data *_shindexdst, Elf_Data *gelf_xlatetof(Elf *_elf, Elf_Data *_dst, const Elf_Data *_src, unsigned int _encode); Elf_Data *gelf_xlatetom(Elf *_elf, Elf_Data *_dst, const Elf_Data *_src, unsigned int _encode); +#if defined(__LIBELF_HAVE_ELF_CAP) GElf_Cap *gelf_getcap(Elf_Data *_data, int _index, GElf_Cap *_cap); -GElf_Move *gelf_getmove(Elf_Data *_src, int _index, GElf_Move *_dst); -GElf_Syminfo *gelf_getsyminfo(Elf_Data *_src, int _index, GElf_Syminfo *_dst); int gelf_update_cap(Elf_Data *_dst, int _index, GElf_Cap *_src); +#endif /* __LIBELF_HAVE_ELF_CAP */ + +#if defined(__LIBELF_HAVE_ELF_MOVE) +GElf_Move *gelf_getmove(Elf_Data *_src, int _index, GElf_Move *_dst); int gelf_update_move(Elf_Data *_dst, int _index, GElf_Move *_src); +#endif /* __LIBELF_HAVE_ELF_MOVE */ + +#if defined(__LIBELF_HAVE_ELF_SYMINFO) +GElf_Syminfo *gelf_getsyminfo(Elf_Data *_src, int _index, GElf_Syminfo *_dst); int gelf_update_syminfo(Elf_Data *_dst, int _index, GElf_Syminfo *_src); +#endif /* __LIBELF_HAVE_ELF_SYMINFO */ + __END_DECLS #endif /* _GELF_H_ */ diff --git a/lib/libelf/gelf_cap.c b/external/bsd/libelf/dist/gelf_cap.c similarity index 90% rename from lib/libelf/gelf_cap.c rename to external/bsd/libelf/dist/gelf_cap.c index 8ed864eaa..1ce3c6530 100644 --- a/lib/libelf/gelf_cap.c +++ b/external/bsd/libelf/dist/gelf_cap.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_cap.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,14 +26,20 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_cap.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); +#if defined(__LIBELF_HAVE_ELF_CAP) GElf_Cap * gelf_getcap(Elf_Data *d, int ndx, GElf_Cap *dst) @@ -142,3 +150,5 @@ gelf_update_cap(Elf_Data *d, int ndx, GElf_Cap *gc) return (1); } + +#endif /* __LIBELF_HAVE_ELF_CAP */ diff --git a/lib/libelf/gelf_checksum.3 b/external/bsd/libelf/dist/gelf_checksum.3 similarity index 93% rename from lib/libelf/gelf_checksum.3 rename to external/bsd/libelf/dist/gelf_checksum.3 index 03d40225e..5364a8d68 100644 --- a/lib/libelf/gelf_checksum.3 +++ b/external/bsd/libelf/dist/gelf_checksum.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_checksum.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_checksum.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_checksum.c b/external/bsd/libelf/dist/gelf_checksum.c similarity index 88% rename from lib/libelf/gelf_checksum.c rename to external/bsd/libelf/dist/gelf_checksum.c index 10c7b4708..b701d0f50 100644 --- a/lib/libelf/gelf_checksum.c +++ b/external/bsd/libelf/dist/gelf_checksum.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_checksum.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,14 +27,13 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_checksum.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - long elf32_checksum(Elf *e) { diff --git a/lib/libelf/gelf_dyn.c b/external/bsd/libelf/dist/gelf_dyn.c similarity index 92% rename from lib/libelf/gelf_dyn.c rename to external/bsd/libelf/dist/gelf_dyn.c index fd568aac2..83eceb69e 100644 --- a/lib/libelf/gelf_dyn.c +++ b/external/bsd/libelf/dist/gelf_dyn.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_dyn.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,19 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_dyn.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - GElf_Dyn * gelf_getdyn(Elf_Data *d, int ndx, GElf_Dyn *dst) { diff --git a/lib/libelf/gelf_ehdr.c b/external/bsd/libelf/dist/gelf_ehdr.c similarity index 93% rename from lib/libelf/gelf_ehdr.c rename to external/bsd/libelf/dist/gelf_ehdr.c index 50b53b6c2..34297248d 100644 --- a/lib/libelf/gelf_ehdr.c +++ b/external/bsd/libelf/dist/gelf_ehdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_ehdr.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,17 +26,21 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_ehdr.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf32_Ehdr * elf32_getehdr(Elf *e) { @@ -136,8 +142,6 @@ gelf_update_ehdr(Elf *e, GElf_Ehdr *s) if ((ehdr = _libelf_ehdr(e, ec, 0)) == NULL) return (0); - (void) elf_flagehdr(e, ELF_C_SET, ELF_F_DIRTY); - if (ec == ELFCLASS64) { eh64 = (Elf64_Ehdr *) ehdr; *eh64 = *s; @@ -162,5 +166,7 @@ gelf_update_ehdr(Elf *e, GElf_Ehdr *s) eh32->e_shnum = s->e_shnum; eh32->e_shstrndx = s->e_shstrndx; + (void) elf_flagehdr(e, ELF_C_SET, ELF_F_DIRTY); + return (1); } diff --git a/lib/libelf/gelf_fsize.3 b/external/bsd/libelf/dist/gelf_fsize.3 similarity index 92% rename from lib/libelf/gelf_fsize.3 rename to external/bsd/libelf/dist/gelf_fsize.3 index 48b7320bc..4b57eed9c 100644 --- a/lib/libelf/gelf_fsize.3 +++ b/external/bsd/libelf/dist/gelf_fsize.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_fsize.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_fsize.3,v 1.3.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd February 5, 2008 .Os @@ -47,8 +49,6 @@ These functions return the size in bytes of the file representation of .Ar count numbers of objects of ELF type .Ar type . -For ELF types that are of variable length, these functions return a -size of one byte. .Pp Functions .Fn elf32_fsize diff --git a/lib/libelf/gelf_fsize.c b/external/bsd/libelf/dist/gelf_fsize.c similarity index 89% rename from lib/libelf/gelf_fsize.c rename to external/bsd/libelf/dist/gelf_fsize.c index c02e91b2a..f40f0c2ab 100644 --- a/lib/libelf/gelf_fsize.c +++ b/external/bsd/libelf/dist/gelf_fsize.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_fsize.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,14 +27,13 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_fsize.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - size_t elf32_fsize(Elf_Type t, size_t c, unsigned int v) { diff --git a/lib/libelf/gelf_getcap.3 b/external/bsd/libelf/dist/gelf_getcap.3 similarity index 93% rename from lib/libelf/gelf_getcap.3 rename to external/bsd/libelf/dist/gelf_getcap.3 index 960bf8f7d..0e16b05e7 100644 --- a/lib/libelf/gelf_getcap.3 +++ b/external/bsd/libelf/dist/gelf_getcap.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getcap.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getcap.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getclass.3 b/external/bsd/libelf/dist/gelf_getclass.3 similarity index 89% rename from lib/libelf/gelf_getclass.3 rename to external/bsd/libelf/dist/gelf_getclass.3 index 84cc652b1..4a86065a9 100644 --- a/lib/libelf/gelf_getclass.3 +++ b/external/bsd/libelf/dist/gelf_getclass.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getclass.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getclass.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd July 3, 2006 .Os diff --git a/lib/libelf/gelf_getclass.c b/external/bsd/libelf/dist/gelf_getclass.c similarity index 86% rename from lib/libelf/gelf_getclass.c rename to external/bsd/libelf/dist/gelf_getclass.c index 82fd50eb9..2bc884416 100644 --- a/lib/libelf/gelf_getclass.c +++ b/external/bsd/libelf/dist/gelf_getclass.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_getclass.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,13 +27,12 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_getclass.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - int gelf_getclass(Elf *e) { diff --git a/lib/libelf/gelf_getdyn.3 b/external/bsd/libelf/dist/gelf_getdyn.3 similarity index 93% rename from lib/libelf/gelf_getdyn.3 rename to external/bsd/libelf/dist/gelf_getdyn.3 index 0624824a1..97ad644e6 100644 --- a/lib/libelf/gelf_getdyn.3 +++ b/external/bsd/libelf/dist/gelf_getdyn.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getdyn.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getdyn.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getehdr.3 b/external/bsd/libelf/dist/gelf_getehdr.3 similarity index 93% rename from lib/libelf/gelf_getehdr.3 rename to external/bsd/libelf/dist/gelf_getehdr.3 index 2f8123937..b0d9a4c6e 100644 --- a/lib/libelf/gelf_getehdr.3 +++ b/external/bsd/libelf/dist/gelf_getehdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getehdr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getehdr.3,v 1.4.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd December 16, 2006 .Os diff --git a/lib/libelf/gelf_getmove.3 b/external/bsd/libelf/dist/gelf_getmove.3 similarity index 93% rename from lib/libelf/gelf_getmove.3 rename to external/bsd/libelf/dist/gelf_getmove.3 index a3e70c014..d4ec0b610 100644 --- a/lib/libelf/gelf_getmove.3 +++ b/external/bsd/libelf/dist/gelf_getmove.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getmove.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getmove.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getphdr.3 b/external/bsd/libelf/dist/gelf_getphdr.3 similarity index 94% rename from lib/libelf/gelf_getphdr.3 rename to external/bsd/libelf/dist/gelf_getphdr.3 index fe863f2f1..b9ce69ab3 100644 --- a/lib/libelf/gelf_getphdr.3 +++ b/external/bsd/libelf/dist/gelf_getphdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getphdr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006,2007 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getphdr.3,v 1.4.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd October 21, 2007 .Os diff --git a/lib/libelf/gelf_getrel.3 b/external/bsd/libelf/dist/gelf_getrel.3 similarity index 93% rename from lib/libelf/gelf_getrel.3 rename to external/bsd/libelf/dist/gelf_getrel.3 index 66aefa1eb..c3a47cf13 100644 --- a/lib/libelf/gelf_getrel.3 +++ b/external/bsd/libelf/dist/gelf_getrel.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getrel.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getrel.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getrela.3 b/external/bsd/libelf/dist/gelf_getrela.3 similarity index 93% rename from lib/libelf/gelf_getrela.3 rename to external/bsd/libelf/dist/gelf_getrela.3 index 341c821f9..f9a05160f 100644 --- a/lib/libelf/gelf_getrela.3 +++ b/external/bsd/libelf/dist/gelf_getrela.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getrela.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getrela.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getshdr.3 b/external/bsd/libelf/dist/gelf_getshdr.3 similarity index 93% rename from lib/libelf/gelf_getshdr.3 rename to external/bsd/libelf/dist/gelf_getshdr.3 index cef1dc39f..18569f990 100644 --- a/lib/libelf/gelf_getshdr.3 +++ b/external/bsd/libelf/dist/gelf_getshdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getshdr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getshdr.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 27, 2006 .Os diff --git a/lib/libelf/gelf_getsym.3 b/external/bsd/libelf/dist/gelf_getsym.3 similarity index 93% rename from lib/libelf/gelf_getsym.3 rename to external/bsd/libelf/dist/gelf_getsym.3 index 4ce8a38cf..336db8155 100644 --- a/lib/libelf/gelf_getsym.3 +++ b/external/bsd/libelf/dist/gelf_getsym.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getsym.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getsym.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getsyminfo.3 b/external/bsd/libelf/dist/gelf_getsyminfo.3 similarity index 93% rename from lib/libelf/gelf_getsyminfo.3 rename to external/bsd/libelf/dist/gelf_getsyminfo.3 index ed603359c..b80ba4506 100644 --- a/lib/libelf/gelf_getsyminfo.3 +++ b/external/bsd/libelf/dist/gelf_getsyminfo.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getsyminfo.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getsyminfo.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 29, 2006 .Os diff --git a/lib/libelf/gelf_getsymshndx.3 b/external/bsd/libelf/dist/gelf_getsymshndx.3 similarity index 94% rename from lib/libelf/gelf_getsymshndx.3 rename to external/bsd/libelf/dist/gelf_getsymshndx.3 index 7d5a19c18..8dfeffa6e 100644 --- a/lib/libelf/gelf_getsymshndx.3 +++ b/external/bsd/libelf/dist/gelf_getsymshndx.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_getsymshndx.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_getsymshndx.3,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd November 5, 2006 .Os diff --git a/lib/libelf/gelf_move.c b/external/bsd/libelf/dist/gelf_move.c similarity index 91% rename from lib/libelf/gelf_move.c rename to external/bsd/libelf/dist/gelf_move.c index da99c10d9..c17fb440e 100644 --- a/lib/libelf/gelf_move.c +++ b/external/bsd/libelf/dist/gelf_move.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_move.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,14 +26,20 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_move.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); +#if defined(__LIBELF_HAVE_ELF_MOVE) GElf_Move * gelf_getmove(Elf_Data *d, int ndx, GElf_Move *dst) @@ -148,3 +156,5 @@ gelf_update_move(Elf_Data *d, int ndx, GElf_Move *gm) return (1); } + +#endif /* __LIBELF_HAVE_ELF_MOVE */ diff --git a/lib/libelf/gelf_newehdr.3 b/external/bsd/libelf/dist/gelf_newehdr.3 similarity index 95% rename from lib/libelf/gelf_newehdr.3 rename to external/bsd/libelf/dist/gelf_newehdr.3 index 88fc0d19d..d2621ffd9 100644 --- a/lib/libelf/gelf_newehdr.3 +++ b/external/bsd/libelf/dist/gelf_newehdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_newehdr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006,2007 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_newehdr.3,v 1.4.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd October 22, 2007 .Os diff --git a/lib/libelf/gelf_newphdr.3 b/external/bsd/libelf/dist/gelf_newphdr.3 similarity index 93% rename from lib/libelf/gelf_newphdr.3 rename to external/bsd/libelf/dist/gelf_newphdr.3 index b8e7072fb..c8b320f6b 100644 --- a/lib/libelf/gelf_newphdr.3 +++ b/external/bsd/libelf/dist/gelf_newphdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006-2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_newphdr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006,2007 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_newphdr.3,v 1.4.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd October 22, 2007 .Os diff --git a/lib/libelf/gelf_phdr.c b/external/bsd/libelf/dist/gelf_phdr.c similarity index 94% rename from lib/libelf/gelf_phdr.c rename to external/bsd/libelf/dist/gelf_phdr.c index 0a9ae5f5b..5c56183c9 100644 --- a/lib/libelf/gelf_phdr.c +++ b/external/bsd/libelf/dist/gelf_phdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_phdr.c,v 1.3 2009/12/29 17:05:58 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,14 +27,14 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_phdr.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf32_Phdr * elf32_getphdr(Elf *e) { @@ -154,8 +156,6 @@ gelf_update_phdr(Elf *e, int ndx, GElf_Phdr *s) return (0); } - (void) elf_flagphdr(e, ELF_C_SET, ELF_F_DIRTY); - if (ec == ELFCLASS64) { ph64 = e->e_u.e_elf.e_phdr.e_phdr64 + ndx; *ph64 = *s; @@ -173,5 +173,7 @@ gelf_update_phdr(Elf *e, int ndx, GElf_Phdr *s) LIBELF_COPY_U32(ph32, s, p_memsz); LIBELF_COPY_U32(ph32, s, p_align); + (void) elf_flagphdr(e, ELF_C_SET, ELF_F_DIRTY); + return (1); } diff --git a/lib/libelf/gelf_rel.c b/external/bsd/libelf/dist/gelf_rel.c similarity index 92% rename from lib/libelf/gelf_rel.c rename to external/bsd/libelf/dist/gelf_rel.c index dcff3d1ad..a1f460bf6 100644 --- a/lib/libelf/gelf_rel.c +++ b/external/bsd/libelf/dist/gelf_rel.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_rel.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,19 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_rel.c,v 1.2.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - GElf_Rel * gelf_getrel(Elf_Data *d, int ndx, GElf_Rel *dst) { diff --git a/lib/libelf/gelf_rela.c b/external/bsd/libelf/dist/gelf_rela.c similarity index 93% rename from lib/libelf/gelf_rela.c rename to external/bsd/libelf/dist/gelf_rela.c index 56e57a4ef..45ab3340b 100644 --- a/lib/libelf/gelf_rela.c +++ b/external/bsd/libelf/dist/gelf_rela.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_rela.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,19 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_rela.c,v 1.2.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - GElf_Rela * gelf_getrela(Elf_Data *d, int ndx, GElf_Rela *dst) { diff --git a/lib/libelf/gelf_shdr.c b/external/bsd/libelf/dist/gelf_shdr.c similarity index 92% rename from lib/libelf/gelf_shdr.c rename to external/bsd/libelf/dist/gelf_shdr.c index 9aabef001..1b2208738 100644 --- a/lib/libelf/gelf_shdr.c +++ b/external/bsd/libelf/dist/gelf_shdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_shdr.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,16 +26,20 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_shdr.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf32_Shdr * elf32_getshdr(Elf_Scn *s) { @@ -106,8 +112,6 @@ gelf_update_shdr(Elf_Scn *scn, GElf_Shdr *s) return (0); } - (void) elf_flagscn(scn, ELF_C_SET, ELF_F_DIRTY); - if (ec == ELFCLASS64) { scn->s_shdr.s_shdr64 = *s; return (1); @@ -126,5 +130,7 @@ gelf_update_shdr(Elf_Scn *scn, GElf_Shdr *s) LIBELF_COPY_U32(sh32, s, sh_addralign); LIBELF_COPY_U32(sh32, s, sh_entsize); + (void) elf_flagscn(scn, ELF_C_SET, ELF_F_DIRTY); + return (1); } diff --git a/lib/libelf/gelf_sym.c b/external/bsd/libelf/dist/gelf_sym.c similarity index 92% rename from lib/libelf/gelf_sym.c rename to external/bsd/libelf/dist/gelf_sym.c index 86a34a8c7..ba762e888 100644 --- a/lib/libelf/gelf_sym.c +++ b/external/bsd/libelf/dist/gelf_sym.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_sym.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,19 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_sym.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - GElf_Sym * gelf_getsym(Elf_Data *d, int ndx, GElf_Sym *dst) { diff --git a/lib/libelf/gelf_syminfo.c b/external/bsd/libelf/dist/gelf_syminfo.c similarity index 90% rename from lib/libelf/gelf_syminfo.c rename to external/bsd/libelf/dist/gelf_syminfo.c index 57ad5be06..d1fd41b1f 100644 --- a/lib/libelf/gelf_syminfo.c +++ b/external/bsd/libelf/dist/gelf_syminfo.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_syminfo.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,14 +26,20 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_syminfo.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); +#if defined(__LIBELF_HAVE_ELF_SYMINFO) GElf_Syminfo * gelf_getsyminfo(Elf_Data *d, int ndx, GElf_Syminfo *dst) @@ -143,3 +151,5 @@ gelf_update_syminfo(Elf_Data *d, int ndx, GElf_Syminfo *gs) return (1); } + +#endif /* __LIBELF_HAVE_ELF_SYMINFO */ diff --git a/lib/libelf/gelf_symshndx.c b/external/bsd/libelf/dist/gelf_symshndx.c similarity index 91% rename from lib/libelf/gelf_symshndx.c rename to external/bsd/libelf/dist/gelf_symshndx.c index 4a8a6d3dc..fcdb6e840 100644 --- a/lib/libelf/gelf_symshndx.c +++ b/external/bsd/libelf/dist/gelf_symshndx.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_symshndx.c,v 1.4 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,19 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_symshndx.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - GElf_Sym * gelf_getsymshndx(Elf_Data *d, Elf_Data *id, int ndx, GElf_Sym *dst, Elf32_Word *shindex) diff --git a/lib/libelf/gelf_update_ehdr.3 b/external/bsd/libelf/dist/gelf_update_ehdr.3 similarity index 93% rename from lib/libelf/gelf_update_ehdr.3 rename to external/bsd/libelf/dist/gelf_update_ehdr.3 index 6bba9cd31..e169ba71c 100644 --- a/lib/libelf/gelf_update_ehdr.3 +++ b/external/bsd/libelf/dist/gelf_update_ehdr.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_update_ehdr.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_update_ehdr.3,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd August 27, 2006 .Os diff --git a/lib/libelf/gelf_xlate.c b/external/bsd/libelf/dist/gelf_xlate.c similarity index 92% rename from lib/libelf/gelf_xlate.c rename to external/bsd/libelf/dist/gelf_xlate.c index cb88d17a4..5694ff494 100644 --- a/lib/libelf/gelf_xlate.c +++ b/external/bsd/libelf/dist/gelf_xlate.c @@ -1,5 +1,7 @@ +/* $NetBSD: gelf_xlate.c,v 1.1.1.2 2009/12/29 16:58:08 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,6 +27,7 @@ */ #include +/* __FBSDID("$FreeBSD: src/lib/libelf/gelf_xlate.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -32,7 +35,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); Elf_Data * elf32_xlatetof(Elf_Data *dst, const Elf_Data *src, unsigned int encoding) diff --git a/lib/libelf/gelf_xlatetof.3 b/external/bsd/libelf/dist/gelf_xlatetof.3 similarity index 96% rename from lib/libelf/gelf_xlatetof.3 rename to external/bsd/libelf/dist/gelf_xlatetof.3 index c7443c8ff..c4ef9407a 100644 --- a/lib/libelf/gelf_xlatetof.3 +++ b/external/bsd/libelf/dist/gelf_xlatetof.3 @@ -1,4 +1,6 @@ -.\" Copyright (c) 2006,2008 Joseph Koshy. All rights reserved. +.\" $NetBSD: gelf_xlatetof.3,v 1.1.1.1 2009/12/19 05:43:40 thorpej Exp $ +.\" +.\" Copyright (c) 2006 Joseph Koshy. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions @@ -21,7 +23,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $Id$ +.\" $FreeBSD: src/lib/libelf/gelf_xlatetof.3,v 1.3.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $ .\" .Dd July 24, 2006 .Os diff --git a/external/bsd/libelf/dist/libelf.c b/external/bsd/libelf/dist/libelf.c new file mode 100644 index 000000000..d16880677 --- /dev/null +++ b/external/bsd/libelf/dist/libelf.c @@ -0,0 +1,73 @@ +/* $NetBSD: libelf.c,v 1.7 2010/02/22 10:48:32 darran Exp $ */ + +/*- + * Copyright (c) 2006 Joseph Koshy + * 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. + */ + +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include + +#include + +#include "_libelf.h" + +struct _libelf_globals _libelf = { + .libelf_error = 0, + .libelf_fillchar = 0, + .libelf_version = EV_NONE +}; + +unsigned int +_libelf_host_byteorder(void) +{ + static union { + uint32_t val; + uint8_t bytes[4]; + } byte_order_check = { + .val = 0xdeadbeef, + }; + + return (byte_order_check.bytes[0] == 0xef ? ELFDATA2LSB : ELFDATA2MSB); +} + +#if defined(LIBELF_TEST_HOOKS) +int +_libelf_get_elf_class(Elf *elf) +{ + return elf->e_class; +} + +void +_libelf_set_elf_class(Elf *elf, int c) +{ + elf->e_class = c; +} +#endif /* LIBELF_TEST_HOOKS */ diff --git a/lib/libelf/libelf.h b/external/bsd/libelf/dist/libelf.h similarity index 78% rename from lib/libelf/libelf.h rename to external/bsd/libelf/dist/libelf.h index 3974cf192..bf678e859 100644 --- a/lib/libelf/libelf.h +++ b/external/bsd/libelf/dist/libelf.h @@ -1,5 +1,7 @@ +/* $NetBSD: libelf.h,v 1.7 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008-2010 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,16 +25,49 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id$ + * $FreeBSD: src/lib/libelf/libelf.h,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ #ifndef _LIBELF_H_ #define _LIBELF_H_ -#include -#include +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif -#include +#include +#include +#include + +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +# include +# define __LIBELF_HAVE_ELF_CAP 1 +# define __LIBELF_HAVE_ELF_MOVE 1 +# define __LIBELF_HAVE_ELF_NOTE 1 +# define __LIBELF_HAVE_ELF_SYMINFO 1 +# define __LIBELF_HAVE_ELF_VERS 1 +#elif defined(__NetBSD__) || defined(__minix) +# include +# define __LIBELF_HAVE_ELF_CAP 1 +# define __LIBELF_HAVE_ELF_MOVE 1 +# define __LIBELF_HAVE_ELF_NOTE 1 +# define __LIBELF_HAVE_ELF_SYMINFO 1 +# define __LIBELF_HAVE_ELF_VERS 1 +#elif defined(__FreeBSD__) +# include +# include +# include +# if __FreeBSD_version >= 700025 +# define __LIBELF_HAVE_ELF_CAP 1 +# define __LIBELF_HAVE_ELF_MOVE 1 +# define __LIBELF_HAVE_ELF_NOTE 1 +# define __LIBELF_HAVE_ELF_SYMINFO 1 +# endif /* __FreeBSD_version >= 700025 */ +# if __FreeBSD_version >= 700009 +# define __LIBELF_HAVE_ELF_VERS 1 +# endif /* __FreeBSD_version >= 700009 */ +#endif /* Library private data structures */ typedef struct _Elf Elf; @@ -75,12 +110,11 @@ typedef enum { ELF_T_VNEED, ELF_T_WORD, ELF_T_XWORD, - ELF_T_GNUHASH, /* GNU style hash tables. */ ELF_T_NUM } Elf_Type; #define ELF_T_FIRST ELF_T_ADDR -#define ELF_T_LAST ELF_T_GNUHASH +#define ELF_T_LAST ELF_T_XWORD /* Commands */ typedef enum { @@ -133,11 +167,6 @@ typedef struct { char *ar_rawname; /* 'raw' member name */ size_t ar_size; uid_t ar_uid; - - /* - * Members that are not part of the public API. - */ - int ar_flags; } Elf_Arhdr; /* @@ -180,10 +209,6 @@ enum Elf_Error { #define ELF_F_LAYOUT 0x001U /* application will layout the file */ #define ELF_F_DIRTY 0x002U /* a section or ELF file is dirty */ -/* ELF(3) API extensions. */ -#define ELF_F_ARCHIVE 0x100U /* archive creation */ -#define ELF_F_ARCHIVE_SYSV 0x200U /* SYSV style archive */ - __BEGIN_DECLS Elf *elf_begin(int _fd, Elf_Cmd _cmd, Elf *_elf); int elf_cntl(Elf *_elf, Elf_Cmd _cmd); @@ -191,10 +216,7 @@ int elf_end(Elf *_elf); const char *elf_errmsg(int _error); int elf_errno(void); void elf_fill(int _fill); -unsigned int elf_flagarhdr(Elf_Arhdr *_arh, Elf_Cmd _cmd, - unsigned int _flags); -unsigned int elf_flagdata(Elf_Data *_data, Elf_Cmd _cmd, - unsigned int _flags); +unsigned int elf_flagdata(Elf_Data *_data, Elf_Cmd _cmd, unsigned int _flags); unsigned int elf_flagehdr(Elf *_elf, Elf_Cmd _cmd, unsigned int _flags); unsigned int elf_flagelf(Elf *_elf, Elf_Cmd _cmd, unsigned int _flags); unsigned int elf_flagphdr(Elf *_elf, Elf_Cmd _cmd, unsigned int _flags); @@ -205,14 +227,11 @@ Elf_Arsym *elf_getarsym(Elf *_elf, size_t *_ptr); off_t elf_getbase(Elf *_elf); Elf_Data *elf_getdata(Elf_Scn *, Elf_Data *); char *elf_getident(Elf *_elf, size_t *_ptr); -int elf_getphdrnum(Elf *_elf, size_t *_dst); -int elf_getphnum(Elf *_elf, size_t *_dst); /* Deprecated */ +int elf_getphnum(Elf *_elf, size_t *_dst); Elf_Scn *elf_getscn(Elf *_elf, size_t _index); -int elf_getshdrnum(Elf *_elf, size_t *_dst); -int elf_getshnum(Elf *_elf, size_t *_dst); /* Deprecated */ -int elf_getshdrstrndx(Elf *_elf, size_t *_dst); -int elf_getshstrndx(Elf *_elf, size_t *_dst); /* Deprecated */ -unsigned long elf_hash(const char *_name); +int elf_getshnum(Elf *_elf, size_t *_dst); +int elf_getshstrndx(Elf *_elf, size_t *_dst); +unsigned long elf_hash(const void *_name); Elf_Kind elf_kind(Elf *_elf); Elf *elf_memory(char *_image, size_t _size); size_t elf_ndxscn(Elf_Scn *_scn); @@ -253,6 +272,15 @@ Elf_Data *elf64_xlatetof(Elf_Data *_dst, const Elf_Data *_src, unsigned int _enc); Elf_Data *elf64_xlatetom(Elf_Data *_dst, const Elf_Data *_src, unsigned int _enc); + +#if defined(LIBELF_TEST_HOOKS) +int _libelf_get_elf_class(Elf *_elf); +int _libelf_get_max_error(void); +const char *_libelf_get_no_error_message(void); +const char *_libelf_get_unknown_error_message(void); +void _libelf_set_elf_class(Elf *_elf, int _class); +void _libelf_set_error(int _error); +#endif /* LIBELF_TEST_HOOKS */ __END_DECLS #endif /* _LIBELF_H_ */ diff --git a/lib/libelf/libelf_align.c b/external/bsd/libelf/dist/libelf_align.c similarity index 77% rename from lib/libelf/libelf_align.c rename to external/bsd/libelf/dist/libelf_align.c index 34a2845cf..01d7180be 100644 --- a/lib/libelf/libelf_align.c +++ b/external/bsd/libelf/dist/libelf_align.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_align.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,22 +26,36 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_align.c,v 1.3.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include +#include + #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - struct align { int a32; int a64; }; -#ifdef __GNUC__ +#if defined(__lint__) +#define MALIGN(N) { \ + .a32 = sizeof(Elf32_##N), \ + .a64 = sizeof(Elf64_##N) \ + } +#define MALIGN64(V) { \ + .a32 = 0, \ + .a64 = sizeof(Elf64_##V) \ + } +#elif defined(__GNUC__) #define MALIGN(N) { \ .a32 = __alignof__(Elf32_##N), \ .a64 = __alignof__(Elf64_##N) \ @@ -48,10 +64,6 @@ struct align { .a32 = 0, \ .a64 = __alignof__(Elf64_##V) \ } -#define MALIGN_WORD() { \ - .a32 = __alignof__(int32_t), \ - .a64 = __alignof__(int64_t) \ - } #else #error Need the __alignof__ builtin. #endif @@ -63,14 +75,20 @@ struct align { static struct align malign[ELF_T_NUM] = { [ELF_T_ADDR] = MALIGN(Addr), [ELF_T_BYTE] = { .a32 = 1, .a64 = 1 }, +#if defined(__LIBELF_HAVE_ELF_CAP) [ELF_T_CAP] = MALIGN(Cap), +#endif [ELF_T_DYN] = MALIGN(Dyn), [ELF_T_EHDR] = MALIGN(Ehdr), [ELF_T_HALF] = MALIGN(Half), +#if defined(__LIBELF_HAVE_ELF_MOVE) [ELF_T_LWORD] = MALIGN(Lword), [ELF_T_MOVE] = MALIGN(Move), +#endif [ELF_T_MOVEP] = UNSUPPORTED(), +#if defined(__LIBELF_HAVE_ELF_NOTE) [ELF_T_NOTE] = MALIGN(Nhdr), +#endif [ELF_T_OFF] = MALIGN(Off), [ELF_T_PHDR] = MALIGN(Phdr), [ELF_T_REL] = MALIGN(Rel), @@ -79,12 +97,15 @@ static struct align malign[ELF_T_NUM] = { [ELF_T_SWORD] = MALIGN(Sword), [ELF_T_SXWORD] = MALIGN64(Sxword), [ELF_T_SYM] = MALIGN(Sym), +#if defined(__LIBELF_HAVE_ELF_SYMINFO) [ELF_T_SYMINFO] = MALIGN(Syminfo), +#endif +#if defined(__LIBELF_HAVE_ELF_VERS) [ELF_T_VDEF] = MALIGN(Verdef), [ELF_T_VNEED] = MALIGN(Verneed), +#endif [ELF_T_WORD] = MALIGN(Word), - [ELF_T_XWORD] = MALIGN64(Xword), - [ELF_T_GNUHASH] = MALIGN_WORD() + [ELF_T_XWORD] = MALIGN64(Xword) }; int @@ -102,14 +123,20 @@ _libelf_malign(Elf_Type t, int elfclass) static struct align falign[ELF_T_NUM] = { [ELF_T_ADDR] = FALIGN(4,8), [ELF_T_BYTE] = FALIGN(1,1), +#if defined(__LIBELF_HAVE_ELF_CAP) [ELF_T_CAP] = FALIGN(4,8), +#endif [ELF_T_DYN] = FALIGN(4,8), [ELF_T_EHDR] = FALIGN(4,8), [ELF_T_HALF] = FALIGN(2,2), +#if defined(__LIBELF_HAVE_ELF_MOVE) [ELF_T_LWORD] = FALIGN(8,8), [ELF_T_MOVE] = FALIGN(8,8), +#endif [ELF_T_MOVEP] = UNSUPPORTED(), - [ELF_T_NOTE] = FALIGN(4,4), +#if defined(__LIBELF_HAVE_ELF_NOTE) + [ELF_T_NOTE] = FALIGN(1,1), +#endif [ELF_T_OFF] = FALIGN(4,8), [ELF_T_PHDR] = FALIGN(4,8), [ELF_T_REL] = FALIGN(4,8), @@ -118,12 +145,15 @@ static struct align falign[ELF_T_NUM] = { [ELF_T_SWORD] = FALIGN(4,4), [ELF_T_SXWORD] = FALIGN(0,8), [ELF_T_SYM] = FALIGN(4,8), +#if defined(__LIBELF_HAVE_ELF_SYMINFO) [ELF_T_SYMINFO] = FALIGN(2,2), +#endif +#if defined(__LIBELF_HAVE_ELF_VERS) [ELF_T_VDEF] = FALIGN(4,4), [ELF_T_VNEED] = FALIGN(4,4), +#endif [ELF_T_WORD] = FALIGN(4,4), - [ELF_T_XWORD] = FALIGN(0,8), - [ELF_T_GNUHASH] = FALIGN(4,8) + [ELF_T_XWORD] = FALIGN(0,8) }; int diff --git a/lib/libelf/libelf_allocate.c b/external/bsd/libelf/dist/libelf_allocate.c similarity index 88% rename from lib/libelf/libelf_allocate.c rename to external/bsd/libelf/dist/libelf_allocate.c index 2ebcf0589..322daf125 100644 --- a/lib/libelf/libelf_allocate.c +++ b/external/bsd/libelf/dist/libelf_allocate.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_allocate.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + /*- - * Copyright (c) 2006,2008,2010 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,9 +30,12 @@ * Internal APIs */ -#include +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif -#include +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_allocate.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -40,8 +45,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - Elf * _libelf_allocate_elf(void) { @@ -53,7 +56,7 @@ _libelf_allocate_elf(void) } e->e_activations = 1; - e->e_hdr.e_rawhdr = NULL; + e->e_arhdr = NULL; e->e_byteorder = ELFDATANONE; e->e_class = ELFCLASSNONE; e->e_cmd = ELF_C_NULL; @@ -90,14 +93,12 @@ _libelf_init_elf(Elf *e, Elf_Kind kind) #define FREE(P) do { \ if (P) \ free(P); \ - } while (0) + } while (/*CONSTCOND*/0) Elf * _libelf_release_elf(Elf *e) { - Elf_Arhdr *arh; - switch (e->e_kind) { case ELF_K_AR: FREE(e->e_u.e_ar.e_symtab); @@ -117,11 +118,10 @@ _libelf_release_elf(Elf *e) assert(STAILQ_EMPTY(&e->e_u.e_elf.e_scn)); - if (e->e_flags & LIBELF_F_AR_HEADER) { - arh = e->e_hdr.e_arhdr; - FREE(arh->ar_name); - FREE(arh->ar_rawname); - free(arh); + if (e->e_arhdr) { + FREE(e->e_arhdr->ar_name); + FREE(e->e_arhdr->ar_rawname); + free(e->e_arhdr); } break; @@ -154,7 +154,7 @@ Elf_Data * _libelf_release_data(Elf_Data *d) { - if (d->d_flags & LIBELF_F_DATA_MALLOCED) + if (d->d_flags & LIBELF_F_MALLOCED) free(d->d_buf); free(d); @@ -197,7 +197,7 @@ _libelf_release_scn(Elf_Scn *s) } STAILQ_FOREACH_SAFE(d, &s->s_rawdata, d_next, td) { - assert((d->d_flags & LIBELF_F_DATA_MALLOCED) == 0); + assert((d->d_flags & LIBELF_F_MALLOCED) == 0); STAILQ_REMOVE(&s->s_rawdata, d, _Elf_Data, d_next); d = _libelf_release_data(d); } diff --git a/external/bsd/libelf/dist/libelf_ar.c b/external/bsd/libelf/dist/libelf_ar.c new file mode 100644 index 000000000..930252ab6 --- /dev/null +++ b/external/bsd/libelf/dist/libelf_ar.c @@ -0,0 +1,490 @@ +/* $NetBSD: libelf_ar.c,v 1.5 2010/02/22 10:48:32 darran Exp $ */ + +/*- + * Copyright (c) 2006 Joseph Koshy + * 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. + */ + +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + +#include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_ar.c,v 1.3.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include +#include +#include +#include +#include +#include + +#include "_libelf.h" + +#define LIBELF_NALLOC_SIZE 16 + +/* + * `ar' archive handling. + * + * `ar' archives start with signature `ARMAG'. Each archive member is + * preceded by a header containing meta-data for the member. This + * header is described in (struct ar_hdr). The header always + * starts on an even address. File data is padded with "\n" + * characters to keep this invariant. + * + * Special considerations for `ar' archives: + * + * The `ar' header only has space for a 16 character file name. File + * names are terminated with a '/', so this effectively leaves 15 + * characters for the actual file name. In order to accomodate longer + * file names, names may be stored in a separate 'string table' and + * referenced indirectly by a member header. The string table itself + * appears as an archive member with name "// ". An indirect file name + * in an `ar' header matches the pattern "/[0-9]*". The digits form a + * decimal number that corresponds to a byte offset into the string + * table where the actual file name of the object starts. Strings in + * the string table are padded to start on even addresses. + * + * Archives may also have a symbol table (see ranlib(1)), mapping + * program symbols to object files inside the archive. A symbol table + * uses a file name of "/ " in its archive header. The symbol table + * is structured as: + * - a 4-byte count of entries stored as a binary value, MSB first + * - 'n' 4-byte offsets, stored as binary values, MSB first + * - 'n' NUL-terminated strings, for ELF symbol names, stored unpadded. + * + * If the symbol table and string table are is present in an archive + * they must be the very first objects and in that order. + */ + +/* + * Convert a string bounded by `start' and `start+sz' (exclusive) to a + * number in the specified base. + */ +static int +_libelf_ar_get_number(char *s, size_t sz, int base, size_t *ret) +{ + int c, v; + size_t r; + char *e; + + assert(base <= 10); + + e = s + sz; + + /* skip leading blanks */ + for (;s < e && (c = *s) == ' '; s++) + ; + + r = 0L; + for (;s < e; s++) { + if ((c = *s) == ' ') + break; + if (c < '0' || c > '9') + return (0); + v = c - '0'; + if (v >= base) /* Illegal digit. */ + break; + r *= base; + r += v; + } + + *ret = r; + + return (1); +} + +/* + * Retrieve a string from a name field. If `rawname' is set, leave + * ar(1) control characters in. + */ +static char * +_libelf_ar_get_string(const char *buf, size_t bufsize, int rawname) +{ + const char *q; + char *r; + size_t sz; + + if (rawname) + sz = bufsize + 1; + else { + /* Skip back over trailing blanks. */ + for (q = buf + bufsize - 1; q >= buf && *q == ' '; --q) + ; + + if (q < buf) { + /* + * If the input buffer only had blanks in it, + * return a zero-length string. + */ + buf = ""; + sz = 1; + } else { + /* + * Remove the trailing '/' character, but only + * if the name isn't one of the special names + * "/" and "//". + */ + if (q > buf + 1 || + (q == (buf + 1) && *buf != '/')) + q--; + + sz = q - buf + 2; /* Space for a trailing NUL. */ + } + } + + if ((r = malloc(sz)) == NULL) { + LIBELF_SET_ERROR(RESOURCE, 0); + return (NULL); + } + + (void) strncpy(r, buf, sz); + r[sz - 1] = '\0'; + + return (r); +} + +/* + * Retrieve the full name of the archive member. + */ +static char * +_libelf_ar_get_name(char *buf, size_t bufsize, Elf *e) +{ + char c, *q, *r, *s; + size_t len; + size_t offset; + + assert(e->e_kind == ELF_K_AR); + + if (buf[0] == '/' && (c = buf[1]) >= '0' && c <= '9') { + /* + * The value in field ar_name is a decimal offset into + * the archive string table where the actual name + * resides. + */ + if (_libelf_ar_get_number(buf + 1, bufsize - 1, 10, + &offset) == 0) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + if (offset > e->e_u.e_ar.e_rawstrtabsz) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + s = q = e->e_u.e_ar.e_rawstrtab + offset; + r = e->e_u.e_ar.e_rawstrtab + e->e_u.e_ar.e_rawstrtabsz; + + for (s = q; s < r && *s != '/'; s++) + ; + len = s - q + 1; /* space for the trailing NUL */ + + if ((s = malloc(len)) == NULL) { + LIBELF_SET_ERROR(RESOURCE, 0); + return (NULL); + } + + (void) strncpy(s, q, len); + s[len - 1] = '\0'; + + return (s); + } + + /* + * Normal 'name' + */ + return (_libelf_ar_get_string(buf, bufsize, 0)); +} + + +Elf_Arhdr * +_libelf_ar_gethdr(Elf *e) +{ + Elf *parent; + struct ar_hdr *arh; + Elf_Arhdr *eh; + size_t n; + + if ((parent = e->e_parent) == NULL) { + LIBELF_SET_ERROR(ARGUMENT, 0); + return (NULL); + } + + arh = (struct ar_hdr *) ((uintptr_t) e->e_rawfile - sizeof(struct ar_hdr)); + + assert((uintptr_t) arh >= (uintptr_t) parent->e_rawfile + SARMAG); + assert((uintptr_t) arh <= (uintptr_t) parent->e_rawfile + parent->e_rawsize - + sizeof(struct ar_hdr)); + + if ((eh = malloc(sizeof(Elf_Arhdr))) == NULL) { + LIBELF_SET_ERROR(RESOURCE, 0); + return (NULL); + } + + e->e_arhdr = eh; + eh->ar_name = eh->ar_rawname = NULL; + + if ((eh->ar_name = _libelf_ar_get_name(arh->ar_name, sizeof(arh->ar_name), + parent)) == NULL) + goto error; + + if (_libelf_ar_get_number(arh->ar_uid, sizeof(arh->ar_uid), 10, &n) == 0) + goto error; + eh->ar_uid = (uid_t) n; + + if (_libelf_ar_get_number(arh->ar_gid, sizeof(arh->ar_gid), 10, &n) == 0) + goto error; + eh->ar_gid = (gid_t) n; + + if (_libelf_ar_get_number(arh->ar_mode, sizeof(arh->ar_mode), 8, &n) == 0) + goto error; + eh->ar_mode = (mode_t) n; + + if (_libelf_ar_get_number(arh->ar_size, sizeof(arh->ar_size), 10, &n) == 0) + goto error; + eh->ar_size = n; + + if ((eh->ar_rawname = _libelf_ar_get_string(arh->ar_name, + sizeof(arh->ar_name), 1)) == NULL) + goto error; + + return (eh); + + error: + if (eh) { + if (eh->ar_name) + free(eh->ar_name); + if (eh->ar_rawname) + free(eh->ar_rawname); + free(eh); + } + e->e_arhdr = NULL; + + return (NULL); +} + +Elf * +_libelf_ar_open_member(int fd, Elf_Cmd c, Elf *elf) +{ + Elf *e; + off_t next; + struct ar_hdr *arh; + size_t sz; + + assert(elf->e_kind == ELF_K_AR); + + next = elf->e_u.e_ar.e_next; + + /* + * `next' is only set to zero by elf_next() when the last + * member of an archive is processed. + */ + if (next == (off_t) 0) + return (NULL); + + assert((next & 1) == 0); + + arh = (struct ar_hdr *) (elf->e_rawfile + next); + + if (_libelf_ar_get_number(arh->ar_size, sizeof(arh->ar_size), 10, &sz) == 0) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + assert(sz > 0); + + arh++; /* skip over archive member header */ + + if ((e = elf_memory((char *) arh, sz)) == NULL) + return (NULL); + + e->e_fd = fd; + e->e_cmd = c; + + elf->e_u.e_ar.e_nchildren++; + e->e_parent = elf; + + return (e); +} + +Elf * +_libelf_ar_open(Elf *e) +{ + int i; + char *s, *end; + size_t sz; + struct ar_hdr arh; + + e->e_kind = ELF_K_AR; + e->e_u.e_ar.e_nchildren = 0; + e->e_u.e_ar.e_next = (off_t) -1; + + /* + * Look for special members. + */ + + s = e->e_rawfile + SARMAG; + end = e->e_rawfile + e->e_rawsize; + + assert(e->e_rawsize > 0); + + /* + * Look for magic names "/ " and "// " in the first two entries + * of the archive. + */ + for (i = 0; i < 2; i++) { + + if (s + sizeof(arh) > end) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + (void) memcpy(&arh, s, sizeof(arh)); + + if (arh.ar_fmag[0] != '`' || arh.ar_fmag[1] != '\n') { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + if (arh.ar_name[0] != '/') /* not a special symbol */ + break; + + if (_libelf_ar_get_number(arh.ar_size, sizeof(arh.ar_size), 10, &sz) == 0) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + assert(sz > 0); + + s += sizeof(arh); + + if (arh.ar_name[1] == ' ') { /* "/ " => symbol table */ + + e->e_u.e_ar.e_rawsymtab = s; + e->e_u.e_ar.e_rawsymtabsz = sz; + + } else if (arh.ar_name[1] == '/' && arh.ar_name[2] == ' ') { + + /* "// " => string table for long file names */ + e->e_u.e_ar.e_rawstrtab = s; + e->e_u.e_ar.e_rawstrtabsz = sz; + } + + sz = LIBELF_ADJUST_AR_SIZE(sz); + + s += sz; + } + + e->e_u.e_ar.e_next = (off_t) (s - e->e_rawfile); + + return (e); +} + +/* + * An ar(1) symbol table has the following layout: + * + * The first 4 bytes are a binary count of the number of entries in the + * symbol table, stored MSB-first. + * + * Then there are 'n' 4-byte binary offsets, also stored MSB first. + * + * Following this, there are 'n' null-terminated strings. + */ + +#define GET_WORD(P, V) do { \ + (V) = 0; \ + (V) = (P)[0]; (V) <<= 8; \ + (V) += (P)[1]; (V) <<= 8; \ + (V) += (P)[2]; (V) <<= 8; \ + (V) += (P)[3]; \ + } while (/*CONSTCOND*/0) + +#define INTSZ 4 + +Elf_Arsym * +_libelf_ar_process_symtab(Elf *e, size_t *count) +{ + size_t n, nentries, off; + Elf_Arsym *symtab, *sym; + unsigned char *p, *s, *end; + + assert(e != NULL); + assert(count != NULL); + + if (e->e_u.e_ar.e_rawsymtabsz < INTSZ) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + p = (unsigned char *) e->e_u.e_ar.e_rawsymtab; + end = p + e->e_u.e_ar.e_rawsymtabsz; + + GET_WORD(p, nentries); + p += INTSZ; + + if (nentries == 0 || p + nentries * INTSZ >= end) { + LIBELF_SET_ERROR(ARCHIVE, 0); + return (NULL); + } + + /* Allocate space for a nentries + a sentinel. */ + if ((symtab = malloc(sizeof(Elf_Arsym) * (nentries+1))) == NULL) { + LIBELF_SET_ERROR(RESOURCE, 0); + return (NULL); + } + + s = p + (nentries * INTSZ); /* start of the string table. */ + + for (n = nentries, sym = symtab; n > 0; n--) { + off = 0; + + GET_WORD(p, off); + + sym->as_off = off; + sym->as_hash = elf_hash(s); + sym->as_name = (char *)s; + + p += INTSZ; + sym++; + + for (; s < end && *s++ != '\0';) /* skip to next string */ + ; + if (s > end) { + LIBELF_SET_ERROR(ARCHIVE, 0); + free(symtab); + return (NULL); + } + } + + /* Fill up the sentinel entry. */ + sym->as_name = NULL; + sym->as_hash = ~0UL; + sym->as_off = (off_t) 0; + + *count = e->e_u.e_ar.e_symtabsz = nentries + 1; + e->e_u.e_ar.e_symtab = symtab; + + return (symtab); +} diff --git a/lib/libelf/libelf_checksum.c b/external/bsd/libelf/dist/libelf_checksum.c similarity index 90% rename from lib/libelf/libelf_checksum.c rename to external/bsd/libelf/dist/libelf_checksum.c index dbedf98f9..7f99163b0 100644 --- a/lib/libelf/libelf_checksum.c +++ b/external/bsd/libelf/dist/libelf_checksum.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_checksum.c,v 1.2 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,14 +26,17 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_checksum.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - static unsigned long _libelf_sum(unsigned long c, const unsigned char *s, size_t size) { diff --git a/lib/libelf/libelf_convert.m4 b/external/bsd/libelf/dist/libelf_convert.m4 similarity index 61% rename from lib/libelf/libelf_convert.m4 rename to external/bsd/libelf/dist/libelf_convert.m4 index 14359022a..9dd7797ef 100644 --- a/lib/libelf/libelf_convert.m4 +++ b/external/bsd/libelf/dist/libelf_convert.m4 @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_convert.m4,v 1.9 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006-2008 Joseph Koshy + * Copyright (c) 2006,2007 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +26,14 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_convert.m4,v 1.4.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include #include #include @@ -32,8 +41,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* WARNING: GENERATED FROM __file__. */ /* @@ -42,10 +49,10 @@ LIBELF_VCSID("$Id$"); #define SWAP_HALF(X) do { \ uint16_t _x = (uint16_t) (X); \ - uint16_t _t = _x & 0xFF; \ + uint32_t _t = _x & 0xFF; \ _t <<= 8; _x >>= 8; _t |= _x & 0xFF; \ - (X) = _t; \ - } while (0) + (X) = (uint16_t)(_t & 0xFFFF); \ + } while (/*CONSTCOND*/0) #define SWAP_WORD(X) do { \ uint32_t _x = (uint32_t) (X); \ uint32_t _t = _x & 0xFF; \ @@ -53,7 +60,7 @@ LIBELF_VCSID("$Id$"); _t <<= 8; _x >>= 8; _t |= _x & 0xFF; \ _t <<= 8; _x >>= 8; _t |= _x & 0xFF; \ (X) = _t; \ - } while (0) + } while (/*CONSTCOND*/0) #define SWAP_ADDR32(X) SWAP_WORD(X) #define SWAP_OFF32(X) SWAP_WORD(X) #define SWAP_SWORD(X) SWAP_WORD(X) @@ -68,7 +75,7 @@ LIBELF_VCSID("$Id$"); _t <<= 8; _x >>= 8; _t |= _x & 0xFF; \ _t <<= 8; _x >>= 8; _t |= _x & 0xFF; \ (X) = _t; \ - } while (0) + } while (/*CONSTCOND*/0) #define SWAP_ADDR64(X) SWAP_WORD64(X) #define SWAP_LWORD(X) SWAP_WORD64(X) #define SWAP_OFF64(X) SWAP_WORD64(X) @@ -81,45 +88,54 @@ LIBELF_VCSID("$Id$"); * destination pointer is incremented after the write. */ #define WRITE_BYTE(P,X) do { \ - char *const _p = (char *) (P); \ - _p[0] = (char) (X); \ - (P) = _p + 1; \ - } while (0) + unsigned char *const _p = (void *) (P); \ + _p[0] = (unsigned char) (X); \ + (P) = (void *)(_p + 1); \ + } while (/*CONSTCOND*/0) #define WRITE_HALF(P,X) do { \ - uint16_t _t = (X); \ - char *const _p = (char *) (P); \ - const char *const _q = (char *) &_t; \ - _p[0] = _q[0]; \ - _p[1] = _q[1]; \ - (P) = _p + 2; \ - } while (0) + union { \ + uint16_t val; \ + uint8_t bytes[2]; \ + } _t; \ + unsigned char *const _p = (void *) (P); \ + _t.val = (X); \ + _p[0] = _t.bytes[0]; \ + _p[1] = _t.bytes[1]; \ + (P) = (void *)(_p + 2); \ + } while (/*CONSTCOND*/0) #define WRITE_WORD(P,X) do { \ - uint32_t _t = (X); \ - char *const _p = (char *) (P); \ - const char *const _q = (char *) &_t; \ - _p[0] = _q[0]; \ - _p[1] = _q[1]; \ - _p[2] = _q[2]; \ - _p[3] = _q[3]; \ - (P) = _p + 4; \ - } while (0) + union { \ + uint32_t val; \ + uint8_t bytes[4]; \ + } _t; \ + unsigned char *const _p = (void *) (P); \ + _t.val = (X); \ + _p[0] = _t.bytes[0]; \ + _p[1] = _t.bytes[1]; \ + _p[2] = _t.bytes[2]; \ + _p[3] = _t.bytes[3]; \ + (P) = (void *)(_p + 4); \ + } while (/*CONSTCOND*/0) #define WRITE_ADDR32(P,X) WRITE_WORD(P,X) #define WRITE_OFF32(P,X) WRITE_WORD(P,X) #define WRITE_SWORD(P,X) WRITE_WORD(P,X) #define WRITE_WORD64(P,X) do { \ - uint64_t _t = (X); \ - char *const _p = (char *) (P); \ - const char *const _q = (char *) &_t; \ - _p[0] = _q[0]; \ - _p[1] = _q[1]; \ - _p[2] = _q[2]; \ - _p[3] = _q[3]; \ - _p[4] = _q[4]; \ - _p[5] = _q[5]; \ - _p[6] = _q[6]; \ - _p[7] = _q[7]; \ - (P) = _p + 8; \ - } while (0) + union { \ + uint64_t val; \ + uint8_t bytes[8]; \ + } _t; \ + unsigned char *const _p = (void *) (P); \ + _t.val = (X); \ + _p[0] = _t.bytes[0]; \ + _p[1] = _t.bytes[1]; \ + _p[2] = _t.bytes[2]; \ + _p[3] = _t.bytes[3]; \ + _p[4] = _t.bytes[4]; \ + _p[5] = _t.bytes[5]; \ + _p[6] = _t.bytes[6]; \ + _p[7] = _t.bytes[7]; \ + (P) = (void *)(_p + 8); \ + } while (/*CONSTCOND*/0) #define WRITE_ADDR64(P,X) WRITE_WORD64(P,X) #define WRITE_LWORD(P,X) WRITE_WORD64(P,X) #define WRITE_OFF64(P,X) WRITE_WORD64(P,X) @@ -128,7 +144,7 @@ LIBELF_VCSID("$Id$"); #define WRITE_IDENT(P,X) do { \ (void) memcpy((P), (X), sizeof((X))); \ (P) = (P) + EI_NIDENT; \ - } while (0) + } while (/*CONSTCOND*/0) /* * Read in various integral values. The source pointer could be @@ -137,41 +153,41 @@ LIBELF_VCSID("$Id$"); */ #define READ_BYTE(P,X) do { \ - const char *const _p = \ - (const char *) (P); \ + const unsigned char *const _p = \ + (const void *) (P); \ (X) = _p[0]; \ (P) = (P) + 1; \ - } while (0) + } while (/*CONSTCOND*/0) #define READ_HALF(P,X) do { \ uint16_t _t; \ - char *const _q = (char *) &_t; \ - const char *const _p = \ - (const char *) (P); \ + unsigned char *const _q = (void *) &_t; \ + const unsigned char *const _p = \ + (const void *) (P); \ _q[0] = _p[0]; \ _q[1] = _p[1]; \ (P) = (P) + 2; \ (X) = _t; \ - } while (0) + } while (/*CONSTCOND*/0) #define READ_WORD(P,X) do { \ uint32_t _t; \ - char *const _q = (char *) &_t; \ - const char *const _p = \ - (const char *) (P); \ + unsigned char *const _q = (void *) &_t; \ + const unsigned char *const _p = \ + (const void *) (P); \ _q[0] = _p[0]; \ _q[1] = _p[1]; \ _q[2] = _p[2]; \ _q[3] = _p[3]; \ (P) = (P) + 4; \ (X) = _t; \ - } while (0) + } while (/*CONSTCOND*/0) #define READ_ADDR32(P,X) READ_WORD(P,X) #define READ_OFF32(P,X) READ_WORD(P,X) #define READ_SWORD(P,X) READ_WORD(P,X) #define READ_WORD64(P,X) do { \ uint64_t _t; \ - char *const _q = (char *) &_t; \ - const char *const _p = \ - (const char *) (P); \ + unsigned char *const _q = (void *) &_t; \ + const unsigned char *const _p = \ + (const void *) (P); \ _q[0] = _p[0]; \ _q[1] = _p[1]; \ _q[2] = _p[2]; \ @@ -182,7 +198,7 @@ LIBELF_VCSID("$Id$"); _q[7] = _p[7]; \ (P) = (P) + 8; \ (X) = _t; \ - } while (0) + } while (/*CONSTCOND*/0) #define READ_ADDR64(P,X) READ_WORD64(P,X) #define READ_LWORD(P,X) READ_WORD64(P,X) #define READ_OFF64(P,X) READ_WORD64(P,X) @@ -191,7 +207,7 @@ LIBELF_VCSID("$Id$"); #define READ_IDENT(P,X) do { \ (void) memcpy((X), (P), sizeof((X))); \ (P) = (P) + EI_NIDENT; \ - } while (0) + } while (/*CONSTCOND*/0) #define ROUNDUP2(V,N) (V) = ((((V) + (N) - 1)) & ~((N) - 1)) @@ -230,10 +246,8 @@ define(`IGNORE', IGNORE(MOVEP) IGNORE(NOTE) -IGNORE(GNUHASH) define(IGNORE_BYTE, 1) /* 'lator, leave 'em bytes alone */ -define(IGNORE_GNUHASH, 1) define(IGNORE_NOTE, 1) define(IGNORE_SXWORD32, 1) define(IGNORE_XWORD32, 1) @@ -272,18 +286,18 @@ define(`SIZEDEP_OFF', 1) * `$4': ELF class specifier for types, one of [`32', `64'] */ define(`MAKEPRIM_TO_F',` -static int -libelf_cvt_$1$3_tof(char *dst, size_t dsz, char *src, size_t count, - int byteswap) +static void +libelf_cvt_$1$3_tof(char *dst, char *src, size_t count, int byteswap) { Elf$4_$2 t, *s = (Elf$4_$2 *) (uintptr_t) src; size_t c; - (void) dsz; + if (dst == src && !byteswap) + return; if (!byteswap) { (void) memcpy(dst, src, count * sizeof(*s)); - return (1); + return; } for (c = 0; c < count; c++) { @@ -291,25 +305,22 @@ libelf_cvt_$1$3_tof(char *dst, size_t dsz, char *src, size_t count, SWAP_$1$3(t); WRITE_$1$3(dst,t); } - - return (1); } ') define(`MAKEPRIM_TO_M',` -static int -libelf_cvt_$1$3_tom(char *dst, size_t dsz, char *src, size_t count, - int byteswap) +static void +libelf_cvt_$1$3_tom(char *dst, char *src, size_t count, int byteswap) { Elf$4_$2 t, *d = (Elf$4_$2 *) (uintptr_t) dst; size_t c; - if (dsz < count * sizeof(Elf$4_$2)) - return (0); + if (dst == src && !byteswap) + return; if (!byteswap) { (void) memcpy(dst, src, count * sizeof(*d)); - return (1); + return; } for (c = 0; c < count; c++) { @@ -317,8 +328,6 @@ libelf_cvt_$1$3_tom(char *dst, size_t dsz, char *src, size_t count, SWAP_$1$3(t); *d++ = t; } - - return (1); } ') @@ -395,15 +404,12 @@ define(`READ_STRUCT', define(`MAKE_TO_F', `ifdef(`IGNORE_'$1$3,`',` -static int -libelf_cvt$3_$1_tof(char *dst, size_t dsz, char *src, size_t count, - int byteswap) +static void +libelf_cvt$3_$1_tof(char *dst, char *src, size_t count, int byteswap) { Elf$3_$2 t, *s; size_t c; - (void) dsz; - s = (Elf$3_$2 *) (uintptr_t) src; for (c = 0; c < count; c++) { t = *s++; @@ -412,27 +418,21 @@ libelf_cvt$3_$1_tof(char *dst, size_t dsz, char *src, size_t count, } WRITE_STRUCT($2,$3) } - - return (1); } ')') define(`MAKE_TO_M', `ifdef(`IGNORE_'$1$3,`',` -static int -libelf_cvt$3_$1_tom(char *dst, size_t dsz, char *src, size_t count, - int byteswap) +static void +libelf_cvt$3_$1_tom(char *dst, char *src, size_t count, int byteswap) { Elf$3_$2 t, *d; - char *s,*s0; + unsigned char *s,*s0; size_t fsz; fsz = elf$3_fsize(ELF_T_$1, (size_t) 1, EV_CURRENT); d = ((Elf$3_$2 *) (uintptr_t) dst) + (count - 1); - s0 = (char *) src + (count - 1) * fsz; - - if (dsz < count * sizeof(Elf$3_$2)) - return (0); + s0 = (unsigned char *) src + (count - 1) * fsz; while (count--) { s = s0; @@ -442,8 +442,6 @@ libelf_cvt$3_$1_tom(char *dst, size_t dsz, char *src, size_t count, } *d-- = t; s0 -= fsz; } - - return (1); } ')') @@ -461,7 +459,8 @@ libelf_cvt$3_$1_tom(char *dst, size_t dsz, char *src, size_t count, */ define(`MAKE_TYPE_CONVERTER', - `ifdef(`BASE'_$1, + `#if $3 /* $1 */ +ifdef(`BASE'_$1, `ifdef(`IGNORE_'$1,`', `MAKEPRIM_TO_F($1,$2,`',64) MAKEPRIM_TO_M($1,$2,`',64)')', @@ -474,6 +473,7 @@ define(`MAKE_TYPE_CONVERTER', MAKE_TO_F($1,$2,64)dnl MAKE_TO_M($1,$2,32)dnl MAKE_TO_M($1,$2,64)')') +#endif /* $1 */ ') define(`MAKE_TYPE_CONVERTERS', @@ -487,316 +487,54 @@ divert(0) * simple memcpy suffices for both directions of conversion. */ -static int -libelf_cvt_BYTE_tox(char *dst, size_t dsz, char *src, size_t count, - int byteswap) +/*ARGSUSED*/ +static void +libelf_cvt_BYTE_tox(char *dst, char *src, size_t count, int byteswap __unused) { - (void) byteswap; - if (dsz < count) - return (0); if (dst != src) (void) memcpy(dst, src, count); - return (1); -} - -MAKE_TYPE_CONVERTERS(ELF_TYPE_LIST) - -/* - * Sections of type ELF_T_GNUHASH start with a header containing 4 32-bit - * words. Bloom filter data comes next, followed by hash buckets and the - * hash chain. - * - * Bloom filter words are 64 bit wide on ELFCLASS64 objects and are 32 bit - * wide on ELFCLASS32 objects. The other objects in this section are 32 - * bits wide. - * - * Argument `srcsz' denotes the number of bytes to be converted. In the - * 32-bit case we need to translate `srcsz' to a count of 32-bit words. - */ - -static int -libelf_cvt32_GNUHASH_tom(char *dst, size_t dsz, char *src, size_t srcsz, - int byteswap) -{ - return (libelf_cvt_WORD_tom(dst, dsz, src, srcsz / sizeof(uint32_t), - byteswap)); -} - -static int -libelf_cvt32_GNUHASH_tof(char *dst, size_t dsz, char *src, size_t srcsz, - int byteswap) -{ - return (libelf_cvt_WORD_tof(dst, dsz, src, srcsz / sizeof(uint32_t), - byteswap)); -} - -static int -libelf_cvt64_GNUHASH_tom(char *dst, size_t dsz, char *src, size_t srcsz, - int byteswap) -{ - size_t sz; - uint64_t t64, *bloom64; - Elf_GNU_Hash_Header *gh; - uint32_t n, nbuckets, nchains, maskwords, shift2, symndx, t32; - uint32_t *buckets, *chains; - - sz = 4 * sizeof(uint32_t); /* File header is 4 words long. */ - if (dsz < sizeof(Elf_GNU_Hash_Header) || srcsz < sz) - return (0); - - /* Read in the section header and byteswap if needed. */ - READ_WORD(src, nbuckets); - READ_WORD(src, symndx); - READ_WORD(src, maskwords); - READ_WORD(src, shift2); - - srcsz -= sz; - - if (byteswap) { - SWAP_WORD(nbuckets); - SWAP_WORD(symndx); - SWAP_WORD(maskwords); - SWAP_WORD(shift2); - } - - /* Check source buffer and destination buffer sizes. */ - sz = nbuckets * sizeof(uint32_t) + maskwords * sizeof(uint64_t); - if (srcsz < sz || dsz < sz + sizeof(Elf_GNU_Hash_Header)) - return (0); - - gh = (Elf_GNU_Hash_Header *) (uintptr_t) dst; - gh->gh_nbuckets = nbuckets; - gh->gh_symndx = symndx; - gh->gh_maskwords = maskwords; - gh->gh_shift2 = shift2; - - dsz -= sizeof(Elf_GNU_Hash_Header); - dst += sizeof(Elf_GNU_Hash_Header); - - bloom64 = (uint64_t *) (uintptr_t) dst; - - /* Copy bloom filter data. */ - for (n = 0; n < maskwords; n++) { - READ_XWORD(src, t64); - if (byteswap) - SWAP_XWORD(t64); - bloom64[n] = t64; - } - - /* The hash buckets follows the bloom filter. */ - dst += maskwords * sizeof(uint64_t); - buckets = (uint32_t *) (uintptr_t) dst; - - for (n = 0; n < nbuckets; n++) { - READ_WORD(src, t32); - if (byteswap) - SWAP_WORD(t32); - buckets[n] = t32; - } - - dst += nbuckets * sizeof(uint32_t); - - /* The hash chain follows the hash buckets. */ - dsz -= sz; - srcsz -= sz; - - if (dsz < srcsz) /* Destination lacks space. */ - return (0); - - nchains = srcsz / sizeof(uint32_t); - chains = (uint32_t *) (uintptr_t) dst; - - for (n = 0; n < nchains; n++) { - READ_WORD(src, t32); - if (byteswap) - SWAP_WORD(t32); - *chains++ = t32; - } - - return (1); -} - -static int -libelf_cvt64_GNUHASH_tof(char *dst, size_t dsz, char *src, size_t srcsz, - int byteswap) -{ - uint32_t *s32; - size_t sz, hdrsz; - uint64_t *s64, t64; - Elf_GNU_Hash_Header *gh; - uint32_t maskwords, n, nbuckets, nchains, t0, t1, t2, t3, t32; - - hdrsz = 4 * sizeof(uint32_t); /* Header is 4x32 bits. */ - if (dsz < hdrsz || srcsz < sizeof(Elf_GNU_Hash_Header)) - return (0); - - gh = (Elf_GNU_Hash_Header *) (uintptr_t) src; - - t0 = nbuckets = gh->gh_nbuckets; - t1 = gh->gh_symndx; - t2 = maskwords = gh->gh_maskwords; - t3 = gh->gh_shift2; - - src += sizeof(Elf_GNU_Hash_Header); - srcsz -= sizeof(Elf_GNU_Hash_Header); - dsz -= hdrsz; - - sz = gh->gh_nbuckets * sizeof(uint32_t) + gh->gh_maskwords * - sizeof(uint64_t); - - if (srcsz < sz || dsz < sz) - return (0); - - /* Write out the header. */ - if (byteswap) { - SWAP_WORD(t0); - SWAP_WORD(t1); - SWAP_WORD(t2); - SWAP_WORD(t3); - } - - WRITE_WORD(dst, t0); - WRITE_WORD(dst, t1); - WRITE_WORD(dst, t2); - WRITE_WORD(dst, t3); - - /* Copy the bloom filter and the hash table. */ - s64 = (uint64_t *) (uintptr_t) src; - for (n = 0; n < maskwords; n++) { - t64 = *s64++; - if (byteswap) - SWAP_XWORD(t64); - WRITE_WORD64(dst, t64); - } - - s32 = (uint32_t *) s64; - for (n = 0; n < nbuckets; n++) { - t32 = *s32++; - if (byteswap) - SWAP_WORD(t32); - WRITE_WORD(dst, t32); - } - - srcsz -= sz; - dsz -= sz; - - /* Copy out the hash chains. */ - if (dsz < srcsz) - return (0); - - nchains = srcsz / sizeof(uint32_t); - for (n = 0; n < nchains; n++) { - t32 = *s32++; - if (byteswap) - SWAP_WORD(t32); - WRITE_WORD(dst, t32); - } - - return (1); } /* - * Elf_Note structures comprise a fixed size header followed by variable + * Elf note structures comprise a fixed size header followed by variable * length strings. The fixed size header needs to be byte swapped, but * not the strings. * * Argument `count' denotes the total number of bytes to be converted. - * The destination buffer needs to be at least `count' bytes in size. */ -static int -libelf_cvt_NOTE_tom(char *dst, size_t dsz, char *src, size_t count, - int byteswap) +static void +libelf_cvt_NOTE_tom(char *dst, char *src, size_t count, int byteswap) { uint32_t namesz, descsz, type; - Elf_Note *en; - size_t sz, hdrsz; + Elf32_Nhdr *en; /* Elf32_Nhdr and Elf64_Nhdr are equiv. */ + size_t sz; - if (dsz < count) /* Destination buffer is too small. */ - return (0); - - hdrsz = 3 * sizeof(uint32_t); - if (count < hdrsz) /* Source too small. */ - return (0); + if (dst == src && !byteswap) + return; if (!byteswap) { (void) memcpy(dst, src, count); - return (1); + return; } - /* Process all notes in the section. */ - while (count > hdrsz) { - /* Read the note header. */ + while (count > sizeof(Elf32_Nhdr)) { + READ_WORD(src, namesz); READ_WORD(src, descsz); READ_WORD(src, type); - /* Translate. */ - SWAP_WORD(namesz); - SWAP_WORD(descsz); - SWAP_WORD(type); + if (byteswap) { + SWAP_WORD(namesz); + SWAP_WORD(descsz); + SWAP_WORD(type); + } - /* Copy out the translated note header. */ - en = (Elf_Note *) (uintptr_t) dst; + en = (Elf32_Nhdr *) (uintptr_t) dst; en->n_namesz = namesz; en->n_descsz = descsz; en->n_type = type; - dsz -= sizeof(Elf_Note); - dst += sizeof(Elf_Note); - count -= hdrsz; - - ROUNDUP2(namesz, 4); - ROUNDUP2(descsz, 4); - - sz = namesz + descsz; - - if (count < sz || dsz < sz) /* Buffers are too small. */ - return (0); - - (void) memcpy(dst, src, sz); - - src += sz; - dst += sz; - - count -= sz; - dsz -= sz; - } - - return (1); -} - -static int -libelf_cvt_NOTE_tof(char *dst, size_t dsz, char *src, size_t count, - int byteswap) -{ - uint32_t namesz, descsz, type; - Elf_Note *en; - size_t sz; - - if (dsz < count) - return (0); - - if (!byteswap) { - (void) memcpy(dst, src, count); - return (1); - } - - while (count > sizeof(Elf_Note)) { - - en = (Elf_Note *) (uintptr_t) src; - namesz = en->n_namesz; - descsz = en->n_descsz; - type = en->n_type; - - SWAP_WORD(namesz); - SWAP_WORD(descsz); - SWAP_WORD(type); - - WRITE_WORD(dst, namesz); - WRITE_WORD(dst, descsz); - WRITE_WORD(dst, type); - - src += sizeof(Elf_Note); + dst += sizeof(Elf32_Nhdr); ROUNDUP2(namesz, 4); ROUNDUP2(descsz, 4); @@ -812,19 +550,66 @@ libelf_cvt_NOTE_tof(char *dst, size_t dsz, char *src, size_t count, dst += sz; count -= sz; } - - return (1); } +static void +libelf_cvt_NOTE_tof(char *dst, char *src, size_t count, int byteswap) +{ + uint32_t namesz, descsz, type; + Elf32_Nhdr *en; /* Elf32_Nhdr and Elf64_Nhdr are equiv. */ + size_t sz; + + if (dst == src && !byteswap) + return; + + if (!byteswap) { + (void) memcpy(dst, src, count); + return; + } + + while (count > sizeof(Elf32_Nhdr)) { + + en = (Elf32_Nhdr *) (uintptr_t) src; + namesz = en->n_namesz; + descsz = en->n_descsz; + type = en->n_type; + + if (byteswap) { + SWAP_WORD(namesz); + SWAP_WORD(descsz); + SWAP_WORD(type); + } + + + WRITE_WORD(dst, namesz); + WRITE_WORD(dst, descsz); + WRITE_WORD(dst, type); + + src += sizeof(Elf32_Nhdr); + + ROUNDUP2(namesz, 4); + ROUNDUP2(descsz, 4); + + sz = namesz + descsz; + + if (count < sz) + sz = count; + + (void) memcpy(dst, src, sz); + + src += sz; + dst += sz; + count -= sz; + } +} + +MAKE_TYPE_CONVERTERS(ELF_TYPE_LIST) + struct converters { - int (*tof32)(char *dst, size_t dsz, char *src, size_t cnt, - int byteswap); - int (*tom32)(char *dst, size_t dsz, char *src, size_t cnt, - int byteswap); - int (*tof64)(char *dst, size_t dsz, char *src, size_t cnt, - int byteswap); - int (*tom64)(char *dst, size_t dsz, char *src, size_t cnt, - int byteswap); + void (*tof32)(char *dst, char *src, size_t cnt, int byteswap); + void (*tom32)(char *dst, char *src, size_t cnt, int byteswap); + void (*tof64)(char *dst, char *src, size_t cnt, int byteswap); + void (*tom64)(char *dst, char *src, size_t cnt, int byteswap); }; divert(-1) @@ -839,9 +624,11 @@ define(`CONV', define(`CONVERTER_NAME', `ifdef(`IGNORE_'$1,`', - `[ELF_T_$1] = { + `#if $3 + [ELF_T_$1] = { CONV($1,32,tof), CONV($1,32,tom), CONV($1,64,tof), CONV($1,64,tom) }, +#endif ')') define(`CONVERTER_NAMES', @@ -864,14 +651,6 @@ CONVERTER_NAMES(ELF_TYPE_LIST) .tof64 = libelf_cvt_BYTE_tox, .tom64 = libelf_cvt_BYTE_tox }, - - [ELF_T_GNUHASH] = { - .tof32 = libelf_cvt32_GNUHASH_tof, - .tom32 = libelf_cvt32_GNUHASH_tom, - .tof64 = libelf_cvt64_GNUHASH_tof, - .tom64 = libelf_cvt64_GNUHASH_tom - }, - [ELF_T_NOTE] = { .tof32 = libelf_cvt_NOTE_tof, .tom32 = libelf_cvt_NOTE_tom, @@ -880,8 +659,8 @@ CONVERTER_NAMES(ELF_TYPE_LIST) } }; -int (*_libelf_get_translator(Elf_Type t, int direction, int elfclass)) - (char *_dst, size_t dsz, char *_src, size_t _cnt, int _byteswap) +void (*_libelf_get_translator(Elf_Type t, int direction, int elfclass)) + (char *_dst, char *_src, size_t _cnt, int _byteswap) { assert(elfclass == ELFCLASS32 || elfclass == ELFCLASS64); assert(direction == ELF_TOFILE || direction == ELF_TOMEMORY); diff --git a/lib/libelf/libelf_data.c b/external/bsd/libelf/dist/libelf_data.c similarity index 76% rename from lib/libelf/libelf_data.c rename to external/bsd/libelf/dist/libelf_data.c index c5424f4a7..90f6f571c 100644 --- a/lib/libelf/libelf_data.c +++ b/external/bsd/libelf/dist/libelf_data.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_data.c,v 1.5 2013/06/21 01:36:31 christos Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,14 +26,17 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_data.c,v 1.4.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - int _libelf_xlate_shtype(uint32_t sht) { @@ -42,10 +47,6 @@ _libelf_xlate_shtype(uint32_t sht) return (ELF_T_SYM); case SHT_FINI_ARRAY: return (ELF_T_ADDR); - case SHT_GNU_HASH: - return (ELF_T_GNUHASH); - case SHT_GNU_LIBLIST: - return (ELF_T_WORD); case SHT_GROUP: return (ELF_T_WORD); case SHT_HASH: @@ -70,19 +71,25 @@ _libelf_xlate_shtype(uint32_t sht) return (ELF_T_SYM); case SHT_SYMTAB_SHNDX: return (ELF_T_WORD); - case SHT_SUNW_dof: - return (ELF_T_BYTE); +#if defined(__LIBELF_HAVE_ELF_VERS) + case SHT_GNU_verdef: /* == SHT_SUNW_verdef */ + return (ELF_T_VDEF); + case SHT_GNU_verneed: /* == SHT_SUNW_verneed */ + return (ELF_T_VNEED); + case SHT_GNU_versym: /* == SHT_SUNW_versym */ + return (ELF_T_HALF); +#endif /* __LIBELF_HAVE_ELF_VERS */ +#if defined(__LIBELF_HAVE_ELF_MOVE) case SHT_SUNW_move: return (ELF_T_MOVE); +#endif /* __LIBELF_HAVE_ELF_MOVE */ +#if defined(__LIBELF_HAVE_ELF_SYMINFO) case SHT_SUNW_syminfo: return (ELF_T_SYMINFO); - case SHT_SUNW_verdef: /* == SHT_GNU_verdef */ - return (ELF_T_VDEF); - case SHT_SUNW_verneed: /* == SHT_GNU_verneed */ - return (ELF_T_VNEED); - case SHT_SUNW_versym: /* == SHT_GNU_versym */ - return (ELF_T_HALF); +#endif /* __LIBELF_HAVE_ELF_SYMINFO */ default: + if (sht >= SHT_LOPROC && sht <= SHT_HIPROC) + return (ELF_T_BYTE); return (-1); } } diff --git a/lib/libelf/libelf_ehdr.c b/external/bsd/libelf/dist/libelf_ehdr.c similarity index 84% rename from lib/libelf/libelf_ehdr.c rename to external/bsd/libelf/dist/libelf_ehdr.c index 9431a6f96..7207fd80d 100644 --- a/lib/libelf/libelf_ehdr.c +++ b/external/bsd/libelf/dist/libelf_ehdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_ehdr.c,v 1.6 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,20 +25,24 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libelf/libelf_ehdr.c,v 1.2 2006/12/25 02:22:22 jkoshy Exp $ + * $FreeBSD: src/lib/libelf/libelf_ehdr.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_ehdr.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include +#include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Retrieve counts for sections, phdrs and the section string table index * from section header #0 of the ELF object. @@ -47,7 +53,7 @@ _libelf_load_extended(Elf *e, int ec, uint64_t shoff, uint16_t phnum, { Elf_Scn *scn; size_t fsz; - int (*xlator)(char *_d, size_t _dsz, char *_s, size_t _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); uint32_t shtype; assert(STAILQ_EMPTY(&e->e_u.e_elf.e_scn)); @@ -63,10 +69,14 @@ _libelf_load_extended(Elf *e, int ec, uint64_t shoff, uint16_t phnum, if ((scn = _libelf_allocate_scn(e, (size_t) 0)) == NULL) return (0); + if (shoff > SSIZE_MAX) { + LIBELF_SET_ERROR(HEADER, 0); + return (0); + } + xlator = _libelf_get_translator(ELF_T_SHDR, ELF_TOMEMORY, ec); - (*xlator)((char *) &scn->s_shdr, sizeof(scn->s_shdr), - e->e_rawfile + shoff, (size_t) 1, - e->e_byteorder != LIBELF_PRIVATE(byteorder)); + (*xlator)((void *) &scn->s_shdr, e->e_rawfile + (ssize_t)shoff, + (size_t) 1, e->e_byteorder != _libelf_host_byteorder()); #define GET_SHDR_MEMBER(M) ((ec == ELFCLASS32) ? scn->s_shdr.s_shdr32.M : \ scn->s_shdr.s_shdr64.M) @@ -76,7 +86,12 @@ _libelf_load_extended(Elf *e, int ec, uint64_t shoff, uint16_t phnum, return (0); } - e->e_u.e_elf.e_nscn = GET_SHDR_MEMBER(sh_size); + if (GET_SHDR_MEMBER(sh_size) > UINT_MAX) { + LIBELF_SET_ERROR(HEADER, 0); + return (0); + } + + e->e_u.e_elf.e_nscn = (unsigned int)GET_SHDR_MEMBER(sh_size); e->e_u.e_elf.e_nphdr = (phnum != PN_XNUM) ? phnum : GET_SHDR_MEMBER(sh_info); e->e_u.e_elf.e_strndx = (strndx != SHN_XINDEX) ? strndx : @@ -98,7 +113,7 @@ _libelf_load_extended(Elf *e, int ec, uint64_t shoff, uint16_t phnum, eh->e_machine = EM_NONE; \ eh->e_type = ELF_K_NONE; \ eh->e_version = LIBELF_PRIVATE(version); \ - } while (0) + } while (/*CONSTCOND*/0) void * _libelf_ehdr(Elf *e, int ec, int allocate) @@ -107,7 +122,7 @@ _libelf_ehdr(Elf *e, int ec, int allocate) size_t fsz, msz; uint16_t phnum, shnum, strndx; uint64_t shoff; - int (*xlator)(char *_d, size_t _dsz, char *_s, size_t _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); assert(ec == ELFCLASS32 || ec == ELFCLASS64); @@ -169,8 +184,8 @@ _libelf_ehdr(Elf *e, int ec, int allocate) return (ehdr); xlator = _libelf_get_translator(ELF_T_EHDR, ELF_TOMEMORY, ec); - (*xlator)(ehdr, msz, e->e_rawfile, (size_t) 1, - e->e_byteorder != LIBELF_PRIVATE(byteorder)); + (*xlator)(ehdr, e->e_rawfile, (size_t) 1, + e->e_byteorder != _libelf_host_byteorder()); /* * If extended numbering is being used, read the correct diff --git a/lib/libelf/libelf_extended.c b/external/bsd/libelf/dist/libelf_extended.c similarity index 92% rename from lib/libelf/libelf_extended.c rename to external/bsd/libelf/dist/libelf_extended.c index 985f7d522..d45fc8008 100644 --- a/lib/libelf/libelf_extended.c +++ b/external/bsd/libelf/dist/libelf_extended.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_extended.c,v 1.2 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,18 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_extended.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Retrieve section #0, allocating a new section if needed. */ @@ -134,3 +139,4 @@ _libelf_setphnum(Elf *e, void *eh, int ec, size_t phnum) return (1); } + diff --git a/lib/libelf/libelf_fsize.m4 b/external/bsd/libelf/dist/libelf_fsize.m4 similarity index 89% rename from lib/libelf/libelf_fsize.m4 rename to external/bsd/libelf/dist/libelf_fsize.m4 index bb92dae2b..8bf49b3d2 100644 --- a/lib/libelf/libelf_fsize.m4 +++ b/external/bsd/libelf/dist/libelf_fsize.m4 @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_fsize.m4,v 1.3 2009/12/19 07:31:44 thorpej Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -22,16 +24,14 @@ * 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: src/lib/libelf/libelf_fsize.m4,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - -/* WARNING: GENERATED FROM __file__. */ - /* * Create an array of file sizes from the elf_type definitions */ @@ -44,18 +44,15 @@ include(SRCDIR`/elf_types.m4') * representations. */ -/* `Basic' types. */ +/* `Basic' types */ define(`BYTE_SIZE', 1) define(`IDENT_SIZE', `EI_NIDENT') +define(`NOTE_SIZE', 1) /* Elf_Note structures have variable length. */ -/* Types that have variable length. */ -define(`GNUHASH_SIZE', 1) -define(`NOTE_SIZE', 1) - -/* Currently unimplemented types. */ +/* Currently unimplemented types */ define(`MOVEP_SIZE', 0) -/* Overrides for 32 bit types that do not exist. */ +/* Overrides for 32 bit types that do not exist */ define(`XWORD_SIZE32', 0) define(`SXWORD_SIZE32', 0) @@ -119,8 +116,9 @@ DEFINE_ELF_FSIZES(ELF_TYPE_LIST) DEFINE_ELF_FSIZE(`IDENT',`') # `IDENT' is a pseudo type define(`FSIZE', - `[ELF_T_$1] = { .fsz32 = $1_SIZE32, .fsz64 = $1_SIZE64 }, -') + `#if $3 + [ELF_T_$1] = { .fsz32 = $1_SIZE32, .fsz64 = $1_SIZE64 }, +#endif') define(`FSIZES', `ifelse($#,1,`', `FSIZE($1) @@ -155,3 +153,4 @@ _libelf_fsize(Elf_Type t, int ec, unsigned int v, size_t c) return (sz*c); } + diff --git a/lib/libelf/libelf_msize.m4 b/external/bsd/libelf/dist/libelf_msize.m4 similarity index 87% rename from lib/libelf/libelf_msize.m4 rename to external/bsd/libelf/dist/libelf_msize.m4 index 35d4141f7..191fb4a5c 100644 --- a/lib/libelf/libelf_msize.m4 +++ b/external/bsd/libelf/dist/libelf_msize.m4 @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_msize.m4,v 1.6 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +26,14 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_msize.m4,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ + +#include #include #include @@ -32,8 +41,6 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* WARNING: GENERATED FROM __file__. */ struct msize { @@ -45,7 +52,6 @@ divert(-1) include(SRCDIR`/elf_types.m4') define(BYTE_SIZE, 1) -define(GNUHASH_SIZE, 1) define(NOTE_SIZE, 1) /* @@ -71,8 +77,9 @@ define(`DEFINE_ELF_MSIZES', DEFINE_ELF_MSIZES(ELF_TYPE_LIST) define(`MSIZE', - `[ELF_T_$1] = { .msz32 = $1_SIZE32, .msz64 = $1_SIZE64 }, -') + `#if $3 + [ELF_T_$1] = { .msz32 = $1_SIZE32, .msz64 = $1_SIZE64 }, +#endif') define(`MSIZES', `ifelse($#,1,`', `MSIZE($1) diff --git a/lib/libelf/libelf_phdr.c b/external/bsd/libelf/dist/libelf_phdr.c similarity index 87% rename from lib/libelf/libelf_phdr.c rename to external/bsd/libelf/dist/libelf_phdr.c index edf42f15e..c0d760f84 100644 --- a/lib/libelf/libelf_phdr.c +++ b/external/bsd/libelf/dist/libelf_phdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_phdr.c,v 1.5 2013/10/18 08:04:47 mrg Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,10 +25,15 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libelf/libelf_phdr.c,v 1.2 2006/12/25 02:22:22 jkoshy Exp $ + * $FreeBSD: src/lib/libelf/libelf_phdr.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $ */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_phdr.c,v 1.2.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include @@ -35,18 +42,16 @@ #include "_libelf.h" -LIBELF_VCSID("$Id$"); - void * _libelf_getphdr(Elf *e, int ec) { - size_t phnum, phentsize; + size_t phnum; size_t fsz, msz; uint64_t phoff; Elf32_Ehdr *eh32; Elf64_Ehdr *eh64; void *ehdr, *phdr; - int (*xlator)(char *_d, size_t _dsz, char *_s, size_t _c, int _swap); + void (*xlator)(char *_d, char *_s, size_t _c, int _swap); assert(ec == ELFCLASS32 || ec == ELFCLASS64); @@ -71,11 +76,9 @@ _libelf_getphdr(Elf *e, int ec) if (ec == ELFCLASS32) { eh32 = (Elf32_Ehdr *) ehdr; - phentsize = eh32->e_phentsize; phoff = (uint64_t) eh32->e_phoff; } else { eh64 = (Elf64_Ehdr *) ehdr; - phentsize = eh64->e_phentsize; phoff = (uint64_t) eh64->e_phoff; } @@ -104,8 +107,8 @@ _libelf_getphdr(Elf *e, int ec) xlator = _libelf_get_translator(ELF_T_PHDR, ELF_TOMEMORY, ec); - (*xlator)(phdr, phnum * msz, e->e_rawfile + phoff, phnum, - e->e_byteorder != LIBELF_PRIVATE(byteorder)); + (*xlator)(phdr, e->e_rawfile + phoff, phnum, + e->e_byteorder != _libelf_host_byteorder()); return (phdr); } diff --git a/lib/libelf/libelf_shdr.c b/external/bsd/libelf/dist/libelf_shdr.c similarity index 86% rename from lib/libelf/libelf_shdr.c rename to external/bsd/libelf/dist/libelf_shdr.c index c96e59d3c..9ea1876ed 100644 --- a/lib/libelf/libelf_shdr.c +++ b/external/bsd/libelf/dist/libelf_shdr.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_shdr.c,v 1.2 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,18 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_shdr.c,v 1.1.10.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - void * _libelf_getshdr(Elf_Scn *s, int ec) { diff --git a/lib/libelf/libelf_xlate.c b/external/bsd/libelf/dist/libelf_xlate.c similarity index 88% rename from lib/libelf/libelf_xlate.c rename to external/bsd/libelf/dist/libelf_xlate.c index 4633af91c..e52e255a5 100644 --- a/lib/libelf/libelf_xlate.c +++ b/external/bsd/libelf/dist/libelf_xlate.c @@ -1,5 +1,7 @@ +/* $NetBSD: libelf_xlate.c,v 1.4 2010/02/22 10:48:33 darran Exp $ */ + /*- - * Copyright (c) 2006,2008 Joseph Koshy + * Copyright (c) 2006 Joseph Koshy * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,15 +26,18 @@ * SUCH DAMAGE. */ +#if HAVE_NBTOOL_CONFIG_H +# include "nbtool_config.h" +#endif + #include +/* __FBSDID("$FreeBSD: src/lib/libelf/libelf_xlate.c,v 1.3.2.1.2.1 2009/10/25 01:10:29 kensmith Exp $"); */ #include #include #include "_libelf.h" -LIBELF_VCSID("$Id$"); - /* * Translate to/from the file representation of ELF objects. * @@ -49,12 +54,11 @@ Elf_Data * _libelf_xlate(Elf_Data *dst, const Elf_Data *src, unsigned int encoding, int elfclass, int direction) { - int byteswap; size_t cnt, dsz, fsz, msz; uintptr_t sb, se, db, de; if (encoding == ELFDATANONE) - encoding = LIBELF_PRIVATE(byteorder); + encoding = _libelf_host_byteorder(); if ((encoding != ELFDATA2LSB && encoding != ELFDATA2MSB) || dst == NULL || src == NULL || dst == src) { @@ -134,17 +138,12 @@ _libelf_xlate(Elf_Data *dst, const Elf_Data *src, unsigned int encoding, dst->d_type = src->d_type; dst->d_size = dsz; - byteswap = encoding != LIBELF_PRIVATE(byteorder); - if (src->d_size == 0 || - (db == sb && !byteswap && fsz == msz)) + (db == sb && encoding == _libelf_host_byteorder() && fsz == msz)) return (dst); /* nothing more to do */ - if (!(_libelf_get_translator(src->d_type, direction, elfclass)) - (dst->d_buf, dsz, src->d_buf, cnt, byteswap)) { - LIBELF_SET_ERROR(DATA, 0); - return (NULL); - } + (_libelf_get_translator(src->d_type, direction, elfclass))(dst->d_buf, + src->d_buf, cnt, encoding != _libelf_host_byteorder()); return (dst); } diff --git a/external/bsd/libelf/lib/Makefile b/external/bsd/libelf/lib/Makefile new file mode 100644 index 000000000..2b1ba109a --- /dev/null +++ b/external/bsd/libelf/lib/Makefile @@ -0,0 +1,148 @@ +# $NetBSD: Makefile,v 1.3 2012/12/27 08:06:28 martin Exp $ + +.include + +LIB= elf + +SRCS= elf_begin.c \ + elf_cntl.c \ + elf_end.c elf_errmsg.c elf_errno.c \ + elf_data.c \ + elf_fill.c elf_flag.c \ + elf_getarhdr.c elf_getarsym.c elf_getbase.c \ + elf_getident.c \ + elf_hash.c \ + elf_kind.c \ + elf_memory.c \ + elf_next.c \ + elf_rand.c elf_rawfile.c \ + elf_phnum.c \ + elf_shnum.c elf_shstrndx.c elf_scn.c elf_strptr.c \ + elf_update.c \ + elf_version.c \ + gelf_cap.c \ + gelf_checksum.c \ + gelf_dyn.c \ + gelf_ehdr.c \ + gelf_getclass.c \ + gelf_fsize.c \ + gelf_move.c \ + gelf_phdr.c \ + gelf_rel.c gelf_rela.c \ + gelf_shdr.c gelf_sym.c gelf_syminfo.c gelf_symshndx.c \ + gelf_xlate.c \ + libelf.c \ + libelf_align.c libelf_allocate.c libelf_ar.c \ + libelf_checksum.c \ + libelf_data.c \ + libelf_ehdr.c libelf_extended.c \ + libelf_phdr.c \ + libelf_shdr.c \ + libelf_xlate.c \ + ${LIBELF_GENSRCS} + +INCS= libelf.h gelf.h +INCSDIR= /usr/include + +LIBELF_GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c + +CLEANFILES+= ${LIBELF_GENSRCS} +CPPFLAGS+= -I${.CURDIR} + +.if ${HAVE_GCC:U} == "45" && ${MACHINE_CPU} == "ia64" +COPTS.libelf_extended.c+= ${${ACTIVE_CC} == "gcc" :? -O1 :} +.endif + +MAN= elf.3 \ + elf_begin.3 \ + elf_cntl.3 \ + elf_end.3 elf_errmsg.3 \ + elf_fill.3 elf_flagdata.3 \ + elf_getarhdr.3 elf_getarsym.3 elf_getbase.3 \ + elf_getdata.3 elf_getident.3 elf_getscn.3 \ + elf_getphnum.3 elf_getshnum.3 elf_getshstrndx.3 \ + elf_hash.3 \ + elf_kind.3 \ + elf_memory.3 \ + elf_next.3 \ + elf_rawfile.3 elf_rand.3 \ + elf_strptr.3 \ + elf_update.3 \ + elf_version.3 \ + gelf.3 \ + gelf_checksum.3 \ + gelf_fsize.3 \ + gelf_getcap.3 gelf_getclass.3 gelf_getdyn.3 \ + gelf_getehdr.3 gelf_getmove.3 gelf_getphdr.3 \ + gelf_getrel.3 gelf_getrela.3 gelf_getshdr.3 \ + gelf_getsym.3 gelf_getsyminfo.3 gelf_getsymshndx.3 \ + gelf_newehdr.3 gelf_newphdr.3 \ + gelf_update_ehdr.3 \ + gelf_xlatetof.3 + +MLINKS+= elf_errmsg.3 elf_errno.3 + +MLINKS+= elf_flagdata.3 elf_flagehdr.3 +MLINKS+= elf_flagdata.3 elf_flagelf.3 +MLINKS+= elf_flagdata.3 elf_flagphdr.3 +MLINKS+= elf_flagdata.3 elf_flagscn.3 +MLINKS+= elf_flagdata.3 elf_flagshdr.3 + +MLINKS+= elf_getdata.3 elf_newdata.3 +MLINKS+= elf_getdata.3 elf_rawdata.3 + +MLINKS+= elf_getscn.3 elf_ndxscn.3 +MLINKS+= elf_getscn.3 elf_newscn.3 +MLINKS+= elf_getscn.3 elf_nextscn.3 + +MLINKS+= elf_getshstrndx.3 elf_setshstrndx.3 + +MLINKS+= gelf_getcap.3 gelf_update_cap.3 + +MLINKS+= gelf_getdyn.3 gelf_update_dyn.3 + +MLINKS+= gelf_getmove.3 gelf_update_move.3 + +MLINKS+= gelf_getrel.3 gelf_update_rel.3 + +MLINKS+= gelf_getrela.3 gelf_update_rela.3 + +MLINKS+= gelf_getsym.3 gelf_update_sym.3 + +MLINKS+= gelf_getsyminfo.3 gelf_update_syminfo.3 + +MLINKS+= gelf_getsymshndx.3 gelf_update_symshndx.3 + +MLINKS+= gelf_update_ehdr.3 gelf_update_phdr.3 + +MLINKS+= gelf_update_ehdr.3 gelf_update_shdr.3 + +MLINKS+= gelf_xlatetof.3 gelf_xlatetom.3 + +.for E in 32 64 +MLINKS+= gelf_checksum.3 elf${E}_checksum.3 +MLINKS+= gelf_fsize.3 elf${E}_fsize.3 +MLINKS+= gelf_getehdr.3 elf${E}_getehdr.3 +MLINKS+= gelf_getphdr.3 elf${E}_getphdr.3 +MLINKS+= gelf_getshdr.3 elf${E}_getshdr.3 +MLINKS+= gelf_newehdr.3 elf${E}_newehdr.3 +MLINKS+= gelf_newphdr.3 elf${E}_newphdr.3 +MLINKS+= gelf_xlatetof.3 elf${E}_xlatetof.3 +MLINKS+= gelf_xlatetof.3 elf${E}_xlatetom.3 +.endfor + +LIBELF_TEST_HOOKS?= 1 +.if defined(LIBELF_TEST_HOOKS) && (${LIBELF_TEST_HOOKS} > 0) +CPPFLAGS+= -DLIBELF_TEST_HOOKS +.endif + +libelf_convert.c: elf_types.m4 libelf_convert.m4 +libelf_fsize.c: elf_types.m4 libelf_fsize.m4 +libelf_msize.c: elf_types.m4 libelf_msize.m4 + +.include + +# Keep the .SUFFIXES line after the include of bsd.lib.mk +.SUFFIXES: .m4 .c +.m4.c: + ${TOOL_M4} -D SRCDIR=${LIBELF_DIR} ${.IMPSRC} > ${.TARGET} diff --git a/external/bsd/libelf/lib/shlib_version b/external/bsd/libelf/lib/shlib_version new file mode 100644 index 000000000..d945d60fd --- /dev/null +++ b/external/bsd/libelf/lib/shlib_version @@ -0,0 +1,6 @@ +# $NetBSD: shlib_version,v 1.1 2009/12/19 05:52:01 thorpej Exp $ +# Remember to update distrib/sets/lists/base/shl.* when changing +# + +major=0 +minor=0 diff --git a/external/bsd/libelf/prepare-import.sh b/external/bsd/libelf/prepare-import.sh new file mode 100755 index 000000000..d3a2b85fb --- /dev/null +++ b/external/bsd/libelf/prepare-import.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# $NetBSD: prepare-import.sh,v 1.3 2010/12/03 21:38:49 plunky Exp $ + +# Copy the FreeBSD src/lib/libelf directory contents to dist. Run +# this script and you're done. +# +# lib/ is built as SUBDIR from lib/Makefile. +# +# Use the following template to import +# cvs import src/external/bsd/libelf/dist FreeBSD FreeBSD-X-Y-Z +# +# don't forget to bump the lib/shlib_version if necessary +# + +set -e + +echo "Adding RCS tags .." +for f in $(grep -RL '\$NetBSD.*\$' dist | grep -v CVS); do + case $f in + *.[ch] | *.m4) + cat - > ${f}_tmp <<- EOF + /* \$NetBSD\$ */ + + EOF + sed -e 's,^__FBSDID.*,\/\* & \*\/,g' ${f} >> ${f}_tmp + mv ${f}_tmp ${f} + ;; + *.[0-9]) + cat - ${f} > ${f}_tmp <<- EOF + .\" \$NetBSD\$ + .\" + EOF + mv ${f}_tmp ${f} + ;; + *) + echo "No RCS tag added to ${f}" + ;; + esac +done + +echo "prepare-import done" diff --git a/external/bsd/lutok/dist/NEWS b/external/bsd/lutok/dist/NEWS index d1920e5cf..f748129bd 100644 --- a/external/bsd/lutok/dist/NEWS +++ b/external/bsd/lutok/dist/NEWS @@ -1,3 +1,26 @@ +Changes in version 0.3 +====================== + +Released on 2013/06/14. + +* Issue 1: Added support for Lua 5.2 while maintaining support for Lua + 5.1. Applications using Lutok can be modified to use the new + interface in this new version and thus support both Lua releases. + However, because of incompatible changes to the Lua API, this release + of Lutok is incompatible with previous releases as well. + +* Issue 3: Tweaked configure to look for Lua using the pkg-config names + lua-5.2 and lua-5.1. These are the names used by FreeBSD. + +Interface changes: + +* New global constants: registry_index. + +* New methods added to the state class: get_global_table. + +* Removed global constants: globals_index. + + Changes in version 0.2 ====================== diff --git a/external/bsd/lutok/dist/c_gate_test.cpp b/external/bsd/lutok/dist/c_gate_test.cpp index 59115534b..33e3d10da 100644 --- a/external/bsd/lutok/dist/c_gate_test.cpp +++ b/external/bsd/lutok/dist/c_gate_test.cpp @@ -38,7 +38,7 @@ ATF_TEST_CASE_WITHOUT_HEAD(connect); ATF_TEST_CASE_BODY(connect) { - lua_State* raw_state = lua_open(); + lua_State* raw_state = luaL_newstate(); ATF_REQUIRE(raw_state != NULL); { diff --git a/external/bsd/lutok/dist/debug.hpp b/external/bsd/lutok/dist/debug.hpp index d566032c5..6fc074d95 100644 --- a/external/bsd/lutok/dist/debug.hpp +++ b/external/bsd/lutok/dist/debug.hpp @@ -33,8 +33,11 @@ #define LUTOK_DEBUG_HPP #include +#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L +#include +#else #include - +#endif namespace lutok { @@ -56,7 +59,11 @@ class debug { struct impl; /// Pointer to the shared internal implementation. +#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L + std::shared_ptr< impl > _pimpl; +#else std::tr1::shared_ptr< impl > _pimpl; +#endif public: debug(void); diff --git a/external/bsd/lutok/dist/state.cpp b/external/bsd/lutok/dist/state.cpp index a7d095208..56281db62 100644 --- a/external/bsd/lutok/dist/state.cpp +++ b/external/bsd/lutok/dist/state.cpp @@ -212,7 +212,7 @@ cxx_function_trampoline(lua_State* raw_state) } // anonymous namespace -const int lutok::globals_index = LUA_GLOBALSINDEX; +const int lutok::registry_index = LUA_REGISTRYINDEX; /// Internal implementation for lutok::state. @@ -241,7 +241,7 @@ struct lutok::state::impl { /// session. As soon as the object is destroyed, the session is terminated. lutok::state::state(void) { - lua_State* lua = lua_open(); + lua_State* lua = luaL_newstate(); if (lua == NULL) throw lutok::error("lua open failed"); _pimpl.reset(new impl(lua, true)); @@ -308,6 +308,26 @@ lutok::state::get_global(const std::string& name) } +/// Pushes a reference to the global table onto the stack. +/// +/// This is a wrapper around the incompatible differences between Lua 5.1 and +/// 5.2 to access to the globals table. +/// +/// \post state(-1) Contains the reference to the globals table. +void +lutok::state::get_global_table(void) +{ +#if LUA_VERSION_NUM >= 502 + lua_pushvalue(_pimpl->lua_state, registry_index); + lua_pushinteger(_pimpl->lua_state, LUA_RIDX_GLOBALS); + lua_gettable(_pimpl->lua_state, -2); + lua_remove(_pimpl->lua_state, -2); +#else + lua_pushvalue(_pimpl->lua_state, LUA_GLOBALSINDEX); +#endif +} + + /// Wrapper around luaL_getmetafield. /// /// \param index The second parameter to luaL_getmetafield. @@ -570,9 +590,14 @@ lutok::state::open_base(void) void lutok::state::open_string(void) { +#if LUA_VERSION_NUM >= 502 + luaL_requiref(_pimpl->lua_state, LUA_STRLIBNAME, luaopen_string, 1); + lua_pop(_pimpl->lua_state, 1); +#else lua_pushcfunction(_pimpl->lua_state, luaopen_string); if (lua_pcall(_pimpl->lua_state, 0, 0, 0) != 0) throw lutok::api_error::from_stack(*this, "luaopen_string"); +#endif } @@ -584,9 +609,14 @@ lutok::state::open_string(void) void lutok::state::open_table(void) { +#if LUA_VERSION_NUM >= 502 + luaL_requiref(_pimpl->lua_state, LUA_TABLIBNAME, luaopen_table, 1); + lua_pop(_pimpl->lua_state, 1); +#else lua_pushcfunction(_pimpl->lua_state, luaopen_table); if (lua_pcall(_pimpl->lua_state, 0, 0, 0) != 0) throw lutok::api_error::from_stack(*this, "luaopen_table"); +#endif } diff --git a/external/bsd/lutok/dist/state.hpp b/external/bsd/lutok/dist/state.hpp index 9dd610ae9..9f883908e 100644 --- a/external/bsd/lutok/dist/state.hpp +++ b/external/bsd/lutok/dist/state.hpp @@ -33,7 +33,12 @@ #define LUTOK_STATE_HPP #include + +#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L +#include +#else #include +#endif namespace lutok { @@ -50,8 +55,8 @@ class state; typedef int (*cxx_function)(state&); -/// Stack index constant pointing to the globals table (_G). -extern const int globals_index; +/// Stack index constant pointing to the registry table. +extern const int registry_index; /// A RAII model for the Lua state. @@ -72,7 +77,11 @@ class state { struct impl; /// Pointer to the shared internal implementation. +#if defined(_LIBCPP_VERSION) || __cplusplus >= 201103L + std::shared_ptr< impl > _pimpl; +#else std::tr1::shared_ptr< impl > _pimpl; +#endif void* new_userdata_voidp(const size_t); void* to_userdata_voidp(const int); @@ -87,6 +96,7 @@ public: void close(void); void get_global(const std::string&); + void get_global_table(void); bool get_metafield(const int, const std::string&); bool get_metatable(const int = -1); void get_table(const int = -2); diff --git a/external/bsd/lutok/dist/state_test.cpp b/external/bsd/lutok/dist/state_test.cpp index 269de81f3..dc75ceef4 100644 --- a/external/bsd/lutok/dist/state_test.cpp +++ b/external/bsd/lutok/dist/state_test.cpp @@ -207,16 +207,6 @@ ATF_TEST_CASE_BODY(get_global__ok) } -ATF_TEST_CASE_WITHOUT_HEAD(get_global__fail); -ATF_TEST_CASE_BODY(get_global__fail) -{ - lutok::state state; - lua_pushinteger(raw(state), 3); - lua_replace(raw(state), LUA_GLOBALSINDEX); - REQUIRE_API_ERROR("lua_getglobal", state.get_global("test_variable")); -} - - ATF_TEST_CASE_WITHOUT_HEAD(get_global__undefined); ATF_TEST_CASE_BODY(get_global__undefined) { @@ -227,6 +217,20 @@ ATF_TEST_CASE_BODY(get_global__undefined) } +ATF_TEST_CASE_WITHOUT_HEAD(get_global_table); +ATF_TEST_CASE_BODY(get_global_table) +{ + lutok::state state; + ATF_REQUIRE(luaL_dostring(raw(state), "global_variable = 'hello'") == 0); + state.get_global_table(); + lua_pushstring(raw(state), "global_variable"); + lua_gettable(raw(state), -2); + ATF_REQUIRE(lua_isstring(raw(state), -1)); + ATF_REQUIRE(std::strcmp("hello", lua_tostring(raw(state), -1)) == 0); + lua_pop(raw(state), 2); +} + + ATF_TEST_CASE_WITHOUT_HEAD(get_metafield__ok); ATF_TEST_CASE_BODY(get_metafield__ok) { @@ -356,20 +360,6 @@ ATF_TEST_CASE_BODY(get_top) } -ATF_TEST_CASE_WITHOUT_HEAD(globals_index); -ATF_TEST_CASE_BODY(globals_index) -{ - lutok::state state; - ATF_REQUIRE(luaL_dostring(raw(state), "global_variable = 'hello'") == 0); - lua_pushvalue(raw(state), lutok::globals_index); - lua_pushstring(raw(state), "global_variable"); - lua_gettable(raw(state), -2); - ATF_REQUIRE(lua_isstring(raw(state), -1)); - ATF_REQUIRE(std::strcmp("hello", lua_tostring(raw(state), -1)) == 0); - lua_pop(raw(state), 2); -} - - ATF_TEST_CASE_WITHOUT_HEAD(insert); ATF_TEST_CASE_BODY(insert) { @@ -793,12 +783,14 @@ ATF_TEST_CASE_BODY(pcall__ok) lutok::state state; luaL_loadstring(raw(state), "function mul(a, b) return a * b; end"); state.pcall(0, 0, 0); - lua_getfield(raw(state), LUA_GLOBALSINDEX, "mul"); + state.get_global_table(); + lua_pushstring(raw(state), "mul"); + lua_gettable(raw(state), -2); lua_pushinteger(raw(state), 3); lua_pushinteger(raw(state), 5); state.pcall(2, 1, 0); ATF_REQUIRE_EQ(15, lua_tointeger(raw(state), -1)); - lua_pop(raw(state), 1); + lua_pop(raw(state), 2); } @@ -1084,8 +1076,25 @@ ATF_TEST_CASE_BODY(raw_set__explicit) } -ATF_TEST_CASE_WITHOUT_HEAD(set_global__ok); -ATF_TEST_CASE_BODY(set_global__ok) +ATF_TEST_CASE_WITHOUT_HEAD(registry_index); +ATF_TEST_CASE_BODY(registry_index) +{ + lutok::state state; + lua_pushvalue(raw(state), lutok::registry_index); + lua_pushstring(raw(state), "custom_variable"); + lua_pushstring(raw(state), "custom value"); + lua_settable(raw(state), -3); + lua_pop(raw(state), 1); + ATF_REQUIRE(luaL_dostring(raw(state), + "return custom_variable == nil") == 0); + ATF_REQUIRE(lua_isboolean(raw(state), -1)); + ATF_REQUIRE(lua_toboolean(raw(state), -1)); + lua_pop(raw(state), 1); +} + + +ATF_TEST_CASE_WITHOUT_HEAD(set_global); +ATF_TEST_CASE_BODY(set_global) { lutok::state state; lua_pushinteger(raw(state), 3); @@ -1097,18 +1106,6 @@ ATF_TEST_CASE_BODY(set_global__ok) } -ATF_TEST_CASE_WITHOUT_HEAD(set_global__fail); -ATF_TEST_CASE_BODY(set_global__fail) -{ - lutok::state state; - lua_pushinteger(raw(state), 3); - lua_replace(raw(state), LUA_GLOBALSINDEX); - lua_pushinteger(raw(state), 4); - REQUIRE_API_ERROR("lua_setglobal", state.set_global("test_variable")); - lua_pop(raw(state), 1); -} - - ATF_TEST_CASE_WITHOUT_HEAD(set_metatable__top); ATF_TEST_CASE_BODY(set_metatable__top) { @@ -1321,8 +1318,8 @@ ATF_INIT_TEST_CASES(tcs) { ATF_ADD_TEST_CASE(tcs, close); ATF_ADD_TEST_CASE(tcs, get_global__ok); - ATF_ADD_TEST_CASE(tcs, get_global__fail); ATF_ADD_TEST_CASE(tcs, get_global__undefined); + ATF_ADD_TEST_CASE(tcs, get_global_table); ATF_ADD_TEST_CASE(tcs, get_metafield__ok); ATF_ADD_TEST_CASE(tcs, get_metafield__undefined); ATF_ADD_TEST_CASE(tcs, get_metatable__top); @@ -1332,7 +1329,6 @@ ATF_INIT_TEST_CASES(tcs) ATF_ADD_TEST_CASE(tcs, get_table__nil); ATF_ADD_TEST_CASE(tcs, get_table__unknown_index); ATF_ADD_TEST_CASE(tcs, get_top); - ATF_ADD_TEST_CASE(tcs, globals_index); ATF_ADD_TEST_CASE(tcs, insert); ATF_ADD_TEST_CASE(tcs, is_boolean__empty); ATF_ADD_TEST_CASE(tcs, is_boolean__top); @@ -1386,8 +1382,8 @@ ATF_INIT_TEST_CASES(tcs) ATF_ADD_TEST_CASE(tcs, raw_get__explicit); ATF_ADD_TEST_CASE(tcs, raw_set__top); ATF_ADD_TEST_CASE(tcs, raw_set__explicit); - ATF_ADD_TEST_CASE(tcs, set_global__ok); - ATF_ADD_TEST_CASE(tcs, set_global__fail); + ATF_ADD_TEST_CASE(tcs, registry_index); + ATF_ADD_TEST_CASE(tcs, set_global); ATF_ADD_TEST_CASE(tcs, set_metatable__top); ATF_ADD_TEST_CASE(tcs, set_metatable__explicit); ATF_ADD_TEST_CASE(tcs, set_table__ok); diff --git a/external/bsd/lutok/lib/liblutok/Makefile b/external/bsd/lutok/lib/liblutok/Makefile index b5beed995..4f91692f2 100644 --- a/external/bsd/lutok/lib/liblutok/Makefile +++ b/external/bsd/lutok/lib/liblutok/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2013/02/22 15:14:31 jmmv Exp $ +# $NetBSD: Makefile,v 1.4 2013/10/18 23:36:10 jmmv Exp $ #NOLINT= # defined @@ -8,11 +8,6 @@ LIB= lutok LIBISCXX= yes LIBDPLIBS+= lua ${.CURDIR}/../../../../mit/lua/lib/liblua -.if ${HAVE_GCC} == 4 -LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../gnu/lib/libstdc++-v3_4 -.else -LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../external/gpl3/gcc/lib/libstdc++-v3 -.endif LIBDPLIBS+= m ${.CURDIR}/../../../../../lib/libm SRCDIR= ${NETBSDSRCDIR}/external/bsd/lutok/dist @@ -53,7 +48,7 @@ lutok.pc: Makefile lutok.pc.in -e 's,__LIBDIR__,/usr/lib,g' \ -e 's,__LUA_CFLAGS__,-I/usr/include,g' \ -e 's,__LUA_LIBS,-llua,g' \ - -e 's,__VERSION__,0.2,g' \ + -e 's,__VERSION__,0.3,g' \ <${SRCDIR}/lutok.pc.in >lutok.pc CLEANFILES+= lutok.pc .endif diff --git a/external/bsd/lutok/lib/liblutok/config.h b/external/bsd/lutok/lib/liblutok/config.h index f718a3a73..f2ce06ded 100644 --- a/external/bsd/lutok/lib/liblutok/config.h +++ b/external/bsd/lutok/lib/liblutok/config.h @@ -45,7 +45,7 @@ #define PACKAGE_NAME "Lutok" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Lutok 0.2" +#define PACKAGE_STRING "Lutok 0.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "lutok" @@ -54,10 +54,10 @@ #define PACKAGE_URL "http://code.google.com/p/lutok/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.2" +#define PACKAGE_VERSION "0.3" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ -#define VERSION "0.2" +#define VERSION "0.3" diff --git a/external/bsd/lutok/lib/liblutok/shlib_version b/external/bsd/lutok/lib/liblutok/shlib_version index fec6b6631..f66acd895 100644 --- a/external/bsd/lutok/lib/liblutok/shlib_version +++ b/external/bsd/lutok/lib/liblutok/shlib_version @@ -1,3 +1,3 @@ -# $NetBSD: shlib_version,v 1.1 2013/02/16 21:29:47 jmmv Exp $ -major=1 +# $NetBSD: shlib_version,v 1.2 2013/10/18 23:36:10 jmmv Exp $ +major=2 minor=0 diff --git a/external/bsd/lutok/tests/lib/liblutok/Makefile b/external/bsd/lutok/tests/lib/liblutok/Makefile index 29a2f4fe2..c4f6f0a3a 100644 --- a/external/bsd/lutok/tests/lib/liblutok/Makefile +++ b/external/bsd/lutok/tests/lib/liblutok/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2013/02/16 21:29:50 jmmv Exp $ +# $NetBSD: Makefile,v 1.2 2013/10/18 23:36:10 jmmv Exp $ .include @@ -19,14 +19,7 @@ TESTS_CXX= c_gate_test \ stack_cleaner_test \ state_test -LDADD+= -llutok -DPADD+= ${LIBLUTOK} - -.if defined(__MINIX) -LDADD+= -llua -DPADD+= ${LIBLUA} -#LSC FIXME: We should fix this double definition problem of aeabi symbols -LDFLAGS+= -Wl,--allow-multiple-definition -.endif # defined(__MINIX) +LDADD+= -llutok -llua +DPADD+= ${LIBLUTOK} ${LIBLUA} .include diff --git a/external/bsd/mdocml/dist/Makefile b/external/bsd/mdocml/dist/Makefile index bf4b0edce..304237b47 100644 --- a/external/bsd/mdocml/dist/Makefile +++ b/external/bsd/mdocml/dist/Makefile @@ -12,8 +12,8 @@ # # CFLAGS += -DOSNAME="\"OpenBSD 4.5\"" -VERSION = 1.12.0 -VDATE = 8 October 2011 +VERSION = 1.12.1 +VDATE = 23 March 2012 # IFF your system supports multi-byte functions (setlocale(), wcwidth(), # putwchar()) AND has __STDC_ISO_10646__ (that is, wchar_t is simply a @@ -142,7 +142,6 @@ SRCS = Makefile \ preconv.c \ predefs.in \ read.c \ - regress \ roff.7 \ roff.c \ st.c \ @@ -453,12 +452,16 @@ clean: rm -f config.h config.log $(COMPAT_OBJS) $(COMPAT_LNS) rm -f mdocml.tar.gz mdocml-win32.zip mdocml-win64.zip mdocml-macosx.zip rm -f index.html $(INDEX_OBJS) - rm -rf test-fgetln.DSYM - rm -rf test-strlcpy.DSYM - rm -rf test-strlcat.DSYM - rm -rf test-strptime.DSYM - rm -rf test-mmap.DSYM - rm -rf test-getsubopt.DSYM + rm -rf test-fgetln.dSYM + rm -rf test-strlcpy.dSYM + rm -rf test-strlcat.dSYM + rm -rf test-strptime.dSYM + rm -rf test-mmap.dSYM + rm -rf test-getsubopt.dSYM + rm -rf apropos.dSYM + rm -rf catman.dSYM + rm -rf mandocdb.dSYM + rm -rf whatis.dSYM install: all mkdir -p $(DESTDIR)$(BINDIR) @@ -468,7 +471,6 @@ install: all mkdir -p $(DESTDIR)$(MANDIR)/man1 mkdir -p $(DESTDIR)$(MANDIR)/man3 mkdir -p $(DESTDIR)$(MANDIR)/man7 - mkdir -p $(DESTDIR)$(MANDIR)/man8 $(INSTALL_PROGRAM) mandoc preconv demandoc $(DESTDIR)$(BINDIR) $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) $(INSTALL_LIB) man.h mdoc.h mandoc.h $(DESTDIR)$(INCLUDEDIR) diff --git a/external/bsd/mdocml/dist/TODO b/external/bsd/mdocml/dist/TODO new file mode 100644 index 000000000..99a5db794 --- /dev/null +++ b/external/bsd/mdocml/dist/TODO @@ -0,0 +1,372 @@ +************************************************************************ +* Official mandoc TODO. +* $Id: TODO,v 1.1.1.1 2013/04/03 14:46:49 christos Exp $ +************************************************************************ + +************************************************************************ +* parser bugs +************************************************************************ + +- ".\}" on its own line gets translated to bare ".\&" + which forces pset() into man(7) + and then triggers an unknown macro error + reported by naddy@ Sun, 3 Jul 2011 21:52:24 +0200 + +************************************************************************ +* formatter bugs +************************************************************************ + +- tbl(7): Horizontal and vertical lines are formatted badly: + With the box option, there is too much white space at the end of cells. + Horizontal lines from "=" lines are a bit too long. + yuri dot pankov at gmail dot com Thu, 14 Apr 2011 05:45:26 +0400 + +************************************************************************ +* missing features +************************************************************************ + +--- missing roff features ---------------------------------------------- + +- The pod2man preamble wants \h'...' with quoted numerical arguments, + see for example AUTHORS in MooseX::Getopt.3p, p5-MooseX-Getopt. + reported by Andreas Voegele + Tue, 22 Nov 2011 15:34:47 +0100 on ports@ + +- .if n \{ + .br\} + should cause an extra space to be raised. + +- .ad (adjust margins) + .ad l -- adjust left margin only (flush left) + .ad r -- adjust right margin only (flush right) + .ad c -- center text on line + .ad b -- adjust both margins (alias: .ad n) + .na -- temporarily disable adjustment without changing the mode + .ad -- re-enable adjustment without changing the mode + Adjustment mode is ignored while in no-fill mode (.nf). + +- .it (line traps) occur in mysql(1), yasm_arch(7) + generated by DocBook XSL Stylesheets v1.71.1 + reported by brad@ Sat, 15 Jan 2011 15:48:18 -0500 + +- .ns (no-space mode) occurs in xine-config(1) + reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 + +- xloadimage(1) wants .ti (temporary indent), rep by naddy@ + +- .ta (tab settings) occurs in ircbug(1) and probably gnats(1) + reported by brad@ Sat, 15 Jan 2011 15:50:51 -0500 + +- \c (interrupted text) occurs in chat(8) + +- using undefined strings or macros defines them to be empty + wl@ Mon, 14 Nov 2011 14:37:01 +0000 + +--- missing mdoc features ---------------------------------------------- + +- fix bad block nesting involving multiple identical explicit blocks + see the OpenBSD mdoc_macro.c 1.47 commit message + +- .Bl -column .Xo support is missing + ultimate goal: + restore .Xr and .Dv to + lib/libc/compat-43/sigvec.3 + lib/libc/gen/signal.3 + lib/libc/sys/sigaction.2 + +- edge case: decide how to deal with blk_full bad nesting, e.g. + .Sh .Nm .Bk .Nm .Ek .Sh found by jmc@ in ssh-keygen(1) + from jmc@ Wed, 14 Jul 2010 18:10:32 +0100 + +- \\ is now implemented correctly + * when defining strings and macros using .ds and .de + * when parsing roff(7) and man(7) macro arguments + It does not yet work in mdoc(7) macro arguments + because libmdoc does not yet use mandoc_getarg(). + Also check what happens in plain text, it must be identical to \e. + +- .Bd -filled should not be the same as .Bd -ragged, but align both + the left and right margin. In groff, it is implemented in terms + of .ad b, which we don't have either. Found in cksum(1). + +- implement blank `Bl -column', such as + .Bl -column + .It foo Ta bar + .El + +- explicitly disallow nested `Bl -column', which would clobber internal + flags defined for struct mdoc_macro + +- In .Bl -column .It, the end of the line probably has to be regarded + as an implicit .Ta, if there could be one, see the following mildly + ugly code from login.conf(5): + .Bl -column minpasswordlen program xetcxmotd + .It path Ta path Ta value of Dv _PATH_DEFPATH + .br + Default search path. + reported by Michal Mazurek + via jmc@ Thu, 7 Apr 2011 16:00:53 +0059 + +- inside `.Bl -column' phrases, punctuation is handled like normal + text, e.g. `.Bl -column .It Fl x . Ta ...' should give "-x -." + +- inside `.Bl -column' phrases, TERMP_IGNDELIM handling by `Pf' + is not safe, e.g. `.Bl -column .It Pf a b .' gives "ab." + but should give "ab ." + +- set a meaningful default if no `Bl' list type is assigned + +- have a blank `It' head for `Bl -tag' not puke + +- prohibit `Nm' from having non-text HEAD children + (e.g., NetBSD mDNSShared/dns-sd.1) + (mdoc_html.c and mdoc_term.c `Nm' handlers can be slightly simplified) + +- When there is free text in the SYNOPSIS and that free text contains + the .Nm macro, groff somehow understands to treat the .Nm as an in-line + macro, while mandoc treats it as a block macro and breaks the line. + No idea how the logic for distinguishing in-line and block instances + should be, needs investigation. + uqs@ Thu, 2 Jun 2011 11:03:51 +0200 + uqs@ Thu, 2 Jun 2011 11:33:35 +0200 + +--- missing man features ----------------------------------------------- + +- groff an-ext.tmac macros (.UR, .UE) occur in xine(5) + reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 + +- -T[x]html doesn't stipulate non-collapsing spaces in literal mode + +--- missing tbl features ----------------------------------------------- + +- implement basic non-parametric .de to support e.g. sox(1) + reported by naddy@ Sat, 16 Oct 2010 23:51:57 +0200 + *** sox(1) still doesn't work, tbl(1) errors need investigation + +- allow standalone `.' to be interpreted as an end-of-layout + delimiter instead of being thrown away as a no-op roff line + reported by Yuri Pankov, Wed 18 May 2011 11:34:59 CEST + +--- missing misc features ---------------------------------------------- + +- clean up escape sequence handling, creating three classes: + (1) fully implemented, or parsed and ignored without loss of content + (2) unimplemented, potentially causing loss of content + or serious mangling of formatting (e.g. \n) -> ERROR + see textproc/mgdiff(1) for nice examples + (3) undefined, just output the character -> perhaps WARNING + +- The \t escape sequence is the same as a literal tab, see for example + the ASCII table in hexdump(1) where + .Bl -column \&000_nu \&001_so \&002_st \&003_et \&004_eo + .It \&000\ nul\t001\ soh\t002\ stx\t003\ etx\t004\ eot\t005\ enq + produces + 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq + and the example in oldrdist(1) + +- look at pages generated from reStructeredText, e.g. devel/mercurial hg(1) + These are a weird mixture of man(7) and custom autogenerated low-level + roff stuff. Figure out to what extent we can cope. + For details, see http://docutils.sourceforge.net/rst.html + noted by stsp@ Sat, 24 Apr 2010 09:17:55 +0200 + reminded by nicm@ Mon, 3 May 2010 09:52:41 +0100 + +- check compatibility with Plan9: + http://swtch.com/usr/local/plan9/tmac/tmac.an + http://swtch.com/plan9port/man/man7/man.html + "Anthony J. Bentley" 28 Dec 2010 21:58:40 -0700 + +************************************************************************ +* formatting issues: ugly output +************************************************************************ + +- a column list with blank `Ta' cells triggers a spurrious + start-with-whitespace printing of a newline + +- double quotes inside double quotes are escaped by doubling them + implement this in mdoc(7), too + so far, we only have it in roff(7) and man(7) + reminded by millert@ Thu, 09 Dec 2010 17:29:52 -0500 + +- perl(1) SYNOPSIS looks bad; reported by deraadt@ + 1) man(7) seems to need SYNOPSIS .Nm blocks, too + +- In .Bl -column, + .It Em AuthenticationKey Length + ought to render "Key Length" with emphasis, too, + see OpenBSD iked.conf(5). + reported again Nicolas Joly via wiz@ Wed, 12 Oct 2011 00:20:00 +0200 + +- empty phrases in .Bl column produce too few blanks + try e.g. .Bl -column It Ta Ta + reported by millert Fri, 02 Apr 2010 16:13:46 -0400 + +- .%T can have trailing punctuation. Currently, it puts the trailing + punctuation into a trailing MDOC_TEXT element inside its own scope. + That element should rather be outside its scope, such that the + punctuation does not get underlines. This is not trivial to + implement because .%T then needs some features of in_line_eoln() - + slurp all arguments into one single text element - and one feature + of in_line() - put trailing punctuation out of scope. + Found in mount_nfs(8) and exports(5), search for "Appendix". + +- in enclosures, mandoc sometimes fancies a bogus end of sentence + reminded by jmc@ Thu, 23 Sep 2010 18:13:39 +0059 + +************************************************************************ +* formatting issues: gratuitous differences +************************************************************************ + +- .Rv (and probably .Ex) print different text if an `Nm' has been named + or not (run a manual without `Nm blah' to see this). I'm not sure + that this exists in the wild, but it's still an error. + +- In .Bl -bullet, the groff bullet is "+\b+\bo\bo", the mandoc bullet + is just "o\bo". + see for example OpenBSD ksh(1) + +- The characters "|" and "\*(Ba" should never be bold, + not even in the middle of a word, e.g. ".Cm b\*(Bac" in + "mknod [-m mode] name b|c major minor" + in OpenBSD ksh(1) + +- A bogus .Pp between two .It must not produce a double blank line, + see between -R and -r in OpenBSD rm(1), before "update" in mount(8), + or in DIAGNOSTICS in init(8), or before "is always true" in ksh(1). + The same happens with .Pp just before .El, see bgpd.conf(5). + Also have `It' complain if `Pp' is invoked at certain times (not + -compact?). + +- .Pp between two .It in .Bl -column should produce one, + not two blank lines, see e.g. login.conf(5). + reported by jmc@ Sun, 17 Apr 2011 14:04:58 +0059 + reported again by sthen@ Wed, 18 Jan 2012 02:09:39 +0000 (UTC) + +- If the *first* line after .It is .Pp, break the line right after + the tag, do not pad with space characters before breaking. + See the description of the a, c, and i commands in sed(1). + +- If the first line after .It is .D1, do not assert a blank line + in between, see for example tmux(1). + reported by nicm@ 13 Jan 2011 00:18:57 +0000 + +- .Nx 1.0a + should be "NetBSD 1.0A", not "NetBSD 1.0a", + see OpenBSD ccdconfig(8). + +- In .Bl -tag, if a tag exceeds the right margin and must be continued + on the next line, it must be indented by -width, not width+1; + see "rule block|pass" in OpenBSD ifconfig(8). + +- When the -width string contains macros, the macros must be rendered + before measuring the width, for example + .Bl -tag -width ".Dv message" + in magic(5), located in src/usr.bin/file, is the same + as -width 7n, not -width 11n. + The same applies to .Bl -column column widths; + reported again by Nicolas Joly Thu, 1 Mar 2012 13:41:26 +0100 via wiz@ 5 Mar + +- The \& zero-width character counts as output. + That is, when it is alone on a line between two .Pp, + we want three blank lines, not two as in mandoc. + +- When .Fn arguments exceed one output line, all but the first + should be indented, see e.g. rpc(3); + reported by jmc@ on discuss@ Fri, 29 Oct 2010 13:48:33 +0100 + reported again by Nicolas Joly via wiz@ Sun, 18 Sep 2011 18:24:40 +0200 + Also, we don't want to break the line within the argument of: + .Fa "chtype tl" + +- .Ns should work when called at the end of an input line, see + the following code in vi(1): + .It Xo + .Op Ar line + .Cm a Ns Op Cm ppend Ns + .Op Cm !\& + .Xc + The input text is appended after the specified line. + +- Header lines of excessive length: + Port OpenBSD man_term.c rev. 1.25 to mdoc_term.c + and document it in mdoc(7) and man(7) COMPATIBILITY + found while talking to Chris Bennett + +- In man(7), the sequence + .HP + one line of regular text + .SH + should not produce two blank lines before the .SH, + see for example named-checkconf(8). + +- In man(7), the sequence + .SH HEADER + + .PP + regular text + should not produce any blank lines between the header and the text, + see for example rsync(1). + Reported by naddy@ Mon, 28 Mar 2011 20:45:42 +0200 + +- In man(7), the sequence + regular text + .IP + .IP "tag" + indented text + should produce one, not four blank lines between the regular text + and the tag, see for example rsync(1). + Likewise, + regular text + .IP + indented text + should produce one, not two blank lines in between, and + regular text + .IP + .RS + .IP tag + indented text + should produce one, not three blank lines. + Reported by naddy@ Mon, 28 Mar 2011 20:45:42 +0200 + +- trailing whitespace must be ignored even when followed by a font escape, + see for example + makes + \fBdig \fR + operate in batch mode + in dig(1). + +************************************************************************ +* error reporting issues +************************************************************************ + +- .TP directly followed by .RS gives an assertion. + +************************************************************************ +* performance issues +************************************************************************ + +Several areas can be cleaned up to make mandoc even faster. These are + +- improve hashing mechanism for macros (quite important: performance) + +- improve hashing mechanism for characters (not as important) + +- the PDF file is HUGE: this can be reduced by using relative offsets + +- instead of re-initialising the roff predefined-strings set before each + parse, create a read-only version the first time and copy it + +************************************************************************ +* structural issues +************************************************************************ + +- We use the input line number at several places to distinguish + same-line from different-line input. That plainly doesn't work + with user-defined macros, leading to random breakage. + +- Find better ways to prevent endless loops + in roff(7) macro and string expansion. + +- Finish cleanup of date handling. + Decide which formats should be recognized where. + Update both mdoc(7) and man(7) documentation. + Triggered by Tim van der Molen Tue, 22 Feb 2011 20:30:45 +0100 diff --git a/external/bsd/mdocml/dist/apropos.1 b/external/bsd/mdocml/dist/apropos.1 index e4bd6556e..56137f380 100644 --- a/external/bsd/mdocml/dist/apropos.1 +++ b/external/bsd/mdocml/dist/apropos.1 @@ -1,6 +1,6 @@ -.\" $Vendor-Id: apropos.1,v 1.16 2011/12/25 19:35:44 kristaps Exp $ +.\" $Vendor-Id: apropos.1,v 1.17 2012/03/24 01:46:25 kristaps Exp $ .\" -.\" Copyright (c) 2011 Kristaps Dzonsons +.\" Copyright (c) 2011, 2012 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd December 25, 2011 +.Dd March 24, 2012 .Dt APROPOS 1 .Os .Sh NAME @@ -44,11 +44,11 @@ searches for databases in the default paths stipulated by .Xr man 1 , parses terms as case-sensitive regular expressions -.Pq the Li \&~ operator -over manual names and descriptions -.Pq the Li \&Nm No and Li \&Nd No macro keys . +over manual names and descriptions. Multiple terms imply pairwise .Fl o . +If standard output is a TTY, a result may be selected from a list and +its manual displayed with the pager. .Pp Its arguments are as follows: .Bl -tag -width Ds @@ -156,13 +156,21 @@ If an architecture is specified for the manual, it is displayed as .Pp .D1 title(cat/arch) \- description .Pp -Resulting manuals may be accessed as +If on a TTY, results are prefixed with a numeric identifier. .Pp -.Dl $ man \-s sec title +.D1 [index] title(cat) \- description .Pp -If an architecture is specified in the output, use -.Pp -.Dl $ man \-s sec \-S arch title +One may choose a manual be entering the index at the prompt. +Valid choices are displayed using +.Ev MANPAGER , +or failing that , +.Ev PAGER +or just +.Xr more 1 . +Source pages are formatted with +.Xr mandoc 1 ; +preformatted pages with +.Xr cat 1 . .Ss Macro Keys Queries evaluate over a subset of .Xr mdoc 7 @@ -240,6 +248,14 @@ Text production: .El .Sh ENVIRONMENT .Bl -tag -width Ds +.It Ev MANPAGER +Default pager for manuals. +If this is unset, falls back to +.Ev Pager . +.It Ev PAGER +The second choice for a manual pager. +If this is unset, use +.Xr more 1 . .It Ev MANPATH Colon-separated paths modifying the default list of paths searched for manual databases. @@ -301,7 +317,7 @@ as variable names in the library category: .Pp .Dl $ apropos \-s 3 Va~^optind \-a Va~^optarg$ .Sh SEE ALSO -.Xr man 1 , +.Xr more 1 .Xr re_format 7 , .Xr mandocdb 8 .Sh AUTHORS diff --git a/external/bsd/mdocml/dist/apropos.c b/external/bsd/mdocml/dist/apropos.c index df9d86426..bd514881c 100644 --- a/external/bsd/mdocml/dist/apropos.c +++ b/external/bsd/mdocml/dist/apropos.c @@ -1,6 +1,6 @@ -/* $Vendor-Id: apropos.c,v 1.25 2011/12/31 18:47:52 kristaps Exp $ */ +/* $Vendor-Id: apropos.c,v 1.30 2012/03/24 02:18:51 kristaps Exp $ */ /* - * Copyright (c) 2011 Kristaps Dzonsons + * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any @@ -18,17 +18,25 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif +#include #include #include #include #include #include +#include #include "apropos_db.h" #include "mandoc.h" #include "manpath.h" +#define SINGLETON(_res, _sz) \ + ((_sz) && (_res)[0].matched && \ + (1 == (_sz) || 0 == (_res)[1].matched)) +#define EMPTYSET(_res, _sz) \ + ((0 == (_sz)) || 0 == (_res)[0].matched) + static int cmp(const void *, const void *); static void list(struct res *, size_t, void *); static void usage(void); @@ -38,13 +46,17 @@ static char *progname; int main(int argc, char *argv[]) { - int ch, rc, whatis; + int ch, rc, whatis, usecat; + struct res *res; struct manpaths paths; - size_t terms; + const char *prog; + pid_t pid; + char path[PATH_MAX]; + int fds[2]; + size_t terms, ressz, sz; struct opts opts; struct expr *e; - char *defpaths, *auxpaths; - char *conf_file; + char *defpaths, *auxpaths, *conf_file, *cp; extern int optind; extern char *optarg; @@ -59,9 +71,13 @@ main(int argc, char *argv[]) memset(&paths, 0, sizeof(struct manpaths)); memset(&opts, 0, sizeof(struct opts)); + usecat = 0; + ressz = 0; + res = NULL; auxpaths = defpaths = NULL; conf_file = NULL; e = NULL; + path[0] = '\0'; while (-1 != (ch = getopt(argc, argv, "C:M:m:S:s:"))) switch (ch) { @@ -104,42 +120,108 @@ main(int argc, char *argv[]) } rc = apropos_search - (paths.sz, paths.paths, - &opts, e, terms, NULL, list); + (paths.sz, paths.paths, &opts, + e, terms, NULL, &ressz, &res, list); - if (0 == rc) - fprintf(stderr, "%s: Error reading " - "manual database\n", progname); + terms = 1; + if (0 == rc) { + fprintf(stderr, "%s: Bad database\n", progname); + goto out; + } else if ( ! isatty(STDOUT_FILENO) || EMPTYSET(res, ressz)) + goto out; + + if ( ! SINGLETON(res, ressz)) { + printf("Which manpage would you like [1]? "); + fflush(stdout); + if (NULL != (cp = fgetln(stdin, &sz)) && + sz > 1 && '\n' == cp[--sz]) { + if ((ch = atoi(cp)) <= 0) + goto out; + terms = (size_t)ch; + } + } + + if (--terms < ressz && res[terms].matched) { + chdir(paths.paths[res[terms].volume]); + strlcpy(path, res[terms].file, PATH_MAX); + usecat = RESTYPE_CAT == res[terms].type; + } out: manpath_free(&paths); + resfree(res, ressz); exprfree(e); - return(rc ? EXIT_SUCCESS : EXIT_FAILURE); + if ('\0' == path[0]) + return(rc ? EXIT_SUCCESS : EXIT_FAILURE); + + if (-1 == pipe(fds)) { + perror(NULL); + exit(EXIT_FAILURE); + } + + if (-1 == (pid = fork())) { + perror(NULL); + exit(EXIT_FAILURE); + } else if (pid > 0) { + dup2(fds[0], STDIN_FILENO); + close(fds[1]); + prog = NULL != getenv("MANPAGER") ? + getenv("MANPAGER") : + (NULL != getenv("PAGER") ? + getenv("PAGER") : "more"); + execlp(prog, prog, (char *)NULL); + perror(prog); + return(EXIT_FAILURE); + } + + dup2(fds[1], STDOUT_FILENO); + close(fds[0]); + prog = usecat ? "cat" : "mandoc"; + execlp(prog, prog, path, (char *)NULL); + perror(prog); + return(EXIT_FAILURE); } /* ARGSUSED */ static void list(struct res *res, size_t sz, void *arg) { - int i; + size_t i; qsort(res, sz, sizeof(struct res), cmp); - for (i = 0; i < (int)sz; i++) - printf("%s(%s%s%s) - %.70s\n", res[i].title, - res[i].cat, - *res[i].arch ? "/" : "", - *res[i].arch ? res[i].arch : "", - res[i].desc); + if (EMPTYSET(res, sz) || SINGLETON(res, sz)) + return; + + if ( ! isatty(STDOUT_FILENO)) + for (i = 0; i < sz && res[i].matched; i++) + printf("%s(%s%s%s) - %.70s\n", + res[i].title, res[i].cat, + *res[i].arch ? "/" : "", + *res[i].arch ? res[i].arch : "", + res[i].desc); + else + for (i = 0; i < sz && res[i].matched; i++) + printf("[%zu] %s(%s%s%s) - %.70s\n", i + 1, + res[i].title, res[i].cat, + *res[i].arch ? "/" : "", + *res[i].arch ? res[i].arch : "", + res[i].desc); } static int cmp(const void *p1, const void *p2) { + const struct res *r1 = p1; + const struct res *r2 = p2; - return(strcasecmp(((const struct res *)p1)->title, - ((const struct res *)p2)->title)); + if (0 == r1->matched) + return(1); + else if (0 == r2->matched) + return(1); + + return(strcasecmp(r1->title, r2->title)); } static void diff --git a/external/bsd/mdocml/dist/apropos_db.c b/external/bsd/mdocml/dist/apropos_db.c index f79e0eede..911368bba 100644 --- a/external/bsd/mdocml/dist/apropos_db.c +++ b/external/bsd/mdocml/dist/apropos_db.c @@ -1,6 +1,6 @@ -/* $Vendor-Id: apropos_db.c,v 1.28 2011/12/25 14:58:39 schwarze Exp $ */ +/* $Vendor-Id: apropos_db.c,v 1.31 2012/03/24 01:46:25 kristaps Exp $ */ /* - * Copyright (c) 2011 Kristaps Dzonsons + * Copyright (c) 2011, 2012 Kristaps Dzonsons * Copyright (c) 2011 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any @@ -42,19 +42,15 @@ #include "apropos_db.h" #include "mandoc.h" -struct rec { - struct res res; /* resulting record info */ - /* - * Maintain a binary tree for checking the uniqueness of `rec' - * when adding elements to the results array. - * Since the results array is dynamic, use offset in the array - * instead of a pointer to the structure. - */ - int lhs; - int rhs; - int matched; /* expression is true */ - int *matches; /* partial truth evaluations */ -}; +#define RESFREE(_x) \ + do { \ + free((_x)->file); \ + free((_x)->cat); \ + free((_x)->title); \ + free((_x)->arch); \ + free((_x)->desc); \ + free((_x)->matches); \ + } while (/*CONSTCOND*/0) struct expr { int regex; /* is regex? */ @@ -73,7 +69,7 @@ struct type { }; struct rectree { - struct rec *node; /* record array for dir tree */ + struct res *node; /* record array for dir tree */ int len; /* length of record array */ }; @@ -127,18 +123,17 @@ static int btree_read(const DBT *, const DBT *, uint64_t *, recno_t *, char **); static int expreval(const struct expr *, int *); static void exprexec(const struct expr *, - const char *, uint64_t, struct rec *); + const char *, uint64_t, struct res *); static int exprmark(const struct expr *, const char *, uint64_t, int *); static struct expr *exprexpr(int, char *[], int *, int *, size_t *); static struct expr *exprterm(char *, int); static DB *index_open(void); static int index_read(const DBT *, const DBT *, int, - const struct mchars *, struct rec *); + const struct mchars *, struct res *); static void norm_string(const char *, const struct mchars *, char **); static size_t norm_utf8(unsigned int, char[7]); -static void recfree(struct rec *); static int single_search(struct rectree *, const struct opts *, const struct expr *, size_t terms, struct mchars *, int); @@ -153,6 +148,7 @@ btree_open(void) DB *db; memset(&info, 0, sizeof(BTREEINFO)); + info.lorder = 4321; info.flags = R_DUP; db = dbopen(MANDOC_DB, O_RDONLY, 0, DB_BTREE, &info); @@ -360,7 +356,7 @@ index_open(void) */ static int index_read(const DBT *key, const DBT *val, int index, - const struct mchars *mc, struct rec *rec) + const struct mchars *mc, struct res *rec) { size_t left; char *np, *cp; @@ -380,24 +376,24 @@ index_read(const DBT *key, const DBT *val, int index, cp = val->data; assert(sizeof(recno_t) == key->size); - memcpy(&rec->res.rec, key->data, key->size); - rec->res.volume = index; + memcpy(&rec->rec, key->data, key->size); + rec->volume = index; if ('d' == (type = *cp++)) - rec->res.type = RESTYPE_MDOC; + rec->type = RESTYPE_MDOC; else if ('a' == type) - rec->res.type = RESTYPE_MAN; + rec->type = RESTYPE_MAN; else if ('c' == type) - rec->res.type = RESTYPE_CAT; + rec->type = RESTYPE_CAT; else return(0); left--; - INDEX_BREAD(rec->res.file); - INDEX_BREAD(rec->res.cat); - INDEX_BREAD(rec->res.title); - INDEX_BREAD(rec->res.arch); - INDEX_BREAD(rec->res.desc); + INDEX_BREAD(rec->file); + INDEX_BREAD(rec->cat); + INDEX_BREAD(rec->title); + INDEX_BREAD(rec->arch); + INDEX_BREAD(rec->desc); return(1); } @@ -410,17 +406,19 @@ index_read(const DBT *key, const DBT *val, int index, int apropos_search(int pathsz, char **paths, const struct opts *opts, const struct expr *expr, size_t terms, void *arg, + size_t *sz, struct res **resp, void (*res)(struct res *, size_t, void *)) { struct rectree tree; struct mchars *mc; - struct res *ress; - int i, mlen, rc; + int i, rc; memset(&tree, 0, sizeof(struct rectree)); rc = 0; mc = mchars_alloc(); + *sz = 0; + *resp = NULL; /* * Main loop. Change into the directory containing manpage @@ -430,37 +428,19 @@ apropos_search(int pathsz, char **paths, const struct opts *opts, for (i = 0; i < pathsz; i++) { if (chdir(paths[i])) continue; - if ( ! single_search(&tree, opts, expr, terms, mc, i)) - goto out; + if (single_search(&tree, opts, expr, terms, mc, i)) + continue; + + resfree(tree.node, tree.len); + mchars_free(mc); + return(0); } - /* - * Count matching files, transfer to a "clean" array, then feed - * them to the output handler. - */ - - for (mlen = i = 0; i < tree.len; i++) - if (tree.node[i].matched) - mlen++; - - ress = mandoc_malloc(mlen * sizeof(struct res)); - - for (mlen = i = 0; i < tree.len; i++) - if (tree.node[i].matched) - memcpy(&ress[mlen++], &tree.node[i].res, - sizeof(struct res)); - - (*res)(ress, mlen, arg); - free(ress); - - rc = 1; -out: - for (i = 0; i < tree.len; i++) - recfree(&tree.node[i]); - - free(tree.node); + (*res)(tree.node, tree.len, arg); + *sz = tree.len; + *resp = tree.node; mchars_free(mc); - return(rc); + return(1); } static int @@ -472,8 +452,8 @@ single_search(struct rectree *tree, const struct opts *opts, DBT key, val; DB *btree, *idx; char *buf; - struct rec *rs; - struct rec r; + struct res *rs; + struct res r; uint64_t mask; recno_t rec; @@ -484,7 +464,7 @@ single_search(struct rectree *tree, const struct opts *opts, buf = NULL; rs = tree->node; - memset(&r, 0, sizeof(struct rec)); + memset(&r, 0, sizeof(struct res)); if (NULL == (btree = btree_open())) return(1); @@ -512,10 +492,10 @@ single_search(struct rectree *tree, const struct opts *opts, */ for (leaf = root; leaf >= 0; ) - if (rec > rs[leaf].res.rec && + if (rec > rs[leaf].rec && rs[leaf].rhs >= 0) leaf = rs[leaf].rhs; - else if (rec < rs[leaf].res.rec && + else if (rec < rs[leaf].rec && rs[leaf].lhs >= 0) leaf = rs[leaf].lhs; else @@ -527,7 +507,7 @@ single_search(struct rectree *tree, const struct opts *opts, * try to evaluate it now and continue anyway. */ - if (leaf >= 0 && rs[leaf].res.rec == rec) { + if (leaf >= 0 && rs[leaf].rec == rec) { if (0 == rs[leaf].matched) exprexec(expr, buf, mask, &rs[leaf]); continue; @@ -551,18 +531,18 @@ single_search(struct rectree *tree, const struct opts *opts, /* XXX: this should be elsewhere, I guess? */ - if (opts->cat && strcasecmp(opts->cat, r.res.cat)) + if (opts->cat && strcasecmp(opts->cat, r.cat)) continue; - if (opts->arch && *r.res.arch) - if (strcasecmp(opts->arch, r.res.arch)) + if (opts->arch && *r.arch) + if (strcasecmp(opts->arch, r.arch)) continue; tree->node = rs = mandoc_realloc - (rs, (tree->len + 1) * sizeof(struct rec)); + (rs, (tree->len + 1) * sizeof(struct res)); - memcpy(&rs[tree->len], &r, sizeof(struct rec)); - memset(&r, 0, sizeof(struct rec)); + memcpy(&rs[tree->len], &r, sizeof(struct res)); + memset(&r, 0, sizeof(struct res)); rs[tree->len].matches = mandoc_calloc(terms, sizeof(int)); @@ -571,7 +551,7 @@ single_search(struct rectree *tree, const struct opts *opts, /* Append to our tree. */ if (leaf >= 0) { - if (rec > rs[leaf].res.rec) + if (rec > rs[leaf].rec) rs[leaf].rhs = tree->len; else rs[leaf].lhs = tree->len; @@ -585,21 +565,18 @@ single_search(struct rectree *tree, const struct opts *opts, (*idx->close)(idx); free(buf); - recfree(&r); + RESFREE(&r); return(1 == ch); } -static void -recfree(struct rec *rec) +void +resfree(struct res *rec, size_t sz) { + size_t i; - free(rec->res.file); - free(rec->res.cat); - free(rec->res.title); - free(rec->res.arch); - free(rec->res.desc); - - free(rec->matches); + for (i = 0; i < sz; i++) + RESFREE(&rec[i]); + free(rec); } /* @@ -890,7 +867,7 @@ expreval(const struct expr *p, int *ms) */ static void exprexec(const struct expr *e, const char *cp, - uint64_t mask, struct rec *r) + uint64_t mask, struct res *r) { assert(0 == r->matched); diff --git a/external/bsd/mdocml/dist/apropos_db.h b/external/bsd/mdocml/dist/apropos_db.h index 0fa5eb389..e293ee4ff 100644 --- a/external/bsd/mdocml/dist/apropos_db.h +++ b/external/bsd/mdocml/dist/apropos_db.h @@ -1,6 +1,6 @@ -/* $Vendor-Id: apropos_db.h,v 1.11 2011/12/16 12:06:35 kristaps Exp $ */ +/* $Vendor-Id: apropos_db.h,v 1.13 2012/03/24 01:46:25 kristaps Exp $ */ /* - * Copyright (c) 2011 Kristaps Dzonsons + * Copyright (c) 2011, 2012 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -36,6 +36,18 @@ struct res { * searched for manual page databases. */ unsigned int volume; + /* + * The following fields are used internally. + * + * Maintain a binary tree for checking the uniqueness of `rec' + * when adding elements to the results array. + * Since the results array is dynamic, use offset in the array + * instead of a pointer to the structure. + */ + int lhs; + int rhs; + int matched; /* expression is true */ + int *matches; /* partial truth evaluations */ }; struct opts { @@ -47,11 +59,13 @@ __BEGIN_DECLS struct expr; -int apropos_search(int, char **, const struct opts *, - const struct expr *, size_t, void *, +int apropos_search(int, char **, const struct opts *, + const struct expr *, size_t, + void *, size_t *, struct res **, void (*)(struct res *, size_t, void *)); struct expr *exprcomp(int, char *[], size_t *); void exprfree(struct expr *); +void resfree(struct res *, size_t); struct expr *termcomp(int, char *[], size_t *); __END_DECLS diff --git a/external/bsd/mdocml/dist/cgi.c b/external/bsd/mdocml/dist/cgi.c index 48980dc41..dcea3f951 100644 --- a/external/bsd/mdocml/dist/cgi.c +++ b/external/bsd/mdocml/dist/cgi.c @@ -1,6 +1,6 @@ -/* $Vendor-Id: cgi.c,v 1.39 2011/12/25 17:49:52 kristaps Exp $ */ +/* $Vendor-Id: cgi.c,v 1.42 2012/03/24 01:46:25 kristaps Exp $ */ /* - * Copyright (c) 2011 Kristaps Dzonsons + * Copyright (c) 2011, 2012 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -69,7 +69,6 @@ struct query { const char *sec; /* manual section */ const char *expr; /* unparsed expression string */ int manroot; /* manroot index (or -1)*/ - int whatis; /* whether whatis mode */ int legacy; /* whether legacy mode */ }; @@ -230,7 +229,6 @@ http_parse(struct req *req, char *p) memset(&req->q, 0, sizeof(struct query)); - req->q.whatis = 1; legacy = -1; manroot = NULL; @@ -268,19 +266,11 @@ http_parse(struct req *req, char *p) manroot = val; else if (0 == strcmp(key, "apropos")) legacy = 0 == strcmp(val, "0"); - else if (0 == strcmp(key, "op")) - req->q.whatis = 0 == strcasecmp(val, "whatis"); } /* Test for old man.cgi compatibility mode. */ - if (legacy == 0) { - req->q.whatis = 0; - req->q.legacy = 1; - } else if (legacy > 0) { - req->q.legacy = 1; - req->q.whatis = 1; - } + req->q.legacy = legacy > 0; /* * Section "0" means no section when in legacy mode. @@ -408,10 +398,8 @@ resp_searchform(const struct req *req) "
\n" "
\n" "Search Parameters\n" - " or \n" - " for manuals satisfying \n" + " for manuals satisfying \n" "q.expr ? req->q.expr : ""); @@ -507,15 +495,22 @@ resp_baddb(void) static void resp_search(struct res *r, size_t sz, void *arg) { - int i; + size_t i, matched; const struct req *req; req = (const struct req *)arg; if (sz > 0) assert(req->q.manroot >= 0); + + for (matched = i = 0; i < sz; i++) + if (r[i].matched) + matched++; - if (1 == sz) { + if (1 == matched) { + for (i = 0; i < sz; i++) + if (r[i].matched) + break; /* * If we have just one result, then jump there now * without any delay. @@ -523,40 +518,34 @@ resp_search(struct res *r, size_t sz, void *arg) puts("Status: 303 See Other"); printf("Location: http://%s%s/show/%d/%u/%u.html?", host, progname, req->q.manroot, - r[0].volume, r[0].rec); + r[i].volume, r[i].rec); http_printquery(req); puts("\n" "Content-Type: text/html; charset=utf-8\n"); return; } - qsort(r, sz, sizeof(struct res), cmp); - resp_begin_html(200, NULL); resp_searchform(req); puts(""); + if (0 == matched) { + puts("

\n" + "No results found.\n" + "

\n" + ""); resp_end_html(); return; } + qsort(r, sz, sizeof(struct res), cmp); + puts(""); - for (i = 0; i < (int)sz; i++) { + for (i = 0; i < sz; i++) { + if ( ! r[i].matched) + continue; printf("\n" " @@ -415,6 +415,13 @@ http://us.imdb.com/title/tt0137494/ . (Mark Brader, 2009-10-02)
  • +In the "Run by the Monkeys" episode of "Da Vinci's Inquest" +(first broadcast 2002-11-17), +a witness in a five-year-old fire case realizes they may not have set +their clock back when daylight saving ended on the day of the fire, +introducing the possibility of an hour when arson might have occurred. +
  • +
  • In "The Todd Couple" episode of "Outsourced" (first aired 2011-02-10), Manmeet sets up teledates for 6:00 and 9:00; since one is with a New Yorker and the other with a San Franciscan, @@ -424,10 +431,10 @@ hilarity ensues.
  • ' wab.html | +grep '' $I1 | sed -e 's,
    \n" "q.whatis ? + expr = req->q.legacy ? termcomp(sz, cp, &tt) : exprcomp(sz, cp, &tt); if (NULL != expr) rc = apropos_search - (ps.sz, ps.paths, &opt, - expr, tt, (void *)req, resp_search); + (ps.sz, ps.paths, &opt, expr, tt, + (void *)req, &ressz, &res, resp_search); /* ...unless errors occured. */ if (0 == rc) resp_baddb(); else if (-1 == rc) - resp_search(NULL, 0, (void *)req); + resp_search(NULL, 0, NULL); for (i = 0; i < sz; i++) free(cp[i]); free(cp); + resfree(res, ressz); exprfree(expr); manpath_free(&ps); } diff --git a/external/bsd/mdocml/dist/lib.in b/external/bsd/mdocml/dist/lib.in index ef6352df9..5784228c5 100644 --- a/external/bsd/mdocml/dist/lib.in +++ b/external/bsd/mdocml/dist/lib.in @@ -47,7 +47,7 @@ LINE("libevent", "Event Notification Library (libevent, \\-levent)") LINE("libexecinfo", "Backtrace Information Library (libexecinfo, \\-lexecinfo)") LINE("libfetch", "File Transfer Library for URLs (libfetch, \\-lfetch)") LINE("libform", "Curses Form Library (libform, \\-lform)") -LINE("libgeom", "Userland API Library for kernel GEOM subsystem (libgeom, \\-lgeom)") +LINE("libgeom", "Userland API Library for Kernel GEOM subsystem (libgeom, \\-lgeom)") LINE("libgpib", "General-Purpose Instrument Bus (GPIB) library (libgpib, \\-lgpib)") LINE("libi386", "i386 Architecture Library (libi386, \\-li386)") LINE("libintl", "Internationalized Message Handling Library (libintl, \\-lintl)") @@ -56,17 +56,21 @@ LINE("libipx", "IPX Address Conversion Support Library (libipx, \\-lipx)") LINE("libiscsi", "iSCSI protocol library (libiscsi, \\-liscsi)") LINE("libisns", "Internet Storage Name Service Library (libisns, \\-lisns)") LINE("libjail", "Jail Library (libjail, \\-ljail)") -LINE("libkiconv", "Kernel side iconv library (libkiconv, \\-lkiconv)") +LINE("libkiconv", "Kernel-side iconv Library (libkiconv, \\-lkiconv)") LINE("libkse", "N:M Threading Library (libkse, \\-lkse)") LINE("libkvm", "Kernel Data Access Library (libkvm, \\-lkvm)") LINE("libm", "Math Library (libm, \\-lm)") LINE("libm68k", "m68k Architecture Library (libm68k, \\-lm68k)") LINE("libmagic", "Magic Number Recognition Library (libmagic, \\-lmagic)") +LINE("libmandoc", "Mandoc Macro Compiler Library (libmandoc, \\-lmandoc)") LINE("libmd", "Message Digest (MD4, MD5, etc.) Support Library (libmd, \\-lmd)") LINE("libmemstat", "Kernel Memory Allocator Statistics Library (libmemstat, \\-lmemstat)") LINE("libmenu", "Curses Menu Library (libmenu, \\-lmenu)") +LINE("libmj", "Minimalist JSON library (libmj, \\-lmj)") LINE("libnetgraph", "Netgraph User Library (libnetgraph, \\-lnetgraph)") -LINE("libnetpgp", "Netpgp signing, verification, encryption and decryption (libnetpgp, \\-lnetpgp)") +LINE("libnetpgp", "Netpgp Signing, Verification, Encryption and Decryption (libnetpgp, \\-lnetpgp)") +LINE("libnetpgpverify", "Netpgp Verification (libnetpgpverify, \\-lnetpgpverify)") +LINE("libnpf", "NPF Packet Filter Library (libnpf, \\-lnpf)") LINE("libossaudio", "OSS Audio Emulation Library (libossaudio, \\-lossaudio)") LINE("libpam", "Pluggable Authentication Module Library (libpam, \\-lpam)") LINE("libpcap", "Capture Library (libpcap, \\-lpcap)") @@ -83,6 +87,7 @@ LINE("libresolv", "DNS Resolver Library (libresolv, \\-lresolv)") LINE("librpcsec_gss", "RPC GSS-API Authentication Library (librpcsec_gss, \\-lrpcsec_gss)") LINE("librpcsvc", "RPC Service Library (librpcsvc, \\-lrpcsvc)") LINE("librt", "POSIX Real\\-time Library (librt, \\-lrt)") +LINE("librumpclient", "Clientside Stubs for rump Kernel Remote Protocols (librumpclient, \\-lrumpclient)") LINE("libsaslc", "Simple Authentication and Security Layer client library (libsaslc, \\-lsaslc)") LINE("libsdp", "Bluetooth Service Discovery Protocol User Library (libsdp, \\-lsdp)") LINE("libssp", "Buffer Overflow Protection Library (libssp, \\-lssp)") diff --git a/external/bsd/mdocml/dist/libmandoc.h b/external/bsd/mdocml/dist/libmandoc.h index 8d8c6cdc3..0588c4f6c 100644 --- a/external/bsd/mdocml/dist/libmandoc.h +++ b/external/bsd/mdocml/dist/libmandoc.h @@ -73,6 +73,8 @@ void roff_reset(struct roff *); enum rofferr roff_parseln(struct roff *, int, char **, size_t *, int, int *); void roff_endparse(struct roff *); +void roff_expand_nr(struct roff *, const char *, int *, size_t, + char **, int *, size_t *); int roff_regisset(const struct roff *, enum regs); unsigned int roff_regget(const struct roff *, enum regs); void roff_regunset(struct roff *, enum regs); diff --git a/external/bsd/mdocml/dist/man.cgi.7 b/external/bsd/mdocml/dist/man.cgi.7 index cab195826..274728f40 100644 --- a/external/bsd/mdocml/dist/man.cgi.7 +++ b/external/bsd/mdocml/dist/man.cgi.7 @@ -1,4 +1,4 @@ -.Dd December 15, 2011 +.Dd March 24, 2012 .Dt MAN.CGI 7 .Os .Sh NAME @@ -89,7 +89,7 @@ and must exist at least once under the configuration directory root. Should be visible in the server document root or within .Ev CSS_DIR . Included in each page after -.Pa man-cgi.css , +.Pa man-cgi.css , ostensibly for .Xr mandoc 1 HTML output styling. diff --git a/external/bsd/mdocml/dist/mandocdb.c b/external/bsd/mdocml/dist/mandocdb.c index d65831117..7d0584ef1 100644 --- a/external/bsd/mdocml/dist/mandocdb.c +++ b/external/bsd/mdocml/dist/mandocdb.c @@ -1,4 +1,4 @@ -/* $Vendor-Id: mandocdb.c,v 1.43 2011/12/31 18:47:52 kristaps Exp $ */ +/* $Vendor-Id: mandocdb.c,v 1.46 2012/03/23 06:52:17 kristaps Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * Copyright (c) 2011 Ingo Schwarze @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -55,6 +56,15 @@ #define MANDOC_SRC 0x1 #define MANDOC_FORM 0x2 +#define WARNING(_f, _b, _fmt, _args...) \ + do if (warnings) { \ + fprintf(stderr, "%s: ", (_b)); \ + fprintf(stderr, (_fmt), ##_args); \ + if ('\0' != *(_f)) \ + fprintf(stderr, ": %s", (_f)); \ + fprintf(stderr, "\n"); \ + } while (/* CONSTCOND */ 0) + /* Access to the mandoc database on disk. */ struct mdb { @@ -123,15 +133,17 @@ static void hash_put(DB *, const struct buf *, uint64_t); static void hash_reset(DB **); static void index_merge(const struct of *, struct mparse *, struct buf *, struct buf *, DB *, - struct mdb *, struct recs *); + struct mdb *, struct recs *, + const char *); static void index_prune(const struct of *, struct mdb *, - struct recs *); -static void ofile_argbuild(int, char *[], struct of **); + struct recs *, const char *); +static void ofile_argbuild(int, char *[], + struct of **, const char *); static void ofile_dirbuild(const char *, const char *, - const char *, int, struct of **); + const char *, int, struct of **, char *); static void ofile_free(struct of *); -static void pformatted(DB *, struct buf *, - struct buf *, const struct of *); +static void pformatted(DB *, struct buf *, struct buf *, + const struct of *, const char *); static int pman_node(MAN_ARGS); static void pmdoc_node(MDOC_ARGS); static int pmdoc_head(MDOC_ARGS); @@ -292,9 +304,8 @@ main(int argc, char *argv[]) struct recs recs; enum op op; /* current operation */ const char *dir; - char *cp; - char pbuf[PATH_MAX]; int ch, i, flags; + char dirbuf[MAXPATHLEN]; DB *hash; /* temporary keyword hashtable */ BTREEINFO info; /* btree configuration */ size_t sz1, sz2; @@ -382,6 +393,7 @@ main(int argc, char *argv[]) } memset(&info, 0, sizeof(BTREEINFO)); + info.lorder = 4321; info.flags = R_DUP; mp = mparse_alloc(MPARSE_AUTO, MANDOCLEVEL_FATAL, NULL, NULL); @@ -394,15 +406,12 @@ main(int argc, char *argv[]) buf.cp = mandoc_malloc(buf.size); dbuf.cp = mandoc_malloc(dbuf.size); - flags = O_CREAT | O_RDWR; - if (OP_DEFAULT == op || OP_CONFFILE == op) - flags |= O_TRUNC; - if (OP_TEST == op) { - ofile_argbuild(argc, argv, &of); + ofile_argbuild(argc, argv, &of, "."); if (NULL == of) goto out; - index_merge(of, mp, &dbuf, &buf, hash, &mdb, &recs); + index_merge(of, mp, &dbuf, &buf, + hash, &mdb, &recs, "."); goto out; } @@ -420,6 +429,7 @@ main(int argc, char *argv[]) exit((int)MANDOCLEVEL_BADARG); } + flags = O_CREAT | O_RDWR; mdb.db = dbopen(mdb.dbn, flags, 0644, DB_BTREE, &info); mdb.idx = dbopen(mdb.idxn, flags, 0644, DB_RECNO, NULL); @@ -431,12 +441,12 @@ main(int argc, char *argv[]) exit((int)MANDOCLEVEL_SYSERR); } - ofile_argbuild(argc, argv, &of); + ofile_argbuild(argc, argv, &of, dir); if (NULL == of) goto out; - index_prune(of, &mdb, &recs); + index_prune(of, &mdb, &recs, dir); /* * Go to the root of the respective manual tree. @@ -450,7 +460,7 @@ main(int argc, char *argv[]) exit((int)MANDOCLEVEL_SYSERR); } index_merge(of, mp, &dbuf, &buf, hash, - &mdb, &recs); + &mdb, &recs, dir); } goto out; @@ -465,38 +475,27 @@ main(int argc, char *argv[]) if (argc > 0) { dirs.paths = mandoc_calloc(argc, sizeof(char *)); dirs.sz = argc; - for (i = 0; i < argc; i++) { - if (NULL == (cp = realpath(argv[i], pbuf))) { - perror(argv[i]); - goto out; - } - dirs.paths[i] = mandoc_strdup(cp); - } + for (i = 0; i < argc; i++) + dirs.paths[i] = mandoc_strdup(argv[i]); } else manpath_parse(&dirs, dir, NULL, NULL); for (i = 0; i < dirs.sz; i++) { - mdb.idxn[0] = mdb.dbn[0] = '\0'; + /* + * Go to the root of the respective manual tree. + * This must work or no manuals may be found: + * They are indexed relative to the root. + */ - strlcat(mdb.dbn, dirs.paths[i], MAXPATHLEN); - strlcat(mdb.dbn, "/", MAXPATHLEN); - sz1 = strlcat(mdb.dbn, MANDOC_DB, MAXPATHLEN); - - strlcat(mdb.idxn, dirs.paths[i], MAXPATHLEN); - strlcat(mdb.idxn, "/", MAXPATHLEN); - sz2 = strlcat(mdb.idxn, MANDOC_IDX, MAXPATHLEN); - - if (sz1 >= MAXPATHLEN || sz2 >= MAXPATHLEN) { - fprintf(stderr, "%s: path too long\n", - dirs.paths[i]); - exit((int)MANDOCLEVEL_BADARG); + if (-1 == chdir(dirs.paths[i])) { + perror(dirs.paths[i]); + exit((int)MANDOCLEVEL_SYSERR); } - if (mdb.db) - (*mdb.db->close)(mdb.db); - if (mdb.idx) - (*mdb.idx->close)(mdb.idx); + strlcpy(mdb.dbn, MANDOC_DB, MAXPATHLEN); + strlcpy(mdb.idxn, MANDOC_IDX, MAXPATHLEN); + flags = O_CREAT | O_TRUNC | O_RDWR; mdb.db = dbopen(mdb.dbn, flags, 0644, DB_BTREE, &info); mdb.idx = dbopen(mdb.idxn, flags, 0644, DB_RECNO, NULL); @@ -508,30 +507,24 @@ main(int argc, char *argv[]) exit((int)MANDOCLEVEL_SYSERR); } - ofile_free(of); - of = NULL; - - if (-1 == chdir(dirs.paths[i])) { - perror(dirs.paths[i]); - exit((int)MANDOCLEVEL_SYSERR); - } - - ofile_dirbuild(".", "", "", 0, &of); - if (NULL == of) - continue; - /* - * Go to the root of the respective manual tree. - * This must work or no manuals may be found (they're - * indexed relative to the root). + * Search for manuals and fill the new database. */ - if (-1 == chdir(dirs.paths[i])) { - perror(dirs.paths[i]); - exit((int)MANDOCLEVEL_SYSERR); + strlcpy(dirbuf, dirs.paths[i], MAXPATHLEN); + ofile_dirbuild(".", "", "", 0, &of, dirbuf); + + if (NULL != of) { + index_merge(of, mp, &dbuf, &buf, hash, + &mdb, &recs, dirs.paths[i]); + ofile_free(of); + of = NULL; } - index_merge(of, mp, &dbuf, &buf, hash, &mdb, &recs); + (*mdb.db->close)(mdb.db); + (*mdb.idx->close)(mdb.idx); + mdb.db = NULL; + mdb.idx = NULL; } out: @@ -554,7 +547,7 @@ out: usage: fprintf(stderr, - "usage: %s [-avvv] [-C file] | dir ... | -t file ...\n" + "usage: %s [-av] [-C file] | dir ... | -t file ...\n" " -d dir [file ...] | " "-u dir [file ...]\n", progname); @@ -565,13 +558,17 @@ usage: void index_merge(const struct of *of, struct mparse *mp, struct buf *dbuf, struct buf *buf, DB *hash, - struct mdb *mdb, struct recs *recs) + struct mdb *mdb, struct recs *recs, + const char *basedir) { recno_t rec; int ch, skip; DBT key, val; + DB *files; /* temporary file name table */ + char emptystring[1] = {'\0'}; struct mdoc *mdoc; struct man *man; + char *p; const char *fn, *msec, *march, *mtitle; uint64_t mask; size_t sv; @@ -579,6 +576,11 @@ index_merge(const struct of *of, struct mparse *mp, uint64_t vbuf[2]; char type; + if (warnings) { + files = NULL; + hash_reset(&files); + } + rec = 0; for (of = of->first; of; of = of->next) { fn = of->fname; @@ -615,23 +617,21 @@ index_merge(const struct of *of, struct mparse *mp, } /* - * By default, skip a file if the manual section - * given in the file disagrees with the directory - * where the file is located. + * Check whether the manual section given in a file + * agrees with the directory where the file is located. + * Some manuals have suffixes like (3p) on their + * section number either inside the file or in the + * directory name, some are linked into more than one + * section, like encrypt(1) = makekey(8). Do not skip + * manuals for such reasons. */ skip = 0; assert(of->sec); assert(msec); - if (strcasecmp(msec, of->sec)) { - if (warnings) - fprintf(stderr, "%s: " - "section \"%s\" manual " - "in \"%s\" directory\n", - fn, msec, of->sec); - skip = 1; - } - + if (strcasecmp(msec, of->sec)) + WARNING(fn, basedir, "Section \"%s\" manual " + "in \"%s\" directory", msec, of->sec); /* * Manual page directories exist for each kernel * architecture as returned by machine(1). @@ -649,33 +649,63 @@ index_merge(const struct of *of, struct mparse *mp, assert(of->arch); assert(march); - if (strcasecmp(march, of->arch)) { - if (warnings) - fprintf(stderr, "%s: " - "architecture \"%s\" manual " - "in \"%s\" directory\n", - fn, march, of->arch); - march = of->arch; - } + if (strcasecmp(march, of->arch)) + WARNING(fn, basedir, "Architecture \"%s\" " + "manual in \"%s\" directory", + march, of->arch); /* * By default, skip a file if the title given * in the file disagrees with the file name. - * If both agree, use the file name as the title, - * because the one in the file usually is all caps. + * Do not warn, this happens for all MLINKs. */ assert(of->title); assert(mtitle); - if (strcasecmp(mtitle, of->title)) { - if (warnings) - fprintf(stderr, "%s: " - "title \"%s\" in file " - "but \"%s\" in filename\n", - fn, mtitle, of->title); + if (strcasecmp(mtitle, of->title)) skip = 1; - } else - mtitle = of->title; + + /* + * Build a title string for the file. If it matches + * the location of the file, remember the title as + * found; else, remember it as missing. + */ + + if (warnings) { + buf->len = 0; + buf_appendb(buf, mtitle, strlen(mtitle)); + buf_appendb(buf, "(", 1); + buf_appendb(buf, msec, strlen(msec)); + if ('\0' != *march) { + buf_appendb(buf, "/", 1); + buf_appendb(buf, march, strlen(march)); + } + buf_appendb(buf, ")", 2); + for (p = buf->cp; '\0' != *p; p++) + *p = tolower(*p); + key.data = buf->cp; + key.size = buf->len; + val.data = NULL; + val.size = 0; + if (0 == skip) + val.data = emptystring; + else { + ch = (*files->get)(files, &key, &val, 0); + if (ch < 0) { + perror("hash"); + exit((int)MANDOCLEVEL_SYSERR); + } else if (ch > 0) { + val.data = (void *)fn; + val.size = strlen(fn) + 1; + } else + val.data = NULL; + } + if (NULL != val.data && + (*files->put)(files, &key, &val, 0) < 0) { + perror("hash"); + exit((int)MANDOCLEVEL_SYSERR); + } + } if (skip && !use_all) continue; @@ -683,18 +713,20 @@ index_merge(const struct of *of, struct mparse *mp, /* * The index record value consists of a nil-terminated * filename, a nil-terminated manual section, and a - * nil-terminated description. Since the description - * may not be set, we set a sentinel to see if we're - * going to write a nil byte in its place. + * nil-terminated description. Use the actual + * location of the file, such that the user can find + * it with man(1). Since the description may not be + * set, we set a sentinel to see if we're going to + * write a nil byte in its place. */ dbuf->len = 0; type = mdoc ? 'd' : (man ? 'a' : 'c'); buf_appendb(dbuf, &type, 1); buf_appendb(dbuf, fn, strlen(fn) + 1); - buf_appendb(dbuf, msec, strlen(msec) + 1); - buf_appendb(dbuf, mtitle, strlen(mtitle) + 1); - buf_appendb(dbuf, march, strlen(march) + 1); + buf_appendb(dbuf, of->sec, strlen(of->sec) + 1); + buf_appendb(dbuf, of->title, strlen(of->title) + 1); + buf_appendb(dbuf, of->arch, strlen(of->arch) + 1); sv = dbuf->len; @@ -710,13 +742,21 @@ index_merge(const struct of *of, struct mparse *mp, else if (man) pman_node(hash, buf, dbuf, man_node(man)); else - pformatted(hash, buf, dbuf, of); + pformatted(hash, buf, dbuf, of, basedir); /* Test mode, do not access any database. */ if (NULL == mdb->db || NULL == mdb->idx) continue; + /* + * Make sure the file name is always registered + * as an .Nm search key. + */ + buf->len = 0; + buf_append(buf, of->title); + hash_put(hash, buf, TYPE_Nm); + /* * Reclaim an empty index record, if available. * Use its record number for all new btree nodes. @@ -767,10 +807,27 @@ index_merge(const struct of *of, struct mparse *mp, val.size = dbuf->len; if (verb) - printf("%s: adding to index\n", fn); + printf("%s: Adding to index: %s\n", basedir, fn); dbt_put(mdb->idx, mdb->idxn, &key, &val); } + + /* + * Iterate the remembered file titles and check that + * all files can be found by their main title. + */ + + if (warnings) { + seq = R_FIRST; + while (0 == (*files->seq)(files, &key, &val, seq)) { + seq = R_NEXT; + if (val.size) + WARNING((char *)val.data, basedir, + "Probably unreachable, title " + "is %s", (char *)key.data); + } + (*files->close)(files); + } } /* @@ -780,7 +837,8 @@ index_merge(const struct of *of, struct mparse *mp, * in `idx' (zeroing its value size). */ static void -index_prune(const struct of *ofile, struct mdb *mdb, struct recs *recs) +index_prune(const struct of *ofile, struct mdb *mdb, + struct recs *recs, const char *basedir) { const struct of *of; const char *fn; @@ -855,7 +913,8 @@ index_prune(const struct of *ofile, struct mdb *mdb, struct recs *recs) } if (verb) - printf("%s: deleting from index\n", fn); + printf("%s: Deleting from index: %s\n", + basedir, fn); val.size = 0; ch = (*mdb->idx->put)(mdb->idx, &key, &val, R_CURSOR); @@ -1264,8 +1323,8 @@ static int pman_node(MAN_ARGS) { const struct man_node *head, *body; - const char *start, *sv; - size_t sz; + char *start, *sv, *title; + size_t sz, titlesz; if (NULL == n) return(0); @@ -1288,8 +1347,54 @@ pman_node(MAN_ARGS) NULL != (body = body->child) && MAN_TEXT == body->type) { - assert(body->string); - start = sv = body->string; + title = NULL; + titlesz = 0; + /* + * Suck the entire NAME section into memory. + * Yes, we might run away. + * But too many manuals have big, spread-out + * NAME sections over many lines. + */ + for ( ; NULL != body; body = body->next) { + if (MAN_TEXT != body->type) + break; + if (0 == (sz = strlen(body->string))) + continue; + title = mandoc_realloc + (title, titlesz + sz + 1); + memcpy(title + titlesz, body->string, sz); + titlesz += sz + 1; + title[(int)titlesz - 1] = ' '; + } + if (NULL == title) + return(0); + + title = mandoc_realloc(title, titlesz + 1); + title[(int)titlesz] = '\0'; + + /* Skip leading space. */ + + sv = title; + while (isspace((unsigned char)*sv)) + sv++; + + if (0 == (sz = strlen(sv))) { + free(title); + return(0); + } + + /* Erase trailing space. */ + + start = &sv[sz - 1]; + while (start > sv && isspace((unsigned char)*start)) + *start-- = '\0'; + + if (start == sv) { + free(title); + return(0); + } + + start = sv; /* * Go through a special heuristic dance here. @@ -1327,10 +1432,11 @@ pman_node(MAN_ARGS) if (sv == start) { buf_append(buf, start); + free(title); return(1); } - while (' ' == *start) + while (isspace((unsigned char)*start)) start++; if (0 == strncmp(start, "-", 1)) @@ -1352,6 +1458,7 @@ pman_node(MAN_ARGS) buf_appendb(buf, start, sz); hash_put(hash, buf, TYPE_Nd); + free(title); } } @@ -1367,16 +1474,15 @@ pman_node(MAN_ARGS) * By necessity, this involves rather crude guesswork. */ static void -pformatted(DB *hash, struct buf *buf, - struct buf *dbuf, const struct of *of) +pformatted(DB *hash, struct buf *buf, struct buf *dbuf, + const struct of *of, const char *basedir) { FILE *stream; char *line, *p, *title; size_t len, plen, titlesz; if (NULL == (stream = fopen(of->fname, "r"))) { - if (warnings) - perror(of->fname); + WARNING(of->fname, basedir, "%s", strerror(errno)); return; } @@ -1431,7 +1537,6 @@ pformatted(DB *hash, struct buf *buf, title[(int)titlesz - 1] = ' '; } - /* * If no page content can be found, or the input line * is already the next section header, or there is no @@ -1440,9 +1545,8 @@ pformatted(DB *hash, struct buf *buf, */ if (NULL == title || '\0' == *title) { - if (warnings) - fprintf(stderr, "%s: cannot find NAME section\n", - of->fname); + WARNING(of->fname, basedir, + "Cannot find NAME section"); buf_appendb(dbuf, buf->cp, buf->size); hash_put(hash, buf, TYPE_Nd); fclose(stream); @@ -1463,9 +1567,8 @@ pformatted(DB *hash, struct buf *buf, for (p += 2; ' ' == *p || '\b' == *p; p++) /* Skip to next word. */ ; } else { - if (warnings) - fprintf(stderr, "%s: no dash in title line\n", - of->fname); + WARNING(of->fname, basedir, + "No dash in title line"); p = title; } @@ -1492,7 +1595,8 @@ pformatted(DB *hash, struct buf *buf, } static void -ofile_argbuild(int argc, char *argv[], struct of **of) +ofile_argbuild(int argc, char *argv[], + struct of **of, const char *basedir) { char buf[MAXPATHLEN]; const char *sec, *arch, *title; @@ -1510,7 +1614,7 @@ ofile_argbuild(int argc, char *argv[], struct of **of) */ if (strlcpy(buf, argv[i], sizeof(buf)) >= sizeof(buf)) { - fprintf(stderr, "%s: path too long\n", argv[i]); + fprintf(stderr, "%s: Path too long\n", argv[i]); continue; } sec = arch = title = ""; @@ -1542,11 +1646,8 @@ ofile_argbuild(int argc, char *argv[], struct of **of) break; } if ('\0' == *title) { - if (warnings) - fprintf(stderr, - "%s: cannot deduce title " - "from filename\n", - argv[i]); + WARNING(argv[i], basedir, + "Cannot deduce title from filename"); title = buf; } @@ -1565,8 +1666,6 @@ ofile_argbuild(int argc, char *argv[], struct of **of) * Add the structure to the list. */ - if (verb > 1) - printf("%s: scheduling\n", argv[i]); if (NULL == *of) { *of = nof; (*of)->first = nof; @@ -1582,13 +1681,13 @@ ofile_argbuild(int argc, char *argv[], struct of **of) * Recursively build up a list of files to parse. * We use this instead of ftw() and so on because I don't want global * variables hanging around. - * This ignores the whatis.db and whatis.index files, but assumes that + * This ignores the mandocdb.db and mandocdb.index files, but assumes that * everything else is a manual. * Pass in a pointer to a NULL structure for the first invocation. */ static void ofile_dirbuild(const char *dir, const char* psec, const char *parch, - int p_src_form, struct of **of) + int p_src_form, struct of **of, char *basedir) { char buf[MAXPATHLEN]; size_t sz; @@ -1600,8 +1699,7 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, int src_form; if (NULL == (d = opendir(dir))) { - if (warnings) - perror(dir); + WARNING("", dir, "%s", strerror(errno)); return; } @@ -1631,9 +1729,7 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, src_form |= MANDOC_FORM; sec = fn + 3; } else { - if (warnings) fprintf(stderr, - "%s/%s: bad section\n", - dir, fn); + WARNING(fn, basedir, "Bad section"); if (use_all) sec = fn; else @@ -1641,16 +1737,13 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, } } else if ('\0' == *arch) { if (NULL != strchr(fn, '.')) { - if (warnings) fprintf(stderr, - "%s/%s: bad architecture\n", - dir, fn); + WARNING(fn, basedir, "Bad architecture"); if (0 == use_all) continue; } arch = fn; } else { - if (warnings) fprintf(stderr, "%s/%s: " - "excessive subdirectory\n", dir, fn); + WARNING(fn, basedir, "Excessive subdirectory"); if (0 == use_all) continue; } @@ -1658,35 +1751,31 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, buf[0] = '\0'; strlcat(buf, dir, MAXPATHLEN); strlcat(buf, "/", MAXPATHLEN); + strlcat(basedir, "/", MAXPATHLEN); + strlcat(basedir, fn, MAXPATHLEN); sz = strlcat(buf, fn, MAXPATHLEN); if (MAXPATHLEN <= sz) { - if (warnings) fprintf(stderr, "%s/%s: " - "path too long\n", dir, fn); + WARNING(fn, basedir, "Path too long"); continue; } - if (verb > 1) - printf("%s: scanning\n", buf); + ofile_dirbuild(buf, sec, arch, + src_form, of, basedir); - ofile_dirbuild(buf, sec, arch, src_form, of); + p = strrchr(basedir, '/'); + *p = '\0'; continue; } if (DT_REG != dp->d_type) { - if (warnings) - fprintf(stderr, - "%s/%s: not a regular file\n", - dir, fn); + WARNING(fn, basedir, "Not a regular file"); continue; } if (!strcmp(MANDOC_DB, fn) || !strcmp(MANDOC_IDX, fn)) continue; if ('\0' == *psec) { - if (warnings) - fprintf(stderr, - "%s/%s: file outside section\n", - dir, fn); + WARNING(fn, basedir, "File outside section"); if (0 == use_all) continue; } @@ -1699,20 +1788,14 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, suffix = strrchr(fn, '.'); if (NULL == suffix) { - if (warnings) - fprintf(stderr, - "%s/%s: no filename suffix\n", - dir, fn); + WARNING(fn, basedir, "No filename suffix"); if (0 == use_all) continue; } else if ((MANDOC_SRC & src_form && strcmp(suffix + 1, psec)) || (MANDOC_FORM & src_form && strcmp(suffix + 1, "0"))) { - if (warnings) - fprintf(stderr, - "%s/%s: wrong filename suffix\n", - dir, fn); + WARNING(fn, basedir, "Wrong filename suffix"); if (0 == use_all) continue; if ('0' == suffix[1]) @@ -1746,9 +1829,7 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, strlcat(buf, "/", MAXPATHLEN); sz = strlcat(buf, fn, MAXPATHLEN); if (sz >= MAXPATHLEN) { - if (warnings) fprintf(stderr, - "%s/%s: path too long\n", - dir, fn); + WARNING(fn, basedir, "Path too long"); continue; } q = strrchr(buf, '.'); @@ -1756,9 +1837,7 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, *q = '\0'; sz = strlcat(buf, psec, MAXPATHLEN); if (sz >= MAXPATHLEN) { - if (warnings) fprintf(stderr, - "%s/%s: path too long\n", - dir, fn); + WARNING(fn, basedir, "Path too long"); continue; } if (0 == access(buf, R_OK)) @@ -1774,8 +1853,7 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, } sz = strlcat(buf, fn, MAXPATHLEN); if (sz >= MAXPATHLEN) { - if (warnings) fprintf(stderr, - "%s/%s: path too long\n", dir, fn); + WARNING(fn, basedir, "Path too long"); continue; } @@ -1798,9 +1876,6 @@ ofile_dirbuild(const char *dir, const char* psec, const char *parch, * Add the structure to the list. */ - if (verb > 1) - printf("%s: scheduling\n", buf); - if (NULL == *of) { *of = nof; (*of)->first = nof; diff --git a/external/bsd/mdocml/dist/mandocdb.h b/external/bsd/mdocml/dist/mandocdb.h index a42bcebf9..9c1fa9cd3 100644 --- a/external/bsd/mdocml/dist/mandocdb.h +++ b/external/bsd/mdocml/dist/mandocdb.h @@ -1,4 +1,4 @@ -/* $Vendor-Id: mandocdb.h,v 1.5 2011/12/25 16:53:51 schwarze Exp $ */ +/* $Vendor-Id: mandocdb.h,v 1.6 2012/03/23 02:52:33 kristaps Exp $ */ /* * Copyright (c) 2011 Kristaps Dzonsons * @@ -17,8 +17,8 @@ #ifndef MANDOCDB_H #define MANDOCDB_H -#define MANDOC_DB "whatis.db" -#define MANDOC_IDX "whatis.index" +#define MANDOC_DB "mandocdb.db" +#define MANDOC_IDX "mandocdb.index" #define TYPE_An 0x0000000000000001ULL #define TYPE_Ar 0x0000000000000002ULL diff --git a/external/bsd/mdocml/dist/mdoc_argv.c b/external/bsd/mdocml/dist/mdoc_argv.c index ef26e0260..7b0a60664 100644 --- a/external/bsd/mdocml/dist/mdoc_argv.c +++ b/external/bsd/mdocml/dist/mdoc_argv.c @@ -1,4 +1,4 @@ -/* $Vendor-Id: mdoc_argv.c,v 1.81 2011/09/18 14:14:15 schwarze Exp $ */ +/* $Vendor-Id: mdoc_argv.c,v 1.82 2012/03/23 05:50:24 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * @@ -81,7 +81,7 @@ static const enum argvflag argvflags[MDOC_ARG_MAX] = { ARGV_NONE, /* MDOC_Ohang */ ARGV_NONE, /* MDOC_Inset */ ARGV_MULTI, /* MDOC_Column */ - ARGV_SINGLE, /* MDOC_Width */ + ARGV_OPT_SINGLE, /* MDOC_Width */ ARGV_NONE, /* MDOC_Compact */ ARGV_NONE, /* MDOC_Std */ ARGV_NONE, /* MDOC_Filled */ diff --git a/external/bsd/mdocml/dist/mdoc_validate.c b/external/bsd/mdocml/dist/mdoc_validate.c index f44fd7b15..458f7cbde 100644 --- a/external/bsd/mdocml/dist/mdoc_validate.c +++ b/external/bsd/mdocml/dist/mdoc_validate.c @@ -1,4 +1,4 @@ -/* $Vendor-Id: mdoc_validate.c,v 1.181 2011/12/03 16:58:54 schwarze Exp $ */ +/* $Vendor-Id: mdoc_validate.c,v 1.182 2012/03/23 05:50:25 kristaps Exp $ */ /* * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons * Copyright (c) 2010, 2011 Ingo Schwarze @@ -661,8 +661,13 @@ pre_bl(PRE_ARGS) comp = 1; break; case (MDOC_Width): - dup = (NULL != n->norm->Bl.width); - width = n->args->argv[i].value[0]; + /* NB: this can be empty! */ + if (n->args->argv[i].sz) { + width = n->args->argv[i].value[0]; + dup = (NULL != n->norm->Bl.width); + break; + } + mdoc_nmsg(mdoc, n, MANDOCERR_IGNARGV); break; case (MDOC_Offset): /* NB: this can be empty! */ diff --git a/external/bsd/mdocml/dist/read.c b/external/bsd/mdocml/dist/read.c index 11bd5b569..d68dc02cd 100644 --- a/external/bsd/mdocml/dist/read.c +++ b/external/bsd/mdocml/dist/read.c @@ -344,15 +344,20 @@ mparse_buf_r(struct mparse *curp, struct buf blk, int start) continue; } - /* Trailing backslash = a plain char. */ + /* Expand registers inline */ + if ('\\' == blk.buf[i] && 'n' == blk.buf[i + 1]) { + roff_expand_nr(curp->roff, + blk.buf, &i, blk.sz, &ln.buf, &pos, &ln.sz); + continue; + } + /* Trailing backslash = a plain char. */ if ('\\' != blk.buf[i] || i + 1 == (int)blk.sz) { if (pos >= (int)ln.sz) resize_buf(&ln, 256); ln.buf[pos++] = blk.buf[i++]; continue; } - /* * Found escape and at least one other character. * When it's a newline character, skip it. diff --git a/external/bsd/mdocml/dist/roff.c b/external/bsd/mdocml/dist/roff.c index 565ff5b12..2462ae9ae 100644 --- a/external/bsd/mdocml/dist/roff.c +++ b/external/bsd/mdocml/dist/roff.c @@ -21,8 +21,10 @@ #include #include +#include #include #include +#include #include "mandoc.h" #include "libroff.h" @@ -70,8 +72,8 @@ enum rofft { }; enum roffrule { - ROFFRULE_ALLOW, - ROFFRULE_DENY + ROFFRULE_DENY, + ROFFRULE_ALLOW }; /* @@ -117,6 +119,7 @@ struct roff { struct eqn_node *last_eqn; /* last equation parsed */ struct eqn_node *first_eqn; /* first equation parsed */ struct eqn_node *eqn; /* current equation being parsed */ + struct roff_nr *nr[64]; /* numbered register set */ }; struct roffnode { @@ -392,7 +395,8 @@ roff_reset(struct roff *r) roff_free1(r); - memset(&r->regs, 0, sizeof(struct reg) * REG__MAX); + memset(&r->regs, 0, sizeof(r->regs)); + memset(&r->nr, 0, sizeof(r->nr)); for (i = 0; i < PREDEFS_MAX; i++) roff_setstr(r, predefs[i].name, predefs[i].str, 0); @@ -621,20 +625,16 @@ roff_parseln(struct roff *r, int ln, char **bufp, * no matter our state. */ - if (r->last && ! ctl) { - t = r->last->tok; - assert(roffs[t].text); - e = (*roffs[t].text) - (r, t, bufp, szp, ln, pos, pos, offs); - assert(ROFF_IGN == e || ROFF_CONT == e); - if (ROFF_CONT != e) - return(e); - if (r->eqn) - return(eqn_read(&r->eqn, ln, *bufp, pos, offs)); - if (r->tbl) - return(tbl_read(r->tbl, ln, *bufp, pos)); - return(roff_parsetext(*bufp + pos)); - } else if ( ! ctl) { + if (!ctl) { + if (r->last) { + t = r->last->tok; + assert(roffs[t].text); + e = (*roffs[t].text) + (r, t, bufp, szp, ln, pos, pos, offs); + assert(ROFF_IGN == e || ROFF_CONT == e); + if (ROFF_CONT != e) + return(e); + } if (r->eqn) return(eqn_read(&r->eqn, ln, *bufp, pos, offs)); if (r->tbl) @@ -1059,10 +1059,61 @@ roff_cond_text(ROFF_ARGS) return(ROFFRULE_DENY == rr ? ROFF_IGN : ROFF_CONT); } +static int +roff_getnum(const char *v, int *pos, int *res) +{ + int p, n; + + if ((n = (v[*pos] == '-')) != 0) + (*pos)++; + + p = *pos; + for (*res = 0; isdigit((unsigned char)v[p]); p++) + *res += 10 * *res + v[p] - '0'; + if (p == *pos) + return 0; + + if (n) + *res = -*res; + + *pos = p; + return 1; +} + +static int +roff_getop(const char *v, int *pos) +{ + int c; + switch (c = v[*pos]) { + case '=': + case '!': + case '>': + case '<': + (*pos)++; + if (v[*pos] == '=') { + (*pos)++; + return c; + } + switch (c) { + case '=': + return '='; + case '>': + return 'g'; + case '<': + return 'l'; + default: + return -1; + } + default: + return -1; + } +} + static enum roffrule roff_evalcond(const char *v, int *pos) { - + int not = 0; + int lh, rh, op; switch (v[*pos]) { case ('n'): (*pos)++; @@ -1074,13 +1125,45 @@ roff_evalcond(const char *v, int *pos) case ('t'): (*pos)++; return(ROFFRULE_DENY); + case ('!'): + not++; + (*pos)++; + break; default: break; } - - while (v[*pos] && ' ' != v[*pos]) - (*pos)++; - return(ROFFRULE_DENY); + if (!roff_getnum(v, pos, &lh)) + return ROFFRULE_DENY; + if ((op = roff_getop(v, pos)) == -1) + goto out; + if (!roff_getnum(v, pos, &rh)) + return ROFFRULE_DENY; + switch (op) { + case '>': + lh = lh >= rh; + break; + case '<': + lh = lh <= rh; + break; + case '=': + lh = lh == rh; + break; + case '!': + lh = lh != rh; + break; + case 'g': + lh = lh > rh; + break; + case 'l': + lh = lh < rh; + break; + default: + return ROFFRULE_DENY; + } +out: + if (not) + lh = !lh; + return lh ? ROFFRULE_ALLOW : ROFFRULE_DENY; } /* ARGSUSED */ @@ -1234,21 +1317,70 @@ roff_regunset(struct roff *r, enum regs reg) r->regs[(int)reg].set = 0; } +struct roff_nr { + char *str; + uint32_t hash; + intmax_t val; + struct roff_nr *next; +}; + +static uint32_t +hash_str(const char *str) +{ + const uint8_t *s = (const uint8_t *)str; + uint8_t c; + uint32_t hv = 0; + while ((c = *s++) != '\0') + hv = hv * 33 + c; /* "perl": k=33, r=r+r/32 */ + return hv + (hv >> 5); +} + +static struct roff_nr * +hash_find(struct roff *r, const char *str, uint32_t *h) +{ + struct roff_nr *e; + *h = hash_str(str) % (sizeof(r->nr) / sizeof(r->nr[0])); + + for (e = r->nr[*h]; e; e = e->next) + if (e->hash == *h && strcmp(e->str, str) == 0) + return e; + return NULL; +} + +static struct roff_nr * +hash_insert(struct roff *r, const char *str, uint32_t h) +{ + struct roff_nr *e; + + e = mandoc_malloc(sizeof(*e)); + e->str = mandoc_strdup(str); + e->hash = h; + e->next = r->nr[h]; + r->nr[h] = e; + return e; +} + /* ARGSUSED */ static enum rofferr roff_nr(ROFF_ARGS) { const char *key; char *val; - int iv; + uint32_t hv; + struct roff_nr *h; val = *bufp + pos; key = roff_getname(r, &val, ln, pos); + if ((h = hash_find(r, key, &hv)) == NULL) + h = hash_insert(r, key, hv); + + h->val = mandoc_strntoi(val, strlen(val), 10); + if (0 == strcmp(key, "nS")) { r->regs[(int)REG_nS].set = 1; - if ((iv = mandoc_strntoi(val, strlen(val), 10)) >= 0) - r->regs[(int)REG_nS].u = (unsigned)iv; + if (h->val >= 0) + r->regs[(int)REG_nS].u = (unsigned)h->val; else r->regs[(int)REG_nS].u = 0u; } @@ -1256,6 +1388,49 @@ roff_nr(ROFF_ARGS) return(ROFF_IGN); } +void +roff_expand_nr(struct roff *r, const char *src, int *sp, size_t slen, + char **dst, int *dp, size_t *dlenp) +{ + uint32_t hv; + struct roff_nr *h; + int l, s; + char e, *key; + + s = *sp + 2; /* skip \\\n */ + + if ('[' == src[s]) { /* XXX: Support builtins */ + s++; + e = ']'; + } else + e = '\0'; + + for (l = s; src[l] && l < (int)slen; l++) { + if (e) { + if (src[l] == e) + break; + } else { + if (!isalnum((unsigned char)src[l])) + break; + } + } + *sp = l; + l -= s; + key = mandoc_malloc(l + 1); + memcpy(key, src + s, l); + key[l] = '\0'; + + if ((h = hash_find(r, key, &hv)) == NULL) { + free(key); + return; + } + if (*dst == NULL || *dlenp - *dp < 256) + *dst = mandoc_realloc(*dst, *dlenp += 256); + + /* XXX: support .af */ + *dp += snprintf(*dst + *dp, *dlenp - *dp, "%jd", h->val); +} + /* ARGSUSED */ static enum rofferr roff_rm(ROFF_ARGS) diff --git a/external/bsd/mdocml/dist/st.in b/external/bsd/mdocml/dist/st.in index 610ce0ced..802198541 100644 --- a/external/bsd/mdocml/dist/st.in +++ b/external/bsd/mdocml/dist/st.in @@ -1,4 +1,4 @@ -/* $Vendor-Id: st.in,v 1.18 2012/01/03 10:18:05 kristaps Exp $ */ +/* $Vendor-Id: st.in,v 1.19 2012/02/26 21:47:09 schwarze Exp $ */ /* * Copyright (c) 2009, 2010 Kristaps Dzonsons * @@ -66,7 +66,7 @@ LINE("-xpg3", "X/Open Portability Guide Issue\\~3 (\\(lqXPG3\\(rq)") LINE("-xpg4", "X/Open Portability Guide Issue\\~4 (\\(lqXPG4\\(rq)") LINE("-xpg4.2", "X/Open Portability Guide Issue\\~4, Version\\~2 (\\(lqXPG4.2\\(rq)") LINE("-xpg4.3", "X/Open Portability Guide Issue\\~4, Version\\~3 (\\(lqXPG4.3\\(rq)") -LINE("-xbd5", "X/Open System Interface Definitions Issue\\~5 (\\(lqXBD5\\(rq)") +LINE("-xbd5", "X/Open Base Definitions Issue\\~5 (\\(lqXBD5\\(rq)") LINE("-xcu5", "X/Open Commands and Utilities Issue\\~5 (\\(lqXCU5\\(rq)") LINE("-xsh5", "X/Open System Interfaces and Headers Issue\\~5 (\\(lqXSH5\\(rq)") LINE("-xns5", "X/Open Networking Services Issue\\~5 (\\(lqXNS5\\(rq)") diff --git a/external/bsd/mdocml/dist/tbl_data.c b/external/bsd/mdocml/dist/tbl_data.c index 1742c14f3..36b51c6f9 100644 --- a/external/bsd/mdocml/dist/tbl_data.c +++ b/external/bsd/mdocml/dist/tbl_data.c @@ -29,13 +29,13 @@ #include "libmandoc.h" #include "libroff.h" -static int data(struct tbl_node *, struct tbl_span *, +static int getdata(struct tbl_node *, struct tbl_span *, int, const char *, int *); static struct tbl_span *newspan(struct tbl_node *, int, struct tbl_row *); static int -data(struct tbl_node *tbl, struct tbl_span *dp, +getdata(struct tbl_node *tbl, struct tbl_span *dp, int ln, const char *p, int *pos) { struct tbl_dat *dat; @@ -154,7 +154,7 @@ tbl_cdata(struct tbl_node *tbl, int ln, const char *p) if (p[pos] == tbl->opts.tab) { tbl->part = TBL_PART_DATA; pos++; - return(data(tbl, tbl->last_span, ln, p, &pos)); + return(getdata(tbl, tbl->last_span, ln, p, &pos)); } else if ('\0' == p[pos]) { tbl->part = TBL_PART_DATA; return(1); @@ -269,7 +269,7 @@ tbl_data(struct tbl_node *tbl, int ln, const char *p) /* This returns 0 when TBL_PART_CDATA is entered. */ while ('\0' != p[pos]) - if ( ! data(tbl, dp, ln, p, &pos)) + if ( ! getdata(tbl, dp, ln, p, &pos)) return(0); return(1); diff --git a/external/bsd/mdocml/dist/whatis.1 b/external/bsd/mdocml/dist/whatis.1 index d3be9145c..7097ec55f 100644 --- a/external/bsd/mdocml/dist/whatis.1 +++ b/external/bsd/mdocml/dist/whatis.1 @@ -1,6 +1,6 @@ -.\" $Vendor-Id: whatis.1,v 1.7 2011/12/25 19:35:44 kristaps Exp $ +.\" $Vendor-Id: whatis.1,v 1.8 2012/03/24 01:54:43 kristaps Exp $ .\" -.\" Copyright (c) 2011 Kristaps Dzonsons +.\" Copyright (c) 2011, 2012 Kristaps Dzonsons .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd December 25, 2011 +.Dd March 24, 2012 .Dt WHATIS 1 .Os .Sh NAME @@ -47,6 +47,8 @@ searches for .Xr mandocdb 8 databases in the default paths stipulated by .Xr man 1 . +If standard output is a TTY, a result may be selected from a list and +its manual displayed with the pager. .Pp The options are as follows: .Bl -tag -width Ds @@ -95,13 +97,21 @@ If an architecture is specified for the manual, it is displayed as .Pp .D1 title(cat/arch) \- description .Pp -Resulting manuals may be accessed as +If on a TTY, results are prefixed with a numeric identifier. .Pp -.Dl $ man \-s sec title +.D1 [index] title(cat) \- description .Pp -If an architecture is specified in the output, use -.Pp -.Dl $ man \-s sec \-S arch title +One may choose a manual be entering the index at the prompt. +Valid choices are displayed using +.Ev MANPAGER , +or failing that , +.Ev PAGER +or just +.Xr more 1 . +Source pages are formatted with +.Xr mandoc 1 ; +preformatted pages with +.Xr cat 1 . .Pp .Nm is identical to running @@ -111,6 +121,14 @@ as follows: .Dl $ apropos -- -i 'Nm~[[:<:]]term[[:>:]]' .Sh ENVIRONMENT .Bl -tag -width Ds +.It Ev MANPAGER +Default pager for manuals. +If this is unset, falls back to +.Ev Pager . +.It Ev PAGER +The second choice for a manual pager. +If this is unset, use +.Xr more 1 . .It Ev MANPATH Colon-separated paths modifying the default list of paths searched for manual databases. diff --git a/external/bsd/mdocml/man/Makefile b/external/bsd/mdocml/man/Makefile index f0a167ab8..a5e8d909a 100644 --- a/external/bsd/mdocml/man/Makefile +++ b/external/bsd/mdocml/man/Makefile @@ -35,7 +35,11 @@ CLEANFILES+= mandoc_eqn.7 mandoc_man.7 mandoc_mdoc.7 \ .if (${MKHTML} != "no") && (${MKMAN} != "no") FILES= ${DISTDIR}/example.style.css +.if defined(__MINIX) FILESDIR= /usr/man +.else +FILESDIR= /usr/share/man +.endif # defined(__MINIX) FILESNAME= style.css .endif diff --git a/external/bsd/mdocml/prepare-import.sh b/external/bsd/mdocml/prepare-import.sh index 95f6f565d..d51a8b9ed 100644 --- a/external/bsd/mdocml/prepare-import.sh +++ b/external/bsd/mdocml/prepare-import.sh @@ -2,7 +2,6 @@ set -e -cd dist rm -rf ChangeLog.xsl style.css index.css *.sgml uuencode external.png < external.png > external.png.uu diff --git a/usr.bin/nvi/Makefile b/external/bsd/nvi/Makefile similarity index 52% rename from usr.bin/nvi/Makefile rename to external/bsd/nvi/Makefile index f9540332c..5b9905189 100644 --- a/usr.bin/nvi/Makefile +++ b/external/bsd/nvi/Makefile @@ -1,21 +1,17 @@ -# $NetBSD: Makefile,v 1.3 2008/10/13 18:11:54 dyoung Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ .include "Makefile.inc" .include -.if defined(__MINIX) -SUBDIR+= build -.else .if ${MKSHARE} != "no" SUBDIR+= catalog .endif -SUBDIR+= build recover +SUBDIR+= usr.bin .if ${MKDOC} != "no" SUBDIR+= docs .endif -.endif # defined(__MINIX) .include diff --git a/external/bsd/nvi/Makefile.inc b/external/bsd/nvi/Makefile.inc new file mode 100644 index 000000000..a9c28d211 --- /dev/null +++ b/external/bsd/nvi/Makefile.inc @@ -0,0 +1,10 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/11/22 16:00:45 christos Exp $ + +.include + +DIST= ${NETBSDSRCDIR}/external/bsd/nvi/dist +.PATH: ${DIST} +BINDIR=/usr/bin + +CWARNFLAGS.clang+= -Wno-error=unused-const-variable +VERSION=1.81.6-2013-11-20 diff --git a/usr.bin/nvi/catalog/Makefile b/external/bsd/nvi/catalog/Makefile similarity index 97% rename from usr.bin/nvi/catalog/Makefile rename to external/bsd/nvi/catalog/Makefile index 6a3cbecb7..fe02ce3a0 100644 --- a/usr.bin/nvi/catalog/Makefile +++ b/external/bsd/nvi/catalog/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.6 2008/10/25 22:27:39 apb Exp $ +# $NetBSD: Makefile,v 1.2 2013/11/22 16:11:08 christos Exp $ # # @(#)Makefile 8.29 (Berkeley) 10/19/96 @@ -9,6 +9,7 @@ NOMAN= # defined .PATH: ${DIST}/catalog CATALOG= dutch english french german ru_RU.KOI8-R spanish swedish + VI_FILES= ${DIST}/cl/*.c ${DIST}/common/*.c \ ${DIST}/ex/*.c ${DIST}/vi/*.c FILES= ${CATALOG} diff --git a/dist/nvi/Changes b/external/bsd/nvi/dist/Changes similarity index 100% rename from dist/nvi/Changes rename to external/bsd/nvi/dist/Changes diff --git a/dist/nvi/LICENSE b/external/bsd/nvi/dist/LICENSE similarity index 95% rename from dist/nvi/LICENSE rename to external/bsd/nvi/dist/LICENSE index 64de8c764..7bfdc4877 100644 --- a/dist/nvi/LICENSE +++ b/external/bsd/nvi/dist/LICENSE @@ -1,5 +1,5 @@ /*- - * Id: LICENSE,v 8.17 2000/08/18 14:58:41 bostic Exp (Sleepycat) Date: 2000/08/18 14:58:41 + * Id: LICENSE,v 8.17 2000/08/18 14:58:41 bostic Exp (Sleepycat) Date: 2000/08/18 14:58:41 */ The following are the copyrights and redistribution conditions that apply diff --git a/dist/nvi/README b/external/bsd/nvi/dist/README similarity index 95% rename from dist/nvi/README rename to external/bsd/nvi/dist/README index 5d831860d..686e087e1 100644 --- a/dist/nvi/README +++ b/external/bsd/nvi/dist/README @@ -1,6 +1,6 @@ -# Id: README,v 8.153 2001/04/30 09:31:12 skimo Exp (Berkeley) Date: 2001/04/30 09:31:12 +# Id: README,v 8.153 2001/04/30 09:31:12 skimo Exp (Berkeley) Date: 2001/04/30 09:31:12 -This is version 1.81.6 (2007-11-18) of nex/nvi, a reimplementation of the ex/vi +This is version 1.80 (%H%) of nex/nvi, a reimplementation of the ex/vi text editors originally distributed as part of the Fourth Berkeley Software Distribution (4BSD), by the University of California, Berkeley. diff --git a/dist/nvi/README.1st b/external/bsd/nvi/dist/README.1st similarity index 100% rename from dist/nvi/README.1st rename to external/bsd/nvi/dist/README.1st diff --git a/dist/nvi/README.DB3 b/external/bsd/nvi/dist/README.DB3 similarity index 100% rename from dist/nvi/README.DB3 rename to external/bsd/nvi/dist/README.DB3 diff --git a/dist/nvi/TODO b/external/bsd/nvi/dist/TODO similarity index 98% rename from dist/nvi/TODO rename to external/bsd/nvi/dist/TODO index f0667c425..290fd601f 100644 --- a/dist/nvi/TODO +++ b/external/bsd/nvi/dist/TODO @@ -1,4 +1,4 @@ -# Id: TODO,v 8.2 1997/04/12 15:53:31 bostic Exp (Berkeley) Date: 1997/04/12 15:53:31 +# Id: TODO,v 8.2 1997/04/12 15:53:31 bostic Exp (Berkeley) Date: 1997/04/12 15:53:31 ======================================================================== GENERAL diff --git a/dist/nvi/build.unix/README b/external/bsd/nvi/dist/build.unix/README similarity index 99% rename from dist/nvi/build.unix/README rename to external/bsd/nvi/dist/build.unix/README index eb528147a..bc97793ee 100644 --- a/dist/nvi/build.unix/README +++ b/external/bsd/nvi/dist/build.unix/README @@ -1,4 +1,4 @@ -# Id: README,v 8.29 2001/05/13 20:52:36 skimo Exp (Berkeley) Date: 2001/05/13 20:52:36 +# Id: README,v 8.29 2001/05/13 20:52:36 skimo Exp (Berkeley) Date: 2001/05/13 20:52:36 Nvi uses the GNU autoconf program for configuration and compilation. You should enter: diff --git a/dist/nvi/build.unix/README.LynxOS b/external/bsd/nvi/dist/build.unix/README.LynxOS similarity index 100% rename from dist/nvi/build.unix/README.LynxOS rename to external/bsd/nvi/dist/build.unix/README.LynxOS diff --git a/dist/nvi/build.unix/README.Solaris b/external/bsd/nvi/dist/build.unix/README.Solaris similarity index 100% rename from dist/nvi/build.unix/README.Solaris rename to external/bsd/nvi/dist/build.unix/README.Solaris diff --git a/dist/nvi/catalog/Makefile b/external/bsd/nvi/dist/catalog/Makefile similarity index 96% rename from dist/nvi/catalog/Makefile rename to external/bsd/nvi/dist/catalog/Makefile index 2a3652d68..fb16a9328 100644 --- a/dist/nvi/catalog/Makefile +++ b/external/bsd/nvi/dist/catalog/Makefile @@ -1,4 +1,4 @@ -# Id: Makefile,v 8.30 1996/11/27 11:59:09 bostic Exp (Berkeley) Date: 1996/11/27 11:59:09 +# Id: Makefile,v 8.30 1996/11/27 11:59:09 bostic Exp (Berkeley) Date: 1996/11/27 11:59:09 CAT= dutch english french german ru_RU.KOI8-R spanish swedish FILES= ../cl/*.c ../common/*.c ../ex/*.c ../vi/*.c diff --git a/dist/nvi/catalog/README b/external/bsd/nvi/dist/catalog/README similarity index 98% rename from dist/nvi/catalog/README rename to external/bsd/nvi/dist/catalog/README index a110db16d..3f9b21a97 100644 --- a/dist/nvi/catalog/README +++ b/external/bsd/nvi/dist/catalog/README @@ -1,4 +1,4 @@ -# Id: README,v 8.4 1994/11/22 09:52:04 bostic Exp (Berkeley) Date: 1994/11/22 09:52:04 +# Id: README,v 8.4 1994/11/22 09:52:04 bostic Exp (Berkeley) Date: 1994/11/22 09:52:04 Generally, all non-system error and informational messages in nvi are catalog messages, i.e. they can be tailored to a specific langauge. diff --git a/dist/nvi/catalog/dump.c b/external/bsd/nvi/dist/catalog/dump.c similarity index 93% rename from dist/nvi/catalog/dump.c rename to external/bsd/nvi/dist/catalog/dump.c index 114ff5a54..b11b97842 100644 --- a/dist/nvi/catalog/dump.c +++ b/external/bsd/nvi/dist/catalog/dump.c @@ -1,5 +1,4 @@ -/* $NetBSD: dump.c,v 1.2 2008/06/11 21:30:52 aymeric Exp $ */ - +/* $NetBSD: dump.c,v 1.2 2013/11/22 15:52:04 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -14,7 +13,7 @@ static char copyright[] = #endif /* not lint */ #ifndef lint -static char sccsid[] = "Id: dump.c,v 8.1 1994/08/31 13:27:37 bostic Exp (Berkeley) Date: 1994/08/31 13:27:37"; +static char sccsid[] = "Id: dump.c,v 8.1 1994/08/31 13:27:37 bostic Exp (Berkeley) Date: 1994/08/31 13:27:37 "; #endif /* not lint */ #include diff --git a/dist/nvi/catalog/dutch.base b/external/bsd/nvi/dist/catalog/dutch.base similarity index 100% rename from dist/nvi/catalog/dutch.base rename to external/bsd/nvi/dist/catalog/dutch.base diff --git a/dist/nvi/dist/stamp-h.in b/external/bsd/nvi/dist/catalog/dutch.check similarity index 100% rename from dist/nvi/dist/stamp-h.in rename to external/bsd/nvi/dist/catalog/dutch.check diff --git a/dist/nvi/catalog/dutch.owner b/external/bsd/nvi/dist/catalog/dutch.owner similarity index 100% rename from dist/nvi/catalog/dutch.owner rename to external/bsd/nvi/dist/catalog/dutch.owner diff --git a/external/bsd/nvi/dist/catalog/english.check b/external/bsd/nvi/dist/catalog/english.check new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/catalog/english.owner b/external/bsd/nvi/dist/catalog/english.owner similarity index 100% rename from dist/nvi/catalog/english.owner rename to external/bsd/nvi/dist/catalog/english.owner diff --git a/dist/nvi/catalog/french.base b/external/bsd/nvi/dist/catalog/french.base similarity index 100% rename from dist/nvi/catalog/french.base rename to external/bsd/nvi/dist/catalog/french.base diff --git a/external/bsd/nvi/dist/catalog/french.check b/external/bsd/nvi/dist/catalog/french.check new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/catalog/german.base b/external/bsd/nvi/dist/catalog/german.base similarity index 100% rename from dist/nvi/catalog/german.base rename to external/bsd/nvi/dist/catalog/german.base diff --git a/external/bsd/nvi/dist/catalog/german.check b/external/bsd/nvi/dist/catalog/german.check new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/catalog/german.owner b/external/bsd/nvi/dist/catalog/german.owner similarity index 100% rename from dist/nvi/catalog/german.owner rename to external/bsd/nvi/dist/catalog/german.owner diff --git a/dist/nvi/catalog/ru_RU.KOI8-R.base b/external/bsd/nvi/dist/catalog/ru_RU.KOI8-R.base similarity index 100% rename from dist/nvi/catalog/ru_RU.KOI8-R.base rename to external/bsd/nvi/dist/catalog/ru_RU.KOI8-R.base diff --git a/dist/nvi/catalog/ru_RU.KOI8-R.owner b/external/bsd/nvi/dist/catalog/ru_RU.KOI8-R.owner similarity index 100% rename from dist/nvi/catalog/ru_RU.KOI8-R.owner rename to external/bsd/nvi/dist/catalog/ru_RU.KOI8-R.owner diff --git a/external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.base b/external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.base new file mode 100644 index 000000000..e69de29bb diff --git a/external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.check b/external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.check new file mode 100644 index 000000000..e69de29bb diff --git a/external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.owner b/external/bsd/nvi/dist/catalog/ru_SU.KOI8-R.owner new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/catalog/spanish.base b/external/bsd/nvi/dist/catalog/spanish.base similarity index 100% rename from dist/nvi/catalog/spanish.base rename to external/bsd/nvi/dist/catalog/spanish.base diff --git a/external/bsd/nvi/dist/catalog/spanish.check b/external/bsd/nvi/dist/catalog/spanish.check new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/catalog/spell.ok b/external/bsd/nvi/dist/catalog/spell.ok similarity index 100% rename from dist/nvi/catalog/spell.ok rename to external/bsd/nvi/dist/catalog/spell.ok diff --git a/dist/nvi/catalog/swedish.base b/external/bsd/nvi/dist/catalog/swedish.base similarity index 100% rename from dist/nvi/catalog/swedish.base rename to external/bsd/nvi/dist/catalog/swedish.base diff --git a/external/bsd/nvi/dist/catalog/swedish.check b/external/bsd/nvi/dist/catalog/swedish.check new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/catalog/swedish.owner b/external/bsd/nvi/dist/catalog/swedish.owner similarity index 100% rename from dist/nvi/catalog/swedish.owner rename to external/bsd/nvi/dist/catalog/swedish.owner diff --git a/dist/nvi/cl/README.signal b/external/bsd/nvi/dist/cl/README.signal similarity index 98% rename from dist/nvi/cl/README.signal rename to external/bsd/nvi/dist/cl/README.signal index cf17a6b3d..99d482d34 100644 --- a/dist/nvi/cl/README.signal +++ b/external/bsd/nvi/dist/cl/README.signal @@ -1,4 +1,4 @@ -# Id: README.signal,v 10.1 1995/06/23 10:28:17 bostic Exp (Berkeley) Date: 1995/06/23 10:28:17 +# Id: README.signal,v 10.1 1995/06/23 10:28:17 bostic Exp (Berkeley) Date: 1995/06/23 10:28:17 There are six (normally) asynchronous actions about which vi cares: SIGHUP, SIGINT, SIGQUIT, SIGTERM, SIGTSTP and SIGWINCH. diff --git a/dist/nvi/cl/cl.h b/external/bsd/nvi/dist/cl/cl.h similarity index 94% rename from dist/nvi/cl/cl.h rename to external/bsd/nvi/dist/cl/cl.h index d0e9ea57c..6c53bf010 100644 --- a/dist/nvi/cl/cl.h +++ b/external/bsd/nvi/dist/cl/cl.h @@ -1,5 +1,4 @@ -/* $NetBSD: cl.h,v 1.2 2010/02/03 15:34:37 roy Exp $ */ - +/* $NetBSD: cl.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: cl.h,v 10.32 2001/08/28 11:33:40 skimo Exp (Berkeley) Date: 2001/08/28 11:33:40 + * Id: cl.h,v 10.32 2001/08/28 11:33:40 skimo Exp (Berkeley) Date: 2001/08/28 11:33:40 */ /* Avoid clash on OSF1 */ @@ -108,10 +107,10 @@ typedef enum { INP_OK=0, INP_EOF, INP_ERR, INP_INTR, INP_TIMEOUT } input_t; #define FALSE 0 #endif -#include "extern.h" +#include "cl_extern.h" #ifdef USE_PERL_SETENV -#include "../perl_api/extern.h" +#include "perl_api_extern.h" #define cl_setenv(sp,name,val) perl_setenv(sp,name,val) #define cl_unsetenv(sp,name) perl_setenv(sp,name,NULL) #else diff --git a/dist/nvi/cl/cl_bsd.c b/external/bsd/nvi/dist/cl/cl_bsd.c similarity index 97% rename from dist/nvi/cl/cl_bsd.c rename to external/bsd/nvi/dist/cl/cl_bsd.c index e4f20b71a..6ccbb3307 100644 --- a/dist/nvi/cl/cl_bsd.c +++ b/external/bsd/nvi/dist/cl/cl_bsd.c @@ -1,5 +1,4 @@ -/* $NetBSD: cl_bsd.c,v 1.4 2010/02/03 15:34:37 roy Exp $ */ - +/* $NetBSD: cl_bsd.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1995, 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cl_bsd.c,v 8.32 2000/12/01 13:56:17 skimo Exp (Berkeley) Date: 2000/12/01 13:56:17"; +static const char sccsid[] = "Id: cl_bsd.c,v 8.32 2000/12/01 13:56:17 skimo Exp (Berkeley) Date: 2000/12/01 13:56:17 "; #endif /* not lint */ #include @@ -283,7 +282,7 @@ lcmp(const void *a, const void *b) * Try and work around the problem, since we only care about the return value. * * PUBLIC: #ifdef HAVE_CURSES_TIGETSTR - * PUBLIC: char *tigetstr(); + * PUBLIC: char *tigetstr __P((const char *)); * PUBLIC: #else * PUBLIC: char *tigetstr __P((char *)); * PUBLIC: #endif diff --git a/dist/nvi/cl/cl_funcs.c b/external/bsd/nvi/dist/cl/cl_funcs.c similarity index 98% rename from dist/nvi/cl/cl_funcs.c rename to external/bsd/nvi/dist/cl/cl_funcs.c index 10ed2bc50..e92e20f51 100644 --- a/dist/nvi/cl/cl_funcs.c +++ b/external/bsd/nvi/dist/cl/cl_funcs.c @@ -1,5 +1,4 @@ -/* $NetBSD: cl_funcs.c,v 1.4 2009/11/15 18:43:28 dsl Exp $ */ - +/* $NetBSD: cl_funcs.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cl_funcs.c,v 10.72 2002/03/02 23:18:33 skimo Exp (Berkeley) Date: 2002/03/02 23:18:33"; +static const char sccsid[] = "Id: cl_funcs.c,v 10.72 2002/03/02 23:18:33 skimo Exp (Berkeley) Date: 2002/03/02 23:18:33 "; #endif /* not lint */ #include @@ -37,12 +36,10 @@ static void cl_rdiv __P((SCR *)); static int addstr4(SCR *sp, const void *str, size_t len, int wide) { - CL_PRIVATE *clp; WINDOW *win; size_t y, x; int iv; - clp = CLP(sp); win = CLSP(sp) ? CLSP(sp) : stdscr; /* @@ -51,6 +48,7 @@ addstr4(SCR *sp, const void *str, size_t len, int wide) */ iv = 0; getyx(win, y, x); + __USE(x); if (!F_ISSET(sp, SC_SCR_EXWROTE) && y == RLNO(sp, LASTLINE(sp)) && IS_SPLIT(sp)) { iv = 1; @@ -312,11 +310,9 @@ int cl_deleteln(SCR *sp) { CHAR_T ch; - CL_PRIVATE *clp; WINDOW *win; size_t col, lno, spcnt, y, x; - clp = CLP(sp); win = CLSP(sp) ? CLSP(sp) : stdscr; /* @@ -548,13 +544,11 @@ cl_move(SCR *sp, size_t lno, size_t cno) int cl_refresh(SCR *sp, int repaint) { - GS *gp; CL_PRIVATE *clp; WINDOW *win; SCR *psp, *tsp; size_t y, x; - gp = sp->gp; clp = CLP(sp); win = CLSP(sp) ? CLSP(sp) : stdscr; @@ -576,11 +570,9 @@ cl_refresh(SCR *sp, int repaint) */ if (repaint || F_ISSET(clp, CL_LAYOUT)) { getyx(stdscr, y, x); - for (psp = sp; - psp != (void *)&sp->wp->scrq; psp = psp->q.cqe_next) - for (tsp = psp->q.cqe_next; - tsp != (void *)&sp->wp->scrq; - tsp = tsp->q.cqe_next) + for (psp = sp; psp != NULL; psp = TAILQ_NEXT(psp, q)) + for (tsp = TAILQ_NEXT(psp, q); tsp != NULL; + tsp = TAILQ_NEXT(tsp, q)) if (psp->roff == tsp->roff) { if (psp->coff + psp->cols + 1 == tsp->coff) cl_rdiv(psp); @@ -741,11 +733,9 @@ cl_suspend(SCR *sp, int *allowedp) struct termios t; CL_PRIVATE *clp; WINDOW *win; - GS *gp; size_t y, x; int changed; - gp = sp->gp; clp = CLP(sp); win = CLSP(sp) ? CLSP(sp) : stdscr; *allowedp = 1; diff --git a/dist/nvi/cl/cl_main.c b/external/bsd/nvi/dist/cl/cl_main.c similarity index 98% rename from dist/nvi/cl/cl_main.c rename to external/bsd/nvi/dist/cl/cl_main.c index 84cad2fee..c4d45ff27 100644 --- a/dist/nvi/cl/cl_main.c +++ b/external/bsd/nvi/dist/cl/cl_main.c @@ -1,5 +1,4 @@ -/* $NetBSD: cl_main.c,v 1.4 2011/09/16 16:13:41 joerg Exp $ */ - +/* $NetBSD: cl_main.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cl_main.c,v 10.54 2001/07/29 19:07:27 skimo Exp (Berkeley) Date: 2001/07/29 19:07:27"; +static const char sccsid[] = "Id: cl_main.c,v 10.54 2001/07/29 19:07:27 skimo Exp (Berkeley) Date: 2001/07/29 19:07:27 "; #endif /* not lint */ #include @@ -29,7 +28,7 @@ static const char sccsid[] = "Id: cl_main.c,v 10.54 2001/07/29 19:07:27 skimo Ex #include #include "../common/common.h" -#include "../ip/extern.h" +#include "ip_extern.h" #include "cl.h" #include "pathnames.h" diff --git a/dist/nvi/cl/cl_read.c b/external/bsd/nvi/dist/cl/cl_read.c similarity index 98% rename from dist/nvi/cl/cl_read.c rename to external/bsd/nvi/dist/cl/cl_read.c index 8e5b87686..db44647ab 100644 --- a/dist/nvi/cl/cl_read.c +++ b/external/bsd/nvi/dist/cl/cl_read.c @@ -1,5 +1,4 @@ -/* $NetBSD: cl_read.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: cl_read.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cl_read.c,v 10.29 2001/08/18 21:51:59 skimo Exp (Berkeley) Date: 2001/08/18 21:51:59"; +static const char sccsid[] = "Id: cl_read.c,v 10.29 2001/08/18 21:51:59 skimo Exp (Berkeley) Date: 2001/08/18 21:51:59 "; #endif /* not lint */ #include diff --git a/dist/nvi/cl/cl_screen.c b/external/bsd/nvi/dist/cl/cl_screen.c similarity index 98% rename from dist/nvi/cl/cl_screen.c rename to external/bsd/nvi/dist/cl/cl_screen.c index ef4ac3d08..ae1eaefe5 100644 --- a/dist/nvi/cl/cl_screen.c +++ b/external/bsd/nvi/dist/cl/cl_screen.c @@ -1,5 +1,4 @@ -/* $NetBSD: cl_screen.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: cl_screen.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cl_screen.c,v 10.56 2002/05/03 19:59:44 skimo Exp (Berkeley) Date: 2002/05/03 19:59:44"; +static const char sccsid[] = "Id: cl_screen.c,v 10.56 2002/05/03 19:59:44 skimo Exp (Berkeley) Date: 2002/05/03 19:59:44 "; #endif /* not lint */ #include @@ -95,7 +94,7 @@ cl_screen(SCR *sp, u_int32_t flags) if (F_ISSET(sp, SC_SCR_VI)) { F_CLR(sp, SC_SCR_VI); - if (sp->q.cqe_next != (void *)&sp->wp->scrq) { + if (TAILQ_NEXT(sp, q) != NULL) { (void)wmove(win, RLNO(sp, sp->rows), 0); wclrtobot(win); } @@ -185,11 +184,9 @@ static int cl_vi_init(SCR *sp) { CL_PRIVATE *clp; - GS *gp; char *o_cols, *o_lines, *o_term; const char *ttype; - gp = sp->gp; clp = CLP(sp); /* If already initialized, just set the terminal modes. */ @@ -518,7 +515,7 @@ cl_ex_end(GS *gp) * cl_getcap -- * Retrieve termcap/terminfo strings. * - * PUBLIC: int cl_getcap __P((SCR *, char *, char **)); + * PUBLIC: int cl_getcap __P((SCR *, const char *, char **)); */ int cl_getcap(SCR *sp, const char *name, char **elementp) diff --git a/dist/nvi/cl/cl_term.c b/external/bsd/nvi/dist/cl/cl_term.c similarity index 97% rename from dist/nvi/cl/cl_term.c rename to external/bsd/nvi/dist/cl/cl_term.c index 5655f7758..1a0fba9cc 100644 --- a/dist/nvi/cl/cl_term.c +++ b/external/bsd/nvi/dist/cl/cl_term.c @@ -1,5 +1,4 @@ -/* $NetBSD: cl_term.c,v 1.4 2011/11/23 19:25:27 tnozaki Exp $ */ - +/* $NetBSD: cl_term.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cl_term.c,v 10.31 2001/07/08 13:06:56 skimo Exp (Berkeley) Date: 2001/07/08 13:06:56"; +static const char sccsid[] = "Id: cl_term.c,v 10.31 2001/07/08 13:06:56 skimo Exp (Berkeley) Date: 2001/07/08 13:06:56 "; #endif /* not lint */ #include @@ -173,7 +172,7 @@ cl_term_init(SCR *sp) * Rework any function key mappings that were set before the * screen was initialized. */ - for (qp = sp->gp->seqq.lh_first; qp != NULL; qp = qp->q.le_next) + LIST_FOREACH(qp, &sp->gp->seqq, q) if (F_ISSET(qp, SEQ_FUNCMAP)) (void)cl_pfmap(sp, qp->stype, qp->input, qp->ilen, qp->output, qp->olen); @@ -192,11 +191,9 @@ cl_term_end(GS *gp) SEQ *qp, *nqp; /* Delete screen specific mappings. */ - for (qp = gp->seqq.lh_first; qp != NULL; qp = nqp) { - nqp = qp->q.le_next; + LIST_FOREACH_SAFE(qp, &gp->seqq, q, nqp) if (F_ISSET(qp, SEQ_SCREEN)) (void)seq_mdel(qp); - } return (0); } diff --git a/dist/nvi/clib/bsearch.c b/external/bsd/nvi/dist/clib/bsearch.c similarity index 98% rename from dist/nvi/clib/bsearch.c rename to external/bsd/nvi/dist/clib/bsearch.c index e31161415..bbf5897b8 100644 --- a/dist/nvi/clib/bsearch.c +++ b/external/bsd/nvi/dist/clib/bsearch.c @@ -1,5 +1,3 @@ -/* $NetBSD: bsearch.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - /* * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/env.c b/external/bsd/nvi/dist/clib/env.c similarity index 98% rename from dist/nvi/clib/env.c rename to external/bsd/nvi/dist/clib/env.c index ccd3593cc..bb13f2309 100644 --- a/dist/nvi/clib/env.c +++ b/external/bsd/nvi/dist/clib/env.c @@ -1,5 +1,3 @@ -/* $NetBSD: env.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - /* * Copyright (c) 1987, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/gethostname.c b/external/bsd/nvi/dist/clib/gethostname.c similarity index 83% rename from dist/nvi/clib/gethostname.c rename to external/bsd/nvi/dist/clib/gethostname.c index d53dbf94c..5b8e85acf 100644 --- a/dist/nvi/clib/gethostname.c +++ b/external/bsd/nvi/dist/clib/gethostname.c @@ -1,5 +1,3 @@ -/* $NetBSD: gethostname.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - #include "config.h" /* diff --git a/dist/nvi/clib/iswblank.c b/external/bsd/nvi/dist/clib/iswblank.c similarity index 75% rename from dist/nvi/clib/iswblank.c rename to external/bsd/nvi/dist/clib/iswblank.c index 930363e83..49e34cd5e 100644 --- a/dist/nvi/clib/iswblank.c +++ b/external/bsd/nvi/dist/clib/iswblank.c @@ -1,9 +1,7 @@ -/* $NetBSD: iswblank.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - #include "config.h" #if defined(LIBC_SCCS) && !defined(lint) -static const char sccsid[] = "Id: iswblank.c,v 1.1 2001/10/11 19:22:29 skimo Exp"; +static const char sccsid[] = "Id: iswblank.c,v 1.1 2001/10/11 19:22:29 skimo Exp "; #endif /* LIBC_SCCS and not lint */ #include diff --git a/dist/nvi/clib/memchr.c b/external/bsd/nvi/dist/clib/memchr.c similarity index 97% rename from dist/nvi/clib/memchr.c rename to external/bsd/nvi/dist/clib/memchr.c index ddeff5f66..367881e67 100644 --- a/dist/nvi/clib/memchr.c +++ b/external/bsd/nvi/dist/clib/memchr.c @@ -1,5 +1,3 @@ -/* $NetBSD: memchr.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/memset.c b/external/bsd/nvi/dist/clib/memset.c similarity index 98% rename from dist/nvi/clib/memset.c rename to external/bsd/nvi/dist/clib/memset.c index ae463db53..29dfaad75 100644 --- a/dist/nvi/clib/memset.c +++ b/external/bsd/nvi/dist/clib/memset.c @@ -1,5 +1,3 @@ -/* $NetBSD: memset.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/mkstemp.c b/external/bsd/nvi/dist/clib/mkstemp.c similarity index 97% rename from dist/nvi/clib/mkstemp.c rename to external/bsd/nvi/dist/clib/mkstemp.c index d7a8060e9..5a84e4983 100644 --- a/dist/nvi/clib/mkstemp.c +++ b/external/bsd/nvi/dist/clib/mkstemp.c @@ -1,5 +1,3 @@ -/* $NetBSD: mkstemp.c,v 1.2 2011/03/21 14:53:02 tnozaki Exp $ */ - /* * Copyright (c) 1987, 1993 * The Regents of the University of California. All rights reserved. @@ -119,7 +117,7 @@ _gettemp(char *path, register int *doopen) if (*trv == 'z') *trv++ = 'a'; else { - if (isdigit((unsigned char)*trv)) + if (isdigit(*trv)) *trv = 'a'; else ++*trv; diff --git a/dist/nvi/clib/mmap.c b/external/bsd/nvi/dist/clib/mmap.c similarity index 93% rename from dist/nvi/clib/mmap.c rename to external/bsd/nvi/dist/clib/mmap.c index 4cf6e5516..8f6d6124d 100644 --- a/dist/nvi/clib/mmap.c +++ b/external/bsd/nvi/dist/clib/mmap.c @@ -1,5 +1,3 @@ -/* $NetBSD: mmap.c,v 1.1.1.2 2008/05/18 14:29:38 aymeric Exp $ */ - #include "config.h" #include diff --git a/dist/nvi/clib/snprintf.c b/external/bsd/nvi/dist/clib/snprintf.c similarity index 90% rename from dist/nvi/clib/snprintf.c rename to external/bsd/nvi/dist/clib/snprintf.c index b814660df..935522ce5 100644 --- a/dist/nvi/clib/snprintf.c +++ b/external/bsd/nvi/dist/clib/snprintf.c @@ -1,5 +1,3 @@ -/* $NetBSD: snprintf.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - #include "config.h" #include diff --git a/dist/nvi/clib/strdup.c b/external/bsd/nvi/dist/clib/strdup.c similarity index 97% rename from dist/nvi/clib/strdup.c rename to external/bsd/nvi/dist/clib/strdup.c index 342a64d77..6bc36ef07 100644 --- a/dist/nvi/clib/strdup.c +++ b/external/bsd/nvi/dist/clib/strdup.c @@ -1,5 +1,3 @@ -/* $NetBSD: strdup.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - /* * Copyright (c) 1988, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/strpbrk.c b/external/bsd/nvi/dist/clib/strpbrk.c similarity index 97% rename from dist/nvi/clib/strpbrk.c rename to external/bsd/nvi/dist/clib/strpbrk.c index e6cc9533c..4870dbaf1 100644 --- a/dist/nvi/clib/strpbrk.c +++ b/external/bsd/nvi/dist/clib/strpbrk.c @@ -1,5 +1,3 @@ -/* $NetBSD: strpbrk.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - /* * Copyright (c) 1985, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/strsep.c b/external/bsd/nvi/dist/clib/strsep.c similarity index 97% rename from dist/nvi/clib/strsep.c rename to external/bsd/nvi/dist/clib/strsep.c index cf92a4c94..1df62311a 100644 --- a/dist/nvi/clib/strsep.c +++ b/external/bsd/nvi/dist/clib/strsep.c @@ -1,5 +1,3 @@ -/* $NetBSD: strsep.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/strtol.c b/external/bsd/nvi/dist/clib/strtol.c similarity index 98% rename from dist/nvi/clib/strtol.c rename to external/bsd/nvi/dist/clib/strtol.c index 042e01f7e..cce980456 100644 --- a/dist/nvi/clib/strtol.c +++ b/external/bsd/nvi/dist/clib/strtol.c @@ -1,5 +1,3 @@ -/* $NetBSD: strtol.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - /*- * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/strtoul.c b/external/bsd/nvi/dist/clib/strtoul.c similarity index 98% rename from dist/nvi/clib/strtoul.c rename to external/bsd/nvi/dist/clib/strtoul.c index c61030d57..2fa7ee15b 100644 --- a/dist/nvi/clib/strtoul.c +++ b/external/bsd/nvi/dist/clib/strtoul.c @@ -1,5 +1,3 @@ -/* $NetBSD: strtoul.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - /* * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/clib/vsnprintf.c b/external/bsd/nvi/dist/clib/vsnprintf.c similarity index 86% rename from dist/nvi/clib/vsnprintf.c rename to external/bsd/nvi/dist/clib/vsnprintf.c index e9533e30a..a1b013ad1 100644 --- a/dist/nvi/clib/vsnprintf.c +++ b/external/bsd/nvi/dist/clib/vsnprintf.c @@ -1,5 +1,3 @@ -/* $NetBSD: vsnprintf.c,v 1.1.1.2 2008/05/18 14:29:39 aymeric Exp $ */ - #include "config.h" #include diff --git a/dist/nvi/common/api.c b/external/bsd/nvi/dist/common/api.c similarity index 92% rename from dist/nvi/common/api.c rename to external/bsd/nvi/dist/common/api.c index 9d2a2720e..18e4ebb0f 100644 --- a/dist/nvi/common/api.c +++ b/external/bsd/nvi/dist/common/api.c @@ -1,5 +1,4 @@ -/* $NetBSD: api.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: api.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -14,7 +13,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: api.c,v 8.40 2002/06/08 19:30:33 skimo Exp (Berkeley) Date: 2002/06/08 19:30:33"; +static const char sccsid[] = "Id: api.c,v 8.40 2002/06/08 19:30:33 skimo Exp (Berkeley) Date: 2002/06/08 19:30:33 "; #endif /* not lint */ #include @@ -51,19 +50,16 @@ api_fscreen(int id, char *name) gp = __global_list; /* Search the displayed lists. */ - for (wp = gp->dq.cqh_first; - wp != (void *)&gp->dq; wp = wp->q.cqe_next) - for (tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) - if (name == NULL) { - if (id == tsp->id) + TAILQ_FOREACH(wp, &gp->dq, q) + TAILQ_FOREACH(tsp, &wp->scrq, q) + if (name == NULL) { + if (id == tsp->id) + return (tsp); + } else if (!strcmp(name, tsp->frp->name)) return (tsp); - } else if (!strcmp(name, tsp->frp->name)) - return (tsp); /* Search the hidden list. */ - for (tsp = gp->hq.cqh_first; - tsp != (void *)&gp->hq; tsp = tsp->q.cqe_next) + TAILQ_FOREACH (tsp, &gp->hq, q) if (name == NULL) { if (id == tsp->id) return (tsp); @@ -217,11 +213,11 @@ api_nextmark(SCR *sp, int next, char *namep) { LMARK *mp; - mp = sp->ep->marks.lh_first; + mp = LIST_FIRST(&sp->ep->marks); if (next) - for (; mp != NULL; mp = mp->q.le_next) + for (; mp != NULL; mp = LIST_NEXT(mp, q)) if (mp->name == *namep) { - mp = mp->q.le_next; + mp = LIST_NEXT(mp, q); break; } if (mp == NULL) @@ -406,7 +402,7 @@ api_unmap(SCR *sp, char *name) * If the option is of type boolean, boolvalue is (un)set * according to the value; otherwise boolvalue is -1. * - * PUBLIC: int api_opts_get __P((SCR *, CHAR_T *, char **, int *)); + * PUBLIC: int api_opts_get __P((SCR *, const CHAR_T *, char **, int *)); */ int api_opts_get(SCR *sp, const CHAR_T *name, char **value, int *boolvalue) @@ -438,7 +434,7 @@ api_opts_get(SCR *sp, const CHAR_T *name, char **value, int *boolvalue) case OPT_STR: if (O_STR(sp, offset) == NULL) { MALLOC_RET(sp, *value, char *, 2); - value[0] = '\0'; + value[0][0] = '\0'; } else { MALLOC_RET(sp, *value, char *, strlen(O_STR(sp, offset)) + 1); @@ -453,7 +449,7 @@ api_opts_get(SCR *sp, const CHAR_T *name, char **value, int *boolvalue) * api_opts_set -- * Set options. * - * PUBLIC: int api_opts_set __P((SCR *, CHAR_T *, char *, u_long, int)); + * PUBLIC: int api_opts_set __P((SCR *, const CHAR_T *, const char *, u_long, int)); */ int api_opts_set(SCR *sp, const CHAR_T *name, @@ -529,7 +525,7 @@ api_tagq_new(SCR *sp, char *tag) /* Allocate and initialize the tag queue structure. */ len = strlen(tag); CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1); - CIRCLEQ_INIT(&tqp->tagq); + TAILQ_INIT(&tqp->tagq); tqp->tag = tqp->buf; memcpy(tqp->tag, tag, (tqp->tlen = len) + 1); @@ -566,7 +562,7 @@ api_tagq_add(SCR *sp, TAGQ *tqp, char *filename, char *search, char *msg) CHAR2INT(sp, msg, mlen + 1, wp, wlen); MEMCPYW(tp->msg, wp, wlen); tp->mlen = mlen; - CIRCLEQ_INSERT_TAIL(&tqp->tagq, tp, q); + TAILQ_INSERT_TAIL(&tqp->tagq, tp, q); alloc_err: return; @@ -585,12 +581,12 @@ api_tagq_push(SCR *sp, TAGQ **tqpp) *tqpp = 0; /* Check to see if we found anything. */ - if (tqp->tagq.cqh_first == (void *)&tqp->tagq) { + if (TAILQ_EMPTY(&tqp->tagq)) { free(tqp); return 0; } - tqp->current = tqp->tagq.cqh_first; + tqp->current = TAILQ_FIRST(&tqp->tagq); if (tagq_push(sp, tqp, 0, 0)) return 1; diff --git a/dist/nvi/common/args.h b/external/bsd/nvi/dist/common/args.h similarity index 84% rename from dist/nvi/common/args.h rename to external/bsd/nvi/dist/common/args.h index 92c461c26..daaed8445 100644 --- a/dist/nvi/common/args.h +++ b/external/bsd/nvi/dist/common/args.h @@ -1,5 +1,4 @@ -/* $NetBSD: args.h,v 1.1.1.2 2008/05/18 14:29:40 aymeric Exp $ */ - +/* $NetBSD: args.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: args.h,v 10.2 1996/03/06 19:50:07 bostic Exp (Berkeley) Date: 1996/03/06 19:50:07 + * Id: args.h,v 10.2 1996/03/06 19:50:07 bostic Exp (Berkeley) Date: 1996/03/06 19:50:07 */ /* diff --git a/dist/nvi/common/common.h b/external/bsd/nvi/dist/common/common.h similarity index 90% rename from dist/nvi/common/common.h rename to external/bsd/nvi/dist/common/common.h index 8d1dc2432..5dc30c740 100644 --- a/dist/nvi/common/common.h +++ b/external/bsd/nvi/dist/common/common.h @@ -1,5 +1,4 @@ -/* $NetBSD: common.h,v 1.3 2012/01/27 16:41:22 christos Exp $ */ - +/* $NetBSD: common.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: common.h,v 10.20 2002/03/02 23:36:22 skimo Exp (Berkeley) Date: 2002/03/02 23:36:22 + * Id: common.h,v 10.20 2002/03/02 23:36:22 skimo Exp (Berkeley) Date: 2002/03/02 23:36:22 */ /* @@ -28,7 +27,7 @@ * on most machines to which we're porting vi, and we want to include * them in a very specific order, regardless. */ -#include "db.h" +#include "vi_db.h" #include /* @@ -59,7 +58,7 @@ typedef struct _text TEXT; typedef struct _win WIN; /* Autoindent state. */ -typedef enum { C_NOTSET, C_CARATSET, C_NOCHANGE, C_ZEROSET } carat_t; +typedef enum { C_NOTSET, C_CARATSET, C_ZEROSET } carat_t; /* Busy message types. */ typedef enum { BUSY_ON = 1, BUSY_OFF, BUSY_UPDATE } busy_t; @@ -105,8 +104,8 @@ typedef enum { SEQ_ABBREV, SEQ_COMMAND, SEQ_INPUT } seq_t; #include "screen.h" /* Required by exf.h. */ #include "exf.h" #include "mem.h" -#if defined(USE_DB4_LOGGING) +#ifndef USE_BUNDLED_DB #include "vi_auto.h" #endif -#include "extern.h" +#include "common_extern.h" diff --git a/dist/nvi/common/conv.c b/external/bsd/nvi/dist/common/conv.c similarity index 90% rename from dist/nvi/common/conv.c rename to external/bsd/nvi/dist/common/conv.c index 042af1248..805a92dfb 100644 --- a/dist/nvi/common/conv.c +++ b/external/bsd/nvi/dist/common/conv.c @@ -1,5 +1,4 @@ -/* $NetBSD: conv.c,v 1.6 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: conv.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: conv.c,v 1.27 2001/08/18 21:41:41 skimo Exp (Berkeley) Date: 2001/08/18 21:41:41"; +static const char sccsid[] = "Id: conv.c,v 1.27 2001/08/18 21:41:41 skimo Exp (Berkeley) Date: 2001/08/18 21:41:41 "; #endif /* not lint */ #include @@ -62,6 +61,21 @@ raw2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, size_t *tolen, return 0; } +#ifndef ERROR_ON_CONVERT +#define HANDLE_ICONV_ERROR(o, i, ol, il) do { \ + *o++ = *i++; \ + ol--; il--; \ + } while (/*CONSTCOND*/0) +#define HANDLE_MBR_ERROR(n, mbs, d, s) do { \ + d = s; \ + MEMSET(&mbs, 0, 1); \ + n = 1; \ + } while (/*CONSTCOND*/0) +#else +#define HANDLE_ICONV_ERROR goto err +#define HANDLE_MBR_ERROR goto err +#endif + #define CONV_BUFFER_SIZE 512 /* fill the buffer with codeset encoding of string pointed to by str * left has the number of bytes left in str and is adjusted @@ -74,9 +88,9 @@ raw2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, size_t *tolen, char *bp = buffer; \ outleft = CONV_BUFFER_SIZE; \ errno = 0; \ - if (iconv(id, (const char **)&str, &left, &bp, &outleft) == (size_t)-1 \ - /* && errno != E2BIG */) \ - goto err; \ + if (iconv(id, (const char **)&str, &left, &bp, &outleft) \ + == (size_t)-1 /* && errno != E2BIG */) \ + HANDLE_ICONV_ERROR(bp, str, outleft, left); \ if ((len = CONV_BUFFER_SIZE - outleft) == 0) { \ error = -left; \ goto err; \ @@ -120,7 +134,8 @@ default_char2int(SCR *sp, const char * str, ssize_t len, CONVWIN *cw, n = mbrtowc((*tostr)+i, src+j, len-j, &mbs); /* NULL character converted */ if (n == (size_t)-2) error = -(len-j); - if (n == (size_t)-1 || n == (size_t)-2) goto err; + if (n == (size_t)-1 || n == (size_t)-2) + HANDLE_MBR_ERROR(n, mbs, (*tostr)[i], src[j]); if (n == 0) n = 1; j += n; if (++i >= *blen) { @@ -243,8 +258,8 @@ default_int2char(SCR *sp, const CHAR_T * str, ssize_t len, CONVWIN *cw, } \ errno = 0; \ if (iconv(id, &bp, &len, &obp, &outleft) == (size_t)-1 && \ - errno != E2BIG) \ - goto err; \ + errno != E2BIG) \ + HANDLE_ICONV_ERROR(obp, bp, outleft, len); \ offset = cw->blen1 - outleft; \ } \ } while (0) @@ -268,7 +283,8 @@ default_int2char(SCR *sp, const CHAR_T * str, ssize_t len, CONVWIN *cw, for (i = 0, j = 0; i < (size_t)len; ++i) { n = wcrtomb(dst+j, str[i], &mbs); - if (n == (size_t)-1) goto err; + if (n == (size_t)-1) + HANDLE_MBR_ERROR(n, mbs, dst[j], str[i]); j += n; if (buflen < j + MB_CUR_MAX) { if (id != (iconv_t)-1) { diff --git a/dist/nvi/common/conv.h b/external/bsd/nvi/dist/common/conv.h similarity index 91% rename from dist/nvi/common/conv.h rename to external/bsd/nvi/dist/common/conv.h index f655ac3ad..f1c1e38a4 100644 --- a/dist/nvi/common/conv.h +++ b/external/bsd/nvi/dist/common/conv.h @@ -1,5 +1,4 @@ -/* $NetBSD: conv.h,v 1.4 2009/04/19 02:28:19 tnozaki Exp $ */ - +/* $NetBSD: conv.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #define KEY_COL(sp, ch) \ (INTISWIDE(ch) ? \ (CHAR_WIDTH(sp, ch) >= 0) ? \ diff --git a/dist/nvi/common/cut.c b/external/bsd/nvi/dist/common/cut.c similarity index 90% rename from dist/nvi/common/cut.c rename to external/bsd/nvi/dist/common/cut.c index 971087fe2..9ae203f62 100644 --- a/dist/nvi/common/cut.c +++ b/external/bsd/nvi/dist/common/cut.c @@ -1,5 +1,4 @@ -/* $NetBSD: cut.c,v 1.9 2012/01/27 16:41:22 christos Exp $ */ - +/* $NetBSD: cut.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: cut.c,v 10.18 2001/06/25 15:19:09 skimo Exp (Berkeley) Date: 2001/06/25 15:19:09"; +static const char sccsid[] = "Id: cut.c,v 10.18 2001/06/25 15:19:09 skimo Exp (Berkeley) Date: 2001/06/25 15:19:09 "; #endif /* not lint */ #include @@ -103,7 +102,7 @@ cut(SCR *sp, ARG_CHAR_T *namep, MARK *fm, MARK *tm, int flags) copy_one = 1; cb_rotate(sp); } - if ((append = ISUPPER(name)) == 1) { + if ((append = ISUPPER(name))) { if (!copy_one) copy_def = 1; name = TOLOWER(name); @@ -111,7 +110,7 @@ cut(SCR *sp, ARG_CHAR_T *namep, MARK *fm, MARK *tm, int flags) namecb: CBNAME(sp, cbp, name); } else if (LF_ISSET(CUT_NUMREQ) || (LF_ISSET(CUT_NUMOPT) && (LF_ISSET(CUT_LINEMODE) || fm->lno != tm->lno))) { - name = '1'; + name = L('1'); cb_rotate(sp); goto namecb; } else @@ -125,7 +124,7 @@ copyloop: if (cbp == NULL) { CALLOC_RET(sp, cbp, CB *, 1, sizeof(CB)); cbp->name = name; - CIRCLEQ_INIT(&cbp->textq); + TAILQ_INIT(&cbp->textq); LIST_INSERT_HEAD(&sp->wp->cutq, cbp, q); } else if (!append) { text_lfree(&cbp->textq); @@ -164,7 +163,7 @@ copyloop: sp->wp->dcbp = cbp; /* Repoint the default buffer on each pass. */ if (copy_one) { /* Copy into numeric buffer 1. */ - name = '1'; + name = L('1'); CBNAME(sp, cbp, name); copy_one = 0; goto copyloop; @@ -193,33 +192,33 @@ cb_rotate(SCR *sp) CB *cbp, *del_cbp; del_cbp = NULL; - for (cbp = sp->wp->cutq.lh_first; cbp != NULL; cbp = cbp->q.le_next) + LIST_FOREACH(cbp, &sp->wp->cutq, q) switch(cbp->name) { - case '1': - cbp->name = '2'; + case L('1'): + cbp->name = L('2'); break; - case '2': - cbp->name = '3'; + case L('2'): + cbp->name = L('3'); break; - case '3': - cbp->name = '4'; + case L('3'): + cbp->name = L('4'); break; - case '4': - cbp->name = '5'; + case L('4'): + cbp->name = L('5'); break; - case '5': - cbp->name = '6'; + case L('5'): + cbp->name = L('6'); break; - case '6': - cbp->name = '7'; + case L('6'): + cbp->name = L('7'); break; - case '7': - cbp->name = '8'; + case L('7'): + cbp->name = L('8'); break; - case '8': - cbp->name = '9'; + case L('8'): + cbp->name = L('9'); break; - case '9': + case L('9'): del_cbp = cbp; break; } @@ -263,7 +262,7 @@ cut_line(SCR *sp, db_recno_t lno, size_t fcno, size_t clen, CB *cbp) } /* Append to the end of the cut buffer. */ - CIRCLEQ_INSERT_TAIL(&cbp->textq, tp, q); + TAILQ_INSERT_TAIL(&cbp->textq, tp, q); cbp->len += tp->len; return (0); @@ -281,8 +280,8 @@ cut_close(WIN *wp) CB *cbp; /* Free cut buffer list. */ - while ((cbp = wp->cutq.lh_first) != NULL) { - if (cbp->textq.cqh_first != (void *)&cbp->textq) + while ((cbp = LIST_FIRST(&wp->cutq)) != NULL) { + if (!TAILQ_EMPTY(&cbp->textq)) text_lfree(&cbp->textq); LIST_REMOVE(cbp, q); free(cbp); @@ -290,7 +289,7 @@ cut_close(WIN *wp) /* Free default cut storage. */ cbp = &wp->dcb_store; - if (cbp->textq.cqh_first != (void *)&cbp->textq) + if (!TAILQ_EMPTY(&cbp->textq)) text_lfree(&cbp->textq); } @@ -333,8 +332,8 @@ text_lfree(TEXTH *headp) { TEXT *tp; - while ((tp = headp->cqh_first) != (void *)headp) { - CIRCLEQ_REMOVE(headp, tp, q); + while ((tp = TAILQ_FIRST(headp)) != NULL) { + TAILQ_REMOVE(headp, tp, q); text_free(tp); } } diff --git a/dist/nvi/common/cut.h b/external/bsd/nvi/dist/common/cut.h similarity index 88% rename from dist/nvi/common/cut.h rename to external/bsd/nvi/dist/common/cut.h index e4bcf6d6d..16ddad795 100644 --- a/dist/nvi/common/cut.h +++ b/external/bsd/nvi/dist/common/cut.h @@ -1,5 +1,4 @@ -/* $NetBSD: cut.h,v 1.4 2011/03/21 14:53:02 tnozaki Exp $ */ - +/* $NetBSD: cut.h,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,11 +7,11 @@ * * See the LICENSE file for redistribution information. * - * Id: cut.h,v 10.9 2000/07/22 17:31:18 skimo Exp (Berkeley) Date: 2000/07/22 17:31:18 + * Id: cut.h,v 10.9 2000/07/22 17:31:18 skimo Exp (Berkeley) Date: 2000/07/22 17:31:18 */ typedef struct _texth TEXTH; /* TEXT list head structure. */ -CIRCLEQ_HEAD(_texth, _text); +TAILQ_HEAD(_texth, _text); /* Cut buffers. */ struct _cb { @@ -28,7 +27,7 @@ struct _cb { /* Lines/blocks of text. */ struct _text { /* Text: a linked list of lines. */ - CIRCLEQ_ENTRY(_text) q; /* Linked list of text structures. */ + TAILQ_ENTRY(_text) q; /* Linked list of text structures. */ CHAR_T *lb; /* Line buffer. */ size_t lb_len; /* Line buffer length. */ size_t len; /* Line length. */ @@ -67,8 +66,7 @@ struct _text { /* Text: a linked list of lines. */ */ #define CBNAME(sp, cbp, nch) { \ ARG_CHAR_T L__name; \ - L__name = ISUPPER(nch) ? \ - TOLOWER(nch) : (nch); \ + L__name = ISUPPER(nch) ? TOLOWER(nch) : (nch); \ for (cbp = sp->wp->cutq.lh_first; \ cbp != NULL; cbp = cbp->q.le_next) \ if (cbp->name == L__name) \ diff --git a/dist/nvi/common/db1.c b/external/bsd/nvi/dist/common/db1.c similarity index 99% rename from dist/nvi/common/db1.c rename to external/bsd/nvi/dist/common/db1.c index 082e8bee1..c99cca907 100644 --- a/dist/nvi/common/db1.c +++ b/external/bsd/nvi/dist/common/db1.c @@ -11,7 +11,7 @@ #include -#include "../common/db.h" +#include "../common/vi_db.h" #include "../common/dbinternal.h" /* diff --git a/external/bsd/nvi/dist/common/dbinternal.h b/external/bsd/nvi/dist/common/dbinternal.h new file mode 100644 index 000000000..4ce2e0684 --- /dev/null +++ b/external/bsd/nvi/dist/common/dbinternal.h @@ -0,0 +1,6 @@ +/* $NetBSD: dbinternal.h,v 1.2 2013/11/29 22:56:19 christos Exp $ */ +#if !defined(db_env_create) || defined(USE_DB1) +int db_env_create(DB_ENV **, u_int32_t); +#endif +int db_create(DB **, DB_ENV *, u_int32_t); +const char *db_strerror(int); diff --git a/dist/nvi/common/delete.c b/external/bsd/nvi/dist/common/delete.c similarity index 96% rename from dist/nvi/common/delete.c rename to external/bsd/nvi/dist/common/delete.c index 36e52e973..7ee437f95 100644 --- a/dist/nvi/common/delete.c +++ b/external/bsd/nvi/dist/common/delete.c @@ -1,5 +1,4 @@ -/* $NetBSD: delete.c,v 1.6 2012/01/27 16:41:22 christos Exp $ */ - +/* $NetBSD: delete.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: delete.c,v 10.17 2001/06/25 15:19:09 skimo Exp (Berkeley) Date: 2001/06/25 15:19:09"; +static const char sccsid[] = "Id: delete.c,v 10.17 2001/06/25 15:19:09 skimo Exp (Berkeley) Date: 2001/06/25 15:19:09 "; #endif /* not lint */ #include diff --git a/dist/nvi/common/dldb.c b/external/bsd/nvi/dist/common/dldb.c similarity index 93% rename from dist/nvi/common/dldb.c rename to external/bsd/nvi/dist/common/dldb.c index 685079ded..2aaf56817 100644 --- a/dist/nvi/common/dldb.c +++ b/external/bsd/nvi/dist/common/dldb.c @@ -1,5 +1,4 @@ -/* $NetBSD: dldb.c,v 1.1.1.2 2008/05/18 14:29:41 aymeric Exp $ */ - +/* $NetBSD: dldb.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #include "config.h" #include diff --git a/dist/nvi/common/exf.c b/external/bsd/nvi/dist/common/exf.c similarity index 91% rename from dist/nvi/common/exf.c rename to external/bsd/nvi/dist/common/exf.c index de9a18623..1d4f62c0e 100644 --- a/dist/nvi/common/exf.c +++ b/external/bsd/nvi/dist/common/exf.c @@ -1,5 +1,4 @@ -/* $NetBSD: exf.c,v 1.5 2012/07/15 09:13:59 spz Exp $ */ - +/* $NetBSD: exf.c,v 1.7 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: exf.c,v 10.72 2003/08/10 09:44:01 skimo Exp (Berkeley) Date: 2003/08/10 09:44:01"; +static const char sccsid[] = "Id: exf.c,v 10.72 2003/08/10 09:44:01 skimo Exp (Berkeley) Date: 2003/08/10 09:44:01 "; #endif /* not lint */ #include @@ -45,7 +44,6 @@ static int file_backup __P((SCR *, const char *, const char *)); static void file_cinit __P((SCR *)); static void file_comment __P((SCR *)); static int file_spath __P((SCR *, FREF *, struct stat *, int *)); -static int db_setup __P((SCR *sp, EXF *ep)); /* * file_add -- @@ -60,7 +58,7 @@ static int db_setup __P((SCR *sp, EXF *ep)); * vi now remembers the last location in any file that it has ever edited, * not just the previously edited file. * - * PUBLIC: FREF *file_add __P((SCR *, char *)); + * PUBLIC: FREF *file_add __P((SCR *, const char *)); */ FREF * file_add(SCR *sp, const char *name) @@ -79,15 +77,12 @@ file_add(SCR *sp, const char *name) */ gp = sp->gp; if (name != NULL) - for (frp = gp->frefq.cqh_first; - frp != (FREF *)(void *)&gp->frefq; frp = frp->q.cqe_next) { + TAILQ_FOREACH_SAFE(frp, &gp->frefq, q, tfrp) { if (frp->name == NULL) { - tfrp = frp->q.cqe_next; - CIRCLEQ_REMOVE(&gp->frefq, frp, q); + TAILQ_REMOVE(&gp->frefq, frp, q); if (frp->name != NULL) free(frp->name); free(frp); - frp = tfrp; continue; } if (!strcmp(frp->name, name)) @@ -112,7 +107,7 @@ file_add(SCR *sp, const char *name) } /* Append into the chain of file names. */ - CIRCLEQ_INSERT_TAIL(&gp->frefq, frp, q); + TAILQ_INSERT_TAIL(&gp->frefq, frp, q); return (frp); } @@ -131,10 +126,10 @@ file_init(SCR *sp, FREF *frp, char *rcv_name, int flags) EXF *ep; struct stat sb; size_t psize; - int fd, exists, open_err, readonly, stolen; + int fd, exists, open_err, readonly; char *oname = NULL, tname[MAXPATHLEN]; - stolen = open_err = readonly = 0; + open_err = readonly = 0; /* * If the file is a recovery file, let the recovery code handle it. @@ -167,8 +162,7 @@ file_init(SCR *sp, FREF *frp, char *rcv_name, int flags) */ if (exists) { EXF *exfp; - for (exfp = sp->gp->exfq.cqh_first; - exfp != (EXF *)&sp->gp->exfq; exfp = exfp->q.cqe_next) { + TAILQ_FOREACH(exfp, &sp->gp->exfq, q) { if (exfp->mdev == sb.st_dev && exfp->minode == sb.st_ino && (exfp != sp->ep || exfp->refcnt > 1)) { @@ -186,7 +180,7 @@ file_init(SCR *sp, FREF *frp, char *rcv_name, int flags) * Set initial EXF flag bits. */ CALLOC_RET(sp, ep, EXF *, 1, sizeof(EXF)); - CIRCLEQ_INIT(&ep->scrq); + TAILQ_INIT(&ep->scrq); sp->c_lno = ep->c_nlines = OOBLNO; ep->fd = ep->rcv_fd = ep->fcntl_fd = -1; F_SET(ep, F_FIRSTMODIFY); @@ -265,68 +259,9 @@ file_init(SCR *sp, FREF *frp, char *rcv_name, int flags) F_SET(ep, F_MODIFIED); } - if (db_setup(sp, ep)) - goto err; - - /* Open a db structure. */ - if ((sp->db_error = db_create(&ep->db, 0, 0)) != 0) { - msgq(sp, M_DBERR, "db_create"); - goto err; - } - - ep->db->set_re_delim(ep->db, '\n'); /* Always set. */ - ep->db->set_pagesize(ep->db, psize); - ep->db->set_flags(ep->db, DB_RENUMBER | DB_SNAPSHOT); - if (rcv_name == NULL) - ep->db->set_re_source(ep->db, oname); - -/* - * Don't let db use mmap when using fcntl for locking - */ -#ifdef HAVE_LOCK_FCNTL -#define NOMMAPIFFCNTL DB_NOMMAP -#else -#define NOMMAPIFFCNTL 0 -#endif - -#define _DB_OPEN_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH - - if ((sp->db_error = db_open(ep->db, ep->rcv_path, DB_RECNO, - ((rcv_name == 0) ? DB_TRUNCATE : 0) | VI_DB_THREAD | NOMMAPIFFCNTL, - _DB_OPEN_MODE)) != 0) { - msgq_str(sp, - M_DBERR, rcv_name == NULL ? oname : rcv_name, "%s"); - /* - * !!! - * Historically, vi permitted users to edit files that couldn't - * be read. This isn't useful for single files from a command - * line, but it's quite useful for "vi *.c", since you can skip - * past files that you can't read. - */ - ep->db = NULL; /* Don't close it; it wasn't opened */ - - if (LF_ISSET(FS_OPENERR)) - goto err; - - open_err = 1; - goto oerr; - } - - /* re_source is loaded into the database. - * Close it and reopen it in the environment. - */ - if ((sp->db_error = ep->db->close(ep->db, 0))) { - msgq(sp, M_DBERR, "close"); - goto err; - } - if ((sp->db_error = db_create(&ep->db, ep->env, 0)) != 0) { - msgq(sp, M_DBERR, "db_create 2"); - goto err; - } - if ((sp->db_error = db_open(ep->db, ep->rcv_path, DB_RECNO, - VI_DB_THREAD | NOMMAPIFFCNTL, _DB_OPEN_MODE)) != 0) { - msgq_str(sp, - M_DBERR, ep->rcv_path, "%s"); + if (db_init(sp, ep, rcv_name, oname, psize, &open_err)) { + if (open_err && !LF_ISSET(FS_OPENERR)) + goto oerr; goto err; } @@ -467,7 +402,7 @@ no_lock: /* Switch... */ ++ep->refcnt; - CIRCLEQ_INSERT_HEAD(&ep->scrq, sp, eq); + TAILQ_INSERT_HEAD(&ep->scrq, sp, eq); sp->ep = ep; sp->frp = frp; @@ -485,7 +420,7 @@ no_lock: /* Append into the chain of file structures. */ if (ep->refcnt == 1) - CIRCLEQ_INSERT_TAIL(&sp->gp->exfq, ep, q); + TAILQ_INSERT_TAIL(&sp->gp->exfq, ep, q); return (0); @@ -506,7 +441,7 @@ oerr: if (F_ISSET(ep, F_RCV_ON)) ep->rcv_path = NULL; } if (ep->db != NULL) { - (void)ep->db->close(ep->db, DB_NOSYNC); + (void)db_close(ep->db); ep->db = NULL; } free(ep); @@ -706,7 +641,7 @@ file_end(SCR *sp, EXF *ep, int force) */ if (ep == NULL) ep = sp->ep; - CIRCLEQ_REMOVE(&ep->scrq, sp, eq); + TAILQ_REMOVE(&ep->scrq, sp, eq); if (--ep->refcnt != 0) return (0); @@ -739,7 +674,7 @@ file_end(SCR *sp, EXF *ep, int force) free(frp->tname); frp->tname = NULL; if (F_ISSET(frp, FR_TMPFILE)) { - CIRCLEQ_REMOVE(&sp->gp->frefq, frp, q); + TAILQ_REMOVE(&sp->gp->frefq, frp, q); if (frp->name != NULL) free(frp->name); free(frp); @@ -753,10 +688,10 @@ file_end(SCR *sp, EXF *ep, int force) * Close the db structure. */ if (ep->db->close != NULL) { - if ((sp->db_error = ep->db->close(ep->db, DB_NOSYNC)) != 0 && + if ((sp->db_error = db_close(ep->db)) != 0 && !force) { msgq_str(sp, M_DBERR, frp->name, "241|%s: close"); - CIRCLEQ_INSERT_HEAD(&ep->scrq, sp, eq); + TAILQ_INSERT_HEAD(&ep->scrq, sp, eq); ++ep->refcnt; return (1); } @@ -774,11 +709,11 @@ file_end(SCR *sp, EXF *ep, int force) if (ep->env) { DB_ENV *env; - ep->env->close(ep->env, 0); + db_env_close(ep->env, 0); ep->env = 0; - if ((sp->db_error = db_env_create(&env, 0))) + if ((sp->db_error = db_env_create(&env, 0)) != 0) msgq(sp, M_DBERR, "env_create"); - if ((sp->db_error = db_env_remove(env, ep->env_path, 0))) + if ((sp->db_error = db_env_remove(env, ep->env_path, 0)) != 0) msgq(sp, M_DBERR, "env->remove"); if (ep->env_path != NULL && rmdir(ep->env_path)) msgq_str(sp, M_SYSERR, ep->env_path, "242|%s: remove"); @@ -799,7 +734,7 @@ file_end(SCR *sp, EXF *ep, int force) if (ep->rcv_mpath != NULL && unlink(ep->rcv_mpath)) msgq_str(sp, M_SYSERR, ep->rcv_mpath, "243|%s: remove"); } - CIRCLEQ_REMOVE(&sp->gp->exfq, ep, q); + TAILQ_REMOVE(&sp->gp->exfq, ep, q); if (ep->fd != -1) (void)close(ep->fd); if (ep->fcntl_fd != -1) @@ -1481,7 +1416,7 @@ file_aw(SCR *sp, int flags) * If the user edits a temporary file, there may be times when there is no * alternative file name. A name argument of NULL turns it off. * - * PUBLIC: void set_alt_name __P((SCR *, char *)); + * PUBLIC: void set_alt_name __P((SCR *, const char *)); */ void set_alt_name(SCR *sp, const char *name) @@ -1592,59 +1527,3 @@ file_lock(SCR *sp, char *name, int *fdp, int fd, int iswrite) return (LOCK_SUCCESS); #endif } - -#ifdef USE_DB4_LOGGING -#define VI_DB_INIT_LOG DB_INIT_LOG -#else -#define VI_DB_INIT_LOG 0 -#endif - -static int -db_setup(SCR *sp, EXF *ep) -{ - char path[MAXPATHLEN]; - int fd; - DB_ENV *env; - - (void)snprintf(path, sizeof(path), "%s/vi.XXXXXX", O_STR(sp, O_RECDIR)); - if ((fd = mkstemp(path)) == -1) { - msgq(sp, M_SYSERR, "%s", path); - goto err; - } - (void)close(fd); - (void)unlink(path); - if (mkdir(path, S_IRWXU)) { - msgq(sp, M_SYSERR, "%s", path); - goto err; - } - if (db_env_create(&env, 0)) { - msgq(sp, M_ERR, "env_create"); - goto err; - } -#ifdef USE_DB4_LOGGING - if ((sp->db_error = vi_db_init_recover(env))) { - msgq(sp, M_DBERR, "init_recover"); - goto err; - } - if ((sp->db_error = __vi_init_recover(env))) { - msgq(sp, M_DBERR, "init_recover"); - goto err; - } -#endif - if ((sp->db_error = db_env_open(env, path, - DB_PRIVATE | DB_CREATE | DB_INIT_MPOOL | VI_DB_THREAD - | VI_DB_INIT_LOG, 0)) != 0) { - msgq(sp, M_DBERR, "env->open"); - goto err; - } - - if ((ep->env_path = strdup(path)) == NULL) { - msgq(sp, M_SYSERR, NULL); - (void)rmdir(path); - goto err; - } - ep->env = env; - return 0; -err: - return 1; -} diff --git a/dist/nvi/common/exf.h b/external/bsd/nvi/dist/common/exf.h similarity index 91% rename from dist/nvi/common/exf.h rename to external/bsd/nvi/dist/common/exf.h index 7d5b41dd2..3fa63e7e6 100644 --- a/dist/nvi/common/exf.h +++ b/external/bsd/nvi/dist/common/exf.h @@ -1,5 +1,4 @@ -/* $NetBSD: exf.h,v 1.1.1.2 2008/05/18 14:29:45 aymeric Exp $ */ - +/* $NetBSD: exf.h,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: exf.h,v 10.19 2002/03/02 23:36:23 skimo Exp (Berkeley) Date: 2002/03/02 23:36:23 + * Id: exf.h,v 10.19 2002/03/02 23:36:23 skimo Exp (Berkeley) Date: 2002/03/02 23:36:23 */ /* Undo direction. */ /* @@ -16,10 +15,10 @@ * The file structure. */ struct _exf { - CIRCLEQ_ENTRY(_exf) q; /* Linked list of file structures. */ + TAILQ_ENTRY(_exf) q; /* Linked list of file structures. */ int refcnt; /* Reference count. */ - CIRCLEQ_HEAD(_escrh, _scr) scrq; /* Attached screens */ + TAILQ_HEAD(_escrh, _scr) scrq; /* Attached screens */ /* Underlying database state. */ DB_ENV *env; /* The DB environment. */ char *env_path; /* DB environment directory. */ diff --git a/dist/nvi/common/gs.c b/external/bsd/nvi/dist/common/gs.c similarity index 84% rename from dist/nvi/common/gs.c rename to external/bsd/nvi/dist/common/gs.c index 3e3bb46cb..2e4e8fc29 100644 --- a/dist/nvi/common/gs.c +++ b/external/bsd/nvi/dist/common/gs.c @@ -1,5 +1,4 @@ -/* $NetBSD: gs.c,v 1.2 2011/09/16 16:13:41 joerg Exp $ */ - +/* $NetBSD: gs.c,v 1.4 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 2000 * Sven Verdoolaege. All rights reserved. @@ -21,7 +20,9 @@ #include #include "../common/common.h" -#include "../perl_api/extern.h" +#ifdef USE_PERL_INTERP +#include "perl_api_extern.h" +#endif __dead static void perr __P((char *, char *)); @@ -49,14 +50,14 @@ gs_init(char *name) /* Common global structure initialization. */ /* others will need to be copied from main.c */ - CIRCLEQ_INIT(&gp->dq); + TAILQ_INIT(&gp->dq); - CIRCLEQ_INIT(&gp->hq); + TAILQ_INIT(&gp->hq); gp->noprint = DEFAULT_NOPRINT; /* Structures shared by screens so stored in the GS structure. */ - CIRCLEQ_INIT(&gp->frefq); - CIRCLEQ_INIT(&gp->exfq); + TAILQ_INIT(&gp->frefq); + TAILQ_INIT(&gp->exfq); LIST_INIT(&gp->seqq); thread_init(gp); @@ -83,10 +84,10 @@ gs_new_win(GS *gp) LIST_INIT(&wp->ecq); LIST_INSERT_HEAD(&wp->ecq, &wp->excmd, q); - CIRCLEQ_INSERT_TAIL(&gp->dq, wp, q); - CIRCLEQ_INIT(&wp->scrq); + TAILQ_INSERT_TAIL(&gp->dq, wp, q); + TAILQ_INIT(&wp->scrq); - CIRCLEQ_INIT(&wp->dcb_store.textq); + TAILQ_INIT(&wp->dcb_store.textq); LIST_INIT(&wp->cutq); wp->gp = gp; @@ -105,13 +106,13 @@ win_end(WIN *wp) { SCR *sp; - CIRCLEQ_REMOVE(&wp->gp->dq, wp, q); + TAILQ_REMOVE(&wp->gp->dq, wp, q); if (wp->ccl_sp != NULL) { (void)file_end(wp->ccl_sp, NULL, 1); (void)screen_end(wp->ccl_sp); } - while ((sp = wp->scrq.cqh_first) != (void *)&wp->scrq) + while ((sp = TAILQ_FIRST(&wp->scrq)) != NULL) (void)screen_end(sp); /* Free key input queue. */ @@ -147,9 +148,9 @@ gs_end(GS *gp) WIN *wp; /* If there are any remaining screens, kill them off. */ - while ((wp = gp->dq.cqh_first) != (void *)&gp->dq) + while ((wp = TAILQ_FIRST(&gp->dq)) != NULL) (void)win_end(wp); - while ((sp = gp->hq.cqh_first) != (void *)&gp->hq) + while ((sp = TAILQ_FIRST(&gp->hq)) != NULL) (void)screen_end(sp); #ifdef HAVE_PERL_INTERP @@ -159,8 +160,8 @@ gs_end(GS *gp) #if defined(DEBUG) || defined(PURIFY) || defined(LIBRARY) { FREF *frp; /* Free FREF's. */ - while ((frp = gp->frefq.cqh_first) != (FREF *)&gp->frefq) { - CIRCLEQ_REMOVE(&gp->frefq, frp, q); + while ((frp = TAILQ_FIRST(&gp->frefq)) != NULL) { + TAILQ_REMOVE(&gp->frefq, frp, q); if (frp->name != NULL) free(frp->name); if (frp->tname != NULL) @@ -186,7 +187,7 @@ gs_end(GS *gp) * it's possible that the user is sourcing a file that exits from the * editor). */ - while ((mp = gp->msgq.lh_first) != NULL) { + while ((mp = LIST_FIRST(&gp->msgq)) != NULL) { (void)fprintf(stderr, "%s%.*s", mp->mtype == M_ERR ? "ex/vi: " : "", (int)mp->len, mp->buf); LIST_REMOVE(mp, q); diff --git a/dist/nvi/common/gs.h b/external/bsd/nvi/dist/common/gs.h similarity index 94% rename from dist/nvi/common/gs.h rename to external/bsd/nvi/dist/common/gs.h index 3198eaf81..4289af603 100644 --- a/dist/nvi/common/gs.h +++ b/external/bsd/nvi/dist/common/gs.h @@ -1,5 +1,4 @@ -/* $NetBSD: gs.h,v 1.5 2011/03/21 14:53:02 tnozaki Exp $ */ - +/* $NetBSD: gs.h,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: gs.h,v 10.55 2001/11/01 10:28:25 skimo Exp (Berkeley) Date: 2001/11/01 10:28:25 + * Id: gs.h,v 10.55 2001/11/01 10:28:25 skimo Exp (Berkeley) Date: 2001/11/01 10:28:25 */ #define TEMPORARY_FILE_STRING "/tmp" /* Default temporary file name. */ @@ -21,7 +20,7 @@ * The read-only bit follows the file name, not the file itself. */ struct _fref { - CIRCLEQ_ENTRY(_fref) q; /* Linked list of file references. */ + TAILQ_ENTRY(_fref) q; /* Linked list of file references. */ char *name; /* File name. */ char *tname; /* Backing temporary file name. */ @@ -58,8 +57,8 @@ struct _gs { char *progname; /* Programe name. */ int id; /* Last allocated screen id. */ - CIRCLEQ_HEAD(_dqh, _win) dq; /* Displayed windows. */ - CIRCLEQ_HEAD(_hqh, _scr) hq; /* Hidden screens. */ + TAILQ_HEAD(_dqh, _win) dq; /* Displayed windows. */ + TAILQ_HEAD(_hqh, _scr) hq; /* Hidden screens. */ void *perl_interp; /* Perl interpreter. */ void *tcl_interp; /* Tcl_Interp *: Tcl interpreter. */ @@ -68,9 +67,9 @@ struct _gs { void *tk_private; /* Tk/Tcl support private area. */ /* File references. */ - CIRCLEQ_HEAD(_frefh, _fref) frefq; + TAILQ_HEAD(_frefh, _fref) frefq; /* File structures. */ - CIRCLEQ_HEAD(_exfh, _exf) exfq; + TAILQ_HEAD(_exfh, _exf) exfq; #define GO_COLUMNS 0 /* Global options: columns. */ #define GO_LINES 1 /* Global options: lines. */ diff --git a/dist/nvi/common/key.c b/external/bsd/nvi/dist/common/key.c similarity index 98% rename from dist/nvi/common/key.c rename to external/bsd/nvi/dist/common/key.c index 249ea1126..e9ed47078 100644 --- a/dist/nvi/common/key.c +++ b/external/bsd/nvi/dist/common/key.c @@ -1,5 +1,4 @@ -/* $NetBSD: key.c,v 1.6 2011/03/21 14:53:02 tnozaki Exp $ */ - +/* $NetBSD: key.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: key.c,v 10.48 2001/06/25 15:19:10 skimo Exp (Berkeley) Date: 2001/06/25 15:19:10"; +static const char sccsid[] = "Id: key.c,v 10.48 2001/06/25 15:19:10 skimo Exp (Berkeley) Date: 2001/06/25 15:19:10 "; #endif /* not lint */ #include @@ -312,7 +311,7 @@ done: sp->cname[sp->clen = len] = '\0'; * Fill in the value for a key. This routine is the backup * for the KEY_VAL() macro. * - * PUBLIC: int v_key_val __P((SCR *, ARG_CHAR_T)); + * PUBLIC: e_key_t v_key_val __P((SCR *, ARG_CHAR_T)); */ e_key_t v_key_val(SCR *sp, ARG_CHAR_T ch) @@ -345,12 +344,10 @@ v_event_push(SCR *sp, EVENT *p_evp, const CHAR_T *p_s, size_t nitems, u_int flag /* CH_* flags. */ { EVENT *evp; - GS *gp; WIN *wp; size_t total; /* If we have room, stuff the items into the buffer. */ - gp = sp->gp; wp = sp->wp; if (nitems <= wp->i_next || (wp->i_event != NULL && wp->i_cnt == 0 && nitems <= wp->i_nelem)) { @@ -741,12 +738,10 @@ v_sync(SCR *sp, int flags) WIN *wp; gp = sp->gp; - for (wp = gp->dq.cqh_first; wp != (void *)&gp->dq; - wp = wp->q.cqe_next) - for (sp = wp->scrq.cqh_first; sp != (void *)&wp->scrq; - sp = sp->q.cqe_next) - rcv_sync(sp, flags); - for (sp = gp->hq.cqh_first; sp != (void *)&gp->hq; sp = sp->q.cqe_next) + TAILQ_FOREACH(wp, &gp->dq, q) + TAILQ_FOREACH(sp, &wp->scrq, q) + rcv_sync(sp, flags); + TAILQ_FOREACH(sp, &gp->hq, q) rcv_sync(sp, flags); } diff --git a/dist/nvi/common/key.h b/external/bsd/nvi/dist/common/key.h similarity index 98% rename from dist/nvi/common/key.h rename to external/bsd/nvi/dist/common/key.h index 8c30d6122..5d176224e 100644 --- a/dist/nvi/common/key.h +++ b/external/bsd/nvi/dist/common/key.h @@ -1,5 +1,4 @@ -/* $NetBSD: key.h,v 1.3 2011/11/14 13:29:07 tnozaki Exp $ */ - +/* $NetBSD: key.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: key.h,v 10.50 2001/06/28 17:53:58 skimo Exp (Berkeley) Date: 2001/06/28 17:53:58 + * Id: key.h,v 10.50 2001/06/28 17:53:58 skimo Exp (Berkeley) Date: 2001/06/28 17:53:58 */ #include "multibyte.h" @@ -27,8 +26,8 @@ #define INPUT2INT5(sp,cw,n,nlen,w,wlen) \ sp->conv.input2int(sp, n, nlen, &(cw), &wlen, &w) #define CONST -#define CHAR_WIDTH(sp, ch) wcwidth(ch) #define INTISWIDE(c) (wctob(c) == EOF) /* XXX wrong name */ +#define CHAR_WIDTH(sp, ch) wcwidth(ch) #else #define FILE2INT5(sp,buf,n,nlen,w,wlen) \ (w = n, wlen = nlen, 0) diff --git a/dist/nvi/common/log.c b/external/bsd/nvi/dist/common/log.c similarity index 99% rename from dist/nvi/common/log.c rename to external/bsd/nvi/dist/common/log.c index d61e8d2c4..9bd4b2ab4 100644 --- a/dist/nvi/common/log.c +++ b/external/bsd/nvi/dist/common/log.c @@ -1,5 +1,4 @@ -/* $NetBSD: log.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: log.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: log.c,v 10.26 2002/03/02 23:12:13 skimo Exp (Berkeley) Date: 2002/03/02 23:12:13"; +static const char sccsid[] = "Id: log.c,v 10.26 2002/03/02 23:12:13 skimo Exp (Berkeley) Date: 2002/03/02 23:12:13 "; #endif /* not lint */ #include @@ -140,7 +139,7 @@ log_end(SCR *sp, EXF *ep) */ /*LOCK_END(sp->wp, ep);*/ if (ep->log != NULL) { - (void)(ep->log->close)(ep->log,DB_NOSYNC); + (void)(ep->log->close)(ep->log, DB_NOSYNC); ep->log = NULL; } if (sp->wp->l_lp != NULL) { diff --git a/dist/nvi/common/log.h b/external/bsd/nvi/dist/common/log.h similarity index 80% rename from dist/nvi/common/log.h rename to external/bsd/nvi/dist/common/log.h index 06e0e1231..39632f884 100644 --- a/dist/nvi/common/log.h +++ b/external/bsd/nvi/dist/common/log.h @@ -1,5 +1,4 @@ -/* $NetBSD: log.h,v 1.1.1.2 2008/05/18 14:29:46 aymeric Exp $ */ - +/* $NetBSD: log.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: log.h,v 10.4 2002/06/08 21:00:33 skimo Exp (Berkeley) Date: 2002/06/08 21:00:33 + * Id: log.h,v 10.4 2002/06/08 21:00:33 skimo Exp (Berkeley) Date: 2002/06/08 21:00:33 */ #define LOG_NOTYPE 0 diff --git a/external/bsd/nvi/dist/common/log1.c b/external/bsd/nvi/dist/common/log1.c new file mode 100644 index 000000000..06e436a20 --- /dev/null +++ b/external/bsd/nvi/dist/common/log1.c @@ -0,0 +1,777 @@ +/* $NetBSD: log1.c,v 1.3 2013/11/29 16:36:11 christos Exp $ */ +/*- + * Copyright (c) 1992, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * Copyright (c) 1992, 1993, 1994, 1995, 1996 + * Keith Bostic. All rights reserved. + * + * See the LICENSE file for redistribution information. + */ + +#include "config.h" + +#ifndef lint +static const char sccsid[] = "Id: log.c,v 10.26 2002/03/02 23:12:13 skimo Exp (Berkeley) Date: 2002/03/02 23:12:13 "; +#endif /* not lint */ + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" + +/* + * The log consists of records, each containing a type byte and a variable + * length byte string, as follows: + * + * LOG_CURSOR_INIT MARK + * LOG_CURSOR_END MARK + * LOG_LINE_APPEND_F db_recno_t char * + * LOG_LINE_APPEND_B db_recno_t char * + * LOG_LINE_DELETE_F db_recno_t char * + * LOG_LINE_DELETE_B db_recno_t char * + * LOG_LINE_RESET_F db_recno_t char * + * LOG_LINE_RESET_B db_recno_t char * + * LOG_MARK LMARK + * + * We do before image physical logging. This means that the editor layer + * MAY NOT modify records in place, even if simply deleting or overwriting + * characters. Since the smallest unit of logging is a line, we're using + * up lots of space. This may eventually have to be reduced, probably by + * doing logical logging, which is a much cooler database phrase. + * + * The implementation of the historic vi 'u' command, using roll-forward and + * roll-back, is simple. Each set of changes has a LOG_CURSOR_INIT record, + * followed by a number of other records, followed by a LOG_CURSOR_END record. + * LOG_LINE_RESET records come in pairs. The first is a LOG_LINE_RESET_B + * record, and is the line before the change. The second is LOG_LINE_RESET_F, + * and is the line after the change. Roll-back is done by backing up to the + * first LOG_CURSOR_INIT record before a change. Roll-forward is done in a + * similar fashion. + * + * The 'U' command is implemented by rolling backward to a LOG_CURSOR_END + * record for a line different from the current one. It should be noted that + * this means that a subsequent 'u' command will make a change based on the + * new position of the log's cursor. This is okay, and, in fact, historic vi + * behaved that way. + */ + +static int log_cursor1 __P((SCR *, int)); +static void log_err __P((SCR *, const char *, int)); +#if defined(LOGDEBUG) && defined(TRACE) +static void log_trace __P((SCR *, const char *, db_recno_t, u_char *)); +#endif + +/* Try and restart the log on failure, i.e. if we run out of memory. */ +#define LOG_ERR { \ + log_err(sp, __FILE__, __LINE__); \ + return (1); \ +} + +/* offset of CHAR_T string in log needs to be aligned on some systems + * because it is passed to db_set as a string + */ +typedef struct { + char data[sizeof(u_char) /* type */ + sizeof(db_recno_t)]; + CHAR_T str[1]; +} log_t; +#define CHAR_T_OFFSET ((char *)(((log_t*)0)->str) - (char *)0) + +/* + * log_init -- + * Initialize the logging subsystem. + * + * PUBLIC: int log_init __P((SCR *, EXF *)); + */ +int +log_init(SCR *sp, EXF *ep) +{ + /* + * !!! + * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER. + * + * Initialize the buffer. The logging subsystem has its own + * buffers because the global ones are almost by definition + * going to be in use when the log runs. + */ + sp->wp->l_lp = NULL; + sp->wp->l_len = 0; + ep->l_cursor.lno = 1; /* XXX Any valid recno. */ + ep->l_cursor.cno = 0; + ep->l_high = ep->l_cur = 1; + + ep->log = dbopen(NULL, O_CREAT | O_NONBLOCK | O_RDWR, + S_IRUSR | S_IWUSR, DB_RECNO, NULL); + if (ep->log == NULL) { + msgq(sp, M_SYSERR, "009|Log file"); + F_SET(ep, F_NOLOG); + return (1); + } + + ep->l_win = NULL; + /*LOCK_INIT(sp->wp, ep);*/ + + return (0); +} + +/* + * log_end -- + * Close the logging subsystem. + * + * PUBLIC: int log_end __P((SCR *, EXF *)); + */ +int +log_end(SCR *sp, EXF *ep) +{ + /* + * !!! + * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER. + */ + /*LOCK_END(sp->wp, ep);*/ + if (ep->log != NULL) { + (void)(ep->log->close)(ep->log); + ep->log = NULL; + } + if (sp->wp->l_lp != NULL) { + free(sp->wp->l_lp); + sp->wp->l_lp = NULL; + } + sp->wp->l_len = 0; + ep->l_cursor.lno = 1; /* XXX Any valid recno. */ + ep->l_cursor.cno = 0; + ep->l_high = ep->l_cur = 1; + return (0); +} + +/* + * log_cursor -- + * Log the current cursor position, starting an event. + * + * PUBLIC: int log_cursor __P((SCR *)); + */ +int +log_cursor(SCR *sp) +{ + EXF *ep; + + ep = sp->ep; + if (F_ISSET(ep, F_NOLOG)) + return (0); + + /* + * If any changes were made since the last cursor init, + * put out the ending cursor record. + */ + if (ep->l_cursor.lno == OOBLNO) { + if (ep->l_win && ep->l_win != sp->wp) + return 0; + ep->l_cursor.lno = sp->lno; + ep->l_cursor.cno = sp->cno; + ep->l_win = NULL; + return (log_cursor1(sp, LOG_CURSOR_END)); + } + ep->l_cursor.lno = sp->lno; + ep->l_cursor.cno = sp->cno; + return (0); +} + +/* + * log_cursor1 -- + * Actually push a cursor record out. + */ +static int +log_cursor1(SCR *sp, int type) +{ + DBT data, key; + EXF *ep; + + ep = sp->ep; + + /* + if (type == LOG_CURSOR_INIT && + LOCK_TRY(sp->wp, ep)) + return 1; + */ + + BINC_RETC(sp, sp->wp->l_lp, sp->wp->l_len, sizeof(u_char) + sizeof(MARK)); + sp->wp->l_lp[0] = type; + memmove(sp->wp->l_lp + sizeof(u_char), &ep->l_cursor, sizeof(MARK)); + + memset(&key, 0, sizeof(key)); + key.data = &ep->l_cur; + key.size = sizeof(db_recno_t); + memset(&data, 0, sizeof(data)); + data.data = sp->wp->l_lp; + data.size = sizeof(u_char) + sizeof(MARK); + if (ep->log->put(ep->log, &key, &data, 0) == -1) + LOG_ERR; + +#if defined(LOGDEBUG) && defined(TRACE) + vtrace("%lu: %s: %u/%u\n", ep->l_cur, + type == LOG_CURSOR_INIT ? "log_cursor_init" : "log_cursor_end", + sp->lno, sp->cno); +#endif + /* Reset high water mark. */ + ep->l_high = ++ep->l_cur; + + /* + if (type == LOG_CURSOR_END) + LOCK_UNLOCK(sp->wp, ep); + */ + return (0); +} + +/* + * log_line -- + * Log a line change. + * + * PUBLIC: int log_line __P((SCR *, db_recno_t, u_int)); + */ +int +log_line(SCR *sp, db_recno_t lno, u_int action) +{ + DBT data, key; + EXF *ep; + size_t len; + CHAR_T *lp; + db_recno_t lcur; + + ep = sp->ep; + if (F_ISSET(ep, F_NOLOG)) + return (0); + + /* + * XXX + * + * Kluge for vi. Clear the EXF undo flag so that the + * next 'u' command does a roll-back, regardless. + */ + F_CLR(ep, F_UNDO); + + /* Put out one initial cursor record per set of changes. */ + if (ep->l_cursor.lno != OOBLNO) { + if (log_cursor1(sp, LOG_CURSOR_INIT)) + return (1); + ep->l_cursor.lno = OOBLNO; + ep->l_win = sp->wp; + } /*else if (ep->l_win != sp->wp) { + printf("log_line own: %p, this: %p\n", ep->l_win, sp->wp); + return 1; + }*/ + + switch (action) { + /* newly added for DB4 logging */ + case LOG_LINE_APPEND_B: + case LOG_LINE_DELETE_F: + return 0; + } + + /* + * Put out the changes. If it's a LOG_LINE_RESET_B call, it's a + * special case, avoid the caches. Also, if it fails and it's + * line 1, it just means that the user started with an empty file, + * so fake an empty length line. + */ + if (action == LOG_LINE_RESET_B) { + if (db_get(sp, lno, DBG_NOCACHE, &lp, &len)) { + static CHAR_T nul = 0; + if (lno != 1) { + db_err(sp, lno); + return (1); + } + len = 0; + lp = &nul; + } + } else + if (db_get(sp, lno, DBG_FATAL, &lp, &len)) + return (1); + BINC_RETC(sp, + sp->wp->l_lp, sp->wp->l_len, + len * sizeof(CHAR_T) + CHAR_T_OFFSET); + sp->wp->l_lp[0] = action; + memmove(sp->wp->l_lp + sizeof(u_char), &lno, sizeof(db_recno_t)); + MEMMOVEW(sp->wp->l_lp + CHAR_T_OFFSET, lp, len); + + lcur = ep->l_cur; + memset(&key, 0, sizeof(key)); + key.data = &lcur; + key.size = sizeof(db_recno_t); + memset(&data, 0, sizeof(data)); + data.data = sp->wp->l_lp; + data.size = len * sizeof(CHAR_T) + CHAR_T_OFFSET; + if (ep->log->put(ep->log, &key, &data, 0) == -1) + LOG_ERR; + +#if defined(LOGDEBUG) && defined(TRACE) + switch (action) { + case LOG_LINE_APPEND_F: + vtrace("%u: log_line: append_f: %lu {%u}\n", + ep->l_cur, lno, len); + break; + case LOG_LINE_APPEND_B: + vtrace("%u: log_line: append_b: %lu {%u}\n", + ep->l_cur, lno, len); + break; + case LOG_LINE_DELETE_F: + vtrace("%lu: log_line: delete_f: %lu {%u}\n", + ep->l_cur, lno, len); + break; + case LOG_LINE_DELETE_B: + vtrace("%lu: log_line: delete_b: %lu {%u}\n", + ep->l_cur, lno, len); + break; + case LOG_LINE_RESET_F: + vtrace("%lu: log_line: reset_f: %lu {%u}\n", + ep->l_cur, lno, len); + break; + case LOG_LINE_RESET_B: + vtrace("%lu: log_line: reset_b: %lu {%u}\n", + ep->l_cur, lno, len); + break; + } +#endif + /* Reset high water mark. */ + ep->l_high = ++ep->l_cur; + + return (0); +} + +/* + * log_mark -- + * Log a mark position. For the log to work, we assume that there + * aren't any operations that just put out a log record -- this + * would mean that undo operations would only reset marks, and not + * cause any other change. + * + * PUBLIC: int log_mark __P((SCR *, LMARK *)); + */ +int +log_mark(SCR *sp, LMARK *lmp) +{ + DBT data, key; + EXF *ep; + + ep = sp->ep; + if (F_ISSET(ep, F_NOLOG)) + return (0); + + /* Put out one initial cursor record per set of changes. */ + if (ep->l_cursor.lno != OOBLNO) { + if (log_cursor1(sp, LOG_CURSOR_INIT)) + return (1); + ep->l_cursor.lno = OOBLNO; + ep->l_win = sp->wp; + } + + BINC_RETC(sp, sp->wp->l_lp, + sp->wp->l_len, sizeof(u_char) + sizeof(LMARK)); + sp->wp->l_lp[0] = LOG_MARK; + memmove(sp->wp->l_lp + sizeof(u_char), lmp, sizeof(LMARK)); + + memset(&key, 0, sizeof(key)); + key.data = &ep->l_cur; + key.size = sizeof(db_recno_t); + memset(&data, 0, sizeof(data)); + data.data = sp->wp->l_lp; + data.size = sizeof(u_char) + sizeof(LMARK); + if (ep->log->put(ep->log, &key, &data, 0) == -1) + LOG_ERR; + +#if defined(LOGDEBUG) && defined(TRACE) + vtrace("%lu: mark %c: %lu/%u\n", + ep->l_cur, lmp->name, lmp->lno, lmp->cno); +#endif + /* Reset high water mark. */ + ep->l_high = ++ep->l_cur; + return (0); +} + +/* + * Log_backward -- + * Roll the log backward one operation. + * + * PUBLIC: int log_backward __P((SCR *, MARK *)); + */ +int +log_backward(SCR *sp, MARK *rp) +{ + DBT key, data; + EXF *ep; + LMARK lm; + MARK m; + db_recno_t lno; + int didop; + u_char *p; + + ep = sp->ep; + if (F_ISSET(ep, F_NOLOG)) { + msgq(sp, M_ERR, + "010|Logging not being performed, undo not possible"); + return (1); + } + + if (ep->l_cur == 1) { + msgq(sp, M_BERR, "011|No changes to undo"); + return (1); + } + + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + ep->l_win = sp->wp; + + + F_SET(ep, F_NOLOG); /* Turn off logging. */ + + key.data = &ep->l_cur; /* Initialize db request. */ + key.size = sizeof(recno_t); + for (didop = 0;;) { + --ep->l_cur; + if (ep->log->get(ep->log, &key, &data, 0)) + LOG_ERR; +#if defined(LOGDEBUG) && defined(TRACE) + log_trace(sp, "log_backward", ep->l_cur, data.data); +#endif + switch (*(p = (u_char *)data.data)) { + case LOG_CURSOR_INIT: + if (didop) { + memmove(rp, p + sizeof(u_char), sizeof(MARK)); + F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (0); + } + break; + case LOG_CURSOR_END: + break; + case LOG_LINE_APPEND_F: + didop = 1; + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (db_delete(sp, lno)) + goto err; + ++sp->rptlines[L_DELETED]; + break; + case LOG_LINE_DELETE_B: + didop = 1; + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (db_insert(sp, lno, + (CHAR_T *)(p + CHAR_T_OFFSET), + (data.size - CHAR_T_OFFSET) / sizeof(CHAR_T))) + goto err; + ++sp->rptlines[L_ADDED]; + break; + case LOG_LINE_RESET_F: + break; + case LOG_LINE_RESET_B: + didop = 1; + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (db_set(sp, lno, + (CHAR_T *)(p + CHAR_T_OFFSET), + (data.size - CHAR_T_OFFSET) / sizeof(CHAR_T))) + goto err; + if (sp->rptlchange != lno) { + sp->rptlchange = lno; + ++sp->rptlines[L_CHANGED]; + } + break; + case LOG_MARK: + didop = 1; + memmove(&lm, p + sizeof(u_char), sizeof(LMARK)); + m.lno = lm.lno; + m.cno = lm.cno; + if (mark_set(sp, lm.name, &m, 0)) + goto err; + break; + default: + abort(); + } + } + +err: F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (1); +} + +/* + * Log_setline -- + * Reset the line to its original appearance. + * + * XXX + * There's a bug in this code due to our not logging cursor movements + * unless a change was made. If you do a change, move off the line, + * then move back on and do a 'U', the line will be restored to the way + * it was before the original change. + * + * PUBLIC: int log_setline __P((SCR *)); + */ +int +log_setline(SCR *sp) +{ + DBT key, data; + EXF *ep; + LMARK lm; + MARK m; + db_recno_t lno; + u_char *p; + + ep = sp->ep; + if (F_ISSET(ep, F_NOLOG)) { + msgq(sp, M_ERR, + "012|Logging not being performed, undo not possible"); + return (1); + } + + if (ep->l_cur == 1) + return (1); + + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + ep->l_win = sp->wp; + + F_SET(ep, F_NOLOG); /* Turn off logging. */ + + key.data = &ep->l_cur; /* Initialize db request. */ + key.size = sizeof(recno_t); + + for (;;) { + --ep->l_cur; + if (ep->log->get(ep->log, &key, &data, 0)) + LOG_ERR; +#if defined(LOGDEBUG) && defined(TRACE) + log_trace(sp, "log_setline", ep->l_cur, data.data); +#endif + switch (*(p = (u_char *)data.data)) { + case LOG_CURSOR_INIT: + memmove(&m, p + sizeof(u_char), sizeof(MARK)); + if (m.lno != sp->lno || ep->l_cur == 1) { + F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (0); + } + break; + case LOG_CURSOR_END: + memmove(&m, p + sizeof(u_char), sizeof(MARK)); + if (m.lno != sp->lno) { + ++ep->l_cur; + F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (0); + } + break; + case LOG_LINE_APPEND_F: + case LOG_LINE_DELETE_B: + case LOG_LINE_RESET_F: + break; + case LOG_LINE_RESET_B: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (lno == sp->lno && + db_set(sp, lno, (CHAR_T *)(p + CHAR_T_OFFSET), + (data.size - CHAR_T_OFFSET) / sizeof(CHAR_T))) + goto err; + if (sp->rptlchange != lno) { + sp->rptlchange = lno; + ++sp->rptlines[L_CHANGED]; + } + case LOG_MARK: + memmove(&lm, p + sizeof(u_char), sizeof(LMARK)); + m.lno = lm.lno; + m.cno = lm.cno; + if (mark_set(sp, lm.name, &m, 0)) + goto err; + break; + default: + abort(); + } + } + +err: F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (1); +} + +/* + * Log_forward -- + * Roll the log forward one operation. + * + * PUBLIC: int log_forward __P((SCR *, MARK *)); + */ +int +log_forward(SCR *sp, MARK *rp) +{ + DBT key, data; + EXF *ep; + LMARK lm; + MARK m; + db_recno_t lno; + int didop; + u_char *p; + + ep = sp->ep; + if (F_ISSET(ep, F_NOLOG)) { + msgq(sp, M_ERR, + "013|Logging not being performed, roll-forward not possible"); + return (1); + } + + if (ep->l_cur == ep->l_high) { + msgq(sp, M_BERR, "014|No changes to re-do"); + return (1); + } + + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + ep->l_win = sp->wp; + + F_SET(ep, F_NOLOG); /* Turn off logging. */ + + key.data = &ep->l_cur; /* Initialize db request. */ + key.size = sizeof(recno_t); + for (didop = 0;;) { + ++ep->l_cur; + if (ep->log->get(ep->log, &key, &data, 0)) + LOG_ERR; +#if defined(LOGDEBUG) && defined(TRACE) + log_trace(sp, "log_forward", ep->l_cur, data.data); +#endif + switch (*(p = (u_char *)data.data)) { + case LOG_CURSOR_END: + if (didop) { + ++ep->l_cur; + memmove(rp, p + sizeof(u_char), sizeof(MARK)); + F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (0); + } + break; + case LOG_CURSOR_INIT: + break; + case LOG_LINE_APPEND_F: + didop = 1; + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (db_insert(sp, lno, + (CHAR_T *)(p + CHAR_T_OFFSET), + (data.size - CHAR_T_OFFSET) / sizeof(CHAR_T))) + goto err; + ++sp->rptlines[L_ADDED]; + break; + case LOG_LINE_DELETE_B: + didop = 1; + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (db_delete(sp, lno)) + goto err; + ++sp->rptlines[L_DELETED]; + break; + case LOG_LINE_RESET_B: + break; + case LOG_LINE_RESET_F: + didop = 1; + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + if (db_set(sp, lno, + (CHAR_T *)(p + CHAR_T_OFFSET), + (data.size - CHAR_T_OFFSET) / sizeof(CHAR_T))) + goto err; + if (sp->rptlchange != lno) { + sp->rptlchange = lno; + ++sp->rptlines[L_CHANGED]; + } + break; + case LOG_MARK: + didop = 1; + memmove(&lm, p + sizeof(u_char), sizeof(LMARK)); + m.lno = lm.lno; + m.cno = lm.cno; + if (mark_set(sp, lm.name, &m, 0)) + goto err; + break; + default: + abort(); + } + } + +err: F_CLR(ep, F_NOLOG); + ep->l_win = NULL; + return (1); +} + +/* + * log_err -- + * Try and restart the log on failure, i.e. if we run out of memory. + */ +static void +log_err(SCR *sp, const char *file, int line) +{ + EXF *ep; + + msgq(sp, M_SYSERR, "015|%s/%d: log put error", tail(file), line); + ep = sp->ep; + (void)ep->log->close(ep->log); + if (!log_init(sp, ep)) + msgq(sp, M_ERR, "267|Log restarted"); +} + +#if defined(LOGDEBUG) && defined(TRACE) +static void +log_trace(sp, msg, rno, p) + SCR *sp; + const char *msg; + db_recno_t rno; + u_char *p; +{ + LMARK lm; + MARK m; + db_recno_t lno; + + switch (*p) { + case LOG_CURSOR_INIT: + memmove(&m, p + sizeof(u_char), sizeof(MARK)); + vtrace("%lu: %s: C_INIT: %u/%u\n", rno, msg, m.lno, m.cno); + break; + case LOG_CURSOR_END: + memmove(&m, p + sizeof(u_char), sizeof(MARK)); + vtrace("%lu: %s: C_END: %u/%u\n", rno, msg, m.lno, m.cno); + break; + case LOG_LINE_APPEND_F: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + vtrace("%lu: %s: APPEND_F: %lu\n", rno, msg, lno); + break; + case LOG_LINE_APPEND_B: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + vtrace("%lu: %s: APPEND_B: %lu\n", rno, msg, lno); + break; + case LOG_LINE_DELETE_F: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + vtrace("%lu: %s: DELETE_F: %lu\n", rno, msg, lno); + break; + case LOG_LINE_DELETE_B: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + vtrace("%lu: %s: DELETE_B: %lu\n", rno, msg, lno); + break; + case LOG_LINE_RESET_F: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + vtrace("%lu: %s: RESET_F: %lu\n", rno, msg, lno); + break; + case LOG_LINE_RESET_B: + memmove(&lno, p + sizeof(u_char), sizeof(db_recno_t)); + vtrace("%lu: %s: RESET_B: %lu\n", rno, msg, lno); + break; + case LOG_MARK: + memmove(&lm, p + sizeof(u_char), sizeof(LMARK)); + vtrace("%lu: %s: MARK: %u/%u\n", rno, msg, lm.lno, lm.cno); + break; + default: + abort(); + } +} +#endif diff --git a/dist/nvi/common/log4.c b/external/bsd/nvi/dist/common/log4.c similarity index 99% rename from dist/nvi/common/log4.c rename to external/bsd/nvi/dist/common/log4.c index 615a18a56..352b095ba 100644 --- a/dist/nvi/common/log4.c +++ b/external/bsd/nvi/dist/common/log4.c @@ -1,5 +1,4 @@ -/* $NetBSD: log4.c,v 1.1.1.2 2008/05/18 14:29:47 aymeric Exp $ */ - +/* $NetBSD: log4.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: log4.c,v 10.3 2002/06/08 21:00:33 skimo Exp"; +static const char sccsid[] = "Id: log4.c,v 10.3 2002/06/08 21:00:33 skimo Exp "; #endif /* not lint */ #include diff --git a/dist/nvi/common/main.c b/external/bsd/nvi/dist/common/main.c similarity index 98% rename from dist/nvi/common/main.c rename to external/bsd/nvi/dist/common/main.c index 60218a20d..f95bdfcc8 100644 --- a/dist/nvi/common/main.c +++ b/external/bsd/nvi/dist/common/main.c @@ -1,5 +1,4 @@ -/* $NetBSD: main.c,v 1.3 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: main.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -20,7 +19,7 @@ static const char copyright[] = #endif /* not lint */ #ifndef lint -static const char sccsid[] = "Id: main.c,v 10.63 2001/11/01 15:24:43 skimo Exp (Berkeley) Date: 2001/11/01 15:24:43"; +static const char sccsid[] = "Id: main.c,v 10.63 2001/11/01 15:24:43 skimo Exp (Berkeley) Date: 2001/11/01 15:24:43 "; #endif /* not lint */ #include @@ -234,13 +233,13 @@ editor(WIN *wp, int argc, char **argv) */ if (screen_init(gp, NULL, &sp)) { if (sp != NULL) { - CIRCLEQ_INSERT_HEAD(&wp->scrq, sp, q); + TAILQ_INSERT_HEAD(&wp->scrq, sp, q); sp->wp = wp; } goto err; } F_SET(sp, SC_EX); - CIRCLEQ_INSERT_HEAD(&wp->scrq, sp, q); + TAILQ_INSERT_HEAD(&wp->scrq, sp, q); sp->wp = wp; if (v_key_init(sp)) /* Special key initialization. */ diff --git a/dist/nvi/common/mark.c b/external/bsd/nvi/dist/common/mark.c similarity index 93% rename from dist/nvi/common/mark.c rename to external/bsd/nvi/dist/common/mark.c index 30653bc86..1b374c0ef 100644 --- a/dist/nvi/common/mark.c +++ b/external/bsd/nvi/dist/common/mark.c @@ -1,5 +1,4 @@ -/* $NetBSD: mark.c,v 1.3 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: mark.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: mark.c,v 10.15 2001/06/25 15:19:11 skimo Exp (Berkeley) Date: 2001/06/25 15:19:11"; +static const char sccsid[] = "Id: mark.c,v 10.15 2001/06/25 15:19:11 skimo Exp (Berkeley) Date: 2001/06/25 15:19:11 "; #endif /* not lint */ #include @@ -94,7 +93,7 @@ mark_end(SCR *sp, EXF *ep) * !!! * ep MAY NOT BE THE SAME AS sp->ep, DON'T USE THE LATTER. */ - while ((lmp = ep->marks.lh_first) != NULL) { + while ((lmp = LIST_FIRST(&ep->marks)) != NULL) { LIST_REMOVE(lmp, q); free(lmp); } @@ -195,8 +194,8 @@ mark_find(SCR *sp, ARG_CHAR_T key) * Return the requested mark or the slot immediately before * where it should go. */ - for (lastlmp = NULL, lmp = sp->ep->marks.lh_first; - lmp != NULL; lastlmp = lmp, lmp = lmp->q.le_next) + for (lastlmp = NULL, lmp = LIST_FIRST(&sp->ep->marks); + lmp != NULL; lastlmp = lmp, lmp = LIST_NEXT(lmp, q)) if ((ARG_CHAR_T)lmp->name >= key) return ((ARG_CHAR_T)lmp->name == key ? lmp : lastlmp); return (lastlmp); @@ -219,8 +218,7 @@ mark_insdel(SCR *sp, lnop_t op, db_recno_t lno) /* All insert/append operations are done as inserts. */ abort(); case LINE_DELETE: - for (lmp = sp->ep->marks.lh_first; - lmp != NULL; lmp = lmp->q.le_next) + LIST_FOREACH(lmp, &sp->ep->marks, q) if (lmp->lno >= lno) { if (lmp->lno == lno) { F_SET(lmp, MARK_DELETED); @@ -251,8 +249,7 @@ mark_insdel(SCR *sp, lnop_t op, db_recno_t lno) return (0); } - for (lmp = sp->ep->marks.lh_first; - lmp != NULL; lmp = lmp->q.le_next) + LIST_FOREACH(lmp, &sp->ep->marks, q) if (lmp->lno >= lno) ++lmp->lno; break; diff --git a/dist/nvi/common/mark.h b/external/bsd/nvi/dist/common/mark.h similarity index 90% rename from dist/nvi/common/mark.h rename to external/bsd/nvi/dist/common/mark.h index 32a30ec08..c5db9dfcb 100644 --- a/dist/nvi/common/mark.h +++ b/external/bsd/nvi/dist/common/mark.h @@ -1,5 +1,4 @@ -/* $NetBSD: mark.h,v 1.1.1.2 2008/05/18 14:29:47 aymeric Exp $ */ - +/* $NetBSD: mark.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: mark.h,v 10.5 2000/07/14 14:29:16 skimo Exp (Berkeley) Date: 2000/07/14 14:29:16 + * Id: mark.h,v 10.5 2000/07/14 14:29:16 skimo Exp (Berkeley) Date: 2000/07/14 14:29:16 */ /* diff --git a/dist/nvi/common/mem.h b/external/bsd/nvi/dist/common/mem.h similarity index 96% rename from dist/nvi/common/mem.h rename to external/bsd/nvi/dist/common/mem.h index c87b2c721..de7694632 100644 --- a/dist/nvi/common/mem.h +++ b/external/bsd/nvi/dist/common/mem.h @@ -1,5 +1,4 @@ -/* $NetBSD: mem.h,v 1.3 2009/01/18 03:43:45 lukem Exp $ */ - +/* $NetBSD: mem.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,10 +7,10 @@ * * See the LICENSE file for redistribution information. * - * Id: mem.h,v 10.13 2002/01/05 23:13:37 skimo Exp (Berkeley) Date: 2002/01/05 23:13:37 + * Id: mem.h,v 10.13 2002/01/05 23:13:37 skimo Exp (Berkeley) Date: 2002/01/05 23:13:37 */ -#if defined(HAVE_GCC) && !defined(__NetBSD__) +#if defined(HAVE_GCC) && !defined(__NetBSD__) && !defined(__minix) #define CHECK_TYPE(type, var) \ do { type L__lp __attribute__((__unused__)) = var; } while (/*CONSTCOND*/0); #else diff --git a/dist/nvi/common/msg.c b/external/bsd/nvi/dist/common/msg.c similarity index 97% rename from dist/nvi/common/msg.c rename to external/bsd/nvi/dist/common/msg.c index 31a822239..4067312de 100644 --- a/dist/nvi/common/msg.c +++ b/external/bsd/nvi/dist/common/msg.c @@ -1,5 +1,4 @@ -/* $NetBSD: msg.c,v 1.5 2011/08/17 12:56:55 christos Exp $ */ - +/* $NetBSD: msg.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: msg.c,v 10.61 2003/07/18 23:17:30 skimo Exp (Berkeley) Date: 2003/07/18 23:17:30"; +static const char sccsid[] = "Id: msg.c,v 10.61 2003/07/18 23:17:30 skimo Exp (Berkeley) Date: 2003/07/18 23:17:30 "; #endif /* not lint */ #include @@ -399,7 +398,7 @@ msgq_wstr(SCR *sp, mtype_t mtype, const CHAR_T *str, const char *fmt) * msgq_str -- * Display a message with an embedded string. * - * PUBLIC: void msgq_str __P((SCR *, mtype_t, char *, char *)); + * PUBLIC: void msgq_str __P((SCR *, mtype_t, const char *, const char *)); */ void msgq_str(SCR *sp, mtype_t mtype, const char *str, const char *fmt) @@ -738,9 +737,7 @@ msg_open(SCR *sp, const char *file) p = buf; } else p = file; - if ((sp->db_error = db_create(&db, 0, 0)) != 0 || - (sp->db_error = db->set_re_source(db, p)) != 0 || - (sp->db_error = db_open(db, NULL, DB_RECNO, 0, 0)) != 0) { + if (db_msg_open(sp, p, &db)) { if (first) { first = 0; return (1); @@ -759,10 +756,10 @@ msg_open(SCR *sp, const char *file) key.size = sizeof(db_recno_t); memset(&data, 0, sizeof(data)); msgno = 1; - if ((sp->db_error = db->get(db, NULL, &key, &data, 0)) != 0 || + if ((sp->db_error = db_get_low(db, &key, &data, 0)) != 0 || data.size != sizeof(VMC) - 1 || memcmp(data.data, VMC, sizeof(VMC) - 1)) { - (void)db->close(db, DB_NOSYNC); + (void)db_close(db); if (first) { first = 0; return (1); @@ -774,7 +771,7 @@ msg_open(SCR *sp, const char *file) first = 0; if (sp->gp->msg != NULL) - (void)sp->gp->msg->close(sp->gp->msg, DB_NOSYNC); + (void)db_close(sp->gp->msg); sp->gp->msg = db; return (0); } @@ -789,7 +786,7 @@ void msg_close(GS *gp) { if (gp->msg != NULL) { - (void)gp->msg->close(gp->msg, 0); + (void)db_close(gp->msg); gp->msg = NULL; } } @@ -865,7 +862,7 @@ msg_cat(SCR *sp, const char *str, size_t *lenp) */ gp = sp == NULL ? NULL : sp->gp; if (gp != NULL && gp->msg != NULL && - gp->msg->get(gp->msg, NULL, &key, &data, 0) == 0 && + db_get_low(gp->msg, &key, &data, 0) == 0 && data.size != 0) { if (lenp != NULL) *lenp = data.size - 1; diff --git a/dist/nvi/common/msg.h b/external/bsd/nvi/dist/common/msg.h similarity index 93% rename from dist/nvi/common/msg.h rename to external/bsd/nvi/dist/common/msg.h index ad1c677fd..952516d27 100644 --- a/dist/nvi/common/msg.h +++ b/external/bsd/nvi/dist/common/msg.h @@ -1,5 +1,4 @@ -/* $NetBSD: msg.h,v 1.1.1.2 2008/05/18 14:29:48 aymeric Exp $ */ - +/* $NetBSD: msg.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: msg.h,v 10.11 2000/04/21 21:26:19 skimo Exp (Berkeley) Date: 2000/04/21 21:26:19 + * Id: msg.h,v 10.11 2000/04/21 21:26:19 skimo Exp (Berkeley) Date: 2000/04/21 21:26:19 */ /* diff --git a/dist/nvi/common/multibyte.h b/external/bsd/nvi/dist/common/multibyte.h similarity index 87% rename from dist/nvi/common/multibyte.h rename to external/bsd/nvi/dist/common/multibyte.h index 7a94d7611..6b032d5ba 100644 --- a/dist/nvi/common/multibyte.h +++ b/external/bsd/nvi/dist/common/multibyte.h @@ -1,5 +1,4 @@ -/* $NetBSD: multibyte.h,v 1.7 2011/11/23 15:43:39 tnozaki Exp $ */ - +/* $NetBSD: multibyte.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #ifndef MULTIBYTE_H #define MULTIBYTE_H @@ -42,10 +41,12 @@ typedef wchar_t CHAR_T; typedef wint_t ARG_CHAR_T; typedef wint_t UCHAR_T; +#define ISUPPER iswupper #define STRLEN wcslen #define STRTOL wcstol #define STRTOUL wcstoul #define SPRINTF swprintf +#define STRCHR wcschr #define STRCMP wcscmp #define STRPBRK wcspbrk #define ISBLANK2 iswblank @@ -68,16 +69,17 @@ typedef wint_t UCHAR_T; #else #include -typedef char RCHAR_T; #define REOF EOF typedef char CHAR_T; typedef int ARG_CHAR_T; typedef unsigned char UCHAR_T; +#define ISUPPER isupper #define STRLEN strlen #define STRTOL strtol #define STRTOUL strtoul #define SPRINTF snprintf +#define STRCHR strchr #define STRCMP strcmp #define STRPBRK strpbrk #define ISBLANK2 isblank @@ -103,6 +105,12 @@ typedef unsigned char UCHAR_T; memcmp(to, from, (n) * sizeof(*(to))) #define MEMMOVE(p, t, len) memmove(p, t, (len) * sizeof(*(p))) #define MEMCPY(p, t, len) memcpy(p, t, (len) * sizeof(*(p))) +/* + * Like MEMCPY but return a pointer to the end of the copied bytes. + * Glibc has a function mempcpy with the same purpose. + */ +#define MEMPCPY(p, t, len) \ + ((void *)((char *)MEMCPY(p, t, len) + (len) * sizeof(*(p)))) #define SIZE(w) (sizeof(w)/sizeof(*w)) #endif diff --git a/dist/nvi/common/nothread.c b/external/bsd/nvi/dist/common/nothread.c similarity index 89% rename from dist/nvi/common/nothread.c rename to external/bsd/nvi/dist/common/nothread.c index 446c3b004..1f8f24e12 100644 --- a/dist/nvi/common/nothread.c +++ b/external/bsd/nvi/dist/common/nothread.c @@ -1,5 +1,4 @@ -/* $NetBSD: nothread.c,v 1.1.1.2 2008/05/18 14:29:48 aymeric Exp $ */ - +/* $NetBSD: nothread.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 2000 * Sven Verdoolaege. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: nothread.c,v 1.4 2000/07/22 14:52:37 skimo Exp (Berkeley) Date: 2000/07/22 14:52:37"; +static const char sccsid[] = "Id: nothread.c,v 1.4 2000/07/22 14:52:37 skimo Exp (Berkeley) Date: 2000/07/22 14:52:37 "; #endif /* not lint */ #include diff --git a/dist/nvi/common/options.awk b/external/bsd/nvi/dist/common/options.awk similarity index 78% rename from dist/nvi/common/options.awk rename to external/bsd/nvi/dist/common/options.awk index 0b81bb526..fa4b055ba 100644 --- a/dist/nvi/common/options.awk +++ b/external/bsd/nvi/dist/common/options.awk @@ -1,4 +1,4 @@ -# Id: options.awk,v 10.1 1995/06/08 19:00:01 bostic Exp (Berkeley) Date: 1995/06/08 19:00:01 +# Id: options.awk,v 10.1 1995/06/08 19:00:01 bostic Exp (Berkeley) Date: 1995/06/08 19:00:01 /^\/\* O_[0-9A-Z_]*/ { opt = $2 diff --git a/dist/nvi/common/options.c b/external/bsd/nvi/dist/common/options.c similarity index 99% rename from dist/nvi/common/options.c rename to external/bsd/nvi/dist/common/options.c index 90d252b7d..b1ebd8c92 100644 --- a/dist/nvi/common/options.c +++ b/external/bsd/nvi/dist/common/options.c @@ -1,5 +1,4 @@ -/* $NetBSD: options.c,v 1.10 2011/03/21 14:53:02 tnozaki Exp $ */ - +/* $NetBSD: options.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: options.c,v 10.65 2002/01/18 22:34:43 skimo Exp (Berkeley) Date: 2002/01/18 22:34:43"; +static const char sccsid[] = "Id: options.c,v 10.65 2002/01/18 22:34:43 skimo Exp (Berkeley) Date: 2002/01/18 22:34:43 "; #endif /* not lint */ #include @@ -484,7 +483,7 @@ err: msgq_wstr(sp, M_ERR, optlist[optindx].name, * opts_set -- * Change the values of one or more options. * - * PUBLIC: int opts_set __P((SCR *, ARGS *[], char *)); + * PUBLIC: int opts_set __P((SCR *, ARGS *[], const char *)); */ int opts_set(SCR *sp, ARGS **argv, const char *usage) @@ -1055,7 +1054,7 @@ opts_save(SCR *sp, FILE *fp) * opts_search -- * Search for an option. * - * PUBLIC: OPTLIST const *opts_search __P((CHAR_T *)); + * PUBLIC: OPTLIST const *opts_search __P((const CHAR_T *)); */ OPTLIST const * opts_search(const CHAR_T *name) @@ -1100,7 +1099,7 @@ opts_search(const CHAR_T *name) * opts_nomatch -- * Standard nomatch error message for options. * - * PUBLIC: void opts_nomatch __P((SCR *, CHAR_T *)); + * PUBLIC: void opts_nomatch __P((SCR *, const CHAR_T *)); */ void opts_nomatch(SCR *sp, const CHAR_T *name) diff --git a/dist/nvi/common/options.h b/external/bsd/nvi/dist/common/options.h similarity index 95% rename from dist/nvi/common/options.h rename to external/bsd/nvi/dist/common/options.h index 1a5825f11..06fd0107f 100644 --- a/dist/nvi/common/options.h +++ b/external/bsd/nvi/dist/common/options.h @@ -1,5 +1,4 @@ -/* $NetBSD: options.h,v 1.3 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: options.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: options.h,v 10.20 2001/06/09 18:26:28 skimo Exp (Berkeley) Date: 2001/06/09 18:26:28 + * Id: options.h,v 10.20 2001/06/09 18:26:28 skimo Exp (Berkeley) Date: 2001/06/09 18:26:28 */ /* diff --git a/dist/nvi/common/options_f.c b/external/bsd/nvi/dist/common/options_f.c similarity index 98% rename from dist/nvi/common/options_f.c rename to external/bsd/nvi/dist/common/options_f.c index 3807553c9..af0d9e5f2 100644 --- a/dist/nvi/common/options_f.c +++ b/external/bsd/nvi/dist/common/options_f.c @@ -1,5 +1,4 @@ -/* $NetBSD: options_f.c,v 1.3 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: options_f.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: options_f.c,v 10.33 2001/06/25 15:19:11 skimo Exp (Berkeley) Date: 2001/06/25 15:19:11"; +static const char sccsid[] = "Id: options_f.c,v 10.33 2001/06/25 15:19:11 skimo Exp (Berkeley) Date: 2001/06/25 15:19:11 "; #endif /* not lint */ #include diff --git a/dist/nvi/common/pthread.c b/external/bsd/nvi/dist/common/pthread.c similarity index 94% rename from dist/nvi/common/pthread.c rename to external/bsd/nvi/dist/common/pthread.c index 8ea57897c..97573a0f5 100644 --- a/dist/nvi/common/pthread.c +++ b/external/bsd/nvi/dist/common/pthread.c @@ -1,5 +1,4 @@ -/* $NetBSD: pthread.c,v 1.1.1.2 2008/05/18 14:29:50 aymeric Exp $ */ - +/* $NetBSD: pthread.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 2000 * Sven Verdoolaege. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: pthread.c,v 1.4 2000/07/22 14:52:37 skimo Exp (Berkeley) Date: 2000/07/22 14:52:37"; +static const char sccsid[] = "Id: pthread.c,v 1.4 2000/07/22 14:52:37 skimo Exp (Berkeley) Date: 2000/07/22 14:52:37 "; #endif /* not lint */ #include diff --git a/dist/nvi/common/put.c b/external/bsd/nvi/dist/common/put.c similarity index 91% rename from dist/nvi/common/put.c rename to external/bsd/nvi/dist/common/put.c index e244150ca..237e08a04 100644 --- a/dist/nvi/common/put.c +++ b/external/bsd/nvi/dist/common/put.c @@ -1,5 +1,4 @@ -/* $NetBSD: put.c,v 1.3 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: put.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: put.c,v 10.18 2001/06/25 15:19:11 skimo Exp (Berkeley) Date: 2001/06/25 15:19:11"; +static const char sccsid[] = "Id: put.c,v 10.18 2001/06/25 15:19:11 skimo Exp (Berkeley) Date: 2001/06/25 15:19:11 "; #endif /* not lint */ #include @@ -62,7 +61,7 @@ put(SCR *sp, CB *cbp, ARG_CHAR_T *namep, MARK *cp, MARK *rp, int append) } } } - tp = cbp->textq.cqh_first; + tp = TAILQ_FIRST(&cbp->textq); /* * It's possible to do a put into an empty file, meaning that the cut @@ -83,8 +82,8 @@ put(SCR *sp, CB *cbp, ARG_CHAR_T *namep, MARK *cp, MARK *rp, int append) if (db_last(sp, &lno)) return (1); if (lno == 0) { - for (; tp != (void *)&cbp->textq; - ++lno, ++sp->rptlines[L_ADDED], tp = tp->q.cqe_next) + for (; tp != NULL; + ++lno, ++sp->rptlines[L_ADDED], tp = TAILQ_NEXT(tp, q)) if (db_append(sp, 1, lno, tp->lb, tp->len)) return (1); rp->lno = 1; @@ -97,8 +96,8 @@ put(SCR *sp, CB *cbp, ARG_CHAR_T *namep, MARK *cp, MARK *rp, int append) if (F_ISSET(cbp, CB_LMODE)) { lno = append ? cp->lno : cp->lno - 1; rp->lno = lno + 1; - for (; tp != (void *)&cbp->textq; - ++lno, ++sp->rptlines[L_ADDED], tp = tp->q.cqe_next) + for (; tp != NULL; + ++lno, ++sp->rptlines[L_ADDED], tp = TAILQ_NEXT(tp, q)) if (db_append(sp, 1, lno, tp->lb, tp->len)) return (1); rp->cno = 0; @@ -160,7 +159,7 @@ put(SCR *sp, CB *cbp, ARG_CHAR_T *namep, MARK *cp, MARK *rp, int append) * the intermediate lines, because the line changes will lose * the cached line. */ - if (tp->q.cqe_next == (void *)&cbp->textq) { + if (TAILQ_NEXT(tp, q) == NULL) { if (clen > 0) { MEMCPYW(t, p, clen); t += clen; @@ -182,7 +181,7 @@ put(SCR *sp, CB *cbp, ARG_CHAR_T *namep, MARK *cp, MARK *rp, int append) * Last part of original line; check for space, reset * the pointer into the buffer. */ - ltp = cbp->textq.cqh_last; + ltp = TAILQ_LAST(&cbp->textq, _texth); len = t - bp; ADD_SPACE_RETW(sp, bp, blen, ltp->len + clen); t = bp + len; @@ -210,9 +209,9 @@ put(SCR *sp, CB *cbp, ARG_CHAR_T *namep, MARK *cp, MARK *rp, int append) } /* Output any intermediate lines in the CB. */ - for (tp = tp->q.cqe_next; - tp->q.cqe_next != (void *)&cbp->textq; - ++lno, ++sp->rptlines[L_ADDED], tp = tp->q.cqe_next) + for (tp = TAILQ_NEXT(tp, q); + TAILQ_NEXT(tp, q) != NULL; + ++lno, ++sp->rptlines[L_ADDED], tp = TAILQ_NEXT(tp, q)) if (db_append(sp, 1, lno, tp->lb, tp->len)) goto err; diff --git a/dist/nvi/common/recover.c b/external/bsd/nvi/dist/common/recover.c similarity index 98% rename from dist/nvi/common/recover.c rename to external/bsd/nvi/dist/common/recover.c index 5d426ffac..0776ef83f 100644 --- a/dist/nvi/common/recover.c +++ b/external/bsd/nvi/dist/common/recover.c @@ -1,5 +1,4 @@ -/* $NetBSD: recover.c,v 1.3 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: recover.c,v 1.4 2013/11/30 14:54:29 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: recover.c,v 10.31 2001/11/01 15:24:44 skimo Exp (Berkeley) Date: 2001/11/01 15:24:44"; +static const char sccsid[] = "Id: recover.c,v 10.31 2001/11/01 15:24:44 skimo Exp (Berkeley) Date: 2001/11/01 15:24:44 "; #endif /* not lint */ #include @@ -261,7 +260,15 @@ rcv_sync(SCR *sp, u_int flags) /* Sync the file if it's been modified. */ if (F_ISSET(ep, F_MODIFIED)) { - if (ep->db->sync(ep->db, 0)) { + /* + * If we are using a db1 version of the database, + * we want to sync the underlying btree not the + * recno tree which is transient anyway. + */ +#ifndef R_RECNOSYNC +#define R_RECNOSYNC 0 +#endif + if (ep->db->sync(ep->db, R_RECNOSYNC)) { F_CLR(ep, F_RCV_ON | F_RCV_NORM); msgq_str(sp, M_SYSERR, ep->rcv_path, "060|File backup failed: %s"); @@ -572,7 +579,7 @@ rcv_list(SCR *sp) next: (void)fclose(fp); } if (found == 0) - (void)printf("vi: no files to recover.\n"); + (void)printf("%s: No files to recover\n", sp->gp->progname); (void)closedir(dirp); return (0); } @@ -761,6 +768,7 @@ next: (void)close(fd); /* We believe the file is recoverable. */ F_SET(ep, F_RCV_ON); + free(pathp); return (0); } diff --git a/dist/nvi/common/screen.c b/external/bsd/nvi/dist/common/screen.c similarity index 88% rename from dist/nvi/common/screen.c rename to external/bsd/nvi/dist/common/screen.c index 86981ed0c..e8c881941 100644 --- a/dist/nvi/common/screen.c +++ b/external/bsd/nvi/dist/common/screen.c @@ -1,5 +1,4 @@ -/* $NetBSD: screen.c,v 1.1.1.2 2008/05/18 14:29:51 aymeric Exp $ */ - +/* $NetBSD: screen.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: screen.c,v 10.22 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12"; +static const char sccsid[] = "Id: screen.c,v 10.22 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12 "; #endif /* not lint */ #include @@ -30,6 +29,7 @@ static const char sccsid[] = "Id: screen.c,v 10.22 2001/06/25 15:19:12 skimo Exp #include "common.h" #include "../vi/vi.h" +static int screen_end1(SCR *, int); /* * screen_init -- * Do the default initialization of an SCR structure. @@ -60,7 +60,7 @@ screen_init(GS *gp, SCR *orig, SCR **spp) * we don't have the option information yet. */ - CIRCLEQ_INIT(&sp->tiq); + TAILQ_INIT(&sp->tiq); /* PARTIALLY OR COMPLETELY COPIED FROM PREVIOUS SCREEN. */ if (orig == NULL) { @@ -121,25 +121,18 @@ mem: msgq(orig, M_SYSERR, NULL); *spp = sp; return (0); -err: screen_end(sp); +err: screen_end1(sp, 0); return (1); } -/* - * screen_end -- - * Release a screen, no matter what had (and had not) been - * initialized. - * - * PUBLIC: int screen_end __P((SCR *)); - */ -int -screen_end(SCR *sp) +static int +screen_end1(SCR *sp, int init) { int rval; /* If multiply referenced, just decrement the count and return. */ - if (--sp->refcnt != 0) - return (0); + if (--sp->refcnt != 0) + return (0); /* * Remove the screen from the displayed queue. @@ -147,8 +140,8 @@ screen_end(SCR *sp) * If a created screen failed during initialization, it may not * be linked into the chain. */ - if (sp->q.cqe_next != NULL) - CIRCLEQ_REMOVE(&sp->wp->scrq, sp, q); + if (init) + TAILQ_REMOVE(&sp->wp->scrq, sp, q); /* The screen is no longer real. */ F_CLR(sp, SC_SCR_EX | SC_SCR_VI); @@ -173,7 +166,7 @@ screen_end(SCR *sp) } /* Free any text input. */ - if (sp->tiq.cqh_first != NULL) + if (!TAILQ_EMPTY(&sp->tiq)) text_lfree(&sp->tiq); /* Free alternate file name. */ @@ -203,6 +196,19 @@ screen_end(SCR *sp) return (rval); } +/* + * screen_end -- + * Release a screen, no matter what had (and had not) been + * initialized. + * + * PUBLIC: int screen_end __P((SCR *)); + */ +int +screen_end(SCR *sp) +{ + return screen_end1(sp, 1); +} + /* * screen_next -- * Return the next screen in the queue. @@ -219,18 +225,16 @@ screen_next(SCR *sp) /* Try the display queue, without returning the current screen. */ gp = sp->gp; wp = sp->wp; - for (next = wp->scrq.cqh_first; - next != (void *)&wp->scrq; next = next->q.cqe_next) + TAILQ_FOREACH(next, &wp->scrq, q) if (next != sp) break; - if (next != (void *)&wp->scrq) + if (next != NULL) return (next); /* Try the hidden queue; if found, move screen to the display queue. */ - if (gp->hq.cqh_first != (void *)&gp->hq) { - next = gp->hq.cqh_first; - CIRCLEQ_REMOVE(&gp->hq, next, q); - CIRCLEQ_INSERT_HEAD(&wp->scrq, next, q); + if ((next = TAILQ_FIRST(&gp->hq)) != NULL) { + TAILQ_REMOVE(&gp->hq, next, q); + TAILQ_INSERT_HEAD(&wp->scrq, next, q); next->wp = sp->wp; return (next); } diff --git a/dist/nvi/common/screen.h b/external/bsd/nvi/dist/common/screen.h similarity index 96% rename from dist/nvi/common/screen.h rename to external/bsd/nvi/dist/common/screen.h index 8da0ad593..df2742e2e 100644 --- a/dist/nvi/common/screen.h +++ b/external/bsd/nvi/dist/common/screen.h @@ -1,5 +1,4 @@ -/* $NetBSD: screen.h,v 1.2 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: screen.h,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: screen.h,v 10.49 2002/03/02 23:47:02 skimo Exp (Berkeley) Date: 2002/03/02 23:47:02 + * Id: screen.h,v 10.49 2002/03/02 23:47:02 skimo Exp (Berkeley) Date: 2002/03/02 23:47:02 */ /* @@ -31,9 +30,9 @@ * A list of screens that are displayed as a whole. */ struct _win { - CIRCLEQ_ENTRY(_win) q; /* Windows. */ + TAILQ_ENTRY(_win) q; /* Windows. */ - CIRCLEQ_HEAD(_scrh, _scr) scrq; /* Screens */ + TAILQ_HEAD(_scrh, _scr) scrq; /* Screens */ GS *gp; /* Pointer to global area. */ @@ -89,8 +88,8 @@ struct _win { */ struct _scr { /* INITIALIZED AT SCREEN CREATE. */ - CIRCLEQ_ENTRY(_scr) q; /* Screens. */ - CIRCLEQ_ENTRY(_scr) eq; /* Screens. */ + TAILQ_ENTRY(_scr) q; /* Screens. */ + TAILQ_ENTRY(_scr) eq; /* Screens. */ int id; /* Screen id #. */ int refcnt; /* Reference count. */ diff --git a/dist/nvi/common/search.c b/external/bsd/nvi/dist/common/search.c similarity index 97% rename from dist/nvi/common/search.c rename to external/bsd/nvi/dist/common/search.c index 5317e6b36..1d3698a2d 100644 --- a/dist/nvi/common/search.c +++ b/external/bsd/nvi/dist/common/search.c @@ -1,5 +1,4 @@ -/* $NetBSD: search.c,v 1.3 2009/01/22 10:33:58 lukem Exp $ */ - +/* $NetBSD: search.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: search.c,v 10.31 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12"; +static const char sccsid[] = "Id: search.c,v 10.31 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12 "; #endif /* not lint */ #include @@ -119,8 +118,8 @@ prev: if (sp->re == NULL) { /* Compile the RE. */ if (re_compile(sp, ptrn, plen, &sp->re, &sp->re_len, &sp->re_c, - SEARCH_CSEARCH | LF_ISSET(SEARCH_CSCOPE | SEARCH_IC | - SEARCH_LITERAL | SEARCH_MSG | SEARCH_TAG))) + SEARCH_CSEARCH | LF_ISSET(SEARCH_CSCOPE | SEARCH_EXTEND | + SEARCH_IC | SEARCH_LITERAL | SEARCH_MSG | SEARCH_TAG))) return (1); /* Set the search direction. */ diff --git a/dist/nvi/common/seq.c b/external/bsd/nvi/dist/common/seq.c similarity index 94% rename from dist/nvi/common/seq.c rename to external/bsd/nvi/dist/common/seq.c index 4361ba235..9f6eb7e85 100644 --- a/dist/nvi/common/seq.c +++ b/external/bsd/nvi/dist/common/seq.c @@ -1,5 +1,4 @@ -/* $NetBSD: seq.c,v 1.3 2011/03/21 14:53:02 tnozaki Exp $ */ - +/* $NetBSD: seq.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: seq.c,v 10.15 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12"; +static const char sccsid[] = "Id: seq.c,v 10.15 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12 "; #endif /* not lint */ #include @@ -185,8 +184,10 @@ seq_find(SCR *sp, SEQ **lastqp, EVENT *e_input, CHAR_T *c_input, size_t ilen, se */ if (ispartialp != NULL) *ispartialp = 0; - for (lqp = NULL, qp = sp->gp->seqq.lh_first; - qp != NULL; lqp = qp, qp = qp->q.le_next) { + + for (lqp = NULL, qp = LIST_FIRST(&sp->gp->seqq); + qp != NULL; + lqp = qp, qp = LIST_NEXT(qp, q)) { /* * Fast checks on the first character and type, and then * a real comparison. @@ -250,7 +251,7 @@ seq_close(GS *gp) { SEQ *qp; - while ((qp = gp->seqq.lh_first) != NULL) { + while ((qp = LIST_FIRST(&gp->seqq)) != NULL) { if (qp->name != NULL) free(qp->name); if (qp->input != NULL) @@ -278,7 +279,7 @@ seq_dump(SCR *sp, seq_t stype, int isname) cnt = 0; gp = sp->gp; - for (qp = gp->seqq.lh_first; qp != NULL; qp = qp->q.le_next) { + LIST_FOREACH(qp, &gp->seqq, q) { if (stype != qp->stype || F_ISSET(qp, SEQ_FUNCMAP)) continue; ++cnt; @@ -311,7 +312,7 @@ seq_dump(SCR *sp, seq_t stype, int isname) * seq_save -- * Save the sequence entries to a file. * - * PUBLIC: int seq_save __P((SCR *, FILE *, char *, seq_t)); + * PUBLIC: int seq_save __P((SCR *, FILE *, const char *, seq_t)); */ int seq_save(SCR *sp, FILE *fp, const char *prefix, seq_t stype) @@ -322,7 +323,7 @@ seq_save(SCR *sp, FILE *fp, const char *prefix, seq_t stype) ARG_CHAR_T ch; /* Write a sequence command for all keys the user defined. */ - for (qp = sp->gp->seqq.lh_first; qp != NULL; qp = qp->q.le_next) { + LIST_FOREACH(qp, &sp->gp->seqq, q) { if (stype != qp->stype || !F_ISSET(qp, SEQ_USERDEF)) continue; if (prefix) diff --git a/dist/nvi/common/seq.h b/external/bsd/nvi/dist/common/seq.h similarity index 91% rename from dist/nvi/common/seq.h rename to external/bsd/nvi/dist/common/seq.h index 41c50134f..192f4224e 100644 --- a/dist/nvi/common/seq.h +++ b/external/bsd/nvi/dist/common/seq.h @@ -1,5 +1,4 @@ -/* $NetBSD: seq.h,v 1.1.1.2 2008/05/18 14:29:52 aymeric Exp $ */ - +/* $NetBSD: seq.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: seq.h,v 10.3 1996/03/06 19:51:03 bostic Exp (Berkeley) Date: 1996/03/06 19:51:03 + * Id: seq.h,v 10.3 1996/03/06 19:51:03 bostic Exp (Berkeley) Date: 1996/03/06 19:51:03 */ /* diff --git a/dist/nvi/common/trace.c b/external/bsd/nvi/dist/common/trace.c similarity index 77% rename from dist/nvi/common/trace.c rename to external/bsd/nvi/dist/common/trace.c index ae0c5b961..f096c2db8 100644 --- a/dist/nvi/common/trace.c +++ b/external/bsd/nvi/dist/common/trace.c @@ -1,5 +1,4 @@ -/* $NetBSD: trace.c,v 1.1.1.2 2008/05/18 14:29:52 aymeric Exp $ */ - +/* $NetBSD: trace.c,v 1.3 2013/11/29 16:36:11 christos Exp $ */ /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: trace.c,v 8.4 1997/08/03 15:04:23 bostic Exp (Berkeley) Date: 1997/08/03 15:04:23"; +static const char sccsid[] = "Id: trace.c,v 8.4 1997/08/03 15:04:23 bostic Exp (Berkeley) Date: 1997/08/03 15:04:23 "; #endif /* not lint */ #include @@ -39,7 +38,7 @@ static FILE *tfp; * PUBLIC: void vtrace_end __P((void)); */ void -vtrace_end() +vtrace_end(void) { if (tfp != NULL && tfp != stderr) (void)fclose(tfp); @@ -49,11 +48,10 @@ vtrace_end() * vtrace_init -- * Initialize tracing. * - * PUBLIC: void vtrace_init __P((char *)); + * PUBLIC: void vtrace_init __P((const char *)); */ void -vtrace_init(name) - char *name; +vtrace_init(const char *name) { if (name == NULL || (tfp = fopen(name, "w")) == NULL) tfp = stderr; @@ -67,24 +65,14 @@ vtrace_init(name) * PUBLIC: void vtrace __P((const char *, ...)); */ void -#ifdef __STDC__ vtrace(const char *fmt, ...) -#else -vtrace(fmt, va_alist) - char *fmt; - va_dcl -#endif { va_list ap; if (tfp == NULL) vtrace_init(NULL); -#ifdef __STDC__ va_start(ap, fmt); -#else - va_start(ap); -#endif (void)vfprintf(tfp, fmt, ap); va_end(ap); diff --git a/dist/nvi/common/util.c b/external/bsd/nvi/dist/common/util.c similarity index 95% rename from dist/nvi/common/util.c rename to external/bsd/nvi/dist/common/util.c index 6fc793fd2..e78c510ee 100644 --- a/dist/nvi/common/util.c +++ b/external/bsd/nvi/dist/common/util.c @@ -1,5 +1,4 @@ -/* $NetBSD: util.c,v 1.4 2011/03/21 14:53:02 tnozaki Exp $ */ - +/* $NetBSD: util.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: util.c,v 10.22 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12"; +static const char sccsid[] = "Id: util.c,v 10.22 2001/06/25 15:19:12 skimo Exp (Berkeley) Date: 2001/06/25 15:19:12 "; #endif /* not lint */ #include @@ -105,7 +104,7 @@ nonblank(SCR *sp, db_recno_t lno, size_t *cnop) * tail -- * Return tail of a path. * - * PUBLIC: char *tail __P((char *)); + * PUBLIC: const char *tail __P((const char *)); */ const char * tail(const char *path) diff --git a/dist/nvi/common/util.h b/external/bsd/nvi/dist/common/util.h similarity index 92% rename from dist/nvi/common/util.h rename to external/bsd/nvi/dist/common/util.h index 3777c0015..cf1cb11a6 100644 --- a/dist/nvi/common/util.h +++ b/external/bsd/nvi/dist/common/util.h @@ -1,5 +1,4 @@ -/* $NetBSD: util.h,v 1.2 2009/01/18 03:43:45 lukem Exp $ */ - +/* $NetBSD: util.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: util.h,v 10.5 1996/03/16 14:42:47 bostic Exp (Berkeley) Date: 1996/03/16 14:42:47 + * Id: util.h,v 10.5 1996/03/16 14:42:47 bostic Exp (Berkeley) Date: 1996/03/16 14:42:47 */ /* Macros to init/set/clear/test flags. */ diff --git a/dist/nvi/common/util2.c b/external/bsd/nvi/dist/common/util2.c similarity index 90% rename from dist/nvi/common/util2.c rename to external/bsd/nvi/dist/common/util2.c index 56391dec7..628ae4e41 100644 --- a/dist/nvi/common/util2.c +++ b/external/bsd/nvi/dist/common/util2.c @@ -1,5 +1,4 @@ -/* $NetBSD: util2.c,v 1.1.1.2 2008/05/18 14:29:52 aymeric Exp $ */ - +/* $NetBSD: util2.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #include "config.h" #include diff --git a/dist/nvi/common/vi.src b/external/bsd/nvi/dist/common/vi.src similarity index 100% rename from dist/nvi/common/vi.src rename to external/bsd/nvi/dist/common/vi.src diff --git a/dist/nvi/common/vi_auto.c b/external/bsd/nvi/dist/common/vi_auto.c similarity index 99% rename from dist/nvi/common/vi_auto.c rename to external/bsd/nvi/dist/common/vi_auto.c index b0f33f194..e6faf9f2f 100644 --- a/dist/nvi/common/vi_auto.c +++ b/external/bsd/nvi/dist/common/vi_auto.c @@ -1,5 +1,3 @@ -/* $NetBSD: vi_auto.c,v 1.1.1.2 2008/05/18 14:29:53 aymeric Exp $ */ - /* Do not edit: automatically built by gen_rec.awk. */ #include #include diff --git a/dist/nvi/common/vi_auto.h b/external/bsd/nvi/dist/common/vi_auto.h similarity index 91% rename from dist/nvi/common/vi_auto.h rename to external/bsd/nvi/dist/common/vi_auto.h index e19509ed9..b766a9896 100644 --- a/dist/nvi/common/vi_auto.h +++ b/external/bsd/nvi/dist/common/vi_auto.h @@ -1,5 +1,3 @@ -/* $NetBSD: vi_auto.h,v 1.1.1.2 2008/05/18 14:29:53 aymeric Exp $ */ - /* Do not edit: automatically built by gen_rec.awk. */ #ifndef vi_AUTO_H diff --git a/dist/nvi/common/db.c b/external/bsd/nvi/dist/common/vi_db.c similarity index 76% rename from dist/nvi/common/db.c rename to external/bsd/nvi/dist/common/vi_db.c index f5f9c0035..ed3962f8a 100644 --- a/dist/nvi/common/db.c +++ b/external/bsd/nvi/dist/common/vi_db.c @@ -1,5 +1,3 @@ -/* $NetBSD: db.c,v 1.3 2008/12/09 16:50:22 christos Exp $ */ - /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,12 +10,13 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: db.c,v 10.48 2002/06/08 19:32:52 skimo Exp (Berkeley) Date: 2002/06/08 19:32:52"; +static const char sccsid[] = "Id: db.c,v 10.48 2002/06/08 19:32:52 skimo Exp (Berkeley) Date: 2002/06/08 19:32:52 "; #endif /* not lint */ #include #include #include +#include #include #include @@ -25,8 +24,10 @@ static const char sccsid[] = "Id: db.c,v 10.48 2002/06/08 19:32:52 skimo Exp (Be #include #include #include +#include #include "common.h" +#include "dbinternal.h" #include "../vi/vi.h" static int append __P((SCR*, db_recno_t, const CHAR_T*, size_t, lnop_t, int)); @@ -115,15 +116,15 @@ db_get(SCR *sp, db_recno_t lno, u_int32_t flags, CHAR_T **pp, size_t *lenp) * is there. */ if (F_ISSET(sp, SC_TINPUT)) { - l1 = ((TEXT *)sp->tiq.cqh_first)->lno; - l2 = ((TEXT *)sp->tiq.cqh_last)->lno; + l1 = TAILQ_FIRST(&sp->tiq)->lno; + l2 = TAILQ_LAST(&sp->tiq, _texth)->lno; if (l1 <= lno && l2 >= lno) { #if defined(DEBUG) && 0 vtrace(sp, "retrieve TEXT buffer line %lu\n", (u_long)lno); #endif - for (tp = sp->tiq.cqh_first; - tp->lno != lno; tp = tp->q.cqe_next); + for (tp = TAILQ_FIRST(&sp->tiq); + tp->lno != lno; tp = TAILQ_NEXT(tp, q)); if (lenp != NULL) *lenp = tp->len; if (pp != NULL) @@ -381,7 +382,7 @@ err2: * db_append -- * Append a line into the file. * - * PUBLIC: int db_append __P((SCR *, int, db_recno_t, CHAR_T *, size_t)); + * PUBLIC: int db_append __P((SCR *, int, db_recno_t, const CHAR_T *, size_t)); */ int db_append(SCR *sp, int update, db_recno_t lno, const CHAR_T *p, size_t len) @@ -496,8 +497,8 @@ db_exist(SCR *sp, db_recno_t lno) */ if (ep->c_nlines != OOBLNO) return (lno <= (F_ISSET(sp, SC_TINPUT) ? - ep->c_nlines + (((TEXT *)sp->tiq.cqh_last)->lno - - ((TEXT *)sp->tiq.cqh_first)->lno) : ep->c_nlines)); + ep->c_nlines + TAILQ_LAST(&sp->tiq, _texth)->lno - + TAILQ_FIRST(&sp->tiq)->lno : ep->c_nlines)); /* Go get the line. */ return (!db_get(sp, lno, 0, NULL, NULL)); @@ -532,8 +533,8 @@ db_last(SCR *sp, db_recno_t *lnop) if (ep->c_nlines != OOBLNO) { *lnop = ep->c_nlines; if (F_ISSET(sp, SC_TINPUT)) - *lnop += ((TEXT *)sp->tiq.cqh_last)->lno - - ((TEXT *)sp->tiq.cqh_first)->lno; + *lnop += TAILQ_LAST(&sp->tiq, _texth)->lno - + TAILQ_FIRST(&sp->tiq)->lno; return (0); } @@ -576,8 +577,8 @@ err1: /* Return the value. */ *lnop = (F_ISSET(sp, SC_TINPUT) && - ((TEXT *)sp->tiq.cqh_last)->lno > lno ? - ((TEXT *)sp->tiq.cqh_last)->lno : lno); + TAILQ_LAST(&sp->tiq, _texth)->lno > lno ? + TAILQ_LAST(&sp->tiq, _texth)->lno : lno); return (0); } @@ -615,13 +616,11 @@ scr_update(SCR *sp, db_recno_t lno, lnop_t op, int current) /* XXXX goes outside of window */ ep = sp->ep; if (ep->refcnt != 1) - for (wp = sp->gp->dq.cqh_first; wp != (void *)&sp->gp->dq; - wp = wp->q.cqe_next) - for (tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) - if (sp != tsp && tsp->ep == ep) - if (vs_change(tsp, lno, op)) - return (1); + TAILQ_FOREACH(wp, &sp->gp->dq, q) + TAILQ_FOREACH(tsp, &wp->scrq, q) + if (sp != tsp && tsp->ep == ep) + if (vs_change(tsp, lno, op)) + return (1); return (current ? vs_change(sp, lno, op) : 0); } @@ -641,8 +640,7 @@ update_cache(SCR *sp, lnop_t op, db_recno_t lno) * for db_insert. It might be better to adjust it, like * marks, @ and global */ - for (scrp = ep->scrq.cqh_first; scrp != (void *)&ep->scrq; - scrp = scrp->eq.cqe_next) + TAILQ_FOREACH(scrp, &ep->scrq, eq) switch (op) { case LINE_INSERT: case LINE_DELETE: @@ -652,7 +650,7 @@ update_cache(SCR *sp, lnop_t op, db_recno_t lno) case LINE_RESET: if (lno == scrp->c_lno) scrp->c_lno = OOBLNO; - /*FALLTHROUGH*/ + break; case LINE_APPEND: break; } @@ -664,7 +662,7 @@ update_cache(SCR *sp, lnop_t op, db_recno_t lno) break; case LINE_DELETE: --ep->c_nlines; - /*FALLTHROUGH*/ + break; case LINE_APPEND: case LINE_RESET: break; @@ -688,3 +686,155 @@ line_insdel(SCR *sp, lnop_t op, db_recno_t lno) return rval; } + +#ifdef USE_DB4_LOGGING +#define VI_DB_INIT_LOG DB_INIT_LOG +#else +#define VI_DB_INIT_LOG 0 +#endif + +/* + * PUBLIC: int db_setup __P((SCR *, EXF *)); + */ +int +db_setup(SCR *sp, EXF *ep) +{ + char path[MAXPATHLEN]; + int fd; + DB_ENV *env; + + (void)snprintf(path, sizeof(path), "%s/vi.XXXXXX", O_STR(sp, O_RECDIR)); + if ((fd = mkstemp(path)) == -1) { + msgq(sp, M_SYSERR, "%s", path); + goto err; + } + (void)close(fd); + (void)unlink(path); + if (mkdir(path, S_IRWXU)) { + msgq(sp, M_SYSERR, "%s", path); + goto err; + } + if (db_env_create(&env, 0)) { + msgq(sp, M_ERR, "env_create"); + goto err; + } +#ifdef USE_DB4_LOGGING + if ((sp->db_error = vi_db_init_recover(env))) { + msgq(sp, M_DBERR, "init_recover"); + goto err; + } + if ((sp->db_error = __vi_init_recover(env))) { + msgq(sp, M_DBERR, "init_recover"); + goto err; + } +#endif + if ((sp->db_error = db_env_open(env, path, + DB_PRIVATE | DB_CREATE | DB_INIT_MPOOL | VI_DB_THREAD + | VI_DB_INIT_LOG, 0)) != 0) { + msgq(sp, M_DBERR, "env->open"); + goto err; + } + + if ((ep->env_path = strdup(path)) == NULL) { + msgq(sp, M_SYSERR, NULL); + (void)rmdir(path); + goto err; + } + ep->env = env; + return 0; +err: + return 1; +} + +/* Round up v to the nearest power of 2 */ +static size_t round_up(size_t v) +{ + ssize_t old_v = v; + + while (v) { + old_v = v; + v ^= v & -v; + } + return old_v << 1; +} + +/* + * PUBLIC: int db_msg_open __P((SCR *, const char *, DB **)); + */ +int db_msg_open(SCR *sp, const char *file, DB **dbp) +{ + return (sp->db_error = db_create(dbp, 0, 0)) != 0 || + (sp->db_error = (*dbp)->set_re_source(*dbp, file)) != 0 || + (sp->db_error = db_open(*dbp, NULL, DB_RECNO, 0, 0)) != 0; +} + +/* + * PUBLIC: int db_init __P((SCR *, EXF *, char *, char *, size_t, int *)); + */ +int +db_init(SCR *sp, EXF *ep, char *rcv_name, char *oname, size_t psize, int *open_err) +{ + if (db_setup(sp, ep)) + return 1; + + /* Open a db structure. */ + if ((sp->db_error = db_create(&ep->db, 0, 0)) != 0) { + msgq(sp, M_DBERR, "db_create"); + return 1; + } + + ep->db->set_re_delim(ep->db, '\n'); /* Always set. */ + ep->db->set_pagesize(ep->db, round_up(psize)); + ep->db->set_flags(ep->db, DB_RENUMBER | DB_SNAPSHOT); + if (rcv_name == NULL) + ep->db->set_re_source(ep->db, oname); + +/* + * Don't let db use mmap when using fcntl for locking + */ +#ifdef HAVE_LOCK_FCNTL +#define NOMMAPIFFCNTL DB_NOMMAP +#else +#define NOMMAPIFFCNTL 0 +#endif + +#define _DB_OPEN_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH + + if ((sp->db_error = db_open(ep->db, ep->rcv_path, DB_RECNO, + ((rcv_name == 0) ? DB_TRUNCATE : 0) | VI_DB_THREAD | NOMMAPIFFCNTL, + _DB_OPEN_MODE)) != 0) { + msgq_str(sp, + M_DBERR, rcv_name == NULL ? oname : rcv_name, "%s"); + /* + * !!! + * Historically, vi permitted users to edit files that couldn't + * be read. This isn't useful for single files from a command + * line, but it's quite useful for "vi *.c", since you can skip + * past files that you can't read. + */ + ep->db = NULL; /* Don't close it; it wasn't opened */ + + *open_err = 1; + return 1; + } + + /* re_source is loaded into the database. + * Close it and reopen it in the environment. + */ + if ((sp->db_error = ep->db->close(ep->db, 0))) { + msgq(sp, M_DBERR, "close"); + return 1; + } + if ((sp->db_error = db_create(&ep->db, ep->env, 0)) != 0) { + msgq(sp, M_DBERR, "db_create 2"); + return 1; + } + if ((sp->db_error = db_open(ep->db, ep->rcv_path, DB_RECNO, + VI_DB_THREAD | NOMMAPIFFCNTL, _DB_OPEN_MODE)) != 0) { + msgq_str(sp, + M_DBERR, ep->rcv_path, "%s"); + return 1; + } + + return 0; +} diff --git a/dist/nvi/common/db.h b/external/bsd/nvi/dist/common/vi_db.h similarity index 80% rename from dist/nvi/common/db.h rename to external/bsd/nvi/dist/common/vi_db.h index d3bef8ec0..9184fc546 100644 --- a/dist/nvi/common/db.h +++ b/external/bsd/nvi/dist/common/vi_db.h @@ -1,4 +1,4 @@ -/* $NetBSD: db.h,v 1.3 2008/08/05 15:49:18 aymeric Exp $ */ +/* $NetBSD: vi_db.h,v 1.3 2013/11/29 22:56:19 christos Exp $ */ #include @@ -6,6 +6,27 @@ #define DB_BUFFER_SMALL ENOMEM #endif +#ifdef USE_BUNDLED_DB + +typedef void DB_ENV; + +typedef recno_t db_recno_t; +#define DB_MAX_RECORDS MAX_REC_NUMBER + +#define db_env_close(env,flags) +#define db_env_create(env,flags) \ + (((void)env), 1) +#define db_env_remove(env,path,flags) \ + 1 +#define db_open(db,file,type,flags,mode) \ + (db)->open(db, file, NULL, type, flags, mode) +#define db_get_low(db,key,data,flags) \ + (db)->get(db, key, data, flags) +#define db_close(db) \ + (db)->close(db) + +#else + #if USE_DB1 || (DB_VERSION_MAJOR >= 3 && DB_VERSION_MINOR >= 1) #define db_env_open(env,path,flags,mode) \ (env)->open(env, path, flags, mode) @@ -18,6 +39,9 @@ (env)->remove(env, path, NULL, flags) #endif +#define db_env_close(env,flags) \ + (env)->close(env, flags) + #if DB_VERSION_MAJOR >= 4 && DB_VERSION_MINOR >= 1 #define db_open(db,file,type,flags,mode) \ (db)->open(db, NULL, file, NULL, type, flags, mode) @@ -25,6 +49,12 @@ #define db_open(db,file,type,flags,mode) \ (db)->open(db, file, NULL, type, flags, mode) #endif +#define db_get_low(db,key,data,flags) \ + (db)->get(db, NULL, key, data, flags) +#define db_close(db) \ + (db)->close(db, DB_NOSYNC) + +#endif #ifdef USE_DYNAMIC_LOADING #define db_create nvi_db_create diff --git a/external/bsd/nvi/dist/common/vi_db1.c b/external/bsd/nvi/dist/common/vi_db1.c new file mode 100644 index 000000000..ec24ed2b4 --- /dev/null +++ b/external/bsd/nvi/dist/common/vi_db1.c @@ -0,0 +1,736 @@ +/*- + * Copyright (c) 1992, 1993, 1994 + * The Regents of the University of California. All rights reserved. + * Copyright (c) 1992, 1993, 1994, 1995, 1996 + * Keith Bostic. All rights reserved. + * + * See the LICENSE file for redistribution information. + */ + +#include "config.h" + +#ifndef lint +static const char sccsid[] = "Id: db1.c,v 10.1 2002/03/09 12:53:57 skimo Exp (Berkeley) Date: 2002/03/09 12:53:57 "; +#endif /* not lint */ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "../vi/vi.h" +#include "dbinternal.h" + +/* + * db_eget -- + * Front-end to db_get, special case handling for empty files. + * + * PUBLIC: int db_eget __P((SCR *, db_recno_t, CHAR_T **, size_t *, int *)); + */ +int +db_eget(SCR *sp, db_recno_t lno, CHAR_T **pp, size_t *lenp, int *isemptyp) + + /* Line number. */ + /* Pointer store. */ + /* Length store. */ + +{ + db_recno_t l1; + + if (isemptyp != NULL) + *isemptyp = 0; + + /* If the line exists, simply return it. */ + if (!db_get(sp, lno, 0, pp, lenp)) + return (0); + + /* + * If the user asked for line 0 or line 1, i.e. the only possible + * line in an empty file, find the last line of the file; db_last + * fails loudly. + */ + if ((lno == 0 || lno == 1) && db_last(sp, &l1)) + return (1); + + /* If the file isn't empty, fail loudly. */ + if ((lno != 0 && lno != 1) || l1 != 0) { + db_err(sp, lno); + return (1); + } + + if (isemptyp != NULL) + *isemptyp = 1; + + return (1); +} + +/* + * db_get -- + * Look in the text buffers for a line, followed by the cache, followed + * by the database. + * + * PUBLIC: int db_get __P((SCR *, db_recno_t, u_int32_t, CHAR_T **, size_t *)); + */ +int +db_get(SCR *sp, db_recno_t lno, u_int32_t flags, CHAR_T **pp, size_t *lenp) + + /* Line number. */ + + /* Pointer store. */ + /* Length store. */ +{ + DBT data, key; + EXF *ep; + TEXT *tp; + db_recno_t l1, l2; + const CHAR_T *wp; + size_t wlen; + size_t nlen; + + /* + * The underlying recno stuff handles zero by returning NULL, but + * have to have an OOB condition for the look-aside into the input + * buffer anyway. + */ + if (lno == 0) + goto err1; + + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + goto err3; + } + + if (LF_ISSET(DBG_NOCACHE)) + goto nocache; + + /* + * Look-aside into the TEXT buffers and see if the line we want + * is there. + */ + if (F_ISSET(sp, SC_TINPUT)) { + l1 = TAILQ_FIRST(&sp->tiq)->lno; + l2 = TAILQ_LAST(&sp->tiq, _texth)->lno; + if (l1 <= lno && l2 >= lno) { +#if defined(DBDEBUG) && defined(TRACE) + vtrace( + "retrieve TEXT buffer line %lu\n", (u_long)lno); +#endif + for (tp = TAILQ_FIRST(&sp->tiq); + tp->lno != lno; tp = TAILQ_NEXT(tp, q)); + if (lenp != NULL) + *lenp = tp->len; + if (pp != NULL) + *pp = tp->lb; + return (0); + } + /* + * Adjust the line number for the number of lines used + * by the text input buffers. + */ + if (lno > l2) + lno -= l2 - l1; + } + + /* Look-aside into the cache, and see if the line we want is there. */ + if (lno == sp->c_lno) { +#if defined(DBDEBUG) && defined(TRACE) + vtrace("retrieve cached line %lu\n", (u_long)lno); +#endif + if (lenp != NULL) + *lenp = sp->c_len; + if (pp != NULL) + *pp = sp->c_lp; + return (0); + } + sp->c_lno = OOBLNO; + +nocache: + nlen = 1024; +retry: + /* data.size contains length in bytes */ + BINC_GOTO(sp, CHAR_T, sp->c_lp, sp->c_blen, nlen); + + /* Get the line from the underlying database. */ + key.data = &lno; + key.size = sizeof(lno); + switch (ep->db->get(ep->db, &key, &data, 0)) { + case -1: + goto err2; + case 1: +err1: if (LF_ISSET(DBG_FATAL)) +err2: db_err(sp, lno); +alloc_err: +err3: if (lenp != NULL) + *lenp = 0; + if (pp != NULL) + *pp = NULL; + return (1); + case 0: + if (data.size > nlen) { + nlen = data.size; + goto retry; + } else + memcpy(sp->c_lp, data.data, nlen); + } + + if (FILE2INT(sp, data.data, data.size, wp, wlen)) { + if (!F_ISSET(sp, SC_CONV_ERROR)) { + F_SET(sp, SC_CONV_ERROR); + msgq(sp, M_ERR, "324|Conversion error on line %d", lno); + } + goto err3; + } + + /* Reset the cache. */ + if (wp != data.data) { + BINC_GOTOW(sp, sp->c_lp, sp->c_blen, wlen); + MEMCPYW(sp->c_lp, wp, wlen); + } + sp->c_lno = lno; + sp->c_len = wlen; + +#if defined(DBDEBUG) && defined(TRACE) + vtrace("retrieve DB line %lu\n", (u_long)lno); +#endif + if (lenp != NULL) + *lenp = wlen; + if (pp != NULL) + *pp = sp->c_lp; + return (0); +} + +/* + * db_delete -- + * Delete a line from the file. + * + * PUBLIC: int db_delete __P((SCR *, db_recno_t)); + */ +int +db_delete(SCR *sp, db_recno_t lno) +{ + DBT key; + EXF *ep; + +#if defined(DBDEBUG) && defined(TRACE) + vtrace("delete line %lu\n", (u_long)lno); +#endif + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + return (1); + } + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + + /* Update marks, @ and global commands. */ + if (mark_insdel(sp, LINE_DELETE, lno)) + return (1); + if (ex_g_insdel(sp, LINE_DELETE, lno)) + return (1); + + /* Log change. */ + log_line(sp, lno, LOG_LINE_DELETE_B); + + /* Update file. */ + key.data = &lno; + key.size = sizeof(lno); + sp->db_error = ep->db->del(ep->db, &key, 0); + if (sp->db_error != 0) { + if (sp->db_error == -1) + sp->db_error = errno; + + msgq(sp, M_DBERR, "003|unable to delete line %lu", + (u_long)lno); + return (1); + } + + /* Flush the cache, update line count, before screen update. */ + update_cache(sp, LINE_DELETE, lno); + + /* File now modified. */ + if (F_ISSET(ep, F_FIRSTMODIFY)) + (void)rcv_init(sp); + F_SET(ep, F_MODIFIED); + + /* Log after change. */ + log_line(sp, lno, LOG_LINE_DELETE_F); + + /* Update screen. */ + return (scr_update(sp, lno, LINE_DELETE, 1)); +} + +/* + * db_append -- + * Append a line into the file. + * + * PUBLIC: int db_append __P((SCR *, int, db_recno_t, const CHAR_T *, size_t)); + */ +int +db_append(SCR *sp, int update, db_recno_t lno, const CHAR_T *p, size_t len) +{ + DBT data, key; + EXF *ep; + const char *fp; + size_t flen; + int rval; + +#if defined(DBDEBUG) && defined(TRACE) + vtrace("append to %lu: len %u {%.*s}\n", lno, len, MIN(len, 20), p); +#endif + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + return (1); + } + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + + /* Log before change. */ + log_line(sp, lno + 1, LOG_LINE_APPEND_B); + + INT2FILE(sp, p, len, fp, flen); + + /* Update file. */ + key.data = &lno; + key.size = sizeof(lno); + data.data = __UNCONST(fp); + data.size = flen; + if (ep->db->put(ep->db, &key, &data, R_IAFTER)) { + msgq(sp, M_DBERR, "004|unable to append to line %lu", + (u_long)lno); + return (1); + } + + /* Flush the cache, update line count, before screen update. */ + update_cache(sp, LINE_INSERT, lno); + + /* File now dirty. */ + if (F_ISSET(ep, F_FIRSTMODIFY)) + (void)rcv_init(sp); + F_SET(ep, F_MODIFIED); + + /* Log after change. */ + log_line(sp, lno + 1, LOG_LINE_APPEND_F); + + /* Update marks, @ and global commands. */ + rval = 0; + if (mark_insdel(sp, LINE_INSERT, lno + 1)) + rval = 1; + if (ex_g_insdel(sp, LINE_INSERT, lno + 1)) + rval = 1; + + /* + * Update screen. + * + * XXX + * Nasty hack. If multiple lines are input by the user, they aren't + * committed until an is entered. The problem is the screen was + * updated/scrolled as each line was entered. So, when this routine + * is called to copy the new lines from the cut buffer into the file, + * it has to know not to update the screen again. + */ + return (scr_update(sp, lno, LINE_APPEND, update) || rval); +} + +/* + * db_insert -- + * Insert a line into the file. + * + * PUBLIC: int db_insert __P((SCR *, db_recno_t, CHAR_T *, size_t)); + */ +int +db_insert(SCR *sp, db_recno_t lno, CHAR_T *p, size_t len) +{ + DBT data, key; + EXF *ep; + const char *fp; + size_t flen; + int rval; + +#if defined(DBDEBUG) && defined(TRACE) + vtrace("insert before %lu: len %lu {%.*s}\n", + (u_long)lno, (u_long)len, MIN(len, 20), p); +#endif + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + return (1); + } + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + + /* Log before change. */ + log_line(sp, lno, LOG_LINE_APPEND_B); + + INT2FILE(sp, p, len, fp, flen); + + /* Update file. */ + key.data = &lno; + key.size = sizeof(lno); + data.data = __UNCONST(fp); + data.size = flen; + if (ep->db->put(ep->db, &key, &data, R_IBEFORE)) { + msgq(sp, M_SYSERR, + "005|unable to insert at line %lu", (u_long)lno); + return (1); + } + + /* Flush the cache, update line count, before screen update. */ + update_cache(sp, LINE_INSERT, lno); + + /* File now dirty. */ + if (F_ISSET(ep, F_FIRSTMODIFY)) + (void)rcv_init(sp); + F_SET(ep, F_MODIFIED); + + /* Log after change. */ + log_line(sp, lno, LOG_LINE_APPEND_F); + + /* Update marks, @ and global commands. */ + rval = 0; + if (mark_insdel(sp, LINE_INSERT, lno)) + rval = 1; + if (ex_g_insdel(sp, LINE_INSERT, lno)) + rval = 1; + + /* Update screen. */ + return (scr_update(sp, lno, LINE_INSERT, 1) || rval); +} + +/* + * db_set -- + * Store a line in the file. + * + * PUBLIC: int db_set __P((SCR *, db_recno_t, CHAR_T *, size_t)); + */ +int +db_set(SCR *sp, db_recno_t lno, CHAR_T *p, size_t len) +{ + DBT data, key; + EXF *ep; + const char *fp; + size_t flen; + +#if defined(DBDEBUG) && defined(TRACE) + vtrace("replace line %lu: len %lu {%.*s}\n", + (u_long)lno, (u_long)len, MIN(len, 20), p); +#endif + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + return (1); + } + if (ep->l_win && ep->l_win != sp->wp) { + ex_emsg(sp, NULL, EXM_LOCKED); + return 1; + } + + /* Log before change. */ + log_line(sp, lno, LOG_LINE_RESET_B); + + INT2FILE(sp, p, len, fp, flen); + + /* Update file. */ + key.data = &lno; + key.size = sizeof(lno); + data.data = __UNCONST(fp); + data.size = flen; + sp->db_error = + ep->db->put(ep->db, &key, &data, 0); + if (sp->db_error != 0) { + if (sp->db_error == -1) + sp->db_error = errno; + + msgq(sp, M_DBERR, "006|unable to store line %lu", (u_long)lno); + return (1); + } + + /* Flush the cache, before logging or screen update. */ + update_cache(sp, LINE_RESET, lno); + + /* File now dirty. */ + if (F_ISSET(ep, F_FIRSTMODIFY)) + (void)rcv_init(sp); + F_SET(ep, F_MODIFIED); + + /* Log after change. */ + log_line(sp, lno, LOG_LINE_RESET_F); + + /* Update screen. */ + return (scr_update(sp, lno, LINE_RESET, 1)); +} + +/* + * db_exist -- + * Return if a line exists. + * + * PUBLIC: int db_exist __P((SCR *, db_recno_t)); + */ +int +db_exist(SCR *sp, db_recno_t lno) +{ + EXF *ep; + + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + return (1); + } + + if (lno == OOBLNO) + return (0); + + /* + * Check the last-line number cache. Adjust the cached line + * number for the lines used by the text input buffers. + */ + if (ep->c_nlines != OOBLNO) + return (lno <= (F_ISSET(sp, SC_TINPUT) ? + ep->c_nlines + (TAILQ_LAST(&sp->tiq, _texth)->lno - + TAILQ_FIRST(&sp->tiq)->lno) : ep->c_nlines)); + + /* Go get the line. */ + return (!db_get(sp, lno, 0, NULL, NULL)); +} + +/* + * db_last -- + * Return the number of lines in the file. + * + * PUBLIC: int db_last __P((SCR *, db_recno_t *)); + */ +int +db_last(SCR *sp, db_recno_t *lnop) +{ + DBT data, key; + EXF *ep; + db_recno_t lno; + const CHAR_T *wp; + size_t wlen; + + /* Check for no underlying file. */ + if ((ep = sp->ep) == NULL) { + ex_emsg(sp, NULL, EXM_NOFILEYET); + return (1); + } + + /* + * Check the last-line number cache. Adjust the cached line + * number for the lines used by the text input buffers. + */ + if (ep->c_nlines != OOBLNO) { + *lnop = ep->c_nlines; + if (F_ISSET(sp, SC_TINPUT)) + *lnop += TAILQ_LAST(&sp->tiq, _texth)->lno - + TAILQ_FIRST(&sp->tiq)->lno; + return (0); + } + + key.data = &lno; + key.size = sizeof(lno); + + sp->db_error = ep->db->seq(ep->db, &key, &data, R_LAST); + switch (sp->db_error) { + case 1: + *lnop = 0; + return (0); + case -1: + sp->db_error = errno; +alloc_err: + msgq(sp, M_DBERR, "007|unable to get last line"); + *lnop = 0; + return (1); + case 0: + ; + } + + memcpy(&lno, key.data, sizeof(lno)); + + if (lno != sp->c_lno) { + FILE2INT(sp, data.data, data.size, wp, wlen); + + /* Fill the cache. */ + BINC_GOTOW(sp, sp->c_lp, sp->c_blen, wlen); + MEMCPYW(sp->c_lp, wp, wlen); + sp->c_lno = lno; + sp->c_len = wlen; + } + ep->c_nlines = lno; + + /* Return the value. */ + *lnop = (F_ISSET(sp, SC_TINPUT) && + TAILQ_LAST(&sp->tiq, _texth)->lno > lno ? + TAILQ_LAST(&sp->tiq, _texth)->lno : lno); + return (0); +} + +/* + * db_err -- + * Report a line error. + * + * PUBLIC: void db_err __P((SCR *, db_recno_t)); + */ +void +db_err(SCR *sp, db_recno_t lno) +{ + msgq(sp, M_ERR, + "008|Error: unable to retrieve line %lu", (u_long)lno); +} + +/* + * scr_update -- + * Update all of the screens that are backed by the file that + * just changed. + * PUBLIC: int scr_update __P((SCR *sp, db_recno_t lno, + * PUBLIC: lnop_t op, int current)); + */ +int +scr_update(SCR *sp, db_recno_t lno, lnop_t op, int current) +{ + EXF *ep; + SCR *tsp; + WIN *wp; + + if (F_ISSET(sp, SC_EX)) + return (0); + + /* XXXX goes outside of window */ + ep = sp->ep; + if (ep->refcnt != 1) + TAILQ_FOREACH(wp, &sp->gp->dq, q) + TAILQ_FOREACH(tsp, &wp->scrq, q) + if (sp != tsp && tsp->ep == ep) + if (vs_change(tsp, lno, op)) + return (1); + return (current ? vs_change(sp, lno, op) : 0); +} + +/* + * PUBLIC: void update_cache __P((SCR *sp, lnop_t op, db_recno_t lno)); + */ +void +update_cache(SCR *sp, lnop_t op, db_recno_t lno) +{ + SCR* scrp; + EXF *ep; + + ep = sp->ep; + + /* Flush the cache, update line count, before screen update. */ + /* The flushing is probably not needed, since it was incorrect + * for db_insert. It might be better to adjust it, like + * marks, @ and global + */ + TAILQ_FOREACH(scrp, &ep->scrq, eq) + switch (op) { + case LINE_INSERT: + case LINE_DELETE: + if (lno <= scrp->c_lno) + scrp->c_lno = OOBLNO; + break; + case LINE_RESET: + if (lno == scrp->c_lno) + scrp->c_lno = OOBLNO; + break; + case LINE_APPEND: + break; + } + + if (ep->c_nlines != OOBLNO) + switch (op) { + case LINE_INSERT: + ++ep->c_nlines; + break; + case LINE_DELETE: + --ep->c_nlines; + break; + case LINE_APPEND: + case LINE_RESET: + break; + } +} + +/* + * PUBLIC: int db_msg_open __P((SCR *, const char *, DB **)); + */ +int db_msg_open(SCR *sp, const char *file, DB **dbp) +{ + *dbp = dbopen(file, O_NONBLOCK | O_RDONLY, 0, DB_RECNO, NULL); + + return *dbp == NULL; +} + +/* + * PUBLIC: int db_init __P((SCR *, EXF *, char *, char *, size_t, int *)); + */ +int +db_init(SCR *sp, EXF *ep, char *rcv_name, char *oname, size_t psize, int *open_err) +{ + RECNOINFO oinfo; + + memset(&oinfo, 0, sizeof(RECNOINFO)); + oinfo.bval = '\n'; /* Always set. */ + /* + * If we are not recovering, set the pagesize and arrange to + * first get a snapshot of the file. + */ + if (rcv_name == NULL) { + oinfo.psize = psize; + oinfo.flags = R_SNAPSHOT; + } + /* + * Always set the btree name, otherwise we are going to be using + * an in-memory database for the btree. + */ + oinfo.bfname = ep->rcv_path; + +#define _DB_OPEN_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH + + ep->db = dbopen(rcv_name == NULL ? oname : NULL, + O_NONBLOCK | O_RDONLY, _DB_OPEN_MODE, DB_RECNO, &oinfo); + + if (!ep->db) { + msgq_str(sp, + M_DBERR, rcv_name == NULL ? oname : rcv_name, "%s"); + /* + * !!! + * Historically, vi permitted users to edit files that couldn't + * be read. This isn't useful for single files from a command + * line, but it's quite useful for "vi *.c", since you can skip + * past files that you can't read. + */ + ep->db = NULL; /* Don't close it; it wasn't opened */ + + *open_err = 1; + return 1; + } else { + /* + * We always sync the underlying btree so that the header + * is written first + */ + ep->db->sync(ep->db, R_RECNOSYNC); + } + + return 0; +} + +const char * +db_strerror(int error) +{ + return error > 0 ? strerror(error) : "record not found"; +} diff --git a/dist/nvi/common/vi_rec.c b/external/bsd/nvi/dist/common/vi_rec.c similarity index 98% rename from dist/nvi/common/vi_rec.c rename to external/bsd/nvi/dist/common/vi_rec.c index f11bd5234..cf89cd7e1 100644 --- a/dist/nvi/common/vi_rec.c +++ b/external/bsd/nvi/dist/common/vi_rec.c @@ -1,5 +1,3 @@ -/* $NetBSD: vi_rec.c,v 1.1.1.2 2008/05/18 14:29:53 aymeric Exp $ */ - #include "db_config.h" #ifndef NO_SYSTEM_INCLUDES diff --git a/external/bsd/nvi/dist/dist/AUTHORS b/external/bsd/nvi/dist/dist/AUTHORS new file mode 100644 index 000000000..e69de29bb diff --git a/external/bsd/nvi/dist/dist/COPYING b/external/bsd/nvi/dist/dist/COPYING new file mode 100644 index 000000000..94a9ed024 --- /dev/null +++ b/external/bsd/nvi/dist/dist/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + 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. + + + Copyright (C) + + 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 . + +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: + + Copyright (C) + 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 +. + + 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 +. diff --git a/external/bsd/nvi/dist/dist/ChangeLog b/external/bsd/nvi/dist/dist/ChangeLog new file mode 100644 index 000000000..e69de29bb diff --git a/dist/nvi/dist/ExtUtils/Embed.pm b/external/bsd/nvi/dist/dist/ExtUtils/Embed.pm similarity index 98% rename from dist/nvi/dist/ExtUtils/Embed.pm rename to external/bsd/nvi/dist/dist/ExtUtils/Embed.pm index 4cb97856f..7ad89254e 100644 --- a/dist/nvi/dist/ExtUtils/Embed.pm +++ b/external/bsd/nvi/dist/dist/ExtUtils/Embed.pm @@ -1,4 +1,4 @@ -# Id: Embed.pm,v 10.2 1996/09/19 09:12:51 bostic Exp +# Id: Embed.pm,v 10.2 1996/09/19 09:12:51 bostic Exp require 5.002; package ExtUtils::Embed; @@ -17,7 +17,7 @@ use vars qw(@ISA @EXPORT $VERSION ); use strict; -$VERSION = sprintf("%d.%02d", qRevision: 10.2 =~ /(\d+)\.(\d+)/); +$VERSION = sprintf("%d.%02d", qRevision: 10.2 =~ /(\d+)\.(\d+)/); #for the namespace change $Devel::embed::VERSION = "99.99"; diff --git a/external/bsd/nvi/dist/dist/INSTALL b/external/bsd/nvi/dist/dist/INSTALL new file mode 100644 index 000000000..6e90e07d2 --- /dev/null +++ b/external/bsd/nvi/dist/dist/INSTALL @@ -0,0 +1,370 @@ +Installation Instructions +************************* + +Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation, +Inc. + + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. + +Basic Installation +================== + + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, and a +file `config.log' containing compiler output (useful mainly for +debugging `configure'). + + It can also use an optional file (typically called `config.cache' +and enabled with `--cache-file=config.cache' or simply `-C') that saves +the results of its tests to speed up reconfiguring. Caching is +disabled by default to prevent problems with accidental use of stale +cache files. + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If you are using the cache, and at +some point `config.cache' contains results you don't want to keep, you +may remove or edit it. + + The file `configure.ac' (or `configure.in') is used to create +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. + + The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. + + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package, generally using the just-built uninstalled binaries. + + 4. Type `make install' to install the programs and any data files and + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. + + You can give `configure' initial values for configuration parameters +by setting variables in the command line or in the environment. Here +is an example: + + ./configure CC=c99 CFLAGS=-g LIBS=-lposix + + *Note Defining Variables::, for more details. + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you can use GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. + + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + +Installation Names +================== + + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=DIR' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This +directory contains several dysfunctional programs; working variants of +these programs are available in `/usr/bin'. So, if you need `/usr/ucb' +in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', +not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + +Specifying the System Type +========================== + + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the +`--build=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name which has the form: + + CPU-COMPANY-SYSTEM + +where SYSTEM can have one of these forms: + + OS + KERNEL-OS + + See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the machine type. + + If you are _building_ compiler tools for cross-compiling, you should +use the option `--target=TYPE' to select the type of system they will +produce code for. + + If you want to _use_ a cross compiler, that generates code for a +platform different from the build platform, you should specify the +"host" platform (i.e., that on which the generated programs will +eventually be run) with `--host=TYPE'. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Defining Variables +================== + + Variables not defined in a site shell script can be set in the +environment passed to `configure'. However, some packages may run +configure again during the build, and the customized values of these +variables may be lost. In order to avoid this problem, you should set +them in the `configure' command line, using `VAR=value'. For example: + + ./configure CC=/usr/local2/bin/gcc + +causes the specified `gcc' to be used as the C compiler (unless it is +overridden in the site shell script). + +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf limitation. Until the limitation is lifted, you can use +this workaround: + + CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash + +`configure' Invocation +====================== + + `configure' recognizes the following options to control how it +operates. + +`--help' +`-h' + Print a summary of all of the options to `configure', and exit. + +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + +`--version' +`-V' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`--cache-file=FILE' + Enable the cache: use and save the results of the tests in FILE, + traditionally `config.cache'. FILE defaults to `/dev/null' to + disable caching. + +`--config-cache' +`-C' + Alias for `--cache-file=config.cache'. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--prefix=DIR' + Use DIR as the installation prefix. *note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + +`configure' also accepts some other, not widely useful, options. Run +`configure --help' for more details. diff --git a/dist/nvi/dist/Makefile.am b/external/bsd/nvi/dist/dist/Makefile.am similarity index 88% rename from dist/nvi/dist/Makefile.am rename to external/bsd/nvi/dist/dist/Makefile.am index c1d6871a8..46c09fcaa 100644 --- a/dist/nvi/dist/Makefile.am +++ b/external/bsd/nvi/dist/dist/Makefile.am @@ -2,8 +2,46 @@ visrcdir= @srcdir@/.. ACLOCAL_AMFLAGS = -I m4 +if BUNDLED_DB + DB_C = $(visrcdir)/common/vi_db1.c + DB_SRCS = \ + $(visrcdir)/db.1.85/recno/rec_delete.c \ + $(visrcdir)/db.1.85/recno/rec_get.c \ + $(visrcdir)/db.1.85/recno/rec_put.c \ + $(visrcdir)/db.1.85/recno/rec_utils.c \ + $(visrcdir)/db.1.85/recno/rec_open.c \ + $(visrcdir)/db.1.85/recno/rec_seq.c \ + $(visrcdir)/db.1.85/recno/rec_close.c \ + $(visrcdir)/db.1.85/recno/rec_search.c \ + $(visrcdir)/db.1.85/db/db.c \ + $(visrcdir)/db.1.85/btree/bt_debug.c \ + $(visrcdir)/db.1.85/btree/bt_get.c \ + $(visrcdir)/db.1.85/btree/bt_open.c \ + $(visrcdir)/db.1.85/btree/bt_delete.c \ + $(visrcdir)/db.1.85/btree/bt_put.c \ + $(visrcdir)/db.1.85/btree/bt_overflow.c \ + $(visrcdir)/db.1.85/btree/bt_close.c \ + $(visrcdir)/db.1.85/btree/bt_page.c \ + $(visrcdir)/db.1.85/btree/bt_split.c \ + $(visrcdir)/db.1.85/btree/bt_search.c \ + $(visrcdir)/db.1.85/btree/bt_utils.c \ + $(visrcdir)/db.1.85/btree/bt_seq.c \ + $(visrcdir)/db.1.85/btree/bt_conv.c \ + $(visrcdir)/db.1.85/mpool/mpool.c \ + $(visrcdir)/db.1.85/hash/hash_bigkey.c \ + $(visrcdir)/db.1.85/hash/hash_log2.c \ + $(visrcdir)/db.1.85/hash/hash.c \ + $(visrcdir)/db.1.85/hash/hash_func.c \ + $(visrcdir)/db.1.85/hash/hash_page.c \ + $(visrcdir)/db.1.85/hash/hash_buf.c \ + $(visrcdir)/db.1.85/hash/hsearch.c +else + DB_C = $(visrcdir)/common/vi_db.c +endif + lib_LTLIBRARIES = libvi.la libvi_la_SOURCES = \ + $(DB_SRCS) \ $(visrcdir)/common/api.c \ $(visrcdir)/common/conv.c \ $(visrcdir)/common/conv.h \ @@ -12,7 +50,7 @@ libvi_la_SOURCES = \ $(visrcdir)/common/args.h \ $(visrcdir)/common/common.h \ $(visrcdir)/common/cut.h \ - $(visrcdir)/common/db.h \ + $(visrcdir)/common/vi_db.h \ $(visrcdir)/common/exf.h \ $(visrcdir)/common/gs.h \ $(visrcdir)/common/key.h \ @@ -85,7 +123,7 @@ libvi_la_SOURCES = \ $(visrcdir)/vi/vi.h \ $(visrcdir)/common/gs.c \ $(visrcdir)/common/key.c \ - $(visrcdir)/common/db.c \ + $(DB_C) \ $(visrcdir)/common/main.c \ $(visrcdir)/common/mark.c \ $(visrcdir)/common/msg.c \ @@ -148,8 +186,11 @@ EXTRA_libvi_la_SOURCES = \ $(visrcdir)/regex/regex.h \ $(visrcdir)/regex/regex2.h \ $(visrcdir)/regex/utils.h \ + $(visrcdir)/common/vi_db.c \ + $(visrcdir)/common/vi_db1.c \ $(visrcdir)/common/dldb.c \ $(visrcdir)/common/log.c \ + $(visrcdir)/common/log1.c \ $(visrcdir)/common/log4.c \ $(visrcdir)/clib/bsearch.c \ $(visrcdir)/clib/env.c \ @@ -189,7 +230,7 @@ vi_SOURCES = \ $(visrcdir)/cl/cl_term.c \ $(visrcdir)/common/nothread.c vi_LDADD = libvi.la @perllibs@ @CURSLIBS@ -vi_CPPFLAGS = @CURSCPPFLAGS@ @perlldflags@ $(AM_CPPFLAGS) +vi_CPPFLAGS = $(AM_CPPFLAGS) @CURSCPPFLAGS@ @perlldflags@ vi_LDFLAGS = @CURSLDFLAGS@ @perlldflags@ vi_ipc_SOURCES = \ @@ -242,8 +283,13 @@ vi_motif_LDADD = @MOTIFLIBS@ @LIBOBJS@ vi_motif_CFLAGS = @XINCS@ VI=-DVI=\"$(bindir)/`echo vi-ipc | sed '$(transform)'`\" -CFLAGS= $(OPTFLAG) +AM_CFLAGS= $(OPTFLAG) +if BUNDLED_DB +AM_CPPFLAGS= -D__DBINTERFACE_PRIVATE -I$(visrcdir)/db.1.85/include \ + -D__REGEX_PRIVATE -I. -I$(visrcdir)/include $(VI) +else AM_CPPFLAGS= -D__REGEX_PRIVATE -I. -I$(visrcdir)/include $(VI) +endif PERL= @vi_cv_path_perl@ PERLLIB=@vi_cv_perllib@ SHRPENV=@shrpenv@ diff --git a/external/bsd/nvi/dist/dist/NEWS b/external/bsd/nvi/dist/dist/NEWS new file mode 100644 index 000000000..e69de29bb diff --git a/external/bsd/nvi/dist/dist/README b/external/bsd/nvi/dist/dist/README new file mode 100644 index 000000000..e69de29bb diff --git a/external/bsd/nvi/dist/dist/compile b/external/bsd/nvi/dist/dist/compile new file mode 100644 index 000000000..7b4a9a7e1 --- /dev/null +++ b/external/bsd/nvi/dist/dist/compile @@ -0,0 +1,342 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-03-05.13; # UTC + +# Copyright (C) 1999-2012 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# 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 . + +# 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 or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + 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'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +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 . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +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 + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || 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/dist/nvi/dist/configure.in b/external/bsd/nvi/dist/dist/configure.ac similarity index 83% rename from dist/nvi/dist/configure.in rename to external/bsd/nvi/dist/dist/configure.ac index 082aa60c9..9d0d08c39 100644 --- a/dist/nvi/dist/configure.in +++ b/external/bsd/nvi/dist/dist/configure.ac @@ -1,10 +1,12 @@ -dnl Id: configure.in,v 8.192 2003/02/17 20:09:07 skimo Exp +dnl $Id: configure.ac,v 1.2 2013/11/25 23:03:18 christos Exp $ dnl Process this file with autoconf to produce a configure script. -AC_INIT(../common/main.c) +AC_INIT([vi], [1.81.6]) +AC_CONFIG_SRCDIR([../common/main.c]) AC_CONFIG_AUX_DIR(.) -AM_INIT_AUTOMAKE(vi, 1.81.6) +AM_INIT_AUTOMAKE AM_CONFIG_HEADER(config.h) +AC_CONFIG_MACRO_DIR([m4]) dnl Configure setup. AC_PROG_INSTALL() @@ -22,7 +24,7 @@ AC_ARG_ENABLE(debug, [vi_cv_debug=$enableval], [vi_cv_debug="no"]) AC_MSG_RESULT($vi_cv_debug) if test "$vi_cv_debug" = yes; then - AC_DEFINE(DEBUG) + AC_DEFINE(DEBUG, 1, [Define if you want a debugging version.]) OPTFLAG=${OPTFLAG-"-g"} no_op_OPTFLAG=${no_op_OPTFLAG-"-g"} fi @@ -78,9 +80,10 @@ AC_SUBST(CC) CC=${CC-cc} CFLAGS=${CFLAGS-""} AC_PROG_CC +AM_PROG_CC_C_O if test "$GCC" = yes; then - AC_DEFINE(HAVE_GCC) + AC_DEFINE(HAVE_GCC, 1, [Define if you have gcc.]) fi dnl The SunOS/Solaris compiler can't optimize vi/v_txt.c; the symptom is @@ -110,7 +113,8 @@ esac dnl Ultrix has a broken POSIX.1 VDISABLE value. case "$host_os" in -ultrix*) AC_DEFINE(HAVE_BROKEN_VDISABLE);; +ultrix*) AC_DEFINE(HAVE_BROKEN_VDISABLE, 1, + [Define if you have a Ultrix-style (broken) vdisable.]);; esac AC_MSG_CHECKING(whether recording of pathnames of libraries is enabled) @@ -241,14 +245,14 @@ AC_ARG_ENABLE(widechar, [ --enable-widechar Build a wide char aware vi.], [vi_cv_widechar=$enableval], [vi_cv_widechar="no"]) if test "$vi_cv_widechar" = "yes"; then - AC_DEFINE(USE_WIDECHAR) + AC_DEFINE(USE_WIDECHAR, 1, [Define when using wide characters.]) fi AC_MSG_RESULT($vi_cv_widechar) dnl Check whether we can use iconv AC_CHECK_HEADER(langinfo.h, [ AC_CHECK_HEADER(iconv.h, [ - AC_DEFINE(USE_ICONV) + AC_DEFINE(USE_ICONV, 1, [Define when iconv can be used.]) VI_CV_REPLACE_FUNCS(iswblank) ]) ]) @@ -296,7 +300,7 @@ if test "$vi_cv_gtk" = "yes"; then GTKLIBS=`$PKG_CONFIG --libs gtk+-2.0` AC_MSG_RESULT(ok) - AC_DEFINE(HAVE_PANGO) + AC_DEFINE(HAVE_PANGO, 1, [Define is appropriate pango is available.]) else if test "$vi_cv_widechar" = "yes"; then AC_MSG_ERROR([ @@ -316,7 +320,7 @@ if test "$vi_cv_gtk" = "yes"; then [vi_cv_zvt="yes"], [vi_cv_zvt="no"]) if test "$vi_cv_zvt" = "yes"; then GTKLIBS="-lnvizvt $LIBS" - AC_DEFINE(HAVE_ZVT) + AC_DEFINE(HAVE_ZVT, 1, [Define is appropriate zvt is available.]) fi LIBS="$SAVELIBS" # AC_PATH_PROG(vi_cv_gnome_config, gnome-config, no) @@ -394,7 +398,7 @@ if test "$vi_cv_threads" = "yes"; then AC_MSG_ERROR(No threading library found) fi IPCOBJS="pthread.o $IPCOBJS" - AC_DEFINE(HAVE_PTHREAD) + AC_DEFINE(HAVE_PTHREAD, 1, [Define if using pthread.]) else IPCOBJS="nothread.o $IPCOBJS" fi @@ -435,7 +439,8 @@ if test "$vi_cv_perlinterp" = "yes"; then perlldflags=`cd $srcdir;$vi_cv_path_perl -MExtUtils::Embed \ -e 'ccdlflags'` LIBOBJS="perl.o perlxsi.o perlsfio.o $LIBOBJS" - AC_DEFINE(HAVE_PERL_INTERP) + AC_DEFINE(HAVE_PERL_INTERP, 1, + [Define if you want to compile in the Perl interpreter.]) AC_CACHE_CHECK([whether we need to use perl's setenv], vi_cv_perl_setenv, [ AC_TRY_RUN([ @@ -451,7 +456,8 @@ exit(1); } ], [vi_cv_perl_setenv=yes], [vi_cv_perl_setenv=no])]) if test "$vi_cv_perl_setenv" = yes; then - AC_DEFINE(USE_PERL_SETENV) + AC_DEFINE(USE_PERL_SETENV, 1, + [Define when perl's setenv should be used.]) fi fi @@ -473,7 +479,8 @@ if test "$vi_cv_tclinterp" = "yes"; then . $vi_cv_tclconfig LIBOBJS="tcl.o $LIBOBJS" LIBS="$TCL_LIB_SPEC $TCL_LIBS $LIBS" - AC_DEFINE(HAVE_TCL_INTERP) + AC_DEFINE(HAVE_TCL_INTERP, 1, + [Define if you want to compile in the Tcl interpreter.]) fi dnl check for curses @@ -568,7 +575,7 @@ AC_CACHE_VAL(vi_cv_include_sys_mman, [dnl AC_TRY_CPP([#include ], [vi_cv_include_sys_mman=yes], [vi_cv_include_sys_mman=no])]) if test "$vi_cv_include_sys_mman" = yes; then - AC_DEFINE(HAVE_SYS_MMAN_H) + AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define if you have ]) fi AC_MSG_RESULT($vi_cv_include_sys_mman) @@ -577,7 +584,7 @@ AC_CACHE_VAL(vi_cv_include_sys_select, [dnl AC_TRY_CPP([#include ], [vi_cv_include_sys_select=yes], [vi_cv_include_sys_select=no])]) if test "$vi_cv_include_sys_select" = yes; then - AC_DEFINE(HAVE_SYS_SELECT_H) + AC_DEFINE(HAVE_SYS_SELECT_H, 1, [Define if you have ], [ftruncate(0, 0);], AC_TRY_LINK([#include ], [chsize(0, 0);], [vi_cv_ftruncate=chsize], [vi_cv_ftruncate=no]))]) if test "$vi_cv_ftruncate" = ftruncate; then - AC_DEFINE(HAVE_FTRUNCATE_FTRUNCATE) + AC_DEFINE(HAVE_FTRUNCATE_FTRUNCATE, 1, + [Define if you have the ftruncate(2) system call.]) fi if test "$vi_cv_ftruncate" = chsize; then - AC_DEFINE(HAVE_FTRUNCATE_CHSIZE) + AC_DEFINE(HAVE_FTRUNCATE_CHSIZE, 1, + [Define if you have the chsize(2) system call.]) fi if test "$vi_cv_ftruncate" = no; then AC_MSG_ERROR([No file truncation system call.]) @@ -675,7 +688,8 @@ AC_TRY_LINK([#include <$CURSHEADER>], [tigetstr(0);], [vi_cv_have_curses_tigetstr=yes], [vi_cv_have_curses_tigetstr=no])]) if test "$vi_cv_have_curses_tigetstr" = yes; then - AC_DEFINE(HAVE_CURSES_TIGETSTR) + AC_DEFINE(HAVE_CURSES_TIGETSTR, 1, + [Define if you have the curses(3) tigetstr/tigetnum functions.]) fi AC_MSG_RESULT($vi_cv_have_curses_tigetstr) @@ -684,9 +698,12 @@ dnl libraries. We also have to guess at whether the specified library is a dnl BSD or System V style curses. Use the newterm function, all System V dnl curses implementations have it, none, as far as I know, of the BSD ones do. if test "$vi_cv_curses" = "bundled curses"; then - AC_DEFINE(HAVE_BSD_CURSES) - AC_DEFINE(HAVE_CURSES_WADDNSTR) - AC_DEFINE(HAVE_CURSES_IDLOK) + AC_DEFINE(HAVE_BSD_CURSES, 1, + [Define if you have a BSD version of curses.]) + AC_DEFINE(HAVE_CURSES_WADDNSTR, 1, + [Define if you have the curses(3) waddnstr function.]) + AC_DEFINE(HAVE_CURSES_IDLOK, 1, + [Define if you have the curses(3) idlok function.]) else dnl Check for the waddnstr function. AC_MSG_CHECKING(for waddnstr) @@ -695,7 +712,8 @@ else [vi_cv_have_curses_waddnstr=yes], [vi_cv_have_curses_waddnstr=no])]) if test "$vi_cv_have_curses_waddnstr" = yes; then - AC_DEFINE(HAVE_CURSES_WADDNSTR) + AC_DEFINE(HAVE_CURSES_WADDNSTR, 1, + [Define if you have the curses(3) waddnstr function.]) fi AC_MSG_RESULT($vi_cv_have_curses_waddnstr) @@ -706,7 +724,8 @@ else [vi_cv_have_curses_beep=yes], [vi_cv_have_curses_beep=no])]) if test "$vi_cv_have_curses_beep" = yes; then - AC_DEFINE(HAVE_CURSES_BEEP) + AC_DEFINE(HAVE_CURSES_BEEP, 1, + [Define if you have the curses(3) beep function.]) fi AC_MSG_RESULT($vi_cv_have_curses_beep) @@ -717,7 +736,8 @@ else [vi_cv_have_curses_flash=yes], [vi_cv_have_curses_flash=no])]) if test "$vi_cv_have_curses_flash" = yes; then - AC_DEFINE(HAVE_CURSES_FLASH) + AC_DEFINE(HAVE_CURSES_FLASH, 1, + [Define if you have the curses(3) flash function.]) fi AC_MSG_RESULT($vi_cv_have_curses_flash) @@ -728,7 +748,8 @@ else [vi_cv_have_curses_idlok=yes], [vi_cv_have_curses_idlok=no])]) if test "$vi_cv_have_curses_idlok" = yes; then - AC_DEFINE(HAVE_CURSES_IDLOK) + AC_DEFINE(HAVE_CURSES_IDLOK, 1, + [Define if you have the curses(3) idlok function.]) fi AC_MSG_RESULT($vi_cv_have_curses_idlok) @@ -739,7 +760,8 @@ else [vi_cv_have_curses_keypad=yes], [vi_cv_have_curses_keypad=no])]) if test "$vi_cv_have_curses_keypad" = yes; then - AC_DEFINE(HAVE_CURSES_KEYPAD) + AC_DEFINE(HAVE_CURSES_KEYPAD, 1, + [Define if you have the curses(3) keypad function.]) fi AC_MSG_RESULT($vi_cv_have_curses_keypad) @@ -750,12 +772,14 @@ else [vi_cv_have_curses_newterm=yes], [vi_cv_have_curses_newterm=no])]) if test "$vi_cv_have_curses_newterm" = yes; then - AC_DEFINE(HAVE_CURSES_NEWTERM) + AC_DEFINE(HAVE_CURSES_NEWTERM, 1, + [Define if you have the curses(3) newterm function.]) fi AC_MSG_RESULT($vi_cv_have_curses_newterm) if test "$vi_cv_have_curses_newterm" = no; then - AC_DEFINE(HAVE_BSD_CURSES) + AC_DEFINE(HAVE_BSD_CURSES, 1, + [Define if you have a BSD version of curses.]) fi fi @@ -768,7 +792,8 @@ AC_TRY_LINK([#include <$CURSHEADER>], [setupterm(0, 0, 0);], [vi_cv_have_curses_setupterm=yes], [vi_cv_have_curses_setupterm=no])]) if test "$vi_cv_have_curses_setupterm" = yes; then - AC_DEFINE(HAVE_CURSES_SETUPTERM) + AC_DEFINE(HAVE_CURSES_SETUPTERM, 1, + [Define if you have the curses(3) setupterm function.]) fi AC_MSG_RESULT($vi_cv_have_curses_setupterm) LIBS="$CSAVELIBS" @@ -783,18 +808,20 @@ AC_TRY_LINK([#include #include ], [gettimeofday(0, 0);], [vi_cv_gettimeofday=okay], [vi_cv_gettimeofday=broken])]) if test "$vi_cv_gettimeofday" = broken; then - AC_DEFINE(HAVE_BROKEN_GETTIMEOFDAY) + AC_DEFINE(HAVE_BROKEN_GETTIMEOFDAY, 1, + [Define if you have a System V-style (broken) gettimeofday.]) fi AC_MSG_RESULT($vi_cv_gettimeofday) dnl Check for which version of openpty to use, System V or Berkeley. -AC_MSG_CHECKING(for System V pty calls) AC_CACHE_VAL(vi_cv_sys5_pty, [dnl -AC_TRY_LINK(, [grantpt(0);], +AC_CHECK_HEADER(sys/stropts.h, [vi_cv_sys5_pty=yes], [vi_cv_sys5_pty=no])]) if test "$vi_cv_sys5_pty" = yes; then - AC_DEFINE(HAVE_SYS5_PTY) + AC_DEFINE(HAVE_SYS5_PTY, 1, + [Define if you have the System V style pty calls.]) fi +AC_MSG_CHECKING(for System V pty calls) AC_MSG_RESULT($vi_cv_sys5_pty) dnl Check for the revoke system call. @@ -803,7 +830,8 @@ AC_CACHE_VAL(vi_cv_revoke, [dnl AC_TRY_LINK(, [revoke("a");], [vi_cv_revoke=yes], [vi_cv_revoke=no])]) if test "$vi_cv_revoke" = yes; then - AC_DEFINE(HAVE_REVOKE) + AC_DEFINE(HAVE_REVOKE, 1, + [Define if you have the Berkeley style revoke(2) system call.]) fi AC_MSG_RESULT($vi_cv_revoke) @@ -815,7 +843,8 @@ AC_CACHE_VAL(vi_cv_sprintf_count, [dnl AC_TRY_RUN([main(){char buf[20]; exit(sprintf(buf, "XXX") != 3);}], [vi_cv_sprintf_count=yes], [vi_cv_sprintf_count=no])]) if test "$vi_cv_sprintf_count" = no; then - AC_DEFINE(SPRINTF_RET_CHARPNT) + AC_DEFINE(SPRINTF_RET_CHARPNT, 1, + [Define if your sprintf returns a pointer, not a length.]) fi AC_MSG_RESULT($vi_cv_sprintf_count) @@ -940,35 +969,51 @@ typedef int (*funcPtr)(); vi_cv_proto_fprintf=no, [vi_cv_proto_fprintf=yes])]) if test "$vi_cv_proto_fprintf" = yes; then - AC_DEFINE(NEED_FPRINTF_PROTO) + AC_DEFINE(NEED_FPRINTF_PROTO, 1, + [Define when fprintf prototype not in an obvious place.]) fi AC_ARG_WITH(db_type, [ --with-db=bundled|system Which db to use. ]) + +dnl Check for DB 3 +AC_ARG_WITH(db_prefix, + [ --with-db-prefix=PFX Path to db installation. ]) + +AC_SUBST(DB_LDFLAGS) +AC_SUBST(DB_CPPFLAGS) +if test "x$with_db_prefix" != "x"; then + DB_LDFLAGS="-L$with_db_prefix/lib $LDFLAGS" + DB_CPPFLAGS="-I$with_db_prefix/include $CPPFLAGS" + with_db_type="system" +fi + +AC_MSG_CHECKING(which db to use) case "$with_db_type" in -"db1") - AC_MSG_WARN([Use of db1 is not officially supported.]) - AC_DEFINE(USE_DB1) - ;; "system") ;; *) with_db_type="bundled" ;; esac +AC_MSG_RESULT($with_db_type) +AM_CONDITIONAL(BUNDLED_DB, test $with_db_type = bundled) -dnl Check for DB 3 -AC_ARG_WITH(db_prefix, - [ --with-db-prefix=PFX Path to db installation. ]) - -SAVELDFLAGS="$LDFLAGS" -if test "x$with_db_prefix" != "x"; then - LDFLAGS="-L$with_db_prefix/lib $LDFLAGS" - CPPFLAGS="-I$with_db_prefix/include $CPPFLAGS" -fi -if test "$with_db_type" != db1; then +case "$with_db_type" in +bundled) + AC_DEFINE(USE_BUNDLED_DB, 1, [Define when using bundled db.]) + LIBOBJS="log1.o $LIBOBJS" + ;; +system) + SAVELDFLAGS="$LDFLAGS" SAVELIBS="$LIBS" + if test "x$with_db_prefix" != "x"; then + LDFLAGS="-L$with_db_prefix/lib $LDFLAGS" + CPPFLAGS="-I$with_db_prefix/include $CPPFLAGS" + with_db_type="system" + fi + LIBS="$LIBS -ldb" AC_TRY_LINK([#include ], [db_create(NULL,NULL,0)], @@ -978,78 +1023,80 @@ if test "$with_db_type" != db1; then fi LIBS="$SAVELIBS" -fi -LDFLAGS="$SAVELDFLAGS" + LDFLAGS="$SAVELDFLAGS" -AC_SUBST(dl_src) -AC_MSG_CHECKING(if --enable-dynamic-loading option specified) -AC_ARG_ENABLE(dynamic-loading, - [ --enable-dynamic-loading Load DB 3 dynamically.], - [vi_cv_dl=$enableval], [vi_cv_dl="no"]) -AC_MSG_RESULT($vi_cv_dl) -if test "$vi_cv_dl" = yes; then - AC_CHECK_LIB(dl, dlopen, - [vi_cv_dlfatal="no"], [vi_cv_dlfatal="yes"]) - if test "$vi_cv_dlfatal" = "yes"; then - AC_MSG_ERROR([Need dl to support dynamic loading.]) + AC_SUBST(dl_src) + AC_MSG_CHECKING(if --enable-dynamic-loading option specified) + AC_ARG_ENABLE(dynamic-loading, + [ --enable-dynamic-loading Load DB 3 dynamically.], + [vi_cv_dl=$enableval], [vi_cv_dl="no"]) + AC_MSG_RESULT($vi_cv_dl) + if test "$vi_cv_dl" = yes; then + AC_CHECK_LIB(dl, dlopen, + [vi_cv_dlfatal="no"], [vi_cv_dlfatal="yes"]) + if test "$vi_cv_dlfatal" = "yes"; then + AC_MSG_ERROR([Need dl to support dynamic loading.]) + fi + OLDPATH="$PATH" + + PATH="$with_db_prefix/lib:/usr/lib:/lib" + AC_PATH_PROG(vi_cv_path_db3, libdb-3.so, no) + if test "$vi_cv_path_db3" = no; then + AC_MSG_ERROR([Path of libdb-3.so not found.]) + fi + PATH="$OLDPATH" + + AC_DEFINE(USE_DYNAMIC_LOADING, 1, + [Define when dynamically loading DB 3.]) + LIBOBJS="dldb.o $LIBOBJS" + dl_src=../common/dldb.c + LIBS="-ldl $LIBS" + else + LIBS="-ldb $LIBS" + if test "X$with_db_prefix" != "X"; then + LDFLAGS="`echo $with_db_prefix/lib | sed "$LRscript"` $LDFLAGS" + fi fi - OLDPATH="$PATH" - PATH="$with_db_prefix/lib:/usr/lib:/lib" - AC_PATH_PROG(vi_cv_path_db3, libdb-3.so, no) - if test "$vi_cv_path_db3" = no; then - AC_MSG_ERROR([Path of libdb-3.so not found.]) + AC_ARG_WITH(db_build, + [ --with-db-build=prefix Path to db build. ]) + if test "x$with_db_build" != "x"; then + vi_cv_dbsrc=`$AWK '/^srcdir/ {gsub("srcdir[[ \t]]*=","");print $1}' \ + $with_db_build/Makefile` + case $with_db_build in + *[[\\/]]);; + *) + with_db_build="$with_db_build/";; + esac + case $vi_cv_dbsrc in + [[\\/]]*);; + *) + vi_cv_dbsrc="$with_db_build$vi_cv_dbsrc";; + esac + fi; + + vi_cv_db4="no" + AC_ARG_ENABLE(log4, + [ --enable-db4-logging Enable experimental/broken db4 logging.], + [ + AC_MSG_CHECKING(for DB 4) + AC_EGREP_CPP([^4], + [#include + DB_VERSION_MAJOR], + [vi_cv_db4="yes"], [vi_cv_db4="no"]) + AC_MSG_RESULT($vi_cv_db4) + ]) + if test "$vi_cv_db4" = "yes"; then + DB_CPPFLAGS="-I$vi_cv_dbsrc/include $DB_CPPFLAGS" + DB_CPPFLAGS="-I$vi_cv_dbsrc/include_auto $DB_CPPFLAGS" + DB_CPPFLAGS="-I$with_db_build $DB_CPPFLAGS" + AC_DEFINE(USE_DB4_LOGGING, 1, [Define when using db4 logging.]) + LIBOBJS="log4.o vi_auto.o vi_rec.o $LIBOBJS" + else + LIBOBJS="log.o $LIBOBJS" fi - PATH="$OLDPATH" - - AC_DEFINE(USE_DYNAMIC_LOADING) - LIBOBJS="dldb.o $LIBOBJS" - dl_src=../common/dldb.c - LIBS="-ldl $LIBS" -else - LIBS="-ldb $LIBS" - if test "X$with_db_prefix" != "X"; then - LDFLAGS="`echo $with_db_prefix/lib | sed "$LRscript"` $LDFLAGS" - fi -fi - -AC_ARG_WITH(db_build, - [ --with-db-build=prefix Path to db build. ]) -if test "x$with_db_build" != "x"; then - vi_cv_dbsrc=`$AWK '/^srcdir/ {gsub("srcdir[[ \t]]*=","");print $1}' \ - $with_db_build/Makefile` - case $with_db_build in - *[[\\/]]);; - *) - with_db_build="$with_db_build/";; - esac - case $vi_cv_dbsrc in - [[\\/]]*);; - *) - vi_cv_dbsrc="$with_db_build$vi_cv_dbsrc";; - esac -fi; - -vi_cv_db4="no" -AC_ARG_ENABLE(log4, - [ --enable-db4-logging Enable experimental/broken db4 logging.], - [ - AC_MSG_CHECKING(for DB 4) - AC_EGREP_CPP([^4], - [#include - DB_VERSION_MAJOR], - [vi_cv_db4="yes"], [vi_cv_db4="no"]) - AC_MSG_RESULT($vi_cv_db4) - ]) -if test "$vi_cv_db4" = "yes"; then - CPPFLAGS="-I$vi_cv_dbsrc/include $CPPFLAGS" - CPPFLAGS="-I$vi_cv_dbsrc/include_auto $CPPFLAGS" - CPPFLAGS="-I$with_db_build $CPPFLAGS" - AC_DEFINE(USE_DB4_LOGGING) - LIBOBJS="log4.o vi_auto.o vi_rec.o $LIBOBJS" -else - LIBOBJS="log.o $LIBOBJS" -fi + ;; +esac dnl We compile in nvi's RE routines unless the user specifies otherwise. AC_MSG_CHECKING(if --disable-re option specified) @@ -1069,5 +1116,5 @@ case "$vi_cv_re_lib" in ;; esac -AC_OUTPUT(Makefile port.h:port.h.in +AC_OUTPUT(Makefile port.h:port.h.in compat.h:port.h.in pathnames.h:pathnames.h.in recover:recover.in) diff --git a/external/bsd/nvi/dist/dist/depcomp b/external/bsd/nvi/dist/dist/depcomp new file mode 100644 index 000000000..0544c6835 --- /dev/null +++ b/external/bsd/nvi/dist/dist/depcomp @@ -0,0 +1,780 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2012-07-12.20; # UTC + +# Copyright (C) 1999-2012 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 +# 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 . + +# 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. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' "$nl" < "$tmpdepfile" | +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependent.h'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'. + # However on + # $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\': + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + # tcc 0.9.26 (FIXME still under development at the moment of writing) + # will emit a similar output, but also prepend the continuation lines + # with horizontal tabulation characters. + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form 'foo.o: dependent.h', + # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'. + # Do two passes, one to just change these to + # '$object: dependent.h' and one to simply 'dependent.h:'. + sed -e "s/^[ $tab][ $tab]*/ /" -e "s,^[^:]*:,$object :," \ + < "$tmpdepfile" > "$depfile" + sed ' + s/[ '"$tab"'][ '"$tab"']*/ /g + s/^ *// + s/ *\\*$// + s/^[^:]*: *// + /^$/d + /:$/d + s/$/ :/ + ' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + base=`echo "$source" | sed -e 's|^.*/||' -e 's/\.[-_a-zA-Z0-9]*$//'` + tmpdepfile="$base.d" + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir="$base.d-lock" + trap "echo '$0: caught signal, cleaning up...' >&2; rm -rf $lockdir" 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0 ; do + # mkdir is a portable test-and-set. + if mkdir $lockdir 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rm -rf $lockdir + break + else + ## the lock is being held by a different process, + ## wait until the winning process is done or we timeout + while test -d $lockdir && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' "$nl" < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# 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/dist/nvi/dist/distrib b/external/bsd/nvi/dist/dist/distrib similarity index 95% rename from dist/nvi/dist/distrib rename to external/bsd/nvi/dist/dist/distrib index 4faa66b90..b2e145475 100644 --- a/dist/nvi/dist/distrib +++ b/external/bsd/nvi/dist/dist/distrib @@ -1,5 +1,5 @@ #! /bin/sh -# Id: distrib,v 8.24 2001/06/25 11:20:24 skimo Exp (Berkeley) Date: 2001/06/25 11:20:24 +# Id: distrib,v 8.24 2001/06/25 11:20:24 skimo Exp (Berkeley) Date: 2001/06/25 11:20:24 echo "Running libtoolize" libtoolize -c --force diff --git a/dist/nvi/dist/export b/external/bsd/nvi/dist/dist/export similarity index 100% rename from dist/nvi/dist/export rename to external/bsd/nvi/dist/dist/export diff --git a/dist/nvi/dist/findconfig b/external/bsd/nvi/dist/dist/findconfig similarity index 100% rename from dist/nvi/dist/findconfig rename to external/bsd/nvi/dist/dist/findconfig diff --git a/dist/nvi/dist/ltconfig b/external/bsd/nvi/dist/dist/ltconfig similarity index 100% rename from dist/nvi/dist/ltconfig rename to external/bsd/nvi/dist/dist/ltconfig diff --git a/dist/nvi/dist/m4/gtk.m4 b/external/bsd/nvi/dist/dist/m4/gtk.m4 similarity index 99% rename from dist/nvi/dist/m4/gtk.m4 rename to external/bsd/nvi/dist/dist/m4/gtk.m4 index b8cf4024a..f2dd47219 100644 --- a/dist/nvi/dist/m4/gtk.m4 +++ b/external/bsd/nvi/dist/dist/m4/gtk.m4 @@ -4,7 +4,7 @@ dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]]) dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS dnl -AC_DEFUN(AM_PATH_GTK, +AC_DEFUN([AM_PATH_GTK], [dnl dnl Get the cflags and libraries from the gtk-config script dnl diff --git a/external/bsd/nvi/dist/dist/missing b/external/bsd/nvi/dist/dist/missing new file mode 100644 index 000000000..9a5564823 --- /dev/null +++ b/external/bsd/nvi/dist/dist/missing @@ -0,0 +1,330 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2012-01-06.18; # UTC + +# Copyright (C) 1996-2012 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 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, 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 . + +# 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. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' + +# In the cases where this matters, 'missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case $1 in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file 'aclocal.m4' + autoconf touch file 'configure' + autoheader touch file 'config.h.in' + autom4te touch the output file, or create a stub one + automake touch all 'Makefile.in' files + bison create 'y.tab.[ch]', if possible, from existing .[ch] + flex create 'lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create 'lex.yy.c', if possible, from existing .c + makeinfo touch the output file + yacc create 'y.tab.[ch]', if possible, from existing .[ch] + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: Unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# normalize program name to check for. +program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). This is about non-GNU programs, so use $1 not +# $program. +case $1 in + lex*|yacc*) + # Not GNU programs, they don't have --version. + ;; + + *) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running '$TOOL --version' or '$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $program in + aclocal*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified 'acinclude.m4' or '${configure_ac}'. You might want + to install the Automake and Perl packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified '${configure_ac}'. You might want to install the + Autoconf and GNU m4 packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified 'acconfig.h' or '${configure_ac}'. You might want + to install the Autoconf and GNU m4 packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case $f in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. + You might want to install the Automake and Perl packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te*) + echo 1>&2 "\ +WARNING: '$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get '$1' as part of Autoconf from any GNU + archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison*|yacc*) + echo 1>&2 "\ +WARNING: '$1' $msg. You should only need it if + you modified a '.y' file. You may need the Bison package + in order for those modifications to take effect. You can get + Bison from any GNU archive site." + rm -f y.tab.c y.tab.h + if test $# -ne 1; then + eval LASTARG=\${$#} + case $LASTARG in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if test ! -f y.tab.h; then + echo >y.tab.h + fi + if test ! -f y.tab.c; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex*|flex*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified a '.l' file. You may need the Flex package + in order for those modifications to take effect. You can get + Flex from any GNU archive site." + rm -f lex.yy.c + if test $# -ne 1; then + eval LASTARG=\${$#} + case $LASTARG in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if test -f "$SRCFILE"; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if test ! -f lex.yy.c; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + Help2man package in order for those modifications to take + effect. You can get Help2man from any GNU archive site." + + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit $? + fi + ;; + + makeinfo*) + echo 1>&2 "\ +WARNING: '$1' is $msg. You should only need it if + you modified a '.texi' or '.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy 'make' (AIX, + DU, IRIX). You might want to install the Texinfo package or + the GNU make package. Grab either from any GNU archive site." + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -z "$file"; then + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 + touch $file + ;; + + *) + echo 1>&2 "\ +WARNING: '$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the 'README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing '$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# 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/external/bsd/nvi/dist/dist/mkinstalldirs b/external/bsd/nvi/dist/dist/mkinstalldirs new file mode 100644 index 000000000..55d537f87 --- /dev/null +++ b/external/bsd/nvi/dist/dist/mkinstalldirs @@ -0,0 +1,162 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2009-04-28.21; # UTC + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" +errstatus=0 +dirmode= + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit $? + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the 'mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because '.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file + shift + IFS=$oIFS + + for d + do + test "x$d" = x && continue + + pathcomp=$pathcomp$d + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp=$pathcomp/ + done +done + +exit $errstatus + +# 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/dist/nvi/dist/pathnames.h.in b/external/bsd/nvi/dist/dist/pathnames.h.in similarity index 88% rename from dist/nvi/dist/pathnames.h.in rename to external/bsd/nvi/dist/dist/pathnames.h.in index 6ca0a05df..c8ea921d8 100644 --- a/dist/nvi/dist/pathnames.h.in +++ b/external/bsd/nvi/dist/dist/pathnames.h.in @@ -1,4 +1,4 @@ -/* Id: pathnames.h.in,v 8.5 2000/04/21 21:26:21 skimo Exp (Berkeley) Date: 2000/04/21 21:26:21 */ +/* Id: pathnames.h.in,v 8.5 2000/04/21 21:26:21 skimo Exp (Berkeley) Date: 2000/04/21 21:26:21 */ #ifndef _PATH_BSHELL #define _PATH_BSHELL "@vi_cv_path_shell@" diff --git a/dist/nvi/dist/port.h.in b/external/bsd/nvi/dist/dist/port.h.in similarity index 97% rename from dist/nvi/dist/port.h.in rename to external/bsd/nvi/dist/dist/port.h.in index b1d05d143..cb1492046 100644 --- a/dist/nvi/dist/port.h.in +++ b/external/bsd/nvi/dist/dist/port.h.in @@ -1,4 +1,4 @@ -/* Id: port.h.in,v 8.15 2001/01/01 20:26:48 skimo Exp (Berkeley) Date: 2001/01/01 20:26:48 */ +/* Id: port.h.in,v 8.15 2001/01/01 20:26:48 skimo Exp (Berkeley) Date: 2001/01/01 20:26:48 */ /* * Declare the basic types, if they aren't already declared. Named and diff --git a/dist/nvi/dist/recover.in b/external/bsd/nvi/dist/dist/recover.in similarity index 93% rename from dist/nvi/dist/recover.in rename to external/bsd/nvi/dist/dist/recover.in index 8a5eaa748..b7fcdafc1 100644 --- a/dist/nvi/dist/recover.in +++ b/external/bsd/nvi/dist/dist/recover.in @@ -1,6 +1,6 @@ #!/bin/sh - # -# Id: recover.in,v 8.9 2001/08/30 13:59:23 skimo Exp (Berkeley) Date: 2001/08/30 13:59:23 +# Id: recover.in,v 8.9 2001/08/30 13:59:23 skimo Exp (Berkeley) Date: 2001/08/30 13:59:23 # # Script to recover nvi edit sessions. diff --git a/dist/nvi/dist/script b/external/bsd/nvi/dist/dist/script similarity index 100% rename from dist/nvi/dist/script rename to external/bsd/nvi/dist/dist/script diff --git a/dist/nvi/dist/spell.ok b/external/bsd/nvi/dist/dist/spell.ok similarity index 100% rename from dist/nvi/dist/spell.ok rename to external/bsd/nvi/dist/dist/spell.ok diff --git a/dist/nvi/docs/README b/external/bsd/nvi/dist/docs/README similarity index 92% rename from dist/nvi/docs/README rename to external/bsd/nvi/dist/docs/README index 3399dbee5..4f878a288 100644 --- a/dist/nvi/docs/README +++ b/external/bsd/nvi/dist/docs/README @@ -1,4 +1,4 @@ -# Id: README,v 8.1 1997/04/13 10:38:45 bostic Exp (Berkeley) Date: 1997/04/13 10:38:45 +# Id: README,v 8.1 1997/04/13 10:38:45 bostic Exp (Berkeley) Date: 1997/04/13 10:38:45 [USD stands for "User's Supplementary Documents".] diff --git a/dist/nvi/docs/edit/Makefile b/external/bsd/nvi/dist/docs/edit/Makefile similarity index 78% rename from dist/nvi/docs/edit/Makefile rename to external/bsd/nvi/dist/docs/edit/Makefile index 803c7deaa..ff6f2a126 100644 --- a/dist/nvi/docs/edit/Makefile +++ b/external/bsd/nvi/dist/docs/edit/Makefile @@ -1,4 +1,4 @@ -# Id: Makefile,v 8.6 2001/01/28 15:50:07 skimo Exp (Berkeley) Date: 2001/01/28 15:50:07 +# Id: Makefile,v 8.6 2001/01/28 15:50:07 skimo Exp (Berkeley) Date: 2001/01/28 15:50:07 ROFF= groff TBL= tbl diff --git a/dist/nvi/docs/edit/edittut.ms b/external/bsd/nvi/dist/docs/edit/edittut.ms similarity index 99% rename from dist/nvi/docs/edit/edittut.ms rename to external/bsd/nvi/dist/docs/edit/edittut.ms index cada8b85a..4e3db0297 100644 --- a/dist/nvi/docs/edit/edittut.ms +++ b/external/bsd/nvi/dist/docs/edit/edittut.ms @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: edittut.ms,v 8.3 1996/08/18 11:36:05 bostic Exp (Berkeley) Date: 1996/08/18 11:36:05 +.\" Id: edittut.ms,v 8.3 1996/08/18 11:36:05 bostic Exp (Berkeley) Date: 1996/08/18 11:36:05 .\" .ll 6.5i .nr LL 6.5i diff --git a/dist/nvi/docs/exref/Makefile b/external/bsd/nvi/dist/docs/exref/Makefile similarity index 86% rename from dist/nvi/docs/exref/Makefile rename to external/bsd/nvi/dist/docs/exref/Makefile index 61bc7a8da..0fe8c0125 100644 --- a/dist/nvi/docs/exref/Makefile +++ b/external/bsd/nvi/dist/docs/exref/Makefile @@ -1,4 +1,4 @@ -# Id: Makefile,v 8.10 2001/01/28 15:50:07 skimo Exp (Berkeley) Date: 2001/01/28 15:50:07 +# Id: Makefile,v 8.10 2001/01/28 15:50:07 skimo Exp (Berkeley) Date: 2001/01/28 15:50:07 ROFF= groff TBL= tbl diff --git a/dist/nvi/docs/exref/ex.rm b/external/bsd/nvi/dist/docs/exref/ex.rm similarity index 99% rename from dist/nvi/docs/exref/ex.rm rename to external/bsd/nvi/dist/docs/exref/ex.rm index 37703f30b..dfe60b3bb 100644 --- a/dist/nvi/docs/exref/ex.rm +++ b/external/bsd/nvi/dist/docs/exref/ex.rm @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: ex.rm,v 8.5 1996/08/18 11:36:16 bostic Exp (Berkeley) Date: 1996/08/18 11:36:16 +.\" Id: ex.rm,v 8.5 1996/08/18 11:36:16 bostic Exp (Berkeley) Date: 1996/08/18 11:36:16 .\" .nr LL 6.5i .nr FL 6.5i diff --git a/dist/nvi/docs/exref/ex.summary b/external/bsd/nvi/dist/docs/exref/ex.summary similarity index 99% rename from dist/nvi/docs/exref/ex.summary rename to external/bsd/nvi/dist/docs/exref/ex.summary index 1f3d4b97c..589a2c26c 100644 --- a/dist/nvi/docs/exref/ex.summary +++ b/external/bsd/nvi/dist/docs/exref/ex.summary @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: ex.summary,v 8.3 1996/08/18 11:36:16 bostic Exp (Berkeley) Date: 1996/08/18 11:36:16 +.\" Id: ex.summary,v 8.3 1996/08/18 11:36:16 bostic Exp (Berkeley) Date: 1996/08/18 11:36:16 .\" .ds p \v'-0.2'.\v'+0.2' .ds U \s-2UNIX\s+2 diff --git a/dist/nvi/docs/vi.man/Makefile b/external/bsd/nvi/dist/docs/vi.man/Makefile similarity index 80% rename from dist/nvi/docs/vi.man/Makefile rename to external/bsd/nvi/dist/docs/vi.man/Makefile index de4914ec8..3d7414fe8 100644 --- a/dist/nvi/docs/vi.man/Makefile +++ b/external/bsd/nvi/dist/docs/vi.man/Makefile @@ -1,4 +1,4 @@ -# Id: Makefile,v 8.9 2001/01/28 15:50:07 skimo Exp (Berkeley) Date: 2001/01/28 15:50:07 +# Id: Makefile,v 8.9 2001/01/28 15:50:07 skimo Exp (Berkeley) Date: 2001/01/28 15:50:07 ROFF= groff diff --git a/dist/nvi/docs/vi.man/spell.ok b/external/bsd/nvi/dist/docs/vi.man/spell.ok similarity index 100% rename from dist/nvi/docs/vi.man/spell.ok rename to external/bsd/nvi/dist/docs/vi.man/spell.ok diff --git a/dist/nvi/docs/vi.man/vi.1 b/external/bsd/nvi/dist/docs/vi.man/vi.1 similarity index 99% rename from dist/nvi/docs/vi.man/vi.1 rename to external/bsd/nvi/dist/docs/vi.man/vi.1 index 38efb8779..30ffa8f74 100644 --- a/dist/nvi/docs/vi.man/vi.1 +++ b/external/bsd/nvi/dist/docs/vi.man/vi.1 @@ -1,6 +1,4 @@ -.\" $NetBSD: vi.1,v 1.5 2010/08/30 10:41:54 wiz Exp $ -.\" -.\" Copyright (c) 1994 +.\" $NetBSD: vi.1,v 1.2 2013/11/22 15:52:05 christos Exp $ .\" The Regents of the University of California. All rights reserved. .\" Copyright (c) 1994, 1995, 1996 .\" Keith Bostic. All rights reserved. @@ -10,7 +8,7 @@ .\" .\" See the LICENSE file for redistribution information. .\" -.\" Id: vi.1,v 8.53 2001/01/28 13:20:06 skimo Exp (Berkeley) Date: 2001/01/28 13:20:06 +.\" Id: vi.1,v 8.53 2001/01/28 13:20:06 skimo Exp (Berkeley) Date: 2001/01/28 13:20:06 .\" .TH VI 1 "%Q%" .UC diff --git a/dist/nvi/docs/vi.ref/Makefile b/external/bsd/nvi/dist/docs/vi.ref/Makefile similarity index 83% rename from dist/nvi/docs/vi.ref/Makefile rename to external/bsd/nvi/dist/docs/vi.ref/Makefile index 7896b1c10..d9bdab6b3 100644 --- a/dist/nvi/docs/vi.ref/Makefile +++ b/external/bsd/nvi/dist/docs/vi.ref/Makefile @@ -1,4 +1,4 @@ -# Id: Makefile,v 8.25 2001/08/20 09:40:50 skimo Exp (Berkeley) Date: 2001/08/20 09:40:50 +# Id: Makefile,v 8.25 2001/08/20 09:40:50 skimo Exp (Berkeley) Date: 2001/08/20 09:40:50 MACROS= -me ROFF= groff diff --git a/dist/nvi/docs/vi.ref/ex.cmd.texi b/external/bsd/nvi/dist/docs/vi.ref/ex.cmd.texi similarity index 99% rename from dist/nvi/docs/vi.ref/ex.cmd.texi rename to external/bsd/nvi/dist/docs/vi.ref/ex.cmd.texi index 33af6e706..0da42de8a 100644 --- a/dist/nvi/docs/vi.ref/ex.cmd.texi +++ b/external/bsd/nvi/dist/docs/vi.ref/ex.cmd.texi @@ -1,12 +1,11 @@ @comment Copyright (c) 1994 -@c $NetBSD: ex.cmd.texi,v 1.1.1.2 2008/05/18 14:30:59 aymeric Exp $ @comment The Regents of the University of California. All rights reserved. @comment Copyright (c) 1994, 1995, 1996 @comment Keith Bostic. All rights reserved. @comment @comment See the LICENSE file for redistribution information. @comment -@comment Id: ex.cmd.texi,v 8.2 2001/08/20 16:05:50 skimo Exp (Berkeley) Date: 2001/08/20 16:05:50 +@comment Id: ex.cmd.texi,v 8.2 2001/08/20 16:05:50 skimo Exp (Berkeley) Date: 2001/08/20 16:05:50 @comment @chapter Ex Description diff --git a/dist/nvi/docs/vi.ref/ref.texi b/external/bsd/nvi/dist/docs/vi.ref/ref.texi similarity index 90% rename from dist/nvi/docs/vi.ref/ref.texi rename to external/bsd/nvi/dist/docs/vi.ref/ref.texi index 97f83304d..a149ffe3e 100644 --- a/dist/nvi/docs/vi.ref/ref.texi +++ b/external/bsd/nvi/dist/docs/vi.ref/ref.texi @@ -1,12 +1,11 @@ @comment Copyright (c) 1994 -@c $NetBSD: ref.texi,v 1.1.1.2 2008/05/18 14:31:00 aymeric Exp $ @comment The Regents of the University of California. All rights reserved. @comment Copyright (c) 1994, 1995, 1996 @comment Keith Bostic. All rights reserved. @comment @comment See the LICENSE file for redistribution information. @comment -@comment Id: ref.texi,v 8.1 2001/08/18 20:43:48 skimo Exp (Berkeley) Date: 2001/08/18 20:43:48 +@comment Id: ref.texi,v 8.1 2001/08/18 20:43:48 skimo Exp (Berkeley) Date: 2001/08/18 20:43:48 @comment @comment @comment indented paragraph, with spaces between the items, bold font diff --git a/dist/nvi/docs/vi.ref/set.opt.texi b/external/bsd/nvi/dist/docs/vi.ref/set.opt.texi similarity index 99% rename from dist/nvi/docs/vi.ref/set.opt.texi rename to external/bsd/nvi/dist/docs/vi.ref/set.opt.texi index b2332a97e..0a4116240 100644 --- a/dist/nvi/docs/vi.ref/set.opt.texi +++ b/external/bsd/nvi/dist/docs/vi.ref/set.opt.texi @@ -1,12 +1,11 @@ @comment Copyright (c) 1994 -@c $NetBSD: set.opt.texi,v 1.4 2008/12/12 22:55:56 lukem Exp $ @comment The Regents of the University of California. All rights reserved. @comment Copyright (c) 1994, 1995, 1996 @comment Keith Bostic. All rights reserved. @comment @comment See the LICENSE file for redistribution information. @comment -@comment Id: set.opt.texi,v 8.1 2001/08/18 20:43:48 skimo Exp (Berkeley) Date: 2001/08/18 20:43:48 +@comment Id: set.opt.texi,v 8.1 2001/08/18 20:43:48 skimo Exp (Berkeley) Date: 2001/08/18 20:43:48 @comment @chapter Set Options diff --git a/dist/nvi/docs/vi.ref/spell.ok b/external/bsd/nvi/dist/docs/vi.ref/spell.ok similarity index 100% rename from dist/nvi/docs/vi.ref/spell.ok rename to external/bsd/nvi/dist/docs/vi.ref/spell.ok diff --git a/dist/nvi/docs/vi.ref/vi.cmd.texi b/external/bsd/nvi/dist/docs/vi.ref/vi.cmd.texi similarity index 99% rename from dist/nvi/docs/vi.ref/vi.cmd.texi rename to external/bsd/nvi/dist/docs/vi.ref/vi.cmd.texi index 80400cfae..70aeaba65 100644 --- a/dist/nvi/docs/vi.ref/vi.cmd.texi +++ b/external/bsd/nvi/dist/docs/vi.ref/vi.cmd.texi @@ -1,12 +1,11 @@ @comment Copyright (c) 1994 -@c $NetBSD: vi.cmd.texi,v 1.2 2008/10/01 21:20:09 christos Exp $ @comment The Regents of the University of California. All rights reserved. @comment Copyright (c) 1994, 1995, 1996 @comment Keith Bostic. All rights reserved. @comment @comment See the LICENSE file for redistribution information. @comment -@comment Id: vi.cmd.texi,v 8.1 2001/08/18 20:43:49 skimo Exp (Berkeley) Date: 2001/08/18 20:43:49 +@comment Id: vi.cmd.texi,v 8.1 2001/08/18 20:43:49 skimo Exp (Berkeley) Date: 2001/08/18 20:43:49 @comment @chapter Vi Description diff --git a/dist/nvi/docs/vi.ref/vi.texi b/external/bsd/nvi/dist/docs/vi.ref/vi.texi similarity index 99% rename from dist/nvi/docs/vi.ref/vi.texi rename to external/bsd/nvi/dist/docs/vi.ref/vi.texi index 964f2ba90..76c93c11c 100644 --- a/dist/nvi/docs/vi.ref/vi.texi +++ b/external/bsd/nvi/dist/docs/vi.ref/vi.texi @@ -1,5 +1,4 @@ \input texinfo -@c $NetBSD: vi.texi,v 1.3 2011/11/13 19:53:53 wiz Exp $ @setfilename vi.ref.info @setchapternewpage off @@ -15,7 +14,7 @@ @comment @comment See the LICENSE file for redistribution information. @comment -@comment Id: vi.texi,v 8.1 2001/08/18 20:43:50 skimo Exp (Berkeley) Date: 2001/08/18 20:43:50 +@comment Id: vi.texi,v 8.1 2001/08/18 20:43:50 skimo Exp (Berkeley) Date: 2001/08/18 20:43:50 @comment @comment diff --git a/dist/nvi/docs/vitut/Makefile b/external/bsd/nvi/dist/docs/vitut/Makefile similarity index 91% rename from dist/nvi/docs/vitut/Makefile rename to external/bsd/nvi/dist/docs/vitut/Makefile index 5a1f1959a..a79ea0b3e 100644 --- a/dist/nvi/docs/vitut/Makefile +++ b/external/bsd/nvi/dist/docs/vitut/Makefile @@ -1,4 +1,4 @@ -# Id: Makefile,v 8.10 2001/01/28 15:50:08 skimo Exp (Berkeley) Date: 2001/01/28 15:50:08 +# Id: Makefile,v 8.10 2001/01/28 15:50:08 skimo Exp (Berkeley) Date: 2001/01/28 15:50:08 MACROS= -ms ROFF= groff diff --git a/dist/nvi/docs/vitut/vi.apwh.ms b/external/bsd/nvi/dist/docs/vitut/vi.apwh.ms similarity index 99% rename from dist/nvi/docs/vitut/vi.apwh.ms rename to external/bsd/nvi/dist/docs/vitut/vi.apwh.ms index ac722ea97..78b0528b9 100644 --- a/dist/nvi/docs/vitut/vi.apwh.ms +++ b/external/bsd/nvi/dist/docs/vitut/vi.apwh.ms @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: vi.apwh.ms,v 8.3 2001/01/28 13:48:01 skimo Exp (Berkeley) Date: 2001/01/28 13:48:01 +.\" Id: vi.apwh.ms,v 8.3 2001/01/28 13:48:01 skimo Exp (Berkeley) Date: 2001/01/28 13:48:01 .\" .nr LL 6.5i .nr FL 6.5i diff --git a/dist/nvi/docs/vitut/vi.chars b/external/bsd/nvi/dist/docs/vitut/vi.chars similarity index 99% rename from dist/nvi/docs/vitut/vi.chars rename to external/bsd/nvi/dist/docs/vitut/vi.chars index f246b6613..99c6bce2e 100644 --- a/dist/nvi/docs/vitut/vi.chars +++ b/external/bsd/nvi/dist/docs/vitut/vi.chars @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: vi.chars,v 8.3 1996/06/27 19:53:17 bostic Exp (Berkeley) Date: 1996/06/27 19:53:17 +.\" Id: vi.chars,v 8.3 1996/06/27 19:53:17 bostic Exp (Berkeley) Date: 1996/06/27 19:53:17 .\" .bd S 3 .pn 21 diff --git a/dist/nvi/docs/vitut/vi.in b/external/bsd/nvi/dist/docs/vitut/vi.in similarity index 99% rename from dist/nvi/docs/vitut/vi.in rename to external/bsd/nvi/dist/docs/vitut/vi.in index 845099a3b..7ddacdc43 100644 --- a/dist/nvi/docs/vitut/vi.in +++ b/external/bsd/nvi/dist/docs/vitut/vi.in @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: vi.in,v 8.5 1996/08/18 11:35:55 bostic Exp (Berkeley) Date: 1996/08/18 11:35:55 +.\" Id: vi.in,v 8.5 1996/08/18 11:35:55 bostic Exp (Berkeley) Date: 1996/08/18 11:35:55 .\" .nr LL 6.5i .nr FL 6.5i diff --git a/dist/nvi/docs/vitut/vi.summary b/external/bsd/nvi/dist/docs/vitut/vi.summary similarity index 99% rename from dist/nvi/docs/vitut/vi.summary rename to external/bsd/nvi/dist/docs/vitut/vi.summary index a7af400e9..577e0cf02 100644 --- a/dist/nvi/docs/vitut/vi.summary +++ b/external/bsd/nvi/dist/docs/vitut/vi.summary @@ -3,7 +3,7 @@ .\" .\" %sccs.include.redist.roff% .\" -.\" Id: vi.summary,v 8.3 1996/08/18 11:35:55 bostic Exp (Berkeley) Date: 1996/08/18 11:35:55 +.\" Id: vi.summary,v 8.3 1996/08/18 11:35:55 bostic Exp (Berkeley) Date: 1996/08/18 11:35:55 .\" .ds CH .ds CF diff --git a/external/bsd/nvi/dist/ex/ex.awk b/external/bsd/nvi/dist/ex/ex.awk new file mode 100644 index 000000000..bd06baa3b --- /dev/null +++ b/external/bsd/nvi/dist/ex/ex.awk @@ -0,0 +1,6 @@ +# Id: ex.awk,v 10.1 1995/06/08 18:55:37 bostic Exp (Berkeley) Date: 1995/06/08 18:55:37 + +/^\/\* C_[0-9A-Z_]* \*\/$/ { + printf("#define %s %d\n", $2, cnt++); + next; +} diff --git a/dist/nvi/ex/ex.c b/external/bsd/nvi/dist/ex/ex.c similarity index 98% rename from dist/nvi/ex/ex.c rename to external/bsd/nvi/dist/ex/ex.c index d26bedeb5..58540882f 100644 --- a/dist/nvi/ex/ex.c +++ b/external/bsd/nvi/dist/ex/ex.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex.c,v 1.9 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: ex.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex.c,v 10.75 2004/03/16 14:13:35 skimo Exp (Berkeley) Date: 2004/03/16 14:13:35"; +static const char sccsid[] = "Id: ex.c,v 10.75 2004/03/16 14:13:35 skimo Exp (Berkeley) Date: 2004/03/16 14:13:35 "; #endif /* not lint */ #include @@ -31,6 +30,7 @@ static const char sccsid[] = "Id: ex.c,v 10.75 2004/03/16 14:13:35 skimo Exp (Be #include #include "../common/common.h" +#include "../common/multibyte.h" #include "../vi/vi.h" #if defined(DEBUG) && defined(COMLOG) @@ -52,7 +52,6 @@ static void ex_unknown __P((SCR *, CHAR_T *, size_t)); int ex(SCR **spp) { - EX_PRIVATE *exp; GS *gp; WIN *wp; MSGS *mp; @@ -63,14 +62,13 @@ ex(SCR **spp) sp = *spp; wp = sp->wp; gp = sp->gp; - exp = EXP(sp); /* Start the ex screen. */ if (ex_init(sp)) return (1); /* Flush any saved messages. */ - while ((mp = gp->msgq.lh_first) != NULL) { + while ((mp = LIST_FIRST(&gp->msgq)) != NULL) { wp->scr_msg(sp, mp->mtype, mp->buf, mp->len); LIST_REMOVE(mp, q); free(mp->buf); @@ -123,7 +121,7 @@ ex(SCR **spp) * If the user entered a single carriage return, send * ex_cmd() a separator -- it discards single newlines. */ - tp = sp->tiq.cqh_first; + tp = TAILQ_FIRST(&sp->tiq); if (tp->len == 0) { static CHAR_T space = ' '; wp->excmd.cp = &space; /* __TK__ why not |? */ @@ -226,7 +224,7 @@ ex_cmd(SCR *sp) * This means that *everything* must be resolved when we leave * this function for any reason. */ -loop: ecp = wp->ecq.lh_first; +loop: ecp = LIST_FIRST(&wp->ecq); /* If we're reading a command from a file, set up error information. */ if (ecp->if_name != NULL) { @@ -330,7 +328,7 @@ loop: ecp = wp->ecq.lh_first; (!notempty || F_ISSET(sp, SC_VI) || F_ISSET(ecp, E_BLIGNORE))) { if (ex_load(sp)) goto rfail; - ecp = wp->ecq.lh_first; + ecp = LIST_FIRST(&wp->ecq); if (ecp->clen == 0) goto rsuccess; goto loop; @@ -1543,8 +1541,7 @@ addr_verify: */ if (F_ISSET(sp, SC_EXIT | SC_EXIT_FORCE | SC_FSWITCH | SC_SSWITCH)) { at_found = gv_found = 0; - for (ecp = wp->ecq.lh_first; - ecp != NULL; ecp = ecp->q.le_next) + LIST_FOREACH(ecp, &wp->ecq, q) switch (ecp->agv_flags) { case 0: case AGV_AT_NORANGE: @@ -1596,7 +1593,7 @@ err: /* break; } } - if (ecp->save_cmdlen != 0 || wp->ecq.lh_first != &wp->excmd) { + if (ecp->save_cmdlen != 0 || LIST_FIRST(&wp->ecq) != &wp->excmd) { discard: msgq(sp, M_BERR, "092|Ex command failed: pending commands discarded"); ex_discard(sp); @@ -1628,8 +1625,6 @@ int ex_range(SCR *sp, EXCMD *ecp, int *errp) { enum { ADDR_FOUND, ADDR_NEED, ADDR_NONE } addr; - GS *gp; - EX_PRIVATE *exp; MARK m; int isaddr; @@ -1656,8 +1651,6 @@ ex_range(SCR *sp, EXCMD *ecp, int *errp) * addresses. For consistency, we make it true for leading semicolon * addresses as well. */ - gp = sp->gp; - exp = EXP(sp); for (addr = ADDR_NONE, ecp->addrcnt = 0; ecp->clen > 0;) switch (*ecp->cp) { case '%': /* Entire file. */ @@ -1827,17 +1820,12 @@ static int ex_line(SCR *sp, EXCMD *ecp, MARK *mp, int *isaddrp, int *errp) { enum nresult nret; - EX_PRIVATE *exp; - GS *gp; long total, val; unsigned long uval; int isneg; int (*sf) __P((SCR *, MARK *, MARK *, CHAR_T *, size_t, CHAR_T **, u_int)); CHAR_T *endp; - gp = sp->gp; - exp = EXP(sp); - *isaddrp = *errp = 0; F_CLR(ecp, E_DELTA); @@ -2090,7 +2078,7 @@ ex_load(SCR *sp) * but discard any allocated source name, we've returned to * the beginning of the command stack. */ - if ((ecp = wp->ecq.lh_first) == &wp->excmd) { + if ((ecp = LIST_FIRST(&wp->ecq)) == &wp->excmd) { if (F_ISSET(ecp, E_NAMEDISCARD)) { free(ecp->if_name); ecp->if_name = NULL; @@ -2114,15 +2102,15 @@ ex_load(SCR *sp) */ if (FL_ISSET(ecp->agv_flags, AGV_ALL)) { /* Discard any exhausted ranges. */ - while ((rp = ecp->rq.cqh_first) != (void *)&ecp->rq) + while ((rp = TAILQ_FIRST(&ecp->rq)) != NULL) if (rp->start > rp->stop) { - CIRCLEQ_REMOVE(&ecp->rq, rp, q); + TAILQ_REMOVE(&ecp->rq, rp, q); free(rp); } else break; /* If there's another range, continue with it. */ - if (rp != (void *)&ecp->rq) + if (rp != NULL) break; /* If it's a global/v command, fix up the last line. */ @@ -2176,10 +2164,10 @@ ex_discard(SCR *sp) * We know the first command can't be an AGV command, so we don't * process it specially. We do, however, nail the command itself. */ - for (wp = sp->wp; (ecp = wp->ecq.lh_first) != &wp->excmd;) { + for (wp = sp->wp; (ecp = LIST_FIRST(&wp->ecq)) != &wp->excmd;) { if (FL_ISSET(ecp->agv_flags, AGV_ALL)) { - while ((rp = ecp->rq.cqh_first) != (void *)&ecp->rq) { - CIRCLEQ_REMOVE(&ecp->rq, rp, q); + while ((rp = TAILQ_FIRST(&ecp->rq)) != NULL) { + TAILQ_REMOVE(&ecp->rq, rp, q); free(rp); } free(ecp->o_cp); @@ -2187,7 +2175,7 @@ ex_discard(SCR *sp) LIST_REMOVE(ecp, q); free(ecp); } - wp->ecq.lh_first->clen = 0; + LIST_FIRST(&wp->ecq)->clen = 0; return (0); } diff --git a/dist/nvi/ex/ex.h b/external/bsd/nvi/dist/ex/ex.h similarity index 96% rename from dist/nvi/ex/ex.h rename to external/bsd/nvi/dist/ex/ex.h index 842c99b4a..2c48e850d 100644 --- a/dist/nvi/ex/ex.h +++ b/external/bsd/nvi/dist/ex/ex.h @@ -1,5 +1,4 @@ -/* $NetBSD: ex.h,v 1.4 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: ex.h,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: ex.h,v 10.30 2004/03/16 14:11:33 skimo Exp (Berkeley) Date: 2004/03/16 14:11:33 + * Id: ex.h,v 10.30 2004/03/16 14:11:33 skimo Exp (Berkeley) Date: 2004/03/16 14:11:33 */ #define PROMPTCHAR ':' /* Prompt using a colon. */ @@ -66,7 +65,7 @@ extern EXCMDLIST const cmds[]; /* Table of ex commands. */ /* Range structures for global and @ commands. */ typedef struct _range RANGE; struct _range { /* Global command range. */ - CIRCLEQ_ENTRY(_range) q; /* Linked list of ranges. */ + TAILQ_ENTRY(_range) q; /* Linked list of ranges. */ db_recno_t start, stop; /* Start/stop of the range. */ }; @@ -91,7 +90,7 @@ struct _excmd { EXCMDLIST const *cmd; /* Command: entry in command table. */ EXCMDLIST rcmd; /* Command: table entry/replacement. */ - CIRCLEQ_HEAD(_rh, _range) rq; /* @/global range: linked list. */ + TAILQ_HEAD(_rh, _range) rq; /* @/global range: linked list. */ db_recno_t range_lno; /* @/global range: set line number. */ CHAR_T *o_cp; /* Original @/global command. */ size_t o_clen; /* Original @/global command length. */ @@ -162,7 +161,7 @@ struct _excmd { /* Ex private, per-screen memory. */ typedef struct _ex_private { - CIRCLEQ_HEAD(_tqh, _tagq) tq; /* Tag queue. */ + TAILQ_HEAD(_tqh, _tagq) tq; /* Tag queue. */ TAILQ_HEAD(_tagfh, _tagf) tagfq;/* Tag file list. */ LIST_HEAD(_csch, _csc) cscq; /* Cscope connection list. */ CHAR_T *tag_last; /* Saved last tag string. */ @@ -232,4 +231,4 @@ typedef enum { } tagmsg_t; #include "ex_def.h" -#include "extern.h" +#include "ex_extern.h" diff --git a/dist/nvi/ex/ex_abbrev.c b/external/bsd/nvi/dist/ex/ex_abbrev.c similarity index 95% rename from dist/nvi/ex/ex_abbrev.c rename to external/bsd/nvi/dist/ex/ex_abbrev.c index 0fe90ef12..ab629df07 100644 --- a/dist/nvi/ex/ex_abbrev.c +++ b/external/bsd/nvi/dist/ex/ex_abbrev.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_abbrev.c,v 1.2 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_abbrev.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_abbrev.c,v 10.10 2001/12/16 18:18:54 skimo Exp (Berkeley) Date: 2001/12/16 18:18:54"; +static const char sccsid[] = "Id: ex_abbrev.c,v 10.10 2001/12/16 18:18:54 skimo Exp (Berkeley) Date: 2001/12/16 18:18:54 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_append.c b/external/bsd/nvi/dist/ex/ex_append.c similarity index 96% rename from dist/nvi/ex/ex_append.c rename to external/bsd/nvi/dist/ex/ex_append.c index 68b4daf27..26031dcd7 100644 --- a/dist/nvi/ex/ex_append.c +++ b/external/bsd/nvi/dist/ex/ex_append.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_append.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_append.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_append.c,v 10.34 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14"; +static const char sccsid[] = "Id: ex_append.c,v 10.34 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14 "; #endif /* not lint */ #include @@ -248,13 +247,13 @@ ex_aci(SCR *sp, EXCMD *cmdp, enum which cmd) * into the file, above.) */ memset(&tiq, 0, sizeof(TEXTH)); - CIRCLEQ_INIT(&tiq); + TAILQ_INIT(&tiq); if (ex_txt(sp, &tiq, 0, flags)) return (1); - for (cnt = 0, tp = tiq.cqh_first; - tp != (TEXT *)(void *)&tiq; ++cnt, tp = tp->q.cqe_next) + for (cnt = 0, tp = TAILQ_FIRST(&tiq); tp != NULL; + ++cnt, tp = TAILQ_NEXT(tp, q)) if (db_append(sp, 1, lno++, tp->lb, tp->len)) return (1); diff --git a/dist/nvi/ex/ex_args.c b/external/bsd/nvi/dist/ex/ex_args.c similarity index 98% rename from dist/nvi/ex/ex_args.c rename to external/bsd/nvi/dist/ex/ex_args.c index ae6790651..d4b172ec6 100644 --- a/dist/nvi/ex/ex_args.c +++ b/external/bsd/nvi/dist/ex/ex_args.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_args.c,v 1.3 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: ex_args.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_args.c,v 10.18 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14"; +static const char sccsid[] = "Id: ex_args.c,v 10.18 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14 "; #endif /* not lint */ #include @@ -265,7 +264,6 @@ ex_rew(SCR *sp, EXCMD *cmdp) int ex_args(SCR *sp, EXCMD *cmdp) { - GS *gp; int cnt, sep; size_t col, len; char **ap; @@ -275,7 +273,6 @@ ex_args(SCR *sp, EXCMD *cmdp) return (0); } - gp = sp->gp; col = len = sep = 0; for (cnt = 1, ap = sp->argv; *ap != NULL; ++ap) { col += len = strlen(*ap) + sep + (ap == sp->cargv ? 2 : 0); diff --git a/dist/nvi/ex/ex_argv.c b/external/bsd/nvi/dist/ex/ex_argv.c similarity index 96% rename from dist/nvi/ex/ex_argv.c rename to external/bsd/nvi/dist/ex/ex_argv.c index 344a142b7..fa47bceba 100644 --- a/dist/nvi/ex/ex_argv.c +++ b/external/bsd/nvi/dist/ex/ex_argv.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_argv.c,v 1.4 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_argv.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_argv.c,v 10.39 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54"; +static const char sccsid[] = "Id: ex_argv.c,v 10.39 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54 "; #endif /* not lint */ #include @@ -61,7 +60,7 @@ argv_init(SCR *sp, EXCMD *excp) * argv_exp0 -- * Append a string to the argument list. * - * PUBLIC: int argv_exp0 __P((SCR *, EXCMD *, CHAR_T *, size_t)); + * PUBLIC: int argv_exp0 __P((SCR *, EXCMD *, const CHAR_T *, size_t)); */ int argv_exp0(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen) @@ -89,14 +88,12 @@ argv_exp0(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen) int argv_exp1(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen, int is_bang) { - EX_PRIVATE *exp; size_t blen, len; CHAR_T *p, *t, *bp; GET_SPACE_RETW(sp, bp, blen, 512); len = 0; - exp = EXP(sp); if (argv_fexp(sp, excp, cmd, cmdlen, bp, &len, &bp, &blen, is_bang)) { FREE_SPACEW(sp, bp, blen); return (1); @@ -105,7 +102,7 @@ argv_exp1(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen, int is_bang) /* If it's empty, we're done. */ if (len != 0) { for (p = bp, t = bp + len; p < t; ++p) - if (!ISBLANK((UCHAR_T)*p)) + if (!ISBLANK(*p)) break; if (p == t) goto ret; @@ -123,7 +120,7 @@ ret: FREE_SPACEW(sp, bp, blen); * Do file name and shell expansion on a string, and append it to * the argument list. * - * PUBLIC: int argv_exp2 __P((SCR *, EXCMD *, CHAR_T *, size_t)); + * PUBLIC: int argv_exp2 __P((SCR *, EXCMD *, const CHAR_T *, size_t)); */ int argv_exp2(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen) @@ -176,8 +173,8 @@ argv_exp2(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen) n = 0; else { for (np = mp = O_STR(sp, O_SHELLMETA); *np != '\0'; ++np) - if (isblank((unsigned char)*np) || - isalnum((unsigned char)*np)) + if (ISBLANK((UCHAR_T)*np) || + ISALNUM((UCHAR_T)*np)) break; p = bp + SHELLOFFSET; n = len - SHELLOFFSET; @@ -187,8 +184,9 @@ argv_exp2(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen) break; } else for (; n > 0; --n, ++p) - if (!isblank((unsigned char)*p) && - !isalnum((unsigned char)*p) && strchr(mp, *p) != NULL) + if (!ISBLANK((UCHAR_T)*p) && + !ISALNUM((UCHAR_T)*p) && + strchr(mp, *p) != NULL) break; } @@ -245,7 +243,7 @@ err: FREE_SPACEW(sp, bp, blen); * Take a string and break it up into an argv, which is appended * to the argument list. * - * PUBLIC: int argv_exp3 __P((SCR *, EXCMD *, CHAR_T *, size_t)); + * PUBLIC: int argv_exp3 __P((SCR *, EXCMD *, const CHAR_T *, size_t)); */ int argv_exp3(SCR *sp, EXCMD *excp, const CHAR_T *cmd, size_t cmdlen) @@ -746,7 +744,7 @@ alloc_err: rval = SEXP_ERR; rval = SEXP_EXPANSION_ERR; for (p = bp; len; ++p, --len) - if (!ISBLANK((UCHAR_T)*p)) + if (!ISBLANK(*p)) break; if (len == 0) rval = SEXP_EXPANSION_ERR; diff --git a/dist/nvi/ex/ex_at.c b/external/bsd/nvi/dist/ex/ex_at.c similarity index 86% rename from dist/nvi/ex/ex_at.c rename to external/bsd/nvi/dist/ex/ex_at.c index 23d7b0322..ceacddc2b 100644 --- a/dist/nvi/ex/ex_at.c +++ b/external/bsd/nvi/dist/ex/ex_at.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_at.c,v 1.3 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: ex_at.c,v 1.4 2013/11/27 21:13:16 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_at.c,v 10.16 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14"; +static const char sccsid[] = "Id: ex_at.c,v 10.16 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14 "; #endif /* not lint */ #include @@ -84,7 +83,7 @@ ex_at(SCR *sp, EXCMD *cmdp) * means @ buffers are still useful in a multi-screen environment. */ CALLOC_RET(sp, ecp, EXCMD *, 1, sizeof(EXCMD)); - CIRCLEQ_INIT(&ecp->rq); + TAILQ_INIT(&ecp->rq); CALLOC_RET(sp, rp, RANGE *, 1, sizeof(RANGE)); rp->start = cmdp->addr1.lno; if (F_ISSET(cmdp, E_ADDR_DEF)) { @@ -94,7 +93,7 @@ ex_at(SCR *sp, EXCMD *cmdp) rp->stop = cmdp->addr2.lno; FL_SET(ecp->agv_flags, AGV_AT); } - CIRCLEQ_INSERT_HEAD(&ecp->rq, rp, q); + TAILQ_INSERT_HEAD(&ecp->rq, rp, q); /* * Buffers executed in ex mode or from the colon command line in vi @@ -104,18 +103,18 @@ ex_at(SCR *sp, EXCMD *cmdp) * Build two copies of the command. We need two copies because the * ex parser may step on the command string when it's parsing it. */ - for (len = 0, tp = cbp->textq.cqh_last; - tp != (void *)&cbp->textq; tp = tp->q.cqe_prev) + for (len = 0, tp = TAILQ_LAST(&cbp->textq, _texth); + tp != NULL; tp = TAILQ_PREV(tp, _texth, q)) len += tp->len + 1; - MALLOC_RET(sp, ecp->cp, CHAR_T *, len * 2 * sizeof(CHAR_T)); + MALLOC_GOTO(sp, ecp->cp, CHAR_T *, len * 2 * sizeof(CHAR_T)); ecp->o_cp = ecp->cp; ecp->o_clen = len; ecp->cp[len] = '\0'; /* Copy the buffer into the command space. */ - for (p = ecp->cp + len, tp = cbp->textq.cqh_last; - tp != (void *)&cbp->textq; tp = tp->q.cqe_prev) { + for (p = ecp->cp + len, tp = TAILQ_LAST(&cbp->textq, _texth); + tp != NULL; tp = TAILQ_PREV(tp, _texth, q)) { MEMCPYW(p, tp->lb, tp->len); p += tp->len; *p++ = '\n'; @@ -123,4 +122,7 @@ ex_at(SCR *sp, EXCMD *cmdp) LIST_INSERT_HEAD(&sp->wp->ecq, ecp, q); return (0); +alloc_err: + free(ecp); + return 1; } diff --git a/dist/nvi/ex/ex_bang.c b/external/bsd/nvi/dist/ex/ex_bang.c similarity index 97% rename from dist/nvi/ex/ex_bang.c rename to external/bsd/nvi/dist/ex/ex_bang.c index e88c53306..bc814cd2c 100644 --- a/dist/nvi/ex/ex_bang.c +++ b/external/bsd/nvi/dist/ex/ex_bang.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_bang.c,v 1.3 2009/11/14 23:40:11 christos Exp $ */ - +/* $NetBSD: ex_bang.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_bang.c,v 10.36 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14"; +static const char sccsid[] = "Id: ex_bang.c,v 10.36 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14 "; #endif /* not lint */ #include @@ -56,7 +55,6 @@ ex_bang(SCR *sp, EXCMD *cmdp) EX_PRIVATE *exp; MARK rm; db_recno_t lno; - int rval; const char *msg; const char *np; size_t nlen; @@ -156,7 +154,7 @@ ex_bang(SCR *sp, EXCMD *cmdp) ftype = FILTER_RBANG; } } - rval = ex_filter(sp, cmdp, + (void)ex_filter(sp, cmdp, &cmdp->addr1, &cmdp->addr2, &rm, ap->bp, ftype); /* diff --git a/dist/nvi/ex/ex_cd.c b/external/bsd/nvi/dist/ex/ex_cd.c similarity index 96% rename from dist/nvi/ex/ex_cd.c rename to external/bsd/nvi/dist/ex/ex_cd.c index 836f1548f..f3e648f9d 100644 --- a/dist/nvi/ex/ex_cd.c +++ b/external/bsd/nvi/dist/ex/ex_cd.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_cd.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_cd.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_cd.c,v 10.12 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14"; +static const char sccsid[] = "Id: ex_cd.c,v 10.12 2001/06/25 15:19:14 skimo Exp (Berkeley) Date: 2001/06/25 15:19:14 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_cmd.c b/external/bsd/nvi/dist/ex/ex_cmd.c similarity index 99% rename from dist/nvi/ex/ex_cmd.c rename to external/bsd/nvi/dist/ex/ex_cmd.c index d3394216b..ff7d17a0f 100644 --- a/dist/nvi/ex/ex_cmd.c +++ b/external/bsd/nvi/dist/ex/ex_cmd.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_cmd.c,v 1.3 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_cmd.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_cmd.c,v 10.25 2001/06/10 10:23:44 skimo Exp (Berkeley) Date: 2001/06/10 10:23:44"; +static const char sccsid[] = "Id: ex_cmd.c,v 10.25 2001/06/10 10:23:44 skimo Exp (Berkeley) Date: 2001/06/10 10:23:44 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_cscope.c b/external/bsd/nvi/dist/ex/ex_cscope.c similarity index 95% rename from dist/nvi/ex/ex_cscope.c rename to external/bsd/nvi/dist/ex/ex_cscope.c index cf3964956..e9e6e61ba 100644 --- a/dist/nvi/ex/ex_cscope.c +++ b/external/bsd/nvi/dist/ex/ex_cscope.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_cscope.c,v 1.8 2011/06/22 03:57:46 mrg Exp $ */ - +/* $NetBSD: ex_cscope.c,v 1.4 2013/11/27 18:11:00 christos Exp $ */ /*- * Copyright (c) 1994, 1996 * Rob Mayoff. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_cscope.c,v 10.21 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54"; +static const char sccsid[] = "Id: ex_cscope.c,v 10.21 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54 "; #endif /* not lint */ #include @@ -452,7 +451,7 @@ cscope_find(SCR *sp, EXCMD *cmdp, const CHAR_T *pattern) exp = EXP(sp); /* Check for connections. */ - if (exp->cscq.lh_first == NULL) { + if (LIST_EMPTY(&exp->cscq)) { msgq(sp, M_ERR, "310|No cscope connections running"); return (1); } @@ -464,14 +463,14 @@ cscope_find(SCR *sp, EXCMD *cmdp, const CHAR_T *pattern) */ rtp = NULL; rtqp = NULL; - if (exp->tq.cqh_first == (void *)&exp->tq) { + if (TAILQ_EMPTY(&exp->tq)) { /* Initialize the `local context' tag queue structure. */ CALLOC_GOTO(sp, rtqp, TAGQ *, 1, sizeof(TAGQ)); - CIRCLEQ_INIT(&rtqp->tagq); + TAILQ_INIT(&rtqp->tagq); /* Initialize and link in its tag structure. */ CALLOC_GOTO(sp, rtp, TAG *, 1, sizeof(TAG)); - CIRCLEQ_INSERT_HEAD(&rtqp->tagq, rtp, q); + TAILQ_INSERT_HEAD(&rtqp->tagq, rtp, q); rtqp->current = rtp; } @@ -492,10 +491,7 @@ cscope_find(SCR *sp, EXCMD *cmdp, const CHAR_T *pattern) /* Search all open connections for a match. */ matches = 0; - for (csc = exp->cscq.lh_first; csc != NULL; csc = csc_next) { - /* Copy csc->q.lh_next here in case csc is killed. */ - csc_next = csc->q.le_next; - + LIST_FOREACH_SAFE(csc, &exp->cscq, q, csc_next) { /* * Send the command to the cscope program. (We skip the * first two bytes of the command, because we stored the @@ -507,19 +503,19 @@ cscope_find(SCR *sp, EXCMD *cmdp, const CHAR_T *pattern) /* Read the output. */ if (parse(sp, csc, tqp, &matches)) { - if (rtqp != NULL) - free(rtqp); + free(rtqp); tagq_free(sp, tqp); return (1); } } if (matches == 0) { + free(rtqp); msgq(sp, M_INFO, "278|No matches for query"); return (0); } - tqp->current = tqp->tagq.cqh_first; + tqp->current = TAILQ_FIRST(&tqp->tagq); /* Try to switch to the first tag. */ force = FL_ISSET(cmdp->iflags, E_C_FORCE); @@ -539,13 +535,15 @@ cscope_find(SCR *sp, EXCMD *cmdp, const CHAR_T *pattern) * in place, so we can pop all the way back to the current mark. * Note, it doesn't point to much of anything, it's a placeholder. */ - if (exp->tq.cqh_first == (void *)&exp->tq) { - CIRCLEQ_INSERT_HEAD(&exp->tq, rtqp, q); - } else - rtqp = exp->tq.cqh_first; + if (TAILQ_EMPTY(&exp->tq)) { + TAILQ_INSERT_HEAD(&exp->tq, rtqp, q); + } else { + free(rtqp); + rtqp = TAILQ_FIRST(&exp->tq); + } /* Link the current TAGQ structure into place. */ - CIRCLEQ_INSERT_HEAD(&exp->tq, tqp, q); + TAILQ_INSERT_HEAD(&exp->tq, tqp, q); (void)cscope_search(sp, tqp, tqp->current); @@ -572,12 +570,9 @@ cscope_find(SCR *sp, EXCMD *cmdp, const CHAR_T *pattern) err: alloc_err: - if (rtqp != NULL) - free(rtqp); - if (rtp != NULL) - free(rtp); - if (np != NULL) - free(__UNCONST(np)); + free(rtqp); + free(rtp); + free(__UNCONST(np)); return (1); } @@ -630,8 +625,8 @@ usage: (void)csc_help(sp, "find"); if (p[0] == '"' && p[1] != '\0' && p[2] == '\0') CBNAME(sp, cbp, p[1]); if (cbp != NULL) { - INT2CHAR(sp, cbp->textq.cqh_first->lb, - cbp->textq.cqh_first->len, p, tlen); + TEXT *t = TAILQ_FIRST(&cbp->textq); + INT2CHAR(sp, t->lb, t->len, p, tlen); } else tlen = strlen(p); @@ -639,7 +634,7 @@ usage: (void)csc_help(sp, "find"); CALLOC(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + tlen + 3); if (tqp == NULL) return (NULL); - CIRCLEQ_INIT(&tqp->tagq); + TAILQ_INIT(&tqp->tagq); tqp->tag = tqp->buf; tqp->tag[0] = pattern[0]; tqp->tag[1] = ' '; @@ -753,7 +748,7 @@ parse(SCR *sp, CSC *csc, TAGQ *tqp, int *matchesp) tp->search = (CHAR_T*)(tp->fname + tp->fnlen + 1); MEMCPYW(tp->search, search, (tp->slen = slen) + 1); } - CIRCLEQ_INSERT_TAIL(&tqp->tagq, tp, q); + TAILQ_INSERT_TAIL(&tqp->tagq, tp, q); ++*matchesp; } @@ -871,9 +866,9 @@ terminate(SCR *sp, CSC *csc, int n) if (csc == NULL) { if (n < 1) goto badno; - for (i = 1, csc = exp->cscq.lh_first; - csc != NULL; csc = csc->q.le_next, i++) - if (i == n) + i = 1; + LIST_FOREACH(csc, &exp->cscq, q) + if (i++ == n) break; if (csc == NULL) { badno: msgq(sp, M_ERR, "312|%d: no such cscope session", n); @@ -914,7 +909,7 @@ cscope_reset(SCR *sp, EXCMD *cmdp, const CHAR_T *notusedp) { EX_PRIVATE *exp; - for (exp = EXP(sp); exp->cscq.lh_first != NULL;) { + for (exp = EXP(sp); !LIST_EMPTY(&exp->cscq);) { static CHAR_T one[] = {'1', 0}; if (cscope_kill(sp, cmdp, one)) return (1); @@ -936,14 +931,14 @@ cscope_display(SCR *sp) int i; exp = EXP(sp); - if (exp->cscq.lh_first == NULL) { + if (LIST_EMPTY(&exp->cscq)) { ex_printf(sp, "No cscope connections.\n"); return (0); } - for (i = 1, - csc = exp->cscq.lh_first; csc != NULL; ++i, csc = csc->q.le_next) + i = 1; + LIST_FOREACH(csc, &exp->cscq, q) ex_printf(sp, - "%2d %s (process %lu)\n", i, csc->dname, (u_long)csc->pid); + "%2d %s (process %lu)\n", i++, csc->dname, (u_long)csc->pid); return (0); } diff --git a/dist/nvi/ex/ex_delete.c b/external/bsd/nvi/dist/ex/ex_delete.c similarity index 91% rename from dist/nvi/ex/ex_delete.c rename to external/bsd/nvi/dist/ex/ex_delete.c index 9d8e14911..e5188705d 100644 --- a/dist/nvi/ex/ex_delete.c +++ b/external/bsd/nvi/dist/ex/ex_delete.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_delete.c,v 1.1.1.2 2008/05/18 14:31:14 aymeric Exp $ */ - +/* $NetBSD: ex_delete.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_delete.c,v 10.11 2001/06/25 15:19:15 skimo Exp (Berkeley) Date: 2001/06/25 15:19:15"; +static const char sccsid[] = "Id: ex_delete.c,v 10.11 2001/06/25 15:19:15 skimo Exp (Berkeley) Date: 2001/06/25 15:19:15 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_display.c b/external/bsd/nvi/dist/ex/ex_display.c similarity index 65% rename from dist/nvi/ex/ex_display.c rename to external/bsd/nvi/dist/ex/ex_display.c index 1ef1c6e40..19e70f0fe 100644 --- a/dist/nvi/ex/ex_display.c +++ b/external/bsd/nvi/dist/ex/ex_display.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_display.c,v 1.3 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_display.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_display.c,v 10.15 2001/06/25 15:19:15 skimo Exp (Berkeley) Date: 2001/06/25 15:19:15"; +static const char sccsid[] = "Id: ex_display.c,v 10.15 2001/06/25 15:19:15 skimo Exp (Berkeley) Date: 2001/06/25 15:19:15 "; #endif /* not lint */ #include @@ -27,6 +26,7 @@ static const char sccsid[] = "Id: ex_display.c,v 10.15 2001/06/25 15:19:15 skimo #include "../common/common.h" #include "tag.h" +static int is_prefix __P((ARGS *, const CHAR_T *)); static int bdisplay __P((SCR *)); static void db __P((SCR *, CB *, const char *)); @@ -40,33 +40,25 @@ static void db __P((SCR *, CB *, const char *)); int ex_display(SCR *sp, EXCMD *cmdp) { - switch (cmdp->argv[0]->bp[0]) { - case 'b': -#undef ARG -#define ARG "buffers" - if (cmdp->argv[0]->len >= sizeof(ARG) || - memcmp(cmdp->argv[0]->bp, ARG, cmdp->argv[0]->len)) + ARGS *arg; + + arg = cmdp->argv[0]; + + switch (arg->bp[0]) { + case L('b'): + if (!is_prefix(arg, L("buffers"))) break; return (bdisplay(sp)); - case 'c': -#undef ARG -#define ARG "connections" - if (cmdp->argv[0]->len >= sizeof(ARG) || - memcmp(cmdp->argv[0]->bp, ARG, cmdp->argv[0]->len)) + case L('c'): + if (!is_prefix(arg, L("connections"))) break; return (cscope_display(sp)); - case 's': -#undef ARG -#define ARG "screens" - if (cmdp->argv[0]->len >= sizeof(ARG) || - memcmp(cmdp->argv[0]->bp, ARG, cmdp->argv[0]->len)) + case L('s'): + if (!is_prefix(arg, L("screens"))) break; return (ex_sdisplay(sp)); - case 't': -#undef ARG -#define ARG "tags" - if (cmdp->argv[0]->len >= sizeof(ARG) || - memcmp(cmdp->argv[0]->bp, ARG, cmdp->argv[0]->len)) + case L('t'): + if (!is_prefix(arg, L("tags"))) break; return (ex_tag_display(sp)); } @@ -74,6 +66,17 @@ ex_display(SCR *sp, EXCMD *cmdp) return (1); } +/* + * is_prefix -- + * + * Check that a command argument matches a prefix of a given string. + */ +static int +is_prefix(ARGS *arg, const CHAR_T *str) +{ + return arg->len <= STRLEN(str) && !MEMCMP(arg->bp, str, arg->len); +} + /* * bdisplay -- * @@ -84,25 +87,25 @@ bdisplay(SCR *sp) { CB *cbp; - if (sp->wp->cutq.lh_first == NULL && sp->wp->dcbp == NULL) { + if (LIST_EMPTY(&sp->wp->cutq) && sp->wp->dcbp == NULL) { msgq(sp, M_INFO, "123|No cut buffers to display"); return (0); } /* Display regular cut buffers. */ - for (cbp = sp->wp->cutq.lh_first; cbp != NULL; cbp = cbp->q.le_next) { + LIST_FOREACH(cbp, &sp->wp->cutq, q) { if (ISDIGIT(cbp->name)) continue; - if (cbp->textq.cqh_first != (void *)&cbp->textq) + if (!TAILQ_EMPTY(&cbp->textq)) db(sp, cbp, NULL); if (INTERRUPTED(sp)) return (0); } /* Display numbered buffers. */ - for (cbp = sp->wp->cutq.lh_first; cbp != NULL; cbp = cbp->q.le_next) { + LIST_FOREACH(cbp, &sp->wp->cutq, q) { if (!ISDIGIT(cbp->name)) continue; - if (cbp->textq.cqh_first != (void *)&cbp->textq) + if (!TAILQ_EMPTY(&cbp->textq)) db(sp, cbp, NULL); if (INTERRUPTED(sp)) return (0); @@ -121,17 +124,14 @@ static void db(SCR *sp, CB *cbp, const char *np) { CHAR_T *p; - GS *gp; TEXT *tp; size_t len; const unsigned char *name = (const void *)np; - gp = sp->gp; (void)ex_printf(sp, "********** %s%s\n", name == NULL ? KEY_NAME(sp, cbp->name) : name, F_ISSET(cbp, CB_LMODE) ? " (line mode)" : " (character mode)"); - for (tp = cbp->textq.cqh_first; - tp != (void *)&cbp->textq; tp = tp->q.cqe_next) { + TAILQ_FOREACH(tp, &cbp->textq, q) { for (len = tp->len, p = tp->lb; len--; ++p) { (void)ex_puts(sp, (char *)KEY_NAME(sp, *p)); if (INTERRUPTED(sp)) diff --git a/dist/nvi/ex/ex_edit.c b/external/bsd/nvi/dist/ex/ex_edit.c similarity index 95% rename from dist/nvi/ex/ex_edit.c rename to external/bsd/nvi/dist/ex/ex_edit.c index af088f2b3..934ca758b 100644 --- a/dist/nvi/ex/ex_edit.c +++ b/external/bsd/nvi/dist/ex/ex_edit.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_edit.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_edit.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_edit.c,v 10.14 2001/08/28 13:29:15 skimo Exp (Berkeley) Date: 2001/08/28 13:29:15"; +static const char sccsid[] = "Id: ex_edit.c,v 10.14 2001/08/28 13:29:15 skimo Exp (Berkeley) Date: 2001/08/28 13:29:15 "; #endif /* not lint */ #include @@ -130,7 +129,7 @@ ex_N_edit(SCR *sp, EXCMD *cmdp, FREF *frp, int attach) /* Copy file state, keep the screen and cursor the same. */ new->ep = sp->ep; ++new->ep->refcnt; - CIRCLEQ_INSERT_HEAD(&new->ep->scrq, new, eq); + TAILQ_INSERT_HEAD(&new->ep->scrq, new, eq); new->frp = frp; new->frp->flags = sp->frp->flags; diff --git a/dist/nvi/ex/ex_equal.c b/external/bsd/nvi/dist/ex/ex_equal.c similarity index 91% rename from dist/nvi/ex/ex_equal.c rename to external/bsd/nvi/dist/ex/ex_equal.c index ea10007de..3dfcf40f2 100644 --- a/dist/nvi/ex/ex_equal.c +++ b/external/bsd/nvi/dist/ex/ex_equal.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_equal.c,v 1.2 2009/11/14 23:40:11 christos Exp $ */ - +/* $NetBSD: ex_equal.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_equal.c,v 10.12 2001/06/25 15:19:15 skimo Exp (Berkeley) Date: 2001/06/25 15:19:15"; +static const char sccsid[] = "Id: ex_equal.c,v 10.12 2001/06/25 15:19:15 skimo Exp (Berkeley) Date: 2001/06/25 15:19:15 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_file.c b/external/bsd/nvi/dist/ex/ex_file.c similarity index 93% rename from dist/nvi/ex/ex_file.c rename to external/bsd/nvi/dist/ex/ex_file.c index be02abcc8..ba0973d30 100644 --- a/dist/nvi/ex/ex_file.c +++ b/external/bsd/nvi/dist/ex/ex_file.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_file.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_file.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_file.c,v 10.14 2001/06/25 15:19:16 skimo Exp (Berkeley) Date: 2001/06/25 15:19:16"; +static const char sccsid[] = "Id: ex_file.c,v 10.14 2001/06/25 15:19:16 skimo Exp (Berkeley) Date: 2001/06/25 15:19:16 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_filter.c b/external/bsd/nvi/dist/ex/ex_filter.c similarity index 98% rename from dist/nvi/ex/ex_filter.c rename to external/bsd/nvi/dist/ex/ex_filter.c index a23419fad..99841e2b4 100644 --- a/dist/nvi/ex/ex_filter.c +++ b/external/bsd/nvi/dist/ex/ex_filter.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_filter.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_filter.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_filter.c,v 10.44 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54"; +static const char sccsid[] = "Id: ex_filter.c,v 10.44 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_global.c b/external/bsd/nvi/dist/ex/ex_global.c similarity index 92% rename from dist/nvi/ex/ex_global.c rename to external/bsd/nvi/dist/ex/ex_global.c index ff6ae5220..8b52e0033 100644 --- a/dist/nvi/ex/ex_global.c +++ b/external/bsd/nvi/dist/ex/ex_global.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_global.c,v 1.4 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_global.c,v 1.4 2013/11/27 21:16:10 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_global.c,v 10.30 2001/06/25 15:19:16 skimo Exp (Berkeley) Date: 2001/06/25 15:19:16"; +static const char sccsid[] = "Id: ex_global.c,v 10.30 2001/06/25 15:19:16 skimo Exp (Berkeley) Date: 2001/06/25 15:19:16 "; #endif /* not lint */ #include @@ -71,7 +70,6 @@ ex_g_setup(SCR *sp, EXCMD *cmdp, enum which cmd) RANGE *rp; busy_t btype; db_recno_t start, end; - regex_t *re; regmatch_t match[1]; size_t len; int cnt, delim, eval; @@ -150,7 +148,6 @@ usage: ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE); */ sp->searchdir = FORWARD; } - re = &sp->re_c; /* The global commands always set the previous context mark. */ myabs.lno = sp->lno; @@ -160,7 +157,7 @@ usage: ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE); /* Get an EXCMD structure. */ CALLOC_RET(sp, ecp, EXCMD *, 1, sizeof(EXCMD)); - CIRCLEQ_INIT(&ecp->rq); + TAILQ_INIT(&ecp->rq); /* * Get a copy of the command string; the default command is print. @@ -174,7 +171,7 @@ usage: ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE); len = 1; } - MALLOC_RET(sp, ecp->cp, CHAR_T *, (len * 2) * sizeof(CHAR_T)); + MALLOC_GOTO(sp, ecp->cp, CHAR_T *, (len * 2) * sizeof(CHAR_T)); ecp->o_cp = ecp->cp; ecp->o_clen = len; MEMCPYW(ecp->cp + len, p, len); @@ -229,7 +226,7 @@ usage: ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE); } /* If follows the last entry, extend the last entry's range. */ - if ((rp = ecp->rq.cqh_last) != (void *)&ecp->rq && + if ((rp = TAILQ_LAST(&ecp->rq, _rh)) != NULL && rp->stop == start - 1) { ++rp->stop; continue; @@ -240,10 +237,13 @@ usage: ex_emsg(sp, cmdp->cmd->usage, EXM_USAGE); if (rp == NULL) return (1); rp->start = rp->stop = start; - CIRCLEQ_INSERT_TAIL(&ecp->rq, rp, q); + TAILQ_INSERT_TAIL(&ecp->rq, rp, q); } search_busy(sp, BUSY_OFF); return (0); +alloc_err: + free(ecp); + return 1; } /* @@ -265,12 +265,10 @@ ex_g_insdel(SCR *sp, lnop_t op, db_recno_t lno) if (op == LINE_RESET) return (0); - for (ecp = sp->wp->ecq.lh_first; ecp != NULL; ecp = ecp->q.le_next) { + LIST_FOREACH(ecp, &sp->wp->ecq, q) { if (!FL_ISSET(ecp->agv_flags, AGV_AT | AGV_GLOBAL | AGV_V)) continue; - for (rp = ecp->rq.cqh_first; rp != (void *)&ecp->rq; rp = nrp) { - nrp = rp->q.cqe_next; - + TAILQ_FOREACH_SAFE(rp, &ecp->rq, q, nrp) { /* If range less than the line, ignore it. */ if (rp->stop < lno) continue; @@ -298,7 +296,7 @@ ex_g_insdel(SCR *sp, lnop_t op, db_recno_t lno) */ if (op == LINE_DELETE) { if (rp->start > --rp->stop) { - CIRCLEQ_REMOVE(&ecp->rq, rp, q); + TAILQ_REMOVE(&ecp->rq, rp, q); free(rp); } } else { @@ -306,8 +304,7 @@ ex_g_insdel(SCR *sp, lnop_t op, db_recno_t lno) nrp->start = lno + 1; nrp->stop = rp->stop + 1; rp->stop = lno - 1; - CIRCLEQ_INSERT_AFTER(&ecp->rq, rp, nrp, q); - rp = nrp; + TAILQ_INSERT_AFTER(&ecp->rq, rp, nrp, q); } } diff --git a/dist/nvi/ex/ex_init.c b/external/bsd/nvi/dist/ex/ex_init.c similarity index 97% rename from dist/nvi/ex/ex_init.c rename to external/bsd/nvi/dist/ex/ex_init.c index e8a044d5f..a6575299a 100644 --- a/dist/nvi/ex/ex_init.c +++ b/external/bsd/nvi/dist/ex/ex_init.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_init.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_init.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_init.c,v 10.31 2001/06/25 15:19:16 skimo Exp (Berkeley) Date: 2001/06/25 15:19:16"; +static const char sccsid[] = "Id: ex_init.c,v 10.31 2001/06/25 15:19:16 skimo Exp (Berkeley) Date: 2001/06/25 15:19:16 "; #endif /* not lint */ #include @@ -53,7 +52,7 @@ ex_screen_copy(SCR *orig, SCR *sp) sp->ex_private = nexp; /* Initialize queues. */ - CIRCLEQ_INIT(&nexp->tq); + TAILQ_INIT(&nexp->tq); TAILQ_INIT(&nexp->tagfq); LIST_INIT(&nexp->cscq); @@ -267,7 +266,7 @@ ex_run_file(SCR *sp, const char *name) * ex_run_str -- * Set up a string of ex commands to run. * - * PUBLIC: int ex_run_str __P((SCR *, char *, CHAR_T *, size_t, int, int)); + * PUBLIC: int ex_run_str __P((SCR *, const char *, const CHAR_T *, size_t, int, int)); */ int ex_run_str(SCR *sp, const char *name, const CHAR_T *str, size_t len, int ex_flags, int nocopy) diff --git a/dist/nvi/ex/ex_join.c b/external/bsd/nvi/dist/ex/ex_join.c similarity index 96% rename from dist/nvi/ex/ex_join.c rename to external/bsd/nvi/dist/ex/ex_join.c index bdaedbe1d..588b1107e 100644 --- a/dist/nvi/ex/ex_join.c +++ b/external/bsd/nvi/dist/ex/ex_join.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_join.c,v 1.3 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_join.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_join.c,v 10.17 2004/03/16 14:14:04 skimo Exp (Berkeley) Date: 2004/03/16 14:14:04"; +static const char sccsid[] = "Id: ex_join.c,v 10.17 2004/03/16 14:14:04 skimo Exp (Berkeley) Date: 2004/03/16 14:14:04 "; #endif /* not lint */ #include @@ -38,10 +37,9 @@ ex_join(SCR *sp, EXCMD *cmdp) { db_recno_t from, to; size_t blen, clen, len, tlen; - ARG_CHAR_T echar = 0; int extra, first; - CHAR_T *bp, *tbp = NULL; - CHAR_T *p; + ARG_CHAR_T echar = 0; + CHAR_T *p, *bp, *tbp = NULL; NEEDFILE(sp, cmdp); diff --git a/dist/nvi/ex/ex_map.c b/external/bsd/nvi/dist/ex/ex_map.c similarity index 96% rename from dist/nvi/ex/ex_map.c rename to external/bsd/nvi/dist/ex/ex_map.c index 4e53932a6..ae651d1cc 100644 --- a/dist/nvi/ex/ex_map.c +++ b/external/bsd/nvi/dist/ex/ex_map.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_map.c,v 1.2 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_map.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_map.c,v 10.11 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17"; +static const char sccsid[] = "Id: ex_map.c,v 10.11 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_mark.c b/external/bsd/nvi/dist/ex/ex_mark.c similarity index 87% rename from dist/nvi/ex/ex_mark.c rename to external/bsd/nvi/dist/ex/ex_mark.c index 3e52c10e6..cd4ecc62c 100644 --- a/dist/nvi/ex/ex_mark.c +++ b/external/bsd/nvi/dist/ex/ex_mark.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_mark.c,v 1.1.1.2 2008/05/18 14:31:16 aymeric Exp $ */ - +/* $NetBSD: ex_mark.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_mark.c,v 10.9 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17"; +static const char sccsid[] = "Id: ex_mark.c,v 10.9 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_mkexrc.c b/external/bsd/nvi/dist/ex/ex_mkexrc.c similarity index 94% rename from dist/nvi/ex/ex_mkexrc.c rename to external/bsd/nvi/dist/ex/ex_mkexrc.c index 5305d09c8..1fcd80a7b 100644 --- a/dist/nvi/ex/ex_mkexrc.c +++ b/external/bsd/nvi/dist/ex/ex_mkexrc.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_mkexrc.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_mkexrc.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_mkexrc.c,v 10.13 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17"; +static const char sccsid[] = "Id: ex_mkexrc.c,v 10.13 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_move.c b/external/bsd/nvi/dist/ex/ex_move.c similarity index 90% rename from dist/nvi/ex/ex_move.c rename to external/bsd/nvi/dist/ex/ex_move.c index cecc537b3..d0d9a01df 100644 --- a/dist/nvi/ex/ex_move.c +++ b/external/bsd/nvi/dist/ex/ex_move.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_move.c,v 1.2 2012/01/27 16:41:22 christos Exp $ */ - +/* $NetBSD: ex_move.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_move.c,v 10.15 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17"; +static const char sccsid[] = "Id: ex_move.c,v 10.15 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17 "; #endif /* not lint */ #include @@ -52,7 +51,7 @@ ex_copy(SCR *sp, EXCMD *cmdp) fm1 = cmdp->addr1; fm2 = cmdp->addr2; memset(&cb, 0, sizeof(cb)); - CIRCLEQ_INIT(&cb.textq); + TAILQ_INIT(&cb.textq); for (cnt = fm1.lno; cnt <= fm2.lno; ++cnt) if (cut_line(sp, cnt, 0, ENTIRE_LINE, &cb)) { rval = 1; @@ -125,7 +124,7 @@ ex_move(SCR *sp, EXCMD *cmdp) /* Log the old positions of the marks. */ mark_reset = 0; - for (lmp = sp->ep->marks.lh_first; lmp != NULL; lmp = lmp->q.le_next) + LIST_FOREACH(lmp, &sp->ep->marks, q) if (lmp->name != ABSMARK1 && lmp->lno >= fl && lmp->lno <= tl) { mark_reset = 1; @@ -149,8 +148,7 @@ ex_move(SCR *sp, EXCMD *cmdp) if (db_append(sp, 1, tl, bp, len)) return (1); if (mark_reset) - for (lmp = sp->ep->marks.lh_first; - lmp != NULL; lmp = lmp->q.le_next) + LIST_FOREACH(lmp, &sp->ep->marks, q) if (lmp->name != ABSMARK1 && lmp->lno == fl) lmp->lno = tl + 1; @@ -168,8 +166,7 @@ ex_move(SCR *sp, EXCMD *cmdp) if (db_append(sp, 1, tl++, bp, len)) return (1); if (mark_reset) - for (lmp = sp->ep->marks.lh_first; - lmp != NULL; lmp = lmp->q.le_next) + LIST_FOREACH(lmp, &sp->ep->marks, q) if (lmp->name != ABSMARK1 && lmp->lno == fl) lmp->lno = tl; @@ -185,8 +182,7 @@ ex_move(SCR *sp, EXCMD *cmdp) /* Log the new positions of the marks. */ if (mark_reset) - for (lmp = sp->ep->marks.lh_first; - lmp != NULL; lmp = lmp->q.le_next) + LIST_FOREACH(lmp, &sp->ep->marks, q) if (lmp->name != ABSMARK1 && lmp->lno >= mfl && lmp->lno <= mtl) (void)log_mark(sp, lmp); diff --git a/dist/nvi/ex/ex_open.c b/external/bsd/nvi/dist/ex/ex_open.c similarity index 88% rename from dist/nvi/ex/ex_open.c rename to external/bsd/nvi/dist/ex/ex_open.c index 45e018b7d..384fc435d 100644 --- a/dist/nvi/ex/ex_open.c +++ b/external/bsd/nvi/dist/ex/ex_open.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_open.c,v 1.1.1.2 2008/05/18 14:31:16 aymeric Exp $ */ - +/* $NetBSD: ex_open.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_open.c,v 10.8 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17"; +static const char sccsid[] = "Id: ex_open.c,v 10.8 2001/06/25 15:19:17 skimo Exp (Berkeley) Date: 2001/06/25 15:19:17 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_perl.c b/external/bsd/nvi/dist/ex/ex_perl.c similarity index 92% rename from dist/nvi/ex/ex_perl.c rename to external/bsd/nvi/dist/ex/ex_perl.c index a53dd2308..a83e046dd 100644 --- a/dist/nvi/ex/ex_perl.c +++ b/external/bsd/nvi/dist/ex/ex_perl.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_perl.c,v 1.2 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_perl.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -16,7 +15,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_perl.c,v 8.11 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18"; +static const char sccsid[] = "Id: ex_perl.c,v 8.11 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_preserve.c b/external/bsd/nvi/dist/ex/ex_preserve.c similarity index 94% rename from dist/nvi/ex/ex_preserve.c rename to external/bsd/nvi/dist/ex/ex_preserve.c index 51577f4d8..bccf5e278 100644 --- a/dist/nvi/ex/ex_preserve.c +++ b/external/bsd/nvi/dist/ex/ex_preserve.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_preserve.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_preserve.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_preserve.c,v 10.15 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18"; +static const char sccsid[] = "Id: ex_preserve.c,v 10.15 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_print.c b/external/bsd/nvi/dist/ex/ex_print.c similarity index 97% rename from dist/nvi/ex/ex_print.c rename to external/bsd/nvi/dist/ex/ex_print.c index 6ce2d9e36..1bc6a2156 100644 --- a/dist/nvi/ex/ex_print.c +++ b/external/bsd/nvi/dist/ex/ex_print.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_print.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_print.c,v 1.3 2013/11/26 16:32:04 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_print.c,v 10.24 2001/07/29 19:07:29 skimo Exp (Berkeley) Date: 2001/07/29 19:07:29"; +static const char sccsid[] = "Id: ex_print.c,v 10.24 2001/07/29 19:07:29 skimo Exp (Berkeley) Date: 2001/07/29 19:07:29 "; #endif /* not lint */ #include @@ -97,7 +96,6 @@ ex_pr(SCR *sp, EXCMD *cmdp) int ex_print(SCR *sp, EXCMD *cmdp, MARK *fp, MARK *tp, u_int32_t flags) { - GS *gp; db_recno_t from, to; size_t col, len; const CHAR_T *p; @@ -106,7 +104,6 @@ ex_print(SCR *sp, EXCMD *cmdp, MARK *fp, MARK *tp, u_int32_t flags) NEEDFILE(sp, cmdp); - gp = sp->gp; for (from = fp->lno, to = tp->lno; from <= to; ++from) { col = 0; @@ -215,12 +212,10 @@ ex_prchars(SCR *sp, const CHAR_T *p, size_t *colp, size_t len, { CHAR_T ch; const char *kp; - GS *gp; size_t col, tlen, ts; if (O_ISSET(sp, O_LIST)) LF_SET(E_C_LIST); - gp = sp->gp; ts = O_VAL(sp, O_TABSTOP); for (col = *colp; len--;) if ((ch = *p++) == L('\t') && !LF_ISSET(E_C_LIST)) @@ -337,7 +332,7 @@ ex_fflush(SCR *sp) exp = EXP(sp); - if (exp->obp_len != 0) { + if (exp && exp->obp_len != 0) { sp->wp->scr_msg(sp, M_NONE, exp->obp, exp->obp_len); exp->obp_len = 0; } diff --git a/dist/nvi/ex/ex_put.c b/external/bsd/nvi/dist/ex/ex_put.c similarity index 88% rename from dist/nvi/ex/ex_put.c rename to external/bsd/nvi/dist/ex/ex_put.c index 2e5e6f07d..2347fd77d 100644 --- a/dist/nvi/ex/ex_put.c +++ b/external/bsd/nvi/dist/ex/ex_put.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_put.c,v 1.1.1.2 2008/05/18 14:31:17 aymeric Exp $ */ - +/* $NetBSD: ex_put.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_put.c,v 10.8 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18"; +static const char sccsid[] = "Id: ex_put.c,v 10.8 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_quit.c b/external/bsd/nvi/dist/ex/ex_quit.c similarity index 87% rename from dist/nvi/ex/ex_quit.c rename to external/bsd/nvi/dist/ex/ex_quit.c index 38a87d8a0..9b795dc07 100644 --- a/dist/nvi/ex/ex_quit.c +++ b/external/bsd/nvi/dist/ex/ex_quit.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_quit.c,v 1.1.1.2 2008/05/18 14:31:17 aymeric Exp $ */ - +/* $NetBSD: ex_quit.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_quit.c,v 10.8 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18"; +static const char sccsid[] = "Id: ex_quit.c,v 10.8 2001/06/25 15:19:18 skimo Exp (Berkeley) Date: 2001/06/25 15:19:18 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_read.c b/external/bsd/nvi/dist/ex/ex_read.c similarity index 97% rename from dist/nvi/ex/ex_read.c rename to external/bsd/nvi/dist/ex/ex_read.c index d0602ed62..16a905050 100644 --- a/dist/nvi/ex/ex_read.c +++ b/external/bsd/nvi/dist/ex/ex_read.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_read.c,v 1.4 2009/11/14 23:40:11 christos Exp $ */ - +/* $NetBSD: ex_read.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_read.c,v 10.44 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19"; +static const char sccsid[] = "Id: ex_read.c,v 10.44 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19 "; #endif /* not lint */ #include @@ -296,7 +295,7 @@ ex_read(SCR *sp, EXCMD *cmdp) * ex_readfp -- * Read lines into the file. * - * PUBLIC: int ex_readfp __P((SCR *, char *, FILE *, MARK *, db_recno_t *, int)); + * PUBLIC: int ex_readfp __P((SCR *, const char *, FILE *, MARK *, db_recno_t *, int)); */ int ex_readfp(SCR *sp, const char *name, FILE *fp, MARK *fm, db_recno_t *nlinesp, int silent) diff --git a/dist/nvi/ex/ex_screen.c b/external/bsd/nvi/dist/ex/ex_screen.c similarity index 89% rename from dist/nvi/ex/ex_screen.c rename to external/bsd/nvi/dist/ex/ex_screen.c index 8b0930f31..73491f9bf 100644 --- a/dist/nvi/ex/ex_screen.c +++ b/external/bsd/nvi/dist/ex/ex_screen.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_screen.c,v 1.2 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: ex_screen.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_screen.c,v 10.12 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19"; +static const char sccsid[] = "Id: ex_screen.c,v 10.12 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19 "; #endif /* not lint */ #include @@ -108,14 +107,14 @@ ex_sdisplay(SCR *sp) size_t col, len; gp = sp->gp; - if ((tsp = gp->hq.cqh_first) == (void *)&gp->hq) { + if ((tsp = TAILQ_FIRST(&gp->hq)) == NULL) { msgq(sp, M_INFO, "149|No background screens to display"); return (0); } col = len = sep = 0; - for (cnt = 1; tsp != (void *)&gp->hq && !INTERRUPTED(sp); - tsp = tsp->q.cqe_next) { + for (cnt = 1; tsp != NULL && !INTERRUPTED(sp); + tsp = TAILQ_NEXT(tsp, q)) { col += len = strlen(tsp->frp->name) + sep; if (col >= sp->cols - 1) { col = len; diff --git a/dist/nvi/ex/ex_script.c b/external/bsd/nvi/dist/ex/ex_script.c similarity index 96% rename from dist/nvi/ex/ex_script.c rename to external/bsd/nvi/dist/ex/ex_script.c index fe1528190..de9110006 100644 --- a/dist/nvi/ex/ex_script.c +++ b/external/bsd/nvi/dist/ex/ex_script.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_script.c,v 1.5 2011/11/23 19:18:53 tnozaki Exp $ */ - +/* $NetBSD: ex_script.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -15,7 +14,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_script.c,v 10.38 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19"; +static const char sccsid[] = "Id: ex_script.c,v 10.38 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19 "; #endif /* not lint */ #include @@ -380,8 +379,7 @@ sscr_check_input(SCR *sp, fd_set *fdset, int maxfd) loop: memcpy(&rdfd, fdset, sizeof(fd_set)); - for (tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) + TAILQ_FOREACH(tsp, &wp->scrq, q) if (F_ISSET(sp, SC_SCRIPT)) { FD_SET(sp->script->sh_master, &rdfd); if (sp->script->sh_master > maxfd) @@ -395,8 +393,7 @@ loop: memcpy(&rdfd, fdset, sizeof(fd_set)); default: break; } - for (tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) + TAILQ_FOREACH(tsp, &wp->scrq, q) if (F_ISSET(sp, SC_SCRIPT) && FD_ISSET(sp->script->sh_master, &rdfd)) { if (sscr_input(sp)) @@ -415,13 +412,11 @@ loop: memcpy(&rdfd, fdset, sizeof(fd_set)); int sscr_input(SCR *sp) { - GS *gp; WIN *wp; struct timeval poll; fd_set rdfd; int maxfd; - gp = sp->gp; wp = sp->wp; loop: maxfd = 0; @@ -430,8 +425,7 @@ loop: maxfd = 0; poll.tv_usec = 0; /* Set up the input mask. */ - for (sp = wp->scrq.cqh_first; sp != (void *)&wp->scrq; - sp = sp->q.cqe_next) + TAILQ_FOREACH(sp, &wp->scrq, q) if (F_ISSET(sp, SC_SCRIPT)) { FD_SET(sp->script->sh_master, &rdfd); if (sp->script->sh_master > maxfd) @@ -450,8 +444,7 @@ loop: maxfd = 0; } /* Read the input. */ - for (sp = wp->scrq.cqh_first; sp != (void *)&wp->scrq; - sp = sp->q.cqe_next) + TAILQ_FOREACH(sp, &wp->scrq, q) if (F_ISSET(sp, SC_SCRIPT) && FD_ISSET(sp->script->sh_master, &rdfd) && sscr_insert(sp)) @@ -658,8 +651,7 @@ sscr_check(SCR *sp) gp = sp->gp; wp = sp->wp; - for (sp = wp->scrq.cqh_first; sp != (void *)&wp->scrq; - sp = sp->q.cqe_next) + TAILQ_FOREACH(sp, &wp->scrq, q) if (F_ISSET(sp, SC_SCRIPT)) { F_SET(gp, G_SCRWIN); return; @@ -786,8 +778,8 @@ sscr_pty(amaster, aslave, name, termp, winp) void *winp; { static char line[] = "/dev/ptyXX"; - register char *cp1, *cp2; - register int master, slave, ttygid; + const char *cp1, *cp2; + int master, slave, ttygid; struct group *gr; if ((gr = getgrnam("tty")) != NULL) diff --git a/dist/nvi/ex/ex_set.c b/external/bsd/nvi/dist/ex/ex_set.c similarity index 86% rename from dist/nvi/ex/ex_set.c rename to external/bsd/nvi/dist/ex/ex_set.c index 7dfa4b30f..cd7199f43 100644 --- a/dist/nvi/ex/ex_set.c +++ b/external/bsd/nvi/dist/ex/ex_set.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_set.c,v 1.1.1.2 2008/05/18 14:31:17 aymeric Exp $ */ - +/* $NetBSD: ex_set.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_set.c,v 10.8 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19"; +static const char sccsid[] = "Id: ex_set.c,v 10.8 2001/06/25 15:19:19 skimo Exp (Berkeley) Date: 2001/06/25 15:19:19 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_shell.c b/external/bsd/nvi/dist/ex/ex_shell.c similarity index 98% rename from dist/nvi/ex/ex_shell.c rename to external/bsd/nvi/dist/ex/ex_shell.c index 0d4065c74..d6e916b3e 100644 --- a/dist/nvi/ex/ex_shell.c +++ b/external/bsd/nvi/dist/ex/ex_shell.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_shell.c,v 1.5 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_shell.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_shell.c,v 10.42 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54"; +static const char sccsid[] = "Id: ex_shell.c,v 10.42 2003/11/05 17:11:54 skimo Exp (Berkeley) Date: 2003/11/05 17:11:54 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_shift.c b/external/bsd/nvi/dist/ex/ex_shift.c similarity index 97% rename from dist/nvi/ex/ex_shift.c rename to external/bsd/nvi/dist/ex/ex_shift.c index 4b19adbf8..95935fe84 100644 --- a/dist/nvi/ex/ex_shift.c +++ b/external/bsd/nvi/dist/ex/ex_shift.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_shift.c,v 1.3 2009/08/07 16:19:54 lukem Exp $ */ - +/* $NetBSD: ex_shift.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_shift.c,v 10.17 2001/06/25 15:19:20 skimo Exp (Berkeley) Date: 2001/06/25 15:19:20"; +static const char sccsid[] = "Id: ex_shift.c,v 10.17 2001/06/25 15:19:20 skimo Exp (Berkeley) Date: 2001/06/25 15:19:20 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_source.c b/external/bsd/nvi/dist/ex/ex_source.c similarity index 94% rename from dist/nvi/ex/ex_source.c rename to external/bsd/nvi/dist/ex/ex_source.c index f1005a455..a103e7a92 100644 --- a/dist/nvi/ex/ex_source.c +++ b/external/bsd/nvi/dist/ex/ex_source.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_source.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_source.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_source.c,v 10.16 2001/08/18 21:49:58 skimo Exp (Berkeley) Date: 2001/08/18 21:49:58"; +static const char sccsid[] = "Id: ex_source.c,v 10.16 2001/08/18 21:49:58 skimo Exp (Berkeley) Date: 2001/08/18 21:49:58 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_stop.c b/external/bsd/nvi/dist/ex/ex_stop.c similarity index 88% rename from dist/nvi/ex/ex_stop.c rename to external/bsd/nvi/dist/ex/ex_stop.c index cde21fe10..63de34c89 100644 --- a/dist/nvi/ex/ex_stop.c +++ b/external/bsd/nvi/dist/ex/ex_stop.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_stop.c,v 1.1.1.2 2008/05/18 14:31:18 aymeric Exp $ */ - +/* $NetBSD: ex_stop.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_stop.c,v 10.11 2001/06/25 15:19:20 skimo Exp (Berkeley) Date: 2001/06/25 15:19:20"; +static const char sccsid[] = "Id: ex_stop.c,v 10.11 2001/06/25 15:19:20 skimo Exp (Berkeley) Date: 2001/06/25 15:19:20 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_subst.c b/external/bsd/nvi/dist/ex/ex_subst.c similarity index 99% rename from dist/nvi/ex/ex_subst.c rename to external/bsd/nvi/dist/ex/ex_subst.c index 67c5c1fa3..d02326b25 100644 --- a/dist/nvi/ex/ex_subst.c +++ b/external/bsd/nvi/dist/ex/ex_subst.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_subst.c,v 1.4 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_subst.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_subst.c,v 10.50 2002/02/09 21:18:23 skimo Exp (Berkeley) Date: 2002/02/09 21:18:23"; +static const char sccsid[] = "Id: ex_subst.c,v 10.50 2002/02/09 21:18:23 skimo Exp (Berkeley) Date: 2002/02/09 21:18:23 "; #endif /* not lint */ #include @@ -353,7 +352,7 @@ s(SCR *sp, EXCMD *cmdp, CHAR_T *st, regex_t *re, u_int flags) regmatch_t match[10]; size_t blen, cnt, last, lbclen, lblen, len, llen; size_t offset, saved_offset, scno; - int cflag, lflag, nflag, pflag, rflag; + int lflag, nflag, pflag, rflag; int didsub, do_eol_match, eflags, empty_ok, eval; int linechanged, matched, quit, rval; CHAR_T *lb, *bp; @@ -391,7 +390,7 @@ s(SCR *sp, EXCMD *cmdp, CHAR_T *st, regex_t *re, u_int flags) * just take it them in whatever order the user gives them. (The ex * usage statement doesn't reflect this.) */ - cflag = lflag = nflag = pflag = rflag = 0; + lflag = nflag = pflag = rflag = 0; if (st == NULL) goto noargs; for (lno = OOBLNO; *st != '\0'; ++st) @@ -442,7 +441,7 @@ s(SCR *sp, EXCMD *cmdp, CHAR_T *st, regex_t *re, u_int flags) /* Ex text structure initialization. */ if (F_ISSET(sp, SC_EX)) { memset(&tiq, 0, sizeof(TEXTH)); - CIRCLEQ_INIT(&tiq); + TAILQ_INIT(&tiq); } break; case 'g': @@ -658,7 +657,7 @@ nextmatch: match[0].rm_so = 0; goto lquit; if (ex_txt(sp, &tiq, 0, TXT_CR)) goto err; - ev.e_c = tiq.cqh_first->lb[0]; + ev.e_c = TAILQ_FIRST(&tiq)->lb[0]; } switch (ev.e_c) { diff --git a/dist/nvi/ex/ex_tag.c b/external/bsd/nvi/dist/ex/ex_tag.c similarity index 90% rename from dist/nvi/ex/ex_tag.c rename to external/bsd/nvi/dist/ex/ex_tag.c index 2a38b7e2b..4aa9581ea 100644 --- a/dist/nvi/ex/ex_tag.c +++ b/external/bsd/nvi/dist/ex/ex_tag.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_tag.c,v 1.11 2012/02/25 00:13:00 joerg Exp $ */ - +/* $NetBSD: ex_tag.c,v 1.9 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -15,7 +14,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_tag.c,v 10.50 2004/03/16 14:09:11 skimo Exp (Berkeley) Date: 2004/03/16 14:09:11"; +static const char sccsid[] = "Id: ex_tag.c,v 10.50 2004/03/16 14:09:11 skimo Exp (Berkeley) Date: 2004/03/16 14:09:11 "; #endif /* not lint */ #include @@ -65,7 +64,7 @@ static int tagq_copy __P((SCR *, TAGQ *, TAGQ **)); * ex_tag_first -- * The tag code can be entered from main, e.g., "vi -t tag". * - * PUBLIC: int ex_tag_first __P((SCR *, CHAR_T *)); + * PUBLIC: int ex_tag_first __P((SCR *, const CHAR_T *)); */ int ex_tag_first(SCR *sp, const CHAR_T *tagarg) @@ -185,11 +184,11 @@ ex_tag_next(SCR *sp, EXCMD *cmdp) size_t nlen; exp = EXP(sp); - if ((tqp = exp->tq.cqh_first) == (void *)&exp->tq) { + if ((tqp = TAILQ_FIRST(&exp->tq)) == NULL) { tag_msg(sp, TAG_EMPTY, NULL); return (1); } - if ((tp = tqp->current->q.cqe_next) == (void *)&tqp->tagq) { + if ((tp = TAILQ_NEXT(tqp->current, q)) == NULL) { msgq(sp, M_ERR, "282|Already at the last tag of this group"); return (1); } @@ -225,11 +224,11 @@ ex_tag_prev(SCR *sp, EXCMD *cmdp) size_t nlen; exp = EXP(sp); - if ((tqp = exp->tq.cqh_first) == (void *)&exp->tq) { + if ((tqp = TAILQ_FIRST(&exp->tq)) == NULL) { tag_msg(sp, TAG_EMPTY, NULL); return (0); } - if ((tp = tqp->current->q.cqe_prev) == (void *)&tqp->tagq) { + if ((tp = TAILQ_PREV(tqp->current, _tagqh, q)) == NULL) { msgq(sp, M_ERR, "255|Already at the first tag of this group"); return (1); } @@ -312,7 +311,7 @@ ex_tag_Nswitch(SCR *sp, TAG *tp, int force) /* Copy file state. */ new->ep = sp->ep; ++new->ep->refcnt; - CIRCLEQ_INSERT_HEAD(&new->ep->scrq, new, eq); + TAILQ_INSERT_HEAD(&new->ep->scrq, new, eq); new->frp = tp->frp; new->frp->flags = sp->frp->flags; @@ -357,7 +356,7 @@ ex_tag_pop(SCR *sp, EXCMD *cmdp) /* Check for an empty stack. */ exp = EXP(sp); - if (exp->tq.cqh_first == (void *)&exp->tq) { + if (TAILQ_EMPTY(&exp->tq)) { tag_msg(sp, TAG_EMPTY, NULL); return (1); } @@ -365,7 +364,7 @@ ex_tag_pop(SCR *sp, EXCMD *cmdp) /* Find the last TAG structure that we're going to DISCARD! */ switch (cmdp->argc) { case 0: /* Pop one tag. */ - dtqp = exp->tq.cqh_first; + dtqp = TAILQ_FIRST(&exp->tq); break; case 1: /* Name or number. */ INT2CHAR(sp, cmdp->argv[0]->bp, cmdp->argv[0]->len+1, @@ -377,10 +376,10 @@ ex_tag_pop(SCR *sp, EXCMD *cmdp) /* Number: pop that many queue entries. */ if (off < 1) return (0); - for (tqp = exp->tq.cqh_first; - tqp != (void *)&exp->tq && --off > 1; - tqp = tqp->q.cqe_next); - if (tqp == (void *)&exp->tq) { + TAILQ_FOREACH(tqp, &exp->tq, q) + if (--off <= 1) + break; + if (tqp == NULL) { msgq(sp, M_ERR, "159|Less than %s entries on the tags stack; use :display t[ags]", arg); @@ -391,11 +390,11 @@ ex_tag_pop(SCR *sp, EXCMD *cmdp) /* File argument: pop to that queue entry. */ filearg: arglen = strlen(arg); - for (tqp = exp->tq.cqh_first; - tqp != (void *)&exp->tq; - dtqp = tqp, tqp = tqp->q.cqe_next) { + for (tqp = TAILQ_FIRST(&exp->tq); + tqp != NULL; + dtqp = tqp, tqp = TAILQ_NEXT(tqp, q)) { /* Don't pop to the current file. */ - if (tqp == exp->tq.cqh_first) + if (tqp == TAILQ_FIRST(&exp->tq)) continue; p = tqp->current->frp->name; if ((t = strrchr(p, '/')) == NULL) @@ -405,13 +404,11 @@ filearg: arglen = strlen(arg); if (!strncmp(arg, t, arglen)) break; } - if (tqp == (void *)&exp->tq) { + if (tqp == NULL) { msgq_str(sp, M_ERR, arg, "160|No file %s on the tags stack to return to; use :display t[ags]"); return (1); } - if (tqp == exp->tq.cqh_first) - return (0); break; default: abort(); @@ -430,18 +427,20 @@ int ex_tag_top(SCR *sp, EXCMD *cmdp) { EX_PRIVATE *exp; + TAGQ *tqp; exp = EXP(sp); /* Check for an empty stack. */ - if (exp->tq.cqh_first == (void *)&exp->tq) { + if (TAILQ_EMPTY(&exp->tq)) { tag_msg(sp, TAG_EMPTY, NULL); return (1); } /* Return to the oldest information. */ - return (tag_pop(sp, - exp->tq.cqh_last->q.cqe_prev, FL_ISSET(cmdp->iflags, E_C_FORCE))); + tqp = TAILQ_LAST(&exp->tq, _tqh); + tqp = TAILQ_PREV(tqp, _tqh, q); + return tag_pop(sp, tqp, FL_ISSET(cmdp->iflags, E_C_FORCE)); } /* @@ -461,7 +460,7 @@ tag_pop(SCR *sp, TAGQ *dtqp, int force) * Update the cursor from the saved TAG information of the TAG * structure we're moving to. */ - tp = dtqp->q.cqe_next->current; + tp = TAILQ_NEXT(dtqp, q)->current; if (tp->frp == sp->frp) { sp->lno = tp->lno; sp->cno = tp->cno; @@ -480,7 +479,7 @@ tag_pop(SCR *sp, TAGQ *dtqp, int force) /* Pop entries off the queue up to and including dtqp. */ do { - tqp = exp->tq.cqh_first; + tqp = TAILQ_FIRST(&exp->tq); if (tagq_free(sp, tqp)) return (0); } while (tqp != dtqp); @@ -489,8 +488,8 @@ tag_pop(SCR *sp, TAGQ *dtqp, int force) * If only a single tag left, we've returned to the first tag point, * and the stack is now empty. */ - if (exp->tq.cqh_first->q.cqe_next == (void *)&exp->tq) - tagq_free(sp, exp->tq.cqh_first); + if (TAILQ_NEXT(TAILQ_FIRST(&exp->tq), q) == NULL) + tagq_free(sp, TAILQ_FIRST(&exp->tq)); return (0); } @@ -512,7 +511,7 @@ ex_tag_display(SCR *sp) char *p; exp = EXP(sp); - if ((tqp = exp->tq.cqh_first) == (void *)&exp->tq) { + if (TAILQ_EMPTY(&exp->tq)) { tag_msg(sp, TAG_EMPTY, NULL); return (0); } @@ -540,11 +539,10 @@ ex_tag_display(SCR *sp) * Display the list of tags for each queue entry. The first entry * is numbered, and the current tag entry has an asterisk appended. */ - for (cnt = 1, tqp = exp->tq.cqh_first; !INTERRUPTED(sp) && - tqp != (void *)&exp->tq; ++cnt, tqp = tqp->q.cqe_next) - for (tp = tqp->tagq.cqh_first; - tp != (void *)&tqp->tagq; tp = tp->q.cqe_next) { - if (tp == tqp->tagq.cqh_first) + for (cnt = 1, tqp = TAILQ_FIRST(&exp->tq); !INTERRUPTED(sp) && + tqp != NULL; ++cnt, tqp = TAILQ_NEXT(tqp, q)) + TAILQ_FOREACH(tp, &tqp->tagq, q) { + if (tp == TAILQ_FIRST(&tqp->tagq)) (void)ex_printf(sp, "%2d ", cnt); else (void)ex_printf(sp, " "); @@ -559,7 +557,7 @@ ex_tag_display(SCR *sp) if (tqp->current == tp) (void)ex_printf(sp, "*"); - if (tp == tqp->tagq.cqh_first && tqp->tag != NULL && + if (tp == TAILQ_FIRST(&tqp->tagq) && tqp->tag != NULL && (sp->cols - L_NAME) >= L_TAG + L_SPACE) { len = strlen(tqp->tag); if (len > sp->cols - (L_NAME + L_SPACE)) @@ -591,25 +589,23 @@ ex_tag_copy(SCR *orig, SCR *sp) nexp = EXP(sp); /* Copy tag queue and tags stack. */ - for (aqp = oexp->tq.cqh_first; - aqp != (void *)&oexp->tq; aqp = aqp->q.cqe_next) { + TAILQ_FOREACH(aqp, &oexp->tq, q) { if (tagq_copy(sp, aqp, &tqp)) return (1); - for (ap = aqp->tagq.cqh_first; - ap != (void *)&aqp->tagq; ap = ap->q.cqe_next) { + TAILQ_FOREACH(ap, &aqp->tagq, q) { if (tag_copy(sp, ap, &tp)) return (1); /* Set the current pointer. */ if (aqp->current == ap) tqp->current = tp; - CIRCLEQ_INSERT_TAIL(&tqp->tagq, tp, q); + TAILQ_INSERT_TAIL(&tqp->tagq, tp, q); } - CIRCLEQ_INSERT_TAIL(&nexp->tq, tqp, q); + TAILQ_INSERT_TAIL(&nexp->tq, tqp, q); } /* Copy list of tag files. */ - for (atfp = oexp->tagfq.tqh_first; - atfp != NULL; atfp = atfp->q.tqe_next) { + + TAILQ_FOREACH(atfp, &oexp->tagfq, q) { if (tagf_copy(sp, atfp, &tfp)) return (1); TAILQ_INSERT_TAIL(&nexp->tagfq, tfp, q); @@ -661,7 +657,7 @@ tagq_copy(SCR *sp, TAGQ *otqp, TAGQ **tqpp) MALLOC_RET(sp, tqp, TAGQ *, len); memcpy(tqp, otqp, len); - CIRCLEQ_INIT(&tqp->tagq); + TAILQ_INIT(&tqp->tagq); tqp->current = NULL; if (otqp->tag != NULL) tqp->tag = tqp->buf; @@ -730,8 +726,8 @@ tagq_free(SCR *sp, TAGQ *tqp) TAG *tp; exp = EXP(sp); - while ((tp = tqp->tagq.cqh_first) != (void *)&tqp->tagq) { - CIRCLEQ_REMOVE(&tqp->tagq, tp, q); + while ((tp = TAILQ_FIRST(&tqp->tagq)) != NULL) { + TAILQ_REMOVE(&tqp->tagq, tp, q); free(tp); } /* @@ -739,8 +735,8 @@ tagq_free(SCR *sp, TAGQ *tqp) * If allocated and then the user failed to switch files, the TAGQ * structure was never attached to any list. */ - if (tqp->q.cqe_next != NULL) - CIRCLEQ_REMOVE(&exp->tq, tqp, q); + if (TAILQ_NEXT(tqp, q) != NULL) + TAILQ_REMOVE(&exp->tq, tqp, q); free(tqp); return (0); } @@ -769,14 +765,14 @@ tagq_push(SCR *sp, TAGQ *tqp, int new_screen, int force) */ rtp = NULL; rtqp = NULL; - if (exp->tq.cqh_first == (void *)&exp->tq) { + if (TAILQ_EMPTY(&exp->tq)) { /* Initialize the `local context' tag queue structure. */ CALLOC_GOTO(sp, rtqp, TAGQ *, 1, sizeof(TAGQ)); - CIRCLEQ_INIT(&rtqp->tagq); + TAILQ_INIT(&rtqp->tagq); /* Initialize and link in its tag structure. */ CALLOC_GOTO(sp, rtp, TAG *, 1, sizeof(TAG)); - CIRCLEQ_INSERT_HEAD(&rtqp->tagq, rtp, q); + TAILQ_INSERT_HEAD(&rtqp->tagq, rtp, q); rtqp->current = rtp; } @@ -792,14 +788,14 @@ tagq_push(SCR *sp, TAGQ *tqp, int new_screen, int force) /* Try to switch to the tag. */ if (new_screen) { - if (ex_tag_Nswitch(sp, tqp->tagq.cqh_first, force)) + if (ex_tag_Nswitch(sp, TAILQ_FIRST(&tqp->tagq), force)) goto err; /* Everything else gets done in the new screen. */ sp = sp->nextdisp; exp = EXP(sp); } else - if (ex_tag_nswitch(sp, tqp->tagq.cqh_first, force)) + if (ex_tag_nswitch(sp, TAILQ_FIRST(&tqp->tagq), force)) goto err; /* @@ -807,13 +803,15 @@ tagq_push(SCR *sp, TAGQ *tqp, int new_screen, int force) * in place, so we can pop all the way back to the current mark. * Note, it doesn't point to much of anything, it's a placeholder. */ - if (exp->tq.cqh_first == (void *)&exp->tq) { - CIRCLEQ_INSERT_HEAD(&exp->tq, rtqp, q); - } else - rtqp = exp->tq.cqh_first; + if (TAILQ_EMPTY(&exp->tq)) { + TAILQ_INSERT_HEAD(&exp->tq, rtqp, q); + } else { + free(rtqp); + rtqp = TAILQ_FIRST(&exp->tq); + } /* Link the new TAGQ structure into place. */ - CIRCLEQ_INSERT_HEAD(&exp->tq, tqp, q); + TAILQ_INSERT_HEAD(&exp->tq, tqp, q); (void)ctag_search(sp, tqp->current->search, tqp->current->slen, tqp->tag); @@ -894,7 +892,7 @@ ex_tagf_alloc(SCR *sp, const char *str) /* Free current queue. */ exp = EXP(sp); - while ((tfp = exp->tagfq.tqh_first) != NULL) + while ((tfp = TAILQ_FIRST(&exp->tagfq)) != NULL) tagf_free(sp, tfp); /* Create new queue. */ @@ -935,9 +933,9 @@ ex_tag_free(SCR *sp) /* Free up tag information. */ exp = EXP(sp); - while ((tqp = exp->tq.cqh_first) != (void *)&exp->tq) + while ((tqp = TAILQ_FIRST(&exp->tq)) != NULL) tagq_free(sp, tqp); - while ((tfp = exp->tagfq.tqh_first) != NULL) + while ((tfp = TAILQ_FIRST(&exp->tagfq)) != NULL) tagf_free(sp, tfp); if (exp->tag_last != NULL) free(exp->tag_last); @@ -1069,7 +1067,6 @@ gtag_slist(SCR *sp, CHAR_T *tag, int ref) { TAGQ *tqp; size_t len, nlen, slen, wlen; - int echk; TAG *tp; const char *np; char *name, *file, *search; @@ -1082,7 +1079,7 @@ gtag_slist(SCR *sp, CHAR_T *tag, int ref) INT2CHAR(sp, tag, STRLEN(tag) + 1, np, nlen); len = nlen - 1; CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1); - CIRCLEQ_INIT(&tqp->tagq); + TAILQ_INIT(&tqp->tagq); tqp->tag = tqp->buf; memcpy(tqp->tag, np, (tqp->tlen = len) + 1); @@ -1100,7 +1097,6 @@ gtag_slist(SCR *sp, CHAR_T *tag, int ref) while (fgetc(fp) != '\n') ; if (getentry(buf, &name, &file, &search) == 0) { - echk = 1; break; } slen = strlen(search); @@ -1113,22 +1109,23 @@ gtag_slist(SCR *sp, CHAR_T *tag, int ref) tp->search = (CHAR_T *)(tp->fname + tp->fnlen + 1); CHAR2INT(sp, search, slen + 1, wp, wlen); MEMCPYW(tp->search, wp, (tp->slen = slen) + 1); - CIRCLEQ_INSERT_TAIL(&tqp->tagq, tp, q); + TAILQ_INSERT_TAIL(&tqp->tagq, tp, q); } pclose(fp); } /* Check to see if we found anything. */ - if (tqp->tagq.cqh_first == (void *)&tqp->tagq) { + if (TAILQ_EMPTY(&tqp->tagq)) { msgq_str(sp, M_ERR, np, "162|%s: tag not found"); free(tqp); return (NULL); } - tqp->current = tqp->tagq.cqh_first; + tqp->current = TAILQ_FIRST(&tqp->tagq); return (tqp); alloc_err: + free(tqp); return (NULL); } #endif @@ -1154,7 +1151,7 @@ ctag_slist(SCR *sp, CHAR_T *tag) INT2CHAR(sp, tag, STRLEN(tag) + 1, np, nlen); len = nlen - 1; CALLOC_GOTO(sp, tqp, TAGQ *, 1, sizeof(TAGQ) + len + 1); - CIRCLEQ_INIT(&tqp->tagq); + TAILQ_INIT(&tqp->tagq); tqp->tag = tqp->buf; memcpy(tqp->tag, np, (tqp->tlen = len) + 1); @@ -1162,8 +1159,8 @@ ctag_slist(SCR *sp, CHAR_T *tag) * Find the tag, only display missing file messages once, and * then only if we didn't find the tag. */ - for (echk = 0, - tfp = exp->tagfq.tqh_first; tfp != NULL; tfp = tfp->q.tqe_next) + echk = 0; + TAILQ_FOREACH(tfp, &exp->tagfq, q) if (ctag_sfile(sp, tfp, tqp, tqp->tag)) { echk = 1; F_SET(tfp, TAGF_ERR); @@ -1171,11 +1168,10 @@ ctag_slist(SCR *sp, CHAR_T *tag) F_CLR(tfp, TAGF_ERR | TAGF_ERR_WARN); /* Check to see if we found anything. */ - if (tqp->tagq.cqh_first == (void *)&tqp->tagq) { + if (TAILQ_EMPTY(&tqp->tagq)) { msgq_str(sp, M_ERR, tqp->tag, "162|%s: tag not found"); if (echk) - for (tfp = exp->tagfq.tqh_first; - tfp != NULL; tfp = tfp->q.tqe_next) + TAILQ_FOREACH(tfp, &exp->tagfq, q) if (F_ISSET(tfp, TAGF_ERR) && !F_ISSET(tfp, TAGF_ERR_WARN)) { errno = tfp->errnum; @@ -1186,7 +1182,7 @@ ctag_slist(SCR *sp, CHAR_T *tag) return (NULL); } - tqp->current = tqp->tagq.cqh_first; + tqp->current = TAILQ_FIRST(&tqp->tagq); return (tqp); alloc_err: @@ -1215,9 +1211,6 @@ ctag_sfile(SCR *sp, TAGF *tfp, TAGQ *tqp, char *tname) return (1); } -#if defined(__minix) - return (1); -#else /* * XXX * Some old BSD systems require MAP_FILE as an argument when mapping @@ -1329,7 +1322,7 @@ corrupt: p = msg_print(sp, tname, &nf1); tp->search = (CHAR_T*)(tp->fname + tp->fnlen + 1); CHAR2INT(sp, search, slen + 1, wp, wlen); MEMCPYW(tp->search, wp, (tp->slen = slen) + 1); - CIRCLEQ_INSERT_TAIL(&tqp->tagq, tp, q); + TAILQ_INSERT_TAIL(&tqp->tagq, tp, q); } alloc_err: @@ -1338,7 +1331,6 @@ done: if (munmap(map, (size_t)sb.st_size)) if (close(fd)) msgq(sp, M_SYSERR, "close"); return (0); -#endif /* defined(__minix) */ } /* @@ -1349,7 +1341,6 @@ static void ctag_file(SCR *sp, TAGF *tfp, char *name, char **dirp, size_t *dlenp) { struct stat sb; - size_t len; char *p, buf[MAXPATHLEN]; /* @@ -1364,7 +1355,7 @@ ctag_file(SCR *sp, TAGF *tfp, char *name, char **dirp, size_t *dlenp) if (name[0] != '/' && stat(name, &sb) && (p = strrchr(tfp->name, '/')) != NULL) { *p = '\0'; - len = snprintf(buf, sizeof(buf), "%s/%s", tfp->name, name); + (void)snprintf(buf, sizeof(buf), "%s/%s", tfp->name, name); if (stat(buf, &sb) == 0) { *dirp = tfp->name; *dlenp = strlen(*dirp); diff --git a/dist/nvi/ex/ex_tcl.c b/external/bsd/nvi/dist/ex/ex_tcl.c similarity index 93% rename from dist/nvi/ex/ex_tcl.c rename to external/bsd/nvi/dist/ex/ex_tcl.c index 4e24c5af2..47f3e345a 100644 --- a/dist/nvi/ex/ex_tcl.c +++ b/external/bsd/nvi/dist/ex/ex_tcl.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_tcl.c,v 1.2 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_tcl.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -14,7 +13,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_tcl.c,v 8.11 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21"; +static const char sccsid[] = "Id: ex_tcl.c,v 8.11 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_txt.c b/external/bsd/nvi/dist/ex/ex_txt.c similarity index 95% rename from dist/nvi/ex/ex_txt.c rename to external/bsd/nvi/dist/ex/ex_txt.c index ee10ac3f6..04310fe61 100644 --- a/dist/nvi/ex/ex_txt.c +++ b/external/bsd/nvi/dist/ex/ex_txt.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_txt.c,v 1.6 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_txt.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_txt.c,v 10.23 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21"; +static const char sccsid[] = "Id: ex_txt.c,v 10.23 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21 "; #endif /* not lint */ #include @@ -64,6 +63,7 @@ ex_txt(SCR *sp, TEXTH *tiqh, ARG_CHAR_T prompt, u_int32_t flags) carat_t carat_st; size_t cnt; int rval; + int nochange; rval = 0; @@ -72,9 +72,8 @@ ex_txt(SCR *sp, TEXTH *tiqh, ARG_CHAR_T prompt, u_int32_t flags) * last one if it's big enough. (All TEXT bookkeeping fields default * to 0 -- text_init() handles this.) */ - if (tiqh->cqh_first != (void *)tiqh) { - tp = tiqh->cqh_first; - if (tp->q.cqe_next != (void *)tiqh || tp->lb_len < 32) { + if ((tp = TAILQ_FIRST(tiqh)) != NULL) { + if (TAILQ_NEXT(tp, q) != NULL || tp->lb_len < 32) { text_lfree(tiqh); goto newtp; } @@ -82,7 +81,7 @@ ex_txt(SCR *sp, TEXTH *tiqh, ARG_CHAR_T prompt, u_int32_t flags) } else { newtp: if ((tp = text_init(sp, NULL, 0, 32)) == NULL) goto err; - CIRCLEQ_INSERT_HEAD(tiqh, tp, q); + TAILQ_INSERT_HEAD(tiqh, tp, q); } /* Set the starting line number. */ @@ -112,7 +111,7 @@ newtp: if ((tp = text_init(sp, NULL, 0, 32)) == NULL) txt_prompt(sp, tp, prompt, flags); } - for (carat_st = C_NOTSET;;) { + for (carat_st = C_NOTSET, nochange = 0;;) { if (v_event_get(sp, &ev, 0, 0)) goto err; @@ -189,7 +188,7 @@ newtp: if ((tp = text_init(sp, NULL, 0, 32)) == NULL) */ if (LF_ISSET(TXT_DOTTERM) && tp->len == tp->ai + 1 && tp->lb[tp->len - 1] == '.') { -notlast: CIRCLEQ_REMOVE(tiqh, tp, q); +notlast: TAILQ_REMOVE(tiqh, tp, q); text_free(tp); goto done; } @@ -208,7 +207,8 @@ notlast: CIRCLEQ_REMOVE(tiqh, tp, q); * erased. */ if (LF_ISSET(TXT_AUTOINDENT)) { - if (carat_st == C_NOCHANGE) { + if (nochange) { + nochange = 0; if (v_txt_auto(sp, OOBLNO, &ait, ait.ai, ntp)) goto err; @@ -226,7 +226,7 @@ notlast: CIRCLEQ_REMOVE(tiqh, tp, q); * into the queue. */ tp = ntp; - CIRCLEQ_INSERT_TAIL(tiqh, tp, q); + TAILQ_INSERT_TAIL(tiqh, tp, q); break; case K_CARAT: /* Delete autoindent chars. */ if (tp->len <= tp->ai && LF_ISSET(TXT_AUTOINDENT)) @@ -295,7 +295,8 @@ notlast: CIRCLEQ_REMOVE(tiqh, tp, q); MEMCPYW(ait.lb, tp->lb, tp->ai); ait.ai = ait.len = tp->ai; - carat_st = C_NOCHANGE; + carat_st = C_NOTSET; + nochange = 1; goto leftmargin; case C_ZEROSET: /* 0^D */ if (tp->len > tp->ai + 1) diff --git a/dist/nvi/ex/ex_undo.c b/external/bsd/nvi/dist/ex/ex_undo.c similarity index 91% rename from dist/nvi/ex/ex_undo.c rename to external/bsd/nvi/dist/ex/ex_undo.c index c000b92d3..1af108bcb 100644 --- a/dist/nvi/ex/ex_undo.c +++ b/external/bsd/nvi/dist/ex/ex_undo.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_undo.c,v 1.1.1.2 2008/05/18 14:31:20 aymeric Exp $ */ - +/* $NetBSD: ex_undo.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_undo.c,v 10.7 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21"; +static const char sccsid[] = "Id: ex_undo.c,v 10.7 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_usage.c b/external/bsd/nvi/dist/ex/ex_usage.c similarity index 96% rename from dist/nvi/ex/ex_usage.c rename to external/bsd/nvi/dist/ex/ex_usage.c index 020c20202..62deee13d 100644 --- a/dist/nvi/ex/ex_usage.c +++ b/external/bsd/nvi/dist/ex/ex_usage.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_usage.c,v 1.6 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_usage.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_usage.c,v 10.15 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21"; +static const char sccsid[] = "Id: ex_usage.c,v 10.15 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21 "; #endif /* not lint */ #include @@ -146,11 +145,9 @@ ex_usage(SCR *sp, EXCMD *cmdp) int ex_viusage(SCR *sp, EXCMD *cmdp) { - GS *gp; VIKEYS const *kp; int key; - gp = sp->gp; switch (cmdp->argc) { case 1: if (cmdp->argv[0]->len != 1) { diff --git a/dist/nvi/ex/ex_util.c b/external/bsd/nvi/dist/ex/ex_util.c similarity index 94% rename from dist/nvi/ex/ex_util.c rename to external/bsd/nvi/dist/ex/ex_util.c index b91e5e3d8..9b1051b7e 100644 --- a/dist/nvi/ex/ex_util.c +++ b/external/bsd/nvi/dist/ex/ex_util.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_util.c,v 1.3 2009/11/15 18:43:28 dsl Exp $ */ - +/* $NetBSD: ex_util.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_util.c,v 10.32 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21"; +static const char sccsid[] = "Id: ex_util.c,v 10.32 2001/06/25 15:19:21 skimo Exp (Berkeley) Date: 2001/06/25 15:19:21 "; #endif /* not lint */ #include @@ -147,7 +146,7 @@ ex_init(SCR *sp) * ex_emsg -- * Display a few common ex and vi error messages. * - * PUBLIC: void ex_wemsg __P((SCR *, CHAR_T *, exm_t)); + * PUBLIC: void ex_wemsg __P((SCR *, const CHAR_T *, exm_t)); */ void ex_wemsg(SCR* sp, const CHAR_T *p, exm_t which) @@ -164,7 +163,7 @@ ex_wemsg(SCR* sp, const CHAR_T *p, exm_t which) * ex_emsg -- * Display a few common ex and vi error messages. * - * PUBLIC: void ex_emsg __P((SCR *, char *, exm_t)); + * PUBLIC: void ex_emsg __P((SCR *, const char *, exm_t)); */ void ex_emsg(SCR *sp, const char *p, exm_t which) diff --git a/dist/nvi/ex/ex_version.c b/external/bsd/nvi/dist/ex/ex_version.c similarity index 85% rename from dist/nvi/ex/ex_version.c rename to external/bsd/nvi/dist/ex/ex_version.c index 91696142d..8841d66ad 100644 --- a/dist/nvi/ex/ex_version.c +++ b/external/bsd/nvi/dist/ex/ex_version.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_version.c,v 1.1.1.2 2008/05/18 14:31:20 aymeric Exp $ */ - +/* $NetBSD: ex_version.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_version.c,v 10.32 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22"; +static const char sccsid[] = "Id: ex_version.c,v 10.32 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_visual.c b/external/bsd/nvi/dist/ex/ex_visual.c similarity index 96% rename from dist/nvi/ex/ex_visual.c rename to external/bsd/nvi/dist/ex/ex_visual.c index a403d45d0..411db2bac 100644 --- a/dist/nvi/ex/ex_visual.c +++ b/external/bsd/nvi/dist/ex/ex_visual.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_visual.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_visual.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_visual.c,v 10.16 2001/08/29 11:04:13 skimo Exp (Berkeley) Date: 2001/08/29 11:04:13"; +static const char sccsid[] = "Id: ex_visual.c,v 10.16 2001/08/29 11:04:13 skimo Exp (Berkeley) Date: 2001/08/29 11:04:13 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_write.c b/external/bsd/nvi/dist/ex/ex_write.c similarity index 98% rename from dist/nvi/ex/ex_write.c rename to external/bsd/nvi/dist/ex/ex_write.c index 53f7eacc5..fb69474d0 100644 --- a/dist/nvi/ex/ex_write.c +++ b/external/bsd/nvi/dist/ex/ex_write.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_write.c,v 1.4 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ex_write.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_write.c,v 10.38 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22"; +static const char sccsid[] = "Id: ex_write.c,v 10.38 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_yank.c b/external/bsd/nvi/dist/ex/ex_yank.c similarity index 88% rename from dist/nvi/ex/ex_yank.c rename to external/bsd/nvi/dist/ex/ex_yank.c index d172b4963..116242068 100644 --- a/dist/nvi/ex/ex_yank.c +++ b/external/bsd/nvi/dist/ex/ex_yank.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_yank.c,v 1.1.1.2 2008/05/18 14:31:21 aymeric Exp $ */ - +/* $NetBSD: ex_yank.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_yank.c,v 10.8 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22"; +static const char sccsid[] = "Id: ex_yank.c,v 10.8 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/ex_z.c b/external/bsd/nvi/dist/ex/ex_z.c similarity index 96% rename from dist/nvi/ex/ex_z.c rename to external/bsd/nvi/dist/ex/ex_z.c index b4331868e..8929b1c7c 100644 --- a/dist/nvi/ex/ex_z.c +++ b/external/bsd/nvi/dist/ex/ex_z.c @@ -1,5 +1,4 @@ -/* $NetBSD: ex_z.c,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: ex_z.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ex_z.c,v 10.12 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22"; +static const char sccsid[] = "Id: ex_z.c,v 10.12 2001/06/25 15:19:22 skimo Exp (Berkeley) Date: 2001/06/25 15:19:22 "; #endif /* not lint */ #include diff --git a/dist/nvi/ex/script.h b/external/bsd/nvi/dist/ex/script.h similarity index 79% rename from dist/nvi/ex/script.h rename to external/bsd/nvi/dist/ex/script.h index 66a12f8f1..84faf9ad0 100644 --- a/dist/nvi/ex/script.h +++ b/external/bsd/nvi/dist/ex/script.h @@ -1,5 +1,4 @@ -/* $NetBSD: script.h,v 1.1.1.2 2008/05/18 14:31:21 aymeric Exp $ */ - +/* $NetBSD: script.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: script.h,v 10.2 1996/03/06 19:53:00 bostic Exp (Berkeley) Date: 1996/03/06 19:53:00 + * Id: script.h,v 10.2 1996/03/06 19:53:00 bostic Exp (Berkeley) Date: 1996/03/06 19:53:00 */ struct _script { diff --git a/dist/nvi/ex/tag.h b/external/bsd/nvi/dist/ex/tag.h similarity index 91% rename from dist/nvi/ex/tag.h rename to external/bsd/nvi/dist/ex/tag.h index fa6118584..a6437da8f 100644 --- a/dist/nvi/ex/tag.h +++ b/external/bsd/nvi/dist/ex/tag.h @@ -1,5 +1,4 @@ -/* $NetBSD: tag.h,v 1.1.1.2 2008/05/18 14:31:21 aymeric Exp $ */ - +/* $NetBSD: tag.h,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -10,7 +9,7 @@ * * See the LICENSE file for redistribution information. * - * Id: tag.h,v 10.8 2000/07/14 14:29:22 skimo Exp (Berkeley) Date: 2000/07/14 14:29:22 + * Id: tag.h,v 10.8 2000/07/14 14:29:22 skimo Exp (Berkeley) Date: 2000/07/14 14:29:22 */ /* @@ -76,7 +75,7 @@ struct _tagf { /* Tag files. */ * tagtop: discard all Q */ struct _tag { /* Tag list. */ - CIRCLEQ_ENTRY(_tag) q; /* Linked list of tags. */ + TAILQ_ENTRY(_tag) q; /* Linked list of tags. */ /* Tag pop/return information. */ FREF *frp; /* Saved file. */ @@ -95,9 +94,9 @@ struct _tag { /* Tag list. */ }; struct _tagq { /* Tag queue. */ - CIRCLEQ_ENTRY(_tagq) q; /* Linked list of tag queues. */ + TAILQ_ENTRY(_tagq) q; /* Linked list of tag queues. */ /* This queue's tag list. */ - CIRCLEQ_HEAD(_tagqh, _tag) tagq; + TAILQ_HEAD(_tagqh, _tag) tagq; TAG *current; /* Current TAG within the queue. */ diff --git a/dist/nvi/gtk/gtk.h b/external/bsd/nvi/dist/gtk/gtk.h similarity index 70% rename from dist/nvi/gtk/gtk.h rename to external/bsd/nvi/dist/gtk/gtk.h index 12cf32d34..d6dd7aa3c 100644 --- a/dist/nvi/gtk/gtk.h +++ b/external/bsd/nvi/dist/gtk/gtk.h @@ -1,5 +1,4 @@ -/* $NetBSD: gtk.h,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - +/* $NetBSD: gtk.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ typedef struct { GtkViScreen *vi; GtkWidget *main; diff --git a/dist/nvi/gtk/gtk_main.c b/external/bsd/nvi/dist/gtk/gtk_main.c similarity index 96% rename from dist/nvi/gtk/gtk_main.c rename to external/bsd/nvi/dist/gtk/gtk_main.c index 1407c554d..80efe1e4e 100644 --- a/dist/nvi/gtk/gtk_main.c +++ b/external/bsd/nvi/dist/gtk/gtk_main.c @@ -1,5 +1,3 @@ -/* $NetBSD: gtk_main.c,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - /*- * Copyright (c) 1999 * Sven Verdoolaege. All rights reserved. @@ -24,7 +22,7 @@ #include "gtkvi.h" #include "gtkviwindow.h" #include "gtkviscreen.h" -#include "../gtk/extern.h" +#include "gtk_extern.h" static void vi_destroyed __P((GtkWidget*,GtkWidget*)); static void vi_rename __P((GtkWidget*,gchar*,GtkWidget*)); diff --git a/dist/nvi/gtk/gtkvi.c b/external/bsd/nvi/dist/gtk/gtkvi.c similarity index 95% rename from dist/nvi/gtk/gtkvi.c rename to external/bsd/nvi/dist/gtk/gtkvi.c index 83b28c639..9491fd0c3 100644 --- a/dist/nvi/gtk/gtkvi.c +++ b/external/bsd/nvi/dist/gtk/gtkvi.c @@ -1,5 +1,3 @@ -/* $NetBSD: gtkvi.c,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - /*- * Copyright (c) 1999 * Sven Verdoolaege. All rights reserved. @@ -33,7 +31,7 @@ #include "gtkvi.h" #include "gtkviscreen.h" #include "gtkviwindow.h" -#include "extern.h" +#include "gtk_extern.h" static int vi_key_press_event __P((GtkWidget*, GdkEventKey*, GtkVi*)); diff --git a/dist/nvi/gtk/gtkvi.h b/external/bsd/nvi/dist/gtk/gtkvi.h similarity index 77% rename from dist/nvi/gtk/gtkvi.h rename to external/bsd/nvi/dist/gtk/gtkvi.h index ed3519db4..cf1d65978 100644 --- a/dist/nvi/gtk/gtkvi.h +++ b/external/bsd/nvi/dist/gtk/gtkvi.h @@ -1,5 +1,4 @@ -/* $NetBSD: gtkvi.h,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - +/* $NetBSD: gtkvi.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #ifndef __GTK_VI_H__ #define __GTK_VI_H__ diff --git a/dist/nvi/gtk/gtkviscreen.c b/external/bsd/nvi/dist/gtk/gtkviscreen.c similarity index 99% rename from dist/nvi/gtk/gtkviscreen.c rename to external/bsd/nvi/dist/gtk/gtkviscreen.c index 46d815081..fbc50ea7c 100644 --- a/dist/nvi/gtk/gtkviscreen.c +++ b/external/bsd/nvi/dist/gtk/gtkviscreen.c @@ -1,5 +1,3 @@ -/* $NetBSD: gtkviscreen.c,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - #include #include diff --git a/dist/nvi/gtk/gtkviscreen.h b/external/bsd/nvi/dist/gtk/gtkviscreen.h similarity index 96% rename from dist/nvi/gtk/gtkviscreen.h rename to external/bsd/nvi/dist/gtk/gtkviscreen.h index d1744786d..5888469be 100644 --- a/dist/nvi/gtk/gtkviscreen.h +++ b/external/bsd/nvi/dist/gtk/gtkviscreen.h @@ -1,5 +1,4 @@ -/* $NetBSD: gtkviscreen.h,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - +/* $NetBSD: gtkviscreen.h,v 1.2 2013/11/22 15:52:05 christos Exp $ *>/ #ifndef __GTK_VI_SCREEN_H__ #define __GTK_VI_SCREEN_H__ diff --git a/dist/nvi/gtk/gtkviwindow.c b/external/bsd/nvi/dist/gtk/gtkviwindow.c similarity index 99% rename from dist/nvi/gtk/gtkviwindow.c rename to external/bsd/nvi/dist/gtk/gtkviwindow.c index 391b82c7d..b88556ac3 100644 --- a/dist/nvi/gtk/gtkviwindow.c +++ b/external/bsd/nvi/dist/gtk/gtkviwindow.c @@ -1,5 +1,3 @@ -/* $NetBSD: gtkviwindow.c,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - /* change further to gtkviwindow have no knowledge of ipvi */ #include "config.h" @@ -18,7 +16,7 @@ #include "gtkvi.h" #include "gtkviscreen.h" #include "gtkviwindow.h" -#include "extern.h" +#include "gtk_extern.h" enum { RENAME, diff --git a/dist/nvi/gtk/gtkviwindow.h b/external/bsd/nvi/dist/gtk/gtkviwindow.h similarity index 94% rename from dist/nvi/gtk/gtkviwindow.h rename to external/bsd/nvi/dist/gtk/gtkviwindow.h index d94541ad5..9fefd3737 100644 --- a/dist/nvi/gtk/gtkviwindow.h +++ b/external/bsd/nvi/dist/gtk/gtkviwindow.h @@ -1,5 +1,4 @@ -/* $NetBSD: gtkviwindow.h,v 1.1.1.2 2008/05/18 14:31:22 aymeric Exp $ */ - +/* $NetBSD: gtkviwindow.h,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #ifndef __GTK_VI_WINDOW_H__ #define __GTK_VI_WINDOW_H__ diff --git a/dist/nvi/ip/ip_funcs.c b/external/bsd/nvi/dist/ip/ip_funcs.c similarity index 94% rename from dist/nvi/ip/ip_funcs.c rename to external/bsd/nvi/dist/ip/ip_funcs.c index be381f116..fcdc60924 100644 --- a/dist/nvi/ip/ip_funcs.c +++ b/external/bsd/nvi/dist/ip/ip_funcs.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_funcs.c,v 1.1.1.2 2008/05/18 14:31:24 aymeric Exp $ */ - +/* $NetBSD: ip_funcs.c,v 1.3 2013/11/27 17:55:46 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_funcs.c,v 8.23 2001/06/25 15:19:23 skimo Exp (Berkeley) Date: 2001/06/25 15:19:23"; +static const char sccsid[] = "Id: ip_funcs.c,v 8.23 2001/06/25 15:19:23 skimo Exp (Berkeley) Date: 2001/06/25 15:19:23 "; #endif /* not lint */ #include @@ -20,12 +19,12 @@ static const char sccsid[] = "Id: ip_funcs.c,v 8.23 2001/06/25 15:19:23 skimo Ex #include #include #include +#include #include #include "../common/common.h" #include "../vi/vi.h" #include "../ipc/ip.h" -#include "extern.h" /* * ip_addstr -- @@ -38,13 +37,14 @@ ip_waddstr(SCR *sp, const CHAR_T *str, size_t len) { IP_BUF ipb; IP_PRIVATE *ipp; - int iv, rval; + int rval; ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); ipb.code = SI_WADDSTR; ipb.len1 = len * sizeof(CHAR_T); - ipb.str1 = (char *)str; + ipb.str1 = __UNCONST(str); rval = vi_send(ipp->o_fd, "a", &ipb); /* XXXX */ ipp->col += len; @@ -71,6 +71,7 @@ ip_addstr(SCR *sp, const char *str, size_t len) * If ex isn't in control, it's the last line of the screen and * it's a split screen, use inverse video. */ + memset(&ipb, 0, sizeof(ipb)); iv = 0; if (!F_ISSET(sp, SC_SCR_EXWROTE) && ipp->row == LASTLINE(sp) && IS_SPLIT(sp)) { @@ -101,6 +102,7 @@ ip_attr(SCR *sp, scr_attr_t attribute, int on) IP_BUF ipb; IP_PRIVATE *ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); if (attribute == SA_ALTERNATE) { if (on) F_SET(ipp, IP_ON_ALTERNATE); else F_CLR(ipp, IP_ON_ALTERNATE); @@ -138,6 +140,7 @@ ip_bell(SCR *sp) IP_BUF ipb; IP_PRIVATE *ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); ipb.code = SI_BELL; return (vi_send(ipp->o_fd, NULL, &ipb)); @@ -155,6 +158,7 @@ ip_busy(SCR *sp, const char *str, busy_t bval) IP_BUF ipb; IP_PRIVATE *ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); switch (bval) { case BUSY_ON: ipb.code = SI_BUSY_ON; @@ -207,12 +211,11 @@ ip_clrtoeol(SCR *sp) /* Temporary hack until we can pass screen pointers * or name screens */ + memset(&ipb, 0, sizeof(ipb)); if (IS_VSPLIT(sp)) { size_t x, y, spcnt; - IP_PRIVATE *ipp; int error; - ipp = IPP(sp); y = ipp->row; x = ipp->col; error = 0; @@ -267,6 +270,7 @@ ip_deleteln(SCR *sp) * If the bottom line was in reverse video, rewrite it in normal * video before it's scrolled. */ + memset(&ipb, 0, sizeof(ipb)); if (!F_ISSET(sp, SC_SCR_EXWROTE) && IS_SPLIT(sp)) { ipb.code = SI_REWRITE; ipb.val1 = RLNO(sp, LASTLINE(sp)); @@ -319,6 +323,7 @@ ip_insertln(SCR *sp) IP_BUF ipb; IP_PRIVATE *ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); ipb.code = SI_INSERTLN; return (vi_send(ipp->o_fd, NULL, &ipb)); @@ -375,6 +380,7 @@ ip_move(SCR *sp, size_t lno, size_t cno) ipp->row = lno; ipp->col = cno; + memset(&ipb, 0, sizeof(ipb)); ipb.code = SI_MOVE; ipb.val1 = RLNO(sp, lno); ipb.val2 = RCNO(sp, cno); @@ -425,6 +431,7 @@ ip_refresh(SCR *sp, int repaint) * structures at which we have absolutely no business whatsoever * looking... */ + memset(&ipb, 0, sizeof(ipb)); ipb.val1 = HMAP->lno; ipb.val2 = TMAP->lno - HMAP->lno; if (sp->ep != NULL && sp->ep->db != NULL) @@ -456,6 +463,7 @@ ip_rename(SCR *sp, char *name, int on) IP_BUF ipb; IP_PRIVATE *ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); ipb.code = SI_RENAME; ipb.str1 = name; ipb.len1 = name ? strlen(name) : 0; @@ -474,6 +482,7 @@ ip_reply(SCR *sp, int status, char *msg) IP_BUF ipb; IP_PRIVATE *ipp = IPP(sp); + memset(&ipb, 0, sizeof(ipb)); ipb.code = SI_REPLY; ipb.val1 = status; ipb.str1 = msg == NULL ? "" : msg; diff --git a/dist/nvi/ip/ip_main.c b/external/bsd/nvi/dist/ip/ip_main.c similarity index 97% rename from dist/nvi/ip/ip_main.c rename to external/bsd/nvi/dist/ip/ip_main.c index 5bb749e84..96ab53a46 100644 --- a/dist/nvi/ip/ip_main.c +++ b/external/bsd/nvi/dist/ip/ip_main.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_main.c,v 1.2 2011/03/21 14:53:03 tnozaki Exp $ */ - +/* $NetBSD: ip_main.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_main.c,v 8.24 2001/07/29 19:07:30 skimo Exp (Berkeley) Date: 2001/07/29 19:07:30"; +static const char sccsid[] = "Id: ip_main.c,v 8.24 2001/07/29 19:07:30 skimo Exp (Berkeley) Date: 2001/07/29 19:07:30 "; #endif /* not lint */ #include @@ -28,7 +27,6 @@ static const char sccsid[] = "Id: ip_main.c,v 8.24 2001/07/29 19:07:30 skimo Exp #include "../common/common.h" #include "../ipc/ip.h" -#include "extern.h" GS *__global_list; /* GLOBAL: List of screens. */ @@ -48,7 +46,6 @@ int main(int argc, char **argv) { IP_PRIVATE *ipp; - int rval; char *ip_arg; char **p_av, **t_av; GS *gp; @@ -113,7 +110,7 @@ main(int argc, char **argv) #if defined(DEBUG) || defined(PURIFY) || defined(LIBRARY) free(gp); #endif - exit (rval); + exit (0); } static void * @@ -141,14 +138,14 @@ run_editor(void * vp) */ for (;;) { if (ip_wevent(wp, NULL, &ev, 0, 0)) - return; + return NULL; if (ev.e_event == E_WRESIZE) break; if (ev.e_event == E_EOF || ev.e_event == E_ERR || ev.e_event == E_SIGHUP || ev.e_event == E_SIGTERM) - return; + return NULL; if (ev.e_event == E_IPCOMMAND && ev.e_ipcom == VI_QUIT) - return; + return NULL; } /* Run ex/vi. */ diff --git a/dist/nvi/ip/ip_read.c b/external/bsd/nvi/dist/ip/ip_read.c similarity index 79% rename from dist/nvi/ip/ip_read.c rename to external/bsd/nvi/dist/ip/ip_read.c index 1bbc5b599..82e09a21e 100644 --- a/dist/nvi/ip/ip_read.c +++ b/external/bsd/nvi/dist/ip/ip_read.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_read.c,v 1.1.1.2 2008/05/18 14:31:24 aymeric Exp $ */ - +/* $NetBSD: ip_read.c,v 1.6 2013/11/29 15:24:08 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_read.c,v 8.23 2001/06/25 15:19:24 skimo Exp (Berkeley) Date: 2001/06/25 15:19:24"; +static const char sccsid[] = "Id: ip_read.c,v 8.23 2001/06/25 15:19:24 skimo Exp (Berkeley) Date: 2001/06/25 15:19:24 "; #endif /* not lint */ #include @@ -29,84 +28,83 @@ static const char sccsid[] = "Id: ip_read.c,v 8.23 2001/06/25 15:19:24 skimo Exp #include "../common/common.h" #include "../ex/script.h" #include "../ipc/ip.h" -#include "extern.h" extern GS *__global_list; VIPFUNLIST const vipfuns[] = { -/* VI_C_BOL Cursor to start of line. */ +/* VI_C_BOL 1 Cursor to start of line. */ {"", E_IPCOMMAND}, -/* VI_C_BOTTOM 2 /* Cursor to bottom. */ +/* VI_C_BOTTOM 2 Cursor to bottom. */ {"", E_IPCOMMAND}, -/* VI_C_DEL 3 /* Cursor delete. */ +/* VI_C_DEL 3 Cursor delete. */ {"", E_IPCOMMAND}, -/* VI_C_DOWN Cursor down N lines: IPO_INT. */ +/* VI_C_DOWN 4 Cursor down N lines: IPO_INT. */ {"1", E_IPCOMMAND}, -/* VI_C_EOL 5 /* Cursor to end of line. */ +/* VI_C_EOL 5 Cursor to end of line. */ {"", E_IPCOMMAND}, -/* VI_C_INSERT 6 /* Cursor: enter insert mode. */ +/* VI_C_INSERT 6 Cursor: enter insert mode. */ {"", E_IPCOMMAND}, -/* VI_C_LEFT 7 /* Cursor left. */ +/* VI_C_LEFT 7 Cursor left. */ {"", E_IPCOMMAND}, -/* VI_C_PGDOWN 8 /* Cursor down N pages: IPO_INT. */ +/* VI_C_PGDOWN 8 Cursor down N pages: IPO_INT. */ {"1", E_IPCOMMAND}, -/* VI_C_PGUP 9 /* Cursor up N lines: IPO_INT. */ +/* VI_C_PGUP 9 Cursor up N lines: IPO_INT. */ {"1", E_IPCOMMAND}, -/* VI_C_RIGHT 10 /* Cursor right. */ +/* VI_C_RIGHT 10 Cursor right. */ {"", E_IPCOMMAND}, -/* VI_C_SEARCH 11 /* Cursor: search: IPO_INT, IPO_STR. */ +/* VI_C_SEARCH 11 Cursor: search: IPO_INT, IPO_STR. */ {"a1", E_IPCOMMAND}, -/* VI_C_SETTOP 12 /* Cursor: set screen top line: IPO_INT. */ +/* VI_C_SETTOP 12 Cursor: set screen top line: IPO_INT. */ {"1", E_IPCOMMAND}, -/* VI_C_TOP 13 /* Cursor to top. */ +/* VI_C_TOP 13 Cursor to top. */ {"", E_IPCOMMAND}, -/* VI_C_UP 14 /* Cursor up N lines: IPO_INT. */ +/* VI_C_UP 14 Cursor up N lines: IPO_INT. */ {"1", E_IPCOMMAND}, -/* VI_EDIT 15 /* Edit a file: IPO_STR. */ +/* VI_EDIT 15 Edit a file: IPO_STR. */ {"a", E_IPCOMMAND}, -/* VI_EDITOPT 16 /* Edit option: 2 * IPO_STR, IPO_INT. */ +/* VI_EDITOPT 16 Edit option: 2 * IPO_STR, IPO_INT. */ {"ab1", E_IPCOMMAND}, -/* VI_EDITSPLIT 17 /* Split to a file: IPO_STR. */ +/* VI_EDITSPLIT 17 Split to a file: IPO_STR. */ {"a", E_IPCOMMAND}, -/* VI_EOF 18 /* End of input (NOT ^D). */ +/* VI_EOF 18 End of input (NOT ^D). */ {"", E_EOF}, -/* VI_ERR 19 /* Input error. */ +/* VI_ERR 19 Input error. */ {"", E_ERR}, -/* VI_FLAGS Flags */ +/* VI_FLAGS 20 Flags */ {"1", E_FLAGS}, -/* VI_INTERRUPT 20 /* Interrupt. */ +/* VI_INTERRUPT 21 Interrupt. */ {"", E_INTERRUPT}, -/* VI_MOUSE_MOVE 21 /* Mouse click move: IPO_INT, IPO_INT. */ +/* VI_MOUSE_MOVE 22 Mouse click move: IPO_INT, IPO_INT. */ {"12", E_IPCOMMAND}, -/* VI_QUIT 22 /* Quit. */ +/* VI_QUIT 23 Quit. */ {"", E_IPCOMMAND}, -/* VI_RESIZE Screen resize: IPO_INT, IPO_INT. */ +/* VI_RESIZE 24 Screen resize: IPO_INT, IPO_INT. */ {"12", E_WRESIZE}, -/* VI_SEL_END 24 /* Select end: IPO_INT, IPO_INT. */ +/* VI_SEL_END 25 Select end: IPO_INT, IPO_INT. */ {"12", E_IPCOMMAND}, -/* VI_SEL_START 25 /* Select start: IPO_INT, IPO_INT. */ +/* VI_SEL_START 26 Select start: IPO_INT, IPO_INT. */ {"12", E_IPCOMMAND}, -/* VI_SIGHUP 26 /* SIGHUP. */ +/* VI_SIGHUP 27 SIGHUP. */ {"", E_SIGHUP}, -/* VI_SIGTERM 27 /* SIGTERM. */ +/* VI_SIGTERM 28 SIGTERM. */ {"", E_SIGTERM}, -/* VI_STRING Input string: IPO_STR. */ +/* VI_STRING 29 Input string: IPO_STR. */ {"a", E_STRING}, -/* VI_TAG 29 /* Tag. */ +/* VI_TAG 30 Tag. */ {"", E_IPCOMMAND}, -/* VI_TAGAS 30 /* Tag to a string: IPO_STR. */ +/* VI_TAGAS 31 Tag to a string: IPO_STR. */ {"a", E_IPCOMMAND}, -/* VI_TAGSPLIT 31 /* Split to a tag. */ +/* VI_TAGSPLIT 32 Split to a tag. */ {"", E_IPCOMMAND}, -/* VI_UNDO 32 /* Undo. */ +/* VI_UNDO 33 Undo. */ {"", E_IPCOMMAND}, -/* VI_WQ 33 /* Write and quit. */ +/* VI_WQ 34 Write and quit. */ {"", E_IPCOMMAND}, -/* VI_WRITE 34 /* Write. */ +/* VI_WRITE 35 Write. */ {"", E_IPCOMMAND}, -/* VI_WRITEAS 35 /* Write as another file: IPO_STR. */ +/* VI_WRITEAS 36 Write as another file: IPO_STR. */ {"a", E_IPCOMMAND}, -/* VI_EVENT_SUP */ +/* VI_EVENT_SUP 37 */ }; typedef enum { INP_OK=0, INP_EOF, INP_ERR, INP_TIMEOUT } input_t; @@ -142,7 +140,7 @@ ip_wevent(WIN *wp, SCR *sp, EVENT *evp, u_int32_t flags, int ms) IP_PRIVATE *ipp; struct timeval t, *tp; int termread; - int nr; + int nr = 0; if (LF_ISSET(EC_INTERRUPT)) { /* XXX */ evp->e_event = E_TIMEOUT; @@ -209,7 +207,6 @@ ip_wevent(WIN *wp, SCR *sp, EVENT *evp, u_int32_t flags, int ms) static input_t ip_read(SCR *sp, IP_PRIVATE *ipp, struct timeval *tp, int termread, int *nr) { - struct timeval poll; GS *gp; fd_set rdfd; input_t rval; @@ -217,7 +214,7 @@ ip_read(SCR *sp, IP_PRIVATE *ipp, struct timeval *tp, int termread, int *nr) int maxfd; char *bp; int fd; - CHAR_T *wp; + const CHAR_T *wp; size_t wlen; gp = sp == NULL ? __global_list : sp->gp; @@ -230,12 +227,9 @@ ip_read(SCR *sp, IP_PRIVATE *ipp, struct timeval *tp, int termread, int *nr) * a map sequence. If input exists, we fall into #2. */ FD_ZERO(&rdfd); - poll.tv_sec = 0; - poll.tv_usec = 0; if (tp != NULL) { FD_SET(fd, &rdfd); - switch (select(fd + 1, - &rdfd, NULL, NULL, tp == NULL ? &poll : tp)) { + switch (select(fd + 1, &rdfd, NULL, NULL, tp)) { case 0: return (INP_TIMEOUT); case -1: @@ -274,6 +268,12 @@ err: rval = INP_ERR; msgq(sp, M_SYSERR, "input"); break; default: /* Input characters. */ + if (sp == NULL) { + rval = INP_ERR; + msgq(sp, M_SYSERR, + "Can't convert input with NULL screen"); + break; + } if (!termread) ipp->iblen += *nr; else { CHAR2INT(sp, (char *)ipp->tbuf, *nr, wp, wlen); @@ -293,8 +293,8 @@ static int ip_trans(SCR *sp, IP_PRIVATE *ipp, EVENT *evp) { u_int32_t skip, val; - char *fmt; - CHAR_T *wp; + const char *fmt; + const CHAR_T *wp; size_t wlen; if (ipp->ibuf[0] == CODE_OOB || diff --git a/dist/nvi/ip/ip_screen.c b/external/bsd/nvi/dist/ip/ip_screen.c similarity index 86% rename from dist/nvi/ip/ip_screen.c rename to external/bsd/nvi/dist/ip/ip_screen.c index 39293f7ae..b8db7fd7a 100644 --- a/dist/nvi/ip/ip_screen.c +++ b/external/bsd/nvi/dist/ip/ip_screen.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_screen.c,v 1.1.1.2 2008/05/18 14:31:24 aymeric Exp $ */ - +/* $NetBSD: ip_screen.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_screen.c,v 8.8 2001/06/25 15:19:24 skimo Exp (Berkeley) Date: 2001/06/25 15:19:24"; +static const char sccsid[] = "Id: ip_screen.c,v 8.8 2001/06/25 15:19:24 skimo Exp (Berkeley) Date: 2001/06/25 15:19:24 "; #endif /* not lint */ #include @@ -21,7 +20,6 @@ static const char sccsid[] = "Id: ip_screen.c,v 8.8 2001/06/25 15:19:24 skimo Ex #include "../common/common.h" #include "../ipc/ip.h" -#include "extern.h" /* * ip_screen -- @@ -46,8 +44,8 @@ ip_screen(SCR *sp, u_int32_t flags) } /* See if we're already in the right mode. */ - if (LF_ISSET(SC_EX) && F_ISSET(sp, SC_SCR_EX) || - LF_ISSET(SC_VI) && F_ISSET(sp, SC_SCR_VI)) + if ((LF_ISSET(SC_EX) && F_ISSET(sp, SC_SCR_EX)) || + (LF_ISSET(SC_VI) && F_ISSET(sp, SC_SCR_VI))) return (0); /* Ex isn't possible if there is no terminal. */ diff --git a/dist/nvi/ip/ip_term.c b/external/bsd/nvi/dist/ip/ip_term.c similarity index 82% rename from dist/nvi/ip/ip_term.c rename to external/bsd/nvi/dist/ip/ip_term.c index 5b3dcb719..a7e7bc016 100644 --- a/dist/nvi/ip/ip_term.c +++ b/external/bsd/nvi/dist/ip/ip_term.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_term.c,v 1.1.1.2 2008/05/18 14:31:24 aymeric Exp $ */ - +/* $NetBSD: ip_term.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_term.c,v 8.9 2001/06/25 15:19:24 skimo Exp (Berkeley) Date: 2001/06/25 15:19:24"; +static const char sccsid[] = "Id: ip_term.c,v 8.9 2001/06/25 15:19:24 skimo Exp (Berkeley) Date: 2001/06/25 15:19:24 "; #endif /* not lint */ #include @@ -22,7 +21,6 @@ static const char sccsid[] = "Id: ip_term.c,v 8.9 2001/06/25 15:19:24 skimo Exp #include "../common/common.h" #include "../ipc/ip.h" -#include "extern.h" /* * ip_term_init -- @@ -39,7 +37,7 @@ ip_term_init(SCR *sp) * Rework any function key mappings that were set before the * screen was initialized. */ - for (qp = sp->gp->seqq.lh_first; qp != NULL; qp = qp->q.le_next) + LIST_FOREACH(qp, &sp->gp->seqq, q) if (F_ISSET(qp, SEQ_FUNCMAP)) (void)ip_fmap(sp, qp->stype, qp->input, qp->ilen, qp->output, qp->olen); @@ -58,8 +56,7 @@ ip_term_end(GS *gp) SEQ *qp, *nqp; /* Delete screen specific mappings. */ - for (qp = gp->seqq.lh_first; qp != NULL; qp = nqp) { - nqp = qp->q.le_next; + LIST_FOREACH_SAFE(qp, &gp->seqq, q, nqp) { if (F_ISSET(qp, SEQ_SCREEN)) (void)seq_mdel(qp); } @@ -83,16 +80,14 @@ ip_fmap(SCR *sp, seq_t stype, CHAR_T *from, size_t flen, CHAR_T *to, size_t tlen * ip_optchange -- * IP screen specific "option changed" routine. * - * PUBLIC: int ip_optchange __P((SCR *, int, char *, u_long *)); + * PUBLIC: int ip_optchange __P((SCR *, int, const char *, u_long *)); */ int -ip_optchange(SCR *sp, int offset, char *str, u_long *valp) +ip_optchange(SCR *sp, int offset, const char *str, u_long *valp) { IP_BUF ipb; OPTLIST const *opt; IP_PRIVATE *ipp = IPP(sp); - char *np; - size_t nlen; switch (offset) { case O_COLUMNS: @@ -128,7 +123,7 @@ ip_optchange(SCR *sp, int offset, char *str, u_long *valp) } ipb.code = SI_EDITOPT; - ipb.str1 = (char*)opt->name; + ipb.str1 = __UNCONST(opt->name); ipb.len1 = STRLEN(opt->name) * sizeof(CHAR_T); (void)vi_send(ipp->o_fd, "ab1", &ipb); diff --git a/dist/nvi/ip/vipc.pl b/external/bsd/nvi/dist/ip/vipc.pl similarity index 100% rename from dist/nvi/ip/vipc.pl rename to external/bsd/nvi/dist/ip/vipc.pl diff --git a/dist/nvi/ipc/ip.h b/external/bsd/nvi/dist/ipc/ip.h similarity index 96% rename from dist/nvi/ipc/ip.h rename to external/bsd/nvi/dist/ipc/ip.h index 7223f100e..30a7b8a51 100644 --- a/dist/nvi/ipc/ip.h +++ b/external/bsd/nvi/dist/ipc/ip.h @@ -1,12 +1,11 @@ -/* $NetBSD: ip.h,v 1.1.1.2 2008/05/18 14:31:25 aymeric Exp $ */ - +/* $NetBSD: ip.h,v 1.3 2013/11/27 18:25:13 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. * * See the LICENSE file for redistribution information. * - * Id: ip.h,v 8.29 2000/07/17 21:17:54 skimo Exp (Berkeley) Date: 2000/07/17 21:17:54 + * Id: ip.h,v 8.29 2000/07/17 21:17:54 skimo Exp (Berkeley) Date: 2000/07/17 21:17:54 */ #include @@ -14,7 +13,7 @@ typedef struct ipcmsghdr { struct cmsghdr header; - int __room_for_fd; + int __room_for_fd_with_pad[4]; } IPCMSGHDR; struct _ip_vi_win; @@ -80,13 +79,13 @@ typedef int (*IPFunc_123) (struct _ip_vi_win *, u_int32_t, u_int32_t, u_int32_t) typedef int (*IPUnmarshall) (struct _ip_vi_win *, IP_BUF *, IPFunc); typedef struct _ipfunlist { - char *format; + const char *format; IPUnmarshall unmarshall; size_t offset; } IPFUNLIST; typedef struct _vipfunlist { - char *format; + const char *format; e_event_t e_event; } VIPFUNLIST; @@ -247,4 +246,5 @@ struct _ip_vi_win { #define SI_EVENT_MAX 20 #endif -#include "extern.h" +#include "ipc_extern.h" +#include "ip_extern.h" diff --git a/dist/nvi/ipc/ip_run.c b/external/bsd/nvi/dist/ipc/ip_run.c similarity index 82% rename from dist/nvi/ipc/ip_run.c rename to external/bsd/nvi/dist/ipc/ip_run.c index 94c27ffb5..6092ea5eb 100644 --- a/dist/nvi/ipc/ip_run.c +++ b/external/bsd/nvi/dist/ipc/ip_run.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_run.c,v 1.1.1.2 2008/05/18 14:31:25 aymeric Exp $ */ - +/* $NetBSD: ip_run.c,v 1.6 2013/11/27 18:06:28 christos Exp $ */ /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_run.c,v 8.17 2000/07/04 21:48:54 skimo Exp (Berkeley) Date: 2000/07/04 21:48:54"; +static const char sccsid[] = "Id: ip_run.c,v 8.17 2000/07/04 21:48:54 skimo Exp (Berkeley) Date: 2000/07/04 21:48:54 "; #endif /* not lint */ #include @@ -34,13 +33,13 @@ static const char sccsid[] = "Id: ip_run.c,v 8.17 2000/07/04 21:48:54 skimo Exp #include "pathnames.h" static void arg_format __P((char *, int *, char **[], int, int)); -static void fatal __P((void)); +static void fatal __P((void)) __dead; #ifdef DEBUG static void attach __P((void)); #endif static int channel(int rpipe[2], int wpipe[2]); -char *vi_progname = "vi"; /* Global: program name. */ +const char *vi_progname = "vi"; /* Global: program name. */ /* * vi_run -- @@ -59,7 +58,7 @@ vi_run(ipvi, argc, argv) char *execp, **p_av, **t_av; pflag = 0; - execp = VI; + execp = __UNCONST(vi_progname); /* Strip out any arguments that vi isn't going to understand. */ for (p_av = t_av = argv;;) { @@ -144,9 +143,10 @@ vi_run(ipvi, argc, argv) * (debugging) nvi, run it, otherwise run the user's path, * if specified, else run the compiled in path. */ + /* coverity[+toctou] */ if (!pflag && stat("vi-ipc", &sb) == 0) - execv("vi-ipc", argv); - execv(execp, argv); + execvp("vi-ipc", argv); + execvp(execp, argv); (void)fprintf(stderr, "%s: %s %s\n", vi_progname, execp, strerror(errno)); (void)fprintf(stderr, @@ -162,6 +162,8 @@ vi_run(ipvi, argc, argv) (void)close(wpipe[0]); break; } + free(argv[1]); + free(argv); return (0); } @@ -176,28 +178,34 @@ fatal() exit (1); } -static -int channel(int rpipe[2], int wpipe[2]) +static int +channel(int rpipe[2], int wpipe[2]) { - if (0) { + int x; + if ((x = pipe(rpipe) == -1) || pipe(wpipe) == -1) { + int sockets[2]; - if (pipe(rpipe) == -1 || pipe(wpipe) == -1) - return -1; + if (x != -1) { + close(rpipe[0]); + close(rpipe[1]); + } - } else { + if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sockets) == -1) + return -1; - int sockets[2]; - - if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sockets) == -1) - return -1; - - rpipe[0] = sockets[0]; - wpipe[0] = sockets[1]; - if (((rpipe[1] = dup(sockets[1])) == -1) || - ((wpipe[1] = dup(sockets[0])) == -1)) - return -1; + rpipe[0] = sockets[0]; + wpipe[0] = sockets[1]; + if (((rpipe[1] = dup(sockets[1])) == -1) || + ((wpipe[1] = dup(sockets[0])) == -1)) { + close(sockets[0]); + close(sockets[1]); + if (rpipe[1] != -1) + close(rpipe[1]); + return -1; + } } + return 0; } /* @@ -205,11 +213,9 @@ int channel(int rpipe[2], int wpipe[2]) * Reformat our arguments to add the -I argument for vi. */ static void -arg_format(execp, argcp, argvp, i_fd, o_fd) - char *execp, **argvp[]; - int *argcp, i_fd, o_fd; +arg_format(char *execp, int *argcp, char **argvp[], int i_fd, int o_fd) { - char *iarg, **largv, *p, **p_av, **t_av; + char *iarg, **largv = NULL /* XXX gcc */, *p, **p_av, **t_av; /* Get space for the argument array and the -I argument. */ if ((iarg = malloc(64)) == NULL || diff --git a/dist/nvi/ipc/ip_send.c b/external/bsd/nvi/dist/ipc/ip_send.c similarity index 89% rename from dist/nvi/ipc/ip_send.c rename to external/bsd/nvi/dist/ipc/ip_send.c index 4348ff674..22c00814e 100644 --- a/dist/nvi/ipc/ip_send.c +++ b/external/bsd/nvi/dist/ipc/ip_send.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_send.c,v 1.1.1.2 2008/05/18 14:31:24 aymeric Exp $ */ - +/* $NetBSD: ip_send.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_send.c,v 8.10 2001/06/25 15:19:25 skimo Exp (Berkeley) Date: 2001/06/25 15:19:25"; +static const char sccsid[] = "Id: ip_send.c,v 8.10 2001/06/25 15:19:25 skimo Exp (Berkeley) Date: 2001/06/25 15:19:25 "; #endif /* not lint */ #include @@ -29,16 +28,17 @@ static const char sccsid[] = "Id: ip_send.c,v 8.10 2001/06/25 15:19:25 skimo Exp * vi_send -- * Construct and send an IP buffer. * - * PUBLIC: int vi_send __P((int, char *, IP_BUF *)); + * PUBLIC: int vi_send __P((int, const char *, IP_BUF *)); */ int -vi_send(int ofd, char *fmt, IP_BUF *ipbp) +vi_send(int ofd, const char *fmt, IP_BUF *ipbp) { static char *bp; static size_t blen; size_t off; u_int32_t ilen; - int nlen, n, nw; + size_t nlen; + int n, nw; char *p; /* diff --git a/dist/nvi/ipc/ip_trans.c b/external/bsd/nvi/dist/ipc/ip_trans.c similarity index 95% rename from dist/nvi/ipc/ip_trans.c rename to external/bsd/nvi/dist/ipc/ip_trans.c index 2f88bf9ce..2da831325 100644 --- a/dist/nvi/ipc/ip_trans.c +++ b/external/bsd/nvi/dist/ipc/ip_trans.c @@ -1,5 +1,4 @@ -/* $NetBSD: ip_trans.c,v 1.1.1.2 2008/05/18 14:31:25 aymeric Exp $ */ - +/* $NetBSD: ip_trans.c,v 1.3 2013/11/27 17:53:00 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: ip_trans.c,v 8.18 2001/06/25 15:19:25 skimo Exp (Berkeley) Date: 2001/06/25 15:19:25"; +static const char sccsid[] = "Id: ip_trans.c,v 8.18 2001/06/25 15:19:25 skimo Exp (Berkeley) Date: 2001/06/25 15:19:25 "; #endif /* not lint */ #include @@ -124,10 +123,12 @@ vi_translate(IPVIWIN *ipviwin, char *bp, size_t *lenp, IP_BUF *ipbp) IP_BUF ipb; size_t len, needlen; u_int32_t *vp; - char *fmt, *p, *s_bp; + const char *fmt; + char *p, *s_bp; const char **vsp; IPFunc fun; + memset(&ipb, 0, sizeof(ipb)); for (s_bp = bp, len = *lenp; len > 0;) { fmt = ipfuns[(ipb.code = bp[0])-1].format; diff --git a/dist/nvi/ipc/ipc.awk b/external/bsd/nvi/dist/ipc/ipc.awk similarity index 100% rename from dist/nvi/ipc/ipc.awk rename to external/bsd/nvi/dist/ipc/ipc.awk diff --git a/dist/nvi/ipc/ipc_cmd.c b/external/bsd/nvi/dist/ipc/ipc_cmd.c similarity index 97% rename from dist/nvi/ipc/ipc_cmd.c rename to external/bsd/nvi/dist/ipc/ipc_cmd.c index 651969590..adc4232c6 100644 --- a/dist/nvi/ipc/ipc_cmd.c +++ b/external/bsd/nvi/dist/ipc/ipc_cmd.c @@ -1,5 +1,4 @@ -/* $NetBSD: ipc_cmd.c,v 1.1.1.2 2008/05/18 14:31:25 aymeric Exp $ */ - +/* $NetBSD: ipc_cmd.c,v 1.2 2013/11/22 15:52:05 christos Exp $ */ #include "config.h" #include @@ -17,7 +16,9 @@ static int ipc_unmarshall_a __P((IPVIWIN *, IP_BUF*, IPFunc)); static int ipc_unmarshall_12 __P((IPVIWIN *, IP_BUF*, IPFunc)); static int ipc_unmarshall __P((IPVIWIN *, IP_BUF*, IPFunc)); static int ipc_unmarshall_ab1 __P((IPVIWIN *, IP_BUF*, IPFunc)); +#if 0 static int ipc_unmarshall_1a __P((IPVIWIN *, IP_BUF*, IPFunc)); +#endif static int ipc_unmarshall_1 __P((IPVIWIN *, IP_BUF*, IPFunc)); static int ipc_unmarshall_123 __P((IPVIWIN *, IP_BUF*, IPFunc)); @@ -93,11 +94,13 @@ ipc_unmarshall_ab1(IPVIWIN *ipvi, IP_BUF *ipb, IPFunc func) return ((IPFunc_ab1)func)(ipvi, ipb->str1, ipb->len1, ipb->str2, ipb->len2, ipb->val1); } +#if 0 static int ipc_unmarshall_1a(IPVIWIN *ipvi, IP_BUF *ipb, IPFunc func) { return ((IPFunc_1a)func)(ipvi, ipb->val1, ipb->str1, ipb->len1); } +#endif static int ipc_unmarshall_1(IPVIWIN *ipvi, IP_BUF *ipb, IPFunc func) diff --git a/dist/nvi/ipc/ipc_method.c b/external/bsd/nvi/dist/ipc/ipc_method.c similarity index 89% rename from dist/nvi/ipc/ipc_method.c rename to external/bsd/nvi/dist/ipc/ipc_method.c index ad7db843d..c555971d3 100644 --- a/dist/nvi/ipc/ipc_method.c +++ b/external/bsd/nvi/dist/ipc/ipc_method.c @@ -1,5 +1,4 @@ -/* $NetBSD: ipc_method.c,v 1.1.1.2 2008/05/18 14:31:25 aymeric Exp $ */ - +/* $NetBSD: ipc_method.c,v 1.6 2013/11/27 20:52:24 christos Exp $ */ /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -31,11 +30,13 @@ static int vi_send_ __P((IPVIWIN *, int)); static int vi_send_1 __P((IPVIWIN *, int, u_int32_t )); static int vi_send_12 __P((IPVIWIN *ipvi, int code, u_int32_t val1, u_int32_t val2)); +#if 0 static int vi_send_ab1 __P((IPVIWIN *ipvi, int code, const char *str1, u_int32_t len1, const char *str2, u_int32_t len2, u_int32_t val)); static int vi_send_a1 __P((IPVIWIN *ipvi, int code, const char *str, u_int32_t len, u_int32_t val)); +#endif static int vi_send_a __P((IPVIWIN *ipvi, int code, const char *str, u_int32_t len)); #include "ipc_gen.c" @@ -91,8 +92,10 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipviwinp, int fd) char dummy; struct iovec iov; - socketpair(AF_LOCAL, SOCK_STREAM, 0, sockets); + if (socketpair(AF_LOCAL, SOCK_STREAM, 0, sockets) == -1) + goto alloc_err; + memset(&mh, 0, sizeof(mh)); mh.msg_namelen = 0; mh.msg_iovlen = 1; mh.msg_iov = &iov; @@ -107,7 +110,8 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipviwinp, int fd) ch.header.cmsg_len = sizeof(ch); *(int *)CMSG_DATA(&ch.header) = sockets[1]; - sendmsg(ipvi->ofd, &mh, 0); + if (sendmsg(ipvi->ofd, &mh, 0) == -1) + goto alloc_err; dummy = (fd == -1) ? ' ' : 'F'; *(int *)CMSG_DATA(&ch.header) = sockets[1]; sendmsg(sockets[0], &mh, 0); @@ -115,7 +119,8 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipviwinp, int fd) if (fd != -1) { *(int *)CMSG_DATA(&ch.header) = fd; - sendmsg(sockets[0], &mh, 0); + if (sendmsg(sockets[0], &mh, 0) == -1) + goto alloc_err; close(fd); } @@ -152,6 +157,8 @@ vi_new_window (IPVI *ipvi, IPVIWIN **ipviwinp, int fd) return 0; alloc_err: + if (fd != -1) + close(fd); return 1; } @@ -181,6 +188,8 @@ static int vi_send_(IPVIWIN *ipvi, int code) { IP_BUF ipb; + + memset(&ipb, 0, sizeof(ipb)); ipb.code = code; return vi_send(ipvi->ofd, NULL, &ipb); } @@ -189,6 +198,8 @@ static int vi_send_1(IPVIWIN *ipvi, int code, u_int32_t val) { IP_BUF ipb; + + memset(&ipb, 0, sizeof(ipb)); ipb.code = code; ipb.val1 = val; return vi_send(ipvi->ofd, "1", &ipb); @@ -199,6 +210,7 @@ vi_send_12(IPVIWIN *ipvi, int code, u_int32_t val1, u_int32_t val2) { IP_BUF ipb; + memset(&ipb, 0, sizeof(ipb)); ipb.val1 = val1; ipb.val2 = val2; ipb.code = code; @@ -210,18 +222,21 @@ vi_send_a(IPVIWIN *ipvi, int code, const char *str, u_int32_t len) { IP_BUF ipb; + memset(&ipb, 0, sizeof(ipb)); ipb.str1 = str; ipb.len1 = len; ipb.code = code; return vi_send(ipvi->ofd, "a", &ipb); } +#if 0 static int vi_send_a1(IPVIWIN *ipvi, int code, const char *str, u_int32_t len, u_int32_t val) { IP_BUF ipb; + memset(&ipb, 0, sizeof(ipb)); ipb.str1 = str; ipb.len1 = len; ipb.val1 = val; @@ -235,6 +250,7 @@ vi_send_ab1(IPVIWIN *ipvi, int code, const char *str1, u_int32_t len1, { IP_BUF ipb; + memset(&ipb, 0, sizeof(ipb)); ipb.str1 = str1; ipb.len1 = len1; ipb.str2 = str2; @@ -243,4 +259,4 @@ vi_send_ab1(IPVIWIN *ipvi, int code, const char *str1, u_int32_t len1, ipb.code = code; return vi_send(ipvi->ofd, "ab1", &ipb); } - +#endif diff --git a/dist/nvi/ipc/vipc.awk b/external/bsd/nvi/dist/ipc/vipc.awk similarity index 100% rename from dist/nvi/ipc/vipc.awk rename to external/bsd/nvi/dist/ipc/vipc.awk diff --git a/dist/nvi/motif/m_cde.c b/external/bsd/nvi/dist/motif/m_cde.c similarity index 95% rename from dist/nvi/motif/m_cde.c rename to external/bsd/nvi/dist/motif/m_cde.c index f06a1b373..f62b26820 100644 --- a/dist/nvi/motif/m_cde.c +++ b/external/bsd/nvi/dist/motif/m_cde.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_cde.c,v 1.1.1.2 2008/05/18 14:31:25 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_cde.c,v 8.11 2003/11/05 17:09:58 skimo Exp (Berkeley) Date: 2003/11/05 17:09:58"; +static const char sccsid[] = "Id: m_cde.c,v 8.11 2003/11/05 17:09:58 skimo Exp (Berkeley) Date: 2003/11/05 17:09:58 "; #endif /* not lint */ #include @@ -27,7 +25,7 @@ static const char sccsid[] = "Id: m_cde.c,v 8.11 2003/11/05 17:09:58 skimo Exp ( #undef LOCK_SUCCESS #include "../common/common.h" -#include "extern.h" +#include "motif_extern.h" #if SelfTest #define _TRACE( x ) printf x diff --git a/dist/nvi/motif/m_main.c b/external/bsd/nvi/dist/motif/m_main.c similarity index 98% rename from dist/nvi/motif/m_main.c rename to external/bsd/nvi/dist/motif/m_main.c index 13cf28502..ffec9e590 100644 --- a/dist/nvi/motif/m_main.c +++ b/external/bsd/nvi/dist/motif/m_main.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_main.c,v 1.1.1.2 2008/05/18 14:31:26 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_main.c,v 8.40 2003/11/05 17:09:58 skimo Exp (Berkeley) Date: 2003/11/05 17:09:58"; +static const char sccsid[] = "Id: m_main.c,v 8.40 2003/11/05 17:09:58 skimo Exp (Berkeley) Date: 2003/11/05 17:09:58 "; #endif /* not lint */ #include @@ -33,7 +31,6 @@ static const char sccsid[] = "Id: m_main.c,v 8.40 2003/11/05 17:09:58 skimo Exp #include "../ipc/ip.h" #include "../motif_l/m_motif.h" #include "../motif_l/vi_mextern.h" -#include "extern.h" int vi_ifd = -1; int vi_ofd = -1; diff --git a/dist/nvi/motif/nvi.xbm b/external/bsd/nvi/dist/motif/nvi.xbm similarity index 100% rename from dist/nvi/motif/nvi.xbm rename to external/bsd/nvi/dist/motif/nvi.xbm diff --git a/dist/nvi/motif/nvi.xpm b/external/bsd/nvi/dist/motif/nvi.xpm similarity index 100% rename from dist/nvi/motif/nvi.xpm rename to external/bsd/nvi/dist/motif/nvi.xpm diff --git a/dist/nvi/motif_l/TODO b/external/bsd/nvi/dist/motif_l/TODO similarity index 100% rename from dist/nvi/motif_l/TODO rename to external/bsd/nvi/dist/motif_l/TODO diff --git a/dist/nvi/motif_l/m_copypaste.c b/external/bsd/nvi/dist/motif_l/m_copypaste.c similarity index 97% rename from dist/nvi/motif_l/m_copypaste.c rename to external/bsd/nvi/dist/motif_l/m_copypaste.c index b74091421..32be1631c 100644 --- a/dist/nvi/motif_l/m_copypaste.c +++ b/external/bsd/nvi/dist/motif_l/m_copypaste.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_copypaste.c,v 1.1.1.2 2008/05/18 14:31:26 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_copypaste.c,v 8.10 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59"; +static const char sccsid[] = "Id: m_copypaste.c,v 8.10 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59 "; #endif /* not lint */ /* ICCCM Cut and paste Utilities: */ diff --git a/dist/nvi/motif_l/m_func.c b/external/bsd/nvi/dist/motif_l/m_func.c similarity index 98% rename from dist/nvi/motif_l/m_func.c rename to external/bsd/nvi/dist/motif_l/m_func.c index 64cc0aa83..b3c0fe04b 100644 --- a/dist/nvi/motif_l/m_func.c +++ b/external/bsd/nvi/dist/motif_l/m_func.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_func.c,v 1.1.1.2 2008/05/18 14:31:26 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_func.c,v 8.28 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59"; +static const char sccsid[] = "Id: m_func.c,v 8.28 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/m_menu.c b/external/bsd/nvi/dist/motif_l/m_menu.c similarity index 98% rename from dist/nvi/motif_l/m_menu.c rename to external/bsd/nvi/dist/motif_l/m_menu.c index d5d458017..c0abfa5f2 100644 --- a/dist/nvi/motif_l/m_menu.c +++ b/external/bsd/nvi/dist/motif_l/m_menu.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_menu.c,v 1.1.1.2 2008/05/18 14:31:27 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_menu.c,v 8.26 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59"; +static const char sccsid[] = "Id: m_menu.c,v 8.26 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/m_motif.h b/external/bsd/nvi/dist/motif_l/m_motif.h similarity index 93% rename from dist/nvi/motif_l/m_motif.h rename to external/bsd/nvi/dist/motif_l/m_motif.h index d919552a8..a90593730 100644 --- a/dist/nvi/motif_l/m_motif.h +++ b/external/bsd/nvi/dist/motif_l/m_motif.h @@ -1,5 +1,4 @@ -/* $NetBSD: m_motif.h,v 1.1.1.2 2008/05/18 14:31:26 aymeric Exp $ */ - +/* $NetBSD: m_motif.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * "Id: m_motif.h,v 8.11 1996/12/20 10:26:59 bostic Exp (Berkeley) Date: 1996/12/20 10:26:59"; + * "Id: m_motif.h,v 8.11 1996/12/20 10:26:59 bostic Exp (Berkeley) Date: 1996/12/20 10:26:59 "; */ /* @@ -123,4 +122,4 @@ extern GC __vi_copy_gc; extern void (*__vi_exitp) __P((void)); extern xvi_screen *__vi_screen; -#include "extern.h" +#include "motif_extern.h" diff --git a/dist/nvi/motif_l/m_options.c b/external/bsd/nvi/dist/motif_l/m_options.c similarity index 99% rename from dist/nvi/motif_l/m_options.c rename to external/bsd/nvi/dist/motif_l/m_options.c index 7ab684505..8fa73f46d 100644 --- a/dist/nvi/motif_l/m_options.c +++ b/external/bsd/nvi/dist/motif_l/m_options.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_options.c,v 1.1.1.2 2008/05/18 14:31:27 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_options.c,v 8.22 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59"; +static const char sccsid[] = "Id: m_options.c,v 8.22 2003/11/05 17:09:59 skimo Exp (Berkeley) Date: 2003/11/05 17:09:59 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/m_prompt.c b/external/bsd/nvi/dist/motif_l/m_prompt.c similarity index 93% rename from dist/nvi/motif_l/m_prompt.c rename to external/bsd/nvi/dist/motif_l/m_prompt.c index ab0595988..e725301b5 100644 --- a/dist/nvi/motif_l/m_prompt.c +++ b/external/bsd/nvi/dist/motif_l/m_prompt.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_prompt.c,v 1.1.1.2 2008/05/18 14:31:27 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_prompt.c,v 8.8 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00"; +static const char sccsid[] = "Id: m_prompt.c,v 8.8 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/m_ruler.c b/external/bsd/nvi/dist/motif_l/m_ruler.c similarity index 98% rename from dist/nvi/motif_l/m_ruler.c rename to external/bsd/nvi/dist/motif_l/m_ruler.c index 5179d0ccf..911201956 100644 --- a/dist/nvi/motif_l/m_ruler.c +++ b/external/bsd/nvi/dist/motif_l/m_ruler.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_ruler.c,v 1.1.1.2 2008/05/18 14:31:28 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_ruler.c,v 8.6 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00"; +static const char sccsid[] = "Id: m_ruler.c,v 8.6 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00 "; #endif /* not lint */ /* This module implements a dialog for the text ruler @@ -310,7 +308,6 @@ main( int argc, char *argv[] ) { XtAppContext ctx; Widget top_level, rc, button; - extern exit(); /* create a top-level shell for the window manager */ top_level = XtVaAppInitialize( &ctx, diff --git a/dist/nvi/motif_l/m_search.c b/external/bsd/nvi/dist/motif_l/m_search.c similarity index 98% rename from dist/nvi/motif_l/m_search.c rename to external/bsd/nvi/dist/motif_l/m_search.c index fc5083d5d..f5c492034 100644 --- a/dist/nvi/motif_l/m_search.c +++ b/external/bsd/nvi/dist/motif_l/m_search.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_search.c,v 1.1.1.2 2008/05/18 14:31:28 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_search.c,v 8.14 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00"; +static const char sccsid[] = "Id: m_search.c,v 8.14 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/m_tags.c b/external/bsd/nvi/dist/motif_l/m_tags.c similarity index 98% rename from dist/nvi/motif_l/m_tags.c rename to external/bsd/nvi/dist/motif_l/m_tags.c index 41442ae5f..ffa413b6f 100644 --- a/dist/nvi/motif_l/m_tags.c +++ b/external/bsd/nvi/dist/motif_l/m_tags.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_tags.c,v 1.1.1.2 2008/05/18 14:31:28 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_tags.c,v 8.9 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00"; +static const char sccsid[] = "Id: m_tags.c,v 8.9 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00 "; #endif /* not lint */ /* diff --git a/dist/nvi/motif_l/m_util.c b/external/bsd/nvi/dist/motif_l/m_util.c similarity index 96% rename from dist/nvi/motif_l/m_util.c rename to external/bsd/nvi/dist/motif_l/m_util.c index 1dad783ac..41c21c0d2 100644 --- a/dist/nvi/motif_l/m_util.c +++ b/external/bsd/nvi/dist/motif_l/m_util.c @@ -1,5 +1,3 @@ -/* $NetBSD: m_util.c,v 1.1.1.2 2008/05/18 14:31:29 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_util.c,v 8.12 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00"; +static const char sccsid[] = "Id: m_util.c,v 8.12 2003/11/05 17:10:00 skimo Exp (Berkeley) Date: 2003/11/05 17:10:00 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/m_vi.c b/external/bsd/nvi/dist/motif_l/m_vi.c similarity index 99% rename from dist/nvi/motif_l/m_vi.c rename to external/bsd/nvi/dist/motif_l/m_vi.c index e48ea2cff..3f5d2bf12 100644 --- a/dist/nvi/motif_l/m_vi.c +++ b/external/bsd/nvi/dist/motif_l/m_vi.c @@ -1,6 +1,4 @@ -/* $NetBSD: m_vi.c,v 1.2 2011/03/21 14:53:03 tnozaki Exp $ */ - -/*- +/* $NetBSD: m_vi.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. * Copyright (c) 1996 @@ -12,7 +10,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: m_vi.c,v 8.41 2003/11/05 17:10:01 skimo Exp (Berkeley) Date: 2003/11/05 17:10:01"; +static const char sccsid[] = "Id: m_vi.c,v 8.41 2003/11/05 17:10:01 skimo Exp (Berkeley) Date: 2003/11/05 17:10:01 "; #endif /* not lint */ #include diff --git a/dist/nvi/motif_l/vi_mextern.h b/external/bsd/nvi/dist/motif_l/vi_mextern.h similarity index 86% rename from dist/nvi/motif_l/vi_mextern.h rename to external/bsd/nvi/dist/motif_l/vi_mextern.h index 616f348e2..b36a622b1 100644 --- a/dist/nvi/motif_l/vi_mextern.h +++ b/external/bsd/nvi/dist/motif_l/vi_mextern.h @@ -1,5 +1,4 @@ -/* $NetBSD: vi_mextern.h,v 1.1.1.2 2008/05/18 14:31:29 aymeric Exp $ */ - +/* $NetBSD: vi_mextern.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1996 * Rob Zimmermann. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * "Id: vi_mextern.h,v 8.6 2000/07/05 11:33:19 skimo Exp (Berkeley) Date: 2000/07/05 11:33:19"; + * "Id: vi_mextern.h,v 8.6 2000/07/05 11:33:19 skimo Exp (Berkeley) Date: 2000/07/05 11:33:19 "; */ /* diff --git a/dist/nvi/motif_l/xtabbed.c b/external/bsd/nvi/dist/motif_l/xtabbed.c similarity index 99% rename from dist/nvi/motif_l/xtabbed.c rename to external/bsd/nvi/dist/motif_l/xtabbed.c index 1d27d5992..25e669788 100644 --- a/dist/nvi/motif_l/xtabbed.c +++ b/external/bsd/nvi/dist/motif_l/xtabbed.c @@ -1,5 +1,3 @@ -/* $NetBSD: xtabbed.c,v 1.1.1.2 2008/05/18 14:31:33 aymeric Exp $ */ - /* *********************************************************************** * This module implements a motif tabbed window widget. * The source is copied from the Free Widget Foundation @@ -196,7 +194,7 @@ void freeStringArray( */ /* Generated by wbuild from "XmTabs.w" -** (generator version Revision: 8.5 of Date: 2001/06/25 15:19:28) +** (generator version Revision: 8.5 of Date: 2001/06/25 15:19:28 ) */ #ifndef _XmTabs_H_ #define _XmTabs_H_ @@ -325,7 +323,7 @@ typedef struct _XmTabsRec *XmTabsWidget; */ /* Generated by wbuild from "XmTabs.w" -** (generator version Revision: 8.5 of Date: 2001/06/25 15:19:28) +** (generator version Revision: 8.5 of Date: 2001/06/25 15:19:28 ) */ #ifndef _XmTabsP_H_ #define _XmTabsP_H_ diff --git a/dist/nvi/perl_api/VI.pod b/external/bsd/nvi/dist/perl_api/VI.pod similarity index 100% rename from dist/nvi/perl_api/VI.pod rename to external/bsd/nvi/dist/perl_api/VI.pod diff --git a/dist/nvi/perl_api/nviperl.pod b/external/bsd/nvi/dist/perl_api/nviperl.pod similarity index 100% rename from dist/nvi/perl_api/nviperl.pod rename to external/bsd/nvi/dist/perl_api/nviperl.pod diff --git a/dist/nvi/perl_api/perl.xs b/external/bsd/nvi/dist/perl_api/perl.xs similarity index 99% rename from dist/nvi/perl_api/perl.xs rename to external/bsd/nvi/dist/perl_api/perl.xs index 9c8bbd2b8..0b0bf5bdc 100644 --- a/dist/nvi/perl_api/perl.xs +++ b/external/bsd/nvi/dist/perl_api/perl.xs @@ -14,7 +14,7 @@ #undef VI #ifndef lint -static const char sccsid[] = "Id: perl.xs,v 8.46 2001/08/28 11:33:42 skimo Exp (Berkeley) Date: 2001/08/28 11:33:42"; +static const char sccsid[] = "Id: perl.xs,v 8.46 2001/08/28 11:33:42 skimo Exp (Berkeley) Date: 2001/08/28 11:33:42 "; #endif /* not lint */ #include @@ -47,7 +47,7 @@ static const char sccsid[] = "Id: perl.xs,v 8.46 2001/08/28 11:33:42 skimo Exp ( #include "config.h" #include "../common/common.h" -#include "../perl_api/extern.h" +#include "perl_api_extern.h" #ifndef DEFSV #define DEFSV GvSV(defgv) diff --git a/dist/nvi/perl_api/perlsfio.c b/external/bsd/nvi/dist/perl_api/perlsfio.c similarity index 91% rename from dist/nvi/perl_api/perlsfio.c rename to external/bsd/nvi/dist/perl_api/perlsfio.c index 3ba707d80..060ad6a4e 100644 --- a/dist/nvi/perl_api/perlsfio.c +++ b/external/bsd/nvi/dist/perl_api/perlsfio.c @@ -1,5 +1,3 @@ -/* $NetBSD: perlsfio.c,v 1.1.1.2 2008/05/18 14:31:33 aymeric Exp $ */ - /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +8,7 @@ */ #ifndef lint -static const char sccsid[] = "Id: perlsfio.c,v 8.3 2000/04/30 17:00:15 skimo Exp (Berkeley) Date: 2000/04/30 17:00:15"; +static const char sccsid[] = "Id: perlsfio.c,v 8.3 2000/04/30 17:00:15 skimo Exp (Berkeley) Date: 2000/04/30 17:00:15 "; #endif /* not lint */ #include @@ -43,7 +41,7 @@ static const char sccsid[] = "Id: perlsfio.c,v 8.3 2000/04/30 17:00:15 skimo Exp #include "config.h" #include "../common/common.h" -#include "extern.h" +#include "perl_api_extern.h" /* * PUBLIC: #ifdef USE_SFIO diff --git a/dist/nvi/perl_api/typemap b/external/bsd/nvi/dist/perl_api/typemap similarity index 100% rename from dist/nvi/perl_api/typemap rename to external/bsd/nvi/dist/perl_api/typemap diff --git a/dist/nvi/perl_scripts/forall.pl b/external/bsd/nvi/dist/perl_scripts/forall.pl similarity index 100% rename from dist/nvi/perl_scripts/forall.pl rename to external/bsd/nvi/dist/perl_scripts/forall.pl diff --git a/dist/nvi/perl_scripts/make.pl b/external/bsd/nvi/dist/perl_scripts/make.pl similarity index 100% rename from dist/nvi/perl_scripts/make.pl rename to external/bsd/nvi/dist/perl_scripts/make.pl diff --git a/dist/nvi/perl_scripts/tk.pl b/external/bsd/nvi/dist/perl_scripts/tk.pl similarity index 100% rename from dist/nvi/perl_scripts/tk.pl rename to external/bsd/nvi/dist/perl_scripts/tk.pl diff --git a/dist/nvi/perl_scripts/wc.pl b/external/bsd/nvi/dist/perl_scripts/wc.pl similarity index 100% rename from dist/nvi/perl_scripts/wc.pl rename to external/bsd/nvi/dist/perl_scripts/wc.pl diff --git a/dist/nvi/regex/COPYRIGHT b/external/bsd/nvi/dist/regex/COPYRIGHT similarity index 100% rename from dist/nvi/regex/COPYRIGHT rename to external/bsd/nvi/dist/regex/COPYRIGHT diff --git a/dist/nvi/regex/WHATSNEW b/external/bsd/nvi/dist/regex/WHATSNEW similarity index 100% rename from dist/nvi/regex/WHATSNEW rename to external/bsd/nvi/dist/regex/WHATSNEW diff --git a/dist/nvi/regex/cclass.h b/external/bsd/nvi/dist/regex/cclass.h similarity index 98% rename from dist/nvi/regex/cclass.h rename to external/bsd/nvi/dist/regex/cclass.h index f28bccdfa..b70d058d7 100644 --- a/dist/nvi/regex/cclass.h +++ b/external/bsd/nvi/dist/regex/cclass.h @@ -1,5 +1,4 @@ -/* $NetBSD: cclass.h,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: cclass.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/regex/cname.h b/external/bsd/nvi/dist/regex/cname.h similarity index 98% rename from dist/nvi/regex/cname.h rename to external/bsd/nvi/dist/regex/cname.h index da69843df..3fda6f7f6 100644 --- a/dist/nvi/regex/cname.h +++ b/external/bsd/nvi/dist/regex/cname.h @@ -1,5 +1,4 @@ -/* $NetBSD: cname.h,v 1.2 2008/12/05 22:51:42 christos Exp $ */ - +/* $NetBSD: cname.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/regex/engine.c b/external/bsd/nvi/dist/regex/engine.c similarity index 99% rename from dist/nvi/regex/engine.c rename to external/bsd/nvi/dist/regex/engine.c index 06dd4ec71..8253fb7ab 100644 --- a/dist/nvi/regex/engine.c +++ b/external/bsd/nvi/dist/regex/engine.c @@ -1,5 +1,4 @@ -/* $NetBSD: engine.c,v 1.7 2011/11/19 17:45:11 tnozaki Exp $ */ - +/* $NetBSD: engine.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 @@ -380,6 +379,7 @@ sopno stopst; /* did innards match? */ if (slow(m, sp, rest, ssub, esub) != NULL) { dp = dissect(m, sp, rest, ssub, esub); + __USE(dp); assert(dp == rest); } else /* no */ assert(sp == rest); diff --git a/dist/nvi/regex/re_format.7 b/external/bsd/nvi/dist/regex/re_format.7 similarity index 99% rename from dist/nvi/regex/re_format.7 rename to external/bsd/nvi/dist/regex/re_format.7 index 61d1aeaa8..8c014c8ed 100644 --- a/dist/nvi/regex/re_format.7 +++ b/external/bsd/nvi/dist/regex/re_format.7 @@ -1,5 +1,3 @@ -.\" $NetBSD: re_format.7,v 1.1.1.2 2008/05/18 14:31:37 aymeric Exp $ -.\" .\" Copyright (c) 1992, 1993, 1994 Henry Spencer. .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/regex/regcomp.c b/external/bsd/nvi/dist/regex/regcomp.c similarity index 99% rename from dist/nvi/regex/regcomp.c rename to external/bsd/nvi/dist/regex/regcomp.c index 7d198687e..be7094b81 100644 --- a/dist/nvi/regex/regcomp.c +++ b/external/bsd/nvi/dist/regex/regcomp.c @@ -1,5 +1,4 @@ -/* $NetBSD: regcomp.c,v 1.7 2011/11/19 17:45:11 tnozaki Exp $ */ - +/* $NetBSD: regcomp.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 @@ -860,7 +859,7 @@ p_b_cclass(register struct parse *p, register cset *cs) NEXT(); len = p->next - sp; for (cp = cclasses; cp->name != NULL; cp++) - if (STRLEN(cp->name) == len && MEMCMP(cp->name, sp, len)) + if (STRLEN(cp->name) == len && !MEMCMP(cp->name, sp, len)) break; if (cp->name == NULL) { /* oops, didn't find it */ diff --git a/dist/nvi/regex/regerror.c b/external/bsd/nvi/dist/regex/regerror.c similarity index 98% rename from dist/nvi/regex/regerror.c rename to external/bsd/nvi/dist/regex/regerror.c index 0b528d018..714240c83 100644 --- a/dist/nvi/regex/regerror.c +++ b/external/bsd/nvi/dist/regex/regerror.c @@ -1,5 +1,4 @@ -/* $NetBSD: regerror.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: regerror.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/regex/regex.3 b/external/bsd/nvi/dist/regex/regex.3 similarity index 99% rename from dist/nvi/regex/regex.3 rename to external/bsd/nvi/dist/regex/regex.3 index 2c17254c1..f4e71563e 100644 --- a/dist/nvi/regex/regex.3 +++ b/external/bsd/nvi/dist/regex/regex.3 @@ -1,5 +1,3 @@ -.\" $NetBSD: regex.3,v 1.1.1.2 2008/05/18 14:31:38 aymeric Exp $ -.\" .\" Copyright (c) 1992, 1993, 1994 Henry Spencer. .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. diff --git a/dist/nvi/regex/regex.h b/external/bsd/nvi/dist/regex/regex.h similarity index 98% rename from dist/nvi/regex/regex.h rename to external/bsd/nvi/dist/regex/regex.h index 10c5c9334..414f317da 100644 --- a/dist/nvi/regex/regex.h +++ b/external/bsd/nvi/dist/regex/regex.h @@ -1,5 +1,4 @@ -/* $NetBSD: regex.h,v 1.1.1.2 2008/05/18 14:31:38 aymeric Exp $ */ - +/* $NetBSD: regex.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992 Henry Spencer. * Copyright (c) 1992, 1993 diff --git a/dist/nvi/regex/regex2.h b/external/bsd/nvi/dist/regex/regex2.h similarity index 99% rename from dist/nvi/regex/regex2.h rename to external/bsd/nvi/dist/regex/regex2.h index 7c9352831..78d9757b4 100644 --- a/dist/nvi/regex/regex2.h +++ b/external/bsd/nvi/dist/regex/regex2.h @@ -1,5 +1,4 @@ -/* $NetBSD: regex2.h,v 1.5 2011/11/23 15:43:39 tnozaki Exp $ */ - +/* $NetBSD: regex2.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/regex/regexec.c b/external/bsd/nvi/dist/regex/regexec.c similarity index 98% rename from dist/nvi/regex/regexec.c rename to external/bsd/nvi/dist/regex/regexec.c index f3d3e068a..3f9f8d8b7 100644 --- a/dist/nvi/regex/regexec.c +++ b/external/bsd/nvi/dist/regex/regexec.c @@ -1,5 +1,4 @@ -/* $NetBSD: regexec.c,v 1.4 2009/10/31 20:11:53 dsl Exp $ */ - +/* $NetBSD: regexec.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/regex/regfree.c b/external/bsd/nvi/dist/regex/regfree.c similarity index 97% rename from dist/nvi/regex/regfree.c rename to external/bsd/nvi/dist/regex/regfree.c index 61df17cb6..dc4fe58b8 100644 --- a/dist/nvi/regex/regfree.c +++ b/external/bsd/nvi/dist/regex/regfree.c @@ -1,5 +1,4 @@ -/* $NetBSD: regfree.c,v 1.2 2009/01/02 00:32:11 tnozaki Exp $ */ - +/* $NetBSD: regfree.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/regex/utils.h b/external/bsd/nvi/dist/regex/utils.h similarity index 97% rename from dist/nvi/regex/utils.h rename to external/bsd/nvi/dist/regex/utils.h index 4a6f57a3f..76e2236c7 100644 --- a/dist/nvi/regex/utils.h +++ b/external/bsd/nvi/dist/regex/utils.h @@ -1,5 +1,4 @@ -/* $NetBSD: utils.h,v 1.1.1.2 2008/05/18 14:31:39 aymeric Exp $ */ - +/* $NetBSD: utils.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 Henry Spencer. * Copyright (c) 1992, 1993, 1994 diff --git a/dist/nvi/tcl_api/tcl.c b/external/bsd/nvi/dist/tcl_api/tcl.c similarity index 99% rename from dist/nvi/tcl_api/tcl.c rename to external/bsd/nvi/dist/tcl_api/tcl.c index a2ddaf7da..608f54434 100644 --- a/dist/nvi/tcl_api/tcl.c +++ b/external/bsd/nvi/dist/tcl_api/tcl.c @@ -1,5 +1,3 @@ -/* $NetBSD: tcl.c,v 1.1.1.2 2008/05/18 14:31:39 aymeric Exp $ */ - /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -14,7 +12,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: tcl.c,v 8.19 2001/08/24 12:17:27 skimo Exp (Berkeley) Date: 2001/08/24 12:17:27"; +static const char sccsid[] = "Id: tcl.c,v 8.19 2001/08/24 12:17:27 skimo Exp (Berkeley) Date: 2001/08/24 12:17:27 "; #endif /* not lint */ #include @@ -33,7 +31,7 @@ static const char sccsid[] = "Id: tcl.c,v 8.19 2001/08/24 12:17:27 skimo Exp (Be #include #include "../common/common.h" -#include "extern.h" +#include "tcl_api_extern.h" static int getint __P((Tcl_Interp *, char *, char *, int *)); static int getscreenid __P((Tcl_Interp *, SCR **, char *, char *)); diff --git a/dist/nvi/tcl_scripts/errors.tcl b/external/bsd/nvi/dist/tcl_scripts/errors.tcl similarity index 92% rename from dist/nvi/tcl_scripts/errors.tcl rename to external/bsd/nvi/dist/tcl_scripts/errors.tcl index 9bc4407e7..d103766ff 100644 --- a/dist/nvi/tcl_scripts/errors.tcl +++ b/external/bsd/nvi/dist/tcl_scripts/errors.tcl @@ -1,4 +1,4 @@ -# Id: errors.tcl,v 8.2 1995/11/18 12:59:07 bostic Exp (Berkeley) Date: 1995/11/18 12:59:07 +# Id: errors.tcl,v 8.2 1995/11/18 12:59:07 bostic Exp (Berkeley) Date: 1995/11/18 12:59:07 # # File: errors.tcl # diff --git a/dist/nvi/tcl_scripts/gnats.tcl b/external/bsd/nvi/dist/tcl_scripts/gnats.tcl similarity index 96% rename from dist/nvi/tcl_scripts/gnats.tcl rename to external/bsd/nvi/dist/tcl_scripts/gnats.tcl index bdd7d83ad..af597581b 100644 --- a/dist/nvi/tcl_scripts/gnats.tcl +++ b/external/bsd/nvi/dist/tcl_scripts/gnats.tcl @@ -1,4 +1,4 @@ -# Id: gnats.tcl,v 8.2 1995/11/18 12:59:07 bostic Exp (Berkeley) Date: 1995/11/18 12:59:07 +# Id: gnats.tcl,v 8.2 1995/11/18 12:59:07 bostic Exp (Berkeley) Date: 1995/11/18 12:59:07 # proc init {catFile} { global viScreenId diff --git a/dist/nvi/tcl_scripts/mailprocs.tcl b/external/bsd/nvi/dist/tcl_scripts/mailprocs.tcl similarity index 96% rename from dist/nvi/tcl_scripts/mailprocs.tcl rename to external/bsd/nvi/dist/tcl_scripts/mailprocs.tcl index 5ead7a53b..8bf821f93 100644 --- a/dist/nvi/tcl_scripts/mailprocs.tcl +++ b/external/bsd/nvi/dist/tcl_scripts/mailprocs.tcl @@ -1,4 +1,4 @@ -# Id: mailprocs.tcl,v 8.3 1996/04/29 12:31:35 bostic Exp (Berkeley) Date: 1996/04/29 12:31:35 +# Id: mailprocs.tcl,v 8.3 1996/04/29 12:31:35 bostic Exp (Berkeley) Date: 1996/04/29 12:31:35 # proc validLine {} { global viScreenId diff --git a/dist/nvi/tcl_scripts/wc.tcl b/external/bsd/nvi/dist/tcl_scripts/wc.tcl similarity index 79% rename from dist/nvi/tcl_scripts/wc.tcl rename to external/bsd/nvi/dist/tcl_scripts/wc.tcl index 357c65440..e0f2e226a 100644 --- a/dist/nvi/tcl_scripts/wc.tcl +++ b/external/bsd/nvi/dist/tcl_scripts/wc.tcl @@ -1,4 +1,4 @@ -# Id: wc.tcl,v 8.2 1995/11/18 12:59:12 bostic Exp (Berkeley) Date: 1995/11/18 12:59:12 +# Id: wc.tcl,v 8.2 1995/11/18 12:59:12 bostic Exp (Berkeley) Date: 1995/11/18 12:59:12 # proc wc {} { global viScreenId diff --git a/dist/nvi/vi/getc.c b/external/bsd/nvi/dist/vi/getc.c similarity index 97% rename from dist/nvi/vi/getc.c rename to external/bsd/nvi/dist/vi/getc.c index b02dd9abf..e1c790245 100644 --- a/dist/nvi/vi/getc.c +++ b/external/bsd/nvi/dist/vi/getc.c @@ -1,5 +1,4 @@ -/* $NetBSD: getc.c,v 1.5 2012/01/21 19:29:41 christos Exp $ */ - +/* $NetBSD: getc.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: getc.c,v 10.12 2001/06/25 15:19:30 skimo Exp (Berkeley) Date: 2001/06/25 15:19:30"; +static const char sccsid[] = "Id: getc.c,v 10.12 2001/06/25 15:19:30 skimo Exp (Berkeley) Date: 2001/06/25 15:19:30 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_at.c b/external/bsd/nvi/dist/vi/v_at.c similarity index 91% rename from dist/nvi/vi/v_at.c rename to external/bsd/nvi/dist/vi/v_at.c index 5ff291cf9..775c8ac95 100644 --- a/dist/nvi/vi/v_at.c +++ b/external/bsd/nvi/dist/vi/v_at.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_at.c,v 1.4 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: v_at.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_at.c,v 10.11 2001/06/25 15:19:30 skimo Exp (Berkeley) Date: 2001/06/25 15:19:30"; +static const char sccsid[] = "Id: v_at.c,v 10.11 2001/06/25 15:19:30 skimo Exp (Berkeley) Date: 2001/06/25 15:19:30 "; #endif /* not lint */ #include @@ -91,11 +90,10 @@ v_at(SCR *sp, VICMD *vp) * together. We don't get this right; I'm waiting for the new DB * logging code to be available. */ - for (tp = cbp->textq.cqh_last; - tp != (void *)&cbp->textq; tp = tp->q.cqe_prev) { + TAILQ_FOREACH_REVERSE(tp, &cbp->textq, _texth, q) { static CHAR_T nl[] = { '\n', 0 }; if (((F_ISSET(cbp, CB_LMODE) || - tp->q.cqe_next != (void *)&cbp->textq) && + TAILQ_NEXT(tp, q) != NULL) && v_event_push(sp, NULL, nl, 1, 0)) || v_event_push(sp, NULL, tp->lb, tp->len, 0)) return (1); diff --git a/dist/nvi/vi/v_ch.c b/external/bsd/nvi/dist/vi/v_ch.c similarity index 97% rename from dist/nvi/vi/v_ch.c rename to external/bsd/nvi/dist/vi/v_ch.c index efb79af19..bb968ef46 100644 --- a/dist/nvi/vi/v_ch.c +++ b/external/bsd/nvi/dist/vi/v_ch.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_ch.c,v 1.2 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: v_ch.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_ch.c,v 10.10 2001/06/25 15:19:30 skimo Exp (Berkeley) Date: 2001/06/25 15:19:30"; +static const char sccsid[] = "Id: v_ch.c,v 10.10 2001/06/25 15:19:30 skimo Exp (Berkeley) Date: 2001/06/25 15:19:30 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_cmd.c b/external/bsd/nvi/dist/vi/v_cmd.c similarity index 99% rename from dist/nvi/vi/v_cmd.c rename to external/bsd/nvi/dist/vi/v_cmd.c index 933dae213..f6cbcdc2a 100644 --- a/dist/nvi/vi/v_cmd.c +++ b/external/bsd/nvi/dist/vi/v_cmd.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_cmd.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: v_cmd.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_cmd.c,v 10.9 1996/03/28 15:18:39 bostic Exp (Berkeley) Date: 1996/03/28 15:18:39"; +static const char sccsid[] = "Id: v_cmd.c,v 10.9 1996/03/28 15:18:39 bostic Exp (Berkeley) Date: 1996/03/28 15:18:39 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_delete.c b/external/bsd/nvi/dist/vi/v_delete.c similarity index 94% rename from dist/nvi/vi/v_delete.c rename to external/bsd/nvi/dist/vi/v_delete.c index 2af51ff77..5090d3e0e 100644 --- a/dist/nvi/vi/v_delete.c +++ b/external/bsd/nvi/dist/vi/v_delete.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_delete.c,v 1.1.1.2 2008/05/18 14:31:40 aymeric Exp $ */ - +/* $NetBSD: v_delete.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_delete.c,v 10.11 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31"; +static const char sccsid[] = "Id: v_delete.c,v 10.11 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_event.c b/external/bsd/nvi/dist/vi/v_event.c similarity index 98% rename from dist/nvi/vi/v_event.c rename to external/bsd/nvi/dist/vi/v_event.c index 38a7fac3b..59f3314f8 100644 --- a/dist/nvi/vi/v_event.c +++ b/external/bsd/nvi/dist/vi/v_event.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_event.c,v 1.3 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: v_event.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1996 * Keith Bostic. All rights reserved. @@ -10,7 +9,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_event.c,v 8.21 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31"; +static const char sccsid[] = "Id: v_event.c,v 8.21 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_ex.c b/external/bsd/nvi/dist/vi/v_ex.c similarity index 98% rename from dist/nvi/vi/v_ex.c rename to external/bsd/nvi/dist/vi/v_ex.c index 2bc7c0f0b..02b19429e 100644 --- a/dist/nvi/vi/v_ex.c +++ b/external/bsd/nvi/dist/vi/v_ex.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_ex.c,v 1.4 2009/08/11 21:24:49 aymeric Exp $ */ - +/* $NetBSD: v_ex.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_ex.c,v 10.60 2003/07/19 21:04:00 skimo Exp (Berkeley) Date: 2003/07/19 21:04:00"; +static const char sccsid[] = "Id: v_ex.c,v 10.60 2003/07/19 21:04:00 skimo Exp (Berkeley) Date: 2003/07/19 21:04:00 "; #endif /* not lint */ #include @@ -293,7 +292,7 @@ v_filter(SCR *sp, VICMD *vp) * Entering on an empty line was historically an error, * this implementation doesn't bother. */ - tp = sp->tiq.cqh_first; + tp = TAILQ_FIRST(&sp->tiq); if (tp->term != TERM_OK) { vp->m_final.lno = sp->lno; vp->m_final.cno = sp->cno; @@ -363,7 +362,7 @@ v_ex(SCR *sp, VICMD *vp) if (v_tcmd(sp, vp, ':', TXT_BS | TXT_CEDIT | TXT_FILEC | TXT_PROMPT)) return (1); - tp = sp->tiq.cqh_first; + tp = TAILQ_FIRST(&sp->tiq); /* * If the user entered a single , they want to @@ -524,7 +523,7 @@ v_ecl(SCR *sp) /* Attach to the screen. */ new->ep = wp->ccl_sp->ep; ++new->ep->refcnt; - CIRCLEQ_INSERT_HEAD(&new->ep->scrq, new, eq); + TAILQ_INSERT_HEAD(&new->ep->scrq, new, eq); new->frp = wp->ccl_sp->frp; new->frp->flags = sp->frp->flags; diff --git a/dist/nvi/vi/v_increment.c b/external/bsd/nvi/dist/vi/v_increment.c similarity index 84% rename from dist/nvi/vi/v_increment.c rename to external/bsd/nvi/dist/vi/v_increment.c index 676b48cac..821013038 100644 --- a/dist/nvi/vi/v_increment.c +++ b/external/bsd/nvi/dist/vi/v_increment.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_increment.c,v 1.5 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_increment.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_increment.c,v 10.16 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31"; +static const char sccsid[] = "Id: v_increment.c,v 10.16 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31 "; #endif /* not lint */ #include @@ -30,7 +29,7 @@ static const char sccsid[] = "Id: v_increment.c,v 10.16 2001/06/25 15:19:31 skim #include "../common/common.h" #include "vi.h" -static const CHAR_T * const fmt[] = { +static const CHAR_T *fmt[] = { #define DEC 0 L("%ld"), #define SDEC 1 @@ -59,14 +58,13 @@ v_increment(SCR *sp, VICMD *vp) long ltmp, lval; size_t beg, blen, end, len, nlen, wlen; int base, isempty, rval; + CHAR_T *bp, *p, *t, nbuf[100]; const CHAR_T *ntype; - CHAR_T nbuf[100]; - CHAR_T *bp, *p, *t; /* Validate the operator. */ - if (vp->character == '#') - vp->character = '+'; - if (vp->character != '+' && vp->character != '-') { + if (vp->character == L('#')) + vp->character = L('+'); + if (vp->character != L('+') && vp->character != L('-')) { v_emsg(sp, vp->kp->usage, VIM_USAGE); return (1); } @@ -102,7 +100,7 @@ v_increment(SCR *sp, VICMD *vp) } #undef isoctal -#define isoctal(c) ((c) >= '0' && (c) <= '7') +#define isoctal(c) (ISDIGIT(c) && (c) != L('8') && (c) != L('9')) /* * Look for 0[Xx], or leading + or - signs, guess at the base. @@ -111,20 +109,20 @@ v_increment(SCR *sp, VICMD *vp) * the number. */ wlen = len - beg; - if (p[beg] == '0' && wlen > 2 && - (p[beg + 1] == 'X' || p[beg + 1] == 'x')) { + if (p[beg] == L('0') && wlen > 2 && + (p[beg + 1] == L('X') || p[beg + 1] == L('x'))) { base = 16; end = beg + 2; if (!ISXDIGIT((UCHAR_T)p[end])) goto decimal; - ntype = p[beg + 1] == 'X' ? fmt[HEXC] : fmt[HEXL]; - } else if (p[beg] == '0' && wlen > 1) { + ntype = p[beg + 1] == L('X') ? fmt[HEXC] : fmt[HEXL]; + } else if (p[beg] == L('0') && wlen > 1) { base = 8; end = beg + 1; if (!isoctal((UCHAR_T)p[end])) goto decimal; ntype = fmt[OCTAL]; - } else if (wlen >= 1 && (p[beg] == '+' || p[beg] == '-')) { + } else if (wlen >= 1 && (p[beg] == L('+') || p[beg] == L('-'))) { base = 10; end = beg + 1; ntype = fmt[SDEC]; @@ -134,7 +132,7 @@ v_increment(SCR *sp, VICMD *vp) decimal: base = 10; end = beg; ntype = fmt[DEC]; - if (!ISDIGIT((UCHAR_T)p[end])) { + if (!ISDIGIT(p[end])) { nonum: msgq(sp, M_ERR, "181|Cursor not in a number"); return (1); } @@ -146,7 +144,7 @@ nonum: msgq(sp, M_ERR, "181|Cursor not in a number"); case 8: if (isoctal((UCHAR_T)p[end])) continue; - if (p[end] == '8' || p[end] == '9') { + if (p[end] == L('8') || p[end] == L('9')) { base = 10; ntype = fmt[DEC]; continue; @@ -178,7 +176,7 @@ nonum: msgq(sp, M_ERR, "181|Cursor not in a number"); GET_SPACE_RETW(sp, bp, blen, len + 50); if (end == len) { MEMMOVEW(bp, &p[beg], wlen); - bp[wlen] = '\0'; + bp[wlen] = L('\0'); t = bp; } else t = &p[beg]; @@ -190,7 +188,7 @@ nonum: msgq(sp, M_ERR, "181|Cursor not in a number"); if (base == 10) { if ((nret = nget_slong(sp, &lval, t, NULL, 10)) != NUM_OK) goto err; - ltmp = vp->character == '-' ? -change : change; + ltmp = vp->character == L('-') ? -change : change; if (lval > 0 && ltmp > 0 && !NPFITS(LONG_MAX, (unsigned long)lval, (unsigned long)ltmp)) { nret = NUM_OVER; @@ -204,11 +202,11 @@ nonum: msgq(sp, M_ERR, "181|Cursor not in a number"); /* If we cross 0, signed numbers lose their sign. */ if (lval == 0 && ntype == fmt[SDEC]) ntype = fmt[DEC]; - nlen = SPRINTF(nbuf, sizeof(nbuf), ntype, lval); + nlen = SPRINTF(nbuf, SIZE(nbuf), ntype, lval); } else { if ((nret = nget_uslong(sp, &ulval, t, NULL, base)) != NUM_OK) goto err; - if (vp->character == '+') { + if (vp->character == L('+')) { if (!NPFITS(ULONG_MAX, ulval, change)) { nret = NUM_OVER; goto err; @@ -226,7 +224,7 @@ nonum: msgq(sp, M_ERR, "181|Cursor not in a number"); if (base == 16) wlen -= 2; - nlen = SPRINTF(nbuf, sizeof(nbuf), ntype, wlen, ulval); + nlen = SPRINTF(nbuf, SIZE(nbuf), ntype, wlen, ulval); } /* Build the new line. */ diff --git a/dist/nvi/vi/v_init.c b/external/bsd/nvi/dist/vi/v_init.c similarity index 95% rename from dist/nvi/vi/v_init.c rename to external/bsd/nvi/dist/vi/v_init.c index 476afe3fa..88c70f3df 100644 --- a/dist/nvi/vi/v_init.c +++ b/external/bsd/nvi/dist/vi/v_init.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_init.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: v_init.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_init.c,v 10.9 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31"; +static const char sccsid[] = "Id: v_init.c,v 10.9 2001/06/25 15:19:31 skimo Exp (Berkeley) Date: 2001/06/25 15:19:31 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_itxt.c b/external/bsd/nvi/dist/vi/v_itxt.c similarity index 99% rename from dist/nvi/vi/v_itxt.c rename to external/bsd/nvi/dist/vi/v_itxt.c index c94d64e85..6399fe952 100644 --- a/dist/nvi/vi/v_itxt.c +++ b/external/bsd/nvi/dist/vi/v_itxt.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_itxt.c,v 1.1.1.2 2008/05/18 14:31:42 aymeric Exp $ */ - +/* $NetBSD: v_itxt.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_itxt.c,v 10.21 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32"; +static const char sccsid[] = "Id: v_itxt.c,v 10.21 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_left.c b/external/bsd/nvi/dist/vi/v_left.c similarity index 98% rename from dist/nvi/vi/v_left.c rename to external/bsd/nvi/dist/vi/v_left.c index 8827e9584..8d0ba1a80 100644 --- a/dist/nvi/vi/v_left.c +++ b/external/bsd/nvi/dist/vi/v_left.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_left.c,v 1.1.1.2 2008/05/18 14:31:42 aymeric Exp $ */ - +/* $NetBSD: v_left.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_left.c,v 10.9 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32"; +static const char sccsid[] = "Id: v_left.c,v 10.9 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_mark.c b/external/bsd/nvi/dist/vi/v_mark.c similarity index 97% rename from dist/nvi/vi/v_mark.c rename to external/bsd/nvi/dist/vi/v_mark.c index b54d0eee1..4698d7f80 100644 --- a/dist/nvi/vi/v_mark.c +++ b/external/bsd/nvi/dist/vi/v_mark.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_mark.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: v_mark.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_mark.c,v 10.12 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32"; +static const char sccsid[] = "Id: v_mark.c,v 10.12 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32 "; #endif /* not lint */ #include @@ -106,7 +105,6 @@ v_emark(SCR *sp, VICMD *vp) static int mark(SCR *sp, VICMD *vp, int getmark, enum which cmd) { - dir_t dir; MARK m; size_t len; @@ -171,9 +169,7 @@ mark(SCR *sp, VICMD *vp, int getmark, enum which cmd) m = vp->m_start; vp->m_start = vp->m_stop; vp->m_stop = m; - dir = BACKWARD; } else - dir = FORWARD; /* * Yank cursor motion, when associated with marks as motion commands, diff --git a/dist/nvi/vi/v_match.c b/external/bsd/nvi/dist/vi/v_match.c similarity index 97% rename from dist/nvi/vi/v_match.c rename to external/bsd/nvi/dist/vi/v_match.c index be80b9a43..9013408c5 100644 --- a/dist/nvi/vi/v_match.c +++ b/external/bsd/nvi/dist/vi/v_match.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_match.c,v 1.5 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_match.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_match.c,v 10.10 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32"; +static const char sccsid[] = "Id: v_match.c,v 10.10 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_paragraph.c b/external/bsd/nvi/dist/vi/v_paragraph.c similarity index 98% rename from dist/nvi/vi/v_paragraph.c rename to external/bsd/nvi/dist/vi/v_paragraph.c index 88914394c..da56c02d7 100644 --- a/dist/nvi/vi/v_paragraph.c +++ b/external/bsd/nvi/dist/vi/v_paragraph.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_paragraph.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: v_paragraph.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_paragraph.c,v 10.10 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32"; +static const char sccsid[] = "Id: v_paragraph.c,v 10.10 2001/06/25 15:19:32 skimo Exp (Berkeley) Date: 2001/06/25 15:19:32 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_put.c b/external/bsd/nvi/dist/vi/v_put.c similarity index 96% rename from dist/nvi/vi/v_put.c rename to external/bsd/nvi/dist/vi/v_put.c index 3cb08d7fa..1a2ad62b5 100644 --- a/dist/nvi/vi/v_put.c +++ b/external/bsd/nvi/dist/vi/v_put.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_put.c,v 1.1.1.2 2008/05/18 14:31:43 aymeric Exp $ */ - +/* $NetBSD: v_put.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_put.c,v 10.6 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34"; +static const char sccsid[] = "Id: v_put.c,v 10.6 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_redraw.c b/external/bsd/nvi/dist/vi/v_redraw.c similarity index 85% rename from dist/nvi/vi/v_redraw.c rename to external/bsd/nvi/dist/vi/v_redraw.c index 9789d13ff..591978e17 100644 --- a/dist/nvi/vi/v_redraw.c +++ b/external/bsd/nvi/dist/vi/v_redraw.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_redraw.c,v 1.1.1.2 2008/05/18 14:31:43 aymeric Exp $ */ - +/* $NetBSD: v_redraw.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_redraw.c,v 10.7 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34"; +static const char sccsid[] = "Id: v_redraw.c,v 10.7 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_replace.c b/external/bsd/nvi/dist/vi/v_replace.c similarity index 97% rename from dist/nvi/vi/v_replace.c rename to external/bsd/nvi/dist/vi/v_replace.c index faf2d1605..54260b374 100644 --- a/dist/nvi/vi/v_replace.c +++ b/external/bsd/nvi/dist/vi/v_replace.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_replace.c,v 1.3 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_replace.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_replace.c,v 10.24 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34"; +static const char sccsid[] = "Id: v_replace.c,v 10.24 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_right.c b/external/bsd/nvi/dist/vi/v_right.c similarity index 96% rename from dist/nvi/vi/v_right.c rename to external/bsd/nvi/dist/vi/v_right.c index 9f38dfc65..c677782ff 100644 --- a/dist/nvi/vi/v_right.c +++ b/external/bsd/nvi/dist/vi/v_right.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_right.c,v 1.1.1.2 2008/05/18 14:31:43 aymeric Exp $ */ - +/* $NetBSD: v_right.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_right.c,v 10.8 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34"; +static const char sccsid[] = "Id: v_right.c,v 10.8 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_screen.c b/external/bsd/nvi/dist/vi/v_screen.c similarity index 82% rename from dist/nvi/vi/v_screen.c rename to external/bsd/nvi/dist/vi/v_screen.c index efe4b8428..ddf352381 100644 --- a/dist/nvi/vi/v_screen.c +++ b/external/bsd/nvi/dist/vi/v_screen.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_screen.c,v 1.1.1.2 2008/05/18 14:31:43 aymeric Exp $ */ - +/* $NetBSD: v_screen.c,v 1.4 2013/11/28 03:15:20 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_screen.c,v 10.12 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34"; +static const char sccsid[] = "Id: v_screen.c,v 10.12 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34 "; #endif /* not lint */ #include @@ -51,13 +50,13 @@ v_screen(SCR *sp, VICMD *vp) * Try for the next lower screen, or, go back to the first * screen on the stack. */ - if (sp->q.cqe_next != (void *)&sp->wp->scrq) - sp->nextdisp = sp->q.cqe_next; - else if (sp->wp->scrq.cqh_first == sp) { + if (TAILQ_NEXT(sp, q) != NULL) + sp->nextdisp = TAILQ_NEXT(sp, q); + else if (TAILQ_FIRST(&sp->wp->scrq) == sp) { msgq(sp, M_ERR, "187|No other screen to switch to"); return (1); } else - sp->nextdisp = sp->wp->scrq.cqh_first; + sp->nextdisp = TAILQ_FIRST(&sp->wp->scrq); F_SET(sp->nextdisp, SC_STATUS); F_SET(sp, SC_SSWITCH | SC_STATUS); diff --git a/dist/nvi/vi/v_scroll.c b/external/bsd/nvi/dist/vi/v_scroll.c similarity index 98% rename from dist/nvi/vi/v_scroll.c rename to external/bsd/nvi/dist/vi/v_scroll.c index e163a9a2a..0f25cb389 100644 --- a/dist/nvi/vi/v_scroll.c +++ b/external/bsd/nvi/dist/vi/v_scroll.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_scroll.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: v_scroll.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_scroll.c,v 10.12 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34"; +static const char sccsid[] = "Id: v_scroll.c,v 10.12 2001/06/25 15:19:34 skimo Exp (Berkeley) Date: 2001/06/25 15:19:34 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_search.c b/external/bsd/nvi/dist/vi/v_search.c similarity index 89% rename from dist/nvi/vi/v_search.c rename to external/bsd/nvi/dist/vi/v_search.c index 4ded14a58..e22a36d3a 100644 --- a/dist/nvi/vi/v_search.c +++ b/external/bsd/nvi/dist/vi/v_search.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_search.c,v 1.4 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_search.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_search.c,v 10.30 2001/09/11 20:52:46 skimo Exp (Berkeley) Date: 2001/09/11 20:52:46"; +static const char sccsid[] = "Id: v_search.c,v 10.30 2001/09/11 20:52:46 skimo Exp (Berkeley) Date: 2001/09/11 20:52:46 "; #endif /* not lint */ #include @@ -92,7 +91,7 @@ v_exaddr(SCR *sp, VICMD *vp, dir_t dir) (O_ISSET(sp, O_SEARCHINCR) ? TXT_SEARCHINCR : 0))) return (1); - tp = sp->tiq.cqh_first; + tp = TAILQ_FIRST(&sp->tiq); /* If the user backspaced over the prompt, do nothing. */ if (tp->term == TERM_BS) @@ -314,6 +313,32 @@ v_searchn(SCR *sp, VICMD *vp) return (v_search(sp, vp, NULL, 0, SEARCH_PARSE, sp->searchdir)); } +/* + * is_especial -- + * Test if the character is special in an extended RE. + */ +static int +is_especial(CHAR_T c) +{ + /* + * !!! + * Right-brace is not an ERE special according to IEEE 1003.1-2001. + * Right-parenthesis is a special character (so quoting doesn't hurt), + * though it has no special meaning in this context, viz. at the + * beginning of the string. So we need not quote it. Then again, + * see the BUGS section in regex/re_format.7. + * The tilde is vi-specific, of course. + */ + return (STRCHR(L(".[\\()*+?{|^$~"), c) && c); +} + +/* + * Rear delimiter for word search when the keyword ends in + * (i.e., consists of) a non-word character. See v_searchw below. + */ +#define RE_NWSTOP L("([^[:alnum:]_]|$)") +#define RE_NWSTOP_LEN (SIZE(RE_NWSTOP) - 1) + /* * v_searchw -- [count]^A * Search for the word under the cursor. @@ -324,19 +349,35 @@ int v_searchw(SCR *sp, VICMD *vp) { size_t blen, len; - size_t olen = STRLEN(VIP(sp)->keyw); int rval; CHAR_T *bp, *p; - len = olen + RE_WSTART_LEN + RE_WSTOP_LEN; - GET_SPACE_RETW(sp, bp, blen, len); - MEMCPY(bp, RE_WSTART, RE_WSTART_LEN); - p = bp + RE_WSTART_LEN; - MEMCPY(p, VIP(sp)->keyw, olen); - p += olen; - MEMCPY(p, RE_WSTOP, RE_WSTOP_LEN); + len = VIP(sp)->klen + MAX(RE_WSTART_LEN, 1) + + MAX(RE_WSTOP_LEN, RE_NWSTOP_LEN); - rval = v_search(sp, vp, bp, len, SEARCH_SET, FORWARD); + GET_SPACE_RETW(sp, bp, blen, len); + p = bp; + + /* Only the first character can be non-word, see v_curword. */ + if (inword(VIP(sp)->keyw[0])) + p = MEMPCPY(p, RE_WSTART, RE_WSTART_LEN); + else if (is_especial(VIP(sp)->keyw[0])) + p = MEMPCPY(p, L("\\"), 1); + + p = MEMPCPY(p, VIP(sp)->keyw, VIP(sp)->klen); + + if (inword(p[-1])) + p = MEMPCPY(p, RE_WSTOP, RE_WSTOP_LEN); + else + /* + * The keyword is a single non-word character. + * We want it to stay the same when typing ^A several times + * in a row, just the way the other cases behave. + */ + p = MEMPCPY(p, RE_NWSTOP, RE_NWSTOP_LEN); + + len = p - bp; + rval = v_search(sp, vp, bp, len, SEARCH_SET | SEARCH_EXTEND, FORWARD); FREE_SPACEW(sp, bp, blen); return (rval); @@ -351,12 +392,8 @@ v_searchw(SCR *sp, VICMD *vp) int v_esearch(SCR *sp, VICMD *vp) { - MARK m; int flags; - m.lno = sp->lno; - m.cno = sp->cno; - LF_INIT(SEARCH_NOOPT); if (FL_ISSET(vp->ev.e_flags, VI_SEARCH_EXT)) LF_SET(SEARCH_EXTEND); @@ -444,7 +481,6 @@ v_search(SCR *sp, VICMD *vp, CHAR_T *ptrn, size_t plen, u_int flags, dir_t dir) int v_correct(SCR *sp, VICMD *vp, int isdelta) { - dir_t dir; MARK m; size_t len; @@ -489,9 +525,7 @@ v_correct(SCR *sp, VICMD *vp, int isdelta) m = vp->m_start; vp->m_start = vp->m_stop; vp->m_stop = m; - dir = BACKWARD; } else - dir = FORWARD; /* * BACKWARD: diff --git a/dist/nvi/vi/v_section.c b/external/bsd/nvi/dist/vi/v_section.c similarity index 98% rename from dist/nvi/vi/v_section.c rename to external/bsd/nvi/dist/vi/v_section.c index 03cc3821e..e9b8ce73f 100644 --- a/dist/nvi/vi/v_section.c +++ b/external/bsd/nvi/dist/vi/v_section.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_section.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: v_section.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_section.c,v 10.10 2001/06/25 15:19:35 skimo Exp (Berkeley) Date: 2001/06/25 15:19:35"; +static const char sccsid[] = "Id: v_section.c,v 10.10 2001/06/25 15:19:35 skimo Exp (Berkeley) Date: 2001/06/25 15:19:35 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_sentence.c b/external/bsd/nvi/dist/vi/v_sentence.c similarity index 98% rename from dist/nvi/vi/v_sentence.c rename to external/bsd/nvi/dist/vi/v_sentence.c index 9ee151d57..88d660681 100644 --- a/dist/nvi/vi/v_sentence.c +++ b/external/bsd/nvi/dist/vi/v_sentence.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_sentence.c,v 1.3 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_sentence.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_sentence.c,v 10.9 2001/06/25 15:19:35 skimo Exp (Berkeley) Date: 2001/06/25 15:19:35"; +static const char sccsid[] = "Id: v_sentence.c,v 10.9 2001/06/25 15:19:35 skimo Exp (Berkeley) Date: 2001/06/25 15:19:35 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_status.c b/external/bsd/nvi/dist/vi/v_status.c similarity index 85% rename from dist/nvi/vi/v_status.c rename to external/bsd/nvi/dist/vi/v_status.c index 7a7850fe9..ab5f8d602 100644 --- a/dist/nvi/vi/v_status.c +++ b/external/bsd/nvi/dist/vi/v_status.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_status.c,v 1.1.1.2 2008/05/18 14:31:47 aymeric Exp $ */ - +/* $NetBSD: v_status.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_status.c,v 10.10 2001/06/25 15:19:35 skimo Exp (Berkeley) Date: 2001/06/25 15:19:35"; +static const char sccsid[] = "Id: v_status.c,v 10.10 2001/06/25 15:19:35 skimo Exp (Berkeley) Date: 2001/06/25 15:19:35 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_txt.c b/external/bsd/nvi/dist/vi/v_txt.c similarity index 98% rename from dist/nvi/vi/v_txt.c rename to external/bsd/nvi/dist/vi/v_txt.c index 3a25e8c9f..ba363007c 100644 --- a/dist/nvi/vi/v_txt.c +++ b/external/bsd/nvi/dist/vi/v_txt.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_txt.c,v 1.8 2011/11/23 19:25:28 tnozaki Exp $ */ - +/* $NetBSD: v_txt.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_txt.c,v 10.108 2003/07/18 21:27:42 skimo Exp (Berkeley) Date: 2003/07/18 21:27:42"; +static const char sccsid[] = "Id: v_txt.c,v 10.108 2003/07/18 21:27:42 skimo Exp (Berkeley) Date: 2003/07/18 21:27:42 "; #endif /* not lint */ #include @@ -278,6 +277,7 @@ v_txt(SCR *sp, VICMD *vp, MARK *tm, const CHAR_T *lp, size_t len, ARG_CHAR_T pro int wm_set, wm_skip; /* Wrapmargin happened, blank skip flags. */ size_t max; int tmp; + int nochange; CHAR_T *p; gp = sp->gp; @@ -297,9 +297,9 @@ v_txt(SCR *sp, VICMD *vp, MARK *tm, const CHAR_T *lp, size_t len, ARG_CHAR_T pro * copy it into the TEXT buffer. */ tiqh = &sp->tiq; - if (tiqh->cqh_first != (void *)tiqh) { - tp = tiqh->cqh_first; - if (tp->q.cqe_next != (void *)tiqh || tp->lb_len < len + 32) { + if (!TAILQ_EMPTY(tiqh)) { + tp = TAILQ_FIRST(tiqh); + if (TAILQ_NEXT(tp, q) != NULL || tp->lb_len < len + 32) { text_lfree(tiqh); goto newtp; } @@ -313,7 +313,7 @@ v_txt(SCR *sp, VICMD *vp, MARK *tm, const CHAR_T *lp, size_t len, ARG_CHAR_T pro } else { newtp: if ((tp = text_init(sp, lp, len, len + 32)) == NULL) return (1); - CIRCLEQ_INSERT_HEAD(tiqh, tp, q); + TAILQ_INSERT_HEAD(tiqh, tp, q); } /* Set default termination condition. */ @@ -462,6 +462,7 @@ newtp: if ((tp = text_init(sp, lp, len, len + 32)) == NULL) /* Other text input mode setup. */ quote = Q_NOTSET; carat = C_NOTSET; + nochange = 0; FL_INIT(is_flags, LF_ISSET(TXT_SEARCHINCR) ? IS_RESTART | IS_RUNNING : 0); filec_redraw = hexcnt = showmatch = 0; @@ -774,7 +775,7 @@ k_cr: if (LF_ISSET(TXT_CR)) { if ((ntp = text_init(sp, p, insert + owrite, insert + owrite + 32)) == NULL) goto err; - CIRCLEQ_INSERT_TAIL(&sp->tiq, ntp, q); + TAILQ_INSERT_TAIL(&sp->tiq, ntp, q); /* Set up bookkeeping for the new line. */ ntp->insert = insert; @@ -789,7 +790,8 @@ k_cr: if (LF_ISSET(TXT_CR)) { * characters may have been erased. */ if (LF_ISSET(TXT_AUTOINDENT)) { - if (carat == C_NOCHANGE) { + if (nochange) { + nochange = 0; if (v_txt_auto(sp, OOBLNO, &ait, ait.ai, ntp)) goto err; FREE_SPACEW(sp, ait.lb, ait.lb_len); @@ -962,7 +964,8 @@ k_escape: LINE_RESOLVE; MEMMOVEW(ait.lb, tp->lb, tp->ai); ait.ai = ait.len = tp->ai; - carat = C_NOCHANGE; + carat = C_NOTSET; + nochange = 1; goto leftmargin; case C_ZEROSET: /* 0^D */ if (tp->ai == 0 || tp->cno != tp->ai + tp->offset + 1) @@ -973,8 +976,6 @@ leftmargin: tp->lb[tp->cno - 1] = ' '; tp->owrite += tp->cno - tp->offset; tp->cno = tp->offset; break; - case C_NOCHANGE: /* ^D after reset with ^^D */ - /* FALLTHROUGH */ case C_NOTSET: /* ^D */ if (tp->ai == 0 || tp->cno != tp->ai + tp->offset) goto ins_ch; @@ -1280,7 +1281,7 @@ insq_ch: /* * If entering a blank character, check for unmap commands, * as well. */ - if (!inword(evp->e_c)) { + if (!inword((UCHAR_T)evp->e_c)) { if (abb == AB_INWORD && !LF_ISSET(TXT_REPLAY) && F_ISSET(gp, G_ABBREV)) { if (txt_abbrev(sp, tp, &evp->e_c, @@ -1292,11 +1293,11 @@ insq_ch: /* goto resolve; } } - if (ISBLANK(evp->e_c) && UNMAP_TST) + if (ISBLANK((UCHAR_T)evp->e_c) && UNMAP_TST) txt_unmap(sp, tp, &ec_flags); } if (abb != AB_NOTSET) - abb = inword(evp->e_c) ? AB_INWORD : AB_NOTWORD; + abb = inword((UCHAR_T)evp->e_c) ? AB_INWORD : AB_NOTWORD; insl_ch: if (txt_insch(sp, tp, &evp->e_c, flags)) goto err; @@ -1342,7 +1343,7 @@ insl_ch: if (txt_insch(sp, tp, &evp->e_c, flags)) if (txt_margin(sp, tp, &wmt, &tmp, flags)) goto err; if (tmp) { - if (ISBLANK(evp->e_c)) + if (ISBLANK((UCHAR_T)evp->e_c)) wm_skip = 1; wm_set = 1; goto k_cr; @@ -1473,7 +1474,6 @@ alloc_err: static int txt_abbrev(SCR *sp, TEXT *tp, ARG_CHAR_T *pushcp, int isinfoline, int *didsubp, int *turnoffp) { - VI_PRIVATE *vip; CHAR_T ch, *p; SEQ *qp; size_t len, off; @@ -1483,8 +1483,6 @@ txt_abbrev(SCR *sp, TEXT *tp, ARG_CHAR_T *pushcp, int isinfoline, int *didsubp, if (tp->cno == tp->offset) return (0); - vip = VIP(sp); - /* * Find the start of the "word". * @@ -1823,11 +1821,10 @@ v_txt_auto(SCR *sp, db_recno_t lno, TEXT *aitp, size_t len, TEXT *tp) static TEXT * txt_backup(SCR *sp, TEXTH *tiqh, TEXT *tp, u_int32_t *flagsp) { - VI_PRIVATE *vip; TEXT *ntp; /* Get a handle on the previous TEXT structure. */ - if ((ntp = tp->q.cqe_prev) == (void *)tiqh) { + if ((ntp = TAILQ_PREV(tp, _texth, q)) == NULL) { if (!FL_ISSET(*flagsp, TXT_REPLAY)) msgq(sp, M_BERR, "193|Already at the beginning of the insert"); @@ -1838,7 +1835,6 @@ txt_backup(SCR *sp, TEXTH *tiqh, TEXT *tp, u_int32_t *flagsp) ntp->len = ntp->sv_len; /* Handle appending to the line. */ - vip = VIP(sp); if (ntp->owrite == 0 && ntp->insert == 0) { ntp->lb[ntp->len] = CH_CURSOR; ++ntp->insert; @@ -1848,7 +1844,7 @@ txt_backup(SCR *sp, TEXTH *tiqh, TEXT *tp, u_int32_t *flagsp) FL_CLR(*flagsp, TXT_APPENDEOL); /* Release the current TEXT. */ - CIRCLEQ_REMOVE(tiqh, tp, q); + TAILQ_REMOVE(tiqh, tp, q); text_free(tp); /* Update the old line on the screen. */ @@ -2325,7 +2321,7 @@ txt_err(SCR *sp, TEXTH *tiqh) * We depend on at least one line number being set in the text * chain. */ - for (lno = tiqh->cqh_first->lno; + for (lno = TAILQ_FIRST(tiqh)->lno; !db_exist(sp, lno) && lno > 0; --lno); sp->lno = lno == 0 ? 1 : lno; @@ -2661,7 +2657,6 @@ txt_isrch(SCR *sp, VICMD *vp, TEXT *tp, u_int8_t *is_flagsp) static int txt_resolve(SCR *sp, TEXTH *tiqh, u_int32_t flags) { - VI_PRIVATE *vip; TEXT *tp; db_recno_t lno; int changed; @@ -2673,8 +2668,7 @@ txt_resolve(SCR *sp, TEXTH *tiqh, u_int32_t flags) * change, we have to redisplay it, otherwise the information cached * about the line will be wrong. */ - vip = VIP(sp); - tp = tiqh->cqh_first; + tp = TAILQ_FIRST(tiqh); if (LF_ISSET(TXT_AUTOINDENT)) txt_ai_resolve(sp, tp, &changed); @@ -2684,7 +2678,7 @@ txt_resolve(SCR *sp, TEXTH *tiqh, u_int32_t flags) (changed && vs_change(sp, tp->lno, LINE_RESET))) return (1); - for (lno = tp->lno; (tp = tp->q.cqe_next) != (void *)&sp->tiq; ++lno) { + for (lno = tp->lno; (tp = TAILQ_NEXT(tp, q)) != NULL; ++lno) { if (LF_ISSET(TXT_AUTOINDENT)) txt_ai_resolve(sp, tp, &changed); else @@ -2715,13 +2709,10 @@ txt_resolve(SCR *sp, TEXTH *tiqh, u_int32_t flags) static int txt_showmatch(SCR *sp, TEXT *tp) { - GS *gp; VCS cs; MARK m; int cnt, endc, startc; - gp = sp->gp; - /* * Do a refresh first, in case we haven't done one in awhile, * so the user can see what we're complaining about. @@ -2782,14 +2773,12 @@ txt_showmatch(SCR *sp, TEXT *tp) static int txt_margin(SCR *sp, TEXT *tp, TEXT *wmtp, int *didbreak, u_int32_t flags) { - VI_PRIVATE *vip; size_t len, off; - CHAR_T *p, *wp; + CHAR_T *p; /* Find the nearest previous blank. */ for (off = tp->cno - 1, p = tp->lb + off, len = 0;; --off, --p, ++len) { if (ISBLANK((UCHAR_T)*p)) { - wp = p + 1; break; } @@ -2818,7 +2807,6 @@ txt_margin(SCR *sp, TEXT *tp, TEXT *wmtp, int *didbreak, u_int32_t flags) * line -- it's going to be used to set the cursor value when we * move to the new line. */ - vip = VIP(sp); wmtp->lb = p + 1; wmtp->offset = len; wmtp->insert = LF_ISSET(TXT_APPENDEOL) ? tp->insert - 1 : tp->insert; @@ -2873,9 +2861,9 @@ txt_Rresolve(SCR *sp, TEXTH *tiqh, TEXT *tp, const size_t orig_len) * Calculate how many characters the user has entered, * plus the blanks erased by /s. */ - for (ttp = tiqh->cqh_first, input_len = 0;;) { + for (ttp = TAILQ_FIRST(tiqh), input_len = 0;;) { input_len += ttp == tp ? tp->cno : ttp->len + ttp->R_erase; - if ((ttp = ttp->q.cqe_next) == (void *)&sp->tiq) + if ((ttp = TAILQ_NEXT(ttp, q)) == NULL) break; } @@ -2896,7 +2884,7 @@ txt_Rresolve(SCR *sp, TEXTH *tiqh, TEXT *tp, const size_t orig_len) if (input_len < orig_len) { retain = MIN(tp->owrite, orig_len - input_len); if (db_get(sp, - tiqh->cqh_first->lno, DBG_FATAL | DBG_NOCACHE, &p, NULL)) + TAILQ_FIRST(tiqh)->lno, DBG_FATAL | DBG_NOCACHE, &p, NULL)) return; MEMCPYW(tp->lb + tp->cno, p + input_len, retain); tp->len -= tp->owrite - retain; diff --git a/dist/nvi/vi/v_ulcase.c b/external/bsd/nvi/dist/vi/v_ulcase.c similarity index 96% rename from dist/nvi/vi/v_ulcase.c rename to external/bsd/nvi/dist/vi/v_ulcase.c index 870eef831..278e49099 100644 --- a/dist/nvi/vi/v_ulcase.c +++ b/external/bsd/nvi/dist/vi/v_ulcase.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_ulcase.c,v 1.3 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_ulcase.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_ulcase.c,v 10.11 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_ulcase.c,v 10.11 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_undo.c b/external/bsd/nvi/dist/vi/v_undo.c similarity index 97% rename from dist/nvi/vi/v_undo.c rename to external/bsd/nvi/dist/vi/v_undo.c index ff958c08d..11f6499e1 100644 --- a/dist/nvi/vi/v_undo.c +++ b/external/bsd/nvi/dist/vi/v_undo.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_undo.c,v 1.1.1.2 2008/05/18 14:31:47 aymeric Exp $ */ - +/* $NetBSD: v_undo.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_undo.c,v 10.6 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_undo.c,v 10.6 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_util.c b/external/bsd/nvi/dist/vi/v_util.c similarity index 96% rename from dist/nvi/vi/v_util.c rename to external/bsd/nvi/dist/vi/v_util.c index 0335bc940..13eb58604 100644 --- a/dist/nvi/vi/v_util.c +++ b/external/bsd/nvi/dist/vi/v_util.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_util.c,v 1.3 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_util.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_util.c,v 10.14 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_util.c,v 10.14 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_word.c b/external/bsd/nvi/dist/vi/v_word.c similarity index 99% rename from dist/nvi/vi/v_word.c rename to external/bsd/nvi/dist/vi/v_word.c index 33d48819d..1df25b885 100644 --- a/dist/nvi/vi/v_word.c +++ b/external/bsd/nvi/dist/vi/v_word.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_word.c,v 1.3 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: v_word.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_word.c,v 10.6 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_word.c,v 10.6 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_xchar.c b/external/bsd/nvi/dist/vi/v_xchar.c similarity index 94% rename from dist/nvi/vi/v_xchar.c rename to external/bsd/nvi/dist/vi/v_xchar.c index a47ad6882..0813ea213 100644 --- a/dist/nvi/vi/v_xchar.c +++ b/external/bsd/nvi/dist/vi/v_xchar.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_xchar.c,v 1.1.1.2 2008/05/18 14:31:48 aymeric Exp $ */ - +/* $NetBSD: v_xchar.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_xchar.c,v 10.10 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_xchar.c,v 10.10 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_yank.c b/external/bsd/nvi/dist/vi/v_yank.c similarity index 95% rename from dist/nvi/vi/v_yank.c rename to external/bsd/nvi/dist/vi/v_yank.c index 19d08cb79..3427bfc0a 100644 --- a/dist/nvi/vi/v_yank.c +++ b/external/bsd/nvi/dist/vi/v_yank.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_yank.c,v 1.1.1.2 2008/05/18 14:31:48 aymeric Exp $ */ - +/* $NetBSD: v_yank.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_yank.c,v 10.10 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_yank.c,v 10.10 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_z.c b/external/bsd/nvi/dist/vi/v_z.c similarity index 96% rename from dist/nvi/vi/v_z.c rename to external/bsd/nvi/dist/vi/v_z.c index 0f9595a9b..cd402f3c8 100644 --- a/dist/nvi/vi/v_z.c +++ b/external/bsd/nvi/dist/vi/v_z.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_z.c,v 1.2 2011/11/23 19:18:53 tnozaki Exp $ */ - +/* $NetBSD: v_z.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_z.c,v 10.12 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36"; +static const char sccsid[] = "Id: v_z.c,v 10.12 2001/06/25 15:19:36 skimo Exp (Berkeley) Date: 2001/06/25 15:19:36 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/v_zexit.c b/external/bsd/nvi/dist/vi/v_zexit.c similarity index 89% rename from dist/nvi/vi/v_zexit.c rename to external/bsd/nvi/dist/vi/v_zexit.c index 0277da0a1..334c729d2 100644 --- a/dist/nvi/vi/v_zexit.c +++ b/external/bsd/nvi/dist/vi/v_zexit.c @@ -1,5 +1,4 @@ -/* $NetBSD: v_zexit.c,v 1.1.1.2 2008/05/18 14:31:48 aymeric Exp $ */ - +/* $NetBSD: v_zexit.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: v_zexit.c,v 10.7 2001/06/25 15:19:37 skimo Exp (Berkeley) Date: 2001/06/25 15:19:37"; +static const char sccsid[] = "Id: v_zexit.c,v 10.7 2001/06/25 15:19:37 skimo Exp (Berkeley) Date: 2001/06/25 15:19:37 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/vi.c b/external/bsd/nvi/dist/vi/vi.c similarity index 97% rename from dist/nvi/vi/vi.c rename to external/bsd/nvi/dist/vi/vi.c index 44e6403f5..50f804e1c 100644 --- a/dist/nvi/vi/vi.c +++ b/external/bsd/nvi/dist/vi/vi.c @@ -1,5 +1,4 @@ -/* $NetBSD: vi.c,v 1.4 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: vi.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vi.c,v 10.73 2002/04/11 19:49:30 skimo Exp (Berkeley) Date: 2002/04/11 19:49:30"; +static const char sccsid[] = "Id: vi.c,v 10.73 2002/04/11 19:49:30 skimo Exp (Berkeley) Date: 2002/04/11 19:49:30 "; #endif /* not lint */ #include @@ -1028,21 +1027,21 @@ v_dtoh(SCR *sp) /* Move all screens to the hidden queue, tossing screen maps. */ for (hidden = 0, gp = sp->gp, wp = sp->wp; - (tsp = wp->scrq.cqh_first) != (void *)&wp->scrq; ++hidden) { + (tsp = TAILQ_FIRST(&wp->scrq)) != NULL; ++hidden) { if (_HMAP(tsp) != NULL) { free(_HMAP(tsp)); _HMAP(tsp) = NULL; } - CIRCLEQ_REMOVE(&wp->scrq, tsp, q); - CIRCLEQ_INSERT_TAIL(&gp->hq, tsp, q); + TAILQ_REMOVE(&wp->scrq, tsp, q); + TAILQ_INSERT_TAIL(&gp->hq, tsp, q); /* XXXX Change if hidden screens per window */ tsp->wp = 0; gp->scr_discard(tsp, NULL); } /* Move current screen back to the display queue. */ - CIRCLEQ_REMOVE(&gp->hq, sp, q); - CIRCLEQ_INSERT_TAIL(&wp->scrq, sp, q); + TAILQ_REMOVE(&gp->hq, sp, q); + TAILQ_INSERT_TAIL(&wp->scrq, sp, q); sp->wp = wp; if (hidden > 1) @@ -1053,7 +1052,7 @@ v_dtoh(SCR *sp) /* * v_curword -- - * Get the word (or non-word) the cursor is on. + * Get the word (tagstring, actually) the cursor is on. * * PUBLIC: int v_curword __P((SCR *)); */ @@ -1062,7 +1061,7 @@ v_curword(SCR *sp) { VI_PRIVATE *vip; size_t beg, end, len; - int moved, state; + int moved; CHAR_T *p; if (db_get(sp, sp->lno, DBG_FATAL, &p, &len)) @@ -1094,15 +1093,20 @@ v_curword(SCR *sp) (void)vs_refresh(sp, 0); } - /* Find the end of the word. */ - for (state = inword(p[beg]), - end = beg; ++end < len && state == inword(p[end]);); + /* + * Find the end of the word. + * + * !!! + * Historically, vi accepted any non-blank as initial character + * when building up a tagstring. Required by IEEE 1003.1-2001. + */ + for (end = beg; ++end < len && inword(p[end]);); vip = VIP(sp); - len = (end - beg); - BINC_RETW(sp, vip->keyw, vip->klen, len+1); + vip->klen = len = end - beg; + BINC_RETW(sp, vip->keyw, vip->keywlen, len+1); MEMMOVEW(vip->keyw, p + beg, len); - vip->keyw[len] = '\0'; /* XXX */ + vip->keyw[len] = L('\0'); /* XXX */ return (0); } diff --git a/dist/nvi/vi/vi.h b/external/bsd/nvi/dist/vi/vi.h similarity index 98% rename from dist/nvi/vi/vi.h rename to external/bsd/nvi/dist/vi/vi.h index 540b0061c..daa931d9c 100644 --- a/dist/nvi/vi/vi.h +++ b/external/bsd/nvi/dist/vi/vi.h @@ -1,5 +1,4 @@ -/* $NetBSD: vi.h,v 1.4 2011/03/21 14:53:04 tnozaki Exp $ */ - +/* $NetBSD: vi.h,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -8,7 +7,7 @@ * * See the LICENSE file for redistribution information. * - * Id: vi.h,v 10.27 2002/01/19 21:59:07 skimo Exp (Berkeley) Date: 2002/01/19 21:59:07 + * Id: vi.h,v 10.27 2002/01/19 21:59:07 skimo Exp (Berkeley) Date: 2002/01/19 21:59:07 */ /* Definition of a vi "word". */ @@ -384,4 +383,4 @@ typedef enum { VIM_NOCOM, VIM_NOCOM_B, VIM_USAGE, VIM_WRESIZE } vim_t; -#include "extern.h" +#include "vi_extern.h" diff --git a/dist/nvi/vi/vs_line.c b/external/bsd/nvi/dist/vi/vs_line.c similarity index 98% rename from dist/nvi/vi/vs_line.c rename to external/bsd/nvi/dist/vi/vs_line.c index 1b3467b13..f83e9589b 100644 --- a/dist/nvi/vi/vs_line.c +++ b/external/bsd/nvi/dist/vi/vs_line.c @@ -1,5 +1,4 @@ -/* $NetBSD: vs_line.c,v 1.6 2011/11/16 14:24:43 tnozaki Exp $ */ - +/* $NetBSD: vs_line.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vs_line.c,v 10.38 2002/01/19 21:59:07 skimo Exp (Berkeley) Date: 2002/01/19 21:59:07"; +static const char sccsid[] = "Id: vs_line.c,v 10.38 2002/01/19 21:59:07 skimo Exp (Berkeley) Date: 2002/01/19 21:59:07 "; #endif /* not lint */ #include @@ -496,13 +495,11 @@ vs_number(SCR *sp) { GS *gp; SMAP *smp; - VI_PRIVATE *vip; size_t len, oldy, oldx; int exist; char nbuf[10]; gp = sp->gp; - vip = VIP(sp); /* No reason to do anything if we're in input mode on the info line. */ if (F_ISSET(sp, SC_TINPUT_INFO)) diff --git a/dist/nvi/vi/vs_msg.c b/external/bsd/nvi/dist/vi/vs_msg.c similarity index 97% rename from dist/nvi/vi/vs_msg.c rename to external/bsd/nvi/dist/vi/vs_msg.c index fb83708c1..a7c618e8e 100644 --- a/dist/nvi/vi/vs_msg.c +++ b/external/bsd/nvi/dist/vi/vs_msg.c @@ -1,5 +1,4 @@ -/* $NetBSD: vs_msg.c,v 1.5 2012/02/25 00:13:00 joerg Exp $ */ - +/* $NetBSD: vs_msg.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vs_msg.c,v 10.85 2001/07/29 19:07:31 skimo Exp (Berkeley) Date: 2001/07/29 19:07:31"; +static const char sccsid[] = "Id: vs_msg.c,v 10.85 2001/07/29 19:07:31 skimo Exp (Berkeley) Date: 2001/07/29 19:07:31 "; #endif /* not lint */ #include @@ -399,13 +398,13 @@ vs_output(SCR *sp, mtype_t mtype, const char *line, int llen) GS *gp; VI_PRIVATE *vip; size_t chlen, notused; - int ch, len, rlen, tlen; + int ch, len, tlen; const char *p, *t; char *cbp, *ecbp, cbuf[128]; gp = sp->gp; vip = VIP(sp); - for (p = line, rlen = llen; llen > 0;) { + for (p = line; llen > 0;) { /* Get the next physical line. */ if ((p = memchr(line, '\n', llen)) == NULL) len = llen; @@ -591,7 +590,7 @@ vs_ex_resolve(SCR *sp, int *continuep) * If we're not the bottom of the split screen stack, the screen * image itself is wrong, so redraw everything. */ - if (sp->q.cqe_next != (void *)&sp->wp->scrq) + if (TAILQ_NEXT(sp, q) != NULL) F_SET(sp, SC_SCR_REDRAW); /* If ex changed the underlying file, the map itself is wrong. */ @@ -689,10 +688,10 @@ vs_resolve(SCR *sp, SCR *csp, int forcewait) * messages.) Once this is done, don't trust the cursor. That * extra refresh screwed the pooch. */ - if (gp->msgq.lh_first != NULL) { + if (!LIST_EMPTY(&gp->msgq)) { if (!F_ISSET(sp, SC_SCR_VI) && vs_refresh(sp, 1)) return (1); - while ((mp = gp->msgq.lh_first) != NULL) { + while ((mp = LIST_FIRST(&gp->msgq)) != NULL) { wp->scr_msg(sp, mp->mtype, mp->buf, mp->len); LIST_REMOVE(mp, q); free(mp->buf); @@ -769,7 +768,7 @@ vs_scroll(SCR *sp, int *continuep, sw_t wtype) (void)gp->scr_deleteln(sp); /* If there are screens below us, push them back into place. */ - if (sp->q.cqe_next != (void *)&sp->wp->scrq) { + if (TAILQ_NEXT(sp, q) != NULL) { (void)gp->scr_move(sp, LASTLINE(sp), 0); (void)gp->scr_insertln(sp); } @@ -894,11 +893,11 @@ vs_msgsave(SCR *sp, mtype_t mt, char *p, size_t len) mp_n->mtype = mt; gp = sp->gp; - if ((mp_c = gp->msgq.lh_first) == NULL) { + if ((mp_c = LIST_FIRST(&gp->msgq)) == NULL) { LIST_INSERT_HEAD(&gp->msgq, mp_n, q); } else { - while (mp_c->q.le_next != NULL) - mp_c = mp_c->q.le_next; + while (LIST_NEXT(mp_c, q) != NULL) + mp_c = LIST_NEXT(mp_c, q); LIST_INSERT_AFTER(mp_c, mp_n, q); } return; diff --git a/dist/nvi/vi/vs_refresh.c b/external/bsd/nvi/dist/vi/vs_refresh.c similarity index 98% rename from dist/nvi/vi/vs_refresh.c rename to external/bsd/nvi/dist/vi/vs_refresh.c index d052c826e..4dedd94b8 100644 --- a/dist/nvi/vi/vs_refresh.c +++ b/external/bsd/nvi/dist/vi/vs_refresh.c @@ -1,5 +1,4 @@ -/* $NetBSD: vs_refresh.c,v 1.3 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: vs_refresh.c,v 1.5 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vs_refresh.c,v 10.50 2001/06/25 15:19:37 skimo Exp (Berkeley) Date: 2001/06/25 15:19:37"; +static const char sccsid[] = "Id: vs_refresh.c,v 10.50 2001/06/25 15:19:37 skimo Exp (Berkeley) Date: 2001/06/25 15:19:37 "; #endif /* not lint */ #include @@ -58,8 +57,7 @@ vs_refresh(SCR *sp, int forcepaint) * that we can find, including status lines. */ if (F_ISSET(sp, SC_SCR_REDRAW)) - for (tsp = sp->wp->scrq.cqh_first; - tsp != (void *)&sp->wp->scrq; tsp = tsp->q.cqe_next) + TAILQ_FOREACH(tsp, &sp->wp->scrq, q) if (tsp != sp) F_SET(tsp, SC_SCR_REDRAW | SC_STATUS); @@ -76,8 +74,7 @@ vs_refresh(SCR *sp, int forcepaint) priv_paint = VIP_CUR_INVALID | VIP_N_REFRESH; if (O_ISSET(sp, O_NUMBER)) priv_paint |= VIP_N_RENUMBER; - for (tsp = sp->wp->scrq.cqh_first; - tsp != (void *)&sp->wp->scrq; tsp = tsp->q.cqe_next) + TAILQ_FOREACH(tsp, &sp->wp->scrq, q) if (tsp != sp && !F_ISSET(tsp, SC_EXIT | SC_EXIT_FORCE) && (F_ISSET(tsp, pub_paint) || F_ISSET(VIP(tsp), priv_paint))) { @@ -112,8 +109,8 @@ vs_refresh(SCR *sp, int forcepaint) * And, finally, if we updated any status lines, make sure the cursor * gets back to where it belongs. */ - for (need_refresh = 0, tsp = sp->wp->scrq.cqh_first; - tsp != (void *)&sp->wp->scrq; tsp = tsp->q.cqe_next) + need_refresh = 0; + TAILQ_FOREACH(tsp, &sp->wp->scrq, q) if (F_ISSET(tsp, SC_STATUS)) { need_refresh = 1; vs_resolve(tsp, sp, 0); @@ -158,6 +155,8 @@ vs_paint(SCR *sp, u_int flags) gp = sp->gp; vip = VIP(sp); + if (vip == NULL) + return 0; didpaint = leftright_warp = 0; /* diff --git a/dist/nvi/vi/vs_relative.c b/external/bsd/nvi/dist/vi/vs_relative.c similarity index 98% rename from dist/nvi/vi/vs_relative.c rename to external/bsd/nvi/dist/vi/vs_relative.c index f015cfd7f..446d11591 100644 --- a/dist/nvi/vi/vs_relative.c +++ b/external/bsd/nvi/dist/vi/vs_relative.c @@ -1,5 +1,4 @@ -/* $NetBSD: vs_relative.c,v 1.2 2008/12/05 22:51:43 christos Exp $ */ - +/* $NetBSD: vs_relative.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vs_relative.c,v 10.18 2001/07/08 13:02:48 skimo Exp (Berkeley) Date: 2001/07/08 13:02:48"; +static const char sccsid[] = "Id: vs_relative.c,v 10.18 2001/07/08 13:02:48 skimo Exp (Berkeley) Date: 2001/07/08 13:02:48 "; #endif /* not lint */ #include diff --git a/dist/nvi/vi/vs_smap.c b/external/bsd/nvi/dist/vi/vs_smap.c similarity index 98% rename from dist/nvi/vi/vs_smap.c rename to external/bsd/nvi/dist/vi/vs_smap.c index 1e21d8217..11f7ec15a 100644 --- a/dist/nvi/vi/vs_smap.c +++ b/external/bsd/nvi/dist/vi/vs_smap.c @@ -1,5 +1,4 @@ -/* $NetBSD: vs_smap.c,v 1.2 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: vs_smap.c,v 1.2 2013/11/22 15:52:06 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vs_smap.c,v 10.30 2002/01/19 21:59:07 skimo Exp (Berkeley) Date: 2002/01/19 21:59:07"; +static const char sccsid[] = "Id: vs_smap.c,v 10.30 2002/01/19 21:59:07 skimo Exp (Berkeley) Date: 2002/01/19 21:59:07 "; #endif /* not lint */ #include @@ -226,6 +225,16 @@ vs_sm_fill(SCR *sp, db_recno_t lno, pos_t pos) top: HMAP->lno = lno; HMAP->coff = 0; HMAP->soff = 1; + } else { + /* + * If number of lines HMAP->lno (top line) spans + * changed due to, say reformatting, and now is + * fewer than HMAP->soff, reset so the line is + * redrawn at the top of the screen. + */ + cnt = vs_screens(sp, HMAP->lno, NULL); + if (cnt < HMAP->soff) + HMAP->soff = 1; } /* If we fail, just punt. */ for (p = HMAP, cnt = sp->t_rows; --cnt; ++p) diff --git a/dist/nvi/vi/vs_split.c b/external/bsd/nvi/dist/vi/vs_split.c similarity index 90% rename from dist/nvi/vi/vs_split.c rename to external/bsd/nvi/dist/vi/vs_split.c index 51f16651f..d49015af0 100644 --- a/dist/nvi/vi/vs_split.c +++ b/external/bsd/nvi/dist/vi/vs_split.c @@ -1,5 +1,4 @@ -/* $NetBSD: vs_split.c,v 1.3 2009/01/18 03:45:50 lukem Exp $ */ - +/* $NetBSD: vs_split.c,v 1.6 2013/12/01 02:34:54 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -12,7 +11,7 @@ #include "config.h" #ifndef lint -static const char sccsid[] = "Id: vs_split.c,v 10.42 2001/06/25 15:19:38 skimo Exp (Berkeley) Date: 2001/06/25 15:19:38"; +static const char sccsid[] = "Id: vs_split.c,v 10.42 2001/06/25 15:19:38 skimo Exp (Berkeley) Date: 2001/06/25 15:19:38 "; #endif /* not lint */ #include @@ -298,23 +297,19 @@ vs_vsplit(SCR *sp, SCR *new) static void vs_insert(SCR *sp, WIN *wp) { - GS *gp; SCR *tsp; - gp = sp->gp; - sp->wp = wp; /* Move past all screens with lower row numbers. */ - for (tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) + TAILQ_FOREACH(tsp, &wp->scrq, q) if (tsp->roff >= sp->roff) break; /* * Move past all screens with the same row number and lower * column numbers. */ - for (; tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) + for (; tsp != NULL; tsp = TAILQ_NEXT(tsp, q)) if (tsp->roff != sp->roff || tsp->coff > sp->coff) break; @@ -322,13 +317,13 @@ vs_insert(SCR *sp, WIN *wp) * If we reached the end, this screen goes there. Otherwise, * put it before or after the screen where we stopped. */ - if (tsp == (void *)&wp->scrq) { - CIRCLEQ_INSERT_TAIL(&wp->scrq, sp, q); + if (tsp == NULL) { + TAILQ_INSERT_TAIL(&wp->scrq, sp, q); } else if (tsp->roff < sp->roff || (tsp->roff == sp->roff && tsp->coff < sp->coff)) { - CIRCLEQ_INSERT_AFTER(&wp->scrq, tsp, sp, q); + TAILQ_INSERT_AFTER(&wp->scrq, tsp, sp, q); } else - CIRCLEQ_INSERT_BEFORE(&wp->scrq, tsp, sp, q); + TAILQ_INSERT_BEFORE(tsp, sp, q); } /* @@ -458,19 +453,17 @@ vs_discard(SCR *sp, SCR **spp) static int vs_join(SCR *sp, SCR **listp, jdir_t *jdirp) { - GS *gp; WIN *wp; SCR **lp, *tsp; int first; size_t tlen; - gp = sp->gp; wp = sp->wp; /* Check preceding vertical. */ - for (lp = listp, tlen = sp->rows, - tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) { + lp = listp; + tlen = sp->rows; + TAILQ_FOREACH(tsp, &wp->scrq, q) { if (sp == tsp) continue; /* Test if precedes the screen vertically. */ @@ -503,9 +496,9 @@ vs_join(SCR *sp, SCR **listp, jdir_t *jdirp) } /* Check following vertical. */ - for (lp = listp, tlen = sp->rows, - tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) { + lp = listp; + tlen = sp->rows; + TAILQ_FOREACH(tsp, &wp->scrq, q) { if (sp == tsp) continue; /* Test if follows the screen vertically. */ @@ -538,9 +531,10 @@ vs_join(SCR *sp, SCR **listp, jdir_t *jdirp) } /* Check preceding horizontal. */ - for (first = 0, lp = listp, tlen = sp->cols, - tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) { + first = 0; + lp = listp; + tlen = sp->cols; + TAILQ_FOREACH(tsp, &wp->scrq, q) { if (sp == tsp) continue; /* Test if precedes the screen horizontally. */ @@ -574,9 +568,10 @@ vs_join(SCR *sp, SCR **listp, jdir_t *jdirp) } /* Check following horizontal. */ - for (first = 0, lp = listp, tlen = sp->cols, - tsp = wp->scrq.cqh_first; - tsp != (void *)&wp->scrq; tsp = tsp->q.cqe_next) { + first = 0; + lp = listp; + tlen = sp->cols; + TAILQ_FOREACH(tsp, &wp->scrq, q) { if (sp == tsp) continue; /* Test if precedes the screen horizontally. */ @@ -651,17 +646,17 @@ vs_fg(SCR *sp, SCR **nspp, CHAR_T *name, int newscreen) if (newscreen) { /* Remove the new screen from the background queue. */ - CIRCLEQ_REMOVE(&gp->hq, nsp, q); + TAILQ_REMOVE(&gp->hq, nsp, q); /* Split the screen; if we fail, hook the screen back in. */ if (vs_split(sp, nsp, 0)) { - CIRCLEQ_INSERT_TAIL(&gp->hq, nsp, q); + TAILQ_INSERT_TAIL(&gp->hq, nsp, q); return (1); } } else { /* Move the old screen to the background queue. */ - CIRCLEQ_REMOVE(&wp->scrq, sp, q); - CIRCLEQ_INSERT_TAIL(&gp->hq, sp, q); + TAILQ_REMOVE(&wp->scrq, sp, q); + TAILQ_INSERT_TAIL(&gp->hq, sp, q); } return (0); } @@ -692,8 +687,8 @@ vs_bg(SCR *sp) } /* Move the old screen to the background queue. */ - CIRCLEQ_REMOVE(&wp->scrq, sp, q); - CIRCLEQ_INSERT_TAIL(&gp->hq, sp, q); + TAILQ_REMOVE(&wp->scrq, sp, q); + TAILQ_INSERT_TAIL(&gp->hq, sp, q); /* Toss the screen map. */ free(_HMAP(sp)); @@ -785,8 +780,8 @@ vs_swap(SCR *sp, SCR **nspp, const char *name) * the exit will delete the old one, if we're foregrounding, the fg * code will move the old one to the background queue. */ - CIRCLEQ_REMOVE(&gp->hq, nsp, q); - CIRCLEQ_INSERT_AFTER(&wp->scrq, sp, nsp, q); + TAILQ_REMOVE(&gp->hq, nsp, q); + TAILQ_INSERT_AFTER(&wp->scrq, sp, nsp, q); /* * Don't change the screen's cursor information other than to @@ -813,12 +808,10 @@ int vs_resize(SCR *sp, long int count, adj_t adj) { GS *gp; - WIN *wp; SCR *g, *s, *prev, *next, *list[3] = {NULL, NULL, NULL}; size_t g_off, s_off; gp = sp->gp; - wp = sp->wp; /* * Figure out which screens will grow, which will shrink, and @@ -839,23 +832,25 @@ vs_resize(SCR *sp, long int count, adj_t adj) } /* Find first overlapping screen */ - for (next = sp->q.cqe_next; - next != (void *)&wp->scrq && + for (next = TAILQ_NEXT(sp, q); + next != NULL && (next->coff >= sp->coff + sp->cols || next->coff + next->cols <= sp->coff); - next = next->q.cqe_next); + next = TAILQ_NEXT(next, q)) + continue; /* See if we can use it */ - if (next != (void *)&wp->scrq && + if (next != NULL && (sp->coff != next->coff || sp->cols != next->cols)) - next = (void *)&wp->scrq; - for (prev = sp->q.cqe_prev; - prev != (void *)&wp->scrq && + next = NULL; + for (prev = TAILQ_PREV(sp, _scrh, q); + prev != NULL && (prev->coff >= sp->coff + sp->cols || prev->coff + prev->cols <= sp->coff); - prev = prev->q.cqe_prev); - if (prev != (void *)&wp->scrq && + prev = TAILQ_PREV(prev, _scrh, q)) + continue; + if (prev != NULL && (sp->coff != prev->coff || sp->cols != prev->cols)) - prev = (void *)&wp->scrq; + prev = NULL; g_off = s_off = 0; if (adj == A_DECREASE) { @@ -864,21 +859,21 @@ vs_resize(SCR *sp, long int count, adj_t adj) s = sp; if (s->t_maxrows < MINIMUM_SCREEN_ROWS + (size_t)count) goto toosmall; - if ((g = prev) == (void *)&wp->scrq) { - if ((g = next) == (void *)&wp->scrq) + if ((g = prev) == NULL) { + if ((g = next) == NULL) goto toobig; g_off = -count; } else s_off = count; } else { g = sp; - if ((s = next) != (void *)&wp->scrq && + if ((s = next) != NULL && s->t_maxrows >= MINIMUM_SCREEN_ROWS + (size_t)count) s_off = count; else s = NULL; if (s == NULL) { - if ((s = prev) == (void *)&wp->scrq) { + if ((s = prev) == NULL) { toobig: msgq(sp, M_BERR, adj == A_DECREASE ? "227|The screen cannot shrink" : "228|The screen cannot grow"); @@ -941,21 +936,18 @@ vs_getbg(SCR *sp, const char *name) /* If name is NULL, return the first background screen on the list. */ if (name == NULL) { - nsp = gp->hq.cqh_first; - return (nsp == (void *)&gp->hq ? NULL : nsp); + return TAILQ_FIRST(&gp->hq); } /* Search for a full match. */ - for (nsp = gp->hq.cqh_first; - nsp != (void *)&gp->hq; nsp = nsp->q.cqe_next) + TAILQ_FOREACH(nsp, &gp->hq, q) if (!strcmp(nsp->frp->name, name)) break; - if (nsp != (void *)&gp->hq) + if (nsp != NULL) return (nsp); /* Search for a last-component match. */ - for (nsp = gp->hq.cqh_first; - nsp != (void *)&gp->hq; nsp = nsp->q.cqe_next) { + TAILQ_FOREACH(nsp, &gp->hq, q) { if ((p = strrchr(nsp->frp->name, '/')) == NULL) p = nsp->frp->name; else @@ -963,8 +955,5 @@ vs_getbg(SCR *sp, const char *name) if (!strcmp(p, name)) break; } - if (nsp != (void *)&gp->hq) - return (nsp); - - return (NULL); + return nsp; } diff --git a/external/bsd/nvi/docs/Makefile b/external/bsd/nvi/docs/Makefile new file mode 100644 index 000000000..a295a7131 --- /dev/null +++ b/external/bsd/nvi/docs/Makefile @@ -0,0 +1,9 @@ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ + +SUBDIR= USD.doc info + +.if defined(__MINIX) +# LSC: No groff for now... +SUBDIR= info +.endif # defined(__MINIX) +.include diff --git a/external/bsd/nvi/docs/USD.doc/Makefile b/external/bsd/nvi/docs/USD.doc/Makefile new file mode 100644 index 000000000..f23de69b4 --- /dev/null +++ b/external/bsd/nvi/docs/USD.doc/Makefile @@ -0,0 +1,5 @@ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ + +SUBDIR= edit exref vi.ref vitut + +.include diff --git a/usr.bin/nvi/docs/USD.doc/edit/Makefile b/external/bsd/nvi/docs/USD.doc/edit/Makefile similarity index 90% rename from usr.bin/nvi/docs/USD.doc/edit/Makefile rename to external/bsd/nvi/docs/USD.doc/edit/Makefile index f17888e9b..11af64c28 100644 --- a/usr.bin/nvi/docs/USD.doc/edit/Makefile +++ b/external/bsd/nvi/docs/USD.doc/edit/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ # # @(#)Makefile 8.1 (Berkeley) 6/8/93 diff --git a/usr.bin/nvi/docs/USD.doc/edit/edit.vindex b/external/bsd/nvi/docs/USD.doc/edit/edit.vindex similarity index 97% rename from usr.bin/nvi/docs/USD.doc/edit/edit.vindex rename to external/bsd/nvi/docs/USD.doc/edit/edit.vindex index 613d5b4d8..02ff9b5a9 100644 --- a/usr.bin/nvi/docs/USD.doc/edit/edit.vindex +++ b/external/bsd/nvi/docs/USD.doc/edit/edit.vindex @@ -1,4 +1,4 @@ -.\" $NetBSD: edit.vindex,v 1.1 2008/09/02 09:25:39 christos Exp $ +.\" $NetBSD: edit.vindex,v 1.1 2013/11/22 16:00:45 christos Exp $ .\" .\" Copyright (c) 1980, 1993 .\" The Regents of the University of California. All rights reserved. diff --git a/usr.bin/nvi/docs/USD.doc/exref/Makefile b/external/bsd/nvi/docs/USD.doc/exref/Makefile similarity index 86% rename from usr.bin/nvi/docs/USD.doc/exref/Makefile rename to external/bsd/nvi/docs/USD.doc/exref/Makefile index 8501b857f..16b53592b 100644 --- a/usr.bin/nvi/docs/USD.doc/exref/Makefile +++ b/external/bsd/nvi/docs/USD.doc/exref/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ # # @(#)Makefile 8.8 (Berkeley) 10/10/96 diff --git a/usr.bin/nvi/docs/USD.doc/vi.ref/Makefile b/external/bsd/nvi/docs/USD.doc/vi.ref/Makefile similarity index 93% rename from usr.bin/nvi/docs/USD.doc/vi.ref/Makefile rename to external/bsd/nvi/docs/USD.doc/vi.ref/Makefile index 5b1628ccd..931ee1f3d 100644 --- a/usr.bin/nvi/docs/USD.doc/vi.ref/Makefile +++ b/external/bsd/nvi/docs/USD.doc/vi.ref/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ # # @(#)Makefile 8.20 (Berkeley) 8/18/96 diff --git a/usr.bin/nvi/docs/USD.doc/vi.ref/ex.cmd.roff b/external/bsd/nvi/docs/USD.doc/vi.ref/ex.cmd.roff similarity index 99% rename from usr.bin/nvi/docs/USD.doc/vi.ref/ex.cmd.roff rename to external/bsd/nvi/docs/USD.doc/vi.ref/ex.cmd.roff index 4bea0846e..83fa6827a 100644 --- a/usr.bin/nvi/docs/USD.doc/vi.ref/ex.cmd.roff +++ b/external/bsd/nvi/docs/USD.doc/vi.ref/ex.cmd.roff @@ -1,4 +1,4 @@ -.\" $NetBSD: ex.cmd.roff,v 1.1 2008/09/02 09:25:39 christos Exp $ +.\" $NetBSD: ex.cmd.roff,v 1.1 2013/11/22 16:00:45 christos Exp $ .\" .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. diff --git a/usr.bin/nvi/docs/USD.doc/vi.ref/merge.awk b/external/bsd/nvi/docs/USD.doc/vi.ref/merge.awk similarity index 78% rename from usr.bin/nvi/docs/USD.doc/vi.ref/merge.awk rename to external/bsd/nvi/docs/USD.doc/vi.ref/merge.awk index 8453b1de8..af5773870 100644 --- a/usr.bin/nvi/docs/USD.doc/vi.ref/merge.awk +++ b/external/bsd/nvi/docs/USD.doc/vi.ref/merge.awk @@ -1,4 +1,4 @@ -# $NetBSD: merge.awk,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: merge.awk,v 1.1 2013/11/22 16:00:45 christos Exp $ # # @(#)merge.awk 8.3 (Berkeley) 5/25/94 # diff --git a/usr.bin/nvi/docs/USD.doc/vi.ref/set.opt.roff b/external/bsd/nvi/docs/USD.doc/vi.ref/set.opt.roff similarity index 99% rename from usr.bin/nvi/docs/USD.doc/vi.ref/set.opt.roff rename to external/bsd/nvi/docs/USD.doc/vi.ref/set.opt.roff index e37343c97..8cb766aaa 100644 --- a/usr.bin/nvi/docs/USD.doc/vi.ref/set.opt.roff +++ b/external/bsd/nvi/docs/USD.doc/vi.ref/set.opt.roff @@ -1,4 +1,4 @@ -.\" $NetBSD: set.opt.roff,v 1.1 2008/09/02 09:25:39 christos Exp $ +.\" $NetBSD: set.opt.roff,v 1.1 2013/11/22 16:00:45 christos Exp $ .\" .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. diff --git a/usr.bin/nvi/docs/USD.doc/vi.ref/vi.cmd.roff b/external/bsd/nvi/docs/USD.doc/vi.ref/vi.cmd.roff similarity index 99% rename from usr.bin/nvi/docs/USD.doc/vi.ref/vi.cmd.roff rename to external/bsd/nvi/docs/USD.doc/vi.ref/vi.cmd.roff index d515f971b..4d23e49c0 100644 --- a/usr.bin/nvi/docs/USD.doc/vi.ref/vi.cmd.roff +++ b/external/bsd/nvi/docs/USD.doc/vi.ref/vi.cmd.roff @@ -1,4 +1,4 @@ -.\" $NetBSD: vi.cmd.roff,v 1.1 2008/09/02 09:25:39 christos Exp $ +.\" $NetBSD: vi.cmd.roff,v 1.1 2013/11/22 16:00:45 christos Exp $ .\" .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. diff --git a/usr.bin/nvi/docs/USD.doc/vi.ref/vi.ref b/external/bsd/nvi/docs/USD.doc/vi.ref/vi.ref similarity index 99% rename from usr.bin/nvi/docs/USD.doc/vi.ref/vi.ref rename to external/bsd/nvi/docs/USD.doc/vi.ref/vi.ref index 22471209c..333cbd927 100644 --- a/usr.bin/nvi/docs/USD.doc/vi.ref/vi.ref +++ b/external/bsd/nvi/docs/USD.doc/vi.ref/vi.ref @@ -1,4 +1,4 @@ -.\" $NetBSD: vi.ref,v 1.1 2008/09/02 09:25:39 christos Exp $ +.\" $NetBSD: vi.ref,v 1.1 2013/11/22 16:00:45 christos Exp $ .\" .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. diff --git a/usr.bin/nvi/docs/USD.doc/vitut/Makefile b/external/bsd/nvi/docs/USD.doc/vitut/Makefile similarity index 89% rename from usr.bin/nvi/docs/USD.doc/vitut/Makefile rename to external/bsd/nvi/docs/USD.doc/vitut/Makefile index ded95e5f7..4da65115f 100644 --- a/usr.bin/nvi/docs/USD.doc/vitut/Makefile +++ b/external/bsd/nvi/docs/USD.doc/vitut/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ # # @(#)Makefile 8.7 (Berkeley) 8/18/96 diff --git a/usr.bin/nvi/docs/ev b/external/bsd/nvi/docs/ev similarity index 100% rename from usr.bin/nvi/docs/ev rename to external/bsd/nvi/docs/ev diff --git a/usr.bin/nvi/docs/help b/external/bsd/nvi/docs/help similarity index 100% rename from usr.bin/nvi/docs/help rename to external/bsd/nvi/docs/help diff --git a/usr.bin/nvi/docs/info/Makefile b/external/bsd/nvi/docs/info/Makefile similarity index 75% rename from usr.bin/nvi/docs/info/Makefile rename to external/bsd/nvi/docs/info/Makefile index 007c8db4f..50afc281e 100644 --- a/usr.bin/nvi/docs/info/Makefile +++ b/external/bsd/nvi/docs/info/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2008/12/09 23:49:42 lukem Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ .include "${.CURDIR}/../../Makefile.inc" diff --git a/usr.bin/nvi/docs/internals/autowrite b/external/bsd/nvi/docs/internals/autowrite similarity index 100% rename from usr.bin/nvi/docs/internals/autowrite rename to external/bsd/nvi/docs/internals/autowrite diff --git a/usr.bin/nvi/docs/internals/context b/external/bsd/nvi/docs/internals/context similarity index 100% rename from usr.bin/nvi/docs/internals/context rename to external/bsd/nvi/docs/internals/context diff --git a/usr.bin/nvi/docs/internals/gdb.script b/external/bsd/nvi/docs/internals/gdb.script similarity index 100% rename from usr.bin/nvi/docs/internals/gdb.script rename to external/bsd/nvi/docs/internals/gdb.script diff --git a/usr.bin/nvi/docs/internals/input b/external/bsd/nvi/docs/internals/input similarity index 100% rename from usr.bin/nvi/docs/internals/input rename to external/bsd/nvi/docs/internals/input diff --git a/usr.bin/nvi/docs/internals/openmode b/external/bsd/nvi/docs/internals/openmode similarity index 100% rename from usr.bin/nvi/docs/internals/openmode rename to external/bsd/nvi/docs/internals/openmode diff --git a/usr.bin/nvi/docs/internals/quoting b/external/bsd/nvi/docs/internals/quoting similarity index 100% rename from usr.bin/nvi/docs/internals/quoting rename to external/bsd/nvi/docs/internals/quoting diff --git a/usr.bin/nvi/docs/internals/structures b/external/bsd/nvi/docs/internals/structures similarity index 100% rename from usr.bin/nvi/docs/internals/structures rename to external/bsd/nvi/docs/internals/structures diff --git a/dist/nvi/nvi2netbsd b/external/bsd/nvi/nvi2netbsd old mode 100644 new mode 100755 similarity index 67% rename from dist/nvi/nvi2netbsd rename to external/bsd/nvi/nvi2netbsd index a5c6ff97f..84685e541 --- a/dist/nvi/nvi2netbsd +++ b/external/bsd/nvi/nvi2netbsd @@ -1,6 +1,6 @@ #! /bin/sh # -# $NetBSD: nvi2netbsd,v 1.2 2008/05/20 17:05:40 aymeric Exp $ +# $NetBSD: nvi2netbsd,v 1.1 2013/11/22 16:00:45 christos Exp $ # # Copyright (c) 2000 The NetBSD Foundation, Inc. # All rights reserved. @@ -33,9 +33,9 @@ # # $ cd /some/where/temporary # $ tar xpfz /new/nvi/release/tar/file -# $ sh /usr/src/dist/nvi/nvi2netbsd nvi-x.y.z `pwd` -# $ cd src/dist/nvi -# $ cvs import -m "Import nvi x.y.z" src/dist/nvi NVI nvi-x-y-z +# $ sh /usr/src/external/bsd/nvi/nvi2netbsd nvi-x.y.z `pwd` +# $ cd src/external/bsd/nvi/dist +# $ cvs import -m "Import nvi x.y.z" src/external/bsd/nvi/dist NVI nvi-x-y-z # $ cd ../../../nvi/build.unix # $ run ../dist/configure --with-db_type=db1 --enable-widechar # ... to be continued @@ -44,7 +44,7 @@ if [ $# -ne 2 ]; then echo "nvi2netbsd src dest"; exit 1; fi r="$1" -d="$2"/src/dist/nvi +d="$2"/src/external/bsd/nvi/dist case "$d" in /*) @@ -81,6 +81,8 @@ rm -f dist/tags rm -fr docs/html rm -f docs/*/*.ps docs/*/grohtml* docs/*/*.0 docs/*/*.txt rm -f common/options_def.h # must be removed: we generate it +rm -fr include compat db.1.85 +rm -fr .git cd catalog for f in *.base; do @@ -88,44 +90,7 @@ for f in *.base; do rm -f "$f2" "$f2".check done -### Remove the $'s around RCS tags -find "$d" -type f -print | \ - xargs egrep -l '\$(Created|Date|Header|Id|Revision)' | while read f; do - sed -e 's/\$\(Id[^$]*\) \$/\1/' \ - -e 's/\$\(Created[^$]*\) \$/\1/' \ - -e 's/\$\(Date[^$]*\) \$/\1/' \ - -e 's/\$\(Header[^$]*\) \$/\1/' \ - -e 's/\$\(Revision[^$]*\) \$/\1/' \ - < "$f" > /tmp/nvi1f$$ && mv /tmp/nvi1f$$ "$f" && \ - echo removed \$RCS tag from "$f" -done - -### Add our NetBSD RCS Id -find "$d" -type f -name '*.[ch]' -print | while read c; do - sed 1q < "$c" | grep -q '\$NetBSD' || ( -echo "/* \$NetBSD\$ */" >/tmp/nvi3n$$ -echo "" >>/tmp/nvi3n$$ -cat "$c" >> /tmp/nvi3n$$ -mv /tmp/nvi3n$$ $c && echo added NetBSD RCS tag to "$c" - ) -done - -find "$d" -type f -name '*.[0-9]' -print | while read m; do - sed 1q < "$m" | grep -q '\$NetBSD' || ( -echo ".\\\" \$NetBSD\$" >/tmp/nvi2m$$ -echo ".\\\"" >>/tmp/nvi2m$$ -cat "$m" >> /tmp/nvi2m$$ -mv /tmp/nvi2m$$ "$m" && echo added NetBSD RCS tag to "$m" - ) -done - -find "$d" -type f -name '*.texi' -print | while read t; do - sed "2 s/^/@c \$NetBSD\$\\ -/" < "$t" > /tmp/nvi4t$$ - mv /tmp/nvi4t$$ "$t" && echo added NetBSD RCS tag to "$t" -done - -echo done +cleantags "$d" ### Clean up any CVS directories that might be around. echo "cleaning up CVS residue." diff --git a/external/bsd/nvi/usr.bin/Makefile b/external/bsd/nvi/usr.bin/Makefile new file mode 100644 index 000000000..10d4729ea --- /dev/null +++ b/external/bsd/nvi/usr.bin/Makefile @@ -0,0 +1,3 @@ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ +SUBDIR = nvi recover +.include diff --git a/usr.bin/nvi/build/Makefile b/external/bsd/nvi/usr.bin/nvi/Makefile similarity index 53% rename from usr.bin/nvi/build/Makefile rename to external/bsd/nvi/usr.bin/nvi/Makefile index 5b0eb5fd0..4c902cbf7 100644 --- a/usr.bin/nvi/build/Makefile +++ b/external/bsd/nvi/usr.bin/nvi/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.17 2012/03/21 05:44:39 matt Exp $ +# $NetBSD: Makefile,v 1.4 2013/11/30 14:52:40 christos Exp $ .include @@ -8,6 +8,8 @@ CWARNFLAGS.clang+= -Wno-uninitialized -Wno-format-security CPPFLAGS+=-I${DIST}/include -I${.CURDIR} -I. -DGTAGS #DBG=-g +#CPPFLAGS+=-DLOGDEBUG -DTRACE +#CPPFLAGS+=-DDBDEBUG -DTRACE #CWARNFLAGS+=-Wno-parentheses -Wno-unused -Wno-missing-prototypes #.if defined(HAVE_GCC) @@ -19,7 +21,7 @@ LDADD+= -lcurses -lterminfo DPADD+= ${LIBCURSES} ${LIBTERMINFO} PROG= vi SRCS= api.c cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \ - conv.c cut.c db.c db1.c delete.c ex.c ex_abbrev.c ex_append.c \ + conv.c cut.c delete.c ex.c ex_abbrev.c ex_append.c \ ex_args.c ex_argv.c ex_at.c ex_bang.c ex_cd.c ex_cmd.c ex_cscope.c \ ex_delete.c ex_display.c ex_edit.c ex_equal.c ex_file.c ex_filter.c \ ex_global.c ex_init.c ex_join.c ex_map.c ex_mark.c ex_mkexrc.c \ @@ -27,15 +29,18 @@ SRCS= api.c cl_bsd.c cl_funcs.c cl_main.c cl_read.c cl_screen.c cl_term.c \ ex_quit.c ex_read.c ex_screen.c ex_script.c ex_set.c ex_shell.c \ ex_shift.c ex_source.c ex_stop.c ex_subst.c ex_tag.c ex_tcl.c \ ex_txt.c ex_undo.c ex_usage.c ex_util.c ex_version.c ex_visual.c \ - ex_write.c ex_yank.c ex_z.c exf.c getc.c gs.c key.c log.c \ + ex_write.c ex_yank.c ex_z.c exf.c getc.c gs.c \ + ip_funcs.c ip_read.c ip_screen.c ip_term.c \ + ip_run.c ip_send.c ip_trans.c ipc_cmd.c ipc_method.c \ + key.c trace.c \ main.c mark.c msg.c nothread.c options.c options_f.c put.c recover.c \ screen.c search.c seq.c util.c v_at.c v_ch.c v_cmd.c v_delete.c \ v_event.c v_ex.c v_increment.c v_init.c v_itxt.c v_left.c v_mark.c \ v_match.c v_paragraph.c v_put.c v_redraw.c v_replace.c v_right.c \ v_screen.c v_scroll.c v_search.c v_section.c v_sentence.c v_status.c \ v_txt.c v_ulcase.c v_undo.c v_util.c v_word.c v_xchar.c v_yank.c \ - v_z.c v_zexit.c vi.c vs_line.c vs_msg.c vs_refresh.c vs_relative.c \ - vs_smap.c vs_split.c + v_z.c v_zexit.c vi.c vs_line.c vs_msg.c vs_refresh.c \ + vs_relative.c vs_smap.c vs_split.c # For wide char support .if ${USE_WIDECHAR} == "yes" @@ -43,23 +48,67 @@ SRCS+= regcomp.c regerror.c regexec.c regfree.c CPPFLAGS+=-I${DIST}/regex -D__REGEX_PRIVATE -DUSE_WIDECHAR .endif +# For db3 db1 emulation +#SRCS+=db1.c log.c vi_db.c +#CPPFLAGS+=-DUSE_DB1 + +# For built-in db1 emulation +SRCS+=vi_db1.c log1.c +CPPFLAGS+=-DUSE_BUNDLED_DB + LINKS= ${BINDIR}/vi ${BINDIR}/ex ${BINDIR}/vi ${BINDIR}/view MLINKS= vi.1 ex.1 vi.1 view.1 -DPSRCS+=options_def.h -CLEANFILES+=options_def.h +DPSRCS+=options_def.h ipc_def.h ex_def.h # ipc_gen.c +CLEANFILES+=options_def.h ipc_def.h ex_def.h # ipc_gen.c options_def.h: options.awk options.c ${_MKTARGET_CREATE} ${TOOL_AWK} -f ${.ALLSRC} >${.TARGET} -.include "../Makefile.inc" -.include "../../Makefile.inc" +ex_def.h: ex.awk ex_cmd.c + ${_MKTARGET_CREATE} + ${TOOL_AWK} -f ${.ALLSRC} >${.TARGET} + +ipc_def.h: ipc.awk vipc.awk ipc_cmd.c ip_read.c + ${_MKTARGET_CREATE} + (${TOOL_AWK} -f ${.ALLSRC:M*/ipc.awk} ${.ALLSRC:M*/ipc_cmd.c} && \ + ${TOOL_AWK} -f ${.ALLSRC:M*/vipc.awk} ${.ALLSRC:M*/ip_read.c}) > \ + ${.TARGET} + +.for i in cl common ex ip ipc vi +DPSRCS+=${i}_extern.h +CLEANFILES+=${i}_extern.h +_${i}_SRCS != echo ${DIST}/${i}/*.c ${DIST}/${i}/*.xs +${i}_extern.h: ${SRCS} + ${_MKTARGET_CREATE} + @${TOOL_SED} -n "s/^ \* PUBLIC: \(.*\)/\1/p" ${.ALLSRC:M*/$i/*} > ${.TARGET}.tmp + @if cmp -s ${.TARGET}.tmp ${.TARGET}; then \ + rm -f ${.TARGET}.tmp; \ + else \ + mv -f ${.TARGET}.tmp ${.TARGET}; \ + fi +.endfor + +DPSRCS+=version.h +CLEANFILES+=version.h +version.h: ../../Makefile.inc + ${_MKTARGET_CREATE} + echo '#define VI_VERSION "(${VERSION})"' > ${.TARGET} + +#ipc_gen.c: vipc.pl ip_read.c +# ${_MKTARGET_CREATE} +# ${TOOL_PERL} -n ${.ALLSRC} > ${.TARGET} + + +.include "${.CURDIR}/../../Makefile.inc" WARNS= 4 .PATH: ${DIST}/vi ${DIST}/ex ${DIST}/cl .PATH: ${DIST}/common +.PATH: ${DIST}/ipc +.PATH: ${DIST}/ip .PATH: ${DIST}/regex .PATH: ${DIST}/docs/vi.man diff --git a/external/bsd/nvi/usr.bin/nvi/compat.h b/external/bsd/nvi/usr.bin/nvi/compat.h new file mode 100644 index 000000000..abf3e84cf --- /dev/null +++ b/external/bsd/nvi/usr.bin/nvi/compat.h @@ -0,0 +1,199 @@ +/* $Id: compat.h,v 1.1 2013/11/22 16:00:45 christos Exp $ (Berkeley) $Date: 2013/11/22 16:00:45 $ */ + +/* + * Declare the basic types, if they aren't already declared. Named and + * some system's db.h files protect them with __BIT_TYPES_DEFINED__. + */ +#ifndef __BIT_TYPES_DEFINED__ +#define __BIT_TYPES_DEFINED__ + + + + + +#endif + + + + + + +/* + * XXX + * Handle function prototypes. This steps on name space that vi doesn't + * control, but all of the other solutions are worse. + */ +#undef __P +#if defined(__STDC__) || defined(__cplusplus) +#define __P(protos) protos /* ANSI C prototypes */ +#else +#define __P(protos) () /* K&R C preprocessor */ +#endif + +/* + * XXX + * Some versions of System V changed the number of arguments to gettimeofday + * without changing the name. + */ +#ifdef HAVE_BROKEN_GETTIMEOFDAY +#define gettimeofday(tv, tz) gettimeofday(tv) +#endif + +/* + * XXX + * If we don't have mmap, we fake it with read and write, but we'll + * still need the header information. + */ +#ifndef HAVE_SYS_MMAN_H +#define MAP_SHARED 1 /* share changes */ +#define MAP_PRIVATE 2 /* changes are private */ +#define PROT_READ 0x1 /* pages can be read */ +#define PROT_WRITE 0x2 /* pages can be written */ +#define PROT_EXEC 0x4 /* pages can be executed */ +#endif + +/* + * XXX + * POSIX 1003.1 names for file descriptors. + */ +#ifndef STDERR_FILENO +#define STDIN_FILENO 0 /* ANSI C #defines */ +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 +#endif + +/* + * XXX + * POSIX 1003.1 names for seek settings. + */ +#ifndef SEEK_END +#define SEEK_SET 0 /* POSIX 1003.1 seek values */ +#define SEEK_CUR 1 +#define SEEK_END 2 +#endif + +/* + * Hack _POSIX_VDISABLE to \377 since Ultrix doesn't honor _POSIX_VDISABLE + * (treats it as ^@). The symptom is that the ^@ keystroke immediately + * drops core. + */ +#ifdef HAVE_BROKEN_VDISABLE +#undef _POSIX_VDISABLE +#define _POSIX_VDISABLE ((unsigned char)'\377') +#endif + +/* + * XXX + * POSIX 1003.1 tty disabling character. + */ +#ifndef _POSIX_VDISABLE +#define _POSIX_VDISABLE 0 /* Some systems used 0. */ +#endif + +/* + * XXX + * 4.4BSD extension to only set the software termios bits. + */ +#ifndef TCSASOFT /* 4.4BSD extension. */ +#define TCSASOFT 0 +#endif + +/* + * XXX + * POSIX 1003.1 maximum path length. + */ +#ifndef MAXPATHLEN +#ifdef PATH_MAX +#define MAXPATHLEN PATH_MAX +#else +#define MAXPATHLEN 1024 +#endif +#endif + +/* + * XXX + * MIN, MAX, historically in + */ +#ifndef MAX +#define MAX(_a,_b) ((_a)<(_b)?(_b):(_a)) +#endif +#ifndef MIN +#define MIN(_a,_b) ((_a)<(_b)?(_a):(_b)) +#endif + +/* + * XXX + * "DB" isn't always portable, and we want the private information. + */ +#define DB L__DB +#undef pgno_t /* IRIX has its own version. */ +#define pgno_t L__db_pgno_t + +/* + * XXX + * 4.4BSD extension to provide lock values in the open(2) call. + */ +#ifndef O_EXLOCK +#define O_EXLOCK 0 +#endif + +#ifndef O_SHLOCK +#define O_SHLOCK 0 +#endif + +/* + * XXX + * POSIX 1003.1 bad file format errno. + */ +#ifndef EFTYPE +#define EFTYPE EINVAL +#endif + +/* + * XXX + * POSIX 1003.2 RE length limit. + */ +#ifndef _POSIX2_RE_DUP_MAX +#define _POSIX2_RE_DUP_MAX 255 +#endif + +/* + * XXX + * 4.4BSD extension to determine if a program dropped core from the exit + * status. + */ +#ifndef WCOREDUMP +#define WCOREDUMP(a) 0 +#endif + +/* + * XXX + * Endian-ness of the machine. + */ +#if !defined(LITTLE_ENDIAN) +#define LITTLE_ENDIAN 1234 +#endif +#if !defined(BIG_ENDIAN) +#define BIG_ENDIAN 4321 +#endif +#if !defined(BYTE_ORDER) +#if WORDS_BIGENDIAN == 1 +#define BYTE_ORDER BIG_ENDIAN +#else +#define BYTE_ORDER LITTLE_ENDIAN +#endif +#endif + +#ifndef HAVE_MEMCPY +#define memcpy memmove +#endif + +#ifdef NEED_FPRINTF_PROTO +extern int fprintf( FILE *, const char *, ... ); +#endif + +#ifdef HAVE_PTHREAD +#define VI_DB_THREAD DB_THREAD +#else +#define VI_DB_THREAD 0 +#endif diff --git a/usr.bin/nvi/build/config.h b/external/bsd/nvi/usr.bin/nvi/config.h similarity index 80% rename from usr.bin/nvi/build/config.h rename to external/bsd/nvi/usr.bin/nvi/config.h index 4300f830d..ca914e490 100644 --- a/usr.bin/nvi/build/config.h +++ b/external/bsd/nvi/usr.bin/nvi/config.h @@ -1,9 +1,8 @@ /* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.in by autoheader. */ -/* Id: acconfig.h,v 8.34 2002/01/19 23:01:35 skimo Exp (Berkeley) Date: 2002/01/19 23:01:35 */ +/* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to `int' if doesn't define. */ -/* #undef ssize_t */ +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ /* Define if you want a debugging version. */ /* #undef DEBUG */ @@ -17,14 +16,8 @@ /* Define if you have a BSD version of curses. */ /* #undef HAVE_BSD_CURSES */ -/* Define if you have wide ncurses(3). */ -/* #undef HAVE_NCURSESW */ - -/* Define if you have the curses(3) waddnwstr function. */ -/* #undef HAVE_CURSES_ADDNWSTR */ - -/* Define if you have the curses(3) waddnstr function. */ -#define HAVE_CURSES_WADDNSTR 1 +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 /* Define if you have the curses(3) beep function. */ #define HAVE_CURSES_BEEP 1 @@ -47,8 +40,14 @@ /* Define if you have the curses(3) tigetstr/tigetnum functions. */ #define HAVE_CURSES_TIGETSTR 1 -/* Define if you have the DB __hash_open call in the C library. */ -/* #undef HAVE_DB_HASH_OPEN */ +/* Define if you have the curses(3) waddnstr function. */ +#define HAVE_CURSES_WADDNSTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 /* Define if you have the chsize(2) system call. */ /* #undef HAVE_FTRUNCATE_CHSIZE */ @@ -59,85 +58,6 @@ /* Define if you have gcc. */ #define HAVE_GCC 1 -/* Define if you have fcntl(2) style locking. */ -/* #undef HAVE_LOCK_FCNTL */ - -/* Define if you have flock(2) style locking. */ -#define HAVE_LOCK_FLOCK 1 - -/* Define is appropriate pango is available */ -/* #undef HAVE_PANGO */ - -/* Define if you want to compile in the Perl interpreter. */ -/* #undef HAVE_PERL_INTERP */ - -/* Define if using pthread. */ -/* #undef HAVE_PTHREAD */ - -#ifndef __minix -/* Define if you have the Berkeley style revoke(2) system call. */ -#define HAVE_REVOKE 1 -#endif - -/* Define if you have the Berkeley style strsep(3) function. */ -#define HAVE_STRSEP 1 - -/* Define if you have */ -#define HAVE_SYS_MMAN_H 1 - -/* Define if you have */ -#define HAVE_SYS_SELECT_H 1 - -#ifndef __minix -/* Define if you have the System V style pty calls. */ -#define HAVE_SYS5_PTY 1 -#endif - -/* Define if you want to compile in the Tcl interpreter. */ -/* #undef HAVE_TCL_INTERP */ - -/* Define is appropriate zvt is available */ -/* #undef HAVE_ZVT */ - -/* Define if your sprintf returns a pointer, not a length. */ -/* #undef SPRINTF_RET_CHARPNT */ - -/* Define when using db1 */ -#define USE_DB1 1 - -/* Define when using db4 logging */ -/* #undef USE_DB4_LOGGING */ - -/* Define when dynamically loading DB 3 */ -/* #undef USE_DYNAMIC_LOADING */ - -/* Define when iconv can be used */ -#define USE_ICONV 1 - -/* Define when perl's setenv should be used */ -/* #undef USE_PERL_SETENV */ - -/* Define when using S-Lang */ -/* #undef USE_SLANG_CURSES */ - -/* Define when using wide characters */ -/* #undef USE_WIDECHAR */ - -/* Define if you have */ -/* #undef HAVE_NCURSES_H */ - -/* Define when fprintf prototype not in an obvious place */ -/* #undef NEED_FPRINTF_PROTO */ - -/* Define to 1 if you have the `bsearch' function. */ -#define HAVE_BSEARCH 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `fork' function. */ -#define HAVE_FORK 1 - /* Define to 1 if you have the `gethostname' function. */ #define HAVE_GETHOSTNAME 1 @@ -150,12 +70,18 @@ /* Define to 1 if you have the `iswblank' function. */ #define HAVE_ISWBLANK 1 -/* Define to 1 if you have the `memcpy' function. */ -#define HAVE_MEMCPY 1 +/* Define if you have fcntl(2) style locking. */ +/* #undef HAVE_LOCK_FCNTL */ + +/* Define if you have flock(2) style locking. */ +#define HAVE_LOCK_FLOCK 1 /* Define to 1 if you have the `memchr' function. */ #define HAVE_MEMCHR 1 +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 @@ -174,6 +100,20 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_NCURSES_H */ +/* Define is appropriate pango is available. */ +/* #undef HAVE_PANGO */ + +/* Define if you want to compile in the Perl interpreter. */ +/* #undef HAVE_PERL_INTERP */ + +/* Define if using pthread. */ +/* #undef HAVE_PTHREAD */ + +#ifndef __minix +/* Define if you have the Berkeley style revoke(2) system call. */ +#define HAVE_REVOKE 1 +#endif + /* Define to 1 if you have the `select' function. */ #define HAVE_SELECT 1 @@ -204,19 +144,34 @@ /* Define to 1 if you have the `strsep' function. */ #define HAVE_STRSEP 1 -/* Define to 1 if `st_blksize' is member of `struct stat'. */ +/* Define to 1 if `st_blksize' is a member of `struct stat'. */ #define HAVE_STRUCT_STAT_ST_BLKSIZE 1 /* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use `HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */ #define HAVE_ST_BLKSIZE 1 +/* Define if you have the System V style pty calls. */ +/* #undef HAVE_SYS5_PTY */ + +/* Define if you have */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define if you have header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 +/* Define if you want to compile in the Tcl interpreter. */ +/* #undef HAVE_TCL_INTERP */ + /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 @@ -238,6 +193,16 @@ /* Define to 1 if `vfork' works. */ #define HAVE_WORKING_VFORK 1 +/* Define is appropriate zvt is available. */ +/* #undef HAVE_ZVT */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define when fprintf prototype not in an obvious place. */ +/* #undef NEED_FPRINTF_PROTO */ + /* Name of package */ #define PACKAGE "vi" @@ -245,16 +210,22 @@ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ -#define PACKAGE_NAME "" +#define PACKAGE_NAME "vi" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "" +#define PACKAGE_STRING "vi 1.81.6" /* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "" +#define PACKAGE_TARNAME "vi" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "" +#define PACKAGE_VERSION "1.81.6" + +/* Define if your sprintf returns a pointer, not a length. */ +/* #undef SPRINTF_RET_CHARPNT */ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 @@ -262,12 +233,35 @@ /* Define to 1 if your declares `struct tm'. */ /* #undef TM_IN_SYS_TIME */ +/* Define when using db4 logging. */ +/* #undef USE_DB4_LOGGING */ + +/* Define when dynamically loading DB 3. */ +/* #undef USE_DYNAMIC_LOADING */ + +/* Define when iconv can be used. */ +#define USE_ICONV 1 + +/* Define when perl's setenv should be used. */ +/* #undef USE_PERL_SETENV */ + +/* Define when using wide characters. */ +/* #undef USE_WIDECHAR */ + /* Version number of package */ #define VERSION "1.81.6" -/* Define to 1 if your processor stores words with the most significant byte - first (like Motorola and SPARC, unlike Intel and VAX). */ -/* #undef WORDS_BIGENDIAN */ +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ diff --git a/dist/nvi/ipc/ipc_gen.c b/external/bsd/nvi/usr.bin/nvi/ipc_gen.c similarity index 97% rename from dist/nvi/ipc/ipc_gen.c rename to external/bsd/nvi/usr.bin/nvi/ipc_gen.c index 6fdc31f57..cc43e819c 100644 --- a/dist/nvi/ipc/ipc_gen.c +++ b/external/bsd/nvi/usr.bin/nvi/ipc_gen.c @@ -1,5 +1,3 @@ -/* $NetBSD: ipc_gen.c,v 1.1.1.1 2008/05/18 14:31:25 aymeric Exp $ */ - /* Do not edit: automatically built by build/distrib. */ static int vi_c_bol(IPVIWIN *ipvi) @@ -19,11 +17,13 @@ vi_c_del(IPVIWIN *ipvi) return vi_send_(ipvi, VI_C_DEL); } +#if 0 static int vi_c_down(IPVIWIN *ipvi, u_int32_t val1) { return vi_send_1(ipvi, VI_C_DOWN, val1); } +#endif static int vi_c_eol(IPVIWIN *ipvi) @@ -43,6 +43,7 @@ vi_c_left(IPVIWIN *ipvi) return vi_send_(ipvi, VI_C_LEFT); } +#if 0 static int vi_c_pgdown(IPVIWIN *ipvi, u_int32_t val1) { @@ -54,6 +55,7 @@ vi_c_pgup(IPVIWIN *ipvi, u_int32_t val1) { return vi_send_1(ipvi, VI_C_PGUP, val1); } +#endif static int vi_c_right(IPVIWIN *ipvi) @@ -61,11 +63,13 @@ vi_c_right(IPVIWIN *ipvi) return vi_send_(ipvi, VI_C_RIGHT); } +#if 0 static int vi_c_search(IPVIWIN *ipvi, const char *stra, u_int32_t lena, u_int32_t val1) { return vi_send_a1(ipvi, VI_C_SEARCH, stra, lena, val1); } +#endif static int vi_c_settop(IPVIWIN *ipvi, u_int32_t val1) @@ -79,6 +83,7 @@ vi_c_top(IPVIWIN *ipvi) return vi_send_(ipvi, VI_C_TOP); } +#if 0 static int vi_c_up(IPVIWIN *ipvi, u_int32_t val1) { @@ -132,6 +137,7 @@ vi_mouse_move(IPVIWIN *ipvi, u_int32_t val1, u_int32_t val2) { return vi_send_12(ipvi, VI_MOUSE_MOVE, val1, val2); } +#endif static int vi_quit(IPVIWIN *ipvi) @@ -145,6 +151,7 @@ vi_resize(IPVIWIN *ipvi, u_int32_t val1, u_int32_t val2) return vi_send_12(ipvi, VI_RESIZE, val1, val2); } +#if 0 static int vi_sel_end(IPVIWIN *ipvi, u_int32_t val1, u_int32_t val2) { @@ -168,6 +175,7 @@ vi_sigterm(IPVIWIN *ipvi) { return vi_send_(ipvi, VI_SIGTERM); } +#endif static int vi_string(IPVIWIN *ipvi, const char *stra, u_int32_t lena) @@ -175,6 +183,7 @@ vi_string(IPVIWIN *ipvi, const char *stra, u_int32_t lena) return vi_send_a(ipvi, VI_STRING, stra, lena); } +#if 0 static int vi_tag(IPVIWIN *ipvi) { @@ -198,6 +207,7 @@ vi_undo(IPVIWIN *ipvi) { return vi_send_(ipvi, VI_UNDO); } +#endif static int vi_wq(IPVIWIN *ipvi) @@ -205,6 +215,7 @@ vi_wq(IPVIWIN *ipvi) return vi_send_(ipvi, VI_WQ); } +#if 0 static int vi_write(IPVIWIN *ipvi) { @@ -216,4 +227,4 @@ vi_writeas(IPVIWIN *ipvi, const char *stra, u_int32_t lena) { return vi_send_a(ipvi, VI_WRITEAS, stra, lena); } - +#endif diff --git a/usr.bin/nvi/build/pathnames.h b/external/bsd/nvi/usr.bin/nvi/pathnames.h similarity index 87% rename from usr.bin/nvi/build/pathnames.h rename to external/bsd/nvi/usr.bin/nvi/pathnames.h index 6dd0bf14e..a6012adc4 100644 --- a/usr.bin/nvi/build/pathnames.h +++ b/external/bsd/nvi/usr.bin/nvi/pathnames.h @@ -1,4 +1,4 @@ -/* Id: pathnames.h.in,v 8.5 2000/04/21 21:26:21 skimo Exp (Berkeley) Date: 2000/04/21 21:26:21 */ +/* $Id: pathnames.h,v 1.1 2013/11/22 16:00:45 christos Exp $ (Berkeley) $Date: 2013/11/22 16:00:45 $ */ #ifndef _PATH_BSHELL #define _PATH_BSHELL "/bin/sh" diff --git a/usr.bin/nvi/build/port.h b/external/bsd/nvi/usr.bin/nvi/port.h similarity index 96% rename from usr.bin/nvi/build/port.h rename to external/bsd/nvi/usr.bin/nvi/port.h index b7cf93a43..0965ceb2c 100644 --- a/usr.bin/nvi/build/port.h +++ b/external/bsd/nvi/usr.bin/nvi/port.h @@ -1,4 +1,4 @@ -/* Id: port.h.in,v 8.15 2001/01/01 20:26:48 skimo Exp (Berkeley) Date: 2001/01/01 20:26:48 */ +/* $Id: port.h,v 1.2 2013/11/29 22:56:19 christos Exp $ (Berkeley) $Date: 2013/11/29 22:56:19 $ */ /* * Declare the basic types, if they aren't already declared. Named and @@ -129,7 +129,7 @@ #define DB L__DB #undef pgno_t /* IRIX has its own version. */ #define pgno_t L__db_pgno_t -#endif /* USE_DB1 */ +#endif /* * XXX diff --git a/usr.bin/nvi/recover/Makefile b/external/bsd/nvi/usr.bin/recover/Makefile similarity index 59% rename from usr.bin/nvi/recover/Makefile rename to external/bsd/nvi/usr.bin/recover/Makefile index bdc8b5f2d..e8b451978 100644 --- a/usr.bin/nvi/recover/Makefile +++ b/external/bsd/nvi/usr.bin/recover/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: Makefile,v 1.1 2013/11/22 16:00:45 christos Exp $ SCRIPTS = virecover SCRIPTSDIR = /usr/libexec diff --git a/usr.bin/nvi/recover/virecover b/external/bsd/nvi/usr.bin/recover/virecover similarity index 94% rename from usr.bin/nvi/recover/virecover rename to external/bsd/nvi/usr.bin/recover/virecover index bd1c9850e..daed6b789 100644 --- a/usr.bin/nvi/recover/virecover +++ b/external/bsd/nvi/usr.bin/recover/virecover @@ -1,6 +1,6 @@ #!/bin/sh - # -# $NetBSD: virecover,v 1.1 2008/09/02 09:25:39 christos Exp $ +# $NetBSD: virecover,v 1.1 2013/11/22 16:00:45 christos Exp $ # # @(#)recover.in 8.8 (Berkeley) 10/10/96 # diff --git a/usr.bin/nvi/recover/virecover.8 b/external/bsd/nvi/usr.bin/recover/virecover.8 similarity index 96% rename from usr.bin/nvi/recover/virecover.8 rename to external/bsd/nvi/usr.bin/recover/virecover.8 index dafc3d11b..12fddd6c7 100644 --- a/usr.bin/nvi/recover/virecover.8 +++ b/external/bsd/nvi/usr.bin/recover/virecover.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: virecover.8,v 1.1 2008/09/02 09:25:39 christos Exp $ +.\" $NetBSD: virecover.8,v 1.1 2013/11/22 16:00:45 christos Exp $ .\" .\" Copyright (c) 2006 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -87,4 +87,4 @@ in 1996. It was renamed in 2001. .Sh AUTHORS This man page was written by -.An Jeremy C. Reed Aq reed@reedmedia.net . +.An Jeremy C. Reed Aq Mt reed@reedmedia.net . diff --git a/external/gpl3/Makefile b/external/gpl3/Makefile index 600035a31..1d455c3d0 100644 --- a/external/gpl3/Makefile +++ b/external/gpl3/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2012/08/10 16:05:26 joerg Exp $ +# $NetBSD: Makefile,v 1.8 2013/10/31 17:28:10 christos Exp $ .include @@ -7,7 +7,7 @@ SUBDIR+= binutils .endif .if ${MKGCC} != "no" -.if ${HAVE_GCC} == 45 +.if ${HAVE_GCC} >= 45 .if ${MKGCCCMDS} != "no" SUBDIR+= gcc .endif diff --git a/external/gpl3/gcc/files/arm-minix.h b/external/gpl3/gcc/files/arm-minix.h index a9ea11fcd..1a8f65a12 100644 --- a/external/gpl3/gcc/files/arm-minix.h +++ b/external/gpl3/gcc/files/arm-minix.h @@ -20,11 +20,13 @@ . */ #undef MINIX_TARGET_CPU_CPP_BUILTINS -#define MINIX_TARGET_CPU_CPP_BUILTINS() \ - do \ - { \ - TARGET_BPABI_CPP_BUILTINS(); \ - } \ +#define MINIX_TARGET_CPU_CPP_BUILTINS() \ + do \ + { \ + TARGET_BPABI_CPP_BUILTINS(); \ + if (ARM_EABI_UNWIND_TABLES) \ + builtin_define ("__UNWIND_TABLES__"); \ + } \ while (0) /* Define the actual types of some ANSI-mandated types. @@ -39,6 +41,27 @@ #undef WCHAR_TYPE #define WCHAR_TYPE "int" +#undef WINT_TYPE +#define WINT_TYPE "int" + +/* We don't have any limit on the length as out debugger is GDB. */ +#undef DBX_CONTIN_LENGTH + +/* NetBSD does its profiling differently to the Acorn compiler. We + don't need a word following the mcount call; and to skip it + requires either an assembly stub or use of fomit-frame-pointer when + compiling the profiling functions. Since we break Acorn CC + compatibility below a little more won't hurt. */ + +#undef ARM_FUNCTION_PROFILER +#define ARM_FUNCTION_PROFILER(STREAM,LABELNO) \ +{ \ + asm_fprintf (STREAM, "\tmov\t%Rip, %Rlr\n"); \ + asm_fprintf (STREAM, "\tbl\t__mcount%s\n", \ + (TARGET_ARM && NEED_PLT_RELOC) \ + ? "(PLT)" : ""); \ +} + /* VERY BIG NOTE: Change of structure alignment for NetBSD/arm. There are consequences you should be aware of... @@ -93,6 +116,13 @@ #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD #endif +#if defined(NETBSD_NATIVE) +/* LSC: On arm, when compiling statically, we need gcc_eh. */ +#undef MINIX_LINK_GCC_C_SEQUENCE_SPEC +#define MINIX_LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L -lgcc_eh %{static:--end-group}%{!static:%G}" +#endif /* defined(NETBSD_NATIVE) */ + /* Default to full VFP if -mhard-float is specified. */ #undef MINIX_SUBTARGET_ASM_FLOAT_SPEC #define MINIX_SUBTARGET_ASM_FLOAT_SPEC \ @@ -114,3 +144,7 @@ #undef TARGET_VERSION #define TARGET_VERSION fputs (" (MINIX/arm ELF EABI)", stderr); + +#undef ARM_EABI_UNWIND_TABLES +#define ARM_EABI_UNWIND_TABLES \ + ((!USING_SJLJ_EXCEPTIONS && flag_exceptions) || flag_unwind_tables) diff --git a/external/gpl3/gcc/files/minix-spec.h b/external/gpl3/gcc/files/minix-spec.h index 9ab2f53a4..57b4e7bfb 100644 --- a/external/gpl3/gcc/files/minix-spec.h +++ b/external/gpl3/gcc/files/minix-spec.h @@ -71,6 +71,26 @@ /* Define the default MINIX-specific per-CPU hook code. */ #define MINIX_TARGET_CPU_CPP_BUILTINS() do {} while (0) +/* Look for the include files in the system-defined places. */ + +#define MINIX_GPLUSPLUS_INCLUDE_DIR "/usr/include/g++" + +#define MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR "/usr/include/g++/backward" + +/* + * XXX figure out a better way to do this + */ +#define MINIX_GCC_INCLUDE_DIR "/usr/include/gcc-4.5" + +#define MINIX_INCLUDE_DEFAULTS \ + { \ + { MINIX_GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 1 }, \ + { MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 1 }, \ + { MINIX_GCC_INCLUDE_DIR, "GCC", 0, 0, 1 }, \ + { "/usr/include", "GCC", 0, 0, 1 }, \ + { 0, 0, 0, 0 } \ + } + /* Provide a CPP_SPEC appropriate for MINIX. We just deal with the GCC option `-posix'. */ #define MINIX_CPP_SPEC "%{posix:-D_POSIX_SOURCE}" @@ -90,8 +110,8 @@ * *crt*.o files is the /usr/lib directory. */ #define MINIX_STANDARD_STARTFILE_PREFIX "/usr/lib/" -/* suppress -lgcc - don't include %G (-lgcc) in the libraries */ -#define MINIX_LINK_GCC_C_SEQUENCE_SPEC "%L" +#define MINIX_LINK_GCC_C_SEQUENCE_SPEC \ + "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}" /* Provide a STARTFILE_SPEC appropriate for MINIX. Here we add the magical crtbegin.o file (see crtstuff.c) which provides part @@ -161,3 +181,5 @@ is built with the --enable-threads configure-time option.} \ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker %(minix_dynamic_linker) }} \ %{static:-Bstatic}}" + +#define MINIX_TARGET_UNWIND_TABLES_DEFAULT true diff --git a/external/gpl3/gcc/files/minix.h b/external/gpl3/gcc/files/minix.h index 64d671b75..cc162ff4c 100644 --- a/external/gpl3/gcc/files/minix.h +++ b/external/gpl3/gcc/files/minix.h @@ -42,6 +42,20 @@ Boston, MA 02110-1301, USA. */ #undef TARGET_OS_CPP_BUILTINS #define TARGET_OS_CPP_BUILTINS() MINIX_TARGET_OS_CPP_BUILTINS() +#if defined(NETBSD_NATIVE) +#undef GPLUSPLUS_INCLUDE_DIR +#define GPLUSPLUS_INCLUDE_DIR MINIX_GPLUSPLUS_INCLUDE_DIR + +#undef GPLUSPLUS_BACKWARD_INCLUDE_DIR +#define GPLUSPLUS_BACKWARD_INCLUDE_DIR MINIX_GPLUSPLUS_BACKWARD_INCLUDE_DIR + +#undef GCC_INCLUDE_DIR +#define GCC_INCLUDE_DIR MINIX_GCC_INCLUDE_DIR + +#undef INCLUDE_DEFAULTS +#define INCLUDE_DEFAULTS MINIX_INCLUDE_DEFAULTS +#endif /* defined(NETBSD_NATIVE) */ + #undef CPP_SPEC #define CPP_SPEC MINIX_CPP_SPEC @@ -116,3 +130,6 @@ Boston, MA 02110-1301, USA. */ #if defined(HAVE_LD_EH_FRAME_HDR) #define LINK_EH_SPEC "--eh-frame-hdr " #endif + +#undef TARGET_UNWIND_TABLES_DEFAULT +#define TARGET_UNWIND_TABLES_DEFAULT MINIX_TARGET_UNWIND_TABLES_DEFAULT diff --git a/external/gpl3/gcc/gcc2netbsd b/external/gpl3/gcc/gcc2netbsd new file mode 100755 index 000000000..9ea501ae1 --- /dev/null +++ b/external/gpl3/gcc/gcc2netbsd @@ -0,0 +1,71 @@ +#! /bin/sh +# +# $NetBSD: gcc2netbsd,v 1.2 2013/10/05 18:38:03 christos Exp $ +# +# Copyright (c) 2011 The NetBSD Foundation, 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: +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +# +# gcc2netbsd: convert a file source tree into a +# format suitable for import. Works on current dir. +# You can run this only once if you want it to work. +# +# based on file 2netbsd +# +PROG="$(basename "$0")" + +if [ -z "$1" ] +then + echo "Usage: $PROG " 1>&2 + exit 1 +fi +FILE="$1" + +### Remove the $'s around RCS tags +cleantags "$FILE" + +RM=" +gcc/java +gcc/ada +gcc/fortran +gcc/testsuite/ada +gcc/testsuite/gfortran.dg +gcc/testsuite/gfortran.fortran-torture +libffi +zlib +boehm-gc +libjava +libada +libgfortran +" + +find "$FILE" -name .cvsignore -exec rm -f {} + +find "$FILE" -name .gitignore -exec rm -f {} + +for i in $RM; do + rm -fr "$FILE/$i" +done + +echo You can import now. Use the following command: +echo cvs import src/external/gpl3/gcc/dist FSF gcc-X-Y-Z + +exit 0 diff --git a/external/gpl3/gcc/lib/Makefile b/external/gpl3/gcc/lib/Makefile index 23e61d796..b711bc077 100644 --- a/external/gpl3/gcc/lib/Makefile +++ b/external/gpl3/gcc/lib/Makefile @@ -1,10 +1,15 @@ -# $NetBSD: Makefile,v 1.4 2012/04/18 19:22:03 christos Exp $ +# $NetBSD: Makefile,v 1.6 2013/04/28 06:14:52 joerg Exp $ + +.include # crtstuff is built out of elsewhere, or not at all -SUBDIR+= libgcc libiberty libobjc libsupc++ libstdc++-v3 libgomp - +SUBDIR+= libgcc libiberty libobjc libgomp .if !defined(__MINIX) SUBDIR+= libmudflap libmudflapth .endif # !defined(__MINIX) +.if (${MKLIBSTDCXX} != "no") +SUBDIR+= libsupc++ libstdc++-v3 +.endif + .include diff --git a/external/gpl3/gcc/lib/Makefile.hacks b/external/gpl3/gcc/lib/Makefile.hacks index 425b4048e..ed6b486fd 100644 --- a/external/gpl3/gcc/lib/Makefile.hacks +++ b/external/gpl3/gcc/lib/Makefile.hacks @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.hacks,v 1.2 2011/07/03 07:23:19 mrg Exp $ +# $NetBSD: Makefile.hacks,v 1.3 2013/05/01 19:56:47 matt Exp $ # some random crap we need in a few places @@ -14,7 +14,7 @@ CLEANFILES+= ${FAKEHEADERS} # one here to help build libs before gcc itself is built. # XXX arm hack -.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb" || ${MACHINE_ARCH} == "earm" +.if ${MACHINE_CPU} == "arm" ${OBJS}: insn-modes.h # XXX XXX ${__DPSRCS.d}: insn-modes.h diff --git a/external/gpl3/gcc/lib/crtstuff/arch/alpha.mk b/external/gpl3/gcc/lib/crtstuff/arch/alpha.mk index 444a58b9b..e1d498636 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/alpha.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/alpha.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/arm.mk b/external/gpl3/gcc/lib/crtstuff/arch/arm.mk index 444a58b9b..e1d498636 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/arm.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/arm.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/armeb.mk b/external/gpl3/gcc/lib/crtstuff/arch/armeb.mk index de55d9a49..36bd229ed 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/armeb.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/armeb.mk @@ -1,11 +1,11 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC -G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_ENDIAN_DEFAULT=MASK_BIG_END +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 G_xm_file= G_xm_defines= diff --git a/external/gpl3/gcc/lib/crtstuff/arch/coldfire.mk b/external/gpl3/gcc/lib/crtstuff/arch/coldfire.mk new file mode 100644 index 000000000..793577388 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/coldfire.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS MOTOROLA=1 USE_GAS=1 +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earm.mk b/external/gpl3/gcc/lib/crtstuff/arch/earm.mk index 28d68250c..b82440b5c 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/earm.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/earm.mk @@ -1,10 +1,11 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= -G_tm_defines=NETBSD_ENABLE_PTHREADS +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines= G_xm_file= G_xm_defines= diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmeb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmeb.mk new file mode 100644 index 000000000..36bd229ed --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmeb.mk @@ -0,0 +1,11 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_xm_file= +G_xm_defines= diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmhf.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmhf.mk new file mode 100644 index 000000000..6b2a374ee --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmhf.mk @@ -0,0 +1,11 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_xm_file= +G_xm_defines= diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmhfeb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmhfeb.mk new file mode 100644 index 000000000..faceb3d65 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmhfeb.mk @@ -0,0 +1,11 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_xm_file= +G_xm_defines= diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv4.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv4.mk new file mode 100644 index 000000000..d901710ac --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv4.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv4eb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv4eb.mk new file mode 100644 index 000000000..2c2f9419c --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv4eb.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv6.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv6.mk new file mode 100644 index 000000000..6735a4ae2 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv6.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv6eb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv6eb.mk new file mode 100644 index 000000000..ca51ed59c --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv6eb.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv6hf.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv6hf.mk new file mode 100644 index 000000000..58a3a350c --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv6hf.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv6hfeb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv6hfeb.mk new file mode 100644 index 000000000..722fa9d74 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv6hfeb.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv7.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv7.mk new file mode 100644 index 000000000..a655a1515 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv7.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv7eb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv7eb.mk new file mode 100644 index 000000000..7981ec411 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv7eb.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv7hf.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv7hf.mk new file mode 100644 index 000000000..d4803adae --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv7hf.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/earmv7hfeb.mk b/external/gpl3/gcc/lib/crtstuff/arch/earmv7hfeb.mk new file mode 100644 index 000000000..07f1f7d74 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/earmv7hfeb.mk @@ -0,0 +1,13 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_xm_file= +G_xm_defines= +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/crtstuff/arch/hppa.mk b/external/gpl3/gcc/lib/crtstuff/arch/hppa.mk index ba49febcc..ee63fd038 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/hppa.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/hppa.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S=-fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/i386.mk b/external/gpl3/gcc/lib/crtstuff/arch/i386.mk index fc4dd883f..befd6b683 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/i386.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/i386.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= -fno-omit-frame-pointer -fno-asynchronous-unwind-tables G_CRTSTUFF_T_CFLAGS_S= -fno-omit-frame-pointer -fno-asynchronous-unwind-tables -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/ia64.mk b/external/gpl3/gcc/lib/crtstuff/arch/ia64.mk new file mode 100644 index 000000000..3ef0693c0 --- /dev/null +++ b/external/gpl3/gcc/lib/crtstuff/arch/ia64.mk @@ -0,0 +1,11 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_CRTSTUFF_T_CFLAGS= +G_CRTSTUFF_T_CFLAGS_S= -fPIC +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_xm_file= +G_xm_defines= diff --git a/external/gpl3/gcc/lib/crtstuff/arch/m68000.mk b/external/gpl3/gcc/lib/crtstuff/arch/m68000.mk index 86b059832..a4f5735f5 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/m68000.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/m68000.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= G_tm_defines=NETBSD_ENABLE_PTHREADS MOTOROLA=1 USE_GAS=1 diff --git a/external/gpl3/gcc/lib/crtstuff/arch/m68k.mk b/external/gpl3/gcc/lib/crtstuff/arch/m68k.mk index 50890b7d7..c9898116e 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/m68k.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/m68k.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS MOTOROLA=1 USE_GAS=1 diff --git a/external/gpl3/gcc/lib/crtstuff/arch/mips64eb.mk b/external/gpl3/gcc/lib/crtstuff/arch/mips64eb.mk index ffba2f808..e46b30244 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/mips64eb.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/mips64eb.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS MIPS_ABI_DEFAULT=ABI_N32 diff --git a/external/gpl3/gcc/lib/crtstuff/arch/mips64el.mk b/external/gpl3/gcc/lib/crtstuff/arch/mips64el.mk index f231de8fd..5db0b20db 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/mips64el.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/mips64el.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=TARGET_ENDIAN_DEFAULT=0 NETBSD_ENABLE_PTHREADS MIPS_ABI_DEFAULT=ABI_N32 diff --git a/external/gpl3/gcc/lib/crtstuff/arch/mipseb.mk b/external/gpl3/gcc/lib/crtstuff/arch/mipseb.mk index 444a58b9b..e1d498636 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/mipseb.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/mipseb.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/mipsel.mk b/external/gpl3/gcc/lib/crtstuff/arch/mipsel.mk index d011ed4b3..93c5d2258 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/mipsel.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/mipsel.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=TARGET_ENDIAN_DEFAULT=0 NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/powerpc.mk b/external/gpl3/gcc/lib/crtstuff/arch/powerpc.mk index 129200299..71c5b6d9a 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/powerpc.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/powerpc.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= -msdata=none G_CRTSTUFF_T_CFLAGS_S= -msdata=none -fPIC -msdata=none G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/sh3eb.mk b/external/gpl3/gcc/lib/crtstuff/arch/sh3eb.mk index cd3d343e9..c58d80cc7 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/sh3eb.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/sh3eb.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S=-fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS SH_MULTILIB_CPU_DEFAULT="m3" SUPPORT_SH3=1 SUPPORT_SH3=1 SUPPORT_SH3E=1 SUPPORT_SH4=1 diff --git a/external/gpl3/gcc/lib/crtstuff/arch/sh3el.mk b/external/gpl3/gcc/lib/crtstuff/arch/sh3el.mk index cd3d343e9..c58d80cc7 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/sh3el.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/sh3el.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S=-fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS SH_MULTILIB_CPU_DEFAULT="m3" SUPPORT_SH3=1 SUPPORT_SH3=1 SUPPORT_SH3E=1 SUPPORT_SH4=1 diff --git a/external/gpl3/gcc/lib/crtstuff/arch/sparc.mk b/external/gpl3/gcc/lib/crtstuff/arch/sparc.mk index 444a58b9b..e1d498636 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/sparc.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/sparc.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/sparc64.mk b/external/gpl3/gcc/lib/crtstuff/arch/sparc64.mk index 444a58b9b..e1d498636 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/sparc64.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/sparc64.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/vax.mk b/external/gpl3/gcc/lib/crtstuff/arch/vax.mk index 444a58b9b..e1d498636 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/vax.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/vax.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= G_CRTSTUFF_T_CFLAGS_S= -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/crtstuff/arch/x86_64.mk b/external/gpl3/gcc/lib/crtstuff/arch/x86_64.mk index fc4dd883f..befd6b683 100644 --- a/external/gpl3/gcc/lib/crtstuff/arch/x86_64.mk +++ b/external/gpl3/gcc/lib/crtstuff/arch/x86_64.mk @@ -1,9 +1,9 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_CRTSTUFF_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -g0 -finhibit-size-directive -fno-inline -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize G_CRTSTUFF_T_CFLAGS= -fno-omit-frame-pointer -fno-asynchronous-unwind-tables G_CRTSTUFF_T_CFLAGS_S= -fno-omit-frame-pointer -fno-asynchronous-unwind-tables -fPIC G_tm_defines=NETBSD_ENABLE_PTHREADS diff --git a/external/gpl3/gcc/lib/libgcc/Makefile b/external/gpl3/gcc/lib/libgcc/Makefile index 871d3d21d..20ed1643f 100644 --- a/external/gpl3/gcc/lib/libgcc/Makefile +++ b/external/gpl3/gcc/lib/libgcc/Makefile @@ -1,17 +1,23 @@ -# $NetBSD: Makefile,v 1.1 2011/06/21 06:02:25 mrg Exp $ - -SUBDIR+= libgcc +# $NetBSD: Makefile,v 1.2 2013/08/22 00:16:54 matt Exp $ .include -.if ${MKGCCCMDS} == "yes" +SUBDIR+= libgcc + +.if defined(__MINIX) && ${MKGCCCMDS} == "yes" + +.if ${MKPIC} != "no" || ${MACHINE_ARCH} == "earm" +SUBDIR+= libgcc_eh +.endif + +SUBDIR+= libgcc_s + +.else .if ${MKPIC} != "no" SUBDIR+= libgcc_eh libgcc_s .endif -.endif # ${MKGCCCMDS} == "yes" -.if !defined(__MINIX) SUBDIR+= libgcov -.endif # !defined(__MINIX) +.endif # defined(__MINIX) && ${MKGCCCMDS} == "yes" .include diff --git a/external/gpl3/gcc/lib/libgcc/Makefile.inc b/external/gpl3/gcc/lib/libgcc/Makefile.inc index e290d6135..7300a3132 100644 --- a/external/gpl3/gcc/lib/libgcc/Makefile.inc +++ b/external/gpl3/gcc/lib/libgcc/Makefile.inc @@ -1,8 +1,9 @@ -# $NetBSD: Makefile.inc,v 1.15 2012/08/29 03:12:08 msaitoh Exp $ +# $NetBSD: Makefile.inc,v 1.21 2013/08/22 00:16:54 matt Exp $ .if ${MKGCC} != "no" -.if exists(${.CURDIR}/../arch/${MACHINE_ARCH}.mk) -.include "${.CURDIR}/../arch/${MACHINE_ARCH}.mk" +LIBGCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/} +.if exists(${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}.mk) +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}.mk" .endif .endif @@ -10,9 +11,9 @@ UNSUPPORTED_COMPILER.clang= # defined DIST= ${NETBSDSRCDIR}/external/gpl3/gcc/dist GNUHOSTDIST= ${DIST} -GCCARCH= ${NETBSDSRCDIR}/external/gpl3/gcc/usr.bin/gcc/arch/${MACHINE_ARCH} -GCCARCHLIBGCC= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libgcc/arch/${MACHINE_ARCH} -GCCARCHXX= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libstdc++-v3/arch/${MACHINE_ARCH} +GCCARCH= ${NETBSDSRCDIR}/external/gpl3/gcc/usr.bin/gcc/arch/${LIBGCC_MACHINE_ARCH} +GCCARCHLIBGCC= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libgcc/arch/${LIBGCC_MACHINE_ARCH} +GCCARCHXX= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libstdc++-v3/arch/${LIBGCC_MACHINE_ARCH} GCPPFLAGS= ${G_LIBGCC2_CFLAGS} ${G_USE_COLLECT2} ${G_INCLUDES} CPPFLAGS+= -I${.CURDIR} -I${GCCARCHLIBGCC} @@ -21,10 +22,10 @@ CPPFLAGS+= ${GCPPFLAGS:M-m*} ${GCPPFLAGS:M-f*} CPPFLAGS+= ${G_EXTRA_HEADERS:M/*:H:u:S/^/-I/g} CPPFLAGS+= -I${DIST} -I${DIST}/gcc/cp -I${DIST}/gcc/config -I${GCCARCHXX} -I. -.if ${MACHINE_ARCH} == "powerpc" || \ - ${MACHINE_ARCH} == "sh3el" || \ - ${MACHINE_ARCH} == "sh3eb" || \ - ${MACHINE_ARCH} == "m68000" +.if ${LIBGCC_MACHINE_ARCH} == "powerpc" || \ + ${LIBGCC_MACHINE_ARCH} == "sh3el" || \ + ${LIBGCC_MACHINE_ARCH} == "sh3eb" || \ + ${LIBGCC_MACHINE_ARCH} == "m68000" _TRADITIONAL_CPP= COMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c .endif @@ -44,6 +45,15 @@ LIB2FUNCS_ALL= \ _mulsc3 _muldc3 _mulxc3 _multc3 _divsc3 _divdc3 _divxc3 \ _divtc3 _bswapsi2 _bswapdi2 +.if ${LIBGCC_MACHINE_ARCH} != "coldfire" && empty(LIBGCC_MACHINE_ARCH:Mearm*) + +LIB2FUNCS_ALL+= \ + _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 + +.endif + +.if ${LIBGCC_MACHINE_ARCH} != "coldfire" && empty(LIBGCC_MACHINE_ARCH:Mearm*) + # non swfloat versions .for _p in _fix _fixuns . for _m in sf df xf tf @@ -60,6 +70,7 @@ LIB2FUNCS_ALL+= ${_p}di${_m} .for _m in sf df xf LIB2FUNCS_ALL+= _fixuns${_m}si .endfor +.endif LIB2FUNCS_SHORT:=${LIB2FUNCS_ALL} LIB2_DIVMOD_FUNCS:=${G_LIB2_DIVMOD_FUNCS} @@ -77,7 +88,7 @@ LIB2_EHASM= ${G_LIB2ADDEH:M*.S:T} LIB1ASMFUNCS= ${G_LIB1ASMFUNCS:=.S} .endif -DPSRCS+= ${.CURDIR}/../arch/${MACHINE_ARCH}.mk +DPSRCS+= ${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}.mk CLEANFILES+= ${LIB2FUNCS} ${LIB2FUNCS_ST} ${LIB2DIVMOD} cs-tconfig.h .if !empty(G_LIB1ASMFUNCS) CLEANFILES+= ${LIB1ASMFUNCS} @@ -88,14 +99,14 @@ BUILDSYMLINKS+= ${file} ${file:T:S/.asm$/.S/} .endfor # XXX -.if (${MACHINE_ARCH} == "m68000" || ${MACHINE_ARCH} == "m68k") +.if (${LIBGCC_MACHINE_ARCH} == "m68000" || ${LIBGCC_MACHINE_ARCH} == "m68k") CPICFLAGS:= BUILDSYMLINKS+= ${DIST}/gcc/config/m68k/fpgnulib.c fpgnulib.c BUILDSYMLINKS+= ${DIST}/gcc/config/m68k/fpgnulib.c xfgnulib.c CPPFLAGS.xfgnulib.c+=-DEXTFLOAT=1 .endif -.if ${MACHINE_ARCH} == "powerpc64" +.if ${LIBGCC_MACHINE_ARCH} == "powerpc64" COPTS+= -mlong-double-128 .endif @@ -138,12 +149,12 @@ dp-bit.c: ${.CURDIR}/Makefile # .PATH: ${DIST}/gcc ${DIST}/gcc/cp ${DIST}/gcc/cp/inc ${DIST}/gcc/config \ - ${G_CONFIGDIR} ${G_LIB2ADD:H:O:u} + ${G_LIB2ADD:H:O:u} ${G_LIB2ADDEH:H:O:u} .include "../Makefile.tconfigh" DPSRCS+= tconfig.h -.if ${MKGCC} != "no" +.if ${MKGCC} != "no" && defined(G_UNWIND_H) && !empty(G_UNWIND_H) # XXX figure out why Makefile.hacks doesn't work BUILDSYMLINKS+= ${G_UNWIND_H} unwind.h DPSRCS+= unwind.h @@ -158,7 +169,7 @@ DPSRCS+= ${FAKEHEADERS} CLEANFILES+= ${FAKEHEADERS} # XXX arm hack -.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb" || ${MACHINE_ARCH} == "earm" +.if !empty(LIBGCC_MACHINE_ARCH:M*arm*) ${SRCS}: insn-modes.h # XXX XXX ${__DPSRCS.d}: insn-modes.h @@ -170,6 +181,6 @@ CLEANFILES+= insn-modes.h .endif # XXX -.if defined(HAVE_GCC) && ${HAVE_GCC} == 45 && ${MACHINE_ARCH} == "m68k" +.if defined(HAVE_GCC) && ${HAVE_GCC} == 45 && ${LIBGCC_MACHINE_ARCH} == "m68k" COPTS._fixunsxfdi.c+= -O0 .endif diff --git a/external/gpl3/gcc/lib/libgcc/Makefile.srcs b/external/gpl3/gcc/lib/libgcc/Makefile.srcs index cbf14ce24..36f6a87aa 100644 --- a/external/gpl3/gcc/lib/libgcc/Makefile.srcs +++ b/external/gpl3/gcc/lib/libgcc/Makefile.srcs @@ -1,13 +1,13 @@ -# $NetBSD: Makefile.srcs,v 1.1 2011/06/21 06:02:25 mrg Exp $ +# $NetBSD: Makefile.srcs,v 1.2 2013/08/22 00:16:54 matt Exp $ # # Generated makefiles. # -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/srcs.tmplsrcs.mk" -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/srcs.cppflags.mk" -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/srcs.copts.mk" -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/libs.lib${LIB}.srcs.mk" -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/libs.lib${LIB}.tmplsrcs.tmplsrcs.mk" -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/libs.lib${LIB}.tmplsrcs.tmplfpsrcs.mk" -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/libs.lib${LIB}.tmplsrcs.tmplasmsrcs.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/srcs.tmplsrcs.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/srcs.cppflags.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/srcs.copts.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/libs.lib${LIB}.srcs.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/libs.lib${LIB}.tmplsrcs.tmplsrcs.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/libs.lib${LIB}.tmplsrcs.tmplfpsrcs.mk" +.include "${.CURDIR}/../arch/${LIBGCC_MACHINE_ARCH}/libs.lib${LIB}.tmplsrcs.tmplasmsrcs.mk" diff --git a/external/gpl3/gcc/lib/libgcc/arch/alpha.mk b/external/gpl3/gcc/lib/libgcc/arch/alpha.mk index d2e7fc845..d21af095e 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/alpha.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/alpha.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=${GNUHOSTDIST}/gcc/config/alpha/qrnnd.asm G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/arm.mk b/external/gpl3/gcc/lib/libgcc/arch/arm.mk index 8480f4b0d..50db766d7 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/arm.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/arm.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=${GNUHOSTDIST}/gcc/config/floatunsidf.c ${GNUHOSTDIST}/gcc/config/floatunsisf.c G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/armeb.mk b/external/gpl3/gcc/lib/libgcc/arch/armeb.mk index e7359d4c9..d4328b5fd 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/armeb.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/armeb.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=${GNUHOSTDIST}/gcc/config/floatunsidf.c ${GNUHOSTDIST}/gcc/config/floatunsisf.c G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= @@ -18,7 +18,7 @@ G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver G_SHLIB_NM_FLAGS=-pg G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h G_xm_defines= -G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_ENDIAN_DEFAULT=MASK_BIG_END +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 G_COLLECT2=collect2 G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h G_xm_include_list=auto-host.h ansidecl.h diff --git a/external/gpl3/gcc/lib/libgcc/arch/coldfire.mk b/external/gpl3/gcc/lib/libgcc/arch/coldfire.mk new file mode 100644 index 000000000..aee4d51b8 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/coldfire.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD= +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS= +G_LIB1ASMSRC= +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA= +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/m68k/math-68881.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS MOTOROLA=1 USE_GAS=1 +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earm.mk b/external/gpl3/gcc/lib/libgcc/arch/earm.mk index 7005468a2..3815aaeb2 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/earm.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/earm.mk @@ -1,17 +1,17 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/bpabi-netbsd.c ${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= -G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _lshrdi3 _ashrdi3 _ashldi3 _arm_negdf2 _arm_addsubdf3 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 _arm_negsf2 _arm_addsubsf3 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi _arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf _clzsi2 _clzdi2 _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod _floatundisf +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 G_LIB1ASMSRC=arm/lib1funcs.asm G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 G_LIB2FUNCS_ST=_eprintf __gcc_bcmp -G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/bpabi-netbsd.c ${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c -G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fno-inline -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk G_SHLIB_MKMAP_OPTS= G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmeb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmeb.mk new file mode 100644 index 000000000..0ccd1fb48 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmeb.mk @@ -0,0 +1,24 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmhf.mk b/external/gpl3/gcc/lib/libgcc/arch/earmhf.mk new file mode 100644 index 000000000..842c1899b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmhf.mk @@ -0,0 +1,24 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmhfeb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmhfeb.mk new file mode 100644 index 000000000..6a842bd68 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmhfeb.mk @@ -0,0 +1,24 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv4.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv4.mk new file mode 100644 index 000000000..ad1d2f5d1 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv4.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv4eb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv4eb.mk new file mode 100644 index 000000000..224f2e4f4 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv4eb.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv6.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv6.mk new file mode 100644 index 000000000..39ecd6acf --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv6.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv6eb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv6eb.mk new file mode 100644 index 000000000..63263fb89 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv6eb.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv6hf.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv6hf.mk new file mode 100644 index 000000000..824f0c27e --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv6hf.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv6hfeb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv6hfeb.mk new file mode 100644 index 000000000..871e26a18 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv6hfeb.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv7.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv7.mk new file mode 100644 index 000000000..e9e1c10ed --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv7.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv7eb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv7eb.mk new file mode 100644 index 000000000..6ab8bedaf --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv7eb.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv7hf.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv7hf.mk new file mode 100644 index 000000000..c943c9ad9 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv7hf.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/earmv7hfeb.mk b/external/gpl3/gcc/lib/libgcc/arch/earmv7hfeb.mk new file mode 100644 index 000000000..9dbd8bb94 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/earmv7hfeb.mk @@ -0,0 +1,26 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_LIB2ADD=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.c ${GNUHOSTDIST}/gcc/config/arm/libunwind.S ${GNUHOSTDIST}/gcc/config/arm/pr-support.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=_thumb1_case_sqi _thumb1_case_uqi _thumb1_case_shi _thumb1_case_uhi _thumb1_case_si _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX _clzsi2 _clzdi2 +G_LIB1ASMSRC=arm/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA=${GNUHOSTDIST}/gcc/config/arm/unaligned-funcs.c +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/arm/libgcc-bpabi.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/arm/mmintrin.h ${GNUHOSTDIST}/gcc/config/arm/arm_neon.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +G_xm_include_list=auto-host.h ansidecl.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/arch/hppa.mk b/external/gpl3/gcc/lib/libgcc/arch/hppa.mk index dc9cf5af1..ee278d88e 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/hppa.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/hppa.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=${GNUHOSTDIST}/gcc/config/pa/fptr.c G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/i386.mk b/external/gpl3/gcc/lib/libgcc/arch/i386.mk index a51017546..974a1435c 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/i386.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/i386.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/ia64.mk b/external/gpl3/gcc/lib/libgcc/arch/ia64.mk new file mode 100644 index 000000000..4cffa0659 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/arch/ia64.mk @@ -0,0 +1,24 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_LIB2ADD= +G_LIB2ADDEH=${GNUHOSTDIST}/gcc/config/ia64/unwind-ia64.c ${GNUHOSTDIST}/gcc/config/ia64/fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/unwind-c.c +G_LIB2ADD_ST= +G_LIB1ASMFUNCS=__divxf3 __divdf3 __divsf3 __divdi3 __moddi3 __udivdi3 __umoddi3 __divsi3 __modsi3 __udivsi3 __umodsi3 __save_stack_nonlocal __nonlocal_goto __restore_stack_nonlocal __trampoline _fixtfdi _fixunstfdi _floatditf +G_LIB1ASMSRC=ia64/lib1funcs.asm +G_LIB2_DIVMOD_FUNCS=_divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4 +G_LIB2FUNCS_ST=_eprintf __gcc_bcmp +G_LIB2FUNCS_EXTRA= +G_LIBGCC2_CFLAGS=-O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED +G_SHLIB_MKMAP=${GNUHOSTDIST}/gcc/mkmap-symver.awk +G_SHLIB_MKMAP_OPTS= +G_SHLIB_MAPFILES=${GNUHOSTDIST}/gcc/libgcc-std.ver ${GNUHOSTDIST}/gcc/config/ia64/libgcc-ia64.ver +G_SHLIB_NM_FLAGS=-pg +G_EXTRA_HEADERS=${GNUHOSTDIST}/gcc/config/ia64/ia64intrin.h ${GNUHOSTDIST}/gcc/ginclude/tgmath.h +G_xm_defines= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_COLLECT2=collect2 +G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h +G_xm_include_list=auto-host.h ansidecl.h diff --git a/external/gpl3/gcc/lib/libgcc/arch/m68000.mk b/external/gpl3/gcc/lib/libgcc/arch/m68000.mk index d2caba5d4..7a86b52a3 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/m68000.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/m68000.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=fpgnulib.c xfgnulib.c G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/m68k.mk b/external/gpl3/gcc/lib/libgcc/arch/m68k.mk index 2e10c673d..6a8db3067 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/m68k.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/m68k.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=fpgnulib.c xfgnulib.c G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/mips64eb.mk b/external/gpl3/gcc/lib/libgcc/arch/mips64eb.mk index fd5c57f38..acbbfc5df 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/mips64eb.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/mips64eb.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/mips64el.mk b/external/gpl3/gcc/lib/libgcc/arch/mips64el.mk index 52cebdd82..5e2b157f4 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/mips64el.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/mips64el.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/mipseb.mk b/external/gpl3/gcc/lib/libgcc/arch/mipseb.mk index 0a7a25b66..1d0e47ec4 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/mipseb.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/mipseb.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/mipsel.mk b/external/gpl3/gcc/lib/libgcc/arch/mipsel.mk index 01b58cf55..15a3596b9 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/mipsel.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/mipsel.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/powerpc.mk b/external/gpl3/gcc/lib/libgcc/arch/powerpc.mk index 03476ebd7..ecf9fb31d 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/powerpc.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/powerpc.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD=${GNUHOSTDIST}/gcc/config/rs6000/tramp.asm G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST=crtsavfpr.S crtresfpr.S crtsavgpr.S crtresgpr.S crtresxfpr.S crtresxgpr.S diff --git a/external/gpl3/gcc/lib/libgcc/arch/sh3eb.mk b/external/gpl3/gcc/lib/libgcc/arch/sh3eb.mk index 53aed737f..9737082a9 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/sh3eb.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/sh3eb.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/sh3el.mk b/external/gpl3/gcc/lib/libgcc/arch/sh3el.mk index 53aed737f..9737082a9 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/sh3el.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/sh3el.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/sparc.mk b/external/gpl3/gcc/lib/libgcc/arch/sparc.mk index 9a87c6191..894f5fb52 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/sparc.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/sparc.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/sparc64.mk b/external/gpl3/gcc/lib/libgcc/arch/sparc64.mk index 9a87c6191..894f5fb52 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/sparc64.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/sparc64.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/vax.mk b/external/gpl3/gcc/lib/libgcc/arch/vax.mk index 9a87c6191..894f5fb52 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/vax.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/vax.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/arch/x86_64.mk b/external/gpl3/gcc/lib/libgcc/arch/x86_64.mk index 34a464833..882ea90f7 100644 --- a/external/gpl3/gcc/lib/libgcc/arch/x86_64.mk +++ b/external/gpl3/gcc/lib/libgcc/arch/x86_64.mk @@ -1,8 +1,8 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_LIB2ADD= G_LIB2ADDEH=${GNUHOSTDIST}/gcc/unwind-dw2.c ${GNUHOSTDIST}/gcc/unwind-dw2-fde-glibc.c ${GNUHOSTDIST}/gcc/unwind-sjlj.c ${GNUHOSTDIST}/gcc/gthr-gnat.c ${GNUHOSTDIST}/gcc/unwind-c.c G_LIB2ADD_ST= diff --git a/external/gpl3/gcc/lib/libgcc/libgcc/Makefile b/external/gpl3/gcc/lib/libgcc/libgcc/Makefile index 097ec679e..102e1bfd6 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcc/Makefile +++ b/external/gpl3/gcc/lib/libgcc/libgcc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10 2012/08/06 02:34:28 matt Exp $ +# $NetBSD: Makefile,v 1.16 2013/10/02 18:25:43 christos Exp $ REQUIRETOOLS= yes NOLINT= # defined @@ -11,6 +11,8 @@ LIB= gcc .if ${MKGCC} != "no" +.include + .cc: # disable .cc->NULL transform # XXX handle this better? @@ -23,9 +25,10 @@ SRCS+= ${LIB2FUNCS} ${LIB2FUNCS_ST} ${LIB2DIVMOD} \ ${G_LIB2ADD_HACK:T:S/.asm/.S/} ${G_LIB2ADD:T:S/.asm/.S/} \ ${G_LIB2ADD_ST} ${LIB1ASMFUNCS} .if ${MKPIC} == "no" -.if ${MACHINE_ARCH} != "earm" && ${MACHINE_ARCH} != "earmeb" +.if empty(LIBGCC_MACHINE_ARCH:Mearm*) SRCS+= ${LIB2_EH} ${LIB2_EHASM} .endif +PICFLAGS= .else CPPFLAGS+= -DPIC .endif @@ -34,7 +37,7 @@ CPPFLAGS+= -DPIC # gcc/config/$PLATFORM/foo.asm to it. So far, only rs6000 uses it, # so we hack it for now. #.for file in ${G_LIB2ADD_ST} -. if ${MACHINE_ARCH} == "powerpc" # XXX XXX why does the above work?* +. if ${LIBGCC_MACHINE_ARCH} == "powerpc" # XXX XXX why does the above work?* .for file in crtsavfpr.S crtresfpr.S crtsavgpr.S crtresgpr.S crtresxfpr.S crtresxgpr.S BUILDSYMLINKS+= ${GNUHOSTDIST}/gcc/config/rs6000/${file:S/.S$/.asm/} ${file} .endfor @@ -67,10 +70,10 @@ CLEANFILES+= ${SOBJS:=.tmp1} ${SOBJS:=.tmp2} .S.o .s.o: ${_MKTARGET_COMPILE} - ${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${.IMPSRC} -o ${.TARGET}.tmp1 + ${COMPILE.S} ${PICFLAGS} ${CFLAGS:M-[ID]*} ${.IMPSRC} -o ${.TARGET}.tmp1 ${NM} -pg ${.TARGET}.tmp1 | \ ${TOOL_AWK} 'NF == 3 { print "\t.hidden", $$3 }' | \ - ${CC} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler - + ${CC} ${COPTS} -Wl,-x -r -nostdinc -nostdlib -o ${.TARGET}.tmp2 ${.TARGET}.tmp1 -xassembler - .if defined(COPTS) && !empty(COPTS:M*-g*) mv ${.TARGET}.tmp2 ${.TARGET} .else diff --git a/external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile b/external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile index 65efc8db5..725256333 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile +++ b/external/gpl3/gcc/lib/libgcc/libgcc_s/Makefile @@ -5,7 +5,9 @@ REQUIRETOOLS= yes NOLINT= # defined LIB= gcc_s +.if !defined(__MINIX) NOSTATICLIB= # defined +.endif # !defined(__MINIX) NOPROFILE= # defined NOPICINSTALL= # defined diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/Makefile b/external/gpl3/gcc/lib/libgcc/libgcov/Makefile index ea17154df..6f829fbe0 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/Makefile +++ b/external/gpl3/gcc/lib/libgcc/libgcov/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.2 2011/08/15 09:19:21 mrg Exp $ +# $NetBSD: Makefile,v 1.5 2013/08/22 00:16:54 matt Exp $ REQUIRETOOLS= yes NOPIC= # defined @@ -8,17 +8,18 @@ NOLINT= # defined LIB= gcov .include +.include .if ${MKGCC} != "no" -.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/arch/${LIBGCC_MACHINE_ARCH}/defs.mk" LIBGCOVSRCS= ${G_LIBGCOV:=.c} -CPPFLAGS+= -I${.CURDIR}/arch/${MACHINE_ARCH} +CPPFLAGS+= -I${.CURDIR}/arch/${LIBGCC_MACHINE_ARCH} CPPFLAGS+= -Wno-stack-protector -DPSRCS+= ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk +DPSRCS+= ${.CURDIR}/arch/${LIBGCC_MACHINE_ARCH}/defs.mk SRCS+= ${LIBGCOVSRCS} CLEANFILES+= ${LIBGCOVSRCS} @@ -27,6 +28,11 @@ ${LIBGCOVSRCS}: ${.CURDIR}/Makefile ${_MKTARGET_CREATE} printf '#define L${.PREFIX}\n#include \n' >${.TARGET} +.if defined(__MINIX) +NOCLANGERROR= yes +NOGCCERROR= yes +.endif # defined(__MINIX) + .include .else .include # do nothing diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/defs.mk new file mode 100644 index 000000000..2da09aebe --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/gcov-iov.h new file mode 100644 index 000000000..143cdfbe3 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/coldfire/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk index 63ea7704f..660345a7d 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h index 143cdfbe3..abf49f48b 100644 --- a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earm/gcov-iov.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically by the program `build/gcov-iov' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/defs.mk new file mode 100644 index 000000000..75eb7023f --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/defs.mk @@ -0,0 +1,5 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmeb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/defs.mk new file mode 100644 index 000000000..75eb7023f --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/defs.mk @@ -0,0 +1,5 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhf/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/defs.mk new file mode 100644 index 000000000..a661d4495 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/defs.mk @@ -0,0 +1,5 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h new file mode 100644 index 000000000..f90a90015 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmhfeb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/defs.mk new file mode 100644 index 000000000..6e5a0712e --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/defs.mk new file mode 100644 index 000000000..39b730061 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv4eb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/defs.mk new file mode 100644 index 000000000..54573bd49 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/defs.mk new file mode 100644 index 000000000..330ffb0cf --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6eb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/defs.mk new file mode 100644 index 000000000..3899597ab --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hf/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/defs.mk new file mode 100644 index 000000000..285b91199 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv6hfeb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/defs.mk new file mode 100644 index 000000000..48ffc0953 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/defs.mk new file mode 100644 index 000000000..41fd3fcb3 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7eb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/defs.mk new file mode 100644 index 000000000..16cf9010a --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hf/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/defs.mk new file mode 100644 index 000000000..4a57bcc75 --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/defs.mk @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h new file mode 100644 index 000000000..82b879e3b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/earmv7hfeb/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/defs.mk b/external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/defs.mk new file mode 100644 index 000000000..75eb7023f --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/defs.mk @@ -0,0 +1,5 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBGCOV=_gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta _gcov_fork _gcov_execl _gcov_execlp _gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler _gcov_indirect_call_profiler _gcov_average_profiler _gcov_ior_profiler _gcov_merge_ior diff --git a/external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/gcov-iov.h b/external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/gcov-iov.h new file mode 100644 index 000000000..abf49f48b --- /dev/null +++ b/external/gpl3/gcc/lib/libgcc/libgcov/arch/ia64/gcov-iov.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically by the program `build/gcov-iov' + from `4.5.4 (4 5) and (*)'. */ + +#define GCOV_VERSION ((gcov_unsigned_t)0x3430352a) /* 405* */ diff --git a/external/gpl3/gcc/lib/libgomp/Makefile b/external/gpl3/gcc/lib/libgomp/Makefile index ff7ba0ab4..4bb23d228 100644 --- a/external/gpl3/gcc/lib/libgomp/Makefile +++ b/external/gpl3/gcc/lib/libgomp/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.7 2012/02/23 11:05:02 nonaka Exp $ +# $NetBSD: Makefile,v 1.9 2013/08/23 05:02:46 matt Exp $ # build GCC's libgomp, so that -fopenmp works. @@ -39,7 +39,7 @@ SRCS= \ fortran.c \ affinity.c -GOMP_MACHINE_ARCH?= ${MACHINE_ARCH} +GOMP_MACHINE_ARCH?= ${MACHINE_ARCH:S/earmv5/earm/} ARCHDIR= ${.CURDIR}/arch/${GOMP_MACHINE_ARCH} CPPFLAGS+= \ @@ -60,7 +60,7 @@ LDFLAGS+= -Wl,--version-script,${DIST}/libgomp/libgomp.map .PATH: ${ARCHDIR} ${DIST}/libgomp ${DIST}/libgomp/config/posix -.if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH} +.if ${GOMP_MACHINE_ARCH} == ${MACHINE_ARCH:S/earmv5/earm/} # This is where GCC looks for it. FILES= libgomp.spec FILESDIR= ${LIBDIR} diff --git a/external/gpl3/gcc/lib/libgomp/arch/coldfire/config.h b/external/gpl3/gcc/lib/libgomp/arch/coldfire/config.h new file mode 100644 index 000000000..0f3c5bd7d --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/coldfire/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp.spec new file mode 100644 index 000000000..2268ba799 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp_f.h new file mode 100644 index 000000000..5da18aec7 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/coldfire/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (24 == 8) \ + && (4 <= 24) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(24 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 28 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/coldfire/omp.h b/external/gpl3/gcc/lib/libgomp/arch/coldfire/omp.h new file mode 100644 index 000000000..1b66a47d5 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/coldfire/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/config.h b/external/gpl3/gcc/lib/libgomp/arch/earm/config.h index 90185c1ff..8d1e89b93 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.h.in by configure. */ @@ -60,7 +60,7 @@ #define HAVE_STRTOULL 1 /* Define to 1 if the target supports __sync_*_compare_and_swap */ -#define HAVE_SYNC_BUILTINS 1 +/* #undef HAVE_SYNC_BUILTINS */ /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_LOADAVG_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec index 2268ba799..769fb36c7 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp.spec @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # # This spec file is read by gcc when linking. It is used to specify the diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h index 34da0a8d5..19a6a589e 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.62 2011/08/17 18:34:13 matt Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. diff --git a/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h index 942a4f28f..f8c779769 100644 --- a/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h +++ b/external/gpl3/gcc/lib/libgomp/arch/earm/omp.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmeb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmeb/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmeb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp_f.h new file mode 100644 index 000000000..f9b65eb0e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmeb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmeb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmeb/omp.h new file mode 100644 index 000000000..a17cfd73a --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmeb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhf/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmhf/config.h new file mode 100644 index 000000000..a0ecaa852 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhf/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp_f.h new file mode 100644 index 000000000..f9b65eb0e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhf/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhf/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmhf/omp.h new file mode 100644 index 000000000..a17cfd73a --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhf/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/config.h new file mode 100644 index 000000000..9a9544bcb --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp.spec new file mode 100644 index 000000000..00acf7f93 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp_f.h new file mode 100644 index 000000000..0211bcdef --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/omp.h new file mode 100644 index 000000000..10d1a13ca --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmhfeb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv4/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp.spec new file mode 100644 index 000000000..769fb36c7 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp_f.h new file mode 100644 index 000000000..19a6a589e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv4/omp.h new file mode 100644 index 000000000..f8c779769 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp_f.h new file mode 100644 index 000000000..f9b65eb0e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/omp.h new file mode 100644 index 000000000..a17cfd73a --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv4eb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp.spec new file mode 100644 index 000000000..769fb36c7 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp_f.h new file mode 100644 index 000000000..19a6a589e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6/omp.h new file mode 100644 index 000000000..f8c779769 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp_f.h new file mode 100644 index 000000000..f9b65eb0e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/omp.h new file mode 100644 index 000000000..a17cfd73a --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6eb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp.spec new file mode 100644 index 000000000..769fb36c7 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp_f.h new file mode 100644 index 000000000..19a6a589e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/omp.h new file mode 100644 index 000000000..f8c779769 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hf/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp_f.h new file mode 100644 index 000000000..f9b65eb0e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/omp.h new file mode 100644 index 000000000..a17cfd73a --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv6hfeb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp.spec new file mode 100644 index 000000000..769fb36c7 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp_f.h new file mode 100644 index 000000000..19a6a589e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7/omp.h new file mode 100644 index 000000000..f8c779769 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp_f.h new file mode 100644 index 000000000..f9b65eb0e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/omp.h new file mode 100644 index 000000000..a17cfd73a --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7eb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/config.h new file mode 100644 index 000000000..56e3fde42 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp.spec new file mode 100644 index 000000000..769fb36c7 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp_f.h new file mode 100644 index 000000000..19a6a589e --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/omp.h new file mode 100644 index 000000000..f8c779769 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hf/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/config.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..1bafc0061 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +/* #undef HAVE_SYNC_BUILTINS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp.spec new file mode 100644 index 000000000..894acb779 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp_f.h new file mode 100644 index 000000000..7bd429097 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (4 == 4) \ + && (4 <= 4) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (12 == 8) \ + && (4 <= 12) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (28 == 8) \ + && (4 <= 28) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (32 == 8) \ + && (4 <= 32) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(4 != sizeof (omp_lock_t) + || 4 != __alignof (omp_lock_t) + || 12 != sizeof (omp_nest_lock_t) + || 4 != __alignof (omp_nest_lock_t) + || 4 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(28 != sizeof (omp_lock_25_t) + || 4 != __alignof (omp_lock_25_t) + || 32 != sizeof (omp_nest_lock_25_t) + || 4 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/omp.h b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/omp.h new file mode 100644 index 000000000..4ec55cc62 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/earmv7hfeb/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/ia64/config.h b/external/gpl3/gcc/lib/libgomp/arch/ia64/config.h new file mode 100644 index 000000000..f8be67cad --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/ia64/config.h @@ -0,0 +1,136 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if the target supports __attribute__((alias(...))). */ +#define HAVE_ATTRIBUTE_ALIAS 1 + +/* Define to 1 if the target supports __attribute__((dllexport)). */ +/* #undef HAVE_ATTRIBUTE_DLLEXPORT */ + +/* Define to 1 if the target supports __attribute__((visibility(...))). */ +#define HAVE_ATTRIBUTE_VISIBILITY 1 + +/* Define if the POSIX Semaphores do not work on your system. */ +/* #undef HAVE_BROKEN_POSIX_SEMAPHORES */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `clock_gettime' function. */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the `getloadavg' function. */ +#define HAVE_GETLOADAVG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define if pthread_{,attr_}{g,s}etaffinity_np is supported. */ +/* #undef HAVE_PTHREAD_AFFINITY_NP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SEMAPHORE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtoull' function. */ +#define HAVE_STRTOULL 1 + +/* Define to 1 if the target supports __sync_*_compare_and_swap */ +#define HAVE_SYNC_BUILTINS 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_LOADAVG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +#define HAVE_TLS 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if GNU symbol versioning is used for libgomp. */ +/* #undef LIBGOMP_GNU_SYMBOL_VERSIONING */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libgomp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU OpenMP Runtime Library" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU OpenMP Runtime Library 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libgomp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/libgomp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Version number of package */ +#define VERSION "1.0" diff --git a/external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp.spec b/external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp.spec new file mode 100644 index 000000000..fe69b9f40 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp.spec @@ -0,0 +1,7 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp %{static: -lintl} diff --git a/external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp_f.h b/external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp_f.h new file mode 100644 index 000000000..ed0dba209 --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/ia64/libgomp_f.h @@ -0,0 +1,97 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2008, 2009 Free Software Foundation, Inc. + Contributed by Jakub Jelinek . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +/* This file contains prototypes of functions in the external ABI. + This file is included by files in the testsuite. */ + +#ifndef LIBGOMP_F_H +#define LIBGOMP_F_H 1 + +#include "libgomp.h" + +#if (8 == 8) \ + && (8 <= 8) +# define OMP_LOCK_DIRECT +typedef omp_lock_t *omp_lock_arg_t; +# define omp_lock_arg(arg) (arg) +#else +typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; +# define omp_lock_arg(arg) ((arg)->lock) +# endif + +#if (24 == 8) \ + && (8 <= 24) +# define OMP_NEST_LOCK_DIRECT +typedef omp_nest_lock_t *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) (arg) +#else +typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; +# define omp_nest_lock_arg(arg) ((arg)->lock) +# endif + +#if (48 == 8) \ + && (8 <= 48) +# define OMP_LOCK_25_DIRECT +typedef omp_lock_25_t *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) (arg) +#else +typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; +# define omp_lock_25_arg(arg) ((arg)->lock) +# endif + +#if (56 == 8) \ + && (8 <= 56) +# define OMP_NEST_LOCK_25_DIRECT +typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) (arg) +#else +typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; +# define omp_nest_lock_25_arg(arg) ((arg)->lock) +# endif + +static inline void +omp_check_defines (void) +{ + char test[(8 != sizeof (omp_lock_t) + || 8 != __alignof (omp_lock_t) + || 24 != sizeof (omp_nest_lock_t) + || 8 != __alignof (omp_nest_lock_t) + || 8 != sizeof (*(omp_lock_arg_t) 0) + || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); + char test2[(48 != sizeof (omp_lock_25_t) + || 8 != __alignof (omp_lock_25_t) + || 56 != sizeof (omp_nest_lock_25_t) + || 8 != __alignof (omp_nest_lock_25_t) + || 8 != sizeof (*(omp_lock_25_arg_t) 0) + || 8 + != sizeof (*(omp_nest_lock_25_arg_t) 0)) + ? -1 : 1] __attribute__ ((__unused__)); +} + +#endif /* LIBGOMP_F_H */ diff --git a/external/gpl3/gcc/lib/libgomp/arch/ia64/omp.h b/external/gpl3/gcc/lib/libgomp/arch/ia64/omp.h new file mode 100644 index 000000000..82630366f --- /dev/null +++ b/external/gpl3/gcc/lib/libgomp/arch/ia64/omp.h @@ -0,0 +1,109 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. + Contributed by Richard Henderson . + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp 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. + + Libgomp 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 + . */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[8] + __attribute__((__aligned__(8))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[24] + __attribute__((__aligned__(8))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/external/gpl3/gcc/lib/libiberty/Makefile b/external/gpl3/gcc/lib/libiberty/Makefile index c5dc47da1..142891f5b 100644 --- a/external/gpl3/gcc/lib/libiberty/Makefile +++ b/external/gpl3/gcc/lib/libiberty/Makefile @@ -1,9 +1,11 @@ -# $NetBSD: Makefile,v 1.3 2011/08/09 12:58:55 joerg Exp $ +# $NetBSD: Makefile,v 1.4 2013/08/22 00:16:54 matt Exp $ LIBISPRIVATE= yes .include +GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/} + LIB= iberty .include "${.CURDIR}/defs.mk" @@ -14,7 +16,7 @@ GNUHOSTDIST= ${DIST} SRCS= ${G_REQUIRED_OFILES:.o=.c} ${G_EXTRA_OFILES:.o=.c} \ ${G_LIBOBJS:.o=.c} ${G_ALLOCA:.o=.c} -CPPFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR}/arch/${MACHINE_ARCH} \ +CPPFLAGS+= -DHAVE_CONFIG_H -I${.CURDIR}/arch/${GCC_MACHINE_ARCH} \ -I${DIST}/include COPTS.argv.c = -Wno-stack-protector diff --git a/external/gpl3/gcc/lib/libiberty/arch/armeb/config.h b/external/gpl3/gcc/lib/libiberty/arch/armeb/config.h index 6e58e826b..b41dbeacb 100644 --- a/external/gpl3/gcc/lib/libiberty/arch/armeb/config.h +++ b/external/gpl3/gcc/lib/libiberty/arch/armeb/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.58 2011/07/02 13:25:05 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.in by configure. */ @@ -446,7 +446,7 @@ # endif #else # ifndef WORDS_BIGENDIAN -# define WORDS_BIGENDIAN 1 +/* # undef WORDS_BIGENDIAN */ # endif #endif diff --git a/external/gpl3/gcc/lib/libiberty/arch/coldfire/config.h b/external/gpl3/gcc/lib/libiberty/arch/coldfire/config.h new file mode 100644 index 000000000..25908a8bc --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/coldfire/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earm/config.h b/external/gpl3/gcc/lib/libiberty/arch/earm/config.h index 18c9304d5..bb0f71772 100644 --- a/external/gpl3/gcc/lib/libiberty/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libiberty/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.in by configure. */ @@ -112,7 +112,7 @@ #define HAVE_GETPAGESIZE 1 /* Define to 1 if you have the `getrusage' function. */ -/* #undef HAVE_GETRUSAGE */ +#define HAVE_GETRUSAGE 1 /* Define to 1 if you have the `getsysinfo' function. */ /* #undef HAVE_GETSYSINFO */ @@ -169,7 +169,7 @@ /* #undef HAVE_MKSTEMPS */ /* Define to 1 if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ +#define HAVE_MMAP 1 /* Define to 1 if you have the `on_exit' function. */ /* #undef HAVE_ON_EXIT */ @@ -205,7 +205,7 @@ #define HAVE_SETENV 1 /* Define to 1 if you have the `sigsetmask' function. */ -/* #undef HAVE_SIGSETMASK */ +#define HAVE_SIGSETMASK 1 /* Define to 1 if you have the `snprintf' function. */ #define HAVE_SNPRINTF 1 @@ -280,7 +280,7 @@ /* #undef HAVE_SYSMP */ /* Define if you have the sys_errlist variable. */ -/* #undef HAVE_SYS_ERRLIST */ +#define HAVE_SYS_ERRLIST 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_FILE_H 1 @@ -289,7 +289,7 @@ #define HAVE_SYS_MMAN_H 1 /* Define if you have the sys_nerr variable. */ -/* #undef HAVE_SYS_NERR */ +#define HAVE_SYS_NERR 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 @@ -301,7 +301,7 @@ #define HAVE_SYS_RESOURCE_H 1 /* Define if you have the sys_siglist variable. */ -/* #undef HAVE_SYS_SIGLIST */ +#define HAVE_SYS_SIGLIST 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 @@ -427,7 +427,7 @@ it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ -#define STACK_DIRECTION -1 +#define STACK_DIRECTION 0 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmeb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmeb/config.h new file mode 100644 index 000000000..297f7ec00 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmeb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmhf/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmhf/config.h new file mode 100644 index 000000000..e84264f78 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmhf/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmhfeb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmhfeb/config.h new file mode 100644 index 000000000..632fa0228 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmhfeb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv4/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv4/config.h new file mode 100644 index 000000000..ad4514b5f --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv4/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv4eb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv4eb/config.h new file mode 100644 index 000000000..297f7ec00 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv4eb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv6/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv6/config.h new file mode 100644 index 000000000..ad4514b5f --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv6/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv6eb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv6eb/config.h new file mode 100644 index 000000000..297f7ec00 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv6eb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv6hf/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv6hf/config.h new file mode 100644 index 000000000..ad4514b5f --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv6hf/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv6hfeb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..297f7ec00 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv6hfeb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv7/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv7/config.h new file mode 100644 index 000000000..ad4514b5f --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv7/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv7eb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv7eb/config.h new file mode 100644 index 000000000..297f7ec00 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv7eb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv7hf/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv7hf/config.h new file mode 100644 index 000000000..ad4514b5f --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv7hf/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/earmv7hfeb/config.h b/external/gpl3/gcc/lib/libiberty/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..730c18165 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/earmv7hfeb/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +#define HAVE_VFORK 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +#define HAVE_WORKING_VFORK 1 + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +/* #undef vfork */ diff --git a/external/gpl3/gcc/lib/libiberty/arch/i386/config.h b/external/gpl3/gcc/lib/libiberty/arch/i386/config.h index 18c9304d5..020ba38db 100644 --- a/external/gpl3/gcc/lib/libiberty/arch/i386/config.h +++ b/external/gpl3/gcc/lib/libiberty/arch/i386/config.h @@ -112,7 +112,7 @@ #define HAVE_GETPAGESIZE 1 /* Define to 1 if you have the `getrusage' function. */ -/* #undef HAVE_GETRUSAGE */ +#define HAVE_GETRUSAGE 1 /* Define to 1 if you have the `getsysinfo' function. */ /* #undef HAVE_GETSYSINFO */ @@ -169,7 +169,7 @@ /* #undef HAVE_MKSTEMPS */ /* Define to 1 if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ +#define HAVE_MMAP 1 /* Define to 1 if you have the `on_exit' function. */ /* #undef HAVE_ON_EXIT */ @@ -205,7 +205,7 @@ #define HAVE_SETENV 1 /* Define to 1 if you have the `sigsetmask' function. */ -/* #undef HAVE_SIGSETMASK */ +#define HAVE_SIGSETMASK 1 /* Define to 1 if you have the `snprintf' function. */ #define HAVE_SNPRINTF 1 @@ -280,7 +280,7 @@ /* #undef HAVE_SYSMP */ /* Define if you have the sys_errlist variable. */ -/* #undef HAVE_SYS_ERRLIST */ +#define HAVE_SYS_ERRLIST 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_FILE_H 1 @@ -289,7 +289,7 @@ #define HAVE_SYS_MMAN_H 1 /* Define if you have the sys_nerr variable. */ -/* #undef HAVE_SYS_NERR */ +#define HAVE_SYS_NERR 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_PARAM_H 1 @@ -301,7 +301,7 @@ #define HAVE_SYS_RESOURCE_H 1 /* Define if you have the sys_siglist variable. */ -/* #undef HAVE_SYS_SIGLIST */ +#define HAVE_SYS_SIGLIST 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 @@ -427,7 +427,7 @@ it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses STACK_DIRECTION = 0 => direction of growth unknown */ -#define STACK_DIRECTION -1 +#define STACK_DIRECTION 0 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h b/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h new file mode 100644 index 000000000..383621873 --- /dev/null +++ b/external/gpl3/gcc/lib/libiberty/arch/ia64/config.h @@ -0,0 +1,480 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `asprintf' function. */ +#define HAVE_ASPRINTF 1 + +/* Define to 1 if you have the `atexit' function. */ +#define HAVE_ATEXIT 1 + +/* Define to 1 if you have the `basename' function. */ +#define HAVE_BASENAME 1 + +/* Define to 1 if you have the `bcmp' function. */ +#define HAVE_BCMP 1 + +/* Define to 1 if you have the `bcopy' function. */ +#define HAVE_BCOPY 1 + +/* Define to 1 if you have the `bsearch' function. */ +#define HAVE_BSEARCH 1 + +/* Define to 1 if you have the `bzero' function. */ +#define HAVE_BZERO 1 + +/* Define to 1 if you have the `calloc' function. */ +#define HAVE_CALLOC 1 + +/* Define to 1 if you have the `canonicalize_file_name' function. */ +/* #undef HAVE_CANONICALIZE_FILE_NAME */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `calloc', and to 0 if you don't. + */ +#define HAVE_DECL_CALLOC 1 + +/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */ +#define HAVE_DECL_FFS 1 + +/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't. + */ +#define HAVE_DECL_GETENV 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `malloc', and to 0 if you don't. + */ +#define HAVE_DECL_MALLOC 1 + +/* Define to 1 if you have the declaration of `realloc', and to 0 if you + don't. */ +#define HAVE_DECL_REALLOC 1 + +/* Define to 1 if you have the declaration of `sbrk', and to 0 if you don't. + */ +#define HAVE_DECL_SBRK 1 + +/* Define to 1 if you have the declaration of `snprintf', and to 0 if you + don't. */ +#define HAVE_DECL_SNPRINTF 1 + +/* Define to 1 if you have the declaration of `strverscmp', and to 0 if you + don't. */ +#define HAVE_DECL_STRVERSCMP 0 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VSNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `ffs' function. */ +#define HAVE_FFS 1 + +/* Define to 1 if you have the `fork' function. */ +#define HAVE_FORK 1 + +/* Define to 1 if you have the `getcwd' function. */ +#define HAVE_GETCWD 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define to 1 if you have the `index' function. */ +#define HAVE_INDEX 1 + +/* Define to 1 if you have the `insque' function. */ +#define HAVE_INSQUE 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the `memchr' function. */ +#define HAVE_MEMCHR 1 + +/* Define to 1 if you have the `memcmp' function. */ +#define HAVE_MEMCMP 1 + +/* Define to 1 if you have the `memcpy' function. */ +#define HAVE_MEMCPY 1 + +/* Define to 1 if you have the `memmem' function. */ +#define HAVE_MEMMEM 1 + +/* Define to 1 if you have the `memmove' function. */ +#define HAVE_MEMMOVE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `mempcpy' function. */ +/* #undef HAVE_MEMPCPY */ + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mkstemps' function. */ +/* #undef HAVE_MKSTEMPS */ + +/* Define to 1 if you have a working `mmap' system call. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `on_exit' function. */ +/* #undef HAVE_ON_EXIT */ + +/* Define to 1 if you have the `psignal' function. */ +#define HAVE_PSIGNAL 1 + +/* Define to 1 if you have the `pstat_getdynamic' function. */ +/* #undef HAVE_PSTAT_GETDYNAMIC */ + +/* Define to 1 if you have the `pstat_getstatic' function. */ +/* #undef HAVE_PSTAT_GETSTATIC */ + +/* Define to 1 if you have the `putenv' function. */ +#define HAVE_PUTENV 1 + +/* Define to 1 if you have the `random' function. */ +#define HAVE_RANDOM 1 + +/* Define to 1 if you have the `realpath' function. */ +#define HAVE_REALPATH 1 + +/* Define to 1 if you have the `rename' function. */ +#define HAVE_RENAME 1 + +/* Define to 1 if you have the `rindex' function. */ +#define HAVE_RINDEX 1 + +/* Define to 1 if you have the `sbrk' function. */ +/* #undef HAVE_SBRK */ + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sigsetmask' function. */ +#define HAVE_SIGSETMASK 1 + +/* Define to 1 if you have the `snprintf' function. */ +#define HAVE_SNPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDIO_EXT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `stpcpy' function. */ +#define HAVE_STPCPY 1 + +/* Define to 1 if you have the `stpncpy' function. */ +#define HAVE_STPNCPY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the `strrchr' function. */ +#define HAVE_STRRCHR 1 + +/* Define to 1 if you have the `strsignal' function. */ +#define HAVE_STRSIGNAL 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the `strtod' function. */ +#define HAVE_STRTOD 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `strverscmp' function. */ +/* #undef HAVE_STRVERSCMP */ + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysmp' function. */ +/* #undef HAVE_SYSMP */ + +/* Define if you have the sys_errlist variable. */ +#define HAVE_SYS_ERRLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define if you have the sys_nerr variable. */ +#define HAVE_SYS_NERR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define if you have the sys_siglist variable. */ +#define HAVE_SYS_SIGLIST 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSMP_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_TABLE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#define HAVE_SYS_WAIT_H 1 + +/* Define to 1 if you have the `table' function. */ +/* #undef HAVE_TABLE */ + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_TIME_H 1 + +/* Define to 1 if you have the `tmpnam' function. */ +#define HAVE_TMPNAM 1 + +/* Define if you have the \`uintptr_t' type. */ +#define HAVE_UINTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vfork' function. */ +/* #undef HAVE_VFORK */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_VFORK_H */ + +/* Define to 1 if you have the `vfprintf' function. */ +#define HAVE_VFPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vsprintf' function. */ +#define HAVE_VSPRINTF 1 + +/* Define to 1 if you have the `wait3' function. */ +#define HAVE_WAIT3 1 + +/* Define to 1 if you have the `wait4' function. */ +#define HAVE_WAIT4 1 + +/* Define to 1 if you have the `waitpid' function. */ +#define HAVE_WAITPID 1 + +/* Define to 1 if `fork' works. */ +#define HAVE_WORKING_FORK 1 + +/* Define to 1 if `vfork' works. */ +/* #undef HAVE_WORKING_VFORK */ + +/* Define to 1 if you have the `_doprnt' function. */ +/* #undef HAVE__DOPRNT */ + +/* Define if you have the _system_configuration variable. */ +/* #undef HAVE__SYSTEM_CONFIGURATION */ + +/* Define to 1 if you have the `__fsetlocking' function. */ +/* #undef HAVE___FSETLOCKING */ + +/* Define if canonicalize_file_name is not declared in system header files. */ +#define NEED_DECLARATION_CANONICALIZE_FILE_NAME 1 + +/* Define if errno must be declared even when is included. */ +/* #undef NEED_DECLARATION_ERRNO */ + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "" + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* Define if you know the direction of stack growth for your system; otherwise + it will be automatically deduced at run-time. STACK_DIRECTION > 0 => grows + toward higher addresses STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +#define STACK_DIRECTION 0 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to an unsigned 64-bit type available in the compiler. */ +#define UNSIGNED_64BIT_TYPE uint64_t + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +/* #undef intptr_t */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +/* #undef uintptr_t */ + +/* Define as `fork' if `vfork' does not work. */ +#define vfork fork diff --git a/external/gpl3/gcc/lib/libiberty/defs.mk b/external/gpl3/gcc/lib/libiberty/defs.mk index ac22ba291..df03106cf 100644 --- a/external/gpl3/gcc/lib/libiberty/defs.mk +++ b/external/gpl3/gcc/lib/libiberty/defs.mk @@ -1,9 +1,8 @@ -# This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_ALLOCA= G_EXTRA_OFILES= -G_LIBOBJS=mempcpy.o mkstemps.o sigsetmask.o strverscmp.o - +G_LIBOBJS=mempcpy.o mkstemps.o strverscmp.o strncmp.o G_REQUIRED_OFILES=regex.o cplus-dem.o cp-demangle.o md5.o sha1.o alloca.o argv.o choose-temp.o concat.o cp-demint.o crc32.o dyn-string.o fdmatch.o fibheap.o filename_cmp.o floatformat.o fnmatch.o fopen_unlocked.o getopt.o getopt1.o getpwd.o getruntime.o hashtab.o hex.o lbasename.o lrealpath.o make-relative-prefix.o make-temp-file.o objalloc.o obstack.o partition.o pexecute.o physmem.o pex-common.o pex-one.o pex-unix.o safe-ctype.o sort.o spaces.o splay-tree.o strerror.o strsignal.o unlink-if-ordinary.o xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o xstrndup.o diff --git a/external/gpl3/gcc/lib/libobjc/Makefile b/external/gpl3/gcc/lib/libobjc/Makefile index c1ce2538b..95686c027 100644 --- a/external/gpl3/gcc/lib/libobjc/Makefile +++ b/external/gpl3/gcc/lib/libobjc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.6 2011/07/01 10:04:36 mrg Exp $ +# $NetBSD: Makefile,v 1.7 2013/08/22 00:16:54 matt Exp $ REQUIRETOOLS= yes NOLINT= # defined @@ -8,6 +8,7 @@ UNSUPPORTED_COMPILER.clang= # defined .include LIB= objc +GCC_MACHINE_ARCH?= ${MACHINE_ARCH:S/earmv5/earm/} .if ${MKGCC} != "no" @@ -15,9 +16,9 @@ SHLIB_MAJOR= 3 SHLIB_MINOR= 0 # XXX just while all platforms defs.mk are updated.. -.if exists(${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk) +.if exists(${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk) # Machine-dependent definitions (include file names). -.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk" EXTRA_FAKEHEADERS= .else # Machine-independent definitions (include file names). @@ -29,18 +30,18 @@ LIBGCCOBJ!= cd ${.CURDIR}/../libgcc/libgcc && ${PRINTOBJDIR} DIST= ${NETBSDSRCDIR}/external/gpl3/gcc/dist GNUHOSTDIST= ${NETBSDSRCDIR}/external/gpl3/gcc/dist -GCCARCH= ${NETBSDSRCDIR}/external/gpl3/gcc/usr.bin/gcc/arch/${MACHINE_ARCH} -LIBOBJCARCH= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libobjc/arch/${MACHINE_ARCH} -GCCLIBXX= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libstdc++-v3/arch/${MACHINE_ARCH} +GCCARCH= ${NETBSDSRCDIR}/external/gpl3/gcc/usr.bin/gcc/arch/${GCC_MACHINE_ARCH} +LIBOBJCARCH= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libobjc/arch/${GCC_MACHINE_ARCH} +GCCLIBXX= ${NETBSDSRCDIR}/external/gpl3/gcc/lib/libstdc++-v3/arch/${GCC_MACHINE_ARCH} SRCS= ${G_OBJS:N[A-Z]*:Nlinking.lo:.lo=.c} ${G_OBJS:M[A-Z]*:.lo=.m} linking.m GCPPFLAGS= ${G_ALL_CFLAGS} ${G_INCLUDES} -CPPFLAGS+= -I. -I${.CURDIR}/arch/${MACHINE_ARCH} +CPPFLAGS+= -I. -I${.CURDIR}/arch/${GCC_MACHINE_ARCH} CPPFLAGS+= -I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*} CPPFLAGS+= -I${GCCLIBXX} -BUILDSYMLINKS= ${.CURDIR}/../libstdc++-v3/arch/${MACHINE_ARCH} bits +BUILDSYMLINKS= ${.CURDIR}/../libstdc++-v3/arch/${GCC_MACHINE_ARCH} bits DPSRCS+= bits .for f in Protocol.m Object.m NXConstStr.m linking.m @@ -80,7 +81,7 @@ DPSRCS+= unwind.h .include "../Makefile.hacks" # XXX just while all platforms defs.mk are updated.. -.if exists(${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk) +.if exists(${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk) optionlist: ${G_ALL_OPT_FILES} ${LIBOBJCARCH}/defs.mk Makefile ${DIST}/gcc/opt-gather.awk ${TOOL_AWK} -f ${DIST}/gcc/opt-gather.awk ${G_ALL_OPT_FILES} \ > ${.TARGET} diff --git a/external/gpl3/gcc/lib/libobjc/arch/coldfire/config.h b/external/gpl3/gcc/lib/libobjc/arch/coldfire/config.h new file mode 100644 index 000000000..cf3631773 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/coldfire/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/coldfire/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/coldfire/defs.mk new file mode 100644 index 000000000..985a8ccc7 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/coldfire/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/m68k/m68k.opt +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earm/config.h b/external/gpl3/gcc/lib/libobjc/arch/earm/config.h index 52082ac61..3c606c3e3 100644 --- a/external/gpl3/gcc/lib/libobjc/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libobjc/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.h.in by configure. */ diff --git a/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk index 7c295a315..a059fd2da 100644 --- a/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk +++ b/external/gpl3/gcc/lib/libobjc/arch/earm/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp +# Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmeb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmeb/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmeb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmeb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmeb/defs.mk new file mode 100644 index 000000000..98538082e --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmeb/defs.mk @@ -0,0 +1,10 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmhf/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmhf/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmhf/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmhf/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmhf/defs.mk new file mode 100644 index 000000000..98538082e --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmhf/defs.mk @@ -0,0 +1,10 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmhfeb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmhfeb/config.h new file mode 100644 index 000000000..c85361be8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmhfeb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmhfeb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmhfeb/defs.mk new file mode 100644 index 000000000..c596fde07 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmhfeb/defs.mk @@ -0,0 +1,10 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv4/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv4/config.h new file mode 100644 index 000000000..3bcee757a --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv4/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv4/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv4/defs.mk new file mode 100644 index 000000000..1a35c5e25 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv4/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv4eb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv4eb/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv4eb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv4eb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv4eb/defs.mk new file mode 100644 index 000000000..cbb0a5fcf --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv4eb/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv6/config.h new file mode 100644 index 000000000..3bcee757a --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv6/defs.mk new file mode 100644 index 000000000..4273343d0 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6eb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv6eb/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6eb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6eb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv6eb/defs.mk new file mode 100644 index 000000000..4ad2e74d0 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6eb/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6hf/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv6hf/config.h new file mode 100644 index 000000000..3bcee757a --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6hf/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6hf/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv6hf/defs.mk new file mode 100644 index 000000000..2d598689f --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6hf/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/defs.mk new file mode 100644 index 000000000..32c060ff5 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv6hfeb/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv7/config.h new file mode 100644 index 000000000..3bcee757a --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv7/defs.mk new file mode 100644 index 000000000..a67a562e1 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7eb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv7eb/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7eb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7eb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv7eb/defs.mk new file mode 100644 index 000000000..3ac683aa2 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7eb/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7hf/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv7hf/config.h new file mode 100644 index 000000000..3bcee757a --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7hf/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7hf/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv7hf/defs.mk new file mode 100644 index 000000000..48dba49f4 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7hf/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/config.h b/external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..7cf9d3fd4 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/defs.mk new file mode 100644 index 000000000..bff75bb3b --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/earmv7hfeb/defs.mk @@ -0,0 +1,16 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libobjc/arch/ia64/config.h b/external/gpl3/gcc/lib/libobjc/arch/ia64/config.h new file mode 100644 index 000000000..54eb626e8 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/ia64/config.h @@ -0,0 +1,73 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if the compiler has a thread header that is non single. */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SCHED_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +/* #undef NO_MINUS_C_MINUS_O */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libobjc" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef SJLJ_EXCEPTIONS */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 diff --git a/external/gpl3/gcc/lib/libobjc/arch/ia64/defs.mk b/external/gpl3/gcc/lib/libobjc/arch/ia64/defs.mk new file mode 100644 index 000000000..9d84c64b9 --- /dev/null +++ b/external/gpl3/gcc/lib/libobjc/arch/ia64/defs.mk @@ -0,0 +1,10 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/ia64/ia64.opt +G_ALL_CFLAGS=-I. -I${GNUHOSTDIST}/libobjc -g -W -Wall -Wwrite-strings -Wstrict-prototypes -DIN_GCC -DIN_TARGET_LIBS -fno-strict-aliasing -fexceptions +G_INCLUDES=-I${GNUHOSTDIST}/libobjc/objc -I${GNUHOSTDIST}/libobjc/../gcc -I${GNUHOSTDIST}/libobjc/../gcc/config -I../.././gcc -I${GNUHOSTDIST}/libobjc/../include +G_OBJS=archive.lo class.lo encoding.lo gc.lo hash.lo init.lo linking.lo misc.lo nil_method.lo NXConstStr.lo Object.lo objects.lo Protocol.lo sarray.lo selector.lo sendmsg.lo thr.lo thr-objc.lo exception.lo +G_OBJC_H=hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h Object.h Protocol.h encoding.h typedstream.h thr.h objc-decls.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h diff --git a/external/gpl3/gcc/lib/libstdc++-v3/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/Makefile index b80e66fe3..43b5ff557 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/Makefile @@ -1,10 +1,12 @@ -# $NetBSD: Makefile,v 1.5 2011/08/09 13:00:04 joerg Exp $ +# $NetBSD: Makefile,v 1.7 2013/11/01 18:11:49 christos Exp $ REQUIRETOOLS= yes NOLINT= # defined .include +.include "Makefile.inc" + LIB= stdc++ LDADD= -lgcc_s @@ -19,8 +21,8 @@ UNSUPPORTED_COMPILER.clang= # defined CWARNFLAGS.clang+= -Wno-logical-op-parentheses \ -Wno-deprecated-writable-strings -Wno-parentheses -.if exists(${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no" -.include "${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk" +.if exists(${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no" +.include "${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk" SHLIB_MAJOR= 7 SHLIB_MINOR= 1 @@ -35,7 +37,8 @@ SRCS= ${LIBSUPCXXSRCS} ${LIBSTDCXXSRCS} #CXXFLAGS+= -ffunction-sections -fdata-sections CXXFLAGS+= -fno-implicit-templates -fdiagnostics-show-location=once CPPFLAGS+= -I${DIST}/libstdc++-v3/include -CPPFLAGS+= -I${.CURDIR}/arch/${MACHINE_ARCH} +CPPFLAGS+= -I${.CURDIR}/arch/${GCC_MACHINE_ARCH} +CPPFLAGS+= -I${.CURDIR}/../libgomp/arch/${GCC_MACHINE_ARCH} CONF= ${DIST}/libstdc++-v3/config @@ -155,9 +158,9 @@ CLEANFILES+= unwind.h ${DIST}/libstdc++-v3/libsupc++ \ ${DIST}/libiberty \ ${CONF}/locale/generic \ - ${.CURDIR}/arch/${MACHINE_ARCH} + ${.CURDIR}/arch/${GCC_MACHINE_ARCH} -${OBJS}: ${.CURDIR}/arch/${MACHINE_ARCH}/defs.mk +${OBJS}: ${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk .else .include # do nothing .endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/Makefile.inc b/external/gpl3/gcc/lib/libstdc++-v3/Makefile.inc new file mode 100644 index 000000000..b1c48ddec --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/Makefile.inc @@ -0,0 +1,3 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/08/22 16:03:30 matt Exp $ + +GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/} diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h index a7e8ba1d1..5a88f78dc 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/c++config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ // Predefined symbols and macros -*- C++ -*- @@ -499,7 +499,7 @@ _GLIBCXX_END_NAMESPACE /* #undef _GLIBCXX_HAVE_FABSL */ /* Define to 1 if you have the header file. */ -/* #undef _GLIBCXX_HAVE_FENV_H */ +#define _GLIBCXX_HAVE_FENV_H 1 /* Define to 1 if you have the `finite' function. */ #define _GLIBCXX_HAVE_FINITE 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/config.h index 28b54a5f1..4052fb02e 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/arm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.h.in by configure. */ @@ -120,7 +120,7 @@ /* #undef HAVE_FABSL */ /* Define to 1 if you have the header file. */ -/* #undef HAVE_FENV_H */ +#define HAVE_FENV_H 1 /* Define to 1 if you have the `finite' function. */ #define HAVE_FINITE 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h index a7e8ba1d1..5a88f78dc 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/c++config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ // Predefined symbols and macros -*- C++ -*- @@ -499,7 +499,7 @@ _GLIBCXX_END_NAMESPACE /* #undef _GLIBCXX_HAVE_FABSL */ /* Define to 1 if you have the header file. */ -/* #undef _GLIBCXX_HAVE_FENV_H */ +#define _GLIBCXX_HAVE_FENV_H 1 /* Define to 1 if you have the `finite' function. */ #define _GLIBCXX_HAVE_FINITE 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/config.h index 28b54a5f1..4052fb02e 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/armeb/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.h.in by configure. */ @@ -120,7 +120,7 @@ /* #undef HAVE_FABSL */ /* Define to 1 if you have the header file. */ -/* #undef HAVE_FENV_H */ +#define HAVE_FENV_H 1 /* Define to 1 if you have the `finite' function. */ #define HAVE_FINITE 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++allocator.h new file mode 100644 index 000000000..4ddbec9bb --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h new file mode 100644 index 000000000..95260e0dc --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FENV_H */ + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +#define _GLIBCXX_PTRDIFF_T_IS_INT 1 + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +#define _GLIBCXX_SIZE_T_IS_UINT 1 + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/config.h new file mode 100644 index 000000000..849498515 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FENV_H */ + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +#define _GLIBCXX_PTRDIFF_T_IS_INT 1 + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +#define _GLIBCXX_SIZE_T_IS_UINT 1 + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/cxxabi_tweaks.h new file mode 100644 index 000000000..4c3d480c8 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/cxxabi_tweaks.h @@ -0,0 +1,62 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. Generic version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/defs.mk new file mode 100644 index 000000000..4e7adec35 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h +nbgmake[1]: Leaving directory `/u2/netbsd-coldfire/evbcf/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gstdint.h new file mode 100644 index 000000000..6f1afc848 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for m5407--netbsdelf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-default.h new file mode 100644 index 000000000..183bc19e7 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-posix.h new file mode 100644 index 000000000..183bc19e7 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-single.h new file mode 100644 index 000000000..8dbef9810 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-tpf.h new file mode 100644 index 000000000..3ef781eb6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr.h new file mode 100644 index 000000000..16645e4c1 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/coldfire/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h index 4e95dae74..43a6fc5ed 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/c++config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ // Predefined symbols and macros -*- C++ -*- @@ -36,7 +36,7 @@ #define _GLIBCXX_CXX_CONFIG_H 1 // The current version of the C++ library in compressed ISO date format. -#define __GLIBCXX__ 20110428 +#define __GLIBCXX__ 20120702 // Macros for visibility. // _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY @@ -1160,7 +1160,7 @@ _GLIBCXX_END_NAMESPACE /* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ /* Defined if gettimeofday is available. */ -/* #undef _GLIBCXX_USE_GETTIMEOFDAY */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 /* Define if LFS support is available. */ /* #undef _GLIBCXX_USE_LFS */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h index 310ab85e6..13c69664b 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.h.in by configure. */ @@ -697,7 +697,7 @@ /* #undef _GLIBCXX_HAS_GTHREADS */ /* Define to 1 if a full hosted library is built, or 0 if freestanding. */ -#define _GLIBCXX_HOSTED 0 +#define _GLIBCXX_HOSTED 1 /* Define if compatibility should be provided for -mlong-double-64. */ /* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ @@ -782,7 +782,7 @@ /* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ /* Defined if gettimeofday is available. */ -/* #undef _GLIBCXX_USE_GETTIMEOFDAY */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 /* Define if LFS support is available. */ /* #undef _GLIBCXX_USE_LFS */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/cxxabi_tweaks.h index d74c9cf71..41d9543ba 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/cxxabi_tweaks.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/cxxabi_tweaks.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ // Control various target specific ABI tweaks. ARM version. diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h index 1f24be566..fc956215b 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earm/gstdint.h @@ -1,8 +1,8 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ -/* generated for arm--netbsdelf-eabi-gcc (NetBSD nb2 20111202) 4.5.3 */ +/* generated for arm--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ #ifndef GCC_GENERATED_STDINT_H #define GCC_GENERATED_STDINT_H 1 diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h new file mode 100644 index 000000000..c430bc75b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/config.h new file mode 100644 index 000000000..a65511bc7 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/defs.mk new file mode 100644 index 000000000..5f75a11be --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/defs.mk @@ -0,0 +1,34 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h new file mode 100644 index 000000000..afb1cf9ad --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armeb--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmeb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h new file mode 100644 index 000000000..c430bc75b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/config.h new file mode 100644 index 000000000..a65511bc7 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/defs.mk new file mode 100644 index 000000000..5f75a11be --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/defs.mk @@ -0,0 +1,34 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h new file mode 100644 index 000000000..8cf22b74a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for arm--netbsdelf-eabihf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhf/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++allocator.h new file mode 100644 index 000000000..b1b865fad --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h new file mode 100644 index 000000000..c430bc75b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/config.h new file mode 100644 index 000000000..a65511bc7 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/cxxabi_tweaks.h new file mode 100644 index 000000000..358ea5de6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/defs.mk new file mode 100644 index 000000000..2855e1951 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/defs.mk @@ -0,0 +1,34 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h new file mode 100644 index 000000000..0e8470ac0 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armeb--netbsdelf-eabihf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-default.h new file mode 100644 index 000000000..8bafc9b10 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-posix.h new file mode 100644 index 000000000..8bafc9b10 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-single.h new file mode 100644 index 000000000..b65c4791f --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-tpf.h new file mode 100644 index 000000000..efc942dcf --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr.h new file mode 100644 index 000000000..ee6001b85 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmhfeb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++allocator.h new file mode 100644 index 000000000..0e7415ffb --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/defs.mk new file mode 100644 index 000000000..0c7731ce4 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/ecats/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h new file mode 100644 index 000000000..da9b317f7 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv4--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-default.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-posix.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-single.h new file mode 100644 index 000000000..26de07c9a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-tpf.h new file mode 100644 index 000000000..c0c2a7be6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr.h new file mode 100644 index 000000000..b79635f2e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/defs.mk new file mode 100644 index 000000000..424e6370f --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv4-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h new file mode 100644 index 000000000..ebad5d400 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv4eb--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv4eb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++allocator.h new file mode 100644 index 000000000..0e7415ffb --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/defs.mk new file mode 100644 index 000000000..2d70a93f8 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h new file mode 100644 index 000000000..df64e5efc --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv6--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-default.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-posix.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-single.h new file mode 100644 index 000000000..26de07c9a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-tpf.h new file mode 100644 index 000000000..c0c2a7be6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr.h new file mode 100644 index 000000000..b79635f2e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/defs.mk new file mode 100644 index 000000000..5d2d81c46 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h new file mode 100644 index 000000000..7813c6c12 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv6eb--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6eb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++allocator.h new file mode 100644 index 000000000..0e7415ffb --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/defs.mk new file mode 100644 index 000000000..6ad586bf0 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h new file mode 100644 index 000000000..21e279303 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv6--netbsdelf-eabihf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-default.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-posix.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-single.h new file mode 100644 index 000000000..26de07c9a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-tpf.h new file mode 100644 index 000000000..c0c2a7be6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr.h new file mode 100644 index 000000000..b79635f2e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hf/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/defs.mk new file mode 100644 index 000000000..8159d71b2 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv6hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h new file mode 100644 index 000000000..d23f42932 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv6eb--netbsdelf-eabihf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv6hfeb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++allocator.h new file mode 100644 index 000000000..0e7415ffb --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/defs.mk new file mode 100644 index 000000000..b34287f7e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h new file mode 100644 index 000000000..dbf3e6c0c --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv7--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-default.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-posix.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-single.h new file mode 100644 index 000000000..26de07c9a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-tpf.h new file mode 100644 index 000000000..c0c2a7be6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr.h new file mode 100644 index 000000000..b79635f2e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/defs.mk new file mode 100644 index 000000000..67a30730a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h new file mode 100644 index 000000000..bfb19ce60 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv7eb--netbsdelf-eabi-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7eb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++allocator.h new file mode 100644 index 000000000..0e7415ffb --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/cxxabi_tweaks.h new file mode 100644 index 000000000..41d9543ba --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/defs.mk new file mode 100644 index 000000000..d281ffeb9 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-el/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h new file mode 100644 index 000000000..a98274d9a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv7--netbsdelf-eabihf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-default.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-posix.h new file mode 100644 index 000000000..25c10bd7a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-single.h new file mode 100644 index 000000000..26de07c9a --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-tpf.h new file mode 100644 index 000000000..c0c2a7be6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr.h new file mode 100644 index 000000000..b79635f2e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hf/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++allocator.h new file mode 100644 index 000000000..ba94fb82e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h new file mode 100644 index 000000000..bc1a80edd --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define _GLIBCXX_HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define _GLIBCXX_HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define _GLIBCXX_HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..938409722 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FENV_H 1 + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +/* #undef HAVE_INT64_T_LONG */ + +/* Define if int64_t is a long long. */ +#define HAVE_INT64_T_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +#define HAVE_POLL 1 + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +#define HAVE_S_ISREG 1 + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_TGMATH_H 1 + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +#define HAVE_WRITEV 1 + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_1 */ + +/* Define if builtin atomic operations for short are supported on this host. + */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_2 */ + +/* Define if builtin atomic operations for int are supported on this host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_4 */ + +/* Define if builtin atomic operations for long long are supported on this + host. */ +/* #undef _GLIBCXX_ATOMIC_BUILTINS_8 */ + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +#define _GLIBCXX_USE_C99_COMPLEX_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_MATH_TR1 1 + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +#define _GLIBCXX_USE_GETTIMEOFDAY 1 + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/cxxabi_tweaks.h new file mode 100644 index 000000000..2a855a106 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/cxxabi_tweaks.h @@ -0,0 +1,85 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. ARM version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + +#ifdef __ARM_EABI__ + // The ARM EABI uses the least significant bit of a 32-bit + // guard variable. */ +#define _GLIBCXX_GUARD_TEST(x) ((*(x) & 1) != 0) +#define _GLIBCXX_GUARD_SET(x) *(x) = 1 +#define _GLIBCXX_GUARD_BIT 1 +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + typedef int __guard; + + // We also want the element size in array cookies. +#define _GLIBCXX_ELTSIZE_IN_COOKIE 1 + + // __cxa_vec_ctor should return a pointer to the array. + typedef void * __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return x + // Constructors and destructors return the "this" pointer. + typedef void * __cxa_cdtor_return_type; + +#else // __ARM_EABI__ + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#endif //!__ARM_EABI__ + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/defs.mk new file mode 100644 index 000000000..a126b27f2 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/defs.mk @@ -0,0 +1,48 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `gcc' +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `gcc' +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +nbgmake[1]: Leaving directory `gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +nbgmake[1]: Entering directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' +G_UNWIND_H=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h +nbgmake[1]: Leaving directory `/u2/netbsd-HEAD/evbearmv7hf-eb/obj/tools/gcc' diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h new file mode 100644 index 000000000..0587a6317 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for armv7eb--netbsdelf-eabihf-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-default.h new file mode 100644 index 000000000..bafae0754 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-posix.h new file mode 100644 index 000000000..bafae0754 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-single.h new file mode 100644 index 000000000..f510527b4 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-tpf.h new file mode 100644 index 000000000..0c8525c74 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr.h new file mode 100644 index 000000000..074274756 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/earmv7hfeb/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h index 9ee5012a0..3dbd4798b 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/i386/config.h @@ -697,7 +697,7 @@ /* #undef _GLIBCXX_HAS_GTHREADS */ /* Define to 1 if a full hosted library is built, or 0 if freestanding. */ -#define _GLIBCXX_HOSTED 0 +#define _GLIBCXX_HOSTED 1 /* Define if compatibility should be provided for -mlong-double-64. */ /* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++allocator.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++allocator.h new file mode 100644 index 000000000..4a84600a6 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++allocator.h @@ -0,0 +1,41 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Base to std::allocator -*- C++ -*- + +// Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++allocator.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_ALLOCATOR_H +#define _GLIBCXX_CXX_ALLOCATOR_H 1 + +// Define new_allocator as the base class to std::allocator. +#include +#define __glibcxx_base_allocator __gnu_cxx::new_allocator + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h new file mode 100644 index 000000000..521895e7e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/c++config.h @@ -0,0 +1,1507 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Predefined symbols and macros -*- C++ -*- + +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +// 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file c++config.h + * This is an internal header file, included by other library headers. + * You should not attempt to use it directly. + */ + +#ifndef _GLIBCXX_CXX_CONFIG_H +#define _GLIBCXX_CXX_CONFIG_H 1 + +// The current version of the C++ library in compressed ISO date format. +#define __GLIBCXX__ 20120702 + +// Macros for visibility. +// _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +// _GLIBCXX_VISIBILITY_ATTR +# define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 + +#if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY +# define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) +#else +// If this is not supplied by the OS-specific or CPU-specific +// headers included below, it will be defined to an empty default. +# define _GLIBCXX_VISIBILITY_ATTR(V) _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Macros for deprecated. +// _GLIBCXX_DEPRECATED +// _GLIBCXX_DEPRECATED_ATTR +#ifndef _GLIBCXX_DEPRECATED +# define _GLIBCXX_DEPRECATED 1 +#endif + +#if defined(__DEPRECATED) && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define _GLIBCXX_DEPRECATED_ATTR __attribute__ ((__deprecated__)) +#else +# define _GLIBCXX_DEPRECATED_ATTR +#endif + +// Macros for activating various namespace association modes. +// _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +// _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +// _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION + +// Guide to libstdc++ namespaces. +/* + namespace std + { + namespace __debug { } + namespace __parallel { } + namespace __norm { } // __normative, __shadow, __replaced + namespace __cxx1998 { } + + namespace tr1 { } + } +*/ +#if __cplusplus + +#ifdef _GLIBCXX_DEBUG +# define _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG 1 +#endif + +#ifdef _GLIBCXX_PARALLEL +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL 1 +#endif + +// Namespace association for profile +#ifdef _GLIBCXX_PROFILE +# define _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE 1 +#endif + +# define _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION 0 + +// Defined if any namespace association modes are active. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE \ + || _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +# define _GLIBCXX_USE_NAMESPACE_ASSOCIATION 1 +#endif + +// Macros for namespace scope. Either namespace std:: or the name +// of some nested namespace within it. +// _GLIBCXX_STD +// _GLIBCXX_STD_D +// _GLIBCXX_STD_P +// +// Macros for enclosing namespaces and possibly nested namespaces. +// _GLIBCXX_BEGIN_NAMESPACE +// _GLIBCXX_END_NAMESPACE +// _GLIBCXX_BEGIN_NESTED_NAMESPACE +// _GLIBCXX_END_NESTED_NAMESPACE +#ifndef _GLIBCXX_USE_NAMESPACE_ASSOCIATION +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR _GLIBCXX_STD +# define _GLIBCXX_STD std +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NESTED_NAMESPACE _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +#else + +# if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION // && not anything else +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD _6 +# define _GLIBCXX_BEGIN_NAMESPACE(X) _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, _6) +# define _GLIBCXX_END_NAMESPACE _GLIBCXX_END_NESTED_NAMESPACE +# endif + +// debug +# if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && !_GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D _GLIBCXX_STD +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +// debug + parallel +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL && _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# define _GLIBCXX_EXTERN_TEMPLATE -1 +# endif + +// profile +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +# if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL || _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG +# error Cannot use -D_GLIBCXX_PROFILE with -D_GLIBCXX_DEBUG or \ + -D_GLIBCXX_PARALLEL +# endif +# define _GLIBCXX_STD_D __norm +# define _GLIBCXX_STD_P _GLIBCXX_STD +# define _GLIBCXX_STD_PR __norm +# define _GLIBCXX_STD __cxx1998 +# define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NAMESPACE } +# endif + +# if __NO_INLINE__ && !__GXX_WEAK__ +# warning currently using namespace associated mode which may fail \ + without inlining due to lack of weak symbols +# endif + +# define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) namespace X { namespace Y _GLIBCXX_VISIBILITY_ATTR(default) { +# define _GLIBCXX_END_NESTED_NAMESPACE } } +#endif + +// Namespace associations for debug mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_DEBUG && !_GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __debug { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for parallel mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PARALLEL +namespace std +{ + namespace __norm { } + inline namespace __parallel { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for profile mode +#if _GLIBCXX_NAMESPACE_ASSOCIATION_PROFILE +namespace std +{ + namespace __norm { } + inline namespace __profile { } + inline namespace __cxx1998 { } +} +#endif + +// Namespace associations for versioning mode. +#if _GLIBCXX_NAMESPACE_ASSOCIATION_VERSION +namespace std +{ + inline namespace _6 { } +} + +namespace __gnu_cxx +{ + inline namespace _6 { } +} + +namespace std +{ + namespace tr1 + { + inline namespace _6 { } + } +} +#endif + +// XXX GLIBCXX_ABI Deprecated +// Define if compatibility should be provided for -mlong-double-64 +#undef _GLIBCXX_LONG_DOUBLE_COMPAT + +// Namespace associations for long double 128 mode. +#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ +namespace std +{ + inline namespace __gnu_cxx_ldbl128 { } +} +# define _GLIBCXX_LDBL_NAMESPACE __gnu_cxx_ldbl128:: +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE namespace __gnu_cxx_ldbl128 { +# define _GLIBCXX_END_LDBL_NAMESPACE } +#else +# define _GLIBCXX_LDBL_NAMESPACE +# define _GLIBCXX_BEGIN_LDBL_NAMESPACE +# define _GLIBCXX_END_LDBL_NAMESPACE +#endif + + +// Defines for C compatibility. In particular, define extern "C" +// linkage only when using C++. +# define _GLIBCXX_BEGIN_EXTERN_C extern "C" { +# define _GLIBCXX_END_EXTERN_C } + +#else // !__cplusplus +# undef _GLIBCXX_BEGIN_NAMESPACE +# undef _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_NAMESPACE(X) +# define _GLIBCXX_END_NAMESPACE +# define _GLIBCXX_BEGIN_EXTERN_C +# define _GLIBCXX_END_EXTERN_C +#endif + +// First includes. + +// Pick up any OS-specific definitions. +#include + +// Pick up any CPU-specific definitions. +#include + +// If platform uses neither visibility nor psuedo-visibility, +// specify empty default for namespace annotation macros. +#ifndef _GLIBCXX_PSEUDO_VISIBILITY +#define _GLIBCXX_PSEUDO_VISIBILITY(V) +#endif + +// Allow use of "export template." This is currently not a feature +// that g++ supports. +// #define _GLIBCXX_EXPORT_TEMPLATE 1 + +// Allow use of the GNU syntax extension, "extern template." This +// extension is fully documented in the g++ manual, but in a nutshell, +// it inhibits all implicit instantiations and is used throughout the +// library to avoid multiple weak definitions for required types that +// are already explicitly instantiated in the library binary. This +// substantially reduces the binary size of resulting executables. + +// Special case: _GLIBCXX_EXTERN_TEMPLATE == -1 disallows extern +// templates only in basic_string, thus activating its debug-mode +// checks even at -O0. +#ifndef _GLIBCXX_EXTERN_TEMPLATE +# define _GLIBCXX_EXTERN_TEMPLATE 1 +#endif + +// Certain function definitions that are meant to be overridable from +// user code are decorated with this macro. For some targets, this +// macro causes these definitions to be weak. +#ifndef _GLIBCXX_WEAK_DEFINITION +# define _GLIBCXX_WEAK_DEFINITION +#endif + +// Assert. +// Avoid the use of assert, because we're trying to keep the +// include out of the mix. +#if !defined(_GLIBCXX_DEBUG) && !defined(_GLIBCXX_PARALLEL) +#define __glibcxx_assert(_Condition) +#else +_GLIBCXX_BEGIN_NAMESPACE(std) + // Avoid the use of assert, because we're trying to keep the + // include out of the mix. + inline void + __replacement_assert(const char* __file, int __line, + const char* __function, const char* __condition) + { + __builtin_printf("%s:%d: %s: Assertion '%s' failed.\n", __file, __line, + __function, __condition); + __builtin_abort(); + } +_GLIBCXX_END_NAMESPACE + +#define __glibcxx_assert(_Condition) \ + do \ + { \ + if (! (_Condition)) \ + std::__replacement_assert(__FILE__, __LINE__, \ + __PRETTY_FUNCTION__, #_Condition); \ + } while (false) +#endif + +// The remainder of the prewritten config is automatic; all the +// user hooks are listed above. + +// Create a boolean flag to be used to determine if --fast-math is set. +#ifdef __FAST_MATH__ +# define _GLIBCXX_FAST_MATH 1 +#else +# define _GLIBCXX_FAST_MATH 0 +#endif + +// This marks string literals in header files to be extracted for eventual +// translation. It is primarily used for messages in thrown exceptions; see +// src/functexcept.cc. We use __N because the more traditional _N is used +// for something else under certain OSes (see BADNAMES). +#define __N(msgid) (msgid) + +// For example, is known to #define min and max as macros... +#undef min +#undef max + +#ifndef _GLIBCXX_PURE +# define _GLIBCXX_PURE __attribute__ ((__pure__)) +#endif + +#ifndef _GLIBCXX_CONST +# define _GLIBCXX_CONST __attribute__ ((__const__)) +#endif + +#ifndef _GLIBCXX_NORETURN +# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) +#endif + +#ifndef _GLIBCXX_NOTHROW +# ifdef __cplusplus +# define _GLIBCXX_NOTHROW throw() +# else +# define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) +# endif +#endif + +// End of prewritten config; the discovered settings follow. +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef _GLIBCXX_HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef _GLIBCXX_HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef _GLIBCXX_HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef _GLIBCXX_HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef _GLIBCXX_HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef _GLIBCXX_HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef _GLIBCXX_HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef _GLIBCXX_HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef _GLIBCXX_HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef _GLIBCXX_HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef _GLIBCXX_HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef _GLIBCXX_HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef _GLIBCXX_HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define _GLIBCXX_HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define _GLIBCXX_HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define _GLIBCXX_HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define _GLIBCXX_HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define _GLIBCXX_HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define _GLIBCXX_HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define _GLIBCXX_HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef _GLIBCXX_HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define _GLIBCXX_HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define _GLIBCXX_HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef _GLIBCXX_HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define _GLIBCXX_HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define _GLIBCXX_HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define _GLIBCXX_HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef _GLIBCXX_HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef _GLIBCXX_HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef _GLIBCXX_HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef _GLIBCXX_HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FENV_H */ + +/* Define to 1 if you have the `finite' function. */ +#define _GLIBCXX_HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define _GLIBCXX_HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef _GLIBCXX_HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef _GLIBCXX_HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef _GLIBCXX_HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef _GLIBCXX_HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef _GLIBCXX_HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef _GLIBCXX_HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define _GLIBCXX_HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef _GLIBCXX_HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define _GLIBCXX_HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define _GLIBCXX_HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef _GLIBCXX_HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define _GLIBCXX_HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef _GLIBCXX_HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef _GLIBCXX_HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define _GLIBCXX_HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +#define _GLIBCXX_HAVE_INT64_T_LONG 1 + +/* Define if int64_t is a long long. */ +/* #undef _GLIBCXX_HAVE_INT64_T_LONG_LONG */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define _GLIBCXX_HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define _GLIBCXX_HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef _GLIBCXX_HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define _GLIBCXX_HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define _GLIBCXX_HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef _GLIBCXX_HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define _GLIBCXX_HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define _GLIBCXX_HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef _GLIBCXX_HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef _GLIBCXX_HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef _GLIBCXX_HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef _GLIBCXX_HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef _GLIBCXX_HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef _GLIBCXX_HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef _GLIBCXX_HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define _GLIBCXX_HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef _GLIBCXX_HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef _GLIBCXX_HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef _GLIBCXX_HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_NAN_H */ + +/* Define if poll is available in . */ +/* #undef _GLIBCXX_HAVE_POLL */ + +/* Define to 1 if you have the `powf' function. */ +/* #undef _GLIBCXX_HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef _GLIBCXX_HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef _GLIBCXX_HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef _GLIBCXX_HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef _GLIBCXX_HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef _GLIBCXX_HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef _GLIBCXX_HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef _GLIBCXX_HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef _GLIBCXX_HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef _GLIBCXX_HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef _GLIBCXX_HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef _GLIBCXX_HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define _GLIBCXX_HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef _GLIBCXX_HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef _GLIBCXX_HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef _GLIBCXX_HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +/* #undef _GLIBCXX_HAVE_S_ISREG */ + +/* Define to 1 if you have the `tanf' function. */ +/* #undef _GLIBCXX_HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef _GLIBCXX_HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef _GLIBCXX_HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef _GLIBCXX_HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +/* #undef _GLIBCXX_HAVE_TGMATH_H */ + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef _GLIBCXX_HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define _GLIBCXX_HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define _GLIBCXX_HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define _GLIBCXX_HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define _GLIBCXX_HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define _GLIBCXX_HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +/* #undef _GLIBCXX_HAVE_WRITEV */ + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef _GLIBCXX_HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef _GLIBCXX_HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef _GLIBCXX_HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef _GLIBCXX_HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef _GLIBCXX_HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef _GLIBCXX_HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef _GLIBCXX_HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef _GLIBCXX_HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef _GLIBCXX_HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef _GLIBCXX_HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef _GLIBCXX_HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef _GLIBCXX_HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef _GLIBCXX_HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef _GLIBCXX_HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef _GLIBCXX_HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef _GLIBCXX_HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef _GLIBCXX_HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef _GLIBCXX_HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef _GLIBCXX_HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef _GLIBCXX_HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef _GLIBCXX_HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef _GLIBCXX_HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef _GLIBCXX_HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef _GLIBCXX_HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef _GLIBCXX_HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef _GLIBCXX_HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef _GLIBCXX_HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef _GLIBCXX_HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef _GLIBCXX_HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef _GLIBCXX_HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef _GLIBCXX_HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef _GLIBCXX_HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef _GLIBCXX_HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef _GLIBCXX_HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef _GLIBCXX_HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef _GLIBCXX_HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef _GLIBCXX_HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef _GLIBCXX_HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef _GLIBCXX_HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef _GLIBCXX_HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef _GLIBCXX_HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef _GLIBCXX_HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef _GLIBCXX_HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef _GLIBCXX_HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef _GLIBCXX_HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef _GLIBCXX_HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef _GLIBCXX_HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef _GLIBCXX_HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef _GLIBCXX_HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef _GLIBCXX_HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef _GLIBCXX_HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef _GLIBCXX_HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef _GLIBCXX_HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef _GLIBCXX_HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef _GLIBCXX_HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef _GLIBCXX_HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef _GLIBCXX_HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef _GLIBCXX_HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef _GLIBCXX_ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef _GLIBCXX_PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define _GLIBCXX_PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define _GLIBCXX_PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define _GLIBCXX_PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define _GLIBCXX_PACKAGE_URL "" + +/* Define to the version of this package. */ +#define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef _GLIBCXX_VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +#define _GLIBCXX_ATOMIC_BUILTINS_1 1 + +/* Define if builtin atomic operations for short are supported on this host. + */ +#define _GLIBCXX_ATOMIC_BUILTINS_2 1 + +/* Define if builtin atomic operations for int are supported on this host. */ +#define _GLIBCXX_ATOMIC_BUILTINS_4 1 + +/* Define if builtin atomic operations for long long are supported on this + host. */ +#define _GLIBCXX_ATOMIC_BUILTINS_8 1 + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +/* #undef _GLIBCXX_USE_GETTIMEOFDAY */ + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (_GLIBCXX_HAVE__ACOSF) && ! defined (_GLIBCXX_HAVE_ACOSF) +# define _GLIBCXX_HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (_GLIBCXX_HAVE__ACOSL) && ! defined (_GLIBCXX_HAVE_ACOSL) +# define _GLIBCXX_HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (_GLIBCXX_HAVE__ASINF) && ! defined (_GLIBCXX_HAVE_ASINF) +# define _GLIBCXX_HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (_GLIBCXX_HAVE__ASINL) && ! defined (_GLIBCXX_HAVE_ASINL) +# define _GLIBCXX_HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2F) && ! defined (_GLIBCXX_HAVE_ATAN2F) +# define _GLIBCXX_HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (_GLIBCXX_HAVE__ATAN2L) && ! defined (_GLIBCXX_HAVE_ATAN2L) +# define _GLIBCXX_HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (_GLIBCXX_HAVE__ATANF) && ! defined (_GLIBCXX_HAVE_ATANF) +# define _GLIBCXX_HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (_GLIBCXX_HAVE__ATANL) && ! defined (_GLIBCXX_HAVE_ATANL) +# define _GLIBCXX_HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (_GLIBCXX_HAVE__CEILF) && ! defined (_GLIBCXX_HAVE_CEILF) +# define _GLIBCXX_HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (_GLIBCXX_HAVE__CEILL) && ! defined (_GLIBCXX_HAVE_CEILL) +# define _GLIBCXX_HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (_GLIBCXX_HAVE__COSF) && ! defined (_GLIBCXX_HAVE_COSF) +# define _GLIBCXX_HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (_GLIBCXX_HAVE__COSHF) && ! defined (_GLIBCXX_HAVE_COSHF) +# define _GLIBCXX_HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (_GLIBCXX_HAVE__COSHL) && ! defined (_GLIBCXX_HAVE_COSHL) +# define _GLIBCXX_HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (_GLIBCXX_HAVE__COSL) && ! defined (_GLIBCXX_HAVE_COSL) +# define _GLIBCXX_HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (_GLIBCXX_HAVE__EXPF) && ! defined (_GLIBCXX_HAVE_EXPF) +# define _GLIBCXX_HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (_GLIBCXX_HAVE__EXPL) && ! defined (_GLIBCXX_HAVE_EXPL) +# define _GLIBCXX_HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (_GLIBCXX_HAVE__FABSF) && ! defined (_GLIBCXX_HAVE_FABSF) +# define _GLIBCXX_HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (_GLIBCXX_HAVE__FABSL) && ! defined (_GLIBCXX_HAVE_FABSL) +# define _GLIBCXX_HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (_GLIBCXX_HAVE__FINITE) && ! defined (_GLIBCXX_HAVE_FINITE) +# define _GLIBCXX_HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (_GLIBCXX_HAVE__FINITEF) && ! defined (_GLIBCXX_HAVE_FINITEF) +# define _GLIBCXX_HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (_GLIBCXX_HAVE__FINITEL) && ! defined (_GLIBCXX_HAVE_FINITEL) +# define _GLIBCXX_HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (_GLIBCXX_HAVE__FLOORF) && ! defined (_GLIBCXX_HAVE_FLOORF) +# define _GLIBCXX_HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (_GLIBCXX_HAVE__FLOORL) && ! defined (_GLIBCXX_HAVE_FLOORL) +# define _GLIBCXX_HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (_GLIBCXX_HAVE__FMODF) && ! defined (_GLIBCXX_HAVE_FMODF) +# define _GLIBCXX_HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (_GLIBCXX_HAVE__FMODL) && ! defined (_GLIBCXX_HAVE_FMODL) +# define _GLIBCXX_HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (_GLIBCXX_HAVE__FPCLASS) && ! defined (_GLIBCXX_HAVE_FPCLASS) +# define _GLIBCXX_HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (_GLIBCXX_HAVE__FREXPF) && ! defined (_GLIBCXX_HAVE_FREXPF) +# define _GLIBCXX_HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (_GLIBCXX_HAVE__FREXPL) && ! defined (_GLIBCXX_HAVE_FREXPL) +# define _GLIBCXX_HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (_GLIBCXX_HAVE__HYPOT) && ! defined (_GLIBCXX_HAVE_HYPOT) +# define _GLIBCXX_HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTF) && ! defined (_GLIBCXX_HAVE_HYPOTF) +# define _GLIBCXX_HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (_GLIBCXX_HAVE__HYPOTL) && ! defined (_GLIBCXX_HAVE_HYPOTL) +# define _GLIBCXX_HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (_GLIBCXX_HAVE__ISINF) && ! defined (_GLIBCXX_HAVE_ISINF) +# define _GLIBCXX_HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (_GLIBCXX_HAVE__ISINFF) && ! defined (_GLIBCXX_HAVE_ISINFF) +# define _GLIBCXX_HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (_GLIBCXX_HAVE__ISINFL) && ! defined (_GLIBCXX_HAVE_ISINFL) +# define _GLIBCXX_HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (_GLIBCXX_HAVE__ISNAN) && ! defined (_GLIBCXX_HAVE_ISNAN) +# define _GLIBCXX_HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (_GLIBCXX_HAVE__ISNANF) && ! defined (_GLIBCXX_HAVE_ISNANF) +# define _GLIBCXX_HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (_GLIBCXX_HAVE__ISNANL) && ! defined (_GLIBCXX_HAVE_ISNANL) +# define _GLIBCXX_HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPF) && ! defined (_GLIBCXX_HAVE_LDEXPF) +# define _GLIBCXX_HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (_GLIBCXX_HAVE__LDEXPL) && ! defined (_GLIBCXX_HAVE_LDEXPL) +# define _GLIBCXX_HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (_GLIBCXX_HAVE__LOG10F) && ! defined (_GLIBCXX_HAVE_LOG10F) +# define _GLIBCXX_HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (_GLIBCXX_HAVE__LOG10L) && ! defined (_GLIBCXX_HAVE_LOG10L) +# define _GLIBCXX_HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (_GLIBCXX_HAVE__LOGF) && ! defined (_GLIBCXX_HAVE_LOGF) +# define _GLIBCXX_HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (_GLIBCXX_HAVE__LOGL) && ! defined (_GLIBCXX_HAVE_LOGL) +# define _GLIBCXX_HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (_GLIBCXX_HAVE__MODF) && ! defined (_GLIBCXX_HAVE_MODF) +# define _GLIBCXX_HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (_GLIBCXX_HAVE__MODFF) && ! defined (_GLIBCXX_HAVE_MODFF) +# define _GLIBCXX_HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (_GLIBCXX_HAVE__MODFL) && ! defined (_GLIBCXX_HAVE_MODFL) +# define _GLIBCXX_HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (_GLIBCXX_HAVE__POWF) && ! defined (_GLIBCXX_HAVE_POWF) +# define _GLIBCXX_HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (_GLIBCXX_HAVE__POWL) && ! defined (_GLIBCXX_HAVE_POWL) +# define _GLIBCXX_HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (_GLIBCXX_HAVE__QFPCLASS) && ! defined (_GLIBCXX_HAVE_QFPCLASS) +# define _GLIBCXX_HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (_GLIBCXX_HAVE__SINCOS) && ! defined (_GLIBCXX_HAVE_SINCOS) +# define _GLIBCXX_HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSF) && ! defined (_GLIBCXX_HAVE_SINCOSF) +# define _GLIBCXX_HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (_GLIBCXX_HAVE__SINCOSL) && ! defined (_GLIBCXX_HAVE_SINCOSL) +# define _GLIBCXX_HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (_GLIBCXX_HAVE__SINF) && ! defined (_GLIBCXX_HAVE_SINF) +# define _GLIBCXX_HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (_GLIBCXX_HAVE__SINHF) && ! defined (_GLIBCXX_HAVE_SINHF) +# define _GLIBCXX_HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (_GLIBCXX_HAVE__SINHL) && ! defined (_GLIBCXX_HAVE_SINHL) +# define _GLIBCXX_HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (_GLIBCXX_HAVE__SINL) && ! defined (_GLIBCXX_HAVE_SINL) +# define _GLIBCXX_HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (_GLIBCXX_HAVE__SQRTF) && ! defined (_GLIBCXX_HAVE_SQRTF) +# define _GLIBCXX_HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (_GLIBCXX_HAVE__SQRTL) && ! defined (_GLIBCXX_HAVE_SQRTL) +# define _GLIBCXX_HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (_GLIBCXX_HAVE__STRTOF) && ! defined (_GLIBCXX_HAVE_STRTOF) +# define _GLIBCXX_HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (_GLIBCXX_HAVE__STRTOLD) && ! defined (_GLIBCXX_HAVE_STRTOLD) +# define _GLIBCXX_HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (_GLIBCXX_HAVE__TANF) && ! defined (_GLIBCXX_HAVE_TANF) +# define _GLIBCXX_HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (_GLIBCXX_HAVE__TANHF) && ! defined (_GLIBCXX_HAVE_TANHF) +# define _GLIBCXX_HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (_GLIBCXX_HAVE__TANHL) && ! defined (_GLIBCXX_HAVE_TANHL) +# define _GLIBCXX_HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (_GLIBCXX_HAVE__TANL) && ! defined (_GLIBCXX_HAVE_TANL) +# define _GLIBCXX_HAVE_TANL 1 +# define tanl _tanl +#endif + +#endif // _GLIBCXX_CXX_CONFIG_H diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/config.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/config.h new file mode 100644 index 000000000..59771dd20 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/config.h @@ -0,0 +1,1127 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.h.in by configure. */ +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you have the `acosf' function. */ +/* #undef HAVE_ACOSF */ + +/* Define to 1 if you have the `acosl' function. */ +/* #undef HAVE_ACOSL */ + +/* Define to 1 if you have the `asinf' function. */ +/* #undef HAVE_ASINF */ + +/* Define to 1 if you have the `asinl' function. */ +/* #undef HAVE_ASINL */ + +/* Define to 1 if the target assembler supports .symver directive. */ +#define HAVE_AS_SYMVER_DIRECTIVE 1 + +/* Define to 1 if you have the `atan2f' function. */ +/* #undef HAVE_ATAN2F */ + +/* Define to 1 if you have the `atan2l' function. */ +/* #undef HAVE_ATAN2L */ + +/* Define to 1 if you have the `atanf' function. */ +/* #undef HAVE_ATANF */ + +/* Define to 1 if you have the `atanl' function. */ +/* #undef HAVE_ATANL */ + +/* Define to 1 if the target assembler supports thread-local storage. */ +/* #undef HAVE_CC_TLS */ + +/* Define to 1 if you have the `ceilf' function. */ +/* #undef HAVE_CEILF */ + +/* Define to 1 if you have the `ceill' function. */ +/* #undef HAVE_CEILL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_COMPLEX_H 1 + +/* Define to 1 if you have the `cosf' function. */ +/* #undef HAVE_COSF */ + +/* Define to 1 if you have the `coshf' function. */ +/* #undef HAVE_COSHF */ + +/* Define to 1 if you have the `coshl' function. */ +/* #undef HAVE_COSHL */ + +/* Define to 1 if you have the `cosl' function. */ +/* #undef HAVE_COSL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if EBADMSG exists. */ +#define HAVE_EBADMSG 1 + +/* Define if ECANCELED exists. */ +#define HAVE_ECANCELED 1 + +/* Define if EIDRM exists. */ +#define HAVE_EIDRM 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_ENDIAN_H */ + +/* Define if ENODATA exists. */ +#define HAVE_ENODATA 1 + +/* Define if ENOLINK exists. */ +#define HAVE_ENOLINK 1 + +/* Define if ENOSR exists. */ +#define HAVE_ENOSR 1 + +/* Define if ENOSTR exists. */ +#define HAVE_ENOSTR 1 + +/* Define if ENOTRECOVERABLE exists. */ +/* #undef HAVE_ENOTRECOVERABLE */ + +/* Define if ENOTSUP exists. */ +#define HAVE_ENOTSUP 1 + +/* Define if EOVERFLOW exists. */ +#define HAVE_EOVERFLOW 1 + +/* Define if EOWNERDEAD exists. */ +/* #undef HAVE_EOWNERDEAD */ + +/* Define if EPROTO exists. */ +#define HAVE_EPROTO 1 + +/* Define if ETIME exists. */ +#define HAVE_ETIME 1 + +/* Define if ETXTBSY exists. */ +#define HAVE_ETXTBSY 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the `expf' function. */ +/* #undef HAVE_EXPF */ + +/* Define to 1 if you have the `expl' function. */ +/* #undef HAVE_EXPL */ + +/* Define to 1 if you have the `fabsf' function. */ +/* #undef HAVE_FABSF */ + +/* Define to 1 if you have the `fabsl' function. */ +/* #undef HAVE_FABSL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FENV_H */ + +/* Define to 1 if you have the `finite' function. */ +#define HAVE_FINITE 1 + +/* Define to 1 if you have the `finitef' function. */ +#define HAVE_FINITEF 1 + +/* Define to 1 if you have the `finitel' function. */ +/* #undef HAVE_FINITEL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `floorf' function. */ +/* #undef HAVE_FLOORF */ + +/* Define to 1 if you have the `floorl' function. */ +/* #undef HAVE_FLOORL */ + +/* Define to 1 if you have the `fmodf' function. */ +/* #undef HAVE_FMODF */ + +/* Define to 1 if you have the `fmodl' function. */ +/* #undef HAVE_FMODL */ + +/* Define to 1 if you have the `fpclass' function. */ +/* #undef HAVE_FPCLASS */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_FP_H */ + +/* Define to 1 if you have the `frexpf' function. */ +#define HAVE_FREXPF 1 + +/* Define to 1 if you have the `frexpl' function. */ +/* #undef HAVE_FREXPL */ + +/* Define if _Unwind_GetIPInfo is available. */ +#define HAVE_GETIPINFO 1 + +/* Define if gthr-default.h exists (meaning that threading support is + enabled). */ +#define HAVE_GTHR_DEFAULT 1 + +/* Define to 1 if you have the `hypot' function. */ +/* #undef HAVE_HYPOT */ + +/* Define to 1 if you have the `hypotf' function. */ +#define HAVE_HYPOTF 1 + +/* Define to 1 if you have the `hypotl' function. */ +/* #undef HAVE_HYPOTL */ + +/* Define if you have the iconv() function. */ +/* #undef HAVE_ICONV */ + +/* Define to 1 if you have the header file. */ +#define HAVE_IEEEFP_H 1 + +/* Define if int64_t is available in . */ +#define HAVE_INT64_T 1 + +/* Define if int64_t is a long. */ +#define HAVE_INT64_T_LONG 1 + +/* Define if int64_t is a long long. */ +/* #undef HAVE_INT64_T_LONG_LONG */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `isinf' function. */ +#define HAVE_ISINF 1 + +/* Define to 1 if you have the `isinff' function. */ +#define HAVE_ISINFF 1 + +/* Define to 1 if you have the `isinfl' function. */ +/* #undef HAVE_ISINFL */ + +/* Define to 1 if you have the `isnan' function. */ +#define HAVE_ISNAN 1 + +/* Define to 1 if you have the `isnanf' function. */ +#define HAVE_ISNANF 1 + +/* Define to 1 if you have the `isnanl' function. */ +/* #undef HAVE_ISNANL */ + +/* Defined if iswblank exists. */ +#define HAVE_ISWBLANK 1 + +/* Define if LC_MESSAGES is available in . */ +#define HAVE_LC_MESSAGES 1 + +/* Define to 1 if you have the `ldexpf' function. */ +/* #undef HAVE_LDEXPF */ + +/* Define to 1 if you have the `ldexpl' function. */ +/* #undef HAVE_LDEXPL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LIBINTL_H */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_AS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_DATA */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_FSIZE */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_RSS */ + +/* Only used in build directory testsuite_hooks.h. */ +/* #undef HAVE_LIMIT_VMEM */ + +/* Define if futex syscall is available. */ +/* #undef HAVE_LINUX_FUTEX */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the `log10f' function. */ +/* #undef HAVE_LOG10F */ + +/* Define to 1 if you have the `log10l' function. */ +/* #undef HAVE_LOG10L */ + +/* Define to 1 if you have the `logf' function. */ +/* #undef HAVE_LOGF */ + +/* Define to 1 if you have the `logl' function. */ +/* #undef HAVE_LOGL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_ENDIAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MACHINE_PARAM_H 1 + +/* Define if mbstate_t exists in wchar.h. */ +#define HAVE_MBSTATE_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `modf' function. */ +/* #undef HAVE_MODF */ + +/* Define to 1 if you have the `modff' function. */ +/* #undef HAVE_MODFF */ + +/* Define to 1 if you have the `modfl' function. */ +/* #undef HAVE_MODFL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_NAN_H */ + +/* Define if poll is available in . */ +/* #undef HAVE_POLL */ + +/* Define to 1 if you have the `powf' function. */ +/* #undef HAVE_POWF */ + +/* Define to 1 if you have the `powl' function. */ +/* #undef HAVE_POWL */ + +/* Define to 1 if you have the `qfpclass' function. */ +/* #undef HAVE_QFPCLASS */ + +/* Define to 1 if you have the `setenv' function. */ +/* #undef HAVE_SETENV */ + +/* Define to 1 if you have the `sincos' function. */ +/* #undef HAVE_SINCOS */ + +/* Define to 1 if you have the `sincosf' function. */ +/* #undef HAVE_SINCOSF */ + +/* Define to 1 if you have the `sincosl' function. */ +/* #undef HAVE_SINCOSL */ + +/* Define to 1 if you have the `sinf' function. */ +/* #undef HAVE_SINF */ + +/* Define to 1 if you have the `sinhf' function. */ +/* #undef HAVE_SINHF */ + +/* Define to 1 if you have the `sinhl' function. */ +/* #undef HAVE_SINHL */ + +/* Define to 1 if you have the `sinl' function. */ +/* #undef HAVE_SINL */ + +/* Define to 1 if you have the `sqrtf' function. */ +/* #undef HAVE_SQRTF */ + +/* Define to 1 if you have the `sqrtl' function. */ +/* #undef HAVE_SQRTL */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDBOOL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define if strerror_l is available in . */ +/* #undef HAVE_STRERROR_L */ + +/* Define if strerror_r is available in . */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strtof' function. */ +/* #undef HAVE_STRTOF */ + +/* Define to 1 if you have the `strtold' function. */ +/* #undef HAVE_STRTOLD */ + +/* Define if strxfrm_l is available in . */ +/* #undef HAVE_STRXFRM_L */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_IPC_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ISA_DEFS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MACHINE_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SEM_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UIO_H 1 + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_IFREG */ + +/* Define if S_IFREG is available in . */ +/* #undef HAVE_S_ISREG */ + +/* Define to 1 if you have the `tanf' function. */ +/* #undef HAVE_TANF */ + +/* Define to 1 if you have the `tanhf' function. */ +/* #undef HAVE_TANHF */ + +/* Define to 1 if you have the `tanhl' function. */ +/* #undef HAVE_TANHL */ + +/* Define to 1 if you have the `tanl' function. */ +/* #undef HAVE_TANL */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_TGMATH_H */ + +/* Define to 1 if the target supports thread-local storage. */ +/* #undef HAVE_TLS */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Defined if vfwscanf exists. */ +#define HAVE_VFWSCANF 1 + +/* Defined if vswscanf exists. */ +#define HAVE_VSWSCANF 1 + +/* Defined if vwscanf exists. */ +#define HAVE_VWSCANF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCHAR_H 1 + +/* Defined if wcstof exists. */ +#define HAVE_WCSTOF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if writev is available in . */ +/* #undef HAVE_WRITEV */ + +/* Define to 1 if you have the `_acosf' function. */ +/* #undef HAVE__ACOSF */ + +/* Define to 1 if you have the `_acosl' function. */ +/* #undef HAVE__ACOSL */ + +/* Define to 1 if you have the `_asinf' function. */ +/* #undef HAVE__ASINF */ + +/* Define to 1 if you have the `_asinl' function. */ +/* #undef HAVE__ASINL */ + +/* Define to 1 if you have the `_atan2f' function. */ +/* #undef HAVE__ATAN2F */ + +/* Define to 1 if you have the `_atan2l' function. */ +/* #undef HAVE__ATAN2L */ + +/* Define to 1 if you have the `_atanf' function. */ +/* #undef HAVE__ATANF */ + +/* Define to 1 if you have the `_atanl' function. */ +/* #undef HAVE__ATANL */ + +/* Define to 1 if you have the `_ceilf' function. */ +/* #undef HAVE__CEILF */ + +/* Define to 1 if you have the `_ceill' function. */ +/* #undef HAVE__CEILL */ + +/* Define to 1 if you have the `_cosf' function. */ +/* #undef HAVE__COSF */ + +/* Define to 1 if you have the `_coshf' function. */ +/* #undef HAVE__COSHF */ + +/* Define to 1 if you have the `_coshl' function. */ +/* #undef HAVE__COSHL */ + +/* Define to 1 if you have the `_cosl' function. */ +/* #undef HAVE__COSL */ + +/* Define to 1 if you have the `_expf' function. */ +/* #undef HAVE__EXPF */ + +/* Define to 1 if you have the `_expl' function. */ +/* #undef HAVE__EXPL */ + +/* Define to 1 if you have the `_fabsf' function. */ +/* #undef HAVE__FABSF */ + +/* Define to 1 if you have the `_fabsl' function. */ +/* #undef HAVE__FABSL */ + +/* Define to 1 if you have the `_finite' function. */ +/* #undef HAVE__FINITE */ + +/* Define to 1 if you have the `_finitef' function. */ +/* #undef HAVE__FINITEF */ + +/* Define to 1 if you have the `_finitel' function. */ +/* #undef HAVE__FINITEL */ + +/* Define to 1 if you have the `_floorf' function. */ +/* #undef HAVE__FLOORF */ + +/* Define to 1 if you have the `_floorl' function. */ +/* #undef HAVE__FLOORL */ + +/* Define to 1 if you have the `_fmodf' function. */ +/* #undef HAVE__FMODF */ + +/* Define to 1 if you have the `_fmodl' function. */ +/* #undef HAVE__FMODL */ + +/* Define to 1 if you have the `_fpclass' function. */ +/* #undef HAVE__FPCLASS */ + +/* Define to 1 if you have the `_frexpf' function. */ +/* #undef HAVE__FREXPF */ + +/* Define to 1 if you have the `_frexpl' function. */ +/* #undef HAVE__FREXPL */ + +/* Define to 1 if you have the `_hypot' function. */ +/* #undef HAVE__HYPOT */ + +/* Define to 1 if you have the `_hypotf' function. */ +/* #undef HAVE__HYPOTF */ + +/* Define to 1 if you have the `_hypotl' function. */ +/* #undef HAVE__HYPOTL */ + +/* Define to 1 if you have the `_isinf' function. */ +/* #undef HAVE__ISINF */ + +/* Define to 1 if you have the `_isinff' function. */ +/* #undef HAVE__ISINFF */ + +/* Define to 1 if you have the `_isinfl' function. */ +/* #undef HAVE__ISINFL */ + +/* Define to 1 if you have the `_isnan' function. */ +/* #undef HAVE__ISNAN */ + +/* Define to 1 if you have the `_isnanf' function. */ +/* #undef HAVE__ISNANF */ + +/* Define to 1 if you have the `_isnanl' function. */ +/* #undef HAVE__ISNANL */ + +/* Define to 1 if you have the `_ldexpf' function. */ +/* #undef HAVE__LDEXPF */ + +/* Define to 1 if you have the `_ldexpl' function. */ +/* #undef HAVE__LDEXPL */ + +/* Define to 1 if you have the `_log10f' function. */ +/* #undef HAVE__LOG10F */ + +/* Define to 1 if you have the `_log10l' function. */ +/* #undef HAVE__LOG10L */ + +/* Define to 1 if you have the `_logf' function. */ +/* #undef HAVE__LOGF */ + +/* Define to 1 if you have the `_logl' function. */ +/* #undef HAVE__LOGL */ + +/* Define to 1 if you have the `_modf' function. */ +/* #undef HAVE__MODF */ + +/* Define to 1 if you have the `_modff' function. */ +/* #undef HAVE__MODFF */ + +/* Define to 1 if you have the `_modfl' function. */ +/* #undef HAVE__MODFL */ + +/* Define to 1 if you have the `_powf' function. */ +/* #undef HAVE__POWF */ + +/* Define to 1 if you have the `_powl' function. */ +/* #undef HAVE__POWL */ + +/* Define to 1 if you have the `_qfpclass' function. */ +/* #undef HAVE__QFPCLASS */ + +/* Define to 1 if you have the `_sincos' function. */ +/* #undef HAVE__SINCOS */ + +/* Define to 1 if you have the `_sincosf' function. */ +/* #undef HAVE__SINCOSF */ + +/* Define to 1 if you have the `_sincosl' function. */ +/* #undef HAVE__SINCOSL */ + +/* Define to 1 if you have the `_sinf' function. */ +/* #undef HAVE__SINF */ + +/* Define to 1 if you have the `_sinhf' function. */ +/* #undef HAVE__SINHF */ + +/* Define to 1 if you have the `_sinhl' function. */ +/* #undef HAVE__SINHL */ + +/* Define to 1 if you have the `_sinl' function. */ +/* #undef HAVE__SINL */ + +/* Define to 1 if you have the `_sqrtf' function. */ +/* #undef HAVE__SQRTF */ + +/* Define to 1 if you have the `_sqrtl' function. */ +/* #undef HAVE__SQRTL */ + +/* Define to 1 if you have the `_tanf' function. */ +/* #undef HAVE__TANF */ + +/* Define to 1 if you have the `_tanhf' function. */ +/* #undef HAVE__TANHF */ + +/* Define to 1 if you have the `_tanhl' function. */ +/* #undef HAVE__TANHL */ + +/* Define to 1 if you have the `_tanl' function. */ +/* #undef HAVE__TANL */ + +/* Define as const if the declaration of iconv() needs const. */ +/* #undef ICONV_CONST */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +/* #undef PACKAGE */ + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "package-unused" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "package-unused version-unused" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libstdc++" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "version-unused" + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +/* #undef SIZEOF_INT */ + +/* The size of `long', as computed by sizeof. */ +/* #undef SIZEOF_LONG */ + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +/* #undef VERSION */ + +/* Define if builtin atomic operations for bool are supported on this host. */ +#define _GLIBCXX_ATOMIC_BUILTINS_1 1 + +/* Define if builtin atomic operations for short are supported on this host. + */ +#define _GLIBCXX_ATOMIC_BUILTINS_2 1 + +/* Define if builtin atomic operations for int are supported on this host. */ +#define _GLIBCXX_ATOMIC_BUILTINS_4 1 + +/* Define if builtin atomic operations for long long are supported on this + host. */ +#define _GLIBCXX_ATOMIC_BUILTINS_8 1 + +/* Define to use concept checking code from the boost libraries. */ +/* #undef _GLIBCXX_CONCEPT_CHECKS */ + +/* Define if a fully dynamic basic_string is wanted. */ +/* #undef _GLIBCXX_FULLY_DYNAMIC_STRING */ + +/* Define if gthreads library is available. */ +/* #undef _GLIBCXX_HAS_GTHREADS */ + +/* Define to 1 if a full hosted library is built, or 0 if freestanding. */ +#define _GLIBCXX_HOSTED 1 + +/* Define if compatibility should be provided for -mlong-double-64. */ +/* #undef _GLIBCXX_LONG_DOUBLE_COMPAT */ + +/* Define if ptrdiff_t is int. */ +/* #undef _GLIBCXX_PTRDIFF_T_IS_INT */ + +/* Define if using setrlimit to set resource limits during "make check" */ +/* #undef _GLIBCXX_RES_LIMITS */ + +/* Define if size_t is unsigned int. */ +/* #undef _GLIBCXX_SIZE_T_IS_UINT */ + +/* Define if the compiler is configured for setjmp/longjmp exceptions. */ +/* #undef _GLIBCXX_SJLJ_EXCEPTIONS */ + +/* Define if EOF == -1, SEEK_CUR == 1, SEEK_END == 2. */ +#define _GLIBCXX_STDIO_MACROS 1 + +/* Define to use symbol versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER */ + +/* Define to use darwin versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_DARWIN */ + +/* Define to use GNU versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU */ + +/* Define to use GNU namespace versioning in the shared library. */ +/* #undef _GLIBCXX_SYMVER_GNU_NAMESPACE */ + +/* Define if C99 functions or macros from , , , + , and can be used or exposed. */ +/* #undef _GLIBCXX_USE_C99 */ + +/* Define if C99 functions in should be used in . Using + compiler builtins for these functions requires corresponding C99 library + functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX */ + +/* Define if C99 functions in should be used in . + Using compiler builtins for these functions requires corresponding C99 + library functions to be present. */ +/* #undef _GLIBCXX_USE_C99_COMPLEX_TR1 */ + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_CTYPE_TR1 1 + +/* Define if C99 functions in should be imported in in + namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_FENV_TR1 */ + +/* Define if C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_TR1 1 + +/* Define if wchar_t C99 functions in should be imported in + in namespace std::tr1. */ +#define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std. */ +#define _GLIBCXX_USE_C99_MATH 1 + +/* Define if C99 functions or macros in should be imported in + in namespace std::tr1. */ +/* #undef _GLIBCXX_USE_C99_MATH_TR1 */ + +/* Define if C99 types in should be imported in in + namespace std::tr1. */ +#define _GLIBCXX_USE_C99_STDINT_TR1 1 + +/* Defined if clock_gettime has monotonic clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_MONOTONIC */ + +/* Defined if clock_gettime has realtime clock support. */ +/* #undef _GLIBCXX_USE_CLOCK_REALTIME */ + +/* Define if ISO/IEC TR 24733 decimal floating point types are supported on + this host. */ +/* #undef _GLIBCXX_USE_DECIMAL_FLOAT */ + +/* Defined if gettimeofday is available. */ +/* #undef _GLIBCXX_USE_GETTIMEOFDAY */ + +/* Define if LFS support is available. */ +/* #undef _GLIBCXX_USE_LFS */ + +/* Define if code specialized for long long should be used. */ +#define _GLIBCXX_USE_LONG_LONG 1 + +/* Defined if nanosleep is available. */ +/* #undef _GLIBCXX_USE_NANOSLEEP */ + +/* Define if NLS translations are to be used. */ +/* #undef _GLIBCXX_USE_NLS */ + +/* Define if /dev/random and /dev/urandom are available for the random_device + of TR1 (Chapter 5.1). */ +/* #undef _GLIBCXX_USE_RANDOM_TR1 */ + +/* Defined if sched_yield is available. */ +/* #undef _GLIBCXX_USE_SCHED_YIELD */ + +/* Define if code specialized for wchar_t should be used. */ +#define _GLIBCXX_USE_WCHAR_T 1 + +#if defined (HAVE__ACOSF) && ! defined (HAVE_ACOSF) +# define HAVE_ACOSF 1 +# define acosf _acosf +#endif + +#if defined (HAVE__ACOSL) && ! defined (HAVE_ACOSL) +# define HAVE_ACOSL 1 +# define acosl _acosl +#endif + +#if defined (HAVE__ASINF) && ! defined (HAVE_ASINF) +# define HAVE_ASINF 1 +# define asinf _asinf +#endif + +#if defined (HAVE__ASINL) && ! defined (HAVE_ASINL) +# define HAVE_ASINL 1 +# define asinl _asinl +#endif + +#if defined (HAVE__ATAN2F) && ! defined (HAVE_ATAN2F) +# define HAVE_ATAN2F 1 +# define atan2f _atan2f +#endif + +#if defined (HAVE__ATAN2L) && ! defined (HAVE_ATAN2L) +# define HAVE_ATAN2L 1 +# define atan2l _atan2l +#endif + +#if defined (HAVE__ATANF) && ! defined (HAVE_ATANF) +# define HAVE_ATANF 1 +# define atanf _atanf +#endif + +#if defined (HAVE__ATANL) && ! defined (HAVE_ATANL) +# define HAVE_ATANL 1 +# define atanl _atanl +#endif + +#if defined (HAVE__CEILF) && ! defined (HAVE_CEILF) +# define HAVE_CEILF 1 +# define ceilf _ceilf +#endif + +#if defined (HAVE__CEILL) && ! defined (HAVE_CEILL) +# define HAVE_CEILL 1 +# define ceill _ceill +#endif + +#if defined (HAVE__COSF) && ! defined (HAVE_COSF) +# define HAVE_COSF 1 +# define cosf _cosf +#endif + +#if defined (HAVE__COSHF) && ! defined (HAVE_COSHF) +# define HAVE_COSHF 1 +# define coshf _coshf +#endif + +#if defined (HAVE__COSHL) && ! defined (HAVE_COSHL) +# define HAVE_COSHL 1 +# define coshl _coshl +#endif + +#if defined (HAVE__COSL) && ! defined (HAVE_COSL) +# define HAVE_COSL 1 +# define cosl _cosl +#endif + +#if defined (HAVE__EXPF) && ! defined (HAVE_EXPF) +# define HAVE_EXPF 1 +# define expf _expf +#endif + +#if defined (HAVE__EXPL) && ! defined (HAVE_EXPL) +# define HAVE_EXPL 1 +# define expl _expl +#endif + +#if defined (HAVE__FABSF) && ! defined (HAVE_FABSF) +# define HAVE_FABSF 1 +# define fabsf _fabsf +#endif + +#if defined (HAVE__FABSL) && ! defined (HAVE_FABSL) +# define HAVE_FABSL 1 +# define fabsl _fabsl +#endif + +#if defined (HAVE__FINITE) && ! defined (HAVE_FINITE) +# define HAVE_FINITE 1 +# define finite _finite +#endif + +#if defined (HAVE__FINITEF) && ! defined (HAVE_FINITEF) +# define HAVE_FINITEF 1 +# define finitef _finitef +#endif + +#if defined (HAVE__FINITEL) && ! defined (HAVE_FINITEL) +# define HAVE_FINITEL 1 +# define finitel _finitel +#endif + +#if defined (HAVE__FLOORF) && ! defined (HAVE_FLOORF) +# define HAVE_FLOORF 1 +# define floorf _floorf +#endif + +#if defined (HAVE__FLOORL) && ! defined (HAVE_FLOORL) +# define HAVE_FLOORL 1 +# define floorl _floorl +#endif + +#if defined (HAVE__FMODF) && ! defined (HAVE_FMODF) +# define HAVE_FMODF 1 +# define fmodf _fmodf +#endif + +#if defined (HAVE__FMODL) && ! defined (HAVE_FMODL) +# define HAVE_FMODL 1 +# define fmodl _fmodl +#endif + +#if defined (HAVE__FPCLASS) && ! defined (HAVE_FPCLASS) +# define HAVE_FPCLASS 1 +# define fpclass _fpclass +#endif + +#if defined (HAVE__FREXPF) && ! defined (HAVE_FREXPF) +# define HAVE_FREXPF 1 +# define frexpf _frexpf +#endif + +#if defined (HAVE__FREXPL) && ! defined (HAVE_FREXPL) +# define HAVE_FREXPL 1 +# define frexpl _frexpl +#endif + +#if defined (HAVE__HYPOT) && ! defined (HAVE_HYPOT) +# define HAVE_HYPOT 1 +# define hypot _hypot +#endif + +#if defined (HAVE__HYPOTF) && ! defined (HAVE_HYPOTF) +# define HAVE_HYPOTF 1 +# define hypotf _hypotf +#endif + +#if defined (HAVE__HYPOTL) && ! defined (HAVE_HYPOTL) +# define HAVE_HYPOTL 1 +# define hypotl _hypotl +#endif + +#if defined (HAVE__ISINF) && ! defined (HAVE_ISINF) +# define HAVE_ISINF 1 +# define isinf _isinf +#endif + +#if defined (HAVE__ISINFF) && ! defined (HAVE_ISINFF) +# define HAVE_ISINFF 1 +# define isinff _isinff +#endif + +#if defined (HAVE__ISINFL) && ! defined (HAVE_ISINFL) +# define HAVE_ISINFL 1 +# define isinfl _isinfl +#endif + +#if defined (HAVE__ISNAN) && ! defined (HAVE_ISNAN) +# define HAVE_ISNAN 1 +# define isnan _isnan +#endif + +#if defined (HAVE__ISNANF) && ! defined (HAVE_ISNANF) +# define HAVE_ISNANF 1 +# define isnanf _isnanf +#endif + +#if defined (HAVE__ISNANL) && ! defined (HAVE_ISNANL) +# define HAVE_ISNANL 1 +# define isnanl _isnanl +#endif + +#if defined (HAVE__LDEXPF) && ! defined (HAVE_LDEXPF) +# define HAVE_LDEXPF 1 +# define ldexpf _ldexpf +#endif + +#if defined (HAVE__LDEXPL) && ! defined (HAVE_LDEXPL) +# define HAVE_LDEXPL 1 +# define ldexpl _ldexpl +#endif + +#if defined (HAVE__LOG10F) && ! defined (HAVE_LOG10F) +# define HAVE_LOG10F 1 +# define log10f _log10f +#endif + +#if defined (HAVE__LOG10L) && ! defined (HAVE_LOG10L) +# define HAVE_LOG10L 1 +# define log10l _log10l +#endif + +#if defined (HAVE__LOGF) && ! defined (HAVE_LOGF) +# define HAVE_LOGF 1 +# define logf _logf +#endif + +#if defined (HAVE__LOGL) && ! defined (HAVE_LOGL) +# define HAVE_LOGL 1 +# define logl _logl +#endif + +#if defined (HAVE__MODF) && ! defined (HAVE_MODF) +# define HAVE_MODF 1 +# define modf _modf +#endif + +#if defined (HAVE__MODFF) && ! defined (HAVE_MODFF) +# define HAVE_MODFF 1 +# define modff _modff +#endif + +#if defined (HAVE__MODFL) && ! defined (HAVE_MODFL) +# define HAVE_MODFL 1 +# define modfl _modfl +#endif + +#if defined (HAVE__POWF) && ! defined (HAVE_POWF) +# define HAVE_POWF 1 +# define powf _powf +#endif + +#if defined (HAVE__POWL) && ! defined (HAVE_POWL) +# define HAVE_POWL 1 +# define powl _powl +#endif + +#if defined (HAVE__QFPCLASS) && ! defined (HAVE_QFPCLASS) +# define HAVE_QFPCLASS 1 +# define qfpclass _qfpclass +#endif + +#if defined (HAVE__SINCOS) && ! defined (HAVE_SINCOS) +# define HAVE_SINCOS 1 +# define sincos _sincos +#endif + +#if defined (HAVE__SINCOSF) && ! defined (HAVE_SINCOSF) +# define HAVE_SINCOSF 1 +# define sincosf _sincosf +#endif + +#if defined (HAVE__SINCOSL) && ! defined (HAVE_SINCOSL) +# define HAVE_SINCOSL 1 +# define sincosl _sincosl +#endif + +#if defined (HAVE__SINF) && ! defined (HAVE_SINF) +# define HAVE_SINF 1 +# define sinf _sinf +#endif + +#if defined (HAVE__SINHF) && ! defined (HAVE_SINHF) +# define HAVE_SINHF 1 +# define sinhf _sinhf +#endif + +#if defined (HAVE__SINHL) && ! defined (HAVE_SINHL) +# define HAVE_SINHL 1 +# define sinhl _sinhl +#endif + +#if defined (HAVE__SINL) && ! defined (HAVE_SINL) +# define HAVE_SINL 1 +# define sinl _sinl +#endif + +#if defined (HAVE__SQRTF) && ! defined (HAVE_SQRTF) +# define HAVE_SQRTF 1 +# define sqrtf _sqrtf +#endif + +#if defined (HAVE__SQRTL) && ! defined (HAVE_SQRTL) +# define HAVE_SQRTL 1 +# define sqrtl _sqrtl +#endif + +#if defined (HAVE__STRTOF) && ! defined (HAVE_STRTOF) +# define HAVE_STRTOF 1 +# define strtof _strtof +#endif + +#if defined (HAVE__STRTOLD) && ! defined (HAVE_STRTOLD) +# define HAVE_STRTOLD 1 +# define strtold _strtold +#endif + +#if defined (HAVE__TANF) && ! defined (HAVE_TANF) +# define HAVE_TANF 1 +# define tanf _tanf +#endif + +#if defined (HAVE__TANHF) && ! defined (HAVE_TANHF) +# define HAVE_TANHF 1 +# define tanhf _tanhf +#endif + +#if defined (HAVE__TANHL) && ! defined (HAVE_TANHL) +# define HAVE_TANHL 1 +# define tanhl _tanhl +#endif + +#if defined (HAVE__TANL) && ! defined (HAVE_TANL) +# define HAVE_TANL 1 +# define tanl _tanl +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/cxxabi_tweaks.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/cxxabi_tweaks.h new file mode 100644 index 000000000..b4862f1de --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/cxxabi_tweaks.h @@ -0,0 +1,62 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +// Control various target specific ABI tweaks. Generic version. + +// Copyright (C) 2004, 2006, 2008, 2009 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ 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. + +// 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. 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 +// . + +/** @file cxxabi_tweaks.h + * The header provides an CPU-variable interface to the C++ ABI. + */ + +#ifndef _CXXABI_TWEAKS_H +#define _CXXABI_TWEAKS_H 1 + +#ifdef __cplusplus +namespace __cxxabiv1 +{ + extern "C" + { +#endif + + // The generic ABI uses the first byte of a 64-bit guard variable. +#define _GLIBCXX_GUARD_TEST(x) (*(char *) (x) != 0) +#define _GLIBCXX_GUARD_SET(x) *(char *) (x) = 1 +#define _GLIBCXX_GUARD_BIT __guard_test_bit (0, 1) +#define _GLIBCXX_GUARD_PENDING_BIT __guard_test_bit (1, 1) +#define _GLIBCXX_GUARD_WAITING_BIT __guard_test_bit (2, 1) + __extension__ typedef int __guard __attribute__((mode (__DI__))); + + // __cxa_vec_ctor has void return type. + typedef void __cxa_vec_ctor_return_type; +#define _GLIBCXX_CXA_VEC_CTOR_RETURN(x) return + // Constructors and destructors do not return a value. + typedef void __cxa_cdtor_return_type; + +#ifdef __cplusplus + } +} // namespace __cxxabiv1 +#endif + +#endif diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/defs.mk b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/defs.mk new file mode 100644 index 000000000..747542083 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/defs.mk @@ -0,0 +1,34 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_LIBSUPCXX_SOURCES=array_type_info.cc atexit_arm.cc bad_cast.cc bad_typeid.cc class_type_info.cc del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc dyncast.cc eh_alloc.cc eh_arm.cc eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc eh_personality.cc eh_ptr.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc eh_type.cc eh_unex_handler.cc enum_type_info.cc function_type_info.cc fundamental_type_info.cc guard.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pbase_type_info.cc pmem_type_info.cc pointer_type_info.cc pure.cc si_class_type_info.cc tinfo.cc tinfo2.cc vec.cc vmi_class_type_info.cc vterminate.cc +G_LIBSUPCXX_C_SOURCES=cp-demangle.c +G_SRC_SOURCES=atomic.cc bitmap_allocator.cc pool_allocator.cc mt_allocator.cc codecvt.cc compatibility.cc compatibility-c++0x.cc compatibility-debug_list.cc compatibility-list.cc complex_io.cc ctype.cc debug.cc functexcept.cc globals_io.cc hash_c++0x.cc hash_tr1.cc hashtable_c++0x.cc hashtable_tr1.cc ios.cc ios_failure.cc ios_init.cc ios_locale.cc limits.cc list.cc debug_list.cc locale.cc locale_init.cc locale_facets.cc localename.cc math_stubs_float.cc math_stubs_long_double.cc stdexcept.cc strstream.cc system_error.cc tree.cc allocator-inst.cc concept-inst.cc fstream-inst.cc ext-inst.cc ios-inst.cc iostream-inst.cc istream-inst.cc istream.cc locale-inst.cc misc-inst.cc ostream-inst.cc sstream-inst.cc streambuf-inst.cc streambuf.cc string-inst.cc valarray-inst.cc wlocale-inst.cc wstring-inst.cc mutex.cc condition_variable.cc chrono.cc thread.cc future.cc atomicity.cc codecvt_members.cc collate_members.cc ctype_members.cc messages_members.cc monetary_members.cc numeric_members.cc time_members.cc basic_file.cc c++locale.cc parallel_list.cc parallel_settings.cc compatibility-parallel_list.cc +G_atomicity_file=${GNUHOSTDIST}/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h +G_CCODECVT_CC=config/locale/generic/codecvt_members.cc +G_CCOLLATE_CC=config/locale/generic/collate_members.cc +G_CCTYPE_CC=config/locale/generic/ctype_members.cc +G_CMESSAGES_CC=config/locale/generic/messages_members.cc +G_CMONEY_CC=config/locale/generic/monetary_members.cc +G_CNUMERIC_CC=config/locale/generic/numeric_members.cc +G_CTIME_CC=config/locale/generic/time_members.cc +G_CLOCALE_CC=config/locale/generic/c_locale.cc +G_BASIC_FILE_CC=config/io/basic_file_stdio.cc +G_SECTION_FLAGS=-ffunction-sections -fdata-sections +G_c_base_headers=cassert ccomplex cctype cerrno cfenv cfloat cinttypes ciso646 climits clocale cmath csetjmp csignal cstdarg cstdbool cstddef cstdint cstdio cstdlib cstring ctgmath ctime cwchar cwctype +G_std_headers=algorithm array atomic bitset chrono complex condition_variable deque forward_list fstream functional future iomanip ios iosfwd iostream istream iterator limits list locale map memory mutex numeric ostream queue random ratio regex set sstream stack stdexcept streambuf string system_error thread tuple type_traits unordered_map unordered_set utility valarray vector +G_bits_headers=algorithmfwd.h allocator.h atomic_base.h atomicfwd_c.h atomicfwd_cxx.h atomic_0.h atomic_2.h basic_ios.h basic_ios.tcc basic_string.h basic_string.tcc boost_concept_check.h c++0x_warning.h char_traits.h codecvt.h concept_check.h cpp_type_traits.h deque.tcc forward_list.h forward_list.tcc fstream.tcc functexcept.h functional_hash.h gslice.h gslice_array.h hashtable.h hashtable_policy.h indirect_array.h ios_base.h istream.tcc list.tcc locale_classes.h locale_classes.tcc locale_facets.h locale_facets.tcc locale_facets_nonio.h locale_facets_nonio.tcc localefwd.h mask_array.h move.h ostream.tcc ostream_insert.h postypes.h random.h random.tcc stream_iterator.h streambuf_iterator.h shared_ptr.h shared_ptr_base.h slice_array.h sstream.tcc stl_algo.h stl_algobase.h stl_bvector.h stl_construct.h stl_deque.h stl_function.h stl_heap.h stl_iterator.h stl_iterator_base_funcs.h stl_iterator_base_types.h stl_list.h stl_map.h stl_multimap.h stl_multiset.h stl_numeric.h stl_pair.h stl_queue.h stl_raw_storage_iter.h stl_relops.h stl_set.h stl_stack.h stl_tempbuf.h stl_tree.h stl_uninitialized.h stl_vector.h streambuf.tcc stringfwd.h unique_ptr.h unordered_map.h unordered_set.h valarray_array.h valarray_array.tcc valarray_before.h valarray_after.h vector.tcc +G_backward_headers=auto_ptr.h backward_warning.h binders.h hash_map hash_set hash_fun.h hashtable.h strstream +G_ext_headers=algorithm atomicity.h array_allocator.h bitmap_allocator.h cast.h codecvt_specializations.h concurrence.h debug_allocator.h enc_filebuf.h extptr_allocator.h stdio_filebuf.h stdio_sync_filebuf.h functional iterator malloc_allocator.h memory mt_allocator.h new_allocator.h numeric numeric_traits.h pod_char_traits.h pointer.h pool_allocator.h rb_tree rope ropeimpl.h slist string_conversions.h throw_allocator.h typelist.h type_traits.h rc_string_base.h sso_string_base.h vstring.h vstring.tcc vstring_fwd.h vstring_util.h hash_set hash_map +G_c_base_headers_extra=cmath.tcc +G_host_headers=ctype_base.h ctype_inline.h ctype_noninline.h os_defines.h atomic_word.h cxxabi_tweaks.h cpu_defines.h error_constants.h stdc++.h stdtr1c++.h extc++.h +G_debug_headers=bitset debug.h deque formatter.h functions.h list map macros.h map.h multimap.h multiset.h safe_base.h safe_iterator.h safe_iterator.tcc safe_sequence.h set set.h string unordered_map unordered_set vector +G_tr1_headers=array bessel_function.tcc beta_function.tcc ccomplex cctype cfenv cfloat cinttypes climits cmath complex complex.h cstdarg cstdbool cstdint cstdio cstdlib ctgmath ctime ctype.h cwchar cwctype ell_integral.tcc exp_integral.tcc fenv.h float.h functional functional_hash.h gamma.tcc hypergeometric.tcc hashtable.h hashtable_policy.h inttypes.h limits.h math.h memory modified_bessel_func.tcc poly_hermite.tcc poly_laguerre.tcc legendre_function.tcc random random.h random.tcc regex riemann_zeta.tcc shared_ptr.h special_function_util.h stdarg.h stdbool.h stdint.h stdio.h stdlib.h tgmath.h tuple type_traits unordered_map unordered_map.h unordered_set unordered_set.h utility wchar.h wctype.h +G_c_compatibility_headers_extra=complex.h fenv.h tgmath.h stdatomic.h +G_tr1_impl_headers=array boost_sp_counted_base.h cctype cfenv cinttypes cmath complex cstdint cstdio cstdlib cwchar cwctype regex type_traits utility +G_parallel_headers=algo.h algobase.h algorithm algorithmfwd.h balanced_quicksort.h base.h basic_iterator.h checkers.h compatibility.h compiletime_settings.h equally_split.h features.h find.h find_selectors.h for_each.h for_each_selectors.h iterator.h list_partition.h losertree.h merge.h multiseq_selection.h multiway_merge.h multiway_mergesort.h numeric numericfwd.h omp_loop.h omp_loop_static.h par_loop.h parallel.h partial_sum.h partition.h queue.h quicksort.h random_number.h random_shuffle.h search.h set_operations.h settings.h sort.h tags.h types.h unique_copy.h workstealing.h +G_decimal_headers=decimal decimal.h +G_thread_host_headers=gthr.h gthr-single.h gthr-posix.h gthr-tpf.h gthr-default.h +G_host_headers_extra=basic_file.h c++config.h c++allocator.h c++io.h c++locale.h messages_members.h time_members.h +G_UNWIND_H=${GNUHOSTDIST}/gcc/unwind-generic.h diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gstdint.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gstdint.h new file mode 100644 index 000000000..c198846dc --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gstdint.h @@ -0,0 +1,51 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* generated for ia64--netbsd-gcc (NetBSD nb1 20120916) 4.5.4 */ + +#ifndef GCC_GENERATED_STDINT_H +#define GCC_GENERATED_STDINT_H 1 + +#include +#include +/* glibc uses these symbols as guards to prevent redefinitions. */ +#ifdef __int8_t_defined +#define _INT8_T +#define _INT16_T +#define _INT32_T +#endif +#ifdef __uint32_t_defined +#define _UINT32_T +#endif + + +/* Some systems have guard macros to prevent redefinitions, define them. */ +#ifndef _INT8_T +#define _INT8_T +#endif +#ifndef _INT16_T +#define _INT16_T +#endif +#ifndef _INT32_T +#define _INT32_T +#endif +#ifndef _UINT8_T +#define _UINT8_T +#endif +#ifndef _UINT16_T +#define _UINT16_T +#endif +#ifndef _UINT32_T +#define _UINT32_T +#endif + +/* system headers have good uint64_t and int64_t */ +#ifndef _INT64_T +#define _INT64_T +#endif +#ifndef _UINT64_T +#define _UINT64_T +#endif + +#endif /* GCC_GENERATED_STDINT_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-default.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-default.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-default.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-posix.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-posix.h new file mode 100644 index 000000000..eb4c7d990 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-posix.h @@ -0,0 +1,872 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, + 2008, 2009, 2011 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_POSIX_H +#define _GLIBCXX_GCC_GTHR_POSIX_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 +#define __GTHREADS_CXX0X 1 + +/* Some implementations of require this to be defined. */ +#if !defined(_REENTRANT) && defined(__osf__) +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; + +/* POSIX like conditional variables are supported. Please look at comments + in gthr.h for details. */ +#define __GTHREAD_HAS_COND 1 + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#else +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function +#endif +#define __GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER +#define __GTHREAD_TIME_INIT {0,0} + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# ifndef __gthrw_pragma +# define __gthrw_pragma(pragma) +# endif +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw2(name,name2,type) +# define __gthrw_(name) name +#endif + +/* Typically, __gthrw_foo is a weak reference to symbol foo. */ +#define __gthrw(name) __gthrw2(__gthrw_ ## name,name,name) + +/* On Tru64, /usr/include/pthread.h uses #pragma extern_prefix "__" to + map a subset of the POSIX pthread API to mangled versions of their + names. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +#define __gthrw3(name) __gthrw2(__gthrw_ ## name, __ ## name, name) +__gthrw3(pthread_once) +__gthrw3(pthread_getspecific) +__gthrw3(pthread_setspecific) + +__gthrw3(pthread_create) +__gthrw3(pthread_join) +__gthrw3(pthread_detach) +__gthrw3(pthread_equal) +__gthrw3(pthread_self) +__gthrw3(pthread_cancel) +__gthrw3(sched_yield) + +__gthrw3(pthread_mutex_lock) +__gthrw3(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw3(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw3(pthread_mutex_unlock) +__gthrw3(pthread_mutex_init) +__gthrw3(pthread_mutex_destroy) + +__gthrw3(pthread_cond_broadcast) +__gthrw3(pthread_cond_signal) +__gthrw3(pthread_cond_wait) +__gthrw3(pthread_cond_timedwait) +__gthrw3(pthread_cond_destroy) +#else +__gthrw(pthread_once) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) + +__gthrw(pthread_create) +__gthrw(pthread_join) +__gthrw(pthread_equal) +__gthrw(pthread_self) +__gthrw(pthread_detach) +__gthrw(pthread_cancel) +__gthrw(sched_yield) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +__gthrw(pthread_mutex_timedlock) +#endif +#endif /* _POSIX_TIMEOUTS */ +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +__gthrw(pthread_cond_broadcast) +__gthrw(pthread_cond_signal) +__gthrw(pthread_cond_wait) +__gthrw(pthread_cond_timedwait) +__gthrw(pthread_cond_destroy) +#endif + +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) + + +#if defined(_LIBOBJC) || defined(_LIBOBJC_WEAK) +/* Objective-C. */ +#if defined(__osf__) && defined(_PTHREAD_USE_MANGLED_NAMES_) +__gthrw3(pthread_cond_init) +__gthrw3(pthread_exit) +#else +__gthrw(pthread_cond_init) +__gthrw(pthread_exit) +#endif /* __osf__ && _PTHREAD_USE_MANGLED_NAMES_ */ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(sched_get_priority_max) +__gthrw(sched_get_priority_min) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ +__gthrw(pthread_attr_destroy) +__gthrw(pthread_attr_init) +__gthrw(pthread_attr_setdetachstate) +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING +__gthrw(pthread_getschedparam) +__gthrw(pthread_setschedparam) +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _LIBOBJC || _LIBOBJC_WEAK */ + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK + +/* On Solaris 2.6 up to 9, the libc exposes a POSIX threads interface even if + -pthreads is not specified. The functions are dummies and most return an + error value. However pthread_once returns 0 without invoking the routine + it is passed so we cannot pretend that the interface is active if -pthreads + is not specified. On Solaris 2.5.1, the interface is not exposed at all so + we need to play the usual game with weak symbols. On Solaris 10 and up, a + working interface is always exposed. On FreeBSD 6 and later, libc also + exposes a dummy POSIX threads interface, similar to what Solaris 2.6 up + to 9 does. FreeBSD >= 700014 even provides a pthread_cancel stub in libc, + which means the alternate __gthread_active_p below cannot be used there. */ + +#if defined(__FreeBSD__) || (defined(__sun) && defined(__svr4__)) + +static volatile int __gthread_active = -1; + +static void +__gthread_trigger (void) +{ + __gthread_active = 1; +} + +static inline int +__gthread_active_p (void) +{ + static pthread_mutex_t __gthread_active_mutex = PTHREAD_MUTEX_INITIALIZER; + static pthread_once_t __gthread_active_once = PTHREAD_ONCE_INIT; + + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + + /* This test is not protected to avoid taking a lock on the main code + path so every update of __gthread_active in a threaded program must + be atomic with regard to the result of the test. */ + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + if (__gthrw_(pthread_once)) + { + /* If this really is a threaded program, then we must ensure that + __gthread_active has been set to 1 before exiting this block. */ + __gthrw_(pthread_mutex_lock) (&__gthread_active_mutex); + __gthrw_(pthread_once) (&__gthread_active_once, __gthread_trigger); + __gthrw_(pthread_mutex_unlock) (&__gthread_active_mutex); + } + + /* Make sure we'll never enter this block again. */ + if (__gthread_active < 0) + __gthread_active = 0; + + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* neither FreeBSD nor Solaris */ + +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw_(pthread_cancel); + return __gthread_active_ptr != 0; +} + +#endif /* FreeBSD or Solaris */ + +#else /* not __GXX_WEAK__ */ + +/* Similar to Solaris, HP-UX 11 for PA-RISC provides stubs for pthread + calls in shared flavors of the HP-UX C library. Most of the stubs + have no functionality. The details are described in the "libc cumulative + patch" for each subversion of HP-UX 11. There are two special interfaces + provided for checking whether an application is linked to a shared pthread + library or not. However, these interfaces aren't available in early + libpthread libraries. We also need a test that works for archive + libraries. We can't use pthread_once as some libc versions call the + init function. We also can't use pthread_create or pthread_attr_init + as these create a thread and thereby prevent changing the default stack + size. The function pthread_default_stacksize_np is available in both + the archive and shared versions of libpthread. It can be used to + determine the default pthread stack size. There is a stub in some + shared libc versions which returns a zero size if pthreads are not + active. We provide an equivalent stub to handle cases where libc + doesn't provide one. */ + +#if defined(__hppa__) && defined(__hpux__) + +static volatile int __gthread_active = -1; + +static inline int +__gthread_active_p (void) +{ + /* Avoid reading __gthread_active twice on the main code path. */ + int __gthread_active_latest_value = __gthread_active; + size_t __s; + + if (__builtin_expect (__gthread_active_latest_value < 0, 0)) + { + pthread_default_stacksize_np (0, &__s); + __gthread_active = __s ? 1 : 0; + __gthread_active_latest_value = __gthread_active; + } + + return __gthread_active_latest_value != 0; +} + +#else /* not hppa-hpux */ + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +#endif /* hppa-hpux */ + +#endif /* __GXX_WEAK__ */ + +#ifdef _LIBOBJC + +/* This is the config.h file in libobjc/ */ +#include + +#ifdef HAVE_SCHED_H +# include +#endif + +/* Key structure for maintaining thread specific storage */ +static pthread_key_t _objc_thread_storage; +static pthread_attr_t _objc_thread_attribs; + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + if (__gthread_active_p ()) + { + /* Initialize the thread storage key. */ + if (__gthrw_(pthread_key_create) (&_objc_thread_storage, NULL) == 0) + { + /* The normal default detach state for threads is + * PTHREAD_CREATE_JOINABLE which causes threads to not die + * when you think they should. */ + if (__gthrw_(pthread_attr_init) (&_objc_thread_attribs) == 0 + && __gthrw_(pthread_attr_setdetachstate) (&_objc_thread_attribs, + PTHREAD_CREATE_DETACHED) == 0) + return 0; + } + } + + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + if (__gthread_active_p () + && __gthrw_(pthread_key_delete) (_objc_thread_storage) == 0 + && __gthrw_(pthread_attr_destroy) (&_objc_thread_attribs) == 0) + return 0; + + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (*func)(void *), void *arg) +{ + objc_thread_t thread_id; + pthread_t new_thread_handle; + + if (!__gthread_active_p ()) + return NULL; + + if (!(__gthrw_(pthread_create) (&new_thread_handle, NULL, (void *) func, arg))) + thread_id = (objc_thread_t) new_thread_handle; + else + thread_id = NULL; + + return thread_id; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority) +{ + if (!__gthread_active_p ()) + return -1; + else + { +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + pthread_t thread_id = __gthrw_(pthread_self) (); + int policy; + struct sched_param params; + int priority_min, priority_max; + + if (__gthrw_(pthread_getschedparam) (thread_id, &policy, ¶ms) == 0) + { + if ((priority_max = __gthrw_(sched_get_priority_max) (policy)) == -1) + return -1; + + if ((priority_min = __gthrw_(sched_get_priority_min) (policy)) == -1) + return -1; + + if (priority > priority_max) + priority = priority_max; + else if (priority < priority_min) + priority = priority_min; + params.sched_priority = priority; + + /* + * The solaris 7 and several other man pages incorrectly state that + * this should be a pointer to policy but pthread.h is universally + * at odds with this. + */ + if (__gthrw_(pthread_setschedparam) (thread_id, policy, ¶ms) == 0) + return 0; + } +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return -1; + } +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ +#ifdef _POSIX_PRIORITY_SCHEDULING +#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING + if (__gthread_active_p ()) + { + int policy; + struct sched_param params; + + if (__gthrw_(pthread_getschedparam) (__gthrw_(pthread_self) (), &policy, ¶ms) == 0) + return params.sched_priority; + else + return -1; + } + else +#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */ +#endif /* _POSIX_PRIORITY_SCHEDULING */ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + if (__gthread_active_p ()) + __gthrw_(sched_yield) (); +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + if (__gthread_active_p ()) + /* exit the thread */ + __gthrw_(pthread_exit) (&__objc_thread_exit_status); + + /* Failed if we reached here */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + if (__gthread_active_p ()) + return (objc_thread_t) __gthrw_(pthread_self) (); + else + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_setspecific) (_objc_thread_storage, value); + else + { + thread_local_storage = value; + return 0; + } +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_getspecific) (_objc_thread_storage); + else + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + mutex->backend = objc_malloc (sizeof (pthread_mutex_t)); + + if (__gthrw_(pthread_mutex_init) ((pthread_mutex_t *) mutex->backend, NULL)) + { + objc_free (mutex->backend); + mutex->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + { + int count; + + /* + * Posix Threads specifically require that the thread be unlocked + * for __gthrw_(pthread_mutex_destroy) to work. + */ + + do + { + count = __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend); + if (count < 0) + return -1; + } + while (count); + + if (__gthrw_(pthread_mutex_destroy) ((pthread_mutex_t *) mutex->backend)) + return -1; + + objc_free (mutex->backend); + mutex->backend = NULL; + } + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_lock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_trylock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex) +{ + if (__gthread_active_p () + && __gthrw_(pthread_mutex_unlock) ((pthread_mutex_t *) mutex->backend) != 0) + { + return -1; + } + + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + condition->backend = objc_malloc (sizeof (pthread_cond_t)); + + if (__gthrw_(pthread_cond_init) ((pthread_cond_t *) condition->backend, NULL)) + { + objc_free (condition->backend); + condition->backend = NULL; + return -1; + } + } + + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition) +{ + if (__gthread_active_p ()) + { + if (__gthrw_(pthread_cond_destroy) ((pthread_cond_t *) condition->backend)) + return -1; + + objc_free (condition->backend); + condition->backend = NULL; + } + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_wait) ((pthread_cond_t *) condition->backend, + (pthread_mutex_t *) mutex->backend); + else + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_broadcast) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_cond_signal) ((pthread_cond_t *) condition->backend); + else + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_(pthread_create) (__threadid, NULL, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_(pthread_join) (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_(pthread_detach) (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_(pthread_equal) (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_(pthread_self) (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_(sched_yield) (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_(pthread_key_create) (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_(pthread_key_delete) (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_(pthread_getspecific) (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_(pthread_setspecific) (__key, __ptr); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_timedlock) (__mutex, __abs_timeout); + else + return 0; +} +#endif +#endif + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +#ifndef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} +#endif + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +#ifdef _POSIX_TIMEOUTS +#if _POSIX_TIMEOUTS >= 0 +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} +#endif +#endif + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_broadcast) (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_(pthread_cond_signal) (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_(pthread_cond_wait) (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_(pthread_cond_timedwait) (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_(pthread_cond_destroy) (__cond); +} + +#endif /* _LIBOBJC */ + +#endif /* ! _GLIBCXX_GCC_GTHR_POSIX_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-single.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-single.h new file mode 100644 index 000000000..5e675897b --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-single.h @@ -0,0 +1,296 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1999, 2000, 2004, 2008, 2009 + Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_SINGLE_H +#define _GLIBCXX_GCC_GTHR_SINGLE_H + +/* Just provide compatibility for mutex handling. */ + +typedef int __gthread_key_t; +typedef int __gthread_once_t; +typedef int __gthread_mutex_t; +typedef int __gthread_recursive_mutex_t; + +#define __GTHREAD_ONCE_INIT 0 +#define __GTHREAD_MUTEX_INIT 0 +#define __GTHREAD_RECURSIVE_MUTEX_INIT 0 + +#define _GLIBCXX_UNUSED __attribute__((unused)) + +#ifdef _LIBOBJC + +/* Thread local storage for a single thread */ +static void *thread_local_storage = NULL; + +/* Backend initialization functions */ + +/* Initialize the threads subsystem. */ +static inline int +__gthread_objc_init_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Close the threads subsystem. */ +static inline int +__gthread_objc_close_thread_system (void) +{ + /* No thread support available */ + return -1; +} + +/* Backend thread functions */ + +/* Create a new thread of execution. */ +static inline objc_thread_t +__gthread_objc_thread_detach (void (* func)(void *), void * arg _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return NULL; +} + +/* Set the current thread's priority. */ +static inline int +__gthread_objc_thread_set_priority (int priority _GLIBCXX_UNUSED) +{ + /* No thread support available */ + return -1; +} + +/* Return the current thread's priority. */ +static inline int +__gthread_objc_thread_get_priority (void) +{ + return OBJC_THREAD_INTERACTIVE_PRIORITY; +} + +/* Yield our process time to another thread. */ +static inline void +__gthread_objc_thread_yield (void) +{ + return; +} + +/* Terminate the current thread. */ +static inline int +__gthread_objc_thread_exit (void) +{ + /* No thread support available */ + /* Should we really exit the program */ + /* exit (&__objc_thread_exit_status); */ + return -1; +} + +/* Returns an integer value which uniquely describes a thread. */ +static inline objc_thread_t +__gthread_objc_thread_id (void) +{ + /* No thread support, use 1. */ + return (objc_thread_t) 1; +} + +/* Sets the thread's local storage pointer. */ +static inline int +__gthread_objc_thread_set_data (void *value) +{ + thread_local_storage = value; + return 0; +} + +/* Returns the thread's local storage pointer. */ +static inline void * +__gthread_objc_thread_get_data (void) +{ + return thread_local_storage; +} + +/* Backend mutex functions */ + +/* Allocate a mutex. */ +static inline int +__gthread_objc_mutex_allocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a mutex. */ +static inline int +__gthread_objc_mutex_deallocate (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_lock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Try to grab a lock on a mutex. */ +static inline int +__gthread_objc_mutex_trylock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + /* There can only be one thread, so we always get the lock */ + return 0; +} + +/* Unlock the mutex */ +static inline int +__gthread_objc_mutex_unlock (objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Backend condition mutex functions */ + +/* Allocate a condition. */ +static inline int +__gthread_objc_condition_allocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Deallocate a condition. */ +static inline int +__gthread_objc_condition_deallocate (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wait on the condition */ +static inline int +__gthread_objc_condition_wait (objc_condition_t condition _GLIBCXX_UNUSED, + objc_mutex_t mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up all threads waiting on this condition. */ +static inline int +__gthread_objc_condition_broadcast (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +/* Wake up one thread waiting on this condition. */ +static inline int +__gthread_objc_condition_signal (objc_condition_t condition _GLIBCXX_UNUSED) +{ + return 0; +} + +#else /* _LIBOBJC */ + +static inline int +__gthread_active_p (void) +{ + return 0; +} + +static inline int +__gthread_once (__gthread_once_t *__once _GLIBCXX_UNUSED, void (*__func) (void) _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int _GLIBCXX_UNUSED +__gthread_key_create (__gthread_key_t *__key _GLIBCXX_UNUSED, void (*__func) (void *) _GLIBCXX_UNUSED) +{ + return 0; +} + +static int _GLIBCXX_UNUSED +__gthread_key_delete (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key _GLIBCXX_UNUSED, const void *__v _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex _GLIBCXX_UNUSED) +{ + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +#endif /* _LIBOBJC */ + +#undef _GLIBCXX_UNUSED + +#endif /* ! _GLIBCXX_GCC_GTHR_SINGLE_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-tpf.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-tpf.h new file mode 100644 index 000000000..ec00f4f4e --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr-tpf.h @@ -0,0 +1,233 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2 and libobjc. + Compile this one with gcc. + Copyright (C) 2004, 2005, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +/* TPF needs its own version of gthr-*.h because TPF always links to + the thread library. However, for performance reasons we still do not + want to issue thread api calls unless a check is made to see that we + are running as a thread. */ + +#ifndef _GLIBCXX_GCC_GTHR_TPF_H +#define _GLIBCXX_GCC_GTHR_TPF_H + +/* POSIX threads specific definitions. + Easy, since the interface is just one-to-one mapping. */ + +#define __GTHREADS 1 + +/* Some implementations of require this to be defined. */ +#ifndef _REENTRANT +#define _REENTRANT 1 +#endif + +#include +#include + +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; + +#if defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER +#elif defined(PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP) +#define __GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +#endif + +#define __GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER +#define __GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT +#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function + +#define NOTATHREAD 00 +#define ECBBASEPTR (unsigned long int) *(unsigned int *)0x00000514u +#define ECBPG2PTR ECBBASEPTR + 0x1000 +#define CE2THRCPTR *((unsigned char *)(ECBPG2PTR + 16)) +#define __tpf_pthread_active() (CE2THRCPTR != NOTATHREAD) + +#if __GXX_WEAK__ && _GLIBCXX_GTHREAD_USE_WEAK +# define __gthrw(name) \ + static __typeof(name) __gthrw_ ## name __attribute__ ((__weakref__(#name))); +# define __gthrw_(name) __gthrw_ ## name +#else +# define __gthrw(name) +# define __gthrw_(name) name +#endif + +__gthrw(pthread_once) +__gthrw(pthread_key_create) +__gthrw(pthread_key_delete) +__gthrw(pthread_getspecific) +__gthrw(pthread_setspecific) +__gthrw(pthread_create) + +__gthrw(pthread_mutex_lock) +__gthrw(pthread_mutex_trylock) +__gthrw(pthread_mutex_unlock) +__gthrw(pthread_mutexattr_init) +__gthrw(pthread_mutexattr_settype) +__gthrw(pthread_mutexattr_destroy) +__gthrw(pthread_mutex_init) +__gthrw(pthread_mutex_destroy) + +static inline int +__gthread_active_p (void) +{ + return 1; +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_once) (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_create) (__key, __dtor); + else + return -1; +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_key_delete) (__key); + else + return -1; +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_getspecific) (__key); + else + return NULL; +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_setspecific) (__key, __ptr); + else + return -1; +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_destroy) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_lock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_trylock) (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthrw_(pthread_mutex_unlock) (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_trylock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + return __gthread_mutex_unlock (__mutex); + else + return 0; +} + +static inline int +__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex) +{ + if (__tpf_pthread_active ()) + { + pthread_mutexattr_t __attr; + int __r; + + __r = __gthrw_(pthread_mutexattr_init) (&__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_settype) (&__attr, + PTHREAD_MUTEX_RECURSIVE); + if (!__r) + __r = __gthrw_(pthread_mutex_init) (__mutex, &__attr); + if (!__r) + __r = __gthrw_(pthread_mutexattr_destroy) (&__attr); + return __r; + } + return 0; +} + + +#endif /* ! _GLIBCXX_GCC_GTHR_TPF_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr.h b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr.h new file mode 100644 index 000000000..191ba99ff --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/arch/ia64/gthr.h @@ -0,0 +1,177 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Threads compatibility routines for libgcc2. */ +/* Compile this one with gcc. */ +/* Copyright (C) 1997, 1998, 2004, 2008, 2009 Free Software Foundation, Inc. + +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 +. */ + +#ifndef _GLIBCXX_GCC_GTHR_H +#define _GLIBCXX_GCC_GTHR_H + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility push(default) +#endif + +/* If this file is compiled with threads support, it must + #define __GTHREADS 1 + to indicate that threads support is present. Also it has define + function + int __gthread_active_p () + that returns 1 if thread system is active, 0 if not. + + The threads interface must define the following types: + __gthread_key_t + __gthread_once_t + __gthread_mutex_t + __gthread_recursive_mutex_t + + The threads interface must define the following macros: + + __GTHREAD_ONCE_INIT + to initialize __gthread_once_t + __GTHREAD_MUTEX_INIT + to initialize __gthread_mutex_t to get a fast + non-recursive mutex. + __GTHREAD_MUTEX_INIT_FUNCTION + some systems can't initialize a mutex without a + function call. On such systems, define this to a + function which looks like this: + void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) + Don't define __GTHREAD_MUTEX_INIT in this case + __GTHREAD_RECURSIVE_MUTEX_INIT + __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION + as above, but for a recursive mutex. + + The threads interface must define the following static functions: + + int __gthread_once (__gthread_once_t *once, void (*func) ()) + + int __gthread_key_create (__gthread_key_t *keyp, void (*dtor) (void *)) + int __gthread_key_delete (__gthread_key_t key) + + void *__gthread_getspecific (__gthread_key_t key) + int __gthread_setspecific (__gthread_key_t key, const void *ptr) + + int __gthread_mutex_destroy (__gthread_mutex_t *mutex); + + int __gthread_mutex_lock (__gthread_mutex_t *mutex); + int __gthread_mutex_trylock (__gthread_mutex_t *mutex); + int __gthread_mutex_unlock (__gthread_mutex_t *mutex); + + int __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *mutex); + int __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *mutex); + + The following are supported in POSIX threads only. They are required to + fix a deadlock in static initialization inside libsupc++. The header file + gthr-posix.h defines a symbol __GTHREAD_HAS_COND to signify that these extra + features are supported. + + Types: + __gthread_cond_t + + Macros: + __GTHREAD_COND_INIT + __GTHREAD_COND_INIT_FUNCTION + + Interface: + int __gthread_cond_broadcast (__gthread_cond_t *cond); + int __gthread_cond_wait (__gthread_cond_t *cond, __gthread_mutex_t *mutex); + int __gthread_cond_wait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex); + + All functions returning int should return zero on success or the error + number. If the operation is not supported, -1 is returned. + + If the following are also defined, you should + #define __GTHREADS_CXX0X 1 + to enable the c++0x thread library. + + Types: + __gthread_t + __gthread_time_t + + Interface: + int __gthread_create (__gthread_t *thread, void *(*func) (void*), + void *args); + int __gthread_join (__gthread_t thread, void **value_ptr); + int __gthread_detach (__gthread_t thread); + int __gthread_equal (__gthread_t t1, __gthread_t t2); + __gthread_t __gthread_self (void); + int __gthread_yield (void); + + int __gthread_mutex_timedlock (__gthread_mutex_t *m, + const __gthread_time_t *abs_timeout); + int __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *m, + const __gthread_time_t *abs_time); + + int __gthread_cond_signal (__gthread_cond_t *cond); + int __gthread_cond_timedwait (__gthread_cond_t *cond, + __gthread_mutex_t *mutex, + const __gthread_time_t *abs_timeout); + int __gthread_cond_timedwait_recursive (__gthread_cond_t *cond, + __gthread_recursive_mutex_t *mutex, + const __gthread_time_t *abs_time) + + Currently supported threads packages are + TPF threads with -D__tpf__ + POSIX/Unix98 threads with -D_PTHREADS + POSIX/Unix95 threads with -D_PTHREADS95 + DCE threads with -D_DCE_THREADS + Solaris/UI threads with -D_SOLARIS_THREADS + +*/ + +/* Check first for thread specific defines. */ +#if defined (_GLIBCXX___tpf_GLIBCXX___) +#include +#elif _GLIBCXX__PTHREADS +#include +#elif _GLIBCXX__PTHREADS95 +#include +#elif _GLIBCXX__DCE_THREADS +#include +#elif _GLIBCXX__SOLARIS_THREADS +#include + +/* Include GTHREAD_FILE if one is defined. */ +#elif defined(_GLIBCXX_HAVE_GTHR_DEFAULT) +#if __GXX_WEAK__ +#ifndef _GLIBCXX_GTHREAD_USE_WEAK +#define _GLIBCXX_GTHREAD_USE_WEAK 1 +#endif +#endif +#include + +/* Fallback to single thread definitions. */ +#else +#include +#endif + +#ifndef _GLIBCXX_HIDE_EXPORTS +#pragma GCC visibility pop +#endif + +#endif /* ! _GLIBCXX_GCC_GTHR_H */ diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile index f2c51ec0b..86d0dd75f 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile @@ -1,11 +1,12 @@ -# $NetBSD: Makefile,v 1.5 2011/07/01 01:21:38 mrg Exp $ +# $NetBSD: Makefile,v 1.6 2013/08/22 16:03:30 matt Exp $ SUBDIR= backward ext bits debug decimal parallel tr1 tr1_impl #SUBDIR+= pb_assoc +.include .include -.include "${.CURDIR}/../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile.inc b/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile.inc new file mode 100644 index 000000000..61dfd6ce5 --- /dev/null +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/Makefile.inc @@ -0,0 +1,3 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/08/22 16:03:30 matt Exp $ + +.include "../Makefile.inc" diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/backward/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/backward/Makefile index 18e712b3a..468194a66 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/backward/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/backward/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.2 2011/06/23 11:47:12 mrg Exp $ +# $NetBSD: Makefile,v 1.3 2013/08/22 16:03:30 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile index dc9431e85..94ef5719b 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.4 2011/06/29 02:01:37 mrg Exp $ +# $NetBSD: Makefile,v 1.6 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform @@ -26,14 +27,15 @@ c++locale.h: ${CONF}/locale/generic/c_locale.h # mknative? BITS_CPUDIR.sparc64=sparc -_DIR=${BITS_CPUDIR.${MACHINE_ARCH}} +_DIR=${BITS_CPUDIR.${GCC_MACHINE_ARCH}} .if ${_DIR} != "" -BITS_CPUDIR=${BITS_CPUDIR.${MACHINE_ARCH}} +BITS_CPUDIR=${BITS_CPUDIR.${GCC_MACHINE_ARCH}} .else BITS_CPUDIR=${MACHINE_GNU_ARCH} .endif -.PATH: ${DIST}/libstdc++-v3/include/bits \ +.PATH: ${.CURDIR}/../../arch/${GCC_MACHINE_ARCH} \ + ${DIST}/libstdc++-v3/include/bits \ ${DIST}/libstdc++-v3/include/c_std \ ${DIST}/libstdc++-v3/include/precompiled \ ${CONF}/os/bsd/netbsd \ @@ -41,8 +43,7 @@ BITS_CPUDIR=${MACHINE_GNU_ARCH} ${CONF}/io \ ${CONF}/cpu/${BITS_CPUDIR} \ ${CONF}/cpu/generic \ - ${CONF}/locale/generic \ - ${.CURDIR}/../../arch/${MACHINE_ARCH} + ${CONF}/locale/generic # Get default targets including . .include diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/debug/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/debug/Makefile index 1466bf4bd..d010d8060 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/debug/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/debug/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.2 2011/06/23 11:47:13 mrg Exp $ +# $NetBSD: Makefile,v 1.3 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/decimal/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/decimal/Makefile index dc4d88dae..39b21ad9f 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/decimal/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/decimal/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.1 2011/07/01 01:21:38 mrg Exp $ +# $NetBSD: Makefile,v 1.2 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/ext/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/ext/Makefile index 2fc080bf0..d37e4bc4b 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/ext/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/ext/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.3 2011/06/28 04:07:04 mrg Exp $ +# $NetBSD: Makefile,v 1.4 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/parallel/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/parallel/Makefile index 64f5a48a0..3568dc7d1 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/parallel/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/parallel/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.1 2011/07/01 01:21:38 mrg Exp $ +# $NetBSD: Makefile,v 1.2 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/tr1/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/tr1/Makefile index 707afc3f7..8cd14ff7a 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/tr1/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/tr1/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.2 2011/06/23 11:47:13 mrg Exp $ +# $NetBSD: Makefile,v 1.3 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libstdc++-v3/include/tr1_impl/Makefile b/external/gpl3/gcc/lib/libstdc++-v3/include/tr1_impl/Makefile index 2cb205548..cc16ee0a6 100644 --- a/external/gpl3/gcc/lib/libstdc++-v3/include/tr1_impl/Makefile +++ b/external/gpl3/gcc/lib/libstdc++-v3/include/tr1_impl/Makefile @@ -1,8 +1,9 @@ -# $NetBSD: Makefile,v 1.1 2011/07/01 01:21:39 mrg Exp $ +# $NetBSD: Makefile,v 1.2 2013/08/22 16:03:31 matt Exp $ .include +.include -.include "${.CURDIR}/../../arch/${MACHINE_ARCH}/defs.mk" +.include "${.CURDIR}/../../arch/${GCC_MACHINE_ARCH}/defs.mk" .cc: # disable .cc->NULL transform diff --git a/external/gpl3/gcc/lib/libsupc++/Makefile b/external/gpl3/gcc/lib/libsupc++/Makefile index d26c734f5..b2298cebf 100644 --- a/external/gpl3/gcc/lib/libsupc++/Makefile +++ b/external/gpl3/gcc/lib/libsupc++/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2011/08/09 13:00:04 joerg Exp $ +# $NetBSD: Makefile,v 1.5 2013/08/23 05:02:46 matt Exp $ REQUIRETOOLS= yes NOLINT= # defined @@ -6,21 +6,21 @@ NOPIC= # defined NOPROFILE= # defined .if defined(__MINIX) -WARNS= NOGCCERROR=yes NOCLANGERROR=yes -.else -CWARNFLAGS.clang+= -Wno-parentheses .endif +CWARNFLAGS.clang+= -Wno-parentheses UNSUPPORTED_COMPILER.clang= # defined .include +GCC_MACHINE_ARCH?=${MACHINE_ARCH:S/earmv5/earm/} + LIB= supc++ -.if exists(${.CURDIR}/../libstdc++-v3/arch/${MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no" -.include "${.CURDIR}/../libstdc++-v3/arch/${MACHINE_ARCH}/defs.mk" +.if exists(${.CURDIR}/../libstdc++-v3/arch/${GCC_MACHINE_ARCH}/defs.mk) && ${MKGCC} != "no" +.include "${.CURDIR}/../libstdc++-v3/arch/${GCC_MACHINE_ARCH}/defs.mk" SHLIB_MAJOR= 1 SHLIB_MINOR= 0 @@ -44,9 +44,9 @@ CLEANFILES+= unwind.h .PATH: ${DIST}/libstdc++-v3/src \ ${DIST}/libstdc++-v3/libsupc++ \ ${DIST}/libiberty \ - ${.CURDIR}/../libstdc++-v3/arch/${MACHINE_ARCH} + ${.CURDIR}/../libstdc++-v3/arch/${GCC_MACHINE_ARCH} -${OBJS}: ${.CURDIR}/../libstdc++-v3/arch/${MACHINE_ARCH}/defs.mk +${OBJS}: ${.CURDIR}/../libstdc++-v3/arch/${GCC_MACHINE_ARCH}/defs.mk .else .include # do nothing .endif diff --git a/external/gpl3/gcc/lib/libsupc++/Makefile.common b/external/gpl3/gcc/lib/libsupc++/Makefile.common index 3857a908b..675f3b84b 100644 --- a/external/gpl3/gcc/lib/libsupc++/Makefile.common +++ b/external/gpl3/gcc/lib/libsupc++/Makefile.common @@ -1,15 +1,17 @@ -# $NetBSD: Makefile.common,v 1.3 2011/06/28 04:03:16 mrg Exp $ +# $NetBSD: Makefile.common,v 1.4 2013/08/23 05:02:46 matt Exp $ DIST= ${NETBSDSRCDIR}/external/gpl3/gcc/dist GNUHOSTDIST= ${DIST} +GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/} + LIBSTDCXXSRCS= ${G_SRC_SOURCES} LIBSUPCXXSRCS= ${G_LIBSUPCXX_SOURCES} ${G_LIBSUPCXX_C_SOURCES} CPPFLAGS+= -I${DIST}/gcc CPPFLAGS+= -I${DIST}/include CPPFLAGS+= -I${DIST}/libstdc++-v3/libsupc++ -CPPFLAGS+= -I${.CURDIR}/../libstdc++-v3_4/arch/${MACHINE_ARCH} -I. +CPPFLAGS+= -I${.CURDIR}/../libstdc++-v3_4/arch/${GCC_MACHINE_ARCH} -I. CPPFLAGS+= -DHAVE_STDLIB_H -DHAVE_STRING_H .if defined(__MINIX) diff --git a/external/gpl3/gcc/patches/0000-gcc_nbsd.patch b/external/gpl3/gcc/patches/0000-gcc_nbsd.patch index d6c2efa63..7520bc53f 100644 --- a/external/gpl3/gcc/patches/0000-gcc_nbsd.patch +++ b/external/gpl3/gcc/patches/0000-gcc_nbsd.patch @@ -1,6 +1,6 @@ -diff -rNU3 -x *.info dist/ChangeLog dist.nbsd/ChangeLog ---- dist/ChangeLog Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/ChangeLog Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/ChangeLog dist.nbsd/ChangeLog +--- dist.orig/ChangeLog Thu Apr 28 14:08:55 2011 ++++ dist.nbsd/ChangeLog Wed Feb 19 16:44:08 2014 @@ -1,3 +1,33 @@ +2012-07-02 Release Manager + @@ -35,9 +35,9 @@ diff -rNU3 -x *.info dist/ChangeLog dist.nbsd/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/INSTALL/configure.html dist.nbsd/INSTALL/configure.html ---- dist/INSTALL/configure.html Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/INSTALL/configure.html Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/INSTALL/configure.html dist.nbsd/INSTALL/configure.html +--- dist.orig/INSTALL/configure.html Thu Apr 28 14:31:39 2011 ++++ dist.nbsd/INSTALL/configure.html Wed Feb 19 16:44:07 2014 @@ -561,7 +561,7 @@ @@ -47,15 +47,15 @@ diff -rNU3 -x *.info dist/INSTALL/configure.html dist.nbsd/INSTALL/configure.htm Linux-based targets, as the kernel will emulate them if the ISA does not provide them. -diff -rNU3 -x *.info dist/LAST_UPDATED dist.nbsd/LAST_UPDATED ---- dist/LAST_UPDATED Wed Nov 7 13:39:02 2012 -+++ dist.nbsd/LAST_UPDATED Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/LAST_UPDATED dist.nbsd/LAST_UPDATED +--- dist.orig/LAST_UPDATED Thu Apr 28 14:31:39 2011 ++++ dist.nbsd/LAST_UPDATED Wed Feb 19 16:44:15 2014 @@ -1 +1 @@ -Obtained from SVN: tags/gcc_4_5_3_release revision 173114 +Obtained from SVN: tags/gcc_4_5_4_release revision 189153 -diff -rNU3 -x *.info dist/MD5SUMS dist.nbsd/MD5SUMS ---- dist/MD5SUMS Wed Nov 7 13:39:02 2012 -+++ dist.nbsd/MD5SUMS Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/MD5SUMS dist.nbsd/MD5SUMS +--- dist.orig/MD5SUMS Thu Apr 28 15:43:05 2011 ++++ dist.nbsd/MD5SUMS Wed Feb 19 16:44:07 2014 @@ -1,5 +1,5 @@ # This file contains the MD5 checksums of the files in the -# gcc-4.5.3.tar.bz2 tarball. @@ -2227,9 +2227,9 @@ diff -rNU3 -x *.info dist/MD5SUMS dist.nbsd/MD5SUMS 449ffee0c7cffb24de0bcf2a68a70c2b zlib/ChangeLog.gcj 2f46720fda5ab68a1e495009895d874c zlib/FAQ 8851ace55681b1664d97c045d71e339b zlib/INDEX -diff -rNU3 -x *.info dist/Makefile.def dist.nbsd/Makefile.def ---- dist/Makefile.def Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/Makefile.def Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/Makefile.def dist.nbsd/Makefile.def +--- dist.orig/Makefile.def Thu Jun 10 17:05:59 2010 ++++ dist.nbsd/Makefile.def Wed Feb 19 16:44:08 2014 @@ -164,7 +164,6 @@ missing=maintainer-clean; }; target_modules = { module= winsup; }; @@ -2267,9 +2267,9 @@ diff -rNU3 -x *.info dist/Makefile.def dist.nbsd/Makefile.def dependencies = { module=configure-target-newlib; on=all-binutils; }; dependencies = { module=configure-target-newlib; on=all-ld; }; -diff -rNU3 -x *.info dist/Makefile.in dist.nbsd/Makefile.in ---- dist/Makefile.in Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/Makefile.in Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/Makefile.in dist.nbsd/Makefile.in +--- dist.orig/Makefile.in Thu Jun 10 17:05:59 2010 ++++ dist.nbsd/Makefile.in Wed Feb 19 16:44:08 2014 @@ -930,7 +930,6 @@ maybe-configure-target-libtermcap \ maybe-configure-target-winsup \ @@ -2916,9 +2916,9 @@ diff -rNU3 -x *.info dist/Makefile.in dist.nbsd/Makefile.in configure-target-gperf: maybe-all-target-newlib maybe-all-target-libgloss -diff -rNU3 -x *.info dist/NEWS dist.nbsd/NEWS ---- dist/NEWS Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/NEWS Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/NEWS dist.nbsd/NEWS +--- dist.orig/NEWS Thu Apr 28 14:32:00 2011 ++++ dist.nbsd/NEWS Wed Feb 19 16:44:08 2014 @@ -9,27 +9,30 @@ GCC 4.5 Release Series @@ -3738,9 +3738,9 @@ diff -rNU3 -x *.info dist/NEWS dist.nbsd/NEWS References -diff -rNU3 -x *.info dist/config/ChangeLog dist.nbsd/config/ChangeLog ---- dist/config/ChangeLog Wed Nov 7 13:39:33 2012 -+++ dist.nbsd/config/ChangeLog Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/config/ChangeLog dist.nbsd/config/ChangeLog +--- dist.orig/config/ChangeLog Thu Apr 28 14:11:26 2011 ++++ dist.nbsd/config/ChangeLog Wed Feb 19 16:44:07 2014 @@ -1,3 +1,17 @@ +2012-07-02 Release Manager + @@ -3759,9 +3759,9 @@ diff -rNU3 -x *.info dist/config/ChangeLog dist.nbsd/config/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/config/acx.m4 dist.nbsd/config/acx.m4 ---- dist/config/acx.m4 Wed Nov 7 13:39:33 2012 -+++ dist.nbsd/config/acx.m4 Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/config/acx.m4 dist.nbsd/config/acx.m4 +--- dist.orig/config/acx.m4 Fri Oct 23 10:03:47 2009 ++++ dist.nbsd/config/acx.m4 Wed Feb 19 16:44:07 2014 @@ -356,9 +356,9 @@ ac_c_preproc_warn_flag=yes])# AC_PROG_CPP_WERROR @@ -3784,28 +3784,58 @@ diff -rNU3 -x *.info dist/config/acx.m4 dist.nbsd/config/acx.m4 have_gnat=yes else have_gnat=no -diff -rNU3 -x *.info dist/config/mh-x86-darwin dist.nbsd/config/mh-x86-darwin ---- dist/config/mh-x86-darwin Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/config/mh-x86-darwin Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/config/mh-x86-darwin dist.nbsd/config/mh-x86-darwin +--- dist.orig/config/mh-x86-darwin Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/config/mh-x86-darwin Wed Feb 19 16:44:07 2014 @@ -0,0 +1,2 @@ +# 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;` -diff -rNU3 -x *.info dist/config.guess dist.nbsd/config.guess ---- dist/config.guess Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/config.guess Wed Nov 7 11:47:43 2012 -@@ -968,6 +968,9 @@ - sparc:Linux:*:* | sparc64:Linux:*:*) +diff -rNU3 dist.orig/config.guess dist.nbsd/config.guess +--- dist.orig/config.guess Tue Mar 23 14:26:40 2010 ++++ dist.nbsd/config.guess Wed Feb 19 16:44:08 2014 +@@ -160,14 +160,28 @@ + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; ++ coldfire) machine=m5407-unknown ;; ++ earm*eb*) machine=armeb-unknown ;; ++ earm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched +- # to ELF recently, or will in the future. ++ # to ELF recently, or will in the future and ABI. + case "${UNAME_MACHINE_ARCH}" in ++ coldfire) os=netbsdelf ;; ++ earm*) ++ eval $set_cc_for_build ++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ ++ | grep -q __ARM_PCS_VFP ++ then ++ os=netbsdelf-eabi ++ else ++ os=netbsdelf-eabihf ++ fi ++ ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ +@@ -966,6 +980,9 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; -+ tile*:Linux:*:*) + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu ++ tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; -diff -rNU3 -x *.info dist/config.sub dist.nbsd/config.sub ---- dist/config.sub Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/config.sub Wed Nov 7 11:47:43 2012 + vax:Linux:*:*) +diff -rNU3 dist.orig/config.sub dist.nbsd/config.sub +--- dist.orig/config.sub Tue Mar 23 14:26:40 2010 ++++ dist.nbsd/config.sub Wed Feb 19 16:44:08 2014 @@ -125,7 +125,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in @@ -3816,9 +3846,27 @@ diff -rNU3 -x *.info dist/config.sub dist.nbsd/config.sub kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os -diff -rNU3 -x *.info dist/configure dist.nbsd/configure ---- dist/configure Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/configure Wed Nov 7 11:47:49 2012 +@@ -317,7 +318,8 @@ + basic_machine=$basic_machine-unknown + os=-none + ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ++ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | m5407 \ ++ | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown +@@ -354,6 +356,7 @@ + | ip2k-* | iq2000-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ ++ | m5200-* | m5407-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ +diff -rNU3 dist.orig/configure dist.nbsd/configure +--- dist.orig/configure Tue Jan 25 15:49:54 2011 ++++ dist.nbsd/configure Wed Feb 19 16:44:15 2014 @@ -2912,9 +2912,8 @@ # these libraries are built for the target environment, and are built after @@ -3971,9 +4019,9 @@ diff -rNU3 -x *.info dist/configure dist.nbsd/configure # Quietly strip out all directories which aren't configurable in this tree. # This relies on all configurable subdirectories being autoconfiscated, which -diff -rNU3 -x *.info dist/configure.ac dist.nbsd/configure.ac ---- dist/configure.ac Wed Nov 7 13:39:02 2012 -+++ dist.nbsd/configure.ac Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/configure.ac dist.nbsd/configure.ac +--- dist.orig/configure.ac Tue Jan 25 15:49:54 2011 ++++ dist.nbsd/configure.ac Wed Feb 19 16:43:50 2014 @@ -185,9 +185,8 @@ # these libraries are built for the target environment, and are built after @@ -4117,9 +4165,9 @@ diff -rNU3 -x *.info dist/configure.ac dist.nbsd/configure.ac # Quietly strip out all directories which aren't configurable in this tree. # This relies on all configurable subdirectories being autoconfiscated, which -diff -rNU3 -x *.info dist/contrib/ChangeLog dist.nbsd/contrib/ChangeLog ---- dist/contrib/ChangeLog Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/contrib/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/contrib/ChangeLog dist.nbsd/contrib/ChangeLog +--- dist.orig/contrib/ChangeLog Thu Apr 28 14:08:43 2011 ++++ dist.nbsd/contrib/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -4128,9 +4176,9 @@ diff -rNU3 -x *.info dist/contrib/ChangeLog dist.nbsd/contrib/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/contrib/reghunt/ChangeLog dist.nbsd/contrib/reghunt/ChangeLog ---- dist/contrib/reghunt/ChangeLog Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/contrib/reghunt/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/contrib/reghunt/ChangeLog dist.nbsd/contrib/reghunt/ChangeLog +--- dist.orig/contrib/reghunt/ChangeLog Thu Apr 28 14:08:49 2011 ++++ dist.nbsd/contrib/reghunt/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -4139,9 +4187,9 @@ diff -rNU3 -x *.info dist/contrib/reghunt/ChangeLog dist.nbsd/contrib/reghunt/Ch 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/contrib/regression/ChangeLog dist.nbsd/contrib/regression/ChangeLog ---- dist/contrib/regression/ChangeLog Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/contrib/regression/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/contrib/regression/ChangeLog dist.nbsd/contrib/regression/ChangeLog +--- dist.orig/contrib/regression/ChangeLog Thu Apr 28 14:08:38 2011 ++++ dist.nbsd/contrib/regression/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -4150,9 +4198,9 @@ diff -rNU3 -x *.info dist/contrib/regression/ChangeLog dist.nbsd/contrib/regress 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/fixincludes/ChangeLog dist.nbsd/fixincludes/ChangeLog ---- dist/fixincludes/ChangeLog Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/fixincludes/ChangeLog Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/fixincludes/ChangeLog dist.nbsd/fixincludes/ChangeLog +--- dist.orig/fixincludes/ChangeLog Thu Apr 28 14:09:41 2011 ++++ dist.nbsd/fixincludes/ChangeLog Wed Feb 19 16:44:08 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -4161,15 +4209,15 @@ diff -rNU3 -x *.info dist/fixincludes/ChangeLog dist.nbsd/fixincludes/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/BASE-VER dist.nbsd/gcc/BASE-VER ---- dist/gcc/BASE-VER Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/BASE-VER Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/BASE-VER dist.nbsd/gcc/BASE-VER +--- dist.orig/gcc/BASE-VER Thu Dec 16 14:34:03 2010 ++++ dist.nbsd/gcc/BASE-VER Wed Feb 19 16:43:50 2014 @@ -1 +1 @@ -4.5.3 +4.5.4 -diff -rNU3 -x *.info dist/gcc/ChangeLog dist.nbsd/gcc/ChangeLog ---- dist/gcc/ChangeLog Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/ChangeLog Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/ChangeLog dist.nbsd/gcc/ChangeLog +--- dist.orig/gcc/ChangeLog Thu Apr 28 14:11:53 2011 ++++ dist.nbsd/gcc/ChangeLog Wed Feb 19 16:43:53 2014 @@ -1,3 +1,1239 @@ +2012-07-02 Release Manager + @@ -5518,16 +5566,26 @@ diff -rNU3 -x *.info dist/gcc/ChangeLog dist.nbsd/gcc/ChangeLog PR tree-optimization/43771 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that -diff -rNU3 -x *.info dist/gcc/DATESTAMP dist.nbsd/gcc/DATESTAMP ---- dist/gcc/DATESTAMP Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/DATESTAMP Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/DATESTAMP dist.nbsd/gcc/DATESTAMP +--- dist.orig/gcc/DATESTAMP Thu Apr 28 00:17:54 2011 ++++ dist.nbsd/gcc/DATESTAMP Wed Feb 19 16:43:52 2014 @@ -1 +1 @@ -20110428 +20120702 -diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in ---- dist/gcc/Makefile.in Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/Makefile.in Wed Nov 7 11:47:25 2012 -@@ -727,6 +727,7 @@ +diff -rNU3 dist.orig/gcc/Makefile.in dist.nbsd/gcc/Makefile.in +--- dist.orig/gcc/Makefile.in Thu Sep 2 13:05:30 2010 ++++ dist.nbsd/gcc/Makefile.in Wed Feb 19 16:43:51 2014 +@@ -602,6 +602,9 @@ + exeext = @host_exeext@ + build_exeext = @build_exeext@ + ++# NetBSD mknative-gcc addition ++ENABLE_SHARED = @enable_shared@ ++ + # Directory in which to put man pages. + mandir = @mandir@ + man1dir = $(mandir)/man1 +@@ -727,6 +730,7 @@ # Control whether header files are installed. INSTALL_HEADERS=install-headers install-mkheaders @@ -5535,7 +5593,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in # Control whether Info documentation is built and installed. BUILD_INFO = @BUILD_INFO@ -@@ -766,7 +767,7 @@ +@@ -766,7 +770,7 @@ # Native linker and preprocessor flags. For x-fragment overrides. BUILD_LDFLAGS=@BUILD_LDFLAGS@ @@ -5544,7 +5602,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in # Actual name to use when installing a native compiler. GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') -@@ -981,6 +982,7 @@ +@@ -981,6 +985,7 @@ # puts -I options in CPPFLAGS, our include files in the srcdir will always # win against random include files in /usr/include. ALL_CPPFLAGS = $(INCLUDES) $(CPPFLAGS) @@ -5552,7 +5610,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in # This is the variable to use when using $(COMPILER). ifneq ($(ENABLE_BUILD_WITH_CXX),yes) -@@ -1042,6 +1044,10 @@ +@@ -1042,6 +1047,10 @@ -I$(srcdir)/../include @INCINTL@ \ $(CPPINC) $(GMPINC) $(DECNUMINC) \ $(PPLINC) $(CLOOGINC) $(LIBELFINC) @@ -5563,7 +5621,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in .c.o: $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION) -@@ -1822,8 +1828,7 @@ +@@ -1822,8 +1831,7 @@ $(MACHMODE_H) $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \ $(LIB2ADD_ST) $(LIB2ADDEH) $(srcdir)/emutls.c gcov-iov.h $(SFP_MACHINE) @@ -5573,7 +5631,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in : > tmp-libgcc.mvars echo LIB1ASMFUNCS = '$(LIB1ASMFUNCS)' >> tmp-libgcc.mvars echo LIB1ASMSRC = '$(LIB1ASMSRC)' >> tmp-libgcc.mvars -@@ -1880,6 +1885,7 @@ +@@ -1880,6 +1888,7 @@ s-mlib: $(srcdir)/genmultilib Makefile if test @enable_multilib@ = yes \ || test -n "$(MULTILIB_OSDIRNAMES)"; then \ @@ -5581,7 +5639,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in $(SHELL) $(srcdir)/genmultilib \ "$(MULTILIB_OPTIONS)" \ "$(MULTILIB_DIRNAMES)" \ -@@ -3820,6 +3826,12 @@ +@@ -3820,6 +3829,12 @@ # s-* so that mostlyclean does not force the include directory to # be rebuilt. @@ -5594,7 +5652,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in # Build the include directories. stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) $(UNWIND_H) fixinc_list # Copy in the headers provided with gcc. -@@ -3829,6 +3841,7 @@ +@@ -3829,6 +3844,7 @@ # The touch command is here to workaround an AIX/Linux NFS bug. -if [ -d include ] ; then true; else mkdir include; chmod a+rx include; fi -if [ -d include-fixed ] ; then true; else mkdir include-fixed; chmod a+rx include-fixed; fi @@ -5602,7 +5660,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in for file in .. $(USER_H); do \ if [ X$$file != X.. ]; then \ realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \ -@@ -3837,11 +3850,13 @@ +@@ -3837,11 +3853,13 @@ cp $$file include; \ chmod a+r include/$$realfile; \ fi; \ @@ -5618,7 +5676,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in if [ $(USE_GCC_STDINT) = wrap ]; then \ rm -f include/stdint-gcc.h; \ cp $(srcdir)/ginclude/stdint-gcc.h include/stdint-gcc.h; \ -@@ -3851,7 +3866,7 @@ +@@ -3851,7 +3869,7 @@ elif [ $(USE_GCC_STDINT) = provide ]; then \ cp $(srcdir)/ginclude/stdint-gcc.h include/stdint.h; \ chmod a+r include/stdint.h; \ @@ -5627,7 +5685,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in set -e; for ml in `cat fixinc_list`; do \ sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \ multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \ -@@ -3866,7 +3881,8 @@ +@@ -3866,7 +3884,8 @@ rm -f $${fix_dir}/limits.h; \ mv tmp-xlimits.h $${fix_dir}/limits.h; \ chmod a+r $${fix_dir}/limits.h; \ @@ -5637,7 +5695,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in # Install the README rm -f include-fixed/README cp $(srcdir)/../fixincludes/README-fixinc include-fixed/README -@@ -3926,10 +3942,11 @@ +@@ -3926,10 +3945,11 @@ # Abort if no system headers available, unless building a crosscompiler. # FIXME: abort unless building --without-headers would be more accurate and less ugly stmp-fixinc: gsyslimits.h macro_list fixinc_list \ @@ -5652,7 +5710,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in if [ -d ../prev-gcc ]; then \ cd ../prev-gcc && \ $(MAKE) real-$(INSTALL_HEADERS_DIR) DESTDIR=`pwd`/../gcc/ \ -@@ -3963,6 +3980,7 @@ +@@ -3963,6 +3983,7 @@ fi; \ chmod a+r $${fix_dir}/syslimits.h; \ done; \ @@ -5660,7 +5718,7 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in fi $(STAMP) stmp-fixinc # -@@ -4389,6 +4407,8 @@ +@@ -4389,6 +4410,8 @@ lang.install-info $(DESTDIR)$(infodir)/%.info: doc/%.info installdirs @@ -5669,9 +5727,9 @@ diff -rNU3 -x *.info dist/gcc/Makefile.in dist.nbsd/gcc/Makefile.in rm -f $@ if [ -f $< ]; then \ for f in $(<)*; do \ -diff -rNU3 -x *.info dist/gcc/builtins.c dist.nbsd/gcc/builtins.c ---- dist/gcc/builtins.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/builtins.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/builtins.c dist.nbsd/gcc/builtins.c +--- dist.orig/gcc/builtins.c Tue Dec 7 15:11:46 2010 ++++ dist.nbsd/gcc/builtins.c Wed Feb 19 16:43:54 2014 @@ -347,7 +347,7 @@ can_trust_pointer_alignment (void) { @@ -5751,9 +5809,9 @@ diff -rNU3 -x *.info dist/gcc/builtins.c dist.nbsd/gcc/builtins.c return NULL_RTX; } -diff -rNU3 -x *.info dist/gcc/c-common.c dist.nbsd/gcc/c-common.c ---- dist/gcc/c-common.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/c-common.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/c-common.c dist.nbsd/gcc/c-common.c +--- dist.orig/gcc/c-common.c Thu Apr 7 18:25:50 2011 ++++ dist.nbsd/gcc/c-common.c Wed Feb 19 16:44:06 2014 @@ -4031,14 +4031,15 @@ /* Distribute the conversion into the arms of a COND_EXPR. */ if (c_dialect_cxx ()) @@ -5777,9 +5835,9 @@ diff -rNU3 -x *.info dist/gcc/c-common.c dist.nbsd/gcc/c-common.c goto ret; } else -diff -rNU3 -x *.info dist/gcc/c-decl.c dist.nbsd/gcc/c-decl.c ---- dist/gcc/c-decl.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/c-decl.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/c-decl.c dist.nbsd/gcc/c-decl.c +--- dist.orig/gcc/c-decl.c Thu Nov 11 20:40:32 2010 ++++ dist.nbsd/gcc/c-decl.c Wed Feb 19 16:43:54 2014 @@ -3909,7 +3909,7 @@ return 0; @@ -5799,9 +5857,9 @@ diff -rNU3 -x *.info dist/gcc/c-decl.c dist.nbsd/gcc/c-decl.c return 0; loc = DECL_SOURCE_LOCATION (decl1); -diff -rNU3 -x *.info dist/gcc/c-lex.c dist.nbsd/gcc/c-lex.c ---- dist/gcc/c-lex.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/c-lex.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/c-lex.c dist.nbsd/gcc/c-lex.c +--- dist.orig/gcc/c-lex.c Thu Apr 7 18:24:43 2011 ++++ dist.nbsd/gcc/c-lex.c Wed Feb 19 16:43:51 2014 @@ -718,22 +718,25 @@ outside the range of representable values of its type. Since we have __builtin_inf* to produce an infinity, this is now a @@ -5843,9 +5901,9 @@ diff -rNU3 -x *.info dist/gcc/c-lex.c dist.nbsd/gcc/c-lex.c } /* Create a node with determined type and value. */ -diff -rNU3 -x *.info dist/gcc/c-opts.c dist.nbsd/gcc/c-opts.c ---- dist/gcc/c-opts.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/c-opts.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/c-opts.c dist.nbsd/gcc/c-opts.c +--- dist.orig/gcc/c-opts.c Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/c-opts.c Wed Feb 19 16:43:50 2014 @@ -160,12 +160,14 @@ error ("macro name missing after %qs", opt); break; @@ -5883,9 +5941,9 @@ diff -rNU3 -x *.info dist/gcc/c-opts.c dist.nbsd/gcc/c-opts.c break; case OPT_iwithprefix: -diff -rNU3 -x *.info dist/gcc/c-typeck.c dist.nbsd/gcc/c-typeck.c ---- dist/gcc/c-typeck.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/c-typeck.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/c-typeck.c dist.nbsd/gcc/c-typeck.c +--- dist.orig/gcc/c-typeck.c Sun Jan 16 20:26:27 2011 ++++ dist.nbsd/gcc/c-typeck.c Wed Feb 19 16:44:07 2014 @@ -4219,6 +4219,11 @@ ret = fold_build3_loc (colon_loc, COND_EXPR, result_type, ifexp, op1, op2); else @@ -5923,9 +5981,9 @@ diff -rNU3 -x *.info dist/gcc/c-typeck.c dist.nbsd/gcc/c-typeck.c { if (!op0_maybe_const || TREE_CODE (op0) != INTEGER_CST) op0 = c_wrap_maybe_const (op0, !op0_maybe_const); -diff -rNU3 -x *.info dist/gcc/c.opt dist.nbsd/gcc/c.opt ---- dist/gcc/c.opt Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/c.opt Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/c.opt dist.nbsd/gcc/c.opt +--- dist.orig/gcc/c.opt Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/c.opt Wed Feb 19 16:43:52 2014 @@ -520,6 +520,12 @@ C ObjC C++ ObjC++ A synonym for -std=c89 (for C) or -std=c++98 (for C++) @@ -5950,9 +6008,9 @@ diff -rNU3 -x *.info dist/gcc/c.opt dist.nbsd/gcc/c.opt iwithprefix C ObjC C++ ObjC++ Joined Separate -diff -rNU3 -x *.info dist/gcc/caller-save.c dist.nbsd/gcc/caller-save.c ---- dist/gcc/caller-save.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/caller-save.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/caller-save.c dist.nbsd/gcc/caller-save.c +--- dist.orig/gcc/caller-save.c Wed Mar 16 20:19:14 2011 ++++ dist.nbsd/gcc/caller-save.c Wed Feb 19 16:43:53 2014 @@ -439,101 +439,93 @@ void setup_save_areas (void) @@ -6141,9 +6199,9 @@ diff -rNU3 -x *.info dist/gcc/caller-save.c dist.nbsd/gcc/caller-save.c in a manner which allows multi-register saves/restores to be done. */ for (i = 0; i < FIRST_PSEUDO_REGISTER; i++) -diff -rNU3 -x *.info dist/gcc/cfgexpand.c dist.nbsd/gcc/cfgexpand.c ---- dist/gcc/cfgexpand.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/cfgexpand.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/cfgexpand.c dist.nbsd/gcc/cfgexpand.c +--- dist.orig/gcc/cfgexpand.c Sun Jan 16 20:20:21 2011 ++++ dist.nbsd/gcc/cfgexpand.c Wed Feb 19 16:44:07 2014 @@ -1080,7 +1080,9 @@ else len = tree_low_cst (TYPE_SIZE_UNIT (type), 1); @@ -6164,9 +6222,9 @@ diff -rNU3 -x *.info dist/gcc/cfgexpand.c dist.nbsd/gcc/cfgexpand.c } goto adjust_mode; } -diff -rNU3 -x *.info dist/gcc/cfgrtl.c dist.nbsd/gcc/cfgrtl.c ---- dist/gcc/cfgrtl.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/cfgrtl.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/cfgrtl.c dist.nbsd/gcc/cfgrtl.c +--- dist.orig/gcc/cfgrtl.c Mon Sep 20 21:30:35 2010 ++++ dist.nbsd/gcc/cfgrtl.c Wed Feb 19 16:43:51 2014 @@ -1116,6 +1116,7 @@ rtx note; edge new_edge; @@ -6270,9 +6328,9 @@ diff -rNU3 -x *.info dist/gcc/cfgrtl.c dist.nbsd/gcc/cfgrtl.c delete_insn_chain (NEXT_INSN (first), last, false); b->il.rtl->header = NULL; } -diff -rNU3 -x *.info dist/gcc/combine.c dist.nbsd/gcc/combine.c ---- dist/gcc/combine.c Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/combine.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/combine.c dist.nbsd/gcc/combine.c +--- dist.orig/gcc/combine.c Tue Dec 7 15:08:54 2010 ++++ dist.nbsd/gcc/combine.c Wed Feb 19 16:43:54 2014 @@ -5298,7 +5298,7 @@ { /* Try to simplify the expression further. */ @@ -6282,9 +6340,9 @@ diff -rNU3 -x *.info dist/gcc/combine.c dist.nbsd/gcc/combine.c /* If we could, great. If not, do not go ahead with the IOR replacement, since PLUS appears in many special purpose -diff -rNU3 -x *.info dist/gcc/config/alpha/alpha.c dist.nbsd/gcc/config/alpha/alpha.c ---- dist/gcc/config/alpha/alpha.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/alpha/alpha.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/alpha/alpha.c dist.nbsd/gcc/config/alpha/alpha.c +--- dist.orig/gcc/config/alpha/alpha.c Tue Aug 3 18:44:56 2010 ++++ dist.nbsd/gcc/config/alpha/alpha.c Wed Feb 19 16:43:50 2014 @@ -2464,7 +2464,7 @@ { case EQ: case LE: case LT: case LEU: case LTU: @@ -6381,10 +6439,21 @@ diff -rNU3 -x *.info dist/gcc/config/alpha/alpha.c dist.nbsd/gcc/config/alpha/al #undef TARGET_SECONDARY_RELOAD #define TARGET_SECONDARY_RELOAD alpha_secondary_reload -diff -rNU3 -x *.info dist/gcc/config/alpha/elf.h dist.nbsd/gcc/config/alpha/elf.h ---- dist/gcc/config/alpha/elf.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/alpha/elf.h Wed Nov 7 11:47:24 2012 -@@ -440,7 +440,7 @@ +diff -rNU3 dist.orig/gcc/config/alpha/elf.h dist.nbsd/gcc/config/alpha/elf.h +--- dist.orig/gcc/config/alpha/elf.h Wed Jun 30 15:16:54 2010 ++++ dist.nbsd/gcc/config/alpha/elf.h Wed Feb 19 16:43:50 2014 +@@ -25,8 +25,9 @@ + + /* ??? Move all SDB stuff from alpha.h to osf.h. */ + #undef SDB_DEBUGGING_INFO ++#undef MIPS_DEBUGGING_INFO ++#undef DBX_DEBUGGING_INFO + +-#define DBX_DEBUGGING_INFO 1 + #define DWARF2_DEBUGGING_INFO 1 + + #undef PREFERRED_DEBUGGING_TYPE +@@ -440,7 +441,7 @@ As of Jan 2002, only glibc 2.2.4 can actually make use of this, but I imagine that other systems will catch up. In the meantime, it doesn't harm to make sure that the data exists to be used later. */ @@ -6393,9 +6462,9 @@ diff -rNU3 -x *.info dist/gcc/config/alpha/elf.h dist.nbsd/gcc/config/alpha/elf. #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif -diff -rNU3 -x *.info dist/gcc/config/alpha/linux-unwind.h dist.nbsd/gcc/config/alpha/linux-unwind.h ---- dist/gcc/config/alpha/linux-unwind.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/alpha/linux-unwind.h Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/alpha/linux-unwind.h dist.nbsd/gcc/config/alpha/linux-unwind.h +--- dist.orig/gcc/config/alpha/linux-unwind.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/config/alpha/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Alpha Linux. - Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. @@ -6473,9 +6542,23 @@ diff -rNU3 -x *.info dist/gcc/config/alpha/linux-unwind.h dist.nbsd/gcc/config/a + || pc[1] == 0x201f015f)) /* lda $0,NR_rt_sigreturn */ + _Unwind_SetSignalFrame (context, 1); } -diff -rNU3 -x *.info dist/gcc/config/arm/arm.c dist.nbsd/gcc/config/arm/arm.c ---- dist/gcc/config/arm/arm.c Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/arm.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/config/arm/arm-cores.def dist.nbsd/gcc/config/arm/arm-cores.def +--- dist.orig/gcc/config/arm/arm-cores.def Fri Nov 20 17:37:30 2009 ++++ dist.nbsd/gcc/config/arm/arm-cores.def Wed Feb 19 16:43:51 2014 +@@ -119,8 +119,10 @@ + ARM_CORE("arm1156t2-s", arm1156t2s, 6T2, FL_LDSCHED, 9e) + ARM_CORE("arm1156t2f-s", arm1156t2fs, 6T2, FL_LDSCHED | FL_VFPV2, 9e) + ARM_CORE("cortex-a5", cortexa5, 7A, FL_LDSCHED, 9e) ++ARM_CORE("cortex-a7", cortexa7, 7A, FL_LDSCHED | FL_DIV, 9e) + ARM_CORE("cortex-a8", cortexa8, 7A, FL_LDSCHED, 9e) + ARM_CORE("cortex-a9", cortexa9, 7A, FL_LDSCHED, 9e) ++ARM_CORE("cortex-a15", cortexa15, 7A, FL_LDSCHED | FL_DIV, 9e) + ARM_CORE("cortex-r4", cortexr4, 7R, FL_LDSCHED, 9e) + ARM_CORE("cortex-r4f", cortexr4f, 7R, FL_LDSCHED, 9e) + ARM_CORE("cortex-m3", cortexm3, 7M, FL_LDSCHED, 9e) +diff -rNU3 dist.orig/gcc/config/arm/arm.c dist.nbsd/gcc/config/arm/arm.c +--- dist.orig/gcc/config/arm/arm.c Mon Dec 27 12:45:02 2010 ++++ dist.nbsd/gcc/config/arm/arm.c Wed Feb 19 16:43:51 2014 @@ -3339,6 +3339,10 @@ add_libcall (libcall_htab, convert_optab_libfunc (trunc_optab, HFmode, SFmode)); @@ -6525,10 +6608,35 @@ diff -rNU3 -x *.info dist/gcc/config/arm/arm.c dist.nbsd/gcc/config/arm/arm.c emit_move_insn (mem, tmp1); mem = adjust_address (mem, mode, GET_MODE_SIZE (mode)); -diff -rNU3 -x *.info dist/gcc/config/arm/arm.h dist.nbsd/gcc/config/arm/arm.h ---- dist/gcc/config/arm/arm.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/arm.h Wed Nov 7 11:47:25 2012 -@@ -2111,7 +2111,7 @@ +diff -rNU3 dist.orig/gcc/config/arm/arm.h dist.nbsd/gcc/config/arm/arm.h +--- dist.orig/gcc/config/arm/arm.h Wed Dec 23 16:36:40 2009 ++++ dist.nbsd/gcc/config/arm/arm.h Wed Feb 19 16:43:51 2014 +@@ -94,7 +94,14 @@ + if (arm_arch_iwmmxt) \ + builtin_define ("__IWMMXT__"); \ + if (TARGET_AAPCS_BASED) \ +- builtin_define ("__ARM_EABI__"); \ ++ { \ ++ builtin_define ("__ARM_EABI__"); \ ++ builtin_define ("__ARM_PCS"); \ ++ if (TARGET_HARD_FLOAT && TARGET_VFP) \ ++ builtin_define ("__ARM_PCS_VFP"); \ ++ } \ ++ if (TARGET_IDIV) \ ++ builtin_define ("__ARM_ARCH_EXT_IDIV__"); \ + } while (0) + + /* The various ARM cores. */ +@@ -264,6 +271,8 @@ + for Thumb-2. */ + #define TARGET_UNIFIED_ASM TARGET_THUMB2 + ++/* Nonzero if integer division instructions supported. */ ++#define TARGET_IDIV (arm_arch_hwdiv) + + /* True iff the full BPABI is being used. If TARGET_BPABI is true, + then TARGET_AAPCS_BASED must be true -- but the converse does not +@@ -2111,7 +2120,7 @@ (GET_CODE (X) == REG && ARM_REG_OK_FOR_INDEX_P (X)) /* Define this for compatibility reasons. */ @@ -6537,9 +6645,9 @@ diff -rNU3 -x *.info dist/gcc/config/arm/arm.h dist.nbsd/gcc/config/arm/arm.h /* Specify the machine mode that this machine uses for the index in the tablejump instruction. */ -diff -rNU3 -x *.info dist/gcc/config/arm/arm.md dist.nbsd/gcc/config/arm/arm.md ---- dist/gcc/config/arm/arm.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/arm.md Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/config/arm/arm.md dist.nbsd/gcc/config/arm/arm.md +--- dist.orig/gcc/config/arm/arm.md Tue Apr 12 13:52:46 2011 ++++ dist.nbsd/gcc/config/arm/arm.md Wed Feb 19 16:43:51 2014 @@ -3134,7 +3134,7 @@ bool need_else; @@ -6549,6 +6657,33 @@ diff -rNU3 -x *.info dist/gcc/config/arm/arm.md dist.nbsd/gcc/config/arm/arm.md need_else = true; else need_else = false; +@@ -3189,7 +3189,7 @@ + ) + + (define_insn "arm_ashldi3_1bit" +- [(set (match_operand:DI 0 "s_register_operand" "=&r,r") ++ [(set (match_operand:DI 0 "s_register_operand" "=r,&r") + (ashift:DI (match_operand:DI 1 "s_register_operand" "0,r") + (const_int 1))) + (clobber (reg:CC CC_REGNUM))] +@@ -3248,7 +3248,7 @@ + ) + + (define_insn "arm_ashrdi3_1bit" +- [(set (match_operand:DI 0 "s_register_operand" "=&r,r") ++ [(set (match_operand:DI 0 "s_register_operand" "=r,&r") + (ashiftrt:DI (match_operand:DI 1 "s_register_operand" "0,r") + (const_int 1))) + (clobber (reg:CC CC_REGNUM))] +@@ -3304,7 +3304,7 @@ + ) + + (define_insn "arm_lshrdi3_1bit" +- [(set (match_operand:DI 0 "s_register_operand" "=&r,r") ++ [(set (match_operand:DI 0 "s_register_operand" "=r,&r") + (lshiftrt:DI (match_operand:DI 1 "s_register_operand" "0,r") + (const_int 1))) + (clobber (reg:CC CC_REGNUM))] @@ -7994,7 +7994,7 @@ (not:SI (match_operator:SI 1 "arm_comparison_operator" [(match_operand 2 "cc_register" "") (const_int 0)])))] @@ -6558,15 +6693,15 @@ diff -rNU3 -x *.info dist/gcc/config/arm/arm.md dist.nbsd/gcc/config/arm/arm.md [(set_attr "conds" "use") (set_attr "length" "8")] ) -diff -rNU3 -x *.info dist/gcc/config/arm/bpabi-netbsd.c dist.nbsd/gcc/config/arm/bpabi-netbsd.c ---- dist/gcc/config/arm/bpabi-netbsd.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/arm/bpabi-netbsd.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/config/arm/bpabi-netbsd.c dist.nbsd/gcc/config/arm/bpabi-netbsd.c +--- dist.orig/gcc/config/arm/bpabi-netbsd.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/arm/bpabi-netbsd.c Wed Feb 19 16:43:51 2014 @@ -0,0 +1 @@ +#include "bpabi.c" -diff -rNU3 -x *.info dist/gcc/config/arm/bpabi.h dist.nbsd/gcc/config/arm/bpabi.h ---- dist/gcc/config/arm/bpabi.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/bpabi.h Wed Nov 7 11:47:25 2012 -@@ -20,13 +20,16 @@ +diff -rNU3 dist.orig/gcc/config/arm/bpabi.h dist.nbsd/gcc/config/arm/bpabi.h +--- dist.orig/gcc/config/arm/bpabi.h Fri Nov 20 17:37:30 2009 ++++ dist.nbsd/gcc/config/arm/bpabi.h Wed Feb 19 16:43:51 2014 +@@ -20,13 +20,18 @@ . */ /* Use the AAPCS ABI by default. */ @@ -6580,6 +6715,8 @@ diff -rNU3 -x *.info dist/gcc/config/arm/bpabi.h dist.nbsd/gcc/config/arm/bpabi. /* BPABI targets use EABI frame unwinding tables. */ +#undef MUST_USE_SJLJ_EXCEPTIONS #define TARGET_UNWIND_INFO 1 ++#undef ARM_EABI_UNWIND_TABLES ++#define ARM_EABI_UNWIND_TABLES 1 /* Section 4.1 of the AAPCS requires the use of VFP format. */ #undef FPUTYPE_DEFAULT @@ -6603,9 +6740,9 @@ diff -rNU3 -x *.info dist/gcc/config/arm/bpabi.h dist.nbsd/gcc/config/arm/bpabi. /* Give some libgcc functions an additional __aeabi name. */ #ifdef L_muldi3 -diff -rNU3 -x *.info dist/gcc/config/arm/elf.h dist.nbsd/gcc/config/arm/elf.h ---- dist/gcc/config/arm/elf.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/elf.h Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/config/arm/elf.h dist.nbsd/gcc/config/arm/elf.h +--- dist.orig/gcc/config/arm/elf.h Sun Jun 21 20:48:15 2009 ++++ dist.nbsd/gcc/config/arm/elf.h Wed Feb 19 16:43:51 2014 @@ -161,6 +161,8 @@ #undef L_floatdidf #undef L_floatdisf @@ -6616,9 +6753,9 @@ diff -rNU3 -x *.info dist/gcc/config/arm/elf.h dist.nbsd/gcc/config/arm/elf.h +# endif #endif - -diff -rNU3 -x *.info dist/gcc/config/arm/neon.md dist.nbsd/gcc/config/arm/neon.md ---- dist/gcc/config/arm/neon.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/neon.md Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/config/arm/neon.md dist.nbsd/gcc/config/arm/neon.md +--- dist.orig/gcc/config/arm/neon.md Mon Jul 5 12:45:19 2010 ++++ dist.nbsd/gcc/config/arm/neon.md Wed Feb 19 16:43:51 2014 @@ -680,7 +680,7 @@ (match_operand:SI 2 "immediate_operand" "i")))] "TARGET_NEON" @@ -6690,10 +6827,10 @@ diff -rNU3 -x *.info dist/gcc/config/arm/neon.md dist.nbsd/gcc/config/arm/neon.m [(set (attr "neon_type") (if_then_else (ne (symbol_ref "") (const_int 0)) (const_string "neon_bp_simple") -diff -rNU3 -x *.info dist/gcc/config/arm/netbsd-eabi.h dist.nbsd/gcc/config/arm/netbsd-eabi.h ---- dist/gcc/config/arm/netbsd-eabi.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/arm/netbsd-eabi.h Wed Nov 7 11:47:25 2012 -@@ -0,0 +1,94 @@ +diff -rNU3 dist.orig/gcc/config/arm/netbsd-eabi.h dist.nbsd/gcc/config/arm/netbsd-eabi.h +--- dist.orig/gcc/config/arm/netbsd-eabi.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/arm/netbsd-eabi.h Wed Feb 19 16:43:51 2014 +@@ -0,0 +1,113 @@ +/* Definitions of target machine for GNU compiler, NetBSD/arm ELF version. + Copyright (C) 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. + Contributed by Wasabi Systems, Inc. @@ -6716,66 +6853,84 @@ diff -rNU3 -x *.info dist/gcc/config/arm/netbsd-eabi.h dist.nbsd/gcc/config/arm/ + +/* Run-time Target Specification. */ +#undef TARGET_VERSION -+#define TARGET_VERSION fputs (" (NetBSD/arm ELF EABI)", stderr); ++#define TARGET_VERSION fputs (" (NetBSD/earm ELF)", stderr); + -+/* Default to armv5t so that thumb shared libraries work. -+ The ARM10TDMI core is the default for armv5t, so set -+ SUBTARGET_CPU_DEFAULT to achieve this. */ -+#undef SUBTARGET_CPU_DEFAULT -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi ++#undef MULTILIB_DEFAULTS ++#define MULTILIB_DEFAULTS { "mabi=aapcs-linux" } + -+/* This defaults us to little-endian. */ -+#ifndef TARGET_ENDIAN_DEFAULT -+#define TARGET_ENDIAN_DEFAULT 0 -+#endif ++#undef MUST_USE_SJLJ_EXCEPTIONS ++#define MUST_USE_SJLJ_EXCEPTIONS (!TARGET_AAPCS_BASED) ++ ++#undef ARM_EABI_UNWIND_TABLES ++#define ARM_EABI_UNWIND_TABLES \ ++ ((!USING_SJLJ_EXCEPTIONS && flag_exceptions) || flag_unwind_tables) ++ ++#define TARGET_LINKER_EABI_SUFFIX "%{!mabi=apcs-gnu:%{!mabi=atpcs:_nbsd_eabi}}" ++#define TARGET_LINKER_BIG_EMULATION "armelfb%(linker_eabi_suffix)" ++#define TARGET_LINKER_LITTLE_EMULATION "armelf%(linker_eabi_suffix)" + +/* TARGET_BIG_ENDIAN_DEFAULT is set in + config.gcc for big endian configurations. */ +#undef TARGET_LINKER_EMULATION -+#if TARGET_ENDIAN_DEFAULT == MASK_BIG -+#define TARGET_LINKER_EMULATION "-m armelfb_nbsd_eabi" ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define TARGET_LINKER_EMULATION TARGET_LINKER_BIG_EMULATION ++#undef BE8_LINK_SPEC ++#define BE8_LINK_SPEC " %{!mlittle-endian:%{march=armv7-a|mcpu=cortex-a5|mcpu=cortex-a8|mcpu=cortex-a9:%{!r:--be8}}}" +#else -+#define TARGET_LINKER_EMULATION "-m armelf_nbsd_eabi" ++#define TARGET_LINKER_EMULATION TARGET_LINKER_LITTLE_EMULATION +#endif + +#undef MULTILIB_DEFAULTS + -+/* Default it to use ATPCS with soft-VFP. */ -+#undef TARGET_DEFAULT -+#define TARGET_DEFAULT \ -+ (MASK_APCS_FRAME \ -+ | TARGET_ENDIAN_DEFAULT) -+ +#undef ARM_DEFAULT_ABI +#define ARM_DEFAULT_ABI ARM_ABI_AAPCS_LINUX + +#undef TARGET_OS_CPP_BUILTINS -+#define TARGET_OS_CPP_BUILTINS() \ -+ do \ -+ { \ -+ TARGET_BPABI_CPP_BUILTINS(); \ -+ NETBSD_OS_CPP_BUILTINS_ELF(); \ -+ } \ ++#define TARGET_OS_CPP_BUILTINS() \ ++ do \ ++ { \ ++ if (TARGET_AAPCS_BASED) \ ++ TARGET_BPABI_CPP_BUILTINS(); \ ++ NETBSD_OS_CPP_BUILTINS_ELF(); \ ++ if (ARM_EABI_UNWIND_TABLES) \ ++ builtin_define ("__UNWIND_TABLES__"); \ ++ } \ + while (0) + +#undef SUBTARGET_CPP_SPEC +#define SUBTARGET_CPP_SPEC NETBSD_CPP_SPEC + ++/* ++ * Override AAPCS types to remain compatible the existing NetBSD types. ++ */ ++#undef WCHAR_TYPE ++#define WCHAR_TYPE "int" ++ ++#undef SIZE_TYPE ++#define SIZE_TYPE "long unsigned int" ++ ++#undef PTRDIFF_TYPE ++#define PTRDIFF_TYPE "long int" ++ +#undef SUBTARGET_EXTRA_ASM_SPEC +#define SUBTARGET_EXTRA_ASM_SPEC \ -+ "-matpcs %{!mabi=*|mabi=aapcs*:-meabi=4} %{fpic|fpie:-k} %{fPIC|fPIE:-k}" ++ "-matpcs %{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu} %{fpic|fpie:-k} %{fPIC|fPIE:-k}" + +/* Default to full VFP if -mhard-float is specified. */ +#undef SUBTARGET_ASM_FLOAT_SPEC +#define SUBTARGET_ASM_FLOAT_SPEC \ -+ "%{mhard-float:{!mfpu=*:-mfpu=vfp}} \ -+ %{mfloat-abi=hard:{!mfpu=*:-mfpu=vfp}}" ++ "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \ ++ %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}" + +#undef SUBTARGET_EXTRA_SPECS +#define SUBTARGET_EXTRA_SPECS \ + { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \ + { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \ + { "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \ ++ { "linker_eabi_suffix", TARGET_LINKER_EABI_SUFFIX }, \ ++ { "linker_emulation", TARGET_LINKER_EMULATION }, \ ++ { "linker_big_emulation", TARGET_LINKER_BIG_EMULATION }, \ ++ { "linker_little_emulation", TARGET_LINKER_LITTLE_EMULATION }, \ + { "be8_link_spec", BE8_LINK_SPEC }, \ + { "target_fix_v4bx_spec", TARGET_FIX_V4BX_SPEC }, \ + { "netbsd_entry_point", NETBSD_ENTRY_POINT }, @@ -6784,14 +6939,30 @@ diff -rNU3 -x *.info dist/gcc/config/arm/netbsd-eabi.h dist.nbsd/gcc/config/arm/ + +#undef LINK_SPEC +#define LINK_SPEC \ -+ "-X %{mbig-endian:-EB -m armelfb_nbsd_eabi} \ -+ %{mlittle-endian:-EL -m armelf_nbsd_eabi} \ ++ "-X %{mbig-endian:-EB -m %(linker_big_emulation)} \ ++ %{mlittle-endian:-EL -m %(linker_liitle_emulation)} \ ++ %{!mbig-endian:%{!mlittle-endian:-m %(linker_emulation)}} \ + %(be8_link_spec) %(target_fix_v4bx_spec) \ + %(netbsd_link_spec)" -diff -rNU3 -x *.info dist/gcc/config/arm/netbsd-elf.h dist.nbsd/gcc/config/arm/netbsd-elf.h ---- dist/gcc/config/arm/netbsd-elf.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/netbsd-elf.h Wed Nov 7 11:47:25 2012 -@@ -40,6 +40,7 @@ +diff -rNU3 dist.orig/gcc/config/arm/netbsd-elf.h dist.nbsd/gcc/config/arm/netbsd-elf.h +--- dist.orig/gcc/config/arm/netbsd-elf.h Thu Nov 5 14:47:45 2009 ++++ dist.nbsd/gcc/config/arm/netbsd-elf.h Wed Feb 19 16:43:51 2014 +@@ -24,6 +24,14 @@ + + /* arm.h defaults to ARM6 CPU. */ + ++/* Default EABI to armv5t so that thumb shared libraries work. ++ The ARM926EH-S core is the default for armv5te, so set ++ SUBTARGET_CPU_DEFAULT to achieve this. */ ++ ++#define SUBTARGET_CPU_DEFAULT \ ++ (ARM_DEFAULT_ABI != ARM_ABI_APCS && ARM_DEFAULT_ABI != ARM_ABI_ATPCS \ ++ ? TARGET_CPU_arm926ejs : TARGET_CPU_arm6) ++ + /* This defaults us to little-endian. */ + #ifndef TARGET_ENDIAN_DEFAULT + #define TARGET_ENDIAN_DEFAULT 0 +@@ -40,6 +48,7 @@ #undef ARM_DEFAULT_ABI #define ARM_DEFAULT_ABI ARM_ABI_ATPCS @@ -6799,18 +6970,37 @@ diff -rNU3 -x *.info dist/gcc/config/arm/netbsd-elf.h dist.nbsd/gcc/config/arm/n #define TARGET_OS_CPP_BUILTINS() \ do \ { \ -@@ -52,7 +53,7 @@ +@@ -52,13 +61,13 @@ #undef SUBTARGET_EXTRA_ASM_SPEC #define SUBTARGET_EXTRA_ASM_SPEC \ - "-matpcs %{fpic|fpie:-k} %{fPIC|fPIE:-k}" -+ "-matpcs %{mabi=aapcs*:-meabi=4} %{fpic|fpie:-k} %{fPIC|fPIE:-k}" ++ "-matpcs %{mabi=aapcs*:-meabi=5} %{fpic|fpie:-k} %{fPIC|fPIE:-k}" /* Default to full VFP if -mhard-float is specified. */ #undef SUBTARGET_ASM_FLOAT_SPEC -diff -rNU3 -x *.info dist/gcc/config/arm/t-arm dist.nbsd/gcc/config/arm/t-arm ---- dist/gcc/config/arm/t-arm Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/t-arm Wed Nov 7 11:47:25 2012 + #define SUBTARGET_ASM_FLOAT_SPEC \ +- "%{mhard-float:{!mfpu=*:-mfpu=vfp}} \ +- %{mfloat-abi=hard:{!mfpu=*:-mfpu=vfp}}" ++ "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \ ++ %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}" + + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ +@@ -71,7 +80,9 @@ + + #undef LINK_SPEC + #define LINK_SPEC \ +- "-X %{mbig-endian:-EB} %{mlittle-endian:-EL} \ ++ "-X \ ++ %{mbig-endian:-EB %{-mabi=aapcs*:-m armelfb_nbsd_eabi}} \ ++ %{mlittle-endian:-EL %{-mabi=aapcs*:-m armelf_nbsd_eabi}} \ + %(netbsd_link_spec)" + + /* Make GCC agree with . */ +diff -rNU3 dist.orig/gcc/config/arm/t-arm dist.nbsd/gcc/config/arm/t-arm +--- dist.orig/gcc/config/arm/t-arm Sun Jun 21 20:48:15 2009 ++++ dist.nbsd/gcc/config/arm/t-arm Wed Feb 19 16:43:51 2014 @@ -41,6 +41,8 @@ $(srcdir)/config/arm/arm-tune.md: $(srcdir)/config/arm/gentune.sh \ @@ -6820,9 +7010,9 @@ diff -rNU3 -x *.info dist/gcc/config/arm/t-arm dist.nbsd/gcc/config/arm/t-arm $(SHELL) $(srcdir)/config/arm/gentune.sh \ $(srcdir)/config/arm/arm-cores.def > \ $(srcdir)/config/arm/arm-tune.md -diff -rNU3 -x *.info dist/gcc/config/arm/t-netbsd dist.nbsd/gcc/config/arm/t-netbsd ---- dist/gcc/config/arm/t-netbsd Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/t-netbsd Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/config/arm/t-netbsd dist.nbsd/gcc/config/arm/t-netbsd +--- dist.orig/gcc/config/arm/t-netbsd Tue Apr 21 19:03:23 2009 ++++ dist.nbsd/gcc/config/arm/t-netbsd Wed Feb 19 16:43:51 2014 @@ -23,6 +23,14 @@ LIBGCC2_DEBUG_CFLAGS = -g0 LIB2FUNCS_EXTRA = $(srcdir)/config/floatunsidf.c $(srcdir)/config/floatunsisf.c @@ -6838,10 +7028,10 @@ diff -rNU3 -x *.info dist/gcc/config/arm/t-netbsd dist.nbsd/gcc/config/arm/t-net # Build a shared libgcc library. SHLIB_EXT = .so SHLIB_NAME = @shlib_base_name@.so -diff -rNU3 -x *.info dist/gcc/config/arm/t-netbsd-eabi dist.nbsd/gcc/config/arm/t-netbsd-eabi ---- dist/gcc/config/arm/t-netbsd-eabi Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/arm/t-netbsd-eabi Wed Nov 7 11:47:25 2012 -@@ -0,0 +1,35 @@ +diff -rNU3 dist.orig/gcc/config/arm/t-netbsd-eabi dist.nbsd/gcc/config/arm/t-netbsd-eabi +--- dist.orig/gcc/config/arm/t-netbsd-eabi Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/arm/t-netbsd-eabi Wed Feb 19 16:43:51 2014 +@@ -0,0 +1,40 @@ +# Copyright (C) 2005, 2009 Free Software Foundation, Inc. +# +# This file is part of GCC. @@ -6861,25 +7051,30 @@ diff -rNU3 -x *.info dist/gcc/config/arm/t-netbsd-eabi dist.nbsd/gcc/config/arm/ +# . + +# Use a version of div0 which raises SIGFPE, and a special __clear_cache. -+#LIB1ASMFUNCS += \ -+# _ashldi3 _ashrdi3 _divdi3 _floatdidf _udivmoddi4 _umoddi3 \ -+# _udivdi3 _lshrdi3 _moddi3 _muldi3 _negdi2 _cmpdi2 \ -+# _fixdfdi _fixsfdi _fixunsdfdi _fixunssfdi _floatdisf \ -+# _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \ -+# _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ -+# _fixsfsi _fixunssfsi ++ +LIB1ASMFUNCS += \ -+ _floatundisf ++ _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX \ ++ _clzsi2 _clzdi2 + -+# Add the BPABI C functions. -+LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi-netbsd.c \ -+ $(srcdir)/config/arm/unaligned-funcs.c ++# Add the BPABI C functions that aren't already in libc ++LIB2FUNCS_EXTRA = $(srcdir)/config/arm/unaligned-funcs.c + -+# we don't have this -+LIB2FUNCS_STATIC_EXTRA = -diff -rNU3 -x *.info dist/gcc/config/arm/thumb2.md dist.nbsd/gcc/config/arm/thumb2.md ---- dist/gcc/config/arm/thumb2.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/arm/thumb2.md Wed Nov 7 11:47:25 2012 ++LIB2FUNCS_STATIC_EXTRA = ++ ++UNWIND_H = $(srcdir)/config/arm/unwind-arm.h ++LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \ ++ $(srcdir)/config/arm/libunwind.S \ ++ $(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c ++LIB2ADDEHDEP = $(UNWIND_H) $(srcdir)/config/$(LIB1ASMSRC) ++ ++SHLIB_MAPFILES += $(srcdir)/config/arm/libgcc-bpabi.ver ++ ++MULTILIB_OPTIONS = mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt ++MULTILIB_DIRNAMES = aapcs-linux aapcs atpcs oabi iwmmxt ++MULTILIB_OSDIRNAMES = . ../lib/aapcs ../lib/atpcs ../lib/oabi ../lib/iwmmxt +diff -rNU3 dist.orig/gcc/config/arm/thumb2.md dist.nbsd/gcc/config/arm/thumb2.md +--- dist.orig/gcc/config/arm/thumb2.md Fri Apr 2 08:32:00 2010 ++++ dist.nbsd/gcc/config/arm/thumb2.md Wed Feb 19 16:43:51 2014 @@ -380,7 +380,7 @@ (not:SI (match_operator:SI 1 "arm_comparison_operator" [(match_operand 2 "cc_register" "") (const_int 0)])))] @@ -6911,9 +7106,27 @@ diff -rNU3 -x *.info dist/gcc/config/arm/thumb2.md dist.nbsd/gcc/config/arm/thum (clobber (reg:CC CC_REGNUM))] "TARGET_THUMB2 && reload_completed && ((GET_CODE(operands[3]) != ROTATE && GET_CODE(operands[3]) != ROTATERT) -diff -rNU3 -x *.info dist/gcc/config/avr/avr-stdint.h dist.nbsd/gcc/config/avr/avr-stdint.h ---- dist/gcc/config/avr/avr-stdint.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/avr/avr-stdint.h Wed Nov 7 11:47:24 2012 +@@ -1207,7 +1208,7 @@ + [(set (match_operand:SI 0 "s_register_operand" "=r") + (div:SI (match_operand:SI 1 "s_register_operand" "r") + (match_operand:SI 2 "s_register_operand" "r")))] +- "TARGET_THUMB2 && arm_arch_hwdiv" ++ "(TARGET_THUMB2 || TARGET_ARM) && arm_arch_hwdiv" + "sdiv%?\t%0, %1, %2" + [(set_attr "predicable" "yes") + (set_attr "insn" "sdiv")] +@@ -1217,7 +1218,7 @@ + [(set (match_operand:SI 0 "s_register_operand" "=r") + (udiv:SI (match_operand:SI 1 "s_register_operand" "r") + (match_operand:SI 2 "s_register_operand" "r")))] +- "TARGET_THUMB2 && arm_arch_hwdiv" ++ "(TARGET_THUMB2 || TARGET_ARM) && arm_arch_hwdiv" + "udiv%?\t%0, %1, %2" + [(set_attr "predicable" "yes") + (set_attr "insn" "udiv")] +diff -rNU3 dist.orig/gcc/config/avr/avr-stdint.h dist.nbsd/gcc/config/avr/avr-stdint.h +--- dist.orig/gcc/config/avr/avr-stdint.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/avr/avr-stdint.h Wed Feb 19 16:43:50 2014 @@ -0,0 +1,66 @@ +/* Definitions for types on systems using newlib. + Copyright (C) 2012 Free Software Foundation, Inc. @@ -6981,9 +7194,9 @@ diff -rNU3 -x *.info dist/gcc/config/avr/avr-stdint.h dist.nbsd/gcc/config/avr/a +#ifndef UINTPTR_TYPE +#define UINTPTR_TYPE SIZE_TYPE +#endif -diff -rNU3 -x *.info dist/gcc/config/avr/avr.c dist.nbsd/gcc/config/avr/avr.c ---- dist/gcc/config/avr/avr.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/avr/avr.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/avr/avr.c dist.nbsd/gcc/config/avr/avr.c +--- dist.orig/gcc/config/avr/avr.c Thu Mar 3 16:58:26 2011 ++++ dist.nbsd/gcc/config/avr/avr.c Wed Feb 19 16:43:50 2014 @@ -1043,8 +1043,7 @@ true_regnum (XEXP (x, 0))); debug_rtx (x); @@ -7096,9 +7309,9 @@ diff -rNU3 -x *.info dist/gcc/config/avr/avr.c dist.nbsd/gcc/config/avr/avr.c return 1; } -diff -rNU3 -x *.info dist/gcc/config/avr/libgcc.S dist.nbsd/gcc/config/avr/libgcc.S ---- dist/gcc/config/avr/libgcc.S Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/avr/libgcc.S Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/avr/libgcc.S dist.nbsd/gcc/config/avr/libgcc.S +--- dist.orig/gcc/config/avr/libgcc.S Sat May 23 07:16:07 2009 ++++ dist.nbsd/gcc/config/avr/libgcc.S Wed Feb 19 16:43:50 2014 @@ -28,6 +28,7 @@ #define __SP_H__ 0x3e #define __SP_L__ 0x3d @@ -7183,9 +7396,9 @@ diff -rNU3 -x *.info dist/gcc/config/avr/libgcc.S dist.nbsd/gcc/config/avr/libgc #endif ret #endif -diff -rNU3 -x *.info dist/gcc/config/bfin/linux-unwind.h dist.nbsd/gcc/config/bfin/linux-unwind.h ---- dist/gcc/config/bfin/linux-unwind.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/bfin/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/bfin/linux-unwind.h dist.nbsd/gcc/config/bfin/linux-unwind.h +--- dist.orig/gcc/config/bfin/linux-unwind.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/config/bfin/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Blackfin. - Copyright (C) 2007, 2009 Free Software Foundation, Inc. @@ -7206,17 +7419,17 @@ diff -rNU3 -x *.info dist/gcc/config/bfin/linux-unwind.h dist.nbsd/gcc/config/bf struct ucontext uc; } *rt_ = context->cfa; -diff -rNU3 -x *.info dist/gcc/config/darwin-protos.h dist.nbsd/gcc/config/darwin-protos.h ---- dist/gcc/config/darwin-protos.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/darwin-protos.h Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/darwin-protos.h dist.nbsd/gcc/config/darwin-protos.h +--- dist.orig/gcc/config/darwin-protos.h Thu Jun 24 21:06:37 2010 ++++ dist.nbsd/gcc/config/darwin-protos.h Wed Feb 19 16:43:50 2014 @@ -93,3 +93,4 @@ extern bool darwin_kextabi_p (void); extern void darwin_override_options (void); extern void darwin_patch_builtins (void); +extern void darwin_rename_builtins (void); -diff -rNU3 -x *.info dist/gcc/config/darwin.c dist.nbsd/gcc/config/darwin.c ---- dist/gcc/config/darwin.c Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/darwin.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/darwin.c dist.nbsd/gcc/config/darwin.c +--- dist.orig/gcc/config/darwin.c Thu Jun 24 21:06:37 2010 ++++ dist.nbsd/gcc/config/darwin.c Wed Feb 19 16:43:50 2014 @@ -337,6 +337,34 @@ /* Return a hash value for a SLOT in the indirections hash table. */ @@ -7252,9 +7465,9 @@ diff -rNU3 -x *.info dist/gcc/config/darwin.c dist.nbsd/gcc/config/darwin.c static hashval_t machopic_indirection_hash (const void *slot) { -diff -rNU3 -x *.info dist/gcc/config/freebsd-spec.h dist.nbsd/gcc/config/freebsd-spec.h ---- dist/gcc/config/freebsd-spec.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/freebsd-spec.h Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/freebsd-spec.h dist.nbsd/gcc/config/freebsd-spec.h +--- dist.orig/gcc/config/freebsd-spec.h Fri Feb 25 23:15:48 2011 ++++ dist.nbsd/gcc/config/freebsd-spec.h Wed Feb 19 16:43:50 2014 @@ -153,7 +153,7 @@ #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1" #endif @@ -7264,9 +7477,9 @@ diff -rNU3 -x *.info dist/gcc/config/freebsd-spec.h dist.nbsd/gcc/config/freebsd #define LINK_EH_SPEC "%{!static:--eh-frame-hdr} " #endif -diff -rNU3 -x *.info dist/gcc/config/i386/athlon.md dist.nbsd/gcc/config/i386/athlon.md ---- dist/gcc/config/i386/athlon.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/athlon.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/athlon.md dist.nbsd/gcc/config/i386/athlon.md +--- dist.orig/gcc/config/i386/athlon.md Tue Apr 21 19:03:23 2009 ++++ dist.nbsd/gcc/config/i386/athlon.md Wed Feb 19 16:43:50 2014 @@ -798,7 +798,7 @@ "athlon-direct,athlon-fploadk8,athlon-fadd") (define_insn_reservation "athlon_ssecomi" 4 @@ -7276,9 +7489,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/athlon.md dist.nbsd/gcc/config/i386/at "athlon-vector,athlon-fpsched,athlon-fadd") (define_insn_reservation "athlon_ssecomi_amdfam10" 3 (and (eq_attr "cpu" "amdfam10") -diff -rNU3 -x *.info dist/gcc/config/i386/avxintrin.h dist.nbsd/gcc/config/i386/avxintrin.h ---- dist/gcc/config/i386/avxintrin.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/avxintrin.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/avxintrin.h dist.nbsd/gcc/config/i386/avxintrin.h +--- dist.orig/gcc/config/i386/avxintrin.h Mon Feb 21 20:02:02 2011 ++++ dist.nbsd/gcc/config/i386/avxintrin.h Wed Feb 19 16:43:50 2014 @@ -759,7 +759,7 @@ #ifdef __x86_64__ @@ -7288,9 +7501,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/avxintrin.h dist.nbsd/gcc/config/i386/ { __m128i __Y = _mm256_extractf128_si256 (__X, __N >> 1); __Y = _mm_insert_epi64 (__Y, __D, __N % 2); -diff -rNU3 -x *.info dist/gcc/config/i386/constraints.md dist.nbsd/gcc/config/i386/constraints.md ---- dist/gcc/config/i386/constraints.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/constraints.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/constraints.md dist.nbsd/gcc/config/i386/constraints.md +--- dist.orig/gcc/config/i386/constraints.md Wed Jul 8 16:41:23 2009 ++++ dist.nbsd/gcc/config/i386/constraints.md Wed Feb 19 16:43:50 2014 @@ -149,7 +149,7 @@ (define_constraint "G" "Standard 80387 floating point constant." @@ -7300,9 +7513,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/constraints.md dist.nbsd/gcc/config/i3 ;; This can theoretically be any mode's CONST0_RTX. (define_constraint "C" -diff -rNU3 -x *.info dist/gcc/config/i386/darwin.h dist.nbsd/gcc/config/i386/darwin.h ---- dist/gcc/config/i386/darwin.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/darwin.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/darwin.h dist.nbsd/gcc/config/i386/darwin.h +--- dist.orig/gcc/config/i386/darwin.h Fri Sep 10 16:12:46 2010 ++++ dist.nbsd/gcc/config/i386/darwin.h Wed Feb 19 16:43:50 2014 @@ -302,3 +302,17 @@ #define MACHO_SYMBOL_FLAG_VARIABLE ((SYMBOL_FLAG_MACH_DEP) << 3) @@ -7321,10 +7534,20 @@ diff -rNU3 -x *.info dist/gcc/config/i386/darwin.h dist.nbsd/gcc/config/i386/dar +#define DECLARE_LIBRARY_RENAMES \ + asm(".text; ___divdc3: jmp ___ieee_divdc3 ; .globl ___divdc3"); +#endif -diff -rNU3 -x *.info dist/gcc/config/i386/driver-i386.c dist.nbsd/gcc/config/i386/driver-i386.c ---- dist/gcc/config/i386/driver-i386.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/driver-i386.c Wed Nov 7 11:47:24 2012 -@@ -494,7 +494,7 @@ +diff -rNU3 dist.orig/gcc/config/i386/driver-i386.c dist.nbsd/gcc/config/i386/driver-i386.c +--- dist.orig/gcc/config/i386/driver-i386.c Sun May 9 14:53:00 2010 ++++ dist.nbsd/gcc/config/i386/driver-i386.c Wed Feb 19 16:43:50 2014 +@@ -436,7 +436,8 @@ + has_ssse3 = ecx & bit_SSSE3; + has_sse4_1 = ecx & bit_SSE4_1; + has_sse4_2 = ecx & bit_SSE4_2; +- has_avx = ecx & bit_AVX; ++ /* Don't check XCR0[2] - I think that can be 'lazy enabled' by the OS */ ++ has_avx = (ecx & bit_AVX) && (ecx & bit_OSXSAVE); + has_cmpxchg16b = ecx & bit_CMPXCHG16B; + has_movbe = ecx & bit_MOVBE; + has_popcnt = ecx & bit_POPCNT; +@@ -494,7 +495,7 @@ processor = PROCESSOR_AMDFAM10; else if (has_sse2 || has_longmode) processor = PROCESSOR_K8; @@ -7333,9 +7556,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/driver-i386.c dist.nbsd/gcc/config/i38 processor = PROCESSOR_ATHLON; else if (has_mmx) processor = PROCESSOR_K6; -diff -rNU3 -x *.info dist/gcc/config/i386/i386-protos.h dist.nbsd/gcc/config/i386/i386-protos.h ---- dist/gcc/config/i386/i386-protos.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/i386-protos.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/i386-protos.h dist.nbsd/gcc/config/i386/i386-protos.h +--- dist.orig/gcc/config/i386/i386-protos.h Thu Jul 22 06:42:02 2010 ++++ dist.nbsd/gcc/config/i386/i386-protos.h Wed Feb 19 16:43:50 2014 @@ -57,7 +57,8 @@ extern bool constant_address_p (rtx); extern bool legitimate_pic_operand_p (rtx); @@ -7346,9 +7569,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/i386-protos.h dist.nbsd/gcc/config/i38 extern void print_reg (rtx, int, FILE*); extern void print_operand (FILE*, rtx, int); extern void print_operand_address (FILE*, rtx); -diff -rNU3 -x *.info dist/gcc/config/i386/i386.c dist.nbsd/gcc/config/i386/i386.c ---- dist/gcc/config/i386/i386.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/i386.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/i386.c dist.nbsd/gcc/config/i386/i386.c +--- dist.orig/gcc/config/i386/i386.c Thu Feb 17 21:22:02 2011 ++++ dist.nbsd/gcc/config/i386/i386.c Wed Feb 19 16:43:50 2014 @@ -46,6 +46,7 @@ #include "target.h" #include "target-def.h" @@ -7521,7 +7744,7 @@ diff -rNU3 -x *.info dist/gcc/config/i386/i386.c dist.nbsd/gcc/config/i386/i386. { - if (DECL_MODE (TYPE_FIELDS (type)) == DFmode && align < 64) + if (DECL_MODE (TYPE_FIELDS (type)) == DFmode && align < 64 -+ && (TARGET_64BIT || ix86_preferred_stack_boundary >= 64)) ++ && ix86_preferred_stack_boundary >= 64) return 64; if (ALIGN_MODE_128 (DECL_MODE (TYPE_FIELDS (type))) && align < 128) return 128; @@ -7531,7 +7754,7 @@ diff -rNU3 -x *.info dist/gcc/config/i386/i386.c dist.nbsd/gcc/config/i386/i386. - if (TYPE_MODE (type) == DFmode && align < 64) + if (TYPE_MODE (type) == DFmode && align < 64 -+ && (TARGET_64BIT || ix86_preferred_stack_boundary >= 64)) ++ && ix86_preferred_stack_boundary >= 64) return 64; if (ALIGN_MODE_128 (TYPE_MODE (type)) && align < 128) return 128; @@ -7588,9 +7811,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/i386.c dist.nbsd/gcc/config/i386/i386. struct gcc_target targetm = TARGET_INITIALIZER; -diff -rNU3 -x *.info dist/gcc/config/i386/i386.h dist.nbsd/gcc/config/i386/i386.h ---- dist/gcc/config/i386/i386.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/i386.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/i386.h dist.nbsd/gcc/config/i386/i386.h +--- dist.orig/gcc/config/i386/i386.h Wed Mar 30 10:48:07 2011 ++++ dist.nbsd/gcc/config/i386/i386.h Wed Feb 19 16:43:50 2014 @@ -397,7 +397,7 @@ /* Feature tests against the various architecture variations. */ @@ -7644,9 +7867,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/i386.h dist.nbsd/gcc/config/i386/i386. /* If defined, a C expression to determine the base term of address X. This macro is used in only one place: `find_base_term' in alias.c. -diff -rNU3 -x *.info dist/gcc/config/i386/i386.md dist.nbsd/gcc/config/i386/i386.md ---- dist/gcc/config/i386/i386.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/i386.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/i386.md dist.nbsd/gcc/config/i386/i386.md +--- dist.orig/gcc/config/i386/i386.md Fri Jan 7 13:02:29 2011 ++++ dist.nbsd/gcc/config/i386/i386.md Wed Feb 19 16:43:50 2014 @@ -2430,7 +2430,7 @@ [(set_attr "type" "*,*,mmx,mmxmov,mmxmov,sselog1,ssemov,ssemov,ssemov,sselog1,ssemov,ssemov,ssemov") (set (attr "prefix") @@ -8225,9 +8448,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/i386.md dist.nbsd/gcc/config/i386/i386 "" "sbb{}\t%0, %0" [(set_attr "type" "alu") -diff -rNU3 -x *.info dist/gcc/config/i386/linux-unwind.h dist.nbsd/gcc/config/i386/linux-unwind.h ---- dist/gcc/config/i386/linux-unwind.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/linux-unwind.h dist.nbsd/gcc/config/i386/linux-unwind.h +--- dist.orig/gcc/config/i386/linux-unwind.h Fri Nov 13 06:58:12 2009 ++++ dist.nbsd/gcc/config/i386/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for AMD x86-64 and x86. - Copyright (C) 2004, 2005, 2006, 2009 Free Software Foundation, Inc. @@ -8247,9 +8470,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/linux-unwind.h dist.nbsd/gcc/config/i3 struct ucontext uc; } *rt_ = context->cfa; /* The void * cast is necessary to avoid an aliasing warning. -diff -rNU3 -x *.info dist/gcc/config/i386/mmx.md dist.nbsd/gcc/config/i386/mmx.md ---- dist/gcc/config/i386/mmx.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/mmx.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/mmx.md dist.nbsd/gcc/config/i386/mmx.md +--- dist.orig/gcc/config/i386/mmx.md Wed Dec 30 11:07:12 2009 ++++ dist.nbsd/gcc/config/i386/mmx.md Wed Feb 19 16:43:50 2014 @@ -63,6 +63,7 @@ DONE; }) @@ -8277,24 +8500,20 @@ diff -rNU3 -x *.info dist/gcc/config/i386/mmx.md dist.nbsd/gcc/config/i386/mmx.m (define_insn "*movv2sf_internal_rex64" [(set (match_operand:V2SF 0 "nonimmediate_operand" "=rm,r ,!?y,!?y ,m ,!y,*Y2,x,x,x,m,r,Yi") -diff -rNU3 -x *.info dist/gcc/config/i386/netbsd-elf.h dist.nbsd/gcc/config/i386/netbsd-elf.h ---- dist/gcc/config/i386/netbsd-elf.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/netbsd-elf.h Wed Nov 7 11:47:24 2012 -@@ -122,3 +122,11 @@ +diff -rNU3 dist.orig/gcc/config/i386/netbsd-elf.h dist.nbsd/gcc/config/i386/netbsd-elf.h +--- dist.orig/gcc/config/i386/netbsd-elf.h Thu Aug 2 10:49:31 2007 ++++ dist.nbsd/gcc/config/i386/netbsd-elf.h Wed Feb 19 16:43:50 2014 +@@ -122,3 +122,7 @@ #define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK #define TARGET_VERSION fprintf (stderr, " (NetBSD/i386 ELF)"); + -+#undef X87_ENABLE_ARITH -+#define X87_ENABLE_ARITH(MODE) \ -+ (flag_excess_precision == EXCESS_PRECISION_FAST || (MODE) == DFmode) -+ +/* Preserve i386 psABI */ +#undef PREFERRED_STACK_BOUNDARY_DEFAULT +#define PREFERRED_STACK_BOUNDARY_DEFAULT MIN_STACK_BOUNDARY -diff -rNU3 -x *.info dist/gcc/config/i386/netbsd64.h dist.nbsd/gcc/config/i386/netbsd64.h ---- dist/gcc/config/i386/netbsd64.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/netbsd64.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/netbsd64.h dist.nbsd/gcc/config/i386/netbsd64.h +--- dist.orig/gcc/config/i386/netbsd64.h Thu Aug 2 10:49:31 2007 ++++ dist.nbsd/gcc/config/i386/netbsd64.h Wed Feb 19 16:43:50 2014 @@ -70,3 +70,7 @@ #define ENABLE_EXECUTE_STACK NETBSD_ENABLE_EXECUTE_STACK @@ -8303,9 +8522,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/netbsd64.h dist.nbsd/gcc/config/i386/n +/* Preserve i386 psABI */ +#undef PREFERRED_STACK_BOUNDARY_DEFAULT +#define PREFERRED_STACK_BOUNDARY_DEFAULT MIN_STACK_BOUNDARY -diff -rNU3 -x *.info dist/gcc/config/i386/sse.md dist.nbsd/gcc/config/i386/sse.md ---- dist/gcc/config/i386/sse.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/sse.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/sse.md dist.nbsd/gcc/config/i386/sse.md +--- dist.orig/gcc/config/i386/sse.md Sat Apr 16 07:53:39 2011 ++++ dist.nbsd/gcc/config/i386/sse.md Wed Feb 19 16:43:50 2014 @@ -354,18 +354,7 @@ DONE; }) @@ -8584,9 +8803,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/sse.md dist.nbsd/gcc/config/i386/sse.m UNSPEC_MASKLOAD))] "TARGET_AVX" "vmaskmovp\t{%1, %2, %0|%0, %2, %1}" -diff -rNU3 -x *.info dist/gcc/config/i386/t-netbsd64 dist.nbsd/gcc/config/i386/t-netbsd64 ---- dist/gcc/config/i386/t-netbsd64 Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/i386/t-netbsd64 Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/t-netbsd64 dist.nbsd/gcc/config/i386/t-netbsd64 +--- dist.orig/gcc/config/i386/t-netbsd64 Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/i386/t-netbsd64 Wed Feb 19 16:43:50 2014 @@ -0,0 +1,15 @@ +# NetBSD has (will have) "non-native" libraries in /usr/lib/. +# For NetBSD/amd64 we thus have /usr/lib and /usr/lib/i386. @@ -8603,9 +8822,9 @@ diff -rNU3 -x *.info dist/gcc/config/i386/t-netbsd64 dist.nbsd/gcc/config/i386/t +# because then __FRAME_END__ might not be the last thing in .eh_frame +# section. +CRTSTUFF_T_CFLAGS += -fno-omit-frame-pointer -fno-asynchronous-unwind-tables -diff -rNU3 -x *.info dist/gcc/config/i386/winnt-cxx.c dist.nbsd/gcc/config/i386/winnt-cxx.c ---- dist/gcc/config/i386/winnt-cxx.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/i386/winnt-cxx.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/i386/winnt-cxx.c dist.nbsd/gcc/config/i386/winnt-cxx.c +--- dist.orig/gcc/config/i386/winnt-cxx.c Wed Oct 7 02:57:21 2009 ++++ dist.nbsd/gcc/config/i386/winnt-cxx.c Wed Feb 19 16:43:50 2014 @@ -101,6 +101,20 @@ if (lookup_attribute ("dllexport", TYPE_ATTRIBUTES (t)) != NULL_TREE) @@ -8627,9 +8846,24 @@ diff -rNU3 -x *.info dist/gcc/config/i386/winnt-cxx.c dist.nbsd/gcc/config/i386/ /* Check static VAR_DECL's. */ for (member = TYPE_FIELDS (t); member; member = TREE_CHAIN (member)) if (TREE_CODE (member) == VAR_DECL) -diff -rNU3 -x *.info dist/gcc/config/ia64/linux-unwind.h dist.nbsd/gcc/config/ia64/linux-unwind.h ---- dist/gcc/config/ia64/linux-unwind.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/ia64/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/ia64/fde-glibc.c dist.nbsd/gcc/config/ia64/fde-glibc.c +--- dist.orig/gcc/config/ia64/fde-glibc.c Fri Aug 14 20:56:31 2009 ++++ dist.nbsd/gcc/config/ia64/fde-glibc.c Wed Feb 19 16:43:51 2014 +@@ -34,9 +34,11 @@ + #include + #include "unwind-ia64.h" + ++#if !defined(__NetBSD__) + #if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 2) \ + || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && !defined(DT_CONFIG)) + # error You need GLIBC 2.2.4 or later on IA-64 Linux ++#endif + #endif + + struct unw_ia64_callback_data +diff -rNU3 dist.orig/gcc/config/ia64/linux-unwind.h dist.nbsd/gcc/config/ia64/linux-unwind.h +--- dist.orig/gcc/config/ia64/linux-unwind.h Fri Aug 14 20:49:40 2009 ++++ dist.nbsd/gcc/config/ia64/linux-unwind.h Wed Feb 19 16:43:51 2014 @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for IA64 Linux. - Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. @@ -8655,10 +8889,10 @@ diff -rNU3 -x *.info dist/gcc/config/ia64/linux-unwind.h dist.nbsd/gcc/config/ia struct sigcontext *sc; } *frame = (struct sigframe *)context->psp; struct sigcontext *sc = frame->sc; -diff -rNU3 -x *.info dist/gcc/config/ia64/netbsd.h dist.nbsd/gcc/config/ia64/netbsd.h ---- dist/gcc/config/ia64/netbsd.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/ia64/netbsd.h Wed Nov 7 11:47:24 2012 -@@ -0,0 +1,56 @@ +diff -rNU3 dist.orig/gcc/config/ia64/netbsd.h dist.nbsd/gcc/config/ia64/netbsd.h +--- dist.orig/gcc/config/ia64/netbsd.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/ia64/netbsd.h Wed Feb 19 16:43:51 2014 +@@ -0,0 +1,61 @@ +/* Definitions of target machine for GNU compiler, + for ia64/ELF NetBSD systems. + Copyright (C) 2005 Free Software Foundation, Inc. @@ -8714,17 +8948,22 @@ diff -rNU3 -x *.info dist/gcc/config/ia64/netbsd.h dist.nbsd/gcc/config/ia64/net +/* Attempt to enable execute permissions on the stack. */ +#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK + ++/* Make sure _enable_execute_stack() isn't the empty function in libgcc2.c. ++ It gets defined in _trampoline.o via NETBSD_ENABLE_EXECUTE_STACK. */ ++#undef ENABLE_EXECUTE_STACK ++#define ENABLE_EXECUTE_STACK ++ +#define TARGET_VERSION fprintf (stderr, " (NetBSD/ia64 ELF)"); -diff -rNU3 -x *.info dist/gcc/config/lm32/t-lm32 dist.nbsd/gcc/config/lm32/t-lm32 ---- dist/gcc/config/lm32/t-lm32 Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/lm32/t-lm32 Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/lm32/t-lm32 dist.nbsd/gcc/config/lm32/t-lm32 +--- dist.orig/gcc/config/lm32/t-lm32 Tue Mar 30 10:26:24 2010 ++++ dist.nbsd/gcc/config/lm32/t-lm32 Wed Feb 19 16:43:50 2014 @@ -1,2 +1,2 @@ # for multilib -MULTILIB_OPTIONS = mmultiply-enabled mbarrel-shift-enabled +MULTILIB_OPTIONS = mbarrel-shift-enabled mmultiply-enabled mdivide-enabled msign-extend-enabled -diff -rNU3 -x *.info dist/gcc/config/m68k/constraints.md dist.nbsd/gcc/config/m68k/constraints.md ---- dist/gcc/config/m68k/constraints.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/m68k/constraints.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/m68k/constraints.md dist.nbsd/gcc/config/m68k/constraints.md +--- dist.orig/gcc/config/m68k/constraints.md Mon May 18 07:54:44 2009 ++++ dist.nbsd/gcc/config/m68k/constraints.md Wed Feb 19 16:43:50 2014 @@ -94,7 +94,8 @@ (define_constraint "T" "Used for operands that satisfy 's' when -mpcrel is not in effect." @@ -8735,9 +8974,9 @@ diff -rNU3 -x *.info dist/gcc/config/m68k/constraints.md dist.nbsd/gcc/config/m6 (define_memory_constraint "Q" "Means address register indirect addressing mode." -diff -rNU3 -x *.info dist/gcc/config/m68k/fpgnulib.c dist.nbsd/gcc/config/m68k/fpgnulib.c ---- dist/gcc/config/m68k/fpgnulib.c Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/m68k/fpgnulib.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/m68k/fpgnulib.c dist.nbsd/gcc/config/m68k/fpgnulib.c +--- dist.orig/gcc/config/m68k/fpgnulib.c Thu Jan 18 19:49:59 2007 ++++ dist.nbsd/gcc/config/m68k/fpgnulib.c Wed Feb 19 16:43:50 2014 @@ -549,6 +549,7 @@ return - (double) x1; } @@ -8746,21 +8985,34 @@ diff -rNU3 -x *.info dist/gcc/config/m68k/fpgnulib.c dist.nbsd/gcc/config/m68k/f long __cmpxf2 (long double x1, long double x2) { -diff -rNU3 -x *.info dist/gcc/config/m68k/lb1sf68.asm dist.nbsd/gcc/config/m68k/lb1sf68.asm ---- dist/gcc/config/m68k/lb1sf68.asm Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/m68k/lb1sf68.asm Wed Nov 7 11:47:24 2012 -@@ -211,7 +211,7 @@ +diff -rNU3 dist.orig/gcc/config/m68k/lb1sf68.asm dist.nbsd/gcc/config/m68k/lb1sf68.asm +--- dist.orig/gcc/config/m68k/lb1sf68.asm Fri Oct 2 11:20:51 2009 ++++ dist.nbsd/gcc/config/m68k/lb1sf68.asm Wed Feb 19 16:43:50 2014 +@@ -202,6 +202,8 @@ + #if defined (__mcoldfire__) && !defined (__mcfisab__) && !defined (__mcfisac__) + lea \addr-.-8,a0 + jsr pc@(a0) ++#elif defined(__NetBSD__) ++ jbsr \addr@PLTPC + #else + jbsr \addr + #endif +@@ -211,9 +213,11 @@ /* ISA C has no bra.l instruction, and since this assembly file gets assembled into multiple object files, we avoid the bra instruction entirely. */ -#if defined (__mcoldfire__) && !defined (__mcfisab__) -+#if (defined (__mcoldfire__) && !defined (__mcfisab__)) || defined(__NetBSD__) ++#if (defined (__mcoldfire__) && !defined (__mcfisab__)) lea \addr-.-8,a0 jmp pc@(a0) ++#elif defined(__NetBSD__) ++ bra \addr@PLTPC #else -diff -rNU3 -x *.info dist/gcc/config/m68k/m68k.md dist.nbsd/gcc/config/m68k/m68k.md ---- dist/gcc/config/m68k/m68k.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/m68k/m68k.md Wed Nov 7 11:47:24 2012 + bra \addr + #endif +diff -rNU3 dist.orig/gcc/config/m68k/m68k.md dist.nbsd/gcc/config/m68k/m68k.md +--- dist.orig/gcc/config/m68k/m68k.md Wed Dec 30 23:03:46 2009 ++++ dist.nbsd/gcc/config/m68k/m68k.md Wed Feb 19 16:43:50 2014 @@ -3116,16 +3116,33 @@ ;; We need a separate DEFINE_EXPAND for u?mulsidi3 to be able to use the ;; proper matching constraint. This is because the matching is between @@ -8833,64 +9085,63 @@ diff -rNU3 -x *.info dist/gcc/config/m68k/m68k.md dist.nbsd/gcc/config/m68k/m68k "") (define_insn "" -diff -rNU3 -x *.info dist/gcc/config/m68k/netbsd-elf.h dist.nbsd/gcc/config/m68k/netbsd-elf.h ---- dist/gcc/config/m68k/netbsd-elf.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/m68k/netbsd-elf.h Wed Nov 7 11:47:24 2012 -@@ -46,32 +46,61 @@ +diff -rNU3 dist.orig/gcc/config/m68k/netbsd-elf.h dist.nbsd/gcc/config/m68k/netbsd-elf.h +--- dist.orig/gcc/config/m68k/netbsd-elf.h Tue Sep 22 15:49:54 2009 ++++ dist.nbsd/gcc/config/m68k/netbsd-elf.h Wed Feb 19 16:43:50 2014 +@@ -35,28 +35,39 @@ + } \ + while (0) + +-/* Don't try using XFmode on the 68010. */ ++/* Don't try using XFmode on the 68010 or coldfire. */ + #undef LONG_DOUBLE_TYPE_SIZE + #define LONG_DOUBLE_TYPE_SIZE (TARGET_68020 ? 80 : 64) + + #undef LIBGCC2_LONG_DOUBLE_TYPE_SIZE +-#ifdef __mc68010__ ++#if defined(__mc68010__) || defined(__mcoldfire__) + #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 64 + #else #define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 80 #endif ++#undef SUBTARGET_OVERRIDE_OPTIONS ++#define SUBTARGET_OVERRIDE_OPTIONS \ ++ { \ ++ if (TARGET_COLDFIRE) \ ++ { \ ++ target_flags |= MASK_STRICT_ALIGNMENT | MASK_CF_HWDIV; \ ++ if ((target_flags_explicit & MASK_HARD_FLOAT) == 0) \ ++ { \ ++ target_flags &= ~MASK_HARD_FLOAT; \ ++ m68k_fpu = FPUTYPE_NONE; \ ++ } \ ++ } \ ++ } + #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ -+ { "cpp_cpu_default_spec", CPP_CPU_DEFAULT_SPEC }, \ -+ { "cpp_cpu_spec", CPP_CPU_SPEC }, \ -+ { "cpp_fpu_spec", CPP_FPU_SPEC }, \ -+ { "asm_default_spec", ASM_DEFAULT_SPEC }, \ + { "netbsd_cpp_spec", NETBSD_CPP_SPEC }, \ { "netbsd_entry_point", NETBSD_ENTRY_POINT }, -+#define CPP_CPU_SPEC \ -+ "%{m68010:-D__mc68010__} \ -+ %{m68020:-D__mc68020__} \ -+ %{m68030:-D__mc68030__} \ -+ %{m68040:-D__mc68040__} \ -+ %(cpp_cpu_default_spec)" -+ -+ #undef TARGET_VERSION -#define TARGET_VERSION \ - fprintf (stderr, \ - TARGET_68010 \ - ? " (NetBSD/68010 ELF)" \ - : " (NetBSD/m68k ELF)"); -+#if TARGET_DEFAULT & MASK_68020 +#define TARGET_VERSION fprintf (stderr, " (NetBSD/m68k ELF)"); -+#define CPP_CPU_DEFAULT_SPEC "%{!m680*:-D__mc68020__}" -+#define ASM_DEFAULT_SPEC "%{!m680*:-m68020}" -+#else -+#define TARGET_VERSION fprintf (stderr, " (NetBSD/68010 ELF)"); -+#define CPP_CPU_DEFAULT_SPEC "%{!m680*:-D__mc68010__}" -+#define ASM_DEFAULT_SPEC "%{!m680*:-m68010}" -+#endif -+#if TARGET_DEFAULT & MASK_68881 -+#define CPP_FPU_SPEC "%{!msoft-float:-D__HAVE_68881__ -D__HAVE_FPU__}" -+#else -+#define CPP_FPU_SPEC "%{m68881:-D__HAVE_68881__ -D__HAVE_FPU__}" -+#endif -+ -+ /* Provide a CPP_SPEC appropriate for NetBSD m68k targets. Currently we - deal with the GCC option '-posix', as well as an indication as to +@@ -64,14 +75,20 @@ whether or not use of the FPU is allowed. */ #undef CPP_SPEC -#define CPP_SPEC NETBSD_CPP_SPEC +#define CPP_SPEC \ -+ "%(netbsd_cpp_spec) %(cpp_cpu_spec) %(cpp_fpu_spec)" ++ "%(netbsd_cpp_spec)" /* Provide an ASM_SPEC appropriate for NetBSD m68k ELF targets. We need @@ -8901,11 +9152,13 @@ diff -rNU3 -x *.info dist/gcc/config/m68k/netbsd-elf.h dist.nbsd/gcc/config/m68k +#define ASM_SPEC \ + "%(asm_default_spec) \ + %{m68010} %{m68020} %{m68030} %{m68040} %{m68060} \ ++ %{m5200} %{m5206e} %{m528x} %{m5307} %{m5407} %{mcfv4e}\ ++ %{mcpu=*:-mcpu=%*} %{march=*:-march=%*}\ + %{fpic|fpie:-k} %{fPIC|fPIE:-k -K}" #define AS_NEEDS_DASH_FOR_PIPED_INPUT -@@ -80,6 +109,11 @@ +@@ -80,6 +97,11 @@ #undef LINK_SPEC #define LINK_SPEC NETBSD_LINK_SPEC_ELF @@ -8917,7 +9170,22 @@ diff -rNU3 -x *.info dist/gcc/config/m68k/netbsd-elf.h dist.nbsd/gcc/config/m68k #define NETBSD_ENTRY_POINT "_start" /* Output assembler code to FILE to increment profiler label # LABELNO -@@ -289,6 +323,8 @@ +@@ -89,7 +111,13 @@ + #define FUNCTION_PROFILER(FILE, LABELNO) \ + do \ + { \ +- asm_fprintf (FILE, "\tlea (%LLP%d,%Rpc),%Ra1\n", (LABELNO)); \ ++ if (TARGET_COLDFIRE) \ ++ { \ ++ asm_fprintf (FILE, "\tmovea.l #%LLP%d-.,%Ra1\n", (LABELNO)); \ ++ asm_fprintf (FILE, "\tlea (-6,%Rpc,%Ra1),%Ra1\n", (LABELNO)); \ ++ } \ ++ else \ ++ asm_fprintf (FILE, "\tlea (%LLP%d,%Rpc),%Ra1\n", (LABELNO)); \ + if (flag_pic) \ + fprintf (FILE, "\tbsr.l __mcount@PLTPC\n"); \ + else \ +@@ -289,6 +317,8 @@ #undef STACK_BOUNDARY #define STACK_BOUNDARY 32 @@ -8926,17 +9194,17 @@ diff -rNU3 -x *.info dist/gcc/config/m68k/netbsd-elf.h dist.nbsd/gcc/config/m68k /* Alignment of field after `int : 0' in a structure. -diff -rNU3 -x *.info dist/gcc/config/m68k/t-m68010-netbsd dist.nbsd/gcc/config/m68k/t-m68010-netbsd ---- dist/gcc/config/m68k/t-m68010-netbsd Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/m68k/t-m68010-netbsd Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/m68k/t-m68010-netbsd dist.nbsd/gcc/config/m68k/t-m68010-netbsd +--- dist.orig/gcc/config/m68k/t-m68010-netbsd Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/m68k/t-m68010-netbsd Wed Feb 19 16:43:50 2014 @@ -0,0 +1,4 @@ +# Use unwind-dw2-fde-glibc +LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \ + $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c +LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c -diff -rNU3 -x *.info dist/gcc/config/mips/linux-unwind.h dist.nbsd/gcc/config/mips/linux-unwind.h ---- dist/gcc/config/mips/linux-unwind.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/mips/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/mips/linux-unwind.h dist.nbsd/gcc/config/mips/linux-unwind.h +--- dist.orig/gcc/config/mips/linux-unwind.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/config/mips/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,6 @@ /* DWARF2 EH unwinding support for MIPS Linux. - Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. @@ -8954,9 +9222,9 @@ diff -rNU3 -x *.info dist/gcc/config/mips/linux-unwind.h dist.nbsd/gcc/config/mi _sig_ucontext_t uc; } *rt_ = context->cfa; sc = &rt_->uc.uc_mcontext; -diff -rNU3 -x *.info dist/gcc/config/mips/mips.c dist.nbsd/gcc/config/mips/mips.c ---- dist/gcc/config/mips/mips.c Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/mips/mips.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/mips/mips.c dist.nbsd/gcc/config/mips/mips.c +--- dist.orig/gcc/config/mips/mips.c Sun Nov 21 10:38:43 2010 ++++ dist.nbsd/gcc/config/mips/mips.c Wed Feb 19 16:43:50 2014 @@ -1162,7 +1162,7 @@ } }; @@ -9074,9 +9342,9 @@ diff -rNU3 -x *.info dist/gcc/config/mips/mips.c dist.nbsd/gcc/config/mips/mips. if (symbol) { mips_annotate_pic_call_expr (call, symbol); -diff -rNU3 -x *.info dist/gcc/config/mips/mips.md dist.nbsd/gcc/config/mips/mips.md ---- dist/gcc/config/mips/mips.md Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/mips/mips.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/mips/mips.md dist.nbsd/gcc/config/mips/mips.md +--- dist.orig/gcc/config/mips/mips.md Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/config/mips/mips.md Wed Feb 19 16:43:50 2014 @@ -4806,7 +4806,7 @@ ;; of _gp from the start of this function. Operand 1 is the incoming ;; function address. @@ -9086,9 +9354,9 @@ diff -rNU3 -x *.info dist/gcc/config/mips/mips.md dist.nbsd/gcc/config/mips/mips (unspec:P [(match_operand:P 1) (match_operand:P 2 "register_operand" "d")] UNSPEC_LOADGP))] -diff -rNU3 -x *.info dist/gcc/config/mips/netbsd.h dist.nbsd/gcc/config/mips/netbsd.h ---- dist/gcc/config/mips/netbsd.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/mips/netbsd.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/mips/netbsd.h dist.nbsd/gcc/config/mips/netbsd.h +--- dist.orig/gcc/config/mips/netbsd.h Thu Aug 2 10:49:31 2007 ++++ dist.nbsd/gcc/config/mips/netbsd.h Wed Feb 19 16:43:50 2014 @@ -40,16 +40,63 @@ if (TARGET_ABICALLS) \ builtin_define ("__ABICALLS__"); \ @@ -9184,11 +9452,10 @@ diff -rNU3 -x *.info dist/gcc/config/mips/netbsd.h dist.nbsd/gcc/config/mips/net %{bestGnum} %{call_shared} %{no_archive} %{exact_version} \ %(netbsd_link_spec)" -@@ -191,6 +244,14 @@ - +@@ -192,6 +245,14 @@ /* Make gcc agree with */ -+ + +#undef SIZE_TYPE +#define SIZE_TYPE ((POINTER_SIZE == 64 || TARGET_NEWABI) \ + ? "long unsigned int" : "unsigned int") @@ -9196,12 +9463,20 @@ diff -rNU3 -x *.info dist/gcc/config/mips/netbsd.h dist.nbsd/gcc/config/mips/net +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE ((POINTER_SIZE == 64 || TARGET_NEWABI) \ + ? "long int" : "int") - ++ #undef WCHAR_TYPE #define WCHAR_TYPE "int" -diff -rNU3 -x *.info dist/gcc/config/mips/netbsd64.h dist.nbsd/gcc/config/mips/netbsd64.h ---- dist/gcc/config/mips/netbsd64.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/mips/netbsd64.h Wed Nov 7 11:47:24 2012 + +@@ -200,3 +261,6 @@ + + #undef WINT_TYPE + #define WINT_TYPE "int" ++ ++#undef TARGET_WRITABLE_EH_FRAME ++#define TARGET_WRITABLE_EH_FRAME (flag_pic && TARGET_SHARED) +diff -rNU3 dist.orig/gcc/config/mips/netbsd64.h dist.nbsd/gcc/config/mips/netbsd64.h +--- dist.orig/gcc/config/mips/netbsd64.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/mips/netbsd64.h Wed Feb 19 16:43:50 2014 @@ -0,0 +1,54 @@ +/* Definitions of target machine for GNU compiler, for MIPS NetBSD systems. + Copyright (C) 1993, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004 @@ -9257,9 +9532,9 @@ diff -rNU3 -x *.info dist/gcc/config/mips/netbsd64.h dist.nbsd/gcc/config/mips/n + %{mips32} %{mips32r2} %{mips64} %{mips64r2} \ + %{bestGnum} %{call_shared} %{no_archive} %{exact_version} \ + %(netbsd_link_spec)" -diff -rNU3 -x *.info dist/gcc/config/mips/t-netbsd64 dist.nbsd/gcc/config/mips/t-netbsd64 ---- dist/gcc/config/mips/t-netbsd64 Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/mips/t-netbsd64 Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/mips/t-netbsd64 dist.nbsd/gcc/config/mips/t-netbsd64 +--- dist.orig/gcc/config/mips/t-netbsd64 Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/mips/t-netbsd64 Wed Feb 19 16:43:50 2014 @@ -0,0 +1,9 @@ +# NetBSD has (will have) "non-native" libraries in /usr/lib/. +# For NetBSD/mips64 we thus have /usr/lib (n32), /usr/lib/o32 and /usr/lib/64. @@ -9270,9 +9545,9 @@ diff -rNU3 -x *.info dist/gcc/config/mips/t-netbsd64 dist.nbsd/gcc/config/mips/t + +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib -diff -rNU3 -x *.info dist/gcc/config/netbsd-elf.h dist.nbsd/gcc/config/netbsd-elf.h ---- dist/gcc/config/netbsd-elf.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/netbsd-elf.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/netbsd-elf.h dist.nbsd/gcc/config/netbsd-elf.h +--- dist.orig/gcc/config/netbsd-elf.h Mon Sep 3 16:14:04 2007 ++++ dist.nbsd/gcc/config/netbsd-elf.h Wed Feb 19 16:43:50 2014 @@ -52,8 +52,11 @@ %{!p:crt0%O%s}}} \ %:if-exists(crti%O%s) \ @@ -9307,7 +9582,7 @@ diff -rNU3 -x *.info dist/gcc/config/netbsd-elf.h dist.nbsd/gcc/config/netbsd-el %{!shared: \ -dc -dp \ %{!nostdlib: \ -@@ -96,3 +103,8 @@ +@@ -96,3 +103,11 @@ #ifdef HAVE_LD_AS_NEEDED #define USE_LD_AS_NEEDED 1 #endif @@ -9316,9 +9591,12 @@ diff -rNU3 -x *.info dist/gcc/config/netbsd-elf.h dist.nbsd/gcc/config/netbsd-el + %{static:%(link_gcc_c_sequence) -lmudflap}} \ + %{fmudflapth: -export-dynamic -lmudflapth -lpthread \ + %{static:%(link_gcc_c_sequence) -lmudflapth}} " -diff -rNU3 -x *.info dist/gcc/config/netbsd.h dist.nbsd/gcc/config/netbsd.h ---- dist/gcc/config/netbsd.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/netbsd.h Wed Nov 7 11:47:24 2012 ++ ++#undef TARGET_UNWIND_TABLES_DEFAULT ++#define TARGET_UNWIND_TABLES_DEFAULT true +diff -rNU3 dist.orig/gcc/config/netbsd.h dist.nbsd/gcc/config/netbsd.h +--- dist.orig/gcc/config/netbsd.h Tue Sep 22 15:11:37 2009 ++++ dist.nbsd/gcc/config/netbsd.h Wed Feb 19 16:43:50 2014 @@ -37,38 +37,64 @@ /* NETBSD_NATIVE is defined when gcc is integrated into the NetBSD @@ -9452,9 +9730,9 @@ diff -rNU3 -x *.info dist/gcc/config/netbsd.h dist.nbsd/gcc/config/netbsd.h +#if defined(HAVE_LD_EH_FRAME_HDR) +#define LINK_EH_SPEC "--eh-frame-hdr " +#endif -diff -rNU3 -x *.info dist/gcc/config/pa/linux-unwind.h dist.nbsd/gcc/config/pa/linux-unwind.h ---- dist/gcc/config/pa/linux-unwind.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/pa/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/linux-unwind.h dist.nbsd/gcc/config/pa/linux-unwind.h +--- dist.orig/gcc/config/pa/linux-unwind.h Sat Dec 5 17:45:59 2009 ++++ dist.nbsd/gcc/config/pa/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for PA Linux. - Copyright (C) 2004, 2005, 2009 Free Software Foundation, Inc. @@ -9471,9 +9749,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/linux-unwind.h dist.nbsd/gcc/config/pa/l struct ucontext uc; } *frame; -diff -rNU3 -x *.info dist/gcc/config/pa/milli64.S dist.nbsd/gcc/config/pa/milli64.S ---- dist/gcc/config/pa/milli64.S Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/pa/milli64.S Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/milli64.S dist.nbsd/gcc/config/pa/milli64.S +--- dist.orig/gcc/config/pa/milli64.S Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/config/pa/milli64.S Wed Feb 19 16:43:50 2014 @@ -221,7 +221,7 @@ ldw 4(%r22),%r19 ; load new LTP value ldw 0(%r22),%r22 ; load address of target @@ -9483,9 +9761,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/milli64.S dist.nbsd/gcc/config/pa/milli6 bv %r0(%r22) ; branch to the real target #else ldsid (%sr0,%r22),%r1 ; get the "space ident" selected by r22 -diff -rNU3 -x *.info dist/gcc/config/pa/pa-netbsd.h dist.nbsd/gcc/config/pa/pa-netbsd.h ---- dist/gcc/config/pa/pa-netbsd.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/pa/pa-netbsd.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/pa-netbsd.h dist.nbsd/gcc/config/pa/pa-netbsd.h +--- dist.orig/gcc/config/pa/pa-netbsd.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/pa/pa-netbsd.h Wed Feb 19 16:43:50 2014 @@ -0,0 +1,138 @@ +/* Definitions for PA_RISC with ELF format + Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. @@ -9625,9 +9903,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/pa-netbsd.h dist.nbsd/gcc/config/pa/pa-n + +#undef PTRDIFF_TYPE +#define PTRDIFF_TYPE "long int" -diff -rNU3 -x *.info dist/gcc/config/pa/pa-protos.h dist.nbsd/gcc/config/pa/pa-protos.h ---- dist/gcc/config/pa/pa-protos.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/pa/pa-protos.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/pa-protos.h dist.nbsd/gcc/config/pa/pa-protos.h +--- dist.orig/gcc/config/pa/pa-protos.h Wed Sep 23 19:08:32 2009 ++++ dist.nbsd/gcc/config/pa/pa-protos.h Wed Feb 19 16:43:50 2014 @@ -79,7 +79,6 @@ extern int prefetch_cc_operand (rtx, enum machine_mode); extern int prefetch_nocc_operand (rtx, enum machine_mode); @@ -9644,9 +9922,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/pa-protos.h dist.nbsd/gcc/config/pa/pa-p extern void emit_bcond_fp (rtx[]); extern int emit_move_sequence (rtx *, enum machine_mode, rtx); extern int emit_hpdiv_const (rtx *, int); -diff -rNU3 -x *.info dist/gcc/config/pa/pa.c dist.nbsd/gcc/config/pa/pa.c ---- dist/gcc/config/pa/pa.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/pa/pa.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/pa.c dist.nbsd/gcc/config/pa/pa.c +--- dist.orig/gcc/config/pa/pa.c Sat Apr 16 18:09:58 2011 ++++ dist.nbsd/gcc/config/pa/pa.c Wed Feb 19 16:43:50 2014 @@ -990,9 +990,9 @@ || GET_CODE (XEXP (x, 0)) == REG)) { @@ -9770,9 +10048,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/pa.c dist.nbsd/gcc/config/pa/pa.c /* If the divisor is a constant, try to use one of the special opcodes .*/ -diff -rNU3 -x *.info dist/gcc/config/pa/pa.h dist.nbsd/gcc/config/pa/pa.h ---- dist/gcc/config/pa/pa.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/pa/pa.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/pa.h dist.nbsd/gcc/config/pa/pa.h +--- dist.orig/gcc/config/pa/pa.h Sat Apr 16 17:10:29 2011 ++++ dist.nbsd/gcc/config/pa/pa.h Wed Feb 19 16:43:50 2014 @@ -891,6 +891,9 @@ && (NEW_HP_ASSEMBLER \ || TARGET_GAS \ @@ -9792,9 +10070,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/pa.h dist.nbsd/gcc/config/pa/pa.h rtx new_rtx, temp = NULL_RTX; \ \ mask = (GET_MODE_CLASS (MODE) == MODE_FLOAT \ -diff -rNU3 -x *.info dist/gcc/config/pa/pa.md dist.nbsd/gcc/config/pa/pa.md ---- dist/gcc/config/pa/pa.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/pa/pa.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/pa.md dist.nbsd/gcc/config/pa/pa.md +--- dist.orig/gcc/config/pa/pa.md Thu Dec 30 21:57:32 2010 ++++ dist.nbsd/gcc/config/pa/pa.md Wed Feb 19 16:43:50 2014 @@ -811,7 +811,7 @@ (match_operand:DI 3 "arith11_operand" "rI")) (match_operand:DI 1 "register_operand" "r")))] @@ -9980,9 +10258,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/pa.md dist.nbsd/gcc/config/pa/pa.md if (!INT_14_BITS (operands[1])) operands[1] = force_reg (SImode, operands[1]); emit_insn (gen_addsi3 (index, operands[0], operands[1])); -diff -rNU3 -x *.info dist/gcc/config/pa/pa32-netbsd.h dist.nbsd/gcc/config/pa/pa32-netbsd.h ---- dist/gcc/config/pa/pa32-netbsd.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/pa/pa32-netbsd.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/pa32-netbsd.h dist.nbsd/gcc/config/pa/pa32-netbsd.h +--- dist.orig/gcc/config/pa/pa32-netbsd.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/pa/pa32-netbsd.h Wed Feb 19 16:43:50 2014 @@ -0,0 +1,37 @@ +/* Definitions for PA_RISC with ELF-32 format + Copyright (C) 2000, 2002 Free Software Foundation, Inc. @@ -10021,9 +10299,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/pa32-netbsd.h dist.nbsd/gcc/config/pa/pa + __attribute__ ((__unused__, section(".ctors"), \ + aligned(sizeof(func_ptr)))) \ + = { (func_ptr) (-1) } -diff -rNU3 -x *.info dist/gcc/config/pa/predicates.md dist.nbsd/gcc/config/pa/predicates.md ---- dist/gcc/config/pa/predicates.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/pa/predicates.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/predicates.md dist.nbsd/gcc/config/pa/predicates.md +--- dist.orig/gcc/config/pa/predicates.md Sat Jul 3 22:46:51 2010 ++++ dist.nbsd/gcc/config/pa/predicates.md Wed Feb 19 16:43:50 2014 @@ -411,15 +411,19 @@ ;; True iff depi can be used to compute (reg | OP). @@ -10052,9 +10330,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/predicates.md dist.nbsd/gcc/config/pa/pr (define_predicate "lhs_lshift_cint_operand" (match_code "const_int") -diff -rNU3 -x *.info dist/gcc/config/pa/t-netbsd dist.nbsd/gcc/config/pa/t-netbsd ---- dist/gcc/config/pa/t-netbsd Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/pa/t-netbsd Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/pa/t-netbsd dist.nbsd/gcc/config/pa/t-netbsd +--- dist.orig/gcc/config/pa/t-netbsd Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/pa/t-netbsd Wed Feb 19 16:43:50 2014 @@ -0,0 +1,14 @@ +#Plug millicode routines into libgcc.a We want these on both native and +#cross compiles. We use the "64-bit" routines because the "32-bit" code @@ -10070,9 +10348,9 @@ diff -rNU3 -x *.info dist/gcc/config/pa/t-netbsd dist.nbsd/gcc/config/pa/t-netbs + +# Compile crtbeginS.o and crtendS.o as PIC. +CRTSTUFF_T_CFLAGS_S = -fPIC -diff -rNU3 -x *.info dist/gcc/config/rs6000/altivec.md dist.nbsd/gcc/config/rs6000/altivec.md ---- dist/gcc/config/rs6000/altivec.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/altivec.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/altivec.md dist.nbsd/gcc/config/rs6000/altivec.md +--- dist.orig/gcc/config/rs6000/altivec.md Fri Feb 4 16:31:48 2011 ++++ dist.nbsd/gcc/config/rs6000/altivec.md Wed Feb 19 16:43:51 2014 @@ -497,7 +497,7 @@ [(set (match_operand:VM 0 "altivec_register_operand" "=v") (if_then_else:VM @@ -10135,9 +10413,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/altivec.md dist.nbsd/gcc/config/rs60 (unspec [(const_int 0)] UNSPEC_STVRXL)])] "TARGET_ALTIVEC && rs6000_cpu == PROCESSOR_CELL" "stvrxl %1,%y0" -diff -rNU3 -x *.info dist/gcc/config/rs6000/netbsd.h dist.nbsd/gcc/config/rs6000/netbsd.h ---- dist/gcc/config/rs6000/netbsd.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/netbsd.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/netbsd.h dist.nbsd/gcc/config/rs6000/netbsd.h +--- dist.orig/gcc/config/rs6000/netbsd.h Fri Feb 20 15:20:38 2009 ++++ dist.nbsd/gcc/config/rs6000/netbsd.h Wed Feb 19 16:43:51 2014 @@ -19,6 +19,22 @@ along with GCC; see the file COPYING3. If not see . */ @@ -10232,9 +10510,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/netbsd.h dist.nbsd/gcc/config/rs6000 #undef TARGET_VERSION #define TARGET_VERSION fprintf (stderr, " (NetBSD/powerpc ELF)"); -diff -rNU3 -x *.info dist/gcc/config/rs6000/netbsd64.h dist.nbsd/gcc/config/rs6000/netbsd64.h ---- dist/gcc/config/rs6000/netbsd64.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/rs6000/netbsd64.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/netbsd64.h dist.nbsd/gcc/config/rs6000/netbsd64.h +--- dist.orig/gcc/config/rs6000/netbsd64.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/rs6000/netbsd64.h Wed Feb 19 16:43:51 2014 @@ -0,0 +1,566 @@ +/* Definitions of target machine for GNU compiler, + for 64 bit PowerPC NetBSD. @@ -10802,9 +11080,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/netbsd64.h dist.nbsd/gcc/config/rs60 +#undef RS6000_DEFAULT_LONG_DOUBLE_SIZE +#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128 +#define POWERPC_NETBSD -diff -rNU3 -x *.info dist/gcc/config/rs6000/rs6000.c dist.nbsd/gcc/config/rs6000/rs6000.c ---- dist/gcc/config/rs6000/rs6000.c Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/rs6000.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/rs6000.c dist.nbsd/gcc/config/rs6000/rs6000.c +--- dist.orig/gcc/config/rs6000/rs6000.c Fri Feb 4 16:31:48 2011 ++++ dist.nbsd/gcc/config/rs6000/rs6000.c Wed Feb 19 16:43:51 2014 @@ -2511,7 +2511,7 @@ if (!rs6000_explicit_options.long_double) rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE; @@ -10990,9 +11268,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/rs6000.c dist.nbsd/gcc/config/rs6000 regno = ALTIVEC_ARG_RETURN; else if (COMPLEX_MODE_P (mode) && targetm.calls.split_complex_arg) return rs6000_complex_function_value (mode); -diff -rNU3 -x *.info dist/gcc/config/rs6000/rs6000.h dist.nbsd/gcc/config/rs6000/rs6000.h ---- dist/gcc/config/rs6000/rs6000.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/rs6000.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/rs6000.h dist.nbsd/gcc/config/rs6000/rs6000.h +--- dist.orig/gcc/config/rs6000/rs6000.h Mon Mar 7 19:40:15 2011 ++++ dist.nbsd/gcc/config/rs6000/rs6000.h Wed Feb 19 16:43:51 2014 @@ -1038,10 +1038,9 @@ /* When setting up caller-save slots (MODE == VOIDmode) ensure we allocate @@ -11052,9 +11330,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/rs6000.h dist.nbsd/gcc/config/rs6000 : 1) /* Post-reload, we can't use any new AltiVec registers, as we already -diff -rNU3 -x *.info dist/gcc/config/rs6000/rs6000.md dist.nbsd/gcc/config/rs6000/rs6000.md ---- dist/gcc/config/rs6000/rs6000.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/rs6000.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/rs6000.md dist.nbsd/gcc/config/rs6000/rs6000.md +--- dist.orig/gcc/config/rs6000/rs6000.md Wed Nov 3 13:55:26 2010 ++++ dist.nbsd/gcc/config/rs6000/rs6000.md Wed Feb 19 16:43:51 2014 @@ -2483,8 +2483,19 @@ if (GET_CODE (addr1) == PLUS) { @@ -11152,9 +11430,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/rs6000.md dist.nbsd/gcc/config/rs600 [(set_attr "type" "store") (set_attr "length" "4")]) -diff -rNU3 -x *.info dist/gcc/config/rs6000/sysv4.h dist.nbsd/gcc/config/rs6000/sysv4.h ---- dist/gcc/config/rs6000/sysv4.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/sysv4.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/sysv4.h dist.nbsd/gcc/config/rs6000/sysv4.h +--- dist.orig/gcc/config/rs6000/sysv4.h Wed Nov 3 13:55:26 2010 ++++ dist.nbsd/gcc/config/rs6000/sysv4.h Wed Feb 19 16:43:51 2014 @@ -120,7 +120,12 @@ else if (!strcmp (rs6000_abi_name, "gnu")) \ rs6000_current_abi = ABI_V4; \ @@ -11240,9 +11518,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/sysv4.h dist.nbsd/gcc/config/rs6000/ { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ -diff -rNU3 -x *.info dist/gcc/config/rs6000/t-netbsd dist.nbsd/gcc/config/rs6000/t-netbsd ---- dist/gcc/config/rs6000/t-netbsd Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/t-netbsd Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/t-netbsd dist.nbsd/gcc/config/rs6000/t-netbsd +--- dist.orig/gcc/config/rs6000/t-netbsd Tue Apr 21 19:03:23 2009 ++++ dist.nbsd/gcc/config/rs6000/t-netbsd Wed Feb 19 16:43:51 2014 @@ -18,15 +18,12 @@ # along with GCC; see the file COPYING3. If not see # . @@ -11277,9 +11555,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/t-netbsd dist.nbsd/gcc/config/rs6000 +INSTALL_LIBGCC = install-multilib +EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \ + crtbeginS$(objext) crtendS$(objext) crtbeginT$(objext) -diff -rNU3 -x *.info dist/gcc/config/rs6000/t-netbsd64 dist.nbsd/gcc/config/rs6000/t-netbsd64 ---- dist/gcc/config/rs6000/t-netbsd64 Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/config/rs6000/t-netbsd64 Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/t-netbsd64 dist.nbsd/gcc/config/rs6000/t-netbsd64 +--- dist.orig/gcc/config/rs6000/t-netbsd64 Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/config/rs6000/t-netbsd64 Wed Feb 19 16:43:51 2014 @@ -0,0 +1,34 @@ +# Support for NetBSD PowerPC64 ELF targets (ELF64 ABI). + @@ -11315,9 +11593,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/t-netbsd64 dist.nbsd/gcc/config/rs60 + echo '#define FLOAT'; \ + cat $(srcdir)/config/fp-bit.c; \ + echo '#endif' ) > fp-bit32.c -diff -rNU3 -x *.info dist/gcc/config/rs6000/vector.md dist.nbsd/gcc/config/rs6000/vector.md ---- dist/gcc/config/rs6000/vector.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/vector.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/vector.md dist.nbsd/gcc/config/rs6000/vector.md +--- dist.orig/gcc/config/rs6000/vector.md Fri Feb 4 16:31:48 2011 ++++ dist.nbsd/gcc/config/rs6000/vector.md Wed Feb 19 16:43:51 2014 @@ -441,27 +441,115 @@ "VECTOR_UNIT_ALTIVEC_P (mode)" "") @@ -11438,9 +11716,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/vector.md dist.nbsd/gcc/config/rs600 ;; Expansions that compare vectors producing a vector result and a predicate, ;; setting CR6 to indicate a combined status -diff -rNU3 -x *.info dist/gcc/config/rs6000/vsx.md dist.nbsd/gcc/config/rs6000/vsx.md ---- dist/gcc/config/rs6000/vsx.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/rs6000/vsx.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rs6000/vsx.md dist.nbsd/gcc/config/rs6000/vsx.md +--- dist.orig/gcc/config/rs6000/vsx.md Fri Feb 4 16:31:48 2011 ++++ dist.nbsd/gcc/config/rs6000/vsx.md Wed Feb 19 16:43:51 2014 @@ -844,7 +844,7 @@ [(set (match_operand:VSX_L 0 "vsx_register_operand" "=,?wa") (if_then_else:VSX_L @@ -11471,9 +11749,9 @@ diff -rNU3 -x *.info dist/gcc/config/rs6000/vsx.md dist.nbsd/gcc/config/rs6000/v else gcc_unreachable (); } -diff -rNU3 -x *.info dist/gcc/config/rx/rx.c dist.nbsd/gcc/config/rx/rx.c ---- dist/gcc/config/rx/rx.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/rx/rx.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rx/rx.c dist.nbsd/gcc/config/rx/rx.c +--- dist.orig/gcc/config/rx/rx.c Wed Mar 16 11:47:59 2011 ++++ dist.nbsd/gcc/config/rx/rx.c Wed Feb 19 16:43:50 2014 @@ -2158,10 +2158,10 @@ if (! valid_psw_flag (op, "clrpsw")) return NULL_RTX; @@ -11486,9 +11764,9 @@ diff -rNU3 -x *.info dist/gcc/config/rx/rx.c dist.nbsd/gcc/config/rx/rx.c case RX_BUILTIN_INT: return rx_expand_void_builtin_1_arg (op, gen_int, false); case RX_BUILTIN_MACHI: return rx_expand_builtin_mac (exp, gen_machi); -diff -rNU3 -x *.info dist/gcc/config/rx/rx.h dist.nbsd/gcc/config/rx/rx.h ---- dist/gcc/config/rx/rx.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/rx/rx.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rx/rx.h dist.nbsd/gcc/config/rx/rx.h +--- dist.orig/gcc/config/rx/rx.h Thu Mar 17 10:51:26 2011 ++++ dist.nbsd/gcc/config/rx/rx.h Wed Feb 19 16:43:50 2014 @@ -168,7 +168,7 @@ #define HANDLE_PRAGMA_PACK_PUSH_POP 1 @@ -11498,9 +11776,9 @@ diff -rNU3 -x *.info dist/gcc/config/rx/rx.h dist.nbsd/gcc/config/rx/rx.h #define HAVE_POST_INCREMENT 1 #define MOVE_RATIO(SPEED) ((SPEED) ? 4 : 2) -diff -rNU3 -x *.info dist/gcc/config/rx/rx.md dist.nbsd/gcc/config/rx/rx.md ---- dist/gcc/config/rx/rx.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/rx/rx.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/rx/rx.md dist.nbsd/gcc/config/rx/rx.md +--- dist.orig/gcc/config/rx/rx.md Wed Apr 13 11:30:48 2011 ++++ dist.nbsd/gcc/config/rx/rx.md Wed Feb 19 16:43:50 2014 @@ -709,24 +709,24 @@ (clobber (reg:CC CC_REG))])] "" @@ -11600,9 +11878,9 @@ diff -rNU3 -x *.info dist/gcc/config/rx/rx.md dist.nbsd/gcc/config/rx/rx.md ) ;; Arithmetic Instructions -diff -rNU3 -x *.info dist/gcc/config/sh/linux-unwind.h dist.nbsd/gcc/config/sh/linux-unwind.h ---- dist/gcc/config/sh/linux-unwind.h Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/sh/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sh/linux-unwind.h dist.nbsd/gcc/config/sh/linux-unwind.h +--- dist.orig/gcc/config/sh/linux-unwind.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/config/sh/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,6 @@ /* DWARF2 EH unwinding support for SH Linux. - Copyright (C) 2004, 2005, 2006, 2007, 2009 Free Software Foundation, Inc. @@ -11632,9 +11910,9 @@ diff -rNU3 -x *.info dist/gcc/config/sh/linux-unwind.h dist.nbsd/gcc/config/sh/l struct ucontext uc; } *rt_ = context->cfa; /* The void * cast is necessary to avoid an aliasing warning. -diff -rNU3 -x *.info dist/gcc/config/sh/sh.c dist.nbsd/gcc/config/sh/sh.c ---- dist/gcc/config/sh/sh.c Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/sh/sh.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sh/sh.c dist.nbsd/gcc/config/sh/sh.c +--- dist.orig/gcc/config/sh/sh.c Wed May 5 22:12:17 2010 ++++ dist.nbsd/gcc/config/sh/sh.c Wed Feb 19 16:43:50 2014 @@ -1945,7 +1945,10 @@ else if (op2h != CONST0_RTX (SImode)) msw_taken = LTU; @@ -11672,9 +11950,9 @@ diff -rNU3 -x *.info dist/gcc/config/sh/sh.c dist.nbsd/gcc/config/sh/sh.c shorten_branches (insns); final_start_function (insns, file, 1); final (insns, file, 1); -diff -rNU3 -x *.info dist/gcc/config/sh/sh.md dist.nbsd/gcc/config/sh/sh.md ---- dist/gcc/config/sh/sh.md Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/sh/sh.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sh/sh.md dist.nbsd/gcc/config/sh/sh.md +--- dist.orig/gcc/config/sh/sh.md Sat Nov 21 22:51:07 2009 ++++ dist.nbsd/gcc/config/sh/sh.md Wed Feb 19 16:43:50 2014 @@ -149,6 +149,7 @@ (UNSPEC_DIV_INV_TABLE 37) (UNSPEC_ASHIFTRT 35) @@ -11734,9 +12012,9 @@ diff -rNU3 -x *.info dist/gcc/config/sh/sh.md dist.nbsd/gcc/config/sh/sh.md /* N.B. This is not constant for a GOTPLT relocation. */ mem = gen_rtx_MEM (Pmode, operands[3]); -diff -rNU3 -x *.info dist/gcc/config/sh/t-netbsd dist.nbsd/gcc/config/sh/t-netbsd ---- dist/gcc/config/sh/t-netbsd Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/sh/t-netbsd Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sh/t-netbsd dist.nbsd/gcc/config/sh/t-netbsd +--- dist.orig/gcc/config/sh/t-netbsd Sat Aug 22 21:43:07 2009 ++++ dist.nbsd/gcc/config/sh/t-netbsd Wed Feb 19 16:43:50 2014 @@ -19,6 +19,10 @@ TARGET_LIBGCC2_CFLAGS = -fpic -mieee LIB1ASMFUNCS_CACHE = _ic_invalidate @@ -11748,15 +12026,15 @@ diff -rNU3 -x *.info dist/gcc/config/sh/t-netbsd dist.nbsd/gcc/config/sh/t-netbs LIB2FUNCS_EXTRA= EXTRA_MULTILIB_PARTS= -diff -rNU3 -x *.info dist/gcc/config/sparc/netbsd-elf.h dist.nbsd/gcc/config/sparc/netbsd-elf.h ---- dist/gcc/config/sparc/netbsd-elf.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/netbsd-elf.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/netbsd-elf.h dist.nbsd/gcc/config/sparc/netbsd-elf.h +--- dist.orig/gcc/config/sparc/netbsd-elf.h Thu Aug 2 10:49:31 2007 ++++ dist.nbsd/gcc/config/sparc/netbsd-elf.h Wed Feb 19 16:43:50 2014 @@ -112,7 +112,7 @@ + MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128) #undef SPARC_DEFAULT_CMODEL -#define SPARC_DEFAULT_CMODEL CM_MEDANY -+#define SPARC_DEFAULT_CMODEL CM_MEDLOW ++#define SPARC_DEFAULT_CMODEL CM_MEDMID #endif @@ -11765,24 +12043,54 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/netbsd-elf.h dist.nbsd/gcc/config/spa %{!mno-vis:%{!mcpu=v9:-mvis}} \ %{p:-mcmodel=medlow} \ - %{pg:-mcmodel=medlow}}" -+ %{pg:-mcmodel=medlow}}" \ ++ %{pg:-mcmodel=medlow}} " \ + NETBSD_CC1_AND_CC1PLUS_SPEC #define CC1_SPEC64 \ "%{sun4:} %{target:} \ -@@ -153,8 +154,9 @@ +@@ -153,9 +154,29 @@ %{!mv8*: \ %{!msupersparc:-mcpu=cypress}}}}}}}} \ %{!m32: \ - %{p:-mcmodel=medlow} \ - %{pg:-mcmodel=medlow}}" + %{p:-mcmodel=medlow} \ -+ %{pg:-mcmodel=medlow}}" \ ++ %{pg:-mcmodel=medlow}} " \ + NETBSD_CC1_AND_CC1PLUS_SPEC ++#if defined(SPARC_BI_ARCH) || defined(__arch64__) ++/* add code model specific object to the link line for 64bit */ ++#define LINK_SPEC_CODE_MODEL64 \ ++ "%{!shared:" \ ++ "%{!mcmodel=*:%:if-exists(%R/usr/lib/sparc_mcmedmid.o)}" \ ++ "%{mcmodel=medlow:%:if-exists(%R/usr/lib/sparc_mcmedlow.o)}" \ ++ "%{mcmodel=medmid:%:if-exists(%R/usr/lib/sparc_mcmedmid.o)}" \ ++ "%{mcmodel=medany:%:if-exists(%R/usr/lib/sparc_mcmedany.o)}" \ ++ "}" ++ ++#ifdef SPARC_BI_ARCH ++#define LINK_SPEC_CODE_MODEL "%{!m32:" LINK_SPEC_CODE_MODEL64 "}" ++#else ++#define LINK_SPEC_CODE_MODEL LINK_SPEC_CODE_MODEL64 ++#endif ++#else ++#define LINK_SPEC_CODE_MODEL "" ++#endif ++ /* Make sure we use the right output format. Pick a default and then make sure -m32/-m64 switch to the right one. */ -@@ -263,6 +265,13 @@ + +@@ -172,7 +193,8 @@ + #define LINK_SPEC \ + "%(link_arch) \ + %{!mno-relax:%{!r:-relax}} \ +- %(netbsd_link_spec)" ++ %(netbsd_link_spec) " \ ++ LINK_SPEC_CODE_MODEL + + #define NETBSD_ENTRY_POINT "__start" + +@@ -263,6 +285,13 @@ || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc */ #endif /* SPARC_BI_ARCH */ @@ -11796,9 +12104,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/netbsd-elf.h dist.nbsd/gcc/config/spa /* We use GNU ld so undefine this so that attribute((init_priority)) works. */ #undef CTORS_SECTION_ASM_OP -diff -rNU3 -x *.info dist/gcc/config/sparc/sol2-64.h dist.nbsd/gcc/config/sparc/sol2-64.h ---- dist/gcc/config/sparc/sol2-64.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sol2-64.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sol2-64.h dist.nbsd/gcc/config/sparc/sol2-64.h +--- dist.orig/gcc/config/sparc/sol2-64.h Tue Mar 2 23:35:12 2010 ++++ dist.nbsd/gcc/config/sparc/sol2-64.h Wed Feb 19 16:43:50 2014 @@ -1,7 +1,7 @@ /* Definitions of target machine for GCC, for bi-arch SPARC running Solaris 2, defaulting to 64-bit code generation. @@ -11817,9 +12125,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sol2-64.h dist.nbsd/gcc/config/sparc/ - (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ + \ - MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128) +#define TARGET_64BIT_DEFAULT 1 -diff -rNU3 -x *.info dist/gcc/config/sparc/sol2-unwind.h dist.nbsd/gcc/config/sparc/sol2-unwind.h ---- dist/gcc/config/sparc/sol2-unwind.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sol2-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sol2-unwind.h dist.nbsd/gcc/config/sparc/sol2-unwind.h +--- dist.orig/gcc/config/sparc/sol2-unwind.h Wed Oct 27 20:34:57 2010 ++++ dist.nbsd/gcc/config/sparc/sol2-unwind.h Wed Feb 19 16:43:50 2014 @@ -123,10 +123,10 @@ /* This matches the call_user_handler pattern for Solaris 10. There are 2 cases so we look for the return address of the @@ -11848,9 +12156,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sol2-unwind.h dist.nbsd/gcc/config/sp /* This is the same setup as for Solaris 9, see below. */ regs_off = 96 + 96 + 96 + 160; else -diff -rNU3 -x *.info dist/gcc/config/sparc/sol2.h dist.nbsd/gcc/config/sparc/sol2.h ---- dist/gcc/config/sparc/sol2.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sol2.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sol2.h dist.nbsd/gcc/config/sparc/sol2.h +--- dist.orig/gcc/config/sparc/sol2.h Sat Nov 20 22:05:08 2010 ++++ dist.nbsd/gcc/config/sparc/sol2.h Wed Feb 19 16:43:50 2014 @@ -153,11 +153,18 @@ #undef SUN_INTEGER_MULTIPLY_64 #define SUN_INTEGER_MULTIPLY_64 1 @@ -11874,9 +12182,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sol2.h dist.nbsd/gcc/config/sparc/sol /* Solaris-specific #pragmas are implemented on top of attributes. Hook in the bits from config/sol2.c. */ -diff -rNU3 -x *.info dist/gcc/config/sparc/sparc-protos.h dist.nbsd/gcc/config/sparc/sparc-protos.h ---- dist/gcc/config/sparc/sparc-protos.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sparc-protos.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sparc-protos.h dist.nbsd/gcc/config/sparc/sparc-protos.h +--- dist.orig/gcc/config/sparc/sparc-protos.h Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/config/sparc/sparc-protos.h Wed Feb 19 16:43:50 2014 @@ -48,6 +48,7 @@ extern int check_pic (int); extern int short_branch (int, int); @@ -11885,9 +12193,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sparc-protos.h dist.nbsd/gcc/config/s extern void sparc_override_options (void); extern void sparc_output_scratch_registers (FILE *); -diff -rNU3 -x *.info dist/gcc/config/sparc/sparc.c dist.nbsd/gcc/config/sparc/sparc.c ---- dist/gcc/config/sparc/sparc.c Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sparc.c Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sparc.c dist.nbsd/gcc/config/sparc/sparc.c +--- dist.orig/gcc/config/sparc/sparc.c Mon Jan 3 12:06:19 2011 ++++ dist.nbsd/gcc/config/sparc/sparc.c Wed Feb 19 16:43:50 2014 @@ -627,6 +627,17 @@ return true; } @@ -12022,9 +12330,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sparc.c dist.nbsd/gcc/config/sparc/sp } /* The way this is structured, we can't eliminate SFP in favor of SP -diff -rNU3 -x *.info dist/gcc/config/sparc/sparc.h dist.nbsd/gcc/config/sparc/sparc.h ---- dist/gcc/config/sparc/sparc.h Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sparc.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sparc.h dist.nbsd/gcc/config/sparc/sparc.h +--- dist.orig/gcc/config/sparc/sparc.h Sun Dec 19 12:20:08 2010 ++++ dist.nbsd/gcc/config/sparc/sparc.h Wed Feb 19 16:43:50 2014 @@ -414,6 +414,7 @@ %{mcpu=sparclite:-Asparclite} \ %{mcpu=sparclite86x:-Asparclite} \ @@ -12043,9 +12351,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sparc.h dist.nbsd/gcc/config/sparc/sp #define OVERRIDE_OPTIONS sparc_override_options () /* Mask of all CPU selection flags. */ -diff -rNU3 -x *.info dist/gcc/config/sparc/sparc.md dist.nbsd/gcc/config/sparc/sparc.md ---- dist/gcc/config/sparc/sparc.md Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/sparc.md Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/sparc.md dist.nbsd/gcc/config/sparc/sparc.md +--- dist.orig/gcc/config/sparc/sparc.md Sun Dec 19 12:20:08 2010 ++++ dist.nbsd/gcc/config/sparc/sparc.md Wed Feb 19 16:43:50 2014 @@ -28,6 +28,7 @@ [(UNSPEC_MOVE_PIC 0) (UNSPEC_UPDATE_RETURN 1) @@ -12193,9 +12501,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/sparc.md dist.nbsd/gcc/config/sparc/s mem = gen_rtx_MEM (Pmode, plus_constant (stack_pointer_rtx, -diff -rNU3 -x *.info dist/gcc/config/sparc/t-netbsd64 dist.nbsd/gcc/config/sparc/t-netbsd64 ---- dist/gcc/config/sparc/t-netbsd64 Wed Nov 7 13:40:05 2012 -+++ dist.nbsd/gcc/config/sparc/t-netbsd64 Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/sparc/t-netbsd64 dist.nbsd/gcc/config/sparc/t-netbsd64 +--- dist.orig/gcc/config/sparc/t-netbsd64 Wed Sep 4 18:18:37 2002 ++++ dist.nbsd/gcc/config/sparc/t-netbsd64 Wed Feb 19 16:43:50 2014 @@ -1,8 +1,9 @@ -# Disable multilib fow now, as NetBSD/sparc64 does not ship with -# a 32-bit environment. @@ -12213,9 +12521,9 @@ diff -rNU3 -x *.info dist/gcc/config/sparc/t-netbsd64 dist.nbsd/gcc/config/sparc + +LIBGCC = stmp-multilib +INSTALL_LIBGCC = install-multilib -diff -rNU3 -x *.info dist/gcc/config/t-netbsd dist.nbsd/gcc/config/t-netbsd ---- dist/gcc/config/t-netbsd Wed Nov 7 13:40:04 2012 -+++ dist.nbsd/gcc/config/t-netbsd Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/t-netbsd dist.nbsd/gcc/config/t-netbsd +--- dist.orig/gcc/config/t-netbsd Mon Aug 6 19:58:11 2007 ++++ dist.nbsd/gcc/config/t-netbsd Wed Feb 19 16:43:50 2014 @@ -1,2 +1,7 @@ # Always build crtstuff with PIC. CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC @@ -12224,9 +12532,9 @@ diff -rNU3 -x *.info dist/gcc/config/t-netbsd dist.nbsd/gcc/config/t-netbsd +LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \ + $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c +LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c -diff -rNU3 -x *.info dist/gcc/config/vax/builtins.md dist.nbsd/gcc/config/vax/builtins.md ---- dist/gcc/config/vax/builtins.md Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/vax/builtins.md Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/vax/builtins.md dist.nbsd/gcc/config/vax/builtins.md +--- dist.orig/gcc/config/vax/builtins.md Wed Apr 1 17:00:00 2009 ++++ dist.nbsd/gcc/config/vax/builtins.md Wed Feb 19 16:43:50 2014 @@ -24,6 +24,12 @@ ] ) @@ -12254,9 +12562,9 @@ diff -rNU3 -x *.info dist/gcc/config/vax/builtins.md dist.nbsd/gcc/config/vax/bu "" "jbcci %1,%0,%l2") - -diff -rNU3 -x *.info dist/gcc/config/vax/constraints.md dist.nbsd/gcc/config/vax/constraints.md ---- dist/gcc/config/vax/constraints.md Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/vax/constraints.md Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/vax/constraints.md dist.nbsd/gcc/config/vax/constraints.md +--- dist.orig/gcc/config/vax/constraints.md Wed Apr 1 17:00:00 2009 ++++ dist.nbsd/gcc/config/vax/constraints.md Wed Feb 19 16:43:50 2014 @@ -113,5 +113,6 @@ (define_constraint "T" @@ -12266,9 +12574,9 @@ diff -rNU3 -x *.info dist/gcc/config/vax/constraints.md dist.nbsd/gcc/config/vax + (and (match_test "CONSTANT_P (op)") + (ior (not (match_code "const,symbol_ref,label_ref")) + (match_test "!flag_pic")))) -diff -rNU3 -x *.info dist/gcc/config/vax/elf.h dist.nbsd/gcc/config/vax/elf.h ---- dist/gcc/config/vax/elf.h Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/vax/elf.h Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/vax/elf.h dist.nbsd/gcc/config/vax/elf.h +--- dist.orig/gcc/config/vax/elf.h Wed Apr 1 17:00:00 2009 ++++ dist.nbsd/gcc/config/vax/elf.h Wed Feb 19 16:43:50 2014 @@ -109,5 +109,5 @@ fputs (integer_asm_op (SIZE, FALSE), FILE); \ fprintf (FILE, "%%pcrel%d(", SIZE * 8); \ @@ -12276,9 +12584,9 @@ diff -rNU3 -x *.info dist/gcc/config/vax/elf.h dist.nbsd/gcc/config/vax/elf.h - fputc (')', FILE); \ + fprintf (FILE, "%+d)", SIZE); \ } while (0) -diff -rNU3 -x *.info dist/gcc/config/vax/vax.c dist.nbsd/gcc/config/vax/vax.c ---- dist/gcc/config/vax/vax.c Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/vax/vax.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/vax/vax.c dist.nbsd/gcc/config/vax/vax.c +--- dist.orig/gcc/config/vax/vax.c Tue Sep 22 15:16:34 2009 ++++ dist.nbsd/gcc/config/vax/vax.c Wed Feb 19 16:43:50 2014 @@ -300,7 +300,10 @@ addr = XEXP (addr, 1); } @@ -12396,6 +12704,24 @@ diff -rNU3 -x *.info dist/gcc/config/vax/vax.c dist.nbsd/gcc/config/vax/vax.c output_addr_const (file, addr); } } +@@ -1127,7 +1153,7 @@ + { + operands[1] = GEN_INT (lval); + operands[2] = GEN_INT (n); +- return "ashq %2,%1,%0"; ++ return "ashq %2,%D1,%0"; + } + #if HOST_BITS_PER_WIDE_INT == 32 + } +@@ -1139,7 +1165,7 @@ + { + operands[1] = GEN_INT (hval >> n); + operands[2] = GEN_INT (n + 32); +- return "ashq %2,%1,%0"; ++ return "ashq %2,%D1,%0"; + #endif + } + } @@ -1566,6 +1592,111 @@ } } @@ -12529,9 +12855,9 @@ diff -rNU3 -x *.info dist/gcc/config/vax/vax.c dist.nbsd/gcc/config/vax/vax.c return; } -diff -rNU3 -x *.info dist/gcc/config/vax/vax.md dist.nbsd/gcc/config/vax/vax.md ---- dist/gcc/config/vax/vax.md Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/vax/vax.md Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/config/vax/vax.md dist.nbsd/gcc/config/vax/vax.md +--- dist.orig/gcc/config/vax/vax.md Tue May 12 09:43:48 2009 ++++ dist.nbsd/gcc/config/vax/vax.md Wed Feb 19 16:43:50 2014 @@ -212,6 +212,11 @@ "" " @@ -12567,6 +12893,23 @@ diff -rNU3 -x *.info dist/gcc/config/vax/vax.md dist.nbsd/gcc/config/vax/vax.md operands[2] = gen_rtx_NEG (QImode, negate_rtx (QImode, operands[2])); }") +@@ -689,14 +701,14 @@ + (ashift:DI (match_operand:DI 1 "general_operand" "g") + (match_operand:QI 2 "general_operand" "g")))] + "" +- "ashq %2,%1,%0") ++ "ashq %2,%D1,%0") + + (define_insn "" + [(set (match_operand:DI 0 "nonimmediate_operand" "=g") + (ashiftrt:DI (match_operand:DI 1 "general_operand" "g") + (neg:QI (match_operand:QI 2 "general_operand" "g"))))] + "" +- "ashq %2,%1,%0") ++ "ashq %2,%D1,%0") + + ;; We used to have expand_shift handle logical right shifts by using extzv, + ;; but this make it very difficult to do lshrdi3. Since the VAX is the @@ -945,8 +957,8 @@ "" "* @@ -12595,9 +12938,9 @@ diff -rNU3 -x *.info dist/gcc/config/vax/vax.md dist.nbsd/gcc/config/vax/vax.md }) + +(include "builtins.md") -diff -rNU3 -x *.info dist/gcc/config/xtensa/linux-unwind.h dist.nbsd/gcc/config/xtensa/linux-unwind.h ---- dist/gcc/config/xtensa/linux-unwind.h Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/config/xtensa/linux-unwind.h Wed Nov 7 11:47:24 2012 +diff -rNU3 dist.orig/gcc/config/xtensa/linux-unwind.h dist.nbsd/gcc/config/xtensa/linux-unwind.h +--- dist.orig/gcc/config/xtensa/linux-unwind.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/config/xtensa/linux-unwind.h Wed Feb 19 16:43:50 2014 @@ -1,5 +1,5 @@ /* DWARF2 EH unwinding support for Xtensa. - Copyright (C) 2008, 2009 Free Software Foundation, Inc. @@ -12614,13 +12957,17 @@ diff -rNU3 -x *.info dist/gcc/config/xtensa/linux-unwind.h dist.nbsd/gcc/config/ struct ucontext uc; } *rt_; -diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc ---- dist/gcc/config.gcc Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/config.gcc Wed Nov 7 11:47:23 2012 -@@ -326,6 +326,10 @@ +diff -rNU3 dist.orig/gcc/config.gcc dist.nbsd/gcc/config.gcc +--- dist.orig/gcc/config.gcc Sun Feb 27 01:06:15 2011 ++++ dist.nbsd/gcc/config.gcc Wed Feb 19 16:43:54 2014 +@@ -326,6 +326,14 @@ m32r*-*-*) cpu_type=m32r ;; ++m5200-*-*|m5407-*-*) ++ cpu_type=m68k ++ extra_headers=math-68881.h ++ ;; +m680[012]0-*-*) + cpu_type=m68k + extra_headers=math-68881.h @@ -12628,7 +12975,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc m68k-*-*) extra_headers=math-68881.h ;; -@@ -718,8 +722,28 @@ +@@ -718,8 +726,39 @@ tmake_file="${tmake_file} arm/t-arm arm/t-strongarm-elf" ;; arm*-*-netbsdelf*) @@ -12636,13 +12983,14 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc - tmake_file="${tmake_file} arm/t-arm arm/t-netbsd" + tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h" + case ${target} in -+ armeb*) tm_defines="${tm_defines} TARGET_ENDIAN_DEFAULT=MASK_BIG_END" ;; ++ arm*eb-*) tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ;; + esac + tmake_file="${tmake_file} arm/t-arm" + case ${target} in -+ arm*-*-netbsdelf-*eabi) ++ arm*-*-netbsdelf-*eabi*) + tm_file="$tm_file arm/bpabi.h arm/netbsd-elf.h arm/netbsd-eabi.h" -+ tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi" ++ #tmake_file="$tmake_file arm/t-arm-elf" ++ #tmake_file="$tmake_file arm/t-bpabi" + tmake_file="$tmake_file arm/t-netbsd-eabi" + # The BPABI long long divmod functions return a 128-bit value in + # registers r0-r3. Correctly modeling that requires the use of @@ -12655,11 +13003,21 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc + tm_file="$tm_file arm/netbsd-elf.h" + tmake_file="$tmake_file arm/t-netbsd" + ;; ++ esac ++ case ${target} in ++ arm*-*-netbsdelf-*eabihf*) ++ tm_defines="${tm_defines} TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD" ++ ;; ++ esac ++ case ${target} in ++ armv4*) with_cpu=${with_cpu:-strongarm};; ++ armv6*) with_cpu=${with_cpu:-arm1176jzf-s};; ++ armv7*) with_cpu=${with_cpu:-cortex-a8};; + esac ;; arm*-*-netbsd*) tm_file="arm/aout.h arm/arm.h netbsd.h netbsd-aout.h arm/netbsd.h" -@@ -730,7 +754,7 @@ +@@ -730,7 +769,7 @@ arm*-*-linux*) # ARM GNU/Linux with ELF tm_file="dbxelf.h elfos.h linux.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h" case $target in @@ -12668,7 +13026,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1" ;; esac -@@ -830,7 +854,7 @@ +@@ -830,7 +869,7 @@ extra_objs="avr-devices.o" ;; avr-*-*) @@ -12677,7 +13035,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc use_gcc_stdint=wrap extra_gcc_objs="driver-avr.o avr-devices.o" extra_objs="avr-devices.o" -@@ -956,6 +980,12 @@ +@@ -956,6 +995,12 @@ tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver" fi ;; @@ -12690,7 +13048,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc # port not yet contributed. #hppa*-*-openbsd*) # target_cpu_default="MASK_PA_11" -@@ -1120,6 +1150,7 @@ +@@ -1120,6 +1165,7 @@ ;; i[34567]86-*-netbsdelf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h" @@ -12698,7 +13056,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc ;; i[34567]86-*-netbsd*) tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h netbsd.h netbsd-aout.h i386/netbsd.h" -@@ -1129,7 +1160,7 @@ +@@ -1129,7 +1175,7 @@ ;; x86_64-*-netbsd*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/x86-64.h i386/netbsd64.h" @@ -12707,7 +13065,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc ;; i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123]) tm_file="i386/i386.h i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h openbsd-oldgas.h openbsd.h i386/openbsd.h" -@@ -1468,6 +1499,12 @@ +@@ -1468,6 +1514,15 @@ fi extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" ;; @@ -12715,38 +13073,48 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc + tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h ia64/sysv4.h ia64/netbsd.h" + target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" + tmake_file="${tmake_file} ia64/t-ia64" ++ if test x$with_system_libunwind != xyes ; then ++ tmake_file="${tmake_file} t-libunwind-elf ia64/t-glibc-libunwind" ++ fi + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o" + ;; ia64*-*-freebsd*) tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} ia64/sysv4.h ia64/freebsd.h" target_cpu_default="MASK_GNU_AS|MASK_GNU_LD" -@@ -1613,11 +1650,21 @@ +@@ -1613,11 +1668,28 @@ esac extra_parts="crtbegin.o crtend.o" ;; -m68k*-*-netbsdelf*) - default_m68k_cpu=68020 - default_cf_cpu=5475 -+m68010-*-netbsdelf* | m68k*-*-netbsdelf*) ++m68010-*-netbsdelf* | m68k-*-netbsdelf* | m5407-*-netbsdelf*) tm_file="${tm_file} dbxelf.h elfos.h netbsd.h netbsd-elf.h m68k/netbsd-elf.h" - tm_defines="${tm_defines} MOTOROLA=1" + tm_defines="${tm_defines} MOTOROLA=1 USE_GAS=1" + default_cf_cpu=5475 ++ default_m68k_cpu=68020 + case ${target} in ++ m5407*) ++ with_arch=${with_arch:-cf} ++ target_cpu_default="mcf5475" ++# target="`echo ${target} | sed 's/m68kcf/m68k/'`" ++ ;; + m68010*) -+ target_cpu_default="0" ++ target_cpu_default="m68010" + tmake_file="m68k/t-m68kelf m68k/t-m68010-netbsd" + default_m68k_cpu=68010 ++ tmake_file="${tmake_file} m68k/t-floatlib" + ;; + *) -+ default_m68k_cpu=68020 ++ with_arch=${with_arch:-m68k} ++ tmake_file="${tmake_file} m68k/t-floatlib" + ;; + esac -+ tmake_file="${tmake_file} m68k/t-floatlib" ;; m68k*-*-openbsd*) default_m68k_cpu=68020 -@@ -1733,6 +1780,14 @@ +@@ -1733,6 +1805,14 @@ "":yes | yes:yes ) thread_file=posix ;; esac ;; @@ -12761,7 +13129,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc mips*-*-netbsd*) # NetBSD/mips, either endian. target_cpu_default="MASK_ABICALLS" tm_file="elfos.h ${tm_file} mips/elf.h netbsd.h netbsd-elf.h mips/netbsd.h" -@@ -1949,10 +2004,22 @@ +@@ -1949,10 +2029,22 @@ tmake_file="rs6000/t-fprules rs6000/t-fprules-fpbit rs6000/t-ppcos ${tmake_file} rs6000/t-ppccomm" extra_options="${extra_options} rs6000/sysv4.opt" ;; @@ -12787,7 +13155,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc ;; powerpc-*-eabispe*) tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/e500.h rs6000/eabispe.h" -@@ -2246,7 +2313,7 @@ +@@ -2246,7 +2338,7 @@ # SHmedia, 64-bit ABI tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd sh/t-netbsd-sh5-64" ;; @@ -12796,7 +13164,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc tmake_file="${tmake_file} sh/t-netbsd" ;; sh64*-*-linux*) -@@ -2422,7 +2489,7 @@ +@@ -2422,7 +2514,7 @@ tm_file="${tm_file} sparc/sol2.h" case ${target} in sparc64-*-* | sparcv9-*-*) @@ -12805,7 +13173,7 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc ;; *) test x$with_cpu != x || with_cpu=v9 -@@ -2489,6 +2556,7 @@ +@@ -2489,6 +2581,7 @@ tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h netbsd.h netbsd-elf.h sparc/netbsd-elf.h" extra_options="${extra_options} sparc/long-double-switch.opt" tmake_file="${tmake_file} sparc/t-netbsd64" @@ -12813,9 +13181,28 @@ diff -rNU3 -x *.info dist/gcc/config.gcc dist.nbsd/gcc/config.gcc ;; spu-*-elf*) tm_file="dbxelf.h elfos.h spu/spu-elf.h spu/spu.h newlib-stdint.h" -diff -rNU3 -x *.info dist/gcc/configure dist.nbsd/gcc/configure ---- dist/gcc/configure Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/configure Wed Nov 7 11:47:25 2012 +@@ -2818,6 +2911,9 @@ + frv550-*-*linux*) + with_cpu=fr550 + ;; ++ m5200-*-*|m5407-*-*) ++ with_cpu=${default_cf_cpu} ++ ;; + m68k*-*-*) + case "$with_arch" in + "cf") +@@ -3073,7 +3169,7 @@ + esac + ;; + +- fido-*-* | m68k*-*-*) ++ fido-*-* | m68k*-*-* | m5200-*-* | m5407-*-*) + supported_defaults="arch cpu" + case "$with_arch" in + "" | "m68k"| "cf") +diff -rNU3 dist.orig/gcc/configure dist.nbsd/gcc/configure +--- dist.orig/gcc/configure Fri Dec 3 12:35:37 2010 ++++ dist.nbsd/gcc/configure Wed Feb 19 16:44:07 2014 @@ -4810,7 +4810,7 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supports_ada" >&5 $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; } @@ -12834,6 +13221,15 @@ diff -rNU3 -x *.info dist/gcc/configure dist.nbsd/gcc/configure conftest_s=' t1: .reg %r20 t2: .reg %r21 +@@ -22188,7 +22188,7 @@ + tls_first_minor=16 + tls_as_opt='-32 --fatal-warnings' + ;; +- m68k-*-*) ++ m68k-*-*|m5407-*-*) + conftest_s=' + .section .tdata,"awT",@progbits + x: @@ -22301,7 +22301,7 @@ tls_first_minor=14 tls_as_opt="-m64 -Aesame --fatal-warnings" @@ -12843,6 +13239,15 @@ diff -rNU3 -x *.info dist/gcc/configure dist.nbsd/gcc/configure conftest_s=' .section ".tdata","awT",@progbits foo: .long 25 +@@ -24300,7 +24300,7 @@ + i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \ + | x86_64*-*-* | hppa*-*-* | arm*-*-* \ + | xstormy16*-*-* | cris-*-* | crisv32-*-* | xtensa*-*-* | bfin-*-* | score*-*-* \ +- | spu-*-* | fido*-*-* | m32c-*-*) ++ | spu-*-* | fido*-*-* | m32c-*-* | m5407-*-*) + insn="nop" + ;; + ia64*-*-* | s390*-*-*) @@ -25005,7 +25005,7 @@ # simply assert that glibc does provide this, which is true for all # realistically usable GNU/Hurd configurations. @@ -12857,9 +13262,9 @@ diff -rNU3 -x *.info dist/gcc/configure dist.nbsd/gcc/configure $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi - -diff -rNU3 -x *.info dist/gcc/configure.ac dist.nbsd/gcc/configure.ac ---- dist/gcc/configure.ac Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/configure.ac Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/configure.ac dist.nbsd/gcc/configure.ac +--- dist.orig/gcc/configure.ac Fri Dec 3 12:35:37 2010 ++++ dist.nbsd/gcc/configure.ac Wed Feb 19 16:43:54 2014 @@ -2628,7 +2628,7 @@ tls_first_major=2 tls_first_minor=14 @@ -12869,6 +13274,15 @@ diff -rNU3 -x *.info dist/gcc/configure.ac dist.nbsd/gcc/configure.ac conftest_s=' t1: .reg %r20 t2: .reg %r21 +@@ -2769,7 +2769,7 @@ + tls_first_minor=16 + tls_as_opt='-32 --fatal-warnings' + ;; +- m68k-*-*) ++ m68k-*-* | m5407-*-*) + conftest_s=' + .section .tdata,"awT",@progbits + x: @@ -2882,7 +2882,7 @@ tls_first_minor=14 tls_as_opt="-m64 -Aesame --fatal-warnings" @@ -12878,6 +13292,15 @@ diff -rNU3 -x *.info dist/gcc/configure.ac dist.nbsd/gcc/configure.ac conftest_s=' .section ".tdata","awT",@progbits foo: .long 25 +@@ -3689,7 +3689,7 @@ + i?86*-*-* | mips*-*-* | alpha*-*-* | powerpc*-*-* | sparc*-*-* | m68*-*-* \ + | x86_64*-*-* | hppa*-*-* | arm*-*-* \ + | xstormy16*-*-* | cris-*-* | crisv32-*-* | xtensa*-*-* | bfin-*-* | score*-*-* \ +- | spu-*-* | fido*-*-* | m32c-*-*) ++ | spu-*-* | fido*-*-* | m32c-*-* | m5407-*-*) + insn="nop" + ;; + ia64*-*-* | s390*-*-*) @@ -4127,7 +4127,7 @@ # simply assert that glibc does provide this, which is true for all # realistically usable GNU/Hurd configurations. @@ -12887,9 +13310,9 @@ diff -rNU3 -x *.info dist/gcc/configure.ac dist.nbsd/gcc/configure.ac AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes], [echo "no __stack_chk_fail on this target"]) ;; -diff -rNU3 -x *.info dist/gcc/convert.c dist.nbsd/gcc/convert.c ---- dist/gcc/convert.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/convert.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/convert.c dist.nbsd/gcc/convert.c +--- dist.orig/gcc/convert.c Sun Aug 8 15:50:17 2010 ++++ dist.nbsd/gcc/convert.c Wed Feb 19 16:43:54 2014 @@ -728,6 +728,15 @@ tree arg0 = get_unwidened (TREE_OPERAND (expr, 0), type); tree arg1 = get_unwidened (TREE_OPERAND (expr, 1), type); @@ -12906,9 +13329,9 @@ diff -rNU3 -x *.info dist/gcc/convert.c dist.nbsd/gcc/convert.c if (outprec >= BITS_PER_WORD || TRULY_NOOP_TRUNCATION (outprec, inprec) || inprec > TYPE_PRECISION (TREE_TYPE (arg0)) -diff -rNU3 -x *.info dist/gcc/cp/ChangeLog dist.nbsd/gcc/cp/ChangeLog ---- dist/gcc/cp/ChangeLog Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/ChangeLog Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/ChangeLog dist.nbsd/gcc/cp/ChangeLog +--- dist.orig/gcc/cp/ChangeLog Thu Apr 28 14:12:32 2011 ++++ dist.nbsd/gcc/cp/ChangeLog Wed Feb 19 16:43:53 2014 @@ -1,3 +1,83 @@ +2012-07-02 Release Manager + @@ -12993,9 +13416,9 @@ diff -rNU3 -x *.info dist/gcc/cp/ChangeLog dist.nbsd/gcc/cp/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/cp/Make-lang.in dist.nbsd/gcc/cp/Make-lang.in ---- dist/gcc/cp/Make-lang.in Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/Make-lang.in Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/Make-lang.in dist.nbsd/gcc/cp/Make-lang.in +--- dist.orig/gcc/cp/Make-lang.in Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/cp/Make-lang.in Wed Feb 19 16:43:54 2014 @@ -107,6 +107,8 @@ # Special build rules. @@ -13005,9 +13428,9 @@ diff -rNU3 -x *.info dist/gcc/cp/Make-lang.in dist.nbsd/gcc/cp/Make-lang.in gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \ $(srcdir)/cp/cfns.gperf > $(srcdir)/cp/cfns.h -diff -rNU3 -x *.info dist/gcc/cp/class.c dist.nbsd/gcc/cp/class.c ---- dist/gcc/cp/class.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/class.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/class.c dist.nbsd/gcc/cp/class.c +--- dist.orig/gcc/cp/class.c Fri Jul 9 19:50:25 2010 ++++ dist.nbsd/gcc/cp/class.c Wed Feb 19 16:43:53 2014 @@ -681,21 +681,10 @@ the abstract. */ @@ -13033,9 +13456,9 @@ diff -rNU3 -x *.info dist/gcc/cp/class.c dist.nbsd/gcc/cp/class.c } /* Create a VAR_DECL for a primary or secondary vtable for CLASS_TYPE. -diff -rNU3 -x *.info dist/gcc/cp/decl.c dist.nbsd/gcc/cp/decl.c ---- dist/gcc/cp/decl.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/decl.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/decl.c dist.nbsd/gcc/cp/decl.c +--- dist.orig/gcc/cp/decl.c Wed Apr 20 00:06:19 2011 ++++ dist.nbsd/gcc/cp/decl.c Wed Feb 19 16:43:53 2014 @@ -12877,8 +12877,17 @@ cleanup = call; } @@ -13054,9 +13477,9 @@ diff -rNU3 -x *.info dist/gcc/cp/decl.c dist.nbsd/gcc/cp/decl.c /* When a stmt has been parsed, this function is called. */ -diff -rNU3 -x *.info dist/gcc/cp/decl2.c dist.nbsd/gcc/cp/decl2.c ---- dist/gcc/cp/decl2.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/decl2.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/decl2.c dist.nbsd/gcc/cp/decl2.c +--- dist.orig/gcc/cp/decl2.c Thu Apr 21 02:56:39 2011 ++++ dist.nbsd/gcc/cp/decl2.c Wed Feb 19 16:43:53 2014 @@ -1189,9 +1189,9 @@ old_attrs = *q; @@ -13130,9 +13553,9 @@ diff -rNU3 -x *.info dist/gcc/cp/decl2.c dist.nbsd/gcc/cp/decl2.c } #include "gt-cp-decl2.h" -diff -rNU3 -x *.info dist/gcc/cp/init.c dist.nbsd/gcc/cp/init.c ---- dist/gcc/cp/init.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/init.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/init.c dist.nbsd/gcc/cp/init.c +--- dist.orig/gcc/cp/init.c Mon Apr 18 14:02:22 2011 ++++ dist.nbsd/gcc/cp/init.c Wed Feb 19 16:43:54 2014 @@ -1460,7 +1460,12 @@ zero out the object first. */ else if (TYPE_NEEDS_CONSTRUCTING (type)) @@ -13147,9 +13570,9 @@ diff -rNU3 -x *.info dist/gcc/cp/init.c dist.nbsd/gcc/cp/init.c init = build2 (INIT_EXPR, type, exp, init); finish_expr_stmt (init); /* And then call the constructor. */ -diff -rNU3 -x *.info dist/gcc/cp/mangle.c dist.nbsd/gcc/cp/mangle.c ---- dist/gcc/cp/mangle.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/mangle.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/mangle.c dist.nbsd/gcc/cp/mangle.c +--- dist.orig/gcc/cp/mangle.c Tue Mar 8 17:40:27 2011 ++++ dist.nbsd/gcc/cp/mangle.c Wed Feb 19 16:43:54 2014 @@ -1778,11 +1778,6 @@ if (find_substitution (type)) return; @@ -13175,9 +13598,9 @@ diff -rNU3 -x *.info dist/gcc/cp/mangle.c dist.nbsd/gcc/cp/mangle.c if (TYPE_PTRMEM_P (type)) write_pointer_to_member_type (type); -diff -rNU3 -x *.info dist/gcc/cp/method.c dist.nbsd/gcc/cp/method.c ---- dist/gcc/cp/method.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/method.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/method.c dist.nbsd/gcc/cp/method.c +--- dist.orig/gcc/cp/method.c Sat Mar 20 08:55:32 2010 ++++ dist.nbsd/gcc/cp/method.c Wed Feb 19 16:43:54 2014 @@ -374,6 +374,7 @@ DECL_CONTEXT (x) = thunk_fndecl; SET_DECL_RTL (x, NULL_RTX); @@ -13186,9 +13609,9 @@ diff -rNU3 -x *.info dist/gcc/cp/method.c dist.nbsd/gcc/cp/method.c t = x; } a = nreverse (t); -diff -rNU3 -x *.info dist/gcc/cp/parser.c dist.nbsd/gcc/cp/parser.c ---- dist/gcc/cp/parser.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/parser.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/parser.c dist.nbsd/gcc/cp/parser.c +--- dist.orig/gcc/cp/parser.c Wed Apr 27 05:20:46 2011 ++++ dist.nbsd/gcc/cp/parser.c Wed Feb 19 16:43:53 2014 @@ -2333,6 +2333,7 @@ location_t location) { @@ -13205,9 +13628,9 @@ diff -rNU3 -x *.info dist/gcc/cp/parser.c dist.nbsd/gcc/cp/parser.c } /* Check for a common situation where a type-name should be present, -diff -rNU3 -x *.info dist/gcc/cp/tree.c dist.nbsd/gcc/cp/tree.c ---- dist/gcc/cp/tree.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/tree.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/tree.c dist.nbsd/gcc/cp/tree.c +--- dist.orig/gcc/cp/tree.c Sun Feb 27 17:11:19 2011 ++++ dist.nbsd/gcc/cp/tree.c Wed Feb 19 16:43:54 2014 @@ -1732,7 +1732,11 @@ tree u; @@ -13231,9 +13654,9 @@ diff -rNU3 -x *.info dist/gcc/cp/tree.c dist.nbsd/gcc/cp/tree.c { init_expr = get_target_expr (exp); exp = TARGET_EXPR_SLOT (init_expr); -diff -rNU3 -x *.info dist/gcc/cp/typeck.c dist.nbsd/gcc/cp/typeck.c ---- dist/gcc/cp/typeck.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/cp/typeck.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/cp/typeck.c dist.nbsd/gcc/cp/typeck.c +--- dist.orig/gcc/cp/typeck.c Wed Apr 20 06:31:07 2011 ++++ dist.nbsd/gcc/cp/typeck.c Wed Feb 19 16:43:53 2014 @@ -4297,6 +4297,7 @@ { case MULT_EXPR: @@ -13271,9 +13694,9 @@ diff -rNU3 -x *.info dist/gcc/cp/typeck.c dist.nbsd/gcc/cp/typeck.c } orig = expr; -diff -rNU3 -x *.info dist/gcc/crtstuff.c dist.nbsd/gcc/crtstuff.c ---- dist/gcc/crtstuff.c Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/crtstuff.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/crtstuff.c dist.nbsd/gcc/crtstuff.c +--- dist.orig/gcc/crtstuff.c Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/crtstuff.c Wed Feb 19 16:43:51 2014 @@ -92,6 +92,15 @@ && !defined(OBJECT_FORMAT_FLAT) \ && defined(HAVE_LD_EH_FRAME_HDR) \ @@ -13290,9 +13713,9 @@ diff -rNU3 -x *.info dist/gcc/crtstuff.c dist.nbsd/gcc/crtstuff.c && defined(__GLIBC__) && __GLIBC__ >= 2 #include /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h. -diff -rNU3 -x *.info dist/gcc/df-problems.c dist.nbsd/gcc/df-problems.c ---- dist/gcc/df-problems.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/df-problems.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/df-problems.c dist.nbsd/gcc/df-problems.c +--- dist.orig/gcc/df-problems.c Tue Nov 16 22:17:17 2010 ++++ dist.nbsd/gcc/df-problems.c Wed Feb 19 16:43:53 2014 @@ -3748,9 +3748,22 @@ for (def_rec = DF_INSN_UID_DEFS (uid); *def_rec; def_rec++) { @@ -13354,9 +13777,9 @@ diff -rNU3 -x *.info dist/gcc/df-problems.c dist.nbsd/gcc/df-problems.c /* Clear all of the registers that go dead. */ for (link = REG_NOTES (insn); link; link = XEXP (link, 1)) -diff -rNU3 -x *.info dist/gcc/df.h dist.nbsd/gcc/df.h ---- dist/gcc/df.h Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/df.h Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/df.h dist.nbsd/gcc/df.h +--- dist.orig/gcc/df.h Fri Jan 29 12:14:47 2010 ++++ dist.nbsd/gcc/df.h Wed Feb 19 16:43:54 2014 @@ -51,7 +51,7 @@ #define DF_RD 3 /* Reaching Defs. */ #define DF_CHAIN 4 /* Def-Use and/or Use-Def Chains. */ @@ -13374,9 +13797,9 @@ diff -rNU3 -x *.info dist/gcc/df.h dist.nbsd/gcc/df.h extern void df_simulate_find_defs (rtx, bitmap); extern void df_simulate_defs (rtx, bitmap); extern void df_simulate_uses (rtx, bitmap); -diff -rNU3 -x *.info dist/gcc/doc/aot-compile.1 dist.nbsd/gcc/doc/aot-compile.1 ---- dist/gcc/doc/aot-compile.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/aot-compile.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/aot-compile.1 dist.nbsd/gcc/doc/aot-compile.1 +--- dist.orig/gcc/doc/aot-compile.1 Thu Apr 28 15:20:27 2011 ++++ dist.nbsd/gcc/doc/aot-compile.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13386,9 +13809,9 @@ diff -rNU3 -x *.info dist/gcc/doc/aot-compile.1 dist.nbsd/gcc/doc/aot-compile.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/cpp.1 dist.nbsd/gcc/doc/cpp.1 ---- dist/gcc/doc/cpp.1 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/cpp.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/cpp.1 dist.nbsd/gcc/doc/cpp.1 +--- dist.orig/gcc/doc/cpp.1 Thu Apr 28 14:39:47 2011 ++++ dist.nbsd/gcc/doc/cpp.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13398,9 +13821,19 @@ diff -rNU3 -x *.info dist/gcc/doc/cpp.1 dist.nbsd/gcc/doc/cpp.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/cpp.texi dist.nbsd/gcc/doc/cpp.texi ---- dist/gcc/doc/cpp.texi Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/cpp.texi Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/cpp.info dist.nbsd/gcc/doc/cpp.info +--- dist.orig/gcc/doc/cpp.info Thu Apr 28 15:20:24 2011 ++++ dist.nbsd/gcc/doc/cpp.info Wed Feb 19 16:43:51 2014 +@@ -1,5 +1,5 @@ + This is doc/cpp.info, produced by makeinfo version 4.12 from +-/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/doc/cpp.texi. ++/space/rguenther/gcc-4.5.4/gcc-4.5.4/gcc/doc/cpp.texi. + + Copyright (C) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, +diff -rNU3 dist.orig/gcc/doc/cpp.texi dist.nbsd/gcc/doc/cpp.texi +--- dist.orig/gcc/doc/cpp.texi Fri Feb 25 23:20:40 2011 ++++ dist.nbsd/gcc/doc/cpp.texi Wed Feb 19 16:43:51 2014 @@ -1160,6 +1160,9 @@ @option{-isystem}, the @option{-I} option is ignored. GCC provides an informative message when this occurs if @option{-v} is used. @@ -13419,9 +13852,9 @@ diff -rNU3 -x *.info dist/gcc/doc/cpp.texi dist.nbsd/gcc/doc/cpp.texi [@option{-W}@var{warn}@dots{}] [@option{-M}|@option{-MM}] [@option{-MG}] [@option{-MF} @var{filename}] [@option{-MP}] [@option{-MQ} @var{target}@dots{}] -diff -rNU3 -x *.info dist/gcc/doc/cppenv.texi dist.nbsd/gcc/doc/cppenv.texi ---- dist/gcc/doc/cppenv.texi Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/cppenv.texi Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/cppenv.texi dist.nbsd/gcc/doc/cppenv.texi +--- dist.orig/gcc/doc/cppenv.texi Sun Jan 18 02:10:34 2004 ++++ dist.nbsd/gcc/doc/cppenv.texi Wed Feb 19 16:43:51 2014 @@ -80,4 +80,17 @@ @ifclear cppmanual @xref{Preprocessor Options}. @@ -13440,9 +13873,10 @@ diff -rNU3 -x *.info dist/gcc/doc/cppenv.texi dist.nbsd/gcc/doc/cppenv.texi +@end ifclear + @end vtable -diff -rNU3 -x *.info dist/gcc/doc/cppopts.texi dist.nbsd/gcc/doc/cppopts.texi ---- dist/gcc/doc/cppopts.texi Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/cppopts.texi Wed Nov 7 11:47:25 2012 +Binary files dist.orig/gcc/doc/cppinternals.info and dist.nbsd/gcc/doc/cppinternals.info differ +diff -rNU3 dist.orig/gcc/doc/cppopts.texi dist.nbsd/gcc/doc/cppopts.texi +--- dist.orig/gcc/doc/cppopts.texi Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/doc/cppopts.texi Wed Feb 19 16:43:51 2014 @@ -504,6 +504,16 @@ If @var{dir} begins with @code{=}, then the @code{=} will be replaced by the sysroot prefix; see @option{--sysroot} and @option{-isysroot}. @@ -13473,9 +13907,9 @@ diff -rNU3 -x *.info dist/gcc/doc/cppopts.texi dist.nbsd/gcc/doc/cppopts.texi @item -fdollars-in-identifiers @opindex fdollars-in-identifiers -diff -rNU3 -x *.info dist/gcc/doc/fsf-funding.7 dist.nbsd/gcc/doc/fsf-funding.7 ---- dist/gcc/doc/fsf-funding.7 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/fsf-funding.7 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/fsf-funding.7 dist.nbsd/gcc/doc/fsf-funding.7 +--- dist.orig/gcc/doc/fsf-funding.7 Thu Apr 28 14:39:50 2011 ++++ dist.nbsd/gcc/doc/fsf-funding.7 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13485,9 +13919,9 @@ diff -rNU3 -x *.info dist/gcc/doc/fsf-funding.7 dist.nbsd/gcc/doc/fsf-funding.7 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/g++.1 dist.nbsd/gcc/doc/g++.1 ---- dist/gcc/doc/g++.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/g++.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/g++.1 dist.nbsd/gcc/doc/g++.1 +--- dist.orig/gcc/doc/g++.1 Thu Apr 28 15:20:27 2011 ++++ dist.nbsd/gcc/doc/g++.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13497,9 +13931,9 @@ diff -rNU3 -x *.info dist/gcc/doc/g++.1 dist.nbsd/gcc/doc/g++.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gc-analyze.1 dist.nbsd/gcc/doc/gc-analyze.1 ---- dist/gcc/doc/gc-analyze.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/gc-analyze.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gc-analyze.1 dist.nbsd/gcc/doc/gc-analyze.1 +--- dist.orig/gcc/doc/gc-analyze.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/gc-analyze.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13509,9 +13943,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gc-analyze.1 dist.nbsd/gcc/doc/gc-analyze.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gcc.1 dist.nbsd/gcc/doc/gcc.1 ---- dist/gcc/doc/gcc.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/gcc.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gcc.1 dist.nbsd/gcc/doc/gcc.1 +--- dist.orig/gcc/doc/gcc.1 Thu Apr 28 15:20:27 2011 ++++ dist.nbsd/gcc/doc/gcc.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13521,9 +13955,1036 @@ diff -rNU3 -x *.info dist/gcc/doc/gcc.1 dist.nbsd/gcc/doc/gcc.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gcj-dbtool.1 dist.nbsd/gcc/doc/gcj-dbtool.1 ---- dist/gcc/doc/gcj-dbtool.1 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/gcj-dbtool.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gcc.info dist.nbsd/gcc/doc/gcc.info +--- dist.orig/gcc/doc/gcc.info Thu Apr 28 15:20:24 2011 ++++ dist.nbsd/gcc/doc/gcc.info Wed Feb 19 16:43:51 2014 +@@ -1,5 +1,5 @@ + This is doc/gcc.info, produced by makeinfo version 4.12 from +-/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/doc/gcc.texi. ++/space/rguenther/gcc-4.5.4/gcc-4.5.4/gcc/doc/gcc.texi. + + Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free +@@ -61,7 +61,7 @@ + + This manual documents how to use the GNU compilers, as well as their + features and incompatibilities, and how to report bugs. It corresponds +-to the compilers (GCC) version 4.5.3. The internals of the GNU ++to the compilers (GCC) version 4.5.4. The internals of the GNU + compilers, including how to port them to new targets and some + information about how to write front ends for new languages, are + documented in a separate manual. *Note Introduction: (gccint)Top. +diff -rNU3 dist.orig/gcc/doc/gccinstall.info dist.nbsd/gcc/doc/gccinstall.info +--- dist.orig/gcc/doc/gccinstall.info Thu Apr 28 15:20:24 2011 ++++ dist.nbsd/gcc/doc/gccinstall.info Wed Feb 19 16:43:51 2014 +@@ -1,5 +1,5 @@ + This is doc/gccinstall.info, produced by makeinfo version 4.12 from +-/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/doc/install.texi. ++/space/rguenther/gcc-4.5.4/gcc-4.5.4/gcc/doc/install.texi. + + Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, +@@ -990,7 +990,7 @@ + Division by zero checks use the break instruction. + + `--with-llsc' +- On MIPS targets, make `-mllsc' the default when no `-mno-lsc' ++ On MIPS targets, make `-mllsc' the default when no `-mno-llsc' + option is passed. This is the default for Linux-based targets, as + the kernel will emulate them if the ISA does not provide them. + +@@ -4454,80 +4454,80 @@ + Ref: with-gnu-as29803 + Ref: with-as30701 + Ref: with-gnu-ld32114 +-Node: Building75589 +-Node: Testing90900 +-Node: Final install98680 +-Node: Binaries103910 +-Node: Specific105414 +-Ref: alpha-x-x105920 +-Ref: alpha-dec-osf106409 +-Ref: arc-x-elf108710 +-Ref: arm-x-elf108810 +-Ref: avr109030 +-Ref: bfin109672 +-Ref: cris109914 +-Ref: crx110730 +-Ref: dos111393 +-Ref: x-x-freebsd111716 +-Ref: h8300-hms113529 +-Ref: hppa-hp-hpux113881 +-Ref: hppa-hp-hpux10116252 +-Ref: hppa-hp-hpux11116665 +-Ref: x-x-linux-gnu122324 +-Ref: ix86-x-linux122517 +-Ref: ix86-x-solaris289122830 +-Ref: ix86-x-solaris210123676 +-Ref: ia64-x-linux124906 +-Ref: ia64-x-hpux125676 +-Ref: x-ibm-aix126231 +-Ref: iq2000-x-elf132490 +-Ref: lm32-x-elf132630 +-Ref: lm32-x-uclinux132734 +-Ref: m32c-x-elf132862 +-Ref: m32r-x-elf132964 +-Ref: m6811-elf133066 +-Ref: m6812-elf133216 +-Ref: m68k-x-x133366 +-Ref: m68k-x-uclinux134338 +-Ref: mep-x-elf134701 +-Ref: mips-x-x134811 +-Ref: mips-sgi-irix5137488 +-Ref: mips-sgi-irix6138754 +-Ref: moxie-x-elf142085 +-Ref: powerpc-x-x142205 +-Ref: powerpc-x-darwin142410 +-Ref: powerpc-x-elf142957 +-Ref: powerpc-x-linux-gnu143042 +-Ref: powerpc-x-netbsd143137 +-Ref: powerpc-x-eabisim143225 +-Ref: powerpc-x-eabi143351 +-Ref: powerpcle-x-elf143427 +-Ref: powerpcle-x-eabisim143519 +-Ref: powerpcle-x-eabi143652 +-Ref: rx-x-elf143735 +-Ref: s390-x-linux143934 +-Ref: s390x-x-linux144006 +-Ref: s390x-ibm-tpf144093 +-Ref: x-x-solaris2144224 +-Ref: sparc-sun-solaris2148036 +-Ref: sparc-sun-solaris27150762 +-Ref: sparc-sun-solaris210153320 +-Ref: sparc-x-linux153696 +-Ref: sparc64-x-solaris2153921 +-Ref: sparcv9-x-solaris2154563 +-Ref: x-x-vxworks154650 +-Ref: x86-64-x-x156172 +-Ref: xtensa-x-elf156500 +-Ref: xtensa-x-linux157171 +-Ref: windows157512 +-Ref: x-x-cygwin159469 +-Ref: x-x-interix160022 +-Ref: x-x-mingw32160388 +-Ref: older160614 +-Ref: elf162731 +-Node: Old162989 +-Node: Configurations166126 +-Node: GNU Free Documentation License170108 +-Node: Concept Index192524 ++Node: Building75590 ++Node: Testing90901 ++Node: Final install98681 ++Node: Binaries103911 ++Node: Specific105415 ++Ref: alpha-x-x105921 ++Ref: alpha-dec-osf106410 ++Ref: arc-x-elf108711 ++Ref: arm-x-elf108811 ++Ref: avr109031 ++Ref: bfin109673 ++Ref: cris109915 ++Ref: crx110731 ++Ref: dos111394 ++Ref: x-x-freebsd111717 ++Ref: h8300-hms113530 ++Ref: hppa-hp-hpux113882 ++Ref: hppa-hp-hpux10116253 ++Ref: hppa-hp-hpux11116666 ++Ref: x-x-linux-gnu122325 ++Ref: ix86-x-linux122518 ++Ref: ix86-x-solaris289122831 ++Ref: ix86-x-solaris210123677 ++Ref: ia64-x-linux124907 ++Ref: ia64-x-hpux125677 ++Ref: x-ibm-aix126232 ++Ref: iq2000-x-elf132491 ++Ref: lm32-x-elf132631 ++Ref: lm32-x-uclinux132735 ++Ref: m32c-x-elf132863 ++Ref: m32r-x-elf132965 ++Ref: m6811-elf133067 ++Ref: m6812-elf133217 ++Ref: m68k-x-x133367 ++Ref: m68k-x-uclinux134339 ++Ref: mep-x-elf134702 ++Ref: mips-x-x134812 ++Ref: mips-sgi-irix5137489 ++Ref: mips-sgi-irix6138755 ++Ref: moxie-x-elf142086 ++Ref: powerpc-x-x142206 ++Ref: powerpc-x-darwin142411 ++Ref: powerpc-x-elf142958 ++Ref: powerpc-x-linux-gnu143043 ++Ref: powerpc-x-netbsd143138 ++Ref: powerpc-x-eabisim143226 ++Ref: powerpc-x-eabi143352 ++Ref: powerpcle-x-elf143428 ++Ref: powerpcle-x-eabisim143520 ++Ref: powerpcle-x-eabi143653 ++Ref: rx-x-elf143736 ++Ref: s390-x-linux143935 ++Ref: s390x-x-linux144007 ++Ref: s390x-ibm-tpf144094 ++Ref: x-x-solaris2144225 ++Ref: sparc-sun-solaris2148037 ++Ref: sparc-sun-solaris27150763 ++Ref: sparc-sun-solaris210153321 ++Ref: sparc-x-linux153697 ++Ref: sparc64-x-solaris2153922 ++Ref: sparcv9-x-solaris2154564 ++Ref: x-x-vxworks154651 ++Ref: x86-64-x-x156173 ++Ref: xtensa-x-elf156501 ++Ref: xtensa-x-linux157172 ++Ref: windows157513 ++Ref: x-x-cygwin159470 ++Ref: x-x-interix160023 ++Ref: x-x-mingw32160389 ++Ref: older160615 ++Ref: elf162732 ++Node: Old162990 ++Node: Configurations166127 ++Node: GNU Free Documentation License170109 ++Node: Concept Index192525 +  + End Tag Table +diff -rNU3 dist.orig/gcc/doc/gccint.info dist.nbsd/gcc/doc/gccint.info +--- dist.orig/gcc/doc/gccint.info Thu Apr 28 15:20:24 2011 ++++ dist.nbsd/gcc/doc/gccint.info Wed Feb 19 16:43:51 2014 +@@ -1,5 +1,5 @@ + This is doc/gccint.info, produced by makeinfo version 4.12 from +-/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/doc/gccint.texi. ++/space/rguenther/gcc-4.5.4/gcc-4.5.4/gcc/doc/gccint.texi. + + Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, + 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 Free +@@ -61,7 +61,7 @@ + This manual documents the internals of the GNU compilers, including how + to port them to new targets and some information about how to write + front ends for new languages. It corresponds to the compilers +-(GCC) version 4.5.3. The use of the GNU compilers is documented in a ++(GCC) version 4.5.4. The use of the GNU compilers is documented in a + separate manual. *Note Introduction: (gcc)Top. + + This manual is mainly a reference manual rather than a tutorial. It +@@ -21834,9 +21834,10 @@ + beginning of each string. The instruction is not allowed to + prefetch more than one byte at a time since either string may end + in the first byte and reading past that may access an invalid page +- or segment and cause a fault. The effect of the instruction is to +- store a value in operand 0 whose sign indicates the result of the +- comparison. ++ or segment and cause a fault. The comparison terminates early if ++ the fetched bytes are different or if they are equal to zero. The ++ effect of the instruction is to store a value in operand 0 whose ++ sign indicates the result of the comparison. + + `cmpstrM' + String compare instruction, without known maximum length. Operand +@@ -21854,17 +21855,20 @@ + instruction is not allowed to prefetch more than one byte at a + time since either string may end in the first byte and reading + past that may access an invalid page or segment and cause a fault. +- The effect of the instruction is to store a value in operand 0 +- whose sign indicates the result of the comparison. ++ The comparison will terminate when the fetched bytes are different ++ or if they are equal to zero. The effect of the instruction is to ++ store a value in operand 0 whose sign indicates the result of the ++ comparison. + + `cmpmemM' + Block compare instruction, with five operands like the operands of + `cmpstrM'. The two memory blocks specified are compared byte by + byte in lexicographic order starting at the beginning of each + block. Unlike `cmpstrM' the instruction can prefetch any bytes in +- the two memory blocks. The effect of the instruction is to store +- a value in operand 0 whose sign indicates the result of the +- comparison. ++ the two memory blocks. Also unlike `cmpstrM' the comparison will ++ not stop if both bytes are zero. The effect of the instruction is ++ to store a value in operand 0 whose sign indicates the result of ++ the comparison. + + `strlenM' + Compute the length of a string, with three operands. Operand 0 is +@@ -42401,7 +42405,7 @@ + (line 6) + * ADDITIONAL_REGISTER_NAMES: Instruction Output. (line 15) + * addM3 instruction pattern: Standard Names. (line 216) +-* addMODEcc instruction pattern: Standard Names. (line 886) ++* addMODEcc instruction pattern: Standard Names. (line 890) + * addr_diff_vec: Side Effects. (line 302) + * addr_diff_vec, length of: Insn Lengths. (line 26) + * ADDR_EXPR: Storage References. (line 6) +@@ -42418,7 +42422,7 @@ + * alias: Alias analysis. (line 6) + * ALL_COP_ADDITIONAL_REGISTER_NAMES: MIPS Coprocessors. (line 32) + * ALL_REGS: Register Classes. (line 17) +-* allocate_stack instruction pattern: Standard Names. (line 1186) ++* allocate_stack instruction pattern: Standard Names. (line 1190) + * alternate entry points: Insns. (line 140) + * anchored addresses: Anchored Addresses. (line 6) + * and: Arithmetic. (line 153) +@@ -42603,7 +42607,7 @@ + * BLOCK_FOR_INSN, bb_for_stmt: Maintaining the CFG. + (line 40) + * BLOCK_REG_PADDING: Register Arguments. (line 228) +-* blockage instruction pattern: Standard Names. (line 1376) ++* blockage instruction pattern: Standard Names. (line 1380) + * Blocks: Blocks. (line 6) + * bool: Misc. (line 876) + * BOOL_TYPE_SIZE: Type Layout. (line 44) +@@ -42650,10 +42654,10 @@ + (line 21) + * build6: Macros and Functions. + (line 22) +-* builtin_longjmp instruction pattern: Standard Names. (line 1279) ++* builtin_longjmp instruction pattern: Standard Names. (line 1283) + * builtin_setjmp_receiver instruction pattern: Standard Names. +- (line 1269) +-* builtin_setjmp_setup instruction pattern: Standard Names. (line 1258) ++ (line 1273) ++* builtin_setjmp_setup instruction pattern: Standard Names. (line 1262) + * byte_mode: Machine Modes. (line 336) + * BYTES_BIG_ENDIAN: Storage Layout. (line 24) + * BYTES_BIG_ENDIAN, effect on subreg: Regs and Memory. (line 221) +@@ -42664,7 +42668,7 @@ + * c_register_pragma_with_expansion: Misc. (line 406) + * call <1>: Side Effects. (line 86) + * call: Flags. (line 239) +-* call instruction pattern: Standard Names. (line 933) ++* call instruction pattern: Standard Names. (line 937) + * call usage: Calls. (line 10) + * call, in call_insn: Flags. (line 33) + * call, in mem: Flags. (line 99) +@@ -42683,13 +42687,13 @@ + * call_insn and /u or /i: Flags. (line 29) + * call_insn and /v: Flags. (line 44) + * CALL_INSN_FUNCTION_USAGE: Insns. (line 101) +-* call_pop instruction pattern: Standard Names. (line 961) ++* call_pop instruction pattern: Standard Names. (line 965) + * CALL_POPS_ARGS: Stack Arguments. (line 130) + * CALL_REALLY_USED_REGISTERS: Register Basics. (line 46) + * CALL_USED_REGISTERS: Register Basics. (line 35) + * call_used_regs: Register Basics. (line 59) +-* call_value instruction pattern: Standard Names. (line 953) +-* call_value_pop instruction pattern: Standard Names. (line 961) ++* call_value instruction pattern: Standard Names. (line 957) ++* call_value_pop instruction pattern: Standard Names. (line 965) + * CALLER_SAVE_PROFITABLE: Caller Saves. (line 11) + * calling conventions: Stack and Calling. (line 6) + * calling functions in RTL: Calls. (line 6) +@@ -42705,13 +42709,13 @@ + * CANONICALIZE_COMPARISON: MODE_CC Condition Codes. + (line 55) + * canonicalize_funcptr_for_compare instruction pattern: Standard Names. +- (line 1117) ++ (line 1121) + * CASE_USE_BIT_TESTS: Misc. (line 54) + * CASE_VECTOR_MODE: Misc. (line 27) + * CASE_VECTOR_PC_RELATIVE: Misc. (line 40) + * CASE_VECTOR_SHORTEN_MODE: Misc. (line 31) +-* casesi instruction pattern: Standard Names. (line 1041) +-* cbranchMODE4 instruction pattern: Standard Names. (line 922) ++* casesi instruction pattern: Standard Names. (line 1045) ++* cbranchMODE4 instruction pattern: Standard Names. (line 926) + * cc0 <1>: CC0 Condition Codes. + (line 6) + * cc0: Regs and Memory. (line 307) +@@ -42745,7 +42749,7 @@ + * change_address: Standard Names. (line 47) + * char: GIMPLE_ASM. (line 53) + * CHAR_TYPE_SIZE: Type Layout. (line 39) +-* check_stack instruction pattern: Standard Names. (line 1204) ++* check_stack instruction pattern: Standard Names. (line 1208) + * CHImode: Machine Modes. (line 202) + * class definitions, register: Register Classes. (line 6) + * class preference constraints: Class Preferences. (line 6) +@@ -42764,15 +42768,15 @@ + * CLEANUP_STMT: Statements for C++. (line 6) + * Cleanups: Cleanups. (line 6) + * CLEAR_BY_PIECES_P: Costs. (line 136) +-* clear_cache instruction pattern: Standard Names. (line 1520) ++* clear_cache instruction pattern: Standard Names. (line 1524) + * CLEAR_INSN_CACHE: Trampolines. (line 99) + * CLEAR_RATIO: Costs. (line 124) + * clobber: Side Effects. (line 100) + * clz: Arithmetic. (line 212) + * CLZ_DEFINED_VALUE_AT_ZERO: Misc. (line 319) + * clzM2 instruction pattern: Standard Names. (line 621) +-* cmpmemM instruction pattern: Standard Names. (line 751) +-* cmpstrM instruction pattern: Standard Names. (line 732) ++* cmpmemM instruction pattern: Standard Names. (line 754) ++* cmpstrM instruction pattern: Standard Names. (line 733) + * cmpstrnM instruction pattern: Standard Names. (line 720) + * code generation RTL sequences: Expander Definitions. + (line 6) +@@ -42926,9 +42930,9 @@ + * CRTSTUFF_T_CFLAGS: Target Fragment. (line 35) + * CRTSTUFF_T_CFLAGS_S: Target Fragment. (line 39) + * CSImode: Machine Modes. (line 202) +-* cstoreMODE4 instruction pattern: Standard Names. (line 893) ++* cstoreMODE4 instruction pattern: Standard Names. (line 897) + * CTImode: Machine Modes. (line 202) +-* ctrapMM4 instruction pattern: Standard Names. (line 1345) ++* ctrapMM4 instruction pattern: Standard Names. (line 1349) + * ctz: Arithmetic. (line 220) + * CTZ_DEFINED_VALUE_AT_ZERO: Misc. (line 320) + * ctzM2 instruction pattern: Standard Names. (line 630) +@@ -43052,7 +43056,7 @@ + * declarations, RTL: RTL Declarations. (line 6) + * DECLARE_LIBRARY_RENAMES: Library Calls. (line 9) + * decrement_and_branch_until_zero instruction pattern: Standard Names. +- (line 1079) ++ (line 1083) + * def_optype_d: Manipulating GIMPLE statements. + (line 94) + * default: GTY Options. (line 81) +@@ -43140,8 +43144,8 @@ + * DO_COND: Statements for C++. (line 6) + * DO_STMT: Statements for C++. (line 6) + * DOLLARS_IN_IDENTIFIERS: Misc. (line 491) +-* doloop_begin instruction pattern: Standard Names. (line 1110) +-* doloop_end instruction pattern: Standard Names. (line 1089) ++* doloop_begin instruction pattern: Standard Names. (line 1114) ++* doloop_end instruction pattern: Standard Names. (line 1093) + * DONE: Expander Definitions. + (line 74) + * DONT_USE_BUILTIN_SETJMP: Exception Region Output. +@@ -43182,7 +43186,7 @@ + (line 20) + * EH_FRAME_SECTION_NAME: Exception Region Output. + (line 10) +-* eh_return instruction pattern: Standard Names. (line 1285) ++* eh_return instruction pattern: Standard Names. (line 1289) + * EH_RETURN_DATA_REGNO: Exception Handling. (line 7) + * EH_RETURN_HANDLER_RTX: Exception Handling. (line 39) + * EH_RETURN_STACKADJ_RTX: Exception Handling. (line 22) +@@ -43217,7 +43221,7 @@ + * enum reg_class: Register Classes. (line 65) + * ENUMERAL_TYPE: Types. (line 6) + * epilogue: Function Entry. (line 6) +-* epilogue instruction pattern: Standard Names. (line 1317) ++* epilogue instruction pattern: Standard Names. (line 1321) + * EPILOGUE_USES: Function Entry. (line 152) + * eq: Comparisons. (line 52) + * eq and attributes: Expressions. (line 64) +@@ -43231,7 +43235,7 @@ + * examining SSA_NAMEs: SSA. (line 218) + * exception handling <1>: Exception Handling. (line 6) + * exception handling: Edges. (line 96) +-* exception_receiver instruction pattern: Standard Names. (line 1249) ++* exception_receiver instruction pattern: Standard Names. (line 1253) + * exclamation point: Multi-Alternative. (line 47) + * exclusion_set: Processor pipeline description. + (line 220) +@@ -43251,15 +43255,15 @@ + * EXPR_STMT_EXPR: Statements for C++. (line 6) + * expression: Expression trees. (line 6) + * expression codes: RTL Objects. (line 47) +-* extendMN2 instruction pattern: Standard Names. (line 808) ++* extendMN2 instruction pattern: Standard Names. (line 812) + * extensible constraints: Simple Constraints. (line 163) + * EXTRA_ADDRESS_CONSTRAINT: Old Constraints. (line 123) + * EXTRA_CONSTRAINT: Old Constraints. (line 74) + * EXTRA_CONSTRAINT_STR: Old Constraints. (line 95) + * EXTRA_MEMORY_CONSTRAINT: Old Constraints. (line 100) + * EXTRA_SPECS: Driver. (line 245) +-* extv instruction pattern: Standard Names. (line 844) +-* extzv instruction pattern: Standard Names. (line 859) ++* extv instruction pattern: Standard Names. (line 848) ++* extzv instruction pattern: Standard Names. (line 863) + * F in constraint: Simple Constraints. (line 84) + * FAIL: Expander Definitions. + (line 80) +@@ -43295,7 +43299,7 @@ + * fix: Conversions. (line 66) + * FIX_TRUNC_EXPR: Unary and Binary Expressions. + (line 6) +-* fix_truncMN2 instruction pattern: Standard Names. (line 795) ++* fix_truncMN2 instruction pattern: Standard Names. (line 799) + * fixed register: Register Basics. (line 15) + * fixed-point fractional library: Fixed-point fractional library routines. + (line 6) +@@ -43306,10 +43310,10 @@ + * FIXED_POINT_TYPE: Types. (line 6) + * FIXED_REGISTERS: Register Basics. (line 15) + * fixed_regs: Register Basics. (line 59) +-* fixMN2 instruction pattern: Standard Names. (line 775) ++* fixMN2 instruction pattern: Standard Names. (line 779) + * FIXUNS_TRUNC_LIKE_FIX_TRUNC: Misc. (line 100) +-* fixuns_truncMN2 instruction pattern: Standard Names. (line 799) +-* fixunsMN2 instruction pattern: Standard Names. (line 784) ++* fixuns_truncMN2 instruction pattern: Standard Names. (line 803) ++* fixunsMN2 instruction pattern: Standard Names. (line 788) + * flags in RTL expression: Flags. (line 6) + * float: Conversions. (line 58) + * FLOAT_EXPR: Unary and Binary Expressions. +@@ -43326,8 +43330,8 @@ + * Floating Point Emulation: Target Fragment. (line 15) + * floating point emulation library, US Software GOFAST: Library Calls. + (line 44) +-* floatMN2 instruction pattern: Standard Names. (line 767) +-* floatunsMN2 instruction pattern: Standard Names. (line 771) ++* floatMN2 instruction pattern: Standard Names. (line 771) ++* floatunsMN2 instruction pattern: Standard Names. (line 775) + * FLOOR_DIV_EXPR: Unary and Binary Expressions. + (line 6) + * FLOOR_MOD_EXPR: Unary and Binary Expressions. +@@ -43347,8 +43351,8 @@ + * FRACT_TYPE_SIZE: Type Layout. (line 68) + * fractional types: Fixed-point fractional library routines. + (line 6) +-* fractMN2 instruction pattern: Standard Names. (line 817) +-* fractunsMN2 instruction pattern: Standard Names. (line 832) ++* fractMN2 instruction pattern: Standard Names. (line 821) ++* fractunsMN2 instruction pattern: Standard Names. (line 836) + * frame layout: Frame Layout. (line 6) + * FRAME_ADDR_RTX: Frame Layout. (line 116) + * FRAME_GROWS_DOWNWARD: Frame Layout. (line 31) +@@ -43368,7 +43372,7 @@ + * frame_related, in symbol_ref: Flags. (line 183) + * frequency, count, BB_FREQ_BASE: Profile information. + (line 30) +-* ftruncM2 instruction pattern: Standard Names. (line 790) ++* ftruncM2 instruction pattern: Standard Names. (line 794) + * function <1>: Functions for C++. (line 6) + * function: Functions. (line 6) + * function call conventions: Interface. (line 6) +@@ -43950,7 +43954,7 @@ + * INCOMING_RETURN_ADDR_RTX: Frame Layout. (line 139) + * INCOMING_STACK_BOUNDARY: Storage Layout. (line 166) + * INDEX_REG_CLASS: Register Classes. (line 134) +-* indirect_jump instruction pattern: Standard Names. (line 1037) ++* indirect_jump instruction pattern: Standard Names. (line 1041) + * indirect_operand: Machine-Independent Predicates. + (line 71) + * INDIRECT_REF: Storage References. (line 6) +@@ -44005,7 +44009,7 @@ + (line 6) + * instruction patterns: Patterns. (line 6) + * instruction splitting: Insn Splitting. (line 6) +-* insv instruction pattern: Standard Names. (line 862) ++* insv instruction pattern: Standard Names. (line 866) + * int: Manipulating GIMPLE statements. + (line 66) + * INT16_TYPE: Type Layout. (line 237) +@@ -44048,7 +44052,7 @@ + * IV analysis on GIMPLE: Scalar evolutions. (line 6) + * IV analysis on RTL: loop-iv. (line 6) + * jump: Flags. (line 314) +-* jump instruction pattern: Standard Names. (line 928) ++* jump instruction pattern: Standard Names. (line 932) + * jump instruction patterns: Jump Patterns. (line 6) + * jump instructions and set: Side Effects. (line 56) + * jump, in call_insn: Flags. (line 179) +@@ -44101,7 +44105,7 @@ + * LE_EXPR: Unary and Binary Expressions. + (line 6) + * leaf functions: Leaf Functions. (line 6) +-* leaf_function_p: Standard Names. (line 999) ++* leaf_function_p: Standard Names. (line 1003) + * LEAF_REG_REMAP: Leaf Functions. (line 39) + * LEAF_REGISTERS: Leaf Functions. (line 25) + * left rotate: Arithmetic. (line 190) +@@ -44277,7 +44281,7 @@ + * memory model: Memory model. (line 6) + * memory reference, nonoffsettable: Simple Constraints. (line 246) + * memory references in constraints: Simple Constraints. (line 17) +-* memory_barrier instruction pattern: Standard Names. (line 1381) ++* memory_barrier instruction pattern: Standard Names. (line 1385) + * MEMORY_MOVE_COST: Costs. (line 29) + * memory_operand: Machine-Independent Predicates. + (line 58) +@@ -44337,7 +44341,7 @@ + * movM instruction pattern: Standard Names. (line 11) + * movmemM instruction pattern: Standard Names. (line 654) + * movmisalignM instruction pattern: Standard Names. (line 126) +-* movMODEcc instruction pattern: Standard Names. (line 873) ++* movMODEcc instruction pattern: Standard Names. (line 877) + * movstr instruction pattern: Standard Names. (line 689) + * movstrictM instruction pattern: Standard Names. (line 120) + * msubMN4 instruction pattern: Standard Names. (line 387) +@@ -44413,13 +44417,13 @@ + * nonimmediate_operand: Machine-Independent Predicates. + (line 101) + * nonlocal goto handler: Edges. (line 171) +-* nonlocal_goto instruction pattern: Standard Names. (line 1221) ++* nonlocal_goto instruction pattern: Standard Names. (line 1225) + * nonlocal_goto_receiver instruction pattern: Standard Names. +- (line 1238) ++ (line 1242) + * nonmemory_operand: Machine-Independent Predicates. + (line 97) + * nonoffsettable memory reference: Simple Constraints. (line 246) +-* nop instruction pattern: Standard Names. (line 1032) ++* nop instruction pattern: Standard Names. (line 1036) + * NOP_EXPR: Unary and Binary Expressions. + (line 6) + * normal predicates: Predicates. (line 31) +@@ -44614,7 +44618,7 @@ + * PREFERRED_STACK_BOUNDARY: Storage Layout. (line 159) + * prefetch: Side Effects. (line 312) + * prefetch and /v: Flags. (line 232) +-* prefetch instruction pattern: Standard Names. (line 1360) ++* prefetch instruction pattern: Standard Names. (line 1364) + * PREFETCH_SCHEDULE_BARRIER_P: Flags. (line 232) + * PREINCREMENT_EXPR: Unary and Binary Expressions. + (line 6) +@@ -44627,7 +44631,7 @@ + * PRINT_OPERAND: Instruction Output. (line 81) + * PRINT_OPERAND_ADDRESS: Instruction Output. (line 109) + * PRINT_OPERAND_PUNCT_VALID_P: Instruction Output. (line 102) +-* probe_stack instruction pattern: Standard Names. (line 1213) ++* probe_stack instruction pattern: Standard Names. (line 1217) + * processor functional units: Processor pipeline description. + (line 6) + * processor pipeline description: Processor pipeline description. +@@ -44642,7 +44646,7 @@ + * profiling, code generation: Profiling. (line 6) + * program counter: Regs and Memory. (line 362) + * prologue: Function Entry. (line 6) +-* prologue instruction pattern: Standard Names. (line 1304) ++* prologue instruction pattern: Standard Names. (line 1308) + * PROMOTE_MODE: Storage Layout. (line 100) + * pseudo registers: Regs and Memory. (line 9) + * PSImode: Machine Modes. (line 32) +@@ -44804,7 +44808,7 @@ + (line 6) + * relative costs: Costs. (line 6) + * RELATIVE_PREFIX_NOT_LINKDIR: Driver. (line 325) +-* reload_completed: Standard Names. (line 999) ++* reload_completed: Standard Names. (line 1003) + * reload_in instruction pattern: Standard Names. (line 99) + * reload_in_progress: Standard Names. (line 57) + * reload_out instruction pattern: Standard Names. (line 99) +@@ -44817,14 +44821,14 @@ + (line 6) + * rest_of_decl_compilation: Parsing pass. (line 52) + * rest_of_type_compilation: Parsing pass. (line 52) +-* restore_stack_block instruction pattern: Standard Names. (line 1133) ++* restore_stack_block instruction pattern: Standard Names. (line 1137) + * restore_stack_function instruction pattern: Standard Names. +- (line 1133) ++ (line 1137) + * restore_stack_nonlocal instruction pattern: Standard Names. +- (line 1133) ++ (line 1137) + * RESULT_DECL: Declarations. (line 6) + * return: Side Effects. (line 72) +-* return instruction pattern: Standard Names. (line 986) ++* return instruction pattern: Standard Names. (line 990) + * return values in registers: Scalar Return. (line 6) + * RETURN_ADDR_IN_PREVIOUS_FRAME: Frame Layout. (line 135) + * RETURN_ADDR_OFFSET: Exception Handling. (line 60) +@@ -44912,15 +44916,15 @@ + * same_type_p: Types. (line 88) + * SAmode: Machine Modes. (line 148) + * sat_fract: Conversions. (line 90) +-* satfractMN2 instruction pattern: Standard Names. (line 825) +-* satfractunsMN2 instruction pattern: Standard Names. (line 838) ++* satfractMN2 instruction pattern: Standard Names. (line 829) ++* satfractunsMN2 instruction pattern: Standard Names. (line 842) + * satisfies_constraint_: C Constraint Interface. + (line 47) + * SAVE_EXPR: Unary and Binary Expressions. + (line 6) +-* save_stack_block instruction pattern: Standard Names. (line 1133) +-* save_stack_function instruction pattern: Standard Names. (line 1133) +-* save_stack_nonlocal instruction pattern: Standard Names. (line 1133) ++* save_stack_block instruction pattern: Standard Names. (line 1137) ++* save_stack_function instruction pattern: Standard Names. (line 1137) ++* save_stack_nonlocal instruction pattern: Standard Names. (line 1137) + * SBSS_SECTION_ASM_OP: Sections. (line 77) + * Scalar evolutions: Scalar evolutions. (line 6) + * scalars, returned as values: Scalar Return. (line 6) +@@ -44977,7 +44981,7 @@ + * SHORT_FRACT_TYPE_SIZE: Type Layout. (line 63) + * SHORT_IMMEDIATES_SIGN_EXTEND: Misc. (line 96) + * SHORT_TYPE_SIZE: Type Layout. (line 16) +-* sibcall_epilogue instruction pattern: Standard Names. (line 1330) ++* sibcall_epilogue instruction pattern: Standard Names. (line 1334) + * sibling call: Edges. (line 122) + * SIBLING_CALL_P: Flags. (line 179) + * SIG_ATOMIC_TYPE: Type Layout. (line 235) +@@ -45062,8 +45066,8 @@ + * STACK_POINTER_REGNUM and virtual registers: Regs and Memory. + (line 83) + * stack_pointer_rtx: Frame Registers. (line 90) +-* stack_protect_set instruction pattern: Standard Names. (line 1501) +-* stack_protect_test instruction pattern: Standard Names. (line 1511) ++* stack_protect_set instruction pattern: Standard Names. (line 1505) ++* stack_protect_test instruction pattern: Standard Names. (line 1515) + * STACK_PUSH_CODE: Frame Layout. (line 17) + * STACK_REG_COVER_CLASS: Stack Registers. (line 23) + * STACK_REGS: Stack Registers. (line 20) +@@ -45109,7 +45113,7 @@ + * STRING_CST: Constant expressions. + (line 6) + * STRING_POOL_ADDRESS_P: Flags. (line 183) +-* strlenM instruction pattern: Standard Names. (line 760) ++* strlenM instruction pattern: Standard Names. (line 764) + * structure value address: Aggregate Return. (line 6) + * STRUCTURE_SIZE_BOUNDARY: Storage Layout. (line 302) + * structures, returning: Interface. (line 10) +@@ -45168,35 +45172,35 @@ + * SYMBOL_REF_USED: Flags. (line 215) + * SYMBOL_REF_WEAK: Flags. (line 220) + * symbolic label: Sharing. (line 20) +-* sync_addMODE instruction pattern: Standard Names. (line 1417) +-* sync_andMODE instruction pattern: Standard Names. (line 1417) ++* sync_addMODE instruction pattern: Standard Names. (line 1421) ++* sync_andMODE instruction pattern: Standard Names. (line 1421) + * sync_compare_and_swapMODE instruction pattern: Standard Names. +- (line 1387) +-* sync_iorMODE instruction pattern: Standard Names. (line 1417) +-* sync_lock_releaseMODE instruction pattern: Standard Names. (line 1482) ++ (line 1391) ++* sync_iorMODE instruction pattern: Standard Names. (line 1421) ++* sync_lock_releaseMODE instruction pattern: Standard Names. (line 1486) + * sync_lock_test_and_setMODE instruction pattern: Standard Names. +- (line 1456) +-* sync_nandMODE instruction pattern: Standard Names. (line 1417) +-* sync_new_addMODE instruction pattern: Standard Names. (line 1449) +-* sync_new_andMODE instruction pattern: Standard Names. (line 1449) +-* sync_new_iorMODE instruction pattern: Standard Names. (line 1449) +-* sync_new_nandMODE instruction pattern: Standard Names. (line 1449) +-* sync_new_subMODE instruction pattern: Standard Names. (line 1449) +-* sync_new_xorMODE instruction pattern: Standard Names. (line 1449) +-* sync_old_addMODE instruction pattern: Standard Names. (line 1432) +-* sync_old_andMODE instruction pattern: Standard Names. (line 1432) +-* sync_old_iorMODE instruction pattern: Standard Names. (line 1432) +-* sync_old_nandMODE instruction pattern: Standard Names. (line 1432) +-* sync_old_subMODE instruction pattern: Standard Names. (line 1432) +-* sync_old_xorMODE instruction pattern: Standard Names. (line 1432) +-* sync_subMODE instruction pattern: Standard Names. (line 1417) +-* sync_xorMODE instruction pattern: Standard Names. (line 1417) ++ (line 1460) ++* sync_nandMODE instruction pattern: Standard Names. (line 1421) ++* sync_new_addMODE instruction pattern: Standard Names. (line 1453) ++* sync_new_andMODE instruction pattern: Standard Names. (line 1453) ++* sync_new_iorMODE instruction pattern: Standard Names. (line 1453) ++* sync_new_nandMODE instruction pattern: Standard Names. (line 1453) ++* sync_new_subMODE instruction pattern: Standard Names. (line 1453) ++* sync_new_xorMODE instruction pattern: Standard Names. (line 1453) ++* sync_old_addMODE instruction pattern: Standard Names. (line 1436) ++* sync_old_andMODE instruction pattern: Standard Names. (line 1436) ++* sync_old_iorMODE instruction pattern: Standard Names. (line 1436) ++* sync_old_nandMODE instruction pattern: Standard Names. (line 1436) ++* sync_old_subMODE instruction pattern: Standard Names. (line 1436) ++* sync_old_xorMODE instruction pattern: Standard Names. (line 1436) ++* sync_subMODE instruction pattern: Standard Names. (line 1421) ++* sync_xorMODE instruction pattern: Standard Names. (line 1421) + * SYSROOT_HEADERS_SUFFIX_SPEC: Driver. (line 239) + * SYSROOT_SUFFIX_SPEC: Driver. (line 234) + * SYSTEM_INCLUDE_DIR: Driver. (line 408) + * t-TARGET: Target Fragment. (line 6) + * table jump: Basic Blocks. (line 57) +-* tablejump instruction pattern: Standard Names. (line 1061) ++* tablejump instruction pattern: Standard Names. (line 1065) + * tag: GTY Options. (line 81) + * tagging insns: Tagging Insns. (line 6) + * tail calls: Tail Calls. (line 6) +@@ -45571,7 +45575,7 @@ + * TRAMPOLINE_SIZE: Trampolines. (line 45) + * trampolines for nested functions: Trampolines. (line 6) + * TRANSFER_FROM_TRAMPOLINE: Trampolines. (line 123) +-* trap instruction pattern: Standard Names. (line 1340) ++* trap instruction pattern: Standard Names. (line 1344) + * tree <1>: Macros and Functions. + (line 6) + * tree: Tree overview. (line 6) +@@ -45628,7 +45632,7 @@ + * TRUNC_MOD_EXPR: Unary and Binary Expressions. + (line 6) + * truncate: Conversions. (line 38) +-* truncMN2 instruction pattern: Standard Names. (line 803) ++* truncMN2 instruction pattern: Standard Names. (line 807) + * TRUTH_AND_EXPR: Unary and Binary Expressions. + (line 6) + * TRUTH_ANDIF_EXPR: Unary and Binary Expressions. +@@ -45782,8 +45786,8 @@ + * unsigned_sat_fract: Conversions. (line 103) + * unspec: Side Effects. (line 287) + * unspec_volatile: Side Effects. (line 287) +-* untyped_call instruction pattern: Standard Names. (line 971) +-* untyped_return instruction pattern: Standard Names. (line 1021) ++* untyped_call instruction pattern: Standard Names. (line 975) ++* untyped_return instruction pattern: Standard Names. (line 1025) + * UPDATE_PATH_HOST_CANONICALIZE (PATH): Filesystem. (line 59) + * update_ssa: SSA. (line 76) + * update_stmt <1>: SSA Operands. (line 6) +@@ -45972,7 +45976,7 @@ + * XVECLEN: Accessors. (line 44) + * XWINT: Accessors. (line 6) + * zero_extend: Conversions. (line 28) +-* zero_extendMN2 instruction pattern: Standard Names. (line 813) ++* zero_extendMN2 instruction pattern: Standard Names. (line 817) + * zero_extract: Bit-Fields. (line 30) + * zero_extract, canonicalization of: Insn Canonicalizations. + (line 88) +@@ -46192,131 +46196,131 @@ + Node: C Constraint Interface881437 + Node: Standard Names885078 + Ref: shift patterns904006 +-Ref: prologue instruction pattern943725 +-Ref: epilogue instruction pattern944218 +-Node: Pattern Ordering953934 +-Node: Dependent Patterns955170 +-Node: Jump Patterns956790 +-Ref: Jump Patterns-Footnote-1958934 +-Node: Looping Patterns958980 +-Node: Insn Canonicalizations963708 +-Node: Expander Definitions967659 +-Node: Insn Splitting975777 +-Node: Including Patterns985379 +-Node: Peephole Definitions987159 +-Node: define_peephole988412 +-Node: define_peephole2994743 +-Node: Insn Attributes997810 +-Node: Defining Attributes998916 +-Node: Expressions1001436 +-Node: Tagging Insns1008038 +-Node: Attr Example1012391 +-Node: Insn Lengths1014765 +-Node: Constant Attributes1017824 +-Node: Delay Slots1018993 +-Node: Processor pipeline description1022217 +-Ref: Processor pipeline description-Footnote-11039835 +-Node: Conditional Execution1040157 +-Node: Constant Definitions1043010 +-Node: Iterators1044605 +-Node: Mode Iterators1045052 +-Node: Defining Mode Iterators1046030 +-Node: Substitutions1047524 +-Node: Examples1049765 +-Node: Code Iterators1051213 +-Node: Target Macros1053470 +-Node: Target Structure1056558 +-Node: Driver1057827 +-Node: Run-time Target1081508 +-Node: Per-Function Data1089380 +-Node: Storage Layout1092143 +-Node: Type Layout1117729 +-Node: Registers1132229 +-Node: Register Basics1133203 +-Node: Allocation Order1138770 +-Node: Values in Registers1140791 +-Node: Leaf Functions1148280 +-Node: Stack Registers1151138 +-Node: Register Classes1152410 +-Node: Old Constraints1180035 +-Node: Stack and Calling1187187 +-Node: Frame Layout1187721 +-Node: Exception Handling1198601 +-Node: Stack Checking1204979 +-Node: Frame Registers1209792 +-Node: Elimination1216685 +-Node: Stack Arguments1220914 +-Node: Register Arguments1227723 +-Node: Scalar Return1243201 +-Node: Aggregate Return1249293 +-Node: Caller Saves1252974 +-Node: Function Entry1254152 +-Node: Profiling1266780 +-Node: Tail Calls1268479 +-Node: Stack Smashing Protection1269845 +-Node: Varargs1270957 +-Node: Trampolines1278952 +-Node: Library Calls1285599 +-Node: Addressing Modes1290449 +-Node: Anchored Addresses1307858 +-Node: Condition Code1310507 +-Node: CC0 Condition Codes1312636 +-Node: MODE_CC Condition Codes1315882 +-Node: Cond. Exec. Macros1322111 +-Node: Costs1323090 +-Node: Scheduling1336551 +-Node: Sections1353818 +-Node: PIC1368886 +-Node: Assembler Format1370890 +-Node: File Framework1372028 +-Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1377503 +-Node: Data Output1380768 +-Node: Uninitialized Data1388527 +-Node: Label Output1394091 +-Node: Initialization1415781 +-Node: Macros for Initialization1421743 +-Node: Instruction Output1428195 +-Node: Dispatch Tables1437866 +-Node: Exception Region Output1441681 +-Node: Alignment Output1447423 +-Node: Debugging Info1451586 +-Node: All Debuggers1452256 +-Node: DBX Options1455111 +-Node: DBX Hooks1460560 +-Node: File Names and DBX1462486 +-Node: SDB and DWARF1464598 +-Node: VMS Debug1468899 +-Node: Floating Point1469469 +-Node: Mode Switching1474292 +-Node: Target Attributes1478218 +-Node: Emulated TLS1485054 +-Node: MIPS Coprocessors1488444 +-Node: PCH Target1490013 +-Node: C++ ABI1491555 +-Node: Named Address Spaces1496204 +-Node: Misc1501306 +-Ref: TARGET_SHIFT_TRUNCATION_MASK1508734 +-Node: Host Config1553245 +-Node: Host Common1554313 +-Node: Filesystem1556692 +-Node: Host Misc1560807 +-Node: Fragments1563256 +-Node: Target Fragment1564451 +-Node: Host Fragment1570341 +-Node: Collect21570581 +-Node: Header Dirs1573217 +-Node: Type Information1574640 +-Node: GTY Options1576931 +-Node: GGC Roots1587606 +-Node: Files1588326 +-Node: Invoking the garbage collector1591072 +-Node: Plugins1592125 +-Node: Funding1607947 +-Node: GNU Project1610434 +-Node: Copying1611083 +-Node: GNU Free Documentation License1648614 +-Node: Contributors1671023 +-Node: Option Index1707710 +-Node: Concept Index1708295 ++Ref: prologue instruction pattern944017 ++Ref: epilogue instruction pattern944510 ++Node: Pattern Ordering954226 ++Node: Dependent Patterns955462 ++Node: Jump Patterns957082 ++Ref: Jump Patterns-Footnote-1959226 ++Node: Looping Patterns959272 ++Node: Insn Canonicalizations964000 ++Node: Expander Definitions967951 ++Node: Insn Splitting976069 ++Node: Including Patterns985671 ++Node: Peephole Definitions987451 ++Node: define_peephole988704 ++Node: define_peephole2995035 ++Node: Insn Attributes998102 ++Node: Defining Attributes999208 ++Node: Expressions1001728 ++Node: Tagging Insns1008330 ++Node: Attr Example1012683 ++Node: Insn Lengths1015057 ++Node: Constant Attributes1018116 ++Node: Delay Slots1019285 ++Node: Processor pipeline description1022509 ++Ref: Processor pipeline description-Footnote-11040127 ++Node: Conditional Execution1040449 ++Node: Constant Definitions1043302 ++Node: Iterators1044897 ++Node: Mode Iterators1045344 ++Node: Defining Mode Iterators1046322 ++Node: Substitutions1047816 ++Node: Examples1050057 ++Node: Code Iterators1051505 ++Node: Target Macros1053762 ++Node: Target Structure1056850 ++Node: Driver1058119 ++Node: Run-time Target1081800 ++Node: Per-Function Data1089672 ++Node: Storage Layout1092435 ++Node: Type Layout1118021 ++Node: Registers1132521 ++Node: Register Basics1133495 ++Node: Allocation Order1139062 ++Node: Values in Registers1141083 ++Node: Leaf Functions1148572 ++Node: Stack Registers1151430 ++Node: Register Classes1152702 ++Node: Old Constraints1180327 ++Node: Stack and Calling1187479 ++Node: Frame Layout1188013 ++Node: Exception Handling1198893 ++Node: Stack Checking1205271 ++Node: Frame Registers1210084 ++Node: Elimination1216977 ++Node: Stack Arguments1221206 ++Node: Register Arguments1228015 ++Node: Scalar Return1243493 ++Node: Aggregate Return1249585 ++Node: Caller Saves1253266 ++Node: Function Entry1254444 ++Node: Profiling1267072 ++Node: Tail Calls1268771 ++Node: Stack Smashing Protection1270137 ++Node: Varargs1271249 ++Node: Trampolines1279244 ++Node: Library Calls1285891 ++Node: Addressing Modes1290741 ++Node: Anchored Addresses1308150 ++Node: Condition Code1310799 ++Node: CC0 Condition Codes1312928 ++Node: MODE_CC Condition Codes1316174 ++Node: Cond. Exec. Macros1322403 ++Node: Costs1323382 ++Node: Scheduling1336843 ++Node: Sections1354110 ++Node: PIC1369178 ++Node: Assembler Format1371182 ++Node: File Framework1372320 ++Ref: TARGET_HAVE_SWITCHABLE_BSS_SECTIONS1377795 ++Node: Data Output1381060 ++Node: Uninitialized Data1388819 ++Node: Label Output1394383 ++Node: Initialization1416073 ++Node: Macros for Initialization1422035 ++Node: Instruction Output1428487 ++Node: Dispatch Tables1438158 ++Node: Exception Region Output1441973 ++Node: Alignment Output1447715 ++Node: Debugging Info1451878 ++Node: All Debuggers1452548 ++Node: DBX Options1455403 ++Node: DBX Hooks1460852 ++Node: File Names and DBX1462778 ++Node: SDB and DWARF1464890 ++Node: VMS Debug1469191 ++Node: Floating Point1469761 ++Node: Mode Switching1474584 ++Node: Target Attributes1478510 ++Node: Emulated TLS1485346 ++Node: MIPS Coprocessors1488736 ++Node: PCH Target1490305 ++Node: C++ ABI1491847 ++Node: Named Address Spaces1496496 ++Node: Misc1501598 ++Ref: TARGET_SHIFT_TRUNCATION_MASK1509026 ++Node: Host Config1553537 ++Node: Host Common1554605 ++Node: Filesystem1556984 ++Node: Host Misc1561099 ++Node: Fragments1563548 ++Node: Target Fragment1564743 ++Node: Host Fragment1570633 ++Node: Collect21570873 ++Node: Header Dirs1573509 ++Node: Type Information1574932 ++Node: GTY Options1577223 ++Node: GGC Roots1587898 ++Node: Files1588618 ++Node: Invoking the garbage collector1591364 ++Node: Plugins1592417 ++Node: Funding1608239 ++Node: GNU Project1610726 ++Node: Copying1611375 ++Node: GNU Free Documentation License1648906 ++Node: Contributors1671315 ++Node: Option Index1708002 ++Node: Concept Index1708587 +  + End Tag Table +diff -rNU3 dist.orig/gcc/doc/gcj-dbtool.1 dist.nbsd/gcc/doc/gcj-dbtool.1 +--- dist.orig/gcc/doc/gcj-dbtool.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/gcj-dbtool.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13533,9 +14994,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gcj-dbtool.1 dist.nbsd/gcc/doc/gcj-dbtool.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gcj.1 dist.nbsd/gcc/doc/gcj.1 ---- dist/gcc/doc/gcj.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/gcj.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gcj.1 dist.nbsd/gcc/doc/gcj.1 +--- dist.orig/gcc/doc/gcj.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/gcj.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13545,9 +15006,19 @@ diff -rNU3 -x *.info dist/gcc/doc/gcj.1 dist.nbsd/gcc/doc/gcj.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gcov.1 dist.nbsd/gcc/doc/gcov.1 ---- dist/gcc/doc/gcov.1 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/gcov.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gcj.info dist.nbsd/gcc/doc/gcj.info +--- dist.orig/gcc/doc/gcj.info Thu Apr 28 15:20:25 2011 ++++ dist.nbsd/gcc/doc/gcj.info Wed Feb 19 16:43:51 2014 +@@ -1,5 +1,5 @@ + This is doc/gcj.info, produced by makeinfo version 4.12 from +-/space/rguenther/gcc-4.5.3/gcc-4.5.3/gcc/java/gcj.texi. ++/space/rguenther/gcc-4.5.4/gcc-4.5.4/gcc/java/gcj.texi. + + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free + Software Foundation, Inc. +diff -rNU3 dist.orig/gcc/doc/gcov.1 dist.nbsd/gcc/doc/gcov.1 +--- dist.orig/gcc/doc/gcov.1 Thu Apr 28 14:39:47 2011 ++++ dist.nbsd/gcc/doc/gcov.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13557,9 +15028,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gcov.1 dist.nbsd/gcc/doc/gcov.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gcov.texi dist.nbsd/gcc/doc/gcov.texi ---- dist/gcc/doc/gcov.texi Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/gcov.texi Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gcov.texi dist.nbsd/gcc/doc/gcov.texi +--- dist.orig/gcc/doc/gcov.texi Fri Feb 20 15:20:38 2009 ++++ dist.nbsd/gcc/doc/gcov.texi Wed Feb 19 16:43:51 2014 @@ -128,8 +128,9 @@ [@option{-l}|@option{--long-file-names}] [@option{-p}|@option{--preserve-paths}] @@ -13571,9 +15042,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gcov.texi dist.nbsd/gcc/doc/gcov.texi @c man end @c man begin SEEALSO gpl(7), gfdl(7), fsf-funding(7), gcc(1) and the Info entry for @file{gcc}. -diff -rNU3 -x *.info dist/gcc/doc/gfdl.7 dist.nbsd/gcc/doc/gfdl.7 ---- dist/gcc/doc/gfdl.7 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/gfdl.7 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gfdl.7 dist.nbsd/gcc/doc/gfdl.7 +--- dist.orig/gcc/doc/gfdl.7 Thu Apr 28 14:39:50 2011 ++++ dist.nbsd/gcc/doc/gfdl.7 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13583,9 +15054,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gfdl.7 dist.nbsd/gcc/doc/gfdl.7 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gfortran.1 dist.nbsd/gcc/doc/gfortran.1 ---- dist/gcc/doc/gfortran.1 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/gfortran.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gfortran.1 dist.nbsd/gcc/doc/gfortran.1 +--- dist.orig/gcc/doc/gfortran.1 Thu Apr 28 15:20:27 2011 ++++ dist.nbsd/gcc/doc/gfortran.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13595,9 +15066,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gfortran.1 dist.nbsd/gcc/doc/gfortran.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gij.1 dist.nbsd/gcc/doc/gij.1 ---- dist/gcc/doc/gij.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/gij.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gij.1 dist.nbsd/gcc/doc/gij.1 +--- dist.orig/gcc/doc/gij.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/gij.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13607,9 +15078,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gij.1 dist.nbsd/gcc/doc/gij.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/gpl.7 dist.nbsd/gcc/doc/gpl.7 ---- dist/gcc/doc/gpl.7 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/gpl.7 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/gpl.7 dist.nbsd/gcc/doc/gpl.7 +--- dist.orig/gcc/doc/gpl.7 Thu Apr 28 15:20:27 2011 ++++ dist.nbsd/gcc/doc/gpl.7 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13619,9 +15090,9 @@ diff -rNU3 -x *.info dist/gcc/doc/gpl.7 dist.nbsd/gcc/doc/gpl.7 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/grmic.1 dist.nbsd/gcc/doc/grmic.1 ---- dist/gcc/doc/grmic.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/grmic.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/grmic.1 dist.nbsd/gcc/doc/grmic.1 +--- dist.orig/gcc/doc/grmic.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/grmic.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13631,9 +15102,9 @@ diff -rNU3 -x *.info dist/gcc/doc/grmic.1 dist.nbsd/gcc/doc/grmic.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/install.texi dist.nbsd/gcc/doc/install.texi ---- dist/gcc/doc/install.texi Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/install.texi Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/install.texi dist.nbsd/gcc/doc/install.texi +--- dist.orig/gcc/doc/install.texi Sun Jan 30 18:27:47 2011 ++++ dist.nbsd/gcc/doc/install.texi Wed Feb 19 16:43:51 2014 @@ -1194,7 +1194,7 @@ @item --with-llsc @@ -13643,9 +15114,9 @@ diff -rNU3 -x *.info dist/gcc/doc/install.texi dist.nbsd/gcc/doc/install.texi Linux-based targets, as the kernel will emulate them if the ISA does not provide them. -diff -rNU3 -x *.info dist/gcc/doc/invoke.texi dist.nbsd/gcc/doc/invoke.texi ---- dist/gcc/doc/invoke.texi Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/invoke.texi Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/invoke.texi dist.nbsd/gcc/doc/invoke.texi +--- dist.orig/gcc/doc/invoke.texi Wed Mar 23 22:03:29 2011 ++++ dist.nbsd/gcc/doc/invoke.texi Wed Feb 19 16:43:51 2014 @@ -404,6 +404,7 @@ -include @var{file} -imacros @var{file} @gol -iprefix @var{file} -iwithprefix @var{dir} @gol @@ -13694,9 +15165,9 @@ diff -rNU3 -x *.info dist/gcc/doc/invoke.texi dist.nbsd/gcc/doc/invoke.texi @item -L@var{dir} @opindex L -diff -rNU3 -x *.info dist/gcc/doc/jcf-dump.1 dist.nbsd/gcc/doc/jcf-dump.1 ---- dist/gcc/doc/jcf-dump.1 Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/doc/jcf-dump.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/jcf-dump.1 dist.nbsd/gcc/doc/jcf-dump.1 +--- dist.orig/gcc/doc/jcf-dump.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/jcf-dump.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13706,9 +15177,9 @@ diff -rNU3 -x *.info dist/gcc/doc/jcf-dump.1 dist.nbsd/gcc/doc/jcf-dump.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/jv-convert.1 dist.nbsd/gcc/doc/jv-convert.1 ---- dist/gcc/doc/jv-convert.1 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/jv-convert.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/jv-convert.1 dist.nbsd/gcc/doc/jv-convert.1 +--- dist.orig/gcc/doc/jv-convert.1 Thu Apr 28 15:11:19 2011 ++++ dist.nbsd/gcc/doc/jv-convert.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13718,9 +15189,9 @@ diff -rNU3 -x *.info dist/gcc/doc/jv-convert.1 dist.nbsd/gcc/doc/jv-convert.1 .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/doc/md.texi dist.nbsd/gcc/doc/md.texi ---- dist/gcc/doc/md.texi Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/md.texi Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/md.texi dist.nbsd/gcc/doc/md.texi +--- dist.orig/gcc/doc/md.texi Tue Dec 15 18:36:44 2009 ++++ dist.nbsd/gcc/doc/md.texi Wed Feb 19 16:43:51 2014 @@ -4503,8 +4503,9 @@ string. The instruction is not allowed to prefetch more than one byte at a time since either string may end in the first byte and reading past @@ -13760,9 +15231,9 @@ diff -rNU3 -x *.info dist/gcc/doc/md.texi dist.nbsd/gcc/doc/md.texi @cindex @code{strlen@var{m}} instruction pattern @item @samp{strlen@var{m}} -diff -rNU3 -x *.info dist/gcc/doc/rebuild-gcj-db.1 dist.nbsd/gcc/doc/rebuild-gcj-db.1 ---- dist/gcc/doc/rebuild-gcj-db.1 Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/doc/rebuild-gcj-db.1 Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/doc/rebuild-gcj-db.1 dist.nbsd/gcc/doc/rebuild-gcj-db.1 +--- dist.orig/gcc/doc/rebuild-gcj-db.1 Thu Apr 28 15:20:27 2011 ++++ dist.nbsd/gcc/doc/rebuild-gcj-db.1 Wed Feb 19 16:43:51 2014 @@ -132,7 +132,7 @@ .\" ======================================================================== .\" @@ -13772,9 +15243,9 @@ diff -rNU3 -x *.info dist/gcc/doc/rebuild-gcj-db.1 dist.nbsd/gcc/doc/rebuild-gcj .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l -diff -rNU3 -x *.info dist/gcc/dojump.c dist.nbsd/gcc/dojump.c ---- dist/gcc/dojump.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/dojump.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/dojump.c dist.nbsd/gcc/dojump.c +--- dist.orig/gcc/dojump.c Fri Feb 19 18:19:06 2010 ++++ dist.nbsd/gcc/dojump.c Wed Feb 19 16:43:53 2014 @@ -1022,7 +1022,7 @@ } else @@ -13793,9 +15264,9 @@ diff -rNU3 -x *.info dist/gcc/dojump.c dist.nbsd/gcc/dojump.c && ! can_compare_p (code, mode, ccp_jump) /* Never split ORDERED and UNORDERED. These must be implemented. */ -diff -rNU3 -x *.info dist/gcc/dwarf2out.c dist.nbsd/gcc/dwarf2out.c ---- dist/gcc/dwarf2out.c Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/dwarf2out.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/dwarf2out.c dist.nbsd/gcc/dwarf2out.c +--- dist.orig/gcc/dwarf2out.c Mon Apr 18 17:38:13 2011 ++++ dist.nbsd/gcc/dwarf2out.c Wed Feb 19 16:44:07 2014 @@ -4254,6 +4254,12 @@ Only on head of list */ const char *section; /* Section this loclist is relative to */ @@ -13935,6 +15406,19 @@ diff -rNU3 -x *.info dist/gcc/dwarf2out.c dist.nbsd/gcc/dwarf2out.c if (list) { add_AT_location_description (die, attr, list); +@@ -16592,9 +16667,9 @@ + + /* Note that `size' might be -1 when we get to this point. If it is, that + indicates that the byte size of the entity in question is variable. We +- have no good way of expressing this fact in Dwarf at the present time, +- so just let the -1 pass on through. */ +- add_AT_unsigned (die, DW_AT_byte_size, size); ++ have no good way of expressing this fact in Dwarf at the present time. ++ GCC/35998: Avoid passing negative size values to Dtrace and gdb. */ ++ add_AT_unsigned (die, DW_AT_byte_size, (size != (unsigned)-1 ? size : 0)); + } + + /* For a FIELD_DECL node which represents a bit-field, output an attribute @@ -17530,7 +17605,7 @@ equate_decl_number_to_die (node, parm_die); if (! DECL_ABSTRACT (node_or_origin)) @@ -14075,9 +15559,9 @@ diff -rNU3 -x *.info dist/gcc/dwarf2out.c dist.nbsd/gcc/dwarf2out.c DW_AT_location); } -diff -rNU3 -x *.info dist/gcc/expr.c dist.nbsd/gcc/expr.c ---- dist/gcc/expr.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/expr.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/expr.c dist.nbsd/gcc/expr.c +--- dist.orig/gcc/expr.c Sun Jan 16 20:23:01 2011 ++++ dist.nbsd/gcc/expr.c Wed Feb 19 16:44:07 2014 @@ -2220,6 +2220,111 @@ return tgtblk; } @@ -14296,9 +15780,9 @@ diff -rNU3 -x *.info dist/gcc/expr.c dist.nbsd/gcc/expr.c } -diff -rNU3 -x *.info dist/gcc/expr.h dist.nbsd/gcc/expr.h ---- dist/gcc/expr.h Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/expr.h Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/expr.h dist.nbsd/gcc/expr.h +--- dist.orig/gcc/expr.h Fri Feb 19 09:53:51 2010 ++++ dist.nbsd/gcc/expr.h Wed Feb 19 16:43:53 2014 @@ -460,6 +460,8 @@ /* Copy BLKmode object from a set of registers. */ extern rtx copy_blkmode_from_reg (rtx, rtx, tree); @@ -14308,9 +15792,9 @@ diff -rNU3 -x *.info dist/gcc/expr.h dist.nbsd/gcc/expr.h /* Mark REG as holding a parameter for the next CALL_INSN. */ extern void use_reg (rtx *, rtx); -diff -rNU3 -x *.info dist/gcc/final.c dist.nbsd/gcc/final.c ---- dist/gcc/final.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/final.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/final.c dist.nbsd/gcc/final.c +--- dist.orig/gcc/final.c Fri Mar 26 16:18:51 2010 ++++ dist.nbsd/gcc/final.c Wed Feb 19 16:43:52 2014 @@ -2241,6 +2241,11 @@ location_t loc; expanded_location expanded; @@ -14323,9 +15807,9 @@ diff -rNU3 -x *.info dist/gcc/final.c dist.nbsd/gcc/final.c /* There's no telling what that did to the condition codes. */ CC_STATUS_INIT; -diff -rNU3 -x *.info dist/gcc/fold-const.c dist.nbsd/gcc/fold-const.c ---- dist/gcc/fold-const.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/fold-const.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/fold-const.c dist.nbsd/gcc/fold-const.c +--- dist.orig/gcc/fold-const.c Mon Apr 18 14:02:22 2011 ++++ dist.nbsd/gcc/fold-const.c Wed Feb 19 16:43:51 2014 @@ -2784,8 +2784,6 @@ case VOID_TYPE: @@ -14335,9 +15819,9 @@ diff -rNU3 -x *.info dist/gcc/fold-const.c dist.nbsd/gcc/fold-const.c return fold_build1_loc (loc, NOP_EXPR, type, tem); default: -diff -rNU3 -x *.info dist/gcc/function.c dist.nbsd/gcc/function.c ---- dist/gcc/function.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/function.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/function.c dist.nbsd/gcc/function.c +--- dist.orig/gcc/function.c Mon Aug 16 20:18:08 2010 ++++ dist.nbsd/gcc/function.c Wed Feb 19 16:43:52 2014 @@ -1,7 +1,7 @@ /* Expands front end tree to back end RTL for GCC. Copyright (C) 1987, 1988, 1989, 1991, 1992, 1993, 1994, 1995, 1996, 1997, @@ -14356,9 +15840,9 @@ diff -rNU3 -x *.info dist/gcc/function.c dist.nbsd/gcc/function.c } } else -diff -rNU3 -x *.info dist/gcc/fwprop.c dist.nbsd/gcc/fwprop.c ---- dist/gcc/fwprop.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/fwprop.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/fwprop.c dist.nbsd/gcc/fwprop.c +--- dist.orig/gcc/fwprop.c Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/fwprop.c Wed Feb 19 16:43:54 2014 @@ -228,7 +228,10 @@ process_uses (df_get_artificial_uses (bb_index), DF_REF_AT_TOP); @@ -14371,9 +15855,9 @@ diff -rNU3 -x *.info dist/gcc/fwprop.c dist.nbsd/gcc/fwprop.c FOR_BB_INSNS (bb, insn) if (INSN_P (insn)) -diff -rNU3 -x *.info dist/gcc/gcc.c dist.nbsd/gcc/gcc.c ---- dist/gcc/gcc.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/gcc.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/gcc.c dist.nbsd/gcc/gcc.c +--- dist.orig/gcc/gcc.c Sun Apr 18 17:46:08 2010 ++++ dist.nbsd/gcc/gcc.c Wed Feb 19 16:43:51 2014 @@ -1760,7 +1760,7 @@ static_name, " --as-needed ", shared_name, " --no-as-needed" "}" @@ -14458,9 +15942,9 @@ diff -rNU3 -x *.info dist/gcc/gcc.c dist.nbsd/gcc/gcc.c } /* Process any user specified specs in the order given on the command -diff -rNU3 -x *.info dist/gcc/gcc.h dist.nbsd/gcc/gcc.h ---- dist/gcc/gcc.h Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/gcc.h Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/gcc.h dist.nbsd/gcc/gcc.h +--- dist.orig/gcc/gcc.h Sun Jan 3 17:03:38 2010 ++++ dist.nbsd/gcc/gcc.h Wed Feb 19 16:43:54 2014 @@ -50,6 +50,7 @@ || !strcmp (STR, "iwithprefix") || !strcmp (STR, "iwithprefixbefore") \ || !strcmp (STR, "iquote") || !strcmp (STR, "isystem") \ @@ -14469,9 +15953,9 @@ diff -rNU3 -x *.info dist/gcc/gcc.h dist.nbsd/gcc/gcc.h || !strcmp (STR, "-param") || !strcmp (STR, "specs") \ || !strcmp (STR, "MF") || !strcmp (STR, "MT") || !strcmp (STR, "MQ") \ || !strcmp (STR, "fintrinsic-modules-path") \ -diff -rNU3 -x *.info dist/gcc/gcov-iov.c dist.nbsd/gcc/gcov-iov.c ---- dist/gcc/gcov-iov.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/gcov-iov.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/gcov-iov.c dist.nbsd/gcc/gcov-iov.c +--- dist.orig/gcc/gcov-iov.c Thu Jul 26 08:37:01 2007 ++++ dist.nbsd/gcc/gcov-iov.c Wed Feb 19 16:43:54 2014 @@ -19,8 +19,8 @@ along with GCC; see the file COPYING3. If not see . */ @@ -14499,9 +15983,9 @@ diff -rNU3 -x *.info dist/gcc/gcov-iov.c dist.nbsd/gcc/gcov-iov.c phase = '*'; v[0] = (major < 10 ? '0' : 'A' - 10) + major; -diff -rNU3 -x *.info dist/gcc/genemit.c dist.nbsd/gcc/genemit.c ---- dist/gcc/genemit.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/genemit.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/genemit.c dist.nbsd/gcc/genemit.c +--- dist.orig/gcc/genemit.c Fri Nov 27 11:37:06 2009 ++++ dist.nbsd/gcc/genemit.c Wed Feb 19 16:43:53 2014 @@ -250,9 +250,9 @@ printf ("const_true_rtx"); else @@ -14515,9 +15999,9 @@ diff -rNU3 -x *.info dist/gcc/genemit.c dist.nbsd/gcc/genemit.c } return; -diff -rNU3 -x *.info dist/gcc/gengtype-lex.c dist.nbsd/gcc/gengtype-lex.c ---- dist/gcc/gengtype-lex.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/gengtype-lex.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/gengtype-lex.c dist.nbsd/gcc/gengtype-lex.c +--- dist.orig/gcc/gengtype-lex.c Thu Apr 28 14:32:36 2011 ++++ dist.nbsd/gcc/gengtype-lex.c Wed Feb 19 16:44:07 2014 @@ -933,7 +933,7 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET @@ -14924,9 +16408,9 @@ diff -rNU3 -x *.info dist/gcc/gengtype-lex.c dist.nbsd/gcc/gengtype-lex.c -diff -rNU3 -x *.info dist/gcc/genmultilib dist.nbsd/gcc/genmultilib ---- dist/gcc/genmultilib Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/genmultilib Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/genmultilib dist.nbsd/gcc/genmultilib +--- dist.orig/gcc/genmultilib Thu Jul 26 08:37:01 2007 ++++ dist.nbsd/gcc/genmultilib Wed Feb 19 16:43:54 2014 @@ -136,8 +136,10 @@ # Since not all versions of sh support functions, we achieve recursion # by creating a temporary shell script which invokes itself. @@ -14966,9 +16450,9 @@ diff -rNU3 -x *.info dist/gcc/genmultilib dist.nbsd/gcc/genmultilib # The positional parameters are a list of matches to consider. # ${dirout} is the directory name and ${optout} is the current list of # options. -diff -rNU3 -x *.info dist/gcc/genrecog.c dist.nbsd/gcc/genrecog.c ---- dist/gcc/genrecog.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/genrecog.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/genrecog.c dist.nbsd/gcc/genrecog.c +--- dist.orig/gcc/genrecog.c Mon Jun 22 10:29:13 2009 ++++ dist.nbsd/gcc/genrecog.c Wed Feb 19 16:44:07 2014 @@ -1849,11 +1849,13 @@ static void print_host_wide_int (HOST_WIDE_INT val) @@ -14985,9 +16469,9 @@ diff -rNU3 -x *.info dist/gcc/genrecog.c dist.nbsd/gcc/genrecog.c } /* Emit a switch statement, if possible, for an initial sequence of -diff -rNU3 -x *.info dist/gcc/gimplify.c dist.nbsd/gcc/gimplify.c ---- dist/gcc/gimplify.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/gimplify.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/gimplify.c dist.nbsd/gcc/gimplify.c +--- dist.orig/gcc/gimplify.c Thu Apr 7 18:27:20 2011 ++++ dist.nbsd/gcc/gimplify.c Wed Feb 19 16:43:52 2014 @@ -1953,8 +1953,14 @@ ret = MIN (ret, tret); } @@ -15059,9 +16543,9 @@ diff -rNU3 -x *.info dist/gcc/gimplify.c dist.nbsd/gcc/gimplify.c /* Keep the original source location on the first 'if'. Set the source location of the ? on the second 'if'. */ -diff -rNU3 -x *.info dist/gcc/ginclude/stddef.h dist.nbsd/gcc/ginclude/stddef.h ---- dist/gcc/ginclude/stddef.h Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/ginclude/stddef.h Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/ginclude/stddef.h dist.nbsd/gcc/ginclude/stddef.h +--- dist.orig/gcc/ginclude/stddef.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/gcc/ginclude/stddef.h Wed Feb 19 16:43:53 2014 @@ -52,7 +52,9 @@ /* On 4.3bsd-net2, make sure ansi.h is included, so we have one less case to deal with in the following. */ @@ -15072,9 +16556,9 @@ diff -rNU3 -x *.info dist/gcc/ginclude/stddef.h dist.nbsd/gcc/ginclude/stddef.h #endif /* On FreeBSD 5, machine/ansi.h does not exist anymore... */ #if defined (__FreeBSD__) && (__FreeBSD__ >= 5) -diff -rNU3 -x *.info dist/gcc/hwint.h dist.nbsd/gcc/hwint.h ---- dist/gcc/hwint.h Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/hwint.h Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/hwint.h dist.nbsd/gcc/hwint.h +--- dist.orig/gcc/hwint.h Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/hwint.h Wed Feb 19 16:43:54 2014 @@ -78,6 +78,7 @@ #if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG # define HOST_WIDE_INT_PRINT HOST_LONG_FORMAT @@ -15091,9 +16575,9 @@ diff -rNU3 -x *.info dist/gcc/hwint.h dist.nbsd/gcc/hwint.h /* We can assume that 'long long' is at least 64 bits. */ # define HOST_WIDE_INT_PRINT_DOUBLE_HEX \ "0x%" HOST_LONG_LONG_FORMAT "x%016" HOST_LONG_LONG_FORMAT "x" -diff -rNU3 -x *.info dist/gcc/ifcvt.c dist.nbsd/gcc/ifcvt.c ---- dist/gcc/ifcvt.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/ifcvt.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/ifcvt.c dist.nbsd/gcc/ifcvt.c +--- dist.orig/gcc/ifcvt.c Tue Nov 16 22:17:17 2010 ++++ dist.nbsd/gcc/ifcvt.c Wed Feb 19 16:43:54 2014 @@ -3818,7 +3818,7 @@ basic_block other_bb, basic_block new_dest, int reversep) { @@ -15187,9 +16671,9 @@ diff -rNU3 -x *.info dist/gcc/ifcvt.c dist.nbsd/gcc/ifcvt.c return FALSE; } -diff -rNU3 -x *.info dist/gcc/ipa-prop.c dist.nbsd/gcc/ipa-prop.c ---- dist/gcc/ipa-prop.c Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/ipa-prop.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/ipa-prop.c dist.nbsd/gcc/ipa-prop.c +--- dist.orig/gcc/ipa-prop.c Sat Jul 31 12:11:25 2010 ++++ dist.nbsd/gcc/ipa-prop.c Wed Feb 19 16:43:52 2014 @@ -2134,9 +2134,9 @@ { const struct lto_function_header *header = @@ -15203,9 +16687,9 @@ diff -rNU3 -x *.info dist/gcc/ipa-prop.c dist.nbsd/gcc/ipa-prop.c struct data_in *data_in; struct lto_input_block ib_main; unsigned int i; -diff -rNU3 -x *.info dist/gcc/libgcc2.c dist.nbsd/gcc/libgcc2.c ---- dist/gcc/libgcc2.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/libgcc2.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/libgcc2.c dist.nbsd/gcc/libgcc2.c +--- dist.orig/gcc/libgcc2.c Thu Sep 24 19:02:44 2009 ++++ dist.nbsd/gcc/libgcc2.c Wed Feb 19 16:43:50 2014 @@ -1802,15 +1802,19 @@ #define isfinite(x) __builtin_expect (!isnan((x) - (x)), 1) #define isinf(x) __builtin_expect (!isnan(x) & !isfinite(x), 0) @@ -15266,9 +16750,9 @@ diff -rNU3 -x *.info dist/gcc/libgcc2.c dist.nbsd/gcc/libgcc2.c #endif /* all complex float routines */ /* From here on down, the routines use normal data types. */ -diff -rNU3 -x *.info dist/gcc/loop-doloop.c dist.nbsd/gcc/loop-doloop.c ---- dist/gcc/loop-doloop.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/loop-doloop.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/loop-doloop.c dist.nbsd/gcc/loop-doloop.c +--- dist.orig/gcc/loop-doloop.c Mon Jul 19 09:58:53 2010 ++++ dist.nbsd/gcc/loop-doloop.c Wed Feb 19 16:43:53 2014 @@ -334,14 +334,11 @@ describes the loop, DESC describes the number of iterations of the loop, and DOLOOP_INSN is the low-overhead looping insn to emit at the @@ -15328,9 +16812,9 @@ diff -rNU3 -x *.info dist/gcc/loop-doloop.c dist.nbsd/gcc/loop-doloop.c return true; } -diff -rNU3 -x *.info dist/gcc/lto/ChangeLog dist.nbsd/gcc/lto/ChangeLog ---- dist/gcc/lto/ChangeLog Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/lto/ChangeLog Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/lto/ChangeLog dist.nbsd/gcc/lto/ChangeLog +--- dist.orig/gcc/lto/ChangeLog Thu Apr 28 14:12:14 2011 ++++ dist.nbsd/gcc/lto/ChangeLog Wed Feb 19 16:43:51 2014 @@ -1,3 +1,19 @@ +2012-07-02 Release Manager + @@ -15351,9 +16835,9 @@ diff -rNU3 -x *.info dist/gcc/lto/ChangeLog dist.nbsd/gcc/lto/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/lto/lto.c dist.nbsd/gcc/lto/lto.c ---- dist/gcc/lto/lto.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/lto/lto.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/lto/lto.c dist.nbsd/gcc/lto/lto.c +--- dist.orig/gcc/lto/lto.c Mon Jun 14 10:38:18 2010 ++++ dist.nbsd/gcc/lto/lto.c Wed Feb 19 16:43:51 2014 @@ -157,7 +157,7 @@ uint32_t ix; tree decl; @@ -15419,9 +16903,9 @@ diff -rNU3 -x *.info dist/gcc/lto/lto.c dist.nbsd/gcc/lto/lto.c t = fscanf (resolution, "@0x%16s", offset_p); if (t != 1) internal_error ("could not parse file offset"); -diff -rNU3 -x *.info dist/gcc/lto/lto.h dist.nbsd/gcc/lto/lto.h ---- dist/gcc/lto/lto.h Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/lto/lto.h Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/lto/lto.h dist.nbsd/gcc/lto/lto.h +--- dist.orig/gcc/lto/lto.h Thu Jun 24 21:06:37 2010 ++++ dist.nbsd/gcc/lto/lto.h Wed Feb 19 16:43:51 2014 @@ -58,6 +58,6 @@ size_t len; }; @@ -15430,9 +16914,9 @@ diff -rNU3 -x *.info dist/gcc/lto/lto.h dist.nbsd/gcc/lto/lto.h +extern HOST_WIDEST_INT lto_parse_hex (const char *p); #endif /* LTO_H */ -diff -rNU3 -x *.info dist/gcc/lto-opts.c dist.nbsd/gcc/lto-opts.c ---- dist/gcc/lto-opts.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/lto-opts.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/lto-opts.c dist.nbsd/gcc/lto-opts.c +--- dist.orig/gcc/lto-opts.c Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/lto-opts.c Wed Feb 19 16:43:54 2014 @@ -351,7 +351,7 @@ size_t len; const char *data; @@ -15442,9 +16926,9 @@ diff -rNU3 -x *.info dist/gcc/lto-opts.c dist.nbsd/gcc/lto-opts.c struct lto_input_block ib; data = lto_get_section_data (file_data, LTO_section_opts, NULL, &len); -diff -rNU3 -x *.info dist/gcc/lto-section-in.c dist.nbsd/gcc/lto-section-in.c ---- dist/gcc/lto-section-in.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/lto-section-in.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/lto-section-in.c dist.nbsd/gcc/lto-section-in.c +--- dist.orig/gcc/lto-section-in.c Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/lto-section-in.c Wed Feb 19 16:44:07 2014 @@ -294,7 +294,7 @@ = (const struct lto_simple_header *) data; @@ -15454,9 +16938,9 @@ diff -rNU3 -x *.info dist/gcc/lto-section-in.c dist.nbsd/gcc/lto-section-in.c if (!data) return NULL; -diff -rNU3 -x *.info dist/gcc/lto-streamer-in.c dist.nbsd/gcc/lto-streamer-in.c ---- dist/gcc/lto-streamer-in.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/lto-streamer-in.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/lto-streamer-in.c dist.nbsd/gcc/lto-streamer-in.c +--- dist.orig/gcc/lto-streamer-in.c Wed Jun 2 20:43:42 2010 ++++ dist.nbsd/gcc/lto-streamer-in.c Wed Feb 19 16:44:07 2014 @@ -1445,9 +1445,9 @@ { const struct lto_function_header *header; @@ -15470,9 +16954,9 @@ diff -rNU3 -x *.info dist/gcc/lto-streamer-in.c dist.nbsd/gcc/lto-streamer-in.c struct lto_input_block ib_cfg; struct lto_input_block ib_main; -diff -rNU3 -x *.info dist/gcc/lto-streamer-out.c dist.nbsd/gcc/lto-streamer-out.c ---- dist/gcc/lto-streamer-out.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/lto-streamer-out.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/lto-streamer-out.c dist.nbsd/gcc/lto-streamer-out.c +--- dist.orig/gcc/lto-streamer-out.c Fri May 28 19:02:24 2010 ++++ dist.nbsd/gcc/lto-streamer-out.c Wed Feb 19 16:44:07 2014 @@ -2302,7 +2302,7 @@ enum gcc_plugin_symbol_kind kind; enum gcc_plugin_symbol_visibility visibility; @@ -15496,9 +16980,9 @@ diff -rNU3 -x *.info dist/gcc/lto-streamer-out.c dist.nbsd/gcc/lto-streamer-out. else size = 0; -diff -rNU3 -x *.info dist/gcc/objc/ChangeLog dist.nbsd/gcc/objc/ChangeLog ---- dist/gcc/objc/ChangeLog Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/objc/ChangeLog Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/objc/ChangeLog dist.nbsd/gcc/objc/ChangeLog +--- dist.orig/gcc/objc/ChangeLog Thu Apr 28 14:12:26 2011 ++++ dist.nbsd/gcc/objc/ChangeLog Wed Feb 19 16:43:53 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -15507,9 +16991,9 @@ diff -rNU3 -x *.info dist/gcc/objc/ChangeLog dist.nbsd/gcc/objc/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/objcp/ChangeLog dist.nbsd/gcc/objcp/ChangeLog ---- dist/gcc/objcp/ChangeLog Wed Nov 7 13:40:06 2012 -+++ dist.nbsd/gcc/objcp/ChangeLog Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/objcp/ChangeLog dist.nbsd/gcc/objcp/ChangeLog +--- dist.orig/gcc/objcp/ChangeLog Thu Apr 28 14:12:38 2011 ++++ dist.nbsd/gcc/objcp/ChangeLog Wed Feb 19 16:43:53 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -15518,9 +17002,21 @@ diff -rNU3 -x *.info dist/gcc/objcp/ChangeLog dist.nbsd/gcc/objcp/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/po/ChangeLog dist.nbsd/gcc/po/ChangeLog ---- dist/gcc/po/ChangeLog Wed Nov 7 13:39:37 2012 -+++ dist.nbsd/gcc/po/ChangeLog Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/output.h dist.nbsd/gcc/output.h +--- dist.orig/gcc/output.h Mon Oct 26 21:57:10 2009 ++++ dist.nbsd/gcc/output.h Wed Feb 19 16:43:51 2014 +@@ -115,7 +115,7 @@ + + /* Output a string of assembler code, substituting numbers, strings + and fixed syntactic prefixes. */ +-#if GCC_VERSION >= 3004 ++#if GCC_VERSION >= 3004 && !defined(__clang__) + #define ATTRIBUTE_ASM_FPRINTF(m, n) __attribute__ ((__format__ (__asm_fprintf__, m, n))) ATTRIBUTE_NONNULL(m) + /* This is a magic identifier which allows GCC to figure out the type + of HOST_WIDE_INT for %wd specifier checks. You must issue this +diff -rNU3 dist.orig/gcc/po/ChangeLog dist.nbsd/gcc/po/ChangeLog +--- dist.orig/gcc/po/ChangeLog Thu Apr 28 14:11:47 2011 ++++ dist.nbsd/gcc/po/ChangeLog Wed Feb 19 16:43:52 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -15529,9 +17025,9 @@ diff -rNU3 -x *.info dist/gcc/po/ChangeLog dist.nbsd/gcc/po/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/profile.c dist.nbsd/gcc/profile.c ---- dist/gcc/profile.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/profile.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/profile.c dist.nbsd/gcc/profile.c +--- dist.orig/gcc/profile.c Wed Dec 30 10:53:31 2009 ++++ dist.nbsd/gcc/profile.c Wed Feb 19 16:43:51 2014 @@ -989,6 +989,45 @@ fprintf (dump_file, "Adding fake entry edge to bb %i\n", bb->index); @@ -15578,9 +17074,9 @@ diff -rNU3 -x *.info dist/gcc/profile.c dist.nbsd/gcc/profile.c } } -diff -rNU3 -x *.info dist/gcc/real.c dist.nbsd/gcc/real.c ---- dist/gcc/real.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/real.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/real.c dist.nbsd/gcc/real.c +--- dist.orig/gcc/real.c Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/real.c Wed Feb 19 16:43:52 2014 @@ -1008,15 +1008,25 @@ switch (code) { @@ -15607,9 +17103,9 @@ diff -rNU3 -x *.info dist/gcc/real.c dist.nbsd/gcc/real.c return do_divide (r, op0, op1); case MIN_EXPR: -diff -rNU3 -x *.info dist/gcc/recog.c dist.nbsd/gcc/recog.c ---- dist/gcc/recog.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/recog.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/recog.c dist.nbsd/gcc/recog.c +--- dist.orig/gcc/recog.c Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/recog.c Wed Feb 19 16:43:54 2014 @@ -2991,6 +2991,7 @@ static int search_ofs; enum reg_class cl; @@ -15638,9 +17134,9 @@ diff -rNU3 -x *.info dist/gcc/recog.c dist.nbsd/gcc/recog.c } cl = (class_str[0] == 'r' ? GENERAL_REGS -diff -rNU3 -x *.info dist/gcc/regmove.c dist.nbsd/gcc/regmove.c ---- dist/gcc/regmove.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/regmove.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/regmove.c dist.nbsd/gcc/regmove.c +--- dist.orig/gcc/regmove.c Sun Jan 16 20:16:30 2011 ++++ dist.nbsd/gcc/regmove.c Wed Feb 19 16:43:50 2014 @@ -859,7 +859,7 @@ if (REG_N_CALLS_CROSSED (REGNO (src)) == 0) break; @@ -15650,9 +17146,9 @@ diff -rNU3 -x *.info dist/gcc/regmove.c dist.nbsd/gcc/regmove.c || find_reg_fusage (p, CLOBBER, dst)) break; } -diff -rNU3 -x *.info dist/gcc/reload.c dist.nbsd/gcc/reload.c ---- dist/gcc/reload.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/reload.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/reload.c dist.nbsd/gcc/reload.c +--- dist.orig/gcc/reload.c Mon Dec 21 16:32:44 2009 ++++ dist.nbsd/gcc/reload.c Wed Feb 19 16:43:53 2014 @@ -6795,6 +6795,15 @@ || num > PARAM_VALUE (PARAM_MAX_RELOAD_SEARCH_INSNS)) return 0; @@ -15669,9 +17165,9 @@ diff -rNU3 -x *.info dist/gcc/reload.c dist.nbsd/gcc/reload.c if (NONJUMP_INSN_P (p) /* If we don't want spill regs ... */ && (! (reload_reg_p != 0 -diff -rNU3 -x *.info dist/gcc/reload1.c dist.nbsd/gcc/reload1.c ---- dist/gcc/reload1.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/reload1.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/reload1.c dist.nbsd/gcc/reload1.c +--- dist.orig/gcc/reload1.c Wed Apr 20 11:05:09 2011 ++++ dist.nbsd/gcc/reload1.c Wed Feb 19 16:43:52 2014 @@ -4487,6 +4487,13 @@ { AND_COMPL_HARD_REG_SET (reg_reloaded_valid, call_used_reg_set); @@ -15686,9 +17182,9 @@ diff -rNU3 -x *.info dist/gcc/reload1.c dist.nbsd/gcc/reload1.c } } -diff -rNU3 -x *.info dist/gcc/reorg.c dist.nbsd/gcc/reorg.c ---- dist/gcc/reorg.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/reorg.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/reorg.c dist.nbsd/gcc/reorg.c +--- dist.orig/gcc/reorg.c Wed Sep 15 22:51:44 2010 ++++ dist.nbsd/gcc/reorg.c Wed Feb 19 16:43:52 2014 @@ -3557,9 +3557,11 @@ } } @@ -15702,9 +17198,9 @@ diff -rNU3 -x *.info dist/gcc/reorg.c dist.nbsd/gcc/reorg.c #ifdef HAVE_cc0 /* If the last insn in the delay slot sets CC0 for some insn, various code assumes that it is in a delay slot. We could -diff -rNU3 -x *.info dist/gcc/stmt.c dist.nbsd/gcc/stmt.c ---- dist/gcc/stmt.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/stmt.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/stmt.c dist.nbsd/gcc/stmt.c +--- dist.orig/gcc/stmt.c Fri Oct 29 16:58:36 2010 ++++ dist.nbsd/gcc/stmt.c Wed Feb 19 16:43:52 2014 @@ -1232,11 +1232,11 @@ static bool check_unique_operand_names (tree outputs, tree inputs, tree labels) @@ -15747,9 +17243,20 @@ diff -rNU3 -x *.info dist/gcc/stmt.c dist.nbsd/gcc/stmt.c return false; } -diff -rNU3 -x *.info dist/gcc/targhooks.c dist.nbsd/gcc/targhooks.c ---- dist/gcc/targhooks.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/targhooks.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/target-def.h dist.nbsd/gcc/target-def.h +--- dist.orig/gcc/target-def.h Thu Jun 24 21:06:37 2010 ++++ dist.nbsd/gcc/target-def.h Wed Feb 19 16:44:07 2014 +@@ -706,6 +706,7 @@ + } + + #ifndef TARGET_UNWIND_TABLES_DEFAULT ++#error "Missing unwind_tables_default" + #define TARGET_UNWIND_TABLES_DEFAULT false + #endif + +diff -rNU3 dist.orig/gcc/targhooks.c dist.nbsd/gcc/targhooks.c +--- dist.orig/gcc/targhooks.c Sat Mar 27 10:27:39 2010 ++++ dist.nbsd/gcc/targhooks.c Wed Feb 19 16:44:07 2014 @@ -569,7 +569,17 @@ DECL_ARTIFICIAL (t) = 1; DECL_IGNORED_P (t) = 1; @@ -15768,9 +17275,9 @@ diff -rNU3 -x *.info dist/gcc/targhooks.c dist.nbsd/gcc/targhooks.c stack_chk_fail_decl = t; } -diff -rNU3 -x *.info dist/gcc/testsuite/ChangeLog dist.nbsd/gcc/testsuite/ChangeLog ---- dist/gcc/testsuite/ChangeLog Wed Nov 7 13:39:47 2012 -+++ dist.nbsd/gcc/testsuite/ChangeLog Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/ChangeLog dist.nbsd/gcc/testsuite/ChangeLog +--- dist.orig/gcc/testsuite/ChangeLog Thu Apr 28 14:11:59 2011 ++++ dist.nbsd/gcc/testsuite/ChangeLog Wed Feb 19 16:43:57 2014 @@ -1,3 +1,656 @@ +2012-07-02 Release Manager + @@ -16472,9 +17979,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/ChangeLog dist.nbsd/gcc/testsuite/Change * gcc.c-torture/compile/pr43288.c: New test. -diff -rNU3 -x *.info dist/gcc/testsuite/c-c++-common/pr51768.c dist.nbsd/gcc/testsuite/c-c++-common/pr51768.c ---- dist/gcc/testsuite/c-c++-common/pr51768.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/c-c++-common/pr51768.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/testsuite/c-c++-common/pr51768.c dist.nbsd/gcc/testsuite/c-c++-common/pr51768.c +--- dist.orig/gcc/testsuite/c-c++-common/pr51768.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/c-c++-common/pr51768.c Wed Feb 19 16:44:06 2014 @@ -0,0 +1,25 @@ +/* PR middle-end/51768 */ +/* { dg-do compile } */ @@ -16501,9 +18008,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/c-c++-common/pr51768.c dist.nbsd/gcc/tes + int x; + asm ("" : [lab] "=r" (x) : [lab] "r" (x)); /* { dg-error "duplicate asm operand name" } */ +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C ---- dist/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C +--- dist.orig/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C Wed Feb 19 16:43:59 2014 @@ -0,0 +1,18 @@ +// PR c++/51406 +// { dg-do run } @@ -16523,9 +18030,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/cpp0x/rv-cast3.C dist.nbsd/gcc/te + // printf ("%d %d\n", a, b); + if (a!=1 || b!=2) abort(); +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C ---- dist/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C +--- dist.orig/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C Wed Feb 19 16:43:59 2014 @@ -0,0 +1,13 @@ +// PR c++/51161 +// { dg-options "-std=c++0x" } @@ -16540,9 +18047,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/cpp0x/rv-cast4.C dist.nbsd/gcc/te + D d; + static_cast(d); // { dg-error "ambiguous" } +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/debug/dwarf2/icf.C dist.nbsd/gcc/testsuite/g++.dg/debug/dwarf2/icf.C ---- dist/gcc/testsuite/g++.dg/debug/dwarf2/icf.C Wed Nov 7 13:39:57 2012 -+++ dist.nbsd/gcc/testsuite/g++.dg/debug/dwarf2/icf.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/debug/dwarf2/icf.C dist.nbsd/gcc/testsuite/g++.dg/debug/dwarf2/icf.C +--- dist.orig/gcc/testsuite/g++.dg/debug/dwarf2/icf.C Thu Oct 8 21:00:04 2009 ++++ dist.nbsd/gcc/testsuite/g++.dg/debug/dwarf2/icf.C Wed Feb 19 16:43:58 2014 @@ -40,11 +40,11 @@ // Verify that we get .debug_dcall and .debug_vcall tables generated @@ -16559,9 +18066,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/debug/dwarf2/icf.C dist.nbsd/gcc/ +// { dg-final { scan-assembler "Callee DIE offset" { xfail mips-sgi-irix* } } } // { dg-final { scan-assembler "0x0.*Vtable slot" } } // { dg-final { scan-assembler "0x1.*Vtable slot" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/44473-1.C dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-1.C ---- dist/gcc/testsuite/g++.dg/dfp/44473-1.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-1.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/44473-1.C dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-1.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/44473-1.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-1.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,122 @@ +/* { dg-do assemble } */ + @@ -16685,9 +18192,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/44473-1.C dist.nbsd/gcc/tests +{ + vec.push_back (std::decimal::decimal32 (0)); +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/44473-2.C dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-2.C ---- dist/gcc/testsuite/g++.dg/dfp/44473-2.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-2.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/44473-2.C dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-2.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/44473-2.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/44473-2.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,25 @@ +// { dg-do compile } + @@ -16714,9 +18221,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/44473-2.C dist.nbsd/gcc/tests +} + +// { dg-final { scan-assembler "_Z3barRKDd:" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-1.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-1.C ---- dist/gcc/testsuite/g++.dg/dfp/mangle-1.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-1.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/mangle-1.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-1.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/mangle-1.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-1.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,40 @@ +// { dg-do compile } + @@ -16758,9 +18265,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-1.C dist.nbsd/gcc/test + +// { dg-final { scan-assembler "\n?_Z1gI1AEv1SIXadsrT_1fIDdEEE\[: \t\n\]" } } +// { dg-final { scan-assembler "\n?_Z1gI1AEv1SIXadsrT_plEE\[: \t\n\]" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-2.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-2.C ---- dist/gcc/testsuite/g++.dg/dfp/mangle-2.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-2.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/mangle-2.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-2.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/mangle-2.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-2.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,28 @@ +// { dg-do compile } + @@ -16790,9 +18297,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-2.C dist.nbsd/gcc/test +void g (S<&A::f >) {} + +// { dg-final { scan-assembler "\n?_Z1g1SIXadL_ZN1A1fIDdEEDdvEEE\[: \t\n\]" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-3.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-3.C ---- dist/gcc/testsuite/g++.dg/dfp/mangle-3.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-3.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/mangle-3.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-3.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/mangle-3.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-3.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,28 @@ +// { dg-do compile } + @@ -16822,9 +18329,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-3.C dist.nbsd/gcc/test + +// { dg-final { scan-assembler "\n_?_Z1fILi1EEvPA2_Dd\[: \t\n\]" } } +// { dg-final { scan-assembler "\n_?_Z1gILi1EEvPAplT_Li2E_Dd\[: \t\n\]" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-4.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-4.C ---- dist/gcc/testsuite/g++.dg/dfp/mangle-4.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-4.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/mangle-4.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-4.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/mangle-4.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-4.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,35 @@ +// { dg-do compile } + @@ -16861,9 +18368,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-4.C dist.nbsd/gcc/test +} + +// { dg-final { scan-assembler "_Z1fI1AEvT_NS1_1BIDdE3myTENS2_IiE3myTE" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-5.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-5.C ---- dist/gcc/testsuite/g++.dg/dfp/mangle-5.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-5.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/dfp/mangle-5.C dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-5.C +--- dist.orig/gcc/testsuite/g++.dg/dfp/mangle-5.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/dfp/mangle-5.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,29 @@ +// { dg-do compile } + @@ -16894,9 +18401,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/dfp/mangle-5.C dist.nbsd/gcc/test +} + +// { dg-final { scan-assembler "_Z3barIDeE1AIX3fooIT_EEEv" } } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/eh/cond5.C dist.nbsd/gcc/testsuite/g++.dg/eh/cond5.C ---- dist/gcc/testsuite/g++.dg/eh/cond5.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/eh/cond5.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/eh/cond5.C dist.nbsd/gcc/testsuite/g++.dg/eh/cond5.C +--- dist.orig/gcc/testsuite/g++.dg/eh/cond5.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/eh/cond5.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,43 @@ +// PR c++/49165 +// { dg-do run } @@ -16941,9 +18448,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/eh/cond5.C dist.nbsd/gcc/testsuit + abort (); + } +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/eh/cond6.C dist.nbsd/gcc/testsuite/g++.dg/eh/cond6.C ---- dist/gcc/testsuite/g++.dg/eh/cond6.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/eh/cond6.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/eh/cond6.C dist.nbsd/gcc/testsuite/g++.dg/eh/cond6.C +--- dist.orig/gcc/testsuite/g++.dg/eh/cond6.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/eh/cond6.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,43 @@ +// PR c++/49165 +// { dg-do run } @@ -16988,9 +18495,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/eh/cond6.C dist.nbsd/gcc/testsuit + abort (); + } +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/gcov/gcov-2.C dist.nbsd/gcc/testsuite/g++.dg/gcov/gcov-2.C ---- dist/gcc/testsuite/g++.dg/gcov/gcov-2.C Wed Nov 7 13:39:55 2012 -+++ dist.nbsd/gcc/testsuite/g++.dg/gcov/gcov-2.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/gcov/gcov-2.C dist.nbsd/gcc/testsuite/g++.dg/gcov/gcov-2.C +--- dist.orig/gcc/testsuite/g++.dg/gcov/gcov-2.C Thu Jul 16 22:29:52 2009 ++++ dist.nbsd/gcc/testsuite/g++.dg/gcov/gcov-2.C Wed Feb 19 16:43:58 2014 @@ -20,7 +20,7 @@ void foo() @@ -17000,9 +18507,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/gcov/gcov-2.C dist.nbsd/gcc/tests c.seti (1); /* count(1) */ } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/new30.C dist.nbsd/gcc/testsuite/g++.dg/init/new30.C ---- dist/gcc/testsuite/g++.dg/init/new30.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/init/new30.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/init/new30.C dist.nbsd/gcc/testsuite/g++.dg/init/new30.C +--- dist.orig/gcc/testsuite/g++.dg/init/new30.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/init/new30.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,15 @@ +// PR c++/40975 + @@ -17019,9 +18526,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/new30.C dist.nbsd/gcc/testsu +}; + +ptr_type obj; -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/new32.C dist.nbsd/gcc/testsuite/g++.dg/init/new32.C ---- dist/gcc/testsuite/g++.dg/init/new32.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/init/new32.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/init/new32.C dist.nbsd/gcc/testsuite/g++.dg/init/new32.C +--- dist.orig/gcc/testsuite/g++.dg/init/new32.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/init/new32.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,16 @@ +// PR c++/48873 + @@ -17039,9 +18546,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/new32.C dist.nbsd/gcc/testsu +{ + D* dp = new (((void*) 0)) D(create()); // # +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/value9.C dist.nbsd/gcc/testsuite/g++.dg/init/value9.C ---- dist/gcc/testsuite/g++.dg/init/value9.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/init/value9.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/init/value9.C dist.nbsd/gcc/testsuite/g++.dg/init/value9.C +--- dist.orig/gcc/testsuite/g++.dg/init/value9.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/init/value9.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,32 @@ +// PR c++/50793 +// { dg-do run } @@ -17075,9 +18582,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/value9.C dist.nbsd/gcc/tests + if ( g() ) + __builtin_abort(); +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/vbase1.C dist.nbsd/gcc/testsuite/g++.dg/init/vbase1.C ---- dist/gcc/testsuite/g++.dg/init/vbase1.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/init/vbase1.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/init/vbase1.C dist.nbsd/gcc/testsuite/g++.dg/init/vbase1.C +--- dist.orig/gcc/testsuite/g++.dg/init/vbase1.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/init/vbase1.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,39 @@ +// PR c++/50618 +// { dg-do run } @@ -17118,9 +18625,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/init/vbase1.C dist.nbsd/gcc/tests + Diamond x(2); + x.printText(); +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/ipa/pr51759.C dist.nbsd/gcc/testsuite/g++.dg/ipa/pr51759.C ---- dist/gcc/testsuite/g++.dg/ipa/pr51759.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/ipa/pr51759.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/ipa/pr51759.C dist.nbsd/gcc/testsuite/g++.dg/ipa/pr51759.C +--- dist.orig/gcc/testsuite/g++.dg/ipa/pr51759.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/ipa/pr51759.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,26 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ @@ -17148,9 +18655,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/ipa/pr51759.C dist.nbsd/gcc/tests + abort (); +} + -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/other/pr49133.C dist.nbsd/gcc/testsuite/g++.dg/other/pr49133.C ---- dist/gcc/testsuite/g++.dg/other/pr49133.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/other/pr49133.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/other/pr49133.C dist.nbsd/gcc/testsuite/g++.dg/other/pr49133.C +--- dist.orig/gcc/testsuite/g++.dg/other/pr49133.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/other/pr49133.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,37 @@ +/* { dg-do run { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-O2 -msse2" } */ @@ -17189,9 +18696,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/other/pr49133.C dist.nbsd/gcc/tes + + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/other/pr50464.C dist.nbsd/gcc/testsuite/g++.dg/other/pr50464.C ---- dist/gcc/testsuite/g++.dg/other/pr50464.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/other/pr50464.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/other/pr50464.C dist.nbsd/gcc/testsuite/g++.dg/other/pr50464.C +--- dist.orig/gcc/testsuite/g++.dg/other/pr50464.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/other/pr50464.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,170 @@ +// { dg-do compile { target i?86-*-* x86_64-*-* } } +// { dg-options "-O3 -mxop" } @@ -17363,9 +18870,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/other/pr50464.C dist.nbsd/gcc/tes + dataspaceDims.begin(), dataspaceDims.end(), + maxDataspaceDims.begin(), ulong_t( 0 ), ((ulong_t)(slong_t)(-1)) ); +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/parse/ambig6.C dist.nbsd/gcc/testsuite/g++.dg/parse/ambig6.C ---- dist/gcc/testsuite/g++.dg/parse/ambig6.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/parse/ambig6.C Wed Nov 7 11:47:31 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/parse/ambig6.C dist.nbsd/gcc/testsuite/g++.dg/parse/ambig6.C +--- dist.orig/gcc/testsuite/g++.dg/parse/ambig6.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/parse/ambig6.C Wed Feb 19 16:43:57 2014 @@ -0,0 +1,12 @@ +// PR c++/48046 + @@ -17379,9 +18886,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/parse/ambig6.C dist.nbsd/gcc/test + + static T t; // { dg-error "" } +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/pr48660.C dist.nbsd/gcc/testsuite/g++.dg/pr48660.C ---- dist/gcc/testsuite/g++.dg/pr48660.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/pr48660.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/pr48660.C dist.nbsd/gcc/testsuite/g++.dg/pr48660.C +--- dist.orig/gcc/testsuite/g++.dg/pr48660.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/pr48660.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,22 @@ +template struct val { char a[N]; }; + @@ -17405,9 +18912,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/pr48660.C dist.nbsd/gcc/testsuite +}; + +Base* make() { return new Derived; } -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/rtti/anon-ns1.C dist.nbsd/gcc/testsuite/g++.dg/rtti/anon-ns1.C ---- dist/gcc/testsuite/g++.dg/rtti/anon-ns1.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/rtti/anon-ns1.C Wed Nov 7 11:47:32 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/rtti/anon-ns1.C dist.nbsd/gcc/testsuite/g++.dg/rtti/anon-ns1.C +--- dist.orig/gcc/testsuite/g++.dg/rtti/anon-ns1.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/rtti/anon-ns1.C Wed Feb 19 16:43:58 2014 @@ -0,0 +1,15 @@ +// PR c++/49440 +// The typeinfo name for A should start with * so we compare @@ -17424,9 +18931,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/rtti/anon-ns1.C dist.nbsd/gcc/tes +{ + throw A(); +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/template/nontype23.C dist.nbsd/gcc/testsuite/g++.dg/template/nontype23.C ---- dist/gcc/testsuite/g++.dg/template/nontype23.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/template/nontype23.C Wed Nov 7 11:47:31 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/template/nontype23.C dist.nbsd/gcc/testsuite/g++.dg/template/nontype23.C +--- dist.orig/gcc/testsuite/g++.dg/template/nontype23.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/template/nontype23.C Wed Feb 19 16:43:57 2014 @@ -0,0 +1,9 @@ +// PR c++/48936 + @@ -17437,9 +18944,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/template/nontype23.C dist.nbsd/gc + enum { c = sizeof (foo <(a == 0)> ()) }; +}; +S x; -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr47714.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr47714.C ---- dist/gcc/testsuite/g++.dg/torture/pr47714.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr47714.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr47714.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr47714.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr47714.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr47714.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,16 @@ +struct A { virtual ~A () {} }; +struct B { virtual ~B () {} }; @@ -17457,9 +18964,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr47714.C dist.nbsd/gcc/t + bar (x); + return __null; +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49039.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49039.C ---- dist/gcc/testsuite/g++.dg/torture/pr49039.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49039.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr49039.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49039.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr49039.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49039.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,76 @@ +// PR tree-optimization/49039 +// { dg-do run } @@ -17537,9 +19044,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49039.C dist.nbsd/gcc/t + Test ("-"); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49115.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49115.C ---- dist/gcc/testsuite/g++.dg/torture/pr49115.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49115.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr49115.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49115.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr49115.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49115.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,25 @@ +// { dg-do run } + @@ -17566,9 +19073,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49115.C dist.nbsd/gcc/t + abort (); + } +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49615.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49615.C ---- dist/gcc/testsuite/g++.dg/torture/pr49615.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49615.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr49615.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49615.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr49615.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49615.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,29 @@ +/* { dg-do compile } */ +/* { dg-options "-g" } */ @@ -17599,9 +19106,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49615.C dist.nbsd/gcc/t + for (;;) { } +} + -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49644.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49644.C ---- dist/gcc/testsuite/g++.dg/torture/pr49644.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49644.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr49644.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr49644.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr49644.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr49644.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,17 @@ +// PR c/49644 +// { dg-do run } @@ -17620,9 +19127,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr49644.C dist.nbsd/gcc/t + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr50189.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr50189.C ---- dist/gcc/testsuite/g++.dg/torture/pr50189.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr50189.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr50189.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr50189.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr50189.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr50189.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,120 @@ +// { dg-do run } + @@ -17744,9 +19251,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr50189.C dist.nbsd/gcc/t + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr51344.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr51344.C ---- dist/gcc/testsuite/g++.dg/torture/pr51344.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr51344.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/torture/pr51344.C dist.nbsd/gcc/testsuite/g++.dg/torture/pr51344.C +--- dist.orig/gcc/testsuite/g++.dg/torture/pr51344.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/torture/pr51344.C Wed Feb 19 16:44:00 2014 @@ -0,0 +1,11 @@ +/* { dg-do compile { target { i?86-*-* && ilp32 } } } */ +class A; @@ -17759,9 +19266,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/torture/pr51344.C dist.nbsd/gcc/t + return a; + } +}; -diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/tree-ssa/pr49911.C dist.nbsd/gcc/testsuite/g++.dg/tree-ssa/pr49911.C ---- dist/gcc/testsuite/g++.dg/tree-ssa/pr49911.C Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/g++.dg/tree-ssa/pr49911.C Wed Nov 7 11:47:33 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.dg/tree-ssa/pr49911.C dist.nbsd/gcc/testsuite/g++.dg/tree-ssa/pr49911.C +--- dist.orig/gcc/testsuite/g++.dg/tree-ssa/pr49911.C Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/g++.dg/tree-ssa/pr49911.C Wed Feb 19 16:43:59 2014 @@ -0,0 +1,41 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fno-rtti -fno-exceptions -fno-strict-aliasing -fdump-tree-vrp2" } */ @@ -17804,9 +19311,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.dg/tree-ssa/pr49911.C dist.nbsd/gcc/ + +/* { dg-final { scan-tree-dump-times "Folding predicate.*45" 0 "vrp2"} } */ +/* { dg-final { cleanup-tree-dump "vrp2" } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog dist.nbsd/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog ---- dist/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Wed Nov 7 13:39:49 2012 -+++ dist.nbsd/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Wed Nov 7 11:47:28 2012 +diff -rNU3 dist.orig/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog dist.nbsd/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog +--- dist.orig/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Thu Apr 28 14:12:05 2011 ++++ dist.nbsd/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog Wed Feb 19 16:43:56 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -17815,9 +19322,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog dist.nb 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c ---- dist/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/limits-externdecl.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,56 @@ +/* Inspired by the test case for PR middle-end/52640. */ + @@ -17875,9 +19382,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/limits-externdecl. + 0 +}; + -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr38752.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr38752.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr38752.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr38752.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr38752.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr38752.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr38752.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr38752.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,25 @@ +typedef struct +{ @@ -17904,9 +19411,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr38752.c dist.nbs + return 0; +} + -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr48742.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr48742.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr48742.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr48742.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr48742.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr48742.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr48742.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr48742.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,15 @@ +/* PR c/48742 */ + @@ -17923,9 +19430,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr48742.c dist.nbs +{ + baz (1 <= 2 % (3 >> 1 > 5 / 6 == 3)); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr49238.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr49238.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr49238.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr49238.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr49238.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr49238.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr49238.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr49238.c Wed Feb 19 16:43:57 2014 @@ -0,0 +1,18 @@ +/* PR target/49238 */ +extern int bar (void); @@ -17945,25 +19452,25 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr49238.c dist.nbs + if ((i == bar ()) | (bar () >= a)) + bar (); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-1.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,4 @@ +struct s { char p[2]; }; +static struct s v; +const int o0 = (int) ((void *) &v.p[0] - (void *) &v) + 0U; +const int o1 = (int) ((void *) &v.p[0] - (void *) &v) + 1U; -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr50565-2.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,4 @@ +struct s { char p[2]; }; +static struct s v; +const int o0 = (int) ((void *) &v.p[0] - (void *) &v) + 0; +const int o1 = (int) ((void *) &v.p[0] - (void *) &v) + 1; -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr51767.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr51767.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr51767.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr51767.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr51767.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr51767.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr51767.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr51767.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,23 @@ +/* PR rtl-optimization/51767 */ + @@ -17988,27 +19495,27 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr51767.c dist.nbs + + foo (x, 2); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-1.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,5 @@ +void +f (void) +{ + int i = (0 ? 1 : 0U / 0); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c ---- dist/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c Wed Nov 7 11:47:30 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c +--- dist.orig/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/compile/pr53418-2.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,5 @@ +void +f (void) +{ + int i = (1 ? 0U / 0 : 1); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/20120111-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120111-1.c ---- dist/gcc/testsuite/gcc.c-torture/execute/20120111-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120111-1.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/20120111-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120111-1.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/20120111-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120111-1.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,18 @@ +#include +#include @@ -18028,9 +19535,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/20120111-1.c dist. + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/20120427-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120427-1.c ---- dist/gcc/testsuite/gcc.c-torture/execute/20120427-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120427-1.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/20120427-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120427-1.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/20120427-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/20120427-1.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,36 @@ +typedef struct sreal +{ @@ -18068,8 +19575,8 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/20120427-1.c dist. + } + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/960321-1.x dist.nbsd/gcc/testsuite/gcc.c-torture/execute/960321-1.x ---- dist/gcc/testsuite/gcc.c-torture/execute/960321-1.x Wed Nov 7 13:39:53 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/960321-1.x dist.nbsd/gcc/testsuite/gcc.c-torture/execute/960321-1.x +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/960321-1.x Mon Jun 7 21:15:05 2010 +++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/960321-1.x Thu Jan 1 00:00:00 1970 @@ -1,15 +0,0 @@ -# This test fails to link on 64-bit Solaris 2/x86 due to a Sun as bug. @@ -18087,9 +19594,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/960321-1.x dist.nb - } -} -return 0 -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/doloop-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-1.c ---- dist/gcc/testsuite/gcc.c-torture/execute/doloop-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-1.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/doloop-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-1.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/doloop-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-1.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,18 @@ +#include + @@ -18109,9 +19616,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/doloop-1.c dist.nb + abort (); + exit (0); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/doloop-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-2.c ---- dist/gcc/testsuite/gcc.c-torture/execute/doloop-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-2.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/doloop-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-2.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/doloop-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/doloop-2.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,18 @@ +#include + @@ -18131,9 +19638,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/doloop-2.c dist.nb + abort (); + exit (0); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr48809.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48809.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr48809.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48809.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr48809.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48809.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr48809.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48809.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,60 @@ +/* PR tree-optimization/48809 */ + @@ -18195,9 +19702,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr48809.c dist.nbs + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,20 @@ +/* PR middle-end/48973 */ + @@ -18219,9 +19726,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr48973-1.c dist.n + foo (s.f); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,14 @@ +/* PR middle-end/48973 */ + @@ -18237,9 +19744,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr48973-2.c dist.n + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49039.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49039.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr49039.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49039.c Wed Nov 7 11:47:28 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49039.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49039.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49039.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49039.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,26 @@ +/* PR tree-optimization/49039 */ +extern void abort (void); @@ -18267,9 +19774,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49039.c dist.nbs + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49161.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49161.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr49161.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49161.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49161.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49161.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49161.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49161.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,46 @@ +/* PR tree-optimization/49161 */ + @@ -18317,9 +19824,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49161.c dist.nbs + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49186.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49186.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr49186.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49186.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49186.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49186.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49186.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49186.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,15 @@ +/* PR target/49186 */ +extern void abort (void); @@ -18336,9 +19843,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49186.c dist.nbs + + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49279.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49279.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr49279.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49279.c Wed Nov 7 11:47:28 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49279.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49279.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49279.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49279.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,35 @@ +/* PR tree-optimization/49279 */ +extern void abort (void); @@ -18375,9 +19882,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49279.c dist.nbs + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49644.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49644.c ---- dist/gcc/testsuite/gcc.c-torture/execute/pr49644.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49644.c Wed Nov 7 11:47:29 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49644.c dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49644.c +--- dist.orig/gcc/testsuite/gcc.c-torture/execute/pr49644.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.c-torture/execute/pr49644.c Wed Feb 19 16:43:56 2014 @@ -0,0 +1,16 @@ +/* PR c/49644 */ + @@ -18395,14 +19902,14 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.c-torture/execute/pr49644.c dist.nbs + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h dist.nbsd/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h ---- dist/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h Wed Nov 7 13:39:45 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h dist.nbsd/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h +--- dist.orig/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h Thu Mar 6 18:08:40 2008 +++ dist.nbsd/gcc/testsuite/gcc.dg/cpp/#cmdlne-M-2.h Thu Jan 1 00:00:00 1970 @@ -1 +0,0 @@ -/* empty */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/delay-slot-2.c dist.nbsd/gcc/testsuite/gcc.dg/delay-slot-2.c ---- dist/gcc/testsuite/gcc.dg/delay-slot-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/delay-slot-2.c Wed Nov 7 11:47:35 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/delay-slot-2.c dist.nbsd/gcc/testsuite/gcc.dg/delay-slot-2.c +--- dist.orig/gcc/testsuite/gcc.dg/delay-slot-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/delay-slot-2.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,116 @@ +/* PR rtl-optimization/51187 */ +/* Reported by Jurij Smakov */ @@ -18520,9 +20027,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/delay-slot-2.c dist.nbsd/gcc/test +} + +/* { dg-final { scan-assembler "printf" } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/dfp/pr52140.c dist.nbsd/gcc/testsuite/gcc.dg/dfp/pr52140.c ---- dist/gcc/testsuite/gcc.dg/dfp/pr52140.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/dfp/pr52140.c Wed Nov 7 11:47:35 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/dfp/pr52140.c dist.nbsd/gcc/testsuite/gcc.dg/dfp/pr52140.c +--- dist.orig/gcc/testsuite/gcc.dg/dfp/pr52140.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/dfp/pr52140.c Wed Feb 19 16:44:01 2014 @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O1" } */ @@ -18534,9 +20041,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/dfp/pr52140.c dist.nbsd/gcc/tests +{ + return (x < y) || (x > y); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/gomp/pr49640.c dist.nbsd/gcc/testsuite/gcc.dg/gomp/pr49640.c ---- dist/gcc/testsuite/gcc.dg/gomp/pr49640.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/gomp/pr49640.c Wed Nov 7 11:47:34 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/gomp/pr49640.c dist.nbsd/gcc/testsuite/gcc.dg/gomp/pr49640.c +--- dist.orig/gcc/testsuite/gcc.dg/gomp/pr49640.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/gomp/pr49640.c Wed Feb 19 16:44:01 2014 @@ -0,0 +1,29 @@ +/* PR middle-end/49640 */ +/* { dg-do compile } */ @@ -18567,9 +20074,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/gomp/pr49640.c dist.nbsd/gcc/test + for (kk = 0; kk < R; ++kk) + y[i + ii][j + jj][k + kk] = factor * x[ii][jj][kk] + zero; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/ipa/pr45644.c dist.nbsd/gcc/testsuite/gcc.dg/ipa/pr45644.c ---- dist/gcc/testsuite/gcc.dg/ipa/pr45644.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/ipa/pr45644.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/ipa/pr45644.c dist.nbsd/gcc/testsuite/gcc.dg/ipa/pr45644.c +--- dist.orig/gcc/testsuite/gcc.dg/ipa/pr45644.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/ipa/pr45644.c Wed Feb 19 16:44:02 2014 @@ -0,0 +1,35 @@ +/* Verify that we do not IPA-SRA bitfields. */ +/* { dg-do run } */ @@ -18606,16 +20113,16 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/ipa/pr45644.c dist.nbsd/gcc/tests + + return bar (&s); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/noncompile/pr52290.c dist.nbsd/gcc/testsuite/gcc.dg/noncompile/pr52290.c ---- dist/gcc/testsuite/gcc.dg/noncompile/pr52290.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/noncompile/pr52290.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/noncompile/pr52290.c dist.nbsd/gcc/testsuite/gcc.dg/noncompile/pr52290.c +--- dist.orig/gcc/testsuite/gcc.dg/noncompile/pr52290.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/noncompile/pr52290.c Wed Feb 19 16:44:02 2014 @@ -0,0 +1,3 @@ +/* { dg-error "undeclared here" "" { target *-*-* } 3 } */ +/* { dg-error "expected" "" { target *-*-* } 3 } */ +int f()[j] -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr48685.c dist.nbsd/gcc/testsuite/gcc.dg/pr48685.c ---- dist/gcc/testsuite/gcc.dg/pr48685.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr48685.c Wed Nov 7 11:47:34 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr48685.c dist.nbsd/gcc/testsuite/gcc.dg/pr48685.c +--- dist.orig/gcc/testsuite/gcc.dg/pr48685.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr48685.c Wed Feb 19 16:44:01 2014 @@ -0,0 +1,11 @@ +/* PR c/48685 */ +/* { dg-do compile } */ @@ -18628,9 +20135,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr48685.c dist.nbsd/gcc/testsuite + (void) (1 == 2 ? (void) 0 : (v = 0)); + return v; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr48774.c dist.nbsd/gcc/testsuite/gcc.dg/pr48774.c ---- dist/gcc/testsuite/gcc.dg/pr48774.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr48774.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr48774.c dist.nbsd/gcc/testsuite/gcc.dg/pr48774.c +--- dist.orig/gcc/testsuite/gcc.dg/pr48774.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr48774.c Wed Feb 19 16:44:01 2014 @@ -0,0 +1,38 @@ +/* PR target/48774 */ +/* { dg-do run } */ @@ -18670,9 +20177,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr48774.c dist.nbsd/gcc/testsuite + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr48837.c dist.nbsd/gcc/testsuite/gcc.dg/pr48837.c ---- dist/gcc/testsuite/gcc.dg/pr48837.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr48837.c Wed Nov 7 11:47:34 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr48837.c dist.nbsd/gcc/testsuite/gcc.dg/pr48837.c +--- dist.orig/gcc/testsuite/gcc.dg/pr48837.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr48837.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,30 @@ +/* PR tree-optimization/48837 */ +/* { dg-do run } */ @@ -18704,9 +20211,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr48837.c dist.nbsd/gcc/testsuite + return 0; +} + -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr49120.c dist.nbsd/gcc/testsuite/gcc.dg/pr49120.c ---- dist/gcc/testsuite/gcc.dg/pr49120.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr49120.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr49120.c dist.nbsd/gcc/testsuite/gcc.dg/pr49120.c +--- dist.orig/gcc/testsuite/gcc.dg/pr49120.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr49120.c Wed Feb 19 16:44:01 2014 @@ -0,0 +1,11 @@ +/* PR c/49120 */ +/* { dg-do compile } */ @@ -18719,9 +20226,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr49120.c dist.nbsd/gcc/testsuite + int c = ({ char b[a + 1]; b[0] = 0; b[0]; }); + return c; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr49307.c dist.nbsd/gcc/testsuite/gcc.dg/pr49307.c ---- dist/gcc/testsuite/gcc.dg/pr49307.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr49307.c Wed Nov 7 11:47:35 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr49307.c dist.nbsd/gcc/testsuite/gcc.dg/pr49307.c +--- dist.orig/gcc/testsuite/gcc.dg/pr49307.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr49307.c Wed Feb 19 16:44:02 2014 @@ -0,0 +1,21 @@ +/* PR target/49307 */ +/* { dg-do compile } */ @@ -18744,9 +20251,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr49307.c dist.nbsd/gcc/testsuite + free (p); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr49619.c dist.nbsd/gcc/testsuite/gcc.dg/pr49619.c ---- dist/gcc/testsuite/gcc.dg/pr49619.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr49619.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr49619.c dist.nbsd/gcc/testsuite/gcc.dg/pr49619.c +--- dist.orig/gcc/testsuite/gcc.dg/pr49619.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr49619.c Wed Feb 19 16:44:01 2014 @@ -0,0 +1,13 @@ +/* PR rtl-optimization/49619 */ +/* { dg-do compile } */ @@ -18761,9 +20268,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr49619.c dist.nbsd/gcc/testsuite + b = 0; + b = (a && ((a = 1, 0 >= b) || (short) (x + (b & x)))); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr51408.c dist.nbsd/gcc/testsuite/gcc.dg/pr51408.c ---- dist/gcc/testsuite/gcc.dg/pr51408.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr51408.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr51408.c dist.nbsd/gcc/testsuite/gcc.dg/pr51408.c +--- dist.orig/gcc/testsuite/gcc.dg/pr51408.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr51408.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,22 @@ +/* This testcase used to fail because of a bug in + arm.md:*minmax_arithsi. */ @@ -18787,9 +20294,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr51408.c dist.nbsd/gcc/testsuite + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr51821.c dist.nbsd/gcc/testsuite/gcc.dg/pr51821.c ---- dist/gcc/testsuite/gcc.dg/pr51821.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr51821.c Wed Nov 7 11:47:34 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr51821.c dist.nbsd/gcc/testsuite/gcc.dg/pr51821.c +--- dist.orig/gcc/testsuite/gcc.dg/pr51821.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr51821.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,25 @@ +/* { dg-do run } */ +/* { dg-options "-std=c99 -O2" } */ @@ -18816,9 +20323,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr51821.c dist.nbsd/gcc/testsuite + + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr52139.c dist.nbsd/gcc/testsuite/gcc.dg/pr52139.c ---- dist/gcc/testsuite/gcc.dg/pr52139.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/pr52139.c Wed Nov 7 11:47:35 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/pr52139.c dist.nbsd/gcc/testsuite/gcc.dg/pr52139.c +--- dist.orig/gcc/testsuite/gcc.dg/pr52139.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/pr52139.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,49 @@ +/* PR rtl-optimization/52139 */ +/* { dg-do compile } */ @@ -18869,9 +20376,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/pr52139.c dist.nbsd/gcc/testsuite + } + goto *p; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr48542.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48542.c ---- dist/gcc/testsuite/gcc.dg/torture/pr48542.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48542.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/torture/pr48542.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48542.c +--- dist.orig/gcc/testsuite/gcc.dg/torture/pr48542.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48542.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,57 @@ +/* { dg-do run } */ +/* The return-address was clobbered. */ @@ -18930,9 +20437,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr48542.c dist.nbsd/gcc/t + abort(); + exit (0); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr48822.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48822.c ---- dist/gcc/testsuite/gcc.dg/torture/pr48822.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48822.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/torture/pr48822.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48822.c +--- dist.orig/gcc/testsuite/gcc.dg/torture/pr48822.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr48822.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,20 @@ +/* { dg-do compile } */ + @@ -18954,9 +20461,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr48822.c dist.nbsd/gcc/t + } + foo (&a, &b); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr49651.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr49651.c ---- dist/gcc/testsuite/gcc.dg/torture/pr49651.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr49651.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/torture/pr49651.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr49651.c +--- dist.orig/gcc/testsuite/gcc.dg/torture/pr49651.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr49651.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,31 @@ +/* { dg-do run } */ + @@ -18989,9 +20496,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr49651.c dist.nbsd/gcc/t + abort (); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr51106-1.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-1.c ---- dist/gcc/testsuite/gcc.dg/torture/pr51106-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-1.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/torture/pr51106-1.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-1.c +--- dist.orig/gcc/testsuite/gcc.dg/torture/pr51106-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-1.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,14 @@ +/* PR target/51106 */ +/* { dg-do "compile" } */ @@ -19007,9 +20514,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr51106-1.c dist.nbsd/gcc +} + +/* { dg-warning "probably doesn.t match constraints" "" { target *-*-* } 8 } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr51106-2.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-2.c ---- dist/gcc/testsuite/gcc.dg/torture/pr51106-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-2.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/torture/pr51106-2.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-2.c +--- dist.orig/gcc/testsuite/gcc.dg/torture/pr51106-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr51106-2.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,14 @@ +/* PR target/51106 */ +/* { dg-do "compile" } */ @@ -19025,9 +20532,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr51106-2.c dist.nbsd/gcc +} + +/* { dg-warning "probably doesn.t match constraints" "" { target *-*-* } 8 } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr52693.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr52693.c ---- dist/gcc/testsuite/gcc.dg/torture/pr52693.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr52693.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/torture/pr52693.c dist.nbsd/gcc/testsuite/gcc.dg/torture/pr52693.c +--- dist.orig/gcc/testsuite/gcc.dg/torture/pr52693.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/torture/pr52693.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,33 @@ +/* { dg-do run } */ + @@ -19062,9 +20569,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/torture/pr52693.c dist.nbsd/gcc/t + + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/tree-prof/pr44777.c dist.nbsd/gcc/testsuite/gcc.dg/tree-prof/pr44777.c ---- dist/gcc/testsuite/gcc.dg/tree-prof/pr44777.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/tree-prof/pr44777.c Wed Nov 7 11:47:34 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/tree-prof/pr44777.c dist.nbsd/gcc/testsuite/gcc.dg/tree-prof/pr44777.c +--- dist.orig/gcc/testsuite/gcc.dg/tree-prof/pr44777.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/tree-prof/pr44777.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,43 @@ +/* PR middle-end/44777 */ +/* { dg-options "-O0" } */ @@ -19109,9 +20616,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/tree-prof/pr44777.c dist.nbsd/gcc +#endif + exit (0); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c dist.nbsd/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c ---- dist/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c Wed Nov 7 11:47:35 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c dist.nbsd/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c +--- dist.orig/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c Wed Feb 19 16:44:03 2014 @@ -0,0 +1,31 @@ +/* PR tree-optimization/49039 */ +/* { dg-do compile } */ @@ -19144,9 +20651,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/tree-ssa/pr49039.c dist.nbsd/gcc/ +/* { dg-final { scan-tree-dump "Folding predicate maxv_\[0-9\]* == 5 to 0" "vrp1" } } */ +/* { dg-final { scan-tree-dump "Folding predicate maxv_\[0-9\]* == 6 to 0" "vrp1" } } */ +/* { dg-final { cleanup-tree-dump "vrp1" } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/vect/pr48172.c dist.nbsd/gcc/testsuite/gcc.dg/vect/pr48172.c ---- dist/gcc/testsuite/gcc.dg/vect/pr48172.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/vect/pr48172.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/vect/pr48172.c dist.nbsd/gcc/testsuite/gcc.dg/vect/pr48172.c +--- dist.orig/gcc/testsuite/gcc.dg/vect/pr48172.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/vect/pr48172.c Wed Feb 19 16:44:03 2014 @@ -0,0 +1,33 @@ +/* { dg-do run } */ + @@ -19181,9 +20688,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/vect/pr48172.c dist.nbsd/gcc/test +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/vect/pr49038.c dist.nbsd/gcc/testsuite/gcc.dg/vect/pr49038.c ---- dist/gcc/testsuite/gcc.dg/vect/pr49038.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/vect/pr49038.c Wed Nov 7 11:47:38 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/vect/pr49038.c dist.nbsd/gcc/testsuite/gcc.dg/vect/pr49038.c +--- dist.orig/gcc/testsuite/gcc.dg/vect/pr49038.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/vect/pr49038.c Wed Feb 19 16:44:03 2014 @@ -0,0 +1,42 @@ +#include +#include @@ -19227,9 +20734,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/vect/pr49038.c dist.nbsd/gcc/test +} + +/* { dg-final { cleanup-tree-dump "vect" } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c dist.nbsd/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c ---- dist/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c Wed Nov 7 11:47:37 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c dist.nbsd/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c +--- dist.orig/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c Wed Feb 19 16:44:03 2014 @@ -0,0 +1,116 @@ +/* { dg-require-effective-target vect_int } */ + @@ -19347,9 +20854,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.dg/vect/vect-strided-u8-i8-gap4-unkn +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_interleave && vect_extract_even_odd } } } } */ +/* { dg-final { cleanup-tree-dump "vect" } } */ + -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c dist.nbsd/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c ---- dist/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c dist.nbsd/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c +--- dist.orig/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,21 @@ +/* Test the `vset_lane_s8' ARM Neon intrinsic. */ + @@ -19372,9 +20879,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/arm/neon-vset_lanes8.c dist.n + abort(); + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/arm/pr48252.c dist.nbsd/gcc/testsuite/gcc.target/arm/pr48252.c ---- dist/gcc/testsuite/gcc.target/arm/pr48252.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/arm/pr48252.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/arm/pr48252.c dist.nbsd/gcc/testsuite/gcc.target/arm/pr48252.c +--- dist.orig/gcc/testsuite/gcc.target/arm/pr48252.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/arm/pr48252.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,31 @@ +/* { dg-do run } */ +/* { dg-require-effective-target arm_neon_hw } */ @@ -19407,9 +20914,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/arm/pr48252.c dist.nbsd/gcc/t + + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/arm/pr51835.c dist.nbsd/gcc/testsuite/gcc.target/arm/pr51835.c ---- dist/gcc/testsuite/gcc.target/arm/pr51835.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/arm/pr51835.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/arm/pr51835.c dist.nbsd/gcc/testsuite/gcc.target/arm/pr51835.c +--- dist.orig/gcc/testsuite/gcc.target/arm/pr51835.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/arm/pr51835.c Wed Feb 19 16:44:06 2014 @@ -0,0 +1,14 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mfloat-abi=hard -mfpu=fpv4-sp-d16" } */ @@ -19425,9 +20932,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/arm/pr51835.c dist.nbsd/gcc/t +} + +/* { dg-final { scan-assembler-times "fmrrd\[\\t \]+r0,\[\\t \]*r1,\[\\t \]*d0" 2 } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/aes-avx-check.h dist.nbsd/gcc/testsuite/gcc.target/i386/aes-avx-check.h ---- dist/gcc/testsuite/gcc.target/i386/aes-avx-check.h Wed Nov 7 13:39:58 2012 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/aes-avx-check.h Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/aes-avx-check.h dist.nbsd/gcc/testsuite/gcc.target/i386/aes-avx-check.h +--- dist.orig/gcc/testsuite/gcc.target/i386/aes-avx-check.h Mon Jun 7 11:08:46 2010 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/aes-avx-check.h Wed Feb 19 16:44:05 2014 @@ -3,6 +3,7 @@ #endif #include @@ -19447,9 +20954,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/aes-avx-check.h dist.nbs { do_test (); #ifdef DEBUG -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/avx-check.h dist.nbsd/gcc/testsuite/gcc.target/i386/avx-check.h ---- dist/gcc/testsuite/gcc.target/i386/avx-check.h Wed Nov 7 13:39:59 2012 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/avx-check.h Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/avx-check.h dist.nbsd/gcc/testsuite/gcc.target/i386/avx-check.h +--- dist.orig/gcc/testsuite/gcc.target/i386/avx-check.h Mon Feb 7 13:15:14 2011 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/avx-check.h Wed Feb 19 16:44:05 2014 @@ -1,6 +1,7 @@ #include #include "cpuid.h" @@ -19468,9 +20975,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/avx-check.h dist.nbsd/gc { do_test (); #ifdef DEBUG -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/avx-os-support.h dist.nbsd/gcc/testsuite/gcc.target/i386/avx-os-support.h ---- dist/gcc/testsuite/gcc.target/i386/avx-os-support.h Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/avx-os-support.h Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/avx-os-support.h dist.nbsd/gcc/testsuite/gcc.target/i386/avx-os-support.h +--- dist.orig/gcc/testsuite/gcc.target/i386/avx-os-support.h Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/avx-os-support.h Wed Feb 19 16:44:05 2014 @@ -0,0 +1,10 @@ +/* Check if the OS supports executing AVX instructions. */ + @@ -19482,9 +20989,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/avx-os-support.h dist.nb + __asm__ ("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0)); + return (eax & 6) == 6; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h dist.nbsd/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h ---- dist/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h Wed Nov 7 13:39:59 2012 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h dist.nbsd/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h +--- dist.orig/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h Mon Jun 7 11:08:46 2010 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h Wed Feb 19 16:44:05 2014 @@ -3,6 +3,7 @@ #endif #include @@ -19504,9 +21011,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pclmul-avx-check.h dist. { do_test (); #ifdef DEBUG -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr47780.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr47780.c ---- dist/gcc/testsuite/gcc.target/i386/pr47780.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr47780.c Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pr47780.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr47780.c +--- dist.orig/gcc/testsuite/gcc.target/i386/pr47780.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr47780.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,14 @@ +/* PR debug/47780 */ +/* { dg-do compile } */ @@ -19522,9 +21029,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr47780.c dist.nbsd/gcc/ + a += b; + return a; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr48708.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr48708.c ---- dist/gcc/testsuite/gcc.target/i386/pr48708.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr48708.c Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pr48708.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr48708.c +--- dist.orig/gcc/testsuite/gcc.target/i386/pr48708.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr48708.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -msse2" } */ @@ -19541,9 +21048,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr48708.c dist.nbsd/gcc/ + ((T *) &s.d)[0] = *x; + return _mm_cmpeq_epi16 (s.d, *z); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr49920.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr49920.c ---- dist/gcc/testsuite/gcc.target/i386/pr49920.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr49920.c Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pr49920.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr49920.c +--- dist.orig/gcc/testsuite/gcc.target/i386/pr49920.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr49920.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ @@ -19568,9 +21075,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr49920.c dist.nbsd/gcc/ + + ((unsigned int *) MR_tempr2)[1] = MR_tempr1; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr50788.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr50788.c ---- dist/gcc/testsuite/gcc.target/i386/pr50788.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr50788.c Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pr50788.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr50788.c +--- dist.orig/gcc/testsuite/gcc.target/i386/pr50788.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr50788.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,10 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -mavx -fpeel-loops -fstack-protector-all" } */ @@ -19582,9 +21089,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr50788.c dist.nbsd/gcc/ +{ + return __builtin_ia32_maskloadpd256 ( __P, __M); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr51393.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr51393.c ---- dist/gcc/testsuite/gcc.target/i386/pr51393.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr51393.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pr51393.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr51393.c +--- dist.orig/gcc/testsuite/gcc.target/i386/pr51393.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr51393.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,22 @@ +/* { dg-do run } */ +/* { dg-require-effective-target avx } */ @@ -19608,9 +21115,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr51393.c dist.nbsd/gcc/ + if (in != out) + abort (); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr52330.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr52330.c ---- dist/gcc/testsuite/gcc.target/i386/pr52330.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr52330.c Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/pr52330.c dist.nbsd/gcc/testsuite/gcc.target/i386/pr52330.c +--- dist.orig/gcc/testsuite/gcc.target/i386/pr52330.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/pr52330.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,7 @@ +/* { dg-do compile } */ +/* { dg-options "-O0" } */ @@ -19619,9 +21126,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/pr52330.c dist.nbsd/gcc/ +{ + asm volatile ("# %H0" : : "r" (a)); /* { dg-error "not an offsettable" } */ +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c dist.nbsd/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c ---- dist/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c Wed Nov 7 13:39:58 2012 -+++ dist.nbsd/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c Wed Nov 7 11:47:39 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c dist.nbsd/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c +--- dist.orig/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c Wed Aug 20 13:22:30 2008 ++++ dist.nbsd/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c Wed Feb 19 16:44:05 2014 @@ -1,6 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target lp64 } */ @@ -19636,9 +21143,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/i386/sse2-init-v2di-2.c dist. -/* { dg-final { scan-assembler "movq" } } */ +/* { dg-final { scan-assembler-times "\\*vec_concatv2di_rex64_sse4_1/3" 1 } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/mips/reg-var-1.c dist.nbsd/gcc/testsuite/gcc.target/mips/reg-var-1.c ---- dist/gcc/testsuite/gcc.target/mips/reg-var-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/mips/reg-var-1.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/mips/reg-var-1.c dist.nbsd/gcc/testsuite/gcc.target/mips/reg-var-1.c +--- dist.orig/gcc/testsuite/gcc.target/mips/reg-var-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/mips/reg-var-1.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,16 @@ +/* { dg-do run } */ +register int g asm ("$18"); @@ -19656,9 +21163,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/mips/reg-var-1.c dist.nbsd/gc + test (); + return g != 3; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/altivec-34.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/altivec-34.c ---- dist/gcc/testsuite/gcc.target/powerpc/altivec-34.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/altivec-34.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/altivec-34.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/altivec-34.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/altivec-34.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/altivec-34.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,24 @@ +/* PR target/49621 */ +/* { dg-do compile } */ @@ -19684,9 +21191,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/altivec-34.c dist.nbs + + return 0; +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -19736,9 +21243,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-1.c dist +vsc llx16(long a, sc *p) { return __builtin_vec_lvlx (a,p); } +vuc llx17(long a, vuc *p) { return __builtin_vec_lvlx (a,p); } +vuc llx18(long a, uc *p) { return __builtin_vec_lvlx (a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -19788,9 +21295,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-2.c dist +vsc llxl16(long a, sc *p) { return __builtin_vec_lvlxl (a,p); } +vuc llxl17(long a, vuc *p) { return __builtin_vec_lvlxl (a,p); } +vuc llxl18(long a, uc *p) { return __builtin_vec_lvlxl (a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -19840,9 +21347,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-3.c dist +vsc lrx16(long a, sc *p) { return __builtin_vec_lvrx (a,p); } +vuc lrx17(long a, vuc *p) { return __builtin_vec_lvrx (a,p); } +vuc lrx18(long a, uc *p) { return __builtin_vec_lvrx (a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -19892,9 +21399,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-4.c dist +vsc lrxl16(long a, sc *p) { return __builtin_vec_lvrxl (a,p); } +vuc lrxl17(long a, vuc *p) { return __builtin_vec_lvrxl (a,p); } +vuc lrxl18(long a, uc *p) { return __builtin_vec_lvrxl (a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -19944,9 +21451,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-5.c dist +void slx16(vsc v, long a, sc *p) { __builtin_vec_stvlx (v,a,p); } +void slx17(vuc v, long a, vuc *p) { __builtin_vec_stvlx (v,a,p); } +void slx18(vuc v, long a, uc *p) { __builtin_vec_stvlx (v,a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -19996,9 +21503,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-6.c dist +void slxl16(vsc v, long a, sc *p) { __builtin_vec_stvlxl (v,a,p); } +void slxl17(vuc v, long a, vuc *p) { __builtin_vec_stvlxl (v,a,p); } +void slxl18(vuc v, long a, uc *p) { __builtin_vec_stvlxl (v,a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -20048,9 +21555,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-7.c dist +void srx16(vsc v, long a, sc *p) { __builtin_vec_stvrx (v,a,p); } +void srx17(vuc v, long a, vuc *p) { __builtin_vec_stvrx (v,a,p); } +void srx18(vuc v, long a, uc *p) { __builtin_vec_stvrx (v,a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c ---- dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,48 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -20100,9 +21607,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/cell_builtin-8.c dist +void srxl16(vsc v, long a, sc *p) { __builtin_vec_stvrxl (v,a,p); } +void srxl17(vuc v, long a, vuc *p) { __builtin_vec_stvrxl (v,a,p); } +void srxl18(vuc v, long a, uc *p) { __builtin_vec_stvrxl (v,a,p); } -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/pr48857.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr48857.c ---- dist/gcc/testsuite/gcc.target/powerpc/pr48857.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr48857.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/pr48857.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr48857.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/pr48857.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr48857.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,25 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -20129,9 +21636,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/pr48857.c dist.nbsd/g + *ptr = arg; /* should generate stxvd2x 34,0,{3,5}. */ +} + -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/pr53199.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr53199.c ---- dist/gcc/testsuite/gcc.target/powerpc/pr53199.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr53199.c Wed Nov 7 11:47:40 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/powerpc/pr53199.c dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr53199.c +--- dist.orig/gcc/testsuite/gcc.target/powerpc/pr53199.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/powerpc/pr53199.c Wed Feb 19 16:44:05 2014 @@ -0,0 +1,50 @@ +/* { dg-do compile { target { powerpc*-*-* } } } */ +/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */ @@ -20183,9 +21690,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/powerpc/pr53199.c dist.nbsd/g +{ + return __builtin_bswap64 (x); +} -diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/sparc/cas64.c dist.nbsd/gcc/testsuite/gcc.target/sparc/cas64.c ---- dist/gcc/testsuite/gcc.target/sparc/cas64.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/gcc/testsuite/gcc.target/sparc/cas64.c Wed Nov 7 11:47:38 2012 +diff -rNU3 dist.orig/gcc/testsuite/gcc.target/sparc/cas64.c dist.nbsd/gcc/testsuite/gcc.target/sparc/cas64.c +--- dist.orig/gcc/testsuite/gcc.target/sparc/cas64.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/gcc/testsuite/gcc.target/sparc/cas64.c Wed Feb 19 16:44:04 2014 @@ -0,0 +1,15 @@ +/* PR target/49660 */ + @@ -20202,9 +21709,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/gcc.target/sparc/cas64.c dist.nbsd/gcc/t +} + +/* { dg-final { scan-assembler-not "compare_and_swap_8" } } */ -diff -rNU3 -x *.info dist/gcc/testsuite/lib/target-supports.exp dist.nbsd/gcc/testsuite/lib/target-supports.exp ---- dist/gcc/testsuite/lib/target-supports.exp Wed Nov 7 13:39:49 2012 -+++ dist.nbsd/gcc/testsuite/lib/target-supports.exp Wed Nov 7 11:47:38 2012 +diff -rNU3 dist.orig/gcc/testsuite/lib/target-supports.exp dist.nbsd/gcc/testsuite/lib/target-supports.exp +--- dist.orig/gcc/testsuite/lib/target-supports.exp Tue Apr 12 16:37:04 2011 ++++ dist.nbsd/gcc/testsuite/lib/target-supports.exp Wed Feb 19 16:44:04 2014 @@ -960,8 +960,8 @@ check_runtime_nocache sse_os_support_available { int main () @@ -20256,9 +21763,9 @@ diff -rNU3 -x *.info dist/gcc/testsuite/lib/target-supports.exp dist.nbsd/gcc/te return 1 } return 0 -diff -rNU3 -x *.info dist/gcc/tree-cfg.c dist.nbsd/gcc/tree-cfg.c ---- dist/gcc/tree-cfg.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/tree-cfg.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-cfg.c dist.nbsd/gcc/tree-cfg.c +--- dist.orig/gcc/tree-cfg.c Mon Nov 29 19:20:48 2010 ++++ dist.nbsd/gcc/tree-cfg.c Wed Feb 19 16:43:53 2014 @@ -7092,7 +7092,8 @@ } if (location == UNKNOWN_LOCATION) @@ -20274,9 +21781,9 @@ diff -rNU3 -x *.info dist/gcc/tree-cfg.c dist.nbsd/gcc/tree-cfg.c } }; - -diff -rNU3 -x *.info dist/gcc/tree-cfgcleanup.c dist.nbsd/gcc/tree-cfgcleanup.c ---- dist/gcc/tree-cfgcleanup.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/tree-cfgcleanup.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/tree-cfgcleanup.c dist.nbsd/gcc/tree-cfgcleanup.c +--- dist.orig/gcc/tree-cfgcleanup.c Fri May 21 09:27:30 2010 ++++ dist.nbsd/gcc/tree-cfgcleanup.c Wed Feb 19 16:43:54 2014 @@ -560,7 +560,7 @@ BB is present in the cfg. */ if (bb == NULL @@ -20286,9 +21793,9 @@ diff -rNU3 -x *.info dist/gcc/tree-cfgcleanup.c dist.nbsd/gcc/tree-cfgcleanup.c || BASIC_BLOCK (bb->index) != bb || last_stmt (bb) == stmt || !gimple_call_noreturn_p (stmt)) -diff -rNU3 -x *.info dist/gcc/tree-inline.c dist.nbsd/gcc/tree-inline.c ---- dist/gcc/tree-inline.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/tree-inline.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-inline.c dist.nbsd/gcc/tree-inline.c +--- dist.orig/gcc/tree-inline.c Tue Mar 8 13:03:34 2011 ++++ dist.nbsd/gcc/tree-inline.c Wed Feb 19 16:43:53 2014 @@ -4179,14 +4179,16 @@ CONSTRUCTOR_ELTS (*tp)); *tp = new_tree; @@ -20308,9 +21815,9 @@ diff -rNU3 -x *.info dist/gcc/tree-inline.c dist.nbsd/gcc/tree-inline.c return NULL_TREE; } -diff -rNU3 -x *.info dist/gcc/tree-mudflap.c dist.nbsd/gcc/tree-mudflap.c ---- dist/gcc/tree-mudflap.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/tree-mudflap.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-mudflap.c dist.nbsd/gcc/tree-mudflap.c +--- dist.orig/gcc/tree-mudflap.c Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/tree-mudflap.c Wed Feb 19 16:44:07 2014 @@ -72,6 +72,13 @@ static gimple_seq mx_register_decls (tree, gimple_seq, location_t); static unsigned int execute_mudflap_function_decls (void); @@ -20365,9 +21872,9 @@ diff -rNU3 -x *.info dist/gcc/tree-mudflap.c dist.nbsd/gcc/tree-mudflap.c return; VEC_safe_push (tree, gc, deferred_static_decls, obj); -diff -rNU3 -x *.info dist/gcc/tree-outof-ssa.c dist.nbsd/gcc/tree-outof-ssa.c ---- dist/gcc/tree-outof-ssa.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/tree-outof-ssa.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/tree-outof-ssa.c dist.nbsd/gcc/tree-outof-ssa.c +--- dist.orig/gcc/tree-outof-ssa.c Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/tree-outof-ssa.c Wed Feb 19 16:43:50 2014 @@ -233,9 +233,10 @@ var = SSA_NAME_VAR (partition_to_var (SA.map, dest)); @@ -20381,9 +21888,9 @@ diff -rNU3 -x *.info dist/gcc/tree-outof-ssa.c dist.nbsd/gcc/tree-outof-ssa.c if (src_mode != dest_mode) { -diff -rNU3 -x *.info dist/gcc/tree-scalar-evolution.c dist.nbsd/gcc/tree-scalar-evolution.c ---- dist/gcc/tree-scalar-evolution.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/tree-scalar-evolution.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/tree-scalar-evolution.c dist.nbsd/gcc/tree-scalar-evolution.c +--- dist.orig/gcc/tree-scalar-evolution.c Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/tree-scalar-evolution.c Wed Feb 19 16:43:54 2014 @@ -2557,7 +2557,8 @@ if (size_expr++ > PARAM_VALUE (PARAM_SCEV_MAX_EXPR_SIZE)) return chrec_dont_know; @@ -20394,9 +21901,9 @@ diff -rNU3 -x *.info dist/gcc/tree-scalar-evolution.c dist.nbsd/gcc/tree-scalar- || is_gimple_min_invariant (chrec)) return chrec; -diff -rNU3 -x *.info dist/gcc/tree-sra.c dist.nbsd/gcc/tree-sra.c ---- dist/gcc/tree-sra.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/tree-sra.c Wed Nov 7 11:47:26 2012 +diff -rNU3 dist.orig/gcc/tree-sra.c dist.nbsd/gcc/tree-sra.c +--- dist.orig/gcc/tree-sra.c Tue Dec 21 11:05:49 2010 ++++ dist.nbsd/gcc/tree-sra.c Wed Feb 19 16:43:54 2014 @@ -771,12 +771,13 @@ disqualify_candidate (base, "Encountered a variable sized access."); return NULL; @@ -20457,9 +21964,9 @@ diff -rNU3 -x *.info dist/gcc/tree-sra.c dist.nbsd/gcc/tree-sra.c { gimple_stmt_iterator orig_gsi = *gsi; enum unscalarized_data_handling refreshed; -diff -rNU3 -x *.info dist/gcc/tree-ssa-dce.c dist.nbsd/gcc/tree-ssa-dce.c ---- dist/gcc/tree-ssa-dce.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/tree-ssa-dce.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-ssa-dce.c dist.nbsd/gcc/tree-ssa-dce.c +--- dist.orig/gcc/tree-ssa-dce.c Wed Nov 17 10:46:36 2010 ++++ dist.nbsd/gcc/tree-ssa-dce.c Wed Feb 19 16:43:53 2014 @@ -509,7 +509,14 @@ /* If the stmt lhs kills ref, then we can stop walking. */ @@ -20476,9 +21983,9 @@ diff -rNU3 -x *.info dist/gcc/tree-ssa-dce.c dist.nbsd/gcc/tree-ssa-dce.c { tree base, lhs = gimple_get_lhs (def_stmt); HOST_WIDE_INT size, offset, max_size; -diff -rNU3 -x *.info dist/gcc/tree-ssa-dom.c dist.nbsd/gcc/tree-ssa-dom.c ---- dist/gcc/tree-ssa-dom.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/tree-ssa-dom.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/tree-ssa-dom.c dist.nbsd/gcc/tree-ssa-dom.c +--- dist.orig/gcc/tree-ssa-dom.c Tue Jul 20 12:44:16 2010 ++++ dist.nbsd/gcc/tree-ssa-dom.c Wed Feb 19 16:43:52 2014 @@ -209,12 +209,11 @@ { enum tree_code subcode = gimple_assign_rhs_code (stmt); @@ -20493,9 +22000,9 @@ diff -rNU3 -x *.info dist/gcc/tree-ssa-dom.c dist.nbsd/gcc/tree-ssa-dom.c expr->ops.single.rhs = gimple_assign_rhs1 (stmt); break; case GIMPLE_UNARY_RHS: -diff -rNU3 -x *.info dist/gcc/tree-ssa-sccvn.c dist.nbsd/gcc/tree-ssa-sccvn.c ---- dist/gcc/tree-ssa-sccvn.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/tree-ssa-sccvn.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/tree-ssa-sccvn.c dist.nbsd/gcc/tree-ssa-sccvn.c +--- dist.orig/gcc/tree-ssa-sccvn.c Wed Mar 2 13:56:41 2011 ++++ dist.nbsd/gcc/tree-ssa-sccvn.c Wed Feb 19 16:44:07 2014 @@ -1805,12 +1805,26 @@ static inline bool set_ssa_val_to (tree from, tree to) @@ -20537,9 +22044,9 @@ diff -rNU3 -x *.info dist/gcc/tree-ssa-sccvn.c dist.nbsd/gcc/tree-ssa-sccvn.c if (currval != to && !operand_equal_p (currval, to, OEP_PURE_SAME)) { -diff -rNU3 -x *.info dist/gcc/tree-ssa-structalias.c dist.nbsd/gcc/tree-ssa-structalias.c ---- dist/gcc/tree-ssa-structalias.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/tree-ssa-structalias.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/tree-ssa-structalias.c dist.nbsd/gcc/tree-ssa-structalias.c +--- dist.orig/gcc/tree-ssa-structalias.c Tue Mar 8 13:31:13 2011 ++++ dist.nbsd/gcc/tree-ssa-structalias.c Wed Feb 19 16:43:50 2014 @@ -266,6 +266,7 @@ static varinfo_t first_or_preceding_vi_for_offset (varinfo_t, unsigned HOST_WIDE_INT); @@ -20646,9 +22153,9 @@ diff -rNU3 -x *.info dist/gcc/tree-ssa-structalias.c dist.nbsd/gcc/tree-ssa-stru } /* Return true if T is a type that does contain pointers. */ -diff -rNU3 -x *.info dist/gcc/tree-switch-conversion.c dist.nbsd/gcc/tree-switch-conversion.c ---- dist/gcc/tree-switch-conversion.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/tree-switch-conversion.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/tree-switch-conversion.c dist.nbsd/gcc/tree-switch-conversion.c +--- dist.orig/gcc/tree-switch-conversion.c Thu Sep 2 13:05:30 2010 ++++ dist.nbsd/gcc/tree-switch-conversion.c Wed Feb 19 16:43:54 2014 @@ -549,7 +549,7 @@ build_arrays (gimple swtch) { @@ -20752,9 +22259,9 @@ diff -rNU3 -x *.info dist/gcc/tree-switch-conversion.c dist.nbsd/gcc/tree-switch label1 = gimple_build_label (label_decl1); gsi_insert_before (&gsi, label1, GSI_SAME_STMT); -diff -rNU3 -x *.info dist/gcc/tree-tailcall.c dist.nbsd/gcc/tree-tailcall.c ---- dist/gcc/tree-tailcall.c Wed Nov 7 13:39:38 2012 -+++ dist.nbsd/gcc/tree-tailcall.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-tailcall.c dist.nbsd/gcc/tree-tailcall.c +--- dist.orig/gcc/tree-tailcall.c Fri Apr 23 15:47:44 2010 ++++ dist.nbsd/gcc/tree-tailcall.c Wed Feb 19 16:43:53 2014 @@ -1007,6 +1007,14 @@ integer_one_node); } @@ -20770,9 +22277,9 @@ diff -rNU3 -x *.info dist/gcc/tree-tailcall.c dist.nbsd/gcc/tree-tailcall.c for (; tailcalls; tailcalls = next) { next = tailcalls->next; -diff -rNU3 -x *.info dist/gcc/tree-vect-data-refs.c dist.nbsd/gcc/tree-vect-data-refs.c ---- dist/gcc/tree-vect-data-refs.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/tree-vect-data-refs.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/tree-vect-data-refs.c dist.nbsd/gcc/tree-vect-data-refs.c +--- dist.orig/gcc/tree-vect-data-refs.c Fri Apr 2 19:54:46 2010 ++++ dist.nbsd/gcc/tree-vect-data-refs.c Wed Feb 19 16:43:52 2014 @@ -1450,7 +1450,7 @@ loop_vec_info loop_vinfo = STMT_VINFO_LOOP_VINFO (stmt_info); bb_vec_info bb_vinfo = STMT_VINFO_BB_VINFO (stmt_info); @@ -20832,9 +22339,9 @@ diff -rNU3 -x *.info dist/gcc/tree-vect-data-refs.c dist.nbsd/gcc/tree-vect-data } return true; -diff -rNU3 -x *.info dist/gcc/tree-vect-loop-manip.c dist.nbsd/gcc/tree-vect-loop-manip.c ---- dist/gcc/tree-vect-loop-manip.c Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/tree-vect-loop-manip.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-vect-loop-manip.c dist.nbsd/gcc/tree-vect-loop-manip.c +--- dist.orig/gcc/tree-vect-loop-manip.c Tue Jan 19 16:05:57 2010 ++++ dist.nbsd/gcc/tree-vect-loop-manip.c Wed Feb 19 16:43:53 2014 @@ -1516,7 +1516,7 @@ edge pe; basic_block new_bb; @@ -20951,9 +22458,9 @@ diff -rNU3 -x *.info dist/gcc/tree-vect-loop-manip.c dist.nbsd/gcc/tree-vect-loo if (vect_print_dump_info (REPORT_DR_DETAILS)) { -diff -rNU3 -x *.info dist/gcc/tree-vect-loop.c dist.nbsd/gcc/tree-vect-loop.c ---- dist/gcc/tree-vect-loop.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/tree-vect-loop.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-vect-loop.c dist.nbsd/gcc/tree-vect-loop.c +--- dist.orig/gcc/tree-vect-loop.c Tue Mar 1 17:04:26 2011 ++++ dist.nbsd/gcc/tree-vect-loop.c Wed Feb 19 16:44:07 2014 @@ -711,6 +711,7 @@ LOOP_VINFO_STRIDED_STORES (res) = VEC_alloc (gimple, heap, 10); LOOP_VINFO_SLP_INSTANCES (res) = VEC_alloc (slp_instance, heap, 10); @@ -20983,9 +22490,9 @@ diff -rNU3 -x *.info dist/gcc/tree-vect-loop.c dist.nbsd/gcc/tree-vect-loop.c if (LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT (loop_vinfo) || LOOP_REQUIRES_VERSIONING_FOR_ALIAS (loop_vinfo)) -diff -rNU3 -x *.info dist/gcc/tree-vect-stmts.c dist.nbsd/gcc/tree-vect-stmts.c ---- dist/gcc/tree-vect-stmts.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/tree-vect-stmts.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-vect-stmts.c dist.nbsd/gcc/tree-vect-stmts.c +--- dist.orig/gcc/tree-vect-stmts.c Thu Mar 3 12:22:10 2011 ++++ dist.nbsd/gcc/tree-vect-stmts.c Wed Feb 19 16:43:54 2014 @@ -1416,7 +1416,7 @@ } else @@ -20995,9 +22502,9 @@ diff -rNU3 -x *.info dist/gcc/tree-vect-stmts.c dist.nbsd/gcc/tree-vect-stmts.c vec_oprnd0 = vect_get_vec_def_for_stmt_copy (dt[i], vec_oprnd1); vec_oprnd1 -diff -rNU3 -x *.info dist/gcc/tree-vectorizer.h dist.nbsd/gcc/tree-vectorizer.h ---- dist/gcc/tree-vectorizer.h Wed Nov 7 13:40:03 2012 -+++ dist.nbsd/gcc/tree-vectorizer.h Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/tree-vectorizer.h dist.nbsd/gcc/tree-vectorizer.h +--- dist.orig/gcc/tree-vectorizer.h Tue Nov 2 12:12:56 2010 ++++ dist.nbsd/gcc/tree-vectorizer.h Wed Feb 19 16:43:52 2014 @@ -242,6 +242,12 @@ /* The unrolling factor needed to SLP the loop. In case of that pure SLP is applied to the loop, i.e., no unrolling is needed, this is 1. */ @@ -21019,9 +22526,9 @@ diff -rNU3 -x *.info dist/gcc/tree-vectorizer.h dist.nbsd/gcc/tree-vectorizer.h #define LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT(L) \ VEC_length (gimple, (L)->may_misalign_stmts) > 0 -diff -rNU3 -x *.info dist/gcc/tree-vrp.c dist.nbsd/gcc/tree-vrp.c ---- dist/gcc/tree-vrp.c Wed Nov 7 13:39:36 2012 -+++ dist.nbsd/gcc/tree-vrp.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/gcc/tree-vrp.c dist.nbsd/gcc/tree-vrp.c +--- dist.orig/gcc/tree-vrp.c Tue Jan 25 09:48:07 2011 ++++ dist.nbsd/gcc/tree-vrp.c Wed Feb 19 16:44:06 2014 @@ -1,5 +1,5 @@ /* Support routines for Value Range Propagation (VRP). - Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 @@ -21222,9 +22729,9 @@ diff -rNU3 -x *.info dist/gcc/tree-vrp.c dist.nbsd/gcc/tree-vrp.c return need_assert; } -diff -rNU3 -x *.info dist/gcc/unwind-dw2-fde-glibc.c dist.nbsd/gcc/unwind-dw2-fde-glibc.c ---- dist/gcc/unwind-dw2-fde-glibc.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/unwind-dw2-fde-glibc.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/unwind-dw2-fde-glibc.c dist.nbsd/gcc/unwind-dw2-fde-glibc.c +--- dist.orig/gcc/unwind-dw2-fde-glibc.c Wed Nov 25 10:55:54 2009 ++++ dist.nbsd/gcc/unwind-dw2-fde-glibc.c Wed Feb 19 16:43:50 2014 @@ -57,6 +57,12 @@ # define USE_PT_GNU_EH_FRAME #endif @@ -21238,9 +22745,9 @@ diff -rNU3 -x *.info dist/gcc/unwind-dw2-fde-glibc.c dist.nbsd/gcc/unwind-dw2-fd #if defined(USE_PT_GNU_EH_FRAME) #ifndef __RELOC_POINTER -diff -rNU3 -x *.info dist/gcc/unwind-dw2-fde.c dist.nbsd/gcc/unwind-dw2-fde.c ---- dist/gcc/unwind-dw2-fde.c Wed Nov 7 13:39:39 2012 -+++ dist.nbsd/gcc/unwind-dw2-fde.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/unwind-dw2-fde.c dist.nbsd/gcc/unwind-dw2-fde.c +--- dist.orig/gcc/unwind-dw2-fde.c Sun Sep 20 11:03:33 2009 ++++ dist.nbsd/gcc/unwind-dw2-fde.c Wed Feb 19 16:43:52 2014 @@ -209,7 +209,9 @@ out: @@ -21251,9 +22758,27 @@ diff -rNU3 -x *.info dist/gcc/unwind-dw2-fde.c dist.nbsd/gcc/unwind-dw2-fde.c return (void *) ob; } -diff -rNU3 -x *.info dist/gcc/var-tracking.c dist.nbsd/gcc/var-tracking.c ---- dist/gcc/var-tracking.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/var-tracking.c Wed Nov 7 11:47:25 2012 +diff -rNU3 dist.orig/gcc/unwind-dw2.c dist.nbsd/gcc/unwind-dw2.c +--- dist.orig/gcc/unwind-dw2.c Tue Apr 27 09:41:30 2010 ++++ dist.nbsd/gcc/unwind-dw2.c Wed Feb 19 16:43:54 2014 +@@ -1076,12 +1076,14 @@ + break; + + case DW_CFA_GNU_window_save: ++#ifdef __sparc__ + /* ??? Hardcoded for SPARC register window configuration. */ + for (reg = 16; reg < 32; ++reg) + { + fs->regs.reg[reg].how = REG_SAVED_OFFSET; + fs->regs.reg[reg].loc.offset = (reg - 16) * sizeof (void *); + } ++#endif + break; + + case DW_CFA_GNU_args_size: +diff -rNU3 dist.orig/gcc/var-tracking.c dist.nbsd/gcc/var-tracking.c +--- dist.orig/gcc/var-tracking.c Sat Nov 6 06:28:59 2010 ++++ dist.nbsd/gcc/var-tracking.c Wed Feb 19 16:44:07 2014 @@ -4134,8 +4134,9 @@ VALUE_RECURSED_INTO (val) = true; @@ -21289,9 +22814,9 @@ diff -rNU3 -x *.info dist/gcc/var-tracking.c dist.nbsd/gcc/var-tracking.c || !mem_dies_at_call (loc->loc)) { if (old_loc != loc->loc && emit_notes) -diff -rNU3 -x *.info dist/gcc/varasm.c dist.nbsd/gcc/varasm.c ---- dist/gcc/varasm.c Wed Nov 7 13:40:02 2012 -+++ dist.nbsd/gcc/varasm.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/gcc/varasm.c dist.nbsd/gcc/varasm.c +--- dist.orig/gcc/varasm.c Tue Mar 8 13:03:34 2011 ++++ dist.nbsd/gcc/varasm.c Wed Feb 19 16:43:50 2014 @@ -30,6 +30,7 @@ #include "config.h" #include "system.h" @@ -21355,9 +22880,9 @@ diff -rNU3 -x *.info dist/gcc/varasm.c dist.nbsd/gcc/varasm.c } enum tls_model -diff -rNU3 -x *.info dist/include/ChangeLog dist.nbsd/include/ChangeLog ---- dist/include/ChangeLog Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/include/ChangeLog Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/include/ChangeLog dist.nbsd/include/ChangeLog +--- dist.orig/include/ChangeLog Thu Apr 28 14:09:36 2011 ++++ dist.nbsd/include/ChangeLog Wed Feb 19 16:43:50 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -21366,9 +22891,28 @@ diff -rNU3 -x *.info dist/include/ChangeLog dist.nbsd/include/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/intl/ChangeLog dist.nbsd/intl/ChangeLog ---- dist/intl/ChangeLog Wed Nov 7 13:39:02 2012 -+++ dist.nbsd/intl/ChangeLog Wed Nov 7 11:47:48 2012 +diff -rNU3 dist.orig/include/objalloc.h dist.nbsd/include/objalloc.h +--- dist.orig/include/objalloc.h Tue May 10 15:22:21 2005 ++++ dist.nbsd/include/objalloc.h Wed Feb 19 16:43:50 2014 +@@ -1,5 +1,5 @@ + /* objalloc.h -- routines to allocate memory for objects +- Copyright 1997, 2001 Free Software Foundation, Inc. ++ Copyright 1997-2012 Free Software Foundation, Inc. + Written by Ian Lance Taylor, Cygnus Solutions. + + This program is free software; you can redistribute it and/or modify it +@@ -91,7 +91,7 @@ + if (__len == 0) \ + __len = 1; \ + __len = (__len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1); \ +- (__len <= __o->current_space \ ++ (__len != 0 && __len <= __o->current_space \ + ? (__o->current_ptr += __len, \ + __o->current_space -= __len, \ + (void *) (__o->current_ptr - __len)) \ +diff -rNU3 dist.orig/intl/ChangeLog dist.nbsd/intl/ChangeLog +--- dist.orig/intl/ChangeLog Thu Apr 28 14:09:12 2011 ++++ dist.nbsd/intl/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -21377,9 +22921,9 @@ diff -rNU3 -x *.info dist/intl/ChangeLog dist.nbsd/intl/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libcpp/ChangeLog dist.nbsd/libcpp/ChangeLog ---- dist/libcpp/ChangeLog Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/ChangeLog Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/ChangeLog dist.nbsd/libcpp/ChangeLog +--- dist.orig/libcpp/ChangeLog Thu Apr 28 14:10:07 2011 ++++ dist.nbsd/libcpp/ChangeLog Wed Feb 19 16:44:08 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -21388,9 +22932,9 @@ diff -rNU3 -x *.info dist/libcpp/ChangeLog dist.nbsd/libcpp/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libcpp/Makefile.in dist.nbsd/libcpp/Makefile.in ---- dist/libcpp/Makefile.in Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/Makefile.in Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/Makefile.in dist.nbsd/libcpp/Makefile.in +--- dist.orig/libcpp/Makefile.in Thu Apr 28 14:31:38 2011 ++++ dist.nbsd/libcpp/Makefile.in Wed Feb 19 16:44:08 2014 @@ -141,7 +141,7 @@ localedir.h: localedir.hs; @true localedir.hs: Makefile @@ -21400,9 +22944,9 @@ diff -rNU3 -x *.info dist/libcpp/Makefile.in dist.nbsd/libcpp/Makefile.in echo timestamp > localedir.hs # Installation rules and other phony targets -diff -rNU3 -x *.info dist/libcpp/files.c dist.nbsd/libcpp/files.c ---- dist/libcpp/files.c Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/files.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/files.c dist.nbsd/libcpp/files.c +--- dist.orig/libcpp/files.c Tue Sep 22 08:37:31 2009 ++++ dist.nbsd/libcpp/files.c Wed Feb 19 16:44:08 2014 @@ -30,6 +30,7 @@ #include "obstack.h" #include "hashtab.h" @@ -21445,9 +22989,9 @@ diff -rNU3 -x *.info dist/libcpp/files.c dist.nbsd/libcpp/files.c file->err_no = 0; return true; } -diff -rNU3 -x *.info dist/libcpp/include/cpplib.h dist.nbsd/libcpp/include/cpplib.h ---- dist/libcpp/include/cpplib.h Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/include/cpplib.h Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/include/cpplib.h dist.nbsd/libcpp/include/cpplib.h +--- dist.orig/libcpp/include/cpplib.h Fri Nov 20 08:18:16 2009 ++++ dist.nbsd/libcpp/include/cpplib.h Wed Feb 19 16:44:08 2014 @@ -674,6 +674,9 @@ /* Set the include paths. */ extern void cpp_set_include_chains (cpp_reader *, cpp_dir *, cpp_dir *, int); @@ -21458,9 +23002,9 @@ diff -rNU3 -x *.info dist/libcpp/include/cpplib.h dist.nbsd/libcpp/include/cppli /* Call these to get pointers to the options, callback, and deps structures for a given reader. These pointers are good until you call cpp_finish on that reader. You can either edit the callbacks -diff -rNU3 -x *.info dist/libcpp/init.c dist.nbsd/libcpp/init.c ---- dist/libcpp/init.c Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/init.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/init.c dist.nbsd/libcpp/init.c +--- dist.orig/libcpp/init.c Thu Feb 11 19:49:17 2010 ++++ dist.nbsd/libcpp/init.c Wed Feb 19 16:44:08 2014 @@ -25,7 +25,9 @@ #include "cpplib.h" #include "internal.h" @@ -21471,9 +23015,9 @@ diff -rNU3 -x *.info dist/libcpp/init.c dist.nbsd/libcpp/init.c static void init_library (void); static void mark_named_operators (cpp_reader *, int); -diff -rNU3 -x *.info dist/libcpp/internal.h dist.nbsd/libcpp/internal.h ---- dist/libcpp/internal.h Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/internal.h Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/internal.h dist.nbsd/libcpp/internal.h +--- dist.orig/libcpp/internal.h Mon Mar 29 20:07:29 2010 ++++ dist.nbsd/libcpp/internal.h Wed Feb 19 16:44:08 2014 @@ -179,6 +179,9 @@ /* Nonzero if first token on line is CPP_HASH. */ unsigned char in_directive; @@ -21484,9 +23028,9 @@ diff -rNU3 -x *.info dist/libcpp/internal.h dist.nbsd/libcpp/internal.h /* Nonzero if in a directive that will handle padding tokens itself. #include needs this to avoid problems with computed include and spacing between tokens. */ -diff -rNU3 -x *.info dist/libcpp/lex.c dist.nbsd/libcpp/lex.c ---- dist/libcpp/lex.c Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/lex.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/lex.c dist.nbsd/libcpp/lex.c +--- dist.orig/libcpp/lex.c Tue Apr 26 10:04:18 2011 ++++ dist.nbsd/libcpp/lex.c Wed Feb 19 16:44:08 2014 @@ -1092,6 +1092,8 @@ { unsigned char *buffer; @@ -21514,9 +23058,9 @@ diff -rNU3 -x *.info dist/libcpp/lex.c dist.nbsd/libcpp/lex.c { buffer[1] = '*'; buffer[clen - 2] = '*'; -diff -rNU3 -x *.info dist/libcpp/macro.c dist.nbsd/libcpp/macro.c ---- dist/libcpp/macro.c Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/macro.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/macro.c dist.nbsd/libcpp/macro.c +--- dist.orig/libcpp/macro.c Fri Nov 20 08:18:16 2009 ++++ dist.nbsd/libcpp/macro.c Wed Feb 19 16:44:08 2014 @@ -111,6 +111,61 @@ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; @@ -21619,9 +23163,9 @@ diff -rNU3 -x *.info dist/libcpp/macro.c dist.nbsd/libcpp/macro.c if (token->type == CPP_EOF) { -diff -rNU3 -x *.info dist/libcpp/po/ChangeLog dist.nbsd/libcpp/po/ChangeLog ---- dist/libcpp/po/ChangeLog Wed Nov 7 13:39:10 2012 -+++ dist.nbsd/libcpp/po/ChangeLog Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libcpp/po/ChangeLog dist.nbsd/libcpp/po/ChangeLog +--- dist.orig/libcpp/po/ChangeLog Thu Apr 28 14:10:01 2011 ++++ dist.nbsd/libcpp/po/ChangeLog Wed Feb 19 16:44:08 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -21630,9 +23174,9 @@ diff -rNU3 -x *.info dist/libcpp/po/ChangeLog dist.nbsd/libcpp/po/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libdecnumber/ChangeLog dist.nbsd/libdecnumber/ChangeLog ---- dist/libdecnumber/ChangeLog Wed Nov 7 13:39:01 2012 -+++ dist.nbsd/libdecnumber/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libdecnumber/ChangeLog dist.nbsd/libdecnumber/ChangeLog +--- dist.orig/libdecnumber/ChangeLog Thu Apr 28 14:08:32 2011 ++++ dist.nbsd/libdecnumber/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -21641,9 +23185,9 @@ diff -rNU3 -x *.info dist/libdecnumber/ChangeLog dist.nbsd/libdecnumber/ChangeLo 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libgcc/ChangeLog dist.nbsd/libgcc/ChangeLog ---- dist/libgcc/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libgcc/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libgcc/ChangeLog dist.nbsd/libgcc/ChangeLog +--- dist.orig/libgcc/ChangeLog Thu Apr 28 14:11:15 2011 ++++ dist.nbsd/libgcc/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,13 @@ +2012-07-02 Release Manager + @@ -21667,9 +23211,9 @@ diff -rNU3 -x *.info dist/libgcc/ChangeLog dist.nbsd/libgcc/ChangeLog * config.host (ia64*-*-freebsd*): Set extra_parts. Set tmake_file. 2010-07-31 Release Manager -diff -rNU3 -x *.info dist/libgcc/config/i386/64/sfp-machine.h dist.nbsd/libgcc/config/i386/64/sfp-machine.h ---- dist/libgcc/config/i386/64/sfp-machine.h Wed Nov 7 13:39:33 2012 -+++ dist.nbsd/libgcc/config/i386/64/sfp-machine.h Wed Nov 7 11:47:48 2012 +diff -rNU3 dist.orig/libgcc/config/i386/64/sfp-machine.h dist.nbsd/libgcc/config/i386/64/sfp-machine.h +--- dist.orig/libgcc/config/i386/64/sfp-machine.h Mon Jun 22 14:04:19 2009 ++++ dist.nbsd/libgcc/config/i386/64/sfp-machine.h Wed Feb 19 16:44:15 2014 @@ -79,17 +79,25 @@ unsigned short int __unused5; }; @@ -21698,9 +23242,9 @@ diff -rNU3 -x *.info dist/libgcc/config/i386/64/sfp-machine.h dist.nbsd/libgcc/c } \ if (_fex & FP_EX_OVERFLOW) \ { \ -diff -rNU3 -x *.info dist/libgcc/config/libbid/ChangeLog dist.nbsd/libgcc/config/libbid/ChangeLog ---- dist/libgcc/config/libbid/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libgcc/config/libbid/ChangeLog Wed Nov 7 11:47:48 2012 +diff -rNU3 dist.orig/libgcc/config/libbid/ChangeLog dist.nbsd/libgcc/config/libbid/ChangeLog +--- dist.orig/libgcc/config/libbid/ChangeLog Thu Apr 28 14:11:21 2011 ++++ dist.nbsd/libgcc/config/libbid/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -21709,9 +23253,9 @@ diff -rNU3 -x *.info dist/libgcc/config/libbid/ChangeLog dist.nbsd/libgcc/config 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libgcc/config.host dist.nbsd/libgcc/config.host ---- dist/libgcc/config.host Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libgcc/config.host Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libgcc/config.host dist.nbsd/libgcc/config.host +--- dist.orig/libgcc/config.host Wed Feb 23 18:06:29 2011 ++++ dist.nbsd/libgcc/config.host Wed Feb 19 16:44:15 2014 @@ -269,6 +269,8 @@ ;; hppa[12]*-*-hpux11*) @@ -21721,9 +23265,9 @@ diff -rNU3 -x *.info dist/libgcc/config.host dist.nbsd/libgcc/config.host i[34567]86-*-darwin*) ;; x86_64-*-darwin*) -diff -rNU3 -x *.info dist/libgomp/ChangeLog dist.nbsd/libgomp/ChangeLog ---- dist/libgomp/ChangeLog Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libgomp/ChangeLog Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/libgomp/ChangeLog dist.nbsd/libgomp/ChangeLog +--- dist.orig/libgomp/ChangeLog Thu Apr 28 14:09:48 2011 ++++ dist.nbsd/libgomp/ChangeLog Wed Feb 19 16:44:07 2014 @@ -1,3 +1,19 @@ +2012-07-02 Release Manager + @@ -21744,9 +23288,9 @@ diff -rNU3 -x *.info dist/libgomp/ChangeLog dist.nbsd/libgomp/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libgomp/fortran.c dist.nbsd/libgomp/fortran.c ---- dist/libgomp/fortran.c Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libgomp/fortran.c Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/libgomp/fortran.c dist.nbsd/libgomp/fortran.c +--- dist.orig/libgomp/fortran.c Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libgomp/fortran.c Wed Feb 19 16:44:07 2014 @@ -1,4 +1,4 @@ -/* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc. @@ -21833,9 +23377,19 @@ diff -rNU3 -x *.info dist/libgomp/fortran.c dist.nbsd/libgomp/fortran.c } int32_t -diff -rNU3 -x *.info dist/libgomp/testsuite/libgomp.fortran/pr48894.f90 dist.nbsd/libgomp/testsuite/libgomp.fortran/pr48894.f90 ---- dist/libgomp/testsuite/libgomp.fortran/pr48894.f90 Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/libgomp/testsuite/libgomp.fortran/pr48894.f90 Wed Nov 7 11:47:42 2012 +diff -rNU3 dist.orig/libgomp/libgomp.info dist.nbsd/libgomp/libgomp.info +--- dist.orig/libgomp/libgomp.info Thu Apr 28 15:21:06 2011 ++++ dist.nbsd/libgomp/libgomp.info Wed Feb 19 16:44:07 2014 +@@ -1,5 +1,5 @@ + This is libgomp.info, produced by makeinfo version 4.12 from +-/space/rguenther/gcc-4.5.3/gcc-4.5.3/libgomp/libgomp.texi. ++/space/rguenther/gcc-4.5.4/gcc-4.5.4/libgomp/libgomp.texi. + + Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc. + +diff -rNU3 dist.orig/libgomp/testsuite/libgomp.fortran/pr48894.f90 dist.nbsd/libgomp/testsuite/libgomp.fortran/pr48894.f90 +--- dist.orig/libgomp/testsuite/libgomp.fortran/pr48894.f90 Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/libgomp/testsuite/libgomp.fortran/pr48894.f90 Wed Feb 19 16:44:07 2014 @@ -0,0 +1,23 @@ +! PR fortran/48894 +! { dg-do run } @@ -21860,9 +23414,9 @@ diff -rNU3 -x *.info dist/libgomp/testsuite/libgomp.fortran/pr48894.f90 dist.nbs + !$omp end parallel + if (err .ne. 0) call abort +end -diff -rNU3 -x *.info dist/libiberty/ChangeLog dist.nbsd/libiberty/ChangeLog ---- dist/libiberty/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libiberty/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libiberty/ChangeLog dist.nbsd/libiberty/ChangeLog +--- dist.orig/libiberty/ChangeLog Thu Apr 28 14:10:57 2011 ++++ dist.nbsd/libiberty/ChangeLog Wed Feb 19 16:44:16 2014 @@ -1,3 +1,30 @@ +2012-07-02 Release Manager + @@ -21921,9 +23475,9 @@ diff -rNU3 -x *.info dist/libiberty/ChangeLog dist.nbsd/libiberty/ChangeLog 2008-10-07 Jan Kratochvil * configure.ac: Call AC_SYS_LARGEFILE. -diff -rNU3 -x *.info dist/libiberty/floatformat.c dist.nbsd/libiberty/floatformat.c ---- dist/libiberty/floatformat.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libiberty/floatformat.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libiberty/floatformat.c dist.nbsd/libiberty/floatformat.c +--- dist.orig/libiberty/floatformat.c Tue Nov 13 00:37:43 2007 ++++ dist.nbsd/libiberty/floatformat.c Wed Feb 19 16:44:16 2014 @@ -473,7 +473,11 @@ if (nan) dto = NAN; @@ -21936,9 +23490,9 @@ diff -rNU3 -x *.info dist/libiberty/floatformat.c dist.nbsd/libiberty/floatforma if (get_field (ufrom, fmt->byteorder, fmt->totalsize, fmt->sign_start, 1)) dto = -dto; -diff -rNU3 -x *.info dist/libiberty/make-relative-prefix.c dist.nbsd/libiberty/make-relative-prefix.c ---- dist/libiberty/make-relative-prefix.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libiberty/make-relative-prefix.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libiberty/make-relative-prefix.c dist.nbsd/libiberty/make-relative-prefix.c +--- dist.orig/libiberty/make-relative-prefix.c Mon Mar 24 17:11:21 2008 ++++ dist.nbsd/libiberty/make-relative-prefix.c Wed Feb 19 16:44:16 2014 @@ -57,6 +57,9 @@ #ifdef HAVE_UNISTD_H #include @@ -21992,9 +23546,42 @@ diff -rNU3 -x *.info dist/libiberty/make-relative-prefix.c dist.nbsd/libiberty/m } if (*endp == 0) -diff -rNU3 -x *.info dist/libiberty/strerror.c dist.nbsd/libiberty/strerror.c ---- dist/libiberty/strerror.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libiberty/strerror.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libiberty/objalloc.c dist.nbsd/libiberty/objalloc.c +--- dist.orig/libiberty/objalloc.c Fri Jul 22 03:21:19 2005 ++++ dist.nbsd/libiberty/objalloc.c Wed Feb 19 16:44:16 2014 +@@ -1,5 +1,5 @@ + /* objalloc.c -- routines to allocate memory for objects +- Copyright 1997 Free Software Foundation, Inc. ++ Copyright 1997-2012 Free Software Foundation, Inc. + Written by Ian Lance Taylor, Cygnus Solutions. + + This program is free software; you can redistribute it and/or modify it +@@ -112,14 +112,21 @@ + /* Allocate space from an objalloc structure. */ + + PTR +-_objalloc_alloc (struct objalloc *o, unsigned long len) ++_objalloc_alloc (struct objalloc *o, unsigned long original_len) + { ++ unsigned long len = original_len; ++ + /* We avoid confusion from zero sized objects by always allocating + at least 1 byte. */ + if (len == 0) + len = 1; + + len = (len + OBJALLOC_ALIGN - 1) &~ (OBJALLOC_ALIGN - 1); ++ ++ /* Check for overflow in the alignment operation above and the ++ malloc argument below. */ ++ if (len + CHUNK_HEADER_SIZE < original_len) ++ return NULL; + + if (len <= o->current_space) + { +diff -rNU3 dist.orig/libiberty/strerror.c dist.nbsd/libiberty/strerror.c +--- dist.orig/libiberty/strerror.c Mon Mar 28 01:28:01 2005 ++++ dist.nbsd/libiberty/strerror.c Wed Feb 19 16:44:16 2014 @@ -347,7 +347,7 @@ ENTRY(EPROTOTYPE, "EPROTOTYPE", "Protocol wrong type for socket"), #endif @@ -22004,9 +23591,9 @@ diff -rNU3 -x *.info dist/libiberty/strerror.c dist.nbsd/libiberty/strerror.c #endif #if defined (EPROTONOSUPPORT) ENTRY(EPROTONOSUPPORT, "EPROTONOSUPPORT", "Protocol not supported"), -diff -rNU3 -x *.info dist/libiberty/testsuite/test-expandargv.c dist.nbsd/libiberty/testsuite/test-expandargv.c ---- dist/libiberty/testsuite/test-expandargv.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libiberty/testsuite/test-expandargv.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/libiberty/testsuite/test-expandargv.c dist.nbsd/libiberty/testsuite/test-expandargv.c +--- dist.orig/libiberty/testsuite/test-expandargv.c Thu Oct 8 15:14:41 2009 ++++ dist.nbsd/libiberty/testsuite/test-expandargv.c Wed Feb 19 16:44:16 2014 @@ -189,7 +189,7 @@ { char filename[256]; @@ -22028,9 +23615,9 @@ diff -rNU3 -x *.info dist/libiberty/testsuite/test-expandargv.c dist.nbsd/libibe free (parse); fclose (fd); } -diff -rNU3 -x *.info dist/libmudflap/ChangeLog dist.nbsd/libmudflap/ChangeLog ---- dist/libmudflap/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libmudflap/ChangeLog Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/ChangeLog dist.nbsd/libmudflap/ChangeLog +--- dist.orig/libmudflap/ChangeLog Thu Apr 28 14:11:02 2011 ++++ dist.nbsd/libmudflap/ChangeLog Wed Feb 19 16:44:08 2014 @@ -1,3 +1,15 @@ +2012-07-02 Release Manager + @@ -22047,9 +23634,9 @@ diff -rNU3 -x *.info dist/libmudflap/ChangeLog dist.nbsd/libmudflap/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libmudflap/mf-hooks1.c dist.nbsd/libmudflap/mf-hooks1.c ---- dist/libmudflap/mf-hooks1.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libmudflap/mf-hooks1.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/mf-hooks1.c dist.nbsd/libmudflap/mf-hooks1.c +--- dist.orig/libmudflap/mf-hooks1.c Tue Sep 1 18:13:18 2009 ++++ dist.nbsd/libmudflap/mf-hooks1.c Wed Feb 19 16:44:08 2014 @@ -33,7 +33,7 @@ /* These attempt to coax various unix flavours to declare all our @@ -22068,9 +23655,9 @@ diff -rNU3 -x *.info dist/libmudflap/mf-hooks1.c dist.nbsd/libmudflap/mf-hooks1. if (UNLIKELY(buf == NULL)) return; -diff -rNU3 -x *.info dist/libmudflap/mf-hooks2.c dist.nbsd/libmudflap/mf-hooks2.c ---- dist/libmudflap/mf-hooks2.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libmudflap/mf-hooks2.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/mf-hooks2.c dist.nbsd/libmudflap/mf-hooks2.c +--- dist.orig/libmudflap/mf-hooks2.c Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libmudflap/mf-hooks2.c Wed Feb 19 16:44:08 2014 @@ -32,9 +32,10 @@ /* These attempt to coax various unix flavours to declare all our @@ -22083,9 +23670,9 @@ diff -rNU3 -x *.info dist/libmudflap/mf-hooks2.c dist.nbsd/libmudflap/mf-hooks2. #define _GNU_SOURCE #define _XOPEN_SOURCE #define _BSD_TYPES -diff -rNU3 -x *.info dist/libmudflap/mf-impl.h dist.nbsd/libmudflap/mf-impl.h ---- dist/libmudflap/mf-impl.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libmudflap/mf-impl.h Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/mf-impl.h dist.nbsd/libmudflap/mf-impl.h +--- dist.orig/libmudflap/mf-impl.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libmudflap/mf-impl.h Wed Feb 19 16:44:08 2014 @@ -273,12 +273,12 @@ #ifdef LIBMUDFLAPTH #define VERBOSE_TRACE(...) \ @@ -22131,9 +23718,9 @@ diff -rNU3 -x *.info dist/libmudflap/mf-impl.h dist.nbsd/libmudflap/mf-impl.h } \ else \ { \ -diff -rNU3 -x *.info dist/libmudflap/mf-runtime.c dist.nbsd/libmudflap/mf-runtime.c ---- dist/libmudflap/mf-runtime.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libmudflap/mf-runtime.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/mf-runtime.c dist.nbsd/libmudflap/mf-runtime.c +--- dist.orig/libmudflap/mf-runtime.c Sat Jan 9 00:00:42 2010 ++++ dist.nbsd/libmudflap/mf-runtime.c Wed Feb 19 16:44:08 2014 @@ -31,9 +31,10 @@ /* These attempt to coax various unix flavours to declare all our @@ -22232,9 +23819,9 @@ diff -rNU3 -x *.info dist/libmudflap/mf-runtime.c dist.nbsd/libmudflap/mf-runtim write2(")"); #endif write2(": assertion failure: `"); -diff -rNU3 -x *.info dist/libmudflap/mf-runtime.h dist.nbsd/libmudflap/mf-runtime.h ---- dist/libmudflap/mf-runtime.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libmudflap/mf-runtime.h Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/mf-runtime.h dist.nbsd/libmudflap/mf-runtime.h +--- dist.orig/libmudflap/mf-runtime.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libmudflap/mf-runtime.h Wed Feb 19 16:44:08 2014 @@ -31,7 +31,7 @@ #define MF_RUNTIME_H @@ -22259,9 +23846,9 @@ diff -rNU3 -x *.info dist/libmudflap/mf-runtime.h dist.nbsd/libmudflap/mf-runtim extern unsigned __mf_watch (void *ptr, __mf_size_t sz); extern unsigned __mf_unwatch (void *ptr, __mf_size_t sz); extern void __mf_report (); -diff -rNU3 -x *.info dist/libmudflap/testsuite/libmudflap.c/fail68-frag.c dist.nbsd/libmudflap/testsuite/libmudflap.c/fail68-frag.c ---- dist/libmudflap/testsuite/libmudflap.c/fail68-frag.c Thu Jan 1 00:00:00 1970 -+++ dist.nbsd/libmudflap/testsuite/libmudflap.c/fail68-frag.c Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libmudflap/testsuite/libmudflap.c/fail68-frag.c dist.nbsd/libmudflap/testsuite/libmudflap.c/fail68-frag.c +--- dist.orig/libmudflap/testsuite/libmudflap.c/fail68-frag.c Thu Jan 1 00:00:00 1970 ++++ dist.nbsd/libmudflap/testsuite/libmudflap.c/fail68-frag.c Wed Feb 19 16:44:08 2014 @@ -0,0 +1,27 @@ +/* PR libmudflap/40778 */ + @@ -22290,9 +23877,9 @@ diff -rNU3 -x *.info dist/libmudflap/testsuite/libmudflap.c/fail68-frag.c dist.n +/* { dg-output "Nearby object 1.*" } */ +/* { dg-output "mudflap object.*name.*p" } */ +/* { dg-do run { xfail *-*-* } } */ -diff -rNU3 -x *.info dist/libobjc/ChangeLog dist.nbsd/libobjc/ChangeLog ---- dist/libobjc/ChangeLog Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libobjc/ChangeLog Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/libobjc/ChangeLog dist.nbsd/libobjc/ChangeLog +--- dist.orig/libobjc/ChangeLog Thu Apr 28 14:09:30 2011 ++++ dist.nbsd/libobjc/ChangeLog Wed Feb 19 16:43:50 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -22301,9 +23888,9 @@ diff -rNU3 -x *.info dist/libobjc/ChangeLog dist.nbsd/libobjc/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libobjc/archive.c dist.nbsd/libobjc/archive.c ---- dist/libobjc/archive.c Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libobjc/archive.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/libobjc/archive.c dist.nbsd/libobjc/archive.c +--- dist.orig/libobjc/archive.c Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libobjc/archive.c Wed Feb 19 16:43:50 2014 @@ -365,7 +365,7 @@ } } @@ -22421,9 +24008,9 @@ diff -rNU3 -x *.info dist/libobjc/archive.c dist.nbsd/libobjc/archive.c objc_read_string (struct objc_typed_stream *stream, char **string) { -diff -rNU3 -x *.info dist/libobjc/encoding.c dist.nbsd/libobjc/encoding.c ---- dist/libobjc/encoding.c Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libobjc/encoding.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/libobjc/encoding.c dist.nbsd/libobjc/encoding.c +--- dist.orig/libobjc/encoding.c Sat Nov 28 20:31:39 2009 ++++ dist.nbsd/libobjc/encoding.c Wed Feb 19 16:43:50 2014 @@ -544,7 +544,7 @@ occurring in method prototype encodings. */ @@ -22442,9 +24029,9 @@ diff -rNU3 -x *.info dist/libobjc/encoding.c dist.nbsd/libobjc/encoding.c objc_skip_offset (const char *type) { if (*type == '+') -diff -rNU3 -x *.info dist/libobjc/hash.c dist.nbsd/libobjc/hash.c ---- dist/libobjc/hash.c Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libobjc/hash.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/libobjc/hash.c dist.nbsd/libobjc/hash.c +--- dist.orig/libobjc/hash.c Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libobjc/hash.c Wed Feb 19 16:43:50 2014 @@ -151,8 +151,8 @@ (*cachep)->hash_func, (*cachep)->compare_func); @@ -22456,9 +24043,9 @@ diff -rNU3 -x *.info dist/libobjc/hash.c dist.nbsd/libobjc/hash.c /* Copy the nodes from the first hash table to the new one. */ while ((node1 = objc_hash_next (*cachep, node1))) -diff -rNU3 -x *.info dist/libobjc/sendmsg.c dist.nbsd/libobjc/sendmsg.c ---- dist/libobjc/sendmsg.c Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libobjc/sendmsg.c Wed Nov 7 11:47:23 2012 +diff -rNU3 dist.orig/libobjc/sendmsg.c dist.nbsd/libobjc/sendmsg.c +--- dist.orig/libobjc/sendmsg.c Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libobjc/sendmsg.c Wed Feb 19 16:43:50 2014 @@ -90,7 +90,6 @@ id nil_method (id, SEL); @@ -22499,9 +24086,9 @@ diff -rNU3 -x *.info dist/libobjc/sendmsg.c dist.nbsd/libobjc/sendmsg.c struct sarray * objc_get_uninstalled_dtable () { -diff -rNU3 -x *.info dist/libssp/ChangeLog dist.nbsd/libssp/ChangeLog ---- dist/libssp/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/libssp/ChangeLog Wed Nov 7 11:47:48 2012 +diff -rNU3 dist.orig/libssp/ChangeLog dist.nbsd/libssp/ChangeLog +--- dist.orig/libssp/ChangeLog Thu Apr 28 14:11:09 2011 ++++ dist.nbsd/libssp/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -22510,9 +24097,9 @@ diff -rNU3 -x *.info dist/libssp/ChangeLog dist.nbsd/libssp/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libstdc++-v3/ChangeLog dist.nbsd/libstdc++-v3/ChangeLog ---- dist/libstdc++-v3/ChangeLog Wed Nov 7 13:39:03 2012 -+++ dist.nbsd/libstdc++-v3/ChangeLog Wed Nov 7 11:47:44 2012 +diff -rNU3 dist.orig/libstdc++-v3/ChangeLog dist.nbsd/libstdc++-v3/ChangeLog +--- dist.orig/libstdc++-v3/ChangeLog Thu Apr 28 14:09:18 2011 ++++ dist.nbsd/libstdc++-v3/ChangeLog Wed Feb 19 16:44:09 2014 @@ -1,3 +1,17 @@ +2012-07-02 Release Manager + @@ -22531,13 +24118,23 @@ diff -rNU3 -x *.info dist/libstdc++-v3/ChangeLog dist.nbsd/libstdc++-v3/ChangeLo 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h ---- dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h Wed Nov 7 11:47:43 2012 -@@ -42,17 +42,17 @@ +diff -rNU3 dist.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +--- dist.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h Wed Feb 19 16:44:08 2014 +@@ -30,7 +30,7 @@ + // Full details can be found from the CVS files at: + // anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h + // See www.netbsd.org for details of access. +- ++ + _GLIBCXX_BEGIN_NAMESPACE(std) + + /// @brief Base class for ctype. +@@ -41,18 +41,18 @@ + // NB: Offsets into ctype::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. - typedef unsigned char mask; +- typedef unsigned char mask; - static const mask upper = _U; - static const mask lower = _L; - static const mask alpha = _U | _L; @@ -22549,23 +24146,87 @@ diff -rNU3 -x *.info dist/libstdc++-v3/config/os/bsd/netbsd/ctype_base.h dist.nb - static const mask cntrl = _C; - static const mask punct = _P; - static const mask alnum = _U | _L | _N; ++ typedef unsigned short mask; + static const mask upper = _CTYPE_U; + static const mask lower = _CTYPE_L; -+ static const mask alpha = _CTYPE_U | _CTYPE_L; -+ static const mask digit = _CTYPE_N; -+ static const mask xdigit = _CTYPE_N | _CTYPE_X; ++ static const mask alpha = _CTYPE_A; ++ static const mask digit = _CTYPE_D; ++ static const mask xdigit = _CTYPE_X; + static const mask space = _CTYPE_S; -+ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B; -+ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N; ++ static const mask print = _CTYPE_R; ++ static const mask graph = _CTYPE_G; + static const mask cntrl = _CTYPE_C; + static const mask punct = _CTYPE_P; -+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N; ++ static const mask alnum = _CTYPE_A | _CTYPE_D; }; _GLIBCXX_END_NAMESPACE -diff -rNU3 -x *.info dist/libstdc++-v3/crossconfig.m4 dist.nbsd/libstdc++-v3/crossconfig.m4 ---- dist/libstdc++-v3/crossconfig.m4 Wed Nov 7 13:39:02 2012 -+++ dist.nbsd/libstdc++-v3/crossconfig.m4 Wed Nov 7 11:47:44 2012 +diff -rNU3 dist.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +--- dist.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h Wed Feb 19 16:44:08 2014 +@@ -46,7 +46,7 @@ + is(const char* __low, const char* __high, mask* __vec) const + { + while (__low < __high) +- *__vec++ = _M_table[*__low++]; ++ *__vec++ = _M_table[(unsigned char)*__low++]; + return __high; + } + +diff -rNU3 dist.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h +--- dist.orig/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h Wed Feb 19 16:44:08 2014 +@@ -33,11 +33,11 @@ + + // Information as gleaned from /usr/include/ctype.h + +- extern "C" const u_int8_t _C_ctype_[]; ++ extern "C" const unsigned short _C_ctype_tab_[]; + + const ctype_base::mask* + ctype::classic_table() throw() +- { return _C_ctype_ + 1; } ++ { return _C_ctype_tab_ + 1; } + + ctype::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) +@@ -64,14 +64,14 @@ + + char + ctype::do_toupper(char __c) const +- { return ::toupper((int) __c); } ++ { return ::toupper((int)(unsigned char) __c); } + + const char* + ctype::do_toupper(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::toupper((int) *__low); ++ *__low = ::toupper((int)(unsigned char) *__low); + ++__low; + } + return __high; +@@ -79,14 +79,14 @@ + + char + ctype::do_tolower(char __c) const +- { return ::tolower((int) __c); } ++ { return ::tolower((int)(unsigned char) __c); } + + const char* + ctype::do_tolower(char* __low, const char* __high) const + { + while (__low < __high) + { +- *__low = ::tolower((int) *__low); ++ *__low = ::tolower((int)(unsigned char) *__low); + ++__low; + } + return __high; +diff -rNU3 dist.orig/libstdc++-v3/crossconfig.m4 dist.nbsd/libstdc++-v3/crossconfig.m4 +--- dist.orig/libstdc++-v3/crossconfig.m4 Tue Jun 2 19:15:03 2009 ++++ dist.nbsd/libstdc++-v3/crossconfig.m4 Wed Feb 19 16:44:09 2014 @@ -159,14 +159,51 @@ SECTION_FLAGS='-ffunction-sections -fdata-sections' AC_SUBST(SECTION_FLAGS) @@ -22618,9 +24279,223 @@ diff -rNU3 -x *.info dist/libstdc++-v3/crossconfig.m4 dist.nbsd/libstdc++-v3/cro if test x"long_double_math_on_this_cpu" = x"yes"; then AC_DEFINE(HAVE_FINITEL) AC_DEFINE(HAVE_ISINFL) -diff -rNU3 -x *.info dist/libstdc++-v3/include/ext/ropeimpl.h dist.nbsd/libstdc++-v3/include/ext/ropeimpl.h ---- dist/libstdc++-v3/include/ext/ropeimpl.h Wed Nov 7 13:39:08 2012 -+++ dist.nbsd/libstdc++-v3/include/ext/ropeimpl.h Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/libstdc++-v3/include/bits/locale_facets.tcc dist.nbsd/libstdc++-v3/include/bits/locale_facets.tcc +--- dist.orig/libstdc++-v3/include/bits/locale_facets.tcc Sat Jul 18 22:58:10 2009 ++++ dist.nbsd/libstdc++-v3/include/bits/locale_facets.tcc Wed Feb 19 16:44:08 2014 +@@ -464,7 +464,7 @@ + bool __testfail = false; + bool __testoverflow = false; + const __unsigned_type __max = +- (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) ++ (__negative && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed_val) + ? -__gnu_cxx::__numeric_traits<_ValueT>::__min + : __gnu_cxx::__numeric_traits<_ValueT>::__max; + const __unsigned_type __smax = __max / __base; +@@ -568,7 +568,7 @@ + else if (__testoverflow) + { + if (__negative +- && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) ++ && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed_val) + __v = __gnu_cxx::__numeric_traits<_ValueT>::__min; + else + __v = __gnu_cxx::__numeric_traits<_ValueT>::__max; +@@ -891,7 +891,7 @@ + if (__v >= 0) + { + if (bool(__flags & ios_base::showpos) +- && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed) ++ && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed_val) + *--__cs = __lit[__num_base::_S_oplus], ++__len; + } + else +diff -rNU3 dist.orig/libstdc++-v3/include/bits/stl_algobase.h dist.nbsd/libstdc++-v3/include/bits/stl_algobase.h +--- dist.orig/libstdc++-v3/include/bits/stl_algobase.h Tue Mar 23 14:32:35 2010 ++++ dist.nbsd/libstdc++-v3/include/bits/stl_algobase.h Wed Feb 19 16:44:08 2014 +@@ -929,8 +929,8 @@ + typedef typename iterator_traits<_II2>::value_type _ValueType2; + const bool __simple = + (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value +- && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed +- && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed ++ && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed_val ++ && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed_val + && __is_pointer<_II1>::__value + && __is_pointer<_II2>::__value); + +diff -rNU3 dist.orig/libstdc++-v3/include/bits/stl_pair.h dist.nbsd/libstdc++-v3/include/bits/stl_pair.h +--- dist.orig/libstdc++-v3/include/bits/stl_pair.h Thu Jun 10 10:26:14 2010 ++++ dist.nbsd/libstdc++-v3/include/bits/stl_pair.h Wed Feb 19 16:44:08 2014 +@@ -107,6 +107,9 @@ + pair(_U1&& __x, _U2&& __y) + : first(std::forward<_U1>(__x)), + second(std::forward<_U2>(__y)) { } ++ ++ pair(const pair &) = default; ++ pair(pair &&) = default; + #endif + + /** There is also a templated copy ctor for the @c pair class itself. */ +@@ -120,6 +123,14 @@ + pair(pair<_U1, _U2>&& __p) + : first(std::forward<_U1>(__p.first)), + second(std::forward<_U2>(__p.second)) { } ++ ++ pair& ++ operator=(const pair& __p) ++ { ++ first = __p.first; ++ second = __p.second; ++ return *this; ++ } + + pair& + operator=(pair&& __p) +diff -rNU3 dist.orig/libstdc++-v3/include/bits/stl_queue.h dist.nbsd/libstdc++-v3/include/bits/stl_queue.h +--- dist.orig/libstdc++-v3/include/bits/stl_queue.h Thu Feb 4 18:20:34 2010 ++++ dist.nbsd/libstdc++-v3/include/bits/stl_queue.h Wed Feb 19 16:44:08 2014 +@@ -1,6 +1,6 @@ + // Queue implementation -*- C++ -*- + +-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 ++// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 + // Free Software Foundation, Inc. + // + // This file is part of the GNU ISO C++ Library. This library is free +@@ -137,16 +137,6 @@ + explicit + queue(_Sequence&& __c = _Sequence()) + : c(std::move(__c)) { } +- +- queue(queue&& __q) +- : c(std::move(__q.c)) { } +- +- queue& +- operator=(queue&& __q) +- { +- c = std::move(__q.c); +- return *this; +- } + #endif + + /** +@@ -451,17 +441,6 @@ + c.insert(c.end(), __first, __last); + std::make_heap(c.begin(), c.end(), comp); + } +- +- priority_queue(priority_queue&& __pq) +- : c(std::move(__pq.c)), comp(std::move(__pq.comp)) { } +- +- priority_queue& +- operator=(priority_queue&& __pq) +- { +- c = std::move(__pq.c); +- comp = std::move(__pq.comp); +- return *this; +- } + #endif + + /** +diff -rNU3 dist.orig/libstdc++-v3/include/ext/numeric_traits.h dist.nbsd/libstdc++-v3/include/ext/numeric_traits.h +--- dist.orig/libstdc++-v3/include/ext/numeric_traits.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/include/ext/numeric_traits.h Wed Feb 19 16:44:08 2014 +@@ -58,7 +58,7 @@ + + // NB: these two also available in std::numeric_limits as compile + // time constants, but is big and we avoid including it. +- static const bool __is_signed = __glibcxx_signed(_Value); ++ static const bool __is_signed_val = __glibcxx_signed(_Value); + static const int __digits = __glibcxx_digits(_Value); + }; + +@@ -69,7 +69,7 @@ + const _Value __numeric_traits_integer<_Value>::__max; + + template +- const bool __numeric_traits_integer<_Value>::__is_signed; ++ const bool __numeric_traits_integer<_Value>::__is_signed_val; + + template + const int __numeric_traits_integer<_Value>::__digits; +@@ -101,7 +101,7 @@ + static const int __max_digits10 = __glibcxx_max_digits10(_Value); + + // See above comment... +- static const bool __is_signed = true; ++ static const bool __is_signed_val = true; + static const int __digits10 = __glibcxx_digits10(_Value); + static const int __max_exponent10 = __glibcxx_max_exponent10(_Value); + }; +@@ -110,7 +110,7 @@ + const int __numeric_traits_floating<_Value>::__max_digits10; + + template +- const bool __numeric_traits_floating<_Value>::__is_signed; ++ const bool __numeric_traits_floating<_Value>::__is_signed_val; + + template + const int __numeric_traits_floating<_Value>::__digits10; +diff -rNU3 dist.orig/libstdc++-v3/include/ext/rope dist.nbsd/libstdc++-v3/include/ext/rope +--- dist.orig/libstdc++-v3/include/ext/rope Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/include/ext/rope Wed Feb 19 16:44:08 2014 +@@ -727,7 +727,7 @@ + if (_M_data != this->_M_c_string) + this->_M_free_c_string(); + +- __STL_FREE_STRING(_M_data, this->_M_size, this->_M_get_allocator()); ++ this->__STL_FREE_STRING(_M_data, this->_M_size, this->_M_get_allocator()); + } + #endif + protected: +@@ -1168,7 +1168,7 @@ + operator*() + { + if (0 == this->_M_buf_ptr) +- _S_setcache(*this); ++ this->_S_setcache(*this); + return *this->_M_buf_ptr; + } + +diff -rNU3 dist.orig/libstdc++-v3/include/ext/ropeimpl.h dist.nbsd/libstdc++-v3/include/ext/ropeimpl.h +--- dist.orig/libstdc++-v3/include/ext/ropeimpl.h Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/include/ext/ropeimpl.h Wed Feb 19 16:44:08 2014 +@@ -378,7 +378,7 @@ + _Rope_RopeLeaf<_CharT, _Alloc>* __l + = (_Rope_RopeLeaf<_CharT, _Alloc>*)this; + __l->_Rope_RopeLeaf<_CharT, _Alloc>::~_Rope_RopeLeaf(); +- _L_deallocate(__l, 1); ++ this->_L_deallocate(__l, 1); + break; + } + case __detail::_S_concat: +@@ -387,7 +387,7 @@ + = (_Rope_RopeConcatenation<_CharT, _Alloc>*)this; + __c->_Rope_RopeConcatenation<_CharT, _Alloc>:: + ~_Rope_RopeConcatenation(); +- _C_deallocate(__c, 1); ++ this->_C_deallocate(__c, 1); + break; + } + case __detail::_S_function: +@@ -395,7 +395,7 @@ + _Rope_RopeFunction<_CharT, _Alloc>* __f + = (_Rope_RopeFunction<_CharT, _Alloc>*)this; + __f->_Rope_RopeFunction<_CharT, _Alloc>::~_Rope_RopeFunction(); +- _F_deallocate(__f, 1); ++ this->_F_deallocate(__f, 1); + break; + } + case __detail::_S_substringfn: +@@ -404,7 +404,7 @@ + (_Rope_RopeSubstring<_CharT, _Alloc>*)this; + __ss->_Rope_RopeSubstring<_CharT, _Alloc>:: + ~_Rope_RopeSubstring(); +- _S_deallocate(__ss, 1); ++ this->_S_deallocate(__ss, 1); + break; + } + } @@ -428,7 +428,7 @@ { size_t __old_len = __r->_M_size; @@ -22630,6 +24505,15 @@ diff -rNU3 -x *.info dist/libstdc++-v3/include/ext/ropeimpl.h dist.nbsd/libstdc+ _RopeLeaf* __result; uninitialized_copy_n(__r->_M_data, __old_len, __new_data); +@@ -509,7 +509,7 @@ + } + __catch(...) + { +- _C_deallocate(__result,1); ++ rope::_C_deallocate(__result,1); + __throw_exception_again; + } + // In case of exception, we need to deallocate @@ -812,7 +812,7 @@ if (__result_len > __lazy_threshold) goto lazy; @@ -22639,9 +24523,36 @@ diff -rNU3 -x *.info dist/libstdc++-v3/include/ext/ropeimpl.h dist.nbsd/libstdc+ __try { (*(__f->_M_fn))(__start, __result_len, __section); } __catch(...) -diff -rNU3 -x *.info dist/libstdc++-v3/libsupc++/exception_ptr.h dist.nbsd/libstdc++-v3/libsupc++/exception_ptr.h ---- dist/libstdc++-v3/libsupc++/exception_ptr.h Wed Nov 7 13:39:08 2012 -+++ dist.nbsd/libstdc++-v3/libsupc++/exception_ptr.h Wed Nov 7 11:47:44 2012 +diff -rNU3 dist.orig/libstdc++-v3/libsupc++/eh_arm.cc dist.nbsd/libstdc++-v3/libsupc++/eh_arm.cc +--- dist.orig/libstdc++-v3/libsupc++/eh_arm.cc Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/libsupc++/eh_arm.cc Wed Feb 19 16:44:09 2014 +@@ -92,7 +92,12 @@ + } + + // ABI defined routine called at the start of a cleanup handler. +-extern "C" bool ++extern "C" ++#ifdef __ARM_EABI_UNWINDER__ ++void ++#else ++bool ++#endif + __cxa_begin_cleanup(_Unwind_Exception* ue_header) + { + __cxa_eh_globals *globals = __cxa_get_globals(); +@@ -121,7 +126,9 @@ + globals->propagatingExceptions = header; + } + ++#ifndef __ARM_EABI_UNWINDER__ + return true; ++#endif + } + + // Do the work for __cxa_end_cleanup. Returns the currently propagating +diff -rNU3 dist.orig/libstdc++-v3/libsupc++/exception_ptr.h dist.nbsd/libstdc++-v3/libsupc++/exception_ptr.h +--- dist.orig/libstdc++-v3/libsupc++/exception_ptr.h Mon Nov 9 22:09:30 2009 ++++ dist.nbsd/libstdc++-v3/libsupc++/exception_ptr.h Wed Feb 19 16:44:09 2014 @@ -129,7 +129,7 @@ operator==(const exception_ptr&, const exception_ptr&) throw() __attribute__ ((__pure__)); @@ -22651,9 +24562,9 @@ diff -rNU3 -x *.info dist/libstdc++-v3/libsupc++/exception_ptr.h dist.nbsd/libst __cxa_exception_type() const throw() __attribute__ ((__pure__)); }; -diff -rNU3 -x *.info dist/libstdc++-v3/libsupc++/nested_exception.h dist.nbsd/libstdc++-v3/libsupc++/nested_exception.h ---- dist/libstdc++-v3/libsupc++/nested_exception.h Wed Nov 7 13:39:08 2012 -+++ dist.nbsd/libstdc++-v3/libsupc++/nested_exception.h Wed Nov 7 11:47:44 2012 +diff -rNU3 dist.orig/libstdc++-v3/libsupc++/nested_exception.h dist.nbsd/libstdc++-v3/libsupc++/nested_exception.h +--- dist.orig/libstdc++-v3/libsupc++/nested_exception.h Thu Feb 18 17:20:16 2010 ++++ dist.nbsd/libstdc++-v3/libsupc++/nested_exception.h Wed Feb 19 16:44:09 2014 @@ -119,7 +119,7 @@ // with a type that has an accessible nested_exception base. template @@ -22663,9 +24574,44 @@ diff -rNU3 -x *.info dist/libstdc++-v3/libsupc++/nested_exception.h dist.nbsd/li { throw __ex; } template -diff -rNU3 -x *.info dist/libstdc++-v3/src/locale-inst.cc dist.nbsd/libstdc++-v3/src/locale-inst.cc ---- dist/libstdc++-v3/src/locale-inst.cc Wed Nov 7 13:39:02 2012 -+++ dist.nbsd/libstdc++-v3/src/locale-inst.cc Wed Nov 7 11:47:44 2012 +diff -rNU3 dist.orig/libstdc++-v3/libsupc++/unwind-cxx.h dist.nbsd/libstdc++-v3/libsupc++/unwind-cxx.h +--- dist.orig/libstdc++-v3/libsupc++/unwind-cxx.h Sun May 3 16:51:50 2009 ++++ dist.nbsd/libstdc++-v3/libsupc++/unwind-cxx.h Wed Feb 19 16:44:09 2014 +@@ -196,8 +196,8 @@ + ctm_succeeded = 1, + ctm_succeeded_with_ptr_to_base = 2 + } __cxa_type_match_result; +-extern "C" bool __cxa_type_match(_Unwind_Exception*, const std::type_info*, +- bool, void**); ++extern "C" __cxa_type_match_result __cxa_type_match(_Unwind_Exception*, ++ const std::type_info*, bool, void**); + extern "C" void __cxa_begin_cleanup (_Unwind_Exception*); + extern "C" void __cxa_end_cleanup (void); + #endif +diff -rNU3 dist.orig/libstdc++-v3/src/atomic.cc dist.nbsd/libstdc++-v3/src/atomic.cc +--- dist.orig/libstdc++-v3/src/atomic.cc Tue Dec 22 08:23:08 2009 ++++ dist.nbsd/libstdc++-v3/src/atomic.cc Wed Feb 19 16:44:09 2014 +@@ -80,7 +80,7 @@ + atomic_flag_test_and_set_explicit(__atomic_flag_base* __a, + memory_order __m) throw() + { +- atomic_flag* d = static_cast(__a); ++ atomic_flag* d = static_cast(__a); + return d->test_and_set(__m); + } + +@@ -88,7 +88,7 @@ + atomic_flag_clear_explicit(__atomic_flag_base* __a, + memory_order __m) throw() + { +- atomic_flag* d = static_cast(__a); ++ atomic_flag* d = static_cast(__a); + return d->clear(__m); + } + +diff -rNU3 dist.orig/libstdc++-v3/src/locale-inst.cc dist.nbsd/libstdc++-v3/src/locale-inst.cc +--- dist.orig/libstdc++-v3/src/locale-inst.cc Thu Apr 9 15:00:19 2009 ++++ dist.nbsd/libstdc++-v3/src/locale-inst.cc Wed Feb 19 16:44:09 2014 @@ -175,11 +175,11 @@ template class messages_byname; @@ -22680,9 +24626,9 @@ diff -rNU3 -x *.info dist/libstdc++-v3/src/locale-inst.cc dist.nbsd/libstdc++-v3 template class codecvt_byname; // collate -diff -rNU3 -x *.info dist/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc ---- dist/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc Wed Nov 7 13:39:05 2012 -+++ dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc Wed Nov 7 11:47:47 2012 +diff -rNU3 dist.orig/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc +--- dist.orig/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc Tue Jan 5 20:05:20 2010 ++++ dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-1.cc Wed Feb 19 16:44:14 2014 @@ -1,6 +1,6 @@ // { dg-require-namedlocale "" } @@ -22715,9 +24661,9 @@ diff -rNU3 -x *.info dist/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/ iterator_type is_it03(iss); tm time03; memset(&time03, -1, sizeof(tm)); -diff -rNU3 -x *.info dist/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc ---- dist/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc Wed Nov 7 13:39:05 2012 -+++ dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc Wed Nov 7 11:47:47 2012 +diff -rNU3 dist.orig/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc +--- dist.orig/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc Mon Jan 25 18:02:41 2010 ++++ dist.nbsd/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/38081-2.cc Wed Feb 19 16:44:14 2014 @@ -2,7 +2,7 @@ // 2010-01-05 Paolo Carlini @@ -22751,9 +24697,9 @@ diff -rNU3 -x *.info dist/libstdc++-v3/testsuite/22_locale/time_get/get_weekday/ for (int i = 0; i < 7; ++i) { -diff -rNU3 -x *.info dist/lto-plugin/ChangeLog dist.nbsd/lto-plugin/ChangeLog ---- dist/lto-plugin/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/lto-plugin/ChangeLog Wed Nov 7 11:47:43 2012 +diff -rNU3 dist.orig/lto-plugin/ChangeLog dist.nbsd/lto-plugin/ChangeLog +--- dist.orig/lto-plugin/ChangeLog Thu Apr 28 14:10:37 2011 ++++ dist.nbsd/lto-plugin/ChangeLog Wed Feb 19 16:44:08 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -22762,9 +24708,9 @@ diff -rNU3 -x *.info dist/lto-plugin/ChangeLog dist.nbsd/lto-plugin/ChangeLog 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/maintainer-scripts/ChangeLog dist.nbsd/maintainer-scripts/ChangeLog ---- dist/maintainer-scripts/ChangeLog Wed Nov 7 13:39:09 2012 -+++ dist.nbsd/maintainer-scripts/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/maintainer-scripts/ChangeLog dist.nbsd/maintainer-scripts/ChangeLog +--- dist.orig/maintainer-scripts/ChangeLog Thu Apr 28 14:09:24 2011 ++++ dist.nbsd/maintainer-scripts/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -22773,9 +24719,9 @@ diff -rNU3 -x *.info dist/maintainer-scripts/ChangeLog dist.nbsd/maintainer-scri 2011-04-28 Release Manager * GCC 4.5.3 released. -diff -rNU3 -x *.info dist/zlib/ChangeLog dist.nbsd/zlib/ChangeLog ---- dist/zlib/ChangeLog Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/ChangeLog Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/ChangeLog dist.nbsd/zlib/ChangeLog +--- dist.orig/zlib/ChangeLog Thu Apr 28 14:10:44 2011 ++++ dist.nbsd/zlib/ChangeLog Wed Feb 19 16:44:15 2014 @@ -1,3 +1,7 @@ +2012-07-02 Release Manager + @@ -22793,9 +24739,9 @@ diff -rNU3 -x *.info dist/zlib/ChangeLog dist.nbsd/zlib/ChangeLog - check for unistd.h in configure (for off_t) - remove useless check parameter in inflate_blocks_free - avoid useless assignment of s->check to itself in inflate_blocks_new -diff -rNU3 -x *.info dist/zlib/adler32.c dist.nbsd/zlib/adler32.c ---- dist/zlib/adler32.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/adler32.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/adler32.c dist.nbsd/zlib/adler32.c +--- dist.orig/zlib/adler32.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/adler32.c Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -22805,9 +24751,9 @@ diff -rNU3 -x *.info dist/zlib/adler32.c dist.nbsd/zlib/adler32.c #define ZLIB_INTERNAL #include "zlib.h" -diff -rNU3 -x *.info dist/zlib/compress.c dist.nbsd/zlib/compress.c ---- dist/zlib/compress.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/compress.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/compress.c dist.nbsd/zlib/compress.c +--- dist.orig/zlib/compress.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/compress.c Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -22817,9 +24763,9 @@ diff -rNU3 -x *.info dist/zlib/compress.c dist.nbsd/zlib/compress.c #define ZLIB_INTERNAL #include "zlib.h" -diff -rNU3 -x *.info dist/zlib/contrib/ada/buffer_demo.adb dist.nbsd/zlib/contrib/ada/buffer_demo.adb ---- dist/zlib/contrib/ada/buffer_demo.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/buffer_demo.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/buffer_demo.adb dist.nbsd/zlib/contrib/ada/buffer_demo.adb +--- dist.orig/zlib/contrib/ada/buffer_demo.adb Mon Sep 12 17:03:48 2005 ++++ dist.nbsd/zlib/contrib/ada/buffer_demo.adb Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22829,9 +24775,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/buffer_demo.adb dist.nbsd/zlib/contri -- This demo program provided by Dr Steve Sangwine -- -diff -rNU3 -x *.info dist/zlib/contrib/ada/mtest.adb dist.nbsd/zlib/contrib/ada/mtest.adb ---- dist/zlib/contrib/ada/mtest.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/mtest.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/mtest.adb dist.nbsd/zlib/contrib/ada/mtest.adb +--- dist.orig/zlib/contrib/ada/mtest.adb Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/mtest.adb Wed Feb 19 16:44:16 2014 @@ -8,7 +8,7 @@ -- Continuous test for ZLib multithreading. If the test would fail -- we should provide thread safe allocation routines for the Z_Stream. @@ -22841,9 +24787,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/mtest.adb dist.nbsd/zlib/contrib/ada/ with ZLib; with Ada.Streams; -diff -rNU3 -x *.info dist/zlib/contrib/ada/read.adb dist.nbsd/zlib/contrib/ada/read.adb ---- dist/zlib/contrib/ada/read.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/read.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/read.adb dist.nbsd/zlib/contrib/ada/read.adb +--- dist.orig/zlib/contrib/ada/read.adb Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/read.adb Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22853,9 +24799,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/read.adb dist.nbsd/zlib/contrib/ada/r -- Test/demo program for the generic read interface. -diff -rNU3 -x *.info dist/zlib/contrib/ada/test.adb dist.nbsd/zlib/contrib/ada/test.adb ---- dist/zlib/contrib/ada/test.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/test.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/test.adb dist.nbsd/zlib/contrib/ada/test.adb +--- dist.orig/zlib/contrib/ada/test.adb Mon Oct 11 17:44:11 2004 ++++ dist.nbsd/zlib/contrib/ada/test.adb Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22865,9 +24811,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/test.adb dist.nbsd/zlib/contrib/ada/t -- The program has a few aims. -- 1. Test ZLib.Ada95 thick binding functionality. -diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-streams.adb dist.nbsd/zlib/contrib/ada/zlib-streams.adb ---- dist/zlib/contrib/ada/zlib-streams.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/zlib-streams.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/zlib-streams.adb dist.nbsd/zlib/contrib/ada/zlib-streams.adb +--- dist.orig/zlib/contrib/ada/zlib-streams.adb Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/zlib-streams.adb Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22877,9 +24823,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-streams.adb dist.nbsd/zlib/contr with Ada.Unchecked_Deallocation; -diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-streams.ads dist.nbsd/zlib/contrib/ada/zlib-streams.ads ---- dist/zlib/contrib/ada/zlib-streams.ads Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/zlib-streams.ads Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/zlib-streams.ads dist.nbsd/zlib/contrib/ada/zlib-streams.ads +--- dist.orig/zlib/contrib/ada/zlib-streams.ads Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/zlib-streams.ads Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22889,9 +24835,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-streams.ads dist.nbsd/zlib/contr package ZLib.Streams is -diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-thin.adb dist.nbsd/zlib/contrib/ada/zlib-thin.adb ---- dist/zlib/contrib/ada/zlib-thin.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/zlib-thin.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/zlib-thin.adb dist.nbsd/zlib/contrib/ada/zlib-thin.adb +--- dist.orig/zlib/contrib/ada/zlib-thin.adb Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/zlib-thin.adb Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22901,9 +24847,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-thin.adb dist.nbsd/zlib/contrib/ package body ZLib.Thin is -diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-thin.ads dist.nbsd/zlib/contrib/ada/zlib-thin.ads ---- dist/zlib/contrib/ada/zlib-thin.ads Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/zlib-thin.ads Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/zlib-thin.ads dist.nbsd/zlib/contrib/ada/zlib-thin.ads +--- dist.orig/zlib/contrib/ada/zlib-thin.ads Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/zlib-thin.ads Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22913,9 +24859,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib-thin.ads dist.nbsd/zlib/contrib/ with Interfaces.C.Strings; -diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib.adb dist.nbsd/zlib/contrib/ada/zlib.adb ---- dist/zlib/contrib/ada/zlib.adb Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/zlib.adb Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/zlib.adb dist.nbsd/zlib/contrib/ada/zlib.adb +--- dist.orig/zlib/contrib/ada/zlib.adb Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/zlib.adb Wed Feb 19 16:44:16 2014 @@ -6,7 +6,7 @@ -- Open source license information is in the zlib.ads file. -- ---------------------------------------------------------------- @@ -22925,9 +24871,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib.adb dist.nbsd/zlib/contrib/ada/z with Ada.Exceptions; with Ada.Unchecked_Conversion; -diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib.ads dist.nbsd/zlib/contrib/ada/zlib.ads ---- dist/zlib/contrib/ada/zlib.ads Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/ada/zlib.ads Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/ada/zlib.ads dist.nbsd/zlib/contrib/ada/zlib.ads +--- dist.orig/zlib/contrib/ada/zlib.ads Mon Sep 12 17:04:02 2005 ++++ dist.nbsd/zlib/contrib/ada/zlib.ads Wed Feb 19 16:44:16 2014 @@ -25,7 +25,7 @@ -- covered by the GNU Public License. -- ------------------------------------------------------------------------------ @@ -22937,9 +24883,9 @@ diff -rNU3 -x *.info dist/zlib/contrib/ada/zlib.ads dist.nbsd/zlib/contrib/ada/z with Ada.Streams; -diff -rNU3 -x *.info dist/zlib/contrib/iostream2/zstream.h dist.nbsd/zlib/contrib/iostream2/zstream.h ---- dist/zlib/contrib/iostream2/zstream.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/contrib/iostream2/zstream.h Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/contrib/iostream2/zstream.h dist.nbsd/zlib/contrib/iostream2/zstream.h +--- dist.orig/zlib/contrib/iostream2/zstream.h Mon Oct 11 17:35:40 2004 ++++ dist.nbsd/zlib/contrib/iostream2/zstream.h Wed Feb 19 16:44:16 2014 @@ -21,7 +21,7 @@ /* @@ -22949,13 +24895,13 @@ diff -rNU3 -x *.info dist/zlib/contrib/iostream2/zstream.h dist.nbsd/zlib/contri */ #include -Binary files dist/zlib/contrib/masmx64/gvmat64.obj and dist.nbsd/zlib/contrib/masmx64/gvmat64.obj differ -Binary files dist/zlib/contrib/masmx64/inffasx64.obj and dist.nbsd/zlib/contrib/masmx64/inffasx64.obj differ -Binary files dist/zlib/contrib/masmx86/gvmat32.obj and dist.nbsd/zlib/contrib/masmx86/gvmat32.obj differ -Binary files dist/zlib/contrib/masmx86/inffas32.obj and dist.nbsd/zlib/contrib/masmx86/inffas32.obj differ -diff -rNU3 -x *.info dist/zlib/crc32.c dist.nbsd/zlib/crc32.c ---- dist/zlib/crc32.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/crc32.c Wed Nov 7 11:47:49 2012 +Binary files dist.orig/zlib/contrib/masmx64/gvmat64.obj and dist.nbsd/zlib/contrib/masmx64/gvmat64.obj differ +Binary files dist.orig/zlib/contrib/masmx64/inffasx64.obj and dist.nbsd/zlib/contrib/masmx64/inffasx64.obj differ +Binary files dist.orig/zlib/contrib/masmx86/gvmat32.obj and dist.nbsd/zlib/contrib/masmx86/gvmat32.obj differ +Binary files dist.orig/zlib/contrib/masmx86/inffas32.obj and dist.nbsd/zlib/contrib/masmx86/inffas32.obj differ +diff -rNU3 dist.orig/zlib/crc32.c dist.nbsd/zlib/crc32.c +--- dist.orig/zlib/crc32.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/crc32.c Wed Feb 19 16:44:15 2014 @@ -9,7 +9,7 @@ * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3. */ @@ -22965,9 +24911,9 @@ diff -rNU3 -x *.info dist/zlib/crc32.c dist.nbsd/zlib/crc32.c /* Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore -diff -rNU3 -x *.info dist/zlib/deflate.c dist.nbsd/zlib/deflate.c ---- dist/zlib/deflate.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/deflate.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/deflate.c dist.nbsd/zlib/deflate.c +--- dist.orig/zlib/deflate.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/deflate.c Wed Feb 19 16:44:16 2014 @@ -47,7 +47,7 @@ * */ @@ -22977,9 +24923,9 @@ diff -rNU3 -x *.info dist/zlib/deflate.c dist.nbsd/zlib/deflate.c #include "deflate.h" -diff -rNU3 -x *.info dist/zlib/deflate.h dist.nbsd/zlib/deflate.h ---- dist/zlib/deflate.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/deflate.h Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/deflate.h dist.nbsd/zlib/deflate.h +--- dist.orig/zlib/deflate.h Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/deflate.h Wed Feb 19 16:44:15 2014 @@ -8,7 +8,7 @@ subject to change. Applications should only use zlib.h. */ @@ -22989,9 +24935,9 @@ diff -rNU3 -x *.info dist/zlib/deflate.h dist.nbsd/zlib/deflate.h #ifndef DEFLATE_H #define DEFLATE_H -diff -rNU3 -x *.info dist/zlib/example.c dist.nbsd/zlib/example.c ---- dist/zlib/example.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/example.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/example.c dist.nbsd/zlib/example.c +--- dist.orig/zlib/example.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/example.c Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23001,9 +24947,9 @@ diff -rNU3 -x *.info dist/zlib/example.c dist.nbsd/zlib/example.c #include #include "zlib.h" -diff -rNU3 -x *.info dist/zlib/gzio.c dist.nbsd/zlib/gzio.c ---- dist/zlib/gzio.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/gzio.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/gzio.c dist.nbsd/zlib/gzio.c +--- dist.orig/zlib/gzio.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/gzio.c Wed Feb 19 16:44:16 2014 @@ -5,7 +5,7 @@ * Compile this file with -DNO_GZCOMPRESS to avoid the compression code. */ @@ -23013,9 +24959,9 @@ diff -rNU3 -x *.info dist/zlib/gzio.c dist.nbsd/zlib/gzio.c #include -diff -rNU3 -x *.info dist/zlib/minigzip.c dist.nbsd/zlib/minigzip.c ---- dist/zlib/minigzip.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/minigzip.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/minigzip.c dist.nbsd/zlib/minigzip.c +--- dist.orig/zlib/minigzip.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/minigzip.c Wed Feb 19 16:44:16 2014 @@ -13,7 +13,7 @@ * or in pipe mode. */ @@ -23025,9 +24971,9 @@ diff -rNU3 -x *.info dist/zlib/minigzip.c dist.nbsd/zlib/minigzip.c #include #include "zlib.h" -diff -rNU3 -x *.info dist/zlib/trees.c dist.nbsd/zlib/trees.c ---- dist/zlib/trees.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/trees.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/trees.c dist.nbsd/zlib/trees.c +--- dist.orig/zlib/trees.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/trees.c Wed Feb 19 16:44:15 2014 @@ -29,7 +29,7 @@ * Addison-Wesley, 1983. ISBN 0-201-06672-6. */ @@ -23037,9 +24983,9 @@ diff -rNU3 -x *.info dist/zlib/trees.c dist.nbsd/zlib/trees.c /* #define GEN_TREES_H */ -diff -rNU3 -x *.info dist/zlib/uncompr.c dist.nbsd/zlib/uncompr.c ---- dist/zlib/uncompr.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/uncompr.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/uncompr.c dist.nbsd/zlib/uncompr.c +--- dist.orig/zlib/uncompr.c Mon Sep 12 17:02:07 2005 ++++ dist.nbsd/zlib/uncompr.c Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23049,9 +24995,9 @@ diff -rNU3 -x *.info dist/zlib/uncompr.c dist.nbsd/zlib/uncompr.c #define ZLIB_INTERNAL #include "zlib.h" -diff -rNU3 -x *.info dist/zlib/zconf.h dist.nbsd/zlib/zconf.h ---- dist/zlib/zconf.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/zconf.h Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/zconf.h dist.nbsd/zlib/zconf.h +--- dist.orig/zlib/zconf.h Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/zconf.h Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23061,9 +25007,9 @@ diff -rNU3 -x *.info dist/zlib/zconf.h dist.nbsd/zlib/zconf.h #ifndef ZCONF_H #define ZCONF_H -diff -rNU3 -x *.info dist/zlib/zconf.in.h dist.nbsd/zlib/zconf.in.h ---- dist/zlib/zconf.in.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/zconf.in.h Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/zconf.in.h dist.nbsd/zlib/zconf.in.h +--- dist.orig/zlib/zconf.in.h Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/zconf.in.h Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23073,9 +25019,9 @@ diff -rNU3 -x *.info dist/zlib/zconf.in.h dist.nbsd/zlib/zconf.in.h #ifndef ZCONF_H #define ZCONF_H -diff -rNU3 -x *.info dist/zlib/zutil.c dist.nbsd/zlib/zutil.c ---- dist/zlib/zutil.c Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/zutil.c Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/zutil.c dist.nbsd/zlib/zutil.c +--- dist.orig/zlib/zutil.c Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/zutil.c Wed Feb 19 16:44:15 2014 @@ -3,7 +3,7 @@ * For conditions of distribution and use, see copyright notice in zlib.h */ @@ -23085,9 +25031,9 @@ diff -rNU3 -x *.info dist/zlib/zutil.c dist.nbsd/zlib/zutil.c #include "zutil.h" -diff -rNU3 -x *.info dist/zlib/zutil.h dist.nbsd/zlib/zutil.h ---- dist/zlib/zutil.h Wed Nov 7 13:39:32 2012 -+++ dist.nbsd/zlib/zutil.h Wed Nov 7 11:47:49 2012 +diff -rNU3 dist.orig/zlib/zutil.h dist.nbsd/zlib/zutil.h +--- dist.orig/zlib/zutil.h Mon Sep 12 17:42:53 2005 ++++ dist.nbsd/zlib/zutil.h Wed Feb 19 16:44:15 2014 @@ -8,7 +8,7 @@ subject to change. Applications should only use zlib.h. */ diff --git a/external/gpl3/gcc/patches/0001-minix.patch b/external/gpl3/gcc/patches/0001-minix.patch index c65396a64..8e5a3f3ce 100644 --- a/external/gpl3/gcc/patches/0001-minix.patch +++ b/external/gpl3/gcc/patches/0001-minix.patch @@ -1,29 +1,39 @@ +diff -r -x CVS -N -U 3 dist.orig/gcc/config/t-minix dist/gcc/config/t-minix +--- dist.orig/gcc/config/t-minix 1970-01-01 01:00:00.000000000 +0100 ++++ dist/gcc/config/t-minix 2013-12-11 15:12:25.998875226 +0100 +@@ -0,0 +1,5 @@ ++# Compile crtbeginS.o and crtendS.o with pic. ++CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC ++ ++# Compile libgcc.a with pic. ++TARGET_LIBGCC2_CFLAGS += -fPIC diff -r -x CVS -N -U 3 dist.orig/gcc/config.gcc dist/gcc/config.gcc ---- dist.orig/gcc/config.gcc 2013-07-10 19:52:43.574614401 +0200 -+++ dist/gcc/config.gcc 2013-07-10 19:53:27.218820689 +0200 -@@ -799,7 +799,7 @@ - tmake_file="arm/t-arm arm/t-arm-elf" +--- dist.orig/gcc/config.gcc 2013-12-11 14:53:00.134506110 +0100 ++++ dist/gcc/config.gcc 2013-12-11 23:21:36.316937279 +0100 +@@ -839,6 +839,22 @@ + tm_file="${tm_file} arm/aout.h arm/arm.h" tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ;; --arm*-*-eabi* | arm*-*-symbianelf* ) -+arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-minix*) - # The BPABI long long divmod functions return a 128-bit value in - # registers r0-r3. Correctly modeling that requires the use of - # TImode. -@@ -814,6 +814,12 @@ - extra_options="${extra_options} arm/eabi.opt" - use_gcc_stdint=wrap - ;; -+ arm*-*-minix*) -+ tm_file="$tm_file arm/eabi.h newlib-stdint.h minix-spec.h arm/minix.h minix.h" -+ tmake_file="${tmake_file} arm/t-bpabi t-minix" -+ extra_options="${extra_options} arm/eabi.opt" -+ use_gcc_stdint=wrap -+ ;; - arm*-*-symbianelf*) - tm_file="${tm_file} arm/symbian.h" - # We do not include t-bpabi for Symbian OS because the system -@@ -1148,6 +1154,13 @@ ++arm*-*-minix*) ++ # The BPABI long long divmod functions return a 128-bit value in ++ # registers r0-r3. Correctly modeling that requires the use of ++ # TImode. ++ need_64bit_hwint=yes ++ default_use_cxa_atexit=yes ++ tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/bpabi.h" ++ tmake_file="arm/t-arm arm/t-arm-elf" ++ ++ tm_file="$tm_file arm/eabi.h newlib-stdint.h minix-spec.h arm/minix.h minix.h" ++ tmake_file="${tmake_file} arm/t-bpabi t-minix" ++ #extra_options="${extra_options} arm/eabi.opt" ++ #use_gcc_stdint=wrap ++ ++ tmake_file="${tmake_file} arm/t-arm-softfp soft-fp/t-softfp" ++ ;; + arm*-*-rtems*) + tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/aout.h arm/arm.h arm/rtems-elf.h rtems.h newlib-stdint.h" + tmake_file="arm/t-arm arm/t-arm-elf t-rtems arm/t-rtems" +@@ -1163,6 +1179,13 @@ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h" tmake_file="${tmake_file} i386/t-crtstuff" ;; @@ -38,8 +48,8 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/config.gcc dist/gcc/config.gcc tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h" tmake_file="${tmake_file} i386/t-crtstuff" diff -r -x CVS -N -U 3 dist.orig/gcc/gcov.c dist/gcc/gcov.c ---- dist.orig/gcc/gcov.c 2013-07-10 19:52:45.114645204 +0200 -+++ dist/gcc/gcov.c 2013-07-10 19:53:27.218820689 +0200 +--- dist.orig/gcc/gcov.c 2013-12-11 14:53:22.194840755 +0100 ++++ dist/gcc/gcov.c 2013-12-11 15:12:25.988875073 +0100 @@ -58,6 +58,10 @@ #define STRING_SIZE 200 @@ -52,21 +62,20 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/gcov.c dist/gcc/gcov.c struct block_info; struct source_info; diff -r -x CVS -N -U 3 dist.orig/gcc/ginclude/stddef.h dist/gcc/ginclude/stddef.h ---- dist.orig/gcc/ginclude/stddef.h 2013-07-10 19:52:43.677949802 +0200 -+++ dist/gcc/ginclude/stddef.h 2013-07-10 19:53:27.218820689 +0200 -@@ -60,6 +60,9 @@ - #if defined (__FreeBSD__) && (__FreeBSD__ >= 5) - #include - #endif -+#if defined (__minix) -+#include -+#endif +--- dist.orig/gcc/ginclude/stddef.h 2013-12-11 14:53:05.001246600 +0100 ++++ dist/gcc/ginclude/stddef.h 2013-12-11 19:48:19.010387258 +0100 +@@ -51,7 +51,7 @@ - /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are - defined if the corresponding type is *not* defined. + /* On 4.3bsd-net2, make sure ansi.h is included, so we have + one less case to deal with in the following. */ +-#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__) ++#if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__) || defined(__minix) + #ifndef inhibit_libc + #include + #endif diff -r -x CVS -N -U 3 dist.orig/gcc/libgcov.c dist/gcc/libgcov.c ---- dist.orig/gcc/libgcov.c 2013-07-10 19:52:43.681283201 +0200 -+++ dist/gcc/libgcov.c 2013-07-10 19:53:27.218820689 +0200 +--- dist.orig/gcc/libgcov.c 2013-12-11 14:53:05.064580896 +0100 ++++ dist/gcc/libgcov.c 2013-12-11 15:12:25.988875073 +0100 @@ -40,6 +40,11 @@ #define GCOV_LINKAGE /* nothing */ #endif @@ -98,8 +107,8 @@ diff -r -x CVS -N -U 3 dist.orig/gcc/libgcov.c dist/gcc/libgcov.c info->next = gcov_list; gcov_list = info; diff -r -x CVS -N -U 3 dist.orig/libcpp/configure dist/libcpp/configure ---- dist.orig/libcpp/configure 2013-07-10 19:52:46.844679808 +0200 -+++ dist/libcpp/configure 2013-07-10 19:55:08.447512095 +0200 +--- dist.orig/libcpp/configure 2013-12-11 14:53:25.704893999 +0100 ++++ dist/libcpp/configure 2013-12-11 15:12:25.988875073 +0100 @@ -6870,6 +6870,7 @@ case $target in alpha*-*-* | \ @@ -109,8 +118,8 @@ diff -r -x CVS -N -U 3 dist.orig/libcpp/configure dist/libcpp/configure x86_64-*-* | \ ia64-*-* | \ diff -r -x CVS -N -U 3 dist.orig/libgcc/config.host dist/libgcc/config.host ---- dist.orig/libgcc/config.host 2013-07-10 19:52:52.828132820 +0200 -+++ dist/libgcc/config.host 2013-07-10 19:53:27.218820689 +0200 +--- dist.orig/libgcc/config.host 2013-12-11 14:54:49.009491158 +0100 ++++ dist/libgcc/config.host 2013-12-11 15:12:25.988875073 +0100 @@ -203,6 +203,8 @@ ;; arm*-*-freebsd*) diff --git a/external/gpl3/gcc/usr.bin/Makefile b/external/gpl3/gcc/usr.bin/Makefile index 2b759844a..754b7b06d 100644 --- a/external/gpl3/gcc/usr.bin/Makefile +++ b/external/gpl3/gcc/usr.bin/Makefile @@ -1,10 +1,12 @@ -# $NetBSD: Makefile,v 1.3 2011/06/29 01:57:59 mrg Exp $ +# $NetBSD: Makefile,v 1.4 2013/08/22 00:17:48 matt Exp $ NOOBJ=# defined .include -.if ${MKGCC} != "no" && exists(${.CURDIR}/gcc/arch/${MACHINE_ARCH}/defs.mk) +GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/} + +.if ${MKGCC} != "no" && exists(${.CURDIR}/gcc/arch/${GCC_MACHINE_ARCH}/defs.mk) # We keep libcpp here since it depends upon frontend. diff --git a/external/gpl3/gcc/usr.bin/Makefile.backend b/external/gpl3/gcc/usr.bin/Makefile.backend index a067bb649..8d0c79189 100644 --- a/external/gpl3/gcc/usr.bin/Makefile.backend +++ b/external/gpl3/gcc/usr.bin/Makefile.backend @@ -1,8 +1,11 @@ -# $NetBSD: Makefile.backend,v 1.2 2011/07/21 03:13:32 mrg Exp $ +# $NetBSD: Makefile.backend,v 1.3 2013/11/28 12:08:56 mrg Exp $ NOMAN= # defined +.if defined(__MINIX) BINDIR= /usr/bin - +.else +BINDIR= /usr/libexec +.endif # defined(__MINIX) CPPFLAGS+= -I${GCCARCH} -I${BACKENDOBJ} \ ${G_ALL_CFLAGS:M-D*} ${G_INCLUDES:M-I*:N-I.*} @@ -46,7 +49,7 @@ ${PROG}-checksum.c: genchecksum ${PROG}-dummy # Find our (local) libraries LIBGMPDIR!= cd ${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp && ${PRINTOBJDIR} LIBMPFRDIR!= cd ${NETBSDSRCDIR}/external/lgpl3/mpfr/lib/libmpfr && ${PRINTOBJDIR} -LIBMPCDIR!= cd ${NETBSDSRCDIR}/external/lgpl2/mpc/lib/libmpc && ${PRINTOBJDIR} +LIBMPCDIR!= cd ${NETBSDSRCDIR}/external/lgpl3/mpc/lib/libmpc && ${PRINTOBJDIR} LIBGMP= ${LIBGMPDIR}/libgmp.a LIBMPFR= ${LIBMPFRDIR}/libmpfr.a diff --git a/external/gpl3/gcc/usr.bin/Makefile.inc b/external/gpl3/gcc/usr.bin/Makefile.inc index 61ac4d93b..1697b85ed 100644 --- a/external/gpl3/gcc/usr.bin/Makefile.inc +++ b/external/gpl3/gcc/usr.bin/Makefile.inc @@ -1,31 +1,33 @@ -# $NetBSD: Makefile.inc,v 1.11 2012/09/18 07:05:15 skrll Exp $ +# $NetBSD: Makefile.inc,v 1.17 2013/11/28 13:04:35 mrg Exp $ .ifndef _EXTERNAL_GPL3_GCC_USR_BIN_MAKEFILE_INC_ _EXTERNAL_GPL3_GCC_USR_BIN_MAKEFILE_INC_=1 .include +GCC_MACHINE_ARCH=${MACHINE_ARCH:S/earmv5/earm/} +GMP_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/} + TOP= ${NETBSDSRCDIR} DIST= ${TOP}/external/gpl3/gcc/dist -GCCARCH= ${.CURDIR}/../gcc/arch/${MACHINE_ARCH} +GCCARCH= ${.CURDIR}/../gcc/arch/${GCC_MACHINE_ARCH} -CPPFLAGS+= -DLOCALEDIR=\"/usr/share/locale\" +CPPFLAGS+= -DLOCALEDIR=\"/usr/share/locale\" -DNETBSD_NATIVE HOST_CPPFLAGS+= -I${.CURDIR}/.. # Link in the GMP/MPFR/MPC headers since we don't install them -BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${MACHINE_ARCH}/gmp.h gmp.h -BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/mpfr/dist/mpfr.h mpfr.h -BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/mpfr/dist/mpf2mpfr.h mpf2mpfr.h -BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl2/mpc/dist/src/mpc.h mpc.h -BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl2/mpc/dist/src/mpc-log.h mpc-log.h +BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${GMP_MACHINE_ARCH}/gmp.h gmp.h +BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/mpfr/dist/src/mpfr.h mpfr.h +BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/mpfr/dist/src/mpf2mpfr.h mpf2mpfr.h +BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/mpc/dist/src/mpc.h mpc.h +BUILDSYMLINKS+= ${NETBSDSRCDIR}/external/lgpl3/mpc/dist/src/mpc-log.h mpc-log.h CPPFLAGS+= -I. # XXX DPSRCS+= gmp.h mpfr.h mpf2mpfr.h mpc.h mpc-log.h .if ${USETOOLS} == "yes" -COMPATOBJDIR!= cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR} -NBCOMPATLIB= -L${COMPATOBJDIR} -lnbcompat +NBCOMPATLIB= -L${TOOLDIR}/lib -lnbcompat .endif GNUHOSTDIST= ${DIST} diff --git a/external/gpl3/gcc/usr.bin/backend/Makefile b/external/gpl3/gcc/usr.bin/backend/Makefile index 1b180b727..0849ca8ff 100644 --- a/external/gpl3/gcc/usr.bin/backend/Makefile +++ b/external/gpl3/gcc/usr.bin/backend/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.14 2011/11/10 09:28:25 yamt Exp $ +# $NetBSD: Makefile,v 1.18 2013/08/22 00:17:48 matt Exp $ LIBISPRIVATE= yes @@ -97,10 +97,10 @@ gtype-desc.c: gtype-desc.h gtype-desc.h: gengtype gtyp-input.list.tmp ${_MKTARGET_CREATE} rm -f auto-host.h - ln -s ${.CURDIR}/../gcc/arch/${MACHINE_ARCH}/auto-host.h . - if [ -f ${.CURDIR}/../gcc/arch/${MACHINE_ARCH}/sysroot-suffix.h ]; then \ + ln -s ${.CURDIR}/../gcc/arch/${GCC_MACHINE_ARCH}/auto-host.h . + if [ -f ${.CURDIR}/../gcc/arch/${GCC_MACHINE_ARCH}/sysroot-suffix.h ]; then \ rm -f sysroot-suffix.h; \ - ln -s ${.CURDIR}/../gcc/arch/${MACHINE_ARCH}/sysroot-suffix.h ; \ + ln -s ${.CURDIR}/../gcc/arch/${GCC_MACHINE_ARCH}/sysroot-suffix.h ; \ fi ./gengtype ${DIST}/gcc gtyp-input.list.tmp # gengtype is the real need for options.h @@ -112,19 +112,19 @@ gengtype: gengtype.lo gengtype-lex.lo gengtype-parse.lo build-errors.lo gtyp-gen.h: Makefile ${_MKTARGET_CREATE} (\ + unset empty ; \ echo "static const char *srcdir = \"$(G_GTFILES_SRCDIR)\";" ; \ echo "static const char *lang_files[] = {" ; \ - for f in $(G_GTFILES_FILES_FILES); do echo "\"$$f\", "; done ; \ + for f in $$empty $(G_GTFILES_FILES_FILES); do echo "\"$$f\", "; done ; \ echo "NULL };" ; \ echo "static const char *langs_for_lang_files[] = {" ; \ - for f in $(G_GTFILES_FILES_LANGS); do echo "\"$$f\", "; done ; \ + for f in $$empty $(G_GTFILES_FILES_LANGS); do echo "\"$$f\", "; done ; \ echo "NULL };" ; \ echo "static const char *all_files[] = {" ; \ - for f in $(G_GTFILES); do echo "\"$$f\", "; done ; \ + for f in $$empty $(G_GTFILES); do echo "\"$$f\", "; done ; \ echo " NULL };" ; \ echo "static const char *lang_dir_names[] = {" ; \ - echo "\"c\", " ; \ - for f in $(G_GTFILES_LANG_DIR_NAMES); do echo "\"$$f\", "; done ; \ + for f in c $(G_GTFILES_LANG_DIR_NAMES); do echo "\"$$f\", "; done ; \ echo "NULL };" ; \ ) >${.TARGET} @@ -181,8 +181,8 @@ options.o: options.c coretypes.h opts.h intl.h #options.o: options.c ${G_CONFIG_H} ${G_SYSTEM_H} coretypes.h ${G_TM_H} opts.h intl.h # Yuck, we have to run configure to generate this one... -CLEANFILES+= auto-host.h -auto-host.h: Makefile +CLEANFILES+= auto-build.h +auto-build.h: Makefile ${_MKTARGET_CREATE} rm -rf .ab && \ mkdir .ab && \ @@ -194,7 +194,8 @@ auto-host.h: Makefile ${HOST_SH} ${GNUHOSTDIST}/gcc/configure \ --build=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \ --host=`${HOST_SH} ${GNUHOSTDIST}/config.guess` \ - --target=${MACHINE_GNU_PLATFORM}) && \ + --target=${MACHINE_GNU_PLATFORM} && \ + mv auto-host.h ../auto-build.h) && \ rm -rf .ab # @@ -306,7 +307,7 @@ vec.lo: gtype-desc.h gtype-desc.d gtype-desc.o: insn-constants.h insn-emit.d insn-emit.o: tm-constrs.h -.if ${MACHINE_ARCH} == "alpha" +.if ${GCC_MACHINE_ARCH} == "alpha" alpha.d alpha.o: tm-constrs.h tm_p.h .endif @@ -314,13 +315,13 @@ alpha.d alpha.o: tm-constrs.h tm_p.h arm.d arm.o: insn-constants.h tm_p.h .endif -.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" +.if ${GCC_MACHINE_ARCH} == "i386" || ${GCC_MACHINE_ARCH} == "x86_64" i386.d i386.o: tm-constrs.h .endif CFLAGS+= -Wno-stack-protector -.if ${MACHINE_ARCH} == "m68000" +.if ${GCC_MACHINE_ARCH} == "m68000" || ${GCC_MACHINE_ARCH} == "m68k" COPTS.lambda-code.c= -O0 COPTS.tree-loop-linear.c= -O0 .endif diff --git a/external/gpl3/gcc/usr.bin/cpp/Makefile b/external/gpl3/gcc/usr.bin/cpp/Makefile index 8f85f1f49..6e3fd224a 100644 --- a/external/gpl3/gcc/usr.bin/cpp/Makefile +++ b/external/gpl3/gcc/usr.bin/cpp/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2011/07/19 15:59:02 tron Exp $ +# $NetBSD: Makefile,v 1.5 2013/08/22 00:17:48 matt Exp $ # For ../Makefile.inc and bsd.own.mk .include @@ -7,11 +7,11 @@ PROG= cpp SRCS= gcc.c cppspec.c prefix.c version.c # XXX -.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386" +.if ${GCC_MACHINE_ARCH} == "x86_64" || ${GCC_MACHINE_ARCH} == "i386" SRCS+= driver-i386.c .PATH: ${DIST}/gcc/config/i386 .endif -.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" +.if ${GCC_MACHINE_ARCH} == "powerpc" || ${GCC_MACHINE_ARCH} == "powerpc64" SRCS+= driver-rs6000.c .PATH: ${DIST}/gcc/config/rs6000 .endif diff --git a/external/gpl3/gcc/usr.bin/frontend/Makefile b/external/gpl3/gcc/usr.bin/frontend/Makefile index 852ae8852..3cb4e8679 100644 --- a/external/gpl3/gcc/usr.bin/frontend/Makefile +++ b/external/gpl3/gcc/usr.bin/frontend/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2011/07/19 15:59:02 tron Exp $ +# $NetBSD: Makefile,v 1.6 2013/08/22 00:17:48 matt Exp $ LIBISPRIVATE= yes @@ -10,11 +10,11 @@ LIB= frontend SRCS= gcc.c version.c intl.c prefix.c opts-common.c gcc-options.c # XXX -.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386" +.if ${GCC_MACHINE_ARCH} == "x86_64" || ${GCC_MACHINE_ARCH} == "i386" SRCS+= driver-i386.c .PATH: ${DIST}/gcc/config/i386 .endif -.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpc64" +.if ${GCC_MACHINE_ARCH} == "powerpc" || ${GCC_MACHINE_ARCH} == "powerpc64" SRCS+= driver-rs6000.c .PATH: ${DIST}/gcc/config/rs6000 .endif diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h index 5c99b9193..1970e7bd4 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/alpha/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=alpha--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/alpha/usr/src/destdir.alpha/usr --with-mpfr=/var/obj/mknative/alpha/usr/src/destdir.alpha/usr --with-gmp=/var/obj/mknative/alpha/usr/src/destdir.alpha/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=alpha--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=alpha--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/alpha/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/alpha/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/alpha/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/alpha --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=alpha--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=alpha--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/alpha/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/alpha/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/alpha/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/alpha --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=alpha--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk index 188b66739..79da1b032 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/alpha/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/alpha/alpha.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o alpha.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h index 10d516469..52a1aeb42 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/arm/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/shark/usr/src/destdir.shark/usr --with-mpfr=/var/obj/mknative/shark/usr/src/destdir.shark/usr --with-gmp=/var/obj/mknative/shark/usr/src/destdir.shark/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=arm--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbarm-arm/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbarm-arm/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbarm-arm/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/arm --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=arm--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/arm/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/arm/defs.mk index 4ecd412e0..dacec7740 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/arm/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/arm/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/auto-host.h index 1a7770ee8..c2476828d 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/auto-host.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/auto-host.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* auto-host.h. Generated from config.in by configure. */ @@ -1747,7 +1747,7 @@ # endif #else # ifndef WORDS_BIGENDIAN -# define WORDS_BIGENDIAN 1 +/* # undef WORDS_BIGENDIAN */ # endif #endif diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h index 1fd6b436e..a1f0a6ec9 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armeb--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/evbarm/usr/src/destdir.evbarm/usr --with-mpfr=/var/obj/mknative/evbarm/usr/src/destdir.evbarm/usr --with-gmp=/var/obj/mknative/evbarm/usr/src/destdir.evbarm/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=armeb--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armeb--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbarm-armeb/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbarm-armeb/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbarm-armeb/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/armeb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=armeb--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/defs.mk index a56229193..bf0183417 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -31,7 +31,7 @@ G_GTFILES_FILES_FILES= G_GTFILES_FILES_LANGS= G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h G_GTFILES_LANG_DIR_NAMES= -G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_ENDIAN_DEFAULT=MASK_BIG_END +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 G_host_xm_file= G_host_xm_defines= G_tm_p_file= @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/tm.h index 5c53f0719..2cb1c393e 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/armeb/tm.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/armeb/tm.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.58 2011/07/02 13:25:05 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ #ifndef GCC_TM_H @@ -8,8 +8,8 @@ #ifndef NETBSD_ENABLE_PTHREADS # define NETBSD_ENABLE_PTHREADS #endif -#ifndef TARGET_ENDIAN_DEFAULT -# define TARGET_ENDIAN_DEFAULT MASK_BIG_END +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 #endif #ifdef IN_GCC # include "options.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/auto-host.h new file mode 100644 index 000000000..b5b183226 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.61 2011/07/03 12:26:02 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/m68k/m68k-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_EH_GC_SECTIONS 1 +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +/* #undef NEED_64BIT_HOST_WIDE_INT */ +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bconfig.h new file mode 100644 index 000000000..a7c7a3ba2 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bversion.h new file mode 100644 index 000000000..a1aebfeaa --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/config.h new file mode 100644 index 000000000..397ea0976 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/configargs.h new file mode 100644 index 000000000..087ea274c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-coldfire/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m5407--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-coldfire/evbcf/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-coldfire/evbcf/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-coldfire/evbcf/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-coldfire/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-coldfire/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-coldfire/src/external/lgpl3/gmp/lib/libgmp/arch/coldfire --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=m5407--netbsdelf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "mcpu=5475" }, { "arch", "cf" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/defs.mk new file mode 100644 index 000000000..f8e0a3e2e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/m68k/m68k.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o m68k.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/m68k/m68k.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/m68k/m68k.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/m68k/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/m68k/m68k.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS MOTOROLA=1 USE_GAS=1 +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=mcf5475 +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/m68k/m68k.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/m68k/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/m68k/m68k.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/m68k/m68k.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/m68k/netbsd-elf.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/m68k/m68k-protos.h tm-preds.h +G_LIB2ADDEHDEP= unwind-dw2-fde.h unwind-dw2-fde.c +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gthr-default.h new file mode 100644 index 000000000..5b4cac8e3 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gtyp-input.list new file mode 100644 index 000000000..d9e67831a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/gtyp-input.list @@ -0,0 +1,185 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/m68k/m68k.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/m68k/netbsd-elf.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/m68k/m68k.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/multilib.h new file mode 100644 index 000000000..8ab664e34 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/multilib.h @@ -0,0 +1,20 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". ;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = ""; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/plugin-version.h new file mode 100644 index 000000000..5c051df3e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h new file mode 100644 index 000000000..6dd08b79e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/coldfire/tm.h @@ -0,0 +1,31 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (mcf5475) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef MOTOROLA +# define MOTOROLA 1 +#endif +#ifndef USE_GAS +# define USE_GAS 1 +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/m68k/m68k.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/m68k/netbsd-elf.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h index 87872091b..01373d82c 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/auto-host.h @@ -1,3 +1,7 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + /* auto-host.h. Generated from config.in by configure. */ /* config.in. Generated from configure.ac by autoheader. */ @@ -129,7 +133,7 @@ /* Define to enable plugin support. */ #ifndef USED_FOR_TARGET -/* #undef ENABLE_PLUGIN */ +#define ENABLE_PLUGIN 1 #endif @@ -700,7 +704,7 @@ /* Define to 1 if we found a declaration for 'getrusage', otherwise define to 0. */ #ifndef USED_FOR_TARGET -#define HAVE_DECL_GETRUSAGE 0 +#define HAVE_DECL_GETRUSAGE 1 #endif @@ -829,7 +833,7 @@ /* Define to 1 if you have the `elf_getshdrstrndx' function. */ #ifndef USED_FOR_TARGET -#define HAVE_ELF_GETSHDRSTRNDX 1 +/* #undef HAVE_ELF_GETSHDRSTRNDX */ #endif @@ -1053,7 +1057,7 @@ /* Define to 1 if you have the `getrusage' function. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_GETRUSAGE */ +#define HAVE_GETRUSAGE 1 #endif @@ -1269,25 +1273,25 @@ /* Define to 1 if you have the `mmap' function. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP */ +#define HAVE_MMAP 1 #endif /* Define if mmap with MAP_ANON(YMOUS) works. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_ANON */ +#define HAVE_MMAP_ANON 1 #endif /* Define if mmap of /dev/zero works. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_DEV_ZERO */ +#define HAVE_MMAP_DEV_ZERO 1 #endif /* Define if read-only mmap of a plain file works. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_FILE */ +#define HAVE_MMAP_FILE 1 #endif @@ -1547,7 +1551,7 @@ /* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ #ifndef USED_FOR_TARGET -/* #undef NEED_64BIT_HOST_WIDE_INT */ +#define NEED_64BIT_HOST_WIDE_INT 1 #endif @@ -1756,13 +1760,13 @@ /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #ifndef USED_FOR_TARGET -#define _POSIX_1_SOURCE 2 +/* #undef _POSIX_1_SOURCE */ #endif /* Define to 1 if you need to in order for `stat' and other things to work. */ #ifndef USED_FOR_TARGET -#define _POSIX_SOURCE 1 +/* #undef _POSIX_SOURCE */ #endif diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h index 3cc357dec..47537d7df 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bconfig.h @@ -1,10 +1,10 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ #ifndef GCC_BCONFIG_H #define GCC_BCONFIG_H -#include "auto-host.h" +#include "auto-build.h" #ifdef IN_GCC # include "ansidecl.h" #endif diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h index a1aebfeaa..a94dd790d 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/bversion.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ #define BUILDING_GCC_MAJOR 4 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h index 3f48d2a49..87fbdac81 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ #ifndef GCC_CONFIG_H diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h index 2177734bf..4a208ea09 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm-elf32-minix --disable-libssp --disable-threads --disable-visibility --disable-libunwind --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=armv7-a --with-mpc=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --with-mpfr=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --with-gmp=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --disable-nls --disable-multilib --program-transform-name=s,^,arm-elf32-minix-, --enable-languages='c c++ objc' --prefix=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm-elf32-minix --disable-libssp --disable-threads --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=armv7-a --with-mpfr=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --with-gmp=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --with-mpc=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686 --disable-nls --disable-multilib --disable-symvers --disable-libstdcxx-pch --program-transform-name=s,^,arm-elf32-minix-, --enable-languages='c c++ objc' --prefix=/usr/objs/evbearm-el/tooldir.Minix-3.2.1-i686"; static const char thread_model[] = "single"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk index b44cab160..333c22d27 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/defs.mk @@ -1,5 +1,5 @@ -# This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -8,17 +8,17 @@ G_BUILD_PRINT= G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o G_BUILD_SUPPORT= G_BUILD_VARRAY= -G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o -G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c G_version=4.5.4 G_BUILD_PREFIX= @@ -29,24 +29,24 @@ G_GCC_H=gcc.h version.h G_GTFILES_SRCDIR= G_GTFILES_FILES_FILES= G_GTFILES_FILES_LANGS= -G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c \ ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c \ ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h G_GTFILES_LANG_DIR_NAMES= G_tm_defines= G_host_xm_file= G_host_xm_defines= G_tm_p_file= G_target_cpu_default=TARGET_CPU_generic -G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt ${GNUHOSTDIST}/gcc/config/arm/eabi.opt -G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/defaults.h -G_build_xm_include_list=auto-host.h ansidecl.h +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/arm/unknown-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/eabi.h ${GNUHOSTDIST}/gcc/config/newlib-stdint.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/arm/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h -G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/unwind-generic.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list index e236bd172..4d6eb2f78 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/gtyp-input.list @@ -10,14 +10,14 @@ SRCDIR/gcc/config/dbxelf.h SRCDIR/gcc/config/elfos.h SRCDIR/gcc/config/arm/unknown-elf.h SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h SRCDIR/gcc/config/arm/bpabi.h SRCDIR/gcc/config/arm/eabi.h SRCDIR/gcc/config/newlib-stdint.h SRCDIR/gcc/config/minix-spec.h SRCDIR/gcc/config/arm/minix.h SRCDIR/gcc/config/minix.h -SRCDIR/gcc/config/arm/aout.h -SRCDIR/gcc/config/arm/arm.h SRCDIR/gcc/defaults.h SRCDIR/gcc/../include/hashtab.h SRCDIR/gcc/../include/splay-tree.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h index 06d583aa5..bb92819aa 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/multilib.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ static const char *const multilib_raw[] = { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h index 5c051df3e..15376702b 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/plugin-version.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ #include "configargs.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h index 9f16cd22e..4e5ceb9ca 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earm/tm.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ #ifndef GCC_TM_H @@ -11,14 +11,14 @@ # include "config/elfos.h" # include "config/arm/unknown-elf.h" # include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" # include "config/arm/bpabi.h" # include "config/arm/eabi.h" # include "config/newlib-stdint.h" # include "config/minix-spec.h" # include "config/arm/minix.h" # include "config/minix.h" -# include "config/arm/aout.h" -# include "config/arm/arm.h" # include "defaults.h" #endif #if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/auto-host.h new file mode 100644 index 000000000..65cee6c70 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bconfig.h new file mode 100644 index 000000000..2345717a0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h new file mode 100644 index 000000000..b83f99567 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armeb--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbarm-earmeb/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbarm-earmeb/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbarm-earmeb/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/earmeb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=armeb--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { NULL, NULL} }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk new file mode 100644 index 000000000..c6f6547c1 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_generic +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/tm.h new file mode 100644 index 000000000..4961b274d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmeb/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_generic) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/auto-host.h new file mode 100644 index 000000000..4f253155d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bconfig.h new file mode 100644 index 000000000..47537d7df --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h new file mode 100644 index 000000000..fdfe2bf19 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=arm--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbarm-earmhf/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbarm-earmhf/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbarm-earmhf/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/earmhf --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=arm--netbsdelf-eabihf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { NULL, NULL} }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk new file mode 100644 index 000000000..6f07b837d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_generic +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/tm.h new file mode 100644 index 000000000..ce1cbe29e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhf/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_generic) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_DEFAULT_FLOAT_ABI +# define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h new file mode 100644 index 000000000..abe1ff30c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bconfig.h new file mode 100644 index 000000000..5892b5246 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bversion.h new file mode 100644 index 000000000..284c9c46b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/config.h new file mode 100644 index 000000000..1b8814201 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h new file mode 100644 index 000000000..44ad5620f --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armeb--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbarm-earmhfeb/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbarm-earmhfeb/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbarm-earmhfeb/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=armeb--netbsdelf-eabihf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armeb--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbarm-earmhfeb/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbarm-earmhfeb/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbarm-earmhfeb/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=armeb--netbsdelf-eabihf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { NULL, NULL} }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/defs.mk new file mode 100644 index 000000000..f0a8f144e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_generic +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gthr-default.h new file mode 100644 index 000000000..db1c27a98 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/multilib.h new file mode 100644 index 000000000..72b723fc2 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h new file mode 100644 index 000000000..ffa597f03 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/tm.h new file mode 100644 index 000000000..7f0d933be --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmhfeb/tm.h @@ -0,0 +1,35 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_generic) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifndef TARGET_DEFAULT_FLOAT_ABI +# define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/auto-host.h new file mode 100644 index 000000000..4f253155d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bconfig.h new file mode 100644 index 000000000..47537d7df --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/config.h new file mode 100644 index 000000000..87fbdac81 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h new file mode 100644 index 000000000..b2476ba31 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv4--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/ecats/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/ecats/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/ecats/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv4 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv4--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "strongarm" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/defs.mk new file mode 100644 index 000000000..2ad0060d2 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_strongarm +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gthr-default.h new file mode 100644 index 000000000..9dd297d78 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/tm.h new file mode 100644 index 000000000..0bdf7c951 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4/tm.h @@ -0,0 +1,29 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_strongarm) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h new file mode 100644 index 000000000..65cee6c70 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bconfig.h new file mode 100644 index 000000000..2345717a0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h new file mode 100644 index 000000000..5ed92497c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv4eb--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv4-eb/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv4-eb/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv4-eb/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv4eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv4eb--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "strongarm" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/defs.mk new file mode 100644 index 000000000..196b36291 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_strongarm +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/tm.h new file mode 100644 index 000000000..9aef7e39d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv4eb/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_strongarm) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/auto-host.h new file mode 100644 index 000000000..4f253155d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bconfig.h new file mode 100644 index 000000000..47537d7df --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/config.h new file mode 100644 index 000000000..87fbdac81 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h new file mode 100644 index 000000000..e4dd0cd4a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv6--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv6-el/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv6-el/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv6-el/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv6 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv6--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "arm1176jzf-s" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk new file mode 100644 index 000000000..923fc58fc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_arm1176jzfs +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gthr-default.h new file mode 100644 index 000000000..9dd297d78 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/tm.h new file mode 100644 index 000000000..81255c61d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6/tm.h @@ -0,0 +1,29 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_arm1176jzfs) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h new file mode 100644 index 000000000..65cee6c70 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bconfig.h new file mode 100644 index 000000000..2345717a0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h new file mode 100644 index 000000000..abb052fb2 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv6eb--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv6-eb/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv6-eb/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv6-eb/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv6eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv6eb--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "arm1176jzf-s" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/defs.mk new file mode 100644 index 000000000..02db3dcfd --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_arm1176jzfs +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/tm.h new file mode 100644 index 000000000..935fa6af7 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6eb/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_arm1176jzfs) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h new file mode 100644 index 000000000..4f253155d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bconfig.h new file mode 100644 index 000000000..47537d7df --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/config.h new file mode 100644 index 000000000..87fbdac81 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h new file mode 100644 index 000000000..53acbad72 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv6--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv6hf-el/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv6hf-el/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv6hf-el/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv6hf --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv6--netbsdelf-eabihf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "arm1176jzf-s" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/defs.mk new file mode 100644 index 000000000..458618809 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_arm1176jzfs +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gthr-default.h new file mode 100644 index 000000000..9dd297d78 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/tm.h new file mode 100644 index 000000000..7c849d35d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hf/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_arm1176jzfs) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_DEFAULT_FLOAT_ABI +# define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/auto-host.h new file mode 100644 index 000000000..65cee6c70 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bconfig.h new file mode 100644 index 000000000..2345717a0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h new file mode 100644 index 000000000..33935fe9d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv6eb--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv6hf-eb/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv6hf-eb/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv6hf-eb/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv6hfeb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv6eb--netbsdelf-eabihf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "arm1176jzf-s" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk new file mode 100644 index 000000000..1adbfe7f6 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_arm1176jzfs +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/tm.h new file mode 100644 index 000000000..bcd7625e4 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv6hfeb/tm.h @@ -0,0 +1,35 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_arm1176jzfs) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifndef TARGET_DEFAULT_FLOAT_ABI +# define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/auto-host.h new file mode 100644 index 000000000..4f253155d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bconfig.h new file mode 100644 index 000000000..47537d7df --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/config.h new file mode 100644 index 000000000..87fbdac81 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h new file mode 100644 index 000000000..17d8538e3 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv7--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv7-el/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv7-el/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv7-el/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv7 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv7--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "cortex-a8" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk new file mode 100644 index 000000000..2dbf8321f --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_cortexa8 +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gthr-default.h new file mode 100644 index 000000000..9dd297d78 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/tm.h new file mode 100644 index 000000000..ba26ac766 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7/tm.h @@ -0,0 +1,29 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_cortexa8) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h new file mode 100644 index 000000000..65cee6c70 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bconfig.h new file mode 100644 index 000000000..2345717a0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h new file mode 100644 index 000000000..8d4e0acbf --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv7eb--netbsdelf-eabi --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv7-eb/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv7-eb/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv7-eb/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv7eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv7eb--netbsdelf-eabi"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "cortex-a8" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/defs.mk new file mode 100644 index 000000000..500732d4e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_cortexa8 +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/tm.h new file mode 100644 index 000000000..ded1da2c9 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7eb/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_cortexa8) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h new file mode 100644 index 000000000..4f253155d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bconfig.h new file mode 100644 index 000000000..47537d7df --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/config.h new file mode 100644 index 000000000..87fbdac81 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h new file mode 100644 index 000000000..a00ca5172 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv7--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv7hf-el/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv7hf-el/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv7hf-el/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv7hf --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv7--netbsdelf-eabihf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "cortex-a8" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/defs.mk new file mode 100644 index 000000000..1a8919c20 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_cortexa8 +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gthr-default.h new file mode 100644 index 000000000..9dd297d78 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/multilib.h new file mode 100644 index 000000000..6f4a51325 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.69 2013/04/25 16:18:43 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/tm.h new file mode 100644 index 000000000..7564a8b5a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hf/tm.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_cortexa8) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_DEFAULT_FLOAT_ABI +# define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/auto-host.h new file mode 100644 index 000000000..38a57efee --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/arm/arm-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GSTABS_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LTOFFX_LDXMOV_RELOCS */ +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 1 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 1 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LCOMM_WITH_ALIGNMENT */ +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_VFORK 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_VFORK 1 +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 4 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 4 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +/* #undef vfork */ +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bconfig.h new file mode 100644 index 000000000..ed06393c4 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bversion.h new file mode 100644 index 000000000..09e40717f --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..c0e3ce274 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h new file mode 100644 index 000000000..b51468ee6 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/u1/netbsd-HEAD/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=armv7eb--netbsdelf-eabihf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/u2/netbsd-HEAD/evbearmv7hf-eb/obj/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/u2/netbsd-HEAD/evbearmv7hf-eb/obj/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/u2/netbsd-HEAD/evbearmv7hf-eb/obj/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/u1/netbsd-HEAD/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/u1/netbsd-HEAD/src/external/lgpl3/mpfr/dist --with-gmp-include=/u1/netbsd-HEAD/src/external/lgpl3/gmp/lib/libgmp/arch/earmv7hfeb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.1. --host=armv7eb--netbsdelf-eabihf"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { "cpu", "cortex-a8" } }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk new file mode 100644 index 000000000..ae5e6dedd --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o arm-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber +G_md_file=${GNUHOSTDIST}/gcc/config/arm/arm.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o arm.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/arm/arm.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/arm/arm.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS TARGET_BIG_ENDIAN_DEFAULT=1 TARGET_DEFAULT_FLOAT_ABI=ARM_FLOAT_ABI_HARD +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=TARGET_CPU_cortexa8 +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/arm/arm.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/elf.h ${GNUHOSTDIST}/gcc/config/arm/aout.h ${GNUHOSTDIST}/gcc/config/arm/arm.h ${GNUHOSTDIST}/gcc/config/arm/bpabi.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/arm/netbsd-eabi.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/arm/arm-protos.h tm-preds.h +G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/config/arm/unwind-arm.h ${GNUHOSTDIST}/gcc/config/arm/lib1funcs.asm +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o arm-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED=yes +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gthr-default.h new file mode 100644 index 000000000..74af959f0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gtyp-input.list new file mode 100644 index 000000000..21f9cc4dc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/gtyp-input.list @@ -0,0 +1,189 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/arm/elf.h +SRCDIR/gcc/config/arm/aout.h +SRCDIR/gcc/config/arm/arm.h +SRCDIR/gcc/config/arm/bpabi.h +SRCDIR/gcc/config/arm/netbsd-elf.h +SRCDIR/gcc/config/arm/netbsd-eabi.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/arm/arm.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/multilib.h new file mode 100644 index 000000000..cdc61d124 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/multilib.h @@ -0,0 +1,32 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:. mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/aapcs !mabi=aapcs-linux mabi=aapcs !mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/atpcs !mabi=aapcs-linux !mabi=aapcs mabi=atpcs !mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/oabi !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs mabi=apcs-gnu !mabi=iwmmxt;", +".:../lib/iwmmxt !mabi=aapcs-linux !mabi=aapcs !mabi=atpcs !mabi=apcs-gnu mabi=iwmmxt;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +"mabi=aapcs-linux mabi=aapcs-linux;", +"mabi=aapcs mabi=aapcs;", +"mabi=atpcs mabi=atpcs;", +"mabi=apcs-gnu mabi=apcs-gnu;", +"mabi=iwmmxt mabi=iwmmxt;", +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = "mabi=aapcs-linux/mabi=aapcs/mabi=atpcs/mabi=apcs-gnu/mabi=iwmmxt"; + +#define DISABLE_MULTILIB 1 diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h new file mode 100644 index 000000000..c1dcf4958 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/tm.h new file mode 100644 index 000000000..f1da6002e --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/earmv7hfeb/tm.h @@ -0,0 +1,35 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (TARGET_CPU_cortexa8) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifndef TARGET_BIG_ENDIAN_DEFAULT +# define TARGET_BIG_ENDIAN_DEFAULT 1 +#endif +#ifndef TARGET_DEFAULT_FLOAT_ABI +# define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/arm/elf.h" +# include "config/arm/aout.h" +# include "config/arm/arm.h" +# include "config/arm/bpabi.h" +# include "config/arm/netbsd-elf.h" +# include "config/arm/netbsd-eabi.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h index 7c23e31a1..c08df80a4 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/hppa/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=hppa--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/hp700/usr/src/destdir.hp700/usr --with-mpfr=/var/obj/mknative/hp700/usr/src/destdir.hp700/usr --with-gmp=/var/obj/mknative/hp700/usr/src/destdir.hp700/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=hppa--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=hppa--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/hp700/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/hp700/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/hp700/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/hppa --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=hppa--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=hppa--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/hp700/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/hp700/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/hp700/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/hppa --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=hppa--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk index 8778749c3..20d80cca6 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/hppa/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/pa/pa.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o pa.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h index 660155e1f..21b595458 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/auto-host.h @@ -1,3 +1,7 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.65 2011/10/13 19:52:33 matt Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + /* auto-host.h. Generated from config.in by configure. */ /* config.in. Generated from configure.ac by autoheader. */ @@ -129,7 +133,7 @@ /* Define to enable plugin support. */ #ifndef USED_FOR_TARGET -/* #undef ENABLE_PLUGIN */ +#define ENABLE_PLUGIN 1 #endif @@ -700,7 +704,7 @@ /* Define to 1 if we found a declaration for 'getrusage', otherwise define to 0. */ #ifndef USED_FOR_TARGET -#define HAVE_DECL_GETRUSAGE 0 +#define HAVE_DECL_GETRUSAGE 1 #endif @@ -829,7 +833,7 @@ /* Define to 1 if you have the `elf_getshdrstrndx' function. */ #ifndef USED_FOR_TARGET -#define HAVE_ELF_GETSHDRSTRNDX 1 +/* #undef HAVE_ELF_GETSHDRSTRNDX */ #endif @@ -1053,7 +1057,7 @@ /* Define to 1 if you have the `getrusage' function. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_GETRUSAGE */ +#define HAVE_GETRUSAGE 1 #endif @@ -1269,25 +1273,25 @@ /* Define to 1 if you have the `mmap' function. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP */ +#define HAVE_MMAP 1 #endif /* Define if mmap with MAP_ANON(YMOUS) works. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_ANON */ +#define HAVE_MMAP_ANON 1 #endif /* Define if mmap of /dev/zero works. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_DEV_ZERO */ +#define HAVE_MMAP_DEV_ZERO 1 #endif /* Define if read-only mmap of a plain file works. */ #ifndef USED_FOR_TARGET -/* #undef HAVE_MMAP_FILE */ +#define HAVE_MMAP_FILE 1 #endif @@ -1756,13 +1760,13 @@ /* Define to 2 if the system does not provide POSIX.1 features except with this defined. */ #ifndef USED_FOR_TARGET -#define _POSIX_1_SOURCE 2 +/* #undef _POSIX_1_SOURCE */ #endif /* Define to 1 if you need to in order for `stat' and other things to work. */ #ifndef USED_FOR_TARGET -#define _POSIX_SOURCE 1 +/* #undef _POSIX_SOURCE */ #endif diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h index 3cc357dec..8e8bdaa85 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/bconfig.h @@ -4,7 +4,7 @@ #ifndef GCC_BCONFIG_H #define GCC_BCONFIG_H -#include "auto-host.h" +#include "auto-build.h" #ifdef IN_GCC # include "ansidecl.h" #endif diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h index 75aa5b2ac..32a08a481 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=i586-elf32-minix --disable-libssp --disable-threads --disable-visibility --disable-libunwind --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=i586 --with-tune=nocona --with-mpc=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --with-mpfr=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --with-gmp=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --disable-nls --disable-multilib --program-transform-name='s,^,i586-elf32-minix-,' --enable-languages='c c++ objc' --prefix=/usr/objs/i386/tooldir.Minix-3.2.1-i686"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=i586-elf32-minix --disable-libssp --disable-threads --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-arch=i586 --with-tune=nocona --with-mpc=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --with-mpfr=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --with-gmp=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --disable-nls --disable-multilib --program-transform-name='s,^,i586-elf32-minix-,' --enable-languages='c c++ objc' --prefix=/usr/objs/i386/tooldir.Minix-3.2.1-i686 --disable-symvers --disable-libstdcxx-pch"; static const char thread_model[] = "single"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk index 2e96b2f9a..0e956b2a1 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/i386/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/i386/i386.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -39,14 +39,14 @@ G_target_cpu_default= G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/i386/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/i386/i386.opt G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/vxworks-dummy.h ${GNUHOSTDIST}/gcc/config/i386/i386.h ${GNUHOSTDIST}/gcc/config/i386/unix.h ${GNUHOSTDIST}/gcc/config/i386/att.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/minix-spec.h ${GNUHOSTDIST}/gcc/config/i386/minix.h ${GNUHOSTDIST}/gcc/config/minix.h ${GNUHOSTDIST}/gcc/defaults.h -G_build_xm_include_list=auto-host.h ansidecl.h +G_build_xm_include_list=auto-build.h ansidecl.h G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h G_tm_p_include_list=config/i386/i386-protos.h tm-preds.h -G_LIB2ADDEHDEP=${GNUHOSTDIST}/gcc/unwind-generic.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h +G_LIB2ADDEHDEP= unwind-dw2-fde.h unwind-dw2-fde.c G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o i386-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o i386-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/all-tree.def b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/all-tree.def new file mode 100644 index 000000000..49dae3066 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/all-tree.def @@ -0,0 +1,5 @@ +#include "tree.def" +END_OF_BASE_TREE_CODES +#include "c-common.def" +#include "cp/cp-tree.def" +#include "objc/objc-tree.def" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/auto-host.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/auto-host.h new file mode 100644 index 000000000..1d3a070ac --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/auto-host.h @@ -0,0 +1,1915 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* auto-host.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +#ifndef USED_FOR_TARGET +/* #undef AC_APPLE_UNIVERSAL_BUILD */ +#endif + + +/* Define as the number of bits in a byte, if `limits.h' doesn't. */ +#ifndef USED_FOR_TARGET +/* #undef CHAR_BIT */ +#endif + + +/* Define 0/1 to force the choice for exception handling model. */ +#ifndef USED_FOR_TARGET +/* #undef CONFIG_SJLJ_EXCEPTIONS */ +#endif + + +/* Define to enable the use of a default assembler. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_ASSEMBLER */ +#endif + + +/* Define to enable the use of a default linker. */ +#ifndef USED_FOR_TARGET +/* #undef DEFAULT_LINKER */ +#endif + + +/* Define if you want to use __cxa_atexit, rather than atexit, to register C++ + destructors for local statics and global objects. This is essential for + fully standards-compliant handling of destructors, but requires + __cxa_atexit in libc. */ +#ifndef USED_FOR_TARGET +#define DEFAULT_USE_CXA_ATEXIT 2 +#endif + + +/* Define if you want assertions enabled. This is a cheap check. */ +#ifndef USED_FOR_TARGET +#define ENABLE_ASSERT_CHECKING 1 +#endif + + +/* Define if you want more run-time sanity checks. This one gets a grab bag of + miscellaneous but relatively cheap checks. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_CHECKING */ +#endif + + +/* Define to 1 to specify that we are using the BID decimal floating point + format instead of DPD */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_BID_FORMAT 0 +#endif + + +/* Define to 1 to enable decimal float extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_DECIMAL_FLOAT 0 +#endif + + +/* Define if you want more run-time sanity checks for dataflow. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_DF_CHECKING */ +#endif + + +/* Define to 1 to enable fixed-point arithmetic extension to C. */ +#ifndef USED_FOR_TARGET +#define ENABLE_FIXED_POINT 0 +#endif + + +/* Define if you want fold checked that it never destructs its argument. This + is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_FOLD_CHECKING */ +#endif + + +/* Define if you want the garbage collector to operate in maximally paranoid + mode, validating the entire heap and collecting garbage at every + opportunity. This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_ALWAYS_COLLECT */ +#endif + + +/* Define if you want the garbage collector to do object poisoning and other + memory allocation checks. This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GC_CHECKING */ +#endif + + +/* Define if you want operations on GIMPLE (the basic data structure of the + high-level optimizers) to be checked for dynamic type safety at runtime. + This is moderately expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_GIMPLE_CHECKING */ +#endif + + +/* Define if gcc should always pass --build-id to linker. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_LD_BUILDID */ +#endif + + +/* Define to enable LTO support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_LTO 1 +#endif + + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#ifndef USED_FOR_TARGET +#define ENABLE_NLS 1 +#endif + + +/* Define to enable plugin support. */ +#ifndef USED_FOR_TARGET +#define ENABLE_PLUGIN 1 +#endif + + +/* Define if you want all operations on RTL (the basic data structure of the + optimizer and back end) to be checked for dynamic type safety at runtime. + This is quite expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_CHECKING */ +#endif + + +/* Define if you want RTL flag accesses to be checked against the RTL codes + that are supported for each access macro. This is relatively cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_RTL_FLAG_CHECKING */ +#endif + + +/* Define if you want runtime assertions enabled. This is a cheap check. */ +#define ENABLE_RUNTIME_CHECKING 1 + +/* Define if you want all operations on trees (the basic data structure of the + front ends) to be checked for dynamic type safety at runtime. This is + moderately expensive. The tree browser debugging routines will also be + enabled by this option. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TREE_CHECKING */ +#endif + + +/* Define if you want all gimple types to be verified after gimplifiation. + This is cheap. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_TYPES_CHECKING */ +#endif + + +/* Define if you want to run subprograms and generated programs through + valgrind (a memory checker). This is extremely expensive. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_VALGRIND_CHECKING */ +#endif + + +/* Define to 1 if installation paths should be looked up in the Windows + Registry. Ignored on non-Windows hosts. */ +#ifndef USED_FOR_TARGET +/* #undef ENABLE_WIN32_REGISTRY */ +#endif + + +/* Define to the name of a file containing a list of extra machine modes for + this architecture. */ +#ifndef USED_FOR_TARGET +#define EXTRA_MODES_FILE "config/ia64/ia64-modes.def" +#endif + + +/* Define to enable detailed memory allocation stats gathering. */ +#ifndef USED_FOR_TARGET +/* #undef GATHER_STATISTICS */ +#endif + + +/* Define if the zone collector is in use */ +#ifndef USED_FOR_TARGET +/* #undef GGC_ZONE */ +#endif + + +/* mcontext_t fields start with __ */ +#ifndef USED_FOR_TARGET +/* #undef HAS_MCONTEXT_T_UNDERSCORES */ +#endif + + +/* Define if your assembler supports cmpb. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_CMPB */ +#endif + + +/* Define if your assembler supports the DCI/ICI instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DCI */ +#endif + + +/* Define if your assembler supports the --debug-prefix-map option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DEBUG_PREFIX_MAP 1 +#endif + + +/* Define if your assembler supports DFP instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DFP */ +#endif + + +/* Define if your assembler supports .dtprelword. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_DTPRELWORD */ +#endif + + +/* Define if your assembler supports dwarf2 .file/.loc directives, and + preserves file table indices exactly as given. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_DWARF2_DEBUG_LINE 1 +#endif + + +/* Define if your assembler supports explicit relocations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_EXPLICIT_RELOCS */ +#endif + + +/* Define if your assembler supports fprnd. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_FPRND */ +#endif + + +/* Define if your assembler supports the --gdwarf2 option. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_GDWARF2_DEBUG_FLAG 1 +#endif + + +/* Define if your assembler supports .gnu_attribute. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GNU_ATTRIBUTE */ +#endif + + +/* Define true if the assembler supports '.long foo@GOTOFF'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GOTOFF_IN_DATA */ +#endif + + +/* Define if your assembler supports the --gstabs option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_GSTABS_DEBUG_FLAG */ +#endif + + +/* Define if your assembler supports the Sun syntax for cmov. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_CMOV_SUN_SYNTAX */ +#endif + + +/* Define if your assembler supports the subtraction of symbols in different + sections. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_DIFF_SECT_DELTA */ +#endif + + +/* Define if your assembler supports the ffreep mnemonic. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FFREEP */ +#endif + + +/* Define if your assembler uses fildq and fistq mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDQ */ +#endif + + +/* Define if your assembler uses filds and fists mnemonics. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_FILDS */ +#endif + + +/* Define if your assembler supports the .quad directive. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_QUAD */ +#endif + + +/* Define true if the assembler supports 'rep , lock '. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_REP_LOCK_PREFIX */ +#endif + + +/* Define if your assembler supports the sahf mnemonic in 64bit mode. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SAHF */ +#endif + + +/* Define if your assembler supports the swap suffix. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_IX86_SWAP */ +#endif + + +/* Define if your assembler supports the lituse_jsrdirect relocation. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_JSRDIRECT_RELOCS */ +#endif + + +/* Define if your assembler supports .sleb128 and .uleb128. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LEB128 1 +#endif + + +/* Define if the assembler won't complain about a line such as # 0 "" 2. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LINE_ZERO 1 +#endif + + +/* Define if your assembler supports ltoffx and ldxmov relocations. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_LTOFFX_LDXMOV_RELOCS 1 +#endif + + +/* Define if your assembler supports LWSYNC instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_LWSYNC */ +#endif + + +/* Define if your assembler supports mfcr field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFCRF */ +#endif + + +/* Define if your assembler supports mffgpr and mftgpr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_MFPGPR */ +#endif + + +/* Define if your assembler supports the -no-mul-bug-abort option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION */ +#endif + + +/* Define if the assembler understands -mno-shared. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_NO_SHARED */ +#endif + + +/* Define if your assembler supports offsetable %lo(). */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_OFFSETABLE_LO10 */ +#endif + + +/* Define if your assembler supports popcntb field. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTB */ +#endif + + +/* Define if your assembler supports POPCNTD instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_POPCNTD */ +#endif + + +/* Define if your assembler supports .ref */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REF */ +#endif + + +/* Define if your assembler supports .register. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REGISTER_PSEUDO_OP */ +#endif + + +/* Define if your assembler supports R_PPC_REL16 relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_REL16 */ +#endif + + +/* Define if your assembler supports -relax option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_RELAX_OPTION */ +#endif + + +/* Define if your assembler and linker support GOTDATA_OP relocs. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_GOTDATA_OP */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs. + */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL */ +#endif + + +/* Define if your assembler and linker support unaligned PC relative relocs + against hidden symbols. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_SPARC_UA_PCREL_HIDDEN */ +#endif + + +/* Define if your assembler supports thread-local storage. */ +#ifndef USED_FOR_TARGET +#define HAVE_AS_TLS 1 +#endif + + +/* Define if your assembler supports arg info for __tls_get_addr. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_TLS_MARKERS */ +#endif + + +/* Define if your assembler supports VSX instructions. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_AS_VSX */ +#endif + + +/* Define to 1 if you have the `atoll' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ATOLL 1 +#endif + + +/* Define to 1 if you have the `atoq' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ATOQ */ +#endif + + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_CLEARERR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `clock' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK 1 +#endif + + +/* Define if defines clock_t. */ +#ifndef USED_FOR_TARGET +#define HAVE_CLOCK_T 1 +#endif + + +/* Define 0/1 if your assembler and linker support COMDAT groups. */ +#ifndef USED_FOR_TARGET +#define HAVE_COMDAT_GROUP 1 +#endif + + +/* Define to 1 if we found a declaration for 'abort', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ABORT 1 +#endif + + +/* Define to 1 if we found a declaration for 'asprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atof', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOF 1 +#endif + + +/* Define to 1 if we found a declaration for 'atol', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ATOL 1 +#endif + + +/* Define to 1 if we found a declaration for 'basename', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_BASENAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'calloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'clearerr_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLEARERR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'clock', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_CLOCK 1 +#endif + + +/* Define to 1 if we found a declaration for 'errno', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_ERRNO 1 +#endif + + +/* Define to 1 if we found a declaration for 'feof_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FEOF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'ferror_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FERROR_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fflush_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FFLUSH_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgetc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fgets_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FGETS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fileno_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FILENO_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fprintf_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPRINTF_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputc_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTC_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fputs_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FPUTS_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'fread_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREAD_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'free', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FREE 1 +#endif + + +/* Define to 1 if we found a declaration for 'fwrite_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_FWRITE_UNLOCKED 0 +#endif + + +/* Define to 1 if we found a declaration for 'getchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getcwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETCWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'getc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'getenv', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETENV 1 +#endif + + +/* Define to 1 if we found a declaration for 'getopt', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETOPT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getpagesize', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETPAGESIZE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'getrusage', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETRUSAGE 1 +#endif + + +/* Define to 1 if we found a declaration for 'getwd', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_GETWD 1 +#endif + + +/* Define to 1 if we found a declaration for 'ldgetname', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_LDGETNAME 0 +#endif + + +/* Define to 1 if we found a declaration for 'malloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_MALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'putchar_unlocked', otherwise + define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'putc_unlocked', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if we found a declaration for 'realloc', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_REALLOC 1 +#endif + + +/* Define to 1 if we found a declaration for 'sbrk', otherwise define to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SBRK 1 +#endif + + +/* Define to 1 if we found a declaration for 'setrlimit', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SETRLIMIT 1 +#endif + + +/* Define to 1 if we found a declaration for 'sigaltstack', otherwise define + to 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SIGALTSTACK 1 +#endif + + +/* Define to 1 if we found a declaration for 'snprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_SNPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'strsignal', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSIGNAL 1 +#endif + + +/* Define to 1 if we found a declaration for 'strstr', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRSTR 1 +#endif + + +/* Define to 1 if we found a declaration for 'strverscmp', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_STRVERSCMP 0 +#endif + + +/* Define to 1 if we found a declaration for 'times', otherwise define to 0. + */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_TIMES 1 +#endif + + +/* Define to 1 if we found a declaration for 'vasprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VASPRINTF 1 +#endif + + +/* Define to 1 if we found a declaration for 'vsnprintf', otherwise define to + 0. */ +#ifndef USED_FOR_TARGET +#define HAVE_DECL_VSNPRINTF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_DIRECT_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_DLFCN_H 1 +#endif + + +/* Define to 1 if you have the `elf_getshdrstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHDRSTRNDX */ +#endif + + +/* Define to 1 if you have the `elf_getshstrndx' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX */ +#endif + + +/* Define if elf_getshstrndx has gABI conformant return values. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_ELF_GETSHSTRNDX_GABI */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_FCNTL_H 1 +#endif + + +/* Define to 1 if you have the `feof_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FEOF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `ferror_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FERROR_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fflush_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FFLUSH_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fgets_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FGETS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fileno_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FILENO_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fork' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_FORK 1 +#endif + + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPRINTF_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputc_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTC_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fputs_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FPUTS_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fread_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FREAD_UNLOCKED */ +#endif + + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_FWRITE_UNLOCKED */ +#endif + + +/* Define if your assembler supports specifying the alignment of objects + allocated using the GAS .comm command. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_ALIGNED_COMM */ +#endif + + +/* Define if your assembler supports .balign and .p2align. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_BALIGN_AND_P2ALIGN 1 +#endif + + +/* Define 0/1 if your assembler supports CFI directives. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_DIRECTIVE 0 +#endif + + +/* Define 0/1 if your assembler supports .cfi_personality. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_PERSONALITY_DIRECTIVE 0 +#endif + + +/* Define 0/1 if your assembler supports .cfi_sections. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_CFI_SECTIONS_DIRECTIVE 0 +#endif + + +/* Define if your assembler supports the .loc discriminator sub-directive. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_DISCRIMINATOR 1 +#endif + + +/* Define if your assembler supports @gnu_unique_object. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_GNU_UNIQUE_OBJECT */ +#endif + + +/* Define if your assembler and linker support .hidden. */ +#define HAVE_GAS_HIDDEN 1 + +/* Define if your assembler supports .lcomm with an alignment field. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_LCOMM_WITH_ALIGNMENT 1 +#endif + + +/* Define if your assembler supports .literal16. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_LITERAL16 */ +#endif + + +/* Define if your assembler supports specifying the maximum number of bytes to + skip when using the GAS .p2align command. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_MAX_SKIP_P2ALIGN 1 +#endif + + +/* Define if your assembler supports .nsubspa comdat option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_NSUBSPA_COMDAT */ +#endif + + +/* Define if your assembler and linker support 32-bit section relative relocs + via '.secrel32 label'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_GAS_PE_SECREL32_RELOC */ +#endif + + +/* Define 0/1 if your assembler supports marking sections with SHF_MERGE flag. + */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SHF_MERGE 1 +#endif + + +/* Define if your assembler supports .subsection and .subsection -1 starts + emitting at the beginning of your section. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_SUBSECTION_ORDERING 1 +#endif + + +/* Define if your assembler supports .weak. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAK 1 +#endif + + +/* Define if your assembler supports .weakref. */ +#ifndef USED_FOR_TARGET +#define HAVE_GAS_WEAKREF 1 +#endif + + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `getc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETC_UNLOCKED 1 +#endif + + +/* Define if _Unwind_GetIPInfo is available. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETIPINFO 1 +#endif + + +/* Define to 1 if you have the `getrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRLIMIT 1 +#endif + + +/* Define to 1 if you have the `getrusage' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETRUSAGE 1 +#endif + + +/* Define to 1 if you have the `gettimeofday' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_GETTIMEOFDAY 1 +#endif + + +/* Define if using GNU as. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_AS 0 +#endif + + +/* Define if using GNU ld. */ +#ifndef USED_FOR_TARGET +#define HAVE_GNU_LD 0 +#endif + + +/* Define if you have the iconv() function. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_ICONV_H 1 +#endif + + +/* Define .init_array/.fini_array sections are available and working. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_INITFINI_ARRAY */ +#endif + + +/* Define to 1 if the system has the type `intmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `intptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTPTR_T 1 +#endif + + +/* Define if you have a working header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_INTTYPES_H 1 +#endif + + +/* Define to 1 if you have the `kill' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_KILL 1 +#endif + + +/* Define if you have and nl_langinfo(CODESET). */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_CODESET 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LANGINFO_H 1 +#endif + + +/* Define if your file defines LC_MESSAGES. */ +#ifndef USED_FOR_TARGET +#define HAVE_LC_MESSAGES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LDFCN_H */ +#endif + + +/* Define if your linker supports --as-needed and --no-as-needed options. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_AS_NEEDED 1 +#endif + + +/* Define if your linker supports --build-id. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_BUILDID 1 +#endif + + +/* Define if your linker supports --demangle option. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_DEMANGLE */ +#endif + + +/* Define if your linker supports --eh-frame-hdr option. */ +#define HAVE_LD_EH_FRAME_HDR 1 + +/* Define if your linker supports garbage collection of sections in presence + of EH frames. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_EH_GC_SECTIONS */ +#endif + + +/* Define if your PowerPC64 linker only needs function descriptor syms. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_NO_DOT_SYMS */ +#endif + + +/* Define if your linker can relax absolute .eh_frame personality pointers + into PC-relative form. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_PERSONALITY_RELAXATION */ +#endif + + +/* Define if your linker supports -pie option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_PIE 1 +#endif + + +/* Define if your linker links a mix of read-only and read-write sections into + a read-write section. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_RO_RW_SECTION_MIXING 1 +#endif + + +/* Define if your linker supports the *_sol2 emulations. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_LD_SOL2_EMULATION */ +#endif + + +/* Define if your linker supports -Bstatic/-Bdynamic option. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_STATIC_DYNAMIC 1 +#endif + + +/* Define if your linker supports --sysroot. */ +#ifndef USED_FOR_TARGET +#define HAVE_LD_SYSROOT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LIMITS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_LOCALE_H 1 +#endif + + +/* Define to 1 if the system has the type `long long'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG 1 +#endif + + +/* Define to 1 if the system has the type `long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_LONG_LONG_INT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MALLOC_H 1 +#endif + + +/* Define to 1 if you have the `mbstowcs' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MBSTOWCS 1 +#endif + + +/* Define if valgrind's memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_MEMORY_H 1 +#endif + + +/* Define to 1 if you have the `mincore' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MINCORE 1 +#endif + + +/* Define to 1 if you have the `mmap' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP 1 +#endif + + +/* Define if mmap with MAP_ANON(YMOUS) works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_ANON 1 +#endif + + +/* Define if mmap of /dev/zero works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_DEV_ZERO 1 +#endif + + +/* Define if read-only mmap of a plain file works. */ +#ifndef USED_FOR_TARGET +#define HAVE_MMAP_FILE 1 +#endif + + +/* Define to 1 if you have the `nl_langinfo' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_NL_LANGINFO 1 +#endif + + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTCHAR_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `putc_unlocked' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_PUTC_UNLOCKED 1 +#endif + + +/* Define to 1 if you have the `setlocale' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETLOCALE 1 +#endif + + +/* Define to 1 if you have the `setrlimit' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SETRLIMIT 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDDEF_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDINT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STDLIB_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRINGS_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRING_H 1 +#endif + + +/* Define to 1 if you have the `strsignal' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRSIGNAL 1 +#endif + + +/* Define if defines struct tms. */ +#ifndef USED_FOR_TARGET +#define HAVE_STRUCT_TMS 1 +#endif + + +/* Define to 1 if you have the `sysconf' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYSCONF 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_FILE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_MMAN_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_PARAM_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_RESOURCE_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_STAT_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIMES_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TIME_H 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_TYPES_H 1 +#endif + + +/* Define to 1 if you have that is POSIX.1 compatible. */ +#ifndef USED_FOR_TARGET +#define HAVE_SYS_WAIT_H 1 +#endif + + +/* Define to 1 if you have the `times' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIMES 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_TIME_H 1 +#endif + + +/* Define to 1 if the system has the type `uintmax_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTMAX_T 1 +#endif + + +/* Define to 1 if the system has the type `uintptr_t'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UINTPTR_T 1 +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNISTD_H 1 +#endif + + +/* Define to 1 if the system has the type `unsigned long long int'. */ +#ifndef USED_FOR_TARGET +#define HAVE_UNSIGNED_LONG_LONG_INT 1 +#endif + + +/* Define if valgrind's valgrind/memcheck.h header is installed. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VALGRIND_MEMCHECK_H */ +#endif + + +/* Define to 1 if you have the `vfork' function. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_VFORK_H */ +#endif + + +/* Define to 1 if you have the header file. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCHAR_H 1 +#endif + + +/* Define to 1 if you have the `wcswidth' function. */ +#ifndef USED_FOR_TARGET +#define HAVE_WCSWIDTH 1 +#endif + + +/* Define to 1 if `fork' works. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_FORK 1 +#endif + + +/* Define this macro if mbstowcs does not crash when its first argument is + NULL. */ +#ifndef USED_FOR_TARGET +#define HAVE_WORKING_MBSTOWCS 1 +#endif + + +/* Define to 1 if `vfork' works. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_WORKING_VFORK */ +#endif + + +/* Define to 1 if the system has the type `__int64'. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE___INT64 */ +#endif + + +/* Define if cloog is in use. */ +#ifndef USED_FOR_TARGET +/* #undef HAVE_cloog */ +#endif + + +/* Define if libelf is in use. */ +#ifndef USED_FOR_TARGET +#define HAVE_libelf 1 +#endif + + +/* Define as const if the declaration of iconv() needs const. */ +#ifndef USED_FOR_TARGET +#define ICONV_CONST const +#endif + + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#ifndef USED_FOR_TARGET +#define LT_OBJDIR ".libs/" +#endif + + +/* Define if host mkdir takes a single argument. */ +#ifndef USED_FOR_TARGET +/* #undef MKDIR_TAKES_ONE_ARG */ +#endif + + +/* Define to 1 if HOST_WIDE_INT must be 64 bits wide (see hwint.h). */ +#ifndef USED_FOR_TARGET +#define NEED_64BIT_HOST_WIDE_INT 1 +#endif + + +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#ifndef USED_FOR_TARGET +/* #undef NO_MINUS_C_MINUS_O */ +#endif + + +/* Define to the address where bug reports for this package should be sent. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_BUGREPORT "" +#endif + + +/* Define to the full name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_NAME "" +#endif + + +/* Define to the full name and version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_STRING "" +#endif + + +/* Define to the one symbol short name of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_TARNAME "" +#endif + + +/* Define to the home page for this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_URL "" +#endif + + +/* Define to the version of this package. */ +#ifndef USED_FOR_TARGET +#define PACKAGE_VERSION "" +#endif + + +/* Specify plugin linker */ +#ifndef USED_FOR_TARGET +#define PLUGIN_LD "ld" +#endif + + +/* Define to PREFIX/include if cpp should also search that directory. */ +#ifndef USED_FOR_TARGET +/* #undef PREFIX_INCLUDE_DIR */ +#endif + + +/* The size of `int', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_INT 4 +#endif + + +/* The size of `long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG 8 +#endif + + +/* The size of `long long', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_LONG_LONG 8 +#endif + + +/* The size of `short', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_SHORT 2 +#endif + + +/* The size of `void *', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +#define SIZEOF_VOID_P 8 +#endif + + +/* The size of `__int64', as computed by sizeof. */ +#ifndef USED_FOR_TARGET +/* #undef SIZEOF___INT64 */ +#endif + + +/* Define to 1 if you have the ANSI C header files. */ +#ifndef USED_FOR_TARGET +#define STDC_HEADERS 1 +#endif + + +/* Define if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define STRING_WITH_STRINGS 1 +#endif + + +/* Define if TFmode long double should be the default */ +#ifndef USED_FOR_TARGET +/* #undef TARGET_DEFAULT_LONG_DOUBLE_128 */ +#endif + + +/* Define if your target C library provides stack protector support */ +#ifndef USED_FOR_TARGET +#define TARGET_LIBC_PROVIDES_SSP 1 +#endif + + +/* Define to 1 if you can safely include both and . */ +#ifndef USED_FOR_TARGET +#define TIME_WITH_SYS_TIME 1 +#endif + + +/* Define to the flag used to mark TLS sections if the default (`T') doesn't + work. */ +#ifndef USED_FOR_TARGET +/* #undef TLS_SECTION_ASM_FLAG */ +#endif + + +/* Define if your assembler mis-optimizes .eh_frame data. */ +#ifndef USED_FOR_TARGET +/* #undef USE_AS_TRADITIONAL_FORMAT */ +#endif + + +/* Define if you want to generate code by default that assumes that the Cygwin + DLL exports wrappers to support libstdc++ function replacement. */ +#ifndef USED_FOR_TARGET +/* #undef USE_CYGWIN_LIBSTDCXX_WRAPPERS */ +#endif + + +/* Define to 1 if the 'long long' (or '__int64') is wider than 'long' but + still efficiently supported by the host hardware. */ +#ifndef USED_FOR_TARGET +/* #undef USE_LONG_LONG_FOR_WIDEST_FAST_INT */ +#endif + + +/* Define if we should use leading underscore on 64 bit mingw targets */ +#ifndef USED_FOR_TARGET +/* #undef USE_MINGW64_LEADING_UNDERSCORES */ +#endif + + +/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# define _ALL_SOURCE 1 +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# define _POSIX_PTHREAD_SEMANTICS 1 +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# define _TANDEM_SOURCE 1 +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + + +/* Define to be the last component of the Windows registry key under which to + look for installation paths. The full key used will be + HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}. + The default is the GCC version number. */ +#ifndef USED_FOR_TARGET +/* #undef WIN32_REGISTRY_KEY */ +#endif + + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if on MINIX. */ +#ifndef USED_FOR_TARGET +/* #undef _MINIX */ +#endif + + +/* Define to 2 if the system does not provide POSIX.1 features except with + this defined. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_1_SOURCE */ +#endif + + +/* Define to 1 if you need to in order for `stat' and other things to work. */ +#ifndef USED_FOR_TARGET +/* #undef _POSIX_SOURCE */ +#endif + + +/* Define for Solaris 2.5.1 so the uint32_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT32_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint64_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT64_T */ +#endif + + +/* Define for Solaris 2.5.1 so the uint8_t typedef from , + , or is not used. If the typedef were allowed, the + #define below would cause a syntax error. */ +#ifndef USED_FOR_TARGET +/* #undef _UINT8_T */ +#endif + + +/* Define to `char *' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef caddr_t */ +#endif + + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the type of a signed integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int16_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int32_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int64_t */ +#endif + + +/* Define to the type of a signed integer type of width exactly 8 bits if such + a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef int8_t */ +#endif + + +/* Define to the widest signed integer type if and do + not define. */ +#ifndef USED_FOR_TARGET +/* #undef intmax_t */ +#endif + + +/* Define to the type of a signed integer type wide enough to hold a pointer, + if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef intptr_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef pid_t */ +#endif + + +/* Define to `long' if doesn't define. */ +#ifndef USED_FOR_TARGET +/* #undef rlim_t */ +#endif + + +/* Define to `int' if does not define. */ +#ifndef USED_FOR_TARGET +/* #undef ssize_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 16 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint16_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 32 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint32_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 64 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint64_t */ +#endif + + +/* Define to the type of an unsigned integer type of width exactly 8 bits if + such a type exists and the standard includes do not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uint8_t */ +#endif + + +/* Define to the widest unsigned integer type if and + do not define. */ +#ifndef USED_FOR_TARGET +/* #undef uintmax_t */ +#endif + + +/* Define to the type of an unsigned integer type wide enough to hold a + pointer, if such a type exists, and if the system does not define it. */ +#ifndef USED_FOR_TARGET +/* #undef uintptr_t */ +#endif + + +/* Define as `fork' if `vfork' does not work. */ +#ifndef USED_FOR_TARGET +#define vfork fork +#endif + diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/bconfig.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/bconfig.h new file mode 100644 index 000000000..2345717a0 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/bconfig.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_BCONFIG_H +#define GCC_BCONFIG_H +#include "auto-build.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_BCONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h new file mode 100644 index 000000000..a94dd790d --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/bversion.h @@ -0,0 +1,8 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#define BUILDING_GCC_MAJOR 4 +#define BUILDING_GCC_MINOR 5 +#define BUILDING_GCC_PATCHLEVEL 4 +#define BUILDING_GCC_VERSION (BUILDING_GCC_MAJOR * 1000 + BUILDING_GCC_MINOR) diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/config.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/config.h new file mode 100644 index 000000000..3b97338ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/config.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_CONFIG_H +#define GCC_CONFIG_H +#ifdef GENERATOR_FILE +#error config.h is for the host, not build, machine. +#endif +#include "auto-host.h" +#ifdef IN_GCC +# include "ansidecl.h" +#endif +#endif /* GCC_CONFIG_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/configargs.h new file mode 100644 index 000000000..7d551143a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/configargs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* Generated automatically. */ +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=ia64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/usr/obj/ia64/usr/src/destdir.ia64/usr --with-mpfr=/usr/obj/ia64/usr/src/destdir.ia64/usr --with-gmp=/usr/obj/ia64/usr/src/destdir.ia64/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=i386-unknown-netbsdelf6.0 --host=ia64--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=ia64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/usr/obj/ia64/usr/src/destdir.ia64/usr --with-mpfr=/usr/obj/ia64/usr/src/destdir.ia64/usr --with-gmp=/usr/obj/ia64/usr/src/destdir.ia64/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=i386-unknown-netbsdelf6.0 --host=ia64--netbsd"; +static const char thread_model[] = "posix"; + +static const struct { + const char *name, *value; +} configure_default_options[] = { { NULL, NULL} }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk new file mode 100644 index 000000000..4ec747479 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/defs.mk @@ -0,0 +1,52 @@ +# This file is automatically generated. DO NOT EDIT! +# Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp +# Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp +# +G_BUILD_EARLY_SUPPORT= +G_BUILD_ERRORS=build-errors.o +G_BUILD_PRINT= +G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensupport.o build-print-rtl.o +G_BUILD_SUPPORT= +G_BUILD_VARRAY= +G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o +G_CCCP_OBJS= +G_GCOV_OBJS=gcov.o intl.o version.o errors.o +G_PROTO_OBJS= +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_md_file=${GNUHOSTDIST}/gcc/config/ia64/ia64.md +G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o +G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o ia64.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o +G_out_file=${GNUHOSTDIST}/gcc/config/ia64/ia64.c +G_version=4.5.4 +G_BUILD_PREFIX= +G_RTL_H=rtl.h rtl.def machmode.h mode-classes.def insn-modes.h reg-notes.def insn-notes.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h real.h machmode.h mode-classes.def insn-modes.h statistics.h vec.h fixed-value.h machmode.h mode-classes.def insn-modes.h double-int.h alias.h genrtl.h +G_TREE_H=tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h +G_BASIC_BLOCK_H=basic-block.h bitmap.h ${GNUHOSTDIST}/gcc/../include/hashtab.h statistics.h sbitmap.h varray.h ${GNUHOSTDIST}/gcc/../include/partition.h hard-reg-set.h predict.h predict.def vec.h function.h tree.h all-tree.def tree.def c-common.def ${GNUHOSTDIST}/gcc/cp/cp-tree.def ${GNUHOSTDIST}/gcc/objc/objc-tree.def machmode.h mode-classes.def insn-modes.h tree-check.h builtins.def sync-builtins.def omp-builtins.def ${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h input.h statistics.h vec.h treestruct.def ${GNUHOSTDIST}/gcc/../include/hashtab.h double-int.h alias.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h options.h ${GNUHOSTDIST}/gcc/../include/hashtab.h vecprim.h cfghooks.h ${GNUHOSTDIST}/gcc/../include/obstack.h +G_GCC_H=gcc.h version.h +G_GTFILES_SRCDIR= +G_GTFILES_FILES_FILES= +G_GTFILES_FILES_LANGS= +G_GTFILES=${GNUHOSTDIST}/gcc/../libcpp/include/line-map.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpplib.h ${GNUHOSTDIST}/gcc/../libcpp/include/cpp-id-data.h ${GNUHOSTDIST}/gcc/input.h ${GNUHOSTDIST}/gcc/coretypes.h auto-host.h ${GNUHOSTDIST}/gcc/../include/ansidecl.h options.h ${GNUHOSTDIST}/gcc/config/ia64/ia64.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/ia64/sysv4.h ${GNUHOSTDIST}/gcc/config/ia64/netbsd.h ${GNUHOSTDIST}/gcc/defaults.h ${GNUHOSTDIST}/gcc/../include/hashtab.h ${GNUHOSTDIST}/gcc/../include/splay-tree.h ${GNUHOSTDIST}/gcc/bitmap.h ${GNUHOSTDIST}/gcc/alias.h ${GNUHOSTDIST}/gcc/coverage.c ${GNUHOSTDIST}/gcc/rtl.h ${GNUHOSTDIST}/gcc/vecprim.h ${GNUHOSTDIST}/gcc/optabs.h ${GNUHOSTDIST}/gcc/tree.h ${GNUHOSTDIST}/gcc/varray.h ${GNUHOSTDIST}/gcc/libfuncs.h ${GNUHOSTDIST}/gcc/../libcpp/include/symtab.h ${GNUHOSTDIST}/gcc/../include/obstack.h ${GNUHOSTDIST}/gcc/real.h ${GNUHOSTDIST}/gcc/function.h ${GNUHOSTDIST}/gcc/insn-addr.h ${GNUHOSTDIST}/gcc/hwint.h ${GNUHOSTDIST}/gcc/fixed-value.h ${GNUHOSTDIST}/gcc/ipa-reference.h ${GNUHOSTDIST}/gcc/output.h ${GNUHOSTDIST}/gcc/cfgloop.h ${GNUHOSTDIST}/gcc/cselib.h ${GNUHOSTDIST}/gcc/basic-block.h ${GNUHOSTDIST}/gcc/cgraph.h ${GNUHOSTDIST}/gcc/reload.h ${GNUHOSTDIST}/gcc/caller-save.c ${GNUHOSTDIST}/gcc/alias.c ${GNUHOSTDIST}/gcc/bitmap.c ${GNUHOSTDIST}/gcc/cselib.c ${GNUHOSTDIST}/gcc/cgraph.c ${GNUHOSTDIST}/gcc/ipa-prop.c ${GNUHOSTDIST}/gcc/ipa-cp.c ${GNUHOSTDIST}/gcc/ipa-inline.c ${GNUHOSTDIST}/gcc/matrix-reorg.c ${GNUHOSTDIST}/gcc/dbxout.c ${GNUHOSTDIST}/gcc/ipa-struct-reorg.c ${GNUHOSTDIST}/gcc/dwarf2out.c ${GNUHOSTDIST}/gcc/dwarf2asm.c ${GNUHOSTDIST}/gcc/tree-vect-generic.c ${GNUHOSTDIST}/gcc/dojump.c ${GNUHOSTDIST}/gcc/emit-rtl.c ${GNUHOSTDIST}/gcc/except.h ${GNUHOSTDIST}/gcc/explow.c ${GNUHOSTDIST}/gcc/expr.c ${GNUHOSTDIST}/gcc/expr.h ${GNUHOSTDIST}/gcc/function.c ${GNUHOSTDIST}/gcc/except.c ${GNUHOSTDIST}/gcc/gcse.c ${GNUHOSTDIST}/gcc/integrate.c ${GNUHOSTDIST}/gcc/lists.c ${GNUHOSTDIST}/gcc/optabs.c ${GNUHOSTDIST}/gcc/profile.c ${GNUHOSTDIST}/gcc/reginfo.c ${GNUHOSTDIST}/gcc/mcf.c ${GNUHOSTDIST}/gcc/reg-stack.c ${GNUHOSTDIST}/gcc/cfglayout.c ${GNUHOSTDIST}/gcc/cfglayout.h ${GNUHOSTDIST}/gcc/sdbout.c ${GNUHOSTDIST}/gcc/stor-layout.c ${GNUHOSTDIST}/gcc/stringpool.c ${GNUHOSTDIST}/gcc/tree.c ${GNUHOSTDIST}/gcc/varasm.c ${GNUHOSTDIST}/gcc/gimple.h ${GNUHOSTDIST}/gcc/gimple.c ${GNUHOSTDIST}/gcc/tree-mudflap.c ${GNUHOSTDIST}/gcc/tree-flow.h ${GNUHOSTDIST}/gcc/tree-ssanames.c ${GNUHOSTDIST}/gcc/tree-eh.c ${GNUHOSTDIST}/gcc/tree-ssa-address.c ${GNUHOSTDIST}/gcc/tree-cfg.c ${GNUHOSTDIST}/gcc/tree-dfa.c ${GNUHOSTDIST}/gcc/tree-iterator.c ${GNUHOSTDIST}/gcc/gimplify.c ${GNUHOSTDIST}/gcc/tree-chrec.h ${GNUHOSTDIST}/gcc/tree-scalar-evolution.c ${GNUHOSTDIST}/gcc/tree-ssa-operands.h ${GNUHOSTDIST}/gcc/tree-profile.c ${GNUHOSTDIST}/gcc/tree-nested.c ${GNUHOSTDIST}/gcc/varpool.c ${GNUHOSTDIST}/gcc/tree-parloops.c ${GNUHOSTDIST}/gcc/omp-low.c ${GNUHOSTDIST}/gcc/targhooks.c ${GNUHOSTDIST}/gcc/config/ia64/ia64.c ${GNUHOSTDIST}/gcc/passes.c ${GNUHOSTDIST}/gcc/cgraphunit.c ${GNUHOSTDIST}/gcc/tree-ssa-propagate.c ${GNUHOSTDIST}/gcc/tree-phinodes.c ${GNUHOSTDIST}/gcc/ipa-reference.c ${GNUHOSTDIST}/gcc/tree-ssa-structalias.c ${GNUHOSTDIST}/gcc/lto-symtab.c ${GNUHOSTDIST}/gcc/tree-ssa-alias.h ${GNUHOSTDIST}/gcc/ipa-prop.h [cp] ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/class.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c ${GNUHOSTDIST}/gcc/cp/cp-lang.c [lto] ${GNUHOSTDIST}/gcc/lto/lto-tree.h ${GNUHOSTDIST}/gcc/lto/lto-lang.c ${GNUHOSTDIST}/gcc/lto/lto.c [objc] ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/objc/objc-act.c [objcp] ${GNUHOSTDIST}/gcc/objcp/objcp-decl.c ${GNUHOSTDIST}/gcc/objc/objc-act.c ${GNUHOSTDIST}/gcc/objc/objc-act.h ${GNUHOSTDIST}/gcc/cp/rtti.c ${GNUHOSTDIST}/gcc/cp/mangle.c ${GNUHOSTDIST}/gcc/cp/name-lookup.h ${GNUHOSTDIST}/gcc/cp/name-lookup.c ${GNUHOSTDIST}/gcc/cp/cp-tree.h ${GNUHOSTDIST}/gcc/cp/decl.h ${GNUHOSTDIST}/gcc/cp/call.c ${GNUHOSTDIST}/gcc/cp/decl.c ${GNUHOSTDIST}/gcc/cp/decl2.c ${GNUHOSTDIST}/gcc/cp/pt.c ${GNUHOSTDIST}/gcc/cp/repo.c ${GNUHOSTDIST}/gcc/cp/semantics.c ${GNUHOSTDIST}/gcc/cp/tree.c ${GNUHOSTDIST}/gcc/cp/parser.c ${GNUHOSTDIST}/gcc/cp/method.c ${GNUHOSTDIST}/gcc/cp/typeck2.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-lex.c ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/cp/cp-objcp-common.c [c] ${GNUHOSTDIST}/gcc/c-lang.c ${GNUHOSTDIST}/gcc/c-tree.h ${GNUHOSTDIST}/gcc/c-decl.c ${GNUHOSTDIST}/gcc/c-common.c ${GNUHOSTDIST}/gcc/c-common.h ${GNUHOSTDIST}/gcc/c-pragma.h ${GNUHOSTDIST}/gcc/c-pragma.c ${GNUHOSTDIST}/gcc/c-objc-common.c ${GNUHOSTDIST}/gcc/c-parser.c ${GNUHOSTDIST}/gcc/c-lang.h +G_GTFILES_LANG_DIR_NAMES= +G_tm_defines=NETBSD_ENABLE_PTHREADS +G_host_xm_file= +G_host_xm_defines= +G_tm_p_file= +G_target_cpu_default=MASK_GNU_AS|MASK_GNU_LD +G_TM_H=tm.h options.h ${GNUHOSTDIST}/gcc/config/ia64/ia64.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/ia64/sysv4.h ${GNUHOSTDIST}/gcc/config/ia64/netbsd.h ${GNUHOSTDIST}/gcc/defaults.h insn-constants.h insn-flags.h options.h +G_ALL_OPT_FILES=${GNUHOSTDIST}/gcc/lto/lang.opt ${GNUHOSTDIST}/gcc/c.opt ${GNUHOSTDIST}/gcc/common.opt ${GNUHOSTDIST}/gcc/config/ia64/ia64.opt +G_tm_file_list=options.h ${GNUHOSTDIST}/gcc/config/ia64/ia64.h ${GNUHOSTDIST}/gcc/config/dbxelf.h ${GNUHOSTDIST}/gcc/config/elfos.h ${GNUHOSTDIST}/gcc/config/netbsd.h ${GNUHOSTDIST}/gcc/config/netbsd-elf.h ${GNUHOSTDIST}/gcc/config/ia64/sysv4.h ${GNUHOSTDIST}/gcc/config/ia64/netbsd.h ${GNUHOSTDIST}/gcc/defaults.h +G_build_xm_include_list=auto-build.h ansidecl.h +G_lang_specs_files=${GNUHOSTDIST}/gcc/cp/lang-specs.h ${GNUHOSTDIST}/gcc/lto/lang-specs.h ${GNUHOSTDIST}/gcc/objc/lang-specs.h +G_tm_p_include_list=config/ia64/ia64-protos.h tm-preds.h +G_LIB2ADDEHDEP= unwind-dw2-fde.h unwind-dw2-fde.c +G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o decl2.o error.o lex.o parser.o ptree.o rtti.o typeck.o cvt.o except.o friend.o init.o method.o search.o semantics.o tree.o repo.o dump.o optimize.o mangle.o cp-objcp-common.o name-lookup.o cxx-pretty-print.o cp-gimplify.o tree-mudflap.o attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o +G_F77_OBJS= +G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o +G_ENABLE_SHARED= +G_SHLIB_LINK= -shared +G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/gthr-default.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/gthr-default.h new file mode 100644 index 000000000..c02781a6a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/gthr-default.h @@ -0,0 +1,5 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "gthr-posix.h" diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/gtyp-input.list b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/gtyp-input.list new file mode 100644 index 000000000..38c13db35 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/gtyp-input.list @@ -0,0 +1,186 @@ +SRCDIR/gcc/../libcpp/include/line-map.h +SRCDIR/gcc/../libcpp/include/cpplib.h +SRCDIR/gcc/../libcpp/include/cpp-id-data.h +SRCDIR/gcc/input.h +SRCDIR/gcc/coretypes.h +auto-host.h +SRCDIR/gcc/../include/ansidecl.h +options.h +SRCDIR/gcc/config/ia64/ia64.h +SRCDIR/gcc/config/dbxelf.h +SRCDIR/gcc/config/elfos.h +SRCDIR/gcc/config/netbsd.h +SRCDIR/gcc/config/netbsd-elf.h +SRCDIR/gcc/config/ia64/sysv4.h +SRCDIR/gcc/config/ia64/netbsd.h +SRCDIR/gcc/defaults.h +SRCDIR/gcc/../include/hashtab.h +SRCDIR/gcc/../include/splay-tree.h +SRCDIR/gcc/bitmap.h +SRCDIR/gcc/alias.h +SRCDIR/gcc/coverage.c +SRCDIR/gcc/rtl.h +SRCDIR/gcc/vecprim.h +SRCDIR/gcc/optabs.h +SRCDIR/gcc/tree.h +SRCDIR/gcc/varray.h +SRCDIR/gcc/libfuncs.h +SRCDIR/gcc/../libcpp/include/symtab.h +SRCDIR/gcc/../include/obstack.h +SRCDIR/gcc/real.h +SRCDIR/gcc/function.h +SRCDIR/gcc/insn-addr.h +SRCDIR/gcc/hwint.h +SRCDIR/gcc/fixed-value.h +SRCDIR/gcc/ipa-reference.h +SRCDIR/gcc/output.h +SRCDIR/gcc/cfgloop.h +SRCDIR/gcc/cselib.h +SRCDIR/gcc/basic-block.h + +SRCDIR/gcc/cgraph.h +SRCDIR/gcc/reload.h +SRCDIR/gcc/caller-save.c +SRCDIR/gcc/alias.c +SRCDIR/gcc/bitmap.c +SRCDIR/gcc/cselib.c +SRCDIR/gcc/cgraph.c +SRCDIR/gcc/ipa-prop.c +SRCDIR/gcc/ipa-cp.c +SRCDIR/gcc/ipa-inline.c +SRCDIR/gcc/matrix-reorg.c +SRCDIR/gcc/dbxout.c +SRCDIR/gcc/ipa-struct-reorg.c +SRCDIR/gcc/dwarf2out.c +SRCDIR/gcc/dwarf2asm.c +SRCDIR/gcc/tree-vect-generic.c +SRCDIR/gcc/dojump.c +SRCDIR/gcc/emit-rtl.c +SRCDIR/gcc/except.h +SRCDIR/gcc/explow.c +SRCDIR/gcc/expr.c +SRCDIR/gcc/expr.h +SRCDIR/gcc/function.c +SRCDIR/gcc/except.c +SRCDIR/gcc/gcse.c +SRCDIR/gcc/integrate.c +SRCDIR/gcc/lists.c +SRCDIR/gcc/optabs.c +SRCDIR/gcc/profile.c +SRCDIR/gcc/reginfo.c +SRCDIR/gcc/mcf.c +SRCDIR/gcc/reg-stack.c +SRCDIR/gcc/cfglayout.c +SRCDIR/gcc/cfglayout.h +SRCDIR/gcc/sdbout.c +SRCDIR/gcc/stor-layout.c +SRCDIR/gcc/stringpool.c +SRCDIR/gcc/tree.c +SRCDIR/gcc/varasm.c +SRCDIR/gcc/gimple.h +SRCDIR/gcc/gimple.c +SRCDIR/gcc/tree-mudflap.c +SRCDIR/gcc/tree-flow.h +SRCDIR/gcc/tree-ssanames.c +SRCDIR/gcc/tree-eh.c +SRCDIR/gcc/tree-ssa-address.c +SRCDIR/gcc/tree-cfg.c +SRCDIR/gcc/tree-dfa.c +SRCDIR/gcc/tree-iterator.c +SRCDIR/gcc/gimplify.c +SRCDIR/gcc/tree-chrec.h +SRCDIR/gcc/tree-scalar-evolution.c +SRCDIR/gcc/tree-ssa-operands.h +SRCDIR/gcc/tree-profile.c +SRCDIR/gcc/tree-nested.c +SRCDIR/gcc/varpool.c +SRCDIR/gcc/tree-parloops.c +SRCDIR/gcc/omp-low.c +SRCDIR/gcc/targhooks.c +SRCDIR/gcc/config/ia64/ia64.c +SRCDIR/gcc/passes.c +SRCDIR/gcc/cgraphunit.c +SRCDIR/gcc/tree-ssa-propagate.c +SRCDIR/gcc/tree-phinodes.c +SRCDIR/gcc/ipa-reference.c +SRCDIR/gcc/tree-ssa-structalias.c +SRCDIR/gcc/lto-symtab.c +SRCDIR/gcc/tree-ssa-alias.h +SRCDIR/gcc/ipa-prop.h +[cp] +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/class.c +SRCDIR/gcc/cp/cp-objcp-common.c +SRCDIR/gcc/cp/cp-lang.c +[lto] +SRCDIR/gcc/lto/lto-tree.h +SRCDIR/gcc/lto/lto-lang.c +SRCDIR/gcc/lto/lto.c +[objc] +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/objc/objc-act.c +[objcp] +SRCDIR/gcc/objcp/objcp-decl.c +SRCDIR/gcc/objc/objc-act.c +SRCDIR/gcc/objc/objc-act.h +SRCDIR/gcc/cp/rtti.c +SRCDIR/gcc/cp/mangle.c +SRCDIR/gcc/cp/name-lookup.h +SRCDIR/gcc/cp/name-lookup.c +SRCDIR/gcc/cp/cp-tree.h +SRCDIR/gcc/cp/decl.h +SRCDIR/gcc/cp/call.c +SRCDIR/gcc/cp/decl.c +SRCDIR/gcc/cp/decl2.c +SRCDIR/gcc/cp/pt.c +SRCDIR/gcc/cp/repo.c +SRCDIR/gcc/cp/semantics.c +SRCDIR/gcc/cp/tree.c +SRCDIR/gcc/cp/parser.c +SRCDIR/gcc/cp/method.c +SRCDIR/gcc/cp/typeck2.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-lex.c +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/cp/cp-objcp-common.c +[c] +SRCDIR/gcc/c-lang.c +SRCDIR/gcc/c-tree.h +SRCDIR/gcc/c-decl.c +SRCDIR/gcc/c-common.c +SRCDIR/gcc/c-common.h +SRCDIR/gcc/c-pragma.h +SRCDIR/gcc/c-pragma.c +SRCDIR/gcc/c-objc-common.c +SRCDIR/gcc/c-parser.c +SRCDIR/gcc/c-lang.h diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/multilib.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/multilib.h new file mode 100644 index 000000000..812e395a4 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/multilib.h @@ -0,0 +1,20 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +static const char *const multilib_raw[] = { +". ;", +NULL +}; + +static const char *const multilib_matches_raw[] = { +NULL +}; + +static const char *multilib_extra = ""; + +static const char *const multilib_exclusions_raw[] = { +NULL +}; + +static const char *multilib_options = ""; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/plugin-version.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/plugin-version.h new file mode 100644 index 000000000..15376702b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/plugin-version.h @@ -0,0 +1,17 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#include "configargs.h" + +static char basever[] = "4.5.4"; +static char datestamp[] = "20120702"; +static char devphase[] = ""; +static char revision[] = ""; + +/* FIXME plugins: We should make the version information more precise. + One way to do is to add a checksum. */ + +static struct plugin_gcc_version gcc_version = {basever, datestamp, + devphase, revision, + configuration_arguments}; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/ia64/tm.h b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/tm.h new file mode 100644 index 000000000..d5c63c3ef --- /dev/null +++ b/external/gpl3/gcc/usr.bin/gcc/arch/ia64/tm.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +#ifndef GCC_TM_H +#define GCC_TM_H +#define TARGET_CPU_DEFAULT (MASK_GNU_AS|MASK_GNU_LD) +#ifndef NETBSD_ENABLE_PTHREADS +# define NETBSD_ENABLE_PTHREADS +#endif +#ifdef IN_GCC +# include "options.h" +# include "config/ia64/ia64.h" +# include "config/dbxelf.h" +# include "config/elfos.h" +# include "config/netbsd.h" +# include "config/netbsd-elf.h" +# include "config/ia64/sysv4.h" +# include "config/ia64/netbsd.h" +# include "defaults.h" +#endif +#if defined IN_GCC && !defined GENERATOR_FILE && !defined USED_FOR_TARGET +# include "insn-constants.h" +# include "insn-flags.h" +#endif +#endif /* GCC_TM_H */ diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h index ae04f2b38..9b32c1ead 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/m68000/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m68010--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/sun2/usr/src/destdir.sun2/usr --with-mpfr=/var/obj/mknative/sun2/usr/src/destdir.sun2/usr --with-gmp=/var/obj/mknative/sun2/usr/src/destdir.sun2/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=m68010--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m68010--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sun2/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sun2/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sun2/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/m68000 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=m68010--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m68010--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sun2/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sun2/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sun2/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/m68000 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=m68010--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk index b26826adf..f738e4c15 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/m68000/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/m68k/m68k.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o m68k.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h index 2f87a9f79..3cf080c98 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/m68k/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m68k--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/mvme68k/usr/src/destdir.mvme68k/usr --with-mpfr=/var/obj/mknative/mvme68k/usr/src/destdir.mvme68k/usr --with-gmp=/var/obj/mknative/mvme68k/usr/src/destdir.mvme68k/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=m68k--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m68k--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/mvme68k/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/mvme68k/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/mvme68k/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/m68k --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=m68k--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=m68k--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/mvme68k/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/mvme68k/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/mvme68k/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/m68k --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=m68k--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk index a26dc5d3f..45149dc86 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/m68k/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/m68k/m68k.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o m68k.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h index 0d798018d..78ca685d5 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mips64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/sgimips/usr/src/destdir.sgimips/usr --with-mpfr=/var/obj/mknative/sgimips/usr/src/destdir.sgimips/usr --with-gmp=/var/obj/mknative/sgimips/usr/src/destdir.sgimips/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=mips64--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mips64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sgimips/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sgimips/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sgimips/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mips64--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mips64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sgimips/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sgimips/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sgimips/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mips64eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mips64--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/defs.mk index 757d3a830..a57d90443 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mips64eb/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/mips/mips.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o mips.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h index ef155d223..906a282bf 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mips64el--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/evbmips/usr/src/destdir.evbmips/usr --with-mpfr=/var/obj/mknative/evbmips/usr/src/destdir.evbmips/usr --with-gmp=/var/obj/mknative/evbmips/usr/src/destdir.evbmips/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=mips64el--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mips64el--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbmips/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbmips/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbmips/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mips64el --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mips64el--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mips64el--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/evbmips/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/evbmips/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/evbmips/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mips64el --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mips64el--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/defs.mk index c124df5f9..4b69f3ac2 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mips64el/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/mips/mips.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o mips.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h index b198a017e..20fad4ccf 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mipseb--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/newsmips/usr/src/destdir.newsmips/usr --with-mpfr=/var/obj/mknative/newsmips/usr/src/destdir.newsmips/usr --with-gmp=/var/obj/mknative/newsmips/usr/src/destdir.newsmips/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=mipseb--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mipseb--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/newsmips/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/newsmips/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/newsmips/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mipseb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mipseb--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mipseb--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/newsmips/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/newsmips/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/newsmips/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mipseb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mipseb--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk index cb8bc4af4..ab22db31a 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mipseb/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/mips/mips.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o mips.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h index b4931d251..fde1ad9c7 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mipsel--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/pmax/usr/src/destdir.pmax/usr --with-mpfr=/var/obj/mknative/pmax/usr/src/destdir.pmax/usr --with-gmp=/var/obj/mknative/pmax/usr/src/destdir.pmax/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=mipsel--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mipsel--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/pmax/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/pmax/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/pmax/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mipsel --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mipsel--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=mipsel--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/pmax/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/pmax/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/pmax/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/mipsel --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=mipsel--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk index df7c32665..500c395bb 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/mipsel/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/mips/mips.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o mips.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h index bce9b3bdf..9138f8a8e 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/configargs.h @@ -1,17 +1,11 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=powerpc--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/macppc/usr/src/destdir.macppc/usr --with-mpfr=/var/obj/mknative/macppc/usr/src/destdir.macppc/usr --with-gmp=/var/obj/mknative/macppc/usr/src/destdir.macppc/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=powerpc--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=powerpc--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/macppc/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/macppc/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/macppc/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/powerpc --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=powerpc--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=powerpc--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/macppc/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/macppc/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/macppc/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/powerpc --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=powerpc--netbsd"; static const char thread_model[] = "posix"; static const struct { const char *name, *value; -} configure_default_options[] = { -#ifdef _SOFT_FLOAT - { "float", "soft" }, -#else - { NULL, NULL } -#endif -}; +} configure_default_options[] = { { NULL, NULL} }; diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk index 56c56ac1f..8068dec1f 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/powerpc/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o rs6000-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o rs6000-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/rs6000/rs6000.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o rs6000.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o rs6000-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h index eb42f7b0a..886b3ec01 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sh--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/mmeye/usr/src/destdir.mmeye/usr --with-mpfr=/var/obj/mknative/mmeye/usr/src/destdir.mmeye/usr --with-gmp=/var/obj/mknative/mmeye/usr/src/destdir.mmeye/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=sh--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sh--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/mmeye/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/mmeye/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/mmeye/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sh3eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=sh--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sh--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/mmeye/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/mmeye/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/mmeye/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sh3eb --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=sh--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk index b549e2ab2..54ff13c15 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sh3eb/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o sh-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o sh-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/sh/sh.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o sh.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o sh-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h index 40a31662c..ad1524e75 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=shle--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/hpcsh/usr/src/destdir.hpcsh/usr --with-mpfr=/var/obj/mknative/hpcsh/usr/src/destdir.hpcsh/usr --with-gmp=/var/obj/mknative/hpcsh/usr/src/destdir.hpcsh/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=shle--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=shle--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/hpcsh/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/hpcsh/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/hpcsh/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sh3el --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=shle--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=shle--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/hpcsh/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/hpcsh/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/hpcsh/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sh3el --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=shle--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk index 2aee62cf3..19f3f5ae1 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sh3el/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o sh-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o sh-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/sh/sh.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o sh.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o sh-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h index 818f507cd..e70e15e39 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sparc/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sparc--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/sparc/usr/src/destdir.sparc/usr --with-mpfr=/var/obj/mknative/sparc/usr/src/destdir.sparc/usr --with-gmp=/var/obj/mknative/sparc/usr/src/destdir.sparc/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=sparc--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sparc--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sparc/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sparc/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sparc/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sparc --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=sparc--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sparc--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sparc/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sparc/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sparc/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sparc --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=sparc--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk index 0f327a59c..a54a3ea1e 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sparc/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/sparc/sparc.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o sparc.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h index 77df2dff1..e1f7d6a80 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sparc64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/sparc64/usr/src/destdir.sparc64/usr --with-mpfr=/var/obj/mknative/sparc64/usr/src/destdir.sparc64/usr --with-gmp=/var/obj/mknative/sparc64/usr/src/destdir.sparc64/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=sparc64--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sparc64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sparc64/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sparc64/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sparc64/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sparc64 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=sparc64--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=sparc64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/sparc64/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/sparc64/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/sparc64/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/sparc64 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=sparc64--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk index f8fc3dce4..91741cbd7 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/sparc64/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/sparc/sparc.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o sparc.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h index 2f7df8eb1..a4f60181e 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/vax/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=vax--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc=/var/obj/mknative/vax/usr/src/destdir.vax/usr --with-mpfr=/var/obj/mknative/vax/usr/src/destdir.vax/usr --with-gmp=/var/obj/mknative/vax/usr/src/destdir.vax/usr --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=vax--netbsdelf"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=vax--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/vax/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/vax/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/vax/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/vax --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=vax--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=vax--netbsdelf --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-mpc-lib=/var/obj/mknative/vax/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/vax/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/vax/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/vax --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=vax--netbsdelf"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk index cf9aff73e..255385490 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/vax/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/vax/vax.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o vax.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h b/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h index 96592b39e..1bcea4a45 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h +++ b/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/configargs.h @@ -1,9 +1,9 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* Generated automatically. */ -static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=x86_64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-tune=nocona --with-mpc=/var/obj/mknative/amd64/usr/src/destdir.amd64/usr --with-mpfr=/var/obj/mknative/amd64/usr/src/destdir.amd64/usr --with-gmp=/var/obj/mknative/amd64/usr/src/destdir.amd64/usr --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd5.99.56 --host=x86_64--netbsd"; +static const char configuration_arguments[] = "/usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=x86_64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-tune=nocona --with-mpc-lib=/var/obj/mknative/amd64/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/amd64/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/amd64/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/x86_64 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=x86_64--netbsd : (reconfigured) /usr/src/tools/gcc/../../external/gpl3/gcc/dist/configure --target=x86_64--netbsd --enable-long-long --enable-threads --with-bugurl=http://www.NetBSD.org/Misc/send-pr.html --with-pkgversion='NetBSD nb1 20120916' --with-system-zlib --enable-__cxa_atexit --with-tune=nocona --with-mpc-lib=/var/obj/mknative/amd64/usr/src/external/lgpl2/mpc/lib/libmpc --with-mpfr-lib=/var/obj/mknative/amd64/usr/src/external/lgpl3/mpfr/lib/libmpfr --with-gmp-lib=/var/obj/mknative/amd64/usr/src/external/lgpl3/gmp/lib/libgmp --with-mpc-include=/usr/src/external/lgpl2/mpc/dist/src --with-mpfr-include=/usr/src/external/lgpl3/mpfr/dist --with-gmp-include=/usr/src/external/lgpl3/gmp/lib/libgmp/arch/x86_64 --enable-tls --disable-multilib --disable-symvers --disable-libstdcxx-pch --build=x86_64-unknown-netbsd6.0. --host=x86_64--netbsd"; static const char thread_model[] = "posix"; static const struct { diff --git a/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk b/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk index 09d8b85c7..0774fd480 100644 --- a/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk +++ b/external/gpl3/gcc/usr.bin/gcc/arch/x86_64/defs.mk @@ -1,5 +1,5 @@ # This file is automatically generated. DO NOT EDIT! -# Generated from: NetBSD: mknative-gcc,v 1.67 2012/08/11 16:05:01 skrll Exp +# Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp # Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp # G_BUILD_EARLY_SUPPORT= @@ -9,13 +9,13 @@ G_BUILD_RTL=build-rtl.o read-rtl.o build-ggc-none.o vec.o min-insn-modes.o gensu G_BUILD_SUPPORT= G_BUILD_VARRAY= G_ALL_CFLAGS= -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_ALL_CPPFLAGS=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_C_AND_OBJC_OBJS=attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_C_OBJS=c-lang.o stub-objc.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o c-pretty-print.o c-omp.o G_CCCP_OBJS= G_GCOV_OBJS=gcov.o intl.o version.o errors.o G_PROTO_OBJS= -G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber -I/usr/include/libelf +G_INCLUDES=-I. -I. -I${GNUHOSTDIST}/gcc -I${GNUHOSTDIST}/gcc/. -I${GNUHOSTDIST}/gcc/../include -I./../intl -I${GNUHOSTDIST}/gcc/../libcpp/include -I${GNUHOSTDIST}/gcc/../libdecnumber -I${GNUHOSTDIST}/gcc/../libdecnumber/dpd -I../libdecnumber G_md_file=${GNUHOSTDIST}/gcc/config/i386/i386.md G_OBJC_OBJS=objc/objc-lang.o objc/objc-act.o G_OBJS=insn-attrtab.o insn-automata.o insn-emit.o insn-extract.o insn-modes.o insn-opinit.o insn-output.o insn-peep.o insn-preds.o insn-recog.o ggc-page.o alias.o alloc-pool.o auto-inc-dec.o bb-reorder.o bitmap.o bt-load.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfgexpand.o cfghooks.o cfglayout.o cfgloop.o cfgloopanal.o cfgloopmanip.o cfgrtl.o combine.o combine-stack-adj.o convert.o coverage.o cse.o cselib.o dbxout.o dbgcnt.o dce.o ddg.o debug.o df-byte-scan.o df-core.o df-problems.o df-scan.o dfp.o diagnostic.o dojump.o dominance.o domwalk.o double-int.o dse.o dwarf2asm.o dwarf2out.o ebitmap.o emit-rtl.o et-forest.o except.o explow.o expmed.o expr.o final.o fixed-value.o fold-const.o function.o fwprop.o gcse.o genrtl.o ggc-common.o gimple.o gimple-iterator.o gimple-low.o gimple-pretty-print.o gimplify.o graph.o graphds.o graphite.o graphite-blocking.o graphite-clast-to-gimple.o graphite-dependences.o graphite-interchange.o graphite-poly.o graphite-ppl.o graphite-scop-detection.o graphite-sese-to-poly.o gtype-desc.o haifa-sched.o hooks.o ifcvt.o init-regs.o integrate.o intl.o ira.o ira-build.o ira-costs.o ira-conflicts.o ira-color.o ira-emit.o ira-lives.o jump.o lambda-code.o lambda-mat.o lambda-trans.o langhooks.o lcm.o lists.o loop-doloop.o loop-init.o loop-invariant.o loop-iv.o loop-unroll.o loop-unswitch.o lower-subreg.o lto-cgraph.o lto-streamer-in.o lto-streamer-out.o lto-section-in.o lto-section-out.o lto-symtab.o lto-opts.o lto-streamer.o lto-wpa-fixup.o lto-compress.o mcf.o mode-switching.o modulo-sched.o omega.o omp-low.o optabs.o options.o opts-common.o opts.o params.o passes.o plugin.o pointer-set.o postreload-gcse.o postreload.o predict.o pretty-print.o print-rtl.o print-tree.o profile.o real.o recog.o reg-stack.o regcprop.o reginfo.o regmove.o regrename.o regstat.o reload.o reload1.o reorg.o resource.o rtl-error.o rtl.o rtlanal.o rtlhooks.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sel-sched-ir.o sel-sched-dump.o sel-sched.o sese.o simplify-rtx.o sparseset.o sreal.o stack-ptr-mod.o statistics.o stmt.o stor-layout.o store-motion.o stringpool.o targhooks.o timevar.o toplev.o tracer.o tree-affine.o tree-call-cdce.o tree-cfg.o tree-cfgcleanup.o tree-chrec.o tree-complex.o tree-data-ref.o tree-dfa.o tree-dump.o tree-eh.o tree-if-conv.o tree-into-ssa.o tree-iterator.o tree-loop-distribution.o tree-loop-linear.o tree-nested.o tree-nrv.o tree-object-size.o tree-optimize.o tree-outof-ssa.o tree-parloops.o tree-phinodes.o tree-predcom.o tree-pretty-print.o tree-profile.o tree-scalar-evolution.o tree-sra.o tree-switch-conversion.o tree-ssa-address.o tree-ssa-alias.o tree-ssa-ccp.o tree-ssa-coalesce.o tree-ssa-copy.o tree-ssa-copyrename.o tree-ssa-dce.o tree-ssa-dom.o tree-ssa-dse.o tree-ssa-forwprop.o tree-ssa-ifcombine.o tree-ssa-live.o tree-ssa-loop-ch.o tree-ssa-loop-im.o tree-ssa-loop-ivcanon.o tree-ssa-loop-ivopts.o tree-ssa-loop-manip.o tree-ssa-loop-niter.o tree-ssa-loop-prefetch.o tree-ssa-loop-unswitch.o tree-ssa-loop.o tree-ssa-math-opts.o tree-ssa-operands.o tree-ssa-phiopt.o tree-ssa-phiprop.o tree-ssa-pre.o tree-ssa-propagate.o tree-ssa-reassoc.o tree-ssa-sccvn.o tree-ssa-sink.o tree-ssa-structalias.o tree-ssa-ter.o tree-ssa-threadedge.o tree-ssa-threadupdate.o tree-ssa-uncprop.o tree-ssa.o tree-ssanames.o tree-stdarg.o tree-tailcall.o tree-vect-generic.o tree-vect-patterns.o tree-vect-data-refs.o tree-vect-stmts.o tree-vect-loop.o tree-vect-loop-manip.o tree-vect-slp.o tree-vectorizer.o tree-vrp.o tree.o value-prof.o var-tracking.o varasm.o varray.o vec.o version.o vmsdbgout.o web.o xcoffout.o i386.o host-default.o cgraph.o cgraphbuild.o cgraphunit.o cppdefault.o incpath.o ipa-cp.o ipa-inline.o ipa-prop.o ipa-pure-const.o ipa-reference.o ipa-struct-reorg.o ipa-type-escape.o ipa-utils.o ipa.o matrix-reorg.o prefix.o tree-inline.o tree-nomudflap.o varpool.o @@ -47,6 +47,6 @@ G_CXX_OBJS=cp-lang.o stub-objc.o call.o decl.o expr.o pt.o typeck2.o class.o dec G_CXX_C_OBJS=attribs.o c-common.o c-format.o c-pragma.o c-semantics.o c-lex.o c-dump.o i386-c.o c-pretty-print.o c-opts.o c-pch.o incpath.o c-ppoutput.o c-cppbuiltin.o prefix.o c-gimplify.o c-omp.o G_F77_OBJS= G_libcpp_a_OBJS=charset.o directives.o directives-only.o errors.o expr.o files.o identifiers.o init.o lex.o line-map.o macro.o mkdeps.o pch.o symtab.o traditional.o -G_ENABLE_SHARED= +G_ENABLE_SHARED=yes G_SHLIB_LINK= -shared G_SHLIB_MULTILIB=. diff --git a/external/gpl3/gcc/usr.bin/include/Makefile b/external/gpl3/gcc/usr.bin/include/Makefile index 85ea40122..854d4d256 100644 --- a/external/gpl3/gcc/usr.bin/include/Makefile +++ b/external/gpl3/gcc/usr.bin/include/Makefile @@ -1,17 +1,17 @@ -# $NetBSD: Makefile,v 1.4 2011/07/07 08:46:20 mrg Exp $ +# $NetBSD: Makefile,v 1.5 2013/08/22 00:17:48 matt Exp $ .include "../Makefile.inc" # XXX for G_EXTRA_HEADERS. make mknative-gcc put that somewhere # inside usr.bin/ not lib/ -.if exists(${.CURDIR}/../../lib/libgcc/arch/${MACHINE_ARCH}.mk) -.include "${.CURDIR}/../../lib/libgcc/arch/${MACHINE_ARCH}.mk" +.if exists(${.CURDIR}/../../lib/libgcc/arch/${GCC_MACHINE_ARCH}.mk) +.include "${.CURDIR}/../../lib/libgcc/arch/${GCC_MACHINE_ARCH}.mk" .endif INCS= ${G_EXTRA_HEADERS:T} # XXX missed some how -.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" +.if ${GCC_MACHINE_ARCH} == "i386" || ${GCC_MACHINE_ARCH} == "x86_64" INCS+= mm_malloc.h # XXX we should put this in gcc/config.gcc and regenerate the i386/x86 diff --git a/external/gpl3/gcc/usr.bin/libcpp/Makefile b/external/gpl3/gcc/usr.bin/libcpp/Makefile index 57dd646eb..ab5d8cf16 100644 --- a/external/gpl3/gcc/usr.bin/libcpp/Makefile +++ b/external/gpl3/gcc/usr.bin/libcpp/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.3 2011/06/29 02:01:37 mrg Exp $ +# $NetBSD: Makefile,v 1.5 2013/08/22 00:17:48 matt Exp $ LIBISPRIVATE= yes @@ -11,7 +11,7 @@ LIB= cpp SRCS= ${G_libcpp_a_OBJS:.o=.c} -CPPFLAGS+= -I${.CURDIR} -I${.CURDIR}/arch/${MACHINE_ARCH} \ +CPPFLAGS+= -I${.CURDIR} -I${.CURDIR}/arch/${GCC_MACHINE_ARCH} \ -I${GCCARCH} -I${BACKENDOBJ} -I. \ ${G_INCLUDES:M-I*:N-I.*} \ -DPREFIX=\"/usr\" @@ -26,5 +26,6 @@ ${OBJS}: ${G_LIBCPP_DEPS} localedir.h: echo '#define LOCALEDIR "/usr/share/locale"' > ${.TARGET} +CLEANFILES+= localedir.h init.d init.o: localedir.h diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/coldfire/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/coldfire/config.h new file mode 100644 index 000000000..d85f2f283 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/coldfire/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h index 27f358702..02f76dda2 100644 --- a/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.in by configure. */ @@ -219,7 +219,7 @@ /* Define to the widest efficient host integer type at least as wide as the target's size_t type. */ -#define HOST_WIDE_INT long +#define HOST_WIDE_INT long long /* Define as const if the declaration of iconv() needs const. */ #define ICONV_CONST const diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmeb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmeb/config.h new file mode 100644 index 000000000..d061ba1d5 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmeb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmhf/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmhf/config.h new file mode 100644 index 000000000..d061ba1d5 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmhf/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmhfeb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmhfeb/config.h new file mode 100644 index 000000000..2091de3a6 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmhfeb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv4/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv4/config.h new file mode 100644 index 000000000..4c67a698c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv4/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv4eb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv4eb/config.h new file mode 100644 index 000000000..d061ba1d5 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv4eb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6/config.h new file mode 100644 index 000000000..4c67a698c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6eb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6eb/config.h new file mode 100644 index 000000000..d061ba1d5 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6eb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hf/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hf/config.h new file mode 100644 index 000000000..4c67a698c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hf/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hfeb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..d061ba1d5 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv6hfeb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7/config.h new file mode 100644 index 000000000..4c67a698c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7eb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7eb/config.h new file mode 100644 index 000000000..d061ba1d5 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7eb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hf/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hf/config.h new file mode 100644 index 000000000..4c67a698c --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hf/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hfeb/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..e0d2f22bc --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/earmv7hfeb/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libcpp/arch/ia64/config.h b/external/gpl3/gcc/usr.bin/libcpp/arch/ia64/config.h new file mode 100644 index 000000000..a343f0450 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libcpp/arch/ia64/config.h @@ -0,0 +1,290 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP + systems. This function is required for `alloca.c' support on those systems. + */ +/* #undef CRAY_STACKSEG_END */ + +/* Define to 1 if using `alloca.c'. */ +/* #undef C_ALLOCA */ + +/* Define if you want more run-time sanity checks. */ +/* #undef ENABLE_CHECKING */ + +/* Define to 1 if translation of program messages to the user's native + language is requested. */ +#define ENABLE_NLS 1 + +/* Define to 1 if you have `alloca', as a function or macro. */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if you have the `clearerr_unlocked' function. */ +/* #undef HAVE_CLEARERR_UNLOCKED */ + +/* Define to 1 if you have the declaration of `abort', and to 0 if you don't. + */ +#define HAVE_DECL_ABORT 1 + +/* Define to 1 if you have the declaration of `asprintf', and to 0 if you + don't. */ +#define HAVE_DECL_ASPRINTF 1 + +/* Define to 1 if you have the declaration of `basename', and to 0 if you + don't. */ +#define HAVE_DECL_BASENAME 0 + +/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_CLEARERR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `errno', and to 0 if you don't. + */ +#define HAVE_DECL_ERRNO 0 + +/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_FEOF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FERROR_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FFLUSH_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FGETS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fileno_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FILENO_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fprintf_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPRINTF_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTC_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FPUTS_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FREAD_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_FWRITE_UNLOCKED 0 + +/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_GETC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `getopt', and to 0 if you don't. + */ +#define HAVE_DECL_GETOPT 1 + +/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if + you don't. */ +#define HAVE_DECL_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you + don't. */ +#define HAVE_DECL_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the declaration of `vasprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VASPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `feof_unlocked' function. */ +/* #undef HAVE_FEOF_UNLOCKED */ + +/* Define to 1 if you have the `ferror_unlocked' function. */ +/* #undef HAVE_FERROR_UNLOCKED */ + +/* Define to 1 if you have the `fflush_unlocked' function. */ +/* #undef HAVE_FFLUSH_UNLOCKED */ + +/* Define to 1 if you have the `fgetc_unlocked' function. */ +/* #undef HAVE_FGETC_UNLOCKED */ + +/* Define to 1 if you have the `fgets_unlocked' function. */ +/* #undef HAVE_FGETS_UNLOCKED */ + +/* Define to 1 if you have the `fileno_unlocked' function. */ +/* #undef HAVE_FILENO_UNLOCKED */ + +/* Define to 1 if you have the `fprintf_unlocked' function. */ +/* #undef HAVE_FPRINTF_UNLOCKED */ + +/* Define to 1 if you have the `fputc_unlocked' function. */ +/* #undef HAVE_FPUTC_UNLOCKED */ + +/* Define to 1 if you have the `fputs_unlocked' function. */ +/* #undef HAVE_FPUTS_UNLOCKED */ + +/* Define to 1 if you have the `fread_unlocked' function. */ +/* #undef HAVE_FREAD_UNLOCKED */ + +/* Define to 1 if you have the `fwrite_unlocked' function. */ +/* #undef HAVE_FWRITE_UNLOCKED */ + +/* Define to 1 if you have the `getchar_unlocked' function. */ +#define HAVE_GETCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `getc_unlocked' function. */ +#define HAVE_GETC_UNLOCKED 1 + +/* Define if you have the iconv() function. */ +#define HAVE_ICONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define if you have and nl_langinfo(CODESET). */ +#define HAVE_LANGINFO_CODESET 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if libc includes obstacks. */ +/* #undef HAVE_OBSTACK */ + +/* Define to 1 if you have the `putchar_unlocked' function. */ +#define HAVE_PUTCHAR_UNLOCKED 1 + +/* Define to 1 if you have the `putc_unlocked' function. */ +#define HAVE_PUTC_UNLOCKED 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_FILE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if defines \`uchar'. */ +/* #undef HAVE_UCHAR */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the widest efficient host integer type at least as wide as the + target's size_t type. */ +#define HOST_WIDE_INT long + +/* Define as const if the declaration of iconv() needs const. */ +#define ICONV_CONST const + +/* Define to the name of this package. */ +#define PACKAGE "cpplib" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "cpplib" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "cpplib " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "cpplib" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at runtime. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown */ +/* #undef STACK_DIRECTION */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define if you can safely include both and . */ +#define STRING_WITH_STRINGS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Define to 1 if your declares `struct tm'. */ +/* #undef TM_IN_SYS_TIME */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `long int' if does not define. */ +/* #undef off_t */ + +/* Define to `unsigned int' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if does not define. */ +/* #undef ssize_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/Makefile b/external/gpl3/gcc/usr.bin/libdecnumber/Makefile index a1eaeef3d..d1d9720f6 100644 --- a/external/gpl3/gcc/usr.bin/libdecnumber/Makefile +++ b/external/gpl3/gcc/usr.bin/libdecnumber/Makefile @@ -10,7 +10,7 @@ LIBISPRIVATE= yes LIB= decnumber SRCS= decNumber.c decContext.c decimal32.c decimal64.c decimal128.c -CPPFLAGS+= -I${.CURDIR}/arch/${MACHINE_ARCH} -I${DIST}/libdecnumber +CPPFLAGS+= -I${.CURDIR}/arch/${GCC_MACHINE_ARCH} -I${DIST}/libdecnumber CPPFLAGS+= -I${DIST}/libgcc .include diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/armeb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/armeb/config.h index 8230cac69..b6af0f7d7 100644 --- a/external/gpl3/gcc/usr.bin/libdecnumber/arch/armeb/config.h +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/armeb/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.58 2011/07/02 13:25:05 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.in by configure. */ @@ -88,7 +88,7 @@ # endif #else # ifndef WORDS_BIGENDIAN -# define WORDS_BIGENDIAN 1 +/* # undef WORDS_BIGENDIAN */ # endif #endif diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/coldfire/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/coldfire/config.h new file mode 100644 index 000000000..2fe2cfb98 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/coldfire/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.57 2011/07/01 02:11:14 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h index 15b10c920..362c54b0a 100644 --- a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earm/config.h @@ -1,5 +1,5 @@ /* This file is automatically generated. DO NOT EDIT! */ -/* Generated from: NetBSD: mknative-gcc,v 1.53 2011/06/29 05:06:03 mrg Exp */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ /* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ /* config.h. Generated from config.in by configure. */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmeb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmeb/config.h new file mode 100644 index 000000000..df4346482 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmeb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhf/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhf/config.h new file mode 100644 index 000000000..ea591d11f --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhf/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhfeb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhfeb/config.h new file mode 100644 index 000000000..cc4bb9e48 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmhfeb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4/config.h new file mode 100644 index 000000000..362c54b0a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4eb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4eb/config.h new file mode 100644 index 000000000..df4346482 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv4eb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6/config.h new file mode 100644 index 000000000..362c54b0a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6eb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6eb/config.h new file mode 100644 index 000000000..df4346482 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6eb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hf/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hf/config.h new file mode 100644 index 000000000..362c54b0a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hf/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hfeb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hfeb/config.h new file mode 100644 index 000000000..df4346482 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv6hfeb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7/config.h new file mode 100644 index 000000000..362c54b0a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7eb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7eb/config.h new file mode 100644 index 000000000..df4346482 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7eb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hf/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hf/config.h new file mode 100644 index 000000000..362c54b0a --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hf/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.66 2012/01/10 12:27:54 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hfeb/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hfeb/config.h new file mode 100644 index 000000000..931c01218 --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/earmv7hfeb/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.71 2013/06/28 08:30:10 mrg Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 4 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/gpl3/gcc/usr.bin/libdecnumber/arch/ia64/config.h b/external/gpl3/gcc/usr.bin/libdecnumber/arch/ia64/config.h new file mode 100644 index 000000000..8337cfe1b --- /dev/null +++ b/external/gpl3/gcc/usr.bin/libdecnumber/arch/ia64/config.h @@ -0,0 +1,99 @@ +/* This file is automatically generated. DO NOT EDIT! */ +/* Generated from: NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp */ +/* Generated from: NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp */ + +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* Define to 1 if you have the header file. */ +#define HAVE_CTYPE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDDEF_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDIO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gcc-bugs@gcc.gnu.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libdecnumber" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libdecnumber " + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libdecnumber" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION " " + +/* The size of `char', as computed by sizeof. */ +/* #undef SIZEOF_CHAR */ + +/* The size of `int', as computed by sizeof. */ +#define SIZEOF_INT 4 + +/* The size of `long', as computed by sizeof. */ +#define SIZEOF_LONG 8 + +/* The size of `short', as computed by sizeof. */ +/* #undef SIZEOF_SHORT */ + +/* The size of `void *', as computed by sizeof. */ +/* #undef SIZEOF_VOID_P */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `long int' if does not define. */ +/* #undef off_t */ diff --git a/external/historical/nawk/bin/Makefile b/external/historical/nawk/bin/Makefile index 8e9bb05d3..2e7b74bfa 100644 --- a/external/historical/nawk/bin/Makefile +++ b/external/historical/nawk/bin/Makefile @@ -22,9 +22,11 @@ COPTS.run.c += -Wno-format-nonliteral COPTS.tran.c += -Wno-format-nonliteral # info file originally from GNU awk 3.1.3, adjusted for nawk slightly +.if !defined(__MINIX) # Don't install on Minix, we don't have it. -#.PATH: ${NETBSDSRCDIR}/external/gpl2/gawk/dist -#TEXINFO= awk.info +.PATH: ${NETBSDSRCDIR}/external/gpl2/gawk/dist +TEXINFO= awk.info +.endif # !defined(__MINIX) # During the tools build (from src/tools/awk/Makefile), # src/tools/Makefile.host changes .CURDIR back and forth between diff --git a/external/historical/nawk/dist/FIXES b/external/historical/nawk/dist/FIXES index 310da0790..c78aabc51 100644 --- a/external/historical/nawk/dist/FIXES +++ b/external/historical/nawk/dist/FIXES @@ -25,6 +25,64 @@ THIS SOFTWARE. This file lists all bug fixes, changes, etc., made since the AWK book was sent to the printers in August, 1987. +Dec 20, 2012: + fiddled makefile to get correct yacc and bison flags. pick yacc + (linux) or bison (mac) as necessary. + + added __attribute__((__noreturn__)) to a couple of lines in + proto.h, to silence someone's enthusiastic checker. + + fixed obscure call by value bug in split(a[1],a) reported on + 9fans. the management of temporary values is just a mess; i + took a shortcut by making an extra string copy. thanks + to paul patience and arnold robbins for passing it on and for + proposed patches. + + tiny fiddle in setfval to eliminate -0 results in T.expr, which + has irritated me for 20+ years. + +Aug 10, 2011: + another fix to avoid core dump with delete(ARGV); again, many thanks + to ruslan ermilov. + +Aug 7, 2011: + split(s, a, //) now behaves the same as split(s, a, "") + +Jun 12, 2011: + /pat/, \n /pat/ {...} is now legal, though bad style to use. + + added checks to new -v code that permits -vnospace; thanks to + ruslan ermilov for spotting this and providing the patch. + + removed fixed limit on number of open files; thanks to aleksey + cheusov and christos zoulos. + + fixed day 1 bug that resurrected deleted elements of ARGV when + used as filenames (in lib.c). + + minor type fiddles to make gcc -Wall -pedantic happier (but not + totally so); turned on -fno-strict-aliasing in makefile. + +May 6, 2011: + added #ifdef for isblank. + now allows -ffoo as well as -f foo arguments. + (thanks, ruslan) + +May 1, 2011: + after advice from todd miller, kevin lo, ruslan ermilov, + and arnold robbins, changed srand() to return the previous + seed (which is 1 on the first call of srand). the seed is + an Awkfloat internally though converted to unsigned int to + pass to the library srand(). thanks, everyone. + + fixed a subtle (and i hope low-probability) overflow error + in fldbld, by adding space for one extra \0. thanks to + robert bassett for spotting this one and providing a fix. + + removed the files related to compilation on windows. i no + longer have anything like a current windows environment, so + i can't test any of it. + May 23, 2010: fixed long-standing overflow bug in run.c; many thanks to nelson beebe for spotting it and providing the fix. diff --git a/external/historical/nawk/dist/README b/external/historical/nawk/dist/README index 21255a1ca..24aaf9092 100644 --- a/external/historical/nawk/dist/README +++ b/external/historical/nawk/dist/README @@ -29,7 +29,7 @@ by Al Aho, Brian Kernighan, and Peter Weinberger Changes, mostly bug fixes and occasional enhancements, are listed in FIXES. If you distribute this code further, please please please distribute FIXES with it. If you find errors, please report them -to bwk@bell-labs.com. Thanks. +to bwk@cs.princeton.edu. Thanks. The program itself is created by make diff --git a/external/historical/nawk/dist/awkgram.y b/external/historical/nawk/dist/awkgram.y index 46731c22c..a22f48ecd 100644 --- a/external/historical/nawk/dist/awkgram.y +++ b/external/historical/nawk/dist/awkgram.y @@ -179,8 +179,8 @@ pa_pat: pa_stat: pa_pat { $$ = stat2(PASTAT, $1, stat2(PRINT, rectonode(), NIL)); } | pa_pat lbrace stmtlist '}' { $$ = stat2(PASTAT, $1, $3); } - | pa_pat ',' pa_pat { $$ = pa2stat($1, $3, stat2(PRINT, rectonode(), NIL)); } - | pa_pat ',' pa_pat lbrace stmtlist '}' { $$ = pa2stat($1, $3, $5); } + | pa_pat ',' opt_nl pa_pat { $$ = pa2stat($1, $4, stat2(PRINT, rectonode(), NIL)); } + | pa_pat ',' opt_nl pa_pat lbrace stmtlist '}' { $$ = pa2stat($1, $4, $6); } | lbrace stmtlist '}' { $$ = stat2(PASTAT, NIL, $2); } | XBEGIN lbrace stmtlist '}' { beginloc = linkum(beginloc, $3); $$ = 0; } diff --git a/external/historical/nawk/dist/b.c b/external/historical/nawk/dist/b.c index a99bb87fc..336431632 100644 --- a/external/historical/nawk/dist/b.c +++ b/external/historical/nawk/dist/b.c @@ -852,7 +852,11 @@ static const struct charclass { } charclasses[] = { { "alnum", 5, isalnum }, { "alpha", 5, isalpha }, +#ifndef HAS_ISBLANK + { "blank", 5, isspace }, /* was isblank */ +#else { "blank", 5, isblank }, +#endif { "cntrl", 5, iscntrl }, { "digit", 5, isdigit }, { "graph", 5, isgraph }, diff --git a/external/historical/nawk/dist/lib.c b/external/historical/nawk/dist/lib.c index 28a4b97e8..4cdded453 100644 --- a/external/historical/nawk/dist/lib.c +++ b/external/historical/nawk/dist/lib.c @@ -97,8 +97,13 @@ void initgetrec(void) char *p; for (i = 1; i < *ARGC; i++) { - if (!isclvar(p = getargv(i))) { /* find 1st real filename */ - setsval(lookup("FILENAME", symtab), getargv(i)); + p = getargv(i); /* find 1st real filename */ + if (p == NULL || *p == '\0') { /* deleted or zapped */ + argno++; + continue; + } + if (!isclvar(p)) { + setsval(lookup("FILENAME", symtab), p); return; } setclvar(p); /* a commandline assignment before filename */ @@ -133,7 +138,7 @@ int getrec(uschar **pbuf, int *pbufsize, int isrecord) /* get next input record dprintf( ("argno=%d, file=|%s|\n", argno, file) ); if (infile == NULL) { /* have to open a new file */ file = getargv(argno); - if (*file == '\0') { /* it's been zapped */ + if (file == NULL || *file == '\0') { /* deleted or zapped */ argno++; continue; } @@ -207,6 +212,7 @@ int readrec(uschar **pbuf, int *pbufsize, FILE *inf, int newflag) /* read one re FATAL("field separator %.10s... is too long", *FS); memcpy(inputFS, *FS, len_inputFS); } + /*fflush(stdout); avoids some buffering problem but makes it 25% slower*/ if (**RS && (*RS)[1]) { fa *pfa = makedfa(*RS, 1); if (newflag) @@ -265,6 +271,8 @@ char *getargv(int n) /* get ARGV[n] */ extern Array *ARGVtab; snprintf(temp, sizeof(temp), "%d", n); + if (lookup(temp, ARGVtab) == NULL) + return NULL; x = setsymtab(temp, "", 0.0, STR, ARGVtab); s = getsval(x); dprintf( ("getargv(%d) returns |%s|\n", n, s) ); @@ -294,6 +302,7 @@ void fldbld(void) /* create fields from current record */ { /* this relies on having fields[] the same length as $0 */ /* the fields are all stored in this one array with \0's */ + /* possibly with a final trailing \0 not associated with any field */ char *r, *fr, sep; Cell *p; int i, j, n; @@ -306,7 +315,7 @@ void fldbld(void) /* create fields from current record */ n = strlen(r); if (n > fieldssize) { xfree(fields); - if ((fields = malloc(n+1)) == NULL) + if ((fields = malloc(n+2)) == NULL) /* possibly 2 final \0s */ FATAL("out of space for fields in fldbld %d", n); fieldssize = n; } @@ -744,10 +753,9 @@ int isclvar(const char *s) /* is s of form var=something ? */ #include int is_number(const char *s) { - double r; char *ep; errno = 0; - r = strtod(s, &ep); + (void)strtod(s, &ep); if (ep == s || errno == ERANGE) return 0; if (ep - s >= 3 && strncasecmp(ep - 3, "nan", 3) == 0) diff --git a/external/historical/nawk/dist/main.c b/external/historical/nawk/dist/main.c index 9d64d1773..a254257c1 100644 --- a/external/historical/nawk/dist/main.c +++ b/external/historical/nawk/dist/main.c @@ -22,7 +22,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ****************************************************************/ -const char *version = "version 20100523"; +const char *version = "version 20121220"; #if HAVE_NBTOOL_CONFIG_H #include "nbtool_config.h" @@ -42,7 +42,7 @@ extern char **environ; extern int nfields; int dbg = 0; -unsigned int srand_seed; +unsigned int srand_seed = 1; char *cmdname; /* gets argv[0] for error messages */ extern FILE *yyin; /* lex input file */ char *lexprog; /* points to program argument if it exists */ @@ -101,6 +101,7 @@ __dead static void fpecatch(int n int main(int argc, char *argv[]) { const char *fs = NULL; + char *fn; setlocale(LC_ALL, ""); setlocale(LC_NUMERIC, "C"); /* for parsing cmdline & prog */ @@ -146,10 +147,15 @@ int main(int argc, char *argv[]) safe = 1; break; case 'f': /* next argument is program filename */ - argc--; - argv++; - if (argc <= 1) - FATAL("no program filename"); + if (argv[1][2] != 0) /* arg is -fsomething */ + fn = &argv[1][2]; + else { + argc--; + argv++; + if (argc <= 1) + FATAL("no program filename"); + fn = argv[1]; + } if (npfile >= maxpfile) { maxpfile += 20; pfile = realloc(pfile, @@ -158,7 +164,7 @@ int main(int argc, char *argv[]) FATAL("error allocating space for " "-f options"); } - pfile[npfile++] = argv[1]; + pfile[npfile++] = fn; break; case 'F': /* set field separator */ if (argv[1][2] != 0) { /* arg is -Fsomething */ @@ -172,10 +178,20 @@ int main(int argc, char *argv[]) WARNING("field separator FS is empty"); break; case 'v': /* -v a=1 to be done NOW. one -v for each */ - if (argv[1][2] == '\0' && --argc > 1 && isclvar((++argv)[1])) - setclvar(argv[1]); - else if (argv[1][2] != '\0') - setclvar(&argv[1][2]); + if (argv[1][2] != 0) { /* arg is -vsomething */ + if (isclvar(&argv[1][2])) + setclvar(&argv[1][2]); + else + FATAL("invalid -v option argument: %s", &argv[1][2]); + } else { /* arg is -v something */ + argc--; argv++; + if (argc <= 1) + FATAL("no variable name"); + if (isclvar(argv[1])) + setclvar(argv[1]); + else + FATAL("invalid -v option argument: %s", argv[1]); + } break; case 'd': dbg = atoi(&argv[1][2]); diff --git a/external/historical/nawk/dist/makefile b/external/historical/nawk/dist/makefile index a454d7ad9..e2e621177 100644 --- a/external/historical/nawk/dist/makefile +++ b/external/historical/nawk/dist/makefile @@ -32,22 +32,24 @@ CC = /opt/pure/purify/purify cc CC = cc CC = gcc -Wall -g -Wwrite-strings CC = gcc -fprofile-arcs -ftest-coverage # then gcov f1.c; cat f1.c.gcov -CC = gcc -O4 +CC = gcc -g -Wall -pedantic +CC = gcc -O4 -Wall -pedantic -fno-strict-aliasing -YACC = bison -y -YACC = yacc -YFLAGS = -d +YACC = bison -d -y +YACC = yacc -d -S +#YFLAGS = -d -S + # -S uses sprintf in yacc parser instead of sprint OFILES = b.o main.o parse.o proctab.o tran.o lib.o run.o lex.o SOURCE = awk.h ytab.c ytab.h proto.h awkgram.y lex.c b.c main.c \ - maketab.c parse.c lib.c run.c tran.c proctab.c missing95.c + maketab.c parse.c lib.c run.c tran.c proctab.c LISTING = awk.h proto.h awkgram.y lex.c b.c main.c maketab.c parse.c \ - lib.c run.c tran.c missing95.c + lib.c run.c tran.c -SHIP = README FIXES $(SOURCE) ytab[ch].bak makefile makefile.win \ - vcvars32.bat buildwin.bat awk.1 +SHIP = README FIXES $(SOURCE) ytab[ch].bak makefile \ + awk.1 a.out: ytab.o $(OFILES) $(CC) $(CFLAGS) ytab.o $(OFILES) $(ALLOC) -lm diff --git a/external/historical/nawk/dist/proctab.c b/external/historical/nawk/dist/proctab.c index 9401744a2..c937cef12 100644 --- a/external/historical/nawk/dist/proctab.c +++ b/external/historical/nawk/dist/proctab.c @@ -7,100 +7,100 @@ #include "awkgram.h" static const char * const printname[94] = { - "FIRSTTOKEN", /* 257 */ - "PROGRAM", /* 258 */ - "PASTAT", /* 259 */ - "PASTAT2", /* 260 */ - "XBEGIN", /* 261 */ - "XEND", /* 262 */ - "NL", /* 263 */ - "ARRAY", /* 264 */ - "MATCH", /* 265 */ - "NOTMATCH", /* 266 */ - "MATCHOP", /* 267 */ - "FINAL", /* 268 */ - "DOT", /* 269 */ - "ALL", /* 270 */ - "CCL", /* 271 */ - "NCCL", /* 272 */ - "CHAR", /* 273 */ - "OR", /* 274 */ - "STAR", /* 275 */ - "QUEST", /* 276 */ - "PLUS", /* 277 */ - "EMPTYRE", /* 278 */ - "AND", /* 279 */ - "BOR", /* 280 */ - "APPEND", /* 281 */ - "EQ", /* 282 */ - "GE", /* 283 */ - "GT", /* 284 */ - "LE", /* 285 */ - "LT", /* 286 */ - "NE", /* 287 */ - "IN", /* 288 */ - "ARG", /* 289 */ - "BLTIN", /* 290 */ - "BREAK", /* 291 */ - "CLOSE", /* 292 */ - "CONTINUE", /* 293 */ - "DELETE", /* 294 */ - "DO", /* 295 */ - "EXIT", /* 296 */ - "FOR", /* 297 */ - "FUNC", /* 298 */ - "SUB", /* 299 */ - "GSUB", /* 300 */ - "IF", /* 301 */ - "INDEX", /* 302 */ - "LSUBSTR", /* 303 */ - "MATCHFCN", /* 304 */ - "NEXT", /* 305 */ - "NEXTFILE", /* 306 */ - "ADD", /* 307 */ - "MINUS", /* 308 */ - "MULT", /* 309 */ - "DIVIDE", /* 310 */ - "MOD", /* 311 */ - "ASSIGN", /* 312 */ - "ASGNOP", /* 313 */ - "ADDEQ", /* 314 */ - "SUBEQ", /* 315 */ - "MULTEQ", /* 316 */ - "DIVEQ", /* 317 */ - "MODEQ", /* 318 */ - "POWEQ", /* 319 */ - "PRINT", /* 320 */ - "PRINTF", /* 321 */ - "SPRINTF", /* 322 */ - "ELSE", /* 323 */ - "INTEST", /* 324 */ - "CONDEXPR", /* 325 */ - "POSTINCR", /* 326 */ - "PREINCR", /* 327 */ - "POSTDECR", /* 328 */ - "PREDECR", /* 329 */ - "VAR", /* 330 */ - "IVAR", /* 331 */ - "VARNF", /* 332 */ - "CALL", /* 333 */ - "NUMBER", /* 334 */ - "STRING", /* 335 */ - "REGEXPR", /* 336 */ - "GETLINE", /* 337 */ - "GENSUB", /* 338 */ - "RETURN", /* 339 */ - "SPLIT", /* 340 */ - "SUBSTR", /* 341 */ - "WHILE", /* 342 */ - "CAT", /* 343 */ - "NOT", /* 344 */ - "UMINUS", /* 345 */ - "POWER", /* 346 */ - "DECR", /* 347 */ - "INCR", /* 348 */ - "INDIRECT", /* 349 */ - "LASTTOKEN", /* 350 */ + "FIRSTTOKEN", /* 57346 */ + "PROGRAM", /* 57347 */ + "PASTAT", /* 57348 */ + "PASTAT2", /* 57349 */ + "XBEGIN", /* 57350 */ + "XEND", /* 57351 */ + "NL", /* 57352 */ + "ARRAY", /* 57353 */ + "MATCH", /* 57354 */ + "NOTMATCH", /* 57355 */ + "MATCHOP", /* 57356 */ + "FINAL", /* 57357 */ + "DOT", /* 57358 */ + "ALL", /* 57359 */ + "CCL", /* 57360 */ + "NCCL", /* 57361 */ + "CHAR", /* 57362 */ + "OR", /* 57363 */ + "STAR", /* 57364 */ + "QUEST", /* 57365 */ + "PLUS", /* 57366 */ + "EMPTYRE", /* 57367 */ + "AND", /* 57368 */ + "BOR", /* 57369 */ + "APPEND", /* 57370 */ + "EQ", /* 57371 */ + "GE", /* 57372 */ + "GT", /* 57373 */ + "LE", /* 57374 */ + "LT", /* 57375 */ + "NE", /* 57376 */ + "IN", /* 57377 */ + "ARG", /* 57378 */ + "BLTIN", /* 57379 */ + "BREAK", /* 57380 */ + "CLOSE", /* 57381 */ + "CONTINUE", /* 57382 */ + "DELETE", /* 57383 */ + "DO", /* 57384 */ + "EXIT", /* 57385 */ + "FOR", /* 57386 */ + "FUNC", /* 57387 */ + "SUB", /* 57388 */ + "GSUB", /* 57389 */ + "IF", /* 57390 */ + "INDEX", /* 57391 */ + "LSUBSTR", /* 57392 */ + "MATCHFCN", /* 57393 */ + "NEXT", /* 57394 */ + "NEXTFILE", /* 57395 */ + "ADD", /* 57396 */ + "MINUS", /* 57397 */ + "MULT", /* 57398 */ + "DIVIDE", /* 57399 */ + "MOD", /* 57400 */ + "ASSIGN", /* 57401 */ + "ASGNOP", /* 57402 */ + "ADDEQ", /* 57403 */ + "SUBEQ", /* 57404 */ + "MULTEQ", /* 57405 */ + "DIVEQ", /* 57406 */ + "MODEQ", /* 57407 */ + "POWEQ", /* 57408 */ + "PRINT", /* 57409 */ + "PRINTF", /* 57410 */ + "SPRINTF", /* 57411 */ + "ELSE", /* 57412 */ + "INTEST", /* 57413 */ + "CONDEXPR", /* 57414 */ + "POSTINCR", /* 57415 */ + "PREINCR", /* 57416 */ + "POSTDECR", /* 57417 */ + "PREDECR", /* 57418 */ + "VAR", /* 57419 */ + "IVAR", /* 57420 */ + "VARNF", /* 57421 */ + "CALL", /* 57422 */ + "NUMBER", /* 57423 */ + "STRING", /* 57424 */ + "REGEXPR", /* 57425 */ + "GETLINE", /* 57426 */ + "GENSUB", /* 57427 */ + "RETURN", /* 57428 */ + "SPLIT", /* 57429 */ + "SUBSTR", /* 57430 */ + "WHILE", /* 57431 */ + "CAT", /* 57432 */ + "NOT", /* 57433 */ + "UMINUS", /* 57434 */ + "POWER", /* 57435 */ + "DECR", /* 57436 */ + "INCR", /* 57437 */ + "INDIRECT", /* 57438 */ + "LASTTOKEN", /* 57439 */ }; diff --git a/external/historical/nawk/dist/proto.h b/external/historical/nawk/dist/proto.h index f1bb62daa..e4cf944f7 100644 --- a/external/historical/nawk/dist/proto.h +++ b/external/historical/nawk/dist/proto.h @@ -46,7 +46,7 @@ extern void freetr(Node *); extern int hexstr(const uschar **); extern int quoted(const uschar **); extern char *cclenter(const char *); -extern void overflo(const char *) __dead; +extern void overflo(const char *) __attribute__((__noreturn__)); extern void cfoll(fa *, Node *); extern int first(Node *); extern void follow(Node *); @@ -123,7 +123,7 @@ extern void makefields(int, int); extern void growfldtab(int n); extern int getrec(uschar **, int *, int); extern void nextfile(void); -extern int readrec(uschar **buf, int *bufsize, FILE *inf, int newflag); +extern int readrec(uschar **buf, int *, FILE *, int); extern char *getargv(int); extern void setclvar(char *); extern void fldbld(void); @@ -139,7 +139,7 @@ extern void bcheck2(int, int, int); extern void SYNTAX(const char *, ...) __attribute__((__format__(__printf__, 1, 2))); extern void FATAL(const char *, ...) __dead - __attribute__((__format__(__printf__, 1, 2))); + __attribute__((__format__(__printf__, 1, 2), __noreturn__)); extern void WARNING(const char *, ...) __attribute__((__format__(__printf__, 1, 2))); extern void error(void); @@ -149,7 +149,7 @@ extern double errcheck(double, const char *); extern int isclvar(const char *); extern int is_number(const char *); -extern int adjbuf(uschar **pb, int *sz, int min, int q, uschar **pbp, const char *what); +extern int adjbuf(uschar **, int *, int, int, uschar **, const char *); extern void run(Node *); extern Cell *execute(Node *); extern Cell *program(Node **, int); diff --git a/external/historical/nawk/dist/run.c b/external/historical/nawk/dist/run.c index 44cadc24c..34cdb3781 100644 --- a/external/historical/nawk/dist/run.c +++ b/external/historical/nawk/dist/run.c @@ -1233,13 +1233,13 @@ static char regexpr[] = "(regexpr)"; Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */ { Cell *x = 0, *y, *ap; - char *s; + char *s, *origs; int sep; char *t, temp, num[50], *fs = 0; int n, tempstat, arg3type; y = execute(a[0]); /* source string */ - s = getsval(y); + origs = s = strdup(getsval(y)); arg3type = ptoi(a[3]); if (a[2] == 0) /* fs string */ fs = *FS; @@ -1259,6 +1259,12 @@ Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */ ap->sval = (char *) makesymtab(NSYMTAB); n = 0; + if (arg3type == REGEXPR && strlen((char*)((fa*)a[2])->restr) == 0) { + /* split(s, a, //); have to arrange that it looks like empty sep */ + arg3type = 0; + fs = EMPTY; + sep = 0; + } if (*s != '\0' && (strlen(fs) > 1 || arg3type == REGEXPR)) { /* reg expr */ fa *pfa; if (arg3type == REGEXPR) { /* it's ready already */ @@ -1353,6 +1359,7 @@ Cell *split(Node **a, int nnn) /* split(a[0], a[1], a[2]); a[3] is type */ } tempfree(ap); tempfree(y); + free(origs); if (a[2] != 0 && arg3type == STRING) { tempfree(x); } @@ -1604,7 +1611,8 @@ Cell *bltin(Node **a, int n) /* builtin functions. a[0] is type, a[1] is arg lis u = time((time_t *)0); else u = getfval(x); - srand(tmp = (unsigned int) u); + tmp = (unsigned int) u; + srand(tmp); u = srand_seed; srand_seed = tmp; break; @@ -1727,6 +1735,7 @@ struct files { const char *fname; int mode; /* '|', 'a', 'w' => LE/LT, GT */ } *files; + size_t nfiles; void stdinit(void) /* in case stdin, etc., are not constants */ @@ -2065,6 +2074,7 @@ Cell *gensub(Node **a, int nnn) /* global selective substitute */ x = execute(a[4]); /* source string */ t = getsval(x); res = copycell(x); /* target string - initially copy of source */ + res->csub = CTEMP; /* result values are temporary */ if (a[0] == 0) /* 0 => a[1] is already-compiled regexpr */ pfa = (fa *) a[1]; /* regular expression */ else { diff --git a/external/historical/nawk/dist/tran.c b/external/historical/nawk/dist/tran.c index 0651cc946..a2c038461 100644 --- a/external/historical/nawk/dist/tran.c +++ b/external/historical/nawk/dist/tran.c @@ -71,6 +71,18 @@ Cell *literal0; extern Cell **fldtab; +static void +setfree(Cell *vp) +{ + if (&vp->sval == FS || &vp->sval == RS || + &vp->sval == OFS || &vp->sval == ORS || + &vp->sval == OFMT || &vp->sval == CONVFMT || + &vp->sval == FILENAME || &vp->sval == SUBSEP) + vp->tval |= DONTFREE; + else + vp->tval &= ~DONTFREE; +} + void syminit(void) /* initialize symbol table with builtin vars */ { literal0 = setsymtab("0", "0", 0.0, NUM|STR|CON|DONTFREE, symtab); @@ -310,6 +322,8 @@ Awkfloat setfval(Cell *vp, Awkfloat f) /* set float val of a Cell */ xfree(vp->sval); /* free any previous string */ vp->tval &= ~STR; /* mark string invalid */ vp->tval |= NUM; /* mark number ok */ + if (f == -0) /* who would have thought this possible? */ + f = 0; dprintf( ("setfval %p: %s = %g, t=%o\n", vp, NN(vp->nval), f, vp->tval) ); return vp->fval = f; } @@ -344,12 +358,12 @@ char *setsval(Cell *vp, const char *s) /* set string val of a Cell */ donefld = 0; /* mark $1... invalid */ donerec = 1; } - t = tostring(s); /* in case it's self-assign */ + t = s ? tostring(s) : tostring(""); /* in case it's self-assign */ if (freeable(vp)) xfree(vp->sval); vp->tval &= ~NUM; vp->tval |= STR; - vp->tval &= ~DONTFREE; + setfree(vp); dprintf( ("setsval %p: %s = \"%s (%p) \", t=%o r,f=%d,%d\n", vp, NN(vp->nval), t,t, vp->tval, donerec, donefld) ); @@ -377,7 +391,8 @@ Awkfloat getfval(Cell *vp) /* get float val of a Cell */ if (is_number(vp->sval) && !(vp->tval&CON)) vp->tval |= NUM; /* make NUM only sparingly */ } - dprintf( ("getfval %p: %s = %g, t=%o\n", vp, NN(vp->nval), vp->fval, vp->tval) ); + dprintf( ("getfval %p: %s = %g, t=%o\n", + vp, NN(vp->nval), vp->fval, vp->tval) ); return(vp->fval); } @@ -400,10 +415,11 @@ static char *get_str_val(Cell *vp, char **fmt) /* get string val of a Cel else snprintf(s, sizeof(s), *fmt, vp->fval); vp->sval = tostring(s); - vp->tval &= ~DONTFREE; vp->tval |= STR; + setfree(vp); } - dprintf( ("getsval %p: %s = \"%s (%p)\", t=%o\n", vp, NN(vp->nval), vp->sval, vp->sval, vp->tval) ); + dprintf( ("getsval %p: %s = \"%s (%p)\", t=%o\n", + vp, NN(vp->nval), vp->sval, vp->sval, vp->tval) ); return(vp->sval); } diff --git a/external/historical/nawk/dist/ytab.c b/external/historical/nawk/dist/ytab.c new file mode 100644 index 000000000..8720de57c --- /dev/null +++ b/external/historical/nawk/dist/ytab.c @@ -0,0 +1,1679 @@ + +#line 26 "/n/fs/fac/bwk/awk/awkgram.y" +#include +#include +#include "awk.h" + +void checkdup(Node *list, Cell *item); +int yywrap(void) { return(1); } + +Node *beginloc = 0; +Node *endloc = 0; +int infunc = 0; /* = 1 if in arglist or body of func */ +int inloop = 0; /* = 1 if in while, for, do */ +char *curfname = 0; /* current function name */ +Node *arglist = 0; /* list of args for current function */ + +#line 41 "/n/fs/fac/bwk/awk/awkgram.y" +typedef union { + Node *p; + Cell *cp; + int i; + char *s; +} YYSTYPE; +extern int yyerrflag; +#ifndef YYMAXDEPTH +#define YYMAXDEPTH 150 +#endif +YYSTYPE yylval; +YYSTYPE yyval; +#define FIRSTTOKEN 57346 +#define PROGRAM 57347 +#define PASTAT 57348 +#define PASTAT2 57349 +#define XBEGIN 57350 +#define XEND 57351 +#define NL 57352 +#define ARRAY 57353 +#define MATCH 57354 +#define NOTMATCH 57355 +#define MATCHOP 57356 +#define FINAL 57357 +#define DOT 57358 +#define ALL 57359 +#define CCL 57360 +#define NCCL 57361 +#define CHAR 57362 +#define OR 57363 +#define STAR 57364 +#define QUEST 57365 +#define PLUS 57366 +#define EMPTYRE 57367 +#define AND 57368 +#define BOR 57369 +#define APPEND 57370 +#define EQ 57371 +#define GE 57372 +#define GT 57373 +#define LE 57374 +#define LT 57375 +#define NE 57376 +#define IN 57377 +#define ARG 57378 +#define BLTIN 57379 +#define BREAK 57380 +#define CLOSE 57381 +#define CONTINUE 57382 +#define DELETE 57383 +#define DO 57384 +#define EXIT 57385 +#define FOR 57386 +#define FUNC 57387 +#define SUB 57388 +#define GSUB 57389 +#define IF 57390 +#define INDEX 57391 +#define LSUBSTR 57392 +#define MATCHFCN 57393 +#define NEXT 57394 +#define NEXTFILE 57395 +#define ADD 57396 +#define MINUS 57397 +#define MULT 57398 +#define DIVIDE 57399 +#define MOD 57400 +#define ASSIGN 57401 +#define ASGNOP 57402 +#define ADDEQ 57403 +#define SUBEQ 57404 +#define MULTEQ 57405 +#define DIVEQ 57406 +#define MODEQ 57407 +#define POWEQ 57408 +#define PRINT 57409 +#define PRINTF 57410 +#define SPRINTF 57411 +#define ELSE 57412 +#define INTEST 57413 +#define CONDEXPR 57414 +#define POSTINCR 57415 +#define PREINCR 57416 +#define POSTDECR 57417 +#define PREDECR 57418 +#define VAR 57419 +#define IVAR 57420 +#define VARNF 57421 +#define CALL 57422 +#define NUMBER 57423 +#define STRING 57424 +#define REGEXPR 57425 +#define GETLINE 57426 +#define RETURN 57427 +#define SPLIT 57428 +#define SUBSTR 57429 +#define WHILE 57430 +#define CAT 57431 +#define NOT 57432 +#define UMINUS 57433 +#define POWER 57434 +#define DECR 57435 +#define INCR 57436 +#define INDIRECT 57437 +#define LASTTOKEN 57438 +#define YYEOFCODE 1 +#define YYERRCODE 2 + +#line 445 "/n/fs/fac/bwk/awk/awkgram.y" + + +void setfname(Cell *p) +{ + if (isarr(p)) + SYNTAX("%s is an array, not a function", p->nval); + else if (isfcn(p)) + SYNTAX("you can't define function %s more than once", p->nval); + curfname = p->nval; +} + +int constnode(Node *p) +{ + return isvalue(p) && ((Cell *) (p->narg[0]))->csub == CCON; +} + +char *strnode(Node *p) +{ + return ((Cell *)(p->narg[0]))->sval; +} + +Node *notnull(Node *n) +{ + switch (n->nobj) { + case LE: case LT: case EQ: case NE: case GT: case GE: + case BOR: case AND: case NOT: + return n; + default: + return op2(NE, n, nullnode); + } +} + +void checkdup(Node *vl, Cell *cp) /* check if name already in list */ +{ + char *s = cp->nval; + for ( ; vl; vl = vl->nnext) { + if (strcmp(s, ((Cell *)(vl->narg[0]))->nval) == 0) { + SYNTAX("duplicate argument %s", s); + break; + } + } +} +static const short yyexca[] = +{-1, 0, + 1, 28, + 8, 28, + 9, 28, + 12, 28, + 13, 28, + 16, 28, + 46, 28, + 47, 28, + 49, 28, + 55, 28, + 56, 28, + 57, 28, + 59, 28, + 61, 28, + 79, 28, + 87, 28, + 88, 28, + 89, 28, + 90, 28, + 91, 28, + 92, 28, + 96, 28, + 98, 28, + 99, 28, + 102, 28, + 103, 28, + 106, 28, + 109, 28, + 110, 28, + 111, 28, + -2, 0, +-1, 1, + 1, -1, + -2, 0, +-1, 157, + 15, 30, + -2, 0, +-1, 176, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 63, +-1, 177, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 64, +-1, 178, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 65, +-1, 179, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 66, +-1, 180, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 67, +-1, 181, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 68, +-1, 183, + 14, 0, + 24, 0, + 39, 0, + 40, 0, + 41, 0, + 42, 0, + 43, 0, + 44, 0, + 45, 0, + -2, 70, +-1, 289, + 24, 0, + 45, 0, + -2, 53, +-1, 334, + 17, 30, + -2, 0, +-1, 356, + 17, 30, + -2, 0, +}; +#define YYNPROD 185 +#define YYPRIVATE 57344 +#define YYLAST 4442 +static const short yyact[] = +{ + 17, 140, 66, 228, 200, 105, 43, 62, 277, 10, + 125, 24, 11, 43, 253, 135, 100, 112, 51, 141, + 79, 80, 308, 243, 100, 185, 100, 100, 100, 103, + 104, 100, 122, 123, 124, 215, 82, 249, 54, 83, + 102, 107, 43, 107, 253, 223, 9, 42, 22, 44, + 43, 113, 314, 252, 42, 22, 44, 206, 11, 143, + 253, 147, 103, 104, 244, 150, 151, 153, 154, 278, + 113, 23, 136, 163, 353, 100, 190, 276, 23, 103, + 104, 190, 336, 42, 156, 44, 190, 324, 136, 352, + 134, 42, 22, 44, 190, 316, 43, 133, 85, 351, + 100, 149, 321, 258, 320, 182, 269, 100, 100, 100, + 100, 100, 100, 100, 232, 23, 86, 190, 168, 169, + 275, 318, 332, 278, 203, 205, 100, 108, 109, 110, + 111, 110, 111, 112, 211, 112, 170, 42, 233, 44, + 190, 234, 212, 190, 190, 217, 284, 100, 221, 265, + 260, 190, 167, 100, 226, 190, 3, 259, 219, 158, + 230, 188, 136, 100, 6, 137, 137, 236, 6, 7, + 142, 310, 100, 7, 100, 157, 100, 100, 100, 100, + 100, 100, 100, 131, 100, 21, 251, 100, 100, 130, + 48, 129, 128, 16, 100, 49, 127, 126, 120, 119, + 52, 16, 100, 190, 312, 137, 274, 100, 218, 100, + 100, 100, 144, 4, 100, 100, 155, 271, 145, 132, + 317, 348, 50, 55, 362, 270, 365, 162, 1, 72, + 40, 224, 100, 100, 100, 100, 163, 5, 163, 163, + 163, 163, 20, 58, 163, 67, 100, 222, 61, 292, + 60, 19, 288, 248, 293, 100, 100, 294, 96, 166, + 81, 238, 8, 159, 160, 2, 114, 0, 116, 117, + 118, 0, 0, 121, 300, 301, 0, 115, 139, 239, + 184, 0, 0, 100, 0, 148, 100, 100, 100, 313, + 100, 309, 100, 0, 0, 136, 0, 100, 0, 100, + 100, 0, 0, 100, 0, 100, 100, 100, 0, 307, + 0, 0, 0, 0, 0, 165, 163, 96, 0, 0, + 335, 0, 0, 0, 164, 339, 334, 342, 0, 343, + 136, 0, 0, 0, 100, 341, 0, 230, 347, 100, + 0, 100, 116, 229, 0, 100, 100, 0, 0, 96, + 194, 195, 196, 197, 198, 199, 357, 360, 139, 230, + 361, 0, 356, 0, 0, 0, 136, 0, 207, 220, + 363, 0, 0, 139, 0, 0, 0, 0, 349, 227, + 0, 238, 0, 0, 238, 238, 238, 0, 238, 96, + 238, 0, 139, 139, 0, 96, 0, 0, 0, 239, + 0, 257, 239, 239, 239, 242, 239, 0, 239, 0, + 0, 0, 0, 0, 96, 0, 96, 0, 96, 96, + 96, 96, 96, 96, 96, 0, 96, 290, 0, 96, + 96, 0, 0, 0, 0, 0, 256, 238, 297, 0, + 0, 0, 0, 0, 96, 0, 273, 0, 0, 261, + 303, 96, 96, 96, 0, 239, 96, 96, 0, 0, + 0, 0, 311, 282, 0, 285, 286, 287, 289, 0, + 0, 291, 0, 0, 96, 279, 280, 281, 165, 0, + 165, 165, 165, 165, 0, 0, 165, 164, 96, 164, + 164, 164, 164, 0, 0, 164, 0, 96, 96, 0, + 337, 0, 0, 0, 0, 74, 0, 189, 191, 0, + 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 106, 242, 0, 0, 242, 242, + 242, 139, 242, 0, 242, 0, 0, 0, 0, 96, + 0, 96, 96, 338, 0, 96, 0, 96, 96, 96, + 0, 0, 0, 0, 0, 0, 15, 0, 165, 0, + 0, 0, 235, 0, 0, 146, 0, 164, 0, 0, + 0, 152, 358, 139, 0, 0, 96, 0, 0, 0, + 0, 242, 0, 96, 0, 0, 364, 96, 96, 366, + 171, 173, 175, 176, 177, 178, 179, 180, 181, 183, + 0, 0, 0, 0, 0, 0, 0, 186, 187, 0, + 262, 263, 264, 0, 266, 267, 268, 0, 0, 201, + 0, 0, 0, 0, 0, 201, 201, 0, 0, 0, + 0, 0, 208, 209, 210, 201, 213, 214, 189, 0, + 0, 15, 0, 0, 0, 0, 190, 0, 101, 95, + 295, 0, 330, 0, 0, 0, 0, 0, 0, 93, + 0, 0, 0, 0, 231, 0, 0, 106, 0, 0, + 0, 98, 97, 245, 87, 88, 89, 90, 91, 92, + 94, 43, 28, 0, 30, 0, 0, 0, 0, 0, + 0, 46, 47, 0, 34, 254, 35, 255, 0, 0, + 0, 0, 0, 0, 0, 323, 326, 328, 329, 0, + 0, 0, 0, 0, 38, 189, 0, 0, 0, 0, + 0, 0, 42, 22, 44, 29, 36, 39, 0, 84, + 0, 33, 0, 37, 41, 0, 0, 27, 26, 0, + 0, 99, 0, 0, 31, 32, 23, 0, 0, 0, + 201, 0, 0, 0, 0, 0, 296, 0, 0, 0, + 0, 0, 0, 298, 0, 0, 0, 0, 299, 302, + 0, 0, 304, 305, 306, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, + 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 16, 18, 0, 68, 45, + 0, 359, 0, 0, 0, 333, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 340, + 0, 0, 0, 0, 0, 344, 0, 0, 345, 43, + 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, + 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, + 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, + 77, 78, 38, 53, 0, 16, 18, 0, 68, 45, + 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, + 65, 37, 41, 76, 0, 27, 26, 0, 0, 25, + 0, 0, 31, 32, 23, 0, 0, 0, 0, 43, + 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, + 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, + 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, + 77, 78, 38, 16, 18, 0, 68, 45, 0, 331, + 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, + 65, 37, 41, 76, 0, 27, 26, 0, 0, 25, + 0, 0, 31, 32, 23, 0, 0, 43, 28, 56, + 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, + 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 75, 0, 0, 0, 0, 77, 78, + 38, 272, 0, 16, 18, 0, 68, 45, 42, 22, + 44, 29, 36, 39, 0, 0, 0, 33, 65, 37, + 41, 76, 0, 27, 26, 0, 0, 25, 0, 0, + 31, 32, 23, 0, 0, 0, 0, 43, 28, 56, + 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, + 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, + 0, 75, 0, 0, 0, 0, 0, 0, 77, 78, + 38, 16, 18, 0, 68, 45, 0, 247, 42, 22, + 44, 29, 36, 39, 0, 0, 0, 33, 65, 37, + 41, 76, 0, 27, 26, 0, 0, 25, 0, 0, + 31, 32, 23, 0, 0, 43, 28, 56, 30, 57, + 73, 69, 59, 70, 0, 46, 47, 71, 34, 0, + 35, 63, 64, 0, 0, 0, 0, 0, 0, 75, + 0, 0, 0, 0, 0, 0, 77, 78, 38, 16, + 18, 0, 68, 45, 0, 246, 42, 22, 44, 29, + 36, 39, 0, 0, 0, 33, 65, 37, 41, 76, + 0, 27, 26, 0, 0, 25, 0, 0, 31, 32, + 23, 0, 0, 43, 28, 56, 30, 57, 73, 69, + 59, 70, 0, 46, 47, 71, 34, 0, 35, 63, + 64, 0, 0, 0, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 77, 78, 38, 16, 18, 0, + 68, 45, 0, 225, 42, 22, 44, 29, 36, 39, + 0, 0, 0, 33, 65, 37, 41, 76, 0, 27, + 26, 0, 0, 25, 0, 0, 31, 32, 23, 0, + 0, 43, 28, 56, 30, 57, 73, 69, 59, 70, + 0, 46, 47, 71, 34, 0, 35, 63, 64, 0, + 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, + 0, 0, 77, 78, 38, 16, 18, 0, 68, 45, + 0, 216, 42, 22, 44, 29, 36, 39, 0, 0, + 0, 33, 65, 37, 41, 76, 0, 27, 26, 0, + 0, 25, 0, 0, 31, 32, 23, 0, 0, 43, + 28, 56, 30, 57, 73, 69, 59, 70, 0, 46, + 47, 71, 34, 0, 35, 63, 64, 0, 0, 0, + 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, + 77, 78, 38, 16, 18, 0, 68, 45, 0, 138, + 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, + 65, 37, 41, 76, 0, 27, 26, 0, 0, 25, + 0, 0, 31, 32, 23, 0, 0, 43, 28, 56, + 30, 57, 73, 69, 59, 70, 0, 46, 47, 71, + 34, 0, 35, 63, 64, 0, 0, 0, 0, 0, + 0, 75, 0, 0, 0, 0, 0, 0, 77, 78, + 38, 16, 18, 0, 68, 45, 0, 0, 42, 22, + 44, 29, 36, 39, 0, 0, 0, 33, 65, 37, + 41, 76, 0, 27, 26, 0, 0, 25, 0, 0, + 31, 32, 23, 0, 0, 43, 28, 56, 30, 57, + 73, 69, 59, 70, 0, 46, 47, 71, 34, 0, + 35, 63, 64, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 77, 78, 38, 0, + 0, 0, 0, 0, 0, 0, 42, 22, 44, 29, + 36, 39, 0, 0, 0, 33, 65, 37, 41, 76, + 0, 27, 26, 0, 0, 25, 0, 0, 31, 32, + 23, 190, 0, 101, 95, 0, 0, 327, 0, 0, + 0, 0, 0, 0, 93, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 98, 97, 0, 87, + 88, 89, 90, 91, 92, 94, 43, 28, 0, 30, + 0, 0, 0, 0, 0, 0, 46, 47, 0, 34, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 0, 42, 22, 44, + 29, 36, 39, 0, 84, 0, 33, 0, 37, 41, + 0, 0, 27, 26, 0, 0, 99, 0, 0, 31, + 32, 23, 190, 0, 101, 95, 0, 0, 325, 0, + 0, 0, 0, 0, 0, 93, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 98, 97, 0, + 87, 88, 89, 90, 91, 92, 94, 43, 28, 0, + 30, 0, 0, 0, 0, 0, 0, 46, 47, 0, + 34, 0, 35, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 38, 0, 0, 0, 0, 0, 0, 0, 42, 22, + 44, 29, 36, 39, 0, 84, 0, 33, 0, 37, + 41, 0, 0, 27, 26, 0, 0, 99, 0, 0, + 31, 32, 23, 137, 0, 0, 101, 95, 142, 0, + 0, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 97, 0, 87, 88, 89, 90, 91, 92, 94, 43, + 28, 0, 30, 0, 0, 0, 0, 0, 0, 46, + 47, 0, 34, 0, 35, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, + 42, 22, 44, 29, 36, 39, 0, 84, 0, 33, + 0, 37, 41, 0, 0, 27, 26, 0, 0, 99, + 0, 0, 31, 32, 23, 190, 0, 101, 95, 0, + 0, 192, 0, 0, 0, 0, 0, 0, 93, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 97, 0, 87, 88, 89, 90, 91, 92, 94, + 43, 28, 0, 30, 0, 0, 0, 0, 0, 0, + 46, 47, 0, 34, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 42, 22, 44, 29, 36, 39, 0, 84, 0, + 33, 0, 37, 41, 0, 0, 27, 26, 101, 95, + 99, 0, 355, 31, 32, 23, 0, 0, 0, 93, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 98, 97, 0, 87, 88, 89, 90, 91, 92, + 94, 43, 28, 0, 30, 0, 0, 0, 0, 0, + 0, 46, 47, 0, 34, 0, 35, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, + 0, 0, 42, 22, 44, 29, 36, 39, 0, 84, + 0, 33, 0, 37, 41, 0, 0, 27, 26, 101, + 95, 99, 0, 354, 31, 32, 23, 0, 0, 0, + 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 98, 97, 0, 87, 88, 89, 90, 91, + 92, 94, 43, 28, 0, 30, 0, 0, 0, 0, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 84, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 101, 95, 99, 0, 350, 31, 32, 23, 0, 0, + 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 97, 0, 87, 88, 89, 90, + 91, 92, 94, 43, 28, 0, 30, 0, 0, 0, + 0, 0, 0, 46, 47, 0, 34, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 42, 22, 44, 29, 36, 39, + 0, 84, 0, 33, 0, 37, 41, 0, 0, 27, + 26, 0, 0, 99, 0, 0, 31, 32, 23, 101, + 95, 346, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 98, 97, 0, 87, 88, 89, 90, 91, + 92, 94, 43, 28, 0, 30, 0, 0, 0, 0, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 84, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 101, 95, 99, 0, 322, 31, 32, 23, 0, 0, + 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 97, 0, 87, 88, 89, 90, + 91, 92, 94, 43, 28, 0, 30, 0, 0, 0, + 0, 0, 0, 46, 47, 0, 34, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 42, 22, 44, 29, 36, 39, + 0, 84, 0, 33, 0, 37, 41, 0, 0, 27, + 26, 101, 95, 99, 0, 319, 31, 32, 23, 0, + 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 98, 97, 0, 87, 88, 89, + 90, 91, 92, 94, 43, 28, 0, 30, 0, 0, + 0, 0, 0, 0, 46, 47, 0, 34, 0, 35, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 0, 42, 22, 44, 29, 36, + 39, 0, 84, 0, 33, 0, 37, 41, 0, 0, + 27, 26, 101, 95, 99, 0, 278, 31, 32, 23, + 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 98, 97, 0, 87, 88, + 89, 90, 91, 92, 94, 43, 28, 0, 30, 0, + 0, 0, 0, 0, 0, 46, 47, 0, 34, 0, + 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, + 0, 0, 0, 0, 0, 0, 42, 22, 44, 29, + 36, 39, 0, 84, 0, 33, 0, 37, 41, 0, + 0, 27, 26, 0, 190, 99, 101, 95, 31, 32, + 23, 0, 0, 0, 0, 0, 0, 93, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 97, 0, 87, 88, 89, 90, 91, 92, 94, 43, + 28, 0, 30, 0, 0, 0, 0, 0, 0, 46, + 47, 0, 34, 0, 35, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, + 42, 22, 44, 29, 36, 39, 0, 84, 0, 33, + 0, 37, 41, 0, 0, 27, 26, 101, 95, 99, + 0, 192, 31, 32, 23, 0, 0, 0, 93, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 97, 0, 87, 88, 89, 90, 91, 92, 94, + 43, 28, 0, 30, 0, 0, 0, 0, 0, 0, + 46, 47, 0, 34, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 42, 22, 44, 29, 36, 39, 0, 84, 0, + 33, 0, 37, 41, 0, 0, 27, 26, 101, 95, + 99, 0, 0, 31, 32, 23, 0, 0, 0, 93, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 98, 97, 0, 87, 88, 89, 90, 91, 92, + 94, 43, 28, 0, 30, 0, 0, 0, 0, 0, + 0, 46, 47, 0, 34, 0, 35, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, + 0, 0, 42, 22, 44, 29, 36, 39, 0, 84, + 250, 33, 0, 37, 41, 0, 0, 27, 26, 101, + 95, 99, 0, 0, 31, 32, 23, 0, 0, 0, + 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 98, 97, 0, 87, 88, 89, 90, 91, + 92, 94, 43, 28, 0, 30, 0, 0, 0, 0, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 84, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 101, 95, 99, 0, 0, 31, 32, 23, 0, 0, + 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 98, 0, 0, 87, 88, 89, 90, + 91, 92, 94, 43, 28, 0, 30, 0, 0, 0, + 0, 0, 0, 46, 47, 0, 34, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, + 0, 0, 0, 0, 42, 22, 44, 29, 36, 39, + 101, 95, 0, 33, 0, 37, 41, 0, 0, 27, + 26, 93, 0, 99, 0, 0, 31, 32, 23, 0, + 0, 0, 0, 0, 0, 0, 87, 88, 89, 90, + 91, 92, 94, 43, 28, 0, 30, 0, 0, 0, + 0, 0, 0, 46, 47, 0, 34, 0, 35, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, + 0, 101, 0, 0, 42, 22, 44, 29, 36, 39, + 0, 0, 240, 33, 0, 37, 41, 0, 0, 27, + 26, 0, 0, 99, 98, 97, 31, 32, 23, 0, + 0, 0, 0, 241, 43, 28, 0, 30, 0, 0, + 0, 0, 0, 0, 46, 47, 0, 34, 0, 35, + 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 38, 18, 0, + 0, 45, 0, 0, 0, 42, 22, 44, 29, 36, + 39, 0, 237, 315, 33, 0, 37, 41, 0, 0, + 27, 26, 0, 0, 99, 0, 0, 31, 32, 23, + 0, 43, 28, 0, 30, 0, 73, 0, 0, 0, + 0, 46, 47, 0, 34, 0, 35, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 77, 78, 38, 0, 0, 0, 0, 101, + 0, 0, 42, 22, 44, 29, 36, 39, 0, 0, + 240, 33, 0, 37, 41, 0, 0, 27, 26, 0, + 0, 25, 98, 97, 31, 32, 23, 0, 0, 0, + 0, 241, 43, 28, 0, 30, 0, 0, 0, 0, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 12, 13, 0, 0, 16, 18, 0, 0, + 45, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 237, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 43, 28, 99, 30, 0, 31, 32, 23, 0, 14, + 46, 47, 0, 34, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 101, 0, 0, 0, + 0, 42, 22, 44, 29, 36, 39, 240, 0, 0, + 33, 0, 37, 41, 0, 0, 27, 26, 0, 98, + 25, 0, 0, 31, 32, 23, 0, 0, 241, 43, + 28, 0, 30, 0, 0, 0, 0, 0, 0, 46, + 47, 0, 34, 0, 35, 0, 0, 0, 0, 0, + 0, 137, 0, 0, 18, 0, 142, 45, 0, 0, + 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, + 42, 22, 44, 29, 36, 39, 0, 0, 0, 33, + 0, 37, 41, 0, 0, 27, 26, 43, 28, 99, + 30, 0, 31, 32, 23, 0, 0, 46, 47, 0, + 34, 0, 35, 0, 0, 0, 0, 0, 0, 253, + 0, 0, 18, 0, 0, 45, 0, 0, 0, 0, + 38, 0, 0, 0, 0, 0, 0, 0, 42, 22, + 44, 29, 36, 39, 0, 0, 0, 33, 0, 37, + 41, 0, 0, 27, 26, 43, 28, 25, 30, 0, + 31, 32, 23, 0, 0, 46, 47, 0, 34, 0, + 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, + 0, 101, 0, 0, 0, 0, 42, 22, 44, 29, + 36, 39, 240, 0, 0, 33, 0, 37, 41, 0, + 0, 27, 26, 0, 0, 25, 0, 0, 31, 32, + 23, 0, 0, 241, 43, 28, 0, 30, 0, 0, + 0, 0, 0, 0, 46, 47, 0, 34, 0, 35, + 0, 0, 0, 0, 0, 0, 174, 0, 0, 283, + 0, 0, 45, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 0, 42, 22, 44, 29, 36, + 39, 0, 0, 0, 33, 0, 37, 41, 0, 0, + 27, 26, 43, 28, 99, 30, 0, 31, 32, 23, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 0, 0, 172, 0, 0, 283, 0, 0, + 45, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 0, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 43, 28, 25, 30, 0, 31, 32, 23, 0, 0, + 46, 47, 0, 34, 0, 35, 0, 0, 0, 0, + 0, 0, 253, 0, 0, 283, 0, 0, 45, 0, + 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 42, 22, 44, 29, 36, 39, 0, 0, 0, + 33, 0, 37, 41, 0, 0, 27, 26, 43, 28, + 25, 30, 0, 31, 32, 23, 0, 0, 46, 47, + 0, 34, 0, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 18, 0, 0, 45, 204, 0, 0, + 0, 38, 0, 0, 0, 0, 0, 0, 0, 42, + 22, 44, 29, 36, 39, 0, 0, 0, 33, 0, + 37, 41, 0, 0, 27, 26, 43, 28, 25, 30, + 0, 31, 32, 23, 0, 0, 46, 47, 0, 34, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 18, 0, 0, 45, 202, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 0, 42, 22, 44, + 29, 36, 39, 0, 0, 0, 33, 0, 37, 41, + 0, 0, 27, 26, 43, 28, 25, 30, 0, 31, + 32, 23, 0, 0, 46, 47, 0, 34, 0, 35, + 0, 0, 0, 0, 0, 0, 174, 0, 0, 18, + 0, 0, 45, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 0, 42, 22, 44, 29, 36, + 39, 0, 0, 0, 33, 0, 37, 41, 0, 0, + 27, 26, 43, 28, 25, 30, 0, 31, 32, 23, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 0, 0, 172, 0, 0, 18, 0, 0, + 45, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 0, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 43, 28, 25, 30, 0, 31, 32, 23, 0, 0, + 46, 47, 0, 34, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 18, 0, 0, 45, 0, + 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 42, 22, 44, 29, 36, 39, 0, 0, 0, + 33, 0, 37, 41, 0, 0, 27, 26, 43, 28, + 25, 30, 0, 31, 32, 23, 0, 0, 46, 47, + 0, 34, 0, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 283, 0, 0, 45, 0, 0, 0, + 0, 38, 0, 0, 0, 0, 0, 0, 0, 42, + 22, 44, 29, 36, 39, 0, 0, 0, 33, 0, + 37, 41, 0, 0, 27, 26, 43, 28, 25, 30, + 0, 31, 32, 23, 0, 0, 46, 47, 0, 34, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 101, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 0, 42, 22, 44, + 29, 36, 39, 0, 0, 0, 33, 0, 37, 41, + 0, 0, 27, 26, 43, 28, 25, 30, 0, 31, + 32, 23, 0, 0, 46, 47, 0, 34, 0, 35, + 0, 0, 0, 0, 0, 0, 0, 0, 193, 161, + 0, 0, 45, 0, 0, 0, 0, 38, 0, 0, + 0, 0, 0, 0, 0, 42, 22, 44, 29, 36, + 39, 0, 0, 0, 33, 0, 37, 41, 0, 0, + 27, 26, 43, 28, 99, 30, 0, 31, 32, 23, + 0, 0, 46, 47, 0, 34, 0, 35, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 45, 0, 0, 0, 0, 38, 0, 0, 0, 0, + 0, 0, 0, 42, 22, 44, 29, 36, 39, 0, + 0, 0, 33, 0, 37, 41, 0, 0, 27, 26, + 43, 28, 25, 30, 0, 31, 32, 23, 0, 0, + 46, 47, 0, 34, 0, 35, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, + 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, + 0, 42, 22, 44, 29, 36, 39, 0, 0, 0, + 33, 0, 37, 41, 0, 0, 27, 26, 43, 28, + 25, 30, 0, 31, 32, 23, 0, 0, 46, 47, + 0, 34, 0, 35, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 38, 0, 0, 0, 0, 0, 0, 0, 42, + 22, 44, 29, 36, 39, 0, 0, 0, 33, 0, + 37, 41, 0, 0, 27, 26, 43, 28, 99, 30, + 0, 31, 32, 23, 0, 0, 46, 47, 0, 34, + 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, + 0, 0, 0, 0, 0, 0, 0, 42, 22, 44, + 29, 36, 39, 0, 0, 0, 0, 0, 37, 41, + 0, 0, 27, 26, 0, 0, 99, 0, 0, 31, + 32, 23 +}; +static const short yypact[] = +{ + 154,-1000,-1000,-1000,3264, 180,-1000,-1000, 158,-1000, + 189, 863, 181, 181, -51,2826,-1000, -30,3982,-1000, + 25, 51,-1000,4272,-1000,4214,4272,4272, 186, 185, +4272, -40, -40, -33, 184, 183,-1000, 179, 178,-1000, + 176, 170,-1000,-1000,-1000,-1000,-1000,-1000,-1000,-1000, +3264, 863, 195,-1000,1341,-1000, 155, 155, 202,3391, +-1000,1409, 863, 155, 155,3391, 155,-1000, 195,-1000, + 162, 146,4156, -4,2826,-1000, 139,-1000,-1000, 863, + 863, 123,-1000,-1000,3982,3924,3866,3982,3982,3982, +3982,3982,3982,3982, -4, -71, 25,-1000,-1000,4272, + -80,3982,3982,-1000,-1000, 144,1814,4098,4272,4272, +4272,4272,4272,3982,-1000,-1000, -91, -91, -91,3808, +3750, 25,-1000,-1000, 14,4272,3982,3982,3982,3982, +3982,3982, -58,-1000,1273,3982, 198,-1000,-1000,-1000, +-1000, 198, 195,-1000,-1000,1409,1713,-1000, -35,1205, +-1000,-1000,1713,-1000,-1000,1409,-1000,3135,3982, 100, + 192,3982,3206, -47,-1000, 25, 45,3982,1137,1069, + -50,2735,-1000,2917,-1000,2997,4330,4330,4330,4330, +4330,4330,-1000,4330,-1000, -40,2644,2826, 8,3449, +-1000,3449,-1000,4272, -91, 27, 27, -91, -91, -91, + 83,2826,-1000, 140,-1000, 133,4272, 25,2553,2553, +2553, 132, 192,2553,2553, 90,-1000, 181,-1000,-1000, +-1000,-1000,1001,-1000, 196,-1000,-1000,-1000, 105, 32, +-1000,2459,4272,4272,4272,3692, 129,4040,3634,3576, +4040, -4, 25,4040,3982,2459,-1000,-1000, 106,-1000, +3982,-1000, -4,-1000,2826,2826, 25,3449,-1000,-1000, +-1000, 25,3449,3449, 50,-1000,3449,3449,3449,-1000, + 863, -78,-1000,-1000,-1000, 156, -4, 194,-1000, 25, + 25, 25,3206,3982, 7,3068,3333,3518,-1000,4330, +-1000,3206, 75, 194, 194, 34,2826,-1000,2826,2368, + 87, 85,2277, 70,1611,1510, 635, 931, 109,3982, + 195, 52,-1000, 65, -4,4040,-1000, 181,-1000,-1000, +-1000,-1000,-1000,3449,-1000,-1000, 4,-1000, 4,3449, +-1000,-1000,3982,2186,3135, 194, 7,-1000,3206, 863, +2087, 82, 72, 57,1996,1905, 195, 52,1409, 793, +-1000,-1000,-1000,-1000,-1000, 155,3135, 194,-1000,-1000, +-1000, 52,1409, 194,-1000,1409,-1000 +}; +static const short yypgo[] = +{ + 0, 265, 505, 227, 5, 264, 4, 263, 242, 251, + 9, 46, 262, 11, 2, 3, 223, 38, 0, 185, + 260, 253, 250, 248, 247, 245, 243, 1, 237, 213, + 7, 231, 8, 401, 19, 15, 116, 98, 230, 229, + 228, 226, 224, 221, 220, 219, 218, 217, 216 +}; +static const short yyr1[] = +{ + 0, 40, 40, 36, 36, 37, 37, 33, 33, 26, + 26, 24, 24, 41, 22, 42, 22, 43, 22, 20, + 20, 23, 30, 30, 34, 34, 35, 35, 29, 29, + 15, 15, 1, 1, 10, 11, 11, 11, 11, 11, + 11, 11, 44, 11, 12, 12, 6, 6, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, + 5, 5, 7, 7, 7, 39, 39, 28, 28, 28, + 28, 31, 31, 9, 9, 45, 13, 32, 32, 14, + 14, 14, 14, 14, 14, 14, 14, 27, 27, 16, + 16, 46, 47, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 48, 16, 16, 17, 17, + 38, 38, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 18, 18, 18, 18, 21, 21, + 21, 19, 19, 19, 25 +}; +static const short yyr2[] = +{ + 0, 1, 1, 1, 2, 1, 2, 1, 2, 1, + 2, 1, 2, 0, 12, 0, 10, 0, 8, 1, + 1, 4, 1, 2, 1, 2, 0, 1, 0, 1, + 0, 1, 1, 3, 1, 1, 4, 4, 7, 3, + 4, 4, 0, 9, 1, 3, 1, 3, 3, 5, + 3, 3, 3, 3, 3, 5, 2, 1, 1, 3, + 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 5, 4, 3, 2, 1, 1, 3, 3, + 1, 3, 0, 1, 3, 1, 1, 1, 1, 2, + 2, 1, 2, 1, 2, 0, 4, 1, 2, 4, + 4, 4, 2, 5, 2, 1, 1, 1, 2, 2, + 2, 0, 0, 9, 3, 2, 1, 4, 2, 3, + 2, 2, 3, 2, 2, 0, 3, 2, 1, 2, + 1, 1, 4, 3, 3, 3, 3, 3, 3, 2, + 2, 2, 3, 4, 1, 3, 4, 2, 2, 2, + 2, 2, 4, 3, 2, 1, 6, 6, 3, 6, + 6, 1, 8, 8, 6, 4, 1, 6, 6, 8, + 8, 8, 6, 1, 1, 4, 1, 2, 0, 1, + 3, 1, 1, 1, 4 +}; +static const short yychk[] = +{ +-1000, -40, -1, 2, -29, -28, 10, 15, -12, -11, + -10, -30, 8, 9, 55, -2, 12, -18, 13, -9, + -8, -19, 88, 111, -13, 106, 103, 102, 47, 90, + 49, 109, 110, 96, 59, 61, 91, 98, 79, 92, + -38, 99, 87, 46, 89, 16, 56, 57, 10, 15, + -29, -30, 11, 10, -17, -16, 48, 50, -26, 53, + -22, -23, -30, 62, 63, 97, -14, -25, 15, 52, + 54, 58, -39, 51, -2, 2, 100, 77, 78, -30, + -30, -20, 87, 90, 94, -37, -36, 39, 40, 41, + 42, 43, 44, 24, 45, 14, -8, 37, 36, 106, + -18, 13, 70, 109, 110, -4, -2, 16, 102, 103, + 104, 105, 108, 19, -8, -9, -8, -8, -8, 13, + 13, -8, -18, -18, -18, 43, 13, 13, 13, 13, + 13, 13, -45, -11, -17, -35, -34, 10, 18, -16, + -27, -34, 15, -27, 10, -46, -2, -27, -16, -17, + -27, -27, -2, -27, -27, -48, -35, 13, 13, -7, + -5, 13, -3, -18, -9, -8, -19, 13, -17, -17, + 13, -2, 10, -2, 10, -2, -2, -2, -2, -2, + -2, -2, -13, -2, -19, 96, -2, -2, 17, -33, + 11, -33, 17, 70, -8, -8, -8, -8, -8, -8, + -6, -2, 17, -6, 17, -6, 43, -8, -2, -2, + -2, -6, -13, -2, -2, 93, 18, -10, 10, -35, + -16, -27, -24, 80, -31, 18, -27, -16, -15, -19, + -14, -2, 14, 38, 41, -33, -4, 94, -37, -36, + 24, 45, -8, 70, 19, -2, 18, 18, -21, 87, + 95, -18, 45, 10, -2, -2, -8, -33, 20, 17, + 17, -8, -33, -33, -33, 17, -33, -33, -33, 16, + -30, -47, 10, -16, 10, 15, 45, -32, 17, -8, + -8, -8, -3, 13, 17, -3, -3, -3, -13, -3, + -19, -3, -6, -32, -32, -33, -2, -19, -2, -2, + -13, -13, -2, -19, -2, -2, -2, -17, 100, -35, + 15, -19, 10, -4, 45, 95, 20, -44, 87, 17, + 17, 17, 17, -33, 17, 17, -33, 17, -33, -33, + 17, 18, 13, -2, -35, -32, 17, -19, -3, -30, + -2, -13, -18, -18, -2, -2, 15, -15, -43, -17, + 17, 17, 17, 17, 17, 17, -35, -32, -16, 18, + -27, -15, -42, -32, -16, -41, -16 +}; +static const short yydef[] = +{ + -2, -2, 1, 2, 32, 29, 87, 88, 28, 44, + 35, 0, 0, 0, 0, 34, 22, 173, 0, 76, + 77, 174, 176, 0, 93, 0, 0, 0, 144, 0, + 0, 0, 0, 155, 0, 0, 161, 0, 0, 166, + 0, 0, 181, 182, 183, 95, 130, 131, 89, 90, + 33, 0, 26, 23, 0, 128, 0, 0, 111, 0, + 116, 0, 0, 0, 0, 0, 0, 125, 26, 9, + 0, 0, 82, 0, 105, 106, 0, 85, 86, 0, + 0, 0, 19, 20, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 75, 5, 3, 0, + 173, 0, 0, 150, 151, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 177, 94, 141, 139, 140, 0, + 0, 147, 148, 149, 154, 0, 0, 0, 0, 0, + 0, 0, 0, 45, 0, 0, 27, 24, 39, 129, + 109, 107, 26, 110, 10, 0, 0, 115, 118, 0, + 120, 121, 0, 123, 124, 0, 127, -2, 0, 102, + 83, 0, 80, 173, 57, 58, 104, 0, 0, 0, + 178, 0, 6, 61, 4, 62, -2, -2, -2, -2, + -2, -2, 69, -2, 71, 74, 0, 59, 0, 0, + 7, 0, 158, 0, 136, 133, 134, 135, 137, 138, + 0, 46, 142, 0, 145, 0, 0, 153, 0, 0, + 0, 0, 93, 0, 0, 0, 36, 37, 25, 108, + 112, 114, 0, 11, 119, 91, 122, 126, 0, 174, + 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 0, 0, 40, 41, 0, 179, + 0, 73, 0, 8, 79, 78, 132, 0, 175, 143, + 146, 152, 0, 0, 0, 165, 0, 0, 0, 96, + 0, 0, 12, 117, 92, 26, 0, 21, 97, 99, + 100, 101, 81, 0, 84, 0, 50, 51, 52, -2, + 54, 48, 0, 184, 42, 0, 60, 72, 47, 0, + 93, 93, 0, 0, 0, 0, 0, 0, 0, 0, + 26, 0, 98, 0, 0, 0, 103, 0, 180, 156, + 157, 159, 160, 0, 164, 167, 0, 168, 0, 0, + 172, 38, 0, 0, -2, 17, 0, 55, 49, 0, + 0, 93, 0, 0, 0, 0, 26, 0, 0, 0, + 162, 163, 169, 170, 171, 0, -2, 15, 18, 43, + 113, 0, 0, 13, 16, 0, 14 +}; +static const short yytok1[] = +{ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, + 13, 17, 104, 102, 11, 103, 0, 16, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 95, 15, + 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 19, 0, 20, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 12, 14, 18 +}; +static const short yytok2[] = +{ + 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 96, 97, 98, 99, 100, 101, 106, 107, + 108, 109, 110, 111, 112 +}; +static const long yytok3[] = +{ + 0 +}; +#define YYFLAG -1000 +#define YYERROR goto yyerrlab +#define YYACCEPT return(0) +#define YYABORT return(1) +#define yyclearin yychar = -1 +#define yyerrok yyerrflag = 0 + +#ifdef yydebug +#include "y.debug" +#else +#define yydebug 0 +static const char* yytoknames[1]; /* for debugging */ +static const char* yystates[1]; /* for debugging */ +#endif + +/* parser for yacc output */ +#ifdef YYARG +#define yynerrs yyarg->yynerrs +#define yyerrflag yyarg->yyerrflag +#define yyval yyarg->yyval +#define yylval yyarg->yylval +#else +int yynerrs = 0; /* number of errors */ +int yyerrflag = 0; /* error recovery flag */ +#endif + +static const char* +yytokname(int yyc) +{ + static char x[10]; + + if(yyc > 0 && yyc <= sizeof(yytoknames)/sizeof(yytoknames[0])) + if(yytoknames[yyc-1]) + return yytoknames[yyc-1]; + sprintf(x, "<%d>", yyc); + return x; +} + +static const char* +yystatname(int yys) +{ + static char x[10]; + + if(yys >= 0 && yys < sizeof(yystates)/sizeof(yystates[0])) + if(yystates[yys]) + return yystates[yys]; + sprintf(x, "<%d>\n", yys); + return x; +} + +static long +#ifdef YYARG +yylex1(struct Yyarg *yyarg) +#else +yylex1(void) +#endif +{ + long yychar; + const long *t3p; + int c; + +#ifdef YYARG + yychar = yylex(yyarg); +#else + yychar = yylex(); +#endif + if(yychar <= 0) { + c = yytok1[0]; + goto out; + } + if(yychar < sizeof(yytok1)/sizeof(yytok1[0])) { + c = yytok1[yychar]; + goto out; + } + if(yychar >= YYPRIVATE) + if(yychar < YYPRIVATE+sizeof(yytok2)/sizeof(yytok2[0])) { + c = yytok2[yychar-YYPRIVATE]; + goto out; + } + for(t3p=yytok3;; t3p+=2) { + c = t3p[0]; + if(c == yychar) { + c = t3p[1]; + goto out; + } + if(c == 0) + break; + } + c = 0; + +out: + if(c == 0) + c = yytok2[1]; /* unknown char */ + if(yydebug >= 3) + printf("lex %.4lX %s\n", yychar, yytokname(c)); + return c; +} + +int +#ifdef YYARG +yyparse(struct Yyarg *yyarg) +#else +yyparse(void) +#endif +{ + struct + { + YYSTYPE yyv; + int yys; + } yys[YYMAXDEPTH], *yyp, *yypt; + const short *yyxi; + int yyj, yym, yystate, yyn, yyg; + long yychar; +#ifndef YYARG + YYSTYPE save1, save2; + int save3, save4; + + save1 = yylval; + save2 = yyval; + save3 = yynerrs; + save4 = yyerrflag; +#endif + + yystate = 0; + yychar = -1; + yynerrs = 0; + yyerrflag = 0; + yyp = &yys[-1]; + goto yystack; + +ret0: + yyn = 0; + goto ret; + +ret1: + yyn = 1; + goto ret; + +ret: +#ifndef YYARG + yylval = save1; + yyval = save2; + yynerrs = save3; + yyerrflag = save4; +#endif + return yyn; + +yystack: + /* put a state and value onto the stack */ + if(yydebug >= 4) + printf("char %s in %s", yytokname(yychar), yystatname(yystate)); + + yyp++; + if(yyp >= &yys[YYMAXDEPTH]) { + yyerror("yacc stack overflow"); + goto ret1; + } + yyp->yys = yystate; + yyp->yyv = yyval; + +yynewstate: + yyn = yypact[yystate]; + if(yyn <= YYFLAG) + goto yydefault; /* simple state */ + if(yychar < 0) +#ifdef YYARG + yychar = yylex1(yyarg); +#else + yychar = yylex1(); +#endif + yyn += yychar; + if(yyn < 0 || yyn >= YYLAST) + goto yydefault; + yyn = yyact[yyn]; + if(yychk[yyn] == yychar) { /* valid shift */ + yychar = -1; + yyval = yylval; + yystate = yyn; + if(yyerrflag > 0) + yyerrflag--; + goto yystack; + } + +yydefault: + /* default state action */ + yyn = yydef[yystate]; + if(yyn == -2) { + if(yychar < 0) +#ifdef YYARG + yychar = yylex1(yyarg); +#else + yychar = yylex1(); +#endif + + /* look through exception table */ + for(yyxi=yyexca;; yyxi+=2) + if(yyxi[0] == -1 && yyxi[1] == yystate) + break; + for(yyxi += 2;; yyxi += 2) { + yyn = yyxi[0]; + if(yyn < 0 || yyn == yychar) + break; + } + yyn = yyxi[1]; + if(yyn < 0) + goto ret0; + } + if(yyn == 0) { + /* error ... attempt to resume parsing */ + switch(yyerrflag) { + case 0: /* brand new error */ + yyerror("syntax error"); + if(yydebug >= 1) { + printf("%s", yystatname(yystate)); + printf("saw %s\n", yytokname(yychar)); + } + goto yyerrlab; + yyerrlab: + yynerrs++; + + case 1: + case 2: /* incompletely recovered error ... try again */ + yyerrflag = 3; + + /* find a state where "error" is a legal shift action */ + while(yyp >= yys) { + yyn = yypact[yyp->yys] + YYERRCODE; + if(yyn >= 0 && yyn < YYLAST) { + yystate = yyact[yyn]; /* simulate a shift of "error" */ + if(yychk[yystate] == YYERRCODE) + goto yystack; + } + + /* the current yyp has no shift onn "error", pop stack */ + if(yydebug >= 2) + printf("error recovery pops state %d, uncovers %d\n", + yyp->yys, (yyp-1)->yys ); + yyp--; + } + /* there is no state on the stack with an error shift ... abort */ + goto ret1; + + case 3: /* no shift yet; clobber input char */ + if(yydebug >= YYEOFCODE) + printf("error recovery discards %s\n", yytokname(yychar)); + if(yychar == YYEOFCODE) + goto ret1; + yychar = -1; + goto yynewstate; /* try again in the same state */ + } + } + + /* reduction by production yyn */ + if(yydebug >= 2) + printf("reduce %d in:\n\t%s", yyn, yystatname(yystate)); + + yypt = yyp; + yyp -= yyr2[yyn]; + yyval = (yyp+1)->yyv; + yym = yyn; + + /* consult goto table to find next state */ + yyn = yyr1[yyn]; + yyg = yypgo[yyn]; + yyj = yyg + yyp->yys + 1; + + if(yyj >= YYLAST || yychk[yystate=yyact[yyj]] != -yyn) + yystate = yyact[yyg]; + switch(yym) { + +case 1: +#line 98 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (errorflag==0) + winner = (Node *)stat3(PROGRAM, beginloc, yypt[-0].yyv.p, endloc); } break; +case 2: +#line 100 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyclearin; bracecheck(); SYNTAX("bailing out"); } break; +case 13: +#line 124 "/n/fs/fac/bwk/awk/awkgram.y" +{inloop++;} break; +case 14: +#line 125 "/n/fs/fac/bwk/awk/awkgram.y" +{ --inloop; yyval.p = stat4(FOR, yypt[-9].yyv.p, notnull(yypt[-6].yyv.p), yypt[-3].yyv.p, yypt[-0].yyv.p); } break; +case 15: +#line 126 "/n/fs/fac/bwk/awk/awkgram.y" +{inloop++;} break; +case 16: +#line 127 "/n/fs/fac/bwk/awk/awkgram.y" +{ --inloop; yyval.p = stat4(FOR, yypt[-7].yyv.p, NIL, yypt[-3].yyv.p, yypt[-0].yyv.p); } break; +case 17: +#line 128 "/n/fs/fac/bwk/awk/awkgram.y" +{inloop++;} break; +case 18: +#line 129 "/n/fs/fac/bwk/awk/awkgram.y" +{ --inloop; yyval.p = stat3(IN, yypt[-5].yyv.p, makearr(yypt[-3].yyv.p), yypt[-0].yyv.p); } break; +case 19: +#line 133 "/n/fs/fac/bwk/awk/awkgram.y" +{ setfname(yypt[-0].yyv.cp); } break; +case 20: +#line 134 "/n/fs/fac/bwk/awk/awkgram.y" +{ setfname(yypt[-0].yyv.cp); } break; +case 21: +#line 138 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = notnull(yypt[-1].yyv.p); } break; +case 26: +#line 150 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.i = 0; } break; +case 28: +#line 155 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.i = 0; } break; +case 30: +#line 161 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = 0; } break; +case 32: +#line 166 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = 0; } break; +case 33: +#line 167 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = yypt[-1].yyv.p; } break; +case 34: +#line 171 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = notnull(yypt[-0].yyv.p); } break; +case 35: +#line 175 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat2(PASTAT, yypt[-0].yyv.p, stat2(PRINT, rectonode(), NIL)); } break; +case 36: +#line 176 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat2(PASTAT, yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 37: +#line 177 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = pa2stat(yypt[-3].yyv.p, yypt[-0].yyv.p, stat2(PRINT, rectonode(), NIL)); } break; +case 38: +#line 178 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = pa2stat(yypt[-6].yyv.p, yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 39: +#line 179 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat2(PASTAT, NIL, yypt[-1].yyv.p); } break; +case 40: +#line 181 "/n/fs/fac/bwk/awk/awkgram.y" +{ beginloc = linkum(beginloc, yypt[-1].yyv.p); yyval.p = 0; } break; +case 41: +#line 183 "/n/fs/fac/bwk/awk/awkgram.y" +{ endloc = linkum(endloc, yypt[-1].yyv.p); yyval.p = 0; } break; +case 42: +#line 184 "/n/fs/fac/bwk/awk/awkgram.y" +{infunc++;} break; +case 43: +#line 185 "/n/fs/fac/bwk/awk/awkgram.y" +{ infunc--; curfname=0; defn((Cell *)yypt[-7].yyv.p, yypt[-5].yyv.p, yypt[-1].yyv.p); yyval.p = 0; } break; +case 45: +#line 190 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = linkum(yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 47: +#line 195 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = linkum(yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 48: +#line 199 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 49: +#line 201 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(CONDEXPR, notnull(yypt[-4].yyv.p), yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 50: +#line 203 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(BOR, notnull(yypt[-2].yyv.p), notnull(yypt[-0].yyv.p)); } break; +case 51: +#line 205 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(AND, notnull(yypt[-2].yyv.p), notnull(yypt[-0].yyv.p)); } break; +case 52: +#line 206 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(yypt[-1].yyv.i, NIL, yypt[-2].yyv.p, (Node*)makedfa(yypt[-0].yyv.s, 0)); } break; +case 53: +#line 208 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (constnode(yypt[-0].yyv.p)) + yyval.p = op3(yypt[-1].yyv.i, NIL, yypt[-2].yyv.p, (Node*)makedfa(strnode(yypt[-0].yyv.p), 0)); + else + yyval.p = op3(yypt[-1].yyv.i, (Node *)1, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 54: +#line 212 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(INTEST, yypt[-2].yyv.p, makearr(yypt[-0].yyv.p)); } break; +case 55: +#line 213 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(INTEST, yypt[-3].yyv.p, makearr(yypt[-0].yyv.p)); } break; +case 56: +#line 214 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(CAT, yypt[-1].yyv.p, yypt[-0].yyv.p); } break; +case 59: +#line 220 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 60: +#line 222 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(CONDEXPR, notnull(yypt[-4].yyv.p), yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 61: +#line 224 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(BOR, notnull(yypt[-2].yyv.p), notnull(yypt[-0].yyv.p)); } break; +case 62: +#line 226 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(AND, notnull(yypt[-2].yyv.p), notnull(yypt[-0].yyv.p)); } break; +case 63: +#line 227 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 64: +#line 228 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 65: +#line 229 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 66: +#line 230 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 67: +#line 231 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 68: +#line 232 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(yypt[-1].yyv.i, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 69: +#line 233 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(yypt[-1].yyv.i, NIL, yypt[-2].yyv.p, (Node*)makedfa(yypt[-0].yyv.s, 0)); } break; +case 70: +#line 235 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (constnode(yypt[-0].yyv.p)) + yyval.p = op3(yypt[-1].yyv.i, NIL, yypt[-2].yyv.p, (Node*)makedfa(strnode(yypt[-0].yyv.p), 0)); + else + yyval.p = op3(yypt[-1].yyv.i, (Node *)1, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 71: +#line 239 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(INTEST, yypt[-2].yyv.p, makearr(yypt[-0].yyv.p)); } break; +case 72: +#line 240 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(INTEST, yypt[-3].yyv.p, makearr(yypt[-0].yyv.p)); } break; +case 73: +#line 241 "/n/fs/fac/bwk/awk/awkgram.y" +{ + if (safe) SYNTAX("cmd | getline is unsafe"); + else yyval.p = op3(GETLINE, yypt[-0].yyv.p, itonp(yypt[-2].yyv.i), yypt[-3].yyv.p); } break; +case 74: +#line 244 "/n/fs/fac/bwk/awk/awkgram.y" +{ + if (safe) SYNTAX("cmd | getline is unsafe"); + else yyval.p = op3(GETLINE, (Node*)0, itonp(yypt[-1].yyv.i), yypt[-2].yyv.p); } break; +case 75: +#line 247 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(CAT, yypt[-1].yyv.p, yypt[-0].yyv.p); } break; +case 78: +#line 253 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = linkum(yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 79: +#line 254 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = linkum(yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 81: +#line 259 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = linkum(yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 82: +#line 263 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = rectonode(); } break; +case 84: +#line 265 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = yypt[-1].yyv.p; } break; +case 93: +#line 282 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(MATCH, NIL, rectonode(), (Node*)makedfa(yypt[-0].yyv.s, 0)); } break; +case 94: +#line 283 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(NOT, notnull(yypt[-0].yyv.p)); } break; +case 95: +#line 287 "/n/fs/fac/bwk/awk/awkgram.y" +{startreg();} break; +case 96: +#line 287 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.s = yypt[-1].yyv.s; } break; +case 99: +#line 295 "/n/fs/fac/bwk/awk/awkgram.y" +{ + if (safe) SYNTAX("print | is unsafe"); + else yyval.p = stat3(yypt[-3].yyv.i, yypt[-2].yyv.p, itonp(yypt[-1].yyv.i), yypt[-0].yyv.p); } break; +case 100: +#line 298 "/n/fs/fac/bwk/awk/awkgram.y" +{ + if (safe) SYNTAX("print >> is unsafe"); + else yyval.p = stat3(yypt[-3].yyv.i, yypt[-2].yyv.p, itonp(yypt[-1].yyv.i), yypt[-0].yyv.p); } break; +case 101: +#line 301 "/n/fs/fac/bwk/awk/awkgram.y" +{ + if (safe) SYNTAX("print > is unsafe"); + else yyval.p = stat3(yypt[-3].yyv.i, yypt[-2].yyv.p, itonp(yypt[-1].yyv.i), yypt[-0].yyv.p); } break; +case 102: +#line 304 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat3(yypt[-1].yyv.i, yypt[-0].yyv.p, NIL, NIL); } break; +case 103: +#line 305 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat2(DELETE, makearr(yypt[-3].yyv.p), yypt[-1].yyv.p); } break; +case 104: +#line 306 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat2(DELETE, makearr(yypt[-0].yyv.p), 0); } break; +case 105: +#line 307 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = exptostat(yypt[-0].yyv.p); } break; +case 106: +#line 308 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyclearin; SYNTAX("illegal statement"); } break; +case 109: +#line 317 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (!inloop) SYNTAX("break illegal outside of loops"); + yyval.p = stat1(BREAK, NIL); } break; +case 110: +#line 319 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (!inloop) SYNTAX("continue illegal outside of loops"); + yyval.p = stat1(CONTINUE, NIL); } break; +case 111: +#line 321 "/n/fs/fac/bwk/awk/awkgram.y" +{inloop++;} break; +case 112: +#line 321 "/n/fs/fac/bwk/awk/awkgram.y" +{--inloop;} break; +case 113: +#line 322 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat2(DO, yypt[-6].yyv.p, notnull(yypt[-2].yyv.p)); } break; +case 114: +#line 323 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat1(EXIT, yypt[-1].yyv.p); } break; +case 115: +#line 324 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat1(EXIT, NIL); } break; +case 117: +#line 326 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat3(IF, yypt[-3].yyv.p, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 118: +#line 327 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat3(IF, yypt[-1].yyv.p, yypt[-0].yyv.p, NIL); } break; +case 119: +#line 328 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = yypt[-1].yyv.p; } break; +case 120: +#line 329 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (infunc) + SYNTAX("next is illegal inside a function"); + yyval.p = stat1(NEXT, NIL); } break; +case 121: +#line 332 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (infunc) + SYNTAX("nextfile is illegal inside a function"); + yyval.p = stat1(NEXTFILE, NIL); } break; +case 122: +#line 335 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat1(RETURN, yypt[-1].yyv.p); } break; +case 123: +#line 336 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = stat1(RETURN, NIL); } break; +case 125: +#line 338 "/n/fs/fac/bwk/awk/awkgram.y" +{inloop++;} break; +case 126: +#line 338 "/n/fs/fac/bwk/awk/awkgram.y" +{ --inloop; yyval.p = stat2(WHILE, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 127: +#line 339 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = 0; } break; +case 129: +#line 344 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = linkum(yypt[-1].yyv.p, yypt[-0].yyv.p); } break; +case 132: +#line 352 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(DIVEQ, yypt[-3].yyv.p, yypt[-0].yyv.p); } break; +case 133: +#line 353 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(ADD, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 134: +#line 354 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(MINUS, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 135: +#line 355 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(MULT, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 136: +#line 356 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(DIVIDE, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 137: +#line 357 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(MOD, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 138: +#line 358 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(POWER, yypt[-2].yyv.p, yypt[-0].yyv.p); } break; +case 139: +#line 359 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(UMINUS, yypt[-0].yyv.p); } break; +case 140: +#line 360 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = yypt[-0].yyv.p; } break; +case 141: +#line 361 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(NOT, notnull(yypt[-0].yyv.p)); } break; +case 142: +#line 362 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(BLTIN, itonp(yypt[-2].yyv.i), rectonode()); } break; +case 143: +#line 363 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(BLTIN, itonp(yypt[-3].yyv.i), yypt[-1].yyv.p); } break; +case 144: +#line 364 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(BLTIN, itonp(yypt[-0].yyv.i), rectonode()); } break; +case 145: +#line 365 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(CALL, celltonode(yypt[-2].yyv.cp,CVAR), NIL); } break; +case 146: +#line 366 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(CALL, celltonode(yypt[-3].yyv.cp,CVAR), yypt[-1].yyv.p); } break; +case 147: +#line 367 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(CLOSE, yypt[-0].yyv.p); } break; +case 148: +#line 368 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(PREDECR, yypt[-0].yyv.p); } break; +case 149: +#line 369 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(PREINCR, yypt[-0].yyv.p); } break; +case 150: +#line 370 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(POSTDECR, yypt[-1].yyv.p); } break; +case 151: +#line 371 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(POSTINCR, yypt[-1].yyv.p); } break; +case 152: +#line 372 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(GETLINE, yypt[-2].yyv.p, itonp(yypt[-1].yyv.i), yypt[-0].yyv.p); } break; +case 153: +#line 373 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(GETLINE, NIL, itonp(yypt[-1].yyv.i), yypt[-0].yyv.p); } break; +case 154: +#line 374 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(GETLINE, yypt[-0].yyv.p, NIL, NIL); } break; +case 155: +#line 375 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(GETLINE, NIL, NIL, NIL); } break; +case 156: +#line 377 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(INDEX, yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 157: +#line 379 "/n/fs/fac/bwk/awk/awkgram.y" +{ SYNTAX("index() doesn't permit regular expressions"); + yyval.p = op2(INDEX, yypt[-3].yyv.p, (Node*)yypt[-1].yyv.s); } break; +case 158: +#line 381 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = yypt[-1].yyv.p; } break; +case 159: +#line 383 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(MATCHFCN, NIL, yypt[-3].yyv.p, (Node*)makedfa(yypt[-1].yyv.s, 1)); } break; +case 160: +#line 385 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (constnode(yypt[-1].yyv.p)) + yyval.p = op3(MATCHFCN, NIL, yypt[-3].yyv.p, (Node*)makedfa(strnode(yypt[-1].yyv.p), 1)); + else + yyval.p = op3(MATCHFCN, (Node *)1, yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 161: +#line 389 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = celltonode(yypt[-0].yyv.cp, CCON); } break; +case 162: +#line 391 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op4(SPLIT, yypt[-5].yyv.p, makearr(yypt[-3].yyv.p), yypt[-1].yyv.p, (Node*)STRING); } break; +case 163: +#line 393 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op4(SPLIT, yypt[-5].yyv.p, makearr(yypt[-3].yyv.p), (Node*)makedfa(yypt[-1].yyv.s, 1), (Node *)REGEXPR); } break; +case 164: +#line 395 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op4(SPLIT, yypt[-3].yyv.p, makearr(yypt[-1].yyv.p), NIL, (Node*)STRING); } break; +case 165: +#line 396 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(yypt[-3].yyv.i, yypt[-1].yyv.p); } break; +case 166: +#line 397 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = celltonode(yypt[-0].yyv.cp, CCON); } break; +case 167: +#line 399 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op4(yypt[-5].yyv.i, NIL, (Node*)makedfa(yypt[-3].yyv.s, 1), yypt[-1].yyv.p, rectonode()); } break; +case 168: +#line 401 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (constnode(yypt[-3].yyv.p)) + yyval.p = op4(yypt[-5].yyv.i, NIL, (Node*)makedfa(strnode(yypt[-3].yyv.p), 1), yypt[-1].yyv.p, rectonode()); + else + yyval.p = op4(yypt[-5].yyv.i, (Node *)1, yypt[-3].yyv.p, yypt[-1].yyv.p, rectonode()); } break; +case 169: +#line 406 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op4(yypt[-7].yyv.i, NIL, (Node*)makedfa(yypt[-5].yyv.s, 1), yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 170: +#line 408 "/n/fs/fac/bwk/awk/awkgram.y" +{ if (constnode(yypt[-5].yyv.p)) + yyval.p = op4(yypt[-7].yyv.i, NIL, (Node*)makedfa(strnode(yypt[-5].yyv.p), 1), yypt[-3].yyv.p, yypt[-1].yyv.p); + else + yyval.p = op4(yypt[-7].yyv.i, (Node *)1, yypt[-5].yyv.p, yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 171: +#line 413 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(SUBSTR, yypt[-5].yyv.p, yypt[-3].yyv.p, yypt[-1].yyv.p); } break; +case 172: +#line 415 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op3(SUBSTR, yypt[-3].yyv.p, yypt[-1].yyv.p, NIL); } break; +case 175: +#line 421 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op2(ARRAY, makearr(yypt[-3].yyv.p), yypt[-1].yyv.p); } break; +case 176: +#line 422 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(INDIRECT, celltonode(yypt[-0].yyv.cp, CVAR)); } break; +case 177: +#line 423 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(INDIRECT, yypt[-0].yyv.p); } break; +case 178: +#line 427 "/n/fs/fac/bwk/awk/awkgram.y" +{ arglist = yyval.p = 0; } break; +case 179: +#line 428 "/n/fs/fac/bwk/awk/awkgram.y" +{ arglist = yyval.p = celltonode(yypt[-0].yyv.cp,CVAR); } break; +case 180: +#line 429 "/n/fs/fac/bwk/awk/awkgram.y" +{ + checkdup(yypt[-2].yyv.p, yypt[-0].yyv.cp); + arglist = yyval.p = linkum(yypt[-2].yyv.p,celltonode(yypt[-0].yyv.cp,CVAR)); } break; +case 181: +#line 435 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = celltonode(yypt[-0].yyv.cp, CVAR); } break; +case 182: +#line 436 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(ARG, itonp(yypt[-0].yyv.i)); } break; +case 183: +#line 437 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = op1(VARNF, (Node *) yypt[-0].yyv.cp); } break; +case 184: +#line 442 "/n/fs/fac/bwk/awk/awkgram.y" +{ yyval.p = notnull(yypt[-1].yyv.p); } break; + } + goto yystack; /* stack new state and value */ +} diff --git a/external/historical/nawk/dist/ytab.h b/external/historical/nawk/dist/ytab.h new file mode 100644 index 000000000..8a366ba84 --- /dev/null +++ b/external/historical/nawk/dist/ytab.h @@ -0,0 +1,101 @@ + +typedef union { + Node *p; + Cell *cp; + int i; + char *s; +} YYSTYPE; +extern YYSTYPE yylval; +#define FIRSTTOKEN 57346 +#define PROGRAM 57347 +#define PASTAT 57348 +#define PASTAT2 57349 +#define XBEGIN 57350 +#define XEND 57351 +#define NL 57352 +#define ARRAY 57353 +#define MATCH 57354 +#define NOTMATCH 57355 +#define MATCHOP 57356 +#define FINAL 57357 +#define DOT 57358 +#define ALL 57359 +#define CCL 57360 +#define NCCL 57361 +#define CHAR 57362 +#define OR 57363 +#define STAR 57364 +#define QUEST 57365 +#define PLUS 57366 +#define EMPTYRE 57367 +#define AND 57368 +#define BOR 57369 +#define APPEND 57370 +#define EQ 57371 +#define GE 57372 +#define GT 57373 +#define LE 57374 +#define LT 57375 +#define NE 57376 +#define IN 57377 +#define ARG 57378 +#define BLTIN 57379 +#define BREAK 57380 +#define CLOSE 57381 +#define CONTINUE 57382 +#define DELETE 57383 +#define DO 57384 +#define EXIT 57385 +#define FOR 57386 +#define FUNC 57387 +#define SUB 57388 +#define GSUB 57389 +#define IF 57390 +#define INDEX 57391 +#define LSUBSTR 57392 +#define MATCHFCN 57393 +#define NEXT 57394 +#define NEXTFILE 57395 +#define ADD 57396 +#define MINUS 57397 +#define MULT 57398 +#define DIVIDE 57399 +#define MOD 57400 +#define ASSIGN 57401 +#define ASGNOP 57402 +#define ADDEQ 57403 +#define SUBEQ 57404 +#define MULTEQ 57405 +#define DIVEQ 57406 +#define MODEQ 57407 +#define POWEQ 57408 +#define PRINT 57409 +#define PRINTF 57410 +#define SPRINTF 57411 +#define ELSE 57412 +#define INTEST 57413 +#define CONDEXPR 57414 +#define POSTINCR 57415 +#define PREINCR 57416 +#define POSTDECR 57417 +#define PREDECR 57418 +#define VAR 57419 +#define IVAR 57420 +#define VARNF 57421 +#define CALL 57422 +#define NUMBER 57423 +#define STRING 57424 +#define REGEXPR 57425 +#define GETLINE 57426 +#define RETURN 57427 +#define SPLIT 57428 +#define SUBSTR 57429 +#define WHILE 57430 +#define CAT 57431 +#define NOT 57432 +#define UMINUS 57433 +#define POWER 57434 +#define DECR 57435 +#define INCR 57436 +#define INDIRECT 57437 +#define LASTTOKEN 57438 diff --git a/external/lgpl3/gmp/Makefile.netbsd-gmp b/external/lgpl3/gmp/Makefile.netbsd-gmp index 30c8182c1..88fe2d871 100644 --- a/external/lgpl3/gmp/Makefile.netbsd-gmp +++ b/external/lgpl3/gmp/Makefile.netbsd-gmp @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.netbsd-gmp,v 1.1 2011/10/30 01:50:32 mrg Exp $ +# $NetBSD: Makefile.netbsd-gmp,v 1.3 2013/07/18 22:40:58 matt Exp $ # hack makefile to help build gmp ./configure @@ -6,7 +6,7 @@ CCADDFLAGS= --sysroot=${DESTDIR} -L${DESTDIR}/lib -L${DESTDIR}/usr/lib -B${DESTDIR}/usr/lib/ -I${.OBJDIR}/.native/gcc/include -TARGET=hppa-netbsd +TARGET?=${MACHINE_GNU_PLATFORM} #TARGET=mips64el-netbsd ENV_ARGS=\ CC=${CC:Q}' '${CCADDFLAGS:Q} \ @@ -16,4 +16,4 @@ ENV_ARGS=\ LIBS=-lintl all: - env ${ENV_ARGS} /usr/src3/external/lgpl3/gmp/dist/configure --host=${TARGET} --target=${TARGET} + env ${ENV_ARGS} ${NETBSDSRCDIR}/external/lgpl3/gmp/dist/configure --host=${TARGET} --target=${TARGET} diff --git a/external/lgpl3/gmp/README b/external/lgpl3/gmp/README index 950baba7d..0110eefc9 100644 --- a/external/lgpl3/gmp/README +++ b/external/lgpl3/gmp/README @@ -1,4 +1,4 @@ -$NetBSD: README,v 1.3 2012/03/20 08:21:38 mrg Exp $ +$NetBSD: README,v 1.4 2013/07/15 08:59:47 mrg Exp $ GMP in NetBSD. We need GMP for GCC >= 4.2. @@ -12,7 +12,9 @@ final product. All of these issues need to be dealt with. There are a few steps to this: - - run ./configure, save the output + - run ./configure, save the output. you can use the makefile + "Makefile.netbsd-gmp" in this directory to run this with the + right options, etc. run it with nbmake-$MACHINE. - create src/external/gpl3/gmp/lib/libgmp/arch/${MACHINE_ARCH} dir, and copy these files into it: diff --git a/external/lgpl3/gmp/fetch.sh b/external/lgpl3/gmp/fetch.sh index 69ee79c38..3a1050cf3 100755 --- a/external/lgpl3/gmp/fetch.sh +++ b/external/lgpl3/gmp/fetch.sh @@ -5,8 +5,8 @@ echo $0 cd `dirname $0` # Configure fetch method -URL="http://www.minix3.org/distfiles-minix/gmp-5.0.2.tar.bz2" -BACKUP_URL="ftp://ftp.gmplib.org/pub/gmp-5.0.2/gmp-5.0.2.tar.bz2" +URL="http://www.minix3.org/distfiles-minix/gmp-5.1.2.tar.bz2" +BACKUP_URL="ftp://ftp.gmplib.org/pub/gmp-5.1.2/gmp-5.1.2.tar.bz2" FETCH=wget which curl >/dev/null if [ $? -eq 0 ]; then @@ -16,15 +16,15 @@ fi # Fetch sources if not available if [ ! -d dist ]; then - if [ ! -f gmp-5.0.2.tar.bz2 ]; then + if [ ! -f gmp-5.1.2.tar.bz2 ]; then $FETCH $URL if [ $? -ne 0 ]; then $FETCH $BACKUP_URL fi fi - tar -oxjf gmp-5.0.2.tar.bz2 - mv gmp-5.0.2 dist && \ + tar -oxjf gmp-5.1.2.tar.bz2 + mv gmp-5.1.2 dist && \ cd dist && \ cat ../patches/* |patch -p1 fi diff --git a/external/lgpl3/gmp/lib/libgmp/Makefile b/external/lgpl3/gmp/lib/libgmp/Makefile index d85b27a83..f4217620a 100644 --- a/external/lgpl3/gmp/lib/libgmp/Makefile +++ b/external/lgpl3/gmp/lib/libgmp/Makefile @@ -1,10 +1,12 @@ -# $NetBSD: Makefile,v 1.13 2012/08/10 16:05:26 joerg Exp $ +# $NetBSD: Makefile,v 1.21 2013/12/01 09:29:37 martin Exp $ .include # We don't install gmp, just provide it for GCC. LIBISPRIVATE?= yes +GMP_MACHINE_ARCH?= ${MACHINE_ARCH:S/earmv4/arm/:C/armv[5-7]/arm/} + .if ${LIBISPRIVATE} != "yes" INCS= gmp.h INCSDIR= /usr/include @@ -120,7 +122,7 @@ SCANF_SRCS = \ SRCS+= \ assert.c compat.c errno.c extract-dbl.c invalid.c memory.c \ mp_bpl.c mp_clz_tab.c mp_dv_tab.c mp_minv_tab.c mp_get_fns.c \ - mp_set_fns.c rand.c randclr.c randdef.c randiset.c randlc2s.c \ + mp_set_fns.c randclr.c randdef.c randiset.c randlc2s.c \ randlc2x.c randmt.c randmts.c rands.c randsd.c randsdui.c \ randbui.c randmui.c version.c nextprime.c @@ -145,15 +147,17 @@ CLEANFILES+= ${_dir}_${_srcfile} .endfor -CPPFLAGS+= -I. -I${DIST} -I${.CURDIR}/arch/${MACHINE_ARCH} -D__GMP_WITHIN_GMP -DHAVE_CONFIG_H +CPPFLAGS+= -I. -I${DIST} -I${.CURDIR}/arch/${GMP_MACHINE_ARCH} -D__GMP_WITHIN_GMP -DHAVE_CONFIG_H WITHOUT_MAN= yes -DPSRCS= fac_ui.h fib_table.h fib_table.c mp_bases.h mp_bases.c perfsqr.h +DPSRCS= fac_table.h fib_table.h fib_table.c jacobitab.h mp_bases.h mp_bases.c perfsqr.h -fac_ui.h: gen-fac_ui.c - ${HOST_CC} -o ${.OBJDIR}/gen-fac_ui ${.ALLSRC} - ${.OBJDIR}/gen-fac_ui ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/fac_ui.h +gen-fac: gen-fac.c + ${HOST_CC} -o ${.OBJDIR}/gen-fac ${.ALLSRC} + +fac_table.h: gen-fac + ${.OBJDIR}/gen-fac ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/fac_table.h gen-fib: gen-fib.c ${HOST_CC} -o ${.OBJDIR}/gen-fib ${.ALLSRC} @@ -173,24 +177,68 @@ mp_bases.h: gen-bases mp_bases.c: gen-bases ${.OBJDIR}/gen-bases table ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/mp_bases.c +gen-jacobitab: gen-jacobitab.c + ${HOST_CC} -o ${.OBJDIR}/gen-jacobitab ${.ALLSRC} -lm + +jacobitab.h: gen-jacobitab + ${.OBJDIR}/gen-jacobitab > ${.OBJDIR}/jacobitab.h + perfsqr.h: gen-psqr.c ${HOST_CC} -o ${.OBJDIR}/gen-psqr ${.ALLSRC} ${.OBJDIR}/gen-psqr ${GMP_LIMB_BITS} 0 > ${.OBJDIR}/perfsqr.h -CLEANFILES+= ${DPSRCS} gen-fac_ui gen-fib gen-bases gen-psqr gen-trialdivtab +CLEANFILES+= ${DPSRCS} gen-fac gen-fib gen-bases gen-jacobitab gen-psqr gen-trialdivtab -.include "${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc" + +.include "${.CURDIR}/arch/${GMP_MACHINE_ARCH}/Makefile.inc" + +# XXX stuff looks for "../config.m4" +dummy: + mkdir dummy +${.OBJDIR}/config.m4: ${.CURDIR}/arch/${GMP_MACHINE_ARCH}/config.m4 + cp ${.CURDIR}/arch/${GMP_MACHINE_ARCH}/config.m4 ${.OBJDIR}/config.m4 + +CLEANFILES+= config.m4 +clean: cleandummy +cleandummy: .PHONY + -rmdir dummy + +BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -I${.OBJDIR} + +.for _build _src in ${ASM_SRCS_LIST} +${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 ${DIST}/${_src} + ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ + ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ + -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} + +SRCS+= ${_build:R}.s +CLEANFILES+= ${_build:R}.s +.endfor + +.for _build _src in ${C_SRCS_LIST} +mpn_${_build}: Makefile + echo '#include "${_src}"' > ${.TARGET} + +CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} + +SRCS+= mpn_${_build} +CLEANFILES+= mpn_${_build} +.endfor .include .PATH: ${DIST} \ + ${DIST}/rand \ ${DIST}/mpn/generic \ - ${.CURDIR}/arch/${MACHINE_ARCH} \ + ${.CURDIR}/arch/${GMP_MACHINE_ARCH} \ ${DIST}/mpf \ ${DIST}/mpz # Don't warn about functions which cannot be stack smash protected as # there are a lot of them. COPTS += -Wno-stack-protector +.if !empty(GMP_MACHINE_ARCH:M*arm*) +COPTS += -marm +.endif -CWARNFLAGS.clang+= -Wno-unused-value -Wno-tautological-compare +CWARNFLAGS.clang+= -Wno-unused-value -Wno-tautological-compare -Wno-parentheses diff --git a/external/lgpl3/gmp/lib/libgmp/arch/alpha/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/alpha/Makefile.inc index 1279efb93..f92b46354 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/alpha/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/alpha/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/07 02:06:32 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:41 mrg Exp $ SRCS+= \ random.c \ @@ -6,6 +6,8 @@ SRCS+= \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -13,44 +15,57 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ - dcpi1_div_qr.c \ mu_divappr_q.c \ - redc_1_sec.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ - toom_interpolate_16pts.c \ mu_div_qr.c \ + toom_interpolate_16pts.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -62,6 +77,7 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ @@ -72,26 +88,32 @@ SRCS+= \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ toom_interpolate_8pts.c \ @@ -100,39 +122,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -167,28 +199,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.h b/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.h index f306a6de5..902dd3c3a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -215,11 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* #undef HAVE_NATIVE_mpn_add_nc */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ #define HAVE_NATIVE_mpn_addlsh1_n 1 /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ #define HAVE_NATIVE_mpn_bdiv_dbm1c 1 @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_com 1 #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ #define HAVE_NATIVE_mpn_sqr_diagonal 1 +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #undef HAVE_NATIVE_mpn_sub_nc */ +#define HAVE_NATIVE_mpn_sub_nc 1 +/* #undef HAVE_NATIVE_mpn_subcnd_n */ #define HAVE_NATIVE_mpn_sublsh1_n 1 /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX "$" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.m4 index 783973047..19ab7853a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/alpha/config.m4 @@ -10,7 +10,7 @@ define(, <:>) define(, <.globl>) define(, <>) define(, <>) -define(, < .section .sdata,"aws",@progbits>) +define(, < .section .rodata>) define(, <.type $1,@$2>) define(, <.size $1,$2>) define(, <$>) diff --git a/external/lgpl3/gmp/lib/libgmp/arch/alpha/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/alpha/gmp.h index 69c6bb2a3..68e13c007 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/alpha/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/alpha/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -Wa,-mev4 -mcpu=ev4" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/arm/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/arm/Makefile.inc index d0af6f35c..e08ffee03 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/arm/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/arm/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.3 2011/07/10 02:41:50 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/11/29 08:03:41 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,48 +16,56 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ + toom54_mul.c \ toom_interpolate_6pts.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ - com.c \ - lshift.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ mu_div_qr.c \ toom_interpolate_16pts.c \ - mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ - rshift.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -63,95 +73,121 @@ SRCS+= \ sbpi1_bdiv_q.c \ pre_mod_1.c \ hgcd.c \ - bdiv_dbm1c.c \ sqrtrem.c \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ - mode1o.c \ toom_interpolate_8pts.c \ remove.c \ - lshiftc.c \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ ASM_SRCS_LIST= \ - add_n.asm mpn/arm/add_n.asm \ - submul_1.asm mpn/arm/submul_1.asm \ + nand_n.asm mpn/arm/logops_n.asm \ + rsh1sub_n.asm mpn/arm/rsh1aors_n.asm \ + add_n.asm mpn/arm/aors_n.asm \ + rsh1add_n.asm mpn/arm/rsh1aors_n.asm \ + sublsh1_n.asm mpn/arm/aorslsh1_n.asm \ + addcnd_n.asm mpn/arm/aorscnd_n.asm \ + xor_n.asm mpn/arm/logops_n.asm \ + submul_1.asm mpn/arm/aorsmul_1.asm \ + nior_n.asm mpn/arm/logops_n.asm \ + lshift.asm mpn/arm/lshift.asm \ + and_n.asm mpn/arm/logops_n.asm \ mul_1.asm mpn/arm/mul_1.asm \ copyd.asm mpn/arm/copyd.asm \ + bdiv_dbm1c.asm mpn/arm/bdiv_dbm1c.asm \ udiv.asm mpn/arm/udiv.asm \ + andn_n.asm mpn/arm/logops_n.asm \ + com.asm mpn/arm/com.asm \ copyi.asm mpn/arm/copyi.asm \ + subcnd_n.asm mpn/arm/aorscnd_n.asm \ + rshift.asm mpn/arm/rshift.asm \ + iorn_n.asm mpn/arm/logops_n.asm \ + ior_n.asm mpn/arm/logops_n.asm \ + mod_34lsub1.asm mpn/arm/mod_34lsub1.asm \ + xnor_n.asm mpn/arm/logops_n.asm \ + lshiftc.asm mpn/arm/lshiftc.asm \ + mode1o.asm mpn/arm/mode1o.asm \ + addlsh1_n.asm mpn/arm/aorslsh1_n.asm \ invert_limb.asm mpn/arm/invert_limb.asm \ - addmul_1.asm mpn/arm/addmul_1.asm \ - sub_n.asm mpn/arm/sub_n.asm \ + addmul_1.asm mpn/arm/aorsmul_1.asm \ + sub_n.asm mpn/arm/aors_n.asm \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -164,33 +200,5 @@ trialdivtab.h: gen-trialdivtab CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn - M4FLAGS= -DPIC COPTS+= -fPIC -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ - ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ - -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/arm/config.h b/external/lgpl3/gmp/lib/libgmp/arch/arm/config.h index 77281a5df..bc651bca0 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/arm/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/arm/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -57,12 +57,12 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if tests/libtests has calling conventions checking for the CPU */ -/* #undef HAVE_CALLING_CONVENTIONS */ +#define HAVE_CALLING_CONVENTIONS 1 /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -215,11 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* #undef HAVE_NATIVE_mpn_add_nc */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ -/* #undef HAVE_NATIVE_mpn_addlsh1_n */ +#define HAVE_NATIVE_mpn_addcnd_n 1 +#define HAVE_NATIVE_mpn_addlsh1_n 1 /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,14 +252,16 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ -/* #undef HAVE_NATIVE_mpn_and_n */ -/* #undef HAVE_NATIVE_mpn_andn_n */ -/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 /* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ /* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ -/* #undef HAVE_NATIVE_mpn_com */ +#define HAVE_NATIVE_mpn_com 1 #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -244,27 +270,29 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_gcd_1 */ /* #undef HAVE_NATIVE_mpn_hamdist */ #define HAVE_NATIVE_mpn_invert_limb 1 -/* #undef HAVE_NATIVE_mpn_ior_n */ -/* #undef HAVE_NATIVE_mpn_iorn_n */ -/* #undef HAVE_NATIVE_mpn_lshift */ -/* #undef HAVE_NATIVE_mpn_lshiftc */ +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +#define HAVE_NATIVE_mpn_lshiftc 1 /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ /* #undef HAVE_NATIVE_mpn_mod_1_1p */ /* #undef HAVE_NATIVE_mpn_mod_1c */ /* #undef HAVE_NATIVE_mpn_mod_1s_2p */ /* #undef HAVE_NATIVE_mpn_mod_1s_4p */ -/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ +#define HAVE_NATIVE_mpn_mod_34lsub1 1 /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ -/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 #define HAVE_NATIVE_mpn_mul_1 1 /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ -/* #undef HAVE_NATIVE_mpn_nand_n */ -/* #undef HAVE_NATIVE_mpn_nior_n */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 /* #undef HAVE_NATIVE_mpn_popcount */ /* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ /* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ @@ -273,25 +301,40 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ -/* #undef HAVE_NATIVE_mpn_rsh1add_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ -/* #undef HAVE_NATIVE_mpn_rsh1sub_n */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ -/* #undef HAVE_NATIVE_mpn_rshift */ +#define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #undef HAVE_NATIVE_mpn_sub_nc */ -/* #undef HAVE_NATIVE_mpn_sublsh1_n */ +#define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 +#define HAVE_NATIVE_mpn_sublsh1_n 1 /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ #define HAVE_NATIVE_mpn_udiv_qrnnd 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ /* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ -/* #undef HAVE_NATIVE_mpn_xor_n */ -/* #undef HAVE_NATIVE_mpn_xnor_n */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/arm/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/arm/config.m4 index dab14c241..1e0ed7ff2 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/arm/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/arm/config.m4 @@ -17,6 +17,7 @@ define(, <.L>) define(, <.long>) define(,) define(,<78>) +define(,<41>) define(,<4>) define(,32) define(,0) diff --git a/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp-mparam.h index 431aa4a30..e6321dde8 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp-mparam.h @@ -21,122 +21,96 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GMP_LIMB_BITS 32 #define BYTES_PER_MP_LIMB 4 -/* 593MHz ARM (gcc50.fsffrance.org) */ +/* 1193MHz ARM (gcc55.fsffrance.org) */ #define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */ #define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ #define MOD_1_NORM_THRESHOLD 0 /* always */ #define MOD_1_UNNORM_THRESHOLD 0 /* always */ -#define MOD_1N_TO_MOD_1_1_THRESHOLD 17 -#define MOD_1U_TO_MOD_1_1_THRESHOLD 9 -#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX +#define MOD_1N_TO_MOD_1_1_THRESHOLD 56 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 11 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ #define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX -#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 27 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71 #define USE_PREINV_DIVREM_1 1 /* preinv always */ #define DIVREM_2_THRESHOLD 0 /* preinv always */ #define DIVEXACT_1_THRESHOLD 0 /* always */ -#define BMOD_1_TO_MOD_1_THRESHOLD 44 +#define BMOD_1_TO_MOD_1_THRESHOLD 41 -#define MUL_TOOM22_THRESHOLD 34 -#define MUL_TOOM33_THRESHOLD 121 -#define MUL_TOOM44_THRESHOLD 191 -#define MUL_TOOM6H_THRESHOLD 366 -#define MUL_TOOM8H_THRESHOLD 547 +#define MUL_TOOM22_THRESHOLD 36 +#define MUL_TOOM33_THRESHOLD 125 +#define MUL_TOOM44_THRESHOLD 193 +#define MUL_TOOM6H_THRESHOLD 303 +#define MUL_TOOM8H_THRESHOLD 418 -#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129 -#define MUL_TOOM32_TO_TOOM53_THRESHOLD 191 -#define MUL_TOOM42_TO_TOOM53_THRESHOLD 117 -#define MUL_TOOM42_TO_TOOM63_THRESHOLD 137 +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 125 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 176 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 114 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 129 -#define SQR_BASECASE_THRESHOLD 13 +#define SQR_BASECASE_THRESHOLD 12 #define SQR_TOOM2_THRESHOLD 78 -#define SQR_TOOM3_THRESHOLD 141 +#define SQR_TOOM3_THRESHOLD 137 #define SQR_TOOM4_THRESHOLD 212 -#define SQR_TOOM6_THRESHOLD 330 +#define SQR_TOOM6_THRESHOLD 306 #define SQR_TOOM8_THRESHOLD 422 -#define MULMOD_BNM1_THRESHOLD 21 -#define SQRMOD_BNM1_THRESHOLD 25 +#define MULMOD_BNM1_THRESHOLD 20 +#define SQRMOD_BNM1_THRESHOLD 26 -#define MUL_FFT_MODF_THRESHOLD 404 /* k = 5 */ +#define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */ #define MUL_FFT_TABLE3 \ - { { 404, 5}, { 21, 6}, { 11, 5}, { 25, 6}, \ - { 13, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ + { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ - { 39, 7}, { 21, 6}, { 43, 7}, { 29, 8}, \ - { 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \ - { 23, 7}, { 49, 8}, { 27, 7}, { 55, 9}, \ - { 15, 8}, { 31, 7}, { 63, 8}, { 43, 9}, \ - { 23, 8}, { 55, 9}, { 31, 8}, { 71, 9}, \ - { 39, 8}, { 83, 9}, { 47, 8}, { 99, 9}, \ - { 55,10}, { 31, 9}, { 63, 8}, { 127, 9}, \ - { 79,10}, { 47, 9}, { 103,11}, { 31,10}, \ - { 63, 9}, { 135,10}, { 95, 9}, { 191,10}, \ - { 111,11}, { 63,10}, { 127, 9}, { 255,10}, \ - { 143, 9}, { 287,10}, { 159, 9}, { 319,11}, \ - { 95,10}, { 191, 9}, { 383,10}, { 207,12}, \ - { 63,11}, { 127,10}, { 287,11}, { 159,10}, \ - { 351,11}, { 191,10}, { 415,11}, { 223,12}, \ - { 127,11}, { 255,10}, { 511,11}, { 319,10}, \ - { 639,11}, { 351,12}, { 191,11}, { 415,13}, \ - { 8192,14}, { 16384,15}, { 32768,16} } -#define MUL_FFT_TABLE3_SIZE 79 + { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \ + { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \ + { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \ + { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} } +#define MUL_FFT_TABLE3_SIZE 28 #define MUL_FFT_THRESHOLD 5760 -#define SQR_FFT_MODF_THRESHOLD 400 /* k = 5 */ +#define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */ #define SQR_FFT_TABLE3 \ - { { 400, 5}, { 25, 6}, { 13, 5}, { 27, 6}, \ - { 25, 7}, { 13, 6}, { 28, 7}, { 15, 6}, \ - { 32, 7}, { 19, 6}, { 39, 7}, { 29, 8}, \ - { 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \ - { 23, 7}, { 47, 8}, { 27, 7}, { 55, 9}, \ - { 15, 8}, { 39, 9}, { 23, 8}, { 55,10}, \ - { 15, 9}, { 31, 8}, { 67, 9}, { 39, 8}, \ - { 79, 9}, { 47, 8}, { 95, 9}, { 55,10}, \ - { 31, 9}, { 79,10}, { 47, 9}, { 103,11}, \ - { 31,10}, { 63, 9}, { 135,10}, { 79, 9}, \ - { 159, 8}, { 319,10}, { 95, 9}, { 191,10}, \ - { 111,11}, { 63,10}, { 127, 9}, { 271,10}, \ - { 143, 9}, { 303,10}, { 159,11}, { 95,10}, \ - { 191, 9}, { 383,10}, { 207,12}, { 63,11}, \ - { 127,10}, { 303,11}, { 159,10}, { 367,11}, \ - { 191,10}, { 415,11}, { 223,10}, { 447,12}, \ - { 127,11}, { 255,10}, { 511,11}, { 287,10}, \ - { 607,11}, { 319,10}, { 639,11}, { 351,12}, \ - { 191,11}, { 447,13}, { 8192,14}, { 16384,15}, \ - { 32768,16} } -#define SQR_FFT_TABLE3_SIZE 77 -#define SQR_FFT_THRESHOLD 3136 + { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \ + { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \ + { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \ + { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ + { 16384,15}, { 32768,16} } +#define SQR_FFT_TABLE3_SIZE 26 +#define SQR_FFT_THRESHOLD 3776 #define MULLO_BASECASE_THRESHOLD 0 /* always */ -#define MULLO_DC_THRESHOLD 120 -#define MULLO_MUL_N_THRESHOLD 11317 +#define MULLO_DC_THRESHOLD 137 +#define MULLO_MUL_N_THRESHOLD 11479 -#define DC_DIV_QR_THRESHOLD 134 -#define DC_DIVAPPR_Q_THRESHOLD 442 -#define DC_BDIV_QR_THRESHOLD 127 -#define DC_BDIV_Q_THRESHOLD 296 +#define DC_DIV_QR_THRESHOLD 150 +#define DC_DIVAPPR_Q_THRESHOLD 494 +#define DC_BDIV_QR_THRESHOLD 148 +#define DC_BDIV_Q_THRESHOLD 345 -#define INV_MULMOD_BNM1_THRESHOLD 66 -#define INV_NEWTON_THRESHOLD 458 -#define INV_APPR_THRESHOLD 454 +#define INV_MULMOD_BNM1_THRESHOLD 70 +#define INV_NEWTON_THRESHOLD 474 +#define INV_APPR_THRESHOLD 478 -#define BINV_NEWTON_THRESHOLD 494 -#define REDC_1_TO_REDC_N_THRESHOLD 116 +#define BINV_NEWTON_THRESHOLD 542 +#define REDC_1_TO_REDC_N_THRESHOLD 117 -#define MU_DIV_QR_THRESHOLD 2914 -#define MU_DIVAPPR_Q_THRESHOLD 3091 -#define MUPI_DIV_QR_THRESHOLD 221 -#define MU_BDIV_QR_THRESHOLD 2259 -#define MU_BDIV_Q_THRESHOLD 2747 +#define MU_DIV_QR_THRESHOLD 2089 +#define MU_DIVAPPR_Q_THRESHOLD 2172 +#define MUPI_DIV_QR_THRESHOLD 225 +#define MU_BDIV_QR_THRESHOLD 1528 +#define MU_BDIV_Q_THRESHOLD 2089 -#define MATRIX22_STRASSEN_THRESHOLD 17 -#define HGCD_THRESHOLD 109 -#define GCD_DC_THRESHOLD 697 -#define GCDEXT_DC_THRESHOLD 535 +#define MATRIX22_STRASSEN_THRESHOLD 16 +#define HGCD_THRESHOLD 197 +#define GCD_DC_THRESHOLD 902 +#define GCDEXT_DC_THRESHOLD 650 #define JACOBI_BASE_METHOD 2 -#define GET_STR_DC_THRESHOLD 14 -#define GET_STR_PRECOMPUTE_THRESHOLD 29 -#define SET_STR_DC_THRESHOLD 321 -#define SET_STR_PRECOMPUTE_THRESHOLD 1037 +#define GET_STR_DC_THRESHOLD 20 +#define GET_STR_PRECOMPUTE_THRESHOLD 39 +#define SET_STR_DC_THRESHOLD 1045 +#define SET_STR_PRECOMPUTE_THRESHOLD 2147 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp.h index 343bcecef..b4eefaeda 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/arm/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,7 +359,8 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \ + || (defined __GNUC_GNU_INLINE__ && defined __cplusplus) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) #else #define __GMP_EXTERN_INLINE extern __inline__ @@ -539,116 +478,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +593,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +622,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1444,171 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); /**************** mpz inlines ****************/ @@ -2268,13 +2217,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer" +#define __GMP_CFLAGS "-marm -O2 -pedantic -fomit-frame-pointer" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/arm/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/arm/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/arm/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/armeb/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/armeb/Makefile.inc index d0af6f35c..e08ffee03 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/armeb/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/armeb/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.3 2011/07/10 02:41:50 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/11/29 08:03:41 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,48 +16,56 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ + toom54_mul.c \ toom_interpolate_6pts.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ - com.c \ - lshift.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ mu_div_qr.c \ toom_interpolate_16pts.c \ - mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ - rshift.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -63,95 +73,121 @@ SRCS+= \ sbpi1_bdiv_q.c \ pre_mod_1.c \ hgcd.c \ - bdiv_dbm1c.c \ sqrtrem.c \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ - mode1o.c \ toom_interpolate_8pts.c \ remove.c \ - lshiftc.c \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ ASM_SRCS_LIST= \ - add_n.asm mpn/arm/add_n.asm \ - submul_1.asm mpn/arm/submul_1.asm \ + nand_n.asm mpn/arm/logops_n.asm \ + rsh1sub_n.asm mpn/arm/rsh1aors_n.asm \ + add_n.asm mpn/arm/aors_n.asm \ + rsh1add_n.asm mpn/arm/rsh1aors_n.asm \ + sublsh1_n.asm mpn/arm/aorslsh1_n.asm \ + addcnd_n.asm mpn/arm/aorscnd_n.asm \ + xor_n.asm mpn/arm/logops_n.asm \ + submul_1.asm mpn/arm/aorsmul_1.asm \ + nior_n.asm mpn/arm/logops_n.asm \ + lshift.asm mpn/arm/lshift.asm \ + and_n.asm mpn/arm/logops_n.asm \ mul_1.asm mpn/arm/mul_1.asm \ copyd.asm mpn/arm/copyd.asm \ + bdiv_dbm1c.asm mpn/arm/bdiv_dbm1c.asm \ udiv.asm mpn/arm/udiv.asm \ + andn_n.asm mpn/arm/logops_n.asm \ + com.asm mpn/arm/com.asm \ copyi.asm mpn/arm/copyi.asm \ + subcnd_n.asm mpn/arm/aorscnd_n.asm \ + rshift.asm mpn/arm/rshift.asm \ + iorn_n.asm mpn/arm/logops_n.asm \ + ior_n.asm mpn/arm/logops_n.asm \ + mod_34lsub1.asm mpn/arm/mod_34lsub1.asm \ + xnor_n.asm mpn/arm/logops_n.asm \ + lshiftc.asm mpn/arm/lshiftc.asm \ + mode1o.asm mpn/arm/mode1o.asm \ + addlsh1_n.asm mpn/arm/aorslsh1_n.asm \ invert_limb.asm mpn/arm/invert_limb.asm \ - addmul_1.asm mpn/arm/addmul_1.asm \ - sub_n.asm mpn/arm/sub_n.asm \ + addmul_1.asm mpn/arm/aorsmul_1.asm \ + sub_n.asm mpn/arm/aors_n.asm \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -164,33 +200,5 @@ trialdivtab.h: gen-trialdivtab CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn - M4FLAGS= -DPIC COPTS+= -fPIC -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ - ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ - -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.h b/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.h index cfa94ccbc..4c86fc470 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -57,12 +57,12 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if tests/libtests has calling conventions checking for the CPU */ -/* #undef HAVE_CALLING_CONVENTIONS */ +#define HAVE_CALLING_CONVENTIONS 1 /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -104,7 +104,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. then leave all undefined. IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves swapped, as used by ARM CPUs in little endian mode. */ -#define HAVE_DOUBLE_IEEE_BIG_ENDIAN 1 +/* #undef HAVE_DOUBLE_IEEE_BIG_ENDIAN */ /* #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN */ /* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */ /* #undef HAVE_DOUBLE_VAX_D */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -181,8 +189,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define one of these to 1 for the endianness of `mp_limb_t'. If the endianness is not a simple big or little, or you don't know what it is, then leave both undefined. */ -#define HAVE_LIMB_BIG_ENDIAN 1 -/* #undef HAVE_LIMB_LITTLE_ENDIAN */ +/* #undef HAVE_LIMB_BIG_ENDIAN */ +#define HAVE_LIMB_LITTLE_ENDIAN 1 /* Define to 1 if you have the `localeconv' function. */ #define HAVE_LOCALECONV 1 @@ -215,11 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* #undef HAVE_NATIVE_mpn_add_nc */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ -/* #undef HAVE_NATIVE_mpn_addlsh1_n */ +#define HAVE_NATIVE_mpn_addcnd_n 1 +#define HAVE_NATIVE_mpn_addlsh1_n 1 /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,14 +252,16 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ -/* #undef HAVE_NATIVE_mpn_and_n */ -/* #undef HAVE_NATIVE_mpn_andn_n */ -/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 /* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ /* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ -/* #undef HAVE_NATIVE_mpn_com */ +#define HAVE_NATIVE_mpn_com 1 #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -244,27 +270,29 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_gcd_1 */ /* #undef HAVE_NATIVE_mpn_hamdist */ #define HAVE_NATIVE_mpn_invert_limb 1 -/* #undef HAVE_NATIVE_mpn_ior_n */ -/* #undef HAVE_NATIVE_mpn_iorn_n */ -/* #undef HAVE_NATIVE_mpn_lshift */ -/* #undef HAVE_NATIVE_mpn_lshiftc */ +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +#define HAVE_NATIVE_mpn_lshiftc 1 /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ /* #undef HAVE_NATIVE_mpn_mod_1_1p */ /* #undef HAVE_NATIVE_mpn_mod_1c */ /* #undef HAVE_NATIVE_mpn_mod_1s_2p */ /* #undef HAVE_NATIVE_mpn_mod_1s_4p */ -/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ +#define HAVE_NATIVE_mpn_mod_34lsub1 1 /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ -/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 #define HAVE_NATIVE_mpn_mul_1 1 /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ -/* #undef HAVE_NATIVE_mpn_nand_n */ -/* #undef HAVE_NATIVE_mpn_nior_n */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 /* #undef HAVE_NATIVE_mpn_popcount */ /* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ /* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ @@ -273,25 +301,40 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ -/* #undef HAVE_NATIVE_mpn_rsh1add_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ -/* #undef HAVE_NATIVE_mpn_rsh1sub_n */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ -/* #undef HAVE_NATIVE_mpn_rshift */ +#define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #undef HAVE_NATIVE_mpn_sub_nc */ -/* #undef HAVE_NATIVE_mpn_sublsh1_n */ +#define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 +#define HAVE_NATIVE_mpn_sublsh1_n 1 /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ #define HAVE_NATIVE_mpn_udiv_qrnnd 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ /* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ -/* #undef HAVE_NATIVE_mpn_xor_n */ -/* #undef HAVE_NATIVE_mpn_xnor_n */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -551,7 +597,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. # endif #else # ifndef WORDS_BIGENDIAN -# define WORDS_BIGENDIAN 1 +/* # undef WORDS_BIGENDIAN */ # endif #endif @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.m4 index daec78668..1774f0bd2 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/armeb/config.m4 @@ -17,6 +17,7 @@ define(, <.L>) define(, <.long>) define(,) define(,<78>) +define(,<41>) define(,<4>) define(,32) define(,0) @@ -26,9 +27,8 @@ changequote(`,') ifdef(`__CONFIG_M4_INCLUDED__',,` include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') include_mpn(`arm/arm-defs.m4') -define_not_for_expansion(`HAVE_HOST_CPU_arm') +define_not_for_expansion(`HAVE_HOST_CPU_armeb') define_not_for_expansion(`HAVE_ABI_standard') -define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN') -define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN') +define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') ') define(`__CONFIG_M4_INCLUDED__') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp-mparam.h index 431aa4a30..e6321dde8 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp-mparam.h @@ -21,122 +21,96 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GMP_LIMB_BITS 32 #define BYTES_PER_MP_LIMB 4 -/* 593MHz ARM (gcc50.fsffrance.org) */ +/* 1193MHz ARM (gcc55.fsffrance.org) */ #define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */ #define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ #define MOD_1_NORM_THRESHOLD 0 /* always */ #define MOD_1_UNNORM_THRESHOLD 0 /* always */ -#define MOD_1N_TO_MOD_1_1_THRESHOLD 17 -#define MOD_1U_TO_MOD_1_1_THRESHOLD 9 -#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX +#define MOD_1N_TO_MOD_1_1_THRESHOLD 56 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 11 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ #define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX -#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 27 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71 #define USE_PREINV_DIVREM_1 1 /* preinv always */ #define DIVREM_2_THRESHOLD 0 /* preinv always */ #define DIVEXACT_1_THRESHOLD 0 /* always */ -#define BMOD_1_TO_MOD_1_THRESHOLD 44 +#define BMOD_1_TO_MOD_1_THRESHOLD 41 -#define MUL_TOOM22_THRESHOLD 34 -#define MUL_TOOM33_THRESHOLD 121 -#define MUL_TOOM44_THRESHOLD 191 -#define MUL_TOOM6H_THRESHOLD 366 -#define MUL_TOOM8H_THRESHOLD 547 +#define MUL_TOOM22_THRESHOLD 36 +#define MUL_TOOM33_THRESHOLD 125 +#define MUL_TOOM44_THRESHOLD 193 +#define MUL_TOOM6H_THRESHOLD 303 +#define MUL_TOOM8H_THRESHOLD 418 -#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129 -#define MUL_TOOM32_TO_TOOM53_THRESHOLD 191 -#define MUL_TOOM42_TO_TOOM53_THRESHOLD 117 -#define MUL_TOOM42_TO_TOOM63_THRESHOLD 137 +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 125 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 176 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 114 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 129 -#define SQR_BASECASE_THRESHOLD 13 +#define SQR_BASECASE_THRESHOLD 12 #define SQR_TOOM2_THRESHOLD 78 -#define SQR_TOOM3_THRESHOLD 141 +#define SQR_TOOM3_THRESHOLD 137 #define SQR_TOOM4_THRESHOLD 212 -#define SQR_TOOM6_THRESHOLD 330 +#define SQR_TOOM6_THRESHOLD 306 #define SQR_TOOM8_THRESHOLD 422 -#define MULMOD_BNM1_THRESHOLD 21 -#define SQRMOD_BNM1_THRESHOLD 25 +#define MULMOD_BNM1_THRESHOLD 20 +#define SQRMOD_BNM1_THRESHOLD 26 -#define MUL_FFT_MODF_THRESHOLD 404 /* k = 5 */ +#define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */ #define MUL_FFT_TABLE3 \ - { { 404, 5}, { 21, 6}, { 11, 5}, { 25, 6}, \ - { 13, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ + { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ - { 39, 7}, { 21, 6}, { 43, 7}, { 29, 8}, \ - { 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \ - { 23, 7}, { 49, 8}, { 27, 7}, { 55, 9}, \ - { 15, 8}, { 31, 7}, { 63, 8}, { 43, 9}, \ - { 23, 8}, { 55, 9}, { 31, 8}, { 71, 9}, \ - { 39, 8}, { 83, 9}, { 47, 8}, { 99, 9}, \ - { 55,10}, { 31, 9}, { 63, 8}, { 127, 9}, \ - { 79,10}, { 47, 9}, { 103,11}, { 31,10}, \ - { 63, 9}, { 135,10}, { 95, 9}, { 191,10}, \ - { 111,11}, { 63,10}, { 127, 9}, { 255,10}, \ - { 143, 9}, { 287,10}, { 159, 9}, { 319,11}, \ - { 95,10}, { 191, 9}, { 383,10}, { 207,12}, \ - { 63,11}, { 127,10}, { 287,11}, { 159,10}, \ - { 351,11}, { 191,10}, { 415,11}, { 223,12}, \ - { 127,11}, { 255,10}, { 511,11}, { 319,10}, \ - { 639,11}, { 351,12}, { 191,11}, { 415,13}, \ - { 8192,14}, { 16384,15}, { 32768,16} } -#define MUL_FFT_TABLE3_SIZE 79 + { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \ + { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \ + { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \ + { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} } +#define MUL_FFT_TABLE3_SIZE 28 #define MUL_FFT_THRESHOLD 5760 -#define SQR_FFT_MODF_THRESHOLD 400 /* k = 5 */ +#define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */ #define SQR_FFT_TABLE3 \ - { { 400, 5}, { 25, 6}, { 13, 5}, { 27, 6}, \ - { 25, 7}, { 13, 6}, { 28, 7}, { 15, 6}, \ - { 32, 7}, { 19, 6}, { 39, 7}, { 29, 8}, \ - { 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \ - { 23, 7}, { 47, 8}, { 27, 7}, { 55, 9}, \ - { 15, 8}, { 39, 9}, { 23, 8}, { 55,10}, \ - { 15, 9}, { 31, 8}, { 67, 9}, { 39, 8}, \ - { 79, 9}, { 47, 8}, { 95, 9}, { 55,10}, \ - { 31, 9}, { 79,10}, { 47, 9}, { 103,11}, \ - { 31,10}, { 63, 9}, { 135,10}, { 79, 9}, \ - { 159, 8}, { 319,10}, { 95, 9}, { 191,10}, \ - { 111,11}, { 63,10}, { 127, 9}, { 271,10}, \ - { 143, 9}, { 303,10}, { 159,11}, { 95,10}, \ - { 191, 9}, { 383,10}, { 207,12}, { 63,11}, \ - { 127,10}, { 303,11}, { 159,10}, { 367,11}, \ - { 191,10}, { 415,11}, { 223,10}, { 447,12}, \ - { 127,11}, { 255,10}, { 511,11}, { 287,10}, \ - { 607,11}, { 319,10}, { 639,11}, { 351,12}, \ - { 191,11}, { 447,13}, { 8192,14}, { 16384,15}, \ - { 32768,16} } -#define SQR_FFT_TABLE3_SIZE 77 -#define SQR_FFT_THRESHOLD 3136 + { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \ + { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \ + { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \ + { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ + { 16384,15}, { 32768,16} } +#define SQR_FFT_TABLE3_SIZE 26 +#define SQR_FFT_THRESHOLD 3776 #define MULLO_BASECASE_THRESHOLD 0 /* always */ -#define MULLO_DC_THRESHOLD 120 -#define MULLO_MUL_N_THRESHOLD 11317 +#define MULLO_DC_THRESHOLD 137 +#define MULLO_MUL_N_THRESHOLD 11479 -#define DC_DIV_QR_THRESHOLD 134 -#define DC_DIVAPPR_Q_THRESHOLD 442 -#define DC_BDIV_QR_THRESHOLD 127 -#define DC_BDIV_Q_THRESHOLD 296 +#define DC_DIV_QR_THRESHOLD 150 +#define DC_DIVAPPR_Q_THRESHOLD 494 +#define DC_BDIV_QR_THRESHOLD 148 +#define DC_BDIV_Q_THRESHOLD 345 -#define INV_MULMOD_BNM1_THRESHOLD 66 -#define INV_NEWTON_THRESHOLD 458 -#define INV_APPR_THRESHOLD 454 +#define INV_MULMOD_BNM1_THRESHOLD 70 +#define INV_NEWTON_THRESHOLD 474 +#define INV_APPR_THRESHOLD 478 -#define BINV_NEWTON_THRESHOLD 494 -#define REDC_1_TO_REDC_N_THRESHOLD 116 +#define BINV_NEWTON_THRESHOLD 542 +#define REDC_1_TO_REDC_N_THRESHOLD 117 -#define MU_DIV_QR_THRESHOLD 2914 -#define MU_DIVAPPR_Q_THRESHOLD 3091 -#define MUPI_DIV_QR_THRESHOLD 221 -#define MU_BDIV_QR_THRESHOLD 2259 -#define MU_BDIV_Q_THRESHOLD 2747 +#define MU_DIV_QR_THRESHOLD 2089 +#define MU_DIVAPPR_Q_THRESHOLD 2172 +#define MUPI_DIV_QR_THRESHOLD 225 +#define MU_BDIV_QR_THRESHOLD 1528 +#define MU_BDIV_Q_THRESHOLD 2089 -#define MATRIX22_STRASSEN_THRESHOLD 17 -#define HGCD_THRESHOLD 109 -#define GCD_DC_THRESHOLD 697 -#define GCDEXT_DC_THRESHOLD 535 +#define MATRIX22_STRASSEN_THRESHOLD 16 +#define HGCD_THRESHOLD 197 +#define GCD_DC_THRESHOLD 902 +#define GCDEXT_DC_THRESHOLD 650 #define JACOBI_BASE_METHOD 2 -#define GET_STR_DC_THRESHOLD 14 -#define GET_STR_PRECOMPUTE_THRESHOLD 29 -#define SET_STR_DC_THRESHOLD 321 -#define SET_STR_PRECOMPUTE_THRESHOLD 1037 +#define GET_STR_DC_THRESHOLD 20 +#define GET_STR_PRECOMPUTE_THRESHOLD 39 +#define SET_STR_DC_THRESHOLD 1045 +#define SET_STR_PRECOMPUTE_THRESHOLD 2147 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp.h index 343bcecef..28d6602d2 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/armeb/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,9 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +476,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +591,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +620,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1442,175 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + /**************** mpz inlines ****************/ @@ -2268,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer" +#define __GMP_CFLAGS "-marm -O2 -pedantic -fomit-frame-pointer" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/armeb/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/armeb/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/armeb/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/coldfire/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/Makefile.inc new file mode 100644 index 000000000..ab52c57a3 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/Makefile.inc @@ -0,0 +1,193 @@ +# $NetBSD: Makefile.inc,v 1.2 2013/11/29 08:03:41 mrg Exp $ + +SRCS+= \ + random.c \ + toom_interpolate_7pts.c \ + divrem_2.c \ + sbpi1_divappr_q.c \ + random2.c \ + mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ + toom32_mul.c \ + toom2_sqr.c \ + toom44_mul.c \ + toom8h_mul.c \ + zero.c \ + mod_1_4.c \ + gcdext.c \ + add_err3_n.c \ + binvert.c \ + mu_div_q.c \ + invertappr.c \ + add_n_sub_n.c \ + dump.c \ + mu_divappr_q.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ + toom6_sqr.c \ + divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ + mod_1.c \ + toom42_mulmid.c \ + divexact.c \ + jacobi.c \ + powlo.c \ + mul.c \ + set_str.c \ + toom42_mul.c \ + toom_interpolate_6pts.c \ + toom54_mul.c \ + dcpi1_divappr_q.c \ + copyd.c \ + toom_eval_dgr3_pm2.c \ + mod_1_3.c \ + com.c \ + copyi.c \ + toom_couple_handling.c \ + lshift.c \ + add.c \ + div_qr_2.c \ + toom_interpolate_12pts.c \ + perfsqr.c \ + toom53_mul.c \ + toom_eval_pm2exp.c \ + mu_div_qr.c \ + toom_interpolate_16pts.c \ + mod_34lsub1.c \ + bdiv_q.c \ + toom22_mul.c \ + bsqrtinv.c \ + toom4_sqr.c \ + rshift.c \ + div_q.c \ + jacbase.c \ + addcnd_n.c \ + hgcd_matrix.c \ + toom_eval_dgr3_pm1.c \ + mullo_n.c \ + toom33_mul.c \ + mod_1_2.c \ + sub_1.c \ + add_err2_n.c \ + trialdiv.c \ + add_1.c \ + sqr_basecase.c \ + toom_interpolate_5pts.c \ + sbpi1_bdiv_q.c \ + pre_mod_1.c \ + hgcd.c \ + bdiv_dbm1c.c \ + sqrtrem.c \ + bdiv_q_1.c \ + gcdext_1.c \ + toom63_mul.c \ + div_qr_2u_pi1.c \ + toom8_sqr.c \ + mul_basecase.c \ + addmul_1.c \ + neg.c \ + gcdext_lehmer.c \ + divis.c \ + dcpi1_div_q.c \ + mul_1.c \ + sub_n.c \ + toom_eval_pm2.c \ + add_n.c \ + subcnd_n.c \ + hgcd2.c \ + toom62_mul.c \ + comb_tables.c \ + sbpi1_bdiv_qr.c \ + sub_err2_n.c \ + scan1.c \ + brootinv.c \ + pre_divrem_1.c \ + perfpow.c \ + get_str.c \ + mulmod_bnm1.c \ + mullo_basecase.c \ + tdiv_qr.c \ + div_qr_2n_pi1.c \ + toom43_mul.c \ + mod_1_1.c \ + matrix22_mul.c \ + powm_sec.c \ + divrem.c \ + bsqrt.c \ + gcd_1.c \ + dcpi1_bdiv_qr.c \ + mul_n.c \ + redc_2.c \ + submul_1.c \ + toom6h_mul.c \ + sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ + powm.c \ + rootrem.c \ + mode1o.c \ + toom_interpolate_8pts.c \ + remove.c \ + lshiftc.c \ + dive_1.c \ + cmp.c \ + toom_eval_pm1.c \ + hgcd_appr.c \ + scan0.c \ + gcd_subdiv_step.c \ + sbpi1_div_qr.c \ + invert.c \ + sub.c \ + toom_eval_pm2rexp.c \ + broot.c \ + dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ + redc_1.c \ + sqr.c \ + nussbaumer_mul.c \ + mu_bdiv_qr.c \ + pow_1.c \ + get_d.c \ + toom52_mul.c \ + sbpi1_div_q.c \ + diveby3.c \ + fib2_ui.c \ + bdiv_qr.c \ + hgcd_jacobi.c \ + toom3_sqr.c \ + gcd.c \ + redc_n.c \ + sub_err1_n.c \ + +C_SRCS_LIST= \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ + +gen-trialdivtab: gen-trialdivtab.c + ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm + +GMP_LIMB_BITS=32 + +trialdiv.c: trialdivtab.h +trialdivtab.h: gen-trialdivtab + ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h + +CLEANFILES+= trialdivtab.h diff --git a/external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.h b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.h new file mode 100644 index 000000000..6247543e1 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.h @@ -0,0 +1,630 @@ +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* + +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation; either version 3 of the License, or (at +your option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. +*/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* The gmp-mparam.h file (a string) the tune program should suggest updating. + */ +#define GMP_MPARAM_H_SUGGEST "./mpn/generic/gmp-mparam.h" + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if alloca() works (via gmp-impl.h). */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */ +#define HAVE_ATTRIBUTE_CONST 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */ +#define HAVE_ATTRIBUTE_MALLOC 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX))) + */ +#define HAVE_ATTRIBUTE_MODE 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */ +#define HAVE_ATTRIBUTE_NORETURN 1 + +/* Define to 1 if you have the `attr_get' function. */ +/* #undef HAVE_ATTR_GET */ + +/* Define to 1 if tests/libtests has calling conventions checking for the CPU + */ +/* #undef HAVE_CALLING_CONVENTIONS */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the `clock_gettime' function */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `cputime' function. */ +/* #undef HAVE_CPUTIME */ + +/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't. + */ +#define HAVE_DECL_FGETC 1 + +/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't. + */ +#define HAVE_DECL_FSCANF 1 + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +#define HAVE_DECL_OPTARG 1 + +/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_ERRLIST 1 + +/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_NERR 1 + +/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't. + */ +#define HAVE_DECL_UNGETC 1 + +/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VFPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define one of the following to 1 for the format of a `double'. + If your format is not among these choices, or you don't know what it is, + then leave all undefined. + IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves + swapped, as used by ARM CPUs in little endian mode. */ +#define HAVE_DOUBLE_IEEE_BIG_ENDIAN 1 +/* #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN */ +/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */ +/* #undef HAVE_DOUBLE_VAX_D */ +/* #undef HAVE_DOUBLE_VAX_G */ +/* #undef HAVE_DOUBLE_CRAY_CFP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define one of these to 1 for the host CPU family. + If your CPU is not in any of these families, leave all undefined. + For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */ +/* #undef HAVE_HOST_CPU_FAMILY_alpha */ +/* #undef HAVE_HOST_CPU_FAMILY_m68k */ +/* #undef HAVE_HOST_CPU_FAMILY_power */ +/* #undef HAVE_HOST_CPU_FAMILY_powerpc */ +/* #undef HAVE_HOST_CPU_FAMILY_x86 */ +/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */ + +/* Define one of the following to 1 for the host CPU, as per the output of + ./config.guess. If your CPU is not listed here, leave all undefined. */ +/* #undef HAVE_HOST_CPU_alphaev67 */ +/* #undef HAVE_HOST_CPU_alphaev68 */ +/* #undef HAVE_HOST_CPU_alphaev7 */ +/* #undef HAVE_HOST_CPU_m68020 */ +/* #undef HAVE_HOST_CPU_m68030 */ +/* #undef HAVE_HOST_CPU_m68040 */ +/* #undef HAVE_HOST_CPU_m68060 */ +/* #undef HAVE_HOST_CPU_m68360 */ +/* #undef HAVE_HOST_CPU_powerpc604 */ +/* #undef HAVE_HOST_CPU_powerpc604e */ +/* #undef HAVE_HOST_CPU_powerpc750 */ +/* #undef HAVE_HOST_CPU_powerpc7400 */ +/* #undef HAVE_HOST_CPU_supersparc */ +/* #undef HAVE_HOST_CPU_i386 */ +/* #undef HAVE_HOST_CPU_i586 */ +/* #undef HAVE_HOST_CPU_i686 */ +/* #undef HAVE_HOST_CPU_pentium */ +/* #undef HAVE_HOST_CPU_pentiummmx */ +/* #undef HAVE_HOST_CPU_pentiumpro */ +/* #undef HAVE_HOST_CPU_pentium2 */ +/* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ + +/* Define to 1 if the system has the type `intmax_t'. */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INVENT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define one of these to 1 for the endianness of `mp_limb_t'. + If the endianness is not a simple big or little, or you don't know what + it is, then leave both undefined. */ +#define HAVE_LIMB_BIG_ENDIAN 1 +/* #undef HAVE_LIMB_LITTLE_ENDIAN */ + +/* Define to 1 if you have the `localeconv' function. */ +#define HAVE_LOCALECONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if the system has the type `long double'. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 each of the following for which a native (ie. CPU specific) + implementation of the corresponding routine exists. */ +/* #undef HAVE_NATIVE_mpn_add_n */ +/* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +/* #undef HAVE_NATIVE_mpn_add_nc */ +/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n */ +/* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addmul_1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2 */ +/* #undef HAVE_NATIVE_mpn_addmul_3 */ +/* #undef HAVE_NATIVE_mpn_addmul_4 */ +/* #undef HAVE_NATIVE_mpn_addmul_5 */ +/* #undef HAVE_NATIVE_mpn_addmul_6 */ +/* #undef HAVE_NATIVE_mpn_addmul_7 */ +/* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +/* #undef HAVE_NATIVE_mpn_and_n */ +/* #undef HAVE_NATIVE_mpn_andn_n */ +/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ +/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_com */ +/* #undef HAVE_NATIVE_mpn_copyd */ +/* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ +/* #undef HAVE_NATIVE_mpn_divexact_1 */ +/* #undef HAVE_NATIVE_mpn_divexact_by3c */ +/* #undef HAVE_NATIVE_mpn_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_divrem_1c */ +/* #undef HAVE_NATIVE_mpn_divrem_2 */ +/* #undef HAVE_NATIVE_mpn_gcd_1 */ +/* #undef HAVE_NATIVE_mpn_hamdist */ +/* #undef HAVE_NATIVE_mpn_invert_limb */ +/* #undef HAVE_NATIVE_mpn_ior_n */ +/* #undef HAVE_NATIVE_mpn_iorn_n */ +/* #undef HAVE_NATIVE_mpn_lshift */ +/* #undef HAVE_NATIVE_mpn_lshiftc */ +/* #undef HAVE_NATIVE_mpn_lshsub_n */ +/* #undef HAVE_NATIVE_mpn_mod_1 */ +/* #undef HAVE_NATIVE_mpn_mod_1_1p */ +/* #undef HAVE_NATIVE_mpn_mod_1c */ +/* #undef HAVE_NATIVE_mpn_mod_1s_2p */ +/* #undef HAVE_NATIVE_mpn_mod_1s_4p */ +/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ +/* #undef HAVE_NATIVE_mpn_modexact_1_odd */ +/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ +/* #undef HAVE_NATIVE_mpn_mul_1 */ +/* #undef HAVE_NATIVE_mpn_mul_1c */ +/* #undef HAVE_NATIVE_mpn_mul_2 */ +/* #undef HAVE_NATIVE_mpn_mul_3 */ +/* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ +/* #undef HAVE_NATIVE_mpn_mul_basecase */ +/* #undef HAVE_NATIVE_mpn_nand_n */ +/* #undef HAVE_NATIVE_mpn_nior_n */ +/* #undef HAVE_NATIVE_mpn_popcount */ +/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ +/* #undef HAVE_NATIVE_mpn_redc_1 */ +/* #undef HAVE_NATIVE_mpn_redc_2 */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +/* #undef HAVE_NATIVE_mpn_rsh1add_n */ +/* #undef HAVE_NATIVE_mpn_rsh1add_nc */ +/* #undef HAVE_NATIVE_mpn_rsh1sub_n */ +/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +/* #undef HAVE_NATIVE_mpn_rshift */ +/* #undef HAVE_NATIVE_mpn_sqr_basecase */ +/* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +/* #undef HAVE_NATIVE_mpn_sub_n */ +/* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n */ +/* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ +/* #undef HAVE_NATIVE_mpn_xor_n */ +/* #undef HAVE_NATIVE_mpn_xnor_n */ + +/* Define to 1 if you have the `nl_langinfo' function. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `obstack_vprintf' function. */ +/* #undef HAVE_OBSTACK_VPRINTF */ + +/* Define to 1 if you have the `popen' function. */ +#define HAVE_POPEN 1 + +/* Define to 1 if you have the `processor_info' function. */ +/* #undef HAVE_PROCESSOR_INFO */ + +/* Define to 1 if `struct pst_processor' exists and contains + `psp_iticksperclktick'. */ +/* #undef HAVE_PSP_ITICKSPERCLKTICK */ + +/* Define to 1 if you have the `pstat_getprocessor' function. */ +/* #undef HAVE_PSTAT_GETPROCESSOR */ + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#define HAVE_PTRDIFF_T 1 + +/* Define to 1 if the system has the type `quad_t'. */ +#define HAVE_QUAD_T 1 + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `read_real_time' function. */ +/* #undef HAVE_READ_REAL_TIME */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the `sigstack' function. */ +/* #undef HAVE_SIGSTACK */ + +/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */ +/* #undef HAVE_SPEED_CYCLECOUNTER */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SSTREAM */ + +/* Define to 1 if the system has the type `stack_t'. */ +#define HAVE_STACK_T 1 + +/* Define to 1 if exists and works */ +#define HAVE_STDARG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if the system has the type `std::locale'. */ +/* #undef HAVE_STD__LOCALE */ + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if cpp supports the ANSI # stringizing operator. */ +#define HAVE_STRINGIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysctlbyname' function. */ +#define HAVE_SYSCTLBYNAME 1 + +/* Define to 1 if you have the `syssgi' function. */ +/* #undef HAVE_SYSSGI */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ATTRIBUTES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOGRAPH_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROCESSOR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSSGI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if the system has the type `uint_least32_t'. */ +#define HAVE_UINT_LEAST32_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vsnprintf' function and it works properly. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + +/* Assembler local label prefix */ +/* #undef LSYM_PREFIX */ + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "gmp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU MP" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU MP 5.1.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gmp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/gmp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "5.1.3" + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* The size of `mp_limb_t', as computed by sizeof. */ +#define SIZEOF_MP_LIMB_T 4 + +/* The size of `unsigned', as computed by sizeof. */ +#define SIZEOF_UNSIGNED 4 + +/* The size of `unsigned long', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_LONG 4 + +/* The size of `unsigned short', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_SHORT 2 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 4 + +/* Define to 1 if sscanf requires writable inputs */ +/* #undef SSCANF_WRITABLE_INPUT */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */ +#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC + +/* Version number of package */ +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 + +/* Define to 1 to enable ASSERT checking, per --enable-assert */ +/* #undef WANT_ASSERT */ + +/* Define to 1 when building a fat binary. */ +/* #undef WANT_FAT_BINARY */ + +/* Define to 1 to enable FFTs for multiplication, per --enable-fft */ +#define WANT_FFT 1 + +/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per + --enable-old-fft-full */ +/* #undef WANT_OLD_FFT_FULL */ + +/* Define to 1 if --enable-profiling=gprof */ +/* #undef WANT_PROFILING_GPROF */ + +/* Define to 1 if --enable-profiling=instrument */ +/* #undef WANT_PROFILING_INSTRUMENT */ + +/* Define to 1 if --enable-profiling=prof */ +/* #undef WANT_PROFILING_PROF */ + +/* Define one of these to 1 for the desired temporary memory allocation + method, per --enable-alloca. */ +#define WANT_TMP_ALLOCA 1 +/* #undef WANT_TMP_REENTRANT */ +/* #undef WANT_TMP_NOTREENTRANT */ +/* #undef WANT_TMP_DEBUG */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.m4 new file mode 100644 index 000000000..56f7395ec --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/config.m4 @@ -0,0 +1,19 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(,0) +define(,<`no'>) +define(,<4>) +define(,32) +define(,0) +define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) +>) +changequote(`,') +ifdef(`__CONFIG_M4_INCLUDED__',,` +include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +define_not_for_expansion(`HAVE_HOST_CPU_m5407') +define_not_for_expansion(`HAVE_ABI_standard') +define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN') +define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN') +') +define(`__CONFIG_M4_INCLUDED__') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp-mparam.h new file mode 100644 index 000000000..aab5fa510 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp-mparam.h @@ -0,0 +1,22 @@ +/* Generic C gmp-mparam.h -- Compiler/machine parameter header file. + +Copyright 1991, 1993, 1994, 2000 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + + +/* Values for GMP_LIMB_BITS etc will be determined by ./configure and put + in config.h. */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp.h new file mode 100644 index 000000000..ae8d849d0 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/coldfire/gmp.h @@ -0,0 +1,2231 @@ +/* Definitions for GNU multiple precision functions. -*- mode: c -*- + +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#ifndef __GMP_H__ + +#if defined (__cplusplus) +#include /* for std::istream, std::ostream, std::string */ +#include +#endif + + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +#define __GMP_HAVE_HOST_CPU_FAMILY_power 0 +#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 +#define GMP_LIMB_BITS 32 +#define GMP_NAIL_BITS 0 +#endif +#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) +#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS) +#define GMP_NUMB_MAX GMP_NUMB_MASK +#define GMP_NAIL_MASK (~ GMP_NUMB_MASK) + + +/* The following (everything under ifndef __GNU_MP__) must be identical in + gmp.h and mp.h to allow both to be included in an application or during + the library build. */ +#ifndef __GNU_MP__ +#define __GNU_MP__ 5 + +#define __need_size_t /* tell gcc stddef.h we only want size_t */ +#if defined (__cplusplus) +#include /* for size_t */ +#else +#include /* for size_t */ +#endif +#undef __need_size_t + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +/* #undef _LONG_LONG_LIMB */ +#define __GMP_LIBGMP_DLL 0 +#endif + + +/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in + all other circumstances. + + When compiling objects for libgmp, __GMP_DECLSPEC is an export directive, + or when compiling for an application it's an import directive. The two + cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles + (and not defined from an application). + + __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX + indicates when building libgmpxx, and in that case libgmpxx functions are + exports, but libgmp functions which might get called are imports. + + Libtool DLL_EXPORT define is not used. + + There's no attempt to support GMP built both static and DLL. Doing so + would mean applications would have to tell us which of the two is going + to be used when linking, and that seems very tedious and error prone if + using GMP by hand, and equally tedious from a package since autoconf and + automake don't give much help. + + __GMP_DECLSPEC is required on all documented global functions and + variables, the various internals in gmp-impl.h etc can be left unadorned. + But internals used by the test programs or speed measuring programs + should have __GMP_DECLSPEC, and certainly constants or variables must + have it or the wrong address will be resolved. + + In gcc __declspec can go at either the start or end of a prototype. + + In Microsoft C __declspec must go at the start, or after the type like + void __declspec(...) *foo()". There's no __dllexport or anything to + guard against someone foolish #defining dllexport. _export used to be + available, but no longer. + + In Borland C _export still exists, but needs to go after the type, like + "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to + make use of that. Probably more trouble than it's worth. */ + +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) +#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) +#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) +#endif +#ifdef __WATCOMC__ +#define __GMP_DECLSPEC_EXPORT __export +#define __GMP_DECLSPEC_IMPORT __import +#endif +#ifdef __IBMC__ +#define __GMP_DECLSPEC_EXPORT _Export +#define __GMP_DECLSPEC_IMPORT _Import +#endif + +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMP +/* compiling to go into a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into an application which will link to a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC +#endif + + +#ifdef __GMP_SHORT_LIMB +typedef unsigned int mp_limb_t; +typedef int mp_limb_signed_t; +#else +#ifdef _LONG_LONG_LIMB +typedef unsigned long long int mp_limb_t; +typedef long long int mp_limb_signed_t; +#else +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +#endif +#endif +typedef unsigned long int mp_bitcnt_t; + +/* For reference, note that the name __mpz_struct gets into C++ mangled + function names, which means although the "__" suggests an internal, we + must leave this name for binary compatibility. */ +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +#endif /* __GNU_MP__ */ + + +typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ +typedef __mpz_struct mpz_t[1]; + +typedef mp_limb_t * mp_ptr; +typedef const mp_limb_t * mp_srcptr; +#if defined (_CRAY) && ! defined (_CRAYMPP) +/* plain `int' is much faster (48 bits) */ +#define __GMP_MP_SIZE_T_INT 1 +typedef int mp_size_t; +typedef int mp_exp_t; +#else +#define __GMP_MP_SIZE_T_INT 0 +typedef long int mp_size_t; +typedef long int mp_exp_t; +#endif + +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; + +typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */ +typedef __mpq_struct mpq_t[1]; + +typedef struct +{ + int _mp_prec; /* Max precision, in number of `mp_limb_t's. + Set by mpf_init and modified by + mpf_set_prec. The area pointed to by the + _mp_d field contains `prec' + 1 limbs. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpf_struct; + +/* typedef __mpf_struct MP_FLOAT; */ +typedef __mpf_struct mpf_t[1]; + +/* Available random number generation algorithms. */ +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */ +} gmp_randalg_t; + +/* Random state struct. */ +typedef struct +{ + mpz_t _mp_seed; /* _mp_d member points to state of the generator. */ + gmp_randalg_t _mp_alg; /* Currently unused. */ + union { + void *_mp_lc; /* Pointer to function pointers structure. */ + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; + +/* Types for function declarations in gmp files. */ +/* ??? Should not pollute user name space with these ??? */ +typedef const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + + +/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common + section. */ +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMPXX +/* compiling to go into a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into a application which will link to a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC_XX +#endif + + +#ifndef __MPN +#define __MPN(x) __gmpn_##x +#endif + +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ +#define _GMP_H_HAVE_FILE 1 +#endif + +/* In ISO C, if a prototype involving "struct obstack *" is given without + that structure defined, then the struct is scoped down to just the + prototype, causing a conflict if it's subsequently defined for real. So + only give prototypes if we've got obstack.h. */ +#if defined (_OBSTACK_H) /* glibc */ +#define _GMP_H_HAVE_OBSTACK 1 +#endif + +/* The prototypes for gmp_vprintf etc are provided only if va_list is + available, via an application having included or . + Usually va_list is a typedef so can't be tested directly, but C99 + specifies that va_start is a macro (and it was normally a macro on past + systems too), so look for that. + + will define some sort of va_list for vprintf and vfprintf, but + let's not bother trying to use that since it's not standard and since + application uses for gmp_vprintf etc will almost certainly require the + whole or anyway. */ + +#ifdef va_start +#define _GMP_H_HAVE_VA_LIST 1 +#endif + +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GMP_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GMP_GNUC_PREREQ(maj, min) 0 +#endif + +/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically + it means a function does nothing but examine its arguments and memory + (global or via arguments) to generate a return value, but changes nothing + and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets + tune/common.c etc turn this off when trying to write timing loops. */ +#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +#define __GMP_ATTRIBUTE_PURE +#endif + + +/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean + to "g++ -Wold-style-cast". + + Casts in "extern inline" code within an extern "C" block don't induce + these warnings, so __GMP_CAST only needs to be used on documented + macros. */ + +#ifdef __cplusplus +#define __GMP_CAST(type, expr) (static_cast (expr)) +#else +#define __GMP_CAST(type, expr) ((type) (expr)) +#endif + + +/* An empty "throw ()" means the function doesn't throw any C++ exceptions, + this can save some stack frame info in applications. + + Currently it's given only on functions which never divide-by-zero etc, + don't allocate memory, and are expected to never need to allocate memory. + This leaves open the possibility of a C++ throw from a future GMP + exceptions scheme. + + mpz_set_ui etc are omitted to leave open the lazy allocation scheme + described in doc/tasks.html. mpz_get_d etc are omitted to leave open + exceptions for float overflows. + + Note that __GMP_NOTHROW must be given on any inlines the same as on their + prototypes (for g++ at least, where they're used together). Note also + that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like + __GMP_ATTRIBUTE_PURE. */ + +#if defined (__cplusplus) +#define __GMP_NOTHROW throw () +#else +#define __GMP_NOTHROW +#endif + + +/* PORTME: What other compilers have a useful "extern inline"? "static + inline" would be an acceptable substitute if the compiler (or linker) + discards unused statics. */ + + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC__ +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +#endif +#define __GMP_INLINE_PROTOTYPES 1 +#endif + +/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 + mode, which is the default), but an unnecessary local copy of foo is + emitted unless -O is used. "extern __inline" is accepted, but the + "extern" appears to be ignored, ie. it becomes a plain global function + but which is inlined within its file. Don't know if all old versions of + DEC C supported __inline, but as a start let's do the right thing for + current versions. */ +#ifdef __DECC +#define __GMP_EXTERN_INLINE static __inline +#endif + +/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict + ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes + place under -O. Without -O "foo" seems to be emitted whether it's used + or not, which is wasteful. "extern inline foo()" isn't useful, the + "extern" is apparently ignored, so foo is inlined if possible but also + emitted as a global, which causes multiple definition errors when + building a shared libgmp. */ +#ifdef __SCO_VERSION__ +#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif +#endif + +/* Microsoft's C compiler accepts __inline */ +#ifdef _MSC_VER +#define __GMP_EXTERN_INLINE __inline +#endif + +/* Recent enough Sun C compilers want "inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Somewhat older Sun C compilers want "static inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif + + +/* C++ always has "inline" and since it's a normal feature the linker should + discard duplicate non-inlined copies, or if it doesn't then that's a + problem for everyone, not just GMP. */ +#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + +/* By default, don't give a prototype when there's going to be an inline + version. Note in particular that Cray C++ objects to the combination of + prototype and inline. */ +#ifdef __GMP_EXTERN_INLINE +#ifndef __GMP_INLINE_PROTOTYPES +#define __GMP_INLINE_PROTOTYPES 0 +#endif +#else +#define __GMP_INLINE_PROTOTYPES 1 +#endif + + +#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i)) + +/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted + to int by "~". */ +#define __GMP_UINT_MAX (~ (unsigned) 0) +#define __GMP_ULONG_MAX (~ (unsigned long) 0) +#define __GMP_USHRT_MAX ((unsigned short) ~0) + + +/* __builtin_expect is in gcc 3.0, and not in 2.95. */ +#if __GMP_GNUC_PREREQ (3,0) +#define __GMP_LIKELY(cond) __builtin_expect ((cond) != 0, 1) +#define __GMP_UNLIKELY(cond) __builtin_expect ((cond) != 0, 0) +#else +#define __GMP_LIKELY(cond) (cond) +#define __GMP_UNLIKELY(cond) (cond) +#endif + +#ifdef _CRAY +#define __GMP_CRAY_Pragma(str) _Pragma (str) +#else +#define __GMP_CRAY_Pragma(str) +#endif + + +/* Allow direct user access to numerator and denominator of a mpq_t object. */ +#define mpq_numref(Q) (&((Q)->_mp_num)) +#define mpq_denref(Q) (&((Q)->_mp_den)) + + +#if defined (__cplusplus) +extern "C" { +using std::FILE; +#endif + +#define mp_set_memory_functions __gmp_set_memory_functions +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t)) __GMP_NOTHROW; + +#define mp_get_memory_functions __gmp_get_memory_functions +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t)) __GMP_NOTHROW; + +#define mp_bits_per_limb __gmp_bits_per_limb +__GMP_DECLSPEC extern const int mp_bits_per_limb; + +#define gmp_errno __gmp_errno +__GMP_DECLSPEC extern int gmp_errno; + +#define gmp_version __gmp_version +__GMP_DECLSPEC extern const char * const gmp_version; + + +/**************** Random number routines. ****************/ + +/* obsolete */ +#define gmp_randinit __gmp_randinit +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); + +#define gmp_randinit_default __gmp_randinit_default +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); + +#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); + +#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); + +#define gmp_randinit_mt __gmp_randinit_mt +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); + +#define gmp_randinit_set __gmp_randinit_set +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); + +#define gmp_randseed __gmp_randseed +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); + +#define gmp_randseed_ui __gmp_randseed_ui +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); + +#define gmp_randclear __gmp_randclear +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); + +#define gmp_urandomb_ui __gmp_urandomb_ui +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); + +#define gmp_urandomm_ui __gmp_urandomm_ui +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); + + +/**************** Formatted output routines. ****************/ + +#define gmp_asprintf __gmp_asprintf +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); + +#define gmp_fprintf __gmp_fprintf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); +#endif + +#define gmp_obstack_printf __gmp_obstack_printf +#if defined (_GMP_H_HAVE_OBSTACK) +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); +#endif + +#define gmp_obstack_vprintf __gmp_obstack_vprintf +#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); +#endif + +#define gmp_printf __gmp_printf +__GMP_DECLSPEC int gmp_printf (const char *, ...); + +#define gmp_snprintf __gmp_snprintf +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); + +#define gmp_sprintf __gmp_sprintf +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); + +#define gmp_vasprintf __gmp_vasprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); +#endif + +#define gmp_vfprintf __gmp_vfprintf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); +#endif + +#define gmp_vprintf __gmp_vprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); +#endif + +#define gmp_vsnprintf __gmp_vsnprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); +#endif + +#define gmp_vsprintf __gmp_vsprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); +#endif + + +/**************** Formatted input routines. ****************/ + +#define gmp_fscanf __gmp_fscanf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); +#endif + +#define gmp_scanf __gmp_scanf +__GMP_DECLSPEC int gmp_scanf (const char *, ...); + +#define gmp_sscanf __gmp_sscanf +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); + +#define gmp_vfscanf __gmp_vfscanf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); +#endif + +#define gmp_vscanf __gmp_vscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); +#endif + +#define gmp_vsscanf __gmp_vsscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); +#endif + + +/**************** Integer (i.e. Z) routines. ****************/ + +#define _mpz_realloc __gmpz_realloc +#define mpz_realloc __gmpz_realloc +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); + +#define mpz_abs __gmpz_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_add __gmpz_add +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_add_ui __gmpz_add_ui +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_addmul __gmpz_addmul +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_addmul_ui __gmpz_addmul_ui +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_and __gmpz_and +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_array_init __gmpz_array_init +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); + +#define mpz_bin_ui __gmpz_bin_ui +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_bin_uiui __gmpz_bin_uiui +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_cdiv_q __gmpz_cdiv_q +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_qr __gmpz_cdiv_qr +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_r __gmpz_cdiv_r +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_ui __gmpz_cdiv_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_clear __gmpz_clear +__GMP_DECLSPEC void mpz_clear (mpz_ptr); + +#define mpz_clears __gmpz_clears +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); + +#define mpz_clrbit __gmpz_clrbit +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_cmp __gmpz_cmp +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmp_d __gmpz_cmp_d +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_si __gmpz_cmp_si +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_ui __gmpz_cmp_ui +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs __gmpz_cmpabs +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_d __gmpz_cmpabs_d +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_ui __gmpz_cmpabs_ui +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_com __gmpz_com +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); + +#define mpz_combit __gmpz_combit +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); + +#define mpz_congruent_p __gmpz_congruent_p +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_ui_p __gmpz_congruent_ui_p +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divexact __gmpz_divexact +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_divexact_ui __gmpz_divexact_ui +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_divisible_p __gmpz_divisible_p +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_ui_p __gmpz_divisible_ui_p +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_dump __gmpz_dump +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); + +#define mpz_export __gmpz_export +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); + +#define mpz_fac_ui __gmpz_fac_ui +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); + +#define mpz_fdiv_q __gmpz_fdiv_q +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_qr __gmpz_fdiv_qr +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_r __gmpz_fdiv_r +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_ui __gmpz_fdiv_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_fib_ui __gmpz_fib_ui +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); + +#define mpz_fib2_ui __gmpz_fib2_ui +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_fits_sint_p __gmpz_fits_sint_p +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_slong_p __gmpz_fits_slong_p +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_sshort_p __gmpz_fits_sshort_p +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_uint_p __gmpz_fits_uint_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ulong_p __gmpz_fits_ulong_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ushort_p __gmpz_fits_ushort_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_gcd __gmpz_gcd +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_gcd_ui __gmpz_gcd_ui +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_gcdext __gmpz_gcdext +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_get_d __gmpz_get_d +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_get_d_2exp __gmpz_get_d_2exp +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); + +#define mpz_get_si __gmpz_get_si +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_get_str __gmpz_get_str +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); + +#define mpz_get_ui __gmpz_get_ui +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_getlimbn __gmpz_getlimbn +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_hamdist __gmpz_hamdist +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_import __gmpz_import +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); + +#define mpz_init __gmpz_init +__GMP_DECLSPEC void mpz_init (mpz_ptr); + +#define mpz_init2 __gmpz_init2 +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_inits __gmpz_inits +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); + +#define mpz_init_set __gmpz_init_set +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); + +#define mpz_init_set_d __gmpz_init_set_d +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); + +#define mpz_init_set_si __gmpz_init_set_si +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); + +#define mpz_init_set_str __gmpz_init_set_str +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); + +#define mpz_init_set_ui __gmpz_init_set_ui +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); + +#define mpz_inp_raw __gmpz_inp_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); +#endif + +#define mpz_inp_str __gmpz_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); +#endif + +#define mpz_invert __gmpz_invert +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_ior __gmpz_ior +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_jacobi __gmpz_jacobi +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker mpz_jacobi /* alias */ + +#define mpz_kronecker_si __gmpz_kronecker_si +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker_ui __gmpz_kronecker_ui +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_si_kronecker __gmpz_si_kronecker +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_kronecker __gmpz_ui_kronecker +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_lcm __gmpz_lcm +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_lcm_ui __gmpz_lcm_ui +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_legendre mpz_jacobi /* alias */ + +#define mpz_lucnum_ui __gmpz_lucnum_ui +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); + +#define mpz_lucnum2_ui __gmpz_lucnum2_ui +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_millerrabin __gmpz_millerrabin +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_mod __gmpz_mod +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ + +#define mpz_mul __gmpz_mul +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mul_2exp __gmpz_mul_2exp +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_mul_si __gmpz_mul_si +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); + +#define mpz_mul_ui __gmpz_mul_ui +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_neg __gmpz_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_nextprime __gmpz_nextprime +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); + +#define mpz_out_raw __gmpz_out_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); +#endif + +#define mpz_out_str __gmpz_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); +#endif + +#define mpz_perfect_power_p __gmpz_perfect_power_p +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_perfect_square_p __gmpz_perfect_square_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_popcount __gmpz_popcount +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_pow_ui __gmpz_pow_ui +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_powm __gmpz_powm +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_sec __gmpz_powm_sec +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_ui __gmpz_powm_ui +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); + +#define mpz_probab_prime_p __gmpz_probab_prime_p +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_random __gmpz_random +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); + +#define mpz_random2 __gmpz_random2 +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); + +#define mpz_realloc2 __gmpz_realloc2 +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_remove __gmpz_remove +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_root __gmpz_root +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rootrem __gmpz_rootrem +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rrandomb __gmpz_rrandomb +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_scan0 __gmpz_scan0 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_scan1 __gmpz_scan1 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_set __gmpz_set +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); + +#define mpz_set_d __gmpz_set_d +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); + +#define mpz_set_f __gmpz_set_f +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); + +#define mpz_set_q __gmpz_set_q +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); +#endif + +#define mpz_set_si __gmpz_set_si +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); + +#define mpz_set_str __gmpz_set_str +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); + +#define mpz_set_ui __gmpz_set_ui +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); + +#define mpz_setbit __gmpz_setbit +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_size __gmpz_size +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_sizeinbase __gmpz_sizeinbase +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_sqrt __gmpz_sqrt +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); + +#define mpz_sqrtrem __gmpz_sqrtrem +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); + +#define mpz_sub __gmpz_sub +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_sub_ui __gmpz_sub_ui +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_ui_sub __gmpz_ui_sub +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); + +#define mpz_submul __gmpz_submul +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_submul_ui __gmpz_submul_ui +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_swap __gmpz_swap +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; + +#define mpz_tdiv_ui __gmpz_tdiv_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_tdiv_q __gmpz_tdiv_q +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_qr __gmpz_tdiv_qr +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_r __gmpz_tdiv_r +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tstbit __gmpz_tstbit +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_pow_ui __gmpz_ui_pow_ui +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_urandomb __gmpz_urandomb +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_urandomm __gmpz_urandomm +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); + +#define mpz_xor __gmpz_xor +#define mpz_eor __gmpz_xor +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); + + +/**************** Rational (i.e. Q) routines. ****************/ + +#define mpq_abs __gmpq_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_add __gmpq_add +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_canonicalize __gmpq_canonicalize +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); + +#define mpq_clear __gmpq_clear +__GMP_DECLSPEC void mpq_clear (mpq_ptr); + +#define mpq_clears __gmpq_clears +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); + +#define mpq_cmp __gmpq_cmp +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_si __gmpq_cmp_si +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_ui __gmpq_cmp_ui +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpq_div __gmpq_div +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_div_2exp __gmpq_div_2exp +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_equal __gmpq_equal +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpq_get_num __gmpq_get_num +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); + +#define mpq_get_den __gmpq_get_den +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); + +#define mpq_get_d __gmpq_get_d +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpq_get_str __gmpq_get_str +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); + +#define mpq_init __gmpq_init +__GMP_DECLSPEC void mpq_init (mpq_ptr); + +#define mpq_inits __gmpq_inits +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); + +#define mpq_inp_str __gmpq_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); +#endif + +#define mpq_inv __gmpq_inv +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); + +#define mpq_mul __gmpq_mul +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_mul_2exp __gmpq_mul_2exp +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_neg __gmpq_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_out_str __gmpq_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); +#endif + +#define mpq_set __gmpq_set +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); + +#define mpq_set_d __gmpq_set_d +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); + +#define mpq_set_den __gmpq_set_den +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); + +#define mpq_set_f __gmpq_set_f +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); + +#define mpq_set_num __gmpq_set_num +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); + +#define mpq_set_si __gmpq_set_si +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); + +#define mpq_set_str __gmpq_set_str +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); + +#define mpq_set_ui __gmpq_set_ui +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); + +#define mpq_set_z __gmpq_set_z +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); + +#define mpq_sub __gmpq_sub +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_swap __gmpq_swap +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; + + +/**************** Float (i.e. F) routines. ****************/ + +#define mpf_abs __gmpf_abs +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); + +#define mpf_add __gmpf_add +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_add_ui __gmpf_add_ui +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); +#define mpf_ceil __gmpf_ceil +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); + +#define mpf_clear __gmpf_clear +__GMP_DECLSPEC void mpf_clear (mpf_ptr); + +#define mpf_clears __gmpf_clears +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); + +#define mpf_cmp __gmpf_cmp +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_d __gmpf_cmp_d +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_si __gmpf_cmp_si +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_ui __gmpf_cmp_ui +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_div __gmpf_div +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_div_2exp __gmpf_div_2exp +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_div_ui __gmpf_div_ui +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_dump __gmpf_dump +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); + +#define mpf_eq __gmpf_eq +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sint_p __gmpf_fits_sint_p +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_slong_p __gmpf_fits_slong_p +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sshort_p __gmpf_fits_sshort_p +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_uint_p __gmpf_fits_uint_p +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ulong_p __gmpf_fits_ulong_p +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ushort_p __gmpf_fits_ushort_p +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_floor __gmpf_floor +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); + +#define mpf_get_d __gmpf_get_d +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpf_get_d_2exp __gmpf_get_d_2exp +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); + +#define mpf_get_default_prec __gmpf_get_default_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_prec __gmpf_get_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_si __gmpf_get_si +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_str __gmpf_get_str +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); + +#define mpf_get_ui __gmpf_get_ui +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_init __gmpf_init +__GMP_DECLSPEC void mpf_init (mpf_ptr); + +#define mpf_init2 __gmpf_init2 +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); + +#define mpf_inits __gmpf_inits +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); + +#define mpf_init_set __gmpf_init_set +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); + +#define mpf_init_set_d __gmpf_init_set_d +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); + +#define mpf_init_set_si __gmpf_init_set_si +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); + +#define mpf_init_set_str __gmpf_init_set_str +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); + +#define mpf_init_set_ui __gmpf_init_set_ui +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); + +#define mpf_inp_str __gmpf_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); +#endif + +#define mpf_integer_p __gmpf_integer_p +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_mul __gmpf_mul +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_mul_2exp __gmpf_mul_2exp +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_mul_ui __gmpf_mul_ui +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_neg __gmpf_neg +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); + +#define mpf_out_str __gmpf_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); +#endif + +#define mpf_pow_ui __gmpf_pow_ui +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_random2 __gmpf_random2 +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); + +#define mpf_reldiff __gmpf_reldiff +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_set __gmpf_set +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); + +#define mpf_set_d __gmpf_set_d +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); + +#define mpf_set_default_prec __gmpf_set_default_prec +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_prec __gmpf_set_prec +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); + +#define mpf_set_prec_raw __gmpf_set_prec_raw +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_q __gmpf_set_q +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); + +#define mpf_set_si __gmpf_set_si +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); + +#define mpf_set_str __gmpf_set_str +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); + +#define mpf_set_ui __gmpf_set_ui +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); + +#define mpf_set_z __gmpf_set_z +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); + +#define mpf_size __gmpf_size +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_sqrt __gmpf_sqrt +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); + +#define mpf_sqrt_ui __gmpf_sqrt_ui +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); + +#define mpf_sub __gmpf_sub +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_sub_ui __gmpf_sub_ui +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_swap __gmpf_swap +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; + +#define mpf_trunc __gmpf_trunc +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); + +#define mpf_ui_div __gmpf_ui_div +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_ui_sub __gmpf_ui_sub +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_urandomb __gmpf_urandomb +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); + + +/************ Low level positive-integer (i.e. N) routines. ************/ + +/* This is ugly, but we need to make user calls reach the prefixed function. */ + +#define mpn_add __MPN(add) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_add_1 __MPN(add_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_add_n __MPN(add_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_addmul_1 __MPN(addmul_1) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_cmp __MPN(cmp) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_divexact_by3(dst,src,size) \ + mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_divexact_by3c __MPN(divexact_by3c) +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divmod_1(qp,np,nsize,dlimb) \ + mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) + +#define mpn_divrem __MPN(divrem) +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_divrem_1 __MPN(divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divrem_2 __MPN(divrem_2) +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_gcd __MPN(gcd) +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_gcd_1 __MPN(gcd_1) +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_gcdext_1 __MPN(gcdext_1) +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); + +#define mpn_gcdext __MPN(gcdext) +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_get_str __MPN(get_str) +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); + +#define mpn_hamdist __MPN(hamdist) +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_lshift __MPN(lshift) +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_mod_1 __MPN(mod_1) +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul __MPN(mul) +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_mul_1 __MPN(mul_1) +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_mul_n __MPN(mul_n) +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_sqr __MPN(sqr) +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_neg __MPN(neg) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_com __MPN(com) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_perfect_square_p __MPN(perfect_square_p) +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_perfect_power_p __MPN(perfect_power_p) +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_popcount __MPN(popcount) +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_pow_1 __MPN(pow_1) +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + +/* undocumented now, but retained here for upward compatibility */ +#define mpn_preinv_mod_1 __MPN(preinv_mod_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_random __MPN(random) +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); + +#define mpn_random2 __MPN(random2) +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); + +#define mpn_rshift __MPN(rshift) +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_scan0 __MPN(scan0) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_scan1 __MPN(scan1) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_set_str __MPN(set_str) +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); + +#define mpn_sqrtrem __MPN(sqrtrem) +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_sub __MPN(sub) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_sub_1 __MPN(sub_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_sub_n __MPN(sub_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_submul_1 __MPN(submul_1) +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_tdiv_qr __MPN(tdiv_qr) +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_and_n __MPN(and_n) +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_andn_n __MPN(andn_n) +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nand_n __MPN(nand_n) +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_ior_n __MPN(ior_n) +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_iorn_n __MPN(iorn_n) +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nior_n __MPN(nior_n) +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xor_n __MPN(xor_n) +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xnor_n __MPN(xnor_n) +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_zero __MPN(zero) +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + +/**************** mpz inlines ****************/ + +/* The following are provided as inlines where possible, but always exist as + library functions too, for binary compatibility. + + Within gmp itself this inlining generally isn't relied on, since it + doesn't get done for all compilers, whereas if something is worth + inlining then it's worth arranging always. + + There are two styles of inlining here. When the same bit of code is + wanted for the inline as for the library version, then __GMP_FORCE_foo + arranges for that code to be emitted and the __GMP_EXTERN_INLINE + directive suppressed, eg. mpz_fits_uint_p. When a different bit of code + is wanted for the inline than for the library version, then + __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs) +__GMP_EXTERN_INLINE void +mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size); +} +#endif + +#if GMP_NAIL_BITS == 0 +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)); +#else +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \ + || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS))); +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p) +#if ! defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p) +#if ! defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p) +#if ! defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui) +#if ! defined (__GMP_FORCE_mpz_get_ui) +__GMP_EXTERN_INLINE +#endif +unsigned long +mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings + about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland + C++ 6.0 warnings about condition always true for something like + "__GMP_ULONG_MAX < GMP_NUMB_MASK". */ +#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB) + /* limb==long and no nails, or limb==longlong, one limb is enough */ + return (__gmp_n != 0 ? __gmp_l : 0); +#else + /* limb==long and nails, need two limbs when available */ + __gmp_n = __GMP_ABS (__gmp_n); + if (__gmp_n <= 1) + return (__gmp_n != 0 ? __gmp_l : 0); + else + return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS); +#endif +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn) +#if ! defined (__GMP_FORCE_mpz_getlimbn) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_result = 0; + if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size))) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg) +__GMP_EXTERN_INLINE void +mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p) +#if ! defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */ + if (__GMP_LIKELY (__gmp_asize > 0)) + __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount) +#if ! defined (__GMP_FORCE_mpz_popcount) +__GMP_EXTERN_INLINE +#endif +mp_bitcnt_t +mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW +{ + mp_size_t __gmp_usize; + mp_bitcnt_t __gmp_result; + + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0); + if (__GMP_LIKELY (__gmp_usize > 0)) + __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q) +#if ! defined (__GMP_FORCE_mpz_set_q) +__GMP_EXTERN_INLINE +#endif +void +mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u)); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size) +#if ! defined (__GMP_FORCE_mpz_size) +__GMP_EXTERN_INLINE +#endif +size_t +mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + return __GMP_ABS (__gmp_z->_mp_size); +} +#endif + + +/**************** mpq inlines ****************/ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs) +__GMP_EXTERN_INLINE void +mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg) +__GMP_EXTERN_INLINE void +mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +#endif + + +/**************** mpn inlines ****************/ + +/* The comments with __GMPN_ADD_1 below apply here too. + + The test for FUNCTION returning 0 should predict well. If it's assumed + {yp,ysize} will usually have a random number of bits then the high limb + won't be full and a carry out will occur a good deal less than 50% of the + time. + + ysize==0 isn't a documented feature, but is used internally in a few + places. + + Producing cout last stops it using up a register during the main part of + the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))" + doesn't seem able to move the true and false legs of the conditional up + to the two places cout is generated. */ + +#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x; \ + \ + /* ASSERT ((ysize) >= 0); */ \ + /* ASSERT ((xsize) >= (ysize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */ \ + \ + __gmp_i = (ysize); \ + if (__gmp_i != 0) \ + { \ + if (FUNCTION (wp, xp, yp, __gmp_i)) \ + { \ + do \ + { \ + if (__gmp_i >= (xsize)) \ + { \ + (cout) = 1; \ + goto __gmp_done; \ + } \ + __gmp_x = (xp)[__gmp_i]; \ + } \ + while (TEST); \ + } \ + } \ + if ((wp) != (xp)) \ + __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \ + (cout) = 0; \ + __gmp_done: \ + ; \ + } while (0) + +#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \ + (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0)) +#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \ + (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0)) + + +/* The use of __gmp_i indexing is designed to ensure a compile time src==dst + remains nice and clear to the compiler, so that __GMPN_COPY_REST can + disappear, and the load/add/store gets a chance to become a + read-modify-write on CISC CPUs. + + Alternatives: + + Using a pair of pointers instead of indexing would be possible, but gcc + isn't able to recognise compile-time src==dst in that case, even when the + pointers are incremented more or less together. Other compilers would + very likely have similar difficulty. + + gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or + similar to detect a compile-time src==dst. This works nicely on gcc + 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems + to be always false, for a pointer p. But the current code form seems + good enough for src==dst anyway. + + gcc on x86 as usual doesn't give particularly good flags handling for the + carry/borrow detection. It's tempting to want some multi instruction asm + blocks to help it, and this was tried, but in truth there's only a few + instructions to save and any gain is all too easily lost by register + juggling setting up for the asm. */ + +#if GMP_NAIL_BITS == 0 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r; \ + if (CB (__gmp_r, __gmp_x, (v))) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r; \ + ++__gmp_i; \ + if (!CB (__gmp_r, __gmp_x, 1)) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#if GMP_NAIL_BITS >= 1 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r & GMP_NUMB_MASK; \ + if (__gmp_r >> GMP_NUMB_BITS != 0) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \ + ++__gmp_i; \ + if (__gmp_r >> GMP_NUMB_BITS == 0) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#define __GMPN_ADDCB(r,x,y) ((r) < (y)) +#define __GMPN_SUBCB(r,x,y) ((x) < (y)) + +#define __GMPN_ADD_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB) +#define __GMPN_SUB_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB) + + +/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or + negative. size==0 is allowed. On random data usually only one limb will + need to be examined to get a result, so it's worth having it inline. */ +#define __GMPN_CMP(result, xp, yp, size) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_y; \ + \ + /* ASSERT ((size) >= 0); */ \ + \ + (result) = 0; \ + __gmp_i = (size); \ + while (--__gmp_i >= 0) \ + { \ + __gmp_x = (xp)[__gmp_i]; \ + __gmp_y = (yp)[__gmp_i]; \ + if (__gmp_x != __gmp_y) \ + { \ + /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \ + (result) = (__gmp_x > __gmp_y ? 1 : -1); \ + break; \ + } \ + } \ + } while (0) + + +#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \ + } while (0) +#endif + +/* Copy {src,size} to {dst,size}, starting at "start". This is designed to + keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1, + __GMPN_ADD, etc. */ +#if ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + mp_size_t __gmp_j; \ + /* ASSERT ((size) >= 0); */ \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \ + __GMP_CRAY_Pragma ("_CRI ivdep"); \ + for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \ + (dst)[__gmp_j] = (src)[__gmp_j]; \ + } while (0) +#endif + +/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use + mpn_copyi if there's a native version, and if we don't mind demanding + binary compatibility for it (on targets which use it). */ + +#if ! defined (__GMPN_COPY) +#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0) +#endif + + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add) +#if ! defined (__GMP_FORCE_mpn_add) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1) +#if ! defined (__GMP_FORCE_mpn_add_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp) +#if ! defined (__GMP_FORCE_mpn_cmp) +__GMP_EXTERN_INLINE +#endif +int +mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW +{ + int __gmp_result; + __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub) +#if ! defined (__GMP_FORCE_mpn_sub) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1) +#if ! defined (__GMP_FORCE_mpn_sub_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg) +#if ! defined (__GMP_FORCE_mpn_neg) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +#endif + +#if defined (__cplusplus) +} +#endif + + +/* Allow faster testing for negative, zero, and positive. */ +#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0) +#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0) +#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0) + +/* When using GCC, optimize certain common comparisons. */ +#if defined (__GNUC__) && __GNUC__ >= 2 +#define mpz_cmp_ui(Z,UI) \ + (__builtin_constant_p (UI) && (UI) == 0 \ + ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI)) +#define mpz_cmp_si(Z,SI) \ + (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z) \ + : __builtin_constant_p (SI) && (SI) > 0 \ + ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI)) \ + : _mpz_cmp_si (Z,SI)) +#define mpq_cmp_ui(Q,NUI,DUI) \ + (__builtin_constant_p (NUI) && (NUI) == 0 \ + ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI)) +#define mpq_cmp_si(q,n,d) \ + (__builtin_constant_p ((n) >= 0) && (n) >= 0 \ + ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \ + : _mpq_cmp_si (q, n, d)) +#else +#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI) +#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI) +#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI) +#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d) +#endif + + +/* Using "&" rather than "&&" means these can come out branch-free. Every + mpz_t has at least one limb allocated, so fetching the low limb is always + allowed. */ +#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0])) +#define mpz_even_p(z) (! mpz_odd_p (z)) + + +/**************** C++ routines ****************/ + +#ifdef __cplusplus +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr); +#endif + + +/* Source-level compatibility with GMP 2 and earlier. */ +#define mpn_divmod(qp,np,nsize,dp,dsize) \ + mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize) + +/* Source-level compatibility with GMP 1. */ +#define mpz_mdiv mpz_fdiv_q +#define mpz_mdivmod mpz_fdiv_qr +#define mpz_mmod mpz_fdiv_r +#define mpz_mdiv_ui mpz_fdiv_q_ui +#define mpz_mdivmod_ui(q,r,n,d) \ + (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d)) +#define mpz_mmod_ui(r,n,d) \ + (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d)) + +/* Useful synonyms, but not quite compatible with GMP 1. */ +#define mpz_div mpz_fdiv_q +#define mpz_divmod mpz_fdiv_qr +#define mpz_div_ui mpz_fdiv_q_ui +#define mpz_divmod_ui mpz_fdiv_qr_ui +#define mpz_div_2exp mpz_fdiv_q_2exp +#define mpz_mod_2exp mpz_fdiv_r_2exp + +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; + +/* Define CC and CFLAGS which were used to build this version of GMP */ +#define __GMP_CC "gcc -std=gnu99" +#define __GMP_CFLAGS "-O2 -pedantic" + +/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + +#define __GMP_H__ +#endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc index 3fed71966..5a0b27e49 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.1 2012/08/05 18:27:13 matt Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:41 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,48 +16,56 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ + toom54_mul.c \ toom_interpolate_6pts.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ - com.c \ - lshift.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ mu_div_qr.c \ toom_interpolate_16pts.c \ - mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ - rshift.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -63,95 +73,121 @@ SRCS+= \ sbpi1_bdiv_q.c \ pre_mod_1.c \ hgcd.c \ - bdiv_dbm1c.c \ sqrtrem.c \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ - mode1o.c \ toom_interpolate_8pts.c \ remove.c \ - lshiftc.c \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ ASM_SRCS_LIST= \ - add_n.asm mpn/arm/add_n.asm \ - submul_1.asm mpn/arm/submul_1.asm \ + nand_n.asm mpn/arm/logops_n.asm \ + rsh1sub_n.asm mpn/arm/rsh1aors_n.asm \ + add_n.asm mpn/arm/aors_n.asm \ + rsh1add_n.asm mpn/arm/rsh1aors_n.asm \ + sublsh1_n.asm mpn/arm/aorslsh1_n.asm \ + addcnd_n.asm mpn/arm/aorscnd_n.asm \ + xor_n.asm mpn/arm/logops_n.asm \ + submul_1.asm mpn/arm/aorsmul_1.asm \ + nior_n.asm mpn/arm/logops_n.asm \ + lshift.asm mpn/arm/lshift.asm \ + and_n.asm mpn/arm/logops_n.asm \ mul_1.asm mpn/arm/mul_1.asm \ copyd.asm mpn/arm/copyd.asm \ + bdiv_dbm1c.asm mpn/arm/bdiv_dbm1c.asm \ udiv.asm mpn/arm/udiv.asm \ + andn_n.asm mpn/arm/logops_n.asm \ + com.asm mpn/arm/com.asm \ copyi.asm mpn/arm/copyi.asm \ + subcnd_n.asm mpn/arm/aorscnd_n.asm \ + rshift.asm mpn/arm/rshift.asm \ + iorn_n.asm mpn/arm/logops_n.asm \ + ior_n.asm mpn/arm/logops_n.asm \ + mod_34lsub1.asm mpn/arm/mod_34lsub1.asm \ + xnor_n.asm mpn/arm/logops_n.asm \ + lshiftc.asm mpn/arm/lshiftc.asm \ + mode1o.asm mpn/arm/mode1o.asm \ + addlsh1_n.asm mpn/arm/aorslsh1_n.asm \ invert_limb.asm mpn/arm/invert_limb.asm \ - addmul_1.asm mpn/arm/addmul_1.asm \ - sub_n.asm mpn/arm/sub_n.asm \ + addmul_1.asm mpn/arm/aorsmul_1.asm \ + sub_n.asm mpn/arm/aors_n.asm \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -164,33 +200,5 @@ trialdivtab.h: gen-trialdivtab CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn - M4FLAGS= -DPIC COPTS+= -fPIC -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ - ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ - -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h index 77281a5df..bc651bca0 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -57,12 +57,12 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if tests/libtests has calling conventions checking for the CPU */ -/* #undef HAVE_CALLING_CONVENTIONS */ +#define HAVE_CALLING_CONVENTIONS 1 /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -215,11 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* #undef HAVE_NATIVE_mpn_add_nc */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ -/* #undef HAVE_NATIVE_mpn_addlsh1_n */ +#define HAVE_NATIVE_mpn_addcnd_n 1 +#define HAVE_NATIVE_mpn_addlsh1_n 1 /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,14 +252,16 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ -/* #undef HAVE_NATIVE_mpn_and_n */ -/* #undef HAVE_NATIVE_mpn_andn_n */ -/* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 /* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ /* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ -/* #undef HAVE_NATIVE_mpn_com */ +#define HAVE_NATIVE_mpn_com 1 #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -244,27 +270,29 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_gcd_1 */ /* #undef HAVE_NATIVE_mpn_hamdist */ #define HAVE_NATIVE_mpn_invert_limb 1 -/* #undef HAVE_NATIVE_mpn_ior_n */ -/* #undef HAVE_NATIVE_mpn_iorn_n */ -/* #undef HAVE_NATIVE_mpn_lshift */ -/* #undef HAVE_NATIVE_mpn_lshiftc */ +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +#define HAVE_NATIVE_mpn_lshiftc 1 /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ /* #undef HAVE_NATIVE_mpn_mod_1_1p */ /* #undef HAVE_NATIVE_mpn_mod_1c */ /* #undef HAVE_NATIVE_mpn_mod_1s_2p */ /* #undef HAVE_NATIVE_mpn_mod_1s_4p */ -/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ +#define HAVE_NATIVE_mpn_mod_34lsub1 1 /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ -/* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 #define HAVE_NATIVE_mpn_mul_1 1 /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ -/* #undef HAVE_NATIVE_mpn_nand_n */ -/* #undef HAVE_NATIVE_mpn_nior_n */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 /* #undef HAVE_NATIVE_mpn_popcount */ /* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ /* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ @@ -273,25 +301,40 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ -/* #undef HAVE_NATIVE_mpn_rsh1add_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ -/* #undef HAVE_NATIVE_mpn_rsh1sub_n */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ -/* #undef HAVE_NATIVE_mpn_rshift */ +#define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #undef HAVE_NATIVE_mpn_sub_nc */ -/* #undef HAVE_NATIVE_mpn_sublsh1_n */ +#define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 +#define HAVE_NATIVE_mpn_sublsh1_n 1 /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ #define HAVE_NATIVE_mpn_udiv_qrnnd 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ /* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ -/* #undef HAVE_NATIVE_mpn_xor_n */ -/* #undef HAVE_NATIVE_mpn_xnor_n */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 /* Define to 1 if you have the `nl_langinfo' function. */ #define HAVE_NL_LANGINFO 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 index c43c084dd..1e0ed7ff2 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/config.m4 @@ -17,6 +17,7 @@ define(, <.L>) define(, <.long>) define(,) define(,<78>) +define(,<41>) define(,<4>) define(,32) define(,0) @@ -26,7 +27,6 @@ changequote(`,') ifdef(`__CONFIG_M4_INCLUDED__',,` include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') include_mpn(`arm/arm-defs.m4') -define_not_for_expansion(`ARM_THUMB_MODE') define_not_for_expansion(`HAVE_HOST_CPU_arm') define_not_for_expansion(`HAVE_ABI_standard') define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h index 431aa4a30..e6321dde8 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp-mparam.h @@ -21,122 +21,96 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define GMP_LIMB_BITS 32 #define BYTES_PER_MP_LIMB 4 -/* 593MHz ARM (gcc50.fsffrance.org) */ +/* 1193MHz ARM (gcc55.fsffrance.org) */ #define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */ #define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ #define MOD_1_NORM_THRESHOLD 0 /* always */ #define MOD_1_UNNORM_THRESHOLD 0 /* always */ -#define MOD_1N_TO_MOD_1_1_THRESHOLD 17 -#define MOD_1U_TO_MOD_1_1_THRESHOLD 9 -#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX +#define MOD_1N_TO_MOD_1_1_THRESHOLD 56 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 11 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ #define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX -#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 27 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71 #define USE_PREINV_DIVREM_1 1 /* preinv always */ #define DIVREM_2_THRESHOLD 0 /* preinv always */ #define DIVEXACT_1_THRESHOLD 0 /* always */ -#define BMOD_1_TO_MOD_1_THRESHOLD 44 +#define BMOD_1_TO_MOD_1_THRESHOLD 41 -#define MUL_TOOM22_THRESHOLD 34 -#define MUL_TOOM33_THRESHOLD 121 -#define MUL_TOOM44_THRESHOLD 191 -#define MUL_TOOM6H_THRESHOLD 366 -#define MUL_TOOM8H_THRESHOLD 547 +#define MUL_TOOM22_THRESHOLD 36 +#define MUL_TOOM33_THRESHOLD 125 +#define MUL_TOOM44_THRESHOLD 193 +#define MUL_TOOM6H_THRESHOLD 303 +#define MUL_TOOM8H_THRESHOLD 418 -#define MUL_TOOM32_TO_TOOM43_THRESHOLD 129 -#define MUL_TOOM32_TO_TOOM53_THRESHOLD 191 -#define MUL_TOOM42_TO_TOOM53_THRESHOLD 117 -#define MUL_TOOM42_TO_TOOM63_THRESHOLD 137 +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 125 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 176 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 114 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 129 -#define SQR_BASECASE_THRESHOLD 13 +#define SQR_BASECASE_THRESHOLD 12 #define SQR_TOOM2_THRESHOLD 78 -#define SQR_TOOM3_THRESHOLD 141 +#define SQR_TOOM3_THRESHOLD 137 #define SQR_TOOM4_THRESHOLD 212 -#define SQR_TOOM6_THRESHOLD 330 +#define SQR_TOOM6_THRESHOLD 306 #define SQR_TOOM8_THRESHOLD 422 -#define MULMOD_BNM1_THRESHOLD 21 -#define SQRMOD_BNM1_THRESHOLD 25 +#define MULMOD_BNM1_THRESHOLD 20 +#define SQRMOD_BNM1_THRESHOLD 26 -#define MUL_FFT_MODF_THRESHOLD 404 /* k = 5 */ +#define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */ #define MUL_FFT_TABLE3 \ - { { 404, 5}, { 21, 6}, { 11, 5}, { 25, 6}, \ - { 13, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ + { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ - { 39, 7}, { 21, 6}, { 43, 7}, { 29, 8}, \ - { 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \ - { 23, 7}, { 49, 8}, { 27, 7}, { 55, 9}, \ - { 15, 8}, { 31, 7}, { 63, 8}, { 43, 9}, \ - { 23, 8}, { 55, 9}, { 31, 8}, { 71, 9}, \ - { 39, 8}, { 83, 9}, { 47, 8}, { 99, 9}, \ - { 55,10}, { 31, 9}, { 63, 8}, { 127, 9}, \ - { 79,10}, { 47, 9}, { 103,11}, { 31,10}, \ - { 63, 9}, { 135,10}, { 95, 9}, { 191,10}, \ - { 111,11}, { 63,10}, { 127, 9}, { 255,10}, \ - { 143, 9}, { 287,10}, { 159, 9}, { 319,11}, \ - { 95,10}, { 191, 9}, { 383,10}, { 207,12}, \ - { 63,11}, { 127,10}, { 287,11}, { 159,10}, \ - { 351,11}, { 191,10}, { 415,11}, { 223,12}, \ - { 127,11}, { 255,10}, { 511,11}, { 319,10}, \ - { 639,11}, { 351,12}, { 191,11}, { 415,13}, \ - { 8192,14}, { 16384,15}, { 32768,16} } -#define MUL_FFT_TABLE3_SIZE 79 + { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \ + { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \ + { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \ + { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} } +#define MUL_FFT_TABLE3_SIZE 28 #define MUL_FFT_THRESHOLD 5760 -#define SQR_FFT_MODF_THRESHOLD 400 /* k = 5 */ +#define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */ #define SQR_FFT_TABLE3 \ - { { 400, 5}, { 25, 6}, { 13, 5}, { 27, 6}, \ - { 25, 7}, { 13, 6}, { 28, 7}, { 15, 6}, \ - { 32, 7}, { 19, 6}, { 39, 7}, { 29, 8}, \ - { 15, 7}, { 35, 8}, { 19, 7}, { 41, 8}, \ - { 23, 7}, { 47, 8}, { 27, 7}, { 55, 9}, \ - { 15, 8}, { 39, 9}, { 23, 8}, { 55,10}, \ - { 15, 9}, { 31, 8}, { 67, 9}, { 39, 8}, \ - { 79, 9}, { 47, 8}, { 95, 9}, { 55,10}, \ - { 31, 9}, { 79,10}, { 47, 9}, { 103,11}, \ - { 31,10}, { 63, 9}, { 135,10}, { 79, 9}, \ - { 159, 8}, { 319,10}, { 95, 9}, { 191,10}, \ - { 111,11}, { 63,10}, { 127, 9}, { 271,10}, \ - { 143, 9}, { 303,10}, { 159,11}, { 95,10}, \ - { 191, 9}, { 383,10}, { 207,12}, { 63,11}, \ - { 127,10}, { 303,11}, { 159,10}, { 367,11}, \ - { 191,10}, { 415,11}, { 223,10}, { 447,12}, \ - { 127,11}, { 255,10}, { 511,11}, { 287,10}, \ - { 607,11}, { 319,10}, { 639,11}, { 351,12}, \ - { 191,11}, { 447,13}, { 8192,14}, { 16384,15}, \ - { 32768,16} } -#define SQR_FFT_TABLE3_SIZE 77 -#define SQR_FFT_THRESHOLD 3136 + { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \ + { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \ + { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \ + { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ + { 16384,15}, { 32768,16} } +#define SQR_FFT_TABLE3_SIZE 26 +#define SQR_FFT_THRESHOLD 3776 #define MULLO_BASECASE_THRESHOLD 0 /* always */ -#define MULLO_DC_THRESHOLD 120 -#define MULLO_MUL_N_THRESHOLD 11317 +#define MULLO_DC_THRESHOLD 137 +#define MULLO_MUL_N_THRESHOLD 11479 -#define DC_DIV_QR_THRESHOLD 134 -#define DC_DIVAPPR_Q_THRESHOLD 442 -#define DC_BDIV_QR_THRESHOLD 127 -#define DC_BDIV_Q_THRESHOLD 296 +#define DC_DIV_QR_THRESHOLD 150 +#define DC_DIVAPPR_Q_THRESHOLD 494 +#define DC_BDIV_QR_THRESHOLD 148 +#define DC_BDIV_Q_THRESHOLD 345 -#define INV_MULMOD_BNM1_THRESHOLD 66 -#define INV_NEWTON_THRESHOLD 458 -#define INV_APPR_THRESHOLD 454 +#define INV_MULMOD_BNM1_THRESHOLD 70 +#define INV_NEWTON_THRESHOLD 474 +#define INV_APPR_THRESHOLD 478 -#define BINV_NEWTON_THRESHOLD 494 -#define REDC_1_TO_REDC_N_THRESHOLD 116 +#define BINV_NEWTON_THRESHOLD 542 +#define REDC_1_TO_REDC_N_THRESHOLD 117 -#define MU_DIV_QR_THRESHOLD 2914 -#define MU_DIVAPPR_Q_THRESHOLD 3091 -#define MUPI_DIV_QR_THRESHOLD 221 -#define MU_BDIV_QR_THRESHOLD 2259 -#define MU_BDIV_Q_THRESHOLD 2747 +#define MU_DIV_QR_THRESHOLD 2089 +#define MU_DIVAPPR_Q_THRESHOLD 2172 +#define MUPI_DIV_QR_THRESHOLD 225 +#define MU_BDIV_QR_THRESHOLD 1528 +#define MU_BDIV_Q_THRESHOLD 2089 -#define MATRIX22_STRASSEN_THRESHOLD 17 -#define HGCD_THRESHOLD 109 -#define GCD_DC_THRESHOLD 697 -#define GCDEXT_DC_THRESHOLD 535 +#define MATRIX22_STRASSEN_THRESHOLD 16 +#define HGCD_THRESHOLD 197 +#define GCD_DC_THRESHOLD 902 +#define GCDEXT_DC_THRESHOLD 650 #define JACOBI_BASE_METHOD 2 -#define GET_STR_DC_THRESHOLD 14 -#define GET_STR_PRECOMPUTE_THRESHOLD 29 -#define SET_STR_DC_THRESHOLD 321 -#define SET_STR_PRECOMPUTE_THRESHOLD 1037 +#define GET_STR_DC_THRESHOLD 20 +#define GET_STR_PRECOMPUTE_THRESHOLD 39 +#define SET_STR_DC_THRESHOLD 1045 +#define SET_STR_PRECOMPUTE_THRESHOLD 2147 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h index 343bcecef..28d6602d2 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/earm/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,9 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +476,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +591,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +620,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1442,175 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + /**************** mpz inlines ****************/ @@ -2268,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer" +#define __GMP_CFLAGS "-marm -O2 -pedantic -fomit-frame-pointer" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/earm/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmeb/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/Makefile.inc new file mode 100644 index 000000000..3c5f833f4 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/Makefile.inc @@ -0,0 +1,204 @@ +# $NetBSD: Makefile.inc,v 1.2 2013/11/29 08:03:41 mrg Exp $ + +SRCS+= \ + random.c \ + toom_interpolate_7pts.c \ + divrem_2.c \ + sbpi1_divappr_q.c \ + random2.c \ + mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ + toom32_mul.c \ + toom44_mul.c \ + toom8h_mul.c \ + toom2_sqr.c \ + zero.c \ + mod_1_4.c \ + gcdext.c \ + add_err3_n.c \ + binvert.c \ + mu_div_q.c \ + invertappr.c \ + add_n_sub_n.c \ + dump.c \ + mu_divappr_q.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ + toom6_sqr.c \ + divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ + mod_1.c \ + toom42_mulmid.c \ + divexact.c \ + jacobi.c \ + powlo.c \ + mul.c \ + set_str.c \ + toom42_mul.c \ + toom54_mul.c \ + toom_interpolate_6pts.c \ + dcpi1_divappr_q.c \ + toom_eval_dgr3_pm2.c \ + mod_1_3.c \ + toom_couple_handling.c \ + add.c \ + div_qr_2.c \ + toom_interpolate_12pts.c \ + perfsqr.c \ + toom53_mul.c \ + toom_eval_pm2exp.c \ + mu_div_qr.c \ + toom_interpolate_16pts.c \ + bdiv_q.c \ + toom22_mul.c \ + bsqrtinv.c \ + toom4_sqr.c \ + div_q.c \ + jacbase.c \ + hgcd_matrix.c \ + mullo_n.c \ + toom33_mul.c \ + toom_eval_dgr3_pm1.c \ + mod_1_2.c \ + sub_1.c \ + add_err2_n.c \ + trialdiv.c \ + add_1.c \ + sqr_basecase.c \ + toom_interpolate_5pts.c \ + sbpi1_bdiv_q.c \ + pre_mod_1.c \ + hgcd.c \ + sqrtrem.c \ + bdiv_q_1.c \ + gcdext_1.c \ + toom63_mul.c \ + div_qr_2u_pi1.c \ + mul_basecase.c \ + toom8_sqr.c \ + neg.c \ + gcdext_lehmer.c \ + divis.c \ + dcpi1_div_q.c \ + toom_eval_pm2.c \ + hgcd2.c \ + toom62_mul.c \ + comb_tables.c \ + sbpi1_bdiv_qr.c \ + sub_err2_n.c \ + scan1.c \ + brootinv.c \ + pre_divrem_1.c \ + perfpow.c \ + get_str.c \ + mulmod_bnm1.c \ + mullo_basecase.c \ + tdiv_qr.c \ + div_qr_2n_pi1.c \ + toom43_mul.c \ + mod_1_1.c \ + matrix22_mul.c \ + powm_sec.c \ + divrem.c \ + bsqrt.c \ + gcd_1.c \ + dcpi1_bdiv_qr.c \ + mul_n.c \ + redc_2.c \ + toom6h_mul.c \ + sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ + powm.c \ + rootrem.c \ + toom_interpolate_8pts.c \ + remove.c \ + dive_1.c \ + cmp.c \ + toom_eval_pm1.c \ + hgcd_appr.c \ + scan0.c \ + gcd_subdiv_step.c \ + sbpi1_div_qr.c \ + invert.c \ + sub.c \ + toom_eval_pm2rexp.c \ + broot.c \ + dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ + redc_1.c \ + sqr.c \ + nussbaumer_mul.c \ + mu_bdiv_qr.c \ + pow_1.c \ + get_d.c \ + toom52_mul.c \ + sbpi1_div_q.c \ + diveby3.c \ + fib2_ui.c \ + bdiv_qr.c \ + hgcd_jacobi.c \ + toom3_sqr.c \ + gcd.c \ + redc_n.c \ + sub_err1_n.c \ + +C_SRCS_LIST= \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + +ASM_SRCS_LIST= \ + nand_n.asm mpn/arm/logops_n.asm \ + rsh1sub_n.asm mpn/arm/rsh1aors_n.asm \ + add_n.asm mpn/arm/aors_n.asm \ + rsh1add_n.asm mpn/arm/rsh1aors_n.asm \ + sublsh1_n.asm mpn/arm/aorslsh1_n.asm \ + addcnd_n.asm mpn/arm/aorscnd_n.asm \ + xor_n.asm mpn/arm/logops_n.asm \ + submul_1.asm mpn/arm/aorsmul_1.asm \ + nior_n.asm mpn/arm/logops_n.asm \ + lshift.asm mpn/arm/lshift.asm \ + and_n.asm mpn/arm/logops_n.asm \ + mul_1.asm mpn/arm/mul_1.asm \ + copyd.asm mpn/arm/copyd.asm \ + bdiv_dbm1c.asm mpn/arm/bdiv_dbm1c.asm \ + udiv.asm mpn/arm/udiv.asm \ + andn_n.asm mpn/arm/logops_n.asm \ + com.asm mpn/arm/com.asm \ + copyi.asm mpn/arm/copyi.asm \ + subcnd_n.asm mpn/arm/aorscnd_n.asm \ + rshift.asm mpn/arm/rshift.asm \ + iorn_n.asm mpn/arm/logops_n.asm \ + ior_n.asm mpn/arm/logops_n.asm \ + mod_34lsub1.asm mpn/arm/mod_34lsub1.asm \ + xnor_n.asm mpn/arm/logops_n.asm \ + lshiftc.asm mpn/arm/lshiftc.asm \ + mode1o.asm mpn/arm/mode1o.asm \ + addlsh1_n.asm mpn/arm/aorslsh1_n.asm \ + invert_limb.asm mpn/arm/invert_limb.asm \ + addmul_1.asm mpn/arm/aorsmul_1.asm \ + sub_n.asm mpn/arm/aors_n.asm \ + +gen-trialdivtab: gen-trialdivtab.c + ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm + +GMP_LIMB_BITS=32 + +trialdiv.c: trialdivtab.h +trialdivtab.h: gen-trialdivtab + ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h + +CLEANFILES+= trialdivtab.h + +M4FLAGS= -DPIC +COPTS+= -fPIC diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.h b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.h new file mode 100644 index 000000000..48f795e40 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.h @@ -0,0 +1,630 @@ +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* + +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation; either version 3 of the License, or (at +your option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. +*/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* The gmp-mparam.h file (a string) the tune program should suggest updating. + */ +#define GMP_MPARAM_H_SUGGEST "./mpn/arm/gmp-mparam.h" + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if alloca() works (via gmp-impl.h). */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */ +#define HAVE_ATTRIBUTE_CONST 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */ +#define HAVE_ATTRIBUTE_MALLOC 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX))) + */ +#define HAVE_ATTRIBUTE_MODE 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */ +#define HAVE_ATTRIBUTE_NORETURN 1 + +/* Define to 1 if you have the `attr_get' function. */ +/* #undef HAVE_ATTR_GET */ + +/* Define to 1 if tests/libtests has calling conventions checking for the CPU + */ +#define HAVE_CALLING_CONVENTIONS 1 + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the `clock_gettime' function */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `cputime' function. */ +/* #undef HAVE_CPUTIME */ + +/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't. + */ +#define HAVE_DECL_FGETC 1 + +/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't. + */ +#define HAVE_DECL_FSCANF 1 + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +#define HAVE_DECL_OPTARG 1 + +/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_ERRLIST 1 + +/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_NERR 1 + +/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't. + */ +#define HAVE_DECL_UNGETC 1 + +/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VFPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define one of the following to 1 for the format of a `double'. + If your format is not among these choices, or you don't know what it is, + then leave all undefined. + IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves + swapped, as used by ARM CPUs in little endian mode. */ +#define HAVE_DOUBLE_IEEE_BIG_ENDIAN 1 +/* #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN */ +/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */ +/* #undef HAVE_DOUBLE_VAX_D */ +/* #undef HAVE_DOUBLE_VAX_G */ +/* #undef HAVE_DOUBLE_CRAY_CFP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define one of these to 1 for the host CPU family. + If your CPU is not in any of these families, leave all undefined. + For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */ +/* #undef HAVE_HOST_CPU_FAMILY_alpha */ +/* #undef HAVE_HOST_CPU_FAMILY_m68k */ +/* #undef HAVE_HOST_CPU_FAMILY_power */ +/* #undef HAVE_HOST_CPU_FAMILY_powerpc */ +/* #undef HAVE_HOST_CPU_FAMILY_x86 */ +/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */ + +/* Define one of the following to 1 for the host CPU, as per the output of + ./config.guess. If your CPU is not listed here, leave all undefined. */ +/* #undef HAVE_HOST_CPU_alphaev67 */ +/* #undef HAVE_HOST_CPU_alphaev68 */ +/* #undef HAVE_HOST_CPU_alphaev7 */ +/* #undef HAVE_HOST_CPU_m68020 */ +/* #undef HAVE_HOST_CPU_m68030 */ +/* #undef HAVE_HOST_CPU_m68040 */ +/* #undef HAVE_HOST_CPU_m68060 */ +/* #undef HAVE_HOST_CPU_m68360 */ +/* #undef HAVE_HOST_CPU_powerpc604 */ +/* #undef HAVE_HOST_CPU_powerpc604e */ +/* #undef HAVE_HOST_CPU_powerpc750 */ +/* #undef HAVE_HOST_CPU_powerpc7400 */ +/* #undef HAVE_HOST_CPU_supersparc */ +/* #undef HAVE_HOST_CPU_i386 */ +/* #undef HAVE_HOST_CPU_i586 */ +/* #undef HAVE_HOST_CPU_i686 */ +/* #undef HAVE_HOST_CPU_pentium */ +/* #undef HAVE_HOST_CPU_pentiummmx */ +/* #undef HAVE_HOST_CPU_pentiumpro */ +/* #undef HAVE_HOST_CPU_pentium2 */ +/* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ + +/* Define to 1 if the system has the type `intmax_t'. */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INVENT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define one of these to 1 for the endianness of `mp_limb_t'. + If the endianness is not a simple big or little, or you don't know what + it is, then leave both undefined. */ +#define HAVE_LIMB_BIG_ENDIAN 1 +/* #undef HAVE_LIMB_LITTLE_ENDIAN */ + +/* Define to 1 if you have the `localeconv' function. */ +#define HAVE_LOCALECONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if the system has the type `long double'. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 each of the following for which a native (ie. CPU specific) + implementation of the corresponding routine exists. */ +#define HAVE_NATIVE_mpn_add_n 1 +/* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +#define HAVE_NATIVE_mpn_add_nc 1 +/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +#define HAVE_NATIVE_mpn_addcnd_n 1 +#define HAVE_NATIVE_mpn_addlsh1_n 1 +/* #undef HAVE_NATIVE_mpn_addlsh2_n */ +/* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addmul_1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2 */ +/* #undef HAVE_NATIVE_mpn_addmul_3 */ +/* #undef HAVE_NATIVE_mpn_addmul_4 */ +/* #undef HAVE_NATIVE_mpn_addmul_5 */ +/* #undef HAVE_NATIVE_mpn_addmul_6 */ +/* #undef HAVE_NATIVE_mpn_addmul_7 */ +/* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 +/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ +#define HAVE_NATIVE_mpn_com 1 +#define HAVE_NATIVE_mpn_copyd 1 +#define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ +/* #undef HAVE_NATIVE_mpn_divexact_1 */ +/* #undef HAVE_NATIVE_mpn_divexact_by3c */ +/* #undef HAVE_NATIVE_mpn_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_divrem_1c */ +/* #undef HAVE_NATIVE_mpn_divrem_2 */ +/* #undef HAVE_NATIVE_mpn_gcd_1 */ +/* #undef HAVE_NATIVE_mpn_hamdist */ +#define HAVE_NATIVE_mpn_invert_limb 1 +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +#define HAVE_NATIVE_mpn_lshiftc 1 +/* #undef HAVE_NATIVE_mpn_lshsub_n */ +/* #undef HAVE_NATIVE_mpn_mod_1 */ +/* #undef HAVE_NATIVE_mpn_mod_1_1p */ +/* #undef HAVE_NATIVE_mpn_mod_1c */ +/* #undef HAVE_NATIVE_mpn_mod_1s_2p */ +/* #undef HAVE_NATIVE_mpn_mod_1s_4p */ +#define HAVE_NATIVE_mpn_mod_34lsub1 1 +/* #undef HAVE_NATIVE_mpn_modexact_1_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 +#define HAVE_NATIVE_mpn_mul_1 1 +/* #undef HAVE_NATIVE_mpn_mul_1c */ +/* #undef HAVE_NATIVE_mpn_mul_2 */ +/* #undef HAVE_NATIVE_mpn_mul_3 */ +/* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ +/* #undef HAVE_NATIVE_mpn_mul_basecase */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 +/* #undef HAVE_NATIVE_mpn_popcount */ +/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ +/* #undef HAVE_NATIVE_mpn_redc_1 */ +/* #undef HAVE_NATIVE_mpn_redc_2 */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1add_nc */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +#define HAVE_NATIVE_mpn_rshift 1 +/* #undef HAVE_NATIVE_mpn_sqr_basecase */ +/* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#define HAVE_NATIVE_mpn_sub_n 1 +#define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 +#define HAVE_NATIVE_mpn_sublsh1_n 1 +/* #undef HAVE_NATIVE_mpn_sublsh2_n */ +/* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ +#define HAVE_NATIVE_mpn_udiv_qrnnd 1 +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 + +/* Define to 1 if you have the `nl_langinfo' function. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `obstack_vprintf' function. */ +/* #undef HAVE_OBSTACK_VPRINTF */ + +/* Define to 1 if you have the `popen' function. */ +#define HAVE_POPEN 1 + +/* Define to 1 if you have the `processor_info' function. */ +/* #undef HAVE_PROCESSOR_INFO */ + +/* Define to 1 if `struct pst_processor' exists and contains + `psp_iticksperclktick'. */ +/* #undef HAVE_PSP_ITICKSPERCLKTICK */ + +/* Define to 1 if you have the `pstat_getprocessor' function. */ +/* #undef HAVE_PSTAT_GETPROCESSOR */ + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#define HAVE_PTRDIFF_T 1 + +/* Define to 1 if the system has the type `quad_t'. */ +#define HAVE_QUAD_T 1 + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `read_real_time' function. */ +/* #undef HAVE_READ_REAL_TIME */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the `sigstack' function. */ +/* #undef HAVE_SIGSTACK */ + +/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */ +/* #undef HAVE_SPEED_CYCLECOUNTER */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SSTREAM */ + +/* Define to 1 if the system has the type `stack_t'. */ +#define HAVE_STACK_T 1 + +/* Define to 1 if exists and works */ +#define HAVE_STDARG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if the system has the type `std::locale'. */ +/* #undef HAVE_STD__LOCALE */ + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if cpp supports the ANSI # stringizing operator. */ +#define HAVE_STRINGIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysctlbyname' function. */ +#define HAVE_SYSCTLBYNAME 1 + +/* Define to 1 if you have the `syssgi' function. */ +/* #undef HAVE_SYSSGI */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ATTRIBUTES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOGRAPH_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROCESSOR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSSGI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if the system has the type `uint_least32_t'. */ +#define HAVE_UINT_LEAST32_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vsnprintf' function and it works properly. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + +/* Assembler local label prefix */ +#define LSYM_PREFIX ".L" + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "gmp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU MP" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU MP 5.1.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gmp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/gmp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "5.1.3" + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* The size of `mp_limb_t', as computed by sizeof. */ +#define SIZEOF_MP_LIMB_T 4 + +/* The size of `unsigned', as computed by sizeof. */ +#define SIZEOF_UNSIGNED 4 + +/* The size of `unsigned long', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_LONG 4 + +/* The size of `unsigned short', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_SHORT 2 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 4 + +/* Define to 1 if sscanf requires writable inputs */ +/* #undef SSCANF_WRITABLE_INPUT */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */ +#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC + +/* Version number of package */ +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 + +/* Define to 1 to enable ASSERT checking, per --enable-assert */ +/* #undef WANT_ASSERT */ + +/* Define to 1 when building a fat binary. */ +/* #undef WANT_FAT_BINARY */ + +/* Define to 1 to enable FFTs for multiplication, per --enable-fft */ +#define WANT_FFT 1 + +/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per + --enable-old-fft-full */ +/* #undef WANT_OLD_FFT_FULL */ + +/* Define to 1 if --enable-profiling=gprof */ +/* #undef WANT_PROFILING_GPROF */ + +/* Define to 1 if --enable-profiling=instrument */ +/* #undef WANT_PROFILING_INSTRUMENT */ + +/* Define to 1 if --enable-profiling=prof */ +/* #undef WANT_PROFILING_PROF */ + +/* Define one of these to 1 for the desired temporary memory allocation + method, per --enable-alloca. */ +#define WANT_TMP_ALLOCA 1 +/* #undef WANT_TMP_REENTRANT */ +/* #undef WANT_TMP_NOTREENTRANT */ +/* #undef WANT_TMP_DEBUG */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.m4 new file mode 100644 index 000000000..b92578730 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/config.m4 @@ -0,0 +1,35 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(,0) +define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.globl>) +define(, <>) +define(, <>) +define(, < .section .rodata>) +define(, <.type $1,#$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) +define(,<78>) +define(,<41>) +define(,<4>) +define(,32) +define(,0) +define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) +>) +changequote(`,') +ifdef(`__CONFIG_M4_INCLUDED__',,` +include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +include_mpn(`arm/arm-defs.m4') +define_not_for_expansion(`HAVE_HOST_CPU_armeb') +define_not_for_expansion(`HAVE_ABI_standard') +define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN') +define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN') +') +define(`__CONFIG_M4_INCLUDED__') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp-mparam.h new file mode 100644 index 000000000..e6321dde8 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp-mparam.h @@ -0,0 +1,116 @@ +/* gmp-mparam.h -- Compiler/machine parameter header file. + +Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2009, 2010 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#define GMP_LIMB_BITS 32 +#define BYTES_PER_MP_LIMB 4 + +/* 1193MHz ARM (gcc55.fsffrance.org) */ + +#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */ +#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1_NORM_THRESHOLD 0 /* always */ +#define MOD_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1N_TO_MOD_1_1_THRESHOLD 56 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 11 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ +#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71 +#define USE_PREINV_DIVREM_1 1 /* preinv always */ +#define DIVREM_2_THRESHOLD 0 /* preinv always */ +#define DIVEXACT_1_THRESHOLD 0 /* always */ +#define BMOD_1_TO_MOD_1_THRESHOLD 41 + +#define MUL_TOOM22_THRESHOLD 36 +#define MUL_TOOM33_THRESHOLD 125 +#define MUL_TOOM44_THRESHOLD 193 +#define MUL_TOOM6H_THRESHOLD 303 +#define MUL_TOOM8H_THRESHOLD 418 + +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 125 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 176 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 114 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 129 + +#define SQR_BASECASE_THRESHOLD 12 +#define SQR_TOOM2_THRESHOLD 78 +#define SQR_TOOM3_THRESHOLD 137 +#define SQR_TOOM4_THRESHOLD 212 +#define SQR_TOOM6_THRESHOLD 306 +#define SQR_TOOM8_THRESHOLD 422 + +#define MULMOD_BNM1_THRESHOLD 20 +#define SQRMOD_BNM1_THRESHOLD 26 + +#define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */ +#define MUL_FFT_TABLE3 \ + { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ + { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ + { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \ + { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \ + { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \ + { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} } +#define MUL_FFT_TABLE3_SIZE 28 +#define MUL_FFT_THRESHOLD 5760 + +#define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */ +#define SQR_FFT_TABLE3 \ + { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \ + { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \ + { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \ + { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ + { 16384,15}, { 32768,16} } +#define SQR_FFT_TABLE3_SIZE 26 +#define SQR_FFT_THRESHOLD 3776 + +#define MULLO_BASECASE_THRESHOLD 0 /* always */ +#define MULLO_DC_THRESHOLD 137 +#define MULLO_MUL_N_THRESHOLD 11479 + +#define DC_DIV_QR_THRESHOLD 150 +#define DC_DIVAPPR_Q_THRESHOLD 494 +#define DC_BDIV_QR_THRESHOLD 148 +#define DC_BDIV_Q_THRESHOLD 345 + +#define INV_MULMOD_BNM1_THRESHOLD 70 +#define INV_NEWTON_THRESHOLD 474 +#define INV_APPR_THRESHOLD 478 + +#define BINV_NEWTON_THRESHOLD 542 +#define REDC_1_TO_REDC_N_THRESHOLD 117 + +#define MU_DIV_QR_THRESHOLD 2089 +#define MU_DIVAPPR_Q_THRESHOLD 2172 +#define MUPI_DIV_QR_THRESHOLD 225 +#define MU_BDIV_QR_THRESHOLD 1528 +#define MU_BDIV_Q_THRESHOLD 2089 + +#define MATRIX22_STRASSEN_THRESHOLD 16 +#define HGCD_THRESHOLD 197 +#define GCD_DC_THRESHOLD 902 +#define GCDEXT_DC_THRESHOLD 650 +#define JACOBI_BASE_METHOD 2 + +#define GET_STR_DC_THRESHOLD 20 +#define GET_STR_PRECOMPUTE_THRESHOLD 39 +#define SET_STR_DC_THRESHOLD 1045 +#define SET_STR_PRECOMPUTE_THRESHOLD 2147 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp.h new file mode 100644 index 000000000..28d6602d2 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmeb/gmp.h @@ -0,0 +1,2231 @@ +/* Definitions for GNU multiple precision functions. -*- mode: c -*- + +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#ifndef __GMP_H__ + +#if defined (__cplusplus) +#include /* for std::istream, std::ostream, std::string */ +#include +#endif + + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +#define __GMP_HAVE_HOST_CPU_FAMILY_power 0 +#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 +#define GMP_LIMB_BITS 32 +#define GMP_NAIL_BITS 0 +#endif +#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) +#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS) +#define GMP_NUMB_MAX GMP_NUMB_MASK +#define GMP_NAIL_MASK (~ GMP_NUMB_MASK) + + +/* The following (everything under ifndef __GNU_MP__) must be identical in + gmp.h and mp.h to allow both to be included in an application or during + the library build. */ +#ifndef __GNU_MP__ +#define __GNU_MP__ 5 + +#define __need_size_t /* tell gcc stddef.h we only want size_t */ +#if defined (__cplusplus) +#include /* for size_t */ +#else +#include /* for size_t */ +#endif +#undef __need_size_t + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +/* #undef _LONG_LONG_LIMB */ +#define __GMP_LIBGMP_DLL 0 +#endif + + +/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in + all other circumstances. + + When compiling objects for libgmp, __GMP_DECLSPEC is an export directive, + or when compiling for an application it's an import directive. The two + cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles + (and not defined from an application). + + __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX + indicates when building libgmpxx, and in that case libgmpxx functions are + exports, but libgmp functions which might get called are imports. + + Libtool DLL_EXPORT define is not used. + + There's no attempt to support GMP built both static and DLL. Doing so + would mean applications would have to tell us which of the two is going + to be used when linking, and that seems very tedious and error prone if + using GMP by hand, and equally tedious from a package since autoconf and + automake don't give much help. + + __GMP_DECLSPEC is required on all documented global functions and + variables, the various internals in gmp-impl.h etc can be left unadorned. + But internals used by the test programs or speed measuring programs + should have __GMP_DECLSPEC, and certainly constants or variables must + have it or the wrong address will be resolved. + + In gcc __declspec can go at either the start or end of a prototype. + + In Microsoft C __declspec must go at the start, or after the type like + void __declspec(...) *foo()". There's no __dllexport or anything to + guard against someone foolish #defining dllexport. _export used to be + available, but no longer. + + In Borland C _export still exists, but needs to go after the type, like + "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to + make use of that. Probably more trouble than it's worth. */ + +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) +#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) +#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) +#endif +#ifdef __WATCOMC__ +#define __GMP_DECLSPEC_EXPORT __export +#define __GMP_DECLSPEC_IMPORT __import +#endif +#ifdef __IBMC__ +#define __GMP_DECLSPEC_EXPORT _Export +#define __GMP_DECLSPEC_IMPORT _Import +#endif + +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMP +/* compiling to go into a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into an application which will link to a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC +#endif + + +#ifdef __GMP_SHORT_LIMB +typedef unsigned int mp_limb_t; +typedef int mp_limb_signed_t; +#else +#ifdef _LONG_LONG_LIMB +typedef unsigned long long int mp_limb_t; +typedef long long int mp_limb_signed_t; +#else +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +#endif +#endif +typedef unsigned long int mp_bitcnt_t; + +/* For reference, note that the name __mpz_struct gets into C++ mangled + function names, which means although the "__" suggests an internal, we + must leave this name for binary compatibility. */ +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +#endif /* __GNU_MP__ */ + + +typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ +typedef __mpz_struct mpz_t[1]; + +typedef mp_limb_t * mp_ptr; +typedef const mp_limb_t * mp_srcptr; +#if defined (_CRAY) && ! defined (_CRAYMPP) +/* plain `int' is much faster (48 bits) */ +#define __GMP_MP_SIZE_T_INT 1 +typedef int mp_size_t; +typedef int mp_exp_t; +#else +#define __GMP_MP_SIZE_T_INT 0 +typedef long int mp_size_t; +typedef long int mp_exp_t; +#endif + +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; + +typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */ +typedef __mpq_struct mpq_t[1]; + +typedef struct +{ + int _mp_prec; /* Max precision, in number of `mp_limb_t's. + Set by mpf_init and modified by + mpf_set_prec. The area pointed to by the + _mp_d field contains `prec' + 1 limbs. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpf_struct; + +/* typedef __mpf_struct MP_FLOAT; */ +typedef __mpf_struct mpf_t[1]; + +/* Available random number generation algorithms. */ +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */ +} gmp_randalg_t; + +/* Random state struct. */ +typedef struct +{ + mpz_t _mp_seed; /* _mp_d member points to state of the generator. */ + gmp_randalg_t _mp_alg; /* Currently unused. */ + union { + void *_mp_lc; /* Pointer to function pointers structure. */ + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; + +/* Types for function declarations in gmp files. */ +/* ??? Should not pollute user name space with these ??? */ +typedef const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + + +/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common + section. */ +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMPXX +/* compiling to go into a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into a application which will link to a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC_XX +#endif + + +#ifndef __MPN +#define __MPN(x) __gmpn_##x +#endif + +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ +#define _GMP_H_HAVE_FILE 1 +#endif + +/* In ISO C, if a prototype involving "struct obstack *" is given without + that structure defined, then the struct is scoped down to just the + prototype, causing a conflict if it's subsequently defined for real. So + only give prototypes if we've got obstack.h. */ +#if defined (_OBSTACK_H) /* glibc */ +#define _GMP_H_HAVE_OBSTACK 1 +#endif + +/* The prototypes for gmp_vprintf etc are provided only if va_list is + available, via an application having included or . + Usually va_list is a typedef so can't be tested directly, but C99 + specifies that va_start is a macro (and it was normally a macro on past + systems too), so look for that. + + will define some sort of va_list for vprintf and vfprintf, but + let's not bother trying to use that since it's not standard and since + application uses for gmp_vprintf etc will almost certainly require the + whole or anyway. */ + +#ifdef va_start +#define _GMP_H_HAVE_VA_LIST 1 +#endif + +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GMP_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GMP_GNUC_PREREQ(maj, min) 0 +#endif + +/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically + it means a function does nothing but examine its arguments and memory + (global or via arguments) to generate a return value, but changes nothing + and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets + tune/common.c etc turn this off when trying to write timing loops. */ +#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +#define __GMP_ATTRIBUTE_PURE +#endif + + +/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean + to "g++ -Wold-style-cast". + + Casts in "extern inline" code within an extern "C" block don't induce + these warnings, so __GMP_CAST only needs to be used on documented + macros. */ + +#ifdef __cplusplus +#define __GMP_CAST(type, expr) (static_cast (expr)) +#else +#define __GMP_CAST(type, expr) ((type) (expr)) +#endif + + +/* An empty "throw ()" means the function doesn't throw any C++ exceptions, + this can save some stack frame info in applications. + + Currently it's given only on functions which never divide-by-zero etc, + don't allocate memory, and are expected to never need to allocate memory. + This leaves open the possibility of a C++ throw from a future GMP + exceptions scheme. + + mpz_set_ui etc are omitted to leave open the lazy allocation scheme + described in doc/tasks.html. mpz_get_d etc are omitted to leave open + exceptions for float overflows. + + Note that __GMP_NOTHROW must be given on any inlines the same as on their + prototypes (for g++ at least, where they're used together). Note also + that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like + __GMP_ATTRIBUTE_PURE. */ + +#if defined (__cplusplus) +#define __GMP_NOTHROW throw () +#else +#define __GMP_NOTHROW +#endif + + +/* PORTME: What other compilers have a useful "extern inline"? "static + inline" would be an acceptable substitute if the compiler (or linker) + discards unused statics. */ + + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC__ +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +#endif +#define __GMP_INLINE_PROTOTYPES 1 +#endif + +/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 + mode, which is the default), but an unnecessary local copy of foo is + emitted unless -O is used. "extern __inline" is accepted, but the + "extern" appears to be ignored, ie. it becomes a plain global function + but which is inlined within its file. Don't know if all old versions of + DEC C supported __inline, but as a start let's do the right thing for + current versions. */ +#ifdef __DECC +#define __GMP_EXTERN_INLINE static __inline +#endif + +/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict + ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes + place under -O. Without -O "foo" seems to be emitted whether it's used + or not, which is wasteful. "extern inline foo()" isn't useful, the + "extern" is apparently ignored, so foo is inlined if possible but also + emitted as a global, which causes multiple definition errors when + building a shared libgmp. */ +#ifdef __SCO_VERSION__ +#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif +#endif + +/* Microsoft's C compiler accepts __inline */ +#ifdef _MSC_VER +#define __GMP_EXTERN_INLINE __inline +#endif + +/* Recent enough Sun C compilers want "inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Somewhat older Sun C compilers want "static inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif + + +/* C++ always has "inline" and since it's a normal feature the linker should + discard duplicate non-inlined copies, or if it doesn't then that's a + problem for everyone, not just GMP. */ +#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + +/* By default, don't give a prototype when there's going to be an inline + version. Note in particular that Cray C++ objects to the combination of + prototype and inline. */ +#ifdef __GMP_EXTERN_INLINE +#ifndef __GMP_INLINE_PROTOTYPES +#define __GMP_INLINE_PROTOTYPES 0 +#endif +#else +#define __GMP_INLINE_PROTOTYPES 1 +#endif + + +#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i)) + +/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted + to int by "~". */ +#define __GMP_UINT_MAX (~ (unsigned) 0) +#define __GMP_ULONG_MAX (~ (unsigned long) 0) +#define __GMP_USHRT_MAX ((unsigned short) ~0) + + +/* __builtin_expect is in gcc 3.0, and not in 2.95. */ +#if __GMP_GNUC_PREREQ (3,0) +#define __GMP_LIKELY(cond) __builtin_expect ((cond) != 0, 1) +#define __GMP_UNLIKELY(cond) __builtin_expect ((cond) != 0, 0) +#else +#define __GMP_LIKELY(cond) (cond) +#define __GMP_UNLIKELY(cond) (cond) +#endif + +#ifdef _CRAY +#define __GMP_CRAY_Pragma(str) _Pragma (str) +#else +#define __GMP_CRAY_Pragma(str) +#endif + + +/* Allow direct user access to numerator and denominator of a mpq_t object. */ +#define mpq_numref(Q) (&((Q)->_mp_num)) +#define mpq_denref(Q) (&((Q)->_mp_den)) + + +#if defined (__cplusplus) +extern "C" { +using std::FILE; +#endif + +#define mp_set_memory_functions __gmp_set_memory_functions +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t)) __GMP_NOTHROW; + +#define mp_get_memory_functions __gmp_get_memory_functions +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t)) __GMP_NOTHROW; + +#define mp_bits_per_limb __gmp_bits_per_limb +__GMP_DECLSPEC extern const int mp_bits_per_limb; + +#define gmp_errno __gmp_errno +__GMP_DECLSPEC extern int gmp_errno; + +#define gmp_version __gmp_version +__GMP_DECLSPEC extern const char * const gmp_version; + + +/**************** Random number routines. ****************/ + +/* obsolete */ +#define gmp_randinit __gmp_randinit +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); + +#define gmp_randinit_default __gmp_randinit_default +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); + +#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); + +#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); + +#define gmp_randinit_mt __gmp_randinit_mt +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); + +#define gmp_randinit_set __gmp_randinit_set +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); + +#define gmp_randseed __gmp_randseed +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); + +#define gmp_randseed_ui __gmp_randseed_ui +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); + +#define gmp_randclear __gmp_randclear +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); + +#define gmp_urandomb_ui __gmp_urandomb_ui +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); + +#define gmp_urandomm_ui __gmp_urandomm_ui +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); + + +/**************** Formatted output routines. ****************/ + +#define gmp_asprintf __gmp_asprintf +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); + +#define gmp_fprintf __gmp_fprintf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); +#endif + +#define gmp_obstack_printf __gmp_obstack_printf +#if defined (_GMP_H_HAVE_OBSTACK) +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); +#endif + +#define gmp_obstack_vprintf __gmp_obstack_vprintf +#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); +#endif + +#define gmp_printf __gmp_printf +__GMP_DECLSPEC int gmp_printf (const char *, ...); + +#define gmp_snprintf __gmp_snprintf +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); + +#define gmp_sprintf __gmp_sprintf +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); + +#define gmp_vasprintf __gmp_vasprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); +#endif + +#define gmp_vfprintf __gmp_vfprintf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); +#endif + +#define gmp_vprintf __gmp_vprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); +#endif + +#define gmp_vsnprintf __gmp_vsnprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); +#endif + +#define gmp_vsprintf __gmp_vsprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); +#endif + + +/**************** Formatted input routines. ****************/ + +#define gmp_fscanf __gmp_fscanf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); +#endif + +#define gmp_scanf __gmp_scanf +__GMP_DECLSPEC int gmp_scanf (const char *, ...); + +#define gmp_sscanf __gmp_sscanf +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); + +#define gmp_vfscanf __gmp_vfscanf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); +#endif + +#define gmp_vscanf __gmp_vscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); +#endif + +#define gmp_vsscanf __gmp_vsscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); +#endif + + +/**************** Integer (i.e. Z) routines. ****************/ + +#define _mpz_realloc __gmpz_realloc +#define mpz_realloc __gmpz_realloc +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); + +#define mpz_abs __gmpz_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_add __gmpz_add +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_add_ui __gmpz_add_ui +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_addmul __gmpz_addmul +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_addmul_ui __gmpz_addmul_ui +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_and __gmpz_and +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_array_init __gmpz_array_init +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); + +#define mpz_bin_ui __gmpz_bin_ui +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_bin_uiui __gmpz_bin_uiui +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_cdiv_q __gmpz_cdiv_q +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_qr __gmpz_cdiv_qr +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_r __gmpz_cdiv_r +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_ui __gmpz_cdiv_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_clear __gmpz_clear +__GMP_DECLSPEC void mpz_clear (mpz_ptr); + +#define mpz_clears __gmpz_clears +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); + +#define mpz_clrbit __gmpz_clrbit +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_cmp __gmpz_cmp +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmp_d __gmpz_cmp_d +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_si __gmpz_cmp_si +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_ui __gmpz_cmp_ui +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs __gmpz_cmpabs +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_d __gmpz_cmpabs_d +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_ui __gmpz_cmpabs_ui +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_com __gmpz_com +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); + +#define mpz_combit __gmpz_combit +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); + +#define mpz_congruent_p __gmpz_congruent_p +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_ui_p __gmpz_congruent_ui_p +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divexact __gmpz_divexact +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_divexact_ui __gmpz_divexact_ui +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_divisible_p __gmpz_divisible_p +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_ui_p __gmpz_divisible_ui_p +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_dump __gmpz_dump +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); + +#define mpz_export __gmpz_export +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); + +#define mpz_fac_ui __gmpz_fac_ui +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); + +#define mpz_fdiv_q __gmpz_fdiv_q +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_qr __gmpz_fdiv_qr +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_r __gmpz_fdiv_r +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_ui __gmpz_fdiv_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_fib_ui __gmpz_fib_ui +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); + +#define mpz_fib2_ui __gmpz_fib2_ui +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_fits_sint_p __gmpz_fits_sint_p +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_slong_p __gmpz_fits_slong_p +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_sshort_p __gmpz_fits_sshort_p +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_uint_p __gmpz_fits_uint_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ulong_p __gmpz_fits_ulong_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ushort_p __gmpz_fits_ushort_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_gcd __gmpz_gcd +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_gcd_ui __gmpz_gcd_ui +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_gcdext __gmpz_gcdext +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_get_d __gmpz_get_d +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_get_d_2exp __gmpz_get_d_2exp +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); + +#define mpz_get_si __gmpz_get_si +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_get_str __gmpz_get_str +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); + +#define mpz_get_ui __gmpz_get_ui +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_getlimbn __gmpz_getlimbn +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_hamdist __gmpz_hamdist +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_import __gmpz_import +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); + +#define mpz_init __gmpz_init +__GMP_DECLSPEC void mpz_init (mpz_ptr); + +#define mpz_init2 __gmpz_init2 +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_inits __gmpz_inits +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); + +#define mpz_init_set __gmpz_init_set +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); + +#define mpz_init_set_d __gmpz_init_set_d +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); + +#define mpz_init_set_si __gmpz_init_set_si +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); + +#define mpz_init_set_str __gmpz_init_set_str +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); + +#define mpz_init_set_ui __gmpz_init_set_ui +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); + +#define mpz_inp_raw __gmpz_inp_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); +#endif + +#define mpz_inp_str __gmpz_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); +#endif + +#define mpz_invert __gmpz_invert +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_ior __gmpz_ior +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_jacobi __gmpz_jacobi +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker mpz_jacobi /* alias */ + +#define mpz_kronecker_si __gmpz_kronecker_si +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker_ui __gmpz_kronecker_ui +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_si_kronecker __gmpz_si_kronecker +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_kronecker __gmpz_ui_kronecker +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_lcm __gmpz_lcm +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_lcm_ui __gmpz_lcm_ui +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_legendre mpz_jacobi /* alias */ + +#define mpz_lucnum_ui __gmpz_lucnum_ui +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); + +#define mpz_lucnum2_ui __gmpz_lucnum2_ui +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_millerrabin __gmpz_millerrabin +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_mod __gmpz_mod +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ + +#define mpz_mul __gmpz_mul +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mul_2exp __gmpz_mul_2exp +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_mul_si __gmpz_mul_si +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); + +#define mpz_mul_ui __gmpz_mul_ui +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_neg __gmpz_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_nextprime __gmpz_nextprime +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); + +#define mpz_out_raw __gmpz_out_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); +#endif + +#define mpz_out_str __gmpz_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); +#endif + +#define mpz_perfect_power_p __gmpz_perfect_power_p +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_perfect_square_p __gmpz_perfect_square_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_popcount __gmpz_popcount +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_pow_ui __gmpz_pow_ui +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_powm __gmpz_powm +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_sec __gmpz_powm_sec +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_ui __gmpz_powm_ui +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); + +#define mpz_probab_prime_p __gmpz_probab_prime_p +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_random __gmpz_random +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); + +#define mpz_random2 __gmpz_random2 +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); + +#define mpz_realloc2 __gmpz_realloc2 +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_remove __gmpz_remove +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_root __gmpz_root +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rootrem __gmpz_rootrem +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rrandomb __gmpz_rrandomb +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_scan0 __gmpz_scan0 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_scan1 __gmpz_scan1 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_set __gmpz_set +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); + +#define mpz_set_d __gmpz_set_d +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); + +#define mpz_set_f __gmpz_set_f +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); + +#define mpz_set_q __gmpz_set_q +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); +#endif + +#define mpz_set_si __gmpz_set_si +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); + +#define mpz_set_str __gmpz_set_str +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); + +#define mpz_set_ui __gmpz_set_ui +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); + +#define mpz_setbit __gmpz_setbit +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_size __gmpz_size +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_sizeinbase __gmpz_sizeinbase +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_sqrt __gmpz_sqrt +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); + +#define mpz_sqrtrem __gmpz_sqrtrem +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); + +#define mpz_sub __gmpz_sub +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_sub_ui __gmpz_sub_ui +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_ui_sub __gmpz_ui_sub +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); + +#define mpz_submul __gmpz_submul +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_submul_ui __gmpz_submul_ui +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_swap __gmpz_swap +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; + +#define mpz_tdiv_ui __gmpz_tdiv_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_tdiv_q __gmpz_tdiv_q +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_qr __gmpz_tdiv_qr +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_r __gmpz_tdiv_r +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tstbit __gmpz_tstbit +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_pow_ui __gmpz_ui_pow_ui +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_urandomb __gmpz_urandomb +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_urandomm __gmpz_urandomm +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); + +#define mpz_xor __gmpz_xor +#define mpz_eor __gmpz_xor +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); + + +/**************** Rational (i.e. Q) routines. ****************/ + +#define mpq_abs __gmpq_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_add __gmpq_add +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_canonicalize __gmpq_canonicalize +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); + +#define mpq_clear __gmpq_clear +__GMP_DECLSPEC void mpq_clear (mpq_ptr); + +#define mpq_clears __gmpq_clears +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); + +#define mpq_cmp __gmpq_cmp +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_si __gmpq_cmp_si +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_ui __gmpq_cmp_ui +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpq_div __gmpq_div +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_div_2exp __gmpq_div_2exp +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_equal __gmpq_equal +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpq_get_num __gmpq_get_num +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); + +#define mpq_get_den __gmpq_get_den +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); + +#define mpq_get_d __gmpq_get_d +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpq_get_str __gmpq_get_str +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); + +#define mpq_init __gmpq_init +__GMP_DECLSPEC void mpq_init (mpq_ptr); + +#define mpq_inits __gmpq_inits +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); + +#define mpq_inp_str __gmpq_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); +#endif + +#define mpq_inv __gmpq_inv +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); + +#define mpq_mul __gmpq_mul +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_mul_2exp __gmpq_mul_2exp +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_neg __gmpq_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_out_str __gmpq_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); +#endif + +#define mpq_set __gmpq_set +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); + +#define mpq_set_d __gmpq_set_d +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); + +#define mpq_set_den __gmpq_set_den +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); + +#define mpq_set_f __gmpq_set_f +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); + +#define mpq_set_num __gmpq_set_num +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); + +#define mpq_set_si __gmpq_set_si +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); + +#define mpq_set_str __gmpq_set_str +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); + +#define mpq_set_ui __gmpq_set_ui +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); + +#define mpq_set_z __gmpq_set_z +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); + +#define mpq_sub __gmpq_sub +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_swap __gmpq_swap +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; + + +/**************** Float (i.e. F) routines. ****************/ + +#define mpf_abs __gmpf_abs +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); + +#define mpf_add __gmpf_add +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_add_ui __gmpf_add_ui +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); +#define mpf_ceil __gmpf_ceil +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); + +#define mpf_clear __gmpf_clear +__GMP_DECLSPEC void mpf_clear (mpf_ptr); + +#define mpf_clears __gmpf_clears +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); + +#define mpf_cmp __gmpf_cmp +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_d __gmpf_cmp_d +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_si __gmpf_cmp_si +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_ui __gmpf_cmp_ui +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_div __gmpf_div +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_div_2exp __gmpf_div_2exp +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_div_ui __gmpf_div_ui +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_dump __gmpf_dump +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); + +#define mpf_eq __gmpf_eq +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sint_p __gmpf_fits_sint_p +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_slong_p __gmpf_fits_slong_p +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sshort_p __gmpf_fits_sshort_p +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_uint_p __gmpf_fits_uint_p +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ulong_p __gmpf_fits_ulong_p +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ushort_p __gmpf_fits_ushort_p +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_floor __gmpf_floor +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); + +#define mpf_get_d __gmpf_get_d +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpf_get_d_2exp __gmpf_get_d_2exp +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); + +#define mpf_get_default_prec __gmpf_get_default_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_prec __gmpf_get_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_si __gmpf_get_si +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_str __gmpf_get_str +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); + +#define mpf_get_ui __gmpf_get_ui +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_init __gmpf_init +__GMP_DECLSPEC void mpf_init (mpf_ptr); + +#define mpf_init2 __gmpf_init2 +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); + +#define mpf_inits __gmpf_inits +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); + +#define mpf_init_set __gmpf_init_set +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); + +#define mpf_init_set_d __gmpf_init_set_d +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); + +#define mpf_init_set_si __gmpf_init_set_si +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); + +#define mpf_init_set_str __gmpf_init_set_str +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); + +#define mpf_init_set_ui __gmpf_init_set_ui +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); + +#define mpf_inp_str __gmpf_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); +#endif + +#define mpf_integer_p __gmpf_integer_p +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_mul __gmpf_mul +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_mul_2exp __gmpf_mul_2exp +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_mul_ui __gmpf_mul_ui +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_neg __gmpf_neg +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); + +#define mpf_out_str __gmpf_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); +#endif + +#define mpf_pow_ui __gmpf_pow_ui +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_random2 __gmpf_random2 +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); + +#define mpf_reldiff __gmpf_reldiff +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_set __gmpf_set +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); + +#define mpf_set_d __gmpf_set_d +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); + +#define mpf_set_default_prec __gmpf_set_default_prec +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_prec __gmpf_set_prec +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); + +#define mpf_set_prec_raw __gmpf_set_prec_raw +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_q __gmpf_set_q +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); + +#define mpf_set_si __gmpf_set_si +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); + +#define mpf_set_str __gmpf_set_str +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); + +#define mpf_set_ui __gmpf_set_ui +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); + +#define mpf_set_z __gmpf_set_z +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); + +#define mpf_size __gmpf_size +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_sqrt __gmpf_sqrt +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); + +#define mpf_sqrt_ui __gmpf_sqrt_ui +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); + +#define mpf_sub __gmpf_sub +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_sub_ui __gmpf_sub_ui +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_swap __gmpf_swap +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; + +#define mpf_trunc __gmpf_trunc +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); + +#define mpf_ui_div __gmpf_ui_div +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_ui_sub __gmpf_ui_sub +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_urandomb __gmpf_urandomb +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); + + +/************ Low level positive-integer (i.e. N) routines. ************/ + +/* This is ugly, but we need to make user calls reach the prefixed function. */ + +#define mpn_add __MPN(add) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_add_1 __MPN(add_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_add_n __MPN(add_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_addmul_1 __MPN(addmul_1) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_cmp __MPN(cmp) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_divexact_by3(dst,src,size) \ + mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_divexact_by3c __MPN(divexact_by3c) +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divmod_1(qp,np,nsize,dlimb) \ + mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) + +#define mpn_divrem __MPN(divrem) +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_divrem_1 __MPN(divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divrem_2 __MPN(divrem_2) +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_gcd __MPN(gcd) +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_gcd_1 __MPN(gcd_1) +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_gcdext_1 __MPN(gcdext_1) +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); + +#define mpn_gcdext __MPN(gcdext) +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_get_str __MPN(get_str) +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); + +#define mpn_hamdist __MPN(hamdist) +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_lshift __MPN(lshift) +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_mod_1 __MPN(mod_1) +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul __MPN(mul) +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_mul_1 __MPN(mul_1) +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_mul_n __MPN(mul_n) +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_sqr __MPN(sqr) +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_neg __MPN(neg) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_com __MPN(com) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_perfect_square_p __MPN(perfect_square_p) +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_perfect_power_p __MPN(perfect_power_p) +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_popcount __MPN(popcount) +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_pow_1 __MPN(pow_1) +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + +/* undocumented now, but retained here for upward compatibility */ +#define mpn_preinv_mod_1 __MPN(preinv_mod_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_random __MPN(random) +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); + +#define mpn_random2 __MPN(random2) +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); + +#define mpn_rshift __MPN(rshift) +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_scan0 __MPN(scan0) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_scan1 __MPN(scan1) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_set_str __MPN(set_str) +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); + +#define mpn_sqrtrem __MPN(sqrtrem) +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_sub __MPN(sub) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_sub_1 __MPN(sub_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_sub_n __MPN(sub_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_submul_1 __MPN(submul_1) +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_tdiv_qr __MPN(tdiv_qr) +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_and_n __MPN(and_n) +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_andn_n __MPN(andn_n) +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nand_n __MPN(nand_n) +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_ior_n __MPN(ior_n) +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_iorn_n __MPN(iorn_n) +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nior_n __MPN(nior_n) +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xor_n __MPN(xor_n) +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xnor_n __MPN(xnor_n) +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_zero __MPN(zero) +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + + +/**************** mpz inlines ****************/ + +/* The following are provided as inlines where possible, but always exist as + library functions too, for binary compatibility. + + Within gmp itself this inlining generally isn't relied on, since it + doesn't get done for all compilers, whereas if something is worth + inlining then it's worth arranging always. + + There are two styles of inlining here. When the same bit of code is + wanted for the inline as for the library version, then __GMP_FORCE_foo + arranges for that code to be emitted and the __GMP_EXTERN_INLINE + directive suppressed, eg. mpz_fits_uint_p. When a different bit of code + is wanted for the inline than for the library version, then + __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs) +__GMP_EXTERN_INLINE void +mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size); +} +#endif + +#if GMP_NAIL_BITS == 0 +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)); +#else +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \ + || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS))); +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p) +#if ! defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p) +#if ! defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p) +#if ! defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui) +#if ! defined (__GMP_FORCE_mpz_get_ui) +__GMP_EXTERN_INLINE +#endif +unsigned long +mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings + about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland + C++ 6.0 warnings about condition always true for something like + "__GMP_ULONG_MAX < GMP_NUMB_MASK". */ +#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB) + /* limb==long and no nails, or limb==longlong, one limb is enough */ + return (__gmp_n != 0 ? __gmp_l : 0); +#else + /* limb==long and nails, need two limbs when available */ + __gmp_n = __GMP_ABS (__gmp_n); + if (__gmp_n <= 1) + return (__gmp_n != 0 ? __gmp_l : 0); + else + return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS); +#endif +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn) +#if ! defined (__GMP_FORCE_mpz_getlimbn) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_result = 0; + if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size))) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg) +__GMP_EXTERN_INLINE void +mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p) +#if ! defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */ + if (__GMP_LIKELY (__gmp_asize > 0)) + __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount) +#if ! defined (__GMP_FORCE_mpz_popcount) +__GMP_EXTERN_INLINE +#endif +mp_bitcnt_t +mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW +{ + mp_size_t __gmp_usize; + mp_bitcnt_t __gmp_result; + + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0); + if (__GMP_LIKELY (__gmp_usize > 0)) + __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q) +#if ! defined (__GMP_FORCE_mpz_set_q) +__GMP_EXTERN_INLINE +#endif +void +mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u)); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size) +#if ! defined (__GMP_FORCE_mpz_size) +__GMP_EXTERN_INLINE +#endif +size_t +mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + return __GMP_ABS (__gmp_z->_mp_size); +} +#endif + + +/**************** mpq inlines ****************/ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs) +__GMP_EXTERN_INLINE void +mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg) +__GMP_EXTERN_INLINE void +mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +#endif + + +/**************** mpn inlines ****************/ + +/* The comments with __GMPN_ADD_1 below apply here too. + + The test for FUNCTION returning 0 should predict well. If it's assumed + {yp,ysize} will usually have a random number of bits then the high limb + won't be full and a carry out will occur a good deal less than 50% of the + time. + + ysize==0 isn't a documented feature, but is used internally in a few + places. + + Producing cout last stops it using up a register during the main part of + the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))" + doesn't seem able to move the true and false legs of the conditional up + to the two places cout is generated. */ + +#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x; \ + \ + /* ASSERT ((ysize) >= 0); */ \ + /* ASSERT ((xsize) >= (ysize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */ \ + \ + __gmp_i = (ysize); \ + if (__gmp_i != 0) \ + { \ + if (FUNCTION (wp, xp, yp, __gmp_i)) \ + { \ + do \ + { \ + if (__gmp_i >= (xsize)) \ + { \ + (cout) = 1; \ + goto __gmp_done; \ + } \ + __gmp_x = (xp)[__gmp_i]; \ + } \ + while (TEST); \ + } \ + } \ + if ((wp) != (xp)) \ + __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \ + (cout) = 0; \ + __gmp_done: \ + ; \ + } while (0) + +#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \ + (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0)) +#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \ + (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0)) + + +/* The use of __gmp_i indexing is designed to ensure a compile time src==dst + remains nice and clear to the compiler, so that __GMPN_COPY_REST can + disappear, and the load/add/store gets a chance to become a + read-modify-write on CISC CPUs. + + Alternatives: + + Using a pair of pointers instead of indexing would be possible, but gcc + isn't able to recognise compile-time src==dst in that case, even when the + pointers are incremented more or less together. Other compilers would + very likely have similar difficulty. + + gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or + similar to detect a compile-time src==dst. This works nicely on gcc + 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems + to be always false, for a pointer p. But the current code form seems + good enough for src==dst anyway. + + gcc on x86 as usual doesn't give particularly good flags handling for the + carry/borrow detection. It's tempting to want some multi instruction asm + blocks to help it, and this was tried, but in truth there's only a few + instructions to save and any gain is all too easily lost by register + juggling setting up for the asm. */ + +#if GMP_NAIL_BITS == 0 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r; \ + if (CB (__gmp_r, __gmp_x, (v))) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r; \ + ++__gmp_i; \ + if (!CB (__gmp_r, __gmp_x, 1)) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#if GMP_NAIL_BITS >= 1 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r & GMP_NUMB_MASK; \ + if (__gmp_r >> GMP_NUMB_BITS != 0) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \ + ++__gmp_i; \ + if (__gmp_r >> GMP_NUMB_BITS == 0) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#define __GMPN_ADDCB(r,x,y) ((r) < (y)) +#define __GMPN_SUBCB(r,x,y) ((x) < (y)) + +#define __GMPN_ADD_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB) +#define __GMPN_SUB_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB) + + +/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or + negative. size==0 is allowed. On random data usually only one limb will + need to be examined to get a result, so it's worth having it inline. */ +#define __GMPN_CMP(result, xp, yp, size) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_y; \ + \ + /* ASSERT ((size) >= 0); */ \ + \ + (result) = 0; \ + __gmp_i = (size); \ + while (--__gmp_i >= 0) \ + { \ + __gmp_x = (xp)[__gmp_i]; \ + __gmp_y = (yp)[__gmp_i]; \ + if (__gmp_x != __gmp_y) \ + { \ + /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \ + (result) = (__gmp_x > __gmp_y ? 1 : -1); \ + break; \ + } \ + } \ + } while (0) + + +#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \ + } while (0) +#endif + +/* Copy {src,size} to {dst,size}, starting at "start". This is designed to + keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1, + __GMPN_ADD, etc. */ +#if ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + mp_size_t __gmp_j; \ + /* ASSERT ((size) >= 0); */ \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \ + __GMP_CRAY_Pragma ("_CRI ivdep"); \ + for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \ + (dst)[__gmp_j] = (src)[__gmp_j]; \ + } while (0) +#endif + +/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use + mpn_copyi if there's a native version, and if we don't mind demanding + binary compatibility for it (on targets which use it). */ + +#if ! defined (__GMPN_COPY) +#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0) +#endif + + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add) +#if ! defined (__GMP_FORCE_mpn_add) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1) +#if ! defined (__GMP_FORCE_mpn_add_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp) +#if ! defined (__GMP_FORCE_mpn_cmp) +__GMP_EXTERN_INLINE +#endif +int +mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW +{ + int __gmp_result; + __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub) +#if ! defined (__GMP_FORCE_mpn_sub) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1) +#if ! defined (__GMP_FORCE_mpn_sub_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg) +#if ! defined (__GMP_FORCE_mpn_neg) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +#endif + +#if defined (__cplusplus) +} +#endif + + +/* Allow faster testing for negative, zero, and positive. */ +#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0) +#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0) +#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0) + +/* When using GCC, optimize certain common comparisons. */ +#if defined (__GNUC__) && __GNUC__ >= 2 +#define mpz_cmp_ui(Z,UI) \ + (__builtin_constant_p (UI) && (UI) == 0 \ + ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI)) +#define mpz_cmp_si(Z,SI) \ + (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z) \ + : __builtin_constant_p (SI) && (SI) > 0 \ + ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI)) \ + : _mpz_cmp_si (Z,SI)) +#define mpq_cmp_ui(Q,NUI,DUI) \ + (__builtin_constant_p (NUI) && (NUI) == 0 \ + ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI)) +#define mpq_cmp_si(q,n,d) \ + (__builtin_constant_p ((n) >= 0) && (n) >= 0 \ + ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \ + : _mpq_cmp_si (q, n, d)) +#else +#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI) +#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI) +#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI) +#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d) +#endif + + +/* Using "&" rather than "&&" means these can come out branch-free. Every + mpz_t has at least one limb allocated, so fetching the low limb is always + allowed. */ +#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0])) +#define mpz_even_p(z) (! mpz_odd_p (z)) + + +/**************** C++ routines ****************/ + +#ifdef __cplusplus +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr); +#endif + + +/* Source-level compatibility with GMP 2 and earlier. */ +#define mpn_divmod(qp,np,nsize,dp,dsize) \ + mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize) + +/* Source-level compatibility with GMP 1. */ +#define mpz_mdiv mpz_fdiv_q +#define mpz_mdivmod mpz_fdiv_qr +#define mpz_mmod mpz_fdiv_r +#define mpz_mdiv_ui mpz_fdiv_q_ui +#define mpz_mdivmod_ui(q,r,n,d) \ + (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d)) +#define mpz_mmod_ui(r,n,d) \ + (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d)) + +/* Useful synonyms, but not quite compatible with GMP 1. */ +#define mpz_div mpz_fdiv_q +#define mpz_divmod mpz_fdiv_qr +#define mpz_div_ui mpz_fdiv_q_ui +#define mpz_divmod_ui mpz_fdiv_qr_ui +#define mpz_div_2exp mpz_fdiv_q_2exp +#define mpz_mod_2exp mpz_fdiv_r_2exp + +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; + +/* Define CC and CFLAGS which were used to build this version of GMP */ +#define __GMP_CC "gcc -std=gnu99" +#define __GMP_CFLAGS "-marm -O2 -pedantic -fomit-frame-pointer" + +/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + +#define __GMP_H__ +#endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhf/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/Makefile.inc new file mode 100644 index 000000000..df204c77a --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/Makefile.inc @@ -0,0 +1,204 @@ +# $NetBSD: Makefile.inc,v 1.2 2013/11/29 08:03:42 mrg Exp $ + +SRCS+= \ + random.c \ + toom_interpolate_7pts.c \ + divrem_2.c \ + sbpi1_divappr_q.c \ + random2.c \ + mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ + toom32_mul.c \ + toom44_mul.c \ + toom8h_mul.c \ + toom2_sqr.c \ + zero.c \ + mod_1_4.c \ + gcdext.c \ + add_err3_n.c \ + binvert.c \ + mu_div_q.c \ + invertappr.c \ + add_n_sub_n.c \ + dump.c \ + mu_divappr_q.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ + toom6_sqr.c \ + divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ + mod_1.c \ + toom42_mulmid.c \ + divexact.c \ + jacobi.c \ + powlo.c \ + mul.c \ + set_str.c \ + toom42_mul.c \ + toom54_mul.c \ + toom_interpolate_6pts.c \ + dcpi1_divappr_q.c \ + toom_eval_dgr3_pm2.c \ + mod_1_3.c \ + toom_couple_handling.c \ + add.c \ + div_qr_2.c \ + toom_interpolate_12pts.c \ + perfsqr.c \ + toom53_mul.c \ + toom_eval_pm2exp.c \ + mu_div_qr.c \ + toom_interpolate_16pts.c \ + bdiv_q.c \ + toom22_mul.c \ + bsqrtinv.c \ + toom4_sqr.c \ + div_q.c \ + jacbase.c \ + hgcd_matrix.c \ + mullo_n.c \ + toom33_mul.c \ + toom_eval_dgr3_pm1.c \ + mod_1_2.c \ + sub_1.c \ + add_err2_n.c \ + trialdiv.c \ + add_1.c \ + sqr_basecase.c \ + toom_interpolate_5pts.c \ + sbpi1_bdiv_q.c \ + pre_mod_1.c \ + hgcd.c \ + sqrtrem.c \ + bdiv_q_1.c \ + gcdext_1.c \ + toom63_mul.c \ + div_qr_2u_pi1.c \ + mul_basecase.c \ + toom8_sqr.c \ + neg.c \ + gcdext_lehmer.c \ + divis.c \ + dcpi1_div_q.c \ + toom_eval_pm2.c \ + hgcd2.c \ + toom62_mul.c \ + comb_tables.c \ + sbpi1_bdiv_qr.c \ + sub_err2_n.c \ + scan1.c \ + brootinv.c \ + pre_divrem_1.c \ + perfpow.c \ + get_str.c \ + mulmod_bnm1.c \ + mullo_basecase.c \ + tdiv_qr.c \ + div_qr_2n_pi1.c \ + toom43_mul.c \ + mod_1_1.c \ + matrix22_mul.c \ + powm_sec.c \ + divrem.c \ + bsqrt.c \ + gcd_1.c \ + dcpi1_bdiv_qr.c \ + mul_n.c \ + redc_2.c \ + toom6h_mul.c \ + sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ + powm.c \ + rootrem.c \ + toom_interpolate_8pts.c \ + remove.c \ + dive_1.c \ + cmp.c \ + toom_eval_pm1.c \ + hgcd_appr.c \ + scan0.c \ + gcd_subdiv_step.c \ + sbpi1_div_qr.c \ + invert.c \ + sub.c \ + toom_eval_pm2rexp.c \ + broot.c \ + dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ + redc_1.c \ + sqr.c \ + nussbaumer_mul.c \ + mu_bdiv_qr.c \ + pow_1.c \ + get_d.c \ + toom52_mul.c \ + sbpi1_div_q.c \ + diveby3.c \ + fib2_ui.c \ + bdiv_qr.c \ + hgcd_jacobi.c \ + toom3_sqr.c \ + gcd.c \ + redc_n.c \ + sub_err1_n.c \ + +C_SRCS_LIST= \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + +ASM_SRCS_LIST= \ + nand_n.asm mpn/arm/logops_n.asm \ + rsh1sub_n.asm mpn/arm/rsh1aors_n.asm \ + add_n.asm mpn/arm/aors_n.asm \ + rsh1add_n.asm mpn/arm/rsh1aors_n.asm \ + sublsh1_n.asm mpn/arm/aorslsh1_n.asm \ + addcnd_n.asm mpn/arm/aorscnd_n.asm \ + xor_n.asm mpn/arm/logops_n.asm \ + submul_1.asm mpn/arm/aorsmul_1.asm \ + nior_n.asm mpn/arm/logops_n.asm \ + lshift.asm mpn/arm/lshift.asm \ + and_n.asm mpn/arm/logops_n.asm \ + mul_1.asm mpn/arm/mul_1.asm \ + copyd.asm mpn/arm/copyd.asm \ + bdiv_dbm1c.asm mpn/arm/bdiv_dbm1c.asm \ + udiv.asm mpn/arm/udiv.asm \ + andn_n.asm mpn/arm/logops_n.asm \ + com.asm mpn/arm/com.asm \ + copyi.asm mpn/arm/copyi.asm \ + subcnd_n.asm mpn/arm/aorscnd_n.asm \ + rshift.asm mpn/arm/rshift.asm \ + iorn_n.asm mpn/arm/logops_n.asm \ + ior_n.asm mpn/arm/logops_n.asm \ + mod_34lsub1.asm mpn/arm/mod_34lsub1.asm \ + xnor_n.asm mpn/arm/logops_n.asm \ + lshiftc.asm mpn/arm/lshiftc.asm \ + mode1o.asm mpn/arm/mode1o.asm \ + addlsh1_n.asm mpn/arm/aorslsh1_n.asm \ + invert_limb.asm mpn/arm/invert_limb.asm \ + addmul_1.asm mpn/arm/aorsmul_1.asm \ + sub_n.asm mpn/arm/aors_n.asm \ + +gen-trialdivtab: gen-trialdivtab.c + ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm + +GMP_LIMB_BITS=32 + +trialdiv.c: trialdivtab.h +trialdivtab.h: gen-trialdivtab + ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h + +CLEANFILES+= trialdivtab.h + +M4FLAGS= -DPIC +COPTS+= -fPIC diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.h b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.h new file mode 100644 index 000000000..bc651bca0 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.h @@ -0,0 +1,630 @@ +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* + +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation; either version 3 of the License, or (at +your option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. +*/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* The gmp-mparam.h file (a string) the tune program should suggest updating. + */ +#define GMP_MPARAM_H_SUGGEST "./mpn/arm/gmp-mparam.h" + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if alloca() works (via gmp-impl.h). */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */ +#define HAVE_ATTRIBUTE_CONST 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */ +#define HAVE_ATTRIBUTE_MALLOC 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX))) + */ +#define HAVE_ATTRIBUTE_MODE 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */ +#define HAVE_ATTRIBUTE_NORETURN 1 + +/* Define to 1 if you have the `attr_get' function. */ +/* #undef HAVE_ATTR_GET */ + +/* Define to 1 if tests/libtests has calling conventions checking for the CPU + */ +#define HAVE_CALLING_CONVENTIONS 1 + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the `clock_gettime' function */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `cputime' function. */ +/* #undef HAVE_CPUTIME */ + +/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't. + */ +#define HAVE_DECL_FGETC 1 + +/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't. + */ +#define HAVE_DECL_FSCANF 1 + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +#define HAVE_DECL_OPTARG 1 + +/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_ERRLIST 1 + +/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_NERR 1 + +/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't. + */ +#define HAVE_DECL_UNGETC 1 + +/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VFPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define one of the following to 1 for the format of a `double'. + If your format is not among these choices, or you don't know what it is, + then leave all undefined. + IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves + swapped, as used by ARM CPUs in little endian mode. */ +/* #undef HAVE_DOUBLE_IEEE_BIG_ENDIAN */ +#define HAVE_DOUBLE_IEEE_LITTLE_ENDIAN 1 +/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */ +/* #undef HAVE_DOUBLE_VAX_D */ +/* #undef HAVE_DOUBLE_VAX_G */ +/* #undef HAVE_DOUBLE_CRAY_CFP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define one of these to 1 for the host CPU family. + If your CPU is not in any of these families, leave all undefined. + For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */ +/* #undef HAVE_HOST_CPU_FAMILY_alpha */ +/* #undef HAVE_HOST_CPU_FAMILY_m68k */ +/* #undef HAVE_HOST_CPU_FAMILY_power */ +/* #undef HAVE_HOST_CPU_FAMILY_powerpc */ +/* #undef HAVE_HOST_CPU_FAMILY_x86 */ +/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */ + +/* Define one of the following to 1 for the host CPU, as per the output of + ./config.guess. If your CPU is not listed here, leave all undefined. */ +/* #undef HAVE_HOST_CPU_alphaev67 */ +/* #undef HAVE_HOST_CPU_alphaev68 */ +/* #undef HAVE_HOST_CPU_alphaev7 */ +/* #undef HAVE_HOST_CPU_m68020 */ +/* #undef HAVE_HOST_CPU_m68030 */ +/* #undef HAVE_HOST_CPU_m68040 */ +/* #undef HAVE_HOST_CPU_m68060 */ +/* #undef HAVE_HOST_CPU_m68360 */ +/* #undef HAVE_HOST_CPU_powerpc604 */ +/* #undef HAVE_HOST_CPU_powerpc604e */ +/* #undef HAVE_HOST_CPU_powerpc750 */ +/* #undef HAVE_HOST_CPU_powerpc7400 */ +/* #undef HAVE_HOST_CPU_supersparc */ +/* #undef HAVE_HOST_CPU_i386 */ +/* #undef HAVE_HOST_CPU_i586 */ +/* #undef HAVE_HOST_CPU_i686 */ +/* #undef HAVE_HOST_CPU_pentium */ +/* #undef HAVE_HOST_CPU_pentiummmx */ +/* #undef HAVE_HOST_CPU_pentiumpro */ +/* #undef HAVE_HOST_CPU_pentium2 */ +/* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ + +/* Define to 1 if the system has the type `intmax_t'. */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INVENT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define one of these to 1 for the endianness of `mp_limb_t'. + If the endianness is not a simple big or little, or you don't know what + it is, then leave both undefined. */ +/* #undef HAVE_LIMB_BIG_ENDIAN */ +#define HAVE_LIMB_LITTLE_ENDIAN 1 + +/* Define to 1 if you have the `localeconv' function. */ +#define HAVE_LOCALECONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if the system has the type `long double'. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 each of the following for which a native (ie. CPU specific) + implementation of the corresponding routine exists. */ +#define HAVE_NATIVE_mpn_add_n 1 +/* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +#define HAVE_NATIVE_mpn_add_nc 1 +/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +#define HAVE_NATIVE_mpn_addcnd_n 1 +#define HAVE_NATIVE_mpn_addlsh1_n 1 +/* #undef HAVE_NATIVE_mpn_addlsh2_n */ +/* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addmul_1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2 */ +/* #undef HAVE_NATIVE_mpn_addmul_3 */ +/* #undef HAVE_NATIVE_mpn_addmul_4 */ +/* #undef HAVE_NATIVE_mpn_addmul_5 */ +/* #undef HAVE_NATIVE_mpn_addmul_6 */ +/* #undef HAVE_NATIVE_mpn_addmul_7 */ +/* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 +/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ +#define HAVE_NATIVE_mpn_com 1 +#define HAVE_NATIVE_mpn_copyd 1 +#define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ +/* #undef HAVE_NATIVE_mpn_divexact_1 */ +/* #undef HAVE_NATIVE_mpn_divexact_by3c */ +/* #undef HAVE_NATIVE_mpn_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_divrem_1c */ +/* #undef HAVE_NATIVE_mpn_divrem_2 */ +/* #undef HAVE_NATIVE_mpn_gcd_1 */ +/* #undef HAVE_NATIVE_mpn_hamdist */ +#define HAVE_NATIVE_mpn_invert_limb 1 +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +#define HAVE_NATIVE_mpn_lshiftc 1 +/* #undef HAVE_NATIVE_mpn_lshsub_n */ +/* #undef HAVE_NATIVE_mpn_mod_1 */ +/* #undef HAVE_NATIVE_mpn_mod_1_1p */ +/* #undef HAVE_NATIVE_mpn_mod_1c */ +/* #undef HAVE_NATIVE_mpn_mod_1s_2p */ +/* #undef HAVE_NATIVE_mpn_mod_1s_4p */ +#define HAVE_NATIVE_mpn_mod_34lsub1 1 +/* #undef HAVE_NATIVE_mpn_modexact_1_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 +#define HAVE_NATIVE_mpn_mul_1 1 +/* #undef HAVE_NATIVE_mpn_mul_1c */ +/* #undef HAVE_NATIVE_mpn_mul_2 */ +/* #undef HAVE_NATIVE_mpn_mul_3 */ +/* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ +/* #undef HAVE_NATIVE_mpn_mul_basecase */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 +/* #undef HAVE_NATIVE_mpn_popcount */ +/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ +/* #undef HAVE_NATIVE_mpn_redc_1 */ +/* #undef HAVE_NATIVE_mpn_redc_2 */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1add_nc */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +#define HAVE_NATIVE_mpn_rshift 1 +/* #undef HAVE_NATIVE_mpn_sqr_basecase */ +/* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#define HAVE_NATIVE_mpn_sub_n 1 +#define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 +#define HAVE_NATIVE_mpn_sublsh1_n 1 +/* #undef HAVE_NATIVE_mpn_sublsh2_n */ +/* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ +#define HAVE_NATIVE_mpn_udiv_qrnnd 1 +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 + +/* Define to 1 if you have the `nl_langinfo' function. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `obstack_vprintf' function. */ +/* #undef HAVE_OBSTACK_VPRINTF */ + +/* Define to 1 if you have the `popen' function. */ +#define HAVE_POPEN 1 + +/* Define to 1 if you have the `processor_info' function. */ +/* #undef HAVE_PROCESSOR_INFO */ + +/* Define to 1 if `struct pst_processor' exists and contains + `psp_iticksperclktick'. */ +/* #undef HAVE_PSP_ITICKSPERCLKTICK */ + +/* Define to 1 if you have the `pstat_getprocessor' function. */ +/* #undef HAVE_PSTAT_GETPROCESSOR */ + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#define HAVE_PTRDIFF_T 1 + +/* Define to 1 if the system has the type `quad_t'. */ +#define HAVE_QUAD_T 1 + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `read_real_time' function. */ +/* #undef HAVE_READ_REAL_TIME */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the `sigstack' function. */ +/* #undef HAVE_SIGSTACK */ + +/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */ +/* #undef HAVE_SPEED_CYCLECOUNTER */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SSTREAM */ + +/* Define to 1 if the system has the type `stack_t'. */ +#define HAVE_STACK_T 1 + +/* Define to 1 if exists and works */ +#define HAVE_STDARG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if the system has the type `std::locale'. */ +/* #undef HAVE_STD__LOCALE */ + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if cpp supports the ANSI # stringizing operator. */ +#define HAVE_STRINGIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysctlbyname' function. */ +#define HAVE_SYSCTLBYNAME 1 + +/* Define to 1 if you have the `syssgi' function. */ +/* #undef HAVE_SYSSGI */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ATTRIBUTES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOGRAPH_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROCESSOR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSSGI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if the system has the type `uint_least32_t'. */ +#define HAVE_UINT_LEAST32_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vsnprintf' function and it works properly. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + +/* Assembler local label prefix */ +#define LSYM_PREFIX ".L" + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "gmp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU MP" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU MP 5.1.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gmp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/gmp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "5.1.3" + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* The size of `mp_limb_t', as computed by sizeof. */ +#define SIZEOF_MP_LIMB_T 4 + +/* The size of `unsigned', as computed by sizeof. */ +#define SIZEOF_UNSIGNED 4 + +/* The size of `unsigned long', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_LONG 4 + +/* The size of `unsigned short', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_SHORT 2 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 4 + +/* Define to 1 if sscanf requires writable inputs */ +/* #undef SSCANF_WRITABLE_INPUT */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */ +#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC + +/* Version number of package */ +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 + +/* Define to 1 to enable ASSERT checking, per --enable-assert */ +/* #undef WANT_ASSERT */ + +/* Define to 1 when building a fat binary. */ +/* #undef WANT_FAT_BINARY */ + +/* Define to 1 to enable FFTs for multiplication, per --enable-fft */ +#define WANT_FFT 1 + +/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per + --enable-old-fft-full */ +/* #undef WANT_OLD_FFT_FULL */ + +/* Define to 1 if --enable-profiling=gprof */ +/* #undef WANT_PROFILING_GPROF */ + +/* Define to 1 if --enable-profiling=instrument */ +/* #undef WANT_PROFILING_INSTRUMENT */ + +/* Define to 1 if --enable-profiling=prof */ +/* #undef WANT_PROFILING_PROF */ + +/* Define one of these to 1 for the desired temporary memory allocation + method, per --enable-alloca. */ +#define WANT_TMP_ALLOCA 1 +/* #undef WANT_TMP_REENTRANT */ +/* #undef WANT_TMP_NOTREENTRANT */ +/* #undef WANT_TMP_DEBUG */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.m4 new file mode 100644 index 000000000..1e0ed7ff2 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/config.m4 @@ -0,0 +1,35 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(,0) +define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.globl>) +define(, <>) +define(, <>) +define(, < .section .rodata>) +define(, <.type $1,#$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) +define(,<78>) +define(,<41>) +define(,<4>) +define(,32) +define(,0) +define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) +>) +changequote(`,') +ifdef(`__CONFIG_M4_INCLUDED__',,` +include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +include_mpn(`arm/arm-defs.m4') +define_not_for_expansion(`HAVE_HOST_CPU_arm') +define_not_for_expansion(`HAVE_ABI_standard') +define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') +define_not_for_expansion(`HAVE_DOUBLE_IEEE_LITTLE_ENDIAN') +') +define(`__CONFIG_M4_INCLUDED__') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp-mparam.h new file mode 100644 index 000000000..e6321dde8 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp-mparam.h @@ -0,0 +1,116 @@ +/* gmp-mparam.h -- Compiler/machine parameter header file. + +Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2009, 2010 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#define GMP_LIMB_BITS 32 +#define BYTES_PER_MP_LIMB 4 + +/* 1193MHz ARM (gcc55.fsffrance.org) */ + +#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */ +#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1_NORM_THRESHOLD 0 /* always */ +#define MOD_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1N_TO_MOD_1_1_THRESHOLD 56 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 11 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ +#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71 +#define USE_PREINV_DIVREM_1 1 /* preinv always */ +#define DIVREM_2_THRESHOLD 0 /* preinv always */ +#define DIVEXACT_1_THRESHOLD 0 /* always */ +#define BMOD_1_TO_MOD_1_THRESHOLD 41 + +#define MUL_TOOM22_THRESHOLD 36 +#define MUL_TOOM33_THRESHOLD 125 +#define MUL_TOOM44_THRESHOLD 193 +#define MUL_TOOM6H_THRESHOLD 303 +#define MUL_TOOM8H_THRESHOLD 418 + +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 125 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 176 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 114 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 129 + +#define SQR_BASECASE_THRESHOLD 12 +#define SQR_TOOM2_THRESHOLD 78 +#define SQR_TOOM3_THRESHOLD 137 +#define SQR_TOOM4_THRESHOLD 212 +#define SQR_TOOM6_THRESHOLD 306 +#define SQR_TOOM8_THRESHOLD 422 + +#define MULMOD_BNM1_THRESHOLD 20 +#define SQRMOD_BNM1_THRESHOLD 26 + +#define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */ +#define MUL_FFT_TABLE3 \ + { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ + { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ + { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \ + { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \ + { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \ + { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} } +#define MUL_FFT_TABLE3_SIZE 28 +#define MUL_FFT_THRESHOLD 5760 + +#define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */ +#define SQR_FFT_TABLE3 \ + { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \ + { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \ + { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \ + { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ + { 16384,15}, { 32768,16} } +#define SQR_FFT_TABLE3_SIZE 26 +#define SQR_FFT_THRESHOLD 3776 + +#define MULLO_BASECASE_THRESHOLD 0 /* always */ +#define MULLO_DC_THRESHOLD 137 +#define MULLO_MUL_N_THRESHOLD 11479 + +#define DC_DIV_QR_THRESHOLD 150 +#define DC_DIVAPPR_Q_THRESHOLD 494 +#define DC_BDIV_QR_THRESHOLD 148 +#define DC_BDIV_Q_THRESHOLD 345 + +#define INV_MULMOD_BNM1_THRESHOLD 70 +#define INV_NEWTON_THRESHOLD 474 +#define INV_APPR_THRESHOLD 478 + +#define BINV_NEWTON_THRESHOLD 542 +#define REDC_1_TO_REDC_N_THRESHOLD 117 + +#define MU_DIV_QR_THRESHOLD 2089 +#define MU_DIVAPPR_Q_THRESHOLD 2172 +#define MUPI_DIV_QR_THRESHOLD 225 +#define MU_BDIV_QR_THRESHOLD 1528 +#define MU_BDIV_Q_THRESHOLD 2089 + +#define MATRIX22_STRASSEN_THRESHOLD 16 +#define HGCD_THRESHOLD 197 +#define GCD_DC_THRESHOLD 902 +#define GCDEXT_DC_THRESHOLD 650 +#define JACOBI_BASE_METHOD 2 + +#define GET_STR_DC_THRESHOLD 20 +#define GET_STR_PRECOMPUTE_THRESHOLD 39 +#define SET_STR_DC_THRESHOLD 1045 +#define SET_STR_PRECOMPUTE_THRESHOLD 2147 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp.h new file mode 100644 index 000000000..c05a4bcf5 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhf/gmp.h @@ -0,0 +1,2231 @@ +/* Definitions for GNU multiple precision functions. -*- mode: c -*- + +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#ifndef __GMP_H__ + +#if defined (__cplusplus) +#include /* for std::istream, std::ostream, std::string */ +#include +#endif + + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +#define __GMP_HAVE_HOST_CPU_FAMILY_power 0 +#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 +#define GMP_LIMB_BITS 32 +#define GMP_NAIL_BITS 0 +#endif +#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) +#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS) +#define GMP_NUMB_MAX GMP_NUMB_MASK +#define GMP_NAIL_MASK (~ GMP_NUMB_MASK) + + +/* The following (everything under ifndef __GNU_MP__) must be identical in + gmp.h and mp.h to allow both to be included in an application or during + the library build. */ +#ifndef __GNU_MP__ +#define __GNU_MP__ 5 + +#define __need_size_t /* tell gcc stddef.h we only want size_t */ +#if defined (__cplusplus) +#include /* for size_t */ +#else +#include /* for size_t */ +#endif +#undef __need_size_t + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +/* #undef _LONG_LONG_LIMB */ +#define __GMP_LIBGMP_DLL 0 +#endif + + +/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in + all other circumstances. + + When compiling objects for libgmp, __GMP_DECLSPEC is an export directive, + or when compiling for an application it's an import directive. The two + cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles + (and not defined from an application). + + __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX + indicates when building libgmpxx, and in that case libgmpxx functions are + exports, but libgmp functions which might get called are imports. + + Libtool DLL_EXPORT define is not used. + + There's no attempt to support GMP built both static and DLL. Doing so + would mean applications would have to tell us which of the two is going + to be used when linking, and that seems very tedious and error prone if + using GMP by hand, and equally tedious from a package since autoconf and + automake don't give much help. + + __GMP_DECLSPEC is required on all documented global functions and + variables, the various internals in gmp-impl.h etc can be left unadorned. + But internals used by the test programs or speed measuring programs + should have __GMP_DECLSPEC, and certainly constants or variables must + have it or the wrong address will be resolved. + + In gcc __declspec can go at either the start or end of a prototype. + + In Microsoft C __declspec must go at the start, or after the type like + void __declspec(...) *foo()". There's no __dllexport or anything to + guard against someone foolish #defining dllexport. _export used to be + available, but no longer. + + In Borland C _export still exists, but needs to go after the type, like + "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to + make use of that. Probably more trouble than it's worth. */ + +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) +#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) +#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) +#endif +#ifdef __WATCOMC__ +#define __GMP_DECLSPEC_EXPORT __export +#define __GMP_DECLSPEC_IMPORT __import +#endif +#ifdef __IBMC__ +#define __GMP_DECLSPEC_EXPORT _Export +#define __GMP_DECLSPEC_IMPORT _Import +#endif + +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMP +/* compiling to go into a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into an application which will link to a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC +#endif + + +#ifdef __GMP_SHORT_LIMB +typedef unsigned int mp_limb_t; +typedef int mp_limb_signed_t; +#else +#ifdef _LONG_LONG_LIMB +typedef unsigned long long int mp_limb_t; +typedef long long int mp_limb_signed_t; +#else +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +#endif +#endif +typedef unsigned long int mp_bitcnt_t; + +/* For reference, note that the name __mpz_struct gets into C++ mangled + function names, which means although the "__" suggests an internal, we + must leave this name for binary compatibility. */ +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +#endif /* __GNU_MP__ */ + + +typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ +typedef __mpz_struct mpz_t[1]; + +typedef mp_limb_t * mp_ptr; +typedef const mp_limb_t * mp_srcptr; +#if defined (_CRAY) && ! defined (_CRAYMPP) +/* plain `int' is much faster (48 bits) */ +#define __GMP_MP_SIZE_T_INT 1 +typedef int mp_size_t; +typedef int mp_exp_t; +#else +#define __GMP_MP_SIZE_T_INT 0 +typedef long int mp_size_t; +typedef long int mp_exp_t; +#endif + +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; + +typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */ +typedef __mpq_struct mpq_t[1]; + +typedef struct +{ + int _mp_prec; /* Max precision, in number of `mp_limb_t's. + Set by mpf_init and modified by + mpf_set_prec. The area pointed to by the + _mp_d field contains `prec' + 1 limbs. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpf_struct; + +/* typedef __mpf_struct MP_FLOAT; */ +typedef __mpf_struct mpf_t[1]; + +/* Available random number generation algorithms. */ +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */ +} gmp_randalg_t; + +/* Random state struct. */ +typedef struct +{ + mpz_t _mp_seed; /* _mp_d member points to state of the generator. */ + gmp_randalg_t _mp_alg; /* Currently unused. */ + union { + void *_mp_lc; /* Pointer to function pointers structure. */ + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; + +/* Types for function declarations in gmp files. */ +/* ??? Should not pollute user name space with these ??? */ +typedef const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + + +/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common + section. */ +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMPXX +/* compiling to go into a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into a application which will link to a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC_XX +#endif + + +#ifndef __MPN +#define __MPN(x) __gmpn_##x +#endif + +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ +#define _GMP_H_HAVE_FILE 1 +#endif + +/* In ISO C, if a prototype involving "struct obstack *" is given without + that structure defined, then the struct is scoped down to just the + prototype, causing a conflict if it's subsequently defined for real. So + only give prototypes if we've got obstack.h. */ +#if defined (_OBSTACK_H) /* glibc */ +#define _GMP_H_HAVE_OBSTACK 1 +#endif + +/* The prototypes for gmp_vprintf etc are provided only if va_list is + available, via an application having included or . + Usually va_list is a typedef so can't be tested directly, but C99 + specifies that va_start is a macro (and it was normally a macro on past + systems too), so look for that. + + will define some sort of va_list for vprintf and vfprintf, but + let's not bother trying to use that since it's not standard and since + application uses for gmp_vprintf etc will almost certainly require the + whole or anyway. */ + +#ifdef va_start +#define _GMP_H_HAVE_VA_LIST 1 +#endif + +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GMP_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GMP_GNUC_PREREQ(maj, min) 0 +#endif + +/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically + it means a function does nothing but examine its arguments and memory + (global or via arguments) to generate a return value, but changes nothing + and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets + tune/common.c etc turn this off when trying to write timing loops. */ +#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +#define __GMP_ATTRIBUTE_PURE +#endif + + +/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean + to "g++ -Wold-style-cast". + + Casts in "extern inline" code within an extern "C" block don't induce + these warnings, so __GMP_CAST only needs to be used on documented + macros. */ + +#ifdef __cplusplus +#define __GMP_CAST(type, expr) (static_cast (expr)) +#else +#define __GMP_CAST(type, expr) ((type) (expr)) +#endif + + +/* An empty "throw ()" means the function doesn't throw any C++ exceptions, + this can save some stack frame info in applications. + + Currently it's given only on functions which never divide-by-zero etc, + don't allocate memory, and are expected to never need to allocate memory. + This leaves open the possibility of a C++ throw from a future GMP + exceptions scheme. + + mpz_set_ui etc are omitted to leave open the lazy allocation scheme + described in doc/tasks.html. mpz_get_d etc are omitted to leave open + exceptions for float overflows. + + Note that __GMP_NOTHROW must be given on any inlines the same as on their + prototypes (for g++ at least, where they're used together). Note also + that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like + __GMP_ATTRIBUTE_PURE. */ + +#if defined (__cplusplus) +#define __GMP_NOTHROW throw () +#else +#define __GMP_NOTHROW +#endif + + +/* PORTME: What other compilers have a useful "extern inline"? "static + inline" would be an acceptable substitute if the compiler (or linker) + discards unused statics. */ + + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC__ +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +#endif +#define __GMP_INLINE_PROTOTYPES 1 +#endif + +/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 + mode, which is the default), but an unnecessary local copy of foo is + emitted unless -O is used. "extern __inline" is accepted, but the + "extern" appears to be ignored, ie. it becomes a plain global function + but which is inlined within its file. Don't know if all old versions of + DEC C supported __inline, but as a start let's do the right thing for + current versions. */ +#ifdef __DECC +#define __GMP_EXTERN_INLINE static __inline +#endif + +/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict + ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes + place under -O. Without -O "foo" seems to be emitted whether it's used + or not, which is wasteful. "extern inline foo()" isn't useful, the + "extern" is apparently ignored, so foo is inlined if possible but also + emitted as a global, which causes multiple definition errors when + building a shared libgmp. */ +#ifdef __SCO_VERSION__ +#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif +#endif + +/* Microsoft's C compiler accepts __inline */ +#ifdef _MSC_VER +#define __GMP_EXTERN_INLINE __inline +#endif + +/* Recent enough Sun C compilers want "inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Somewhat older Sun C compilers want "static inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif + + +/* C++ always has "inline" and since it's a normal feature the linker should + discard duplicate non-inlined copies, or if it doesn't then that's a + problem for everyone, not just GMP. */ +#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + +/* By default, don't give a prototype when there's going to be an inline + version. Note in particular that Cray C++ objects to the combination of + prototype and inline. */ +#ifdef __GMP_EXTERN_INLINE +#ifndef __GMP_INLINE_PROTOTYPES +#define __GMP_INLINE_PROTOTYPES 0 +#endif +#else +#define __GMP_INLINE_PROTOTYPES 1 +#endif + + +#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i)) + +/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted + to int by "~". */ +#define __GMP_UINT_MAX (~ (unsigned) 0) +#define __GMP_ULONG_MAX (~ (unsigned long) 0) +#define __GMP_USHRT_MAX ((unsigned short) ~0) + + +/* __builtin_expect is in gcc 3.0, and not in 2.95. */ +#if __GMP_GNUC_PREREQ (3,0) +#define __GMP_LIKELY(cond) __builtin_expect ((cond) != 0, 1) +#define __GMP_UNLIKELY(cond) __builtin_expect ((cond) != 0, 0) +#else +#define __GMP_LIKELY(cond) (cond) +#define __GMP_UNLIKELY(cond) (cond) +#endif + +#ifdef _CRAY +#define __GMP_CRAY_Pragma(str) _Pragma (str) +#else +#define __GMP_CRAY_Pragma(str) +#endif + + +/* Allow direct user access to numerator and denominator of a mpq_t object. */ +#define mpq_numref(Q) (&((Q)->_mp_num)) +#define mpq_denref(Q) (&((Q)->_mp_den)) + + +#if defined (__cplusplus) +extern "C" { +using std::FILE; +#endif + +#define mp_set_memory_functions __gmp_set_memory_functions +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t)) __GMP_NOTHROW; + +#define mp_get_memory_functions __gmp_get_memory_functions +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t)) __GMP_NOTHROW; + +#define mp_bits_per_limb __gmp_bits_per_limb +__GMP_DECLSPEC extern const int mp_bits_per_limb; + +#define gmp_errno __gmp_errno +__GMP_DECLSPEC extern int gmp_errno; + +#define gmp_version __gmp_version +__GMP_DECLSPEC extern const char * const gmp_version; + + +/**************** Random number routines. ****************/ + +/* obsolete */ +#define gmp_randinit __gmp_randinit +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); + +#define gmp_randinit_default __gmp_randinit_default +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); + +#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); + +#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); + +#define gmp_randinit_mt __gmp_randinit_mt +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); + +#define gmp_randinit_set __gmp_randinit_set +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); + +#define gmp_randseed __gmp_randseed +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); + +#define gmp_randseed_ui __gmp_randseed_ui +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); + +#define gmp_randclear __gmp_randclear +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); + +#define gmp_urandomb_ui __gmp_urandomb_ui +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); + +#define gmp_urandomm_ui __gmp_urandomm_ui +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); + + +/**************** Formatted output routines. ****************/ + +#define gmp_asprintf __gmp_asprintf +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); + +#define gmp_fprintf __gmp_fprintf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); +#endif + +#define gmp_obstack_printf __gmp_obstack_printf +#if defined (_GMP_H_HAVE_OBSTACK) +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); +#endif + +#define gmp_obstack_vprintf __gmp_obstack_vprintf +#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); +#endif + +#define gmp_printf __gmp_printf +__GMP_DECLSPEC int gmp_printf (const char *, ...); + +#define gmp_snprintf __gmp_snprintf +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); + +#define gmp_sprintf __gmp_sprintf +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); + +#define gmp_vasprintf __gmp_vasprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); +#endif + +#define gmp_vfprintf __gmp_vfprintf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); +#endif + +#define gmp_vprintf __gmp_vprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); +#endif + +#define gmp_vsnprintf __gmp_vsnprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); +#endif + +#define gmp_vsprintf __gmp_vsprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); +#endif + + +/**************** Formatted input routines. ****************/ + +#define gmp_fscanf __gmp_fscanf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); +#endif + +#define gmp_scanf __gmp_scanf +__GMP_DECLSPEC int gmp_scanf (const char *, ...); + +#define gmp_sscanf __gmp_sscanf +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); + +#define gmp_vfscanf __gmp_vfscanf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); +#endif + +#define gmp_vscanf __gmp_vscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); +#endif + +#define gmp_vsscanf __gmp_vsscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); +#endif + + +/**************** Integer (i.e. Z) routines. ****************/ + +#define _mpz_realloc __gmpz_realloc +#define mpz_realloc __gmpz_realloc +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); + +#define mpz_abs __gmpz_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_add __gmpz_add +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_add_ui __gmpz_add_ui +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_addmul __gmpz_addmul +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_addmul_ui __gmpz_addmul_ui +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_and __gmpz_and +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_array_init __gmpz_array_init +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); + +#define mpz_bin_ui __gmpz_bin_ui +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_bin_uiui __gmpz_bin_uiui +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_cdiv_q __gmpz_cdiv_q +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_qr __gmpz_cdiv_qr +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_r __gmpz_cdiv_r +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_ui __gmpz_cdiv_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_clear __gmpz_clear +__GMP_DECLSPEC void mpz_clear (mpz_ptr); + +#define mpz_clears __gmpz_clears +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); + +#define mpz_clrbit __gmpz_clrbit +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_cmp __gmpz_cmp +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmp_d __gmpz_cmp_d +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_si __gmpz_cmp_si +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_ui __gmpz_cmp_ui +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs __gmpz_cmpabs +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_d __gmpz_cmpabs_d +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_ui __gmpz_cmpabs_ui +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_com __gmpz_com +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); + +#define mpz_combit __gmpz_combit +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); + +#define mpz_congruent_p __gmpz_congruent_p +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_ui_p __gmpz_congruent_ui_p +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divexact __gmpz_divexact +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_divexact_ui __gmpz_divexact_ui +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_divisible_p __gmpz_divisible_p +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_ui_p __gmpz_divisible_ui_p +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_dump __gmpz_dump +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); + +#define mpz_export __gmpz_export +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); + +#define mpz_fac_ui __gmpz_fac_ui +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); + +#define mpz_fdiv_q __gmpz_fdiv_q +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_qr __gmpz_fdiv_qr +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_r __gmpz_fdiv_r +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_ui __gmpz_fdiv_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_fib_ui __gmpz_fib_ui +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); + +#define mpz_fib2_ui __gmpz_fib2_ui +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_fits_sint_p __gmpz_fits_sint_p +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_slong_p __gmpz_fits_slong_p +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_sshort_p __gmpz_fits_sshort_p +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_uint_p __gmpz_fits_uint_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ulong_p __gmpz_fits_ulong_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ushort_p __gmpz_fits_ushort_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_gcd __gmpz_gcd +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_gcd_ui __gmpz_gcd_ui +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_gcdext __gmpz_gcdext +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_get_d __gmpz_get_d +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_get_d_2exp __gmpz_get_d_2exp +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); + +#define mpz_get_si __gmpz_get_si +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_get_str __gmpz_get_str +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); + +#define mpz_get_ui __gmpz_get_ui +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_getlimbn __gmpz_getlimbn +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_hamdist __gmpz_hamdist +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_import __gmpz_import +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); + +#define mpz_init __gmpz_init +__GMP_DECLSPEC void mpz_init (mpz_ptr); + +#define mpz_init2 __gmpz_init2 +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_inits __gmpz_inits +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); + +#define mpz_init_set __gmpz_init_set +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); + +#define mpz_init_set_d __gmpz_init_set_d +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); + +#define mpz_init_set_si __gmpz_init_set_si +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); + +#define mpz_init_set_str __gmpz_init_set_str +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); + +#define mpz_init_set_ui __gmpz_init_set_ui +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); + +#define mpz_inp_raw __gmpz_inp_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); +#endif + +#define mpz_inp_str __gmpz_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); +#endif + +#define mpz_invert __gmpz_invert +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_ior __gmpz_ior +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_jacobi __gmpz_jacobi +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker mpz_jacobi /* alias */ + +#define mpz_kronecker_si __gmpz_kronecker_si +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker_ui __gmpz_kronecker_ui +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_si_kronecker __gmpz_si_kronecker +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_kronecker __gmpz_ui_kronecker +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_lcm __gmpz_lcm +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_lcm_ui __gmpz_lcm_ui +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_legendre mpz_jacobi /* alias */ + +#define mpz_lucnum_ui __gmpz_lucnum_ui +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); + +#define mpz_lucnum2_ui __gmpz_lucnum2_ui +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_millerrabin __gmpz_millerrabin +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_mod __gmpz_mod +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ + +#define mpz_mul __gmpz_mul +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mul_2exp __gmpz_mul_2exp +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_mul_si __gmpz_mul_si +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); + +#define mpz_mul_ui __gmpz_mul_ui +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_neg __gmpz_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_nextprime __gmpz_nextprime +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); + +#define mpz_out_raw __gmpz_out_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); +#endif + +#define mpz_out_str __gmpz_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); +#endif + +#define mpz_perfect_power_p __gmpz_perfect_power_p +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_perfect_square_p __gmpz_perfect_square_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_popcount __gmpz_popcount +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_pow_ui __gmpz_pow_ui +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_powm __gmpz_powm +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_sec __gmpz_powm_sec +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_ui __gmpz_powm_ui +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); + +#define mpz_probab_prime_p __gmpz_probab_prime_p +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_random __gmpz_random +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); + +#define mpz_random2 __gmpz_random2 +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); + +#define mpz_realloc2 __gmpz_realloc2 +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_remove __gmpz_remove +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_root __gmpz_root +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rootrem __gmpz_rootrem +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rrandomb __gmpz_rrandomb +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_scan0 __gmpz_scan0 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_scan1 __gmpz_scan1 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_set __gmpz_set +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); + +#define mpz_set_d __gmpz_set_d +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); + +#define mpz_set_f __gmpz_set_f +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); + +#define mpz_set_q __gmpz_set_q +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); +#endif + +#define mpz_set_si __gmpz_set_si +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); + +#define mpz_set_str __gmpz_set_str +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); + +#define mpz_set_ui __gmpz_set_ui +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); + +#define mpz_setbit __gmpz_setbit +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_size __gmpz_size +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_sizeinbase __gmpz_sizeinbase +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_sqrt __gmpz_sqrt +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); + +#define mpz_sqrtrem __gmpz_sqrtrem +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); + +#define mpz_sub __gmpz_sub +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_sub_ui __gmpz_sub_ui +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_ui_sub __gmpz_ui_sub +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); + +#define mpz_submul __gmpz_submul +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_submul_ui __gmpz_submul_ui +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_swap __gmpz_swap +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; + +#define mpz_tdiv_ui __gmpz_tdiv_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_tdiv_q __gmpz_tdiv_q +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_qr __gmpz_tdiv_qr +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_r __gmpz_tdiv_r +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tstbit __gmpz_tstbit +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_pow_ui __gmpz_ui_pow_ui +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_urandomb __gmpz_urandomb +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_urandomm __gmpz_urandomm +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); + +#define mpz_xor __gmpz_xor +#define mpz_eor __gmpz_xor +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); + + +/**************** Rational (i.e. Q) routines. ****************/ + +#define mpq_abs __gmpq_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_add __gmpq_add +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_canonicalize __gmpq_canonicalize +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); + +#define mpq_clear __gmpq_clear +__GMP_DECLSPEC void mpq_clear (mpq_ptr); + +#define mpq_clears __gmpq_clears +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); + +#define mpq_cmp __gmpq_cmp +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_si __gmpq_cmp_si +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_ui __gmpq_cmp_ui +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpq_div __gmpq_div +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_div_2exp __gmpq_div_2exp +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_equal __gmpq_equal +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpq_get_num __gmpq_get_num +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); + +#define mpq_get_den __gmpq_get_den +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); + +#define mpq_get_d __gmpq_get_d +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpq_get_str __gmpq_get_str +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); + +#define mpq_init __gmpq_init +__GMP_DECLSPEC void mpq_init (mpq_ptr); + +#define mpq_inits __gmpq_inits +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); + +#define mpq_inp_str __gmpq_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); +#endif + +#define mpq_inv __gmpq_inv +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); + +#define mpq_mul __gmpq_mul +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_mul_2exp __gmpq_mul_2exp +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_neg __gmpq_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_out_str __gmpq_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); +#endif + +#define mpq_set __gmpq_set +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); + +#define mpq_set_d __gmpq_set_d +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); + +#define mpq_set_den __gmpq_set_den +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); + +#define mpq_set_f __gmpq_set_f +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); + +#define mpq_set_num __gmpq_set_num +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); + +#define mpq_set_si __gmpq_set_si +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); + +#define mpq_set_str __gmpq_set_str +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); + +#define mpq_set_ui __gmpq_set_ui +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); + +#define mpq_set_z __gmpq_set_z +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); + +#define mpq_sub __gmpq_sub +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_swap __gmpq_swap +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; + + +/**************** Float (i.e. F) routines. ****************/ + +#define mpf_abs __gmpf_abs +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); + +#define mpf_add __gmpf_add +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_add_ui __gmpf_add_ui +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); +#define mpf_ceil __gmpf_ceil +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); + +#define mpf_clear __gmpf_clear +__GMP_DECLSPEC void mpf_clear (mpf_ptr); + +#define mpf_clears __gmpf_clears +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); + +#define mpf_cmp __gmpf_cmp +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_d __gmpf_cmp_d +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_si __gmpf_cmp_si +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_ui __gmpf_cmp_ui +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_div __gmpf_div +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_div_2exp __gmpf_div_2exp +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_div_ui __gmpf_div_ui +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_dump __gmpf_dump +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); + +#define mpf_eq __gmpf_eq +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sint_p __gmpf_fits_sint_p +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_slong_p __gmpf_fits_slong_p +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sshort_p __gmpf_fits_sshort_p +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_uint_p __gmpf_fits_uint_p +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ulong_p __gmpf_fits_ulong_p +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ushort_p __gmpf_fits_ushort_p +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_floor __gmpf_floor +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); + +#define mpf_get_d __gmpf_get_d +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpf_get_d_2exp __gmpf_get_d_2exp +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); + +#define mpf_get_default_prec __gmpf_get_default_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_prec __gmpf_get_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_si __gmpf_get_si +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_str __gmpf_get_str +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); + +#define mpf_get_ui __gmpf_get_ui +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_init __gmpf_init +__GMP_DECLSPEC void mpf_init (mpf_ptr); + +#define mpf_init2 __gmpf_init2 +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); + +#define mpf_inits __gmpf_inits +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); + +#define mpf_init_set __gmpf_init_set +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); + +#define mpf_init_set_d __gmpf_init_set_d +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); + +#define mpf_init_set_si __gmpf_init_set_si +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); + +#define mpf_init_set_str __gmpf_init_set_str +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); + +#define mpf_init_set_ui __gmpf_init_set_ui +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); + +#define mpf_inp_str __gmpf_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); +#endif + +#define mpf_integer_p __gmpf_integer_p +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_mul __gmpf_mul +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_mul_2exp __gmpf_mul_2exp +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_mul_ui __gmpf_mul_ui +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_neg __gmpf_neg +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); + +#define mpf_out_str __gmpf_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); +#endif + +#define mpf_pow_ui __gmpf_pow_ui +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_random2 __gmpf_random2 +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); + +#define mpf_reldiff __gmpf_reldiff +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_set __gmpf_set +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); + +#define mpf_set_d __gmpf_set_d +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); + +#define mpf_set_default_prec __gmpf_set_default_prec +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_prec __gmpf_set_prec +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); + +#define mpf_set_prec_raw __gmpf_set_prec_raw +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_q __gmpf_set_q +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); + +#define mpf_set_si __gmpf_set_si +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); + +#define mpf_set_str __gmpf_set_str +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); + +#define mpf_set_ui __gmpf_set_ui +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); + +#define mpf_set_z __gmpf_set_z +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); + +#define mpf_size __gmpf_size +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_sqrt __gmpf_sqrt +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); + +#define mpf_sqrt_ui __gmpf_sqrt_ui +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); + +#define mpf_sub __gmpf_sub +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_sub_ui __gmpf_sub_ui +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_swap __gmpf_swap +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; + +#define mpf_trunc __gmpf_trunc +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); + +#define mpf_ui_div __gmpf_ui_div +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_ui_sub __gmpf_ui_sub +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_urandomb __gmpf_urandomb +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); + + +/************ Low level positive-integer (i.e. N) routines. ************/ + +/* This is ugly, but we need to make user calls reach the prefixed function. */ + +#define mpn_add __MPN(add) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_add_1 __MPN(add_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_add_n __MPN(add_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_addmul_1 __MPN(addmul_1) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_cmp __MPN(cmp) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_divexact_by3(dst,src,size) \ + mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_divexact_by3c __MPN(divexact_by3c) +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divmod_1(qp,np,nsize,dlimb) \ + mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) + +#define mpn_divrem __MPN(divrem) +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_divrem_1 __MPN(divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divrem_2 __MPN(divrem_2) +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_gcd __MPN(gcd) +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_gcd_1 __MPN(gcd_1) +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_gcdext_1 __MPN(gcdext_1) +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); + +#define mpn_gcdext __MPN(gcdext) +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_get_str __MPN(get_str) +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); + +#define mpn_hamdist __MPN(hamdist) +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_lshift __MPN(lshift) +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_mod_1 __MPN(mod_1) +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul __MPN(mul) +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_mul_1 __MPN(mul_1) +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_mul_n __MPN(mul_n) +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_sqr __MPN(sqr) +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_neg __MPN(neg) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_com __MPN(com) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_perfect_square_p __MPN(perfect_square_p) +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_perfect_power_p __MPN(perfect_power_p) +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_popcount __MPN(popcount) +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_pow_1 __MPN(pow_1) +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + +/* undocumented now, but retained here for upward compatibility */ +#define mpn_preinv_mod_1 __MPN(preinv_mod_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_random __MPN(random) +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); + +#define mpn_random2 __MPN(random2) +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); + +#define mpn_rshift __MPN(rshift) +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_scan0 __MPN(scan0) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_scan1 __MPN(scan1) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_set_str __MPN(set_str) +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); + +#define mpn_sqrtrem __MPN(sqrtrem) +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_sub __MPN(sub) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_sub_1 __MPN(sub_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_sub_n __MPN(sub_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_submul_1 __MPN(submul_1) +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_tdiv_qr __MPN(tdiv_qr) +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_and_n __MPN(and_n) +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_andn_n __MPN(andn_n) +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nand_n __MPN(nand_n) +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_ior_n __MPN(ior_n) +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_iorn_n __MPN(iorn_n) +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nior_n __MPN(nior_n) +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xor_n __MPN(xor_n) +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xnor_n __MPN(xnor_n) +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_zero __MPN(zero) +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + +/**************** mpz inlines ****************/ + +/* The following are provided as inlines where possible, but always exist as + library functions too, for binary compatibility. + + Within gmp itself this inlining generally isn't relied on, since it + doesn't get done for all compilers, whereas if something is worth + inlining then it's worth arranging always. + + There are two styles of inlining here. When the same bit of code is + wanted for the inline as for the library version, then __GMP_FORCE_foo + arranges for that code to be emitted and the __GMP_EXTERN_INLINE + directive suppressed, eg. mpz_fits_uint_p. When a different bit of code + is wanted for the inline than for the library version, then + __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs) +__GMP_EXTERN_INLINE void +mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size); +} +#endif + +#if GMP_NAIL_BITS == 0 +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)); +#else +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \ + || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS))); +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p) +#if ! defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p) +#if ! defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p) +#if ! defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui) +#if ! defined (__GMP_FORCE_mpz_get_ui) +__GMP_EXTERN_INLINE +#endif +unsigned long +mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings + about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland + C++ 6.0 warnings about condition always true for something like + "__GMP_ULONG_MAX < GMP_NUMB_MASK". */ +#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB) + /* limb==long and no nails, or limb==longlong, one limb is enough */ + return (__gmp_n != 0 ? __gmp_l : 0); +#else + /* limb==long and nails, need two limbs when available */ + __gmp_n = __GMP_ABS (__gmp_n); + if (__gmp_n <= 1) + return (__gmp_n != 0 ? __gmp_l : 0); + else + return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS); +#endif +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn) +#if ! defined (__GMP_FORCE_mpz_getlimbn) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_result = 0; + if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size))) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg) +__GMP_EXTERN_INLINE void +mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p) +#if ! defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */ + if (__GMP_LIKELY (__gmp_asize > 0)) + __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount) +#if ! defined (__GMP_FORCE_mpz_popcount) +__GMP_EXTERN_INLINE +#endif +mp_bitcnt_t +mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW +{ + mp_size_t __gmp_usize; + mp_bitcnt_t __gmp_result; + + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0); + if (__GMP_LIKELY (__gmp_usize > 0)) + __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q) +#if ! defined (__GMP_FORCE_mpz_set_q) +__GMP_EXTERN_INLINE +#endif +void +mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u)); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size) +#if ! defined (__GMP_FORCE_mpz_size) +__GMP_EXTERN_INLINE +#endif +size_t +mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + return __GMP_ABS (__gmp_z->_mp_size); +} +#endif + + +/**************** mpq inlines ****************/ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs) +__GMP_EXTERN_INLINE void +mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg) +__GMP_EXTERN_INLINE void +mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +#endif + + +/**************** mpn inlines ****************/ + +/* The comments with __GMPN_ADD_1 below apply here too. + + The test for FUNCTION returning 0 should predict well. If it's assumed + {yp,ysize} will usually have a random number of bits then the high limb + won't be full and a carry out will occur a good deal less than 50% of the + time. + + ysize==0 isn't a documented feature, but is used internally in a few + places. + + Producing cout last stops it using up a register during the main part of + the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))" + doesn't seem able to move the true and false legs of the conditional up + to the two places cout is generated. */ + +#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x; \ + \ + /* ASSERT ((ysize) >= 0); */ \ + /* ASSERT ((xsize) >= (ysize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */ \ + \ + __gmp_i = (ysize); \ + if (__gmp_i != 0) \ + { \ + if (FUNCTION (wp, xp, yp, __gmp_i)) \ + { \ + do \ + { \ + if (__gmp_i >= (xsize)) \ + { \ + (cout) = 1; \ + goto __gmp_done; \ + } \ + __gmp_x = (xp)[__gmp_i]; \ + } \ + while (TEST); \ + } \ + } \ + if ((wp) != (xp)) \ + __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \ + (cout) = 0; \ + __gmp_done: \ + ; \ + } while (0) + +#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \ + (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0)) +#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \ + (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0)) + + +/* The use of __gmp_i indexing is designed to ensure a compile time src==dst + remains nice and clear to the compiler, so that __GMPN_COPY_REST can + disappear, and the load/add/store gets a chance to become a + read-modify-write on CISC CPUs. + + Alternatives: + + Using a pair of pointers instead of indexing would be possible, but gcc + isn't able to recognise compile-time src==dst in that case, even when the + pointers are incremented more or less together. Other compilers would + very likely have similar difficulty. + + gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or + similar to detect a compile-time src==dst. This works nicely on gcc + 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems + to be always false, for a pointer p. But the current code form seems + good enough for src==dst anyway. + + gcc on x86 as usual doesn't give particularly good flags handling for the + carry/borrow detection. It's tempting to want some multi instruction asm + blocks to help it, and this was tried, but in truth there's only a few + instructions to save and any gain is all too easily lost by register + juggling setting up for the asm. */ + +#if GMP_NAIL_BITS == 0 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r; \ + if (CB (__gmp_r, __gmp_x, (v))) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r; \ + ++__gmp_i; \ + if (!CB (__gmp_r, __gmp_x, 1)) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#if GMP_NAIL_BITS >= 1 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r & GMP_NUMB_MASK; \ + if (__gmp_r >> GMP_NUMB_BITS != 0) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \ + ++__gmp_i; \ + if (__gmp_r >> GMP_NUMB_BITS == 0) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#define __GMPN_ADDCB(r,x,y) ((r) < (y)) +#define __GMPN_SUBCB(r,x,y) ((x) < (y)) + +#define __GMPN_ADD_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB) +#define __GMPN_SUB_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB) + + +/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or + negative. size==0 is allowed. On random data usually only one limb will + need to be examined to get a result, so it's worth having it inline. */ +#define __GMPN_CMP(result, xp, yp, size) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_y; \ + \ + /* ASSERT ((size) >= 0); */ \ + \ + (result) = 0; \ + __gmp_i = (size); \ + while (--__gmp_i >= 0) \ + { \ + __gmp_x = (xp)[__gmp_i]; \ + __gmp_y = (yp)[__gmp_i]; \ + if (__gmp_x != __gmp_y) \ + { \ + /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \ + (result) = (__gmp_x > __gmp_y ? 1 : -1); \ + break; \ + } \ + } \ + } while (0) + + +#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \ + } while (0) +#endif + +/* Copy {src,size} to {dst,size}, starting at "start". This is designed to + keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1, + __GMPN_ADD, etc. */ +#if ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + mp_size_t __gmp_j; \ + /* ASSERT ((size) >= 0); */ \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \ + __GMP_CRAY_Pragma ("_CRI ivdep"); \ + for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \ + (dst)[__gmp_j] = (src)[__gmp_j]; \ + } while (0) +#endif + +/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use + mpn_copyi if there's a native version, and if we don't mind demanding + binary compatibility for it (on targets which use it). */ + +#if ! defined (__GMPN_COPY) +#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0) +#endif + + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add) +#if ! defined (__GMP_FORCE_mpn_add) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1) +#if ! defined (__GMP_FORCE_mpn_add_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp) +#if ! defined (__GMP_FORCE_mpn_cmp) +__GMP_EXTERN_INLINE +#endif +int +mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW +{ + int __gmp_result; + __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub) +#if ! defined (__GMP_FORCE_mpn_sub) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1) +#if ! defined (__GMP_FORCE_mpn_sub_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg) +#if ! defined (__GMP_FORCE_mpn_neg) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +#endif + +#if defined (__cplusplus) +} +#endif + + +/* Allow faster testing for negative, zero, and positive. */ +#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0) +#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0) +#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0) + +/* When using GCC, optimize certain common comparisons. */ +#if defined (__GNUC__) && __GNUC__ >= 2 +#define mpz_cmp_ui(Z,UI) \ + (__builtin_constant_p (UI) && (UI) == 0 \ + ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI)) +#define mpz_cmp_si(Z,SI) \ + (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z) \ + : __builtin_constant_p (SI) && (SI) > 0 \ + ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI)) \ + : _mpz_cmp_si (Z,SI)) +#define mpq_cmp_ui(Q,NUI,DUI) \ + (__builtin_constant_p (NUI) && (NUI) == 0 \ + ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI)) +#define mpq_cmp_si(q,n,d) \ + (__builtin_constant_p ((n) >= 0) && (n) >= 0 \ + ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \ + : _mpq_cmp_si (q, n, d)) +#else +#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI) +#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI) +#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI) +#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d) +#endif + + +/* Using "&" rather than "&&" means these can come out branch-free. Every + mpz_t has at least one limb allocated, so fetching the low limb is always + allowed. */ +#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0])) +#define mpz_even_p(z) (! mpz_odd_p (z)) + + +/**************** C++ routines ****************/ + +#ifdef __cplusplus +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr); +#endif + + +/* Source-level compatibility with GMP 2 and earlier. */ +#define mpn_divmod(qp,np,nsize,dp,dsize) \ + mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize) + +/* Source-level compatibility with GMP 1. */ +#define mpz_mdiv mpz_fdiv_q +#define mpz_mdivmod mpz_fdiv_qr +#define mpz_mmod mpz_fdiv_r +#define mpz_mdiv_ui mpz_fdiv_q_ui +#define mpz_mdivmod_ui(q,r,n,d) \ + (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d)) +#define mpz_mmod_ui(r,n,d) \ + (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d)) + +/* Useful synonyms, but not quite compatible with GMP 1. */ +#define mpz_div mpz_fdiv_q +#define mpz_divmod mpz_fdiv_qr +#define mpz_div_ui mpz_fdiv_q_ui +#define mpz_divmod_ui mpz_fdiv_qr_ui +#define mpz_div_2exp mpz_fdiv_q_2exp +#define mpz_mod_2exp mpz_fdiv_r_2exp + +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; + +/* Define CC and CFLAGS which were used to build this version of GMP */ +#define __GMP_CC "gcc -std=gnu99" +#define __GMP_CFLAGS "-marm -O2 -pedantic -fomit-frame-pointer" + +/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + +#define __GMP_H__ +#endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/Makefile.inc new file mode 100644 index 000000000..df204c77a --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/Makefile.inc @@ -0,0 +1,204 @@ +# $NetBSD: Makefile.inc,v 1.2 2013/11/29 08:03:42 mrg Exp $ + +SRCS+= \ + random.c \ + toom_interpolate_7pts.c \ + divrem_2.c \ + sbpi1_divappr_q.c \ + random2.c \ + mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ + toom32_mul.c \ + toom44_mul.c \ + toom8h_mul.c \ + toom2_sqr.c \ + zero.c \ + mod_1_4.c \ + gcdext.c \ + add_err3_n.c \ + binvert.c \ + mu_div_q.c \ + invertappr.c \ + add_n_sub_n.c \ + dump.c \ + mu_divappr_q.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ + toom6_sqr.c \ + divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ + mod_1.c \ + toom42_mulmid.c \ + divexact.c \ + jacobi.c \ + powlo.c \ + mul.c \ + set_str.c \ + toom42_mul.c \ + toom54_mul.c \ + toom_interpolate_6pts.c \ + dcpi1_divappr_q.c \ + toom_eval_dgr3_pm2.c \ + mod_1_3.c \ + toom_couple_handling.c \ + add.c \ + div_qr_2.c \ + toom_interpolate_12pts.c \ + perfsqr.c \ + toom53_mul.c \ + toom_eval_pm2exp.c \ + mu_div_qr.c \ + toom_interpolate_16pts.c \ + bdiv_q.c \ + toom22_mul.c \ + bsqrtinv.c \ + toom4_sqr.c \ + div_q.c \ + jacbase.c \ + hgcd_matrix.c \ + mullo_n.c \ + toom33_mul.c \ + toom_eval_dgr3_pm1.c \ + mod_1_2.c \ + sub_1.c \ + add_err2_n.c \ + trialdiv.c \ + add_1.c \ + sqr_basecase.c \ + toom_interpolate_5pts.c \ + sbpi1_bdiv_q.c \ + pre_mod_1.c \ + hgcd.c \ + sqrtrem.c \ + bdiv_q_1.c \ + gcdext_1.c \ + toom63_mul.c \ + div_qr_2u_pi1.c \ + mul_basecase.c \ + toom8_sqr.c \ + neg.c \ + gcdext_lehmer.c \ + divis.c \ + dcpi1_div_q.c \ + toom_eval_pm2.c \ + hgcd2.c \ + toom62_mul.c \ + comb_tables.c \ + sbpi1_bdiv_qr.c \ + sub_err2_n.c \ + scan1.c \ + brootinv.c \ + pre_divrem_1.c \ + perfpow.c \ + get_str.c \ + mulmod_bnm1.c \ + mullo_basecase.c \ + tdiv_qr.c \ + div_qr_2n_pi1.c \ + toom43_mul.c \ + mod_1_1.c \ + matrix22_mul.c \ + powm_sec.c \ + divrem.c \ + bsqrt.c \ + gcd_1.c \ + dcpi1_bdiv_qr.c \ + mul_n.c \ + redc_2.c \ + toom6h_mul.c \ + sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ + powm.c \ + rootrem.c \ + toom_interpolate_8pts.c \ + remove.c \ + dive_1.c \ + cmp.c \ + toom_eval_pm1.c \ + hgcd_appr.c \ + scan0.c \ + gcd_subdiv_step.c \ + sbpi1_div_qr.c \ + invert.c \ + sub.c \ + toom_eval_pm2rexp.c \ + broot.c \ + dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ + redc_1.c \ + sqr.c \ + nussbaumer_mul.c \ + mu_bdiv_qr.c \ + pow_1.c \ + get_d.c \ + toom52_mul.c \ + sbpi1_div_q.c \ + diveby3.c \ + fib2_ui.c \ + bdiv_qr.c \ + hgcd_jacobi.c \ + toom3_sqr.c \ + gcd.c \ + redc_n.c \ + sub_err1_n.c \ + +C_SRCS_LIST= \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + +ASM_SRCS_LIST= \ + nand_n.asm mpn/arm/logops_n.asm \ + rsh1sub_n.asm mpn/arm/rsh1aors_n.asm \ + add_n.asm mpn/arm/aors_n.asm \ + rsh1add_n.asm mpn/arm/rsh1aors_n.asm \ + sublsh1_n.asm mpn/arm/aorslsh1_n.asm \ + addcnd_n.asm mpn/arm/aorscnd_n.asm \ + xor_n.asm mpn/arm/logops_n.asm \ + submul_1.asm mpn/arm/aorsmul_1.asm \ + nior_n.asm mpn/arm/logops_n.asm \ + lshift.asm mpn/arm/lshift.asm \ + and_n.asm mpn/arm/logops_n.asm \ + mul_1.asm mpn/arm/mul_1.asm \ + copyd.asm mpn/arm/copyd.asm \ + bdiv_dbm1c.asm mpn/arm/bdiv_dbm1c.asm \ + udiv.asm mpn/arm/udiv.asm \ + andn_n.asm mpn/arm/logops_n.asm \ + com.asm mpn/arm/com.asm \ + copyi.asm mpn/arm/copyi.asm \ + subcnd_n.asm mpn/arm/aorscnd_n.asm \ + rshift.asm mpn/arm/rshift.asm \ + iorn_n.asm mpn/arm/logops_n.asm \ + ior_n.asm mpn/arm/logops_n.asm \ + mod_34lsub1.asm mpn/arm/mod_34lsub1.asm \ + xnor_n.asm mpn/arm/logops_n.asm \ + lshiftc.asm mpn/arm/lshiftc.asm \ + mode1o.asm mpn/arm/mode1o.asm \ + addlsh1_n.asm mpn/arm/aorslsh1_n.asm \ + invert_limb.asm mpn/arm/invert_limb.asm \ + addmul_1.asm mpn/arm/aorsmul_1.asm \ + sub_n.asm mpn/arm/aors_n.asm \ + +gen-trialdivtab: gen-trialdivtab.c + ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm + +GMP_LIMB_BITS=32 + +trialdiv.c: trialdivtab.h +trialdivtab.h: gen-trialdivtab + ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h + +CLEANFILES+= trialdivtab.h + +M4FLAGS= -DPIC +COPTS+= -fPIC diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.h b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.h new file mode 100644 index 000000000..48f795e40 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.h @@ -0,0 +1,630 @@ +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.ac by autoheader. */ + +/* + +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation; either version 3 of the License, or (at +your option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. +*/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* The gmp-mparam.h file (a string) the tune program should suggest updating. + */ +#define GMP_MPARAM_H_SUGGEST "./mpn/arm/gmp-mparam.h" + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if alloca() works (via gmp-impl.h). */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +/* #undef HAVE_ALLOCA_H */ + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */ +#define HAVE_ATTRIBUTE_CONST 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */ +#define HAVE_ATTRIBUTE_MALLOC 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX))) + */ +#define HAVE_ATTRIBUTE_MODE 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */ +#define HAVE_ATTRIBUTE_NORETURN 1 + +/* Define to 1 if you have the `attr_get' function. */ +/* #undef HAVE_ATTR_GET */ + +/* Define to 1 if tests/libtests has calling conventions checking for the CPU + */ +#define HAVE_CALLING_CONVENTIONS 1 + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the `clock_gettime' function */ +#define HAVE_CLOCK_GETTIME 1 + +/* Define to 1 if you have the `cputime' function. */ +/* #undef HAVE_CPUTIME */ + +/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't. + */ +#define HAVE_DECL_FGETC 1 + +/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't. + */ +#define HAVE_DECL_FSCANF 1 + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +#define HAVE_DECL_OPTARG 1 + +/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_ERRLIST 1 + +/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_NERR 1 + +/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't. + */ +#define HAVE_DECL_UNGETC 1 + +/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VFPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define one of the following to 1 for the format of a `double'. + If your format is not among these choices, or you don't know what it is, + then leave all undefined. + IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves + swapped, as used by ARM CPUs in little endian mode. */ +#define HAVE_DOUBLE_IEEE_BIG_ENDIAN 1 +/* #undef HAVE_DOUBLE_IEEE_LITTLE_ENDIAN */ +/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */ +/* #undef HAVE_DOUBLE_VAX_D */ +/* #undef HAVE_DOUBLE_VAX_G */ +/* #undef HAVE_DOUBLE_CRAY_CFP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define one of these to 1 for the host CPU family. + If your CPU is not in any of these families, leave all undefined. + For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */ +/* #undef HAVE_HOST_CPU_FAMILY_alpha */ +/* #undef HAVE_HOST_CPU_FAMILY_m68k */ +/* #undef HAVE_HOST_CPU_FAMILY_power */ +/* #undef HAVE_HOST_CPU_FAMILY_powerpc */ +/* #undef HAVE_HOST_CPU_FAMILY_x86 */ +/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */ + +/* Define one of the following to 1 for the host CPU, as per the output of + ./config.guess. If your CPU is not listed here, leave all undefined. */ +/* #undef HAVE_HOST_CPU_alphaev67 */ +/* #undef HAVE_HOST_CPU_alphaev68 */ +/* #undef HAVE_HOST_CPU_alphaev7 */ +/* #undef HAVE_HOST_CPU_m68020 */ +/* #undef HAVE_HOST_CPU_m68030 */ +/* #undef HAVE_HOST_CPU_m68040 */ +/* #undef HAVE_HOST_CPU_m68060 */ +/* #undef HAVE_HOST_CPU_m68360 */ +/* #undef HAVE_HOST_CPU_powerpc604 */ +/* #undef HAVE_HOST_CPU_powerpc604e */ +/* #undef HAVE_HOST_CPU_powerpc750 */ +/* #undef HAVE_HOST_CPU_powerpc7400 */ +/* #undef HAVE_HOST_CPU_supersparc */ +/* #undef HAVE_HOST_CPU_i386 */ +/* #undef HAVE_HOST_CPU_i586 */ +/* #undef HAVE_HOST_CPU_i686 */ +/* #undef HAVE_HOST_CPU_pentium */ +/* #undef HAVE_HOST_CPU_pentiummmx */ +/* #undef HAVE_HOST_CPU_pentiumpro */ +/* #undef HAVE_HOST_CPU_pentium2 */ +/* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ + +/* Define to 1 if the system has the type `intmax_t'. */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INVENT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define one of these to 1 for the endianness of `mp_limb_t'. + If the endianness is not a simple big or little, or you don't know what + it is, then leave both undefined. */ +#define HAVE_LIMB_BIG_ENDIAN 1 +/* #undef HAVE_LIMB_LITTLE_ENDIAN */ + +/* Define to 1 if you have the `localeconv' function. */ +#define HAVE_LOCALECONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if the system has the type `long double'. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 each of the following for which a native (ie. CPU specific) + implementation of the corresponding routine exists. */ +#define HAVE_NATIVE_mpn_add_n 1 +/* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +#define HAVE_NATIVE_mpn_add_nc 1 +/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +#define HAVE_NATIVE_mpn_addcnd_n 1 +#define HAVE_NATIVE_mpn_addlsh1_n 1 +/* #undef HAVE_NATIVE_mpn_addlsh2_n */ +/* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addmul_1c */ +/* #undef HAVE_NATIVE_mpn_addmul_2 */ +/* #undef HAVE_NATIVE_mpn_addmul_3 */ +/* #undef HAVE_NATIVE_mpn_addmul_4 */ +/* #undef HAVE_NATIVE_mpn_addmul_5 */ +/* #undef HAVE_NATIVE_mpn_addmul_6 */ +/* #undef HAVE_NATIVE_mpn_addmul_7 */ +/* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 +/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ +#define HAVE_NATIVE_mpn_com 1 +#define HAVE_NATIVE_mpn_copyd 1 +#define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ +/* #undef HAVE_NATIVE_mpn_divexact_1 */ +/* #undef HAVE_NATIVE_mpn_divexact_by3c */ +/* #undef HAVE_NATIVE_mpn_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_divrem_1c */ +/* #undef HAVE_NATIVE_mpn_divrem_2 */ +/* #undef HAVE_NATIVE_mpn_gcd_1 */ +/* #undef HAVE_NATIVE_mpn_hamdist */ +#define HAVE_NATIVE_mpn_invert_limb 1 +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +#define HAVE_NATIVE_mpn_lshiftc 1 +/* #undef HAVE_NATIVE_mpn_lshsub_n */ +/* #undef HAVE_NATIVE_mpn_mod_1 */ +/* #undef HAVE_NATIVE_mpn_mod_1_1p */ +/* #undef HAVE_NATIVE_mpn_mod_1c */ +/* #undef HAVE_NATIVE_mpn_mod_1s_2p */ +/* #undef HAVE_NATIVE_mpn_mod_1s_4p */ +#define HAVE_NATIVE_mpn_mod_34lsub1 1 +/* #undef HAVE_NATIVE_mpn_modexact_1_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 +#define HAVE_NATIVE_mpn_mul_1 1 +/* #undef HAVE_NATIVE_mpn_mul_1c */ +/* #undef HAVE_NATIVE_mpn_mul_2 */ +/* #undef HAVE_NATIVE_mpn_mul_3 */ +/* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ +/* #undef HAVE_NATIVE_mpn_mul_basecase */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 +/* #undef HAVE_NATIVE_mpn_popcount */ +/* #undef HAVE_NATIVE_mpn_preinv_divrem_1 */ +/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ +/* #undef HAVE_NATIVE_mpn_redc_1 */ +/* #undef HAVE_NATIVE_mpn_redc_2 */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1add_nc */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +#define HAVE_NATIVE_mpn_rshift 1 +/* #undef HAVE_NATIVE_mpn_sqr_basecase */ +/* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#define HAVE_NATIVE_mpn_sub_n 1 +#define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 +#define HAVE_NATIVE_mpn_sublsh1_n 1 +/* #undef HAVE_NATIVE_mpn_sublsh2_n */ +/* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ +#define HAVE_NATIVE_mpn_udiv_qrnnd 1 +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 + +/* Define to 1 if you have the `nl_langinfo' function. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `obstack_vprintf' function. */ +/* #undef HAVE_OBSTACK_VPRINTF */ + +/* Define to 1 if you have the `popen' function. */ +#define HAVE_POPEN 1 + +/* Define to 1 if you have the `processor_info' function. */ +/* #undef HAVE_PROCESSOR_INFO */ + +/* Define to 1 if `struct pst_processor' exists and contains + `psp_iticksperclktick'. */ +/* #undef HAVE_PSP_ITICKSPERCLKTICK */ + +/* Define to 1 if you have the `pstat_getprocessor' function. */ +/* #undef HAVE_PSTAT_GETPROCESSOR */ + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#define HAVE_PTRDIFF_T 1 + +/* Define to 1 if the system has the type `quad_t'. */ +#define HAVE_QUAD_T 1 + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `read_real_time' function. */ +/* #undef HAVE_READ_REAL_TIME */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the `sigstack' function. */ +/* #undef HAVE_SIGSTACK */ + +/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */ +/* #undef HAVE_SPEED_CYCLECOUNTER */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SSTREAM */ + +/* Define to 1 if the system has the type `stack_t'. */ +#define HAVE_STACK_T 1 + +/* Define to 1 if exists and works */ +#define HAVE_STDARG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if the system has the type `std::locale'. */ +/* #undef HAVE_STD__LOCALE */ + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if cpp supports the ANSI # stringizing operator. */ +#define HAVE_STRINGIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysctlbyname' function. */ +#define HAVE_SYSCTLBYNAME 1 + +/* Define to 1 if you have the `syssgi' function. */ +/* #undef HAVE_SYSSGI */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ATTRIBUTES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOGRAPH_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROCESSOR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSSGI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if the system has the type `uint_least32_t'. */ +#define HAVE_UINT_LEAST32_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vsnprintf' function and it works properly. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + +/* Assembler local label prefix */ +#define LSYM_PREFIX ".L" + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "gmp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU MP" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU MP 5.1.3" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gmp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/gmp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "5.1.3" + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* The size of `mp_limb_t', as computed by sizeof. */ +#define SIZEOF_MP_LIMB_T 4 + +/* The size of `unsigned', as computed by sizeof. */ +#define SIZEOF_UNSIGNED 4 + +/* The size of `unsigned long', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_LONG 4 + +/* The size of `unsigned short', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_SHORT 2 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 4 + +/* Define to 1 if sscanf requires writable inputs */ +/* #undef SSCANF_WRITABLE_INPUT */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */ +#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC + +/* Version number of package */ +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 + +/* Define to 1 to enable ASSERT checking, per --enable-assert */ +/* #undef WANT_ASSERT */ + +/* Define to 1 when building a fat binary. */ +/* #undef WANT_FAT_BINARY */ + +/* Define to 1 to enable FFTs for multiplication, per --enable-fft */ +#define WANT_FFT 1 + +/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per + --enable-old-fft-full */ +/* #undef WANT_OLD_FFT_FULL */ + +/* Define to 1 if --enable-profiling=gprof */ +/* #undef WANT_PROFILING_GPROF */ + +/* Define to 1 if --enable-profiling=instrument */ +/* #undef WANT_PROFILING_INSTRUMENT */ + +/* Define to 1 if --enable-profiling=prof */ +/* #undef WANT_PROFILING_PROF */ + +/* Define one of these to 1 for the desired temporary memory allocation + method, per --enable-alloca. */ +#define WANT_TMP_ALLOCA 1 +/* #undef WANT_TMP_REENTRANT */ +/* #undef WANT_TMP_NOTREENTRANT */ +/* #undef WANT_TMP_DEBUG */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.m4 new file mode 100644 index 000000000..b92578730 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/config.m4 @@ -0,0 +1,35 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(,0) +define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.globl>) +define(, <>) +define(, <>) +define(, < .section .rodata>) +define(, <.type $1,#$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) +define(,<78>) +define(,<41>) +define(,<4>) +define(,32) +define(,0) +define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) +>) +changequote(`,') +ifdef(`__CONFIG_M4_INCLUDED__',,` +include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +include_mpn(`arm/arm-defs.m4') +define_not_for_expansion(`HAVE_HOST_CPU_armeb') +define_not_for_expansion(`HAVE_ABI_standard') +define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN') +define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN') +') +define(`__CONFIG_M4_INCLUDED__') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp-mparam.h new file mode 100644 index 000000000..e6321dde8 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp-mparam.h @@ -0,0 +1,116 @@ +/* gmp-mparam.h -- Compiler/machine parameter header file. + +Copyright 1991, 1993, 1994, 1999, 2000, 2001, 2002, 2003, 2009, 2010 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#define GMP_LIMB_BITS 32 +#define BYTES_PER_MP_LIMB 4 + +/* 1193MHz ARM (gcc55.fsffrance.org) */ + +#define DIVREM_1_NORM_THRESHOLD 0 /* preinv always */ +#define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1_NORM_THRESHOLD 0 /* always */ +#define MOD_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1N_TO_MOD_1_1_THRESHOLD 56 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 11 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ +#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 71 +#define USE_PREINV_DIVREM_1 1 /* preinv always */ +#define DIVREM_2_THRESHOLD 0 /* preinv always */ +#define DIVEXACT_1_THRESHOLD 0 /* always */ +#define BMOD_1_TO_MOD_1_THRESHOLD 41 + +#define MUL_TOOM22_THRESHOLD 36 +#define MUL_TOOM33_THRESHOLD 125 +#define MUL_TOOM44_THRESHOLD 193 +#define MUL_TOOM6H_THRESHOLD 303 +#define MUL_TOOM8H_THRESHOLD 418 + +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 125 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 176 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 114 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 129 + +#define SQR_BASECASE_THRESHOLD 12 +#define SQR_TOOM2_THRESHOLD 78 +#define SQR_TOOM3_THRESHOLD 137 +#define SQR_TOOM4_THRESHOLD 212 +#define SQR_TOOM6_THRESHOLD 306 +#define SQR_TOOM8_THRESHOLD 422 + +#define MULMOD_BNM1_THRESHOLD 20 +#define SQRMOD_BNM1_THRESHOLD 26 + +#define MUL_FFT_MODF_THRESHOLD 436 /* k = 5 */ +#define MUL_FFT_TABLE3 \ + { { 436, 5}, { 27, 6}, { 28, 7}, { 15, 6}, \ + { 32, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ + { 39, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 49, 8}, \ + { 27, 9}, { 15, 8}, { 31, 7}, { 63, 8}, \ + { 256, 9}, { 512,10}, { 1024,11}, { 2048,12}, \ + { 4096,13}, { 8192,14}, { 16384,15}, { 32768,16} } +#define MUL_FFT_TABLE3_SIZE 28 +#define MUL_FFT_THRESHOLD 5760 + +#define SQR_FFT_MODF_THRESHOLD 404 /* k = 5 */ +#define SQR_FFT_TABLE3 \ + { { 404, 5}, { 13, 4}, { 27, 5}, { 27, 6}, \ + { 28, 7}, { 15, 6}, { 32, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 35, 8}, \ + { 19, 7}, { 41, 8}, { 23, 7}, { 47, 8}, \ + { 27, 9}, { 15, 8}, { 39, 9}, { 512,10}, \ + { 1024,11}, { 2048,12}, { 4096,13}, { 8192,14}, \ + { 16384,15}, { 32768,16} } +#define SQR_FFT_TABLE3_SIZE 26 +#define SQR_FFT_THRESHOLD 3776 + +#define MULLO_BASECASE_THRESHOLD 0 /* always */ +#define MULLO_DC_THRESHOLD 137 +#define MULLO_MUL_N_THRESHOLD 11479 + +#define DC_DIV_QR_THRESHOLD 150 +#define DC_DIVAPPR_Q_THRESHOLD 494 +#define DC_BDIV_QR_THRESHOLD 148 +#define DC_BDIV_Q_THRESHOLD 345 + +#define INV_MULMOD_BNM1_THRESHOLD 70 +#define INV_NEWTON_THRESHOLD 474 +#define INV_APPR_THRESHOLD 478 + +#define BINV_NEWTON_THRESHOLD 542 +#define REDC_1_TO_REDC_N_THRESHOLD 117 + +#define MU_DIV_QR_THRESHOLD 2089 +#define MU_DIVAPPR_Q_THRESHOLD 2172 +#define MUPI_DIV_QR_THRESHOLD 225 +#define MU_BDIV_QR_THRESHOLD 1528 +#define MU_BDIV_Q_THRESHOLD 2089 + +#define MATRIX22_STRASSEN_THRESHOLD 16 +#define HGCD_THRESHOLD 197 +#define GCD_DC_THRESHOLD 902 +#define GCDEXT_DC_THRESHOLD 650 +#define JACOBI_BASE_METHOD 2 + +#define GET_STR_DC_THRESHOLD 20 +#define GET_STR_PRECOMPUTE_THRESHOLD 39 +#define SET_STR_DC_THRESHOLD 1045 +#define SET_STR_PRECOMPUTE_THRESHOLD 2147 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp.h new file mode 100644 index 000000000..c05a4bcf5 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/earmhfeb/gmp.h @@ -0,0 +1,2231 @@ +/* Definitions for GNU multiple precision functions. -*- mode: c -*- + +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#ifndef __GMP_H__ + +#if defined (__cplusplus) +#include /* for std::istream, std::ostream, std::string */ +#include +#endif + + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +#define __GMP_HAVE_HOST_CPU_FAMILY_power 0 +#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 +#define GMP_LIMB_BITS 32 +#define GMP_NAIL_BITS 0 +#endif +#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) +#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS) +#define GMP_NUMB_MAX GMP_NUMB_MASK +#define GMP_NAIL_MASK (~ GMP_NUMB_MASK) + + +/* The following (everything under ifndef __GNU_MP__) must be identical in + gmp.h and mp.h to allow both to be included in an application or during + the library build. */ +#ifndef __GNU_MP__ +#define __GNU_MP__ 5 + +#define __need_size_t /* tell gcc stddef.h we only want size_t */ +#if defined (__cplusplus) +#include /* for size_t */ +#else +#include /* for size_t */ +#endif +#undef __need_size_t + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +/* #undef _LONG_LONG_LIMB */ +#define __GMP_LIBGMP_DLL 0 +#endif + + +/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in + all other circumstances. + + When compiling objects for libgmp, __GMP_DECLSPEC is an export directive, + or when compiling for an application it's an import directive. The two + cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles + (and not defined from an application). + + __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX + indicates when building libgmpxx, and in that case libgmpxx functions are + exports, but libgmp functions which might get called are imports. + + Libtool DLL_EXPORT define is not used. + + There's no attempt to support GMP built both static and DLL. Doing so + would mean applications would have to tell us which of the two is going + to be used when linking, and that seems very tedious and error prone if + using GMP by hand, and equally tedious from a package since autoconf and + automake don't give much help. + + __GMP_DECLSPEC is required on all documented global functions and + variables, the various internals in gmp-impl.h etc can be left unadorned. + But internals used by the test programs or speed measuring programs + should have __GMP_DECLSPEC, and certainly constants or variables must + have it or the wrong address will be resolved. + + In gcc __declspec can go at either the start or end of a prototype. + + In Microsoft C __declspec must go at the start, or after the type like + void __declspec(...) *foo()". There's no __dllexport or anything to + guard against someone foolish #defining dllexport. _export used to be + available, but no longer. + + In Borland C _export still exists, but needs to go after the type, like + "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to + make use of that. Probably more trouble than it's worth. */ + +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) +#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) +#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) +#endif +#ifdef __WATCOMC__ +#define __GMP_DECLSPEC_EXPORT __export +#define __GMP_DECLSPEC_IMPORT __import +#endif +#ifdef __IBMC__ +#define __GMP_DECLSPEC_EXPORT _Export +#define __GMP_DECLSPEC_IMPORT _Import +#endif + +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMP +/* compiling to go into a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into an application which will link to a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC +#endif + + +#ifdef __GMP_SHORT_LIMB +typedef unsigned int mp_limb_t; +typedef int mp_limb_signed_t; +#else +#ifdef _LONG_LONG_LIMB +typedef unsigned long long int mp_limb_t; +typedef long long int mp_limb_signed_t; +#else +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +#endif +#endif +typedef unsigned long int mp_bitcnt_t; + +/* For reference, note that the name __mpz_struct gets into C++ mangled + function names, which means although the "__" suggests an internal, we + must leave this name for binary compatibility. */ +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +#endif /* __GNU_MP__ */ + + +typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ +typedef __mpz_struct mpz_t[1]; + +typedef mp_limb_t * mp_ptr; +typedef const mp_limb_t * mp_srcptr; +#if defined (_CRAY) && ! defined (_CRAYMPP) +/* plain `int' is much faster (48 bits) */ +#define __GMP_MP_SIZE_T_INT 1 +typedef int mp_size_t; +typedef int mp_exp_t; +#else +#define __GMP_MP_SIZE_T_INT 0 +typedef long int mp_size_t; +typedef long int mp_exp_t; +#endif + +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; + +typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */ +typedef __mpq_struct mpq_t[1]; + +typedef struct +{ + int _mp_prec; /* Max precision, in number of `mp_limb_t's. + Set by mpf_init and modified by + mpf_set_prec. The area pointed to by the + _mp_d field contains `prec' + 1 limbs. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpf_struct; + +/* typedef __mpf_struct MP_FLOAT; */ +typedef __mpf_struct mpf_t[1]; + +/* Available random number generation algorithms. */ +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */ +} gmp_randalg_t; + +/* Random state struct. */ +typedef struct +{ + mpz_t _mp_seed; /* _mp_d member points to state of the generator. */ + gmp_randalg_t _mp_alg; /* Currently unused. */ + union { + void *_mp_lc; /* Pointer to function pointers structure. */ + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; + +/* Types for function declarations in gmp files. */ +/* ??? Should not pollute user name space with these ??? */ +typedef const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + + +/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common + section. */ +#if __GMP_LIBGMP_DLL +#ifdef __GMP_WITHIN_GMPXX +/* compiling to go into a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into a application which will link to a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC_XX +#endif + + +#ifndef __MPN +#define __MPN(x) __gmpn_##x +#endif + +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ +#define _GMP_H_HAVE_FILE 1 +#endif + +/* In ISO C, if a prototype involving "struct obstack *" is given without + that structure defined, then the struct is scoped down to just the + prototype, causing a conflict if it's subsequently defined for real. So + only give prototypes if we've got obstack.h. */ +#if defined (_OBSTACK_H) /* glibc */ +#define _GMP_H_HAVE_OBSTACK 1 +#endif + +/* The prototypes for gmp_vprintf etc are provided only if va_list is + available, via an application having included or . + Usually va_list is a typedef so can't be tested directly, but C99 + specifies that va_start is a macro (and it was normally a macro on past + systems too), so look for that. + + will define some sort of va_list for vprintf and vfprintf, but + let's not bother trying to use that since it's not standard and since + application uses for gmp_vprintf etc will almost certainly require the + whole or anyway. */ + +#ifdef va_start +#define _GMP_H_HAVE_VA_LIST 1 +#endif + +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GMP_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GMP_GNUC_PREREQ(maj, min) 0 +#endif + +/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically + it means a function does nothing but examine its arguments and memory + (global or via arguments) to generate a return value, but changes nothing + and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets + tune/common.c etc turn this off when trying to write timing loops. */ +#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +#define __GMP_ATTRIBUTE_PURE +#endif + + +/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean + to "g++ -Wold-style-cast". + + Casts in "extern inline" code within an extern "C" block don't induce + these warnings, so __GMP_CAST only needs to be used on documented + macros. */ + +#ifdef __cplusplus +#define __GMP_CAST(type, expr) (static_cast (expr)) +#else +#define __GMP_CAST(type, expr) ((type) (expr)) +#endif + + +/* An empty "throw ()" means the function doesn't throw any C++ exceptions, + this can save some stack frame info in applications. + + Currently it's given only on functions which never divide-by-zero etc, + don't allocate memory, and are expected to never need to allocate memory. + This leaves open the possibility of a C++ throw from a future GMP + exceptions scheme. + + mpz_set_ui etc are omitted to leave open the lazy allocation scheme + described in doc/tasks.html. mpz_get_d etc are omitted to leave open + exceptions for float overflows. + + Note that __GMP_NOTHROW must be given on any inlines the same as on their + prototypes (for g++ at least, where they're used together). Note also + that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like + __GMP_ATTRIBUTE_PURE. */ + +#if defined (__cplusplus) +#define __GMP_NOTHROW throw () +#else +#define __GMP_NOTHROW +#endif + + +/* PORTME: What other compilers have a useful "extern inline"? "static + inline" would be an acceptable substitute if the compiler (or linker) + discards unused statics. */ + + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC__ +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +#endif +#define __GMP_INLINE_PROTOTYPES 1 +#endif + +/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 + mode, which is the default), but an unnecessary local copy of foo is + emitted unless -O is used. "extern __inline" is accepted, but the + "extern" appears to be ignored, ie. it becomes a plain global function + but which is inlined within its file. Don't know if all old versions of + DEC C supported __inline, but as a start let's do the right thing for + current versions. */ +#ifdef __DECC +#define __GMP_EXTERN_INLINE static __inline +#endif + +/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict + ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes + place under -O. Without -O "foo" seems to be emitted whether it's used + or not, which is wasteful. "extern inline foo()" isn't useful, the + "extern" is apparently ignored, so foo is inlined if possible but also + emitted as a global, which causes multiple definition errors when + building a shared libgmp. */ +#ifdef __SCO_VERSION__ +#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif +#endif + +/* Microsoft's C compiler accepts __inline */ +#ifdef _MSC_VER +#define __GMP_EXTERN_INLINE __inline +#endif + +/* Recent enough Sun C compilers want "inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Somewhat older Sun C compilers want "static inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif + + +/* C++ always has "inline" and since it's a normal feature the linker should + discard duplicate non-inlined copies, or if it doesn't then that's a + problem for everyone, not just GMP. */ +#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + +/* By default, don't give a prototype when there's going to be an inline + version. Note in particular that Cray C++ objects to the combination of + prototype and inline. */ +#ifdef __GMP_EXTERN_INLINE +#ifndef __GMP_INLINE_PROTOTYPES +#define __GMP_INLINE_PROTOTYPES 0 +#endif +#else +#define __GMP_INLINE_PROTOTYPES 1 +#endif + + +#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i)) + +/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted + to int by "~". */ +#define __GMP_UINT_MAX (~ (unsigned) 0) +#define __GMP_ULONG_MAX (~ (unsigned long) 0) +#define __GMP_USHRT_MAX ((unsigned short) ~0) + + +/* __builtin_expect is in gcc 3.0, and not in 2.95. */ +#if __GMP_GNUC_PREREQ (3,0) +#define __GMP_LIKELY(cond) __builtin_expect ((cond) != 0, 1) +#define __GMP_UNLIKELY(cond) __builtin_expect ((cond) != 0, 0) +#else +#define __GMP_LIKELY(cond) (cond) +#define __GMP_UNLIKELY(cond) (cond) +#endif + +#ifdef _CRAY +#define __GMP_CRAY_Pragma(str) _Pragma (str) +#else +#define __GMP_CRAY_Pragma(str) +#endif + + +/* Allow direct user access to numerator and denominator of a mpq_t object. */ +#define mpq_numref(Q) (&((Q)->_mp_num)) +#define mpq_denref(Q) (&((Q)->_mp_den)) + + +#if defined (__cplusplus) +extern "C" { +using std::FILE; +#endif + +#define mp_set_memory_functions __gmp_set_memory_functions +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t)) __GMP_NOTHROW; + +#define mp_get_memory_functions __gmp_get_memory_functions +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t)) __GMP_NOTHROW; + +#define mp_bits_per_limb __gmp_bits_per_limb +__GMP_DECLSPEC extern const int mp_bits_per_limb; + +#define gmp_errno __gmp_errno +__GMP_DECLSPEC extern int gmp_errno; + +#define gmp_version __gmp_version +__GMP_DECLSPEC extern const char * const gmp_version; + + +/**************** Random number routines. ****************/ + +/* obsolete */ +#define gmp_randinit __gmp_randinit +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); + +#define gmp_randinit_default __gmp_randinit_default +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); + +#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); + +#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); + +#define gmp_randinit_mt __gmp_randinit_mt +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); + +#define gmp_randinit_set __gmp_randinit_set +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); + +#define gmp_randseed __gmp_randseed +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); + +#define gmp_randseed_ui __gmp_randseed_ui +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); + +#define gmp_randclear __gmp_randclear +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); + +#define gmp_urandomb_ui __gmp_urandomb_ui +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); + +#define gmp_urandomm_ui __gmp_urandomm_ui +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); + + +/**************** Formatted output routines. ****************/ + +#define gmp_asprintf __gmp_asprintf +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); + +#define gmp_fprintf __gmp_fprintf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); +#endif + +#define gmp_obstack_printf __gmp_obstack_printf +#if defined (_GMP_H_HAVE_OBSTACK) +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); +#endif + +#define gmp_obstack_vprintf __gmp_obstack_vprintf +#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); +#endif + +#define gmp_printf __gmp_printf +__GMP_DECLSPEC int gmp_printf (const char *, ...); + +#define gmp_snprintf __gmp_snprintf +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); + +#define gmp_sprintf __gmp_sprintf +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); + +#define gmp_vasprintf __gmp_vasprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); +#endif + +#define gmp_vfprintf __gmp_vfprintf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); +#endif + +#define gmp_vprintf __gmp_vprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); +#endif + +#define gmp_vsnprintf __gmp_vsnprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); +#endif + +#define gmp_vsprintf __gmp_vsprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); +#endif + + +/**************** Formatted input routines. ****************/ + +#define gmp_fscanf __gmp_fscanf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); +#endif + +#define gmp_scanf __gmp_scanf +__GMP_DECLSPEC int gmp_scanf (const char *, ...); + +#define gmp_sscanf __gmp_sscanf +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); + +#define gmp_vfscanf __gmp_vfscanf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); +#endif + +#define gmp_vscanf __gmp_vscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); +#endif + +#define gmp_vsscanf __gmp_vsscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); +#endif + + +/**************** Integer (i.e. Z) routines. ****************/ + +#define _mpz_realloc __gmpz_realloc +#define mpz_realloc __gmpz_realloc +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); + +#define mpz_abs __gmpz_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_add __gmpz_add +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_add_ui __gmpz_add_ui +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_addmul __gmpz_addmul +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_addmul_ui __gmpz_addmul_ui +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_and __gmpz_and +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_array_init __gmpz_array_init +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); + +#define mpz_bin_ui __gmpz_bin_ui +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_bin_uiui __gmpz_bin_uiui +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_cdiv_q __gmpz_cdiv_q +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_qr __gmpz_cdiv_qr +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_r __gmpz_cdiv_r +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_cdiv_ui __gmpz_cdiv_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_clear __gmpz_clear +__GMP_DECLSPEC void mpz_clear (mpz_ptr); + +#define mpz_clears __gmpz_clears +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); + +#define mpz_clrbit __gmpz_clrbit +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_cmp __gmpz_cmp +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmp_d __gmpz_cmp_d +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_si __gmpz_cmp_si +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_ui __gmpz_cmp_ui +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs __gmpz_cmpabs +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_d __gmpz_cmpabs_d +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_ui __gmpz_cmpabs_ui +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_com __gmpz_com +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); + +#define mpz_combit __gmpz_combit +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); + +#define mpz_congruent_p __gmpz_congruent_p +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_ui_p __gmpz_congruent_ui_p +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divexact __gmpz_divexact +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_divexact_ui __gmpz_divexact_ui +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_divisible_p __gmpz_divisible_p +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_ui_p __gmpz_divisible_ui_p +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_dump __gmpz_dump +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); + +#define mpz_export __gmpz_export +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); + +#define mpz_fac_ui __gmpz_fac_ui +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); + +#define mpz_fdiv_q __gmpz_fdiv_q +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_qr __gmpz_fdiv_qr +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_r __gmpz_fdiv_r +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_fdiv_ui __gmpz_fdiv_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_fib_ui __gmpz_fib_ui +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); + +#define mpz_fib2_ui __gmpz_fib2_ui +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_fits_sint_p __gmpz_fits_sint_p +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_slong_p __gmpz_fits_slong_p +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_sshort_p __gmpz_fits_sshort_p +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_uint_p __gmpz_fits_uint_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ulong_p __gmpz_fits_ulong_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ushort_p __gmpz_fits_ushort_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_gcd __gmpz_gcd +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_gcd_ui __gmpz_gcd_ui +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_gcdext __gmpz_gcdext +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_get_d __gmpz_get_d +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_get_d_2exp __gmpz_get_d_2exp +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); + +#define mpz_get_si __gmpz_get_si +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_get_str __gmpz_get_str +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); + +#define mpz_get_ui __gmpz_get_ui +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_getlimbn __gmpz_getlimbn +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_hamdist __gmpz_hamdist +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_import __gmpz_import +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); + +#define mpz_init __gmpz_init +__GMP_DECLSPEC void mpz_init (mpz_ptr); + +#define mpz_init2 __gmpz_init2 +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_inits __gmpz_inits +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); + +#define mpz_init_set __gmpz_init_set +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); + +#define mpz_init_set_d __gmpz_init_set_d +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); + +#define mpz_init_set_si __gmpz_init_set_si +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); + +#define mpz_init_set_str __gmpz_init_set_str +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); + +#define mpz_init_set_ui __gmpz_init_set_ui +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); + +#define mpz_inp_raw __gmpz_inp_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); +#endif + +#define mpz_inp_str __gmpz_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); +#endif + +#define mpz_invert __gmpz_invert +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_ior __gmpz_ior +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_jacobi __gmpz_jacobi +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker mpz_jacobi /* alias */ + +#define mpz_kronecker_si __gmpz_kronecker_si +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker_ui __gmpz_kronecker_ui +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define mpz_si_kronecker __gmpz_si_kronecker +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_kronecker __gmpz_ui_kronecker +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_lcm __gmpz_lcm +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_lcm_ui __gmpz_lcm_ui +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); + +#define mpz_legendre mpz_jacobi /* alias */ + +#define mpz_lucnum_ui __gmpz_lucnum_ui +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); + +#define mpz_lucnum2_ui __gmpz_lucnum2_ui +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); + +#define mpz_millerrabin __gmpz_millerrabin +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_mod __gmpz_mod +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ + +#define mpz_mul __gmpz_mul +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_mul_2exp __gmpz_mul_2exp +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_mul_si __gmpz_mul_si +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); + +#define mpz_mul_ui __gmpz_mul_ui +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_neg __gmpz_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); +#endif + +#define mpz_nextprime __gmpz_nextprime +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); + +#define mpz_out_raw __gmpz_out_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); +#endif + +#define mpz_out_str __gmpz_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); +#endif + +#define mpz_perfect_power_p __gmpz_perfect_power_p +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpz_perfect_square_p __gmpz_perfect_square_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_popcount __gmpz_popcount +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_pow_ui __gmpz_pow_ui +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_powm __gmpz_powm +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_sec __gmpz_powm_sec +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); + +#define mpz_powm_ui __gmpz_powm_ui +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); + +#define mpz_probab_prime_p __gmpz_probab_prime_p +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; + +#define mpz_random __gmpz_random +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); + +#define mpz_random2 __gmpz_random2 +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); + +#define mpz_realloc2 __gmpz_realloc2 +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); + +#define mpz_remove __gmpz_remove +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_root __gmpz_root +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rootrem __gmpz_rootrem +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_rrandomb __gmpz_rrandomb +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_scan0 __gmpz_scan0 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_scan1 __gmpz_scan1 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_set __gmpz_set +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); + +#define mpz_set_d __gmpz_set_d +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); + +#define mpz_set_f __gmpz_set_f +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); + +#define mpz_set_q __gmpz_set_q +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); +#endif + +#define mpz_set_si __gmpz_set_si +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); + +#define mpz_set_str __gmpz_set_str +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); + +#define mpz_set_ui __gmpz_set_ui +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); + +#define mpz_setbit __gmpz_setbit +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); + +#define mpz_size __gmpz_size +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_sizeinbase __gmpz_sizeinbase +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_sqrt __gmpz_sqrt +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); + +#define mpz_sqrtrem __gmpz_sqrtrem +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); + +#define mpz_sub __gmpz_sub +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_sub_ui __gmpz_sub_ui +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_ui_sub __gmpz_ui_sub +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); + +#define mpz_submul __gmpz_submul +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_submul_ui __gmpz_submul_ui +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_swap __gmpz_swap +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; + +#define mpz_tdiv_ui __gmpz_tdiv_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpz_tdiv_q __gmpz_tdiv_q +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_qr __gmpz_tdiv_qr +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tdiv_r __gmpz_tdiv_r +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); + +#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); + +#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); + +#define mpz_tstbit __gmpz_tstbit +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_pow_ui __gmpz_ui_pow_ui +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_urandomb __gmpz_urandomb +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); + +#define mpz_urandomm __gmpz_urandomm +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); + +#define mpz_xor __gmpz_xor +#define mpz_eor __gmpz_xor +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); + + +/**************** Rational (i.e. Q) routines. ****************/ + +#define mpq_abs __gmpq_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_add __gmpq_add +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_canonicalize __gmpq_canonicalize +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); + +#define mpq_clear __gmpq_clear +__GMP_DECLSPEC void mpq_clear (mpq_ptr); + +#define mpq_clears __gmpq_clears +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); + +#define mpq_cmp __gmpq_cmp +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_si __gmpq_cmp_si +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_ui __gmpq_cmp_ui +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; + +#define mpq_div __gmpq_div +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_div_2exp __gmpq_div_2exp +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_equal __gmpq_equal +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpq_get_num __gmpq_get_num +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); + +#define mpq_get_den __gmpq_get_den +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); + +#define mpq_get_d __gmpq_get_d +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpq_get_str __gmpq_get_str +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); + +#define mpq_init __gmpq_init +__GMP_DECLSPEC void mpq_init (mpq_ptr); + +#define mpq_inits __gmpq_inits +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); + +#define mpq_inp_str __gmpq_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); +#endif + +#define mpq_inv __gmpq_inv +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); + +#define mpq_mul __gmpq_mul +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_mul_2exp __gmpq_mul_2exp +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); + +#define mpq_neg __gmpq_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); +#endif + +#define mpq_out_str __gmpq_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); +#endif + +#define mpq_set __gmpq_set +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); + +#define mpq_set_d __gmpq_set_d +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); + +#define mpq_set_den __gmpq_set_den +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); + +#define mpq_set_f __gmpq_set_f +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); + +#define mpq_set_num __gmpq_set_num +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); + +#define mpq_set_si __gmpq_set_si +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); + +#define mpq_set_str __gmpq_set_str +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); + +#define mpq_set_ui __gmpq_set_ui +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); + +#define mpq_set_z __gmpq_set_z +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); + +#define mpq_sub __gmpq_sub +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); + +#define mpq_swap __gmpq_swap +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; + + +/**************** Float (i.e. F) routines. ****************/ + +#define mpf_abs __gmpf_abs +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); + +#define mpf_add __gmpf_add +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_add_ui __gmpf_add_ui +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); +#define mpf_ceil __gmpf_ceil +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); + +#define mpf_clear __gmpf_clear +__GMP_DECLSPEC void mpf_clear (mpf_ptr); + +#define mpf_clears __gmpf_clears +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); + +#define mpf_cmp __gmpf_cmp +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_d __gmpf_cmp_d +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_si __gmpf_cmp_si +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_ui __gmpf_cmp_ui +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_div __gmpf_div +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_div_2exp __gmpf_div_2exp +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_div_ui __gmpf_div_ui +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_dump __gmpf_dump +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); + +#define mpf_eq __gmpf_eq +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sint_p __gmpf_fits_sint_p +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_slong_p __gmpf_fits_slong_p +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sshort_p __gmpf_fits_sshort_p +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_uint_p __gmpf_fits_uint_p +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ulong_p __gmpf_fits_ulong_p +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ushort_p __gmpf_fits_ushort_p +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_floor __gmpf_floor +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); + +#define mpf_get_d __gmpf_get_d +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; + +#define mpf_get_d_2exp __gmpf_get_d_2exp +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); + +#define mpf_get_default_prec __gmpf_get_default_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_prec __gmpf_get_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_si __gmpf_get_si +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_str __gmpf_get_str +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); + +#define mpf_get_ui __gmpf_get_ui +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_init __gmpf_init +__GMP_DECLSPEC void mpf_init (mpf_ptr); + +#define mpf_init2 __gmpf_init2 +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); + +#define mpf_inits __gmpf_inits +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); + +#define mpf_init_set __gmpf_init_set +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); + +#define mpf_init_set_d __gmpf_init_set_d +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); + +#define mpf_init_set_si __gmpf_init_set_si +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); + +#define mpf_init_set_str __gmpf_init_set_str +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); + +#define mpf_init_set_ui __gmpf_init_set_ui +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); + +#define mpf_inp_str __gmpf_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); +#endif + +#define mpf_integer_p __gmpf_integer_p +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_mul __gmpf_mul +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_mul_2exp __gmpf_mul_2exp +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); + +#define mpf_mul_ui __gmpf_mul_ui +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_neg __gmpf_neg +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); + +#define mpf_out_str __gmpf_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); +#endif + +#define mpf_pow_ui __gmpf_pow_ui +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_random2 __gmpf_random2 +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); + +#define mpf_reldiff __gmpf_reldiff +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_set __gmpf_set +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); + +#define mpf_set_d __gmpf_set_d +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); + +#define mpf_set_default_prec __gmpf_set_default_prec +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_prec __gmpf_set_prec +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); + +#define mpf_set_prec_raw __gmpf_set_prec_raw +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; + +#define mpf_set_q __gmpf_set_q +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); + +#define mpf_set_si __gmpf_set_si +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); + +#define mpf_set_str __gmpf_set_str +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); + +#define mpf_set_ui __gmpf_set_ui +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); + +#define mpf_set_z __gmpf_set_z +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); + +#define mpf_size __gmpf_size +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_sqrt __gmpf_sqrt +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); + +#define mpf_sqrt_ui __gmpf_sqrt_ui +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); + +#define mpf_sub __gmpf_sub +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); + +#define mpf_sub_ui __gmpf_sub_ui +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); + +#define mpf_swap __gmpf_swap +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; + +#define mpf_trunc __gmpf_trunc +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); + +#define mpf_ui_div __gmpf_ui_div +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_ui_sub __gmpf_ui_sub +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); + +#define mpf_urandomb __gmpf_urandomb +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); + + +/************ Low level positive-integer (i.e. N) routines. ************/ + +/* This is ugly, but we need to make user calls reach the prefixed function. */ + +#define mpn_add __MPN(add) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_add_1 __MPN(add_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_add_n __MPN(add_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_addmul_1 __MPN(addmul_1) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_cmp __MPN(cmp) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_divexact_by3(dst,src,size) \ + mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_divexact_by3c __MPN(divexact_by3c) +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divmod_1(qp,np,nsize,dlimb) \ + mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) + +#define mpn_divrem __MPN(divrem) +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_divrem_1 __MPN(divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_divrem_2 __MPN(divrem_2) +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); + +#define mpn_gcd __MPN(gcd) +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_gcd_1 __MPN(gcd_1) +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_gcdext_1 __MPN(gcdext_1) +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); + +#define mpn_gcdext __MPN(gcdext) +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); + +#define mpn_get_str __MPN(get_str) +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); + +#define mpn_hamdist __MPN(hamdist) +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_lshift __MPN(lshift) +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_mod_1 __MPN(mod_1) +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul __MPN(mul) +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_mul_1 __MPN(mul_1) +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_mul_n __MPN(mul_n) +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_sqr __MPN(sqr) +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_neg __MPN(neg) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_com __MPN(com) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); +#endif + +#define mpn_perfect_square_p __MPN(perfect_square_p) +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_perfect_power_p __MPN(perfect_power_p) +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_popcount __MPN(popcount) +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_pow_1 __MPN(pow_1) +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); + +/* undocumented now, but retained here for upward compatibility */ +#define mpn_preinv_mod_1 __MPN(preinv_mod_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_random __MPN(random) +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); + +#define mpn_random2 __MPN(random2) +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); + +#define mpn_rshift __MPN(rshift) +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); + +#define mpn_scan0 __MPN(scan0) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_scan1 __MPN(scan1) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; + +#define mpn_set_str __MPN(set_str) +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); + +#define mpn_sqrtrem __MPN(sqrtrem) +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); + +#define mpn_sub __MPN(sub) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); +#endif + +#define mpn_sub_1 __MPN(sub_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; +#endif + +#define mpn_sub_n __MPN(sub_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_submul_1 __MPN(submul_1) +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); + +#define mpn_tdiv_qr __MPN(tdiv_qr) +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); + +#define mpn_and_n __MPN(and_n) +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_andn_n __MPN(andn_n) +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nand_n __MPN(nand_n) +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_ior_n __MPN(ior_n) +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_iorn_n __MPN(iorn_n) +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_nior_n __MPN(nior_n) +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xor_n __MPN(xor_n) +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); +#define mpn_xnor_n __MPN(xnor_n) +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); + +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); +#define mpn_zero __MPN(zero) +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + +/**************** mpz inlines ****************/ + +/* The following are provided as inlines where possible, but always exist as + library functions too, for binary compatibility. + + Within gmp itself this inlining generally isn't relied on, since it + doesn't get done for all compilers, whereas if something is worth + inlining then it's worth arranging always. + + There are two styles of inlining here. When the same bit of code is + wanted for the inline as for the library version, then __GMP_FORCE_foo + arranges for that code to be emitted and the __GMP_EXTERN_INLINE + directive suppressed, eg. mpz_fits_uint_p. When a different bit of code + is wanted for the inline than for the library version, then + __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs) +__GMP_EXTERN_INLINE void +mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size); +} +#endif + +#if GMP_NAIL_BITS == 0 +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)); +#else +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \ + || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS))); +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p) +#if ! defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p) +#if ! defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p) +#if ! defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui) +#if ! defined (__GMP_FORCE_mpz_get_ui) +__GMP_EXTERN_INLINE +#endif +unsigned long +mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings + about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland + C++ 6.0 warnings about condition always true for something like + "__GMP_ULONG_MAX < GMP_NUMB_MASK". */ +#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB) + /* limb==long and no nails, or limb==longlong, one limb is enough */ + return (__gmp_n != 0 ? __gmp_l : 0); +#else + /* limb==long and nails, need two limbs when available */ + __gmp_n = __GMP_ABS (__gmp_n); + if (__gmp_n <= 1) + return (__gmp_n != 0 ? __gmp_l : 0); + else + return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS); +#endif +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn) +#if ! defined (__GMP_FORCE_mpz_getlimbn) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_result = 0; + if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size))) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg) +__GMP_EXTERN_INLINE void +mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p) +#if ! defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */ + if (__GMP_LIKELY (__gmp_asize > 0)) + __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount) +#if ! defined (__GMP_FORCE_mpz_popcount) +__GMP_EXTERN_INLINE +#endif +mp_bitcnt_t +mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW +{ + mp_size_t __gmp_usize; + mp_bitcnt_t __gmp_result; + + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0); + if (__GMP_LIKELY (__gmp_usize > 0)) + __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q) +#if ! defined (__GMP_FORCE_mpz_set_q) +__GMP_EXTERN_INLINE +#endif +void +mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u)); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size) +#if ! defined (__GMP_FORCE_mpz_size) +__GMP_EXTERN_INLINE +#endif +size_t +mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + return __GMP_ABS (__gmp_z->_mp_size); +} +#endif + + +/**************** mpq inlines ****************/ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs) +__GMP_EXTERN_INLINE void +mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg) +__GMP_EXTERN_INLINE void +mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +#endif + + +/**************** mpn inlines ****************/ + +/* The comments with __GMPN_ADD_1 below apply here too. + + The test for FUNCTION returning 0 should predict well. If it's assumed + {yp,ysize} will usually have a random number of bits then the high limb + won't be full and a carry out will occur a good deal less than 50% of the + time. + + ysize==0 isn't a documented feature, but is used internally in a few + places. + + Producing cout last stops it using up a register during the main part of + the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))" + doesn't seem able to move the true and false legs of the conditional up + to the two places cout is generated. */ + +#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x; \ + \ + /* ASSERT ((ysize) >= 0); */ \ + /* ASSERT ((xsize) >= (ysize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */ \ + \ + __gmp_i = (ysize); \ + if (__gmp_i != 0) \ + { \ + if (FUNCTION (wp, xp, yp, __gmp_i)) \ + { \ + do \ + { \ + if (__gmp_i >= (xsize)) \ + { \ + (cout) = 1; \ + goto __gmp_done; \ + } \ + __gmp_x = (xp)[__gmp_i]; \ + } \ + while (TEST); \ + } \ + } \ + if ((wp) != (xp)) \ + __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \ + (cout) = 0; \ + __gmp_done: \ + ; \ + } while (0) + +#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \ + (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0)) +#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \ + (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0)) + + +/* The use of __gmp_i indexing is designed to ensure a compile time src==dst + remains nice and clear to the compiler, so that __GMPN_COPY_REST can + disappear, and the load/add/store gets a chance to become a + read-modify-write on CISC CPUs. + + Alternatives: + + Using a pair of pointers instead of indexing would be possible, but gcc + isn't able to recognise compile-time src==dst in that case, even when the + pointers are incremented more or less together. Other compilers would + very likely have similar difficulty. + + gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or + similar to detect a compile-time src==dst. This works nicely on gcc + 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems + to be always false, for a pointer p. But the current code form seems + good enough for src==dst anyway. + + gcc on x86 as usual doesn't give particularly good flags handling for the + carry/borrow detection. It's tempting to want some multi instruction asm + blocks to help it, and this was tried, but in truth there's only a few + instructions to save and any gain is all too easily lost by register + juggling setting up for the asm. */ + +#if GMP_NAIL_BITS == 0 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r; \ + if (CB (__gmp_r, __gmp_x, (v))) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r; \ + ++__gmp_i; \ + if (!CB (__gmp_r, __gmp_x, 1)) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#if GMP_NAIL_BITS >= 1 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r & GMP_NUMB_MASK; \ + if (__gmp_r >> GMP_NUMB_BITS != 0) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \ + ++__gmp_i; \ + if (__gmp_r >> GMP_NUMB_BITS == 0) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#define __GMPN_ADDCB(r,x,y) ((r) < (y)) +#define __GMPN_SUBCB(r,x,y) ((x) < (y)) + +#define __GMPN_ADD_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB) +#define __GMPN_SUB_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB) + + +/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or + negative. size==0 is allowed. On random data usually only one limb will + need to be examined to get a result, so it's worth having it inline. */ +#define __GMPN_CMP(result, xp, yp, size) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_y; \ + \ + /* ASSERT ((size) >= 0); */ \ + \ + (result) = 0; \ + __gmp_i = (size); \ + while (--__gmp_i >= 0) \ + { \ + __gmp_x = (xp)[__gmp_i]; \ + __gmp_y = (yp)[__gmp_i]; \ + if (__gmp_x != __gmp_y) \ + { \ + /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \ + (result) = (__gmp_x > __gmp_y ? 1 : -1); \ + break; \ + } \ + } \ + } while (0) + + +#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \ + } while (0) +#endif + +/* Copy {src,size} to {dst,size}, starting at "start". This is designed to + keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1, + __GMPN_ADD, etc. */ +#if ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + mp_size_t __gmp_j; \ + /* ASSERT ((size) >= 0); */ \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \ + __GMP_CRAY_Pragma ("_CRI ivdep"); \ + for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \ + (dst)[__gmp_j] = (src)[__gmp_j]; \ + } while (0) +#endif + +/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use + mpn_copyi if there's a native version, and if we don't mind demanding + binary compatibility for it (on targets which use it). */ + +#if ! defined (__GMPN_COPY) +#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0) +#endif + + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add) +#if ! defined (__GMP_FORCE_mpn_add) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1) +#if ! defined (__GMP_FORCE_mpn_add_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp) +#if ! defined (__GMP_FORCE_mpn_cmp) +__GMP_EXTERN_INLINE +#endif +int +mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW +{ + int __gmp_result; + __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub) +#if ! defined (__GMP_FORCE_mpn_sub) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1) +#if ! defined (__GMP_FORCE_mpn_sub_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg) +#if ! defined (__GMP_FORCE_mpn_neg) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +#endif + +#if defined (__cplusplus) +} +#endif + + +/* Allow faster testing for negative, zero, and positive. */ +#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0) +#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0) +#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0) + +/* When using GCC, optimize certain common comparisons. */ +#if defined (__GNUC__) && __GNUC__ >= 2 +#define mpz_cmp_ui(Z,UI) \ + (__builtin_constant_p (UI) && (UI) == 0 \ + ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI)) +#define mpz_cmp_si(Z,SI) \ + (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z) \ + : __builtin_constant_p (SI) && (SI) > 0 \ + ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI)) \ + : _mpz_cmp_si (Z,SI)) +#define mpq_cmp_ui(Q,NUI,DUI) \ + (__builtin_constant_p (NUI) && (NUI) == 0 \ + ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI)) +#define mpq_cmp_si(q,n,d) \ + (__builtin_constant_p ((n) >= 0) && (n) >= 0 \ + ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \ + : _mpq_cmp_si (q, n, d)) +#else +#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI) +#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI) +#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI) +#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d) +#endif + + +/* Using "&" rather than "&&" means these can come out branch-free. Every + mpz_t has at least one limb allocated, so fetching the low limb is always + allowed. */ +#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0])) +#define mpz_even_p(z) (! mpz_odd_p (z)) + + +/**************** C++ routines ****************/ + +#ifdef __cplusplus +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr); +#endif + + +/* Source-level compatibility with GMP 2 and earlier. */ +#define mpn_divmod(qp,np,nsize,dp,dsize) \ + mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize) + +/* Source-level compatibility with GMP 1. */ +#define mpz_mdiv mpz_fdiv_q +#define mpz_mdivmod mpz_fdiv_qr +#define mpz_mmod mpz_fdiv_r +#define mpz_mdiv_ui mpz_fdiv_q_ui +#define mpz_mdivmod_ui(q,r,n,d) \ + (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d)) +#define mpz_mmod_ui(r,n,d) \ + (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d)) + +/* Useful synonyms, but not quite compatible with GMP 1. */ +#define mpz_div mpz_fdiv_q +#define mpz_divmod mpz_fdiv_qr +#define mpz_div_ui mpz_fdiv_q_ui +#define mpz_divmod_ui mpz_fdiv_qr_ui +#define mpz_div_2exp mpz_fdiv_q_2exp +#define mpz_mod_2exp mpz_fdiv_r_2exp + +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; + +/* Define CC and CFLAGS which were used to build this version of GMP */ +#define __GMP_CC "gcc -std=gnu99" +#define __GMP_CFLAGS "-marm -O2 -pedantic -fomit-frame-pointer" + +/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + +#define __GMP_H__ +#endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/hppa/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/hppa/Makefile.inc index 11161fba6..dd352ae66 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/hppa/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/hppa/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/07 02:06:32 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,36 +83,43 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -107,39 +129,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -164,28 +196,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/hppa/config.h b/external/lgpl3/gmp/lib/libgmp/arch/hppa/config.h index 5e8e79243..af402e50b 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/hppa/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/hppa/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ #define HAVE_NATIVE_mpn_sqr_diagonal 1 +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ #define HAVE_NATIVE_mpn_udiv_qrnnd 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/hppa/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/hppa/gmp.h index 415eda2b7..936c4e430 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/hppa/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/hppa/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -mpa-risc-1-1" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/hppa/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/hppa/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/hppa/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/i386/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/i386/Makefile.inc index b88857c16..38583ab4e 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/i386/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/i386/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.5 2011/07/07 17:55:26 drochner Exp $ +# $NetBSD: Makefile.inc,v 1.7 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ @@ -6,6 +6,8 @@ SRCS+= \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -13,20 +15,28 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ - dcpi1_div_qr.c \ mu_divappr_q.c \ - redc_1_sec.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ toom6_sqr.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ + toom54_mul.c \ toom_interpolate_6pts.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ @@ -34,23 +44,27 @@ SRCS+= \ com.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ - toom_interpolate_16pts.c \ mu_div_qr.c \ + toom_interpolate_16pts.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ toom_interpolate_5pts.c \ @@ -60,7 +74,7 @@ SRCS+= \ sqrtrem.c \ gcdext_1.c \ toom63_mul.c \ - bdiv_q_1.c \ + div_qr_2u_pi1.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ @@ -70,26 +84,32 @@ SRCS+= \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -98,46 +118,78 @@ SRCS+= \ lshiftc.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ + add_n.asm mpn/x86/aors_n.asm \ + sqr_basecase.asm mpn/x86/sqr_basecase.asm \ + bdiv_q_1.asm mpn/x86/bdiv_q_1.asm \ submul_1.asm mpn/x86/aorsmul_1.asm \ + umul.asm mpn/x86/umul.asm \ + mul_basecase.asm mpn/x86/mul_basecase.asm \ + tabselect.asm mpn/x86/tabselect.asm \ + lshift.asm mpn/x86/lshift.asm \ + mul_1.asm mpn/x86/mul_1.asm \ + divrem_1.asm mpn/x86/divrem_1.asm \ + copyd.asm mpn/x86/copyd.asm \ bdiv_dbm1c.asm mpn/x86/bdiv_dbm1c.asm \ + udiv.asm mpn/x86/udiv.asm \ + dive_1.asm mpn/x86/dive_1.asm \ + copyi.asm mpn/x86/copyi.asm \ + rshift.asm mpn/x86/rshift.asm \ + mod_34lsub1.asm mpn/x86/mod_34lsub1.asm \ addmul_1.asm mpn/x86/aorsmul_1.asm \ divrem_2.asm mpn/x86/divrem_2.asm \ + sub_n.asm mpn/x86/aors_n.asm \ + +#ASM_SRCS_LIST= \ +# submul_1.asm mpn/x86/aorsmul_1.asm \ +# bdiv_dbm1c.asm mpn/x86/bdiv_dbm1c.asm \ +# addmul_1.asm mpn/x86/aorsmul_1.asm \ +# divrem_2.asm mpn/x86/divrem_2.asm \ # XXX using C versions # add_n.asm mpn/x86/aors_n.asm \ @@ -158,8 +210,8 @@ ASM_SRCS_LIST= \ # udiv.asm mpn/x86/udiv.asm \ -SRCS+= add_n.c bdiv_q_1.c copyd.c copyi.c dive_1.c lshift.c rshift.c mod_34lsub1.c -SRCS+= mul_1.c sqr_basecase.c mul_basecase.c sub_n.c divrem_1.c +#SRCS+= add_n.c bdiv_q_1.c copyd.c copyi.c dive_1.c lshift.c rshift.c mod_34lsub1.c +#SRCS+= mul_1.c sqr_basecase.c mul_basecase.c sub_n.c divrem_1.c # XXX? put in C_SRCS_LIST? # divrem.c @@ -175,34 +227,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.OBJDIR}/config.m4 - -CLEANFILES+= config.m4 -clean: cleandummy -cleandummy: .PHONY - -rmdir dummy - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor - diff --git a/external/lgpl3/gmp/lib/libgmp/arch/i386/config.h b/external/lgpl3/gmp/lib/libgmp/arch/i386/config.h index 6509e10b0..d42db8898 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/i386/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/i386/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -27,7 +27,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* The gmp-mparam.h file (a string) the tune program should suggest updating. */ -#define GMP_MPARAM_H_SUGGEST "/usr/src/external/lgpl3/gmp/dist/mpn/x86/i486/gmp-mparam.h" +#define GMP_MPARAM_H_SUGGEST "./mpn/x86/i486/gmp-mparam.h" /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -215,12 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* XXXMRG */ -/* #define HAVE_NATIVE_mpn_add_nc 1 */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -229,14 +252,16 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ #define HAVE_NATIVE_mpn_bdiv_dbm1c 1 -/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ -/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ +#define HAVE_NATIVE_mpn_bdiv_q_1 1 +#define HAVE_NATIVE_mpn_pi1_bdiv_q_1 1 /* #undef HAVE_NATIVE_mpn_com */ #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ #define HAVE_NATIVE_mpn_divexact_1 1 /* #undef HAVE_NATIVE_mpn_divexact_by3c */ #define HAVE_NATIVE_mpn_divrem_1 1 @@ -244,8 +269,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_divrem_2 1 /* #undef HAVE_NATIVE_mpn_gcd_1 */ /* #undef HAVE_NATIVE_mpn_hamdist */ -/* XXXMRG */ -/* #define HAVE_NATIVE_mpn_invert_limb 1 */ +/* #undef HAVE_NATIVE_mpn_invert_limb */ /* #undef HAVE_NATIVE_mpn_ior_n */ /* #undef HAVE_NATIVE_mpn_iorn_n */ #define HAVE_NATIVE_mpn_lshift 1 @@ -264,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ #define HAVE_NATIVE_mpn_mul_basecase 1 /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -275,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -282,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 #define HAVE_NATIVE_mpn_sqr_basecase 1 /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #define HAVE_NATIVE_mpn_sub_nc 1 */ +#define HAVE_NATIVE_mpn_sub_nc 1 +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +#define HAVE_NATIVE_mpn_tabselect 1 #define HAVE_NATIVE_mpn_udiv_qrnnd 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -318,7 +359,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_PSTAT_GETPROCESSOR */ /* Define to 1 if the system has the type `ptrdiff_t'. */ -#define HAVE_PTRDIFF_T 1 +/* #undef HAVE_PTRDIFF_T */ /* Define to 1 if the system has the type `quad_t'. */ #define HAVE_QUAD_T 1 @@ -452,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -463,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -478,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -505,7 +546,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef SSCANF_WRITABLE_INPUT */ /* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 +/* #undef STDC_HEADERS */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 @@ -514,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef TUNE_SQR_TOOM2_MAX */ /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -561,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/i386/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/i386/gmp.h index 1269fd866..96a82f8ad 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/i386/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/i386/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2271,10 +2222,10 @@ enum #define __GMP_CFLAGS "-m32 -O2 -pedantic -fomit-frame-pointer -mtune=i486 -march=i486" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/i386/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/i386/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/i386/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/ia64/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/ia64/Makefile.inc new file mode 100644 index 000000000..76b0733c0 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/ia64/Makefile.inc @@ -0,0 +1,174 @@ +# $NetBSD: Makefile.inc,v 1.1 2012/12/26 19:39:26 martin Exp $ + +SRCS+= \ + trialdiv.c \ + powlo.c \ + redc_2.c \ + bdiv_q_1.c \ + toom62_mul.c \ + gcd_lehmer.c \ + mod_1_3.c \ + sub.c \ + bdiv_qr.c \ + sbpi1_divappr_q.c \ + sqrmod_bnm1.c \ + toom6_sqr.c \ + toom44_mul.c \ + hgcd.c \ + tdiv_qr.c \ + gcd_subdiv_step.c \ + nussbaumer_mul.c \ + mod_1_4.c \ + sbpi1_bdiv_q.c \ + toom43_mul.c \ + gcdext.c \ + mu_bdiv_qr.c \ + sbpi1_div_qr.c \ + toom_interpolate_6pts.c \ + toom6h_mul.c \ + toom52_mul.c \ + toom42_mul.c \ + gcdext_lehmer.c \ + pow_1.c \ + lshiftc.c \ + sub_1.c \ + zero.c \ + dcpi1_bdiv_qr.c \ + sbpi1_bdiv_qr.c \ + matrix22_mul.c \ + perfpow.c \ + random2.c \ + dump.c \ + mod_34lsub1.c \ + dcpi1_divappr_q.c \ + invert.c \ + toom_interpolate_8pts.c \ + toom33_mul.c \ + fib2_ui.c \ + powm.c \ + divexact.c \ + toom_eval_pm2exp.c \ + toom4_sqr.c \ + toom32_mul.c \ + get_d.c \ + jacbase.c \ + gcdext_subdiv_step.c \ + gcdext_1.c \ + mul_basecase.c \ + add_1.c \ + redc_1_sec.c \ + mu_divappr_q.c \ + toom_interpolate_12pts.c \ + toom_interpolate_5pts.c \ + toom3_sqr.c \ + scan0.c \ + set_str.c \ + get_str.c \ + mul_n.c \ + pre_mod_1.c \ + subcnd_n.c \ + redc_n.c \ + dcpi1_div_q.c \ + sbpi1_div_q.c \ + binvert.c \ + toom_eval_pm2rexp.c \ + toom_eval_pm1.c \ + toom_couple_handling.c \ + gcd.c \ + perfsqr.c \ + scan1.c \ + mod_1.c \ + divrem.c \ + add.c \ + remove.c \ + toom_interpolate_7pts.c \ + toom_eval_pm2.c \ + toom8_sqr.c \ + toom63_mul.c \ + toom22_mul.c \ + mullo_n.c \ + hgcd2.c \ + rootrem.c \ + random.c \ + mul.c \ + bdiv_q.c \ + mu_bdiv_q.c \ + toom_eval_dgr3_pm1.c \ + toom8h_mul.c \ + mullo_basecase.c \ + sqrtrem.c \ + sqr_basecase.c \ + powm_sec.c \ + dcpi1_bdiv_q.c \ + mu_div_q.c \ + mu_div_qr.c \ + invertappr.c \ + toom_interpolate_16pts.c \ + toom_eval_dgr3_pm2.c \ + toom2_sqr.c \ + mod_1_1.c \ + divis.c \ + diveby3.c \ + com.c \ + redc_1.c \ + dcpi1_div_qr.c \ + mulmod_bnm1.c \ + toom53_mul.c \ + div_q.c \ + cmp.c \ + sqr.c \ + mul_fft.c \ + mod_1_2.c \ + neg.c \ + + +C_SRCS_LIST= \ + + +ASM_SRCS_LIST= \ + ior_n.asm mpn/ia64/logops_n.asm \ + nand_n.asm mpn/ia64/logops_n.asm \ + addmul_1.asm mpn/ia64/addmul_1.asm \ + addlsh1_n.asm mpn/ia64/aorslsh1_n.asm \ + iorn_n.asm mpn/ia64/logops_n.asm \ + gcd_1.asm mpn/ia64/gcd_1.asm \ + popcount.asm mpn/ia64/popcount.asm \ + mul_2.asm mpn/ia64/mul_2.asm \ + copyd.asm mpn/ia64/copyd.asm \ + xor_n.asm mpn/ia64/logops_n.asm \ + sqr_diagonal.asm mpn/ia64/sqr_diagonal.asm \ + andn_n.asm mpn/ia64/logops_n.asm \ + submul_1.asm mpn/ia64/submul_1.asm \ + mul_1.asm mpn/ia64/mul_1.asm \ + sublsh1_n.asm mpn/ia64/aorslsh1_n.asm \ + copyi.asm mpn/ia64/copyi.asm \ + and_n.asm mpn/ia64/logops_n.asm \ + hamdist.asm mpn/ia64/hamdist.asm \ + sub_n.asm mpn/ia64/aors_n.asm \ + nior_n.asm mpn/ia64/logops_n.asm \ + add_n.asm mpn/ia64/aors_n.asm \ + invert_limb.asm mpn/ia64/invert_limb.asm \ + bdiv_dbm1c.asm mpn/ia64/bdiv_dbm1c.asm \ + rshift.asm mpn/ia64/lorrshift.asm \ + rsh1sub_n.asm mpn/ia64/rsh1aors_n.asm \ + xnor_n.asm mpn/ia64/logops_n.asm \ + divrem_2.asm mpn/ia64/divrem_2.asm \ + rsh1add_n.asm mpn/ia64/rsh1aors_n.asm \ + dive_1.asm mpn/ia64/dive_1.asm \ + lshift.asm mpn/ia64/lorrshift.asm \ + addmul_2.asm mpn/ia64/addmul_2.asm \ + mode1o.asm mpn/ia64/mode1o.asm \ + divrem_1.asm mpn/ia64/divrem_1.asm \ + + +gen-trialdivtab: gen-trialdivtab.c + ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm + +# XXX +GMP_LIMB_BITS=64 + +trialdiv.c: trialdivtab.h +trialdivtab.h: gen-trialdivtab + ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h + +CLEANFILES+= trialdivtab.h diff --git a/external/lgpl3/gmp/lib/libgmp/arch/ia64/config.h b/external/lgpl3/gmp/lib/libgmp/arch/ia64/config.h new file mode 100644 index 000000000..214b17a9e --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/ia64/config.h @@ -0,0 +1,587 @@ +/* config.h. Generated from config.in by configure. */ +/* config.in. Generated from configure.in by autoheader. */ + +/* + +Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +2007, 2008, 2009, 2010 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published +by the Free Software Foundation; either version 3 of the License, or (at +your option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. +*/ + +/* Define if building universal (internal helper macro) */ +/* #undef AC_APPLE_UNIVERSAL_BUILD */ + +/* The gmp-mparam.h file (a string) the tune program should suggest updating. + */ +#define GMP_MPARAM_H_SUGGEST "./mpn/ia64/gmp-mparam.h" + +/* Define to 1 if you have the `alarm' function. */ +#define HAVE_ALARM 1 + +/* Define to 1 if alloca() works (via gmp-impl.h). */ +#define HAVE_ALLOCA 1 + +/* Define to 1 if you have and it should be used (not on Ultrix). + */ +#define HAVE_ALLOCA_H 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((const)) */ +#define HAVE_ATTRIBUTE_CONST 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((malloc)) */ +#define HAVE_ATTRIBUTE_MALLOC 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((mode (XX))) + */ +#define HAVE_ATTRIBUTE_MODE 1 + +/* Define to 1 if the compiler accepts gcc style __attribute__ ((noreturn)) */ +#define HAVE_ATTRIBUTE_NORETURN 1 + +/* Define to 1 if you have the `attr_get' function. */ +/* #undef HAVE_ATTR_GET */ + +/* Define to 1 if tests/libtests has calling conventions checking for the CPU + */ +/* #undef HAVE_CALLING_CONVENTIONS */ + +/* Define to 1 if you have the `clock' function. */ +#define HAVE_CLOCK 1 + +/* Define to 1 if you have the `clock_gettime' function. */ +/* #undef HAVE_CLOCK_GETTIME */ + +/* Define to 1 if you have the `cputime' function. */ +/* #undef HAVE_CPUTIME */ + +/* Define to 1 if you have the declaration of `fgetc', and to 0 if you don't. + */ +#define HAVE_DECL_FGETC 1 + +/* Define to 1 if you have the declaration of `fscanf', and to 0 if you don't. + */ +#define HAVE_DECL_FSCANF 1 + +/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. + */ +#define HAVE_DECL_OPTARG 1 + +/* Define to 1 if you have the declaration of `sys_errlist', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_ERRLIST 1 + +/* Define to 1 if you have the declaration of `sys_nerr', and to 0 if you + don't. */ +#define HAVE_DECL_SYS_NERR 1 + +/* Define to 1 if you have the declaration of `ungetc', and to 0 if you don't. + */ +#define HAVE_DECL_UNGETC 1 + +/* Define to 1 if you have the declaration of `vfprintf', and to 0 if you + don't. */ +#define HAVE_DECL_VFPRINTF 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define one of the following to 1 for the format of a `double'. + If your format is not among these choices, or you don't know what it is, + then leave all undefined. + IEEE_LITTLE_SWAPPED means little endian, but with the two 4-byte halves + swapped, as used by ARM CPUs in little endian mode. */ +/* #undef HAVE_DOUBLE_IEEE_BIG_ENDIAN */ +#define HAVE_DOUBLE_IEEE_LITTLE_ENDIAN 1 +/* #undef HAVE_DOUBLE_IEEE_LITTLE_SWAPPED */ +/* #undef HAVE_DOUBLE_VAX_D */ +/* #undef HAVE_DOUBLE_VAX_G */ +/* #undef HAVE_DOUBLE_CRAY_CFP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FLOAT_H 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `getsysinfo' function. */ +/* #undef HAVE_GETSYSINFO */ + +/* Define to 1 if you have the `gettimeofday' function. */ +#define HAVE_GETTIMEOFDAY 1 + +/* Define one of these to 1 for the host CPU family. + If your CPU is not in any of these families, leave all undefined. + For an AMD64 chip, define "x86" in ABI=32, but not in ABI=64. */ +/* #undef HAVE_HOST_CPU_FAMILY_alpha */ +/* #undef HAVE_HOST_CPU_FAMILY_m68k */ +/* #undef HAVE_HOST_CPU_FAMILY_power */ +/* #undef HAVE_HOST_CPU_FAMILY_powerpc */ +/* #undef HAVE_HOST_CPU_FAMILY_x86 */ +/* #undef HAVE_HOST_CPU_FAMILY_x86_64 */ + +/* Define one of the following to 1 for the host CPU, as per the output of + ./config.guess. If your CPU is not listed here, leave all undefined. */ +/* #undef HAVE_HOST_CPU_alphaev67 */ +/* #undef HAVE_HOST_CPU_alphaev68 */ +/* #undef HAVE_HOST_CPU_alphaev7 */ +/* #undef HAVE_HOST_CPU_m68020 */ +/* #undef HAVE_HOST_CPU_m68030 */ +/* #undef HAVE_HOST_CPU_m68040 */ +/* #undef HAVE_HOST_CPU_m68060 */ +/* #undef HAVE_HOST_CPU_m68360 */ +/* #undef HAVE_HOST_CPU_powerpc604 */ +/* #undef HAVE_HOST_CPU_powerpc604e */ +/* #undef HAVE_HOST_CPU_powerpc750 */ +/* #undef HAVE_HOST_CPU_powerpc7400 */ +/* #undef HAVE_HOST_CPU_supersparc */ +/* #undef HAVE_HOST_CPU_i386 */ +/* #undef HAVE_HOST_CPU_i586 */ +/* #undef HAVE_HOST_CPU_i686 */ +/* #undef HAVE_HOST_CPU_pentium */ +/* #undef HAVE_HOST_CPU_pentiummmx */ +/* #undef HAVE_HOST_CPU_pentiumpro */ +/* #undef HAVE_HOST_CPU_pentium2 */ +/* #undef HAVE_HOST_CPU_pentium3 */ + +/* Define to 1 if the system has the type `intmax_t'. */ +#define HAVE_INTMAX_T 1 + +/* Define to 1 if the system has the type `intptr_t'. */ +#define HAVE_INTPTR_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INVENT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_LANGINFO_H 1 + +/* Define one of these to 1 for the endianness of `mp_limb_t'. + If the endianness is not a simple big or little, or you don't know what + it is, then leave both undefined. */ +/* #undef HAVE_LIMB_BIG_ENDIAN */ +#define HAVE_LIMB_LITTLE_ENDIAN 1 + +/* Define to 1 if you have the `localeconv' function. */ +#define HAVE_LOCALECONV 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LOCALE_H 1 + +/* Define to 1 if the system has the type `long double'. */ +#define HAVE_LONG_DOUBLE 1 + +/* Define to 1 if the system has the type `long long'. */ +#define HAVE_LONG_LONG 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_MACHINE_HAL_SYSINFO_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `memset' function. */ +#define HAVE_MEMSET 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the `mprotect' function. */ +#define HAVE_MPROTECT 1 + +/* Define to 1 each of the following for which a native (ie. CPU specific) + implementation of the corresponding routine exists. */ +#define HAVE_NATIVE_mpn_add_n 1 +/* #undef HAVE_NATIVE_mpn_add_n_sub_n */ +/* #undef HAVE_NATIVE_mpn_add_nc */ +/* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +#define HAVE_NATIVE_mpn_addlsh1_n 1 +/* #undef HAVE_NATIVE_mpn_addlsh2_n */ +/* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addmul_1c */ +#define HAVE_NATIVE_mpn_addmul_2 1 +/* #undef HAVE_NATIVE_mpn_addmul_3 */ +/* #undef HAVE_NATIVE_mpn_addmul_4 */ +/* #undef HAVE_NATIVE_mpn_addmul_5 */ +/* #undef HAVE_NATIVE_mpn_addmul_6 */ +/* #undef HAVE_NATIVE_mpn_addmul_7 */ +/* #undef HAVE_NATIVE_mpn_addmul_8 */ +#define HAVE_NATIVE_mpn_and_n 1 +#define HAVE_NATIVE_mpn_andn_n 1 +#define HAVE_NATIVE_mpn_bdiv_dbm1c 1 +/* #undef HAVE_NATIVE_mpn_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_pi1_bdiv_q_1 */ +/* #undef HAVE_NATIVE_mpn_com */ +#define HAVE_NATIVE_mpn_copyd 1 +#define HAVE_NATIVE_mpn_copyi 1 +#define HAVE_NATIVE_mpn_divexact_1 1 +/* #undef HAVE_NATIVE_mpn_divexact_by3c */ +#define HAVE_NATIVE_mpn_divrem_1 1 +/* #undef HAVE_NATIVE_mpn_divrem_1c */ +#define HAVE_NATIVE_mpn_divrem_2 1 +#define HAVE_NATIVE_mpn_gcd_1 1 +#define HAVE_NATIVE_mpn_hamdist 1 +#define HAVE_NATIVE_mpn_invert_limb 1 +#define HAVE_NATIVE_mpn_ior_n 1 +#define HAVE_NATIVE_mpn_iorn_n 1 +#define HAVE_NATIVE_mpn_lshift 1 +/* #undef HAVE_NATIVE_mpn_lshiftc */ +/* #undef HAVE_NATIVE_mpn_lshsub_n */ +/* #undef HAVE_NATIVE_mpn_mod_1 */ +/* #undef HAVE_NATIVE_mpn_mod_1_1p */ +/* #undef HAVE_NATIVE_mpn_mod_1c */ +/* #undef HAVE_NATIVE_mpn_mod_1s_2p */ +/* #undef HAVE_NATIVE_mpn_mod_1s_4p */ +/* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ +/* #undef HAVE_NATIVE_mpn_modexact_1_odd */ +#define HAVE_NATIVE_mpn_modexact_1c_odd 1 +#define HAVE_NATIVE_mpn_mul_1 1 +#define HAVE_NATIVE_mpn_mul_1c 1 +#define HAVE_NATIVE_mpn_mul_2 1 +/* #undef HAVE_NATIVE_mpn_mul_3 */ +/* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_basecase */ +#define HAVE_NATIVE_mpn_nand_n 1 +#define HAVE_NATIVE_mpn_nior_n 1 +#define HAVE_NATIVE_mpn_popcount 1 +#define HAVE_NATIVE_mpn_preinv_divrem_1 1 +/* #undef HAVE_NATIVE_mpn_preinv_mod_1 */ +/* #undef HAVE_NATIVE_mpn_redc_1 */ +/* #undef HAVE_NATIVE_mpn_redc_2 */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh_n */ +#define HAVE_NATIVE_mpn_rsh1add_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1add_nc */ +#define HAVE_NATIVE_mpn_rsh1sub_n 1 +/* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ +#define HAVE_NATIVE_mpn_rshift 1 +/* #undef HAVE_NATIVE_mpn_sqr_basecase */ +#define HAVE_NATIVE_mpn_sqr_diagonal 1 +#define HAVE_NATIVE_mpn_sub_n 1 +/* #undef HAVE_NATIVE_mpn_sub_nc */ +#define HAVE_NATIVE_mpn_sublsh1_n 1 +/* #undef HAVE_NATIVE_mpn_sublsh2_n */ +/* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ +/* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm */ +/* #undef HAVE_NATIVE_mpn_umul_ppmm_r */ +#define HAVE_NATIVE_mpn_xor_n 1 +#define HAVE_NATIVE_mpn_xnor_n 1 + +/* Define to 1 if you have the `nl_langinfo' function. */ +#define HAVE_NL_LANGINFO 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_NL_TYPES_H 1 + +/* Define to 1 if you have the `obstack_vprintf' function. */ +/* #undef HAVE_OBSTACK_VPRINTF */ + +/* Define to 1 if you have the `popen' function. */ +#define HAVE_POPEN 1 + +/* Define to 1 if you have the `processor_info' function. */ +/* #undef HAVE_PROCESSOR_INFO */ + +/* Define to 1 if `struct pst_processor' exists and contains + `psp_iticksperclktick'. */ +/* #undef HAVE_PSP_ITICKSPERCLKTICK */ + +/* Define to 1 if you have the `pstat_getprocessor' function. */ +/* #undef HAVE_PSTAT_GETPROCESSOR */ + +/* Define to 1 if the system has the type `ptrdiff_t'. */ +#define HAVE_PTRDIFF_T 1 + +/* Define to 1 if the system has the type `quad_t'. */ +#define HAVE_QUAD_T 1 + +/* Define to 1 if you have the `raise' function. */ +#define HAVE_RAISE 1 + +/* Define to 1 if you have the `read_real_time' function. */ +/* #undef HAVE_READ_REAL_TIME */ + +/* Define to 1 if you have the `sigaction' function. */ +#define HAVE_SIGACTION 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the `sigstack' function. */ +#define HAVE_SIGSTACK 1 + +/* Tune directory speed_cyclecounter, undef=none, 1=32bits, 2=64bits) */ +#define HAVE_SPEED_CYCLECOUNTER 2 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SSTREAM */ + +/* Define to 1 if the system has the type `stack_t'. */ +#define HAVE_STACK_T 1 + +/* Define to 1 if exists and works */ +#define HAVE_STDARG 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if the system has the type `std::locale'. */ +/* #undef HAVE_STD__LOCALE */ + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if cpp supports the ANSI # stringizing operator. */ +#define HAVE_STRINGIZE 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + +/* Define to 1 if you have the `strtol' function. */ +#define HAVE_STRTOL 1 + +/* Define to 1 if you have the `strtoul' function. */ +#define HAVE_STRTOUL 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the `sysctl' function. */ +#define HAVE_SYSCTL 1 + +/* Define to 1 if you have the `sysctlbyname' function. */ +/* #undef HAVE_SYSCTLBYNAME */ + +/* Define to 1 if you have the `syssgi' function. */ +/* #undef HAVE_SYSSGI */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_ATTRIBUTES_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IOGRAPH_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PROCESSOR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_PSTAT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSCTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSINFO_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSSGI_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_SYSTEMCFG_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIMES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the `times' function. */ +#define HAVE_TIMES 1 + +/* Define to 1 if the system has the type `uint_least32_t'. */ +#define HAVE_UINT_LEAST32_T 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vsnprintf' function and it works properly. */ +#define HAVE_VSNPRINTF 1 + +/* Assembler local label prefix */ +#define LSYM_PREFIX ".L" + +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "gmp" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "GNU MP" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "GNU MP 5.0.2" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "gmp" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "http://www.gnu.org/software/gmp/" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "5.0.2" + +/* Define to 1 if the C compiler supports function prototypes. */ +#define PROTOTYPES 1 + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* The size of `mp_limb_t', as computed by sizeof. */ +#define SIZEOF_MP_LIMB_T 8 + +/* The size of `unsigned', as computed by sizeof. */ +#define SIZEOF_UNSIGNED 4 + +/* The size of `unsigned long', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_LONG 8 + +/* The size of `unsigned short', as computed by sizeof. */ +#define SIZEOF_UNSIGNED_SHORT 2 + +/* The size of `void *', as computed by sizeof. */ +#define SIZEOF_VOID_P 8 + +/* Define to 1 if sscanf requires writable inputs */ +/* #undef SSCANF_WRITABLE_INPUT */ + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you can safely include both and . */ +#define TIME_WITH_SYS_TIME 1 + +/* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */ +#define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC + +/* Version number of package */ +#define VERSION "5.0.2" + +/* Define to 1 to enable ASSERT checking, per --enable-assert */ +/* #undef WANT_ASSERT */ + +/* Define to 1 when building a fat binary. */ +/* #undef WANT_FAT_BINARY */ + +/* Define to 1 to enable FFTs for multiplication, per --enable-fft */ +#define WANT_FFT 1 + +/* Define to 1 to enable old mpn_mul_fft_full for multiplication, per + --enable-old-fft-full */ +/* #undef WANT_OLD_FFT_FULL */ + +/* Define to 1 if --enable-profiling=gprof */ +/* #undef WANT_PROFILING_GPROF */ + +/* Define to 1 if --enable-profiling=instrument */ +/* #undef WANT_PROFILING_INSTRUMENT */ + +/* Define to 1 if --enable-profiling=prof */ +/* #undef WANT_PROFILING_PROF */ + +/* Define one of these to 1 for the desired temporary memory allocation + method, per --enable-alloca. */ +#define WANT_TMP_ALLOCA 1 +/* #undef WANT_TMP_REENTRANT */ +/* #undef WANT_TMP_NOTREENTRANT */ +/* #undef WANT_TMP_DEBUG */ + +/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most + significant byte first (like Motorola and SPARC, unlike Intel). */ +#if defined AC_APPLE_UNIVERSAL_BUILD +# if defined __BIG_ENDIAN__ +# define WORDS_BIGENDIAN 1 +# endif +#else +# ifndef WORDS_BIGENDIAN +/* # undef WORDS_BIGENDIAN */ +# endif +#endif + +/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a + `char[]'. */ +#define YYTEXT_POINTER 1 + +/* Define like PROTOTYPES; this can be used by system headers. */ +#define __PROTOTYPES 1 + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to the equivalent of the C99 'restrict' keyword, or to + nothing if this is not supported. Do not define if restrict is + supported directly. */ +#define restrict __restrict +/* Work around a bug in Sun C++: it does not support _Restrict or + __restrict__, even though the corresponding Sun C compiler ends up with + "#define restrict _Restrict" or "#define restrict __restrict__" in the + previous line. Perhaps some future version of Sun C++ will work with + restrict; if so, hopefully it defines __RESTRICT like Sun C does. */ +#if defined __SUNPRO_CC && !defined __RESTRICT +# define _Restrict +# define __restrict__ +#endif + +/* Define to empty if the keyword `volatile' does not work. Warning: valid + code using `volatile' can become incorrect without. Disable with care. */ +/* #undef volatile */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/ia64/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/ia64/config.m4 new file mode 100644 index 000000000..755b9c952 --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/ia64/config.m4 @@ -0,0 +1,35 @@ +dnl config.m4. Generated automatically by configure. +changequote(<,>) +ifdef(<__CONFIG_M4_INCLUDED__>,,< +define(,0) +define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.global>) +define(, <>) +define(, <>) +define(, <.text>) +define(, <.type $1,@$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) +define(, <`yes'>) +define(,<119>) +define(,<4>) +define(,64) +define(,0) +define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) +>) +changequote(`,') +ifdef(`__CONFIG_M4_INCLUDED__',,` +include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +include_mpn(`ia64/ia64-defs.m4') +define_not_for_expansion(`HAVE_HOST_CPU_ia64') +define_not_for_expansion(`HAVE_ABI_64') +define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') +define_not_for_expansion(`HAVE_DOUBLE_IEEE_LITTLE_ENDIAN') +') +define(`__CONFIG_M4_INCLUDED__') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp-mparam.h new file mode 100644 index 000000000..3c88284de --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp-mparam.h @@ -0,0 +1,207 @@ +/* gmp-mparam.h -- Compiler/machine parameter header file. + +Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2009, 2010 Free Software +Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#define GMP_LIMB_BITS 64 +#define BYTES_PER_MP_LIMB 8 + +/* 1300MHz Itanium2 (babe.fsffrance.org) */ + + +#define MOD_1_NORM_THRESHOLD 0 /* always */ +#define MOD_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1N_TO_MOD_1_1_THRESHOLD 14 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 8 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 +#define MOD_1_2_TO_MOD_1_4_THRESHOLD 14 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 22 +#define USE_PREINV_DIVREM_1 1 /* native */ +#define DIVEXACT_1_THRESHOLD 0 /* always (native) */ +#define BMOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */ + +#define MUL_TOOM22_THRESHOLD 44 +#define MUL_TOOM33_THRESHOLD 89 +#define MUL_TOOM44_THRESHOLD 232 +#define MUL_TOOM6H_THRESHOLD 351 +#define MUL_TOOM8H_THRESHOLD 454 + +#define MUL_TOOM32_TO_TOOM43_THRESHOLD 101 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 160 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 138 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 159 + +#define SQR_BASECASE_THRESHOLD 26 +#define SQR_TOOM2_THRESHOLD 119 +#define SQR_TOOM3_THRESHOLD 141 +#define SQR_TOOM4_THRESHOLD 282 +#define SQR_TOOM6_THRESHOLD 375 +#define SQR_TOOM8_THRESHOLD 527 + +#define MULMOD_BNM1_THRESHOLD 24 +#define SQRMOD_BNM1_THRESHOLD 19 + +#define MUL_FFT_MODF_THRESHOLD 888 /* k = 5 */ +#define MUL_FFT_TABLE3 \ + { { 888, 5}, { 31, 6}, { 16, 5}, { 33, 6}, \ + { 17, 5}, { 35, 6}, { 28, 7}, { 15, 6}, \ + { 33, 7}, { 17, 6}, { 35, 7}, { 19, 6}, \ + { 39, 7}, { 29, 8}, { 15, 7}, { 33, 8}, \ + { 17, 7}, { 37, 8}, { 19, 7}, { 41, 8}, \ + { 21, 7}, { 43, 8}, { 23, 7}, { 47, 8}, \ + { 27, 7}, { 55, 8}, { 31, 7}, { 63, 8}, \ + { 37, 9}, { 19, 8}, { 43, 9}, { 23, 8}, \ + { 51, 9}, { 27, 8}, { 55, 9}, { 31, 8}, \ + { 63, 9}, { 35, 8}, { 71, 9}, { 39, 8}, \ + { 79, 9}, { 43,10}, { 23, 9}, { 47, 8}, \ + { 95, 9}, { 55,10}, { 31, 9}, { 71,10}, \ + { 39, 9}, { 83,10}, { 47, 9}, { 99,10}, \ + { 55,11}, { 31,10}, { 63, 9}, { 127,10}, \ + { 71, 9}, { 143,10}, { 87,11}, { 47,10}, \ + { 111,12}, { 31,11}, { 63,10}, { 143,11}, \ + { 79,10}, { 167,11}, { 95,10}, { 199,11}, \ + { 111,12}, { 63,11}, { 127,10}, { 255,11}, \ + { 143,10}, { 287,11}, { 159,10}, { 319,12}, \ + { 95,11}, { 223,13}, { 63,12}, { 127,11}, \ + { 287,12}, { 159,11}, { 335,12}, { 191,11}, \ + { 383,10}, { 767,11}, { 399,12}, { 223,13}, \ + { 127,12}, { 255,11}, { 511,10}, { 1023,12}, \ + { 287,11}, { 575,10}, { 1151,12}, { 319,11}, \ + { 639,10}, { 1279,11}, { 671,13}, { 191,12}, \ + { 383,11}, { 767,10}, { 1535,12}, { 415,11}, \ + { 831,14}, { 127,13}, { 255,12}, { 511,11}, \ + { 1023,12}, { 543,11}, { 1087,12}, { 575,13}, \ + { 319,12}, { 639,11}, { 1279,12}, { 671,11}, \ + { 1343,12}, { 703,11}, { 1471,13}, { 383,12}, \ + { 767,11}, { 1535,12}, { 799,11}, { 1599,12}, \ + { 831,13}, { 447,12}, { 959,14}, { 255,13}, \ + { 511,12}, { 1055,11}, { 2111,12}, { 1087,13}, \ + { 575,12}, { 1215,11}, { 2431,12}, { 1247,13}, \ + { 639,12}, { 1279,11}, { 2559,12}, { 1343,13}, \ + { 703,12}, { 1471,14}, { 383,13}, { 767,12}, \ + { 1599,13}, { 831,12}, { 1663,11}, { 3327,12}, \ + { 1727,13}, { 895,12}, { 1791,13}, { 959,15}, \ + { 255,14}, { 511,13}, { 1023,12}, { 2047,13}, \ + { 1087,12}, { 2175,13}, { 1151,12}, { 2303,13}, \ + { 1215,11}, { 4863,12}, { 2495,14}, { 639,13}, \ + { 1343,12}, { 2687,13}, { 1471,12}, { 2943,14}, \ + { 767,13}, { 1599,12}, { 3199,13}, { 1727,12}, \ + { 3455,14}, { 895,13}, { 1983,12}, { 3967,15}, \ + { 511,14}, { 1023,13}, { 2111,12}, { 4223,13}, \ + { 2239,12}, { 4479,13}, { 2495,14}, { 1279,13}, \ + { 2751,14}, { 1407,13}, { 2943,15}, { 767,14}, \ + { 1535,13}, { 3199,14}, { 1663,13}, { 3455,14}, \ + { 1791,12}, { 7167,14}, { 1919,13}, { 3967,16}, \ + { 511,15}, { 1023,14}, { 2175,13}, { 4351,14}, \ + { 2431,15}, { 1279,14}, { 2943,13}, { 5887,15}, \ + { 1535,14}, { 3199,13}, { 6399,14}, { 16384,15}, \ + { 32768,16}, { 65536,17}, { 131072,18}, { 262144,19}, \ + { 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \ + {8388608,24} } +#define MUL_FFT_TABLE3_SIZE 217 +#define MUL_FFT_THRESHOLD 9856 + +#define SQR_FFT_MODF_THRESHOLD 751 /* k = 5 */ +#define SQR_FFT_TABLE3 \ + { { 751, 5}, { 35, 6}, { 18, 5}, { 37, 6}, \ + { 29, 7}, { 15, 6}, { 33, 7}, { 17, 6}, \ + { 35, 7}, { 29, 8}, { 15, 7}, { 37, 8}, \ + { 19, 7}, { 41, 8}, { 21, 7}, { 43, 8}, \ + { 23, 7}, { 47, 8}, { 43, 9}, { 23, 8}, \ + { 51, 9}, { 27, 8}, { 55, 9}, { 31, 8}, \ + { 63, 9}, { 39, 8}, { 79, 9}, { 43,10}, \ + { 23, 9}, { 47, 8}, { 95, 9}, { 55,10}, \ + { 31, 9}, { 67,10}, { 39, 9}, { 83,10}, \ + { 47, 9}, { 99,10}, { 55,11}, { 31,10}, \ + { 63, 9}, { 127,10}, { 79,11}, { 47,10}, \ + { 103,12}, { 31,11}, { 63,10}, { 143,11}, \ + { 79,10}, { 159,11}, { 95,10}, { 199,11}, \ + { 111,12}, { 63,11}, { 127,10}, { 255,11}, \ + { 143,10}, { 287,11}, { 159,12}, { 95,11}, \ + { 191,10}, { 383,11}, { 207,13}, { 63,12}, \ + { 127,11}, { 255,10}, { 511,11}, { 271,12}, \ + { 159,11}, { 319,10}, { 639,11}, { 335,12}, \ + { 191,11}, { 383,10}, { 767,12}, { 223,13}, \ + { 127,11}, { 511,10}, { 1023,11}, { 527,12}, \ + { 287,11}, { 575,10}, { 1151,11}, { 591,12}, \ + { 319,11}, { 639,13}, { 191,12}, { 383,11}, \ + { 767,10}, { 1535,11}, { 799,10}, { 1599, 9}, \ + { 3199,14}, { 127,13}, { 255,12}, { 511, 9}, \ + { 4095,10}, { 2111,12}, { 543,11}, { 1087,10}, \ + { 2239,12}, { 575,10}, { 2303,13}, { 319,12}, \ + { 671,11}, { 1471,13}, { 383,11}, { 1599,12}, \ + { 831,11}, { 1663,12}, { 863,10}, { 3455,13}, \ + { 447,12}, { 895,11}, { 1791,14}, { 255,13}, \ + { 511,12}, { 1023,11}, { 2111,12}, { 1087,11}, \ + { 2239,13}, { 575,12}, { 1215,11}, { 2495,13}, \ + { 639,12}, { 1343,13}, { 703,12}, { 1407,14}, \ + { 383,13}, { 767,12}, { 1599,13}, { 831,12}, \ + { 1727,11}, { 3455,12}, { 1791,15}, { 255,14}, \ + { 511,13}, { 1023,12}, { 2111,11}, { 4223,12}, \ + { 2239,11}, { 4479,10}, { 8959,11}, { 4607,13}, \ + { 1215,14}, { 639,13}, { 1343,12}, { 2815,13}, \ + { 1471,12}, { 2943,14}, { 767,13}, { 1599,12}, \ + { 3199,13}, { 1727,12}, { 3455,14}, { 895,13}, \ + { 1855,12}, { 3711,13}, { 1983,12}, { 3967,15}, \ + { 511,14}, { 1023,13}, { 2111,12}, { 4223,13}, \ + { 2239,12}, { 4479,14}, { 1151,13}, { 2495,14}, \ + { 1279,13}, { 2687,14}, { 1407,13}, { 2943,15}, \ + { 767,14}, { 1535,13}, { 3071,14}, { 1663,13}, \ + { 3327,14}, { 1791,16}, { 511,15}, { 1023,14}, \ + { 2047,13}, { 4223,14}, { 2175,13}, { 4479,12}, \ + { 8959,14}, { 2303,13}, { 4735,14}, { 2431,15}, \ + { 1279,14}, { 2943,15}, { 1535,14}, { 3071,13}, \ + { 6143,14}, { 16384,15}, { 32768,16}, { 65536,17}, \ + { 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \ + {2097152,22}, {4194304,23}, {8388608,24} } +#define SQR_FFT_TABLE3_SIZE 203 +#define SQR_FFT_THRESHOLD 7552 + +#define MULLO_BASECASE_THRESHOLD 17 +#define MULLO_DC_THRESHOLD 91 +#define MULLO_MUL_N_THRESHOLD 19187 + +#define DC_DIV_QR_THRESHOLD 72 +#define DC_DIVAPPR_Q_THRESHOLD 254 +#define DC_BDIV_QR_THRESHOLD 117 +#define DC_BDIV_Q_THRESHOLD 292 + +#define INV_MULMOD_BNM1_THRESHOLD 103 +#define INV_NEWTON_THRESHOLD 178 +#define INV_APPR_THRESHOLD 179 + +#define BINV_NEWTON_THRESHOLD 300 +#define REDC_1_TO_REDC_2_THRESHOLD 10 +#define REDC_2_TO_REDC_N_THRESHOLD 167 + +#define MU_DIV_QR_THRESHOLD 1787 +#define MU_DIVAPPR_Q_THRESHOLD 1470 +#define MUPI_DIV_QR_THRESHOLD 0 /* always */ +#define MU_BDIV_QR_THRESHOLD 1787 +#define MU_BDIV_Q_THRESHOLD 2089 + +#define MATRIX22_STRASSEN_THRESHOLD 27 +#define HGCD_THRESHOLD 139 +#define GCD_DC_THRESHOLD 469 +#define GCDEXT_DC_THRESHOLD 496 +#define JACOBI_BASE_METHOD 1 + +#define GET_STR_DC_THRESHOLD 14 +#define GET_STR_PRECOMPUTE_THRESHOLD 22 +#define SET_STR_DC_THRESHOLD 1474 +#define SET_STR_PRECOMPUTE_THRESHOLD 3495 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp.h new file mode 100644 index 000000000..12ce1c52c --- /dev/null +++ b/external/lgpl3/gmp/lib/libgmp/arch/ia64/gmp.h @@ -0,0 +1,2283 @@ +/* Definitions for GNU multiple precision functions. -*- mode: c -*- + +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, +2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. + +This file is part of the GNU MP Library. + +The GNU MP Library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 3 of the License, or (at your +option) any later version. + +The GNU MP 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. See the GNU Lesser General Public +License for more details. + +You should have received a copy of the GNU Lesser General Public License +along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ + +#ifndef __GMP_H__ + +#if defined (__cplusplus) +#include /* for std::istream, std::ostream, std::string */ +#include +#endif + + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +#define __GMP_HAVE_HOST_CPU_FAMILY_power 0 +#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 +#define GMP_LIMB_BITS 64 +#define GMP_NAIL_BITS 0 +#endif +#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) +#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS) +#define GMP_NUMB_MAX GMP_NUMB_MASK +#define GMP_NAIL_MASK (~ GMP_NUMB_MASK) + + +/* The following (everything under ifndef __GNU_MP__) must be identical in + gmp.h and mp.h to allow both to be included in an application or during + the library build. */ +#ifndef __GNU_MP__ +#define __GNU_MP__ 5 + +#define __need_size_t /* tell gcc stddef.h we only want size_t */ +#if defined (__cplusplus) +#include /* for size_t */ +#else +#include /* for size_t */ +#endif +#undef __need_size_t + +/* Instantiated by configure. */ +#if ! defined (__GMP_WITHIN_CONFIGURE) +/* #undef _LONG_LONG_LIMB */ +#define __GMP_LIBGMP_DLL 0 +#endif + + +/* __STDC__ - some ANSI compilers define this only to 0, hence the use of + "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 + sets __STDC__ to 0, but requires "##" for token pasting. + + _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but + don't always define __STDC__. + + __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, + but don't define __STDC__ in their default mode. Don't know if old + versions might have been K&R, but let's not worry about that unless + someone is still using one. + + _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 + mode, but doesn't define __STDC__. + + _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za + option is given (in which case it's 1). + + _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that + all w32 compilers are ansi. + + Note: This same set of tests is used by gen-psqr.c and + demos/expr/expr-impl.h, so if anything needs adding, then be sure to + update those too. */ + +#if defined (__STDC__) \ + || defined (__cplusplus) \ + || defined (_AIX) \ + || defined (__DECC) \ + || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ + || defined (_MSC_VER) \ + || defined (_WIN32) +#define __GMP_HAVE_CONST 1 +#define __GMP_HAVE_PROTOTYPES 1 +#define __GMP_HAVE_TOKEN_PASTE 1 +#else +#define __GMP_HAVE_CONST 0 +#define __GMP_HAVE_PROTOTYPES 0 +#define __GMP_HAVE_TOKEN_PASTE 0 +#endif + + +#if __GMP_HAVE_CONST +#define __gmp_const const +#define __gmp_signed signed +#else +#define __gmp_const +#define __gmp_signed +#endif + + +/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in + all other circumstances. + + When compiling objects for libgmp, __GMP_DECLSPEC is an export directive, + or when compiling for an application it's an import directive. The two + cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles + (and not defined from an application). + + __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX + indicates when building libgmpxx, and in that case libgmpxx functions are + exports, but libgmp functions which might get called are imports. + + libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and + libmp don't call each other, so there's no conflict or confusion. + + Libtool DLL_EXPORT define is not used. + + There's no attempt to support GMP built both static and DLL. Doing so + would mean applications would have to tell us which of the two is going + to be used when linking, and that seems very tedious and error prone if + using GMP by hand, and equally tedious from a package since autoconf and + automake don't give much help. + + __GMP_DECLSPEC is required on all documented global functions and + variables, the various internals in gmp-impl.h etc can be left unadorned. + But internals used by the test programs or speed measuring programs + should have __GMP_DECLSPEC, and certainly constants or variables must + have it or the wrong address will be resolved. + + In gcc __declspec can go at either the start or end of a prototype. + + In Microsoft C __declspec must go at the start, or after the type like + void __declspec(...) *foo()". There's no __dllexport or anything to + guard against someone foolish #defining dllexport. _export used to be + available, but no longer. + + In Borland C _export still exists, but needs to go after the type, like + "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to + make use of that. Probably more trouble than it's worth. */ + +#if defined (__GNUC__) +#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) +#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) +#endif +#if defined (_MSC_VER) || defined (__BORLANDC__) +#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) +#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) +#endif +#ifdef __WATCOMC__ +#define __GMP_DECLSPEC_EXPORT __export +#define __GMP_DECLSPEC_IMPORT __import +#endif +#ifdef __IBMC__ +#define __GMP_DECLSPEC_EXPORT _Export +#define __GMP_DECLSPEC_IMPORT _Import +#endif + +#if __GMP_LIBGMP_DLL +#if __GMP_WITHIN_GMP +/* compiling to go into a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into an application which will link to a DLL libgmp */ +#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC +#endif + + +#ifdef __GMP_SHORT_LIMB +typedef unsigned int mp_limb_t; +typedef int mp_limb_signed_t; +#else +#ifdef _LONG_LONG_LIMB +typedef unsigned long long int mp_limb_t; +typedef long long int mp_limb_signed_t; +#else +typedef unsigned long int mp_limb_t; +typedef long int mp_limb_signed_t; +#endif +#endif +typedef unsigned long int mp_bitcnt_t; + +/* For reference, note that the name __mpz_struct gets into C++ mangled + function names, which means although the "__" suggests an internal, we + must leave this name for binary compatibility. */ +typedef struct +{ + int _mp_alloc; /* Number of *limbs* allocated and pointed + to by the _mp_d field. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpz_struct; + +#endif /* __GNU_MP__ */ + + +typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ +typedef __mpz_struct mpz_t[1]; + +typedef mp_limb_t * mp_ptr; +typedef __gmp_const mp_limb_t * mp_srcptr; +#if defined (_CRAY) && ! defined (_CRAYMPP) +/* plain `int' is much faster (48 bits) */ +#define __GMP_MP_SIZE_T_INT 1 +typedef int mp_size_t; +typedef int mp_exp_t; +#else +#define __GMP_MP_SIZE_T_INT 0 +typedef long int mp_size_t; +typedef long int mp_exp_t; +#endif + +typedef struct +{ + __mpz_struct _mp_num; + __mpz_struct _mp_den; +} __mpq_struct; + +typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */ +typedef __mpq_struct mpq_t[1]; + +typedef struct +{ + int _mp_prec; /* Max precision, in number of `mp_limb_t's. + Set by mpf_init and modified by + mpf_set_prec. The area pointed to by the + _mp_d field contains `prec' + 1 limbs. */ + int _mp_size; /* abs(_mp_size) is the number of limbs the + last field points to. If _mp_size is + negative this is a negative number. */ + mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */ + mp_limb_t *_mp_d; /* Pointer to the limbs. */ +} __mpf_struct; + +/* typedef __mpf_struct MP_FLOAT; */ +typedef __mpf_struct mpf_t[1]; + +/* Available random number generation algorithms. */ +typedef enum +{ + GMP_RAND_ALG_DEFAULT = 0, + GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */ +} gmp_randalg_t; + +/* Random state struct. */ +typedef struct +{ + mpz_t _mp_seed; /* _mp_d member points to state of the generator. */ + gmp_randalg_t _mp_alg; /* Currently unused. */ + union { + void *_mp_lc; /* Pointer to function pointers structure. */ + } _mp_algdata; +} __gmp_randstate_struct; +typedef __gmp_randstate_struct gmp_randstate_t[1]; + +/* Types for function declarations in gmp files. */ +/* ??? Should not pollute user name space with these ??? */ +typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef __mpz_struct *mpz_ptr; +typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef __mpf_struct *mpf_ptr; +typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef __mpq_struct *mpq_ptr; + + +/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common + section. */ +#if __GMP_LIBGMP_DLL +#if __GMP_WITHIN_GMPXX +/* compiling to go into a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT +#else +/* compiling to go into a application which will link to a DLL libgmpxx */ +#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT +#endif +#else +/* all other cases */ +#define __GMP_DECLSPEC_XX +#endif + + +#if __GMP_HAVE_PROTOTYPES +#define __GMP_PROTO(x) x +#else +#define __GMP_PROTO(x) () +#endif + +#ifndef __MPN +#if __GMP_HAVE_TOKEN_PASTE +#define __MPN(x) __gmpn_##x +#else +#define __MPN(x) __gmpn_/**/x +#endif +#endif + +/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, + defines EOF but not FILE. */ +#if defined (FILE) \ + || defined (H_STDIO) \ + || defined (_H_STDIO) /* AIX */ \ + || defined (_STDIO_H) /* glibc, Sun, SCO */ \ + || defined (_STDIO_H_) /* BSD, OSF */ \ + || defined (__STDIO_H) /* Borland */ \ + || defined (__STDIO_H__) /* IRIX */ \ + || defined (_STDIO_INCLUDED) /* HPUX */ \ + || defined (__dj_include_stdio_h_) /* DJGPP */ \ + || defined (_FILE_DEFINED) /* Microsoft */ \ + || defined (__STDIO__) /* Apple MPW MrC */ \ + || defined (_MSL_STDIO_H) /* Metrowerks */ \ + || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ +#define _GMP_H_HAVE_FILE 1 +#endif + +/* In ISO C, if a prototype involving "struct obstack *" is given without + that structure defined, then the struct is scoped down to just the + prototype, causing a conflict if it's subsequently defined for real. So + only give prototypes if we've got obstack.h. */ +#if defined (_OBSTACK_H) /* glibc */ +#define _GMP_H_HAVE_OBSTACK 1 +#endif + +/* The prototypes for gmp_vprintf etc are provided only if va_list is + available, via an application having included or . + Usually va_list is a typedef so can't be tested directly, but C99 + specifies that va_start is a macro (and it was normally a macro on past + systems too), so look for that. + + will define some sort of va_list for vprintf and vfprintf, but + let's not bother trying to use that since it's not standard and since + application uses for gmp_vprintf etc will almost certainly require the + whole or anyway. */ + +#ifdef va_start +#define _GMP_H_HAVE_VA_LIST 1 +#endif + +/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */ +#if defined (__GNUC__) && defined (__GNUC_MINOR__) +#define __GMP_GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +#define __GMP_GNUC_PREREQ(maj, min) 0 +#endif + +/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically + it means a function does nothing but examine its arguments and memory + (global or via arguments) to generate a return value, but changes nothing + and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets + tune/common.c etc turn this off when trying to write timing loops. */ +#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE) +#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__)) +#else +#define __GMP_ATTRIBUTE_PURE +#endif + + +/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean + to "g++ -Wold-style-cast". + + Casts in "extern inline" code within an extern "C" block don't induce + these warnings, so __GMP_CAST only needs to be used on documented + macros. */ + +#ifdef __cplusplus +#define __GMP_CAST(type, expr) (static_cast (expr)) +#else +#define __GMP_CAST(type, expr) ((type) (expr)) +#endif + + +/* An empty "throw ()" means the function doesn't throw any C++ exceptions, + this can save some stack frame info in applications. + + Currently it's given only on functions which never divide-by-zero etc, + don't allocate memory, and are expected to never need to allocate memory. + This leaves open the possibility of a C++ throw from a future GMP + exceptions scheme. + + mpz_set_ui etc are omitted to leave open the lazy allocation scheme + described in doc/tasks.html. mpz_get_d etc are omitted to leave open + exceptions for float overflows. + + Note that __GMP_NOTHROW must be given on any inlines the same as on their + prototypes (for g++ at least, where they're used together). Note also + that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like + __GMP_ATTRIBUTE_PURE. */ + +#if defined (__cplusplus) +#define __GMP_NOTHROW throw () +#else +#define __GMP_NOTHROW +#endif + + +/* PORTME: What other compilers have a useful "extern inline"? "static + inline" would be an acceptable substitute if the compiler (or linker) + discards unused statics. */ + + /* gcc has __inline__ in all modes, including strict ansi. Give a prototype + for an inline too, so as to correctly specify "dllimport" on windows, in + case the function is called rather than inlined. + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC__ +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) +#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +#endif +#define __GMP_INLINE_PROTOTYPES 1 +#endif + +/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 + strict ANSI mode. Inlining is done even when not optimizing (ie. -O0 + mode, which is the default), but an unnecessary local copy of foo is + emitted unless -O is used. "extern __inline" is accepted, but the + "extern" appears to be ignored, ie. it becomes a plain global function + but which is inlined within its file. Don't know if all old versions of + DEC C supported __inline, but as a start let's do the right thing for + current versions. */ +#ifdef __DECC +#define __GMP_EXTERN_INLINE static __inline +#endif + +/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict + ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes + place under -O. Without -O "foo" seems to be emitted whether it's used + or not, which is wasteful. "extern inline foo()" isn't useful, the + "extern" is apparently ignored, so foo is inlined if possible but also + emitted as a global, which causes multiple definition errors when + building a shared libgmp. */ +#ifdef __SCO_VERSION__ +#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif +#endif + +/* Microsoft's C compiler accepts __inline */ +#ifdef _MSC_VER +#define __GMP_EXTERN_INLINE __inline +#endif + +/* Recent enough Sun C compilers want "inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Somewhat older Sun C compilers want "static inline" */ +#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \ + && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE static inline +#endif + + +/* C++ always has "inline" and since it's a normal feature the linker should + discard duplicate non-inlined copies, or if it doesn't then that's a + problem for everyone, not just GMP. */ +#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE) +#define __GMP_EXTERN_INLINE inline +#endif + +/* Don't do any inlining within a configure run, since if the compiler ends + up emitting copies of the code into the object file it can end up + demanding the various support routines (like mpn_popcount) for linking, + making the "alloca" test and perhaps others fail. And on hppa ia64 a + pre-release gcc 3.2 was seen not respecting the "extern" in "extern + __inline__", triggering this problem too. */ +#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE +#undef __GMP_EXTERN_INLINE +#endif + +/* By default, don't give a prototype when there's going to be an inline + version. Note in particular that Cray C++ objects to the combination of + prototype and inline. */ +#ifdef __GMP_EXTERN_INLINE +#ifndef __GMP_INLINE_PROTOTYPES +#define __GMP_INLINE_PROTOTYPES 0 +#endif +#else +#define __GMP_INLINE_PROTOTYPES 1 +#endif + + +#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x)) +#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i)) + +/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted + to int by "~". */ +#define __GMP_UINT_MAX (~ (unsigned) 0) +#define __GMP_ULONG_MAX (~ (unsigned long) 0) +#define __GMP_USHRT_MAX ((unsigned short) ~0) + + +/* __builtin_expect is in gcc 3.0, and not in 2.95. */ +#if __GMP_GNUC_PREREQ (3,0) +#define __GMP_LIKELY(cond) __builtin_expect ((cond) != 0, 1) +#define __GMP_UNLIKELY(cond) __builtin_expect ((cond) != 0, 0) +#else +#define __GMP_LIKELY(cond) (cond) +#define __GMP_UNLIKELY(cond) (cond) +#endif + +#ifdef _CRAY +#define __GMP_CRAY_Pragma(str) _Pragma (str) +#else +#define __GMP_CRAY_Pragma(str) +#endif + + +/* Allow direct user access to numerator and denominator of a mpq_t object. */ +#define mpq_numref(Q) (&((Q)->_mp_num)) +#define mpq_denref(Q) (&((Q)->_mp_den)) + + +#if defined (__cplusplus) +extern "C" { +using std::FILE; +#endif + +#define mp_set_memory_functions __gmp_set_memory_functions +__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), + void *(*) (void *, size_t, size_t), + void (*) (void *, size_t))) __GMP_NOTHROW; + +#define mp_get_memory_functions __gmp_get_memory_functions +__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), + void *(**) (void *, size_t, size_t), + void (**) (void *, size_t))) __GMP_NOTHROW; + +#define mp_bits_per_limb __gmp_bits_per_limb +__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; + +#define gmp_errno __gmp_errno +__GMP_DECLSPEC extern int gmp_errno; + +#define gmp_version __gmp_version +__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; + + +/**************** Random number routines. ****************/ + +/* obsolete */ +#define gmp_randinit __gmp_randinit +__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); + +#define gmp_randinit_default __gmp_randinit_default +__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); + +#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp +__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, + mpz_srcptr, unsigned long int, + mp_bitcnt_t)); + +#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); + +#define gmp_randinit_mt __gmp_randinit_mt +__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); + +#define gmp_randinit_set __gmp_randinit_set +__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); + +#define gmp_randseed __gmp_randseed +__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); + +#define gmp_randseed_ui __gmp_randseed_ui +__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); + +#define gmp_randclear __gmp_randclear +__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); + +#define gmp_urandomb_ui __gmp_urandomb_ui +__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); + +#define gmp_urandomm_ui __gmp_urandomm_ui +__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); + + +/**************** Formatted output routines. ****************/ + +#define gmp_asprintf __gmp_asprintf +__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); + +#define gmp_fprintf __gmp_fprintf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +#endif + +#define gmp_obstack_printf __gmp_obstack_printf +#if defined (_GMP_H_HAVE_OBSTACK) +__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +#endif + +#define gmp_obstack_vprintf __gmp_obstack_vprintf +#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +#endif + +#define gmp_printf __gmp_printf +__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); + +#define gmp_snprintf __gmp_snprintf +__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); + +#define gmp_sprintf __gmp_sprintf +__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); + +#define gmp_vasprintf __gmp_vasprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +#endif + +#define gmp_vfprintf __gmp_vfprintf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +#endif + +#define gmp_vprintf __gmp_vprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +#endif + +#define gmp_vsnprintf __gmp_vsnprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +#endif + +#define gmp_vsprintf __gmp_vsprintf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +#endif + + +/**************** Formatted input routines. ****************/ + +#define gmp_fscanf __gmp_fscanf +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +#endif + +#define gmp_scanf __gmp_scanf +__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); + +#define gmp_sscanf __gmp_sscanf +__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); + +#define gmp_vfscanf __gmp_vfscanf +#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +#endif + +#define gmp_vscanf __gmp_vscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +#endif + +#define gmp_vsscanf __gmp_vsscanf +#if defined (_GMP_H_HAVE_VA_LIST) +__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +#endif + + +/**************** Integer (i.e. Z) routines. ****************/ + +#define _mpz_realloc __gmpz_realloc +#define mpz_realloc __gmpz_realloc +__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); + +#define mpz_abs __gmpz_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) +__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +#endif + +#define mpz_add __gmpz_add +__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_add_ui __gmpz_add_ui +__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_addmul __gmpz_addmul +__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_addmul_ui __gmpz_addmul_ui +__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_and __gmpz_and +__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_array_init __gmpz_array_init +__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); + +#define mpz_bin_ui __gmpz_bin_ui +__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_bin_uiui __gmpz_bin_uiui +__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); + +#define mpz_cdiv_q __gmpz_cdiv_q +__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp +__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_cdiv_qr __gmpz_cdiv_qr +__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_cdiv_r __gmpz_cdiv_r +__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp +__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_cdiv_ui __gmpz_cdiv_ui +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; + +#define mpz_clear __gmpz_clear +__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); + +#define mpz_clears __gmpz_clears +__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); + +#define mpz_clrbit __gmpz_clrbit +__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); + +#define mpz_cmp __gmpz_cmp +__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmp_d __gmpz_cmp_d +__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_si __gmpz_cmp_si +__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define _mpz_cmp_ui __gmpz_cmp_ui +__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs __gmpz_cmpabs +__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_d __gmpz_cmpabs_d +__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; + +#define mpz_cmpabs_ui __gmpz_cmpabs_ui +__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_com __gmpz_com +__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); + +#define mpz_combit __gmpz_combit +__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); + +#define mpz_congruent_p __gmpz_congruent_p +__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p +__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_congruent_ui_p __gmpz_congruent_ui_p +__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; + +#define mpz_divexact __gmpz_divexact +__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_divexact_ui __gmpz_divexact_ui +__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); + +#define mpz_divisible_p __gmpz_divisible_p +__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_ui_p __gmpz_divisible_ui_p +__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; + +#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p +__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_dump __gmpz_dump +__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); + +#define mpz_export __gmpz_export +__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); + +#define mpz_fac_ui __gmpz_fac_ui +__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); + +#define mpz_fdiv_q __gmpz_fdiv_q +__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp +__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_fdiv_qr __gmpz_fdiv_qr +__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_fdiv_r __gmpz_fdiv_r +__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp +__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_fdiv_ui __gmpz_fdiv_ui +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; + +#define mpz_fib_ui __gmpz_fib_ui +__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); + +#define mpz_fib2_ui __gmpz_fib2_ui +__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); + +#define mpz_fits_sint_p __gmpz_fits_sint_p +__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_slong_p __gmpz_fits_slong_p +__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_sshort_p __gmpz_fits_sshort_p +__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_fits_uint_p __gmpz_fits_uint_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ulong_p __gmpz_fits_ulong_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_fits_ushort_p __gmpz_fits_ushort_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_gcd __gmpz_gcd +__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_gcd_ui __gmpz_gcd_ui +__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_gcdext __gmpz_gcdext +__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_get_d __gmpz_get_d +__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_get_d_2exp __gmpz_get_d_2exp +__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); + +#define mpz_get_si __gmpz_get_si +__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_get_str __gmpz_get_str +__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); + +#define mpz_get_ui __gmpz_get_ui +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) +__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_getlimbn __gmpz_getlimbn +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) +__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_hamdist __gmpz_hamdist +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_import __gmpz_import +__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); + +#define mpz_init __gmpz_init +__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); + +#define mpz_init2 __gmpz_init2 +__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); + +#define mpz_inits __gmpz_inits +__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); + +#define mpz_init_set __gmpz_init_set +__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); + +#define mpz_init_set_d __gmpz_init_set_d +__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); + +#define mpz_init_set_si __gmpz_init_set_si +__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); + +#define mpz_init_set_str __gmpz_init_set_str +__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); + +#define mpz_init_set_ui __gmpz_init_set_ui +__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); + +#define mpz_inp_raw __gmpz_inp_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +#endif + +#define mpz_inp_str __gmpz_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +#endif + +#define mpz_invert __gmpz_invert +__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_ior __gmpz_ior +__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_jacobi __gmpz_jacobi +__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker mpz_jacobi /* alias */ + +#define mpz_kronecker_si __gmpz_kronecker_si +__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; + +#define mpz_kronecker_ui __gmpz_kronecker_ui +__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; + +#define mpz_si_kronecker __gmpz_si_kronecker +__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_kronecker __gmpz_ui_kronecker +__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_lcm __gmpz_lcm +__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_lcm_ui __gmpz_lcm_ui +__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); + +#define mpz_legendre mpz_jacobi /* alias */ + +#define mpz_lucnum_ui __gmpz_lucnum_ui +__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); + +#define mpz_lucnum2_ui __gmpz_lucnum2_ui +__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); + +#define mpz_millerrabin __gmpz_millerrabin +__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; + +#define mpz_mod __gmpz_mod +__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ + +#define mpz_mul __gmpz_mul +__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_mul_2exp __gmpz_mul_2exp +__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_mul_si __gmpz_mul_si +__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); + +#define mpz_mul_ui __gmpz_mul_ui +__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_neg __gmpz_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) +__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +#endif + +#define mpz_nextprime __gmpz_nextprime +__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); + +#define mpz_out_raw __gmpz_out_raw +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +#endif + +#define mpz_out_str __gmpz_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +#endif + +#define mpz_perfect_power_p __gmpz_perfect_power_p +__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpz_perfect_square_p __gmpz_perfect_square_p +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_popcount __gmpz_popcount +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_pow_ui __gmpz_pow_ui +__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_powm __gmpz_powm +__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_powm_sec __gmpz_powm_sec +__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_powm_ui __gmpz_powm_ui +__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); + +#define mpz_probab_prime_p __gmpz_probab_prime_p +__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; + +#define mpz_random __gmpz_random +__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); + +#define mpz_random2 __gmpz_random2 +__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); + +#define mpz_realloc2 __gmpz_realloc2 +__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); + +#define mpz_remove __gmpz_remove +__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_root __gmpz_root +__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_rootrem __gmpz_rootrem +__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_rrandomb __gmpz_rrandomb +__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); + +#define mpz_scan0 __gmpz_scan0 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_scan1 __gmpz_scan1 +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_set __gmpz_set +__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); + +#define mpz_set_d __gmpz_set_d +__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); + +#define mpz_set_f __gmpz_set_f +__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); + +#define mpz_set_q __gmpz_set_q +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) +__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +#endif + +#define mpz_set_si __gmpz_set_si +__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); + +#define mpz_set_str __gmpz_set_str +__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); + +#define mpz_set_ui __gmpz_set_ui +__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); + +#define mpz_setbit __gmpz_setbit +__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); + +#define mpz_size __gmpz_size +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) +__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpz_sizeinbase __gmpz_sizeinbase +__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_sqrt __gmpz_sqrt +__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); + +#define mpz_sqrtrem __gmpz_sqrtrem +__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); + +#define mpz_sub __gmpz_sub +__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_sub_ui __gmpz_sub_ui +__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_ui_sub __gmpz_ui_sub +__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); + +#define mpz_submul __gmpz_submul +__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_submul_ui __gmpz_submul_ui +__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_swap __gmpz_swap +__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; + +#define mpz_tdiv_ui __gmpz_tdiv_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; + +#define mpz_tdiv_q __gmpz_tdiv_q +__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp +__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_tdiv_qr __gmpz_tdiv_qr +__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_tdiv_r __gmpz_tdiv_r +__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + +#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp +__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); + +#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); + +#define mpz_tstbit __gmpz_tstbit +__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpz_ui_pow_ui __gmpz_ui_pow_ui +__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); + +#define mpz_urandomb __gmpz_urandomb +__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); + +#define mpz_urandomm __gmpz_urandomm +__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); + +#define mpz_xor __gmpz_xor +#define mpz_eor __gmpz_xor +__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); + + +/**************** Rational (i.e. Q) routines. ****************/ + +#define mpq_abs __gmpq_abs +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) +__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +#endif + +#define mpq_add __gmpq_add +__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); + +#define mpq_canonicalize __gmpq_canonicalize +__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); + +#define mpq_clear __gmpq_clear +__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); + +#define mpq_clears __gmpq_clears +__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); + +#define mpq_cmp __gmpq_cmp +__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_si __gmpq_cmp_si +__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; + +#define _mpq_cmp_ui __gmpq_cmp_ui +__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; + +#define mpq_div __gmpq_div +__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); + +#define mpq_div_2exp __gmpq_div_2exp +__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); + +#define mpq_equal __gmpq_equal +__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpq_get_num __gmpq_get_num +__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); + +#define mpq_get_den __gmpq_get_den +__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); + +#define mpq_get_d __gmpq_get_d +__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpq_get_str __gmpq_get_str +__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); + +#define mpq_init __gmpq_init +__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); + +#define mpq_inits __gmpq_inits +__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); + +#define mpq_inp_str __gmpq_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +#endif + +#define mpq_inv __gmpq_inv +__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); + +#define mpq_mul __gmpq_mul +__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); + +#define mpq_mul_2exp __gmpq_mul_2exp +__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); + +#define mpq_neg __gmpq_neg +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) +__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +#endif + +#define mpq_out_str __gmpq_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +#endif + +#define mpq_set __gmpq_set +__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); + +#define mpq_set_d __gmpq_set_d +__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); + +#define mpq_set_den __gmpq_set_den +__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); + +#define mpq_set_f __gmpq_set_f +__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); + +#define mpq_set_num __gmpq_set_num +__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); + +#define mpq_set_si __gmpq_set_si +__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); + +#define mpq_set_str __gmpq_set_str +__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); + +#define mpq_set_ui __gmpq_set_ui +__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); + +#define mpq_set_z __gmpq_set_z +__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); + +#define mpq_sub __gmpq_sub +__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); + +#define mpq_swap __gmpq_swap +__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; + + +/**************** Float (i.e. F) routines. ****************/ + +#define mpf_abs __gmpf_abs +__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_add __gmpf_add +__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); + +#define mpf_add_ui __gmpf_add_ui +__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +#define mpf_ceil __gmpf_ceil +__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_clear __gmpf_clear +__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); + +#define mpf_clears __gmpf_clears +__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); + +#define mpf_cmp __gmpf_cmp +__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_d __gmpf_cmp_d +__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_si __gmpf_cmp_si +__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_cmp_ui __gmpf_cmp_ui +__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_div __gmpf_div +__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); + +#define mpf_div_2exp __gmpf_div_2exp +__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); + +#define mpf_div_ui __gmpf_div_ui +__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); + +#define mpf_dump __gmpf_dump +__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); + +#define mpf_eq __gmpf_eq +__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sint_p __gmpf_fits_sint_p +__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_slong_p __gmpf_fits_slong_p +__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_sshort_p __gmpf_fits_sshort_p +__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_uint_p __gmpf_fits_uint_p +__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ulong_p __gmpf_fits_ulong_p +__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_fits_ushort_p __gmpf_fits_ushort_p +__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_floor __gmpf_floor +__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_get_d __gmpf_get_d +__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; + +#define mpf_get_d_2exp __gmpf_get_d_2exp +__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); + +#define mpf_get_default_prec __gmpf_get_default_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_prec __gmpf_get_prec +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_si __gmpf_get_si +__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_get_str __gmpf_get_str +__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); + +#define mpf_get_ui __gmpf_get_ui +__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_init __gmpf_init +__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); + +#define mpf_init2 __gmpf_init2 +__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); + +#define mpf_inits __gmpf_inits +__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); + +#define mpf_init_set __gmpf_init_set +__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_init_set_d __gmpf_init_set_d +__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); + +#define mpf_init_set_si __gmpf_init_set_si +__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); + +#define mpf_init_set_str __gmpf_init_set_str +__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); + +#define mpf_init_set_ui __gmpf_init_set_ui +__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); + +#define mpf_inp_str __gmpf_inp_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +#endif + +#define mpf_integer_p __gmpf_integer_p +__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_mul __gmpf_mul +__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); + +#define mpf_mul_2exp __gmpf_mul_2exp +__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); + +#define mpf_mul_ui __gmpf_mul_ui +__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); + +#define mpf_neg __gmpf_neg +__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_out_str __gmpf_out_str +#ifdef _GMP_H_HAVE_FILE +__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +#endif + +#define mpf_pow_ui __gmpf_pow_ui +__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); + +#define mpf_random2 __gmpf_random2 +__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); + +#define mpf_reldiff __gmpf_reldiff +__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); + +#define mpf_set __gmpf_set +__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_set_d __gmpf_set_d +__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); + +#define mpf_set_default_prec __gmpf_set_default_prec +__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; + +#define mpf_set_prec __gmpf_set_prec +__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); + +#define mpf_set_prec_raw __gmpf_set_prec_raw +__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; + +#define mpf_set_q __gmpf_set_q +__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); + +#define mpf_set_si __gmpf_set_si +__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); + +#define mpf_set_str __gmpf_set_str +__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); + +#define mpf_set_ui __gmpf_set_ui +__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); + +#define mpf_set_z __gmpf_set_z +__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); + +#define mpf_size __gmpf_size +__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpf_sqrt __gmpf_sqrt +__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_sqrt_ui __gmpf_sqrt_ui +__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); + +#define mpf_sub __gmpf_sub +__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); + +#define mpf_sub_ui __gmpf_sub_ui +__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); + +#define mpf_swap __gmpf_swap +__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; + +#define mpf_trunc __gmpf_trunc +__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); + +#define mpf_ui_div __gmpf_ui_div +__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); + +#define mpf_ui_sub __gmpf_ui_sub +__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); + +#define mpf_urandomb __gmpf_urandomb +__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); + + +/************ Low level positive-integer (i.e. N) routines. ************/ + +/* This is ugly, but we need to make user calls reach the prefixed function. */ + +#define mpn_add __MPN(add) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) +__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +#endif + +#define mpn_add_1 __MPN(add_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) +__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +#endif + +#define mpn_add_n __MPN(add_n) +__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); + +#define mpn_addmul_1 __MPN(addmul_1) +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); + +#define mpn_cmp __MPN(cmp) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) +__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +#endif + +#define mpn_divexact_by3(dst,src,size) \ + mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) + +#define mpn_divexact_by3c __MPN(divexact_by3c) +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); + +#define mpn_divmod_1(qp,np,nsize,dlimb) \ + mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) + +#define mpn_divrem __MPN(divrem) +__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); + +#define mpn_divrem_1 __MPN(divrem_1) +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); + +#define mpn_divrem_2 __MPN(divrem_2) +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); + +#define mpn_gcd __MPN(gcd) +__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); + +#define mpn_gcd_1 __MPN(gcd_1) +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_gcdext_1 __MPN(gcdext_1) +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); + +#define mpn_gcdext __MPN(gcdext) +__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); + +#define mpn_get_str __MPN(get_str) +__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); + +#define mpn_hamdist __MPN(hamdist) +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_lshift __MPN(lshift) +__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); + +#define mpn_mod_1 __MPN(mod_1) +__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_mul __MPN(mul) +__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); + +#define mpn_mul_1 __MPN(mul_1) +__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); + +#define mpn_mul_n __MPN(mul_n) +__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); + +#define mpn_sqr __MPN(sqr) +__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); + +#define mpn_neg __MPN(neg) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) +__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +#endif + +#define mpn_com __MPN(com) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) +__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +#endif + +#define mpn_perfect_square_p __MPN(perfect_square_p) +__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_perfect_power_p __MPN(perfect_power_p) +__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_popcount __MPN(popcount) +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; + +#define mpn_pow_1 __MPN(pow_1) +__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); + +/* undocumented now, but retained here for upward compatibility */ +#define mpn_preinv_mod_1 __MPN(preinv_mod_1) +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_random __MPN(random) +__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); + +#define mpn_random2 __MPN(random2) +__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); + +#define mpn_rshift __MPN(rshift) +__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); + +#define mpn_scan0 __MPN(scan0) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_scan1 __MPN(scan1) +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; + +#define mpn_set_str __MPN(set_str) +__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); + +#define mpn_sqrtrem __MPN(sqrtrem) +__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); + +#define mpn_sub __MPN(sub) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) +__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +#endif + +#define mpn_sub_1 __MPN(sub_1) +#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) +__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +#endif + +#define mpn_sub_n __MPN(sub_n) +__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); + +#define mpn_submul_1 __MPN(submul_1) +__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); + +#define mpn_tdiv_qr __MPN(tdiv_qr) +__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); + +#define mpn_and_n __MPN(and_n) +__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_andn_n __MPN(andn_n) +__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_nand_n __MPN(nand_n) +__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_ior_n __MPN(ior_n) +__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_iorn_n __MPN(iorn_n) +__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_nior_n __MPN(nior_n) +__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_xor_n __MPN(xor_n) +__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +#define mpn_xnor_n __MPN(xnor_n) +__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); + +#define mpn_copyi __MPN(copyi) +__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +#define mpn_copyd __MPN(copyd) +__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +#define mpn_zero __MPN(zero) +__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); + + +/**************** mpz inlines ****************/ + +/* The following are provided as inlines where possible, but always exist as + library functions too, for binary compatibility. + + Within gmp itself this inlining generally isn't relied on, since it + doesn't get done for all compilers, whereas if something is worth + inlining then it's worth arranging always. + + There are two styles of inlining here. When the same bit of code is + wanted for the inline as for the library version, then __GMP_FORCE_foo + arranges for that code to be emitted and the __GMP_EXTERN_INLINE + directive suppressed, eg. mpz_fits_uint_p. When a different bit of code + is wanted for the inline than for the library version, then + __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs) +__GMP_EXTERN_INLINE void +mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size); +} +#endif + +#if GMP_NAIL_BITS == 0 +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval)); +#else +#define __GMPZ_FITS_UTYPE_P(z,maxval) \ + mp_size_t __gmp_n = z->_mp_size; \ + mp_ptr __gmp_p = z->_mp_d; \ + return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \ + || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS))); +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p) +#if ! defined (__GMP_FORCE_mpz_fits_uint_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p) +#if ! defined (__GMP_FORCE_mpz_fits_ulong_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p) +#if ! defined (__GMP_FORCE_mpz_fits_ushort_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui) +#if ! defined (__GMP_FORCE_mpz_get_ui) +__GMP_EXTERN_INLINE +#endif +unsigned long +mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + mp_ptr __gmp_p = __gmp_z->_mp_d; + mp_size_t __gmp_n = __gmp_z->_mp_size; + mp_limb_t __gmp_l = __gmp_p[0]; + /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings + about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland + C++ 6.0 warnings about condition always true for something like + "__GMP_ULONG_MAX < GMP_NUMB_MASK". */ +#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB) + /* limb==long and no nails, or limb==longlong, one limb is enough */ + return (__gmp_n != 0 ? __gmp_l : 0); +#else + /* limb==long and nails, need two limbs when available */ + __gmp_n = __GMP_ABS (__gmp_n); + if (__gmp_n <= 1) + return (__gmp_n != 0 ? __gmp_l : 0); + else + return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS); +#endif +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn) +#if ! defined (__GMP_FORCE_mpz_getlimbn) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_result = 0; + if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size))) + __gmp_result = __gmp_z->_mp_d[__gmp_n]; + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg) +__GMP_EXTERN_INLINE void +mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpz_set (__gmp_w, __gmp_u); + __gmp_w->_mp_size = - __gmp_w->_mp_size; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p) +#if ! defined (__GMP_FORCE_mpz_perfect_square_p) +__GMP_EXTERN_INLINE +#endif +int +mpz_perfect_square_p (mpz_srcptr __gmp_a) +{ + mp_size_t __gmp_asize; + int __gmp_result; + + __gmp_asize = __gmp_a->_mp_size; + __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */ + if (__GMP_LIKELY (__gmp_asize > 0)) + __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount) +#if ! defined (__GMP_FORCE_mpz_popcount) +__GMP_EXTERN_INLINE +#endif +mp_bitcnt_t +mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW +{ + mp_size_t __gmp_usize; + mp_bitcnt_t __gmp_result; + + __gmp_usize = __gmp_u->_mp_size; + __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0); + if (__GMP_LIKELY (__gmp_usize > 0)) + __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q) +#if ! defined (__GMP_FORCE_mpz_set_q) +__GMP_EXTERN_INLINE +#endif +void +mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u)); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size) +#if ! defined (__GMP_FORCE_mpz_size) +__GMP_EXTERN_INLINE +#endif +size_t +mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW +{ + return __GMP_ABS (__gmp_z->_mp_size); +} +#endif + + +/**************** mpq inlines ****************/ + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs) +__GMP_EXTERN_INLINE void +mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size); +} +#endif + +#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg) +__GMP_EXTERN_INLINE void +mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u) +{ + if (__gmp_w != __gmp_u) + mpq_set (__gmp_w, __gmp_u); + __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size; +} +#endif + + +/**************** mpn inlines ****************/ + +/* The comments with __GMPN_ADD_1 below apply here too. + + The test for FUNCTION returning 0 should predict well. If it's assumed + {yp,ysize} will usually have a random number of bits then the high limb + won't be full and a carry out will occur a good deal less than 50% of the + time. + + ysize==0 isn't a documented feature, but is used internally in a few + places. + + Producing cout last stops it using up a register during the main part of + the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))" + doesn't seem able to move the true and false legs of the conditional up + to the two places cout is generated. */ + +#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x; \ + \ + /* ASSERT ((ysize) >= 0); */ \ + /* ASSERT ((xsize) >= (ysize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */ \ + \ + __gmp_i = (ysize); \ + if (__gmp_i != 0) \ + { \ + if (FUNCTION (wp, xp, yp, __gmp_i)) \ + { \ + do \ + { \ + if (__gmp_i >= (xsize)) \ + { \ + (cout) = 1; \ + goto __gmp_done; \ + } \ + __gmp_x = (xp)[__gmp_i]; \ + } \ + while (TEST); \ + } \ + } \ + if ((wp) != (xp)) \ + __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \ + (cout) = 0; \ + __gmp_done: \ + ; \ + } while (0) + +#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \ + (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0)) +#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \ + __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \ + (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0)) + + +/* The use of __gmp_i indexing is designed to ensure a compile time src==dst + remains nice and clear to the compiler, so that __GMPN_COPY_REST can + disappear, and the load/add/store gets a chance to become a + read-modify-write on CISC CPUs. + + Alternatives: + + Using a pair of pointers instead of indexing would be possible, but gcc + isn't able to recognise compile-time src==dst in that case, even when the + pointers are incremented more or less together. Other compilers would + very likely have similar difficulty. + + gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or + similar to detect a compile-time src==dst. This works nicely on gcc + 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems + to be always false, for a pointer p. But the current code form seems + good enough for src==dst anyway. + + gcc on x86 as usual doesn't give particularly good flags handling for the + carry/borrow detection. It's tempting to want some multi instruction asm + blocks to help it, and this was tried, but in truth there's only a few + instructions to save and any gain is all too easily lost by register + juggling setting up for the asm. */ + +#if GMP_NAIL_BITS == 0 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r; \ + if (CB (__gmp_r, __gmp_x, (v))) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r; \ + ++__gmp_i; \ + if (!CB (__gmp_r, __gmp_x, 1)) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#if GMP_NAIL_BITS >= 1 +#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_r; \ + \ + /* ASSERT ((n) >= 1); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \ + \ + __gmp_x = (src)[0]; \ + __gmp_r = __gmp_x OP (v); \ + (dst)[0] = __gmp_r & GMP_NUMB_MASK; \ + if (__gmp_r >> GMP_NUMB_BITS != 0) \ + { \ + (cout) = 1; \ + for (__gmp_i = 1; __gmp_i < (n);) \ + { \ + __gmp_x = (src)[__gmp_i]; \ + __gmp_r = __gmp_x OP 1; \ + (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \ + ++__gmp_i; \ + if (__gmp_r >> GMP_NUMB_BITS == 0) \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, __gmp_i); \ + (cout) = 0; \ + break; \ + } \ + } \ + } \ + else \ + { \ + if ((src) != (dst)) \ + __GMPN_COPY_REST (dst, src, n, 1); \ + (cout) = 0; \ + } \ + } while (0) +#endif + +#define __GMPN_ADDCB(r,x,y) ((r) < (y)) +#define __GMPN_SUBCB(r,x,y) ((x) < (y)) + +#define __GMPN_ADD_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB) +#define __GMPN_SUB_1(cout, dst, src, n, v) \ + __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB) + + +/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or + negative. size==0 is allowed. On random data usually only one limb will + need to be examined to get a result, so it's worth having it inline. */ +#define __GMPN_CMP(result, xp, yp, size) \ + do { \ + mp_size_t __gmp_i; \ + mp_limb_t __gmp_x, __gmp_y; \ + \ + /* ASSERT ((size) >= 0); */ \ + \ + (result) = 0; \ + __gmp_i = (size); \ + while (--__gmp_i >= 0) \ + { \ + __gmp_x = (xp)[__gmp_i]; \ + __gmp_y = (yp)[__gmp_i]; \ + if (__gmp_x != __gmp_y) \ + { \ + /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \ + (result) = (__gmp_x > __gmp_y ? 1 : -1); \ + break; \ + } \ + } \ + } while (0) + + +#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \ + } while (0) +#endif + +/* Copy {src,size} to {dst,size}, starting at "start". This is designed to + keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1, + __GMPN_ADD, etc. */ +#if ! defined (__GMPN_COPY_REST) +#define __GMPN_COPY_REST(dst, src, size, start) \ + do { \ + mp_size_t __gmp_j; \ + /* ASSERT ((size) >= 0); */ \ + /* ASSERT ((start) >= 0); */ \ + /* ASSERT ((start) <= (size)); */ \ + /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \ + __GMP_CRAY_Pragma ("_CRI ivdep"); \ + for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \ + (dst)[__gmp_j] = (src)[__gmp_j]; \ + } while (0) +#endif + +/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use + mpn_copyi if there's a native version, and if we don't mind demanding + binary compatibility for it (on targets which use it). */ + +#if ! defined (__GMPN_COPY) +#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0) +#endif + + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add) +#if ! defined (__GMP_FORCE_mpn_add) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1) +#if ! defined (__GMP_FORCE_mpn_add_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp) +#if ! defined (__GMP_FORCE_mpn_cmp) +__GMP_EXTERN_INLINE +#endif +int +mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW +{ + int __gmp_result; + __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size); + return __gmp_result; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub) +#if ! defined (__GMP_FORCE_mpn_sub) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) +{ + mp_limb_t __gmp_c; + __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1) +#if ! defined (__GMP_FORCE_mpn_sub_1) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW +{ + mp_limb_t __gmp_c; + __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n); + return __gmp_c; +} +#endif + +#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg) +#if ! defined (__GMP_FORCE_mpn_neg) +__GMP_EXTERN_INLINE +#endif +mp_limb_t +mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n) +{ + mp_limb_t __gmp_ul, __gmp_cy; + __gmp_cy = 0; + do { + __gmp_ul = *__gmp_up++; + *__gmp_rp++ = -__gmp_ul - __gmp_cy; + __gmp_cy |= __gmp_ul != 0; + } while (--__gmp_n != 0); + return __gmp_cy; +} +#endif + +#if defined (__cplusplus) +} +#endif + + +/* Allow faster testing for negative, zero, and positive. */ +#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0) +#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0) +#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0) + +/* When using GCC, optimize certain common comparisons. */ +#if defined (__GNUC__) && __GNUC__ >= 2 +#define mpz_cmp_ui(Z,UI) \ + (__builtin_constant_p (UI) && (UI) == 0 \ + ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI)) +#define mpz_cmp_si(Z,SI) \ + (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z) \ + : __builtin_constant_p (SI) && (SI) > 0 \ + ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI)) \ + : _mpz_cmp_si (Z,SI)) +#define mpq_cmp_ui(Q,NUI,DUI) \ + (__builtin_constant_p (NUI) && (NUI) == 0 \ + ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI)) +#define mpq_cmp_si(q,n,d) \ + (__builtin_constant_p ((n) >= 0) && (n) >= 0 \ + ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \ + : _mpq_cmp_si (q, n, d)) +#else +#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI) +#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI) +#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI) +#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d) +#endif + + +/* Using "&" rather than "&&" means these can come out branch-free. Every + mpz_t has at least one limb allocated, so fetching the low limb is always + allowed. */ +#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0])) +#define mpz_even_p(z) (! mpz_odd_p (z)) + + +/**************** C++ routines ****************/ + +#ifdef __cplusplus +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr); +__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr); +__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr); +#endif + + +/* Source-level compatibility with GMP 2 and earlier. */ +#define mpn_divmod(qp,np,nsize,dp,dsize) \ + mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize) + +/* Source-level compatibility with GMP 1. */ +#define mpz_mdiv mpz_fdiv_q +#define mpz_mdivmod mpz_fdiv_qr +#define mpz_mmod mpz_fdiv_r +#define mpz_mdiv_ui mpz_fdiv_q_ui +#define mpz_mdivmod_ui(q,r,n,d) \ + (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d)) +#define mpz_mmod_ui(r,n,d) \ + (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d)) + +/* Useful synonyms, but not quite compatible with GMP 1. */ +#define mpz_div mpz_fdiv_q +#define mpz_divmod mpz_fdiv_qr +#define mpz_div_ui mpz_fdiv_q_ui +#define mpz_divmod_ui mpz_fdiv_qr_ui +#define mpz_div_2exp mpz_fdiv_q_2exp +#define mpz_mod_2exp mpz_fdiv_r_2exp + +enum +{ + GMP_ERROR_NONE = 0, + GMP_ERROR_UNSUPPORTED_ARGUMENT = 1, + GMP_ERROR_DIVISION_BY_ZERO = 2, + GMP_ERROR_SQRT_OF_NEGATIVE = 4, + GMP_ERROR_INVALID_ARGUMENT = 8 +}; + +/* Define CC and CFLAGS which were used to build this version of GMP */ +#define __GMP_CC "gcc -std=gnu99" +#define __GMP_CFLAGS "-O2 -pedantic" + +/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 0 +#define __GNU_MP_VERSION_PATCHLEVEL 2 +#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + +#define __GMP_H__ +#endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/alpha/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/ia64/mp.h similarity index 100% rename from external/lgpl3/gmp/lib/libgmp/arch/alpha/mp.h rename to external/lgpl3/gmp/lib/libgmp/arch/ia64/mp.h diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68000/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/m68000/Makefile.inc index 541a4301f..bbbfe6c91 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68000/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68000/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/03 06:52:26 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ + toom_eval_dgr3_pm1.c \ mullo_n.c \ toom33_mul.c \ - toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,6 +83,7 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ addmul_1.c \ @@ -76,31 +92,37 @@ SRCS+= \ divis.c \ dcpi1_div_q.c \ mul_1.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ submul_1.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -110,39 +132,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -161,28 +193,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.h b/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.h index 5cc575cb4..8beb05748 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.m4 index e8af8f075..e6dbb1259 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68000/config.m4 @@ -30,7 +30,7 @@ changequote(`,') ifdef(`__CONFIG_M4_INCLUDED__',,` include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') include_mpn(`m68k/m68k-defs.m4') -define_not_for_expansion(`HAVE_HOST_CPU_m68k') +define_not_for_expansion(`HAVE_HOST_CPU_m68010') define_not_for_expansion(`HAVE_ABI_standard') define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN') define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68000/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/m68000/gmp.h index 2520ea17d..c127862b1 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68000/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68000/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2268,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "" +#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m68000" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68000/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/m68000/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68000/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68k/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/m68k/Makefile.inc index 17e1d5ee1..d553ef29a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68k/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68k/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.2 2011/07/03 06:43:16 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ + toom_eval_dgr3_pm1.c \ mullo_n.c \ toom33_mul.c \ - toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,6 +83,7 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ addmul_1.c \ @@ -76,31 +92,37 @@ SRCS+= \ divis.c \ dcpi1_div_q.c \ mul_1.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ submul_1.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -110,39 +132,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -161,28 +193,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68k/config.h b/external/lgpl3/gmp/lib/libgmp/arch/m68k/config.h index 5cc575cb4..8beb05748 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68k/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68k/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68k/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/m68k/gmp.h index 2520ea17d..c127862b1 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68k/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/m68k/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2268,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "" +#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m68000" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/m68k/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/m68k/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/m68k/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc index 5ad1e9517..564047882 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.2 2011/07/10 03:05:33 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,36 +83,43 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -107,43 +129,53 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ - sqr_diagonal.asm mpn/mips64/sqr_diagonal.asm \ + sqr_diagonal.asm mpn/mips64/sqr_diagonal.asm \ add_n.asm mpn/mips64/add_n.asm \ submul_1.asm mpn/mips64/submul_1.asm \ umul.asm mpn/mips64/umul.asm \ @@ -168,29 +200,4 @@ trialdivtab.h: gen-trialdivtab Makefile CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor - COPTS+= -Wno-error diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h index 6440d0ba1..58ce13f27 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -215,11 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* #undef HAVE_NATIVE_mpn_add_nc */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ #define HAVE_NATIVE_mpn_sqr_diagonal 1 +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #undef HAVE_NATIVE_mpn_sub_nc */ +#define HAVE_NATIVE_mpn_sub_nc 1 +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp-mparam.h index 56fea4ef0..2bf942431 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp-mparam.h @@ -19,13 +19,8 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ -#ifdef _ABI64 #define GMP_LIMB_BITS 64 #define BYTES_PER_MP_LIMB 8 -#else -#define GMP_LIMB_BITS 32 -#define BYTES_PER_MP_LIMB 4 -#endif /* Generated by tuneup.c, 2004-02-10, gcc 3.2 & MIPSpro C 7.2.1 (R1x000) */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp.h index eb64a2789..be3e6e34c 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -30,11 +31,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #if ! defined (__GMP_WITHIN_CONFIGURE) #define __GMP_HAVE_HOST_CPU_FAMILY_power 0 #define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 -#ifdef _ABI64 #define GMP_LIMB_BITS 64 -#else -#define GMP_LIMB_BITS 32 -#endif #define GMP_NAIL_BITS 0 #endif #define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) @@ -59,64 +56,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ /* Instantiated by configure. */ #if ! defined (__GMP_WITHIN_CONFIGURE) -#ifdef _LP64 #define _LONG_LONG_LIMB 1 -#endif #define __GMP_LIBGMP_DLL 0 #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -129,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -175,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -222,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -279,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -303,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -332,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -427,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -545,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -662,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -691,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1504,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2278,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "-O2 -mabi=n32" +#define __GMP_CFLAGS "-O2 -pedantic -mabi=n32" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/mp.h deleted file mode 100644 index d3f1e2840..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64eb/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -#define _LONG_LONG_LIMB 1 -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc index c00fd49b2..6b1e5613a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.2 2011/07/10 03:05:34 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/11/29 08:10:04 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,31 +16,40 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ com.c \ copyi.c \ - lshift.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -48,16 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ - rshift.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -70,41 +83,43 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ - addmul_1.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - mul_1.c \ - sub_n.c \ - subcnd_n.c \ - add_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ mulmod_bnm1.c \ mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ - submul_1.c \ toom6h_mul.c \ sqrmod_bnm1.c \ mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -114,40 +129,61 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ - hamdist.c mpn/generic/popham.c \ - popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ + +ASM_SRCS_LIST= \ + sqr_diagonal.asm mpn/mips64/sqr_diagonal.asm \ + add_n.asm mpn/mips64/add_n.asm \ + submul_1.asm mpn/mips64/submul_1.asm \ + umul.asm mpn/mips64/umul.asm \ + lshift.asm mpn/mips64/lshift.asm \ + mul_1.asm mpn/mips64/mul_1.asm \ + rshift.asm mpn/mips64/rshift.asm \ + addmul_1.asm mpn/mips64/addmul_1.asm \ + sub_n.asm mpn/mips64/sub_n.asm \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -164,20 +200,4 @@ trialdivtab.h: gen-trialdivtab Makefile CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor - COPTS+= -Wno-error diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h index 90a425ad7..f0cbe3a6d 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -215,11 +223,27 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. implementation of the corresponding routine exists. */ #define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ -/* #undef HAVE_NATIVE_mpn_add_nc */ +#define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,19 +301,34 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ -/* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +#define HAVE_NATIVE_mpn_sqr_diagonal 1 +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 -/* #undef HAVE_NATIVE_mpn_sub_nc */ +#define HAVE_NATIVE_mpn_sub_nc 1 +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp-mparam.h index 56fea4ef0..2bf942431 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp-mparam.h @@ -19,13 +19,8 @@ You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ -#ifdef _ABI64 #define GMP_LIMB_BITS 64 #define BYTES_PER_MP_LIMB 8 -#else -#define GMP_LIMB_BITS 32 -#define BYTES_PER_MP_LIMB 4 -#endif /* Generated by tuneup.c, 2004-02-10, gcc 3.2 & MIPSpro C 7.2.1 (R1x000) */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp.h index eb64a2789..071dc379f 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -30,11 +31,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #if ! defined (__GMP_WITHIN_CONFIGURE) #define __GMP_HAVE_HOST_CPU_FAMILY_power 0 #define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 -#ifdef _ABI64 #define GMP_LIMB_BITS 64 -#else -#define GMP_LIMB_BITS 32 -#endif #define GMP_NAIL_BITS 0 #endif #define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) @@ -59,64 +56,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ /* Instantiated by configure. */ #if ! defined (__GMP_WITHIN_CONFIGURE) -#ifdef _LP64 #define _LONG_LONG_LIMB 1 -#endif #define __GMP_LIBGMP_DLL 0 #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -129,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -175,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -222,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -279,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -303,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -332,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -427,10 +359,9 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -545,116 +476,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -662,28 +591,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -691,811 +620,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1504,171 +1442,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2278,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "-O2 -mabi=n32" +#define __GMP_CFLAGS "-O2 -pedantic -mabi=n32" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/mips64el/mp.h deleted file mode 100644 index d3f1e2840..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/mips64el/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -#define _LONG_LONG_LIMB 1 -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/Makefile.inc index 7a84b6b5a..332fd2f19 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/03 11:41:30 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,36 +83,43 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -107,39 +129,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -164,28 +196,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/config.h b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/config.h index fa18773b1..6ad3c3ce6 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/gmp.h index a3bad5b19..53cc2a107 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -mabi=32" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/mipseb/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipseb/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/Makefile.inc index 025b8cab3..332fd2f19 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/03 11:41:30 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,36 +83,43 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -107,39 +129,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -164,28 +196,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/config.h b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/config.h index 86031eb4c..7f1de660a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -343,7 +386,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_SSTREAM */ /* Define to 1 if the system has the type `stack_t'. */ -/* #undef HAVE_STACK_T */ +#define HAVE_STACK_T 1 /* Define to 1 if exists and works */ #define HAVE_STDARG 1 @@ -403,7 +446,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_SYS_MMAN_H 1 /* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_PARAM_H */ +#define HAVE_SYS_PARAM_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_PROCESSOR_H */ @@ -418,7 +461,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_SYSCTL_H */ +#define HAVE_SYS_SYSCTL_H 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_SYSINFO_H */ @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/gmp.h index a3bad5b19..53cc2a107 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -mabi=32" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/mipsel/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/mipsel/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/Makefile.inc index 1d1976bc3..02bc285a9 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.3 2011/07/07 08:02:52 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ @@ -6,6 +6,8 @@ SRCS+= \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -13,22 +15,30 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ - dcpi1_div_qr.c \ mu_divappr_q.c \ - redc_1_sec.c \ + dcpi1_div_qr.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -37,23 +47,27 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ - toom_interpolate_16pts.c \ mu_div_qr.c \ + toom_interpolate_16pts.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -65,6 +79,7 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ @@ -75,66 +90,81 @@ SRCS+= \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ toom_interpolate_8pts.c \ remove.c \ - lshiftc.c \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -143,14 +173,17 @@ ASM_SRCS_LIST= \ sublsh1_n.asm mpn/powerpc32/sublsh1_n.asm \ submul_1.asm mpn/powerpc32/submul_1.asm \ umul.asm mpn/powerpc32/umul.asm \ + tabselect.asm mpn/powerpc32/tabselect.asm \ lshift.asm mpn/powerpc32/lshift.asm \ mul_1.asm mpn/powerpc32/mul_1.asm \ bdiv_dbm1c.asm mpn/powerpc32/bdiv_dbm1c.asm \ rshift.asm mpn/powerpc32/rshift.asm \ mod_34lsub1.asm mpn/powerpc32/mod_34lsub1.asm \ + lshiftc.asm mpn/powerpc32/lshiftc.asm \ mode1o.asm mpn/powerpc32/mode1o.asm \ addlsh1_n.asm mpn/powerpc32/addlsh1_n.asm \ diveby3.asm mpn/powerpc32/diveby3.asm \ + invert_limb.asm mpn/powerpc32/invert_limb.asm \ addmul_1.asm mpn/powerpc32/addmul_1.asm \ divrem_2.asm mpn/powerpc32/divrem_2.asm \ sub_n.asm mpn/powerpc32/aors_n.asm \ @@ -167,32 +200,4 @@ trialdivtab.h: gen-trialdivtab CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn - M4FLAGS= -DPIC -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ - ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ - -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.h b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.h index cafec6043..f2430051d 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -27,7 +27,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* The gmp-mparam.h file (a string) the tune program should suggest updating. */ -#define GMP_MPARAM_H_SUGGEST "/u1/netbsd-HEAD/src/external/lgpl3/gmp/dist/mpn/powerpc32/gmp-mparam.h" +#define GMP_MPARAM_H_SUGGEST "./mpn/powerpc32/gmp-mparam.h" /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ #define HAVE_NATIVE_mpn_add_nc 1 /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ #define HAVE_NATIVE_mpn_addlsh1_n 1 /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ #define HAVE_NATIVE_mpn_bdiv_dbm1c 1 @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ #define HAVE_NATIVE_mpn_divexact_by3c 1 /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -243,11 +269,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_divrem_2 1 /* #undef HAVE_NATIVE_mpn_gcd_1 */ /* #undef HAVE_NATIVE_mpn_hamdist */ -/* #undef HAVE_NATIVE_mpn_invert_limb */ +#define HAVE_NATIVE_mpn_invert_limb 1 /* #undef HAVE_NATIVE_mpn_ior_n */ /* #undef HAVE_NATIVE_mpn_iorn_n */ #define HAVE_NATIVE_mpn_lshift 1 -/* #undef HAVE_NATIVE_mpn_lshiftc */ +#define HAVE_NATIVE_mpn_lshiftc 1 /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ /* #undef HAVE_NATIVE_mpn_mod_1_1p */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ #define HAVE_NATIVE_mpn_sqr_diagonal 1 +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 #define HAVE_NATIVE_mpn_sub_nc 1 +/* #undef HAVE_NATIVE_mpn_subcnd_n */ #define HAVE_NATIVE_mpn_sublsh1_n 1 /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +#define HAVE_NATIVE_mpn_tabselect 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.m4 index f821a5f09..3e5c2889c 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/config.m4 @@ -10,7 +10,7 @@ define(, <:>) define(, <.globl>) define(, <>) define(, <>) -define(, < .section .sdata,"aw",@progbits>) +define(, < .section .rodata>) define(, <.type $1,@$2>) define(, <.size $1,$2>) define(, <.L>) @@ -18,7 +18,8 @@ define(, <.long>) define(,) define(,) define(,) -define(,<24>) +define(,<26>) +define(,<66>) define(,<4>) define(,32) define(,0) diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp-mparam.h index c1f25532b..b478a4712 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp-mparam.h @@ -34,16 +34,18 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define DIVREM_1_NORM_THRESHOLD 0 /* always */ #define DIVREM_1_UNNORM_THRESHOLD 0 /* always */ +#define MOD_1_1P_METHOD 1 #define MOD_1_NORM_THRESHOLD 0 /* always */ #define MOD_1_UNNORM_THRESHOLD 0 /* always */ -#define MOD_1N_TO_MOD_1_1_THRESHOLD 5 -#define MOD_1U_TO_MOD_1_1_THRESHOLD 8 -#define MOD_1_1_TO_MOD_1_2_THRESHOLD 16 -#define MOD_1_2_TO_MOD_1_4_THRESHOLD 65 -#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 17 +#define MOD_1N_TO_MOD_1_1_THRESHOLD 8 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 6 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 8 +#define MOD_1_2_TO_MOD_1_4_THRESHOLD 49 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 18 #define USE_PREINV_DIVREM_1 1 +#define DIV_QR_2_PI2_THRESHOLD MP_SIZE_T_MAX /* never */ #define DIVEXACT_1_THRESHOLD 0 /* always */ -#define BMOD_1_TO_MOD_1_THRESHOLD 98 +#define BMOD_1_TO_MOD_1_THRESHOLD 66 #define MUL_TOOM22_THRESHOLD 14 #define MUL_TOOM33_THRESHOLD 73 @@ -52,17 +54,20 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define MUL_TOOM8H_THRESHOLD 236 #define MUL_TOOM32_TO_TOOM43_THRESHOLD 73 -#define MUL_TOOM32_TO_TOOM53_THRESHOLD 71 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 72 #define MUL_TOOM42_TO_TOOM53_THRESHOLD 73 #define MUL_TOOM42_TO_TOOM63_THRESHOLD 72 +#define MUL_TOOM43_TO_TOOM54_THRESHOLD 82 -#define SQR_BASECASE_THRESHOLD 0 /* always */ -#define SQR_TOOM2_THRESHOLD 24 +#define SQR_BASECASE_THRESHOLD 4 +#define SQR_TOOM2_THRESHOLD 26 #define SQR_TOOM3_THRESHOLD 77 -#define SQR_TOOM4_THRESHOLD 130 +#define SQR_TOOM4_THRESHOLD 136 #define SQR_TOOM6_THRESHOLD 189 #define SQR_TOOM8_THRESHOLD 284 +#define MULMID_TOOM42_THRESHOLD 32 + #define MULMOD_BNM1_THRESHOLD 9 #define SQRMOD_BNM1_THRESHOLD 14 @@ -111,9 +116,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ { 1535,12}, { 3071,13}, { 1919,12}, { 3839,15}, \ { 32768,16} } #define MUL_FFT_TABLE3_SIZE 165 -#define MUL_FFT_THRESHOLD 3712 +#define MUL_FFT_THRESHOLD 3392 -#define SQR_FFT_MODF_THRESHOLD 248 /* k = 5 */ +#define SQR_FFT_MODF_THRESHOLD 236 /* k = 5 */ #define SQR_FFT_TABLE3 \ { { 248, 5}, { 17, 6}, { 9, 5}, { 19, 6}, \ { 17, 7}, { 9, 6}, { 20, 7}, { 11, 6}, \ @@ -155,37 +160,44 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ { 767,13}, { 1535,12}, { 3199,13}, { 1919,15}, \ { 32768,16} } #define SQR_FFT_TABLE3_SIZE 153 -#define SQR_FFT_THRESHOLD 2688 +#define SQR_FFT_THRESHOLD 2368 #define MULLO_BASECASE_THRESHOLD 0 /* always */ #define MULLO_DC_THRESHOLD 45 #define MULLO_MUL_N_THRESHOLD 6633 #define DC_DIV_QR_THRESHOLD 43 -#define DC_DIVAPPR_Q_THRESHOLD 154 -#define DC_BDIV_QR_THRESHOLD 55 +#define DC_DIVAPPR_Q_THRESHOLD 153 +#define DC_BDIV_QR_THRESHOLD 54 #define DC_BDIV_Q_THRESHOLD 124 -#define INV_MULMOD_BNM1_THRESHOLD 108 +#define INV_MULMOD_BNM1_THRESHOLD 42 #define INV_NEWTON_THRESHOLD 179 -#define INV_APPR_THRESHOLD 166 +#define INV_APPR_THRESHOLD 157 -#define BINV_NEWTON_THRESHOLD 232 +#define BINV_NEWTON_THRESHOLD 204 #define REDC_1_TO_REDC_N_THRESHOLD 54 -#define MU_DIV_QR_THRESHOLD 1057 -#define MU_DIVAPPR_Q_THRESHOLD 1142 -#define MUPI_DIV_QR_THRESHOLD 83 -#define MU_BDIV_QR_THRESHOLD 872 -#define MU_BDIV_Q_THRESHOLD 1142 +#define MU_DIV_QR_THRESHOLD 998 +#define MU_DIVAPPR_Q_THRESHOLD 1037 +#define MUPI_DIV_QR_THRESHOLD 84 +#define MU_BDIV_QR_THRESHOLD 748 +#define MU_BDIV_Q_THRESHOLD 942 -#define MATRIX22_STRASSEN_THRESHOLD 15 -#define HGCD_THRESHOLD 122 +#define POWM_SEC_TABLE 4,23,164,616,1812 + +#define MATRIX22_STRASSEN_THRESHOLD 11 +#define HGCD_THRESHOLD 118 +#define HGCD_APPR_THRESHOLD 167 +#define HGCD_REDUCE_THRESHOLD 1679 #define GCD_DC_THRESHOLD 339 -#define GCDEXT_DC_THRESHOLD 278 -#define JACOBI_BASE_METHOD 1 +#define GCDEXT_DC_THRESHOLD 273 +#define JACOBI_BASE_METHOD 4 -#define GET_STR_DC_THRESHOLD 17 -#define GET_STR_PRECOMPUTE_THRESHOLD 38 +#define GET_STR_DC_THRESHOLD 12 +#define GET_STR_PRECOMPUTE_THRESHOLD 27 #define SET_STR_DC_THRESHOLD 781 #define SET_STR_PRECOMPUTE_THRESHOLD 1505 + +#define FAC_DSC_THRESHOLD 141 +#define FAC_ODD_THRESHOLD 34 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp.h index 69ac9e41b..b676e06ec 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn__udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -mpowerpc" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/powerpc/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/powerpc64/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/powerpc64/Makefile.inc index f45aeb929..55b3117b1 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/powerpc64/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/powerpc64/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/10/29 09:16:54 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.2 2012/11/26 18:57:36 drochner Exp $ SRCS+= \ random.c \ @@ -165,32 +165,4 @@ trialdivtab.h: gen-trialdivtab CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn - M4FLAGS= -DPIC -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ - ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ - -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/Makefile.inc index 74796a2e7..d6ebd718d 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/Makefile.inc @@ -1,35 +1,46 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/03 06:52:26 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ + toom2_sqr.c \ toom44_mul.c \ toom8h_mul.c \ - toom2_sqr.c \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -39,6 +50,7 @@ SRCS+= \ lshift.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -48,16 +60,19 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ - rshift.c \ + bsqrtinv.c \ toom4_sqr.c \ + rshift.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ + toom_eval_dgr3_pm1.c \ mullo_n.c \ toom33_mul.c \ - toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -70,6 +85,7 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ addmul_1.c \ @@ -78,25 +94,28 @@ SRCS+= \ divis.c \ dcpi1_div_q.c \ mul_1.c \ - sub_n.c \ - subcnd_n.c \ - add_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ mulmod_bnm1.c \ mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ @@ -105,6 +124,7 @@ SRCS+= \ toom6h_mul.c \ sqrmod_bnm1.c \ mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -114,40 +134,54 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ - hamdist.c mpn/generic/popham.c \ - popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ + +ASM_SRCS_LIST= \ + add_n.asm mpn/sh/add_n.asm \ + sub_n.asm mpn/sh/sub_n.asm \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -159,19 +193,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.h b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.h index 81d246797..9629b2d98 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -213,13 +221,29 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 each of the following for which a native (ie. CPU specific) implementation of the corresponding routine exists. */ -/* #undef HAVE_NATIVE_mpn_add_n */ +#define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rshift */ /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ -/* #undef HAVE_NATIVE_mpn_sub_n */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -450,8 +493,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ -/* #undef LSYM_PREFIX */ +#define LSYM_PREFIX ".L" /* Define to the sub-directory in which libtool stores uninstalled libraries. */ @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.m4 index edde2b6b7..54d1847fc 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/config.m4 @@ -3,6 +3,19 @@ changequote(<,>) ifdef(<__CONFIG_M4_INCLUDED__>,,< define(,0) define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.globl>) +define(, <>) +define(, <>) +define(, < .section .rodata>) +define(, <.type $1,@$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) define(,<4>) define(,32) define(,0) @@ -11,7 +24,7 @@ define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) changequote(`,') ifdef(`__CONFIG_M4_INCLUDED__',,` include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') -define_not_for_expansion(`HAVE_HOST_CPU_sh3eb') +define_not_for_expansion(`HAVE_HOST_CPU_sh') define_not_for_expansion(`HAVE_ABI_standard') define_not_for_expansion(`HAVE_LIMB_BIG_ENDIAN') define_not_for_expansion(`HAVE_DOUBLE_IEEE_BIG_ENDIAN') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/gmp.h index 3c29e3edb..ae8d849d0 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3eb/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/Makefile.inc index ac6882e72..519ff5e4b 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/Makefile.inc @@ -1,44 +1,56 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/07/03 06:52:27 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ + toom2_sqr.c \ toom44_mul.c \ toom8h_mul.c \ - toom2_sqr.c \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ com.c \ copyi.c \ - lshift.c \ toom_couple_handling.c \ + lshift.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -48,16 +60,19 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ - rshift.c \ + bsqrtinv.c \ toom4_sqr.c \ + rshift.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ + toom_eval_dgr3_pm1.c \ mullo_n.c \ toom33_mul.c \ - toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -70,8 +85,9 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ - mul_basecase.c \ + div_qr_2u_pi1.c \ toom8_sqr.c \ + mul_basecase.c \ addmul_1.c \ neg.c \ gcdext_lehmer.c \ @@ -79,24 +95,29 @@ SRCS+= \ dcpi1_div_q.c \ mul_1.c \ sub_n.c \ - subcnd_n.c \ - add_n.c \ toom_eval_pm2.c \ + add_n.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ mulmod_bnm1.c \ mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ @@ -105,6 +126,7 @@ SRCS+= \ toom6h_mul.c \ sqrmod_bnm1.c \ mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -114,40 +136,50 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ - hamdist.c mpn/generic/popham.c \ - popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -159,19 +191,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.h b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.h index b8b9bb22e..cb5ace670 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rshift */ /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ /* #undef HAVE_NATIVE_mpn_sub_n */ /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ /* #undef LSYM_PREFIX */ @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.m4 index 242a9f6aa..6b5b6a182 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/config.m4 @@ -11,7 +11,7 @@ define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) changequote(`,') ifdef(`__CONFIG_M4_INCLUDED__',,` include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') -define_not_for_expansion(`HAVE_HOST_CPU_sh3') +define_not_for_expansion(`HAVE_HOST_CPU_shle') define_not_for_expansion(`HAVE_ABI_standard') define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') define_not_for_expansion(`HAVE_DOUBLE_IEEE_LITTLE_ENDIAN') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/gmp.h index 3c29e3edb..ae8d849d0 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/sh3el/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/sh3el/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/sparc/Makefile.inc index 419942065..cfd06f199 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.3 2011/07/08 09:21:17 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/11/29 08:03:42 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,36 +83,43 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -107,39 +129,49 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ nand_n.c mpn/generic/logops_n.c \ nior_n.c mpn/generic/logops_n.c \ hamdist.c mpn/generic/popham.c \ popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ and_n.c mpn/generic/logops_n.c \ ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ @@ -164,32 +196,4 @@ trialdivtab.h: gen-trialdivtab CLEANFILES+= trialdivtab.h -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -BUILD_S_INCS= -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn - M4FLAGS= -DPIC -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} ${BUILD_S_INCS} \ - ${M4FLAGS} ${M4FLAGS.${.TARGET:R}} \ - -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc/config.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc/config.h index 92516c384..6e4d40135 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ #define HAVE_NATIVE_mpn_udiv_qrnnd 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ #define HAVE_NATIVE_mpn_umul_ppmm 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc/gmp.h index c1329a037..b1715d701 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,7 +359,8 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \ + || (defined __GNUC_GNU_INLINE__ && defined __cplusplus) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) #else #define __GMP_EXTERN_INLINE extern __inline__ @@ -539,116 +478,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +593,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +622,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,168 +1444,171 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); /**************** mpz inlines ****************/ @@ -2271,10 +2220,10 @@ enum #define __GMP_CFLAGS "-m32 -O2 -pedantic -mcpu=v7" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/Makefile.inc index e8e8fddea..67a0ba55e 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/Makefile.inc @@ -1,41 +1,54 @@ -# $NetBSD: Makefile.inc,v 1.2 2011/07/03 06:43:16 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/11/29 08:03:43 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ + toom2_sqr.c \ toom44_mul.c \ toom8h_mul.c \ - toom2_sqr.c \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ mod_1_3.c \ com.c \ toom_couple_handling.c \ + lshift.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -45,15 +58,19 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ + rshift.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ + toom_eval_dgr3_pm1.c \ mullo_n.c \ toom33_mul.c \ - toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -66,36 +83,47 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ + addmul_1.c \ neg.c \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ + mul_1.c \ + sub_n.c \ toom_eval_pm2.c \ + add_n.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ - gcd_1.c \ + bsqrt.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ + submul_1.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -105,55 +133,55 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ -# XXX hand generated C_SRCS_LIST= \ - popcount.c mpn/generic/popham.c \ - hamdist.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ xnor_n.c mpn/generic/logops_n.c \ - + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ - sqr_diagonal.asm mpn/sparc64/sqr_diagonal.asm \ - add_n.asm mpn/sparc64/add_n.asm \ - addmul_2.asm mpn/sparc64/addmul_2.asm \ - submul_1.asm mpn/sparc64/submul_1.asm \ - lshift.asm mpn/sparc64/lshift.asm \ - mul_1.asm mpn/sparc64/mul_1.asm \ copyd.asm mpn/sparc64/copyd.asm \ copyi.asm mpn/sparc64/copyi.asm \ - rshift.asm mpn/sparc64/rshift.asm \ - addmul_1.asm mpn/sparc64/addmul_1.asm \ - sub_n.asm mpn/sparc64/sub_n.asm \ + gcd_1.asm mpn/sparc64/gcd_1.asm \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -166,29 +194,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor - diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/config.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/config.h index f6574dd58..e0ba5514f 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -27,7 +27,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* The gmp-mparam.h file (a string) the tune program should suggest updating. */ -#define GMP_MPARAM_H_SUGGEST "/usr/src/external/lgpl3/gmp/dist/mpn/sparc64/gmp-mparam.h" +#define GMP_MPARAM_H_SUGGEST "./mpn/sparc64/gmp-mparam.h" /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -213,21 +221,38 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 each of the following for which a native (ie. CPU specific) implementation of the corresponding routine exists. */ -#define HAVE_NATIVE_mpn_add_n 1 +/* #undef HAVE_NATIVE_mpn_add_n */ /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ -#define HAVE_NATIVE_mpn_addmul_2 1 +/* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ /* #undef HAVE_NATIVE_mpn_addmul_4 */ /* #undef HAVE_NATIVE_mpn_addmul_5 */ /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,17 +261,18 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ /* #undef HAVE_NATIVE_mpn_divrem_1c */ /* #undef HAVE_NATIVE_mpn_divrem_2 */ -/* #undef HAVE_NATIVE_mpn_gcd_1 */ +#define HAVE_NATIVE_mpn_gcd_1 1 /* #undef HAVE_NATIVE_mpn_hamdist */ /* #undef HAVE_NATIVE_mpn_invert_limb */ /* #undef HAVE_NATIVE_mpn_ior_n */ /* #undef HAVE_NATIVE_mpn_iorn_n */ -#define HAVE_NATIVE_mpn_lshift 1 +/* #undef HAVE_NATIVE_mpn_lshift */ /* #undef HAVE_NATIVE_mpn_lshiftc */ /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ @@ -257,11 +283,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ /* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ -#define HAVE_NATIVE_mpn_mul_1 1 +/* #undef HAVE_NATIVE_mpn_mul_1 */ /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,19 +301,34 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ -#define HAVE_NATIVE_mpn_rshift 1 +/* #undef HAVE_NATIVE_mpn_rshift */ /* #undef HAVE_NATIVE_mpn_sqr_basecase */ -#define HAVE_NATIVE_mpn_sqr_diagonal 1 -#define HAVE_NATIVE_mpn_sub_n 1 +/* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +/* #undef HAVE_NATIVE_mpn_sub_n */ /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp-mparam.h index fa0d6f4dd..8539d1b1f 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp-mparam.h @@ -18,13 +18,8 @@ License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ -#ifdef _LP64 #define GMP_LIMB_BITS 64 #define BYTES_PER_MP_LIMB 8 -#else -#define GMP_LIMB_BITS 32 -#define BYTES_PER_MP_LIMB 4 -#endif /* 500 MHz ultrasparc2 running GNU/Linux */ @@ -33,12 +28,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #define MOD_1_NORM_THRESHOLD 3 #define MOD_1_UNNORM_THRESHOLD 3 #define MOD_1N_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX /* never */ -#define MOD_1U_TO_MOD_1_1_THRESHOLD MP_SIZE_T_MAX -#define MOD_1_1_TO_MOD_1_2_THRESHOLD MP_SIZE_T_MAX -#define MOD_1_2_TO_MOD_1_4_THRESHOLD MP_SIZE_T_MAX +#define MOD_1U_TO_MOD_1_1_THRESHOLD 22 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 /* never mpn_mod_1_1p */ +#define MOD_1_2_TO_MOD_1_4_THRESHOLD 27 #define PREINV_MOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */ #define USE_PREINV_DIVREM_1 1 -#define DIVREM_2_THRESHOLD 7 #define DIVEXACT_1_THRESHOLD 0 /* always */ #define BMOD_1_TO_MOD_1_THRESHOLD MP_SIZE_T_MAX /* never */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp.h index f03cd02be..1d250772a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -30,11 +31,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #if ! defined (__GMP_WITHIN_CONFIGURE) #define __GMP_HAVE_HOST_CPU_FAMILY_power 0 #define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 -#ifdef _LP64 #define GMP_LIMB_BITS 64 -#else -#define GMP_LIMB_BITS 32 -#endif #define GMP_NAIL_BITS 0 #endif #define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) @@ -64,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -127,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -173,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -220,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -277,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -301,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -330,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -425,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -543,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -660,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -689,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1502,168 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -m64 -mptr64 -mcpu=v9" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/sparc64/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/sparc64/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/vax/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/vax/Makefile.inc index b4e4445bb..8f3cdd0fc 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/vax/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/vax/Makefile.inc @@ -1,12 +1,14 @@ -# $NetBSD: Makefile.inc,v 1.3 2011/07/03 06:43:17 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/11/29 08:03:43 mrg Exp $ SRCS+= \ random.c \ - divrem_2.c \ toom_interpolate_7pts.c \ + divrem_2.c \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + mulmid_basecase.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -14,22 +16,31 @@ SRCS+= \ zero.c \ mod_1_4.c \ gcdext.c \ + add_err3_n.c \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ mu_divappr_q.c \ dcpi1_div_qr.c \ - redc_1_sec.c \ + hgcd_reduce.c \ + matrix22_mul1_inverse_vector.c \ + tabselect.c \ toom6_sqr.c \ divrem_1.c \ + hgcd_step.c \ + sub_err3_n.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ toom_interpolate_6pts.c \ + toom54_mul.c \ dcpi1_divappr_q.c \ copyd.c \ toom_eval_dgr3_pm2.c \ @@ -38,6 +49,7 @@ SRCS+= \ copyi.c \ toom_couple_handling.c \ add.c \ + div_qr_2.c \ toom_interpolate_12pts.c \ perfsqr.c \ toom53_mul.c \ @@ -47,15 +59,18 @@ SRCS+= \ mod_34lsub1.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + addcnd_n.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ mod_1_2.c \ sub_1.c \ + add_err2_n.c \ trialdiv.c \ add_1.c \ sqr_basecase.c \ @@ -68,6 +83,7 @@ SRCS+= \ bdiv_q_1.c \ gcdext_1.c \ toom63_mul.c \ + div_qr_2u_pi1.c \ mul_basecase.c \ toom8_sqr.c \ neg.c \ @@ -75,30 +91,36 @@ SRCS+= \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ + subcnd_n.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ + sub_err2_n.c \ scan1.c \ + brootinv.c \ pre_divrem_1.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ + mullo_basecase.c \ tdiv_qr.c \ + div_qr_2n_pi1.c \ toom43_mul.c \ mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ + bsqrt.c \ gcd_1.c \ dcpi1_bdiv_qr.c \ mul_n.c \ redc_2.c \ toom6h_mul.c \ - mul_fft.c \ sqrmod_bnm1.c \ + mul_fft.c \ + mulmid.c \ powm.c \ rootrem.c \ mode1o.c \ @@ -108,61 +130,71 @@ SRCS+= \ dive_1.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + add_err1_n.c \ + mulmid_n.c \ redc_1.c \ sqr.c \ nussbaumer_mul.c \ mu_bdiv_qr.c \ pow_1.c \ - gcd_lehmer.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ + sub_err1_n.c \ C_SRCS_LIST= \ - xor_n.c mpn/generic/logops_n.c \ - nand_n.c mpn/generic/logops_n.c \ - nior_n.c mpn/generic/logops_n.c \ - hamdist.c mpn/generic/popham.c \ - popcount.c mpn/generic/popham.c \ - and_n.c mpn/generic/logops_n.c \ - ior_n.c mpn/generic/logops_n.c \ - xnor_n.c mpn/generic/logops_n.c \ - iorn_n.c mpn/generic/logops_n.c \ - andn_n.c mpn/generic/logops_n.c \ + xor_n.c mpn/generic/logops_n.c \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + nand_n.c mpn/generic/logops_n.c \ + nior_n.c mpn/generic/logops_n.c \ + hamdist.c mpn/generic/popham.c \ + popcount.c mpn/generic/popham.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + and_n.c mpn/generic/logops_n.c \ + ior_n.c mpn/generic/logops_n.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + xnor_n.c mpn/generic/logops_n.c \ + iorn_n.c mpn/generic/logops_n.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + andn_n.c mpn/generic/logops_n.c \ ASM_SRCS_LIST= \ - submul_1.s mpn/vax/submul_1.s \ - addmul_1.s mpn/vax/addmul_1.s \ - lshift.s mpn/vax/lshift.s \ - mul_1.s mpn/vax/mul_1.s \ - sub_n.s mpn/vax/sub_n.s \ - add_n.s mpn/vax/add_n.s \ - rshift.s mpn/vax/rshift.s \ + add_n.asm mpn/vax/add_n.asm \ + submul_1.asm mpn/vax/submul_1.asm \ + lshift.asm mpn/vax/lshift.asm \ + mul_1.asm mpn/vax/mul_1.asm \ + rshift.asm mpn/vax/rshift.asm \ + addmul_1.asm mpn/vax/addmul_1.asm \ + sub_n.asm mpn/vax/sub_n.asm \ # XXX can't build these asm sources yet -ASM_SRCS_LIST= - -C_SRCS_LIST+= \ - add_n.c mpn/generic/add_n.c \ - addmul_1.c mpn/generic/addmul_1.c \ - lshift.c mpn/generic/lshift.c \ - mul_1.c mpn/generic/mul_1.c \ - rshift.c mpn/generic/rshift.c \ - sub_n.c mpn/generic/sub_n.c \ - submul_1.c mpn/generic/submul_1.c \ +#ASM_SRCS_LIST= +# +#C_SRCS_LIST+= \ +# add_n.c mpn/generic/add_n.c \ +# addmul_1.c mpn/generic/addmul_1.c \ +# lshift.c mpn/generic/lshift.c \ +# mul_1.c mpn/generic/mul_1.c \ +# rshift.c mpn/generic/rshift.c \ +# sub_n.c mpn/generic/sub_n.c \ +# submul_1.c mpn/generic/submul_1.c \ gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -174,28 +206,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 ${_src} - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${C_SRCS_LIST} -mpn_${_build}: Makefile ${_src} - echo '#include "${_src}"' > ${.TARGET} - -CPPFLAGS.mpn_${_build}+= -DOPERATION_${_build:R} - -SRCS+= mpn_${_build} -CLEANFILES+= mpn_${_build} -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/vax/config.h b/external/lgpl3/gmp/lib/libgmp/arch/vax/config.h index 6e0cf32bb..bfd1a3f3a 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/vax/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/vax/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -27,7 +27,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* The gmp-mparam.h file (a string) the tune program should suggest updating. */ -#define GMP_MPARAM_H_SUGGEST "/u1/netbsd-HEAD/src/external/lgpl3/gmp/dist/mpn/vax/gmp-mparam.h" +#define GMP_MPARAM_H_SUGGEST "./mpn/vax/gmp-mparam.h" /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -213,13 +221,29 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 each of the following for which a native (ie. CPU specific) implementation of the corresponding routine exists. */ -/* #undef HAVE_NATIVE_mpn_add_n */ +#define HAVE_NATIVE_mpn_add_n 1 /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ /* #undef HAVE_NATIVE_mpn_add_nc */ /* #undef HAVE_NATIVE_mpn_addaddmul_1msb0 */ +/* #undef HAVE_NATIVE_mpn_addcnd_n */ /* #undef HAVE_NATIVE_mpn_addlsh1_n */ /* #undef HAVE_NATIVE_mpn_addlsh2_n */ /* #undef HAVE_NATIVE_mpn_addlsh_n */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ /* #undef HAVE_NATIVE_mpn_addmul_2 */ /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ /* #undef HAVE_NATIVE_mpn_and_n */ /* #undef HAVE_NATIVE_mpn_andn_n */ /* #undef HAVE_NATIVE_mpn_bdiv_dbm1c */ @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_com */ /* #undef HAVE_NATIVE_mpn_copyd */ /* #undef HAVE_NATIVE_mpn_copyi */ +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ /* #undef HAVE_NATIVE_mpn_divexact_1 */ /* #undef HAVE_NATIVE_mpn_divexact_by3c */ /* #undef HAVE_NATIVE_mpn_divrem_1 */ @@ -246,7 +272,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_invert_limb */ /* #undef HAVE_NATIVE_mpn_ior_n */ /* #undef HAVE_NATIVE_mpn_iorn_n */ -/* #undef HAVE_NATIVE_mpn_lshift */ +#define HAVE_NATIVE_mpn_lshift 1 /* #undef HAVE_NATIVE_mpn_lshiftc */ /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ @@ -257,11 +283,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_mod_34lsub1 */ /* #undef HAVE_NATIVE_mpn_modexact_1_odd */ /* #undef HAVE_NATIVE_mpn_modexact_1c_odd */ -/* #undef HAVE_NATIVE_mpn_mul_1 */ +#define HAVE_NATIVE_mpn_mul_1 1 /* #undef HAVE_NATIVE_mpn_mul_1c */ /* #undef HAVE_NATIVE_mpn_mul_2 */ /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ /* #undef HAVE_NATIVE_mpn_mul_basecase */ /* #undef HAVE_NATIVE_mpn_nand_n */ /* #undef HAVE_NATIVE_mpn_nior_n */ @@ -273,19 +301,34 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_rsblsh1_n */ /* #undef HAVE_NATIVE_mpn_rsblsh2_n */ /* #undef HAVE_NATIVE_mpn_rsblsh_n */ +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ /* #undef HAVE_NATIVE_mpn_rsh1add_n */ /* #undef HAVE_NATIVE_mpn_rsh1add_nc */ /* #undef HAVE_NATIVE_mpn_rsh1sub_n */ /* #undef HAVE_NATIVE_mpn_rsh1sub_nc */ -/* #undef HAVE_NATIVE_mpn_rshift */ +#define HAVE_NATIVE_mpn_rshift 1 /* #undef HAVE_NATIVE_mpn_sqr_basecase */ /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ -/* #undef HAVE_NATIVE_mpn_sub_n */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ +#define HAVE_NATIVE_mpn_sub_n 1 /* #undef HAVE_NATIVE_mpn_sub_nc */ +/* #undef HAVE_NATIVE_mpn_subcnd_n */ /* #undef HAVE_NATIVE_mpn_sublsh1_n */ /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +/* #undef HAVE_NATIVE_mpn_tabselect */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -450,8 +493,11 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ -/* #undef LSYM_PREFIX */ +#define LSYM_PREFIX ".L" /* Define to the sub-directory in which libtool stores uninstalled libraries. */ @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -512,7 +555,10 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define TUNE_SQR_TOOM2_MAX SQR_TOOM2_MAX_GENERIC /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/vax/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/vax/config.m4 index 4ef14abeb..b7640dad6 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/vax/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/vax/config.m4 @@ -3,6 +3,19 @@ changequote(<,>) ifdef(<__CONFIG_M4_INCLUDED__>,,< define(,0) define(,<`no'>) +define(,) +define(, <.text>) +define(, <.data>) +define(, <:>) +define(, <.globl>) +define(, <>) +define(, <>) +define(, < .section .rodata>) +define(, <.type $1,@$2>) +define(, <.size $1,$2>) +define(, <.L>) +define(, <.long>) +define(,) define(,<42>) define(,<4>) define(,32) @@ -12,6 +25,7 @@ define(,eval(GMP_LIMB_BITS-GMP_NAIL_BITS)) changequote(`,') ifdef(`__CONFIG_M4_INCLUDED__',,` include(CONFIG_TOP_SRCDIR`/mpn/asm-defs.m4') +include_mpn(`vax/elf.m4') define_not_for_expansion(`HAVE_HOST_CPU_vax') define_not_for_expansion(`HAVE_ABI_standard') define_not_for_expansion(`HAVE_LIMB_LITTLE_ENDIAN') diff --git a/external/lgpl3/gmp/lib/libgmp/arch/vax/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/vax/gmp.h index b8f7b3d3d..11514d729 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/vax/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/vax/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -60,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -123,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -169,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -216,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -273,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -297,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -326,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -421,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -539,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -656,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -685,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1498,172 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); #define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); - +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2275,10 +2222,10 @@ enum #define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/vax/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/vax/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/vax/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc index ff7298e70..4dd188d54 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc +++ b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.3 2011/07/03 06:43:17 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/11/29 08:03:43 mrg Exp $ SRCS+= \ random.c \ @@ -6,6 +6,7 @@ SRCS+= \ sbpi1_divappr_q.c \ random2.c \ mu_bdiv_q.c \ + jacobi_2.c \ toom32_mul.c \ toom44_mul.c \ toom8h_mul.c \ @@ -15,17 +16,23 @@ SRCS+= \ binvert.c \ mu_div_q.c \ invertappr.c \ + add_n_sub_n.c \ dump.c \ + hgcd_reduce.c \ dcpi1_div_qr.c \ mu_divappr_q.c \ - redc_1_sec.c \ + matrix22_mul1_inverse_vector.c \ toom6_sqr.c \ + hgcd_step.c \ mod_1.c \ + toom42_mulmid.c \ divexact.c \ + jacobi.c \ powlo.c \ mul.c \ set_str.c \ toom42_mul.c \ + toom54_mul.c \ toom_interpolate_6pts.c \ dcpi1_divappr_q.c \ toom_eval_dgr3_pm2.c \ @@ -33,6 +40,7 @@ SRCS+= \ toom_couple_handling.c \ add.c \ toom_interpolate_12pts.c \ + div_qr_2.c \ perfsqr.c \ toom53_mul.c \ toom_eval_pm2exp.c \ @@ -40,14 +48,14 @@ SRCS+= \ mu_div_qr.c \ bdiv_q.c \ toom22_mul.c \ + bsqrtinv.c \ toom4_sqr.c \ div_q.c \ jacbase.c \ - gcdext_subdiv_step.c \ + hgcd_matrix.c \ mullo_n.c \ toom33_mul.c \ toom_eval_dgr3_pm1.c \ - mod_1_2.c \ sub_1.c \ trialdiv.c \ add_1.c \ @@ -63,106 +71,136 @@ SRCS+= \ gcdext_lehmer.c \ divis.c \ dcpi1_div_q.c \ - subcnd_n.c \ toom_eval_pm2.c \ hgcd2.c \ toom62_mul.c \ + comb_tables.c \ sbpi1_bdiv_qr.c \ scan1.c \ + brootinv.c \ perfpow.c \ get_str.c \ - mullo_basecase.c \ mulmod_bnm1.c \ tdiv_qr.c \ toom43_mul.c \ - mod_1_1.c \ matrix22_mul.c \ powm_sec.c \ divrem.c \ - mul_n.c \ + bsqrt.c \ dcpi1_bdiv_qr.c \ + mul_n.c \ redc_2.c \ toom6h_mul.c \ mul_fft.c \ sqrmod_bnm1.c \ + mulmid.c \ powm.c \ rootrem.c \ toom_interpolate_8pts.c \ remove.c \ cmp.c \ toom_eval_pm1.c \ + hgcd_appr.c \ scan0.c \ gcd_subdiv_step.c \ sbpi1_div_qr.c \ invert.c \ sub.c \ toom_eval_pm2rexp.c \ + broot.c \ dcpi1_bdiv_q.c \ + hgcd2_jacobi.c \ + mulmid_n.c \ sqr.c \ nussbaumer_mul.c \ - pow_1.c \ - gcd_lehmer.c \ mu_bdiv_qr.c \ + pow_1.c \ get_d.c \ toom52_mul.c \ sbpi1_div_q.c \ diveby3.c \ fib2_ui.c \ bdiv_qr.c \ + hgcd_jacobi.c \ toom3_sqr.c \ gcd.c \ redc_n.c \ +C_SRCS_LIST= \ + sb_div_r_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_qr_sec.c mpn/generic/sbpi1_div_sec.c \ + sb_div_qr_sec.c mpn/generic/sb_div_sec.c \ + sbpi1_div_r_sec.c mpn/generic/sbpi1_div_sec.c \ + ASM_SRCS_LIST= \ nand_n.asm mpn/x86_64/logops_n.asm \ + sub_err1_n.asm mpn/x86_64/aors_err1_n.asm \ + add_err2_n.asm mpn/x86_64/aors_err2_n.asm \ rsh1sub_n.asm mpn/x86_64/rsh1aors_n.asm \ + mod_1_2.asm mpn/x86_64/mod_1_2.asm \ add_n.asm mpn/x86_64/aors_n.asm \ rsh1add_n.asm mpn/x86_64/rsh1aors_n.asm \ - sqr_basecase.asm mpn/x86_64/sqr_basecase.asm \ + sqr_basecase.asm mpn/x86_64/sqr_basecase.asm \ rsblsh2_n.asm mpn/x86_64/aorrlsh2_n.asm \ sublsh1_n.asm mpn/x86_64/sublsh1_n.asm \ bdiv_q_1.asm mpn/x86_64/bdiv_q_1.asm \ - addaddmul_1msb0.asm mpn/x86_64/addaddmul_1msb0.asm \ + addcnd_n.asm mpn/x86_64/aorscnd_n.asm \ + addaddmul_1msb0.asm mpn/x86_64/addaddmul_1msb0.asm \ xor_n.asm mpn/x86_64/logops_n.asm \ - rsblsh_n.asm mpn/x86_64/aorrlsh_n.asm \ + sub_err3_n.asm mpn/x86_64/aors_err3_n.asm \ + rsblsh_n.asm mpn/x86_64/k8/aorrlsh_n.asm \ addmul_2.asm mpn/x86_64/addmul_2.asm \ submul_1.asm mpn/x86_64/aorsmul_1.asm \ nior_n.asm mpn/x86_64/logops_n.asm \ - mul_basecase.asm mpn/x86_64/mul_basecase.asm \ + mul_basecase.asm mpn/x86_64/mul_basecase.asm \ + tabselect.asm mpn/x86_64/tabselect.asm \ lshift.asm mpn/x86_64/lshift.asm \ + add_err1_n.asm mpn/x86_64/aors_err1_n.asm \ and_n.asm mpn/x86_64/logops_n.asm \ hamdist.asm mpn/x86_64/popham.asm \ + div_qr_2u_pi1.asm mpn/x86_64/div_qr_2u_pi1.asm \ + mulmid_basecase.asm mpn/x86_64/mulmid_basecase.asm \ mul_1.asm mpn/x86_64/mul_1.asm \ addlsh2_n.asm mpn/x86_64/aorrlsh2_n.asm \ divrem_1.asm mpn/x86_64/divrem_1.asm \ copyd.asm mpn/x86_64/copyd.asm \ bdiv_dbm1c.asm mpn/x86_64/bdiv_dbm1c.asm \ + div_qr_2n_pi1.asm mpn/x86_64/div_qr_2n_pi1.asm \ rsblsh1_n.asm mpn/x86_64/aorrlsh1_n.asm \ dive_1.asm mpn/x86_64/dive_1.asm \ andn_n.asm mpn/x86_64/logops_n.asm \ - com.asm mpn/x86_64/com.asm \ + com.asm mpn/x86_64/com.asm \ copyi.asm mpn/x86_64/copyi.asm \ + sub_err2_n.asm mpn/x86_64/aors_err2_n.asm \ + add_err3_n.asm mpn/x86_64/aors_err3_n.asm \ + mod_1_1.asm mpn/x86_64/mod_1_1.asm \ + subcnd_n.asm mpn/x86_64/aorscnd_n.asm \ rshift.asm mpn/x86_64/rshift.asm \ - addlsh_n.asm mpn/x86_64/aorrlsh_n.asm \ + addlsh_n.asm mpn/x86_64/k8/aorrlsh_n.asm \ iorn_n.asm mpn/x86_64/logops_n.asm \ ior_n.asm mpn/x86_64/logops_n.asm \ mod_34lsub1.asm mpn/x86_64/mod_34lsub1.asm \ popcount.asm mpn/x86_64/popham.asm \ + invert_limb_table.asm mpn/x86_64/invert_limb_table.asm \ xnor_n.asm mpn/x86_64/logops_n.asm \ + redc_1.asm mpn/x86_64/redc_1.asm \ lshiftc.asm mpn/x86_64/lshiftc.asm \ mode1o.asm mpn/x86_64/mode1o.asm \ + mullo_basecase.asm mpn/x86_64/mullo_basecase.asm \ addlsh1_n.asm mpn/x86_64/aorrlsh1_n.asm \ mul_2.asm mpn/x86_64/mul_2.asm \ invert_limb.asm mpn/x86_64/invert_limb.asm \ addmul_1.asm mpn/x86_64/aorsmul_1.asm \ divrem_2.asm mpn/x86_64/divrem_2.asm \ + mod_1_4.asm mpn/x86_64/mod_1_4.asm \ sub_n.asm mpn/x86_64/aors_n.asm \ + gcd_1.asm mpn/x86_64/gcd_1.asm \ # XXX using C versions # redc_1.asm mpn/x86_64/redc_1.asm # gcd_1.asm mpn/x86_64/gcd_1.asm # mod_1_4.asm mpn/x86_64/mod_1_4.asm -SRCS+= redc_1.c gcd_1.c mod_1_4.c +#SRCS+= redc_1.c gcd_1.c mod_1_4.c gen-trialdivtab: gen-trialdivtab.c ${HOST_CC} -o ${.OBJDIR}/gen-trialdivtab ${.ALLSRC} -lm @@ -175,18 +213,3 @@ trialdivtab.h: gen-trialdivtab ${.OBJDIR}/gen-trialdivtab $(GMP_LIMB_BITS) 8000 > ${.OBJDIR}/trialdivtab.h CLEANFILES+= trialdivtab.h - -# XXX stuff looks for "../config.m4" -dummy: - mkdir dummy -${.OBJDIR}/config.m4: ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 - cp ${.CURDIR}/arch/${MACHINE_ARCH}/config.m4 ${.TARGET} - -.for _build _src in ${ASM_SRCS_LIST} -${_build:R}.s: Makefile dummy ${.OBJDIR}/config.m4 - ${TOOL_M4} -DCONFIG_TOP_SRCDIR=${DIST} -I${.CURDIR} -I${.OBJDIR}/dummy -I${DIST}/ -I${DIST}/mpn -DOPERATION_${.TARGET:R} ${DIST}/${_src} > ${.TARGET} - -SRCS+= ${_build:R}.s -CLEANFILES+= ${_build:R}.s - -.endfor diff --git a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.h b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.h index de247a859..b6ae264a3 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.h @@ -1,10 +1,10 @@ /* config.h. Generated from config.in by configure. */ -/* config.in. Generated from configure.in by autoheader. */ +/* config.in. Generated from configure.ac by autoheader. */ /* Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010 Free Software Foundation, Inc. +2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -27,7 +27,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* The gmp-mparam.h file (a string) the tune program should suggest updating. */ -#define GMP_MPARAM_H_SUGGEST "./mpn/x86_64/gmp-mparam.h" +#define GMP_MPARAM_H_SUGGEST "./mpn/x86_64/k8/gmp-mparam.h" /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -62,7 +62,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `clock' function. */ #define HAVE_CLOCK 1 -/* Define to 1 if you have the `clock_gettime' function. */ +/* Define to 1 if you have the `clock_gettime' function */ #define HAVE_CLOCK_GETTIME 1 /* Define to 1 if you have the `cputime' function. */ @@ -162,6 +162,14 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_HOST_CPU_pentiumpro */ /* #undef HAVE_HOST_CPU_pentium2 */ /* #undef HAVE_HOST_CPU_pentium3 */ +/* #undef HAVE_HOST_CPU_s390_z900 */ +/* #undef HAVE_HOST_CPU_s390_z990 */ +/* #undef HAVE_HOST_CPU_s390_z9 */ +/* #undef HAVE_HOST_CPU_s390_z10 */ +/* #undef HAVE_HOST_CPU_s390_z196 */ + +/* Define to 1 iff we have a s390 with 64-bit registers. */ +/* #undef HAVE_HOST_CPU_s390_zarch */ /* Define to 1 if the system has the type `intmax_t'. */ #define HAVE_INTMAX_T 1 @@ -217,9 +225,25 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_add_n_sub_n */ #define HAVE_NATIVE_mpn_add_nc 1 #define HAVE_NATIVE_mpn_addaddmul_1msb0 1 +#define HAVE_NATIVE_mpn_addcnd_n 1 #define HAVE_NATIVE_mpn_addlsh1_n 1 #define HAVE_NATIVE_mpn_addlsh2_n 1 #define HAVE_NATIVE_mpn_addlsh_n 1 +/* #undef HAVE_NATIVE_mpn_addlsh1_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_n_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh1_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh2_nc_ip2 */ +/* #undef HAVE_NATIVE_mpn_addlsh_nc_ip2 */ /* #undef HAVE_NATIVE_mpn_addmul_1c */ #define HAVE_NATIVE_mpn_addmul_2 1 /* #undef HAVE_NATIVE_mpn_addmul_3 */ @@ -228,6 +252,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_NATIVE_mpn_addmul_6 */ /* #undef HAVE_NATIVE_mpn_addmul_7 */ /* #undef HAVE_NATIVE_mpn_addmul_8 */ +/* #undef HAVE_NATIVE_mpn_addmul_2s */ #define HAVE_NATIVE_mpn_and_n 1 #define HAVE_NATIVE_mpn_andn_n 1 #define HAVE_NATIVE_mpn_bdiv_dbm1c 1 @@ -236,6 +261,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_com 1 #define HAVE_NATIVE_mpn_copyd 1 #define HAVE_NATIVE_mpn_copyi 1 +/* #undef HAVE_NATIVE_mpn_div_qr_2 */ #define HAVE_NATIVE_mpn_divexact_1 1 /* #undef HAVE_NATIVE_mpn_divexact_by3c */ #define HAVE_NATIVE_mpn_divrem_1 1 @@ -250,9 +276,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_lshiftc 1 /* #undef HAVE_NATIVE_mpn_lshsub_n */ /* #undef HAVE_NATIVE_mpn_mod_1 */ -/* #undef HAVE_NATIVE_mpn_mod_1_1p */ +#define HAVE_NATIVE_mpn_mod_1_1p 1 /* #undef HAVE_NATIVE_mpn_mod_1c */ -/* #undef HAVE_NATIVE_mpn_mod_1s_2p */ +#define HAVE_NATIVE_mpn_mod_1s_2p 1 #define HAVE_NATIVE_mpn_mod_1s_4p 1 #define HAVE_NATIVE_mpn_mod_34lsub1 1 #define HAVE_NATIVE_mpn_modexact_1_odd 1 @@ -262,6 +288,8 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_mul_2 1 /* #undef HAVE_NATIVE_mpn_mul_3 */ /* #undef HAVE_NATIVE_mpn_mul_4 */ +/* #undef HAVE_NATIVE_mpn_mul_5 */ +/* #undef HAVE_NATIVE_mpn_mul_6 */ #define HAVE_NATIVE_mpn_mul_basecase 1 #define HAVE_NATIVE_mpn_nand_n 1 #define HAVE_NATIVE_mpn_nior_n 1 @@ -273,6 +301,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rsblsh1_n 1 #define HAVE_NATIVE_mpn_rsblsh2_n 1 #define HAVE_NATIVE_mpn_rsblsh_n 1 +/* #undef HAVE_NATIVE_mpn_rsblsh1_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh2_nc */ +/* #undef HAVE_NATIVE_mpn_rsblsh_nc */ #define HAVE_NATIVE_mpn_rsh1add_n 1 #define HAVE_NATIVE_mpn_rsh1add_nc 1 #define HAVE_NATIVE_mpn_rsh1sub_n 1 @@ -280,12 +311,24 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define HAVE_NATIVE_mpn_rshift 1 #define HAVE_NATIVE_mpn_sqr_basecase 1 /* #undef HAVE_NATIVE_mpn_sqr_diagonal */ +/* #undef HAVE_NATIVE_mpn_sqr_diag_addlsh1 */ #define HAVE_NATIVE_mpn_sub_n 1 #define HAVE_NATIVE_mpn_sub_nc 1 +#define HAVE_NATIVE_mpn_subcnd_n 1 #define HAVE_NATIVE_mpn_sublsh1_n 1 /* #undef HAVE_NATIVE_mpn_sublsh2_n */ /* #undef HAVE_NATIVE_mpn_sublsh_n */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc */ +/* #undef HAVE_NATIVE_mpn_sublsh1_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_n_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh1_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh2_nc_ip1 */ +/* #undef HAVE_NATIVE_mpn_sublsh_nc_ip1 */ /* #undef HAVE_NATIVE_mpn_submul_1c */ +#define HAVE_NATIVE_mpn_tabselect 1 /* #undef HAVE_NATIVE_mpn_udiv_qrnnd */ /* #undef HAVE_NATIVE_mpn_udiv_qrnnd_r */ /* #undef HAVE_NATIVE_mpn_umul_ppmm */ @@ -316,7 +359,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef HAVE_PSTAT_GETPROCESSOR */ /* Define to 1 if the system has the type `ptrdiff_t'. */ -#define HAVE_PTRDIFF_T 1 +/* #undef HAVE_PTRDIFF_T */ /* Define to 1 if the system has the type `quad_t'. */ #define HAVE_QUAD_T 1 @@ -450,6 +493,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* Define to 1 if you have the `vsnprintf' function and it works properly. */ #define HAVE_VSNPRINTF 1 +/* Define to 1 for Windos/64 */ +/* #undef HOST_DOS64 */ + /* Assembler local label prefix */ #define LSYM_PREFIX ".L" @@ -461,13 +507,13 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE "gmp" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org" +#define PACKAGE_BUGREPORT "gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html" /* Define to the full name of this package. */ #define PACKAGE_NAME "GNU MP" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "GNU MP 5.0.2" +#define PACKAGE_STRING "GNU MP 5.1.3" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "gmp" @@ -476,10 +522,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. #define PACKAGE_URL "http://www.gnu.org/software/gmp/" /* Define to the version of this package. */ -#define PACKAGE_VERSION "5.0.2" - -/* Define to 1 if the C compiler supports function prototypes. */ -#define PROTOTYPES 1 +#define PACKAGE_VERSION "5.1.3" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -503,16 +546,19 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. /* #undef SSCANF_WRITABLE_INPUT */ /* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 +/* #undef STDC_HEADERS */ /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* Maximum size the tune program can test for SQR_TOOM2_THRESHOLD */ -#define TUNE_SQR_TOOM2_MAX 80 +/* #undef TUNE_SQR_TOOM2_MAX */ /* Version number of package */ -#define VERSION "5.0.2" +#define VERSION "5.1.3" + +/* Defined to 1 as per --enable-assembly */ +#define WANT_ASSEMBLY 1 /* Define to 1 to enable ASSERT checking, per --enable-assert */ /* #undef WANT_ASSERT */ @@ -559,9 +605,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. `char[]'. */ #define YYTEXT_POINTER 1 -/* Define like PROTOTYPES; this can be used by system headers. */ -#define __PROTOTYPES 1 - /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus diff --git a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 index 7ff0a9346..a21e73b43 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 +++ b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/config.m4 @@ -18,6 +18,7 @@ define(, <.long>) define(,) define(,) define(,<34>) +define(,<17>) define(,<4>) define(,64) define(,0) diff --git a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h index 00fd9b5c9..fb157059d 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp-mparam.h @@ -1,7 +1,7 @@ /* AMD K8 gmp-mparam.h -- Compiler/machine parameter header file. Copyright 1991, 1993, 1994, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, -2008, 2009, 2010 Free Software Foundation, Inc. +2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. This file is part of the GNU MP Library. @@ -18,48 +18,51 @@ License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ -#ifdef _LP64 #define GMP_LIMB_BITS 64 #define BYTES_PER_MP_LIMB 8 -#else -#define GMP_LIMB_BITS 32 -#define BYTES_PER_MP_LIMB 4 -#endif +// #undef mpn_sublsh_n +// #define mpn_sublsh_n(rp,up,vp,n,c) \ +// (((rp) == (up)) ? mpn_submul_1 (rp, vp, n, CNST_LIMB(1) << (c)) \ +// : MPN(mpn_sublsh_n)(rp,up,vp,n,c)) #define MOD_1_NORM_THRESHOLD 0 /* always */ #define MOD_1_UNNORM_THRESHOLD 0 /* always */ -#define MOD_1N_TO_MOD_1_1_THRESHOLD 8 -#define MOD_1U_TO_MOD_1_1_THRESHOLD 6 -#define MOD_1_1_TO_MOD_1_2_THRESHOLD 0 -#define MOD_1_2_TO_MOD_1_4_THRESHOLD 11 -#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 14 +#define MOD_1N_TO_MOD_1_1_THRESHOLD 4 +#define MOD_1U_TO_MOD_1_1_THRESHOLD 2 +#define MOD_1_1_TO_MOD_1_2_THRESHOLD 13 +#define MOD_1_2_TO_MOD_1_4_THRESHOLD 35 +#define PREINV_MOD_1_TO_MOD_1_THRESHOLD 7 #define USE_PREINV_DIVREM_1 1 /* native */ +#define DIV_QR_2_PI2_THRESHOLD MP_SIZE_T_MAX /* never */ #define DIVEXACT_1_THRESHOLD 0 /* always (native) */ -#define BMOD_1_TO_MOD_1_THRESHOLD 19 +#define BMOD_1_TO_MOD_1_THRESHOLD 17 -#define MUL_TOOM22_THRESHOLD 28 +#define MUL_TOOM22_THRESHOLD 27 #define MUL_TOOM33_THRESHOLD 81 -#define MUL_TOOM44_THRESHOLD 120 -#define MUL_TOOM6H_THRESHOLD 466 -#define MUL_TOOM8H_THRESHOLD 478 +#define MUL_TOOM44_THRESHOLD 242 +#define MUL_TOOM6H_THRESHOLD 369 +#define MUL_TOOM8H_THRESHOLD 482 #define MUL_TOOM32_TO_TOOM43_THRESHOLD 97 -#define MUL_TOOM32_TO_TOOM53_THRESHOLD 160 -#define MUL_TOOM42_TO_TOOM53_THRESHOLD 160 -#define MUL_TOOM42_TO_TOOM63_THRESHOLD 211 +#define MUL_TOOM32_TO_TOOM53_THRESHOLD 153 +#define MUL_TOOM42_TO_TOOM53_THRESHOLD 113 +#define MUL_TOOM42_TO_TOOM63_THRESHOLD 187 +#define MUL_TOOM43_TO_TOOM54_THRESHOLD 166 #define SQR_BASECASE_THRESHOLD 0 /* always (native) */ #define SQR_TOOM2_THRESHOLD 34 -#define SQR_TOOM3_THRESHOLD 117 -#define SQR_TOOM4_THRESHOLD 512 -#define SQR_TOOM6_THRESHOLD 686 -#define SQR_TOOM8_THRESHOLD 686 +#define SQR_TOOM3_THRESHOLD 115 +#define SQR_TOOM4_THRESHOLD 527 +#define SQR_TOOM6_THRESHOLD 587 +#define SQR_TOOM8_THRESHOLD 0 /* always */ -#define MULMOD_BNM1_THRESHOLD 17 -#define SQRMOD_BNM1_THRESHOLD 17 +#define MULMID_TOOM42_THRESHOLD 36 -#define MUL_FFT_MODF_THRESHOLD 570 /* k = 5 */ +#define MULMOD_BNM1_THRESHOLD 18 +#define SQRMOD_BNM1_THRESHOLD 19 + +#define MUL_FFT_MODF_THRESHOLD 642 /* k = 5 */ #define MUL_FFT_TABLE3 \ { { 570, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \ { 25, 7}, { 13, 6}, { 27, 7}, { 15, 6}, \ @@ -109,9 +112,9 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ { 524288,20}, {1048576,21}, {2097152,22}, {4194304,23}, \ {8388608,24} } #define MUL_FFT_TABLE3_SIZE 185 -#define MUL_FFT_THRESHOLD 7552 +#define MUL_FFT_THRESHOLD 11520 -#define SQR_FFT_MODF_THRESHOLD 460 /* k = 5 */ +#define SQR_FFT_MODF_THRESHOLD 565 /* k = 5 */ #define SQR_FFT_TABLE3 \ { { 460, 5}, { 21, 6}, { 11, 5}, { 23, 6}, \ { 12, 5}, { 25, 6}, { 27, 7}, { 14, 6}, \ @@ -165,38 +168,45 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ { 131072,18}, { 262144,19}, { 524288,20}, {1048576,21}, \ {2097152,22}, {4194304,23}, {8388608,24} } #define SQR_FFT_TABLE3_SIZE 203 -#define SQR_FFT_THRESHOLD 5248 +#define SQR_FFT_THRESHOLD 5568 -#define MULLO_BASECASE_THRESHOLD 9 -#define MULLO_DC_THRESHOLD 29 -#define MULLO_MUL_N_THRESHOLD 14709 +#define MULLO_BASECASE_THRESHOLD 0 /* always */ +#define MULLO_DC_THRESHOLD 63 +#define MULLO_MUL_N_THRESHOLD 22239 -#define DC_DIV_QR_THRESHOLD 56 -#define DC_DIVAPPR_Q_THRESHOLD 270 -#define DC_BDIV_QR_THRESHOLD 52 -#define DC_BDIV_Q_THRESHOLD 152 +#define DC_DIV_QR_THRESHOLD 40 +#define DC_DIVAPPR_Q_THRESHOLD 252 +#define DC_BDIV_QR_THRESHOLD 38 +#define DC_BDIV_Q_THRESHOLD 168 -#define INV_MULMOD_BNM1_THRESHOLD 174 -#define INV_NEWTON_THRESHOLD 252 -#define INV_APPR_THRESHOLD 250 +#define INV_MULMOD_BNM1_THRESHOLD 67 +#define INV_NEWTON_THRESHOLD 246 +#define INV_APPR_THRESHOLD 236 -#define BINV_NEWTON_THRESHOLD 345 -#define REDC_1_TO_REDC_2_THRESHOLD 50 -#define REDC_2_TO_REDC_N_THRESHOLD 79 +#define BINV_NEWTON_THRESHOLD 252 +#define REDC_1_TO_REDC_2_THRESHOLD 11 +#define REDC_2_TO_REDC_N_THRESHOLD 84 -#define MU_DIV_QR_THRESHOLD 1787 -#define MU_DIVAPPR_Q_THRESHOLD 1787 -#define MUPI_DIV_QR_THRESHOLD 106 -#define MU_BDIV_QR_THRESHOLD 1620 +#define MU_DIV_QR_THRESHOLD 1932 +#define MU_DIVAPPR_Q_THRESHOLD 1895 +#define MUPI_DIV_QR_THRESHOLD 99 +#define MU_BDIV_QR_THRESHOLD 1528 #define MU_BDIV_Q_THRESHOLD 1787 -#define MATRIX22_STRASSEN_THRESHOLD 17 -#define HGCD_THRESHOLD 139 -#define GCD_DC_THRESHOLD 501 -#define GCDEXT_DC_THRESHOLD 474 -#define JACOBI_BASE_METHOD 1 +#define POWM_SEC_TABLE 3,35,322,1926 -#define GET_STR_DC_THRESHOLD 17 -#define GET_STR_PRECOMPUTE_THRESHOLD 23 +#define MATRIX22_STRASSEN_THRESHOLD 21 +#define HGCD_THRESHOLD 140 +#define HGCD_APPR_THRESHOLD 190 +#define HGCD_REDUCE_THRESHOLD 4120 +#define GCD_DC_THRESHOLD 606 +#define GCDEXT_DC_THRESHOLD 492 +#define JACOBI_BASE_METHOD 4 + +#define GET_STR_DC_THRESHOLD 18 +#define GET_STR_PRECOMPUTE_THRESHOLD 32 #define SET_STR_DC_THRESHOLD 266 -#define SET_STR_PRECOMPUTE_THRESHOLD 1648 +#define SET_STR_PRECOMPUTE_THRESHOLD 2105 + +#define FAC_DSC_THRESHOLD 1474 +#define FAC_ODD_THRESHOLD 24 diff --git a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp.h b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp.h index dfafd2dd4..b35f66108 100644 --- a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp.h +++ b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/gmp.h @@ -1,7 +1,8 @@ /* Definitions for GNU multiple precision functions. -*- mode: c -*- -Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, +2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Free +Software Foundation, Inc. This file is part of the GNU MP Library. @@ -30,11 +31,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #if ! defined (__GMP_WITHIN_CONFIGURE) #define __GMP_HAVE_HOST_CPU_FAMILY_power 0 #define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0 -#ifdef _LP64 #define GMP_LIMB_BITS 64 -#else -#define GMP_LIMB_BITS 32 -#endif #define GMP_NAIL_BITS 0 #endif #define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS) @@ -64,57 +61,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif -/* __STDC__ - some ANSI compilers define this only to 0, hence the use of - "defined" and not "__STDC__-0". In particular Sun workshop C 5.0 - sets __STDC__ to 0, but requires "##" for token pasting. - - _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but - don't always define __STDC__. - - __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI, - but don't define __STDC__ in their default mode. Don't know if old - versions might have been K&R, but let's not worry about that unless - someone is still using one. - - _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4 - mode, but doesn't define __STDC__. - - _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za - option is given (in which case it's 1). - - _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that - all w32 compilers are ansi. - - Note: This same set of tests is used by gen-psqr.c and - demos/expr/expr-impl.h, so if anything needs adding, then be sure to - update those too. */ - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - - /* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in all other circumstances. @@ -127,9 +73,6 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ indicates when building libgmpxx, and in that case libgmpxx functions are exports, but libgmp functions which might get called are imports. - libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and - libmp don't call each other, so there's no conflict or confusion. - Libtool DLL_EXPORT define is not used. There's no attempt to support GMP built both static and DLL. Doing so @@ -173,7 +116,7 @@ along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ #endif #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP +#ifdef __GMP_WITHIN_GMP /* compiling to go into a DLL libgmp */ #define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT #else @@ -220,7 +163,7 @@ typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */ typedef __mpz_struct mpz_t[1]; typedef mp_limb_t * mp_ptr; -typedef __gmp_const mp_limb_t * mp_srcptr; +typedef const mp_limb_t * mp_srcptr; #if defined (_CRAY) && ! defined (_CRAYMPP) /* plain `int' is much faster (48 bits) */ #define __GMP_MP_SIZE_T_INT 1 @@ -277,18 +220,18 @@ typedef __gmp_randstate_struct gmp_randstate_t[1]; /* Types for function declarations in gmp files. */ /* ??? Should not pollute user name space with these ??? */ -typedef __gmp_const __mpz_struct *mpz_srcptr; +typedef const __mpz_struct *mpz_srcptr; typedef __mpz_struct *mpz_ptr; -typedef __gmp_const __mpf_struct *mpf_srcptr; +typedef const __mpf_struct *mpf_srcptr; typedef __mpf_struct *mpf_ptr; -typedef __gmp_const __mpq_struct *mpq_srcptr; +typedef const __mpq_struct *mpq_srcptr; typedef __mpq_struct *mpq_ptr; /* This is not wanted in mp.h, so put it outside the __GNU_MP__ common section. */ #if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMPXX +#ifdef __GMP_WITHIN_GMPXX /* compiling to go into a DLL libgmpxx */ #define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT #else @@ -301,18 +244,8 @@ typedef __mpq_struct *mpq_ptr; #endif -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - #ifndef __MPN -#if __GMP_HAVE_TOKEN_PASTE #define __MPN(x) __gmpn_##x -#else -#define __MPN(x) __gmpn_/**/x -#endif #endif /* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4, @@ -330,7 +263,8 @@ typedef __mpq_struct *mpq_ptr; || defined (__STDIO__) /* Apple MPW MrC */ \ || defined (_MSL_STDIO_H) /* Metrowerks */ \ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \ - || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ + || defined (_ISO_STDIO_ISO_H) /* Sun C++ */ \ + || defined (__STDIO_LOADED) /* VMS */ #define _GMP_H_HAVE_FILE 1 #endif @@ -425,10 +359,10 @@ typedef __mpq_struct *mpq_ptr; GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ -#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) +#if (defined __GNUC_STDC_INLINE__) || \ + (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || \ + (__GNUC__ > 4) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) -#else -#define __GMP_EXTERN_INLINE extern __inline__ #endif #define __GMP_INLINE_PROTOTYPES 1 #endif @@ -543,116 +477,114 @@ using std::FILE; #endif #define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), +__GMP_DECLSPEC void mp_set_memory_functions (void *(*) (size_t), void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))) __GMP_NOTHROW; + void (*) (void *, size_t)) __GMP_NOTHROW; #define mp_get_memory_functions __gmp_get_memory_functions -__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t), +__GMP_DECLSPEC void mp_get_memory_functions (void *(**) (size_t), void *(**) (void *, size_t, size_t), - void (**) (void *, size_t))) __GMP_NOTHROW; + void (**) (void *, size_t)) __GMP_NOTHROW; #define mp_bits_per_limb __gmp_bits_per_limb -__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb; +__GMP_DECLSPEC extern const int mp_bits_per_limb; #define gmp_errno __gmp_errno __GMP_DECLSPEC extern int gmp_errno; #define gmp_version __gmp_version -__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version; +__GMP_DECLSPEC extern const char * const gmp_version; /**************** Random number routines. ****************/ /* obsolete */ #define gmp_randinit __gmp_randinit -__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...)); +__GMP_DECLSPEC void gmp_randinit (gmp_randstate_t, gmp_randalg_t, ...); #define gmp_randinit_default __gmp_randinit_default -__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_default (gmp_randstate_t); #define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp -__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t, - mpz_srcptr, unsigned long int, - mp_bitcnt_t)); +__GMP_DECLSPEC void gmp_randinit_lc_2exp (gmp_randstate_t, mpz_srcptr, unsigned long int, mp_bitcnt_t); #define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size -__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC int gmp_randinit_lc_2exp_size (gmp_randstate_t, mp_bitcnt_t); #define gmp_randinit_mt __gmp_randinit_mt -__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randinit_mt (gmp_randstate_t); #define gmp_randinit_set __gmp_randinit_set -__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *)); +__GMP_DECLSPEC void gmp_randinit_set (gmp_randstate_t, const __gmp_randstate_struct *); #define gmp_randseed __gmp_randseed -__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void gmp_randseed (gmp_randstate_t, mpz_srcptr); #define gmp_randseed_ui __gmp_randseed_ui -__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int)); +__GMP_DECLSPEC void gmp_randseed_ui (gmp_randstate_t, unsigned long int); #define gmp_randclear __gmp_randclear -__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t)); +__GMP_DECLSPEC void gmp_randclear (gmp_randstate_t); #define gmp_urandomb_ui __gmp_urandomb_ui -__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomb_ui (gmp_randstate_t, unsigned long); #define gmp_urandomm_ui __gmp_urandomm_ui -__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long)); +__GMP_DECLSPEC unsigned long gmp_urandomm_ui (gmp_randstate_t, unsigned long); /**************** Formatted output routines. ****************/ #define gmp_asprintf __gmp_asprintf -__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_asprintf (char **, const char *, ...); #define gmp_fprintf __gmp_fprintf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fprintf (FILE *, const char *, ...); #endif #define gmp_obstack_printf __gmp_obstack_printf #if defined (_GMP_H_HAVE_OBSTACK) -__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_obstack_printf (struct obstack *, const char *, ...); #endif #define gmp_obstack_vprintf __gmp_obstack_vprintf #if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_obstack_vprintf (struct obstack *, const char *, va_list); #endif #define gmp_printf __gmp_printf -__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_printf (const char *, ...); #define gmp_snprintf __gmp_snprintf -__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_snprintf (char *, size_t, const char *, ...); #define gmp_sprintf __gmp_sprintf -__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sprintf (char *, const char *, ...); #define gmp_vasprintf __gmp_vasprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vasprintf (char **, const char *, va_list); #endif #define gmp_vfprintf __gmp_vfprintf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfprintf (FILE *, const char *, va_list); #endif #define gmp_vprintf __gmp_vprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vprintf (const char *, va_list); #endif #define gmp_vsnprintf __gmp_vsnprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsnprintf (char *, size_t, const char *, va_list); #endif #define gmp_vsprintf __gmp_vsprintf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsprintf (char *, const char *, va_list); #endif @@ -660,28 +592,28 @@ __GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_lis #define gmp_fscanf __gmp_fscanf #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_fscanf (FILE *, const char *, ...); #endif #define gmp_scanf __gmp_scanf -__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_scanf (const char *, ...); #define gmp_sscanf __gmp_sscanf -__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...)); +__GMP_DECLSPEC int gmp_sscanf (const char *, const char *, ...); #define gmp_vfscanf __gmp_vfscanf #if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vfscanf (FILE *, const char *, va_list); #endif #define gmp_vscanf __gmp_vscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vscanf (const char *, va_list); #endif #define gmp_vsscanf __gmp_vsscanf #if defined (_GMP_H_HAVE_VA_LIST) -__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list)); +__GMP_DECLSPEC int gmp_vsscanf (const char *, const char *, va_list); #endif @@ -689,811 +621,820 @@ __GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const cha #define _mpz_realloc __gmpz_realloc #define mpz_realloc __gmpz_realloc -__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void *_mpz_realloc (mpz_ptr, mp_size_t); #define mpz_abs __gmpz_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs) -__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_abs (mpz_ptr, mpz_srcptr); #endif #define mpz_add __gmpz_add -__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_add (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_add_ui __gmpz_add_ui -__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_add_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_addmul __gmpz_addmul -__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_addmul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_addmul_ui __gmpz_addmul_ui -__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_addmul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_and __gmpz_and -__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_and (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_array_init __gmpz_array_init -__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t)); +__GMP_DECLSPEC void mpz_array_init (mpz_ptr, mp_size_t, mp_size_t); #define mpz_bin_ui __gmpz_bin_ui -__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_bin_uiui __gmpz_bin_uiui -__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_bin_uiui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_cdiv_q __gmpz_cdiv_q -__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp -__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_q_ui __gmpz_cdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_qr __gmpz_cdiv_qr -__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_r __gmpz_cdiv_r -__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_cdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp -__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_cdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_cdiv_r_ui __gmpz_cdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_cdiv_ui __gmpz_cdiv_ui -__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_cdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_clear __gmpz_clear -__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_clear (mpz_ptr); #define mpz_clears __gmpz_clears -__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_clears (mpz_ptr, ...); #define mpz_clrbit __gmpz_clrbit -__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_clrbit (mpz_ptr, mp_bitcnt_t); #define mpz_cmp __gmpz_cmp -__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmp_d __gmpz_cmp_d -__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmp_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_si __gmpz_cmp_si -__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_si (mpz_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define _mpz_cmp_ui __gmpz_cmp_ui -__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpz_cmp_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs __gmpz_cmpabs -__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_d __gmpz_cmpabs_d -__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_d (mpz_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpz_cmpabs_ui __gmpz_cmpabs_ui -__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_cmpabs_ui (mpz_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_com __gmpz_com -__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_com (mpz_ptr, mpz_srcptr); #define mpz_combit __gmpz_combit -__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_combit (mpz_ptr, mp_bitcnt_t); #define mpz_congruent_p __gmpz_congruent_p -__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_p (mpz_srcptr, mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_congruent_2exp_p __gmpz_congruent_2exp_p -__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_2exp_p (mpz_srcptr, mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_congruent_ui_p __gmpz_congruent_ui_p -__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_congruent_ui_p (mpz_srcptr, unsigned long, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divexact __gmpz_divexact -__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_divexact (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_divexact_ui __gmpz_divexact_ui -__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_divexact_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_divisible_p __gmpz_divisible_p -__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_p (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_ui_p __gmpz_divisible_ui_p -__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_ui_p (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_divisible_2exp_p __gmpz_divisible_2exp_p -__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_divisible_2exp_p (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_dump __gmpz_dump -__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr)); +__GMP_DECLSPEC void mpz_dump (mpz_srcptr); #define mpz_export __gmpz_export -__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr)); +__GMP_DECLSPEC void *mpz_export (void *, size_t *, int, size_t, int, size_t, mpz_srcptr); #define mpz_fac_ui __gmpz_fac_ui -__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fac_ui (mpz_ptr, unsigned long int); + +#define mpz_2fac_ui __gmpz_2fac_ui +__GMP_DECLSPEC void mpz_2fac_ui (mpz_ptr, unsigned long int); + +#define mpz_mfac_uiui __gmpz_mfac_uiui +__GMP_DECLSPEC void mpz_mfac_uiui (mpz_ptr, unsigned long int, unsigned long int); + +#define mpz_primorial_ui __gmpz_primorial_ui +__GMP_DECLSPEC void mpz_primorial_ui (mpz_ptr, unsigned long int); #define mpz_fdiv_q __gmpz_fdiv_q -__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp -__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_q_ui __gmpz_fdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_qr __gmpz_fdiv_qr -__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_r __gmpz_fdiv_r -__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_fdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp -__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_fdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_fdiv_r_ui __gmpz_fdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_fdiv_ui __gmpz_fdiv_ui -__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_fdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_fib_ui __gmpz_fib_ui -__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib_ui (mpz_ptr, unsigned long int); #define mpz_fib2_ui __gmpz_fib2_ui -__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_fib2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_fits_sint_p __gmpz_fits_sint_p -__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_slong_p __gmpz_fits_slong_p -__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_slong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_sshort_p __gmpz_fits_sshort_p -__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_sshort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_fits_uint_p __gmpz_fits_uint_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p) -__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_uint_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ulong_p __gmpz_fits_ulong_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p) -__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ulong_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_fits_ushort_p __gmpz_fits_ushort_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p) -__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_fits_ushort_p (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_gcd __gmpz_gcd -__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcd (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_gcd_ui __gmpz_gcd_ui -__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_gcd_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_gcdext __gmpz_gcdext -__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_gcdext (mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_get_d __gmpz_get_d -__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpz_get_d (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_get_d_2exp __gmpz_get_d_2exp -__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr)); +__GMP_DECLSPEC double mpz_get_d_2exp (signed long int *, mpz_srcptr); #define mpz_get_si __gmpz_get_si -__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC /* signed */ long int mpz_get_si (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_get_str __gmpz_get_str -__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr)); +__GMP_DECLSPEC char *mpz_get_str (char *, int, mpz_srcptr); #define mpz_get_ui __gmpz_get_ui #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui) -__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_get_ui (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_getlimbn __gmpz_getlimbn #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn) -__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpz_getlimbn (mpz_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_hamdist __gmpz_hamdist -__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist (mpz_srcptr, mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_import __gmpz_import -__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *)); +__GMP_DECLSPEC void mpz_import (mpz_ptr, size_t, int, size_t, int, size_t, const void *); #define mpz_init __gmpz_init -__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr)); +__GMP_DECLSPEC void mpz_init (mpz_ptr); #define mpz_init2 __gmpz_init2 -__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_init2 (mpz_ptr, mp_bitcnt_t); #define mpz_inits __gmpz_inits -__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...)); +__GMP_DECLSPEC void mpz_inits (mpz_ptr, ...); #define mpz_init_set __gmpz_init_set -__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_init_set (mpz_ptr, mpz_srcptr); #define mpz_init_set_d __gmpz_init_set_d -__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_init_set_d (mpz_ptr, double); #define mpz_init_set_si __gmpz_init_set_si -__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_init_set_si (mpz_ptr, signed long int); #define mpz_init_set_str __gmpz_init_set_str -__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_init_set_str (mpz_ptr, const char *, int); #define mpz_init_set_ui __gmpz_init_set_ui -__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_init_set_ui (mpz_ptr, unsigned long int); #define mpz_inp_raw __gmpz_inp_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *)); +__GMP_DECLSPEC size_t mpz_inp_raw (mpz_ptr, FILE *); #endif #define mpz_inp_str __gmpz_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpz_inp_str (mpz_ptr, FILE *, int); #endif #define mpz_invert __gmpz_invert -__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC int mpz_invert (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_ior __gmpz_ior -__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ior (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_jacobi __gmpz_jacobi -__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_jacobi (mpz_srcptr, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker mpz_jacobi /* alias */ #define mpz_kronecker_si __gmpz_kronecker_si -__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_si (mpz_srcptr, long) __GMP_ATTRIBUTE_PURE; #define mpz_kronecker_ui __gmpz_kronecker_ui -__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_kronecker_ui (mpz_srcptr, unsigned long) __GMP_ATTRIBUTE_PURE; #define mpz_si_kronecker __gmpz_si_kronecker -__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_si_kronecker (long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_ui_kronecker __gmpz_ui_kronecker -__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_ui_kronecker (unsigned long, mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_lcm __gmpz_lcm -__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_lcm (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_lcm_ui __gmpz_lcm_ui -__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long)); +__GMP_DECLSPEC void mpz_lcm_ui (mpz_ptr, mpz_srcptr, unsigned long); #define mpz_legendre mpz_jacobi /* alias */ #define mpz_lucnum_ui __gmpz_lucnum_ui -__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum_ui (mpz_ptr, unsigned long int); #define mpz_lucnum2_ui __gmpz_lucnum2_ui -__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_lucnum2_ui (mpz_ptr, mpz_ptr, unsigned long int); #define mpz_millerrabin __gmpz_millerrabin -__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_millerrabin (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_mod __gmpz_mod -__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mod (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */ #define mpz_mul __gmpz_mul -__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_mul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_mul_2exp __gmpz_mul_2exp -__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_mul_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_mul_si __gmpz_mul_si -__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int)); +__GMP_DECLSPEC void mpz_mul_si (mpz_ptr, mpz_srcptr, long int); #define mpz_mul_ui __gmpz_mul_ui -__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_mul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_neg __gmpz_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg) -__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_neg (mpz_ptr, mpz_srcptr); #endif #define mpz_nextprime __gmpz_nextprime -__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_nextprime (mpz_ptr, mpz_srcptr); #define mpz_out_raw __gmpz_out_raw #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_raw (FILE *, mpz_srcptr); #endif #define mpz_out_str __gmpz_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr)); +__GMP_DECLSPEC size_t mpz_out_str (FILE *, int, mpz_srcptr); #endif #define mpz_perfect_power_p __gmpz_perfect_power_p -__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_power_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #define mpz_perfect_square_p __gmpz_perfect_square_p #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p) -__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_perfect_square_p (mpz_srcptr) __GMP_ATTRIBUTE_PURE; #endif #define mpz_popcount __gmpz_popcount #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount) -__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_popcount (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_pow_ui __gmpz_pow_ui -__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_pow_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_powm __gmpz_powm -__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_sec __gmpz_powm_sec -__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_sec (mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr); #define mpz_powm_ui __gmpz_powm_ui -__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_powm_ui (mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr); #define mpz_probab_prime_p __gmpz_probab_prime_p -__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_probab_prime_p (mpz_srcptr, int) __GMP_ATTRIBUTE_PURE; #define mpz_random __gmpz_random -__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random (mpz_ptr, mp_size_t); #define mpz_random2 __gmpz_random2 -__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t)); +__GMP_DECLSPEC void mpz_random2 (mpz_ptr, mp_size_t); #define mpz_realloc2 __gmpz_realloc2 -__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_realloc2 (mpz_ptr, mp_bitcnt_t); #define mpz_remove __gmpz_remove -__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC mp_bitcnt_t mpz_remove (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_root __gmpz_root -__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC int mpz_root (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rootrem __gmpz_rootrem -__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_rootrem (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_rrandomb __gmpz_rrandomb -__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_rrandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_scan0 __gmpz_scan0 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_scan1 __gmpz_scan1 -__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_set __gmpz_set -__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_set (mpz_ptr, mpz_srcptr); #define mpz_set_d __gmpz_set_d -__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double)); +__GMP_DECLSPEC void mpz_set_d (mpz_ptr, double); #define mpz_set_f __gmpz_set_f -__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpz_set_f (mpz_ptr, mpf_srcptr); #define mpz_set_q __gmpz_set_q #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q) -__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpz_set_q (mpz_ptr, mpq_srcptr); #endif #define mpz_set_si __gmpz_set_si -__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int)); +__GMP_DECLSPEC void mpz_set_si (mpz_ptr, signed long int); #define mpz_set_str __gmpz_set_str -__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpz_set_str (mpz_ptr, const char *, int); #define mpz_set_ui __gmpz_set_ui -__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int)); +__GMP_DECLSPEC void mpz_set_ui (mpz_ptr, unsigned long int); #define mpz_setbit __gmpz_setbit -__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_setbit (mpz_ptr, mp_bitcnt_t); #define mpz_size __gmpz_size #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size) -__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_size (mpz_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpz_sizeinbase __gmpz_sizeinbase -__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpz_sizeinbase (mpz_srcptr, int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_sqrt __gmpz_sqrt -__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrt (mpz_ptr, mpz_srcptr); #define mpz_sqrtrem __gmpz_sqrtrem -__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sqrtrem (mpz_ptr, mpz_ptr, mpz_srcptr); #define mpz_sub __gmpz_sub -__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_sub (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_sub_ui __gmpz_sub_ui -__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_sub_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_ui_sub __gmpz_ui_sub -__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr)); +__GMP_DECLSPEC void mpz_ui_sub (mpz_ptr, unsigned long int, mpz_srcptr); #define mpz_submul __gmpz_submul -__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_submul (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_submul_ui __gmpz_submul_ui -__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpz_submul_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_swap __gmpz_swap -__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpz_swap (mpz_ptr, mpz_ptr) __GMP_NOTHROW; #define mpz_tdiv_ui __gmpz_tdiv_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long int mpz_tdiv_ui (mpz_srcptr, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpz_tdiv_q __gmpz_tdiv_q -__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_q (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp -__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_q_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_q_ui __gmpz_tdiv_q_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_qr __gmpz_tdiv_qr -__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_qr (mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui (mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tdiv_r __gmpz_tdiv_r -__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_tdiv_r (mpz_ptr, mpz_srcptr, mpz_srcptr); #define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp -__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_tdiv_r_2exp (mpz_ptr, mpz_srcptr, mp_bitcnt_t); #define mpz_tdiv_r_ui __gmpz_tdiv_r_ui -__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int)); +__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui (mpz_ptr, mpz_srcptr, unsigned long int); #define mpz_tstbit __gmpz_tstbit -__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpz_tstbit (mpz_srcptr, mp_bitcnt_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpz_ui_pow_ui __gmpz_ui_pow_ui -__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpz_ui_pow_ui (mpz_ptr, unsigned long int, unsigned long int); #define mpz_urandomb __gmpz_urandomb -__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpz_urandomb (mpz_ptr, gmp_randstate_t, mp_bitcnt_t); #define mpz_urandomm __gmpz_urandomm -__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr)); +__GMP_DECLSPEC void mpz_urandomm (mpz_ptr, gmp_randstate_t, mpz_srcptr); #define mpz_xor __gmpz_xor #define mpz_eor __gmpz_xor -__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr)); +__GMP_DECLSPEC void mpz_xor (mpz_ptr, mpz_srcptr, mpz_srcptr); /**************** Rational (i.e. Q) routines. ****************/ #define mpq_abs __gmpq_abs #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs) -__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_abs (mpq_ptr, mpq_srcptr); #endif #define mpq_add __gmpq_add -__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_add (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_canonicalize __gmpq_canonicalize -__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_canonicalize (mpq_ptr); #define mpq_clear __gmpq_clear -__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_clear (mpq_ptr); #define mpq_clears __gmpq_clears -__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_clears (mpq_ptr, ...); #define mpq_cmp __gmpq_cmp -__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_cmp (mpq_srcptr, mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_si __gmpq_cmp_si -__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_si (mpq_srcptr, long, unsigned long) __GMP_ATTRIBUTE_PURE; #define _mpq_cmp_ui __gmpq_cmp_ui -__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int _mpq_cmp_ui (mpq_srcptr, unsigned long int, unsigned long int) __GMP_ATTRIBUTE_PURE; #define mpq_div __gmpq_div -__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_div (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_div_2exp __gmpq_div_2exp -__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_div_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_equal __gmpq_equal -__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpq_equal (mpq_srcptr, mpq_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpq_get_num __gmpq_get_num -__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_num (mpz_ptr, mpq_srcptr); #define mpq_get_den __gmpq_get_den -__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_get_den (mpz_ptr, mpq_srcptr); #define mpq_get_d __gmpq_get_d -__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpq_get_d (mpq_srcptr) __GMP_ATTRIBUTE_PURE; #define mpq_get_str __gmpq_get_str -__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr)); +__GMP_DECLSPEC char *mpq_get_str (char *, int, mpq_srcptr); #define mpq_init __gmpq_init -__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr)); +__GMP_DECLSPEC void mpq_init (mpq_ptr); #define mpq_inits __gmpq_inits -__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...)); +__GMP_DECLSPEC void mpq_inits (mpq_ptr, ...); #define mpq_inp_str __gmpq_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpq_inp_str (mpq_ptr, FILE *, int); #endif #define mpq_inv __gmpq_inv -__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_inv (mpq_ptr, mpq_srcptr); #define mpq_mul __gmpq_mul -__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_mul (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_mul_2exp __gmpq_mul_2exp -__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpq_mul_2exp (mpq_ptr, mpq_srcptr, mp_bitcnt_t); #define mpq_neg __gmpq_neg #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg) -__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_neg (mpq_ptr, mpq_srcptr); #endif #define mpq_out_str __gmpq_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr)); +__GMP_DECLSPEC size_t mpq_out_str (FILE *, int, mpq_srcptr); #endif #define mpq_set __gmpq_set -__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_set (mpq_ptr, mpq_srcptr); #define mpq_set_d __gmpq_set_d -__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double)); +__GMP_DECLSPEC void mpq_set_d (mpq_ptr, double); #define mpq_set_den __gmpq_set_den -__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_den (mpq_ptr, mpz_srcptr); #define mpq_set_f __gmpq_set_f -__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpq_set_f (mpq_ptr, mpf_srcptr); #define mpq_set_num __gmpq_set_num -__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_num (mpq_ptr, mpz_srcptr); #define mpq_set_si __gmpq_set_si -__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_si (mpq_ptr, signed long int, unsigned long int); #define mpq_set_str __gmpq_set_str -__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpq_set_str (mpq_ptr, const char *, int); #define mpq_set_ui __gmpq_set_ui -__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int)); +__GMP_DECLSPEC void mpq_set_ui (mpq_ptr, unsigned long int, unsigned long int); #define mpq_set_z __gmpq_set_z -__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpq_set_z (mpq_ptr, mpz_srcptr); #define mpq_sub __gmpq_sub -__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr)); +__GMP_DECLSPEC void mpq_sub (mpq_ptr, mpq_srcptr, mpq_srcptr); #define mpq_swap __gmpq_swap -__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpq_swap (mpq_ptr, mpq_ptr) __GMP_NOTHROW; /**************** Float (i.e. F) routines. ****************/ #define mpf_abs __gmpf_abs -__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_abs (mpf_ptr, mpf_srcptr); #define mpf_add __gmpf_add -__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_add_ui __gmpf_add_ui -__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_ceil __gmpf_ceil -__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ceil (mpf_ptr, mpf_srcptr); #define mpf_clear __gmpf_clear -__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_clear (mpf_ptr); #define mpf_clears __gmpf_clears -__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_clears (mpf_ptr, ...); #define mpf_cmp __gmpf_cmp -__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp (mpf_srcptr, mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_d __gmpf_cmp_d -__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_d (mpf_srcptr, double) __GMP_ATTRIBUTE_PURE; #define mpf_cmp_si __gmpf_cmp_si -__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_si (mpf_srcptr, signed long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_cmp_ui __gmpf_cmp_ui -__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_cmp_ui (mpf_srcptr, unsigned long int) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_div __gmpf_div -__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_div_2exp __gmpf_div_2exp -__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_div_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_div_ui __gmpf_div_ui -__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_dump __gmpf_dump -__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr)); +__GMP_DECLSPEC void mpf_dump (mpf_srcptr); #define mpf_eq __gmpf_eq -__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_eq (mpf_srcptr, mpf_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpf_fits_sint_p __gmpf_fits_sint_p -__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_slong_p __gmpf_fits_slong_p -__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_slong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_sshort_p __gmpf_fits_sshort_p -__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_sshort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_uint_p __gmpf_fits_uint_p -__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_uint_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ulong_p __gmpf_fits_ulong_p -__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ulong_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_fits_ushort_p __gmpf_fits_ushort_p -__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_fits_ushort_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_floor __gmpf_floor -__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_floor (mpf_ptr, mpf_srcptr); #define mpf_get_d __gmpf_get_d -__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC double mpf_get_d (mpf_srcptr) __GMP_ATTRIBUTE_PURE; #define mpf_get_d_2exp __gmpf_get_d_2exp -__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr)); +__GMP_DECLSPEC double mpf_get_d_2exp (signed long int *, mpf_srcptr); #define mpf_get_default_prec __gmpf_get_default_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec (void) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_prec __gmpf_get_prec -__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_si __gmpf_get_si -__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC long mpf_get_si (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_get_str __gmpf_get_str -__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC char *mpf_get_str (char *, mp_exp_t *, int, size_t, mpf_srcptr); #define mpf_get_ui __gmpf_get_ui -__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC unsigned long mpf_get_ui (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_init __gmpf_init -__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr)); +__GMP_DECLSPEC void mpf_init (mpf_ptr); #define mpf_init2 __gmpf_init2 -__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_init2 (mpf_ptr, mp_bitcnt_t); #define mpf_inits __gmpf_inits -__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...)); +__GMP_DECLSPEC void mpf_inits (mpf_ptr, ...); #define mpf_init_set __gmpf_init_set -__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_init_set (mpf_ptr, mpf_srcptr); #define mpf_init_set_d __gmpf_init_set_d -__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_init_set_d (mpf_ptr, double); #define mpf_init_set_si __gmpf_init_set_si -__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_init_set_si (mpf_ptr, signed long int); #define mpf_init_set_str __gmpf_init_set_str -__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_init_set_str (mpf_ptr, const char *, int); #define mpf_init_set_ui __gmpf_init_set_ui -__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_init_set_ui (mpf_ptr, unsigned long int); #define mpf_inp_str __gmpf_inp_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int)); +__GMP_DECLSPEC size_t mpf_inp_str (mpf_ptr, FILE *, int); #endif #define mpf_integer_p __gmpf_integer_p -__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpf_integer_p (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_mul __gmpf_mul -__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_mul_2exp __gmpf_mul_2exp -__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_mul_2exp (mpf_ptr, mpf_srcptr, mp_bitcnt_t); #define mpf_mul_ui __gmpf_mul_ui -__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_neg __gmpf_neg -__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_neg (mpf_ptr, mpf_srcptr); #define mpf_out_str __gmpf_out_str #ifdef _GMP_H_HAVE_FILE -__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr)); +__GMP_DECLSPEC size_t mpf_out_str (FILE *, int, size_t, mpf_srcptr); #endif #define mpf_pow_ui __gmpf_pow_ui -__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_pow_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_random2 __gmpf_random2 -__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t)); +__GMP_DECLSPEC void mpf_random2 (mpf_ptr, mp_size_t, mp_exp_t); #define mpf_reldiff __gmpf_reldiff -__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_reldiff (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_set __gmpf_set -__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_set (mpf_ptr, mpf_srcptr); #define mpf_set_d __gmpf_set_d -__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double)); +__GMP_DECLSPEC void mpf_set_d (mpf_ptr, double); #define mpf_set_default_prec __gmpf_set_default_prec -__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_default_prec (mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_prec __gmpf_set_prec -__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_set_prec (mpf_ptr, mp_bitcnt_t); #define mpf_set_prec_raw __gmpf_set_prec_raw -__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_set_prec_raw (mpf_ptr, mp_bitcnt_t) __GMP_NOTHROW; #define mpf_set_q __gmpf_set_q -__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr)); +__GMP_DECLSPEC void mpf_set_q (mpf_ptr, mpq_srcptr); #define mpf_set_si __gmpf_set_si -__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int)); +__GMP_DECLSPEC void mpf_set_si (mpf_ptr, signed long int); #define mpf_set_str __gmpf_set_str -__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int)); +__GMP_DECLSPEC int mpf_set_str (mpf_ptr, const char *, int); #define mpf_set_ui __gmpf_set_ui -__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_set_ui (mpf_ptr, unsigned long int); #define mpf_set_z __gmpf_set_z -__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr)); +__GMP_DECLSPEC void mpf_set_z (mpf_ptr, mpz_srcptr); #define mpf_size __gmpf_size -__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC size_t mpf_size (mpf_srcptr) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpf_sqrt __gmpf_sqrt -__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sqrt (mpf_ptr, mpf_srcptr); #define mpf_sqrt_ui __gmpf_sqrt_ui -__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sqrt_ui (mpf_ptr, unsigned long int); #define mpf_sub __gmpf_sub -__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_sub (mpf_ptr, mpf_srcptr, mpf_srcptr); #define mpf_sub_ui __gmpf_sub_ui -__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int)); +__GMP_DECLSPEC void mpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int); #define mpf_swap __gmpf_swap -__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW; +__GMP_DECLSPEC void mpf_swap (mpf_ptr, mpf_ptr) __GMP_NOTHROW; #define mpf_trunc __gmpf_trunc -__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr)); +__GMP_DECLSPEC void mpf_trunc (mpf_ptr, mpf_srcptr); #define mpf_ui_div __gmpf_ui_div -__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_ui_sub __gmpf_ui_sub -__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr)); +__GMP_DECLSPEC void mpf_ui_sub (mpf_ptr, unsigned long int, mpf_srcptr); #define mpf_urandomb __gmpf_urandomb -__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t)); +__GMP_DECLSPEC void mpf_urandomb (mpf_t, gmp_randstate_t, mp_bitcnt_t); /************ Low level positive-integer (i.e. N) routines. ************/ @@ -1502,168 +1443,174 @@ __GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt #define mpn_add __MPN(add) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add) -__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_add_1 __MPN(add_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1) -__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_add_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_add_n __MPN(add_n) -__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_add_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_addmul_1 __MPN(addmul_1) -__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_addmul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_cmp __MPN(cmp) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp) -__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_cmp (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #endif #define mpn_divexact_by3(dst,src,size) \ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0)) #define mpn_divexact_by3c __MPN(divexact_by3c) -__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divmod_1(qp,np,nsize,dlimb) \ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb) #define mpn_divrem __MPN(divrem) -__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_divrem_1 __MPN(divrem_1) -__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_1 (mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_divrem_2 __MPN(divrem_2) -__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr)); +__GMP_DECLSPEC mp_limb_t mpn_divrem_2 (mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr); + +#define mpn_div_qr_2 __MPN(div_qr_2) +__GMP_DECLSPEC mp_limb_t mpn_div_qr_2 (mp_ptr, mp_ptr, mp_srcptr, mp_size_t, mp_srcptr); #define mpn_gcd __MPN(gcd) -__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcd (mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_gcd_1 __MPN(gcd_1) -__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_gcd_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_gcdext_1 __MPN(gcdext_1) -__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 (mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t); #define mpn_gcdext __MPN(gcdext) -__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_gcdext (mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t); #define mpn_get_str __MPN(get_str) -__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t)); +__GMP_DECLSPEC size_t mpn_get_str (unsigned char *, int, mp_ptr, mp_size_t); #define mpn_hamdist __MPN(hamdist) -__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist (mp_srcptr, mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_lshift __MPN(lshift) -__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_lshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_mod_1 __MPN(mod_1) -__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_mod_1 (mp_srcptr, mp_size_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_mul __MPN(mul) -__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_mul_1 __MPN(mul_1) -__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_mul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_mul_n __MPN(mul_n) -__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_mul_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_sqr __MPN(sqr) -__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_sqr (mp_ptr, mp_srcptr, mp_size_t); #define mpn_neg __MPN(neg) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg) -__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_neg (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_com __MPN(com) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com) -__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_com (mp_ptr, mp_srcptr, mp_size_t); #endif #define mpn_perfect_square_p __MPN(perfect_square_p) -__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_square_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_perfect_power_p __MPN(perfect_power_p) -__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC int mpn_perfect_power_p (mp_srcptr, mp_size_t) __GMP_ATTRIBUTE_PURE; #define mpn_popcount __MPN(popcount) -__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_popcount (mp_srcptr, mp_size_t) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE; #define mpn_pow_1 __MPN(pow_1) -__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr)); +__GMP_DECLSPEC mp_size_t mpn_pow_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr); /* undocumented now, but retained here for upward compatibility */ #define mpn_preinv_mod_1 __MPN(preinv_mod_1) -__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 (mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t) __GMP_ATTRIBUTE_PURE; #define mpn_random __MPN(random) -__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random (mp_ptr, mp_size_t); #define mpn_random2 __MPN(random2) -__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_random2 (mp_ptr, mp_size_t); #define mpn_rshift __MPN(rshift) -__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int)); +__GMP_DECLSPEC mp_limb_t mpn_rshift (mp_ptr, mp_srcptr, mp_size_t, unsigned int); #define mpn_scan0 __MPN(scan0) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_scan1 __MPN(scan1) -__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE; +__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 (mp_srcptr, mp_bitcnt_t) __GMP_ATTRIBUTE_PURE; #define mpn_set_str __MPN(set_str) -__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int)); +__GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int); #define mpn_sqrtrem __MPN(sqrtrem) -__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_size_t mpn_sqrtrem (mp_ptr, mp_ptr, mp_srcptr, mp_size_t); #define mpn_sub __MPN(sub) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub) -__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub (mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #endif #define mpn_sub_1 __MPN(sub_1) #if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1) -__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW; +__GMP_DECLSPEC mp_limb_t mpn_sub_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t) __GMP_NOTHROW; #endif #define mpn_sub_n __MPN(sub_n) -__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC mp_limb_t mpn_sub_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_submul_1 __MPN(submul_1) -__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)); +__GMP_DECLSPEC mp_limb_t mpn_submul_1 (mp_ptr, mp_srcptr, mp_size_t, mp_limb_t); #define mpn_tdiv_qr __MPN(tdiv_qr) -__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_tdiv_qr (mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t); #define mpn_and_n __MPN(and_n) -__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_and_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_andn_n __MPN(andn_n) -__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_andn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nand_n __MPN(nand_n) -__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nand_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_ior_n __MPN(ior_n) -__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_ior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_iorn_n __MPN(iorn_n) -__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_iorn_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_nior_n __MPN(nior_n) -__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_nior_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xor_n __MPN(xor_n) -__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_xnor_n __MPN(xnor_n) -__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_xnor_n (mp_ptr, mp_srcptr, mp_srcptr, mp_size_t); #define mpn_copyi __MPN(copyi) -__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyi (mp_ptr, mp_srcptr, mp_size_t); #define mpn_copyd __MPN(copyd) -__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t)); +__GMP_DECLSPEC void mpn_copyd (mp_ptr, mp_srcptr, mp_size_t); #define mpn_zero __MPN(zero) -__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); +__GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); + +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) +__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); /**************** mpz inlines ****************/ @@ -2272,13 +2219,13 @@ enum /* Define CC and CFLAGS which were used to build this version of GMP */ #define __GMP_CC "gcc -std=gnu99" -#define __GMP_CFLAGS "-O2 -pedantic -m64 -mtune=k8 -march=k8" +#define __GMP_CFLAGS "-O2 -pedantic -fomit-frame-pointer -m64 -mtune=k8 -march=k8" /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ -#define __GNU_MP_VERSION 5 -#define __GNU_MP_VERSION_MINOR 0 -#define __GNU_MP_VERSION_PATCHLEVEL 2 -#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) +#define __GNU_MP_VERSION 5 +#define __GNU_MP_VERSION_MINOR 1 +#define __GNU_MP_VERSION_PATCHLEVEL 3 +#define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) #define __GMP_H__ #endif /* __GMP_H__ */ diff --git a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/mp.h b/external/lgpl3/gmp/lib/libgmp/arch/x86_64/mp.h deleted file mode 100644 index 516a47fd7..000000000 --- a/external/lgpl3/gmp/lib/libgmp/arch/x86_64/mp.h +++ /dev/null @@ -1,164 +0,0 @@ -/* mp-h.in -- Definitions for the GNU multiple precision library -*-mode:c-*- - BSD mp compatible functions. - -Copyright 1991, 1993, 1994, 1995, 1996, 2000, 2001, 2002, 2004 Free Software -Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 3 of the License, or (at your -option) any later version. - -The GNU MP 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. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */ - -#ifndef __MP_H__ - - -/* The following (everything under ifndef __GNU_MP__) must be identical in - gmp.h and mp.h to allow both to be included in an application or during - the library build. Use the t-gmp-mp-h.pl script to check. */ -#ifndef __GNU_MP__ -#define __GNU_MP__ 5 - -#define __need_size_t /* tell gcc stddef.h we only want size_t */ -#if defined (__cplusplus) -#include /* for size_t */ -#else -#include /* for size_t */ -#endif -#undef __need_size_t - -/* The following instantiated by configure, for internal use only */ -#if ! defined (__GMP_WITHIN_CONFIGURE) -/* #undef _LONG_LONG_LIMB */ -#define __GMP_LIBGMP_DLL 0 -#endif - -#if defined (__STDC__) \ - || defined (__cplusplus) \ - || defined (_AIX) \ - || defined (__DECC) \ - || (defined (__mips) && defined (_SYSTYPE_SVR4)) \ - || defined (_MSC_VER) \ - || defined (_WIN32) -#define __GMP_HAVE_CONST 1 -#define __GMP_HAVE_PROTOTYPES 1 -#define __GMP_HAVE_TOKEN_PASTE 1 -#else -#define __GMP_HAVE_CONST 0 -#define __GMP_HAVE_PROTOTYPES 0 -#define __GMP_HAVE_TOKEN_PASTE 0 -#endif - - -#if __GMP_HAVE_CONST -#define __gmp_const const -#define __gmp_signed signed -#else -#define __gmp_const -#define __gmp_signed -#endif - -#if defined (__GNUC__) -#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__) -#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__) -#endif -#if defined (_MSC_VER) || defined (__BORLANDC__) -#define __GMP_DECLSPEC_EXPORT __declspec(dllexport) -#define __GMP_DECLSPEC_IMPORT __declspec(dllimport) -#endif -#ifdef __WATCOMC__ -#define __GMP_DECLSPEC_EXPORT __export -#define __GMP_DECLSPEC_IMPORT __import -#endif -#ifdef __IBMC__ -#define __GMP_DECLSPEC_EXPORT _Export -#define __GMP_DECLSPEC_IMPORT _Import -#endif - -#if __GMP_LIBGMP_DLL -#if __GMP_WITHIN_GMP -#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT -#else -#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT -#endif -#else -#define __GMP_DECLSPEC -#endif - -#ifdef __GMP_SHORT_LIMB -typedef unsigned int mp_limb_t; -typedef int mp_limb_signed_t; -#else -#ifdef _LONG_LONG_LIMB -typedef unsigned long long int mp_limb_t; -typedef long long int mp_limb_signed_t; -#else -typedef unsigned long int mp_limb_t; -typedef long int mp_limb_signed_t; -#endif -#endif -typedef unsigned long int mp_bitcnt_t; - -typedef struct -{ - int _mp_alloc; /* Number of *limbs* allocated and pointed - to by the _mp_d field. */ - int _mp_size; /* abs(_mp_size) is the number of limbs the - last field points to. If _mp_size is - negative this is a negative number. */ - mp_limb_t *_mp_d; /* Pointer to the limbs. */ -} __mpz_struct; - -#endif /* __GNU_MP__ */ - -/* User-visible types. */ -typedef __mpz_struct MINT; - - -#if __GMP_HAVE_PROTOTYPES -#define __GMP_PROTO(x) x -#else -#define __GMP_PROTO(x) () -#endif - -#if defined (__cplusplus) -extern "C" { -#endif - -#define mp_set_memory_functions __gmp_set_memory_functions -__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t), - void *(*) (void *, size_t, size_t), - void (*) (void *, size_t))); -__GMP_DECLSPEC MINT *itom __GMP_PROTO ((signed short int)); -__GMP_DECLSPEC MINT *xtom __GMP_PROTO ((const char *)); -__GMP_DECLSPEC void move __GMP_PROTO ((const MINT *, MINT *)); -__GMP_DECLSPEC void madd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void msub __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mult __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void mdiv __GMP_PROTO ((const MINT *, const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void sdiv __GMP_PROTO ((const MINT *, signed short int, MINT *, signed short int *)); -__GMP_DECLSPEC void msqrt __GMP_PROTO ((const MINT *, MINT *, MINT *)); -__GMP_DECLSPEC void pow __GMP_PROTO ((const MINT *, const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC void rpow __GMP_PROTO ((const MINT *, signed short int, MINT *)); -__GMP_DECLSPEC void gcd __GMP_PROTO ((const MINT *, const MINT *, MINT *)); -__GMP_DECLSPEC int mcmp __GMP_PROTO ((const MINT *, const MINT *)); -__GMP_DECLSPEC void min __GMP_PROTO ((MINT *)); -__GMP_DECLSPEC void mout __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC char *mtox __GMP_PROTO ((const MINT *)); -__GMP_DECLSPEC void mfree __GMP_PROTO ((MINT *)); - -#if defined (__cplusplus) -} -#endif - -#define __MP_H__ -#endif /* __MP_H__ */ diff --git a/external/lgpl3/gmp/patches/0000-gmp.patch b/external/lgpl3/gmp/patches/0000-gmp.patch index 7b0dbdcc4..356f8ae0a 100644 --- a/external/lgpl3/gmp/patches/0000-gmp.patch +++ b/external/lgpl3/gmp/patches/0000-gmp.patch @@ -1,18 +1,113 @@ -diff -r -x CVS -N -U 3 dist/ansi2knr.c dist.orig/ansi2knr.c ---- dist/ansi2knr.c 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/ansi2knr.c 2011-06-20 07:54:33.000000000 +0200 -@@ -1,6 +1,6 @@ - /* Copyright (C) 1989, 2000 Aladdin Enterprises. All rights reserved. */ +Binary files dist.orig/ChangeLog and dist.nbsd/ChangeLog differ +diff -rNU3 dist.orig/Makefile.am dist.nbsd/Makefile.am +--- dist.orig/Makefile.am Mon May 20 14:59:56 2013 ++++ dist.nbsd/Makefile.am Wed Feb 19 16:34:37 2014 +@@ -74,6 +74,7 @@ + # 5.1.0 11:0:1 7:0:3 - + # 5.1.1 11:1:1 7:1:3 - + # 5.1.2 11:2:1 7:2:3 - ++# 5.1.3 11:3:1 7:3:3 - + # + # Starting at 3:0:0 is a slight abuse of the versioning system, but it + # ensures we're past soname libgmp.so.2, which was used on Debian GNU/Linux +@@ -87,11 +88,11 @@ + # libgmpxx.so.3.0.4) incrementing, to make it clear which GMP it's from. --/*$Id$*/ -+/*$Id: ansi2knr.c,v 1.1.1.1 2011/06/20 05:54:33 mrg Exp $*/ - /* Convert ANSI C function definitions to K&R ("traditional C") syntax */ + LIBGMP_LT_CURRENT = 11 +-LIBGMP_LT_REVISION = 2 ++LIBGMP_LT_REVISION = 3 + LIBGMP_LT_AGE = 1 - /* -diff -r -x CVS -N -U 3 dist/config.guess dist.orig/config.guess ---- dist/config.guess 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/config.guess 2012-03-27 23:56:04.000000000 +0200 -@@ -833,8 +833,8 @@ + LIBGMPXX_LT_CURRENT = 7 +-LIBGMPXX_LT_REVISION = 2 ++LIBGMPXX_LT_REVISION = 3 + LIBGMPXX_LT_AGE = 3 + + +diff -rNU3 dist.orig/Makefile.in dist.nbsd/Makefile.in +--- dist.orig/Makefile.in Mon May 20 15:00:04 2013 ++++ dist.nbsd/Makefile.in Wed Feb 19 16:34:37 2014 +@@ -86,6 +86,7 @@ + # 5.1.0 11:0:1 7:0:3 - + # 5.1.1 11:1:1 7:1:3 - + # 5.1.2 11:2:1 7:2:3 - ++# 5.1.3 11:3:1 7:3:3 - + # + # Starting at 3:0:0 is a slight abuse of the versioning system, but it + # ensures we're past soname libgmp.so.2, which was used on Debian GNU/Linux +@@ -446,10 +447,10 @@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + LIBGMP_LT_CURRENT = 11 +-LIBGMP_LT_REVISION = 2 ++LIBGMP_LT_REVISION = 3 + LIBGMP_LT_AGE = 1 + LIBGMPXX_LT_CURRENT = 7 +-LIBGMPXX_LT_REVISION = 2 ++LIBGMPXX_LT_REVISION = 3 + LIBGMPXX_LT_AGE = 3 + SUBDIRS = tests mpn mpz mpq mpf printf scanf rand cxx demos tune doc + +@@ -1165,7 +1166,8 @@ + uninstall: uninstall-recursive + + install-am: all-am +- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-data-am + + installcheck: installcheck-recursive + install-strip: +diff -rNU3 dist.orig/NEWS dist.nbsd/NEWS +--- dist.orig/NEWS Mon May 20 14:59:56 2013 ++++ dist.nbsd/NEWS Wed Feb 19 16:34:37 2014 +@@ -5,6 +5,29 @@ + medium, provided this notice is preserved. + + ++Changes between GMP version 5.1.2 and 5.1.3 ++ ++ BUGS FIXED ++ * The internal functions mpn_sbpi1_div_qr_sec mpn_sbpi1_div_r_sec could ++ compute garbage with a low probability. They are now rewritten, and the ++ test code has been improved. ++ ++ * A bug in the ia64 implementation of mpn_divrem_2, clobbering some ++ callee-save registers, has been fixed. This is an internal ++ function, with the bug manifesting itself as miscomputation in, ++ e.g., mpn_sqrtrem. ++ ++ * The documentation now correctly says 'const' for input arguments. ++ ++ SPEEDUPS ++ * None. ++ ++ FEATURES ++ * None. ++ ++ MISC ++ * None. ++ + Changes between GMP version 5.1.1 and 5.1.2 + + BUGS FIXED +diff -rNU3 dist.orig/acinclude.m4 dist.nbsd/acinclude.m4 +--- dist.orig/acinclude.m4 Mon May 20 14:59:56 2013 ++++ dist.nbsd/acinclude.m4 Wed Feb 19 16:34:37 2014 +@@ -33,6 +33,9 @@ + define(IA64_PATTERN, + [[ia64*-*-* | itanium-*-* | itanium2-*-*]]) + ++define(M5407_PATTERN, ++[[m5407-*-*]]) ++ + dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all + dnl of which config.sub accepts. (Though none of which are likely to work + dnl with GMP.) +diff -rNU3 dist.orig/config.guess dist.nbsd/config.guess +--- dist.orig/config.guess Mon May 20 14:59:56 2013 ++++ dist.nbsd/config.guess Wed Feb 19 16:34:37 2014 +@@ -945,8 +945,8 @@ # ------------------------------------------------------------------------- # Use an exact cpu, if possible @@ -23,9 +118,142 @@ diff -r -x CVS -N -U 3 dist/config.guess dist.orig/config.guess echo "$exact_cpu$guess_rest" else echo "$guess_full" -diff -r -x CVS -N -U 3 dist/configure.in dist.orig/configure.in ---- dist/configure.in 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/configure.in 2011-06-20 07:54:31.000000000 +0200 +diff -rNU3 dist.orig/configfsf.sub dist.nbsd/configfsf.sub +--- dist.orig/configfsf.sub Mon May 20 14:59:56 2013 ++++ dist.nbsd/configfsf.sub Wed Feb 19 16:34:37 2014 +@@ -124,7 +124,7 @@ + case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ +- knetbsd*-gnu* | netbsd*-gnu* | \ ++ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-*eabi* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os +@@ -334,7 +334,8 @@ + basic_machine=$basic_machine-unknown + os=-none + ;; +- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ++ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | m5407 \ ++ | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown +@@ -390,6 +391,7 @@ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ ++ | m5200-* | m5407-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ +diff -rNU3 dist.orig/configure dist.nbsd/configure +--- dist.orig/configure Mon May 20 15:00:02 2013 ++++ dist.nbsd/configure Wed Feb 19 16:34:37 2014 +@@ -1,7 +1,7 @@ + #! /bin/sh + # From configure.ac Revision. + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.69 for GNU MP 5.1.2. ++# Generated by GNU Autoconf 2.69 for GNU MP 5.1.3. + # + # Report bugs to . + # +@@ -613,8 +613,8 @@ + # Identity of this package. + PACKAGE_NAME='GNU MP' + PACKAGE_TARNAME='gmp' +-PACKAGE_VERSION='5.1.2' +-PACKAGE_STRING='GNU MP 5.1.2' ++PACKAGE_VERSION='5.1.3' ++PACKAGE_STRING='GNU MP 5.1.3' + PACKAGE_BUGREPORT='gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html' + PACKAGE_URL='http://www.gnu.org/software/gmp/' + +@@ -1395,7 +1395,7 @@ + # 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 GNU MP 5.1.2 to adapt to many kinds of systems. ++\`configure' configures GNU MP 5.1.3 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1465,7 +1465,7 @@ + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of GNU MP 5.1.2:";; ++ short | recursive ) echo "Configuration of GNU MP 5.1.3:";; + esac + cat <<\_ACEOF + +@@ -1597,7 +1597,7 @@ + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<\_ACEOF +-GNU MP configure 5.1.2 ++GNU MP configure 5.1.3 + generated by GNU Autoconf 2.69 + + Copyright (C) 2012 Free Software Foundation, Inc. +@@ -2639,7 +2639,7 @@ + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by GNU MP $as_me 5.1.2, which was ++It was created by GNU MP $as_me 5.1.3, which was + generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ +@@ -3566,7 +3566,7 @@ + + # Define the identity of the package. + PACKAGE='gmp' +- VERSION='5.1.2' ++ VERSION='5.1.3' + + + cat >>confdefs.h <<_ACEOF +@@ -4377,6 +4377,16 @@ + ;; + + ++ # Motorola Coldfire ++ # ++ m5407-*-*) ++ ++ gcc_cflags="$gcc_cflags $fomit_frame_pointer" ++ gcc_cflags_optlist="arch" ++ gcc_cflags_arch="-m5407" ++ ;; ++ ++ + # Motorola 68k + # + m68k-*-* | m68[0-9][0-9][0-9]-*-*) +@@ -30111,7 +30121,7 @@ + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by GNU MP $as_me 5.1.2, which was ++This file was extended by GNU MP $as_me 5.1.3, which was + generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -30183,7 +30193,7 @@ + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" + ac_cs_version="\\ +-GNU MP config.status 5.1.2 ++GNU MP config.status 5.1.3 + configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +diff -rNU3 dist.orig/configure.ac dist.nbsd/configure.ac +--- dist.orig/configure.ac Mon May 20 14:59:56 2013 ++++ dist.nbsd/configure.ac Wed Feb 19 16:34:37 2014 @@ -25,7 +25,7 @@ AC_COPYRIGHT(GMP_COPYRIGHT) AH_TOP(/*GMP_COPYRIGHT*/) @@ -33,26 +261,2068 @@ diff -r -x CVS -N -U 3 dist/configure.in dist.orig/configure.in -AC_REVISION($Revision$) +AC_REVISION($Revision: 1.1.1.1 $) AC_PREREQ(2.59) - AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@gmplib.org, gmp) + AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html], gmp) AC_CONFIG_SRCDIR(gmp-impl.h) -diff -r -x CVS -N -U 3 dist/gmp-h.in dist.orig/gmp-h.in ---- dist/gmp-h.in 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/gmp-h.in 2011-07-02 16:05:03.000000000 +0200 -@@ -1661,6 +1661,10 @@ +diff -rNU3 dist.orig/demos/calc/calc.c dist.nbsd/demos/calc/calc.c +--- dist.orig/demos/calc/calc.c Mon May 20 15:00:17 2013 ++++ dist.nbsd/demos/calc/calc.c Wed Feb 19 16:34:37 2014 +@@ -1,8 +1,8 @@ +-/* A Bison parser, made by GNU Bison 2.5.1. */ ++/* A Bison parser, made by GNU Bison 2.7.12-4996. */ + + /* Bison implementation for Yacc-like parsers in C + +- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. ++ Copyright (C) 1984, 1989-1990, 2000-2013 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 +@@ -44,7 +44,7 @@ + #define YYBISON 1 + + /* Bison version. */ +-#define YYBISON_VERSION "2.5.1" ++#define YYBISON_VERSION "2.7.12-4996" + + /* Skeleton name. */ + #define YYSKELETON_NAME "yacc.c" +@@ -58,14 +58,11 @@ + /* Pull parsers. */ + #define YYPULL 1 + +-/* Using locations. */ +-#define YYLSP_NEEDED 0 + + + + /* Copy the first part of user declarations. */ +- +-/* Line 268 of yacc.c */ ++/* Line 371 of yacc.c */ + #line 1 "calc.y" + + /* A simple integer desk calculator using yacc and gmp. +@@ -207,10 +204,9 @@ + } + + ++/* Line 371 of yacc.c */ ++#line 209 "calc.c" + +-/* Line 268 of yacc.c */ +-#line 213 "calc.c" +- + # ifndef YY_NULL + # if defined __cplusplus && 201103L <= __cplusplus + # define YY_NULL nullptr +@@ -219,11 +215,6 @@ + # endif + # endif + +-/* Enabling traces. */ +-#ifndef YYDEBUG +-# define YYDEBUG 0 +-#endif +- + /* Enabling verbose error messages. */ + #ifdef YYERROR_VERBOSE + # undef YYERROR_VERBOSE +@@ -232,12 +223,18 @@ + # define YYERROR_VERBOSE 0 + #endif + +-/* Enabling the token table. */ +-#ifndef YYTOKEN_TABLE +-# define YYTOKEN_TABLE 0 ++/* In a future release of Bison, this section will be replaced ++ by #include "y.tab.h". */ ++#ifndef YY_YY_Y_TAB_H_INCLUDED ++# define YY_YY_Y_TAB_H_INCLUDED ++/* Enabling traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 0 + #endif ++#if YYDEBUG ++extern int yydebug; ++#endif + +- + /* Tokens. */ + #ifndef YYTOKENTYPE + # define YYTOKENTYPE +@@ -306,34 +303,47 @@ + + + +- + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE + { +- +-/* Line 295 of yacc.c */ ++/* Line 387 of yacc.c */ + #line 142 "calc.y" + + char *str; + int var; + + +- +-/* Line 295 of yacc.c */ +-#line 324 "calc.c" ++/* Line 387 of yacc.c */ ++#line 318 "calc.c" + } YYSTYPE; + # define YYSTYPE_IS_TRIVIAL 1 + # define yystype YYSTYPE /* obsolescent; will be withdrawn */ + # define YYSTYPE_IS_DECLARED 1 + #endif + ++extern YYSTYPE yylval; + +-/* Copy the second part of user declarations. */ ++#ifdef YYPARSE_PARAM ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *YYPARSE_PARAM); ++#else ++int yyparse (); ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void); ++#else ++int yyparse (); ++#endif ++#endif /* ! YYPARSE_PARAM */ + ++#endif /* !YY_YY_Y_TAB_H_INCLUDED */ + +-/* Line 345 of yacc.c */ +-#line 336 "calc.c" ++/* Copy the second part of user declarations. */ + ++/* Line 390 of yacc.c */ ++#line 346 "calc.c" ++ + #ifdef short + # undef short + #endif +@@ -385,24 +395,33 @@ + # if defined YYENABLE_NLS && YYENABLE_NLS + # if ENABLE_NLS + # include /* INFRINGES ON USER NAME SPACE */ +-# define YY_(msgid) dgettext ("bison-runtime", msgid) ++# define YY_(Msgid) dgettext ("bison-runtime", Msgid) + # endif + # endif + # ifndef YY_ +-# define YY_(msgid) msgid ++# define YY_(Msgid) Msgid + # endif + #endif + ++#ifndef __attribute__ ++/* This feature is available in gcc versions 2.5 and later. */ ++# if (! defined __GNUC__ || __GNUC__ < 2 \ ++ || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)) ++# define __attribute__(Spec) /* empty */ ++# endif ++#endif ++ + /* Suppress unused-variable warnings by "using" E. */ + #if ! defined lint || defined __GNUC__ +-# define YYUSE(e) ((void) (e)) ++# define YYUSE(E) ((void) (E)) + #else +-# define YYUSE(e) /* empty */ ++# define YYUSE(E) /* empty */ + #endif + ++ + /* Identity function, used to suppress warnings about constant conditions. */ + #ifndef lint +-# define YYID(n) (n) ++# define YYID(N) (N) + #else + #if (defined __STDC__ || defined __C99__FUNC__ \ + || defined __cplusplus || defined _MSC_VER) +@@ -651,7 +670,7 @@ + }; + #endif + +-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE ++#if YYDEBUG || YYERROR_VERBOSE || 0 + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ + static const char *const yytname[] = +@@ -812,11 +831,11 @@ + 0, 59, 60 + }; + +-#define yypact_value_is_default(yystate) \ +- ((yystate) == (-39)) ++#define yypact_value_is_default(Yystate) \ ++ (!!((Yystate) == (-39))) + +-#define yytable_value_is_error(yytable_value) \ +- ((yytable_value) == (-8)) ++#define yytable_value_is_error(Yytable_value) \ ++ (!!((Yytable_value) == (-8))) + + static const yytype_int8 yycheck[] = + { +@@ -940,46 +959,18 @@ + } \ + while (YYID (0)) + +- ++/* Error token number */ + #define YYTERROR 1 + #define YYERRCODE 256 + + +-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. +- If N is 0, then set CURRENT to the empty location which ends +- the previous symbol: RHS[0] (always defined). */ +- +-#define YYRHSLOC(Rhs, K) ((Rhs)[K]) +-#ifndef YYLLOC_DEFAULT +-# define YYLLOC_DEFAULT(Current, Rhs, N) \ +- do \ +- if (YYID (N)) \ +- { \ +- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ +- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ +- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ +- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ +- } \ +- else \ +- { \ +- (Current).first_line = (Current).last_line = \ +- YYRHSLOC (Rhs, 0).last_line; \ +- (Current).first_column = (Current).last_column = \ +- YYRHSLOC (Rhs, 0).last_column; \ +- } \ +- while (YYID (0)) +-#endif +- +- + /* This macro is provided for backward compatibility. */ +- + #ifndef YY_LOCATION_PRINT + # define YY_LOCATION_PRINT(File, Loc) ((void) 0) + #endif + + + /* YYLEX -- calling `yylex' with the right arguments. */ +- + #ifdef YYLEX_PARAM + # define YYLEX yylex (YYLEX_PARAM) + #else +@@ -1039,11 +1030,7 @@ + # else + YYUSE (yyoutput); + # endif +- switch (yytype) +- { +- default: +- break; +- } ++ YYUSE (yytype); + } + + +@@ -1284,7 +1271,6 @@ + { + YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]); + YYSIZE_T yysize = yysize0; +- YYSIZE_T yysize1; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULL; +@@ -1347,11 +1333,13 @@ + break; + } + yyarg[yycount++] = yytname[yyx]; +- yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); +- if (! (yysize <= yysize1 +- && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) +- return 2; +- yysize = yysize1; ++ { ++ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]); ++ if (! (yysize <= yysize1 ++ && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } + } + } + } +@@ -1371,10 +1359,12 @@ + # undef YYCASE_ + } + +- yysize1 = yysize + yystrlen (yyformat); +- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) +- return 2; +- yysize = yysize1; ++ { ++ YYSIZE_T yysize1 = yysize + yystrlen (yyformat); ++ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) ++ return 2; ++ yysize = yysize1; ++ } + + if (*yymsg_alloc < yysize) + { +@@ -1430,36 +1420,26 @@ + yymsg = "Deleting"; + YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + +- switch (yytype) +- { +- +- default: +- break; +- } ++ YYUSE (yytype); + } + + +-/* Prevent warnings from -Wmissing-prototypes. */ +-#ifdef YYPARSE_PARAM +-#if defined __STDC__ || defined __cplusplus +-int yyparse (void *YYPARSE_PARAM); +-#else +-int yyparse (); +-#endif +-#else /* ! YYPARSE_PARAM */ +-#if defined __STDC__ || defined __cplusplus +-int yyparse (void); +-#else +-int yyparse (); +-#endif +-#endif /* ! YYPARSE_PARAM */ + + + /* The lookahead symbol. */ + int yychar; + ++ ++#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN ++# define YY_IGNORE_MAYBE_UNINITIALIZED_END ++#endif ++#ifndef YY_INITIAL_VALUE ++# define YY_INITIAL_VALUE(Value) /* Nothing. */ ++#endif ++ + /* The semantic value of the lookahead symbol. */ +-YYSTYPE yylval; ++YYSTYPE yylval YY_INITIAL_VALUE(yyval_default); + + /* Number of syntax errors so far. */ + int yynerrs; +@@ -1517,7 +1497,7 @@ + int yyn; + int yyresult; + /* Lookahead token as an internal (translated) token number. */ +- int yytoken; ++ int yytoken = 0; + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; +@@ -1535,9 +1515,8 @@ + Keep to zero when no symbol should be popped. */ + int yylen = 0; + +- yytoken = 0; +- yyss = yyssa; +- yyvs = yyvsa; ++ yyssp = yyss = yyssa; ++ yyvsp = yyvs = yyvsa; + yystacksize = YYINITDEPTH; + + YYDPRINTF ((stderr, "Starting parse\n")); +@@ -1546,14 +1525,6 @@ + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ +- +- /* Initialize stack pointers. +- Waste one element of value and location stack +- so that they stay on the same level as the state stack. +- The wasted elements are never initialized. */ +- yyssp = yyss; +- yyvsp = yyvs; +- + goto yysetstate; + + /*------------------------------------------------------------. +@@ -1694,7 +1665,9 @@ + yychar = YYEMPTY; + + yystate = yyn; ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END + + goto yynewstate; + +@@ -1731,15 +1704,13 @@ + switch (yyn) + { + case 6: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 173 "calc.y" + { sp = stack[0]; yyerrok; } + break; + + case 8: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 177 "calc.y" + { + mpz_out_str (stdout, obase, sp); putchar ('\n'); +@@ -1749,8 +1720,7 @@ + break; + + case 9: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 182 "calc.y" + { + CHECK_VARIABLE ((yyvsp[(1) - (3)].var)); +@@ -1761,234 +1731,202 @@ + break; + + case 10: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 188 "calc.y" + { calc_help (); } + break; + + case 11: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 189 "calc.y" + { ibase = 16; obase = -16; } + break; + + case 12: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 190 "calc.y" + { ibase = 0; obase = 10; } + break; + + case 13: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 191 "calc.y" + { exit (0); } + break; + + case 15: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 198 "calc.y" + { sp--; mpz_add (sp, sp, sp+1); } + break; + + case 16: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 199 "calc.y" + { sp--; mpz_sub (sp, sp, sp+1); } + break; + + case 17: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 200 "calc.y" + { sp--; mpz_mul (sp, sp, sp+1); } + break; + + case 18: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 201 "calc.y" + { sp--; mpz_fdiv_q (sp, sp, sp+1); } + break; + + case 19: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 202 "calc.y" + { sp--; mpz_fdiv_r (sp, sp, sp+1); } + break; + + case 20: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 203 "calc.y" + { CHECK_UI ("Exponent", sp); + sp--; mpz_pow_ui (sp, sp, mpz_get_ui (sp+1)); } + break; + + case 21: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 205 "calc.y" + { CHECK_UI ("Shift count", sp); + sp--; mpz_mul_2exp (sp, sp, mpz_get_ui (sp+1)); } + break; + + case 22: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 207 "calc.y" + { CHECK_UI ("Shift count", sp); + sp--; mpz_fdiv_q_2exp (sp, sp, mpz_get_ui (sp+1)); } + break; + + case 23: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 209 "calc.y" + { CHECK_UI ("Factorial", sp); + mpz_fac_ui (sp, mpz_get_ui (sp)); } + break; + + case 24: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 211 "calc.y" + { mpz_neg (sp, sp); } + break; + + case 25: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 213 "calc.y" + { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) < 0); } + break; + + case 26: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 214 "calc.y" + { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) <= 0); } + break; + + case 27: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 215 "calc.y" + { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) == 0); } + break; + + case 28: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 216 "calc.y" + { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) != 0); } + break; + + case 29: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 217 "calc.y" + { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) >= 0); } + break; + + case 30: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 218 "calc.y" + { sp--; mpz_set_ui (sp, mpz_cmp (sp, sp+1) > 0); } + break; + + case 31: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 220 "calc.y" + { sp--; mpz_set_ui (sp, mpz_sgn (sp) && mpz_sgn (sp+1)); } + break; + + case 32: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 221 "calc.y" + { sp--; mpz_set_ui (sp, mpz_sgn (sp) || mpz_sgn (sp+1)); } + break; + + case 33: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 223 "calc.y" + { mpz_abs (sp, sp); } + break; + + case 34: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 224 "calc.y" + { sp--; CHECK_UI ("Binomial base", sp+1); + mpz_bin_ui (sp, sp, mpz_get_ui (sp+1)); } + break; + + case 35: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 226 "calc.y" + { CHECK_UI ("Fibonacci", sp); + mpz_fib_ui (sp, mpz_get_ui (sp)); } + break; + + case 37: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 229 "calc.y" + { sp--; mpz_set_si (sp, + mpz_kronecker (sp, sp+1)); } + break; + + case 39: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 232 "calc.y" + { CHECK_UI ("Lucas number", sp); + mpz_lucnum_ui (sp, mpz_get_ui (sp)); } + break; + + case 40: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 234 "calc.y" + { mpz_nextprime (sp, sp); } + break; + + case 41: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 235 "calc.y" + { sp -= 2; mpz_powm (sp, sp, sp+1, sp+2); } + break; + + case 42: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 236 "calc.y" + { sp--; CHECK_UI ("Nth-root", sp+1); + mpz_root (sp, sp, mpz_get_ui (sp+1)); } + break; + + case 43: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 238 "calc.y" + { mpz_sqrt (sp, sp); } + break; + + case 44: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 240 "calc.y" + { + sp++; +@@ -1999,8 +1937,7 @@ + break; + + case 45: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 246 "calc.y" + { + sp++; +@@ -2014,23 +1951,20 @@ + break; + + case 47: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 258 "calc.y" + { sp--; mpz_gcd (sp, sp, sp+1); } + break; + + case 49: +- +-/* Line 1810 of yacc.c */ ++/* Line 1787 of yacc.c */ + #line 262 "calc.y" + { sp--; mpz_lcm (sp, sp, sp+1); } + break; + + +- +-/* Line 1810 of yacc.c */ +-#line 2034 "calc.c" ++/* Line 1787 of yacc.c */ ++#line 1968 "calc.c" + default: break; + } + /* User semantic actions sometimes alter yychar, and that requires +@@ -2193,7 +2127,9 @@ + YY_STACK_PRINT (yyss, yyssp); + } + ++ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + *++yyvsp = yylval; ++ YY_IGNORE_MAYBE_UNINITIALIZED_END + + + /* Shift the error token. */ +@@ -2259,8 +2195,7 @@ + } + + +- +-/* Line 2071 of yacc.c */ ++/* Line 2050 of yacc.c */ + #line 264 "calc.y" + + +@@ -2317,4 +2252,3 @@ + + return yyparse (); + } +- +diff -rNU3 dist.orig/demos/calc/calc.h dist.nbsd/demos/calc/calc.h +--- dist.orig/demos/calc/calc.h Mon May 20 15:00:17 2013 ++++ dist.nbsd/demos/calc/calc.h Wed Feb 19 16:34:37 2014 +@@ -1,8 +1,8 @@ +-/* A Bison parser, made by GNU Bison 2.5.1. */ ++/* A Bison parser, made by GNU Bison 2.7.12-4996. */ + + /* Bison interface for Yacc-like parsers in C + +- Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc. ++ Copyright (C) 1984, 1989-1990, 2000-2013 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 +@@ -30,6 +30,15 @@ + This special exception was added by the Free Software Foundation in + version 2.2 of Bison. */ + ++#ifndef YY_YY_CALC_H_INCLUDED ++# define YY_YY_CALC_H_INCLUDED ++/* Enabling traces. */ ++#ifndef YYDEBUG ++# define YYDEBUG 0 ++#endif ++#if YYDEBUG ++extern int yydebug; ++#endif + + /* Tokens. */ + #ifndef YYTOKENTYPE +@@ -99,21 +108,18 @@ + + + +- + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE + { +- +-/* Line 2072 of yacc.c */ ++/* Line 2053 of yacc.c */ + #line 142 "calc.y" + + char *str; + int var; + + +- +-/* Line 2072 of yacc.c */ +-#line 117 "calc.h" ++/* Line 2053 of yacc.c */ ++#line 123 "calc.h" + } YYSTYPE; + # define YYSTYPE_IS_TRIVIAL 1 + # define yystype YYSTYPE /* obsolescent; will be withdrawn */ +@@ -122,4 +128,18 @@ + + extern YYSTYPE yylval; + ++#ifdef YYPARSE_PARAM ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void *YYPARSE_PARAM); ++#else ++int yyparse (); ++#endif ++#else /* ! YYPARSE_PARAM */ ++#if defined __STDC__ || defined __cplusplus ++int yyparse (void); ++#else ++int yyparse (); ++#endif ++#endif /* ! YYPARSE_PARAM */ + ++#endif /* !YY_YY_CALC_H_INCLUDED */ +Binary files dist.orig/doc/gmp.info and dist.nbsd/doc/gmp.info differ +Binary files dist.orig/doc/gmp.info-1 and dist.nbsd/doc/gmp.info-1 differ +Binary files dist.orig/doc/gmp.info-2 and dist.nbsd/doc/gmp.info-2 differ +diff -rNU3 dist.orig/doc/gmp.texi dist.nbsd/doc/gmp.texi +--- dist.orig/doc/gmp.texi Mon May 20 14:59:56 2013 ++++ dist.nbsd/doc/gmp.texi Wed Feb 19 16:34:37 2014 +@@ -713,7 +713,7 @@ + other members, older or newer. The best idea is always to build GMP for the + exact machine type you intend to run it on. + +-The following CPUs have specific support. See @file{configure.in} for details ++The following CPUs have specific support. See @file{configure.ac} for details + of what code and compiler options they select. + + @itemize @bullet +@@ -2647,19 +2647,20 @@ + + @item Valgrind + @cindex Valgrind +-The valgrind program (@uref{http://valgrind.org/}) is a memory +-checker for x86s. It translates and emulates machine instructions to do ++Valgrind (@uref{http://valgrind.org/}) is a memory checker for x86, ARM, MIPS, ++PowerPC, and S/390. It translates and emulates machine instructions to do + strong checks for uninitialized data (at the level of individual bits), memory + accesses through bad pointers, and memory leaks. + +-Recent versions of Valgrind are getting support for MMX and SSE/SSE2 +-instructions, for past versions GMP will need to be configured not to use +-those, i.e.@: for an x86 without them (for instance plain @samp{i486}). ++Valgrind does not always support every possible instruction, in particular ++ones recently added to an ISA. Valgrind might therefore be incompatible with ++a recent GMP or even a less recent GMP which is compiled using a recent GCC. + + GMP's assembly code sometimes promotes a read of the limbs to some larger size, + for efficiency. GMP will do this even at the start and end of a multilimb +-operand, using naturaly aligned operations on the larger type. This may lead +-to benign reads outside of allocated areas, triggering complants from Valgrind. ++operand, using naturally aligned operations on the larger type. This may lead ++to benign reads outside of allocated areas, triggering complaints from ++Valgrind. Valgrind's option @samp{--partial-loads-ok=yes} should help. + + @item Other Problems + Any suspected bug in GMP itself should be isolated to make sure it's not an +@@ -2882,9 +2883,12 @@ + Please do not send core dumps, executables or @command{strace}s. + + @item +-The configuration options you used when building GMP, if any. ++The @samp{configure} options you used when building GMP, if any. + + @item ++The output from @samp{configure}, as printed to stdout, with any options used. ++ ++@item + The name of the compiler and its version. For @command{gcc}, get the version + with @samp{gcc -v}, otherwise perhaps @samp{what `which cc`}, or similar. + +@@ -3030,19 +3034,19 @@ + These functions assign new values to already initialized integers + (@pxref{Initializing Integers}). + +-@deftypefun void mpz_set (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_set (mpz_t @var{rop}, const mpz_t @var{op}) + @deftypefunx void mpz_set_ui (mpz_t @var{rop}, unsigned long int @var{op}) + @deftypefunx void mpz_set_si (mpz_t @var{rop}, signed long int @var{op}) + @deftypefunx void mpz_set_d (mpz_t @var{rop}, double @var{op}) +-@deftypefunx void mpz_set_q (mpz_t @var{rop}, mpq_t @var{op}) +-@deftypefunx void mpz_set_f (mpz_t @var{rop}, mpf_t @var{op}) ++@deftypefunx void mpz_set_q (mpz_t @var{rop}, const mpq_t @var{op}) ++@deftypefunx void mpz_set_f (mpz_t @var{rop}, const mpf_t @var{op}) + Set the value of @var{rop} from @var{op}. + + @code{mpz_set_d}, @code{mpz_set_q} and @code{mpz_set_f} truncate @var{op} to + make it an integer. + @end deftypefun + +-@deftypefun int mpz_set_str (mpz_t @var{rop}, char *@var{str}, int @var{base}) ++@deftypefun int mpz_set_str (mpz_t @var{rop}, const char *@var{str}, int @var{base}) + Set the value of @var{rop} from @var{str}, a null-terminated C string in base + @var{base}. White space is allowed in the string, and is simply ignored. + +@@ -3101,7 +3105,7 @@ + integer functions. Don't use an initialize-and-set function on a variable + already initialized! + +-@deftypefun void mpz_init_set (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_init_set (mpz_t @var{rop}, const mpz_t @var{op}) + @deftypefunx void mpz_init_set_ui (mpz_t @var{rop}, unsigned long int @var{op}) + @deftypefunx void mpz_init_set_si (mpz_t @var{rop}, signed long int @var{op}) + @deftypefunx void mpz_init_set_d (mpz_t @var{rop}, double @var{op}) +@@ -3109,7 +3113,7 @@ + @var{op}. + @end deftypefun + +-@deftypefun int mpz_init_set_str (mpz_t @var{rop}, char *@var{str}, int @var{base}) ++@deftypefun int mpz_init_set_str (mpz_t @var{rop}, const char *@var{str}, int @var{base}) + Initialize @var{rop} and set its value like @code{mpz_set_str} (see its + documentation above for details). + +@@ -3129,7 +3133,7 @@ + types. Functions for converting @emph{to} GMP integers are described in + @ref{Assigning Integers} and @ref{I/O of Integers}. + +-@deftypefun {unsigned long int} mpz_get_ui (mpz_t @var{op}) ++@deftypefun {unsigned long int} mpz_get_ui (const mpz_t @var{op}) + Return the value of @var{op} as an @code{unsigned long}. + + If @var{op} is too big to fit an @code{unsigned long} then just the least +@@ -3137,7 +3141,7 @@ + only the absolute value is used. + @end deftypefun + +-@deftypefun {signed long int} mpz_get_si (mpz_t @var{op}) ++@deftypefun {signed long int} mpz_get_si (const mpz_t @var{op}) + If @var{op} fits into a @code{signed long int} return the value of @var{op}. + Otherwise return the least significant part of @var{op}, with the same sign + as @var{op}. +@@ -3147,7 +3151,7 @@ + the function @code{mpz_fits_slong_p}. + @end deftypefun + +-@deftypefun double mpz_get_d (mpz_t @var{op}) ++@deftypefun double mpz_get_d (const mpz_t @var{op}) + Convert @var{op} to a @code{double}, truncating if necessary (i.e.@: rounding + towards zero). + +@@ -3156,7 +3160,7 @@ + may or may not occur. + @end deftypefun + +-@deftypefun double mpz_get_d_2exp (signed long int *@var{exp}, mpz_t @var{op}) ++@deftypefun double mpz_get_d_2exp (signed long int *@var{exp}, const mpz_t @var{op}) + Convert @var{op} to a @code{double}, truncating if necessary (i.e.@: rounding + towards zero), and returning the exponent separately. + +@@ -3170,7 +3174,7 @@ + Functions,,, libc, The GNU C Library Reference Manual}). + @end deftypefun + +-@deftypefun {char *} mpz_get_str (char *@var{str}, int @var{base}, mpz_t @var{op}) ++@deftypefun {char *} mpz_get_str (char *@var{str}, int @var{base}, const mpz_t @var{op}) + Convert @var{op} to a string of digits in base @var{base}. The base argument + may vary from 2 to 62 or from @minus{}2 to @minus{}36. + +@@ -3201,45 +3205,45 @@ + @cindex Integer arithmetic functions + @cindex Arithmetic functions + +-@deftypefun void mpz_add (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefunx void mpz_add_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpz_add (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefunx void mpz_add_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @math{@var{op1} + @var{op2}}. + @end deftypefun + +-@deftypefun void mpz_sub (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefunx void mpz_sub_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long int @var{op2}) +-@deftypefunx void mpz_ui_sub (mpz_t @var{rop}, unsigned long int @var{op1}, mpz_t @var{op2}) ++@deftypefun void mpz_sub (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefunx void mpz_sub_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefunx void mpz_ui_sub (mpz_t @var{rop}, unsigned long int @var{op1}, const mpz_t @var{op2}) + Set @var{rop} to @var{op1} @minus{} @var{op2}. + @end deftypefun + +-@deftypefun void mpz_mul (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefunx void mpz_mul_si (mpz_t @var{rop}, mpz_t @var{op1}, long int @var{op2}) +-@deftypefunx void mpz_mul_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpz_mul (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefunx void mpz_mul_si (mpz_t @var{rop}, const mpz_t @var{op1}, long int @var{op2}) ++@deftypefunx void mpz_mul_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @math{@var{op1} @GMPtimes{} @var{op2}}. + @end deftypefun + +-@deftypefun void mpz_addmul (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefunx void mpz_addmul_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpz_addmul (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefunx void mpz_addmul_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @math{@var{rop} + @var{op1} @GMPtimes{} @var{op2}}. + @end deftypefun + +-@deftypefun void mpz_submul (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefunx void mpz_submul_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpz_submul (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefunx void mpz_submul_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @math{@var{rop} - @var{op1} @GMPtimes{} @var{op2}}. + @end deftypefun + +-@deftypefun void mpz_mul_2exp (mpz_t @var{rop}, mpz_t @var{op1}, mp_bitcnt_t @var{op2}) ++@deftypefun void mpz_mul_2exp (mpz_t @var{rop}, const mpz_t @var{op1}, mp_bitcnt_t @var{op2}) + @cindex Bit shift left + Set @var{rop} to @m{@var{op1} \times 2^{op2}, @var{op1} times 2 raised to + @var{op2}}. This operation can also be defined as a left shift by @var{op2} + bits. + @end deftypefun + +-@deftypefun void mpz_neg (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_neg (mpz_t @var{rop}, const mpz_t @var{op}) + Set @var{rop} to @minus{}@var{op}. + @end deftypefun + +-@deftypefun void mpz_abs (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_abs (mpz_t @var{rop}, const mpz_t @var{op}) + Set @var{rop} to the absolute value of @var{op}. + @end deftypefun + +@@ -3260,43 +3264,43 @@ + @c between each, and seem to let tex do a better job of page breaks than an + @c @sp 1 in the middle of one big set. + +-@deftypefun void mpz_cdiv_q (mpz_t @var{q}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_cdiv_r (mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_cdiv_qr (mpz_t @var{q}, mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) ++@deftypefun void mpz_cdiv_q (mpz_t @var{q}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_cdiv_r (mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_cdiv_qr (mpz_t @var{q}, mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) + @maybepagebreak +-@deftypefunx {unsigned long int} mpz_cdiv_q_ui (mpz_t @var{q}, mpz_t @var{n}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_cdiv_r_ui (mpz_t @var{r}, mpz_t @var{n}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_cdiv_qr_ui (mpz_t @var{q}, mpz_t @var{r}, @w{mpz_t @var{n}}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_cdiv_ui (mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_cdiv_q_ui (mpz_t @var{q}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_cdiv_r_ui (mpz_t @var{r}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_cdiv_qr_ui (mpz_t @var{q}, mpz_t @var{r}, @w{const mpz_t @var{n}}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_cdiv_ui (const mpz_t @var{n}, @w{unsigned long int @var{d}}) + @maybepagebreak +-@deftypefunx void mpz_cdiv_q_2exp (mpz_t @var{q}, mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) +-@deftypefunx void mpz_cdiv_r_2exp (mpz_t @var{r}, mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) ++@deftypefunx void mpz_cdiv_q_2exp (mpz_t @var{q}, const mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) ++@deftypefunx void mpz_cdiv_r_2exp (mpz_t @var{r}, const mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) + @end deftypefun + +-@deftypefun void mpz_fdiv_q (mpz_t @var{q}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_fdiv_r (mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_fdiv_qr (mpz_t @var{q}, mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) ++@deftypefun void mpz_fdiv_q (mpz_t @var{q}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_fdiv_r (mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_fdiv_qr (mpz_t @var{q}, mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) + @maybepagebreak +-@deftypefunx {unsigned long int} mpz_fdiv_q_ui (mpz_t @var{q}, mpz_t @var{n}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_fdiv_r_ui (mpz_t @var{r}, mpz_t @var{n}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_fdiv_qr_ui (mpz_t @var{q}, mpz_t @var{r}, @w{mpz_t @var{n}}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_fdiv_ui (mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_fdiv_q_ui (mpz_t @var{q}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_fdiv_r_ui (mpz_t @var{r}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_fdiv_qr_ui (mpz_t @var{q}, mpz_t @var{r}, @w{const mpz_t @var{n}}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_fdiv_ui (const mpz_t @var{n}, @w{unsigned long int @var{d}}) + @maybepagebreak +-@deftypefunx void mpz_fdiv_q_2exp (mpz_t @var{q}, mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) +-@deftypefunx void mpz_fdiv_r_2exp (mpz_t @var{r}, mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) ++@deftypefunx void mpz_fdiv_q_2exp (mpz_t @var{q}, const mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) ++@deftypefunx void mpz_fdiv_r_2exp (mpz_t @var{r}, const mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) + @end deftypefun + +-@deftypefun void mpz_tdiv_q (mpz_t @var{q}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_tdiv_r (mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_tdiv_qr (mpz_t @var{q}, mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) ++@deftypefun void mpz_tdiv_q (mpz_t @var{q}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_tdiv_r (mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_tdiv_qr (mpz_t @var{q}, mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) + @maybepagebreak +-@deftypefunx {unsigned long int} mpz_tdiv_q_ui (mpz_t @var{q}, mpz_t @var{n}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_tdiv_r_ui (mpz_t @var{r}, mpz_t @var{n}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_tdiv_qr_ui (mpz_t @var{q}, mpz_t @var{r}, @w{mpz_t @var{n}}, @w{unsigned long int @var{d}}) +-@deftypefunx {unsigned long int} mpz_tdiv_ui (mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_tdiv_q_ui (mpz_t @var{q}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_tdiv_r_ui (mpz_t @var{r}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_tdiv_qr_ui (mpz_t @var{q}, mpz_t @var{r}, @w{const mpz_t @var{n}}, @w{unsigned long int @var{d}}) ++@deftypefunx {unsigned long int} mpz_tdiv_ui (const mpz_t @var{n}, @w{unsigned long int @var{d}}) + @maybepagebreak +-@deftypefunx void mpz_tdiv_q_2exp (mpz_t @var{q}, mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) +-@deftypefunx void mpz_tdiv_r_2exp (mpz_t @var{r}, mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) ++@deftypefunx void mpz_tdiv_q_2exp (mpz_t @var{q}, const mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) ++@deftypefunx void mpz_tdiv_r_2exp (mpz_t @var{r}, const mpz_t @var{n}, @w{mp_bitcnt_t @var{b}}) + @cindex Bit shift right + + @sp 1 +@@ -3344,8 +3348,8 @@ + effectively treats @var{n} as sign and magnitude. + @end deftypefun + +-@deftypefun void mpz_mod (mpz_t @var{r}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx {unsigned long int} mpz_mod_ui (mpz_t @var{r}, mpz_t @var{n}, @w{unsigned long int @var{d}}) ++@deftypefun void mpz_mod (mpz_t @var{r}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx {unsigned long int} mpz_mod_ui (mpz_t @var{r}, const mpz_t @var{n}, @w{unsigned long int @var{d}}) + Set @var{r} to @var{n} @code{mod} @var{d}. The sign of the divisor is + ignored; the result is always non-negative. + +@@ -3354,8 +3358,8 @@ + the return value is wanted. + @end deftypefun + +-@deftypefun void mpz_divexact (mpz_t @var{q}, mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx void mpz_divexact_ui (mpz_t @var{q}, mpz_t @var{n}, unsigned long @var{d}) ++@deftypefun void mpz_divexact (mpz_t @var{q}, const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx void mpz_divexact_ui (mpz_t @var{q}, const mpz_t @var{n}, unsigned long @var{d}) + @cindex Exact division functions + Set @var{q} to @var{n}/@var{d}. These functions produce correct results only + when it is known in advance that @var{d} divides @var{n}. +@@ -3365,9 +3369,9 @@ + rational to lowest terms. + @end deftypefun + +-@deftypefun int mpz_divisible_p (mpz_t @var{n}, mpz_t @var{d}) +-@deftypefunx int mpz_divisible_ui_p (mpz_t @var{n}, unsigned long int @var{d}) +-@deftypefunx int mpz_divisible_2exp_p (mpz_t @var{n}, mp_bitcnt_t @var{b}) ++@deftypefun int mpz_divisible_p (const mpz_t @var{n}, const mpz_t @var{d}) ++@deftypefunx int mpz_divisible_ui_p (const mpz_t @var{n}, unsigned long int @var{d}) ++@deftypefunx int mpz_divisible_2exp_p (const mpz_t @var{n}, mp_bitcnt_t @var{b}) + @cindex Divisibility functions + Return non-zero if @var{n} is exactly divisible by @var{d}, or in the case of + @code{mpz_divisible_2exp_p} by @m{2^b,2^@var{b}}. +@@ -3378,9 +3382,9 @@ + that only 0 is considered divisible by 0. + @end deftypefun + +-@deftypefun int mpz_congruent_p (mpz_t @var{n}, mpz_t @var{c}, mpz_t @var{d}) +-@deftypefunx int mpz_congruent_ui_p (mpz_t @var{n}, unsigned long int @var{c}, unsigned long int @var{d}) +-@deftypefunx int mpz_congruent_2exp_p (mpz_t @var{n}, mpz_t @var{c}, mp_bitcnt_t @var{b}) ++@deftypefun int mpz_congruent_p (const mpz_t @var{n}, const mpz_t @var{c}, const mpz_t @var{d}) ++@deftypefunx int mpz_congruent_ui_p (const mpz_t @var{n}, unsigned long int @var{c}, unsigned long int @var{d}) ++@deftypefunx int mpz_congruent_2exp_p (const mpz_t @var{n}, const mpz_t @var{c}, mp_bitcnt_t @var{b}) + @cindex Divisibility functions + @cindex Congruence functions + Return non-zero if @var{n} is congruent to @var{c} modulo @var{d}, or in the +@@ -3401,8 +3405,8 @@ + @cindex Exponentiation functions + @cindex Powering functions + +-@deftypefun void mpz_powm (mpz_t @var{rop}, mpz_t @var{base}, mpz_t @var{exp}, mpz_t @var{mod}) +-@deftypefunx void mpz_powm_ui (mpz_t @var{rop}, mpz_t @var{base}, unsigned long int @var{exp}, mpz_t @var{mod}) ++@deftypefun void mpz_powm (mpz_t @var{rop}, const mpz_t @var{base}, const mpz_t @var{exp}, const mpz_t @var{mod}) ++@deftypefunx void mpz_powm_ui (mpz_t @var{rop}, const mpz_t @var{base}, unsigned long int @var{exp}, const mpz_t @var{mod}) + Set @var{rop} to @m{base^{exp} \bmod mod, (@var{base} raised to @var{exp}) + modulo @var{mod}}. + +@@ -3411,7 +3415,7 @@ + If an inverse doesn't exist then a divide by zero is raised. + @end deftypefun + +-@deftypefun void mpz_powm_sec (mpz_t @var{rop}, mpz_t @var{base}, mpz_t @var{exp}, mpz_t @var{mod}) ++@deftypefun void mpz_powm_sec (mpz_t @var{rop}, const mpz_t @var{base}, const mpz_t @var{exp}, const mpz_t @var{mod}) + Set @var{rop} to @m{base^{exp} \bmod mod, (@var{base} raised to @var{exp}) + modulo @var{mod}}. + +@@ -3424,7 +3428,7 @@ + resilience to side-channel attacks is desired. + @end deftypefun + +-@deftypefun void mpz_pow_ui (mpz_t @var{rop}, mpz_t @var{base}, unsigned long int @var{exp}) ++@deftypefun void mpz_pow_ui (mpz_t @var{rop}, const mpz_t @var{base}, unsigned long int @var{exp}) + @deftypefunx void mpz_ui_pow_ui (mpz_t @var{rop}, unsigned long int @var{base}, unsigned long int @var{exp}) + Set @var{rop} to @m{base^{exp}, @var{base} raised to @var{exp}}. The case + @math{0^0} yields 1. +@@ -3437,25 +3441,25 @@ + @cindex Integer root functions + @cindex Root extraction functions + +-@deftypefun int mpz_root (mpz_t @var{rop}, mpz_t @var{op}, unsigned long int @var{n}) ++@deftypefun int mpz_root (mpz_t @var{rop}, const mpz_t @var{op}, unsigned long int @var{n}) + Set @var{rop} to @m{\lfloor\root n \of {op}\rfloor@C{},} the truncated integer + part of the @var{n}th root of @var{op}. Return non-zero if the computation + was exact, i.e., if @var{op} is @var{rop} to the @var{n}th power. + @end deftypefun + +-@deftypefun void mpz_rootrem (mpz_t @var{root}, mpz_t @var{rem}, mpz_t @var{u}, unsigned long int @var{n}) ++@deftypefun void mpz_rootrem (mpz_t @var{root}, mpz_t @var{rem}, const mpz_t @var{u}, unsigned long int @var{n}) + Set @var{root} to @m{\lfloor\root n \of {u}\rfloor@C{},} the truncated + integer part of the @var{n}th root of @var{u}. Set @var{rem} to the + remainder, @m{(@var{u} - @var{root}^n), + @var{u}@minus{}@var{root}**@var{n}}. + @end deftypefun + +-@deftypefun void mpz_sqrt (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_sqrt (mpz_t @var{rop}, const mpz_t @var{op}) + Set @var{rop} to @m{\lfloor\sqrt{@var{op}}\rfloor@C{},} the truncated + integer part of the square root of @var{op}. + @end deftypefun + +-@deftypefun void mpz_sqrtrem (mpz_t @var{rop1}, mpz_t @var{rop2}, mpz_t @var{op}) ++@deftypefun void mpz_sqrtrem (mpz_t @var{rop1}, mpz_t @var{rop2}, const mpz_t @var{op}) + Set @var{rop1} to @m{\lfloor\sqrt{@var{op}}\rfloor, the truncated integer part + of the square root of @var{op}}, like @code{mpz_sqrt}. Set @var{rop2} to the + remainder @m{(@var{op} - @var{rop1}^2), +@@ -3466,7 +3470,7 @@ + undefined. + @end deftypefun + +-@deftypefun int mpz_perfect_power_p (mpz_t @var{op}) ++@deftypefun int mpz_perfect_power_p (const mpz_t @var{op}) + @cindex Perfect power functions + @cindex Root testing functions + Return non-zero if @var{op} is a perfect power, i.e., if there exist integers +@@ -3478,7 +3482,7 @@ + perfect powers. + @end deftypefun + +-@deftypefun int mpz_perfect_square_p (mpz_t @var{op}) ++@deftypefun int mpz_perfect_square_p (const mpz_t @var{op}) + @cindex Perfect square functions + @cindex Root testing functions + Return non-zero if @var{op} is a perfect square, i.e., if the square root of +@@ -3492,7 +3496,7 @@ + @section Number Theoretic Functions + @cindex Number theoretic functions + +-@deftypefun int mpz_probab_prime_p (mpz_t @var{n}, int @var{reps}) ++@deftypefun int mpz_probab_prime_p (const mpz_t @var{n}, int @var{reps}) + @cindex Prime testing functions + @cindex Probable prime testing functions + Determine whether @var{n} is prime. Return 2 if @var{n} is definitely prime, +@@ -3511,7 +3515,7 @@ + which pass are considered probably prime. + @end deftypefun + +-@deftypefun void mpz_nextprime (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_nextprime (mpz_t @var{rop}, const mpz_t @var{op}) + @cindex Next prime function + Set @var{rop} to the next prime greater than @var{op}. + +@@ -3522,7 +3526,7 @@ + + @c mpz_prime_p not implemented as of gmp 3.0. + +-@c @deftypefun int mpz_prime_p (mpz_t @var{n}) ++@c @deftypefun int mpz_prime_p (const mpz_t @var{n}) + @c Return non-zero if @var{n} is prime and zero if @var{n} is a non-prime. + @c This function is far slower than @code{mpz_probab_prime_p}, but then it + @c never returns non-zero for composite numbers. +@@ -3533,7 +3537,7 @@ + @c prime, if the @var{reps} argument is in the suggested range.) + @c @end deftypefun + +-@deftypefun void mpz_gcd (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) ++@deftypefun void mpz_gcd (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) + @cindex Greatest common divisor functions + @cindex GCD functions + Set @var{rop} to the greatest common divisor of @var{op1} and @var{op2}. The +@@ -3541,7 +3545,7 @@ + Except if both inputs are zero; then this function defines @math{gcd(0,0) = 0}. + @end deftypefun + +-@deftypefun {unsigned long int} mpz_gcd_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun {unsigned long int} mpz_gcd_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long int @var{op2}) + Compute the greatest common divisor of @var{op1} and @var{op2}. If + @var{rop} is not @code{NULL}, store the result there. + +@@ -3551,7 +3555,7 @@ + is non-zero. + @end deftypefun + +-@deftypefun void mpz_gcdext (mpz_t @var{g}, mpz_t @var{s}, mpz_t @var{t}, mpz_t @var{a}, mpz_t @var{b}) ++@deftypefun void mpz_gcdext (mpz_t @var{g}, mpz_t @var{s}, mpz_t @var{t}, const mpz_t @var{a}, const mpz_t @var{b}) + @cindex Extended GCD + @cindex GCD extended + Set @var{g} to the greatest common divisor of @var{a} and @var{b}, and in +@@ -3578,8 +3582,8 @@ + If @var{t} is @code{NULL} then that value is not computed. + @end deftypefun + +-@deftypefun void mpz_lcm (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefunx void mpz_lcm_ui (mpz_t @var{rop}, mpz_t @var{op1}, unsigned long @var{op2}) ++@deftypefun void mpz_lcm (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefunx void mpz_lcm_ui (mpz_t @var{rop}, const mpz_t @var{op1}, unsigned long @var{op2}) + @cindex Least common multiple functions + @cindex LCM functions + Set @var{rop} to the least common multiple of @var{op1} and @var{op2}. +@@ -3587,7 +3591,7 @@ + @var{op2}. @var{rop} will be zero if either @var{op1} or @var{op2} is zero. + @end deftypefun + +-@deftypefun int mpz_invert (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) ++@deftypefun int mpz_invert (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) + @cindex Modular inverse functions + @cindex Inverse modulo functions + Compute the inverse of @var{op1} modulo @var{op2} and put the result in +@@ -3597,24 +3601,24 @@ + this function is undefined when @var{op2} is zero. + @end deftypefun + +-@deftypefun int mpz_jacobi (mpz_t @var{a}, mpz_t @var{b}) ++@deftypefun int mpz_jacobi (const mpz_t @var{a}, const mpz_t @var{b}) + @cindex Jacobi symbol functions + Calculate the Jacobi symbol @m{\left(a \over b\right), + (@var{a}/@var{b})}. This is defined only for @var{b} odd. + @end deftypefun + +-@deftypefun int mpz_legendre (mpz_t @var{a}, mpz_t @var{p}) ++@deftypefun int mpz_legendre (const mpz_t @var{a}, const mpz_t @var{p}) + @cindex Legendre symbol functions + Calculate the Legendre symbol @m{\left(a \over p\right), + (@var{a}/@var{p})}. This is defined only for @var{p} an odd positive + prime, and for such @var{p} it's identical to the Jacobi symbol. + @end deftypefun + +-@deftypefun int mpz_kronecker (mpz_t @var{a}, mpz_t @var{b}) +-@deftypefunx int mpz_kronecker_si (mpz_t @var{a}, long @var{b}) +-@deftypefunx int mpz_kronecker_ui (mpz_t @var{a}, unsigned long @var{b}) +-@deftypefunx int mpz_si_kronecker (long @var{a}, mpz_t @var{b}) +-@deftypefunx int mpz_ui_kronecker (unsigned long @var{a}, mpz_t @var{b}) ++@deftypefun int mpz_kronecker (const mpz_t @var{a}, const mpz_t @var{b}) ++@deftypefunx int mpz_kronecker_si (const mpz_t @var{a}, long @var{b}) ++@deftypefunx int mpz_kronecker_ui (const mpz_t @var{a}, unsigned long @var{b}) ++@deftypefunx int mpz_si_kronecker (long @var{a}, const mpz_t @var{b}) ++@deftypefunx int mpz_ui_kronecker (unsigned long @var{a}, const mpz_t @var{b}) + @cindex Kronecker symbol functions + Calculate the Jacobi symbol @m{\left(a \over b\right), + (@var{a}/@var{b})} with the Kronecker extension @m{\left(a \over +@@ -3630,7 +3634,7 @@ + @file{demos/qcn.c} which uses @code{mpz_kronecker_ui}. + @end deftypefun + +-@deftypefun {mp_bitcnt_t} mpz_remove (mpz_t @var{rop}, mpz_t @var{op}, mpz_t @var{f}) ++@deftypefun {mp_bitcnt_t} mpz_remove (mpz_t @var{rop}, const mpz_t @var{op}, const mpz_t @var{f}) + @cindex Remove factor functions + @cindex Factor removal functions + Remove all occurrences of the factor @var{f} from @var{op} and store the +@@ -3653,7 +3657,7 @@ + prime numbers @math{@le{}@var{n}}. + @end deftypefun + +-@deftypefun void mpz_bin_ui (mpz_t @var{rop}, mpz_t @var{n}, unsigned long int @var{k}) ++@deftypefun void mpz_bin_ui (mpz_t @var{rop}, const mpz_t @var{n}, unsigned long int @var{k}) + @deftypefunx void mpz_bin_uiui (mpz_t @var{rop}, unsigned long int @var{n}, @w{unsigned long int @var{k}}) + @cindex Binomial coefficient functions + Compute the binomial coefficient @m{\left({n}\atop{k}\right), @var{n} over +@@ -3702,10 +3706,10 @@ + @cindex Integer comparison functions + @cindex Comparison functions + +-@deftypefn Function int mpz_cmp (mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefnx Function int mpz_cmp_d (mpz_t @var{op1}, double @var{op2}) +-@deftypefnx Macro int mpz_cmp_si (mpz_t @var{op1}, signed long int @var{op2}) +-@deftypefnx Macro int mpz_cmp_ui (mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefn Function int mpz_cmp (const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefnx Function int mpz_cmp_d (const mpz_t @var{op1}, double @var{op2}) ++@deftypefnx Macro int mpz_cmp_si (const mpz_t @var{op1}, signed long int @var{op2}) ++@deftypefnx Macro int mpz_cmp_ui (const mpz_t @var{op1}, unsigned long int @var{op2}) + Compare @var{op1} and @var{op2}. Return a positive value if @math{@var{op1} > + @var{op2}}, zero if @math{@var{op1} = @var{op2}}, or a negative value if + @math{@var{op1} < @var{op2}}. +@@ -3715,9 +3719,9 @@ + but results are undefined for a NaN. + @end deftypefn + +-@deftypefn Function int mpz_cmpabs (mpz_t @var{op1}, mpz_t @var{op2}) +-@deftypefnx Function int mpz_cmpabs_d (mpz_t @var{op1}, double @var{op2}) +-@deftypefnx Function int mpz_cmpabs_ui (mpz_t @var{op1}, unsigned long int @var{op2}) ++@deftypefn Function int mpz_cmpabs (const mpz_t @var{op1}, const mpz_t @var{op2}) ++@deftypefnx Function int mpz_cmpabs_d (const mpz_t @var{op1}, double @var{op2}) ++@deftypefnx Function int mpz_cmpabs_ui (const mpz_t @var{op1}, unsigned long int @var{op2}) + Compare the absolute values of @var{op1} and @var{op2}. Return a positive + value if @math{@GMPabs{@var{op1}} > @GMPabs{@var{op2}}}, zero if + @math{@GMPabs{@var{op1}} = @GMPabs{@var{op2}}}, or a negative value if +@@ -3727,7 +3731,7 @@ + for a NaN. + @end deftypefn + +-@deftypefn Macro int mpz_sgn (mpz_t @var{op}) ++@deftypefn Macro int mpz_sgn (const mpz_t @var{op}) + @cindex Sign tests + @cindex Integer sign tests + Return @math{+1} if @math{@var{op} > 0}, 0 if @math{@var{op} = 0}, and +@@ -3750,30 +3754,30 @@ + sign-magnitude is the actual implementation). The least significant bit is + number 0. + +-@deftypefun void mpz_and (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) ++@deftypefun void mpz_and (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) + Set @var{rop} to @var{op1} bitwise-and @var{op2}. + @end deftypefun + +-@deftypefun void mpz_ior (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) ++@deftypefun void mpz_ior (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) + Set @var{rop} to @var{op1} bitwise inclusive-or @var{op2}. + @end deftypefun + +-@deftypefun void mpz_xor (mpz_t @var{rop}, mpz_t @var{op1}, mpz_t @var{op2}) ++@deftypefun void mpz_xor (mpz_t @var{rop}, const mpz_t @var{op1}, const mpz_t @var{op2}) + Set @var{rop} to @var{op1} bitwise exclusive-or @var{op2}. + @end deftypefun + +-@deftypefun void mpz_com (mpz_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpz_com (mpz_t @var{rop}, const mpz_t @var{op}) + Set @var{rop} to the one's complement of @var{op}. + @end deftypefun + +-@deftypefun {mp_bitcnt_t} mpz_popcount (mpz_t @var{op}) ++@deftypefun {mp_bitcnt_t} mpz_popcount (const mpz_t @var{op}) + If @math{@var{op}@ge{}0}, return the population count of @var{op}, which is the + number of 1 bits in the binary representation. If @math{@var{op}<0}, the + number of 1s is infinite, and the return value is the largest possible + @code{mp_bitcnt_t}. + @end deftypefun + +-@deftypefun {mp_bitcnt_t} mpz_hamdist (mpz_t @var{op1}, mpz_t @var{op2}) ++@deftypefun {mp_bitcnt_t} mpz_hamdist (const mpz_t @var{op1}, const mpz_t @var{op2}) + If @var{op1} and @var{op2} are both @math{@ge{}0} or both @math{<0}, return the + hamming distance between the two operands, which is the number of bit positions + where @var{op1} and @var{op2} have different bit values. If one operand is +@@ -3781,8 +3785,8 @@ + infinite, and the return value is the largest possible @code{mp_bitcnt_t}. + @end deftypefun + +-@deftypefun {mp_bitcnt_t} mpz_scan0 (mpz_t @var{op}, mp_bitcnt_t @var{starting_bit}) +-@deftypefunx {mp_bitcnt_t} mpz_scan1 (mpz_t @var{op}, mp_bitcnt_t @var{starting_bit}) ++@deftypefun {mp_bitcnt_t} mpz_scan0 (const mpz_t @var{op}, mp_bitcnt_t @var{starting_bit}) ++@deftypefunx {mp_bitcnt_t} mpz_scan1 (const mpz_t @var{op}, mp_bitcnt_t @var{starting_bit}) + @cindex Bit scanning functions + @cindex Scan bit functions + Scan @var{op}, starting from bit @var{starting_bit}, towards more significant +@@ -3809,7 +3813,7 @@ + Complement bit @var{bit_index} in @var{rop}. + @end deftypefun + +-@deftypefun int mpz_tstbit (mpz_t @var{op}, mp_bitcnt_t @var{bit_index}) ++@deftypefun int mpz_tstbit (const mpz_t @var{op}, mp_bitcnt_t @var{bit_index}) + Test bit @var{bit_index} in @var{op} and return 0 or 1 accordingly. + @end deftypefun + +@@ -3832,7 +3836,7 @@ + + See also @ref{Formatted Output} and @ref{Formatted Input}. + +-@deftypefun size_t mpz_out_str (FILE *@var{stream}, int @var{base}, mpz_t @var{op}) ++@deftypefun size_t mpz_out_str (FILE *@var{stream}, int @var{base}, const mpz_t @var{op}) + Output @var{op} on stdio stream @var{stream}, as a string of digits in base + @var{base}. The base argument may vary from 2 to 62 or from @minus{}2 to + @minus{}36. +@@ -3860,7 +3864,7 @@ + Return the number of bytes read, or if an error occurred, return 0. + @end deftypefun + +-@deftypefun size_t mpz_out_raw (FILE *@var{stream}, mpz_t @var{op}) ++@deftypefun size_t mpz_out_raw (FILE *@var{stream}, const mpz_t @var{op}) + Output @var{op} on stdio stream @var{stream}, in raw binary format. The + integer is written in a portable format, with 4 bytes of size information, and + that many bytes of limbs. Both the size and the limbs are written in +@@ -3907,7 +3911,7 @@ + invoking this function. + @end deftypefun + +-@deftypefun void mpz_urandomm (mpz_t @var{rop}, gmp_randstate_t @var{state}, mpz_t @var{n}) ++@deftypefun void mpz_urandomm (mpz_t @var{rop}, gmp_randstate_t @var{state}, const mpz_t @var{n}) + Generate a uniform random integer in the range 0 to @math{@var{n}-1}, + inclusive. + +@@ -3990,7 +3994,7 @@ + @code{8*sizeof(int)-INT_BIT}. + @end deftypefun + +-@deftypefun {void *} mpz_export (void *@var{rop}, size_t *@var{countp}, int @var{order}, size_t @var{size}, int @var{endian}, size_t @var{nails}, mpz_t @var{op}) ++@deftypefun {void *} mpz_export (void *@var{rop}, size_t *@var{countp}, int @var{order}, size_t @var{size}, int @var{endian}, size_t @var{nails}, const mpz_t @var{op}) + @cindex Integer export + @cindex Export + Fill @var{rop} with word data from @var{op}. +@@ -4041,24 +4045,24 @@ + @cindex Miscellaneous integer functions + @cindex Integer miscellaneous functions + +-@deftypefun int mpz_fits_ulong_p (mpz_t @var{op}) +-@deftypefunx int mpz_fits_slong_p (mpz_t @var{op}) +-@deftypefunx int mpz_fits_uint_p (mpz_t @var{op}) +-@deftypefunx int mpz_fits_sint_p (mpz_t @var{op}) +-@deftypefunx int mpz_fits_ushort_p (mpz_t @var{op}) +-@deftypefunx int mpz_fits_sshort_p (mpz_t @var{op}) ++@deftypefun int mpz_fits_ulong_p (const mpz_t @var{op}) ++@deftypefunx int mpz_fits_slong_p (const mpz_t @var{op}) ++@deftypefunx int mpz_fits_uint_p (const mpz_t @var{op}) ++@deftypefunx int mpz_fits_sint_p (const mpz_t @var{op}) ++@deftypefunx int mpz_fits_ushort_p (const mpz_t @var{op}) ++@deftypefunx int mpz_fits_sshort_p (const mpz_t @var{op}) + Return non-zero iff the value of @var{op} fits in an @code{unsigned long int}, + @code{signed long int}, @code{unsigned int}, @code{signed int}, @code{unsigned + short int}, or @code{signed short int}, respectively. Otherwise, return zero. + @end deftypefun + +-@deftypefn Macro int mpz_odd_p (mpz_t @var{op}) +-@deftypefnx Macro int mpz_even_p (mpz_t @var{op}) ++@deftypefn Macro int mpz_odd_p (const mpz_t @var{op}) ++@deftypefnx Macro int mpz_even_p (const mpz_t @var{op}) + Determine whether @var{op} is odd or even, respectively. Return non-zero if + yes, zero if no. These macros evaluate their argument more than once. + @end deftypefn + +-@deftypefun size_t mpz_sizeinbase (mpz_t @var{op}, int @var{base}) ++@deftypefun size_t mpz_sizeinbase (const mpz_t @var{op}, int @var{base}) + @cindex Size in digits + @cindex Digits in an integer + Return the size of @var{op} measured in number of digits in the given +@@ -4152,7 +4156,7 @@ + @code{_mpz_realloc} takes its size in limbs. + @end deftypefun + +-@deftypefun mp_limb_t mpz_getlimbn (mpz_t @var{op}, mp_size_t @var{n}) ++@deftypefun mp_limb_t mpz_getlimbn (const mpz_t @var{op}, mp_size_t @var{n}) + Return limb number @var{n} from @var{op}. The sign of @var{op} is ignored, + just the absolute value is used. The least significant limb is number 0. + +@@ -4161,7 +4165,7 @@ + @code{mpz_size(@var{op})-1}. + @end deftypefun + +-@deftypefun size_t mpz_size (mpz_t @var{op}) ++@deftypefun size_t mpz_size (const mpz_t @var{op}) + Return the size of @var{op} measured in number of limbs. If @var{op} is zero, + the returned value will be zero. + @c (@xref{Nomenclature}, for an explanation of the concept @dfn{limb}.) +@@ -4230,8 +4234,8 @@ + Free the space occupied by a NULL-terminated list of @code{mpq_t} variables. + @end deftypefun + +-@deftypefun void mpq_set (mpq_t @var{rop}, mpq_t @var{op}) +-@deftypefunx void mpq_set_z (mpq_t @var{rop}, mpz_t @var{op}) ++@deftypefun void mpq_set (mpq_t @var{rop}, const mpq_t @var{op}) ++@deftypefunx void mpq_set_z (mpq_t @var{rop}, const mpz_t @var{op}) + Assign @var{rop} from @var{op}. + @end deftypefun + +@@ -4242,7 +4246,7 @@ + @code{mpq_canonicalize} before any operations are performed on @var{rop}. + @end deftypefun + +-@deftypefun int mpq_set_str (mpq_t @var{rop}, char *@var{str}, int @var{base}) ++@deftypefun int mpq_set_str (mpq_t @var{rop}, const char *@var{str}, int @var{base}) + Set @var{rop} from a null-terminated string @var{str} in the given @var{base}. + + The string can be an integer like ``41'' or a fraction like ``41/152''. The +@@ -4274,7 +4278,7 @@ + @cindex Rational conversion functions + @cindex Conversion functions + +-@deftypefun double mpq_get_d (mpq_t @var{op}) ++@deftypefun double mpq_get_d (const mpq_t @var{op}) + Convert @var{op} to a @code{double}, truncating if necessary (i.e.@: rounding + towards zero). + +@@ -4285,12 +4289,12 @@ + @end deftypefun + + @deftypefun void mpq_set_d (mpq_t @var{rop}, double @var{op}) +-@deftypefunx void mpq_set_f (mpq_t @var{rop}, mpf_t @var{op}) ++@deftypefunx void mpq_set_f (mpq_t @var{rop}, const mpf_t @var{op}) + Set @var{rop} to the value of @var{op}. There is no rounding, this conversion + is exact. + @end deftypefun + +-@deftypefun {char *} mpq_get_str (char *@var{str}, int @var{base}, mpq_t @var{op}) ++@deftypefun {char *} mpq_get_str (char *@var{str}, int @var{base}, const mpq_t @var{op}) + Convert @var{op} to a string of digits in base @var{base}. The base may vary + from 2 to 36. The string will be of the form @samp{num/den}, or if the + denominator is 1 then just @samp{num}. +@@ -4322,42 +4326,42 @@ + @cindex Rational arithmetic functions + @cindex Arithmetic functions + +-@deftypefun void mpq_add (mpq_t @var{sum}, mpq_t @var{addend1}, mpq_t @var{addend2}) ++@deftypefun void mpq_add (mpq_t @var{sum}, const mpq_t @var{addend1}, const mpq_t @var{addend2}) + Set @var{sum} to @var{addend1} + @var{addend2}. + @end deftypefun + +-@deftypefun void mpq_sub (mpq_t @var{difference}, mpq_t @var{minuend}, mpq_t @var{subtrahend}) ++@deftypefun void mpq_sub (mpq_t @var{difference}, const mpq_t @var{minuend}, const mpq_t @var{subtrahend}) + Set @var{difference} to @var{minuend} @minus{} @var{subtrahend}. + @end deftypefun + +-@deftypefun void mpq_mul (mpq_t @var{product}, mpq_t @var{multiplier}, mpq_t @var{multiplicand}) ++@deftypefun void mpq_mul (mpq_t @var{product}, const mpq_t @var{multiplier}, const mpq_t @var{multiplicand}) + Set @var{product} to @math{@var{multiplier} @GMPtimes{} @var{multiplicand}}. + @end deftypefun + +-@deftypefun void mpq_mul_2exp (mpq_t @var{rop}, mpq_t @var{op1}, mp_bitcnt_t @var{op2}) ++@deftypefun void mpq_mul_2exp (mpq_t @var{rop}, const mpq_t @var{op1}, mp_bitcnt_t @var{op2}) + Set @var{rop} to @m{@var{op1} \times 2^{op2}, @var{op1} times 2 raised to + @var{op2}}. + @end deftypefun + +-@deftypefun void mpq_div (mpq_t @var{quotient}, mpq_t @var{dividend}, mpq_t @var{divisor}) ++@deftypefun void mpq_div (mpq_t @var{quotient}, const mpq_t @var{dividend}, const mpq_t @var{divisor}) + @cindex Division functions + Set @var{quotient} to @var{dividend}/@var{divisor}. + @end deftypefun + +-@deftypefun void mpq_div_2exp (mpq_t @var{rop}, mpq_t @var{op1}, mp_bitcnt_t @var{op2}) ++@deftypefun void mpq_div_2exp (mpq_t @var{rop}, const mpq_t @var{op1}, mp_bitcnt_t @var{op2}) + Set @var{rop} to @m{@var{op1}/2^{op2}, @var{op1} divided by 2 raised to + @var{op2}}. + @end deftypefun + +-@deftypefun void mpq_neg (mpq_t @var{negated_operand}, mpq_t @var{operand}) ++@deftypefun void mpq_neg (mpq_t @var{negated_operand}, const mpq_t @var{operand}) + Set @var{negated_operand} to @minus{}@var{operand}. + @end deftypefun + +-@deftypefun void mpq_abs (mpq_t @var{rop}, mpq_t @var{op}) ++@deftypefun void mpq_abs (mpq_t @var{rop}, const mpq_t @var{op}) + Set @var{rop} to the absolute value of @var{op}. + @end deftypefun + +-@deftypefun void mpq_inv (mpq_t @var{inverted_number}, mpq_t @var{number}) ++@deftypefun void mpq_inv (mpq_t @var{inverted_number}, const mpq_t @var{number}) + Set @var{inverted_number} to 1/@var{number}. If the new denominator is + zero, this routine will divide by zero. + @end deftypefun +@@ -4368,7 +4372,7 @@ + @cindex Rational comparison functions + @cindex Comparison functions + +-@deftypefun int mpq_cmp (mpq_t @var{op1}, mpq_t @var{op2}) ++@deftypefun int mpq_cmp (const mpq_t @var{op1}, const mpq_t @var{op2}) + Compare @var{op1} and @var{op2}. Return a positive value if @math{@var{op1} > + @var{op2}}, zero if @math{@var{op1} = @var{op2}}, and a negative value if + @math{@var{op1} < @var{op2}}. +@@ -4377,8 +4381,8 @@ + @code{mpq_cmp}. + @end deftypefun + +-@deftypefn Macro int mpq_cmp_ui (mpq_t @var{op1}, unsigned long int @var{num2}, unsigned long int @var{den2}) +-@deftypefnx Macro int mpq_cmp_si (mpq_t @var{op1}, long int @var{num2}, unsigned long int @var{den2}) ++@deftypefn Macro int mpq_cmp_ui (const mpq_t @var{op1}, unsigned long int @var{num2}, unsigned long int @var{den2}) ++@deftypefnx Macro int mpq_cmp_si (const mpq_t @var{op1}, long int @var{num2}, unsigned long int @var{den2}) + Compare @var{op1} and @var{num2}/@var{den2}. Return a positive value if + @math{@var{op1} > @var{num2}/@var{den2}}, zero if @math{@var{op1} = + @var{num2}/@var{den2}}, and a negative value if @math{@var{op1} < +@@ -4390,7 +4394,7 @@ + multiple times. + @end deftypefn + +-@deftypefn Macro int mpq_sgn (mpq_t @var{op}) ++@deftypefn Macro int mpq_sgn (const mpq_t @var{op}) + @cindex Sign tests + @cindex Rational sign tests + Return @math{+1} if @math{@var{op} > 0}, 0 if @math{@var{op} = 0}, and +@@ -4400,7 +4404,7 @@ + argument multiple times. + @end deftypefn + +-@deftypefun int mpq_equal (mpq_t @var{op1}, mpq_t @var{op2}) ++@deftypefun int mpq_equal (const mpq_t @var{op1}, const mpq_t @var{op2}) + Return non-zero if @var{op1} and @var{op2} are equal, zero if they are + non-equal. Although @code{mpq_cmp} can be used for the same purpose, this + function is much faster. +@@ -4421,16 +4425,16 @@ + (@pxref{Rational Number Functions}) then @code{mpq_canonicalize} must be + called before any other @code{mpq} functions are applied to that @code{mpq_t}. + +-@deftypefn Macro mpz_t mpq_numref (mpq_t @var{op}) +-@deftypefnx Macro mpz_t mpq_denref (mpq_t @var{op}) ++@deftypefn Macro mpz_t mpq_numref (const mpq_t @var{op}) ++@deftypefnx Macro mpz_t mpq_denref (const mpq_t @var{op}) + Return a reference to the numerator and denominator of @var{op}, respectively. + The @code{mpz} functions can be used on the result of these macros. + @end deftypefn + +-@deftypefun void mpq_get_num (mpz_t @var{numerator}, mpq_t @var{rational}) +-@deftypefunx void mpq_get_den (mpz_t @var{denominator}, mpq_t @var{rational}) +-@deftypefunx void mpq_set_num (mpq_t @var{rational}, mpz_t @var{numerator}) +-@deftypefunx void mpq_set_den (mpq_t @var{rational}, mpz_t @var{denominator}) ++@deftypefun void mpq_get_num (mpz_t @var{numerator}, const mpq_t @var{rational}) ++@deftypefunx void mpq_get_den (mpz_t @var{denominator}, const mpq_t @var{rational}) ++@deftypefunx void mpq_set_num (mpq_t @var{rational}, const mpz_t @var{numerator}) ++@deftypefunx void mpq_set_den (mpq_t @var{rational}, const mpz_t @var{denominator}) + Get or set the numerator or denominator of a rational. These functions are + equivalent to calling @code{mpz_set} with an appropriate @code{mpq_numref} or + @code{mpq_denref}. Direct use of @code{mpq_numref} or @code{mpq_denref} is +@@ -4458,7 +4462,7 @@ + + See also @ref{Formatted Output} and @ref{Formatted Input}. + +-@deftypefun size_t mpq_out_str (FILE *@var{stream}, int @var{base}, mpq_t @var{op}) ++@deftypefun size_t mpq_out_str (FILE *@var{stream}, int @var{base}, const mpq_t @var{op}) + Output @var{op} on stdio stream @var{stream}, as a string of digits in base + @var{base}. The base may vary from 2 to 36. Output is in the form + @samp{num/den} or if the denominator is 1 then just @samp{num}. +@@ -4621,7 +4625,7 @@ + iterative algorithms like Newton-Raphson, making the computation precision + closely match the actual accurate part of the numbers. + +-@deftypefun {mp_bitcnt_t} mpf_get_prec (mpf_t @var{op}) ++@deftypefun {mp_bitcnt_t} mpf_get_prec (const mpf_t @var{op}) + Return the current precision of @var{op}, in bits. + @end deftypefun + +@@ -4670,16 +4674,16 @@ + These functions assign new values to already initialized floats + (@pxref{Initializing Floats}). + +-@deftypefun void mpf_set (mpf_t @var{rop}, mpf_t @var{op}) ++@deftypefun void mpf_set (mpf_t @var{rop}, const mpf_t @var{op}) + @deftypefunx void mpf_set_ui (mpf_t @var{rop}, unsigned long int @var{op}) + @deftypefunx void mpf_set_si (mpf_t @var{rop}, signed long int @var{op}) + @deftypefunx void mpf_set_d (mpf_t @var{rop}, double @var{op}) +-@deftypefunx void mpf_set_z (mpf_t @var{rop}, mpz_t @var{op}) +-@deftypefunx void mpf_set_q (mpf_t @var{rop}, mpq_t @var{op}) ++@deftypefunx void mpf_set_z (mpf_t @var{rop}, const mpz_t @var{op}) ++@deftypefunx void mpf_set_q (mpf_t @var{rop}, const mpq_t @var{op}) + Set the value of @var{rop} from @var{op}. + @end deftypefun + +-@deftypefun int mpf_set_str (mpf_t @var{rop}, char *@var{str}, int @var{base}) ++@deftypefun int mpf_set_str (mpf_t @var{rop}, const char *@var{str}, int @var{base}) + Set the value of @var{rop} from the string in @var{str}. The string is of the + form @samp{M@@N} or, if the base is 10 or less, alternatively @samp{MeN}. + @samp{M} is the mantissa and @samp{N} is the exponent. The mantissa is always +@@ -4734,7 +4738,7 @@ + float functions. Don't use an initialize-and-set function on a variable + already initialized! + +-@deftypefun void mpf_init_set (mpf_t @var{rop}, mpf_t @var{op}) ++@deftypefun void mpf_init_set (mpf_t @var{rop}, const mpf_t @var{op}) + @deftypefunx void mpf_init_set_ui (mpf_t @var{rop}, unsigned long int @var{op}) + @deftypefunx void mpf_init_set_si (mpf_t @var{rop}, signed long int @var{op}) + @deftypefunx void mpf_init_set_d (mpf_t @var{rop}, double @var{op}) +@@ -4744,7 +4748,7 @@ + set by @code{mpf_set_default_prec}. + @end deftypefun + +-@deftypefun int mpf_init_set_str (mpf_t @var{rop}, char *@var{str}, int @var{base}) ++@deftypefun int mpf_init_set_str (mpf_t @var{rop}, const char *@var{str}, int @var{base}) + Initialize @var{rop} and set its value from the string in @var{str}. See + @code{mpf_set_str} above for details on the assignment operation. + +@@ -4762,7 +4766,7 @@ + @cindex Float conversion functions + @cindex Conversion functions + +-@deftypefun double mpf_get_d (mpf_t @var{op}) ++@deftypefun double mpf_get_d (const mpf_t @var{op}) + Convert @var{op} to a @code{double}, truncating if necessary (i.e.@: rounding + towards zero). + +@@ -4772,7 +4776,7 @@ + underflow and denorm traps may or may not occur. + @end deftypefun + +-@deftypefun double mpf_get_d_2exp (signed long int *@var{exp}, mpf_t @var{op}) ++@deftypefun double mpf_get_d_2exp (signed long int *@var{exp}, const mpf_t @var{op}) + Convert @var{op} to a @code{double}, truncating if necessary (i.e.@: rounding + towards zero), and with an exponent returned separately. + +@@ -4786,8 +4790,8 @@ + Functions,,, libc, The GNU C Library Reference Manual}). + @end deftypefun + +-@deftypefun long mpf_get_si (mpf_t @var{op}) +-@deftypefunx {unsigned long} mpf_get_ui (mpf_t @var{op}) ++@deftypefun long mpf_get_si (const mpf_t @var{op}) ++@deftypefunx {unsigned long} mpf_get_ui (const mpf_t @var{op}) + Convert @var{op} to a @code{long} or @code{unsigned long}, truncating any + fraction part. If @var{op} is too big for the return type, the result is + undefined. +@@ -4796,7 +4800,7 @@ + (@pxref{Miscellaneous Float Functions}). + @end deftypefun + +-@deftypefun {char *} mpf_get_str (char *@var{str}, mp_exp_t *@var{expptr}, int @var{base}, size_t @var{n_digits}, mpf_t @var{op}) ++@deftypefun {char *} mpf_get_str (char *@var{str}, mp_exp_t *@var{expptr}, int @var{base}, size_t @var{n_digits}, const mpf_t @var{op}) + Convert @var{op} to a string of digits in base @var{base}. The base argument + may vary from 2 to 62 or from @minus{}2 to @minus{}36. Up to @var{n_digits} + digits will be generated. Trailing zeros are not returned. No more digits +@@ -4838,19 +4842,19 @@ + @cindex Float arithmetic functions + @cindex Arithmetic functions + +-@deftypefun void mpf_add (mpf_t @var{rop}, mpf_t @var{op1}, mpf_t @var{op2}) +-@deftypefunx void mpf_add_ui (mpf_t @var{rop}, mpf_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpf_add (mpf_t @var{rop}, const mpf_t @var{op1}, const mpf_t @var{op2}) ++@deftypefunx void mpf_add_ui (mpf_t @var{rop}, const mpf_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @math{@var{op1} + @var{op2}}. + @end deftypefun + +-@deftypefun void mpf_sub (mpf_t @var{rop}, mpf_t @var{op1}, mpf_t @var{op2}) +-@deftypefunx void mpf_ui_sub (mpf_t @var{rop}, unsigned long int @var{op1}, mpf_t @var{op2}) +-@deftypefunx void mpf_sub_ui (mpf_t @var{rop}, mpf_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpf_sub (mpf_t @var{rop}, const mpf_t @var{op1}, const mpf_t @var{op2}) ++@deftypefunx void mpf_ui_sub (mpf_t @var{rop}, unsigned long int @var{op1}, const mpf_t @var{op2}) ++@deftypefunx void mpf_sub_ui (mpf_t @var{rop}, const mpf_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @var{op1} @minus{} @var{op2}. + @end deftypefun + +-@deftypefun void mpf_mul (mpf_t @var{rop}, mpf_t @var{op1}, mpf_t @var{op2}) +-@deftypefunx void mpf_mul_ui (mpf_t @var{rop}, mpf_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpf_mul (mpf_t @var{rop}, const mpf_t @var{op1}, const mpf_t @var{op2}) ++@deftypefunx void mpf_mul_ui (mpf_t @var{rop}, const mpf_t @var{op1}, unsigned long int @var{op2}) + Set @var{rop} to @math{@var{op1} @GMPtimes{} @var{op2}}. + @end deftypefun + +@@ -4859,39 +4863,39 @@ + lets the user handle arithmetic exceptions in these functions in the same + manner as other arithmetic exceptions. + +-@deftypefun void mpf_div (mpf_t @var{rop}, mpf_t @var{op1}, mpf_t @var{op2}) +-@deftypefunx void mpf_ui_div (mpf_t @var{rop}, unsigned long int @var{op1}, mpf_t @var{op2}) +-@deftypefunx void mpf_div_ui (mpf_t @var{rop}, mpf_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpf_div (mpf_t @var{rop}, const mpf_t @var{op1}, const mpf_t @var{op2}) ++@deftypefunx void mpf_ui_div (mpf_t @var{rop}, unsigned long int @var{op1}, const mpf_t @var{op2}) ++@deftypefunx void mpf_div_ui (mpf_t @var{rop}, const mpf_t @var{op1}, unsigned long int @var{op2}) + @cindex Division functions + Set @var{rop} to @var{op1}/@var{op2}. + @end deftypefun + +-@deftypefun void mpf_sqrt (mpf_t @var{rop}, mpf_t @var{op}) ++@deftypefun void mpf_sqrt (mpf_t @var{rop}, const mpf_t @var{op}) + @deftypefunx void mpf_sqrt_ui (mpf_t @var{rop}, unsigned long int @var{op}) + @cindex Root extraction functions + Set @var{rop} to @m{\sqrt{@var{op}}, the square root of @var{op}}. + @end deftypefun + +-@deftypefun void mpf_pow_ui (mpf_t @var{rop}, mpf_t @var{op1}, unsigned long int @var{op2}) ++@deftypefun void mpf_pow_ui (mpf_t @var{rop}, const mpf_t @var{op1}, unsigned long int @var{op2}) + @cindex Exponentiation functions + @cindex Powering functions + Set @var{rop} to @m{@var{op1}^{op2}, @var{op1} raised to the power @var{op2}}. + @end deftypefun + +-@deftypefun void mpf_neg (mpf_t @var{rop}, mpf_t @var{op}) ++@deftypefun void mpf_neg (mpf_t @var{rop}, const mpf_t @var{op}) + Set @var{rop} to @minus{}@var{op}. + @end deftypefun + +-@deftypefun void mpf_abs (mpf_t @var{rop}, mpf_t @var{op}) ++@deftypefun void mpf_abs (mpf_t @var{rop}, const mpf_t @var{op}) + Set @var{rop} to the absolute value of @var{op}. + @end deftypefun + +-@deftypefun void mpf_mul_2exp (mpf_t @var{rop}, mpf_t @var{op1}, mp_bitcnt_t @var{op2}) ++@deftypefun void mpf_mul_2exp (mpf_t @var{rop}, const mpf_t @var{op1}, mp_bitcnt_t @var{op2}) + Set @var{rop} to @m{@var{op1} \times 2^{op2}, @var{op1} times 2 raised to + @var{op2}}. + @end deftypefun + +-@deftypefun void mpf_div_2exp (mpf_t @var{rop}, mpf_t @var{op1}, mp_bitcnt_t @var{op2}) ++@deftypefun void mpf_div_2exp (mpf_t @var{rop}, const mpf_t @var{op1}, mp_bitcnt_t @var{op2}) + Set @var{rop} to @m{@var{op1}/2^{op2}, @var{op1} divided by 2 raised to + @var{op2}}. + @end deftypefun +@@ -4902,10 +4906,10 @@ + @cindex Float comparison functions + @cindex Comparison functions + +-@deftypefun int mpf_cmp (mpf_t @var{op1}, mpf_t @var{op2}) +-@deftypefunx int mpf_cmp_d (mpf_t @var{op1}, double @var{op2}) +-@deftypefunx int mpf_cmp_ui (mpf_t @var{op1}, unsigned long int @var{op2}) +-@deftypefunx int mpf_cmp_si (mpf_t @var{op1}, signed long int @var{op2}) ++@deftypefun int mpf_cmp (const mpf_t @var{op1}, const mpf_t @var{op2}) ++@deftypefunx int mpf_cmp_d (const mpf_t @var{op1}, double @var{op2}) ++@deftypefunx int mpf_cmp_ui (const mpf_t @var{op1}, unsigned long int @var{op2}) ++@deftypefunx int mpf_cmp_si (const mpf_t @var{op1}, signed long int @var{op2}) + Compare @var{op1} and @var{op2}. Return a positive value if @math{@var{op1} > + @var{op2}}, zero if @math{@var{op1} = @var{op2}}, and a negative value if + @math{@var{op1} < @var{op2}}. +@@ -4914,7 +4918,7 @@ + a NaN. + @end deftypefun + +-@deftypefun int mpf_eq (mpf_t @var{op1}, mpf_t @var{op2}, mp_bitcnt_t op3) ++@deftypefun int mpf_eq (const mpf_t @var{op1}, const mpf_t @var{op2}, mp_bitcnt_t op3) + Return non-zero if the first @var{op3} bits of @var{op1} and @var{op2} are + equal, zero otherwise. I.e., test if @var{op1} and @var{op2} are approximately + equal. +@@ -4927,12 +4931,12 @@ + really just one ulp off, and should be considered equal. + @end deftypefun + +-@deftypefun void mpf_reldiff (mpf_t @var{rop}, mpf_t @var{op1}, mpf_t @var{op2}) ++@deftypefun void mpf_reldiff (mpf_t @var{rop}, const mpf_t @var{op1}, const mpf_t @var{op2}) + Compute the relative difference between @var{op1} and @var{op2} and store the + result in @var{rop}. This is @math{@GMPabs{@var{op1}-@var{op2}}/@var{op1}}. + @end deftypefun + +-@deftypefn Macro int mpf_sgn (mpf_t @var{op}) ++@deftypefn Macro int mpf_sgn (const mpf_t @var{op}) + @cindex Sign tests + @cindex Float sign tests + Return @math{+1} if @math{@var{op} > 0}, 0 if @math{@var{op} = 0}, and +@@ -4961,7 +4965,7 @@ + + See also @ref{Formatted Output} and @ref{Formatted Input}. + +-@deftypefun size_t mpf_out_str (FILE *@var{stream}, int @var{base}, size_t @var{n_digits}, mpf_t @var{op}) ++@deftypefun size_t mpf_out_str (FILE *@var{stream}, int @var{base}, size_t @var{n_digits}, const mpf_t @var{op}) + Print @var{op} to @var{stream}, as a string of digits. Return the number of + bytes written, or if an error occurred, return 0. + +@@ -5001,7 +5005,7 @@ + Return the number of bytes read, or if an error occurred, return 0. + @end deftypefun + +-@c @deftypefun void mpf_out_raw (FILE *@var{stream}, mpf_t @var{float}) ++@c @deftypefun void mpf_out_raw (FILE *@var{stream}, const mpf_t @var{float}) + @c Output @var{float} on stdio stream @var{stream}, in raw binary + @c format. The float is written in a portable format, with 4 bytes of + @c size information, and that many bytes of limbs. Both the size and the +@@ -5020,9 +5024,9 @@ + @cindex Miscellaneous float functions + @cindex Float miscellaneous functions + +-@deftypefun void mpf_ceil (mpf_t @var{rop}, mpf_t @var{op}) +-@deftypefunx void mpf_floor (mpf_t @var{rop}, mpf_t @var{op}) +-@deftypefunx void mpf_trunc (mpf_t @var{rop}, mpf_t @var{op}) ++@deftypefun void mpf_ceil (mpf_t @var{rop}, const mpf_t @var{op}) ++@deftypefunx void mpf_floor (mpf_t @var{rop}, const mpf_t @var{op}) ++@deftypefunx void mpf_trunc (mpf_t @var{rop}, const mpf_t @var{op}) + @cindex Rounding functions + @cindex Float rounding functions + Set @var{rop} to @var{op} rounded to an integer. @code{mpf_ceil} rounds to the +@@ -5030,16 +5034,16 @@ + to the integer towards zero. + @end deftypefun + +-@deftypefun int mpf_integer_p (mpf_t @var{op}) ++@deftypefun int mpf_integer_p (const mpf_t @var{op}) + Return non-zero if @var{op} is an integer. + @end deftypefun + +-@deftypefun int mpf_fits_ulong_p (mpf_t @var{op}) +-@deftypefunx int mpf_fits_slong_p (mpf_t @var{op}) +-@deftypefunx int mpf_fits_uint_p (mpf_t @var{op}) +-@deftypefunx int mpf_fits_sint_p (mpf_t @var{op}) +-@deftypefunx int mpf_fits_ushort_p (mpf_t @var{op}) +-@deftypefunx int mpf_fits_sshort_p (mpf_t @var{op}) ++@deftypefun int mpf_fits_ulong_p (const mpf_t @var{op}) ++@deftypefunx int mpf_fits_slong_p (const mpf_t @var{op}) ++@deftypefunx int mpf_fits_uint_p (const mpf_t @var{op}) ++@deftypefunx int mpf_fits_sint_p (const mpf_t @var{op}) ++@deftypefunx int mpf_fits_ushort_p (const mpf_t @var{op}) ++@deftypefunx int mpf_fits_sshort_p (const mpf_t @var{op}) + Return non-zero if @var{op} would fit in the respective C data type, when + truncated to an integer. + @end deftypefun +@@ -5065,7 +5069,7 @@ + random numbers are generated when @var{max_size} is negative. + @end deftypefun + +-@c @deftypefun size_t mpf_size (mpf_t @var{op}) ++@c @deftypefun size_t mpf_size (const mpf_t @var{op}) + @c Return the size of @var{op} measured in number of limbs. If @var{op} is + @c zero, the returned value will be zero. (@xref{Nomenclature}, for an + @c explanation of the concept @dfn{limb}.) +@@ -5690,7 +5694,7 @@ + fast and has good randomness properties. + @end deftypefun + +-@deftypefun void gmp_randinit_lc_2exp (gmp_randstate_t @var{state}, mpz_t @var{a}, @w{unsigned long @var{c}}, @w{mp_bitcnt_t @var{m2exp}}) ++@deftypefun void gmp_randinit_lc_2exp (gmp_randstate_t @var{state}, const mpz_t @var{a}, @w{unsigned long @var{c}}, @w{mp_bitcnt_t @var{m2exp}}) + @cindex Linear congruential random numbers + Initialize @var{state} with a linear congruential algorithm @m{X = (@var{a}X + + @var{c}) @bmod 2^{m2exp}, X = (@var{a}*X + @var{c}) mod 2^@var{m2exp}}. +@@ -5758,7 +5762,7 @@ + @cindex Random number seeding + @cindex Seeding random numbers + +-@deftypefun void gmp_randseed (gmp_randstate_t @var{state}, mpz_t @var{seed}) ++@deftypefun void gmp_randseed (gmp_randstate_t @var{state}, const mpz_t @var{seed}) + @deftypefunx void gmp_randseed_ui (gmp_randstate_t @var{state}, @w{unsigned long int @var{seed}}) + Set an initial seed value into @var{state}. + +diff -rNU3 dist.orig/doc/stamp-vti dist.nbsd/doc/stamp-vti +--- dist.orig/doc/stamp-vti Mon May 20 15:00:17 2013 ++++ dist.nbsd/doc/stamp-vti Wed Feb 19 16:34:37 2014 +@@ -1,4 +1,4 @@ +-@set UPDATED 20 May 2013 +-@set UPDATED-MONTH May 2013 +-@set EDITION 5.1.2 +-@set VERSION 5.1.2 ++@set UPDATED 30 September 2013 ++@set UPDATED-MONTH September 2013 ++@set EDITION 5.1.3 ++@set VERSION 5.1.3 +diff -rNU3 dist.orig/doc/version.texi dist.nbsd/doc/version.texi +--- dist.orig/doc/version.texi Mon May 20 15:00:17 2013 ++++ dist.nbsd/doc/version.texi Wed Feb 19 16:34:37 2014 +@@ -1,4 +1,4 @@ +-@set UPDATED 20 May 2013 +-@set UPDATED-MONTH May 2013 +-@set EDITION 5.1.2 +-@set VERSION 5.1.2 ++@set UPDATED 30 September 2013 ++@set UPDATED-MONTH September 2013 ++@set EDITION 5.1.3 ++@set VERSION 5.1.3 +diff -rNU3 dist.orig/gmp-h.in dist.nbsd/gmp-h.in +--- dist.orig/gmp-h.in Mon May 20 14:59:56 2013 ++++ dist.nbsd/gmp-h.in Wed Feb 19 16:34:37 2014 +@@ -359,11 +359,9 @@ + GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ + #ifdef __GNUC__ +-#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \ +- || (defined __GNUC_GNU_INLINE__ && defined __cplusplus) ++#if (defined __GNUC_STDC_INLINE__) || \ ++ (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) + #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) +-#else +-#define __GMP_EXTERN_INLINE extern __inline__ + #endif + #define __GMP_INLINE_PROTOTYPES 1 + #endif +@@ -1610,6 +1608,10 @@ #define mpn_zero __MPN(zero) - __GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t)); + __GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); +#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) -+__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv __GMP_PROTO ((mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t)); ++__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); + + /**************** mpz inlines ****************/ /* The following are provided as inlines where possible, but always exist as -diff -r -x CVS -N -U 3 dist/gmp-impl.h dist.orig/gmp-impl.h ---- dist/gmp-impl.h 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/gmp-impl.h 2011-06-23 14:07:41.000000000 +0200 -@@ -162,7 +162,9 @@ +@@ -2222,7 +2224,7 @@ + /* Major version number is the value of __GNU_MP__ too, above and in mp.h. */ + #define __GNU_MP_VERSION 5 + #define __GNU_MP_VERSION_MINOR 1 +-#define __GNU_MP_VERSION_PATCHLEVEL 2 ++#define __GNU_MP_VERSION_PATCHLEVEL 3 + #define __GNU_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL) + + #define __GMP_H__ +diff -rNU3 dist.orig/gmp-impl.h dist.nbsd/gmp-impl.h +--- dist.orig/gmp-impl.h Mon May 20 14:59:56 2013 ++++ dist.nbsd/gmp-impl.h Wed Feb 19 16:34:37 2014 +@@ -196,7 +196,9 @@ # if defined (_AIX) || defined (_IBMR2) #pragma alloca # else @@ -63,38 +2333,10 @@ diff -r -x CVS -N -U 3 dist/gmp-impl.h dist.orig/gmp-impl.h # endif # endif # endif -diff -r -x CVS -N -U 3 dist/Makefile.in dist.orig/Makefile.in ---- dist/Makefile.in 2011-05-08 11:49:35.000000000 +0200 -+++ dist.orig/Makefile.in 2011-07-02 15:26:39.000000000 +0200 -@@ -1242,7 +1242,8 @@ - uninstall: uninstall-recursive - - install-am: all-am -- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-data-am - - installcheck: installcheck-recursive - install-strip: -diff -r -x CVS -N -U 3 dist/mpn/arm/invert_limb.asm dist.orig/mpn/arm/invert_limb.asm ---- dist/mpn/arm/invert_limb.asm 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/mpn/arm/invert_limb.asm 2011-07-09 17:00:08.000000000 +0200 -@@ -42,7 +42,10 @@ - adds r1, r3, r0 - adc r12, r12, r0 - rsb r0, r12, r2 -- bx lr -+ifdef(`ARM_THUMB_MODE', -+` bx lr -+',` mov pc, lr -+') - - ALIGN(4) - L(4): .word approx_tab-8-512-L(2) -diff -r -x CVS -N -U 3 dist/mpn/Makefile.in dist.orig/mpn/Makefile.in ---- dist/mpn/Makefile.in 2011-05-08 11:49:34.000000000 +0200 -+++ dist.orig/mpn/Makefile.in 2011-09-14 18:35:22.000000000 +0200 -@@ -994,7 +994,7 @@ +diff -rNU3 dist.orig/mpn/Makefile.in dist.nbsd/mpn/Makefile.in +--- dist.orig/mpn/Makefile.in Mon May 20 15:00:03 2013 ++++ dist.nbsd/mpn/Makefile.in Wed Feb 19 16:34:37 2014 +@@ -631,7 +631,7 @@ $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ $(RM_TMP) tmp-$*.s .S.lo: @@ -103,7 +2345,7 @@ diff -r -x CVS -N -U 3 dist/mpn/Makefile.in dist.orig/mpn/Makefile.in # .asm assembler, preprocessed with m4. # -@@ -1022,7 +1022,7 @@ +@@ -659,7 +659,7 @@ $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ $(RM_TMP) tmp-$*.s .asm.lo: @@ -112,9 +2354,558 @@ diff -r -x CVS -N -U 3 dist/mpn/Makefile.in dist.orig/mpn/Makefile.in # 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. -diff -r -x CVS -N -U 3 dist/mpn/powerpc32/elf.m4 dist.orig/mpn/powerpc32/elf.m4 ---- dist/mpn/powerpc32/elf.m4 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/mpn/powerpc32/elf.m4 2011-07-03 05:30:19.000000000 +0200 +diff -rNU3 dist.orig/mpn/arm/aorscnd_n.asm dist.nbsd/mpn/arm/aorscnd_n.asm +--- dist.orig/mpn/arm/aorscnd_n.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/aorscnd_n.asm Wed Feb 19 16:34:37 2014 +@@ -117,5 +117,8 @@ + + L(end): RETVAL + pop {r4-r11} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/aorslsh1_n.asm dist.nbsd/mpn/arm/aorslsh1_n.asm +--- dist.orig/mpn/arm/aorslsh1_n.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/aorslsh1_n.asm Wed Feb 19 16:34:37 2014 +@@ -151,5 +151,8 @@ + REVCY(r12) + L(rt0): RETVAL( r14) + pop {r4-r10r11, r14} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/bdiv_dbm1c.asm dist.nbsd/mpn/arm/bdiv_dbm1c.asm +--- dist.orig/mpn/arm/bdiv_dbm1c.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/bdiv_dbm1c.asm Wed Feb 19 16:34:37 2014 +@@ -97,5 +97,8 @@ + str r5, [qp] + sbc r0, r5, r12 + pop {r4, r5, r6, r7, r8} +- bx lr ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/com.asm dist.nbsd/mpn/arm/com.asm +--- dist.orig/mpn/arm/com.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/com.asm Wed Feb 19 16:34:37 2014 +@@ -59,5 +59,9 @@ + bne L(top) + + ldmfd sp!, { r7, r8, r9 } C restore regs from stack +-L(rtn): bx lr ++L(rtn): ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/copyd.asm dist.nbsd/mpn/arm/copyd.asm +--- dist.orig/mpn/arm/copyd.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/copyd.asm Wed Feb 19 16:34:37 2014 +@@ -57,5 +57,9 @@ + bne L(top) + + ldmfd sp!, { r7, r8, r9 } C restore regs from stack +-L(rtn): bx lr ++L(rtn): ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/copyi.asm dist.nbsd/mpn/arm/copyi.asm +--- dist.orig/mpn/arm/copyi.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/copyi.asm Wed Feb 19 16:34:37 2014 +@@ -52,5 +52,9 @@ + bne L(top) + + ldmfd sp!, { r7, r8, r9 } C restore regs from stack +-L(rtn): bx lr ++L(rtn): ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/invert_limb.asm dist.nbsd/mpn/arm/invert_limb.asm +--- dist.orig/mpn/arm/invert_limb.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/invert_limb.asm Wed Feb 19 16:34:37 2014 +@@ -41,7 +41,10 @@ + adds r1, r12, r0 + adc r3, r3, r0 + rsb r0, r3, r2 +- bx lr ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + EPILOGUE() + + .section .rodata +diff -rNU3 dist.orig/mpn/arm/logops_n.asm dist.nbsd/mpn/arm/logops_n.asm +--- dist.orig/mpn/arm/logops_n.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/logops_n.asm Wed Feb 19 16:34:37 2014 +@@ -123,5 +123,8 @@ + pop { r4, r5, r6, r7 } C popping r8-r10 here strangely fails + + L(rtn): pop { r8, r9, r10 } +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/lshift.asm dist.nbsd/mpn/arm/lshift.asm +--- dist.orig/mpn/arm/lshift.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/lshift.asm Wed Feb 19 16:34:37 2014 +@@ -72,5 +72,8 @@ + L(1): str r7, [rp, #-4] + lsr r0, r4, tnc + pop {r4, r6, r7, r8} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/lshiftc.asm dist.nbsd/mpn/arm/lshiftc.asm +--- dist.orig/mpn/arm/lshiftc.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/lshiftc.asm Wed Feb 19 16:34:37 2014 +@@ -79,5 +79,8 @@ + str r7, [rp, #-4] + lsr r0, r4, tnc + pop {r4, r6, r7, r8} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/mod_34lsub1.asm dist.nbsd/mpn/arm/mod_34lsub1.asm +--- dist.orig/mpn/arm/mod_34lsub1.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/mod_34lsub1.asm Wed Feb 19 16:34:37 2014 +@@ -94,7 +94,10 @@ + add r0, r0, r12, lsr #8 + + pop { r4, r5, r6, r7 } +- bx lr ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + + L(le2): cmn n, #1 + bne L(1) +@@ -105,5 +108,8 @@ + bic r0, r2, #0xff000000 + add r0, r0, r2, lsr #24 + pop { r4, r5, r6, r7 } +- bx lr ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/mode1o.asm dist.nbsd/mpn/arm/mode1o.asm +--- dist.orig/mpn/arm/mode1o.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/mode1o.asm Wed Feb 19 16:34:37 2014 +@@ -68,5 +68,8 @@ + addcc r0, r0, #1 + + ldmfd sp!, {r4, r5} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/rsh1aors_n.asm dist.nbsd/mpn/arm/rsh1aors_n.asm +--- dist.orig/mpn/arm/rsh1aors_n.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/rsh1aors_n.asm Wed Feb 19 16:34:37 2014 +@@ -108,5 +108,8 @@ + str r4, [rp, #0] + mov r0, r11 + pop {r4-r11} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/rshift.asm dist.nbsd/mpn/arm/rshift.asm +--- dist.orig/mpn/arm/rshift.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/rshift.asm Wed Feb 19 16:34:37 2014 +@@ -70,5 +70,8 @@ + L(1): str r7, [rp], #4 + lsl r0, r4, tnc + pop {r4, r6, r7, r8} +- bx r14 ++ifdef(`ARM_THUMB_MODE', ++` bx r14 ++',` mov pc, r14 ++') + EPILOGUE() +diff -rNU3 dist.orig/mpn/arm/udiv.asm dist.nbsd/mpn/arm/udiv.asm +--- dist.orig/mpn/arm/udiv.asm Mon May 20 14:59:56 2013 ++++ dist.nbsd/mpn/arm/udiv.asm Wed Feb 19 16:34:37 2014 +@@ -50,7 +50,10 @@ + + str n1, [rem_ptr] C store remainder + adc r0, n0, n0 C quotient: add last carry from divstep +- bx lr ++ifdef(`ARM_THUMB_MODE', ++` bx lr ++',` mov pc, lr ++') + + L(_large_divisor): + stmfd sp!, { r8, lr } +Binary files dist.orig/mpn/generic/div_qr_2.c and dist.nbsd/mpn/generic/div_qr_2.c differ +diff -rNU3 dist.orig/mpn/generic/divrem_2.c dist.nbsd/mpn/generic/divrem_2.c +--- dist.orig/mpn/generic/divrem_2.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/divrem_2.c Wed Feb 19 16:34:37 2014 +@@ -98,7 +98,7 @@ + for (i = qxn - 1; i >= 0; i--) + { + mp_limb_t q; +- udiv_qr_3by2 (q, r1, r0, r1, r0, 0, d1, d0, di.inv32); ++ udiv_qr_3by2 (q, r1, r0, r1, r0, CNST_LIMB(0), d1, d0, di.inv32); + qp[i] = q; + } + } +diff -rNU3 dist.orig/mpn/generic/get_d.c dist.nbsd/mpn/generic/get_d.c +--- dist.orig/mpn/generic/get_d.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/get_d.c Wed Feb 19 16:34:37 2014 +@@ -135,7 +135,7 @@ + overflow. After this exp can of course be reduced to anywhere within + the {up,size} region without underflow. */ + if (UNLIKELY ((unsigned long) (GMP_NUMB_BITS * size) +- > (unsigned long) (LONG_MAX - exp))) ++ > ((unsigned long) LONG_MAX - exp))) + { + #if _GMP_IEEE_FLOATS + goto ieee_infinity; +@@ -209,7 +209,7 @@ + x <<= GMP_NAIL_BITS; + mhi |= x >> nbits >> 11; + +- mlo = x << GMP_LIMB_BITS - nbits - 11; ++ mlo = x << (GMP_LIMB_BITS - nbits - 11); + nbits = nbits + 11 - GMP_NAIL_BITS; + } + else +Binary files dist.orig/mpn/generic/mod_1_1.c and dist.nbsd/mpn/generic/mod_1_1.c differ +diff -rNU3 dist.orig/mpn/generic/mod_1_2.c dist.nbsd/mpn/generic/mod_1_2.c +--- dist.orig/mpn/generic/mod_1_2.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/mod_1_2.c Wed Feb 19 16:34:37 2014 +@@ -51,10 +51,10 @@ + ASSERT (B1modb <= b); /* NB: not fully reduced mod b */ + cps[2] = B1modb >> cnt; + +- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); ++ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); + cps[3] = B2modb >> cnt; + +- udiv_rnnd_preinv (B3modb, B2modb, 0, b, bi); ++ udiv_rnnd_preinv (B3modb, B2modb, CNST_LIMB(0), b, bi); + cps[4] = B3modb >> cnt; + + #if WANT_ASSERT +diff -rNU3 dist.orig/mpn/generic/mod_1_3.c dist.nbsd/mpn/generic/mod_1_3.c +--- dist.orig/mpn/generic/mod_1_3.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/mod_1_3.c Wed Feb 19 16:34:37 2014 +@@ -51,13 +51,13 @@ + ASSERT (B1modb <= b); /* NB: not fully reduced mod b */ + cps[2] = B1modb >> cnt; + +- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); ++ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); + cps[3] = B2modb >> cnt; + +- udiv_rnnd_preinv (B3modb, B2modb, 0, b, bi); ++ udiv_rnnd_preinv (B3modb, B2modb, CNST_LIMB(0), b, bi); + cps[4] = B3modb >> cnt; + +- udiv_rnnd_preinv (B4modb, B3modb, 0, b, bi); ++ udiv_rnnd_preinv (B4modb, B3modb, CNST_LIMB(0), b, bi); + cps[5] = B4modb >> cnt; + + #if WANT_ASSERT +diff -rNU3 dist.orig/mpn/generic/mod_1_4.c dist.nbsd/mpn/generic/mod_1_4.c +--- dist.orig/mpn/generic/mod_1_4.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/mod_1_4.c Wed Feb 19 16:34:37 2014 +@@ -51,16 +51,16 @@ + ASSERT (B1modb <= b); /* NB: not fully reduced mod b */ + cps[2] = B1modb >> cnt; + +- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); ++ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); + cps[3] = B2modb >> cnt; + +- udiv_rnnd_preinv (B3modb, B2modb, 0, b, bi); ++ udiv_rnnd_preinv (B3modb, B2modb, CNST_LIMB(0), b, bi); + cps[4] = B3modb >> cnt; + +- udiv_rnnd_preinv (B4modb, B3modb, 0, b, bi); ++ udiv_rnnd_preinv (B4modb, B3modb, CNST_LIMB(0), b, bi); + cps[5] = B4modb >> cnt; + +- udiv_rnnd_preinv (B5modb, B4modb, 0, b, bi); ++ udiv_rnnd_preinv (B5modb, B4modb, CNST_LIMB(0), b, bi); + cps[6] = B5modb >> cnt; + + #if WANT_ASSERT +diff -rNU3 dist.orig/mpn/generic/sb_div_sec.c dist.nbsd/mpn/generic/sb_div_sec.c +--- dist.orig/mpn/generic/sb_div_sec.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/sb_div_sec.c Wed Feb 19 16:34:37 2014 +@@ -81,18 +81,9 @@ + np2 = np; + } + +- if (dn == 1) +- { +- d0 = dp2[dn - 1]; +- invert_limb (inv32, d0); +- } +- else +- { +- d1 = dp2[dn - 1]; +- d0 = dp2[dn - 2]; +- invert_pi1 (dinv, d1, d0); +- inv32 = dinv.inv32; +- } ++ d0 = dp2[dn - 1]; ++ d0 += (~d0 != 0); ++ invert_limb (inv32, d0); + + /* We add nn + dn to tp here, not nn + 1 + dn, as expected. This is since nn + here will have been incremented. */ +diff -rNU3 dist.orig/mpn/generic/sbpi1_div_sec.c dist.nbsd/mpn/generic/sbpi1_div_sec.c +--- dist.orig/mpn/generic/sbpi1_div_sec.c Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/generic/sbpi1_div_sec.c Wed Feb 19 16:34:37 2014 +@@ -8,7 +8,7 @@ + SAFE TO REACH THEM THROUGH DOCUMENTED INTERFACES. IN FACT, IT IS ALMOST + GUARANTEED THAT THEY WILL CHANGE OR DISAPPEAR IN A FUTURE GNU MP RELEASE. + +-Copyright 2011, 2012 Free Software Foundation, Inc. ++Copyright 2011, 2012, 2013 Free Software Foundation, Inc. + + This file is part of the GNU MP Library. + +@@ -29,6 +29,28 @@ + #include "gmp-impl.h" + #include "longlong.h" + ++/* This side-channel silent division algorithm reduces the partial remainder by ++ GMP_NUMB_BITS/2 bits at a time, compared to GMP_NUMB_BITS for the main ++ division algorithm. We do not insists on reducing by exactly ++ GMP_NUMB_BITS/2, but may leave a partial remainder that is D*B^i to 3D*B^i ++ too large (B is the limb base, D is the divisor, and i is the induction ++ variable); the subsequent step will handle the extra partial remainder bits. ++ ++ With that partial remainder reduction, each step generates a quotient "half ++ limb". The outer loop generates two quotient half limbs, an upper (q1h) and ++ a lower (q0h) which are stored sparsely in separate limb arrays. These ++ arrays are added at the end; using separate arrays avoids data-dependent ++ carry propagation which could else pose a side-channel leakage problem. ++ ++ The quotient half limbs may be between -3 to 0 from the accurate value ++ ("accurate" being the one which corresponds to a reduction to a principal ++ partial remainder). Too small quotient half limbs correspond to too large ++ remainders, which we reduce later, as described above. ++ ++ In order to keep quotients from getting too big, corresponding to a negative ++ partial remainder, we use an inverse which is slightly smaller than usually. ++*/ ++ + #if OPERATION_sbpi1_div_qr_sec + /* Needs (dn + 1) + (nn - dn) + (nn - dn) = 2nn - dn + 1 limbs at tp. */ + #define FNAME mpn_sbpi1_div_qr_sec +@@ -49,7 +71,7 @@ + mp_limb_t dinv, + mp_ptr tp) + { +- mp_limb_t nh, cy, q1h, q0h, dummy, h; ++ mp_limb_t nh, cy, q1h, q0h, dummy, cnd; + mp_size_t i; + mp_ptr hp; + #if OPERATION_sbpi1_div_qr_sec +@@ -74,75 +96,64 @@ + + /* Create a divisor copy shifted half a limb. */ + hp = tp; /* (dn + 1) limbs */ +- cy = mpn_lshift (hp, dp, dn, GMP_NUMB_BITS / 2); +- hp[dn] = dp[dn - 1] >> GMP_NUMB_BITS / 2; ++ hp[dn] = mpn_lshift (hp, dp, dn, GMP_NUMB_BITS / 2); + + #if OPERATION_sbpi1_div_qr_sec + qlp = tp + (dn + 1); /* (nn - dn) limbs */ + qhp = tp + (nn + 1); /* (nn - dn) limbs */ + #endif + +- np += nn; +- +- /* Main loop. Develop one full limb per iteration, but do it in two steps in +- order to avoid conditionals. Quotient bits will be either correct or +- underestimates. When a quotient is underestimated, the next quotient will +- compensate, since quotients are to be added at consecutive weight distance +- GMP_NUMB_BITS/2. We make two quotient arrays, each with GMP_NUMB_BITS/2+2 +- bits per entry. The arrays are added late after the loop. Separate +- arrays avoid data-dependent carry propagation. */ ++ np += nn - dn; + nh = 0; ++ + for (i = nn - dn - 1; i >= 0; i--) + { + np--; + +- nh = (nh << GMP_NUMB_BITS/2) + (np[0] >> GMP_NUMB_BITS/2); ++ nh = (nh << GMP_NUMB_BITS/2) + (np[dn] >> GMP_NUMB_BITS/2); + umul_ppmm (q1h, dummy, nh, dinv); + q1h += nh; + #if OPERATION_sbpi1_div_qr_sec + qhp[i] = q1h; + #endif +- cy = mpn_submul_1 (np - dn, hp, dn + 1, q1h); ++ mpn_submul_1 (np, hp, dn + 1, q1h); + +- nh = np[0]; ++ nh = np[dn]; + umul_ppmm (q0h, dummy, nh, dinv); + q0h += nh; + #if OPERATION_sbpi1_div_qr_sec + qlp[i] = q0h; + #endif +- cy = mpn_submul_1 (np - dn, dp, dn, q0h); +- +- nh -= cy; ++ nh -= mpn_submul_1 (np, dp, dn, q0h); + } + +- np[0] = nh; +- +- np -= dn; +- + /* 1st adjustment depends on extra high remainder limb. */ +- h = np[dn]; ++ cnd = nh != 0; /* FIXME: cmp-to-int */ + #if OPERATION_sbpi1_div_qr_sec +- qlp[0] += h; ++ qlp[0] += cnd; + #endif +- h -= mpn_subcnd_n (np, np, dp, dn, h); ++ nh -= mpn_subcnd_n (np, np, dp, dn, cnd); + +- /* 2nd adjustment depends on remainder/divisor comparision as well as whether ++ /* 2nd adjustment depends on remainder/divisor comparison as well as whether + extra remainder limb was nullified by previous subtract. */ + cy = mpn_sub_n (np, np, dp, dn); +- cy = cy == h; /* FIXME: might leak on some archs */ ++ cy = cy - nh; + #if OPERATION_sbpi1_div_qr_sec +- qlp[0] += cy; ++ qlp[0] += 1 - cy; + #endif +- mpn_addcnd_n (np, np, dp, dn, 1 - cy); ++ mpn_addcnd_n (np, np, dp, dn, cy); + +- /* Combine quotient halves into final quotient. */ ++ /* 3rd adjustment depends on remainder/divisor comparison. */ ++ cy = mpn_sub_n (np, np, dp, dn); + #if OPERATION_sbpi1_div_qr_sec +- qh = 0; +- if (nn - dn != 0) +- { +- qh = mpn_lshift (qhp, qhp, nn - dn, GMP_NUMB_BITS/2); +- qh += mpn_add_n (qp, qhp, qlp, nn - dn); +- } ++ qlp[0] += 1 - cy; ++#endif ++ mpn_addcnd_n (np, np, dp, dn, cy); ++ ++#if OPERATION_sbpi1_div_qr_sec ++ /* Combine quotient halves into final quotient. */ ++ qh = mpn_lshift (qhp, qhp, nn - dn, GMP_NUMB_BITS/2); ++ qh += mpn_add_n (qp, qhp, qlp, nn - dn); + + return qh; + #else +Binary files dist.orig/mpn/generic/toom_interpolate_7pts.c and dist.nbsd/mpn/generic/toom_interpolate_7pts.c differ +diff -rNU3 dist.orig/mpn/ia64/divrem_2.asm dist.nbsd/mpn/ia64/divrem_2.asm +--- dist.orig/mpn/ia64/divrem_2.asm Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/ia64/divrem_2.asm Wed Feb 19 16:34:37 2014 +@@ -1,6 +1,6 @@ + dnl IA-64 mpn_divrem_2 -- Divide an mpn number by a normalized 2-limb number. + +-dnl Copyright 2010 Free Software Foundation, Inc. ++dnl Copyright 2010, 2013 Free Software Foundation, Inc. + + dnl This file is part of the GNU MP Library. + +@@ -98,17 +98,17 @@ + br.call.sptk.many b0 = mpn_invert_limb + ;; + setf.sig f11 = r8 // di (non-final) +- setf.sig f18 = r39 // d1 +- setf.sig f17 = r36 // d0 ++ setf.sig f34 = r39 // d1 ++ setf.sig f33 = r36 // d0 + mov r1 = r43 + ;; + mov r17 = 1 + setf.sig f9 = r38 // n2 +- xma.l f6 = f11, f18, f0 // t0 = LO(di * d1) ++ xma.l f6 = f11, f34, f0 // t0 = LO(di * d1) + ;; + setf.sig f10 = r37 // n1 + setf.sig f15 = r17 // 1 +- xma.hu f8 = f11, f17, f0 // s0 = HI(di * d0) ++ xma.hu f8 = f11, f33, f0 // s0 = HI(di * d0) + ;; + getf.sig r17 = f6 + getf.sig r16 = f8 +@@ -178,7 +178,7 @@ + (p9) br.cond.dptk .L52 + .L46: + ') +- setf.sig f16 = r8 // di ++ setf.sig f32 = r8 // di + shladd r32 = r35, 3, r32 + ;; + +@@ -189,8 +189,8 @@ + ;; + (p8) mov r37 = r0 + (p9) ld8 r37 = [r34], -8 +- xma.hu f8 = f9, f16, f10 // 0,29 +- xma.l f12 = f9, f16, f10 // 0 ++ xma.hu f8 = f9, f32, f10 // 0,29 ++ xma.l f12 = f9, f32, f10 // 0 + ;; + getf.sig r20 = f12 // q0 4 + xma.l f13 = f15, f8, f9 // q += n2 4 +@@ -198,8 +198,8 @@ + ;; + getf.sig r18 = f13 // 8 + xma.l f7 = f14, f13, f10 // 8 +- xma.l f6 = f17, f13, f17 // t0 = LO(d0*q+d0) 8 +- xma.hu f9 = f17, f13, f17 // t1 = HI(d0*q+d0) 9 ++ xma.l f6 = f33, f13, f33 // t0 = LO(d0*q+d0) 8 ++ xma.hu f9 = f33, f13, f33 // t1 = HI(d0*q+d0) 9 + ;; + getf.sig r38 = f7 // n1 12 + getf.sig r16 = f6 // 13 +diff -rNU3 dist.orig/mpn/powerpc32/elf.m4 dist.nbsd/mpn/powerpc32/elf.m4 +--- dist.orig/mpn/powerpc32/elf.m4 Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/powerpc32/elf.m4 Wed Feb 19 16:34:37 2014 @@ -41,9 +41,11 @@ m4_assert_numargs(2) `ifdef(`PIC',` @@ -129,15 +2920,319 @@ diff -r -x CVS -N -U 3 dist/mpn/powerpc32/elf.m4 dist.orig/mpn/powerpc32/elf.m4 lwz $1, $2@got($1) ',` lis $1, $2@ha -diff -r -x CVS -N -U 3 dist/tests/rand/findlc.c dist.orig/tests/rand/findlc.c ---- dist/tests/rand/findlc.c 2011-05-08 11:49:29.000000000 +0200 -+++ dist.orig/tests/rand/findlc.c 2011-06-20 07:54:47.000000000 +0200 +diff -rNU3 dist.orig/mpn/powerpc64/p6/lshift.asm dist.nbsd/mpn/powerpc64/p6/lshift.asm +--- dist.orig/mpn/powerpc64/p6/lshift.asm Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/powerpc64/p6/lshift.asm Wed Feb 19 16:34:37 2014 +@@ -1,6 +1,6 @@ + dnl PowerPC-64 mpn_lshift -- rp[] = up[] << cnt + +-dnl Copyright 2003, 2005, 2010 Free Software Foundation, Inc. ++dnl Copyright 2003, 2005, 2010, 2013 Free Software Foundation, Inc. + + dnl This file is part of the GNU MP Library. + +@@ -27,8 +27,7 @@ + + C TODO + C * Micro-optimise header code +-C * Write analogous lshiftc.asm +-C * Perhaps do 4-way unrolling, for 2.5 c/l on POWER6. The code is 4248 ++C * Perhaps do 4-way unrolling, for 2.5 c/l on POWER6. The code is 4236 + C bytes, 4-way code would become about 50% larger. + + C INPUT PARAMETERS +@@ -43,45 +42,49 @@ + + ASM_START() + PROLOGUE(mpn_lshift) ++ ++ifdef(`HAVE_ABI_mode32',` ++ rldicl n, n, 0,32 C FIXME: avoid this zero extend ++') + mflr r12 +- bcl 20, 31, L(r) C get pc using a local "call" +-L(r): mflr r11 +- sldi r0, n, 3 ++ sldi r8, n, 3 + sldi r10, cnt, 6 C multiply cnt by size of a SHIFT block +- addi r11, r11, L(e1)-Lr-64 C address of L(e1) label in SHIFT(1) +- add up, up, r0 C make up point at end of up[] ++ LEAL( r11, L(e1)) C address of L(e1) label in SHIFT(1) ++ add up, up, r8 C make up point at end of up[] + add r11, r11, r10 C address of L(oN) for N = cnt +- add rp, rp_param, r0 C make rp point at end of rp[] ++ srdi r10, n, 1 ++ add rp, rp_param, r8 C make rp point at end of rp[] + subfic tnc, cnt, 64 +- rlwinm. r8, n, 0,31,31 C extract bit 0 ++ rlwinm. r8, n, 0,31,31 C extract bit 0 ++ mtctr r10 + beq L(evn) + + L(odd): ld r9, -8(up) + cmpdi cr0, n, 1 C n = 1? + beq L(1) + ld r8, -16(up) +- addi r11, r11, L(o1)-L(e1) ++ addi r11, r11, -84 C L(o1) - L(e1) - 64 + mtlr r11 +- srdi r11, n, 1 + srd r3, r9, tnc C retval + addi up, up, 8 + addi rp, rp, -8 +- mtctr r11 + blr C branch to L(oN) + + L(evn): ld r8, -8(up) + ld r9, -16(up) ++ addi r11, r11, -64 + mtlr r11 +- addi n, n, 1 +- srdi r10, n, 1 + srd r3, r8, tnc C retval +- mtctr r10 + blr C branch to L(eN) + + L(1): srd r3, r9, tnc C retval + sld r8, r9, cnt + std r8, -8(rp) + mtlr r12 ++ifdef(`HAVE_ABI_mode32', ++` mr r4, r3 ++ srdi r3, r3, 32 ++') + blr + + +@@ -109,5 +112,10 @@ + + L(com): std r10, -16(rp) + mtlr r12 ++ifdef(`HAVE_ABI_mode32', ++` mr r4, r3 ++ srdi r3, r3, 32 ++') + blr + EPILOGUE() ++ASM_END() +diff -rNU3 dist.orig/mpn/powerpc64/p6/lshiftc.asm dist.nbsd/mpn/powerpc64/p6/lshiftc.asm +--- dist.orig/mpn/powerpc64/p6/lshiftc.asm Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/powerpc64/p6/lshiftc.asm Wed Feb 19 16:34:37 2014 +@@ -1,6 +1,6 @@ + dnl PowerPC-64 mpn_lshiftc -- rp[] = ~up[] << cnt + +-dnl Copyright 2003, 2005, 2010 Free Software Foundation, Inc. ++dnl Copyright 2003, 2005, 2010, 2013 Free Software Foundation, Inc. + + dnl This file is part of the GNU MP Library. + +@@ -27,7 +27,7 @@ + + C TODO + C * Micro-optimise header code +-C * Perhaps do 4-way unrolling, for 2.5 c/l on POWER6. The code is 4248 ++C * Perhaps do 4-way unrolling, for 2.5 c/l on POWER6. The code is 4236 + C bytes, 4-way code would become about 50% larger. + + C INPUT PARAMETERS +@@ -42,39 +42,39 @@ + + ASM_START() + PROLOGUE(mpn_lshiftc) ++ ++ifdef(`HAVE_ABI_mode32',` ++ rldicl n, n, 0,32 C FIXME: avoid this zero extend ++') + mflr r12 +- bcl 20, 31, L(r) C get pc using a local "call" +-L(r): mflr r11 +- sldi r0, n, 3 ++ sldi r8, n, 3 + sldi r10, cnt, 6 C multiply cnt by size of a SHIFT block +- addi r11, r11, L(e1)-Lr-64 C address of L(e1) label in SHIFT(1) +- add up, up, r0 C make up point at end of up[] ++ LEAL( r11, L(e1)) C address of L(e1) label in SHIFT(1) ++ add up, up, r8 C make up point at end of up[] + add r11, r11, r10 C address of L(oN) for N = cnt +- add rp, rp_param, r0 C make rp point at end of rp[] ++ srdi r10, n, 1 ++ add rp, rp_param, r8 C make rp point at end of rp[] + subfic tnc, cnt, 64 +- rlwinm. r8, n, 0,31,31 C extract bit 0 ++ rlwinm. r8, n, 0,31,31 C extract bit 0 ++ mtctr r10 + beq L(evn) + + L(odd): ld r9, -8(up) + cmpdi cr0, n, 1 C n = 1? + beq L(1) + ld r8, -16(up) +- addi r11, r11, L(o1)-L(e1) ++ addi r11, r11, -88 C L(o1) - L(e1) - 64 + mtlr r11 +- srdi r11, n, 1 + srd r3, r9, tnc C retval + addi up, up, 8 + addi rp, rp, -8 +- mtctr r11 + blr C branch to L(oN) + + L(evn): ld r8, -8(up) + ld r9, -16(up) ++ addi r11, r11, -64 + mtlr r11 +- addi n, n, 1 +- srdi r10, n, 1 + srd r3, r8, tnc C retval +- mtctr r10 + blr C branch to L(eN) + + L(1): srd r3, r9, tnc C retval +@@ -82,6 +82,10 @@ + nor r8, r8, r8 + std r8, -8(rp) + mtlr r12 ++ifdef(`HAVE_ABI_mode32', ++` mr r4, r3 ++ srdi r3, r3, 32 ++') + blr + + +@@ -112,5 +116,10 @@ + std r11, -8(rp) + std r10, -16(rp) + mtlr r12 ++ifdef(`HAVE_ABI_mode32', ++` mr r4, r3 ++ srdi r3, r3, 32 ++') + blr + EPILOGUE() ++ASM_END() +diff -rNU3 dist.orig/mpn/powerpc64/p6/rshift.asm dist.nbsd/mpn/powerpc64/p6/rshift.asm +--- dist.orig/mpn/powerpc64/p6/rshift.asm Mon May 20 14:59:57 2013 ++++ dist.nbsd/mpn/powerpc64/p6/rshift.asm Wed Feb 19 16:34:37 2014 +@@ -1,6 +1,6 @@ + dnl PowerPC-64 mpn_rshift -- rp[] = up[] << cnt + +-dnl Copyright 2003, 2005, 2010 Free Software Foundation, Inc. ++dnl Copyright 2003, 2005, 2010, 2013 Free Software Foundation, Inc. + + dnl This file is part of the GNU MP Library. + +@@ -42,44 +42,48 @@ + + ASM_START() + PROLOGUE(mpn_rshift) ++ ++ifdef(`HAVE_ABI_mode32',` ++ rldicl n, n, 0,32 C FIXME: avoid this zero extend ++') + mflr r12 +- bcl 20, 31, L(r) C get pc using a local "call" +-L(r): mflr r11 +- addi r11, r11, L(e1)-Lr-64 C address of L(e1) label in SHIFT(1) ++ LEAL( r11, L(e1)) C address of L(e1) label in SHIFT(1) + sldi r10, cnt, 6 C multiply cnt by size of a SHIFT block + add r11, r11, r10 C address of L(oN) for N = cnt ++ srdi r10, n, 1 + mr rp, rp_param + subfic tnc, cnt, 64 +- rlwinm. r8, n, 0,31,31 C extract bit 0 ++ rlwinm. r8, n, 0,31,31 C extract bit 0 ++ mtctr r10 + beq L(evn) + + L(odd): ld r9, 0(up) + cmpdi cr0, n, 1 C n = 1? + beq L(1) + ld r8, 8(up) +- addi r11, r11, L(o1)-L(e1) ++ addi r11, r11, -84 C L(o1) - L(e1) - 64 + mtlr r11 +- srdi r11, n, 1 + sld r3, r9, tnc C retval + addi up, up, 8 + addi rp, rp, 8 +- mtctr r11 + blr C branch to L(oN) + + L(evn): ld r8, 0(up) + ld r9, 8(up) ++ addi r11, r11, -64 + mtlr r11 +- addi n, n, 1 +- srdi r10, n, 1 + sld r3, r8, tnc C retval + addi up, up, 16 +- mtctr r10 + blr C branch to L(eN) + + L(1): sld r3, r9, tnc C retval + srd r8, r9, cnt + std r8, 0(rp) + mtlr r12 ++ifdef(`HAVE_ABI_mode32', ++` mr r4, r3 ++ srdi r3, r3, 32 ++') + blr + + +@@ -107,5 +111,10 @@ + + L(com): std r10, 8(rp) + mtlr r12 ++ifdef(`HAVE_ABI_mode32', ++` mr r4, r3 ++ srdi r3, r3, 32 ++') + blr + EPILOGUE() ++ASM_END() +diff -rNU3 dist.orig/mpz/kronzs.c dist.nbsd/mpz/kronzs.c +--- dist.orig/mpz/kronzs.c Mon May 20 14:59:58 2013 ++++ dist.nbsd/mpz/kronzs.c Wed Feb 19 16:34:37 2014 +@@ -50,7 +50,7 @@ + #endif + + result_bit1 = JACOBI_BSGN_SS_BIT1 (a_size, b); +- b_limb = (unsigned long) ABS (b); ++ b_limb = ABS_CAST (unsigned long, b); + a_ptr = PTR(a); + + if ((b_limb & 1) == 0) +diff -rNU3 dist.orig/tests/mpz/t-mfac_uiui.c dist.nbsd/tests/mpz/t-mfac_uiui.c +--- dist.orig/tests/mpz/t-mfac_uiui.c Mon May 20 14:59:58 2013 ++++ dist.nbsd/tests/mpz/t-mfac_uiui.c Wed Feb 19 16:34:37 2014 +@@ -66,7 +66,7 @@ + MPZ_CHECK_FORMAT (res); + if (mpz_cmp (ref[m], res) != 0) + { +- printf ("mpz_mfac_uiui(%lu,&i) wrong\n", n, MULTIFAC_WHEEL); ++ printf ("mpz_mfac_uiui(%lu,%d) wrong\n", n, MULTIFAC_WHEEL); + printf (" got "); mpz_out_str (stdout, 10, res); printf("\n"); + printf (" want "); mpz_out_str (stdout, 10, ref[m]); printf("\n"); + abort (); +@@ -75,7 +75,7 @@ + MPZ_CHECK_FORMAT (res); + if (mpz_cmp (ref2[m2], res) != 0) + { +- printf ("mpz_mfac_uiui(%lu,&i) wrong\n", n, MULTIFAC_WHEEL2); ++ printf ("mpz_mfac_uiui(%lu,%d) wrong\n", n, MULTIFAC_WHEEL2); + printf (" got "); mpz_out_str (stdout, 10, res); printf("\n"); + printf (" want "); mpz_out_str (stdout, 10, ref2[m2]); printf("\n"); + abort (); +diff -rNU3 dist.orig/tests/rand/findlc.c dist.nbsd/tests/rand/findlc.c +--- dist.orig/tests/rand/findlc.c Mon May 20 14:59:58 2013 ++++ dist.nbsd/tests/rand/findlc.c Wed Feb 19 16:34:37 2014 @@ -27,7 +27,7 @@ #define RCSID(msg) \ static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg } -RCSID("$Id$"); -+RCSID("$Id: findlc.c,v 1.1.1.1 2011/06/20 05:54:47 mrg Exp $"); ++RCSID("$Id: findlc.c,v 1.1.1.2 2013/11/29 07:49:48 mrg Exp $"); int g_debug = 0; diff --git a/external/lgpl2/mpc/fetch.sh b/external/lgpl3/mpc/fetch.sh similarity index 60% rename from external/lgpl2/mpc/fetch.sh rename to external/lgpl3/mpc/fetch.sh index 5a5f583b4..612be44a7 100755 --- a/external/lgpl2/mpc/fetch.sh +++ b/external/lgpl3/mpc/fetch.sh @@ -5,8 +5,8 @@ echo $0 cd `dirname $0` # Configure fetch method -URL="http://www.minix3.org/distfiles-minix/mpc-0.9.tar.gz" -BACKUP_URL="http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz" +URL="http://www.minix3.org/distfiles-minix/mpc-1.0.1.tar.gz" +BACKUP_URL="http://www.multiprecision.org/mpc/download/mpc-1.0.1.tar.gz" FETCH=wget which curl >/dev/null if [ $? -eq 0 ]; then @@ -16,14 +16,14 @@ fi # Fetch sources if not available if [ ! -d dist ]; then - if [ ! -f mpc-0.9.tar.gz ]; then + if [ ! -f mpc-1.0.1.tar.gz ]; then $FETCH $URL if [ $? -ne 0 ]; then $FETCH $BACKUP_URL fi fi - tar -oxzf mpc-0.9.tar.gz - mv mpc-0.9 dist + tar -oxzf mpc-1.0.1.tar.gz + mv mpc-1.0.1 dist fi diff --git a/external/lgpl2/mpc/lib/libmpc/Makefile b/external/lgpl3/mpc/lib/libmpc/Makefile similarity index 82% rename from external/lgpl2/mpc/lib/libmpc/Makefile rename to external/lgpl3/mpc/lib/libmpc/Makefile index 0ac4b73ec..62d4853fb 100644 --- a/external/lgpl2/mpc/lib/libmpc/Makefile +++ b/external/lgpl3/mpc/lib/libmpc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2011/09/21 02:06:42 mrg Exp $ +# $NetBSD: Makefile,v 1.2 2013/11/28 14:21:31 mrg Exp $ .include @@ -32,8 +32,10 @@ SRCS= \ cmp.c \ cmp_si_si.c \ conj.c \ + cos.c \ cosh.c \ - div_2exp.c \ + div_2si.c \ + div_2ui.c \ div.c \ div_fr.c \ div_ui.c \ @@ -41,18 +43,19 @@ SRCS= \ fma.c \ fr_div.c \ fr_sub.c \ - get.c \ get_prec2.c \ get_prec.c \ - get_str.c \ get_version.c \ + get_x.c \ imag.c \ init2.c \ init3.c \ inp_str.c \ log.c \ + log10.c \ mem.c \ - mul_2exp.c \ + mul_2si.c \ + mul_2ui.c \ mul.c \ mul_fr.c \ mul_i.c \ @@ -76,6 +79,7 @@ SRCS= \ set_str.c \ set_x.c \ set_x_x.c \ + sin.c \ sin_cos.c \ sinh.c \ sqr.c \ @@ -94,8 +98,9 @@ SRCS= \ CPPFLAGS+= -I${.CURDIR} # Find and -CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${MACHINE_ARCH} -CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/mpfr/dist +GMP_MACHINE_ARCH=${MACHINE_ARCH:C/armv[4-7]/arm/} +CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${GMP_MACHINE_ARCH} +CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/mpfr/dist/src .include diff --git a/external/lgpl2/mpc/lib/libmpc/config.h b/external/lgpl3/mpc/lib/libmpc/config.h similarity index 88% rename from external/lgpl2/mpc/lib/libmpc/config.h rename to external/lgpl3/mpc/lib/libmpc/config.h index 61384f169..dce8cac01 100644 --- a/external/lgpl2/mpc/lib/libmpc/config.h +++ b/external/lgpl3/mpc/lib/libmpc/config.h @@ -1,7 +1,7 @@ /* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Define to 1 if you have the header file. */ +/* complex.h present and usable */ #define HAVE_COMPLEX_H 1 /* Define to 1 if you have the header file. */ @@ -13,9 +13,6 @@ /* Define to 1 if you have the `dup2' function. */ #define HAVE_DUP2 1 -/* Define to 1 if you have the `fileno' function. */ -#define HAVE_FILENO 1 - /* Define to 1 if you have the `gettimeofday' function. */ #define HAVE_GETTIMEOFDAY 1 @@ -28,9 +25,6 @@ /* Library dl present */ /* #undef HAVE_LIBDL */ -/* Define to 1 if you have the `m' library (-lm). */ -#define HAVE_LIBM 1 - /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 @@ -74,8 +68,20 @@ */ #define LT_OBJDIR ".libs/" +/* C compiler */ +#define MPC_CC "gcc" + +/* Gcc yes or no */ +#define MPC_GCC "yes" + +/* Version of gcc */ +#define MPC_GCC_VERSION "4.5.3" + /* Do not check mpc_out_str on stdout */ -/* #undef NO_STREAM_REDIRECTION */ +/* #undef MPC_NO_STREAM_REDIRECTION */ + +/* Use valgrind for make check */ +/* #undef MPC_USE_VALGRIND */ /* Name of package */ #define PACKAGE "mpc" @@ -87,7 +93,7 @@ #define PACKAGE_NAME "mpc" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "mpc 0.9" +#define PACKAGE_STRING "mpc 1.0.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "mpc" @@ -96,16 +102,16 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.9" +#define PACKAGE_VERSION "1.0.1" /* Define to 1 if you have the ANSI C header files. */ -/* #undef STDC_HEADERS */ +#define STDC_HEADERS 1 /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* Version number of package */ -#define VERSION "0.9" +#define VERSION "1.0.1" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ diff --git a/external/lgpl3/mpfr/fetch.sh b/external/lgpl3/mpfr/fetch.sh index 885bb0194..81f642c7f 100755 --- a/external/lgpl3/mpfr/fetch.sh +++ b/external/lgpl3/mpfr/fetch.sh @@ -5,8 +5,8 @@ echo $0 cd `dirname $0` # Configure fetch method -URL="http://www.minix3.org/distfiles-minix/mpfr-3.0.1.tar.bz2" -BACKUP_URL="http://www.mpfr.org/mpfr-3.0.1/mpfr-3.0.1.tar.bz2" +URL="http://www.minix3.org/distfiles-minix/mpfr-3.1.2.tar.bz2" +BACKUP_URL="http://www.mpfr.org/mpfr-3.1.2/mpfr-3.1.2.tar.bz2" FETCH=wget which curl >/dev/null if [ $? -eq 0 ]; then @@ -16,15 +16,15 @@ fi # Fetch sources if not available if [ ! -d dist ]; then - if [ ! -f mpfr-3.0.1.tar.bz2 ]; then + if [ ! -f mpfr-3.1.2.tar.bz2 ]; then $FETCH $URL if [ $? -ne 0 ]; then $FETCH $BACKUP_URL fi fi - tar -oxjf mpfr-3.0.1.tar.bz2 - mv mpfr-3.0.1 dist && \ + tar -oxjf mpfr-3.1.2.tar.bz2 + mv mpfr-3.1.2 dist && \ cd dist && \ cat ../patches/* |patch -p1 fi diff --git a/external/lgpl3/mpfr/lib/libmpfr/Makefile b/external/lgpl3/mpfr/lib/libmpfr/Makefile index 552df429b..7894be860 100644 --- a/external/lgpl3/mpfr/lib/libmpfr/Makefile +++ b/external/lgpl3/mpfr/lib/libmpfr/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.10 2012/08/10 16:10:29 joerg Exp $ +# $NetBSD: Makefile,v 1.15 2013/11/28 12:36:55 mrg Exp $ .include @@ -94,6 +94,7 @@ SRCS= \ fms.c \ frac.c \ free_cache.c \ + frexp.c \ gamma.c \ gammaonethird.c \ get_d.c \ @@ -111,6 +112,7 @@ SRCS= \ get_z.c \ get_z_exp.c \ gmp_op.c \ + grandom.c \ hypot.c \ init.c \ init2.c \ @@ -476,7 +478,9 @@ CPPFLAGS+= -I. \ -DHAVE_ATTRIBUTE_MODE=1 # Find -CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${MACHINE_ARCH} +GMP_MACHINE_ARCH=${MACHINE_ARCH:S/earmv4/arm/:C/armv[5-7]/arm/} +CPPFLAGS+= -I${NETBSDSRCDIR}/external/lgpl3/gmp/lib/libgmp/arch/${GMP_MACHINE_ARCH} +CPPFLAGS+= -I${.CURDIR}/../../dist/src # XXX # XXX XXX check mips* @@ -512,8 +516,11 @@ mparam.h: mparam_h.in ${SRCS}: mparam.h CLEANFILES+= mparam.h -.PATH: ${.CURDIR}/../../dist +.PATH: ${.CURDIR}/../../dist/src +.if !empty(MACHINE_ARCH:M*arm*) +COPTS += -marm +.endif .if ${MACHINE_ARCH} == "vax" COPTS.set_ld.c+= -Wno-error .endif diff --git a/external/lgpl3/mpfr/lib/libmpfr/shlib_version b/external/lgpl3/mpfr/lib/libmpfr/shlib_version deleted file mode 100644 index b00246649..000000000 --- a/external/lgpl3/mpfr/lib/libmpfr/shlib_version +++ /dev/null @@ -1,6 +0,0 @@ -# $NetBSD: shlib_version,v 1.1 2011/06/21 04:23:56 mrg Exp $ -# Remember to update distrib/sets/lists/base/shl.* when changing -# - -major=4 -minor=1 diff --git a/external/lgpl3/mpfr/patches/0000-mpfr.patch b/external/lgpl3/mpfr/patches/0000-mpfr.patch index cc6b27e00..596339945 100644 --- a/external/lgpl3/mpfr/patches/0000-mpfr.patch +++ b/external/lgpl3/mpfr/patches/0000-mpfr.patch @@ -1,84 +1,7 @@ -diff -r -x CVS -N -U 3 dist/ansi2knr.c dist.orig/ansi2knr.c ---- dist/ansi2knr.c 2011-04-04 12:19:46.000000000 +0200 -+++ dist.orig/ansi2knr.c 2011-06-20 07:53:13.000000000 +0200 -@@ -1,6 +1,6 @@ - /* Copyright (C) 1989, 2000 Aladdin Enterprises. All rights reserved. */ - --/*$Id: ansi2knr.c,v 1.14 2003/09/06 05:36:56 eggert Exp $*/ -+/*$Id: ansi2knr.c,v 1.1.1.1 2011/06/20 05:53:13 mrg Exp $*/ - /* Convert ANSI C function definitions to K&R ("traditional C") syntax */ - - /* -diff -r -x CVS -N -U 3 dist/asin.c dist.orig/asin.c ---- dist/asin.c 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/asin.c 2011-07-06 21:53:24.000000000 +0200 -@@ -63,11 +63,14 @@ - - compared = mpfr_cmp_ui (xp, 1); - -+ MPFR_SAVE_EXPO_MARK (expo); -+ - if (MPFR_UNLIKELY (compared >= 0)) - { - mpfr_clear (xp); - if (compared > 0) /* asin(x) = NaN for |x| > 1 */ - { -+ MPFR_SAVE_EXPO_FREE (expo); - MPFR_SET_NAN (asin); - MPFR_RET_NAN; - } -@@ -80,13 +83,11 @@ - inexact = -mpfr_const_pi (asin, MPFR_INVERT_RND(rnd_mode)); - MPFR_CHANGE_SIGN (asin); - } -- mpfr_div_2ui (asin, asin, 1, rnd_mode); /* May underflow */ -- return inexact; -+ mpfr_div_2ui (asin, asin, 1, rnd_mode); - } - } -- -- MPFR_SAVE_EXPO_MARK (expo); -- -+ else -+ { - /* Compute exponent of 1 - ABS(x) */ - mpfr_ui_sub (xp, 1, xp, MPFR_RNDD); - MPFR_ASSERTD (MPFR_GET_EXP (xp) <= 0); -@@ -115,6 +116,7 @@ - inexact = mpfr_set (asin, xp, rnd_mode); - - mpfr_clear (xp); -+ } - - MPFR_SAVE_EXPO_FREE (expo); - return mpfr_check_range (asin, inexact, rnd_mode); -diff -r -x CVS -N -U 3 dist/atan.c dist.orig/atan.c ---- dist/atan.c 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/atan.c 2011-07-06 21:53:24.000000000 +0200 -@@ -431,5 +431,5 @@ - MPFR_GROUP_CLEAR (group); - - MPFR_SAVE_EXPO_FREE (expo); -- return mpfr_check_range (arctgt, inexact, rnd_mode); -+ return mpfr_check_range (atan, inexact, rnd_mode); - } -diff -r -x CVS -N -U 3 dist/config.guess dist.orig/config.guess ---- dist/config.guess 2011-04-04 12:19:46.000000000 +0200 -+++ dist.orig/config.guess 2012-07-19 21:34:26.000000000 +0200 -@@ -968,6 +968,9 @@ - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit ;; -+ tile*:Linux:*:*) -+ echo ${UNAME_MACHINE}-unknown-linux-gnu -+ exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu - exit ;; -diff -r -x CVS -N -U 3 dist/Makefile.in dist.orig/Makefile.in ---- dist/Makefile.in 2011-04-04 12:19:46.000000000 +0200 -+++ dist.orig/Makefile.in 2011-06-21 06:03:33.000000000 +0200 -@@ -464,8 +464,12 @@ +diff -rNU3 dist.orig/Makefile.in dist.nbsd/Makefile.in +--- dist.orig/Makefile.in 2013-03-13 16:38:22.000000000 +0100 ++++ dist.nbsd/Makefile.in 2013-12-06 20:13:14.174967585 +0100 +@@ -337,8 +337,12 @@ $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) @@ -90,231 +13,24 @@ diff -r -x CVS -N -U 3 dist/Makefile.in dist.orig/Makefile.in +NetBSD_DISABLED_aclocal: $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): - mparam.h: $(top_builddir)/config.status $(srcdir)/mparam_h.in -@@ -2048,6 +2052,8 @@ - # should not be a problem in practice, in particular because "make dist" - # automatically rebuilds get_patches.c before generating the archives. - $(srcdir)/get_patches.c: PATCHES get_patches.sh -+ @echo "NOT REBUILDING $@" -+NetBSD_DISABLED_get_patches.c: - (cd $(srcdir) && ./get_patches.sh) > $@ || rm -f $@ - tune: -diff -r -x CVS -N -U 3 dist/mpfr.h dist.orig/mpfr.h ---- dist/mpfr.h 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/mpfr.h 2011-07-06 21:53:24.000000000 +0200 -@@ -27,7 +27,7 @@ - #define MPFR_VERSION_MAJOR 3 - #define MPFR_VERSION_MINOR 0 - #define MPFR_VERSION_PATCHLEVEL 1 --#define MPFR_VERSION_STRING "3.0.1" -+#define MPFR_VERSION_STRING "3.0.1-p4" - - /* Macros dealing with MPFR VERSION */ - #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) -diff -r -x CVS -N -U 3 dist/PATCHES dist.orig/PATCHES ---- dist/PATCHES 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/PATCHES 2011-07-06 21:53:24.000000000 +0200 +diff -rNU3 dist.orig/PATCHES dist.nbsd/PATCHES +--- dist.orig/PATCHES 2013-03-13 16:37:38.000000000 +0100 ++++ dist.nbsd/PATCHES 2013-12-06 20:13:14.171634202 +0100 @@ -0,0 +1,4 @@ +texp-zero +atan-expo-range +rec_sqrt-carry +asin_exprange -diff -r -x CVS -N -U 3 dist/rec_sqrt.c dist.orig/rec_sqrt.c ---- dist/rec_sqrt.c 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/rec_sqrt.c 2011-07-06 21:53:24.000000000 +0200 -@@ -375,20 +375,37 @@ - MPFR_ASSERTD(un == ln + 1 || un == ln + 2); - /* the high un-ln limbs of u will overlap the low part of {x+ln,xn}, - we need to add or subtract the overlapping part {u + ln, un - ln} */ -+ /* Warning! th may be 0, in which case the mpn_add_1 and mpn_sub_1 -+ below (with size = th) mustn't be used. In such a case, the limb -+ (carry) will be 0, so that this is semantically a no-op, but if -+ mpn_add_1 and mpn_sub_1 are used, GMP (currently) still does a -+ non-atomic read/write in a place that is not always allocated, -+ with the possible consequences: a crash if the corresponding -+ address is not mapped, or (rather unlikely) memory corruption -+ if another process/thread writes at the same place; things may -+ be worse with future GMP versions. Hence the tests carry != 0. */ - if (neg == 0) - { - if (ln > 0) - MPN_COPY (x, u, ln); - cy = mpn_add (x + ln, x + ln, xn, u + ln, un - ln); - /* add cu at x+un */ -- cy += mpn_add_1 (x + un, x + un, th, cu); -+ if (cu != 0) -+ { -+ MPFR_ASSERTD (th != 0); -+ cy += mpn_add_1 (x + un, x + un, th, cu); -+ } - } - else /* negative case */ - { - /* subtract {u+ln, un-ln} from {x+ln,un} */ - cy = mpn_sub (x + ln, x + ln, xn, u + ln, un - ln); - /* carry cy is at x+un, like cu */ -- cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */ -+ if (cy + cu != 0) -+ { -+ MPFR_ASSERTD (th != 0); -+ cy = mpn_sub_1 (x + un, x + un, th, cy + cu); /* n - un = th */ -+ } - /* cy cannot be zero, since the most significant bit of Xh is 1, - and the correction is bounded by 2^{-h+3} */ - MPFR_ASSERTD(cy == 0); -diff -r -x CVS -N -U 3 dist/tests/tasin.c dist.orig/tests/tasin.c ---- dist/tests/tasin.c 2011-04-04 12:19:17.000000000 +0200 -+++ dist.orig/tests/tasin.c 2011-07-06 21:53:24.000000000 +0200 -@@ -219,6 +219,49 @@ - mpfr_clear (y); - } +diff -rNU3 dist.orig/src/Makefile.in dist.nbsd/src/Makefile.in +--- dist.orig/src/Makefile.in 2013-03-13 16:38:21.000000000 +0100 ++++ dist.nbsd/src/Makefile.in 2013-12-06 20:13:14.181634352 +0100 +@@ -921,6 +921,8 @@ + # should not be a problem in practice, in particular because "make dist" + # automatically rebuilds get_patches.c before generating the archives. + $(srcdir)/get_patches.c: $(top_srcdir)/PATCHES $(top_srcdir)/tools/get_patches.sh ++ @echo "NOT REBUILDING $@" ++NetBSD_DISABLED_get_patches.c: + (cd $(top_srcdir) && ./tools/get_patches.sh) > $@ || rm -f $@ -+static void -+reduced_expo_range (void) -+{ -+ mpfr_exp_t emin, emax; -+ mpfr_t x, y, ex_y; -+ int inex, ex_inex; -+ unsigned int flags, ex_flags; -+ -+ emin = mpfr_get_emin (); -+ emax = mpfr_get_emax (); -+ -+ mpfr_inits2 (4, x, y, ex_y, (mpfr_ptr) 0); -+ mpfr_set_str (x, "-0.1e1", 2, MPFR_RNDN); -+ -+ mpfr_set_emin (1); -+ mpfr_set_emax (1); -+ mpfr_clear_flags (); -+ inex = mpfr_asin (y, x, MPFR_RNDA); -+ flags = __gmpfr_flags; -+ mpfr_set_emin (emin); -+ mpfr_set_emax (emax); -+ -+ mpfr_set_str (ex_y, "-0.1101e1", 2, MPFR_RNDN); -+ ex_inex = -1; -+ ex_flags = MPFR_FLAGS_INEXACT; -+ -+ if (SIGN (inex) != ex_inex || flags != ex_flags || -+ ! mpfr_equal_p (y, ex_y)) -+ { -+ printf ("Error in reduced_expo_range\non x = "); -+ mpfr_dump (x); -+ printf ("Expected y = "); -+ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags); -+ printf ("Got y = "); -+ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags); -+ exit (1); -+ } -+ -+ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0); -+} -+ - int - main (void) - { -@@ -226,6 +269,7 @@ - - special (); - special_overflow (); -+ reduced_expo_range (); - - test_generic (2, 100, 15); - -diff -r -x CVS -N -U 3 dist/tests/tatan.c dist.orig/tests/tatan.c ---- dist/tests/tatan.c 2011-04-04 12:19:17.000000000 +0200 -+++ dist.orig/tests/tatan.c 2011-07-06 21:53:24.000000000 +0200 -@@ -535,6 +535,52 @@ - mpfr_clears (a, x, y, (mpfr_ptr) 0); - } - -+/* http://websympa.loria.fr/wwsympa/arc/mpfr/2011-05/msg00008.html -+ * Incorrect flags (in debug mode on a 32-bit machine, assertion failure). -+ */ -+static void -+reduced_expo_range (void) -+{ -+ mpfr_exp_t emin, emax; -+ mpfr_t x, y, ex_y; -+ int inex, ex_inex; -+ unsigned int flags, ex_flags; -+ -+ emin = mpfr_get_emin (); -+ emax = mpfr_get_emax (); -+ -+ mpfr_inits2 (12, x, y, ex_y, (mpfr_ptr) 0); -+ mpfr_set_str (x, "0.1e-5", 2, MPFR_RNDN); -+ -+ mpfr_set_emin (-5); -+ mpfr_set_emax (-5); -+ mpfr_clear_flags (); -+ inex = mpfr_atan (y, x, MPFR_RNDN); -+ flags = __gmpfr_flags; -+ mpfr_set_emin (emin); -+ mpfr_set_emax (emax); -+ -+ mpfr_set_str (ex_y, "0.1e-5", 2, MPFR_RNDN); -+ ex_inex = 1; -+ ex_flags = MPFR_FLAGS_INEXACT; -+ -+ if (SIGN (inex) != ex_inex || flags != ex_flags || -+ ! mpfr_equal_p (y, ex_y)) -+ { -+ printf ("Error in reduced_expo_range\non x = "); -+ mpfr_dump (x); -+ printf ("Expected y = "); -+ mpfr_out_str (stdout, 2, 0, ex_y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", ex_inex, ex_flags); -+ printf ("Got y = "); -+ mpfr_out_str (stdout, 2, 0, y, MPFR_RNDN); -+ printf ("\n inex = %d, flags = %u\n", SIGN (inex), flags); -+ exit (1); -+ } -+ -+ mpfr_clears (x, y, ex_y, (mpfr_ptr) 0); -+} -+ - int - main (int argc, char *argv[]) - { -@@ -546,6 +592,7 @@ - smallvals_atan2 (); - atan2_bug_20071003 (); - atan2_different_prec (); -+ reduced_expo_range (); - - test_generic_atan (2, 200, 17); - test_generic_atan2 (2, 200, 17); -diff -r -x CVS -N -U 3 dist/tests/texp.c dist.orig/tests/texp.c ---- dist/tests/texp.c 2011-04-04 12:19:17.000000000 +0200 -+++ dist.orig/tests/texp.c 2011-07-06 21:53:24.000000000 +0200 -@@ -170,7 +170,9 @@ - mpfr_set_prec (x, prec); - mpfr_set_prec (y, prec); - mpfr_set_prec (z, prec); -- mpfr_urandomb (x, RANDS); -+ do -+ mpfr_urandomb (x, RANDS); -+ while (MPFR_IS_ZERO (x)); /* 0 is handled by mpfr_exp only */ - rnd = RND_RAND (); - mpfr_exp_2 (y, x, rnd); - mpfr_exp_3 (z, x, rnd); -diff -r -x CVS -N -U 3 dist/VERSION dist.orig/VERSION ---- dist/VERSION 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/VERSION 2011-07-06 21:53:24.000000000 +0200 -@@ -1 +1 @@ --3.0.1 -+3.0.1-p4 -diff -r -x CVS -N -U 3 dist/version.c dist.orig/version.c ---- dist/version.c 2011-04-04 12:19:18.000000000 +0200 -+++ dist.orig/version.c 2011-07-06 21:53:24.000000000 +0200 -@@ -25,5 +25,5 @@ - const char * - mpfr_get_version (void) - { -- return "3.0.1"; -+ return "3.0.1-p4"; - } + # Do not add get_patches.c to CLEANFILES so that this file doesn't diff --git a/external/mit/lua/lib/liblua/Makefile b/external/mit/lua/lib/liblua/Makefile index f2be41471..28b32bb05 100644 --- a/external/mit/lua/lib/liblua/Makefile +++ b/external/mit/lua/lib/liblua/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.4 2013/02/15 20:07:06 jmmv Exp $ +# $NetBSD: Makefile,v 1.5 2013/09/11 09:59:52 joerg Exp $ LIB= lua SRCS= lapi.c lauxlib.c lbaselib.c lcode.c ldblib.c ldebug.c ldo.c \ @@ -15,6 +15,8 @@ INCSDIR= /usr/include CFLAGS+= -DLUA_USE_POSIX -DLUA_USE_DLOPEN CWARNFLAGS.clang+= -Wno-empty-body +LIBDPLIBS+= m ${NETBSDSRCDIR}/lib/libm + .PATH: ${NETBSDSRCDIR}/external/mit/lua/dist/etc .PATH: ${NETBSDSRCDIR}/external/mit/lua/dist/src diff --git a/external/public-domain/xz/lib/Makefile b/external/public-domain/xz/lib/Makefile index dc2724753..a5d16d386 100644 --- a/external/public-domain/xz/lib/Makefile +++ b/external/public-domain/xz/lib/Makefile @@ -24,11 +24,7 @@ INCS+= base.h bcj.h block.h check.h container.h delta.h \ INCSDIR= /usr/include/lzma -LDFLAGS+= -Wl,-z,defs - -.if defined(__MINIX) -LDFLAGS+= -lc -.endif +LDFLAGS+= -Wl,-z,defs CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/check CPPFLAGS+= -I${XZSRCDIR}/src/liblzma/common diff --git a/external/public-domain/xz/lib/shlib_version b/external/public-domain/xz/lib/shlib_version index 6439d6f67..785d20cb9 100644 --- a/external/public-domain/xz/lib/shlib_version +++ b/external/public-domain/xz/lib/shlib_version @@ -1,4 +1,4 @@ # $NetBSD: shlib_version,v 1.2 2012/02/28 14:22:22 joerg Exp $ # -major=0 -minor=0 +major=1 +minor=1 diff --git a/gnu/Makefile b/gnu/Makefile index 9b3f36e82..0a87a3f14 100644 --- a/gnu/Makefile +++ b/gnu/Makefile @@ -1,6 +1,9 @@ # $NetBSD: Makefile,v 1.17 2010/12/03 21:38:47 plunky Exp $ -SUBDIR+= dist .WAIT usr.bin +.if defined(__MINIX) +SUBDIR+= dist .WAIT +.endif # defined(__MINIX) +SUBDIR+= usr.bin # Speedup stubs for some subtrees that don't need to run these rules includes-libexec: diff --git a/gnu/usr.bin/Makefile b/gnu/usr.bin/Makefile index 663c1c7ba..0f7405e3e 100644 --- a/gnu/usr.bin/Makefile +++ b/gnu/usr.bin/Makefile @@ -1,13 +1,15 @@ -# $NetBSD: Makefile,v 1.136 2012/08/10 12:11:30 joerg Exp $ +# $NetBSD: Makefile,v 1.137 2012/11/06 12:25:56 skrll Exp $ .include -#SUBDIR+= bc -#SUBDIR+= c89 c99 -#SUBDIR+= dc diffutils gkermit +.if defined(__MINIX) SUBDIR+= texinfo +.else +SUBDIR+= bc +SUBDIR+= c89 c99 +SUBDIR+= dc diffutils gkermit +SUBDIR+= rcs send-pr texinfo -.if !defined(__MINIX) .if ${MKBSDGREP} == "no" SUBDIR+= grep .endif @@ -18,12 +20,6 @@ SUBDIR+= groff SUBDIR+= gettext -.if ${MKGDB} != "no" -.if ${HAVE_GDB} == "6" -SUBDIR+= gdb6 -.endif -.endif - .if ${MKGCC} != "no" .if ${HAVE_GCC} == 4 .if ${MKGCCCMDS} != "no" @@ -31,6 +27,6 @@ SUBDIR+= gcc4 .endif .endif .endif -.endif #!defined(__MINIX) +.endif # defined(__MINIX) .include diff --git a/gnu/usr.bin/texinfo/common/config.h b/gnu/usr.bin/texinfo/common/config.h index 4b5f57a6e..9849fba92 100644 --- a/gnu/usr.bin/texinfo/common/config.h +++ b/gnu/usr.bin/texinfo/common/config.h @@ -19,7 +19,7 @@ /* #undef GWINSZ_IN_SYS_IOCTL */ /* Define to 1 if you have `alloca', as a function or macro. */ -/* #undef HAVE_ALLOCA */ +#define HAVE_ALLOCA 1 /* Define to 1 if you have and it should be used (not on Ultrix). */ @@ -166,10 +166,10 @@ #define HAVE_MKSTEMP 1 /* Define to 1 if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ +#define HAVE_MMAP 1 /* Define to 1 if you have the `munmap' function. */ -/* #undef HAVE_MUNMAP */ +#define HAVE_MUNMAP 1 /* Define to 1 if you have the header file. */ /* #undef HAVE_NCURSES_TERMCAP_H */ diff --git a/gnu/usr.bin/texinfo/install-info/Makefile b/gnu/usr.bin/texinfo/install-info/Makefile index 28f852e13..cd8225b2a 100644 --- a/gnu/usr.bin/texinfo/install-info/Makefile +++ b/gnu/usr.bin/texinfo/install-info/Makefile @@ -1,10 +1,5 @@ # $NetBSD: Makefile,v 1.10 2004/02/09 06:52:34 lukem Exp $ -.if defined(__MINIX) -NOCLANGERROR=yes -NOGCCERROR=yes -.endif - PROG= install-info SRCS= install-info.c diff --git a/gnu/usr.bin/texinfo/texindex/Makefile b/gnu/usr.bin/texinfo/texindex/Makefile index 4a24d4586..fe651aa39 100644 --- a/gnu/usr.bin/texinfo/texindex/Makefile +++ b/gnu/usr.bin/texinfo/texindex/Makefile @@ -1,10 +1,5 @@ # $NetBSD: Makefile,v 1.4 2003/01/17 15:32:25 wiz Exp $ -.if defined(__MINIX) -NOGCCERROR=yes -NOCLANGERROR=yes -.endif - PROG= texindex SRCS= texindex.c diff --git a/include/Makefile b/include/Makefile index baaf46271..2e5844b23 100644 --- a/include/Makefile +++ b/include/Makefile @@ -42,7 +42,6 @@ INCS+= ieeefp.h INCS+= env.h fetch.h lib.h libutil.h varargs.h .endif - .include @@ -53,16 +52,15 @@ INCSDIR= /usr/include # rpcgen, which can be compiled if needed. .else SUBDIR= rpc -.endif +.endif # defined(__MINIX) SUBDIR+= ../common/include/prop .if defined(__MINIX) SUBDIR+= arch sys minix SUBDIR+= net SUBDIR+= ddekit -.else +.endif # defined(__MINIX) SUBDIR+= ../common/include/ppath -.endif .include .include diff --git a/include/arch/earm/include/Makefile b/include/arch/earm/include/Makefile index a5a90fc08..eaf08d24e 100644 --- a/include/arch/earm/include/Makefile +++ b/include/arch/earm/include/Makefile @@ -1,5 +1,5 @@ -INCSDIR= /usr/include/evbarm +INCSDIR= /usr/include/arm INCS= archconst.h archtypes.h diskparm.h elf.h interrupt.h \ ipcconst.h memory.h multiboot.h partition.h \ diff --git a/include/complex.h b/include/complex.h index 332be6f80..ee31c771c 100644 --- a/include/complex.h +++ b/include/complex.h @@ -1,4 +1,4 @@ -/* $NetBSD: complex.h,v 1.3 2010/09/15 16:11:30 christos Exp $ */ +/* $NetBSD: complex.h,v 1.4 2013/01/28 23:19:50 matt Exp $ */ /* * Written by Matthias Drochner. @@ -20,60 +20,74 @@ __BEGIN_DECLS /* 7.3.5.1 The cacos functions */ double complex cacos(double complex); float complex cacosf(float complex); +long double complex cacosl(long double complex); /* 7.3.5.2 The casin functions */ double complex casin(double complex); float complex casinf(float complex); +long double complex casinl(long double complex); /* 7.3.5.1 The catan functions */ double complex catan(double complex); float complex catanf(float complex); +long double complex catanl(long double complex); /* 7.3.5.1 The ccos functions */ double complex ccos(double complex); float complex ccosf(float complex); +long double complex ccosl(long double complex); /* 7.3.5.1 The csin functions */ double complex csin(double complex); float complex csinf(float complex); +long double complex csinl(long double complex); /* 7.3.5.1 The ctan functions */ double complex ctan(double complex); float complex ctanf(float complex); +long double complex ctanl(long double complex); /* 7.3.6 Hyperbolic functions */ /* 7.3.6.1 The cacosh functions */ double complex cacosh(double complex); float complex cacoshf(float complex); +long double complex cacoshl(long double complex); /* 7.3.6.2 The casinh functions */ double complex casinh(double complex); float complex casinhf(float complex); +long double complex casinhl(long double complex); /* 7.3.6.3 The catanh functions */ double complex catanh(double complex); float complex catanhf(float complex); +long double complex catanhl(long double complex); /* 7.3.6.4 The ccosh functions */ double complex ccosh(double complex); float complex ccoshf(float complex); +long double complex ccoshl(long double complex); /* 7.3.6.5 The csinh functions */ double complex csinh(double complex); float complex csinhf(float complex); +long double complex csinhl(long double complex); /* 7.3.6.6 The ctanh functions */ double complex ctanh(double complex); float complex ctanhf(float complex); +long double complex ctanhl(long double complex); /* 7.3.7 Exponential and logarithmic functions */ /* 7.3.7.1 The cexp functions */ double complex cexp(double complex); float complex cexpf(float complex); +long double complex cexpl(long double complex); /* 7.3.7.2 The clog functions */ double complex clog(double complex); float complex clogf(float complex); +long double complex clogl(long double complex); /* 7.3.8 Power and absolute-value functions */ /* 7.3.8.1 The cabs functions */ @@ -81,20 +95,24 @@ float complex clogf(float complex); /* avoid conflict with historical cabs(struct complex) */ double cabs(double complex) __RENAME(__c99_cabs); float cabsf(float complex) __RENAME(__c99_cabsf); +long double cabsl(long double complex) __RENAME(__c99_cabsl); #endif /* 7.3.8.2 The cpow functions */ double complex cpow(double complex, double complex); float complex cpowf(float complex, float complex); +long double complex cpowl(long double complex, long double complex); /* 7.3.8.3 The csqrt functions */ double complex csqrt(double complex); float complex csqrtf(float complex); +long double complex csqrtl(long double complex); /* 7.3.9 Manipulation functions */ /* 7.3.9.1 The carg functions */ double carg(double complex); float cargf(float complex); +long double cargl(long double complex); /* 7.3.9.2 The cimag functions */ double cimag(double complex); diff --git a/include/ctype.h b/include/ctype.h index daef1b88f..cf5c18d70 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -1,4 +1,4 @@ -/* $NetBSD: ctype.h,v 1.31 2010/06/01 13:52:08 tnozaki Exp $ */ +/* $NetBSD: ctype.h,v 1.34 2013/04/28 19:39:56 joerg Exp $ */ /* * Copyright (c) 1989 The Regents of the University of California. @@ -57,6 +57,28 @@ int isxdigit(int); int tolower(int); int toupper(int); +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif + +int isalnum_l(int, locale_t); +int isalpha_l(int, locale_t); +int isblank_l(int, locale_t); +int iscntrl_l(int, locale_t); +int isdigit_l(int, locale_t); +int isgraph_l(int, locale_t); +int islower_l(int, locale_t); +int isprint_l(int, locale_t); +int ispunct_l(int, locale_t); +int isspace_l(int, locale_t); +int isupper_l(int, locale_t); +int isxdigit_l(int, locale_t); +int tolower_l(int, locale_t); +int toupper_l(int, locale_t); +#endif + #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) int isascii(int); int toascii(int); @@ -70,8 +92,11 @@ int isblank(int); #endif __END_DECLS -#if defined(_NETBSD_SOURCE) && !defined(_CTYPE_NOINLINE) +#if defined(_NETBSD_SOURCE) && !defined(_CTYPE_NOINLINE) && \ + !defined(__cplusplus) #include +#else +#include #endif #endif /* !_CTYPE_H_ */ diff --git a/include/db.h b/include/db.h index b3e05111b..e7a804ff9 100644 --- a/include/db.h +++ b/include/db.h @@ -1,4 +1,4 @@ -/* $NetBSD: db.h,v 1.25 2012/03/13 21:14:55 christos Exp $ */ +/* $NetBSD: db.h,v 1.26 2013/12/01 00:23:11 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -220,6 +220,9 @@ DB *__bt_open(const char *, int, mode_t, const BTREEINFO *, int); DB *__hash_open(const char *, int, mode_t, const HASHINFO *, int); DB *__rec_open(const char *, int, mode_t, const RECNOINFO *, int); void __dbpanic(DB *); +struct stat; +int __dbopen(const char *, int, mode_t, struct stat *); +int __dbtemp(const char *, struct stat *); #endif __END_DECLS #endif /* !_DB_H_ */ diff --git a/include/fenv.h b/include/fenv.h index fb3a4d785..7af3847c5 100644 --- a/include/fenv.h +++ b/include/fenv.h @@ -1,4 +1,4 @@ -/* $NetBSD: fenv.h,v 1.7 2012/03/22 03:06:06 dholland Exp $ */ +/* $NetBSD: fenv.h,v 1.9 2013/04/28 21:07:36 matt Exp $ */ /* * Copyright (c) 2010 The NetBSD Foundation, Inc. * All rights reserved. @@ -25,13 +25,15 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#if !defined(__i386__) && !defined(__amd64__) && !defined(__sparc__) +#if !defined(__arm__) && !defined(__i386__) \ + && !defined(__sparc__) && !defined(__x86_64__) #error "fenv.h is currently not supported for this architecture" #endif #ifndef _FENV_H_ #define _FENV_H_ +#include #include __BEGIN_DECLS diff --git a/include/heimdal/config.h b/include/heimdal/config.h deleted file mode 100644 index 965e28cf5..000000000 --- a/include/heimdal/config.h +++ /dev/null @@ -1,1477 +0,0 @@ -/* include/config.h. Generated from config.h.in by configure. */ -/* include/config.h.in. Generated from configure.in by autoheader. */ - -#if HAVE_NBTOOL_CONFIG_H -#include "nbtool_config.h" -#else - -#if 0 -#ifndef __RCSID -#define __RCSID(msg) \ -static /**/const char *const rcsid[] = { (const char *)rcsid, "@(#)" msg } -#endif -#endif - -/* Maximum values on all known systems */ -#define MaxHostNameLen (64+4) -#define MaxPathLen (1024+4) - - - -#ifdef BUILD_KRB5_LIB -#ifndef KRB5_LIB_FUNCTION -#ifdef _WIN32_ -#define KRB5_LIB_FUNCTION _export _stdcall -#else -#define KRB5_LIB_FUNCTION -#endif -#endif -#endif - - -#ifdef BUILD_ROKEN_LIB -#ifndef ROKEN_LIB_FUNCTION -#ifdef _WIN32_ -#define ROKEN_LIB_FUNCTION _export _stdcall -#else -#define ROKEN_LIB_FUNCTION -#endif -#endif -#endif - - -/* Define if you want authentication support in telnet. */ -#define AUTHENTICATION 1 - -/* path to bin */ -#define BINDIR "/usr/heimdal/bin" - -/* Define if realloc(NULL) doesn't work. */ -/* #undef BROKEN_REALLOC */ - -/* Define if you want support for DCE/DFS PAG's. */ -/* #undef DCE */ - -/* Define if you want to use DES encryption in telnet. */ -#define DES_ENCRYPTION 1 - -/* Define this to enable diagnostics in telnet. */ -#define DIAGNOSTICS 1 - -/* Define if want to use the weak AFS string to key functions. */ -#define ENABLE_AFS_STRING_TO_KEY 1 - -/* Define if you want have a thread safe libraries */ -#define ENABLE_PTHREAD_SUPPORT 1 - -/* Define if you want encryption support in telnet. */ -#define ENCRYPTION 1 - -/* define if sys/param.h defines the endiness */ -#define ENDIANESS_IN_SYS_PARAM_H 1 - -/* Define this if you want support for broken ENV_{VAR,VAL} telnets. */ -/* #undef ENV_HACK */ - -/* define if prototype of gethostbyaddr is compatible with struct hostent - *gethostbyaddr(const void *, size_t, int) */ -/* #undef GETHOSTBYADDR_PROTO_COMPATIBLE */ - -/* define if prototype of gethostbyname is compatible with struct hostent - *gethostbyname(const char *) */ -#define GETHOSTBYNAME_PROTO_COMPATIBLE 1 - -/* define if prototype of getservbyname is compatible with struct servent - *getservbyname(const char *, const char *) */ -#define GETSERVBYNAME_PROTO_COMPATIBLE 1 - -/* define if prototype of getsockname is compatible with int getsockname(int, - struct sockaddr*, socklen_t*) */ -#define GETSOCKNAME_PROTO_COMPATIBLE 1 - -/* Define if you have the `altzone' variable. */ -/* #undef HAVE_ALTZONE */ - -/* Define to 1 if you have the `arc4random' function. */ -#define HAVE_ARC4RANDOM 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ARPA_FTP_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ARPA_INET_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ARPA_NAMESER_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ARPA_TELNET_H 1 - -/* Define to 1 if you have the `asnprintf' function. */ -/* #undef HAVE_ASNPRINTF */ - -/* Define to 1 if you have the `asprintf' function. */ -#define HAVE_ASPRINTF 1 - -/* Define to 1 if you have the `atexit' function. */ -#define HAVE_ATEXIT 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_BIND_BITYPES_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_BSDSETJMP_H */ - -/* Define to 1 if you have the `bswap16' function. */ -#define HAVE_BSWAP16 1 - -/* Define to 1 if you have the `bswap32' function. */ -#define HAVE_BSWAP32 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_CAPABILITY_H */ - -/* Define to 1 if you have the `cap_set_proc' function. */ -/* #undef HAVE_CAP_SET_PROC */ - -/* Define to 1 if you have the `cgetent' function. */ -#define HAVE_CGETENT 1 - -/* Define if you have the function `chown'. */ -#define HAVE_CHOWN 1 - -/* Define if you have the function `closefrom'. */ -#define HAVE_CLOSEFROM 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_CONFIG_H */ - -/* Define if you have the function `copyhostent'. */ -/* #undef HAVE_COPYHOSTENT */ - -/* Define to 1 if you have the `crypt' function. */ -#define HAVE_CRYPT 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_CRYPT_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_CURSES_H 1 - -/* Define if you have the function `daemon'. */ -#define HAVE_DAEMON 1 - -/* define if you have a berkeley db1/2 library */ -#define HAVE_DB1 1 - -/* define if you have a berkeley db3/4 library */ -/* #undef HAVE_DB3 */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DB3_DB_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DB4_DB_H */ - -/* Define to 1 if you have the `dbm_firstkey' function. */ -#define HAVE_DBM_FIRSTKEY 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DBM_H */ - -/* Define to 1 if you have the `dbopen' function. */ -#define HAVE_DBOPEN 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DB_185_H */ - -/* Define to 1 if you have the `db_create' function. */ -/* #undef HAVE_DB_CREATE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_DB_H 1 - -/* define if you have ndbm compat in db */ -/* #undef HAVE_DB_NDBM */ - -/* Define to 1 if you have the declaration of `altzone', and to 0 if you - don't. */ -/* #undef HAVE_DECL_ALTZONE */ - -/* Define to 1 if you have the declaration of `environ', and to 0 if you - don't. */ -#define HAVE_DECL_ENVIRON 0 - -/* Define to 1 if you have the declaration of `h_errlist', and to 0 if you - don't. */ -#define HAVE_DECL_H_ERRLIST 0 - -/* Define to 1 if you have the declaration of `h_errno', and to 0 if you - don't. */ -#define HAVE_DECL_H_ERRNO 1 - -/* Define to 1 if you have the declaration of `h_nerr', and to 0 if you don't. - */ -#define HAVE_DECL_H_NERR 0 - -/* Define to 1 if you have the declaration of `optarg', and to 0 if you don't. - */ -#define HAVE_DECL_OPTARG 1 - -/* Define to 1 if you have the declaration of `opterr', and to 0 if you don't. - */ -#define HAVE_DECL_OPTERR 1 - -/* Define to 1 if you have the declaration of `optind', and to 0 if you don't. - */ -#define HAVE_DECL_OPTIND 1 - -/* Define to 1 if you have the declaration of `optopt', and to 0 if you don't. - */ -#define HAVE_DECL_OPTOPT 1 - -/* Define to 1 if you have the declaration of `timezone', and to 0 if you - don't. */ -#define HAVE_DECL_TIMEZONE 1 - -/* Define to 1 if you have the declaration of `_res', and to 0 if you don't. - */ -#define HAVE_DECL__RES 1 - -/* Define to 1 if you have the declaration of `__progname', and to 0 if you - don't. */ -#define HAVE_DECL___PROGNAME 0 - -/* Define to 1 if you have the header file. */ -#define HAVE_DIRENT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have the `dlopen' function. */ -#define HAVE_DLOPEN 1 - -/* Define to 1 if you have the `dn_expand' function. */ -#define HAVE_DN_EXPAND 1 - -/* Define to 1 if you have the `door_create' function. */ -/* #undef HAVE_DOOR_CREATE */ - -/* Define if you have the function `ecalloc'. */ -/* #undef HAVE_ECALLOC */ - -/* Define to 1 if you have the `el_init' function. */ -#define HAVE_EL_INIT 1 - -/* Define if you have the function `emalloc'. */ -/* #undef HAVE_EMALLOC */ - -/* Define if you have the function `erealloc'. */ -/* #undef HAVE_EREALLOC */ - -/* Define if you have the function `err'. */ -#define HAVE_ERR 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ERRNO_H 1 - -/* Define if you have the function `errx'. */ -#define HAVE_ERRX 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ERR_H 1 - -/* Define if you have the function `estrdup'. */ -/* #undef HAVE_ESTRDUP */ - -/* Define if you have the function `fchown'. */ -#define HAVE_FCHOWN 1 - -/* Define to 1 if you have the `fcntl' function. */ -#define HAVE_FCNTL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_FCNTL_H 1 - -/* Define if you have the function `flock'. */ -#define HAVE_FLOCK 1 - -/* Define if you have the function `fnmatch'. */ -#define HAVE_FNMATCH 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_FNMATCH_H 1 - -/* Define if el_init takes four arguments. */ -#define HAVE_FOUR_VALUED_EL_INIT 1 - -/* Have -framework Security */ -/* #undef HAVE_FRAMEWORK_SECURITY */ - -/* Define to 1 if you have the `freeaddrinfo' function. */ -#define HAVE_FREEADDRINFO 1 - -/* Define if you have the function `freehostent'. */ -/* #undef HAVE_FREEHOSTENT */ - -/* Define to 1 if you have the `gai_strerror' function. */ -#define HAVE_GAI_STRERROR 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_GDBM_NDBM_H */ - -/* Define to 1 if you have the `getaddrinfo' function. */ -#define HAVE_GETADDRINFO 1 - -/* Define to 1 if you have the `getconfattr' function. */ -/* #undef HAVE_GETCONFATTR */ - -/* Define if you have the function `getcwd'. */ -#define HAVE_GETCWD 1 - -/* Define if you have the function `getdtablesize'. */ -#define HAVE_GETDTABLESIZE 1 - -/* Define if you have the function `getegid'. */ -#define HAVE_GETEGID 1 - -/* Define if you have the function `geteuid'. */ -#define HAVE_GETEUID 1 - -/* Define if you have the function `getgid'. */ -#define HAVE_GETGID 1 - -/* Define to 1 if you have the `gethostbyname' function. */ -#define HAVE_GETHOSTBYNAME 1 - -/* Define to 1 if you have the `gethostbyname2' function. */ -#define HAVE_GETHOSTBYNAME2 1 - -/* Define if you have the function `gethostname'. */ -#define HAVE_GETHOSTNAME 1 - -/* Define if you have the function `getifaddrs'. */ -#define HAVE_GETIFADDRS 1 - -/* Define if you have the function `getipnodebyaddr'. */ -/* #undef HAVE_GETIPNODEBYADDR */ - -/* Define if you have the function `getipnodebyname'. */ -/* #undef HAVE_GETIPNODEBYNAME */ - -/* Define to 1 if you have the `getlogin' function. */ -#define HAVE_GETLOGIN 1 - -/* Define if you have a working getmsg. */ -/* #undef HAVE_GETMSG */ - -/* Define to 1 if you have the `getnameinfo' function. */ -#define HAVE_GETNAMEINFO 1 - -/* Define if you have the function `getopt'. */ -#define HAVE_GETOPT 1 - -/* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 - -/* Define to 1 if you have the `getpeereid' function. */ -/* #undef HAVE_GETPEEREID */ - -/* Define to 1 if you have the `getpeerucred' function. */ -/* #undef HAVE_GETPEERUCRED */ - -/* Define to 1 if you have the `getprogname' function. */ -#define HAVE_GETPROGNAME 1 - -/* Define to 1 if you have the `getpwnam_r' function. */ -#define HAVE_GETPWNAM_R 1 - -/* Define to 1 if you have the `getrlimit' function. */ -#define HAVE_GETRLIMIT 1 - -/* Define to 1 if you have the `getsockopt' function. */ -#define HAVE_GETSOCKOPT 1 - -/* Define to 1 if you have the `getspnam' function. */ -/* #undef HAVE_GETSPNAM */ - -/* Define if you have the function `gettimeofday'. */ -#define HAVE_GETTIMEOFDAY 1 - -/* Define to 1 if you have the `getudbnam' function. */ -/* #undef HAVE_GETUDBNAM */ - -/* Define if you have the function `getuid'. */ -#define HAVE_GETUID 1 - -/* Define if you have the function `getusershell'. */ -#define HAVE_GETUSERSHELL 1 - -/* define if you have a glob() that groks GLOB_BRACE, GLOB_NOCHECK, - GLOB_QUOTE, GLOB_TILDE, and GLOB_LIMIT */ -#define HAVE_GLOB 1 - -/* Define to 1 if you have the `grantpt' function. */ -#define HAVE_GRANTPT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_GRP_H 1 - -/* Define to 1 if you have the `hstrerror' function. */ -#define HAVE_HSTRERROR 1 - -/* Define if you have the `h_errlist' variable. */ -#define HAVE_H_ERRLIST 1 - -/* Define if you have the `h_errno' variable. */ -#define HAVE_H_ERRNO 1 - -/* Define if you have the `h_nerr' variable. */ -#define HAVE_H_NERR 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_IFADDRS_H 1 - -/* Define if you have the in6addr_loopback variable */ -#define HAVE_IN6ADDR_LOOPBACK 1 - -/* define */ -#define HAVE_INET_ATON 1 - -/* define */ -#define HAVE_INET_NTOP 1 - -/* define */ -#define HAVE_INET_PTON 1 - -/* Define if you have the function `initgroups'. */ -#define HAVE_INITGROUPS 1 - -/* Define to 1 if you have the `initstate' function. */ -#define HAVE_INITSTATE 1 - -/* Define if you have the function `innetgr'. */ -#define HAVE_INNETGR 1 - -/* Define to 1 if the system has the type `int16_t'. */ -#define HAVE_INT16_T 1 - -/* Define to 1 if the system has the type `int32_t'. */ -#define HAVE_INT32_T 1 - -/* Define to 1 if the system has the type `int64_t'. */ -#define HAVE_INT64_T 1 - -/* Define to 1 if the system has the type `int8_t'. */ -#define HAVE_INT8_T 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_IO_H */ - -/* Define if you have IPv6. */ -/* #define HAVE_IPV6 1 -- defined by Makefile if (${USE_INET6} != "no") */ - -/* Define if you have the function `iruserok'. */ -#define HAVE_IRUSEROK 1 - -/* Define to 1 if you have the `issetugid' function. */ -#define HAVE_ISSETUGID 1 - -/* Define if you want to use the Kerberos Credentials Manager. */ -#define HAVE_KCM 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_LIBUTIL_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define to 1 if you have the `loadquery' function. */ -/* #undef HAVE_LOADQUERY */ - -/* Define if you have the function `localtime_r'. */ -#define HAVE_LOCALTIME_R 1 - -/* Define to 1 if you have the `logout' function. */ -#define HAVE_LOGOUT 1 - -/* Define to 1 if you have the `logwtmp' function. */ -#define HAVE_LOGWTMP 1 - -/* Define to 1 if the system has the type `long long'. */ -#define HAVE_LONG_LONG 1 - -/* Define if you have the function `lstat'. */ -#define HAVE_LSTAT 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_MAILLOCK_H */ - -/* Define if you have the function `memmove'. */ -#define HAVE_MEMMOVE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define if you have the function `mkstemp'. */ -#define HAVE_MKSTEMP 1 - -/* Define to 1 if you have the `mktime' function. */ -#define HAVE_MKTIME 1 - -/* Define to 1 if you have a working `mmap' system call. */ -#define HAVE_MMAP 1 - -/* define if you have a ndbm library */ -#define HAVE_NDBM 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NDBM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NETDB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NETGROUP_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_NETINET6_IN6_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_NETINET6_IN6_VAR_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_NETINET_IN6_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_NETINET_IN6_MACHTYPES_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_NETINET_IN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NETINET_IN_SYSTM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NETINET_IP_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_NETINET_TCP_H 1 - -/* Define if you want to use Netinfo instead of krb5.conf. */ -/* #undef HAVE_NETINFO */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_NETINFO_NI_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_NET_IF_H 1 - -/* Define if NDBM really is DB (creates files *.db) */ -#define HAVE_NEW_DB 1 - -/* Define to 1 if you have the `on_exit' function. */ -/* #undef HAVE_ON_EXIT */ - -/* Define to 1 if you have the `openpty' function. */ -#define HAVE_OPENPTY 1 - -/* define to use openssl's libcrypto */ -#define HAVE_OPENSSL 1 - -/* Define to enable basic OSF C2 support. */ -/* #undef HAVE_OSFC2 */ - -/* Define to 1 if you have the header file. */ -#define HAVE_PATHS_H 1 - -/* Define to 1 if you have the `pidfile' function. */ -#define HAVE_PIDFILE 1 - -/* Define to 1 if you have the `poll' function. */ -#define HAVE_POLL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_POLL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_PTHREAD_H 1 - -/* Define to 1 if you have the `ptsname' function. */ -#define HAVE_PTSNAME 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_PTY_H */ - -/* Define if you have the function `putenv'. */ -#define HAVE_PUTENV 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_PWD_H 1 - -/* Define to 1 if you have the `rand' function. */ -#define HAVE_RAND 1 - -/* Define to 1 if you have the `random' function. */ -#define HAVE_RANDOM 1 - -/* Define if you have the function `rcmd'. */ -#define HAVE_RCMD 1 - -/* Define if you have a readline compatible library. */ -#define HAVE_READLINE 1 - -/* Define if you have the function `readv'. */ -#define HAVE_READV 1 - -/* Define if you have the function `recvmsg'. */ -#define HAVE_RECVMSG 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_RESOLV_H 1 - -/* Define to 1 if you have the `res_ndestroy' function. */ -#define HAVE_RES_NDESTROY 1 - -/* Define to 1 if you have the `res_nsearch' function. */ -#define HAVE_RES_NSEARCH 1 - -/* Define to 1 if you have the `res_search' function. */ -#define HAVE_RES_SEARCH 1 - -/* Define to 1 if you have the `revoke' function. */ -#define HAVE_REVOKE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_RPCSVC_YPCLNT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SAC_H */ - -/* Define to 1 if the system has the type `sa_family_t'. */ -#define HAVE_SA_FAMILY_T 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SECURITY_PAM_MODULES_H 1 - -/* Define to 1 if you have the `select' function. */ -#define HAVE_SELECT 1 - -/* Define if you have the function `sendmsg'. */ -#define HAVE_SENDMSG 1 - -/* Define if you have the function `setegid'. */ -#define HAVE_SETEGID 1 - -/* Define if you have the function `setenv'. */ -#define HAVE_SETENV 1 - -/* Define if you have the function `seteuid'. */ -#define HAVE_SETEUID 1 - -/* Define to 1 if you have the `setitimer' function. */ -#define HAVE_SETITIMER 1 - -/* Define to 1 if you have the `setlim' function. */ -/* #undef HAVE_SETLIM */ - -/* Define to 1 if you have the `setlogin' function. */ -#define HAVE_SETLOGIN 1 - -/* Define to 1 if you have the `setpcred' function. */ -/* #undef HAVE_SETPCRED */ - -/* Define to 1 if you have the `setpgid' function. */ -#define HAVE_SETPGID 1 - -/* Define to 1 if you have the `setproctitle' function. */ -#define HAVE_SETPROCTITLE 1 - -/* Define to 1 if you have the `setprogname' function. */ -#define HAVE_SETPROGNAME 1 - -/* Define to 1 if you have the `setregid' function. */ -#define HAVE_SETREGID 1 - -/* Define to 1 if you have the `setresgid' function. */ -/* #undef HAVE_SETRESGID */ - -/* Define to 1 if you have the `setresuid' function. */ -/* #undef HAVE_SETRESUID */ - -/* Define to 1 if you have the `setreuid' function. */ -#define HAVE_SETREUID 1 - -/* Define to 1 if you have the `setsid' function. */ -#define HAVE_SETSID 1 - -/* Define to 1 if you have the `setsockopt' function. */ -#define HAVE_SETSOCKOPT 1 - -/* Define to 1 if you have the `setstate' function. */ -#define HAVE_SETSTATE 1 - -/* Define to 1 if you have the `setutent' function. */ -#define HAVE_SETUTENT 1 - -/* Define to 1 if you have the `sgi_getcapabilitybyname' function. */ -/* #undef HAVE_SGI_GETCAPABILITYBYNAME */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SGTTY_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SHADOW_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SIAD_H */ - -/* Define to 1 if you have the `sigaction' function. */ -#define HAVE_SIGACTION 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SIGNAL_H 1 - -/* define if you have a working snprintf */ -#define HAVE_SNPRINTF 1 - -/* Define to 1 if you have the `socket' function. */ -#define HAVE_SOCKET 1 - -/* Define to 1 if the system has the type `socklen_t'. */ -#define HAVE_SOCKLEN_T 1 - -/* Define to 1 if the system has the type `ssize_t'. */ -#define HAVE_SSIZE_T 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STANDARDS_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define if you have the function `strcasecmp'. */ -#define HAVE_STRCASECMP 1 - -/* Define if you have the function `strdup'. */ -#define HAVE_STRDUP 1 - -/* Define if you have the function `strerror'. */ -#define HAVE_STRERROR 1 - -/* Define if you have the function `strftime'. */ -#define HAVE_STRFTIME 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define if you have the function `strlcat'. */ -#define HAVE_STRLCAT 1 - -/* Define if you have the function `strlcpy'. */ -#define HAVE_STRLCPY 1 - -/* Define if you have the function `strlwr'. */ -/* #undef HAVE_STRLWR */ - -/* Define if you have the function `strncasecmp'. */ -#define HAVE_STRNCASECMP 1 - -/* Define if you have the function `strndup'. */ -#define HAVE_STRNDUP 1 - -/* Define if you have the function `strnlen'. */ -/* #undef HAVE_STRNLEN */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_STROPTS_H */ - -/* Define if you have the function `strptime'. */ -#define HAVE_STRPTIME 1 - -/* Define if you have the function `strsep'. */ -#define HAVE_STRSEP 1 - -/* Define if you have the function `strsep_copy'. */ -/* #undef HAVE_STRSEP_COPY */ - -/* Define to 1 if you have the `strstr' function. */ -#define HAVE_STRSTR 1 - -/* Define to 1 if you have the `strsvis' function. */ -#define HAVE_STRSVIS 1 - -/* Define if you have the function `strtok_r'. */ -#define HAVE_STRTOK_R 1 - -/* Define to 1 if the system has the type `struct addrinfo'. */ -#define HAVE_STRUCT_ADDRINFO 1 - -/* Define to 1 if the system has the type `struct ifaddrs'. */ -#define HAVE_STRUCT_IFADDRS 1 - -/* Define to 1 if the system has the type `struct iovec'. */ -#define HAVE_STRUCT_IOVEC 1 - -/* Define to 1 if the system has the type `struct msghdr'. */ -#define HAVE_STRUCT_MSGHDR 1 - -/* Define to 1 if the system has the type `struct sockaddr'. */ -#define HAVE_STRUCT_SOCKADDR 1 - -/* Define if struct sockaddr has field sa_len. */ -#define HAVE_STRUCT_SOCKADDR_SA_LEN 1 - -/* Define to 1 if the system has the type `struct sockaddr_storage'. */ -#define HAVE_STRUCT_SOCKADDR_STORAGE 1 - -/* define if you have struct spwd */ -/* #undef HAVE_STRUCT_SPWD */ - -/* Define if struct tm has field tm_gmtoff. */ -#define HAVE_STRUCT_TM_TM_GMTOFF 1 - -/* Define if struct tm has field tm_zone. */ -#define HAVE_STRUCT_TM_TM_ZONE 1 - -/* Define if struct utmpx has field ut_exit. */ -#define HAVE_STRUCT_UTMPX_UT_EXIT 1 - -/* Define if struct utmpx has field ut_syslen. */ -/* #undef HAVE_STRUCT_UTMPX_UT_SYSLEN */ - -/* Define if struct utmp has field ut_addr. */ -/* #undef HAVE_STRUCT_UTMP_UT_ADDR */ - -/* Define if struct utmp has field ut_host. */ -/* #undef HAVE_STRUCT_UTMP_UT_HOST */ - -/* Define if struct utmp has field ut_id. */ -/* #undef HAVE_STRUCT_UTMP_UT_ID */ - -/* Define if struct utmp has field ut_pid. */ -/* #undef HAVE_STRUCT_UTMP_UT_PID */ - -/* Define if struct utmp has field ut_type. */ -/* #undef HAVE_STRUCT_UTMP_UT_TYPE */ - -/* Define if struct utmp has field ut_user. */ -/* #undef HAVE_STRUCT_UTMP_UT_USER */ - -/* define if struct winsize is declared in sys/termios.h */ -#define HAVE_STRUCT_WINSIZE 1 - -/* Define to 1 if you have the `strunvis' function. */ -#define HAVE_STRUNVIS 1 - -/* Define if you have the function `strupr'. */ -/* #undef HAVE_STRUPR */ - -/* Define to 1 if you have the `strvis' function. */ -#define HAVE_STRVIS 1 - -/* Define to 1 if you have the `strvisx' function. */ -#define HAVE_STRVISX 1 - -/* Define to 1 if you have the `svis' function. */ -#define HAVE_SVIS 1 - -/* Define if you have the function `swab'. */ -#define HAVE_SWAB 1 - -/* Define to 1 if you have the `sysconf' function. */ -#define HAVE_SYSCONF 1 - -/* Define to 1 if you have the `sysctl' function. */ -#define HAVE_SYSCTL 1 - -/* Define to 1 if you have the `syslog' function. */ -#define HAVE_SYSLOG 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYSLOG_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_BITYPES_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_BSWAP_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_CAPABILITY_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_CATEGORY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_FILE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_FILIO_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_IOCCOM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_IOCTL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_MMAN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_PARAM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_PROC_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_PTYIO_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_PTYVAR_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_PTY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_RESOURCE_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SELECT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SOCKET_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SOCKIO_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_STREAM_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_STROPTS_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_STRTTY_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_STR_TTY_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SYSCALL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_SYSCTL_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SYS_TERMIO_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIMEB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIMES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TTY_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_UCRED_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_UIO_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_UN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_UTSNAME_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_WAIT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_TERMCAP_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_TERMIOS_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_TERMIO_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_TERM_H */ - -/* Define to 1 if you have the `tgetent' function. */ -#define HAVE_TGETENT 1 - -/* Define if you have the function `timegm'. */ -#define HAVE_TIMEGM 1 - -/* Define if you have the `timezone' variable. */ -#define HAVE_TIMEZONE 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_TIME_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_TMPDIR_H */ - -/* Define to 1 if you have the `ttyname' function. */ -#define HAVE_TTYNAME 1 - -/* Define to 1 if you have the `ttyslot' function. */ -#define HAVE_TTYSLOT 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_UDB_H */ - -/* Define to 1 if the system has the type `uint16_t'. */ -#define HAVE_UINT16_T 1 - -/* Define to 1 if the system has the type `uint32_t'. */ -#define HAVE_UINT32_T 1 - -/* Define to 1 if the system has the type `uint64_t'. */ -#define HAVE_UINT64_T 1 - -/* Define to 1 if the system has the type `uint8_t'. */ -#define HAVE_UINT8_T 1 - -/* Define to 1 if the system has the type `uintptr_t'. */ -#define HAVE_UINTPTR_T 1 - -/* Define to 1 if you have the `umask' function. */ -#define HAVE_UMASK 1 - -/* Define to 1 if you have the `uname' function. */ -#define HAVE_UNAME 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if you have the `unlockpt' function. */ -#define HAVE_UNLOCKPT 1 - -/* Define if you have the function `unsetenv'. */ -#define HAVE_UNSETENV 1 - -/* Define to 1 if you have the `unvis' function. */ -#define HAVE_UNVIS 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_USERCONF_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_USERSEC_H */ - -/* Define to 1 if you have the header file. */ -#define HAVE_UTIL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UTMPX_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UTMP_H 1 - -/* Define to 1 if the system has the type `u_int16_t'. */ -#define HAVE_U_INT16_T 1 - -/* Define to 1 if the system has the type `u_int32_t'. */ -#define HAVE_U_INT32_T 1 - -/* Define to 1 if the system has the type `u_int64_t'. */ -#define HAVE_U_INT64_T 1 - -/* Define to 1 if the system has the type `u_int8_t'. */ -#define HAVE_U_INT8_T 1 - -/* Define to 1 if you have the `vasnprintf' function. */ -/* #undef HAVE_VASNPRINTF */ - -/* Define to 1 if you have the `vasprintf' function. */ -#define HAVE_VASPRINTF 1 - -/* Define if you have the function `verr'. */ -#define HAVE_VERR 1 - -/* Define if you have the function `verrx'. */ -#define HAVE_VERRX 1 - -/* Define to 1 if you have the `vhangup' function. */ -/* #undef HAVE_VHANGUP */ - -/* Define to 1 if you have the `vis' function. */ -#define HAVE_VIS 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_VIS_H 1 - -/* define if you have a working vsnprintf */ -#define HAVE_VSNPRINTF 1 - -/* Define if you have the function `vsyslog'. */ -#define HAVE_VSYSLOG 1 - -/* Define if you have the function `vwarn'. */ -#define HAVE_VWARN 1 - -/* Define if you have the function `vwarnx'. */ -#define HAVE_VWARNX 1 - -/* Define if you have the function `warn'. */ -#define HAVE_WARN 1 - -/* Define if you have the function `warnx'. */ -#define HAVE_WARNX 1 - -/* Define if you have the function `writev'. */ -#define HAVE_WRITEV 1 - -/* define if struct winsize has ws_xpixel */ -#define HAVE_WS_XPIXEL 1 - -/* define if struct winsize has ws_ypixel */ -#define HAVE_WS_YPIXEL 1 - -/* Define to 1 if you have the `XauFileName' function. */ -/* #undef HAVE_XAUFILENAME */ - -/* Define to 1 if you have the `XauReadAuth' function. */ -/* #undef HAVE_XAUREADAUTH */ - -/* Define to 1 if you have the `XauWriteAuth' function. */ -/* #undef HAVE_XAUWRITEAUTH */ - -/* Define to 1 if you have the `yp_get_default_domain' function. */ -#define HAVE_YP_GET_DEFAULT_DOMAIN 1 - -/* Define to 1 if you have the `_getpty' function. */ -/* #undef HAVE__GETPTY */ - -/* Define if you have the `_res' variable. */ -#define HAVE__RES 1 - -/* Define to 1 if you have the `_scrsize' function. */ -/* #undef HAVE__SCRSIZE */ - -/* define if your compiler has __attribute__ */ -#define HAVE___ATTRIBUTE__ 1 - -/* Define if you have the `__progname' variable. */ -#define HAVE___PROGNAME 1 - -/* Define if you have the hesiod package. */ -/* #undef HESIOD */ - -/* Define if you are running IRIX 4. */ -/* #undef IRIX4 */ - -/* Enable Kerberos 5 support in applications. */ -#define KRB5 1 - -/* path to lib */ -#define LIBDIR "/usr/heimdal/lib" - -/* path to libexec */ -#define LIBEXECDIR "/usr/heimdal/libexec" - -/* path to localstate */ -#define LOCALSTATEDIR "/var/heimdal" - -/* define if the system is missing a prototype for asnprintf() */ -#define NEED_ASNPRINTF_PROTO 1 - -/* define if the system is missing a prototype for asprintf() */ -/* #undef NEED_ASPRINTF_PROTO */ - -/* define if the system is missing a prototype for crypt() */ -/* #undef NEED_CRYPT_PROTO */ - -/* define if the system is missing a prototype for daemon() */ -#define NEED_DAEMON_PROTO 1 - -/* define if the system is missing a prototype for gethostname() */ -/* #undef NEED_GETHOSTNAME_PROTO */ - -/* define if the system is missing a prototype for getusershell() */ -/* #undef NEED_GETUSERSHELL_PROTO */ - -/* define if the system is missing a prototype for glob() */ -/* #undef NEED_GLOB_PROTO */ - -/* define if the system is missing a prototype for hstrerror() */ -/* #undef NEED_HSTRERROR_PROTO */ - -/* define if the system is missing a prototype for inet_aton() */ -/* #undef NEED_INET_ATON_PROTO */ - -/* define if the system is missing a prototype for iruserok() */ -/* #undef NEED_IRUSEROK_PROTO */ - -/* define if the system is missing a prototype for mkstemp() */ -#define NEED_MKSTEMP_PROTO 1 - -/* define if the system is missing a prototype for setenv() */ -/* #undef NEED_SETENV_PROTO */ - -/* define if the system is missing a prototype for snprintf() */ -/* #undef NEED_SNPRINTF_PROTO */ - -/* define if the system is missing a prototype for strndup() */ -/* #undef NEED_STRNDUP_PROTO */ - -/* define if the system is missing a prototype for strsep() */ -/* #undef NEED_STRSEP_PROTO */ - -/* define if the system is missing a prototype for strsvis() */ -/* #undef NEED_STRSVIS_PROTO */ - -/* define if the system is missing a prototype for strtok_r() */ -/* #undef NEED_STRTOK_R_PROTO */ - -/* define if the system is missing a prototype for strunvis() */ -/* #undef NEED_STRUNVIS_PROTO */ - -/* define if the system is missing a prototype for strvisx() */ -/* #undef NEED_STRVISX_PROTO */ - -/* define if the system is missing a prototype for strvis() */ -/* #undef NEED_STRVIS_PROTO */ - -/* define if the system is missing a prototype for svis() */ -/* #undef NEED_SVIS_PROTO */ - -/* define if the system is missing a prototype for unsetenv() */ -/* #undef NEED_UNSETENV_PROTO */ - -/* define if the system is missing a prototype for unvis() */ -/* #undef NEED_UNVIS_PROTO */ - -/* define if the system is missing a prototype for vasnprintf() */ -#define NEED_VASNPRINTF_PROTO 1 - -/* define if the system is missing a prototype for vasprintf() */ -/* #undef NEED_VASPRINTF_PROTO */ - -/* define if the system is missing a prototype for vis() */ -/* #undef NEED_VIS_PROTO */ - -/* define if the system is missing a prototype for vsnprintf() */ -/* #undef NEED_VSNPRINTF_PROTO */ - -/* Define if you don't wan't support for AFS. */ -/* #undef NO_AFS */ - -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -/* #undef NO_MINUS_C_MINUS_O */ - -/* Define if you don't want to use mmap. */ -/* #undef NO_MMAP */ - -/* Define this to enable old environment option in telnet. */ -#define OLD_ENVIRON 1 - -/* Define if you have the openldap package. */ -/* #undef OPENLDAP */ - -/* Define if you want support for hdb ldap module */ -/* #undef OPENLDAP_MODULE */ - -/* define if prototype of openlog is compatible with void openlog(const char - *, int, int) */ -#define OPENLOG_PROTO_COMPATIBLE 1 - -/* Define if you want OTP support in applications. */ -#define OTP 1 - -/* Name of package */ -#define PACKAGE "heimdal" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "heimdal-bugs@h5l.se" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "Heimdal" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "Heimdal 1.1" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "heimdal" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "1.1" - -/* Define to enable PKINIT. */ -#define PKINIT 1 - -/* Define if getlogin has POSIX flavour (and not BSD). */ -/* #undef POSIX_GETLOGIN */ - -/* Define if getpwnam_r has POSIX flavour. */ -/* #undef POSIX_GETPWNAM_R */ - -/* Define if you have the readline package. */ -/* #undef READLINE */ - -/* Define as the return type of signal handlers (`int' or `void'). */ -#define RETSIGTYPE void - -/* path to sbin */ -#define SBINDIR "/usr/heimdal/sbin" - -/* Define if you want to use samba socket wrappers. */ -/* #undef SOCKET_WRAPPER_REPLACE */ - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if you have streams ptys. */ -/* #undef STREAMSPTY */ - -/* path to sysconf */ -#define SYSCONFDIR "/etc" - -/* Define to what version of SunOS you are running. */ -/* #undef SunOS */ - -/* Define to 1 if you can safely include both and . */ -#define TIME_WITH_SYS_TIME 1 - -/* Define to 1 if your declares `struct tm'. */ -/* #undef TM_IN_SYS_TIME */ - -/* Version number of package */ -#define VERSION "1.1" - -/* Define if signal handlers return void. */ -#define VOID_RETSIGTYPE 1 - -/* define if target is big endian */ -/* #undef WORDS_BIGENDIAN */ - -/* Define to 1 if the X Window System is missing or not being used. */ -/* #undef X_DISPLAY_MISSING */ - -/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ -#define YYTEXT_POINTER 1 - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef _FILE_OFFSET_BITS */ - -/* Define to enable extensions on glibc-based systems such as Linux. */ -#define _GNU_SOURCE 1 - -/* Define for large files, on AIX-style hosts. */ -/* #undef _LARGE_FILES */ - -/* Define to empty if `const' does not conform to ANSI C. */ -/* #undef const */ - -/* Define to `int' if doesn't define. */ -/* #undef gid_t */ - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif - -/* Define this to what the type mode_t should be. */ -/* #undef mode_t */ - -/* Define to `long int' if does not define. */ -/* #undef off_t */ - -/* Define to `int' if does not define. */ -/* #undef pid_t */ - -/* Define this to what the type sig_atomic_t should be. */ -/* #undef sig_atomic_t */ - -/* Define to `unsigned int' if does not define. */ -/* #undef size_t */ - -/* Define to `int' if doesn't define. */ -/* #undef uid_t */ - -#ifdef ROKEN_RENAME -#include "roken_rename.h" -#endif - -#ifdef VOID_RETSIGTYPE -#define SIGRETURN(x) return -#else -#define SIGRETURN(x) return (RETSIGTYPE)(x) -#endif - -#ifdef BROKEN_REALLOC -#define realloc(X, Y) rk_realloc((X), (Y)) -#endif - - -#if ENDIANESS_IN_SYS_PARAM_H -# include -# include -# if BYTE_ORDER == BIG_ENDIAN -# define WORDS_BIGENDIAN 1 -# endif -#endif - - -#if _AIX -#define _ALL_SOURCE -/* XXX this is gross, but kills about a gazillion warnings */ -struct ether_addr; -struct sockaddr; -struct sockaddr_dl; -struct sockaddr_in; -#endif - - -/* IRIX 4 braindamage */ -#if IRIX == 4 && !defined(__STDC__) -#define __STDC__ 0 -#endif - - - -#if defined(ENCRYPTION) && !defined(AUTHENTICATION) -#define AUTHENTICATION 1 -#endif - -/* Set this to the default system lead string for telnetd - * can contain %-escapes: %s=sysname, %m=machine, %r=os-release - * %v=os-version, %t=tty, %h=hostname, %d=date and time - */ -/* #undef USE_IM */ - -/* Used with login -p */ -/* #undef LOGIN_ARGS */ - -/* set this to a sensible login */ -#ifndef LOGIN_PATH -#define LOGIN_PATH BINDIR "/login" -#endif - -#endif /* !HAVE_NBTOOL_CONFIG_H */ diff --git a/include/heimdal/crypto-headers.h b/include/heimdal/crypto-headers.h deleted file mode 100644 index 7e29410b3..000000000 --- a/include/heimdal/crypto-headers.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef __crypto_headers_h__ -#define __crypto_headers_h__ -#ifdef KRB5 -#include -#endif -#ifndef OPENSSL_DES_LIBDES_COMPATIBILITY -#define OPENSSL_DES_LIBDES_COMPATIBILITY -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef BN_is_negative -#define BN_set_negative(bn, flag) ((bn)->neg=(flag)?1:0) -#define BN_is_negative(bn) ((bn)->neg != 0) -#endif -#endif /* __crypto_headers_h__ */ diff --git a/include/heimdal/hx509_err.h b/include/heimdal/hx509_err.h deleted file mode 100644 index a8f5636d8..000000000 --- a/include/heimdal/hx509_err.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Generated from hx509_err.et */ -/* $Id: hx509_err.h,v 1.1 2008/03/22 08:37:24 mlelstv Exp $ */ - -#ifndef __hx509_err_h__ -#define __hx509_err_h__ - -struct et_list; - -void initialize_hx_error_table_r(struct et_list **); - -void initialize_hx_error_table(void); -#define init_hx_err_tbl initialize_hx_error_table - -typedef enum hx_error_number{ - HX509_BAD_TIMEFORMAT = 569856, - HX509_EXTENSION_NOT_FOUND = 569857, - HX509_NO_PATH = 569858, - HX509_PARENT_NOT_CA = 569859, - HX509_CA_PATH_TOO_DEEP = 569860, - HX509_SIG_ALG_NO_SUPPORTED = 569861, - HX509_SIG_ALG_DONT_MATCH_KEY_ALG = 569862, - HX509_CERT_USED_BEFORE_TIME = 569863, - HX509_CERT_USED_AFTER_TIME = 569864, - HX509_PRIVATE_KEY_MISSING = 569865, - HX509_ALG_NOT_SUPP = 569866, - HX509_ISSUER_NOT_FOUND = 569867, - HX509_VERIFY_CONSTRAINTS = 569868, - HX509_RANGE = 569869, - HX509_NAME_CONSTRAINT_ERROR = 569870, - HX509_PATH_TOO_LONG = 569871, - HX509_KU_CERT_MISSING = 569872, - HX509_CERT_NOT_FOUND = 569873, - HX509_UNKNOWN_LOCK_COMMAND = 569874, - HX509_PARENT_IS_CA = 569875, - HX509_EXTRA_DATA_AFTER_STRUCTURE = 569876, - HX509_PROXY_CERT_INVALID = 569877, - HX509_PROXY_CERT_NAME_WRONG = 569878, - HX509_NAME_MALFORMED = 569879, - HX509_CERTIFICATE_MALFORMED = 569880, - HX509_CERTIFICATE_MISSING_EKU = 569881, - HX509_PROXY_CERTIFICATE_NOT_CANONICALIZED = 569882, - HX509_CMS_FAILED_CREATE_SIGATURE = 569888, - HX509_CMS_MISSING_SIGNER_DATA = 569889, - HX509_CMS_SIGNER_NOT_FOUND = 569890, - HX509_CMS_NO_DATA_AVAILABLE = 569891, - HX509_CMS_INVALID_DATA = 569892, - HX509_CMS_PADDING_ERROR = 569893, - HX509_CMS_NO_RECIPIENT_CERTIFICATE = 569894, - HX509_CMS_DATA_OID_MISMATCH = 569895, - HX509_CRYPTO_INTERNAL_ERROR = 569920, - HX509_CRYPTO_EXTERNAL_ERROR = 569921, - HX509_CRYPTO_SIGNATURE_MISSING = 569922, - HX509_CRYPTO_BAD_SIGNATURE = 569923, - HX509_CRYPTO_SIG_NO_CONF = 569924, - HX509_CRYPTO_SIG_INVALID_FORMAT = 569925, - HX509_CRYPTO_OID_MISMATCH = 569926, - HX509_CRYPTO_NO_PROMPTER = 569927, - HX509_CRYPTO_SIGNATURE_WITHOUT_SIGNER = 569928, - HX509_CRYPTO_RSA_PUBLIC_ENCRYPT = 569929, - HX509_CRYPTO_RSA_PRIVATE_ENCRYPT = 569930, - HX509_CRYPTO_RSA_PUBLIC_DECRYPT = 569931, - HX509_CRYPTO_RSA_PRIVATE_DECRYPT = 569932, - HX509_CRL_USED_BEFORE_TIME = 569952, - HX509_CRL_USED_AFTER_TIME = 569953, - HX509_CRL_INVALID_FORMAT = 569954, - HX509_CRL_CERT_REVOKED = 569955, - HX509_REVOKE_STATUS_MISSING = 569956, - HX509_CRL_UNKNOWN_EXTENSION = 569957, - HX509_REVOKE_WRONG_DATA = 569958, - HX509_REVOKE_NOT_SAME_PARENT = 569959, - HX509_CERT_NOT_IN_OCSP = 569960, - HX509_LOCAL_ATTRIBUTE_MISSING = 569964, - HX509_PARSING_KEY_FAILED = 569965, - HX509_UNSUPPORTED_OPERATION = 569966, - HX509_UNIMPLEMENTED_OPERATION = 569967, - HX509_PARSING_NAME_FAILED = 569968, - HX509_PKCS11_NO_SLOT = 569984, - HX509_PKCS11_NO_TOKEN = 569985, - HX509_PKCS11_NO_MECH = 569986, - HX509_PKCS11_TOKEN_CONFUSED = 569987, - HX509_PKCS11_OPEN_SESSION = 569988, - HX509_PKCS11_LOGIN = 569989, - HX509_PKCS11_LOAD = 569990 -} hx_error_number; - -#define ERROR_TABLE_BASE_hx 569856 - -#endif /* __hx509_err_h__ */ diff --git a/include/heimdal/krb5-types.h b/include/heimdal/krb5-types.h deleted file mode 100644 index 8b14281ca..000000000 --- a/include/heimdal/krb5-types.h +++ /dev/null @@ -1,16 +0,0 @@ -/* krb5-types.h -- this file was generated for i386-unknown-netbsdelf4.0. by - $Id: krb5-types.h,v 1.4 2008/03/22 08:37:24 mlelstv Exp $ */ - -#ifndef __krb5_types_h__ -#define __krb5_types_h__ - -#include -#include -#include - - -typedef socklen_t krb5_socklen_t; -#include -typedef ssize_t krb5_ssize_t; - -#endif /* __krb5_types_h__ */ diff --git a/include/heimdal/krb_err.h b/include/heimdal/krb_err.h deleted file mode 100644 index 4bea68639..000000000 --- a/include/heimdal/krb_err.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Generated from krb_err.et */ -/* $Id: krb_err.h,v 1.1 2008/03/22 08:37:24 mlelstv Exp $ */ - -#ifndef __krb_err_h__ -#define __krb_err_h__ - -struct et_list; - -void initialize_krb_error_table_r(struct et_list **); - -void initialize_krb_error_table(void); -#define init_krb_err_tbl initialize_krb_error_table - -typedef enum krb_error_number{ - KRB4ET_KSUCCESS = 39525376, - KRB4ET_KDC_NAME_EXP = 39525377, - KRB4ET_KDC_SERVICE_EXP = 39525378, - KRB4ET_KDC_AUTH_EXP = 39525379, - KRB4ET_KDC_PKT_VER = 39525380, - KRB4ET_KDC_P_MKEY_VER = 39525381, - KRB4ET_KDC_S_MKEY_VER = 39525382, - KRB4ET_KDC_BYTE_ORDER = 39525383, - KRB4ET_KDC_PR_UNKNOWN = 39525384, - KRB4ET_KDC_PR_N_UNIQUE = 39525385, - KRB4ET_KDC_NULL_KEY = 39525386, - KRB4ET_KDC_GEN_ERR = 39525396, - KRB4ET_GC_TKFIL = 39525397, - KRB4ET_GC_NOTKT = 39525398, - KRB4ET_MK_AP_TGTEXP = 39525402, - KRB4ET_RD_AP_UNDEC = 39525407, - KRB4ET_RD_AP_EXP = 39525408, - KRB4ET_RD_AP_NYV = 39525409, - KRB4ET_RD_AP_REPEAT = 39525410, - KRB4ET_RD_AP_NOT_US = 39525411, - KRB4ET_RD_AP_INCON = 39525412, - KRB4ET_RD_AP_TIME = 39525413, - KRB4ET_RD_AP_BADD = 39525414, - KRB4ET_RD_AP_VERSION = 39525415, - KRB4ET_RD_AP_MSG_TYPE = 39525416, - KRB4ET_RD_AP_MODIFIED = 39525417, - KRB4ET_RD_AP_ORDER = 39525418, - KRB4ET_RD_AP_UNAUTHOR = 39525419, - KRB4ET_GT_PW_NULL = 39525427, - KRB4ET_GT_PW_BADPW = 39525428, - KRB4ET_GT_PW_PROT = 39525429, - KRB4ET_GT_PW_KDCERR = 39525430, - KRB4ET_GT_PW_NULLTKT = 39525431, - KRB4ET_SKDC_RETRY = 39525432, - KRB4ET_SKDC_CANT = 39525433, - KRB4ET_INTK_W_NOTALL = 39525437, - KRB4ET_INTK_BADPW = 39525438, - KRB4ET_INTK_PROT = 39525439, - KRB4ET_INTK_ERR = 39525446, - KRB4ET_AD_NOTGT = 39525447, - KRB4ET_NO_TKT_FIL = 39525452, - KRB4ET_TKT_FIL_ACC = 39525453, - KRB4ET_TKT_FIL_LCK = 39525454, - KRB4ET_TKT_FIL_FMT = 39525455, - KRB4ET_TKT_FIL_INI = 39525456, - KRB4ET_KNAME_FMT = 39525457 -} krb_error_number; - -#define ERROR_TABLE_BASE_krb 39525376 - -#endif /* __krb_err_h__ */ diff --git a/include/heimdal/protos.h b/include/heimdal/protos.h deleted file mode 100644 index 1973be8d7..000000000 --- a/include/heimdal/protos.h +++ /dev/null @@ -1,277 +0,0 @@ -/* -*- C -*- - * Copyright (c) 1995, 1996, 1997 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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. - */ - -/* - * Add here functions that don't have a prototype on your system. - * - * $Id: protos.h,v 1.1.1.1 2000/06/16 19:18:30 thorpej Exp $ - */ - -#ifdef NEED_CRYPT_PROTO -char *crypt(const char*, const char*); -#endif - -#ifdef NEED_STRTOK_R_PROTO -char *strtok_r (char *s1, const char *s2, char **lasts); -#endif - -#ifndef HAVE_OPTARG_DECLARATION -extern char *optarg; -#endif -#ifndef HAVE_OPTERR_DECLARATION -extern int opterr; -#endif -#ifndef HAVE_OPTIND_DECLARATION -extern int optind; -#endif -#ifndef HAVE_OPTOPT_DECLARATION -extern int optopt; -#endif - -#if defined(__GNUC__) && SunOS == 4 - -/* To get type fd_set */ -#include -#include - -/* To get struct sockaddr, struct in_addr and struct hostent */ -#include -#include -#include - -/* To get struct stat */ -#include - -/* To get struct utimbuf */ -#include - -#if !defined(HAVE_ATEXIT) && defined(HAVE_ON_EXIT) -#define atexit(X) on_exit(X, NULL) -#define HAVE_ATEXIT 1 -#endif -#ifdef NEED_UTIME_PROTO -int utime(const char *, const struct utimbuf *); -#endif -int syscall(int, ...); -pid_t getpid(void); -int ftruncate(int, off_t); -int fchmod(int, mode_t); -int fchown(int fd, int owner, int group); -int fsync(int); -int seteuid(uid_t); -int setreuid(int, int); -int flock(int, int); -int gettimeofday(struct timeval *tp, struct timezone *tzp); -int lstat(const char *, struct stat *); -int ioctl(int, int, void *); -int getpriority(int which, int who); -int setpriority(int which, int who, int priority); -int getdtablesize(void); -int initgroups(const char *name, int basegid); -long ulimit(int cmd, long newlimit); -int vhangup(void); - -int sigblock(int); -int sigsetmask(int); -int setitimer(int which, struct itimerval *value, struct itimerval *ovalue); - -int munmap(caddr_t addr, int len); - -int socket(int, int, int); -int setsockopt(int, int, int, void *, int); -int bind(int, void *, int); -int getsockname(int, struct sockaddr *, int *); -int accept(int, struct sockaddr *, int *); -int connect(int, struct sockaddr *, int); -int listen(int, int); -int recv(int s, void *buf, int len, int flags); -int recvfrom(int, char *, int, int, void *, int *); -int sendto(int, const char *, int, int, void *, int); -int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); -int shutdown(int, int); -int getpeername(int, struct sockaddr *, int *); -int getsockopt(int, int, int, void *, int *); -int send(int s, const void *msg, int len, int flags); -struct strbuf; -int getmsg(int fd, struct strbuf *ctlptr, struct strbuf *dataptr, int *flags); - -char *inet_ntoa(struct in_addr in); -unsigned long inet_addr(const char *cp); -int gethostname(char *, int); -struct hostent *gethostbyname(const char *); -int dn_expand(const u_char *msg, - const u_char *eomorig, - const u_char *comp_dn, - char *exp_dn, - int length); -int res_search(const char *dname, - int class, - int type, - u_char *answer, - int anslen); - -int yp_get_default_domain (char **outdomain); -int innetgr(const char *netgroup, const char *machine, - const char *user, const char *domain); - -char *getwd(char *pathname); - -void bzero(char *b, int length); -int strcasecmp(const char *, const char *); -void swab(const char *, char *, int); -int atoi(const char *str); -char *mktemp(char *); -void srandom(int seed); -int random(void); - -int rcmd(char **, unsigned short, char *, char *, char *, int *); -int rresvport(int *); -int openlog(const char *ident, int logopt, int facility); -int syslog(int priority, const char *message, ...); -int ttyslot(void); - -char *getpass(const char *); - -char *getusershell(void); -void setpwent(); -void endpwent(); - -#include -int fclose(FILE *); - -#endif /* SunOS4 */ - -#if SunOS == 5 - -#include -#include - -char *getusershell(void); -char *strtok_r(char *, const char *, char **); -int getpriority (int which, id_t who); -int setpriority (int which, id_t who, int prio); -int getdtablesize (void); -char *getusershell(void); -void setusershell(void); -void endusershell(void); - -#if defined(__GNUC__) - -int syscall(int, ...); -int gethostname(char *, int); - -struct timeval; -int gettimeofday(struct timeval *tp, void *); - -#endif -#endif - -#if defined(__osf__) /* OSF/1 */ - -#if 0 -/* To get type fd_set */ -#include -#include - -int select(int, fd_set *, fd_set *, fd_set *, struct timeval *); -int fsync(int fildes); -int gethostname(char *address, int address_len); -int setreuid(int ruid, int euid); -int ioctl(int d, unsigned long request, void * arg); -#endif -int flock(int fildes, int operation); -int syscall(int, ...); - -unsigned short htons(unsigned short hostshort); -unsigned int htonl(unsigned int hostint); -unsigned short ntohs(unsigned short netshort); -unsigned int ntohl(unsigned int netint); - -char *mktemp(char *template); -char *getusershell(void); - -int rcmd(char **, unsigned short, char *, char *, char *, int *); -int rresvport (int *port); - -#endif /* OSF/1 */ - -#if defined(__sgi) -#include - -char *ptsname(int fd); -struct spwd *getspuid(uid_t); -#endif /* IRIX */ - -#if defined(__GNUC__) && defined(_AIX) /* AIX */ - -struct timeval; -struct timezone; -int gettimeofday (struct timeval *Tp, void *Tzp); - -#endif /* AIX */ - -#if defined(__GNUC__) && defined(__hpux) /* HP-UX */ - -int syscall(int, ...); - -int vhangup(void); - -char *ptsname(int fildes); - -void utmpname(const char *file); - -int innetgr(const char *netgroup, const char *machine, - const char *user, const char *domain); - -int dn_comp(char *exp_dn, char *comp_dn, int length, - char **dnptrs, char **lastdnptr); - -int res_query(char *dname, int class, int type, - unsigned char *answer, int anslen); - -int dn_expand(char *msg, char *eomorig, char *comp_dn, - char *exp_dn, int length); - -int res_search(char *dname, int class, int type, - unsigned char *answer, int anslen); - -#endif /* HP-UX */ - -#if defined(WIN32) /* Visual C++ 4.0 (Windows95/NT) */ - -int open(const char *, int, ...); -int close(int); -int read(int, void *, unsigned int); -int write(int, const void *, unsigned int); - -#endif /* WIN32 */ diff --git a/include/heimdal/roken.h b/include/heimdal/roken.h deleted file mode 100644 index 7917f2b99..000000000 --- a/include/heimdal/roken.h +++ /dev/null @@ -1,235 +0,0 @@ -/* This is an OS dependent, generated file */ - - -#ifndef __ROKEN_H__ -#define __ROKEN_H__ - -/* -*- C -*- */ -/* - * Copyright (c) 1995-2005 Kungliga Tekniska Högskolan - * (Royal Institute of Technology, Stockholm, Sweden). - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * 3. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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. - */ - -/* $Id: roken.h,v 1.14 2010/01/25 00:26:04 christos Exp $ */ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - - -#include - -ROKEN_CPP_START - -#define rk_UNCONST(x) ((void *)(uintptr_t)(const void *)(x)) - - - -char * ROKEN_LIB_FUNCTION strlwr(char *); - -size_t ROKEN_LIB_FUNCTION strnlen(const char*, size_t); - - -ssize_t ROKEN_LIB_FUNCTION strsep_copy(const char**, const char*, char*, size_t); - - - - -char * ROKEN_LIB_FUNCTION strupr(char *); - - - - - - - - - - - -#include -struct passwd * ROKEN_LIB_FUNCTION k_getpwnam (const char *); -struct passwd * ROKEN_LIB_FUNCTION k_getpwuid (uid_t); - -const char * ROKEN_LIB_FUNCTION get_default_username (void); - - - - -int ROKEN_LIB_FUNCTION mkstemp(char *); - - - - -int ROKEN_LIB_FUNCTION daemon(int, int); - - - - - - - - - - - - - - -time_t ROKEN_LIB_FUNCTION tm2time (struct tm, int); - -int ROKEN_LIB_FUNCTION unix_verify_user(char *, char *); - -int ROKEN_LIB_FUNCTION roken_concat (char *, size_t, ...); - -size_t ROKEN_LIB_FUNCTION roken_mconcat (char **, size_t, ...); - -int ROKEN_LIB_FUNCTION roken_vconcat (char *, size_t, va_list); - -size_t ROKEN_LIB_FUNCTION - roken_vmconcat (char **, size_t, va_list); - -ssize_t ROKEN_LIB_FUNCTION net_write (int, const void *, size_t); - -ssize_t ROKEN_LIB_FUNCTION net_read (int, void *, size_t); - -int ROKEN_LIB_FUNCTION issuid(void); - - -int ROKEN_LIB_FUNCTION get_window_size(int fd, int *, int *); - - - -extern char **environ; - -struct hostent * ROKEN_LIB_FUNCTION -getipnodebyname (const char *, int, int, int *); - -struct hostent * ROKEN_LIB_FUNCTION -getipnodebyaddr (const void *, size_t, int, int *); - -void ROKEN_LIB_FUNCTION -freehostent (struct hostent *); - -struct hostent * ROKEN_LIB_FUNCTION -copyhostent (const struct hostent *); - - - - - - - - -int ROKEN_LIB_FUNCTION -getnameinfo_verified(const struct sockaddr *, socklen_t, - char *, size_t, - char *, size_t, - int); - -int ROKEN_LIB_FUNCTION -roken_getaddrinfo_hostspec(const char *, int, struct addrinfo **); -int ROKEN_LIB_FUNCTION -roken_getaddrinfo_hostspec2(const char *, int, int, struct addrinfo **); - - - -void * ROKEN_LIB_FUNCTION emalloc (size_t); -void * ROKEN_LIB_FUNCTION ecalloc(size_t, size_t); -void * ROKEN_LIB_FUNCTION erealloc (void *, size_t); -char * ROKEN_LIB_FUNCTION estrdup (const char *); - -/* - * kludges and such - */ - -int ROKEN_LIB_FUNCTION -roken_gethostby_setup(const char*, const char*); -struct hostent* ROKEN_LIB_FUNCTION -roken_gethostbyname(const char*); -struct hostent* ROKEN_LIB_FUNCTION -roken_gethostbyaddr(const void*, size_t, int); - -#define roken_getservbyname(x,y) getservbyname(x,y) - -#define roken_openlog(a,b,c) openlog(a,b,c) - -#define roken_getsockname(a,b,c) getsockname(a,b,c) - - - - -void ROKEN_LIB_FUNCTION mini_inetd_addrinfo (struct addrinfo*); -void ROKEN_LIB_FUNCTION mini_inetd (int); - - - - - - - - - - - - -ROKEN_CPP_END -#define ROKEN_VERSION 1.1 - -#endif /* __ROKEN_H__ */ diff --git a/include/heimdal/version.h b/include/heimdal/version.h deleted file mode 100644 index 08f5cd198..000000000 --- a/include/heimdal/version.h +++ /dev/null @@ -1,2 +0,0 @@ -const char *heimdal_long_version = "@(#)$Version: Heimdal 1.1 (NetBSD) $"; -const char *heimdal_version = "Heimdal 1.1"; diff --git a/include/inttypes.h b/include/inttypes.h index 8c08a403e..5f6f6fc46 100644 --- a/include/inttypes.h +++ b/include/inttypes.h @@ -1,4 +1,4 @@ -/* $NetBSD: inttypes.h,v 1.7 2009/11/15 22:21:03 christos Exp $ */ +/* $NetBSD: inttypes.h,v 1.10 2013/04/27 21:24:27 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -33,6 +33,7 @@ #define _INTTYPES_H_ #include +#include #include #include @@ -59,6 +60,21 @@ typedef struct { } imaxdiv_t; imaxdiv_t imaxdiv(intmax_t, intmax_t); + +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +intmax_t strtoimax_l(const char * __restrict, + char ** __restrict, int, locale_t); +uintmax_t strtoumax_l(const char * __restrict, + char ** __restrict, int, locale_t); +intmax_t wcstoimax_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +uintmax_t wcstoumax_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +#endif __END_DECLS #endif /* !_INTTYPES_H_ */ diff --git a/include/iso646.h b/include/iso646.h index 56ea2fefd..06fce8d60 100644 --- a/include/iso646.h +++ b/include/iso646.h @@ -1,4 +1,4 @@ -/* $NetBSD: iso646.h,v 1.1 1995/02/17 09:08:10 jtc Exp $ */ +/* $NetBSD: iso646.h,v 1.2 2013/04/26 10:58:45 joerg Exp $ */ /* * Written by J.T. Conklin 02/16/95. @@ -8,6 +8,7 @@ #ifndef _ISO646_H_ #define _ISO646_H_ +#ifndef __cplusplus #define and && #define and_eq &= #define bitand & @@ -19,5 +20,6 @@ #define or_eq |= #define xor ^ #define xor_eq ^= +#endif #endif /* !_ISO646_H_ */ diff --git a/include/langinfo.h b/include/langinfo.h index 8fb4c397f..28ebbfb73 100644 --- a/include/langinfo.h +++ b/include/langinfo.h @@ -1,4 +1,4 @@ -/* $NetBSD: langinfo.h,v 1.9 2005/02/03 04:39:32 perry Exp $ */ +/* $NetBSD: langinfo.h,v 1.10 2013/08/19 08:03:33 joerg Exp $ */ /* * Written by J.T. Conklin @@ -88,4 +88,14 @@ __BEGIN_DECLS char *nl_langinfo(nl_item); __END_DECLS +#if defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +__BEGIN_DECLS +char *nl_langinfo_l(nl_item, locale_t); +__END_DECLS +#endif + #endif /* _LANGINFO_H_ */ diff --git a/include/limits.h b/include/limits.h index 1ac515b0a..b8b024efe 100644 --- a/include/limits.h +++ b/include/limits.h @@ -1,4 +1,4 @@ -/* $NetBSD: limits.h,v 1.32 2012/03/28 17:04:41 christos Exp $ */ +/* $NetBSD: limits.h,v 1.33 2012/11/18 17:41:53 manu Exp $ */ /* * Copyright (c) 1988, 1993 @@ -144,21 +144,7 @@ * we are done implementing them. */ #if !defined(_INCOMPLETE_XOPEN_C063) -#define __stub_linkat -#define __stub_renameat -#define __stub_mkfifoat -#define __stub_mknodat -#define __stub_mkdirat -#define __stub_faccessat -#define __stub_fchmodat -#define __stub_fchownat #define __stub_fexecve -#define __stub_fstatat -#define __stub_utimensat -#define __stub_openat -#define __stub_readlinkat -#define __stub_symlinkat -#define __stub_unlinkat #endif #include diff --git a/include/locale.h b/include/locale.h index 59c68792a..cd0028f26 100644 --- a/include/locale.h +++ b/include/locale.h @@ -1,4 +1,4 @@ -/* $NetBSD: locale.h,v 1.17 2010/06/07 13:52:29 tnozaki Exp $ */ +/* $NetBSD: locale.h,v 1.24 2013/05/17 14:11:55 joerg Exp $ */ /* * Copyright (c) 1991, 1993 @@ -34,6 +34,8 @@ #ifndef _LOCALE_H_ #define _LOCALE_H_ +#include + struct lconv { char *decimal_point; char *thousands_sep; @@ -75,17 +77,51 @@ struct lconv { #include -#ifdef __SETLOCALE_SOURCE__ - -typedef struct _locale_impl_t *_locale_t; - -#define _LC_GLOBAL_LOCALE ((_locale_t)-1) - +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) || \ + defined(__SETLOCALE_SOURCE__) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif #endif __BEGIN_DECLS struct lconv *localeconv(void); char *setlocale(int, const char *) __RENAME(__setlocale50); + +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +#define LC_ALL_MASK ((int)~0) +#define LC_COLLATE_MASK ((int)(1 << LC_COLLATE)) +#define LC_CTYPE_MASK ((int)(1 << LC_CTYPE)) +#define LC_MONETARY_MASK ((int)(1 << LC_MONETARY)) +#define LC_NUMERIC_MASK ((int)(1 << LC_NUMERIC)) +#define LC_TIME_MASK ((int)(1 << LC_TIME)) +#define LC_MESSAGES_MASK ((int)(1 << LC_MESSAGES)) +locale_t duplocale(locale_t); +void freelocale(locale_t); +struct lconv *localeconv_l(locale_t); +locale_t newlocale(int, const char *, locale_t); + +#ifndef _LIBC +extern struct _locale _lc_global_locale; +#else +extern __dso_protected struct _locale _lc_global_locale; +#endif +#define LC_GLOBAL_LOCALE (&_lc_global_locale) +#endif /* _POSIX_SOURCE >= 200809 || _NETBSD_SOURCE */ + +#if defined(_NETBSD_SOURCE) +# ifndef _LIBC +extern const struct _locale _lc_C_locale; +# else +extern __dso_protected const struct _locale _lc_C_locale; +# endif +#define LC_C_LOCALE ((locale_t)__UNCONST(&_lc_C_locale)) +#endif __END_DECLS #endif /* _LOCALE_H_ */ diff --git a/include/math.h b/include/math.h index 46a5e7ecf..e495021ac 100644 --- a/include/math.h +++ b/include/math.h @@ -1,4 +1,4 @@ -/* $NetBSD: math.h,v 1.58 2012/05/05 22:07:57 christos Exp $ */ +/* $NetBSD: math.h,v 1.63 2013/09/16 15:54:42 martin Exp $ */ /* * ==================================================== @@ -38,6 +38,20 @@ union __long_double_u { #include /* may use __float_u, __double_u, or __long_double_u */ +#include /* for INT_{MIN,MAX} */ + +#if ((_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE)) +# if defined(__FLT_EVAL_METHOD__) && (__FLT_EVAL_METHOD__ - 0) == 0 +typedef double double_t; +typedef float float_t; +# elif (__FLT_EVAL_METHOD__ - 0) == 1 +typedef double double_t; +typedef double float_t; +# elif (__FLT_EVAL_METHOD__ - 0) == 2 +typedef long double double_t; +typedef long double float_t; +# endif +#endif #ifdef __HAVE_LONG_DOUBLE #define __fpmacro_unary_floating(__name, __arg0) \ @@ -116,6 +130,9 @@ extern const union __float_u __nanf; #define _FP_LOMD 0x80 /* range for machine-specific classes */ #define _FP_HIMD 0xff +#define FP_ILOGB0 INT_MIN +#define FP_ILOGBNAN INT_MAX + #endif /* !_ANSI_SOURCE && ... */ /* @@ -282,6 +299,14 @@ float cosf(float); float sinf(float); float tanf(float); +long double acosl(long double); +long double asinl(long double); +long double atanl(long double); +long double atan2l(long double, long double); +long double cosl(long double); +long double sinl(long double); +long double tanl(long double); + /* 7.12.5 hyperbolic */ float acoshf(float); @@ -290,6 +315,12 @@ float atanhf(float); float coshf(float); float sinhf(float); float tanhf(float); +long double acoshl(long double); +long double asinhl(long double); +long double atanhl(long double); +long double coshl(long double); +long double sinhl(long double); +long double tanhl(long double); /* 7.12.6 exp / log */ @@ -306,65 +337,110 @@ float log1pf(float); float logbf(float); float modff(float, float *); float scalbnf(float, int); +float scalblnf(float, long); + +long double expl(long double); +long double exp2l(long double); +long double expm1l(long double); +long double frexpl(long double, int *); +int ilogbl(long double); +long double ldexpl(long double, int); +long double logl(long double); +long double log2l(long double); +long double log10l(long double); +long double log1pl(long double); +long double logbl(long double); +long double modfl(long double, long double *); +long double scalbnl(long double, int); +long double scalblnl(long double, long); + /* 7.12.7 power / absolute */ float cbrtf(float); float fabsf(float); -long double fabsl(long double); float hypotf(float, float); float powf(float, float); float sqrtf(float); +long double cbrtl(long double); +long double fabsl(long double); +long double hypotl(long double, long double); +long double powl(long double, long double); +long double sqrtl(long double); /* 7.12.8 error / gamma */ +double tgamma(double); float erff(float); float erfcf(float); float lgammaf(float); float tgammaf(float); -double tgamma(double); +long double erfl(long double); +long double erfcl(long double); +long double lgammal(long double); +long double tgammal(long double); /* 7.12.9 nearest integer */ -float ceilf(float); -float floorf(float); -float rintf(float); -double round(double); -float roundf(float); -double trunc(double); -float truncf(float); -long int lrint(double); -long int lrintf(float); /* LONGLONG */ long long int llrint(double); -/* LONGLONG */ -long long int llrintf(float); long int lround(double); -long int lroundf(float); /* LONGLONG */ long long int llround(double); +long int lrint(double); +double round(double); +double trunc(double); + +float ceilf(float); +float floorf(float); +/* LONGLONG */ +long long int llrintf(float); +long int lroundf(float); /* LONGLONG */ long long int llroundf(float); +long int lrintf(float); +float rintf(float); +float roundf(float); +float truncf(float); +long double ceill(long double); +long double floorl(long double); +/* LONGLONG */ +long long int llrintl(long double); +long int lroundl(long double); +/* LONGLONG */ +long long int llroundl(long double); +long int lrintl(long double); +long double rintl(long double); +long double roundl(long double); +long double truncl(long double); /* 7.12.10 remainder */ float fmodf(float, float); float remainderf(float, float); +long double fmodl(long double, long double); +long double remainderl(long double, long double); /* 7.12.10.3 The remquo functions */ double remquo(double, double, int *); float remquof(float, float, int *); +long double remquol(long double, long double, int *); /* 7.12.11 manipulation */ -float copysignf(float, float); -long double copysignl(long double, long double); double nan(const char *); -float nanf(const char *); -long double nanl(const char *); -float nextafterf(float, float); -long double nextafterl(long double, long double); +double nearbyint(double); double nexttoward(double, long double); +float copysignf(float, float); +float nanf(const char *); +float nearbyintf(float); +float nextafterf(float, float); +float nexttowardf(float, long double); +long double copysignl(long double, long double); +long double nanl(const char *); +long double nearbyintl(long double); +long double nextafterl(long double, long double); +long double nexttowardl(long double, long double); /* 7.12.14 comparison */ @@ -376,12 +452,15 @@ double nexttoward(double, long double); #define islessgreater(x, y) (!isunordered((x), (y)) && \ ((x) > (y) || (y) > (x))) double fdim(double, double); +double fma(double, double, double); double fmax(double, double); double fmin(double, double); float fdimf(float, float); +float fmaf(float, float, float); float fmaxf(float, float); float fminf(float, float); long double fdiml(long double, long double); +long double fmal(long double, long double, long double); long double fmaxl(long double, long double); long double fminl(long double, long double); @@ -393,14 +472,14 @@ long double fminl(long double, long double); ((_POSIX_C_SOURCE - 0) >= 200112L) || \ defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE) /* 7.12.3.3 int isinf(real-floating x) */ -#ifdef __isinf +#if defined(__isinf) || defined(__HAVE_INLINE___ISINF) #define isinf(__x) __isinf(__x) #else #define isinf(__x) __fpmacro_unary_floating(isinf, __x) #endif /* 7.12.3.4 int isnan(real-floating x) */ -#ifdef __isnan +#if defined(__isnan) || defined(__HAVE_INLINE___ISNAN) #define isnan(__x) __isnan(__x) #else #define isnan(__x) __fpmacro_unary_floating(isnan, __x) @@ -422,6 +501,7 @@ double significand(double); */ double copysign(double, double); double scalbn(double, int); +double scalbln(double, long); /* * BSD math library entry points @@ -500,10 +580,6 @@ int __isnanl(long double); int __signbitl(long double); #endif -int ilogbl(long double); -long double logbl(long double); -long double scalbnl(long double, int); - __END_DECLS #endif /* _MATH_H_ */ diff --git a/include/minix/Makefile b/include/minix/Makefile index d4c119944..f9d886cf5 100644 --- a/include/minix/Makefile +++ b/include/minix/Makefile @@ -13,7 +13,7 @@ INCS+= acpi.h audio_fw.h bitmap.h \ endpoint.h fb.h fslib.h gpio.h gcov.h hash.h \ hgfs.h i2c.h i2cdriver.h ioctl.h input.h \ inputdriver.h ipc.h ipcconst.h \ - keymap.h log.h mmio.h mount.h mthread.h minlib.h \ + keymap.h log.h mmio.h mthread.h minlib.h \ netdriver.h optset.h padconf.h partition.h portio.h \ priv.h procfs.h profile.h queryparam.h \ rs.h safecopies.h sched.h sef.h sffs.h \ diff --git a/include/minix/gcov.h b/include/minix/gcov.h index 51b11c644..9168893d7 100644 --- a/include/minix/gcov.h +++ b/include/minix/gcov.h @@ -14,3 +14,12 @@ int gcov_flush_svr(char *buff, int buff_sz, int server_nr); extern void __gcov_flush (void); int do_gcov_flush_impl(message *msg); + +FILE *_gcov_fopen(char *name, char *mode); +size_t _gcov_fread(void *ptr, size_t itemsize, size_t nitems, + FILE *stream); +size_t _gcov_fwrite(void *ptr, size_t itemsize, size_t nitems, + FILE *stream); +int _gcov_fclose(FILE *stream); +int _gcov_fseek(FILE *stream, long offset, int ptrname); +char *_gcov_getenv(const char *name); diff --git a/include/minix/log.h b/include/minix/log.h index a68f36b7c..96f6153e5 100644 --- a/include/minix/log.h +++ b/include/minix/log.h @@ -91,14 +91,14 @@ default_log(struct log *driver, } /* If the wanted level is debug also display line/method information */ if (driver->log_level >= LEVEL_DEBUG) { - fprintf(stderr, "%s(%s):%s+%d(%s):", driver->name, + printf("%s(%s):%s+%d(%s):", driver->name, level_string[level], file, line, function); } else { - fprintf(stderr, "%s(%s)", driver->name, level_string[level]); + printf("%s(%s)", driver->name, level_string[level]); } va_start(args, fmt); - vfprintf(stderr, fmt, args); + vprintf(fmt, args); va_end(args); } diff --git a/include/minix/mount.h b/include/minix/mount.h deleted file mode 100644 index bd9dc8c09..000000000 --- a/include/minix/mount.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * definitions for mount(2) - */ - -#ifndef _MOUNT_H -#define _MOUNT_H - -/* Service flags. These are not passed to VFS. */ -#define MS_REUSE 0x001 /* Tell RS to try reusing binary from memory */ -#define MS_EXISTING 0x002 /* Tell mount to use already running server */ - -#define MNT_LABEL_LEN 16 /* Length of fs label including nul */ - -/* Legacy definitions. */ -#define MNTNAMELEN 16 /* Length of fs type name including nul */ -#define MNTFLAGLEN 64 /* Length of flags string including nul */ - -int mount(char *_spec, char *_name, int _mountflags, int srvflags, char *type, - char *args); -int umount(const char *_name, int srvflags); - -#endif /* _MOUNT_H */ diff --git a/include/minix/vm.h b/include/minix/vm.h index 3448a2534..f748aade4 100644 --- a/include/minix/vm.h +++ b/include/minix/vm.h @@ -27,6 +27,12 @@ int minix_vfs_mmap(endpoint_t who, off_t offset, size_t len, dev_t dev, ino_t ino, int fd, u32_t vaddr, u16_t clearend, u16_t flags); +void *minix_mmap_for(endpoint_t forwhom, + void *addr, size_t len, int prot, int flags, int fd, off_t offset); +int minix_vfs_mmap(endpoint_t who, off_t offset, size_t len, + dev_t dev, ino_t ino, int fd, u32_t vaddr, u16_t clearend, + u16_t flags); + /* minix vfs mmap flags */ #define MVM_WRITABLE 0x8000 diff --git a/include/mntopts.h b/include/mntopts.h index fd789833e..707bb8c27 100644 --- a/include/mntopts.h +++ b/include/mntopts.h @@ -1,4 +1,4 @@ -/* $NetBSD: mntopts.h,v 1.14 2011/06/17 14:23:50 manu Exp $ */ +/* $NetBSD: mntopts.h,v 1.15 2012/10/19 17:09:06 drochner Exp $ */ /*- * Copyright (c) 1994 @@ -58,6 +58,7 @@ struct mntopt { #define MOPT_LOG { "log", 0, MNT_LOG, 0 } #define MOPT_IGNORE { "hidden", 0, MNT_IGNORE, 0 } #define MOPT_EXTATTR { "extattr", 0, MNT_EXTATTR, 0 } +#define MOPT_DISCARD { "discard", 0, MNT_DISCARD, 0 } /* Control flags. */ #define MOPT_FORCE { "force", 0, MNT_FORCE, 0 } diff --git a/include/mpool.h b/include/mpool.h index 800efaed7..7b1254e40 100644 --- a/include/mpool.h +++ b/include/mpool.h @@ -1,4 +1,4 @@ -/* $NetBSD: mpool.h,v 1.13 2008/08/26 21:18:38 joerg Exp $ */ +/* $NetBSD: mpool.h,v 1.14 2013/11/22 16:25:01 christos Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -49,8 +49,8 @@ /* The BKT structures are the elements of the queues. */ typedef struct _bkt { - CIRCLEQ_ENTRY(_bkt) hq; /* hash queue */ - CIRCLEQ_ENTRY(_bkt) q; /* lru queue */ + TAILQ_ENTRY(_bkt) hq; /* hash queue */ + TAILQ_ENTRY(_bkt) q; /* lru queue */ void *page; /* page */ pgno_t pgno; /* page number */ @@ -60,9 +60,9 @@ typedef struct _bkt { } BKT; typedef struct MPOOL { - CIRCLEQ_HEAD(_lqh, _bkt) lqh; /* lru queue head */ + TAILQ_HEAD(_lqh, _bkt) lqh; /* lru queue head */ /* hash queue array */ - CIRCLEQ_HEAD(_hqh, _bkt) hqh[HASHSIZE]; + TAILQ_HEAD(_hqh, _bkt) hqh[HASHSIZE]; pgno_t curcache; /* current number of cached pages */ pgno_t maxcache; /* max number of cached pages */ pgno_t npages; /* number of pages in the file */ diff --git a/include/netdb.h b/include/netdb.h index 42ade05be..122e997f8 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -1,4 +1,4 @@ -/* $NetBSD: netdb.h,v 1.65 2012/03/17 21:57:48 christos Exp $ */ +/* $NetBSD: netdb.h,v 1.69 2013/08/19 07:18:42 christos Exp $ */ /* * ++Copyright++ 1980, 1983, 1988, 1993 @@ -90,10 +90,9 @@ #ifndef _NETDB_H_ #define _NETDB_H_ -#include +#include #include #include -#include #include #include /* @@ -267,11 +266,18 @@ struct addrinfo { #define AI_CANONNAME 0x00000002 /* fill ai_canonname */ #define AI_NUMERICHOST 0x00000004 /* prevent host name resolution */ #define AI_NUMERICSERV 0x00000008 /* prevent service name resolution */ +#define AI_ADDRCONFIG 0x00000400 /* only if any address is assigned */ /* valid flags for addrinfo (not a standard def, apps should not use it) */ +#ifdef _NETBSD_SOURCE +#define AI_SRV 0x00000800 /* do _srv lookups */ +#define AI_MASK \ + (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV | \ + AI_ADDRCONFIG | AI_SRV) +#else #define AI_MASK \ (AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV | \ AI_ADDRCONFIG) -#define AI_ADDRCONFIG 0x00000400 /* only if any address is assigned */ +#endif #endif #if (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 520 || \ @@ -314,7 +320,7 @@ void endservent(void); void freehostent(struct hostent *); #endif #endif -struct hostent *gethostbyaddr(const char *, socklen_t, int); +struct hostent *gethostbyaddr(const void *, socklen_t, int); struct hostent *gethostbyname(const char *); #if defined(_NETBSD_SOURCE) struct hostent *gethostbyname2(const char *, int); diff --git a/include/nl_types.h b/include/nl_types.h index fa36eba87..73bc92441 100644 --- a/include/nl_types.h +++ b/include/nl_types.h @@ -1,4 +1,4 @@ -/* $NetBSD: nl_types.h,v 1.12 2008/04/28 20:22:54 martin Exp $ */ +/* $NetBSD: nl_types.h,v 1.13 2013/08/19 08:03:33 joerg Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -83,9 +83,18 @@ typedef long nl_item; __BEGIN_DECLS nl_catd catopen(const char *, int); -char *catgets(nl_catd, int, int, const char *) - __attribute__((__format_arg__(4))); +char *catgets(nl_catd, int, int, const char *) __format_arg(4); int catclose(nl_catd); __END_DECLS +#if defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +__BEGIN_DECLS +nl_catd catopen_l(const char *, int, locale_t); +__END_DECLS +#endif + #endif /* _NL_TYPES_H_ */ diff --git a/include/pwd.h b/include/pwd.h index 4a471f027..04848b4e4 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -1,4 +1,4 @@ -/* $NetBSD: pwd.h,v 1.42 2009/01/11 03:04:12 christos Exp $ */ +/* $NetBSD: pwd.h,v 1.44 2012/11/26 19:53:41 pooka Exp $ */ /*- * Copyright (c) 1989, 1993 diff --git a/include/res_update.h b/include/res_update.h index b53a3552f..821d9dae6 100644 --- a/include/res_update.h +++ b/include/res_update.h @@ -1,4 +1,4 @@ -/* $NetBSD: res_update.h,v 1.7 2009/04/12 17:07:33 christos Exp $ */ +/* $NetBSD: res_update.h,v 1.8 2012/11/15 18:49:37 christos Exp $ */ /* * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") @@ -26,14 +26,14 @@ #include #include -#include +#include #include /*% * This RR-like structure is particular to UPDATE. */ struct ns_updrec { - LINK(struct ns_updrec) r_link, r_glink; + TAILQ_ENTRY(ns_updrec) r_link, r_glink; ns_sect r_section; /*%< ZONE/PREREQUISITE/UPDATE */ char * r_dname; /*%< owner of the RR */ ns_class r_class; /*%< class number */ @@ -48,7 +48,7 @@ struct ns_updrec { u_int r_zone; /*%< zone number on server */ }; typedef struct ns_updrec ns_updrec; -typedef LIST(ns_updrec) ns_updque; +typedef TAILQ_HEAD(ns_updqueu, ns_updrec) ns_updque; #define res_mkupdate __res_mkupdate #define res_update __res_update diff --git a/include/resolv.h b/include/resolv.h index f1d2d11e2..77363419d 100644 --- a/include/resolv.h +++ b/include/resolv.h @@ -1,4 +1,4 @@ -/* $NetBSD: resolv.h,v 1.39 2012/09/09 18:03:17 christos Exp $ */ +/* $NetBSD: resolv.h,v 1.40 2012/11/07 15:45:24 christos Exp $ */ /* * Portions Copyright (C) 2004, 2005, 2008, 2009 Internet Systems Consortium, Inc. ("ISC") @@ -63,6 +63,7 @@ #include #include #include +#include #include /*% diff --git a/include/rpc/svc.h b/include/rpc/svc.h index 10f4a64d0..98f6bfa0c 100644 --- a/include/rpc/svc.h +++ b/include/rpc/svc.h @@ -1,4 +1,4 @@ -/* $NetBSD: svc.h,v 1.24 2011/08/30 17:06:20 plunky Exp $ */ +/* $NetBSD: svc.h,v 1.25 2013/03/04 17:29:03 christos Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -221,7 +221,7 @@ __END_DECLS * SVCXPRT *xprt; */ __BEGIN_DECLS -extern void xprt_register (SVCXPRT *); +extern bool_t xprt_register (SVCXPRT *); __END_DECLS /* diff --git a/include/rpcsvc/yp_prot.h b/include/rpcsvc/yp_prot.h index 5cd56cbbb..1c4a4c481 100644 --- a/include/rpcsvc/yp_prot.h +++ b/include/rpcsvc/yp_prot.h @@ -1,4 +1,4 @@ -/* $NetBSD: yp_prot.h,v 1.17 2007/10/06 16:17:34 yamt Exp $ */ +/* $NetBSD: yp_prot.h,v 1.18 2013/01/23 17:27:35 mbalmer Exp $ */ /* * Copyright (c) 1992, 1993 Theo de Raadt @@ -287,7 +287,7 @@ struct yppushresp_xfr { #define YPPUSH_AGE ((unsigned int)2) /* Master's version not newer */ #define YPPUSH_NOMAP ((unsigned int)-1) /* Can't find server for map */ #define YPPUSH_NODOM ((unsigned int)-2) /* Domain not supported */ -#define YPPUSH_RSRC ((unsigned int)-3) /* Local resouce alloc failure */ +#define YPPUSH_RSRC ((unsigned int)-3) /* Local resource alloc failure */ #define YPPUSH_RPC ((unsigned int)-4) /* RPC failure talking to server */ #define YPPUSH_MADDR ((unsigned int)-5) /* Can't get master address */ #define YPPUSH_YPERR ((unsigned int)-6) /* YP server/map db error */ diff --git a/include/search.h b/include/search.h index 55fed5a36..302199a3c 100644 --- a/include/search.h +++ b/include/search.h @@ -1,4 +1,4 @@ -/* $NetBSD: search.h,v 1.19 2011/09/14 23:34:26 christos Exp $ */ +/* $NetBSD: search.h,v 1.20 2013/04/27 21:35:25 joerg Exp $ */ /* * Written by J.T. Conklin @@ -9,6 +9,7 @@ #define _SEARCH_H_ #include +#include #include #ifdef _BSD_SIZE_T_ diff --git a/include/signal.h b/include/signal.h index 340b385ea..eb1b5e300 100644 --- a/include/signal.h +++ b/include/signal.h @@ -66,9 +66,9 @@ int __libc_sigaction14(int, const struct sigaction * __restrict, defined(_NETBSD_SOURCE) int pthread_sigmask(int, const sigset_t * __restrict, sigset_t * __restrict); -#ifndef __minix +#if !defined(__minix) int pthread_kill(pthread_t, int); -#endif +#endif /* !defined(__minix) */ int __libc_thr_sigsetmask(int, const sigset_t * __restrict, sigset_t * __restrict); #ifndef __LIBPTHREAD_SOURCE__ @@ -85,7 +85,7 @@ int sigdelset(sigset_t *, int) __RENAME(__sigdelset14); int sigemptyset(sigset_t *) __RENAME(__sigemptyset14); int sigfillset(sigset_t *) __RENAME(__sigfillset14); int sigismember(const sigset_t *, int) __RENAME(__sigismember14); -#endif +#endif /* defined(__minix) && !defined(_SYSTEM) */ int sigpending(sigset_t *) __RENAME(__sigpending14); int sigprocmask(int, const sigset_t * __restrict, sigset_t * __restrict) __RENAME(__sigprocmask14); @@ -165,7 +165,7 @@ sigfillset(sigset_t *set) __sigfillset(set); return (0); } -#endif +#endif /* defined(__minix) && defined(_SYSTEM) */ #endif /* __c99inline */ #endif /* !__LIBC12_SOURCE__ */ diff --git a/include/ssp/string.h b/include/ssp/string.h index b9002f760..7f9550930 100644 --- a/include/ssp/string.h +++ b/include/ssp/string.h @@ -1,4 +1,4 @@ -/* $NetBSD: string.h,v 1.5 2012/07/22 21:05:26 joerg Exp $ */ +/* $NetBSD: string.h,v 1.9 2013/11/07 02:00:54 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -37,6 +37,7 @@ __BEGIN_DECLS void *__memcpy_chk(void *, const void *, size_t, size_t); void *__memmove_chk(void *, void *, size_t, size_t); void *__memset_chk(void *, int, size_t, size_t); +char *__stpcpy_chk(char *, const char *, size_t); char *__strcat_chk(char *, const char *, size_t); char *__strcpy_chk(char *, const char *, size_t); char *__strncat_chk(char *, const char *, size_t, size_t); @@ -80,6 +81,7 @@ __BEGIN_DECLS __ssp_bos_icheck3_restrict(memcpy, void *, const void *) __ssp_bos_icheck3(memmove, void *, const void *) __ssp_bos_icheck3(memset, void *, int) +__ssp_bos_icheck2_restrict(stpcpy, char *, const char *) __ssp_bos_icheck2_restrict(strcpy, char *, const char *) __ssp_bos_icheck2_restrict(strcat, char *, const char *) __ssp_bos_icheck3_restrict(strncpy, char *, const char *) @@ -89,6 +91,7 @@ __END_DECLS #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len) #define memmove(dst, src, len) __ssp_bos_check3(memmove, dst, src, len) #define memset(dst, val, len) __ssp_bos_check3(memset, dst, val, len) +#define stpcpy(dst, src) __ssp_bos_check2(stpcpy, dst, src) #define strcpy(dst, src) __ssp_bos_check2(strcpy, dst, src) #define strcat(dst, src) __ssp_bos_check2(strcat, dst, src) #define strncpy(dst, src, len) __ssp_bos_check3(strncpy, dst, src, len) diff --git a/include/stdbool.h b/include/stdbool.h index a1fb89631..966416bdf 100644 --- a/include/stdbool.h +++ b/include/stdbool.h @@ -1,4 +1,4 @@ -/* $NetBSD: stdbool.h,v 1.3 2008/04/28 20:22:54 martin Exp $ */ +/* $NetBSD: stdbool.h,v 1.5 2013/04/26 17:41:34 joerg Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -37,11 +37,7 @@ #define true 1 #define false 0 -#else -#define bool bool -#define true true -#define false false #endif /* __cplusplus */ #define __bool_true_false_are_defined 1 diff --git a/include/stdio.h b/include/stdio.h index d5055bd58..5c8f80302 100644 --- a/include/stdio.h +++ b/include/stdio.h @@ -1,4 +1,4 @@ -/* $NetBSD: stdio.h,v 1.82 2012/04/18 19:30:15 christos Exp $ */ +/* $NetBSD: stdio.h,v 1.88 2013/05/04 18:30:14 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -228,7 +228,7 @@ int fflush(FILE *); int fgetc(FILE *); char *fgets(char * __restrict, int, FILE * __restrict); FILE *fopen(const char * __restrict , const char * __restrict); -int fprintf(FILE * __restrict , const char * __restrict, ...) +int fprintf(FILE * __restrict, const char * __restrict, ...) __printflike(2, 3); int fputc(int, FILE *); int fputs(const char * __restrict, FILE * __restrict); @@ -485,7 +485,7 @@ static __inline int __sputc(int _c, FILE *_p) { #define __sfileno(p) \ ((p)->_file == -1 ? -1 : (int)(unsigned short)(p)->_file) -#ifndef __lint__ +#if !defined(__lint__) && !defined(__cplusplus) #if !defined(_REENTRANT) && !defined(_PTHREADS) #define feof(p) __sfeof(p) #define ferror(p) __sferror(p) @@ -494,17 +494,18 @@ static __inline int __sputc(int _c, FILE *_p) { #define getc(fp) __sgetc(fp) #define putc(x, fp) __sputc(x, fp) #endif /* !_REENTRANT && !_PTHREADS */ -#endif /* __lint__ */ #define getchar() getc(stdin) #define putchar(x) putc(x, stdout) -#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ - defined(_NETBSD_SOURCE) +#endif /* !__lint__ && !__cplusplus */ + +#if (defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ + defined(_NETBSD_SOURCE)) && !defined(__cplusplus) #if !defined(_REENTRANT) && !defined(_PTHREADS) #define fileno(p) __sfileno(p) #endif /* !_REENTRANT && !_PTHREADS */ -#endif /* !_ANSI_SOURCE */ +#endif /* !_ANSI_SOURCE && !__cplusplus*/ #if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) int vdprintf(int, const char * __restrict, __va_list) @@ -514,7 +515,7 @@ int dprintf(int, const char * __restrict, ...) #endif /* (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) */ #if (_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500 || \ - defined(_REENTRANT) || defined(_NETBSD_SOURCE) + defined(_REENTRANT) || defined(_NETBSD_SOURCE) && !defined(__cplusplus) #define getc_unlocked(fp) __sgetc(fp) #define putc_unlocked(x, fp) __sputc(x, fp) @@ -527,6 +528,63 @@ int dprintf(int, const char * __restrict, ...) FILE *fmemopen(void * __restrict, size_t, const char * __restrict); #endif +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +__BEGIN_DECLS +int fprintf_l(FILE * __restrict, locale_t, const char * __restrict, ...) + __printflike(3, 4); +int vfprintf_l(FILE * __restrict, locale_t, const char * __restrict, + __va_list) __printflike(3, 0); +int printf_l(locale_t, const char * __restrict, ...) + __printflike(2, 3); +int vprintf_l(locale_t, const char * __restrict, __va_list) + __printflike(2, 0); +int asprintf_l(char ** __restrict, locale_t, const char * __restrict, ...) + __printflike(3, 4); +int vasprintf_l(char ** __restrict, locale_t, const char * __restrict, + __va_list) + __printflike(3, 0); +int vdprintf_l(int, locale_t, const char * __restrict, __va_list) + __printflike(3, 0); +int dprintf_l(int, locale_t, const char * __restrict, ...) + __printflike(3, 4); +int snprintf_l(char * __restrict, size_t, locale_t, + const char * __restrict, ...) __printflike(4, 5); +int vsnprintf_l(char * __restrict, size_t, locale_t, + const char * __restrict, __va_list) __printflike(4, 0); +#ifndef __AUDIT__ +int sprintf_l(char * __restrict, locale_t, const char * __restrict, ...) + __printflike(3, 4); +int vsprintf_l(char * __restrict, locale_t, const char * __restrict, + __va_list) __printflike(3, 0); +#endif + +int fscanf_l(FILE * __restrict, locale_t, const char * __restrict, ...) + __scanflike(3, 4); +int scanf_l(locale_t, const char * __restrict, ...) + __scanflike(2, 3); +int sscanf_l(const char * __restrict, locale_t, + const char * __restrict, ...) __scanflike(3, 4); +int vscanf_l(locale_t, const char * __restrict, __va_list) + __scanflike(2, 0); +int vscanf_l(locale_t, const char * __restrict, __va_list) + __scanflike(2, 0); +int vfscanf_l(FILE * __restrict, locale_t, const char * __restrict, + __va_list) __scanflike(3, 0); +int vsscanf_l(const char * __restrict, locale_t, const char * __restrict, + __va_list) __scanflike(3, 0); +#ifdef _NETBSD_SOURCE +int snprintf_ss(char *restrict, size_t, const char * __restrict, ...) + __printflike(3, 4); +int vsnprintf_ss(char *restrict, size_t, const char * __restrict, __va_list) + __printflike(3, 0); +#endif +__END_DECLS +#endif + #if _FORTIFY_SOURCE > 0 #include #endif diff --git a/include/stdlib.h b/include/stdlib.h index f9f6231bd..cf0f96ed1 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -1,4 +1,4 @@ -/* $NetBSD: stdlib.h,v 1.100 2012/06/21 21:13:29 christos Exp $ */ +/* $NetBSD: stdlib.h,v 1.106 2013/04/26 18:07:43 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -65,7 +65,7 @@ typedef struct { #if !defined(_ANSI_SOURCE) && \ (defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \ - defined(_NETBSD_SOURCE)) + (__cplusplus - 0) >= 201103L || defined(_NETBSD_SOURCE)) typedef struct { /* LONGLONG */ long long int quot; /* quotient */ @@ -207,7 +207,8 @@ char *ptsname(int); * ISO C99 */ #if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L || \ - defined(_NETBSD_SOURCE) + defined(_NETBSD_SOURCE) || (__cplusplus - 0) >= 201103L + /* LONGLONG */ long long int atoll(const char *); /* LONGLONG */ @@ -223,6 +224,12 @@ float strtof(const char * __restrict, char ** __restrict); long double strtold(const char * __restrict, char ** __restrict); #endif +#if defined(_ISOC11_SOURCE) || (__STDC_VERSION__ - 0) >= 201101L || \ + defined(_NETBSD_SOURCE) || (__cplusplus - 0) >= 201103L +int at_quick_exit(void (*)(void)); +__dead void quick_exit(int); +#endif + /* * The Open Group Base Specifications, Issue 6; IEEE Std 1003.1-2001 (POSIX) */ @@ -285,9 +292,9 @@ __aconst char *devname(dev_t, mode_t) __RENAME(__devname50); int humanize_number(char *, size_t, int64_t, const char *, int, int); int dehumanize_number(const char *, int64_t *); -#ifndef __minix +#if !defined(__minix) devmajor_t getdevmajor(const char *, mode_t); -#endif /* !__minix */ +#endif /* !defined(__minix) */ int getloadavg(double [], int); int getenv_r(const char *, char *, size_t); @@ -330,6 +337,44 @@ size_t shquotev(int, char * const *, char *, size_t); #if defined(_NETBSD_SOURCE) qdiv_t qdiv(quad_t, quad_t); #endif + +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +double strtod_l(const char * __restrict, char ** __restrict, locale_t); +float strtof_l(const char * __restrict, char ** __restrict, locale_t); +long double strtold_l(const char * __restrict, char ** __restrict, + locale_t); +long strtol_l(const char * __restrict, char ** __restrict, int, locale_t); +unsigned long + strtoul_l(const char * __restrict, char ** __restrict, int, locale_t); +/* LONGLONG */ +long long int + strtoll_l(const char * __restrict, char ** __restrict, int, locale_t); +/* LONGLONG */ +unsigned long long int + strtoull_l(const char * __restrict, char ** __restrict, int, locale_t); + +# if defined(_NETBSD_SOURCE) +quad_t strtoq_l(const char * __restrict, char ** __restrict, int, locale_t); +u_quad_t strtouq_l(const char * __restrict, char ** __restrict, int, locale_t); + +size_t _mb_cur_max_l(locale_t); +#define MB_CUR_MAX_L(loc) _mb_cur_max_l(loc) +int mblen_l(const char *, size_t, locale_t); +size_t mbstowcs_l(wchar_t * __restrict, const char * __restrict, size_t, + locale_t); +int wctomb_l(char *, wchar_t, locale_t); +int mbtowc_l(wchar_t * __restrict, const char * __restrict, size_t, + locale_t); +size_t wcstombs_l(char * __restrict, const wchar_t * __restrict, size_t, + locale_t); + +# endif /* _NETBSD_SOURCE */ +#endif /* _POSIX_C_SOURCE >= 200809 || _NETBSD_SOURCE */ + __END_DECLS #endif /* !_STDLIB_H_ */ diff --git a/include/string.h b/include/string.h index a02ab19e7..a7553ca3c 100644 --- a/include/string.h +++ b/include/string.h @@ -1,4 +1,4 @@ -/* $NetBSD: string.h,v 1.41 2012/08/30 12:16:48 drochner Exp $ */ +/* $NetBSD: string.h,v 1.48 2013/08/28 17:47:07 riastradh Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -89,12 +89,6 @@ size_t strnlen(const char *, size_t); /* also in unistd.h */ __aconst char *strsignal(int); #endif /* __STRSIGNAL_DECLARED */ -/* - * For POSIX compliance, we still need: - * strcoll_l - * strerror_l - * strxfrm_l - */ #endif __END_DECLS @@ -109,11 +103,23 @@ char *strsep(char **, const char *); char *stresep(char **, const char *, int); char *strndup(const char *, size_t); void *memrchr(const void *, int, size_t); -void __explicit_bzero(void *, size_t); -int __consttime_bcmp(const void *, const void *, size_t); +void *explicit_memset(void *, int, size_t); +int consttime_memequal(const void *, const void *, size_t); __END_DECLS #endif +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +__BEGIN_DECLS +int strcoll_l(const char *, const char *, locale_t); +size_t strxfrm_l(char * __restrict, const char * __restrict, size_t, locale_t); +__aconst char *strerror_l(int, locale_t); +__END_DECLS +#endif /* _POSIX_C_SOURCE || _NETBSD_SOURCE */ + #if _FORTIFY_SOURCE > 0 #include #endif diff --git a/include/time.h b/include/time.h index 2aa5ce738..decf5dc42 100644 --- a/include/time.h +++ b/include/time.h @@ -1,4 +1,4 @@ -/* $NetBSD: time.h,v 1.41 2012/10/02 01:42:06 christos Exp $ */ +/* $NetBSD: time.h,v 1.43 2013/04/21 17:54:56 joerg Exp $ */ /* * Copyright (c) 1989, 1993 @@ -174,6 +174,16 @@ struct tm *localtime_r(const time_t * __restrict, struct tm * __restrict) #endif #endif +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +size_t strftime_l(char * __restrict, size_t, const char * __restrict, + const struct tm * __restrict, locale_t) + __attribute__((__format__(__strftime__, 3, 0))); +#endif + #if defined(_NETBSD_SOURCE) typedef struct __state *timezone_t; @@ -200,9 +210,14 @@ void tzfree(const timezone_t) __RENAME(__tzfree50); const char *tzgetname(const timezone_t, int) __RENAME(__tzgetname50); #endif +size_t strftime_lz(const timezone_t, char * __restrict, size_t, + const char * __restrict, const struct tm * __restrict, locale_t) + __attribute__((__format__(__strftime__, 4, 0))); size_t strftime_z(const timezone_t, char * __restrict, size_t, const char * __restrict, const struct tm * __restrict) __attribute__((__format__(__strftime__, 4, 0))); +char *strptime_l(const char * __restrict, const char * __restrict, + struct tm * __restrict, locale_t); #endif /* _NETBSD_SOURCE */ diff --git a/include/ttyent.h b/include/ttyent.h index da30f13cf..bee306f1d 100644 --- a/include/ttyent.h +++ b/include/ttyent.h @@ -1,4 +1,4 @@ -/* $NetBSD: ttyent.h,v 1.14 2006/04/17 23:29:21 salo Exp $ */ +/* $NetBSD: ttyent.h,v 1.15 2013/04/27 21:35:25 joerg Exp $ */ /* * Copyright (c) 1989, 1993 @@ -35,6 +35,7 @@ #define _TTYENT_H_ #include +#include #define _PATH_TTYS "/etc/ttys" diff --git a/include/unistd.h b/include/unistd.h index 128ab50da..c8aa39c8c 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -1,4 +1,4 @@ -/* $NetBSD: unistd.h,v 1.135 2012/07/14 15:06:26 darrenr Exp $ */ +/* $NetBSD: unistd.h,v 1.139 2013/10/09 09:38:21 njoly Exp $ */ /*- * Copyright (c) 1998, 1999, 2008 The NetBSD Foundation, Inc. @@ -133,9 +133,9 @@ ssize_t read(int, void *, size_t); #endif int rmdir(const char *); int setgid(gid_t); -#ifndef __minix +#if !defined(__minix) int setpgid(pid_t, pid_t); -#endif /* !__minix */ +#endif /* !defined(__minix) */ pid_t setsid(void); int setuid(uid_t); unsigned int sleep(unsigned int); @@ -194,9 +194,9 @@ int ftruncate(int, off_t); */ #if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \ defined(_NETBSD_SOURCE) -#ifndef __minix +#if !defined(__minix) int fdatasync(int); -#endif /* !__minix */ +#endif /* !defined(__minix) */ int fsync(int); #endif @@ -257,25 +257,25 @@ long gethostid(void); int gethostname(char *, size_t); __pure int getpagesize(void); /* legacy */ -#ifndef __minix +#if !defined(__minix) pid_t getpgid(pid_t); #if defined(_XOPEN_SOURCE) int lchown(const char *, uid_t, gid_t) __RENAME(__posix_lchown); #else int lchown(const char *, uid_t, gid_t); #endif -#endif /* !__minix */ +#endif /* !defined(__minix) */ int lockf(int, int, off_t); #if __SSP_FORTIFY_LEVEL == 0 ssize_t readlink(const char * __restrict, char * __restrict, size_t); #endif void *sbrk(intptr_t); -#ifndef __minix +#if !defined(__minix) /* XXX prototype wrong! */ int setpgrp(pid_t, pid_t); /* obsoleted by setpgid() */ int setregid(gid_t, gid_t); int setreuid(uid_t, uid_t); -#endif /* !__minix */ +#endif /* !defined(__minix) */ void swab(const void * __restrict, void * __restrict, ssize_t); int symlink(const char *, const char *); void sync(void); @@ -302,29 +302,28 @@ ssize_t pwrite(int, const void *, size_t, off_t); /* * X/Open Extended API set 2 (a.k.a. C063) */ -#if defined(_INCOMPLETE_XOPEN_C063) +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \ + defined(_INCOMPLETE_XOPEN_C063) || defined(_NETBSD_SOURCE) int linkat(int, const char *, int, const char *, int); int renameat(int, const char *, int, const char *); -int mkfifoat(int, const char *, mode_t); -int mknodat(int, const char *, mode_t, uint32_t); -int mkdirat(int, const char *, mode_t); int faccessat(int, const char *, int, int); -int fchmodat(int, const char *, mode_t, int); int fchownat(int, const char *, uid_t, gid_t, int); -int fexecve(int, char * const *, char * const *); int readlinkat(int, const char *, char *, size_t); int symlinkat(const char *, int, const char *); int unlinkat(int, const char *, int); #endif +#if defined(_INCOMPLETE_XOPEN_C063) +int fexecve(int, char * const *, char * const *); +#endif /* * Implementation-defined extensions */ #if defined(_NETBSD_SOURCE) -#ifndef __minix +#if !defined(__minix) int acct(const char *); -#endif /* !__minix */ +#endif /* !defined(__minix) */ int closefrom(int); int des_cipher(const char *, char *, long, int); int des_setkey(const char *); @@ -359,9 +358,9 @@ int iruserok(uint32_t, int, const char *, const char *); int issetugid(void); int nfssvc(int, void *); int pipe2(int *, int); -#ifndef __minix +#if !defined(__minix) int profil(char *, size_t, u_long, u_int); -#endif /* !__minix */ +#endif /* !defined(__minix) */ #ifndef __PSIGNAL_DECLARED #define __PSIGNAL_DECLARED /* also in signal.h */ @@ -369,9 +368,9 @@ void psignal(int, const char *); #endif /* __PSIGNAL_DECLARED */ int rcmd(char **, int, const char *, const char *, const char *, int *); int reboot(int, char *); -#ifndef __minix +#if !defined(__minix) int revoke(const char *); -#endif +#endif /* !defined(__minix) */ int rresvport(int *); int ruserok(const char *, int, const char *, const char *); int setdomainname(const char *, size_t); @@ -389,10 +388,10 @@ void strmode(mode_t, char *); /* backwards-compatibility; also in string.h */ __aconst char *strsignal(int); #endif /* __STRSIGNAL_DECLARED */ -#ifndef __minix +#if !defined(__minix) int swapctl(int, void *, int); int swapon(const char *); /* obsoleted by swapctl() */ -#endif /* !__minix */ +#endif /* !defined(__minix) */ int syscall(int, ...); quad_t __syscall(quad_t, ...); int undelete(const char *); diff --git a/include/util.h b/include/util.h index b9ea78b08..941e4be1e 100644 --- a/include/util.h +++ b/include/util.h @@ -1,4 +1,4 @@ -/* $NetBSD: util.h,v 1.63 2012/04/07 16:44:59 christos Exp $ */ +/* $NetBSD: util.h,v 1.65 2013/05/02 07:17:35 matt Exp $ */ /*- * Copyright (c) 1995 @@ -33,21 +33,25 @@ #define _UTIL_H_ #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include #ifdef _BSD_TIME_T_ typedef _BSD_TIME_T_ time_t; #undef _BSD_TIME_T_ #endif +#ifdef _BSD_SIZE_T_ +typedef _BSD_SIZE_T_ size_t; +#undef _BSD_SIZE_T_ +#endif + +#if defined(_POSIX_C_SOURCE) +#ifndef __VA_LIST_DECLARED +typedef __va_list va_list; +#define __VA_LIST_DECLARED +#endif +#endif #define PIDLOCK_NONBLOCK 1 #define PIDLOCK_USEHOSTNAME 2 @@ -62,12 +66,14 @@ struct iovec; struct passwd; struct termios; struct utmp; +struct utmpx; struct winsize; struct sockaddr; char *flags_to_string(unsigned long, const char *); pid_t forkpty(int *, char *, struct termios *, struct winsize *); const char *getbootfile(void); +int getbyteorder(void); off_t getlabeloffset(void); int getlabelsector(void); int getlabelusesmbr(void); @@ -147,8 +153,8 @@ void *erealloc(void *, size_t); struct __sFILE *efopen(const char *, const char *); int easprintf(char ** __restrict, const char * __restrict, ...) __printflike(2, 3); -int evasprintf(char ** __restrict, const char * __restrict, va_list) - __printflike(2, 0); +int evasprintf(char ** __restrict, const char * __restrict, + __va_list) __printflike(2, 0); __END_DECLS #endif /* !_UTIL_H_ */ diff --git a/include/vis.h b/include/vis.h index 5e8d1d31e..b4c6b5e1c 100644 --- a/include/vis.h +++ b/include/vis.h @@ -1,4 +1,4 @@ -/* $NetBSD: vis.h,v 1.19 2011/03/12 19:52:45 christos Exp $ */ +/* $NetBSD: vis.h,v 1.21 2013/02/20 17:01:15 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -39,29 +39,30 @@ /* * to select alternate encoding format */ -#define VIS_OCTAL 0x001 /* use octal \ddd format */ -#define VIS_CSTYLE 0x002 /* use \[nrft0..] where appropiate */ +#define VIS_OCTAL 0x0001 /* use octal \ddd format */ +#define VIS_CSTYLE 0x0002 /* use \[nrft0..] where appropiate */ /* * to alter set of characters encoded (default is to encode all * non-graphic except space, tab, and newline). */ -#define VIS_SP 0x004 /* also encode space */ -#define VIS_TAB 0x008 /* also encode tab */ -#define VIS_NL 0x010 /* also encode newline */ +#define VIS_SP 0x0004 /* also encode space */ +#define VIS_TAB 0x0008 /* also encode tab */ +#define VIS_NL 0x0010 /* also encode newline */ #define VIS_WHITE (VIS_SP | VIS_TAB | VIS_NL) -#define VIS_SAFE 0x020 /* only encode "unsafe" characters */ +#define VIS_SAFE 0x0020 /* only encode "unsafe" characters */ /* * other */ -#define VIS_NOSLASH 0x040 /* inhibit printing '\' */ -#define VIS_HTTP1808 0x080 /* http-style escape % hex hex */ -#define VIS_HTTPSTYLE 0x080 /* http-style escape % hex hex */ -#define VIS_MIMESTYLE 0x100 /* mime-style escape = HEX HEX */ -#define VIS_HTTP1866 0x200 /* http-style &#num; or &string; */ -#define VIS_NOESCAPE 0x400 /* don't decode `\' */ -#define _VIS_END 0x800 /* for unvis */ +#define VIS_NOSLASH 0x0040 /* inhibit printing '\' */ +#define VIS_HTTP1808 0x0080 /* http-style escape % hex hex */ +#define VIS_HTTPSTYLE 0x0080 /* http-style escape % hex hex */ +#define VIS_MIMESTYLE 0x0100 /* mime-style escape = HEX HEX */ +#define VIS_HTTP1866 0x0200 /* http-style &#num; or &string; */ +#define VIS_NOESCAPE 0x0400 /* don't decode `\' */ +#define _VIS_END 0x0800 /* for unvis */ +#define VIS_GLOB 0x1000 /* encode glob(3) magic characters */ /* * unvis return codes @@ -94,9 +95,12 @@ int strsnvis(char *, size_t, const char *, int, const char *); int strvisx(char *, const char *, size_t, int); int strnvisx(char *, size_t, const char *, size_t, int); +int strenvisx(char *, size_t, const char *, size_t, int, int *); int strsvisx(char *, const char *, size_t, int, const char *); int strsnvisx(char *, size_t, const char *, size_t, int, const char *); +int strsenvisx(char *, size_t, const char *, size_t , int, const char *, + int *); int strunvis(char *, const char *); int strnunvis(char *, size_t, const char *); diff --git a/include/wchar.h b/include/wchar.h index 686704298..fce9d6a51 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -1,4 +1,4 @@ -/* $NetBSD: wchar.h,v 1.30 2011/07/17 20:54:34 joerg Exp $ */ +/* $NetBSD: wchar.h,v 1.40 2013/11/21 09:09:52 degroote Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -145,7 +145,8 @@ long int wcstol(const wchar_t * __restrict, double wcstod(const wchar_t * __restrict, wchar_t ** __restrict); #if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L || \ - defined(_NETBSD_SOURCE) + defined(_NETBSD_SOURCE) || \ + (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600 float wcstof(const wchar_t * __restrict, wchar_t ** __restrict); long double wcstold(const wchar_t * __restrict, wchar_t ** __restrict); @@ -181,7 +182,8 @@ int vwprintf(const wchar_t * __restrict, __va_list); int wprintf(const wchar_t * __restrict, ...); int wscanf(const wchar_t * __restrict, ...); #if defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) > 199901L || \ - defined(_NETBSD_SOURCE) + defined(_NETBSD_SOURCE) || \ + (_POSIX_C_SOURCE - 0) >= 200112L || (_XOPEN_SOURCE - 0) >= 600 int vfwscanf(FILE * __restrict, const wchar_t * __restrict, __va_list); int vswscanf(const wchar_t * __restrict, const wchar_t * __restrict, __va_list); @@ -206,4 +208,83 @@ __END_DECLS #define putwc(wc, f) fputwc((wc), (f)) #define putwchar(wc) putwc((wc), stdout) +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +__BEGIN_DECLS +size_t mbsnrtowcs(wchar_t * __restrict, const char ** __restrict, size_t, + size_t, mbstate_t * __restrict); +size_t wcsnrtombs(char * __restrict, const wchar_t ** __restrict, size_t, + size_t, mbstate_t * __restrict); + +int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +size_t wcsxfrm_l(wchar_t *, const wchar_t *, size_t, locale_t); +int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); + +size_t wcsftime_l(wchar_t * __restrict, size_t, const wchar_t * __restrict, + const struct tm * __restrict, locale_t); + +float wcstof_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t); +double wcstod_l(const wchar_t * __restrict, wchar_t ** __restrict, locale_t); +long double wcstold_l(const wchar_t * __restrict, wchar_t ** __restrict, + locale_t); +long int wcstol_l(const wchar_t * __restrict, wchar_t ** __restrict, int, + locale_t); +unsigned long int wcstoul_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +/* LONGLONG */ +long long int wcstoll_l(const wchar_t * __restrict, wchar_t ** __restrict, int, + locale_t); +/* LONGLONG */ +unsigned long long int wcstoull_l(const wchar_t * __restrict, + wchar_t ** __restrict, int, locale_t); +int wcwidth_l(wchar_t, locale_t); +int wcswidth_l(const wchar_t *, size_t, locale_t); +__END_DECLS +#endif /* _POSIX_C_SOURCE || _NETBSD_SOURCE */ + +#if defined(_NETBSD_SOURCE) +__BEGIN_DECLS +wint_t btowc_l(int, locale_t); +size_t mbrlen_l(const char * __restrict, size_t, mbstate_t * __restrict, + locale_t); +size_t mbrtowc_l(wchar_t * __restrict, const char * __restrict, size_t, + mbstate_t * __restrict, locale_t); +int mbsinit_l(const mbstate_t *, locale_t); +size_t mbsrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, + mbstate_t * __restrict, locale_t); +size_t mbsnrtowcs_l(wchar_t * __restrict, const char ** __restrict, size_t, + size_t, mbstate_t * __restrict, locale_t); +size_t wcrtomb_l(char * __restrict, wchar_t, mbstate_t * __restrict, locale_t); +size_t wcsrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, + mbstate_t * __restrict, locale_t); +size_t wcsnrtombs_l(char * __restrict, const wchar_t ** __restrict, size_t, + size_t, mbstate_t * __restrict, locale_t); +int wctob_l(wint_t, locale_t); + +int fwprintf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); +int swprintf_l(wchar_t * __restrict, size_t n, locale_t, + const wchar_t * __restrict, ...); +int vfwprintf_l(FILE * __restrict, locale_t, + const wchar_t * __restrict, __va_list); +int vswprintf_l(wchar_t * __restrict, size_t, locale_t, + const wchar_t * __restrict, __va_list); +int vwprintf_l(locale_t, const wchar_t * __restrict, __va_list); +int wprintf_l(locale_t, const wchar_t * __restrict, ...); + +int fwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, ...); +int swscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * + __restrict, ...); +int wscanf_l(locale_t, const wchar_t * __restrict, ...); +int vfwscanf_l(FILE * __restrict, locale_t, const wchar_t * __restrict, + __va_list); +int vswscanf_l(const wchar_t * __restrict, locale_t, const wchar_t * __restrict, + __va_list); +int vwscanf_l(locale_t, const wchar_t * __restrict, __va_list); +__END_DECLS +#endif /* _NETBSD_SOURCE */ + #endif /* !_WCHAR_H_ */ diff --git a/include/wctype.h b/include/wctype.h index b8689b15c..bbf03cf57 100644 --- a/include/wctype.h +++ b/include/wctype.h @@ -1,4 +1,4 @@ -/* $NetBSD: wctype.h,v 1.7 2010/03/27 22:14:09 tnozaki Exp $ */ +/* $NetBSD: wctype.h,v 1.9 2013/04/27 21:35:25 joerg Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -32,6 +32,7 @@ #define _WCTYPE_H_ #include +#include #include #ifdef _BSD_WINT_T_ @@ -72,6 +73,31 @@ wint_t towlower(wint_t); wint_t towupper(wint_t); wctrans_t wctrans(const char *); wctype_t wctype(const char *); + +#if (_POSIX_C_SOURCE - 0) >= 200809L || defined(_NETBSD_SOURCE) +# ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +# define __LOCALE_T_DECLARED +# endif +int iswalnum_l(wint_t, locale_t); +int iswalpha_l(wint_t, locale_t); +int iswblank_l(wint_t, locale_t); +int iswcntrl_l(wint_t, locale_t); +int iswdigit_l(wint_t, locale_t); +int iswgraph_l(wint_t, locale_t); +int iswlower_l(wint_t, locale_t); +int iswprint_l(wint_t, locale_t); +int iswpunct_l(wint_t, locale_t); +int iswspace_l(wint_t, locale_t); +int iswupper_l(wint_t, locale_t); +int iswxdigit_l(wint_t, locale_t); +int iswctype_l(wint_t, wctype_t, locale_t); +wint_t towctrans_l(wint_t, wctrans_t, locale_t); +wint_t towlower_l(wint_t, locale_t); +wint_t towupper_l(wint_t, locale_t); +wctrans_t wctrans_l(const char *, locale_t); +wctype_t wctype_l(const char *, locale_t); +#endif __END_DECLS #endif /* _WCTYPE_H_ */ diff --git a/kernel/arch/earm/Makefile.inc b/kernel/arch/earm/Makefile.inc index 9644fd2e5..72c569eb7 100644 --- a/kernel/arch/earm/Makefile.inc +++ b/kernel/arch/earm/Makefile.inc @@ -5,52 +5,56 @@ HERE=${.CURDIR}/arch/${MACHINE_ARCH} .PATH: ${HERE} # objects we want unpaged from -lminlib -MINLIB_OBJS_UNPAGED=get_bp.o +MINLIB_OBJS_UNPAGED= get_bp.o get_bp.o: ${NETBSDSRCDIR}/lib/libminlib/${MACHINE_ARCH}/get_bp.S # objects we want unpaged from -lsys -SYS_OBJS_UNPAGED=assert.o kprintf.o stacktrace.o vprintf.o +SYS_OBJS_UNPAGED=assert.o stacktrace.o assert.o: ${NETBSDSRCDIR}/lib/libsys/assert.c -kprintf.o: ${NETBSDSRCDIR}/lib/libsys/kprintf.c stacktrace.o: ${NETBSDSRCDIR}/lib/libsys/stacktrace.c -vprintf.o: ${NETBSDSRCDIR}/lib/libsys/vprintf.c # objects we want unpaged from -lminc -MINC_OBJS_UNPAGED=findfp.o strcat.o strlen.o memcpy.o strcpy.o strncmp.o \ - memset.o memmove.o strcmp.o atoi.o ctype_.o strtol.o \ - _errno.o errno.o udivdi3.o umoddi3.o qdivrem.o -MINC_OBJS_UNPAGED+= divsi3.o __aeabi_uldivmod.o -#_udivsi3.o _divdi3.o _udivdi3.o _umoddi3.o _dvmd_tls.o _clzsi2.o bpabi.o -memcpy.o: ${NETBSDSRCDIR}/common/lib/libc/string/memcpy.c -memmove.o: ${NETBSDSRCDIR}/common/lib/libc/string/memmove.c -memset.o: ${NETBSDSRCDIR}/common/lib/libc/string/memset.c -strcat.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcat.c -strlen.o: ${NETBSDSRCDIR}/common/lib/libc/string/strlen.c -strcpy.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcpy.c -strcmp.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcmp.c +MINC_OBJS_UNPAGED= atoi.o \ + printf.o subr_prf.o \ + strcmp.o strcpy.o strlen.o strncmp.o \ + memcpy.o memmove.o memset.o \ + udivdi3.o umoddi3.o qdivrem.o +MINC_OBJS_UNPAGED+= __aeabi_ldiv0.o __aeabi_idiv0.o __aeabi_uldivmod.o divide.o divsi3.o udivsi3.o +atoi.o: ${NETBSDSRCDIR}/lib/libminc/atoi.c +printf.o: ${NETBSDSRCDIR}/sys/lib/libsa/printf.c +subr_prf.o: ${NETBSDSRCDIR}/sys/lib/libsa/subr_prf.c +memcpy.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/string/memcpy.S +memmove.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/string/memmove.S +memset.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/string/memset.S +strlen.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/string/strlen.S +strcpy.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/string/strcpy.S +strcmp.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/string/strcmp.S + +#strcat.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcat.c +__aeabi_idiv0.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/gen/__aeabi_idiv0.c +__aeabi_ldiv0.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/gen/__aeabi_ldiv0.c +__aeabi_uldivmod.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/quad/__aeabi_uldivmod.S +divide.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/gen/divide.S +divsi3.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/gen/divsi3.S +udivsi3.o: ${NETBSDSRCDIR}/common/lib/libc/arch/arm/gen/udivsi3.S + +# the following is required by pre_init.c strncmp.o: ${NETBSDSRCDIR}/common/lib/libc/string/strncmp.c + +# these are required by kprintn.o: udivdi3.o: ${NETBSDSRCDIR}/common/lib/libc/quad/udivdi3.c umoddi3.o: ${NETBSDSRCDIR}/common/lib/libc/quad/umoddi3.c qdivrem.o: ${NETBSDSRCDIR}/common/lib/libc/quad/qdivrem.c -atoi.o: ${NETBSDSRCDIR}/lib/libc/stdlib/atoi.c -strtol.o: ${NETBSDSRCDIR}/lib/libc/stdlib/strtol.c -findfp.o: ${NETBSDSRCDIR}/lib/libc/stdio/findfp.c -ctype_.o: ${NETBSDSRCDIR}/lib/libc/gen/ctype_.c -_errno.o: ${NETBSDSRCDIR}/lib/libc/gen/_errno.c -errno.o: ${NETBSDSRCDIR}/lib/libc/gen/errno.c -divsi3.o: ${NETBSDSRCDIR}/common/lib/libc/arch/${MACHINE_GNU_ARCH}/gen/divsi3.S -__aeabi_uldivmod.o: ${NETBSDSRCDIR}/common/lib/libc/arch/${MACHINE_GNU_ARCH}/quad/__aeabi_uldivmod.S -# Specific flags needed to compile a few of the object files. -CPPFLAGS.strtol.c+= -I ${NETBSDSRCDIR}/common/lib/libc/stdlib -CPPFLAGS.ctype_.c+= -I ${NETBSDSRCDIR}/lib/libc/locale -CPPFLAGS._errno.c+= -I ${NETBSDSRCDIR}/lib/libc/include -CPPFLAGS.assert.c+= -I ${NETBSDSRCDIR}/lib/libc/include -CPPFLAGS.findfp.c+= -I ${NETBSDSRCDIR}/lib/libc/include +CPPFLAGS.__aeabi_idiv0.c+= -D_STANDALONE +CPPFLAGS.__aeabi_ldiv0.c+= -D_STANDALONE +# LSC: putchar and kputc have the same signature. A bit hackish. +CPPFLAGS.subr_prf.c+= -Dputchar=kputc +# Activate optional support, may be deactivated. +CPPFLAGS.subr_prf.c+= -DLIBSA_PRINTF_LONGLONG_SUPPORT -DLIBSA_PRINTF_WIDTH_SUPPORT -.PATH: ${NETBSDSRCDIR}/include/arch/${MACHINE_ARCH}/bsp/include .include "bsp/ti/Makefile.inc" # some object files we give a symbol prefix (or namespace) of __k_unpaged_ @@ -72,6 +76,7 @@ SRCS+= mpx.S arch_clock.c arch_do_vmctl.c arch_system.c do_padconf.c \ exception.c hw_intr.c klib.S memory.c \ protect.c direct_tty_utils.c arch_reset.c \ pg_utils.c phys_copy.S phys_memset.S exc.S + OBJS.kernel+= ${UNPAGED_OBJS} klib.o mpx.o head.o: procoffsets.h diff --git a/kernel/arch/earm/bsp/ti/Makefile.inc b/kernel/arch/earm/bsp/ti/Makefile.inc index d5ba76d48..a75a54e2c 100644 --- a/kernel/arch/earm/bsp/ti/Makefile.inc +++ b/kernel/arch/earm/bsp/ti/Makefile.inc @@ -1,17 +1,13 @@ # # BSP for TI hardware +# -HERE=${.CURDIR}/arch/${MACHINE_ARCH}/bsp/ti -.PATH: ${HERE} +.PATH: ${.CURDIR}/arch/${MACHINE_ARCH}/bsp/ti .for unpaged_obj in omap_serial.o omap_rtc.o omap_reset.o -#BSP_OBJS_UNPAGED += unpaged_${unpaged_obj} BSP_OBJS_UNPAGED += ${unpaged_obj} .endfor - SRCS+= omap_init.c omap_serial.c omap_timer.c omap_padconf.c omap_intr.c omap_rtc.c \ omap_reset.c -HERE=${.CURDIR}/arch/${MACHINE_ARCH} -.PATH: ${HERE} diff --git a/kernel/arch/earm/phys_copy.S b/kernel/arch/earm/phys_copy.S index e548f7eb0..8ee390ca6 100644 --- a/kernel/arch/earm/phys_copy.S +++ b/kernel/arch/earm/phys_copy.S @@ -1,4 +1,4 @@ -/* $NetBSD: memcpy_arm.S,v 1.2 2008/04/28 20:22:52 martin Exp $ */ +/* $NetBSD: memcpy_arm.S,v 1.4 2013/08/11 04:56:32 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,6 +31,12 @@ #include +#if !defined(__minix) +#if defined(__ARM_EABI__) +STRONG_ALIAS(__aeabi_memcpy, memcpy) +#endif +#endif /* !defined(__minix) */ + /* * This is one fun bit of code ... * Some easy listening music is suggested while trying to understand this @@ -78,9 +84,9 @@ ENTRY(memcpy) #endif /* save leaf functions having to store this away */ #if defined(__minix) - stmdb sp!, {r0, r4, r5, lr} /* memcpy() returns dest addr */ + push {r0, r4, r5, lr} /* memcpy() returns dest addr */ #else - stmdb sp!, {r0, lr} /* memcpy() returns dest addr */ + push {r0, lr} /* memcpy() returns dest addr */ #endif subs r2, r2, #4 @@ -97,7 +103,7 @@ ENTRY(memcpy) subs r2, r2, #0x14 blt .Lmemcpy_l32 /* less than 32 bytes (12 from above) */ #if !defined(__minix) - stmdb sp!, {r4} /* borrow r4 */ + push {r4} /* borrow r4 */ #endif /* blat 32 bytes at a time */ @@ -111,11 +117,11 @@ ENTRY(memcpy) bge .Lmemcpy_loop32 cmn r2, #0x10 - ldmgeia r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ - stmgeia r0!, {r3, r4, r12, lr} + ldmiage r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */ + stmiage r0!, {r3, r4, r12, lr} subge r2, r2, #0x10 #if !defined(__minix) - ldmia sp!, {r4} /* return r4 */ + pop {r4} /* return r4 */ #endif .Lmemcpy_l32: @@ -123,9 +129,9 @@ ENTRY(memcpy) /* blat 12 bytes at a time */ .Lmemcpy_loop12: - ldmgeia r1!, {r3, r12, lr} - stmgeia r0!, {r3, r12, lr} - subges r2, r2, #0x0c + ldmiage r1!, {r3, r12, lr} + stmiage r0!, {r3, r12, lr} + subsge r2, r2, #0x0c bge .Lmemcpy_loop12 .Lmemcpy_l12: @@ -135,38 +141,38 @@ ENTRY(memcpy) subs r2, r2, #4 ldrlt r3, [r1], #4 strlt r3, [r0], #4 - ldmgeia r1!, {r3, r12} - stmgeia r0!, {r3, r12} + ldmiage r1!, {r3, r12} + stmiage r0!, {r3, r12} subge r2, r2, #4 .Lmemcpy_l4: /* less than 4 bytes to go */ adds r2, r2, #4 #if defined(__minix) - ldmeqia sp!, {r0, r4, r5} + popeq {r0, r4, r5} moveq r0, #0 - ldmeqia sp!, {pc} + popeq {pc} #else #ifdef __APCS_26_ - ldmeqia sp!, {r0, pc}^ /* done */ + ldmiaeq sp!, {r0, pc}^ /* done */ #else - ldmeqia sp!, {r0, pc} /* done */ + popeq {r0, pc} /* done */ #endif #endif /* copy the crud byte at a time */ cmp r2, #2 ldrb r3, [r1], #1 strb r3, [r0], #1 - ldrgeb r3, [r1], #1 - strgeb r3, [r0], #1 - ldrgtb r3, [r1], #1 - strgtb r3, [r0], #1 + ldrbge r3, [r1], #1 + strbge r3, [r0], #1 + ldrbgt r3, [r1], #1 + strbgt r3, [r0], #1 #if defined(__minix) - ldmia sp!, {r0, r4, r5} + pop {r0, r4, r5} mov r0, #0 - ldmia sp!, {pc} + pop {pc} #else - ldmia sp!, {r0, pc} + pop {r0, pc} #endif /* erg - unaligned destination */ @@ -177,10 +183,10 @@ ENTRY(memcpy) /* align destination with byte copies */ ldrb r3, [r1], #1 strb r3, [r0], #1 - ldrgeb r3, [r1], #1 - strgeb r3, [r0], #1 - ldrgtb r3, [r1], #1 - strgtb r3, [r0], #1 + ldrbge r3, [r1], #1 + strbge r3, [r0], #1 + ldrbgt r3, [r1], #1 + strbgt r3, [r0], #1 subs r2, r2, r12 blt .Lmemcpy_l4 /* less the 4 bytes */ @@ -199,7 +205,7 @@ ENTRY(memcpy) blt .Lmemcpy_srcul1loop4 sub r2, r2, #0x0c #if !defined(__minix) - stmdb sp!, {r4, r5} + push {r4, r5} #endif .Lmemcpy_srcul1loop16: @@ -230,7 +236,7 @@ ENTRY(memcpy) subs r2, r2, #0x10 bge .Lmemcpy_srcul1loop16 #if !defined(__minix) - ldmia sp!, {r4, r5} + pop {r4, r5} #endif adds r2, r2, #0x0c blt .Lmemcpy_srcul1l4 @@ -260,7 +266,7 @@ ENTRY(memcpy) blt .Lmemcpy_srcul2loop4 sub r2, r2, #0x0c #if !defined(__minix) - stmdb sp!, {r4, r5} + push {r4, r5} #endif .Lmemcpy_srcul2loop16: @@ -291,7 +297,7 @@ ENTRY(memcpy) subs r2, r2, #0x10 bge .Lmemcpy_srcul2loop16 #if !defined(__minix) - ldmia sp!, {r4, r5} + pop {r4, r5} #endif adds r2, r2, #0x0c blt .Lmemcpy_srcul2l4 @@ -321,7 +327,7 @@ ENTRY(memcpy) blt .Lmemcpy_srcul3loop4 sub r2, r2, #0x0c #if !defined(__minix) - stmdb sp!, {r4, r5} + push {r4, r5} #endif .Lmemcpy_srcul3loop16: @@ -352,7 +358,7 @@ ENTRY(memcpy) subs r2, r2, #0x10 bge .Lmemcpy_srcul3loop16 #if !defined(__minix) - ldmia sp!, {r4, r5} + pop {r4, r5} #endif adds r2, r2, #0x0c blt .Lmemcpy_srcul3l4 @@ -379,11 +385,13 @@ ENTRY(memcpy) #if defined(__minix) LABEL(phys_copy_fault) /* kernel can send us here */ - ldmia sp!, {r0, r4, r5} - ldmia sp!, {pc} + pop {r0, r4, r5} + pop {pc} LABEL(phys_copy_fault_in_kernel) /* kernel can send us here */ - ldmia sp!, {r0, r4, r5} + pop {r0, r4, r5} mrc p15, 0, r0, c6, c0, 0 /* Read DFAR */ - ldmia sp!, {pc} + pop {pc} +#else +END(memcpy) #endif diff --git a/kernel/arch/i386/Makefile.inc b/kernel/arch/i386/Makefile.inc index 9e276c0e8..b9149f34b 100644 --- a/kernel/arch/i386/Makefile.inc +++ b/kernel/arch/i386/Makefile.inc @@ -5,52 +5,52 @@ HERE=${.CURDIR}/arch/${MACHINE_ARCH} .PATH: ${HERE} # objects we want unpaged from -lminlib -MINLIB_OBJS_UNPAGED=_cpufeature.o _cpuid.o get_bp.o +MINLIB_OBJS_UNPAGED= _cpufeature.o _cpuid.o get_bp.o _cpufeature.o: ${NETBSDSRCDIR}/lib/libminlib/${MACHINE_ARCH}/_cpufeature.c _cpuid.o: ${NETBSDSRCDIR}/lib/libminlib/${MACHINE_ARCH}/_cpuid.S get_bp.o: ${NETBSDSRCDIR}/lib/libminlib/${MACHINE_ARCH}/get_bp.S # objects we want unpaged from -lsys -SYS_OBJS_UNPAGED=assert.o kprintf.o stacktrace.o vprintf.o +SYS_OBJS_UNPAGED=assert.o stacktrace.o assert.o: ${NETBSDSRCDIR}/lib/libsys/assert.c -kprintf.o: ${NETBSDSRCDIR}/lib/libsys/kprintf.c stacktrace.o: ${NETBSDSRCDIR}/lib/libsys/stacktrace.c -vprintf.o: ${NETBSDSRCDIR}/lib/libsys/vprintf.c # objects we want unpaged from -lminc -MINC_OBJS_UNPAGED=findfp.o strcat.o strlen.o memcpy.o strcpy.o strncmp.o \ - memset.o memmove.o strcmp.o atoi.o ctype_.o strtol.o \ - _errno.o errno.o udivdi3.o umoddi3.o qdivrem.o -memcpy.o: ${NETBSDSRCDIR}/common/lib/libc/string/memcpy.c -memmove.o: ${NETBSDSRCDIR}/common/lib/libc/string/memmove.c -memset.o: ${NETBSDSRCDIR}/common/lib/libc/string/memset.c -strcat.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcat.c -strlen.o: ${NETBSDSRCDIR}/common/lib/libc/string/strlen.c -strcpy.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcpy.c -strcmp.o: ${NETBSDSRCDIR}/common/lib/libc/string/strcmp.c +MINC_OBJS_UNPAGED= atoi.o \ + printf.o subr_prf.o \ + strcmp.o strcpy.o strlen.o strncmp.o \ + memcpy.o memmove.o memset.o \ + udivdi3.o umoddi3.o qdivrem.o +atoi.o: ${NETBSDSRCDIR}/lib/libminc/atoi.c +printf.o: ${NETBSDSRCDIR}/sys/lib/libsa/printf.c +subr_prf.o: ${NETBSDSRCDIR}/sys/lib/libsa/subr_prf.c +memcpy.o: ${NETBSDSRCDIR}/common/lib/libc/arch/i386/string/memcpy.S +memmove.o: ${NETBSDSRCDIR}/common/lib/libc/arch/i386/string/memmove.S +memset.o: ${NETBSDSRCDIR}/common/lib/libc/arch/i386/string/memset.S +strlen.o: ${NETBSDSRCDIR}/common/lib/libc/arch/i386/string/strlen.S +strcpy.o: ${NETBSDSRCDIR}/common/lib/libc/arch/i386/string/strcpy.S +strcmp.o: ${NETBSDSRCDIR}/common/lib/libc/arch/i386/string/strcmp.S + +# the following is required by pre_init.c strncmp.o: ${NETBSDSRCDIR}/common/lib/libc/string/strncmp.c + +# these are required by kprintn.o: udivdi3.o: ${NETBSDSRCDIR}/common/lib/libc/quad/udivdi3.c umoddi3.o: ${NETBSDSRCDIR}/common/lib/libc/quad/umoddi3.c qdivrem.o: ${NETBSDSRCDIR}/common/lib/libc/quad/qdivrem.c -atoi.o: ${NETBSDSRCDIR}/lib/libc/stdlib/atoi.c -strtol.o: ${NETBSDSRCDIR}/lib/libc/stdlib/strtol.c -findfp.o: ${NETBSDSRCDIR}/lib/libc/stdio/findfp.c -ctype_.o: ${NETBSDSRCDIR}/lib/libc/gen/ctype_.c -_errno.o: ${NETBSDSRCDIR}/lib/libc/gen/_errno.c -errno.o: ${NETBSDSRCDIR}/lib/libc/gen/errno.c -# Specific flags needed to compile a few of the object files. -CPPFLAGS.strtol.c+= -I ${NETBSDSRCDIR}/common/lib/libc/stdlib -CPPFLAGS.ctype_.c+= -I ${NETBSDSRCDIR}/lib/libc/locale -CPPFLAGS._errno.c+= -I ${NETBSDSRCDIR}/lib/libc/include -CPPFLAGS.assert.c+= -I ${NETBSDSRCDIR}/lib/libc/include -CPPFLAGS.findfp.c+= -I ${NETBSDSRCDIR}/lib/libc/include +# LSC: putchar and kputc have the same signature. A bit hackish. +CPPFLAGS.subr_prf.c+= -Dputchar=kputc + +# Activate optional support, may be deactivated. +CPPFLAGS.subr_prf.c+= -DLIBSA_PRINTF_LONGLONG_SUPPORT -DLIBSA_PRINTF_WIDTH_SUPPORT # some object files we give a symbol prefix (or namespace) of __k_unpaged_ # that must live in their own unique namespace. # -.for unpaged_obj in head.o pre_init.o direct_tty_utils.o io_outb.o \ - io_inb.o pg_utils.o klib.o utility.o arch_reset.o \ +.for unpaged_obj in head.o pre_init.o direct_tty_utils.o \ + pg_utils.o klib.o utility.o arch_reset.o \ + io_inb.o io_outb.o \ ${MINLIB_OBJS_UNPAGED} ${MINC_OBJS_UNPAGED} ${SYS_OBJS_UNPAGED} unpaged_${unpaged_obj}: ${unpaged_obj} ${OBJCOPY} --prefix-symbols=__k_unpaged_ ${.OBJDIR}/${unpaged_obj} $@ @@ -61,10 +61,12 @@ ORIG_UNPAGED_OBJS += ${unpaged_obj} CLEANFILES+= ${ORIG_UNPAGED_OBJS} SRCS+= mpx.S arch_clock.c arch_do_vmctl.c arch_system.c \ - do_iopenable.c do_readbios.c do_sdevio.c exception.c i8259.c io_inb.S \ - io_inl.S io_intr.S io_inw.S io_outb.S io_outl.S io_outw.S klib.S memory.c \ - oxpcie.c protect.c direct_tty_utils.c arch_reset.c \ - pg_utils.c usermapped_glo_ipc.S usermapped_data_arch.c + klib.S memory.c protect.c direct_tty_utils.c arch_reset.c pg_utils.c + +SRCS+= do_iopenable.c do_readbios.c do_sdevio.c exception.c i8259.c oxpcie.c \ + usermapped_data_arch.c \ + io_inb.S io_inl.S io_intr.S io_inw.S io_outb.S io_outl.S io_outw.S \ + usermapped_glo_ipc.S OBJS.kernel+= ${UNPAGED_OBJS} @@ -91,6 +93,8 @@ SRCS+= arch_watchdog.c CPPFLAGS+= -DUSE_WATCHDOG .endif +klib.o mpx.o head.o: procoffsets.h + SRCS+= procoffsets.h PROCOFFSETSCF=procoffsets.cf diff --git a/lib/Makefile b/lib/Makefile index d6cd46396..19fc36bdb 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.189 2012/09/16 13:47:41 rmind Exp $ +# $NetBSD: Makefile,v 1.209 2013/11/28 12:08:56 mrg Exp $ # from: @(#)Makefile 5.25.1.1 (Berkeley) 5/7/91 .include @@ -29,6 +29,46 @@ SUBDIR+= .WAIT SUBDIR+= libc SUBDIR+= .WAIT +.if defined(__MINIX) +SUBDIR+= libasyn \ + libaudiodriver \ + libbdev \ + libblockdriver \ + libchardriver \ + libcompat_minix \ + libddekit \ + libdevman \ + libexec \ + libfetch \ + libinputdriver \ + libminc \ + libminixfs \ + libmthread \ + libnetdriver \ + libsffs \ + libtimers \ + libusb \ + libvtreefs + +.if (${MKLWIP} == "yes") +SUBDIR+= liblwip \ + libnetsock +.endif + +.if (${MACHINE_ARCH} == "i386") +SUBDIR+= libhgfs \ + libvassert \ + libvboxfs \ + libvirtio +.endif + +.if (${MACHINE_ARCH} == "earm") +SUBDIR+= libclkconf \ + libgpio \ + libi2cdriver +.endif + +.endif # defined(__MINIX) # # The SUBDIRs above are included here for completeness but should be built # and installed prior to make(dependall) in this file, as libraries listed @@ -37,26 +77,25 @@ SUBDIR+= .WAIT #SUBDIR+= i18n_module -SUBDIR+= libcompat_minix libblockdriver libchardriver \ - libnetdriver libm libtimers libutil \ - libz libfetch libvtreefs libaudiodriver libmthread \ - libexec libdevman libusb libasyn librmt \ - libddekit libminixfs libbdev libelf libminc libcrypt libterminfo \ - libutil libbz2 libprop \ - libpuffs libsffs libinputdriver +SUBDIR+= \ + libbz2 \ + libcrypt \ + libm \ + libprop \ + libpuffs librmt \ + libterminfo \ + libutil libz -.if (${MKLWIP} == "yes") -SUBDIR += liblwip libnetsock +.if !defined(BSD_MK_COMPAT_FILE) +#SUBDIR+= libkern .endif -.if (${MACHINE_ARCH} == "i386") -SUBDIR += libvassert libhgfs libvboxfs libvirtio +.if (${MACHINE_CPU} == "arm") +LIBC_MACHINE_ARCH?=${MACHINE_ARCH} +.if empty(LIBC_MACHINE_ARCH:M*hf*) +SUBDIR+= libc_vfp .endif - -.if (${MACHINE_ARCH} == "earm") -SUBDIR += libclkconf libgpio libi2cdriver .endif - .if (${MKRUMP} != "no") SUBDIR+= librumpclient .endif @@ -64,10 +103,6 @@ SUBDIR+= librumpclient SUBDIR+= libskey .endif -.if (${MKCRYPTO} != "no") -SUBDIR+= ../crypto/external/bsd/netpgp/libmj -.endif - .if (${MKMDNS} != "no") SUBDIR+= ../external/apache2/mDNSResponder/lib .endif @@ -76,13 +111,10 @@ SUBDIR+= ../external/apache2/mDNSResponder/lib SUBDIR+= ../external/bsd/flex/lib #SUBDIR+= ../external/bsd/tre/lib -#SUBDIR+= ../external/bsd/libdwarf/lib -#SUBDIR+= ../external/bsd/libelf/lib -#SUBDIR+= ../external/bsd/libevent/lib +SUBDIR+= ../external/bsd/libelf/lib #SUBDIR+= ../external/bsd/liblzf/lib #SUBDIR+= ../external/bsd/libpcap/lib -SUBDIR+= ../external/mit/lua/lib #SUBDIR+= ../external/mit/expat/lib SUBDIR+= ../external/public-domain/sqlite/lib @@ -94,18 +126,20 @@ SUBDIR+= ../external/public-domain/xz/lib . if ${HAVE_GCC} == 4 #SUBDIR+= ../gnu/lib/libobjc4 . else -#SUBDIR+= ../external/gpl3/gcc/lib/libobjc -#SUBDIR+= ../external/gpl3/gcc/lib/libgomp +. if !defined(__MINIX) || ${MKGCCCMDS} == "yes" +SUBDIR+= ../external/gpl3/gcc/lib/libobjc +SUBDIR+= ../external/gpl3/gcc/lib/libgomp +. endif # !defined(__MINIX) || ${MKGCCCMDS} == "yes" . endif # LSC: Replaced __MINIX test with MKGCCCMDS, as we do not want gcc by default -# nor the libraries, but we still want toretain the possibility of +# nor the libraries, but we still want to retain the possibility of # installing GCC from the base system. . if ${HAVE_GCC} >= 45 && !defined(MLIBDIR) && ${MKGCCCMDS} == "yes" # Should probably move GMP, MPFR and MPC builds into the GCC >= 4.5 # specific build area, but we get better parallelism this way. SUBDIR+= ../external/lgpl3/gmp/lib/libgmp SUBDIR+= ../external/lgpl3/mpfr/lib/libmpfr -SUBDIR+= ../external/lgpl2/mpc/lib/libmpc +SUBDIR+= ../external/lgpl3/mpc/lib/libmpc . endif .endif @@ -116,14 +150,22 @@ SUBDIR+= ../external/lgpl2/mpc/lib/libmpc #==================== 1st library dependency barrier ==================== SUBDIR+= .WAIT +.if (${MKCRYPTO} != "no") +SUBDIR+= ../crypto/external/bsd/netpgp/libmj +SUBDIR+= ../crypto/external/bsd/netpgp/lib/verify # depends on libz +.endif + +#SUBDIR+= ../external/bsd/libdwarf/lib # depends on libelf +SUBDIR+= ../external/mit/lua/lib # depends on libm SUBDIR+= libcurses # depends on libterminfo #SUBDIR+= libdm # depends on libprop SUBDIR+= libedit # depends on libterminfo -#SUBDIR+= libexecinfo # depends on libelf +SUBDIR+= libexecinfo # depends on libelf #SUBDIR+= libppath # depends on libprop #SUBDIR+= libperfuse # depends on libpuffs #SUBDIR+= libquota # depends on libprop and librpcsvc SUBDIR+= librefuse # depends on libpuffs +#SUBDIR+= libisns # depends on libpthread .if (${MKRUMP} != "no") SUBDIR+= librumpuser # depends on libpthread SUBDIR+= librumphijack # depends on librumpclient and libpthread @@ -131,7 +173,6 @@ SUBDIR+= librumphijack # depends on librumpclient and libpthread .if (${MKNPF} != "no") SUBDIR+= libnpf # depends on libprop -#SUBDIR+= npf .endif .if (${MKCRYPTO} != "no") @@ -154,7 +195,11 @@ SUBDIR+= ../external/gpl2/lvm2/lib # depends on libprop SUBDIR+= ../external/gpl3/binutils/lib # libbfd depends on libz .endif -.if (${MKGCC} != "no" && ${MKCXX} != "no") +.if (${MKLIBCXX} != "no") +SUBDIR+= ../external/bsd/libc++ +.endif + +.if (${MKGCC} != "no" && ${MKCXX} != "no" && ${MKLIBSTDCXX} != "no") .if (defined(__MINIX) && ${MKGCCCMDS} == "yes") . if ${HAVE_GCC} == 4 SUBDIR+= ../gnu/lib/libstdc++-v3_4 # depends on libm @@ -169,7 +214,10 @@ SUBDIR+= ../external/gpl3/gcc/lib/libsupc++ #==================== 2nd library dependency barrier ==================== SUBDIR+= .WAIT -.if (defined(__MINIX) && ${MKGCCCMDS} == "yes") +.if (${MKNPF} != "no") +SUBDIR+= npf # depends on libnpf +.endif + .if (${MKATF} != "no") SUBDIR+= ../external/bsd/atf/lib # depends on libstdc++ .endif @@ -177,7 +225,6 @@ SUBDIR+= ../external/bsd/atf/lib # depends on libstdc++ .if (${MKKYUA} != "no") SUBDIR+= ../external/bsd/lutok/lib # depends on lua and libstdc++ .endif -.endif # (defined(__MINIX) && ${MKGCCCMDS} == "yes") SUBDIR+= libform # depends on libcurses SUBDIR+= libmenu # depends on libcurses @@ -196,7 +243,7 @@ SUBDIR+= ../crypto/external/bsd/openssh/lib # depends on libcrypto, libz SUBDIR+= ../crypto/external/bsd/netpgp/lib # depends on libcrypto, ... .endif -#SUBDIR+= ../external/bsd/bind/lib # depends on libcrypto +#SUBDIR+= ../external/bsd/libevent/lib # depends on libcrypto #SUBDIR+= ../external/bsd/fetch/lib # depends on libssl .if (${MKLDAP} != "no") @@ -206,6 +253,8 @@ SUBDIR+= ../external/bsd/openldap/lib # depends on libcrypto, ... #==================== 3rd library dependency barrier ==================== SUBDIR+= .WAIT +#SUBDIR+= ../external/bsd/bind/lib # depends on heimdal, libcrypto + .if (${MKRUMP} != "no") SUBDIR+= librumpdev # depends on librump SUBDIR+= librumpnet # depends on librump @@ -220,7 +269,13 @@ SUBDIR+= libpam # depends on heimdal SUBDIR+= ../crypto/external/bsd/libsaslc # depends on heimdal, openssl .endif -#SUBDIR+= ../external/bsd/mdocml/lib +.if ${MKSLJIT} != "no" +SUBDIR+= ../external/bsd/sljit/lib +SUBDIR+= .WAIT +SUBDIR+= libbpfjit +.endif + +SUBDIR+= ../external/bsd/mdocml/lib .if (${MKRUMP} != "no") #==================== 4th library dependency barrier ==================== @@ -228,11 +283,19 @@ SUBDIR+= .WAIT SUBDIR+= libukfs # depends on librumpvfs, librump +.if (${MKTPM} != "no") +SUBDIR+= ../crypto/external/cpl/trousers/lib +.endif + #==================== 5th library dependency barrier ==================== SUBDIR+= .WAIT SUBDIR+= libp2k # depends on libukfs, librumpvfs, libpuffs +.if (${MKTPM} != "no") +SUBDIR+= ../crypto/external/cpl/tpm-tools/lib # depends on trousers +.endif + .if !defined(BSD_MK_COMPAT_FILE) SUBDIR+= ../sys/rump/dev/lib SUBDIR+= ../sys/rump/fs/lib @@ -242,32 +305,7 @@ SUBDIR+= ../sys/rump/net/lib .endif # Lua bindings come last, they might depend on anything -#SUBDIR+= lua - -# -# build_install logic for src/Makefile. -# Compute a list of subdirectories delimited by .WAIT. -# Run "make dependall && make install" for all subdirectories in a group -# concurrently, but wait after each group. -# -SUBDIR_GROUPS= 1 -CUR_GROUP:= 1 -.for dir in ${SUBDIR} -. if ${dir} == ".WAIT" -CUR_GROUP:= ${CUR_GROUP}1 -SUBDIR_GROUPS:= ${SUBDIR_GROUPS} ${CUR_GROUP} -. else -SUBDIR_GROUP.${CUR_GROUP}+= ${dir} -.endif - -.endfor - -build_install: -.for group in ${SUBDIR_GROUPS} -. if !empty(SUBDIR_GROUP.${group}) - ${MAKEDIRTARGET} . ${SUBDIR_GROUP.${group}:C/^/dependall-/} - ${MAKEDIRTARGET} . ${SUBDIR_GROUP.${group}:C/^/install-/} -. endif -.endfor +SUBDIR+= lua +.include .include diff --git a/lib/Makefile.inc b/lib/Makefile.inc index 2d5ac08ef..66295152a 100644 --- a/lib/Makefile.inc +++ b/lib/Makefile.inc @@ -1,3 +1,3 @@ # $NetBSD: Makefile.inc,v 1.7 2012/03/21 05:39:21 matt Exp $ -#WARNS?= 5 +WARNS?= 5 diff --git a/lib/bumpversion b/lib/bumpversion new file mode 100755 index 000000000..cc8d1296c --- /dev/null +++ b/lib/bumpversion @@ -0,0 +1,127 @@ +#!/bin/sh +# $NetBSD: bumpversion,v 1.10 2003/07/26 19:24:24 salo Exp $ +# +# Copyright (c) 1993 Christopher G. Demetriou +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed for the +# NetBSD Project. See http://www.NetBSD.org/ for +# information about NetBSD. +# 4. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. +# +# <> + +while : + do case "$1" in + # -c says to create new shlib_version files + -c) + create=TRUE + shift ;; + + # -n sets 'do nothing mode' + -n) + donothing=TRUE + shift ;; + + # -m says to bump major number, rather than minor number + -m) + bumpmajor=TRUE + shift ;; + + *) + break ;; + esac +done + +if [ $# = 0 ] ; then + echo "usage: $0 [-c] [-m] [-n] dir ..." + exit 2 +fi + +TMP=/tmp/bump$$ +error=0 + +trap 'rm -f $TMP ; exit 1' 1 2 3 13 15 + +for dir in $@ ; do + versf=$dir/shlib_version + + if [ "X$create" != "X" ] ; then + if [ ! -d $dir ] ; then + echo $0: $dir is not a directory 1>&2 + error=1 + continue + fi + if [ -e $versf ] ; then + echo $0: $versf exists\; not replacing 1>&2 + error=1 + continue + fi + else + if [ ! -e $versf ] ; then + echo $0: $versf does not exist 1>&2 + error=1 + continue + fi + if [ ! -f $versf ] ; then + echo $0: $versf is not a regular file 1>&2 + error=1 + continue + fi + if [ ! -r $versf ] ; then + echo $0: $versf is not readable 1>&2 + error=1 + continue + fi + if [ ! -w $versf ] ; then + echo $0: $versf is not a writable 1>&2 + error=1 + continue + fi + + . $versf + fi + + if [ "X$create" != "X" ] ; then + nmajor=0 + nminor=0 + elif [ "X$bumpmajor" != "X" ] ; then + nmajor=`expr $major + 1` + nminor=0 + else + nmajor=$major + nminor=`expr $minor + 1` + fi + + if [ "X$donothing" = "X" ] ; then + echo major=$nmajor > $TMP + echo minor=$nminor >> $TMP + mv $TMP $versf + else + echo "$0: $versf -> $nmajor.$nminor" + fi +done + +exit $error diff --git a/lib/checkoldver b/lib/checkoldver new file mode 100755 index 000000000..6bd7eb18a --- /dev/null +++ b/lib/checkoldver @@ -0,0 +1,155 @@ +#!/bin/sh +# $NetBSD: checkoldver,v 1.3 2008/04/30 13:10:50 martin Exp $ +# +# Copyright (c) 2002 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Christos Zoulas. +# +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +# +# checkoldver [dir ...] +# +# Looks in the given directories for old shared libraries and lists them +# Useful for: 'checkoldver /usr/lib | xargs rm -f' + +delete() { + obsol="$1.so" + if [ ! -z "$2" ] + then + obsol="$obsol.$2" + fi + if [ ! -z "$3" ] + then + obsol="$obsol.$3" + fi + if [ ! -z "$4" ] + then + obsol="$obsol.$4" + fi + echo $PWD/$obsol +} + +comparelib() { + OIFS="$IFS" + IFS="$IFS." + set -- $1 + IFS="$OIFS" + if [ "$3" = "[0-9]*" ] + then + return + fi + + if [ -z "$libmajor" ] + then + libname="$1" + libmajor="$3" + libminor="$4" + libtiny="$5" + return + fi + if [ "$libmajor" -lt "$3" ] + then + delete "$libname" "$libmajor" "$libminor" "$libtiny" + libmajor="$3" + libminor="$4" + libtiny="$5" + return + elif [ "$3" -lt "$libmajor" ] + then + delete "$libname" "$3" "$4" "$5" + return + fi + + if [ -z "$libminor" ] + then + return + fi + if [ "$libminor" -lt "$4" ] + then + delete "$libname" "$libmajor" "$libminor" "$libtiny" + libmajor="$3" + libminor="$4" + libtiny="$5" + return + elif [ "$4" -lt "$libminor" ] + then + delete "$libname" "$3" "$4" "$5" + return + fi + + if [ -z "$libtiny" ] + then + return + fi + if [ "$libtiny" -lt "$5" ] + then + delete "$libname" "$libmajor" "$libminor" "$libtiny" + libmajor="$3" + libminor="$4" + libtiny="$5" + return + elif [ "$5" -lt "$libminor" ] + then + delete "$libname" "$3" "$4" "$5" + return + fi +} + +processonedir() { + cd "$1" + for lib in lib*.so + do + lib="${lib#lib}" + lib="${lib%.so}" + + libmajor= + libminor= + libtiny= + for link in lib$lib.so.[0-9]*.[0-9]*.[0-9]* + do + comparelib "$link" + done + + libmajor= + libminor= + libtiny= + for link in lib$lib.so.[0-9]*.[0-9]* + do + comparelib "$link" + done + + libmajor= + libminor= + libtiny= + for link in lib$lib.so.[0-9]* + do + comparelib "$link" + done + done +} + +for i +do + processonedir "$i" +done diff --git a/lib/checkver b/lib/checkver new file mode 100755 index 000000000..e7ad92017 --- /dev/null +++ b/lib/checkver @@ -0,0 +1,232 @@ +#!/bin/sh +# $NetBSD: checkver,v 1.16 2013/02/17 02:36:21 christos Exp $ +# +# Copyright (c) 1998 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Eric Haszlakiewicz. +# +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +# + +#--------------------------------------------------------------------# +# checkver - +# Check for libraries that appear to be newer than the +# one we're about to install. +# +# checkver [-q] [-v shlib_version_file] -d [installedlibdir [library name]]" +# checkver [-q] [-v shlib_version_file] -s [setlistdir [library name]]" +# checkver [-q] [-v shlib_version_file] -f liblistfile [library name]" +# +# One of -d, -s or -f must be specified. +# +# all: If library name is not specified it is assumed to +# be the name of the current directory. +# +# -d: Checks the version against the installed libraries. +# If no further arguments are given "/usr/lib" is +# used as the location of installed libraries. +# +# -s: Checks the version against the sets. If no argument +# follows the sets directory defaults to "/usr/src/distrib/sets/lists". +# The directory may be specified as either the top of the +# source tree or as the lists directory. +# +# -f: Checks the version against the provided list. A filename +# must be supplied. +# +# -v: Specify the filename of the shlib_version file. Defaults +# to "./shlib_version". +# +# This script produces no output if all library version are not +# large than the source version. If an installed library with a +# version greater than the source is found, checkver prints a +# header and a list of the names of the offending installed libraries. +# +# The header may be supressed by passing "-q" as the first argument. +# + +TMP=/tmp/checkver.$$ +PROG="$(basename "$0")" +# Can't trap 11 (SEGV) in the Real Bourne Shell, since it uses it for +# internal malloc! +trap "exit 2" 1 2 3 4 5 6 7 8 10 12 13 14 15 +trap "[ -d $TMP ] && rm -rf $TMP" 0 + +Usage() { +cat << EOF 1>&2 +Usage: $PROG [-q] [-v version_file] -d [installedlibdir [library name]] + $PROG [-q] [-v version_file] -s [setlistdir [library name]] + $PROG [-q] [-v version_file] -f liblistfile [library name] + $PROG is a script that looks for installed libraries with + versions greater than that in the version file. + For more information, read the comments. +EOF + exit 1 +} + +basedir=/usr/src +setsdir=$basedir/distrib/sets/lists +libdir=/usr/lib +shlib_version=./shlib_version + +error=0 +quiet=0 +usedir=0 +usefile=0 +usesets=0 +CWD=$(pwd) + +fixone() { + local instmajor=$(basename $1 | awk 'BEGIN { FS="." } { print $3 }') + local instminor=$(basename $1 | awk 'BEGIN { FS="." } { print $4 }') + local instteeny=$(basename $1 | awk 'BEGIN { FS="." } { print $5 + 0 }') + local ms="The following libraries have versions greater than the source" + + # If they're greater than the source, complain. + if [ "0$major" -eq "0$instmajor" ]; then + if [ "0$minor" -eq "0$instminor" ]; then + if [ "0$teeny" -lt "0$instteeny" ]; then + if [ $error -eq 0 -a $quiet -eq 0 ]; then + echo "$ms" 1>&2 + fi + echo $1 1>&2 + error=1 + fi + elif [ "0$minor" -lt "0$instminor" ]; then + if [ $error -eq 0 -a $quiet -eq 0 ]; then + echo "$ms" 1>&2 + fi + echo $1 1>&2 + error=1 + fi + elif [ "0$major" -lt "0$instmajor" ]; then + if [ $error -eq 0 -a $quiet -eq 0 ]; then + echo "$ms" 1>&2 + fi + echo $1 1>&2 + error=1 + fi +} + +while getopts df:shqv: f; do + case $f in + d) usedir=1 + if [ $usefile -eq 1 -o $usesets -eq 1 ]; then + Usage + fi;; + f) usefile=1; arg1=$OPTARG + if [ $usedir -eq 1 -o $usesets -eq 1 ]; then + Usage + fi;; + s) usesets=1 + if [ $usedir -eq 1 -o $usefile -eq 1 ]; then + Usage + fi;; + v) shlib_version=$OPTARG;; + q) quiet=1;; + *) Usage;; + esac +done + +shift $(($OPTIND - 1)) + +if [ $usedir -eq 0 -a $usefile -eq 0 -a $usesets -eq 0 ]; then + Usage +fi + +if [ $usefile -eq 1 ]; then + LIBLIST="$arg1" +else + if ! mkdir -m 0700 $TMP; then + echo "$PROG: Unable to create temp directory." 1>&2 + exit 2 + fi + LIBLIST=$TMP/libs.lst +fi + +# Build list from the installed libraries. +if [ $usedir -eq 1 ]; then + if [ -n "$1" ]; then + libdir="$1" + fi + for f in $libdir; do + ls $f/lib*.so.*.* + done > $LIBLIST 2> /dev/null +fi + +# Build list from set lists. Parameter may be either +# the "lists" directory or the top of the source tree. +if [ $usesets -eq 1 ]; then + if [ -n "$1" ]; then + setsdir="$1" + if [ -d "$setsdir/distrib/sets/lists" ]; then + setsdir="$setsdir/distrib/sets/lists" + fi + fi + (cd $setsdir; + cat */[a-z]* | + grep '^./usr/lib/lib.*\.so\.[0-9][0-9]*\.[0-9][0-9]*' | + sort -u > $LIBLIST) +fi + +# +# The file $LIBLIST now contains a list of libraries. +# +if [ -z "$2" ]; then + makefile=$CWD/Makefile + libname=$(grep '^LIB=' $makefile | sed -e 's/^LIB=[[:space:]]*//') + + # Assume the library name is the name of the current directory. + if [ -z "$libname" ]; then + libname=$(basename $CWD) + fi +else + libname="$2" +fi +echo $libname | grep "^lib" 1>&2 2> /dev/null +if [ $? != 0 ]; then + libname="lib$libname" +fi + + +if [ ! -f $shlib_version ]; then + echo "$PROG: unable to find $shlib_version" 1>&2 + exit 2 +fi + +# Grab major and minor numbers from the source. +. $shlib_version + +if [ -z "$minor" -o -z "$major" ]; then + echo "$PROG: $shlib_version doesn't contain the version." 1>&2 + exit 2 +fi + +# Find every shared object library with the same base name. +for instlib in $(grep $libname.so "$LIBLIST"); do + # Grab the major and minor from the installed library. + fixone "$instlib" +done + +exit $error diff --git a/lib/checkvers b/lib/checkvers new file mode 100755 index 000000000..ebf27ff30 --- /dev/null +++ b/lib/checkvers @@ -0,0 +1,210 @@ +#!/bin/ksh +# $NetBSD: checkvers,v 1.7 2008/04/30 13:10:50 martin Exp $ +# +# Copyright (c) 1998 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Eric Haszlakiewicz. +# +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +# + +#--------------------------------------------------------------------# +# checkvers [-q] [systemlibdir [library name]] +# +# This is a wrapper script around checkver. It will find +# all directories withing the current directory containing +# a shlib_version file and call checkver for each. +# +# As with checkver, a list of directories of installed libraries +# may be specified. This will replace the default of "/usr/lib" +# and search there instead. +# +# A library name may also be specified. However, this script +# will not work correctly if it finds shlib_version files +# corresponding to a different library. +# +# This script produces no output if all library version are ok. +# If the versions aren't ok the header will be displayed once +# followed by a list of problematic libraries. +# + +# checkvers: +# if "-s", build list, pass with -f to checkver. +# if "-d", build list, pass with -f to checkver. +# if "-f", pass with -f to checkver. + + +# Cleanup on exit. +TMP=/tmp/checkvers.$$ +trap "exit 2" 1 2 3 4 5 6 7 8 10 11 12 13 14 15 +trap "rm -rf $TMP" 0 + +Usage ( ) { + echo "Usage: $1 [-q] -d [installedlibdir [library name]]" + echo " $1 [-q] -s [setlistdir [library name]]" + echo " $1 [-q] -f liblistfile [library name]" +} + +basedir=/usr/src +setsdir=$basedir/distrib/sets/lists +libdir=/usr/lib + +error=0 +quiet=0 +usedir=0 +usefile=0 +usesets=0 +CWD=`pwd` +args=`getopt "df:shq" "$@"` +if [ $? -ne 0 ] ; then + Usage $0 + exit 0 +fi + +set -- $args + +while . ; do + case "$1" in + -d) usedir=1 ; shift + if [ $usefile -eq 1 -o $usesets -eq 1 ]; then + Usage $0 ; exit 2 + fi;; + -f) usefile=1 ; arg1=$2 ; shift ; shift + if [ $usedir -eq 1 -o $usesets -eq 1 ]; then + Usage $0 ; exit 2 + fi;; + -s) usesets=1 ; shift + if [ $usedir -eq 1 -o $usefile -eq 1 ]; then + Usage $0 ; exit 2 + fi;; + -h) Usage $0 ; exit 0;; + -q) quiet=1 ; shift;; + --) shift ; break;; + esac +done + +if [ $usedir -eq 0 -a $usefile -eq 0 -a $usesets -eq 0 ] ; then + Usage $0 ; exit 2 +fi +if [ $usefile -eq 0 -a $# -gt 2 ] ; then + Usage $0 ; exit 2 +fi +if [ $usefile -eq 1 -a $# -gt 1 ] ; then + Usage $0 ; exit 2 +fi + +#-------------------------# + +QUIET= +LIBNAME= + +# Supress header. +if [ quiet -eq 1 ] ; then + QUIET="-q" +fi + +if ! mkdir -m 700 $TMP ; then + echo "$0: Unable to create temp directory." + exit 2 +fi + +if [ $usefile -eq 1 ] ; then + # Just pass the file name to checkver. + LIBLIST="$arg1" +else + LIBLIST=$TMP/libs.lst +fi + +# Build list from the installed libraries. +if [ $usedir -eq 1 ] ; then + if [ "X$1" != "X" ] ; then + libdir="$1" + fi + for f in $libdir ; do + ls $f/lib*.so.*.* + done > $LIBLIST 2> /dev/null +fi + +# Build list from set lists. Parameter may be either +# the "lists" directory or the top of the source tree. +if [ $usesets -eq 1 ] ; then + if [ "X$1" != "X" ] ; then + setsdir="$1" + if [ -d "$setsdir/distrib/sets/lists" ] ; then + setsdir="$setsdir/distrib/sets/lists" + fi + fi + (cd $setsdir ; + cat */[a-z]* | grep '^./usr/lib/lib.*\.so\.[0-9][0-9]*\.[0-9][0-9]*' \ + | sort -u > $LIBLIST + ) +fi + +if [ "X$2" != "X" ] ; then + LIBNAME="$2" +fi + +EXECDIR=`eval "(cd \`dirname $0\` ; pwd)"` + +CWD=`pwd` +VERFILES=`find $CWD -name shlib_version -print` + +for f in $VERFILES ; do + # Call checkver. We always have a list of libraries + # here, whether given to us or built, so always + # pass the -f flag. + (cd `dirname $f` ; + "sh $EXECDIR"/checkver $QUIET -f "$LIBLIST" "$LIBNAME" ; + exit $?) + ERR=$? + if [ $ERR -eq 2 ] ; then + echo "$0: checkver failed. LIBLIST=$LIBLIST $LIBNAME=$LIBNAME" + exit 2 + fi + if [ $ERR -ne 0 ] ; then + QUIET="-q" + error=1 + fi + + if [ "X$LIBNAME" = "X" ] ; then + # Build the library name from the directory it's in. + libname=`dirname $f` + libname=`basename $libname` + if ! echo $libname | grep -q "^lib" ; then + libname="lib$libname" + fi + else + libname="$LIBNAME" + fi + + if [ -e $TMP/$libname ] ; then + echo "Warning: $libname sources encountered multiple times." + echo " Previous location: `cat $TMP/$libname`" + echo " Current location: `dirname $f`" + fi + echo "`dirname $f`" > $TMP/$libname + +done + +exit $error diff --git a/lib/csu/Makefile b/lib/csu/Makefile index 376077d48..e0191763c 100644 --- a/lib/csu/Makefile +++ b/lib/csu/Makefile @@ -1,24 +1,21 @@ -# $NetBSD: Makefile,v 1.31 2012/06/16 19:19:14 joerg Exp $ +# $NetBSD: Makefile,v 1.33 2013/09/10 16:45:33 matt Exp $ .include -LD+= ${${HAVE_GOLD:Uno} != "no":? --script ${LDS_RELOC}:} - .if ${USE_COMPILERCRTSTUFF} != "yes" -.if defined(CSU_MACHINE_ARCH) -. if !exists(${.CURDIR}/arch/${CSU_MACHINE_ARCH}/Makefile.inc) -. error CSU_MACHINE_ARCH (${CSU_MACHINE_ARCH}) is unsupported -. endif -.elif exists(${.CURDIR}/arch/${MACHINE_ARCH}/Makefile.inc) -CSU_MACHINE_ARCH= ${MACHINE_ARCH} +CSU_MACHINE_ARCH?= ${MACHINE_ARCH} + +.if !empty(CSU_MACHINE_ARCH:Mearm*) +ARCHDIR:= ${.CURDIR}/arch/earm +.elif exists(${.CURDIR}/arch/${CSU_MACHINE_ARCH}/Makefile.inc) +ARCHDIR:= ${.CURDIR}/arch/${CSU_MACHINE_ARCH} .elif exists(${.CURDIR}/arch/${MACHINE_CPU}/Makefile.inc) -CSU_MACHINE_ARCH= ${MACHINE_CPU} +ARCHDIR:= ${.CURDIR}/arch/${MACHINE_CPU} .else -.error Architecture (${MACHINE_ARCH} or ${MACHINE_CPU}) unsupported +.error Architecture (${CSU_MACHINE_ARCH} or ${MACHINE_CPU}) unsupported .endif -ARCHDIR:= ${.CURDIR}/arch/${CSU_MACHINE_ARCH} .PATH: ${ARCHDIR} . include "${ARCHDIR}/Makefile.inc" diff --git a/lib/csu/README b/lib/csu/README index e552c5246..30af18e83 100644 --- a/lib/csu/README +++ b/lib/csu/README @@ -1,3 +1,26 @@ +Introduction + +This document covers the native NetBSD compiler runtime. The full support +for the native runtime is enabled by setting USE_COMPILERCRTSTUFF to no +in bsd.own.mk. + +Machine independent sources can be found in common. The crtbegin.c in +that directory is a useful template for deriving compact assembler +versions. That is preferable to decouple the result from changes in the +compiler logic. + +A new platform should provide the following content in +arch/${MACHINE_ARCH} or arch/${MACHINE_CPU}: +- Makefile.inc: provides ELFSIZE corresponding to 32/64bit file format. + If using the common C code instead of crtbegin.S also provide a -I option + to find crtbegin.h in your arch subdir. +- crt0.S: provides setup code and the call to ___start. +- crtbegin.S or crtbegin.h: see below +- crtend.S: see below, most likely just a copy of an existing architecture +- crti.S: prefix part of .init/.fini sections, i.e. to ensure stack alignment +- crtn.S: suffix part of the .init/.fini sections, i.e. return to caller. + + Overview of the common runtime support The common runtime support contains two modules, crtbegin and crtend. @@ -61,3 +84,10 @@ Deinitialisation (called from .fini): Call the pointers as void (*)(void) functions. 5. If __deregister_frame_info is NULL, return. 6. Call __deregister_frame_info with the start of .eh_frame as the argument. + + +Since most of this can easily be done in C code, instead of providing a +crtbegin.S you can also chose to use the generic C implementation. Provide +a crtbegin.h file instead of crtbegin.S. In there put inline assembler +stubs (mostly copied from some other arch) and implement calls to the +helper functions __do_global_ctors_aux/__do_global_dtors_aux. diff --git a/lib/csu/arch/alpha/Makefile.inc b/lib/csu/arch/alpha/Makefile.inc new file mode 100644 index 000000000..d30d4e602 --- /dev/null +++ b/lib/csu/arch/alpha/Makefile.inc @@ -0,0 +1,3 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/07/11 16:40:27 matt Exp $ + +CPPFLAGS+= -I${ARCHDIR} -DELFSIZE=64 diff --git a/lib/csu/arch/alpha/crt0.S b/lib/csu/arch/alpha/crt0.S new file mode 100644 index 000000000..69caabf86 --- /dev/null +++ b/lib/csu/arch/alpha/crt0.S @@ -0,0 +1,54 @@ +/* $NetBSD: crt0.S,v 1.1 2013/07/11 16:40:27 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crt0.S,v 1.1 2013/07/11 16:40:27 matt Exp $") + +STRONG_ALIAS(_start,__start) + +/* + * Assumes kernel (or ld_elf.so) passes the following parameters to + * user-space in registers: + * + * a0 stack pointer + * a1 cleanup + * a2 Obj_Entry + * a3 ps_strings + */ + +LEAF(__start, 4) + LDGP(pv) + mov a1, a0 /* cleanup */ + mov a2, a1 /* Obj_Entry */ + mov a3, a2 /* ps_strings */ + CALL(___start) +END(__start) diff --git a/lib/csu/arch/alpha/crtbegin.h b/lib/csu/arch/alpha/crtbegin.h new file mode 100644 index 000000000..89571766f --- /dev/null +++ b/lib/csu/arch/alpha/crtbegin.h @@ -0,0 +1,50 @@ +/* $NetBSD: crtbegin.h,v 1.1 2013/07/11 16:40:27 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#include + +/* Assume we need to reload our GP. */ +__asm( ".pushsection .init" +"\n\t" "br $29, 1f" +"\n\t" "1: ldgp $29, 0($29)" +"\n\t" "unop" +"\n\t" "jsr $26, __do_global_ctors_aux" +"\n\t" ".p2align 3" +"\n\t" ".popsection"); + +/* Assume we need to reload our GP. */ +__asm( ".pushsection .fini" +"\n\t" "br $29, 1f" +"\n\t" "1: ldgp $29, 0($29)" +"\n\t" "unop" +"\n\t" "jsr $26, __do_global_dtors_aux" +"\n\t" ".p2align 3" +"\n\t" ".popsection"); diff --git a/lib/csu/arch/alpha/crtend.S b/lib/csu/arch/alpha/crtend.S new file mode 100644 index 000000000..931cb86ff --- /dev/null +++ b/lib/csu/arch/alpha/crtend.S @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.1 2013/07/11 16:40:27 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtend.S,v 1.1 2013/07/11 16:40:27 matt Exp $") + + .section .ctors, "aw", @progbits + .p2align 3 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .word 0 + + .section .dtors, "aw", @progbits + .p2align 3 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .word 0 + + .section .eh_frame, "a", @progbits + .p2align 3 + .word 0 + + .section .jcr, "aw", @progbits + .p2align 3 + .word 0 diff --git a/lib/csu/arch/alpha/crtfm.c b/lib/csu/arch/alpha/crtfm.c new file mode 100644 index 000000000..bfafe484f --- /dev/null +++ b/lib/csu/arch/alpha/crtfm.c @@ -0,0 +1,68 @@ +/* $NetBSD: crtfm.c,v 1.1 2013/08/05 13:38:35 matt Exp $ */ + +/* + * Copyright (c) 2002 Wasabi Systems, Inc. + * All rights reserved. + * + * Written by Jason R. Thorpe for Wasabi Systems, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed for the NetBSD Project by + * Wasabi Systems, Inc. + * 4. The name of Wasabi Systems, Inc. may not be used to endorse + * or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC + * 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. + */ + +/* + * Support for the GCC "-ffast-math" option on the Alpha. + */ + +#include + +#include +#include + +/* + * Must provide this wrapper around sysarch(2) so that statically-linked + * programs work properly. + */ + +extern void __alpha_sysarch(int, void *); + +__asm(".ent __alpha_sysarch 0 ;\n" +"__alpha_sysarch: ;\n" +" ldiq $0, 165 ;\n" /* v0 = SYS_sysarch */ +" call_pal 0x0083 ;\n" /* PAL_OSF1_callsys */ +" ret $31,($26),1 ;\n" +".end __alpha_sysarch"); + +static void __attribute__((__constructor__)) +__alpha_set_fast_math(void) +{ + struct alpha_fp_c_args args; + + args.fp_c = IEEE_MAP_DMZ|IEEE_MAP_UMZ; + __alpha_sysarch(ALPHA_SET_FP_C, &args); +} diff --git a/lib/csu/arch/alpha/crti.S b/lib/csu/arch/alpha/crti.S new file mode 100644 index 000000000..5385d8ccb --- /dev/null +++ b/lib/csu/arch/alpha/crti.S @@ -0,0 +1,55 @@ +/* $NetBSD: crti.S,v 1.1 2013/07/11 16:40:27 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crti.S,v 1.1 2013/07/11 16:40:27 matt Exp $") + +#include "sysident.S" + + .section ".init", "ax", @progbits + .global _init + .type _init, @function +_init: + LDGP(pv) + lda sp, -32(sp) + stq ra, 0(sp) + stq gp, 8(sp) + .p2align 5 + + .section ".fini", "ax", @progbits + .global _fini + .type _fini, @function +_fini: + LDGP(pv) + lda sp, -32(sp) + stq ra, 0(sp) + stq gp, 8(sp) + .p2align 5 diff --git a/lib/csu/arch/alpha/crtn.S b/lib/csu/arch/alpha/crtn.S new file mode 100644 index 000000000..1cebc5a97 --- /dev/null +++ b/lib/csu/arch/alpha/crtn.S @@ -0,0 +1,45 @@ +/* $NetBSD: crtn.S,v 1.1 2013/07/11 16:40:27 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtn.S,v 1.1 2013/07/11 16:40:27 matt Exp $") + + .section ".init", "ax", @progbits + ldq gp, 8(sp) + ldq ra, 0(sp) + lda sp, 32(sp) + RET + + .section ".fini", "ax", @progbits + ldq gp, 8(sp) + ldq ra, 0(sp) + lda sp, 32(sp) + RET diff --git a/lib/csu/arch/arm/Makefile.inc b/lib/csu/arch/arm/Makefile.inc index a58e777e7..8950d1e13 100644 --- a/lib/csu/arch/arm/Makefile.inc +++ b/lib/csu/arch/arm/Makefile.inc @@ -1,3 +1,7 @@ -# $NetBSD: Makefile.inc,v 1.2 2012/09/16 13:46:49 skrll Exp $ +# $NetBSD: Makefile.inc,v 1.7 2013/09/10 22:00:01 matt Exp $ -CPPFLAGS+= -DELFSIZE=32 +CPPFLAGS+= -I${ARCHDIR} +.if (!empty(CPUFLAGS) && ${CPUFLAGS:M-mabi=aapcs*} != "") +CPPFLAGS+= -DHAVE_INITFINI_ARRAY +.endif +CPPFLAGS+= -DELF_NOTE_MARCH_DESC=\"${CSU_MACHINE_ARCH}\" diff --git a/lib/csu/arch/arm/crtbegin.S b/lib/csu/arch/arm/crtbegin.S deleted file mode 100644 index 302bc7eb5..000000000 --- a/lib/csu/arch/arm/crtbegin.S +++ /dev/null @@ -1,293 +0,0 @@ -/* $NetBSD: crtbegin.S,v 1.4 2012/08/25 15:39:05 matt Exp $ */ -/*- - * Copyright (c) 2012 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Matt Thomas of 3am Software Foundry. - * - * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 - -RCSID("$NetBSD: crtbegin.S,v 1.4 2012/08/25 15:39:05 matt Exp $") - - .section .ctors, "aw", %progbits - .p2align 2 -__CTOR_LIST__: - .word -1 - - .section .dtors, "aw", %progbits - .p2align 2 -__DTOR_LIST__: - .word -1 - - .section .eh_frame, "a", %progbits - .p2align 2 -__EH_FRAME_LIST__: - - .section .jcr, "aw", %progbits - .p2align 2 -__JCR_LIST__: - - .section .data.rel, "aw", %progbits - .p2align 2 - .type __dso_handle, %object - .size __dso_handle, 4 - .globl __dso_handle - .hidden __dso_handle -__dso_handle: -#ifdef SHARED - .word __dso_handle -#else - .word 0 -#endif - - .local __dwarf_eh_object - .comm __dwarf_eh_object,24 - .local __initialized - .comm __initialized,1 - .local __finished - .comm __finished,1 - - .text -/* - * All variables are local to this DSO so we can skip using GOT references - * and instead use PCREL references to access them. We do this regardless - * of being PIC since it isn't any additional overhead to do so. - * - * We don't setup a TOC since all of ours calls are indirect so it isn't - * needed. - */ - - .type __do_global_dtors_aux, %function -__do_global_dtors_aux: - GOT_INIT(r3, .Ldtors_got, .Ldtors) /* use r3 temporarily */ - ldr r1, .L__finished -#ifdef PIC - ldrb r0, [r1, r3]! -#else - ldrb r0, [r1] -#endif - cmp r0, #0 /* done this already? */ - RETc(ne) - mov r0, #1 - strb r0, [r1] /* mark it as done */ - - mov ip, sp - stmfd sp!, {r4, r5, r6, r7, fp, ip, lr, pc} - sub fp, ip, #4 - mov r7, r3 /* now that r7 is saved ... */ - -#ifdef SHARED - GOT_GET(ip, r7, .L__cxa_finalize) - cmp ip, #0 - ldrne r2, .L__dso_handle /* GOTOFF */ - ldrne r0, [r2, r7] /* load relative to GOT */ -#ifdef _ARM_ARCH_4T - blxne ip -#else - movne lr, pc - movne pc, ip -#endif -#endif /* SHARED */ - - /* - * We know the first entry is -1 so skip it. We use load with - * preincrement to advance the pointer along. - */ - ldr r4, .L__DTOR_LIST__ - ldr r5, .L__DTOR_LIST_END__ -#ifdef PIC - add r4, r4, r7 /* addr = offset + got */ - add r5, r5, r7 /* addr = offset + got */ -#endif - add r4, r4, #4 /* skip first entry */ -1: - cmp r4, r5 /* end of list */ - ldrne ip, [r4], #4 /* ip = *r4++; */ -#ifndef SHARED - ldmeqfd sp, {r4, r5, r6, r7, fp, sp, pc} /* restore and return */ -#endif - adrne lr, 1b /* set up to return to loop start */ -#ifdef _ARM_ARCH_4T - bxne ip /* call it */ -#else - movne pc, ip /* call entry */ -#endif - -#ifdef SHARED - /* - * if (__deregister_frame_info) - * __deregister_frame_info(&__EH_FRAME_LIST__[0]); - */ - GOT_GET(ip, r7, .L__deregister_frame_info) - cmp ip, #0 - ldmeqfd sp, {r4-r7, fp, sp, pc} /* restore and return */ - - ldr r1, .L__EH_FRAME_LIST__ -#ifdef PIC - add r0, r1, r7 /* add offset to GOT addr */ -#endif - ldmfd sp, {r4-r7, fp, sp, lr} /* restore everthing */ -#ifdef _ARM_ARCH_4T - bx ip /* tail call it */ -#else - mov pc, ip /* tail call it */ -#endif -#endif /* SHARED */ - - .weak __deregister_frame_info - .weak __cxa_finalize - .hidden _C_LABEL(__DTOR_LIST_END__) - - .align 2 - GOT_INITSYM(.Ldtors_got, .Ldtors) -#ifdef SHARED -.L__deregister_frame_info: - .word PIC_SYM(_C_LABEL(__deregister_frame_info), GOT) -.L__cxa_finalize: - .word PIC_SYM(_C_LABEL(__cxa_finalize), GOT) -.L__dso_handle: - .word PIC_SYM(_C_LABEL(__dso_handle), GOTOFF) -#endif -.L__finished: - .word PIC_SYM(_C_LABEL(__finished), GOTOFF) -.L__DTOR_LIST__: - .word PIC_SYM(_C_LABEL(__DTOR_LIST__), GOTOFF) -.L__DTOR_LIST_END__: - .word PIC_SYM(_C_LABEL(__DTOR_LIST_END__), GOTOFF) -.L__EH_FRAME_LIST__: - .word PIC_SYM(_C_LABEL(__EH_FRAME_LIST__), GOTOFF) - - - .weak __register_frame_info - .weak _Jv_RegisterClasses - - .type __do_global_ctors_aux, %function -__do_global_ctors_aux: - GOT_INIT(r3, .Lctors_got, .Lctors) - ldr r1, .L__initialized -#ifdef PIC - ldrb r0, [r1, r3]! -#else - ldrb r0, [r1] -#endif - cmp r0, #0 /* done this already? */ - RETc(ne) - mov r0, #1 - strb r0, [r1] /* mark it as done */ - - mov ip, sp - stmfd sp!, {r4, r5, r6, r7, fp, ip, lr, pc} - sub fp, ip, #4 - mov r7, r3 /* now that r7 is saved ... */ - - /* - * if (__register_frame_info) - * __register_frame_info(&__EH_FRAME_LIST__[0], &__dwarf_eh_object) - */ - GOT_GET(ip, r7, .L__register_frame_info) - cmp ip, #0 - beq 1f - - ldr r0, .L__EH_FRAME_LIST__ - ldr r1, .L__dwarf_eh_object -#ifdef PIC - add r0, r0, r7 /* object addr = got addr + offset */ - add r1, r1, r7 /* object addr = got addr + offset */ -#endif - -#ifdef _ARM_ARCH_4T - blx ip -#else - mov lr, pc - mov pc, ip -#endif -1: - /* - * if (_Jv_RegisterClasses && __JCR_LIST__[0]) - * _Jv_RegisterClasses(&__JCR_LIST__[0]); - */ - GOT_GET(ip, r7, .L_Jv_RegisterClasses) - cmp ip, #0 - - ldrne r0, .L__JCR_LIST__ -#ifdef PIC - ldrne r2, [r0, r7]! /* load 1st one, make r0 point to it */ -#else - ldrne r2, [r0] /* load 1st one */ -#endif - cmpne r2, #0 -#ifdef _ARM_ARCH_4T - blxne ip -#else - movne lr, pc - movne pc, ip -#endif - - /* - * Get the start and end of the CTOR list. - */ - - ldr r4, .L__CTOR_LIST__ - ldr r5, .L__CTOR_LIST_END__ -#ifdef PIC - add r4, r4, r7 /* object addr = got addr + offset */ - add r5, r5, r7 /* object addr = got addr + offset */ -#endif - sub r5, r5, #4 /* ignore first entry */ -3: - cmp r4, r5 /* at first entry? */ - ldmeqfd sp, {r4-r7, fp, sp, pc} /* then return */ - adr lr, 3b /* return to start of loop */ - ldr ip, [r5], #-4 /* get entry */ -#ifdef _ARM_ARCH_4T - bx ip -#else - mov pc, ip /* get entry */ -#endif - - .hidden _C_LABEL(__CTOR_LIST_END__) - - .align 2 - GOT_INITSYM(.Lctors_got, .Lctors) -.L_Jv_RegisterClasses: - .word PIC_SYM(_C_LABEL(_Jv_RegisterClasses), GOT) -.L__register_frame_info: - .word PIC_SYM(_C_LABEL(__register_frame_info), GOT) -.L__initialized: - .word PIC_SYM(_C_LABEL(__initialized), GOTOFF) -.L__CTOR_LIST__: - .word PIC_SYM(_C_LABEL(__CTOR_LIST__), GOTOFF) -.L__CTOR_LIST_END__: - .word PIC_SYM(_C_LABEL(__CTOR_LIST_END__), GOTOFF) -.L__dwarf_eh_object: - .word PIC_SYM(_C_LABEL(__dwarf_eh_object), GOTOFF) -.L__JCR_LIST__: - .word PIC_SYM(_C_LABEL(__JCR_LIST__), GOTOFF) - - .section .init, "ax", %progbits - bl __do_global_ctors_aux - .section .fini, "ax", %progbits - bl __do_global_dtors_aux diff --git a/lib/csu/arch/arm/crtbegin.h b/lib/csu/arch/arm/crtbegin.h new file mode 100644 index 000000000..134eecc38 --- /dev/null +++ b/lib/csu/arch/arm/crtbegin.h @@ -0,0 +1,38 @@ +/* $NetBSD: crtbegin.h,v 1.1 2013/06/27 21:24:39 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ +__asm( + ".pushsection .init, \"ax\", %progbits" +"\n\t" "bl __do_global_ctors_aux" +"\n\t" ".popsection"); + +__asm( + ".pushsection .fini, \"ax\", %progbits" +"\n\t" "bl __do_global_dtors_aux" +"\n\t" ".popsection"); diff --git a/lib/csu/arch/earm/Makefile.inc b/lib/csu/arch/earm/Makefile.inc index 13e18b1cd..f70405821 100644 --- a/lib/csu/arch/earm/Makefile.inc +++ b/lib/csu/arch/earm/Makefile.inc @@ -1,5 +1,5 @@ -# $NetBSD: Makefile.inc,v 1.1 2012/08/13 02:49:04 matt Exp $ +# $NetBSD: Makefile.inc,v 1.3 2013/09/10 16:45:33 matt Exp $ -CPPFLAGS+= -DELFSIZE=32 +CPPFLAGS+= -I${ARCHDIR} CPPFLAGS+= -DHAVE_INITFINI_ARRAY - +CPPFLAGS+= -DELF_NOTE_MARCH_DESC=\"${CSU_MACHINE_ARCH}\" diff --git a/lib/csu/arch/earm/crt0.S b/lib/csu/arch/earm/crt0.S index 1359874bf..8c1ae23ed 100644 --- a/lib/csu/arch/earm/crt0.S +++ b/lib/csu/arch/earm/crt0.S @@ -1,4 +1,4 @@ -/* $NetBSD: crt0.S,v 1.1 2012/08/13 02:49:04 matt Exp $ */ +/* $NetBSD: crt0.S,v 1.3 2013/09/05 00:27:38 matt Exp $ */ /*- * Copyright (c) 2012 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include -RCSID("$NetBSD: crt0.S,v 1.1 2012/08/13 02:49:04 matt Exp $") +RCSID("$NetBSD: crt0.S,v 1.3 2013/09/05 00:27:38 matt Exp $") STRONG_ALIAS(_start,__start) @@ -44,7 +44,14 @@ _ENTRY(__start) mov r2, ip /* tmp -> ps_strings */ /* Ensure the stack is properly aligned before calling C code. */ +#if !defined(__thumb__) bic sp, sp, #7 +#else + movs r6, #7 + mov r7, sp + bics r7, r7, r6 + mov sp, r7 +#endif /* * void ___start(void (*cleanup)(void), diff --git a/lib/csu/arch/earm/crtbegin.S b/lib/csu/arch/earm/crtbegin.S deleted file mode 100644 index 4bc97505f..000000000 --- a/lib/csu/arch/earm/crtbegin.S +++ /dev/null @@ -1,216 +0,0 @@ -/* $NetBSD: crtbegin.S,v 1.1 2012/08/13 02:49:04 matt Exp $ */ -/*- - * Copyright (c) 2012 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Matt Thomas of 3am Software Foundry. - * - * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 - -RCSID("$NetBSD: crtbegin.S,v 1.1 2012/08/13 02:49:04 matt Exp $") - - .section .eh_frame, "a", %progbits - .p2align 2 -__EH_FRAME_LIST__: - - .section .jcr, "aw", %progbits - .p2align 2 -__JCR_LIST__: - - .section .data.rel, "aw", %progbits - .p2align 2 - .type __dso_handle, %object - .size __dso_handle, 4 - .globl __dso_handle - .hidden __dso_handle -__dso_handle: -#ifdef SHARED - .word __dso_handle -#else - .word 0 -#endif - - .text -#ifdef SHARED - /* - * If we aren't shared, all we do is set finished - * to 1 if it isn't 1 already. So why bother do that at all? - */ - .type __do_global_dtors_aux, %function -__do_global_dtors_aux: - GOT_INIT(r3, .Ldtors_got, .Ldtors) /* use r3 temporarily */ - ldr r1, .L__finished /* GOTOFF */ - ldrb r0, [r1, r3]! - cmp r0, #0 /* done this already? */ - RETc(ne) - mov r0, #1 - strb r0, [r1] /* mark it as done */ - - GOT_GET(ip, r3, .L__cxa_finalize) - cmp ip, #0 - RETc(eq) - ldr r0, .L__dso_handle /* GOTOFF */ - ldr r0, [r0, r3] /* load relative to got */ -#if defined(_ARM_ARCH_4T) - bx ip /* tail call */ -#else - mov pc, ip -#endif - -#if 0 /* not used */ - /* - * if (__deregister_frame_info) - * __deregister_frame_info(&__EH_FRAME_LIST__[0]); - */ - GOT_GET(ip, r3, .L__deregister_frame_info) - cmp ip, #0 - ldmeqfd sp, {r4, r5, fp, sp, pc} /* restore and return */ - - ldr r1, .L__EH_FRAME_LIST__ /* GOTOFF */ - add r1, r1, r4 /* add got addr */ - ldmfd sp, {r4, r5, fp, sp, lr} /* restore everthing */ -#if !defined(_ARM_ARCH_4T) - bx ip /* tail call it */ -#else - mov pc, ip /* tail call it */ -#endif -#endif /* notused */ - - .weak __cxa_finalize - .weak __deregister_frame_info - - .align 2 - GOT_INITSYM(.Ldtors_got, .Ldtors) -.L__cxa_finalize: - .word PIC_SYM(_C_LABEL(__cxa_finalize), GOT) -#if 0 -.L__deregister_frame_info: - .word PIC_SYM(_C_LABEL(__deregister_frame_info), GOT) -#endif -.L__finished: - .word PIC_SYM(_C_LABEL(__finished), GOTOFF) -.L__dso_handle: - .word PIC_SYM(_C_LABEL(__dso_handle), GOTOFF) - - .pushsection .fini_array,"aw",%fini_array - .p2align 2 - .word __do_global_dtors_aux - .popsection -#endif /* SHARED */ - - .local __finished - .comm __finished,1,1 - - .weak __register_frame_info - .weak _Jv_RegisterClasses - - .type __do_global_ctors_aux, %function -__do_global_ctors_aux: - GOT_INIT(r3, .Lctors_got, .Lctors) - ldr r1, .L__initialized /* GOTOFF if PIC */ -#ifdef PIC - ldrb r0, [r1, r3]! /* r1 = r1 + got */ -#else - ldrb r0, [r1] -#endif - cmp r0, #0 /* done this already? */ - RETc(ne) - mov r0, #1 - strb r0, [r1] /* mark it as done */ - - mov ip, sp - stmfd sp!, {r4, r5, fp, ip, lr, pc} - sub fp, ip, #4 - mov r4, r3 /* now that r4 is saved ... */ - - /* - * if (__register_frame_info) - * __register_frame_info(&__EH_FRAME_LIST__[0], &__dwarf_eh_object) - */ - GOT_GET(ip, r4, .L__register_frame_info) - cmp ip, #0 - beq 1f - - ldr r0, .L__EH_FRAME_LIST__ - ldr r1, .L__dwarf_eh_object -#ifdef PIC - add r0, r0, r4 - add r1, r1, r4 -#endif - -#if defined(_ARM_ARCH_4T) - blx ip -#else - mov lr, pc - mov pc, ip -#endif -1: - /* - * if (_Jv_RegisterClasses && __JCR_LIST__[0]) - * _Jv_RegisterClasses(&__JCR_LIST__[0]); - */ - GOT_GET(ip, r4, .L_Jv_RegisterClasses) - cmp ip, #0 - ldmeqfd sp, {r4, r5, fp, sp, pc} /* return if null */ - - ldr r0, .L__JCR_LIST__ -#ifdef PIC - ldr r2, [r0, r4]! /* GOTOFF + got == address */ -#else - ldr r2, [r0] -#endif - cmp r2, #0 - ldmfd sp, {r4, r5, fp, sp, lr} /* restore everything */ - RETc(eq) /* return if null */ -#if defined(_ARM_ARCH_4T) - bx ip /* return or tail call */ -#else - mov pc, ip /* return or tail call */ -#endif - - .p2align 2 - GOT_INITSYM(.Lctors_got, .Lctors) -.L__register_frame_info: - .word PIC_SYM(_C_LABEL(__register_frame_info), GOT) -.L_Jv_RegisterClasses: - .word PIC_SYM(_C_LABEL(_Jv_RegisterClasses), GOT) -.L__initialized: - .word PIC_SYM(_C_LABEL(__initialized), GOTOFF) -.L__EH_FRAME_LIST__: - .word PIC_SYM(_C_LABEL(__EH_FRAME_LIST__), GOTOFF) -.L__dwarf_eh_object: - .word PIC_SYM(_C_LABEL(__dwarf_eh_object), GOTOFF) -.L__JCR_LIST__: - .word PIC_SYM(_C_LABEL(__JCR_LIST__), GOTOFF) - - .local __initialized - .comm __initialized,1,1 - .local __dwarf_eh_object - .comm __dwarf_eh_object,24,4 - - .section .init_array,"aw",%init_array - .p2align 2 - .word __do_global_ctors_aux diff --git a/lib/csu/arch/earm/crtbegin.h b/lib/csu/arch/earm/crtbegin.h new file mode 100644 index 000000000..0eea52441 --- /dev/null +++ b/lib/csu/arch/earm/crtbegin.h @@ -0,0 +1,50 @@ +/* $NetBSD: crtbegin.h,v 1.1 2013/06/27 21:24:39 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +static void __do_global_ctors_aux(void) __attribute__((__constructor__)) __used; +#ifdef SHARED +static void __do_global_dtors_aux(void) __attribute__((__destructor__)) __used; +#endif + +#ifndef SHARED +static const void *find_exidx(void *, int *) __used; + +static const void * +find_exidx(void * pc, int * pcount) +{ + extern __dso_hidden const char __exidx_start[]; + extern __dso_hidden const char __exidx_end[]; + + *pcount = (__exidx_end - __exidx_start) / 8; + return __exidx_start; +} + +__weak_alias(__gnu_Uwind_find_exidx,find_exidx) +#endif /* !SHARED */ diff --git a/lib/csu/arch/hppa/Makefile.inc b/lib/csu/arch/hppa/Makefile.inc new file mode 100644 index 000000000..454c25576 --- /dev/null +++ b/lib/csu/arch/hppa/Makefile.inc @@ -0,0 +1,3 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/07/13 18:52:35 skrll Exp $ + +CPPFLAGS+= -DELFSIZE=32 -I${ARCHDIR} diff --git a/lib/csu/arch/hppa/crt0.S b/lib/csu/arch/hppa/crt0.S new file mode 100644 index 000000000..2d954ea4b --- /dev/null +++ b/lib/csu/arch/hppa/crt0.S @@ -0,0 +1,67 @@ +/* $NetBSD: crt0.S,v 1.1 2013/07/13 18:52:35 skrll Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Nick Hudson + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crt0.S,v 1.1 2013/07/13 18:52:35 skrll Exp $") + + .import _GLOBAL_OFFSET_TABLE_ + .hidden ___start + +STRONG_ALIAS(__start,_start) + +/* + * void _start(struct ps_strings *ps_strings, + * void (*cleanup)(void), + * const Obj_Entry *obj); + */ +_ENTRY(_start) + .callinfo frame=0, calls + .entry + + bl L$lpc, %r27 + depi 0, 31, 2, %r27 +L$lpc: addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 8), %r27 + ldo R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 12)(%r1),%r27 + copy %r27, %r19 + + /* + * void ___start(void (*cleanup)(void), + * const Obj_Entry *obj, + * struct ps_strings *ps_strings); + */ + copy %arg0, %arg3 ; ps_strings -> tmp + copy %arg1, %arg0 ; cleanup -> arg0 + copy %arg2, %arg1 ; obj -> arg1 + b ___start + copy %arg3, %arg2 ; ps_strings (tmp) -> arg2 + +EXIT(_start) diff --git a/lib/csu/arch/hppa/crtbegin.h b/lib/csu/arch/hppa/crtbegin.h new file mode 100644 index 000000000..9bbf129d1 --- /dev/null +++ b/lib/csu/arch/hppa/crtbegin.h @@ -0,0 +1,43 @@ +/* $NetBSD*/ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Nick Hudson + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +__asm( "\n\t" + ".pushsection .init, \"ax\", @progbits" "\n\t" + "bl __do_global_ctors_aux, %rp" "\n\t" + " nop" "\n\t" + ".popsection"); + +__asm( "\n\t" + ".pushsection .fini, \"ax\", @progbits" "\n\t" + "bl __do_global_dtors_aux, %rp" "\n\t" + " nop" "\n\t" + ".popsection"); + diff --git a/lib/csu/arch/hppa/crtend.S b/lib/csu/arch/hppa/crtend.S new file mode 100644 index 000000000..9623c5000 --- /dev/null +++ b/lib/csu/arch/hppa/crtend.S @@ -0,0 +1,56 @@ +/* $NetBSD: crtend.S,v 1.1 2013/07/13 18:52:35 skrll Exp $ */ + +/*- + * Copyright (c) 2010 Joerg Sonnenberger + * 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 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 HOLDERS 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 + +RCSID("$NetBSD: crtend.S,v 1.1 2013/07/13 18:52:35 skrll Exp $") + + .section .ctors, "aw", @progbits + .align 4 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .long 0 + + .section .dtors, "aw", @progbits + .align 4 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .long 0 + + .section .eh_frame, "a", @progbits + .align 4 + .long 0 + + .section .jcr, "aw", @progbits + .align 4 + .long 0 diff --git a/lib/csu/arch/hppa/crti.S b/lib/csu/arch/hppa/crti.S new file mode 100644 index 000000000..925facc27 --- /dev/null +++ b/lib/csu/arch/hppa/crti.S @@ -0,0 +1,55 @@ +/* $NetBSD: crti.S,v 1.1 2013/07/13 18:52:35 skrll Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Nick Hudson + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crti.S,v 1.1 2013/07/13 18:52:35 skrll Exp $") + +#include "sysident.S" + +#define MD_SECTION_PROLOGUE(sect, entry_pt) \ + .section sect,"ax",@progbits ! \ + .global entry_pt ! \ + .proc ! \ + .callinfo frame=HPPA_FRAME_SIZE, calls, save_rp, save_sp, entry_gr=3 ! \ + .entry ! \ + entry_pt: ! \ + stw %rp, HPPA_FRAME_CRP(%sp) ! \ + copy %r3, %r1 ! \ + copy %sp, %r3 ! \ + stw,ma %r1, HPPA_FRAME_SIZE(%sp) ! \ + /* fall thru */ ! \ + .exit ! \ + .procend ! \ + .previous + +MD_SECTION_PROLOGUE(.init, _init) +MD_SECTION_PROLOGUE(.fini, _fini) diff --git a/lib/csu/arch/hppa/crtn.S b/lib/csu/arch/hppa/crtn.S new file mode 100644 index 000000000..e1ac472b6 --- /dev/null +++ b/lib/csu/arch/hppa/crtn.S @@ -0,0 +1,46 @@ +/* $NetBSD: crtn.S,v 1.1 2013/07/13 18:52:35 skrll Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Nick Hudson + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtn.S,v 1.1 2013/07/13 18:52:35 skrll Exp $") + +#define MD_SECTION_EPILOGUE(sect) \ + .section #sect,"ax",@progbits ! \ + ldw HPPA_FRAME_CRP(%r3) ,%rp ! \ + ldo HPPA_FRAME_SIZE(%r3), %sp ! \ + ldw,mb -HPPA_FRAME_SIZE(%sp), %r3 ! \ + bv,n %r0(%rp) ! \ + .previous + +MD_SECTION_EPILOGUE(.init) +MD_SECTION_EPILOGUE(.fini) diff --git a/lib/csu/arch/m68k/Makefile.inc b/lib/csu/arch/m68k/Makefile.inc index ade41715e..2bc42704c 100644 --- a/lib/csu/arch/m68k/Makefile.inc +++ b/lib/csu/arch/m68k/Makefile.inc @@ -1,5 +1,5 @@ -# $NetBSD: Makefile.inc,v 1.1 2010/08/07 18:01:34 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.2 2013/07/11 17:07:35 matt Exp $ -CPPFLAGS+= -DELFSIZE=32 +CPPFLAGS+= -I${ARCHDIR} -DELFSIZE=32 diff --git a/lib/csu/arch/m68k/crt0.S b/lib/csu/arch/m68k/crt0.S index 6d4d4e432..e27662228 100644 --- a/lib/csu/arch/m68k/crt0.S +++ b/lib/csu/arch/m68k/crt0.S @@ -35,18 +35,14 @@ * <> */ -RCSID("$NetBSD: crt0.S,v 1.1 2010/08/07 18:01:34 joerg Exp $") +RCSID("$NetBSD: crt0.S,v 1.4 2013/07/26 19:49:19 matt Exp $") STRONG_ALIAS(_start,__start) _ENTRY(__start) - movl (%sp),%d0 movl %a2,-(%sp) | ps_strings movl %a0,-(%sp) | obj movl %a1,-(%sp) | cleanup - movl %d0,%d1 - lsll #2,%d1 - pea (16+4)(%sp,%d1.l) | envp = &argv[argc + 1] - pea 20(%sp) | argv - movl %d0,-(%sp) | argc - jsr ___start + | call: ___start(cleanup, obj, ps_strings) + jbsr ___start +END(__start) diff --git a/lib/csu/arch/m68k/crtbegin.h b/lib/csu/arch/m68k/crtbegin.h new file mode 100644 index 000000000..167ea0804 --- /dev/null +++ b/lib/csu/arch/m68k/crtbegin.h @@ -0,0 +1,45 @@ +/* $NetBSD: crtbegin.h,v 1.4 2013/07/27 13:07:06 martin Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +__asm( ".pushsection .init" +#ifdef __pic__ +"\n\t" "bsrl __do_global_ctors_aux" +#else +"\n\t" "jsr __do_global_ctors_aux" +#endif +"\n\t" ".popsection"); + +__asm( ".pushsection .fini" +#ifdef __pic__ +"\n\t" "bsrl __do_global_dtors_aux" +#else +"\n\t" "jsr __do_global_dtors_aux" +#endif +"\n\t" ".popsection"); diff --git a/lib/csu/arch/m68k/crtend.S b/lib/csu/arch/m68k/crtend.S new file mode 100644 index 000000000..864d0bd7c --- /dev/null +++ b/lib/csu/arch/m68k/crtend.S @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.1 2013/07/11 17:07:35 matt Exp $ */ +/*- + * Copyright (c) 2011 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtend.S,v 1.1 2013/07/11 17:07:35 matt Exp $") + + .section .ctors, "aw", @progbits + .p2align 2 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .long 0 + + .section .dtors, "aw", @progbits + .p2align 2 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .long 0 + + .section .eh_frame, "a", @progbits + .p2align 2 + .long 0 + + .section .jcr, "aw", @progbits + .p2align 2 + .long 0 diff --git a/lib/csu/arch/mips/Makefile.inc b/lib/csu/arch/mips/Makefile.inc new file mode 100644 index 000000000..80826ffe5 --- /dev/null +++ b/lib/csu/arch/mips/Makefile.inc @@ -0,0 +1,3 @@ +# $NetBSD: Makefile.inc,v 1.2 2013/07/10 15:05:46 matt Exp $ + +CPPFLAGS+= -I${ARCHDIR} -DELFSIZE=_MIPS_SZPTR diff --git a/lib/csu/arch/mips/crt0.S b/lib/csu/arch/mips/crt0.S new file mode 100644 index 000000000..14c065547 --- /dev/null +++ b/lib/csu/arch/mips/crt0.S @@ -0,0 +1,58 @@ +/* $NetBSD: crt0.S,v 1.2 2013/06/25 16:47:47 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crt0.S,v 1.2 2013/06/25 16:47:47 matt Exp $") + +STRONG_ALIAS(_start,__start) + +/* + * Assumes kernel (or ld_elf.so) passes the following parameters to + * user-space in registers: + * + * a0 stack pointer (0 if setregs didn't fill this in) + * a1 cleanup + * a2 Obj_Entry + * a3 ps_strings + * + * XXX Does this violate the ABI? + * as well as the usual registers (pc, sp, and t9 == pc for ABI). + */ + +NESTED_NOPROFILE(__start, CALLFRAME_SIZ, ra) + SETUP_GP + SETUP_GP64(t3, __start) + move a0, a1 /* cleanup */ + move a1, a2 /* Obj_Entry */ + move a2, a3 /* ps_strings */ + j _C_LABEL(___start) +END(__start) diff --git a/lib/csu/arch/mips/crtbegin.h b/lib/csu/arch/mips/crtbegin.h new file mode 100644 index 000000000..cd8ac21f1 --- /dev/null +++ b/lib/csu/arch/mips/crtbegin.h @@ -0,0 +1,66 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +__asm( "\n\t" + ".pushsection .init, \"ax\", @progbits" "\n\t" +#ifdef __mips_o32 + ".set noreorder" "\n\t" + ".set nomacro" "\n\t" + "move $28,$16" "\n\t" + "lw $25,%got(__do_global_ctors_aux)($28)" "\n\t" + "nop" "\n\t" + "addiu $25,$25,%lo(__do_global_ctors_aux)" "\n\t" + ".reloc 1f,R_MIPS_JALR,__do_global_ctors_aux" "\n\t" + "1: jalr $25" "\n\t" + "nop" "\n\t" + ".set macro" "\n\t" + ".set reorder" "\n\t" +#else + "jal __do_global_ctors_aux" "\n\t" +#endif + ".popsection"); + +__asm( "\n\t" + ".pushsection .fini, \"ax\", @progbits" "\n\t" +#ifdef __mips_o32 + ".set noreorder" "\n\t" + ".set nomacro" "\n\t" + "move $28,$16" "\n\t" + "lw $25,%got(__do_global_dtors_aux)($28)" "\n\t" + "nop" "\n\t" + "addiu $25,$25,%lo(__do_global_dtors_aux)" "\n\t" + ".reloc 1f,R_MIPS_JALR,__do_global_dtors_aux" "\n\t" + "1: jalr $25" "\n\t" + "nop" "\n\t" + ".set macro" "\n\t" + ".set reorder" "\n\t" +#else + "jal __do_global_dtors_aux" "\n\t" +#endif + ".popsection"); diff --git a/lib/csu/arch/mips/crtend.S b/lib/csu/arch/mips/crtend.S new file mode 100644 index 000000000..59b4f32b7 --- /dev/null +++ b/lib/csu/arch/mips/crtend.S @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.3 2013/09/05 00:28:11 matt Exp $ */ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtend.S,v 1.3 2013/09/05 00:28:11 matt Exp $") + + .section .ctors, "aw", @progbits + .p2align PTR_SCALESHIFT + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .word 0 + + .section .dtors, "aw", @progbits + .p2align PTR_SCALESHIFT + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .word 0 + + .section .eh_frame, "aw", @progbits + .p2align PTR_SCALESHIFT + .space _MIPS_SZPTR / 8 + + .section .jcr, "aw", @progbits + .p2align PTR_SCALESHIFT + .space _MIPS_SZPTR / 8 diff --git a/lib/csu/arch/mips/crti.S b/lib/csu/arch/mips/crti.S new file mode 100644 index 000000000..e28659a63 --- /dev/null +++ b/lib/csu/arch/mips/crti.S @@ -0,0 +1,60 @@ +/* $NetBSD: crti.S,v 1.2 2013/06/30 08:00:34 matt Exp $ */ + +/*- + * Copyright (c) 2011 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crti.S,v 1.2 2013/06/30 08:00:34 matt Exp $") + +#include "sysident.S" + + .section ".init", "ax", @progbits +NESTED_NOPROFILE(_init, CALLFRAME_SIZ, ra) + SETUP_GP + PTR_SUBU sp, sp, CALLFRAME_SIZ # allocate stack frame + REG_S ra, CALLFRAME_RA(sp) # save RA +#ifdef __mips_o32 + REG_S s0, CALLFRAME_S0(sp) # save s0 + move s0, gp +#endif + SETUP_GP64(CALLFRAME_GP, _init) +END(_init) + + .section ".fini", "ax", @progbits +NESTED_NOPROFILE(_fini, CALLFRAME_SIZ, ra) + SETUP_GP + PTR_SUBU sp, sp, CALLFRAME_SIZ # allocate stack frame + REG_S ra, CALLFRAME_RA(sp) # save RA +#ifdef __mips_o32 + REG_S s0, CALLFRAME_S0(sp) # save s0 + move s0, gp +#endif + SETUP_GP64(CALLFRAME_GP, _fini) +END(_fini) diff --git a/lib/csu/arch/mips/crtn.S b/lib/csu/arch/mips/crtn.S new file mode 100644 index 000000000..66f0efedc --- /dev/null +++ b/lib/csu/arch/mips/crtn.S @@ -0,0 +1,52 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtn.S,v 1.2 2013/06/30 08:00:34 matt Exp $") + + .section ".init", "ax", @progbits + REG_L ra, CALLFRAME_RA(sp) +#if defined(__mips_o32) || defined(__mips_o64) + REG_L s0, CALLFRAME_S0(sp) +#else + REG_L gp, CALLFRAME_GP(sp) +#endif + PTR_ADDU sp, sp, CALLFRAME_SIZ + jr ra + + .section ".fini", "ax", @progbits + REG_L ra, CALLFRAME_RA(sp) +#ifdef __mips_o32 + REG_L s0, CALLFRAME_S0(sp) +#else + REG_L gp, CALLFRAME_GP(sp) +#endif + PTR_ADDU sp, sp, CALLFRAME_SIZ + jr ra diff --git a/lib/csu/arch/powerpc/Makefile.inc b/lib/csu/arch/powerpc/Makefile.inc index 5652414af..1ebb11de2 100644 --- a/lib/csu/arch/powerpc/Makefile.inc +++ b/lib/csu/arch/powerpc/Makefile.inc @@ -1,5 +1,3 @@ -# $NetBSD: Makefile.inc,v 1.1 2011/02/08 02:02:25 matt Exp $ - -CPPFLAGS+= -DELFSIZE=32 - +# $NetBSD: Makefile.inc,v 1.2 2013/06/27 21:24:39 matt Exp $ +CPPFLAGS+= -I${ARCHDIR} diff --git a/lib/csu/arch/powerpc/crtbegin.S b/lib/csu/arch/powerpc/crtbegin.S deleted file mode 100644 index 0c62da9bc..000000000 --- a/lib/csu/arch/powerpc/crtbegin.S +++ /dev/null @@ -1,268 +0,0 @@ -/* $NetBSD: crtbegin.S,v 1.2 2011/07/04 21:55:09 matt Exp $ */ -/*- - * Copyright (c) 2011 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Matt Thomas of 3am Software Foundry. - * - * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 - -RCSID("$NetBSD: crtbegin.S,v 1.2 2011/07/04 21:55:09 matt Exp $") - - .section .ctors, "aw", @progbits - .p2align 2 -__CTOR_LIST__: - .long -1 - - .section .dtors, "aw", @progbits - .p2align 2 -__DTOR_LIST__: - .long -1 - - .section .eh_frame, "a", @progbits - .p2align 2 -__EH_FRAME_LIST__: - - .section .jcr, "aw", @progbits - .p2align 2 -__JCR_LIST__: - - .section ".got2","aw", @progbits -.LCTOC = . + 32768 - - .section .data.rel, "aw", @progbits - .p2align 2 - .type __dso_handle, @object - .size __dso_handle, 4 - .globl __dso_handle - .hidden __dso_handle -__dso_handle: -#ifdef SHARED - .long __dso_handle -#else - .long 0 -#endif - - .lcomm __dwarf_eh_object,8*SZREG,SZREG - .lcomm __initialized,1,1 - .lcomm __finished,1,1 - - .text - .weak __cxa_finalize - .weak __deregister_frame_info - .weak __register_frame_info - .weak _Jv_RegisterClasses - -/* - * All variables are local to this DSO so we can skip using GOT references - * and instead use PCREL references to access them. We do this regardless - * of being PIC since it isn't any additional overhead to do so. - * - * We don't setup a TOC since all of ours calls are indirect so it isn't - * needed. - */ - -__do_global_dtors_aux: - mflr %r7 /* save return address */ - bcl 20,31,1f /* find out what address */ -1: mflr %r3 /* we are at */ - mtlr %r7 /* restore return address */ - - addis %r4,%r3,__finished-1b@ha /* PCREL ref (upper) */ - lbzu %r0,__finished-1b@l(%r4) /* PCREL ref (lower) & load */ - cmpwi %r0,0 /* done this already? */ - bnelr /* yep, return */ - - li %r0, 1 - stb %r0, 0(%r4) /* remember we've done this */ - - stw %r7,(1*SZREG)(%r1) /* save LR */ - stwu %r1,-(8*SZREG)(%r1) /* alloc our stack frame */ - stw %r31,(7*SZREG)(%r1) /* save some registers */ - stw %r30,(6*SZREG)(%r1) - stw %r29,(5*SZREG)(%r1) - stw %r28,(4*SZREG)(%r1) - - mr %r29,%r3 /* move this to a safe place */ - - /* - * Get a reference to our TOC. - */ - addis %r30,%r29,.LCTOC-1b@ha - addi %r30,%r30,.LCTOC-1b@l - - /* - * Get a reference to the GOT. - */ - addis %r31,%r29,_GLOBAL_OFFSET_TABLE_-1b@ha /* pcrel (hi) */ - addi %r31,%r31,_GLOBAL_OFFSET_TABLE_-1b@l /* pcrel (lo) */ - -#ifdef SHARED - /* - * if (__cxa_finalize) - * __cxa_finalize(&__dso_handle); - */ - lwz %r0, __cxa_finalize@got(%r31) - cmpwi %r0, 0 - beq 2f - - addis %r3,%r29,__dso_handle-1b@ha /* get &__dso_handle (pcrel) */ - addi %r3,%r3,__dso_handle-1b@l - mtctr %r0 /* setup for indirect branch */ - bctrl /* and call the routine */ -2: -#endif - - addis %r28,%r29,__DTOR_LIST__-1b@ha /* get &__DTOR_LIST__ */ - addi %r28,%r28,__DTOR_LIST__-1b@l - /* - * We know the first entry is -1 so skip it. We use load with update - * to advance the pointer along. - */ -3: - lwzu %r0, 4(%r28) /* get entry */ - cmpwi %r0, 0 /* end of list? */ - beq 4f /* yep. */ - mtctr %r0 /* setup for indirect branch */ - bctrl /* and call the routine */ - b 3b /* do it again */ - -4: - /* - * if (__deregister_frame_info) - * __deregister_frame_info(&__EH_FRAME_LIST__[0]); - */ - lwz %r0,__deregister_frame_info@got(%r31) - cmpwi %r0, 0 /* routine actually exist? */ - beq 5f /* nope, skip call */ - - addis %r3,%r29,__EH_FRAME_LIST__-1b@ha - addi %r3,%r3,__EH_FRAME_LIST__-1b@l - mtctr %r0 /* setup for indirect branch */ - bctrl /* and call the routine */ -5: - lwz %r28,(4*SZREG)(%r1) /* restore registers */ - lwz %r29,(5*SZREG)(%r1) - lwz %r30,(6*SZREG)(%r1) - lwz %r31,(7*SZREG)(%r1) - addi %r1,%r1,8*SZREG /* adjust stack */ - lwz %r0,(1*SZREG)(%r1) /* get return addr */ - mtlr %r0 - blr /* and return */ - -__do_global_ctors_aux: - mflr %r7 /* save return address */ - bcl 20,31,1f /* find out what address */ -1: mflr %r3 /* we are at */ - mtlr %r7 /* restore return address */ - - addis %r4,%r3,__initialized-1b@ha /* pcrel (hi) */ - lbzu %r0,__initialized-1b@l(%r4) /* pcrel (lo) load+update */ - cmpwi %r0,0 /* have we already done this? */ - bnelr /* yep, return */ - - li %r0,1 - stb %r0,0(%r4) /* remember we've been here */ - - stw %r7,(1*SZREG)(%r1) /* save LR */ - stwu %r1,-(8*SZREG)(%r1) /* alloc our stack frame */ - stw %r31,(7*SZREG)(%r1) /* save some registers */ - stw %r30,(6*SZREG)(%r1) - stw %r29,(5*SZREG)(%r1) - stw %r28,(4*SZREG)(%r1) - - mr %r29,%r3 /* move this to a safe place */ - - /* - * Get a reference to our TOC. - */ - addis %r30,%r29,.LCTOC-1b@ha - addi %r30,%r30,.LCTOC-1b@l - - /* - * Get a reference to the GOT. - */ - addis %r31,%r29,_GLOBAL_OFFSET_TABLE_-1b@ha /* pcrel (hi) */ - addi %r31,%r31,_GLOBAL_OFFSET_TABLE_-1b@l /* pcrel (lo) */ - - /* - * if (__register_frame_info) - * __register_frame_info(&__EH_FRAME_LIST__[0], &__dwarf_eh_object) - */ - lwz %r0, __register_frame_info@got(%r31) - cmpwi %r0, 0 - beq 2f - - addis %r3,%r29,__EH_FRAME_LIST__-1b@ha /* pcrel (hi) */ - addi %r3,%r3,__EH_FRAME_LIST__-1b@l /* pcrel (lo) */ - addis %r4,%r29,__dwarf_eh_object-1b@ha /* pcrel (hi) */ - addi %r4,%r4,__dwarf_eh_object-1b@l /* pcrel (lo) */ - mtctr %r0 /* setup for indirect branch */ - bctrl /* and call the routine */ - -2: - /* - * if (_Jv_RegisterClasses && __JCR_LIST__[0]) - * _Jv_RegisterClasses(&__JCR_LIST__[0]); - */ - lwz %r0, _Jv_RegisterClasses@got(%r31) - cmpwi %r0, 0 - beq 3f - - mtctr %r0 /* setup for indirect branch */ - addis %r3, %r29, __JCR_LIST__-1b@ha /* pcrel (hi) */ - addi %r3, %r3, __JCR_LIST__-1b@l /* pcrel (lo) */ - lwz %r4, 0(%r3) /* load first entry */ - cmpwi %r4, 0 /* is the list empty? */ - bnectrl /* call the routine if not */ -3: - - /* - * Get end of list of CTOR list. - */ - addis %r28,%r29,__CTOR_LIST_END__-1b@ha - addi %r28,%r28,__CTOR_LIST_END__-1b@l -4: - lwzu %r0, -4(%r28) /* get entry */ - cmpwi %r0, -1 /* first entry? */ - beq 5f /* yes, we're done */ - mtctr %r0 /* setup for indirect branch */ - bctrl /* call the routine */ - b 4b /* do it again */ -5: - lwz %r28,(4*SZREG)(%r1) /* restore registers */ - lwz %r29,(5*SZREG)(%r1) - lwz %r30,(6*SZREG)(%r1) - lwz %r31,(7*SZREG)(%r1) - addi %r1,%r1,8*SZREG /* adjust stack */ - lwz %r0,(1*SZREG)(%r1) /* get return addr */ - mtlr %r0 - blr /* and return */ - - .section .init, "ax", @progbits - bl __do_global_ctors_aux - .section .fini, "ax", @progbits - bl __do_global_dtors_aux diff --git a/lib/csu/arch/powerpc/crtbegin.h b/lib/csu/arch/powerpc/crtbegin.h new file mode 100644 index 000000000..8f0700aab --- /dev/null +++ b/lib/csu/arch/powerpc/crtbegin.h @@ -0,0 +1,36 @@ +/* $NetBSD: crtbegin.h,v 1.1 2013/06/27 21:24:39 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ +__asm( ".pushsection .init, \"ax\", @progbits" +"\n\t" "bl __do_global_ctors_aux" +"\n\t" ".popsection"); + +__asm( ".pushsection .fini, \"ax\", @progbits" +"\n\t" "bl __do_global_dtors_aux" +"\n\t" ".popsection"); diff --git a/lib/csu/arch/powerpc/crtend.S b/lib/csu/arch/powerpc/crtend.S index 9e04e6421..8687c018d 100644 --- a/lib/csu/arch/powerpc/crtend.S +++ b/lib/csu/arch/powerpc/crtend.S @@ -1,4 +1,4 @@ -/* $NetBSD: crtend.S,v 1.1 2011/02/08 02:02:25 matt Exp $ */ +/* $NetBSD: crtend.S,v 1.2 2013/06/27 21:24:39 matt Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -30,7 +30,7 @@ #include -RCSID("$NetBSD: crtend.S,v 1.1 2011/02/08 02:02:25 matt Exp $") +RCSID("$NetBSD: crtend.S,v 1.2 2013/06/27 21:24:39 matt Exp $") .section .ctors, "aw", @progbits .p2align 2 @@ -41,6 +41,9 @@ __CTOR_LIST_END__: .section .dtors, "aw", @progbits .p2align 2 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: .long 0 .section .eh_frame, "a", @progbits diff --git a/lib/csu/arch/sh3/crtbegin.S b/lib/csu/arch/sh3/crtbegin.S index 033d9b77b..aa7a879cd 100644 --- a/lib/csu/arch/sh3/crtbegin.S +++ b/lib/csu/arch/sh3/crtbegin.S @@ -1,4 +1,4 @@ -/* $NetBSD: crtbegin.S,v 1.2 2012/06/02 22:15:15 uwe Exp $ */ +/* $NetBSD: crtbegin.S,v 1.3 2013/09/12 15:36:14 joerg Exp $ */ /*- * Copyright (c) 2012 Valeriy E. Ushakov * All rights reserved. @@ -30,7 +30,7 @@ #include -RCSID("$NetBSD: crtbegin.S,v 1.2 2012/06/02 22:15:15 uwe Exp $") +RCSID("$NetBSD: crtbegin.S,v 1.3 2013/09/12 15:36:14 joerg Exp $") .section .ctors, "aw", @progbits .p2align 2 @@ -84,7 +84,7 @@ __finished: * address and only r0 can be used in @(r0, Rm) addressing mode, so we * always load variable address to r0. */ -#ifdef PIC +#ifdef __PIC__ #define VAR_DATUM(var) var@GOTOFF #define FUNC_DATUM(f) f@GOT #define R0VAR (r0, r12) @@ -98,7 +98,7 @@ __finished: __do_global_ctors_aux: mov.l r8, @-sp mov.l r9, @-sp -#ifdef PIC +#ifdef __PIC__ mov.l r12, @-sp mov.l .Lc_got, r12 mova .Lc_got, r0 @@ -121,7 +121,7 @@ __do_global_ctors_aux: !! if (__register_frame_info) !! __register_frame_info(&__EH_FRAME_LIST__[0], &__dwarf_eh_object) -#ifdef PIC +#ifdef __PIC__ mov.l .Lc___register_frame_info_GOT, r0 mov.l @R0VAR, r1 tst r1, r1 @@ -146,7 +146,7 @@ __do_global_ctors_aux: !! if (_Jv_RegisterClasses && __JCR_LIST__[0]) !! _Jv_RegisterClasses(&__JCR_LIST__[0]); -#ifdef PIC +#ifdef __PIC__ mov.l .Lc__Jv_RegisterClasses_GOT, r0 mov.l @R0VAR, r1 tst r1, r1 @@ -183,7 +183,7 @@ __do_global_ctors_aux: !! call all constructors on __CTOR_LIST__ in reverse order mov.l .Lc___CTOR_LIST_END__, r8 -#ifdef PIC +#ifdef __PIC__ add r12, r8 #endif add #-4, r8 @@ -203,7 +203,7 @@ __do_global_ctors_aux: mov r14, sp lds.l @sp+, pr mov.l @sp+, r14 -#ifdef PIC +#ifdef __PIC__ mov.l @sp+, r12 #endif mov.l @sp+, r9 @@ -215,7 +215,7 @@ __do_global_ctors_aux: PIC_GOT_DATUM .Lc___initialized: .long VAR_DATUM(__initialized) -#ifdef PIC +#ifdef __PIC__ .Lc___register_frame_info_GOT: .long __register_frame_info@GOT #endif @@ -225,7 +225,7 @@ __do_global_ctors_aux: .long VAR_DATUM(__EH_FRAME_LIST__) .Lc___dwarf_eh_object: .long VAR_DATUM(__dwarf_eh_object) -#ifdef PIC +#ifdef __PIC__ .Lc__Jv_RegisterClasses_GOT: .long _Jv_RegisterClasses@GOT #endif @@ -240,7 +240,7 @@ __do_global_ctors_aux: __do_global_dtors_aux: mov.l r8, @-sp mov.l r9, @-sp -#ifdef PIC +#ifdef __PIC__ mov.l r12, @-sp mov.l .Ld_got, r12 mova .Ld_got, r0 @@ -277,7 +277,7 @@ __do_global_dtors_aux: !! call all destructors on __DTOR_LIST__ mov.l .Ld___DTOR_LIST__, r8 -#ifdef PIC +#ifdef __PIC__ add r12, r8 #endif add #4, r8 ! skip first entry that we know to be -1 @@ -293,7 +293,7 @@ __do_global_dtors_aux: !! if (__deregister_frame_info) !! __deregister_frame_info(&__EH_FRAME_LIST__[0]); -#ifdef PIC +#ifdef __PIC__ mov.l .Ld___deregister_frame_info_GOT, r0 mov.l @R0VAR, r1 tst r1, r1 @@ -317,7 +317,7 @@ __do_global_dtors_aux: mov r14, sp lds.l @sp+, pr mov.l @sp+, r14 -#ifdef PIC +#ifdef __PIC__ mov.l @sp+, r12 #endif mov.l @sp+, r9 @@ -339,7 +339,7 @@ __do_global_dtors_aux: #endif .Ld___DTOR_LIST__: .long VAR_DATUM(__DTOR_LIST__) -#ifdef PIC +#ifdef __PIC__ .Ld___deregister_frame_info_GOT: .long __deregister_frame_info@GOT #endif diff --git a/lib/csu/arch/sparc/Makefile.inc b/lib/csu/arch/sparc/Makefile.inc index ade41715e..51ce1cb8c 100644 --- a/lib/csu/arch/sparc/Makefile.inc +++ b/lib/csu/arch/sparc/Makefile.inc @@ -1,5 +1,5 @@ -# $NetBSD: Makefile.inc,v 1.1 2010/08/07 18:01:34 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.2 2013/07/11 06:57:15 martin Exp $ -CPPFLAGS+= -DELFSIZE=32 +CPPFLAGS+= -DELFSIZE=32 -I${ARCHDIR} diff --git a/lib/csu/arch/sparc/crt0.S b/lib/csu/arch/sparc/crt0.S index 05b20c54b..4789aafea 100644 --- a/lib/csu/arch/sparc/crt0.S +++ b/lib/csu/arch/sparc/crt0.S @@ -1,4 +1,4 @@ -/* $NetBSD: crt0.S,v 1.1 2010/08/07 18:01:34 joerg Exp $ */ +/* $NetBSD: crt0.S,v 1.2 2013/07/11 06:57:15 martin Exp $ */ /* * Copyright (c) 1998 Christos Zoulas @@ -37,20 +37,21 @@ #include -RCSID("$NetBSD: crt0.S,v 1.1 2010/08/07 18:01:34 joerg Exp $") +RCSID("$NetBSD: crt0.S,v 1.2 2013/07/11 06:57:15 martin Exp $") STRONG_ALIAS(_start,__start) + ! called with: + ! %g3 = cleanup + ! %g2 = obj + ! %g1 = ps_strings + ! call: ___start(cleanup, obj, ps_strings) _ENTRY(__start) mov 0, %fp - ld [%sp + 64], %o0 ! get argc - add %sp, 68, %o1 ! get argv - sll %o0, 2, %o2 ! - add %o2, 4, %o2 ! envp = argv + (argc << 2) + 4 - add %o1, %o2, %o2 ! - andn %sp, 7, %sp ! align + andn %sp, 7, %sp ! align stack sub %sp, 24, %sp ! expand to standard stack frame size - mov %g3, %o3 - mov %g2, %o4 + mov %g3, %o0 + mov %g2, %o1 call ___start - mov %g1, %o5 + mov %g1, %o2 + diff --git a/lib/csu/arch/sparc/crtbegin.h b/lib/csu/arch/sparc/crtbegin.h new file mode 100644 index 000000000..e3676ddcf --- /dev/null +++ b/lib/csu/arch/sparc/crtbegin.h @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +__asm( "\n\t" + ".pushsection .init, \"ax\", @progbits" "\n\t" + "call __do_global_ctors_aux" "\n\t" + " nop" "\n\t" + ".popsection"); + +__asm( "\n\t" + ".pushsection .fini, \"ax\", @progbits" "\n\t" + "call __do_global_dtors_aux" "\n\t" + " nop" "\n\t" + ".popsection"); diff --git a/lib/csu/arch/sparc/crtend.S b/lib/csu/arch/sparc/crtend.S new file mode 100644 index 000000000..8e92494e3 --- /dev/null +++ b/lib/csu/arch/sparc/crtend.S @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.1 2013/07/11 06:57:15 martin Exp $ */ +/*- + * Copyright (c) 2010 Joerg Sonnenberger + * 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 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 HOLDERS 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 + +RCSID("$NetBSD: crtend.S,v 1.1 2013/07/11 06:57:15 martin Exp $") + + .section .ctors, "aw", @progbits + .align 4 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .long 0 + + .section .dtors, "aw", @progbits + .align 4 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .long 0 + + .section .eh_frame, "a", @progbits + .align 4 + .long 0 + + .section .jcr, "aw", @progbits + .align 4 + .long 0 diff --git a/lib/csu/arch/sparc64/Makefile.inc b/lib/csu/arch/sparc64/Makefile.inc new file mode 100644 index 000000000..71a9b3af2 --- /dev/null +++ b/lib/csu/arch/sparc64/Makefile.inc @@ -0,0 +1,5 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/07/11 06:57:15 martin Exp $ + +CPPFLAGS+= -DELFSIZE=64 -I${ARCHDIR} + + diff --git a/lib/libc/gen/minix/getprogname.c b/lib/csu/arch/sparc64/crt0.S similarity index 58% rename from lib/libc/gen/minix/getprogname.c rename to lib/csu/arch/sparc64/crt0.S index 56b9b6a4a..db5b17bae 100644 --- a/lib/libc/gen/minix/getprogname.c +++ b/lib/csu/arch/sparc64/crt0.S @@ -1,7 +1,8 @@ -/* $NetBSD: getprogname.c,v 1.3 2003/07/26 19:24:42 salo Exp $ */ +/* $NetBSD: crt0.S,v 1.1 2013/07/11 06:57:15 martin Exp $ */ /* - * Copyright (c) 2001 Christopher G. Demetriou + * Copyright (c) 1998 Christos Zoulas + * Copyright (c) 1995 Christopher G. Demetriou * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,66 +35,26 @@ * <> */ -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: getprogname.c,v 1.3 2003/07/26 19:24:42 salo Exp $"); -#endif /* LIBC_SCCS and not lint */ +#include -#include "namespace.h" +RCSID("$NetBSD: crt0.S,v 1.1 2013/07/11 06:57:15 martin Exp $") -#include -#include +STRONG_ALIAS(_start,__start) -#ifdef __weak_alias -__weak_alias(getprogname, _getprogname) -__weak_alias(setprogname, _setprogname) -#endif + .align 4 + .register %g3,#scratch + .register %g2,#scratch -#if defined(__ELF__) -extern const char *__progname; + ! called with: + ! %g3 = cleanup + ! %g2 = obj + ! %g1 = ps_strings + ! call: ___start(cleanup, obj, ps_strings) +_ENTRY(__start) + clr %fp + clr %g4 ! data base for some memory models + mov %g3, %o0 + mov %g2, %o1 + ba,pt %icc,___start + mov %g1, %o2 -const char * -getprogname(void) -{ - - return (__progname); -} - -void -setprogname(const char *progname) -{ - const char *p; - - p = strrchr(progname, '/'); - if (p != NULL) - __progname = p + 1; - else - __progname = progname; -} -#else -static const char *theprogname = NULL; -extern const char **__prognamep; /* Copy of argv[]. */ -extern int __argc; /* Copy of argc. */ - -const char * -getprogname(void) -{ - const char *pn = NULL, *component; - if(theprogname) - return theprogname; - if(__argc > 0 && __prognamep) - pn = __prognamep[0]; - else - return NULL; - - if((component=strrchr(pn, '/'))) - return component+1; - return pn; -} - -void -setprogname(const char *newprogname) -{ - theprogname = newprogname; -} -#endif diff --git a/lib/csu/arch/sparc64/crtbegin.h b/lib/csu/arch/sparc64/crtbegin.h new file mode 100644 index 000000000..bb8272138 --- /dev/null +++ b/lib/csu/arch/sparc64/crtbegin.h @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +__asm( "\n\t" + ".pushsection .init, \"ax\", @progbits" "\n\t" + "call __do_global_ctors_aux" "\n\t" + " nop" "\n\t" + ".popsection"); + +__asm( "\n\t" + ".pushsection .fini, \"ax\", @progbits" "\n\t" + "call __do_global_dtors_aux" "\n\t" + " nop" "\n\t" + ".popsection"); diff --git a/lib/csu/arch/sparc64/crtend.S b/lib/csu/arch/sparc64/crtend.S new file mode 100644 index 000000000..96cd5e4c8 --- /dev/null +++ b/lib/csu/arch/sparc64/crtend.S @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.1 2013/07/11 06:57:15 martin Exp $ */ +/*- + * Copyright (c) 2010 Joerg Sonnenberger + * 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 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 HOLDERS 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 + +RCSID("$NetBSD: crtend.S,v 1.1 2013/07/11 06:57:15 martin Exp $") + + .section .ctors, "aw", @progbits + .align 8 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .quad 0 + + .section .dtors, "aw", @progbits + .align 8 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .quad 0 + + .section .eh_frame, "a", @progbits + .align 8 + .quad 0 + + .section .jcr, "aw", @progbits + .align 8 + .quad 0 diff --git a/lib/csu/hppa/dot_init.h b/lib/csu/arch/sparc64/crti.S similarity index 51% rename from lib/csu/hppa/dot_init.h rename to lib/csu/arch/sparc64/crti.S index 8010f7718..472ac5cf6 100644 --- a/lib/csu/hppa/dot_init.h +++ b/lib/csu/arch/sparc64/crti.S @@ -1,7 +1,32 @@ -/* $NetBSD: dot_init.h,v 1.8 2008/05/10 15:31:04 martin Exp $ */ +/* $NetBSD: crti.S,v 1.1 2013/07/11 06:57:15 martin Exp $ */ + +/* + * Copyright (c) 2001 Matthew R. Green + * 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 ``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 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. + */ /*- - * Copyright (c) 2004 Nick Hudson * Copyright (c) 2001 Ross Harvey * All rights reserved. * @@ -34,36 +59,20 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* RCS ID & Copyright macro defns */ +#include -#define MD_SECTION_PROLOGUE(sect, entry_pt) \ - __asm ( \ - ".section "#sect",\"ax\",@progbits \n"\ - ".global "#entry_pt" \n"\ - ".proc \n"\ - ".callinfo frame=64, calls, save_rp, save_sp, entry_gr=3\n"\ - ".entry \n"\ - #entry_pt": \n"\ - " stw %rp, -20(%sp) \n"\ - " copy %r3, %r1 \n"\ - " copy %sp, %r3 \n"\ - " stw,ma %r1, 64(%sp) \n"\ - " /* fall thru */ \n"\ - ".exit \n"\ - ".procend \n"\ - ".previous") +RCSID("$NetBSD: crti.S,v 1.1 2013/07/11 06:57:15 martin Exp $") -#define MD_SECTION_EPILOGUE(sect) \ - __asm ( \ - ".section "#sect",\"ax\",@progbits \n"\ - " ldw -20(%r3) ,%rp \n"\ - " ldo 64(%r3), %sp \n"\ - " ldw,mb -64(%sp), %r3 \n"\ - " bv,n %r0(%rp) \n"\ - ".previous") +#include "sysident.S" -#define MD_INIT_SECTION_PROLOGUE MD_SECTION_PROLOGUE(.init, _init) -#define MD_FINI_SECTION_PROLOGUE MD_SECTION_PROLOGUE(.fini, _fini) + .section ".init", "ax", @progbits + .align 4 + .globl _init +_init: + save %sp, -176, %sp -#define MD_INIT_SECTION_EPILOGUE MD_SECTION_EPILOGUE(.init) -#define MD_FINI_SECTION_EPILOGUE MD_SECTION_EPILOGUE(.fini) + .section ".fini", "ax", @progbits + .align 4 + .globl _fini +_fini: + save %sp, -176, %sp diff --git a/lib/csu/arm_elf/dot_init.h b/lib/csu/arch/sparc64/crtn.S similarity index 53% rename from lib/csu/arm_elf/dot_init.h rename to lib/csu/arch/sparc64/crtn.S index 46f4b8de5..f7306017e 100644 --- a/lib/csu/arm_elf/dot_init.h +++ b/lib/csu/arch/sparc64/crtn.S @@ -1,4 +1,30 @@ -/* $NetBSD: dot_init.h,v 1.9 2012/08/05 01:44:43 matt Exp $ */ +/* $NetBSD: crtn.S,v 1.1 2013/07/11 06:57:15 martin Exp $ */ + +/* + * Copyright (c) 2001 Matthew R. Green + * 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 ``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 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. + */ /*- * Copyright (c) 2001 Ross Harvey @@ -33,29 +59,16 @@ * POSSIBILITY OF SUCH DAMAGE. */ -#include /* RCS ID & Copyright macro defns */ #include -#define MD_SECTION_PROLOGUE(sect, entry_pt) \ - __asm ( \ - ".section "#sect",\"ax\",%progbits \n"\ - ".global "#entry_pt" \n"\ - " .align 0 \n"\ - #entry_pt": \n"\ - "mov ip, sp \n"\ - "stmfd sp!, {fp, ip, lr, pc} \n"\ - "sub fp, ip, #4 \n"\ - " /* fall thru */ \n"\ - ".previous") +RCSID("$NetBSD: crtn.S,v 1.1 2013/07/11 06:57:15 martin Exp $") -#define MD_SECTION_EPILOGUE(sect) \ - __asm ( \ - ".section "#sect",\"ax\",%progbits \n"\ - "ldmea fp, {fp, sp, pc} \n"\ - ".previous") + .section ".init", "ax", @progbits + .align 4 + ret + restore -#define MD_INIT_SECTION_PROLOGUE MD_SECTION_PROLOGUE(.init, _init) -#define MD_FINI_SECTION_PROLOGUE MD_SECTION_PROLOGUE(.fini, _fini) - -#define MD_INIT_SECTION_EPILOGUE MD_SECTION_EPILOGUE(.init) -#define MD_FINI_SECTION_EPILOGUE MD_SECTION_EPILOGUE(.fini) + .section ".fini", "ax", @progbits + .align 4 + ret + restore diff --git a/lib/csu/arch/vax/Makefile.inc b/lib/csu/arch/vax/Makefile.inc index ade41715e..b659a66c1 100644 --- a/lib/csu/arch/vax/Makefile.inc +++ b/lib/csu/arch/vax/Makefile.inc @@ -1,5 +1,3 @@ -# $NetBSD: Makefile.inc,v 1.1 2010/08/07 18:01:34 joerg Exp $ - -CPPFLAGS+= -DELFSIZE=32 - +# $NetBSD: Makefile.inc,v 1.3 2013/06/25 00:30:07 matt Exp $ +CPPFLAGS+= -I${ARCHDIR} diff --git a/lib/csu/arch/vax/crt0.S b/lib/csu/arch/vax/crt0.S index d4529219a..04e90fb0b 100644 --- a/lib/csu/arch/vax/crt0.S +++ b/lib/csu/arch/vax/crt0.S @@ -1,10 +1,12 @@ -/* $NetBSD: crt0.S,v 1.2 2011/07/02 20:14:10 matt Exp $ */ +/* $NetBSD: crt0.S,v 1.3 2013/06/21 15:54:08 matt Exp $ */ -/* - * Copyright (c) 1999 Matt Thomas - * Copyright (c) 1995 Christopher G. Demetriou +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. - * + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,37 +15,28 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the - * NetBSD Project. See http://www.NetBSD.org/ for - * information about NetBSD. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. - * - * <> + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#include -RCSID("$NetBSD: crt0.S,v 1.2 2011/07/02 20:14:10 matt Exp $") +RCSID("$NetBSD: crt0.S,v 1.3 2013/06/21 15:54:08 matt Exp $") STRONG_ALIAS(_start,__start) -_ENTRY(__start) - .word 0x0101 - pushl %r9 /* ps_strings */ - pushl %r8 /* obj */ +_ENTRY(__start, 0x0101) + movq %r8,-(%sp) /* ps_strings / obj */ pushl %r7 /* cleanup */ calls $3,___start +END(__start) diff --git a/lib/csu/arch/vax/crtbegin.S b/lib/csu/arch/vax/crtbegin.S new file mode 100644 index 000000000..b30eff804 --- /dev/null +++ b/lib/csu/arch/vax/crtbegin.S @@ -0,0 +1,178 @@ +/* $NetBSD: crtbegin.S,v 1.6 2013/07/10 23:30:45 matt Exp $ */ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtbegin.S,v 1.6 2013/07/10 23:30:45 matt Exp $") + + .section .ctors, "aw", @progbits + .p2align 2 +__CTOR_LIST__: /* symbol is not used */ + .long -1 + + .section .dtors, "aw", @progbits + .p2align 2 +__DTOR_LIST__: + .long -1 + + .section .eh_frame, "a", @progbits + .p2align 2 +__EH_FRAME_LIST__: + + .section .jcr, "aw", @progbits + .p2align 2 +__JCR_LIST__: + + .section .data.rel, "aw", @progbits + .p2align 2 + .type __dso_handle, @object + .size __dso_handle, 4 + .globl __dso_handle + .hidden __dso_handle +__dso_handle: +#ifdef SHARED + .long __dso_handle +#else + .long 0 +#endif + + .local __dwarf_eh_object + .comm __dwarf_eh_object,32 + .local __initialized + .comm __initialized,1 + .local __finished + .comm __finished,1 + + .text +/* + * All variables are local to this DSO so we can skip using GOT references + * and instead use PCREL references to access them. We do this regardless + * of being PIC since it isn't any additional overhead to do so. + * + * We don't setup a TOC since all of ours calls are indirect so it isn't + * needed. + */ + +_ENTRY(__do_global_dtors_aux, 0x0100) /* save r8 */ + tstb __finished /* done this already? */ + bneq 4f + movb $1, __finished /* mark it as done */ + +#ifdef SHARED + /* + * if (__cxa_finalize) + * __cxa_finalize(&__dso_handle); + */ + movab __cxa_finalize, %r0 + beql 1f + pushal __dso_handle + calls $0, (%r0) +1: +#endif /* SHARED */ + + /* + * We use load with postincrement to advance the pointer along. + * We know the list ends with 0. If we load one, we must be done. + */ + moval __DTOR_LIST__+4, %r8 /* skip first entry */ +2: movl (%r8)+, %r0 /* r0 = *r8++; */ + beql 3f + calls $0, (%r0) + brb 2b +3: + +#ifdef SHARED + /* + * if (__deregister_frame_info) + * __deregister_frame_info(&__EH_FRAME_LIST__[0]); + */ + moval __deregister_frame_info, %r0 + beql 4f + pushal __EH_FRAME_LIST__ + calls $0, (%r0) +#endif /* SHARED */ + +4: ret +END(__do_global_dtors_aux) + + .weak __deregister_frame_info + .weak __cxa_finalize + + .weak __register_frame_info + .weak _Jv_RegisterClasses + +_ENTRY(__do_global_ctors_aux, 0x0800) + tstb __initialized + bneq 4f + movb $1, __initialized + + /* + * if (__register_frame_info) + * __register_frame_info(&__EH_FRAME_LIST__[0], &__dwarf_eh_object) + */ + movab __register_frame_info, %r0 + beql 1f + + pushal __dwarf_eh_object + pushal __EH_FRAME_LIST__ + calls $0, (%r0) +1: + + /* + * if (_Jv_RegisterClasses && __JCR_LIST__[0]) + * _Jv_RegisterClasses(&__JCR_LIST__[0]); + */ + movab _Jv_RegisterClasses, %r0 + beql 2f + + pushal __JCR_LIST__ + calls $0, (%r0) +2: + + /* + * Get the end of the CTOR list. The first entry is -1 so if we + * load a negative address, we know we are done. + */ + + moval __CTOR_LIST_END__, %r8 /* get end of list */ +3: movl -(%r8), %r0 /* get function pointer with predec */ + blss 4f /* negative? done. */ + calls $0, (%r0) /* call it */ + brb 3b /* get next one */ + +4: ret +END(__do_global_ctors_aux) + + .hidden _C_LABEL(__CTOR_LIST_END__) + + .section .init, "ax", @progbits + calls $0, __do_global_ctors_aux + .section .fini, "ax", @progbits + calls $0, __do_global_dtors_aux diff --git a/lib/csu/arch/vax/crtbegin.h b/lib/csu/arch/vax/crtbegin.h new file mode 100644 index 000000000..5bb3687e8 --- /dev/null +++ b/lib/csu/arch/vax/crtbegin.h @@ -0,0 +1,36 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + +__asm( ".pushsection .init, \"ax\", @progbits" "\n\t" + "calls $0, __do_global_ctors_aux" "\n\t" + ".popsection" "\n\t" + ".pushsection .fini, \"ax\", @progbits" "\n\t" + "calls $0, __do_global_dtors_aux" "\n\t" + ".popsection" + ); diff --git a/lib/csu/arch/vax/crtend.S b/lib/csu/arch/vax/crtend.S new file mode 100644 index 000000000..23d54f749 --- /dev/null +++ b/lib/csu/arch/vax/crtend.S @@ -0,0 +1,55 @@ +/* $NetBSD: crtend.S,v 1.2 2013/06/25 00:30:07 matt Exp $ */ +/*- + * Copyright (c) 2012 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: crtend.S,v 1.2 2013/06/25 00:30:07 matt Exp $") + + .section .ctors, "aw", @progbits + .p2align 2 + .global __CTOR_LIST_END__ + .hidden __CTOR_LIST_END__ +__CTOR_LIST_END__: + .long 0 + + .section .dtors, "aw", @progbits + .p2align 2 + .global __DTOR_LIST_END__ + .hidden __DTOR_LIST_END__ +__DTOR_LIST_END__: + .long 0 + + .section .eh_frame, "a", @progbits + .p2align 2 + .space 4 + + .section .jcr, "aw", @progbits + .p2align 2 + .space 4 diff --git a/lib/csu/arm_elf/Makefile b/lib/csu/arm_elf/Makefile deleted file mode 100644 index d357eee75..000000000 --- a/lib/csu/arm_elf/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $NetBSD: Makefile,v 1.4 2006/05/19 19:11:12 christos Exp $ -CPPFLAGS+= -I${.CURDIR} - -# Temporary hack to work around ld problems when linking Thumb applications -# where the linker does not correctly insert an interworking veneer. -CFLAGS+=-mlong-calls - -.include "${.CURDIR}/../common_elf/Makefile.inc" diff --git a/lib/csu/arm_elf/crt0.c b/lib/csu/arm_elf/crt0.c deleted file mode 100644 index 3a3ff063e..000000000 --- a/lib/csu/arm_elf/crt0.c +++ /dev/null @@ -1,111 +0,0 @@ -/* $NetBSD: crt0.c,v 1.10 2012/01/25 13:29:58 he Exp $ */ - -/* - * Copyright (C) 1997 Mark Brinicombe - * Copyright (C) 1995 Wolfgang Solfrank. - * Copyright (C) 1995 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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 -#include - -#include -#include - -#include "common.h" - -extern void _start(void); - void ___start(int, char *[], char *[], struct ps_strings *, - const Obj_Entry *, void (*)(void)); - -__asm(" .text \n" -" .align 0 \n" -" .globl _start \n" -" .globl __start \n" -"_start: \n" -"__start: \n" -" mov r5, r2 /* cleanup */ \n" -" mov r4, r1 /* obj_main */ \n" -" mov r3, r0 /* ps_strings */ \n" -" /* Get argc, argv, and envp from stack */ \n" -" ldr r0, [sp, #0x0000] \n" -" add r1, sp, #0x0004 \n" -" add r2, r1, r0, lsl #2 \n" -" add r2, r2, #0x0004 \n" -"\n" -" /* Ensure the stack is properly aligned before calling C code. */\n" -" bic sp, sp, #" ___STRING(STACK_ALIGNBYTES) "\n" -" sub sp, sp, #8 \n" -" str r5, [sp, #4] \n" -" str r4, [sp, #0] \n" -"\n" -" b " ___STRING(_C_LABEL(___start)) " "); - -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: crt0.c,v 1.10 2012/01/25 13:29:58 he Exp $"); -#endif /* LIBC_SCCS and not lint */ - -void -___start(int argc, char **argv, char **envp, struct ps_strings *ps_strings, - const Obj_Entry *obj, void (*cleanup)(void)) -{ - char *ap; - - environ = envp; - __ps_strings = ps_strings; - - if ((ap = argv[0])) { - if ((__progname = _strrchr(ap, '/')) == NULL) - __progname = ap; - else - ++__progname; - } - -#ifdef DYNAMIC - /* ld(1) convention: if DYNAMIC = 0 then statically linked */ - if (&rtld_DYNAMIC) - _rtld_setup(cleanup, obj); -#endif /* DYNAMIC */ - - _libc_init(); - -#ifdef MCRT0 - atexit(_mcleanup); - monstartup((u_long)&_eprol, (u_long)&_etext); -#endif /* MCRT0 */ - - atexit(_fini); - _init(); - -__asm("__callmain:"); /* Defined for the benefit of debuggers */ - exit(main(argc, argv, envp)); -} - -#include "common.c" - diff --git a/lib/csu/common/Makefile.inc b/lib/csu/common/Makefile.inc index c635479c6..dac26bd1f 100644 --- a/lib/csu/common/Makefile.inc +++ b/lib/csu/common/Makefile.inc @@ -1,33 +1,62 @@ -# $NetBSD: Makefile.inc,v 1.7 2012/03/25 06:55:19 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.23 2013/11/17 11:16:09 martin Exp $ .include +# XXX: FIXME: This is defined in bsd.lib.mk +PICFLAGS ?= -fPIC + COMMON_DIR:= ${.CURDIR}/common .PATH: ${COMMON_DIR} CPPFLAGS+= -I${NETBSDSRCDIR}/libexec/ld.elf_so -I${COMMON_DIR} -I. OBJS+= crt0.o gcrt0.o crti.o crtn.o -OBJS+= crtbegin.o crtbeginS.o crtend.o +OBJS+= crtbegin.o crtend.o -# BJG - for backwards compatability with minix gcc -# which links with crt1.o instead of crt0.o -SYMLINKS+= crt0.o ${LIBDIR}/crt1.o +.if ${MKPIC} == "yes" +OBJS+= crtbeginS.o +CFLAGS.crtbegin.c+= -fPIE +.endif +.if ${MACHINE_ARCH} == "alpha" +OBJS+= crtfm.o +.endif + +.if ${CSU_MACHINE_ARCH} == "sparc64" +# create helper objects for the compiler to mark compiler memory models +.for m in medlow medmid medany +sparc_mc${m}.o: compident.S sysident_assym.h + ${CC} ${ASFLAGS} -I. -DCONTENT=\"${m}\\0\\0\" -DCONTENTLENGTH=8 -c \ + -o $@ ${COMMON_DIR}/compident.S +.endfor +OBJS += sparc_mcmedlow.o sparc_mcmedmid.o sparc_mcmedany.o +.endif realall: ${OBJS} +.if exists(${ARCHDIR}/crtbegin.S) crtbegin.o: crtbegin.S ${_MKTARGET_COMPILE} ${COMPILE.S} ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o +.else +crtbegin.o: crtbegin.c crtbegin.h + ${_MKTARGET_COMPILE} + ${COMPILE.c} ${CFLAGS.crtbegin.c} ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o +.endif ${LD} -x -r -o ${.TARGET} ${.TARGET}.o rm -f ${.TARGET}.o .if ${MKSTRIPIDENT} != "no" ${OBJCOPY} -R .ident ${.TARGET} .endif +.if exists(${ARCHDIR}/crtbegin.S) crtbeginS.o: crtbegin.S ${_MKTARGET_COMPILE} - ${COMPILE.S} -DPIC -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o + ${COMPILE.S} ${PICFLAGS} -DSHARED ${ARCHDIR}/crtbegin.S -o ${.TARGET}.o +.else +crtbeginS.o: crtbegin.c crtbegin.h + ${_MKTARGET_COMPILE} + ${COMPILE.c} ${PICFLAGS} -DSHARED ${COMMON_DIR}/crtbegin.c -o ${.TARGET}.o +.endif ${LD} -x -r -o ${.TARGET} ${.TARGET}.o rm -f ${.TARGET}.o .if ${MKSTRIPIDENT} != "no" @@ -44,15 +73,15 @@ crtend.o: crtend.S .endif .if ${MKPIC} != "no" -PICFLAGS= -fPIC +MY_PICFLAGS= ${PICFLAGS} .else -PICFLAGS= +MY_PICFLAGS= .endif crt0.o: crt0.S crt0-common.c ${_MKTARGET_COMPILE} ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o - ${COMPILE.c} ${PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o + ${COMPILE.c} ${MY_PICFLAGS} ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o rm -f ${.TARGET}.S.o ${.TARGET}.c.o .if ${MKSTRIPIDENT} != "no" @@ -62,14 +91,24 @@ crt0.o: crt0.S crt0-common.c gcrt0.o: crt0.S crt0-common.c ${_MKTARGET_COMPILE} ${COMPILE.S} ${ARCHDIR}/crt0.S -o ${.TARGET}.S.o - ${COMPILE.c} ${PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o + ${COMPILE.c} ${MY_PICFLAGS} -DMCRT0 ${COMMON_DIR}/crt0-common.c -o ${.TARGET}.c.o ${LD} -x -r -o ${.TARGET} ${.TARGET}.S.o ${.TARGET}.c.o rm -f ${.TARGET}.S.o ${.TARGET}.c.o .if ${MKSTRIPIDENT} != "no" ${OBJCOPY} -R .ident ${.TARGET} .endif -sysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} +.if ${MACHINE_ARCH} == "alpha" +# can't do this in Makefile.inc otherwise it will before realall: +crtfm.o: crtfm.c + ${_MKTARGET_COMPILE} + ${COMPILE.c} ${.ALLSRC} -o ${.TARGET}.o + ${LD} -x -r -o ${.TARGET} ${.TARGET}.o + rm -f ${.TARGET}.o +.endif + +GENASSYM_CONF= ${COMMON_DIR}/sysident_assym.cf +sysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} ${NETBSDSRCDIR}/sys/sys/param.h ${_MKTARGET_CREATE} cat ${COMMON_DIR}/sysident_assym.cf | \ ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,*} ${CPPFLAGS} ${PROF} \ @@ -78,13 +117,16 @@ sysident_assym.h: ${GENASSYM_CONF} ${GENASSYM_EXTRAS} CLEANFILES+= sysident_assym.h -crti.o: crti.S sysident_assym.h +crti.o: crti.S sysident_assym.h sysident.S crtn.o: crtn.S FILES=${OBJS} FILESDIR=${LIBDIR} CLEANFILES+=${OBJS} + +.if ${MKPIC} == "yes" SYMLINKS+= crtbegin.o ${LIBDIR}/crtbeginT.o SYMLINKS+= crtend.o ${LIBDIR}/crtendS.o +.endif .include diff --git a/lib/csu/common/compident.S b/lib/csu/common/compident.S new file mode 100644 index 000000000..25c62fa75 --- /dev/null +++ b/lib/csu/common/compident.S @@ -0,0 +1,65 @@ +/* $NetBSD: compident.S,v 1.1 2013/11/14 12:19:34 martin Exp $ */ + +/*- + * Copyright (c) 2002, 2008 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Martin Husemann . + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + */ + + +/* + * This file is used to generate a note describing the code model in use by + * the compiler on some architectures where this has consequences for the + * VA layout applied by the kernel. On sparc64 the topdown VA layout can + * only be enabled for processes compiled with -mcmodel=medany or greater, + * but not for processes without this note or -mcmodel=medlow. + * + * The note looks similar to the .note.netbsd.march note used (for example) + * on arm to note the ABI used by the process. + * + * [NOTE HEADER] + * long name size + * long content size + * long note type + * + * [NOTE DATUM] + * string code model (for sparc64: medlow, medmid, medany, + * the embedany model is never PIC, so not used here) + * + * The DATUM fields should be padded out such that their actual (not + * declared) sizes % 4 == 0. + */ + +#include "sysident_assym.h" + + .section ".note.netbsd.mcmodel", "a" + .p2align 2 + + .long ELF_NOTE_MCMODEL_NAMESZ + .long CONTENTLENGTH + .long ELF_NOTE_TYPE_MCMODEL_TAG + .ascii "NetBSD\0\0" + .ascii CONTENT diff --git a/lib/csu/common/crt0-common.c b/lib/csu/common/crt0-common.c index 98d60adbc..86f782398 100644 --- a/lib/csu/common/crt0-common.c +++ b/lib/csu/common/crt0-common.c @@ -1,4 +1,4 @@ -/* $NetBSD: crt0-common.c,v 1.9 2012/08/13 02:15:35 matt Exp $ */ +/* $NetBSD: crt0-common.c,v 1.13 2013/01/31 22:24:25 matt Exp $ */ /* * Copyright (c) 1998 Christos Zoulas @@ -36,15 +36,15 @@ */ #include -__RCSID("$NetBSD: crt0-common.c,v 1.9 2012/08/13 02:15:35 matt Exp $"); +__RCSID("$NetBSD: crt0-common.c,v 1.13 2013/01/31 22:24:25 matt Exp $"); #include #include -#ifndef __minix +#if !defined(__minix) #include #else #include -#endif +#endif /* !defined(__minix) */ #include #include #include @@ -83,11 +83,11 @@ char *__progname = empty_string; __dead __dso_hidden void ___start(void (*)(void), const Obj_Entry *, struct ps_strings *); -#ifndef __minix +#if !defined(__minix) #define write(fd, s, n) __syscall(SYS_write, (fd), (s), (n)) #else #define write(fd, s, n) /* NO write() from here on minix */ -#endif +#endif /* !defined(__minix) */ #define _FATAL(str) \ do { \ @@ -103,10 +103,26 @@ do { \ * Since we don't need .init or .fini sections, just code them in C * to make life easier. */ -static const fptr_t init_array_start[] __weak_reference(__init_array_start); -static const fptr_t init_array_end[] __weak_reference(__init_array_end); -static const fptr_t fini_array_start[] __weak_reference(__fini_array_start); -static const fptr_t fini_array_end[] __weak_reference(__fini_array_end); +__weakref_visible const fptr_t preinit_array_start[1] + __weak_reference(__preinit_array_start); +__weakref_visible const fptr_t preinit_array_end[1] + __weak_reference(__preinit_array_end); +__weakref_visible const fptr_t init_array_start[1] + __weak_reference(__init_array_start); +__weakref_visible const fptr_t init_array_end[1] + __weak_reference(__init_array_end); +__weakref_visible const fptr_t fini_array_start[1] + __weak_reference(__fini_array_start); +__weakref_visible const fptr_t fini_array_end[1] + __weak_reference(__fini_array_end); + +static inline void +_preinit(void) +{ + for (const fptr_t *f = preinit_array_start; f < preinit_array_end; f++) { + (*f)(); + } +} static inline void _init(void) @@ -160,6 +176,10 @@ ___start(void (*cleanup)(void), /* from shared loader */ _libc_init(); +#ifdef HAVE_INITFINI_ARRAY + _preinit(); +#endif + #ifdef MCRT0 atexit(_mcleanup); monstartup((u_long)&__eprol, (u_long)&__etext); diff --git a/lib/csu/common/crtbegin.c b/lib/csu/common/crtbegin.c new file mode 100644 index 000000000..3ed218ace --- /dev/null +++ b/lib/csu/common/crtbegin.c @@ -0,0 +1,135 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +__RCSID("$NetBSD: crtbegin.c,v 1.6 2013/11/29 23:00:48 joerg Exp $"); + +#include "crtbegin.h" + +typedef void (*fptr_t)(void); + +__dso_hidden const fptr_t __JCR_LIST__[0] __section(".jcr"); + +__weakref_visible void Jv_RegisterClasses(const fptr_t *) + __weak_reference(_Jv_RegisterClasses); + +#if !defined(HAVE_INITFINI_ARRAY) +__dso_hidden const fptr_t __CTOR_LIST__[] __section(".ctors") = { + (fptr_t) -1, +}; +__dso_hidden extern const fptr_t __CTOR_LIST_END__[]; +#endif + +#ifdef SHARED +__dso_hidden void *__dso_handle = &__dso_handle; + +__weakref_visible void cxa_finalize(void *) + __weak_reference(__cxa_finalize); +#else +__dso_hidden void *__dso_handle; +#endif + +#if !defined(__ARM_EABI__) +__dso_hidden +#if !defined(__mips__) + const +#endif + long __EH_FRAME_LIST__[0] __section(".eh_frame"); + +__weakref_visible void register_frame_info(const void *, const void *) + __weak_reference(__register_frame_info); +__weakref_visible void deregister_frame_info(const void *) + __weak_reference(__deregister_frame_info); + +static long dwarf_eh_object[8]; +#endif + +static void __do_global_ctors_aux(void) __used; + +static void __section(".text.startup") +__do_global_ctors_aux(void) +{ + static unsigned char __initialized; + + if (__initialized) + return; + + __initialized = 1; + +#if !defined(__ARM_EABI__) + if (register_frame_info) + register_frame_info(__EH_FRAME_LIST__, &dwarf_eh_object); +#endif + + if (Jv_RegisterClasses && __JCR_LIST__[0] != 0) + Jv_RegisterClasses(__JCR_LIST__); + +#if !defined(HAVE_INITFINI_ARRAY) + for (const fptr_t *p = __CTOR_LIST_END__; p > __CTOR_LIST__ + 1; ) { + (*(*--p))(); + } +#endif +} + +#if !defined(__ARM_EABI__) || defined(SHARED) +#if !defined(HAVE_INITFINI_ARRAY) +__dso_hidden const fptr_t __DTOR_LIST__[] __section(".dtors") = { + (fptr_t) -1, +}; +__dso_hidden extern const fptr_t __DTOR_LIST_END__[]; +#endif + +static void __do_global_dtors_aux(void) __used; + +static void __section(".text.exit") +__do_global_dtors_aux(void) +{ + static unsigned char __finished; + + if (__finished) + return; + + __finished = 1; + +#ifdef SHARED + if (cxa_finalize) + (*cxa_finalize)(__dso_handle); +#endif + +#if !defined(HAVE_INITFINI_ARRAY) + for (const fptr_t *p = __DTOR_LIST__ + 1; p < __DTOR_LIST_END__; ) { + (*(*p++))(); + } +#endif + +#if !defined(__ARM_EABI__) + if (deregister_frame_info) + deregister_frame_info(__EH_FRAME_LIST__); +#endif +} +#endif /* !__ARM_EABI__ || SHARED */ diff --git a/lib/csu/common/sysident.S b/lib/csu/common/sysident.S index bb83367fa..27e9d46b6 100644 --- a/lib/csu/common/sysident.S +++ b/lib/csu/common/sysident.S @@ -1,4 +1,4 @@ -/* $NetBSD: sysident.S,v 1.1 2010/08/07 18:01:33 joerg Exp $ */ +/* $NetBSD: sysident.S,v 1.2 2013/09/10 16:45:33 matt Exp $ */ /* * Copyright (c) 1997 Christopher G. Demetriou @@ -58,25 +58,41 @@ #include "sysident_assym.h" -#ifdef __minix - .section .rodata - .ascii "$MINIX$\0" +#if defined(__minix) + .section ".note.minix.ident", "a" + .p2align 2 + .long ELF_NOTE_MINIX_NAMESZ + .long ELF_NOTE_MINIX_DESCSZ + .long ELF_NOTE_TYPE_MINIX_TAG + .ascii "Minix\0\0\0" /* ELF_NOTE_NETBSD_NAME */ + .long 300300000 /* Minix versiont as in "%d%03d%03d", MAJ-MIN-TEENY */ #else .section ".note.netbsd.ident", "a" - .align 4 + .p2align 2 .long ELF_NOTE_NETBSD_NAMESZ .long ELF_NOTE_NETBSD_DESCSZ .long ELF_NOTE_TYPE_NETBSD_TAG .ascii "NetBSD\0\0" /* ELF_NOTE_NETBSD_NAME */ .long __NetBSD_Version__ +#endif /* defined(__minix) */ .section ".note.netbsd.pax", "a" - .align 4 + .p2align 2 .long ELF_NOTE_PAX_NAMESZ .long ELF_NOTE_PAX_DESCSZ .long ELF_NOTE_TYPE_PAX_TAG .ascii "PaX\0" /* ELF_NOTE_PAX_NAME */ .long 0 + +#ifdef ELF_NOTE_MARCH_DESC + .section ".note.netbsd.march", "a" + .p2align 2 + + .long ELF_NOTE_MARCH_NAMESZ + .long ELF_NOTE_MARCH_DESCSZ + .long ELF_NOTE_TYPE_MARCH_TAG + .ascii "NetBSD\0\0" + .asciz ELF_NOTE_MARCH_DESC #endif diff --git a/lib/csu/common/sysident_assym.cf b/lib/csu/common/sysident_assym.cf index 6a8d83d80..3dc1cec91 100644 --- a/lib/csu/common/sysident_assym.cf +++ b/lib/csu/common/sysident_assym.cf @@ -10,3 +10,18 @@ define ELF_NOTE_PAX_NAMESZ ELF_NOTE_PAX_NAMESZ define ELF_NOTE_PAX_DESCSZ ELF_NOTE_PAX_DESCSZ define ELF_NOTE_TYPE_PAX_TAG ELF_NOTE_TYPE_PAX_TAG #define ELF_NOTE_PAX_NAME ELF_NOTE_PAX_NAME + +ifdef ELF_NOTE_MARCH_DESC +define ELF_NOTE_MARCH_NAMESZ ELF_NOTE_MARCH_NAMESZ +define ELF_NOTE_MARCH_DESCSZ sizeof(ELF_NOTE_MARCH_DESC) +define ELF_NOTE_TYPE_MARCH_TAG ELF_NOTE_TYPE_MARCH_TAG +#define ELF_NOTE_MARCH_NAME ELF_NOTE_MARCH_NAME +#define ELF_NOTE_MARCH_DESC ELF_NOTE_MARCH_DESC +endif + +define ELF_NOTE_MCMODEL_NAMESZ ELF_NOTE_MCMODEL_NAMESZ +define ELF_NOTE_TYPE_MCMODEL_TAG ELF_NOTE_TYPE_MCMODEL_TAG + +define ELF_NOTE_MINIX_NAMESZ ELF_NOTE_MINIX_NAMESZ +define ELF_NOTE_MINIX_DESCSZ ELF_NOTE_MINIX_DESCSZ +define ELF_NOTE_TYPE_MINIX_TAG ELF_NOTE_TYPE_MINIX_TAG diff --git a/lib/csu/common_elf/common.h b/lib/csu/common_elf/common.h index 8fd1e04a1..6d9456867 100644 --- a/lib/csu/common_elf/common.h +++ b/lib/csu/common_elf/common.h @@ -36,9 +36,9 @@ #include #include -#ifndef __minix +#if !defined(__minix) #include -#endif +#endif /* !defined(__minix) */ #include #ifdef DYNAMIC diff --git a/lib/csu/hppa/Makefile b/lib/csu/hppa/Makefile deleted file mode 100644 index 533cca54d..000000000 --- a/lib/csu/hppa/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -# $NetBSD: Makefile,v 1.3 2006/05/19 19:11:12 christos Exp $ -CPPFLAGS+= -I${.CURDIR} - -.include "${.CURDIR}/../common_elf/Makefile.inc" diff --git a/lib/csu/hppa/crt0.c b/lib/csu/hppa/crt0.c deleted file mode 100644 index cee69a2ff..000000000 --- a/lib/csu/hppa/crt0.c +++ /dev/null @@ -1,139 +0,0 @@ -/* $NetBSD: crt0.c,v 1.10 2011/03/07 05:09:10 joerg Exp $ */ - -/* - * Copyright (c) 2002 Matt Fredette - * Copyright (c) 1999 Klaus Klein - * Copyright (c) 1995 Christopher G. Demetriou - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the - * NetBSD Project. See http://www.NetBSD.org/ for - * information about NetBSD. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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 "common.h" - -static void ___start(struct ps_strings *, - void (*cleanup)(void), const Obj_Entry *, int) -#ifdef __GNUC__ - __attribute__((__used__)) -#endif - ; - -__asm("\n" -" .text \n" -" .align 4 \n" -" .globl _start \n" -" .globl __start \n" -" .type _start,@function \n" -" .type __start,@function \n" -"_start: \n" -"__start: \n" -" .import _GLOBAL_OFFSET_TABLE_ \n" -"\n" -" bl L$lpc, %r27 \n" -" depi 0, 31, 2, %r27 \n" -"L$lpc: addil L'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 8), %r27 \n" -" ldo R'_GLOBAL_OFFSET_TABLE_ - ($PIC_pcrel$0 - 12)(%r1),%r27 \n" -" copy %r27, %r19 \n" -" b ___start \n" -" copy %r27, %arg3 \n"); - -static void -___start(struct ps_strings *ps_strings, - void (*cleanup)(void), /* from shared loader */ - const Obj_Entry *obj, /* from shared loader */ - int dp) -{ - int argc; - char **argv; - int fini_plabel[2]; - - argc = ps_strings->ps_nargvstr; - argv = ps_strings->ps_argvstr; - environ = ps_strings->ps_envstr; - - if ((__progname = argv[0]) != NULL) { /* NULL ptr if argc = 0 */ - if ((__progname = _strrchr(__progname, '/')) == NULL) - __progname = argv[0]; - else - __progname++; - } - - if (ps_strings != (struct ps_strings *)0) - __ps_strings = ps_strings; - -#ifdef DYNAMIC - if (&rtld_DYNAMIC != NULL) - _rtld_setup(cleanup, obj); -#endif - - _libc_init(); - -#ifdef MCRT0 - atexit(_mcleanup); - monstartup((u_long)&_eprol, (u_long)&_etext); -#endif - - /* - * Since crt0.o, crtbegin.o, and crtend.o are always - * compiled PIC, they must have %r19 set correctly on - * entry to any function they contain. However, when - * a program is linked statically, the linker does - * not fill a PLABEL relocation with a pointer to a - * true PLABEL, it just fills it with the offset of the - * function. This shows the linker's assumption that - * when linking statically, *all* of the code has *not* - * been compiled PIC. I guess to assume otherwise - * would be a performance hit, as you would end up - * with unnecessary PLABELs for function pointers. - * - * But here, passing the address of the PIC _fini to - * atexit, we must make sure that we pass a PLABEL. - */ - fini_plabel[0] = (int)_fini; - if (fini_plabel[0] & 2) - /* _fini is already a PLABEL. */ - atexit(_fini); - else { - fini_plabel[1] = dp; - atexit((void (*)(void))(((int)fini_plabel) | 2)); - } - _init(); - - exit(main(argc, argv, environ)); -} - -/* - * NOTE: Leave the RCS ID _after_ __start(), in case it gets placed in .text. - */ -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: crt0.c,v 1.10 2011/03/07 05:09:10 joerg Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include "common.c" diff --git a/lib/libaudiodriver/Makefile b/lib/libaudiodriver/Makefile index 3466d2cb3..eb2319972 100644 --- a/lib/libaudiodriver/Makefile +++ b/lib/libaudiodriver/Makefile @@ -1,4 +1,6 @@ # Makefile for the common audio framework +NOGCCERROR=yes +NOCLANGERROR=yes LIB= audiodriver SRCS= audio_fw.c liveupdate.c diff --git a/lib/libbdev/Makefile b/lib/libbdev/Makefile index 9a8a3e3b9..3be2dad68 100644 --- a/lib/libbdev/Makefile +++ b/lib/libbdev/Makefile @@ -1,3 +1,6 @@ +NOGCCERROR=yes +NOCLANGERROR=yes + # Makefile for libbdev .include diff --git a/lib/libblockdriver/Makefile b/lib/libblockdriver/Makefile index 273201a0d..c30150399 100644 --- a/lib/libblockdriver/Makefile +++ b/lib/libblockdriver/Makefile @@ -1,3 +1,6 @@ +NOGCCERROR=yes +NOCLANGERROR=yes + # Makefile for libblockdriver .include diff --git a/lib/libbz2/Makefile b/lib/libbz2/Makefile index 82258e626..d81368eea 100644 --- a/lib/libbz2/Makefile +++ b/lib/libbz2/Makefile @@ -1,11 +1,6 @@ # $NetBSD: Makefile,v 1.17 2012/05/07 08:51:47 wiz Exp $ -.if defined(__MINIX) -# ssp-buffer-size=0, __SSP_FORTIFY_LEVEL=0 -USE_FORT=no -.else USE_FORT?= yes # data driven bugs? -.endif NOMAN= # defined diff --git a/lib/libbz2/shlib_version b/lib/libbz2/shlib_version index 97c9f92d6..45ca00de4 100644 --- a/lib/libbz2/shlib_version +++ b/lib/libbz2/shlib_version @@ -1,2 +1,5 @@ -major=0 -minor=0 +# $NetBSD: shlib_version,v 1.4 2008/03/19 17:10:52 bjs Exp $ +# Remember to update distrib/sets/lists/base/shl.* when changing +# +major=1 +minor=1 diff --git a/lib/libc/Makefile b/lib/libc/Makefile index 58466160e..f08aa8660 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.149 2012/01/20 16:31:29 joerg Exp $ +# $NetBSD: Makefile,v 1.160 2013/10/14 16:00:17 joerg Exp $ # @(#)Makefile 8.2 (Berkeley) 2/3/94 # # All library objects contain sccsid strings by default; they may be @@ -19,6 +19,8 @@ .include "Makefile.inc" +LIBC_MACHINE_ARCH?= ${MACHINE_ARCH} # for MKCOMPAT + LIB= c CPPFLAGS+= -I${.CURDIR}/include -I${.CURDIR} @@ -35,22 +37,24 @@ CLEANFILES+= assym.h assym.h.tmp assym.h: ${ARCHDIR}/genassym.cf ${_MKTARGET_CREATE} - ${TOOL_GENASSYM} -- ${CC} ${CFLAGS} \ + ${TOOL_GENASSYM} -- ${CC} ${CFLAGS:N-Wa,--fatal-warnings} \ ${CPPFLAGS} ${CPPFLAGS.assym.h} ${PROF} \ < ${ARCHDIR}/genassym.cf > assym.h.tmp && \ mv -f assym.h.tmp assym.h .endif # The following controls how to build compatibility code for old NetBSD -# binaries. If BUILDCOLD is yes, then we build a separate library; otherwise +# binaries. If BUILD_LEGACY is yes, then we build a separate library; otherwise # we include the code in libc. -BUILDCOLD?= no -.if "${BUILDCOLD}" == "yes" +BUILD_LEGACY?= no +.if "${BUILD_LEGACY}" == "yes" SUBDIR=compat .include .else COMPATDIR=${.CURDIR}/compat .include "${.CURDIR}/compat/Makefile.inc" +# Marker for compat code that can't be easily isolated +CPPFLAGS+= -D__BUILD_LEGACY .endif .if defined(__MINIX) @@ -64,6 +68,9 @@ SUBDIR+= pkgconfig .include "${.CURDIR}/db/Makefile.inc" .include "${.CURDIR}/citrus/Makefile.inc" .include "${.CURDIR}/compat-43/Makefile.inc" +.if ${HAVE_LIBGCC} == "no" +.include "${.CURDIR}/compiler_rt/Makefile.inc" +.endif .include "${.CURDIR}/dlfcn/Makefile.inc" .include "${.CURDIR}/gdtoa/Makefile.inc" .include "${.CURDIR}/gen/Makefile.inc" @@ -109,6 +116,9 @@ SUBDIR+= pkgconfig .include "${.CURDIR}/tls/Makefile.inc" .endif .include "${.CURDIR}/sys/Makefile.inc" +.if ${HAVE_LIBGCC} == "no" +.include "${NETBSDSRCDIR}/sys/lib/libunwind/Makefile.inc" +.endif .include "${.CURDIR}/uuid/Makefile.inc" .if (${MKYP} != "no") .include "${.CURDIR}/yp/Makefile.inc" @@ -167,3 +177,6 @@ CSHLIBFLAGS+= -D_I18N_DYNAMIC # force the dynamic linker to initialize libc first SHLIB_SHFLAGS+= -Wl,-z,initfirst +.if ${HAVE_LIBGCC} == "no" +SHLIB_SHFLAGS+= -Wl,-z,defs +.endif diff --git a/lib/libc/Makefile.inc b/lib/libc/Makefile.inc index b5354c484..7de0e3522 100644 --- a/lib/libc/Makefile.inc +++ b/lib/libc/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.14 2012/03/21 14:52:40 christos Exp $ +# $NetBSD: Makefile.inc,v 1.16 2013/09/19 21:18:17 christos Exp $ # @(#)Makefile 8.2 (Berkeley) 2/3/94 # # All library objects contain sccsid strings by default; they may be @@ -38,9 +38,10 @@ USE_SHLIBDIR= yes WARNS=5 .if defined(__MINIX) CPPFLAGS+= -D_LIBC +CPPFLAGS+= -DMLIBDIR=\"${MLIBDIR}\" .else CPPFLAGS+= -D_LIBC -DLIBC_SCCS -DSYSLIBC_SCCS -D_REENTRANT -CPPFLAGS+= -D_DIAGNOSTIC +CPPFLAGS+= -D_DIAGNOSTIC -DMLIBDIR=\"${MLIBDIR}\" .endif .if (${USE_HESIOD} != "no") @@ -58,7 +59,7 @@ CPPFLAGS+= -DYP .endif # Set lint to exit on warnings -LINTFLAGS+= -w +#LINTFLAGS+= -w # ignore 'empty translation unit' warnings. LINTFLAGS+= -X 272 diff --git a/lib/libc/arch/alpha/gen/__longjmp14.c b/lib/libc/arch/alpha/gen/__longjmp14.c index af70b735e..b641a0769 100644 --- a/lib/libc/arch/alpha/gen/__longjmp14.c +++ b/lib/libc/arch/alpha/gen/__longjmp14.c @@ -1,4 +1,4 @@ -/* $NetBSD: __longjmp14.c,v 1.5 2008/04/28 20:22:55 martin Exp $ */ +/* $NetBSD: __longjmp14.c,v 1.7 2013/03/13 08:05:46 martin Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -74,6 +74,7 @@ __longjmp14(jmp_buf env, int val) uc.uc_mcontext.__gregs[_REG_S5] = sc->sc_regs[R_S5]; uc.uc_mcontext.__gregs[_REG_S6] = sc->sc_regs[R_S6]; uc.uc_mcontext.__gregs[_REG_RA] = sc->sc_regs[R_RA]; + uc.uc_mcontext.__gregs[_REG_GP] = sc->sc_regs[R_GP]; uc.uc_mcontext.__gregs[_REG_SP] = sc->sc_sp; uc.uc_mcontext.__gregs[_REG_PC] = sc->sc_pc; uc.uc_mcontext.__gregs[_REG_PS] = diff --git a/lib/libc/arch/alpha/gen/__setjmp14.S b/lib/libc/arch/alpha/gen/__setjmp14.S index 062935de7..9576b3ede 100644 --- a/lib/libc/arch/alpha/gen/__setjmp14.S +++ b/lib/libc/arch/alpha/gen/__setjmp14.S @@ -1,4 +1,4 @@ -/* $NetBSD: __setjmp14.S,v 1.5 2011/06/12 05:44:36 matt Exp $ */ +/* $NetBSD: __setjmp14.S,v 1.6 2013/03/12 19:38:20 martin Exp $ */ /* * Copyright (c) 1994, 1995 Carnegie-Mellon University. @@ -55,6 +55,7 @@ LEAF(__setjmp14, 1) stq s6, (SC_REGS+_REG_S6)(a0) stq ra, (SC_REGS+_REG_RA)(a0) stq sp, (SC_REGS+_REG_SP)(a0) + stq gp, (SC_REGS+_REG_GP)(a0) /* * get signal information diff --git a/lib/libc/arch/alpha/gen/fpsetmask.c b/lib/libc/arch/alpha/gen/fpsetmask.c index 55d6dc119..8ceec5fe4 100644 --- a/lib/libc/arch/alpha/gen/fpsetmask.c +++ b/lib/libc/arch/alpha/gen/fpsetmask.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetmask.c,v 1.4 2005/06/12 05:21:25 lukem Exp $ */ +/* $NetBSD: fpsetmask.c,v 1.5 2013/11/02 23:54:04 christos Exp $ */ /* * Copyright (c) 1995 Ross Harvey @@ -33,7 +33,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetmask.c,v 1.4 2005/06/12 05:21:25 lukem Exp $"); +__RCSID("$NetBSD: fpsetmask.c,v 1.5 2013/11/02 23:54:04 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -46,8 +46,7 @@ __weak_alias(fpsetmask,_fpsetmask) #endif fp_except -fpsetmask(mask) - fp_except mask; +fpsetmask(fp_except mask) { struct alpha_fp_except_args a; diff --git a/lib/libc/arch/alpha/gen/fpsetsticky.c b/lib/libc/arch/alpha/gen/fpsetsticky.c index 830683474..8f3b82bdb 100644 --- a/lib/libc/arch/alpha/gen/fpsetsticky.c +++ b/lib/libc/arch/alpha/gen/fpsetsticky.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetsticky.c,v 1.4 2005/06/12 05:21:25 lukem Exp $ */ +/* $NetBSD: fpsetsticky.c,v 1.5 2013/11/02 23:54:04 christos Exp $ */ /* * Copyright (c) 1999 Ross Harvey @@ -33,7 +33,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetsticky.c,v 1.4 2005/06/12 05:21:25 lukem Exp $"); +__RCSID("$NetBSD: fpsetsticky.c,v 1.5 2013/11/02 23:54:04 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -46,8 +46,7 @@ __weak_alias(fpsetsticky,_fpsetsticky) #endif fp_except -fpsetsticky(sticky) - fp_except sticky; +fpsetsticky(fp_except sticky) { struct alpha_fp_except_args a; diff --git a/lib/libc/arch/arm/Makefile.inc b/lib/libc/arch/arm/Makefile.inc index 679031c71..bef93afc4 100644 --- a/lib/libc/arch/arm/Makefile.inc +++ b/lib/libc/arch/arm/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.16 2012/09/27 11:20:20 skrll Exp $ +# $NetBSD: Makefile.inc,v 1.25 2013/09/03 00:30:19 matt Exp $ .include @@ -6,23 +6,36 @@ SRCS+= __aeabi_read_tp.S __sigaction14_sigtramp.c __sigtramp2.S .endif -CPPFLAGS += -I. -CPPFLAGS += -DSOFTFLOAT +.if empty(LIBC_MACHINE_ARCH:Mearmv7*) +AFLAGS+= -marm +.endif -.if ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmeb" || defined(__MINIX) +CPPFLAGS += -I. + +.if !empty(LIBC_MACHINE_ARCH:Mearm*) SRCS+= __aeabi_ldivmod.S __aeabi_uldivmod.S SRCS+= __aeabi_lcmp.c __aeabi_ulcmp.c SRCS+= fixunsgen_ieee754.c fixunssfsi_ieee754.c SRCS+= fixunsgen64_ieee754.c fixunsdfsi_ieee754.c +SRCS+= arm_initfini.c .endif +.if ${MKSOFTFLOAT} != "no" +CPPFLAGS += -DSOFTFLOAT + # for earm, use the 64-bit softfloat -.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "armeb" +.if ${LIBC_MACHINE_ARCH} == "arm" || ${LIBC_MACHINE_ARCH} == "armeb" SOFTFLOAT_BITS=32 +#SRCS+= floatunsidf_ieee754.c floatunsisf_ieee754.c .endif -.if defined(__MINIX) -.include "${LIBCDIR}/softfloat/Makefile.inc" -.else .include +.else +.PATH : ${ARCHDIR}/hardfloat +SRCS.hardfloat+= fpgetround.c fpgetsticky.S fpgetmask.S +SRCS.hardfloat+= fpsetround.c fpsetmask.S fpsetsticky.S +.for f in ${SRCS.hardfloat} +CPPFLAGS.${f} += -mfpu=vfp +.endfor +SRCS+= ${SRCS.hardfloat} .endif diff --git a/lib/libc/arch/arm/SYS.h b/lib/libc/arch/arm/SYS.h index d4f2e5d7c..528988ba8 100644 --- a/lib/libc/arch/arm/SYS.h +++ b/lib/libc/arch/arm/SYS.h @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.10 2011/01/14 06:12:16 matt Exp $ */ +/* $NetBSD: SYS.h,v 1.15 2013/08/19 22:13:34 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -34,31 +34,63 @@ * from: @(#)SYS.h 5.5 (Berkeley) 5/7/91 */ +#define _TEXT_SECTION .section .text.hot, "ax" + #include #include #include -#ifdef __STDC__ -#define SYSTRAP(x) swi SWI_OS_NETBSD | SYS_ ## x -#else -#define SYSTRAP(x) swi SWI_OS_NETBSD | SYS_/**/x +#ifndef __STDC__ +#error __STDC__ not defined #endif -#ifdef __ELF__ +#if !defined(__thumb__) +#define SYSTRAP(x) svc #SWI_OS_NETBSD | SYS_ ## x +#else +.macro emitsvc x + mov ip, r0 +.ifeq \x / 256 + movs r0, #\x +.else +#if defined(_ARM_ARCH_7) + movw r0, #\x +#else +.ifeq (\x & 3) + movs r0, #(\x / 4) + lsls r0, r0, #3 +.else +.ifeq (\x & 1) + movs r0, #(\x / 2) + lsls r0, r0, #1 +.else + movs r0, #(\x / 256) + lsls r0, r0, #8 + adds r0, r0, #(\x & 255) +.endif +.endif +#endif /* !_ARM_ARCH_7 */ +.endif + svc #255 +.endm +#define SYSTRAP(x) emitsvc SYS_ ## x +#endif /* __thumb__ */ + #define CERROR _C_LABEL(__cerror) #define CURBRK _C_LABEL(__curbrk) -#else -#define CERROR _ASM_LABEL(cerror) -#define CURBRK _ASM_LABEL(curbrk) -#endif #define _SYSCALL_NOERROR(x,y) \ ENTRY(x); \ SYSTRAP(y) +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) +#define _INVOKE_CERROR() bcs CERROR +#else +#define _INVOKE_CERROR() \ + bcc 86f; push {r3,lr}; bl CERROR; pop {r3,pc}; 86: +#endif #define _SYSCALL(x, y) \ _SYSCALL_NOERROR(x,y); \ - bcs CERROR + _INVOKE_CERROR() #define SYSCALL_NOERROR(x) \ _SYSCALL_NOERROR(x,x) @@ -69,11 +101,13 @@ #define PSEUDO_NOERROR(x,y) \ _SYSCALL_NOERROR(x,y); \ - RET + RET; \ + END(x) #define PSEUDO(x,y) \ _SYSCALL(x,y); \ - RET + RET; \ + END(x) #define RSYSCALL_NOERROR(x) \ @@ -91,4 +125,5 @@ PSEUDO(weak,weak) #endif + .hidden CERROR .globl CERROR diff --git a/lib/libc/arch/arm/gen/Makefile.inc b/lib/libc/arch/arm/gen/Makefile.inc index b5fd2b8f5..7fa9347ae 100644 --- a/lib/libc/arch/arm/gen/Makefile.inc +++ b/lib/libc/arch/arm/gen/Makefile.inc @@ -1,7 +1,9 @@ -# $NetBSD: Makefile.inc,v 1.19 2012/10/10 02:15:03 christos Exp $ +# $NetBSD: Makefile.inc,v 1.25 2013/08/21 03:09:39 matt Exp $ -SRCS+= alloca.S byte_swap_2.S byte_swap_4.S bswap64.c divsi3.S \ - fabs.c flt_rounds.c modsi3.S umodsi3.S +SRCS+= alloca.S byte_swap_2.S byte_swap_4.S bswap64.c divide.S divsi3.S \ + fabs.c flt_rounds.c udivsi3.S + +CPUFLAGS.divide.S+= -marm # Common ieee754 constants and functions SRCS+= infinityf_ieee754.c infinity_ieee754.c infinityl_dbl_ieee754.c @@ -11,6 +13,13 @@ SRCS+= isinff_ieee754.c isinfd_ieee754.c SRCS+= isnanf_ieee754.c isnand_ieee754.c SRCS+= signbitf_ieee754.c signbitd_ieee754.c +.if !empty(LIBC_MACHINE_ARCH:Mearm*) +SRCS+= __aeabi_fcmpun.c __aeabi_dcmpun.c +SRCS+= __aeabi_idiv0.c __aeabi_ldiv0.c +.else +SRCS+= modsi3.S umodsi3.S +.endif + SRCS+= nanf.c SRCS+= setjmp.S diff --git a/lib/libc/arch/arm/gen/__aeabi_dcmpun.c b/lib/libc/arch/arm/gen/__aeabi_dcmpun.c new file mode 100644 index 000000000..43354be19 --- /dev/null +++ b/lib/libc/arch/arm/gen/__aeabi_dcmpun.c @@ -0,0 +1,54 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmpun.c,v 1.1 2013/01/26 07:04:22 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include +#include + +#include + +/* + * result (1, 0) denotes (?, <=>) [2], use for C99 isunordered() + */ + +int +__aeabi_dcmpun(double x, double y) +{ + const union ieee_double_u ux = { .dblu_d = x }; + const union ieee_double_u uy = { .dblu_d = y }; + + return (ux.dblu_dbl.dbl_exp == DBL_EXP_INFNAN + && (ux.dblu_dbl.dbl_frach|ux.dblu_dbl.dbl_fracl) != 0) + || (uy.dblu_dbl.dbl_exp == DBL_EXP_INFNAN + && (uy.dblu_dbl.dbl_frach|uy.dblu_dbl.dbl_fracl) != 0); +} diff --git a/lib/libc/arch/arm/gen/__aeabi_fcmpun.c b/lib/libc/arch/arm/gen/__aeabi_fcmpun.c new file mode 100644 index 000000000..771bb4871 --- /dev/null +++ b/lib/libc/arch/arm/gen/__aeabi_fcmpun.c @@ -0,0 +1,54 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmpun.c,v 1.1 2013/01/26 07:04:22 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include +#include + +#include + +/* + * result (1, 0) denotes (?, <=>) [2], use for C99 isunordered() + */ + +int +__aeabi_fcmpun(float x, float y) +{ + const union ieee_single_u ux = { .sngu_f = x }; + const union ieee_single_u uy = { .sngu_f = y }; + + return (ux.sngu_sng.sng_exp == SNG_EXP_INFNAN + && ux.sngu_sng.sng_frac != 0) + || (uy.sngu_sng.sng_exp == SNG_EXP_INFNAN + && uy.sngu_sng.sng_frac != 0); +} diff --git a/lib/libc/arch/arm/gen/_setjmp.S b/lib/libc/arch/arm/gen/_setjmp.S index f6debae3d..37a968375 100644 --- a/lib/libc/arch/arm/gen/_setjmp.S +++ b/lib/libc/arch/arm/gen/_setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: _setjmp.S,v 1.7 2012/08/01 06:02:13 matt Exp $ */ +/* $NetBSD: _setjmp.S,v 1.16 2013/11/30 20:20:42 joerg Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -32,6 +32,14 @@ * SUCH DAMAGE. */ +#if !defined(__SOFTFP__) && !defined(__VFP_FP__) && !defined(__ARM_PCS) +#error FPA is not supported anymore +#endif + +#if defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) + .fpu vfp +#endif + #include #include @@ -45,65 +53,142 @@ * The previous signal state is NOT restored. * * Note: r0 is the return value - * r1-r3 are scratch registers in functions + * r1-r3,ip are scratch registers in functions */ ENTRY(_setjmp) ldr r1, .L_setjmp_magic - str r1, [r0], #4 -#ifdef SOFTFLOAT - add r0, r0, #52 -#elif defined(__VFP_FP__) -#error _setjmp VFP support missing -#else - /* Store fp registers */ - sfm f4, 4, [r0], #48 - /* Store fpsr */ - rfs r1 - str r1, [r0], #0x0004 -#endif /* SOFTFLOAT */ - /* Store integer registers */ - stmia r0, {r4-r14} - mov r0, #0x00000000 +#if defined(__ARM_EABI__) && (!defined(__thumb__) || defined(_ARM_ARCH_T2)) + ldr r2, .Lfpu_present +#ifdef __PIC__ + add r2, r2, pc /* pc = &.LPIC0 */ +#endif + ldr r2, [r2] +.LPIC0: +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, 1f +#else + cmp r2, #0 /* do we have a FPU? */ + beq 1f /* no, don't save VFP registers */ +#endif + + orrs r1, r1, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP) + /* change magic to VFP magic */ + adds r2, r0, #(_JB_REG_D8 * 4) + vstmia r2, {d8-d15} + vmrs r2, fpscr + str r2, [r0, #(_JB_REG_FPSCR * 4)] +1: +#endif /* __ARM_EABI__ && (_ARM_ARCH_T2 || !__thumb__) */ + + str r1, [r0] + + adds r0, r0, #(_JB_REG_R4 * 4) + /* Store integer registers */ +#if !defined(__thumb__) || defined(_ARCH_ARCH_T2) + stmia r0, {r4-r14} +#else + stmia r0!, {r4-r7} + mov r1, r8 + mov r2, r9 + mov r3, r10 + stmia r0!, {r1-r3} + mov r2, r11 + mov r3, r12 + stmia r0!, {r2-r3} + mov r2, sp + mov r3, lr + stmia r0!, {r2-r3} +#endif + + movs r0, #0 RET -.L_setjmp_magic: - .word _JB_MAGIC__SETJMP +#if defined(__ARM_EABI__) && (!defined(__thumb__) || defined(_ARM_ARCH_T2)) + .align 0 +.Lfpu_present: + .word REL_SYM(_libc_arm_fpu_present, .LPIC0) +#endif /* __ARM_EABI__ && (_ARM_ARCH_T2 || !__thumb__) */ +END(_setjmp) ENTRY(_longjmp) - ldr r2, .L_setjmp_magic - ldr r3, [r0], #4 - teq r2, r3 - bne botch - -#ifdef SOFTFLOAT - add r0, r0, #52 -#elif defined(__VFP_FP__) -#error _longjmp VFP support missing + ldr r2, [r0] /* get magic from jmp_buf */ +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + bics r3, r2, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP) + /* ignore VFP-ness of magic */ + ldr ip, .L_setjmp_magic /* load magic */ #else - /* Restore fp registers */ - lfm f4, 4, [r0], #48 - /* Restore fpsr */ - ldr r4, [r0], #0x0004 - wfs r4 -#endif /* SOFTFLOAT */ + ldr r3, .L_setjmp_magic /* load magic */ + mov ip, r3 + movs r3, #(_JB_MAGIC__SETJMP ^ _JB_MAGIC__SETJMP_VFP) + ands r3, r3, r2 + eors r3, r3, r2 /* ignore VFP-ness of magic */ +#endif + cmp ip, r3 /* magic correct? */ + bne botch /* no, botch */ + +#if defined(__ARM_EABI__) && (!defined(__thumb__) || defined(_ARM_ARCH_T2)) + cmp r3, r2 /* did magic change? */ + beq 1f /* no, don't restore VFP */ + adds r3, r0, #(_JB_REG_D8 * 4) + vldmia r3, {d8-d15} + ldr r3, [r0, #(_JB_REG_FPSCR * 4)] + vmsr fpscr, r3 +1: +#endif /* __ARM_EABI__ && (_ARM_ARCH_T2 || !__thumb__) */ + + adds r0, r0, #(_JB_REG_R4 * 4) /* Restore integer registers */ - ldmia r0, {r4-r14} +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + ldmia r0!, {r4-r12} +#else + ldmia r0!, {r4-r7} + ldmia r0!, {r2-r3} + mov r8, r2 + mov r9, r3 + ldmia r0!, {r2-r3} + mov r10, r2 + mov r1, r3 + adds r0, r0, #4 /* skip r12 */ +#endif + ldmia r0!, {r2-r3} /* r2 = sp, r3 = lr */ /* Validate sp and r14 */ - teq sp, #0 - teqne r14, #0 +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, botch +#else + cmp r2, #0 beq botch +#endif + mov sp, r2 + +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r3, botch +#else + cmp r3, #0 + beq botch +#endif + mov lr, r3 /* Set return value */ - mov r0, r1 - teq r0, #0x00000000 - moveq r0, #0x00000001 + movs r0, r1 +#ifdef __thumb__ + bne 1f + movs r0, #1 +1: +#else + moveq r0, #1 +#endif RET /* validation failed, die die die. */ botch: - bl PIC_SYM(_C_LABEL(longjmperror), PLT) - bl PIC_SYM(_C_LABEL(abort), PLT) - b . - 8 /* Cannot get here */ + bl PLT_SYM(_C_LABEL(longjmperror)) + bl PLT_SYM(_C_LABEL(abort)) +1: b 1b /* Cannot get here */ + + .align 0 +.L_setjmp_magic: + .word _JB_MAGIC__SETJMP +END(_longjmp) diff --git a/lib/libc/arch/arm/gen/alloca.S b/lib/libc/arch/arm/gen/alloca.S index 694c2a9c7..65d1cdb69 100644 --- a/lib/libc/arch/arm/gen/alloca.S +++ b/lib/libc/arch/arm/gen/alloca.S @@ -1,4 +1,4 @@ -/* $NetBSD: alloca.S,v 1.4 2004/08/21 11:20:10 rearnsha Exp $ */ +/* $NetBSD: alloca.S,v 1.5 2013/08/17 01:07:45 matt Exp $ */ /* * Copyright (c) 1995 Mark Brinicombe @@ -37,8 +37,17 @@ #include ENTRY(alloca) - add r0, r0, #0x00000007 /* round up to next 8 byte alignment */ - bic r0, r0, #0x00000007 - sub sp, sp, r0 /* Adjust the stack pointer */ - mov r0, sp /* r0 = base of new space */ + adds r0, r0, #7 /* round up to next 8 byte alignment */ +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + bics r0, r0, #7 + sub sp, sp, r0 /* Adjust the stack pointer */ + mov r0, sp /* r0 = base of new space */ +#else + lsrs r0, r0, #3 + lsls r0, r0, #3 + mov r1, sp + subs r0, r1, r0 /* Adjust the stack pointer */ + mov sp, r0 /* r0 = base of new space */ +#endif RET +END(alloca) diff --git a/lib/libc/arch/arm/gen/setjmp.S b/lib/libc/arch/arm/gen/setjmp.S index 3f3750c9c..84a77c134 100644 --- a/lib/libc/arch/arm/gen/setjmp.S +++ b/lib/libc/arch/arm/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.S,v 1.9 2012/08/01 06:02:13 matt Exp $ */ +/* $NetBSD: setjmp.S,v 1.17 2013/11/30 20:20:42 joerg Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -32,6 +32,14 @@ * SUCH DAMAGE. */ +#if !defined(__SOFTFP__) && !defined(__VFP_FP__) && !defined(__ARM_PCS) +#error FPA is not supported anymore +#endif + +#if defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) + .fpu vfp +#endif + #include #include @@ -47,79 +55,174 @@ ENTRY(__setjmp14) /* Get the signal mask. */ - stmfd sp!, {r0-r2, r14} - add r2, r0, #(_JB_SIGMASK * 4) - mov r1, #0x00000000 - mov r0, #0x00000000 - bl PIC_SYM(_C_LABEL(__sigprocmask14), PLT) - ldmfd sp!, {r0-r2, r14} + push {r0-r2, lr} +#if !defined(__thumb__) + adds r2, r0, #(_JB_SIGMASK * 4) +#else + mov r2, r0 + adds r2, r2, #(_JB_SIGMASK * 4) +#endif + movs r1, #0 + movs r0, #0 + bl PLT_SYM(_C_LABEL(__sigprocmask14)) +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + pop {r0-r2, lr} +#else + pop {r0-r3} + mov lr, r3 +#endif ldr r1, .Lsetjmp_magic - str r1, [r0], #4 -#ifdef SOFTFLOAT - add r0, r0, #52 -#elif defined(__VFP_FP__) -#error __setjmp14 VFP support missing +#if defined(__ARM_EABI__) && (!defined(__thumb__) || defined(_ARM_ARCH_T2)) + ldr r2, .Lfpu_present +#ifdef __PIC__ + add r2, r2, pc /* pc = &.LPIC0 */ +#endif + ldr r2, [r2] +.LPIC0: +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, 1f /* don't save if we don't have a FPU */ #else - /* Store fp registers */ - sfm f4, 4, [r0], #48 - /* Store fpsr */ - rfs r1 - str r1, [r0], #0x0004 -#endif /*SOFTFLOAT*/ + cmp r2, #0 /* do we have a FPU? */ + beq 1f /* no, don't save VFP registers */ +#endif + + orrs r1, r1, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) + /* change magic to VFP magic */ + adds r2, r0, #(_JB_REG_D8 * 4) + vstmia r2, {d8-d15} + vmrs r2, fpscr + str r2, [r0, #(_JB_REG_FPSCR * 4)] +1: +#endif /* __ARM_EABI__ && (!__thumb__ || _ARM_ARCH_T2) */ + + str r1, [r0] /* store magic */ + /* Store integer registers */ - stmia r0, {r4-r14} - mov r0, #0x00000000 - RET - -.Lsetjmp_magic: - .word _JB_MAGIC_SETJMP + adds r0, r0, #(_JB_REG_R4 * 4) +#if !defined(__thumb__) + stmia r0!, {r4-lr} +#else + stmia r0!, {r4-r7} + mov r2, r8 + mov r3, r9 + stmia r0!, {r2-r3} + mov r2, r10 + mov r3, r11 + stmia r0!, {r2-r3} + mov r2, sp + mov r3, lr + str r2, [r0, #4] + str r3, [r0, #8] +#endif + movs r0, #0 + RET +#if defined(__ARM_EABI__) && (!defined(__thumb__) || defined(_ARM_ARCH_T2)) + .align 0 +.Lfpu_present: + .word REL_SYM(_libc_arm_fpu_present, .LPIC0) +#endif /* __ARM_EABI__ && (!__thumb__ || _ARM_ARCH_T2) */ +END(__setjmp14) ENTRY(__longjmp14) - ldr r2, .Lsetjmp_magic +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + ldr r2, [r0] + ldr ip, .Lsetjmp_magic + bic r3, r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) +#else + ldr r3, .Lsetjmp_magic + mov ip, r3 ldr r3, [r0] - teq r2, r3 + movs r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) + bics r3, r2 + /* r2 is not the magic but we don't need it since we can't do VFP */ +#endif + cmp r3, ip bne .Lbotch /* Restore the signal mask. */ - stmfd sp!, {r0-r2, r14} - mov r2, #0x00000000 - add r1, r0, #(_JB_SIGMASK * 4) - mov r0, #3 /* SIG_SETMASK */ - bl PIC_SYM(_C_LABEL(__sigprocmask14), PLT) - ldmfd sp!, {r0-r2, r14} - - add r0, r0, #4 -#ifdef SOFTFLOAT - add r0, r0, #52 -#elif defined(__VFP_FP__) -#error __longjmp14 VFP support missing + push {r0-r2, lr} + movs r2, #0 +#if !defined(__thumb__) + adds r1, r0, #(_JB_SIGMASK * 4) #else - /* Restore fp registers */ - lfm f4, 4, [r0], #48 - /* Restore FPSR */ - ldr r4, [r0], #0x0004 - wfs r4 -#endif /* SOFTFLOAT */ - /* Restore integer registers */ - ldmia r0, {r4-r14} + mov r1, r0 + adds r1, r1, #(_JB_SIGMASK * 4) +#endif + movs r0, #3 /* SIG_SETMASK */ + bl PLT_SYM(_C_LABEL(__sigprocmask14)) +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + pop {r0-r2, lr} +#else + pop {r0-r3} + mov lr, r3 +#endif - /* Validate sp and r14 */ - teq sp, #0 - teqne r14, #0 +#if defined(__ARM_EABI__) && (!defined(__thumb__) || defined(_ARM_ARCH_T2)) + tst r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) + /* is this a VFP magic? */ + beq 1f /* no, don't restore VFP */ + adds r2, r0, #(_JB_REG_D8 * 4) + vldmia r2, {d8-d15} + ldr r2, [r0, #(_JB_REG_FPSCR * 4)] + vmsr fpscr, r2 +1: +#endif /* __ARM_EABI__ && (!__thumb__ || _ARM_ARCH_T2) */ + + adds r0, r0, #(_JB_REG_R4 * 4) + /* Restore integer registers */ +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + ldmia r0!, {r4-r12} +#else + ldmia r0!, {r4-r7} + ldmia r0!, {r2-r3} + mov r8, r2 + mov r9, r3 + ldmia r0!, {r2-r3} + mov r10, r2 + mov r11, r3 + adds r0, r0, #4 /* skip ip(r12) */ +#endif + + ldmia r0!, {r2-r3} + + /* Validate sp and lr */ +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r2, .Lbotch +#else + cmp r2, #0 beq .Lbotch +#endif + mov sp, r2 + +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r3, .Lbotch +#else + cmp r3, #0 + beq .Lbotch +#endif + mov lr, r3 /* Set return value */ - - mov r0, r1 - teq r0, #0x00000000 - moveq r0, #0x00000001 + movs r0, r1 +#if !defined(__thumb__) + moveq r0, #1 +#else + bne 1f + movs r0, #1 +1: +#endif RET /* validation failed, die die die. */ .Lbotch: - bl PIC_SYM(_C_LABEL(longjmperror), PLT) - bl PIC_SYM(_C_LABEL(abort), PLT) - b . - 8 /* Cannot get here */ + bl PLT_SYM(_C_LABEL(longjmperror)) + bl PLT_SYM(_C_LABEL(abort)) +1: b 1b /* Cannot get here */ + + .align 0 +.Lsetjmp_magic: + .word _JB_MAGIC_SETJMP +END(__longjmp14) diff --git a/lib/libc/arch/arm/gen/sigsetjmp.S b/lib/libc/arch/arm/gen/sigsetjmp.S index 58afe0b10..94ad813f5 100644 --- a/lib/libc/arch/arm/gen/sigsetjmp.S +++ b/lib/libc/arch/arm/gen/sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: sigsetjmp.S,v 1.5 2005/10/16 17:26:24 christos Exp $ */ +/* $NetBSD: sigsetjmp.S,v 1.8 2013/11/30 20:20:42 joerg Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -46,16 +46,50 @@ */ ENTRY(__sigsetjmp14) - teq r1, #0 - beq PIC_SYM(_C_LABEL(_setjmp), PLT) - b PIC_SYM(_C_LABEL(__setjmp14), PLT) - -.L_setjmp_magic: - .word _JB_MAGIC__SETJMP +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbnz r1, 1f + b PLT_SYM(_C_LABEL(_setjmp)) +1: b PLT_SYM(_C_LABEL(__setjmp14)) +#elif !defined(__thumb__) + cmp r1, #0 + beq PLT_SYM(_C_LABEL(_setjmp)) + b PLT_SYM(_C_LABEL(__setjmp14)) +#else + push {r3, lr} + beq 1f + bl PLT_SYM(_C_LABEL(__setjmp14)) + b 2f +1: bl PLT_SYM(_C_LABEL(_setjmp)) +2: pop {r3, pc} +#endif +END(__sigsetjmp14) ENTRY(__siglongjmp14) - ldr r2, .L_setjmp_magic ldr r3, [r0] - teq r2, r3 - beq PIC_SYM(_C_LABEL(_longjmp), PLT) - b PIC_SYM(_C_LABEL(__longjmp14), PLT) +#if !defined(__thumb__) + bics r3, r3, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) +#else + movs r2, #(_JB_MAGIC_SETJMP ^ _JB_MAGIC_SETJMP_VFP) + bics r3, r3, r2 +#endif + ldr r2, .L_setjmp_magic + cmp r2, r3 +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) +#ifdef __thumb__ + it eq +#endif + beq PLT_SYM(_C_LABEL(_longjmp)) + b PLT_SYM(_C_LABEL(__longjmp14)) +#else + push {r3, lr} + beq 11f + bl PLT_SYM(_C_LABEL(__longjmp14)) + pop {r3, pc} +11: bl PLT_SYM(_C_LABEL(_longjmp)) + pop {r3, pc} +#endif + + .align 0 +.L_setjmp_magic: + .word _JB_MAGIC__SETJMP +END(__siglongjmp14) diff --git a/lib/libc/arch/arm/gen/swapcontext.S b/lib/libc/arch/arm/gen/swapcontext.S index 3a0405168..31289da90 100644 --- a/lib/libc/arch/arm/gen/swapcontext.S +++ b/lib/libc/arch/arm/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.8 2012/09/27 11:20:20 skrll Exp $ */ +/* $NetBSD: swapcontext.S,v 1.14 2013/11/30 20:20:42 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -33,22 +33,63 @@ #include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.8 2012/09/27 11:20:20 skrll Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.14 2013/11/30 20:20:42 joerg Exp $") #endif /* LIBC_SCCS && !lint */ ENTRY(swapcontext) - stmfd sp!, {r0-r1, lr} /* Must save oucp, ucp, lr. */ - sub sp, #4 - bl PIC_SYM(_C_LABEL(_getcontext), PLT) /* getcontext(oucp) */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .fnstart + .cfi_startproc +#endif + push {r0-r2, lr} /* Must save oucp, ucp, lr. */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .save {r0-r2, lr} + .cfi_def_cfa_offset 16 + .cfi_offset 14, -4 + .cfi_offset 2, -8 + .cfi_offset 1, -12 + .cfi_offset 0, -16 +#endif + bl PLT_SYM(_C_LABEL(_getcontext)) /* getcontext(oucp) */ cmp r0, #0 - add sp, #4 - ldmfd sp!, {r0-r1, lr} +#if !defined(__thumb__) + pop {r0-r2, lr} +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_def_cfa_offset 0 +#endif RETc(ne) +#else + pop {r0-r3} + beq 1f +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_def_cfa_offset 0 + .cfi_register 14, 3 +#endif + RETr(r3) +1: +#endif +#if !defined(__thumb__) str sp, [r0, #_UC_REGS_SP] /* Adjust saved SP. */ - str lr, [r0, #_UC_REGS_PC] /* Adjust saved PC. */ + str lr, [r0, #_UC_REGS_PC] /* Adjust saved SP. */ +#else + mov r2, sp + str r2, [r0, #_UC_REGS_SP] /* Adjust saved SP. */ + str r3, [r0, #_UC_REGS_PC] /* Adjust saved PC. */ + mov lr, r3 +#endif #ifdef SOFTFLOAT /* Ahem. */ #endif mov r0, r1 - bl PIC_SYM(_C_LABEL(setcontext), PLT) - RET +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + b PLT_SYM(_C_LABEL(setcontext)) +#else + push {lr} + bl PLT_SYM(_C_LABEL(setcontext)) + pop {pc} +#endif +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_endproc + .fnend +#endif +END(swapcontext) diff --git a/lib/libc/arch/arm/hardfloat/fabs.S b/lib/libc/arch/arm/hardfloat/fabs.S new file mode 100644 index 000000000..132820319 --- /dev/null +++ b/lib/libc/arch/arm/hardfloat/fabs.S @@ -0,0 +1,40 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: fabs.S,v 1.2 2013/11/30 22:39:04 joerg Exp $") + + .fpu vfp + +ENTRY(fabsl) +ENTRY(fabs) + vabs.f64 d0, d0 + RET +END(fabs) diff --git a/lib/libc/arch/arm/hardfloat/fpgetmask.S b/lib/libc/arch/arm/hardfloat/fpgetmask.S index 816aca311..2faa3307d 100644 --- a/lib/libc/arch/arm/hardfloat/fpgetmask.S +++ b/lib/libc/arch/arm/hardfloat/fpgetmask.S @@ -1,9 +1,12 @@ -/* $NetBSD: fpgetmask.S,v 1.5 2012/08/01 06:10:21 matt Exp $ */ +/* $NetBSD: fpgetmask.S,v 1.7 2013/08/02 02:07:00 matt Exp $ */ -/* - * Copyright (c) 1996 Mark Brinicombe +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,28 +15,25 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Brinicombe - * for the NetBSD project. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE 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. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#ifndef __VFP_FP__ +#error FPA is not supported anymore +#endif +#include +#include /* * Return the current FP exception enable mask @@ -41,15 +41,12 @@ #ifdef WEAK_ALIAS WEAK_ALIAS(fpgetmask, _fpgetmask) -ENTRY(_fpgetmask) -#else +#define fpgetmask _fpgetmask +#endif + ENTRY(fpgetmask) -#endif -#ifdef __VFP_FP__ -#error _fpgetmask VFP support missing -#else - rfs r0 - mov r0, r0, lsr #16 - and r0, r0, #0x1f + vmrs r0, fpscr + mov r0, r0, lsr #8 + and r0, r0, #VFP_FPSCR_CSUM RET -#endif +END(fpgetmask) diff --git a/lib/libc/arch/arm/hardfloat/fpgetround.c b/lib/libc/arch/arm/hardfloat/fpgetround.c index d94d5a6cc..70d467a22 100644 --- a/lib/libc/arch/arm/hardfloat/fpgetround.c +++ b/lib/libc/arch/arm/hardfloat/fpgetround.c @@ -1,9 +1,12 @@ -/* $NetBSD: fpgetround.c,v 1.5 2012/06/24 15:26:02 christos Exp $ */ +/* $NetBSD: fpgetround.c,v 1.6 2013/01/11 13:55:26 matt Exp $ */ -/* - * Copyright (c) 1996 Mark Brinicombe +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,28 +15,27 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Brinicombe - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ +#ifndef __VFP_FP__ +#error FPA is not supported anymore +#endif + #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpgetround.c,v 1.5 2012/06/24 15:26:02 christos Exp $"); +__RCSID("$NetBSD: fpgetround.c,v 1.6 2013/01/11 13:55:26 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -41,32 +43,24 @@ __RCSID("$NetBSD: fpgetround.c,v 1.5 2012/06/24 15:26:02 christos Exp $"); #include #include +#include + #ifdef __weak_alias __weak_alias(fpgetround,_fpgetround) #endif /* * Return the current FP rounding mode - * - * ok all we need to do is return the current FP rounding mode - * - * HOWEVER: - * The ARM FPA codes the rounding mode into the actual FP instructions - * so there is no such thing as a global rounding mode. - * The default is round to nearest if rounding is not explicitly specified. - * FP instructions generated by GCC will not explicitly specify a rounding - * mode. - * - * So the best we can do it to return the rounding mode FP instructions - * use if rounding is not specified which is round to nearest. - * - * This could change in the future with new floating point emulators or - * soft float FP libraries. */ fp_rnd fpgetround(void) { - - return(FP_RN); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RN, VFP_FPSCR_RMODE) == FP_RN); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RP, VFP_FPSCR_RMODE) == FP_RP); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RM, VFP_FPSCR_RMODE) == FP_RM); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RZ, VFP_FPSCR_RMODE) == FP_RZ); + uint32_t fpscr; + __asm __volatile("vmrs %0, fpscr" : "=r" (fpscr)); + return __SHIFTOUT(fpscr, VFP_FPSCR_RMODE); } diff --git a/lib/libc/arch/arm/hardfloat/fpgetsticky.S b/lib/libc/arch/arm/hardfloat/fpgetsticky.S index a6debb5bd..d0382e282 100644 --- a/lib/libc/arch/arm/hardfloat/fpgetsticky.S +++ b/lib/libc/arch/arm/hardfloat/fpgetsticky.S @@ -1,9 +1,12 @@ -/* $NetBSD: fpgetsticky.S,v 1.5 2012/08/01 06:10:21 matt Exp $ */ +/* $NetBSD: fpgetsticky.S,v 1.6 2013/01/11 13:55:26 matt Exp $ */ -/* - * Copyright (c) 1996 Mark Brinicombe +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,28 +15,25 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Brinicombe - * for the NetBSD project. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE 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. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ +#ifndef __VFP_FP__ +#error FPA is not supported anymore +#endif -#include +#include +#include /* * Return the current FP cumulative flags @@ -41,14 +41,11 @@ #ifdef WEAK_ALIAS WEAK_ALIAS(fpgetsticky, _fpgetsticky) -ENTRY(_fpgetsticky) -#else +#define fpgetsticky _fpgetsticky +#endif + ENTRY(fpgetsticky) -#endif -#ifdef __VFP_FP__ -#error _fpgetsticky VFP support missing -#else - rfs r0 - and r0, r0, #0x1f + vmrs r0, fpscr + and r0, r0, #VFP_FPSCR_CSUM RET -#endif +END(fpgetsticky) diff --git a/lib/libc/arch/arm/hardfloat/fpsetmask.S b/lib/libc/arch/arm/hardfloat/fpsetmask.S index 53fc6ccf9..325ca3922 100644 --- a/lib/libc/arch/arm/hardfloat/fpsetmask.S +++ b/lib/libc/arch/arm/hardfloat/fpsetmask.S @@ -1,9 +1,12 @@ -/* $NetBSD: fpsetmask.S,v 1.5 2012/08/01 06:10:21 matt Exp $ */ +/* $NetBSD: fpsetmask.S,v 1.6 2013/01/11 13:55:26 matt Exp $ */ -/* - * Copyright (c) 1996 Mark Brinicombe +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,28 +15,26 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Brinicombe - * for the NetBSD project. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE 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. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#ifndef __VFP_FP__ +#error FPA is not supported anymore +#endif + +#include +#include /* * Set the current FP exception enable mask @@ -41,18 +42,17 @@ #ifdef WEAK_ALIAS WEAK_ALIAS(fpsetmask, _fpsetmask) -ENTRY(_fpsetmask) -#else +#define fpsetmask _fpsetmask +#endif + ENTRY(fpsetmask) -#endif -#ifdef __VFP_FP__ -#error _fpsetmask VFP support missing -#else - rfs r1 - bic r1, r1, #0x001f0000 - and r0, r0, #0x0000001f - orr r0, r1, r0, lsl #16 - wfs r0 - mov r0, r1, lsr #16 /* Return old mask */ + and r2, r0, #VFP_FPSCR_CSUM + vmrs r1, fpscr + mov r0, r1, lsr #8 /* Return old mask */ + bic r1, r1, #VFP_FPSCR_ESUM + orr r1, r1, r2, lsl #8 + vmsr fpscr, r1 + mcr p10, 7, r1, c1, c0, 0 + and r0, r0, #VFP_FPSCR_CSUM RET -#endif +END(fpsetmask) diff --git a/lib/libc/arch/arm/hardfloat/fpsetround.c b/lib/libc/arch/arm/hardfloat/fpsetround.c index ffb0a1d3b..cd4f95416 100644 --- a/lib/libc/arch/arm/hardfloat/fpsetround.c +++ b/lib/libc/arch/arm/hardfloat/fpsetround.c @@ -1,9 +1,12 @@ -/* $NetBSD: fpsetround.c,v 1.6 2006/02/25 02:28:55 wiz Exp $ */ +/* $NetBSD: fpsetround.c,v 1.8 2013/02/03 01:50:54 matt Exp $ */ -/* - * Copyright (c) 1996 Mark Brinicombe +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,28 +15,27 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Brinicombe - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ +#ifndef __VFP_FP__ +#error FPA is not supported anymore +#endif + #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetround.c,v 1.6 2006/02/25 02:28:55 wiz Exp $"); +__RCSID("$NetBSD: fpsetround.c,v 1.8 2013/02/03 01:50:54 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -41,30 +43,27 @@ __RCSID("$NetBSD: fpsetround.c,v 1.6 2006/02/25 02:28:55 wiz Exp $"); #include #include +#include + #ifdef __weak_alias __weak_alias(fpsetround,_fpsetround) #endif /* * Return the current FP rounding mode - * - * ok all we need to do is return the current FP rounding mode - * - * HOWEVER: - * The ARM FPA codes the rounding mode into the actual FP instructions - * so there is no such thing as a global rounding mode. - * The default is round to nearest if rounding is not explicitly specified. - * FP instructions generated by GCC will not explicitly specify a rounding - * mode. - * - * All we can do is abort if they ask for anything else. */ fp_rnd -fpsetround(fp_rnd rnd_dir) +fpsetround(fp_rnd new_rnd) { - - if (rnd_dir != FP_RN) - abort(); - return (FP_RN); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RN, VFP_FPSCR_RMODE) == FP_RN); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RP, VFP_FPSCR_RMODE) == FP_RP); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RM, VFP_FPSCR_RMODE) == FP_RM); + __CTASSERT(__SHIFTOUT(VFP_FPSCR_RZ, VFP_FPSCR_RMODE) == FP_RZ); + uint32_t fpscr; + __asm __volatile("vmrs %0, fpscr" : "=r" (fpscr)); + fp_rnd old_rnd = __SHIFTOUT(fpscr, VFP_FPSCR_RMODE); + fpscr ^= __SHIFTIN(new_rnd ^ old_rnd, VFP_FPSCR_RMODE); + __asm __volatile("vmsr fpscr, %0" :: "r" (fpscr)); + return old_rnd; } diff --git a/lib/libc/arch/arm/hardfloat/fpsetsticky.S b/lib/libc/arch/arm/hardfloat/fpsetsticky.S index 4e6aae397..2b4d01c86 100644 --- a/lib/libc/arch/arm/hardfloat/fpsetsticky.S +++ b/lib/libc/arch/arm/hardfloat/fpsetsticky.S @@ -1,9 +1,12 @@ -/* $NetBSD: fpsetsticky.S,v 1.5 2012/08/01 06:10:21 matt Exp $ */ +/* $NetBSD: fpsetsticky.S,v 1.6 2013/01/11 13:55:26 matt Exp $ */ -/* - * Copyright (c) 1996 Mark Brinicombe +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -12,28 +15,26 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Mark Brinicombe - * for the NetBSD project. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. * - * THIS SOFTWARE IS PROVIDED BY THE 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. + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#ifndef __VFP_FP__ +#error FPA is not supported anymore +#endif + +#include +#include /* * Set the current FP cumulative flags @@ -41,18 +42,15 @@ #ifdef WEAK_ALIAS WEAK_ALIAS(fpsetsticky, _fpsetsticky) -ENTRY(_fpsetsticky) -#else +#define fpsetsticky _fpsetsticky +#endif + ENTRY(fpsetsticky) -#endif -#ifdef __VFP_FP__ -#error _fpsetsticky VFP support missing -#else - rfs r1 - bic r1, r1, #0x1f - and r0, r0, #0x1f - orr r0, r1, r0 - wfs r0 - mov r0, r1 /* Return old mask */ + and r1, r0, #VFP_FPSCR_CSUM + vmrs r0, fpscr + bic r2, r0, #VFP_FPSCR_CSUM + orr r1, r1, r2 + vmsr fpscr, r1 + and r0, r0, #VFP_FPSCR_CSUM RET -#endif +END(fpsetsticky) diff --git a/lib/libc/arch/arm/misc/arm_initfini.c b/lib/libc/arch/arm/misc/arm_initfini.c new file mode 100644 index 000000000..b4c19f2ac --- /dev/null +++ b/lib/libc/arch/arm/misc/arm_initfini.c @@ -0,0 +1,72 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +__RCSID("$NetBSD: arm_initfini.c,v 1.7 2013/09/08 13:15:53 matt Exp $"); + +#include "namespace.h" + +/* + * To properly implement setjmp/longjmp for the ARM AAPCS ABI, it has to be + * aware of whether there is a FPU is present or not. Regardless of whether + * the hard-float ABI is being used, setjmp needs to save D8-D15. But it can + * only do this if those instructions won't cause an exception. + */ + +#include +#include + +#include +#include + +__dso_hidden int _libc_arm_fpu_present; +#ifndef __ARM_ARCH_EXT_IDIV__ +__dso_hidden int _libc_arm_hwdiv_present; +#endif +static bool _libc_aapcs_initialized; + +void _libc_aapcs_init(void) __attribute__((__constructor__, __used__)); + +void __section(".text.startup") +_libc_aapcs_init(void) +{ + if (!_libc_aapcs_initialized) { + size_t len = sizeof(_libc_arm_fpu_present); + _libc_aapcs_initialized = true; +#if !defined(__minix) + (void)sysctlbyname("machdep.fpu_present", + &_libc_arm_fpu_present, &len, NULL, 0); +#ifndef __ARM_ARCH_EXT_IDIV__ + (void)sysctlbyname("machdep.hwdiv_present", + &_libc_arm_hwdiv_present, &len, NULL, 0); +#endif +#endif /* !defined(__minix) */ + } +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_dcmpeq.c b/lib/libc/arch/arm/softfloat/__aeabi_dcmpeq.c new file mode 100644 index 000000000..6725c668b --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_dcmpeq.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_dcmpeq.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmpeq.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +int __aeabi_dcmpeq(float64, float64); + +int +__aeabi_dcmpeq(float64 a, float64 b) +{ + + return float64_eq(a, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c b/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c new file mode 100644 index 000000000..01dd38a89 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_dcmpge.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_dcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_dcmpge(float64, float64); + +int +__aeabi_dcmpge(float64 a, float64 b) +{ + + return !float64_lt(a, b) && float64_eq(a, a) && float64_eq(b, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c b/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c new file mode 100644 index 000000000..e1782129c --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_dcmpgt.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_dcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_dcmpgt(float64, float64); + +int +__aeabi_dcmpgt(float64 a, float64 b) +{ + + return !float64_le(a, b) && float64_eq(a, a) && float64_eq(b, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_dcmple.c b/lib/libc/arch/arm/softfloat/__aeabi_dcmple.c new file mode 100644 index 000000000..c8202f870 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_dcmple.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_dcmple.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmple.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_dcmple(float64, float64); + +int +__aeabi_dcmple(float64 a, float64 b) +{ + + return float64_le(a, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_dcmplt.c b/lib/libc/arch/arm/softfloat/__aeabi_dcmplt.c new file mode 100644 index 000000000..99b80d858 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_dcmplt.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_dcmplt.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmplt.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_dcmplt(float64, float64); + +int +__aeabi_dcmplt(float64 a, float64 b) +{ + + return float64_lt(a, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_dcmpun.c b/lib/libc/arch/arm/softfloat/__aeabi_dcmpun.c new file mode 100644 index 000000000..7b13d0106 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_dcmpun.c @@ -0,0 +1,28 @@ +/* $NetBSD: __aeabi_dcmpun.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Richard Earnshaw, 2003. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_dcmpun.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_dcmpun(float64, float64); + +int +__aeabi_dcmpun(float64 a, float64 b) +{ + /* + * The comparison is unordered if either input is a NaN. + * Test for this by comparing each operand with itself. + * We must perform both comparisons to correctly check for + * signalling NaNs. + */ + return !float64_eq(a, a) || !float64_eq(b, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_fcmpeq.c b/lib/libc/arch/arm/softfloat/__aeabi_fcmpeq.c new file mode 100644 index 000000000..02f5f0b69 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_fcmpeq.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_fcmpeq.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmpeq.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +int __aeabi_fcmpeq(float32, float32); + +int +__aeabi_fcmpeq(float32 a, float32 b) +{ + + return float32_eq(a, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c b/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c new file mode 100644 index 000000000..3d52d907d --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_fcmpge.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_fcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmpge.c,v 1.2 2013/04/16 13:38:34 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_fcmpge(float32, float32); + +int +__aeabi_fcmpge(float32 a, float32 b) +{ + + return !float32_lt(a, b) && float32_eq(a, a) && float32_eq(b, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c b/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c new file mode 100644 index 000000000..71c28534e --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_fcmpgt.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_fcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmpgt.c,v 1.2 2013/04/16 13:38:34 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_fcmpgt(float32, float32); + +int +__aeabi_fcmpgt(float32 a, float32 b) +{ + + return !float32_le(a, b) && float32_eq(a, a) && float32_eq(b, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_fcmple.c b/lib/libc/arch/arm/softfloat/__aeabi_fcmple.c new file mode 100644 index 000000000..a51b29118 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_fcmple.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_fcmple.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmple.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_fcmple(float32, float32); + +int +__aeabi_fcmple(float32 a, float32 b) +{ + + return float32_le(a, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_fcmplt.c b/lib/libc/arch/arm/softfloat/__aeabi_fcmplt.c new file mode 100644 index 000000000..c734fe5e3 --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_fcmplt.c @@ -0,0 +1,23 @@ +/* $NetBSD: __aeabi_fcmplt.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Ben Harris, 2000. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmplt.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_fcmplt(float32, float32); + +int +__aeabi_fcmplt(float32 a, float32 b) +{ + + return float32_lt(a, b); +} diff --git a/lib/libc/arch/arm/softfloat/__aeabi_fcmpun.c b/lib/libc/arch/arm/softfloat/__aeabi_fcmpun.c new file mode 100644 index 000000000..7b71b3aab --- /dev/null +++ b/lib/libc/arch/arm/softfloat/__aeabi_fcmpun.c @@ -0,0 +1,28 @@ +/* $NetBSD: __aeabi_fcmpun.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */ + +/* + * Written by Richard Earnshaw, 2003. This file is in the Public Domain. + */ + +#include "softfloat-for-gcc.h" +#include "milieu.h" +#include "softfloat.h" + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: __aeabi_fcmpun.c,v 1.1 2013/04/16 10:37:39 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +int __aeabi_fcmpun(float32, float32); + +int +__aeabi_fcmpun(float32 a, float32 b) +{ + /* + * The comparison is unordered if either input is a NaN. + * Test for this by comparing each operand with itself. + * We must perform both comparisons to correctly check for + * signalling NaNs. + */ + return !float32_eq(a, a) || !float32_eq(b, b); +} diff --git a/lib/libc/arch/arm/softfloat/arm-gcc.h b/lib/libc/arch/arm/softfloat/arm-gcc.h index c92086a79..c52f5b8be 100644 --- a/lib/libc/arch/arm/softfloat/arm-gcc.h +++ b/lib/libc/arch/arm/softfloat/arm-gcc.h @@ -1,4 +1,4 @@ -/* $NetBSD: arm-gcc.h,v 1.3 2005/12/24 21:11:16 perry Exp $ */ +/* $NetBSD: arm-gcc.h,v 1.4 2013/01/26 07:08:14 matt Exp $ */ /* ------------------------------------------------------------------------------- @@ -71,7 +71,7 @@ name for the 64-bit integer type. Some compilers may allow `LIT64' to be defined as the identity macro: `#define LIT64( a ) a'. ------------------------------------------------------------------------------- */ -#define LIT64( a ) a##LL +#define LIT64( a ) a##ULL #endif /* diff --git a/lib/libc/arch/arm/softfloat/softfloat.h b/lib/libc/arch/arm/softfloat/softfloat.h index 07933873d..b45649d43 100644 --- a/lib/libc/arch/arm/softfloat/softfloat.h +++ b/lib/libc/arch/arm/softfloat/softfloat.h @@ -1,4 +1,4 @@ -/* $NetBSD: softfloat.h,v 1.9 2011/07/07 07:14:57 matt Exp $ */ +/* $NetBSD: softfloat.h,v 1.10 2013/04/24 18:04:46 matt Exp $ */ /* This is a derivative work. */ @@ -44,6 +44,7 @@ the `FLOAT128' macro and the quadruple-precision format `float128'. /* #define FLOATX80 */ /* #define FLOAT128 */ +#include #include /* diff --git a/lib/libc/arch/arm/string/Makefile.inc b/lib/libc/arch/arm/string/Makefile.inc index ca9054435..ac3055860 100644 --- a/lib/libc/arch/arm/string/Makefile.inc +++ b/lib/libc/arch/arm/string/Makefile.inc @@ -1,5 +1,29 @@ -# $NetBSD: Makefile.inc,v 1.8 2009/07/30 20:57:15 dsl Exp $ +# $NetBSD: Makefile.inc,v 1.9 2013/08/21 03:05:35 matt Exp $ -SRCS+= memcpy.S bcopy.S memmove.S memset.S bzero.S ffs.S strcmp.S -SRCS+= strncmp.S memcmp.S +SRCS.string+= memcmp.S memcpy.S memmove.S memset.S +SRCS.string+= ffs.S +SRCS.string+= bcopy.S bzero.S +SRCS.string+= strcat.S +SRCS.string+= strcpy.S strlcpy.S strncpy.S +.if empty(LIBC_MACHINE_ARCH:M*v7*) +SRCS.string+= strcmp.S strncmp.S +SRCS.string+= strlen.S strnlen.S +SRCS.string+= strchr.S strrchr.S +.endif +.for f in ${SRCS.string} +CPUFLAGS.${f}+= -marm +.for s in o po pico ln d +${f:.S=.${s}}: ${ARCHDIR}/string/Makefile.inc +.endfor +.endfor + +.if !empty(LIBC_MACHINE_ARCH:M*v7*) +SRCS.string+= strcmp.S strncmp.S +SRCS.string+= strlen.S strnlen.S +SRCS.string+= strchr.S strrchr.S +.endif + +SRCS.string+= strlcat.S + +SRCS+= ${SRCS.string} diff --git a/lib/libc/arch/arm/string/strncat_naive.S b/lib/libc/arch/arm/string/strncat_naive.S new file mode 100644 index 000000000..2d7e8a73e --- /dev/null +++ b/lib/libc/arch/arm/string/strncat_naive.S @@ -0,0 +1,53 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +RCSID("$NetBSD: strncat_naive.S,v 1.1 2013/01/23 05:44:52 matt Exp $") + +/* LINTSTUB: char *strncat(char *, const char *, size_t) */ +ENTRY(strncat) + teq r2, #0 /* count is 0? */ + RETc(eq) /* yes, just return dst */ + mov ip, r0 /* need to preserve r0 */ +1: ldrb r3, [ip], #1 /* load next byte */ + teq r3, #0 /* was it a NUL? */ + bne 1b /* no, get next byte */ + sub ip, ip, #1 /* back up one to the NUL */ +2: subs r2, r2, #1 /* subtract 1 from the count */ + blt 3f /* <0? write terminating NUL */ + ldrb r3, [r1], #1 /* load next byte from append */ + strb r3, [ip], #1 /* store it */ + teq r3, #0 /* was it a NUL? */ + bne 2b /* no, get next byte */ + RET /* return */ +3: mov r3, #0 /* load a NUL */ + strb r3, [ip] /* store it */ + RET /* return */ +END(strncat) diff --git a/lib/libc/arch/arm/sys-minix/__sigreturn.S b/lib/libc/arch/arm/sys-minix/__sigreturn.S index 05d287735..667eb9013 100644 --- a/lib/libc/arch/arm/sys-minix/__sigreturn.S +++ b/lib/libc/arch/arm/sys-minix/__sigreturn.S @@ -3,7 +3,7 @@ /* Both __sigreturn and _sigreturn are needed. */ #include -IMPORT(_sigreturn) +IMPORT(sigreturn) ENTRY(__sigreturn) pop {r0} /* load sigframe.sf_scp into r0 as parameter */ - b _C_LABEL(_sigreturn) /* _sigreturn(struct sigcontext *sf_scpcopy) */ + b _C_LABEL(sigreturn) /* _sigreturn(struct sigcontext *sf_scpcopy) */ diff --git a/lib/libc/arch/arm/sys-minix/ucontext.S b/lib/libc/arch/arm/sys-minix/ucontext.S index c0ec79493..48a29718c 100644 --- a/lib/libc/arch/arm/sys-minix/ucontext.S +++ b/lib/libc/arch/arm/sys-minix/ucontext.S @@ -11,6 +11,7 @@ IMPORT(resumecontext) * Initialise the structure pointed to by ucp to the current user context * of the calling thread. */ ENTRY(getcontext) +ENTRY(_getcontext) /* In case a process does not use the FPU and is neither interested in * saving its signal mask, then we can skip the context switch to * PM and kernel altogether and only save general-purpose registers. */ diff --git a/lib/libc/arch/arm/sys/__aeabi_read_tp.S b/lib/libc/arch/arm/sys/__aeabi_read_tp.S index e43e9e241..725692fdb 100644 --- a/lib/libc/arch/arm/sys/__aeabi_read_tp.S +++ b/lib/libc/arch/arm/sys/__aeabi_read_tp.S @@ -1,13 +1,21 @@ +/* $NetBSD: __aeabi_read_tp.S,v 1.5 2013/08/19 22:10:51 matt Exp $ */ + +#undef __thumb__ #include "SYS.h" -ENTRY(__aeabi_read_tp) - mrc p15, 0, r0, c13, c0, 3 +/* + * Implementations of this function should corrupt only the result register + * (r0) and the non-parameter integer core registers allowed to be corrupted + * by the [AAPCS] (ip, lr, and CPSR). + */ +ARM_ENTRY(__aeabi_read_tp) + mrc p15, 0, r0, c13, c0, 3 #ifndef _ARM_ARCH_6 - cmp r0, #0 /* was it zero? */ + cmp r0, #0 /* was it zero? */ RETc(ne) /* return it's not zero */ - push {r1} /* syscall zeroes r1 */ + mov ip, r1 /* syscall zeroes r1 */ SYSTRAP(_lwp_getprivate) /* can't fail */ - pop {r1} /* restore r1 */ + mov r1, ip /* restore r1 */ #endif RET -_END(__aeabi_read_tp) +END(__aeabi_read_tp) diff --git a/lib/libc/arch/arm/sys/__clone.S b/lib/libc/arch/arm/sys/__clone.S index f5b329a17..df9a6cbfa 100644 --- a/lib/libc/arch/arm/sys/__clone.S +++ b/lib/libc/arch/arm/sys/__clone.S @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.6 2006/04/24 19:00:30 snj Exp $ */ +/* $NetBSD: __clone.S,v 1.9 2013/11/30 20:20:42 joerg Exp $ */ /* * Copyright (c) 2001 Christopher Gilbert @@ -26,9 +26,8 @@ * SUCH DAMAGE. */ -#include -#include #include "SYS.h" +#include #ifdef WEAK_ALIAS WEAK_ALIAS(clone, __clone) @@ -40,54 +39,90 @@ WEAK_ALIAS(clone, __clone) ENTRY(__clone) /* test stack and function are not null */ - teq r0, #0x00 - teqne r1, #0x00 +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbz r0, .Leinval + cbz r1, .Leinval +#elif !defined(__thumb__) + cmp r0, #0x00 + cmpne r1, #0x00 beq .Leinval +#else + cmp r0, #0x00 + beq .Leinval + cmp r1, #0x00 + beq .Leinval +#endif /* place the func and its arg onto the child's stack */ +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) stmfd r1!, {r0, r3} +#else + subs r1, r1, #8 + stmia r1!, {r0, r3} +#endif /* syscall expects (flags, stack) */ mov r0, r2 SYSTRAP(__clone) - bcs PIC_SYM(CERROR, PLT) +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + _INVOKE_CERROR() +#else + bcs .Lcerror +#endif /* * r1 and r0 are the same as from fork: * r1 == 0 in parent process, r1 == 1 in child process. * r0 == pid of child in parent, r0 == pid of parent in child. */ - teq r1, #0x00 - /* if this is the parent then just return the pid */ +#if defined(__thumb__) +#if defined(_ARM_ARCH_T2) + cbz r1, 1f +#else + cmp r1, #0x00 + bne 1f +#endif + RET +1: +#else + cmp r1, #0x00 RETc(eq) +#endif + /* * This is the child * load the function and arg off the stack */ - ldmfd sp!, {r1, r2} - - /* setup return address */ - add lr, pc, #.Lreturnhere - . - 8 + pop {r1, r2} /* place arg in r0 */ mov r0, r2 /* call the function */ -#ifdef _ARM_ARCH_4T - bx r1 +#ifdef _ARM_ARCH_5T + blx r1 #else - mov pc, r1 + /* setup return address */ + mov lr, pc + RETr(r1) #endif - -.Lreturnhere: /* call _exit with the returned value */ - b PIC_SYM(_C_LABEL(_exit), PLT) + bl PLT_SYM(_C_LABEL(_exit)) /* NOTREACHED */ /* error handler if func or stack is NULL */ + .align 0 .Leinval: - mov R0, #EINVAL - b PIC_SYM(CERROR, PLT) + movs r0, #EINVAL +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + b CERROR +#else +.Lcerror: + push {lr} + bl CERROR + pop {pc} +#endif +END(__clone) diff --git a/lib/libc/arch/arm/sys/__sigtramp2.S b/lib/libc/arch/arm/sys/__sigtramp2.S index 4bc72f412..4ee638e35 100755 --- a/lib/libc/arch/arm/sys/__sigtramp2.S +++ b/lib/libc/arch/arm/sys/__sigtramp2.S @@ -1,4 +1,4 @@ -/* $NetBSD: __sigtramp2.S,v 1.2 2008/04/28 20:22:55 martin Exp $ */ +/* $NetBSD: __sigtramp2.S,v 1.3 2013/08/16 23:20:59 matt Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -47,3 +47,4 @@ ENTRY_NP(__sigtramp_siginfo_2) /* If that failed, exit with the error code. */ SYSTRAP(exit) +END(__sigtramp_siginfo_2) diff --git a/lib/libc/arch/arm/sys/__vfork14.S b/lib/libc/arch/arm/sys/__vfork14.S index f2710a99c..2bb1dfca6 100644 --- a/lib/libc/arch/arm/sys/__vfork14.S +++ b/lib/libc/arch/arm/sys/__vfork14.S @@ -1,4 +1,4 @@ -/* $NetBSD: __vfork14.S,v 1.7 2004/08/21 11:30:17 rearnsha Exp $ */ +/* $NetBSD: __vfork14.S,v 1.10 2013/09/03 00:30:19 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -40,14 +40,11 @@ * r1 == 0 in parent process, r1 == 1 in child process. * r0 == pid of child in parent, r0 == pid of parent in child. */ - .text - .align 0 - ENTRY(__vfork14) - mov r2, r14 + mov r2, lr SYSTRAP(__vfork14) - bcs PIC_SYM(CERROR, PLT) - mov r14, r2 - sub r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */ - and r0, r0, r1 /* r0 == 0 if child, else unchanged */ - RET + _INVOKE_CERROR() + subs r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */ + ands r0, r0, r1 /* r0 == 0 if child, else unchanged */ + RETr(r2) +END(__vfork14) diff --git a/lib/libc/arch/arm/sys/brk.S b/lib/libc/arch/arm/sys/brk.S index d5b52eb1c..347c3f7b4 100644 --- a/lib/libc/arch/arm/sys/brk.S +++ b/lib/libc/arch/arm/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.9 2011/05/13 23:14:36 nonaka Exp $ */ +/* $NetBSD: brk.S,v 1.13 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -34,7 +34,7 @@ #include "SYS.h" .globl _C_LABEL(_end) - .globl CURBRK + .globl _C_LABEL(__curbrk) #ifdef WEAK_ALIAS WEAK_ALIAS(brk, _brk) @@ -43,6 +43,7 @@ WEAK_ALIAS(brk, _brk) .data .align 0 .globl _C_LABEL(__minbrk) + .hidden _C_LABEL(__minbrk) .type _C_LABEL(__minbrk),#object _C_LABEL(__minbrk): .word _C_LABEL(_end) @@ -51,15 +52,10 @@ _C_LABEL(__minbrk): * Change the data segment size */ ENTRY(_brk) -#ifdef PIC - /* Setup the GOT */ - ldr r3, .Lgot - add r3, pc, r3 -.L1: - ldr r1, .Lminbrk - ldr r1, [r3, r1] -#else ldr r1, .Lminbrk +#ifdef __PIC__ + adr r3, .Lminbrk + adds r1, r1, r3 #endif /* Get the minimum allowable brk address */ ldr r1, [r1] @@ -69,30 +65,31 @@ ENTRY(_brk) * if the address is below minbrk. */ cmp r0, r1 +#ifdef __thumb__ + bcs 1f + mov r0, r1 +1: +#else movcc r0, r1 +#endif mov r2, r0 SYSTRAP(break) - bcs PIC_SYM(CERROR, PLT) + _INVOKE_CERROR() -#ifdef PIC - ldr r1, .Lcurbrk - ldr r1, [r3, r1] -#else ldr r1, .Lcurbrk +#ifdef __PIC__ + adds r1, r1, r3 #endif /* Store the new address in curbrk */ str r2, [r1] /* Return 0 for success */ - mov r0, #0x00000000 + movs r0, #0 RET - .align 2 -#ifdef PIC -.Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif + .align 0 .Lminbrk: - .word PIC_SYM(_C_LABEL(__minbrk), GOT) + .word REL_SYM(_C_LABEL(__minbrk), .Lminbrk) .Lcurbrk: - .word PIC_SYM(CURBRK, GOT) + .word REL_SYM(_C_LABEL(__curbrk), .Lminbrk) +END(_brk) diff --git a/lib/libc/arch/arm/sys/cerror.S b/lib/libc/arch/arm/sys/cerror.S index 2f1d4a763..04d48b777 100644 --- a/lib/libc/arch/arm/sys/cerror.S +++ b/lib/libc/arch/arm/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.8 2012/02/27 12:26:21 joerg Exp $ */ +/* $NetBSD: cerror.S,v 1.13 2013/11/30 20:20:42 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -33,43 +33,70 @@ #include "SYS.h" -#ifdef PIC - .protected CERROR -#endif - -ASENTRY(CERROR) +ENTRY_NP(CERROR) #ifdef _REENTRANT - stmfd sp!, {r4, lr} +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .fnstart + .cfi_startproc +#endif + push {r4, lr} +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .save {r4, lr} + .cfi_def_cfa_offset 8 + .cfi_offset 14, -4 + .cfi_offset 4, -8 +#endif mov r4, r0 - bl PIC_SYM(_C_LABEL(__errno), PLT) + bl PLT_SYM(_C_LABEL(__errno)) str r4, [r0] - mvn r0, #0x00000000 - mvn r1, #0x00000000 - ldmfd sp!, {r4, pc} +#ifdef __thumb__ + movs r0, #0 + mvns r0, r0 #else -#ifdef PIC + mvn r0, #0 +#endif + mov r1, r0 + pop {r4, pc} +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_endproc + .fnend +#endif +#else /* !_REENTRANT */ +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .fnstart + .cfi_startproc +#endif +#ifdef __PIC__ /* Setup the GOT */ ldr r3, .Lgot - add r3, pc, r3 -.L1: + add r3, r3, pc /* pc = &.LPIC0 */ ldr r1, .Lerrno - ldr r1, [r3, r1] +.LPIC0: ldr r1, [r3, r1] #else ldr r1, .Lerrno -#endif /* PIC */ +#endif /* __PIC__ */ str r0, [r1] - mvn r0, #0x00000000 - mvn r1, #0x00000000 +#ifdef __thumb__ + movs r0, #0 + mvns r0, r0 +#else + mvn r0, #0 +#endif /* __thumb__ */ + mov r1, r0 RET +#if defined(__ARM_EABI__) && defined(__UNWIND_TABLES__) + .cfi_endproc + .fnend +#endif -#ifdef PIC +#ifdef __PIC__ .align 0 .Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif /* PIC */ - + .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - .LPIC0 +#endif /* __PIC__ */ .globl _C_LABEL(errno) .Lerrno: .word PIC_SYM(_C_LABEL(errno), GOT) #endif /* _REENTRANT */ +END(CERROR) diff --git a/lib/libc/arch/arm/sys/fork.S b/lib/libc/arch/arm/sys/fork.S index 41dac4946..3f1a80e91 100644 --- a/lib/libc/arch/arm/sys/fork.S +++ b/lib/libc/arch/arm/sys/fork.S @@ -1,4 +1,4 @@ -/* $NetBSD: fork.S,v 1.6 2004/08/21 11:30:17 rearnsha Exp $ */ +/* $NetBSD: fork.S,v 1.7 2013/08/16 22:28:05 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -42,6 +42,7 @@ */ _SYSCALL(__fork,fork) - sub r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */ - and r0, r0, r1 /* r0 == 0 if child, else unchanged */ + subs r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */ + ands r0, r0, r1 /* r0 == 0 if child, else unchanged */ RET +END(__fork) diff --git a/lib/libc/arch/arm/sys/getcontext.S b/lib/libc/arch/arm/sys/getcontext.S index 79ff1e6d5..446477076 100644 --- a/lib/libc/arch/arm/sys/getcontext.S +++ b/lib/libc/arch/arm/sys/getcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: getcontext.S,v 1.6 2008/04/28 20:22:55 martin Exp $ */ +/* $NetBSD: getcontext.S,v 1.10 2013/09/03 00:30:19 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include "SYS.h" +#include "assym.h" #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: getcontext.S,v 1.6 2008/04/28 20:22:55 martin Exp $") + RCSID("$NetBSD: getcontext.S,v 1.10 2013/09/03 00:30:19 matt Exp $") #endif /* SYSLIBC_SCCS && !lint */ #ifdef WEAK_ALIAS @@ -42,13 +43,19 @@ WEAK_ALIAS(getcontext, _getcontext) ENTRY(_getcontext) mov r2, r0 /* Must save argument pointer. */ SYSTRAP (getcontext) - bcs PIC_SYM(CERROR, PLT) - str lr, [r2, #(36 + 15*4)] /* Adjust PC. */ + _INVOKE_CERROR() +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + str lr, [r2, #_UC_REGS_PC] /* Adjust PC. */ +#else + mov r3, lr + str r3, [r2, #_UC_REGS_PC] /* Adjust PC. */ +#endif #ifdef SOFTFLOAT /* Ahem. */ /* Judging from the softfloat code we should at least save the exception codes and rounding mode here. */ #endif - mov r0, #0 - str r0, [r2, #(36 + 0*4)] /* Return 0. */ + movs r0, #0 + str r0, [r2, #_UC_REGS_R0] /* Return 0. */ RET +END(_getcontext) diff --git a/lib/libc/arch/arm/sys/pipe.S b/lib/libc/arch/arm/sys/pipe.S index 8dc1492d1..cc0d98b01 100644 --- a/lib/libc/arch/arm/sys/pipe.S +++ b/lib/libc/arch/arm/sys/pipe.S @@ -1,4 +1,4 @@ -/* $NetBSD: pipe.S,v 1.6 2004/08/21 11:30:17 rearnsha Exp $ */ +/* $NetBSD: pipe.S,v 1.8 2013/08/16 22:21:59 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -40,8 +40,8 @@ WEAK_ALIAS(pipe, _pipe) ENTRY(_pipe) mov r2, r0 SYSTRAP(pipe) - bcs PIC_SYM(CERROR, PLT) - str r0, [r2, #0x0000] - str r1, [r2, #0x0004] - mov r0, #0x00000000 + _INVOKE_CERROR() + stmia r2!, {r0-r1} + movs r0, #0 RET +END(_pipe) diff --git a/lib/libc/arch/arm/sys/ptrace.S b/lib/libc/arch/arm/sys/ptrace.S index 1a91c0d76..a01078658 100644 --- a/lib/libc/arch/arm/sys/ptrace.S +++ b/lib/libc/arch/arm/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.8 2004/08/21 11:30:17 rearnsha Exp $ */ +/* $NetBSD: ptrace.S,v 1.12 2013/11/30 20:20:42 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -35,41 +35,52 @@ ENTRY(ptrace) #ifdef _REENTRANT - stmfd sp!, {r0-r3, lr} - sub sp, sp, #4 /* align stack */ - bl PIC_SYM(_C_LABEL(__errno), PLT) - add sp, sp, #4 /* unalign stack */ - mov r1, #0x00000000 - str r1, [r0] - ldmfd sp!, {r0-r3, lr} +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + push {r0-r3, lr} #else - stmfd sp!, {r0, r1} -#ifdef PIC + push {r0-r4} + mov r4, lr +#endif + sub sp, sp, #4 /* align stack */ + bl PLT_SYM(_C_LABEL(__errno)) + add sp, sp, #4 /* unalign stack */ + movs r1, #0 + str r1, [r0] +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) + pop {r0-r3, lr} +#else + mov lr, r4 + pop {r0-r4} +#endif +#else + push {r0, r1} +#ifdef __PIC__ /* Setup the GOT */ ldr r0, .Lgot - add r0, pc, r0 -.L1: + adr r1, .Lgot + add r0, r0, r1 ldr r1, .Lerrno ldr r1, [r0, r1] #else ldr r1, .Lerrno -#endif /* PIC */ - mov r0, #0x00000000 +#endif /* __PIC__ */ + movs r0, #0 str r0, [r1] - ldmfd sp!, {r0, r1} + pop {r0, r1} #endif /* _REENTRANT */ SYSTRAP(ptrace) - bcs PIC_SYM(CERROR, PLT) + _INVOKE_CERROR() RET #ifndef _REENTRANT -#ifdef PIC +#ifdef __PIC__ .align 0 .Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif /* PIC */ + .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - .Lgot +#endif /* __PIC__ */ .Lerrno: .word PIC_SYM(_C_LABEL(errno), GOT) #endif /* !_REENTRANT */ +END(ptrace) diff --git a/lib/libc/arch/arm/sys/sbrk.S b/lib/libc/arch/arm/sys/sbrk.S index 8dd96ae83..c9008dfe0 100644 --- a/lib/libc/arch/arm/sys/sbrk.S +++ b/lib/libc/arch/arm/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.9 2011/05/13 23:14:36 nonaka Exp $ */ +/* $NetBSD: sbrk.S,v 1.12 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -41,46 +41,40 @@ WEAK_ALIAS(sbrk, _sbrk) .data .align 0 - .globl CURBRK - .type CURBRK,#object -CURBRK: + .globl _C_LABEL(__curbrk) + .hidden _C_LABEL(__curbrk) + .type _C_LABEL(__curbrk),#object +_C_LABEL(__curbrk): .word _C_LABEL(_end) /* * Change the data segment size */ ENTRY(_sbrk) -#ifdef PIC - /* Setup the GOT */ - ldr r3, .Lgot - add r3, pc, r3 -.L1: - ldr r2, .Lcurbrk - ldr r2, [r3, r2] -#else + /* get address or offset to __curbrk */ ldr r2, .Lcurbrk +#ifdef __PIC__ + add r2, r2, pc /* pc = &.LPIC0 */ #endif + /* Get the current brk address */ ldr r1, [r2] /* Calculate new value */ - mov r3, r0 - add r0, r0, r1 +.LPIC0: mov r3, r0 + adds r0, r0, r1 SYSTRAP(break) - bcs PIC_SYM(CERROR, PLT) + _INVOKE_CERROR() /* Store new curbrk value */ ldr r0, [r2] - add r1, r0, r3 + adds r1, r0, r3 str r1, [r2] /* Return old curbrk value */ RET .align 0 -#ifdef PIC -.Lgot: - .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (.L1+4)) -#endif .Lcurbrk: - .word PIC_SYM(CURBRK, GOT) + .word REL_SYM(_C_LABEL(__curbrk), .LPIC0) +END(_sbrk) diff --git a/lib/libc/arch/hppa/SYS.h b/lib/libc/arch/hppa/SYS.h index 5e5084429..8864836fd 100644 --- a/lib/libc/arch/hppa/SYS.h +++ b/lib/libc/arch/hppa/SYS.h @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.7 2009/11/03 05:07:25 snj Exp $ */ +/* $NetBSD: SYS.h,v 1.8 2013/08/24 07:12:12 skrll Exp $ */ /* $OpenBSD: SYS.h,v 1.9 2001/09/20 20:52:09 millert Exp $ */ @@ -44,7 +44,7 @@ ldi __CONCAT(SYS_,x), %t1 !\ .import __cerror, code !\ comb,<> %r0, %t1, __cerror !\ - ldw HPPA_FRAME_ERP(%sr0,%sp), %rp + ldw HPPA_FRAME_ERP(%sr0,%sp), %rp #define PSEUDO(x,y) !\ SYSENTRY(x) !\ @@ -65,7 +65,7 @@ SYSENTRY(x) !\ SYSEXIT(x) #define RSYSCALL(x) PSEUDO(x,x) -#define RSYSCALL_NOERROR(x) PSEUDO_NOERROR(x,x) +#define RSYSCALL_NOERROR(x) PSEUDO_NOERROR(x,x) #ifdef WEAK_ALIAS #define WSYSCALL(weak,strong) !\ diff --git a/lib/libc/arch/hppa/gen/_resumecontext.S b/lib/libc/arch/hppa/gen/_resumecontext.S index 5bf827ad9..2209e13ed 100644 --- a/lib/libc/arch/hppa/gen/_resumecontext.S +++ b/lib/libc/arch/hppa/gen/_resumecontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: _resumecontext.S,v 1.3 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: _resumecontext.S,v 1.4 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -35,13 +35,13 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: _resumecontext.S,v 1.3 2008/04/28 20:22:56 martin Exp $") + RCSID("$NetBSD: _resumecontext.S,v 1.4 2013/09/12 15:36:15 joerg Exp $") #endif /* SYSLIBC_SCCS && !lint */ .import _resumecontext, code LEAF_ENTRY_NOPROFILE(__resumecontext) -#ifdef PIC +#ifdef __PIC__ ldw HPPA_FRAME_EDP(%sp), %r19 addil LT%_C_LABEL(_resumecontext), %r19 ldw RT%_C_LABEL(_resumecontext)(%r1), %r1 diff --git a/lib/libc/arch/hppa/gen/resumecontext.c b/lib/libc/arch/hppa/gen/resumecontext.c index 9bdeb4ac7..c01ed2f17 100644 --- a/lib/libc/arch/hppa/gen/resumecontext.c +++ b/lib/libc/arch/hppa/gen/resumecontext.c @@ -1,4 +1,4 @@ -/* $NetBSD: resumecontext.c,v 1.4 2011/09/19 21:24:57 joerg Exp $ */ +/* $NetBSD: resumecontext.c,v 1.5 2013/08/24 07:12:13 skrll Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: resumecontext.c,v 1.4 2011/09/19 21:24:57 joerg Exp $"); +__RCSID("$NetBSD: resumecontext.c,v 1.5 2013/08/24 07:12:13 skrll Exp $"); #endif #include "namespace.h" @@ -46,7 +46,7 @@ _resumecontext(void) ucontext_t uct; (void)getcontext(&uct); - if (uct.uc_link == NULL) + if (uct.uc_link == NULL) exit(0); (void)setcontext(uct.uc_link); _exit(-1); diff --git a/lib/libc/arch/hppa/sys/brk.S b/lib/libc/arch/hppa/sys/brk.S index e25b84e30..d16612706 100644 --- a/lib/libc/arch/hppa/sys/brk.S +++ b/lib/libc/arch/hppa/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.5 2012/03/14 14:18:10 skrll Exp $ */ +/* $NetBSD: brk.S,v 1.6 2013/09/12 15:36:15 joerg Exp $ */ /* $OpenBSD: brk.S,v 1.7 2001/06/04 23:14:04 mickey Exp $ */ @@ -31,7 +31,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: brk.S,v 1.5 2012/03/14 14:18:10 skrll Exp $") + RCSID("$NetBSD: brk.S,v 1.6 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS and not lint */ .import curbrk, data @@ -47,14 +47,14 @@ __minbrk: .long _end ENTRY(_brk,0) -#ifdef PIC +#ifdef __PIC__ addil LT%__minbrk, %r19 ldw RT%__minbrk(%r1), %r1 ldw 0(%r1), %t2 -#else /* !PIC */ +#else /* !__PIC__ */ ldil L%__minbrk, %t1 ldw R%__minbrk(%t1), %t2 -#endif /* !PIC */ +#endif /* !__PIC__ */ sub,<< %t2, %arg0, %r0 copy %t2, %arg0 stw %arg0, HPPA_FRAME_ARG(0)(%sp) @@ -62,16 +62,16 @@ ENTRY(_brk,0) SYSCALL(break) ldw HPPA_FRAME_ARG(0)(%sp), %arg0 -#ifdef PIC +#ifdef __PIC__ addil LT%curbrk, %r19 ldw RT%curbrk(%r1), %r1 bv %r0(%rp) stw %arg0, 0(%r1) -#else /* !PIC */ +#else /* !__PIC__ */ ldil L%curbrk, %t1 bv %r0(%rp) stw %arg0, R%curbrk(%t1) -#endif /* !PIC */ +#endif /* !__PIC__ */ EXIT(brk) .end diff --git a/lib/libc/arch/hppa/sys/cerror.S b/lib/libc/arch/hppa/sys/cerror.S index f55b042cb..47d8f157c 100644 --- a/lib/libc/arch/hppa/sys/cerror.S +++ b/lib/libc/arch/hppa/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.4 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: cerror.S,v 1.5 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -47,7 +47,7 @@ LEAF_ENTRY(__cerror) ldw HPPA_FRAME_CRP(%sp), %rp stw %t1, 0(%ret0) #else -#ifdef PIC +#ifdef __PIC__ addil LT%errno, %r19 ldw RT%errno(%r1), %r1 stw %t1, 0(%r1) diff --git a/lib/libc/arch/hppa/sys/sbrk.S b/lib/libc/arch/hppa/sys/sbrk.S index b5821d5f8..592141387 100644 --- a/lib/libc/arch/hppa/sys/sbrk.S +++ b/lib/libc/arch/hppa/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.5 2012/03/14 14:18:10 skrll Exp $ */ +/* $NetBSD: sbrk.S,v 1.6 2013/09/12 15:36:15 joerg Exp $ */ /* $OpenBSD: sbrk.S,v 1.7 2001/06/04 23:14:04 mickey Exp $ */ @@ -31,7 +31,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: sbrk.S,v 1.5 2012/03/14 14:18:10 skrll Exp $") + RCSID("$NetBSD: sbrk.S,v 1.6 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS and not lint */ .global _end @@ -46,26 +46,26 @@ curbrk: .long _end ENTRY(_sbrk,0) -#ifdef PIC +#ifdef __PIC__ addil LT%curbrk, %r19 ldw RT%curbrk(%r1), %r1 ldw 0(%r1), %t2 -#else /* !PIC */ +#else /* !__PIC__ */ ldil L%curbrk, %t1 ldw R%curbrk(%t1), %t2 -#endif /* !PIC */ +#endif /* !__PIC__ */ add %arg0, %t2, %arg0 stw %arg0, HPPA_FRAME_ARG(0)(%sp) SYSCALL(break) -#ifdef PIC +#ifdef __PIC__ addil LT%curbrk, %r19 ldw RT%curbrk(%r1), %r1 -#else /* !PIC */ +#else /* !__PIC__ */ ldil L%curbrk, %t1 ldo R%curbrk(%t1), %r1 -#endif /* !PIC */ +#endif /* !__PIC__ */ ldw 0(%r1), %ret0 ldw HPPA_FRAME_ARG(0)(%sp), %arg0 bv %r0(%rp) diff --git a/lib/libc/arch/i386/SYS.h b/lib/libc/arch/i386/SYS.h index 11e06ab52..02548bdad 100644 --- a/lib/libc/arch/i386/SYS.h +++ b/lib/libc/arch/i386/SYS.h @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.23 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: SYS.h,v 1.24 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -101,7 +101,7 @@ ENTRY(x); \ SYSTRAP(y) -#ifdef PIC +#ifdef __PIC__ #define _SYSCALL_ERR \ PIC_PROLOGUE; \ mov PIC_GOT(CERROR), %ecx; \ diff --git a/lib/libc/arch/i386/gen/fixunsdfsi.S b/lib/libc/arch/i386/gen/fixunsdfsi.S index 8d7d4fc11..afdbfa56c 100644 --- a/lib/libc/arch/i386/gen/fixunsdfsi.S +++ b/lib/libc/arch/i386/gen/fixunsdfsi.S @@ -1,4 +1,4 @@ -/* $NetBSD: fixunsdfsi.S,v 1.12 2011/05/22 20:11:47 joerg Exp $ */ +/* $NetBSD: fixunsdfsi.S,v 1.13 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,13 +36,13 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: fixunsdfsi.S,v 1.12 2011/05/22 20:11:47 joerg Exp $") + RCSID("$NetBSD: fixunsdfsi.S,v 1.13 2013/09/12 15:36:15 joerg Exp $") #endif ENTRY(__fixunsdfsi) fldl 4(%esp) /* argument double to accum stack */ frndint /* create integer */ -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE leal PIC_GOTOFF(fbiggestsigned),%eax PIC_EPILOGUE @@ -59,7 +59,7 @@ ENTRY(__fixunsdfsi) ret 2: -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE leal PIC_GOTOFF(fbiggestsigned),%eax PIC_EPILOGUE diff --git a/lib/libc/arch/i386/gen/resumecontext.S b/lib/libc/arch/i386/gen/resumecontext.S index 629a09f5a..7a97f4f46 100644 --- a/lib/libc/arch/i386/gen/resumecontext.S +++ b/lib/libc/arch/i386/gen/resumecontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: resumecontext.S,v 1.6 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: resumecontext.S,v 1.7 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: resumecontext.S,v 1.6 2008/04/28 20:22:56 martin Exp $") + RCSID("$NetBSD: resumecontext.S,v 1.7 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ /* @@ -48,7 +48,7 @@ NENTRY(_resumecontext) /* profiling prologue would clobber TOS */ movl %ecx,%esp PIC_PROLOGUE pushl %ecx -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(_getcontext)) #else call _C_LABEL(_getcontext) @@ -62,7 +62,7 @@ NENTRY(_resumecontext) /* profiling prologue would clobber TOS */ jnz 9f /* watch out for local label use in PIC_* */ /* normal exit */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(exit)) #else call _C_LABEL(exit) @@ -70,7 +70,7 @@ NENTRY(_resumecontext) /* profiling prologue would clobber TOS */ /* NOTREACHED */ 9: -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(setcontext)) #else call _C_LABEL(setcontext) diff --git a/lib/libc/arch/i386/gen/setjmp.S b/lib/libc/arch/i386/gen/setjmp.S index cbb24e8cd..5528ec462 100644 --- a/lib/libc/arch/i386/gen/setjmp.S +++ b/lib/libc/arch/i386/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.S,v 1.14 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: setjmp.S,v 1.15 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: setjmp.S,v 1.14 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: setjmp.S,v 1.15 2013/09/12 15:36:15 joerg Exp $") #endif /* @@ -66,7 +66,7 @@ ENTRY(__setjmp14) pushl %edx pushl $0 pushl $0 -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) @@ -86,7 +86,7 @@ ENTRY(__longjmp14) pushl $0 pushl %edx pushl $3 /* SIG_SETMASK */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) @@ -107,8 +107,3 @@ ENTRY(__longjmp14) incl %eax 1: movl %ecx,0(%esp) ret - -#ifdef __minix -.weak longjmp; sigsetjmp = __longjmp14 -.weak setjmp; sigsetjmp = __setjmp14 -#endif diff --git a/lib/libc/arch/i386/gen/sigsetjmp.S b/lib/libc/arch/i386/gen/sigsetjmp.S index 56743b896..af010fb40 100644 --- a/lib/libc/arch/i386/gen/sigsetjmp.S +++ b/lib/libc/arch/i386/gen/sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: sigsetjmp.S,v 1.16 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: sigsetjmp.S,v 1.17 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: sigsetjmp.S,v 1.16 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: sigsetjmp.S,v 1.17 2013/09/12 15:36:15 joerg Exp $") #endif ENTRY(__sigsetjmp14) @@ -62,7 +62,7 @@ ENTRY(__sigsetjmp14) pushl %edx pushl $0 pushl $0 -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) @@ -86,7 +86,7 @@ ENTRY(__siglongjmp14) pushl $0 pushl %edx pushl $3 /* SIG_SETMASK */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) @@ -107,8 +107,3 @@ ENTRY(__siglongjmp14) incl %eax 3: movl %ecx,0(%esp) ret - -#ifdef __minix -.weak sigsetjmp; sigsetjmp = __sigsetjmp14 -.weak siglongjmp; siglongjmp = __siglongjmp14 -#endif diff --git a/lib/libc/arch/i386/gen/swapcontext.S b/lib/libc/arch/i386/gen/swapcontext.S index a140c991e..988af0f0b 100644 --- a/lib/libc/arch/i386/gen/swapcontext.S +++ b/lib/libc/arch/i386/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.6 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: swapcontext.S,v 1.7 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -31,14 +31,14 @@ #include #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.6 2008/04/28 20:22:56 martin Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.7 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ ENTRY(swapcontext) movl 4(%esp),%ecx PIC_PROLOGUE pushl %ecx /* push oucp */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(_getcontext)) #else call _C_LABEL(_getcontext) @@ -50,7 +50,7 @@ ENTRY(swapcontext) movl 4(%esp),%ecx movl 0(%esp),%edx movl %edx,(36 + 14 * 4)(%ecx) /* Adjust saved %eip ... */ -#ifdef PIC +#ifdef __PIC__ movl %ebx,(36 + 8 * 4)(%ecx) /* ... clobbered PIC reg ... */ #endif leal 4(%esp),%edx @@ -59,7 +59,7 @@ ENTRY(swapcontext) movl 8(%esp),%ecx PIC_PROLOGUE pushl %ecx /* push ucp */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(setcontext)) #else call _C_LABEL(setcontext) diff --git a/lib/libc/arch/i386/sys-minix/__sigreturn.S b/lib/libc/arch/i386/sys-minix/__sigreturn.S index 094440aee..dc85a85b1 100644 --- a/lib/libc/arch/i386/sys-minix/__sigreturn.S +++ b/lib/libc/arch/i386/sys-minix/__sigreturn.S @@ -3,13 +3,13 @@ /* Both __sigreturn and _sigreturn are needed. */ #include -IMPORT(_sigreturn) +IMPORT(sigreturn) ENTRY(__sigreturn) addl $16, %esp -#ifndef PIC - jmp _C_LABEL(_sigreturn) +#ifndef __PIC__ + jmp _C_LABEL(sigreturn) #else PIC_PROLOGUE /* push %ebx, but we do not care */ pop %eax /* special knowledge of how PIC works: discard pushed EBX */ - jmp PIC_PLT(_C_LABEL(_sigreturn)) + jmp PIC_PLT(_C_LABEL(sigreturn)) #endif /* PIC */ diff --git a/lib/libc/arch/i386/sys-minix/ucontext.S b/lib/libc/arch/i386/sys-minix/ucontext.S index 859b40abe..459d2dcb6 100644 --- a/lib/libc/arch/i386/sys-minix/ucontext.S +++ b/lib/libc/arch/i386/sys-minix/ucontext.S @@ -11,6 +11,7 @@ IMPORT(resumecontext) * Initialise the structure pointed to by ucp to the current user context * of the calling thread. */ ENTRY(getcontext) +ENTRY(_getcontext) /* In case a process does not use the FPU and is neither interested in * saving its signal mask, then we can skip the context switch to * PM and kernel altogether and only save general-purpose registers. */ diff --git a/lib/libc/arch/i386/sys/__clone.S b/lib/libc/arch/i386/sys/__clone.S index 354de5618..f966a845d 100644 --- a/lib/libc/arch/i386/sys/__clone.S +++ b/lib/libc/arch/i386/sys/__clone.S @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.4 2011/11/18 20:21:41 joerg Exp $ */ +/* $NetBSD: __clone.S,v 1.5 2013/09/12 15:36:15 joerg Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -77,7 +77,7 @@ ENTRY(__clone) jne 2f /* we're the parent */ call *%ebp /* this is the clone, call the function */ -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE pushl %eax /* clone does _exit(func(arg)); */ call PIC_PLT(_C_LABEL(_exit)) diff --git a/lib/libc/arch/i386/sys/brk.S b/lib/libc/arch/i386/sys/brk.S index f616e481d..3452d2726 100644 --- a/lib/libc/arch/i386/sys/brk.S +++ b/lib/libc/arch/i386/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.22 2011/11/18 20:21:41 joerg Exp $ */ +/* $NetBSD: brk.S,v 1.23 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: brk.S,v 1.22 2011/11/18 20:21:41 joerg Exp $") + RCSID("$NetBSD: brk.S,v 1.23 2013/09/12 15:36:15 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -55,7 +55,7 @@ _C_LABEL(__minbrk): .text ENTRY(_brk) -#ifdef PIC +#ifdef __PIC__ movl 4(%esp),%ecx PIC_PROLOGUE movl PIC_GOT(_C_LABEL(__minbrk)),%edx diff --git a/lib/libc/arch/i386/sys/cerror.S b/lib/libc/arch/i386/sys/cerror.S index 56ddba75a..f8c570989 100644 --- a/lib/libc/arch/i386/sys/cerror.S +++ b/lib/libc/arch/i386/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.16 2012/02/27 12:26:21 joerg Exp $ */ +/* $NetBSD: cerror.S,v 1.17 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: cerror.S,v 1.16 2012/02/27 12:26:21 joerg Exp $") + RCSID("$NetBSD: cerror.S,v 1.17 2013/09/12 15:36:15 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -46,13 +46,13 @@ _ENTRY(CERROR) pushl %eax -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE call PIC_PLT(_C_LABEL(__errno)) PIC_EPILOGUE #else call _C_LABEL(__errno) -#endif /* PIC */ +#endif /* __PIC__ */ popl (%eax) movl $-1,%eax movl $-1,%edx diff --git a/lib/libc/arch/i386/sys/ptrace.S b/lib/libc/arch/i386/sys/ptrace.S index e18f1ebf9..379ddd362 100644 --- a/lib/libc/arch/i386/sys/ptrace.S +++ b/lib/libc/arch/i386/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.17 2011/11/18 20:21:41 joerg Exp $ */ +/* $NetBSD: ptrace.S,v 1.18 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: ptrace.S,v 1.17 2011/11/18 20:21:41 joerg Exp $") + RCSID("$NetBSD: ptrace.S,v 1.18 2013/09/12 15:36:15 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -44,13 +44,13 @@ .globl _C_LABEL(__errno) ENTRY(ptrace) -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE call PIC_PLT(_C_LABEL(__errno)) PIC_EPILOGUE #else call _C_LABEL(__errno) -#endif /* PIC */ +#endif /* __PIC__ */ xorl %edx,%edx movl %edx,(%eax) SYSTRAP(ptrace) diff --git a/lib/libc/arch/i386/sys/sbrk.S b/lib/libc/arch/i386/sys/sbrk.S index d73a25bd6..0dcd63957 100644 --- a/lib/libc/arch/i386/sys/sbrk.S +++ b/lib/libc/arch/i386/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.20 2011/11/18 20:21:41 joerg Exp $ */ +/* $NetBSD: sbrk.S,v 1.21 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: sbrk.S,v 1.20 2011/11/18 20:21:41 joerg Exp $") + RCSID("$NetBSD: sbrk.S,v 1.21 2013/09/12 15:36:15 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -53,7 +53,7 @@ CURBRK: .long _end .text ENTRY(_sbrk) -#ifdef PIC +#ifdef __PIC__ movl 4(%esp),%ecx PIC_PROLOGUE movl PIC_GOT(CURBRK),%edx diff --git a/lib/libc/arch/ia64/gen/Makefile.inc b/lib/libc/arch/ia64/gen/Makefile.inc index 03edc59a5..73e360393 100644 --- a/lib/libc/arch/ia64/gen/Makefile.inc +++ b/lib/libc/arch/ia64/gen/Makefile.inc @@ -1,7 +1,9 @@ -# $NetBSD: Makefile.inc,v 1.4 2006/09/23 17:39:34 cherry Exp $ +# $NetBSD: Makefile.inc,v 1.5 2012/12/27 10:41:18 martin Exp $ SRCS+= bswap16.c bswap32.c bswap64.c SRCS+= flt_rounds.c fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c SRCS+= isinff_ieee754.c isinfd_ieee754.c SRCS+= isnanf_ieee754.c isnand_ieee754.c +SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c + diff --git a/lib/libc/arch/m68k/Makefile.inc b/lib/libc/arch/m68k/Makefile.inc index 13a17bdbd..4f1741ace 100644 --- a/lib/libc/arch/m68k/Makefile.inc +++ b/lib/libc/arch/m68k/Makefile.inc @@ -1,10 +1,15 @@ -# $NetBSD: Makefile.inc,v 1.14 2011/11/22 15:25:28 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.16 2013/07/18 21:31:22 matt Exp $ SRCS+= __sigaction14_sigtramp.c __sigtramp2.S __m68k_read_tp.S __mmap.S ASM+= _lwp_getprivate.S mremap.S +CPPFLAGS+= -I. # for assym.h + .if ${MKSOFTFLOAT} != "no" -CPPFLAGS+= -DSOFTLOFLOAT_NEED_FIXUNS -DSOFTFLOAT -DSOFTFLOATM68K_FOR_GCC +CPPFLAGS+= -DSOFTFLOAT_NEED_FIXUNS -DSOFTFLOAT -DSOFTFLOATM68K_FOR_GCC . include +.elif ${MACHINE_ARCH} != "m68000" +.PATH : ${ARCHDIR}/hardfloat +. include "${ARCHDIR}/hardfloat/Makefile.inc" .endif diff --git a/lib/libc/arch/m68k/SYS.h b/lib/libc/arch/m68k/SYS.h index cf7099854..e3393c695 100644 --- a/lib/libc/arch/m68k/SYS.h +++ b/lib/libc/arch/m68k/SYS.h @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.16 2003/08/07 16:42:09 agc Exp $ */ +/* $NetBSD: SYS.h,v 1.18 2013/07/24 15:38:07 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -45,23 +45,15 @@ #define SYSTRAP(x) movl #SYS_/**/x,%d0; trap #0 #endif -#ifdef __ELF__ #define CERROR _C_LABEL(__cerror) -#define CURBRK _C_LABEL(__curbrk) -#else -#define CERROR _ASM_LABEL(cerror) -#define CURBRK _ASM_LABEL(curbrk) -#endif #define _SYSCALL_NOERROR(x,y) \ ENTRY(x); \ SYSTRAP(y) #define _SYSCALL(x,y) \ - .even; \ - err: jra PIC_PLT(CERROR); \ _SYSCALL_NOERROR(x,y); \ - jcs err + jcs CERROR #define SYSCALL_NOERROR(x) \ _SYSCALL_NOERROR(x,x) @@ -71,11 +63,13 @@ #define PSEUDO_NOERROR(x,y) \ _SYSCALL_NOERROR(x,y); \ - rts + rts; \ + END(x) #define PSEUDO(x,y) \ _SYSCALL(x,y); \ - rts + rts; \ + END(x) #define RSYSCALL_NOERROR(x) \ PSEUDO_NOERROR(x,x) @@ -95,3 +89,4 @@ #define ASMSTR .asciz .globl CERROR + .hidden CERROR diff --git a/lib/libc/arch/m68k/gdtoa/Makefile.inc b/lib/libc/arch/m68k/gdtoa/Makefile.inc index 66da1e59d..477e1ec32 100644 --- a/lib/libc/arch/m68k/gdtoa/Makefile.inc +++ b/lib/libc/arch/m68k/gdtoa/Makefile.inc @@ -1,8 +1,8 @@ -# $NetBSD: Makefile.inc,v 1.3 2006/03/21 22:50:13 he Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/07/18 21:19:50 matt Exp $ SRCS+= strtof.c -.if ${MACHINE_ARCH} != "m68000" +.if ${MACHINE_ARCH} == "m68k" SRCS+= strtold_pxL.c SRCS+= strtopxL.c .endif diff --git a/lib/libc/arch/m68k/gen/Makefile.inc b/lib/libc/arch/m68k/gen/Makefile.inc index bef14d0f2..d8f4f25a7 100644 --- a/lib/libc/arch/m68k/gen/Makefile.inc +++ b/lib/libc/arch/m68k/gen/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.31 2011/11/22 15:25:28 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.32 2013/07/18 21:34:33 matt Exp $ SRCS+= alloca.S fabs.S @@ -14,7 +14,7 @@ SRCS+= nanf.c # 68000-based machines use a double-extended `long double' type # for which the generic ieee754 versions can be used -.if ${MACHINE_ARCH} == "m68000" +.if ${MACHINE_ARCH} != "m68k" SRCS+= infinityl_dbl_ieee754.c .else SRCS+= infinityl.c @@ -37,15 +37,10 @@ SRCS+= flt_rounds_softfloat.S .if ${MKSOFTFLOAT} != "yes" SRCS+= fpfake.c .endif -.else -SRCS+= modf.S -SRCS+= flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \ - fpsetround.S fpsetsticky.S -SRCS+= adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S \ - divsf3.S divsi3.S extendsfdf2.S fixdfsi.S fixunsdfsi.S \ - floatsidf.S modsi3.S muldf3.S mulsf3.S mulsi3.S \ - subdf3.S subsf3.S truncdfsf2.S udivsi3.S \ - umodsi3.S umulsi3.S +.endif + +.if ${MACHINE_ARCH} == "m68k" +SRCS+= divsi3.S modsi3.S mulsi3.S udivsi3.S umodsi3.S umulsi3.S .endif SRCS+= setjmp.S longjmp.c @@ -54,17 +49,7 @@ SRCS+= sigsetjmp.S SRCS+= makecontext.c resumecontext.S swapcontext.S -.ifdef M68040 SRCS+= ldexp_ieee754.c # generic ieee754 version -.elifdef MKSOFTFLOAT -SRCS+= ldexp_ieee754.c # generic ieee754 version -.elifdef M68060 -SRCS+= ldexp_ieee754.c # generic ieee754 version -.elif ${MACHINE_ARCH} == "m68000" -SRCS+= ldexp_ieee754.c # generic ieee754 version -.else -SRCS+= ldexp_881.c -.endif LSRCS.m68k.gen= Lint_bswap16.c Lint_bswap32.c Lint_bswap64.c \ Lint_resumecontext.c Lint_swapcontext.c diff --git a/lib/libc/arch/m68k/gen/_setjmp.S b/lib/libc/arch/m68k/gen/_setjmp.S index 4efad3841..99add3220 100644 --- a/lib/libc/arch/m68k/gen/_setjmp.S +++ b/lib/libc/arch/m68k/gen/_setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: _setjmp.S,v 1.7 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: _setjmp.S,v 1.9 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)_setjmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: _setjmp.S,v 1.7 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: _setjmp.S,v 1.9 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -55,34 +55,36 @@ */ ENTRY(_setjmp) - movl %sp@(4),%a0 /* save area pointer */ - clrl %a0@+ /* no old onstack */ - clrl %a0@+ /* no old sigmask */ - movl %sp,%a0@+ /* save old SP */ - movl %a6,%a0@+ /* save old FP */ - clrl %a0@+ /* no old AP */ - movl %sp@,%a0@+ /* save old PC */ - clrl %a0@+ /* clear PS */ - moveml #0x3CFC,%a0@ /* save other non-scratch regs */ + movl 4(%sp),%a0 /* save area pointer */ + clrl (%a0)+ /* no old onstack */ + clrl (%a0)+ /* no old sigmask */ + movl %sp,(%a0)+ /* save old SP */ + movl %a6,(%a0)+ /* save old FP */ + clrl (%a0)+ /* no old AP */ + movl (%sp),(%a0)+ /* save old PC */ + clrl (%a0)+ /* clear PS */ + moveml #0x3CFC,(%a0) /* save other non-scratch regs */ clrl %d0 /* return zero */ rts +END(_setjmp) ENTRY(_longjmp) - movl %sp@(4),%a0 /* save area pointer */ + movl 4(%sp),%a0 /* save area pointer */ addql #8,%a0 /* skip onstack/sigmask */ - tstl %a0@ /* ensure non-zero SP */ + tstl (%a0) /* ensure non-zero SP */ jeq botch /* oops! */ - movl %sp@(8),%d0 /* grab return value */ + movl 8(%sp),%d0 /* grab return value */ jne ok /* non-zero ok */ moveq #1,%d0 /* else make non-zero */ ok: - movl %a0@+,%sp /* restore SP */ - movl %a0@+,%a6 /* restore FP */ + movl (%a0)+,%sp /* restore SP */ + movl (%a0)+,%a6 /* restore FP */ addql #4,%a0 /* skip AP */ - movl %a0@+,%sp@ /* restore PC */ - moveml %a0@(4),#0x3CFC /* restore non-scratch regs */ + movl (%a0)+,(%sp) /* restore PC */ + moveml 4(%a0),#0x3CFC /* restore non-scratch regs */ rts botch: jbsr PIC_PLT(_C_LABEL(longjmperror)) stop #0 +END(_longjmp) diff --git a/lib/libc/arch/m68k/gen/alloca.S b/lib/libc/arch/m68k/gen/alloca.S index 1c305c5d5..106edad5d 100644 --- a/lib/libc/arch/m68k/gen/alloca.S +++ b/lib/libc/arch/m68k/gen/alloca.S @@ -1,4 +1,4 @@ -/* $NetBSD: alloca.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: alloca.S,v 1.9 2013/07/17 04:57:55 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,21 +39,23 @@ #if 0 RCSID("from: @(#)alloca.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: alloca.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: alloca.S,v 1.9 2013/07/17 04:57:55 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* like alloc, but automatic free in return */ ENTRY(alloca) - movl %sp@,%a1 /* save return addr */ + movl (%sp),%a1 /* save return addr */ movl %sp,%d0 /* get current SP value */ - subl %sp@(4),%d0 /* allocate requested space */ - andb #~3,%d0 /* longword align for efficiency */ + subl 4(%sp),%d0 /* allocate requested space */ + movql #-4,%d1 /* sign extend a mask */ + andl %d1,%d0 /* longword align for efficiency */ addql #8,%d0 /* reuse space of call frame */ movl %d0,%sp /* set new SP value */ - lea %sp@(-4),%sp /* account for argument pop in caller */ + subql #4,%sp /* account for argument pop in caller */ #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif - jmp %a1@ /* funny return */ + jmp (%a1) /* funny return */ +END(alloca) diff --git a/lib/libc/arch/m68k/gen/ashlsi3.S b/lib/libc/arch/m68k/gen/ashlsi3.S index dc56771a5..15dd43947 100644 --- a/lib/libc/arch/m68k/gen/ashlsi3.S +++ b/lib/libc/arch/m68k/gen/ashlsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: ashlsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: ashlsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,13 +39,14 @@ #if 0 RCSID("from: @(#)ashlsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: ashlsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: ashlsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* int << int */ ENTRY(__ashlsi3) - movel %sp@(8),%d1 - movel %sp@(4),%d0 + movel 8(%sp),%d1 + movel 4(%sp),%d0 asll %d1,%d0 rts +END(__ashlsi3) diff --git a/lib/libc/arch/m68k/gen/ashrsi3.S b/lib/libc/arch/m68k/gen/ashrsi3.S index 9ea73ce7f..c8556e19b 100644 --- a/lib/libc/arch/m68k/gen/ashrsi3.S +++ b/lib/libc/arch/m68k/gen/ashrsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: ashrsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: ashrsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,13 +39,14 @@ #if 0 RCSID("from: @(#)ashrsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: ashrsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: ashrsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* int >> int */ ENTRY(__ashrsi3) - movel %sp@(8),%d1 - movel %sp@(4),%d0 + movel 8(%sp),%d1 + movel 4(%sp),%d0 asrl %d1,%d0 rts +END(__ashrsi3) diff --git a/lib/libc/arch/m68k/gen/fabs.S b/lib/libc/arch/m68k/gen/fabs.S index b88bcdc17..faee6429a 100644 --- a/lib/libc/arch/m68k/gen/fabs.S +++ b/lib/libc/arch/m68k/gen/fabs.S @@ -1,4 +1,4 @@ -/* $NetBSD: fabs.S,v 1.8 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: fabs.S,v 1.11 2013/07/17 06:43:32 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -31,15 +31,16 @@ #include -RCSID("$NetBSD: fabs.S,v 1.8 2008/04/28 20:22:56 martin Exp $") +RCSID("$NetBSD: fabs.S,v 1.11 2013/07/17 06:43:32 matt Exp $") ENTRY(fabs) -#if defined(__SVR4_ABI__) && defined(__HAVE_68881__) - bclr #31,%sp@(4) - fmoved %sp@(4),%fp0 +#if defined(__SVR4_ABI__) && defined(__HAVE_FPU__) + bclr #31,4(%sp) + fmoved 4(%sp),%fp0 #else - movl %sp@(4),%d0 - movl %sp@(8),%d1 + movl 4(%sp),%d0 + movl 8(%sp),%d1 bclr #31,%d0 #endif rts +END(fabs) diff --git a/lib/libc/arch/m68k/gen/flt_rounds.S b/lib/libc/arch/m68k/gen/flt_rounds.S deleted file mode 100644 index 051e710ad..000000000 --- a/lib/libc/arch/m68k/gen/flt_rounds.S +++ /dev/null @@ -1,25 +0,0 @@ -/* $NetBSD: flt_rounds.S,v 1.9 2000/12/04 12:02:08 is Exp $ */ - -/* - * Written by J.T. Conklin, Apr 6, 1995 - * Public domain. - */ - -#include - - .text - .even -#if 0 -/* XXX This is, effectively, an exclusive-or with 1 operation. */ -_map: - .byte 1 /* round to nearest */ - .byte 0 /* round to zero */ - .byte 3 /* round to negative infinity */ - .byte 2 /* round to positive infinity */ -#endif - -ENTRY(__flt_rounds) - fmovel %fpcr,%d0 - bfextu %d0{#26:#2},%d0 - eorib #1,%d0 - rts diff --git a/lib/libc/arch/m68k/gen/flt_rounds_softfloat.S b/lib/libc/arch/m68k/gen/flt_rounds_softfloat.S index f271b24a7..e20e679a1 100644 --- a/lib/libc/arch/m68k/gen/flt_rounds_softfloat.S +++ b/lib/libc/arch/m68k/gen/flt_rounds_softfloat.S @@ -1,4 +1,4 @@ -/* $NetBSD: flt_rounds_softfloat.S,v 1.2 2004/09/26 21:13:27 jmmv Exp $ */ +/* $NetBSD: flt_rounds_softfloat.S,v 1.5 2013/07/18 21:36:08 matt Exp $ */ /* * Written by J.T. Conklin, Apr 6, 1995 @@ -12,21 +12,19 @@ #include .text - .even - +#if 0 /* NB: this is tied to the gcc-2.95 lb1sf68.asm: */ _map: .byte 1 /* round to nearest */ .byte 0 /* round to zero */ .byte 2 /* round to positive infinity */ .byte 3 /* round to negative infinity */ +#endif ENTRY(__flt_rounds) /* lea _C_LABEL(_fpCCR),%a0 | check the rounding mode */ - /* movew %a0@(6),%d0 | rounding mode in d0 */ + /* movew 6(%a0),%d0 | rounding mode in d0 */ /* lea _map,%a0 */ moveb #0,%d0 rts - - - +END(__flt_rounds) diff --git a/lib/libc/arch/m68k/gen/fpgetmask.S b/lib/libc/arch/m68k/gen/fpgetmask.S deleted file mode 100644 index 3410585fc..000000000 --- a/lib/libc/arch/m68k/gen/fpgetmask.S +++ /dev/null @@ -1,18 +0,0 @@ -/* $NetBSD: fpgetmask.S,v 1.7 2002/01/13 21:45:44 thorpej Exp $ */ - -/* - * Written by Charles M. Hannum, Apr 9, 1995 - * Public domain. - */ - -#include - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpgetmask, _fpgetmask) -ENTRY(_fpgetmask) -#else -ENTRY(fpgetmask) -#endif - fmovel %fpcr,%d0 - bfextu %d0{#18:#5},%d0 - rts diff --git a/lib/libc/arch/m68k/gen/fpgetround.S b/lib/libc/arch/m68k/gen/fpgetround.S deleted file mode 100644 index 29c372932..000000000 --- a/lib/libc/arch/m68k/gen/fpgetround.S +++ /dev/null @@ -1,18 +0,0 @@ -/* $NetBSD: fpgetround.S,v 1.8 2002/01/13 21:45:44 thorpej Exp $ */ - -/* - * Written by J.T. Conklin, Apr 6, 1995 - * Public domain. - */ - -#include - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpgetround, _fpgetround) -ENTRY(_fpgetround) -#else -ENTRY(fpgetround) -#endif - fmovel %fpcr,%d0 - bfextu %d0{#26:#2},%d0 - rts diff --git a/lib/libc/arch/m68k/gen/fpgetsticky.S b/lib/libc/arch/m68k/gen/fpgetsticky.S deleted file mode 100644 index 9e482eb8a..000000000 --- a/lib/libc/arch/m68k/gen/fpgetsticky.S +++ /dev/null @@ -1,18 +0,0 @@ -/* $NetBSD: fpgetsticky.S,v 1.7 2002/01/13 21:45:44 thorpej Exp $ */ - -/* - * Written by Charles M. Hannum, Apr 9, 1995 - * Public domain. - */ - -#include - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpgetsticky, _fpgetsticky) -ENTRY(_fpgetsticky) -#else -ENTRY(fpgetsticky) -#endif - fmovel %fpsr,%d0 - bfextu %d0{#24:#5},%d0 - rts diff --git a/lib/libc/arch/m68k/gen/fpsetmask.S b/lib/libc/arch/m68k/gen/fpsetmask.S deleted file mode 100644 index 65a5572d4..000000000 --- a/lib/libc/arch/m68k/gen/fpsetmask.S +++ /dev/null @@ -1,23 +0,0 @@ -/* $NetBSD: fpsetmask.S,v 1.7 2002/01/13 21:45:44 thorpej Exp $ */ - -/* - * Written by Charles M. Hannum, Apr 9, 1995 - * Public Domain. - */ - -#include - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpsetmask, _fpsetmask) -ENTRY(_fpsetmask) -#else -ENTRY(fpsetmask) -#endif - movel %d2,%sp@- - fmovel %fpcr,%d1 - movel %sp@(8),%d2 - bfextu %d1{#18:#5},%d0 - bfins %d2,%d1{#18:#5} - movel %sp@+,%d2 - fmovel %d1,%fpcr - rts diff --git a/lib/libc/arch/m68k/gen/fpsetround.S b/lib/libc/arch/m68k/gen/fpsetround.S deleted file mode 100644 index b02e66975..000000000 --- a/lib/libc/arch/m68k/gen/fpsetround.S +++ /dev/null @@ -1,23 +0,0 @@ -/* $NetBSD: fpsetround.S,v 1.8 2002/01/13 21:45:44 thorpej Exp $ */ - -/* - * Written by J.T. Conklin, Apr 6, 1995 - * Public Domain. - */ - -#include - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpsetround, _fpsetround) -ENTRY(_fpsetround) -#else -ENTRY(fpsetround) -#endif - movel %d2,%sp@- - fmovel %fpcr,%d1 - movel %sp@(8),%d2 - bfextu %d1{#26,#2},%d0 - bfins %d2,%d1{#26:#2} - movel %sp@+,%d2 - fmovel %d1,%fpcr - rts diff --git a/lib/libc/arch/m68k/gen/fpsetsticky.S b/lib/libc/arch/m68k/gen/fpsetsticky.S deleted file mode 100644 index f0d7db2ec..000000000 --- a/lib/libc/arch/m68k/gen/fpsetsticky.S +++ /dev/null @@ -1,23 +0,0 @@ -/* $NetBSD: fpsetsticky.S,v 1.7 2002/01/13 21:45:45 thorpej Exp $ */ - -/* - * Written by Charles M. Hannum, Apr 9, 1995 - * Public domain. - */ - -#include - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpsetsticky, _fpsetsticky) -ENTRY(_fpsetsticky) -#else -ENTRY(fpsetsticky) -#endif - movel %d2,%sp@- - fmovel %fpsr,%d1 - movel %sp@(8),%d2 - bfextu %d1{#24:#5},%d0 - bfins %d2,%d1{#24:#5} - movel %sp@+,%d2 - fmovel %d1,%fpsr - rts diff --git a/lib/libc/arch/m68k/gen/lshlsi3.S b/lib/libc/arch/m68k/gen/lshlsi3.S index 2d2e5921e..7a20b8092 100644 --- a/lib/libc/arch/m68k/gen/lshlsi3.S +++ b/lib/libc/arch/m68k/gen/lshlsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: lshlsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: lshlsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,13 +39,14 @@ #if 0 RCSID("from: @(#)lshlsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: lshlsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: lshlsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* unsigned << unsigned */ ENTRY(__lshlsi3) - movel %sp@(8),%d1 - movel %sp@(4),%d0 + movel 8(%sp),%d1 + movel 4(%sp),%d0 lsll %d1,%d0 rts +END(__lshlsi3) diff --git a/lib/libc/arch/m68k/gen/lshrsi3.S b/lib/libc/arch/m68k/gen/lshrsi3.S index 0f1303956..53601346b 100644 --- a/lib/libc/arch/m68k/gen/lshrsi3.S +++ b/lib/libc/arch/m68k/gen/lshrsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: lshrsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: lshrsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,13 +39,14 @@ #if 0 RCSID("from: @(#)lshrsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: lshrsi3.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: lshrsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* unsigned >> unsigned */ ENTRY(__lshrsi3) - movel %sp@(8),%d1 - movel %sp@(4),%d0 + movel 8(%sp),%d1 + movel 4(%sp),%d0 lsrl %d1,%d0 rts +END(__lshrsi3) diff --git a/lib/libc/arch/m68k/gen/negdf2.S b/lib/libc/arch/m68k/gen/negdf2.S index 805412a78..0ea21656e 100644 --- a/lib/libc/arch/m68k/gen/negdf2.S +++ b/lib/libc/arch/m68k/gen/negdf2.S @@ -1,4 +1,4 @@ -/* $NetBSD: negdf2.S,v 1.7 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: negdf2.S,v 1.10 2013/07/17 06:43:32 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,18 @@ #if 0 RCSID("from: @(#)negdf2.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: negdf2.S,v 1.7 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: negdf2.S,v 1.10 2013/07/17 06:43:32 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* -double */ ENTRY(__negdf2) -#if defined(__SVR4_ABI__) && defined(__HAVE_68881__) - fnegd %sp@(4),%fp0 +#if defined(__SVR4_ABI__) && defined(__HAVE_FPU__) + fnegd 4(%sp),%fp0 #else - movel %sp@(4),%d0 - movel %sp@(8),%d1 + movel 4(%sp),%d0 + movel 8(%sp),%d1 bchg #31,%d0 #endif rts +END(__negdf2) diff --git a/lib/libc/arch/m68k/gen/negsf2.S b/lib/libc/arch/m68k/gen/negsf2.S index 3ff73c492..9c2384b1d 100644 --- a/lib/libc/arch/m68k/gen/negsf2.S +++ b/lib/libc/arch/m68k/gen/negsf2.S @@ -1,4 +1,4 @@ -/* $NetBSD: negsf2.S,v 1.7 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: negsf2.S,v 1.10 2013/07/17 06:43:32 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,16 +39,17 @@ #if 0 RCSID"from: @(#)negsf2.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: negsf2.S,v 1.7 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: negsf2.S,v 1.10 2013/07/17 06:43:32 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* -single */ ENTRY(__negsf2) -#if defined(__SVR4_ABI__) && defined(__HAVE_68881__) - fnegs %sp@(4),%fp0 +#if defined(__SVR4_ABI__) && defined(__HAVE_FPU__) + fnegs 4(%sp),%fp0 #else - movel %sp@(4),%d0 + movel 4(%sp),%d0 bchg #31,%d0 #endif rts +END(__negsf2) diff --git a/lib/libc/arch/m68k/gen/resumecontext.S b/lib/libc/arch/m68k/gen/resumecontext.S index 078d55f58..6169eed63 100644 --- a/lib/libc/arch/m68k/gen/resumecontext.S +++ b/lib/libc/arch/m68k/gen/resumecontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: resumecontext.S,v 1.5 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: resumecontext.S,v 1.8 2013/07/17 03:04:54 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include +#include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: resumecontext.S,v 1.5 2008/04/28 20:22:56 martin Exp $") + RCSID("$NetBSD: resumecontext.S,v 1.8 2013/07/17 03:04:54 matt Exp $") #endif /* LIBC_SCCS && !lint */ /* @@ -42,18 +43,19 @@ */ ENTRY(_resumecontext) - subl #(4 + 1024),%sp /* retaddr preservation + ucontext_t */ - lea %sp@,%a0 - movl %a0,%sp@- + subl #(4 + UC_SIZE),%sp /* retaddr preservation + ucontext_t */ + lea (%sp),%a0 + movl %a0,-(%sp) jbsr PIC_PLT(_C_LABEL(_getcontext)) - movl %sp@(4 + 4),%sp@ /* uc_link */ - tstl %sp@ /* check for NULL */ + movl (4 + UC_LINK)(%sp),(%sp) /* uc_link */ + tstl (%sp) /* check for NULL */ jne 1f jbsr PIC_PLT(_C_LABEL(exit)) /* cleanly exit(0) */ jmp 2f 1: jbsr PIC_PLT(_C_LABEL(setcontext)) /* NOTREACHED */ /* But just in case... */ -2: movl #-1,%sp@ +2: movl #-1,(%sp) jbsr PIC_PLT(_C_LABEL(_exit)) /* NOTREACHED */ +END(_resumecontext) diff --git a/lib/libc/arch/m68k/gen/setjmp.S b/lib/libc/arch/m68k/gen/setjmp.S index 945eb7efd..3b6ff8d7d 100644 --- a/lib/libc/arch/m68k/gen/setjmp.S +++ b/lib/libc/arch/m68k/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.S,v 1.12 2006/03/09 16:20:27 christos Exp $ */ +/* $NetBSD: setjmp.S,v 1.15 2013/07/17 03:05:41 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -34,12 +34,13 @@ */ #include +#include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) #if 0 RCSID("from: @(#)setjmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: setjmp.S,v 1.12 2006/03/09 16:20:27 christos Exp $") + RCSID("$NetBSD: setjmp.S,v 1.15 2013/07/17 03:05:41 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -56,38 +57,38 @@ ENTRY(__setjmp14) /* Get signal stack info. Note overlay of ss_sp and ss_size! */ - lea %sp@(-12),%sp /* sizeof(stack_t) */ - clrl %sp@ /* ss = NULL */ - movl %sp,%sp@(4) /* oss = stack_t on stack */ + lea -12(%sp),%sp /* sizeof(stack_t) */ + clrl (%sp) /* ss = NULL */ + movl %sp,4(%sp) /* oss = stack_t on stack */ jbsr PIC_PLT(_C_LABEL(__sigaltstack14)) - movl %sp@(8),%d0 /* ss_flags */ + movl 8(%sp),%d0 /* ss_flags */ andl #1,%d0 /* extract SS_ONSTACK */ - lea %sp@(12),%sp /* pop stack_t */ + lea 12(%sp),%sp /* pop stack_t */ /* Get pointer to jmp_buf; a sigcontext is at the beginning. */ - movl %sp@(4),%a0 - movl %d0,%a0@ /* store onstack */ - clrl %a0@(4) /* unused word (old style signal mask) */ + movl 4(%sp),%a0 + movl %d0,SC_ONSTACK(%a0) /* store onstack */ + clrl SC___MASK13(%a0) /* unused word (old style signal mask) */ /* Get the signal mask. */ - pea %a0@(28) /* oset = &sc.sc_mask */ - movl #0,%sp@- /* set = NULL */ - movl #0,%sp@- /* action = 0 */ + pea SC_MASK(%a0) /* oset = &sc.sc_mask */ + movl #0,-(%sp) /* set = NULL */ + movl #0,-(%sp) /* action = 0 */ jbsr PIC_PLT(_C_LABEL(__sigprocmask14)) addl #12,%sp - movl %sp@(4),%a0 /* get jmp_buf pointer again */ - lea %sp@(4),%a1 /* adjust SP since we won't rts */ - movl %a1,%a0@(8) /* save SP */ - movl %a6,%a0@(12) /* save FP */ - clrl %a0@(16) /* no AP */ - movl %sp@,%a0@(20) /* save return PC */ - clrl %a0@(24) /* clear PS */ + movl 4(%sp),%a0 /* get jmp_buf pointer again */ + lea 4(%sp),%a1 /* adjust SP since we won't rts */ + movl %a1,SC_SP(%a0) /* save SP */ + movl %a6,SC_FP(%a0) /* save FP */ + clrl SC_AP(%a0) /* no AP */ + movl (%sp),SC_PC(%a0)/* save return PC */ + clrl SC_PS(%a0) /* clear PS */ /* Save remaining non-scratch regs after signal mask. */ - moveml #0x3CFC,%a0@(44) + moveml #0x3CFC,SC_SIZE(%a0) clrl %d0 /* return 0 */ rts - +END(__setjmp14) diff --git a/lib/libc/arch/m68k/gen/sigsetjmp.S b/lib/libc/arch/m68k/gen/sigsetjmp.S index d64865ffb..5f9af733a 100644 --- a/lib/libc/arch/m68k/gen/sigsetjmp.S +++ b/lib/libc/arch/m68k/gen/sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: sigsetjmp.S,v 1.8 2006/03/09 16:20:27 christos Exp $ */ +/* $NetBSD: sigsetjmp.S,v 1.10 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)_setjmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: sigsetjmp.S,v 1.8 2006/03/09 16:20:27 christos Exp $") + RCSID("$NetBSD: sigsetjmp.S,v 1.10 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -58,20 +58,22 @@ #include ENTRY(__sigsetjmp14) - movl %sp@(8),%d1 /* grab the mask */ - movl %sp@(4),%a0 /* grab the area pointer */ - movl %d1,%a0@(_JBLEN * 4) /* save at end of area */ + movl 8(%sp),%d1 /* grab the mask */ + movl 4(%sp),%a0 /* grab the area pointer */ + movl %d1,(_JBLEN * 4)(%a0) /* save at end of area */ tstl %d1 bne dosig jra PIC_PLT(_C_LABEL(_setjmp)) dosig: jra PIC_PLT(_C_LABEL(__setjmp14)) +END(__sigsetjmp14) ENTRY(__siglongjmp14) - movl %sp@(4),%a0 /* save area pointer */ - tstl %a0@(_JBLEN * 4) /* check mask... */ + movl 4(%sp),%a0 /* save area pointer */ + tstl (_JBLEN * 4)(%a0) /* check mask... */ bne didsig jra PIC_PLT(_C_LABEL(_longjmp)) didsig: jra PIC_PLT(_C_LABEL(__longjmp14)) +END(__siglongjmp14) diff --git a/lib/libc/arch/m68k/gen/swapcontext.S b/lib/libc/arch/m68k/gen/swapcontext.S index 5cb0aa2c3..142e311e6 100644 --- a/lib/libc/arch/m68k/gen/swapcontext.S +++ b/lib/libc/arch/m68k/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.3 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: swapcontext.S,v 1.6 2013/07/17 03:05:17 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,20 +30,22 @@ */ #include "SYS.h" +#include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.3 2008/04/28 20:22:56 martin Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.6 2013/07/17 03:05:17 matt Exp $") #endif /* LIBC_SCCS && !lint */ ENTRY(swapcontext) - movl %sp@(4),%sp@- | push oucp on stack + movl 4(%sp),-(%sp) | push oucp on stack jbsr PIC_PLT(_C_LABEL(_getcontext)) | getcontext(oucp) tstl %d0 | OK? jne L1 - movl %sp@,%a0 - addql #8,%a0@(96) | adjust saved stack pointer (again) - movl %sp@(4),%a0@(100) | adjust saved program counter (again) - movl %sp@(12),%sp@ | push ucp on stack + movl (%sp),%a0 + addql #8,UC_MCONTEXT_SP(%a0) | adjust saved stack pointer (again) + movl %sp@(4),UC_MCONTEXT_PC(%a0) | adjust saved program counter (again) + movl 12(%sp),(%sp) | push ucp on stack jbsr PIC_PLT(_C_LABEL(setcontext)) | setcontext(ucp) L1: addql #4,%sp | pop ucp rts +END(swapcontext) diff --git a/lib/libc/arch/m68k/gen/umulsi3.S b/lib/libc/arch/m68k/gen/umulsi3.S index c6d6fb22d..a60790302 100644 --- a/lib/libc/arch/m68k/gen/umulsi3.S +++ b/lib/libc/arch/m68k/gen/umulsi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: umulsi3.S,v 1.5 2003/08/07 16:42:12 agc Exp $ */ +/* $NetBSD: umulsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,12 +39,13 @@ #if 0 RCSID("from: @(#)umulsi3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: umulsi3.S,v 1.5 2003/08/07 16:42:12 agc Exp $") + RCSID("$NetBSD: umulsi3.S,v 1.7 2013/07/16 22:12:20 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* unsigned * unsigned */ ENTRY(__umulsi3) - movel %sp@(4),%d0 - mulul %sp@(8),%d0 + movel 4(%sp),%d0 + mulul 8(%sp),%d0 rts +END(__umulsi3) diff --git a/lib/libc/arch/m68k/genassym.cf b/lib/libc/arch/m68k/genassym.cf new file mode 100644 index 000000000..a9cad0aa4 --- /dev/null +++ b/lib/libc/arch/m68k/genassym.cf @@ -0,0 +1,52 @@ +# $NetBSD: genassym.cf,v 1.1 2013/07/17 01:41:17 matt Exp $ + +# +# Copyright (c) 2013 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Matt Thomas . +# +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +include +include +include + +define UC_LINK offsetof(ucontext_t, uc_link) +define UC_SIGMASK offsetof(ucontext_t, uc_sigmask) +define UC_MCONTEXT_D0 offsetof(ucontext_t, uc_mcontext.__gregs[_REG_D0]) +define UC_MCONTEXT_SP offsetof(ucontext_t, uc_mcontext.__gregs[_REG_A7]) +define UC_MCONTEXT_PC offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC]) +define UC_SIZE sizeof(ucontext_t) + +define SC_ONSTACK offsetof(struct sigcontext, sc_onstack) +define SC___MASK13 offsetof(struct sigcontext, __sc_mask13) +define SC_SP offsetof(struct sigcontext, sc_sp) +define SC_FP offsetof(struct sigcontext, sc_fp) +define SC_AP offsetof(struct sigcontext, sc_ap) +define SC_PC offsetof(struct sigcontext, sc_pc) +define SC_PS offsetof(struct sigcontext, sc_ps) +define SC_MASK offsetof(struct sigcontext, sc_mask) +define SC_SIZE sizeof(struct sigcontext) diff --git a/lib/libc/arch/m68k/hardfloat/Makefile.inc b/lib/libc/arch/m68k/hardfloat/Makefile.inc new file mode 100644 index 000000000..527b27662 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/Makefile.inc @@ -0,0 +1,16 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/07/18 21:29:31 matt Exp $ + +SRCS+= modf.S +SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \ + fpsetround.c fpsetsticky.c +# +# These allow softfloat programs to use the FPU. +# +SRCS+= adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S divsf3.S \ + extendsfdf2.S fixdfsi.S fixunsdfsi.S fixunssfsi.S floatsidf.S \ + muldf3.S mulsf3.S subdf3.S subsf3.S truncdfsf2.S + +SRCS+= floatunsidf.S floatunsisf.S + +SRCS+= lesf2.S ltsf2.S nesf2.S unordsf2.S +SRCS+= ledf2.S ltdf2.S nedf2.S unorddf2.S diff --git a/lib/libc/arch/m68k/gen/adddf3.S b/lib/libc/arch/m68k/hardfloat/adddf3.S similarity index 89% rename from lib/libc/arch/m68k/gen/adddf3.S rename to lib/libc/arch/m68k/hardfloat/adddf3.S index da3aa182e..7cc8dc39a 100644 --- a/lib/libc/arch/m68k/gen/adddf3.S +++ b/lib/libc/arch/m68k/hardfloat/adddf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: adddf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: adddf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,18 @@ #if 0 RCSID("from: @(#)adddf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: adddf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: adddf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* double + double */ ENTRY(__adddf3) - fmoved %sp@(4),%fp0 - faddd %sp@(12),%fp0 + fmoved 4(%sp),%fp0 + faddd 12(%sp),%fp0 #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts +END(__adddf3) diff --git a/lib/libc/arch/m68k/gen/addsf3.S b/lib/libc/arch/m68k/hardfloat/addsf3.S similarity index 91% rename from lib/libc/arch/m68k/gen/addsf3.S rename to lib/libc/arch/m68k/hardfloat/addsf3.S index 3c243db61..27893dcaf 100644 --- a/lib/libc/arch/m68k/gen/addsf3.S +++ b/lib/libc/arch/m68k/hardfloat/addsf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: addsf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: addsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,15 +39,16 @@ #if 0 RCSID("from: @(#)addsf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: addsf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: addsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* single + single */ ENTRY(__addsf3) - fmoves %sp@(4),%fp0 - fadds %sp@(8),%fp0 + fmoves 4(%sp),%fp0 + fadds 8(%sp),%fp0 #ifndef __SVR4_ABI__ fmoves %fp0,%d0 #endif rts +END(__addsf3) diff --git a/lib/libc/arch/m68k/gen/cmpdf2.S b/lib/libc/arch/m68k/hardfloat/cmpdf2.S similarity index 87% rename from lib/libc/arch/m68k/gen/cmpdf2.S rename to lib/libc/arch/m68k/hardfloat/cmpdf2.S index 3322c11a4..6869cac3b 100644 --- a/lib/libc/arch/m68k/gen/cmpdf2.S +++ b/lib/libc/arch/m68k/hardfloat/cmpdf2.S @@ -1,4 +1,4 @@ -/* $NetBSD: cmpdf2.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: cmpdf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)cmpdf2.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: cmpdf2.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: cmpdf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,12 +47,23 @@ /* double < double: -1 */ /* double == double: 0 */ ENTRY(__cmpdf2) - fmoved %sp@(4),%fp0 - fcmpd %sp@(12),%fp0 - fbgt Lagtb + fmoved 4(%sp),%fp0 + fcmpd 12(%sp),%fp0 + fbgt Lbgt +#ifdef __mcoldfire__ + fbeq Lbeq + movql #-1,%d0 +#else fslt %d0 extbl %d0 +#endif rts -Lagtb: +Lbgt: moveq #1,%d0 rts +#ifdef __mcoldfire__ +Lbeq: + clrl %d0 + rts +#endif +END(__cmpdf2) diff --git a/lib/libc/arch/m68k/gen/cmpsf2.S b/lib/libc/arch/m68k/hardfloat/cmpsf2.S similarity index 87% rename from lib/libc/arch/m68k/gen/cmpsf2.S rename to lib/libc/arch/m68k/hardfloat/cmpsf2.S index d42dd84ff..b79b5c849 100644 --- a/lib/libc/arch/m68k/gen/cmpsf2.S +++ b/lib/libc/arch/m68k/hardfloat/cmpsf2.S @@ -1,4 +1,4 @@ -/* $NetBSD: cmpsf2.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: cmpsf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)cmpsf2.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: cmpsf2.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: cmpsf2.S,v 1.2 2013/07/18 21:29:08 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,12 +47,23 @@ /* single < single: -1 */ /* single == single: 0 */ ENTRY(__cmpsf2) - fmoves %sp@(4),%fp0 - fcmps %sp@(8),%fp0 - fbgt Lagtb + fmoves 4(%sp),%fp0 + fcmps 8(%sp),%fp0 + fbgt Lbgt +#ifdef __mcoldfire__ + fbeq Lbeq + movql #-1,%d0 +#else fslt %d0 extbl %d0 +#endif rts -Lagtb: +Lbgt: moveq #1,%d0 rts +#ifdef __mcoldfire__ +Lbeq: + clrl %d0 + rts +#endif +END(__cmpsf2) diff --git a/lib/libc/arch/m68k/gen/divdf3.S b/lib/libc/arch/m68k/hardfloat/divdf3.S similarity index 89% rename from lib/libc/arch/m68k/gen/divdf3.S rename to lib/libc/arch/m68k/hardfloat/divdf3.S index 3611290db..222d22367 100644 --- a/lib/libc/arch/m68k/gen/divdf3.S +++ b/lib/libc/arch/m68k/hardfloat/divdf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: divdf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: divdf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,18 @@ #if 0 RCSID("from: @(#)divdf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: divdf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: divdf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* double / double */ ENTRY(__divdf3) - fmoved %sp@(4),%fp0 - fdivd %sp@(12),%fp0 + fmoved 4(%sp),%fp0 + fdivd 12(%sp),%fp0 #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts +END(__divdf3) diff --git a/lib/libc/arch/m68k/gen/divsf3.S b/lib/libc/arch/m68k/hardfloat/divsf3.S similarity index 91% rename from lib/libc/arch/m68k/gen/divsf3.S rename to lib/libc/arch/m68k/hardfloat/divsf3.S index 219f2233a..0ee7b5c6d 100644 --- a/lib/libc/arch/m68k/gen/divsf3.S +++ b/lib/libc/arch/m68k/hardfloat/divsf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: divsf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: divsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,15 +39,16 @@ #if 0 RCSID("from: @(#)divsf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: divsf3.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: divsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* single / single */ ENTRY(__divsf3) - fmoves %sp@(4),%fp0 - fdivs %sp@(8),%fp0 + fmoves 4(%sp),%fp0 + fdivs 8(%sp),%fp0 #ifndef __SVR4_ABI__ fmoves %fp0,%d0 #endif rts +END(__divsf3) diff --git a/lib/libc/arch/m68k/gen/extendsfdf2.S b/lib/libc/arch/m68k/hardfloat/extendsfdf2.S similarity index 89% rename from lib/libc/arch/m68k/gen/extendsfdf2.S rename to lib/libc/arch/m68k/hardfloat/extendsfdf2.S index 2ba61787b..e3088d513 100644 --- a/lib/libc/arch/m68k/gen/extendsfdf2.S +++ b/lib/libc/arch/m68k/hardfloat/extendsfdf2.S @@ -1,4 +1,4 @@ -/* $NetBSD: extendsfdf2.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: extendsfdf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,16 +39,17 @@ #if 0 RCSID("from: @(#)extendsfdf2.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: extendsfdf2.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: extendsfdf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* (double) float */ ENTRY(__extendsfdf2) - fmoves %sp@(4),%fp0 + fmoves 4(%sp),%fp0 #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts +END(__extendsfdf2) diff --git a/lib/libc/arch/m68k/gen/fixdfsi.S b/lib/libc/arch/m68k/hardfloat/fixdfsi.S similarity index 92% rename from lib/libc/arch/m68k/gen/fixdfsi.S rename to lib/libc/arch/m68k/hardfloat/fixdfsi.S index 6ef5b56b0..1303c786e 100644 --- a/lib/libc/arch/m68k/gen/fixdfsi.S +++ b/lib/libc/arch/m68k/hardfloat/fixdfsi.S @@ -1,4 +1,4 @@ -/* $NetBSD: fixdfsi.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: fixdfsi.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,12 +39,13 @@ #if 0 RCSID("from: @(#)fixdfsi.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: fixdfsi.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: fixdfsi.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* (int) double */ ENTRY(__fixdfsi) - fintrzd %sp@(4),%fp0 + fintrzd 4(%sp),%fp0 fmovel %fp0,%d0 rts +END(__fixdfsi) diff --git a/lib/libc/arch/m68k/gen/fixunsdfsi.S b/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S similarity index 81% rename from lib/libc/arch/m68k/gen/fixunsdfsi.S rename to lib/libc/arch/m68k/hardfloat/fixunsdfsi.S index 57669d6c2..c8f54afb4 100644 --- a/lib/libc/arch/m68k/gen/fixunsdfsi.S +++ b/lib/libc/arch/m68k/hardfloat/fixunsdfsi.S @@ -1,4 +1,4 @@ -/* $NetBSD: fixunsdfsi.S,v 1.5 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: fixunsdfsi.S,v 1.2 2013/07/18 21:29:08 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,19 +39,37 @@ #if 0 RCSID("from: @(#)fixunsdfsi.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: fixunsdfsi.S,v 1.5 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: fixunsdfsi.S,v 1.2 2013/07/18 21:29:08 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ +#ifdef __mcoldfire__ + .section .rodata,"a" + .p2align 4 +L2G: .double 0r2147483648.0 +#endif + /* (unsigned) double */ ENTRY(__fixunsdfsi) - fintrzd %sp@(4),%fp0 - fcmpd #0r2147483648.0,%fp0 + fintrzd 4(%sp),%fp0 +#ifdef __mcoldfire__ + LEA_LCL(L2G,%a0) + fmoved (%a0),%fp1 + fcmpd %fp1,%fp0 +#else + fmoved #0r2147483648.0,%fp1 + fcmpx %fp1,%fp0 +#endif fbge Lwaybig fmovel %fp0,%d0 rts Lwaybig: - fsubd #0r2147483648.0,%fp0 +#ifdef __mcoldfire__ + fsubd %fp1,%fp0 +#else + fsubx %fp1,%fp0 +#endif fmovel %fp0,%d0 bset #31,%d0 rts +END(__fixunsdfsi) diff --git a/lib/libc/stdio/sprintf.c b/lib/libc/arch/m68k/hardfloat/fixunssfsi.S similarity index 65% rename from lib/libc/stdio/sprintf.c rename to lib/libc/arch/m68k/hardfloat/fixunssfsi.S index 8ac2cc29d..15cacb6f9 100644 --- a/lib/libc/stdio/sprintf.c +++ b/lib/libc/arch/m68k/hardfloat/fixunssfsi.S @@ -1,11 +1,12 @@ -/* $NetBSD: sprintf.c,v 1.16 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: fixunssfsi.S,v 1.1 2013/07/18 21:25:11 matt Exp $ */ /*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. * * This code is derived from software contributed to Berkeley by - * Chris Torek. + * the Systems Programming Group of the University of Utah Computer + * Science Department. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -32,47 +33,43 @@ * SUCH DAMAGE. */ -#include +#include + #if defined(LIBC_SCCS) && !defined(lint) #if 0 -static char sccsid[] = "@(#)sprintf.c 8.1 (Berkeley) 6/4/93"; + RCSID("from: @(#)fixunssfsi.s 5.1 (Berkeley) 6/7/90") #else -__RCSID("$NetBSD: sprintf.c,v 1.16 2012/03/15 18:22:30 christos Exp $"); + RCSID("$NetBSD: fixunssfsi.S,v 1.1 2013/07/18 21:25:11 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ -#include -#include -#include -#include -#include - -#include "reentrant.h" -#include "local.h" - -#ifdef _FORTIFY_SOURCE -#undef sprintf +#ifdef __mcoldfire__ + .section .rodata,"a" + .p2align 4 +L2G: .double 0r2147483648.0 #endif -int -sprintf(char *str, char const *fmt, ...) -{ - int ret; - va_list ap; - FILE f; - struct __sfileext fext; - - _DIAGASSERT(str != NULL); - _DIAGASSERT(fmt != NULL); - - _FILEEXT_SETUP(&f, &fext); - f._file = -1; - f._flags = __SWR | __SSTR; - f._bf._base = f._p = (unsigned char *)str; - f._bf._size = f._w = INT_MAX; - va_start(ap, fmt); - ret = __vfprintf_unlocked(&f, fmt, ap); - va_end(ap); - *f._p = 0; - return ret; -} +/* single -> unsigned */ +ENTRY(__fixunssfsi) + fintrzs 4(%sp),%fp0 +#ifdef __mcoldfire__ + LEA_LCL(L2G,%a0) + fmoved (%a0),%fp1 + fcmpd %fp1,%fp0 +#else + fmoved #0r2147483648.0,%fp1 + fcmpx %fp1,%fp0 +#endif + fbge Lwaybig + fmovel %fp0,%d0 + rts +Lwaybig: +#ifdef __mcoldfire__ + fsubd %fp1,%fp0 +#else + fsubx %fp1,%fp0 +#endif + fmovel %fp0,%d0 + bset #31,%d0 + rts +END(__fixunssfsi) diff --git a/lib/libc/arch/m68k/gen/floatsidf.S b/lib/libc/arch/m68k/hardfloat/floatsidf.S similarity index 89% rename from lib/libc/arch/m68k/gen/floatsidf.S rename to lib/libc/arch/m68k/hardfloat/floatsidf.S index d4fe49a0a..08f07a129 100644 --- a/lib/libc/arch/m68k/gen/floatsidf.S +++ b/lib/libc/arch/m68k/hardfloat/floatsidf.S @@ -1,4 +1,4 @@ -/* $NetBSD: floatsidf.S,v 1.6 2003/08/07 16:42:10 agc Exp $ */ +/* $NetBSD: floatsidf.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,17 @@ #if 0 RCSID("from: @(#)floatsidf.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: floatsidf.S,v 1.6 2003/08/07 16:42:10 agc Exp $") + RCSID("$NetBSD: floatsidf.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* (double) int */ ENTRY(__floatsidf) - fmovel %sp@(4),%fp0 + fmovel 4(%sp),%fp0 #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts - +END(__floatsidf) diff --git a/lib/libc/arch/m68k/hardfloat/floatunsidf.S b/lib/libc/arch/m68k/hardfloat/floatunsidf.S new file mode 100644 index 000000000..acf90594c --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/floatunsidf.S @@ -0,0 +1,70 @@ +/* $NetBSD: floatunsidf.S,v 1.1 2013/07/18 21:25:11 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: floatunsidf.S,v 1.1 2013/07/18 21:25:11 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +#ifdef __mcoldfire__ + .section .rodata,"a" + .p2align 2 +L2G: .double 0r2147483648.0 +#endif + +/* LINTSTUB: double __floatunsidf(unsigned int); */ +ENTRY(__floatunsidf) + movl 4(%sp),%d0 + jpl 1f + fmovel %d0,%fp0 +#ifdef __SVR4_ABI__ + rts +#else + jra Lret +#endif +1: + bclr #31,%d0 + fmovel %d0,%fp0 +#ifdef __mcoldfire__ + LEA_LCL(L2G,%a0) + faddd (%a0),%fp0 +#else + faddd #0r2147483648.0,%fp0 +#endif +#ifndef __SVR4_ABI__ +Lret: + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 +#endif + rts +END(__floatunsidf) diff --git a/lib/libc/arch/m68k/hardfloat/floatunsisf.S b/lib/libc/arch/m68k/hardfloat/floatunsisf.S new file mode 100644 index 000000000..6c777e842 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/floatunsisf.S @@ -0,0 +1,66 @@ +/* $NetBSD: floatunsisf.S,v 1.2 2013/07/19 22:32:04 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: floatunsisf.S,v 1.2 2013/07/19 22:32:04 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +#ifdef __mcoldfire__ + .section .rodata,"a" + .p2align 2 +L2G: .double 0r2147483648.0 +#endif + +/* LINTSTUB: double __floatunsisf(unsigned int); */ +ENTRY(__floatunsisf) + movl 4(%sp),%d0 + jpl 1f + fmovel %d0,%fp0 +#ifndef __SVR4_ABI__ + fmoves %fp0,%d0 +#endif + rts +1: + bclr #31,%d0 + fmovel %d0,%fp0 +#ifdef __mcoldfire__ + LEA_LCL(L2G,%a0) + faddd (%a0),%fp0 +#else + faddd #0r2147483648.0,%fp0 +#endif +#ifndef __SVR4_ABI__ + fmoves %fp0,%d0 +#endif + rts +END(__floatunsisf) diff --git a/lib/libc/arch/m68k/hardfloat/flt_rounds.c b/lib/libc/arch/m68k/hardfloat/flt_rounds.c new file mode 100644 index 000000000..81aaef6b0 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/flt_rounds.c @@ -0,0 +1,45 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +int __flt_rounds(void); + +int +__flt_rounds(void) +{ + int fpcr; + + __asm("fmovel %%fpcr,%0" : "=d"(fpcr)); + + return __SHIFTOUT(fpcr, FPCR_ROUND) ^ 1; +} diff --git a/lib/libc/arch/m68k/hardfloat/fpgetmask.c b/lib/libc/arch/m68k/hardfloat/fpgetmask.c new file mode 100644 index 000000000..48adb2ab4 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/fpgetmask.c @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +#ifdef __weak_alias +__weak_alias(fpgetmask,_fpgetmask) +#endif + +fp_except +_fpgetmask(void) +{ + int fpcr; + + __asm("fmovel %%fpcr,%0" : "=d"(fpcr)); + + return __SHIFTOUT(fpcr, FPCR_EXCP2); +} diff --git a/lib/libc/arch/m68k/hardfloat/fpgetround.c b/lib/libc/arch/m68k/hardfloat/fpgetround.c new file mode 100644 index 000000000..9965d1102 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/fpgetround.c @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +#ifdef __weak_alias +__weak_alias(fpgetround,_fpgetround) +#endif + +fp_rnd +_fpgetround(void) +{ + int fpcr; + + __asm("fmovel %%fpcr,%0" : "=d"(fpcr)); + + return __SHIFTOUT(fpcr, FPCR_ROUND); +} diff --git a/lib/libc/arch/m68k/hardfloat/fpgetsticky.c b/lib/libc/arch/m68k/hardfloat/fpgetsticky.c new file mode 100644 index 000000000..69973abe2 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/fpgetsticky.c @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +#ifdef __weak_alias +__weak_alias(fpgetsticky,_fpgetsticky) +#endif + +fp_except +_fpgetsticky(void) +{ + int fpsr; + + __asm("fmovel %%fpsr,%0" : "=d"(fpsr)); + + return __SHIFTOUT(fpsr, FPSR_AEX); +} diff --git a/lib/libc/arch/m68k/hardfloat/fpsetmask.c b/lib/libc/arch/m68k/hardfloat/fpsetmask.c new file mode 100644 index 000000000..b619224de --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/fpsetmask.c @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +#ifdef __weak_alias +__weak_alias(fpsetmask,_fpsetmask) +#endif + +fp_except +_fpsetmask(fp_except new) +{ + int old_fpcr, new_fpcr; + + __asm("fmovel %%fpcr,%0" : "=d"(old_fpcr)); + + new_fpcr = (old_fpcr & ~FPCR_EXCP2) | __SHIFTIN(new, FPCR_EXCP2); + + __asm("fmovel %0,%%fpcr" :: "d"(new_fpcr)); + + return __SHIFTOUT(old_fpcr, FPCR_EXCP2); +} diff --git a/lib/libc/arch/m68k/hardfloat/fpsetround.c b/lib/libc/arch/m68k/hardfloat/fpsetround.c new file mode 100644 index 000000000..2c93f39ac --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/fpsetround.c @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +#ifdef __weak_alias +__weak_alias(fpsetround,_fpsetround) +#endif + +fp_rnd +_fpsetround(fp_rnd new) +{ + int old_fpcr, new_fpcr; + + __asm("fmovel %%fpcr,%0" : "=d"(old_fpcr)); + + new_fpcr = (old_fpcr & ~FPCR_ROUND) | __SHIFTIN(new, FPCR_ROUND); + + __asm("fmovel %0,%%fpcr" :: "d"(new_fpcr)); + + return __SHIFTOUT(old_fpcr, FPCR_ROUND); +} diff --git a/lib/libc/arch/m68k/hardfloat/fpsetsticky.c b/lib/libc/arch/m68k/hardfloat/fpsetsticky.c new file mode 100644 index 000000000..f202ef926 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/fpsetsticky.c @@ -0,0 +1,51 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 "namespace.h" + +#include +#include + +#ifdef __weak_alias +__weak_alias(fpsetsticky,_fpsetsticky) +#endif + +fp_except +_fpsetsticky(fp_except new) +{ + int old_fpsr, new_fpsr; + + __asm("fmovel %%fpsr,%0" : "=d"(old_fpsr)); + + new_fpsr = (old_fpsr & ~FPSR_AEX) | __SHIFTIN(new, FPSR_AEX); + + __asm("fmovel %0,%%fpsr" :: "d"(new_fpsr)); + + return __SHIFTOUT(old_fpsr, FPSR_AEX); +} diff --git a/lib/libc/string/_strerror_r.c b/lib/libc/arch/m68k/hardfloat/ldexp_881.c similarity index 75% rename from lib/libc/string/_strerror_r.c rename to lib/libc/arch/m68k/hardfloat/ldexp_881.c index 321c205e6..319271a5c 100644 --- a/lib/libc/string/_strerror_r.c +++ b/lib/libc/arch/m68k/hardfloat/ldexp_881.c @@ -1,11 +1,11 @@ -/* $NetBSD: _strerror_r.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ +/* $NetBSD: ldexp_881.c,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- - * Copyright (c) 2005 The NetBSD Foundation, Inc. + * Copyright (c) 1998 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation - * by Christos Zoulas. + * by Charles M. Hannum. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -28,22 +28,28 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ + #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _strerror_r.c,v 1.3 2008/04/28 20:23:00 martin Exp $"); +__RCSID("$NetBSD: ldexp_881.c,v 1.1 2013/07/17 06:39:06 matt Exp $"); #endif /* LIBC_SCCS and not lint */ -#if defined(__indr_reference) -__indr_reference(_strerror_r, strerror_r) -#else +#include +#include +#include -#include -int _strerror_r(int, char *, size_t); - -int -strerror_r(int num, char *buf, size_t siz) +/* + * ldexp(value, exp): return value * (2 ** exp). + */ +double +ldexp(value, exp2) + double value; + int exp2; { + double temp; - return _strerror_r(num, buf, siz); + __asm ("fscalel %2,%1" + : "=f" (temp) + : "0" (value), "g" (exp2)); + return (temp); } -#endif diff --git a/lib/libc/arch/m68k/hardfloat/ledf2.S b/lib/libc/arch/m68k/hardfloat/ledf2.S new file mode 100644 index 000000000..f98852717 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/ledf2.S @@ -0,0 +1,55 @@ +/* $NetBSD: ledf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: ledf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +STRONG_ALIAS(__gtdf2,__ledf2) + +/* libgcc1.c says a > b */ +/* libgcc1.c says 1 - (a <= b) */ +ENTRY(__ledf2) + fmoved 4(%sp),%fp0 + fcmpd 12(%sp),%fp0 + fbgt Lbgt + movql #1,%d0 + rts +Lbgt: + clrl %d0 + rts +END(__ledf2) diff --git a/lib/libc/arch/m68k/hardfloat/lesf2.S b/lib/libc/arch/m68k/hardfloat/lesf2.S new file mode 100644 index 000000000..c0f51f0c8 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/lesf2.S @@ -0,0 +1,55 @@ +/* $NetBSD: lesf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: lesf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +STRONG_ALIAS(__gtsf2,__lesf2) + +/* libgcc1.c says a > b */ +/* libgcc1.c says 1 - (a <= b) */ +ENTRY(__lesf2) + fmoves 4(%sp),%fp0 + fcmps 8(%sp),%fp0 + fbgt Lbgt + movql #1,%d0 + rts +Lbgt: + clrl %d0 + rts +END(__lesf2) diff --git a/lib/libc/arch/m68k/hardfloat/ltdf2.S b/lib/libc/arch/m68k/hardfloat/ltdf2.S new file mode 100644 index 000000000..b6a7ccfa9 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/ltdf2.S @@ -0,0 +1,55 @@ +/* $NetBSD: ltdf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: ltdf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +STRONG_ALIAS(__gedf2,__ltdf2) + +/* libgcc1.c says (a >= b) - 1 */ +/* libgcc1.c says -(a < b) */ +ENTRY(__ltdf2) + fmoved 4(%sp),%fp0 + fcmpd 12(%sp),%fp0 + fbge Lbge + movql #-1,%d0 + rts +Lbge: + clrl %d0 + rts +END(__ltdf2) diff --git a/lib/libc/arch/m68k/hardfloat/ltsf2.S b/lib/libc/arch/m68k/hardfloat/ltsf2.S new file mode 100644 index 000000000..21ab3a7a2 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/ltsf2.S @@ -0,0 +1,55 @@ +/* $NetBSD: ltsf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: ltsf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +STRONG_ALIAS(__gesf2,__ltsf2) + +/* libgcc1.c says (a >= b) - 1 */ +/* libgcc1.c says -(a < b) */ +ENTRY(__ltsf2) + fmoves 4(%sp),%fp0 + fcmps 8(%sp),%fp0 + fbge Lbge + movql #-1,%d0 + rts +Lbge: + clrl %d0 + rts +END(__ltsf2) diff --git a/lib/libc/arch/m68k/gen/modf.S b/lib/libc/arch/m68k/hardfloat/modf.S similarity index 85% rename from lib/libc/arch/m68k/gen/modf.S rename to lib/libc/arch/m68k/hardfloat/modf.S index 57f236932..e669c396b 100644 --- a/lib/libc/arch/m68k/gen/modf.S +++ b/lib/libc/arch/m68k/hardfloat/modf.S @@ -1,4 +1,4 @@ -/* $NetBSD: modf.S,v 1.6 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: modf.S,v 1.2 2013/07/18 21:29:08 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)modf.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: modf.S,v 1.6 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: modf.S,v 1.2 2013/07/18 21:29:08 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -48,14 +48,23 @@ * returns: xxx and n (in *iptr) where val == n.xxx */ ENTRY(modf) - fmoved %sp@(4),%fp0 - movel %sp@(12),%a0 + fmoved 4(%sp),%fp0 + movel 12(%sp),%a0 +#ifdef __mcoldfire__ + fintrzd %fp0,%fp1 +#else fintrzx %fp0,%fp1 - fmoved %fp1,%a0@ +#endif + fmoved %fp1,(%a0) +#ifdef __mcoldfire__ + fsubd %fp1,%fp0 +#else fsubx %fp1,%fp0 +#endif #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts +END(modf) diff --git a/lib/libc/arch/m68k/gen/muldf3.S b/lib/libc/arch/m68k/hardfloat/muldf3.S similarity index 89% rename from lib/libc/arch/m68k/gen/muldf3.S rename to lib/libc/arch/m68k/hardfloat/muldf3.S index e637ebfce..13c5f9492 100644 --- a/lib/libc/arch/m68k/gen/muldf3.S +++ b/lib/libc/arch/m68k/hardfloat/muldf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: muldf3.S,v 1.7 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: muldf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,18 @@ #if 0 RCSID("from: @(#)muldf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: muldf3.S,v 1.7 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: muldf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* double * double */ ENTRY(__muldf3) - fmoved %sp@(4),%fp0 - fmuld %sp@(12),%fp0 + fmoved 4(%sp),%fp0 + fmuld 12(%sp),%fp0 #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts +END(__muldf3) diff --git a/lib/libc/arch/m68k/gen/mulsf3.S b/lib/libc/arch/m68k/hardfloat/mulsf3.S similarity index 91% rename from lib/libc/arch/m68k/gen/mulsf3.S rename to lib/libc/arch/m68k/hardfloat/mulsf3.S index 61bf7a3c8..896c370a0 100644 --- a/lib/libc/arch/m68k/gen/mulsf3.S +++ b/lib/libc/arch/m68k/hardfloat/mulsf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: mulsf3.S,v 1.6 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: mulsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,15 +39,16 @@ #if 0 RCSID("from: @(#)mulsf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: mulsf3.S,v 1.6 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: mulsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* single * single */ ENTRY(__mulsf3) - fmoves %sp@(4),%fp0 - fmuls %sp@(8),%fp0 + fmoves 4(%sp),%fp0 + fmuls 8(%sp),%fp0 #ifndef __SVR4_ABI__ fmoves %fp0,%d0 #endif rts +END(__mulsf3) diff --git a/lib/libc/arch/m68k/hardfloat/nedf2.S b/lib/libc/arch/m68k/hardfloat/nedf2.S new file mode 100644 index 000000000..d4bfa4ada --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/nedf2.S @@ -0,0 +1,55 @@ +/* $NetBSD: nedf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: nedf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +STRONG_ALIAS(__eqdf2,__nedf2) + +/* single != single: 1 */ +/* single == single: 0 */ +ENTRY(__nedf2) + fmoved 4(%sp),%fp0 + fcmpd 12(%sp),%fp0 + fbeq Lbeq + movql #1,%d0 + rts +Lbeq: + clrl %d0 + rts +END(__nedf2) diff --git a/lib/libc/arch/m68k/hardfloat/nesf2.S b/lib/libc/arch/m68k/hardfloat/nesf2.S new file mode 100644 index 000000000..b3f771280 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/nesf2.S @@ -0,0 +1,55 @@ +/* $NetBSD: nesf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: nesf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +STRONG_ALIAS(__eqsf2,__nesf2) + +/* single != single: 1 */ +/* single == single: 0 */ +ENTRY(__nesf2) + fmoves 4(%sp),%fp0 + fcmps 8(%sp),%fp0 + fbeq Lbeq + movql #1,%d0 + rts +Lbeq: + clrl %d0 + rts +END(__nesf2) diff --git a/lib/libc/arch/m68k/gen/subdf3.S b/lib/libc/arch/m68k/hardfloat/subdf3.S similarity index 89% rename from lib/libc/arch/m68k/gen/subdf3.S rename to lib/libc/arch/m68k/hardfloat/subdf3.S index beba95510..7f2b988e7 100644 --- a/lib/libc/arch/m68k/gen/subdf3.S +++ b/lib/libc/arch/m68k/hardfloat/subdf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: subdf3.S,v 1.6 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: subdf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,17 +39,18 @@ #if 0 RCSID("from: @(#)subdf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: subdf3.S,v 1.6 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: subdf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* double - double */ ENTRY(__subdf3) - fmoved %sp@(4),%fp0 - fsubd %sp@(12),%fp0 + fmoved 4(%sp),%fp0 + fsubd 12(%sp),%fp0 #ifndef __SVR4_ABI__ - fmoved %fp0,%sp@- - movel %sp@+,%d0 - movel %sp@+,%d1 + fmoved %fp0,-(%sp) + movel (%sp)+,%d0 + movel (%sp)+,%d1 #endif rts +END(__subdf3) diff --git a/lib/libc/arch/m68k/gen/subsf3.S b/lib/libc/arch/m68k/hardfloat/subsf3.S similarity index 91% rename from lib/libc/arch/m68k/gen/subsf3.S rename to lib/libc/arch/m68k/hardfloat/subsf3.S index ab3a852a4..10e7af8b5 100644 --- a/lib/libc/arch/m68k/gen/subsf3.S +++ b/lib/libc/arch/m68k/hardfloat/subsf3.S @@ -1,4 +1,4 @@ -/* $NetBSD: subsf3.S,v 1.6 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: subsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,15 +39,16 @@ #if 0 RCSID("from: @(#)subsf3.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: subsf3.S,v 1.6 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: subsf3.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* single - single */ ENTRY(__subsf3) - fmoves %sp@(4),%fp0 - fsubs %sp@(8),%fp0 + fmoves 4(%sp),%fp0 + fsubs 8(%sp),%fp0 #ifndef __SVR4_ABI__ fmoves %fp0,%d0 #endif rts +END(__subsf3) diff --git a/lib/libc/arch/m68k/gen/truncdfsf2.S b/lib/libc/arch/m68k/hardfloat/truncdfsf2.S similarity index 92% rename from lib/libc/arch/m68k/gen/truncdfsf2.S rename to lib/libc/arch/m68k/hardfloat/truncdfsf2.S index 7a3e1739f..234d617e4 100644 --- a/lib/libc/arch/m68k/gen/truncdfsf2.S +++ b/lib/libc/arch/m68k/hardfloat/truncdfsf2.S @@ -1,4 +1,4 @@ -/* $NetBSD: truncdfsf2.S,v 1.6 2003/08/07 16:42:11 agc Exp $ */ +/* $NetBSD: truncdfsf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,14 +39,15 @@ #if 0 RCSID("from: @(#)truncdfsf2.s 5.1 (Berkeley) 6/7/90") #else - RCSID("$NetBSD: truncdfsf2.S,v 1.6 2003/08/07 16:42:11 agc Exp $") + RCSID("$NetBSD: truncdfsf2.S,v 1.1 2013/07/17 06:39:06 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ /* (float) double */ ENTRY(__truncdfsf2) - fmoved %sp@(4),%fp0 + fmoved 4(%sp),%fp0 #ifndef __SVR4_ABI__ fmoves %fp0,%d0 #endif rts +END(__truncdfsf2) diff --git a/lib/libc/arch/m68k/hardfloat/unorddf2.S b/lib/libc/arch/m68k/hardfloat/unorddf2.S new file mode 100644 index 000000000..7267646b3 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/unorddf2.S @@ -0,0 +1,52 @@ +/* $NetBSD: unorddf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: unorddf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +/* libgcc1.c says 0 if both are ordered */ +ENTRY(__unordsf2) + fmoves 4(%sp),%fp0 + fcmps 8(%sp),%fp0 + fbor Lbor + movql #1,%d0 + rts +Lbor: + clrl %d0 + rts +END(__unordsf2) diff --git a/lib/libc/arch/m68k/hardfloat/unordsf2.S b/lib/libc/arch/m68k/hardfloat/unordsf2.S new file mode 100644 index 000000000..9ecb9f862 --- /dev/null +++ b/lib/libc/arch/m68k/hardfloat/unordsf2.S @@ -0,0 +1,53 @@ +/* $NetBSD: unordsf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $ */ + +/*- + * Copyright (c) 1990 The Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * the Systems Programming Group of the University of Utah Computer + * Science Department. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#if defined(LIBC_SCCS) && !defined(lint) +RCSID("$NetBSD: unordsf2.S,v 1.1 2013/07/18 12:05:30 matt Exp $") +#endif /* LIBC_SCCS and not lint */ + +/* libgcc1.c says (a >= b) - 1 */ +/* libgcc1.c says -(a < b) */ +ENTRY(__unorddf2) + fmoved 4(%sp),%fp0 + fcmpd 12(%sp),%fp0 + fbor Lbor + movql #1,%d0 + rts +Lbor: + clrl %d0 + rts +END(__unorddf2) diff --git a/lib/libc/arch/m68k/quad/ashldi3.S b/lib/libc/arch/m68k/quad/ashldi3.S index 22e527d05..b80739a77 100644 --- a/lib/libc/arch/m68k/quad/ashldi3.S +++ b/lib/libc/arch/m68k/quad/ashldi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: ashldi3.S,v 1.4 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: ashldi3.S,v 1.7 2013/07/18 21:18:36 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -37,11 +37,11 @@ | d3 offset (32 - shift) ENTRY(__ashldi3) - link %a6,#0 - moveml %d2-%d4,%sp@- - movel %a6@(8),%d0 - movel %a6@(12),%d1 - movel %a6@(16),%d2 + link %fp,#-12 + moveml %d2-%d4,(%sp) + movel 8(%fp),%d0 + movel 12(%fp),%d1 + movel 16(%fp),%d2 moveq #32,%d3 subl %d2,%d3 jgt L2 @@ -55,6 +55,7 @@ L2: asll %d2,%d0 lsrl %d3,%d4 orl %d4,%d0 asll %d2,%d1 -L3: moveml %a6@(-12),%d2-%d4 - unlk %a6 +L3: moveml -12(%fp),%d2-%d4 + unlk %fp rts +END(__ashldi3) diff --git a/lib/libc/arch/m68k/quad/ashrdi3.S b/lib/libc/arch/m68k/quad/ashrdi3.S index 5289ec977..aa861636b 100644 --- a/lib/libc/arch/m68k/quad/ashrdi3.S +++ b/lib/libc/arch/m68k/quad/ashrdi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: ashrdi3.S,v 1.4 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: ashrdi3.S,v 1.7 2013/07/18 21:18:36 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -37,11 +37,11 @@ | d3 offset (32 - shift) ENTRY(__ashrdi3) - link %a6,#0 - moveml %d2-%d4,%sp@- - movel %a6@(8),%d0 - movel %a6@(12),%d1 - movel %a6@(16),%d2 + link %fp,#-12 + moveml %d2-%d4,(%sp) + movel 8(%fp),%d0 + movel 12(%fp),%d1 + movel 16(%fp),%d2 moveq #32,%d3 subl %d2,%d3 jgt L2 @@ -56,6 +56,7 @@ L2: lsrl %d2,%d1 asll %d3,%d4 orl %d4,%d1 asrl %d2,%d0 -L3: moveml %a6@(-12),%d2-%d4 - unlk %a6 +L3: moveml -12(%fp),%d2-%d4 + unlk %fp rts +END(__ashrdi3) diff --git a/lib/libc/arch/m68k/quad/lshrdi3.S b/lib/libc/arch/m68k/quad/lshrdi3.S index cf3794d50..26815640f 100644 --- a/lib/libc/arch/m68k/quad/lshrdi3.S +++ b/lib/libc/arch/m68k/quad/lshrdi3.S @@ -1,4 +1,4 @@ -/* $NetBSD: lshrdi3.S,v 1.5 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: lshrdi3.S,v 1.8 2013/07/18 21:18:36 matt Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -37,11 +37,11 @@ | d3 offset (32 - shift) ENTRY(__lshrdi3) - link %a6,#0 - moveml %d2-%d4,%sp@- - movel %a6@(8),%d0 - movel %a6@(12),%d1 - movel %a6@(16),%d2 + link %fp,#-12 + moveml %d2-%d4,(%sp) + movel 8(%fp),%d0 + movel 12(%fp),%d1 + movel 16(%fp),%d2 moveq #32,%d3 subl %d2,%d3 jgt L2 @@ -55,6 +55,7 @@ L2: lsrl %d2,%d1 asll %d3,%d4 orl %d4,%d1 lsrl %d2,%d0 -L3: moveml %a6@(-12),%d2-%d4 - unlk %a6 +L3: moveml -12(%fp),%d2-%d4 + unlk %fp rts +END(__lshrdi3) diff --git a/lib/libc/arch/m68k/softfloat/softfloat.h b/lib/libc/arch/m68k/softfloat/softfloat.h index b45238d27..0bef6646d 100644 --- a/lib/libc/arch/m68k/softfloat/softfloat.h +++ b/lib/libc/arch/m68k/softfloat/softfloat.h @@ -1,4 +1,4 @@ -/* $NetBSD: softfloat.h,v 1.4 2011/07/07 07:14:57 matt Exp $ */ +/* $NetBSD: softfloat.h,v 1.5 2013/07/18 21:30:40 matt Exp $ */ /* This is a derivative work. */ @@ -41,7 +41,9 @@ input or output the `floatx80' type will be defined. The same applies to the `FLOAT128' macro and the quadruple-precision format `float128'. ------------------------------------------------------------------------------- */ +#ifndef __mcoldfire__ #define FLOATX80 +#endif /* #define FLOAT128 */ #include diff --git a/lib/libc/arch/m68k/stdlib/abs.S b/lib/libc/arch/m68k/stdlib/abs.S index 261136df9..835b406e1 100644 --- a/lib/libc/arch/m68k/stdlib/abs.S +++ b/lib/libc/arch/m68k/stdlib/abs.S @@ -1,4 +1,4 @@ -/* $NetBSD: abs.S,v 1.6 2003/08/07 16:42:12 agc Exp $ */ +/* $NetBSD: abs.S,v 1.8 2013/07/16 21:48:32 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)abs.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: abs.S,v 1.6 2003/08/07 16:42:12 agc Exp $") + RCSID("$NetBSD: abs.S,v 1.8 2013/07/16 21:48:32 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -51,8 +51,9 @@ ENTRY_NOPROFILE(labs) /* abs - int absolute value */ ENTRY(abs) - movl %sp@(4),%d0 + movl 4(%sp),%d0 jge L1 negl %d0 L1: rts +END(abs) diff --git a/lib/libc/arch/m68k/stdlib/llabs.S b/lib/libc/arch/m68k/stdlib/llabs.S index b565dedcb..5b456cae1 100644 --- a/lib/libc/arch/m68k/stdlib/llabs.S +++ b/lib/libc/arch/m68k/stdlib/llabs.S @@ -1,4 +1,4 @@ -/* $NetBSD: llabs.S,v 1.4 2008/08/04 21:29:28 matt Exp $ */ +/* $NetBSD: llabs.S,v 1.6 2013/07/16 21:48:32 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,25 +39,21 @@ #if 0 RCSID("from: @(#)abs.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: llabs.S,v 1.4 2008/08/04 21:29:28 matt Exp $") + RCSID("$NetBSD: llabs.S,v 1.6 2013/07/16 21:48:32 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ -#ifdef WEAK_ALIAS WEAK_ALIAS(llabs, _llabs) WEAK_ALIAS(imaxabs, _llabs) -#endif + /* llabs - long long int absolute value */ -#ifdef WEAK_ALIAS ENTRY(_llabs) -#else -ENTRY(llabs) -#endif - movl %sp@(8),%d1 - movl %sp@(4),%d0 + movl 8(%sp),%d1 + movl 4(%sp),%d0 jge L1 negl %d1 negxl %d0 L1: rts +END(_llabs) diff --git a/lib/libc/arch/m68k/string/memccpy.S b/lib/libc/arch/m68k/string/memccpy.S index 4a88a9c8e..11491a273 100644 --- a/lib/libc/arch/m68k/string/memccpy.S +++ b/lib/libc/arch/m68k/string/memccpy.S @@ -1,4 +1,4 @@ -/* $NetBSD: memccpy.S,v 1.1 2001/02/05 00:17:22 scottr Exp $ */ +/* $NetBSD: memccpy.S,v 1.4 2013/07/18 21:37:47 matt Exp $ */ /* * Copyright (C) 1999 Scott Reynolds. All rights reserved. @@ -29,31 +29,40 @@ #include #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: memccpy.S,v 1.1 2001/02/05 00:17:22 scottr Exp $") + RCSID("$NetBSD: memccpy.S,v 1.4 2013/07/18 21:37:47 matt Exp $") #endif /* LIBC_SCCS and not lint */ ENTRY(memccpy) - movl %sp@(16),%d0 | count + movl 16(%sp),%d0 | count jeq Lmcbail | nothing to do - movl %sp@(4),%a0 | a0 = toaddr + movl 4(%sp),%a0 | a0 = toaddr +#ifndef __mcoldfire__ subql #1,%d0 | prepare count for DBcc loop - movl %sp@(8),%a1 | a1 = fromaddr - movl %sp@(12),%d1 | d1 = terminator +#endif + movl 8(%sp),%a1 | a1 = fromaddr + movl 12(%sp),%d1 | d1 = terminator jeq Lmcloop | handle ASCII NUL specially - movl %d2,%sp@- | save scratch register + movl %d2,-(%sp) | save scratch register Lmcnzloop: - movb %a1@+,%d2 | move a byte - movb %d2,%a0@+ + movb (%a1)+,%d2 | move a byte + movb %d2,(%a0)+ cmpb %d2,%d1 | found the terminator? +#ifndef __mcoldfire__ dbeq %d0,Lmcnzloop | if not, keep transferring, +#endif jeq Lmcnzdone | otherwise done +#ifdef __mcoldfire__ + subql #1,%d0 + jne Lmcnzloop +#else clrw %d0 | check to see if more to do subql #1,%d0 jcc Lmcnzloop | yes, keep going... +#endif - movl %sp@+,%d2 | restore scratch register + movl (%sp)+,%d2 | restore scratch register movql #0,%d0 | no terminator found, return NULL #ifdef __SVR4_ABI__ movl %d0,%a0 | XXX maybe use lea to avoid stall? @@ -61,12 +70,19 @@ Lmcnzloop: rts Lmcloop: - movb %a1@+,%a0@+ | move a byte; was it NUL? + movb (%a1)+,(%a0)+ | move a byte; was it NUL? +#ifndef __mcoldfire__ dbeq %d0,Lmcloop | if not, keep transferring, +#endif jeq Lmcdone | otherwise done +#ifdef __mcoldfire__ + subql #1,%d0 + jne Lmcloop +#else clrw %d0 | check to see if more to do subql #1,%d0 jcc Lmcloop | yes, keep going... +#endif | Note: %d0 is now -1! movql #0,%d0 | no terminator found, return NULL Lmcbail: @@ -76,7 +92,8 @@ Lmcbail: rts Lmcnzdone: - movl %sp@+,%d2 | restore scratch register + movl (%sp)+,%d2 | restore scratch register Lmcdone: movl %a0,%d0 rts +END(memccpy) diff --git a/lib/libc/arch/m68k/string/swab.S b/lib/libc/arch/m68k/string/swab.S index 91fea3fee..0d6fc35b6 100644 --- a/lib/libc/arch/m68k/string/swab.S +++ b/lib/libc/arch/m68k/string/swab.S @@ -1,20 +1,27 @@ -/* $NetBSD: swab.S,v 1.7 1999/10/25 23:48:16 thorpej Exp $ */ +/* $NetBSD: swab.S,v 1.10 2013/07/18 21:37:47 matt Exp $ */ #include ENTRY(swab) - movl %sp@(4),%a0 | source - movl %sp@(8),%a1 | destination - movl %sp@(12),%d0 | count + movl 4(%sp),%a0 | source + movl 8(%sp),%a1 | destination + movl 12(%sp),%d0 | count lsrl #1,%d0 | count is in bytes; we need words jeq swdone swloop: - movw %a0@+,%d1 +#ifdef __mcoldfire__ + movb (%a0)+,1(%a1) + movb (%a0)+,(%a1) + addql #2,%a1 +#else + movw (%a0)+,%d1 rorw #8,%d1 - movw %d1,%a1@+ + movw %d1,(%a1)+ +#endif subql #1,%d0 jne swloop swdone: rts +END(swab) diff --git a/lib/libc/arch/m68k/sys/__clone.S b/lib/libc/arch/m68k/sys/__clone.S index d51788bb7..9eaa6c78d 100644 --- a/lib/libc/arch/m68k/sys/__clone.S +++ b/lib/libc/arch/m68k/sys/__clone.S @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.3 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: __clone.S,v 1.5 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -40,26 +40,27 @@ WEAK_ALIAS(clone, __clone) * int clone(int (*fn)(void *), void *stack, int flags, void *arg); */ ENTRY(__clone) - movl %sp@(4),%d0 /* NULL function pointer? */ + movl 4(%sp),%d0 /* NULL function pointer? */ jeq 2f /* Yup, bomb out */ movl %d0,%a1 - movl %sp@(8),%d0 /* NULL stack? */ + movl 8(%sp),%d0 /* NULL stack? */ jeq 2f /* Yup, bomb out */ movl %d0,%a0 - movl %sp@(16),%a0@- /* Push clone's `arg' on its new stack */ - lea %a0@(-12),%a0 /* Fake syscall args for the clone */ - movl %a0,%sp@- /* Syscall arg: stack */ - movl %sp@(16),%sp@- /* Syscall arg: flags */ - clrl %sp@- /* Fake return address */ - SYSTRAP(__clone) /* Note: `fn' in a1@ is preserved */ - lea %sp@(12),%sp /* Zap syscall args */ + movl 16(%sp),-(%a0) /* Push clone's `arg' on its new stack */ + lea -12(%a0),%a0 /* Fake syscall args for the clone */ + movl %a0,-(%sp) /* Syscall arg: stack */ + movl 16(%sp),-(%sp) /* Syscall arg: flags */ + clrl -(%sp) /* Fake return address */ + SYSTRAP(__clone) /* Note: `fn' in (a1) is preserved */ + lea 12(%sp),%sp /* Zap syscall args */ jcs 3f /* Punt if syscall failed */ tstl %d0 jne 1f /* We're the parent, just return. */ - jsr %a1@ /* We're the clone, call the function */ - movl %d0,%sp@- /* If clone returns, invoke _exit(3) */ + jsr (%a1) /* We're the clone, call the function */ + movl %d0,-(%sp) /* If clone returns, invoke _exit(3) */ jbsr PIC_PLT(_C_LABEL(_exit)) /* NOTREACHED */ 1: rts 2: movl #EINVAL,%d0 -3: jra PIC_PLT(CERROR) +3: jbra CERROR +END(__clone) diff --git a/lib/libc/arch/m68k/sys/__m68k_read_tp.S b/lib/libc/arch/m68k/sys/__m68k_read_tp.S index 0daae953a..5eebab60b 100644 --- a/lib/libc/arch/m68k/sys/__m68k_read_tp.S +++ b/lib/libc/arch/m68k/sys/__m68k_read_tp.S @@ -4,4 +4,4 @@ ENTRY(__m68k_read_tp) SYSTRAP(_lwp_getprivate) movl %d0,%a0 rts - .size __m68k_read_tp, .-__m68k_read_tp +END(__m68k_read_tp) diff --git a/lib/libc/arch/m68k/sys/__mmap.S b/lib/libc/arch/m68k/sys/__mmap.S index 0780a99a7..bba2da734 100644 --- a/lib/libc/arch/m68k/sys/__mmap.S +++ b/lib/libc/arch/m68k/sys/__mmap.S @@ -1,4 +1,4 @@ -/* $NetBSD: __mmap.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: __mmap.S,v 1.3 2013/07/16 22:19:37 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ _SYSCALL(__mmap,mmap) movl %d0,%a0 #endif rts +END(__mmap) diff --git a/lib/libc/arch/m68k/sys/__sigtramp2.S b/lib/libc/arch/m68k/sys/__sigtramp2.S index 3885afec8..e1c78c5a1 100755 --- a/lib/libc/arch/m68k/sys/__sigtramp2.S +++ b/lib/libc/arch/m68k/sys/__sigtramp2.S @@ -1,4 +1,4 @@ -/* $NetBSD: __sigtramp2.S,v 1.2 2008/05/02 18:34:17 martin Exp $ */ +/* $NetBSD: __sigtramp2.S,v 1.4 2013/07/16 22:19:16 matt Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -41,10 +41,10 @@ * sp-> signal number [0] */ ENTRY_NOPROFILE(__sigtramp_siginfo_2) - movl %sp@(8),%a0 /* get pointer to ucontext */ - movl %a0,%sp@(4) /* put it in the argument slot */ + movl 8(%sp),%a0 /* get pointer to ucontext */ + movl %a0,4(%sp) /* put it in the argument slot */ /* fake return address already there */ - movl #SYS_setcontext,%d0 - trap #0 - movl %d0,%sp@(4) /* error code */ + SYSTRAP(setcontext) + movl %d0,4(%sp) /* error code */ SYSTRAP(exit) /* exit */ +END(__sigtramp_siginfo_2) diff --git a/lib/libc/arch/m68k/sys/__vfork14.S b/lib/libc/arch/m68k/sys/__vfork14.S index ed27d4115..57f60f579 100644 --- a/lib/libc/arch/m68k/sys/__vfork14.S +++ b/lib/libc/arch/m68k/sys/__vfork14.S @@ -1,4 +1,4 @@ -/* $NetBSD: __vfork14.S,v 1.9 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: __vfork14.S,v 1.12 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)Ovfork.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: __vfork14.S,v 1.9 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: __vfork14.S,v 1.12 2013/09/12 15:36:15 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -60,48 +60,35 @@ */ ENTRY(__vfork14) - movl %sp@+,%a1 - movl #SYS___vfork14,%d0 - trap #0 + movl (%sp)+,%a1 + SYSTRAP(__vfork14) jcs err subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */ andl %d1,%d0 - jmp %a1@ + jmp (%a1) err: #ifdef _REENTRANT .globl _C_LABEL(__errno) - movl %a1,%sp@- - movl %d0,%sp@- -#if defined(PIC) && !defined(__ELF__) - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a1 - lea %pc@(0,a1:l),%a1 - movl %a1@(_C_LABEL(__errno):l),%a1 - jsr %a1@ -#else + movl %a1,-(%sp) + movl %d0,-(%sp) jbsr PIC_PLT(_C_LABEL(__errno)) -#endif /* PIC */ #ifdef __SVR4_ABI__ - movl %sp@+,%a0@ + movl (%sp)+,(%a0) #else movl %d0,%a1 - movl %sp@+,%a1@ + movl (%sp)+,(%a1) #endif - movl %sp@+,%a1 + movl (%sp)+,%a1 +#else +#ifdef __PIC__ + GOT_SETUP(%a0) + movl _C_LABEL(errno)@GOT:w(%a0),%a0 + movl %d0,(%a0) #else .globl _C_LABEL(errno) -#ifdef PIC -#ifdef __ELF__ - lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a0 - movl %a0@(_C_LABEL(errno)@GOT:w),%a0 -#else - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0 - lea %pc@(0,a0:l),%a0 - movl %a0@(_C_LABEL(errno):w),%a0 -#endif - movl %d0,%a0@ -#else movl %d0,_C_LABEL(errno) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ moveq #-1,%d0 - jmp %a1@ + jmp (%a1) +END(__vfork14) diff --git a/lib/libc/arch/m68k/sys/_lwp_getprivate.S b/lib/libc/arch/m68k/sys/_lwp_getprivate.S index df907b51c..45b0a1319 100644 --- a/lib/libc/arch/m68k/sys/_lwp_getprivate.S +++ b/lib/libc/arch/m68k/sys/_lwp_getprivate.S @@ -1,4 +1,4 @@ -/* $NetBSD: _lwp_getprivate.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: _lwp_getprivate.S,v 1.3 2013/07/16 22:19:16 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ SYSCALL(_lwp_getprivate) movl %d0,%a0 #endif rts +END(_lwp_getprivate) diff --git a/lib/libc/arch/m68k/sys/brk.S b/lib/libc/arch/m68k/sys/brk.S index be026f8b5..a46445295 100644 --- a/lib/libc/arch/m68k/sys/brk.S +++ b/lib/libc/arch/m68k/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.15 2003/12/26 11:21:48 martin Exp $ */ +/* $NetBSD: brk.S,v 1.19 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,13 +39,15 @@ #if 0 RCSID("from: @(#)brk.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: brk.S,v 1.15 2003/12/26 11:21:48 martin Exp $") + RCSID("$NetBSD: brk.S,v 1.19 2013/09/12 15:36:15 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ .globl _end .globl _C_LABEL(__minbrk) - .globl CURBRK + .hidden _C_LABEL(__minbrk) + .globl _C_LABEL(__curbrk) + .hidden _C_LABEL(__curbrk) #ifdef WEAK_ALIAS WEAK_ALIAS(brk, _brk) @@ -58,37 +60,24 @@ _C_LABEL(__minbrk): .text ENTRY(_brk) -#ifdef PIC -#ifdef __ELF__ - lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a1 - movl %a1@(_C_LABEL(__minbrk)@GOT:w),%a0 +#ifdef __PIC__ + LEA_LCL(_C_LABEL(__minbrk),%a1) + movl (%a1),%a1 #else - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a1 - lea %pc@(0,a1:l),%a1 - movl %a1@(_C_LABEL(__minbrk):w),%a0 + movl _C_LABEL(__minbrk),%a1 #endif - movl %a0@,%d0 -#else - movl _C_LABEL(__minbrk),%d0 -#endif - cmpl %sp@(4),%d0 + cmpl 4(%sp),%a1 jls ok - movl %d0,%sp@(4) + movl %a1,4(%sp) ok: - movl #SYS_break,%d0 - trap #0 - jcs err -#ifdef PIC -#ifdef __ELF__ - movl %a1@(CURBRK@GOT:w),%a0 + SYSTRAP(break) + jcs CERROR +#ifdef __PIC__ + LEA_LCL(_C_LABEL(__curbrk),%a0) + movl %a1,(%a0) #else - movl %a1@(CURBRK:w),%a0 -#endif - movl %sp@(4),%a0@ -#else - movl %sp@(4),CURBRK + movl %a1,_C_LABEL(__curbrk) #endif clrl %d0 rts -err: - jra PIC_PLT(CERROR) +END(_brk) diff --git a/lib/libc/arch/m68k/sys/cerror.S b/lib/libc/arch/m68k/sys/cerror.S index 40d2be204..507a23402 100644 --- a/lib/libc/arch/m68k/sys/cerror.S +++ b/lib/libc/arch/m68k/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.15 2009/10/03 22:28:33 phx Exp $ */ +/* $NetBSD: cerror.S,v 1.18 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)cerror.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: cerror.S,v 1.15 2009/10/03 22:28:33 phx Exp $") + RCSID("$NetBSD: cerror.S,v 1.18 2013/09/12 15:36:15 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -50,30 +50,17 @@ #endif _ENTRY(CERROR) #ifdef _REENTRANT - movl %d0,%sp@- -#if defined(PIC) && !defined(__ELF__) - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0 - lea %pc@(0,%a0:l),%a0 - movl %a0@(_C_LABEL(__errno):l),%a0 - jsr %a0@ -#else + movl %d0,-(%sp) jbsr PIC_PLT(_C_LABEL(__errno)) -#endif #ifndef __SVR4_ABI__ movl %d0,%a0 #endif - movl %sp@+,%a0@ + movl (%sp)+,(%a0) #else -#ifdef PIC -#ifdef __ELF__ - lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a0 - movl %a0@(_C_LABEL(errno)@GOT:w),%a0 -#else - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0 - lea %pc@(0,a0:l),%a0 - movl %a0@(_C_LABEL(errno):w),%a0 -#endif - movl %d0,%a0@ +#ifdef __PIC__ + GOT_SETUP(%a0) + movl _C_LABEL(errno)@GOT:w(%a0),%a0 + movl %d0,(%a0) #else movl %d0,_C_LABEL(errno) #endif @@ -84,3 +71,4 @@ _ENTRY(CERROR) movl %d0,%a0 #endif rts +END(CERROR) diff --git a/lib/libc/arch/m68k/sys/exect.S b/lib/libc/arch/m68k/sys/exect.S index 5be1a0a17..98471ceca 100644 --- a/lib/libc/arch/m68k/sys/exect.S +++ b/lib/libc/arch/m68k/sys/exect.S @@ -1,4 +1,4 @@ -/* $NetBSD: exect.S,v 1.7 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: exect.S,v 1.8 2013/07/16 22:20:35 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -40,11 +40,11 @@ #if 0 RCSID("from: @(#)exect.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: exect.S,v 1.7 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: exect.S,v 1.8 2013/07/16 22:20:35 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(exect) - movl #SYS_execve,%d0 - trap #0 - jra PIC_PLT(CERROR) /* exect(file, argv, env) */ + SYSTRAP(execve) + jbra CERROR /* exect(file, argv, env) */ +END(exect) diff --git a/lib/libc/arch/m68k/sys/fork.S b/lib/libc/arch/m68k/sys/fork.S index 84a957a10..14af51564 100644 --- a/lib/libc/arch/m68k/sys/fork.S +++ b/lib/libc/arch/m68k/sys/fork.S @@ -1,4 +1,4 @@ -/* $NetBSD: fork.S,v 1.7 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: fork.S,v 1.8 2013/07/16 22:15:55 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)fork.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: fork.S,v 1.7 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: fork.S,v 1.8 2013/07/16 22:15:55 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,3 +47,4 @@ _SYSCALL(__fork,fork) subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */ andl %d1,%d0 rts /* pid = fork() */ +END(__fork) diff --git a/lib/libc/arch/m68k/sys/getcontext.S b/lib/libc/arch/m68k/sys/getcontext.S index d29104a50..415934b91 100644 --- a/lib/libc/arch/m68k/sys/getcontext.S +++ b/lib/libc/arch/m68k/sys/getcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: getcontext.S,v 1.3 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: getcontext.S,v 1.6 2013/07/17 03:01:27 matt Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,9 +30,10 @@ */ #include "SYS.h" +#include "assym.h" #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: getcontext.S,v 1.3 2008/04/28 20:22:56 martin Exp $") + RCSID("$NetBSD: getcontext.S,v 1.6 2013/07/17 03:01:27 matt Exp $") #endif /* SYSLIBC_SCCS && !lint */ #ifdef WEAK_ALIAS @@ -40,8 +41,9 @@ WEAK_ALIAS(getcontext, _getcontext) #endif _SYSCALL(_getcontext,getcontext) - movl %sp@(4),%a0 - addql #4,%a0@(96) | adjust saved stack pointer - movl %sp@,%a0@(100) | adjust saved program counter - clrl %a0@(36) | arrange for return value of 0 + movl 4(%sp),%a0 + addql #4,UC_MCONTEXT_SP(%a0) | adjust saved stack pointer + movl %sp@,UC_MCONTEXT_PC(%a0)| adjust saved program counter + clrl UC_MCONTEXT_D0(%a0) | arrange for return value of 0 rts +END(_getcontext) diff --git a/lib/libc/arch/m68k/sys/mremap.S b/lib/libc/arch/m68k/sys/mremap.S index 624be032f..c2ec75df0 100644 --- a/lib/libc/arch/m68k/sys/mremap.S +++ b/lib/libc/arch/m68k/sys/mremap.S @@ -1,4 +1,4 @@ -/* $NetBSD: mremap.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: mremap.S,v 1.3 2013/07/16 22:15:55 matt Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ SYSCALL(mremap) movl %d0,%a0 #endif rts +END(mremap) diff --git a/lib/libc/arch/m68k/sys/pipe.S b/lib/libc/arch/m68k/sys/pipe.S index 860252bd1..37960a3c1 100644 --- a/lib/libc/arch/m68k/sys/pipe.S +++ b/lib/libc/arch/m68k/sys/pipe.S @@ -1,4 +1,4 @@ -/* $NetBSD: pipe.S,v 1.6 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: pipe.S,v 1.8 2013/07/16 22:16:53 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)pipe.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: pipe.S,v 1.6 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: pipe.S,v 1.8 2013/07/16 22:16:53 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -48,8 +48,9 @@ WEAK_ALIAS(pipe, _pipe) #endif _SYSCALL(_pipe,pipe) - movl %sp@(4),%a0 - movl %d0,%a0@+ - movl %d1,%a0@ + movl 4(%sp),%a0 + movl %d0,(%a0)+ + movl %d1,(%a0) clrl %d0 rts +END(_pipe) diff --git a/lib/libc/arch/m68k/sys/ptrace.S b/lib/libc/arch/m68k/sys/ptrace.S index 58c27d337..82038b2bd 100644 --- a/lib/libc/arch/m68k/sys/ptrace.S +++ b/lib/libc/arch/m68k/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.11 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: ptrace.S,v 1.15 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)ptrace.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: ptrace.S,v 1.11 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: ptrace.S,v 1.15 2013/09/12 15:36:15 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -51,36 +51,21 @@ ENTRY(ptrace) #ifdef _REENTRANT -#if defined(PIC) && !defined(__ELF__) - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0 - lea %pc@(0,%a0:l),%a0 - movl %a0@(_C_LABEL(__errno):l),%a0 - jsr %a0@ -#else jbsr PIC_PLT(_C_LABEL(__errno)) -#endif /* PIC */ #ifndef __SVR4_ABI__ movl %d0,%a0 #endif - clrl %a0@ + clrl (%a0) #else -#ifdef PIC -#ifdef __ELF__ - lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a0 - movl %a0@(_C_LABEL(errno)@GOT:w),%a0 -#else - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0 - lea %pc@(0,%a0:l),%a0 - movl %a0@(_C_LABEL(errno):w),%a0 -#endif - clrl %a0@ +#ifdef __PIC__ + GOT_SETUP(%a0) + movl _C_LABEL(errno)@GOT:w(%a0),%a0 + clrl (%a0) #else clrl _C_LABEL(errno) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ - movl #SYS_ptrace,%d0 - trap #0 - jcs err + SYSTRAP(ptrace) + jcs CERROR rts -err: - jra PIC_PLT(CERROR) +END(ptrace) diff --git a/lib/libc/arch/m68k/sys/sbrk.S b/lib/libc/arch/m68k/sys/sbrk.S index 2ea3333cf..9a1707a30 100644 --- a/lib/libc/arch/m68k/sys/sbrk.S +++ b/lib/libc/arch/m68k/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.14 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: sbrk.S,v 1.17 2013/07/24 15:38:07 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,50 +39,34 @@ #if 0 RCSID("from: @(#)sbrk.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: sbrk.S,v 1.14 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: sbrk.S,v 1.17 2013/07/24 15:38:07 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ .globl _end - .globl CURBRK + .globl _C_LABEL(__curbrk) + .hidden _C_LABEL(__curbrk) #ifdef WEAK_ALIAS WEAK_ALIAS(sbrk, _sbrk) #endif .data -CURBRK: .long _end +_C_LABEL(__curbrk): + .long _end .text ENTRY(_sbrk) -#ifdef PIC -#ifdef __ELF__ - lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a1 - movl %a1@(CURBRK@GOT:w),%a1 -#else - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a1 - lea %pc@(0,%a1:l),%a1 - movl %a1@(CURBRK:w),%a1 -#endif - movl %a1@,%d0 -#else - movl CURBRK,%d0 -#endif - addl %d0,%sp@(4) - movl #SYS_break,%d0 - trap #0 - jcs err -#ifdef PIC - movl %a1@,%d0 - movl %sp@(4),%a1@ -#else - movl CURBRK,%d0 - movl %sp@(4),CURBRK -#endif + LEA_LCL(_C_LABEL(__curbrk),%a1) + movl (%a1),%d0 + addl %d0,4(%sp) + SYSTRAP(break) + jcs CERROR + movl (%a1),%d0 + movl 4(%sp),(%a1) #ifdef __SVR4_ABI__ movl %d0,%a0 #endif rts -err: - jra PIC_PLT(CERROR) +END(_sbrk) diff --git a/lib/libc/arch/m68k/sys/shmat.S b/lib/libc/arch/m68k/sys/shmat.S index 3a65ab4b3..10af3e777 100644 --- a/lib/libc/arch/m68k/sys/shmat.S +++ b/lib/libc/arch/m68k/sys/shmat.S @@ -1,4 +1,4 @@ -/* $NetBSD: shmat.S,v 1.2 2008/04/28 20:22:56 martin Exp $ */ +/* $NetBSD: shmat.S,v 1.3 2013/07/16 22:16:53 matt Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -33,3 +33,4 @@ SYSCALL(shmat) movl %d0,%a0 #endif rts +END(shmat) diff --git a/lib/libc/arch/m68k/sys/syscall.S b/lib/libc/arch/m68k/sys/syscall.S index a06ae29b2..71bc6d67e 100644 --- a/lib/libc/arch/m68k/sys/syscall.S +++ b/lib/libc/arch/m68k/sys/syscall.S @@ -1,4 +1,4 @@ -/* $NetBSD: syscall.S,v 1.7 2003/08/07 16:42:14 agc Exp $ */ +/* $NetBSD: syscall.S,v 1.9 2013/07/24 15:38:07 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,14 +39,13 @@ #if 0 RCSID("from: @(#)syscall.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: syscall.S,v 1.7 2003/08/07 16:42:14 agc Exp $") + RCSID("$NetBSD: syscall.S,v 1.9 2013/07/24 15:38:07 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ ENTRY(syscall) clrl %d0 trap #0 - jcs err + jcs CERROR rts -err: - jra PIC_PLT(CERROR) +END(syscall) diff --git a/lib/libc/arch/mips/sys/cerror.S b/lib/libc/arch/mips/sys/cerror.S index e3bd675ed..5c2a45f7c 100644 --- a/lib/libc/arch/mips/sys/cerror.S +++ b/lib/libc/arch/mips/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.18 2012/02/27 14:48:34 tsutsui Exp $ */ +/* $NetBSD: cerror.S,v 1.19 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -38,11 +38,11 @@ #if 0 RCSID("from: @(#)cerror.s 8.1 (Berkeley) 6/16/93") #else - RCSID("$NetBSD: cerror.S,v 1.18 2012/02/27 14:48:34 tsutsui Exp $") + RCSID("$NetBSD: cerror.S,v 1.19 2013/09/12 15:36:15 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ -#ifdef PIC +#ifdef __PIC__ .protected __cerror #endif diff --git a/lib/libc/arch/mips/sys/sbrk.S b/lib/libc/arch/mips/sys/sbrk.S index f8b9b522d..5098b0c7c 100644 --- a/lib/libc/arch/mips/sys/sbrk.S +++ b/lib/libc/arch/mips/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.18 2010/12/12 09:03:06 tsutsui Exp $ */ +/* $NetBSD: sbrk.S,v 1.19 2013/06/26 08:38:34 matt Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -38,7 +38,7 @@ #if 0 RCSID("from: @(#)sbrk.s 8.1 (Berkeley) 6/4/93") #else - RCSID("$NetBSD: sbrk.S,v 1.18 2010/12/12 09:03:06 tsutsui Exp $") + RCSID("$NetBSD: sbrk.S,v 1.19 2013/06/26 08:38:34 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -57,11 +57,11 @@ _C_LABEL(__curbrk): LEAF(_sbrk) PIC_PROLOGUE(_sbrk) PTR_LA t0, _C_LABEL(__curbrk) - PTR_L v1, 0(t0) - PTR_ADDU a0, a0, v1 # compute current break + PTR_L t1, 0(t0) + PTR_ADDU a0, a0, t1 # compute current break SYSTRAP(break) bne a3, zero, 1f - move v0, v1 # return old val of curbrk from above + move v0, t1 # return old val of curbrk from above PTR_LA t0, _C_LABEL(__curbrk) PTR_S a0, 0(t0) # save current val of curbrk from above PIC_RETURN() diff --git a/lib/libc/arch/powerpc/Makefile.inc b/lib/libc/arch/powerpc/Makefile.inc index 519090484..bbe362e00 100644 --- a/lib/libc/arch/powerpc/Makefile.inc +++ b/lib/libc/arch/powerpc/Makefile.inc @@ -1,6 +1,7 @@ -# $NetBSD: Makefile.inc,v 1.13 2011/01/17 08:23:53 matt Exp $ +# $NetBSD: Makefile.inc,v 1.14 2013/08/30 21:28:59 matt Exp $ SRCS+= __sigaction14_sigtramp.c __sigtramp2.S +SRCS+= powerpc_initfini.c CPPFLAGS+= -I. diff --git a/lib/libc/arch/powerpc/gen/swapcontext.S b/lib/libc/arch/powerpc/gen/swapcontext.S index d5db5d1ba..7d5389e84 100644 --- a/lib/libc/arch/powerpc/gen/swapcontext.S +++ b/lib/libc/arch/powerpc/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.6 2011/01/16 02:43:10 matt Exp $ */ +/* $NetBSD: swapcontext.S,v 1.7 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "SYS.h" #include "assym.h" -__RCSID("$NetBSD: swapcontext.S,v 1.6 2011/01/16 02:43:10 matt Exp $") +__RCSID("$NetBSD: swapcontext.S,v 1.7 2013/09/12 15:36:15 joerg Exp $") #define XCALLFRAMELEN (((2+3)*SZREG + CALLFRAMELEN - 1) & -CALLFRAMELEN) #define XCALLFRAME_R30 (XCALLFRAMELEN-1*SZREG) @@ -45,7 +45,7 @@ ENTRY(swapcontext) stw %r0,XCALLFRAMELEN+CALLFRAME_LR(%r1) # save link register stw %r3,XCALLFRAME_OUCP(%r1) # must save oucp stw %r4,XCALLFRAME_UCP(%r1) # must save ucp -#ifdef PIC +#ifdef __PIC__ stw %r30,XCALLFRAME_R30(%r1) # must save r30 PIC_TOCSETUP(swapcontext,%r30) # setup toc pointer #endif @@ -61,7 +61,7 @@ ENTRY(swapcontext) bl PIC_PLT(_C_LABEL(setcontext)) # setcontext(ucp) 1: lwz %r0,XCALLFRAMELEN+CALLFRAME_LR(%r1) -#ifdef PIC +#ifdef __PIC__ lwz %r30,XCALLFRAME_R30(%r1) #endif mtlr %r0 diff --git a/lib/libc/arch/powerpc/genassym.cf b/lib/libc/arch/powerpc/genassym.cf index 5fb22774b..e48bb6f2a 100644 --- a/lib/libc/arch/powerpc/genassym.cf +++ b/lib/libc/arch/powerpc/genassym.cf @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.3 2011/01/18 01:23:24 matt Exp $ +# $NetBSD: genassym.cf,v 1.4 2013/08/30 21:28:59 matt Exp $ # # Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -30,6 +30,8 @@ # include +include +include include include @@ -46,3 +48,5 @@ define UC_GREGS_PC offsetof(ucontext_t, uc_mcontext.__gregs[_REG_PC]) define SIG_BLOCK SIG_BLOCK define SIG_SETMASK SIG_SETMASK + +define CACHE_INFO_DCACHE_LINE_SIZE offsetof(struct cache_info, dcache_line_size) diff --git a/lib/libc/arch/powerpc/misc/powerpc_initfini.c b/lib/libc/arch/powerpc/misc/powerpc_initfini.c new file mode 100644 index 000000000..01b84a04d --- /dev/null +++ b/lib/libc/arch/powerpc/misc/powerpc_initfini.c @@ -0,0 +1,64 @@ +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 + +__RCSID("$NetBSD: powerpc_initfini.c,v 1.1 2013/08/30 21:28:59 matt Exp $"); + +#include "namespace.h" + +/* + * Grab the cache_info at load time. + */ + +#include +#include +#include +#include + +#include +#include + +__dso_hidden struct cache_info _libc_powerpc_cache_info; + +static void _libc_cache_info_init(void) + __attribute__((__constructor__, __used__)); + +void __section(".text.startup") +_libc_cache_info_init(void) +{ + static bool initialized; + if (!initialized) { + const int name[2] = { CTL_MACHDEP, CPU_CACHEINFO }; + size_t len = sizeof(_libc_powerpc_cache_info); + (void)sysctl(name, __arraycount(name), + &_libc_powerpc_cache_info, &len, NULL, 0); + initialized = 1; + } +} diff --git a/lib/libc/arch/powerpc/string/bzero.S b/lib/libc/arch/powerpc/string/bzero.S index d04d4a130..9c632b668 100644 --- a/lib/libc/arch/powerpc/string/bzero.S +++ b/lib/libc/arch/powerpc/string/bzero.S @@ -1,4 +1,4 @@ -/* $NetBSD: bzero.S,v 1.11 2011/01/29 02:21:20 matt Exp $ */ +/* $NetBSD: bzero.S,v 1.14 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (C) 2001 Martin J. Laubach @@ -32,12 +32,10 @@ #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: bzero.S,v 1.11 2011/01/29 02:21:20 matt Exp $") +__RCSID("$NetBSD: bzero.S,v 1.14 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ -#ifdef _KERNEL -#include -#endif +#include "assym.h" #define USE_STSWX 0 /* don't. slower than trivial copy loop */ @@ -73,132 +71,20 @@ cb_memset: /*----------------------------------------------------------------------*/ #ifndef _KERNEL - /* First find out cache line size */ +#ifdef __PIC__ + /* First get cache line size */ mflr %r9 -#ifdef PIC - PIC_GOTSETUP(%r10) + bcl 20,31,1f +1: mflr %r10 mtlr %r9 - lwz %r5,cache_info@got(%r10) + addis %r10,%r10,_libc_powerpc_cache_info+CACHE_INFO_DCACHE_LINE_SIZE-1b@ha + lwz %r9,_libc_powerpc_cache_info+CACHE_INFO_DCACHE_LINE_SIZE-1b@l(%r10) #else - lis %r5,cache_info@h - ori %r5,%r5,cache_info@l + lis %r10,_libc_powerpc_cache_info+CACHE_INFO_DCACHE_LINE_SIZE@ha + lwz %r9,_libc_powerpc_cache_info+CACHE_INFO_DCACHE_LINE_SIZE@l(%r10) #endif - lwz %r6, 4(%r5) - cmpwi %r6, -1 - bne+ cb_cacheline_known - -/*----------------------------------------------------------------------*/ -#define CTL_MACHDEP 7 -#define CPU_CACHELINE 1 -#define CPU_CACHEINFO 5 - -#define STKFRAME_SZ 64 -#define MIB 8 -#define OLDPLEN 16 -#define R3_SAVE 20 -#define R4_SAVE 24 -#define R0_SAVE 28 -#define R8_SAVE 32 -#define R31_SAVE 36 -#ifdef PIC -#define R30_SAVE 40 -#endif - - stw %r9, 4(%r1) - stwu %r1, -STKFRAME_SZ(%r1) - - stw %r31, R31_SAVE(%r1) - mr %r31, %r5 /* cache info */ - -#ifdef PIC - stw %r30, R30_SAVE(%r1) - PIC_TOCSETUP(cb_memset,%r30) -#endif - - stw %r8, R8_SAVE(%r1) - stw %r3, R3_SAVE(%r1) - stw %r4, R4_SAVE(%r1) - stw %r0, R0_SAVE(%r1) - - li %r0, CTL_MACHDEP /* Construct MIB */ - stw %r0, MIB(%r1) - li %r0, CPU_CACHEINFO - stw %r0, MIB+4(%r1) - - li %r0, 4*4 /* Oldlenp := 4*4 */ - stw %r0, OLDPLEN(%r1) - - addi %r3, %r1, MIB - li %r4, 2 /* namelen */ - /* %r5 already contains &cache_info */ - addi %r6, %r1, OLDPLEN - li %r7, 0 - li %r8, 0 - bl PIC_PLT(_C_LABEL(sysctl)) - - cmpwi %r3, 0 /* Check result */ - beq 1f - - /* Failure, try older sysctl */ - - li %r0, CTL_MACHDEP /* Construct MIB */ - stw %r0, MIB(%r1) - li %r0, CPU_CACHELINE - stw %r0, MIB+4(%r1) - - li %r0, 4 /* Oldlenp := 4 */ - stw %r0, OLDPLEN(%r1) - - addi %r3, %r1, MIB - li %r4, 2 /* namelen */ - addi %r5, %r31, 4 - addi %r6, %r1, OLDPLEN - li %r7, 0 - li %r8, 0 - bl PIC_PLT(_C_LABEL(sysctl)) -1: - lwz %r3, R3_SAVE(%r1) - lwz %r4, R4_SAVE(%r1) - lwz %r8, R8_SAVE(%r1) - lwz %r0, R0_SAVE(%r1) - lwz %r9, 4(%r31) - lwz %r31, R31_SAVE(%r1) -#ifdef PIC - lwz %r30, R30_SAVE(%r1) -#endif - addi %r1, %r1, STKFRAME_SZ - lwz %r7, 4(%r1) - mtlr %r7 - - cntlzw %r6, %r9 /* compute shift value */ - li %r5, 31 - subf %r5, %r6, %r5 - -#ifdef PIC - mflr %r9 - PIC_GOTSETUP(%r10) - mtlr %r9 - lwz %r6, cache_sh@got(%r10) - stw %r5, 0(%r6) -#else - lis %r6, cache_sh@ha - stw %r5, cache_sh@l(%r6) -#endif -/*----------------------------------------------------------------------*/ -/* Okay, we know the cache line size (%r9) and shift value (%r10) */ -cb_cacheline_known: -#ifdef PIC - lwz %r5, cache_info@got(%r10) - lwz %r9, 4(%r5) - lwz %r5, cache_sh@got(%r10) - lwz %r10, 0(%r5) -#else - lis %r9, cache_info+4@ha - lwz %r9, cache_info+4@l(%r9) - lis %r10, cache_sh@ha - lwz %r10, cache_sh@l(%r10) -#endif - + cmplwi %cr1, %r9, 0 /* Unknown? */ + beq- simple_fill /* a trivial fill routine */ #else /* _KERNEL */ #ifdef MULTIPROCESSOR mfsprg %r10, 0 /* Get cpu_info pointer */ @@ -206,11 +92,11 @@ cb_cacheline_known: lis %r10, cpu_info_store@ha addi %r10, %r10, cpu_info_store@l #endif - lwz %r9, CPU_CI+4(%r10) /* Load D$ line size */ + lwz %r9, CPU_CI+CACHE_INFO_DCACHE_LINE_SIZE(%r10) /* Load D$ line size */ +#endif /* _KERNEL */ cntlzw %r10, %r9 /* Calculate shift.. */ li %r6, 31 subf %r10, %r10, %r6 -#endif /* _KERNEL */ /* Back in memory filling business */ cmplwi %cr1, r_len, 0 /* Nothing to do? */ @@ -371,6 +257,7 @@ END(memset) /*----------------------------------------------------------------------*/ #ifndef _KERNEL .data + .p2align 2 cache_info: .long -1, -1, -1, -1 cache_sh: .long 0 diff --git a/lib/libc/arch/powerpc/sys/__clone.S b/lib/libc/arch/powerpc/sys/__clone.S index 3ede8dcb4..ca1bdf73e 100644 --- a/lib/libc/arch/powerpc/sys/__clone.S +++ b/lib/libc/arch/powerpc/sys/__clone.S @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.4 2011/01/16 02:43:10 matt Exp $ */ +/* $NetBSD: __clone.S,v 1.5 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 2001 Tsubai Masanari. All rights reserved. @@ -30,7 +30,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: __clone.S,v 1.4 2011/01/16 02:43:10 matt Exp $") +__RCSID("$NetBSD: __clone.S,v 1.5 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ #ifdef WEAK_ALIAS @@ -61,7 +61,7 @@ ENTRY(__clone) mr %r3,%r6 /* arg */ blrl /* Call the clone's entry point. */ -#ifdef PIC +#ifdef __PIC__ PIC_TOCSETUP(__clone, %r30) /* exit won't return so blow away r30 */ #endif bl PIC_PLT(_C_LABEL(_exit)) diff --git a/lib/libc/arch/powerpc/sys/brk.S b/lib/libc/arch/powerpc/sys/brk.S index fff9dd0a6..1c1a1ba3b 100644 --- a/lib/libc/arch/powerpc/sys/brk.S +++ b/lib/libc/arch/powerpc/sys/brk.S @@ -1,9 +1,9 @@ -/* $NetBSD: brk.S,v 1.12 2011/01/16 02:43:10 matt Exp $ */ +/* $NetBSD: brk.S,v 1.13 2013/09/12 15:36:15 joerg Exp $ */ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: brk.S,v 1.12 2011/01/16 02:43:10 matt Exp $") +__RCSID("$NetBSD: brk.S,v 1.13 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ .globl _C_LABEL(__curbrk) @@ -20,7 +20,7 @@ _C_LABEL(__minbrk): .text ENTRY(_brk) -#if defined(PIC) +#ifdef __PIC__ mflr %r10 PIC_GOTSETUP(%r9) mtlr %r10 @@ -36,7 +36,7 @@ ENTRY(_brk) mr %r3,%r5 # new break value _DOSYSCALL(break) # assume, that r5 is kept bso 1f -#ifdef PIC +#ifdef __PIC__ lwz %r6,_C_LABEL(__curbrk)@got(%r9) stw %r5,0(%r6) #else diff --git a/lib/libc/arch/powerpc/sys/cerror.S b/lib/libc/arch/powerpc/sys/cerror.S index e273e996b..954bf0bd1 100644 --- a/lib/libc/arch/powerpc/sys/cerror.S +++ b/lib/libc/arch/powerpc/sys/cerror.S @@ -1,16 +1,16 @@ -/* $NetBSD: cerror.S,v 1.10 2012/02/27 15:47:11 matt Exp $ */ +/* $NetBSD: cerror.S,v 1.11 2013/09/12 15:36:15 joerg Exp $ */ #include "SYS.h" #include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: cerror.S,v 1.10 2012/02/27 15:47:11 matt Exp $") +__RCSID("$NetBSD: cerror.S,v 1.11 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ #ifndef _REENTRANT .globl _C_LABEL(errno) #endif -#ifdef PIC +#ifdef __PIC__ .protected _C_LABEL(__cerror) #endif @@ -19,7 +19,7 @@ ENTRY(__cerror) mflr %r0 stwu %r1,-CALLFRAMELEN(%r1) # allocate new stack frame stw %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) -#ifdef PIC +#ifdef __PIC__ stw %r30,CALLFRAME_R30(%r1) PIC_TOCSETUP(__cerror, %r30) #endif @@ -29,13 +29,13 @@ ENTRY(__cerror) stw %r31,0(%r3) lwz %r0,CALLFRAMELEN+CALLFRAME_LR(%r1) lwz %r31,CALLFRAME_R31(%r1) -#ifdef PIC +#ifdef __PIC__ lwz %r30,CALLFRAME_R30(%r1) #endif mtlr %r0 addi %r1,%r1,CALLFRAMELEN #else -#ifdef PIC +#ifdef __PIC__ mflr %r10 PIC_GOTSETUP(%r4) lwz %r4,_C_LABEL(errno)@got(%r4) @@ -44,7 +44,7 @@ ENTRY(__cerror) #else lis %r4,_C_LABEL(errno)@ha stw %r3,_C_LABEL(errno)@l(%r4) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ li %r3,-1 li %r4,-1 diff --git a/lib/libc/arch/powerpc/sys/ptrace.S b/lib/libc/arch/powerpc/sys/ptrace.S index 3b9571d37..2fc542d9c 100644 --- a/lib/libc/arch/powerpc/sys/ptrace.S +++ b/lib/libc/arch/powerpc/sys/ptrace.S @@ -1,10 +1,10 @@ -/* $NetBSD: ptrace.S,v 1.6 2011/01/16 02:43:10 matt Exp $ */ +/* $NetBSD: ptrace.S,v 1.7 2013/09/12 15:36:15 joerg Exp $ */ #include "SYS.h" #include "assym.h" #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: ptrace.S,v 1.6 2011/01/16 02:43:10 matt Exp $") +__RCSID("$NetBSD: ptrace.S,v 1.7 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ #define XCALLFRAMELEN ((((2+5)*SZREG) + CALLFRAMELEN - 1) & -CALLFRAMELEN) @@ -23,7 +23,7 @@ ENTRY(ptrace) stw %r4,XCALLFRAME_PID(%r1) stw %r5,XCALLFRAME_ADDR(%r1) stw %r6,XCALLFRAME_DATA(%r1) -#ifdef PIC +#ifdef __PIC__ stw %r30,XCALLFRAME_R30(%r1) PIC_TOCSETUP(ptrace, %r30) #endif @@ -32,7 +32,7 @@ ENTRY(ptrace) li %r7,0 stw %r7,0(%r3) -#ifdef PIC +#ifdef __PIC__ lwz %r30,XCALLFRAME_R30(%r1) #endif lwz %r6,XCALLFRAME_DATA(%r1) @@ -43,7 +43,7 @@ ENTRY(ptrace) lwz %r0,CALLFRAME_LR(%r1) mtlr %r0 #else -#ifdef PIC +#ifdef __PIC__ mflr %r0 PIC_GOTSETUP(%r7) lwz %r7,_C_LABEL(errno)@got(%r7) @@ -54,7 +54,7 @@ ENTRY(ptrace) lis %r7,_C_LABEL(errno)@ha li %r8,0 stw %r8,_C_LABEL(errno)@l(%r7) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ _DOSYSCALL(ptrace) bnslr diff --git a/lib/libc/arch/powerpc/sys/sbrk.S b/lib/libc/arch/powerpc/sys/sbrk.S index ad2e25714..cf23e8109 100644 --- a/lib/libc/arch/powerpc/sys/sbrk.S +++ b/lib/libc/arch/powerpc/sys/sbrk.S @@ -1,9 +1,9 @@ -/* $NetBSD: sbrk.S,v 1.11 2011/01/16 02:43:10 matt Exp $ */ +/* $NetBSD: sbrk.S,v 1.12 2013/09/12 15:36:15 joerg Exp $ */ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: sbrk.S,v 1.11 2011/01/16 02:43:10 matt Exp $") +__RCSID("$NetBSD: sbrk.S,v 1.12 2013/09/12 15:36:15 joerg Exp $") #endif /* LIBC_SCCS && !lint */ .globl _C_LABEL(__curbrk) @@ -19,7 +19,7 @@ _C_LABEL(__curbrk): .text ENTRY(_sbrk) -#ifdef PIC +#ifdef __PIC__ mflr %r10 PIC_GOTSETUP(%r5) mtlr %r10 diff --git a/lib/libc/arch/powerpc64/gen/_lwp.c b/lib/libc/arch/powerpc64/gen/_lwp.c index 406f743f3..c299d00f8 100644 --- a/lib/libc/arch/powerpc64/gen/_lwp.c +++ b/lib/libc/arch/powerpc64/gen/_lwp.c @@ -1,4 +1,4 @@ -/* $NetBSD: _lwp.c,v 1.2 2006/07/05 18:05:45 ross Exp $ */ +/* $NetBSD: _lwp.c,v 1.3 2012/11/24 15:20:58 christos Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -37,7 +37,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _lwp.c,v 1.2 2006/07/05 18:05:45 ross Exp $"); +__RCSID("$NetBSD: _lwp.c,v 1.3 2012/11/24 15:20:58 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -46,6 +46,7 @@ __RCSID("$NetBSD: _lwp.c,v 1.2 2006/07/05 18:05:45 ross Exp $"); #include #include +/*ARGSUSED*/ void _lwp_makecontext(ucontext_t *u, void (*start)(void *), void *arg, void *private, caddr_t stack_base, size_t stack_size) @@ -58,7 +59,7 @@ _lwp_makecontext(ucontext_t *u, void (*start)(void *), void *arg, u->uc_stack.ss_sp = stack_base; u->uc_stack.ss_size = stack_size; - sp = (void **) (stack_base + stack_size); + sp = (void *)(stack_base + stack_size); u->uc_mcontext.__gregs[3] = (__greg_t) arg; /* arg1 */ u->uc_mcontext.__gregs[1] = ((__greg_t) sp) - 112; /* stack */ diff --git a/lib/libc/arch/powerpc64/gen/syncicache.c b/lib/libc/arch/powerpc64/gen/syncicache.c index 2e73ae724..3a3b220ee 100644 --- a/lib/libc/arch/powerpc64/gen/syncicache.c +++ b/lib/libc/arch/powerpc64/gen/syncicache.c @@ -1,4 +1,4 @@ -/* $NetBSD: syncicache.c,v 1.1 2006/07/01 16:37:20 ross Exp $ */ +/* $NetBSD: syncicache.c,v 1.2 2012/11/24 07:16:04 christos Exp $ */ /* * Copyright (C) 1995-1997, 1999 Wolfgang Solfrank. @@ -74,17 +74,16 @@ __getcachelinesize(void) if (_cachelinesize) return _cachelinesize; - if (sysctl(cacheinfomib, sizeof(cacheinfomib) / sizeof(cacheinfomib[0]), - &_cache_info, &clen, NULL, 0) == 0) { + if (sysctl(cacheinfomib, (u_int)__arraycount(cacheinfomib), + &_cache_info, &clen, NULL, 0) == 0) { _cachelinesize = _cache_info.dcache_line_size; return _cachelinesize; } /* Try older deprecated sysctl */ clen = sizeof(_cachelinesize); - if (sysctl(cachemib, sizeof(cachemib) / sizeof(cachemib[0]), - &_cachelinesize, &clen, NULL, 0) < 0 - || !_cachelinesize) + if (sysctl(cachemib, (u_int)__arraycount(cachemib), + &_cachelinesize, &clen, NULL, 0) < 0 || !_cachelinesize) abort(); _cache_info.dcache_size = _cachelinesize; diff --git a/lib/libc/arch/powerpc64/sys/cerror.S b/lib/libc/arch/powerpc64/sys/cerror.S index 24ca13559..cb992200b 100644 --- a/lib/libc/arch/powerpc64/sys/cerror.S +++ b/lib/libc/arch/powerpc64/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.4 2012/02/27 15:47:11 matt Exp $ */ +/* $NetBSD: cerror.S,v 1.5 2013/09/12 15:36:15 joerg Exp $ */ #include #include "SYS.h" @@ -6,7 +6,7 @@ #ifndef _REENTRANT .globl _C_LABEL(errno) #endif -#ifdef PIC +#ifdef __PIC__ .protected _C_LABEL(__cerror) #endif @@ -24,7 +24,7 @@ ENTRY(__cerror) mtlr %r0 la %r1,16(%r1) #else -#ifdef PIC +#ifdef __PIC__ mflr %r10 bl _GLOBAL_OFFSET_TABLE_@local-4 mflr %r4 @@ -34,7 +34,7 @@ ENTRY(__cerror) #else lis %r4,_C_LABEL(errno)@ha stw %r3,_C_LABEL(errno)@l(%r4) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ li %r3,-1 li %r4,-1 diff --git a/lib/libc/arch/powerpc64/sys/ptrace.S b/lib/libc/arch/powerpc64/sys/ptrace.S index 161535dfc..938cf9494 100644 --- a/lib/libc/arch/powerpc64/sys/ptrace.S +++ b/lib/libc/arch/powerpc64/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.1 2006/07/01 16:37:20 ross Exp $ */ +/* $NetBSD: ptrace.S,v 1.2 2013/09/12 15:36:15 joerg Exp $ */ #include "SYS.h" @@ -24,7 +24,7 @@ ENTRY(ptrace) mtlr %r0 la %r1,32(%r1) #else -#ifdef PIC +#ifdef __PIC__ mflr %r0 bl _GLOBAL_OFFSET_TABLE_@local-4 mflr %r7 @@ -36,7 +36,7 @@ ENTRY(ptrace) lis %r7,_C_LABEL(errno)@ha li %r8,0 stw %r8,_C_LABEL(errno)@l(%r7) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ li %r0,SYS_ptrace sc diff --git a/lib/libc/arch/sh3/SYS.h b/lib/libc/arch/sh3/SYS.h index c38fcfe33..8bbb29843 100644 --- a/lib/libc/arch/sh3/SYS.h +++ b/lib/libc/arch/sh3/SYS.h @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)SYS.h 5.5 (Berkeley) 5/7/91 - * $NetBSD: SYS.h,v 1.10 2011/01/23 14:08:53 joerg Exp $ + * $NetBSD: SYS.h,v 1.11 2013/09/12 15:36:15 joerg Exp $ */ #include @@ -61,7 +61,7 @@ ENTRY(x); \ SYSTRAP(y) -#ifdef PIC +#ifdef __PIC__ #define JUMP_CERROR \ mov r0, r4; \ @@ -76,7 +76,7 @@ 912: .long _GLOBAL_OFFSET_TABLE_; \ 913: .long PIC_GOT(cerror) -#else /* !PIC */ +#else /* !__PIC__ */ #define JUMP_CERROR \ mov.l 912f, r3; \ @@ -85,7 +85,7 @@ .align 2; \ 912: .long cerror -#endif /* !PIC */ +#endif /* !__PIC__ */ #define _SYSCALL(x,y) \ .text; \ diff --git a/lib/libc/arch/sh3/gen/swapcontext.S b/lib/libc/arch/sh3/gen/swapcontext.S index 841a842e2..4e2963426 100644 --- a/lib/libc/arch/sh3/gen/swapcontext.S +++ b/lib/libc/arch/sh3/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.9 2008/04/28 20:22:57 martin Exp $ */ +/* $NetBSD: swapcontext.S,v 1.10 2013/09/12 15:36:15 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.9 2008/04/28 20:22:57 martin Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.10 2013/09/12 15:36:15 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ /* @@ -59,7 +59,7 @@ ENTRY(swapcontext) /* if we get here, return error from setcontext */ 3: lds.l @sp+, pr -#ifdef PIC +#ifdef __PIC__ add #4, sp rts PIC_EPILOGUE diff --git a/lib/libc/arch/sh3/sys/__clone.S b/lib/libc/arch/sh3/sys/__clone.S index 7e8b80871..fed5a1c4a 100644 --- a/lib/libc/arch/sh3/sys/__clone.S +++ b/lib/libc/arch/sh3/sys/__clone.S @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.6 2006/01/06 03:58:31 uwe Exp $ */ +/* $NetBSD: __clone.S,v 1.7 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 2001 Tsubai Masanari. All rights reserved. @@ -59,7 +59,7 @@ ENTRY(__clone) mov r7, r4 mov.l .L__exit, r1 -#ifdef PIC +#ifdef __PIC__ mov r0, r4 mov.l .L_got, r12 /* PIC_PROLOGUE_NOSAVE(.L_got) */ mova .L_got, r0 /* expanded to fill the delay slot */ diff --git a/lib/libc/arch/sh3/sys/brk.S b/lib/libc/arch/sh3/sys/brk.S index b6f26c148..611747d90 100644 --- a/lib/libc/arch/sh3/sys/brk.S +++ b/lib/libc/arch/sh3/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.10 2006/01/06 03:58:31 uwe Exp $ */ +/* $NetBSD: brk.S,v 1.11 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: brk.S,v 1.10 2006/01/06 03:58:31 uwe Exp $") + RCSID("$NetBSD: brk.S,v 1.11 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -54,7 +54,7 @@ _C_LABEL(__minbrk): .text ENTRY(_brk) -#ifdef PIC +#ifdef __PIC__ mova L_GOT, r0 mov.l L_GOT, r2 add r0, r2 @@ -72,7 +72,7 @@ ENTRY(_brk) mov.l LSYS_break, r0 trapa #0x80 bf err -#ifdef PIC +#ifdef __PIC__ mov.l Lcurbrk, r0 mov.l @(r0, r2), r1 xor r0, r0 @@ -87,7 +87,7 @@ err: .align 2 LSYS_break: .long SYS_break -#ifdef PIC +#ifdef __PIC__ L_GOT: .long _GLOBAL_OFFSET_TABLE_ Lminbrk: .long _C_LABEL(__minbrk)@GOT Lcurbrk: .long curbrk@GOT diff --git a/lib/libc/arch/sh3/sys/cerror.S b/lib/libc/arch/sh3/sys/cerror.S index 9d8c55254..0bc5e556a 100644 --- a/lib/libc/arch/sh3/sys/cerror.S +++ b/lib/libc/arch/sh3/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.10 2006/01/06 05:14:39 uwe Exp $ */ +/* $NetBSD: cerror.S,v 1.11 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: cerror.S,v 1.10 2006/01/06 05:14:39 uwe Exp $") + RCSID("$NetBSD: cerror.S,v 1.11 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -73,7 +73,7 @@ cerror: .align 2 cerror: -#ifdef PIC +#ifdef __PIC__ mova L_GOT, r0 mov.l L_GOT, r1 add r0, r1 @@ -89,7 +89,7 @@ cerror: mov #-1, r1 .align 2 -#ifdef PIC +#ifdef __PIC__ L_GOT: .long _GLOBAL_OFFSET_TABLE_ L_errno: .long _C_LABEL(errno)@GOT #else diff --git a/lib/libc/arch/sh3/sys/ptrace.S b/lib/libc/arch/sh3/sys/ptrace.S index be78d6cb3..c8a7e652c 100644 --- a/lib/libc/arch/sh3/sys/ptrace.S +++ b/lib/libc/arch/sh3/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.8 2006/01/06 20:38:01 uwe Exp $ */ +/* $NetBSD: ptrace.S,v 1.9 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: ptrace.S,v 1.8 2006/01/06 20:38:01 uwe Exp $") + RCSID("$NetBSD: ptrace.S,v 1.9 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -65,7 +65,7 @@ ENTRY(ptrace) #else /* ! _REENTRANT */ -#ifdef PIC +#ifdef __PIC__ mova .L_GOT, r0 mov.l .L_GOT, r1 add r0, r1 @@ -100,7 +100,7 @@ err: #else /* ! _REENTRANT */ .global _C_LABEL(errno) .L_errno: -#ifdef PIC +#ifdef __PIC__ .long PIC_GOT(_C_LABEL(errno)) #else .long _C_LABEL(errno) diff --git a/lib/libc/arch/sh3/sys/sbrk.S b/lib/libc/arch/sh3/sys/sbrk.S index 75351c786..6ad26271b 100644 --- a/lib/libc/arch/sh3/sys/sbrk.S +++ b/lib/libc/arch/sh3/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.9 2006/01/06 03:58:31 uwe Exp $ */ +/* $NetBSD: sbrk.S,v 1.10 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: sbrk.S,v 1.9 2006/01/06 03:58:31 uwe Exp $") + RCSID("$NetBSD: sbrk.S,v 1.10 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -54,7 +54,7 @@ curbrk: .long _end ENTRY(_sbrk) mov r4, r2 -#ifdef PIC +#ifdef __PIC__ mova L_GOT, r0 mov.l L_GOT, r3 add r0, r3 @@ -68,7 +68,7 @@ ENTRY(_sbrk) mov.l LSYS_break, r0 trapa #0x80 bf err -#ifdef PIC +#ifdef __PIC__ mov.l Lcurbrk, r0 mov.l @(r0, r3), r1 #else @@ -83,7 +83,7 @@ err: .align 2 LSYS_break: .long SYS_break -#ifdef PIC +#ifdef __PIC__ L_GOT: .long _GLOBAL_OFFSET_TABLE_ Lcurbrk: .long curbrk@GOT #else diff --git a/lib/libc/arch/sparc/SYS.h b/lib/libc/arch/sparc/SYS.h index 12bc4f807..8a2fba185 100644 --- a/lib/libc/arch/sparc/SYS.h +++ b/lib/libc/arch/sparc/SYS.h @@ -33,7 +33,7 @@ * @(#)SYS.h 8.1 (Berkeley) 6/4/93 * * from: Header: SYS.h,v 1.2 92/07/03 18:57:00 torek Exp - * $NetBSD: SYS.h,v 1.18 2011/03/28 11:19:12 martin Exp $ + * $NetBSD: SYS.h,v 1.19 2013/09/12 15:36:16 joerg Exp $ */ #include @@ -57,7 +57,7 @@ /* * ERROR branches to cerror. */ -#ifdef PIC +#ifdef __PIC__ #define CALL(name) \ PIC_PROLOGUE(%g1, %g5); \ set name, %g5; \ diff --git a/lib/libc/arch/sparc/gen/fixunsdfsi.S b/lib/libc/arch/sparc/gen/fixunsdfsi.S index 504917fb7..1d258ba4b 100644 --- a/lib/libc/arch/sparc/gen/fixunsdfsi.S +++ b/lib/libc/arch/sparc/gen/fixunsdfsi.S @@ -1,4 +1,4 @@ -/* $NetBSD: fixunsdfsi.S,v 1.5 2003/08/07 16:42:23 agc Exp $ */ +/* $NetBSD: fixunsdfsi.S,v 1.6 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)fixunsdfsi.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: fixunsdfsi.S,v 1.5 2003/08/07 16:42:23 agc Exp $") + RCSID("$NetBSD: fixunsdfsi.S,v 1.6 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -61,7 +61,7 @@ ENTRY(__fixunsdfsi) sub %sp, 8, %sp std %o0, [%sp + 64] ! get argument into fpu reg ldd [%sp + 64], %f0 -#ifdef PIC +#ifdef __PIC__ PICCY_SET(Lbig, %g1, %o0) ldd [%g1], %f2 #else diff --git a/lib/libc/arch/sparc/gen/fpsetsticky.c b/lib/libc/arch/sparc/gen/fpsetsticky.c index d0706902f..63d3a9ba0 100644 --- a/lib/libc/arch/sparc/gen/fpsetsticky.c +++ b/lib/libc/arch/sparc/gen/fpsetsticky.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetsticky.c,v 1.5 2005/12/24 23:10:08 perry Exp $ */ +/* $NetBSD: fpsetsticky.c,v 1.6 2013/10/18 02:19:12 mrg Exp $ */ /* * Written by J.T. Conklin, Apr 10, 1995 @@ -7,7 +7,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetsticky.c,v 1.5 2005/12/24 23:10:08 perry Exp $"); +__RCSID("$NetBSD: fpsetsticky.c,v 1.6 2013/10/18 02:19:12 mrg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -19,8 +19,7 @@ __weak_alias(fpsetsticky,_fpsetsticky) #endif fp_except -fpsetsticky(sticky) - fp_except sticky; +fpsetsticky(fp_except sticky) { fp_except old; fp_except new; diff --git a/lib/libc/arch/sparc/gen/modf.S b/lib/libc/arch/sparc/gen/modf.S index f7cce29fe..72fd57467 100644 --- a/lib/libc/arch/sparc/gen/modf.S +++ b/lib/libc/arch/sparc/gen/modf.S @@ -1,4 +1,4 @@ -/* $NetBSD: modf.S,v 1.6 2003/08/07 16:42:23 agc Exp $ */ +/* $NetBSD: modf.S,v 1.7 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)modf.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: modf.S,v 1.6 2003/08/07 16:42:23 agc Exp $") + RCSID("$NetBSD: modf.S,v 1.7 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -103,7 +103,7 @@ ENTRY(modf) sethi %hi(0x80000000), %l1 ! sign bit andn %i0, %l1, %l0 st %l0, [%fp - 16] -#ifdef PIC +#ifdef __PIC__ PICCY_SET(Lmagic, %l0, %o7) ldd [%l0], %f2 #else @@ -184,7 +184,7 @@ Lbig: * case the integer part is the original value, and the * fractional part is 0. */ -#ifdef PIC +#ifdef __PIC__ PICCY_SET(L0, %l0, %o7) std %f0, [%i2] ! *ival = val; ldd [%l0], %f0 ! return 0.0; diff --git a/lib/libc/arch/sparc/gen/sigsetjmp.S b/lib/libc/arch/sparc/gen/sigsetjmp.S index 44958e617..27281ca3c 100644 --- a/lib/libc/arch/sparc/gen/sigsetjmp.S +++ b/lib/libc/arch/sparc/gen/sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: sigsetjmp.S,v 1.6 2007/10/08 13:06:00 uwe Exp $ */ +/* $NetBSD: sigsetjmp.S,v 1.7 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1995 Paul Kranenburg * All rights reserved. @@ -32,7 +32,7 @@ #include "SYS.h" -#ifdef PIC +#ifdef __PIC__ ENTRY(__sigsetjmp14) PIC_PROLOGUE(%g1, %g2) ! %g1 = _GLOBAL_OFFSET_TABLE @@ -72,7 +72,7 @@ ENTRY(__siglongjmp14) jmp %g1 nop -#else /* !PIC */ +#else /* !__PIC__ */ ENTRY(__sigsetjmp14) cmp %o1,0 @@ -90,4 +90,4 @@ ENTRY(__siglongjmp14) ba,a _C_LABEL(__longjmp14) unimp 0 -#endif /* !PIC */ +#endif /* !__PIC__ */ diff --git a/lib/libc/arch/sparc/gen/swapcontext.S b/lib/libc/arch/sparc/gen/swapcontext.S index b98e9b3d1..21830b44a 100644 --- a/lib/libc/arch/sparc/gen/swapcontext.S +++ b/lib/libc/arch/sparc/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.4 2012/09/12 02:00:53 manu Exp $ */ +/* $NetBSD: swapcontext.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.4 2012/09/12 02:00:53 manu Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif /* LIBC_SCCS && !lint */ ENTRY(swapcontext) @@ -49,7 +49,7 @@ ENTRY(swapcontext) add %o7, 8, %o1 st %o1, [%o2 + 40 + 1 * 4] ! gr[_REG_PC] = retaddr -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE(%g1, %g2) ! %g1 = _GLOBAL_OFFSET_TABLE set _C_LABEL(setcontext), %g2 ld [%g1 + %g2], %g1 diff --git a/lib/libc/arch/sparc/sys/brk.S b/lib/libc/arch/sparc/sys/brk.S index 20f996937..8825956a1 100644 --- a/lib/libc/arch/sparc/sys/brk.S +++ b/lib/libc/arch/sparc/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.15 2008/11/06 13:42:55 nakayama Exp $ */ +/* $NetBSD: brk.S,v 1.16 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)brk.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: brk.S,v 1.15 2008/11/06 13:42:55 nakayama Exp $") + RCSID("$NetBSD: brk.S,v 1.16 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* SYSLIBC_SCCS and not lint */ @@ -60,7 +60,7 @@ _C_LABEL(__minbrk): .text ENTRY(_brk) -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE(%o5,%o4) set _C_LABEL(__minbrk), %o4 ld [%o5 + %o4], %o4 diff --git a/lib/libc/arch/sparc/sys/cerror.S b/lib/libc/arch/sparc/sys/cerror.S index ee02e04c7..10a71e0fb 100644 --- a/lib/libc/arch/sparc/sys/cerror.S +++ b/lib/libc/arch/sparc/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.10 2007/10/08 13:06:00 uwe Exp $ */ +/* $NetBSD: cerror.S,v 1.11 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)cerror.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: cerror.S,v 1.10 2007/10/08 13:06:00 uwe Exp $") + RCSID("$NetBSD: cerror.S,v 1.11 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -57,7 +57,7 @@ FUNC(CERROR) restore %g0, -1, %o1 #else .globl _C_LABEL(errno) -#ifdef PIC +#ifdef __PIC__ FUNC(CERROR) set _C_LABEL(errno), %g2 ld [%g1 + %g2], %g1 diff --git a/lib/libc/arch/sparc/sys/ptrace.S b/lib/libc/arch/sparc/sys/ptrace.S index e5507bbe5..b0f3e66b9 100644 --- a/lib/libc/arch/sparc/sys/ptrace.S +++ b/lib/libc/arch/sparc/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.8 2007/10/08 13:06:00 uwe Exp $ */ +/* $NetBSD: ptrace.S,v 1.9 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)ptrace.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: ptrace.S,v 1.8 2007/10/08 13:06:00 uwe Exp $") + RCSID("$NetBSD: ptrace.S,v 1.9 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* SYSLIBC_SCCS and not lint */ @@ -54,7 +54,7 @@ ENTRY(ptrace) st %g0, [%o0] restore #else -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE(%g1,%g2) set _C_LABEL(errno), %g2 ld [%g1 + %g2], %g1 diff --git a/lib/libc/arch/sparc/sys/sbrk.S b/lib/libc/arch/sparc/sys/sbrk.S index 5eebf90d3..1a8347bc5 100644 --- a/lib/libc/arch/sparc/sys/sbrk.S +++ b/lib/libc/arch/sparc/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.10 2007/10/08 13:06:00 uwe Exp $ */ +/* $NetBSD: sbrk.S,v 1.11 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)sbrk.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: sbrk.S,v 1.10 2007/10/08 13:06:00 uwe Exp $") + RCSID("$NetBSD: sbrk.S,v 1.11 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* SYSLIBC_SCCS and not lint */ @@ -58,7 +58,7 @@ CURBRK: .long _end .text ENTRY(_sbrk) -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE(%o5,%o4) set CURBRK, %o2 ld [%o5 + %o2], %o2 diff --git a/lib/libc/arch/sparc64/SYS.h b/lib/libc/arch/sparc64/SYS.h index dea1fa11e..be929b38c 100644 --- a/lib/libc/arch/sparc64/SYS.h +++ b/lib/libc/arch/sparc64/SYS.h @@ -1,4 +1,4 @@ -/* $NetBSD: SYS.h,v 1.14 2011/03/28 11:19:13 martin Exp $ */ +/* $NetBSD: SYS.h,v 1.15 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -51,8 +51,7 @@ * ERROR branches to cerror. This is done with a macro so that I can * change it to be position independent later, if need be. */ -#ifdef PIC -#ifdef BIGPIC +#if __PIC__ - 0 >= 2 #define JUMP(name) \ PIC_PROLOGUE(%g1,%g5); \ sethi %hi(_C_LABEL(name)),%g5; \ @@ -60,11 +59,10 @@ ldx [%g1+%g5],%g5; \ jmp %g5; \ nop -#else +#elif __PIC__ - 0 >= 1 #define JUMP(name) \ PIC_PROLOGUE(%g1,%g5); \ ldx [%g1+_C_LABEL(name)],%g5; jmp %g5; nop -#endif #else #define JUMP(name) set _C_LABEL(name),%g1; jmp %g1; nop #endif diff --git a/lib/libc/arch/sparc64/gen/fixunsdfsi.S b/lib/libc/arch/sparc64/gen/fixunsdfsi.S index bc67fd001..be95905cc 100644 --- a/lib/libc/arch/sparc64/gen/fixunsdfsi.S +++ b/lib/libc/arch/sparc64/gen/fixunsdfsi.S @@ -1,4 +1,4 @@ -/* $NetBSD: fixunsdfsi.S,v 1.4 2003/08/07 16:42:27 agc Exp $ */ +/* $NetBSD: fixunsdfsi.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -42,7 +42,7 @@ #if 0 .asciz "@(#)fixunsdfsi.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: fixunsdfsi.S,v 1.4 2003/08/07 16:42:27 agc Exp $") + RCSID("$NetBSD: fixunsdfsi.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -65,7 +65,7 @@ Lbig: ENTRY(__dtoul) sub %sp, 16, %sp std %f2, [%sp + 64 + BIAS + 8] -#ifdef PIC +#ifdef __PIC__ PICCY_SET(Lbig, %g1, %o0) ldd [%g1], %f2 #else diff --git a/lib/libc/arch/sparc64/gen/fpclassifyl.c b/lib/libc/arch/sparc64/gen/fpclassifyl.c index 613798a71..1a745bb5f 100644 --- a/lib/libc/arch/sparc64/gen/fpclassifyl.c +++ b/lib/libc/arch/sparc64/gen/fpclassifyl.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpclassifyl.c,v 1.2 2008/04/28 20:22:57 martin Exp $ */ +/* $NetBSD: fpclassifyl.c,v 1.3 2013/11/20 22:22:20 martin Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpclassifyl.c,v 1.2 2008/04/28 20:22:57 martin Exp $"); +__RCSID("$NetBSD: fpclassifyl.c,v 1.3 2013/11/20 22:22:20 martin Exp $"); #endif #include @@ -49,14 +49,12 @@ __fpclassifyl(long double x) u.extu_ld = x; if (u.extu_ext.ext_exp == 0) { - if (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_frachm == 0 && - u.extu_ext.ext_fraclm == 0 && u.extu_ext.ext_fracl == 0) + if (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_fracl == 0) return FP_ZERO; else return FP_SUBNORMAL; } else if (u.extu_ext.ext_exp == EXT_EXP_INFNAN) { - if (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_frachm == 0 && - u.extu_ext.ext_fraclm == 0 && u.extu_ext.ext_fracl == 0) + if (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_fracl == 0) return FP_INFINITE; else return FP_NAN; diff --git a/lib/libc/arch/sparc64/gen/fpsetmask.c b/lib/libc/arch/sparc64/gen/fpsetmask.c index 5a889e027..4ac4a4d46 100644 --- a/lib/libc/arch/sparc64/gen/fpsetmask.c +++ b/lib/libc/arch/sparc64/gen/fpsetmask.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetmask.c,v 1.6 2012/03/17 21:35:06 martin Exp $ */ +/* $NetBSD: fpsetmask.c,v 1.7 2013/10/28 01:06:36 mrg Exp $ */ /* * Written by J.T. Conklin, Apr 10, 1995 @@ -7,7 +7,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetmask.c,v 1.6 2012/03/17 21:35:06 martin Exp $"); +__RCSID("$NetBSD: fpsetmask.c,v 1.7 2013/10/28 01:06:36 mrg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -24,8 +24,7 @@ extern fp_except _softfloat_float_exception_mask; #endif fp_except -fpsetmask(mask) - fp_except mask; +fpsetmask(fp_except mask) { fp_except old; fp_except new; diff --git a/lib/libc/arch/sparc64/gen/fpsetround.c b/lib/libc/arch/sparc64/gen/fpsetround.c index 0a3cd482c..5821b5b43 100644 --- a/lib/libc/arch/sparc64/gen/fpsetround.c +++ b/lib/libc/arch/sparc64/gen/fpsetround.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetround.c,v 1.5 2012/03/17 21:35:06 martin Exp $ */ +/* $NetBSD: fpsetround.c,v 1.7 2013/10/28 01:06:36 mrg Exp $ */ /* * Written by J.T. Conklin, Apr 10, 1995 @@ -7,7 +7,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetround.c,v 1.5 2012/03/17 21:35:06 martin Exp $"); +__RCSID("$NetBSD: fpsetround.c,v 1.7 2013/10/28 01:06:36 mrg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -20,14 +20,20 @@ __weak_alias(fpsetround,_fpsetround) #endif fp_rnd -fpsetround(rnd_dir) - fp_rnd rnd_dir; +fpsetround(fp_rnd rnd_dir) { fp_rnd old; fp_rnd new; +#ifdef SOFTFLOATSPARC64_FOR_GCC + extern fp_rnd _softfloat_float_rounding_mode; +#endif __asm("st %%fsr,%0" : "=m" (*&old)); +#ifdef SOFTFLOATSPARC64_FOR_GCC + _softfloat_float_rounding_mode = rnd_dir; +#endif + new = old; new &= ~(0x03 << 30); new |= ((rnd_dir & 0x03) << 30); diff --git a/lib/libc/arch/sparc64/gen/fpsetsticky.c b/lib/libc/arch/sparc64/gen/fpsetsticky.c index e878b9331..47b3ac4d1 100644 --- a/lib/libc/arch/sparc64/gen/fpsetsticky.c +++ b/lib/libc/arch/sparc64/gen/fpsetsticky.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetsticky.c,v 1.6 2012/03/17 21:35:06 martin Exp $ */ +/* $NetBSD: fpsetsticky.c,v 1.7 2013/10/28 01:06:36 mrg Exp $ */ /* * Written by J.T. Conklin, Apr 10, 1995 @@ -7,7 +7,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetsticky.c,v 1.6 2012/03/17 21:35:06 martin Exp $"); +__RCSID("$NetBSD: fpsetsticky.c,v 1.7 2013/10/28 01:06:36 mrg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -24,8 +24,7 @@ extern fp_except _softfloat_float_exception_flags; #endif fp_except -fpsetsticky(sticky) - fp_except sticky; +fpsetsticky(fp_except sticky) { fp_except old; fp_except new; diff --git a/lib/libc/arch/sparc64/gen/isinfl.c b/lib/libc/arch/sparc64/gen/isinfl.c index 8d7acc6dd..5ce673179 100644 --- a/lib/libc/arch/sparc64/gen/isinfl.c +++ b/lib/libc/arch/sparc64/gen/isinfl.c @@ -1,4 +1,4 @@ -/* $NetBSD: isinfl.c,v 1.4 2004/03/04 23:42:39 kleink Exp $ */ +/* $NetBSD: isinfl.c,v 1.5 2013/11/20 22:22:20 martin Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 static char sccsid[] = "@(#)isinf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: isinfl.c,v 1.4 2004/03/04 23:42:39 kleink Exp $"); +__RCSID("$NetBSD: isinfl.c,v 1.5 2013/11/20 22:22:20 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -59,6 +59,5 @@ __isinfl(long double x) u.extu_ld = x; return (u.extu_ext.ext_exp == EXT_EXP_INFNAN && - (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_frachm == 0 && - u.extu_ext.ext_fraclm == 0 && u.extu_ext.ext_fracl == 0)); + (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_fracl == 0)); } diff --git a/lib/libc/arch/sparc64/gen/isnanl.c b/lib/libc/arch/sparc64/gen/isnanl.c index 2b67f0866..efa59d531 100644 --- a/lib/libc/arch/sparc64/gen/isnanl.c +++ b/lib/libc/arch/sparc64/gen/isnanl.c @@ -1,4 +1,4 @@ -/* $NetBSD: isnanl.c,v 1.4 2004/03/04 23:42:39 kleink Exp $ */ +/* $NetBSD: isnanl.c,v 1.5 2013/11/20 22:22:20 martin Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 static char sccsid[] = "@(#)isinf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: isnanl.c,v 1.4 2004/03/04 23:42:39 kleink Exp $"); +__RCSID("$NetBSD: isnanl.c,v 1.5 2013/11/20 22:22:20 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -59,6 +59,5 @@ __isnanl(long double x) u.extu_ld = x; return (u.extu_ext.ext_exp == EXT_EXP_INFNAN && - (u.extu_ext.ext_frach != 0 || u.extu_ext.ext_frachm != 0 || - u.extu_ext.ext_fraclm != 0 || u.extu_ext.ext_fracl != 0)); + (u.extu_ext.ext_frach != 0 || u.extu_ext.ext_fracl != 0)); } diff --git a/lib/libc/arch/sparc64/gen/modf.S b/lib/libc/arch/sparc64/gen/modf.S index 624a2f3a2..97e36e9a1 100644 --- a/lib/libc/arch/sparc64/gen/modf.S +++ b/lib/libc/arch/sparc64/gen/modf.S @@ -1,4 +1,4 @@ -/* $NetBSD: modf.S,v 1.4 2003/08/07 16:42:27 agc Exp $ */ +/* $NetBSD: modf.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)modf.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: modf.S,v 1.4 2003/08/07 16:42:27 agc Exp $") + RCSID("$NetBSD: modf.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -101,7 +101,7 @@ ENTRY(modf) */ fabsd %f0, %f4 ! %f4:f5 = v fcmped %fcc1, %f0, %f4 ! %fcc1 = (val == abs(val)) -#ifdef PIC +#ifdef __PIC__ PICCY_SET(Lmagic, %l0, %o7) ldd [%l0], %f2 #else @@ -175,7 +175,7 @@ Lbig: * case the integer part is the original value, and the * fractional part is 0. */ -#ifdef PIC +#ifdef __PIC__ PICCY_SET(L0, %l0, %o7) std %f0, [%i1] ! *ival = val; ldd [%l0], %f0 ! return 0.0; diff --git a/lib/libc/arch/sparc64/gen/setjmp.S b/lib/libc/arch/sparc64/gen/setjmp.S index 081f61e2f..aa21e41be 100644 --- a/lib/libc/arch/sparc64/gen/setjmp.S +++ b/lib/libc/arch/sparc64/gen/setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: setjmp.S,v 1.9 2011/04/30 19:39:38 martin Exp $ */ +/* $NetBSD: setjmp.S,v 1.10 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -42,7 +42,7 @@ #if 0 .asciz "@(#)setjmp.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: setjmp.S,v 1.9 2011/04/30 19:39:38 martin Exp $") + RCSID("$NetBSD: setjmp.S,v 1.10 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -75,7 +75,7 @@ ENTRY(__setjmp14) mov %g6, %l6 mov %g7, %l7 -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE(%i1, %o4) #endif @@ -83,13 +83,12 @@ ENTRY(__setjmp14) add %i0, 0x38, %o2 /* build sigcontext in [%o2]->sc.sc_mask */ mov 1, %o0 /* SIG_BLOCK */ /* sigprocmask(SIG_BLOCK, (sigset_t *)NULL, (sigset_t *)a) */ -#ifdef PIC -#ifdef BIGPIC +#if __PIC__ - 0 >= 2 set _C_LABEL(__sigprocmask14), %o4 ldx [%i1 + %o4], %g2 -#else + call %g2 +#elif __PIC__ - 0 >= 1 ldx [%i1 + _C_LABEL(__sigprocmask14)], %g2 -#endif call %g2 #else call _C_LABEL(__sigprocmask14) @@ -97,13 +96,12 @@ ENTRY(__setjmp14) clr %o1 clr %o0 /* sigstack(NULL, &foo) */ -#ifdef PIC -#ifdef BIGPIC +#if __PIC__ - 0 >= 2 set _C_LABEL(__sigaltstack14), %o4 ldx [%i1 + %o4], %g2 -#else + call %g2 +#elif __PIC__ - 0 >= 1 ldx [%i1 + _C_LABEL(__sigaltstack14)], %g2 -#endif call %g2 #else call _C_LABEL(__sigaltstack14) diff --git a/lib/libc/arch/sparc64/gen/sigsetjmp.S b/lib/libc/arch/sparc64/gen/sigsetjmp.S index 4c350d992..b111209ca 100644 --- a/lib/libc/arch/sparc64/gen/sigsetjmp.S +++ b/lib/libc/arch/sparc64/gen/sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: sigsetjmp.S,v 1.10 2011/04/30 19:39:38 martin Exp $ */ +/* $NetBSD: sigsetjmp.S,v 1.12 2013/09/14 05:38:00 nakayama Exp $ */ /* * Copyright (c) 1995 Paul Kranenburg * All rights reserved. @@ -37,8 +37,7 @@ */ #define MASK_OFFSET 0x68 -#ifdef PIC -#ifdef BIGPIC +#if __PIC__ - 0 >= 2 ENTRY(__sigsetjmp14) PIC_PROLOGUE(%g1,%o2) ! %g1 = _GLOBAL_OFFSET_TABLE @@ -68,7 +67,8 @@ ENTRY(__siglongjmp14) jmp %o4 nop unimp 0 -#else + +#elif __PIC__ - 0 >= 1 ENTRY(__sigsetjmp14) PIC_PROLOGUE(%g1,%o2) ! %g1 = _GLOBAL_OFFSET_TABLE @@ -92,8 +92,8 @@ ENTRY(__siglongjmp14) jmp %g1 nop unimp 0 -#endif /* BIGPIC */ -#else /* PIC */ + +#else /* !__PIC__ */ ENTRY(__sigsetjmp14) cmp %o1,0 @@ -110,4 +110,4 @@ ENTRY(__siglongjmp14) ba,a _C_LABEL(__longjmp14) unimp 0 -#endif /* PIC */ +#endif /* !__PIC__ */ diff --git a/lib/libc/arch/sparc64/gen/swapcontext.S b/lib/libc/arch/sparc64/gen/swapcontext.S index abcd569e4..4cd081551 100644 --- a/lib/libc/arch/sparc64/gen/swapcontext.S +++ b/lib/libc/arch/sparc64/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.7 2012/09/13 11:47:46 martin Exp $ */ +/* $NetBSD: swapcontext.S,v 1.8 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.7 2012/09/13 11:47:46 martin Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.8 2013/09/12 15:36:16 joerg Exp $") #endif /* LIBC_SCCS && !lint */ @@ -50,14 +50,15 @@ ENTRY(swapcontext) add %o7, 8, %o1 stx %o1, [%o2 + 64 + 1 * 8] /* gr[_REG_PC] = retaddr */ -#ifdef PIC +#if __PIC__ - 0 >= 2 PIC_PROLOGUE(%g5,%o4) /* %g5 = _GLOBAL_OFFSET_TABLE */ -#ifdef BIGPIC set _C_LABEL(setcontext), %o5 ldx [%g5+%o5], %o4 -#else + jmp %o4 + mov %o3, %o0 +#elif __PIC__ - 0 >= 1 + PIC_PROLOGUE(%g5,%o4) /* %g5 = _GLOBAL_OFFSET_TABLE */ ldx [%g5+_C_LABEL(setcontext)], %o4 -#endif jmp %o4 mov %o3, %o0 #else diff --git a/lib/libc/arch/sparc64/softfloat/qp.c b/lib/libc/arch/sparc64/softfloat/qp.c index df3388072..c954592ab 100644 --- a/lib/libc/arch/sparc64/softfloat/qp.c +++ b/lib/libc/arch/sparc64/softfloat/qp.c @@ -1,4 +1,4 @@ -/* $NetBSD: qp.c,v 1.9 2012/03/17 20:48:59 martin Exp $ */ +/* $NetBSD: qp.c,v 1.10 2013/02/15 09:24:05 martin Exp $ */ /*- * Copyright (c) 2002, 2003 The NetBSD Foundation, Inc. @@ -194,7 +194,7 @@ _Qp_qtod(float128 *a) int _Qp_qtoi(float128 *a) { - return float128_to_int32(*a); + return float128_to_int32_round_to_zero(*a); } @@ -215,7 +215,7 @@ float unsigned int _Qp_qtoui(float128 *a) { - return (unsigned int)float128_to_int64(*a); + return (unsigned int)float128_to_int64_round_to_zero(*a); } diff --git a/lib/libc/arch/sparc64/string/memset.S b/lib/libc/arch/sparc64/string/memset.S deleted file mode 100644 index ca10dc702..000000000 --- a/lib/libc/arch/sparc64/string/memset.S +++ /dev/null @@ -1,196 +0,0 @@ -/* $NetBSD: memset.S,v 1.4 2001/08/02 01:17:28 eeh Exp $ */ - -/* - * Copyright (c) 2001, Eduardo E. Horvath - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: Header: bzero.s,v 1.1 92/06/25 12:52:46 torek Exp - */ - -#include -#ifndef _LOCORE -#define _LOCORE -#endif -#include -#include -#include - -#if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: memset.S,v 1.4 2001/08/02 01:17:28 eeh Exp $") -#endif /* LIBC_SCCS and not lint */ - -/* - * bzero(addr, len) - * - * We want to use VIS instructions if we're clearing out more than - * 256 bytes, but to do that we need to properly save and restore the - * FP registers. Unfortunately the code to do that in the kernel needs - * to keep track of the current owner of the FPU, hence the different - * code. - * - * XXXXX To produce more efficient code, we do not allow lengths - * greater than 0x80000000000000000, which are negative numbers. - * This should not really be an issue since the VA hole should - * cause any such ranges to fail anyway. - */ -ENTRY(bzero) - ! %o0 = addr, %o1 = len - mov %o1, %o2 - clr %o1 ! Initialize our pattern -/* - * memset(addr, c, len) - * - */ -ENTRY(memset) - ! %o0 = addr, %o1 = pattern, %o2 = len - mov %o0, %o4 ! Save original pointer - -Lbzero_internal: - btst 7, %o0 ! Word aligned? - bz,pn %xcc, 0f - nop - inc %o0 - deccc %o2 ! Store up to 7 bytes - bge,a,pt %xcc, Lbzero_internal - stb %o1, [%o0 - 1] - - retl ! Duplicate Lbzero_done - mov %o4, %o0 -0: - /* - * Duplicate the pattern so it fills 64-bits. - */ - andcc %o1, 0x0ff, %o1 ! No need to extend zero - bz,pt %icc, 1f - sllx %o1, 8, %o3 ! sigh. all dependent insns. - or %o1, %o3, %o1 - sllx %o1, 16, %o3 - or %o1, %o3, %o1 - sllx %o1, 32, %o3 - or %o1, %o3, %o1 -1: -#if 1 - !! Now we are 64-bit aligned - cmp %o2, 256 ! Use block clear if len > 256 - bge,pt %xcc, Lbzero_block ! use block store insns -#endif - deccc 8, %o2 -Lbzero_longs: - bl,pn %xcc, Lbzero_cleanup ! Less than 8 bytes left - nop -3: - inc 8, %o0 - deccc 8, %o2 - bge,pt %xcc, 3b - stx %o1, [%o0 - 8] ! Do 1 longword at a time - - /* - * Len is in [-8..-1] where -8 => done, -7 => 1 byte to zero, - * -6 => two bytes, etc. Mop up this remainder, if any. - */ -Lbzero_cleanup: - btst 4, %o2 - bz,pt %xcc, 5f ! if (len & 4) { - nop - stw %o1, [%o0] ! *(int *)addr = 0; - inc 4, %o0 ! addr += 4; -5: - btst 2, %o2 - bz,pt %xcc, 7f ! if (len & 2) { - nop - sth %o1, [%o0] ! *(short *)addr = 0; - inc 2, %o0 ! addr += 2; -7: - btst 1, %o2 - bnz,a %icc, Lbzero_done ! if (len & 1) - stb %o1, [%o0] ! *addr = 0; -Lbzero_done: - retl - mov %o4, %o0 ! Restore ponter for memset (ugh) - -#if 1 -Lbzero_block: -/* - * Userland: - * - * Floating point registers are volatile. What luck. - * - * See locore.s for the kernel version. - * - */ -! wr %g0, FPRS_FEF, %fprs ! Enable FPU - - !! We are now 8-byte aligned. We need to become 64-byte aligned. - btst 63, %o0 - bz,pt %xcc, 2f - nop -1: - stx %o1, [%o0] - inc 8, %o0 - btst 63, %o0 - bnz,pt %xcc, 1b - dec 8, %o2 - -2: - brz %o1, 3f ! Skip the memory op - fzero %f0 ! for bzero - - stx %o1, [%o0] ! Flush this puppy to RAM - membar #StoreLoad - ldd [%o0], %f0 -3: - fmovd %f0, %f2 ! Duplicate the pattern - fmovd %f0, %f4 - fmovd %f0, %f6 - fmovd %f0, %f8 - fmovd %f0, %f10 - fmovd %f0, %f12 - fmovd %f0, %f14 - - !! Remember: we were 8 bytes too far - dec 56, %o2 ! Go one iteration too far -5: - stda %f0, [%o0] ASI_BLK_P ! Store 64 bytes - deccc 64, %o2 - bg,pn %xcc, 5b - inc 64, %o0 - - membar #Sync -/* - * Now we're done we need to load the FPU state from where - * we put it. - */ - ba,pt %xcc, Lbzero_longs ! Finish up the remainder - inccc 56, %o2 ! Restore the count -#endif diff --git a/lib/libc/arch/sparc64/sys/brk.S b/lib/libc/arch/sparc64/sys/brk.S index 7813b5ba0..981f313f3 100644 --- a/lib/libc/arch/sparc64/sys/brk.S +++ b/lib/libc/arch/sparc64/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.12 2003/12/26 11:21:48 martin Exp $ */ +/* $NetBSD: brk.S,v 1.13 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)brk.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: brk.S,v 1.12 2003/12/26 11:21:48 martin Exp $") + RCSID("$NetBSD: brk.S,v 1.13 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* SYSLIBC_SCCS and not lint */ @@ -60,9 +60,9 @@ _C_LABEL(__minbrk): .xword _C_LABEL(_end) /* lower brk limit; also for gmon code */ .text +#if __PIC__ - 0 >= 2 + ENTRY(_brk) -#ifdef PIC -#ifdef BIGPIC PIC_PROLOGUE(%o5,%o4) set _C_LABEL(__minbrk), %o4 ldx [%o5 + %o4], %o4 @@ -79,7 +79,10 @@ ENTRY(_brk) 1: retl /* success, return 0 & record new break */ stx %o2, [%o4] -#else + +#elif __PIC__ - 0 >= 1 + +ENTRY(_brk) PIC_PROLOGUE(%o5,%o4) ldx [%o5 + _C_LABEL(__minbrk)], %o4 ldx [%o4], %o1 /* %o1 = minbrk */ @@ -94,8 +97,10 @@ ENTRY(_brk) 1: retl /* success, return 0 & record new break */ stx %o2, [%o4] -#endif + #else + +ENTRY(_brk) sethi %hi(_C_LABEL(__minbrk)), %o1 /* %o1 = minbrk */ ldx [%o1 + %lo(_C_LABEL(__minbrk))], %o1 cmp %o1, %o0 /* if (minbrk > %o0) */ @@ -109,4 +114,5 @@ ENTRY(_brk) 1: retl /* success, return 0 & record new break */ stx %o2, [%g1 + %lo(_C_LABEL(__curbrk))] + #endif diff --git a/lib/libc/arch/sparc64/sys/cerror.S b/lib/libc/arch/sparc64/sys/cerror.S index 3cd2acf01..af4d39efb 100644 --- a/lib/libc/arch/sparc64/sys/cerror.S +++ b/lib/libc/arch/sparc64/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.6 2003/08/07 16:42:29 agc Exp $ */ +/* $NetBSD: cerror.S,v 1.8 2013/09/14 05:38:00 nakayama Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)cerror.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: cerror.S,v 1.6 2003/08/07 16:42:29 agc Exp $") + RCSID("$NetBSD: cerror.S,v 1.8 2013/09/14 05:38:00 nakayama Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -57,8 +57,9 @@ FUNC(__cerror) restore %g0, -1, %o1 #else .globl _C_LABEL(errno) -#ifdef PIC -#ifdef BIGPIC + +#if __PIC__ - 0 >= 2 + FUNC(__cerror) PIC_PROLOGUE(%g1, %o3) set _C_LABEL(errno),%o1 @@ -67,7 +68,9 @@ FUNC(__cerror) mov -1, %o0 retl mov -1, %o1 -#else + +#elif __PIC__ - 0 >= 1 + FUNC(__cerror) PIC_PROLOGUE(%g1, %o3) ldx [%g1 + _C_LABEL(errno)], %g1 @@ -75,13 +78,16 @@ FUNC(__cerror) mov -1, %o0 retl mov -1, %o1 -#endif + #else + FUNC(__cerror) sethi %hi(_C_LABEL(errno)), %g1 st %o0, [%g1 + %lo(_C_LABEL(errno))] mov -1, %o0 retl mov -1, %o1 -#endif + +#endif /* __PIC__ */ + #endif /* _REENTRANT */ diff --git a/lib/libc/arch/sparc64/sys/sbrk.S b/lib/libc/arch/sparc64/sys/sbrk.S index e420e5eff..29fd9fe6f 100644 --- a/lib/libc/arch/sparc64/sys/sbrk.S +++ b/lib/libc/arch/sparc64/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.9 2003/08/07 16:42:30 agc Exp $ */ +/* $NetBSD: sbrk.S,v 1.11 2013/09/14 05:38:00 nakayama Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 .asciz "@(#)sbrk.s 8.1 (Berkeley) 6/4/93" #else - RCSID("$NetBSD: sbrk.S,v 1.9 2003/08/07 16:42:30 agc Exp $") + RCSID("$NetBSD: sbrk.S,v 1.11 2013/09/14 05:38:00 nakayama Exp $") #endif #endif /* SYSLIBC_SCCS and not lint */ @@ -59,9 +59,9 @@ _C_LABEL(__curbrk): .xword _C_LABEL(_end) .text +#if __PIC__ - 0 >= 2 + ENTRY(_sbrk) -#ifdef PIC -#ifdef BIGPIC PIC_PROLOGUE(%o5,%o4) set _C_LABEL(__curbrk), %o3 ldx [%o5 + %o3], %o2 @@ -76,7 +76,10 @@ ENTRY(_sbrk) 1: retl /* and update curbrk */ stx %o4, [%o2] -#else + +#elif __PIC__ - 0 >= 1 + +ENTRY(_sbrk) PIC_PROLOGUE(%o5,%o4) ldx [%o5 + _C_LABEL(__curbrk)], %o2 ldx [%o2], %o3 /* %o3 = old break */ @@ -90,8 +93,10 @@ ENTRY(_sbrk) 1: retl /* and update curbrk */ stx %o4, [%o2] -#endif + #else + +ENTRY(_sbrk) sethi %hi(_C_LABEL(__curbrk)), %o2 ldx [%o2 + %lo(_C_LABEL(__curbrk))], %o3 /* %o3 = old break */ add %o3, %o0, %o4 /* %o4 = new break */ @@ -104,4 +109,5 @@ ENTRY(_sbrk) 1: retl /* and update curbrk */ stx %o4, [%o2 + %lo(_C_LABEL(__curbrk))] -#endif + +#endif /* __PIC__ */ diff --git a/lib/libc/arch/vax/sys/brk.S b/lib/libc/arch/vax/sys/brk.S index d884b2a2a..a774396e3 100644 --- a/lib/libc/arch/vax/sys/brk.S +++ b/lib/libc/arch/vax/sys/brk.S @@ -31,23 +31,26 @@ #if defined(SYSLIBC_SCCS) && !defined(lint) /* .asciz "@(#)brk.s 8.1 (Berkeley) 6/4/93" */ -RCSID("$NetBSD: brk.S,v 1.13 2011/01/25 02:38:15 matt Exp $") +RCSID("$NetBSD: brk.S,v 1.14 2013/07/18 12:27:01 matt Exp $") #endif /* SYSLIBC_SCCS and not lint */ - .globl CURBRK + .globl _C_LABEL(__curbrk) .globl _C_LABEL(__minbrk) + .hidden _C_LABEL(__curbrk) + .hidden _C_LABEL(__minbrk) #ifdef WEAK_ALIAS WEAK_ALIAS(brk, _brk) #endif ENTRY(_brk, 0) - cmpl _C_LABEL(__minbrk),4(%ap) # gtr > _end + moval _C_LABEL(__minbrk),%r5 # gtr > _end + cmpl (%r5),4(%ap) # gtr > _end blequ 1f # is fine - movl _C_LABEL(__minbrk),4(%ap) # shrink back to _end + movl (%r5),4(%ap) # shrink back to _end 1: chmk $ SYS_break # do it jcs err - movl 4(%ap),CURBRK + movl 4(%ap),_C_LABEL(__curbrk) clrl %r0 ret err: diff --git a/lib/libc/arch/vax/sys/sbrk.S b/lib/libc/arch/vax/sys/sbrk.S index ae42e7ba4..dba75168c 100644 --- a/lib/libc/arch/vax/sys/sbrk.S +++ b/lib/libc/arch/vax/sys/sbrk.S @@ -31,12 +31,14 @@ #if defined(SYSLIBC_SCCS) && !defined(lint) /* .asciz "@(#)sbrk.s 8.1 (Berkeley) 6/4/93" */ -RCSID("$NetBSD: sbrk.S,v 1.11 2011/01/25 02:38:15 matt Exp $") +RCSID("$NetBSD: sbrk.S,v 1.12 2013/07/18 12:27:01 matt Exp $") #endif /* SYSLIBC_SCCS and not lint */ .globl _end .globl _C_LABEL(__minbrk) - .globl CURBRK + .globl _C_LABEL(__curbrk) + .hidden _C_LABEL(__minbrk) + .hidden _C_LABEL(__curbrk) #ifdef WEAK_ALIAS WEAK_ALIAS(sbrk, _sbrk) @@ -45,19 +47,20 @@ WEAK_ALIAS(sbrk, _sbrk) .data _C_LABEL(__minbrk): .long _end -CURBRK: +_C_LABEL(__curbrk): .long _end .text ENTRY(_sbrk, 0) - addl3 CURBRK,4(%ap),-(%sp) + moval _C_LABEL(__curbrk),%r5 + addl3 (%r5),4(%ap),-(%sp) pushl $1 movl %ap,%r3 movl %sp,%ap chmk $ SYS_break jcs err - movl CURBRK,%r0 - addl2 4(%r3),CURBRK + movl (%r5),%r0 + addl2 4(%r3),(%r5) ret err: jmp CERROR+2 diff --git a/lib/libc/arch/x86_64/gen/__setjmp14.S b/lib/libc/arch/x86_64/gen/__setjmp14.S index c5541cb38..d9604c569 100644 --- a/lib/libc/arch/x86_64/gen/__setjmp14.S +++ b/lib/libc/arch/x86_64/gen/__setjmp14.S @@ -1,4 +1,4 @@ -/* $NetBSD: __setjmp14.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ +/* $NetBSD: __setjmp14.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: __setjmp14.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $") + RCSID("$NetBSD: __setjmp14.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* @@ -68,7 +68,7 @@ ENTRY(__setjmp14) xorl %edi,%edi xorq %rsi,%rsi -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) @@ -85,7 +85,7 @@ ENTRY(__longjmp14) xorq %rdx,%rdx pushq %r8 -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) diff --git a/lib/libc/arch/x86_64/gen/__sigsetjmp14.S b/lib/libc/arch/x86_64/gen/__sigsetjmp14.S index 07b3db61d..d05af4022 100644 --- a/lib/libc/arch/x86_64/gen/__sigsetjmp14.S +++ b/lib/libc/arch/x86_64/gen/__sigsetjmp14.S @@ -1,4 +1,4 @@ -/* $NetBSD: __sigsetjmp14.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ +/* $NetBSD: __sigsetjmp14.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 2001 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: __sigsetjmp14.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $") + RCSID("$NetBSD: __sigsetjmp14.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* @@ -72,7 +72,7 @@ ENTRY(__sigsetjmp14) xorl %edi,%edi xorq %rsi,%rsi -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) @@ -90,7 +90,7 @@ ENTRY(__siglongjmp14) movl $3,%edi /* SIG_SETMASK */ xorq %rdx,%rdx -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__sigprocmask14)) #else call _C_LABEL(__sigprocmask14) diff --git a/lib/libc/arch/x86_64/gen/resumecontext.S b/lib/libc/arch/x86_64/gen/resumecontext.S index 693169fe7..b66b4b247 100644 --- a/lib/libc/arch/x86_64/gen/resumecontext.S +++ b/lib/libc/arch/x86_64/gen/resumecontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: resumecontext.S,v 1.4 2008/04/28 20:22:58 martin Exp $ */ +/* $NetBSD: resumecontext.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. @@ -35,7 +35,7 @@ #include "SYS.h" #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: resumecontext.S,v 1.4 2008/04/28 20:22:58 martin Exp $") + RCSID("$NetBSD: resumecontext.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif /* LIBC_SCCS && !lint */ /* @@ -48,7 +48,7 @@ NENTRY(_resumecontext) /* profiling prologue would clobber TOS */ leaq -(8 + 784)(%rsp),%rdi /* retaddr + sizeof (ucontext_t) */ andq $~15,%rdi /* align on _UC_UCONTEXT_ALIGN */ movq %rdi,%rsp -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(_getcontext)) #else call _C_LABEL(_getcontext) @@ -58,14 +58,14 @@ NENTRY(_resumecontext) /* profiling prologue would clobber TOS */ jnz 9f /* normal exit */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(exit)) #else call _C_LABEL(exit) #endif 9: -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(setcontext)) #else call _C_LABEL(setcontext) diff --git a/lib/libc/arch/x86_64/gen/swapcontext.S b/lib/libc/arch/x86_64/gen/swapcontext.S index 49744bf07..af70b5000 100644 --- a/lib/libc/arch/x86_64/gen/swapcontext.S +++ b/lib/libc/arch/x86_64/gen/swapcontext.S @@ -1,4 +1,4 @@ -/* $NetBSD: swapcontext.S,v 1.4 2007/04/12 12:33:26 pooka Exp $ */ +/* $NetBSD: swapcontext.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 2003 Wasabi Systems, Inc. @@ -38,7 +38,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: swapcontext.S,v 1.4 2007/04/12 12:33:26 pooka Exp $") + RCSID("$NetBSD: swapcontext.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif /* LIBC_SCCS && !lint */ /* @@ -50,7 +50,7 @@ ENTRY(swapcontext) pushq %rdi /* preserve oucp */ pushq %rsi /* preserve ucp */ -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(_getcontext)) #else call _C_LABEL(_getcontext) @@ -64,7 +64,7 @@ ENTRY(swapcontext) leaq 8(%rsp),%r11 movq %r11,(56 + 24 * 8)(%rdi) movq %rsi,%rdi -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(setcontext)) #else call _C_LABEL(setcontext) diff --git a/lib/libc/arch/x86_64/string/Makefile.inc b/lib/libc/arch/x86_64/string/Makefile.inc index ba5d077d2..22831f487 100644 --- a/lib/libc/arch/x86_64/string/Makefile.inc +++ b/lib/libc/arch/x86_64/string/Makefile.inc @@ -1,6 +1,7 @@ -# $NetBSD: Makefile.inc,v 1.4 2009/07/30 20:57:17 dsl Exp $ +# $NetBSD: Makefile.inc,v 1.6 2013/11/24 03:50:17 christos Exp $ # objects built from assembler sources -SRCS+= bcmp.S bcopy.S bzero.S ffs.S memchr.S memcmp.S \ +SRCS+= bcmp.S bcopy.S ffs.S memchr.S memcmp.S \ memcpy.S memmove.S memset.S strcat.S strchr.S \ strcmp.S strcpy.S strlen.S strncmp.S strrchr.S swab.S +NO_SRCS+= bzero.c diff --git a/lib/libc/arch/x86_64/sys/__clone.S b/lib/libc/arch/x86_64/sys/__clone.S index 37025be3b..557eeb692 100644 --- a/lib/libc/arch/x86_64/sys/__clone.S +++ b/lib/libc/arch/x86_64/sys/__clone.S @@ -1,4 +1,4 @@ -/* $NetBSD: __clone.S,v 1.3 2011/11/18 20:43:01 joerg Exp $ */ +/* $NetBSD: __clone.S,v 1.4 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 2002 Wasabi Systems, Inc. @@ -74,7 +74,7 @@ ENTRY(__clone) call *%r12 /* this is the clone, call the function */ movq %rax,%rdi -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(_exit)) #else call _C_LABEL(_exit) diff --git a/lib/libc/arch/x86_64/sys/brk.S b/lib/libc/arch/x86_64/sys/brk.S index c64483281..d5ec4ecfe 100644 --- a/lib/libc/arch/x86_64/sys/brk.S +++ b/lib/libc/arch/x86_64/sys/brk.S @@ -1,4 +1,4 @@ -/* $NetBSD: brk.S,v 1.4 2011/11/18 20:43:01 joerg Exp $ */ +/* $NetBSD: brk.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: brk.S,v 1.4 2011/11/18 20:43:01 joerg Exp $") + RCSID("$NetBSD: brk.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -55,7 +55,7 @@ _C_LABEL(__minbrk): .text ENTRY(_brk) -#ifdef PIC +#ifdef __PIC__ movq PIC_GOT(_C_LABEL(__minbrk)),%rdx cmpq %rdi,(%rdx) jb 1f diff --git a/lib/libc/arch/x86_64/sys/cerror.S b/lib/libc/arch/x86_64/sys/cerror.S index 9a608dd5b..5dbca1b7a 100644 --- a/lib/libc/arch/x86_64/sys/cerror.S +++ b/lib/libc/arch/x86_64/sys/cerror.S @@ -1,4 +1,4 @@ -/* $NetBSD: cerror.S,v 1.5 2012/02/27 12:26:21 joerg Exp $ */ +/* $NetBSD: cerror.S,v 1.6 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: cerror.S,v 1.5 2012/02/27 12:26:21 joerg Exp $") + RCSID("$NetBSD: cerror.S,v 1.6 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -48,11 +48,11 @@ _ENTRY(CERROR) pushq %r12 movl %eax,%edi movl %eax,%r12d -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__errno)) #else call _C_LABEL(__errno) -#endif /* PIC */ +#endif /* __PIC__ */ movl %r12d,(%rax) movq $-1,%rax popq %r12 diff --git a/lib/libc/arch/x86_64/sys/ptrace.S b/lib/libc/arch/x86_64/sys/ptrace.S index 77c1de87f..a285796ca 100644 --- a/lib/libc/arch/x86_64/sys/ptrace.S +++ b/lib/libc/arch/x86_64/sys/ptrace.S @@ -1,4 +1,4 @@ -/* $NetBSD: ptrace.S,v 1.3 2011/11/18 20:43:01 joerg Exp $ */ +/* $NetBSD: ptrace.S,v 1.4 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: ptrace.S,v 1.3 2011/11/18 20:43:01 joerg Exp $") + RCSID("$NetBSD: ptrace.S,v 1.4 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -44,11 +44,11 @@ .globl _C_LABEL(__errno) ENTRY(ptrace) -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(__errno)) #else call _C_LABEL(__errno) -#endif /* PIC */ +#endif /* __PIC__ */ movl $0,(%rax) SYSTRAP(ptrace) jc err diff --git a/lib/libc/arch/x86_64/sys/sbrk.S b/lib/libc/arch/x86_64/sys/sbrk.S index 812e15b38..dcd908cf4 100644 --- a/lib/libc/arch/x86_64/sys/sbrk.S +++ b/lib/libc/arch/x86_64/sys/sbrk.S @@ -1,4 +1,4 @@ -/* $NetBSD: sbrk.S,v 1.4 2011/11/18 20:43:01 joerg Exp $ */ +/* $NetBSD: sbrk.S,v 1.5 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: sbrk.S,v 1.4 2011/11/18 20:43:01 joerg Exp $") + RCSID("$NetBSD: sbrk.S,v 1.5 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -53,7 +53,7 @@ CURBRK: .quad _end .text ENTRY(_sbrk) -#ifdef PIC +#ifdef __PIC__ movq PIC_GOT(CURBRK),%rdx movq (%rdx),%rax test %rdi,%rdi diff --git a/lib/libc/cdb/cdb.5 b/lib/libc/cdb/cdb.5 index 0c1ec86d7..30e8007f3 100644 --- a/lib/libc/cdb/cdb.5 +++ b/lib/libc/cdb/cdb.5 @@ -1,4 +1,4 @@ -.\" $NetBSD: cdb.5,v 1.3 2010/04/27 14:26:52 jruoho Exp $ +.\" $NetBSD: cdb.5,v 1.4 2013/07/20 21:39:56 wiz Exp $ .\" .\" Copyright (c) 2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -101,4 +101,4 @@ The and .Nm cdbw functions have been written by -.An Joerg Sonnenberger Aq joerg@NetBSD.org . +.An Joerg Sonnenberger Aq Mt joerg@NetBSD.org . diff --git a/lib/libc/cdb/cdbr.3 b/lib/libc/cdb/cdbr.3 index 7b93ebeaf..41f5c27dc 100644 --- a/lib/libc/cdb/cdbr.3 +++ b/lib/libc/cdb/cdbr.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: cdbr.3,v 1.2 2010/04/25 10:32:44 wiz Exp $ +.\" $NetBSD: cdbr.3,v 1.3 2013/07/20 21:39:56 wiz Exp $ .\" .\" Copyright (c) 2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -116,4 +116,4 @@ The and .Nm cdbw functions have been written by -.An Joerg Sonnenberger Aq joerg@NetBSD.org . +.An Joerg Sonnenberger Aq Mt joerg@NetBSD.org . diff --git a/lib/libc/cdb/cdbr.c b/lib/libc/cdb/cdbr.c index bf970baae..0fe919625 100644 --- a/lib/libc/cdb/cdbr.c +++ b/lib/libc/cdb/cdbr.c @@ -57,6 +57,10 @@ __RCSID("$NetBSD: cdbr.c,v 1.4 2012/09/27 00:37:43 joerg Exp $"); #include #include +#if defined(__minix) && !defined(MAP_SHARED) +#define MAP_SHARED MAP_PRIVATE /* LSC: We lose some memory, but it's OK as this is RO. */ +#endif /* defined(__minix) && !defined(MAP_SHARED) */ + #ifdef __weak_alias __weak_alias(cdbr_close,_cdbr_close) __weak_alias(cdbr_find,_cdbr_find) @@ -132,21 +136,7 @@ cdbr_open(const char *path, int flags) cdbr->index_size = 4; cdbr->mmap_size = (size_t)sb.st_size; -#ifdef __minix - if(!(cdbr->mmap_base = malloc(cdbr->mmap_size))) { - free(cdbr); - return NULL; - } - - if ((size_t)read(fd, cdbr->mmap_base, cdbr->mmap_size) != cdbr->mmap_size) - { - free(cdbr->mmap_base); - free(cdbr); - return NULL; - } -#else /* !__minix */ cdbr->mmap_base = mmap(NULL, cdbr->mmap_size, PROT_READ, MAP_FILE|MAP_SHARED, fd, 0); -#endif /* __minix */ close(fd); if (cdbr->mmap_base == MAP_FAILED) { @@ -269,10 +259,6 @@ cdbr_find(struct cdbr *cdbr, const void *key, size_t key_len, void cdbr_close(struct cdbr *cdbr) { -#ifdef __minix - free(cdbr->mmap_base); -#else munmap(cdbr->mmap_base, cdbr->mmap_size); -#endif free(cdbr); } diff --git a/lib/libc/cdb/cdbw.3 b/lib/libc/cdb/cdbw.3 index 173412f90..4cddced93 100644 --- a/lib/libc/cdb/cdbw.3 +++ b/lib/libc/cdb/cdbw.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: cdbw.3,v 1.5 2012/06/04 00:26:29 wiz Exp $ +.\" $NetBSD: cdbw.3,v 1.6 2013/07/20 21:39:56 wiz Exp $ .\" .\" Copyright (c) 2010 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -137,4 +137,4 @@ The and .Nm cdbw functions have been written by -.An Joerg Sonnenberger Aq joerg@NetBSD.org . +.An Joerg Sonnenberger Aq Mt joerg@NetBSD.org . diff --git a/lib/libc/citrus/Makefile.inc b/lib/libc/citrus/Makefile.inc index c5955390f..39b513a22 100644 --- a/lib/libc/citrus/Makefile.inc +++ b/lib/libc/citrus/Makefile.inc @@ -5,8 +5,10 @@ .if !defined(__MINIX) MODULE_SHLIB_MAJOR!= . ${NETBSDSRCDIR}/lib/i18n_module/shlib_version ; echo $$major -CPPFLAGS.citrus_module.c+=-DI18NMODULE_MAJOR=${MODULE_SHLIB_MAJOR} +.else +MODULE_SHLIB_MAJOR=1 .endif # !defined(__MINIX) +CPPFLAGS.citrus_module.c+=-DI18NMODULE_MAJOR=${MODULE_SHLIB_MAJOR} SRCS+= citrus_bcs.c citrus_bcs_strtol.c citrus_bcs_strtoul.c \ citrus_csmapper.c citrus_ctype.c citrus_ctype_fallback.c \ citrus_db.c citrus_db_hash.c citrus_esdb.c citrus_hash.c \ diff --git a/lib/libc/citrus/citrus_bcs_strtol.c b/lib/libc/citrus/citrus_bcs_strtol.c index 4a30bc8a6..618bc19f3 100644 --- a/lib/libc/citrus/citrus_bcs_strtol.c +++ b/lib/libc/citrus/citrus_bcs_strtol.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_bcs_strtol.c,v 1.2 2009/01/11 02:46:24 christos Exp $ */ +/* $NetBSD: citrus_bcs_strtol.c,v 1.4 2013/04/26 21:20:47 joerg Exp $ */ /*- * Copyright (c) 2005 The DragonFly Project. All rights reserved. @@ -28,7 +28,7 @@ */ #include -__RCSID("$NetBSD: citrus_bcs_strtol.c,v 1.2 2009/01/11 02:46:24 christos Exp $"); +__RCSID("$NetBSD: citrus_bcs_strtol.c,v 1.4 2013/04/26 21:20:47 joerg Exp $"); #include #include @@ -39,6 +39,8 @@ __RCSID("$NetBSD: citrus_bcs_strtol.c,v 1.2 2009/01/11 02:46:24 christos Exp $") #include "citrus_namespace.h" #include "citrus_bcs.h" +#define BCS_ONLY + #define _FUNCNAME _bcs_strtol #define __INT long int #define __INT_MIN LONG_MIN diff --git a/lib/libc/citrus/citrus_bcs_strtoul.c b/lib/libc/citrus/citrus_bcs_strtoul.c index 984030fa0..c9ffe19eb 100644 --- a/lib/libc/citrus/citrus_bcs_strtoul.c +++ b/lib/libc/citrus/citrus_bcs_strtoul.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_bcs_strtoul.c,v 1.3 2009/01/11 02:46:24 christos Exp $ */ +/* $NetBSD: citrus_bcs_strtoul.c,v 1.5 2013/04/26 21:20:48 joerg Exp $ */ /*- * Copyright (c) 2005 The DragonFly Project. All rights reserved. @@ -33,7 +33,7 @@ #include #if !defined(lint) -__RCSID("$NetBSD: citrus_bcs_strtoul.c,v 1.3 2009/01/11 02:46:24 christos Exp $"); +__RCSID("$NetBSD: citrus_bcs_strtoul.c,v 1.5 2013/04/26 21:20:48 joerg Exp $"); #endif /* not lint */ #include @@ -45,6 +45,8 @@ __RCSID("$NetBSD: citrus_bcs_strtoul.c,v 1.3 2009/01/11 02:46:24 christos Exp $" #include "citrus_namespace.h" #include "citrus_bcs.h" +#define BCS_ONLY + #define _FUNCNAME _bcs_strtoul #define __UINT unsigned long int #define __UINT_MAX ULONG_MAX diff --git a/lib/libc/citrus/citrus_csmapper.h b/lib/libc/citrus/citrus_csmapper.h index 31b06e401..04f8d9b69 100644 --- a/lib/libc/citrus/citrus_csmapper.h +++ b/lib/libc/citrus/citrus_csmapper.h @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_csmapper.h,v 1.2 2008/02/09 14:56:20 junyoung Exp $ */ +/* $NetBSD: citrus_csmapper.h,v 1.3 2013/06/24 17:28:35 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -27,7 +27,7 @@ */ #ifndef _CITRUS_CSMAPPER_H_ -#define _CITRUS_CSMAPPER_H +#define _CITRUS_CSMAPPER_H_ #define _citrus_csmapper _citrus_mapper #define _citrus_csmapper_close _citrus_mapper_close diff --git a/lib/libc/citrus/citrus_ctype.c b/lib/libc/citrus/citrus_ctype.c index 5155dfcfe..0cac14117 100644 --- a/lib/libc/citrus/citrus_ctype.c +++ b/lib/libc/citrus/citrus_ctype.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype.c,v 1.6 2011/11/19 18:34:21 tnozaki Exp $ */ +/* $NetBSD: citrus_ctype.c,v 1.7 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)1999, 2000, 2001, 2002 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_ctype.c,v 1.6 2011/11/19 18:34:21 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_ctype.c,v 1.7 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -92,6 +92,8 @@ _initctypemodule(_citrus_ctype_t cc, char const *modname, cc->cc_ops->co_wctob = &_citrus_ctype_wctob_fallback; /* FALLTHROUGH */ case 0x00000002: + cc->cc_ops->co_mbsnrtowcs = &_citrus_ctype_mbsnrtowcs_fallback; + cc->cc_ops->co_wcsnrtombs = &_citrus_ctype_wcsnrtombs_fallback; /* FALLTHROUGH */ default: break; @@ -106,10 +108,12 @@ _initctypemodule(_citrus_ctype_t cc, char const *modname, cc->cc_ops->co_mbrtowc == NULL || cc->cc_ops->co_mbsinit == NULL || cc->cc_ops->co_mbsrtowcs == NULL || + cc->cc_ops->co_mbsnrtowcs == NULL || cc->cc_ops->co_mbstowcs == NULL || cc->cc_ops->co_mbtowc == NULL || cc->cc_ops->co_wcrtomb == NULL || cc->cc_ops->co_wcsrtombs == NULL || + cc->cc_ops->co_wcsnrtombs == NULL || cc->cc_ops->co_wcstombs == NULL || cc->cc_ops->co_wctomb == NULL || cc->cc_ops->co_btowc == NULL || diff --git a/lib/libc/citrus/citrus_ctype.h b/lib/libc/citrus/citrus_ctype.h index aeb0a2bea..3ece36487 100644 --- a/lib/libc/citrus/citrus_ctype.h +++ b/lib/libc/citrus/citrus_ctype.h @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype.h,v 1.2 2003/03/05 20:18:15 tshiozak Exp $ */ +/* $NetBSD: citrus_ctype.h,v 1.3 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -94,6 +94,16 @@ _citrus_ctype_mbsrtowcs(_citrus_ctype_t cc, wchar_t *pwcs, const char **s, nresult); } +static __inline int +_citrus_ctype_mbsnrtowcs(_citrus_ctype_t cc, wchar_t *pwcs, const char **s, + size_t in, size_t n, void *pspriv, size_t *nresult) +{ + + _DIAGASSERT(cc && cc->cc_ops && cc->cc_ops->co_mbsnrtowcs && nresult); + return (*cc->cc_ops->co_mbsnrtowcs)(cc, pwcs, s, in, n, + pspriv, nresult); +} + static __inline int _citrus_ctype_mbstowcs(_citrus_ctype_t cc, wchar_t *pwcs, const char *s, size_t n, size_t *nresult) @@ -132,6 +142,16 @@ _citrus_ctype_wcsrtombs(_citrus_ctype_t cc, char *s, const wchar_t **ppwcs, pspriv, nresult); } +static __inline int +_citrus_ctype_wcsnrtombs(_citrus_ctype_t cc, char *s, const wchar_t **ppwcs, + size_t in, size_t n, void *pspriv, size_t *nresult) +{ + + _DIAGASSERT(cc && cc->cc_ops && cc->cc_ops->co_wcsnrtombs && nresult); + return (*cc->cc_ops->co_wcsnrtombs)(cc, s, ppwcs, in, n, + pspriv, nresult); +} + static __inline int _citrus_ctype_wcstombs(_citrus_ctype_t cc, char *s, const wchar_t *wcs, size_t n, size_t *nresult) diff --git a/lib/libc/citrus/citrus_ctype_fallback.c b/lib/libc/citrus/citrus_ctype_fallback.c index 2adbb8b3b..860fa55d2 100644 --- a/lib/libc/citrus/citrus_ctype_fallback.c +++ b/lib/libc/citrus/citrus_ctype_fallback.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype_fallback.c,v 1.2 2003/06/27 14:52:25 yamt Exp $ */ +/* $NetBSD: citrus_ctype_fallback.c,v 1.3 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -28,13 +28,14 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_ctype_fallback.c,v 1.2 2003/06/27 14:52:25 yamt Exp $"); +__RCSID("$NetBSD: citrus_ctype_fallback.c,v 1.3 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include #include +#include #include #include #include @@ -108,3 +109,121 @@ _citrus_ctype_wctob_fallback(_citrus_ctype_rec_t * __restrict cc, return 0; } + +/* + * for ABI version >= 0x00000003 + */ + +int +_citrus_ctype_mbsnrtowcs_fallback(_citrus_ctype_rec_t * __restrict cc, + wchar_t * __restrict pwcs, const char ** __restrict s, size_t in, + size_t n, void * __restrict psenc, size_t * __restrict nresult) +{ + int err; + size_t cnt, siz; + const char *s0, *se; + + _DIAGASSERT(nresult != 0); + _DIAGASSERT(psenc != NULL); + _DIAGASSERT(s != NULL); + _DIAGASSERT(*s != NULL); + + /* if pwcs is NULL, ignore n */ + if (pwcs == NULL) + n = 1; /* arbitrary >0 value */ + + err = 0; + cnt = 0; + se = *s + in; + s0 = *s; /* to keep *s unchanged for now, use copy instead. */ + while (s0 < se && n > 0) { + err = _citrus_ctype_mbrtowc(cc, pwcs, s0, (size_t)(se - s0), + psenc, &siz); + if (err) { + cnt = (size_t)-1; + goto bye; + } + if (siz == (size_t)-2) { + s0 = se; + goto bye; + } + switch (siz) { + case 0: + if (pwcs) { + size_t dum; + _citrus_ctype_mbrtowc(cc, NULL, NULL, 0, psenc, + &dum); + } + s0 = 0; + goto bye; + default: + if (pwcs) { + pwcs++; + n--; + } + s0 += siz; + cnt++; + break; + } + } +bye: + if (pwcs) + *s = s0; + + *nresult = cnt; + + return err; +} + +int +_citrus_ctype_wcsnrtombs_fallback(_citrus_ctype_rec_t * __restrict cc, + char * __restrict s, const wchar_t ** __restrict pwcs, size_t in, + size_t n, void * __restrict psenc, size_t * __restrict nresult) +{ + size_t cnt = 0; + int err; + char buf[MB_LEN_MAX]; + size_t siz; + const wchar_t* pwcs0; + mbstate_t state; + + pwcs0 = *pwcs; + + if (!s) + n = 1; + + while (in > 0 && n > 0) { + memcpy(&state, psenc, sizeof(state)); + err = _citrus_ctype_wcrtomb(cc, buf, *pwcs0, psenc, &siz); + if (siz == (size_t)-1) { + *nresult = siz; + return (err); + } + + if (s) { + if (n < siz) { + memcpy(psenc, &state, sizeof(state)); + break; + } + memcpy(s, buf, siz); + s += siz; + n -= siz; + } + cnt += siz; + if (!*pwcs0) { + if (s) { + memset(psenc, 0, sizeof(state)); + } + pwcs0 = 0; + cnt--; /* don't include terminating null */ + break; + } + pwcs0++; + --in; + } + if (s) + *pwcs = pwcs0; + + *nresult = cnt; + return (0); +} diff --git a/lib/libc/citrus/citrus_ctype_fallback.h b/lib/libc/citrus/citrus_ctype_fallback.h index 81a20c79a..e760cef3c 100644 --- a/lib/libc/citrus/citrus_ctype_fallback.h +++ b/lib/libc/citrus/citrus_ctype_fallback.h @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype_fallback.h,v 1.1 2003/03/05 20:18:15 tshiozak Exp $ */ +/* $NetBSD: citrus_ctype_fallback.h,v 1.2 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -35,4 +35,16 @@ int _citrus_ctype_btowc_fallback(_citrus_ctype_rec_t * __restrict, int _citrus_ctype_wctob_fallback(_citrus_ctype_rec_t * __restrict, wint_t, int * __restrict); +/* fallback functions for 0x00000003 */ +int _citrus_ctype_mbsnrtowcs_fallback(_citrus_ctype_rec_t * __restrict, + wchar_t * __restrict, + const char ** __restrict, size_t, + size_t, void * __restrict, + size_t * __restrict); +int _citrus_ctype_wcsnrtombs_fallback(_citrus_ctype_rec_t * __restrict, + char * __restrict, + const wchar_t ** __restrict, size_t, + size_t, void * __restrict, + size_t * __restrict); + #endif diff --git a/lib/libc/citrus/citrus_ctype_local.h b/lib/libc/citrus/citrus_ctype_local.h index 496994619..cd3e76afb 100644 --- a/lib/libc/citrus/citrus_ctype_local.h +++ b/lib/libc/citrus/citrus_ctype_local.h @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype_local.h,v 1.3 2008/02/09 14:56:20 junyoung Exp $ */ +/* $NetBSD: citrus_ctype_local.h,v 1.4 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -60,6 +60,11 @@ static int _citrus_##_e_##_ctype_mbsrtowcs(void * __restrict, \ const char ** __restrict, \ size_t, void * __restrict, \ size_t * __restrict); \ +static int _citrus_##_e_##_ctype_mbsnrtowcs(_citrus_ctype_rec_t * __restrict, \ + wchar_t * __restrict, \ + const char ** __restrict, \ + size_t, size_t, void * __restrict, \ + size_t * __restrict); \ static int _citrus_##_e_##_ctype_mbstowcs(void * __restrict, \ wchar_t * __restrict, \ const char * __restrict, \ @@ -77,6 +82,11 @@ static int _citrus_##_e_##_ctype_wcsrtombs(void * __restrict, \ const wchar_t ** __restrict, \ size_t, void * __restrict, \ size_t * __restrict); \ +static int _citrus_##_e_##_ctype_wcsnrtombs(_citrus_ctype_rec_t * __restrict, \ + char * __restrict, \ + const wchar_t ** __restrict, \ + size_t, size_t, void * __restrict, \ + size_t * __restrict); \ static int _citrus_##_e_##_ctype_wcstombs(void * __restrict, \ char * __restrict, \ const wchar_t * __restrict, \ @@ -107,7 +117,9 @@ _citrus_ctype_ops_rec_t _citrus_##_e_##_ctype_ops = { \ /* co_wcstombs */ &_citrus_##_e_##_ctype_wcstombs, \ /* co_wctomb */ &_citrus_##_e_##_ctype_wctomb, \ /* co_btowc */ &_citrus_##_e_##_ctype_btowc, \ - /* co_wctob */ &_citrus_##_e_##_ctype_wctob \ + /* co_wctob */ &_citrus_##_e_##_ctype_wctob, \ + /* co_mbsnrtowcs */ &_citrus_##_e_##_ctype_mbsnrtowcs, \ + /* co_wcsnrtombs */ &_citrus_##_e_##_ctype_wcsnrtombs, \ } typedef struct _citrus_ctype_ops_rec _citrus_ctype_ops_rec_t; @@ -129,7 +141,10 @@ typedef int (*_citrus_ctype_mbsinit_t) (void * __restrict, const void * __restrict, int * __restrict); typedef int (*_citrus_ctype_mbsrtowcs_t) (void * __restrict, wchar_t * __restrict, const char ** __restrict, - size_t, void * __restrict, + size_t, void * __restrict, size_t * __restrict); +typedef int (*_citrus_ctype_mbsnrtowcs_t) + (_citrus_ctype_rec_t * __restrict, wchar_t * __restrict, + const char ** __restrict, size_t, size_t, void * __restrict, size_t * __restrict); typedef int (*_citrus_ctype_mbstowcs_t) (void * __restrict, wchar_t * __restrict, const char * __restrict, @@ -143,6 +158,10 @@ typedef int (*_citrus_ctype_wcrtomb_t) typedef int (*_citrus_ctype_wcsrtombs_t) (void * __restrict, char * __restrict, const wchar_t ** __restrict, size_t, void * __restrict, size_t * __restrict); +typedef int (*_citrus_ctype_wcsnrtombs_t) + (_citrus_ctype_rec_t * __restrict, char * __restrict, + const wchar_t ** __restrict, size_t, size_t, void * __restrict, + size_t * __restrict); typedef int (*_citrus_ctype_wcstombs_t) (void * __restrict, char * __restrict, const wchar_t * __restrict, size_t, size_t * __restrict); @@ -152,16 +171,20 @@ typedef int (*_citrus_ctype_btowc_t) (_citrus_ctype_rec_t * __restrict, int, wint_t * __restrict); typedef int (*_citrus_ctype_wctob_t) (_citrus_ctype_rec_t * __restrict, wint_t, int * __restrict); +#include "citrus_ctype_fallback.h" /* * ABI Version change log: * 0x00000001 * initial version * 0x00000002 - * ops record: btowc and wctob are added. + * ops record: btowc and wctob added. + * ctype record: unchanged. + * 0x00000003 + * ops record: mbsnrtowcs and wcsnrtombs added. * ctype record: unchanged. */ -#define _CITRUS_CTYPE_ABI_VERSION 0x00000002 +#define _CITRUS_CTYPE_ABI_VERSION 0x00000003 struct _citrus_ctype_ops_rec { uint32_t co_abi_version; /* version 0x00000001 */ @@ -182,6 +205,9 @@ struct _citrus_ctype_ops_rec { /* version 0x00000002 */ _citrus_ctype_btowc_t co_btowc; _citrus_ctype_wctob_t co_wctob; + /* version 0x00000003 */ + _citrus_ctype_mbsnrtowcs_t co_mbsnrtowcs; + _citrus_ctype_wcsnrtombs_t co_wcsnrtombs; }; #define _CITRUS_DEFAULT_CTYPE_NAME "NONE" diff --git a/lib/libc/citrus/citrus_ctype_template.h b/lib/libc/citrus/citrus_ctype_template.h index c61dedf89..1f0c6ecd9 100644 --- a/lib/libc/citrus/citrus_ctype_template.h +++ b/lib/libc/citrus/citrus_ctype_template.h @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ctype_template.h,v 1.35 2008/02/09 14:56:20 junyoung Exp $ */ +/* $NetBSD: citrus_ctype_template.h,v 1.36 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -85,8 +85,10 @@ * mbrtowc * mbtowc * mbsrtowcs + * mbsnrtowcs * wcrtomb * wcsrtombs + * wcsnrtombs * wctomb * These need to be keeped in the ctype encoding information structure, * pointed by "cei". @@ -238,8 +240,8 @@ _FUNCNAME(mbsrtowcs_priv)(_ENCODING_INFO * __restrict ei, _DIAGASSERT(nresult != 0); _DIAGASSERT(ei != NULL); _DIAGASSERT(psenc != NULL); - _DIAGASSERT(s == NULL); - _DIAGASSERT(*s == NULL); + _DIAGASSERT(s != NULL); + _DIAGASSERT(*s != NULL); /* if pwcs is NULL, ignore n */ if (pwcs == NULL) @@ -282,6 +284,66 @@ bye: return err; } +static int +_FUNCNAME(mbsnrtowcs_priv)(_ENCODING_INFO * __restrict ei, + wchar_t * __restrict pwcs, + const char ** __restrict s, size_t in, + size_t n, _ENCODING_STATE * __restrict psenc, + size_t * __restrict nresult) +{ + int err; + size_t cnt, siz; + const char *s0, *se; + + _DIAGASSERT(nresult != 0); + _DIAGASSERT(ei != NULL); + _DIAGASSERT(psenc != NULL); + _DIAGASSERT(s != NULL); + _DIAGASSERT(*s != NULL); + + /* if pwcs is NULL, ignore n */ + if (pwcs == NULL) + n = 1; /* arbitrary >0 value */ + + err = 0; + cnt = 0; + se = *s + in; + s0 = *s; /* to keep *s unchanged for now, use copy instead. */ + while (s0 < se && n > 0) { + err = _FUNCNAME(mbrtowc_priv)(ei, pwcs, &s0, se - s0, + psenc, &siz); + if (err) { + cnt = (size_t)-1; + goto bye; + } + if (siz == (size_t)-2) { + s0 = se; + goto bye; + } + switch (siz) { + case 0: + if (pwcs) { + _FUNCNAME(init_state)(ei, psenc); + } + s0 = 0; + goto bye; + default: + if (pwcs) { + pwcs++; + n--; + } + cnt++; + break; + } + } +bye: + if (pwcs) + *s = s0; + + *nresult = cnt; + + return err; +} static int _FUNCNAME(wcsrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s, @@ -289,9 +351,9 @@ _FUNCNAME(wcsrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s, size_t n, _ENCODING_STATE * __restrict psenc, size_t * __restrict nresult) { - int cnt = 0, err; + int err; char buf[MB_LEN_MAX]; - size_t siz; + size_t cnt, siz; const wchar_t* pwcs0; #if _ENCODING_IS_STATE_DEPENDENT _ENCODING_STATE state; @@ -299,6 +361,7 @@ _FUNCNAME(wcsrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s, pwcs0 = *pwcs; + cnt = 0; if (!s) n = 1; @@ -338,6 +401,66 @@ _FUNCNAME(wcsrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s, if (s) *pwcs = pwcs0; + *nresult = cnt; + return (0); +} + +static int +_FUNCNAME(wcsnrtombs_priv)(_ENCODING_INFO * __restrict ei, char * __restrict s, + const wchar_t ** __restrict pwcs, size_t in, + size_t n, _ENCODING_STATE * __restrict psenc, + size_t * __restrict nresult) +{ + int cnt = 0, err; + char buf[MB_LEN_MAX]; + size_t siz; + const wchar_t* pwcs0; +#if _ENCODING_IS_STATE_DEPENDENT + _ENCODING_STATE state; +#endif + + pwcs0 = *pwcs; + + if (!s) + n = 1; + + while (in > 0 && n > 0) { +#if _ENCODING_IS_STATE_DEPENDENT + state = *psenc; +#endif + err = _FUNCNAME(wcrtomb_priv)(ei, buf, sizeof(buf), + *pwcs0, psenc, &siz); + if (siz == (size_t)-1) { + *nresult = siz; + return (err); + } + + if (s) { + if (n < siz) { +#if _ENCODING_IS_STATE_DEPENDENT + *psenc = state; +#endif + break; + } + memcpy(s, buf, siz); + s += siz; + n -= siz; + } + cnt += siz; + if (!*pwcs0) { + if (s) { + _FUNCNAME(init_state)(ei, psenc); + } + pwcs0 = 0; + cnt--; /* don't include terminating null */ + break; + } + pwcs0++; + --in; + } + if (s) + *pwcs = pwcs0; + *nresult = (size_t)cnt; return (0); } @@ -525,6 +648,27 @@ _FUNCNAME(ctype_mbsrtowcs)(void * __restrict cl, wchar_t * __restrict pwcs, return (err); } +static int __used +_FUNCNAME(ctype_mbsnrtowcs)(_citrus_ctype_rec_t * __restrict cc, wchar_t * __restrict pwcs, + const char ** __restrict s, size_t in, size_t n, + void * __restrict pspriv, + size_t * __restrict nresult) +{ + void *cl = cc->cc_closure; + _ENCODING_STATE *psenc; + _ENCODING_INFO *ei; + int err = 0; + + _DIAGASSERT(cl != NULL); + + ei = _CEI_TO_EI(_TO_CEI(cl)); + _RESTART_BEGIN(mbsnrtowcs, _TO_CEI(cl), pspriv, psenc); + err = _FUNCNAME(mbsnrtowcs_priv)(ei, pwcs, s, in, n, psenc, nresult); + _RESTART_END(mbsnrtowcs, _TO_CEI(cl), pspriv, psenc); + + return (err); +} + static int _FUNCNAME(ctype_mbstowcs)(void * __restrict cl, wchar_t * __restrict pwcs, const char * __restrict s, size_t n, @@ -637,6 +781,29 @@ _FUNCNAME(ctype_wcsrtombs)(void * __restrict cl, char * __restrict s, return err; } +static int __used +/*ARGSUSED*/ +_FUNCNAME(ctype_wcsnrtombs)(_citrus_ctype_rec_t * __restrict cc, + char * __restrict s, + const wchar_t ** __restrict pwcs, size_t in, + size_t n, void * __restrict pspriv, + size_t * __restrict nresult) +{ + void *cl = cc->cc_closure; + _ENCODING_STATE *psenc; + _ENCODING_INFO *ei; + int err = 0; + + _DIAGASSERT(cl != NULL); + + ei = _CEI_TO_EI(_TO_CEI(cl)); + _RESTART_BEGIN(wcsnrtombs, _TO_CEI(cl), pspriv, psenc); + err = _FUNCNAME(wcsnrtombs_priv)(ei, s, pwcs, in, n, psenc, nresult); + _RESTART_END(wcsnrtombs, _TO_CEI(cl), pspriv, psenc); + + return err; +} + static int /*ARGSUSED*/ _FUNCNAME(ctype_wcstombs)(void * __restrict cl, char * __restrict s, diff --git a/lib/libc/citrus/citrus_db_factory.c b/lib/libc/citrus/citrus_db_factory.c index 44475af45..a17e5b7f3 100644 --- a/lib/libc/citrus/citrus_db_factory.c +++ b/lib/libc/citrus/citrus_db_factory.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_db_factory.c,v 1.9 2008/02/09 14:56:20 junyoung Exp $ */ +/* $NetBSD: citrus_db_factory.c,v 1.10 2013/09/14 13:05:51 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -32,7 +32,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_db_factory.c,v 1.9 2008/02/09 14:56:20 junyoung Exp $"); +__RCSID("$NetBSD: citrus_db_factory.c,v 1.10 2013/09/14 13:05:51 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -234,14 +234,6 @@ put8(struct _region *r, size_t *rofs, uint8_t val) *rofs += 1; } -static __inline void -put16(struct _region *r, size_t *rofs, uint16_t val) -{ - val = htons(val); - memcpy(_region_offset(r, *rofs), &val, 2); - *rofs += 2; -} - static __inline void put32(struct _region *r, size_t *rofs, uint32_t val) { diff --git a/lib/libc/citrus/citrus_lc_ctype.c b/lib/libc/citrus/citrus_lc_ctype.c index b330c4466..3205b09ad 100644 --- a/lib/libc/citrus/citrus_lc_ctype.c +++ b/lib/libc/citrus/citrus_lc_ctype.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_lc_ctype.c,v 1.10 2012/03/04 21:14:55 tnozaki Exp $ */ +/* $NetBSD: citrus_lc_ctype.c,v 1.15 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.10 2012/03/04 21:14:55 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_lc_ctype.c,v 1.15 2013/09/13 13:13:32 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "reentrant.h" @@ -96,30 +96,18 @@ _citrus_LC_CTYPE_create_impl(const char * __restrict root, } static __inline void -_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, - _RuneLocale * __restrict data) -{ - _DIAGASSERT(cache != NULL); - _DIAGASSERT(cache->items != NULL); - _DIAGASSERT(data != NULL); - - cache->ctype_tab = data->rl_ctype_tab; - cache->tolower_tab = data->rl_tolower_tab; - cache->toupper_tab = data->rl_toupper_tab; - cache->mb_cur_max = _citrus_ctype_get_mb_cur_max(data->rl_citrus_ctype); - cache->items[(size_t)CODESET] = data->rl_codeset; -} - -static __inline void -_PREFIX(fixup)(_RuneLocale *data) +_PREFIX(update_global)(_RuneLocale *data) { _DIAGASSERT(data != NULL); __mb_cur_max = _citrus_ctype_get_mb_cur_max(data->rl_citrus_ctype); - _ctype_ = data->rl_ctype_tab; + _ctype_tab_ = data->rl_ctype_tab; _tolower_tab_ = data->rl_tolower_tab; _toupper_tab_ = data->rl_toupper_tab; - _CurrentRuneLocale = data; + +#ifdef __BUILD_LEGACY + _ctype_ = data->rl_compat_bsdctype; +#endif } /* @@ -127,6 +115,5 @@ _PREFIX(fixup)(_RuneLocale *data) */ #define _CATEGORY_ID LC_CTYPE #define _CATEGORY_NAME "LC_CTYPE" -#define _CATEGORY_DEFAULT _DefaultRuneLocale #include "nb_lc_template.h" diff --git a/lib/libc/citrus/citrus_mmap.c b/lib/libc/citrus/citrus_mmap.c index 53dc65930..ffcc8629d 100644 --- a/lib/libc/citrus/citrus_mmap.c +++ b/lib/libc/citrus/citrus_mmap.c @@ -70,24 +70,12 @@ _citrus_map_file(struct _citrus_region * __restrict r, goto error; } -#ifdef __minix - if(!(head = malloc(st.st_size))) { - ret = errno; - goto error; - } - - if (read(fd, head, st.st_size) != st.st_size) { - ret = errno; - goto error; - } -#else /* !__minix */ head = mmap(NULL, (size_t)st.st_size, PROT_READ, MAP_FILE|MAP_PRIVATE, fd, (off_t)0); if (head == MAP_FAILED) { ret = errno; goto error; } -#endif /* !__minix */ _region_init(r, head, (size_t)st.st_size); error: @@ -102,11 +90,7 @@ _citrus_unmap_file(struct _citrus_region *r) _DIAGASSERT(r != NULL); if (_region_head(r) != NULL) { -#ifdef __minix - free(_region_head(r)); -#else (void)munmap(_region_head(r), _region_size(r)); -#endif _region_init(r, NULL, 0); } } diff --git a/lib/libc/citrus/citrus_module.c b/lib/libc/citrus/citrus_module.c index 1249dc62b..26272a8d8 100644 --- a/lib/libc/citrus/citrus_module.c +++ b/lib/libc/citrus/citrus_module.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_module.c,v 1.10 2012/10/15 22:22:01 msaitoh Exp $ */ +/* $NetBSD: citrus_module.c,v 1.11 2013/09/19 21:19:13 christos Exp $ */ /*- * Copyright (c)1999, 2000, 2001, 2002 Citrus Project, @@ -89,7 +89,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_module.c,v 1.10 2012/10/15 22:22:01 msaitoh Exp $"); +__RCSID("$NetBSD: citrus_module.c,v 1.11 2013/09/19 21:19:13 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -302,12 +302,24 @@ _citrus_load_module(_citrus_module_t *rhandle, const char *encname) if (_pathI18nModule == NULL) { p = getenv("PATH_I18NMODULE"); - if (p != NULL && !issetugid()) { + if (p == NULL || issetugid()) { + _pathI18nModule = _PATH_I18NMODULE; +#ifdef MLIBDIR + p = strrchr(_pathI18nModule, '/'); + if (p != NULL && MLIBDIR[0]) { + snprintf(path, sizeof(path), "%.*s/%s/%s", + (int)(p - _pathI18nModule), + _pathI18nModule, MLIBDIR, p + 1); + p = path; + } else + p = NULL; +#endif + } + if (p != NULL) { _pathI18nModule = strdup(p); if (_pathI18nModule == NULL) return ENOMEM; - } else - _pathI18nModule = _PATH_I18NMODULE; + } } (void)snprintf(path, sizeof(path), "lib%s", encname); diff --git a/lib/libc/citrus/citrus_none.c b/lib/libc/citrus/citrus_none.c index 047219732..381e74340 100644 --- a/lib/libc/citrus/citrus_none.c +++ b/lib/libc/citrus/citrus_none.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_none.c,v 1.18 2008/06/14 16:01:07 tnozaki Exp $ */ +/* $NetBSD: citrus_none.c,v 1.19 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_none.c,v 1.18 2008/06/14 16:01:07 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_none.c,v 1.19 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -184,6 +184,47 @@ _citrus_NONE_ctype_mbsrtowcs(void * __restrict cl, wchar_t * __restrict pwcs, return (0); } +static int +/*ARGSUSED*/ +_citrus_NONE_ctype_mbsnrtowcs(_citrus_ctype_rec_t * __restrict cc, + wchar_t * __restrict pwcs, + const char ** __restrict s, size_t in, size_t n, + void * __restrict pspriv, + size_t * __restrict nresult) +{ + int cnt; + const char *s0; + + /* if pwcs is NULL, ignore n */ + if (pwcs == NULL) + n = 1; /* arbitrary >0 value */ + + cnt = 0; + s0 = *s; /* to keep *s unchanged for now, use copy instead. */ + while (in > 0 && n > 0) { + if (pwcs != NULL) { + *pwcs = (wchar_t)(unsigned char)*s0; + } + if (*s0 == '\0') { + s0 = NULL; + break; + } + s0++; + --in; + if (pwcs != NULL) { + pwcs++; + n--; + } + cnt++; + } + if (pwcs) + *s = s0; + + *nresult = (size_t)cnt; + + return (0); +} + static int _citrus_NONE_ctype_mbstowcs(void * __restrict cl, wchar_t * __restrict wcs, const char * __restrict s, size_t n, @@ -281,6 +322,48 @@ _citrus_NONE_ctype_wcsrtombs(void * __restrict cl, char * __restrict s, return (0); } +static int +/*ARGSUSED*/ +_citrus_NONE_ctype_wcsnrtombs(_citrus_ctype_rec_t * __restrict cc, + char * __restrict s, + const wchar_t ** __restrict pwcs, size_t in, + size_t n, void * __restrict pspriv, + size_t * __restrict nresult) +{ + size_t count; + const wchar_t *pwcs0; + + pwcs0 = *pwcs; + count = 0; + + if (s == NULL) + n = 1; + + while (in > 0 && n > 0) { + if ((*pwcs0 & ~0xFFU) != 0) { + *nresult = (size_t)-1; + return (EILSEQ); + } + if (s != NULL) { + *s++ = (char)*pwcs0; + n--; + } + if (*pwcs0 == L'\0') { + pwcs0 = NULL; + break; + } + count++; + pwcs0++; + --in; + } + if (s != NULL) + *pwcs = pwcs0; + + *nresult = count; + + return (0); +} + static int _citrus_NONE_ctype_wcstombs(void * __restrict cl, char * __restrict s, const wchar_t * __restrict pwcs, size_t n, diff --git a/lib/libc/citrus/modules/citrus_big5.c b/lib/libc/citrus/modules/citrus_big5.c index f42a93006..e53a684a9 100644 --- a/lib/libc/citrus/modules/citrus_big5.c +++ b/lib/libc/citrus/modules/citrus_big5.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_big5.c,v 1.13 2011/05/23 14:53:46 joerg Exp $ */ +/* $NetBSD: citrus_big5.c,v 1.14 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002, 2006 Citrus Project, @@ -60,7 +60,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_big5.c,v 1.13 2011/05/23 14:53:46 joerg Exp $"); +__RCSID("$NetBSD: citrus_big5.c,v 1.14 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -115,8 +115,10 @@ typedef struct { _BIG5State s_mbrtowc; _BIG5State s_mbtowc; _BIG5State s_mbsrtowcs; + _BIG5State s_mbsnrtowcs; _BIG5State s_wcrtomb; _BIG5State s_wcsrtombs; + _BIG5State s_wcsnrtombs; _BIG5State s_wctomb; } states; } _BIG5CTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_dechanyu.c b/lib/libc/citrus/modules/citrus_dechanyu.c index 6e480f6e2..0db33eb45 100644 --- a/lib/libc/citrus/modules/citrus_dechanyu.c +++ b/lib/libc/citrus/modules/citrus_dechanyu.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_dechanyu.c,v 1.4 2011/11/19 18:20:13 tnozaki Exp $ */ +/* $NetBSD: citrus_dechanyu.c,v 1.5 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2007 Citrus Project, @@ -27,7 +27,7 @@ */ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_dechanyu.c,v 1.4 2011/11/19 18:20:13 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_dechanyu.c,v 1.5 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -71,8 +71,10 @@ typedef struct { _DECHanyuState s_mbrtowc; _DECHanyuState s_mbtowc; _DECHanyuState s_mbsrtowcs; + _DECHanyuState s_mbsnrtowcs; _DECHanyuState s_wcrtomb; _DECHanyuState s_wcsrtombs; + _DECHanyuState s_wcsnrtombs; _DECHanyuState s_wctomb; } states; } _DECHanyuCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_euc.c b/lib/libc/citrus/modules/citrus_euc.c index 32292f894..4d5426e94 100644 --- a/lib/libc/citrus/modules/citrus_euc.c +++ b/lib/libc/citrus/modules/citrus_euc.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_euc.c,v 1.14 2009/01/11 02:46:24 christos Exp $ */ +/* $NetBSD: citrus_euc.c,v 1.15 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -60,7 +60,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_euc.c,v 1.14 2009/01/11 02:46:24 christos Exp $"); +__RCSID("$NetBSD: citrus_euc.c,v 1.15 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -107,8 +107,10 @@ typedef struct { _EUCState s_mbrtowc; _EUCState s_mbtowc; _EUCState s_mbsrtowcs; + _EUCState s_mbsnrtowcs; _EUCState s_wcrtomb; _EUCState s_wcsrtombs; + _EUCState s_wcsnrtombs; _EUCState s_wctomb; } states; } _EUCCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_euctw.c b/lib/libc/citrus/modules/citrus_euctw.c index 7ab35e885..9d6738f55 100644 --- a/lib/libc/citrus/modules/citrus_euctw.c +++ b/lib/libc/citrus/modules/citrus_euctw.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_euctw.c,v 1.11 2008/06/14 16:01:07 tnozaki Exp $ */ +/* $NetBSD: citrus_euctw.c,v 1.12 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -56,7 +56,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_euctw.c,v 1.11 2008/06/14 16:01:07 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_euctw.c,v 1.12 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -98,8 +98,10 @@ typedef struct { _EUCTWState s_mbrtowc; _EUCTWState s_mbtowc; _EUCTWState s_mbsrtowcs; + _EUCTWState s_mbsnrtowcs; _EUCTWState s_wcrtomb; _EUCTWState s_wcsrtombs; + _EUCTWState s_wcsnrtombs; _EUCTWState s_wctomb; } states; } _EUCTWCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_gbk2k.c b/lib/libc/citrus/modules/citrus_gbk2k.c index 77d7dd2b3..9223e0354 100644 --- a/lib/libc/citrus/modules/citrus_gbk2k.c +++ b/lib/libc/citrus/modules/citrus_gbk2k.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_gbk2k.c,v 1.7 2008/06/14 16:01:07 tnozaki Exp $ */ +/* $NetBSD: citrus_gbk2k.c,v 1.8 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_gbk2k.c,v 1.7 2008/06/14 16:01:07 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_gbk2k.c,v 1.8 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -72,8 +72,10 @@ typedef struct { _GBK2KState s_mbrtowc; _GBK2KState s_mbtowc; _GBK2KState s_mbsrtowcs; + _GBK2KState s_mbsnrtowcs; _GBK2KState s_wcrtomb; _GBK2KState s_wcsrtombs; + _GBK2KState s_wcsnrtombs; _GBK2KState s_wctomb; } states; } _GBK2KCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_hz.c b/lib/libc/citrus/modules/citrus_hz.c index caebd2f50..0797cf762 100644 --- a/lib/libc/citrus/modules/citrus_hz.c +++ b/lib/libc/citrus/modules/citrus_hz.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_hz.c,v 1.2 2008/06/14 16:01:07 tnozaki Exp $ */ +/* $NetBSD: citrus_hz.c,v 1.3 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2004, 2006 Citrus Project, @@ -29,7 +29,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_hz.c,v 1.2 2008/06/14 16:01:07 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_hz.c,v 1.3 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -143,8 +143,10 @@ typedef struct { _HZState s_mbrtowc; _HZState s_mbtowc; _HZState s_mbsrtowcs; + _HZState s_mbsnrtowcs; _HZState s_wcrtomb; _HZState s_wcsrtombs; + _HZState s_wcsnrtombs; _HZState s_wctomb; } states; } _HZCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_iso2022.c b/lib/libc/citrus/modules/citrus_iso2022.c index c31449a6a..0b3a0a801 100644 --- a/lib/libc/citrus/modules/citrus_iso2022.c +++ b/lib/libc/citrus/modules/citrus_iso2022.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_iso2022.c,v 1.22 2011/10/10 22:45:45 tnozaki Exp $ */ +/* $NetBSD: citrus_iso2022.c,v 1.23 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)1999, 2002 Citrus Project, @@ -30,7 +30,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_iso2022.c,v 1.22 2011/10/10 22:45:45 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_iso2022.c,v 1.23 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -133,8 +133,10 @@ typedef struct { _ISO2022State s_mbrtowc; _ISO2022State s_mbtowc; _ISO2022State s_mbsrtowcs; + _ISO2022State s_mbsnrtowcs; _ISO2022State s_wcrtomb; _ISO2022State s_wcsrtombs; + _ISO2022State s_wcsnrtombs; _ISO2022State s_wctomb; } states; } _ISO2022CTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_johab.c b/lib/libc/citrus/modules/citrus_johab.c index bebf939a5..57761e4fe 100644 --- a/lib/libc/citrus/modules/citrus_johab.c +++ b/lib/libc/citrus/modules/citrus_johab.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_johab.c,v 1.4 2008/06/14 16:01:07 tnozaki Exp $ */ +/* $NetBSD: citrus_johab.c,v 1.5 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2006 Citrus Project, @@ -27,7 +27,7 @@ */ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_johab.c,v 1.4 2008/06/14 16:01:07 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_johab.c,v 1.5 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -71,8 +71,10 @@ typedef struct { _JOHABState s_mbrtowc; _JOHABState s_mbtowc; _JOHABState s_mbsrtowcs; + _JOHABState s_mbsnrtowcs; _JOHABState s_wcrtomb; _JOHABState s_wcsrtombs; + _JOHABState s_wcsnrtombs; _JOHABState s_wctomb; } states; } _JOHABCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_mskanji.c b/lib/libc/citrus/modules/citrus_mskanji.c index c6011c441..808ca35e8 100644 --- a/lib/libc/citrus/modules/citrus_mskanji.c +++ b/lib/libc/citrus/modules/citrus_mskanji.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_mskanji.c,v 1.13 2008/06/14 16:01:08 tnozaki Exp $ */ +/* $NetBSD: citrus_mskanji.c,v 1.14 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -62,7 +62,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_mskanji.c,v 1.13 2008/06/14 16:01:08 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_mskanji.c,v 1.14 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -107,8 +107,10 @@ typedef struct { _MSKanjiState s_mbrtowc; _MSKanjiState s_mbtowc; _MSKanjiState s_mbsrtowcs; + _MSKanjiState s_mbsnrtowcs; _MSKanjiState s_wcrtomb; _MSKanjiState s_wcsrtombs; + _MSKanjiState s_wcsnrtombs; _MSKanjiState s_wctomb; } states; } _MSKanjiCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_ues.c b/lib/libc/citrus/modules/citrus_ues.c index f31e83d7c..fa818e1f5 100644 --- a/lib/libc/citrus/modules/citrus_ues.c +++ b/lib/libc/citrus/modules/citrus_ues.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_ues.c,v 1.3 2012/02/12 13:51:29 wiz Exp $ */ +/* $NetBSD: citrus_ues.c,v 1.4 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2006 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_ues.c,v 1.3 2012/02/12 13:51:29 wiz Exp $"); +__RCSID("$NetBSD: citrus_ues.c,v 1.4 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -68,8 +68,10 @@ typedef struct { _UESState s_mbrtowc; _UESState s_mbtowc; _UESState s_mbsrtowcs; + _UESState s_mbsnrtowcs; _UESState s_wcrtomb; _UESState s_wcsrtombs; + _UESState s_wcsnrtombs; _UESState s_wctomb; } states; } _UESCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_utf7.c b/lib/libc/citrus/modules/citrus_utf7.c index fabb048b0..eae0ee3eb 100644 --- a/lib/libc/citrus/modules/citrus_utf7.c +++ b/lib/libc/citrus/modules/citrus_utf7.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_utf7.c,v 1.5 2006/08/23 12:57:24 tnozaki Exp $ */ +/* $NetBSD: citrus_utf7.c,v 1.6 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2004, 2005 Citrus Project, @@ -29,7 +29,7 @@ #include #if defined(LIB_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_utf7.c,v 1.5 2006/08/23 12:57:24 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_utf7.c,v 1.6 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIB_SCCS and not lint */ #include @@ -79,8 +79,10 @@ typedef struct { _UTF7State s_mbrtowc; _UTF7State s_mbtowc; _UTF7State s_mbsrtowcs; + _UTF7State s_mbsnrtowcs; _UTF7State s_wcrtomb; _UTF7State s_wcsrtombs; + _UTF7State s_wcsnrtombs; _UTF7State s_wctomb; } states; } _UTF7CTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_utf8.c b/lib/libc/citrus/modules/citrus_utf8.c index de22faeaa..0b7df8865 100644 --- a/lib/libc/citrus/modules/citrus_utf8.c +++ b/lib/libc/citrus/modules/citrus_utf8.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_utf8.c,v 1.17 2008/06/14 16:01:08 tnozaki Exp $ */ +/* $NetBSD: citrus_utf8.c,v 1.18 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -60,7 +60,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_utf8.c,v 1.17 2008/06/14 16:01:08 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_utf8.c,v 1.18 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -111,8 +111,10 @@ typedef struct { _UTF8State s_mbrtowc; _UTF8State s_mbtowc; _UTF8State s_mbsrtowcs; + _UTF8State s_mbsnrtowcs; _UTF8State s_wcrtomb; _UTF8State s_wcsrtombs; + _UTF8State s_wcsnrtombs; _UTF8State s_wctomb; } states; } _UTF8CTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_viqr.c b/lib/libc/citrus/modules/citrus_viqr.c index 5d340a130..06e744f06 100644 --- a/lib/libc/citrus/modules/citrus_viqr.c +++ b/lib/libc/citrus/modules/citrus_viqr.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_viqr.c,v 1.5 2011/11/19 18:20:13 tnozaki Exp $ */ +/* $NetBSD: citrus_viqr.c,v 1.6 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2006 Citrus Project, @@ -29,7 +29,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_viqr.c,v 1.5 2011/11/19 18:20:13 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_viqr.c,v 1.6 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -234,8 +234,10 @@ typedef struct { _VIQRState s_mbrtowc; _VIQRState s_mbtowc; _VIQRState s_mbsrtowcs; + _VIQRState s_mbsnrtowcs; _VIQRState s_wcrtomb; _VIQRState s_wcsrtombs; + _VIQRState s_wcsnrtombs; _VIQRState s_wctomb; } states; } _VIQRCTypeInfo; diff --git a/lib/libc/citrus/modules/citrus_zw.c b/lib/libc/citrus/modules/citrus_zw.c index 485d53a6c..e60f24439 100644 --- a/lib/libc/citrus/modules/citrus_zw.c +++ b/lib/libc/citrus/modules/citrus_zw.c @@ -1,4 +1,4 @@ -/* $NetBSD: citrus_zw.c,v 1.4 2008/06/14 16:01:08 tnozaki Exp $ */ +/* $NetBSD: citrus_zw.c,v 1.5 2013/05/28 16:57:56 joerg Exp $ */ /*- * Copyright (c)2004, 2006 Citrus Project, @@ -29,7 +29,7 @@ #include #if defined(LIB_SCCS) && !defined(lint) -__RCSID("$NetBSD: citrus_zw.c,v 1.4 2008/06/14 16:01:08 tnozaki Exp $"); +__RCSID("$NetBSD: citrus_zw.c,v 1.5 2013/05/28 16:57:56 joerg Exp $"); #endif /* LIB_SCCS and not lint */ #include @@ -77,8 +77,10 @@ typedef struct { _ZWState s_mbrtowc; _ZWState s_mbtowc; _ZWState s_mbsrtowcs; + _ZWState s_mbsnrtowcs; _ZWState s_wcrtomb; _ZWState s_wcsrtombs; + _ZWState s_wcsnrtombs; _ZWState s_wctomb; } states; } _ZWCTypeInfo; diff --git a/lib/libc/compat-43/Makefile.inc b/lib/libc/compat-43/Makefile.inc index 5a8e1c61f..1b3ff5c23 100644 --- a/lib/libc/compat-43/Makefile.inc +++ b/lib/libc/compat-43/Makefile.inc @@ -1,23 +1,20 @@ # $NetBSD: Makefile.inc,v 1.16 2006/04/24 17:15:06 drochner Exp $ # from: @(#)Makefile.inc 8.1 (Berkeley) 6/2/93 +# Unsupported by Minix +# gethostid.c \ +# sethostid.c setpgrp.c \ +# setrgid.c setruid.c sigcompat.c + # compat-43 sources .PATH: ${ARCHDIR}/compat-43 ${.CURDIR}/compat-43 -.if defined(__MINIX) -# Unsupported by Minix -# gethostid.c sethostid.c setpgrp.c setrgid.c setruid.c sigcompat.c +SRCS+= creat.c getdtablesize.c \ + killpg.c \ -SRCS+= creat.c getdtablesize.c killpg.c - -.else -SRCS+= creat.c getdtablesize.c gethostid.c \ - killpg.c sethostid.c setpgrp.c \ - setrgid.c setruid.c sigcompat.c .if !defined(AUDIT) SRCS+= getwd.c .endif -.endif # XXX this is to get CPPFLAGS.sigcompat.c+= -I${NETBSDSRCDIR}/sys diff --git a/lib/libc/compat-43/sigsetmask.3 b/lib/libc/compat-43/sigsetmask.3 index 3b36b0c85..779592816 100644 --- a/lib/libc/compat-43/sigsetmask.3 +++ b/lib/libc/compat-43/sigsetmask.3 @@ -26,7 +26,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sigsetmask.2 8.1 (Berkeley) 6/2/93 -.\" $NetBSD: sigsetmask.3,v 1.18 2003/08/07 16:42:40 agc Exp $ +.\" $NetBSD: sigsetmask.3,v 1.19 2013/05/06 13:29:12 wiz Exp $ .\" .Dd August 10, 2002 .Dt SIGSETMASK 3 @@ -48,7 +48,7 @@ This interface is made obsolete by: .Xr sigprocmask 2 . .Pp .Fn sigsetmask -sets the current signal mask +sets the current signal mask. Signals are blocked from delivery if the corresponding bit in .Fa mask diff --git a/lib/libc/compat/Makefile b/lib/libc/compat/Makefile index d019964c6..8cb0e46a7 100644 --- a/lib/libc/compat/Makefile +++ b/lib/libc/compat/Makefile @@ -12,20 +12,16 @@ COMPATDIR=${.CURDIR} .include "${.CURDIR}/Makefile.inc" -.if !defined(__MINIX) .include "${.CURDIR}/db/Makefile.inc" -.endif # !defined(__MINIX) .include "${.CURDIR}/gen/Makefile.inc" -.if !defined(__MINIX) .include "${.CURDIR}/locale/Makefile.inc" .include "${.CURDIR}/net/Makefile.inc" -.include "${.CURDIR}/rpc/Makefile.inc" -.include "${.CURDIR}/stdio/Makefile.inc" -.endif # !defined(__MINIX) -.include "${.CURDIR}/stdlib/Makefile.inc" .if !defined(__MINIX) -.include "${.CURDIR}/sys/Makefile.inc" +.include "${.CURDIR}/rpc/Makefile.inc" .endif # !defined(__MINIX) +.include "${.CURDIR}/stdio/Makefile.inc" +.include "${.CURDIR}/stdlib/Makefile.inc" +.include "${.CURDIR}/sys/Makefile.inc" COMPATARCHDIR=${.CURDIR}/arch/${ARCHSUBDIR} .PATH: ${COMPATARCHDIR}/gen ${COMPATARCHDIR}/sys diff --git a/lib/libc/compat/Makefile.inc b/lib/libc/compat/Makefile.inc index 4b215198f..b74a68819 100644 --- a/lib/libc/compat/Makefile.inc +++ b/lib/libc/compat/Makefile.inc @@ -5,19 +5,17 @@ CPPFLAGS+= -I${NETBSDSRCDIR}/sys COMPATARCHDIR=${COMPATDIR}/arch/${ARCHSUBDIR} .PATH: ${COMPATARCHDIR}/gen ${COMPATARCHDIR}/sys -.if !defined(__MINIX) .include "${COMPATDIR}/db/Makefile.inc" .include "${COMPATDIR}/locale/Makefile.inc" -.endif #!defined(__MINIX) .include "${COMPATDIR}/gen/Makefile.inc" -.if !defined(__MINIX) .include "${COMPATDIR}/net/Makefile.inc" -.include "${COMPATDIR}/rpc/Makefile.inc" -.include "${COMPATDIR}/stdio/Makefile.inc" -.endif #!defined(__MINIX) -.include "${COMPATDIR}/stdlib/Makefile.inc" .if !defined(__MINIX) +.include "${COMPATDIR}/rpc/Makefile.inc" +.endif # !defined(__MINIX) +.include "${COMPATDIR}/stdio/Makefile.inc" +.include "${COMPATDIR}/stdlib/Makefile.inc" .include "${COMPATDIR}/sys/Makefile.inc" .include "${COMPATDIR}/time/Makefile.inc" +.if !defined(__MINIX) .include "${COMPATARCHDIR}/Makefile.inc" -.endif #!defined(__MINIX) +.endif # !defined(__MINIX) diff --git a/lib/libc/compat/arch/arm/gen/compat_setjmp.S b/lib/libc/compat/arch/arm/gen/compat_setjmp.S index 1514ef4ec..a98d9fbf1 100644 --- a/lib/libc/compat/arch/arm/gen/compat_setjmp.S +++ b/lib/libc/compat/arch/arm/gen/compat_setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_setjmp.S,v 1.1 2005/10/16 17:27:50 christos Exp $ */ +/* $NetBSD: compat_setjmp.S,v 1.4 2013/11/30 20:54:14 joerg Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -47,84 +47,109 @@ ENTRY(setjmp) /* Block all signals and retrieve the old signal mask */ - stmfd sp!, {r0, r14} - mov r0, #0x00000000 + push {r0, lr} + movs r0, #0x00000000 - bl PIC_SYM(_C_LABEL(sigblock), PLT) + bl PLT_SYM(_C_LABEL(sigblock)) mov r1, r0 - ldmfd sp!, {r0, r14} - /* Store signal mask */ - str r1, [r0, #(25 * 4)] + str r1, [r0, #(_JB_SIGMASK * 4)] ldr r1, .Lsetjmp_magic - str r1, [r0], #4 + str r1, [r0] -#ifdef SOFTFLOAT - add r0, r0, #52 -#else - /* Store fp registers */ - sfm f4, 4, [r0], #48 - /* Store fpsr */ - rfs r1 - str r1, [r0], #0x0004 -#endif /*SOFTFLOAT*/ /* Store integer registers */ - stmia r0, {r4-r14} - mov r0, #0x00000000 - RET - -.Lsetjmp_magic: - .word _JB_MAGIC_SETJMP - + adds r0, r0, #(_JB_REG_R4 * 4) +#ifdef __thumb__ +#ifdef _ARM_ARCH_7 + stmia r0!, {r4-r12} + str sp, [r0, #0] + str lr, [r0, #4] +#else + stmia r0!, {r4-r7} + mov r2, r8 + mov r3, r9 + stmia r0!, {r2-r3} + mov r1, r10 + mov r2, r11 + mov r3, r12 + stmia r0!, {r1-r3} + mov r2, sp + mov r3, lr + stmia r0!, {r2-r3} +#endif +#else + stmia r0, {r4-lr} +#endif + movs r0, #0 + pop {r3, pc} +END(setjmp) ENTRY(longjmp) ldr r2, .Lsetjmp_magic ldr r3, [r0] - teq r2, r3 + cmp r2, r3 bne botch /* Fetch signal mask */ - ldr r2, [r0, #(25 * 4)] + ldr r2, [r0, #(_JB_SIGMASK * 4)] /* Set signal mask */ - stmfd sp!, {r0, r1, r14} - sub sp, sp, #4 /* align the stack */ + push {r0, r1} /* don't care about lr */ mov r0, r2 - bl PIC_SYM(_C_LABEL(sigsetmask), PLT) + bl PLT_SYM(_C_LABEL(sigsetmask)) - add sp, sp, #4 /* unalign the stack */ - ldmfd sp!, {r0, r1, r14} + pop {r0, r1} - add r0, r0, #4 -#ifdef SOFTFLOAT - add r0, r0, #52 -#else - /* Restore fp registers */ - lfm f4, 4, [r0], #48 - /* Restore FPSR */ - ldr r4, [r0], #0x0004 - wfs r4 -#endif /* SOFTFLOAT */ /* Restore integer registers */ - ldmia r0, {r4-r14} + adds r0, r0, #(_JB_REG_R4 * 4) +#if !defined(__thumb__) || defined(_ARM_ARCH_7) + ldmia r0!, {r4-r12} +#else + ldmia r0!, {r4-r7} + ldmia r0!, {r2-r3} + mov r8, r2 + mov r9, r3 + ldmia r0!, {r1-r3} + mov r10, r2 + mov r11, r3 + ldmia r0!, {r2} + mov r12, r2 +#endif - /* Validate sp and r14 */ - teq sp, #0 - teqne r14, #0 + ldmia r0!, {r2-r3} /* r2 = sp, r3 = lr */ + + /* Validate sp */ + cmp r2, #0 beq botch + mov sp, r2 + + /* Validate lr */ + cmp r3, #0 + beq botch + mov lr, r3 /* Set return value */ - mov r0, r1 - teq r0, #0x00000000 - moveq r0, #0x00000001 + cmp r0, #0 +#ifdef __thumb__ + bne 1f + movs r0, #1 +1: +#else + moveq r0, #1 +#endif RET /* validation failed, die die die. */ botch: - bl PIC_SYM(_C_LABEL(longjmperror), PLT) - bl PIC_SYM(_C_LABEL(abort), PLT) - b . - 8 /* Cannot get here */ + bl PLT_SYM(_C_LABEL(longjmperror)) + bl PLT_SYM(_C_LABEL(abort)) +2: b 2b /* Cannot get here */ + + .align 0 +.Lsetjmp_magic: + .word _JB_MAGIC_SETJMP +END(longjmp) diff --git a/lib/libc/compat/arch/arm/gen/compat_sigsetjmp.S b/lib/libc/compat/arch/arm/gen/compat_sigsetjmp.S index 8ad14fb0b..31ae15276 100644 --- a/lib/libc/compat/arch/arm/gen/compat_sigsetjmp.S +++ b/lib/libc/compat/arch/arm/gen/compat_sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsetjmp.S,v 1.1 2005/10/16 17:27:50 christos Exp $ */ +/* $NetBSD: compat_sigsetjmp.S,v 1.3 2013/11/30 20:54:14 joerg Exp $ */ /* * Copyright (c) 1997 Mark Brinicombe @@ -46,16 +46,46 @@ */ ENTRY(sigsetjmp) - teq r1, #0 - beq PIC_SYM(_C_LABEL(_setjmp), PLT) - b PIC_SYM(_C_LABEL(setjmp), PLT) - -.L_setjmp_magic: - .word _JB_MAGIC__SETJMP +#if defined(__thumb__) && defined(_ARM_ARCH_T2) + cbnz r1, 1f + b PLT_SYM(_C_LABEL(_setjmp)) +1: b PLT_SYM(_C_LABEL(setjmp)) +#elif !defined(__thumb__) + cmp r1, #0 + beq PLT_SYM(_C_LABEL(_setjmp)) + b PLT_SYM(_C_LABEL(setjmp)) +#else + push {r3, lr} + beq 1f + bl PLT_SYM(_C_LABEL(setjmp)) + pop {r3, pc} +1: bl PLT_SYM(_C_LABEL(_setjmp)) + pop {r3, pc} +#endif +END(sigsetjmp) ENTRY(siglongjmp) ldr r2, .L_setjmp_magic ldr r3, [r0] - teq r2, r3 - beq PIC_SYM(_C_LABEL(_longjmp), PLT) - b PIC_SYM(_C_LABEL(longjmp), PLT) + cmp r2, r3 +#if !defined(__thumb__) || defined(_ARM_ARCH_T2) +#if defined(__thumb__) + it eq +#endif + beq PLT_SYM(_C_LABEL(_longjmp)) + b PLT_SYM(_C_LABEL(longjmp)) +#else + push {lr} + sub sp, sp, #4 + beq 1f + bl PIC_SYM(_C_LABEL(longjmp), PLT) + b 2f +1: bl PIC_SYM(_C_LABEL(_longjmp), PLT) +2: add sp, sp, #4 + pop {pc} +#endif + + .align 0 +.L_setjmp_magic: + .word _JB_MAGIC__SETJMP +END(siglongjmp) diff --git a/lib/libc/compat/arch/arm/sys/compat_Ovfork.S b/lib/libc/compat/arch/arm/sys/compat_Ovfork.S index 317094e80..98e6989a4 100644 --- a/lib/libc/compat/arch/arm/sys/compat_Ovfork.S +++ b/lib/libc/compat/arch/arm/sys/compat_Ovfork.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_Ovfork.S,v 1.1 2005/10/16 17:27:50 christos Exp $ */ +/* $NetBSD: compat_Ovfork.S,v 1.3 2013/08/19 22:11:50 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -43,14 +43,12 @@ WARN_REFERENCES(vfork, \ * r1 == 0 in parent process, r1 == 1 in child process. * r0 == pid of child in parent, r0 == pid of parent in child. */ - .text - .align 0 - ENTRY(vfork) - mov r2, r14 + mov r2, lr SYSTRAP(vfork) - bcs PIC_SYM(CERROR, PLT) - mov r14, r2 - sub r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */ - and r0, r0, r1 /* r0 == 0 if child, else unchanged */ + _INVOKE_CERROR() + mov lr, r2 + subs r1, r1, #1 /* r1 == 0xffffffff if parent, 0 if child */ + ands r0, r0, r1 /* r0 == 0 if child, else unchanged */ RET +END(vfork) diff --git a/lib/libc/compat/arch/arm/sys/compat___sigtramp1.S b/lib/libc/compat/arch/arm/sys/compat___sigtramp1.S index 8404824ff..93b21bb85 100644 --- a/lib/libc/compat/arch/arm/sys/compat___sigtramp1.S +++ b/lib/libc/compat/arch/arm/sys/compat___sigtramp1.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat___sigtramp1.S,v 1.2 2008/04/28 20:22:58 martin Exp $ */ +/* $NetBSD: compat___sigtramp1.S,v 1.3 2013/08/19 22:11:50 matt Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -39,9 +39,10 @@ * * sp-> sigcontext structure */ -ENTRY_NP(__sigtramp_sigcontext_1) +ENTRY(__sigtramp_sigcontext_1) mov r0, sp /* get pointer to sigcontext */ SYSTRAP(compat_16___sigreturn14) /* and call sigreturn */ /* If that failed, exit with the error code. */ SYSTRAP(exit) +END(__sigtramp_sigcontext_1) diff --git a/lib/libc/compat/arch/arm/sys/compat_sigpending.S b/lib/libc/compat/arch/arm/sys/compat_sigpending.S index 7449a52f3..83f72dd26 100644 --- a/lib/libc/compat/arch/arm/sys/compat_sigpending.S +++ b/lib/libc/compat/arch/arm/sys/compat_sigpending.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigpending.S,v 1.1 2005/10/16 17:27:50 christos Exp $ */ +/* $NetBSD: compat_sigpending.S,v 1.3 2013/08/19 22:11:50 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,8 @@ WARN_REFERENCES(sigpending, \ ENTRY(sigpending) mov r2, r0 SYSTRAP(compat_13_sigpending13) - bcs PIC_SYM(CERROR, PLT) + _INVOKE_CERROR() str r0, [r2] - mov r0, #0x00000000 + movs r0, #0 RET +END(sigpending) diff --git a/lib/libc/compat/arch/arm/sys/compat_sigprocmask.S b/lib/libc/compat/arch/arm/sys/compat_sigprocmask.S index 9e73bd1a6..df89f64d7 100644 --- a/lib/libc/compat/arch/arm/sys/compat_sigprocmask.S +++ b/lib/libc/compat/arch/arm/sys/compat_sigprocmask.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigprocmask.S,v 1.1 2005/10/16 17:27:50 christos Exp $ */ +/* $NetBSD: compat_sigprocmask.S,v 1.3 2013/08/19 22:11:50 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -37,13 +37,35 @@ WARN_REFERENCES(sigprocmask, \ "warning: reference to compatibility sigprocmask(); include for correct reference") ENTRY(sigprocmask) - teq r1, #0x00000000 - moveq r0, #0x00000001 - moveq r1, #0x00000000 + cmp r1, #0 +#if defined(_ARM_ARCH_7) || !defined(__thumb__) +#ifdef __thumb__ + itte eq +#endif + moveq r0, #1 + moveq r1, #0 ldrne r1, [r1] +#else + bne 1f + movs r0, #1 + movs r1, #0 + b 2f +1: ldr r1, [r1] +2: +#endif SYSTRAP(compat_13_sigprocmask13) - bcs PIC_SYM(CERROR, PLT) - teq r2, #0x00000000 + _INVOKE_CERROR() + cmp r2, #0 +#if defined(_ARM_ARCH_7) || !defined(__thumb__) +#ifdef __thumb__ + it ne +#endif strne r0, [r2] - mov r0, #0x00000000 +#else + beq 3f + str r0, [r2] +3: +#endif + movs r0, #0 RET +END(sigprocmask) diff --git a/lib/libc/compat/arch/arm/sys/compat_sigsuspend.S b/lib/libc/compat/arch/arm/sys/compat_sigsuspend.S index 2b22059a3..5a6de9c8f 100644 --- a/lib/libc/compat/arch/arm/sys/compat_sigsuspend.S +++ b/lib/libc/compat/arch/arm/sys/compat_sigsuspend.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsuspend.S,v 1.1 2005/10/16 17:27:50 christos Exp $ */ +/* $NetBSD: compat_sigsuspend.S,v 1.3 2013/08/19 22:11:50 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,6 +39,7 @@ WARN_REFERENCES(sigsuspend, \ ENTRY(sigsuspend) ldr r0, [r0] SYSTRAP(compat_13_sigsuspend13) - bcs PIC_SYM(CERROR, PLT) - mov r0, #0x00000000 + _INVOKE_CERROR() + movs r0, #0 RET +END(sigsuspend) diff --git a/lib/libc/compat/arch/i386/gen/compat_setjmp.S b/lib/libc/compat/arch/i386/gen/compat_setjmp.S index 67e7f7255..9d640ab2d 100644 --- a/lib/libc/compat/arch/i386/gen/compat_setjmp.S +++ b/lib/libc/compat/arch/i386/gen/compat_setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_setjmp.S,v 1.1 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: compat_setjmp.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: compat_setjmp.S,v 1.1 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: compat_setjmp.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* @@ -53,7 +53,7 @@ ENTRY(setjmp) PIC_PROLOGUE pushl $0 -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(sigblock)) #else call _C_LABEL(sigblock) @@ -78,7 +78,7 @@ ENTRY(longjmp) PIC_PROLOGUE pushl 24(%edx) -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(sigsetmask)) #else call _C_LABEL(sigsetmask) diff --git a/lib/libc/compat/arch/i386/gen/compat_sigsetjmp.S b/lib/libc/compat/arch/i386/gen/compat_sigsetjmp.S index f9cc9e958..169a973df 100644 --- a/lib/libc/compat/arch/i386/gen/compat_sigsetjmp.S +++ b/lib/libc/compat/arch/i386/gen/compat_sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsetjmp.S,v 1.1 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: compat_sigsetjmp.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(LIBC_SCCS) - RCSID("$NetBSD: compat_sigsetjmp.S,v 1.1 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: compat_sigsetjmp.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif ENTRY(sigsetjmp) @@ -48,7 +48,7 @@ ENTRY(sigsetjmp) PIC_PROLOGUE pushl $0 -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(sigblock)) #else call _C_LABEL(sigblock) @@ -75,7 +75,7 @@ ENTRY(siglongjmp) PIC_PROLOGUE pushl 24(%edx) -#ifdef PIC +#ifdef __PIC__ call PIC_PLT(_C_LABEL(sigsetmask)) #else call _C_LABEL(sigsetmask) diff --git a/lib/libc/compat/arch/i386/sys/compat_Ovfork.S b/lib/libc/compat/arch/i386/sys/compat_Ovfork.S index 385d075b5..976d4afc0 100644 --- a/lib/libc/compat/arch/i386/sys/compat_Ovfork.S +++ b/lib/libc/compat/arch/i386/sys/compat_Ovfork.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_Ovfork.S,v 1.1 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: compat_Ovfork.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: compat_Ovfork.S,v 1.1 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: compat_Ovfork.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -60,7 +60,7 @@ ENTRY(vfork) jmp *%ecx err: pushl %ecx -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE mov PIC_GOT(CERROR), %ecx PIC_EPILOGUE diff --git a/lib/libc/compat/arch/i386/sys/compat_sigprocmask.S b/lib/libc/compat/arch/i386/sys/compat_sigprocmask.S index 246cf690d..120bb83c1 100644 --- a/lib/libc/compat/arch/i386/sys/compat_sigprocmask.S +++ b/lib/libc/compat/arch/i386/sys/compat_sigprocmask.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigprocmask.S,v 1.1 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: compat_sigprocmask.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: compat_sigprocmask.S,v 1.1 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: compat_sigprocmask.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -63,7 +63,7 @@ out: xorl %eax,%eax ret err: -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE mov PIC_GOT(CERROR), %ecx PIC_EPILOGUE diff --git a/lib/libc/compat/arch/i386/sys/compat_sigsuspend.S b/lib/libc/compat/arch/i386/sys/compat_sigsuspend.S index b1bdb2ac0..93cf574f0 100644 --- a/lib/libc/compat/arch/i386/sys/compat_sigsuspend.S +++ b/lib/libc/compat/arch/i386/sys/compat_sigsuspend.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsuspend.S,v 1.1 2005/09/13 01:44:08 christos Exp $ */ +/* $NetBSD: compat_sigsuspend.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: compat_sigsuspend.S,v 1.1 2005/09/13 01:44:08 christos Exp $") + RCSID("$NetBSD: compat_sigsuspend.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -53,7 +53,7 @@ ENTRY(sigsuspend) xorl %eax,%eax # shouldn t happen ret err: -#ifdef PIC +#ifdef __PIC__ PIC_PROLOGUE mov PIC_GOT(CERROR), %ecx PIC_EPILOGUE diff --git a/lib/libc/compat/arch/m68k/gen/compat_setjmp.S b/lib/libc/compat/arch/m68k/gen/compat_setjmp.S index 49045e0d3..37193dbc7 100644 --- a/lib/libc/compat/arch/m68k/gen/compat_setjmp.S +++ b/lib/libc/compat/arch/m68k/gen/compat_setjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_setjmp.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_setjmp.S,v 1.2 2013/07/17 21:29:01 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)setjmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: compat_setjmp.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_setjmp.S,v 1.2 2013/07/17 21:29:01 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -55,41 +55,43 @@ */ ENTRY(setjmp) - lea %sp@(-12),%sp /* space for sigstack args/rvals */ - clrl %sp@ /* don't change it... */ - movl %sp,%sp@(4) /* ...but return the current val */ + lea -12(%sp),%sp /* space for sigstack args/rvals */ + clrl (%sp) /* don't change it... */ + movl %sp,4(%sp) /* ...but return the current val */ jbsr PIC_PLT(_C_LABEL(__sigaltstack14)) /* note: flags returned in sp@(8) */ - clrl %sp@ /* don't change mask, just return */ + clrl (%sp) /* don't change mask, just return */ jbsr PIC_PLT(_C_LABEL(sigblock)) /* old value */ - movl %sp@(8),%d1 /* old flags value */ + movl 8(%sp),%d1 /* old flags value */ andl #1,%d1 /* extract onstack flag */ - lea %sp@(12),%sp - movl %sp@(4),%a0 /* save area pointer */ - movl %d1,%a0@+ /* save old onstack value */ - movl %d0,%a0@+ /* save old signal mask */ - lea %sp@(4),%a1 /* adjust saved SP since we won't rts */ - movl %a1,%a0@+ /* save old SP */ - movl %a6,%a0@+ /* save old FP */ - clrl %a0@+ /* no AP */ - movl %sp@,%a0@+ /* save old PC */ - clrl %a0@+ /* clean PS */ - moveml #0x3CFC,%a0@ /* save remaining non-scratch regs */ + lea 12(%sp),%sp + movl 4(%sp),%a0 /* save area pointer */ + movl %d1,(%a0)+ /* save old onstack value */ + movl %d0,(%a0)+ /* save old signal mask */ + lea 4(%sp),%a1 /* adjust saved SP since we won't rts */ + movl %a1,(%a0)+ /* save old SP */ + movl %a6,(%a0)+ /* save old FP */ + clrl (%a0)+ /* no AP */ + movl (%sp),(%a0)+ /* save old PC */ + clrl (%a0)+ /* clean PS */ + moveml #0x3CFC,(%a0) /* save remaining non-scratch regs */ clrl %d0 /* return 0 */ rts +END(setjmp) ENTRY(longjmp) - movl %sp@(4),%a0 /* save area pointer */ - tstl %a0@(8) /* ensure non-zero SP */ + movl 4(%sp),%a0 /* save area pointer */ + tstl 8(%a0) /* ensure non-zero SP */ jeq botch /* oops! */ - movl %sp@(8),%d0 /* grab return value */ + movl 8(%sp),%d0 /* grab return value */ jne ok /* non-zero ok */ moveq #1,%d0 /* else make non-zero */ ok: - moveml %a0@(28),#0x3CFC /* restore non-scratch regs */ - movl %a0,%sp@- /* let sigreturn */ + moveml 28(%a0),#0x3CFC /* restore non-scratch regs */ + movl %a0,-(%sp) /* let sigreturn */ jbsr PIC_PLT(_C_LABEL(sigreturn)) /* finish for us */ botch: jbsr PIC_PLT(_C_LABEL(longjmperror)) stop #0 +END(longjmp) diff --git a/lib/libc/compat/arch/m68k/gen/compat_sigsetjmp.S b/lib/libc/compat/arch/m68k/gen/compat_sigsetjmp.S index 4c57960ec..12957bc6c 100644 --- a/lib/libc/compat/arch/m68k/gen/compat_sigsetjmp.S +++ b/lib/libc/compat/arch/m68k/gen/compat_sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsetjmp.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_sigsetjmp.S,v 1.2 2013/07/17 21:29:01 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)_setjmp.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: compat_sigsetjmp.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_sigsetjmp.S,v 1.2 2013/07/17 21:29:01 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -58,20 +58,22 @@ #include ENTRY(sigsetjmp) - movl %sp@(8),%d1 /* grab the mask */ - movl %sp@(4),%a0 /* grab the area pointer */ - movl %d1,%a0@(_JBLEN * 4 ) /* save at end of area */ + movl 8(%sp),%d1 /* grab the mask */ + movl 4(%sp),%a0 /* grab the area pointer */ + movl %d1,(_JBLEN * 4)(%a0) /* save at end of area */ tstl %d1 bne dosig jra PIC_PLT(_C_LABEL(_setjmp)) dosig: jra PIC_PLT(_C_LABEL(setjmp)) +END(sigsetjmp) ENTRY(siglongjmp) - movl %sp@(4),%a0 /* save area pointer */ - tstl %a0@(_JBLEN * 4) /* check mask... */ + movl 4(%sp),%a0 /* save area pointer */ + tstl (_JBLEN * 4)(%a0) /* check mask... */ bne didsig jra PIC_PLT(_C_LABEL(_longjmp)) didsig: jra PIC_PLT(_C_LABEL(longjmp)) +END(siglongjmp) diff --git a/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S b/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S index 4935ec9fd..39c209e73 100644 --- a/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S +++ b/lib/libc/compat/arch/m68k/sys/compat_Ovfork.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_Ovfork.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_Ovfork.S,v 1.3 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)Ovfork.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: compat_Ovfork.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_Ovfork.S,v 1.3 2013/09/12 15:36:16 joerg Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -63,48 +63,35 @@ WARN_REFERENCES(vfork, \ */ ENTRY(vfork) - movl %sp@+,%a1 - movl #SYS_vfork,%d0 - trap #0 + movl (%sp)+,%a1 + SYSTRAP(vfork) jcs err subql #1,%d1 /* from 1 to 0 in child, 0 to -1 in parent */ andl %d1,%d0 - jmp %a1@ + jmp (%a1) err: #ifdef _REENTRANT .globl _C_LABEL(__errno) - movl %a1,%sp@- - movl %d0,%sp@- -#if defined(PIC) && !defined(__ELF__) - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a1 - lea %pc@(0,a1:l),%a1 - movl %a1@(_C_LABEL(__errno):l),%a1 - jsr %a1@ -#else + movl %a1,-(%sp) + movl %d0,-(%sp) jbsr PIC_PLT(_C_LABEL(__errno)) -#endif /* PIC */ #ifdef __SVR4_ABI__ - movl %sp@+,%a0@ + movl (%sp)+,(%a0) #else movl %d0,%a1 - movl %sp@+,%a1@ + movl (%sp)+,(%a1) #endif /* __SVR4_ABI__ */ - movl %sp@+,%a1 + movl (%sp)+,%a1 #else .globl _C_LABEL(errno) -#ifdef PIC -#ifdef __ELF__ - lea %pc@(_GLOBAL_OFFSET_TABLE_@GOTPC),%a0 - movl %a0@(_C_LABEL(errno)@GOT:w),%a0 -#else - movl #_C_LABEL(_GLOBAL_OFFSET_TABLE_),%a0 - lea %pc@(0,a0:l),%a0 - movl %a0@(_C_LABEL(errno):w),%a0 -#endif - movl %d0,%a0@ +#ifdef __PIC__ + GOT_SETUP(%a0) + movl _C_LABEL(errno)@GOT:w(%a0),%a0 + movl %d0,(%a0) #else movl %d0,_C_LABEL(errno) -#endif /* PIC */ +#endif /* __PIC__ */ #endif /* _REENTRANT */ moveq #-1,%d0 - jmp %a1@ + jmp (%a1) +END(vfork) diff --git a/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S b/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S index 8a97da0fa..39c41b9c0 100644 --- a/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S +++ b/lib/libc/compat/arch/m68k/sys/compat___sigreturn14.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat___sigreturn14.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat___sigreturn14.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)sigreturn.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: compat___sigreturn14.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat___sigreturn14.S,v 1.2 2013/07/16 23:00:15 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,20 +47,14 @@ * We must preserve the state of the registers as the user has set them up. */ #ifdef GPROF -#undef ENTRY -#ifdef __STDC__ -#define ENTRY(x) \ - .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \ - PROF ## x:; .long 0; .text; lea PROF ## x,%a0; jbsr MCOUNT_ENTRY; \ - moveml %sp@+,#0x0303 -#else -#define ENTRY(x) \ - .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \ - PROF/**/x:; .long 0; .text; lea PROF/**/x,%a0; jbsr MCOUNT_ENTRY; \ - moveml %sp@+,#0x0303 -#endif /* __STDC__ */ -#endif /* GPROF */ +#undef _PROF_PROLOG +#define _PROF_PROLOG \ + .data; 1: .long 0; \ + .text; INTERRUPT_SAVEREG; LEA_LCL(1b,%a0); jbsr MCOUNT_ENTRY; \ + INTERRUPT_RESTOREREG +#endif ENTRY(__sigreturn14) trap #3 /* special sigreturn syscall entry point */ - jra PIC_PLT(CERROR) + jbra CERROR +END(__sigreturn14) diff --git a/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S b/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S index 8c3162bc1..09116a0b0 100644 --- a/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S +++ b/lib/libc/compat/arch/m68k/sys/compat___sigtramp1.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat___sigtramp1.S,v 1.2 2008/04/28 20:22:58 martin Exp $ */ +/* $NetBSD: compat___sigtramp1.S,v 1.3 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -43,9 +43,10 @@ * sp-> signal number [0] */ ENTRY_NOPROFILE(__sigtramp_sigcontext_1) - leal %sp@(12),%a0 /* get pointer to sigcontext */ - movl %a0,%sp@(4) /* put it in the argument slot */ + leal 12(%sp),%a0 /* get pointer to sigcontext */ + movl %a0,4(%sp) /* put it in the argument slot */ /* fake return address already there */ trap #3 /* special sigreturn trap */ - movl %d0,%sp@(4) /* failed, exit with errno */ + movl %d0,4(%sp) /* failed, exit with errno */ SYSTRAP(exit) +END(__sigtramp_sigcontext_1) diff --git a/lib/libc/compat/arch/m68k/sys/compat_sigpending.S b/lib/libc/compat/arch/m68k/sys/compat_sigpending.S index 4202f3a39..4118a2d76 100644 --- a/lib/libc/compat/arch/m68k/sys/compat_sigpending.S +++ b/lib/libc/compat/arch/m68k/sys/compat_sigpending.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigpending.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_sigpending.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)sigpending.s 5.2 (Berkeley) 8/6/90") #else - RCSID("$NetBSD: compat_sigpending.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_sigpending.S,v 1.2 2013/07/16 23:00:15 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,7 +47,8 @@ WARN_REFERENCES(sigpending, \ "warning: reference to compatibility sigpending(); include for correct reference") _SYSCALL(sigpending,compat_13_sigpending13) - movl %sp@(4),%a0 - movl %d0,%a0@ + movl 4(%sp),%a0 + movl %d0,(%a0) clrl %d0 rts +END(sigpending) diff --git a/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S b/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S index 485ae33c7..d24f02083 100644 --- a/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S +++ b/lib/libc/compat/arch/m68k/sys/compat_sigprocmask.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigprocmask.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_sigprocmask.S,v 1.4 2013/07/25 22:08:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)sigprocmask.s 5.2 (Berkeley) 6/6/90") #else - RCSID("$NetBSD: compat_sigprocmask.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_sigprocmask.S,v 1.4 2013/07/25 22:08:15 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,24 +47,23 @@ WARN_REFERENCES(sigprocmask, \ "warning: reference to compatibility sigprocmask(); include for correct reference") ENTRY(sigprocmask) - tstl %sp@(8) /* check new sigset pointer */ + tstl 8(%sp) /* check new sigset pointer */ jne gotptr /* if not null, indirect */ -/* movl #0,%sp@(8) /* null mask pointer: block empty set */ - movl #1,%sp@(4) /* SIG_BLOCK */ +/* movl #0,8(%sp) /* null mask pointer: block empty set */ + movql #1,%d0 /* SIG_BLOCK */ + movl %d0,4(%sp) jra doit gotptr: - movl %sp@(8),%a0 - movl %a0@,%sp@(8) /* indirect to new mask arg */ + movl 8(%sp),%a0 + movl (%a0),8(%sp) /* indirect to new mask arg */ doit: - movl #SYS_compat_13_sigprocmask13,%d0 - trap #0 - jcs err - tstl %sp@(12) /* test if old mask requested */ + SYSTRAP(compat_13_sigprocmask13) + jcs CERROR + tstl 12(%sp) /* test if old mask requested */ jeq out - movl %sp@(12),%a0 - movl %d0,%a0@ /* store old mask */ + movl 12(%sp),%a0 + movl %d0,(%a0) /* store old mask */ out: clrl %d0 rts -err: - jra PIC_PLT(CERROR) +END(sigprocmask) diff --git a/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S b/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S index 33357edbb..0af92c58b 100644 --- a/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S +++ b/lib/libc/compat/arch/m68k/sys/compat_sigreturn.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigreturn.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_sigreturn.S,v 1.2 2013/07/16 23:00:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)sigreturn.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: compat_sigreturn.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_sigreturn.S,v 1.2 2013/07/16 23:00:15 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,18 +47,11 @@ * We must preserve the state of the registers as the user has set them up. */ #ifdef GPROF -#undef ENTRY -#ifdef __STDC__ -#define ENTRY(x) \ - .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \ - PROF ## x:; .long 0; .text; lea PROF ## x,%a0; jbsr MCOUNT_ENTRY; \ - moveml %sp@+,#0x0303 -#else -#define ENTRY(x) \ - .globl _C_LABEL(x); .even; _C_LABEL(x):; moveml #0xC0C0,%sp@-; .data; \ - PROF/**/x:; .long 0; .text; lea PROF/**/x,%a0; jbsr MCOUNT_ENTRY; \ - moveml %sp@+,#0x0303 -#endif /* __STDC__ */ +#undef _PROF_PROLOG +#define _PROF_PROLOG \ + .data; 1: .long 0; \ + .text; INTERRUPT_SAVEREG; LEA_LCL(1b,%a0); jbsr MCOUNT_ENTRY; \ + INTERRUPT_RESTOREREG #endif /* GPROF */ WARN_REFERENCES(sigreturn, \ @@ -69,4 +62,5 @@ WARN_REFERENCES(sigreturn, \ */ ENTRY(sigreturn) trap #1 /* signals compat_13_sigreturn13() */ - jra PIC_PLT(CERROR) + jbra CERROR +END(sigreturn) diff --git a/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S b/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S index af7c3edea..64497235d 100644 --- a/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S +++ b/lib/libc/compat/arch/m68k/sys/compat_sigsuspend.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsuspend.S,v 1.1 2006/03/09 16:20:55 christos Exp $ */ +/* $NetBSD: compat_sigsuspend.S,v 1.3 2013/07/25 22:08:15 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)sigsuspend.s 5.2 (Berkeley) 6/6/90") #else - RCSID("$NetBSD: compat_sigsuspend.S,v 1.1 2006/03/09 16:20:55 christos Exp $") + RCSID("$NetBSD: compat_sigsuspend.S,v 1.3 2013/07/25 22:08:15 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -47,12 +47,10 @@ WARN_REFERENCES(sigsuspend, \ "warning: reference to compatibility sigsuspend(); include for correct reference") ENTRY(sigsuspend) - movl %sp@(4),%a0 - movl %a0@,%sp@(4) /* indirect to mask arg */ - movl #SYS_compat_13_sigsuspend13,%d0 - trap #0 - jcs err + movl 4(%sp),%a0 + movl (%a0),4(%sp) /* indirect to mask arg */ + SYSTRAP(compat_13_sigsuspend13) + jcs CERROR clrl %d0 /* shouldn't happen */ rts -err: - jra PIC_PLT(CERROR) +END(sigsuspend) diff --git a/lib/libc/compat/arch/sparc/gen/compat_sigsetjmp.S b/lib/libc/compat/arch/sparc/gen/compat_sigsetjmp.S index 5b1060dec..f6b327aee 100644 --- a/lib/libc/compat/arch/sparc/gen/compat_sigsetjmp.S +++ b/lib/libc/compat/arch/sparc/gen/compat_sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsetjmp.S,v 1.2 2007/10/08 13:06:00 uwe Exp $ */ +/* $NetBSD: compat_sigsetjmp.S,v 1.3 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1995 Paul Kranenburg * All rights reserved. @@ -32,7 +32,7 @@ #include "SYS.h" -#ifdef PIC +#ifdef __PIC__ ENTRY(sigsetjmp) PIC_PROLOGUE(%g1, %g2) ! %g1 = _GLOBAL_OFFSET_TABLE @@ -72,7 +72,7 @@ ENTRY(siglongjmp) jmp %g1 nop -#else /* !PIC */ +#else /* !__PIC__ */ ENTRY(sigsetjmp) cmp %o1,0 @@ -90,4 +90,4 @@ ENTRY(siglongjmp) ba,a _C_LABEL(longjmp) unimp 0 -#endif /* !PIC */ +#endif /* !__PIC__ */ diff --git a/lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S b/lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S index 9d851590f..2dde308f5 100644 --- a/lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S +++ b/lib/libc/compat/arch/sparc64/gen/compat_sigsetjmp.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsetjmp.S,v 1.1 2005/10/16 04:41:34 christos Exp $ */ +/* $NetBSD: compat_sigsetjmp.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /* * Copyright (c) 1995 Paul Kranenburg * All rights reserved. @@ -32,9 +32,8 @@ #include "SYS.h" -#ifdef PIC -#ifdef BIGPIC - +#if __PIC__ - 0 >= 2 + ENTRY(sigsetjmp) PIC_PROLOGUE(%g1,%o2) ! %g1 = _GLOBAL_OFFSET_TABLE set _C_LABEL(setjmp), %o2 ! if (%o1 != 0) goto _setjmp; @@ -56,8 +55,8 @@ ENTRY(siglongjmp) nop unimp 0 -#else - +#elif __PIC__ - 0 >= 1 + ENTRY(sigsetjmp) PIC_PROLOGUE(%g1,%o2) ! %g1 = _GLOBAL_OFFSET_TABLE cmp %o1, 0 @@ -81,8 +80,7 @@ ENTRY(siglongjmp) nop unimp 0 -#endif /* BIGPIC */ -#else /* PIC */ +#else /* !__PIC__ */ ENTRY(sigsetjmp) brz,pt %o1,_C_LABEL(_setjmp) @@ -98,4 +96,4 @@ ENTRY(siglongjmp) ba,a,pt %icc, _C_LABEL(longjmp) unimp 0 -#endif /* PIC */ +#endif /* !__PIC__ */ diff --git a/lib/libc/compat/arch/x86_64/sys/compat_Ovfork.S b/lib/libc/compat/arch/x86_64/sys/compat_Ovfork.S index bd6afd925..bfce4be16 100644 --- a/lib/libc/compat/arch/x86_64/sys/compat_Ovfork.S +++ b/lib/libc/compat/arch/x86_64/sys/compat_Ovfork.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_Ovfork.S,v 1.1 2006/03/11 18:59:21 christos Exp $ */ +/* $NetBSD: compat_Ovfork.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: compat_Ovfork.S,v 1.1 2006/03/11 18:59:21 christos Exp $") + RCSID("$NetBSD: compat_Ovfork.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -60,7 +60,7 @@ ENTRY(vfork) jmp *%r9 err: pushq %r9 -#ifdef PIC +#ifdef __PIC__ movq PIC_GOT(CERROR), %rcx jmp *%rcx #else diff --git a/lib/libc/compat/arch/x86_64/sys/compat_sigprocmask.S b/lib/libc/compat/arch/x86_64/sys/compat_sigprocmask.S index db21a724e..7d7f920a7 100644 --- a/lib/libc/compat/arch/x86_64/sys/compat_sigprocmask.S +++ b/lib/libc/compat/arch/x86_64/sys/compat_sigprocmask.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigprocmask.S,v 1.1 2006/03/11 18:59:21 christos Exp $ */ +/* $NetBSD: compat_sigprocmask.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: compat_sigprocmask.S,v 1.1 2006/03/11 18:59:21 christos Exp $") + RCSID("$NetBSD: compat_sigprocmask.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -59,7 +59,7 @@ out: xorl %eax,%eax ret err: -#ifdef PIC +#ifdef __PIC__ movq PIC_GOT(CERROR), %rcx jmp *%rcx #else diff --git a/lib/libc/compat/arch/x86_64/sys/compat_sigsuspend.S b/lib/libc/compat/arch/x86_64/sys/compat_sigsuspend.S index f5ee4d6ef..4cbf56637 100644 --- a/lib/libc/compat/arch/x86_64/sys/compat_sigsuspend.S +++ b/lib/libc/compat/arch/x86_64/sys/compat_sigsuspend.S @@ -1,4 +1,4 @@ -/* $NetBSD: compat_sigsuspend.S,v 1.1 2006/03/11 18:59:21 christos Exp $ */ +/* $NetBSD: compat_sigsuspend.S,v 1.2 2013/09/12 15:36:16 joerg Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -36,7 +36,7 @@ #include #if defined(SYSLIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: compat_sigsuspend.S,v 1.1 2006/03/11 18:59:21 christos Exp $") + RCSID("$NetBSD: compat_sigsuspend.S,v 1.2 2013/09/12 15:36:16 joerg Exp $") #endif /* SYSLIBC_SCCS and not lint */ #include "SYS.h" @@ -51,7 +51,7 @@ ENTRY(sigsuspend) xorl %eax,%eax # shouldn t happen ret err: -#ifdef PIC +#ifdef __PIC__ movq PIC_GOT(CERROR), %rcx jmp *%rcx #else diff --git a/lib/libc/compat/gen/Makefile.inc b/lib/libc/compat/gen/Makefile.inc index 500dcdb94..fc1bfa40c 100644 --- a/lib/libc/compat/gen/Makefile.inc +++ b/lib/libc/compat/gen/Makefile.inc @@ -1,17 +1,12 @@ -# $NetBSD: Makefile.inc,v 1.15 2012/10/10 22:52:26 christos Exp $ +# $NetBSD: Makefile.inc,v 1.16 2012/10/24 22:10:52 christos Exp $ .PATH: ${COMPATDIR}/gen -.if !defined(__MINIX) -SRCS+=compat_errlist.c compat_fts.c compat___fts13.c compat___fts30.c \ - compat___fts31.c compat_getmntinfo.c compat_glob.c compat___glob13.c \ +SRCS+=compat_errlist.c compat_fts.c \ + compat_glob.c compat___glob13.c \ compat_opendir.c compat_readdir.c compat__readdir_unlocked30.c \ compat_scandir.c compat_siglist.c compat_signame.c compat_sigsetops.c \ compat_times.c compat_timezone.c compat_unvis.c compat_utmpx.c \ compat__sys_errlist.c compat__sys_nerr.c compat__sys_siglist.c \ compat_time.c compat_utime.c compat_devname.c compat_alphasort.c \ - compat_getpwent.c compat___fts32.c compat_utmp.c compat___fts50.c \ - compat___unvis13.c compat_syslog.c -.else -SRCS+= \ - compat___unvis13.c compat_syslog.c -.endif # !defined(__MINIX) + compat_getpwent.c compat_utmp.c compat___fts50.c \ + compat___unvis13.c compat_syslog.c compat_alloca.c diff --git a/lib/libc/compat/gen/compat___fts13.c b/lib/libc/compat/gen/compat___fts13.c index 7d832f27c..44378ea29 100644 --- a/lib/libc/compat/gen/compat___fts13.c +++ b/lib/libc/compat/gen/compat___fts13.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___fts13.c,v 1.9 2012/03/14 00:25:19 christos Exp $ */ +/* $NetBSD: compat___fts13.c,v 1.11 2013/10/04 21:07:37 christos Exp $ */ #include "namespace.h" #include @@ -42,9 +42,9 @@ __warn_references(__fts_set13, ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a)) #endif -#define stat __stat13 -#define lstat __lstat13 -#define fstat __fstat13 +#define stat __compat___stat13 +#define lstat __compat___lstat13 +#define fstat __compat___fstat13 #undef fts_children #define fts_children __fts_children13 diff --git a/lib/libc/compat/gen/compat___fts30.c b/lib/libc/compat/gen/compat___fts30.c index f69e51e18..54607585b 100644 --- a/lib/libc/compat/gen/compat___fts30.c +++ b/lib/libc/compat/gen/compat___fts30.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___fts30.c,v 1.6 2012/03/14 00:25:19 christos Exp $ */ +/* $NetBSD: compat___fts30.c,v 1.8 2013/10/04 21:07:37 christos Exp $ */ #include "namespace.h" #include @@ -32,9 +32,9 @@ __warn_references(__fts_set30, #define __fts_dev_t uint32_t #define __fts_level_t short -#define stat __stat30 -#define lstat __lstat30 -#define fstat __fstat30 +#define stat __compat___stat30 +#define lstat __compat___lstat30 +#define fstat __compat___fstat30 #ifndef ftsent_namelen_truncate #define ftsent_namelen_truncate(a) \ diff --git a/lib/libc/compat/gen/compat___fts31.c b/lib/libc/compat/gen/compat___fts31.c index 32e872686..cfef1e312 100644 --- a/lib/libc/compat/gen/compat___fts31.c +++ b/lib/libc/compat/gen/compat___fts31.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___fts31.c,v 1.4 2012/03/14 00:25:19 christos Exp $ */ +/* $NetBSD: compat___fts31.c,v 1.6 2013/10/04 21:07:37 christos Exp $ */ #include "namespace.h" #include @@ -40,9 +40,9 @@ __warn_references(__fts_set31, ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a)) #endif -#define stat __stat30 -#define lstat __lstat30 -#define fstat __fstat30 +#define stat __compat___stat30 +#define lstat __compat___lstat30 +#define fstat __compat___fstat30 #undef fts_children #define fts_children __fts_children31 diff --git a/lib/libc/compat/gen/compat___fts32.c b/lib/libc/compat/gen/compat___fts32.c index 99c7388f8..2c6b10942 100644 --- a/lib/libc/compat/gen/compat___fts32.c +++ b/lib/libc/compat/gen/compat___fts32.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___fts32.c,v 1.3 2009/10/19 17:52:05 christos Exp $ */ +/* $NetBSD: compat___fts32.c,v 1.5 2013/10/04 21:07:37 christos Exp $ */ #include "namespace.h" #include @@ -46,8 +46,8 @@ __warn_references(__fts_set32, #define __FTS_COMPAT_LEVEL -#define stat __stat30 -#define lstat __lstat30 -#define fstat __fstat30 +#define stat __compat___stat30 +#define lstat __compat___lstat30 +#define fstat __compat___fstat30 #include "gen/fts.c" diff --git a/lib/libc/compat/gen/compat_alloca.c b/lib/libc/compat/gen/compat_alloca.c new file mode 100644 index 000000000..fff067f47 --- /dev/null +++ b/lib/libc/compat/gen/compat_alloca.c @@ -0,0 +1,6 @@ +#include + +__warn_references(alloca, + "Warning: reference to the libc supplied alloca(3); this most likely will " + "not work. Please use the compiler provided version of alloca(3), by " + "supplying the appropriate compiler flags (e.g. not -std=c89).") diff --git a/lib/libc/compat/gen/compat_fts.c b/lib/libc/compat/gen/compat_fts.c index e590120b0..5cd131436 100644 --- a/lib/libc/compat/gen/compat_fts.c +++ b/lib/libc/compat/gen/compat_fts.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_fts.c,v 1.6 2012/03/15 16:47:38 christos Exp $ */ +/* $NetBSD: compat_fts.c,v 1.8 2013/10/04 21:07:37 christos Exp $ */ /* * Written by Jason R. Thorpe , October 21, 1997. @@ -62,4 +62,8 @@ __warn_references(fts_set, #define __FTS_COMPAT_LENGTH #define __FTS_COMPAT_LEVEL +#define stat __compat_stat +#define lstat __compat_lstat +#define fstat __compat_fstat + #include "gen/fts.c" diff --git a/lib/libc/compat/gen/compat_getmntinfo.c b/lib/libc/compat/gen/compat_getmntinfo.c index c3f0f608c..a23566f3c 100644 --- a/lib/libc/compat/gen/compat_getmntinfo.c +++ b/lib/libc/compat/gen/compat_getmntinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_getmntinfo.c,v 1.2 2012/03/20 17:05:59 matt Exp $ */ +/* $NetBSD: compat_getmntinfo.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /* * Copyright (c) 1989, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)getmntinfo.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: compat_getmntinfo.c,v 1.2 2012/03/20 17:05:59 matt Exp $"); +__RCSID("$NetBSD: compat_getmntinfo.c,v 1.4 2013/10/04 21:07:37 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -50,15 +50,13 @@ __RCSID("$NetBSD: compat_getmntinfo.c,v 1.2 2012/03/20 17:05:59 matt Exp $"); #include #include -#ifdef __weak_alias -__weak_alias(getmntinfo,_getmntinfo) -#endif +__strong_alias(getmntinfo, __compat_getmntinfo) /* * Return information about mounted filesystems. */ int -getmntinfo(struct statfs12 **mntbufp, int flags) +__compat_getmntinfo(struct statfs12 **mntbufp, int flags) { static struct statfs12 *mntbuf; static int mntsize; @@ -67,10 +65,10 @@ getmntinfo(struct statfs12 **mntbufp, int flags) _DIAGASSERT(mntbufp != NULL); if (mntsize <= 0 && - (mntsize = getfsstat(NULL, 0L, MNT_NOWAIT)) == -1) + (mntsize = __compat_getfsstat(NULL, 0L, MNT_NOWAIT)) == -1) return (0); if (bufsize > 0 && - (mntsize = getfsstat(mntbuf, (long)bufsize, flags)) == -1) + (mntsize = __compat_getfsstat(mntbuf, (long)bufsize, flags)) == -1) return (0); while (bufsize <= mntsize * sizeof(struct statfs12)) { if (mntbuf) @@ -78,7 +76,8 @@ getmntinfo(struct statfs12 **mntbufp, int flags) bufsize = (mntsize + 1) * sizeof(struct statfs12); if ((mntbuf = malloc(bufsize)) == NULL) return (0); - if ((mntsize = getfsstat(mntbuf, (long)bufsize, flags)) == -1) + if ((mntsize = __compat_getfsstat(mntbuf, (long)bufsize, + flags)) == -1) return (0); } *mntbufp = mntbuf; diff --git a/lib/libc/compat/gen/compat_glob.c b/lib/libc/compat/gen/compat_glob.c index 222b4a42d..629e40044 100644 --- a/lib/libc/compat/gen/compat_glob.c +++ b/lib/libc/compat/gen/compat_glob.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_glob.c,v 1.2 2009/01/11 02:46:25 christos Exp $ */ +/* $NetBSD: compat_glob.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /* * Written by Jason R. Thorpe , October 21, 1997. @@ -28,4 +28,8 @@ __warn_references(glob, __warn_references(globfree, "warning: reference to compatibility globfree(); include for correct reference") +#define stat __compat_stat +#define lstat __compat_lstat +#define fstat __compat_fstat + #include "gen/glob.c" diff --git a/lib/libc/compat/gen/compat_time.c b/lib/libc/compat/gen/compat_time.c index 969949034..7bb93e57c 100644 --- a/lib/libc/compat/gen/compat_time.c +++ b/lib/libc/compat/gen/compat_time.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_time.c,v 1.2 2009/01/11 02:46:25 christos Exp $ */ +/* $NetBSD: compat_time.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /* * Written by Jason R. Thorpe , October 21, 1997. @@ -24,4 +24,7 @@ __warn_references(time, #define timeval timeval50 #define time_t int32_t + +#define gettimeofday __compat_gettimeofday + #include "gen/time.c" diff --git a/lib/libc/compat/gen/compat_times.c b/lib/libc/compat/gen/compat_times.c index 8c4a7e5f0..6d11b55de 100644 --- a/lib/libc/compat/gen/compat_times.c +++ b/lib/libc/compat/gen/compat_times.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_times.c,v 1.2 2009/01/11 02:46:25 christos Exp $ */ +/* $NetBSD: compat_times.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /* * Ben Harris, 2002. @@ -25,4 +25,7 @@ __warn_references(times, #define __times_rusage struct rusage50 #define __times_timeval struct timeval50 +#define getrusage __compat_getrusage +#define gettimeofday __compat_gettimeofday + #include "gen/times.c" diff --git a/lib/libc/compat/include/lwp.h b/lib/libc/compat/include/lwp.h index bdad6335b..353139e30 100644 --- a/lib/libc/compat/include/lwp.h +++ b/lib/libc/compat/include/lwp.h @@ -1,4 +1,4 @@ -/* $NetBSD: lwp.h,v 1.2 2009/01/11 02:46:25 christos Exp $ */ +/* $NetBSD: lwp.h,v 1.3 2013/03/29 02:09:58 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -39,8 +39,11 @@ #define _COMPAT_LWP_H_ __BEGIN_DECLS +struct timespec50; int _lwp_park(const struct timespec50 *, lwpid_t, const void *, const void *); int ___lwp_park50(const struct timespec *, lwpid_t, const void *, const void *); +int ___lwp_park60(clockid_t , int, const struct timespec *, lwpid_t, + const void *, const void *); __END_DECLS #endif /* !_COMPAT_LWP_H_ */ diff --git a/lib/libc/compat/locale/compat_setlocale1.c b/lib/libc/compat/locale/compat_setlocale1.c index bb4230dfa..f8b98b581 100644 --- a/lib/libc/compat/locale/compat_setlocale1.c +++ b/lib/libc/compat/locale/compat_setlocale1.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_setlocale1.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $ */ +/* $NetBSD: compat_setlocale1.c,v 1.2 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -30,7 +30,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_setlocale1.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $"); +__RCSID("$NetBSD: compat_setlocale1.c,v 1.2 2013/09/13 13:13:32 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -38,6 +38,8 @@ __RCSID("$NetBSD: compat_setlocale1.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $"); #include "setlocale_local.h" +#undef setlocale + __warn_references(setlocale, "warning: reference to compatibility setlocale();" "include for correct reference") @@ -47,7 +49,10 @@ __warn_references(setlocale, * This function will ensure binary compatibility for old executables. */ char * -setlocale(int category, const char *locale) +compat_setlocale(int category, const char *locale) __RENAME(setlocale); + +char * +compat_setlocale(int category, const char *locale) { /* locale may be NULL */ diff --git a/lib/libc/compat/locale/compat_setlocale32.c b/lib/libc/compat/locale/compat_setlocale32.c index 28cd07e17..d06b5c412 100644 --- a/lib/libc/compat/locale/compat_setlocale32.c +++ b/lib/libc/compat/locale/compat_setlocale32.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_setlocale32.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $ */ +/* $NetBSD: compat_setlocale32.c,v 1.2 2013/03/06 11:29:01 yamt Exp $ */ /*- * Copyright (c)1999 Citrus Project, @@ -30,7 +30,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_setlocale32.c,v 1.1 2010/06/07 13:52:30 tnozaki Exp $"); +__RCSID("$NetBSD: compat_setlocale32.c,v 1.2 2013/03/06 11:29:01 yamt Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -42,6 +42,14 @@ __warn_references(__setlocale_mb_len_max_32, "warning: reference to compatibility __setlocale_mb_len_max_32();" "include for correct reference") +/* + * MB_LEN_MAX used to be a MD macro. it was 32 for most ports but 6 for hppa. + * hppa uses arch/hppa/locale/compat_setlocale32.c instead of this file. + */ +#if defined(__hppa__) +#error using wrong variant of compat_setlocale32.c +#endif /* defined(__hppa__) */ + char * __setlocale_mb_len_max_32(int category, const char *locale) { diff --git a/lib/libc/compat/stdio/compat_fsetpos.c b/lib/libc/compat/stdio/compat_fsetpos.c index a0522829c..74250f639 100644 --- a/lib/libc/compat/stdio/compat_fsetpos.c +++ b/lib/libc/compat/stdio/compat_fsetpos.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_fsetpos.c,v 1.1 2012/01/22 18:36:19 christos Exp $ */ +/* $NetBSD: compat_fsetpos.c,v 1.2 2012/10/17 16:09:03 drochner Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,7 +37,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_fsetpos.c,v 1.1 2012/01/22 18:36:19 christos Exp $"); +__RCSID("$NetBSD: compat_fsetpos.c,v 1.2 2012/10/17 16:09:03 drochner Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -51,7 +51,7 @@ __RCSID("$NetBSD: compat_fsetpos.c,v 1.1 2012/01/22 18:36:19 christos Exp $"); #ifdef __warn_references __warn_references(fsetpos, - "warning: reference to compatibility fsetpos(); include for correc t reference") + "warning: reference to compatibility fsetpos(); include for correct reference") #endif diff --git a/lib/libc/compat/sys/Makefile.inc b/lib/libc/compat/sys/Makefile.inc index 25031df12..15a0637da 100644 --- a/lib/libc/compat/sys/Makefile.inc +++ b/lib/libc/compat/sys/Makefile.inc @@ -1,18 +1,18 @@ -# $NetBSD: Makefile.inc,v 1.8 2009/01/11 02:46:25 christos Exp $ +# $NetBSD: Makefile.inc,v 1.9 2013/03/29 02:09:58 christos Exp $ .PATH: ${COMPATDIR}/sys -SRCS+= compat_getdents.c compat_getdirentries.c compat_msync.c \ - compat_ntp_gettime.c compat_sched.c \ - compat_semctl.c compat_sigaltstack.c compat_stat.c compat___stat13.c \ - compat_statfs.c compat_socket.c compat_getfh.c \ - compat_fhopen.c compat___fhstat30.c compat_fhstatvfs.c compat_fhstatvfs1.c \ - compat_mount.c compat_getrusage.c compat_gettimeofday.c compat_utimes.c \ - compat_wait4.c compat_sigtimedwait.c compat_settimeofday.c compat_timer.c \ - compat_clock.c compat_itimer.c compat_select.c compat_nanosleep.c \ - compat___stat30.c compat_aio_suspend.c compat_adjtime.c compat_mknod.c \ - compat_mqueue.c compat__lwp_park.c compat_lfs_segwait.c compat_kevent.c \ - compat___ntp_gettime30.c compat___semctl13.c compat___shmctl13.c \ - compat___msgctl13.c +SRCS+= compat_getdents.c compat_getdirentries.c \ + compat_sched.c \ + compat_stat.c \ + compat_socket.c \ + \ + compat_getrusage.c compat_gettimeofday.c compat_utimes.c \ + compat_settimeofday.c \ + compat_clock.c compat_itimer.c compat_nanosleep.c \ + compat_adjtime.c compat_mknod.c \ + compat__lwp_park.c \ + compat___shmctl13.c \ + compat___lwp_park50.c MAN+= getdirentries.3 .if ${MKLINT} != "no" diff --git a/lib/libc/compat/sys/compat___fhstat30.c b/lib/libc/compat/sys/compat___fhstat30.c index 39068c937..8bb5e8813 100644 --- a/lib/libc/compat/sys/compat___fhstat30.c +++ b/lib/libc/compat/sys/compat___fhstat30.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___fhstat30.c,v 1.4 2009/01/11 02:46:25 christos Exp $ */ +/* $NetBSD: compat___fhstat30.c,v 1.6 2013/10/04 21:07:37 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -32,7 +32,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat___fhstat30.c,v 1.4 2009/01/11 02:46:25 christos Exp $"); +__RCSID("$NetBSD: compat___fhstat30.c,v 1.6 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -45,11 +45,13 @@ __RCSID("$NetBSD: compat___fhstat30.c,v 1.4 2009/01/11 02:46:25 christos Exp $") __warn_references(fhstat, "warning: reference to compatibility __fhstat30(); include to generate correct reference") +__strong_alias(__fhstat30, __compat___fhstat30) + /* * Convert old fhstat() call to new calling convention */ int -__fhstat30(const struct compat_30_fhandle *fhp, struct stat30 *sb) +__compat___fhstat30(const struct compat_30_fhandle *fhp, struct stat30 *sb) { - return __fhstat40(fhp, FHANDLE30_SIZE, sb); + return __compat___fhstat40(fhp, FHANDLE30_SIZE, sb); } diff --git a/lib/libc/compat/sys/compat___lwp_park50.c b/lib/libc/compat/sys/compat___lwp_park50.c new file mode 100644 index 000000000..f637d75ab --- /dev/null +++ b/lib/libc/compat/sys/compat___lwp_park50.c @@ -0,0 +1,67 @@ +/* $NetBSD: compat___lwp_park50.c,v 1.1 2013/03/29 02:09:58 christos Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas . + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: compat___lwp_park50.c,v 1.1 2013/03/29 02:09:58 christos Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#define __LIBC12_SOURCE__ + +#include +#include +#include +#include +#include + +#ifndef notyet +#include +#include +#endif + +__warn_references(fhstat, + "warning: reference to compatibility ___lwp_park50(); include to generate correct reference") + +/* + * Convert old __lwp_park() call to new + */ +int +___lwp_park50(const struct timespec *ts, lwpid_t unpark, const void *hint, + const void *unparkhint) +{ +#ifdef notyet + return ___lwp_park60(CLOCK_REALTIME, TIMER_ABSTIME, ts, unpark, + hint, unparkhint); +#else + return syscall(SYS_compat_60__lwp_park, ts, unpark, hint, unparkhint); +#endif +} diff --git a/lib/libc/compat/sys/compat___stat13.c b/lib/libc/compat/sys/compat___stat13.c index e01e07ddf..ea02d1fe1 100644 --- a/lib/libc/compat/sys/compat___stat13.c +++ b/lib/libc/compat/sys/compat___stat13.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___stat13.c,v 1.4 2009/01/11 02:46:26 christos Exp $ */ +/* $NetBSD: compat___stat13.c,v 1.6 2013/10/04 21:07:37 christos Exp $ */ /* * Copyright (c) 1997 Frank van der Linden @@ -33,7 +33,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat___stat13.c,v 1.4 2009/01/11 02:46:26 christos Exp $"); +__RCSID("$NetBSD: compat___stat13.c,v 1.6 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -58,6 +58,10 @@ __warn_references(__lstat13, __warn_references(fhstat, "warning: reference to compatibility fhstat(); include to generate correct reference") +__strong_alias(__stat13, __compat___stat13) +__strong_alias(__fstat13, __compat___fstat13) +__strong_alias(__lstat13, __compat___lstat13) +__strong_alias(fhstat, __compat_fhstat) /* * Convert from a new to an old stat structure. @@ -92,7 +96,7 @@ cvtstat(struct stat13 *ost, const struct stat *st) } int -__stat13(const char *file, struct stat13 *ost) +__compat___stat13(const char *file, struct stat13 *ost) { struct stat nst; int ret; @@ -104,7 +108,7 @@ __stat13(const char *file, struct stat13 *ost) } int -__fstat13(int f, struct stat13 *ost) +__compat___fstat13(int f, struct stat13 *ost) { struct stat nst; int ret; @@ -116,7 +120,7 @@ __fstat13(int f, struct stat13 *ost) } int -__lstat13(const char *file, struct stat13 *ost) +__compat___lstat13(const char *file, struct stat13 *ost) { struct stat nst; int ret; @@ -128,7 +132,7 @@ __lstat13(const char *file, struct stat13 *ost) } int -fhstat(const struct compat_30_fhandle *fh, struct stat13 *ost) +__compat_fhstat(const struct compat_30_fhandle *fh, struct stat13 *ost) { struct stat nst; int ret; diff --git a/lib/libc/compat/sys/compat___stat30.c b/lib/libc/compat/sys/compat___stat30.c index ec6c8aa44..e859453a7 100644 --- a/lib/libc/compat/sys/compat___stat30.c +++ b/lib/libc/compat/sys/compat___stat30.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat___stat30.c,v 1.2 2009/01/11 02:46:26 christos Exp $ */ +/* $NetBSD: compat___stat30.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /* * Copyright (c) 1997 Frank van der Linden @@ -33,7 +33,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat___stat30.c,v 1.2 2009/01/11 02:46:26 christos Exp $"); +__RCSID("$NetBSD: compat___stat30.c,v 1.4 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -59,6 +59,11 @@ __warn_references(__fhstat40, "warning: reference to compatibility __fhstat40(); include to generate correct reference") +__strong_alias(__stat30, __compat___stat30) +__strong_alias(__fstat30, __compat___fstat30) +__strong_alias(__lstat30, __compat___lstat30) +__strong_alias(__fhstat40, __compat___fhstat40) + /* * Convert from a new to an old stat structure. */ @@ -88,7 +93,7 @@ cvtstat(struct stat30 *ost, const struct stat *st) } int -__stat30(const char *file, struct stat30 *ost) +__compat___stat30(const char *file, struct stat30 *ost) { struct stat nst; int ret; @@ -100,7 +105,7 @@ __stat30(const char *file, struct stat30 *ost) } int -__fstat30(int f, struct stat30 *ost) +__compat___fstat30(int f, struct stat30 *ost) { struct stat nst; int ret; @@ -112,7 +117,7 @@ __fstat30(int f, struct stat30 *ost) } int -__lstat30(const char *file, struct stat30 *ost) +__compat___lstat30(const char *file, struct stat30 *ost) { struct stat nst; int ret; @@ -124,7 +129,7 @@ __lstat30(const char *file, struct stat30 *ost) } int -__fhstat40(const void *fh, size_t fh_size, struct stat30 *ost) +__compat___fhstat40(const void *fh, size_t fh_size, struct stat30 *ost) { struct stat nst; int ret; diff --git a/lib/libc/compat/sys/compat_getrusage.c b/lib/libc/compat/sys/compat_getrusage.c index a00f0ff13..314ab5a3a 100644 --- a/lib/libc/compat/sys/compat_getrusage.c +++ b/lib/libc/compat/sys/compat_getrusage.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_getrusage.c,v 1.2 2009/01/11 02:46:26 christos Exp $ */ +/* $NetBSD: compat_getrusage.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_getrusage.c,v 1.2 2009/01/11 02:46:26 christos Exp $"); +__RCSID("$NetBSD: compat_getrusage.c,v 1.4 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -45,6 +45,8 @@ __RCSID("$NetBSD: compat_getrusage.c,v 1.2 2009/01/11 02:46:26 christos Exp $"); __warn_references(getrusage, "warning: reference to compatibility getrusage(); include to generate correct reference") +__strong_alias(getrusage, __compat_getrusage) + void __rusage_to_rusage50(const struct rusage *, struct rusage50 *); void @@ -62,7 +64,7 @@ __rusage_to_rusage50(const struct rusage *ru, struct rusage50 *ru50) * libc12 compatible getrusage routine. */ int -getrusage(int who, struct rusage50 *ru50) +__compat_getrusage(int who, struct rusage50 *ru50) { struct rusage ru; int rv; diff --git a/lib/libc/compat/sys/compat_gettimeofday.c b/lib/libc/compat/sys/compat_gettimeofday.c index 694cfbd2b..838ffdf78 100644 --- a/lib/libc/compat/sys/compat_gettimeofday.c +++ b/lib/libc/compat/sys/compat_gettimeofday.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_gettimeofday.c,v 1.2 2009/01/11 02:46:26 christos Exp $ */ +/* $NetBSD: compat_gettimeofday.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_gettimeofday.c,v 1.2 2009/01/11 02:46:26 christos Exp $"); +__RCSID("$NetBSD: compat_gettimeofday.c,v 1.4 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -44,11 +44,13 @@ __RCSID("$NetBSD: compat_gettimeofday.c,v 1.2 2009/01/11 02:46:26 christos Exp $ __warn_references(gettimeofday, "warning: reference to compatibility gettimeofday(); include to generate correct reference") +__strong_alias(gettimeofday, __compat_gettimeofday) + /* * libc12 compatible gettimeofday routine. */ int -gettimeofday(struct timeval50 *tv50, void *tzp) +__compat_gettimeofday(struct timeval50 *tv50, void *tzp) { struct timeval tv; int rv; diff --git a/lib/libc/compat/sys/compat_mknod.c b/lib/libc/compat/sys/compat_mknod.c index eea52f496..dc354555e 100644 --- a/lib/libc/compat/sys/compat_mknod.c +++ b/lib/libc/compat/sys/compat_mknod.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_mknod.c,v 1.2 2009/01/11 02:46:26 christos Exp $ */ +/* $NetBSD: compat_mknod.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_mknod.c,v 1.2 2009/01/11 02:46:26 christos Exp $"); +__RCSID("$NetBSD: compat_mknod.c,v 1.4 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -50,8 +50,10 @@ __RCSID("$NetBSD: compat_mknod.c,v 1.2 2009/01/11 02:46:26 christos Exp $"); __warn_references(mknod, "warning: reference to compatibility mknod(); include to generate correct reference") +__strong_alias(mknod, __compat_mknod) + int -mknod(const char *path, mode_t mode, uint32_t dev) +__compat_mknod(const char *path, mode_t mode, uint32_t dev) { return __mknod50(path, mode, dev); } diff --git a/lib/libc/compat/sys/compat_stat.c b/lib/libc/compat/sys/compat_stat.c index 9425edb6c..d9cb4c50f 100644 --- a/lib/libc/compat/sys/compat_stat.c +++ b/lib/libc/compat/sys/compat_stat.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_stat.c,v 1.2 2009/01/11 02:46:27 christos Exp $ */ +/* $NetBSD: compat_stat.c,v 1.4 2013/10/04 21:07:37 christos Exp $ */ /* * Copyright (c) 1997 Frank van der Linden @@ -33,7 +33,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_stat.c,v 1.2 2009/01/11 02:46:27 christos Exp $"); +__RCSID("$NetBSD: compat_stat.c,v 1.4 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -58,6 +58,10 @@ __warn_references(lstat, static void cvtstat(const struct stat *, struct stat12 *); +__strong_alias(stat, __compat_stat) +__strong_alias(lstat, __compat_lstat) +__strong_alias(fstat, __compat_fstat) + static void cvtstat(const struct stat *st, struct stat12 *ost) { @@ -86,7 +90,7 @@ cvtstat(const struct stat *st, struct stat12 *ost) } int -stat(const char *file, struct stat12 *ost) +__compat_stat(const char *file, struct stat12 *ost) { struct stat nst; int ret; @@ -98,7 +102,7 @@ stat(const char *file, struct stat12 *ost) } int -fstat(int f, struct stat12 *ost) +__compat_fstat(int f, struct stat12 *ost) { struct stat nst; int ret; @@ -110,7 +114,7 @@ fstat(int f, struct stat12 *ost) } int -lstat(const char *file, struct stat12 *ost) +__compat_lstat(const char *file, struct stat12 *ost) { struct stat nst; int ret; diff --git a/lib/libc/compat/sys/compat_statfs.c b/lib/libc/compat/sys/compat_statfs.c index 1dfc6b541..ca18276e5 100644 --- a/lib/libc/compat/sys/compat_statfs.c +++ b/lib/libc/compat/sys/compat_statfs.c @@ -1,4 +1,4 @@ -/* $NetBSD: compat_statfs.c,v 1.5 2009/02/03 05:04:52 lukem Exp $ */ +/* $NetBSD: compat_statfs.c,v 1.7 2013/10/04 21:07:37 christos Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_statfs.c,v 1.5 2009/02/03 05:04:52 lukem Exp $"); +__RCSID("$NetBSD: compat_statfs.c,v 1.7 2013/10/04 21:07:37 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -57,6 +57,11 @@ __warn_references(fhstatfs, __warn_references(getfsstat, "warning: reference to obsolete getfsstat(); use getvfsstat()") +__strong_alias(statfs, __compat_statfs) +__strong_alias(fstatfs, __compat_fstatfs) +__strong_alias(fhstatfs, __compat_fhstatfs) +__strong_alias(getfsstat, __compat_getfsstat) + /* * Convert from a new statvfs to an old statfs structure. */ @@ -125,7 +130,7 @@ vfs2fs(struct statfs12 *bfs, const struct statvfs *fs) } int -statfs(const char *file, struct statfs12 *ost) +__compat_statfs(const char *file, struct statfs12 *ost) { struct statvfs nst; int ret; @@ -137,7 +142,7 @@ statfs(const char *file, struct statfs12 *ost) } int -fstatfs(int f, struct statfs12 *ost) +__compat_fstatfs(int f, struct statfs12 *ost) { struct statvfs nst; int ret; @@ -152,7 +157,7 @@ int __fhstatvfs140(const void *fhp, size_t fh_size, struct statvfs *buf, int flags); int -fhstatfs(const struct compat_30_fhandle *fh, struct statfs12 *ost) +__compat_fhstatfs(const struct compat_30_fhandle *fh, struct statfs12 *ost) { struct statvfs nst; int ret; @@ -164,7 +169,7 @@ fhstatfs(const struct compat_30_fhandle *fh, struct statfs12 *ost) } int -getfsstat(struct statfs12 *ost, long size, int flags) +__compat_getfsstat(struct statfs12 *ost, long size, int flags) { struct statvfs *nst; int ret, i; diff --git a/lib/libc/compiler_rt/Makefile.inc b/lib/libc/compiler_rt/Makefile.inc new file mode 100644 index 000000000..20063e2ec --- /dev/null +++ b/lib/libc/compiler_rt/Makefile.inc @@ -0,0 +1,166 @@ +# $NetBSD: Makefile.inc,v 1.1 2013/07/04 22:14:43 joerg Exp $ + +COMPILER_RT_SRCDIR= ${NETBSDSRCDIR}/sys/external/bsd/compiler_rt/dist + +.if ${MACHINE_ARCH} == "powerpc" +COMPILER_RT_CPU_DIR= ${COMPILER_RT_SRCDIR}/lib/ppc +COMPILER_RT_ARCH_DIR= ${COMPILER_RT_SRCDIR}/lib/ppc +.else +COMPILER_RT_CPU_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_CPU} +COMPILER_RT_ARCH_DIR= ${COMPILER_RT_SRCDIR}/lib/${MACHINE_ARCH} +.endif + + +.PATH: ${COMPILER_RT_CPU_DIR} +.PATH: ${COMPILER_RT_ARCH_DIR} +.PATH: ${COMPILER_RT_SRCDIR}/lib + +# Complex support needs parts of libm +#GENERIC_SRCS+= +# mulxc3.c \ +# mulsc3.c \ +# divxc3.c \ +# divdc3.c \ +# divsc3.c + +GENERIC_SRCS+= \ + absvdi2.c \ + absvsi2.c \ + absvti2.c \ + adddf3.c \ + addsf3.c \ + addvdi3.c \ + addvsi3.c \ + addvti3.c \ + ashldi3.c \ + ashlti3.c \ + ashrdi3.c \ + ashrti3.c \ + atomic.c \ + clzdi2.c \ + clzsi2.c \ + clzti2.c \ + cmpdi2.c \ + cmpti2.c \ + comparedf2.c \ + comparesf2.c \ + ctzdi2.c \ + ctzsi2.c \ + ctzti2.c \ + divdf3.c \ + divdi3.c \ + divmoddi4.c \ + divmodsi4.c \ + divsf3.c \ + divsi3.c \ + divti3.c \ + extendsfdf2.c \ + ffsdi2.c \ + ffsti2.c \ + fixdfdi.c \ + fixdfsi.c \ + fixdfti.c \ + fixsfdi.c \ + fixsfsi.c \ + fixsfti.c \ + fixunsdfdi.c \ + fixunsdfsi.c \ + fixunsdfti.c \ + fixunssfdi.c \ + fixunssfsi.c \ + fixunssfti.c \ + fixunsxfdi.c \ + fixunsxfsi.c \ + fixunsxfti.c \ + fixxfdi.c \ + fixxfti.c \ + floatdidf.c \ + floatdisf.c \ + floatdixf.c \ + floatsidf.c \ + floatsisf.c \ + floattidf.c \ + floattisf.c \ + floattixf.c \ + floatundidf.c \ + floatundisf.c \ + floatundixf.c \ + floatunsidf.c \ + floatunsisf.c \ + floatuntidf.c \ + floatuntisf.c \ + floatuntixf.c \ + gcc_personality_v0.c \ + int_util.c \ + lshrdi3.c \ + lshrti3.c \ + moddi3.c \ + modsi3.c \ + modti3.c \ + muldc3.c \ + muldf3.c \ + muldi3.c \ + mulodi4.c \ + mulosi4.c \ + muloti4.c \ + mulsf3.c \ + multi3.c \ + mulvdi3.c \ + mulvsi3.c \ + mulvti3.c \ + negdf2.c \ + negdi2.c \ + negsf2.c \ + negti2.c \ + negvdi2.c \ + negvsi2.c \ + negvti2.c \ + paritydi2.c \ + paritysi2.c \ + parityti2.c \ + popcountdi2.c \ + popcountsi2.c \ + popcountti2.c \ + powidf2.c \ + powisf2.c \ + powitf2.c \ + powixf2.c \ + subdf3.c \ + subsf3.c \ + subvdi3.c \ + subvsi3.c \ + subvti3.c \ + truncdfsf2.c \ + ucmpdi2.c \ + ucmpti2.c \ + udivdi3.c \ + udivmoddi4.c \ + udivmodsi4.c \ + udivmodti4.c \ + udivsi3.c \ + udivti3.c \ + umoddi3.c \ + umodsi3.c \ + umodti3.c + +.if ${MACHINE_ARCH} == "powerpc" +GENERIC_SRCS+= \ + fixtfdi.c \ + fixunstfdi.c \ + floatditf.c \ + floatunditf.c \ + gcc_qadd.c \ + gcc_qdiv.c \ + gcc_qmul.c \ + gcc_qsub.c +.endif + +.for src in ${GENERIC_SRCS} +. if exists(${COMPILER_RT_CPU_DIR}/${src:R}.S) || \ + exists(${COMPILER_RT_ARCH_DIR}/${src:R}.S) +SRCS+= ${src:R}.S +. else +SRCS+= ${src} +COPTS.${src}+= -Wno-error=missing-prototypes +. endif +.endfor diff --git a/lib/libc/db/btree/bt_open.c b/lib/libc/db/btree/bt_open.c index c028258c2..53717afc2 100644 --- a/lib/libc/db/btree/bt_open.c +++ b/lib/libc/db/btree/bt_open.c @@ -1,4 +1,4 @@ -/* $NetBSD: bt_open.c,v 1.26 2012/03/13 21:13:32 christos Exp $ */ +/* $NetBSD: bt_open.c,v 1.27 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: bt_open.c,v 1.26 2012/03/13 21:13:32 christos Exp $"); +__RCSID("$NetBSD: bt_open.c,v 1.27 2013/12/01 00:22:48 christos Exp $"); /* * Implementation of btree access method for 4.4BSD. @@ -71,7 +71,6 @@ __RCSID("$NetBSD: bt_open.c,v 1.26 2012/03/13 21:13:32 christos Exp $"); static int byteorder(void); static int nroot(BTREE *); -static int tmp(void); /* * __BT_OPEN -- Open a btree. @@ -161,7 +160,7 @@ __bt_open(const char *fname, int flags, mode_t mode, const BTREEINFO *openinfo, goto einval; /* Allocate and initialize DB and BTREE structures. */ - if ((t = (BTREE *)malloc(sizeof(BTREE))) == NULL) + if ((t = malloc(sizeof(*t))) == NULL) goto err; memset(t, 0, sizeof(BTREE)); t->bt_fd = -1; /* Don't close unopened fd on error. */ @@ -171,7 +170,7 @@ __bt_open(const char *fname, int flags, mode_t mode, const BTREEINFO *openinfo, t->bt_pfx = b.prefix; t->bt_rfd = -1; - if ((t->bt_dbp = dbp = (DB *)malloc(sizeof(DB))) == NULL) + if ((t->bt_dbp = dbp = malloc(sizeof(*dbp))) == NULL) goto err; memset(t->bt_dbp, 0, sizeof(DB)); if (t->bt_lorder != machine_lorder) @@ -202,24 +201,17 @@ __bt_open(const char *fname, int flags, mode_t mode, const BTREEINFO *openinfo, default: goto einval; } - - if ((t->bt_fd = open(fname, flags, mode)) == -1) - goto err; - if (fcntl(t->bt_fd, F_SETFD, FD_CLOEXEC) == -1) + if ((t->bt_fd = __dbopen(fname, flags, mode, &sb)) == -1) goto err; } else { if ((flags & O_ACCMODE) != O_RDWR) goto einval; - if ((t->bt_fd = tmp()) == -1) + if ((t->bt_fd = __dbtemp("bt.", &sb)) == -1) goto err; F_SET(t, B_INMEM); } - if (fcntl(t->bt_fd, F_SETFD, FD_CLOEXEC) == -1) - goto err; - if (fstat(t->bt_fd, &sb)) - goto err; if (sb.st_size) { if ((nr = read(t->bt_fd, &m, sizeof(BTMETA))) < 0) goto err; @@ -389,37 +381,6 @@ nroot(BTREE *t) return (RET_SUCCESS); } -static int -tmp(void) -{ - sigset_t set, oset; - int len; - int fd; - char *envtmp; - char path[PATH_MAX]; - - if (issetugid()) - envtmp = NULL; - else - envtmp = getenv("TMPDIR"); - - len = snprintf(path, - sizeof(path), "%s/bt.XXXXXX", envtmp ? envtmp : _PATH_TMP); - if (len < 0 || (size_t)len >= sizeof(path)) { - errno = ENAMETOOLONG; - return -1; - } - - (void)sigfillset(&set); - (void)sigprocmask(SIG_BLOCK, &set, &oset); - if ((fd = mkstemp(path)) != -1) { - (void)unlink(path); - (void)fcntl(fd, F_SETFD, FD_CLOEXEC); - } - (void)sigprocmask(SIG_SETMASK, &oset, NULL); - return(fd); -} - static int byteorder(void) { diff --git a/lib/libc/db/btree/bt_overflow.c b/lib/libc/db/btree/bt_overflow.c index 54f2e82f3..31d896b93 100644 --- a/lib/libc/db/btree/bt_overflow.c +++ b/lib/libc/db/btree/bt_overflow.c @@ -1,4 +1,4 @@ -/* $NetBSD: bt_overflow.c,v 1.18 2012/03/13 21:13:32 christos Exp $ */ +/* $NetBSD: bt_overflow.c,v 1.19 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: bt_overflow.c,v 1.18 2012/03/13 21:13:32 christos Exp $"); +__RCSID("$NetBSD: bt_overflow.c,v 1.19 2013/12/01 00:22:48 christos Exp $"); #include "namespace.h" #include @@ -97,7 +97,7 @@ __ovfl_get(BTREE *t, void *p, size_t *ssz, void **buf, size_t *bufsz) #endif /* Make the buffer bigger as necessary. */ if (*bufsz < sz) { - *buf = (*buf == NULL ? malloc(sz) : realloc(*buf, sz)); + *buf = *buf == NULL ? malloc(sz) : realloc(*buf, sz); if (*buf == NULL) return (RET_ERROR); *bufsz = sz; diff --git a/lib/libc/db/btree/bt_seq.c b/lib/libc/db/btree/bt_seq.c index 58f25a065..3f5b4cfa2 100644 --- a/lib/libc/db/btree/bt_seq.c +++ b/lib/libc/db/btree/bt_seq.c @@ -1,4 +1,4 @@ -/* $NetBSD: bt_seq.c,v 1.17 2008/09/11 12:58:00 joerg Exp $ */ +/* $NetBSD: bt_seq.c,v 1.18 2013/09/04 13:03:22 ryoon Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: bt_seq.c,v 1.17 2008/09/11 12:58:00 joerg Exp $"); +__RCSID("$NetBSD: bt_seq.c,v 1.18 2013/09/04 13:03:22 ryoon Exp $"); #include "namespace.h" #include @@ -92,7 +92,7 @@ __bt_seq(const DB *dbp, DBT *key, DBT *data, u_int flags) } /* - * If scan unitialized as yet, or starting at a specific record, set + * If scan uninitialized as yet, or starting at a specific record, set * the scan to a specific key. Both __bt_seqset and __bt_seqadv pin * the page the cursor references if they're successful. */ diff --git a/lib/libc/db/btree/bt_utils.c b/lib/libc/db/btree/bt_utils.c index db0d058e1..4b6afda56 100644 --- a/lib/libc/db/btree/bt_utils.c +++ b/lib/libc/db/btree/bt_utils.c @@ -1,4 +1,4 @@ -/* $NetBSD: bt_utils.c,v 1.13 2008/09/10 17:52:35 joerg Exp $ */ +/* $NetBSD: bt_utils.c,v 1.15 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: bt_utils.c,v 1.13 2008/09/10 17:52:35 joerg Exp $"); +__RCSID("$NetBSD: bt_utils.c,v 1.15 2013/12/01 00:22:48 christos Exp $"); #include @@ -74,7 +74,7 @@ __bt_ret(BTREE *t, EPG *e, DBT *key, DBT *rkey, DBT *data, DBT *rdata, int copy) bl = GETBLEAF(e->page, e->index); /* - * We must copy big keys/data to make them contigous. Otherwise, + * We must copy big keys/data to make them contiguous. Otherwise, * leave the page pinned and don't copy unless the user specified * concurrent access. */ @@ -88,8 +88,8 @@ __bt_ret(BTREE *t, EPG *e, DBT *key, DBT *rkey, DBT *data, DBT *rdata, int copy) key->data = rkey->data; } else if (copy || F_ISSET(t, B_DB_LOCK)) { if (bl->ksize > rkey->size) { - p = (void *)(rkey->data == NULL ? - malloc(bl->ksize) : realloc(rkey->data, bl->ksize)); + p = rkey->data == NULL ? + malloc(bl->ksize) : realloc(rkey->data, bl->ksize); if (p == NULL) return (RET_ERROR); rkey->data = p; @@ -115,9 +115,9 @@ dataonly: } else if (copy || F_ISSET(t, B_DB_LOCK)) { /* Use +1 in case the first record retrieved is 0 length. */ if (bl->dsize + 1 > rdata->size) { - p = (void *)(rdata->data == NULL ? + p = rdata->data == NULL ? malloc(bl->dsize + 1) : - realloc(rdata->data, bl->dsize + 1)); + realloc(rdata->data, bl->dsize + 1); if (p == NULL) return (RET_ERROR); rdata->data = p; diff --git a/lib/libc/db/btree/btree.h b/lib/libc/db/btree/btree.h index b28f082ff..9bd0faa43 100644 --- a/lib/libc/db/btree/btree.h +++ b/lib/libc/db/btree/btree.h @@ -1,4 +1,4 @@ -/* $NetBSD: btree.h,v 1.16 2008/08/26 21:18:38 joerg Exp $ */ +/* $NetBSD: btree.h,v 1.17 2013/09/04 13:03:22 ryoon Exp $ */ /*- * Copyright (c) 1991, 1993, 1994 @@ -185,7 +185,7 @@ typedef struct _rinternal { #define NRINTERNAL \ BTLALIGN(sizeof(recno_t) + sizeof(pgno_t)) -/* Copy a RINTERAL entry to the page. */ +/* Copy a RINTERNAL entry to the page. */ #define WR_RINTERNAL(p, nrecs, pgno) do { \ *(recno_t *)(void *)p = nrecs; \ p += sizeof(recno_t); \ diff --git a/lib/libc/db/db/Makefile.inc b/lib/libc/db/db/Makefile.inc index 9755e8f20..ffe98558f 100644 --- a/lib/libc/db/db/Makefile.inc +++ b/lib/libc/db/db/Makefile.inc @@ -1,6 +1,6 @@ -# $NetBSD: Makefile.inc,v 1.4 1995/02/27 13:21:22 cgd Exp $ +# $NetBSD: Makefile.inc,v 1.5 2013/12/01 00:22:48 christos Exp $ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 .PATH: ${.CURDIR}/db/db -SRCS+= db.c +SRCS+= db.c dbfile.c diff --git a/lib/libc/db/db/db.c b/lib/libc/db/db/db.c index fb3155e63..05ce0c650 100644 --- a/lib/libc/db/db/db.c +++ b/lib/libc/db/db/db.c @@ -57,15 +57,15 @@ dbopen(const char *fname, int flags, mode_t mode, DBTYPE type, { #define DB_FLAGS (DB_LOCK | DB_SHMEM | DB_TXN) -#ifdef __minix +#if defined(__minix) #define USE_OPEN_FLAGS \ (O_CREAT | O_EXCL | O_NONBLOCK | O_RDONLY | \ O_RDWR | O_TRUNC) -#else /* !__minix */ +#else #define USE_OPEN_FLAGS \ (O_CREAT | O_EXCL | O_EXLOCK | O_NONBLOCK | O_RDONLY | \ O_RDWR | O_SHLOCK | O_TRUNC) -#endif /* __minix */ +#endif /* defined(__minix) */ if ((flags & ~(USE_OPEN_FLAGS | DB_FLAGS)) == 0) switch (type) { diff --git a/lib/libc/db/db/dbfile.c b/lib/libc/db/db/dbfile.c new file mode 100644 index 000000000..2179109a7 --- /dev/null +++ b/lib/libc/db/db/dbfile.c @@ -0,0 +1,118 @@ +/* $NetBSD: dbfile.c,v 1.1 2013/12/01 00:22:48 christos Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, 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: + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#if HAVE_NBTOOL_CONFIG_H +#include "nbtool_config.h" +#endif + +#include +__RCSID("$NetBSD: dbfile.c,v 1.1 2013/12/01 00:22:48 christos Exp $"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int +__dbopen(const char *file, int flags, mode_t mode, struct stat *sb) +{ + int fd; + int serrno; + +#ifndef O_CLOEXEC +#define O_CLOEXEC 0 +#endif + + if ((fd = open(file, flags | O_CLOEXEC, mode)) == -1) + return -1; + +#if O_CLOEXEC == 0 + if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) + goto out; +#endif + + if (sb && fstat(fd, sb) == -1) + goto out; + + return fd; +out: + serrno = errno; + close(fd); + errno = serrno; + return -1; + +} + +int +__dbtemp(const char *prefix, struct stat *sb) +{ + sigset_t set, oset; + int len; + int fd, serrno; + char *envtmp; + char path[PATH_MAX]; + + if (issetugid()) + envtmp = NULL; + else + envtmp = getenv("TMPDIR"); + + len = snprintf(path, sizeof(path), "%s/%sXXXXXX", + envtmp ? envtmp : _PATH_TMP, prefix); + if ((size_t)len >= sizeof(path)) { + errno = ENAMETOOLONG; + return -1; + } + + (void)sigfillset(&set); + (void)sigprocmask(SIG_BLOCK, &set, &oset); + + if ((fd = mkstemp(path)) != -1) { + if (unlink(path) == -1) + goto out; + + if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1) + goto out; + + if (sb && fstat(fd, sb) == -1) + goto out; + } + (void)sigprocmask(SIG_SETMASK, &oset, NULL); + return fd; +out: + serrno = errno; + (void)sigprocmask(SIG_SETMASK, &oset, NULL); + close(fd); + errno = serrno; + return -1; +} diff --git a/lib/libc/db/hash/hash.c b/lib/libc/db/hash/hash.c index ef3237a51..a52506dfc 100644 --- a/lib/libc/db/hash/hash.c +++ b/lib/libc/db/hash/hash.c @@ -1,4 +1,4 @@ -/* $NetBSD: hash.c,v 1.32 2012/03/13 21:13:32 christos Exp $ */ +/* $NetBSD: hash.c,v 1.33 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: hash.c,v 1.32 2012/03/13 21:13:32 christos Exp $"); +__RCSID("$NetBSD: hash.c,v 1.33 2013/12/01 00:22:48 christos Exp $"); #include "namespace.h" #include @@ -128,12 +128,8 @@ __hash_open(const char *file, int flags, mode_t mode, const HASHINFO *info, new_table = 1; } if (file) { - if ((hashp->fp = open(file, flags, mode)) == -1) + if ((hashp->fp = __dbopen(file, flags, mode, &statbuf)) == -1) RETURN_ERROR(errno, error0); - if (fcntl(hashp->fp, F_SETFD, FD_CLOEXEC) == -1) - RETURN_ERROR(errno, error1); - if (fstat(hashp->fp, &statbuf) == -1) - RETURN_ERROR(errno, error1); new_table |= statbuf.st_size == 0; } if (new_table) { @@ -196,7 +192,7 @@ __hash_open(const char *file, int flags, mode_t mode, const HASHINFO *info, hashp->new_file = new_table; hashp->save_file = file && (hashp->flags & O_RDWR); hashp->cbucket = -1; - if (!(dbp = malloc(sizeof(DB)))) { + if (!(dbp = malloc(sizeof(*dbp)))) { save_errno = errno; hdestroy(hashp); errno = save_errno; diff --git a/lib/libc/db/hash/hash_page.c b/lib/libc/db/hash/hash_page.c index 65ca97834..5ca355ee8 100644 --- a/lib/libc/db/hash/hash_page.c +++ b/lib/libc/db/hash/hash_page.c @@ -1,4 +1,4 @@ -/* $NetBSD: hash_page.c,v 1.25 2012/03/13 21:13:33 christos Exp $ */ +/* $NetBSD: hash_page.c,v 1.26 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: hash_page.c,v 1.25 2012/03/13 21:13:33 christos Exp $"); +__RCSID("$NetBSD: hash_page.c,v 1.26 2013/12/01 00:22:48 christos Exp $"); /* * PACKAGE: hashing @@ -52,7 +52,6 @@ __RCSID("$NetBSD: hash_page.c,v 1.25 2012/03/13 21:13:33 christos Exp $"); * __add_ovflpage * Internal * overflow_page - * open_temp */ #include "namespace.h" @@ -76,7 +75,6 @@ __RCSID("$NetBSD: hash_page.c,v 1.25 2012/03/13 21:13:33 christos Exp $"); static uint32_t *fetch_bitmap(HTAB *, int); static uint32_t first_free(uint32_t); -static int open_temp(HTAB *); static uint16_t overflow_page(HTAB *); static void putpair(char *, const DBT *, const DBT *); static void squeeze_key(uint16_t *, const DBT *, const DBT *); @@ -597,7 +595,7 @@ __put_page(HTAB *hashp, char *p, uint32_t bucket, int is_bucket, int is_bitmap) ssize_t wsize; size = hashp->BSIZE; - if ((hashp->fp == -1) && open_temp(hashp)) + if ((hashp->fp == -1) && (hashp->fp = __dbtemp("_hash", NULL)) == -1) return (-1); fd = hashp->fp; @@ -858,42 +856,6 @@ __free_ovflpage(HTAB *hashp, BUFHEAD *obufp) __reclaim_buf(hashp, obufp); } -/* - * Returns: - * 0 success - * -1 failure - */ -static int -open_temp(HTAB *hashp) -{ - sigset_t set, oset; - char *envtmp; - char namestr[PATH_MAX]; - int len; - - if (issetugid()) - envtmp = NULL; - else - envtmp = getenv("TMPDIR"); - - len = snprintf(namestr, sizeof(namestr), "%s/_hashXXXXXX", - envtmp ? envtmp : _PATH_TMP); - if (len < 0 || (size_t)len >= sizeof(namestr)) { - errno = ENAMETOOLONG; - return -1; - } - - /* Block signals; make sure file goes away at process exit. */ - (void)sigfillset(&set); - (void)sigprocmask(SIG_BLOCK, &set, &oset); - if ((hashp->fp = mkstemp(namestr)) != -1) { - (void)unlink(namestr); - (void)fcntl(hashp->fp, F_SETFD, FD_CLOEXEC); - } - (void)sigprocmask(SIG_SETMASK, &oset, (sigset_t *)NULL); - return (hashp->fp != -1 ? 0 : -1); -} - /* * We have to know that the key will fit, but the last entry on the page is * an overflow pair, so we need to shift things. diff --git a/lib/libc/db/hash/ndbmdatum.c b/lib/libc/db/hash/ndbmdatum.c index 561e28793..707140977 100644 --- a/lib/libc/db/hash/ndbmdatum.c +++ b/lib/libc/db/hash/ndbmdatum.c @@ -159,11 +159,3 @@ dbm_store(DBM *db, datum key, datum data, int flags) return ((db->put)(db, &dbtkey, &dbtdata, (u_int)((flags == DBM_INSERT) ? R_NOOVERWRITE : 0))); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(dbm_delete, __dbm_delete13) -__weak_alias(dbm_fetch, __dbm_fetch13) -__weak_alias(dbm_firstkey, __dbm_firstkey13) -__weak_alias(dbm_nextkey, __dbm_nextkey13) -__weak_alias(dbm_store, __dbm_store13) -#endif diff --git a/lib/libc/db/mpool/mpool.c b/lib/libc/db/mpool/mpool.c index a9ce4a0cf..6e508dbbb 100644 --- a/lib/libc/db/mpool/mpool.c +++ b/lib/libc/db/mpool/mpool.c @@ -1,4 +1,4 @@ -/* $NetBSD: mpool.c,v 1.19 2009/04/22 18:44:06 christos Exp $ */ +/* $NetBSD: mpool.c,v 1.20 2013/11/22 16:25:51 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -34,7 +34,7 @@ #endif #include -__RCSID("$NetBSD: mpool.c,v 1.19 2009/04/22 18:44:06 christos Exp $"); +__RCSID("$NetBSD: mpool.c,v 1.20 2013/11/22 16:25:51 christos Exp $"); #include "namespace.h" #include @@ -93,9 +93,9 @@ mpool_open(void *key, int fd, pgno_t pagesize, pgno_t maxcache) /* Allocate and initialize the MPOOL cookie. */ if ((mp = (MPOOL *)calloc(1, sizeof(MPOOL))) == NULL) return (NULL); - CIRCLEQ_INIT(&mp->lqh); + TAILQ_INIT(&mp->lqh); for (entry = 0; entry < HASHSIZE; ++entry) - CIRCLEQ_INIT(&mp->hqh[entry]); + TAILQ_INIT(&mp->hqh[entry]); mp->maxcache = maxcache; mp->npages = (pgno_t)(sb.st_size / pagesize); mp->pagesize = pagesize; @@ -144,8 +144,8 @@ mpool_new( MPOOL *mp, pgno_t *pgnoaddr) bp->flags = MPOOL_PINNED; head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_INSERT_HEAD(head, bp, hq); - CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q); + TAILQ_INSERT_HEAD(head, bp, hq); + TAILQ_INSERT_TAIL(&mp->lqh, bp, q); return (bp->page); } @@ -186,10 +186,10 @@ mpool_get(MPOOL *mp, pgno_t pgno, u_int flags) * of the lru chain. */ head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_REMOVE(head, bp, hq); - CIRCLEQ_INSERT_HEAD(head, bp, hq); - CIRCLEQ_REMOVE(&mp->lqh, bp, q); - CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q); + TAILQ_REMOVE(head, bp, hq); + TAILQ_INSERT_HEAD(head, bp, hq); + TAILQ_REMOVE(&mp->lqh, bp, q); + TAILQ_INSERT_TAIL(&mp->lqh, bp, q); /* Return a pinned page. */ bp->flags |= MPOOL_PINNED; @@ -220,8 +220,8 @@ mpool_get(MPOOL *mp, pgno_t pgno, u_int flags) * of the lru chain. */ head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_INSERT_HEAD(head, bp, hq); - CIRCLEQ_INSERT_TAIL(&mp->lqh, bp, q); + TAILQ_INSERT_HEAD(head, bp, hq); + TAILQ_INSERT_TAIL(&mp->lqh, bp, q); /* Run through the user's filter. */ if (mp->pgin != NULL) @@ -266,8 +266,9 @@ mpool_close(MPOOL *mp) BKT *bp; /* Free up any space allocated to the lru pages. */ - while ((bp = mp->lqh.cqh_first) != (void *)&mp->lqh) { - CIRCLEQ_REMOVE(&mp->lqh, mp->lqh.cqh_first, q); + while (!TAILQ_EMPTY(&mp->lqh)) { + bp = TAILQ_FIRST(&mp->lqh); + TAILQ_REMOVE(&mp->lqh, bp, q); free(bp); } @@ -286,8 +287,7 @@ mpool_sync(MPOOL *mp) BKT *bp; /* Walk the lru chain, flushing any dirty pages to disk. */ - for (bp = mp->lqh.cqh_first; - bp != (void *)&mp->lqh; bp = bp->q.cqe_next) + TAILQ_FOREACH(bp, &mp->lqh, q) if (bp->flags & MPOOL_DIRTY && mpool_write(mp, bp) == RET_ERROR) return (RET_ERROR); @@ -316,8 +316,7 @@ mpool_bkt(MPOOL *mp) * off any lists. If we don't find anything we grow the cache anyway. * The cache never shrinks. */ - for (bp = mp->lqh.cqh_first; - bp != (void *)&mp->lqh; bp = bp->q.cqe_next) + TAILQ_FOREACH(bp, &mp->lqh, q) if (!(bp->flags & MPOOL_PINNED)) { /* Flush if dirty. */ if (bp->flags & MPOOL_DIRTY && @@ -328,8 +327,8 @@ mpool_bkt(MPOOL *mp) #endif /* Remove from the hash and lru queues. */ head = &mp->hqh[HASHKEY(bp->pgno)]; - CIRCLEQ_REMOVE(head, bp, hq); - CIRCLEQ_REMOVE(&mp->lqh, bp, q); + TAILQ_REMOVE(head, bp, hq); + TAILQ_REMOVE(&mp->lqh, bp, q); #ifdef DEBUG { void *spage = bp->page; @@ -399,7 +398,7 @@ mpool_look(MPOOL *mp, pgno_t pgno) BKT *bp; head = &mp->hqh[HASHKEY(pgno)]; - for (bp = head->cqh_first; bp != (void *)head; bp = bp->hq.cqe_next) + TAILQ_FOREACH(bp, head, hq) if (bp->pgno == pgno) { #ifdef STATISTICS ++mp->cachehit; @@ -443,8 +442,7 @@ mpool_stat(mp) sep = ""; cnt = 0; - for (bp = mp->lqh.cqh_first; - bp != (void *)&mp->lqh; bp = bp->q.cqe_next) { + TAILQ_FOREACH(bp, &mp->lqh, q) { (void)fprintf(stderr, "%s%d", sep, bp->pgno); if (bp->flags & MPOOL_DIRTY) (void)fprintf(stderr, "d"); diff --git a/lib/libc/db/recno/rec_close.c b/lib/libc/db/recno/rec_close.c index 7fb563286..aa3104416 100644 --- a/lib/libc/db/recno/rec_close.c +++ b/lib/libc/db/recno/rec_close.c @@ -78,12 +78,8 @@ __rec_close(DB *dbp) /* Committed to closing. */ status = RET_SUCCESS; -#ifndef __minix if (F_ISSET(t, R_MEMMAPPED) && munmap(t->bt_smap, t->bt_msize)) status = RET_ERROR; -#else - assert(!F_ISSET(t, R_MEMMAPPED)); -#endif if (!F_ISSET(t, R_INMEM)) { if (F_ISSET(t, R_CLOSEFP)) { diff --git a/lib/libc/db/recno/rec_open.c b/lib/libc/db/recno/rec_open.c index fa5237572..5f9de858c 100644 --- a/lib/libc/db/recno/rec_open.c +++ b/lib/libc/db/recno/rec_open.c @@ -1,4 +1,4 @@ -/* $NetBSD: rec_open.c,v 1.19 2011/06/26 22:27:14 christos Exp $ */ +/* $NetBSD: rec_open.c,v 1.20 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -37,7 +37,7 @@ #endif #include -__RCSID("$NetBSD: rec_open.c,v 1.19 2011/06/26 22:27:14 christos Exp $"); +__RCSID("$NetBSD: rec_open.c,v 1.20 2013/12/01 00:22:48 christos Exp $"); #include "namespace.h" #include @@ -70,15 +70,8 @@ __rec_open(const char *fname, int flags, mode_t mode, const RECNOINFO *openinfo, dbp = NULL; /* Open the user's file -- if this fails, we're done. */ if (fname != NULL) { -#ifndef O_CLOEXEC -#define O_CLOEXEC 0 -#endif - if ((rfd = open(fname, flags | O_CLOEXEC, mode)) == -1) + if ((rfd = __dbopen(fname, flags, mode, NULL)) == -1) return NULL; -#if O_CLOEXEC == 0 - if (fcntl(rfd, F_SETFD, FD_CLOEXEC) == -1) - goto err; -#endif } /* Create a btree in memory (backed by disk). */ diff --git a/lib/libc/db/recno/rec_put.c b/lib/libc/db/recno/rec_put.c index 6245d55e0..eab65f02e 100644 --- a/lib/libc/db/recno/rec_put.c +++ b/lib/libc/db/recno/rec_put.c @@ -1,4 +1,4 @@ -/* $NetBSD: rec_put.c,v 1.19 2011/06/26 22:18:16 christos Exp $ */ +/* $NetBSD: rec_put.c,v 1.20 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -34,7 +34,7 @@ #endif #include -__RCSID("$NetBSD: rec_put.c,v 1.19 2011/06/26 22:18:16 christos Exp $"); +__RCSID("$NetBSD: rec_put.c,v 1.20 2013/12/01 00:22:48 christos Exp $"); #include "namespace.h" #include @@ -146,8 +146,7 @@ einval: errno = EINVAL; return (RET_ERROR); if (nrec > t->bt_nrecs + 1) { if (F_ISSET(t, R_FIXLEN)) { - if ((tdata.data = - (void *)malloc(t->bt_reclen)) == NULL) + if ((tdata.data = malloc(t->bt_reclen)) == NULL) return (RET_ERROR); tdata.size = t->bt_reclen; memset(tdata.data, t->bt_bval, tdata.size); diff --git a/lib/libc/db/recno/rec_utils.c b/lib/libc/db/recno/rec_utils.c index 2a61c7b68..fe90b35bd 100644 --- a/lib/libc/db/recno/rec_utils.c +++ b/lib/libc/db/recno/rec_utils.c @@ -1,4 +1,4 @@ -/* $NetBSD: rec_utils.c,v 1.12 2008/09/10 17:52:36 joerg Exp $ */ +/* $NetBSD: rec_utils.c,v 1.13 2013/12/01 00:22:48 christos Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -34,7 +34,7 @@ #endif #include -__RCSID("$NetBSD: rec_utils.c,v 1.12 2008/09/10 17:52:36 joerg Exp $"); +__RCSID("$NetBSD: rec_utils.c,v 1.13 2013/12/01 00:22:48 christos Exp $"); #include @@ -70,17 +70,17 @@ __rec_ret(BTREE *t, EPG *e, recno_t nrec, DBT *key, DBT *data) goto dataonly; /* We have to copy the key, it's not on the page. */ - if (sizeof(recno_t) > t->bt_rkey.size) { - p = (void *)(t->bt_rkey.data == NULL ? - malloc(sizeof(recno_t)) : - realloc(t->bt_rkey.data, sizeof(recno_t))); + if (sizeof(nrec) > t->bt_rkey.size) { + p = t->bt_rkey.data == NULL ? + malloc(sizeof(nrec)) : + realloc(t->bt_rkey.data, sizeof(nrec)); if (p == NULL) return (RET_ERROR); t->bt_rkey.data = p; - t->bt_rkey.size = sizeof(recno_t); + t->bt_rkey.size = sizeof(nrec); } - memmove(t->bt_rkey.data, &nrec, sizeof(recno_t)); - key->size = sizeof(recno_t); + memmove(t->bt_rkey.data, &nrec, sizeof(nrec)); + key->size = sizeof(nrec); key->data = t->bt_rkey.data; dataonly: @@ -101,9 +101,9 @@ dataonly: } else if (F_ISSET(t, B_DB_LOCK)) { /* Use +1 in case the first record retrieved is 0 length. */ if (rl->dsize + 1 > t->bt_rdata.size) { - p = (void *)(t->bt_rdata.data == NULL ? + p = t->bt_rdata.data == NULL ? malloc(rl->dsize + 1) : - realloc(t->bt_rdata.data, rl->dsize + 1)); + realloc(t->bt_rdata.data, rl->dsize + 1); if (p == NULL) return (RET_ERROR); t->bt_rdata.data = p; diff --git a/lib/libc/gdtoa/Makefile.inc b/lib/libc/gdtoa/Makefile.inc index 7ca1d6b40..cd5c53a33 100644 --- a/lib/libc/gdtoa/Makefile.inc +++ b/lib/libc/gdtoa/Makefile.inc @@ -1,8 +1,8 @@ -# $NetBSD: Makefile.inc,v 1.8 2008/02/09 02:37:21 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.9 2013/04/19 20:18:33 joerg Exp $ # gdtoa sources .PATH: ${.CURDIR}/gdtoa -CPPFLAGS+=-I${.CURDIR}/gdtoa +CPPFLAGS+=-I${.CURDIR}/gdtoa -I${.CURDIR}/locale CPPFLAGS+=-DNO_FENV_H @@ -25,8 +25,10 @@ SRCS+= strtod.c # private interfaces interfacing to libc SRCS+= dtoa.c ldtoa.c hdtoa.c gdtoa.c +.if !defined(__MINIX) # local locking implementation SRCS+= gdtoa_locks.c +.endif # !defined(__MINIX) # private interfaces SRCS+= dmisc.c \ diff --git a/lib/libc/gdtoa/_strtof.c b/lib/libc/gdtoa/_strtof.c index 7fe7a6279..03d02e682 100644 --- a/lib/libc/gdtoa/_strtof.c +++ b/lib/libc/gdtoa/_strtof.c @@ -1,4 +1,4 @@ -/* $NetBSD: _strtof.c,v 1.2 2009/10/21 01:07:45 snj Exp $ */ +/* $NetBSD: _strtof.c,v 1.3 2013/04/18 21:54:10 joerg Exp $ */ /* * Copyright (c) 1996 Christos Zoulas. All rights reserved. @@ -26,15 +26,17 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _strtof.c,v 1.2 2009/10/21 01:07:45 snj Exp $"); +__RCSID("$NetBSD: _strtof.c,v 1.3 2013/04/18 21:54:10 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #if defined(__indr_reference) __indr_reference(_strtof, strtof) +__indr_reference(_strtof_l, strtof_l) #else #include float _strtof(const char * __restrict, char ** __restrict); +float _strtof_l(const char * __restrict, char ** __restrict, locale_t); float strtof(const char *nptr, char **endptr) @@ -42,4 +44,11 @@ strtof(const char *nptr, char **endptr) return _strtof(nptr, endptr); } + +float +strtof_l(const char *nptr, char **endptr, locale_t loc) +{ + + return _strtof_l(nptr, endptr, loc); +} #endif diff --git a/lib/libc/gdtoa/gdtoa.h b/lib/libc/gdtoa/gdtoa.h index 12cf691bb..6386a7802 100644 --- a/lib/libc/gdtoa/gdtoa.h +++ b/lib/libc/gdtoa/gdtoa.h @@ -1,4 +1,4 @@ -/* $NetBSD: gdtoa.h,v 1.9 2011/03/20 23:15:35 christos Exp $ */ +/* $NetBSD: gdtoa.h,v 1.10 2013/04/18 21:54:10 joerg Exp $ */ /**************************************************************** @@ -38,6 +38,11 @@ THIS SOFTWARE. #include /* for size_t */ #include +#ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +#define __LOCALE_T_DECLARED +#endif + #ifndef Long #define Long int32_t #endif @@ -133,7 +138,8 @@ extern char* gdtoa ANSI((FPI *fpi, int be, ULong *bits, int *kindp, extern void freedtoa ANSI((char*)); extern float strtof ANSI((CONST char *, char **)); extern double strtod ANSI((CONST char *, char **)); -extern int strtodg ANSI((CONST char*, char**, CONST FPI*, Long*, ULong*)); +extern int strtodg ANSI((CONST char*, char**, CONST FPI*, Long*, ULong*, + locale_t)); extern char* g_ddfmt ANSI((char*, double*, int, size_t)); extern char* g_dfmt ANSI((char*, double*, int, size_t)); @@ -148,7 +154,7 @@ extern int strtoIf ANSI((CONST char*, char**, float*, float*)); extern int strtoIQ ANSI((CONST char*, char**, void*, void*)); extern int strtoIx ANSI((CONST char*, char**, void*, void*)); extern int strtoIxL ANSI((CONST char*, char**, void*, void*)); -extern int strtord ANSI((CONST char*, char**, int, double*)); +extern int strtord ANSI((CONST char*, char**, int, double*, locale_t)); extern int strtordd ANSI((CONST char*, char**, int, double*)); extern int strtorf ANSI((CONST char*, char**, int, float*)); extern int strtorQ ANSI((CONST char*, char**, int, void*)); @@ -159,9 +165,9 @@ extern int strtodI ANSI((CONST char*, char**, double*)); extern int strtopd ANSI((CONST char*, char**, double*)); extern int strtopdd ANSI((CONST char*, char**, double*)); extern int strtopf ANSI((CONST char*, char**, float*)); -extern int strtopQ ANSI((CONST char*, char**, void*)); -extern int strtopx ANSI((CONST char*, char**, void*)); -extern int strtopxL ANSI((CONST char*, char**, void*)); +extern int strtopQ ANSI((CONST char*, char**, void*, locale_t)); +extern int strtopx ANSI((CONST char*, char**, void*, locale_t)); +extern int strtopxL ANSI((CONST char*, char**, void*, locale_t)); #else #define strtopd(s,se,x) strtord(s,se,1,x) #define strtopdd(s,se,x) strtordd(s,se,1,x) diff --git a/lib/libc/gdtoa/gdtoa_locks.c b/lib/libc/gdtoa/gdtoa_locks.c index da449790b..81f521ce8 100644 --- a/lib/libc/gdtoa/gdtoa_locks.c +++ b/lib/libc/gdtoa/gdtoa_locks.c @@ -7,6 +7,4 @@ #include "gdtoaimp.h" -#ifdef _REENTRANT /* !__minix */ mutex_t __gdtoa_locks[2] = { MUTEX_INITIALIZER, MUTEX_INITIALIZER }; -#endif /* _REENTRANT */ diff --git a/lib/libc/gdtoa/gdtoaimp.h b/lib/libc/gdtoa/gdtoaimp.h index 09517ee4a..32a1bad59 100644 --- a/lib/libc/gdtoa/gdtoaimp.h +++ b/lib/libc/gdtoa/gdtoaimp.h @@ -1,4 +1,4 @@ -/* $NetBSD: gdtoaimp.h,v 1.13 2012/03/13 21:13:34 christos Exp $ */ +/* $NetBSD: gdtoaimp.h,v 1.14 2013/04/19 10:41:53 joerg Exp $ */ /**************************************************************** @@ -601,7 +601,7 @@ extern void memcpy_D2A ANSI((void*, const void*, size_t)); extern char *dtoa ANSI((double d, int mode, int ndigits, int *decpt, int *sign, char **rve)); extern char *g__fmt ANSI((char*, char*, char*, int, ULong, size_t)); - extern int gethex ANSI((CONST char**, CONST FPI*, Long*, Bigint**, int)); + extern int gethex ANSI((CONST char**, CONST FPI*, Long*, Bigint**, int, locale_t)); extern void hexdig_init_D2A(Void); extern int hexnan ANSI((CONST char**, CONST FPI*, ULong*)); extern int hi0bits_D2A ANSI((ULong)); diff --git a/lib/libc/gdtoa/gethex.c b/lib/libc/gdtoa/gethex.c index 31bd91951..9818a284d 100644 --- a/lib/libc/gdtoa/gethex.c +++ b/lib/libc/gdtoa/gethex.c @@ -1,4 +1,4 @@ -/* $NetBSD: gethex.c,v 1.5 2011/03/20 23:15:35 christos Exp $ */ +/* $NetBSD: gethex.c,v 1.6 2013/04/19 10:41:53 joerg Exp $ */ /**************************************************************** @@ -38,12 +38,7 @@ THIS SOFTWARE. #endif int -#ifdef KR_headers -gethex(sp, fpi, expt, bp, sign) - CONST char **sp; CONST FPI *fpi; Long *expt; Bigint **bp; int sign; -#else -gethex( CONST char **sp, CONST FPI *fpi, Long *expt, Bigint **bp, int sign) -#endif +gethex( CONST char **sp, CONST FPI *fpi, Long *expt, Bigint **bp, int sign, locale_t loc) { Bigint *b; CONST char *decpt, *s, *s0, *s1; @@ -52,20 +47,7 @@ gethex( CONST char **sp, CONST FPI *fpi, Long *expt, Bigint **bp, int sign) Long e, e1; #ifdef USE_LOCALE int i; -#ifdef NO_LOCALE_CACHE - const char *decimalpoint = localeconv()->decimal_point; -#else - const unsigned char *decimalpoint; - static char *decimalpoint_cache; - if (!(s0 = decimalpoint_cache)) { - s0 = localeconv()->decimal_point; - if ((decimalpoint_cache = MALLOC(strlen(s0) + 1)) != NULL) { - strcpy(decimalpoint_cache, s0); - s0 = decimalpoint_cache; - } - } - decimalpoint = __UNCONST(s0); -#endif + const char *decimalpoint = localeconv_l(loc)->decimal_point; #endif if (!hexdig[(unsigned char)'0']) diff --git a/lib/libc/gdtoa/strtod.c b/lib/libc/gdtoa/strtod.c index a01da8b2f..1f9323423 100644 --- a/lib/libc/gdtoa/strtod.c +++ b/lib/libc/gdtoa/strtod.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtod.c,v 1.11 2012/03/22 15:34:14 christos Exp $ */ +/* $NetBSD: strtod.c,v 1.14 2013/05/17 12:55:57 joerg Exp $ */ /**************************************************************** @@ -31,13 +31,15 @@ THIS SOFTWARE. /* Please send bug reports to David M. Gay (dmg at acm dot org, * with " at " changed at "@" and " dot " changed to "."). */ +#include "namespace.h" #include "gdtoaimp.h" #ifndef NO_FENV_H #include #endif #ifdef USE_LOCALE -#include "locale.h" +#include +#include "setlocale_local.h" #endif #ifdef IEEE_Arith @@ -62,6 +64,8 @@ static CONST double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, #ifndef __HAVE_LONG_DOUBLE __strong_alias(_strtold, strtod) __weak_alias(strtold, _strtold) +__strong_alias(_strtold_l, strtod_l) +__weak_alias(strtold_l, _strtold_l) #endif #ifdef Avoid_Underflow /*{*/ @@ -86,13 +90,8 @@ sulp } #endif /*}*/ - double -strtod -#ifdef KR_headers - (s00, se) CONST char *s00; char **se; -#else - (CONST char *s00, char **se) -#endif +static double +_int_strtod_l(CONST char *s00, char **se, locale_t loc) { #ifdef Avoid_Underflow int scale; @@ -116,25 +115,8 @@ strtod int inexact, oldinexact; #endif #ifdef USE_LOCALE /*{{*/ -#ifdef NO_LOCALE_CACHE - char *decimalpoint = localeconv()->decimal_point; + char *decimalpoint = localeconv_l(loc)->decimal_point; size_t dplen = strlen(decimalpoint); -#else - char *decimalpoint; - static char *decimalpoint_cache; - static size_t dplen; - if (!(s0 = decimalpoint_cache)) { - s0 = localeconv()->decimal_point; - if ((decimalpoint_cache = MALLOC(strlen(s0) + 1)) != NULL) { - strcpy(decimalpoint_cache, s0); - s0 = decimalpoint_cache; - } - dplen = strlen(s0); - } - decimalpoint = __UNCONST(s0); -#endif /*NO_LOCALE_CACHE*/ -#else /*USE_LOCALE}{*/ -#define dplen 1 #endif /*USE_LOCALE}}*/ #ifdef Honor_FLT_ROUNDS /*{*/ @@ -193,7 +175,7 @@ strtod #else #define fpi1 fpi #endif - switch((i = gethex(&s, &fpi1, &expt, &bb, sign)) & STRTOG_Retmask) { + switch((i = gethex(&s, &fpi1, &expt, &bb, sign, loc)) & STRTOG_Retmask) { case STRTOG_NoNumber: s = s00; sign = 0; @@ -1118,3 +1100,18 @@ strtod return sign ? -dval(&rv) : dval(&rv); } +double +strtod(CONST char *s, char **sp) +{ + return _int_strtod_l(s, sp, _current_locale()); +} + +#ifdef __weak_alias +__weak_alias(strtod_l, _strtod_l) +#endif + +double +strtod_l(CONST char *s, char **sp, locale_t loc) +{ + return _int_strtod_l(s, sp, loc); +} diff --git a/lib/libc/gdtoa/strtodg.c b/lib/libc/gdtoa/strtodg.c index c8f807c40..d0a910594 100644 --- a/lib/libc/gdtoa/strtodg.c +++ b/lib/libc/gdtoa/strtodg.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtodg.c,v 1.10 2012/03/22 13:09:12 he Exp $ */ +/* $NetBSD: strtodg.c,v 1.12 2013/04/19 10:41:53 joerg Exp $ */ /**************************************************************** @@ -319,13 +319,8 @@ mantbits(U *d) #endif /* !VAX */ int -strtodg -#ifdef KR_headers - (s00, se, fpi, expt, bits) - CONST char *s00; char **se; CONST FPI *fpi; Long *expt; ULong *bits; -#else - (CONST char *s00, char **se, CONST FPI *fpi, Long *expt, ULong *bits) -#endif +strtodg(CONST char *s00, char **se, CONST FPI *fpi, Long *expt, ULong *bits, + locale_t loc) { int abe, abits, asub; #ifdef INFNAN_CHECK @@ -342,25 +337,8 @@ strtodg ULong *b, *be, y, z; Bigint *ab, *bb, *bb1, *bd, *bd0, *bs, *delta, *rvb, *rvb0; #ifdef USE_LOCALE /*{{*/ -#ifdef NO_LOCALE_CACHE - char *decimalpoint = localeconv()->decimal_point; + char *decimalpoint = localeconv_l(loc)->decimal_point; size_t dplen = strlen(decimalpoint); -#else - char *decimalpoint; - static char *decimalpoint_cache; - static size_t dplen; - if (!(s0 = decimalpoint_cache)) { - s0 = localeconv()->decimal_point; - if ((decimalpoint_cache = MALLOC(strlen(s0) + 1)) != NULL) { - strcpy(decimalpoint_cache, s0); - s0 = decimalpoint_cache; - } - dplen = strlen(s0); - } - decimalpoint = __UNCONST(s0); -#endif /*NO_LOCALE_CACHE*/ -#else /*USE_LOCALE}{*/ -#define dplen 1 #endif /*USE_LOCALE}}*/ e2 = 0; /* XXX gcc */ @@ -399,7 +377,7 @@ strtodg switch(s[1]) { case 'x': case 'X': - irv = gethex(&s, fpi, expt, &rvb, sign); + irv = gethex(&s, fpi, expt, &rvb, sign, loc); if (irv == STRTOG_NoNumber) { s = s00; sign = 0; diff --git a/lib/libc/gdtoa/strtof.c b/lib/libc/gdtoa/strtof.c index bee802fff..ca2d268bf 100644 --- a/lib/libc/gdtoa/strtof.c +++ b/lib/libc/gdtoa/strtof.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtof.c,v 1.5 2011/06/20 09:11:17 mrg Exp $ */ +/* $NetBSD: strtof.c,v 1.7 2013/05/17 12:55:57 joerg Exp $ */ /**************************************************************** @@ -34,16 +34,16 @@ THIS SOFTWARE. #include "namespace.h" #include "gdtoaimp.h" +#include +#include "setlocale_local.h" + #ifdef __weak_alias __weak_alias(strtof, _strtof) +__weak_alias(strtof_l, _strtof_l) #endif - float -#ifdef KR_headers -strtof(s, sp) CONST char *s; char **sp; -#else -strtof(CONST char *s, char **sp) -#endif +static float +_int_strtof_l(CONST char *s, char **sp, locale_t loc) { static CONST FPI fpi0 = { 24, 1-127-24+1, 254-127-24+1, 1, SI }; ULong bits[1]; @@ -56,7 +56,7 @@ strtof(CONST char *s, char **sp) #define fpi &fpi0 #endif - k = strtodg(s, sp, fpi, &expt, bits); + k = strtodg(s, sp, fpi, &expt, bits, loc); if (k == STRTOG_NoMemory) { errno = ERANGE; return HUGE_VALF; @@ -92,3 +92,15 @@ strtof(CONST char *s, char **sp) u.L[0] |= 0x80000000L; return u.f; } + +float +strtof(CONST char *s, char **sp) +{ + return _int_strtof_l(s, sp, _current_locale()); +} + +float +strtof_l(CONST char *s, char **sp, locale_t loc) +{ + return _int_strtof_l(s, sp, loc); +} diff --git a/lib/libc/gdtoa/strtof_vaxf.c b/lib/libc/gdtoa/strtof_vaxf.c index c94087829..8eaeec89a 100644 --- a/lib/libc/gdtoa/strtof_vaxf.c +++ b/lib/libc/gdtoa/strtof_vaxf.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtof_vaxf.c,v 1.6 2011/07/01 03:20:06 matt Exp $ */ +/* $NetBSD: strtof_vaxf.c,v 1.8 2013/05/17 12:55:57 joerg Exp $ */ /**************************************************************** @@ -35,17 +35,16 @@ THIS SOFTWARE. #include "namespace.h" #include "gdtoaimp.h" +#include +#include "setlocale_local.h" #ifdef __weak_alias __weak_alias(strtof, _strtof) +__weak_alias(strtof_l, _strtof_l) #endif - float -#ifdef KR_headers -strtof(s, sp) CONST char *s; char **sp; -#else -strtof(CONST char *s, char **sp) -#endif +static float +_int_strtof_l(CONST char *s, char **sp, locale_t loc) { static CONST FPI fpi = { 24, 1-128-1-24+1, 255-128-1-24+1, 1, SI }; ULong bits[1]; @@ -53,7 +52,7 @@ strtof(CONST char *s, char **sp) int k; union { ULong L[1]; float f; } u; - k = strtodg(s, sp, &fpi, &expt, bits); + k = strtodg(s, sp, &fpi, &expt, bits, loc); if (k == STRTOG_NoMemory) { errno = ERANGE; return HUGE_VALF; @@ -80,3 +79,15 @@ strtof(CONST char *s, char **sp) u.L[0] |= 0x00008000L; return u.f; } + +float +strtof(CONST char *s, char **sp) +{ + return _int_strtof_l(s, sp, _current_locale()); +} + +float +strtof_l(CONST char *s, char **sp, locale_t loc) +{ + return _int_strtof_l(s, sp, loc); +} diff --git a/lib/libc/gdtoa/strtold_subr.c b/lib/libc/gdtoa/strtold_subr.c index 3a9059ff8..1f5e1aa59 100644 --- a/lib/libc/gdtoa/strtold_subr.c +++ b/lib/libc/gdtoa/strtold_subr.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $ */ +/* $NetBSD: strtold_subr.c,v 1.3 2013/05/17 12:55:57 joerg Exp $ */ /* * Written by Klaus Klein , November 16, 2005. @@ -15,7 +15,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $"); +__RCSID("$NetBSD: strtold_subr.c,v 1.3 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -23,8 +23,12 @@ __RCSID("$NetBSD: strtold_subr.c,v 1.1 2006/03/15 17:35:18 kleink Exp $"); #include #include "gdtoa.h" +#include +#include "setlocale_local.h" + #ifdef __weak_alias __weak_alias(strtold, _strtold) +__weak_alias(strtold_l, _strtold_l) #endif #ifndef __HAVE_LONG_DOUBLE @@ -37,11 +41,23 @@ __weak_alias(strtold, _strtold) #define STRTOP(x) __CONCAT(strtop, x) -long double -strtold(const char *nptr, char **endptr) +static long double +_int_strtold_l(const char *nptr, char **endptr, locale_t loc) { long double ld; - (void)STRTOP(GDTOA_LD_FMT)(nptr, endptr, &ld); + (void)STRTOP(GDTOA_LD_FMT)(nptr, endptr, &ld, loc); return ld; } + +long double +strtold(CONST char *s, char **sp) +{ + return _int_strtold_l(s, sp, _current_locale()); +} + +long double +strtold_l(CONST char *s, char **sp, locale_t loc) +{ + return _int_strtold_l(s, sp, loc); +} diff --git a/lib/libc/gdtoa/strtopQ.c b/lib/libc/gdtoa/strtopQ.c index bd5308b7b..9833cc384 100644 --- a/lib/libc/gdtoa/strtopQ.c +++ b/lib/libc/gdtoa/strtopQ.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtopQ.c,v 1.5 2011/03/20 23:15:35 christos Exp $ */ +/* $NetBSD: strtopQ.c,v 1.6 2013/04/18 21:54:11 joerg Exp $ */ /**************************************************************** @@ -52,11 +52,7 @@ THIS SOFTWARE. #endif int -#ifdef KR_headers -strtopQ(s, sp, V) CONST char *s; char **sp; void *V; -#else -strtopQ(CONST char *s, char **sp, void *V) -#endif +strtopQ(CONST char *s, char **sp, void *V, locale_t loc) { static CONST FPI fpi0 = { 113, 1-16383-113+1, 32766 - 16383 - 113 + 1, 1, SI }; ULong bits[4]; @@ -69,7 +65,7 @@ strtopQ(CONST char *s, char **sp, void *V) #define fpi &fpi0 #endif - k = strtodg(s, sp, fpi, &expt, bits); + k = strtodg(s, sp, fpi, &expt, bits, loc); if (k == STRTOG_NoMemory) return k; switch(k & STRTOG_Retmask) { diff --git a/lib/libc/gdtoa/strtopx.c b/lib/libc/gdtoa/strtopx.c index 2e803c2ac..79b5e4f68 100644 --- a/lib/libc/gdtoa/strtopx.c +++ b/lib/libc/gdtoa/strtopx.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtopx.c,v 1.5 2011/03/20 23:15:35 christos Exp $ */ +/* $NetBSD: strtopx.c,v 1.6 2013/04/18 21:54:11 joerg Exp $ */ /**************************************************************** @@ -54,11 +54,7 @@ THIS SOFTWARE. #endif int -#ifdef KR_headers -strtopx(s, sp, V) CONST char *s; char **sp; void *V; -#else -strtopx(CONST char *s, char **sp, void *V) -#endif +strtopx(CONST char *s, char **sp, void *V, locale_t loc) { static const FPI fpi0 = { 64, 1-16383-64+1, 32766 - 16383 - 64 + 1, 1, SI }; ULong bits[2]; @@ -71,7 +67,7 @@ strtopx(CONST char *s, char **sp, void *V) #define fpi &fpi0 #endif - k = strtodg(s, sp, fpi, &expt, bits); + k = strtodg(s, sp, fpi, &expt, bits, loc); if (k == STRTOG_NoMemory) return k; switch(k & STRTOG_Retmask) { diff --git a/lib/libc/gdtoa/strtopxL.c b/lib/libc/gdtoa/strtopxL.c index 12f3336ba..4624be407 100644 --- a/lib/libc/gdtoa/strtopxL.c +++ b/lib/libc/gdtoa/strtopxL.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtopxL.c,v 1.5 2011/03/20 23:15:35 christos Exp $ */ +/* $NetBSD: strtopxL.c,v 1.6 2013/04/18 21:54:11 joerg Exp $ */ /**************************************************************** @@ -50,11 +50,7 @@ THIS SOFTWARE. #endif int -#ifdef KR_headers -strtopxL(s, sp, V) CONST char *s; char **sp; void *V; -#else -strtopxL(CONST char *s, char **sp, void *V) -#endif +strtopxL(CONST char *s, char **sp, void *V, locale_t loc) { static CONST FPI fpi0 = { 64, 1-16383-64+1, 32766 - 16383 - 64 + 1, 1, SI }; ULong bits[2]; @@ -67,7 +63,7 @@ strtopxL(CONST char *s, char **sp, void *V) #define fpi &fpi0 #endif - k = strtodg(s, sp, fpi, &expt, bits); + k = strtodg(s, sp, fpi, &expt, bits, loc); if (k == STRTOG_NoMemory) return k; switch(k & STRTOG_Retmask) { diff --git a/lib/libc/gdtoa/strtord.c b/lib/libc/gdtoa/strtord.c index b995f264a..9b8c215c1 100644 --- a/lib/libc/gdtoa/strtord.c +++ b/lib/libc/gdtoa/strtord.c @@ -1,4 +1,4 @@ -/* $NetBSD: strtord.c,v 1.4 2008/03/21 23:13:48 christos Exp $ */ +/* $NetBSD: strtord.c,v 1.5 2013/04/18 21:54:11 joerg Exp $ */ /**************************************************************** @@ -73,11 +73,7 @@ ULtod(ULong *L, ULong *bits, Long expt, int k) } int -#ifdef KR_headers -strtord(s, sp, rounding, d) CONST char *s; char **sp; int rounding; double *d; -#else -strtord(CONST char *s, char **sp, int rounding, double *d) -#endif +strtord(CONST char *s, char **sp, int rounding, double *d, locale_t loc) { static CONST FPI fpi0 = { 53, 1-1023-53+1, 2046-1023-53+1, 1, SI }; CONST FPI *fpi; @@ -92,7 +88,7 @@ strtord(CONST char *s, char **sp, int rounding, double *d) fpi1.rounding = rounding; fpi = &fpi1; } - k = strtodg(s, sp, fpi, &expt, bits); + k = strtodg(s, sp, fpi, &expt, bits, loc); if (k == STRTOG_NoMemory) return k; ULtod((/* LINTED */(U*)d)->L, bits, expt, k); diff --git a/lib/libc/gen/Makefile.inc b/lib/libc/gen/Makefile.inc index 36d9b1ae1..77b1708be 100644 --- a/lib/libc/gen/Makefile.inc +++ b/lib/libc/gen/Makefile.inc @@ -4,7 +4,7 @@ # gen sources .if defined(__MINIX) .PATH: ${.CURDIR}/gen/minix -.endif +.endif # defined(__MINIX) .PATH: ${ARCHDIR}/gen ${.CURDIR}/gen .if defined(__MINIX) @@ -19,9 +19,6 @@ # # Not useful but portable # disklabel.c -# -# Already in getprogname -# setprogname.c SRCS+= _errno.c alarm.c alphasort.c arc4random.c assert.c basename.c clock.c \ closedir.c \ @@ -42,7 +39,7 @@ SRCS+= _errno.c alarm.c alphasort.c arc4random.c assert.c basename.c clock.c \ psignal.c \ ptree.c pwcache.c pw_scan.c raise.c randomid.c rb.c readdir.c \ rewinddir.c scandir.c seekdir.c \ - setjmperr.c setmode.c \ + setjmperr.c setmode.c setprogname.c \ shquote.c shquotev.c sighold.c sigignore.c siginterrupt.c \ sysctl.c sysctlbyname.c sysctlgetmibinfo.c sysctlnametomib.c \ siglist.c signal.c signame.c sigrelse.c \ diff --git a/lib/libc/gen/_warn.c b/lib/libc/gen/_warn.c index ffb4965e5..23fb6fa31 100644 --- a/lib/libc/gen/_warn.c +++ b/lib/libc/gen/_warn.c @@ -24,11 +24,7 @@ warn(const char *fmt, ...) va_list ap; va_start(ap, fmt); -#ifdef __minix - _vwarn(fmt, ap); -#else _vwarn(eval, fmt, ap); -#endif va_end(ap); } #endif diff --git a/lib/libc/gen/_warnx.c b/lib/libc/gen/_warnx.c index 5942be241..fdf108d14 100644 --- a/lib/libc/gen/_warnx.c +++ b/lib/libc/gen/_warnx.c @@ -24,11 +24,7 @@ warnx(const char *fmt, ...) va_list ap; va_start(ap, fmt); -#ifdef __minix - _vwarnx(fmt, ap); -#else _vwarnx(eval, fmt, ap); -#endif va_end(ap); } diff --git a/lib/libc/gen/alphasort.c b/lib/libc/gen/alphasort.c index e6f166b4c..c8310d425 100644 --- a/lib/libc/gen/alphasort.c +++ b/lib/libc/gen/alphasort.c @@ -57,7 +57,3 @@ alphasort(const void *d1, const void *d2) return (strcmp((*(const struct dirent *const *)d1)->d_name, (*(const struct dirent *const *)d2)->d_name)); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(alphasort, __alphasort30) -#endif diff --git a/lib/libc/gen/arc4random.c b/lib/libc/gen/arc4random.c index 5326ac91b..c953a41de 100644 --- a/lib/libc/gen/arc4random.c +++ b/lib/libc/gen/arc4random.c @@ -1,4 +1,4 @@ -/* $NetBSD: arc4random.c,v 1.20 2012/08/20 21:38:09 dsl Exp $ */ +/* $NetBSD: arc4random.c,v 1.21 2013/10/17 23:56:17 christos Exp $ */ /* $OpenBSD: arc4random.c,v 1.6 2001/06/05 05:05:38 pvalchev Exp $ */ /* @@ -27,7 +27,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: arc4random.c,v 1.20 2012/08/20 21:38:09 dsl Exp $"); +__RCSID("$NetBSD: arc4random.c,v 1.21 2013/10/17 23:56:17 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -125,7 +125,7 @@ arc4_addrandom(struct arc4_stream *as, u_char *dat, int datlen) static __noinline void arc4_stir(struct arc4_stream *as) { -#ifdef __minix +#if defined(__minix) /* LSC: We do not have a compatibility layer for the * KERN_URND call, so use the old way... */ int fd; @@ -164,7 +164,7 @@ arc4_stir(struct arc4_stream *as) if (sysctl(mib, 2, &rdat[i], &len, NULL, 0) == -1) abort(); } -#endif +#endif /* !defined(__minix) */ arc4_addrandom(as, (void *) &rdat, (int)sizeof(rdat)); @@ -179,7 +179,7 @@ arc4_stir(struct arc4_stream *as) as->stirred = 1; } -static __always_inline uint8_t +static __inline uint8_t arc4_getbyte_ij(struct arc4_stream *as, uint8_t *i, uint8_t *j) { uint8_t si, sj; diff --git a/lib/libc/gen/closedir.c b/lib/libc/gen/closedir.c index d3da16391..432019792 100644 --- a/lib/libc/gen/closedir.c +++ b/lib/libc/gen/closedir.c @@ -38,11 +38,6 @@ __RCSID("$NetBSD: closedir.c,v 1.16 2010/09/26 02:26:59 yamt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef __minix -/* NetBSD BUG: reentrant.h defines includes. */ -#include -#endif /* !__minix */ - #include "namespace.h" #include "reentrant.h" #include "extern.h" diff --git a/lib/libc/gen/ctype_.c b/lib/libc/gen/ctype_.c index 931cfb492..b12c41a17 100644 --- a/lib/libc/gen/ctype_.c +++ b/lib/libc/gen/ctype_.c @@ -1,4 +1,4 @@ -/* $NetBSD: ctype_.c,v 1.19 2010/12/14 02:28:57 joerg Exp $ */ +/* $NetBSD: ctype_.c,v 1.20 2013/04/13 10:21:20 joerg Exp $ */ /* * Copyright (c) 1989 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 /*static char *sccsid = "from: @(#)ctype_.c 5.6 (Berkeley) 6/1/90";*/ #else -__RCSID("$NetBSD: ctype_.c,v 1.19 2010/12/14 02:28:57 joerg Exp $"); +__RCSID("$NetBSD: ctype_.c,v 1.20 2013/04/13 10:21:20 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -51,16 +51,17 @@ __RCSID("$NetBSD: ctype_.c,v 1.19 2010/12/14 02:28:57 joerg Exp $"); #error "EOF != -1" #endif -#define _U _CTYPE_U -#define _L _CTYPE_L -#define _N _CTYPE_N -#define _S _CTYPE_S -#define _P _CTYPE_P -#define _C _CTYPE_C -#define _X _CTYPE_X -#define _B _CTYPE_B +#ifdef __BUILD_LEGACY +#define _C _COMPAT_C +#define _S _COMPAT_S +#define _U _COMPAT_U +#define _X _COMPAT_X +#define _L _COMPAT_L +#define _P _COMPAT_P +#define _B _COMPAT_B +#define _N _COMPAT_N -const unsigned char _C_ctype_[1 + _CTYPE_NUM_CHARS] = { +const unsigned char _C_compat_bsdctype[1 + _CTYPE_NUM_CHARS] = { 0, _C, _C, _C, _C, _C, _C, _C, _C, _C, _C|_S, _C|_S, _C|_S, _C|_S, _C|_S, _C, _C, @@ -80,4 +81,80 @@ const unsigned char _C_ctype_[1 + _CTYPE_NUM_CHARS] = { _L, _L, _L, _P, _P, _P, _P, _C }; -const unsigned char *_ctype_ = &_C_ctype_[0]; +#undef _C +#undef _S +#undef _U +#undef _X +#undef _L +#undef _P +#undef _B +#undef _N + +#ifdef __weak_alias +__weak_alias(_C_ctype_, _C_compat_bsdctype) +#endif + +const unsigned char *_ctype_ = &_C_compat_bsdctype[0]; +#endif /* __BUILD_LEGACY */ + +#define _A _CTYPE_A +#define _BL _CTYPE_BL +#define _C _CTYPE_C +#define _D _CTYPE_D +#define _G _CTYPE_G +#define _L _CTYPE_L +#define _P _CTYPE_P +#define _R _CTYPE_R +#define _S _CTYPE_S +#define _U _CTYPE_U +#define _X _CTYPE_X + +const unsigned short _C_ctype_tab_[1 + _CTYPE_NUM_CHARS] = { + 0, + _C, _C, _C, _C, + _C, _C, _C, _C, + _C, _BL|_C|_S, _C|_S, _C|_S, + _C|_S, _C|_S, _C, _C, + _C, _C, _C, _C, + _C, _C, _C, _C, + _C, _C, _C, _C, + _C, _C, _C, _C, + _BL|_R|_S, _G|_R|_P, _G|_R|_P, _G|_R|_P, + _G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P, + _G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P, + _G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P, + _D|_G|_R|_X, _D|_G|_R|_X, _D|_G|_R|_X, _D|_G|_R|_X, + _D|_G|_R|_X, _D|_G|_R|_X, _D|_G|_R|_X, _D|_G|_R|_X, + _D|_G|_R|_X, _D|_G|_R|_X, _G|_R|_P, _G|_R|_P, + _G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P, + _G|_R|_P, _A|_G|_R|_U|_X, _A|_G|_R|_U|_X, _A|_G|_R|_U|_X, + _A|_G|_R|_U|_X, _A|_G|_R|_U|_X, _A|_G|_R|_U|_X, _A|_G|_R|_U, + _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, + _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, + _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, + _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, + _A|_G|_R|_U, _A|_G|_R|_U, _A|_G|_R|_U, _G|_R|_P, + _G|_R|_P, _G|_R|_P, _G|_R|_P, _G|_R|_P, + _G|_R|_P, _A|_G|_L|_R|_X, _A|_G|_L|_R|_X, _A|_G|_L|_R|_X, + _A|_G|_L|_R|_X, _A|_G|_L|_R|_X, _A|_G|_L|_R|_X, _A|_G|_L|_R, + _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, + _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, + _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, + _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, + _A|_G|_L|_R, _A|_G|_L|_R, _A|_G|_L|_R, _G|_R|_P, + _G|_R|_P, _G|_R|_P, _G|_R|_P, _C, +}; + +#undef _A +#undef _BL +#undef _C +#undef _D +#undef _G +#undef _L +#undef _P +#undef _R +#undef _S +#undef _U +#undef _X + +const unsigned short *_ctype_tab_ = &_C_ctype_tab_[0]; diff --git a/lib/libc/gen/devname.c b/lib/libc/gen/devname.c index d48b51e77..072c61e8e 100644 --- a/lib/libc/gen/devname.c +++ b/lib/libc/gen/devname.c @@ -49,7 +49,7 @@ __RCSID("$NetBSD: devname.c,v 1.22 2012/06/03 21:42:46 joerg Exp $"); __weak_alias(devname_r,_devname_r) #endif -#ifndef __minix +#if !defined(__minix) static once_t db_opened = ONCE_INITIALIZER; static struct cdbr *db; static devmajor_t pts; @@ -102,7 +102,7 @@ devname_ptslookup(dev_t dev, mode_t type, char *path, size_t len) return ERANGE; return 0; } -#endif +#endif /* !defined(__minix) */ static int devname_fts(dev_t dev, mode_t type, char *path, size_t len) @@ -142,7 +142,7 @@ devname_r(dev_t dev, mode_t type, char *path, size_t len) { int rv; -#ifndef __minix +#if !defined(__minix) thr_once(&db_opened, devname_dbopen); if (db != NULL) { @@ -157,7 +157,7 @@ devname_r(dev_t dev, mode_t type, char *path, size_t len) if (db != NULL) return ENOENT; -#endif +#endif /* !defined(__minix) */ rv = devname_fts(dev, type, path, len); return rv; } diff --git a/lib/libc/gen/exec.3 b/lib/libc/gen/exec.3 index ec529ba7d..50b8a12e2 100644 --- a/lib/libc/gen/exec.3 +++ b/lib/libc/gen/exec.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: exec.3,v 1.21 2010/03/22 19:30:53 joerg Exp $ +.\" $NetBSD: exec.3,v 1.22 2012/11/22 16:19:49 abs Exp $ .\" .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -59,7 +59,7 @@ .Fn execvp "const char *file" "char *const argv[]" .Sh DESCRIPTION The -.Nm exec +.Fn exec family of functions replaces the current process image with a new process image. The functions described in this manual page are front-ends for the function @@ -185,7 +185,7 @@ executes a file with the program tracing facilities enabled (see .Xr ptrace 2 ) . .Sh RETURN VALUES If any of the -.Nm exec +.Fn exec functions returns, an error will have occurred. The return value is \-1, and the global variable .Va errno @@ -195,33 +195,6 @@ will be set to indicate the error. .It Pa /bin/sh The shell. .El -.Sh ERRORS -.Fn execl , -.Fn execle , -.Fn execlp -and -.Fn execvp -may fail and set -.Va errno -for any of the errors specified for the library functions -.Xr execve 2 -and -.Xr malloc 3 . -.Pp -.Fn exect -and -.Fn execv -may fail and set -.Va errno -for any of the errors specified for the library function -.Xr execve 2 . -.Sh SEE ALSO -.Xr sh 1 , -.Xr execve 2 , -.Xr fork 2 , -.Xr ptrace 2 , -.Xr environ 7 , -.Xr script 7 .Sh COMPATIBILITY Historically, the default path for the .Fn execlp @@ -251,6 +224,33 @@ and .Er E2BIG , upon which they returned. They now return if any error other than the ones described above occurs. +.Sh ERRORS +.Fn execl , +.Fn execle , +.Fn execlp +and +.Fn execvp +may fail and set +.Va errno +for any of the errors specified for the library functions +.Xr execve 2 +and +.Xr malloc 3 . +.Pp +.Fn exect +and +.Fn execv +may fail and set +.Va errno +for any of the errors specified for the library function +.Xr execve 2 . +.Sh SEE ALSO +.Xr sh 1 , +.Xr execve 2 , +.Xr fork 2 , +.Xr ptrace 2 , +.Xr environ 7 , +.Xr script 7 .Sh STANDARDS .Fn execl , .Fn execv , diff --git a/lib/libc/gen/fabs_ieee754.c b/lib/libc/gen/fabs_ieee754.c index 006004b92..b10a6ec07 100644 --- a/lib/libc/gen/fabs_ieee754.c +++ b/lib/libc/gen/fabs_ieee754.c @@ -1,4 +1,4 @@ -/* $NetBSD: fabs_ieee754.c,v 1.2 2010/09/10 16:32:35 matt Exp $ */ +/* $NetBSD: fabs_ieee754.c,v 1.3 2013/11/29 22:15:26 joerg Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fabs_ieee754.c,v 1.2 2010/09/10 16:32:35 matt Exp $"); +__RCSID("$NetBSD: fabs_ieee754.c,v 1.3 2013/11/29 22:15:26 joerg Exp $"); #endif #include @@ -41,6 +41,10 @@ __RCSID("$NetBSD: fabs_ieee754.c,v 1.2 2010/09/10 16:32:35 matt Exp $"); * 7.12.3.6 fabs - return the absolute value of the argument * IEEE 754 double-precision version */ +#ifndef __HAVE_LONG_DOUBLE +__strong_alias(fabsl, fabs) +#endif + double fabs(double x) { diff --git a/lib/libc/gen/fixunsdfsi_ieee754.c b/lib/libc/gen/fixunsdfsi_ieee754.c index c52573ab9..550089c3b 100644 --- a/lib/libc/gen/fixunsdfsi_ieee754.c +++ b/lib/libc/gen/fixunsdfsi_ieee754.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixunsdfsi_ieee754.c,v 1.2 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: fixunsdfsi_ieee754.c,v 1.3 2013/04/30 01:44:07 matt Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fixunsdfsi_ieee754.c,v 1.2 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: fixunsdfsi_ieee754.c,v 1.3 2013/04/30 01:44:07 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -39,7 +39,7 @@ __RCSID("$NetBSD: fixunsdfsi_ieee754.c,v 1.2 2012/08/05 04:28:58 matt Exp $"); #include #include -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/gen/fixunssfsi_ieee754.c b/lib/libc/gen/fixunssfsi_ieee754.c index 5b370648e..41de76694 100644 --- a/lib/libc/gen/fixunssfsi_ieee754.c +++ b/lib/libc/gen/fixunssfsi_ieee754.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixunssfsi_ieee754.c,v 1.2 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: fixunssfsi_ieee754.c,v 1.3 2013/04/30 01:44:07 matt Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fixunssfsi_ieee754.c,v 1.2 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: fixunssfsi_ieee754.c,v 1.3 2013/04/30 01:44:07 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -39,7 +39,7 @@ __RCSID("$NetBSD: fixunssfsi_ieee754.c,v 1.2 2012/08/05 04:28:58 matt Exp $"); #include #include -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/gen/floatunsidf_ieee754.c b/lib/libc/gen/floatunsidf_ieee754.c new file mode 100644 index 000000000..03b40e1a2 --- /dev/null +++ b/lib/libc/gen/floatunsidf_ieee754.c @@ -0,0 +1,67 @@ +/* $NetBSD: floatunsidf_ieee754.c,v 1.1 2013/08/23 16:01:35 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: floatunsidf_ieee754.c,v 1.1 2013/08/23 16:01:35 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include + +double __floatunsidf(uint32_t); + +/* + * Convert (unsigned) int to double. + */ +double +__floatunsidf(uint32_t x) +{ + union ieee_double_u u; + + if (x == 0) + return 0.0; + if (x == 1) + return 1.0; + + u_int l = __builtin_clz(x); + x <<= (l + 1); /* clear implicit bit */ + + u.dblu_sign = 0; + u.dblu_exp = DBL_EXP_BIAS + 31 - l; + u.dblu_frach = x >> (32 - DBL_FRACHBITS); + u.dblu_fracl = x << (32 - DBL_FRACHBITS); + + return u.dblu_d; +} diff --git a/lib/libc/gen/floatunsisf_ieee754.c b/lib/libc/gen/floatunsisf_ieee754.c new file mode 100644 index 000000000..40174b557 --- /dev/null +++ b/lib/libc/gen/floatunsisf_ieee754.c @@ -0,0 +1,66 @@ +/* $NetBSD: floatunsisf_ieee754.c,v 1.1 2013/08/23 16:01:35 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: floatunsisf_ieee754.c,v 1.1 2013/08/23 16:01:35 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include + +float __floatunsisf(uint32_t); + +/* + * Convert (unsigned) int to float. + */ +float +__floatunsisf(uint32_t x) +{ + union ieee_single_u u; + + if (x == 0) + return 0.0; + if (x == 1) + return 1.0; + + u_int l = __builtin_clz(x); + x <<= (l + 1); /* clear implicit bit */ + + u.sngu_sign = 0; + u.sngu_exp = SNG_EXP_BIAS + 31 - l; + u.sngu_frac = x >> (32 - SNG_FRACBITS); + + return u.sngu_f; +} diff --git a/lib/libc/gen/fpclassifyl_ieee754.c b/lib/libc/gen/fpclassifyl_ieee754.c index f523573c8..2aa6fc2aa 100644 --- a/lib/libc/gen/fpclassifyl_ieee754.c +++ b/lib/libc/gen/fpclassifyl_ieee754.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpclassifyl_ieee754.c,v 1.1 2011/01/17 23:53:03 matt Exp $ */ +/* $NetBSD: fpclassifyl_ieee754.c,v 1.3 2013/11/23 11:40:56 martin Exp $ */ /*- * Copyright (c) 2011 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpclassifyl_ieee754.c,v 1.1 2011/01/17 23:53:03 matt Exp $"); +__RCSID("$NetBSD: fpclassifyl_ieee754.c,v 1.3 2013/11/23 11:40:56 martin Exp $"); #endif #include @@ -50,14 +50,26 @@ __fpclassifyl(long double x) u.extu_ld = x; if (u.extu_ext.ext_exp == 0) { - if (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_frachm == 0 - && u.extu_ext.ext_fraclm == 0 && u.extu_ext.ext_fracl == 0) + if (u.extu_ext.ext_frach == 0 +#if EXT_FRACHMBITS + && u.extu_ext.ext_frachm == 0 +#endif +#if EXT_FRACLMBITS + && u.extu_ext.ext_fraclm == 0 +#endif + && u.extu_ext.ext_fracl == 0) return FP_ZERO; else return FP_SUBNORMAL; } else if (u.extu_ext.ext_exp == EXT_EXP_INFNAN) { - if (u.extu_ext.ext_frach == 0 && u.extu_ext.ext_frachm == 0 - && u.extu_ext.ext_fraclm == 0 && u.extu_ext.ext_fracl == 0) + if (u.extu_ext.ext_frach == 0 +#if EXT_FRACHMBITS + && u.extu_ext.ext_frachm == 0 +#endif +#if EXT_FRACLMBITS + && u.extu_ext.ext_fraclm == 0 +#endif + && u.extu_ext.ext_fracl == 0) return FP_INFINITE; else return FP_NAN; diff --git a/lib/libc/gen/ftok.3 b/lib/libc/gen/ftok.3 index 8bab7b4a3..137ce0e86 100644 --- a/lib/libc/gen/ftok.3 +++ b/lib/libc/gen/ftok.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: ftok.3,v 1.16 2010/04/27 15:26:59 jruoho Exp $ +.\" $NetBSD: ftok.3,v 1.17 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 1994 SigmaSoft, Th. Lockert .\" All rights reserved. @@ -80,7 +80,7 @@ The function originated with System V and is typically used by programs that use the System V IPC routines. .Sh AUTHORS -.An Thorsten Lockert Aq tholo@sigmasoft.com +.An Thorsten Lockert Aq Mt tholo@sigmasoft.com .Sh BUGS The returned key is computed based on the device and inode of the specified diff --git a/lib/libc/gen/fts.3 b/lib/libc/gen/fts.3 index 9d7e0b7ec..d8968193b 100644 --- a/lib/libc/gen/fts.3 +++ b/lib/libc/gen/fts.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: fts.3,v 1.30 2011/03/30 16:29:26 jruoho Exp $ +.\" $NetBSD: fts.3,v 1.31 2013/06/30 19:19:12 wiz Exp $ .\" .\" Copyright (c) 1989, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -332,7 +332,7 @@ Therefore, the and .Fa fts_accpath fields are guaranteed to be -.Dv NULL Ns -terminated +.Dv NUL Ns -terminated .Em only for the file most recently returned by .Fn fts_read . @@ -350,7 +350,7 @@ are attempted. The .Fa fts_name field is always -.Dv NULL Ns -terminated . +.Dv NUL Ns -terminated . .Sh FTS_OPEN The .Fn fts_open diff --git a/lib/libc/gen/fts.c b/lib/libc/gen/fts.c index 16af0d43b..d1236fd5f 100644 --- a/lib/libc/gen/fts.c +++ b/lib/libc/gen/fts.c @@ -56,10 +56,8 @@ __RCSID("$NetBSD: fts.c,v 1.46 2012/09/26 15:33:43 msaitoh Exp $"); #include #if ! HAVE_NBTOOL_CONFIG_H -#ifndef __minix #define HAVE_STRUCT_DIRENT_D_NAMLEN #endif -#endif static FTSENT *fts_alloc(FTS *, const char *, size_t); static FTSENT *fts_build(FTS *, int); @@ -1234,11 +1232,3 @@ bail: } return ret; } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(fts_children, __fts_children60) -__weak_alias(fts_close, __fts_close60) -__weak_alias(fts_open, __fts_open60) -__weak_alias(fts_read, __fts_read60) -__weak_alias(fts_set, __fts_set60) -#endif diff --git a/lib/libc/gen/getlogin.c b/lib/libc/gen/getlogin.c index 3aeee3077..3821f66e5 100644 --- a/lib/libc/gen/getlogin.c +++ b/lib/libc/gen/getlogin.c @@ -78,9 +78,9 @@ __RCSID("$NetBSD: getlogin.c,v 1.15 2009/01/11 02:46:27 christos Exp $"); #ifdef __weak_alias __weak_alias(getlogin,_getlogin) __weak_alias(getlogin_r,_getlogin_r) -#ifndef __minix +#if !defined(__minix) __weak_alias(setlogin,_setlogin) -#endif /* !__minix */ +#endif /* !defined(__minix) */ #endif int __logname_valid; /* known to setlogin() */ @@ -136,7 +136,7 @@ getlogin_r(char *name, size_t namelen) return (rv); } -#ifndef __minix +#if !defined(__minix) int setlogin(const char *name) { @@ -147,4 +147,4 @@ setlogin(const char *name) return (retval); } -#endif +#endif /* !defined(__minix) */ diff --git a/lib/libc/gen/getpwent.c b/lib/libc/gen/getpwent.c index a3f912eca..eda173cf6 100644 --- a/lib/libc/gen/getpwent.c +++ b/lib/libc/gen/getpwent.c @@ -2603,12 +2603,3 @@ setpwent(void) __nsdefaultcompat_forceall); mutex_unlock(&_pwmutex); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(getpwent, __getpwent50) -__weak_alias(getpwent_r, __getpwent_r50) -__weak_alias(getpwnam, __getpwnam50) -__weak_alias(getpwnam_r, __getpwnam_r50) -__weak_alias(getpwuid, __getpwuid50) -__weak_alias(getpwuid_r, __getpwuid_r50) -#endif diff --git a/lib/libc/gen/getttyent.c b/lib/libc/gen/getttyent.c index 74f7e4dad..6585ebefa 100644 --- a/lib/libc/gen/getttyent.c +++ b/lib/libc/gen/getttyent.c @@ -1,4 +1,4 @@ -/* $NetBSD: getttyent.c,v 1.24 2011/10/15 23:00:01 christos Exp $ */ +/* $NetBSD: getttyent.c,v 1.26 2013/06/30 10:07:43 martin Exp $ */ /* * Copyright (c) 1989, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)getttyent.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: getttyent.c,v 1.24 2011/10/15 23:00:01 christos Exp $"); +__RCSID("$NetBSD: getttyent.c,v 1.26 2013/06/30 10:07:43 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -49,6 +49,9 @@ __RCSID("$NetBSD: getttyent.c,v 1.24 2011/10/15 23:00:01 christos Exp $"); #include #include +#include +#include + #ifdef __weak_alias __weak_alias(endttyent,_endttyent) __weak_alias(getttyent,_getttyent) @@ -98,7 +101,7 @@ getttyent(void) line = fparseln(tf, &len, &lineno, NULL, FPARSELN_UNESCALL); if (line == NULL) { if (errno != 0) - warn("%s", __func__); + warn(__func__); return NULL; } for (p = line; *p && isspace((unsigned char)*p); p++) @@ -223,7 +226,27 @@ setttyentpath(const char *path) if (tf) { rewind(tf); return 1; - } else if ((tf = fopen(path, "r")) != NULL) + } + + /* + * Try .$MACHINE (e.g. etc/ttys.amd64) + */ + { + char machine[_SYS_NMLN]; + const int mib[] = { [0] = CTL_HW, [1] = HW_MACHINE, }; + size_t len = sizeof(machine); + + if (sysctl(mib, (u_int)__arraycount(mib), machine, &len, + NULL, 0) != -1) { + char npath[PATH_MAX]; + (void)snprintf(npath, sizeof(npath), "%s.%s", path, + machine); + if ((tf = fopen(npath, "re")) != NULL) + return 1; + } + } + + if ((tf = fopen(path, "re")) != NULL) return 1; return 0; } diff --git a/lib/libc/gen/glob.3 b/lib/libc/gen/glob.3 index cf7cd3c2a..0c3598ffb 100644 --- a/lib/libc/gen/glob.3 +++ b/lib/libc/gen/glob.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: glob.3,v 1.41 2012/08/12 13:31:41 christos Exp $ +.\" $NetBSD: glob.3,v 1.42 2012/12/27 21:17:47 christos Exp $ .\" .\" Copyright (c) 1989, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -31,7 +31,7 @@ .\" .\" @(#)glob.3 8.3 (Berkeley) 4/16/94 .\" -.Dd August 12, 2012 +.Dd December 27, 2012 .Dt GLOB 3 .Os .Sh NAME @@ -185,7 +185,8 @@ does not match any pathname, then returns a list consisting of only .Fa pattern , -with the number of total pathnames set to 1, and the number of matched +with one level of backslash escapes removed, +the number of total pathnames set to 1, and the number of matched pathnames set to 0. .It Dv GLOB_NOSORT By default, the pathnames are sorted in ascending diff --git a/lib/libc/gen/glob.c b/lib/libc/gen/glob.c index d4068dd5c..f623e25ca 100644 --- a/lib/libc/gen/glob.c +++ b/lib/libc/gen/glob.c @@ -1,4 +1,4 @@ -/* $NetBSD: glob.c,v 1.31 2011/10/30 21:53:43 christos Exp $ */ +/* $NetBSD: glob.c,v 1.35 2013/03/20 23:44:47 lukem Exp $ */ /* * Copyright (c) 1989, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)glob.c 8.3 (Berkeley) 10/13/93"; #else -__RCSID("$NetBSD: glob.c,v 1.31 2011/10/30 21:53:43 christos Exp $"); +__RCSID("$NetBSD: glob.c,v 1.35 2013/03/20 23:44:47 lukem Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -132,7 +132,7 @@ struct glob_limit { #define M_MASK 0xffff #define M_ASCII 0x00ff -typedef u_short Char; +typedef unsigned short Char; #else @@ -183,14 +183,14 @@ int glob(const char * __restrict pattern, int flags, int (*errfunc)(const char *, int), glob_t * __restrict pglob) { - const u_char *patnext; + const unsigned char *patnext; int c; Char *bufnext, *bufend, patbuf[MAXPATHLEN+1]; struct glob_limit limit = { 0, 0, 0, 0 }; _DIAGASSERT(pattern != NULL); - patnext = (const u_char *) pattern; + patnext = (const unsigned char *) pattern; if (!(flags & GLOB_APPEND)) { pglob->gl_pathc = 0; pglob->gl_pathv = NULL; @@ -612,8 +612,6 @@ glob2(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern, const Char *p; Char *q; int anymeta; - Char *pend; - ptrdiff_t diff; _DIAGASSERT(pathbuf != NULL); _DIAGASSERT(pathend != NULL); @@ -665,26 +663,7 @@ glob2(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern, *q++ = *p++; } - /* - * No expansion, or path ends in slash-dot shash-dot-dot, - * do next segment. - */ - if (pglob->gl_flags & GLOB_PERIOD) { - for (pend = pathend; pend > pathbuf && pend[-1] == '/'; - pend--) - continue; - diff = pend - pathbuf; - } else { - /* XXX: GCC */ - diff = 0; - pend = pathend; - } - - if ((!anymeta) || - ((pglob->gl_flags & GLOB_PERIOD) && - (diff >= 1 && pend[-1] == DOT) && - (diff >= 2 && (pend[-2] == SLASH || pend[-2] == DOT)) && - (diff < 3 || pend[-3] == SLASH))) { + if (!anymeta) { pathend = q; pattern = p; while (*pattern == SEP) { @@ -791,7 +770,7 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern, else readdirfunc = (struct dirent *(*)(void *)) readdir; while ((dp = (*readdirfunc)(dirp)) != NULL) { - u_char *sc; + unsigned char *sc; Char *dc; if ((pglob->gl_flags & GLOB_LIMIT) && @@ -822,7 +801,7 @@ glob3(Char *pathbuf, Char *pathend, Char *pathlim, const Char *pattern, * The resulting string contains EOS, so we can * use the pathlim character, if it is the nul */ - for (sc = (u_char *) dp->d_name, dc = pathend; + for (sc = (unsigned char *) dp->d_name, dc = pathend; dc <= pathlim && (*dc++ = *sc++) != EOS;) continue; @@ -1168,8 +1147,3 @@ qprintf(const char *str, Char *s) (void)printf("\n"); } #endif - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(glob, __glob30) -__weak_alias(globfree, __globfree30) -#endif diff --git a/lib/libc/gen/gr_private.h b/lib/libc/gen/gr_private.h index 01fab81a4..2532a1754 100644 --- a/lib/libc/gen/gr_private.h +++ b/lib/libc/gen/gr_private.h @@ -40,13 +40,13 @@ #define _GROUP_COMPAT /* "group" defaults to compat, so always provide it */ -#ifndef __minix /* should be _REENTRANT */ +#if defined(__minix) && defined(_REENTRANT) /* * mutex to serialize the public group(5) functions use of the * back-end implementations, which may not be reentrant. */ extern mutex_t __grmutex; -#endif +#endif /* defined(__minix) */ /* * files methods diff --git a/lib/libc/gen/initdir.c b/lib/libc/gen/initdir.c index 2ab6591a9..a0623e5e1 100644 --- a/lib/libc/gen/initdir.c +++ b/lib/libc/gen/initdir.c @@ -35,19 +35,6 @@ __RCSID("$NetBSD: initdir.c,v 1.3 2012/03/13 21:13:36 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" - -#ifdef __minix -/* NetBSD BUG on !_REENTRANT */ -#include -#include -#include - -#ifndef O_CLOEXEC -#define O_CLOEXEC 0 -#endif - -#endif - #include "reentrant.h" #include "extern.h" @@ -233,11 +220,11 @@ retry: xp = dp; else dp->d_fileno = 0; -#ifndef __minix +#if !defined(__minix) if (dp->d_type == DT_WHT && (flags & DTF_HIDEW)) dp->d_fileno = 0; -#endif +#endif /* !defined(__minix) */ } free(dpv); diff --git a/lib/libc/gen/isctype.c b/lib/libc/gen/isctype.c index acab4ebde..b0b8ba4d8 100644 --- a/lib/libc/gen/isctype.c +++ b/lib/libc/gen/isctype.c @@ -1,4 +1,4 @@ -/* $NetBSD: isctype.c,v 1.21 2010/12/14 02:28:57 joerg Exp $ */ +/* $NetBSD: isctype.c,v 1.25 2013/08/19 22:43:28 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: isctype.c,v 1.21 2010/12/14 02:28:57 joerg Exp $"); +__RCSID("$NetBSD: isctype.c,v 1.25 2013/08/19 22:43:28 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -44,46 +44,59 @@ __RCSID("$NetBSD: isctype.c,v 1.21 2010/12/14 02:28:57 joerg Exp $"); #error "EOF != -1" #endif +#include "runetype_local.h" #include "setlocale_local.h" -#define _CTYPE_TAB(table, i) ((_current_cache()->table + 1)[i]) +#define _RUNE_LOCALE(loc) \ + ((_RuneLocale *)((loc)->part_impl[(size_t)LC_CTYPE])) #define _ISCTYPE_FUNC(name, bit) \ int \ is##name(int c) \ { \ - return (int)(_CTYPE_TAB(ctype_tab, c) & (bit)); \ + return (int)_ctype_tab_[c + 1] & (bit); \ +} \ +int \ +is##name ## _l(int c, locale_t loc) \ +{ \ + return (int)((_RUNE_LOCALE(loc)->rl_ctype_tab[c + 1]) & (bit)); \ } -_ISCTYPE_FUNC(alnum, _CTYPE_U|_CTYPE_L|_CTYPE_N ) -_ISCTYPE_FUNC(alpha, _CTYPE_U|_CTYPE_L ) +_ISCTYPE_FUNC(alnum, (_CTYPE_A|_CTYPE_D)) +_ISCTYPE_FUNC(alpha, _CTYPE_A) +_ISCTYPE_FUNC(blank, _CTYPE_BL) _ISCTYPE_FUNC(cntrl, _CTYPE_C ) -_ISCTYPE_FUNC(digit, _CTYPE_N ) -_ISCTYPE_FUNC(graph, _CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N ) +_ISCTYPE_FUNC(digit, _CTYPE_D) +_ISCTYPE_FUNC(graph, _CTYPE_G) _ISCTYPE_FUNC(lower, _CTYPE_L ) -_ISCTYPE_FUNC(print, _CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B) +_ISCTYPE_FUNC(print, _CTYPE_R) _ISCTYPE_FUNC(punct, _CTYPE_P ) _ISCTYPE_FUNC(space, _CTYPE_S ) _ISCTYPE_FUNC(upper, _CTYPE_U ) -_ISCTYPE_FUNC(xdigit, _CTYPE_N|_CTYPE_X ) - -int -isblank(int c) -{ - /* XXX: FIXME */ - return c == ' ' || c == '\t'; -} +_ISCTYPE_FUNC(xdigit, _CTYPE_X) int toupper(int c) { - return (int)_CTYPE_TAB(toupper_tab, c); + return (int)_toupper_tab_[c + 1]; +} + +int +toupper_l(int c, locale_t loc) +{ + return (int)(_RUNE_LOCALE(loc)->rl_toupper_tab[c + 1]); } int tolower(int c) { - return (int)_CTYPE_TAB(tolower_tab, c); + return (int)_tolower_tab_[c + 1]; +} + +int +tolower_l(int c, locale_t loc) +{ + return (int)(_RUNE_LOCALE(loc)->rl_tolower_tab[c + 1]); } int diff --git a/lib/libc/gen/isinfl_ieee754.c b/lib/libc/gen/isinfl_ieee754.c index 9c99d3d2f..d45a06884 100644 --- a/lib/libc/gen/isinfl_ieee754.c +++ b/lib/libc/gen/isinfl_ieee754.c @@ -1,4 +1,4 @@ -/* $NetBSD: isinfl_ieee754.c,v 1.4 2011/01/17 23:53:03 matt Exp $ */ +/* $NetBSD: isinfl_ieee754.c,v 1.5 2013/11/21 14:14:13 martin Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 static char sccsid[] = "@(#)isinf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: isinfl_ieee754.c,v 1.4 2011/01/17 23:53:03 matt Exp $"); +__RCSID("$NetBSD: isinfl_ieee754.c,v 1.5 2013/11/21 14:14:13 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -60,7 +60,13 @@ __isinfl(long double x) u.extu_ld = x; return u.extu_ext.ext_exp == EXT_EXP_INFNAN - && u.extu_ext.ext_frach == 0 && u.extu_ext.ext_frachm == 0 - && u.extu_ext.ext_fraclm == 0 && u.extu_ext.ext_fracl == 0; + && u.extu_ext.ext_frach == 0 +#if EXT_FRACHMBITS + && u.extu_ext.ext_frachm == 0 +#endif +#if EXT_FRACLMBITS + && u.extu_ext.ext_fraclm == 0 +#endif + && u.extu_ext.ext_fracl == 0; } #endif /* __HAVE_LONG_DOUBLE */ diff --git a/lib/libc/gen/isnanl_ieee754.c b/lib/libc/gen/isnanl_ieee754.c index d74a54b2a..77f407316 100644 --- a/lib/libc/gen/isnanl_ieee754.c +++ b/lib/libc/gen/isnanl_ieee754.c @@ -1,4 +1,4 @@ -/* $NetBSD: isnanl_ieee754.c,v 1.6 2011/01/17 23:53:03 matt Exp $ */ +/* $NetBSD: isnanl_ieee754.c,v 1.7 2013/11/21 14:14:13 martin Exp $ */ /* * Copyright (c) 1992, 1993 @@ -40,7 +40,7 @@ #if 0 static char sccsid[] = "@(#)isinf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: isnanl_ieee754.c,v 1.6 2011/01/17 23:53:03 matt Exp $"); +__RCSID("$NetBSD: isnanl_ieee754.c,v 1.7 2013/11/21 14:14:13 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -60,7 +60,13 @@ __isnanl(long double x) u.extu_ld = x; return u.extu_ext.ext_exp == EXT_EXP_INFNAN - && (u.extu_ext.ext_frach != 0 || u.extu_ext.ext_frachm != 0 - || u.extu_ext.ext_fraclm != 0 || u.extu_ext.ext_fracl != 0); + && (u.extu_ext.ext_frach != 0 +#if EXT_FRACHMBITS + || u.extu_ext.ext_frachm != 0 +#endif +#if EXT_FRACLMBITS + || u.extu_ext.ext_fraclm != 0 +#endif + || u.extu_ext.ext_fracl != 0); } #endif /* __HAVE_LONG_DOUBLE */ diff --git a/lib/libc/gen/minix/getpagesize.c b/lib/libc/gen/minix/getpagesize.c index 2ad61a699..71294f6a8 100644 --- a/lib/libc/gen/minix/getpagesize.c +++ b/lib/libc/gen/minix/getpagesize.c @@ -5,7 +5,9 @@ getpagesize.c #include #include "namespace.h" +#include #include + #include #ifdef __weak_alias diff --git a/lib/libc/gen/minix/raise.c b/lib/libc/gen/minix/raise.c index a7e951c6e..f192457c7 100644 --- a/lib/libc/gen/minix/raise.c +++ b/lib/libc/gen/minix/raise.c @@ -10,12 +10,12 @@ #include int _kill(int pid, int sig); -pid_t _getpid(void); +pid_t getpid(void); int raise(int sig) { if (sig < 0 || sig >= _NSIG) return -1; - return _kill(_getpid(), sig); + return _kill(getpid(), sig); } diff --git a/lib/libc/gen/minix/siglist.c b/lib/libc/gen/minix/siglist.c deleted file mode 100644 index 53437a337..000000000 --- a/lib/libc/gen/minix/siglist.c +++ /dev/null @@ -1,35 +0,0 @@ -#include -#include - -static const char *const __siglist14[] = { - "Signal 0", /* 0 */ - "Hangup", /* 1 SIGHUP */ - "Interrupt", /* 2 SIGINT */ - "Quit", /* 3 SIGQUIT */ - "Illegal instruction", /* 4 SIGILL */ - "Trace/BPT trap", /* 5 SIGTRAP */ - "Abort trap", /* 6 SIGABRT */ - "Bus error", /* 7 SIGBUS */ - "Floating point exception", /* 8 SIGFPE */ - "Killed", /* 9 SIGKILL */ - "User defined signal 1", /* 10 SIGUSR1 */ - "Segmentation fault", /* 11 SIGSEGV */ - "User defined signal 2", /* 11 SIGUSR2 */ - "Broken pipe", /* 13 SIGPIPE */ - "Alarm clock", /* 14 SIGALRM */ - "Terminated", /* 15 SIGTERM */ - "EMT trap", /* 16 SIGEMT */ - "Child exited", /* 17 SIGCHLD */ - "Continued", /* 18 SIGCONT */ - "Suspended (signal)", /* 19 SIGSTOP */ - "Suspended", /* 20 SIGTSTP */ - "Window size changes", /* 21 SIGWINCH */ - "Stopped (tty input)", /* 22 SIGTTIN */ - "Stopped (tty output)", /* 23 SIGTTOU */ - "Virtual timer expired", /* 24 SIGVTALRM */ - "Profiling timer expired", /* 25 SIGPROF */ -}; - -const int __sys_nsig14 = sizeof(__siglist14) / sizeof(__siglist14[0]); - -const char * const *__sys_siglist14 = __siglist14; diff --git a/lib/libc/gen/minix/sysconf.c b/lib/libc/gen/minix/sysconf.c index a740b3b7a..21d2c4d74 100644 --- a/lib/libc/gen/minix/sysconf.c +++ b/lib/libc/gen/minix/sysconf.c @@ -67,10 +67,10 @@ int name; /* property being inspected */ return (long) _POSIX_VERSION; case _SC_STREAM_MAX: - return (long) STREAM_MAX; + return (long) _POSIX_STREAM_MAX; case _SC_TZNAME_MAX: - return (long) TZNAME_MAX; + return (long) _POSIX_TZNAME_MAX; case _SC_PAGESIZE: return getpagesize(); diff --git a/lib/libc/gen/opendir.c b/lib/libc/gen/opendir.c index 787f513ce..0af93a0f5 100644 --- a/lib/libc/gen/opendir.c +++ b/lib/libc/gen/opendir.c @@ -40,13 +40,6 @@ __RCSID("$NetBSD: opendir.c,v 1.38 2011/10/15 23:00:01 christos Exp $"); #include "namespace.h" #include "reentrant.h" - -#ifdef __minix -#include -#include - -#endif - #include "extern.h" #include @@ -67,10 +60,6 @@ static DIR *__opendir_common(int, const char *, int); __weak_alias(fdopendir,_fdopendir) -#if defined(__weak_alias) && defined(__minix) -__weak_alias(opendir,__opendir230) -#endif - /* * Open a directory. */ @@ -90,7 +79,6 @@ __opendir2(const char *name, int flags) if ((fd = open(name, O_RDONLY | O_NONBLOCK | O_CLOEXEC)) == -1) return NULL; - return __opendir_common(fd, name, flags); } @@ -111,9 +99,9 @@ __opendir_common(int fd, const char *name, int flags) DIR *dirp = NULL; int serrno; struct stat sb; -#ifndef __minix +#if !defined(__minix) struct statvfs sfb; -#endif +#endif /* !defined(__minix) */ int error; if (fstat(fd, &sb) || !S_ISDIR(sb.st_mode)) { @@ -136,7 +124,7 @@ __opendir_common(int fd, const char *name, int flags) * Tweak flags for the underlying filesystem. */ -#ifdef __minix +#if defined(__minix) /* MOUNT_UNION and MOUNT_NFS not supported */ flags &= ~DTF_NODUP; #else @@ -154,7 +142,7 @@ __opendir_common(int fd, const char *name, int flags) if (!strncmp(sfb.f_fstypename, MOUNT_NFS, sizeof(sfb.f_fstypename))) { flags |= __DTF_READALL | __DTF_RETRY_ON_BADCOOKIE; } -#endif +#endif /* !defined(__minix) */ dirp->dd_flags = flags; error = _initdir(dirp, fd, name); diff --git a/lib/libc/gen/popen.c b/lib/libc/gen/popen.c index cd8cb5a6c..011aeed01 100644 --- a/lib/libc/gen/popen.c +++ b/lib/libc/gen/popen.c @@ -115,7 +115,7 @@ popen(const char *command, const char *type) rwlock_rdlock(&pidlist_lock); #else (void)rwlock_rdlock(&pidlist_lock); -#endif +#endif /* defined(__minix) */ (void)__readlockenv(); switch (pid = vfork()) { case -1: /* Error. */ @@ -125,7 +125,7 @@ popen(const char *command, const char *type) rwlock_unlock(&pidlist_lock); #else (void)rwlock_unlock(&pidlist_lock); -#endif +#endif /* defined(__minix) */ free(cur); (void)close(pdes[0]); (void)close(pdes[1]); @@ -189,7 +189,7 @@ popen(const char *command, const char *type) rwlock_unlock(&pidlist_lock); #else (void)rwlock_unlock(&pidlist_lock); -#endif +#endif /* defined(__minix) */ return (iop); } @@ -219,7 +219,7 @@ pclose(FILE *iop) rwlock_unlock(&pidlist_lock); #else (void)rwlock_unlock(&pidlist_lock); -#endif +#endif /* defined(__minix) */ return (-1); } @@ -235,7 +235,7 @@ pclose(FILE *iop) rwlock_unlock(&pidlist_lock); #else (void)rwlock_unlock(&pidlist_lock); -#endif +#endif /* defined(__minix) */ do { pid = waitpid(cur->pid, &pstat, 0); diff --git a/lib/libc/gen/posix_spawn.3 b/lib/libc/gen/posix_spawn.3 index 9e7eb47d0..d0384d7c6 100644 --- a/lib/libc/gen/posix_spawn.3 +++ b/lib/libc/gen/posix_spawn.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawn.3,v 1.3 2012/03/23 18:08:34 njoly Exp $ +.\" $NetBSD: posix_spawn.3,v 1.4 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -470,4 +470,4 @@ added for .Nx 6.0 during Google Summer of Code by Charles Zhang and Martin Husemann. .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawn_file_actions_addopen.3 b/lib/libc/gen/posix_spawn_file_actions_addopen.3 index 1fcddae8f..d0a701f10 100644 --- a/lib/libc/gen/posix_spawn_file_actions_addopen.3 +++ b/lib/libc/gen/posix_spawn_file_actions_addopen.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawn_file_actions_addopen.3,v 1.2 2012/03/23 18:08:34 njoly Exp $ +.\" $NetBSD: posix_spawn_file_actions_addopen.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -183,4 +183,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawn_file_actions_init.3 b/lib/libc/gen/posix_spawn_file_actions_init.3 index 55879b84a..bea00719e 100644 --- a/lib/libc/gen/posix_spawn_file_actions_init.3 +++ b/lib/libc/gen/posix_spawn_file_actions_init.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawn_file_actions_init.3,v 1.2 2012/03/23 18:08:34 njoly Exp $ +.\" $NetBSD: posix_spawn_file_actions_init.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -105,4 +105,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_getflags.3 b/lib/libc/gen/posix_spawnattr_getflags.3 index 2647f7850..aa67c61ea 100644 --- a/lib/libc/gen/posix_spawnattr_getflags.3 +++ b/lib/libc/gen/posix_spawnattr_getflags.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_getflags.3,v 1.2 2012/03/23 18:08:34 njoly Exp $ +.\" $NetBSD: posix_spawnattr_getflags.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -112,4 +112,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_getpgroup.3 b/lib/libc/gen/posix_spawnattr_getpgroup.3 index 1848efae5..ce39e5e26 100644 --- a/lib/libc/gen/posix_spawnattr_getpgroup.3 +++ b/lib/libc/gen/posix_spawnattr_getpgroup.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_getpgroup.3,v 1.2 2012/03/23 18:08:34 njoly Exp $ +.\" $NetBSD: posix_spawnattr_getpgroup.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -97,4 +97,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_getschedparam.3 b/lib/libc/gen/posix_spawnattr_getschedparam.3 index 9ef519996..3586a7b0a 100644 --- a/lib/libc/gen/posix_spawnattr_getschedparam.3 +++ b/lib/libc/gen/posix_spawnattr_getschedparam.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_getschedparam.3,v 1.2 2012/03/23 18:08:34 njoly Exp $ +.\" $NetBSD: posix_spawnattr_getschedparam.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -101,4 +101,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_getschedpolicy.3 b/lib/libc/gen/posix_spawnattr_getschedpolicy.3 index 943e4392a..d99661e62 100644 --- a/lib/libc/gen/posix_spawnattr_getschedpolicy.3 +++ b/lib/libc/gen/posix_spawnattr_getschedpolicy.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_getschedpolicy.3,v 1.2 2012/03/23 18:08:35 njoly Exp $ +.\" $NetBSD: posix_spawnattr_getschedpolicy.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -99,4 +99,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_getsigdefault.3 b/lib/libc/gen/posix_spawnattr_getsigdefault.3 index d1eb27e30..fa4c83f02 100644 --- a/lib/libc/gen/posix_spawnattr_getsigdefault.3 +++ b/lib/libc/gen/posix_spawnattr_getsigdefault.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_getsigdefault.3,v 1.2 2012/03/23 18:08:35 njoly Exp $ +.\" $NetBSD: posix_spawnattr_getsigdefault.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -99,4 +99,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_getsigmask.3 b/lib/libc/gen/posix_spawnattr_getsigmask.3 index 72151b4f3..6fab71800 100644 --- a/lib/libc/gen/posix_spawnattr_getsigmask.3 +++ b/lib/libc/gen/posix_spawnattr_getsigmask.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_getsigmask.3,v 1.2 2012/03/23 18:08:35 njoly Exp $ +.\" $NetBSD: posix_spawnattr_getsigmask.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -98,4 +98,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/posix_spawnattr_init.3 b/lib/libc/gen/posix_spawnattr_init.3 index f5b421dd1..60a0bf08e 100644 --- a/lib/libc/gen/posix_spawnattr_init.3 +++ b/lib/libc/gen/posix_spawnattr_init.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_spawnattr_init.3,v 1.2 2012/03/23 18:08:35 njoly Exp $ +.\" $NetBSD: posix_spawnattr_init.3,v 1.3 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2008 Ed Schouten .\" All rights reserved. @@ -124,4 +124,4 @@ functions first appeared in and imported for .Nx 6.0 . .Sh AUTHORS -.An Ed Schouten Aq ed@FreeBSD.org +.An Ed Schouten Aq Mt ed@FreeBSD.org diff --git a/lib/libc/gen/pwcache.c b/lib/libc/gen/pwcache.c index ffe840cab..2caf96a51 100644 --- a/lib/libc/gen/pwcache.c +++ b/lib/libc/gen/pwcache.c @@ -641,7 +641,3 @@ main(int argc, char *argv[]) } #endif /* TEST_PWCACHE */ #endif /* !HAVE_PWCACHE_USERDB */ - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(pwcache_userdb, __pwcache_userdb50) -#endif diff --git a/lib/libc/gen/readdir.c b/lib/libc/gen/readdir.c index 136d881db..e834621e2 100644 --- a/lib/libc/gen/readdir.c +++ b/lib/libc/gen/readdir.c @@ -40,12 +40,6 @@ __RCSID("$NetBSD: readdir.c,v 1.26 2012/06/25 22:32:43 abs Exp $"); #include "namespace.h" #include "reentrant.h" - -#ifdef __minix -#include -#include -#endif - #include "extern.h" #include @@ -87,10 +81,10 @@ _readdir_unlocked(DIR *dirp, int skipdeleted) dirp->dd_loc += dp->d_reclen; if (dp->d_ino == 0 && skipdeleted) continue; -#ifndef __minix +#if !defined(__minix) if (dp->d_type == DT_WHT && (dirp->dd_flags & DTF_HIDEW)) continue; -#endif +#endif /* !defined(__minix) */ return (dp); } } @@ -145,9 +139,3 @@ readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result) return (0); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(readdir, __readdir30) -__weak_alias(readdir_r, __readdir_r30) -__weak_alias(readdir_unlocked, ___readdir_unlocked50) -#endif diff --git a/lib/libc/gen/realpath.3 b/lib/libc/gen/realpath.3 index 2711e7c6f..335cafb91 100644 --- a/lib/libc/gen/realpath.3 +++ b/lib/libc/gen/realpath.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: realpath.3,v 1.14 2012/06/21 21:35:25 wiz Exp $ +.\" $NetBSD: realpath.3,v 1.18 2013/05/24 09:35:11 wiz Exp $ .\" .\" Copyright (c) 1994 .\" The Regents of the University of California. All rights reserved. @@ -32,7 +32,7 @@ .\" .\" from: @(#)realpath.3 8.2 (Berkeley) 2/16/94 .\" -.Dd June 21, 2012 +.Dd May 24, 2013 .Dt REALPATH 3 .Os .Sh NAME @@ -65,7 +65,8 @@ argument .Em must refer to a buffer capable of storing at least .Dv MAXPATHLEN -characters. +characters, or be +.Dv NULL . .Pp The .Fn realpath @@ -74,7 +75,7 @@ and return the absolute pathname corresponding to .Fa pathname . .Sh RETURN VALUES If -.Fa resolvednamed +.Fa resolvedname is .Dv NULL , it will be allocated and the returned pointer can be deallocated using @@ -91,7 +92,7 @@ returns and .Fa resolvedname was not allocated by -.Nm , +.Fn realpath , it will contain the pathname which caused the problem. .Sh ERRORS The function @@ -99,15 +100,35 @@ The function may fail and set the external variable .Va errno for any of the errors specified for the library functions -.Xr chdir 2 , -.Xr close 2 , -.Xr fchdir 2 , +.\" First sorted by section, then by name. .Xr lstat 2 , -.Xr malloc 3 , -.Xr open 2 , -.Xr readlink 2 +.Xr readlink 2 , +.Xr getcwd 3 and -.Xr getcwd 3 . +.Xr malloc 3 . +.Pp +In addition, the following errors may be reported: +.Bl -tag -width Er +.It Bq Er EINVAL +The value of the +.Fa pathname +argument is +.Dv NULL . +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the +.Fa pathname . +.It Bq Er ENAMETOOLONG +The resulting absolute pathname exceeds +.Dv MAXPATHLEN +characters. +.It Bq Er ENOENT +The value of the +.Fa pathname +argument is an empty string; +or a symbolic link to an empty string is encountered. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El .Sh SEE ALSO .Xr getcwd 3 .Sh STANDARDS diff --git a/lib/libc/gen/rewinddir.c b/lib/libc/gen/rewinddir.c index ed4195808..a16685247 100644 --- a/lib/libc/gen/rewinddir.c +++ b/lib/libc/gen/rewinddir.c @@ -40,11 +40,6 @@ __RCSID("$NetBSD: rewinddir.c,v 1.13 2010/09/26 02:26:59 yamt Exp $"); #include "namespace.h" #include "reentrant.h" - -#ifdef __minix -#include -#endif - #include "extern.h" #include diff --git a/lib/libc/gen/scandir.c b/lib/libc/gen/scandir.c index 80964fef4..ed3aac8d8 100644 --- a/lib/libc/gen/scandir.c +++ b/lib/libc/gen/scandir.c @@ -130,13 +130,9 @@ scandir(const char *dirname, struct dirent ***namelist, goto bad2; p->d_fileno = d->d_fileno; p->d_reclen = d->d_reclen; -#ifndef __minix p->d_type = d->d_type; p->d_namlen = d->d_namlen; (void)memmove(p->d_name, d->d_name, (size_t)(p->d_namlen + 1)); -#else - (void)memmove(p->d_name, d->d_name, (size_t)(strlen(d->d_name) + 1)); -#endif names[nitems++] = p; } (void)closedir(dirp); @@ -154,7 +150,3 @@ bad: (void)closedir(dirp); return -1; } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(scandir, __scandir30) -#endif diff --git a/lib/libc/gen/seekdir.c b/lib/libc/gen/seekdir.c index 1ace9798b..1c78fb0d9 100644 --- a/lib/libc/gen/seekdir.c +++ b/lib/libc/gen/seekdir.c @@ -1,4 +1,4 @@ -/* $NetBSD: seekdir.c,v 1.14 2006/05/17 20:36:50 christos Exp $ */ +/* $NetBSD: seekdir.c,v 1.15 2013/03/06 11:27:46 yamt Exp $ */ /* * Copyright (c) 1983, 1993 @@ -34,15 +34,12 @@ #if 0 static char sccsid[] = "@(#)seekdir.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: seekdir.c,v 1.14 2006/05/17 20:36:50 christos Exp $"); +__RCSID("$NetBSD: seekdir.c,v 1.15 2013/03/06 11:27:46 yamt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include "reentrant.h" -#ifdef __minix -#include -#endif #include "extern.h" #include @@ -56,7 +53,8 @@ __weak_alias(seekdir,_seekdir) /* * Seek to an entry in a directory. - * _seekdir_unlocked is in telldir.c so that it can share opaque data structures. + * _seekdir_unlocked is in telldir.c so that it can share opaque + * data structures. */ void seekdir(DIR *dirp, long loc) diff --git a/lib/libc/gen/sigsetops.c b/lib/libc/gen/sigsetops.c index 9e8b6c0b4..5b227355a 100644 --- a/lib/libc/gen/sigsetops.c +++ b/lib/libc/gen/sigsetops.c @@ -44,11 +44,3 @@ __RCSID("$NetBSD: sigsetops.c,v 1.16 2010/07/31 00:04:43 joerg Exp $"); #include #include - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(sigaddset, __sigaddset14) -__weak_alias(sigdelset, __sigdelset14) -__weak_alias(sigemptyset, __sigemptyset14) -__weak_alias(sigfillset, __sigfillset14) -__weak_alias(sigismember, __sigismember14) -#endif diff --git a/lib/libc/gen/sysconf.3 b/lib/libc/gen/sysconf.3 index 4b66db77e..56531cc0a 100644 --- a/lib/libc/gen/sysconf.3 +++ b/lib/libc/gen/sysconf.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: sysconf.3,v 1.40 2011/08/23 17:28:34 jmcneill Exp $ +.\" $NetBSD: sysconf.3,v 1.42 2012/11/03 00:52:41 wiz Exp $ .\" .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)sysconf.3 8.3 (Berkeley) 4/19/94 .\" -.Dd August 23, 2011 +.Dd November 2, 2012 .Dt SYSCONF 3 .Os .Sh NAME @@ -282,6 +282,10 @@ and The number of processors configured. .It Li _SC_NPROCESSORS_ONLN The number of processors online (capable of running processes). +.It Li _SC_PHYS_PAGES +The amount of physical memory on the system in +.Li _SC_PAGESIZE +bytes. .El .Sh RETURN VALUES If the call to diff --git a/lib/libc/gen/sysconf.c b/lib/libc/gen/sysconf.c index 4ec517692..fedae547e 100644 --- a/lib/libc/gen/sysconf.c +++ b/lib/libc/gen/sysconf.c @@ -1,4 +1,4 @@ -/* $NetBSD: sysconf.c,v 1.34 2012/08/01 15:24:22 martin Exp $ */ +/* $NetBSD: sysconf.c,v 1.35 2012/11/02 21:43:07 christos Exp $ */ /*- * Copyright (c) 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)sysconf.c 8.2 (Berkeley) 3/20/94"; #else -__RCSID("$NetBSD: sysconf.c,v 1.34 2012/08/01 15:24:22 martin Exp $"); +__RCSID("$NetBSD: sysconf.c,v 1.35 2012/11/02 21:43:07 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -75,6 +75,7 @@ sysconf(int name) { struct rlimit rl; size_t len; + uint64_t mem; int mib[CTL_MAXNAME], value; unsigned int mib_len; struct clockinfo tmpclock; @@ -367,6 +368,14 @@ yesno: if (sysctl(mib, mib_len, &value, &len, NULL, 0) == -1) mib[1] = HW_NCPUONLINE; break; +/* Linux/Solaris */ + case _SC_PHYS_PAGES: + len = sizeof(mem); + mib[0] = CTL_HW; + mib[1] = HW_PHYSMEM64; + return sysctl(mib, 2, &mem, &len, NULL, 0) == -1 ? -1 : + (long)(mem / _getpagesize()); + /* Native */ case _SC_SCHED_RT_TS: if (sysctlgetmibinfo("kern.sched.rtts", &mib[0], &mib_len, diff --git a/lib/libc/gen/sysctl.c b/lib/libc/gen/sysctl.c index 81c84abfd..66318145d 100644 --- a/lib/libc/gen/sysctl.c +++ b/lib/libc/gen/sysctl.c @@ -69,14 +69,14 @@ static size_t __cvt_node_out(uint, const struct sysctlnode *, void **, #include -#ifdef __minix +#if defined(__minix) int __sysctl(const int *name, unsigned int namelen, void *oldp, size_t *oldlenp, const void *newp, size_t newlen) { return ENOENT; } -#endif +#endif /* defined(__minix) */ int sysctl(const int *name, unsigned int namelen, diff --git a/lib/libc/gen/syslog.c b/lib/libc/gen/syslog.c index 8febd8969..db90df922 100644 --- a/lib/libc/gen/syslog.c +++ b/lib/libc/gen/syslog.c @@ -59,9 +59,9 @@ __RCSID("$NetBSD: syslog.c,v 1.53 2012/10/11 17:09:55 christos Exp $"); #include "reentrant.h" #include "extern.h" -#ifdef __minix +#if defined(__minix) #include -#endif +#endif /* defined(__minix) */ #ifdef __weak_alias __weak_alias(closelog,_closelog) @@ -298,10 +298,10 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid, #endif } -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_lock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ if (data->log_hostname[0] == '\0' && gethostname(data->log_hostname, sizeof(data->log_hostname)) == -1) { @@ -320,10 +320,10 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid, prlen = snprintf_ss(p, tbuf_left, "%s ", data->log_tag ? data->log_tag : "-"); -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_unlock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ if (data->log_stat & (LOG_PERROR|LOG_CONS)) { iovcnt = 0; @@ -434,10 +434,10 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid, } /* Get connected, output the message to the local logger. */ -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_lock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ opened = !data->log_opened; if (opened) openlog_unlocked_r(data->log_tag, data->log_stat, 0, data); @@ -452,11 +452,11 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid, * to give syslogd a chance to empty its socket buffer. */ for (tries = 0; tries < MAXTRIES; tries++) { -#ifdef __minix +#if defined(__minix) if (write(data->log_file, tbuf, cnt) != -1) #else if (send(data->log_file, tbuf, cnt, 0) != -1) -#endif +#endif /* defined(__minix) */ break; if (errno != ENOBUFS) { disconnectlog_r(data); @@ -478,10 +478,10 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid, (void)close(fd); } -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_unlock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ if (data != &sdata && opened) { /* preserve log tag */ @@ -512,9 +512,9 @@ connectlog_r(struct syslog_data *data) /* AF_UNIX address of local logger */ static const struct sockaddr_un sun = { .sun_family = AF_LOCAL, -#ifndef __minix +#if !defined(__minix) .sun_len = sizeof(sun), -#endif +#endif /* !defined(__minix) */ .sun_path = _PATH_LOG, }; @@ -525,14 +525,14 @@ connectlog_r(struct syslog_data *data) data->log_connected = 0; } if (!data->log_connected) { -#ifdef __minix +#if defined(__minix) if(ioctl(data->log_file, NWIOSUDSTADDR, (void *) &sun) < 0) #else if (connect(data->log_file, (const struct sockaddr *)(const void *)&sun, (socklen_t)sizeof(sun)) == -1) -#endif +#endif /* defined(__minix) */ { (void)close(data->log_file); data->log_file = -1; @@ -560,32 +560,32 @@ openlog_unlocked_r(const char *ident, int logstat, int logfac, void openlog_r(const char *ident, int logstat, int logfac, struct syslog_data *data) { -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_lock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ openlog_unlocked_r(ident, logstat, logfac, data); -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_unlock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ } void closelog_r(struct syslog_data *data) { -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_lock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ (void)close(data->log_file); data->log_file = -1; data->log_connected = 0; data->log_tag = NULL; -#ifndef __minix +#if !defined(__minix) if (data == &sdata) mutex_unlock(&syslog_mutex); -#endif +#endif /* !defined(__minix) */ } int diff --git a/lib/libc/gen/telldir.c b/lib/libc/gen/telldir.c index e45351c53..1bbe14390 100644 --- a/lib/libc/gen/telldir.c +++ b/lib/libc/gen/telldir.c @@ -1,4 +1,4 @@ -/* $NetBSD: telldir.c,v 1.19 2008/05/04 18:53:26 tonnerre Exp $ */ +/* $NetBSD: telldir.c,v 1.20 2013/03/06 11:27:28 yamt Exp $ */ /* * Copyright (c) 1983, 1993 @@ -34,17 +34,12 @@ #if 0 static char sccsid[] = "@(#)telldir.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: telldir.c,v 1.19 2008/05/04 18:53:26 tonnerre Exp $"); +__RCSID("$NetBSD: telldir.c,v 1.20 2013/03/06 11:27:28 yamt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include "reentrant.h" - -#ifdef __minix -#include -#endif - #include "extern.h" #include @@ -66,11 +61,11 @@ telldir(DIR *dirp) #ifdef _REENTRANT if (__isthreaded) { mutex_lock((mutex_t *)dirp->dd_lock); - rv = (intptr_t)_telldir_unlocked(dirp); + rv = _telldir_unlocked(dirp); mutex_unlock((mutex_t *)dirp->dd_lock); } else #endif - rv = (intptr_t)_telldir_unlocked(dirp); + rv = _telldir_unlocked(dirp); return rv; } diff --git a/lib/libc/gen/time.c b/lib/libc/gen/time.c index 0e85066b6..47107ab29 100644 --- a/lib/libc/gen/time.c +++ b/lib/libc/gen/time.c @@ -55,7 +55,3 @@ time(time_t *t) *t = (time_t)tt.tv_sec; return (time_t)tt.tv_sec; } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(time, __time50) -#endif diff --git a/lib/libc/gen/times.c b/lib/libc/gen/times.c index e1dfc3826..55b05a18b 100644 --- a/lib/libc/gen/times.c +++ b/lib/libc/gen/times.c @@ -90,7 +90,3 @@ times(struct tms *tp) return ((clock_t)-1); return ((clock_t)(CONVTCK(t))); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(times, _times) -#endif diff --git a/lib/libc/gen/tolower_.c b/lib/libc/gen/tolower_.c index edc6ee3a6..11ee962e2 100644 --- a/lib/libc/gen/tolower_.c +++ b/lib/libc/gen/tolower_.c @@ -1,4 +1,4 @@ -/* $NetBSD: tolower_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $ */ +/* $NetBSD: tolower_.c,v 1.14 2013/04/13 10:16:27 joerg Exp $ */ /* * Written by J.T. Conklin . @@ -7,7 +7,7 @@ #include #if defined(LIBC_RCS) && !defined(lint) -__RCSID("$NetBSD: tolower_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $"); +__RCSID("$NetBSD: tolower_.c,v 1.14 2013/04/13 10:16:27 joerg Exp $"); #endif /* LIBC_RCS and not lint */ #include @@ -18,7 +18,7 @@ __RCSID("$NetBSD: tolower_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $"); #error "EOF != -1" #endif -const short _C_tolower_[1 + _CTYPE_NUM_CHARS] = { +const short _C_tolower_tab_[1 + _CTYPE_NUM_CHARS] = { EOF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, @@ -54,4 +54,10 @@ const short _C_tolower_[1 + _CTYPE_NUM_CHARS] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; -const short *_tolower_tab_ = &_C_tolower_[0]; +#ifdef __BUILD_LEGACY +#ifdef __weak_alias +__weak_alias(_C_tolower_, _C_tolower_tab_) +#endif +#endif + +const short *_tolower_tab_ = &_C_tolower_tab_[0]; diff --git a/lib/libc/gen/toupper_.c b/lib/libc/gen/toupper_.c index 864f7e172..46d038497 100644 --- a/lib/libc/gen/toupper_.c +++ b/lib/libc/gen/toupper_.c @@ -1,4 +1,4 @@ -/* $NetBSD: toupper_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $ */ +/* $NetBSD: toupper_.c,v 1.14 2013/04/13 10:16:27 joerg Exp $ */ /* * Written by J.T. Conklin . @@ -7,7 +7,7 @@ #include #if defined(LIBC_RCS) && !defined(lint) -__RCSID("$NetBSD: toupper_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $"); +__RCSID("$NetBSD: toupper_.c,v 1.14 2013/04/13 10:16:27 joerg Exp $"); #endif /* LIBC_RCS and not lint */ #include @@ -18,7 +18,7 @@ __RCSID("$NetBSD: toupper_.c,v 1.13 2010/06/01 13:52:08 tnozaki Exp $"); #error "EOF != -1" #endif -const short _C_toupper_[1 + _CTYPE_NUM_CHARS] = { +const short _C_toupper_tab_[1 + _CTYPE_NUM_CHARS] = { EOF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, @@ -54,4 +54,10 @@ const short _C_toupper_[1 + _CTYPE_NUM_CHARS] = { 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; -const short *_toupper_tab_ = &_C_toupper_[0]; +#ifdef __BUILD_LEGACY +#ifdef __weak_alias +__weak_alias(_C_toupper_, _C_toupper_tab_) +#endif +#endif + +const short *_toupper_tab_ = &_C_toupper_tab_[0]; diff --git a/lib/libc/gen/ttyname.c b/lib/libc/gen/ttyname.c index 236826778..879c5c9a2 100644 --- a/lib/libc/gen/ttyname.c +++ b/lib/libc/gen/ttyname.c @@ -56,7 +56,7 @@ __weak_alias(ttyname,_ttyname) __weak_alias(ttyname_r,_ttyname_r) #endif -#ifdef __minix +#if defined(__minix) /* LSC: We do not have devname functionality on Minix, so re-import for now * old, manual way of doing it.*/ #include @@ -104,20 +104,20 @@ oldttyname(const struct stat *sb, char *buf, size_t len) return -1; } -#endif +#endif /* defined(__minix) */ int ttyname_r(int fd, char *buf, size_t len) { struct stat sb; struct termios ttyb; -#ifndef __minix +#if !defined(__minix) struct ptmget ptm; -#endif +#endif /* !defined(__minix) */ _DIAGASSERT(fd != -1); -#ifndef __minix +#if !defined(__minix) /* If it is a pty, deal with it quickly */ if (ioctl(fd, TIOCPTSNAME, &ptm) != -1) { if (strlcpy(buf, ptm.sn, len) >= len) { @@ -125,7 +125,7 @@ ttyname_r(int fd, char *buf, size_t len) } return 0; } -#endif +#endif /* !defined(__minix) */ /* Must be a terminal. */ if (tcgetattr(fd, &ttyb) == -1) @@ -137,7 +137,7 @@ ttyname_r(int fd, char *buf, size_t len) if (strlcpy(buf, _PATH_DEV, len) >= len) return ERANGE; -#ifdef __minix +#if defined(__minix) if (oldttyname(&sb, buf, len) == -1) return errno; return 0; @@ -145,10 +145,9 @@ ttyname_r(int fd, char *buf, size_t len) buf += strlen(_PATH_DEV); len -= strlen(_PATH_DEV); return devname_r(sb.st_rdev, sb.st_mode & S_IFMT, buf, len); -#endif +#endif /* defined(__minix) */ } - char * ttyname(int fd) { diff --git a/lib/libc/gen/ttyslot.c b/lib/libc/gen/ttyslot.c index 3d1d2b533..d063589c0 100644 --- a/lib/libc/gen/ttyslot.c +++ b/lib/libc/gen/ttyslot.c @@ -59,20 +59,20 @@ ttyslot(void) char *p; int cnt; char *name; -#ifndef __minix +#if !defined(__minix) struct ptmget ptm; -#endif +#endif /* !defined(__minix) */ setttyent(); for (cnt = 0; cnt < 3; ++cnt) { -#ifndef __minix +#if !defined(__minix) if (ioctl(cnt, TIOCPTSNAME, &ptm) != -1) { ispty = 1; name = ptm.sn; } else if ((name = ttyname(cnt)) != NULL) { #else if ((name = ttyname(cnt)) != NULL) { -#endif +#endif /* !defined(__minix) */ ispty = 0; } else continue; diff --git a/lib/libc/gen/ulimit.c b/lib/libc/gen/ulimit.c index 97c85b2af..aa9ac5799 100644 --- a/lib/libc/gen/ulimit.c +++ b/lib/libc/gen/ulimit.c @@ -44,11 +44,11 @@ ulimit(int cmd, ...) { va_list ap; struct rlimit rlimit; -#ifndef __minix +#if !defined(__minix) long int new_limit, result; #else long int result; -#endif +#endif /* !defined(__minix) */ va_start(ap, cmd); @@ -58,14 +58,14 @@ ulimit(int cmd, ...) if (getrlimit(RLIMIT_FSIZE, &rlimit) == 0) result = (long int)(rlimit.rlim_cur / 512); break; -#ifndef __minix +#if !defined(__minix) case UL_SETFSIZE: new_limit = va_arg(ap, long int); rlimit.rlim_cur = rlimit.rlim_max = (rlim_t)new_limit * 512; if (setrlimit(RLIMIT_FSIZE, &rlimit) == 0) result = new_limit; break; -#endif +#endif /* !defined(__minix) */ default: errno = EINVAL; } diff --git a/lib/libc/gen/unvis.3 b/lib/libc/gen/unvis.3 index 69e1f729a..b856a730e 100644 --- a/lib/libc/gen/unvis.3 +++ b/lib/libc/gen/unvis.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: unvis.3,v 1.23 2011/03/17 14:06:29 wiz Exp $ +.\" $NetBSD: unvis.3,v 1.27 2012/12/15 07:34:36 wiz Exp $ .\" .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -125,15 +125,17 @@ The function has several return codes that must be handled properly. They are: .Bl -tag -width UNVIS_VALIDPUSH -.It Li \&0 (zero) +.It Li \&0 No (zero) Another character is necessary; nothing has been recognized yet. .It Dv UNVIS_VALID A valid character has been recognized and is available at the location -pointed to by cp. +pointed to by +.Fa cp . .It Dv UNVIS_VALIDPUSH A valid character has been recognized and is available at the location -pointed to by cp; however, the character currently passed in should -be passed in again. +pointed to by +.Fa cp ; +however, the character currently passed in should be passed in again. .It Dv UNVIS_NOCHAR A valid sequence was detected, but no character was produced. This return code is necessary to indicate a logical break between characters. @@ -149,7 +151,7 @@ one more time with flag set to to extract any remaining character (the character passed in is ignored). .Pp The -.Ar flag +.Fa flag argument is also used to specify the encoding style of the source. If set to .Dv VIS_HTTPSTYLE @@ -160,7 +162,8 @@ will decode URI strings as specified in RFC 1808. If set to .Dv VIS_HTTP1866 , .Fn unvis -will decode URI strings as specified in RFC 1866. +will decode entity references and numeric character references +as specified in RFC 1866. If set to .Dv VIS_MIMESTYLE , .Fn unvis @@ -168,7 +171,9 @@ will decode MIME Quoted-Printable strings as specified in RFC 2045. If set to .Dv VIS_NOESCAPE , .Fn unvis -will not decode \e quoted characters. +will not decode +.Ql \e +quoted characters. .Pp The following code fragment illustrates a proper use of .Fn unvis . @@ -203,7 +208,7 @@ The functions and .Fn strnunvisx will return \-1 on error and set -.Va errno +.Va errno to: .Bl -tag -width Er .It Bq Er EINVAL @@ -211,7 +216,7 @@ An invalid escape sequence was detected, or the decoder is in an unknown state. .El .Pp In addition the functions -.Fn strnunvis +.Fn strnunvis and .Fn strnunvisx will can also set @@ -242,3 +247,13 @@ and .Fn strnunvisx functions appeared in .Nx 6.0 . +.Sh BUGS +The names +.Dv VIS_HTTP1808 +and +.Dv VIS_HTTP1866 +are wrong. +Percent-encoding was defined in RFC 1738, the original RFC for URL. +RFC 1866 defines HTML 2.0, an application of SGML, from which it +inherits concepts of numeric character references and entity +references. diff --git a/lib/libc/gen/unvis.c b/lib/libc/gen/unvis.c index 8d460c34b..cf0273dfc 100644 --- a/lib/libc/gen/unvis.c +++ b/lib/libc/gen/unvis.c @@ -1,4 +1,4 @@ -/* $NetBSD: unvis.c,v 1.39 2012/03/13 21:13:37 christos Exp $ */ +/* $NetBSD: unvis.c,v 1.41 2012/12/15 04:29:53 matt Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)unvis.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: unvis.c,v 1.39 2012/03/13 21:13:37 christos Exp $"); +__RCSID("$NetBSD: unvis.c,v 1.41 2012/12/15 04:29:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -81,7 +81,7 @@ __weak_alias(strnunvisx,_strnunvisx) * RFC 1866 */ static const struct nv { - const char *name; + char name[7]; uint8_t value; } nv[] = { { "AElig", 198 }, /* capital AE diphthong (ligature) */ diff --git a/lib/libc/gen/utmp.c b/lib/libc/gen/utmp.c index ae722fc28..9fb0799db 100644 --- a/lib/libc/gen/utmp.c +++ b/lib/libc/gen/utmp.c @@ -104,7 +104,3 @@ utmpname(const char *fname) endutent(); return 1; } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(getutent, __getutent50) -#endif diff --git a/lib/libc/gen/utmpx.c b/lib/libc/gen/utmpx.c index d3f3594d4..9476f33e8 100644 --- a/lib/libc/gen/utmpx.c +++ b/lib/libc/gen/utmpx.c @@ -1,4 +1,4 @@ -/* $NetBSD: utmpx.c,v 1.30 2012/06/24 15:26:03 christos Exp $ */ +/* $NetBSD: utmpx.c,v 1.31 2013/09/05 17:35:11 pooka Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: utmpx.c,v 1.30 2012/06/24 15:26:03 christos Exp $"); +__RCSID("$NetBSD: utmpx.c,v 1.31 2013/09/05 17:35:11 pooka Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -82,11 +82,12 @@ old2new(struct utmpx *utx) static void new2old(struct utmpx *utx) { - struct timeval tv; - struct otimeval *otv = (void *)&utx->ut_tv; - (void)memcpy(&tv, otv, sizeof(tv)); - otv->tv_sec = (long)tv.tv_sec; - otv->tv_usec = (long)tv.tv_usec; + struct timeval otv; + struct timeval *tv = &utx->ut_tv; + + otv.tv_sec = (long)tv->tv_sec; + otv.tv_usec = (long)tv->tv_usec; + (void)memcpy(tv, &otv, sizeof(otv)); } void @@ -342,27 +343,17 @@ updwtmpx(const char *file, const struct utmpx *utx) _DIAGASSERT(file != NULL); _DIAGASSERT(utx != NULL); -#ifndef __minix fd = open(file, O_WRONLY|O_APPEND|O_SHLOCK); -#else - fd = open(file, O_WRONLY|O_APPEND); -#endif if (fd == -1) { -#ifndef __minix if ((fd = open(file, O_CREAT|O_WRONLY|O_EXLOCK, 0644)) == -1) return -1; -#else - if ((fd = open(file, O_CREAT|O_WRONLY, 0644)) < 0) - return -1; -#endif (void)memset(&ut, 0, sizeof(ut)); ut.ut_type = SIGNATURE; (void)memcpy(ut.ut_user, vers, sizeof(vers)); if (write(fd, &ut, sizeof(ut)) == -1) goto failed; } - if (write(fd, utx, sizeof(*utx)) == -1) goto failed; if (close(fd) == -1) @@ -441,11 +432,7 @@ getlastlogx(const char *fname, uid_t uid, struct lastlogx *ll) _DIAGASSERT(fname != NULL); _DIAGASSERT(ll != NULL); -#ifdef __minix - db = dbopen(fname, O_RDONLY, 0, DB_HASH, NULL); -#else db = dbopen(fname, O_RDONLY|O_SHLOCK, 0, DB_HASH, NULL); -#endif if (db == NULL) return NULL; @@ -484,11 +471,7 @@ updlastlogx(const char *fname, uid_t uid, struct lastlogx *ll) _DIAGASSERT(fname != NULL); _DIAGASSERT(ll != NULL); -#ifndef __minix db = dbopen(fname, O_RDWR|O_CREAT|O_EXLOCK, 0644, DB_HASH, NULL); -#else - db = dbopen(fname, O_RDWR|O_CREAT, 0644, DB_HASH, NULL); -#endif if (db == NULL) return -1; @@ -503,15 +486,3 @@ updlastlogx(const char *fname, uid_t uid, struct lastlogx *ll) (db->close)(db); return error; } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(getlastlogx, __getlastlogx50) -__weak_alias(getutmp, __getutmp50) -__weak_alias(getutmpx, __getutmpx50) -__weak_alias(getutxent, __getutxent50) -__weak_alias(getutxid, __getutxid50) -__weak_alias(getutxline, __getutxline50) -__weak_alias(pututxline, __pututxline50) -__weak_alias(updlastlogx, __updlastlogx50) -__weak_alias(updwtmpx, __updwtmpx50) -#endif diff --git a/lib/libc/gen/vis.3 b/lib/libc/gen/vis.3 index 6f1e9d5fa..166316d1f 100644 --- a/lib/libc/gen/vis.3 +++ b/lib/libc/gen/vis.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: vis.3,v 1.27 2011/05/17 07:10:39 joerg Exp $ +.\" $NetBSD: vis.3,v 1.39 2013/02/20 20:05:26 christos Exp $ .\" .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)vis.3 8.1 (Berkeley) 6/9/93 .\" -.Dd March 12, 2011 +.Dd February 19, 2013 .Dt VIS 3 .Os .Sh NAME @@ -39,12 +39,14 @@ .Nm strnvis , .Nm strvisx , .Nm strnvisx , +.Nm strenvisx , .Nm svis , .Nm snvis , .Nm strsvis , .Nm strsnvis , -.Nm strsvisx -.Nm strsnvisx +.Nm strsvisx , +.Nm strsnvisx , +.Nm strsenvisx .Nd visually encode characters .Sh LIBRARY .Lb libc @@ -62,6 +64,8 @@ .Fn strvisx "char *dst" "const char *src" "size_t len" "int flag" .Ft int .Fn strnvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" +.Ft int +.Fn strenvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" "int *cerr_ptr" .Ft char * .Fn svis "char *dst" "int c" "int flag" "int nextc" "const char *extra" .Ft char * @@ -74,6 +78,8 @@ .Fn strsvisx "char *dst" "const char *src" "size_t len" "int flag" "const char *extra" .Ft int .Fn strsnvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" "const char *extra" +.Ft int +.Fn strsenvisx "char *dst" "size_t dlen" "const char *src" "size_t len" "int flag" "const char *extra" "int *cerr_ptr" .Sh DESCRIPTION The .Fn vis @@ -88,11 +94,11 @@ needs no encoding, it is copied in unaltered. The string is null terminated, and a pointer to the end of the string is returned. The maximum length of any encoding is four -characters (not including the trailing +bytes (not including the trailing .Dv NUL ) ; thus, when encoding a set of characters into a buffer, the size of the buffer should -be four times the number of characters encoded, plus one for the trailing +be four times the number of bytes encoded, plus one for the trailing .Dv NUL . The flag parameter is used for altering the default range of characters considered for encoding and for altering the visual @@ -141,16 +147,17 @@ terminate The size of .Fa dst must be four times the number -of characters encoded from +of bytes encoded from .Fa src (plus one for the .Dv NUL ) . Both -forms return the number of characters in dst (not including -the trailing +forms return the number of characters in +.Fa dst +(not including the trailing .Dv NUL ) . The -.Dq n +.Dq Nm n versions of the functions also take an additional argument .Fa dlen that indicates the length of the @@ -158,7 +165,7 @@ that indicates the length of the buffer. If .Fa dlen -is not large enough to fix the converted string then the +is not large enough to fit the converted string then the .Fn strnvis and .Fn strnvisx @@ -166,6 +173,14 @@ functions return \-1 and set .Va errno to .Dv ENOSPC . +The +.Fn strenvisx +function takes an additional argument, +.Fa cerr_ptr , +that is used to pass in and out a multibyte conversion error flag. +This is useful when processing single characters at a time when +it is possible that the locale may be set to something other +than the locale of the characters in the input data. .Pp The functions .Fn svis , @@ -173,16 +188,18 @@ The functions .Fn strsvis , .Fn strsnvis , .Fn strsvisx , +.Fn strsnvisx , and -.Fn strsnvisx +.Fn strsenvisx correspond to .Fn vis , .Fn nvis , .Fn strvis , .Fn strnvis , .Fn strvisx , +.Fn strnvisx , and -.Fn strnvisx +.Fn strenvisx but have an additional argument .Fa extra , pointing to a @@ -213,12 +230,20 @@ and .Fn strnvisx ) , and the type of representation used. By default, all non-graphic characters, -except space, tab, and newline are encoded. -(See -.Xr isgraph 3 . ) +except space, tab, and newline are encoded (see +.Xr isgraph 3 ) . The following flags alter this: .Bl -tag -width VIS_WHITEX +.It Dv VIS_GLOB +Also encode the magic characters +.Ql ( * , +.Ql \&? , +.Ql \&[ +and +.Ql # ) +recognized by +.Xr glob 3 . .It Dv VIS_SP Also encode space. .It Dv VIS_TAB @@ -233,11 +258,13 @@ Synonym for \&| .Dv VIS_NL . .It Dv VIS_SAFE -Only encode "unsafe" characters. +Only encode +.Dq unsafe +characters. Unsafe means control characters which may cause common terminals to perform unexpected functions. Currently this form allows space, tab, newline, backspace, bell, and -return - in addition to all graphic characters - unencoded. +return \(em in addition to all graphic characters \(em unencoded. .El .Pp (The above flags have no effect for @@ -277,8 +304,8 @@ Use an to represent meta characters (characters with the 8th bit set), and use caret .Ql ^ -to represent control characters see -.Pf ( Xr iscntrl 3 ) . +to represent control characters (see +.Xr iscntrl 3 ) . The following formats are used: .Bl -tag -width xxxxx .It Dv \e^C @@ -325,19 +352,20 @@ Use C-style backslash sequences to represent standard non-printable characters. The following sequences are used to represent the indicated characters: .Bd -unfilled -offset indent -.Li \ea Tn - BEL No (007) -.Li \eb Tn - BS No (010) -.Li \ef Tn - NP No (014) -.Li \en Tn - NL No (012) -.Li \er Tn - CR No (015) -.Li \es Tn - SP No (040) -.Li \et Tn - HT No (011) -.Li \ev Tn - VT No (013) -.Li \e0 Tn - NUL No (000) +.Li \ea Tn \(em BEL No (007) +.Li \eb Tn \(em BS No (010) +.Li \ef Tn \(em NP No (014) +.Li \en Tn \(em NL No (012) +.Li \er Tn \(em CR No (015) +.Li \es Tn \(em SP No (040) +.Li \et Tn \(em HT No (011) +.Li \ev Tn \(em VT No (013) +.Li \e0 Tn \(em NUL No (000) .Ed .Pp -When using this format, the nextc parameter is looked at to determine -if a +When using this format, the +.Fa nextc +parameter is looked at to determine if a .Dv NUL character can be encoded as .Ql \e0 @@ -364,8 +392,8 @@ represents a lower case hexadecimal digit. .It Dv VIS_MIMESTYLE Use MIME Quoted-Printable encoding as described in RFC 2045, only don't break lines and don't handle CRLF. -The form is: -.Ql %XX +The form is +.Ql =XX where .Em X represents an upper case hexadecimal digit. @@ -382,6 +410,41 @@ meta characters as .Ql M-C ) . With this flag set, the encoding is ambiguous and non-invertible. +.Sh MULTIBYTE CHARACTER SUPPORT +These functions support multibyte character input. +The encoding conversion is influenced by the setting of the +.Ev LC_CTYPE +environment variable which defines the set of characters +that can be copied without encoding. +.Pp +When 8-bit data is present in the input, +.Ev LC_CTYPE +must be set to the correct locale or to the C locale. +If the locales of the data and the conversion are mismatched, +multibyte character recognition may fail and encoding will be performed +byte-by-byte instead. +.Pp +As noted above, +.Fa dst +must be four times the number of bytes processed from +.Fa src . +But note that each multibyte character can be up to +.Dv MB_LEN_MAX +bytes +.\" (see +.\" .Xr multibyte 3 ) +so in terms of multibyte characters, +.Fa dst +must be four times +.Dv MB_LEN_MAX +times the number of characters processed from +.Fa src . +.Sh ENVIRONMENT +.Bl -tag -width ".Ev LC_CTYPE" +.It Ev LC_CTYPE +Specify the locale of the input data. +Set to C if the input data locale is unknown. +.El .Sh ERRORS The functions .Fn nvis @@ -397,29 +460,35 @@ and .Fn strsnvisx , will return \-1 when the .Fa dlen -destination buffer length size is not enough to perform the conversion while +destination buffer size is not enough to perform the conversion while setting .Va errno to: -.Bl -tag -width Er +.Bl -tag -width ".Bq Er ENOSPC" .It Bq Er ENOSPC The destination buffer size is not large enough to perform the conversion. .El .Sh SEE ALSO .Xr unvis 1 , .Xr vis 1 , +.Xr glob 3 , +.\" .Xr multibyte 3 , .Xr unvis 3 .Rs .%A T. Berners-Lee .%T Uniform Resource Locators (URL) -.%O RFC1738 +.%O "RFC 1738" +.Re +.Rs +.%T "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies" +.%O "RFC 2045" .Re .Sh HISTORY The .Fn vis , .Fn strvis , and -.Fa strvisx +.Fn strvisx functions first appeared in .Bx 4.4 . The @@ -438,4 +507,10 @@ The buffer size limited versions of the functions and .Fn strsnvisx Pc appeared in -.Nx 6.0 . +.Nx 6.0 +and +.Fx 9.2 . +Myltibyte character support was added in +.Nx 7.0 +and +.Fx 9.2 . diff --git a/lib/libc/gen/vis.c b/lib/libc/gen/vis.c index d20694410..274515d28 100644 --- a/lib/libc/gen/vis.c +++ b/lib/libc/gen/vis.c @@ -1,4 +1,4 @@ -/* $NetBSD: vis.c,v 1.44 2011/03/12 19:52:48 christos Exp $ */ +/* $NetBSD: vis.c,v 1.60 2013/02/21 16:21:20 joerg Exp $ */ /*- * Copyright (c) 1989, 1993 @@ -57,16 +57,23 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: vis.c,v 1.44 2011/03/12 19:52:48 christos Exp $"); +__RCSID("$NetBSD: vis.c,v 1.60 2013/02/21 16:21:20 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ +#ifdef __FBSDID +__FBSDID("$FreeBSD$"); +#define _DIAGASSERT(x) assert(x) +#endif #include "namespace.h" #include +#include #include #include #include #include +#include +#include #ifdef __weak_alias __weak_alias(strvisx,_strvisx) @@ -78,59 +85,66 @@ __weak_alias(strvisx,_strvisx) #include #include -static char *do_svis(char *, size_t *, int, int, int, const char *); +/* + * The reason for going through the trouble to deal with character encodings + * in vis(3), is that we use this to safe encode output of commands. This + * safe encoding varies depending on the character set. For example if we + * display ps output in French, we don't want to display French characters + * as M-foo. + */ + +static wchar_t *do_svis(wchar_t *, wint_t, int, wint_t, const wchar_t *); #undef BELL -#define BELL '\a' +#define BELL L'\a' -#define isoctal(c) (((u_char)(c)) >= '0' && ((u_char)(c)) <= '7') -#define iswhite(c) (c == ' ' || c == '\t' || c == '\n') -#define issafe(c) (c == '\b' || c == BELL || c == '\r') -#define xtoa(c) "0123456789abcdef"[c] -#define XTOA(c) "0123456789ABCDEF"[c] +#define iswoctal(c) (((u_char)(c)) >= L'0' && ((u_char)(c)) <= L'7') +#define iswwhite(c) (c == L' ' || c == L'\t' || c == L'\n') +#define iswsafe(c) (c == L'\b' || c == BELL || c == L'\r') +#define xtoa(c) L"0123456789abcdef"[c] +#define XTOA(c) L"0123456789ABCDEF"[c] -#define MAXEXTRAS 5 +#define MAXEXTRAS 10 -#define MAKEEXTRALIST(flag, extra, orig_str) \ -do { \ - const char *orig = orig_str; \ - const char *o = orig; \ - char *e; \ - while (*o++) \ - continue; \ - extra = malloc((size_t)((o - orig) + MAXEXTRAS)); \ - if (!extra) break; \ - for (o = orig, e = extra; (*e++ = *o++) != '\0';) \ - continue; \ - e--; \ - if (flag & VIS_SP) *e++ = ' '; \ - if (flag & VIS_TAB) *e++ = '\t'; \ - if (flag & VIS_NL) *e++ = '\n'; \ - if ((flag & VIS_NOSLASH) == 0) *e++ = '\\'; \ - *e = '\0'; \ -} while (/*CONSTCOND*/0) +#if !HAVE_NBTOOL_CONFIG_H +#if !defined(__NetBSD__) && ! defined(__minix) +/* + * On NetBSD MB_LEN_MAX is currently 32 which does not fit on any integer + * integral type and it is probably wrong, since currently the maximum + * number of bytes and character needs is 6. Until this is fixed, the + * loops below are using sizeof(uint64_t) - 1 instead of MB_LEN_MAX, and + * the assertion is commented out. + */ +#ifdef __FreeBSD__ +/* + * On FreeBSD including for CTASSERT only works in kernel + * mode. + */ +#ifndef CTASSERT +#define CTASSERT(x) _CTASSERT(x, __LINE__) +#define _CTASSERT(x, y) __CTASSERT(x, y) +#define __CTASSERT(x, y) typedef char __assert ## y[(x) ? 1 : -1] +#endif +#endif /* __FreeBSD__ */ +CTASSERT(MB_LEN_MAX <= sizeof(uint64_t)); +#endif /* !__NetBSD__ */ +#endif /* * This is do_hvis, for HTTP style (RFC 1808) */ -static char * -do_hvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +do_hvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) { - - if ((isascii(c) && isalnum(c)) + if (iswalnum(c) /* safe */ - || c == '$' || c == '-' || c == '_' || c == '.' || c == '+' + || c == L'$' || c == L'-' || c == L'_' || c == L'.' || c == L'+' /* extra */ - || c == '!' || c == '*' || c == '\'' || c == '(' || c == ')' - || c == ',') { - dst = do_svis(dst, dlen, c, flag, nextc, extra); - } else { - if (dlen) { - if (*dlen < 3) - return NULL; - *dlen -= 3; - } - *dst++ = '%'; + || c == L'!' || c == L'*' || c == L'\'' || c == L'(' || c == L')' + || c == L',') + dst = do_svis(dst, c, flags, nextc, extra); + else { + *dst++ = L'%'; *dst++ = xtoa(((unsigned int)c >> 4) & 0xf); *dst++ = xtoa((unsigned int)c & 0xf); } @@ -142,27 +156,97 @@ do_hvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) * This is do_mvis, for Quoted-Printable MIME (RFC 2045) * NB: No handling of long lines or CRLF. */ -static char * -do_mvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +do_mvis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) { - if ((c != '\n') && + if ((c != L'\n') && /* Space at the end of the line */ - ((isspace(c) && (nextc == '\r' || nextc == '\n')) || + ((iswspace(c) && (nextc == L'\r' || nextc == L'\n')) || /* Out of range */ - (!isspace(c) && (c < 33 || (c > 60 && c < 62) || c > 126)) || - /* Specific char to be escaped */ - strchr("#$@[\\]^`{|}~", c) != NULL)) { - if (dlen) { - if (*dlen < 3) - return NULL; - *dlen -= 3; - } - *dst++ = '='; + (!iswspace(c) && (c < 33 || (c > 60 && c < 62) || c > 126)) || + /* Specific char to be escaped */ + wcschr(L"#$@[\\]^`{|}~", c) != NULL)) { + *dst++ = L'='; *dst++ = XTOA(((unsigned int)c >> 4) & 0xf); *dst++ = XTOA((unsigned int)c & 0xf); - } else { - dst = do_svis(dst, dlen, c, flag, nextc, extra); + } else + dst = do_svis(dst, c, flags, nextc, extra); + return dst; +} + +/* + * Output single byte of multibyte character. + */ +static wchar_t * +do_mbyte(wchar_t *dst, wint_t c, int flags, wint_t nextc, int iswextra) +{ + if (flags & VIS_CSTYLE) { + switch (c) { + case L'\n': + *dst++ = L'\\'; *dst++ = L'n'; + return dst; + case L'\r': + *dst++ = L'\\'; *dst++ = L'r'; + return dst; + case L'\b': + *dst++ = L'\\'; *dst++ = L'b'; + return dst; + case BELL: + *dst++ = L'\\'; *dst++ = L'a'; + return dst; + case L'\v': + *dst++ = L'\\'; *dst++ = L'v'; + return dst; + case L'\t': + *dst++ = L'\\'; *dst++ = L't'; + return dst; + case L'\f': + *dst++ = L'\\'; *dst++ = L'f'; + return dst; + case L' ': + *dst++ = L'\\'; *dst++ = L's'; + return dst; + case L'\0': + *dst++ = L'\\'; *dst++ = L'0'; + if (iswoctal(nextc)) { + *dst++ = L'0'; + *dst++ = L'0'; + } + return dst; + default: + if (iswgraph(c)) { + *dst++ = L'\\'; + *dst++ = c; + return dst; + } + } } + if (iswextra || ((c & 0177) == L' ') || (flags & VIS_OCTAL)) { + *dst++ = L'\\'; + *dst++ = (u_char)(((u_int32_t)(u_char)c >> 6) & 03) + L'0'; + *dst++ = (u_char)(((u_int32_t)(u_char)c >> 3) & 07) + L'0'; + *dst++ = (c & 07) + L'0'; + } else { + if ((flags & VIS_NOSLASH) == 0) + *dst++ = L'\\'; + + if (c & 0200) { + c &= 0177; + *dst++ = L'M'; + } + + if (iswcntrl(c)) { + *dst++ = L'^'; + if (c == 0177) + *dst++ = L'?'; + else + *dst++ = c + L'@'; + } else { + *dst++ = L'-'; + *dst++ = c; + } + } + return dst; } @@ -170,284 +254,350 @@ do_mvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) * This is do_vis, the central code of vis. * dst: Pointer to the destination buffer * c: Character to encode - * flag: Flag word + * flags: Flags word * nextc: The character following 'c' * extra: Pointer to the list of extra characters to be * backslash-protected. */ -static char * -do_svis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +do_svis(wchar_t *dst, wint_t c, int flags, wint_t nextc, const wchar_t *extra) { - int isextra; - size_t odlen = dlen ? *dlen : 0; + int iswextra, i, shft; + uint64_t bmsk, wmsk; - isextra = strchr(extra, c) != NULL; -#define HAVE(x) \ - do { \ - if (dlen) { \ - if (*dlen < (x)) \ - goto out; \ - *dlen -= (x); \ - } \ - } while (/*CONSTCOND*/0) - if (!isextra && isascii(c) && (isgraph(c) || iswhite(c) || - ((flag & VIS_SAFE) && issafe(c)))) { - HAVE(1); + iswextra = wcschr(extra, c) != NULL; + if (!iswextra && (iswgraph(c) || iswwhite(c) || + ((flags & VIS_SAFE) && iswsafe(c)))) { *dst++ = c; return dst; } - if (flag & VIS_CSTYLE) { - HAVE(2); - switch (c) { - case '\n': - *dst++ = '\\'; *dst++ = 'n'; - return dst; - case '\r': - *dst++ = '\\'; *dst++ = 'r'; - return dst; - case '\b': - *dst++ = '\\'; *dst++ = 'b'; - return dst; - case BELL: - *dst++ = '\\'; *dst++ = 'a'; - return dst; - case '\v': - *dst++ = '\\'; *dst++ = 'v'; - return dst; - case '\t': - *dst++ = '\\'; *dst++ = 't'; - return dst; - case '\f': - *dst++ = '\\'; *dst++ = 'f'; - return dst; - case ' ': - *dst++ = '\\'; *dst++ = 's'; - return dst; - case '\0': - *dst++ = '\\'; *dst++ = '0'; - if (isoctal(nextc)) { - HAVE(2); - *dst++ = '0'; - *dst++ = '0'; - } - return dst; - default: - if (isgraph(c)) { - *dst++ = '\\'; *dst++ = c; - return dst; - } - if (dlen) - *dlen = odlen; - } - } - if (isextra || ((c & 0177) == ' ') || (flag & VIS_OCTAL)) { - HAVE(4); - *dst++ = '\\'; - *dst++ = (u_char)(((u_int32_t)(u_char)c >> 6) & 03) + '0'; - *dst++ = (u_char)(((u_int32_t)(u_char)c >> 3) & 07) + '0'; - *dst++ = (c & 07) + '0'; - } else { - if ((flag & VIS_NOSLASH) == 0) { - HAVE(1); - *dst++ = '\\'; - } - if (c & 0200) { - HAVE(1); - c &= 0177; *dst++ = 'M'; - } - - if (iscntrl(c)) { - HAVE(2); - *dst++ = '^'; - if (c == 0177) - *dst++ = '?'; - else - *dst++ = c + '@'; - } else { - HAVE(2); - *dst++ = '-'; *dst++ = c; - } + /* See comment in istrsenvisx() output loop, below. */ + wmsk = 0; + for (i = sizeof(wmsk) - 1; i >= 0; i--) { + shft = i * NBBY; + bmsk = (uint64_t)0xffLL << shft; + wmsk |= bmsk; + if ((c & wmsk) || i == 0) + dst = do_mbyte(dst, (wint_t)( + (uint64_t)(c & bmsk) >> shft), + flags, nextc, iswextra); } + return dst; -out: - *dlen = odlen; - return NULL; } -typedef char *(*visfun_t)(char *, size_t *, int, int, int, const char *); +typedef wchar_t *(*visfun_t)(wchar_t *, wint_t, int, wint_t, const wchar_t *); /* * Return the appropriate encoding function depending on the flags given. */ static visfun_t -getvisfun(int flag) +getvisfun(int flags) { - if (flag & VIS_HTTPSTYLE) + if (flags & VIS_HTTPSTYLE) return do_hvis; - if (flag & VIS_MIMESTYLE) + if (flags & VIS_MIMESTYLE) return do_mvis; return do_svis; } /* - * isnvis - visually encode characters, also encoding the characters - * pointed to by `extra' + * Expand list of extra characters to not visually encode. */ -static char * -isnvis(char *dst, size_t *dlen, int c, int flag, int nextc, const char *extra) +static wchar_t * +makeextralist(int flags, const char *src) { - char *nextra = NULL; - visfun_t f; + wchar_t *dst, *d; + size_t len; - _DIAGASSERT(dst != NULL); - _DIAGASSERT(extra != NULL); - MAKEEXTRALIST(flag, nextra, extra); - if (!nextra) { - if (dlen && *dlen == 0) { - errno = ENOSPC; - return NULL; - } - *dst = '\0'; /* can't create nextra, return "" */ - return dst; - } - f = getvisfun(flag); - dst = (*f)(dst, dlen, c, flag, nextc, nextra); - free(nextra); - if (dst == NULL || (dlen && *dlen == 0)) { - errno = ENOSPC; + len = strlen(src); + if ((dst = calloc(len + MAXEXTRAS, sizeof(*dst))) == NULL) return NULL; + + if (mbstowcs(dst, src, len) == (size_t)-1) { + size_t i; + for (i = 0; i < len; i++) + dst[i] = (wint_t)(u_char)src[i]; + d = dst + len; + } else + d = dst + wcslen(dst); + + if (flags & VIS_GLOB) { + *d++ = L'*'; + *d++ = L'?'; + *d++ = L'['; + *d++ = L'#'; } - *dst = '\0'; + + if (flags & VIS_SP) *d++ = L' '; + if (flags & VIS_TAB) *d++ = L'\t'; + if (flags & VIS_NL) *d++ = L'\n'; + if ((flags & VIS_NOSLASH) == 0) *d++ = L'\\'; + *d = L'\0'; + return dst; } -char * -svis(char *dst, int c, int flag, int nextc, const char *extra) -{ - return isnvis(dst, NULL, c, flag, nextc, extra); -} - -char * -snvis(char *dst, size_t dlen, int c, int flag, int nextc, const char *extra) -{ - return isnvis(dst, &dlen, c, flag, nextc, extra); -} - - /* - * strsvis, strsvisx - visually encode characters from src into dst - * - * Extra is a pointer to a \0-terminated list of characters to - * be encoded, too. These functions are useful e. g. to - * encode strings in such a way so that they are not interpreted - * by a shell. - * - * Dst must be 4 times the size of src to account for possible - * expansion. The length of dst, not including the trailing NULL, - * is returned. - * - * Strsvisx encodes exactly len bytes from src into dst. - * This is useful for encoding a block of data. + * istrsenvisx() + * The main internal function. + * All user-visible functions call this one. */ static int -istrsnvis(char *dst, size_t *dlen, const char *csrc, int flag, const char *extra) +istrsenvisx(char *mbdst, size_t *dlen, const char *mbsrc, size_t mblength, + int flags, const char *mbextra, int *cerr_ptr) { - int c; - char *start; - char *nextra = NULL; - const unsigned char *src = (const unsigned char *)csrc; + wchar_t *dst, *src, *pdst, *psrc, *start, *extra; + size_t len, olen; + uint64_t bmsk, wmsk; + wint_t c; visfun_t f; + int clen = 0, cerr = 0, error = -1, i, shft; + ssize_t mbslength, maxolen; - _DIAGASSERT(dst != NULL); - _DIAGASSERT(src != NULL); - _DIAGASSERT(extra != NULL); - MAKEEXTRALIST(flag, nextra, extra); - if (!nextra) { - *dst = '\0'; /* can't create nextra, return "" */ - return 0; - } - f = getvisfun(flag); - for (start = dst; (c = *src++) != '\0'; /* empty */) { - dst = (*f)(dst, dlen, c, flag, *src, nextra); - if (dst == NULL) { - errno = ENOSPC; - return -1; - } - } - free(nextra); - if (dlen && *dlen == 0) { - errno = ENOSPC; + _DIAGASSERT(mbdst != NULL); + _DIAGASSERT(mbsrc != NULL); + _DIAGASSERT(mbextra != NULL); + + /* + * Input (mbsrc) is a char string considered to be multibyte + * characters. The input loop will read this string pulling + * one character, possibly multiple bytes, from mbsrc and + * converting each to wchar_t in src. + * + * The vis conversion will be done using the wide char + * wchar_t string. + * + * This will then be converted back to a multibyte string to + * return to the caller. + */ + + /* Allocate space for the wide char strings */ + psrc = pdst = extra = NULL; + if (!mblength) + mblength = strlen(mbsrc); + if ((psrc = calloc(mblength + 1, sizeof(*psrc))) == NULL) return -1; + if ((pdst = calloc((4 * mblength) + 1, sizeof(*pdst))) == NULL) + goto out; + dst = pdst; + src = psrc; + + /* Use caller's multibyte conversion error flag. */ + if (cerr_ptr) + cerr = *cerr_ptr; + + /* + * Input loop. + * Handle up to mblength characters (not bytes). We do not + * stop at NULs because we may be processing a block of data + * that includes NULs. + */ + mbslength = (ssize_t)mblength; + /* + * When inputing a single character, must also read in the + * next character for nextc, the look-ahead character. + */ + if (mbslength == 1) + mbslength++; + while (mbslength > 0) { + /* Convert one multibyte character to wchar_t. */ + if (!cerr) + clen = mbtowc(src, mbsrc, MB_LEN_MAX); + if (cerr || clen < 0) { + /* Conversion error, process as a byte instead. */ + *src = (wint_t)(u_char)*mbsrc; + clen = 1; + cerr = 1; + } + if (clen == 0) + /* + * NUL in input gives 0 return value. process + * as single NUL byte and keep going. + */ + clen = 1; + /* Advance buffer character pointer. */ + src++; + /* Advance input pointer by number of bytes read. */ + mbsrc += clen; + /* Decrement input byte count. */ + mbslength -= clen; } - *dst = '\0'; - return (int)(dst - start); -} + len = src - psrc; + src = psrc; + /* + * In the single character input case, we will have actually + * processed two characters, c and nextc. Reset len back to + * just a single character. + */ + if (mblength < len) + len = mblength; -int -strsvis(char *dst, const char *csrc, int flag, const char *extra) -{ - return istrsnvis(dst, NULL, csrc, flag, extra); -} - -int -strsnvis(char *dst, size_t dlen, const char *csrc, int flag, const char *extra) -{ - return istrsnvis(dst, &dlen, csrc, flag, extra); -} - -static int -istrsnvisx(char *dst, size_t *dlen, const char *csrc, size_t len, int flag, - const char *extra) -{ - unsigned char c; - char *start; - char *nextra = NULL; - const unsigned char *src = (const unsigned char *)csrc; - visfun_t f; - - _DIAGASSERT(dst != NULL); - _DIAGASSERT(src != NULL); - _DIAGASSERT(extra != NULL); - MAKEEXTRALIST(flag, nextra, extra); - if (! nextra) { + /* Convert extra argument to list of characters for this mode. */ + extra = makeextralist(flags, mbextra); + if (!extra) { if (dlen && *dlen == 0) { errno = ENOSPC; - return -1; + goto out; } - *dst = '\0'; /* can't create nextra, return "" */ - return 0; + *mbdst = '\0'; /* can't create extra, return "" */ + error = 0; + goto out; } - f = getvisfun(flag); + /* Look up which processing function to call. */ + f = getvisfun(flags); + + /* + * Main processing loop. + * Call do_Xvis processing function one character at a time + * with next character available for look-ahead. + */ for (start = dst; len > 0; len--) { c = *src++; - dst = (*f)(dst, dlen, c, flag, len > 1 ? *src : '\0', nextra); + dst = (*f)(dst, c, flags, len >= 1 ? *src : L'\0', extra); if (dst == NULL) { errno = ENOSPC; - return -1; + goto out; } } - free(nextra); - if (dlen && *dlen == 0) { - errno = ENOSPC; - return -1; + + /* Terminate the string in the buffer. */ + *dst = L'\0'; + + /* + * Output loop. + * Convert wchar_t string back to multibyte output string. + * If we have hit a multi-byte conversion error on input, + * output byte-by-byte here. Else use wctomb(). + */ + len = wcslen(start); + maxolen = dlen ? *dlen : (wcslen(start) * MB_LEN_MAX + 1); + olen = 0; + for (dst = start; len > 0; len--) { + if (!cerr) + clen = wctomb(mbdst, *dst); + if (cerr || clen < 0) { + /* + * Conversion error, process as a byte(s) instead. + * Examine each byte and higher-order bytes for + * data. E.g., + * 0x000000000000a264 -> a2 64 + * 0x000000001f00a264 -> 1f 00 a2 64 + */ + clen = 0; + wmsk = 0; + for (i = sizeof(wmsk) - 1; i >= 0; i--) { + shft = i * NBBY; + bmsk = (uint64_t)0xffLL << shft; + wmsk |= bmsk; + if ((*dst & wmsk) || i == 0) + mbdst[clen++] = (char)( + (uint64_t)(*dst & bmsk) >> + shft); + } + cerr = 1; + } + /* If this character would exceed our output limit, stop. */ + if (olen + clen > (size_t)maxolen) + break; + /* Advance output pointer by number of bytes written. */ + mbdst += clen; + /* Advance buffer character pointer. */ + dst++; + /* Incrment output character count. */ + olen += clen; } - *dst = '\0'; - return (int)(dst - start); + + /* Terminate the output string. */ + *mbdst = '\0'; + + /* Pass conversion error flag out. */ + if (cerr_ptr) + *cerr_ptr = cerr; + + free(extra); + free(pdst); + free(psrc); + + return (int)olen; +out: + free(extra); + free(pdst); + free(psrc); + return error; +} +#endif + +#if !HAVE_SVIS +/* + * The "svis" variants all take an "extra" arg that is a pointer + * to a NUL-terminated list of characters to be encoded, too. + * These functions are useful e. g. to encode strings in such a + * way so that they are not interpreted by a shell. + */ + +char * +svis(char *mbdst, int c, int flags, int nextc, const char *mbextra) +{ + char cc[2]; + int ret; + + cc[0] = c; + cc[1] = nextc; + + ret = istrsenvisx(mbdst, NULL, cc, 1, flags, mbextra, NULL); + if (ret < 0) + return NULL; + return mbdst + ret; +} + +char * +snvis(char *mbdst, size_t dlen, int c, int flags, int nextc, const char *mbextra) +{ + char cc[2]; + int ret; + + cc[0] = c; + cc[1] = nextc; + + ret = istrsenvisx(mbdst, &dlen, cc, 1, flags, mbextra, NULL); + if (ret < 0) + return NULL; + return mbdst + ret; } int -strsvisx(char *dst, const char *csrc, size_t len, int flag, const char *extra) +strsvis(char *mbdst, const char *mbsrc, int flags, const char *mbextra) { - return istrsnvisx(dst, NULL, csrc, len, flag, extra); + return istrsenvisx(mbdst, NULL, mbsrc, 0, flags, mbextra, NULL); } int -strsnvisx(char *dst, size_t dlen, const char *csrc, size_t len, int flag, - const char *extra) +strsnvis(char *mbdst, size_t dlen, const char *mbsrc, int flags, const char *mbextra) { - return istrsnvisx(dst, &dlen, csrc, len, flag, extra); + return istrsenvisx(mbdst, &dlen, mbsrc, 0, flags, mbextra, NULL); +} + +int +strsvisx(char *mbdst, const char *mbsrc, size_t len, int flags, const char *mbextra) +{ + return istrsenvisx(mbdst, NULL, mbsrc, len, flags, mbextra, NULL); +} + +int +strsnvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, + const char *mbextra) +{ + return istrsenvisx(mbdst, &dlen, mbsrc, len, flags, mbextra, NULL); +} + +int +strsenvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, + const char *mbextra, int *cerr_ptr) +{ + return istrsenvisx(mbdst, &dlen, mbsrc, len, flags, mbextra, cerr_ptr); } #endif @@ -455,120 +605,83 @@ strsnvisx(char *dst, size_t dlen, const char *csrc, size_t len, int flag, /* * vis - visually encode characters */ -static char * -invis(char *dst, size_t *dlen, int c, int flag, int nextc) +char * +vis(char *mbdst, int c, int flags, int nextc) { - char *extra = NULL; - unsigned char uc = (unsigned char)c; - visfun_t f; + char cc[2]; + int ret; - _DIAGASSERT(dst != NULL); + cc[0] = c; + cc[1] = nextc; - MAKEEXTRALIST(flag, extra, ""); - if (! extra) { - if (dlen && *dlen == 0) { - errno = ENOSPC; - return NULL; - } - *dst = '\0'; /* can't create extra, return "" */ - return dst; - } - f = getvisfun(flag); - dst = (*f)(dst, dlen, uc, flag, nextc, extra); - free(extra); - if (dst == NULL || (dlen && *dlen == 0)) { - errno = ENOSPC; + ret = istrsenvisx(mbdst, NULL, cc, 1, flags, "", NULL); + if (ret < 0) return NULL; - } - *dst = '\0'; - return dst; + return mbdst + ret; } char * -vis(char *dst, int c, int flag, int nextc) +nvis(char *mbdst, size_t dlen, int c, int flags, int nextc) { - return invis(dst, NULL, c, flag, nextc); -} + char cc[2]; + int ret; -char * -nvis(char *dst, size_t dlen, int c, int flag, int nextc) -{ - return invis(dst, &dlen, c, flag, nextc); -} + cc[0] = c; + cc[1] = nextc; + ret = istrsenvisx(mbdst, &dlen, cc, 1, flags, "", NULL); + if (ret < 0) + return NULL; + return mbdst + ret; +} /* - * strvis, strvisx - visually encode characters from src into dst + * strvis - visually encode characters from src into dst + * + * Dst must be 4 times the size of src to account for possible + * expansion. The length of dst, not including the trailing NULL, + * is returned. + */ + +int +strvis(char *mbdst, const char *mbsrc, int flags) +{ + return istrsenvisx(mbdst, NULL, mbsrc, 0, flags, "", NULL); +} + +int +strnvis(char *mbdst, size_t dlen, const char *mbsrc, int flags) +{ + return istrsenvisx(mbdst, &dlen, mbsrc, 0, flags, "", NULL); +} + +/* + * strvisx - visually encode characters from src into dst * * Dst must be 4 times the size of src to account for possible * expansion. The length of dst, not including the trailing NULL, * is returned. * - * Strvisx encodes exactly len bytes from src into dst. + * Strvisx encodes exactly len characters from src into dst. * This is useful for encoding a block of data. */ -static int -istrnvis(char *dst, size_t *dlen, const char *src, int flag) -{ - char *extra = NULL; - int rv; - MAKEEXTRALIST(flag, extra, ""); - if (!extra) { - if (dlen && *dlen == 0) { - errno = ENOSPC; - return -1; - } - *dst = '\0'; /* can't create extra, return "" */ - return 0; - } - rv = istrsnvis(dst, dlen, src, flag, extra); - free(extra); - return rv; +int +strvisx(char *mbdst, const char *mbsrc, size_t len, int flags) +{ + return istrsenvisx(mbdst, NULL, mbsrc, len, flags, "", NULL); } int -strvis(char *dst, const char *src, int flag) +strnvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags) { - return istrnvis(dst, NULL, src, flag); + return istrsenvisx(mbdst, &dlen, mbsrc, len, flags, "", NULL); } int -strnvis(char *dst, size_t dlen, const char *src, int flag) +strenvisx(char *mbdst, size_t dlen, const char *mbsrc, size_t len, int flags, + int *cerr_ptr) { - return istrnvis(dst, &dlen, src, flag); + return istrsenvisx(mbdst, &dlen, mbsrc, len, flags, "", cerr_ptr); } - -static int -istrnvisx(char *dst, size_t *dlen, const char *src, size_t len, int flag) -{ - char *extra = NULL; - int rv; - - MAKEEXTRALIST(flag, extra, ""); - if (!extra) { - if (dlen && *dlen == 0) { - errno = ENOSPC; - return -1; - } - *dst = '\0'; /* can't create extra, return "" */ - return 0; - } - rv = istrsnvisx(dst, dlen, src, len, flag, extra); - free(extra); - return rv; -} - -int -strvisx(char *dst, const char *src, size_t len, int flag) -{ - return istrnvisx(dst, NULL, src, len, flag); -} - -int -strnvisx(char *dst, size_t dlen, const char *src, size_t len, int flag) -{ - return istrnvisx(dst, &dlen, src, len, flag); -} - #endif diff --git a/lib/libc/gmon/gmon.c b/lib/libc/gmon/gmon.c index e4bcea208..fb170575a 100644 --- a/lib/libc/gmon/gmon.c +++ b/lib/libc/gmon/gmon.c @@ -373,10 +373,10 @@ _mcleanup(void) struct gmonparam *p = &_gmonparam; struct gmonhdr gmonhdr, *hdr; struct clockinfo clockinfo; -#ifndef __minix +#if !defined(__minix) int mib[2]; size_t size; -#endif +#endif /* !defined(__minix) */ char *profdir; const char *proffile; char buf[PATH_MAX]; @@ -399,9 +399,9 @@ _mcleanup(void) if (p->state == GMON_PROF_ERROR) warnx("%s: tos overflow", __func__); -#ifdef __minix +#if defined(__minix) clockinfo.profhz = sysconf(_SC_CLK_TCK); -#else /* !__minix */ +#else size = sizeof(clockinfo); mib[0] = CTL_KERN; mib[1] = KERN_CLOCKRATE; @@ -416,7 +416,7 @@ _mcleanup(void) else clockinfo.profhz = hertz(); } -#endif /* !__minix */ +#endif /* defined(__minix) */ moncontrol(0); @@ -515,7 +515,7 @@ moncontrol(int mode) } } -#ifndef __minix +#if !defined(__minix) /* * discover the tick frequency of the machine * if something goes wrong, we return 0, an impossible hertz. @@ -549,4 +549,4 @@ out: (void)timer_delete(t); return rv; } -#endif /* !__minix */ +#endif /* !defined(__minix) */ diff --git a/lib/libc/iconv/iconv.3 b/lib/libc/iconv/iconv.3 index b43934a9b..a65feab0e 100644 --- a/lib/libc/iconv/iconv.3 +++ b/lib/libc/iconv/iconv.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: iconv.3,v 1.14 2010/05/05 22:07:58 wiz Exp $ +.\" $NetBSD: iconv.3,v 1.21 2013/05/12 10:44:23 wiz Exp $ .\" .\" Copyright (c)2003 Citrus Project, .\" All rights reserved. @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd May 5, 2010 +.Dd March 11, 2013 .Dt ICONV 3 .Os .\" ---------------------------------------------------------------------- @@ -118,11 +118,15 @@ and the conversion is continued. returns the number of such .Dq invalid conversions . .Pp -If the source and/or destination codesets are stateful, +If +.Fa src +or +.Fa *src +is +.Dv NULL +and the source and/or destination codesets are stateful, .Fn iconv places these into their initial state. -There are two special cases of -.Fn iconv : .Bl -enum -offset indent .It If both @@ -234,6 +238,35 @@ and .Fn iconv conform to .St -p1003.1-2001 . +.Pp +Historically, the definition of +.Ft iconv +has not been consistent across operating systems. +This is due to an unfortunate historical mistake, documented in +.Lk https://www5.opengroup.org/sophocles2/show_mail.tpl?&source=L&listname=austin-group-l&id=7404 "this e-mail". +The standards page for the header file +.In iconv.h +defined the second argument of +.Fn iconv +as +.Ft char ** , +but the standards page for the +.Fn iconv +implementation defined it as +.Ft const char ** . +The standards committee later chose to change the function definition to +follow the header file definition +.Pq without const , +even though the version with const is arguably more correct. +.Nx +has always used the const form. +It was decided to reject the committee's regression and become +.Pq technically +incompatible. +GNU libiconv has taken the +.Lk http://www.gnu.org/savannah-checkouts/gnu/libiconv/documentation/libiconv-1.14/ "same route". +Most third party software affected by this issue already handles it +during configuration. .\" ---------------------------------------------------------------------- .Sh BUGS If diff --git a/lib/libc/include/env.h b/lib/libc/include/env.h index 575157633..8e7661550 100644 --- a/lib/libc/include/env.h +++ b/lib/libc/include/env.h @@ -56,11 +56,11 @@ __writelockenv(void) } static __inline bool -#ifdef __minix +#if defined(__minix) __unlockenv(void) -#else /* Bug-to-bug compatibility? */ +#else /* Bug-to-bug compatibility? LSC: FIXME We should upstream that. */ __unlocklockenv(void) -#endif +#endif /* defined(__minix) */ { return true; } diff --git a/lib/libc/include/extern.h b/lib/libc/include/extern.h index 02f89ec93..a66f0f782 100644 --- a/lib/libc/include/extern.h +++ b/lib/libc/include/extern.h @@ -1,4 +1,4 @@ -/* $NetBSD: extern.h,v 1.21 2012/10/11 17:09:56 christos Exp $ */ +/* $NetBSD: extern.h,v 1.23 2013/08/19 13:03:12 joerg Exp $ */ /* * Copyright (c) 1997 Christos Zoulas. All rights reserved. @@ -24,18 +24,21 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifdef __minix -#include -#endif #include #include +#ifndef __LOCALE_T_DECLARED +typedef struct _locale *locale_t; +#define __LOCALE_T_DECLARED +#endif /* __LOCALE_T_DECLARED */ + __BEGIN_DECLS extern char *__minbrk; int __getcwd(char *, size_t); int __getlogin(char *, size_t); int __setlogin(const char *); void _resumecontext(void) __dead; +__dso_hidden int _strerror_lr(int, char *, size_t, locale_t); const char *__strerror(int , char *, size_t); const char *__strsignal(int , char *, size_t); char *__dtoa(double, int, int, int *, int *, char **); @@ -64,11 +67,6 @@ void vsyslogp_ss(int, struct syslog_data *, const char *, const char *, const char *, va_list) __RENAME(__vsyslogp_ss60) __printflike(5, 0); #endif -int snprintf_ss(char * __restrict, size_t, const char * __restrict, ...) - __printflike(3, 4); -int vsnprintf_ss(char * __restrict, size_t, const char * __restrict, - va_list) __printflike(3, 0); - void _malloc_prefork(void); void _malloc_postfork(void); diff --git a/lib/libc/include/namespace.h b/lib/libc/include/namespace.h index c893dc363..6cef1f7af 100644 --- a/lib/libc/include/namespace.h +++ b/lib/libc/include/namespace.h @@ -1,4 +1,4 @@ -/* $NetBSD: namespace.h,v 1.156 2012/08/20 21:38:10 dsl Exp $ */ +/* $NetBSD: namespace.h,v 1.169 2013/08/28 17:47:07 riastradh Exp $ */ /*- * Copyright (c) 1997-2004 The NetBSD Foundation, Inc. @@ -37,6 +37,7 @@ #define catclose _catclose #define catgets _catgets #define catopen _catopen +#define catopen_l _catopen_l #define daylight _daylight #define difftime _difftime #define devname_r _devname_r @@ -48,26 +49,31 @@ #define fork _fork #define fseeko _fseeko #define ftello _ftello -#ifndef __minix #define getcontext _getcontext -#endif /* !__minix */ #define getenv_r _getenv_r #define imaxabs _imaxabs #define imaxdiv _imaxdiv #define inet_aton _inet_aton #define inet_pton _inet_pton #define pipe _pipe -#define pipe2 _pipe2 #define sbrk _sbrk +#define strerror_l _strerror_l #define strerror_r _strerror_r #define strlcat _strlcat #define strlcpy _strlcpy +#define strtod_l _strtod_l #define strtof _strtof +#define strtof_l _strtof_l #define strtoimax _strtoimax +#define strtoimax_l _strtoimax_l #define strtold _strtold +#define strtold_l _strtold_l #define strtoll _strtoll +#define strtoll_l _strtoll_l #define strtoull _strtoull +#define strtoull_l _strtoull_l #define strtoumax _strtoumax +#define strtoumax_l _strtoumax_l #define sys_errlist _sys_errlist #define sys_nerr _sys_nerr #define sys_siglist _sys_siglist @@ -164,6 +170,7 @@ #define arc4random_uniform _arc4random_uniform #define asctime_r _asctime_r #define asprintf _asprintf +#define asprintf_l _asprintf_l #define atoll _atoll #define authnone_create _authnone_create #define authunix_create _authunix_create @@ -226,17 +233,20 @@ #define closelog _closelog #define closelog_r _closelog_r #define confstr _confstr +#define consttime_memequal _consttime_memequal #define csetexpandtc _csetexpandtc #define ctermid _ctermid -#define ctime_r __ctime_r50 -#define ctime_rz __ctime_rz50 +#define ctime_r _ctime_r +#define ctime_rz _ctime_rz #define daemon _daemon #define dbopen _dbopen #define devname _devname #define difftime _difftime #define dirname _dirname #define dn_expand _dn_expand +#define dprintf_l _dprintf_l #define drand48 _drand48 +#define duplocale _duplocale #define endfsent _endfsent #define endgrent _endgrent #define endhostent _endhostent @@ -263,6 +273,7 @@ #define execlp _execlp #define execv _execv #define execvp _execvp +#define explicit_memset _explicit_memset #define fdopen _fdopen #define fgetln _fgetln #define fgetwln _fgetwln @@ -272,6 +283,7 @@ #define funlockfile _funlockfile #define fnmatch _fnmatch #define fparseln _fparseln +#define fprintf_l _fprintf_l #define fpgetmask _fpgetmask #define fpgetprec _fpgetprec #define fpgetround _fpgetround @@ -283,8 +295,9 @@ #define freenetconfigent _freenetconfigent #define freeaddrinfo _freeaddrinfo #define freeifaddrs _freeifaddrs +#define freelocale _freelocale +#define fscanf_l _fscanf_l #define fstatvfs _fstatvfs -#define fstatvfs1 _fstatvfs1 #define ftok _ftok #define ftruncate _ftruncate #define fts_children _fts_children @@ -292,6 +305,8 @@ #define fts_open _fts_open #define fts_read _fts_read #define fts_set _fts_set +#define fwprintf_l _fwprintf_l +#define fwscanf_l _fwscanf_l #define gai_strerror _gai_strerror #define get_myaddress _get_myaddress #define getaddrinfo _getaddrinfo @@ -367,7 +382,6 @@ #define getttyent _getttyent #define getttynam _getttynam #define getusershell _getusershell -#define getvfsstat _getvfsstat #define glob _glob #define globfree _globfree #define gmtime_r _gmtime_r @@ -446,8 +460,8 @@ #define lcong48 _lcong48 #define llabs _llabs #define lldiv _lldiv -#define localtime_r __localtime_r50 -#define localtime_rz __localtime_rz50 +#define localtime_r _localtime_r +#define localtime_rz _localtime_rz #define lockf _lockf #define lrand48 _lrand48 #define lseek _lseek @@ -455,7 +469,8 @@ #define mergesort _mergesort #define mi_vector_hash _mi_vector_hash #define mkstemp _mkstemp -#define mktime_z __mktime_z50 +#define mktime_z _mktime_z +#define mmap _mmap #define mpool_close _mpool_close #define mpool_filter _mpool_filter #define mpool_get _mpool_get @@ -470,10 +485,12 @@ #define nc_perror _nc_perror #define nc_sperror _nc_sperror #define nanosleep _nanosleep +#define newlocale _newlocale #define nice _nice #if 0 #define nlist _nlist #endif +#define nl_langinfo_l _nl_langinfo_l #define nrand48 _nrand48 #define ntp_adjtime _ntp_adjtime #define nsdispatch _nsdispatch @@ -491,9 +508,10 @@ #define pmap_unset _pmap_unset #define pollts _pollts #define popen _popen -#define posix2time __posix2time50 -#define posix2time_z __posix2time_z50 +#define posix2time _posix2time +#define posix2time_z _posix2time_z #define pread _pread +#define printf_l _printf_l #define pselect _pselect #define psignal _psignal #define pthread_atfork _pthread_atfork @@ -542,6 +560,7 @@ #define rpcb_uaddr2taddr _rpcb_uaddr2taddr #define rpcb_unset _rpcb_unset #define scandir _scandir +#define scanf_l _scanf_l #define seed48 _seed48 #define seekdir _seekdir #define select _select @@ -590,19 +609,25 @@ #ifndef snprintf #define snprintf _snprintf #endif +#define snprintf_l _snprintf_l #define snprintf_ss _snprintf_ss +#define sprintf_l _sprintf_l #define sradixsort _sradixsort #define srand48 _srand48 #define srandom _srandom +#define sscanf_l _sscanf_l #define statvfs(a, b) _statvfs(a, b) -#define statvfs1 _statvfs1 #define strcasecmp _strcasecmp +#define strcoll_l _strcoll_l #define strdup _strdup #define stresep _stresep +#define strftime_l _strftime_l +#define strftime_lz _strftime_lz #define strftime_z _strftime_z #define strndup _strndup #define strncasecmp _strncasecmp #define strptime _strptime +#define strptime_l _strptime_l #define strsep _strsep #define strsignal _strsignal #define strsuftoll _strsuftoll @@ -610,6 +635,7 @@ #define strtok_r _strtok_r #define strnunvisx _strnunvisx #define strvisx _strvisx +#define strxfrm_l _strxfrm_l #define svc_auth_reg _svc_auth_reg #define svc_create _svc_create #define svc_dg_create _svc_dg_create @@ -642,6 +668,8 @@ #define svcudp_create _svcudp_create #define svcudp_enablecache _svcudp_enablecache #define sysarch _sys_sysarch +#define swprintf_l _swprintf_l +#define swscanf_l _swscanf_l #define sysctl _sysctl #define sysctlbyname _sysctlbyname #define sysctlgetmibinfo _sysctlgetmibinfo @@ -685,12 +713,26 @@ #define uuid_create_nil _uuid_create_nil #define uuid_is_nil _uuid_is_nil #define valloc _valloc -#define vdprintf _vdprintf +#define vasprintf _vasprintf +#define vasprintf_l _vasprintf_l #define vdprintf _vdprintf #ifndef vsnprintf #define vsnprintf _vsnprintf #endif +#define vdprintf_l _vdprintf_l +#define vdprintf_l _vdprintf_l +#define vfprintf_l _vfprintf_l +#define vfwprintf_l _vfwprintf_l +#define vprintf_l _vprintf_l +#define vscanf_l _vscanf_l +#define vsscanf_l _vsscanf_l +#define vswscanf_l _vswscanf_l +#define vsnprintf_l _vsnprintf_l #define vsnprintf_ss _vsnprintf_ss +#define vsprintf_l _vsprintf_l +#define vswprintf_l _vswprintf_l +#define vwprintf_l _vwprintf_l +#define vwscanf_l _vwscanf_l #define vsyslog _vsyslog #define vsyslog_r _vsyslog_r #define vsyslog_ss _vsyslog_ss @@ -702,12 +744,21 @@ #define wait4 _wait4 #define waitpid _waitpid #define wcscasecmp _wcscasecmp +#define wcscasecmp_l _wcscasecmp_l #define wcsdup _wcsdup +#define wcsftime_l _wcsftime_l #define wcsncasecmp _wcsncasecmp +#define wcsncasecmp_l _wcsncasecmp_l #define wcstof _wcstof +#define wcstof_l _wcstof_l #define wcstod _wcstod +#define wcstod_l _wcstod_l #define wcstold _wcstold +#define wcstold_l _wcstold_l #define wcwidth _wcwidth +#define wcwidth_l _wcwidth_l +#define wprintf_l _wprintf_l +#define wscanf_l _wscanf_l #define xdr_accepted_reply _xdr_accepted_reply #define xdr_array _xdr_array #define xdr_authunix_parms _xdr_authunix_parms @@ -858,76 +909,10 @@ #define __learn_tree ___learn_tree -#ifdef __minix -#define _exit __exit -#define access _access -#define bind _bind -#define chdir _chdir -#define chmod _chmod -#define chroot _chroot -#define close _close -#define dup _dup -#define dup2 _dup2 -#define execve _execve -#define fchdir _fchdir -#define fchmod _fchmod -#define fcntl _fcntl -#define flock _flock -#define fstatfs _fstatfs -#define fsync _fsync -#define fpathconf _fpathconf -#define getegid _getegid -#define geteuid _geteuid -#define getgroups _getgroups -#define getpid _getpid -#define getpgrp _getpgrp -#define getppid _getppid -#define gettimeofday _gettimeofday -#define getgid _getgid -#define getuid _getuid -#define ioctl _ioctl -#define link _link -#define mount _mount -#define mkdir _mkdir -#define mkfifo _mkfifo -#define mknod _mknod -#define open _open -#define pathconf _pathconf -#define ptrace _ptrace -#define readv _readv -#define rmdir _rmdir -#define setegid _setegid -#define seteuid _seteuid -#define setgid _setgid -#define setgroups _setgroups -#define setprogname _setprogname -#define setsid _setsid -#define setuid _setuid -#define shmat _shmat -#define shmdt _shmdt -#define shmget _shmget -#define shutdown _shutdown -#define sigreturn _sigreturn -#define socket _socket -#define socketpair _socketpair -#define symlink _symlink -#define sync _sync -#define stime _stime -#define umask _umask -#define umount _umount -#define unlink _unlink -#define vm_remap _vm_remap -#define vm_unmap _vm_unmap -#define vm_getphys _vm_getphys -#define vm_getrefcount _vm_getrefcount -#define truncate _truncate -#define write _write -#define writev _writev -#define mmap _mmap -#define munmap _munmap -#define vfork __vfork14 -#endif /* __minix */ - +#if defined(__minix) +/* Needed to allow RS and VM to provide their own implementations. */ +#define munmap _munmap +#endif /* defined(__minix) */ #endif /* __weak_alias */ #endif /* !__lint__ */ diff --git a/lib/libc/include/reentrant.h b/lib/libc/include/reentrant.h index fa0963eef..19fec8751 100644 --- a/lib/libc/include/reentrant.h +++ b/lib/libc/include/reentrant.h @@ -1,4 +1,4 @@ -/* $NetBSD: reentrant.h,v 1.15 2012/06/03 21:27:30 joerg Exp $ */ +/* $NetBSD: reentrant.h,v 1.17 2013/04/12 18:12:58 joerg Exp $ */ /*- * Copyright (c) 1997, 1998, 2003 The NetBSD Foundation, Inc. @@ -84,7 +84,7 @@ * */ -#ifdef _REENTRANT +#if defined(_REENTRANT) && defined(__minix) /* * Abstract thread interface for thread-safe libraries. These routines @@ -221,6 +221,56 @@ __END_DECLS #define thr_enabled() (__isthreaded) #define thr_setcancelstate(n, o) __libc_thr_setcancelstate((n),(o)) #define thr_curcpu() __libc_thr_curcpu() + +#else /* __LIBC_THREAD_STUBS */ + +__BEGIN_DECLS +void __libc_thr_init_stub(void); + +int __libc_mutex_init_stub(mutex_t *, const mutexattr_t *); +int __libc_mutex_lock_stub(mutex_t *); +int __libc_mutex_trylock_stub(mutex_t *); +int __libc_mutex_unlock_stub(mutex_t *); +int __libc_mutex_destroy_stub(mutex_t *); + +int __libc_mutexattr_init_stub(mutexattr_t *); +int __libc_mutexattr_destroy_stub(mutexattr_t *); +int __libc_mutexattr_settype_stub(mutexattr_t *, int); + +int __libc_cond_init_stub(cond_t *, const condattr_t *); +int __libc_cond_signal_stub(cond_t *); +int __libc_cond_broadcast_stub(cond_t *); +int __libc_cond_wait_stub(cond_t *, mutex_t *); +int __libc_cond_timedwait_stub(cond_t *, mutex_t *, + const struct timespec *); +int __libc_cond_destroy_stub(cond_t *); + +int __libc_rwlock_init_stub(rwlock_t *, const rwlockattr_t *); +int __libc_rwlock_rdlock_stub(rwlock_t *); +int __libc_rwlock_wrlock_stub(rwlock_t *); +int __libc_rwlock_tryrdlock_stub(rwlock_t *); +int __libc_rwlock_trywrlock_stub(rwlock_t *); +int __libc_rwlock_unlock_stub(rwlock_t *); +int __libc_rwlock_destroy_stub(rwlock_t *); + +int __libc_thr_keycreate_stub(thread_key_t *, void (*)(void *)); +int __libc_thr_setspecific_stub(thread_key_t, const void *); +void *__libc_thr_getspecific_stub(thread_key_t); +int __libc_thr_keydelete_stub(thread_key_t); + +int __libc_thr_once_stub(once_t *, void (*)(void)); +int __libc_thr_sigsetmask_stub(int, const sigset_t *, sigset_t *); +thr_t __libc_thr_self_stub(void); +int __libc_thr_yield_stub(void); +int __libc_thr_create_stub(thr_t *, const thrattr_t *, + void *(*)(void *), void *); +void __libc_thr_exit_stub(void *) __dead; +int *__libc_thr_errno_stub(void); +int __libc_thr_setcancelstate_stub(int, int *); +int __libc_thr_equal_stub(pthread_t, pthread_t); +unsigned int __libc_thr_curcpu_stub(void); +__END_DECLS + #endif /* __LIBC_THREAD_STUBS */ #define FLOCKFILE(fp) __flockfile_internal(fp, 1) diff --git a/lib/libc/locale/Makefile.inc b/lib/libc/locale/Makefile.inc index f9fb3751e..b6cd592fc 100644 --- a/lib/libc/locale/Makefile.inc +++ b/lib/libc/locale/Makefile.inc @@ -1,13 +1,12 @@ # from: @(#)Makefile.inc 5.1 (Berkeley) 2/18/91 -# $NetBSD: Makefile.inc,v 1.60 2012/01/20 16:31:29 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.64 2013/08/18 20:03:48 joerg Exp $ # locale sources .PATH: ${ARCHDIR}/locale ${.CURDIR}/locale -SRCS+= _def_messages.c _def_monetary.c _def_numeric.c _def_time.c \ - setlocale.c __mb_cur_max.c \ - current_locale.c global_locale.c fix_grouping.c \ - localeconv.c nl_langinfo.c \ +SRCS+= setlocale.c __mb_cur_max.c \ + duplocale.c global_locale.c fix_grouping.c \ + freelocale.c localeconv.c newlocale.c nl_langinfo.c \ generic_lc_all.c dummy_lc_collate.c \ wcstol.c wcstoll.c wcstoimax.c wcstoul.c wcstoull.c wcstoumax.c \ wcstod.c wcstof.c wcstold.c wcscoll.c wcsxfrm.c wcsftime.c diff --git a/lib/libc/locale/_def_messages.c b/lib/libc/locale/_def_messages.c deleted file mode 100644 index 8ddaa034b..000000000 --- a/lib/libc/locale/_def_messages.c +++ /dev/null @@ -1,24 +0,0 @@ -/* $NetBSD: _def_messages.c,v 1.6 2005/06/12 05:21:27 lukem Exp $ */ - -/* - * Written by J.T. Conklin . - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _def_messages.c,v 1.6 2005/06/12 05:21:27 lukem Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -const _MessagesLocale _DefaultMessagesLocale = -{ - "^[Yy]", - "^[Nn]", - "yes", - "no" -} ; - -const _MessagesLocale *_CurrentMessagesLocale = &_DefaultMessagesLocale; diff --git a/lib/libc/locale/_def_monetary.c b/lib/libc/locale/_def_monetary.c deleted file mode 100644 index 7bd133156..000000000 --- a/lib/libc/locale/_def_monetary.c +++ /dev/null @@ -1,42 +0,0 @@ -/* $NetBSD: _def_monetary.c,v 1.8 2005/06/12 05:21:27 lukem Exp $ */ - -/* - * Written by J.T. Conklin . - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _def_monetary.c,v 1.8 2005/06/12 05:21:27 lukem Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -const _MonetaryLocale _DefaultMonetaryLocale = -{ - "", - "", - "", - "", - "", - "", - "", - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX, - (char)CHAR_MAX -}; - -const _MonetaryLocale *_CurrentMonetaryLocale = &_DefaultMonetaryLocale; diff --git a/lib/libc/locale/_def_numeric.c b/lib/libc/locale/_def_numeric.c deleted file mode 100644 index 5dd29ac48..000000000 --- a/lib/libc/locale/_def_numeric.c +++ /dev/null @@ -1,23 +0,0 @@ -/* $NetBSD: _def_numeric.c,v 1.6 2005/06/12 05:21:27 lukem Exp $ */ - -/* - * Written by J.T. Conklin . - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _def_numeric.c,v 1.6 2005/06/12 05:21:27 lukem Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -const _NumericLocale _DefaultNumericLocale = -{ - ".", - "", - "" -}; - -const _NumericLocale *_CurrentNumericLocale = &_DefaultNumericLocale; diff --git a/lib/libc/locale/_def_time.c b/lib/libc/locale/_def_time.c deleted file mode 100644 index bccb1b1dd..000000000 --- a/lib/libc/locale/_def_time.c +++ /dev/null @@ -1,42 +0,0 @@ -/* $NetBSD: _def_time.c,v 1.10 2008/05/17 03:49:54 ginsbach Exp $ */ - -/* - * Written by J.T. Conklin . - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _def_time.c,v 1.10 2008/05/17 03:49:54 ginsbach Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -const _TimeLocale _DefaultTimeLocale = -{ - { - "Sun","Mon","Tue","Wed","Thu","Fri","Sat", - }, - { - "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", - "Friday", "Saturday" - }, - { - "Jan", "Feb", "Mar", "Apr", "May", "Jun", - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" - }, - { - "January", "February", "March", "April", "May", "June", "July", - "August", "September", "October", "November", "December" - }, - { - "AM", "PM" - }, - "%a %b %e %H:%M:%S %Y", - "%m/%d/%y", - "%H:%M:%S", - "%I:%M:%S %p" -}; - -const _TimeLocale *_CurrentTimeLocale = &_DefaultTimeLocale; diff --git a/lib/libc/locale/_wcstod.h b/lib/libc/locale/_wcstod.h index 99a3f7e8f..1b3cc4a5c 100644 --- a/lib/libc/locale/_wcstod.h +++ b/lib/libc/locale/_wcstod.h @@ -1,4 +1,4 @@ -/* $NetBSD: _wcstod.h,v 1.2 2010/12/16 17:42:27 wiz Exp $ */ +/* $NetBSD: _wcstod.h,v 1.4 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -6,7 +6,7 @@ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions - * are met: + * aINre 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 @@ -41,6 +41,11 @@ #ifndef __WCSTOD_H_ #define __WCSTOD_H_ +#include +#include "setlocale_local.h" +#define INT_NAME_(pre, middle, post) pre ## middle ## post +#define INT_NAME(pre, middle, post) INT_NAME_(pre, middle, post) + /* * Convert a string to a double-precision number. * @@ -51,8 +56,9 @@ * This assumes that the multibyte encoding is compatible with ASCII * for at least the digits, radix character and letters. */ -_RETURN_TYPE -_FUNCNAME(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr) +static _RETURN_TYPE +INT_NAME(_int_, _FUNCNAME, _l)(const wchar_t * __restrict nptr, + wchar_t ** __restrict endptr, locale_t loc) { const wchar_t *src, *start; _RETURN_TYPE val; @@ -63,7 +69,7 @@ _FUNCNAME(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr) /* endptr may be null */ src = nptr; - while (iswspace((wint_t)*src) != 0) + while (iswspace_l((wint_t)*src, loc) != 0) ++src; if (*src == L'\0') goto no_convert; @@ -79,7 +85,7 @@ _FUNCNAME(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr) * slows down the most common cases. */ start = src; - len = wcstombs(NULL, src, 0); + len = wcstombs_l(NULL, src, 0, loc); if (len == (size_t)-1) /* errno = EILSEQ */ goto no_convert; @@ -92,13 +98,13 @@ _FUNCNAME(const wchar_t * __restrict nptr, wchar_t ** __restrict endptr) /* errno = ENOMEM */ goto no_convert; - len = wcstombs(buf, src, bufsiz + 1); + len = wcstombs_l(buf, src, bufsiz + 1, loc); _DIAGASSERT(len == bufsiz); _DIAGASSERT(buf[len] == '\0'); /* Let strto{f,d,ld}() do most of the work for us. */ - val = _STRTOD_FUNC(buf, &end); + val = _STRTOD_FUNC(buf, &end, loc); if (buf == end) { free(buf); goto no_convert; @@ -123,4 +129,18 @@ no_convert: *endptr = __UNCONST(nptr); return 0; } + +_RETURN_TYPE +INT_NAME(, _FUNCNAME, )(const wchar_t * __restrict nptr, + wchar_t ** __restrict endptr) +{ + return INT_NAME(_int_, _FUNCNAME, _l)(nptr, endptr, _current_locale()); +} + +_RETURN_TYPE +INT_NAME(, _FUNCNAME, _l)(const wchar_t * __restrict nptr, + wchar_t ** __restrict endptr, locale_t loc) +{ + return INT_NAME(_int_, _FUNCNAME, _l)(nptr, endptr, loc); +} #endif /*__WCSTOD_H_*/ diff --git a/lib/libc/locale/_wcstol.h b/lib/libc/locale/_wcstol.h index 49c268c42..1dc24c4f5 100644 --- a/lib/libc/locale/_wcstol.h +++ b/lib/libc/locale/_wcstol.h @@ -1,4 +1,4 @@ -/* $NetBSD: _wcstol.h,v 1.4 2012/06/25 22:32:44 abs Exp $ */ +/* $NetBSD: _wcstol.h,v 1.6 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -44,8 +44,14 @@ * __INT_MAX : upper limit of the return type */ -__INT -_FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) +#include +#include "setlocale_local.h" +#define INT_FUNCNAME_(pre, name, post) pre ## name ## post +#define INT_FUNCNAME(pre, name, post) INT_FUNCNAME_(pre, name, post) + +static __INT +INT_FUNCNAME(_int_, _FUNCNAME, _l)(const wchar_t *nptr, wchar_t **endptr, + int base, locale_t loc) { const wchar_t *s; __INT acc, cutoff; @@ -74,7 +80,7 @@ _FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) s = nptr; do { wc = (wchar_t) *s++; - } while (iswspace(wc)); + } while (iswspace_l(wc, loc)); if (wc == L'-') { neg = 1; wc = *s++; @@ -139,3 +145,17 @@ _FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) *endptr = __UNCONST(any ? s - 1 : nptr); return (acc); } + +__INT +_FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, + _current_locale()); +} + +__INT +INT_FUNCNAME(, _FUNCNAME, _l)(const wchar_t *nptr, wchar_t **endptr, + int base, locale_t loc) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, loc); +} diff --git a/lib/libc/locale/_wcstoul.h b/lib/libc/locale/_wcstoul.h index 33f0d1c9b..98e7ca73c 100644 --- a/lib/libc/locale/_wcstoul.h +++ b/lib/libc/locale/_wcstoul.h @@ -1,4 +1,4 @@ -/* $NetBSD: _wcstoul.h,v 1.4 2012/06/25 22:32:44 abs Exp $ */ +/* $NetBSD: _wcstoul.h,v 1.6 2013/05/17 12:55:57 joerg Exp $ */ /* * Copyright (c) 1990, 1993 @@ -43,8 +43,14 @@ * __UINT_MAX : upper limit of the return type */ -__UINT -_FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) +#include +#include "setlocale_local.h" +#define INT_FUNCNAME_(pre, name, post) pre ## name ## post +#define INT_FUNCNAME(pre, name, post) INT_FUNCNAME_(pre, name, post) + +static __UINT +INT_FUNCNAME(_int_, _FUNCNAME, _l)(const wchar_t *nptr, wchar_t **endptr, + int base, locale_t loc) { const wchar_t *s; __UINT acc, cutoff; @@ -68,7 +74,7 @@ _FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) s = nptr; do { wc = (wchar_t) *s++; - } while (iswspace(wc)); + } while (iswspace_l(wc, loc)); if (wc == L'-') { neg = 1; wc = *s++; @@ -115,3 +121,17 @@ _FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) *endptr = __UNCONST(any ? s - 1 : nptr); return (acc); } + +__UINT +_FUNCNAME(const wchar_t *nptr, wchar_t **endptr, int base) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, + _current_locale()); +} + +__UINT +INT_FUNCNAME(, _FUNCNAME, _l)(const wchar_t *nptr, wchar_t **endptr, + int base, locale_t loc) +{ + return INT_FUNCNAME(_int_, _FUNCNAME, _l)(nptr, endptr, base, loc); +} diff --git a/lib/libc/locale/ctype_local.h b/lib/libc/locale/ctype_local.h index b5a85d3d0..b8a230c72 100644 --- a/lib/libc/locale/ctype_local.h +++ b/lib/libc/locale/ctype_local.h @@ -1,4 +1,4 @@ -/* $NetBSD: ctype_local.h,v 1.4 2010/06/13 04:14:57 tnozaki Exp $ */ +/* $NetBSD: ctype_local.h,v 1.5 2013/04/13 10:21:20 joerg Exp $ */ /*- * Copyright (c) 2010 Citrus Project, @@ -33,8 +33,22 @@ #define _CTYPE_NUM_CHARS (1 << CHAR_BIT) #define _CTYPE_CACHE_SIZE (1 << 8) -extern const unsigned char _C_ctype_[]; -extern const short _C_toupper_[]; -extern const short _C_tolower_[]; +#define _COMPAT_U 0x01 +#define _COMPAT_L 0x02 +#define _COMPAT_N 0x04 +#define _COMPAT_S 0x08 +#define _COMPAT_P 0x10 +#define _COMPAT_C 0x20 +#define _COMPAT_X 0x40 +#define _COMPAT_B 0x80 + +extern const unsigned short _C_ctype_tab_[]; +extern const short _C_toupper_tab_[]; +extern const short _C_tolower_tab_[]; + +#ifdef __BUILD_LEGACY +extern const unsigned char *_ctype_; +extern const unsigned char _C_compat_bsdctype[]; +#endif #endif /*_CTYPE_LOCAL_H_*/ diff --git a/lib/libc/locale/dummy_lc_template.h b/lib/libc/locale/dummy_lc_template.h index 994897ced..ac9e3de1b 100644 --- a/lib/libc/locale/dummy_lc_template.h +++ b/lib/libc/locale/dummy_lc_template.h @@ -1,4 +1,4 @@ -/* $NetBSD: dummy_lc_template.h,v 1.3 2012/03/04 21:14:56 tnozaki Exp $ */ +/* $NetBSD: dummy_lc_template.h,v 1.4 2013/04/14 23:30:16 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -33,7 +33,7 @@ const char * _PREFIX(setlocale)(const char * __restrict name, - struct _locale_impl_t * __restrict locale) + struct _locale * __restrict locale) { if (name != NULL) { if (*name == '\0') diff --git a/lib/libelf/elf.c b/lib/libc/locale/duplocale.c similarity index 72% rename from lib/libelf/elf.c rename to lib/libc/locale/duplocale.c index d7cf30f15..6217fdaf1 100644 --- a/lib/libelf/elf.c +++ b/lib/libc/locale/duplocale.c @@ -1,5 +1,7 @@ +/* $NetBSD: duplocale.c,v 1.1 2013/04/30 00:45:05 joerg Exp $ */ + /*- - * Copyright (c) 2006,2008,2011 Joseph Koshy + * Copyright (c)2008, 2011 Citrus Project, * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,17 +26,27 @@ * SUCH DAMAGE. */ -#include +#include +__RCSID("$NetBSD: duplocale.c,v 1.1 2013/04/30 00:45:05 joerg Exp $"); -#include "_libelf.h" +#include "namespace.h" -LIBELF_VCSID("$Id$"); +#include +#include +#include -struct _libelf_globals _libelf = { - .libelf_arch = LIBELF_ARCH, - .libelf_byteorder = LIBELF_BYTEORDER, - .libelf_class = LIBELF_CLASS, - .libelf_error = 0, - .libelf_fillchar = 0, - .libelf_version = EV_NONE -}; +#include "setlocale_local.h" + +__weak_alias(duplocale, _duplocale) + +locale_t +duplocale(locale_t src) +{ + struct _locale *dst; + + dst = malloc(sizeof(*dst)); + if (dst != NULL) + memcpy(dst, src, sizeof(*dst)); + + return dst; +} diff --git a/lib/libc/locale/current_locale.c b/lib/libc/locale/freelocale.c similarity index 75% rename from lib/libc/locale/current_locale.c rename to lib/libc/locale/freelocale.c index ef6847f31..8d408cc6e 100644 --- a/lib/libc/locale/current_locale.c +++ b/lib/libc/locale/freelocale.c @@ -1,7 +1,7 @@ -/* $NetBSD: current_locale.c,v 1.3 2012/03/20 17:44:18 matt Exp $ */ +/* $NetBSD: freelocale.c,v 1.2 2013/05/17 12:55:57 joerg Exp $ */ /*- - * Copyright (c)2008 Citrus Project, + * Copyright (c)2008, 2011 Citrus Project, * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -27,23 +27,25 @@ */ #include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: current_locale.c,v 1.3 2012/03/20 17:44:18 matt Exp $"); -#endif /* LIBC_SCCS and not lint */ +__RCSID("$NetBSD: freelocale.c,v 1.2 2013/05/17 12:55:57 joerg Exp $"); + +#include "namespace.h" -#include -#include -#include #define __SETLOCALE_SOURCE__ +#include #include #include #include "setlocale_local.h" -static struct _locale_impl_t *__current_locale = &_global_locale; +__weak_alias(freelocale, _freelocale) -struct _locale_impl_t ** -_current_locale(void) +void +freelocale(locale_t locale) { - return &__current_locale; + + _DIAGASSERT(locale != LC_GLOBAL_LOCALE); + _DIAGASSERT(locale != LC_C_LOCALE); + _DIAGASSERT(locale != NULL); + free(locale); } diff --git a/lib/libc/locale/generic_lc_all.c b/lib/libc/locale/generic_lc_all.c index 6819471c4..1c7f43e74 100644 --- a/lib/libc/locale/generic_lc_all.c +++ b/lib/libc/locale/generic_lc_all.c @@ -1,4 +1,4 @@ -/* $NetBSD: generic_lc_all.c,v 1.4 2012/03/04 21:14:56 tnozaki Exp $ */ +/* $NetBSD: generic_lc_all.c,v 1.5 2013/04/14 23:30:16 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: generic_lc_all.c,v 1.4 2012/03/04 21:14:56 tnozaki Exp $"); +__RCSID("$NetBSD: generic_lc_all.c,v 1.5 2013/04/14 23:30:16 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -51,7 +51,7 @@ __RCSID("$NetBSD: generic_lc_all.c,v 1.4 2012/03/04 21:14:56 tnozaki Exp $"); const char * _generic_LC_ALL_setlocale(const char * __restrict name, - struct _locale_impl_t * __restrict locale) + struct _locale * __restrict locale) { _locale_set_t sl; char head[_LOCALENAME_LEN_MAX * (_LC_LAST - 1)], *tail; diff --git a/lib/libc/locale/generic_lc_template_decl.h b/lib/libc/locale/generic_lc_template_decl.h index 2da00854e..c90eb8353 100644 --- a/lib/libc/locale/generic_lc_template_decl.h +++ b/lib/libc/locale/generic_lc_template_decl.h @@ -1,4 +1,4 @@ -/* $NetBSD: generic_lc_template_decl.h,v 1.3 2012/03/04 21:14:56 tnozaki Exp $ */ +/* $NetBSD: generic_lc_template_decl.h,v 1.4 2013/04/14 23:30:16 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -30,6 +30,6 @@ #define _GENERIC_LC_TEMPLATE_DECL_H_ const char * _PREFIX(setlocale)(const char * __restrict, - struct _locale_impl_t * __restrict); + struct _locale * __restrict); #endif /*_GENERIC_LC_TEMPLATE_DECL_H_*/ diff --git a/lib/libc/locale/global_locale.c b/lib/libc/locale/global_locale.c index 5e2c6b3af..2dc016112 100644 --- a/lib/libc/locale/global_locale.c +++ b/lib/libc/locale/global_locale.c @@ -1,4 +1,4 @@ -/* $NetBSD: global_locale.c,v 1.13 2012/03/21 14:11:24 christos Exp $ */ +/* $NetBSD: global_locale.c,v 1.21 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: global_locale.c,v 1.13 2012/03/21 14:11:24 christos Exp $"); +__RCSID("$NetBSD: global_locale.c,v 1.21 2013/09/13 13:13:32 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -47,7 +47,73 @@ __RCSID("$NetBSD: global_locale.c,v 1.13 2012/03/21 14:11:24 christos Exp $"); #define NBCHAR_MAX (char)CHAR_MAX #endif -static struct lconv _global_ldata = { +static const _MessagesLocale _DefaultMessagesLocale = { + "^[Yy]", + "^[Nn]", + "yes", + "no" +}; + +static const _MonetaryLocale _DefaultMonetaryLocale = { + "", + "", + "", + "", + "", + "", + "", + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX, + (char)CHAR_MAX +}; + +static const _NumericLocale _DefaultNumericLocale = { + ".", + "", + "" +}; + +static const _TimeLocale _DefaultTimeLocale = +{ + { + "Sun","Mon","Tue","Wed","Thu","Fri","Sat", + }, + { + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", + "Friday", "Saturday" + }, + { + "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" + }, + { + "January", "February", "March", "April", "May", "June", "July", + "August", "September", "October", "November", "December" + }, + { + "AM", "PM" + }, + "%a %b %e %H:%M:%S %Y", + "%m/%d/%y", + "%H:%M:%S", + "%I:%M:%S %p" +}; + +static const char _lc_C_locale_name[] = _C_LOCALE; + +__dso_hidden const struct _locale_cache_t _C_cache = { + .ldata = { .decimal_point = __UNCONST("."), .thousands_sep = __UNCONST(""), .grouping = __UNCONST(""), @@ -72,88 +138,22 @@ static struct lconv _global_ldata = { .int_n_sep_by_space = NBCHAR_MAX, .int_p_sign_posn = NBCHAR_MAX, .int_n_sign_posn = NBCHAR_MAX, + }, + .monetary_name = _lc_C_locale_name, + .numeric_name = _lc_C_locale_name, }; -static const char *_global_items[(size_t)ALT_DIGITS + 1] = { - [(size_t)D_T_FMT ] = "%a %b %e %H:%M:%S %Y", - [(size_t)D_FMT ] = "%m/%d/%y", - [(size_t)T_FMT ] = "%H:%M:%S", - [(size_t)T_FMT_AMPM ] = "%I:%M:%S %p", - [(size_t)AM_STR ] = "AM", - [(size_t)PM_STR ] = "PM", - [(size_t)DAY_1 ] = "Sun", - [(size_t)DAY_2 ] = "Mon", - [(size_t)DAY_3 ] = "Tue", - [(size_t)DAY_4 ] = "Wed", - [(size_t)DAY_5 ] = "Thu", - [(size_t)DAY_6 ] = "Fri", - [(size_t)DAY_7 ] = "Sat", - [(size_t)ABDAY_1 ] = "Sunday", - [(size_t)ABDAY_2 ] = "Monday", - [(size_t)ABDAY_3 ] = "Tuesday", - [(size_t)ABDAY_4 ] = "Wednesday", - [(size_t)ABDAY_5 ] = "Thursday", - [(size_t)ABDAY_6 ] = "Friday", - [(size_t)ABDAY_7 ] = "Saturday", - [(size_t)MON_1 ] = "Jan", - [(size_t)MON_2 ] = "Feb", - [(size_t)MON_3 ] = "Mar", - [(size_t)MON_4 ] = "Apr", - [(size_t)MON_5 ] = "May", - [(size_t)MON_6 ] = "Jun", - [(size_t)MON_7 ] = "Jul", - [(size_t)MON_8 ] = "Aug", - [(size_t)MON_9 ] = "Sep", - [(size_t)MON_10 ] = "Oct", - [(size_t)MON_11 ] = "Nov", - [(size_t)MON_12 ] = "Dec", - [(size_t)ABMON_1 ] = "January", - [(size_t)ABMON_2 ] = "February", - [(size_t)ABMON_3 ] = "March", - [(size_t)ABMON_4 ] = "April", - [(size_t)ABMON_5 ] = "May", - [(size_t)ABMON_6 ] = "June", - [(size_t)ABMON_7 ] = "July", - [(size_t)ABMON_8 ] = "August", - [(size_t)ABMON_9 ] = "September", - [(size_t)ABMON_10 ] = "October", - [(size_t)ABMON_11 ] = "November", - [(size_t)ABMON_12 ] = "December", - [(size_t)RADIXCHAR ] = ".", - [(size_t)THOUSEP ] = "", - [(size_t)YESSTR ] = "yes", - [(size_t)YESEXPR ] = "^[Yy]", - [(size_t)NOSTR ] = "no", - [(size_t)NOEXPR ] = "^[Nn]", - [(size_t)CRNCYSTR ] = NULL, - [(size_t)CODESET ] = "646", - [(size_t)ERA ] = NULL, - [(size_t)ERA_D_FMT ] = NULL, - [(size_t)ERA_D_T_FMT] = NULL, - [(size_t)ERA_T_FMT ] = NULL, - [(size_t)ALT_DIGITS ] = NULL, -}; - -static struct _locale_cache_t _global_cache = { - .ctype_tab = (const unsigned char *)&_C_ctype_[0], - .tolower_tab = (const short *)&_C_tolower_[0], - .toupper_tab = (const short *)&_C_toupper_[0], - .mb_cur_max = (size_t)1, - .ldata = &_global_ldata, - .items = &_global_items[0], -}; - -struct _locale_impl_t _global_locale = { - .cache = &_global_cache, +__dso_protected struct _locale _lc_global_locale = { + .cache = &_C_cache, .query = { _C_LOCALE }, .part_name = { - [(size_t)LC_ALL ] = _C_LOCALE, - [(size_t)LC_COLLATE ] = _C_LOCALE, - [(size_t)LC_CTYPE ] = _C_LOCALE, - [(size_t)LC_MONETARY] = _C_LOCALE, - [(size_t)LC_NUMERIC ] = _C_LOCALE, - [(size_t)LC_TIME ] = _C_LOCALE, - [(size_t)LC_MESSAGES] = _C_LOCALE, + [(size_t)LC_ALL ] = _lc_C_locale_name, + [(size_t)LC_COLLATE ] = _lc_C_locale_name, + [(size_t)LC_CTYPE ] = _lc_C_locale_name, + [(size_t)LC_MONETARY] = _lc_C_locale_name, + [(size_t)LC_NUMERIC ] = _lc_C_locale_name, + [(size_t)LC_TIME ] = _lc_C_locale_name, + [(size_t)LC_MESSAGES] = _lc_C_locale_name, }, .part_impl = { [(size_t)LC_ALL ] = (_locale_part_t)NULL, @@ -166,5 +166,35 @@ struct _locale_impl_t _global_locale = { __UNCONST(&_DefaultNumericLocale), [(size_t)LC_MESSAGES] = (_locale_part_t) __UNCONST(&_DefaultMessagesLocale), + [(size_t)LC_TIME] = (_locale_part_t) + __UNCONST(&_DefaultTimeLocale), + }, +}; + +__dso_protected const struct _locale _lc_C_locale = { + .cache = &_C_cache, + .query = { _C_LOCALE }, + .part_name = { + [(size_t)LC_ALL ] = _lc_C_locale_name, + [(size_t)LC_COLLATE ] = _lc_C_locale_name, + [(size_t)LC_CTYPE ] = _lc_C_locale_name, + [(size_t)LC_MONETARY] = _lc_C_locale_name, + [(size_t)LC_NUMERIC ] = _lc_C_locale_name, + [(size_t)LC_TIME ] = _lc_C_locale_name, + [(size_t)LC_MESSAGES] = _lc_C_locale_name, + }, + .part_impl = { + [(size_t)LC_ALL ] = (_locale_part_t)NULL, + [(size_t)LC_COLLATE ] = (_locale_part_t)NULL, + [(size_t)LC_CTYPE ] = (_locale_part_t) + __UNCONST(&_DefaultRuneLocale), + [(size_t)LC_MONETARY] = (_locale_part_t) + __UNCONST(&_DefaultMonetaryLocale), + [(size_t)LC_NUMERIC ] = (_locale_part_t) + __UNCONST(&_DefaultNumericLocale), + [(size_t)LC_MESSAGES] = (_locale_part_t) + __UNCONST(&_DefaultMessagesLocale), + [(size_t)LC_TIME] = (_locale_part_t) + __UNCONST(&_DefaultTimeLocale), }, }; diff --git a/lib/libc/locale/iswctype_mb.c b/lib/libc/locale/iswctype_mb.c index 651ba1b78..b0ee10a91 100644 --- a/lib/libc/locale/iswctype_mb.c +++ b/lib/libc/locale/iswctype_mb.c @@ -1,4 +1,4 @@ -/* $NetBSD: iswctype_mb.c,v 1.11 2010/06/13 04:14:57 tnozaki Exp $ */ +/* $NetBSD: iswctype_mb.c,v 1.13 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: iswctype_mb.c,v 1.11 2010/06/13 04:14:57 tnozaki Exp $"); +__RCSID("$NetBSD: iswctype_mb.c,v 1.13 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -47,20 +47,26 @@ __RCSID("$NetBSD: iswctype_mb.c,v 1.11 2010/06/13 04:14:57 tnozaki Exp $"); #include "_wctype_local.h" #include "_wctrans_local.h" -#define _RUNE_LOCALE() ((_RuneLocale const *) \ - (*_current_locale())->part_impl[(size_t)LC_CTYPE]) +#define _RUNE_LOCALE(loc) ((_RuneLocale const *) \ + (loc)->part_impl[(size_t)LC_CTYPE]) #define _ISWCTYPE_FUNC(name, index) \ int \ -isw##name(wint_t wc) \ +isw##name##_l(wint_t wc, locale_t loc) \ { \ _RuneLocale const *rl; \ _WCTypeEntry const *te; \ \ - rl = _RUNE_LOCALE(); \ + rl = _RUNE_LOCALE(loc); \ te = &rl->rl_wctype[index]; \ return _iswctype_priv(rl, wc, te); \ +} \ +int \ +isw##name(wint_t wc) \ +{ \ + return isw##name##_l(wc, _current_locale()); \ } + _ISWCTYPE_FUNC(alnum, _WCTYPE_INDEX_ALNUM) _ISWCTYPE_FUNC(alpha, _WCTYPE_INDEX_ALPHA) _ISWCTYPE_FUNC(blank, _WCTYPE_INDEX_BLANK) @@ -76,25 +82,30 @@ _ISWCTYPE_FUNC(xdigit, _WCTYPE_INDEX_XDIGIT) #define _TOWCTRANS_FUNC(name, index) \ wint_t \ -tow##name(wint_t wc) \ +tow##name##_l(wint_t wc, locale_t loc) \ { \ _RuneLocale const *rl; \ _WCTransEntry const *te; \ \ - rl = _RUNE_LOCALE(); \ + rl = _RUNE_LOCALE(loc); \ te = &rl->rl_wctrans[index]; \ return _towctrans_priv(wc, te); \ +} \ +wint_t \ +tow##name(wint_t wc) \ +{ \ + return tow##name##_l(wc, _current_locale()); \ } _TOWCTRANS_FUNC(upper, _WCTRANS_INDEX_UPPER) _TOWCTRANS_FUNC(lower, _WCTRANS_INDEX_LOWER) wctype_t -wctype(const char *charclass) +wctype_l(const char *charclass, locale_t loc) { _RuneLocale const *rl; size_t i; - rl = _RUNE_LOCALE(); + rl = _RUNE_LOCALE(loc); for (i = 0; i < _WCTYPE_NINDEXES; ++i) { if (!strcmp(rl->rl_wctype[i].te_name, charclass)) return (wctype_t)__UNCONST(&rl->rl_wctype[i]); @@ -102,13 +113,19 @@ wctype(const char *charclass) return (wctype_t)NULL; } +wctype_t +wctype(const char *charclass) +{ + return wctype_l(charclass, _current_locale()); +} + wctrans_t -wctrans(const char *charmap) +wctrans_l(const char *charmap, locale_t loc) { _RuneLocale const *rl; size_t i; - rl = _RUNE_LOCALE(); + rl = _RUNE_LOCALE(loc); for (i = 0; i < _WCTRANS_NINDEXES; ++i) { _DIAGASSERT(rl->rl_wctrans[i].te_name != NULL); if (!strcmp(rl->rl_wctrans[i].te_name, charmap)) @@ -117,8 +134,14 @@ wctrans(const char *charmap) return (wctrans_t)NULL; } +wctrans_t +wctrans(const char *charmap) +{ + return wctrans_l(charmap, _current_locale()); +} + int -iswctype(wint_t wc, wctype_t charclass) +iswctype_l(wint_t wc, wctype_t charclass, locale_t loc) { _RuneLocale const *rl; _WCTypeEntry const *te; @@ -127,11 +150,18 @@ iswctype(wint_t wc, wctype_t charclass) errno = EINVAL; return 0; } - rl = _RUNE_LOCALE(); + + rl = _RUNE_LOCALE(loc); te = (_WCTypeEntry const *)(void *)charclass; return _iswctype_priv(rl, wc, te); } +int +iswctype(wint_t wc, wctype_t charclass) +{ + return iswctype_l(wc, charclass, _current_locale()); +} + wint_t towctrans(wint_t wc, wctrans_t charmap) { @@ -145,17 +175,26 @@ towctrans(wint_t wc, wctrans_t charmap) return _towctrans_priv(wc, te); } +/* ARGSUSED */ +wint_t +towctrans_l(wint_t wc, wctrans_t charmap, locale_t loc) +{ + return towctrans(wc, charmap); +} + __weak_alias(wcwidth,_wcwidth) +__weak_alias(wcwidth_l,_wcwidth_l) int -wcwidth(wchar_t wc) +wcwidth_l(wchar_t wc, locale_t loc) { _RuneLocale const *rl; _RuneType x; if (wc == L'\0') return 0; - rl = _RUNE_LOCALE(); + + rl = _RUNE_LOCALE(loc); x = _runetype_priv(rl, wc); if (x & _RUNETYPE_R) return ((unsigned)x & _RUNETYPE_SWM) >> _RUNETYPE_SWS; @@ -163,7 +202,13 @@ wcwidth(wchar_t wc) } int -wcswidth(const wchar_t * __restrict ws, size_t wn) +wcwidth(wchar_t wc) +{ + return wcwidth_l(wc, _current_locale()); +} + +int +wcswidth_l(const wchar_t * __restrict ws, size_t wn, locale_t loc) { _RuneLocale const *rl; _RuneType x; @@ -171,7 +216,7 @@ wcswidth(const wchar_t * __restrict ws, size_t wn) _DIAGASSERT(ws != NULL); - rl = _RUNE_LOCALE(); + rl = _RUNE_LOCALE(loc); width = 0; while (wn > 0 && *ws != L'\0') { x = _runetype_priv(rl, *ws); @@ -182,3 +227,9 @@ wcswidth(const wchar_t * __restrict ws, size_t wn) } return width; } + +int +wcswidth(const wchar_t * __restrict ws, size_t wn) +{ + return wcswidth_l(ws, wn, _current_locale()); +} diff --git a/lib/libc/locale/localeconv.c b/lib/libc/locale/localeconv.c index cbc722665..6ec10571a 100644 --- a/lib/libc/locale/localeconv.c +++ b/lib/libc/locale/localeconv.c @@ -1,4 +1,4 @@ -/* $NetBSD: localeconv.c,v 1.19 2012/06/24 15:26:03 christos Exp $ */ +/* $NetBSD: localeconv.c,v 1.22 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: localeconv.c,v 1.19 2012/06/24 15:26:03 christos Exp $"); +__RCSID("$NetBSD: localeconv.c,v 1.22 2013/09/13 13:13:32 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -41,5 +41,11 @@ __RCSID("$NetBSD: localeconv.c,v 1.19 2012/06/24 15:26:03 christos Exp $"); struct lconv * localeconv(void) { - return _current_cache()->ldata; + return localeconv_l(_current_locale()); +} + +struct lconv * +localeconv_l(locale_t loc) +{ + return __UNCONST(&loc->cache->ldata); } diff --git a/lib/libc/locale/multibyte.h b/lib/libc/locale/multibyte.h index 2b28aec06..f22c31c3f 100644 --- a/lib/libc/locale/multibyte.h +++ b/lib/libc/locale/multibyte.h @@ -1,4 +1,4 @@ -/* $NetBSD: multibyte.h,v 1.5 2009/01/11 02:46:28 christos Exp $ */ +/* $NetBSD: multibyte.h,v 1.6 2013/08/18 20:03:48 joerg Exp $ */ /*- * Copyright (c)2002 Citrus Project, @@ -49,15 +49,14 @@ typedef union _RuneState { } _RuneState; #define _PRIVSIZE (sizeof(mbstate_t)-offsetof(_RuneStatePriv, __private)) +#define _RUNE_LOCALE(loc) \ + ((_RuneLocale *)((loc)->part_impl[(size_t)LC_CTYPE])) + +#define _CITRUS_CTYPE(loc) \ + (((_RuneLocale *)((loc)->part_impl[(size_t)LC_CTYPE]))->rl_citrus_ctype) /* */ -static __inline _citrus_ctype_t -_to_cur_ctype(void) -{ - return (_CurrentRuneLocale->rl_citrus_ctype); -} - static __inline _RuneState * _ps_to_runestate(mbstate_t *ps) { @@ -77,10 +76,10 @@ _ps_to_runelocale(mbstate_t const *ps) } static __inline _citrus_ctype_t -_ps_to_ctype(mbstate_t const *ps) +_ps_to_ctype(mbstate_t const *ps, locale_t loc) { if (!ps) - return _to_cur_ctype(); + return _CITRUS_CTYPE(loc); _DIAGASSERT(_ps_to_runelocale(ps) != NULL); diff --git a/lib/libc/locale/multibyte_amd1.c b/lib/libc/locale/multibyte_amd1.c index 8c74ddfed..e733f90fa 100644 --- a/lib/libc/locale/multibyte_amd1.c +++ b/lib/libc/locale/multibyte_amd1.c @@ -1,4 +1,4 @@ -/* $NetBSD: multibyte_amd1.c,v 1.9 2010/06/13 04:14:57 tnozaki Exp $ */ +/* $NetBSD: multibyte_amd1.c,v 1.14 2013/08/18 20:03:48 joerg Exp $ */ /*- * Copyright (c)2002, 2008 Citrus Project, @@ -28,13 +28,14 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: multibyte_amd1.c,v 1.9 2010/06/13 04:14:57 tnozaki Exp $"); +__RCSID("$NetBSD: multibyte_amd1.c,v 1.14 2013/08/18 20:03:48 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include #include #include #include +#include #define __SETLOCALE_SOURCE__ #include #include @@ -46,21 +47,15 @@ __RCSID("$NetBSD: multibyte_amd1.c,v 1.9 2010/06/13 04:14:57 tnozaki Exp $"); #include "runetype_local.h" #include "multibyte.h" -#define _RUNE_LOCALE() \ - ((_RuneLocale *)(*_current_locale())->part_impl[(size_t)LC_CTYPE]) - -#define _CITRUS_CTYPE() \ - (_RUNE_LOCALE()->rl_citrus_ctype) - size_t -mbrlen(const char *s, size_t n, mbstate_t *ps) +mbrlen_l(const char *s, size_t n, mbstate_t *ps, locale_t loc) { size_t ret; int err0; - _fixup_ps(_RUNE_LOCALE(), ps, s == NULL); + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); - err0 = _citrus_ctype_mbrlen(_ps_to_ctype(ps), s, n, + err0 = _citrus_ctype_mbrlen(_ps_to_ctype(ps, loc), s, n, _ps_to_private(ps), &ret); if (err0) errno = err0; @@ -68,8 +63,14 @@ mbrlen(const char *s, size_t n, mbstate_t *ps) return ret; } +size_t +mbrlen(const char *s, size_t n, mbstate_t *ps) +{ + return mbrlen_l(s, n, ps, _current_locale()); +} + int -mbsinit(const mbstate_t *ps) +mbsinit_l(const mbstate_t *ps, locale_t loc) { int ret; int err0; @@ -79,7 +80,7 @@ mbsinit(const mbstate_t *ps) return 1; if (_ps_to_runelocale(ps) == NULL) - rl = _RUNE_LOCALE(); + rl = _RUNE_LOCALE(loc); else rl = _ps_to_runelocale(ps); @@ -92,15 +93,21 @@ mbsinit(const mbstate_t *ps) return ret; } +int +mbsinit(const mbstate_t *ps) +{ + return mbsinit_l(ps, _current_locale()); +} + size_t -mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) +mbrtowc_l(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps, locale_t loc) { size_t ret; int err0; - _fixup_ps(_RUNE_LOCALE(), ps, s == NULL); + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); - err0 = _citrus_ctype_mbrtowc(_ps_to_ctype(ps), pwc, s, n, + err0 = _citrus_ctype_mbrtowc(_ps_to_ctype(ps, loc), pwc, s, n, _ps_to_private(ps), &ret); if (err0) errno = err0; @@ -108,15 +115,45 @@ mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) return ret; } +size_t +mbrtowc(wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) +{ + return mbrtowc_l(pwc, s, n, ps, _current_locale()); +} + +size_t +mbsrtowcs_l(wchar_t *pwcs, const char **s, size_t n, mbstate_t *ps, + locale_t loc) +{ + size_t ret; + int err0; + + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); + + err0 = _citrus_ctype_mbsrtowcs(_ps_to_ctype(ps, loc), pwcs, s, n, + _ps_to_private(ps), &ret); + if (err0) + errno = err0; + + return ret; +} + size_t mbsrtowcs(wchar_t *pwcs, const char **s, size_t n, mbstate_t *ps) +{ + return mbsrtowcs_l(pwcs, s, n, ps, _current_locale()); +} + +size_t +mbsnrtowcs_l(wchar_t *pwcs, const char **s, size_t in, size_t n, mbstate_t *ps, + locale_t loc) { size_t ret; int err0; - _fixup_ps(_RUNE_LOCALE(), ps, s == NULL); + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); - err0 = _citrus_ctype_mbsrtowcs(_ps_to_ctype(ps), pwcs, s, n, + err0 = _citrus_ctype_mbsnrtowcs(_ps_to_ctype(ps, loc), pwcs, s, in, n, _ps_to_private(ps), &ret); if (err0) errno = err0; @@ -124,16 +161,45 @@ mbsrtowcs(wchar_t *pwcs, const char **s, size_t n, mbstate_t *ps) return ret; } +size_t +mbsnrtowcs(wchar_t *pwcs, const char **s, size_t in, size_t n, mbstate_t *ps) +{ + return mbsnrtowcs_l(pwcs, s, in, n, ps, _current_locale()); +} + +size_t +wcrtomb_l(char *s, wchar_t wc, mbstate_t *ps, locale_t loc) +{ + size_t ret; + int err0; + + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); + + err0 = _citrus_ctype_wcrtomb(_ps_to_ctype(ps, loc), s, wc, + _ps_to_private(ps), &ret); + if (err0) + errno = err0; + + return ret; +} + size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps) +{ + return wcrtomb_l(s, wc, ps, _current_locale()); +} + +size_t +wcsrtombs_l(char *s, const wchar_t **ppwcs, size_t n, mbstate_t *ps, + locale_t loc) { size_t ret; int err0; - _fixup_ps(_RUNE_LOCALE(), ps, s == NULL); + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); - err0 = _citrus_ctype_wcrtomb(_ps_to_ctype(ps), s, wc, - _ps_to_private(ps), &ret); + err0 = _citrus_ctype_wcsrtombs(_ps_to_ctype(ps, loc), s, ppwcs, n, + _ps_to_private(ps), &ret); if (err0) errno = err0; @@ -143,13 +209,16 @@ wcrtomb(char *s, wchar_t wc, mbstate_t *ps) size_t wcsrtombs(char *s, const wchar_t **ppwcs, size_t n, mbstate_t *ps) { - size_t ret; + return wcsrtombs_l(s, ppwcs, n, ps, _current_locale()); +} + +wint_t +btowc_l(int c, locale_t loc) +{ + wint_t ret; int err0; - _fixup_ps(_RUNE_LOCALE(), ps, s == NULL); - - err0 = _citrus_ctype_wcsrtombs(_ps_to_ctype(ps), s, ppwcs, n, - _ps_to_private(ps), &ret); + err0 = _citrus_ctype_btowc(_CITRUS_CTYPE(loc), c, &ret); if (err0) errno = err0; @@ -159,10 +228,16 @@ wcsrtombs(char *s, const wchar_t **ppwcs, size_t n, mbstate_t *ps) wint_t btowc(int c) { - wint_t ret; + return btowc_l(c, _current_locale()); +} + +int +wctob_l(wint_t wc, locale_t loc) +{ + int ret; int err0; - err0 = _citrus_ctype_btowc(_CITRUS_CTYPE(), c, &ret); + err0 = _citrus_ctype_wctob(_CITRUS_CTYPE(loc), wc, &ret); if (err0) errno = err0; @@ -172,12 +247,12 @@ btowc(int c) int wctob(wint_t wc) { - int ret; - int err0; - - err0 = _citrus_ctype_wctob(_CITRUS_CTYPE(), wc, &ret); - if (err0) - errno = err0; - - return ret; + return wctob_l(wc, _current_locale()); +} + +size_t +_mb_cur_max_l(locale_t loc) +{ + + return _citrus_ctype_get_mb_cur_max(_CITRUS_CTYPE(loc)); } diff --git a/lib/libc/locale/multibyte_c90.c b/lib/libc/locale/multibyte_c90.c index 6efa35bb9..2e0deb859 100644 --- a/lib/libc/locale/multibyte_c90.c +++ b/lib/libc/locale/multibyte_c90.c @@ -1,4 +1,4 @@ -/* $NetBSD: multibyte_c90.c,v 1.8 2010/06/13 04:14:57 tnozaki Exp $ */ +/* $NetBSD: multibyte_c90.c,v 1.12 2013/08/18 20:03:48 joerg Exp $ */ /*- * Copyright (c)2002, 2008 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: multibyte_c90.c,v 1.8 2010/06/13 04:14:57 tnozaki Exp $"); +__RCSID("$NetBSD: multibyte_c90.c,v 1.12 2013/08/18 20:03:48 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include @@ -45,20 +45,35 @@ __RCSID("$NetBSD: multibyte_c90.c,v 1.8 2010/06/13 04:14:57 tnozaki Exp $"); #include "citrus_module.h" #include "citrus_ctype.h" #include "runetype_local.h" - -#define _RUNE_LOCALE() \ - ((_RuneLocale *)(*_current_locale())->part_impl[(size_t)LC_CTYPE]) - -#define _CITRUS_CTYPE() \ - (_RUNE_LOCALE()->rl_citrus_ctype) +#include "multibyte.h" int -mblen(const char *s, size_t n) +mblen_l(const char *s, size_t n, locale_t loc) { int ret; int err0; - err0 = _citrus_ctype_mblen(_CITRUS_CTYPE(), s, n, &ret); + err0 = _citrus_ctype_mblen(_CITRUS_CTYPE(loc), s, n, &ret); + if (err0) + errno = err0; + + return ret; +} + + +int +mblen(const char *s, size_t n) +{ + return mblen_l(s, n, _current_locale()); +} + +size_t +mbstowcs_l(wchar_t *pwcs, const char *s, size_t n, locale_t loc) +{ + size_t ret; + int err0; + + err0 = _citrus_ctype_mbstowcs(_CITRUS_CTYPE(loc), pwcs, s, n, &ret); if (err0) errno = err0; @@ -68,10 +83,16 @@ mblen(const char *s, size_t n) size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n) { - size_t ret; + return mbstowcs_l(pwcs, s, n, _current_locale()); +} + +int +mbtowc_l(wchar_t *pw, const char *s, size_t n, locale_t loc) +{ + int ret; int err0; - err0 = _citrus_ctype_mbstowcs(_CITRUS_CTYPE(), pwcs, s, n, &ret); + err0 = _citrus_ctype_mbtowc(_CITRUS_CTYPE(loc), pw, s, n, &ret); if (err0) errno = err0; @@ -81,10 +102,16 @@ mbstowcs(wchar_t *pwcs, const char *s, size_t n) int mbtowc(wchar_t *pw, const char *s, size_t n) { - int ret; + return mbtowc_l(pw, s, n, _current_locale()); +} + +size_t +wcstombs_l(char *s, const wchar_t *wcs, size_t n, locale_t loc) +{ + size_t ret; int err0; - err0 = _citrus_ctype_mbtowc(_CITRUS_CTYPE(), pw, s, n, &ret); + err0 = _citrus_ctype_wcstombs(_CITRUS_CTYPE(loc), s, wcs, n, &ret); if (err0) errno = err0; @@ -93,11 +120,40 @@ mbtowc(wchar_t *pw, const char *s, size_t n) size_t wcstombs(char *s, const wchar_t *wcs, size_t n) +{ + return wcstombs_l(s, wcs, n, _current_locale()); +} + +size_t +wcsnrtombs_l(char *s, const wchar_t **ppwcs, size_t in, size_t n, mbstate_t *ps, + locale_t loc) { size_t ret; int err0; - err0 = _citrus_ctype_wcstombs(_CITRUS_CTYPE(), s, wcs, n, &ret); + _fixup_ps(_RUNE_LOCALE(loc), ps, s == NULL); + + err0 = _citrus_ctype_wcsnrtombs(_ps_to_ctype(ps, loc), s, ppwcs, in, n, + _ps_to_private(ps), &ret); + if (err0) + errno = err0; + + return ret; +} + +size_t +wcsnrtombs(char *s, const wchar_t **ppwcs, size_t in, size_t n, mbstate_t *ps) +{ + return wcsnrtombs_l(s, ppwcs, in, n, ps, _current_locale()); +} + +int +wctomb_l(char *s, wchar_t wc, locale_t loc) +{ + int ret; + int err0; + + err0 = _citrus_ctype_wctomb(_CITRUS_CTYPE(loc), s, wc, &ret); if (err0) errno = err0; @@ -107,12 +163,5 @@ wcstombs(char *s, const wchar_t *wcs, size_t n) int wctomb(char *s, wchar_t wc) { - int ret; - int err0; - - err0 = _citrus_ctype_wctomb(_CITRUS_CTYPE(), s, wc, &ret); - if (err0) - errno = err0; - - return ret; + return wctomb_l(s, wc, _current_locale()); } diff --git a/lib/libc/locale/nb_lc_messages_misc.h b/lib/libc/locale/nb_lc_messages_misc.h index a2ddc82a8..c3f01d770 100644 --- a/lib/libc/locale/nb_lc_messages_misc.h +++ b/lib/libc/locale/nb_lc_messages_misc.h @@ -1,4 +1,4 @@ -/* $NetBSD: nb_lc_messages_misc.h,v 1.3 2010/03/27 15:25:22 tnozaki Exp $ */ +/* $NetBSD: nb_lc_messages_misc.h,v 1.7 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -34,26 +34,10 @@ */ #define _CATEGORY_TYPE _MessagesLocale +/* ARGSUSED */ static __inline void -_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, - _MessagesLocale * __restrict data) +_PREFIX(update_global)(_MessagesLocale *data) { - _DIAGASSERT(cache != NULL); - _DIAGASSERT(cache->items != NULL); - _DIAGASSERT(data != NULL); - - cache->items[(size_t)YESSTR ] = data->yesstr; - cache->items[(size_t)YESEXPR] = data->yesexpr; - cache->items[(size_t)NOSTR ] = data->nostr; - cache->items[(size_t)NOEXPR ] = data->noexpr; -} - -static __inline void -_PREFIX(fixup)(_MessagesLocale *data) -{ - _DIAGASSERT(data != NULL); - - _CurrentMessagesLocale = data; } /* @@ -61,6 +45,5 @@ _PREFIX(fixup)(_MessagesLocale *data) */ #define _CATEGORY_ID LC_MESSAGES #define _CATEGORY_NAME "LC_MESSAGES" -#define _CATEGORY_DEFAULT _DefaultMessagesLocale #endif /*_NB_LC_MESSAGES_MISC_H_*/ diff --git a/lib/libc/locale/nb_lc_monetary_misc.h b/lib/libc/locale/nb_lc_monetary_misc.h index 3b13ad3cc..7d66b09bf 100644 --- a/lib/libc/locale/nb_lc_monetary_misc.h +++ b/lib/libc/locale/nb_lc_monetary_misc.h @@ -1,4 +1,4 @@ -/* $NetBSD: nb_lc_monetary_misc.h,v 1.3 2010/03/27 15:25:22 tnozaki Exp $ */ +/* $NetBSD: nb_lc_monetary_misc.h,v 1.7 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -34,50 +34,10 @@ */ #define _CATEGORY_TYPE _MonetaryLocale +/* ARGSUSED */ static __inline void -_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, - _MonetaryLocale * __restrict data) +_PREFIX(update_global)(_MonetaryLocale *data) { - struct lconv *ldata; - - _DIAGASSERT(cache != NULL); - _DIAGASSERT(cache->ldata != NULL); - _DIAGASSERT(cache->items != NULL); - _DIAGASSERT(data != NULL); - - ldata = cache->ldata; - ldata->int_curr_symbol = __UNCONST(data->int_curr_symbol); - ldata->currency_symbol = __UNCONST(data->currency_symbol); - ldata->mon_decimal_point = __UNCONST(data->mon_decimal_point); - ldata->mon_thousands_sep = __UNCONST(data->mon_thousands_sep); - ldata->mon_grouping = __UNCONST(data->mon_grouping); - ldata->positive_sign = __UNCONST(data->positive_sign); - ldata->negative_sign = __UNCONST(data->negative_sign); - - ldata->int_frac_digits = data->int_frac_digits; - ldata->frac_digits = data->frac_digits; - ldata->p_cs_precedes = data->p_cs_precedes; - ldata->p_sep_by_space = data->p_sep_by_space; - ldata->n_cs_precedes = data->n_cs_precedes; - ldata->n_sep_by_space = data->n_sep_by_space; - ldata->p_sign_posn = data->p_sign_posn; - ldata->n_sign_posn = data->n_sign_posn; - ldata->int_p_cs_precedes = data->int_p_cs_precedes; - ldata->int_n_cs_precedes = data->int_n_cs_precedes; - ldata->int_p_sep_by_space = data-> int_p_sep_by_space; - ldata->int_n_sep_by_space = data->int_n_sep_by_space; - ldata->int_p_sign_posn = data->int_p_sign_posn; - ldata->int_n_sign_posn = data->int_n_sign_posn; - - cache->items[(size_t)CRNCYSTR] = NULL; /* NOT IMPLEMENTED YET */ -} - -static __inline void -_PREFIX(fixup)(_MonetaryLocale *data) -{ - _DIAGASSERT(data != NULL); - - _CurrentMonetaryLocale = data; } /* @@ -85,6 +45,5 @@ _PREFIX(fixup)(_MonetaryLocale *data) */ #define _CATEGORY_ID LC_MONETARY #define _CATEGORY_NAME "LC_MONETARY" -#define _CATEGORY_DEFAULT _DefaultMonetaryLocale #endif /*_RUNE_LC_MONETARY_MISC_H_*/ diff --git a/lib/libc/locale/nb_lc_numeric_misc.h b/lib/libc/locale/nb_lc_numeric_misc.h index 4336fc1b8..34ba80d68 100644 --- a/lib/libc/locale/nb_lc_numeric_misc.h +++ b/lib/libc/locale/nb_lc_numeric_misc.h @@ -1,4 +1,4 @@ -/* $NetBSD: nb_lc_numeric_misc.h,v 1.3 2010/03/27 15:25:22 tnozaki Exp $ */ +/* $NetBSD: nb_lc_numeric_misc.h,v 1.7 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -34,32 +34,10 @@ */ #define _CATEGORY_TYPE _NumericLocale +/* ARGSUSED */ static __inline void -_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, - _NumericLocale * __restrict data) +_PREFIX(update_global)(_NumericLocale *data) { - struct lconv *ldata; - - _DIAGASSERT(cache != NULL); - _DIAGASSERT(cache->ldata != NULL); - _DIAGASSERT(cache->items != NULL); - _DIAGASSERT(data != NULL); - - ldata = cache->ldata; - ldata->decimal_point = __UNCONST(data->decimal_point); - ldata->thousands_sep = __UNCONST(data->thousands_sep); - ldata->grouping = __UNCONST(data->grouping); - - cache->items[(size_t)RADIXCHAR] = data->decimal_point; - cache->items[(size_t)THOUSEP ] = data->thousands_sep; -} - -static __inline void -_PREFIX(fixup)(_NumericLocale *data) -{ - _DIAGASSERT(data != NULL); - - _CurrentNumericLocale = data; } /* @@ -67,6 +45,5 @@ _PREFIX(fixup)(_NumericLocale *data) */ #define _CATEGORY_ID LC_NUMERIC #define _CATEGORY_NAME "LC_NUMERIC" -#define _CATEGORY_DEFAULT _DefaultNumericLocale #endif /*_NB_LC_NUMERIC_MISC_H_*/ diff --git a/lib/libc/locale/nb_lc_template.h b/lib/libc/locale/nb_lc_template.h index 73870c639..e60aead83 100644 --- a/lib/libc/locale/nb_lc_template.h +++ b/lib/libc/locale/nb_lc_template.h @@ -1,4 +1,4 @@ -/* $NetBSD: nb_lc_template.h,v 1.4 2012/03/04 21:14:56 tnozaki Exp $ */ +/* $NetBSD: nb_lc_template.h,v 1.8 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)1999, 2008 Citrus Project, @@ -92,8 +92,6 @@ #define _nb_part_t _PREFIX(part_t) #define _nb_part_cache _PREFIX(part_cache) -#define _nb_default_c _PREFIX(default_c) -#define _nb_default_posix _PREFIX(default_posix) #define _nb_mutex _PREFIX(mutex) typedef struct _nb_part_t { @@ -105,46 +103,43 @@ typedef struct _nb_part_t { static SIMPLEQ_HEAD(, _nb_part_t) _nb_part_cache = SIMPLEQ_HEAD_INITIALIZER(_nb_part_cache); -static const _nb_part_t _nb_default_c = { - _C_LOCALE, - __UNCONST(&_CATEGORY_DEFAULT), - { NULL }, -}; - -static const _nb_part_t _nb_default_posix = { - _POSIX_LOCALE, - __UNCONST(&_CATEGORY_DEFAULT), - { NULL }, -}; - #ifdef _REENTRANT static mutex_t _nb_mutex = MUTEX_INITIALIZER; #endif static int _PREFIX(load_sub)(const char * __restrict name, const char * __restrict real, - _nb_part_t ** __restrict part, int force) + const char ** __restrict out_name, _CATEGORY_TYPE ** __restrict out_impl, + int force) { - _nb_part_t *p, *q; + const char *cached_name; + _CATEGORY_TYPE *cached_impl; + _nb_part_t *p; int ret; _DIAGASSERT(name != NULL); - _DIAGASSERT(part != NULL); + _DIAGASSERT(out_name != NULL); + _DIAGASSERT(out_impl != NULL); if (!strcmp(_C_LOCALE, name)) { - p = __UNCONST(&_nb_default_c); + cached_name = _lc_C_locale.part_name[_CATEGORY_ID]; + cached_impl = _lc_C_locale.part_impl[_CATEGORY_ID]; } else if (!strcmp(_POSIX_LOCALE, name)) { - p = __UNCONST(&_nb_default_posix); + cached_name = _POSIX_LOCALE; + cached_impl = _lc_C_locale.part_impl[_CATEGORY_ID]; } else { SIMPLEQ_FOREACH(p, &_nb_part_cache, entry) { - if (!strcmp((const char *)&p->name[0], name)) + if (!strcmp((const char *)&p->name[0], name)) { + cached_name = p->name; + cached_impl = p->impl; goto found; + } } p = malloc(sizeof(*p)); if (p == NULL) return ENOMEM; if (force) { - p->impl = __UNCONST(&_CATEGORY_DEFAULT); + p->impl = _lc_C_locale.part_impl[_CATEGORY_ID]; } else { _DIAGASSERT(_PathLocale != NULL); ret = _PREFIX(create_impl)((const char *)_PathLocale, @@ -156,24 +151,27 @@ _PREFIX(load_sub)(const char * __restrict name, const char * __restrict real, } strlcpy(&p->name[0], name, sizeof(p->name)); SIMPLEQ_INSERT_TAIL(&_nb_part_cache, p, entry); + cached_name = p->name; + cached_impl = p->impl; } found: if (real != NULL) { - q = malloc(sizeof(*q)); - if (q == NULL) + p = malloc(sizeof(*p)); + if (p == NULL) return ENOMEM; - strlcpy(&q->name[0], real, sizeof(p->name)); - q->impl = p->impl; - SIMPLEQ_INSERT_TAIL(&_nb_part_cache, q, entry); - p = q; + strlcpy(&p->name[0], real, sizeof(p->name)); + cached_name = p->name; + p->impl = cached_impl; + SIMPLEQ_INSERT_TAIL(&_nb_part_cache, p, entry); } - *part = p; + *out_name = cached_name; + *out_impl = cached_impl; return 0; } static __inline int _PREFIX(load)(const char * __restrict name, - _nb_part_t ** __restrict part) + const char ** __restrict out_name, _CATEGORY_TYPE ** __restrict out_impl) { int ret, force; char path[PATH_MAX + 1], loccat[PATH_MAX + 1], buf[PATH_MAX + 1]; @@ -184,8 +182,10 @@ do { \ alias = __unaliasname(aliaspath, key, &buf[0], sizeof(buf)); \ if (alias != NULL) { \ ret = (force = !__isforcemapping(alias)) \ - ? _PREFIX(load_sub)(name, NULL, part, force) \ - : _PREFIX(load_sub)(alias, name, part, force); \ + ? _PREFIX(load_sub)(name, NULL, out_name, out_impl, \ + force) \ + : _PREFIX(load_sub)(alias, name, out_name, out_impl, \ + force); \ _DIAGASSERT(!ret || !force); \ goto done; \ } \ @@ -193,7 +193,7 @@ do { \ /* (1) non-aliased file */ mutex_lock(&_nb_mutex); - ret = _PREFIX(load_sub)(name, NULL, part, 0); + ret = _PREFIX(load_sub)(name, NULL, out_name, out_impl, 0); if (ret != ENOENT) goto done; @@ -216,9 +216,10 @@ done: const char * _PREFIX(setlocale)(const char * __restrict name, - struct _locale_impl_t * __restrict locale) + struct _locale * __restrict locale) { - _nb_part_t *part; + const char *loaded_name; + _CATEGORY_TYPE *loaded_impl; /* name may be NULL */ _DIAGASSERT(locale != NULL); @@ -229,15 +230,12 @@ _PREFIX(setlocale)(const char * __restrict name, _DIAGASSERT(name != NULL); _DIAGASSERT(locale->part_name[(size_t)_CATEGORY_ID] != NULL); if (strcmp(name, locale->part_name[(size_t)_CATEGORY_ID])) { - if (_PREFIX(load)(name, &part)) + if (_PREFIX(load)(name, &loaded_name, &loaded_impl)) return NULL; - locale->part_name[(size_t)_CATEGORY_ID] - = &part->name[0]; - locale->part_impl[(size_t)_CATEGORY_ID] - = part->impl; - _PREFIX(build_cache)(locale->cache, part->impl); - if (locale == &_global_locale) - _PREFIX(fixup)(part->impl); + locale->part_name[(size_t)_CATEGORY_ID] = loaded_name; + locale->part_impl[(size_t)_CATEGORY_ID] = loaded_impl; + if (locale == &_lc_global_locale) + _PREFIX(update_global)(loaded_impl); } } return locale->part_name[(size_t)_CATEGORY_ID]; diff --git a/lib/libc/locale/nb_lc_template_decl.h b/lib/libc/locale/nb_lc_template_decl.h index f87ef0edb..bf7cb5d99 100644 --- a/lib/libc/locale/nb_lc_template_decl.h +++ b/lib/libc/locale/nb_lc_template_decl.h @@ -1,4 +1,4 @@ -/* $NetBSD: nb_lc_template_decl.h,v 1.2 2009/01/11 02:46:29 christos Exp $ */ +/* $NetBSD: nb_lc_template_decl.h,v 1.4 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -36,10 +36,6 @@ _PREFIX(create_impl)(const char * __restrict, const char * __restrict, _CATEGORY_TYPE ** __restrict); static __inline void -_PREFIX(build_cache)(struct _locale_cache_t * __restrict, - _CATEGORY_TYPE * __restrict); - -static __inline void -_PREFIX(fixup)(_CATEGORY_TYPE *); +_PREFIX(update_global)(_CATEGORY_TYPE *); #endif /*_NB_LC_TEMPLATE_DECL_H_*/ diff --git a/lib/libc/locale/nb_lc_time_misc.h b/lib/libc/locale/nb_lc_time_misc.h index 2f426dd20..c286f0905 100644 --- a/lib/libc/locale/nb_lc_time_misc.h +++ b/lib/libc/locale/nb_lc_time_misc.h @@ -1,4 +1,4 @@ -/* $NetBSD: nb_lc_time_misc.h,v 1.3 2010/03/27 15:25:22 tnozaki Exp $ */ +/* $NetBSD: nb_lc_time_misc.h,v 1.8 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -40,46 +40,10 @@ #define MON_IDX(idx) ((size_t)idx - (size_t)MON_1) #define AM_PM_IDX(idx) ((size_t)idx - (size_t)AM_STR) +/* ARGSUSED */ static __inline void -/*ARGSUSED*/ -_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, - _TimeLocale * __restrict data) +_PREFIX(update_global)(_TimeLocale *data) { - size_t i; - - _DIAGASSERT(cache != NULL); - _DIAGASSERT(cache->items != NULL); - _DIAGASSERT(data != NULL); - - for (i = (size_t)ABDAY_1; i <= ABDAY_7; ++i) - cache->items[i] = data->abday[ABDAY_IDX(i)]; - for (i = (size_t)DAY_1; i <= DAY_7; ++i) - cache->items[i] = data->day[DAY_IDX(i)]; - for (i = (size_t)ABMON_1; i <= ABMON_12; ++i) - cache->items[i] = data->abmon[ABMON_IDX(i)]; - for (i = (size_t)MON_1; i <= MON_12; ++i) - cache->items[i] = data->mon[MON_IDX(i)]; - for (i = (size_t)AM_STR; i <= PM_STR; ++i) - cache->items[i] = data->am_pm[AM_PM_IDX(i)]; - cache->items[(size_t)D_T_FMT ] = data->d_t_fmt; - cache->items[(size_t)D_FMT ] = data->d_fmt; - cache->items[(size_t)T_FMT ] = data->t_fmt; - cache->items[(size_t)T_FMT_AMPM ] = data->t_fmt_ampm; - - /* NOT IMPLEMENTED YET */ - cache->items[(size_t)ERA ] = NULL; - cache->items[(size_t)ERA_D_FMT ] = NULL; - cache->items[(size_t)ERA_D_T_FMT] = NULL; - cache->items[(size_t)ERA_T_FMT ] = NULL; - cache->items[(size_t)ALT_DIGITS ] = NULL; -} - -static __inline void -_PREFIX(fixup)(_TimeLocale *data) -{ - _DIAGASSERT(data != NULL); - - _CurrentTimeLocale = data; } /* @@ -87,6 +51,5 @@ _PREFIX(fixup)(_TimeLocale *data) */ #define _CATEGORY_ID LC_TIME #define _CATEGORY_NAME "LC_TIME" -#define _CATEGORY_DEFAULT _DefaultTimeLocale #endif /*_NB_LC_TIME_MISC_H_*/ diff --git a/lib/libc/locale/newlocale.c b/lib/libc/locale/newlocale.c new file mode 100644 index 000000000..7955e3b20 --- /dev/null +++ b/lib/libc/locale/newlocale.c @@ -0,0 +1,105 @@ +/* $NetBSD: newlocale.c,v 1.3 2013/09/13 13:13:32 joerg Exp $ */ + +/*- + * Copyright (c)2008, 2011 Citrus Project, + * 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. + */ + +#include +__RCSID("$NetBSD: newlocale.c,v 1.3 2013/09/13 13:13:32 joerg Exp $"); + +#include "namespace.h" +#include +#include +#include +#include +#include + +#include "setlocale_local.h" + +__weak_alias(newlocale, _newlocale) + +locale_t +newlocale(int mask, const char *name, locale_t src) +{ + struct _locale *dst; + char head[_LOCALENAME_LEN_MAX * (_LC_LAST - 1)], *tail; + const char *tokens[_LC_LAST - 1]; + _locale_set_t l; + int i, howmany, categories[_LC_LAST - 1]; + + if (name == NULL) + name = _C_LOCALE; + dst = malloc(sizeof(*dst)); + if (dst == NULL) + return (locale_t)NULL; + if (src == NULL) + src = _current_locale(); + memcpy(dst, src, sizeof(*src)); + strlcpy(&head[0], name, sizeof(head)); + tokens[0] = (const char *)&head[0]; + tail = strchr(tokens[0], '/'); + if (tail == NULL) { + for (i = 1; i < _LC_LAST; ++i) { + if (mask & (1 << i)) { + l = _find_category(i); + _DIAGASSERT(l != NULL); + (*l)(tokens[0], dst); + } + } + } else { + *tail++ = '\0'; + howmany = 0; + for (i = 1; i < _LC_LAST; ++i) { + if (mask & (1 << i)) + categories[howmany++] = i; + } + if (howmany-- > 0) { + for (i = 1; i < howmany; ++i) { + tokens[i] = (const char *)tail; + tail = strchr(tokens[i], '/'); + if (tail == NULL) { + free(dst); + return NULL; + } + } + tokens[howmany] = tail; + tail = strchr(tokens[howmany], '/'); + if (tail != NULL) { + free(dst); + return NULL; + } + for (i = 0; i <= howmany; ++i) { + l = _find_category(categories[i]); + _DIAGASSERT(l != NULL); + (*l)(tokens[i], dst); + } + } + } + if (_setlocale_cache(dst, NULL)) { + free(dst); + return NULL; + } + return (locale_t)dst; +} diff --git a/lib/libc/locale/nl_langinfo.c b/lib/libc/locale/nl_langinfo.c index 4f2dc6024..7d0c2f906 100644 --- a/lib/libc/locale/nl_langinfo.c +++ b/lib/libc/locale/nl_langinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: nl_langinfo.c,v 1.15 2010/05/22 13:15:59 tnozaki Exp $ */ +/* $NetBSD: nl_langinfo.c,v 1.17 2013/08/20 19:58:30 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -27,27 +27,168 @@ */ #include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: nl_langinfo.c,v 1.15 2010/05/22 13:15:59 tnozaki Exp $"); -#endif /* LIBC_SCCS and not lint */ +__RCSID("$NetBSD: nl_langinfo.c,v 1.17 2013/08/20 19:58:30 joerg Exp $"); +#include "namespace.h" #include +#include #include +#include #define __SETLOCALE_SOURCE__ #include #include +#include +#include "runetype_local.h" #include "setlocale_local.h" +static const char langinfo_category[] = { + [ D_T_FMT ] = LC_TIME, + [ D_FMT ] = LC_TIME, + [ T_FMT ] = LC_TIME, + [ T_FMT_AMPM ] = LC_TIME, + [ AM_STR ] = LC_TIME, + [ PM_STR ] = LC_TIME, + [ DAY_1 ] = LC_TIME, + [ DAY_2 ] = LC_TIME, + [ DAY_3 ] = LC_TIME, + [ DAY_4 ] = LC_TIME, + [ DAY_5 ] = LC_TIME, + [ DAY_6 ] = LC_TIME, + [ DAY_7 ] = LC_TIME, + [ ABDAY_1 ] = LC_TIME, + [ ABDAY_2 ] = LC_TIME, + [ ABDAY_3 ] = LC_TIME, + [ ABDAY_4 ] = LC_TIME, + [ ABDAY_5 ] = LC_TIME, + [ ABDAY_6 ] = LC_TIME, + [ ABDAY_7 ] = LC_TIME, + [ MON_1 ] = LC_TIME, + [ MON_2 ] = LC_TIME, + [ MON_3 ] = LC_TIME, + [ MON_4 ] = LC_TIME, + [ MON_5 ] = LC_TIME, + [ MON_6 ] = LC_TIME, + [ MON_7 ] = LC_TIME, + [ MON_8 ] = LC_TIME, + [ MON_9 ] = LC_TIME, + [ MON_10 ] = LC_TIME, + [ MON_11 ] = LC_TIME, + [ MON_12 ] = LC_TIME, + [ ABMON_1 ] = LC_TIME, + [ ABMON_2 ] = LC_TIME, + [ ABMON_3 ] = LC_TIME, + [ ABMON_4 ] = LC_TIME, + [ ABMON_5 ] = LC_TIME, + [ ABMON_6 ] = LC_TIME, + [ ABMON_7 ] = LC_TIME, + [ ABMON_8 ] = LC_TIME, + [ ABMON_9 ] = LC_TIME, + [ ABMON_10 ] = LC_TIME, + [ ABMON_11 ] = LC_TIME, + [ ABMON_12 ] = LC_TIME, + [ RADIXCHAR ] = LC_NUMERIC, + [ THOUSEP ] = LC_NUMERIC, + [ YESSTR ] = LC_MESSAGES, + [ YESEXPR ] = LC_MESSAGES, + [ NOSTR ] = LC_MESSAGES, + [ NOEXPR ] = LC_MESSAGES, + [ CRNCYSTR ] = 0, + [ CODESET ] = LC_CTYPE, + [ ERA ] = 0, + [ ERA_D_FMT ] = 0, + [ ERA_D_T_FMT ] = 0, + [ ERA_T_FMT ] = 0, + [ ALT_DIGITS ] = 0, +}; + +static const uint16_t langinfo_offset[] = { + [ D_T_FMT ] = offsetof(_TimeLocale, d_t_fmt), + [ D_FMT ] = offsetof(_TimeLocale, d_fmt), + [ T_FMT ] = offsetof(_TimeLocale, t_fmt), + [ T_FMT_AMPM ] = offsetof(_TimeLocale, t_fmt_ampm), + [ AM_STR ] = offsetof(_TimeLocale, am_pm[0]), + [ PM_STR ] = offsetof(_TimeLocale, am_pm[1]), + [ DAY_1 ] = offsetof(_TimeLocale, day[0]), + [ DAY_2 ] = offsetof(_TimeLocale, day[1]), + [ DAY_3 ] = offsetof(_TimeLocale, day[2]), + [ DAY_4 ] = offsetof(_TimeLocale, day[3]), + [ DAY_5 ] = offsetof(_TimeLocale, day[4]), + [ DAY_6 ] = offsetof(_TimeLocale, day[5]), + [ DAY_7 ] = offsetof(_TimeLocale, day[6]), + [ ABDAY_1 ] = offsetof(_TimeLocale, abday[0]), + [ ABDAY_2 ] = offsetof(_TimeLocale, abday[1]), + [ ABDAY_3 ] = offsetof(_TimeLocale, abday[2]), + [ ABDAY_4 ] = offsetof(_TimeLocale, abday[3]), + [ ABDAY_5 ] = offsetof(_TimeLocale, abday[4]), + [ ABDAY_6 ] = offsetof(_TimeLocale, abday[5]), + [ ABDAY_7 ] = offsetof(_TimeLocale, abday[6]), + [ MON_1 ] = offsetof(_TimeLocale, mon[0]), + [ MON_2 ] = offsetof(_TimeLocale, mon[1]), + [ MON_3 ] = offsetof(_TimeLocale, mon[2]), + [ MON_4 ] = offsetof(_TimeLocale, mon[3]), + [ MON_5 ] = offsetof(_TimeLocale, mon[4]), + [ MON_6 ] = offsetof(_TimeLocale, mon[5]), + [ MON_7 ] = offsetof(_TimeLocale, mon[6]), + [ MON_8 ] = offsetof(_TimeLocale, mon[7]), + [ MON_9 ] = offsetof(_TimeLocale, mon[8]), + [ MON_10 ] = offsetof(_TimeLocale, mon[9]), + [ MON_11 ] = offsetof(_TimeLocale, mon[10]), + [ MON_12 ] = offsetof(_TimeLocale, mon[11]), + [ ABMON_1 ] = offsetof(_TimeLocale, abmon[0]), + [ ABMON_2 ] = offsetof(_TimeLocale, abmon[1]), + [ ABMON_3 ] = offsetof(_TimeLocale, abmon[2]), + [ ABMON_4 ] = offsetof(_TimeLocale, abmon[3]), + [ ABMON_5 ] = offsetof(_TimeLocale, abmon[4]), + [ ABMON_6 ] = offsetof(_TimeLocale, abmon[5]), + [ ABMON_7 ] = offsetof(_TimeLocale, abmon[6]), + [ ABMON_8 ] = offsetof(_TimeLocale, abmon[7]), + [ ABMON_9 ] = offsetof(_TimeLocale, abmon[8]), + [ ABMON_10 ] = offsetof(_TimeLocale, abmon[9]), + [ ABMON_11 ] = offsetof(_TimeLocale, abmon[10]), + [ ABMON_12 ] = offsetof(_TimeLocale, abmon[11]), + [ RADIXCHAR ] = offsetof(_NumericLocale, decimal_point), + [ THOUSEP ] = offsetof(_NumericLocale, thousands_sep), + [ YESSTR ] = offsetof(_MessagesLocale, yesstr), + [ YESEXPR ] = offsetof(_MessagesLocale, yesexpr), + [ NOSTR ] = offsetof(_MessagesLocale, nostr), + [ NOEXPR ] = offsetof(_MessagesLocale, noexpr), + [ CRNCYSTR ] = 0, + [ CODESET ] = offsetof(_RuneLocale, rl_codeset), + [ ERA ] = 0, + [ ERA_D_FMT ] = 0, + [ ERA_D_T_FMT ] = 0, + [ ERA_T_FMT ] = 0, + [ ALT_DIGITS ] = 0, +}; + +__weak_alias(nl_langinfo_l, _nl_langinfo_l) + char * nl_langinfo(nl_item item) { - const char *s; - s = NULL; - if (item >= D_T_FMT && item <= ALT_DIGITS) - s = _current_cache()->items[(size_t)item]; - if (s == NULL) - s = ""; - return __UNCONST(s); + return nl_langinfo_l(item, _current_locale()); +} + +char * +nl_langinfo_l(nl_item item, locale_t loc) +{ + char *s; + int category; + size_t offset; + + if (item < 0 || item >= (long)__arraycount(langinfo_category)) + return __UNCONST(""); /* Outside the defined range */ + + category = langinfo_category[item]; + if (category == 0) + return __UNCONST(""); /* Not in use */ + offset = langinfo_offset[item]; + + memcpy(&s, (char *)loc->part_impl[category] + offset, sizeof(s)); + if (s == NULL) + return __UNCONST(""); + else + return s; } diff --git a/lib/libc/locale/rune.c b/lib/libc/locale/rune.c index 2d4d7939d..75f641f92 100644 --- a/lib/libc/locale/rune.c +++ b/lib/libc/locale/rune.c @@ -1,4 +1,4 @@ -/* $NetBSD: rune.c,v 1.45 2012/08/08 20:16:50 wiz Exp $ */ +/* $NetBSD: rune.c,v 1.46 2013/04/13 10:21:20 joerg Exp $ */ /*- * Copyright (c)2010 Citrus Project, * All rights reserved. @@ -54,10 +54,14 @@ typedef struct { _RuneLocale rl; - unsigned char rlp_ctype_tab [_CTYPE_NUM_CHARS + 1]; + unsigned short rlp_ctype_tab [_CTYPE_NUM_CHARS + 1]; short rlp_tolower_tab[_CTYPE_NUM_CHARS + 1]; short rlp_toupper_tab[_CTYPE_NUM_CHARS + 1]; char rlp_codeset[33]; /* XXX */ + +#ifdef __BUILD_LEGACY + unsigned char rlp_compat_bsdctype[_CTYPE_NUM_CHARS + 1]; +#endif } _RuneLocalePriv; static __inline void @@ -88,19 +92,29 @@ _rune_init_priv(_RuneLocalePriv *rlp) rlp->rlp_ctype_tab [i + 1] = 0; rlp->rlp_tolower_tab[i + 1] = i; rlp->rlp_toupper_tab[i + 1] = i; + +#ifdef __BUILD_LEGACY + rlp->rlp_compat_bsdctype[i + 1] = 0; +#endif } #endif rlp->rlp_ctype_tab [0] = 0; rlp->rlp_tolower_tab[0] = EOF; rlp->rlp_toupper_tab[0] = EOF; - rlp->rl.rl_ctype_tab = (const unsigned char *)&rlp->rlp_ctype_tab[0]; + rlp->rl.rl_ctype_tab = (const unsigned short *)&rlp->rlp_ctype_tab[0]; rlp->rl.rl_tolower_tab = (const short *)&rlp->rlp_tolower_tab[0]; rlp->rl.rl_toupper_tab = (const short *)&rlp->rlp_toupper_tab[0]; rlp->rl.rl_codeset = (const char *)&rlp->rlp_codeset[0]; _rune_wctype_init(&rlp->rl); _rune_wctrans_init(&rlp->rl); + +#ifdef __BUILD_LEGACY + rlp->rlp_compat_bsdctype[0] = 0; + rlp->rl.rl_compat_bsdctype = (const unsigned char *) + &rlp->rlp_compat_bsdctype[0]; +#endif } static __inline void @@ -129,6 +143,35 @@ _rune_find_codeset(char *s, size_t n, *s = '\0'; } +#ifdef __BUILD_LEGACY +static __inline int +_runetype_to_bsdctype(_RuneType bits) +{ + int ret; + + if (bits == (_RuneType)0) + return 0; + ret = 0; + if (bits & _RUNETYPE_U) + ret |= _COMPAT_U; + if (bits & _RUNETYPE_L) + ret |= _COMPAT_L; + if (bits & _RUNETYPE_D) + ret |= _COMPAT_N; + if (bits & _RUNETYPE_S) + ret |= _COMPAT_S; + if (bits & _RUNETYPE_P) + ret |= _COMPAT_P; + if (bits & _RUNETYPE_C) + ret |= _COMPAT_C; + if ((bits & (_RUNETYPE_X | _RUNETYPE_D)) == _RUNETYPE_X) + ret |= _COMPAT_X; + if ((bits & (_RUNETYPE_R | _RUNETYPE_G)) == _RUNETYPE_R) + ret |= _COMPAT_B; + return ret; +} +#endif /* __BUILD_LEGACY */ + static __inline int _rune_read_file(const char * __restrict var, size_t lenvar, _RuneLocale ** __restrict prl) @@ -242,6 +285,7 @@ do { \ for (i = 0; i < _CTYPE_CACHE_SIZE; ++i) { wint_t wc; + _RuneType rc; ret = _citrus_ctype_btowc(rl->rl_citrus_ctype, i, &wc); if (ret) @@ -251,8 +295,14 @@ do { \ rlp->rlp_tolower_tab[i + 1] = i; rlp->rlp_toupper_tab[i + 1] = i; } else { - rlp->rlp_ctype_tab[i + 1] = (unsigned char) - _runetype_to_ctype(_runetype_priv(rl, wc)); + rc = _runetype_priv(rl, wc); + rlp->rlp_ctype_tab[i + 1] = (unsigned short) + ((rc & ~_RUNETYPE_SWM) >> 8); + +#ifdef __BUILD_LEGACY + rlp->rlp_compat_bsdctype[i + 1] + = _runetype_to_bsdctype(rc); +#endif #define CONVERT_MAP(name) \ do { \ diff --git a/lib/libc/locale/runetable.c b/lib/libc/locale/runetable.c index 75ff584f8..a484f60d6 100644 --- a/lib/libc/locale/runetable.c +++ b/lib/libc/locale/runetable.c @@ -1,4 +1,4 @@ -/* $NetBSD: runetable.c,v 1.27 2010/06/19 13:26:52 tnozaki Exp $ */ +/* $NetBSD: runetable.c,v 1.29 2013/08/18 20:03:48 joerg Exp $ */ /*- * Copyright (c) 1993 @@ -39,7 +39,7 @@ #if 0 static char sccsid[] = "@(#)table.c 8.1 (Berkeley) 6/27/93"; #else -__RCSID("$NetBSD: runetable.c,v 1.27 2010/06/19 13:26:52 tnozaki Exp $"); +__RCSID("$NetBSD: runetable.c,v 1.29 2013/08/18 20:03:48 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -51,7 +51,7 @@ __RCSID("$NetBSD: runetable.c,v 1.27 2010/06/19 13:26:52 tnozaki Exp $"); #include "citrus_ctype.h" #include "runetype_local.h" -const _RuneLocale _DefaultRuneLocale = { +__dso_hidden const _RuneLocale _DefaultRuneLocale = { { /*00*/ _RUNETYPE_C, _RUNETYPE_C, _RUNETYPE_C, @@ -343,9 +343,11 @@ const _RuneLocale _DefaultRuneLocale = { { "upper", _RUNETYPE_U }, { "xdigit", _RUNETYPE_X }, }, - _C_ctype_, - _C_tolower_, - _C_toupper_ -}; + _C_ctype_tab_, + _C_tolower_tab_, + _C_toupper_tab_, -const _RuneLocale *_CurrentRuneLocale = &_DefaultRuneLocale; +#ifdef __BUILD_LEGACY + _C_compat_bsdctype, +#endif +}; diff --git a/lib/libc/locale/runetype_local.h b/lib/libc/locale/runetype_local.h index 1fd9bb90c..675fea941 100644 --- a/lib/libc/locale/runetype_local.h +++ b/lib/libc/locale/runetype_local.h @@ -1,4 +1,4 @@ -/* $NetBSD: runetype_local.h,v 1.12 2010/06/20 02:23:15 tnozaki Exp $ */ +/* $NetBSD: runetype_local.h,v 1.14 2013/08/18 20:03:48 joerg Exp $ */ /*- * Copyright (c) 1993 @@ -42,7 +42,8 @@ #include #include -#include "runetype_misc.h" +#include "ctype_local.h" +#include "runetype_file.h" #define _RUNE_ISCACHED(c) ((c)>=0 && (c)<_CTYPE_CACHE_SIZE) @@ -123,16 +124,19 @@ typedef struct _RuneLocale { _WCTransEntry rl_wctrans[_WCTRANS_NINDEXES]; _WCTypeEntry rl_wctype[_WCTYPE_NINDEXES]; - const unsigned char *rl_ctype_tab; + const unsigned short *rl_ctype_tab; const short *rl_tolower_tab; const short *rl_toupper_tab; + +#ifdef __BUILD_LEGACY + const unsigned char *rl_compat_bsdctype; +#endif } _RuneLocale; /* * global variables */ -extern const _RuneLocale _DefaultRuneLocale; -extern const _RuneLocale *_CurrentRuneLocale; +extern __dso_hidden const _RuneLocale _DefaultRuneLocale; __BEGIN_DECLS int _rune_load(const char * __restrict, size_t, _RuneLocale ** __restrict); diff --git a/lib/libc/locale/setlocale.c b/lib/libc/locale/setlocale.c index 6b7ab52d7..c5d436574 100644 --- a/lib/libc/locale/setlocale.c +++ b/lib/libc/locale/setlocale.c @@ -1,4 +1,4 @@ -/* $NetBSD: setlocale.c,v 1.60 2012/03/04 21:14:56 tnozaki Exp $ */ +/* $NetBSD: setlocale.c,v 1.64 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -28,10 +28,11 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: setlocale.c,v 1.60 2012/03/04 21:14:56 tnozaki Exp $"); +__RCSID("$NetBSD: setlocale.c,v 1.64 2013/09/13 13:13:32 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include +#include #include #include #include @@ -53,9 +54,89 @@ static _locale_set_t all_categories[_LC_LAST] = { [LC_MESSAGES] = &_citrus_LC_MESSAGES_setlocale, }; +/* XXX Consider locking the list. Race condition leaks memory. */ +static SLIST_HEAD(, _locale_cache_t) caches = { + __UNCONST(&_C_cache) +}; + +int +_setlocale_cache(locale_t loc, struct _locale_cache_t *cache) +{ + const char *monetary_name = loc->part_name[LC_MONETARY]; + const char *numeric_name = loc->part_name[LC_NUMERIC]; + _NumericLocale *numeric = loc->part_impl[LC_NUMERIC]; + _MonetaryLocale *monetary = loc->part_impl[LC_MONETARY]; + struct lconv *ldata; + + struct _locale_cache_t *old_cache; + + SLIST_FOREACH(old_cache, &caches, cache_link) { + if (monetary_name != old_cache->monetary_name && + strcmp(monetary_name, old_cache->monetary_name) != 0) + continue; + if (numeric_name != old_cache->numeric_name && + strcmp(numeric_name, old_cache->numeric_name) != 0) + continue; + loc->cache = old_cache; + free(cache); + return 0; + } + + if (cache == NULL) { + cache = malloc(sizeof(*cache)); + if (cache == NULL) + return -1; + } + + cache->monetary_name = monetary_name; + cache->numeric_name = numeric_name; + ldata = &cache->ldata; + + ldata->decimal_point = __UNCONST(numeric->decimal_point); + ldata->thousands_sep = __UNCONST(numeric->thousands_sep); + ldata->grouping = __UNCONST(numeric->grouping); + + ldata->int_curr_symbol = __UNCONST(monetary->int_curr_symbol); + ldata->currency_symbol = __UNCONST(monetary->currency_symbol); + ldata->mon_decimal_point = __UNCONST(monetary->mon_decimal_point); + ldata->mon_thousands_sep = __UNCONST(monetary->mon_thousands_sep); + ldata->mon_grouping = __UNCONST(monetary->mon_grouping); + ldata->positive_sign = __UNCONST(monetary->positive_sign); + ldata->negative_sign = __UNCONST(monetary->negative_sign); + + ldata->int_frac_digits = monetary->int_frac_digits; + ldata->frac_digits = monetary->frac_digits; + ldata->p_cs_precedes = monetary->p_cs_precedes; + ldata->p_sep_by_space = monetary->p_sep_by_space; + ldata->n_cs_precedes = monetary->n_cs_precedes; + ldata->n_sep_by_space = monetary->n_sep_by_space; + ldata->p_sign_posn = monetary->p_sign_posn; + ldata->n_sign_posn = monetary->n_sign_posn; + ldata->int_p_cs_precedes = monetary->int_p_cs_precedes; + ldata->int_n_cs_precedes = monetary->int_n_cs_precedes; + ldata->int_p_sep_by_space = monetary-> int_p_sep_by_space; + ldata->int_n_sep_by_space = monetary->int_n_sep_by_space; + ldata->int_p_sign_posn = monetary->int_p_sign_posn; + ldata->int_n_sign_posn = monetary->int_n_sign_posn; + SLIST_INSERT_HEAD(&caches, cache, cache_link); + + loc->cache = cache; + return 0; +} + _locale_set_t _find_category(int category) { + static int initialised; + + if (!initialised) { + if (issetugid() || ((_PathLocale == NULL && + (_PathLocale = getenv("PATH_LOCALE")) == NULL) || + *_PathLocale == '\0')) + _PathLocale = _PATH_LOCALE; + initialised = 1; + } + if (category >= LC_ALL && category < _LC_LAST) return all_categories[category]; return NULL; @@ -86,17 +167,20 @@ char * __setlocale(int category, const char *name) { _locale_set_t sl; - struct _locale_impl_t *impl; + locale_t loc; + struct _locale_cache_t *cache; + const char *result; sl = _find_category(category); if (sl == NULL) return NULL; - if (issetugid() || ((_PathLocale == NULL && - (_PathLocale = getenv("PATH_LOCALE")) == NULL) || - *_PathLocale == '\0')) - _PathLocale = _PATH_LOCALE; - impl = *_current_locale(); - return __UNCONST((*sl)(name, impl)); + cache = malloc(sizeof(*cache)); + if (cache == NULL) + return NULL; + loc = _current_locale(); + result = (*sl)(name, loc); + _setlocale_cache(loc, cache); + return __UNCONST(result); } char * @@ -108,7 +192,3 @@ setlocale(int category, const char *locale) __mb_len_max_runtime = MB_LEN_MAX; return __setlocale(category, locale); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(setlocale, __setlocale50) -#endif diff --git a/lib/libc/locale/setlocale_local.h b/lib/libc/locale/setlocale_local.h index cd941c1ad..0d03c06a4 100644 --- a/lib/libc/locale/setlocale_local.h +++ b/lib/libc/locale/setlocale_local.h @@ -1,4 +1,4 @@ -/* $NetBSD: setlocale_local.h,v 1.8 2012/03/04 21:14:57 tnozaki Exp $ */ +/* $NetBSD: setlocale_local.h,v 1.15 2013/09/13 13:13:32 joerg Exp $ */ /*- * Copyright (c)2008 Citrus Project, @@ -29,6 +29,11 @@ #ifndef _SETLOCALE_LOCAL_H_ #define _SETLOCALE_LOCAL_H_ +#include +#include + +#include "ctype_local.h" + #define _LOCALENAME_LEN_MAX 33 #define _C_LOCALE "C" @@ -40,53 +45,56 @@ extern const char *_PathLocale; typedef void *_locale_part_t; struct _locale_cache_t { - const unsigned char *ctype_tab; - const short *tolower_tab; - const short *toupper_tab; - size_t mb_cur_max; - struct lconv *ldata; - const char **items; + SLIST_ENTRY(_locale_cache_t) cache_link; + const char *monetary_name; + const char *numeric_name; + struct lconv ldata; }; -struct _locale_impl_t { - struct _locale_cache_t *cache; +struct _locale { + const struct _locale_cache_t *cache; char query[_LOCALENAME_LEN_MAX * (_LC_LAST - 1)]; const char *part_name[_LC_LAST]; _locale_part_t part_impl[_LC_LAST]; }; typedef const char *(*_locale_set_t)(const char * __restrict, - struct _locale_impl_t * __restrict); + struct _locale * __restrict); __BEGIN_DECLS _locale_set_t _find_category(int); const char *_get_locale_env(const char *); -struct _locale_impl_t **_current_locale(void); char *__setlocale(int, const char *); const char *_generic_LC_ALL_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); const char *_dummy_LC_COLLATE_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); const char *_citrus_LC_CTYPE_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); const char *_citrus_LC_MONETARY_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); const char *_citrus_LC_NUMERIC_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); const char *_citrus_LC_TIME_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); const char *_citrus_LC_MESSAGES_setlocale( - const char * __restrict, struct _locale_impl_t * __restrict); + const char * __restrict, struct _locale * __restrict); + +int _setlocale_cache(locale_t, struct _locale_cache_t *); __END_DECLS -static __inline struct _locale_cache_t * -_current_cache(void) -{ - return (*_current_locale())->cache; -} +#ifdef _LIBC +extern __dso_protected struct _locale _lc_global_locale; +extern __dso_hidden const struct _locale_cache_t _C_cache; + +static __inline struct _locale * +_current_locale(void) +{ + return &_lc_global_locale; +} +#endif -extern struct _locale_impl_t _global_locale; extern size_t __mb_len_max_runtime; #endif /*_SETLOCALE_LOCAL_H_*/ diff --git a/lib/libc/locale/wcscoll.c b/lib/libc/locale/wcscoll.c index d1fff9043..00ac32328 100644 --- a/lib/libc/locale/wcscoll.c +++ b/lib/libc/locale/wcscoll.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcscoll.c,v 1.2 2012/06/25 22:32:44 abs Exp $ */ +/* $NetBSD: wcscoll.c,v 1.4 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -28,20 +28,29 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcscoll.c,v 1.2 2012/06/25 22:32:44 abs Exp $"); +__RCSID("$NetBSD: wcscoll.c,v 1.4 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include #include +#include +#include "setlocale_local.h" /* * Compare strings with using collating information. */ int -wcscoll(const wchar_t *s1, const wchar_t *s2) +wcscoll_l(const wchar_t *s1, const wchar_t *s2, locale_t loc) { /* XXX: LC_COLLATE should be implemented. */ + /* LINTED */ (void)loc; return (wcscmp(s1, s2)); } + +int +wcscoll(const wchar_t *s1, const wchar_t *s2) +{ + return wcscoll_l(s1, s2, _current_locale()); +} diff --git a/lib/libc/locale/wcsftime.c b/lib/libc/locale/wcsftime.c index 2816ae18d..72ef92ca6 100644 --- a/lib/libc/locale/wcsftime.c +++ b/lib/libc/locale/wcsftime.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcsftime.c,v 1.3 2007/05/21 15:32:17 tnozaki Exp $ */ +/* $NetBSD: wcsftime.c,v 1.5 2013/08/19 20:41:15 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins * All rights reserved. @@ -26,20 +26,21 @@ */ #include -#if defined(LIBC_SCCS) && !defined(lint) -#if 0 -__FBSDID("$FreeBSD: src/lib/libc/locale/wcsftime.c,v 1.4 2004/04/07 09:47:56 tjr Exp $"); -#else -__RCSID("$NetBSD: wcsftime.c,v 1.3 2007/05/21 15:32:17 tnozaki Exp $"); -#endif -#endif /* LIBC_SCCS and not lint */ +__RCSID("$NetBSD: wcsftime.c,v 1.5 2013/08/19 20:41:15 joerg Exp $"); +#define __SETLOCALE_SOURCE__ +#include "namespace.h" #include #include +#include #include #include #include +#include "setlocale_local.h" + +__weak_alias(wcsftime_l, _wcsftime_l) + /* * Convert date and time to a wide-character string. * @@ -56,6 +57,13 @@ __RCSID("$NetBSD: wcsftime.c,v 1.3 2007/05/21 15:32:17 tnozaki Exp $"); size_t wcsftime(wchar_t *wcs, size_t maxsize, const wchar_t *format, const struct tm *timeptr) +{ + return wcsftime_l(wcs, maxsize, format, timeptr, _current_locale()); +} + +size_t +wcsftime_l(wchar_t *wcs, size_t maxsize, + const wchar_t *format, const struct tm *timeptr, locale_t loc) { char *dst, *dstp, *sformat; size_t n, sflen; @@ -67,12 +75,12 @@ wcsftime(wchar_t *wcs, size_t maxsize, * Convert the supplied format string to a multibyte representation * for strftime(), which only handles single-byte characters. */ - sflen = wcstombs(NULL, format, 0); + sflen = wcstombs_l(NULL, format, 0, loc); if (sflen == (size_t)-1) goto error; if ((sformat = malloc(sflen + 1)) == NULL) goto error; - wcstombs(sformat, format, sflen + 1); + wcstombs_l(sformat, format, sflen + 1, loc); /* * Allocate memory for longest multibyte sequence that will fit @@ -80,18 +88,18 @@ wcsftime(wchar_t *wcs, size_t maxsize, * Then, copy and convert the result back into wide characters in * the caller's buffer. */ - if (SIZE_T_MAX / MB_CUR_MAX <= maxsize) { + if (SIZE_T_MAX / MB_CUR_MAX_L(loc) <= maxsize) { /* maxsize is preposterously large - avoid int. overflow. */ errno = EINVAL; goto error; } - dst = malloc(maxsize * MB_CUR_MAX); + dst = malloc(maxsize * MB_CUR_MAX_L(loc)); if (dst == NULL) goto error; - if (strftime(dst, maxsize, sformat, timeptr) == 0) + if (strftime_l(dst, maxsize, sformat, timeptr, loc) == 0) goto error; dstp = dst; - n = mbstowcs(wcs, dstp, maxsize); + n = mbstowcs_l(wcs, dstp, maxsize, loc); if (n == (size_t)-2 || n == (size_t)-1) goto error; diff --git a/lib/libc/locale/wcstod.c b/lib/libc/locale/wcstod.c index 849dfd212..94cfd001c 100644 --- a/lib/libc/locale/wcstod.c +++ b/lib/libc/locale/wcstod.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcstod.c,v 1.14 2008/04/25 16:43:00 christos Exp $ */ +/* $NetBSD: wcstod.c,v 1.15 2013/04/18 22:23:17 joerg Exp $ */ /*- * Copyright (c)2006 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcstod.c,v 1.14 2008/04/25 16:43:00 christos Exp $"); +__RCSID("$NetBSD: wcstod.c,v 1.15 2013/04/18 22:23:17 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -45,6 +45,6 @@ __weak_alias(wcstod,_wcstod) #define _FUNCNAME wcstod #define _RETURN_TYPE double -#define _STRTOD_FUNC strtod +#define _STRTOD_FUNC strtod_l #include "_wcstod.h" diff --git a/lib/libc/locale/wcstof.c b/lib/libc/locale/wcstof.c index 9b4e436bd..9052cd3d3 100644 --- a/lib/libc/locale/wcstof.c +++ b/lib/libc/locale/wcstof.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcstof.c,v 1.3 2008/04/25 16:43:00 christos Exp $ */ +/* $NetBSD: wcstof.c,v 1.4 2013/04/18 22:23:18 joerg Exp $ */ /*- * Copyright (c)2006 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcstof.c,v 1.3 2008/04/25 16:43:00 christos Exp $"); +__RCSID("$NetBSD: wcstof.c,v 1.4 2013/04/18 22:23:18 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -45,6 +45,6 @@ __weak_alias(wcstof,_wcstof) #define _FUNCNAME wcstof #define _RETURN_TYPE float -#define _STRTOD_FUNC strtof +#define _STRTOD_FUNC strtof_l #include "_wcstod.h" diff --git a/lib/libc/locale/wcstold.c b/lib/libc/locale/wcstold.c index a9eaab8dd..35e4c9231 100644 --- a/lib/libc/locale/wcstold.c +++ b/lib/libc/locale/wcstold.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcstold.c,v 1.3 2008/07/08 00:23:28 gmcgarry Exp $ */ +/* $NetBSD: wcstold.c,v 1.4 2013/04/18 22:23:18 joerg Exp $ */ /*- * Copyright (c)2006 Citrus Project, @@ -28,7 +28,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcstold.c,v 1.3 2008/07/08 00:23:28 gmcgarry Exp $"); +__RCSID("$NetBSD: wcstold.c,v 1.4 2013/04/18 22:23:18 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -45,6 +45,6 @@ __weak_alias(wcstold,_wcstold) #define _FUNCNAME wcstold #define _RETURN_TYPE long double -#define _STRTOD_FUNC strtold +#define _STRTOD_FUNC strtold_l #include "_wcstod.h" diff --git a/lib/libc/locale/wcsxfrm.c b/lib/libc/locale/wcsxfrm.c index 687931d94..2fc706c27 100644 --- a/lib/libc/locale/wcsxfrm.c +++ b/lib/libc/locale/wcsxfrm.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcsxfrm.c,v 1.3 2012/06/25 22:32:44 abs Exp $ */ +/* $NetBSD: wcsxfrm.c,v 1.5 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c)2003 Citrus Project, @@ -28,23 +28,26 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcsxfrm.c,v 1.3 2012/06/25 22:32:44 abs Exp $"); +__RCSID("$NetBSD: wcsxfrm.c,v 1.5 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include #include +#include +#include "setlocale_local.h" /* * Compare strings with using collating information. */ size_t -wcsxfrm(wchar_t *s1, const wchar_t *s2, size_t n) +wcsxfrm_l(wchar_t *s1, const wchar_t *s2, size_t n, locale_t loc) { size_t len; /* XXX: LC_COLLATE should be implemented. */ + /* LINTED */(void)loc; len = wcslen(s2); if (len -__RCSID("$NetBSD: initfini.c,v 1.10 2012/02/16 23:00:39 joerg Exp $"); +__RCSID("$NetBSD: initfini.c,v 1.11 2013/08/19 22:14:37 matt Exp $"); #ifdef _LIBC #include "namespace.h" @@ -38,9 +38,9 @@ __RCSID("$NetBSD: initfini.c,v 1.10 2012/02/16 23:00:39 joerg Exp $"); #include #include -#ifndef __minix +#if !defined(__minix) #include -#endif +#endif /* !defined(__minix) */ #include void _libc_init(void) __attribute__((__constructor__, __used__)); @@ -82,7 +82,7 @@ struct ps_strings *__ps_strings; * _libc_init is called twice. The first time explicitly by crt0.o * (for newer versions) and the second time as indirectly via _init(). */ -void +void __section(".text.startup") _libc_init(void) { diff --git a/lib/libc/misc/stack_protector.c b/lib/libc/misc/stack_protector.c index 6569de866..34cf9cf6e 100644 --- a/lib/libc/misc/stack_protector.c +++ b/lib/libc/misc/stack_protector.c @@ -1,4 +1,4 @@ -/* $NetBSD: stack_protector.c,v 1.8 2012/03/13 21:13:39 christos Exp $ */ +/* $NetBSD: stack_protector.c,v 1.9 2013/08/19 22:14:37 matt Exp $ */ /* $OpenBSD: stack_protector.c,v 1.10 2006/03/31 05:34:44 deraadt Exp $ */ /* @@ -28,7 +28,7 @@ * */ #include -__RCSID("$NetBSD: stack_protector.c,v 1.8 2012/03/13 21:13:39 christos Exp $"); +__RCSID("$NetBSD: stack_protector.c,v 1.9 2013/08/19 22:14:37 matt Exp $"); #ifdef _LIBC #include "namespace.h" @@ -53,30 +53,30 @@ static void __fail(const char *) __attribute__((__noreturn__)); __dead void __stack_chk_fail_local(void); void __guard_setup(void); -void +void __section(".text.startup") __guard_setup(void) { -#ifndef __minix +#if !defined(__minix) static const int mib[2] = { CTL_KERN, KERN_ARND }; size_t len; -#endif +#endif /* !defined(__minix) */ if (__stack_chk_guard[0] != 0) return; -#ifndef __minix +#if !defined(__minix) len = sizeof(__stack_chk_guard); if (__sysctl(mib, (u_int)__arraycount(mib), __stack_chk_guard, &len, NULL, 0) == -1 || len != sizeof(__stack_chk_guard)) { -#endif +#endif /* !defined(__minix) */ /* If sysctl was unsuccessful, use the "terminator canary". */ ((unsigned char *)(void *)__stack_chk_guard)[0] = 0; ((unsigned char *)(void *)__stack_chk_guard)[1] = 0; ((unsigned char *)(void *)__stack_chk_guard)[2] = '\n'; ((unsigned char *)(void *)__stack_chk_guard)[3] = 255; -#ifndef __minix +#if !defined(__minix) } -#endif +#endif /* !defined(__minix) */ } /*ARGSUSED*/ @@ -85,6 +85,7 @@ __fail(const char *msg) { #ifdef _LIBC struct syslog_data sdata = SYSLOG_DATA_INIT; +/* MINIX: #endif */ struct sigaction sa; sigset_t mask; @@ -93,20 +94,21 @@ __fail(const char *msg) (void)sigdelset(&mask, SIGABRT); (void)sigprocmask(SIG_BLOCK, &mask, NULL); +/* MINIX: #ifdef _LIBC */ /* This may fail on a chroot jail... */ syslog_ss(LOG_CRIT, &sdata, "%s", msg); #else xprintf("%s: %s\n", getprogname(), msg); #endif -#ifdef _LIBC +#if defined(__minix) && defined(_LIBC) (void)memset(&sa, 0, sizeof(sa)); (void)sigemptyset(&sa.sa_mask); sa.sa_flags = 0; sa.sa_handler = SIG_DFL; (void)sigaction(SIGABRT, &sa, NULL); (void)raise(SIGABRT); -#endif +#endif /* defined(__minix) && defined(_LIBC) */ _exit(127); } diff --git a/lib/libc/nameser/ns_samedomain.c b/lib/libc/nameser/ns_samedomain.c index 05cb48dfc..9b8f863ae 100644 --- a/lib/libc/nameser/ns_samedomain.c +++ b/lib/libc/nameser/ns_samedomain.c @@ -1,4 +1,4 @@ -/* $NetBSD: ns_samedomain.c,v 1.6 2009/04/12 17:07:17 christos Exp $ */ +/* $NetBSD: ns_samedomain.c,v 1.8 2012/11/22 20:22:31 christos Exp $ */ /* * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") @@ -22,7 +22,7 @@ #ifdef notdef static const char rcsid[] = "Id: ns_samedomain.c,v 1.6 2005/04/27 04:56:40 sra Exp"; #else -__RCSID("$NetBSD: ns_samedomain.c,v 1.6 2009/04/12 17:07:17 christos Exp $"); +__RCSID("$NetBSD: ns_samedomain.c,v 1.8 2012/11/22 20:22:31 christos Exp $"); #endif #endif @@ -35,7 +35,7 @@ __RCSID("$NetBSD: ns_samedomain.c,v 1.6 2009/04/12 17:07:17 christos Exp $"); #include "port_after.h" -#ifndef _LIBC +#ifdef _LIBRESOLV /*% * Check whether a name belongs to a domain. * @@ -57,8 +57,8 @@ __RCSID("$NetBSD: ns_samedomain.c,v 1.6 2009/04/12 17:07:17 christos Exp $"); int ns_samedomain(const char *a, const char *b) { - size_t la, lb; - int diff, i, escaped; + size_t la, lb, i; + int diff, escaped; const char *cp; la = strlen(a); @@ -68,8 +68,8 @@ ns_samedomain(const char *a, const char *b) { if (la != 0U && a[la - 1] == '.') { escaped = 0; /* Note this loop doesn't get executed if la==1. */ - for (i = la - 2; i >= 0; i--) - if (a[i] == '\\') { + for (i = la - 1; i > 0; i--) + if (a[i - 1] == '\\') { if (escaped) escaped = 0; else @@ -84,8 +84,8 @@ ns_samedomain(const char *a, const char *b) { if (lb != 0U && b[lb - 1] == '.') { escaped = 0; /* note this loop doesn't get executed if lb==1 */ - for (i = lb - 2; i >= 0; i--) - if (b[i] == '\\') { + for (i = lb - 1; i > 0; i--) + if (b[i - 1] == '\\') { if (escaped) escaped = 0; else @@ -110,7 +110,7 @@ ns_samedomain(const char *a, const char *b) { /* Ok, we know la > lb. */ - diff = la - lb; + diff = (int)(la - lb); /* * If 'a' is only 1 character longer than 'b', then it can't be @@ -133,8 +133,8 @@ ns_samedomain(const char *a, const char *b) { * and thus not a really a label separator. */ escaped = 0; - for (i = diff - 2; i >= 0; i--) - if (a[i] == '\\') { + for (i = diff - 1; i > 0; i--) + if (a[i - 1] == '\\') { if (escaped) escaped = 0; else @@ -157,7 +157,7 @@ ns_subdomain(const char *a, const char *b) { return (ns_samename(a, b) != 1 && ns_samedomain(a, b)); } #endif - +#ifdef _LIBC /*% * make a canonical copy of domain name "src" * @@ -212,5 +212,5 @@ ns_samename(const char *a, const char *b) { else return (0); } - +#endif /*! \file */ diff --git a/lib/libc/net/Makefile.inc b/lib/libc/net/Makefile.inc index 4b7c9e48a..953e961dc 100644 --- a/lib/libc/net/Makefile.inc +++ b/lib/libc/net/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.81 2012/01/20 14:08:05 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.85 2013/10/19 19:56:56 christos Exp $ # @(#)Makefile.inc 8.2 (Berkeley) 9/5/93 # net sources @@ -20,11 +20,14 @@ SRCS+= base64.c ethers.c gethnamaddr.c getifaddrs.c \ .if (${MKHESIOD} != "no") SRCS+= hesiod.c +.if ${HAVE_GCC:U} == "45" && ${MACHINE_CPU} == "ia64" +COPTS.hesiod.c+= ${${ACTIVE_CC} == "gcc" :? -O1 :} +.endif .endif SRCS+= getaddrinfo.c getnameinfo.c .if (${USE_INET6} != "no") -SRCS+= ip6opt.c rthdr.c vars6.c +SRCS+= ip6opt.c rthdr.c vars6.c inet6_scopeid.c .endif .if !defined(__MINIX) SRCS+= if_indextoname.c if_nameindex.c if_nametoindex.c @@ -51,9 +54,13 @@ COPTS.getaddrinfo.c+= ${${ACTIVE_CC} == "gcc" :? -fno-tree-ter :} COPTS.gethnamaddr.c+= ${${ACTIVE_CC} == "gcc" :? -fno-tree-ter :} .endif +.if defined(__MINIX) +COPTS.gethnamaddr.c+= ${${CC} == "gcc" :? -std=c99 :} +.endif # defined(__MINIX) + MAN+= byteorder.3 ethers.3 gethostbyname.3 getifaddrs.3 \ getnetent.3 getprotoent.3 getpeereid.3 \ - getservent.3 inet.3 inet_net.3 iso_addr.3 linkaddr.3 \ + getservent.3 inet.3 inet_net.3 linkaddr.3 \ nsdispatch.3 rcmd.3 resolver.3 sockatmark.3 .if (${MKHESIOD} != "no") @@ -122,12 +129,13 @@ MLINKS+=resolver.3 dn_comp.3 \ # IPv6 MAN+= gai_strerror.3 getaddrinfo.3 getnameinfo.3 if_indextoname.3 \ inet6_option_space.3 inet6_rthdr_space.3 \ - inet6_opt_init.3 inet6_rth_space.3 + inet6_opt_init.3 inet6_rth_space.3 inet6_getscopeid.3 MLINKS+=getaddrinfo.3 freeaddrinfo.3 \ getaddrinfo.3 allocaddrinfo.3 \ getifaddrs.3 freeifaddrs.3 \ if_indextoname.3 if_nametoindex.3 if_indextoname.3 if_nameindex.3 \ if_indextoname.3 if_freenameindex.3 \ + inet6_getscopeid.3 inet6_putscopeid.3 \ inet6_option_space.3 inet6_option_init.3 \ inet6_option_space.3 inet6_option_append.3 \ inet6_option_space.3 inet6_option_alloc.3 \ diff --git a/lib/libc/net/getaddrinfo.3 b/lib/libc/net/getaddrinfo.3 index ca0a90354..384d6810b 100644 --- a/lib/libc/net/getaddrinfo.3 +++ b/lib/libc/net/getaddrinfo.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: getaddrinfo.3,v 1.55 2010/04/17 20:28:47 wiz Exp $ +.\" $NetBSD: getaddrinfo.3,v 1.57 2013/05/03 21:13:34 wiz Exp $ .\" $KAME: getaddrinfo.3,v 1.36 2005/01/05 03:23:05 itojun Exp $ .\" $OpenBSD: getaddrinfo.3,v 1.35 2004/12/21 03:40:31 jaredy Exp $ .\" @@ -17,7 +17,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.Dd April 17, 2010 +.Dd April 30, 2013 .Dt GETADDRINFO 3 .Os .Sh NAME @@ -199,6 +199,9 @@ loopback address if is the null pointer and .Dv AI_PASSIVE is not set. +.It Dv AI_SRV +Perform SRV (RFC 2782) record lookups first. +This is a non-portable extension. .El .El .Pp diff --git a/lib/libc/net/getaddrinfo.c b/lib/libc/net/getaddrinfo.c index 2a240c614..76fe15060 100644 --- a/lib/libc/net/getaddrinfo.c +++ b/lib/libc/net/getaddrinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: getaddrinfo.c,v 1.101 2012/06/08 07:54:14 martin Exp $ */ +/* $NetBSD: getaddrinfo.c,v 1.105 2013/05/13 17:54:55 christos Exp $ */ /* $KAME: getaddrinfo.c,v 1.29 2000/08/31 17:26:57 itojun Exp $ */ /* @@ -55,7 +55,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: getaddrinfo.c,v 1.101 2012/06/08 07:54:14 martin Exp $"); +__RCSID("$NetBSD: getaddrinfo.c,v 1.105 2013/05/13 17:54:55 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -118,7 +118,7 @@ static const struct afd { int a_socklen; int a_off; const char *a_addrany; - const char *a_loopback; + const char *a_loopback; int a_scoped; } afdl [] = { #ifdef INET6 @@ -170,8 +170,8 @@ static const struct explore explore[] = { #endif static const ns_src default_dns_files[] = { - { NSSRC_FILES, NS_SUCCESS }, - { NSSRC_DNS, NS_SUCCESS }, + { NSSRC_FILES, NS_SUCCESS }, + { NSSRC_DNS, NS_SUCCESS }, { 0, 0 } }; @@ -191,19 +191,26 @@ struct res_target { int n; /* result length */ }; +struct srvinfo { + struct srvinfo *next; + char name[MAXDNAME]; + int port, pri, weight; +}; + +static int gai_srvok(const char *); static int str2number(const char *); static int explore_fqdn(const struct addrinfo *, const char *, - const char *, struct addrinfo **, struct servent_data *); + const char *, struct addrinfo **, struct servent_data *); static int explore_null(const struct addrinfo *, - const char *, struct addrinfo **, struct servent_data *); + const char *, struct addrinfo **, struct servent_data *); static int explore_numeric(const struct addrinfo *, const char *, - const char *, struct addrinfo **, const char *, struct servent_data *); + const char *, struct addrinfo **, const char *, struct servent_data *); static int explore_numeric_scope(const struct addrinfo *, const char *, - const char *, struct addrinfo **, struct servent_data *); + const char *, struct addrinfo **, struct servent_data *); static int get_canonname(const struct addrinfo *, - struct addrinfo *, const char *); + struct addrinfo *, const char *); static struct addrinfo *get_ai(const struct addrinfo *, - const struct afd *, const char *); + const struct afd *, const char *); static int get_portmatch(const struct addrinfo *, const char *, struct servent_data *); static int get_port(const struct addrinfo *, const char *, int, @@ -215,8 +222,14 @@ static int ip6_str2scopeid(char *, struct sockaddr_in6 *, u_int32_t *); #endif static struct addrinfo *getanswer(const querybuf *, int, const char *, int, - const struct addrinfo *); + const struct addrinfo *); static void aisort(struct addrinfo *s, res_state res); +static struct addrinfo * _dns_query(struct res_target *, + const struct addrinfo *, res_state, int); +static struct addrinfo * _dns_srv_lookup(const char *, const char *, + const struct addrinfo *); +static struct addrinfo * _dns_host_lookup(const char *, + const struct addrinfo *); static int _dns_getaddrinfo(void *, void *, va_list); static void _sethtent(FILE **); static void _endhtent(FILE **); @@ -231,67 +244,67 @@ static int _yp_getaddrinfo(void *, void *, va_list); static int res_queryN(const char *, struct res_target *, res_state); static int res_searchN(const char *, struct res_target *, res_state); static int res_querydomainN(const char *, const char *, - struct res_target *, res_state); + struct res_target *, res_state); static const char * const ai_errlist[] = { "Success", "Address family for hostname not supported", /* EAI_ADDRFAMILY */ - "Temporary failure in name resolution", /* EAI_AGAIN */ - "Invalid value for ai_flags", /* EAI_BADFLAGS */ - "Non-recoverable failure in name resolution", /* EAI_FAIL */ - "ai_family not supported", /* EAI_FAMILY */ - "Memory allocation failure", /* EAI_MEMORY */ - "No address associated with hostname", /* EAI_NODATA */ - "hostname nor servname provided, or not known", /* EAI_NONAME */ - "servname not supported for ai_socktype", /* EAI_SERVICE */ - "ai_socktype not supported", /* EAI_SOCKTYPE */ - "System error returned in errno", /* EAI_SYSTEM */ + "Temporary failure in name resolution", /* EAI_AGAIN */ + "Invalid value for ai_flags", /* EAI_BADFLAGS */ + "Non-recoverable failure in name resolution", /* EAI_FAIL */ + "ai_family not supported", /* EAI_FAMILY */ + "Memory allocation failure", /* EAI_MEMORY */ + "No address associated with hostname", /* EAI_NODATA */ + "hostname nor servname provided, or not known", /* EAI_NONAME */ + "servname not supported for ai_socktype", /* EAI_SERVICE */ + "ai_socktype not supported", /* EAI_SOCKTYPE */ + "System error returned in errno", /* EAI_SYSTEM */ "Invalid value for hints", /* EAI_BADHINTS */ - "Resolved protocol is unknown", /* EAI_PROTOCOL */ - "Argument buffer overflow", /* EAI_OVERFLOW */ - "Unknown error", /* EAI_MAX */ + "Resolved protocol is unknown", /* EAI_PROTOCOL */ + "Argument buffer overflow", /* EAI_OVERFLOW */ + "Unknown error", /* EAI_MAX */ }; /* XXX macros that make external reference is BAD. */ -#define GET_AI(ai, afd, addr) \ -do { \ - /* external reference: pai, error, and label free */ \ - (ai) = get_ai(pai, (afd), (addr)); \ - if ((ai) == NULL) { \ - error = EAI_MEMORY; \ - goto free; \ - } \ +#define GET_AI(ai, afd, addr) \ +do { \ + /* external reference: pai, error, and label free */ \ + (ai) = get_ai(pai, (afd), (addr)); \ + if ((ai) == NULL) { \ + error = EAI_MEMORY; \ + goto free; \ + } \ } while (/*CONSTCOND*/0) -#define GET_PORT(ai, serv, svd) \ -do { \ - /* external reference: error and label free */ \ - error = get_port((ai), (serv), 0, (svd)); \ - if (error != 0) \ - goto free; \ +#define GET_PORT(ai, serv, svd) \ +do { \ + /* external reference: error and label free */ \ + error = get_port((ai), (serv), 0, (svd)); \ + if (error != 0) \ + goto free; \ } while (/*CONSTCOND*/0) -#define GET_CANONNAME(ai, str) \ -do { \ - /* external reference: pai, error and label free */ \ - error = get_canonname(pai, (ai), (str)); \ - if (error != 0) \ - goto free; \ +#define GET_CANONNAME(ai, str) \ +do { \ + /* external reference: pai, error and label free */ \ + error = get_canonname(pai, (ai), (str)); \ + if (error != 0) \ + goto free; \ } while (/*CONSTCOND*/0) -#define ERR(err) \ -do { \ - /* external reference: error, and label bad */ \ - error = (err); \ - goto bad; \ - /*NOTREACHED*/ \ +#define ERR(err) \ +do { \ + /* external reference: error, and label bad */ \ + error = (err); \ + goto bad; \ + /*NOTREACHED*/ \ } while (/*CONSTCOND*/0) -#define MATCH_FAMILY(x, y, w) \ - ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == PF_UNSPEC || \ - (y) == PF_UNSPEC))) -#define MATCH(x, y, w) \ +#define MATCH_FAMILY(x, y, w) \ + ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == PF_UNSPEC || \ + (y) == PF_UNSPEC))) +#define MATCH(x, y, w) \ ((x) == (y) || (/*CONSTCOND*/(w) && ((x) == ANY || (y) == ANY))) const char * @@ -319,6 +332,58 @@ freeaddrinfo(struct addrinfo *ai) } while (ai); } +/* + * We don't want localization to affect us + */ +#define PERIOD '.' +#define hyphenchar(c) ((c) == '-') +#define periodchar(c) ((c) == PERIOD) +#define underschar(c) ((c) == '_') +#define alphachar(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z')) +#define digitchar(c) ((c) >= '0' && (c) <= '9') + +#define firstchar(c) (alphachar(c) || digitchar(c) || underschar(c)) +#define lastchar(c) (alphachar(c) || digitchar(c)) +#define middlechar(c) (lastchar(c) || hyphenchar(c)) + +static int +gai_srvok(const char *dn) +{ + int nch, pch, ch; + + for (pch = PERIOD, nch = ch = *dn++; ch != '\0'; pch = ch, ch = nch) { + if (periodchar(ch)) + continue; + if (periodchar(pch)) { + if (!firstchar(ch)) + return 0; + } else if (periodchar(nch) || nch == '\0') { + if (!lastchar(ch)) + return 0; + } else if (!middlechar(ch)) + return 0; + } + return 1; +} + +static in_port_t * +getport(struct addrinfo *ai) { + static in_port_t p; + + switch (ai->ai_family) { + case AF_INET: + return &((struct sockaddr_in *)(void *)ai->ai_addr)->sin_port; +#ifdef INET6 + case AF_INET6: + return &((struct sockaddr_in6 *)(void *)ai->ai_addr)->sin6_port; +#endif + default: + p = 0; + /* XXX: abort()? */ + return &p; + } +} + static int str2number(const char *p) { @@ -370,7 +435,7 @@ getaddrinfo(const char *hostname, const char *servname, pai->ai_canonname = NULL; pai->ai_addr = NULL; pai->ai_next = NULL; - + if (hostname == NULL && servname == NULL) return EAI_NONAME; if (hints) { @@ -589,7 +654,7 @@ explore_fqdn(const struct addrinfo *pai, const char *hostname, return 0; switch (nsdispatch(&result, dtab, NSDB_HOSTS, "getaddrinfo", - default_dns_files, hostname, pai)) { + default_dns_files, hostname, pai, servname)) { case NS_TRYAGAIN: error = EAI_AGAIN; goto free; @@ -602,6 +667,9 @@ explore_fqdn(const struct addrinfo *pai, const char *hostname, case NS_SUCCESS: error = 0; for (cur = result; cur; cur = cur->ai_next) { + /* Check for already filled port. */ + if (*getport(cur)) + continue; GET_PORT(cur, servname, svd); /* canonname should be filled already */ } @@ -871,11 +939,11 @@ allocaddrinfo(socklen_t addrlen) ai = calloc(sizeof(struct addrinfo) + addrlen, 1); if (ai) { ai->ai_addr = (void *)(ai+1); -#ifndef __minix +#if !defined(__minix) ai->ai_addrlen = ai->ai_addr->sa_len = addrlen; -#else /* __minix */ +#else ai->ai_addrlen = addrlen; -#endif +#endif /* !defined(__minix) */ } @@ -897,14 +965,14 @@ get_ai(const struct addrinfo *pai, const struct afd *afd, const char *addr) if (ai == NULL) return NULL; - save = ai->ai_addr; + save = ai->ai_addr; memcpy(ai, pai, sizeof(struct addrinfo)); - /* since we just overwrote all of ai, we have - to restore ai_addr and ai_addrlen */ - ai->ai_addr = save; - ai->ai_addrlen = (socklen_t)afd->a_socklen; - + /* since we just overwrote all of ai, we have + to restore ai_addr and ai_addrlen */ + ai->ai_addr = save; + ai->ai_addrlen = (socklen_t)afd->a_socklen; + ai->ai_addr->sa_family = ai->ai_family = afd->a_af; p = (char *)(void *)(ai->ai_addr); memcpy(p + afd->a_off, addr, (size_t)afd->a_addrlen); @@ -955,7 +1023,7 @@ get_port(const struct addrinfo *ai, const char *servname, int matchonly, break; case ANY: /* - * This was 0. It is now 1 so that queries specifying + * This was 0. It is now 1 so that queries specifying * a NULL hint, or hint without socktype (but, hopefully, * with protocol) and numeric address actually work. */ @@ -995,21 +1063,8 @@ get_port(const struct addrinfo *ai, const char *servname, int matchonly, port = sp->s_port; } - if (!matchonly) { - switch (ai->ai_family) { - case AF_INET: - ((struct sockaddr_in *)(void *) - ai->ai_addr)->sin_port = port; - break; -#ifdef INET6 - case AF_INET6: - ((struct sockaddr_in6 *)(void *) - ai->ai_addr)->sin6_port = port; - break; -#endif - } - } - + if (!matchonly) + *getport(__UNCONST(ai)) = port; return 0; } @@ -1112,7 +1167,7 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, const struct addrinfo *pai) { struct addrinfo sentinel, *cur; - struct addrinfo ai; + struct addrinfo ai, *aip; const struct afd *afd; char *canonname; const HEADER *hp; @@ -1125,6 +1180,8 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, char tbuf[MAXDNAME]; int (*name_ok) (const char *); char hostbuf[8*1024]; + int port, pri, weight; + struct srvinfo *srvlist, *srv, *csrv; _DIAGASSERT(answer != NULL); _DIAGASSERT(qname != NULL); @@ -1141,6 +1198,9 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, case T_ANY: /*use T_ANY only for T_A/T_AAAA lookup*/ name_ok = res_hnok; break; + case T_SRV: + name_ok = gai_srvok; + break; default: return NULL; /* XXX should be abort(); */ } @@ -1180,6 +1240,7 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, } haveanswer = 0; had_error = 0; + srvlist = NULL; while (ancount-- > 0 && cp < eom && !had_error) { n = dn_expand(answer->buf, eom, cp, bp, (int)(ep - bp)); if ((n < 0) || !(*name_ok)(bp)) { @@ -1188,9 +1249,9 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, } cp += n; /* name */ type = _getshort(cp); - cp += INT16SZ; /* type */ + cp += INT16SZ; /* type */ class = _getshort(cp); - cp += INT16SZ + INT32SZ; /* class, TTL */ + cp += INT16SZ + INT32SZ; /* class, TTL */ n = _getshort(cp); cp += INT16SZ; /* len */ if (class != C_IN) { @@ -1282,17 +1343,121 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, cur = cur->ai_next; cp += n; break; + case T_SRV: + /* Add to SRV list. Insertion sort on priority. */ + pri = _getshort(cp); + cp += INT16SZ; + weight = _getshort(cp); + cp += INT16SZ; + port = _getshort(cp); + cp += INT16SZ; + n = dn_expand(answer->buf, eom, cp, tbuf, + (int)sizeof(tbuf)); + if ((n < 0) || !res_hnok(tbuf)) { + had_error++; + continue; + } + cp += n; + if (strlen(tbuf) + 1 >= MAXDNAME) { + had_error++; + continue; + } + srv = malloc(sizeof(*srv)); + if (!srv) { + had_error++; + continue; + } + strlcpy(srv->name, tbuf, sizeof(srv->name)); + srv->pri = pri; + srv->weight = weight; + srv->port = port; + /* Weight 0 is sorted before other weights. */ + if (!srvlist + || srv->pri < srvlist->pri + || (srv->pri == srvlist->pri && + (!srv->weight || srvlist->weight))) { + srv->next = srvlist; + srvlist = srv; + } else { + for (csrv = srvlist; + csrv->next && csrv->next->pri <= srv->pri; + csrv = csrv->next) { + if (csrv->next->pri == srv->pri + && (!srv->weight || + csrv->next->weight)) + break; + } + srv->next = csrv->next; + csrv->next = srv; + } + continue; /* Don't add to haveanswer yet. */ default: abort(); } if (!had_error) haveanswer++; } + + if (srvlist) { + res_state res; + /* + * Check for explicit rejection. + */ + if (!srvlist->next && !srvlist->name[0]) { + free(srvlist); + h_errno = HOST_NOT_FOUND; + return NULL; + } + res = __res_get_state(); + if (res == NULL) { + while (srvlist != NULL) { + srv = srvlist; + srvlist = srvlist->next; + free(srv); + } + h_errno = NETDB_INTERNAL; + return NULL; + } + + while (srvlist) { + struct res_target q, q2; + + srv = srvlist; + srvlist = srvlist->next; + + /* + * Since res_* doesn't give the additional + * section, we always look up. + */ + memset(&q, 0, sizeof(q)); + memset(&q2, 0, sizeof(q2)); + + q.name = srv->name; + q.qclass = C_IN; + q.qtype = T_AAAA; + q.next = &q2; + q2.name = srv->name; + q2.qclass = C_IN; + q2.qtype = T_A; + + aip = _dns_query(&q, pai, res, 0); + + if (aip != NULL) { + cur->ai_next = aip; + while (cur && cur->ai_next) { + cur = cur->ai_next; + *getport(cur) = htons(srv->port); + haveanswer++; + } + } + free(srv); + } + __res_put_state(res); + } if (haveanswer) { - if (!canonname) - (void)get_canonname(pai, sentinel.ai_next, qname); - else - (void)get_canonname(pai, sentinel.ai_next, canonname); + if (!sentinel.ai_next->ai_canonname) + (void)get_canonname(pai, sentinel.ai_next, + canonname ? canonname : qname); h_errno = NETDB_SUCCESS; return sentinel.ai_next; } @@ -1332,109 +1497,136 @@ aisort(struct addrinfo *s, res_state res) s->ai_next = head.ai_next; } -/*ARGSUSED*/ -static int -_dns_getaddrinfo(void *rv, void *cb_data, va_list ap) +static struct addrinfo * +_dns_query(struct res_target *q, const struct addrinfo *pai, + res_state res, int dosearch) { - struct addrinfo *ai; - querybuf *buf, *buf2; - const char *name; - const struct addrinfo *pai; - struct addrinfo sentinel, *cur; - struct res_target q, q2; - res_state res; + struct res_target *q2 = q->next; + querybuf *buf, *buf2; + struct addrinfo sentinel, *cur, *ai; - name = va_arg(ap, char *); - pai = va_arg(ap, const struct addrinfo *); +#ifdef DNS_DEBUG + struct res_target *iter; + for (iter = q; iter; iter = iter->next) + printf("Query type %d for %s\n", iter->qtype, iter->name); +#endif + + buf = malloc(sizeof(*buf)); + if (buf == NULL) { + h_errno = NETDB_INTERNAL; + return NULL; + } + buf2 = malloc(sizeof(*buf2)); + if (buf2 == NULL) { + free(buf); + h_errno = NETDB_INTERNAL; + return NULL; + } - memset(&q, 0, sizeof(q)); - memset(&q2, 0, sizeof(q2)); memset(&sentinel, 0, sizeof(sentinel)); cur = &sentinel; - buf = malloc(sizeof(*buf)); - if (buf == NULL) { - h_errno = NETDB_INTERNAL; - return NS_NOTFOUND; - } - buf2 = malloc(sizeof(*buf2)); - if (buf2 == NULL) { - free(buf); - h_errno = NETDB_INTERNAL; - return NS_NOTFOUND; + q->answer = buf->buf; + q->anslen = sizeof(buf->buf); + if (q2) { + q2->answer = buf2->buf; + q2->anslen = sizeof(buf2->buf); } - switch (pai->ai_family) { - case AF_UNSPEC: - /* prefer IPv6 */ - q.name = name; - q.qclass = C_IN; - q.qtype = T_AAAA; - q.answer = buf->buf; - q.anslen = sizeof(buf->buf); - q.next = &q2; - q2.name = name; - q2.qclass = C_IN; - q2.qtype = T_A; - q2.answer = buf2->buf; - q2.anslen = sizeof(buf2->buf); - break; - case AF_INET: - q.name = name; - q.qclass = C_IN; - q.qtype = T_A; - q.answer = buf->buf; - q.anslen = sizeof(buf->buf); - break; - case AF_INET6: - q.name = name; - q.qclass = C_IN; - q.qtype = T_AAAA; - q.answer = buf->buf; - q.anslen = sizeof(buf->buf); - break; - default: - free(buf); - free(buf2); - return NS_UNAVAIL; + if (dosearch) { + if (res_searchN(q->name, q, res) < 0) + goto out; + } else { + if (res_queryN(q->name, q, res) < 0) + goto out; } - res = __res_get_state(); - if (res == NULL) { - free(buf); - free(buf2); - return NS_NOTFOUND; - } - - if (res_searchN(name, &q, res) < 0) { - __res_put_state(res); - free(buf); - free(buf2); - return NS_NOTFOUND; - } - ai = getanswer(buf, q.n, q.name, q.qtype, pai); + ai = getanswer(buf, q->n, q->name, q->qtype, pai); if (ai) { cur->ai_next = ai; while (cur && cur->ai_next) cur = cur->ai_next; } - if (q.next) { - ai = getanswer(buf2, q2.n, q2.name, q2.qtype, pai); + if (q2) { + ai = getanswer(buf2, q2->n, q2->name, q2->qtype, pai); if (ai) cur->ai_next = ai; - } + } free(buf); free(buf2); - if (sentinel.ai_next == NULL) { - __res_put_state(res); - switch (h_errno) { - case HOST_NOT_FOUND: - return NS_NOTFOUND; - case TRY_AGAIN: - return NS_TRYAGAIN; - default: - return NS_UNAVAIL; + return sentinel.ai_next; +out: + free(buf); + free(buf2); + return NULL; +} + +/*ARGSUSED*/ +static struct addrinfo * +_dns_srv_lookup(const char *name, const char *servname, + const struct addrinfo *pai) +{ + static const char * const srvprotos[] = { "tcp", "udp" }; + static const int srvnottype[] = { SOCK_DGRAM, SOCK_STREAM }; + static const int nsrvprotos = 2; + struct addrinfo sentinel, *cur, *ai; + struct servent *serv, sv; + struct servent_data svd; + struct res_target q; + res_state res; + char *tname; + int i; + + res = __res_get_state(); + if (res == NULL) + return NULL; + + memset(&svd, 0, sizeof(svd)); + memset(&sentinel, 0, sizeof(sentinel)); + cur = &sentinel; + + /* + * Iterate over supported SRV protocols. + * (currently UDP and TCP only) + */ + for (i = 0; i < nsrvprotos; i++) { + /* + * Check that the caller didn't specify a hint + * which precludes this protocol. + */ + if (pai->ai_socktype == srvnottype[i]) + continue; + /* + * If the caller specified a port, + * then lookup the database for the + * official service name. + */ + serv = getservbyname_r(servname, srvprotos[i], &sv, &svd); + if (serv == NULL) + continue; + + /* + * Construct service DNS name. + */ + if (asprintf(&tname, "_%s._%s.%s", serv->s_name, serv->s_proto, + name) < 0) + continue; + + memset(&q, 0, sizeof(q)); + q.name = tname; + q.qclass = C_IN; + q.qtype = T_SRV; + + /* + * Do SRV query. + */ + ai = _dns_query(&q, pai, res, 1); + if (ai) { + cur->ai_next = ai; + while (cur && cur->ai_next) + cur = cur->ai_next; } + free(tname); } if (res->nsort) @@ -1442,7 +1634,115 @@ _dns_getaddrinfo(void *rv, void *cb_data, va_list ap) __res_put_state(res); - *((struct addrinfo **)rv) = sentinel.ai_next; + return sentinel.ai_next; +} + +/*ARGSUSED*/ +static struct addrinfo * +_dns_host_lookup(const char *name, const struct addrinfo *pai) +{ + struct res_target q, q2; + struct addrinfo sentinel, *ai; + res_state res; + + res = __res_get_state(); + if (res == NULL) + return NULL; + + memset(&q, 0, sizeof(q2)); + memset(&q2, 0, sizeof(q2)); + + switch (pai->ai_family) { + case AF_UNSPEC: + /* prefer IPv6 */ + q.name = name; + q.qclass = C_IN; + q.qtype = T_AAAA; + q.next = &q2; + q2.name = name; + q2.qclass = C_IN; + q2.qtype = T_A; + break; + case AF_INET: + q.name = name; + q.qclass = C_IN; + q.qtype = T_A; + break; + case AF_INET6: + q.name = name; + q.qclass = C_IN; + q.qtype = T_AAAA; + break; + default: + __res_put_state(res); + h_errno = NETDB_INTERNAL; + return NULL; + } + + ai = _dns_query(&q, pai, res, 1); + + memset(&sentinel, 0, sizeof(sentinel)); + sentinel.ai_next = ai; + + if (ai != NULL && res->nsort) + aisort(&sentinel, res); + + __res_put_state(res); + + return sentinel.ai_next; +} + +/*ARGSUSED*/ +static int +_dns_getaddrinfo(void *rv, void *cb_data, va_list ap) +{ + struct addrinfo *ai = NULL; + const char *name, *servname; + const struct addrinfo *pai; + + name = va_arg(ap, char *); + pai = va_arg(ap, const struct addrinfo *); + servname = va_arg(ap, char *); + + /* + * Try doing SRV lookup on service first. + */ + if (servname +#ifdef AI_SRV + && (pai->ai_flags & AI_SRV) +#endif + && !(pai->ai_flags & AI_NUMERICSERV) + && str2number(servname) == -1) { + +#ifdef DNS_DEBUG + printf("%s: try SRV lookup\n", __func__); +#endif + ai = _dns_srv_lookup(name, servname, pai); + } + + /* + * Do lookup on name. + */ + if (ai == NULL) { + +#ifdef DNS_DEBUG + printf("%s: try HOST lookup\n", __func__); +#endif + ai = _dns_host_lookup(name, pai); + + if (ai == NULL) { + switch (h_errno) { + case HOST_NOT_FOUND: + return NS_NOTFOUND; + case TRY_AGAIN: + return NS_TRYAGAIN; + default: + return NS_UNAVAIL; + } + } + } + + *((struct addrinfo **)rv) = ai; return NS_SUCCESS; } @@ -1818,7 +2118,7 @@ res_queryN(const char *name, /* domain name */ struct res_target *target, * Formulate a normal query, send, and retrieve answer in supplied buffer. * Return the size of the response on success, -1 on error. * If enabled, implement search rules until answer or unrecoverable failure - * is detected. Error code, if any, is left in h_errno. + * is detected. Error code, if any, is left in h_errno. */ static int res_searchN(const char *name, struct res_target *target, res_state res) @@ -1923,7 +2223,7 @@ res_searchN(const char *name, struct res_target *target, res_state res) * we only wanted one iteration of the loop, so stop. */ if (!(res->options & RES_DNSRCH)) - done++; + done++; } } @@ -2001,3 +2301,33 @@ res_querydomainN(const char *name, const char *domain, } return res_queryN(longname, target, res); } + +#ifdef TEST +int +main(int argc, char *argv[]) { + struct addrinfo *ai, *sai; + int i, e; + char buf[1024]; + + for (i = 1; i < argc; i++) { + if ((e = getaddrinfo(argv[i], NULL, NULL, &sai)) != 0) + warnx("%s: %s", argv[i], gai_strerror(e)); + for (ai = sai; ai; ai = ai->ai_next) { + sockaddr_snprintf(buf, sizeof(buf), "%a", ai->ai_addr); + printf("flags=0x%x family=%d socktype=%d protocol=%d " + "addrlen=%zu addr=%s canonname=%s next=%p\n", + ai->ai_flags, + ai->ai_family, + ai->ai_socktype, + ai->ai_protocol, + (size_t)ai->ai_addrlen, + buf, + ai->ai_canonname, + ai->ai_next); + } + if (sai) + freeaddrinfo(sai); + } + return 0; +} +#endif diff --git a/lib/libc/net/gethnamaddr.c b/lib/libc/net/gethnamaddr.c index 5038df798..8a7dd1c78 100644 --- a/lib/libc/net/gethnamaddr.c +++ b/lib/libc/net/gethnamaddr.c @@ -1,4 +1,4 @@ -/* $NetBSD: gethnamaddr.c,v 1.79 2012/09/09 16:42:23 christos Exp $ */ +/* $NetBSD: gethnamaddr.c,v 1.84 2013/08/27 09:56:12 christos Exp $ */ /* * ++Copyright++ 1985, 1988, 1993 @@ -57,7 +57,7 @@ static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; static char rcsid[] = "Id: gethnamaddr.c,v 8.21 1997/06/01 20:34:37 vixie Exp "; #else -__RCSID("$NetBSD: gethnamaddr.c,v 1.79 2012/09/09 16:42:23 christos Exp $"); +__RCSID("$NetBSD: gethnamaddr.c,v 1.84 2013/08/27 09:56:12 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -95,6 +95,8 @@ __RCSID("$NetBSD: gethnamaddr.c,v 1.79 2012/09/09 16:42:23 christos Exp $"); #include #endif +#include "hostent.h" + #if defined(_LIBC) && defined(__weak_alias) __weak_alias(gethostbyaddr,_gethostbyaddr) __weak_alias(gethostbyname,_gethostbyname) @@ -107,35 +109,24 @@ __weak_alias(gethostent,_gethostent) #define maybe_dnok(res, dn) maybe_ok((res), (dn), res_dnok) -#define MAXALIASES 35 -#define MAXADDRS 35 - static const char AskedForGot[] = - "gethostby*.getanswer: asked for \"%s\", got \"%s\""; + "gethostby*.getanswer: asked for \"%s\", got \"%s\""; -static char *h_addr_ptrs[MAXADDRS + 1]; #ifdef YP static char *__ypdomain; #endif -static struct hostent host; -static char *host_aliases[MAXALIASES]; -static char hostbuf[8*1024]; -static u_int32_t host_addr[16 / sizeof(u_int32_t)]; /* IPv4 or IPv6 */ -static FILE *hostf = NULL; -static int stayopen = 0; - #define MAXPACKET (64*1024) typedef union { - HEADER hdr; - u_char buf[MAXPACKET]; + HEADER hdr; + u_char buf[MAXPACKET]; } querybuf; typedef union { - int32_t al; - char ac; + int32_t al; + char ac; } align; #ifdef DEBUG @@ -143,33 +134,21 @@ static void debugprintf(const char *, res_state, ...) __attribute__((__format__(__printf__, 1, 3))); #endif static struct hostent *getanswer(const querybuf *, int, const char *, int, - res_state); + res_state, struct hostent *, char *, size_t, int *); static void map_v4v6_address(const char *, char *); static void map_v4v6_hostent(struct hostent *, char **, char *); static void addrsort(char **, int, res_state); -void _sethtent(int); -void _endhtent(void); -struct hostent *_gethtent(void); -void ht_sethostent(int); -void ht_endhostent(void); -struct hostent *ht_gethostbyname(char *); -struct hostent *ht_gethostbyaddr(const char *, int, int); void dns_service(void); #undef dn_skipname int dn_skipname(const u_char *, const u_char *); -int _gethtbyaddr(void *, void *, va_list); -int _gethtbyname(void *, void *, va_list); -struct hostent *_gethtbyname2(const char *, int); -int _dns_gethtbyaddr(void *, void *, va_list); -int _dns_gethtbyname(void *, void *, va_list); + #ifdef YP -struct hostent *_yphostent(char *, int); -int _yp_gethtbyaddr(void *, void *, va_list); -int _yp_gethtbyname(void *, void *, va_list); +static struct hostent *_yp_hostent(char *, int, struct getnamaddr *); #endif -static struct hostent *gethostbyname_internal(const char *, int, res_state); +static struct hostent *gethostbyname_internal(const char *, int, res_state, + struct hostent *, char *, size_t, int *); static const ns_src default_dns_files[] = { { NSSRC_FILES, NS_SUCCESS }, @@ -218,17 +197,20 @@ debugprintf(const char *msg, res_state res, ...) static struct hostent * getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, - res_state res) + res_state res, struct hostent *hent, char *buf, size_t buflen, int *he) { const HEADER *hp; const u_char *cp; int n; + size_t qlen; const u_char *eom, *erdata; char *bp, **ap, **hap, *ep; int type, class, ancount, qdcount; int haveanswer, had_error; int toobig = 0; char tbuf[MAXDNAME]; + char *aliases[MAXALIASES]; + char *addr_ptrs[MAXADDRS]; const char *tname; int (*name_ok)(const char *); @@ -236,7 +218,7 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, _DIAGASSERT(qname != NULL); tname = qname; - host.h_name = NULL; + hent->h_name = NULL; eom = answer->buf + anslen; switch (qtype) { case T_A: @@ -255,19 +237,17 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, hp = &answer->hdr; ancount = ntohs(hp->ancount); qdcount = ntohs(hp->qdcount); - bp = hostbuf; - ep = hostbuf + sizeof hostbuf; + bp = buf; + ep = buf + buflen; cp = answer->buf; BOUNDED_INCR(HFIXEDSZ); - if (qdcount != 1) { - h_errno = NO_RECOVERY; - return NULL; - } + if (qdcount != 1) + goto no_recovery; + n = dn_expand(answer->buf, eom, cp, bp, (int)(ep - bp)); - if ((n < 0) || !maybe_ok(res, bp, name_ok)) { - h_errno = NO_RECOVERY; - return NULL; - } + if ((n < 0) || !maybe_ok(res, bp, name_ok)) + goto no_recovery; + BOUNDED_INCR(n + QFIXEDSZ); if (qtype == T_A || qtype == T_AAAA) { /* res_send() has already verified that the query name is the @@ -275,21 +255,17 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, * (i.e., with the succeeding search-domain tacked on). */ n = (int)strlen(bp) + 1; /* for the \0 */ - if (n >= MAXHOSTNAMELEN) { - h_errno = NO_RECOVERY; - return NULL; - } - host.h_name = bp; + if (n >= MAXHOSTNAMELEN) + goto no_recovery; + hent->h_name = bp; bp += n; /* The qname can be abbreviated, but h_name is now absolute. */ - qname = host.h_name; + qname = hent->h_name; } - ap = host_aliases; + hent->h_aliases = ap = aliases; + hent->h_addr_list = hap = addr_ptrs; *ap = NULL; - host.h_aliases = host_aliases; - hap = h_addr_ptrs; *hap = NULL; - host.h_addr_list = h_addr_ptrs; haveanswer = 0; had_error = 0; while (ancount-- > 0 && cp < eom && !had_error) { @@ -314,18 +290,17 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, continue; /* XXX - had_error++ ? */ } if ((qtype == T_A || qtype == T_AAAA) && type == T_CNAME) { - if (ap >= &host_aliases[MAXALIASES-1]) + if (ap >= &aliases[MAXALIASES-1]) continue; - n = dn_expand(answer->buf, eom, cp, tbuf, (int)sizeof tbuf); + n = dn_expand(answer->buf, eom, cp, tbuf, + (int)sizeof tbuf); if ((n < 0) || !maybe_ok(res, tbuf, name_ok)) { had_error++; continue; } cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return NULL; - } + if (cp != erdata) + goto no_recovery; /* Store alias. */ *ap++ = bp; n = (int)strlen(bp) + 1; /* for the \0 */ @@ -341,21 +316,20 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, continue; } strlcpy(bp, tbuf, (size_t)(ep - bp)); - host.h_name = bp; + hent->h_name = bp; bp += n; continue; } if (qtype == T_PTR && type == T_CNAME) { - n = dn_expand(answer->buf, eom, cp, tbuf, (int)sizeof tbuf); + n = dn_expand(answer->buf, eom, cp, tbuf, + (int)sizeof tbuf); if (n < 0 || !maybe_dnok(res, tbuf)) { had_error++; continue; } cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return NULL; - } + if (cp != erdata) + goto no_recovery; /* Get canonical name. */ n = (int)strlen(tbuf) + 1; /* for the \0 */ if (n > ep - bp || n >= MAXHOSTNAMELEN) { @@ -391,13 +365,11 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, } #if MULTI_PTRS_ARE_ALIASES cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return NULL; - } + if (cp != erdata) + goto no_recovery; if (!haveanswer) - host.h_name = bp; - else if (ap < &host_aliases[MAXALIASES-1]) + hent->h_name = bp; + else if (ap < &aliases[MAXALIASES-1]) *ap++ = bp; else n = -1; @@ -411,7 +383,7 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, } break; #else - host.h_name = bp; + hent->h_name = bp; if (res->options & RES_USE_INET6) { n = strlen(bp) + 1; /* for the \0 */ if (n >= MAXHOSTNAMELEN) { @@ -419,26 +391,25 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, break; } bp += n; - map_v4v6_hostent(&host, &bp, ep); + map_v4v6_hostent(hent, &bp, ep); } - h_errno = NETDB_SUCCESS; - return &host; + goto success; #endif case T_A: case T_AAAA: - if (strcasecmp(host.h_name, bp) != 0) { + if (strcasecmp(hent->h_name, bp) != 0) { syslog(LOG_NOTICE|LOG_AUTH, - AskedForGot, host.h_name, bp); + AskedForGot, hent->h_name, bp); cp += n; continue; /* XXX - had_error++ ? */ } - if (n != host.h_length) { + if (n != hent->h_length) { cp += n; continue; } if (type == T_AAAA) { struct in6_addr in6; - memcpy(&in6, cp, IN6ADDRSZ); + memcpy(&in6, cp, NS_IN6ADDRSZ); if (IN6_IS_ADDR_V4MAPPED(&in6)) { cp += n; continue; @@ -447,7 +418,7 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, if (!haveanswer) { int nn; - host.h_name = bp; + hent->h_name = bp; nn = (int)strlen(bp) + 1; /* for the \0 */ bp += nn; } @@ -455,12 +426,12 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, bp += sizeof(align) - (size_t)((u_long)bp % sizeof(align)); - if (bp + n >= &hostbuf[sizeof hostbuf]) { + if (bp + n >= ep) { debugprintf("size (%d) too big\n", res, n); had_error++; continue; } - if (hap >= &h_addr_ptrs[MAXADDRS-1]) { + if (hap >= &addr_ptrs[MAXADDRS - 1]) { if (!toobig++) { debugprintf("Too many addresses (%d)\n", res, MAXADDRS); @@ -471,10 +442,8 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, (void)memcpy(*hap++ = bp, cp, (size_t)n); bp += n; cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return NULL; - } + if (cp != erdata) + goto no_recovery; break; default: abort(); @@ -491,70 +460,96 @@ getanswer(const querybuf *answer, int anslen, const char *qname, int qtype, * address in that case, not some random one */ if (res->nsort && haveanswer > 1 && qtype == T_A) - addrsort(h_addr_ptrs, haveanswer, res); - if (!host.h_name) { + addrsort(addr_ptrs, haveanswer, res); + if (!hent->h_name) { n = (int)strlen(qname) + 1; /* for the \0 */ if (n > ep - bp || n >= MAXHOSTNAMELEN) goto no_recovery; strlcpy(bp, qname, (size_t)(ep - bp)); - host.h_name = bp; + hent->h_name = bp; bp += n; } if (res->options & RES_USE_INET6) - map_v4v6_hostent(&host, &bp, ep); - h_errno = NETDB_SUCCESS; - return &host; + map_v4v6_hostent(hent, &bp, ep); + goto success; } - no_recovery: - h_errno = NO_RECOVERY; +no_recovery: + *he = NO_RECOVERY; + return NULL; +success: + bp = (char *)ALIGN(bp); + n = (int)(ap - aliases); + qlen = (n + 1) * sizeof(*hent->h_aliases); + if ((size_t)(ep - bp) < qlen) + goto nospc; + hent->h_aliases = (void *)bp; + memcpy(bp, aliases, qlen); + + bp += qlen; + n = (int)(hap - addr_ptrs); + qlen = (n + 1) * sizeof(*hent->h_addr_list); + if ((size_t)(ep - bp) < qlen) + goto nospc; + hent->h_addr_list = (void *)bp; + memcpy(bp, addr_ptrs, qlen); + *he = NETDB_SUCCESS; + return hent; +nospc: + errno = ENOSPC; + *he = NETDB_INTERNAL; return NULL; } struct hostent * -gethostbyname(const char *name) +gethostbyname_r(const char *name, struct hostent *hp, char *buf, size_t buflen, + int *he) { - struct hostent *hp; res_state res = __res_get_state(); - if (res == NULL) + if (res == NULL) { + *he = NETDB_INTERNAL; return NULL; + } _DIAGASSERT(name != NULL); if (res->options & RES_USE_INET6) { - hp = gethostbyname_internal(name, AF_INET6, res); + hp = gethostbyname_internal(name, AF_INET6, res, hp, buf, + buflen, he); if (hp) { __res_put_state(res); return hp; } } - hp = gethostbyname_internal(name, AF_INET, res); + hp = gethostbyname_internal(name, AF_INET, res, hp, buf, buflen, he); __res_put_state(res); return hp; } struct hostent * -gethostbyname2(const char *name, int af) +gethostbyname2_r(const char *name, int af, struct hostent *hp, char *buf, + size_t buflen, int *he) { - struct hostent *hp; res_state res = __res_get_state(); - if (res == NULL) + if (res == NULL) { + *he = NETDB_INTERNAL; return NULL; - hp = gethostbyname_internal(name, af, res); + } + hp = gethostbyname_internal(name, af, res, hp, buf, buflen, he); __res_put_state(res); return hp; } static struct hostent * -gethostbyname_internal(const char *name, int af, res_state res) +gethostbyname_internal(const char *name, int af, res_state res, + struct hostent *hp, char *buf, size_t buflen, int *he) { const char *cp; - char *bp, *ep; - int size; - struct hostent *hp; + struct getnamaddr info; + size_t size; static const ns_dtab dtab[] = { - NS_FILES_CB(_gethtbyname, NULL) + NS_FILES_CB(_hf_gethtbyname, NULL) { NSSRC_DNS, _dns_gethtbyname, NULL }, /* force -DHESIOD */ NS_NIS_CB(_yp_gethtbyname, NULL) NS_NULL_CB @@ -564,19 +559,21 @@ gethostbyname_internal(const char *name, int af, res_state res) switch (af) { case AF_INET: - size = INADDRSZ; + size = NS_INADDRSZ; break; case AF_INET6: - size = IN6ADDRSZ; + size = NS_IN6ADDRSZ; break; default: - h_errno = NETDB_INTERNAL; + *he = NETDB_INTERNAL; errno = EAFNOSUPPORT; return NULL; } + if (buflen < size) + goto nospc; - host.h_addrtype = af; - host.h_length = size; + hp->h_addrtype = af; + hp->h_length = (int)size; /* * if there aren't any dots, it could be a user-level alias. @@ -600,25 +597,7 @@ gethostbyname_internal(const char *name, int af, res_state res) * Fake up a hostent as if we'd actually * done a lookup. */ - if (inet_pton(af, name, - (char *)(void *)host_addr) <= 0) { - h_errno = HOST_NOT_FOUND; - return NULL; - } - strncpy(hostbuf, name, MAXDNAME); - hostbuf[MAXDNAME] = '\0'; - bp = hostbuf + MAXDNAME; - ep = hostbuf + sizeof hostbuf; - host.h_name = hostbuf; - host.h_aliases = host_aliases; - host_aliases[0] = NULL; - h_addr_ptrs[0] = (char *)(void *)host_addr; - h_addr_ptrs[1] = NULL; - host.h_addr_list = h_addr_ptrs; - if (res->options & RES_USE_INET6) - map_v4v6_hostent(&host, &bp, ep); - h_errno = NETDB_SUCCESS; - return &host; + goto fake; } if (!isdigit((u_char) *cp) && *cp != '.') break; @@ -634,46 +613,58 @@ gethostbyname_internal(const char *name, int af, res_state res) * Fake up a hostent as if we'd actually * done a lookup. */ - if (inet_pton(af, name, - (char *)(void *)host_addr) <= 0) { - h_errno = HOST_NOT_FOUND; - return NULL; - } - strncpy(hostbuf, name, MAXDNAME); - hostbuf[MAXDNAME] = '\0'; - bp = hostbuf + MAXDNAME; - ep = hostbuf + sizeof hostbuf; - host.h_name = hostbuf; - host.h_aliases = host_aliases; - host_aliases[0] = NULL; - h_addr_ptrs[0] = (char *)(void *)host_addr; - h_addr_ptrs[1] = NULL; - host.h_addr_list = h_addr_ptrs; - h_errno = NETDB_SUCCESS; - return &host; + goto fake; } if (!isxdigit((u_char) *cp) && *cp != ':' && *cp != '.') break; } - hp = NULL; - h_errno = NETDB_INTERNAL; - if (nsdispatch(&hp, dtab, NSDB_HOSTS, "gethostbyname", + *he = NETDB_INTERNAL; + info.hp = hp; + info.buf = buf; + info.buflen = buflen; + info.he = he; + if (nsdispatch(&info, dtab, NSDB_HOSTS, "gethostbyname", default_dns_files, name, strlen(name), af) != NS_SUCCESS) return NULL; - h_errno = NETDB_SUCCESS; + *he = NETDB_SUCCESS; + return hp; +nospc: + *he = NETDB_INTERNAL; + errno = ENOSPC; + return NULL; +fake: + HENT_ARRAY(hp->h_addr_list, 1, buf, buflen); + HENT_ARRAY(hp->h_aliases, 0, buf, buflen); + + hp->h_aliases[0] = NULL; + if (size > buflen) + goto nospc; + + if (inet_pton(af, name, buf) <= 0) { + *he = HOST_NOT_FOUND; + return NULL; + } + hp->h_addr_list[0] = buf; + hp->h_addr_list[1] = NULL; + buf += size; + buflen -= size; + HENT_SCOPY(hp->h_name, name, buf, buflen); + if (res->options & RES_USE_INET6) + map_v4v6_hostent(hp, &buf, buf + buflen); + *he = NETDB_SUCCESS; return hp; } struct hostent * -gethostbyaddr(const char *addr, /* XXX should have been def'd as u_char! */ - socklen_t len, int af) +gethostbyaddr_r(const void *addr, socklen_t len, int af, struct hostent *hp, + char *buf, size_t buflen, int *he) { const u_char *uaddr = (const u_char *)addr; socklen_t size; - struct hostent *hp; + struct getnamaddr info; static const ns_dtab dtab[] = { - NS_FILES_CB(_gethtbyaddr, NULL) + NS_FILES_CB(_hf_gethtbyaddr, NULL) { NSSRC_DNS, _dns_gethtbyaddr, NULL }, /* force -DHESIOD */ NS_NIS_CB(_yp_gethtbyaddr, NULL) NS_NULL_CB @@ -681,317 +672,163 @@ gethostbyaddr(const char *addr, /* XXX should have been def'd as u_char! */ _DIAGASSERT(addr != NULL); - if (af == AF_INET6 && len == IN6ADDRSZ && - (IN6_IS_ADDR_LINKLOCAL((const struct in6_addr *)(const void *)uaddr) || - IN6_IS_ADDR_SITELOCAL((const struct in6_addr *)(const void *)uaddr))) { - h_errno = HOST_NOT_FOUND; + if (af == AF_INET6 && len == NS_IN6ADDRSZ && + (IN6_IS_ADDR_LINKLOCAL((const struct in6_addr *)addr) || + IN6_IS_ADDR_SITELOCAL((const struct in6_addr *)addr))) { + *he = HOST_NOT_FOUND; return NULL; } - if (af == AF_INET6 && len == IN6ADDRSZ && - (IN6_IS_ADDR_V4MAPPED((const struct in6_addr *)(const void *)uaddr) || - IN6_IS_ADDR_V4COMPAT((const struct in6_addr *)(const void *)uaddr))) { + if (af == AF_INET6 && len == NS_IN6ADDRSZ && + (IN6_IS_ADDR_V4MAPPED((const struct in6_addr *)addr) || + IN6_IS_ADDR_V4COMPAT((const struct in6_addr *)addr))) { /* Unmap. */ - addr += IN6ADDRSZ - INADDRSZ; - uaddr += IN6ADDRSZ - INADDRSZ; + uaddr += NS_IN6ADDRSZ - NS_INADDRSZ; + addr = uaddr; af = AF_INET; - len = INADDRSZ; + len = NS_INADDRSZ; } switch (af) { case AF_INET: - size = INADDRSZ; + size = NS_INADDRSZ; break; case AF_INET6: - size = IN6ADDRSZ; + size = NS_IN6ADDRSZ; break; default: errno = EAFNOSUPPORT; - h_errno = NETDB_INTERNAL; + *he = NETDB_INTERNAL; return NULL; } if (size != len) { errno = EINVAL; - h_errno = NETDB_INTERNAL; + *he = NETDB_INTERNAL; return NULL; } - hp = NULL; - h_errno = NETDB_INTERNAL; - if (nsdispatch(&hp, dtab, NSDB_HOSTS, "gethostbyaddr", + info.hp = hp; + info.buf = buf; + info.buflen = buflen; + info.he = he; + *he = NETDB_INTERNAL; + if (nsdispatch(&info, dtab, NSDB_HOSTS, "gethostbyaddr", default_dns_files, uaddr, len, af) != NS_SUCCESS) return NULL; - h_errno = NETDB_SUCCESS; + *he = NETDB_SUCCESS; return hp; } -void -_sethtent(int f) -{ - if (!hostf) - hostf = fopen(_PATH_HOSTS, "re"); - else - rewind(hostf); - stayopen = f; -} - -void -_endhtent(void) -{ - if (hostf && !stayopen) { - (void) fclose(hostf); - hostf = NULL; - } -} - struct hostent * -_gethtent(void) +gethostent_r(FILE *hf, struct hostent *hent, char *buf, size_t buflen, int *he) { - char *p; + char *p, *name; char *cp, **q; int af, len; + size_t llen, anum; + char *aliases[MAXALIASES]; + struct in6_addr host_addr; - if (!hostf && !(hostf = fopen(_PATH_HOSTS, "re"))) { - h_errno = NETDB_INTERNAL; + if (hf == NULL) { + *he = NETDB_INTERNAL; + errno = EINVAL; return NULL; } again: - if (!(p = fgets(hostbuf, (int)sizeof hostbuf, hostf))) { - h_errno = HOST_NOT_FOUND; + if ((p = fgetln(hf, &llen)) == NULL) { + *he = HOST_NOT_FOUND; return NULL; } + if (llen < 1) + goto again; if (*p == '#') goto again; + p[llen] = '\0'; if (!(cp = strpbrk(p, "#\n"))) goto again; *cp = '\0'; if (!(cp = strpbrk(p, " \t"))) goto again; *cp++ = '\0'; - if (inet_pton(AF_INET6, p, (char *)(void *)host_addr) > 0) { + if (inet_pton(AF_INET6, p, &host_addr) > 0) { af = AF_INET6; - len = IN6ADDRSZ; - } else if (inet_pton(AF_INET, p, (char *)(void *)host_addr) > 0) { + len = NS_IN6ADDRSZ; + } else if (inet_pton(AF_INET, p, &host_addr) > 0) { res_state res = __res_get_state(); if (res == NULL) return NULL; if (res->options & RES_USE_INET6) { - map_v4v6_address((char *)(void *)host_addr, - (char *)(void *)host_addr); + map_v4v6_address(buf, buf); af = AF_INET6; - len = IN6ADDRSZ; + len = NS_IN6ADDRSZ; } else { af = AF_INET; - len = INADDRSZ; + len = NS_INADDRSZ; } __res_put_state(res); } else { goto again; } /* if this is not something we're looking for, skip it. */ - if (host.h_addrtype != 0 && host.h_addrtype != af) + if (hent->h_addrtype != 0 && hent->h_addrtype != af) goto again; - if (host.h_length != 0 && host.h_length != len) + if (hent->h_length != 0 && hent->h_length != len) goto again; - h_addr_ptrs[0] = (char *)(void *)host_addr; - h_addr_ptrs[1] = NULL; - host.h_addr_list = h_addr_ptrs; - host.h_length = len; - host.h_addrtype = af; + while (*cp == ' ' || *cp == '\t') cp++; - host.h_name = cp; - q = host.h_aliases = host_aliases; - if ((cp = strpbrk(cp, " \t")) != NULL) + if ((cp = strpbrk(name = cp, " \t")) != NULL) *cp++ = '\0'; + q = aliases; while (cp && *cp) { if (*cp == ' ' || *cp == '\t') { cp++; continue; } - if (q < &host_aliases[MAXALIASES - 1]) - *q++ = cp; + if (q >= &aliases[__arraycount(aliases)]) + goto nospc; + *q++ = cp; if ((cp = strpbrk(cp, " \t")) != NULL) *cp++ = '\0'; } - *q = NULL; - h_errno = NETDB_SUCCESS; - return &host; -} + hent->h_length = len; + hent->h_addrtype = af; + HENT_ARRAY(hent->h_addr_list, 1, buf, buflen); + anum = (size_t)(q - aliases); + HENT_ARRAY(hent->h_aliases, anum, buf, buflen); + HENT_COPY(hent->h_addr_list[0], &host_addr, hent->h_length, buf, + buflen); + hent->h_addr_list[1] = NULL; -/*ARGSUSED*/ -int -_gethtbyname(void *rv, void *cb_data, va_list ap) -{ - struct hostent *hp; - const char *name; - int af; + HENT_SCOPY(hent->h_name, name, buf, buflen); + for (size_t i = 0; i < anum; i++) + HENT_SCOPY(hent->h_aliases[i], aliases[i], buf, buflen); + hent->h_aliases[anum] = NULL; - _DIAGASSERT(rv != NULL); - - name = va_arg(ap, char *); - /* NOSTRICT skip len */(void)va_arg(ap, int); - af = va_arg(ap, int); - - hp = NULL; -#if 0 - { - res_state res = __res_get_state(); - if (res == NULL) - return NS_NOTFOUND; - if (res->options & RES_USE_INET6) - hp = _gethtbyname2(name, AF_INET6); - if (hp==NULL) - hp = _gethtbyname2(name, AF_INET); - __res_put_state(res); - } -#else - hp = _gethtbyname2(name, af); -#endif - *((struct hostent **)rv) = hp; - if (hp == NULL) { - h_errno = HOST_NOT_FOUND; - return NS_NOTFOUND; - } - return NS_SUCCESS; -} - -struct hostent * -_gethtbyname2(const char *name, int af) -{ - struct hostent *p; - char *tmpbuf, *ptr, **cp; - int num; - size_t len; - - _DIAGASSERT(name != NULL); - - _sethtent(stayopen); - ptr = tmpbuf = NULL; - num = 0; - while ((p = _gethtent()) != NULL && num < MAXADDRS) { - if (p->h_addrtype != af) - continue; - if (strcasecmp(p->h_name, name) != 0) { - for (cp = p->h_aliases; *cp != NULL; cp++) - if (strcasecmp(*cp, name) == 0) - break; - if (*cp == NULL) continue; - } - - if (num == 0) { - size_t bufsize; - char *src; - - bufsize = strlen(p->h_name) + 2 + - MAXADDRS * p->h_length + - ALIGNBYTES; - for (cp = p->h_aliases; *cp != NULL; cp++) - bufsize += strlen(*cp) + 1; - - if ((tmpbuf = malloc(bufsize)) == NULL) { - h_errno = NETDB_INTERNAL; - return NULL; - } - - ptr = tmpbuf; - src = p->h_name; - while ((*ptr++ = *src++) != '\0'); - for (cp = p->h_aliases; *cp != NULL; cp++) { - src = *cp; - while ((*ptr++ = *src++) != '\0'); - } - *ptr++ = '\0'; - - ptr = (char *)(void *)ALIGN(ptr); - } - - (void)memcpy(ptr, p->h_addr_list[0], (size_t)p->h_length); - ptr += p->h_length; - num++; - } - _endhtent(); - if (num == 0) return NULL; - - len = ptr - tmpbuf; - if (len > (sizeof(hostbuf) - ALIGNBYTES)) { - free(tmpbuf); - errno = ENOSPC; - h_errno = NETDB_INTERNAL; - return NULL; - } - ptr = memcpy((void *)ALIGN(hostbuf), tmpbuf, len); - free(tmpbuf); - - host.h_name = ptr; - while (*ptr++); - - cp = host_aliases; - while (*ptr) { - *cp++ = ptr; - while (*ptr++); - } - ptr++; - *cp = NULL; - - ptr = (char *)(void *)ALIGN(ptr); - cp = h_addr_ptrs; - while (num--) { - *cp++ = ptr; - ptr += host.h_length; - } - *cp = NULL; - - return &host; -} - -/*ARGSUSED*/ -int -_gethtbyaddr(void *rv, void *cb_data, va_list ap) -{ - struct hostent *p; - const unsigned char *addr; - int len, af; - - _DIAGASSERT(rv != NULL); - - addr = va_arg(ap, unsigned char *); - len = va_arg(ap, int); - af = va_arg(ap, int); - - host.h_length = len; - host.h_addrtype = af; - - _sethtent(stayopen); - while ((p = _gethtent()) != NULL) - if (p->h_addrtype == af && !memcmp(p->h_addr, addr, - (size_t)len)) - break; - _endhtent(); - *((struct hostent **)rv) = p; - if (p==NULL) { - h_errno = HOST_NOT_FOUND; - return NS_NOTFOUND; - } - return NS_SUCCESS; + *he = NETDB_SUCCESS; + return hent; +nospc: + errno = ENOSPC; + *he = NETDB_INTERNAL; + return NULL; } static void map_v4v6_address(const char *src, char *dst) { u_char *p = (u_char *)dst; - char tmp[INADDRSZ]; + char tmp[NS_INADDRSZ]; int i; _DIAGASSERT(src != NULL); _DIAGASSERT(dst != NULL); /* Stash a temporary copy so our caller can update in place. */ - (void)memcpy(tmp, src, INADDRSZ); + (void)memcpy(tmp, src, NS_INADDRSZ); /* Mark this ipv6 addr as a mapped ipv4. */ for (i = 0; i < 10; i++) *p++ = 0x00; *p++ = 0xff; *p++ = 0xff; /* Retrieve the saved copy and we're done. */ - (void)memcpy((void *)p, tmp, INADDRSZ); + (void)memcpy(p, tmp, NS_INADDRSZ); } static void @@ -1003,15 +840,15 @@ map_v4v6_hostent(struct hostent *hp, char **bpp, char *ep) _DIAGASSERT(bpp != NULL); _DIAGASSERT(ep != NULL); - if (hp->h_addrtype != AF_INET || hp->h_length != INADDRSZ) + if (hp->h_addrtype != AF_INET || hp->h_length != NS_INADDRSZ) return; hp->h_addrtype = AF_INET6; - hp->h_length = IN6ADDRSZ; + hp->h_length = NS_IN6ADDRSZ; for (ap = hp->h_addr_list; *ap; ap++) { int i = (int)(sizeof(align) - (size_t)((u_long)*bpp % sizeof(align))); - if (ep - *bpp < (i + IN6ADDRSZ)) { + if (ep - *bpp < (i + NS_IN6ADDRSZ)) { /* Out of memory. Truncate address list here. XXX */ *ap = NULL; return; @@ -1019,7 +856,7 @@ map_v4v6_hostent(struct hostent *hp, char **bpp, char *ep) *bpp += i; map_v4v6_address(*ap, *bpp); *ap = *bpp; - *bpp += IN6ADDRSZ; + *bpp += NS_IN6ADDRSZ; } } @@ -1066,13 +903,6 @@ addrsort(char **ap, int num, res_state res) } } -struct hostent * -gethostent(void) -{ - host.h_addrtype = 0; - host.h_length = 0; - return _gethtent(); -} /*ARGSUSED*/ int @@ -1082,20 +912,22 @@ _dns_gethtbyname(void *rv, void *cb_data, va_list ap) int n, type; struct hostent *hp; const char *name; - int af; res_state res; + struct getnamaddr *info = rv; _DIAGASSERT(rv != NULL); name = va_arg(ap, char *); - /* NOSTRICT skip len */(void)va_arg(ap, int); - af = va_arg(ap, int); + /* NOSTRICT skip string len */(void)va_arg(ap, int); + info->hp->h_addrtype = va_arg(ap, int); - switch (af) { + switch (info->hp->h_addrtype) { case AF_INET: + info->hp->h_length = NS_INADDRSZ; type = T_A; break; case AF_INET6: + info->hp->h_length = NS_IN6ADDRSZ; type = T_AAAA; break; default: @@ -1103,7 +935,7 @@ _dns_gethtbyname(void *rv, void *cb_data, va_list ap) } buf = malloc(sizeof(*buf)); if (buf == NULL) { - h_errno = NETDB_INTERNAL; + *info->he = NETDB_INTERNAL; return NS_NOTFOUND; } res = __res_get_state(); @@ -1118,7 +950,8 @@ _dns_gethtbyname(void *rv, void *cb_data, va_list ap) __res_put_state(res); return NS_NOTFOUND; } - hp = getanswer(buf, n, name, type, res); + hp = getanswer(buf, n, name, type, res, info->hp, info->buf, + info->buflen, info->he); free(buf); __res_put_state(res); if (hp == NULL) @@ -1130,7 +963,6 @@ _dns_gethtbyname(void *rv, void *cb_data, va_list ap) default: return NS_UNAVAIL; } - *((struct hostent **)rv) = hp; return NS_SUCCESS; } @@ -1143,16 +975,19 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) querybuf *buf; struct hostent *hp; const unsigned char *uaddr; - int len, af, advance; + int advance; res_state res; + char *bf; + size_t blen; + struct getnamaddr *info = rv; _DIAGASSERT(rv != NULL); uaddr = va_arg(ap, unsigned char *); - len = va_arg(ap, int); - af = va_arg(ap, int); + info->hp->h_length = va_arg(ap, int); + info->hp->h_addrtype = va_arg(ap, int); - switch (af) { + switch (info->hp->h_addrtype) { case AF_INET: (void)snprintf(qbuf, sizeof(qbuf), "%u.%u.%u.%u.in-addr.arpa", (uaddr[3] & 0xff), (uaddr[2] & 0xff), @@ -1162,29 +997,29 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) case AF_INET6: qp = qbuf; ep = qbuf + sizeof(qbuf) - 1; - for (n = IN6ADDRSZ - 1; n >= 0; n--) { + for (n = NS_IN6ADDRSZ - 1; n >= 0; n--) { advance = snprintf(qp, (size_t)(ep - qp), "%x.%x.", uaddr[n] & 0xf, ((unsigned int)uaddr[n] >> 4) & 0xf); if (advance > 0 && qp + advance < ep) qp += advance; else { - h_errno = NETDB_INTERNAL; + *info->he = NETDB_INTERNAL; return NS_NOTFOUND; } } if (strlcat(qbuf, "ip6.arpa", sizeof(qbuf)) >= sizeof(qbuf)) { - h_errno = NETDB_INTERNAL; + *info->he = NETDB_INTERNAL; return NS_NOTFOUND; } break; default: - abort(); + return NS_UNAVAIL; } buf = malloc(sizeof(*buf)); if (buf == NULL) { - h_errno = NETDB_INTERNAL; + *info->he = NETDB_INTERNAL; return NS_NOTFOUND; } res = __res_get_state(); @@ -1199,11 +1034,12 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) __res_put_state(res); return NS_NOTFOUND; } - hp = getanswer(buf, n, qbuf, T_PTR, res); + hp = getanswer(buf, n, qbuf, T_PTR, res, info->hp, info->buf, + info->buflen, info->he); free(buf); if (hp == NULL) { __res_put_state(res); - switch (h_errno) { + switch (*info->he) { case HOST_NOT_FOUND: return NS_NOTFOUND; case TRY_AGAIN: @@ -1212,62 +1048,65 @@ _dns_gethtbyaddr(void *rv, void *cb_data, va_list ap) return NS_UNAVAIL; } } - hp->h_addrtype = af; - hp->h_length = len; - (void)memcpy(host_addr, uaddr, (size_t)len); - h_addr_ptrs[0] = (char *)(void *)host_addr; - h_addr_ptrs[1] = NULL; - if (af == AF_INET && (res->options & RES_USE_INET6)) { - map_v4v6_address((char *)(void *)host_addr, - (char *)(void *)host_addr); + + bf = (void *)(hp->h_addr_list + 2); + blen = (size_t)(bf - info->buf); + if (blen + info->hp->h_length > info->buflen) + goto nospc; + hp->h_addr_list[0] = bf; + hp->h_addr_list[1] = NULL; + (void)memcpy(bf, uaddr, (size_t)info->hp->h_length); + if (info->hp->h_addrtype == AF_INET && (res->options & RES_USE_INET6)) { + if (blen + NS_IN6ADDRSZ > info->buflen) + goto nospc; + map_v4v6_address(bf, bf); hp->h_addrtype = AF_INET6; - hp->h_length = IN6ADDRSZ; + hp->h_length = NS_IN6ADDRSZ; } __res_put_state(res); - *((struct hostent **)rv) = hp; - h_errno = NETDB_SUCCESS; + *info->he = NETDB_SUCCESS; return NS_SUCCESS; +nospc: + *info->he = NETDB_INTERNAL; + return NS_UNAVAIL; } #ifdef YP /*ARGSUSED*/ -struct hostent * -_yphostent(char *line, int af) +static struct hostent * +_yp_hostent(char *line, int af, struct getnamaddr *info) { - static struct in_addr host_addrs[MAXADDRS]; - static struct in6_addr host6_addrs[MAXADDRS]; + struct in6_addr host_addrs[MAXADDRS]; + char *aliases[MAXALIASES]; char *p = line; - char *cp, **q; - char **hap; + char *cp, **q, *ptr; + size_t len, anum, i; int addrok; int more; size_t naddrs; + struct hostent *hp = info->hp; _DIAGASSERT(line != NULL); - host.h_name = NULL; - host.h_addr_list = h_addr_ptrs; - host.h_addrtype = af; + hp->h_name = NULL; + hp->h_addrtype = af; switch (af) { case AF_INET: - host.h_length = INADDRSZ; + hp->h_length = NS_INADDRSZ; break; case AF_INET6: - host.h_length = IN6ADDRSZ; + hp->h_length = NS_IN6ADDRSZ; break; default: return NULL; } - hap = h_addr_ptrs; - q = host.h_aliases = host_aliases; naddrs = 0; + q = aliases; nextline: /* check for host_addrs overflow */ - if (naddrs >= sizeof(host_addrs) / sizeof(host_addrs[0])) - goto done; - if (naddrs >= sizeof(host6_addrs) / sizeof(host6_addrs[0])) + if (naddrs >= __arraycount(host_addrs)) goto done; more = 0; @@ -1277,15 +1116,7 @@ nextline: *cp++ = '\0'; /* p has should have an address */ - addrok = 0; - switch (af) { - case AF_INET: - addrok = inet_aton(p, &host_addrs[naddrs]); - break; - case AF_INET6: - addrok = inet_pton(af, p, &host6_addrs[naddrs]); - break; - } + addrok = inet_pton(af, p, &host_addrs[naddrs]); if (addrok != 1) { /* skip to the next line */ while (cp && *cp) { @@ -1295,19 +1126,9 @@ nextline: } cp++; } - goto done; } - switch (af) { - case AF_INET: - *hap++ = (char *)(void *)&host_addrs[naddrs++]; - break; - case AF_INET6: - *hap++ = (char *)(void *)&host6_addrs[naddrs++]; - break; - } - while (*cp == ' ' || *cp == '\t') cp++; p = cp; @@ -1317,11 +1138,11 @@ nextline: more = 1; *cp++ = '\0'; } - if (!host.h_name) - host.h_name = p; - else if (strcmp(host.h_name, p)==0) + if (!hp->h_name) + hp->h_name = p; + else if (strcmp(hp->h_name, p) == 0) ; - else if (q < &host_aliases[MAXALIASES - 1]) + else if (q < &aliases[MAXALIASES - 1]) *q++ = p; p = cp; if (more) @@ -1336,7 +1157,7 @@ nextline: cp++; goto nextline; } - if (q < &host_aliases[MAXALIASES - 1]) + if (q < &aliases[MAXALIASES - 1]) *q++ = cp; cp = strpbrk(cp, " \t"); if (cp != NULL) @@ -1344,11 +1165,32 @@ nextline: } done: - if (host.h_name == NULL) + if (hp->h_name == NULL) return NULL; - *q = NULL; - *hap = NULL; - return &host; + + ptr = info->buf; + len = info->buflen; + + anum = (size_t)(q - aliases); + HENT_ARRAY(hp->h_addr_list, naddrs, ptr, len); + HENT_ARRAY(hp->h_aliases, anum, ptr, len); + + for (i = 0; i < naddrs; i++) + HENT_COPY(hp->h_addr_list[i], &host_addrs[i], hp->h_length, + ptr, len); + hp->h_addr_list[naddrs] = NULL; + + HENT_SCOPY(hp->h_name, hp->h_name, ptr, len); + + for (i = 0; i < anum; i++) + HENT_SCOPY(hp->h_aliases[i], aliases[i], ptr, len); + hp->h_aliases[anum] = NULL; + + return hp; +nospc: + *info->he = NETDB_INTERNAL; + errno = ENOSPC; + return NULL; } /*ARGSUSED*/ @@ -1356,12 +1198,13 @@ int _yp_gethtbyaddr(void *rv, void *cb_data, va_list ap) { struct hostent *hp = NULL; - static char *__ypcurrent; - int __ypcurrentlen, r; + char *ypcurrent; + int ypcurrentlen, r; char name[INET6_ADDRSTRLEN]; /* XXX enough? */ const unsigned char *uaddr; int af; const char *map; + struct getnamaddr *info = rv; _DIAGASSERT(rv != NULL); @@ -1379,9 +1222,6 @@ _yp_gethtbyaddr(void *rv, void *cb_data, va_list ap) */ if (inet_ntop(af, uaddr, name, (socklen_t)sizeof(name)) == NULL) return NS_UNAVAIL; - if (__ypcurrent) - free(__ypcurrent); - __ypcurrent = NULL; switch (af) { case AF_INET: map = "hosts.byaddr"; @@ -1390,15 +1230,18 @@ _yp_gethtbyaddr(void *rv, void *cb_data, va_list ap) map = "ipnodes.byaddr"; break; } + ypcurrent = NULL; r = yp_match(__ypdomain, map, name, - (int)strlen(name), &__ypcurrent, &__ypcurrentlen); + (int)strlen(name), &ypcurrent, &ypcurrentlen); if (r == 0) - hp = _yphostent(__ypcurrent, af); + hp = _yp_hostent(ypcurrent, af, info); + else + hp = NULL; + free(ypcurrent); if (hp == NULL) { - h_errno = HOST_NOT_FOUND; + *info->he = HOST_NOT_FOUND; return NS_NOTFOUND; } - *((struct hostent **)rv) = hp; return NS_SUCCESS; } @@ -1406,26 +1249,24 @@ _yp_gethtbyaddr(void *rv, void *cb_data, va_list ap) int _yp_gethtbyname(void *rv, void *cb_data, va_list ap) { - struct hostent *hp = NULL; - static char *__ypcurrent; - int __ypcurrentlen, r; + struct hostent *hp; + char *ypcurrent; + int ypcurrentlen, r; const char *name; int af; const char *map; + struct getnamaddr *info = rv; _DIAGASSERT(rv != NULL); name = va_arg(ap, char *); - /* NOSTRICT skip len */(void)va_arg(ap, int); + /* NOSTRICT skip string len */(void)va_arg(ap, int); af = va_arg(ap, int); if (!__ypdomain) { if (_yp_check(&__ypdomain) == 0) return NS_UNAVAIL; } - if (__ypcurrent) - free(__ypcurrent); - __ypcurrent = NULL; switch (af) { case AF_INET: map = "hosts.byname"; @@ -1434,15 +1275,57 @@ _yp_gethtbyname(void *rv, void *cb_data, va_list ap) map = "ipnodes.byname"; break; } + ypcurrent = NULL; r = yp_match(__ypdomain, map, name, - (int)strlen(name), &__ypcurrent, &__ypcurrentlen); + (int)strlen(name), &ypcurrent, &ypcurrentlen); if (r == 0) - hp = _yphostent(__ypcurrent, af); + hp = _yp_hostent(ypcurrent, af, info); + else + hp = NULL; + free(ypcurrent); if (hp == NULL) { - h_errno = HOST_NOT_FOUND; + *info->he = HOST_NOT_FOUND; return NS_NOTFOUND; } - *((struct hostent **)rv) = hp; return NS_SUCCESS; } #endif + +/* + * Non-reentrant versions. + */ +FILE *_h_file; +static struct hostent h_ent; +static char h_buf[16384]; + +struct hostent * +gethostbyaddr(const void *addr, socklen_t len, int af) { + return gethostbyaddr_r(addr, len, af, &h_ent, h_buf, sizeof(h_buf), + &h_errno); +} + +struct hostent * +gethostbyname(const char *name) { + return gethostbyname_r(name, &h_ent, h_buf, sizeof(h_buf), &h_errno); +} + +struct hostent * +gethostbyname2(const char *name, int af) { + return gethostbyname2_r(name, af, &h_ent, h_buf, sizeof(h_buf), + &h_errno); +} + +struct hostent * +gethostent(void) +{ + if (_h_file == NULL) { + sethostent_r(&_h_file); + if (_h_file == NULL) { + h_errno = NETDB_INTERNAL; + return NULL; + } + } + memset(&h_ent, 0, sizeof(h_ent)); + return gethostent_r(_h_file, &h_ent, h_buf, sizeof(h_buf), &h_errno); +} + diff --git a/lib/libc/net/gethostbyname.3 b/lib/libc/net/gethostbyname.3 index e0224bc3b..4d1cb5a12 100644 --- a/lib/libc/net/gethostbyname.3 +++ b/lib/libc/net/gethostbyname.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: gethostbyname.3,v 1.28 2006/10/07 21:30:39 apb Exp $ +.\" $NetBSD: gethostbyname.3,v 1.29 2013/08/19 07:18:42 christos Exp $ .\" .\" Copyright (c) 1983, 1987, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95 .\" -.Dd October 7, 2006 +.Dd August 19, 2013 .Dt GETHOSTBYNAME 3 .Os .Sh NAME @@ -52,7 +52,7 @@ .Ft struct hostent * .Fn gethostbyname2 "const char *name" "int af" .Ft struct hostent * -.Fn gethostbyaddr "const char *addr" "socklen_t len" "int type" +.Fn gethostbyaddr "const void *addr" "socklen_t len" "int type" .Ft struct hostent * .Fn gethostent void .Ft void diff --git a/lib/libc/net/getifaddrs.3 b/lib/libc/net/getifaddrs.3 index f698186c4..be1e53079 100644 --- a/lib/libc/net/getifaddrs.3 +++ b/lib/libc/net/getifaddrs.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: getifaddrs.3,v 1.12 2010/03/22 19:30:54 joerg Exp $ +.\" $NetBSD: getifaddrs.3,v 1.14 2013/04/07 23:12:36 wiz Exp $ .\" BSDI getifaddrs.3,v 2.5 2000/02/23 14:51:59 dab Exp .\" .\" Copyright (c) 1995, 1999 @@ -21,7 +21,7 @@ .\" 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. -.Dd April 21, 2009 +.Dd April 7, 2013 .Dt GETIFADDRS 3 .Os .Sh NAME @@ -133,6 +133,36 @@ Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and .Va errno is set to indicate the error. +.Sh EXAMPLES +The following example program prints a list of all addresses configured +on the system. +.Bd -literal -offset indent +#include \*[Lt]sys/types.h\*[Gt] +#include \*[Lt]sys/socket.h\*[Gt] +#include \*[Lt]stdio.h\*[Gt] +#include \*[Lt]ifaddrs.h\*[Gt] +#include \*[Lt]util.h\*[Gt] +#include \*[Lt]err.h\*[Gt] +#include \*[Lt]stdlib.h\*[Gt] + +int +main(int argc, char *argv[]) +{ + struct ifaddrs *ifa, *a; + + if (getifaddrs(\*[Am]ifa) == -1) + err(EXIT_FAILURE, "getifaddrs"); + + for (a = ifa; a; a = a->ifa_next) { + char buf[1024]; + sockaddr_snprintf(buf, sizeof(buf), "%f %a", + a->ifa_addr); + printf("%s %x %s\\n", a->ifa_name, a->ifa_flags, buf); + } + freeifaddrs(ifa); + return EXIT_SUCCESS; +} +.Ed .Sh ERRORS The .Fn getifaddrs diff --git a/lib/libc/net/getnameinfo.3 b/lib/libc/net/getnameinfo.3 index c1b30afaa..01e691905 100644 --- a/lib/libc/net/getnameinfo.3 +++ b/lib/libc/net/getnameinfo.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: getnameinfo.3,v 1.39 2012/09/26 23:13:00 christos Exp $ +.\" $NetBSD: getnameinfo.3,v 1.41 2013/08/18 10:40:06 wiz Exp $ .\" $KAME: getnameinfo.3,v 1.37 2005/01/05 03:23:05 itojun Exp $ .\" $OpenBSD: getnameinfo.3,v 1.36 2004/12/21 09:48:20 jmc Exp $ .\" @@ -17,7 +17,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.Dd September 26, 2012 +.Dd August 18, 2013 .Dt GETNAMEINFO 3 .Os .Sh NAME @@ -263,11 +263,7 @@ if (error == 0) { NULL, 0, NI_NUMERICHOST); } .Ed -.Sh BUGS -The implementation of -.Fn getnameinfo -is not thread-safe. -.\".Pp +.\".Sh BUGS .\".Ox .\"intentionally uses a different .\".Dv NI_MAXHOST diff --git a/lib/libc/net/getnameinfo.c b/lib/libc/net/getnameinfo.c index 7234dd250..1216cea31 100644 --- a/lib/libc/net/getnameinfo.c +++ b/lib/libc/net/getnameinfo.c @@ -1,4 +1,4 @@ -/* $NetBSD: getnameinfo.c,v 1.53 2012/09/26 23:13:00 christos Exp $ */ +/* $NetBSD: getnameinfo.c,v 1.54 2013/08/16 15:27:12 christos Exp $ */ /* $KAME: getnameinfo.c,v 1.45 2000/09/25 22:43:56 itojun Exp $ */ /* @@ -47,7 +47,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: getnameinfo.c,v 1.53 2012/09/26 23:13:00 christos Exp $"); +__RCSID("$NetBSD: getnameinfo.c,v 1.54 2013/08/16 15:27:12 christos Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -55,12 +55,12 @@ __RCSID("$NetBSD: getnameinfo.c,v 1.53 2012/09/26 23:13:00 christos Exp $"); #include #include #include -#ifndef __minix +#if !defined(__minix) #include #include #include #include -#endif /* !__minix */ +#endif /* !defined(__minix) */ #include #include #include @@ -72,6 +72,7 @@ __RCSID("$NetBSD: getnameinfo.c,v 1.53 2012/09/26 23:13:00 christos Exp $"); #include #include "servent.h" +#include "hostent.h" #ifdef __weak_alias __weak_alias(getnameinfo,_getnameinfo) @@ -105,7 +106,7 @@ static int ip6_parsenumeric(const struct sockaddr *, const char *, char *, socklen_t, int); static int ip6_sa2str(const struct sockaddr_in6 *, char *, size_t, int); #endif -#ifndef __minix +#if !defined(__minix) static int getnameinfo_atalk(const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int); static int getnameinfo_local(const struct sockaddr *, socklen_t, char *, @@ -114,7 +115,7 @@ static int getnameinfo_local(const struct sockaddr *, socklen_t, char *, static int getnameinfo_link(const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int); static int hexname(const uint8_t *, size_t, char *, socklen_t); -#endif /* __minix */ +#endif /* !defined(__minix) */ /* * Top-level getnameinfo() code. Look at the address family, and pick an @@ -128,29 +129,29 @@ getnameinfo(const struct sockaddr *sa, socklen_t salen, { switch (sa->sa_family) { -#ifndef __minix +#if !defined(__minix) case AF_APPLETALK: return getnameinfo_atalk(sa, salen, host, hostlen, serv, servlen, flags); -#endif /* !__minix */ +#endif /* !defined(__minix) */ case AF_INET: case AF_INET6: return getnameinfo_inet(sa, salen, host, hostlen, serv, servlen, flags); -#ifndef __minix +#if !defined(__minix) case AF_LINK: return getnameinfo_link(sa, salen, host, hostlen, serv, servlen, flags); case AF_LOCAL: return getnameinfo_local(sa, salen, host, hostlen, serv, servlen, flags); -#endif /* !__minix */ +#endif /* !defined(__minix) */ default: return EAI_FAMILY; } } -#ifndef __minix +#if !defined(__minix) /* * getnameinfo_atalk(): * Format an AppleTalk address into a printable format. @@ -233,7 +234,7 @@ getnameinfo_local(const struct sockaddr *sa, socklen_t salen, return 0; } -#endif /* !__minix */ +#endif /* !defined(__minix) */ /* * getnameinfo_inet(): @@ -385,7 +386,11 @@ getnameinfo_inet(const struct sockaddr *sa, socklen_t salen, break; } } else { - hp = gethostbyaddr(addr, afd->a_addrlen, afd->a_af); + struct hostent hent; + char hbuf[4096]; + int he; + hp = gethostbyaddr_r(addr, afd->a_addrlen, afd->a_af, &hent, + hbuf, sizeof(hbuf), &he); if (hp) { #if 0 @@ -516,7 +521,7 @@ ip6_sa2str(const struct sockaddr_in6 *sa6, char *buf, size_t bufsiz, int flags) #endif /* INET6 */ -#ifndef __minix +#if !defined(__minix) /* * getnameinfo_link(): * Format a link-layer address into a printable format, paying attention to @@ -615,4 +620,4 @@ hexname(const uint8_t *cp, size_t len, char *host, socklen_t hostlen) } return 0; } -#endif /* !__minix */ +#endif /* !defined(__minix) */ diff --git a/lib/libc/net/hostent.h b/lib/libc/net/hostent.h new file mode 100644 index 000000000..65fa5d717 --- /dev/null +++ b/lib/libc/net/hostent.h @@ -0,0 +1,106 @@ +/* $NetBSD: hostent.h,v 1.2 2013/08/27 09:56:12 christos Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#include +#include + +/* + * These are not being advertised because the interfaces are non-standard. + * There are versions by linux, aix, qnx, sun, etc. Our versions are used + * internally to provide thread safety; they mostly resemble qnx. + */ +void sethostent_r(FILE **); +struct hostent *gethostent_r(FILE *, struct hostent *, char *, size_t, int *); +void endhostent_r(FILE **); + +struct hostent *gethostbyname_r(const char *, struct hostent *, char *, size_t, + int *); +struct hostent *gethostbyname2_r(const char *, int, struct hostent *, char *, + size_t, int *); +struct hostent *gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, + char *, size_t, int *); + +extern FILE *_h_file; + +/* + * The following are internal API's and are used only for testing. + */ +struct getnamaddr { + struct hostent *hp; + char *buf; + size_t buflen; + int *he; +}; + +/* /etc/hosts lookup */ +void _hf_sethostsfile(const char *); +int _hf_gethtbyaddr(void *, void *, va_list); +int _hf_gethtbyname(void *, void *, va_list); + +/* DNS lookup */ +int _dns_gethtbyaddr(void *, void *, va_list); +int _dns_gethtbyname(void *, void *, va_list); + +#ifdef YP +/* NIS lookup */ +int _yp_gethtbyaddr(void *, void *, va_list); +int _yp_gethtbyname(void *, void *, va_list); +#endif + +#define HENT_ARRAY(dst, anum, ptr, len) \ + do { \ + size_t _len = (anum + 1) * sizeof(*dst); \ + if (_len > len) \ + goto nospc; \ + dst = (void *)ptr; \ + ptr += _len; \ + len -= _len; \ + } while (/*CONSTCOND*/0) + +#define HENT_COPY(dst, src, slen, ptr, len) \ + do { \ + if ((size_t)slen > len) \ + goto nospc; \ + memcpy(ptr, src, (size_t)slen); \ + dst = ptr; \ + ptr += slen; \ + len -= slen; \ + } while (/* CONSTCOND */0) + +#define HENT_SCOPY(dst, src, ptr, len) \ + do { \ + size_t _len = strlen(src) + 1; \ + HENT_COPY(dst, src, _len, ptr, len); \ + } while (/* CONSTCOND */0) + +#define MAXALIASES 35 +#define MAXADDRS 35 diff --git a/lib/libc/net/inet6_getscopeid.3 b/lib/libc/net/inet6_getscopeid.3 new file mode 100644 index 000000000..4195019c6 --- /dev/null +++ b/lib/libc/net/inet6_getscopeid.3 @@ -0,0 +1,100 @@ +.\" $NetBSD: inet6_getscopeid.3,v 1.3 2013/10/31 00:30:14 wiz Exp $ +.\"- +.\" Copyright (c) 2013 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +.\" +.\" +.Dd October 31, 2013 +.Dt INET6_GETSCOPEID 3 +.Os +.\" +.Sh NAME +.Nm inet6_getscopeid , +.Nm inet6_putscopeid +.Nd IPv6 scope id encoding and decoding functions +.\" +.Sh SYNOPSIS +.In netinet/in.h +.Ft void +.Fn inet6_getscopeid "struct sockaddr_in6 *sin6" "int flags" +.Ft void +.Fn inet6_putscopeid "struct sockaddr_in6 *sin6" "int flags" +.\" +.Sh DESCRIPTION +These functions implement a KAME-specific extension that encodes and +decodes the scope id inside in the 3rd and 4th byte of the address, +for link-local, site-local, and multicast-link-local addresses. +The scope id helps deciding which interface is used for packets of +that type. +.Pp +Typically those two bytes are +.Dv 0 +for these kinds of addresses. +The scope id is stored in network byte order. +.Pp +The +.Fn inet6_getscopeid +function retrieves the scope id from the 3rd and the 4th address bytes +(from the +.Va sin6_addr +member of +.Fa sin6 ) , +and sets the +.Ft sin6_scope_id +from them. +It then clears the two address bytes. +.Pp +The +.Fn inet6putscopeid +function stores the scope id found in +.Ft sin6_scope_id +into the 3rd and 4th byte of the address +(into the +.Va sin6_addr +member of +.Fa sin6 ) . +It then clears the +.Va sin6_scope_id +member of +.Fa sin6 . +.Pp +The +.Fa flags +argument controls for which addresses this action is performed. +It +can be a combination of: +.Bl -bullet +.It +.Dv INET6_IS_ADDR_LINKLOCAL +.It +.Dv INET6_IS_ADDR_MC_LINKLOCAL +.It +.Dv INET6_IS_ADDR_SITELOCAL +.El +.Sh HISTORY +These functions first appeared in +.Nx 7.0 . diff --git a/lib/libc/net/inet6_scopeid.c b/lib/libc/net/inet6_scopeid.c new file mode 100644 index 000000000..8369af0a4 --- /dev/null +++ b/lib/libc/net/inet6_scopeid.c @@ -0,0 +1,79 @@ +/*- + * Copyright (c) 2003 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +__RCSID("$NetBSD: inet6_scopeid.c,v 1.2 2013/10/19 15:47:02 christos Exp $"); + +#include +#include +#include +#include +#include + +/* KAME idiosyncrasy */ +void +inet6_getscopeid(struct sockaddr_in6 *sin6, int flags) +{ +#if defined(__KAME__) + if ((IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr) && + (flags & INET6_IS_ADDR_LINKLOCAL)) || + (IN6_IS_ADDR_MC_LINKLOCAL(&sin6->sin6_addr) && + (flags & INET6_IS_ADDR_MC_LINKLOCAL)) || + (IN6_IS_ADDR_SITELOCAL(&sin6->sin6_addr) && + (flags & INET6_IS_ADDR_SITELOCAL))) { + uint16_t scope; + memcpy(&scope, &sin6->sin6_addr.s6_addr[2], sizeof(scope)); + sin6->sin6_scope_id = ntohs(scope); + sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0; + } +#endif +} + +void +inet6_putscopeid(struct sockaddr_in6 *sin6, int flags) +{ +#if defined(__KAME__) + if ((IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr) && + (flags & INET6_IS_ADDR_LINKLOCAL)) || + (IN6_IS_ADDR_MC_LINKLOCAL(&sin6->sin6_addr) && + (flags & INET6_IS_ADDR_MC_LINKLOCAL)) || + (IN6_IS_ADDR_SITELOCAL(&sin6->sin6_addr) && + (flags & INET6_IS_ADDR_SITELOCAL))) { + uint16_t scope = htons(sin6->sin6_scope_id); + memcpy(&sin6->sin6_addr.s6_addr[2], &scope, sizeof(scope)); + sin6->sin6_scope_id = 0; + } +#endif +} diff --git a/lib/libc/net/iso_addr.3 b/lib/libc/net/iso_addr.3 deleted file mode 100644 index d8cd18538..000000000 --- a/lib/libc/net/iso_addr.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" $NetBSD: iso_addr.3,v 1.9 2009/04/11 15:32:03 joerg Exp $ -.\" -.\" Copyright (c) 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)iso_addr.3 8.1 (Berkeley) 6/4/93 -.\" -.Dd June 4, 1993 -.Dt ISO_ADDR 3 -.Os -.Sh NAME -.Nm iso_addr , -.Nm iso_ntoa -.Nd elementary network address conversion routines for Open System Interconnection -.Sh LIBRARY -.Lb libc -.Sh SYNOPSIS -.In sys/types.h -.In netiso/iso.h -.Ft struct iso_addr * -.Fn iso_addr "const char *cp" -.Ft char * -.Fn iso_ntoa "struct iso_addr *isoa" -.Sh DESCRIPTION -The routine -.Fn iso_addr -interprets character strings representing -.Tn OSI -addresses, returning binary information suitable -for use in system calls. -The routine -.Fn iso_ntoa -takes -.Tn OSI -addresses and returns -.Tn ASCII -strings representing NSAPs (network service -access points) in a -notation inverse to that accepted by -.Fn iso_addr . -.Pp -Unfortunately, no universal standard exists for representing -.Tn OSI -network addresses. -.Pp -The format employed by -.Fn iso_addr -is a sequence of hexadecimal -.Dq digits -(optionally separated by periods), -of the form: -.Bd -filled -offset indent -\*[Lt]hex digits\*[Gt].\*[Lt]hex digits\*[Gt].\*[Lt]hex digits\*[Gt] -.Ed -.Pp -Each pair of hexadecimal digits represents a byte -with the leading digit indicating the higher-ordered bits. -A period following an even number of bytes has no -effect (but may be used to increase legibility). -A period following an odd number of bytes has the -effect of causing the byte of address being translated -to have its higher order bits filled with zeros. -.Sh RETURN VALUES -.Fn iso_ntoa -always returns a null terminated string. -.Fn iso_addr -always returns a pointer to a struct iso_addr. -(See -.Sx BUGS . ) -.Sh SEE ALSO -.Xr iso 4 -.Sh HISTORY -The -.Fn iso_addr -and -.Fn iso_ntoa -functions appeared in -.Bx 4.3 Reno . -.Sh BUGS -The returned values -reside in a static memory area. -.Pp -The function -.Fn iso_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. diff --git a/lib/libc/net/iso_addr.c b/lib/libc/net/iso_addr.c index db6c94c05..24ecbcd9e 100644 --- a/lib/libc/net/iso_addr.c +++ b/lib/libc/net/iso_addr.c @@ -1,4 +1,4 @@ -/* $NetBSD: iso_addr.c,v 1.14 2012/03/20 17:44:18 matt Exp $ */ +/* $NetBSD: iso_addr.c,v 1.15 2013/03/01 18:25:16 joerg Exp $ */ /* * Copyright (c) 1989, 1993 @@ -34,16 +34,25 @@ #if 0 static char sccsid[] = "@(#)iso_addr.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: iso_addr.c,v 1.14 2012/03/20 17:44:18 matt Exp $"); +__RCSID("$NetBSD: iso_addr.c,v 1.15 2013/03/01 18:25:16 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ #include -#include #include #include +struct iso_addr { + uint8_t isoa_len; /* length (in bytes) */ + char isoa_genaddr[20]; /* general opaque address */ +}; + +__BEGIN_DECLS +struct iso_addr *iso_addr(const char *); +char *iso_ntoa(const struct iso_addr *); +__END_DECLS + /* States*/ #define VIRGIN 0 #define GOTONE 1 diff --git a/lib/libc/net/rcmd.c b/lib/libc/net/rcmd.c index c0114f304..74904c30e 100644 --- a/lib/libc/net/rcmd.c +++ b/lib/libc/net/rcmd.c @@ -48,9 +48,9 @@ __RCSID("$NetBSD: rcmd.c,v 1.68 2012/07/14 15:06:26 darrenr Exp $"); #include #include -#ifndef __minix +#if !defined(__minix) #include -#endif +#endif /* !defined(__minix) */ #include #include @@ -196,11 +196,11 @@ resrcmd(struct addrinfo *res, char **ahost, u_int32_t rport, struct addrinfo *r; struct sockaddr_storage from; struct pollfd reads[2]; -#ifdef __minix +#if defined(__minix) /* No support for OOB data in Minix. */ #else sigset_t nmask, omask; -#endif /* !__minix */ +#endif /* defined(__minix) */ pid_t pid; int s, lport, timo; int pollr; @@ -217,14 +217,14 @@ resrcmd(struct addrinfo *res, char **ahost, u_int32_t rport, r = res; refused = 0; pid = getpid(); -#ifndef __minix +#if !defined(__minix) /* Minix has no support for OOB data, no need to block SIGURG. */ sigemptyset(&nmask); sigaddset(&nmask, SIGURG); if (sigprocmask(SIG_BLOCK, &nmask, &omask) == -1) return -1; -#endif /* !__minix */ +#endif /* !defined(__minix) */ for (timo = 1, lport = IPPORT_RESERVED - 1;;) { s = rresvport_af(&lport, r->ai_family); if (s < 0) { @@ -236,16 +236,16 @@ resrcmd(struct addrinfo *res, char **ahost, u_int32_t rport, r = r->ai_next; continue; } else { -#ifndef __minix +#if !defined(__minix) (void)sigprocmask(SIG_SETMASK, &omask, NULL); -#endif /* !__minix */ +#endif /* !defined(__minix) */ return -1; } } -#ifndef __minix +#if !defined(__minix) /* No OOB support in Minix. */ fcntl(s, F_SETOWN, pid); -#endif /* !__minix */ +#endif /* !defined(__minix) */ if (connect(s, r->ai_addr, r->ai_addrlen) >= 0) break; (void)close(s); @@ -284,10 +284,10 @@ resrcmd(struct addrinfo *res, char **ahost, u_int32_t rport, } (void)fprintf(stderr, "%s: %s\n", res->ai_canonname, strerror(errno)); -#ifndef __minix +#if !defined(__minix) /* No OOB support in Minix. */ (void)sigprocmask(SIG_SETMASK, &omask, NULL); -#endif /* !__minix */ +#endif /* !defined(__minix) */ return -1; } lport--; @@ -367,18 +367,18 @@ resrcmd(struct addrinfo *res, char **ahost, u_int32_t rport, } goto bad2; } -#ifndef __minix +#if !defined(__minix) (void)sigprocmask(SIG_SETMASK, &omask, NULL); -#endif /* __minix */ +#endif /* !defined(__minix) */ return s; bad2: if (lport) (void)close(*fd2p); bad: (void)close(s); -#ifndef __minix +#if !defined(__minix) (void)sigprocmask(SIG_SETMASK, &omask, NULL); -#endif /* __minix */ +#endif /* !defined(__minix) */ return -1; } diff --git a/lib/libc/net/resolver.3 b/lib/libc/net/resolver.3 index e9570040f..2e7821e99 100644 --- a/lib/libc/net/resolver.3 +++ b/lib/libc/net/resolver.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: resolver.3,v 1.23 2009/10/02 06:49:23 cegger Exp $ +.\" $NetBSD: resolver.3,v 1.28 2013/11/14 00:13:41 wiz Exp $ .\" Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") .\" .\" Permission to use, copy, modify, and distribute this software for any @@ -33,8 +33,8 @@ .\" @(#)resolver.3 6.5 (Berkeley) 6/23/90 .\" Id: resolver.man3,v 1.2 2009/01/21 00:12:34 each Exp .\" -.Dd July 4, 2000 -.Dt RESOLVER 3 +.Dd November 13, 2013 +.Dt RESOLVER 3 .Os .Sh NAME .Nm res_ninit , @@ -74,10 +74,8 @@ .Nd resolver routines .Sh LIBRARY .Lb libc +.Lb libresolv .Sh SYNOPSIS -.In sys/types.h -.In netinet/in.h -.In arpa/nameser.h .In resolv.h .In res_update.h .Vt typedef struct __res_state *res_state ; @@ -210,7 +208,7 @@ kept in the structure rather than that referenced through .Ft statp . .Pp -Most of the values in +Most of the values in .Ft statp and .Ft _res @@ -227,7 +225,7 @@ stored in are defined in .Pa resolv.h and are as follows. -Options are stored as a simple bit mask containing the bitwise +Options are stored as a simple bit mask containing the bitwise .Dq OR of the options enabled. .Bl -tag -width "RES_USE_INET6" @@ -247,8 +245,8 @@ Currently this is not implemented. .It Dv RES_USEVC Use TCP connections for queries instead of UDP datagrams. .It Dv RES_STAYOPEN -Used with -.Dv RES_USEVC +Used with +.Dv RES_USEVC to keep the TCP connection open between queries. This is useful only in programs that regularly do many queries. UDP should be the normal mode used. @@ -296,8 +294,8 @@ DNS query packets with EDNS0 extension is not compatible with non-EDNS0 DNS servers. .It Dv RES_NOALIASES This option turns off the user level aliasing feature controlled by -the -.Ev HOSTALIASES +the +.Ev HOSTALIASES environment variable. Network daemons should set this option. .It Dv RES_ROTATE @@ -340,16 +338,17 @@ the Internet address of the local name server(s). If no server is configured, the host running the resolver is tried. The current domain name is defined by the hostname if not specified in the configuration file; -it can be overridden by the environment variable +it can be overridden by the environment variable .Ev LOCALDOMAIN . This environment variable may contain several blank-separated tokens if you wish to override the .Fa search list -on a per-process basis. This is similar to the +on a per-process basis. +This is similar to the .Fa search command in the configuration file. -Another environment variable -.Ev RES_OPTIONS +Another environment variable +.Ev RES_OPTIONS can be set to override certain internal resolver options which are otherwise set by changing fields in the .Ft statp @@ -358,20 +357,40 @@ set by changing fields in the structure or are inherited from the configuration file's .Fa options command. -The syntax of the -.Ev RES_OPTIONS +The syntax of the +.Ev RES_OPTIONS environment variable is explained in .Xr resolv.conf 5 . Initialization normally occurs on the first call to one of the other resolver routines. .Pp +In +.Nx +the initialization code also sets up a +.Xr kqueue 2 +and creates a +.Xr kevent 2 +watching a file descriptor that points to the resolver file. +Every resolver function calls the internal function +.Fn __res_check +which checks for a new +.Xr kevent 2 +related to the +.Xr resolv.conf 5 +file, and reloads the file if necessary. +This does not work if the file is accessed through a symlink and the symlink +changes to point to a different file. +To fix the symlink issue one could add a system call per resolver call to +get the current time, and reload every so often. +This is not done currently, but it is under consideration. +.Pp The memory referred to by .Ft statp must be set to all zeros prior to the first call to .Fn res_ninit . .Fn res_ndestroy should be call to free memory allocated by -.Fn res_ninit +.Fn res_ninit after last use. .Pp The @@ -395,7 +414,7 @@ supplied by the caller. .Fn res_nquery / .Fn res_query -return -1 on error or the length of the answer. +return \-1 on error or the length of the answer. .Pp The .Fn res_nsearch @@ -406,14 +425,14 @@ routines make a query and awaits a response like / .Fn res_query , but in addition, it implements the default and search rules -controlled by the -.Dv RES_DEFNAMES -and -.Dv RES_DNSRCH +controlled by the +.Dv RES_DEFNAMES +and +.Dv RES_DNSRCH options. It returns the length of the first successful reply which is stored in .Ft answer -or -1 on error. +or \-1 on error. .Pp The remaining routines are lower-level routines used by .Fn res_nquery @@ -431,10 +450,10 @@ larger than .Fa buflen . The query type .Fa op -is usually -.Dv QUERY , +is usually +.Dv QUERY , but can be any of the query types defined in -.Pa . +.Aq Pa arpa/nameser.h . The domain name for the query is given by .Fa dname . .Fa newrr @@ -452,13 +471,15 @@ It will call .Fn res_ninit / .Fn res_init -if -.Dv RES_INIT +if +.Dv RES_INIT is not set, send the query to the local name server, and -handle timeouts and retries. Additionally, +handle timeouts and retries. +Additionally, .Fn res_nsendsigned will use TSIG signatures to add authentication to the query and verify the -response. In this case, only one nameserver will be contacted. +response. +In this case, only one nameserver will be contacted. The length of the reply message is returned, or \-1 if there were errors. .Pp .Fn res_nquery @@ -479,13 +500,13 @@ a buffer that bigger that the answer returned by the previous query is recommended. .Pp .Fa answer -MUST be big enough to receive a maximum UDP response from the server or +MUST be big enough to receive a maximum UDP response from the server or parts of the answer will be silently discarded. The default maximum UDP response size is 512 bytes. .Pp The function .Fn res_ourserver_p -returns true when +returns true when .Fa inp is one of the servers in .Fa statp->nsaddr_list @@ -511,7 +532,7 @@ The function .Fn fp_resstat prints out the active flag bits in .Fa statp->options -preceeded by the text ";; res options:" on +preceeded by the text ";; res options:" on .Fa file . .Pp The functions @@ -543,8 +564,9 @@ take a list of ns_updrec .Fa rrecp_in . Identifies the containing zone for each record and groups the records according to containing zone maintaining in zone order then sends and update -request to the servers for these zones. The number of zones updated is -returned or -1 on error. Note that +request to the servers for these zones. +The number of zones updated is returned or \-1 on error. +Note that .Fn res_nupdate will perform TSIG authenticated dynamic update operations if the key is not NULL. @@ -554,7 +576,7 @@ The function discovers the closest enclosing zone cut for a specified domain name, and finds the IP addresses of the zone's master servers. .Pp -The functions +The functions .Fn res_nmkupdate / .Fn res_mkupdate @@ -568,19 +590,19 @@ and construct a UPDATE message in return the length of the constructed message on no error or one of the following error values. .Bl -inset -width "-5" -.It -1 -An error occurred parsing +.It \-1 +An error occurred parsing .Fa rrecp_in . -.It -2 -The buffer +.It \-2 +The buffer .Fa buf was too small. -.It -3 +.It \-3 The first record was not a zone section or there was a section order problem. -The section order is S_ZONE, S_PREREQ and S_UPDATE. -.It -4 +The section order is S_ZONE, S_PREREQ and S_UPDATE. +.It \-4 A number overflow occurred. -.It -5 +.It \-5 Unknown operation or no records. .El .Pp @@ -617,21 +639,23 @@ an array of pointers .Fa dnptrs to previously-compressed names in the current message. The first pointer points to -the beginning of the message and the list ends with +the beginning of the message and the list ends with .Dv NULL . The limit to the array is specified by .Fa lastdnptr . A side effect of .Fn dn_comp is to update the list of pointers for labels inserted into the message -as the name is compressed. If +as the name is compressed. +If .Fa dnptr -is -.Dv NULL , -names are not compressed. If +is +.Dv NULL , +names are not compressed. +If .Fa lastdnptr -is -.Dv NULL , +is +.Dv NULL , the list of labels is not updated. .Pp The @@ -656,21 +680,22 @@ The variables .Ft _res.res_h_errno and external variable .Ft h_errno -is set whenever an error occurs during resolver operation. The following +is set whenever an error occurs during resolver operation. +The following definitions are given in -.Pa : +.Aq Pa netdb.h : .Bd -literal -#define NETDB_INTERNAL -1 +#define NETDB_INTERNAL -1 /* see errno */ -#define NETDB_SUCCESS 0 +#define NETDB_SUCCESS 0 /* no problem */ -#define HOST_NOT_FOUND 1 +#define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found */ -#define TRY_AGAIN 2 +#define TRY_AGAIN 2 /* Non-Authoritative not found, or SERVFAIL */ -#define NO_RECOVERY 3 +#define NO_RECOVERY 3 /* Non-Recoverable: FORMERR, REFUSED, NOTIMP */ -#define NO_DATA 4 +#define NO_DATA 4 /* Valid name, no data for requested type */ .Ed .\" .Pp @@ -688,17 +713,31 @@ definitions are given in .\" value of the .\" .Fa err .\" parameter. +.Pp +The following functions are only in +.Dv libresolv : +.Fn res_findzonecut , +.Fn res_nmkupdate , +.Fn res_nsendsigned , +and +.Fn res_nupdate . +All the rest are in both +.Dv libc +and +.Dv libresolv . .Sh FILES .Bl -tag -width "/etc/resolv.conf " -.It Pa -/etc/resolv.conf +.It Pa /etc/resolv.conf The configuration file, see .Xr resolv.conf 5 . .El .Sh SEE ALSO -.Xr gethostbyname 3 , -.Xr hostname 7 , +.Xr getaddrinfo 3 , +.Xr gethostbyaddr 3 , +.Xr gethostbyname 3 , +.Xr getnameinfo 3 , .Xr resolv.conf 5 , +.Xr hostname 7 , .Xr named 8 .Pp .%T RFC 974 , diff --git a/lib/libc/net/sethostent.c b/lib/libc/net/sethostent.c index c13f51df9..d8b931f1e 100644 --- a/lib/libc/net/sethostent.c +++ b/lib/libc/net/sethostent.c @@ -1,4 +1,4 @@ -/* $NetBSD: sethostent.c,v 1.17 2012/03/20 17:44:18 matt Exp $ */ +/* $NetBSD: sethostent.c,v 1.19 2013/08/27 09:56:12 christos Exp $ */ /* * Copyright (c) 1985, 1993 @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)sethostent.c 8.1 (Berkeley) 6/4/93"; static char rcsid[] = "Id: sethostent.c,v 8.5 1996/09/28 06:51:07 vixie Exp "; #else -__RCSID("$NetBSD: sethostent.c,v 1.17 2012/03/20 17:44:18 matt Exp $"); +__RCSID("$NetBSD: sethostent.c,v 1.19 2013/08/27 09:56:12 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -43,19 +43,27 @@ __RCSID("$NetBSD: sethostent.c,v 1.17 2012/03/20 17:44:18 matt Exp $"); #include #include #include +#include +#include +#include +#include #include #include +#include +#include + +#include "hostent.h" #ifdef __weak_alias __weak_alias(sethostent,_sethostent) __weak_alias(endhostent,_endhostent) #endif -void _endhtent(void); #ifndef _REENTRANT void res_close(void); #endif -void _sethtent(int); + +static struct hostent *_hf_gethtbyname2(const char *, int, struct getnamaddr *); void /*ARGSUSED*/ @@ -67,7 +75,7 @@ sethostent(int stayopen) if (stayopen) _res.options |= RES_STAYOPEN | RES_USEVC; #endif - _sethtent(stayopen); + sethostent_r(&_h_file); } void @@ -77,5 +85,205 @@ endhostent(void) _res.options &= ~(RES_STAYOPEN | RES_USEVC); res_close(); #endif - _endhtent(); + endhostent_r(&_h_file); +} +static const char *_h_hosts = _PATH_HOSTS; + +void +_hf_sethostsfile(const char *f) { + _h_hosts = f; +} + +void +sethostent_r(FILE **hf) +{ + if (!*hf) + *hf = fopen(_h_hosts, "re"); + else + rewind(*hf); +} + +void +endhostent_r(FILE **hf) +{ + if (*hf) { + (void)fclose(*hf); + *hf = NULL; + } +} + +/*ARGSUSED*/ +int +_hf_gethtbyname(void *rv, void *cb_data, va_list ap) +{ + struct hostent *hp; + const char *name; + int af; + struct getnamaddr *info = rv; + + _DIAGASSERT(rv != NULL); + + name = va_arg(ap, char *); + /* NOSTRICT skip string len */(void)va_arg(ap, int); + af = va_arg(ap, int); + +#if 0 + { + res_state res = __res_get_state(); + if (res == NULL) + return NS_NOTFOUND; + if (res->options & RES_USE_INET6) + hp = _hf_gethtbyname2(name, AF_INET6, info); + else + hp = NULL; + if (hp == NULL) + hp = _hf_gethtbyname2(name, AF_INET, info); + __res_put_state(res); + } +#else + hp = _hf_gethtbyname2(name, af, info); +#endif + if (hp == NULL) { + *info->he = HOST_NOT_FOUND; + return NS_NOTFOUND; + } + return NS_SUCCESS; +} + +struct hostent * +_hf_gethtbyname2(const char *name, int af, struct getnamaddr *info) +{ + struct hostent *hp, hent; + char *buf, *ptr; + size_t len, anum, num, i; + FILE *hf; + char *aliases[MAXALIASES]; + char *addr_ptrs[MAXADDRS]; + + _DIAGASSERT(name != NULL); + + hf = NULL; + sethostent_r(&hf); + if (hf == NULL) { + errno = EINVAL; + *info->he = NETDB_INTERNAL; + return NULL; + } + + if ((ptr = buf = malloc(len = info->buflen)) == NULL) { + *info->he = NETDB_INTERNAL; + return NULL; + } + + anum = 0; /* XXX: gcc */ + hent.h_name = NULL; /* XXX: gcc */ + hent.h_addrtype = 0; /* XXX: gcc */ + hent.h_length = 0; /* XXX: gcc */ + + for (num = 0; num < MAXADDRS;) { + info->hp->h_addrtype = af; + info->hp->h_length = 0; + + hp = gethostent_r(hf, info->hp, info->buf, info->buflen, + info->he); + if (hp == NULL) + break; + + if (strcasecmp(hp->h_name, name) != 0) { + char **cp; + for (cp = hp->h_aliases; *cp != NULL; cp++) + if (strcasecmp(*cp, name) == 0) + break; + if (*cp == NULL) continue; + } + + if (num == 0) { + hent.h_addrtype = af = hp->h_addrtype; + hent.h_length = hp->h_length; + + HENT_SCOPY(hent.h_name, hp->h_name, ptr, len); + for (anum = 0; hp->h_aliases[anum]; anum++) { + if (anum >= __arraycount(aliases)) + goto nospc; + HENT_SCOPY(aliases[anum], hp->h_aliases[anum], + ptr, len); + } + ptr = (void *)ALIGN(ptr); + if ((size_t)(ptr - buf) >= info->buflen) + goto nospc; + } + + if (num >= __arraycount(addr_ptrs)) + goto nospc; + HENT_COPY(addr_ptrs[num], hp->h_addr_list[0], hp->h_length, ptr, + len); + num++; + } + endhostent_r(&hf); + + if (num == 0) { + *info->he = HOST_NOT_FOUND; + return NULL; + } + + hp = info->hp; + ptr = info->buf; + len = info->buflen; + + hp->h_addrtype = hent.h_addrtype; + hp->h_length = hent.h_length; + + HENT_ARRAY(hp->h_aliases, anum, ptr, len); + HENT_ARRAY(hp->h_addr_list, num, ptr, len); + + for (i = 0; i < num; i++) + HENT_COPY(hp->h_addr_list[i], addr_ptrs[i], hp->h_length, ptr, + len); + hp->h_addr_list[num] = NULL; + + HENT_SCOPY(hp->h_name, hent.h_name, ptr, len); + + for (i = 0; i < anum; i++) + HENT_SCOPY(hp->h_aliases[i], aliases[i], ptr, len); + hp->h_aliases[anum] = NULL; + + return hp; +nospc: + *info->he = NETDB_INTERNAL; + errno = ENOSPC; + return NULL; +} + +/*ARGSUSED*/ +int +_hf_gethtbyaddr(void *rv, void *cb_data, va_list ap) +{ + struct hostent *hp; + const unsigned char *addr; + struct getnamaddr *info = rv; + FILE *hf; + + _DIAGASSERT(rv != NULL); + + addr = va_arg(ap, unsigned char *); + info->hp->h_length = va_arg(ap, int); + info->hp->h_addrtype = va_arg(ap, int); + + hf = NULL; + sethostent_r(&hf); + if (hf == NULL) { + *info->he = NETDB_INTERNAL; + return NS_UNAVAIL; + } + while ((hp = gethostent_r(hf, info->hp, info->buf, info->buflen, + info->he)) != NULL) + if (!memcmp(hp->h_addr_list[0], addr, (size_t)hp->h_length)) + break; + endhostent_r(&hf); + + if (hp == NULL) { + *info->he = HOST_NOT_FOUND; + return NS_NOTFOUND; + } + return NS_SUCCESS; } diff --git a/lib/libc/nls/Makefile.inc b/lib/libc/nls/Makefile.inc index bd74df7bc..a505851a6 100644 --- a/lib/libc/nls/Makefile.inc +++ b/lib/libc/nls/Makefile.inc @@ -1,12 +1,9 @@ -# $NetBSD: Makefile.inc,v 1.11 2012/01/20 16:31:30 joerg Exp $ +# $NetBSD: Makefile.inc,v 1.12 2013/08/19 08:03:34 joerg Exp $ .PATH: ${.CURDIR}/nls SRCS+= catclose.c catgets.c catopen.c MAN+= catclose.3 catgets.3 catopen.3 -# indirect reference stubs, to be removed soon. -SRCS+= _catclose.c _catgets.c _catopen.c - CPPFLAGS.catopen.c+= -I${LIBCDIR}/citrus diff --git a/lib/libc/nls/_catclose.c b/lib/libc/nls/_catclose.c deleted file mode 100644 index 97398c732..000000000 --- a/lib/libc/nls/_catclose.c +++ /dev/null @@ -1,26 +0,0 @@ -/* $NetBSD: _catclose.c,v 1.7 2005/09/13 01:44:09 christos Exp $ */ - -/* - * Written by J.T. Conklin, 10/05/94 - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _catclose.c,v 1.7 2005/09/13 01:44:09 christos Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#if defined(__indr_reference) -__indr_reference(_catclose, catclose) -#else - -#include -int _catclose(nl_catd); - -int -catclose(nl_catd catd) -{ - return _catclose(catd); -} - -#endif diff --git a/lib/libc/nls/_catgets.c b/lib/libc/nls/_catgets.c deleted file mode 100644 index ea506e75d..000000000 --- a/lib/libc/nls/_catgets.c +++ /dev/null @@ -1,26 +0,0 @@ -/* $NetBSD: _catgets.c,v 1.8 2005/09/13 01:44:10 christos Exp $ */ - -/* - * Written by J.T. Conklin, 10/05/94 - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _catgets.c,v 1.8 2005/09/13 01:44:10 christos Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#if defined(__indr_reference) -__indr_reference(_catgets, catgets) -#else - -#include -char *_catgets(nl_catd, int, int, const char *); - -char * -catgets(nl_catd catd, int set_id, int msg_id, const char *s) -{ - return _catgets(catd, set_id, msg_id, s); -} - -#endif diff --git a/lib/libc/nls/_catopen.c b/lib/libc/nls/_catopen.c deleted file mode 100644 index 440a8aa9a..000000000 --- a/lib/libc/nls/_catopen.c +++ /dev/null @@ -1,26 +0,0 @@ -/* $NetBSD: _catopen.c,v 1.7 2005/09/13 01:44:10 christos Exp $ */ - -/* - * Written by J.T. Conklin, 10/05/94 - * Public domain. - */ - -#include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _catopen.c,v 1.7 2005/09/13 01:44:10 christos Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#if defined(__indr_reference) -__indr_reference(_catopen, catopen) -#else - -#include -nl_catd _catopen(__const char *, int); - -nl_catd -catopen(__const char *name, int oflag) -{ - return _catopen(name, oflag); -} - -#endif diff --git a/lib/libc/nls/catclose.c b/lib/libc/nls/catclose.c index f9e2a341c..760b0d0c7 100644 --- a/lib/libc/nls/catclose.c +++ b/lib/libc/nls/catclose.c @@ -56,11 +56,7 @@ _catclose(nl_catd catd) } if (catd) { -#ifdef __minix - free(catd->__data); -#else munmap(catd->__data, (size_t)catd->__size); -#endif free (catd); } diff --git a/lib/libc/nls/catopen.c b/lib/libc/nls/catopen.c index 839ba28ee..eb81b1aec 100644 --- a/lib/libc/nls/catopen.c +++ b/lib/libc/nls/catopen.c @@ -1,4 +1,4 @@ -/* $NetBSD: catopen.c,v 1.31 2012/07/30 23:02:41 yamt Exp $ */ +/* $NetBSD: catopen.c,v 1.32 2013/08/19 08:03:34 joerg Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -30,11 +30,10 @@ */ #include -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: catopen.c,v 1.31 2012/07/30 23:02:41 yamt Exp $"); -#endif /* LIBC_SCCS and not lint */ +__RCSID("$NetBSD: catopen.c,v 1.32 2013/08/19 08:03:34 joerg Exp $"); #define _NLS_PRIVATE +#define __SETLOCALE_SOURCE__ #include "namespace.h" #include @@ -55,20 +54,31 @@ __RCSID("$NetBSD: catopen.c,v 1.31 2012/07/30 23:02:41 yamt Exp $"); #include "citrus_region.h" #include "citrus_lookup.h" #include "citrus_aliasname_local.h" +#include "setlocale_local.h" #define NLS_ALIAS_DB "/usr/share/nls/nls.alias" #define NLS_DEFAULT_PATH "/usr/share/nls/%L/%N.cat:/usr/share/nls/%N/%L" #define NLS_DEFAULT_LANG "C" -#ifdef __weak_alias +#if defined(__minix) && !defined(MAP_SHARED) +#define MAP_SHARED MAP_PRIVATE /* LSC: We lose some memory, but it's OK as this is RO. */ +#endif /* defined(__minix) && !defined(MAP_SHARED) */ + __weak_alias(catopen, _catopen) -#endif +__weak_alias(catopen_l, _catopen_l) static nl_catd load_msgcat(const char *); nl_catd -_catopen(const char *name, int oflag) +catopen(const char *name, int oflag) +{ + + return catopen_l(name, oflag, _current_locale()); +} + +nl_catd +catopen_l(const char *name, int oflag, locale_t loc) { char tmppath[PATH_MAX+1]; const char *nlspath; @@ -88,11 +98,11 @@ _catopen(const char *name, int oflag) if (issetugid() || (nlspath = getenv("NLSPATH")) == NULL) nlspath = NLS_DEFAULT_PATH; /* - * histrical note: + * Historical note: * http://www.hauN.org/ml/b-l-j/a/800/828.html (in japanese) */ if (oflag == NL_CAT_LOCALE) { - lang = setlocale(LC_MESSAGES, NULL); + lang = loc->part_name[LC_MESSAGES]; } else { lang = getenv("LANG"); } @@ -165,18 +175,6 @@ load_msgcat(const char *path) return (nl_catd)-1; } -#ifdef __minix - if(!(data = malloc((size_t)st.st_size))) { - return (nl_catd)-1; - } - - if (read(fd, data, st.st_size) != st.st_size) - { - free(data); - return (nl_catd)-1; - } - close (fd); -#else /* !__minix */ data = mmap(0, (size_t)st.st_size, PROT_READ, MAP_FILE|MAP_SHARED, fd, (off_t)0); close (fd); @@ -184,24 +182,15 @@ load_msgcat(const char *path) if (data == MAP_FAILED) { return (nl_catd)-1; } -#endif /* __minix */ if (ntohl((u_int32_t)((struct _nls_cat_hdr *)data)->__magic) != _NLS_MAGIC) { -#ifdef __minix - free(data); -#else munmap(data, (size_t)st.st_size); -#endif return (nl_catd)-1; } if ((catd = malloc(sizeof (*catd))) == NULL) { -#ifdef __minix - free(data); -#else munmap(data, (size_t)st.st_size); -#endif return (nl_catd)-1; } diff --git a/lib/libc/quad/Makefile.inc b/lib/libc/quad/Makefile.inc index 9ee8cd195..1652b3f6d 100644 --- a/lib/libc/quad/Makefile.inc +++ b/lib/libc/quad/Makefile.inc @@ -1,18 +1,30 @@ -# $NetBSD: Makefile.inc,v 1.14 2012/08/06 08:17:58 matt Exp $ +# $NetBSD: Makefile.inc,v 1.17 2013/08/24 00:51:48 matt Exp $ # @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 # Quad support -SRCS.quad= cmpdi2.c divdi3.c fixdfdi.c fixsfdi.c fixunsdfdi.c \ - fixunssfdi.c floatdidf.c floatdisf.c floatundisf.c floatundidf.c \ - moddi3.c muldi3.c negdi2.c qdivrem.c \ - ucmpdi2.c udivdi3.c umoddi3.c +SRCS.quad= cmpdi2.c ucmpdi2.c +SRCS.quad+= divdi3.c moddi3.c +.if empty(LIBC_MACHINE_ARCH:Mearm*) +SRCS.quad+= fixdfdi.c fixsfdi.c +SRCS.quad+= fixunsdfdi.c fixunssfdi.c +SRCS.quad+= floatdidf.c floatdisf.c +SRCS.quad+= floatundidf.c floatundisf.c +.endif +SRCS.quad+= muldi3.c +SRCS.quad+= negdi2.c +SRCS.quad+= qdivrem.c +SRCS.quad+= udivdi3.c umoddi3.c .if (${MACHINE_ARCH} == "m68k") SRCS.quad+= ashldi3.S ashrdi3.S lshrdi3.S .elif (${MACHINE_ARCH} == "m68000") SRCS.quad+= ashldi3.S lshrdi3.S -.elif (${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmeb") -SRCS.quad+= ashrdi3.c lshldi3.c lshrdi3.c +.elif !empty(LIBC_MACHINE_ARCH:Mearm*) +SRCS.quad+= ashldi3.c ashrdi3.c lshrdi3.c lshldi3.c +SRCS.quad+= floatdidf_ieee754.c floatdisf_ieee754.c +SRCS.quad+= floatundidf_ieee754.c floatundisf_ieee754.c +SRCS.quad+= fixdfdi_ieee754.c fixsfdi_ieee754.c +SRCS.quad+= fixunsdfdi_ieee754.c fixunssfdi_ieee754.c .else SRCS.quad+= ashldi3.c ashrdi3.c lshrdi3.c .endif diff --git a/lib/libc/quad/fixdfdi.c b/lib/libc/quad/fixdfdi.c index bcb3c1707..b45f4a80b 100644 --- a/lib/libc/quad/fixdfdi.c +++ b/lib/libc/quad/fixdfdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixdfdi.c,v 1.6 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: fixdfdi.c,v 1.7 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)fixdfdi.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: fixdfdi.c,v 1.6 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: fixdfdi.c,v 1.7 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/stdio/snprintf.c b/lib/libc/quad/fixdfdi_ieee754.c similarity index 57% rename from lib/libc/stdio/snprintf.c rename to lib/libc/quad/fixdfdi_ieee754.c index e31cbbbe5..9fc89c3ff 100644 --- a/lib/libc/stdio/snprintf.c +++ b/lib/libc/quad/fixdfdi_ieee754.c @@ -1,11 +1,12 @@ -/* $NetBSD: snprintf.c,v 1.24 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: fixdfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $ */ /*- - * Copyright (c) 1990, 1993 + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * - * This code is derived from software contributed to Berkeley by - * Chris Torek. + * This software was developed by the Computer Systems Engineering group + * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and + * contributed to Berkeley. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -34,62 +35,48 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -#if 0 -static char sccsid[] = "@(#)snprintf.c 8.1 (Berkeley) 6/4/93"; -#else -__RCSID("$NetBSD: snprintf.c,v 1.24 2012/03/15 18:22:30 christos Exp $"); -#endif +__RCSID("$NetBSD: fixdfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $"); #endif /* LIBC_SCCS and not lint */ -#include "namespace.h" - -#include -#include -#include -#include - -#include "reentrant.h" -#include "local.h" - -#if defined(_FORTIFY_SOURCE) && !defined(__lint__) -#undef snprintf -#define snprintf _snprintf +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" #endif -#ifdef __weak_alias -__weak_alias(snprintf,_snprintf) -#endif +#include "quad.h" +#include +#include +#include -int -snprintf(char *str, size_t n, char const *fmt, ...) +/* + * Convert double to signed quad. + * Not sure what to do with negative numbers---for now, anything out + * of range becomes UQUAD_MAX. + */ +quad_t +__fixdfdi(double x) { - int ret; - va_list ap; - FILE f; - struct __sfileext fext; - unsigned char dummy[1]; + const union ieee_double_u ux = { .dblu_d = x }; + signed int exp = ux.dblu_exp - DBL_EXP_BIAS; + const bool neg = ux.dblu_sign; + quad_t r; - _DIAGASSERT(n == 0 || str != NULL); - _DIAGASSERT(fmt != NULL); + if (exp >= 62) + return neg ? QUAD_MIN : QUAD_MAX; - if ((int)n < 0) { - errno = EINVAL; - return -1; + r = 1 << DBL_FRACHBITS; /* implicit bit */ + r |= ux.dblu_frach; + exp -= DBL_FRACHBITS; + if (exp < 0) { + r >>= -exp; + } else if (exp > 0) { + r <<= DBL_FRACLBITS; + r |= ux.dblu_fracl; + exp -= DBL_FRACLBITS; + if (exp < 0) { + r >>= -exp; + } else if (exp > 0) { + r <<= exp; + } } - va_start(ap, fmt); - _FILEEXT_SETUP(&f, &fext); - f._file = -1; - f._flags = __SWR | __SSTR; - if (n == 0) { - f._bf._base = f._p = dummy; - f._bf._size = f._w = 0; - } else { - f._bf._base = f._p = (unsigned char *)str; - _DIAGASSERT(__type_fit(int, n - 1)); - f._bf._size = f._w = (int)(n - 1); - } - ret = __vfprintf_unlocked(&f, fmt, ap); - *f._p = 0; - va_end(ap); - return ret; + return neg ? -r : r; } diff --git a/lib/libc/quad/fixsfdi.c b/lib/libc/quad/fixsfdi.c index 2cb0aa93e..c2647c082 100644 --- a/lib/libc/quad/fixsfdi.c +++ b/lib/libc/quad/fixsfdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixsfdi.c,v 1.5 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: fixsfdi.c,v 1.6 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992 The Regents of the University of California. @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)fixsfdi.c 5.1 (Berkeley) 7/7/92"; #else -__RCSID("$NetBSD: fixsfdi.c,v 1.5 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: fixsfdi.c,v 1.6 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/locale/runetype_misc.h b/lib/libc/quad/fixsfdi_ieee754.c similarity index 56% rename from lib/libc/locale/runetype_misc.h rename to lib/libc/quad/fixsfdi_ieee754.c index 5ab5e6955..9376f8d26 100644 --- a/lib/libc/locale/runetype_misc.h +++ b/lib/libc/quad/fixsfdi_ieee754.c @@ -1,11 +1,12 @@ -/* $NetBSD: runetype_misc.h,v 1.3 2012/01/18 14:22:27 joerg Exp $ */ +/* $NetBSD: fixsfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $ */ /*- - * Copyright (c) 1993 + * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * - * This code is derived from software contributed to Berkeley by - * Paul Borman at Krystal Technologies. + * This software was developed by the Computer Systems Engineering group + * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and + * contributed to Berkeley. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -30,53 +31,45 @@ * 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. - * - * @(#)runetype.h 8.1 (Berkeley) 6/2/93 */ -#ifndef _RUNETYPE_MISC_H_ -#define _RUNETYPE_MISC_H_ +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: fixsfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ -#include -#include "runetype_file.h" - -static __inline int -_runetype_to_ctype(_RuneType bits) -{ - int ret; - - if (bits == (_RuneType)0) - return 0; - ret = 0; - if (bits & _RUNETYPE_U) - ret |= _CTYPE_U; - if (bits & _RUNETYPE_L) - ret |= _CTYPE_L; - if (bits & _RUNETYPE_D) - ret |= _CTYPE_N; - if (bits & _RUNETYPE_S) - ret |= _CTYPE_S; - if (bits & _RUNETYPE_P) - ret |= _CTYPE_P; - if (bits & _RUNETYPE_C) - ret |= _CTYPE_C; - if (bits & _RUNETYPE_X) - ret |= _CTYPE_X; - /* - * TWEAK! _B has been used incorrectly (or with older - * declaration) in ctype.h isprint() macro. - * _B does not mean isblank, it means "isprint && !isgraph". - * the following is okay since isblank() was hardcoded in - * function (i.e. isblank() is inherently locale unfriendly). - */ -#if 1 - if ((bits & (_RUNETYPE_R | _RUNETYPE_G)) == _RUNETYPE_R) - ret |= _CTYPE_B; -#else - if (bits & _RUNETYPE_B) - ret |= _CTYPE_B; +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" #endif - return ret; -} -#endif /* !_RUNETYPE_MISC_H_ */ +#include "quad.h" +#include +#include +#include + +/* + * Convert float to signed quad. + */ +quad_t +__fixsfdi(float x) +{ + const union ieee_single_u ux = { .sngu_f = x }; + signed int exp = ux.sngu_exp - SNG_EXP_BIAS; + const bool neg = ux.sngu_sign; + quad_t r; + + if (exp < 0) + return 0; + if (exp > 62) + return neg ? QUAD_MIN : QUAD_MAX; + + r = 1 << SNG_FRACBITS; /* implicit bit */ + r |= ux.sngu_frac; + exp -= SNG_FRACBITS; + if (exp < 0) { + r >>= -exp; + } else if (exp > 0) { + r <<= exp; + } + return neg ? -r : r; +} diff --git a/lib/libc/quad/fixunsdfdi.c b/lib/libc/quad/fixunsdfdi.c index 8f3819619..60090f0a8 100644 --- a/lib/libc/quad/fixunsdfdi.c +++ b/lib/libc/quad/fixunsdfdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixunsdfdi.c,v 1.10 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: fixunsdfdi.c,v 1.11 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)fixunsdfdi.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: fixunsdfdi.c,v 1.10 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: fixunsdfdi.c,v 1.11 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/quad/fixunsdfdi_ieee754.c b/lib/libc/quad/fixunsdfdi_ieee754.c new file mode 100644 index 000000000..32058c1cd --- /dev/null +++ b/lib/libc/quad/fixunsdfdi_ieee754.c @@ -0,0 +1,85 @@ +/* $NetBSD: fixunsdfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This software was developed by the Computer Systems Engineering group + * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and + * contributed to Berkeley. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: fixunsdfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include "quad.h" +#include +#include + +/* + * Convert double to unsigned quad. + * Not sure what to do with negative numbers---for now, anything out + * of range becomes UQUAD_MAX. + */ +u_quad_t +__fixunsdfdi(double x) +{ + const union ieee_double_u ux = { .dblu_d = x }; + signed int exp = ux.dblu_exp - DBL_EXP_BIAS; + u_quad_t r; + + if (ux.dblu_sign) + return UQUAD_MAX; + if (exp > 63) + return UQUAD_MAX; + if (exp < 0) + return 0; + + r = 1 << DBL_FRACHBITS; /* implicit bit */ + r |= ux.dblu_frach; + exp -= DBL_FRACHBITS; + if (exp == 0) + return r; + if (exp < 0) + return r >> -exp; + + r <<= DBL_FRACLBITS; + r |= ux.dblu_fracl; + exp -= DBL_FRACLBITS; + if (exp == 0) + return r; + if (exp < 0) + return r >> -exp; + + return r << exp; +} diff --git a/lib/libc/quad/fixunssfdi.c b/lib/libc/quad/fixunssfdi.c index c4f29a45e..c7f7942d3 100644 --- a/lib/libc/quad/fixunssfdi.c +++ b/lib/libc/quad/fixunssfdi.c @@ -1,4 +1,4 @@ -/* $NetBSD: fixunssfdi.c,v 1.8 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: fixunssfdi.c,v 1.9 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)fixunssfdi.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: fixunssfdi.c,v 1.8 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: fixunssfdi.c,v 1.9 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/quad/fixunssfdi_ieee754.c b/lib/libc/quad/fixunssfdi_ieee754.c new file mode 100644 index 000000000..180e31e81 --- /dev/null +++ b/lib/libc/quad/fixunssfdi_ieee754.c @@ -0,0 +1,77 @@ +/* $NetBSD: fixunssfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $ */ + +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This software was developed by the Computer Systems Engineering group + * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and + * contributed to Berkeley. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: fixunssfdi_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include "quad.h" +#include +#include + +/* + * Convert float to unsigned quad. + * Not sure what to do with negative numbers---for now, anything out + * of range becomes UQUAD_MAX. + */ +u_quad_t +__fixunssfdi(float x) +{ + const union ieee_single_u ux = { .sngu_f = x }; + signed int exp = ux.sngu_exp - SNG_EXP_BIAS; + u_quad_t r; + + if (ux.sngu_sign) + return UQUAD_MAX; + if (exp > 63) + return UQUAD_MAX; + if (exp < 0) + return 0; + + r = 1 << SNG_FRACBITS; /* implicit bit */ + r |= ux.sngu_frac; + exp -= SNG_FRACBITS; + if (exp == 0) + return r; + if (exp < 0) + return r >> -exp; + + return r << exp; +} diff --git a/lib/libc/quad/floatdidf.c b/lib/libc/quad/floatdidf.c index 1c1278666..967d4b2a5 100644 --- a/lib/libc/quad/floatdidf.c +++ b/lib/libc/quad/floatdidf.c @@ -1,4 +1,4 @@ -/* $NetBSD: floatdidf.c,v 1.9 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: floatdidf.c,v 1.10 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)floatdidf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: floatdidf.c,v 1.9 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: floatdidf.c,v 1.10 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/quad/floatdidf_ieee754.c b/lib/libc/quad/floatdidf_ieee754.c new file mode 100644 index 000000000..8e6895d25 --- /dev/null +++ b/lib/libc/quad/floatdidf_ieee754.c @@ -0,0 +1,75 @@ +/* $NetBSD: floatdidf_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: floatdidf_ieee754.c,v 1.1 2013/08/24 00:51:48 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include +#include +#include "quad.h" + +double __floatdidf(quad_t); + +/* + * Convert signed quad to double. + */ +double +__floatdidf(quad_t x) +{ + union ieee_double_u ux = { .dblu_d = 0.0 }; + + if (x == 0) + return 0.0; + if (x == 1) + return 1.0; + + if (x < 0) { + if (x == QUAD_MIN) + return -0x1.0p63; + ux.dblu_sign = 1; + x = -x; + } + u_int l = __builtin_clzll(x); + x <<= (l + 1); /* clear implicit bit */ + x >>= 64 - (DBL_FRACHBITS + DBL_FRACLBITS); + union uu u = { .uq = x }; + ux.dblu_frach = u.ul[H]; + ux.dblu_fracl = u.ul[L]; + ux.dblu_exp = DBL_EXP_BIAS + 63 - l; + + return ux.dblu_d; +} diff --git a/lib/libc/quad/floatdisf.c b/lib/libc/quad/floatdisf.c index db71f41ac..0a1092b95 100644 --- a/lib/libc/quad/floatdisf.c +++ b/lib/libc/quad/floatdisf.c @@ -1,4 +1,4 @@ -/* $NetBSD: floatdisf.c,v 1.9 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: floatdisf.c,v 1.10 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)floatdisf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: floatdisf.c,v 1.9 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: floatdisf.c,v 1.10 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/quad/floatdisf_ieee754.c b/lib/libc/quad/floatdisf_ieee754.c new file mode 100644 index 000000000..6301fcfe8 --- /dev/null +++ b/lib/libc/quad/floatdisf_ieee754.c @@ -0,0 +1,90 @@ +/* $NetBSD: floatdisf_ieee754.c,v 1.2 2013/08/24 00:51:48 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: floatdisf_ieee754.c,v 1.2 2013/08/24 00:51:48 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include +#include +#include "quad.h" + +float __floatdisf(quad_t); + +/* + * Convert signed quad to float. + */ +float +__floatdisf(quad_t x) +{ + union ieee_single_u ux = { .sngu_f = 0.0 }; + + if (x == 0) + return 0.0; + if (x == 1) + return 1.0; + + if (x < 0) { + if (x == QUAD_MIN) + return -0x1.0p63; + ux.sngu_sign = 1; + x = -x; + } +#if defined(_LP64) || defined(__mips_n32) + u_int l = __builtin_clzll(x); + x <<= (l + 1); /* clear implicit bit */ + + ux.sngu_frac = (u_quad_t)x >> (64 - SNG_FRACBITS); +#else + union uu u = { .uq = x }; + uint32_t frac; + u_int l; + if (u.ul[H] == 0) { + l = __builtin_clz(u.ul[L]); + frac = u.ul[L] << (l + 1); /* clear implicit bit */ + l += 32; + } else { + l = __builtin_clz(u.ul[H]); + frac = u.ul[H] << (l + 1); /* clear implicit bit */ + frac |= u.ul[L] >> (32 - (l + 1)); + } + + ux.sngu_frac = frac >> (32 - SNG_FRACBITS); +#endif + ux.sngu_exp = SNG_EXP_BIAS + 63 - l; + + return ux.sngu_f; +} diff --git a/lib/libc/quad/floatundidf.c b/lib/libc/quad/floatundidf.c index d782527f8..c2df84f0d 100644 --- a/lib/libc/quad/floatundidf.c +++ b/lib/libc/quad/floatundidf.c @@ -1,4 +1,4 @@ -/* $NetBSD: floatundidf.c,v 1.3 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: floatundidf.c,v 1.4 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)floatunsdidf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: floatundidf.c,v 1.3 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: floatundidf.c,v 1.4 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/quad/floatundidf_ieee754.c b/lib/libc/quad/floatundidf_ieee754.c new file mode 100644 index 000000000..171945f5c --- /dev/null +++ b/lib/libc/quad/floatundidf_ieee754.c @@ -0,0 +1,65 @@ +/* $NetBSD: floatundidf_ieee754.c,v 1.2 2013/09/30 19:32:14 mlelstv Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: floatundidf_ieee754.c,v 1.2 2013/09/30 19:32:14 mlelstv Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include +#include +#include "quad.h" + +/* + * Convert unsigned quad to double. + */ +double +__floatundidf(u_quad_t x) +{ + union ieee_double_u ux = { .dblu_d = 0.0 }; + + if (x == 0) + return 0.0; + + u_int l = __builtin_clzll(x); + x <<= (l + 1); /* clear implicit bit */ + x >>= 64 - (DBL_FRACHBITS + DBL_FRACLBITS); + union uu u = { .uq = x }; + ux.dblu_frach = u.ul[H]; + ux.dblu_fracl = u.ul[L]; + ux.dblu_exp = DBL_EXP_BIAS + 63 - l; + + return ux.dblu_d; +} diff --git a/lib/libc/quad/floatundisf.c b/lib/libc/quad/floatundisf.c index 16dd93ff0..a2ad3ea50 100644 --- a/lib/libc/quad/floatundisf.c +++ b/lib/libc/quad/floatundisf.c @@ -1,4 +1,4 @@ -/* $NetBSD: floatundisf.c,v 1.3 2012/08/05 04:28:58 matt Exp $ */ +/* $NetBSD: floatundisf.c,v 1.4 2013/02/03 01:48:53 matt Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -38,11 +38,11 @@ #if 0 static char sccsid[] = "@(#)floatdisf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: floatundisf.c,v 1.3 2012/08/05 04:28:58 matt Exp $"); +__RCSID("$NetBSD: floatundisf.c,v 1.4 2013/02/03 01:48:53 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ -#ifdef SOFTFLOAT +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) #include "softfloat/softfloat-for-gcc.h" #endif diff --git a/lib/libc/quad/floatundisf_ieee754.c b/lib/libc/quad/floatundisf_ieee754.c new file mode 100644 index 000000000..eebbcf807 --- /dev/null +++ b/lib/libc/quad/floatundisf_ieee754.c @@ -0,0 +1,83 @@ +/* $NetBSD: floatundisf_ieee754.c,v 1.2 2013/08/24 00:51:48 matt Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Matt Thomas of 3am Software Foundry. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: floatundisf_ieee754.c,v 1.2 2013/08/24 00:51:48 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#if defined(SOFTFLOAT) || defined(__ARM_EABI__) +#include "softfloat/softfloat-for-gcc.h" +#endif + +#include +#include "quad.h" + +float __floatundisf(u_quad_t); + +/* + * Convert unsigned quad to float. + */ +float +__floatundisf(u_quad_t x) +{ + union ieee_single_u ux = { .sngu_f = 0.0 }; + + if (x == 0) + return 0.0; + if (x == 1) + return 1.0; + +#if defined(_LP64) || defined(__mips_n32) + u_int l = __builtin_clzll(x); + x <<= (l + 1); /* clear implicit bit */ + + ux.sngu_frac = x >> (64 - SNG_FRACBITS); +#else + union uu u = { .uq = x }; + uint32_t frac; + u_int l; + if (u.ul[H] == 0) { + l = __builtin_clz(u.ul[L]); + frac = u.ul[L] << (l + 1); /* clear implicit bit */ + l += 32; + } else { + l = __builtin_clz(u.ul[H]); + frac = u.ul[H] << (l + 1); /* clear implicit bit */ + frac |= u.ul[L] >> (32 - (l + 1)); + } + + ux.sngu_frac = frac >> (32 - SNG_FRACBITS); +#endif + ux.sngu_exp = SNG_EXP_BIAS + 63 - l; + + return ux.sngu_f; +} diff --git a/lib/libc/regex/re_format.7 b/lib/libc/regex/re_format.7 index 2b1ced522..4e793d291 100644 --- a/lib/libc/regex/re_format.7 +++ b/lib/libc/regex/re_format.7 @@ -1,4 +1,4 @@ -.\" $NetBSD: re_format.7,v 1.9 2009/04/21 14:46:02 joerg Exp $ +.\" $NetBSD: re_format.7,v 1.10 2013/01/25 11:51:42 wiz Exp $ .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -83,15 +83,15 @@ and obsolete REs (roughly those of Obsolete REs mostly exist for backward compatibility in some old programs; they will be discussed at the end. 1003.2 leaves some aspects of RE syntax and semantics open; -`\(dg' marks decisions on these aspects that +`#' marks decisions on these aspects that may not be fully portable to other 1003.2 implementations. .Pp -A (modern) RE is one\(dg or more non-empty\(dg +A (modern) RE is one# or more non-empty# .Em branches , separated by `|'. It matches anything that matches one of the branches. .Pp -A branch is one\(dg or more +A branch is one# or more .Em pieces , concatenated. It matches a match for the first, followed by a match for the second, etc. @@ -99,7 +99,7 @@ It matches a match for the first, followed by a match for the second, etc. A piece is an .Em atom possibly followed -by a single\(dg `*', `+', `?', or +by a single# `*', `+', `?', or .Em bound . An atom followed by `*' matches a sequence of 0 or more matches of the atom. An atom followed by `+' matches a sequence of 1 or more matches of the atom. @@ -110,7 +110,7 @@ A is `{' followed by an unsigned decimal integer, possibly followed by `,' possibly followed by another unsigned decimal integer, always followed by `}'. -The integers must lie between 0 and RE_DUP_MAX (255\(dg) inclusive, +The integers must lie between 0 and RE_DUP_MAX (255#) inclusive, and if there are two of them, the first may not exceed the second. An atom followed by a bound containing one integer .Em i @@ -133,19 +133,19 @@ through (inclusive) matches of the atom. .Pp An atom is a regular expression enclosed in `()' (matching a match for the -regular expression), an empty set of `()' (matching the null string)\(dg, a +regular expression), an empty set of `()' (matching the null string)#, a .Em bracket expression (see below), `.' (matching any single character), `^' (matching the null string at the beginning of a line), `$' (matching the null string at the end of a line), a `\e' followed by one of the characters `^.[$()|*+?{\e' (matching that character taken as an ordinary character), -a `\e' followed by any other character\(dg +a `\e' followed by any other character# (matching that character taken as an ordinary character, -as if the `\e' had not been present\(dg), +as if the `\e' had not been present#), or a single character with no other significance (matching that character). A `{' followed by a character other than a digit is an ordinary -character, not the beginning of a bound\(dg. +character, not the beginning of a bound#. It is illegal to end an RE with `\e'. .Pp A @@ -161,7 +161,7 @@ for the full .Em range of characters between those two (inclusive) in the collating sequence, e.g. `[0-9]' in ASCII matches any decimal digit. -It is illegal\(dg for two ranges to share an endpoint, e.g. `a-c-e'. +It is illegal# for two ranges to share an endpoint, e.g. `a-c-e'. Ranges are very collating-sequence-dependent, and portable programs should avoid relying on them. .Pp @@ -194,7 +194,7 @@ of all collating elements equivalent to that one, including itself. the treatment is as if the enclosing delimiters were `[.' and `.]'.) For example, if o and '\(^o' are the members of an equivalence class, then `[[=o=]]', `[[=\(^o'=]]', and `[o\(^o']' are all synonymous. -An equivalence class may not\(dg be an endpoint +An equivalence class may not# be an endpoint of a range. .Pp Within a bracket expression, the name of a @@ -214,7 +214,7 @@ These stand for the character classes defined in A locale may provide others. A character class may not be used as an endpoint of a range. .Pp -There are two special cases\(dg of bracket expressions: +There are two special cases# of bracket expressions: the bracket expressions `[[:\*[Lt]:]]' and `[[:\*[Gt]:]]' match the null string at the beginning and end of a word respectively. A word is defined as a sequence of word characters @@ -260,7 +260,7 @@ When it appears inside a bracket expression, all case counterparts of it are added to the bracket expression, so that (e.g.) `[x]' becomes `[xX]' and `[^x]' becomes `[^xX]'. .Pp -No particular limit is imposed on the length of REs\(dg. +No particular limit is imposed on the length of REs#. Programs intended to be portable should not employ REs longer than 256 bytes, as an implementation can refuse to accept such REs and remain @@ -274,9 +274,9 @@ with `{' and `}' by themselves ordinary characters. The parentheses for nested subexpressions are `\e(' and `\e)', with `(' and `)' by themselves ordinary characters. `^' is an ordinary character except at the beginning of the -RE or\(dg the beginning of a parenthesized subexpression, +RE or# the beginning of a parenthesized subexpression, `$' is an ordinary character except at the end of the -RE or\(dg the end of a parenthesized subexpression, +RE or# the end of a parenthesized subexpression, and `*' is an ordinary character if it appears at the beginning of the RE or the beginning of a parenthesized subexpression (after a possible leading `^'). diff --git a/lib/libc/resolv/Makefile.inc b/lib/libc/resolv/Makefile.inc index 6479cb2af..b1084d9b0 100644 --- a/lib/libc/resolv/Makefile.inc +++ b/lib/libc/resolv/Makefile.inc @@ -3,7 +3,7 @@ # net sources .PATH: ${.CURDIR}/resolv .if defined(__MINIX) -CPPFLAGS+=-DCOMPAT__RES -DNEED_PSELECT +CPPFLAGS+=-DCOMPAT__RES -DUSE_SELECT -DNEED_PSELECT .else CPPFLAGS+=-DCOMPAT__RES -DUSE_POLL .endif diff --git a/lib/libc/resolv/res_comp.c b/lib/libc/resolv/res_comp.c index b7a89b3a5..bc93324f8 100644 --- a/lib/libc/resolv/res_comp.c +++ b/lib/libc/resolv/res_comp.c @@ -97,13 +97,13 @@ __RCSID("$NetBSD: res_comp.c,v 1.12 2012/03/13 21:13:43 christos Exp $"); #ifdef __weak_alias __weak_alias(dn_expand,_dn_expand) __weak_alias(dn_comp,__dn_comp) -#ifdef __minix +#if defined(__minix) __weak_alias(dn_skipname,__dn_skipname) __weak_alias(res_hnok,__res_hnok) __weak_alias(res_ownok,__res_ownok) __weak_alias(res_mailok,__res_mailok) __weak_alias(res_dnok,__res_dnok) -#endif +#endif /* defined(__minix) */ #endif /*% diff --git a/lib/libc/resolv/res_init.c b/lib/libc/resolv/res_init.c index 30bc904f8..42370cc04 100644 --- a/lib/libc/resolv/res_init.c +++ b/lib/libc/resolv/res_init.c @@ -88,9 +88,9 @@ __RCSID("$NetBSD: res_init.c,v 1.26 2012/09/09 18:04:26 christos Exp $"); #include #include #include -#ifndef __minix +#if !defined(__minix) #include -#endif /* !__minix */ +#endif /* !defined(__minix) */ #include #include @@ -350,9 +350,9 @@ __res_vinit(res_state statp, int preinit) { nserv = 0; if ((fp = fopen(_PATH_RESCONF, "re")) != NULL) { struct stat st; -#ifndef __minix +#if !defined(__minix) struct kevent kc; -#endif /* !__minix */ +#endif /* !defined(__minix) */ /* read the config file */ while (fgets(buf, (int)sizeof(buf), fp) != NULL) { @@ -506,15 +506,15 @@ __res_vinit(res_state statp, int preinit) { if (fstat(statp->_u._ext.ext->resfd, &st) != -1) __res_conf_time = statp->_u._ext.ext->res_conf_time = st.st_mtimespec; -#ifndef __minix +#if !defined(__minix) statp->_u._ext.ext->kq = kqueue1(O_CLOEXEC); EV_SET(&kc, statp->_u._ext.ext->resfd, EVFILT_VNODE, EV_ADD|EV_ENABLE|EV_CLEAR, NOTE_DELETE|NOTE_WRITE| NOTE_EXTEND| NOTE_ATTRIB|NOTE_LINK|NOTE_RENAME|NOTE_REVOKE, 0, 0); (void)kevent(statp->_u._ext.ext->kq, &kc, 1, NULL, 0, &ts); -#else /* __minix */ +#else statp->_u._ext.ext->kq = -1; -#endif /* !__minix */ +#endif /* !defined(__minix) */ } else { statp->_u._ext.ext->kq = -1; statp->_u._ext.ext->resfd = -1; @@ -571,12 +571,12 @@ __res_vinit(res_state statp, int preinit) { int res_check(res_state statp, struct timespec *mtime) { -#ifdef __minix +#if defined(__minix) /* * XXX: No update on change. */ return 0; -#else /* !__minix */ +#else /* * If the times are equal, then we check if there * was a kevent related to resolv.conf and reload. @@ -605,7 +605,7 @@ out: if (mtime) *mtime = __res_conf_time; return 1; -#endif /* !__minix */ +#endif /* defined(__minix) */ } static void diff --git a/lib/libc/resolv/res_send.c b/lib/libc/resolv/res_send.c index 8b6fdbfa9..ec45053aa 100644 --- a/lib/libc/resolv/res_send.c +++ b/lib/libc/resolv/res_send.c @@ -1,4 +1,4 @@ -/* $NetBSD: res_send.c,v 1.25 2012/03/21 00:34:54 christos Exp $ */ +/* $NetBSD: res_send.c,v 1.29 2013/02/16 13:45:45 para Exp $ */ /* * Portions Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") @@ -93,7 +93,7 @@ static const char sccsid[] = "@(#)res_send.c 8.1 (Berkeley) 6/4/93"; static const char rcsid[] = "Id: res_send.c,v 1.22 2009/01/22 23:49:23 tbox Exp"; #else -__RCSID("$NetBSD: res_send.c,v 1.25 2012/03/21 00:34:54 christos Exp $"); +__RCSID("$NetBSD: res_send.c,v 1.29 2013/02/16 13:45:45 para Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -104,13 +104,18 @@ __RCSID("$NetBSD: res_send.c,v 1.25 2012/03/21 00:34:54 christos Exp $"); #include "namespace.h" #include "port_before.h" +#ifndef USE_KQUEUE #include "fd_setsize.h" +#endif /* USE_KQUEUE */ #include #include #include #include #include +#ifdef USE_KQUEUE +#include +#endif /* USE_KQUEUE */ #include #include @@ -122,6 +127,7 @@ __RCSID("$NetBSD: res_send.c,v 1.25 2012/03/21 00:34:54 christos Exp $"); #include #include #include +#include #include #include #include @@ -139,6 +145,12 @@ __weak_alias(res_nsend,__res_nsend) #endif #endif +#ifndef SOCK_NOSIGPIPE +#define SOCK_NOSIGPIPE 0 +#endif +#ifndef SOCK_NOCLOEXEC +#define SOCK_NOCLOEXEC 0 +#endif #ifdef USE_POLL #ifdef HAVE_STROPTS_H @@ -156,24 +168,28 @@ __weak_alias(res_nsend,__res_nsend) #define EXT(res) ((res)->_u._ext) -#ifndef USE_POLL +#if !defined(USE_POLL) && !defined(USE_KQUEUE) static const int highestFD = FD_SETSIZE - 1; #endif /* Forward. */ -static int get_salen(const struct sockaddr *); +static socklen_t get_salen(const struct sockaddr *); static struct sockaddr * get_nsaddr(res_state, size_t); -static int send_vc(res_state, const u_char *, int, +static int send_vc(res_state, const void *, size_t, u_char *, int, int *, int); -static int send_dg(res_state, const u_char *, int, +static int send_dg(res_state, +#ifdef USE_KQUEUE + int, +#endif + const void *, size_t, u_char *, int, int *, int, int, int *, int *); static void Aerror(const res_state, FILE *, const char *, int, - const struct sockaddr *, int); + const struct sockaddr *, socklen_t); static void Perror(const res_state, FILE *, const char *, int); static int sock_eq(struct sockaddr *, struct sockaddr *); -#if defined(NEED_PSELECT) && !defined(USE_POLL) +#if defined(NEED_PSELECT) && !defined(USE_POLL) && !defined(USE_KQUEUE) static int pselect(int, void *, void *, void *, struct timespec *, const sigset_t *); @@ -330,6 +346,9 @@ res_nsend(res_state statp, const u_char *buf, int buflen, u_char *ans, int anssiz) { int gotsomewhere, terrno, tries, v_circuit, resplen, ns, n; +#ifdef USE_KQUEUE + int kq; +#endif char abuf[NI_MAXHOST]; (void)res_check(statp, NULL); @@ -349,6 +368,12 @@ res_nsend(res_state statp, gotsomewhere = 0; terrno = ETIMEDOUT; +#ifdef USE_KQUEUE + if ((kq = kqueue1(O_CLOEXEC)) == -1) { + return (-1); + } +#endif + /* * If the ns_addr_list in the resolver context has changed, then * invalidate our cached copy and the associated timing data. @@ -442,7 +467,7 @@ res_nsend(res_state statp, for (tries = 0; tries < statp->retry; tries++) { for (ns = 0; ns < statp->nscount; ns++) { struct sockaddr *nsap; - int nsaplen; + socklen_t nsaplen; nsap = get_nsaddr(statp, (size_t)ns); nsaplen = get_salen(nsap); statp->_flags &= ~RES_F_LASTMASK; @@ -464,6 +489,9 @@ res_nsend(res_state statp, res_nclose(statp); goto next_ns; case res_done: +#ifdef USE_KQUEUE + close(kq); +#endif return (resplen); case res_modified: /* give the hook another try */ @@ -479,7 +507,7 @@ res_nsend(res_state statp, } Dprint(((statp->options & RES_DEBUG) && - getnameinfo(nsap, (socklen_t)nsaplen, abuf, + getnameinfo(nsap, nsaplen, abuf, (socklen_t)sizeof(abuf), NULL, 0, niflags) == 0), (stdout, ";; Querying server (# %d) address = %s\n", ns + 1, abuf)); @@ -488,7 +516,7 @@ res_nsend(res_state statp, if (v_circuit) { /* Use VC; at most one attempt per server. */ tries = statp->retry; - n = send_vc(statp, buf, buflen, ans, anssiz, &terrno, + n = send_vc(statp, buf, (size_t)buflen, ans, anssiz, &terrno, ns); if (n < 0) goto fail; @@ -497,8 +525,12 @@ res_nsend(res_state statp, resplen = n; } else { /* Use datagrams. */ - n = send_dg(statp, buf, buflen, ans, anssiz, &terrno, - ns, tries, &v_circuit, &gotsomewhere); + n = send_dg(statp, +#ifdef USE_KQUEUE + kq, +#endif + buf, (size_t)buflen, ans, anssiz, &terrno, + ns, tries, &v_circuit, &gotsomewhere); if (n < 0) goto fail; if (n == 0) @@ -556,11 +588,17 @@ res_nsend(res_state statp, } while (!done); } +#ifdef USE_KQUEUE + close(kq); +#endif return (resplen); next_ns: ; } /*foreach ns*/ } /*foreach retry*/ res_nclose(statp); +#ifdef USE_KQUEUE + close(kq); +#endif if (!v_circuit) { if (!gotsomewhere) errno = ECONNREFUSED; /*%< no nameservers found */ @@ -571,27 +609,30 @@ res_nsend(res_state statp, return (-1); fail: res_nclose(statp); +#ifdef USE_KQUEUE + close(kq); +#endif return (-1); } /* Private */ -static int +static socklen_t get_salen(const struct sockaddr *sa) { #ifdef HAVE_SA_LEN /* There are people do not set sa_len. Be forgiving to them. */ if (sa->sa_len) - return (sa->sa_len); + return (socklen_t)sa->sa_len; #endif if (sa->sa_family == AF_INET) - return (sizeof(struct sockaddr_in)); + return (socklen_t)sizeof(struct sockaddr_in); else if (sa->sa_family == AF_INET6) - return (sizeof(struct sockaddr_in6)); + return (socklen_t)sizeof(struct sockaddr_in6); else - return (0); /*%< unknown, die on connect */ + return 0; /*%< unknown, die on connect */ } /*% @@ -620,20 +661,20 @@ get_nsaddr(res_state statp, size_t n) static int send_vc(res_state statp, - const u_char *buf, int buflen, u_char *ans, int anssiz, + const void *buf, size_t buflen, u_char *ans, int anssiz, int *terrno, int ns) { const HEADER *hp = (const HEADER *)(const void *)buf; HEADER *anhp = (HEADER *)(void *)ans; struct sockaddr *nsap; - int nsaplen; + socklen_t nsaplen; int truncating, connreset, resplen; ssize_t n; struct iovec iov[2]; u_short len; u_char *cp; void *tmp; -#ifdef SO_NOSIGPIPE +#if defined(SO_NOSIGPIPE) && SOCK_NOSIGPIPE == 0 int on = 1; #endif @@ -661,8 +702,12 @@ send_vc(res_state statp, if (statp->_vcsock >= 0) res_nclose(statp); - statp->_vcsock = socket(nsap->sa_family, SOCK_STREAM, 0); -#ifndef USE_POLL + statp->_vcsock = socket(nsap->sa_family, SOCK_STREAM + | SOCK_NOSIGPIPE | SOCK_CLOEXEC, 0); +#if SOCK_CLOEXEC == 0 + fcntl(statp->_vcsock, F_SETFD, FD_CLOEXEC); +#endif +#if !defined(USE_POLL) && !defined(USE_KQUEUE) if (statp->_vcsock > highestFD) { res_nclose(statp); errno = ENOTSOCK; @@ -683,7 +728,7 @@ send_vc(res_state statp, return (-1); } } -#ifdef SO_NOSIGPIPE +#if defined(SO_NOSIGPIPE) && SOCK_NOSIGPIPE == 0 /* * Disable generation of SIGPIPE when writing to a closed * socket. Write should return -1 and set errno to EPIPE @@ -692,10 +737,10 @@ send_vc(res_state statp, * Push on even if setsockopt(SO_NOSIGPIPE) fails. */ (void)setsockopt(statp->_vcsock, SOL_SOCKET, SO_NOSIGPIPE, &on, - (unsigned int)sizeof(on)); + (socklen_t)sizeof(on)); #endif errno = 0; - if (connect(statp->_vcsock, nsap, (socklen_t)nsaplen) < 0) { + if (connect(statp->_vcsock, nsap, nsaplen) < 0) { *terrno = errno; Aerror(statp, stderr, "connect/vc", errno, nsap, nsaplen); @@ -712,7 +757,7 @@ send_vc(res_state statp, iov[0] = evConsIovec(&len, INT16SZ); DE_CONST(buf, tmp); iov[1] = evConsIovec(tmp, (size_t)buflen); - if (writev(statp->_vcsock, iov, 2) != (INT16SZ + buflen)) { + if (writev(statp->_vcsock, iov, 2) != (ssize_t)(INT16SZ + buflen)) { *terrno = errno; Perror(statp, stderr, "write failed", errno); res_nclose(statp); @@ -820,31 +865,43 @@ send_vc(res_state statp, } static int -send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, +send_dg(res_state statp, +#ifdef USE_KQUEUE + int kq, +#endif + const void *buf, size_t buflen, u_char *ans, int anssiz, int *terrno, int ns, int tries, int *v_circuit, int *gotsomewhere) { const HEADER *hp = (const HEADER *)(const void *)buf; HEADER *anhp = (HEADER *)(void *)ans; const struct sockaddr *nsap; - int nsaplen; + socklen_t nsaplen; struct timespec now, timeout, finish; struct sockaddr_storage from; ISC_SOCKLEN_T fromlen; ssize_t resplen; int seconds, n, s; +#ifdef USE_KQUEUE + struct kevent kv; +#else #ifdef USE_POLL int polltimeout; struct pollfd pollfd; #else fd_set dsmask; +#endif #endif nsap = get_nsaddr(statp, (size_t)ns); nsaplen = get_salen(nsap); if (EXT(statp).nssocks[ns] == -1) { - EXT(statp).nssocks[ns] = socket(nsap->sa_family, SOCK_DGRAM, 0); -#ifndef USE_POLL + EXT(statp).nssocks[ns] = socket(nsap->sa_family, SOCK_DGRAM + | SOCK_CLOEXEC, 0); +#if SOCK_CLOEXEC == 0 + fcntl(EXT(statp)nssocks[ns], F_SETFD, FD_CLOEXEC); +#endif +#if !defined(USE_POLL) && !defined(USE_KQUEUE) if (EXT(statp).nssocks[ns] > highestFD) { res_nclose(statp); errno = ENOTSOCK; @@ -876,8 +933,16 @@ send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, * socket operation, and select returns if the * error message is received. We can thus detect * the absence of a nameserver without timing out. - */ - if (connect(EXT(statp).nssocks[ns], nsap, (socklen_t)nsaplen) < 0) { + * + * When the option "insecure1" is specified, we'd + * rather expect to see responses from an "unknown" + * address. In order to let the kernel accept such + * responses, do not connect the socket here. + * XXX: or do we need an explicit option to disable + * connecting? + */ + if (!(statp->options & RES_INSECURE1) && + connect(EXT(statp).nssocks[ns], nsap, nsaplen) < 0) { Aerror(statp, stderr, "connect(dg)", errno, nsap, nsaplen); res_nclose(statp); @@ -889,13 +954,20 @@ send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, } s = EXT(statp).nssocks[ns]; #ifndef CANNOT_CONNECT_DGRAM - if (send(s, (const char*)buf, (size_t)buflen, 0) != buflen) { + if (statp->options & RES_INSECURE1) { + if (sendto(s, buf, buflen, 0, nsap, nsaplen) != + (ssize_t)buflen) { + Aerror(statp, stderr, "sendto", errno, nsap, nsaplen); + res_nclose(statp); + return (0); + } + } else if (send(s, buf, buflen, 0) != (ssize_t)buflen) { Perror(statp, stderr, "send", errno); res_nclose(statp); return (0); } #else /* !CANNOT_CONNECT_DGRAM */ - if (sendto(s, (const char*)buf, buflen, 0, nsap, nsaplen) != buflen) + if (sendto(s, buf, buflen, 0, nsap, nsaplen) != (ssize_t)buflen) { Aerror(statp, stderr, "sendto", errno, nsap, nsaplen); res_nclose(statp); @@ -919,13 +991,18 @@ send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, now = evNowTime(); nonow: #ifndef USE_POLL - FD_ZERO(&dsmask); - FD_SET(s, &dsmask); if (evCmpTime(finish, now) > 0) timeout = evSubTime(finish, now); else timeout = evConsTime(0L, 0L); +#ifdef USE_KQUEUE + EV_SET(&kv, s, EVFILT_READ, EV_ADD | EV_ONESHOT, 0, 0, 0); + n = kevent(kq, &kv, 1, &kv, 1, &timeout); +#else + FD_ZERO(&dsmask); + FD_SET(s, &dsmask); n = pselect(s + 1, &dsmask, NULL, NULL, &timeout, NULL); +#endif #else timeout = evSubTime(finish, now); if (timeout.tv_sec < 0) @@ -943,16 +1020,23 @@ send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, return (0); } if (n < 0) { +#if defined(USE_POLL) + static const char *fun = "poll"; +#elif defined(USE_SELECT) + static const char *fun = "select"; +#elif defined(USE_KQUEUE) + static const char *fun = "kevent"; +#endif if (errno == EINTR) goto wait; -#ifndef USE_POLL - Perror(statp, stderr, "select", errno); -#else - Perror(statp, stderr, "poll", errno); -#endif /* USE_POLL */ + Perror(statp, stderr, fun, errno); res_nclose(statp); return (0); } +#ifdef USE_KQUEUE + if ((int)kv.ident != s) + goto wait; +#endif errno = 0; fromlen = sizeof(from); resplen = recvfrom(s, (char*)ans, (size_t)anssiz,0, @@ -1016,7 +1100,7 @@ send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, } #endif if (!(statp->options & RES_INSECURE2) && - !res_queriesmatch(buf, buf + buflen, + !res_queriesmatch(buf, (const u_char *)buf + buflen, ans, ans + anssiz)) { /* * response contains wrong query? ignore it. @@ -1061,14 +1145,14 @@ send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans, static void Aerror(const res_state statp, FILE *file, const char *string, int error, - const struct sockaddr *address, int alen) + const struct sockaddr *address, socklen_t alen) { int save = errno; char hbuf[NI_MAXHOST]; char sbuf[NI_MAXSERV]; if ((statp->options & RES_DEBUG) != 0U) { - if (getnameinfo(address, (socklen_t)alen, hbuf, + if (getnameinfo(address, alen, hbuf, (socklen_t)sizeof(hbuf), sbuf, (socklen_t)sizeof(sbuf), niflags)) { strncpy(hbuf, "?", sizeof(hbuf) - 1); @@ -1118,7 +1202,7 @@ sock_eq(struct sockaddr *a, struct sockaddr *b) { } } -#if defined(NEED_PSELECT) && !defined(USE_POLL) +#if defined(NEED_PSELECT) && !defined(USE_POLL) && !defined(USE_KQUEUE) /* XXX needs to move to the porting library. */ static int pselect(int nfds, void *rfds, void *wfds, void *efds, diff --git a/lib/libc/rpc/DISCLAIMER b/lib/libc/rpc/DISCLAIMER index 0acd291cd..2e3a51ed5 100644 --- a/lib/libc/rpc/DISCLAIMER +++ b/lib/libc/rpc/DISCLAIMER @@ -1,30 +1,32 @@ -/* $NetBSD: DISCLAIMER,v 1.2 1998/01/09 04:11:51 perry Exp $ */ +/* $NetBSD: DISCLAIMER,v 1.3 2013/03/11 20:19:28 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ diff --git a/lib/libc/rpc/auth_none.c b/lib/libc/rpc/auth_none.c index 547963414..5f47a4e75 100644 --- a/lib/libc/rpc/auth_none.c +++ b/lib/libc/rpc/auth_none.c @@ -1,32 +1,34 @@ -/* $NetBSD: auth_none.c,v 1.15 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: auth_none.c,v 1.16 2013/03/11 20:19:28 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)auth_none.c 1.19 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)auth_none.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: auth_none.c,v 1.15 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: auth_none.c,v 1.16 2013/03/11 20:19:28 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/auth_unix.c b/lib/libc/rpc/auth_unix.c index 8e3f3ab4e..7c3b3b8ed 100644 --- a/lib/libc/rpc/auth_unix.c +++ b/lib/libc/rpc/auth_unix.c @@ -1,32 +1,34 @@ -/* $NetBSD: auth_unix.c,v 1.23 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: auth_unix.c,v 1.25 2013/03/11 20:19:28 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)auth_unix.c 1.19 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)auth_unix.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: auth_unix.c,v 1.23 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: auth_unix.c,v 1.25 2013/03/11 20:19:28 tron Exp $"); #endif #endif @@ -115,14 +117,14 @@ authunix_create(char *machname, int uid, int gid, int len, int *aup_gids) auth = mem_alloc(sizeof(*auth)); #ifndef KERNEL if (auth == NULL) { - warnx("authunix_create: out of memory"); + warn("%s: out of memory", __func__); goto cleanup_authunix_create; } #endif au = mem_alloc(sizeof(*au)); #ifndef KERNEL if (au == NULL) { - warnx("authunix_create: out of memory"); + warn("%s: out of memory", __func__); goto cleanup_authunix_create; } #endif @@ -155,7 +157,7 @@ authunix_create(char *machname, int uid, int gid, int len, int *aup_gids) au->au_origcred.oa_base = mem_alloc((size_t)len); #else if ((au->au_origcred.oa_base = mem_alloc((size_t)len)) == NULL) { - warnx("authunix_create: out of memory"); + warn("%s: out of memory", __func__); goto cleanup_authunix_create; } #endif @@ -342,7 +344,7 @@ marshal_new_auth(AUTH *auth) xdrmem_create(xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE); if ((! xdr_opaque_auth(xdrs, &(auth->ah_cred))) || (! xdr_opaque_auth(xdrs, &(auth->ah_verf)))) - warnx("auth_none.c - Fatal marshalling problem"); + warnx("%s: Fatal marshalling problem", __func__); else au->au_mpos = XDR_GETPOS(xdrs); XDR_DESTROY(xdrs); diff --git a/lib/libc/rpc/authunix_prot.c b/lib/libc/rpc/authunix_prot.c index 578e50de5..30fbd6806 100644 --- a/lib/libc/rpc/authunix_prot.c +++ b/lib/libc/rpc/authunix_prot.c @@ -1,32 +1,34 @@ -/* $NetBSD: authunix_prot.c,v 1.15 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: authunix_prot.c,v 1.16 2013/03/11 20:19:28 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)authunix_prot.c 1.15 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)authunix_prot.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: authunix_prot.c,v 1.15 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: authunix_prot.c,v 1.16 2013/03/11 20:19:28 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/bindresvport.c b/lib/libc/rpc/bindresvport.c index b233310cc..6c8fa478c 100644 --- a/lib/libc/rpc/bindresvport.c +++ b/lib/libc/rpc/bindresvport.c @@ -1,32 +1,34 @@ -/* $NetBSD: bindresvport.c,v 1.23 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: bindresvport.c,v 1.25 2013/03/11 20:19:28 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)bindresvport.c 1.8 88/02/08 SMI"; static char *sccsid = "@(#)bindresvport.c 2.2 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: bindresvport.c,v 1.23 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: bindresvport.c,v 1.25 2013/03/11 20:19:28 tron Exp $"); #endif #endif @@ -55,6 +57,7 @@ __RCSID("$NetBSD: bindresvport.c,v 1.23 2012/03/20 17:14:50 matt Exp $"); #include #include +#include "svc_fdset.h" #ifdef __weak_alias __weak_alias(bindresvport,_bindresvport) diff --git a/lib/libc/rpc/clnt_bcast.c b/lib/libc/rpc/clnt_bcast.c index e08fcae0b..1985f2cef 100644 --- a/lib/libc/rpc/clnt_bcast.c +++ b/lib/libc/rpc/clnt_bcast.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_bcast.c,v 1.24 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: clnt_bcast.c,v 1.26 2013/03/11 20:19:28 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)clnt_bcast.c 1.15 89/04/21 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: clnt_bcast.c,v 1.24 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: clnt_bcast.c,v 1.26 2013/03/11 20:19:28 tron Exp $"); #endif #endif @@ -81,6 +83,7 @@ __RCSID("$NetBSD: clnt_bcast.c,v 1.24 2012/03/20 17:14:50 matt Exp $"); #include #include "rpc_internal.h" +#include "svc_fdset.h" #define MAXBCAST 20 /* Max no of broadcasting transports */ #define INITTIME 4000 /* Time to wait initially */ diff --git a/lib/libc/rpc/clnt_dg.c b/lib/libc/rpc/clnt_dg.c index 0fd1983c6..76dd576a5 100644 --- a/lib/libc/rpc/clnt_dg.c +++ b/lib/libc/rpc/clnt_dg.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_dg.c,v 1.26 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: clnt_dg.c,v 1.29 2013/05/07 21:08:44 christos Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)clnt_dg.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: clnt_dg.c,v 1.26 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: clnt_dg.c,v 1.29 2013/05/07 21:08:44 christos Exp $"); #endif #endif @@ -62,6 +64,8 @@ __RCSID("$NetBSD: clnt_dg.c,v 1.26 2012/03/20 17:14:50 matt Exp $"); #include #include #include + +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -171,7 +175,7 @@ clnt_dg_create( struct __rpc_sockinfo si; int one = 1; - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); if (dg_fd_locks == NULL) { @@ -184,9 +188,7 @@ clnt_dg_create( fd_allocsz = dtbsize * sizeof (int); dg_fd_locks = mem_alloc(fd_allocsz); if (dg_fd_locks == NULL) { - mutex_unlock(&clnt_fd_lock); - thr_sigsetmask(SIG_SETMASK, &(mask), NULL); - goto err1; + goto err0; } else memset(dg_fd_locks, '\0', fd_allocsz); @@ -196,9 +198,7 @@ clnt_dg_create( if (dg_cv == NULL) { mem_free(dg_fd_locks, fd_allocsz); dg_fd_locks = NULL; - mutex_unlock(&clnt_fd_lock); - thr_sigsetmask(SIG_SETMASK, &(mask), NULL); - goto err1; + goto err0; } else { int i; @@ -247,8 +247,13 @@ clnt_dg_create( cu->cu_rlen = svcaddr->len; cu->cu_outbuf = &cu->cu_inbuf[recvsz]; /* Other values can also be set through clnt_control() */ +#ifdef RUMP_RPC cu->cu_wait.tv_sec = 15; /* heuristically chosen */ cu->cu_wait.tv_usec = 0; +#else + cu->cu_wait.tv_sec = 0; /* for testing, 10x / second */ + cu->cu_wait.tv_usec = 100000; +#endif cu->cu_total.tv_sec = -1; cu->cu_total.tv_usec = -1; cu->cu_sendsz = sendsz; @@ -285,6 +290,9 @@ clnt_dg_create( cl->cl_tp = NULL; cl->cl_netid = NULL; return (cl); +err0: + mutex_unlock(&clnt_fd_lock); + thr_sigsetmask(SIG_SETMASK, &(mask), NULL); err1: warnx(mem_err_clnt_dg); rpc_createerr.cf_stat = RPC_SYSTEMERROR; @@ -332,7 +340,7 @@ clnt_dg_call( cu = (struct cu_data *)cl->cl_private; - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); while (dg_fd_locks[cu->cu_fd]) @@ -523,7 +531,7 @@ clnt_dg_freeres(CLIENT *cl, xdrproc_t xdr_res, caddr_t res_ptr) cu = (struct cu_data *)cl->cl_private; xdrs = &(cu->cu_outxdrs); - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); while (dg_fd_locks[cu->cu_fd]) @@ -557,7 +565,7 @@ clnt_dg_control(CLIENT *cl, u_int request, char *info) cu = (struct cu_data *)cl->cl_private; - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); while (dg_fd_locks[cu->cu_fd]) @@ -697,7 +705,7 @@ clnt_dg_destroy(CLIENT *cl) cu = (struct cu_data *)cl->cl_private; cu_fd = cu->cu_fd; - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); while (dg_fd_locks[cu_fd]) @@ -728,7 +736,7 @@ clnt_dg_ops(void) /* VARIABLES PROTECTED BY ops_lock: ops */ - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&ops_lock); if (ops.cl_call == NULL) { diff --git a/lib/libc/rpc/clnt_generic.c b/lib/libc/rpc/clnt_generic.c index d46c65d99..2bbbaa240 100644 --- a/lib/libc/rpc/clnt_generic.c +++ b/lib/libc/rpc/clnt_generic.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_generic.c,v 1.28 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: clnt_generic.c,v 1.31 2013/05/07 21:08:45 christos Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)clnt_generic.c 1.32 89/03/16 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: clnt_generic.c,v 1.28 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: clnt_generic.c,v 1.31 2013/05/07 21:08:45 christos Exp $"); #endif #endif @@ -56,6 +58,8 @@ __RCSID("$NetBSD: clnt_generic.c,v 1.28 2012/03/20 17:14:50 matt Exp $"); #include #include #include + +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -377,3 +381,20 @@ err1: if (madefd) (void) close(fd); return (NULL); } + +/* + * Don't block thse so interactive programs don't get stuck in lalaland. + * (easier to do this than making connect(2) non-blocking..) + */ +int +__clnt_sigfillset(sigset_t *ss) { + static const int usersig[] = { + SIGHUP, SIGINT, SIGQUIT, SIGTERM, SIGTSTP + }; + if (sigfillset(ss) == -1) + return -1; + for (size_t i = 0; i < __arraycount(usersig); i++) + if (sigdelset(ss, usersig[i]) == -1) + return -1; + return 0; +} diff --git a/lib/libc/rpc/clnt_perror.c b/lib/libc/rpc/clnt_perror.c index 5b73552c4..e12ece416 100644 --- a/lib/libc/rpc/clnt_perror.c +++ b/lib/libc/rpc/clnt_perror.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_perror.c,v 1.29 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: clnt_perror.c,v 1.30 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)clnt_perror.c 1.15 87/10/07 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)clnt_perror.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: clnt_perror.c,v 1.29 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: clnt_perror.c,v 1.30 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/clnt_raw.c b/lib/libc/rpc/clnt_raw.c index f2ceaeefa..556e91c05 100644 --- a/lib/libc/rpc/clnt_raw.c +++ b/lib/libc/rpc/clnt_raw.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_raw.c,v 1.30 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: clnt_raw.c,v 1.32 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)clnt_raw.c 1.22 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)clnt_raw.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: clnt_raw.c,v 1.30 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: clnt_raw.c,v 1.32 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -128,7 +130,7 @@ clnt_raw_create(rpcprog_t prog, rpcvers_t vers) call_msg.rm_call.cb_vers = (u_int32_t)vers; xdrmem_create(xdrs, clp->u.mashl_callmsg, MCALL_MSG_SIZE, XDR_ENCODE); if (! xdr_callhdr(xdrs, &call_msg)) - warnx("clntraw_create - Fatal header serialization error."); + warnx("%s: Fatal header serialization error", __func__); clp->mcnt = XDR_GETPOS(xdrs); XDR_DESTROY(xdrs); diff --git a/lib/libc/rpc/clnt_simple.c b/lib/libc/rpc/clnt_simple.c index 3ffcb120d..cd3bebf87 100644 --- a/lib/libc/rpc/clnt_simple.c +++ b/lib/libc/rpc/clnt_simple.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_simple.c,v 1.31 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: clnt_simple.c,v 1.32 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)clnt_simple.c 1.49 89/01/31 Copyr 1984 Sun Micro"; #else -__RCSID("$NetBSD: clnt_simple.c,v 1.31 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: clnt_simple.c,v 1.32 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/clnt_vc.c b/lib/libc/rpc/clnt_vc.c index 67788e794..f42745c63 100644 --- a/lib/libc/rpc/clnt_vc.c +++ b/lib/libc/rpc/clnt_vc.c @@ -1,32 +1,34 @@ -/* $NetBSD: clnt_vc.c,v 1.18 2012/03/13 21:13:44 christos Exp $ */ +/* $NetBSD: clnt_vc.c,v 1.24 2013/10/17 23:58:05 christos Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -36,7 +38,7 @@ static char *sccsid = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)clnt_tcp.c 2.2 88/08/01 4.0 RPCSRC"; static char sccsid[] = "@(#)clnt_vc.c 1.19 89/03/16 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: clnt_vc.c,v 1.18 2012/03/13 21:13:44 christos Exp $"); +__RCSID("$NetBSD: clnt_vc.c,v 1.24 2013/10/17 23:58:05 christos Exp $"); #endif #endif @@ -77,6 +79,7 @@ __RCSID("$NetBSD: clnt_vc.c,v 1.18 2012/03/13 21:13:44 christos Exp $"); #include +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -141,6 +144,33 @@ static cond_t *vc_cv; #define __rpc_lock_value 0 #endif +static __inline void +htonlp(void *dst, const void *src) +{ +#if 0 + uint32_t tmp; + memcpy(&tmp, src, sizeof(tmp)); + tmp = htonl(tmp); + memcpy(dst, &tmp, sizeof(tmp)); +#else + /* We are aligned, so we think */ + *(uint32_t *)dst = htonl(*(const uint32_t *)src); +#endif +} + +static __inline void +ntohlp(void *dst, const void *src) +{ +#if 0 + uint32_t tmp; + memcpy(&tmp, src, sizeof(tmp)); + tmp = ntohl(tmp); + memcpy(dst, &tmp, sizeof(tmp)); +#else + /* We are aligned, so we think */ + *(uint32_t *)dst = htonl(*(const uint32_t *)src); +#endif +} /* * Create a client handle for a connection. @@ -191,7 +221,7 @@ clnt_vc_create( goto fooy; } - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); #ifdef _REENTRANT mutex_lock(&clnt_fd_lock); @@ -202,9 +232,7 @@ clnt_vc_create( fd_allocsz = dtbsize * sizeof (int); vc_fd_locks = mem_alloc(fd_allocsz); if (vc_fd_locks == NULL) { - mutex_unlock(&clnt_fd_lock); - thr_sigsetmask(SIG_SETMASK, &(mask), NULL); - goto fooy; + goto blooy; } else memset(vc_fd_locks, '\0', fd_allocsz); @@ -214,9 +242,7 @@ clnt_vc_create( if (vc_cv == NULL) { mem_free(vc_fd_locks, fd_allocsz); vc_fd_locks = NULL; - mutex_unlock(&clnt_fd_lock); - thr_sigsetmask(SIG_SETMASK, &(mask), NULL); - goto fooy; + goto blooy; } else { int i; @@ -235,16 +261,12 @@ clnt_vc_create( if (errno != ENOTCONN) { rpc_createerr.cf_stat = RPC_SYSTEMERROR; rpc_createerr.cf_error.re_errno = errno; - mutex_unlock(&clnt_fd_lock); - thr_sigsetmask(SIG_SETMASK, &(mask), NULL); - goto fooy; + goto blooy; } if (connect(fd, (struct sockaddr *)raddr->buf, raddr->len) < 0){ rpc_createerr.cf_stat = RPC_SYSTEMERROR; rpc_createerr.cf_error.re_errno = errno; - mutex_unlock(&clnt_fd_lock); - thr_sigsetmask(SIG_SETMASK, &(mask), NULL); - goto fooy; + goto blooy; } } mutex_unlock(&clnt_fd_lock); @@ -263,8 +285,8 @@ clnt_vc_create( ct->ct_addr.buf = malloc((size_t)raddr->maxlen); if (ct->ct_addr.buf == NULL) goto fooy; - memcpy(ct->ct_addr.buf, &raddr->buf, (size_t)raddr->len); - ct->ct_addr.len = raddr->maxlen; + memcpy(ct->ct_addr.buf, raddr->buf, (size_t)raddr->len); + ct->ct_addr.len = raddr->len; ct->ct_addr.maxlen = raddr->maxlen; /* @@ -303,6 +325,9 @@ clnt_vc_create( h->cl_private, read_vc, write_vc); return (h); +blooy: + mutex_unlock(&clnt_fd_lock); + thr_sigsetmask(SIG_SETMASK, &(mask), NULL); fooy: /* * Something goofed, free stuff and barf @@ -341,7 +366,7 @@ clnt_vc_call( ct = (struct ct_data *) h->cl_private; #ifdef _REENTRANT - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); while (vc_fd_locks[ct->ct_fd]) @@ -480,7 +505,7 @@ clnt_vc_freeres( ct = (struct ct_data *)cl->cl_private; xdrs = &(ct->ct_xdrs); - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); #ifdef _REENTRANT @@ -521,7 +546,7 @@ clnt_vc_control( ct = (struct ct_data *)cl->cl_private; - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); #ifdef _REENTRANT @@ -580,13 +605,12 @@ clnt_vc_control( * first element in the call structure * This will get the xid of the PREVIOUS call */ - *(u_int32_t *)(void *)info = - ntohl(*(u_int32_t *)(void *)&ct->ct_u.ct_mcalli); + ntohlp(info, &ct->ct_u.ct_mcalli); break; case CLSET_XID: /* This will set the xid of the NEXT call */ - *(u_int32_t *)(void *)&ct->ct_u.ct_mcalli = - htonl(*((u_int32_t *)(void *)info) + 1); + htonlp(&ct->ct_u.ct_mcalli, (const char *)info + + sizeof(uint32_t)); /* increment by 1 as clnt_vc_call() decrements once */ break; case CLGET_VERS: @@ -596,15 +620,11 @@ clnt_vc_control( * begining of the RPC header. MUST be changed if the * call_struct is changed */ - *(u_int32_t *)(void *)info = - ntohl(*(u_int32_t *)(void *)(ct->ct_u.ct_mcallc + - 4 * BYTES_PER_XDR_UNIT)); + ntohlp(info, ct->ct_u.ct_mcallc + 4 * BYTES_PER_XDR_UNIT); break; case CLSET_VERS: - *(u_int32_t *)(void *)(ct->ct_u.ct_mcallc + - 4 * BYTES_PER_XDR_UNIT) = - htonl(*(u_int32_t *)(void *)info); + htonlp(ct->ct_u.ct_mcallc + 4 * BYTES_PER_XDR_UNIT, info); break; case CLGET_PROG: @@ -614,15 +634,11 @@ clnt_vc_control( * begining of the RPC header. MUST be changed if the * call_struct is changed */ - *(u_int32_t *)(void *)info = - ntohl(*(u_int32_t *)(void *)(ct->ct_u.ct_mcallc + - 3 * BYTES_PER_XDR_UNIT)); + ntohlp(info, ct->ct_u.ct_mcallc + 3 * BYTES_PER_XDR_UNIT); break; case CLSET_PROG: - *(u_int32_t *)(void *)(ct->ct_u.ct_mcallc + - 3 * BYTES_PER_XDR_UNIT) = - htonl(*(u_int32_t *)(void *)info); + htonlp(ct->ct_u.ct_mcallc + 3 * BYTES_PER_XDR_UNIT, info); break; default: @@ -649,7 +665,7 @@ clnt_vc_destroy(CLIENT *cl) ct = (struct ct_data *) cl->cl_private; ct_fd = ct->ct_fd; - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&clnt_fd_lock); #ifdef _REENTRANT @@ -710,7 +726,7 @@ read_vc(char *ctp, char *buf, int len) /* premature eof */ ct->ct_error.re_errno = ECONNRESET; ct->ct_error.re_status = RPC_CANTRECV; - len = -1; /* it's really an error */ + nread = -1; /* it's really an error */ break; case -1: @@ -750,7 +766,7 @@ clnt_vc_ops(void) /* VARIABLES PROTECTED BY ops_lock: ops */ - sigfillset(&newmask); + __clnt_sigfillset(&newmask); thr_sigsetmask(SIG_SETMASK, &newmask, &mask); mutex_lock(&ops_lock); if (ops.cl_call == NULL) { diff --git a/lib/libc/rpc/getnetconfig.c b/lib/libc/rpc/getnetconfig.c index 4ad6fd3a6..841457112 100644 --- a/lib/libc/rpc/getnetconfig.c +++ b/lib/libc/rpc/getnetconfig.c @@ -1,33 +1,34 @@ -/* $NetBSD: getnetconfig.c,v 1.20 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: getnetconfig.c,v 1.21 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user or with the express written consent of - * Sun Microsystems, Inc. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * * 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 the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * 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 @@ -35,7 +36,7 @@ #if 0 static char sccsid[] = "@(#)getnetconfig.c 1.12 91/12/19 SMI"; #else -__RCSID("$NetBSD: getnetconfig.c,v 1.20 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: getnetconfig.c,v 1.21 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/getnetpath.c b/lib/libc/rpc/getnetpath.c index 2350c7d91..bf26936ea 100644 --- a/lib/libc/rpc/getnetpath.c +++ b/lib/libc/rpc/getnetpath.c @@ -1,33 +1,34 @@ -/* $NetBSD: getnetpath.c,v 1.16 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: getnetpath.c,v 1.17 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user or with the express written consent of - * Sun Microsystems, Inc. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * * 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 the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * 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 @@ -35,7 +36,7 @@ #if 0 static char sccsid[] = "@(#)getnetpath.c 1.11 91/12/19 SMI"; #else -__RCSID("$NetBSD: getnetpath.c,v 1.16 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: getnetpath.c,v 1.17 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/getrpcent.c b/lib/libc/rpc/getrpcent.c index 6ee813006..68242ccea 100644 --- a/lib/libc/rpc/getrpcent.c +++ b/lib/libc/rpc/getrpcent.c @@ -1,33 +1,34 @@ -/* $NetBSD: getrpcent.c,v 1.22 2011/10/15 23:00:02 christos Exp $ */ +/* $NetBSD: getrpcent.c,v 1.23 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user or with the express written consent of - * Sun Microsystems, Inc. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * * 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 the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * 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 @@ -35,7 +36,7 @@ #if 0 static char *sccsid = "@(#)getrpcent.c 1.14 91/03/11 Copyr 1984 Sun Micro"; #else -__RCSID("$NetBSD: getrpcent.c,v 1.22 2011/10/15 23:00:02 christos Exp $"); +__RCSID("$NetBSD: getrpcent.c,v 1.23 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/getrpcport.c b/lib/libc/rpc/getrpcport.c index 33939d27a..2b175047e 100644 --- a/lib/libc/rpc/getrpcport.c +++ b/lib/libc/rpc/getrpcport.c @@ -1,32 +1,34 @@ -/* $NetBSD: getrpcport.c,v 1.17 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: getrpcport.c,v 1.18 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)getrpcport.c 1.3 87/08/11 SMI"; static char *sccsid = "@(#)getrpcport.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: getrpcport.c,v 1.17 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: getrpcport.c,v 1.18 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/pmap_clnt.c b/lib/libc/rpc/pmap_clnt.c index 1b4003787..4d0438b88 100644 --- a/lib/libc/rpc/pmap_clnt.c +++ b/lib/libc/rpc/pmap_clnt.c @@ -1,32 +1,34 @@ -/* $NetBSD: pmap_clnt.c,v 1.18 2003/01/18 11:29:05 thorpej Exp $ */ +/* $NetBSD: pmap_clnt.c,v 1.19 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)pmap_clnt.c 1.37 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)pmap_clnt.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: pmap_clnt.c,v 1.18 2003/01/18 11:29:05 thorpej Exp $"); +__RCSID("$NetBSD: pmap_clnt.c,v 1.19 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/pmap_getmaps.c b/lib/libc/rpc/pmap_getmaps.c index e4e6370b7..b55c5add2 100644 --- a/lib/libc/rpc/pmap_getmaps.c +++ b/lib/libc/rpc/pmap_getmaps.c @@ -1,32 +1,34 @@ -/* $NetBSD: pmap_getmaps.c,v 1.17 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: pmap_getmaps.c,v 1.18 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)pmap_getmaps.c 1.10 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)pmap_getmaps.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: pmap_getmaps.c,v 1.17 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: pmap_getmaps.c,v 1.18 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/pmap_getport.c b/lib/libc/rpc/pmap_getport.c index 5134ac7df..7b4ae9fbe 100644 --- a/lib/libc/rpc/pmap_getport.c +++ b/lib/libc/rpc/pmap_getport.c @@ -1,32 +1,34 @@ -/* $NetBSD: pmap_getport.c,v 1.18 2008/01/28 01:10:22 christos Exp $ */ +/* $NetBSD: pmap_getport.c,v 1.19 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)pmap_getport.c 1.9 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)pmap_getport.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: pmap_getport.c,v 1.18 2008/01/28 01:10:22 christos Exp $"); +__RCSID("$NetBSD: pmap_getport.c,v 1.19 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/pmap_prot.c b/lib/libc/rpc/pmap_prot.c index 13779d431..381da4ae9 100644 --- a/lib/libc/rpc/pmap_prot.c +++ b/lib/libc/rpc/pmap_prot.c @@ -1,32 +1,34 @@ -/* $NetBSD: pmap_prot.c,v 1.11 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: pmap_prot.c,v 1.12 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)pmap_prot.c 1.17 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)pmap_prot.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: pmap_prot.c,v 1.11 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: pmap_prot.c,v 1.12 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/pmap_prot2.c b/lib/libc/rpc/pmap_prot2.c index c379f2b9b..c49810a86 100644 --- a/lib/libc/rpc/pmap_prot2.c +++ b/lib/libc/rpc/pmap_prot2.c @@ -1,32 +1,34 @@ -/* $NetBSD: pmap_prot2.c,v 1.16 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: pmap_prot2.c,v 1.17 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)pmap_prot2.c 1.3 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)pmap_prot2.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: pmap_prot2.c,v 1.16 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: pmap_prot2.c,v 1.17 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/pmap_rmt.c b/lib/libc/rpc/pmap_rmt.c index 675717b0c..a39bf8551 100644 --- a/lib/libc/rpc/pmap_rmt.c +++ b/lib/libc/rpc/pmap_rmt.c @@ -1,32 +1,34 @@ -/* $NetBSD: pmap_rmt.c,v 1.33 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: pmap_rmt.c,v 1.34 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)pmap_rmt.c 1.21 87/08/27 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)pmap_rmt.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: pmap_rmt.c,v 1.33 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: pmap_rmt.c,v 1.34 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/rpc_callmsg.c b/lib/libc/rpc/rpc_callmsg.c index 0da1e37e8..80d6adc33 100644 --- a/lib/libc/rpc/rpc_callmsg.c +++ b/lib/libc/rpc/rpc_callmsg.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpc_callmsg.c,v 1.19 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: rpc_callmsg.c,v 1.20 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)rpc_callmsg.c 1.4 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)rpc_callmsg.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: rpc_callmsg.c,v 1.19 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: rpc_callmsg.c,v 1.20 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/rpc_commondata.c b/lib/libc/rpc/rpc_commondata.c index a023ac66c..ab27fe629 100644 --- a/lib/libc/rpc/rpc_commondata.c +++ b/lib/libc/rpc/rpc_commondata.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpc_commondata.c,v 1.8 2003/01/18 11:29:05 thorpej Exp $ */ +/* $NetBSD: rpc_commondata.c,v 1.9 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -34,7 +36,7 @@ #if 0 static char *sccsid = "@(#)rpc_commondata.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: rpc_commondata.c,v 1.8 2003/01/18 11:29:05 thorpej Exp $"); +__RCSID("$NetBSD: rpc_commondata.c,v 1.9 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/rpc_dtablesize.c b/lib/libc/rpc/rpc_dtablesize.c index 43651a294..6561fe93f 100644 --- a/lib/libc/rpc/rpc_dtablesize.c +++ b/lib/libc/rpc/rpc_dtablesize.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpc_dtablesize.c,v 1.15 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: rpc_dtablesize.c,v 1.16 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)rpc_dtablesize.c 1.2 87/08/11 Copyr 1987 Sun Micro"; static char *sccsid = "@(#)rpc_dtablesize.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: rpc_dtablesize.c,v 1.15 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: rpc_dtablesize.c,v 1.16 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/rpc_generic.c b/lib/libc/rpc/rpc_generic.c index 9a3cd48d3..6912eafbc 100644 --- a/lib/libc/rpc/rpc_generic.c +++ b/lib/libc/rpc/rpc_generic.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpc_generic.c,v 1.26 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: rpc_generic.c,v 1.29 2013/04/05 03:17:38 dholland Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -41,7 +43,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: rpc_generic.c,v 1.26 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: rpc_generic.c,v 1.29 2013/04/05 03:17:38 dholland Exp $"); #endif #include "namespace.h" @@ -60,10 +62,12 @@ __RCSID("$NetBSD: rpc_generic.c,v 1.26 2012/03/20 17:14:50 matt Exp $"); #include #include #include -#include +#include #include #include #include + +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias diff --git a/lib/libc/rpc/rpc_internal.h b/lib/libc/rpc/rpc_internal.h index 54cd48ebf..2293273e5 100644 --- a/lib/libc/rpc/rpc_internal.h +++ b/lib/libc/rpc/rpc_internal.h @@ -1,4 +1,4 @@ -/* $NetBSD: rpc_internal.h,v 1.6 2009/04/04 15:31:08 christos Exp $ */ +/* $NetBSD: rpc_internal.h,v 1.7 2013/05/07 21:08:45 christos Exp $ */ /*- * Copyright (c) 2004 The NetBSD Foundation, Inc. @@ -63,3 +63,5 @@ u_int32_t __rpc_getxid(void); extern SVCXPRT **__svc_xports; extern int __svc_maxrec; + +int __clnt_sigfillset(sigset_t *); diff --git a/lib/libc/rpc/rpc_prot.c b/lib/libc/rpc/rpc_prot.c index 1b6397586..9c146411e 100644 --- a/lib/libc/rpc/rpc_prot.c +++ b/lib/libc/rpc/rpc_prot.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpc_prot.c,v 1.20 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: rpc_prot.c,v 1.21 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)rpc_prot.c 1.36 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)rpc_prot.c 2.3 88/08/07 4.0 RPCSRC"; #else -__RCSID("$NetBSD: rpc_prot.c,v 1.20 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: rpc_prot.c,v 1.21 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/rpc_soc.3 b/lib/libc/rpc/rpc_soc.3 index e9296c15a..995644210 100644 --- a/lib/libc/rpc/rpc_soc.3 +++ b/lib/libc/rpc/rpc_soc.3 @@ -1,5 +1,5 @@ .\" @(#)rpc.3n 2.4 88/08/08 4.0 RPCSRC; from 1.19 88/06/24 SMI -.\" $NetBSD: rpc_soc.3,v 1.13 2009/01/11 02:46:29 christos Exp $ +.\" $NetBSD: rpc_soc.3,v 1.14 2013/03/04 17:29:03 christos Exp $ .\" Converted to mdoc by Thomas Klausner .\" .Dd December 12, 2008 @@ -221,7 +221,7 @@ .Fn xdr_rejected_reply "XDR *xdrs" "struct rejected_reply *rr" .Ft int .Fn xdr_replymsg "XDR *xdrs" "struct rpc_msg *rmsg" -.Ft void +.Ft bool_t .Fn xprt_register "SVCXPRT *xprt" .Ft void .Fn xprt_unregister "SVCXPRT *xprt" diff --git a/lib/libc/rpc/rpc_soc.c b/lib/libc/rpc/rpc_soc.c index 2aaaa3043..24c94a63a 100644 --- a/lib/libc/rpc/rpc_soc.c +++ b/lib/libc/rpc/rpc_soc.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpc_soc.c,v 1.16 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: rpc_soc.c,v 1.18 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* #ident "@(#)rpc_soc.c 1.17 94/04/24 SMI" */ @@ -43,7 +45,7 @@ #if 0 static char sccsid[] = "@(#)rpc_soc.c 1.41 89/05/02 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: rpc_soc.c,v 1.16 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: rpc_soc.c,v 1.18 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -75,6 +77,7 @@ __RCSID("$NetBSD: rpc_soc.c,v 1.16 2012/06/25 22:32:45 abs Exp $"); #include #include +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias diff --git a/lib/libc/rpc/rpc_svc_reg.3 b/lib/libc/rpc/rpc_svc_reg.3 index 5e9c3b58b..ea9d474e8 100644 --- a/lib/libc/rpc/rpc_svc_reg.3 +++ b/lib/libc/rpc/rpc_svc_reg.3 @@ -2,7 +2,7 @@ .\" Copyright 1989 AT&T .\" @(#)rpc_svc_call 1.6 89/07/20 SMI; .\" Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved. -.\" $NetBSD: rpc_svc_reg.3,v 1.9 2009/03/11 13:36:01 joerg Exp $ +.\" $NetBSD: rpc_svc_reg.3,v 1.10 2013/03/04 17:29:03 christos Exp $ .Dd May 3, 1993 .Dt RPC_SVC_REG 3 .Os @@ -27,7 +27,7 @@ .Fn svc_unreg "const rpcprog_t prognum" "const rpcvers_t versnum" .Ft int .Fn svc_auth_reg "const int cred_flavor" "const enum auth_stat (*handler(struct svc_req *, struct rpc_msg *))" -.Ft void +.Ft bool_t .Fn xprt_register "const SVCXPRT *xprt" .Ft void .Fn xprt_unregister "const SVCXPRT *xprt" diff --git a/lib/libc/rpc/rpcb_clnt.c b/lib/libc/rpc/rpcb_clnt.c index 2398ff669..d5aa9f123 100644 --- a/lib/libc/rpc/rpcb_clnt.c +++ b/lib/libc/rpc/rpcb_clnt.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpcb_clnt.c,v 1.27 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: rpcb_clnt.c,v 1.29 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)rpcb_clnt.c 1.30 89/06/21 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: rpcb_clnt.c,v 1.27 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: rpcb_clnt.c,v 1.29 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -73,6 +75,7 @@ __RCSID("$NetBSD: rpcb_clnt.c,v 1.27 2012/03/20 17:14:50 matt Exp $"); #include #include +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias diff --git a/lib/libc/rpc/rpcb_prot.c b/lib/libc/rpc/rpcb_prot.c index d08ef5d3e..a08ae95c2 100644 --- a/lib/libc/rpc/rpcb_prot.c +++ b/lib/libc/rpc/rpcb_prot.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpcb_prot.c,v 1.10 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: rpcb_prot.c,v 1.11 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)rpcb_prot.c 1.9 89/04/21 Copyr 1984 Sun Micro"; #else -__RCSID("$NetBSD: rpcb_prot.c,v 1.10 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: rpcb_prot.c,v 1.11 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/rpcb_st_xdr.c b/lib/libc/rpc/rpcb_st_xdr.c index 8ddc5e524..d901c183d 100644 --- a/lib/libc/rpc/rpcb_st_xdr.c +++ b/lib/libc/rpc/rpcb_st_xdr.c @@ -1,32 +1,34 @@ -/* $NetBSD: rpcb_st_xdr.c,v 1.9 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: rpcb_st_xdr.c,v 1.10 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright 1991 Sun Microsystems, Inc. @@ -40,7 +42,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: rpcb_st_xdr.c,v 1.9 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: rpcb_st_xdr.c,v 1.10 2013/03/11 20:19:29 tron Exp $"); #endif #include "namespace.h" diff --git a/lib/libc/rpc/svc.c b/lib/libc/rpc/svc.c index b860d9f7a..98c2f83b2 100644 --- a/lib/libc/rpc/svc.c +++ b/lib/libc/rpc/svc.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc.c,v 1.31 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc.c,v 1.34 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)svc.c 1.44 88/02/08 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)svc.c 2.4 88/08/11 4.0 RPCSRC"; #else -__RCSID("$NetBSD: svc.c,v 1.31 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc.c,v 1.34 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -64,6 +66,7 @@ __RCSID("$NetBSD: svc.c,v 1.31 2012/03/20 17:14:50 matt Exp $"); #include #endif +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -125,7 +128,7 @@ static void __xprt_do_unregister(SVCXPRT *xprt, bool_t dolock); /* * Activate a transport handle. */ -void +bool_t xprt_register(SVCXPRT *xprt) { int sock; @@ -138,18 +141,25 @@ xprt_register(SVCXPRT *xprt) if (__svc_xports == NULL) { __svc_xports = mem_alloc(FD_SETSIZE * sizeof(SVCXPRT *)); if (__svc_xports == NULL) { - warn("xprt_register"); + warn("%s: out of memory", __func__); goto out; } memset(__svc_xports, '\0', FD_SETSIZE * sizeof(SVCXPRT *)); } - if (sock < FD_SETSIZE) { - __svc_xports[sock] = xprt; - FD_SET(sock, &svc_fdset); - svc_maxfd = max(svc_maxfd, sock); + if (sock >= FD_SETSIZE) { + warnx("%s: socket descriptor %d too large for setsize %u", + __func__, sock, (unsigned)FD_SETSIZE); + goto out; } + __svc_xports[sock] = xprt; + FD_SET(sock, get_fdset()); + *get_fdsetmax() = max(*get_fdsetmax(), sock); + rwlock_unlock(&svc_fd_lock); + return (TRUE); + out: rwlock_unlock(&svc_fd_lock); + return (FALSE); } void @@ -180,10 +190,11 @@ __xprt_do_unregister(SVCXPRT *xprt, bool_t dolock) rwlock_wrlock(&svc_fd_lock); if ((sock < FD_SETSIZE) && (__svc_xports[sock] == xprt)) { __svc_xports[sock] = NULL; - FD_CLR(sock, &svc_fdset); - if (sock >= svc_maxfd) { - for (svc_maxfd--; svc_maxfd>=0; svc_maxfd--) - if (__svc_xports[svc_maxfd]) + FD_CLR(sock, get_fdset()); + if (sock >= *get_fdsetmax()) { + for ((*get_fdsetmax())--; *get_fdsetmax() >= 0; + (*get_fdsetmax())--) + if (__svc_xports[*get_fdsetmax()]) break; } } @@ -729,7 +740,7 @@ svc_getreq_poll(struct pollfd *pfdp, int pollretval) */ if (p->revents & POLLNVAL) { rwlock_wrlock(&svc_fd_lock); - FD_CLR(p->fd, &svc_fdset); + FD_CLR(p->fd, get_fdset()); rwlock_unlock(&svc_fd_lock); } else svc_getreq_common(p->fd); diff --git a/lib/libc/rpc/svc_auth.c b/lib/libc/rpc/svc_auth.c index 639b801cc..d8fb3ee78 100644 --- a/lib/libc/rpc/svc_auth.c +++ b/lib/libc/rpc/svc_auth.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_auth.c,v 1.16 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc_auth.c,v 1.17 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)svc_auth.c 1.26 89/02/07 Copyr 1984 Sun Micro"; #else -__RCSID("$NetBSD: svc_auth.c,v 1.16 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc_auth.c,v 1.17 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/svc_auth_unix.c b/lib/libc/rpc/svc_auth_unix.c index 9bbf8a83f..eecd87c9c 100644 --- a/lib/libc/rpc/svc_auth_unix.c +++ b/lib/libc/rpc/svc_auth_unix.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_auth_unix.c,v 1.20 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: svc_auth_unix.c,v 1.21 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)svc_auth_unix.c 1.28 88/02/08 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)svc_auth_unix.c 2.3 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: svc_auth_unix.c,v 1.20 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: svc_auth_unix.c,v 1.21 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/svc_dg.c b/lib/libc/rpc/svc_dg.c index e213c57f3..7adc83ed8 100644 --- a/lib/libc/rpc/svc_dg.c +++ b/lib/libc/rpc/svc_dg.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_dg.c,v 1.14 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc_dg.c,v 1.17 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* @@ -44,7 +46,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: svc_dg.c,v 1.14 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc_dg.c,v 1.17 2013/03/11 20:19:29 tron Exp $"); #endif #include "namespace.h" @@ -64,6 +66,7 @@ __RCSID("$NetBSD: svc_dg.c,v 1.14 2012/03/20 17:14:50 matt Exp $"); #endif #include +#include "svc_fdset.h" #include "rpc_internal.h" #include "svc_dg.h" @@ -128,15 +131,15 @@ svc_dg_create(int fd, u_int sendsize, u_int recvsize) xprt = mem_alloc(sizeof (SVCXPRT)); if (xprt == NULL) - goto freedata; + goto outofmem; memset(xprt, 0, sizeof (SVCXPRT)); su = mem_alloc(sizeof (*su)); if (su == NULL) - goto freedata; + goto outofmem; su->su_iosz = ((MAX(sendsize, recvsize) + 3) / 4) * 4; if ((rpc_buffer(xprt) = malloc(su->su_iosz)) == NULL) - goto freedata; + goto outofmem; _DIAGASSERT(__type_fit(u_int, su->su_iosz)); xdrmem_create(&(su->su_xdrs), rpc_buffer(xprt), (u_int)su->su_iosz, XDR_DECODE); @@ -155,10 +158,13 @@ svc_dg_create(int fd, u_int sendsize, u_int recvsize) xprt->xp_ltaddr.len = slen; memcpy(xprt->xp_ltaddr.buf, &ss, slen); - xprt_register(xprt); + if (!xprt_register(xprt)) + goto freedata; return (xprt); -freedata: + +outofmem: (void) warnx(svc_dg_str, __no_mem_str); +freedata: if (xprt) { if (su) (void) mem_free(su, sizeof (*su)); diff --git a/lib/libc/rpc/svc_dg.h b/lib/libc/rpc/svc_dg.h index 91eb38390..659d006a8 100644 --- a/lib/libc/rpc/svc_dg.h +++ b/lib/libc/rpc/svc_dg.h @@ -1,31 +1,33 @@ -/* $NetBSD: svc_dg.h,v 1.1 2000/06/02 23:11:16 fvdl Exp $ */ +/* $NetBSD: svc_dg.h,v 1.2 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* diff --git a/lib/libc/rpc/svc_fdset.c b/lib/libc/rpc/svc_fdset.c new file mode 100644 index 000000000..08206d6d5 --- /dev/null +++ b/lib/libc/rpc/svc_fdset.c @@ -0,0 +1,63 @@ +/* $NetBSD: svc_fdset.c,v 1.1 2013/03/05 19:55:23 christos Exp $ */ + +#include +__RCSID("$NetBSD: svc_fdset.c,v 1.1 2013/03/05 19:55:23 christos Exp $"); + +#include +#include +#include +#include + +#include "svc_fdset.h" + +static pthread_key_t fdsetkey; +static pthread_key_t fdmaxkey; +static fd_set thefdset; +static int thefdmax; + +void +init_fdsets(void) +{ + + pthread_key_create(&fdsetkey, NULL); + pthread_key_create(&fdmaxkey, NULL); +} + +void +alloc_fdset(void) +{ + fd_set *fdsetti; + int *fdmax; + + fdsetti = malloc(sizeof(*fdsetti)); + memset(fdsetti, 0, sizeof(*fdsetti)); + pthread_setspecific(fdsetkey, fdsetti); + + fdmax = malloc(sizeof(*fdmax)); + memset(fdmax, 0, sizeof(*fdmax)); + pthread_setspecific(fdmaxkey, fdmax); +} + +fd_set * +get_fdset(void) +{ + fd_set *rv; + + rv = pthread_getspecific(fdsetkey); + if (rv) + return rv; + else + return &thefdset; +} + +int * +get_fdsetmax(void) +{ + int *rv; + + rv = pthread_getspecific(fdmaxkey); + if (rv) + return rv; + else + return &thefdmax; +} diff --git a/lib/libc/rpc/svc_fdset.h b/lib/libc/rpc/svc_fdset.h new file mode 100644 index 000000000..1a4fbc8ce --- /dev/null +++ b/lib/libc/rpc/svc_fdset.h @@ -0,0 +1,30 @@ +/* $NetBSD: svc_fdset.h,v 1.1 2013/03/05 19:55:23 christos Exp $ */ + +#ifndef _LIBC + +void init_fdsets(void); +void alloc_fdset(void); +fd_set *get_fdset(void); +int *get_fdsetmax(void); + +# ifdef RUMP_RPC +# include +# include +# undef close +# define close(a) rump_sys_close(a) +# undef fcntl +# define fcntl(a, b, c) rump_sys_fcntl(a, b, c) +# undef read +# define read(a, b, c) rump_sys_read(a, b, c) +# undef write +# define write(a, b, c) rump_sys_write(a, b, c) +# undef pollts +# define pollts(a, b, c, d) rump_sys_pollts(a, b, c, d) +# undef select +# define select(a, b, c, d, e) rump_sys_select(a, b, c, d, e) +# endif + +#else +# define get_fdset() (&svc_fdset) +# define get_fdsetmax() (&svc_maxfd) +#endif diff --git a/lib/libc/rpc/svc_generic.c b/lib/libc/rpc/svc_generic.c index 634820269..561b98edd 100644 --- a/lib/libc/rpc/svc_generic.c +++ b/lib/libc/rpc/svc_generic.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_generic.c,v 1.12 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc_generic.c,v 1.15 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* @@ -40,7 +42,7 @@ #if 0 static char sccsid[] = "@(#)svc_generic.c 1.21 89/02/28 Copyr 1988 Sun Micro"; #else -__RCSID("$NetBSD: svc_generic.c,v 1.12 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc_generic.c,v 1.15 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -63,6 +65,7 @@ __RCSID("$NetBSD: svc_generic.c,v 1.12 2012/03/20 17:14:50 matt Exp $"); #include #include +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -105,7 +108,7 @@ svc_create( /* VARIABLES PROTECTED BY xprtlist_lock: xprtlist */ if ((handle = __rpc_setconf(nettype)) == NULL) { - warnx("svc_create: unknown protocol"); + warnx("%s: unknown protocol %s", __func__, nettype); return (0); } while ((nconf = __rpc_getconf(handle)) != NULL) { @@ -116,10 +119,10 @@ svc_create( (void) rpcb_unset(prognum, versnum, nconf); if (svc_reg(l->xprt, prognum, versnum, dispatch, nconf) == FALSE) - warnx( - "svc_create: could not register prog %u vers %u on %s", - (unsigned)prognum, (unsigned)versnum, - nconf->nc_netid); + warnx("%s: could not register prog %u " + "vers %u on %s", __func__, + (unsigned)prognum, + (unsigned)versnum, nconf->nc_netid); else num++; break; @@ -131,7 +134,7 @@ svc_create( if (xprt) { l = malloc(sizeof(*l)); if (l == NULL) { - warnx("svc_create: no memory"); + warn("%s: out of memory", __func__); mutex_unlock(&xprtlist_lock); return (0); } @@ -166,9 +169,8 @@ svc_tp_create( SVCXPRT *xprt; if (nconf == NULL) { - warnx( - "svc_tp_create: invalid netconfig structure for prog %u vers %u", - (unsigned)prognum, (unsigned)versnum); + warnx("%s: invalid netconfig structure for prog %u vers %u", + __func__, (unsigned)prognum, (unsigned)versnum); return (NULL); } xprt = svc_tli_create(RPC_ANYFD, nconf, NULL, 0, 0); @@ -177,10 +179,9 @@ svc_tp_create( } (void) rpcb_unset(prognum, versnum, __UNCONST(nconf)); if (svc_reg(xprt, prognum, versnum, dispatch, nconf) == FALSE) { - warnx( - "svc_tp_create: Could not register prog %u vers %u on %s", - (unsigned)prognum, (unsigned)versnum, - nconf->nc_netid); + warnx("%s: Could not register prog %u vers %u on %s", + __func__, (unsigned)prognum, (unsigned)versnum, + nconf->nc_netid); SVC_DESTROY(xprt); return (NULL); } @@ -212,14 +213,13 @@ svc_tli_create( if (fd == RPC_ANYFD) { if (nconf == NULL) { - warnx("svc_tli_create: invalid netconfig"); + warnx("%s: invalid netconfig", __func__); return (NULL); } fd = __rpc_nconf2fd(nconf); if (fd == -1) { - warnx( - "svc_tli_create: could not open connection for %s", - nconf->nc_netid); + warnx("%s: could not open connection for %s", __func__, + nconf->nc_netid); return (NULL); } __rpc_nconf2sockinfo(nconf, &si); @@ -229,8 +229,8 @@ svc_tli_create( * It is an open descriptor. Get the transport info. */ if (!__rpc_fd2sockinfo(fd, &si)) { - warnx( - "svc_tli_create: could not get transport information"); + warnx("%s: could not get transport information", + __func__); return (NULL); } } @@ -246,8 +246,8 @@ svc_tli_create( ss.ss_len = si.si_alen; if (bind(fd, (struct sockaddr *)(void *)&ss, (socklen_t)si.si_alen) < 0) { - warnx( - "svc_tli_create: could not bind to anonymous port"); + warn( "%s: could not bind to anonymous " + "port", __func__); goto freedata; } } @@ -256,8 +256,8 @@ svc_tli_create( if (bind(fd, (struct sockaddr *)bindaddr->addr.buf, (socklen_t)si.si_alen) < 0) { - warnx( - "svc_tli_create: could not bind to requested address"); + warnx("%s: could not bind to requested address", + __func__); goto freedata; } listen(fd, (int)bindaddr->qlen); @@ -268,29 +268,29 @@ svc_tli_create( * call transport specific function. */ switch (si.si_socktype) { - case SOCK_STREAM: - slen = sizeof ss; - if (getpeername(fd, (struct sockaddr *)(void *)&ss, &slen) - == 0) { - /* accepted socket */ - xprt = svc_fd_create(fd, sendsz, recvsz); - } else - xprt = svc_vc_create(fd, sendsz, recvsz); - if (!nconf || !xprt) - break; + case SOCK_STREAM: + slen = sizeof ss; + if (getpeername(fd, (struct sockaddr *)(void *)&ss, &slen) + == 0) { + /* accepted socket */ + xprt = svc_fd_create(fd, sendsz, recvsz); + } else + xprt = svc_vc_create(fd, sendsz, recvsz); + if (!nconf || !xprt) + break; #if 0 - /* XXX fvdl */ - if (strcmp(nconf->nc_protofmly, "inet") == 0 || - strcmp(nconf->nc_protofmly, "inet6") == 0) - (void) __svc_vc_setflag(xprt, TRUE); + /* XXX fvdl */ + if (strcmp(nconf->nc_protofmly, "inet") == 0 || + strcmp(nconf->nc_protofmly, "inet6") == 0) + (void) __svc_vc_setflag(xprt, TRUE); #endif - break; - case SOCK_DGRAM: - xprt = svc_dg_create(fd, sendsz, recvsz); - break; - default: - warnx("svc_tli_create: bad service type"); - goto freedata; + break; + case SOCK_DGRAM: + xprt = svc_dg_create(fd, sendsz, recvsz); + break; + default: + warnx("%s: bad service type %u", __func__, si.si_socktype); + goto freedata; } if (xprt == NULL) diff --git a/lib/libc/rpc/svc_raw.c b/lib/libc/rpc/svc_raw.c index 92520908b..f1b2640ee 100644 --- a/lib/libc/rpc/svc_raw.c +++ b/lib/libc/rpc/svc_raw.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_raw.c,v 1.22 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc_raw.c,v 1.24 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -39,7 +41,7 @@ #if 0 static char sccsid[] = "@(#)svc_raw.c 1.25 89/01/31 Copyr 1984 Sun Micro"; #else -__RCSID("$NetBSD: svc_raw.c,v 1.22 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc_raw.c,v 1.24 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -117,7 +119,8 @@ svc_raw_create(void) svc_raw_ops(&srp->server); srp->server.xp_verf.oa_base = srp->verf_body; xdrmem_create(&srp->xdr_stream, srp->raw_buf, UDPMSGSIZE, XDR_DECODE); - xprt_register(&srp->server); + if (!xprt_register(&srp->server)) + goto out; mutex_unlock(&svcraw_lock); return (&srp->server); out: diff --git a/lib/libc/rpc/svc_run.c b/lib/libc/rpc/svc_run.c index 5688f1901..eb99fd948 100644 --- a/lib/libc/rpc/svc_run.c +++ b/lib/libc/rpc/svc_run.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_run.c,v 1.20 2012/06/24 15:26:03 christos Exp $ */ +/* $NetBSD: svc_run.c,v 1.22 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)svc_run.c 1.1 87/10/13 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)svc_run.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: svc_run.c,v 1.20 2012/06/24 15:26:03 christos Exp $"); +__RCSID("$NetBSD: svc_run.c,v 1.22 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -53,6 +55,7 @@ __RCSID("$NetBSD: svc_run.c,v 1.20 2012/06/24 15:26:03 christos Exp $"); #include +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -65,6 +68,10 @@ svc_run(void) { fd_set readfds, cleanfds; struct timeval timeout; + int maxfd; +#ifndef RUMP_RPC + int probs = 0; +#endif #ifdef _REENTRANT extern rwlock_t svc_fd_lock; #endif @@ -74,21 +81,31 @@ svc_run(void) for (;;) { rwlock_rdlock(&svc_fd_lock); - readfds = svc_fdset; - cleanfds = svc_fdset; + readfds = *get_fdset(); + cleanfds = *get_fdset(); + maxfd = *get_fdsetmax(); rwlock_unlock(&svc_fd_lock); - switch (select(svc_maxfd+1, &readfds, NULL, NULL, &timeout)) { + switch (select(maxfd + 1, &readfds, NULL, NULL, &timeout)) { case -1: +#ifndef RUMP_RPC + if ((errno == EINTR || errno == EBADF) && probs < 100) { + probs++; + continue; + } +#endif if (errno == EINTR) { continue; } - warn("svc_run: - select failed"); + warn("%s: select failed", __func__); return; case 0: __svc_clean_idle(&cleanfds, 30, FALSE); continue; default: svc_getreqset(&readfds); +#ifndef RUMP_RPC + probs = 0; +#endif } } } @@ -105,6 +122,6 @@ svc_exit(void) #endif rwlock_wrlock(&svc_fd_lock); - FD_ZERO(&svc_fdset); + FD_ZERO(get_fdset()); rwlock_unlock(&svc_fd_lock); } diff --git a/lib/libc/rpc/svc_simple.c b/lib/libc/rpc/svc_simple.c index f67013706..b010921ef 100644 --- a/lib/libc/rpc/svc_simple.c +++ b/lib/libc/rpc/svc_simple.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_simple.c,v 1.31 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc_simple.c,v 1.33 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * Copyright (c) 1986-1991 by Sun Microsystems Inc. @@ -48,7 +50,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: svc_simple.c,v 1.31 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc_simple.c,v 1.33 2013/03/11 20:19:29 tron Exp $"); #endif #include "namespace.h" @@ -83,8 +85,6 @@ static struct proglst { struct proglst *p_nxt; } *proglst; -static const char rpc_reg_err[] = "%s: %s"; -static const char rpc_reg_msg[] = "rpc_reg: "; static const char __reg_err1[] = "can't find appropriate transport"; static const char __reg_err2[] = "can't get protocol info"; static const char __reg_err3[] = "unsupported transport size"; @@ -119,15 +119,15 @@ rpc_reg( #endif if (procnum == NULLPROC) { - warnx("%s can't reassign procedure number %u", rpc_reg_msg, - NULLPROC); + warnx("%s: can't reassign procedure number %u", __func__, + NULLPROC); return (-1); } if (nettype == NULL) nettype = __UNCONST("netpath"); /* The default behavior */ if ((handle = __rpc_setconf(nettype)) == NULL) { - warnx(rpc_reg_err, rpc_reg_msg, __reg_err1); + warnx("%s: %s", __func__, __reg_err1); return (-1); } /* VARIABLES PROTECTED BY proglst_lock: proglst */ @@ -161,19 +161,19 @@ rpc_reg( if (svcxprt == NULL) continue; if (!__rpc_fd2sockinfo(svcxprt->xp_fd, &si)) { - warnx(rpc_reg_err, rpc_reg_msg, __reg_err2); + warnx("%s: %s", __func__, __reg_err2); SVC_DESTROY(svcxprt); continue; } recvsz = __rpc_get_t_size(si.si_af, si.si_proto, 0); if (recvsz == 0) { - warnx(rpc_reg_err, rpc_reg_msg, __reg_err3); + warnx("%s: %s", __func__, __reg_err3); SVC_DESTROY(svcxprt); continue; } - if (((xdrbuf = malloc((size_t)recvsz)) == NULL) || + if (((xdrbuf = mem_alloc((size_t)recvsz)) == NULL) || ((netid = strdup(nconf->nc_netid)) == NULL)) { - warnx(rpc_reg_err, rpc_reg_msg, __no_mem_str); + warnx("%s: %s", __func__, __no_mem_str); if (xdrbuf != NULL) free(xdrbuf); if (netid != NULL) @@ -200,9 +200,9 @@ rpc_reg( } if (!svc_reg(svcxprt, prognum, versnum, universal, nconf)) { - warnx("%s couldn't register prog %u vers %u for %s", - rpc_reg_msg, (unsigned)prognum, - (unsigned)versnum, netid); + warnx("%s: couldn't register prog %u vers %u for %s", + __func__, (unsigned)prognum, + (unsigned)versnum, netid); if (madenow) { SVC_DESTROY(svcxprt); free(xdrbuf); @@ -213,7 +213,7 @@ rpc_reg( pl = malloc(sizeof(*pl)); if (pl == NULL) { - warnx(rpc_reg_err, rpc_reg_msg, __no_mem_str); + warn("%s: %s", __func__, __no_mem_str); if (madenow) { SVC_DESTROY(svcxprt); free(xdrbuf); @@ -239,8 +239,8 @@ rpc_reg( mutex_unlock(&proglst_lock); if (done == FALSE) { - warnx("%s cant find suitable transport for %s", - rpc_reg_msg, nettype); + warnx("%s: can't find suitable transport for %s", + __func__, nettype); return (-1); } return (0); @@ -273,7 +273,7 @@ universal(struct svc_req *rqstp, SVCXPRT *transp) if (rqstp->rq_proc == NULLPROC) { if (svc_sendreply(transp, (xdrproc_t) xdr_void, NULL) == FALSE) { - warnx("svc_sendreply failed"); + warnx("%s: svc_sendreply failed", __func__); } return; } @@ -307,9 +307,8 @@ universal(struct svc_req *rqstp, SVCXPRT *transp) return; } if (!svc_sendreply(transp, pl->p_outproc, outdata)) { - warnx( - "rpc: rpc_reg trouble replying to prog %u vers %u", - (unsigned)prog, (unsigned)vers); + warnx("%s: trouble replying to prog %u vers %u", + __func__, (unsigned)prog, (unsigned)vers); mutex_unlock(&proglst_lock); return; } @@ -320,7 +319,7 @@ universal(struct svc_req *rqstp, SVCXPRT *transp) } mutex_unlock(&proglst_lock); /* This should never happen */ - warnx("rpc: rpc_reg: never registered prog %u vers %u", - (unsigned)prog, (unsigned)vers); + warnx("%s: never registered prog %u vers %u", __func__, + (unsigned)prog, (unsigned)vers); return; } diff --git a/lib/libc/rpc/svc_vc.c b/lib/libc/rpc/svc_vc.c index ecb239109..f045ab585 100644 --- a/lib/libc/rpc/svc_vc.c +++ b/lib/libc/rpc/svc_vc.c @@ -1,32 +1,34 @@ -/* $NetBSD: svc_vc.c,v 1.26 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: svc_vc.c,v 1.30 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)svc_tcp.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: svc_vc.c,v 1.26 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: svc_vc.c,v 1.30 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -68,6 +70,7 @@ __RCSID("$NetBSD: svc_vc.c,v 1.26 2012/03/20 17:14:50 matt Exp $"); #include +#include "svc_fdset.h" #include "rpc_internal.h" #ifdef __weak_alias @@ -145,7 +148,7 @@ svc_vc_create(int fd, u_int sendsize, u_int recvsize) r = mem_alloc(sizeof(*r)); if (r == NULL) { - warnx("svc_vc_create: out of memory"); + warn("%s: out of memory", __func__); return NULL; } r->sendsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)sendsize); @@ -153,7 +156,7 @@ svc_vc_create(int fd, u_int sendsize, u_int recvsize) r->maxrec = __svc_maxrec; xprt = mem_alloc(sizeof(SVCXPRT)); if (xprt == NULL) { - warnx("svc_vc_create: out of memory"); + warn("%s: out of memory", __func__); goto cleanup_svc_vc_create; } xprt->xp_tp = NULL; @@ -167,7 +170,7 @@ svc_vc_create(int fd, u_int sendsize, u_int recvsize) slen = sizeof (struct sockaddr_storage); if (getsockname(fd, (struct sockaddr *)(void *)&sslocal, &slen) < 0) { - warnx("svc_vc_create: could not retrieve local addr"); + warn("%s: could not retrieve local addr", __func__); goto cleanup_svc_vc_create; } @@ -182,13 +185,14 @@ svc_vc_create(int fd, u_int sendsize, u_int recvsize) xprt->xp_ltaddr.maxlen = xprt->xp_ltaddr.len = sslocal.ss_len; xprt->xp_ltaddr.buf = mem_alloc((size_t)sslocal.ss_len); if (xprt->xp_ltaddr.buf == NULL) { - warnx("svc_vc_create: no mem for local addr"); + warn("%s: out of memory", __func__); goto cleanup_svc_vc_create; } memcpy(xprt->xp_ltaddr.buf, &sslocal, (size_t)sslocal.ss_len); xprt->xp_rtaddr.maxlen = sizeof (struct sockaddr_storage); - xprt_register(xprt); + if (!xprt_register(xprt)) + goto cleanup_svc_vc_create; return xprt; cleanup_svc_vc_create: if (xprt) @@ -217,26 +221,26 @@ svc_fd_create(int fd, u_int sendsize, u_int recvsize) slen = sizeof (struct sockaddr_storage); if (getsockname(fd, (struct sockaddr *)(void *)&ss, &slen) < 0) { - warnx("svc_fd_create: could not retrieve local addr"); + warn("%s: could not retrieve local addr", __func__); goto freedata; } ret->xp_ltaddr.maxlen = ret->xp_ltaddr.len = ss.ss_len; ret->xp_ltaddr.buf = mem_alloc((size_t)ss.ss_len); if (ret->xp_ltaddr.buf == NULL) { - warnx("svc_fd_create: no mem for local addr"); + warn("%s: out of memory", __func__); goto freedata; } memcpy(ret->xp_ltaddr.buf, &ss, (size_t)ss.ss_len); slen = sizeof (struct sockaddr_storage); if (getpeername(fd, (struct sockaddr *)(void *)&ss, &slen) < 0) { - warnx("svc_fd_create: could not retrieve remote addr"); + warn("%s: could not retrieve remote addr", __func__); goto freedata; } ret->xp_rtaddr.maxlen = ret->xp_rtaddr.len = ss.ss_len; ret->xp_rtaddr.buf = mem_alloc((size_t)ss.ss_len); if (ret->xp_rtaddr.buf == NULL) { - warnx("svc_fd_create: no mem for local addr"); + warn("%s: out of memory", __func__); goto freedata; } memcpy(ret->xp_rtaddr.buf, &ss, (size_t)ss.ss_len); @@ -268,11 +272,11 @@ makefd_xprt(int fd, u_int sendsize, u_int recvsize) xprt = mem_alloc(sizeof(SVCXPRT)); if (xprt == NULL) - goto out; + goto outofmem; memset(xprt, 0, sizeof *xprt); cd = mem_alloc(sizeof(struct cf_conn)); if (cd == NULL) - goto out; + goto outofmem; cd->strm_stat = XPRT_IDLE; xdrrec_create(&(cd->xdrs), sendsize, recvsize, (caddr_t)(void *)xprt, read_vc, write_vc); @@ -283,12 +287,15 @@ makefd_xprt(int fd, u_int sendsize, u_int recvsize) xprt->xp_fd = fd; if (__rpc_fd2sockinfo(fd, &si) && __rpc_sockinfo2netid(&si, &netid)) if ((xprt->xp_netid = strdup(netid)) == NULL) - goto out; + goto outofmem; - xprt_register(xprt); + if (!xprt_register(xprt)) + goto out; return xprt; -out: + +outofmem: warn("svc_tcp: makefd_xprt"); +out: if (xprt) mem_free(xprt, sizeof(SVCXPRT)); return NULL; @@ -322,7 +329,7 @@ again: * running out. */ if (errno == EMFILE || errno == ENFILE) { - cleanfds = svc_fdset; + cleanfds = *get_fdset(); if (__svc_clean_idle(&cleanfds, 0, FALSE)) goto again; } diff --git a/lib/libc/rpc/xdr.c b/lib/libc/rpc/xdr.c index 7c306057d..eb46fc491 100644 --- a/lib/libc/rpc/xdr.c +++ b/lib/libc/rpc/xdr.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr.c,v 1.31 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: xdr.c,v 1.33 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr.c 1.35 87/08/12"; static char *sccsid = "@(#)xdr.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr.c,v 1.31 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: xdr.c,v 1.33 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -619,7 +621,7 @@ xdr_bytes(XDR *xdrs, char **cpp, u_int *sizep, u_int maxsize) *cpp = sp = mem_alloc(nodesize); } if (sp == NULL) { - warnx("xdr_bytes: out of memory"); + warn("%s: out of memory", __func__); return (FALSE); } /* FALLTHROUGH */ @@ -768,7 +770,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) if (sp == NULL) *cpp = sp = mem_alloc(nodesize); if (sp == NULL) { - warnx("xdr_string: out of memory"); + warn("%s: out of memory", __func__); return (FALSE); } sp[size] = 0; diff --git a/lib/libc/rpc/xdr_array.c b/lib/libc/rpc/xdr_array.c index 113d51342..643e6e65a 100644 --- a/lib/libc/rpc/xdr_array.c +++ b/lib/libc/rpc/xdr_array.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr_array.c,v 1.17 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: xdr_array.c,v 1.19 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr_array.c 1.10 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)xdr_array.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr_array.c,v 1.17 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: xdr_array.c,v 1.19 2013/03/11 20:19:29 tron Exp $"); #endif #endif @@ -102,7 +104,7 @@ xdr_array(XDR *xdrs, caddr_t *addrp, u_int *sizep, u_int maxsize, u_int elsize, return (TRUE); *addrp = target = mem_alloc(nodesize); if (target == NULL) { - warnx("xdr_array: out of memory"); + warn("%s: out of memory", __func__); return (FALSE); } memset(target, 0, nodesize); diff --git a/lib/libc/rpc/xdr_float.c b/lib/libc/rpc/xdr_float.c index bd9a31b2a..96d4a4015 100644 --- a/lib/libc/rpc/xdr_float.c +++ b/lib/libc/rpc/xdr_float.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr_float.c,v 1.37 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: xdr_float.c,v 1.38 2013/03/11 20:19:29 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)xdr_float.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr_float.c,v 1.37 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: xdr_float.c,v 1.38 2013/03/11 20:19:29 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/xdr_mem.c b/lib/libc/rpc/xdr_mem.c index 3f1adcfc8..05d77c34a 100644 --- a/lib/libc/rpc/xdr_mem.c +++ b/lib/libc/rpc/xdr_mem.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr_mem.c,v 1.18 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: xdr_mem.c,v 1.19 2013/03/11 20:19:30 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr_mem.c 1.19 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)xdr_mem.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr_mem.c,v 1.18 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: xdr_mem.c,v 1.19 2013/03/11 20:19:30 tron Exp $"); #endif #endif diff --git a/lib/libc/rpc/xdr_rec.c b/lib/libc/rpc/xdr_rec.c index 79d5adf40..c6cb5a185 100644 --- a/lib/libc/rpc/xdr_rec.c +++ b/lib/libc/rpc/xdr_rec.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr_rec.c,v 1.33 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: xdr_rec.c,v 1.35 2013/03/11 20:19:30 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr_rec.c 1.21 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)xdr_rec.c 2.2 88/08/01 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr_rec.c,v 1.33 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: xdr_rec.c,v 1.35 2013/03/11 20:19:30 tron Exp $"); #endif #endif @@ -187,7 +189,7 @@ xdrrec_create( RECSTREAM *rstrm = mem_alloc(sizeof(RECSTREAM)); if (rstrm == NULL) { - warnx("xdrrec_create: out of memory"); + warn("%s: out of memory", __func__); /* * This is bad. Should rework xdrrec_create to * return a handle, and in this case return NULL @@ -198,7 +200,7 @@ xdrrec_create( rstrm->sendsize = sendsize = fix_buf_size(sendsize); rstrm->out_base = malloc(rstrm->sendsize); if (rstrm->out_base == NULL) { - warnx("xdrrec_create: out of memory"); + warn("%s: out of memory", __func__); mem_free(rstrm, sizeof(RECSTREAM)); return; } @@ -206,7 +208,7 @@ xdrrec_create( rstrm->recvsize = recvsize = fix_buf_size(recvsize); rstrm->in_base = malloc(recvsize); if (rstrm->in_base == NULL) { - warnx("xdrrec_create: out of memory"); + warn("%s: out of memory", __func__); mem_free(rstrm->out_base, sendsize); mem_free(rstrm, sizeof(RECSTREAM)); return; diff --git a/lib/libc/rpc/xdr_reference.c b/lib/libc/rpc/xdr_reference.c index 25b085ece..a126d95fc 100644 --- a/lib/libc/rpc/xdr_reference.c +++ b/lib/libc/rpc/xdr_reference.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr_reference.c,v 1.16 2012/06/25 22:32:45 abs Exp $ */ +/* $NetBSD: xdr_reference.c,v 1.18 2013/03/11 20:19:30 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr_reference.c 1.11 87/08/11 SMI"; static char *sccsid = "@(#)xdr_reference.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr_reference.c,v 1.16 2012/06/25 22:32:45 abs Exp $"); +__RCSID("$NetBSD: xdr_reference.c,v 1.18 2013/03/11 20:19:30 tron Exp $"); #endif #endif @@ -86,7 +88,7 @@ xdr_reference(XDR *xdrs, caddr_t *pp, u_int size, xdrproc_t proc) case XDR_DECODE: *pp = loc = mem_alloc(size); if (loc == NULL) { - warnx("xdr_reference: out of memory"); + warn("%s: out of memory", __func__); return (FALSE); } memset(loc, 0, size); diff --git a/lib/libc/rpc/xdr_sizeof.c b/lib/libc/rpc/xdr_sizeof.c index 08eaaa4e9..8b6e331e6 100644 --- a/lib/libc/rpc/xdr_sizeof.c +++ b/lib/libc/rpc/xdr_sizeof.c @@ -1,30 +1,32 @@ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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. */ /* * xdr_sizeof.c @@ -39,7 +41,7 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/xdr/xdr_sizeof.c,v 1.5.38.1 2010/12/21 17:10:29 kensmith Exp $"); #else -__RCSID("$NetBSD: xdr_sizeof.c,v 1.4 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: xdr_sizeof.c,v 1.5 2013/03/11 20:19:30 tron Exp $"); #endif #include "namespace.h" diff --git a/lib/libc/rpc/xdr_stdio.c b/lib/libc/rpc/xdr_stdio.c index e2ac2375a..540532765 100644 --- a/lib/libc/rpc/xdr_stdio.c +++ b/lib/libc/rpc/xdr_stdio.c @@ -1,32 +1,34 @@ -/* $NetBSD: xdr_stdio.c,v 1.18 2012/03/20 17:14:50 matt Exp $ */ +/* $NetBSD: xdr_stdio.c,v 1.19 2013/03/11 20:19:30 tron Exp $ */ /* - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. - * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. - * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. - * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. - * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. - * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, Inc." 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 @@ -35,7 +37,7 @@ static char *sccsid = "@(#)xdr_stdio.c 1.16 87/08/11 Copyr 1984 Sun Micro"; static char *sccsid = "@(#)xdr_stdio.c 2.1 88/07/29 4.0 RPCSRC"; #else -__RCSID("$NetBSD: xdr_stdio.c,v 1.18 2012/03/20 17:14:50 matt Exp $"); +__RCSID("$NetBSD: xdr_stdio.c,v 1.19 2013/03/11 20:19:30 tron Exp $"); #endif #endif diff --git a/lib/libc/shlib_version b/lib/libc/shlib_version index 8709d4b83..55151d730 100644 --- a/lib/libc/shlib_version +++ b/lib/libc/shlib_version @@ -1,12 +1,15 @@ -# $NetBSD: shlib_version,v 1.235 2012/08/24 06:12:52 dholland Exp $ +# $NetBSD: shlib_version,v 1.244 2013/11/10 20:59:27 joerg Exp $ # Remember to update distrib/sets/lists/base/shl.* when changing # # things we wish to do on next major version bump: +# - remove code under BUILD_LEGACY +# - remove BCS code in citrus and replace it with use of the C locale # - libc/net/rcmd.c: make __ivaliduser() and __ivaliduser_sa() static # - libc/net: resolver update to BIND8/9? # - md2, md4, md5, rmd160 & sha1 functions should take the same arguments AFAP # - Crypto hashes have name overlap with libcrypto, rename them # - libc/gen/assert.c: __{diag,}assert13() -> __{diag,}assert() +# - lib/libc/net/iso_addr.c: remove # - libc/gen/times.c: remove; __times13() -> times() # - libc/gen/timezone.c: remove; __timezone13 -> timezone # - libc/net/getaddrinfo.c, netdb.h: remove __ai_pad0 @@ -28,11 +31,11 @@ # for example in assembler code. # - kill sigcontext: never request version 0 or 1 signal trampoline. # always request version 2 trampoline. (on vax, 3). -# - change _ctype_ table in ctype.h and gen/ctype_.c 8bit -> 16 or 32bit. -# it's insufficient bitwidth to implement all ctype class. -# see isblank's comment in ctype.h. # - remove gets(); it is finally dead in c11. # - make __cerror (spelled CERROR) hidden again # - remove ruserok() and friends to libcompat (or entirely) -major=0 -minor=0 +# - remove alloca fallback and expect compiler to provide a builtin version. +# - switch to DT_INIT_ARRAY on all platforms +# - consolidate ownership with crt0.o and avoid common symbols +major=12 +minor=187 diff --git a/lib/libc/softfloat/Makefile.inc b/lib/libc/softfloat/Makefile.inc index 33dbd3f30..f2d676a90 100644 --- a/lib/libc/softfloat/Makefile.inc +++ b/lib/libc/softfloat/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.15 2013/04/30 01:42:04 matt Exp $ SOFTFLOAT_BITS?=64 .if defined(__MINIX) @@ -21,17 +21,29 @@ SRCS.softfloat= softfloat.c SRCS.softfloat+=fpgetround.c fpsetround.c fpgetmask.c fpsetmask.c \ fpgetsticky.c fpsetsticky.c +.if !empty(LIBC_MACHINE_ARCH:Mearm*) +SRCS.softfloat+=__aeabi_dcmpeq.c __aeabi_fcmpeq.c +SRCS.softfloat+=__aeabi_dcmpge.c __aeabi_fcmpge.c +SRCS.softfloat+=__aeabi_dcmpgt.c __aeabi_fcmpgt.c +SRCS.softfloat+=__aeabi_dcmple.c __aeabi_fcmple.c +SRCS.softfloat+=__aeabi_dcmplt.c __aeabi_fcmplt.c +SRCS.softfloat+=__aeabi_dcmpun.c __aeabi_fcmpun.c +.else SRCS.softfloat+=eqsf2.c nesf2.c gtsf2.c gesf2.c ltsf2.c lesf2.c negsf2.c \ eqdf2.c nedf2.c gtdf2.c gedf2.c ltdf2.c ledf2.c negdf2.c \ eqtf2.c netf2.c gttf2.c getf2.c lttf2.c letf2.c negtf2.c \ nexf2.c gtxf2.c gexf2.c negxf2.c unordsf2.c unorddf2.c +.endif SRCS+= ${SRCS.softfloat} # XXX -.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45 && \ - (${MACHINE_CPU} == "arm" || \ - ${MACHINE_CPU} == "mips" || \ +.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45 +.if (${MACHINE_CPU} == "arm") +# See doc/HACKS for more information. +COPTS.softfloat.c+= -Wno-enum-compare -fno-tree-vrp +.elif (${MACHINE_CPU} == "mips" || \ ${MACHINE_CPU} == "sh3") COPTS.softfloat.c+= -Wno-enum-compare .endif +.endif diff --git a/lib/libc/softfloat/bits32/softfloat.c b/lib/libc/softfloat/bits32/softfloat.c index 2fd15f949..a3527e0d2 100644 --- a/lib/libc/softfloat/bits32/softfloat.c +++ b/lib/libc/softfloat/bits32/softfloat.c @@ -1,4 +1,4 @@ -/* $NetBSD: softfloat.c,v 1.2 2012/03/21 14:17:54 christos Exp $ */ +/* $NetBSD: softfloat.c,v 1.3 2013/01/10 08:16:11 matt Exp $ */ /* * This version hacked for use with gcc -msoft-float by bjh21. @@ -53,7 +53,7 @@ this code that are retained. #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: softfloat.c,v 1.2 2012/03/21 14:17:54 christos Exp $"); +__RCSID("$NetBSD: softfloat.c,v 1.3 2013/01/10 08:16:11 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #ifdef SOFTFLOAT_FOR_GCC @@ -79,8 +79,14 @@ __RCSID("$NetBSD: softfloat.c,v 1.2 2012/03/21 14:17:54 christos Exp $"); Floating-point rounding mode and exception flags. ------------------------------------------------------------------------------- */ +#ifndef set_float_rounding_mode fp_rnd float_rounding_mode = float_round_nearest_even; fp_except float_exception_flags = 0; +#endif +#ifndef set_float_exception_inexact_flag +#define set_float_exception_inexact_flag() \ + ((void)(float_exception_flags |= float_flag_inexact)) +#endif /* ------------------------------------------------------------------------------- @@ -244,7 +250,7 @@ static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) if ( isTiny && roundBits ) float_raise( float_flag_underflow ); } } - if ( roundBits ) float_exception_flags |= float_flag_inexact; + if ( roundBits ) set_float_exception_inexact_flag(); zSig = ( zSig + roundIncrement )>>7; zSig &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven ); if ( zSig == 0 ) zExp = 0; @@ -472,7 +478,7 @@ static float64 } } } - if ( zSig2 ) float_exception_flags |= float_flag_inexact; + if ( zSig2 ) set_float_exception_inexact_flag(); if ( increment ) { add64( zSig0, zSig1, 0, 1, &zSig0, &zSig1 ); zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven ); @@ -615,7 +621,7 @@ int32 float32_to_int32( float32 a ) aSigExtra = aSig<<( shiftCount & 31 ); z = aSig>>( - shiftCount ); } - if ( aSigExtra ) float_exception_flags |= float_flag_inexact; + if ( aSigExtra ) set_float_exception_inexact_flag(); roundingMode = float_rounding_mode; if ( roundingMode == float_round_nearest_even ) { if ( (sbits32) aSigExtra < 0 ) { @@ -670,13 +676,13 @@ int32 float32_to_int32_round_to_zero( float32 a ) return (sbits32) 0x80000000; } else if ( aExp <= 0x7E ) { - if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; + if ( aExp | aSig ) set_float_exception_inexact_flag(); return 0; } aSig = ( aSig | 0x00800000 )<<8; z = aSig>>( - shiftCount ); if ( (bits32) ( aSig<<( shiftCount & 31 ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } if ( aSign ) z = - z; return z; @@ -740,7 +746,7 @@ float32 float32_round_to_int( float32 a ) } if ( aExp <= 0x7E ) { if ( (bits32) ( a<<1 ) == 0 ) return a; - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); aSign = extractFloat32Sign( a ); switch ( float_rounding_mode ) { case float_round_nearest_even: @@ -772,7 +778,7 @@ float32 float32_round_to_int( float32 a ) } } z &= ~ roundBitsMask; - if ( z != a ) float_exception_flags |= float_flag_inexact; + if ( z != a ) set_float_exception_inexact_flag(); return z; } @@ -1463,7 +1469,7 @@ int32 float64_to_int32( float64 a ) float_raise( float_flag_invalid ); return aSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; } - if ( aSigExtra ) float_exception_flags |= float_flag_inexact; + if ( aSigExtra ) set_float_exception_inexact_flag(); return z; } @@ -1503,7 +1509,7 @@ int32 float64_to_int32_round_to_zero( float64 a ) else { if ( aExp < 0x3FF ) { if ( aExp | aSig0 | aSig1 ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } return 0; } @@ -1517,7 +1523,7 @@ int32 float64_to_int32_round_to_zero( float64 a ) float_raise( float_flag_invalid ); return aSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; } - if ( aSigExtra ) float_exception_flags |= float_flag_inexact; + if ( aSigExtra ) set_float_exception_inexact_flag(); return z; } @@ -1607,7 +1613,7 @@ float64 float64_round_to_int( float64 a ) else { if ( aExp <= 0x3FE ) { if ( ( ( (bits32) ( a.high<<1 ) ) | a.low ) == 0 ) return a; - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); aSign = extractFloat64Sign( a ); switch ( float_rounding_mode ) { case float_round_nearest_even: @@ -1650,7 +1656,7 @@ float64 float64_round_to_int( float64 a ) z.high &= ~ roundBitsMask; } if ( ( z.low != a.low ) || ( z.high != a.high ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } return z; diff --git a/lib/libc/softfloat/bits64/softfloat.c b/lib/libc/softfloat/bits64/softfloat.c index 75d86d25d..aed0c6ab1 100644 --- a/lib/libc/softfloat/bits64/softfloat.c +++ b/lib/libc/softfloat/bits64/softfloat.c @@ -1,4 +1,4 @@ -/* $NetBSD: softfloat.c,v 1.11 2012/03/24 00:06:20 matt Exp $ */ +/* $NetBSD: softfloat.c,v 1.13 2013/11/22 17:04:24 martin Exp $ */ /* * This version hacked for use with gcc -msoft-float by bjh21. @@ -46,7 +46,7 @@ this code that are retained. #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: softfloat.c,v 1.11 2012/03/24 00:06:20 matt Exp $"); +__RCSID("$NetBSD: softfloat.c,v 1.13 2013/11/22 17:04:24 martin Exp $"); #endif /* LIBC_SCCS and not lint */ #ifdef SOFTFLOAT_FOR_GCC @@ -73,8 +73,14 @@ Floating-point rounding mode, extended double-precision rounding precision, and exception flags. ------------------------------------------------------------------------------- */ +#ifndef set_float_rounding_mode fp_rnd float_rounding_mode = float_round_nearest_even; fp_except float_exception_flags = 0; +#endif +#ifndef set_float_exception_inexact_flag +#define set_float_exception_inexact_flag() \ + ((void)(float_exception_flags |= float_flag_inexact)) +#endif #ifdef FLOATX80 int8 floatx80_rounding_precision = 80; #endif @@ -146,7 +152,7 @@ static int32 roundAndPackInt32( flag zSign, bits64 absZ ) float_raise( float_flag_invalid ); return zSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; } - if ( roundBits ) float_exception_flags |= float_flag_inexact; + if ( roundBits ) set_float_exception_inexact_flag(); return z; } @@ -200,7 +206,7 @@ static int64 roundAndPackInt64( flag zSign, bits64 absZ0, bits64 absZ1 ) zSign ? (sbits64) LIT64( 0x8000000000000000 ) : LIT64( 0x7FFFFFFFFFFFFFFF ); } - if ( absZ1 ) float_exception_flags |= float_flag_inexact; + if ( absZ1 ) set_float_exception_inexact_flag(); return z; } @@ -347,7 +353,7 @@ static float32 roundAndPackFloat32( flag zSign, int16 zExp, bits32 zSig ) if ( isTiny && roundBits ) float_raise( float_flag_underflow ); } } - if ( roundBits ) float_exception_flags |= float_flag_inexact; + if ( roundBits ) set_float_exception_inexact_flag(); zSig = ( zSig + roundIncrement )>>7; zSig &= ~ ( ( ( roundBits ^ 0x40 ) == 0 ) & roundNearestEven ); if ( zSig == 0 ) zExp = 0; @@ -519,7 +525,7 @@ static float64 roundAndPackFloat64( flag zSign, int16 zExp, bits64 zSig ) if ( isTiny && roundBits ) float_raise( float_flag_underflow ); } } - if ( roundBits ) float_exception_flags |= float_flag_inexact; + if ( roundBits ) set_float_exception_inexact_flag(); zSig = ( zSig + roundIncrement )>>10; zSig &= ~ ( ( ( roundBits ^ 0x200 ) == 0 ) & roundNearestEven ); if ( zSig == 0 ) zExp = 0; @@ -702,7 +708,7 @@ static floatx80 zExp = 0; roundBits = zSig0 & roundMask; if ( isTiny && roundBits ) float_raise( float_flag_underflow ); - if ( roundBits ) float_exception_flags |= float_flag_inexact; + if ( roundBits ) set_float_exception_inexact_flag(); zSig0 += roundIncrement; if ( (sbits64) zSig0 < 0 ) zExp = 1; roundIncrement = roundMask + 1; @@ -713,7 +719,7 @@ static floatx80 return packFloatx80( zSign, zExp, zSig0 ); } } - if ( roundBits ) float_exception_flags |= float_flag_inexact; + if ( roundBits ) set_float_exception_inexact_flag(); zSig0 += roundIncrement; if ( zSig0 < roundIncrement ) { ++zExp; @@ -768,7 +774,7 @@ static floatx80 shift64ExtraRightJamming( zSig0, zSig1, 1 - zExp, &zSig0, &zSig1 ); zExp = 0; if ( isTiny && zSig1 ) float_raise( float_flag_underflow ); - if ( zSig1 ) float_exception_flags |= float_flag_inexact; + if ( zSig1 ) set_float_exception_inexact_flag(); if ( roundNearestEven ) { increment = ( (sbits64) zSig1 < 0 ); } @@ -789,7 +795,7 @@ static floatx80 return packFloatx80( zSign, zExp, zSig0 ); } } - if ( zSig1 ) float_exception_flags |= float_flag_inexact; + if ( zSig1 ) set_float_exception_inexact_flag(); if ( increment ) { ++zSig0; if ( zSig0 == 0 ) { @@ -1059,7 +1065,7 @@ static float128 } } } - if ( zSig2 ) float_exception_flags |= float_flag_inexact; + if ( zSig2 ) set_float_exception_inexact_flag(); if ( increment ) { add128( zSig0, zSig1, 0, 1, &zSig0, &zSig1 ); zSig1 &= ~ ( ( zSig2 + zSig2 == 0 ) & roundNearestEven ); @@ -1431,13 +1437,13 @@ int32 float32_to_int32_round_to_zero( float32 a ) return (sbits32) 0x80000000; } else if ( aExp <= 0x7E ) { - if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; + if ( aExp | aSig ) set_float_exception_inexact_flag(); return 0; } aSig = ( aSig | 0x00800000 )<<8; z = aSig>>( - shiftCount ); if ( (bits32) ( aSig<<( shiftCount & 31 ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } if ( aSign ) z = - z; return z; @@ -1515,14 +1521,14 @@ int64 float32_to_int64_round_to_zero( float32 a ) return (sbits64) LIT64( 0x8000000000000000 ); } else if ( aExp <= 0x7E ) { - if ( aExp | aSig ) float_exception_flags |= float_flag_inexact; + if ( aExp | aSig ) set_float_exception_inexact_flag(); return 0; } aSig64 = aSig | 0x00800000; aSig64 <<= 40; z = aSig64>>( - shiftCount ); if ( (bits64) ( aSig64<<( shiftCount & 63 ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } if ( aSign ) z = - z; return z; @@ -1654,7 +1660,7 @@ float32 float32_round_to_int( float32 a ) } if ( aExp <= 0x7E ) { if ( (bits32) ( a<<1 ) == 0 ) return a; - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); aSign = extractFloat32Sign( a ); switch ( float_rounding_mode ) { case float_round_nearest_even: @@ -1686,7 +1692,7 @@ float32 float32_round_to_int( float32 a ) } } z &= ~ roundBitsMask; - if ( z != a ) float_exception_flags |= float_flag_inexact; + if ( z != a ) set_float_exception_inexact_flag(); return z; } @@ -2372,7 +2378,7 @@ int32 float64_to_int32_round_to_zero( float64 a ) goto invalid; } else if ( aExp < 0x3FF ) { - if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; + if ( aExp || aSig ) set_float_exception_inexact_flag(); return 0; } aSig |= LIT64( 0x0010000000000000 ); @@ -2387,7 +2393,7 @@ int32 float64_to_int32_round_to_zero( float64 a ) return aSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; } if ( ( aSig<>( - shiftCount ); if ( (bits64) ( aSig<<( shiftCount & 63 ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } } if ( aSign ) z = - z; @@ -2619,7 +2625,7 @@ float64 float64_round_to_int( float64 a ) } if ( aExp < 0x3FF ) { if ( (bits64) ( a<<1 ) == 0 ) return a; - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); aSign = extractFloat64Sign( a ); switch ( float_rounding_mode ) { case float_round_nearest_even: @@ -2652,7 +2658,7 @@ float64 float64_round_to_int( float64 a ) } } z &= ~ roundBitsMask; - if ( z != a ) float_exception_flags |= float_flag_inexact; + if ( z != a ) set_float_exception_inexact_flag(); return z; } @@ -3333,7 +3339,7 @@ int32 floatx80_to_int32_round_to_zero( floatx80 a ) goto invalid; } else if ( aExp < 0x3FFF ) { - if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; + if ( aExp || aSig ) set_float_exception_inexact_flag(); return 0; } shiftCount = 0x403E - aExp; @@ -3347,7 +3353,7 @@ int32 floatx80_to_int32_round_to_zero( floatx80 a ) return aSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; } if ( ( aSig<>( - shiftCount ); if ( (bits64) ( aSig<<( shiftCount & 63 ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } if ( aSign ) z = - z; return z; @@ -3554,7 +3560,7 @@ floatx80 floatx80_round_to_int( floatx80 a ) && ( (bits64) ( extractFloatx80Frac( a )<<1 ) == 0 ) ) { return a; } - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); aSign = extractFloatx80Sign( a ); switch ( float_rounding_mode ) { case float_round_nearest_even: @@ -3597,7 +3603,7 @@ floatx80 floatx80_round_to_int( floatx80 a ) ++z.high; z.low = LIT64( 0x8000000000000000 ); } - if ( z.low != a.low ) float_exception_flags |= float_flag_inexact; + if ( z.low != a.low ) set_float_exception_inexact_flag(); return z; } @@ -4355,7 +4361,7 @@ int32 float128_to_int32_round_to_zero( float128 a ) goto invalid; } else if ( aExp < 0x3FFF ) { - if ( aExp || aSig0 ) float_exception_flags |= float_flag_inexact; + if ( aExp || aSig0 ) set_float_exception_inexact_flag(); return 0; } aSig0 |= LIT64( 0x0001000000000000 ); @@ -4370,7 +4376,7 @@ int32 float128_to_int32_round_to_zero( float128 a ) return aSign ? (sbits32) 0x80000000 : 0x7FFFFFFF; } if ( ( aSig0<>( ( - shiftCount ) & 63 ) ); if ( (bits64) ( aSig1<>( - shiftCount ); if ( aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } } if ( aSign ) z = - z; @@ -4505,7 +4511,7 @@ uint64 float128_to_uint64_round_to_zero( float128 a ) aSig0 &= LIT64( 0x0000FFFFFFFFFFFF ); if ( ( a.high == LIT64( 0xC03E000000000000 ) ) && ( aSig1 < LIT64( 0x0002000000000000 ) ) ) { - if ( aSig1 ) float_exception_flags |= float_flag_inexact; + if ( aSig1 ) set_float_exception_inexact_flag(); } else { float_raise( float_flag_invalid ); @@ -4514,19 +4520,19 @@ uint64 float128_to_uint64_round_to_zero( float128 a ) } z = ( aSig0<>( ( - shiftCount ) & 63 ) ); if ( (bits64) ( aSig1<>( - shiftCount ); if (aSig1 || ( shiftCount && (bits64) ( aSig0<<( shiftCount & 63 ) ) ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } } if ( aSign ) z = - z; @@ -4699,7 +4705,7 @@ float128 float128_round_to_int( float128 a ) else { if ( aExp < 0x3FFF ) { if ( ( ( (bits64) ( a.high<<1 ) ) | a.low ) == 0 ) return a; - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); aSign = extractFloat128Sign( a ); switch ( float_rounding_mode ) { case float_round_nearest_even: @@ -4745,7 +4751,7 @@ float128 float128_round_to_int( float128 a ) z.high &= ~ roundBitsMask; } if ( ( z.low != a.low ) || ( z.high != a.high ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } return z; @@ -5255,7 +5261,7 @@ float128 float128_sqrt( float128 a ) if ( ( aSig0 | aSig1 ) == 0 ) return packFloat128( 0, 0, 0, 0 ); normalizeFloat128Subnormal( aSig0, aSig1, &aExp, &aSig0, &aSig1 ); } - zExp = ( (unsigned int)(aExp - 0x3FFF) >> 1) + 0x3FFE; + zExp = (int32) ( (aExp - 0x3FFF) >> 1) + 0x3FFE; aSig0 |= LIT64( 0x0001000000000000 ); zSig0 = estimateSqrt32((int16)aExp, (bits32)(aSig0>>17)); shortShift128Left( aSig0, aSig1, 13 - ( aExp & 1 ), &aSig0, &aSig1 ); @@ -5535,7 +5541,7 @@ uint32 float64_to_uint32_round_to_zero( float64 a ) return 0xffffffff; } else if ( aExp < 0x3FF ) { - if ( aExp || aSig ) float_exception_flags |= float_flag_inexact; + if ( aExp || aSig ) set_float_exception_inexact_flag(); return 0; } aSig |= LIT64( 0x0010000000000000 ); @@ -5544,7 +5550,7 @@ uint32 float64_to_uint32_round_to_zero( float64 a ) aSig >>= shiftCount; z = (uint32)aSig; if ( ( aSig<>( - shiftCount ); if ( aSig<<( shiftCount & 31 ) ) { - float_exception_flags |= float_flag_inexact; + set_float_exception_inexact_flag(); } return z; diff --git a/lib/libc/softfloat/eqdf2.c b/lib/libc/softfloat/eqdf2.c index 4a825c18c..47e4b67af 100644 --- a/lib/libc/softfloat/eqdf2.c +++ b/lib/libc/softfloat/eqdf2.c @@ -18,10 +18,11 @@ flag __eqdf2(float64, float64); flag __eqdf2(float64 a, float64 b) { + #if defined(__minix) && defined(__arm__) return float64_eq(a, b); #else /* libgcc1.c says !(a == b) */ return !float64_eq(a, b); -#endif +#endif /* defined(__minix) */ } diff --git a/lib/libc/softfloat/eqsf2.c b/lib/libc/softfloat/eqsf2.c index c86342347..ed4354782 100644 --- a/lib/libc/softfloat/eqsf2.c +++ b/lib/libc/softfloat/eqsf2.c @@ -24,5 +24,5 @@ __eqsf2(float32 a, float32 b) #else /* libgcc1.c says !(a == b) */ return !float32_eq(a, b); -#endif +#endif /* defined(__minix) */ } diff --git a/lib/libc/softfloat/fpsetmask.c b/lib/libc/softfloat/fpsetmask.c index 3657107c6..a47f0b915 100644 --- a/lib/libc/softfloat/fpsetmask.c +++ b/lib/libc/softfloat/fpsetmask.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $ */ +/* $NetBSD: fpsetmask.c,v 1.5 2013/01/10 08:16:10 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $"); +__RCSID("$NetBSD: fpsetmask.c,v 1.5 2013/01/10 08:16:10 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -50,9 +50,11 @@ __weak_alias(fpsetmask,_fpsetmask) fp_except fpsetmask(fp_except mask) { - fp_except old; - - old = float_exception_mask; +#ifdef set_float_exception_mask + return set_float_exception_mask(mask); +#else + const fp_except old = float_exception_mask; float_exception_mask = mask; return old; +#endif } diff --git a/lib/libc/softfloat/fpsetround.c b/lib/libc/softfloat/fpsetround.c index 16c20d303..eb45697dc 100644 --- a/lib/libc/softfloat/fpsetround.c +++ b/lib/libc/softfloat/fpsetround.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetround.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ +/* $NetBSD: fpsetround.c,v 1.4 2013/01/10 08:16:10 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetround.c,v 1.3 2008/04/28 20:23:00 martin Exp $"); +__RCSID("$NetBSD: fpsetround.c,v 1.4 2013/01/10 08:16:10 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -50,9 +50,11 @@ __weak_alias(fpsetround,_fpsetround) fp_rnd fpsetround(fp_rnd rnd_dir) { - fp_rnd old; - - old = float_rounding_mode; +#ifdef set_float_rounding_mode + return set_float_rounding_mode(rnd_dir); +#else + const fp_rnd old = float_rounding_mode; float_rounding_mode = rnd_dir; return old; +#endif } diff --git a/lib/libc/softfloat/fpsetsticky.c b/lib/libc/softfloat/fpsetsticky.c index 2f47367ee..3b8be456f 100644 --- a/lib/libc/softfloat/fpsetsticky.c +++ b/lib/libc/softfloat/fpsetsticky.c @@ -1,4 +1,4 @@ -/* $NetBSD: fpsetsticky.c,v 1.3 2008/04/28 20:23:00 martin Exp $ */ +/* $NetBSD: fpsetsticky.c,v 1.4 2013/01/10 08:16:10 matt Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: fpsetsticky.c,v 1.3 2008/04/28 20:23:00 martin Exp $"); +__RCSID("$NetBSD: fpsetsticky.c,v 1.4 2013/01/10 08:16:10 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -50,9 +50,11 @@ __weak_alias(fpsetsticky,_fpsetsticky) fp_except fpsetsticky(fp_except except) { - fp_except old; - - old = float_exception_flags; +#ifdef set_float_exception_flags + return set_float_exception_flags(except, 1); +#else + const fp_except old = float_exception_flags; float_exception_flags = except; return old; +#endif } diff --git a/lib/libc/softfloat/gedf2.c b/lib/libc/softfloat/gedf2.c index bb0278a8b..a1a1f134c 100644 --- a/lib/libc/softfloat/gedf2.c +++ b/lib/libc/softfloat/gedf2.c @@ -18,10 +18,11 @@ flag __gedf2(float64, float64); flag __gedf2(float64 a, float64 b) { + #if defined(__minix) && defined(__arm__) return float64_le(b, a); #else /* libgcc1.c says (a >= b) - 1 */ return float64_le(b, a) - 1; -#endif +#endif /* defined(__minix) */ } diff --git a/lib/libc/softfloat/gesf2.c b/lib/libc/softfloat/gesf2.c index 3268c303b..cf59a09e9 100644 --- a/lib/libc/softfloat/gesf2.c +++ b/lib/libc/softfloat/gesf2.c @@ -18,10 +18,11 @@ flag __gesf2(float32, float32); flag __gesf2(float32 a, float32 b) { + #if defined(__minix) && defined(__arm__) return float32_le(b, a); #else /* libgcc1.c says (a >= b) - 1 */ return float32_le(b, a) - 1; -#endif +#endif /* defined(__minix) */ } diff --git a/lib/libc/softfloat/ledf2.c b/lib/libc/softfloat/ledf2.c index e936f76b2..5ae03155d 100644 --- a/lib/libc/softfloat/ledf2.c +++ b/lib/libc/softfloat/ledf2.c @@ -24,5 +24,5 @@ __ledf2(float64 a, float64 b) #else /* libgcc1.c says 1 - (a <= b) */ return 1 - float64_le(a, b); -#endif +#endif /* defined(__minix) */ } diff --git a/lib/libc/softfloat/lesf2.c b/lib/libc/softfloat/lesf2.c index 801f041ee..c578929a4 100644 --- a/lib/libc/softfloat/lesf2.c +++ b/lib/libc/softfloat/lesf2.c @@ -24,5 +24,5 @@ __lesf2(float32 a, float32 b) #else /* libgcc1.c says 1 - (a <= b) */ return 1 - float32_le(a, b); -#endif +#endif /* defined(__minix) */ } diff --git a/lib/libc/softfloat/softfloat-for-gcc.h b/lib/libc/softfloat/softfloat-for-gcc.h index ed6e2b061..29937c1ba 100644 --- a/lib/libc/softfloat/softfloat-for-gcc.h +++ b/lib/libc/softfloat/softfloat-for-gcc.h @@ -1,4 +1,4 @@ -/* $NetBSD: softfloat-for-gcc.h,v 1.9 2012/08/05 04:27:42 matt Exp $ */ +/* $NetBSD: softfloat-for-gcc.h,v 1.12 2013/08/01 23:21:19 matt Exp $ */ /* * Move private identifiers with external linkage into implementation @@ -169,6 +169,9 @@ #endif #ifdef __ARM_EABI__ +#ifdef __ARM_PCS_VFP +#include +#endif #define __addsf3 __aeabi_fadd #define __adddf3 __aeabi_dadd @@ -208,19 +211,4 @@ #define __extendsfdf2 __aeabi_f2d #define __truncdfsf2 __aeabi_d2f -#define __eqsf2 __aeabi_fcmpeq -#define __eqdf2 __aeabi_dcmpeq - -#define __ltsf2 __aeabi_fcmplt -#define __ltdf2 __aeabi_dcmplt - -#define __lesf2 __aeabi_fcmple -#define __ledf2 __aeabi_dcmple - -#define __gtsf2 __aeabi_fcmpgt -#define __gtdf2 __aeabi_dcmpgt - -#define __gesf2 __aeabi_fcmpge -#define __gedf2 __aeabi_dcmpge - #endif /* __ARM_EABI__ */ diff --git a/lib/libc/softfloat/softfloat-specialize b/lib/libc/softfloat/softfloat-specialize index de1729c1e..bede495ab 100644 --- a/lib/libc/softfloat/softfloat-specialize +++ b/lib/libc/softfloat/softfloat-specialize @@ -1,4 +1,4 @@ -/* $NetBSD: softfloat-specialize,v 1.7 2012/03/21 02:32:26 christos Exp $ */ +/* $NetBSD: softfloat-specialize,v 1.8 2013/01/10 08:16:10 matt Exp $ */ /* This is a derivative work. */ @@ -56,16 +56,28 @@ should be simply `float_exception_flags |= flags;'. ------------------------------------------------------------------------------- */ #ifdef SOFTFLOAT_FOR_GCC +#ifndef set_float_exception_mask #define float_exception_mask _softfloat_float_exception_mask #endif +#endif +#ifndef set_float_exception_mask fp_except float_exception_mask = 0; -void float_raise( fp_except flags ) +#endif +void +float_raise( fp_except flags ) { siginfo_t info; + fp_except mask = float_exception_mask; +#ifdef set_float_exception_mask + flags |= set_float_exception_flags(flags, 0); +#else float_exception_flags |= flags; + flags = float_exception_flags; +#endif - if ( flags & float_exception_mask ) { + flags &= mask; + if ( flags ) { memset(&info, 0, sizeof info); info.si_signo = SIGFPE; info.si_pid = getpid(); diff --git a/lib/libc/ssp/Makefile.inc b/lib/libc/ssp/Makefile.inc index 63895f1cc..f4557e893 100644 --- a/lib/libc/ssp/Makefile.inc +++ b/lib/libc/ssp/Makefile.inc @@ -1,10 +1,11 @@ -# $NetBSD: Makefile.inc,v 1.2 2007/05/30 21:14:35 tls Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/11/07 02:01:42 christos Exp $ .PATH: ${.CURDIR}/ssp SSP_SRCS= gets_chk.c fgets_chk.c memcpy_chk.c memmove_chk.c memset_chk.c \ - snprintf_chk.c sprintf_chk.c strcat_chk.c strcpy_chk.c \ - strncat_chk.c strncpy_chk.c vsnprintf_chk.c vsprintf_chk.c + snprintf_chk.c sprintf_chk.c stpcpy_chk.c \ + strcat_chk.c strcpy_chk.c strncat_chk.c strncpy_chk.c \ + vsnprintf_chk.c vsprintf_chk.c .for i in ${SSP_SRCS} SRCS+=${i} diff --git a/lib/libc/ssp/gets_chk.c b/lib/libc/ssp/gets_chk.c index 1825f202b..8f5e46f62 100644 --- a/lib/libc/ssp/gets_chk.c +++ b/lib/libc/ssp/gets_chk.c @@ -1,4 +1,4 @@ -/* $NetBSD: gets_chk.c,v 1.6 2010/01/17 23:13:32 wiz Exp $ */ +/* $NetBSD: gets_chk.c,v 1.7 2013/10/04 20:49:16 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include -__RCSID("$NetBSD: gets_chk.c,v 1.6 2010/01/17 23:13:32 wiz Exp $"); +__RCSID("$NetBSD: gets_chk.c,v 1.7 2013/10/04 20:49:16 christos Exp $"); /*LINTLIBRARY*/ @@ -40,6 +40,7 @@ __RCSID("$NetBSD: gets_chk.c,v 1.6 2010/01/17 23:13:32 wiz Exp $"); #include #include +extern char *__gets(char *); #undef gets char * @@ -49,10 +50,10 @@ __gets_chk(char * __restrict buf, size_t slen) size_t len; if (slen >= (size_t)INT_MAX) - return gets(buf); + return __gets(buf); if ((abuf = malloc(slen + 1)) == NULL) - return gets(buf); + return __gets(buf); if (fgets(abuf, (int)(slen + 1), stdin) == NULL) { free(abuf); diff --git a/lib/libc/ssp/memcpy_chk.c b/lib/libc/ssp/memcpy_chk.c index 2ebc97628..7c7a88824 100644 --- a/lib/libc/ssp/memcpy_chk.c +++ b/lib/libc/ssp/memcpy_chk.c @@ -36,8 +36,6 @@ __RCSID("$NetBSD: memcpy_chk.c,v 1.4 2008/04/28 20:23:00 martin Exp $"); #include #include -#if __SSP_FORTIFY_LEVEL > 0 - #undef memcpy void * @@ -48,5 +46,3 @@ __memcpy_chk(void * __restrict dst, const void * __restrict src, size_t len, __chk_fail(); return memcpy(dst, src, len); } - -#endif diff --git a/lib/libc/ssp/memmove_chk.c b/lib/libc/ssp/memmove_chk.c index c898a8151..029205781 100644 --- a/lib/libc/ssp/memmove_chk.c +++ b/lib/libc/ssp/memmove_chk.c @@ -36,8 +36,6 @@ __RCSID("$NetBSD: memmove_chk.c,v 1.4 2008/04/28 20:23:00 martin Exp $"); #include #include -#if __SSP_FORTIFY_LEVEL > 0 - #undef memmove void * @@ -48,5 +46,3 @@ __memmove_chk(void *dst, void *src, size_t len, __chk_fail(); return memmove(dst, src, len); } - -#endif diff --git a/lib/libc/ssp/memset_chk.c b/lib/libc/ssp/memset_chk.c index 7be8da1ab..6911e77a9 100644 --- a/lib/libc/ssp/memset_chk.c +++ b/lib/libc/ssp/memset_chk.c @@ -36,8 +36,6 @@ __RCSID("$NetBSD: memset_chk.c,v 1.4 2008/04/28 20:23:00 martin Exp $"); #include #include -#if __SSP_FORTIFY_LEVEL > 0 - #undef memset void * @@ -47,5 +45,3 @@ __memset_chk(void * __restrict dst, int val, size_t len, size_t slen) __chk_fail(); return memset(dst, val, len); } - -#endif diff --git a/lib/libc/ssp/ssp.3 b/lib/libc/ssp/ssp.3 index 7347e5367..5680329d6 100644 --- a/lib/libc/ssp/ssp.3 +++ b/lib/libc/ssp/ssp.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: ssp.3,v 1.6 2011/03/21 04:42:50 jruoho Exp $ +.\" $NetBSD: ssp.3,v 1.8 2013/11/07 02:01:42 christos Exp $ .\" .\" Copyright (c) 2007 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -28,7 +28,7 @@ .\" POSSIBILITY OF SUCH DAMAGE. .\" .\" -.Dd March 21, 2011 +.Dd November 6, 2013 .Dt SSP 3 .Os .Sh NAME @@ -58,9 +58,11 @@ .Ft void * .Fn memset "void *str" "int val" "size_t len" .Ft char * -.Fn strcpy "char *str" "const char *ptr" "size_t len" +.Fn stpcpy "char *str" "const char *ptr" .Ft char * -.Fn strcat "char *str" "const char *ptr" "size_t len" +.Fn strcpy "char *str" "const char *ptr" +.Ft char * +.Fn strcat "char *str" "const char *ptr" .Ft char * .Fn strncpy "char *str" "const char *ptr" "size_t len" .Ft char * diff --git a/lib/libc/ssp/stpcpy_chk.c b/lib/libc/ssp/stpcpy_chk.c new file mode 100644 index 000000000..162518d7e --- /dev/null +++ b/lib/libc/ssp/stpcpy_chk.c @@ -0,0 +1,55 @@ +/* $NetBSD: stpcpy_chk.c,v 1.2 2013/11/06 16:58:58 christos Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +__RCSID("$NetBSD: stpcpy_chk.c,v 1.2 2013/11/06 16:58:58 christos Exp $"); + +/*LINTLIBRARY*/ + +#include +#include + +#undef memcpy + +#if !__GNUC_PREREQ__(4, 8) +char *__stpcpy_chk(char * __restrict, const char * __restrict, size_t); +#endif + +char * +__stpcpy_chk(char * __restrict dst, const char * __restrict src, size_t slen) +{ + size_t len = strlen(src) + 1; + + if (len > slen) + __chk_fail(); + + (void)memcpy(dst, src, len); + return dst + len; +} diff --git a/lib/libc/ssp/stpncpy_chk.c b/lib/libc/ssp/stpncpy_chk.c new file mode 100644 index 000000000..05e769fcb --- /dev/null +++ b/lib/libc/ssp/stpncpy_chk.c @@ -0,0 +1,53 @@ +/* $NetBSD: stpncpy_chk.c,v 1.2 2013/11/06 16:58:58 christos Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Christos Zoulas. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +__RCSID("$NetBSD: stpncpy_chk.c,v 1.2 2013/11/06 16:58:58 christos Exp $"); + +/*LINTLIBRARY*/ + +#include +#include + +#undef stpncpy + +#if !__GNUC_PREREQ__(4, 8) +char *__stpncpy_chk(char * __restrict, const char * __restrict, size_t, size_t); +#endif + +char * +__stpncpy_chk(char * __restrict dst, const char * __restrict src, size_t len, + size_t slen) +{ + if (len > slen) + __chk_fail(); + + return stpncpy(dst, src, len); +} diff --git a/lib/libc/ssp/strcat_chk.c b/lib/libc/ssp/strcat_chk.c index 770bb13d2..212cdd92e 100644 --- a/lib/libc/ssp/strcat_chk.c +++ b/lib/libc/ssp/strcat_chk.c @@ -36,8 +36,6 @@ __RCSID("$NetBSD: strcat_chk.c,v 1.4 2009/11/17 20:44:26 drochner Exp $"); #include #include -#if __SSP_FORTIFY_LEVEL > 0 - char * __strcat_chk(char * __restrict dst, const char * __restrict src, size_t slen) { @@ -60,5 +58,3 @@ __strcat_chk(char * __restrict dst, const char * __restrict src, size_t slen) *d = '\0'; return dst; } - -#endif diff --git a/lib/libc/ssp/strcpy_chk.c b/lib/libc/ssp/strcpy_chk.c index 21987f4f9..feecd660d 100644 --- a/lib/libc/ssp/strcpy_chk.c +++ b/lib/libc/ssp/strcpy_chk.c @@ -1,4 +1,4 @@ -/* $NetBSD: strcpy_chk.c,v 1.5 2010/12/28 16:19:25 christos Exp $ */ +/* $NetBSD: strcpy_chk.c,v 1.6 2013/11/06 16:30:27 christos Exp $ */ /*- * Copyright (c) 2006 The NetBSD Foundation, Inc. @@ -29,7 +29,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ #include -__RCSID("$NetBSD: strcpy_chk.c,v 1.5 2010/12/28 16:19:25 christos Exp $"); +__RCSID("$NetBSD: strcpy_chk.c,v 1.6 2013/11/06 16:30:27 christos Exp $"); /*LINTLIBRARY*/ @@ -38,17 +38,13 @@ __RCSID("$NetBSD: strcpy_chk.c,v 1.5 2010/12/28 16:19:25 christos Exp $"); #undef memcpy -#if __SSP_FORTIFY_LEVEL > 0 - char * __strcpy_chk(char * __restrict dst, const char * __restrict src, size_t slen) { - size_t len = strlen(src); + size_t len = strlen(src) + 1; - if (len >= slen) + if (len > slen) __chk_fail(); - return memcpy(dst, src, len + 1); + return memcpy(dst, src, len); } - -#endif diff --git a/lib/libc/ssp/strncat_chk.c b/lib/libc/ssp/strncat_chk.c index 864683d00..ae6679238 100644 --- a/lib/libc/ssp/strncat_chk.c +++ b/lib/libc/ssp/strncat_chk.c @@ -37,8 +37,6 @@ __RCSID("$NetBSD: strncat_chk.c,v 1.4 2009/11/17 20:44:26 drochner Exp $"); #include #include -#if __SSP_FORTIFY_LEVEL > 0 - char * __strncat_chk(char * __restrict dst, const char * __restrict src, size_t len, size_t slen) @@ -70,5 +68,3 @@ __strncat_chk(char * __restrict dst, const char * __restrict src, size_t len, *d = '\0'; return dst; } - -#endif diff --git a/lib/libc/ssp/strncpy_chk.c b/lib/libc/ssp/strncpy_chk.c index ef485071a..2fe5211bf 100644 --- a/lib/libc/ssp/strncpy_chk.c +++ b/lib/libc/ssp/strncpy_chk.c @@ -36,8 +36,6 @@ __RCSID("$NetBSD: strncpy_chk.c,v 1.4 2008/04/28 20:23:00 martin Exp $"); #include #include -#if __SSP_FORTIFY_LEVEL > 0 - #undef strncpy char * @@ -49,5 +47,3 @@ __strncpy_chk(char * __restrict dst, const char * __restrict src, size_t len, return strncpy(dst, src, len); } - -#endif diff --git a/lib/libc/stdio/Makefile.inc b/lib/libc/stdio/Makefile.inc index 65e6762a3..d138f91e9 100644 --- a/lib/libc/stdio/Makefile.inc +++ b/lib/libc/stdio/Makefile.inc @@ -1,12 +1,12 @@ # from: @(#)Makefile.inc 5.7 (Berkeley) 6/27/91 -# $NetBSD: Makefile.inc,v 1.41 2012/03/27 15:05:42 christos Exp $ +# $NetBSD: Makefile.inc,v 1.42 2013/04/19 15:22:25 joerg Exp $ # stdio sources .PATH: ${.CURDIR}/stdio CPPFLAGS+=-DWIDE_DOUBLE -SRCS+= asprintf.c clrerr.c dprintf.c fclose.c fdopen.c feof.c ferror.c \ +SRCS+= clrerr.c dprintf.c fclose.c fdopen.c feof.c ferror.c \ fflush.c fgetc.c fgetln.c fgetpos.c fgets.c fgetstr.c fgetwc.c \ fgetwln.c fgetws.c fileno.c findfp.c flags.c flockfile.c fopen.c \ fparseln.c fprintf.c fpurge.c fputc.c fputs.c fputwc.c fputws.c \ @@ -15,7 +15,7 @@ SRCS+= asprintf.c clrerr.c dprintf.c fclose.c fdopen.c feof.c ferror.c \ getc.c getchar.c getdelim.c getline.c gettemp.c getw.c getwc.c \ getwchar.c makebuf.c mkdtemp.c mkstemp.c perror.c printf.c putc.c \ putchar.c puts.c putw.c putwc.c putwchar.c refill.c remove.c rewind.c \ - rget.c scanf.c setbuf.c setbuffer.c setvbuf.c snprintf.c snprintf_ss.c \ + rget.c scanf.c setbuf.c setbuffer.c setvbuf.c snprintf_ss.c \ sscanf.c stdio.c swprintf.c swscanf.c tmpfile.c ungetc.c ungetwc.c \ vasprintf.c vdprintf.c vfprintf.c vfscanf.c vfwprintf.c vfwscanf.c \ vprintf.c vscanf.c vsnprintf.c vsnprintf_ss.c vsscanf.c vswprintf.c \ @@ -23,7 +23,7 @@ SRCS+= asprintf.c clrerr.c dprintf.c fclose.c fdopen.c feof.c ferror.c \ SRCS+= fmemopen.c .if !defined(AUDIT) -SRCS+= gets.c sprintf.c vsprintf.c tempnam.c tmpnam.c mktemp.c +SRCS+= gets.c vsprintf.c tempnam.c tmpnam.c mktemp.c .endif # namespace purity wrappers diff --git a/lib/libc/stdio/asprintf.c b/lib/libc/stdio/asprintf.c deleted file mode 100644 index 6d3ec1232..000000000 --- a/lib/libc/stdio/asprintf.c +++ /dev/null @@ -1,85 +0,0 @@ -/* $NetBSD: asprintf.c,v 1.19 2012/03/15 18:22:30 christos Exp $ */ - -/* - * Copyright (c) 1997 Todd C. Miller - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND 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 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 -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: asprintf.c,v 1.19 2012/03/15 18:22:30 christos Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#include "namespace.h" -#include -#include -#include -#include -#include - -#include "reentrant.h" -#include "local.h" - -#ifdef __weak_alias -__weak_alias(asprintf, _asprintf) -#endif - -int -asprintf(char **str, char const *fmt, ...) -{ - int ret; - va_list ap; - FILE f; - struct __sfileext fext; - unsigned char *_base; - - _DIAGASSERT(str != NULL); - - _FILEEXT_SETUP(&f, &fext); - f._file = -1; - f._flags = __SWR | __SSTR | __SALC; - f._bf._base = f._p = malloc((size_t)128); - if (f._bf._base == NULL) - goto err; - f._bf._size = f._w = 127; /* Leave room for the NUL */ - va_start(ap, fmt); - ret = __vfprintf_unlocked(&f, fmt, ap); - va_end(ap); - if (ret < 0) - goto err; - *f._p = '\0'; - _base = realloc(f._bf._base, (size_t)ret + 1); - if (_base == NULL) - goto err; - *str = (char *)_base; - return ret; - -err: - if (f._bf._base) - free(f._bf._base); - *str = NULL; - errno = ENOMEM; - return -1; -} diff --git a/lib/libc/stdio/dprintf.c b/lib/libc/stdio/dprintf.c index 724068a58..efbf795a9 100644 --- a/lib/libc/stdio/dprintf.c +++ b/lib/libc/stdio/dprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: dprintf.c,v 1.1 2010/09/06 14:52:55 christos Exp $ */ +/* $NetBSD: dprintf.c,v 1.2 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -34,7 +34,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: dprintf.c,v 1.1 2010/09/06 14:52:55 christos Exp $"); +__RCSID("$NetBSD: dprintf.c,v 1.2 2013/04/19 15:22:25 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -46,6 +46,8 @@ __RCSID("$NetBSD: dprintf.c,v 1.1 2010/09/06 14:52:55 christos Exp $"); #include "reentrant.h" #include "local.h" +__weak_alias(dprintf_l, _dprintf_l) + int dprintf(int fd, const char * __restrict fmt, ...) { @@ -57,3 +59,15 @@ dprintf(int fd, const char * __restrict fmt, ...) va_end(ap); return ret; } + +int +dprintf_l(int fd, locale_t loc, const char * __restrict fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vdprintf_l(fd, loc, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/findfp.c b/lib/libc/stdio/findfp.c index 356279750..479f65dde 100644 --- a/lib/libc/stdio/findfp.c +++ b/lib/libc/stdio/findfp.c @@ -56,7 +56,7 @@ int __sdidinit; #define NDYNAMIC 10 /* add ten more whenever necessary */ -#if !defined(_LIBMINC) && !defined(__kernel__) +#if !defined(_LIBMINC) && !defined(__kernel__) && defined(__minix) #define std(flags, file) { \ ._p = NULL, \ @@ -132,7 +132,7 @@ FILE __sF[3] = { std(__SWR|__SNBF, STDERR_FILENO) /* stderr */ }; -#if !defined(__kernel__) +#if !defined(__kernel__) && defined(__minix) struct glue __sglue = { &uglue, 3, __sF }; void f_prealloc(void); @@ -221,7 +221,7 @@ found: void f_prealloc(void) { -#if !defined(_LIBMINC) +#if !defined(_LIBMINC) && defined(__minix) struct glue *g; int n; @@ -243,7 +243,7 @@ f_prealloc(void) void _cleanup(void) { -#if !defined(_LIBMINC) +#if !defined(_LIBMINC) && defined(__minix) /* (void) _fwalk(fclose); */ (void) fflush(NULL); /* `cheating' */ #endif /* !defined(_LIBMINC) */ diff --git a/lib/libc/stdio/flags.c b/lib/libc/stdio/flags.c index 1892d02e5..eac46f9a4 100644 --- a/lib/libc/stdio/flags.c +++ b/lib/libc/stdio/flags.c @@ -1,4 +1,4 @@ -/* $NetBSD: flags.c,v 1.16 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: flags.c,v 1.17 2012/11/15 03:50:36 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)flags.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: flags.c,v 1.16 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: flags.c,v 1.17 2012/11/15 03:50:36 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -90,6 +90,7 @@ __sflags(const char *mode, int *optr) * [rwa]\+ or [rwa]b\+ means read and write * f means open only plain files, * e means set close on exec. + * x means exclusive open. */ for (; *mode; mode++) switch (*mode) { @@ -103,6 +104,9 @@ __sflags(const char *mode, int *optr) case 'e': o |= O_CLOEXEC; break; + case 'x': + o |= O_EXCL; + break; case 'b': break; default: /* We could produce a warning here */ diff --git a/lib/libc/stdio/fopen.3 b/lib/libc/stdio/fopen.3 index ec6db6435..d74b90406 100644 --- a/lib/libc/stdio/fopen.3 +++ b/lib/libc/stdio/fopen.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: fopen.3,v 1.28 2012/07/02 20:02:43 wiz Exp $ +.\" $NetBSD: fopen.3,v 1.29 2012/11/15 03:50:36 christos Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -33,7 +33,7 @@ .\" .\" @(#)fopen.3 8.1 (Berkeley) 6/4/93 .\" -.Dd July 18, 2011 +.Dd November 14, 2012 .Dt FOPEN 3 .Os .Sh NAME @@ -117,6 +117,12 @@ will fail. This is a non .St -ansiC extension. +.It Sq x +The letter +.Sq x +in the mode turns on exclusive open mode to the file ( +.Dv O_EXCL ) +which means that the file will not be created if it already exists. .El .Pp Any created files will have mode diff --git a/lib/libc/stdio/fprintf.c b/lib/libc/stdio/fprintf.c index 48021f034..9b00d7d0d 100644 --- a/lib/libc/stdio/fprintf.c +++ b/lib/libc/stdio/fprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: fprintf.c,v 1.12 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: fprintf.c,v 1.13 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,10 +37,11 @@ #if 0 static char sccsid[] = "@(#)fprintf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: fprintf.c,v 1.12 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: fprintf.c,v 1.13 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include @@ -60,3 +61,17 @@ fprintf(FILE *fp, const char *fmt, ...) va_end(ap); return ret; } + +__weak_alias(fprintf_l, _fprintf_l) + +int +fprintf_l(FILE *fp, locale_t loc, const char *fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vfprintf_l(fp, loc, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/fscanf.c b/lib/libc/stdio/fscanf.c index ca46c939f..5f015793e 100644 --- a/lib/libc/stdio/fscanf.c +++ b/lib/libc/stdio/fscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: fscanf.c,v 1.13 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: fscanf.c,v 1.14 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,10 +37,12 @@ #if 0 static char sccsid[] = "@(#)fscanf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: fscanf.c,v 1.13 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: fscanf.c,v 1.14 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include @@ -49,6 +51,8 @@ __RCSID("$NetBSD: fscanf.c,v 1.13 2012/03/15 18:22:30 christos Exp $"); #include "reentrant.h" #include "local.h" +__weak_alias(fscanf_l, _fscanf_l) + int fscanf(FILE *fp, char const *fmt, ...) { @@ -60,3 +64,15 @@ fscanf(FILE *fp, char const *fmt, ...) va_end(ap); return ret; } + +int +fscanf_l(FILE *fp, locale_t loc, char const *fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = __svfscanf_l(fp, loc, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/fseeko.c b/lib/libc/stdio/fseeko.c index eaf2c29e6..ebeeaecdf 100644 --- a/lib/libc/stdio/fseeko.c +++ b/lib/libc/stdio/fseeko.c @@ -150,8 +150,7 @@ fseeko(FILE *fp, off_t offset, int whence) fp->_flags |= __SNPT; goto dumb; } - fp->_blksize = st.st_blksize; - + fp->_blksize = st.st_blksize; fp->_flags |= __SOPT; } diff --git a/lib/libc/stdio/fwprintf.c b/lib/libc/stdio/fwprintf.c index 9efc80c09..a9d792519 100644 --- a/lib/libc/stdio/fwprintf.c +++ b/lib/libc/stdio/fwprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: fwprintf.c,v 1.2 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: fwprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,17 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/fwprintf.c,v 1.1 2002/09/21 13:00:30 tjr Exp $"); #else -__RCSID("$NetBSD: fwprintf.c,v 1.2 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: fwprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include +__weak_alias(fwprintf_l, _fwprintf_l) + int fwprintf(FILE * __restrict fp, const wchar_t * __restrict fmt, ...) { @@ -51,3 +54,16 @@ fwprintf(FILE * __restrict fp, const wchar_t * __restrict fmt, ...) return ret; } + +int +fwprintf_l(FILE * __restrict fp, locale_t loc, const wchar_t * __restrict fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vfwprintf_l(fp, loc, fmt, ap); + va_end(ap); + + return ret; +} diff --git a/lib/libc/stdio/fwscanf.c b/lib/libc/stdio/fwscanf.c index 84ea204ae..6d3cd9447 100644 --- a/lib/libc/stdio/fwscanf.c +++ b/lib/libc/stdio/fwscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: fwscanf.c,v 1.2 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: fwscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,18 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/fwscanf.c,v 1.1 2002/09/23 12:40:06 tjr Exp $"); #else -__RCSID("$NetBSD: fwscanf.c,v 1.2 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: fwscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include +__weak_alias(fwscanf_l, _fwscanf_l) + int fwscanf(FILE * __restrict fp, const wchar_t * __restrict fmt, ...) { @@ -51,3 +55,17 @@ fwscanf(FILE * __restrict fp, const wchar_t * __restrict fmt, ...) return r; } + +int +fwscanf_l(FILE * __restrict fp, locale_t loc, const wchar_t * __restrict fmt, + ...) +{ + va_list ap; + int r; + + va_start(ap, fmt); + r = vfwscanf_l(fp, loc, fmt, ap); + va_end(ap); + + return r; +} diff --git a/lib/libc/stdio/gets.c b/lib/libc/stdio/gets.c index e61e1bdc7..d382745e6 100644 --- a/lib/libc/stdio/gets.c +++ b/lib/libc/stdio/gets.c @@ -1,4 +1,4 @@ -/* $NetBSD: gets.c,v 1.17 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: gets.c,v 1.18 2013/10/04 20:49:16 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)gets.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: gets.c,v 1.17 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: gets.c,v 1.18 2013/10/04 20:49:16 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -53,7 +53,7 @@ __RCSID("$NetBSD: gets.c,v 1.17 2012/03/15 18:22:30 christos Exp $"); __warn_references(gets, "warning: this program uses gets(), which is unsafe.") char * -gets(char *buf) +__gets(char *buf) { int c; char *s; @@ -77,3 +77,8 @@ gets(char *buf) FUNLOCKFILE(stdin); return buf; } + +char * +gets(char *buf) { + return __gets(buf); +} diff --git a/lib/libc/stdio/gettemp.c b/lib/libc/stdio/gettemp.c index fa27249a0..5ee143fcf 100644 --- a/lib/libc/stdio/gettemp.c +++ b/lib/libc/stdio/gettemp.c @@ -1,4 +1,4 @@ -/* $NetBSD: gettemp.c,v 1.15 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: gettemp.c,v 1.16 2013/04/22 20:57:36 christos Exp $ */ /* * Copyright (c) 1987, 1993 @@ -40,7 +40,7 @@ #if 0 static char sccsid[] = "@(#)mktemp.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: gettemp.c,v 1.15 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: gettemp.c,v 1.16 2013/04/22 20:57:36 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -119,14 +119,16 @@ GETTEMP(char *path, int *doopen, int domkdir) if (trv <= path) break; if (*trv == '/') { + int e; *trv = '\0'; - if (stat(path, &sbuf)) - return 0; + e = stat(path, &sbuf); + *trv = '/'; + if (e == -1) + return doopen == NULL && !domkdir; if (!S_ISDIR(sbuf.st_mode)) { errno = ENOTDIR; - return 0; + return doopen == NULL && !domkdir; } - *trv = '/'; break; } } diff --git a/lib/libc/stdio/local.h b/lib/libc/stdio/local.h index 42cd30fd0..6b9c50763 100644 --- a/lib/libc/stdio/local.h +++ b/lib/libc/stdio/local.h @@ -1,4 +1,4 @@ -/* $NetBSD: local.h,v 1.34 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: local.h,v 1.37 2013/10/04 20:49:16 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -65,10 +65,12 @@ extern int __swsetup(FILE *); extern int __sflags(const char *, int *); extern int __svfscanf(FILE * __restrict, const char * __restrict, va_list) __scanflike(2, 0); -extern int __svfscanf_unlocked(FILE * __restrict, const char * __restrict, - va_list) __scanflike(2, 0); -extern int __vfprintf_unlocked(FILE * __restrict, const char * __restrict, - va_list) __printflike(2, 0); +extern int __svfscanf_l(FILE * __restrict, locale_t, + const char * __restrict, va_list) __scanflike(3, 0); +extern int __svfscanf_unlocked_l(FILE * __restrict, locale_t, + const char * __restrict, va_list) __scanflike(3, 0); +extern int __vfprintf_unlocked_l(FILE * __restrict, locale_t, + const char * __restrict, va_list) __printflike(3, 0); extern int __sdidinit; @@ -81,8 +83,8 @@ extern wint_t __fputwc_unlock(wchar_t, FILE *); extern ssize_t __getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict); extern char *__fgetstr(FILE * __restrict, size_t * __restrict, int); -extern int __vfwprintf_unlocked(FILE *, const wchar_t *, va_list); -extern int __vfwscanf_unlocked(FILE * __restrict, +extern int __vfwprintf_unlocked_l(FILE *, locale_t, const wchar_t *, va_list); +extern int __vfwscanf_unlocked_l(FILE * __restrict, locale_t, const wchar_t * __restrict, va_list); /* @@ -115,6 +117,8 @@ extern int __vfwscanf_unlocked(FILE * __restrict, extern void __flockfile_internal(FILE *, int); extern void __funlockfile_internal(FILE *, int); +extern char *__gets(char *); + /* * Detect if the current file position fits in a long int. */ diff --git a/lib/libc/stdio/makebuf.c b/lib/libc/stdio/makebuf.c index db70ea601..7fc1a6fe6 100644 --- a/lib/libc/stdio/makebuf.c +++ b/lib/libc/stdio/makebuf.c @@ -121,7 +121,8 @@ __swhatbuf(FILE *fp, size_t *bufsize, int *couldbetty) * __sseek is mainly paranoia.) It is safe to set _blksize * unconditionally; it will only be used if __SOPT is also set. */ - *bufsize = fp->_blksize = st.st_blksize; + *bufsize = st.st_blksize; + fp->_blksize = st.st_blksize; return (st.st_mode & S_IFMT) == S_IFREG && fp->_seek == __sseek ? __SOPT : __SNPT; } diff --git a/lib/libc/stdio/printf.3 b/lib/libc/stdio/printf.3 index 3361d268e..290e52a16 100644 --- a/lib/libc/stdio/printf.3 +++ b/lib/libc/stdio/printf.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: printf.3,v 1.58 2010/12/26 12:39:54 jnemeth Exp $ +.\" $NetBSD: printf.3,v 1.63 2013/05/04 19:17:38 wiz Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -33,7 +33,7 @@ .\" .\" @(#)printf.3 8.1 (Berkeley) 6/4/93 .\" -.Dd December 26, 2010 +.Dd May 4, 2013 .Dt PRINTF 3 .Os .Sh NAME @@ -42,6 +42,7 @@ .Nm dprintf .Nm sprintf , .Nm snprintf , +.Nm snprintf_ss , .Nm asprintf , .Nm vprintf , .Nm vfprintf , @@ -66,6 +67,8 @@ .Ft int .Fn snprintf "char * restrict str" "size_t size" "const char * restrict format" ... .Ft int +.Fn snprintf_ss "char * restrict str" "size_t size" "const char * restrict format" ... +.Ft int .Fn asprintf "char ** restrict ret" "const char * restrict format" ... .In stdarg.h .Ft int @@ -104,10 +107,11 @@ write output to the given output .Fn dprintf and .Fn vdprintf -write output to the give file descriptor +write output to the given file descriptor .Fa fd ; .Fn sprintf , .Fn snprintf , +.Fn snprintf_ss , .Fn vsprintf , .Fn vsnprintf , and @@ -128,9 +132,11 @@ string that specifies how subsequent arguments .Xr stdarg 3 ) are converted for output. .Pp +.Fn snprintf_ss +and .Fn vsnprintf_ss -is a signal-safe standalone version that does not handle -floating point formats. +are signal-safe standalone versions that do not handle +floating point formats, positional arguments, and wide characters. .Pp .Fn asprintf and @@ -772,14 +778,14 @@ To allocate a 128 byte string and print into it: #include \*[Lt]stdarg.h\*[Gt] char *newfmt(const char *fmt, ...) { - char *p; - va_list ap; - if ((p = malloc(128)) == NULL) - return (NULL); - va_start(ap, fmt); - (void) vsnprintf(p, 128, fmt, ap); - va_end(ap); - return (p); + char *p; + va_list ap; + if ((p = malloc(128)) == NULL) + return (NULL); + va_start(ap, fmt); + (void) vsnprintf(p, 128, fmt, ap); + va_end(ap); + return (p); } .Ed .Sh ERRORS @@ -884,7 +890,9 @@ Be sure to use the proper secure idiom: snprintf(buffer, sizeof(buffer), "%s", string); .Ed .Pp -There is no way for printf to know the size of each argument passed. +There is no way for +.Fn printf +to know the size of each argument passed. If you use positional arguments you must ensure that all parameters, up to the last positionally specified parameter, are used in the format string. This allows for the format string to be parsed for this information. diff --git a/lib/libc/stdio/printf.c b/lib/libc/stdio/printf.c index e297c2670..e2ae98551 100644 --- a/lib/libc/stdio/printf.c +++ b/lib/libc/stdio/printf.c @@ -1,4 +1,4 @@ -/* $NetBSD: printf.c,v 1.12 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: printf.c,v 1.13 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,15 +37,18 @@ #if 0 static char sccsid[] = "@(#)printf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: printf.c,v 1.12 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: printf.c,v 1.13 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include #include +__weak_alias(printf_l, _printf_l) + int printf(char const *fmt, ...) { @@ -57,3 +60,15 @@ printf(char const *fmt, ...) va_end(ap); return ret; } + +int +printf_l(locale_t loc, char const *fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vfprintf_l(stdout, loc, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/scanf.c b/lib/libc/stdio/scanf.c index 20a00eaec..b2f7d9a53 100644 --- a/lib/libc/stdio/scanf.c +++ b/lib/libc/stdio/scanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: scanf.c,v 1.13 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: scanf.c,v 1.14 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,10 +37,12 @@ #if 0 static char sccsid[] = "@(#)scanf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: scanf.c,v 1.13 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: scanf.c,v 1.14 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include @@ -49,6 +51,8 @@ __RCSID("$NetBSD: scanf.c,v 1.13 2012/03/15 18:22:30 christos Exp $"); #include "reentrant.h" #include "local.h" +__weak_alias(scanf_l, _scanf_l) + int scanf(char const *fmt, ...) { @@ -62,3 +66,17 @@ scanf(char const *fmt, ...) va_end(ap); return ret; } + +int +scanf_l(locale_t loc, char const *fmt, ...) +{ + int ret; + va_list ap; + + _DIAGASSERT(fmt != NULL); + + va_start(ap, fmt); + ret = __svfscanf_l(stdin, loc, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/sscanf.c b/lib/libc/stdio/sscanf.c index fe339c99b..6a995c342 100644 --- a/lib/libc/stdio/sscanf.c +++ b/lib/libc/stdio/sscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: sscanf.c,v 1.20 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: sscanf.c,v 1.21 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,10 +37,12 @@ #if 0 static char sccsid[] = "@(#)sscanf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: sscanf.c,v 1.20 2012/03/27 15:05:42 christos Exp $"); +__RCSID("$NetBSD: sscanf.c,v 1.21 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include @@ -50,36 +52,32 @@ __RCSID("$NetBSD: sscanf.c,v 1.20 2012/03/27 15:05:42 christos Exp $"); #include "reentrant.h" #include "local.h" -/* ARGSUSED */ -static ssize_t -eofread(void *cookie, void *buf, size_t len) -{ - - return 0; -} +__weak_alias(sscanf_l, _sscanf_l) int sscanf(const char *str, char const *fmt, ...) { int ret; va_list ap; - FILE f; - size_t len; - struct __sfileext fext; - _DIAGASSERT(str != NULL); _DIAGASSERT(fmt != NULL); - _FILEEXT_SETUP(&f, &fext); - f._flags = __SRD; - f._bf._base = f._p = __UNCONST(str); - len = strlen(str); - _DIAGASSERT(__type_fit(int, len)); - f._bf._size = f._r = (int)len; - f._read = eofread; - _UB(&f)._base = NULL; va_start(ap, fmt); - ret = __svfscanf_unlocked(&f, fmt, ap); + ret = vsscanf(str, fmt, ap); + va_end(ap); + return ret; +} + +int +sscanf_l(const char *str, locale_t loc, char const *fmt, ...) +{ + int ret; + va_list ap; + + _DIAGASSERT(fmt != NULL); + + va_start(ap, fmt); + ret = vsscanf_l(str, loc, fmt, ap); va_end(ap); return ret; } diff --git a/lib/libc/stdio/stdio.c b/lib/libc/stdio/stdio.c index bf5bb095b..540d662c2 100644 --- a/lib/libc/stdio/stdio.c +++ b/lib/libc/stdio/stdio.c @@ -1,4 +1,4 @@ -/* $NetBSD: stdio.c,v 1.21 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: stdio.c,v 1.22 2013/05/19 17:07:04 christos Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)stdio.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: stdio.c,v 1.21 2012/03/27 15:05:42 christos Exp $"); +__RCSID("$NetBSD: stdio.c,v 1.22 2013/05/19 17:07:04 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -86,8 +86,12 @@ __swrite(void *cookie, const void *buf, size_t n) _DIAGASSERT(buf != NULL); if (fp->_flags & __SAPP) - if (lseek(__sfileno(fp), (off_t)0, SEEK_END) == (off_t)-1) - return -1; + if (lseek(__sfileno(fp), (off_t)0, SEEK_END) == (off_t)-1) { + if (errno == ESPIPE) /* if unseekable, OK, */ + fp->_flags &= ~__SAPP; /* all writes append. */ + else + return -1; + } fp->_flags &= ~__SOFF; /* in case FAPPEND mode is set */ return write(__sfileno(fp), buf, n); } diff --git a/lib/libc/stdio/swprintf.c b/lib/libc/stdio/swprintf.c index 488ce4266..fead7801d 100644 --- a/lib/libc/stdio/swprintf.c +++ b/lib/libc/stdio/swprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: swprintf.c,v 1.2 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: swprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,17 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/swprintf.c,v 1.1 2002/09/21 13:00:30 tjr Exp $"); #else -__RCSID("$NetBSD: swprintf.c,v 1.2 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: swprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include +__weak_alias(swprintf_l, _swprintf_l) + int swprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, ...) { @@ -51,3 +54,17 @@ swprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, ...) return ret; } + +int +swprintf_l(wchar_t * __restrict s, size_t n, locale_t loc, + const wchar_t * __restrict fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vswprintf_l(s, n, loc, fmt, ap); + va_end(ap); + + return ret; +} diff --git a/lib/libc/stdio/swscanf.c b/lib/libc/stdio/swscanf.c index c4b5cbf52..e020c2275 100644 --- a/lib/libc/stdio/swscanf.c +++ b/lib/libc/stdio/swscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: swscanf.c,v 1.2 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: swscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,18 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/swscanf.c,v 1.1 2002/09/23 12:40:06 tjr Exp $"); #else -__RCSID("$NetBSD: swscanf.c,v 1.2 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: swscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include +__weak_alias(swscanf_l, _swscanf_l) + int swscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt, ...) { @@ -51,3 +55,17 @@ swscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt, ...) return r; } + +int +swscanf_l(const wchar_t * __restrict str, locale_t loc, + const wchar_t * __restrict fmt, ...) +{ + va_list ap; + int r; + + va_start(ap, fmt); + r = vswscanf_l(str, loc, fmt, ap); + va_end(ap); + + return r; +} diff --git a/lib/libc/stdio/vasprintf.c b/lib/libc/stdio/vasprintf.c index f38854af0..9cf6070b2 100644 --- a/lib/libc/stdio/vasprintf.c +++ b/lib/libc/stdio/vasprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vasprintf.c,v 1.14 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: vasprintf.c,v 1.17 2013/05/19 21:45:00 christos Exp $ */ /* * Copyright (c) 1997 Todd C. Miller @@ -29,18 +29,28 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: vasprintf.c,v 1.14 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: vasprintf.c,v 1.17 2013/05/19 21:45:00 christos Exp $"); #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include +#include #include #include + #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" +__weak_alias(asprintf, _asprintf) +__weak_alias(asprintf_l, _asprintf_l) +__weak_alias(vasprintf, _vasprintf) +__weak_alias(vasprintf_l, _vasprintf_l) + int -vasprintf(char **str, const char *fmt, va_list ap) +vasprintf_l(char **str, locale_t loc, const char *fmt, va_list ap) { int ret; FILE f; @@ -53,11 +63,11 @@ vasprintf(char **str, const char *fmt, va_list ap) _FILEEXT_SETUP(&f, &fext); f._file = -1; f._flags = __SWR | __SSTR | __SALC; - f._bf._base = f._p = (unsigned char *)malloc(128); + f._bf._base = f._p = malloc(128); if (f._bf._base == NULL) goto err; f._bf._size = f._w = 127; /* Leave room for the NUL */ - ret = __vfprintf_unlocked(&f, fmt, ap); + ret = __vfprintf_unlocked_l(&f, loc, fmt, ap); if (ret == -1) goto err; *f._p = '\0'; @@ -74,3 +84,33 @@ err: errno = ENOMEM; return -1; } + +int +vasprintf(char **str, const char *fmt, va_list ap) +{ + return vasprintf_l(str, _current_locale(), fmt, ap); +} + +int +asprintf_l(char **str, locale_t loc, char const *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vasprintf_l(str, loc, fmt, ap); + va_end(ap); + return ret; +} + +int +asprintf(char **str, char const *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vasprintf(str, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/vdprintf.c b/lib/libc/stdio/vdprintf.c index 247607c1e..ae72054e4 100644 --- a/lib/libc/stdio/vdprintf.c +++ b/lib/libc/stdio/vdprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vdprintf.c,v 1.2 2011/07/17 20:54:34 joerg Exp $ */ +/* $NetBSD: vdprintf.c,v 1.4 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -34,7 +34,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: vdprintf.c,v 1.2 2011/07/17 20:54:34 joerg Exp $"); +__RCSID("$NetBSD: vdprintf.c,v 1.4 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -43,19 +43,22 @@ __RCSID("$NetBSD: vdprintf.c,v 1.2 2011/07/17 20:54:34 joerg Exp $"); #include #include #include +#include #include #include #include #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" #ifdef __weak_alias __weak_alias(vdprintf,_vdprintf) +__weak_alias(vdprintf_l,_vdprintf_l) #endif int -vdprintf(int fd, const char * __restrict fmt, va_list ap) +vdprintf_l(int fd, locale_t loc, const char * __restrict fmt, va_list ap) { FILE f; struct __sfileext fext; @@ -109,8 +112,14 @@ vdprintf(int fd, const char * __restrict fmt, va_list ap) f._seek = NULL; f._close = NULL; - if ((ret = vfprintf(&f, fmt, ap)) < 0) + if ((ret = vfprintf_l(&f, loc, fmt, ap)) < 0) return ret; return fflush(&f) ? EOF : ret; } + +int +vdprintf(int fd, const char * __restrict fmt, va_list ap) +{ + return vdprintf_l(fd, _current_locale(), fmt, ap); +} diff --git a/lib/libc/stdio/vfprintf.c b/lib/libc/stdio/vfprintf.c index ae11e256f..ebe110ff6 100644 --- a/lib/libc/stdio/vfprintf.c +++ b/lib/libc/stdio/vfprintf.c @@ -1,2 +1,5 @@ #define NARROW #include "vfwprintf.c" + + +__weak_alias(vfprintf_l, _vfprintf_l) diff --git a/lib/libc/stdio/vfscanf.c b/lib/libc/stdio/vfscanf.c index 899883288..b6dce7bac 100644 --- a/lib/libc/stdio/vfscanf.c +++ b/lib/libc/stdio/vfscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vfscanf.c,v 1.43 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: vfscanf.c,v 1.45 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)vfscanf.c 8.1 (Berkeley) 6/4/93"; __FBSDID("$FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.41 2007/01/09 00:28:07 imp Exp $"); #else -__RCSID("$NetBSD: vfscanf.c,v 1.43 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: vfscanf.c,v 1.45 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -57,9 +57,8 @@ __RCSID("$NetBSD: vfscanf.c,v 1.43 2012/03/15 18:22:30 christos Exp $"); #include "reentrant.h" #include "local.h" -#ifndef NO_FLOATING_POINT #include -#endif +#include "setlocale_local.h" /* * Provide an external name for vfscanf. Note, we don't use the normal @@ -68,6 +67,7 @@ __RCSID("$NetBSD: vfscanf.c,v 1.43 2012/03/15 18:22:30 christos Exp $"); */ #ifdef __weak_alias __weak_alias(vfscanf,__svfscanf) +__weak_alias(vfscanf_l,__svfscanf_l) #endif #define BUF 513 /* Maximum length of numeric string. */ @@ -107,22 +107,22 @@ __weak_alias(vfscanf,__svfscanf) #define CT_INT 3 /* %[dioupxX] conversion */ #define CT_FLOAT 4 /* %[efgEFG] conversion */ -static const u_char *__sccl(char *, const u_char *); +static const u_char *__sccl(char *, const u_char *, locale_t); #ifndef NO_FLOATING_POINT -static size_t parsefloat(FILE *, char *, char *); +static size_t parsefloat(FILE *, char *, char *, locale_t); #endif int __scanfdebug = 0; #define __collate_load_error /*CONSTCOND*/0 static int -__collate_range_cmp(int c1, int c2) +__collate_range_cmp(int c1, int c2, locale_t loc) { static char s1[2], s2[2]; s1[0] = c1; s2[0] = c2; - return strcoll(s1, s2); + return strcoll_l(s1, s2, loc); } @@ -131,18 +131,24 @@ __collate_range_cmp(int c1, int c2) */ int __svfscanf(FILE *fp, char const *fmt0, va_list ap) +{ + return __svfscanf_l(fp, _current_locale(), fmt0, ap); +} + +int +__svfscanf_l(FILE *fp, locale_t loc, char const *fmt0, va_list ap) { int ret; FLOCKFILE(fp); - ret = __svfscanf_unlocked(fp, fmt0, ap); + ret = __svfscanf_unlocked_l(fp, loc, fmt0, ap); FUNLOCKFILE(fp); return ret; } #define SCANF_SKIP_SPACE() \ do { \ - while ((fp->_r > 0 || __srefill(fp) == 0) && isspace(*fp->_p)) \ + while ((fp->_r > 0 || __srefill(fp) == 0) && isspace_l(*fp->_p, loc)) \ nread++, fp->_r--, fp->_p++; \ } while (/*CONSTCOND*/ 0) @@ -150,7 +156,7 @@ do { \ * __svfscanf_unlocked - non-MT-safe version of __svfscanf */ int -__svfscanf_unlocked(FILE *fp, const char *fmt0, va_list ap) +__svfscanf_unlocked_l(FILE *fp, locale_t loc, const char *fmt0, va_list ap) { const u_char *fmt = (const u_char *)fmt0; int c; /* character from format, or conversion */ @@ -187,9 +193,9 @@ __svfscanf_unlocked(FILE *fp, const char *fmt0, va_list ap) c = (unsigned char)*fmt++; if (c == 0) return nassigned; - if (isspace(c)) { + if (isspace_l(c, loc)) { while ((fp->_r > 0 || __srefill(fp) == 0) && - isspace(*fp->_p)) + isspace_l(*fp->_p, loc)) nread++, fp->_r--, fp->_p++; continue; } @@ -300,7 +306,7 @@ literal: break; case '[': - fmt = __sccl(ccltab, fmt); + fmt = __sccl(ccltab, fmt, loc); flags |= NOSKIP; c = CT_CCL; break; @@ -363,7 +369,7 @@ literal: * that suppress this. */ if ((flags & NOSKIP) == 0) { - while (isspace(*fp->_p)) { + while (isspace_l(*fp->_p, loc)) { nread++; if (--fp->_r > 0) fp->_p++; @@ -393,7 +399,7 @@ literal: wcp = NULL; n = 0; while (width != 0) { - if (n == MB_CUR_MAX) { + if (n == MB_CUR_MAX_L(loc)) { fp->_flags |= __SERR; goto input_failure; } @@ -401,7 +407,8 @@ literal: fp->_p++; fp->_r--; mbs = initial; - nconv = mbrtowc(wcp, buf, n, &mbs); + nconv = mbrtowc_l(wcp, buf, n, &mbs, + loc); if (nconv == (size_t)-1) { fp->_flags |= __SERR; goto input_failure; @@ -475,7 +482,7 @@ literal: n = 0; nchars = 0; while (width != 0) { - if (n == MB_CUR_MAX) { + if (n == MB_CUR_MAX_L(loc)) { fp->_flags |= __SERR; goto input_failure; } @@ -483,7 +490,8 @@ literal: fp->_p++; fp->_r--; mbs = initial; - nconv = mbrtowc(wcp, buf, n, &mbs); + nconv = mbrtowc_l(wcp, buf, n, &mbs, + loc); if (nconv == (size_t)-1) { fp->_flags |= __SERR; goto input_failure; @@ -491,8 +499,8 @@ literal: if (nconv == 0) *wcp = L'\0'; if (nconv != (size_t)-2) { - if (wctob(*wcp) != EOF && - !ccltab[wctob(*wcp)]) { + if (wctob_l(*wcp, loc) != EOF && + !ccltab[wctob_l(*wcp, loc)]) { while (n != 0) { n--; (void)ungetc(buf[n], @@ -575,8 +583,8 @@ literal: else wcp = &twc; n = 0; - while (!isspace(*fp->_p) && width != 0) { - if (n == MB_CUR_MAX) { + while (!isspace_l(*fp->_p, loc) && width != 0) { + if (n == MB_CUR_MAX_L(loc)) { fp->_flags |= __SERR; goto input_failure; } @@ -584,7 +592,8 @@ literal: fp->_p++; fp->_r--; mbs = initial; - nconv = mbrtowc(wcp, buf, n, &mbs); + nconv = mbrtowc_l(wcp, buf, n, &mbs, + loc); if (nconv == (size_t)-1) { fp->_flags |= __SERR; goto input_failure; @@ -592,7 +601,7 @@ literal: if (nconv == 0) *wcp = L'\0'; if (nconv != (size_t)-2) { - if (iswspace(*wcp)) { + if (iswspace_l(*wcp, loc)) { while (n != 0) { n--; (void)ungetc(buf[n], @@ -620,7 +629,7 @@ literal: } } else if (flags & SUPPRESS) { n = 0; - while (!isspace(*fp->_p)) { + while (!isspace_l(*fp->_p, loc)) { n++, fp->_r--, fp->_p++; if (--width == 0) break; @@ -630,7 +639,7 @@ literal: nread += n; } else { p0 = p = va_arg(ap, char *); - while (!isspace(*fp->_p)) { + while (!isspace_l(*fp->_p, loc)) { fp->_r--; *p++ = *fp->_p++; if (--width == 0) @@ -773,9 +782,11 @@ literal: *p = 0; if ((flags & UNSIGNED) == 0) - res = strtoimax(buf, (char **)NULL, base); + res = strtoimax_l(buf, (char **)NULL, base, + loc); else - res = strtoumax(buf, (char **)NULL, base); + res = strtoumax_l(buf, (char **)NULL, base, + loc); if (flags & POINTER) *va_arg(ap, void **) = (void *)(uintptr_t)res; @@ -807,17 +818,18 @@ literal: /* scan a floating point number as if by strtod */ if (width == 0 || width > sizeof(buf) - 1) width = sizeof(buf) - 1; - if ((width = parsefloat(fp, buf, buf + width)) == 0) + if ((width = parsefloat(fp, buf, buf + width, loc)) == 0) goto match_failure; if ((flags & SUPPRESS) == 0) { if (flags & LONGDBL) { - long double res = strtold(buf, &p); + long double res = strtold_l(buf, &p, + loc); *va_arg(ap, long double *) = res; } else if (flags & LONG) { - double res = strtod(buf, &p); + double res = strtod_l(buf, &p, loc); *va_arg(ap, double *) = res; } else { - float res = strtof(buf, &p); + float res = strtof_l(buf, &p, loc); *va_arg(ap, float *) = res; } if (__scanfdebug && (size_t)(p - buf) != width) @@ -843,7 +855,7 @@ match_failure: * considered part of the scanset. */ static const u_char * -__sccl(char *tab, const u_char *fmt) +__sccl(char *tab, const u_char *fmt, locale_t loc) { int c, n, v, i; @@ -901,7 +913,7 @@ doswitch: */ n = *fmt; if (n == ']' || (__collate_load_error ? n < c : - __collate_range_cmp(n, c) < 0)) { + __collate_range_cmp(n, c, loc) < 0)) { c = '-'; break; /* resume the for(;;) */ } @@ -913,8 +925,8 @@ doswitch: while (c < n); } else { for (i = 0; i < 256; i ++) - if (__collate_range_cmp(c, i) < 0 && - __collate_range_cmp(i, n) <= 0) + if (__collate_range_cmp(c, i, loc) < 0 && + __collate_range_cmp(i, n, loc) <= 0) tab[i] = v; } #if 1 /* XXX another disgusting compatibility hack */ @@ -946,7 +958,7 @@ doswitch: #ifndef NO_FLOATING_POINT static size_t -parsefloat(FILE *fp, char *buf, char *end) +parsefloat(FILE *fp, char *buf, char *end, locale_t loc) { char *commit, *p; int infnanpos = 0; @@ -955,7 +967,7 @@ parsefloat(FILE *fp, char *buf, char *end) S_DIGITS, S_FRAC, S_EXP, S_EXPDIGITS } state = S_START; unsigned char c; - char decpt = *localeconv()->decimal_point; + char decpt = *localeconv_l(loc)->decimal_point; _Bool gotmantdig = 0, ishex = 0; /* @@ -1028,7 +1040,7 @@ reswitch: if (c == ')') { commit = p; infnanpos = -2; - } else if (!isalnum(c) && c != '_') + } else if (!isalnum_l(c, loc) && c != '_') goto parsedone; break; } @@ -1044,7 +1056,7 @@ reswitch: goto reswitch; } case S_DIGITS: - if ((ishex && isxdigit(c)) || isdigit(c)) + if ((ishex && isxdigit_l(c, loc)) || isdigit_l(c, loc)) gotmantdig = 1; else { state = S_FRAC; @@ -1061,7 +1073,7 @@ reswitch: goto parsedone; else state = S_EXP; - } else if ((ishex && isxdigit(c)) || isdigit(c)) { + } else if ((ishex && isxdigit_l(c, loc)) || isdigit_l(c, loc)) { commit = p; gotmantdig = 1; } else @@ -1074,7 +1086,7 @@ reswitch: else goto reswitch; case S_EXPDIGITS: - if (isdigit(c)) + if (isdigit_l(c, loc)) commit = p; else goto parsedone; diff --git a/lib/libc/stdio/vfwprintf.c b/lib/libc/stdio/vfwprintf.c index e814253c0..4e21d539d 100644 --- a/lib/libc/stdio/vfwprintf.c +++ b/lib/libc/stdio/vfwprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vfwprintf.c,v 1.30 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: vfwprintf.c,v 1.33 2013/09/23 12:41:37 pooka Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)vfprintf.c 8.1 (Berkeley) 6/4/93"; __FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.27 2007/01/09 00:28:08 imp Exp $"); #else -__RCSID("$NetBSD: vfwprintf.c,v 1.30 2012/03/27 15:05:42 christos Exp $"); +__RCSID("$NetBSD: vfwprintf.c,v 1.33 2013/09/23 12:41:37 pooka Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -64,6 +64,7 @@ __RCSID("$NetBSD: vfwprintf.c,v 1.30 2012/03/27 15:05:42 christos Exp $"); #include #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" #include "extern.h" #include "fvwrite.h" @@ -73,7 +74,7 @@ __RCSID("$NetBSD: vfwprintf.c,v 1.30 2012/03/27 15:05:42 christos Exp $"); #define CHAR_T wchar_t #define STRLEN(a) wcslen(a) #define MEMCHR(a, b, c) wmemchr(a, b, c) -#define SCONV(a, b) __mbsconv(a, b) +#define SCONV(a, b, loc) __mbsconv(a, b, loc) #define STRCONST(a) L ## a #define WDECL(a, b) a ## w ## b #define END_OF_FILE WEOF @@ -83,7 +84,7 @@ __RCSID("$NetBSD: vfwprintf.c,v 1.30 2012/03/27 15:05:42 christos Exp $"); #define CHAR_T char #define STRLEN(a) strlen(a) #define MEMCHR(a, b, c) memchr(a, b, c) -#define SCONV(a, b) __wcsconv(a, b) +#define SCONV(a, b, loc) __wcsconv(a, b, loc) #define STRCONST(a) a #define WDECL(a, b) a ## b #define END_OF_FILE EOF @@ -131,16 +132,20 @@ enum typeid { T_DOUBLE, T_LONG_DOUBLE, T_WINT, TP_WCHAR }; -static int __sbprintf(FILE *, const CHAR_T *, va_list); +#ifdef NARROW +__printflike(3, 0) +#endif +static int __sbprintf(FILE *, locale_t, const CHAR_T *, va_list); + static CHAR_T *__ujtoa(uintmax_t, CHAR_T *, int, int, const char *, int, char, const char *); static CHAR_T *__ultoa(u_long, CHAR_T *, int, int, const char *, int, char, const char *); #ifndef NARROW -static CHAR_T *__mbsconv(char *, int); -static wint_t __xfputwc(CHAR_T, FILE *); +static CHAR_T *__mbsconv(char *, int, locale_t); +static wint_t __xfputwc(CHAR_T, FILE *, locale_t); #else -static char *__wcsconv(wchar_t *, int); +static char *__wcsconv(wchar_t *, int, locale_t); static int __sprint(FILE *, struct __suio *); #endif static int __find_arguments(const CHAR_T *, va_list, union arg **); @@ -152,7 +157,7 @@ static int __grow_type_table(size_t, enum typeid **, size_t *); * worries about ungetc buffers and so forth. */ static int -__sbprintf(FILE *fp, const CHAR_T *fmt, va_list ap) +__sbprintf(FILE *fp, locale_t loc, const CHAR_T *fmt, va_list ap) { int ret; FILE fake; @@ -178,7 +183,7 @@ __sbprintf(FILE *fp, const CHAR_T *fmt, va_list ap) fake._lbfsize = 0; /* not actually used, but Just In Case */ /* do the work, then copy any error status */ - ret = WDECL(__vf,printf_unlocked)(&fake, fmt, ap); + ret = WDECL(__vf,printf_unlocked_l)(&fake, loc, fmt, ap); if (ret >= 0 && fflush(&fake)) ret = END_OF_FILE; if (fake._flags & __SERR) @@ -192,7 +197,7 @@ __sbprintf(FILE *fp, const CHAR_T *fmt, va_list ap) * File must already be locked. */ static wint_t -__xfputwc(wchar_t wc, FILE *fp) +__xfputwc(wchar_t wc, FILE *fp, locale_t loc) { static const mbstate_t initial; mbstate_t mbs; @@ -205,7 +210,7 @@ __xfputwc(wchar_t wc, FILE *fp) return __fputwc_unlock(wc, fp); mbs = initial; - if ((len = wcrtomb(buf, wc, &mbs)) == (size_t)-1) { + if ((len = wcrtomb_l(buf, wc, &mbs, loc)) == (size_t)-1) { fp->_flags |= __SERR; return END_OF_FILE; } @@ -412,7 +417,7 @@ __ujtoa(uintmax_t val, CHAR_T *endp, int base, int octzero, * that the multibyte char. string ends in a null character. */ static wchar_t * -__mbsconv(char *mbsarg, int prec) +__mbsconv(char *mbsarg, int prec, locale_t loc) { static const mbstate_t initial; mbstate_t mbs; @@ -436,7 +441,7 @@ __mbsconv(char *mbsarg, int prec) insize = nchars = nconv = 0; mbs = initial; while (nchars != (size_t)prec) { - nconv = mbrlen(p, MB_CUR_MAX, &mbs); + nconv = mbrlen_l(p, MB_CUR_MAX_L(loc), &mbs, loc); if (nconv == 0 || nconv == (size_t)-1 || nconv == (size_t)-2) break; @@ -462,7 +467,7 @@ __mbsconv(char *mbsarg, int prec) mbs = initial; nconv = 0; while (insize != 0) { - nconv = mbrtowc(wcp, p, insize, &mbs); + nconv = mbrtowc_l(wcp, p, insize, &mbs, loc); if (nconv == 0 || nconv == (size_t)-1 || nconv == (size_t)-2) break; wcp++; @@ -485,7 +490,7 @@ __mbsconv(char *mbsarg, int prec) * string ends is null-terminated. */ static char * -__wcsconv(wchar_t *wcsarg, int prec) +__wcsconv(wchar_t *wcsarg, int prec, locale_t loc) { static const mbstate_t initial; mbstate_t mbs; @@ -498,7 +503,7 @@ __wcsconv(wchar_t *wcsarg, int prec) if (prec < 0) { p = wcsarg; mbs = initial; - nbytes = wcsrtombs(NULL, (void *)&p, 0, &mbs); + nbytes = wcsrtombs_l(NULL, (void *)&p, 0, &mbs, loc); if (nbytes == (size_t)-1) return NULL; } else { @@ -514,7 +519,7 @@ __wcsconv(wchar_t *wcsarg, int prec) p = wcsarg; mbs = initial; for (;;) { - clen = wcrtomb(buf, *p++, &mbs); + clen = wcrtomb_l(buf, *p++, &mbs, loc); if (clen == 0 || clen == (size_t)-1 || nbytes + clen > (size_t)prec) break; @@ -528,8 +533,8 @@ __wcsconv(wchar_t *wcsarg, int prec) /* Fill the output buffer. */ p = wcsarg; mbs = initial; - if ((nbytes = wcsrtombs(convbuf, (void *)&p, - nbytes, &mbs)) == (size_t)-1) { + if ((nbytes = wcsrtombs_l(convbuf, (void *)&p, + nbytes, &mbs, loc)) == (size_t)-1) { free(convbuf); return NULL; } @@ -547,7 +552,19 @@ WDECL(vf,printf)(FILE * __restrict fp, const CHAR_T * __restrict fmt0, va_list a int ret; FLOCKFILE(fp); - ret = WDECL(__vf,printf_unlocked)(fp, fmt0, ap); + ret = WDECL(__vf,printf_unlocked_l)(fp, _current_locale(), fmt0, ap); + FUNLOCKFILE(fp); + return ret; +} + +int +WDECL(vf,printf_l)(FILE * __restrict fp, locale_t loc, const CHAR_T * __restrict fmt0, + va_list ap) +{ + int ret; + + FLOCKFILE(fp); + ret = WDECL(__vf,printf_unlocked_l)(fp, loc, fmt0, ap); FUNLOCKFILE(fp); return ret; } @@ -600,7 +617,7 @@ static char *cvt(double, int, int, char *, int *, int, int *); * Non-MT-safe version */ int -WDECL(__vf,printf_unlocked)(FILE *fp, const CHAR_T *fmt0, va_list ap) +WDECL(__vf,printf_unlocked_l)(FILE *fp, locale_t loc, const CHAR_T *fmt0, va_list ap) { CHAR_T *fmt; /* format string */ int ch; /* character from fmt */ @@ -695,7 +712,7 @@ WDECL(__vf,printf_unlocked)(FILE *fp, const CHAR_T *fmt0, va_list ap) #ifndef NARROW #define PRINT(ptr, len) do { \ for (n3 = 0; n3 < (len); n3++) \ - __xfputwc((ptr)[n3], fp); \ + __xfputwc((ptr)[n3], fp, loc); \ } while (/*CONSTCOND*/0) #define FLUSH() #else @@ -804,13 +821,12 @@ WDECL(__vf,printf_unlocked)(FILE *fp, const CHAR_T *fmt0, va_list ap) _SET_ORIENTATION(fp, -1); - ndig = -1; /* XXX gcc */ - thousands_sep = '\0'; grouping = NULL; #ifndef NO_FLOATING_POINT - decimal_point = localeconv()->decimal_point; + decimal_point = localeconv_l(loc)->decimal_point; expsize = 0; /* XXXGCC -Wuninitialized [sh3,m68000] */ + ndig = -1; /* XXX gcc */ #endif convbuf = NULL; /* sorry, f{w,}printf(read_only_file, L"") returns {W,}EOF, not 0 */ @@ -822,7 +838,7 @@ WDECL(__vf,printf_unlocked)(FILE *fp, const CHAR_T *fmt0, va_list ap) /* optimise fprintf(stderr) (and other unbuffered Unix files) */ if ((fp->_flags & (__SNBF|__SWR|__SRW)) == (__SNBF|__SWR) && __sfileno(fp) != -1) - return __sbprintf(fp, fmt0, ap); + return __sbprintf(fp, loc, fmt0, ap); fmt = (CHAR_T *)__UNCONST(fmt0); argtable = NULL; @@ -862,9 +878,11 @@ WDECL(__vf,printf_unlocked)(FILE *fp, const CHAR_T *fmt0, va_list ap) prec = -1; sign = '\0'; ox[1] = '\0'; +#ifndef NO_FLOATING_POINT expchar = '\0'; lead = 0; nseps = nrepeats = 0; +#endif ulval = 0; ujval = 0; xdigs = NULL; @@ -903,8 +921,8 @@ reswitch: switch (ch) { goto rflag; case '\'': flags |= GROUPING; - thousands_sep = *(localeconv()->thousands_sep); - grouping = localeconv()->grouping; + thousands_sep = *(localeconv_l(loc)->thousands_sep); + grouping = localeconv_l(loc)->grouping; /* If the locale doesn't define the above, use sane * defaults - otherwise silly things happen! */ if (thousands_sep == 0) @@ -992,8 +1010,8 @@ reswitch: switch (ch) { size_t mbseqlen; mbs = initial; - mbseqlen = wcrtomb(buf, - (wchar_t)GETARG(wint_t), &mbs); + mbseqlen = wcrtomb_l(buf, + (wchar_t)GETARG(wint_t), &mbs, loc); if (mbseqlen == (size_t)-1) { fp->_flags |= __SERR; goto error; @@ -1007,7 +1025,7 @@ reswitch: switch (ch) { if (flags & LONGINT) *buf = (wchar_t)GETARG(wint_t); else - *buf = (wchar_t)btowc(GETARG(int)); + *buf = (wchar_t)btowc_l(GETARG(int), loc); size = 1; #endif result = buf; @@ -1074,7 +1092,7 @@ reswitch: switch (ch) { if (convbuf != NULL) free(convbuf); #ifndef NARROW - result = convbuf = __mbsconv(dtoaresult, -1); + result = convbuf = __mbsconv(dtoaresult, -1, loc); #else /*XXX inefficient*/ result = convbuf = strdup(dtoaresult); @@ -1123,7 +1141,7 @@ fp_begin: if (convbuf != NULL) free(convbuf); #ifndef NARROW - result = convbuf = __mbsconv(dtoaresult, -1); + result = convbuf = __mbsconv(dtoaresult, -1, loc); #else /*XXX inefficient*/ result = convbuf = strdup(dtoaresult); @@ -1195,7 +1213,7 @@ fp_common: if (convbuf != NULL) free(convbuf); #ifndef NARROW - result = convbuf = __mbsconv(dtoaresult, -1); + result = convbuf = __mbsconv(dtoaresult, -1, loc); #else /*XXX inefficient*/ result = convbuf = strdup(dtoaresult); @@ -1323,7 +1341,7 @@ fp_common: if ((mc = GETARG(MCHAR_T *)) == NULL) result = STRCONST("(null)"); else { - convbuf = SCONV(mc, prec); + convbuf = SCONV(mc, prec, loc); if (convbuf == NULL) { fp->_flags |= __SERR; goto error; diff --git a/lib/libc/stdio/vfwscanf.c b/lib/libc/stdio/vfwscanf.c index d620cddff..4b38ea9d6 100644 --- a/lib/libc/stdio/vfwscanf.c +++ b/lib/libc/stdio/vfwscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vfwscanf.c,v 1.8 2012/03/15 18:22:30 christos Exp $ */ +/* $NetBSD: vfwscanf.c,v 1.11 2013/09/23 12:41:37 pooka Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -42,7 +42,7 @@ static char sccsid[] = "@(#)ftell.c 8.2 (Berkeley) 5/4/95"; __FBSDID("$FreeBSD: src/lib/libc/stdio/vfwscanf.c,v 1.12 2004/05/02 20:13:29 obrien Exp $"); #else -__RCSID("$NetBSD: vfwscanf.c,v 1.8 2012/03/15 18:22:30 christos Exp $"); +__RCSID("$NetBSD: vfwscanf.c,v 1.11 2013/09/23 12:41:37 pooka Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -62,9 +62,8 @@ __RCSID("$NetBSD: vfwscanf.c,v 1.8 2012/03/15 18:22:30 christos Exp $"); #include "reentrant.h" #include "local.h" -#ifndef NO_FLOATING_POINT #include -#endif +#include "setlocale_local.h" #define BUF 513 /* Maximum length of numeric string. */ @@ -103,7 +102,9 @@ __RCSID("$NetBSD: vfwscanf.c,v 1.8 2012/03/15 18:22:30 christos Exp $"); #define CT_INT 3 /* %[dioupxX] conversion */ #define CT_FLOAT 4 /* %[efgEFG] conversion */ -static int parsefloat(FILE *, wchar_t *, wchar_t *); +#ifndef NO_FLOATING_POINT +static int parsefloat(FILE *, wchar_t *, wchar_t *, locale_t); +#endif #define INCCL(_c) \ (cclcompl ? (wmemchr(ccls, (_c), (size_t)(ccle - ccls)) == NULL) : \ @@ -114,12 +115,19 @@ static int parsefloat(FILE *, wchar_t *, wchar_t *); */ int vfwscanf(FILE * __restrict fp, const wchar_t * __restrict fmt, va_list ap) +{ + return vfwscanf_l(fp, _current_locale(), fmt, ap); +} + +int +vfwscanf_l(FILE * __restrict fp, locale_t loc, const wchar_t * __restrict fmt, + va_list ap) { int ret; FLOCKFILE(fp); _SET_ORIENTATION(fp, 1); - ret = __vfwscanf_unlocked(fp, fmt, ap); + ret = __vfwscanf_unlocked_l(fp, loc, fmt, ap); FUNLOCKFILE(fp); return ret; } @@ -128,7 +136,7 @@ vfwscanf(FILE * __restrict fp, const wchar_t * __restrict fmt, va_list ap) do { \ wint_t tc; \ \ - while ((tc = __fgetwc_unlock(fp)) != WEOF && iswspace(tc)) \ + while ((tc = __fgetwc_unlock(fp)) != WEOF && iswspace_l(tc, loc)) \ continue; \ if (tc != WEOF) \ ungetwc(tc, fp); \ @@ -138,7 +146,8 @@ do { \ * Non-MT-safe version. */ int -__vfwscanf_unlocked(FILE * __restrict fp, const wchar_t * __restrict fmt, va_list ap) +__vfwscanf_unlocked_l(FILE * __restrict fp, locale_t loc, + const wchar_t * __restrict fmt, va_list ap) { wint_t c; /* character from format, or conversion */ size_t width; /* field width, or 0 */ @@ -157,10 +166,9 @@ __vfwscanf_unlocked(FILE * __restrict fp, const wchar_t * __restrict fmt, va_lis wint_t wi; /* handy wint_t */ char *mbp; /* multibyte string pointer for %c %s %[ */ size_t nconv; /* number of bytes in mb. conversion */ - char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */ static const mbstate_t initial; mbstate_t mbs; - + char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */ /* `basefix' is used to avoid `if' tests in the integer scanner */ static short basefix[17] = { 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; @@ -176,9 +184,9 @@ __vfwscanf_unlocked(FILE * __restrict fp, const wchar_t * __restrict fmt, va_lis c = *fmt++; if (c == 0) return nassigned; - if (iswspace(c)) { + if (iswspace_l(c, loc)) { while ((c = __fgetwc_unlock(fp)) != WEOF && - iswspace(c)) + iswspace_l(c, loc)) ; if (c != WEOF) ungetwc(c, fp); @@ -360,7 +368,8 @@ literal: * that suppress this. */ if ((flags & NOSKIP) == 0) { - while ((wi = __fgetwc_unlock(fp)) != WEOF && iswspace(wi)) + while ((wi = __fgetwc_unlock(fp)) != WEOF && + iswspace_l(wi, loc)) nread++; if (wi == WEOF) goto input_failure; @@ -398,14 +407,15 @@ literal: mbs = initial; while (width != 0 && (wi = __fgetwc_unlock(fp)) != WEOF) { - if (width >= MB_CUR_MAX && + if (width >= MB_CUR_MAX_L(loc) && !(flags & SUPPRESS)) { - nconv = wcrtomb(mbp, wi, &mbs); + nconv = wcrtomb_l(mbp, wi, + &mbs, loc); if (nconv == (size_t)-1) goto input_failure; } else { - nconv = wcrtomb(mbbuf, wi, - &mbs); + nconv = wcrtomb_l(mbbuf, wi, + &mbs, loc); if (nconv == (size_t)-1) goto input_failure; if (nconv > width) { @@ -464,14 +474,15 @@ literal: mbs = initial; while ((wi = __fgetwc_unlock(fp)) != WEOF && width != 0 && INCCL(wi)) { - if (width >= MB_CUR_MAX && + if (width >= MB_CUR_MAX_L(loc) && !(flags & SUPPRESS)) { - nconv = wcrtomb(mbp, wi, &mbs); + nconv = wcrtomb_l(mbp, wi, + &mbs, loc); if (nconv == (size_t)-1) goto input_failure; } else { - nconv = wcrtomb(mbbuf, wi, - &mbs); + nconv = wcrtomb_l(mbbuf, wi, + &mbs, loc); if (nconv == (size_t)-1) goto input_failure; if (nconv > width) @@ -503,7 +514,7 @@ literal: if ((flags & SUPPRESS) && (flags & LONG)) { while ((wi = __fgetwc_unlock(fp)) != WEOF && width-- != 0 && - !iswspace(wi)) + !iswspace_l(wi, loc)) nread++; if (wi != WEOF) ungetwc(wi, fp); @@ -511,7 +522,7 @@ literal: p0 = p = va_arg(ap, wchar_t *); while ((wi = __fgetwc_unlock(fp)) != WEOF && width-- != 0 && - !iswspace(wi)) { + !iswspace_l(wi, loc)) { *p++ = (wchar_t)wi; nread++; } @@ -525,15 +536,16 @@ literal: mbs = initial; while ((wi = __fgetwc_unlock(fp)) != WEOF && width != 0 && - !iswspace(wi)) { - if (width >= MB_CUR_MAX && + !iswspace_l(wi, loc)) { + if (width >= MB_CUR_MAX_L(loc) && !(flags & SUPPRESS)) { - nconv = wcrtomb(mbp, wi, &mbs); + nconv = wcrtomb_l(mbp, wi, + &mbs, loc); if (nconv == (size_t)-1) goto input_failure; } else { - nconv = wcrtomb(mbbuf, wi, - &mbs); + nconv = wcrtomb_l(mbbuf, wi, + &mbs, loc); if (nconv == (size_t)-1) goto input_failure; if (nconv > width) @@ -677,9 +689,9 @@ literal: *p = 0; if ((flags & UNSIGNED) == 0) - res = wcstoimax(buf, NULL, base); + res = wcstoimax_l(buf, NULL, base, loc); else - res = wcstoumax(buf, NULL, base); + res = wcstoumax_l(buf, NULL, base, loc); if (flags & POINTER) *va_arg(ap, void **) = (void *)(uintptr_t)res; @@ -712,18 +724,19 @@ literal: if (width == 0 || width > sizeof(buf) / sizeof(*buf) - 1) width = sizeof(buf) / sizeof(*buf) - 1; - if ((width = parsefloat(fp, buf, buf + width)) == 0) + if ((width = parsefloat(fp, buf, buf + width, loc)) == 0) goto match_failure; if ((flags & SUPPRESS) == 0) { if (flags & LONGDBL) { - long double res = wcstold(buf, &p); + long double res = wcstold_l(buf, &p, + loc); *va_arg(ap, long double *) = res; } else if (flags & LONG) { - double res = wcstod(buf, &p); + double res = wcstod_l(buf, &p, loc); *va_arg(ap, double *) = res; } else { - float res = wcstof(buf, &p); + float res = wcstof_l(buf, &p, loc); *va_arg(ap, float *) = res; } #ifdef DEBUG @@ -746,7 +759,7 @@ match_failure: #ifndef NO_FLOATING_POINT static int -parsefloat(FILE *fp, wchar_t *buf, wchar_t *end) +parsefloat(FILE *fp, wchar_t *buf, wchar_t *end, locale_t loc) { wchar_t *commit, *p; int infnanpos = 0; @@ -755,7 +768,7 @@ parsefloat(FILE *fp, wchar_t *buf, wchar_t *end) S_DIGITS, S_FRAC, S_EXP, S_EXPDIGITS } state = S_START; wchar_t c; - wchar_t decpt = (wchar_t)(unsigned char)*localeconv()->decimal_point; + wchar_t decpt = (wchar_t)(unsigned char)*localeconv_l(loc)->decimal_point; int gotmantdig = 0, ishex = 0; /* @@ -830,7 +843,7 @@ reswitch: if (c == ')') { commit = p; infnanpos = -2; - } else if (!iswalnum(c) && c != '_') + } else if (!iswalnum_l(c, loc) && c != '_') goto parsedone; break; } @@ -846,7 +859,8 @@ reswitch: goto reswitch; } case S_DIGITS: - if ((ishex && iswxdigit(c)) || iswdigit(c)) + if ((ishex && iswxdigit_l(c, loc)) || + iswdigit_l(c, loc)) gotmantdig = 1; else { state = S_FRAC; @@ -863,7 +877,8 @@ reswitch: goto parsedone; else state = S_EXP; - } else if ((ishex && iswxdigit(c)) || iswdigit(c)) { + } else if ((ishex && iswxdigit_l(c, loc)) || + iswdigit_l(c, loc)) { commit = p; gotmantdig = 1; } else @@ -876,7 +891,7 @@ reswitch: else goto reswitch; case S_EXPDIGITS: - if (iswdigit(c)) + if (iswdigit_l(c, loc)) commit = p; else goto parsedone; diff --git a/lib/libc/stdio/vprintf.c b/lib/libc/stdio/vprintf.c index c48946584..ccc789b42 100644 --- a/lib/libc/stdio/vprintf.c +++ b/lib/libc/stdio/vprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vprintf.c,v 1.12 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vprintf.c,v 1.13 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,15 +37,18 @@ #if 0 static char sccsid[] = "@(#)vprintf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: vprintf.c,v 1.12 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vprintf.c,v 1.13 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include #include +__weak_alias(vprintf_l, _vprintf_l) + int vprintf(const char *fmt, va_list ap) { @@ -54,3 +57,10 @@ vprintf(const char *fmt, va_list ap) return vfprintf(stdout, fmt, ap); } + +int +vprintf_l(locale_t loc, const char *fmt, va_list ap) +{ + + return vfprintf_l(stdout, loc, fmt, ap); +} diff --git a/lib/libc/stdio/vscanf.c b/lib/libc/stdio/vscanf.c index 1e4b66dd5..ac293fabb 100644 --- a/lib/libc/stdio/vscanf.c +++ b/lib/libc/stdio/vscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vscanf.c,v 1.14 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vscanf.c,v 1.15 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,10 +37,12 @@ #if 0 static char sccsid[] = "@(#)vscanf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: vscanf.c,v 1.14 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vscanf.c,v 1.15 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include @@ -48,6 +50,8 @@ __RCSID("$NetBSD: vscanf.c,v 1.14 2012/03/15 18:22:31 christos Exp $"); #include "reentrant.h" #include "local.h" +__weak_alias(vscanf_l, _vscanf_l) + int vscanf(const char *fmt, va_list ap) { @@ -56,3 +60,12 @@ vscanf(const char *fmt, va_list ap) return __svfscanf(stdin, fmt, ap); } + +int +vscanf_l(locale_t loc, const char *fmt, va_list ap) +{ + + _DIAGASSERT(fmt != NULL); + + return __svfscanf_l(stdin, loc, fmt, ap); +} diff --git a/lib/libc/stdio/vsnprintf.c b/lib/libc/stdio/vsnprintf.c index c9911d9c3..bdc31b3c7 100644 --- a/lib/libc/stdio/vsnprintf.c +++ b/lib/libc/stdio/vsnprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vsnprintf.c,v 1.25 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vsnprintf.c,v 1.27 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,7 +37,7 @@ #if 0 static char sccsid[] = "@(#)vsnprintf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: vsnprintf.c,v 1.25 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vsnprintf.c,v 1.27 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -45,21 +45,28 @@ __RCSID("$NetBSD: vsnprintf.c,v 1.25 2012/03/15 18:22:31 christos Exp $"); #include #include +#include #include #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" #if defined(_FORTIFY_SOURCE) && !defined(__lint__) #undef vsnprintf #define vsnprintf _vsnprintf +#undef snprintf +#define snprintf _snprintf #endif #ifdef __weak_alias __weak_alias(vsnprintf,_vsnprintf) +__weak_alias(vsnprintf_l,_vsnprintf_l) +__weak_alias(snprintf,_snprintf) +__weak_alias(snprintf_l,_snprintf_l) #endif int -vsnprintf(char *str, size_t n, const char *fmt, va_list ap) +vsnprintf_l(char *str, size_t n, locale_t loc, const char *fmt, va_list ap) { int ret; FILE f; @@ -85,7 +92,37 @@ vsnprintf(char *str, size_t n, const char *fmt, va_list ap) _DIAGASSERT(__type_fit(int, n - 1)); f._bf._size = f._w = (int)(n - 1); } - ret = __vfprintf_unlocked(&f, fmt, ap); + ret = __vfprintf_unlocked_l(&f, loc, fmt, ap); *f._p = 0; return ret; } + +int +vsnprintf(char *str, size_t n, const char *fmt, va_list ap) +{ + return vsnprintf_l(str, n, _current_locale(), fmt, ap); +} + +int +snprintf(char *str, size_t n, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vsnprintf(str, n, fmt, ap); + va_end(ap); + return ret; +} + +int +snprintf_l(char *str, size_t n, locale_t loc, const char *fmt, ...) +{ + va_list ap; + int ret; + + va_start(ap, fmt); + ret = vsnprintf_l(str, n, loc, fmt, ap); + va_end(ap); + return ret; +} diff --git a/lib/libc/stdio/vsprintf.c b/lib/libc/stdio/vsprintf.c index 43f5474bf..d0ffe2c9b 100644 --- a/lib/libc/stdio/vsprintf.c +++ b/lib/libc/stdio/vsprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vsprintf.c,v 1.17 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vsprintf.c,v 1.19 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,23 +37,31 @@ #if 0 static char sccsid[] = "@(#)vsprintf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: vsprintf.c,v 1.17 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vsprintf.c,v 1.19 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include +#include #include + #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" #ifdef _FORTIFY_SOURCE #undef vsprintf +#undef sprintf #endif +__weak_alias(sprintf_l, _sprintf_l) +__weak_alias(vsprintf_l, _vsprintf_l) + int -vsprintf(char *str, const char *fmt, va_list ap) +vsprintf_l(char *str, locale_t loc, const char *fmt, va_list ap) { int ret; FILE f; @@ -67,7 +75,39 @@ vsprintf(char *str, const char *fmt, va_list ap) f._flags = __SWR | __SSTR; f._bf._base = f._p = (unsigned char *)str; f._bf._size = f._w = INT_MAX; - ret = __vfprintf_unlocked(&f, fmt, ap); + ret = __vfprintf_unlocked_l(&f, loc, fmt, ap); *f._p = 0; return ret; } + +int +vsprintf(char *str, const char *fmt, va_list ap) +{ + return vsprintf_l(str, _current_locale(), fmt, ap); +} + +int +sprintf_l(char *str, locale_t loc, char const *fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vsprintf_l(str, loc, fmt, ap); + va_end(ap); + + return ret; +} + +int +sprintf(char *str, char const *fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vsprintf(str, fmt, ap); + va_end(ap); + + return ret; +} diff --git a/lib/libc/stdio/vsscanf.c b/lib/libc/stdio/vsscanf.c index 9fb68a0ac..8df72b338 100644 --- a/lib/libc/stdio/vsscanf.c +++ b/lib/libc/stdio/vsscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vsscanf.c,v 1.19 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: vsscanf.c,v 1.21 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,17 +37,23 @@ #if 0 static char sccsid[] = "@(#)vsscanf.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: vsscanf.c,v 1.19 2012/03/27 15:05:42 christos Exp $"); +__RCSID("$NetBSD: vsscanf.c,v 1.21 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include +#include #include #include #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" +__weak_alias(vsscanf_l, _vsscanf_l) + /* ARGSUSED */ static ssize_t eofread(void *cookie, void *buf, size_t len) @@ -56,7 +62,7 @@ eofread(void *cookie, void *buf, size_t len) } int -vsscanf(const char *str, const char *fmt, va_list ap) +vsscanf_l(const char *str, locale_t loc, const char *fmt, va_list ap) { FILE f; struct __sfileext fext; @@ -73,5 +79,11 @@ vsscanf(const char *str, const char *fmt, va_list ap) f._bf._size = f._r = (int)len; f._read = eofread; _UB(&f)._base = NULL; - return __svfscanf_unlocked(&f, fmt, ap); + return __svfscanf_unlocked_l(&f, loc, fmt, ap); +} + +int +vsscanf(const char *str, const char *fmt, va_list ap) +{ + return vsscanf_l(str, _current_locale(), fmt, ap); } diff --git a/lib/libc/stdio/vswprintf.c b/lib/libc/stdio/vswprintf.c index 10f5e1c66..41505b20f 100644 --- a/lib/libc/stdio/vswprintf.c +++ b/lib/libc/stdio/vswprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vswprintf.c,v 1.3 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vswprintf.c,v 1.6 2013/05/19 21:45:00 christos Exp $ */ /* * Copyright (c) 1997 Todd C. Miller @@ -32,21 +32,27 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/vswprintf.c,v 1.6 2005/02/21 19:41:44 fjoe Exp $"); #else -__RCSID("$NetBSD: vswprintf.c,v 1.3 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vswprintf.c,v 1.6 2013/05/19 21:45:00 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include +#include #include #include #include #include + #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" +__weak_alias(vswprintf_l, _vswprintf_l) + int -vswprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, - va_list ap) +vswprintf_l(wchar_t * __restrict s, size_t n, locale_t loc, + const wchar_t * __restrict fmt, va_list ap) { static const mbstate_t initial; mbstate_t mbs; @@ -64,13 +70,13 @@ vswprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, _FILEEXT_SETUP(&f, &fext); f._file = -1; f._flags = __SWR | __SSTR | __SALC; - f._bf._base = f._p = (unsigned char *)malloc(128); + f._bf._base = f._p = malloc(128); if (f._bf._base == NULL) { errno = ENOMEM; return -1; } f._bf._size = f._w = 127; /* Leave room for the NUL */ - ret = __vfwprintf_unlocked(&f, fmt, ap); + ret = __vfwprintf_unlocked_l(&f, loc, fmt, ap); if (ret < 0) { sverrno = errno; free(f._bf._base); @@ -84,7 +90,7 @@ vswprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, * fputwc() did in __vfwprintf(). */ mbs = initial; - nwc = mbsrtowcs(s, (void *)&mbp, n, &mbs); + nwc = mbsrtowcs_l(s, (void *)&mbp, n, &mbs, loc); free(f._bf._base); if (nwc == (size_t)-1) { errno = EILSEQ; @@ -98,3 +104,10 @@ vswprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, return ret; } + +int +vswprintf(wchar_t * __restrict s, size_t n, const wchar_t * __restrict fmt, + va_list ap) +{ + return vswprintf_l(s, n, _current_locale(), fmt, ap); +} diff --git a/lib/libc/stdio/vswscanf.c b/lib/libc/stdio/vswscanf.c index cb295e62c..7305ef716 100644 --- a/lib/libc/stdio/vswscanf.c +++ b/lib/libc/stdio/vswscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vswscanf.c,v 1.9 2012/03/27 15:05:42 christos Exp $ */ +/* $NetBSD: vswscanf.c,v 1.12 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -42,20 +42,26 @@ static char sccsid[] = "@(#)vsscanf.c 8.1 (Berkeley) 6/4/93"; __FBSDID("$FreeBSD: src/lib/libc/stdio/vswscanf.c,v 1.3 2004/04/07 09:55:05 tjr Exp $"); #else -__RCSID("$NetBSD: vswscanf.c,v 1.9 2012/03/27 15:05:42 christos Exp $"); +__RCSID("$NetBSD: vswscanf.c,v 1.12 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include +#include #include #include #include #include #include #include "reentrant.h" +#include "setlocale_local.h" #include "local.h" +__weak_alias(vswscanf_l, _vswscanf_l) + static ssize_t /*ARGSUSED*/ eofread(void *cookie, void *buf, size_t len) @@ -65,8 +71,8 @@ eofread(void *cookie, void *buf, size_t len) } int -vswscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt, - va_list ap) +vswscanf_l(const wchar_t * __restrict str, locale_t loc, + const wchar_t * __restrict fmt, va_list ap) { static const mbstate_t initial; mbstate_t mbs; @@ -81,10 +87,12 @@ vswscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt, * XXX Convert the wide character string to multibyte, which * __vfwscanf() will convert back to wide characters. */ - if ((mbstr = malloc(wcslen(str) * MB_CUR_MAX + 1)) == NULL) + mbstr = malloc(wcslen(str) * MB_CUR_MAX_L(loc) + 1); + if (mbstr == NULL) return EOF; mbs = initial; - if ((mlen = wcsrtombs(mbstr, &rstr, SIZE_T_MAX, &mbs)) == (size_t)-1) { + if ((mlen = wcsrtombs_l(mbstr, &rstr, SIZE_T_MAX, &mbs, loc)) + == (size_t)-1) { free(mbstr); return EOF; } @@ -97,8 +105,15 @@ vswscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt, f._bf._size = f._r = (int)mlen; f._read = eofread; _UB(&f)._base = NULL; - r = __vfwscanf_unlocked(&f, fmt, ap); + r = __vfwscanf_unlocked_l(&f, loc, fmt, ap); free(mbstr); return r; } + +int +vswscanf(const wchar_t * __restrict str, const wchar_t * __restrict fmt, + va_list ap) +{ + return vswscanf_l(str, _current_locale(), fmt, ap); +} diff --git a/lib/libc/stdio/vwprintf.c b/lib/libc/stdio/vwprintf.c index f59a0ce5c..b5412711a 100644 --- a/lib/libc/stdio/vwprintf.c +++ b/lib/libc/stdio/vwprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vwprintf.c,v 1.2 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vwprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,23 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/vwprintf.c,v 1.1 2002/09/21 13:00:30 tjr Exp $"); #else -__RCSID("$NetBSD: vwprintf.c,v 1.2 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vwprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include +__weak_alias(vwprintf_l, _vwprintf_l) + +int +vwprintf_l(locale_t loc, const wchar_t * __restrict fmt, va_list ap) +{ + return vfwprintf_l(stdout, loc, fmt, ap); +} + int vwprintf(const wchar_t * __restrict fmt, va_list ap) { diff --git a/lib/libc/stdio/vwscanf.c b/lib/libc/stdio/vwscanf.c index 26f01f0c4..b28e3fc1f 100644 --- a/lib/libc/stdio/vwscanf.c +++ b/lib/libc/stdio/vwscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: vwscanf.c,v 1.2 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: vwscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,17 +31,28 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/vwscanf.c,v 1.1 2002/09/23 12:40:06 tjr Exp $"); #else -__RCSID("$NetBSD: vwscanf.c,v 1.2 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: vwscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include +__weak_alias(vwscanf_l, _vwscanf_l) + int vwscanf(const wchar_t * __restrict fmt, va_list ap) { return vfwscanf(stdin, fmt, ap); } + +int +vwscanf_l(locale_t loc, const wchar_t * __restrict fmt, va_list ap) +{ + + return vfwscanf_l(stdin, loc, fmt, ap); +} diff --git a/lib/libc/stdio/wprintf.c b/lib/libc/stdio/wprintf.c index 4add15517..cedb90b8c 100644 --- a/lib/libc/stdio/wprintf.c +++ b/lib/libc/stdio/wprintf.c @@ -1,4 +1,4 @@ -/* $NetBSD: wprintf.c,v 1.2 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: wprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,17 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/wprintf.c,v 1.1 2002/09/21 13:00:30 tjr Exp $"); #else -__RCSID("$NetBSD: wprintf.c,v 1.2 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: wprintf.c,v 1.3 2013/04/19 15:22:25 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" #include #include #include +__weak_alias(wprintf_l, _wprintf_l) + int wprintf(const wchar_t * __restrict fmt, ...) { @@ -51,3 +54,16 @@ wprintf(const wchar_t * __restrict fmt, ...) return ret; } + +int +wprintf_l(locale_t loc, const wchar_t * __restrict fmt, ...) +{ + int ret; + va_list ap; + + va_start(ap, fmt); + ret = vfwprintf_l(stdout, loc, fmt, ap); + va_end(ap); + + return ret; +} diff --git a/lib/libc/stdio/wscanf.c b/lib/libc/stdio/wscanf.c index ad9f71c43..c19df80dc 100644 --- a/lib/libc/stdio/wscanf.c +++ b/lib/libc/stdio/wscanf.c @@ -1,4 +1,4 @@ -/* $NetBSD: wscanf.c,v 1.2 2012/03/15 18:22:31 christos Exp $ */ +/* $NetBSD: wscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $ */ /*- * Copyright (c) 2002 Tim J. Robbins @@ -31,14 +31,18 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdio/wscanf.c,v 1.1 2002/09/23 12:40:06 tjr Exp $"); #else -__RCSID("$NetBSD: wscanf.c,v 1.2 2012/03/15 18:22:31 christos Exp $"); +__RCSID("$NetBSD: wscanf.c,v 1.3 2013/04/19 23:32:17 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include #include #include +__weak_alias(wscanf_l, _wscanf_l) + int wscanf(const wchar_t * __restrict fmt, ...) { @@ -51,3 +55,16 @@ wscanf(const wchar_t * __restrict fmt, ...) return r; } + +int +wscanf_l(locale_t loc, const wchar_t * __restrict fmt, ...) +{ + va_list ap; + int r; + + va_start(ap, fmt); + r = vfwscanf_l(stdin, loc, fmt, ap); + va_end(ap); + + return r; +} diff --git a/lib/libc/stdlib/Makefile.inc b/lib/libc/stdlib/Makefile.inc index 0b3b4833e..bd9c8d8b8 100644 --- a/lib/libc/stdlib/Makefile.inc +++ b/lib/libc/stdlib/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.78 2011/09/14 23:33:51 christos Exp $ +# $NetBSD: Makefile.inc,v 1.79 2013/04/26 18:29:55 christos Exp $ # from: @(#)Makefile.inc 8.3 (Berkeley) 2/4/95 # stdlib sources @@ -12,7 +12,7 @@ SRCS+= _env.c _rand48.c \ hcreate.c heapsort.c imaxdiv.c insque.c jrand48.c l64a.c lldiv.c \ lcong48.c lrand48.c lsearch.c merge.c mi_vector_hash.c mrand48.c \ nrand48.c putenv.c qabs.c qdiv.c qsort.c posix_openpt.c \ - radixsort.c rand.c rand_r.c random.c remque.c \ + quick_exit.c radixsort.c rand.c rand_r.c random.c remque.c \ seed48.c setenv.c srand48.c strsuftoll.c \ strtoimax.c strtol.c strtoll.c strtoq.c strtoul.c strtoull.c \ strtoumax.c strtouq.c system.c tdelete.c tfind.c tsearch.c twalk.c \ @@ -41,6 +41,7 @@ CPPFLAGS.strtouq.c+= -I${LIBCDIR}/../../common/lib/libc/stdlib .include "${ARCHDIR}/stdlib/Makefile.inc" MAN+= a64l.3 abort.3 abs.3 alloca.3 atexit.3 atof.3 atoi.3 atol.3 atoll.3 \ + at_quick_exit.3 \ bsearch.3 \ div.3 \ exit.3 \ @@ -51,7 +52,7 @@ MAN+= a64l.3 abort.3 abs.3 alloca.3 atexit.3 atof.3 atoi.3 atol.3 atoll.3 \ lsearch.3 \ malloc.3 memory.3 mi_vector_hash.3 \ posix_memalign.3 posix_openpt.3 ptsname.3 \ - qabs.3 qdiv.3 qsort.3 \ + qabs.3 qdiv.3 quick_exit.3 qsort.3 \ radixsort.3 rand48.3 rand.3 random.3 \ strfmon.3 strsuftoll.3 strtod.3 strtol.3 strtoul.3 system.3 \ tsearch.3 \ diff --git a/lib/libc/stdlib/_env.c b/lib/libc/stdlib/_env.c index 9883bf2ad..82a16c81e 100644 --- a/lib/libc/stdlib/_env.c +++ b/lib/libc/stdlib/_env.c @@ -1,4 +1,4 @@ -/* $NetBSD: _env.c,v 1.6 2011/10/06 20:31:41 christos Exp $ */ +/* $NetBSD: _env.c,v 1.8 2013/09/09 10:21:28 tron Exp $ */ /*- * Copyright (c) 2010 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _env.c,v 1.6 2011/10/06 20:31:41 christos Exp $"); +__RCSID("$NetBSD: _env.c,v 1.8 2013/09/09 10:21:28 tron Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -256,10 +256,6 @@ __getenvslot(const char *name, size_t l_name, bool allocate) size_t new_size, num_entries, required_size; char **new_environ; - /* Does the environ need scrubbing? */ - if (environ != allocated_environ && allocated_environ != NULL) - __scrubenv(); - /* Search for an existing environment variable of the given name. */ num_entries = 0; while (environ[num_entries] != NULL) { @@ -275,6 +271,10 @@ __getenvslot(const char *name, size_t l_name, bool allocate) if (!allocate) return -1; + /* Does the environ need scrubbing? */ + if (environ != allocated_environ && allocated_environ != NULL) + __scrubenv(); + /* Create a new slot in the environment. */ required_size = num_entries + 1; if (environ == allocated_environ && @@ -400,7 +400,7 @@ __unlockenv(void) #endif /* Initialize environment memory RB tree. */ -void +void __section(".text.startup") __libc_env_init(void) { rb_tree_init(&env_tree, &env_tree_ops); diff --git a/lib/libc/stdlib/alloca.3 b/lib/libc/stdlib/alloca.3 index 3bc193352..1e6802502 100644 --- a/lib/libc/stdlib/alloca.3 +++ b/lib/libc/stdlib/alloca.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: alloca.3,v 1.14 2011/03/21 04:42:50 jruoho Exp $ +.\" $NetBSD: alloca.3,v 1.16 2012/10/24 22:56:27 wiz Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" from: @(#)alloca.3 8.1 (Berkeley) 6/4/93 .\" -.Dd March 21, 2011 +.Dd October 24, 2012 .Dt ALLOCA 3 .Os .Sh NAME @@ -58,36 +58,54 @@ If the allocation failed, a .Dv NULL pointer is returned. .Sh SEE ALSO +.Xr cc 1 , .Xr brk 2 , .Xr calloc 3 , .Xr getpagesize 3 , .Xr malloc 3 , -.Xr realloc 3 +.Xr realloc 3 , +.Xr security 7 .Sh CAVEATS Few limitations can be mentioned: .Bl -bullet .It The .Fn alloca -function -is machine dependent; its use is discouraged. +function is not part of any C standard and its use is not portable. .It The .Fn alloca -function is slightly unsafe because it cannot ensure that the pointer +function should be supplied by the compiler because the compiler is allowed to +make assumptions about the stack and frame pointers. +The libc +.Fn alloca +implementation cannot account for those assumptions. +While there is a +machine dependent implementation of +.Fn alloca +in libc, its use is discouraged and in most cases it will not work. +Using this implementation will produce linker warnings. +.It +The +.Fn alloca +function is unsafe because it cannot ensure that the pointer returned points to a valid and usable block of memory. The allocation made may exceed the bounds of the stack, or even go further into other objects in memory, and .Fn alloca cannot determine such an error. -Avoid +For that all .Fn alloca -with large unbounded allocations. +allocations should be bounded and limited to a small size. .It Since .Fn alloca -modifies the stack at runtime, -it causes problems to certain security features. +modifies the stack at runtime and the stack usage of each function frame +cannot be predicted, it makes many compiler security features +(such as +.Xr cc 1 +.Fl fstack-protector ) +useless for the calling function. See .Xr security 7 for a discussion. diff --git a/lib/libc/stdlib/at_quick_exit.3 b/lib/libc/stdlib/at_quick_exit.3 new file mode 100644 index 000000000..5ac0b7ae2 --- /dev/null +++ b/lib/libc/stdlib/at_quick_exit.3 @@ -0,0 +1,63 @@ +.\" $NetBSD: at_quick_exit.3,v 1.2 2013/04/26 19:37:18 wiz Exp $ +.\" Copyright (c) 2011 David Chisnall +.\" 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: src/lib/libc/stdlib/at_quick_exit.3,v 1.5 2012/11/17 01:49:41 svnexp Exp $ +.\" +.Dd April 26, 2013 +.Dt AT_QUICK_EXIT 3 +.Os +.Sh NAME +.Nm at_quick_exit +.Nd registers a cleanup function to run on quick exit +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In stdlib.h +.Ft int +.Fn at_quick_exit "void (*func)(void)" +.Sh DESCRIPTION +The +.Fn at_quick_exit +function registers a cleanup function to be called when the program exits as a +result of calling +.Xr quick_exit 3 . +The cleanup functions are called in the reverse order and will not be called if +the program exits by calling +.Xr exit 3 , +.Xr _Exit 2 , +or +.Xr abort 3 . +.Sh RETURN VALUES +The +.Fn at_quick_exit +function returns the value 0 if successful and a non-zero value on failure. +.Sh SEE ALSO +.Xr exit 3 , +.Xr quick_exit 3 +.Sh STANDARDS +The +.Fn at_quick_exit +function conforms to +.St -isoC-2011 . diff --git a/lib/libc/stdlib/atexit.3 b/lib/libc/stdlib/atexit.3 index 15805d68a..64fcdc638 100644 --- a/lib/libc/stdlib/atexit.3 +++ b/lib/libc/stdlib/atexit.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: atexit.3,v 1.9 2003/08/07 16:43:38 agc Exp $ +.\" $NetBSD: atexit.3,v 1.11 2013/04/26 19:37:04 wiz Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -68,7 +68,9 @@ No memory was available to add the function to the list. The existing list of functions is unmodified. .El .Sh SEE ALSO -.Xr exit 3 +.Xr at_quick_exit 3 , +.Xr exit 3 , +.Xr quick_exit 3 .Sh STANDARDS The .Fn atexit diff --git a/lib/libc/stdlib/atexit.c b/lib/libc/stdlib/atexit.c index f350becc1..89902b506 100644 --- a/lib/libc/stdlib/atexit.c +++ b/lib/libc/stdlib/atexit.c @@ -1,4 +1,4 @@ -/* $NetBSD: atexit.c,v 1.24 2009/10/08 16:33:45 pooka Exp $ */ +/* $NetBSD: atexit.c,v 1.26 2013/08/19 22:14:37 matt Exp $ */ /*- * Copyright (c) 2003 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: atexit.c,v 1.24 2009/10/08 16:33:45 pooka Exp $"); +__RCSID("$NetBSD: atexit.c,v 1.26 2013/08/19 22:14:37 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "reentrant.h" @@ -74,7 +74,7 @@ static struct atexit_handler *atexit_handler_stack; #ifdef _REENTRANT /* ..and a mutex to protect it all. */ -static mutex_t atexit_mutex; +mutex_t __atexit_mutex; #endif /* _REENTRANT */ void __libc_atexit_init(void) __attribute__ ((visibility("hidden"))); @@ -85,7 +85,7 @@ void __libc_atexit_init(void) __attribute__ ((visibility("hidden"))); * if possible. cxa_atexit handlers are never allocated from the static * pool. * - * atexit_mutex must be held. + * __atexit_mutex must be held. */ static struct atexit_handler * atexit_handler_alloc(void *dso) @@ -105,7 +105,7 @@ atexit_handler_alloc(void *dso) /* * Either no static slot was free, or this is a cxa_atexit - * handler. Allocate a new one. We keep the atexit_mutex + * handler. Allocate a new one. We keep the __atexit_mutex * held to prevent handlers from being run while we (potentially) * block in malloc(). */ @@ -114,17 +114,17 @@ atexit_handler_alloc(void *dso) } /* - * Initialize atexit_mutex with the PTHREAD_MUTEX_RECURSIVE attribute. + * Initialize __atexit_mutex with the PTHREAD_MUTEX_RECURSIVE attribute. * Note that __cxa_finalize may generate calls to __cxa_atexit. */ -void +void __section(".text.startup") __libc_atexit_init(void) { #ifdef _REENTRANT /* !__minix */ mutexattr_t atexit_mutex_attr; mutexattr_init(&atexit_mutex_attr); mutexattr_settype(&atexit_mutex_attr, PTHREAD_MUTEX_RECURSIVE); - mutex_init(&atexit_mutex, &atexit_mutex_attr); + mutex_init(&__atexit_mutex, &atexit_mutex_attr); #endif /* _REENTRANT */ } @@ -142,11 +142,11 @@ __cxa_atexit(void (*func)(void *), void *arg, void *dso) _DIAGASSERT(func != NULL); - mutex_lock(&atexit_mutex); + mutex_lock(&__atexit_mutex); ah = atexit_handler_alloc(dso); if (ah == NULL) { - mutex_unlock(&atexit_mutex); + mutex_unlock(&__atexit_mutex); return (-1); } @@ -157,7 +157,7 @@ __cxa_atexit(void (*func)(void *), void *arg, void *dso) ah->ah_next = atexit_handler_stack; atexit_handler_stack = ah; - mutex_unlock(&atexit_mutex); + mutex_unlock(&__atexit_mutex); return (0); } @@ -177,7 +177,7 @@ __cxa_finalize(void *dso) void (*cxa_func)(void *); void (*atexit_func)(void); - mutex_lock(&atexit_mutex); + mutex_lock(&__atexit_mutex); call_depth++; /* @@ -222,7 +222,7 @@ again: prevp = &ah->ah_next; } call_depth--; - mutex_unlock(&atexit_mutex); + mutex_unlock(&__atexit_mutex); if (call_depth > 0) return; diff --git a/lib/libc/stdlib/exit.3 b/lib/libc/stdlib/exit.3 index 7668f62a3..67ab8195d 100644 --- a/lib/libc/stdlib/exit.3 +++ b/lib/libc/stdlib/exit.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: exit.3,v 1.15 2012/01/02 15:55:29 dholland Exp $ +.\" $NetBSD: exit.3,v 1.16 2013/04/26 18:29:55 christos Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -98,8 +98,10 @@ function never returns. .Sh SEE ALSO .Xr _exit 2 , +.Xr at_quick_exit 3 , .Xr atexit 3 , .Xr intro 3 , +.Xr quick_exit 3 , .Xr tmpfile 3 .Sh STANDARDS The diff --git a/lib/libc/stdlib/jemalloc.3 b/lib/libc/stdlib/jemalloc.3 index 540e3a11e..73c12d638 100644 --- a/lib/libc/stdlib/jemalloc.3 +++ b/lib/libc/stdlib/jemalloc.3 @@ -385,4 +385,4 @@ In both systems it replaced the older so-called .Dq phkmalloc implementation. .Sh AUTHORS -.An Jason Evans Aq jasone@canonware.com +.An Jason Evans Aq Mt jasone@canonware.com diff --git a/lib/libc/stdlib/jemalloc.c b/lib/libc/stdlib/jemalloc.c index b3c6f7385..8a797b00d 100644 --- a/lib/libc/stdlib/jemalloc.c +++ b/lib/libc/stdlib/jemalloc.c @@ -1,4 +1,4 @@ -/* $NetBSD: jemalloc.c,v 1.28 2012/03/21 14:32:22 christos Exp $ */ +/* $NetBSD: jemalloc.c,v 1.29 2013/09/12 15:35:15 joerg Exp $ */ /*- * Copyright (C) 2006,2007 Jason Evans . @@ -118,7 +118,7 @@ #include /* __FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.147 2007/06/15 22:00:16 jasone Exp $"); */ -__RCSID("$NetBSD: jemalloc.c,v 1.28 2012/03/21 14:32:22 christos Exp $"); +__RCSID("$NetBSD: jemalloc.c,v 1.29 2013/09/12 15:35:15 joerg Exp $"); #ifdef __FreeBSD__ #include "libc_private.h" @@ -289,7 +289,7 @@ __strerror_r(int e, char *s, size_t l) #endif /* We can't use TLS in non-PIC programs, since TLS relies on loader magic. */ -#if (!defined(PIC) && !defined(NO_TLS)) +#if (!defined(PIC) && !defined(NO_TLS)) && defined(__minix) # define NO_TLS #endif diff --git a/lib/libc/stdlib/jrand48.c b/lib/libc/stdlib/jrand48.c index 0ab594e9c..079dbd30c 100644 --- a/lib/libc/stdlib/jrand48.c +++ b/lib/libc/stdlib/jrand48.c @@ -1,4 +1,4 @@ -/* $NetBSD: jrand48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $ */ +/* $NetBSD: jrand48.c,v 1.9 2013/10/22 08:08:51 matt Exp $ */ /* * Copyright (c) 1993 Martin Birgmeier @@ -15,7 +15,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: jrand48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $"); +__RCSID("$NetBSD: jrand48.c,v 1.9 2013/10/22 08:08:51 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -35,5 +35,5 @@ jrand48(unsigned short xseed[3]) _DIAGASSERT(xseed != NULL); __dorand48(xseed); - return ((long) xseed[2] << 16) + (long) xseed[1]; + return (int16_t)xseed[2] * 65536 + xseed[1]; } diff --git a/lib/libc/stdlib/lrand48.c b/lib/libc/stdlib/lrand48.c index 78f869e90..11e64855b 100644 --- a/lib/libc/stdlib/lrand48.c +++ b/lib/libc/stdlib/lrand48.c @@ -1,4 +1,4 @@ -/* $NetBSD: lrand48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $ */ +/* $NetBSD: lrand48.c,v 1.9 2013/10/22 08:08:51 matt Exp $ */ /* * Copyright (c) 1993 Martin Birgmeier @@ -15,7 +15,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: lrand48.c,v 1.8 2005/06/12 05:21:28 lukem Exp $"); +__RCSID("$NetBSD: lrand48.c,v 1.9 2013/10/22 08:08:51 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -29,6 +29,5 @@ long lrand48(void) { __dorand48(__rand48_seed); - return (long)((unsigned long) __rand48_seed[2] << 15) + - ((unsigned long) __rand48_seed[1] >> 1); + return __rand48_seed[2] * 32768 + (__rand48_seed[1] >> 1); } diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index d538f8e81..5d35e4b41 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -1,4 +1,4 @@ -/* $NetBSD: malloc.c,v 1.54 2011/05/18 01:59:39 christos Exp $ */ +/* $NetBSD: malloc.c,v 1.55 2012/12/30 21:23:20 dholland Exp $ */ /* * ---------------------------------------------------------------------------- @@ -13,8 +13,10 @@ */ #ifdef __minix +#include "extern.h" #ifdef _LIBSYS #include +#include #include #define MALLOC_NO_SYSCALLS #define wrtwarning(w) printf("libminc malloc warning: %s\n", w) @@ -107,7 +109,7 @@ void utrace(struct ut *, int); #include #include "extern.h" #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: malloc.c,v 1.54 2011/05/18 01:59:39 christos Exp $"); +__RCSID("$NetBSD: malloc.c,v 1.55 2012/12/30 21:23:20 dholland Exp $"); #endif /* LIBC_SCCS and not lint */ int utrace(const char *, void *, size_t); @@ -227,11 +229,13 @@ static size_t malloc_pagemask; #define INIT_MMAP() #endif -#ifndef __minix +#if !defined(__minix) #ifndef MADV_FREE #define MADV_FREE MADV_DONTNEED #endif -#endif /* !__minix */ +#else +#undef MADV_FREE +#endif /* !defined(__minix) */ /* Number of free pages we cache */ static size_t malloc_cache = 16; @@ -513,10 +517,10 @@ malloc_init(void) case '<': malloc_cache >>= 1; break; case 'a': malloc_abort = 0; break; case 'A': malloc_abort = 1; break; -#ifndef __minix +#if !defined(__minix) case 'h': malloc_hint = 0; break; case 'H': malloc_hint = 1; break; -#endif /* !__minix */ +#endif /* !defined(__minix) */ case 'r': malloc_realloc = 0; break; case 'R': malloc_realloc = 1; break; case 'j': malloc_junk = 0; break; @@ -963,10 +967,10 @@ free_pages(void *ptr, size_t idx, struct pginfo *info) if (malloc_junk) memset(ptr, SOME_JUNK, l); -#ifndef __minix +#if !defined(__minix) if (malloc_hint) madvise(ptr, l, MADV_FREE); -#endif /* !__minix */ +#endif /* !defined(__minix) */ tail = (char *)ptr+l; @@ -1161,7 +1165,7 @@ ifree(void *ptr) return; } -static int malloc_active; /* Recusion flag for public interface. */ +static int malloc_active; /* Recursion flag for public interface. */ static unsigned malloc_started; /* Set when initialization has been done */ static void * diff --git a/lib/libc/stdlib/mrand48.c b/lib/libc/stdlib/mrand48.c index c787ce681..e51352acd 100644 --- a/lib/libc/stdlib/mrand48.c +++ b/lib/libc/stdlib/mrand48.c @@ -1,4 +1,4 @@ -/* $NetBSD: mrand48.c,v 1.7 2005/06/12 05:21:28 lukem Exp $ */ +/* $NetBSD: mrand48.c,v 1.8 2013/10/22 08:08:51 matt Exp $ */ /* * Copyright (c) 1993 Martin Birgmeier @@ -15,7 +15,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: mrand48.c,v 1.7 2005/06/12 05:21:28 lukem Exp $"); +__RCSID("$NetBSD: mrand48.c,v 1.8 2013/10/22 08:08:51 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -29,5 +29,5 @@ long mrand48(void) { __dorand48(__rand48_seed); - return ((long) __rand48_seed[2] << 16) + (long) __rand48_seed[1]; + return (int16_t)__rand48_seed[2] * 65536 + __rand48_seed[1]; } diff --git a/lib/libc/stdlib/nrand48.c b/lib/libc/stdlib/nrand48.c index fc7318512..98beccac6 100644 --- a/lib/libc/stdlib/nrand48.c +++ b/lib/libc/stdlib/nrand48.c @@ -1,4 +1,4 @@ -/* $NetBSD: nrand48.c,v 1.9 2005/06/12 05:21:28 lukem Exp $ */ +/* $NetBSD: nrand48.c,v 1.10 2013/10/22 08:08:51 matt Exp $ */ /* * Copyright (c) 1993 Martin Birgmeier @@ -15,7 +15,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: nrand48.c,v 1.9 2005/06/12 05:21:28 lukem Exp $"); +__RCSID("$NetBSD: nrand48.c,v 1.10 2013/10/22 08:08:51 matt Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -34,6 +34,5 @@ nrand48(unsigned short xseed[3]) _DIAGASSERT(xseed != NULL); __dorand48(xseed); - return (long)((unsigned long) xseed[2] << 15) + - ((unsigned long) xseed[1] >> 1); + return xseed[2] * 32768 + (xseed[1] >> 1); } diff --git a/lib/libc/stdlib/ptsname.3 b/lib/libc/stdlib/ptsname.3 index 78a9d964d..28933cb2d 100644 --- a/lib/libc/stdlib/ptsname.3 +++ b/lib/libc/stdlib/ptsname.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: ptsname.3,v 1.5 2008/04/30 13:10:51 martin Exp $ +.\" $NetBSD: ptsname.3,v 1.6 2012/10/19 10:44:34 apb Exp $ .\" .\" Copyright (c) 2004 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -85,7 +85,7 @@ The function is equivalent to: .Bd -literal struct ptmget pm; - return ioctl(masterfd, TIOCPTSNAME, \*[Am]pm) == -1 ? NULL : pm.ps; + return ioctl(masterfd, TIOCPTSNAME, \*[Am]pm) == -1 ? NULL : pm.sn; .Ed .Sh SEE ALSO .Xr ioctl 2 , diff --git a/lib/libc/stdlib/putenv.c b/lib/libc/stdlib/putenv.c index 1f617b4f7..fa4992054 100644 --- a/lib/libc/stdlib/putenv.c +++ b/lib/libc/stdlib/putenv.c @@ -1,4 +1,4 @@ -/* $NetBSD: putenv.c,v 1.19 2010/11/14 18:11:43 tron Exp $ */ +/* $NetBSD: putenv.c,v 1.20 2013/04/25 07:08:56 matt Exp $ */ /*- * Copyright (c) 1988, 1993 @@ -34,7 +34,7 @@ #if 0 static char sccsid[] = "@(#)putenv.c 8.2 (Berkeley) 3/27/94"; #else -__RCSID("$NetBSD: putenv.c,v 1.19 2010/11/14 18:11:43 tron Exp $"); +__RCSID("$NetBSD: putenv.c,v 1.20 2013/04/25 07:08:56 matt Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -49,10 +49,6 @@ __RCSID("$NetBSD: putenv.c,v 1.19 2010/11/14 18:11:43 tron Exp $"); #include "reentrant.h" #include "local.h" -#ifdef __weak_alias -__weak_alias(putenv,_putenv) -#endif - int putenv(char *str) { diff --git a/lib/libc/stdlib/quick_exit.3 b/lib/libc/stdlib/quick_exit.3 new file mode 100644 index 000000000..35aa940c3 --- /dev/null +++ b/lib/libc/stdlib/quick_exit.3 @@ -0,0 +1,59 @@ +.\" $NetBSD: quick_exit.3,v 1.2 2013/04/26 19:36:47 wiz Exp $ +.\" Copyright (c) 2011 David Chisnall +.\" 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: src/lib/libc/stdlib/quick_exit.3,v 1.4 2012/11/17 01:49:41 svnexp Exp $ +.\" +.Dd April 26, 2013 +.Dt QUICK_EXIT 3 +.Os +.Sh NAME +.Nm quick_exit +.Nd exits a program quickly, running minimal cleanup +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In stdlib.h +.Ft _Noreturn void +.Fn quick_exit "void" +.Sh DESCRIPTION +The +.Fn quick_exit +function exits the program quickly calling any cleanup functions registered +with +.Xr at_quick_exit 3 +but not any C++ destructors or cleanup code registered with +.Xr atexit 3 . +.Sh RETURN VALUES +The +.Fn quick_exit +function does not return. +.Sh SEE ALSO +.Xr at_quick_exit 3 , +.Xr exit 3 +.Sh STANDARDS +The +.Fn quick_exit +function conforms to +.St -isoC-2011 . diff --git a/lib/libc/stdlib/quick_exit.c b/lib/libc/stdlib/quick_exit.c new file mode 100644 index 000000000..7f823da73 --- /dev/null +++ b/lib/libc/stdlib/quick_exit.c @@ -0,0 +1,93 @@ +/* $NetBSD: quick_exit.c,v 1.1 2013/04/26 18:29:55 christos Exp $ */ + +/*- + * Copyright (c) 2011 David Chisnall + * 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: src/lib/libc/stdlib/quick_exit.c,v 1.4 2012/11/17 01:49:41 svnexp Exp $ + */ +#include +__RCSID("$NetBSD: quick_exit.c,v 1.1 2013/04/26 18:29:55 christos Exp $"); + +#include "namespace.h" +#include "reentrant.h" + +#include + +/** + * Linked list of quick exit handlers. This is simpler than the atexit() + * version, because it is not required to support C++ destructors or + * DSO-specific cleanups. + */ +struct quick_exit_handler { + struct quick_exit_handler *next; + void (*cleanup)(void); +}; + +/** + * Lock protecting the handlers list. + */ +#ifdef _REENTRANT +extern mutex_t __atexit_mutex; +#endif + +/** + * Stack of cleanup handlers. These will be invoked in reverse order when + */ +static struct quick_exit_handler *handlers; + +int +at_quick_exit(void (*func)(void)) +{ + struct quick_exit_handler *h; + + h = malloc(sizeof(*h)); + + if (NULL == h) + return 1; + h->cleanup = func; +#ifdef _REENTRANT + mutex_lock(&__atexit_mutex); +#endif + h->next = handlers; + handlers = h; +#ifdef _REENTRANT + mutex_unlock(&__atexit_mutex); +#endif + return 0; +} + +void +quick_exit(int status) +{ + struct quick_exit_handler *h; + + /* + * XXX: The C++ spec requires us to call std::terminate if there is an + * exception here. + */ + for (h = handlers; NULL != h; h = h->next) + (*h->cleanup)(); + _Exit(status); +} diff --git a/lib/libc/stdlib/strfmon.3 b/lib/libc/stdlib/strfmon.3 index 7d7fe40cb..c3d7eb4b7 100644 --- a/lib/libc/stdlib/strfmon.3 +++ b/lib/libc/stdlib/strfmon.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: strfmon.3,v 1.3 2005/04/04 08:19:00 wiz Exp $ +.\" $NetBSD: strfmon.3,v 1.4 2013/07/20 21:39:57 wiz Exp $ .\" .\" Copyright (c) 2001 Jeroen Ruigrok van der Werven .\" All rights reserved. @@ -156,10 +156,10 @@ conforms to The .Fn strfmon function was implemented by -.An Alexey Zelkin Aq phantom@FreeBSD.org . +.An Alexey Zelkin Aq Mt phantom@FreeBSD.org . .Pp This manual page was written by -.An Jeroen Ruigrok van der Werven Aq asmodai@FreeBSD.org +.An Jeroen Ruigrok van der Werven Aq Mt asmodai@FreeBSD.org based on the standard's text. .Sh BUGS The diff --git a/lib/libc/stdlib/strtoimax.c b/lib/libc/stdlib/strtoimax.c index be7c36ff3..9eacbe155 100644 --- a/lib/libc/stdlib/strtoimax.c +++ b/lib/libc/stdlib/strtoimax.c @@ -32,7 +32,7 @@ #endif #include -__RCSID("$NetBSD: strtoimax.c,v 1.7 2008/09/10 18:08:58 joerg Exp $"); +__RCSID("$NetBSD: strtoimax.c,v 1.8 2013/04/16 21:44:08 joerg Exp $"); #include #include @@ -50,3 +50,4 @@ __RCSID("$NetBSD: strtoimax.c,v 1.7 2008/09/10 18:08:58 joerg Exp $"); #include "_strtol.h" __strong_alias(_strtoimax, strtoimax) +__strong_alias(_strtoimax_l, strtoimax_l) diff --git a/lib/libc/stdlib/unsetenv.c b/lib/libc/stdlib/unsetenv.c index 21086d816..5796f3861 100644 --- a/lib/libc/stdlib/unsetenv.c +++ b/lib/libc/stdlib/unsetenv.c @@ -104,7 +104,3 @@ unsetenv(const char *name) (void)__unlockenv(); return 0; } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(unsetenv, __unsetenv13) -#endif diff --git a/lib/libc/string/Makefile.inc b/lib/libc/string/Makefile.inc index 857672db1..a435a4393 100644 --- a/lib/libc/string/Makefile.inc +++ b/lib/libc/string/Makefile.inc @@ -1,5 +1,5 @@ # from: @(#)Makefile.inc 8.1 (Berkeley) 6/4/93 -# $NetBSD: Makefile.inc,v 1.76 2012/08/30 12:16:48 drochner Exp $ +# $NetBSD: Makefile.inc,v 1.79 2013/08/19 10:59:39 joerg Exp $ # string sources .PATH: ${ARCHDIR}/string ${.CURDIR}/string @@ -19,7 +19,7 @@ SRCS+= bcmp.c bcopy.c bzero.c ffs.c memchr.c memcmp.c memset.c SRCS+= strcat.c strcmp.c strcpy.c strcspn.c strlen.c SRCS+= strncat.c strncmp.c strncpy.c strpbrk.c strsep.c SRCS+= strspn.c strstr.c swab.c -SRCS+= explicit_bzero.c consttime_bcmp.c +SRCS+= explicit_memset.c consttime_memequal.c SRCS+= memccpy.c memcpy.c memmem.c memmove.c SRCS+= strchr.c strrchr.c @@ -34,12 +34,10 @@ CPPFLAGS.wcscmp.c+= -I${LIBCDIR}/locale CPPFLAGS.wcsncmp.c+= -I${LIBCDIR}/locale CPPFLAGS.wmemcmp.c+= -I${LIBCDIR}/locale -# namespace protection wrappers -SRCS+= _strlcat.c _strlcpy.c _strerror_r.c - .include "${ARCHDIR}/string/Makefile.inc" -MAN+= bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 ffs.3 index.3 \ +MAN+= bm.3 bcmp.3 bcopy.3 bstring.3 bzero.3 consttime_memequal.3 \ + explicit_memset.3 ffs.3 index.3 \ memccpy.3 memchr.3 memcmp.3 memcpy.3 memmem.3 memmove.3 memset.3 \ popcount.3 \ rindex.3 strcasecmp.3 strcat.3 strchr.3 strcmp.3 strcoll.3 \ diff --git a/lib/libc/string/_strlcat.c b/lib/libc/string/_strlcat.c deleted file mode 100644 index 8dd904626..000000000 --- a/lib/libc/string/_strlcat.c +++ /dev/null @@ -1,45 +0,0 @@ -/* $NetBSD: _strlcat.c,v 1.5 2009/10/21 01:07:45 snj Exp $ */ - -/* - * Copyright (c) 1996 Christos Zoulas. 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 ``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 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 -#if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: _strlcat.c,v 1.5 2009/10/21 01:07:45 snj Exp $"); -#endif /* LIBC_SCCS and not lint */ - -#if defined(__indr_reference) -__indr_reference(_strlcat, strlcat) -#else - -#include -size_t _strlcat(char *, const char *, size_t); - -size_t -strlcat(char *dst, const char *src, size_t siz) -{ - - return _strlcat(dst, src, siz); -} -#endif diff --git a/lib/libc/string/consttime_memequal.3 b/lib/libc/string/consttime_memequal.3 new file mode 100644 index 000000000..bf2b9fe53 --- /dev/null +++ b/lib/libc/string/consttime_memequal.3 @@ -0,0 +1,88 @@ +.\" $NetBSD: consttime_memequal.3,v 1.2 2013/08/28 15:24:41 riastradh Exp $ +.\" +.\" Copyright (c) 2013 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This documentation is derived from text contributed to The NetBSD +.\" Foundation by Taylor R. Campbell. +.\" +.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +.\" +.Dd August 28, 2013 +.Dt CONSTTIME_MEMEQUAL 3 +.Os +.Sh NAME +.Nm consttime_memequal +.Nd compare byte strings for equality without timing leaks +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In string.h +.Ft int +.Fn consttime_memequal "void *b1" "void *b2" "size_t len" +.Sh DESCRIPTION +The +.Fn consttime_memequal +function compares +.Fa len +bytes of memory at +.Fa b1 +and +.Fa b2 +for equality, returning zero if they are distinct and nonzero if they +are identical. +.Pp +The time taken by +.Fn consttime_memequal +depends on +.Fa len , +but not on the data at +.Fa b1 +or +.Fa b2 . +Thus, +.Fn consttime_memequal +is appropriate for comparing cryptographic secrets, hashes, message +authentication codes, etc., without leaking information about them +through a timing side channel. +In crypto literature, +.Fn consttime_memequal +is said to take +.Sq constant time , +meaning time that does not vary depending on the data it processes. +.Pp +Note that unlike +.Xr memcmp 3 , +.Fn consttime_memequal +does not return a lexicographic ordering on the data at +.Fa b1 +and +.Fa b2 ; +it tells only whether they are equal. +.Sh SEE ALSO +.Xr explicit_memset 3 , +.Xr memcmp 3 +.Sh HISTORY +The +.Fn consttime_memequal +function appeared in +.Nx 7.0 . diff --git a/lib/libc/string/explicit_memset.3 b/lib/libc/string/explicit_memset.3 new file mode 100644 index 000000000..21a81b84b --- /dev/null +++ b/lib/libc/string/explicit_memset.3 @@ -0,0 +1,82 @@ +.\" $NetBSD: explicit_memset.3,v 1.2 2013/08/28 15:46:23 riastradh Exp $ +.\" +.\" Copyright (c) 2013 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This documentation is derived from text contributed to The NetBSD +.\" Foundation by Taylor R. Campbell. +.\" +.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +.\" +.Dd August 28, 2013 +.Dt EXPLICIT_MEMSET 3 +.Os +.Sh NAME +.Nm explicit_memset +.Nd guarantee writing a byte to a byte string +.Sh LIBRARY +.Lb libc +.Sh SYNOPSIS +.In string.h +.Ft void * +.Fn explicit_memset "void *b" "int c" "size_t len" +.Sh DESCRIPTION +The +.Fn explicit_memset +function writes +.Fa len +bytes of value +.Fa c +(converted to an unsigned char) to the string +.Fa b . +It is guaranteed not to be optimized away by the compiler even if +.Fa b +is no longer used and is about to be freed or go out of scope. +.Sh RETURN VALUES +The +.Fn explicit_memset +function returns the original value of +.Fa b . +.Sh EXAMPLES +Create a buffer on the stack for a secret key, use it, and then zero it +in memory before throwing it away. +.Bd -literal -offset indent +void +f(void) +{ + uint8_t key[32]; + + crypto_random(key, sizeof(key)); + do_crypto_stuff(key, sizeof(key)); + \&... + + explicit_memset(key, 0, sizeof(key)); +} +.Ed +.Sh SEE ALSO +.Xr consttime_memequal 3 , +.Xr memset 3 +.Sh HISTORY +The +.Fn explicit_memset +function appeared in +.Nx 7.0 . diff --git a/lib/libc/string/memcmp.3 b/lib/libc/string/memcmp.3 index ed786044b..fec697f72 100644 --- a/lib/libc/string/memcmp.3 +++ b/lib/libc/string/memcmp.3 @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)memcmp.3 8.1 (Berkeley) 6/4/93 -.\" $NetBSD: memcmp.3,v 1.9 2003/08/07 16:43:48 agc Exp $ +.\" $NetBSD: memcmp.3,v 1.11 2013/06/24 04:21:20 riastradh Exp $ .\" -.Dd June 4, 1993 +.Dd June 23, 2013 .Dt MEMCMP 3 .Os .Sh NAME @@ -67,8 +67,18 @@ is greater than .Sq Li \&\e0 , for example). Zero-length strings are always identical. +.Pp +Do not use +.Fn memcmp +to compare cryptographic secrets, because the time it takes varies +depending on how many bytes are the same, and thus leaks information +about the two strings by a timing side channel. +To compare secrets, hashes, message authentication codes, etc., use +.Xr consttime_memequal 3 +instead. .Sh SEE ALSO .Xr bcmp 3 , +.Xr consttime_memequal 3 , .Xr strcasecmp 3 , .Xr strcmp 3 , .Xr strcoll 3 , diff --git a/lib/libc/string/memset.3 b/lib/libc/string/memset.3 index 91f9d3669..5e86b8dc1 100644 --- a/lib/libc/string/memset.3 +++ b/lib/libc/string/memset.3 @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)memset.3 8.1 (Berkeley) 6/4/93 -.\" $NetBSD: memset.3,v 1.9 2003/08/07 16:43:49 agc Exp $ +.\" $NetBSD: memset.3,v 1.12 2013/06/24 07:56:49 wiz Exp $ .\" -.Dd June 4, 1993 +.Dd June 23, 2013 .Dt MEMSET 3 .Os .Sh NAME @@ -60,8 +60,17 @@ The function returns the original value of .Fa b . +.Pp +Note that the compiler may optimize away a call to +.Fn memset +if it can prove that the string will not be used by the program again, +for example if it is allocated on the stack and about to out of scope. +If you want to guarantee that zeros are written to memory, for example +to sanitize a buffer holding a cryptographic secret, use +.Xr explicit_memset 3 . .Sh SEE ALSO .Xr bzero 3 , +.Xr explicit_memset 3 , .Xr swab 3 .Sh STANDARDS The diff --git a/lib/libc/string/stpcpy.c b/lib/libc/string/stpcpy.c index 13aa45a11..2b2d4075b 100644 --- a/lib/libc/string/stpcpy.c +++ b/lib/libc/string/stpcpy.c @@ -1,4 +1,4 @@ -/* $NetBSD: stpcpy.c,v 1.1 2009/05/01 17:27:01 perry Exp $ */ +/* $NetBSD: stpcpy.c,v 1.2 2013/11/06 21:05:27 tron Exp $ */ /* * Copyright (c) 1999 @@ -36,13 +36,17 @@ #if 0 static char sccsid[] = "@(#)strcpy.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: stpcpy.c,v 1.1 2009/05/01 17:27:01 perry Exp $"); +__RCSID("$NetBSD: stpcpy.c,v 1.2 2013/11/06 21:05:27 tron Exp $"); #endif #endif /* LIBC_SCCS and not lint */ /* FreeBSD: src/lib/libc/string/stpcpy.c,v 1.2 2009/02/28 06:05:37 das Exp */ #include +#ifdef _FORTIFY_SOURCE +#undef stpcpy +#endif + char * stpcpy(char * __restrict to, const char * __restrict from) { diff --git a/lib/libc/string/stpncpy.c b/lib/libc/string/stpncpy.c index b79d4273c..9e3a4a147 100644 --- a/lib/libc/string/stpncpy.c +++ b/lib/libc/string/stpncpy.c @@ -1,4 +1,4 @@ -/* $NetBSD: stpncpy.c,v 1.1 2009/05/01 17:27:01 perry Exp $ */ +/* $NetBSD: stpncpy.c,v 1.2 2013/11/06 21:05:27 tron Exp $ */ /*- * Copyright (c) 2009 David Schultz @@ -28,12 +28,16 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: stpncpy.c,v 1.1 2009/05/01 17:27:01 perry Exp $"); +__RCSID("$NetBSD: stpncpy.c,v 1.2 2013/11/06 21:05:27 tron Exp $"); #endif /* LIBC_SCCS and not lint */ /* FreeBSD: src/lib/libc/string/stpncpy.c,v 1.1 2009/02/28 06:00:58 das Exp */ #include +#ifdef _FORTIFY_SOURCE +#undef stpncpy +#endif + char * stpncpy(char * __restrict dst, const char * __restrict src, size_t n) { diff --git a/lib/libc/string/strcoll.c b/lib/libc/string/strcoll.c index 77a094250..bcd26e3c1 100644 --- a/lib/libc/string/strcoll.c +++ b/lib/libc/string/strcoll.c @@ -1,4 +1,4 @@ -/* $NetBSD: strcoll.c,v 1.10 2012/06/25 22:32:46 abs Exp $ */ +/* $NetBSD: strcoll.c,v 1.12 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,12 +37,18 @@ #if 0 static char sccsid[] = "@(#)strcoll.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: strcoll.c,v 1.10 2012/06/25 22:32:46 abs Exp $"); +__RCSID("$NetBSD: strcoll.c,v 1.12 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include +#include #include +#include "setlocale_local.h" + +__weak_alias(strcoll_l, _strcoll_l) /* * Compare strings according to LC_COLLATE category of current locale. @@ -51,9 +57,16 @@ int strcoll(const char *s1, const char *s2) { + return strcoll_l(s1, s2, _current_locale()); +} + +int +strcoll_l(const char *s1, const char *s2, locale_t loc) +{ _DIAGASSERT(s1 != NULL); _DIAGASSERT(s2 != NULL); /* LC_COLLATE is unimplemented, hence always "C" */ + /* LINTED */ (void)loc; return (strcmp(s1, s2)); } diff --git a/lib/libc/string/strerror.c b/lib/libc/string/strerror.c index 99e2bd18f..b86963e54 100644 --- a/lib/libc/string/strerror.c +++ b/lib/libc/string/strerror.c @@ -1,4 +1,4 @@ -/* $NetBSD: strerror.c,v 1.14 2006/01/26 11:13:42 kleink Exp $ */ +/* $NetBSD: strerror.c,v 1.16 2013/09/02 07:59:32 joerg Exp $ */ /* * Copyright (c) 1988 Regents of the University of California. @@ -30,30 +30,66 @@ */ #include -#if defined(LIBC_SCCS) && !defined(lint) -#if 0 -static char *sccsid = "@(#)strerror.c 5.6 (Berkeley) 5/4/91"; -#else -__RCSID("$NetBSD: strerror.c,v 1.14 2006/01/26 11:13:42 kleink Exp $"); -#endif -#endif /* LIBC_SCCS and not lint */ +__RCSID("$NetBSD: strerror.c,v 1.16 2013/09/02 07:59:32 joerg Exp $"); + +#define __SETLOCALE_SOURCE__ #include "namespace.h" -#include -#include #include -#include "extern.h" +#include +#include +#include +#include -/* - * Since perror() is not allowed to change the contents of strerror()'s - * static buffer, both functions supply their own buffers to strerror_r() - */ +#include "extern.h" +#ifdef _REENTRANT +#include "reentrant.h" +#endif +#include "setlocale_local.h" + +__weak_alias(strerror_l, _strerror_l) __aconst char * strerror(int num) { + + return strerror_l(num, _current_locale()); +} + +#ifdef _REENTRANT +static thread_key_t strerror_key; +static once_t strerror_once = ONCE_INITIALIZER; + +static void +strerror_setup(void) +{ + + thr_keycreate(&strerror_key, free); +} +#endif + +__aconst char * +strerror_l(int num, locale_t loc) +{ + int error; +#ifdef _REENTRANT + char *buf; + + thr_once(&strerror_once, strerror_setup); + buf = thr_getspecific(strerror_key); + if (buf == NULL) { + buf = malloc(NL_TEXTMAX); + if (buf == NULL) { + static char fallback_buf[NL_TEXTMAX]; + buf = fallback_buf; + } + thr_setspecific(strerror_key, buf); + } +#else static char buf[NL_TEXTMAX]; - int error = strerror_r(num, buf, sizeof(buf)); +#endif + + error = _strerror_lr(num, buf, NL_TEXTMAX, loc); if (error) errno = error; return buf; diff --git a/lib/libc/string/strerror_r.c b/lib/libc/string/strerror_r.c index a900036ea..948b06aee 100644 --- a/lib/libc/string/strerror_r.c +++ b/lib/libc/string/strerror_r.c @@ -1,4 +1,4 @@ -/* $NetBSD: strerror_r.c,v 1.2 2005/07/30 15:21:21 christos Exp $ */ +/* $NetBSD: strerror_r.c,v 1.3 2013/08/19 13:03:12 joerg Exp $ */ /* * Copyright (c) 1988 Regents of the University of California. @@ -30,38 +30,27 @@ */ #include -#if defined(LIBC_SCCS) && !defined(lint) -#if 0 -static char *sccsid = "@(#)strerror.c 5.6 (Berkeley) 5/4/91"; -#else -__RCSID("$NetBSD: strerror_r.c,v 1.2 2005/07/30 15:21:21 christos Exp $"); -#endif -#endif /* LIBC_SCCS and not lint */ +__RCSID("$NetBSD: strerror_r.c,v 1.3 2013/08/19 13:03:12 joerg Exp $"); #include "namespace.h" -#ifdef NLS -#include -#include -#endif - #include #include #include #include +#ifdef NLS +#include +#include +#define __SETLOCALE_SOURCE__ +#include +#include "setlocale_local.h" +#endif + #include "extern.h" -#ifdef _LIBC -# ifdef __weak_alias __weak_alias(strerror_r, _strerror_r) -# endif -#endif int -#ifdef _LIBC -_strerror_r(int num, char *buf, size_t buflen) -#else -strerror_r(int num, char *buf, size_t buflen) -#endif +_strerror_lr(int num, char *buf, size_t buflen, locale_t loc) { #define UPREFIX "Unknown error: %u" unsigned int errnum = num; @@ -70,7 +59,7 @@ strerror_r(int num, char *buf, size_t buflen) #ifdef NLS int saved_errno = errno; nl_catd catd; - catd = catopen("libc", NL_CAT_LOCALE); + catd = catopen_l("libc", NL_CAT_LOCALE, loc); #endif _DIAGASSERT(buf != NULL); @@ -83,7 +72,7 @@ strerror_r(int num, char *buf, size_t buflen) #endif } else { #ifdef NLS - slen = snprintf(buf, buflen, + slen = snprintf_l(buf, buflen, loc, catgets(catd, 1, 0xffff, UPREFIX), errnum); #else slen = snprintf(buf, buflen, UPREFIX, errnum); @@ -101,3 +90,13 @@ strerror_r(int num, char *buf, size_t buflen) return retval; } + +int +strerror_r(int num, char *buf, size_t buflen) +{ +#ifdef NLS + return _strerror_lr(num, buf, buflen, _current_locale()); +#else + return _strerror_lr(num, buf, buflen, NULL); +#endif +} diff --git a/lib/libc/string/strxfrm.c b/lib/libc/string/strxfrm.c index 42c2a244b..a9eb61329 100644 --- a/lib/libc/string/strxfrm.c +++ b/lib/libc/string/strxfrm.c @@ -1,4 +1,4 @@ -/* $NetBSD: strxfrm.c,v 1.12 2012/06/25 22:32:46 abs Exp $ */ +/* $NetBSD: strxfrm.c,v 1.14 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1990, 1993 @@ -37,12 +37,18 @@ #if 0 static char sccsid[] = "@(#)strxfrm.c 8.1 (Berkeley) 6/4/93"; #else -__RCSID("$NetBSD: strxfrm.c,v 1.12 2012/06/25 22:32:46 abs Exp $"); +__RCSID("$NetBSD: strxfrm.c,v 1.14 2013/05/17 12:55:57 joerg Exp $"); #endif #endif /* LIBC_SCCS and not lint */ +#include "namespace.h" + #include +#include #include +#include "setlocale_local.h" + +__weak_alias(strxfrm_l, _strxfrm_l) /* * Transform src, storing the result in dst, such that @@ -50,12 +56,15 @@ __RCSID("$NetBSD: strxfrm.c,v 1.12 2012/06/25 22:32:46 abs Exp $"); * on the original untransformed strings would return. */ size_t -strxfrm(char *dst, const char *src, size_t n) +strxfrm_l(char *dst, const char *src, size_t n, locale_t loc) { size_t srclen, copysize; _DIAGASSERT(src != NULL); + /* XXX: LC_COLLATE should be implemented. */ + /* LINTED */(void)loc; + /* * Since locales are unimplemented, this is just a copy. */ @@ -68,3 +77,9 @@ strxfrm(char *dst, const char *src, size_t n) } return (srclen); } + +size_t +strxfrm(char *dst, const char *src, size_t n) +{ + return strxfrm_l(dst, src, n, _current_locale()); +} diff --git a/lib/libc/string/wcscasecmp.c b/lib/libc/string/wcscasecmp.c index 683a301c0..9c0069d82 100644 --- a/lib/libc/string/wcscasecmp.c +++ b/lib/libc/string/wcscasecmp.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcscasecmp.c,v 1.2 2006/08/26 22:45:52 christos Exp $ */ +/* $NetBSD: wcscasecmp.c,v 1.4 2013/05/17 12:55:57 joerg Exp $ */ /* * Copyright (C) 2006 Aleksey Cheusov @@ -13,18 +13,21 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcscasecmp.c,v 1.2 2006/08/26 22:45:52 christos Exp $"); +__RCSID("$NetBSD: wcscasecmp.c,v 1.4 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include #include #include +#include +#include "setlocale_local.h" __weak_alias(wcscasecmp,_wcscasecmp) +__weak_alias(wcscasecmp_l,_wcscasecmp_l) int -wcscasecmp(const wchar_t *s1, const wchar_t *s2) +wcscasecmp_l(const wchar_t *s1, const wchar_t *s2, locale_t loc) { int lc1 = 0; int lc2 = 0; @@ -34,8 +37,8 @@ wcscasecmp(const wchar_t *s1, const wchar_t *s2) _DIAGASSERT(s2); for (;;) { - lc1 = towlower(*s1); - lc2 = towlower(*s2); + lc1 = towlower_l(*s1, loc); + lc2 = towlower_l(*s2, loc); diff = lc1 - lc2; if (diff) @@ -48,3 +51,9 @@ wcscasecmp(const wchar_t *s1, const wchar_t *s2) ++s2; } } + +int +wcscasecmp(const wchar_t *s1, const wchar_t *s2) +{ + return wcscasecmp_l(s1, s2, _current_locale()); +} diff --git a/lib/libc/string/wcsdup.3 b/lib/libc/string/wcsdup.3 index 8d556357e..ccefae441 100644 --- a/lib/libc/string/wcsdup.3 +++ b/lib/libc/string/wcsdup.3 @@ -1,4 +1,4 @@ -.\" $NetBSD: wcsdup.3,v 1.3 2010/12/16 17:42:28 wiz Exp $ +.\" $NetBSD: wcsdup.3,v 1.4 2012/12/28 13:53:12 wiz Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -34,7 +34,7 @@ .Os .Sh NAME .Nm wcsdup -.Nd save a copy of a string +.Nd save a copy of a wide string .Sh LIBRARY .Lb libc .Sh SYNOPSIS diff --git a/lib/libc/string/wcsncasecmp.c b/lib/libc/string/wcsncasecmp.c index 66a4c7889..7500e511e 100644 --- a/lib/libc/string/wcsncasecmp.c +++ b/lib/libc/string/wcsncasecmp.c @@ -1,4 +1,4 @@ -/* $NetBSD: wcsncasecmp.c,v 1.2 2006/08/26 22:45:52 christos Exp $ */ +/* $NetBSD: wcsncasecmp.c,v 1.4 2013/05/17 12:55:57 joerg Exp $ */ /* * Copyright (C) 2006 Aleksey Cheusov @@ -13,18 +13,21 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: wcsncasecmp.c,v 1.2 2006/08/26 22:45:52 christos Exp $"); +__RCSID("$NetBSD: wcsncasecmp.c,v 1.4 2013/05/17 12:55:57 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" #include #include #include +#include +#include "setlocale_local.h" __weak_alias(wcsncasecmp,_wcsncasecmp) +__weak_alias(wcsncasecmp_l,_wcsncasecmp_l) int -wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) +wcsncasecmp_l(const wchar_t *s1, const wchar_t *s2, size_t n, locale_t loc) { int lc1 = 0; int lc2 = 0; @@ -34,8 +37,8 @@ wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) _DIAGASSERT(s2); while (n--) { - lc1 = towlower (*s1); - lc2 = towlower (*s2); + lc1 = towlower_l(*s1, loc); + lc2 = towlower_l(*s2, loc); diff = lc1 - lc2; if (diff) @@ -50,3 +53,9 @@ wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) return 0; } + +int +wcsncasecmp(const wchar_t *s1, const wchar_t *s2, size_t n) +{ + return wcsncasecmp_l(s1, s2, n, _current_locale()); +} diff --git a/lib/libc/sys-minix/__getcwd.c b/lib/libc/sys-minix/__getcwd.c index af4a60037..9949d4810 100644 --- a/lib/libc/sys-minix/__getcwd.c +++ b/lib/libc/sys-minix/__getcwd.c @@ -3,7 +3,6 @@ * 30 Apr 1989 */ -#define chdir _chdir #include #include "namespace.h" diff --git a/lib/libc/sys-minix/_exit.c b/lib/libc/sys-minix/_exit.c index 14b83b669..2eff9f661 100644 --- a/lib/libc/sys-minix/_exit.c +++ b/lib/libc/sys-minix/_exit.c @@ -6,7 +6,7 @@ #include #ifdef __weak_alias -__weak_alias(_exit, __exit) +__weak_alias(_Exit, _exit) #endif __dead void _exit(status) diff --git a/lib/libc/sys-minix/access.c b/lib/libc/sys-minix/access.c index 0a2330a75..bc168adc2 100644 --- a/lib/libc/sys-minix/access.c +++ b/lib/libc/sys-minix/access.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(access, _access) -#endif - int access(name, mode) const char *name; int mode; diff --git a/lib/libc/sys-minix/bind.c b/lib/libc/sys-minix/bind.c index faf26d632..f8bd2fe5b 100644 --- a/lib/libc/sys-minix/bind.c +++ b/lib/libc/sys-minix/bind.c @@ -1,10 +1,6 @@ #include #include "namespace.h" -#ifdef __weak_alias -__weak_alias(bind, _bind) -#endif - #include #include #include diff --git a/lib/libc/sys-minix/chdir.c b/lib/libc/sys-minix/chdir.c index d01bed1b2..0554a7097 100644 --- a/lib/libc/sys-minix/chdir.c +++ b/lib/libc/sys-minix/chdir.c @@ -5,11 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(chdir, _chdir) -__weak_alias(fchdir, _fchdir) -#endif - int chdir(name) const char *name; { diff --git a/lib/libc/sys-minix/chmod.c b/lib/libc/sys-minix/chmod.c index daa9b431e..c1bf04969 100644 --- a/lib/libc/sys-minix/chmod.c +++ b/lib/libc/sys-minix/chmod.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(chmod, _chmod) -#endif - int chmod(const char *name, mode_t mode) { message m; diff --git a/lib/libc/sys-minix/chroot.c b/lib/libc/sys-minix/chroot.c index 364a9e5e8..3ce90705d 100644 --- a/lib/libc/sys-minix/chroot.c +++ b/lib/libc/sys-minix/chroot.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(chroot, _chroot) -#endif - int chroot(name) const char *name; { diff --git a/lib/libc/sys-minix/close.c b/lib/libc/sys-minix/close.c index efada4fe2..50a9d152c 100644 --- a/lib/libc/sys-minix/close.c +++ b/lib/libc/sys-minix/close.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(close, _close) -#endif - int close(fd) int fd; { diff --git a/lib/libc/sys-minix/dup.c b/lib/libc/sys-minix/dup.c index 2019937b2..207fa20a1 100644 --- a/lib/libc/sys-minix/dup.c +++ b/lib/libc/sys-minix/dup.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(dup, _dup) -#endif - int dup(fd) int fd; { diff --git a/lib/libc/sys-minix/dup2.c b/lib/libc/sys-minix/dup2.c index 28772ff4d..482b480de 100644 --- a/lib/libc/sys-minix/dup2.c +++ b/lib/libc/sys-minix/dup2.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(dup2, _dup2) -#endif - int dup2(fd, fd2) int fd, fd2; { diff --git a/lib/libc/sys-minix/execve.c b/lib/libc/sys-minix/execve.c index c2c682538..7ace7556d 100644 --- a/lib/libc/sys-minix/execve.c +++ b/lib/libc/sys-minix/execve.c @@ -11,10 +11,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(execve, _execve) -#endif - int execve(const char *path, char * const *argv, char * const *envp) { message m; diff --git a/lib/libc/sys-minix/fchmod.c b/lib/libc/sys-minix/fchmod.c index e5ec121a7..bb58cb443 100644 --- a/lib/libc/sys-minix/fchmod.c +++ b/lib/libc/sys-minix/fchmod.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fchmod, _fchmod) -#endif - int fchmod(int fd, mode_t mode) { message m; diff --git a/lib/libc/sys-minix/fcntl.c b/lib/libc/sys-minix/fcntl.c index b664aa63d..514dfe007 100644 --- a/lib/libc/sys-minix/fcntl.c +++ b/lib/libc/sys-minix/fcntl.c @@ -6,10 +6,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fcntl, _fcntl) -#endif - int fcntl(int fd, int cmd, ...) { va_list argp; diff --git a/lib/libc/sys-minix/flock.c b/lib/libc/sys-minix/flock.c index 37a69677a..9163598eb 100644 --- a/lib/libc/sys-minix/flock.c +++ b/lib/libc/sys-minix/flock.c @@ -14,10 +14,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(flock, _flock) -#endif - /* * Name: int flock(int fd, int mode); * Function: Implements the flock function in Minix. diff --git a/lib/libc/sys-minix/fpathconf.c b/lib/libc/sys-minix/fpathconf.c index cc4b8a083..23f6f3f90 100644 --- a/lib/libc/sys-minix/fpathconf.c +++ b/lib/libc/sys-minix/fpathconf.c @@ -10,10 +10,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fpathconf, _fpathconf) -#endif - long fpathconf(fd, name) int fd; /* file descriptor being interrogated */ int name; /* property being inspected */ diff --git a/lib/libc/sys-minix/fstatfs.c b/lib/libc/sys-minix/fstatfs.c index 89c0349eb..4f38bc60b 100644 --- a/lib/libc/sys-minix/fstatfs.c +++ b/lib/libc/sys-minix/fstatfs.c @@ -6,10 +6,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fstatfs, _fstatfs) -#endif - int fstatfs(int fd, struct statfs *buffer) { struct statvfs svbuffer; diff --git a/lib/libc/sys-minix/fstatvfs.c b/lib/libc/sys-minix/fstatvfs.c index c15f32a8c..2f0900405 100644 --- a/lib/libc/sys-minix/fstatvfs.c +++ b/lib/libc/sys-minix/fstatvfs.c @@ -5,8 +5,7 @@ #include #include -#ifdef __weak_alias -__weak_alias(fstatvfs1, _fstatvfs1) +#if defined(__weak_alias) __weak_alias(fstatvfs, _fstatvfs) #endif diff --git a/lib/libc/sys-minix/fsync.c b/lib/libc/sys-minix/fsync.c index d35853f39..6297e247d 100644 --- a/lib/libc/sys-minix/fsync.c +++ b/lib/libc/sys-minix/fsync.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(fsync, _fsync) -#endif - int fsync(int fd) { message m; diff --git a/lib/libc/sys-minix/getegid.c b/lib/libc/sys-minix/getegid.c index 91af8cc35..9aa368f85 100644 --- a/lib/libc/sys-minix/getegid.c +++ b/lib/libc/sys-minix/getegid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getegid, _getegid) -#endif - gid_t getegid(void) { message m; diff --git a/lib/libc/sys-minix/geteuid.c b/lib/libc/sys-minix/geteuid.c index 1b28ccb8b..b19af9edb 100644 --- a/lib/libc/sys-minix/geteuid.c +++ b/lib/libc/sys-minix/geteuid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(geteuid, _geteuid) -#endif - uid_t geteuid(void) { message m; diff --git a/lib/libc/sys-minix/getgid.c b/lib/libc/sys-minix/getgid.c index 532836911..789007e41 100644 --- a/lib/libc/sys-minix/getgid.c +++ b/lib/libc/sys-minix/getgid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getgid, _getgid) -#endif - gid_t getgid(void) { message m; diff --git a/lib/libc/sys-minix/getgroups.c b/lib/libc/sys-minix/getgroups.c index 60854613e..edda7e08e 100644 --- a/lib/libc/sys-minix/getgroups.c +++ b/lib/libc/sys-minix/getgroups.c @@ -9,11 +9,6 @@ getgroups.c #include #include -#ifdef __weak_alias -__weak_alias(getgroups, _getgroups) -#endif - - int getgroups(int ngroups, gid_t *arr) { message m; diff --git a/lib/libc/sys-minix/getpgrp.c b/lib/libc/sys-minix/getpgrp.c index e3a71b043..fa0dde729 100644 --- a/lib/libc/sys-minix/getpgrp.c +++ b/lib/libc/sys-minix/getpgrp.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getpgrp, _getpgrp) -#endif - pid_t getpgrp(void) { message m; diff --git a/lib/libc/sys-minix/getpid.c b/lib/libc/sys-minix/getpid.c index b71667c96..e85596940 100644 --- a/lib/libc/sys-minix/getpid.c +++ b/lib/libc/sys-minix/getpid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getpid, _getpid) -#endif - pid_t getpid(void) { message m; diff --git a/lib/libc/sys-minix/getppid.c b/lib/libc/sys-minix/getppid.c index cc22582ad..02c804ada 100644 --- a/lib/libc/sys-minix/getppid.c +++ b/lib/libc/sys-minix/getppid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getppid, _getppid) -#endif - pid_t getppid(void) { message m; diff --git a/lib/libc/sys-minix/gettimeofday.c b/lib/libc/sys-minix/gettimeofday.c index 824fe7a58..4c851fdba 100644 --- a/lib/libc/sys-minix/gettimeofday.c +++ b/lib/libc/sys-minix/gettimeofday.c @@ -9,10 +9,6 @@ gettimeofday.c #include #include -#ifdef __weak_alias -__weak_alias(gettimeofday, _gettimeofday) -#endif - int gettimeofday(struct timeval *__restrict tp, void *__restrict tzp) { message m; diff --git a/lib/libc/sys-minix/getuid.c b/lib/libc/sys-minix/getuid.c index 12f51db18..4cbae7cb7 100644 --- a/lib/libc/sys-minix/getuid.c +++ b/lib/libc/sys-minix/getuid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getuid, _getuid) -#endif - uid_t getuid(void) { message m; diff --git a/lib/libc/sys-minix/getvfsstat.c b/lib/libc/sys-minix/getvfsstat.c index 90e4ad309..0c8055ada 100644 --- a/lib/libc/sys-minix/getvfsstat.c +++ b/lib/libc/sys-minix/getvfsstat.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(getvfsstat, _getvfsstat) -#endif - int getvfsstat(struct statvfs *buf, size_t bufsize, int flags) { message m; diff --git a/lib/libc/sys-minix/ioctl.c b/lib/libc/sys-minix/ioctl.c index 55ab9acac..12cea4b6d 100644 --- a/lib/libc/sys-minix/ioctl.c +++ b/lib/libc/sys-minix/ioctl.c @@ -1,6 +1,7 @@ #include #include "namespace.h" #include +#include #include #include @@ -8,10 +9,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(ioctl, _ioctl) -#endif - static void rewrite_i2c_netbsd_to_minix(minix_i2c_ioctl_exec_t *out, i2c_ioctl_exec_t *in); static void rewrite_i2c_minix_to_netbsd(i2c_ioctl_exec_t *out, diff --git a/lib/libc/sys-minix/link.c b/lib/libc/sys-minix/link.c index 20bbe8713..f9a29cd7b 100644 --- a/lib/libc/sys-minix/link.c +++ b/lib/libc/sys-minix/link.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(link, _link) -#endif - int link(const char *name, const char *name2) { message m; diff --git a/lib/libc/sys-minix/mkdir.c b/lib/libc/sys-minix/mkdir.c index 59e632dd7..17196bc74 100644 --- a/lib/libc/sys-minix/mkdir.c +++ b/lib/libc/sys-minix/mkdir.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(mkdir, _mkdir) -#endif - int mkdir(const char *name, mode_t mode) { message m; diff --git a/lib/libc/sys-minix/mkfifo.c b/lib/libc/sys-minix/mkfifo.c index 0c2484029..d1da776ce 100644 --- a/lib/libc/sys-minix/mkfifo.c +++ b/lib/libc/sys-minix/mkfifo.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(mkfifo, _mkfifo) -#endif - int mkfifo(const char *name, mode_t mode) { return mknod(name, mode | S_IFIFO, (dev_t) 0); diff --git a/lib/libc/sys-minix/mmap.c b/lib/libc/sys-minix/mmap.c index 940a54062..ca6b5f532 100644 --- a/lib/libc/sys-minix/mmap.c +++ b/lib/libc/sys-minix/mmap.c @@ -7,23 +7,18 @@ /* INCLUDES HERE */ -#ifdef __weak_alias -__weak_alias(vm_remap, _vm_remap) -__weak_alias(vm_unmap, _vm_unmap) -__weak_alias(vm_getphys, _vm_getphys) -__weak_alias(vm_getrefcount, _vm_getrefcount) -__weak_alias(mmap, _mmap) -__weak_alias(munmap, _munmap) -#endif - - #include #include #include #include +#ifdef __weak_alias +__weak_alias(mmap, _mmap) +__weak_alias(munmap, _munmap) +#endif + void *minix_mmap_for(endpoint_t forwhom, - void *addr, size_t len, int prot, int flags, int fd, u64_t offset) + void *addr, size_t len, int prot, int flags, int fd, off_t offset) { message m; int r; diff --git a/lib/libc/sys-minix/mount.c b/lib/libc/sys-minix/mount.c index c5f2006c7..0ef69cfe4 100644 --- a/lib/libc/sys-minix/mount.c +++ b/lib/libc/sys-minix/mount.c @@ -13,11 +13,6 @@ #include #define OK 0 -#ifdef __weak_alias -__weak_alias(mount, _mount) -__weak_alias(umount, _umount) -#endif - #define FSDEFAULT "mfs" static char fspath[] = "/sbin/:/usr/pkg/bin/"; /* Must include trailing '/' */ diff --git a/lib/libc/sys-minix/open.c b/lib/libc/sys-minix/open.c index ba401664e..d8ccfcdf3 100644 --- a/lib/libc/sys-minix/open.c +++ b/lib/libc/sys-minix/open.c @@ -6,10 +6,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(open, _open) -#endif - int open(const char *name, int flags, ...) { va_list argp; diff --git a/lib/libc/sys-minix/pathconf.c b/lib/libc/sys-minix/pathconf.c index 24c86f5bc..af5ba8c0b 100644 --- a/lib/libc/sys-minix/pathconf.c +++ b/lib/libc/sys-minix/pathconf.c @@ -8,10 +8,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(pathconf, _pathconf) -#endif - long pathconf(path, name) const char *path; /* name of file being interrogated */ int name; /* property being inspected */ diff --git a/lib/libc/sys-minix/pipe.c b/lib/libc/sys-minix/pipe.c index a8cc05d82..552658cab 100644 --- a/lib/libc/sys-minix/pipe.c +++ b/lib/libc/sys-minix/pipe.c @@ -7,7 +7,6 @@ #ifdef __weak_alias __weak_alias(pipe, _pipe) -__weak_alias(pipe2, _pipe2) #endif int diff --git a/lib/libc/sys-minix/ptrace.c b/lib/libc/sys-minix/ptrace.c index a70dfa972..77d8279ea 100644 --- a/lib/libc/sys-minix/ptrace.c +++ b/lib/libc/sys-minix/ptrace.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(ptrace, _ptrace) -#endif - int ptrace(int req, pid_t pid, void *addr, int data) { message m; diff --git a/lib/libc/sys-minix/rmdir.c b/lib/libc/sys-minix/rmdir.c index e4efcae08..329668a2c 100644 --- a/lib/libc/sys-minix/rmdir.c +++ b/lib/libc/sys-minix/rmdir.c @@ -2,10 +2,6 @@ #include #include "namespace.h" -#ifdef __weak_alias -__weak_alias(rmdir, _rmdir) -#endif - #include #include diff --git a/lib/libc/sys-minix/setgid.c b/lib/libc/sys-minix/setgid.c index 576f32d97..269e0cdb6 100644 --- a/lib/libc/sys-minix/setgid.c +++ b/lib/libc/sys-minix/setgid.c @@ -4,11 +4,6 @@ #include -#ifdef __weak_alias -__weak_alias(setgid, _setgid) -__weak_alias(setegid, _setegid) -#endif - #include int setgid(gid_t grp) diff --git a/lib/libc/sys-minix/setgroups.c b/lib/libc/sys-minix/setgroups.c index 8bf35c62e..c5aab68c4 100644 --- a/lib/libc/sys-minix/setgroups.c +++ b/lib/libc/sys-minix/setgroups.c @@ -3,11 +3,6 @@ #include "namespace.h" #include - -#ifdef __weak_alias -__weak_alias(setgroups, _setgroups) -#endif - #include int setgroups(int ngroups, const gid_t *gidset) diff --git a/lib/libc/sys-minix/setsid.c b/lib/libc/sys-minix/setsid.c index 7337a0737..b4c084f59 100644 --- a/lib/libc/sys-minix/setsid.c +++ b/lib/libc/sys-minix/setsid.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(setsid, _setsid) -#endif - pid_t setsid(void) { message m; diff --git a/lib/libc/sys-minix/setuid.c b/lib/libc/sys-minix/setuid.c index 2a1376514..4732950b9 100644 --- a/lib/libc/sys-minix/setuid.c +++ b/lib/libc/sys-minix/setuid.c @@ -5,11 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(setuid, _setuid) -__weak_alias(seteuid, _seteuid) -#endif - int setuid(uid_t usr) { message m; diff --git a/lib/libc/sys-minix/shmat.c b/lib/libc/sys-minix/shmat.c index 77a5548ab..2fa19bfe8 100644 --- a/lib/libc/sys-minix/shmat.c +++ b/lib/libc/sys-minix/shmat.c @@ -14,12 +14,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(shmat, _shmat) -__weak_alias(shmdt, _shmdt) -#endif - - static int get_ipc_endpt(endpoint_t *pt) { return minix_rs_lookup("ipc", pt); diff --git a/lib/libc/sys-minix/shmget.c b/lib/libc/sys-minix/shmget.c index d7924ff3a..ca83cd3f2 100644 --- a/lib/libc/sys-minix/shmget.c +++ b/lib/libc/sys-minix/shmget.c @@ -12,10 +12,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(shmget, _shmget) -#endif - static int get_ipc_endpt(endpoint_t *pt) { return minix_rs_lookup("ipc", pt); diff --git a/lib/libc/sys-minix/shutdown.c b/lib/libc/sys-minix/shutdown.c index 68236c7de..001a6a244 100644 --- a/lib/libc/sys-minix/shutdown.c +++ b/lib/libc/sys-minix/shutdown.c @@ -11,10 +11,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(shutdown, _shutdown) -#endif - #define DEBUG 0 static int _tcp_shutdown(int sock, int how); diff --git a/lib/libc/sys-minix/sigreturn.c b/lib/libc/sys-minix/sigreturn.c index f0cbf4f6b..c2685e7f4 100644 --- a/lib/libc/sys-minix/sigreturn.c +++ b/lib/libc/sys-minix/sigreturn.c @@ -10,10 +10,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(sigreturn, _sigreturn) -#endif - int sigreturn(struct sigcontext *scp) { sigset_t set; diff --git a/lib/libc/sys-minix/socketpair.c b/lib/libc/sys-minix/socketpair.c index ac1d901d7..d8ce4de7a 100644 --- a/lib/libc/sys-minix/socketpair.c +++ b/lib/libc/sys-minix/socketpair.c @@ -11,10 +11,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(socketpair, _socketpair) -#endif - #define DEBUG 0 static int _uds_socketpair(int type, int protocol, int sv[2]); diff --git a/lib/libc/sys-minix/stack_utils.c b/lib/libc/sys-minix/stack_utils.c index 50774e294..77da25f29 100644 --- a/lib/libc/sys-minix/stack_utils.c +++ b/lib/libc/sys-minix/stack_utils.c @@ -14,10 +14,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(execve, _execve) -#endif - extern struct minix_kerninfo *_minix_kerninfo; /* Create a stack image that only needs to be patched up slightly by diff --git a/lib/libc/sys-minix/stat.c b/lib/libc/sys-minix/stat.c index 4daefdfd9..bc86bc1b0 100644 --- a/lib/libc/sys-minix/stat.c +++ b/lib/libc/sys-minix/stat.c @@ -5,10 +5,6 @@ #include #include -int _stat(const char *name, struct stat *buffer); -int _lstat(const char *name, struct stat *buffer); -int _fstat(int fd, struct stat *buffer); - #ifdef __weak_alias __weak_alias(_stat, __stat50); __weak_alias(_lstat, __lstat50); @@ -31,8 +27,6 @@ int stat(const char *name, struct stat *buffer) return _syscall(VFS_PROC_NR, VFS_STAT, &m); } -int _fstat(int fd, struct stat *buffer) { return fstat(fd, buffer); } - int fstat(int fd, struct stat *buffer) { message m; @@ -44,8 +38,6 @@ int fstat(int fd, struct stat *buffer) return _syscall(VFS_PROC_NR, VFS_FSTAT, &m); } -int _lstat(const char *name, struct stat *buffer) { return lstat(name, buffer); } - int lstat(const char *name, struct stat *buffer) { message m; diff --git a/lib/libc/sys-minix/statvfs.c b/lib/libc/sys-minix/statvfs.c index 901c7f06c..cdca3eab2 100644 --- a/lib/libc/sys-minix/statvfs.c +++ b/lib/libc/sys-minix/statvfs.c @@ -7,7 +7,6 @@ #include #ifdef __weak_alias -__weak_alias(statvfs1, _statvfs1) __weak_alias(statvfs, _statvfs) #endif diff --git a/lib/libc/sys-minix/stime.c b/lib/libc/sys-minix/stime.c index 42d255ca2..6846be834 100644 --- a/lib/libc/sys-minix/stime.c +++ b/lib/libc/sys-minix/stime.c @@ -1,14 +1,12 @@ #include -#include + #include "namespace.h" +#include +#include #include #include -#ifdef __weak_alias -__weak_alias(stime, _stime) -#endif - int stime(time_t *top) { message m; diff --git a/lib/libc/sys-minix/symlink.c b/lib/libc/sys-minix/symlink.c index 845e9bd03..021084e29 100644 --- a/lib/libc/sys-minix/symlink.c +++ b/lib/libc/sys-minix/symlink.c @@ -2,10 +2,6 @@ #include #include "namespace.h" -#ifdef __weak_alias -__weak_alias(symlink, _symlink) -#endif - #include #include diff --git a/lib/libc/sys-minix/sync.c b/lib/libc/sys-minix/sync.c index 3f425bd95..21cb600a9 100644 --- a/lib/libc/sys-minix/sync.c +++ b/lib/libc/sys-minix/sync.c @@ -4,10 +4,6 @@ #include -#ifdef __weak_alias -__weak_alias(sync, _sync) -#endif - #include void sync(void) diff --git a/lib/libc/sys-minix/truncate.c b/lib/libc/sys-minix/truncate.c index ae18b74a4..e8046d2fb 100644 --- a/lib/libc/sys-minix/truncate.c +++ b/lib/libc/sys-minix/truncate.c @@ -2,10 +2,6 @@ #include "namespace.h" #include -#ifdef __weak_alias -__weak_alias(truncate, _truncate) -#endif - #include #include #include diff --git a/lib/libc/sys-minix/umask.c b/lib/libc/sys-minix/umask.c index dce334e27..aa2d372ed 100644 --- a/lib/libc/sys-minix/umask.c +++ b/lib/libc/sys-minix/umask.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(umask, _umask) -#endif - mode_t umask(mode_t complmode) { message m; diff --git a/lib/libc/sys-minix/unlink.c b/lib/libc/sys-minix/unlink.c index 000a29ece..daf1b8104 100644 --- a/lib/libc/sys-minix/unlink.c +++ b/lib/libc/sys-minix/unlink.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(unlink, _unlink) -#endif - int unlink(name) const char *name; { diff --git a/lib/libc/sys-minix/vectorio.c b/lib/libc/sys-minix/vectorio.c index 6a7fcf436..fa14a37b8 100644 --- a/lib/libc/sys-minix/vectorio.c +++ b/lib/libc/sys-minix/vectorio.c @@ -15,11 +15,6 @@ #define VECTORIO_READ 1 #define VECTORIO_WRITE 2 -#ifdef __weak_alias -__weak_alias(writev, _writev) -__weak_alias(readv, _readv) -#endif - static ssize_t vectorio_buffer(int fildes, const struct iovec *iov, int iovcnt, int readwrite, ssize_t totallen) { diff --git a/lib/libc/sys-minix/write.c b/lib/libc/sys-minix/write.c index 154b05f6a..b492afdee 100644 --- a/lib/libc/sys-minix/write.c +++ b/lib/libc/sys-minix/write.c @@ -5,10 +5,6 @@ #include #include -#ifdef __weak_alias -__weak_alias(write, _write) -#endif - ssize_t write(int fd, const void *buffer, size_t nbytes) { message m; diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index a78e87652..33459b55f 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.217 2012/10/02 01:46:40 christos Exp $ +# $NetBSD: Makefile.inc,v 1.221 2013/11/09 13:05:59 njoly Exp $ # @(#)Makefile.inc 8.3 (Berkeley) 10/24/94 .if defined(__MINIX) @@ -34,7 +34,7 @@ SRCS+= posix_fadvise.c posix_madvise.c sched.c sigqueue.c sigtimedwait.c \ # glue to provide compatibility between GCC 1.X and 2.X and for compat # with old syscall interfaces. GLUE+= ftruncate.c lseek.c mmap.c pread.c preadv.c pwrite.c \ - pwritev.c truncate.c ntp_adjtime.c + pwritev.c truncate.c ntp_adjtime.c mknodat.c GLUE50+= adjtime.c clock_settime.c settimeofday.c @@ -106,12 +106,12 @@ ASM= access.S acct.S \ lchflags.S lchmod.S lchown.S lfs_bmapv.S lfs_markv.S lfs_segclean.S \ __lfs_segwait50.S link.S linkat.S listen.S __lstat50.S \ __lutimes50.S _lwp_create.S _lwp_exit.S _lwp_kill.S \ - ___lwp_park50.S _lwp_self.S _lwp_wait.S _lwp_unpark.S \ + _lwp_self.S _lwp_wait.S _lwp_unpark.S \ _lwp_unpark_all.S _lwp_suspend.S _lwp_continue.S \ _lwp_wakeup.S _lwp_detach.S _lwp_setprivate.S \ _lwp_setname.S _lwp_getname.S _lwp_ctl.S \ madvise.S mincore.S minherit.S mkdir.S mkdirat.S mkfifo.S mkfifoat.S \ - __mknod50.S mknodat.S mlock.S mlockall.S modctl.S __mount50.S \ + __mknod50.S mlock.S mlockall.S modctl.S __mount50.S \ mprotect.S __msgctl50.S msgget.S munlock.S munlockall.S \ munmap.S \ nfssvc.S __ntp_gettime50.S \ @@ -221,14 +221,14 @@ LintSysPseudoNoerr.c: ${LIBCDIR}/sys/makelintstub \ .endif # !defined(__MINIX) .if !defined(__MINIX) -MAN+= accept.2 access.2 acct.2 bind.2 brk.2 chdir.2 \ - chflags.2 chmod.2 chown.2 chroot.2 clone.2 close.2 \ +MAN+= accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \ + chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \ connect.2 dup.2 execve.2 _exit.2 extattr_get_file.2 \ fcntl.2 fdatasync.2 fhopen.2 \ flock.2 fork.2 fsync.2 getcontext.2 getdents.2 \ - getfh.2 getgid.2 getgroups.2 \ + getfh.2 getvfsstat.2 getgid.2 getgroups.2 \ getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \ - getpriority.2 getrlimit.2 getsid.2 getsockname.2 \ + getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \ getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \ kill.2 kqueue.2 ktrace.2 \ lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \ @@ -272,7 +272,6 @@ MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2 MLINKS+=chown.2 fchown.2 chown.2 lchown.2 MLINKS+=chroot.2 fchroot.2 .else -MAN+= statvfs.2 MLINKS+=clock_settime.2 clock_gettime.2 MLINKS+=clock_settime.2 clock_getres.2 .endif # !defined(__MINIX) @@ -288,7 +287,11 @@ MLINKS+=extattr_get_file.2 extattr_set_file.2 \ extattr_get_file.2 extattr_set_link.2 \ extattr_get_file.2 extattr_delete_link.2 \ extattr_get_file.2 extattr_list_link.2 +MLINKS+=access.2 faccessat.2 +MLINKS+=chmod.2 fchmodat.2 +MLINKS+=chown.2 fchownat.2 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatvfs.2 fhopen.2 fhstatvfs1.2 +MLINKS+=stat.2 fstatat.2 MLINKS+=fsync.2 fsync_range.2 MLINKS+=getcontext.2 setcontext.2 MLINKS+=getgid.2 getegid.2 @@ -312,18 +315,25 @@ MLINKS+=_lwp_getprivate.2 _lwp_setprivate.2 MLINKS+=madvise.2 posix_madvise.2 MLINKS+=mlock.2 munlock.2 MLINKS+=mlockall.2 munlockall.2 +MLINKS+=mkdir.2 mkdirat.2 +MLINKS+=mkfifo.2 mkfifoat.2 +MLINKS+=mknod.2 mknodat.2 MLINKS+=mount.2 unmount.2 +MLINKS+=open.2 openat.2 MLINKS+=ntp_adjtime.2 ntp_gettime.2 MLINKS+=pathconf.2 fpathconf.2 MLINKS+=pmc_control.2 pmc_get_info.2 MLINKS+=poll.2 pollts.2 MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2 +MLINKS+=readlink.2 readlinkat.2 MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2 recv.2 recvmmsg.2 +MLINKS+=rename.2 renameat.2 MLINKS+=select.2 pselect.2 MLINKS+=send.2 sendmsg.2 send.2 sendto.2 send.2 sendmmsg.2 MLINKS+=setpgid.2 setpgrp.2 MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2 MLINKS+=shmat.2 shmdt.2 +MLINKS+=symlink.2 symlinkat.2 MLINKS+=timer_settime.2 timer_gettime.2 timer_settime.2 timer_getoverrun.2 MLINKS+=sigqueue.2 sigqueueinfo.2 MLINKS+=sigtimedwait.2 sigwaitinfo.2 @@ -334,12 +344,15 @@ MLINKS+=statvfs.2 statvfs1.2 MLINKS+=statvfs.2 fstatvfs1.2 MLINKS+=syscall.2 __syscall.2 MLINKS+=truncate.2 ftruncate.2 +MLINKS+=unlink.2 unlinkat.2 MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2 -MLINKS+=utimes.2 futimens.2 utimes.2 utimensat.2 +MLINKS+=utimes.2 utimens.2 utimes.2 futimens.2 utimes.2 lutimens.2 +MLINKS+=utimes.2 utimensat.2 MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2 MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2 .else MLINKS+=pipe.2 pipe2.2 +MAN+= statvfs.2 MLINKS+=statvfs.2 fstatvfs.2 MLINKS+=statvfs.2 statvfs1.2 MLINKS+=statvfs.2 fstatvfs1.2 diff --git a/lib/libc/sys/_lwp_getprivate.2 b/lib/libc/sys/_lwp_getprivate.2 index 528b62546..d3e6d22fc 100644 --- a/lib/libc/sys/_lwp_getprivate.2 +++ b/lib/libc/sys/_lwp_getprivate.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: _lwp_getprivate.2,v 1.4 2008/04/30 13:10:51 martin Exp $ +.\" $NetBSD: _lwp_getprivate.2,v 1.6 2013/10/05 09:18:56 njoly Exp $ .\" .\" Copyright (c) 2003 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 16, 2003 +.Dd September 7, 2013 .Dt _LWP_GETPRIVATE 2 .Os .Sh NAME @@ -50,6 +50,27 @@ in a location private to the LWP. .Pp .Fn _lwp_getprivate returns the pointer to private data for the LWP. +.Pp +Some platforms provide alternative ways quicker than +.Fn _lwp_getprivate +to use the pointer. +.Bl -tag -width amd64 +.It alpha +The pointer can be retrieved by call_pal PAL_rdunique. +.It amd64 +The base address of +.Dv %fs +register is set to the pointer so that the private data can be +accessed using the selector. +.It i386 +The base address of +.Dv %gs +register is set to the pointer so that the private data can be +accessed using the selector. +.It sparc +.Dv %g7 +register is set to the pointer. +.El .Sh ERRORS The .Fn _lwp_getprivate diff --git a/lib/libc/sys/accept.2 b/lib/libc/sys/accept.2 index fda197648..6edcac86b 100644 --- a/lib/libc/sys/accept.2 +++ b/lib/libc/sys/accept.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: accept.2,v 1.29 2012/03/19 09:34:36 plunky Exp $ +.\" $NetBSD: accept.2,v 1.31 2013/08/02 20:13:09 wiz Exp $ .\" .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -142,11 +142,16 @@ function behaves exactly like but it also allows to set the following .Fa flags on the returned file descriptor: -.Bl -column SOCK_NONBLOCK -offset indent +.Bl -tag -width SOCK_NOSIGPIPEXX -offset indent .It Dv SOCK_CLOEXEC Set the close on exec property. .It Dv SOCK_NONBLOCK Sets non-blocking I/O. +.It Dv SOCK_NOSIGPIPE +Return +.Er EPIPE +instead of raising +.Dv SIGPIPE . .El .Pp It can also temporarily replace the signal mask of the calling thread if diff --git a/lib/libc/sys/access.2 b/lib/libc/sys/access.2 index 76b76e3fc..90012928e 100644 --- a/lib/libc/sys/access.2 +++ b/lib/libc/sys/access.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: access.2,v 1.26 2010/05/03 05:53:56 jruoho Exp $ +.\" $NetBSD: access.2,v 1.32 2013/01/13 08:15:02 dholland Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)access.2 8.2 (Berkeley) 4/1/94 .\" -.Dd May 3, 2010 +.Dd January 12, 2013 .Dt ACCESS 2 .Os .Sh NAME -.Nm access +.Nm access , +.Nm faccessat .Nd check access permissions of a file or pathname .Sh LIBRARY .Lb libc @@ -41,59 +42,58 @@ .In unistd.h .Ft int .Fn access "const char *path" "int mode" +.In fcntl.h +.Ft int +.Fn faccessat "int fd" "const char *path" "int mode" "int flags" .Sh DESCRIPTION The .Fn access function checks the accessibility of the file named by +.Fa path . +The +.Fn faccessat +function checks the accessibility of the file named by .Fa path -for the access permissions indicated by -.Fa mode . -The value of -.Fa mode -is the bitwise inclusive OR of the access permissions to be -checked -.Pf ( Dv R_OK -for read permission, -.Dv W_OK -for write permission and -.Dv X_OK -for execute/search permission) or the existence test, -.Dv F_OK . +using +.Fa fd +as the starting point for relative pathnames. +If +.Fa fd +is +.Dv AT_FDCWD +the current directory is used. +Calling +.Fn access +is equivalent to calling +.Fn faccessat +with +.Fa fd +set to +.Dv AT_FDCWD +and +.Fa flags +set to 0. +.Pp +The form of access to check is specified by the bitwise or of the +following values for +.Fa mode : +.Bl -tag -width W_OK +.It Dv R_OK +Check for read permission. +.It Dv W_OK +Check for write permission. +.It Dv X_OK +Check for execute/search permission. +.It Dv F_OK +Check only for existence. +.El +.Pp All components of the pathname .Fa path -are checked for access permissions (including -.Dv F_OK ) . +are checked for access permissions as well. .Pp -The real user ID is used in place of the effective user ID -and the real group access list -(including the real group ID) are -used in place of the effective ID for verifying permission. -.Pp -If a process has super-user privileges and indicates success for -.Dv R_OK -or -.Dv W_OK , -the file may not actually have read or write permission bits set. -If a process has super-user privileges and indicates success for -.Dv X_OK , -at least one of the user, group, or other execute bits is set. -(However, the file may still not be executable. -See -.Xr execve 2 . ) -.Sh RETURN VALUES -If -.Fa path -cannot be found or if any of the desired access modes would -not be granted, then a \-1 value is returned; otherwise -a 0 value is returned. -.Sh ERRORS -Access to the file is denied if: -.Bl -tag -width Er -.It Bq Er EACCES -Permission bits of the file mode do not permit the requested -access, or search permission is denied on a component of the -path prefix. +.\" Maybe this paragraph should be removed... The owner of a file has permission checked with respect to the .Dq owner read, write, and execute mode bits, members of the file's group @@ -103,9 +103,115 @@ mode bits, and all others have permissions checked with respect to the .Dq other mode bits. +.Pp +The file descriptor +.Fa fd +must name a directory. +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory, except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directory referred to by +.\" .Fa fd +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directory referred to by +.\" .Fa fd +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag or must be searchable by the current process at the time the +.\" call is made. +.Pp +The +.Fa flags +argument to +.Fn faccessat +can specify the following optional behavior: +.Bl -tag -width AT_SYMLINK_NOFOLLOW +.It AT_EACCESS +Use the effective user and group IDs instead of the real user and +group IDs for checking permission. +See discussion below. +.It AT_SYMLINK_NOFOLLOW +Do not follow a symbolic link encountered as the last component in +.Fa path . +.El +.Pp +For +.Fn access , +and +.Fn faccessat +when the +.Dv AT_EACCESS +flag is not passed, the real user ID and the real group ID are used +for checking permission in place of the effective user ID and +effective group ID. +This affects only set-user-ID and set-group-ID programs, which should +not use these functions. +(For other programs, the real and effective IDs are the same.) +.Pp +For processes running with super-user privileges, these functions may +return success for read and write checks regardless of whether read +and write permission bits are actually set. +This reflects the fact that the super-user may read and write all +files regardless of permission settings. +However, even for the super-user, an execute check using +.Dv X_OK +will succeed only if the target object has at least one of its +execute permission bits set. +.\" XXX: Is this true of search permission and directories? (I believe so.) +(This does not guarantee that the target object can necessarily be +successfully executed. +See +.Xr execve 2 . ) +.Sh RETURN VALUES +The +.Fn access +and +.Fn faccessat +functions succeed and return 0 if, at some point in the recent past, +the target object named by +.Fa path +existed and its permission settings allowed the requested access as +described above. +If the requested access would not have been granted, the object did +not exist, or the path lookup failed, the value \-1 is returned +and the value of +.Va errno +is set to reflect what went wrong. +.Sh ERRORS +These functions fail if: +.Bl -tag -width Er +.It Bq Er EACCES +Search permission is denied for +.Fa fd , +or for the current directory, or for a directory in the prefix of +.Fa path ; +or the permission bits on the target file system object do not permit +the requested access. +.It Bq Er EBADF +The file descriptor +.Fa fd +is not open and is not +.Dv AT_FDCWD . +.\" (possibly -- future) +.\" or was not opened for searching with +.\" .Dv O_SEARCH . .It Bq Er EFAULT .Fa path points outside the process's allocated address space. +.It Bq Er EINVAL +The +.Fa mode +or +.Fa flags +argument contained an invalid value. .It Bq Er EIO An I/O error occurred while reading from or writing to the file system. .It Bq Er ELOOP @@ -119,7 +225,10 @@ characters. .It Bq Er ENOENT The named file does not exist. .It Bq Er ENOTDIR -A component of the path prefix is not a directory. +The file descriptor +.Fa fd +does not name a directory, or a component of the path prefix is not a +directory. .It Bq Er EROFS Write access is requested for a file on a read-only file system. .It Bq Er ETXTBSY @@ -136,19 +245,47 @@ The .Fn access function conforms to .St -p1003.1-90 . -.Sh SECURITY CONSIDERATIONS -The -.Fn access -system call is a potential security hole due to race conditions. -It should never be used. -Set-user-ID and set-group-ID applications should restore the -effective user or group ID, and perform actions directly rather than use -.Fn access -to simulate access checks for the real user or group ID. +.Fn faccessat +function conforms to +.St -p1003.1-2008 . +.\" This paragraph could be moved to the end of DESCRIPTION if people +.\" don't like having it here. .Pp -The +Note that +.Fn faccessat +violates the historic convention that system calls whose names begin +with `f' operate on file handles rather than paths. +There is no equivalent to .Fn access -system call may however have some value in providing clues to users as to -whether certain operations make sense for a particular filesystem object. -Arguably it also allows a cheaper file existence test than -.Xr stat 2 . +for checking access properties of an already-opened file. +.Sh SECURITY CONSIDERATIONS +Because the results of these calls reflect the state of the file +system at the time they ran, and the file system can potentially be +modified between that time and the time the caller attempts to act on +the results, they should +.Em never +be used for security enforcement. +.Pp +Privileged programs that need to restrict their actions to files or +directories properly accessible to unprivileged users +.Em must +do this by assuming or restoring an unprivileged state (see +.Xr seteuid 2 ) +when performing the pertinent actions. +Checking in advance (with +.Fn access +or any other method) and performing such actions while privileged +introduces a race condition that in most cases is easily exploitable +by even a naive adversary. +.Pp +Even for non-privileged programs, the opportunity for the world to +change after the call runs makes +.Fn access +and +.Fn faccessat +not very useful. +In general only +.Dv F_OK +should be used, and that sparingly. +The other checks may occasionally be useful for user interface or +diagnostic purposes. diff --git a/lib/libc/sys/chdir.2 b/lib/libc/sys/chdir.2 index b28227ac3..e83cd289c 100644 --- a/lib/libc/sys/chdir.2 +++ b/lib/libc/sys/chdir.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: chdir.2,v 1.21 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: chdir.2,v 1.22 2013/02/05 13:36:59 wiz Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)chdir.2 8.2 (Berkeley) 12/11/93 .\" -.Dd December 11, 1993 +.Dd February 5, 2013 .Dt CHDIR 2 .Os .Sh NAME @@ -80,18 +80,6 @@ the error. will fail and the current working directory will be unchanged if one or more of the following are true: .Bl -tag -width Er -.It Bq Er ENOTDIR -A component of the path prefix is not a directory. -.It Bq Er ENAMETOOLONG -A component of a pathname exceeded -.Brq Dv NAME_MAX -characters, or an entire path name exceeded -.Brq Dv PATH_MAX -characters. -.It Bq Er ENOENT -The named directory does not exist. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating the pathname. .It Bq Er EACCES Search permission is denied for any component of the path name. @@ -100,6 +88,18 @@ the path name. points outside the process's allocated address space. .It Bq Er EIO An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENAMETOOLONG +A component of a pathname exceeded +.Brq Dv NAME_MAX +characters, or an entire path name exceeded +.Brq Dv PATH_MAX +characters. +.It Bq Er ENOENT +The named directory does not exist. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. .El .Pp .Fn fchdir @@ -109,12 +109,12 @@ one or more of the following are true: .It Bq Er EACCES Search permission is denied for the directory referenced by the file descriptor. -.It Bq Er ENOTDIR -The file descriptor does not reference a directory. .It Bq Er EBADF The argument .Fa fd is not a valid file descriptor. +.It Bq Er ENOTDIR +The file descriptor does not reference a directory. .It Bq Er EPERM The argument .Fa fd @@ -122,7 +122,8 @@ references a directory which is not at or below the current process's root directory. .El .Sh SEE ALSO -.Xr chroot 2 +.Xr chroot 2 , +.Xr getcwd 3 .Sh STANDARDS The .Fn chdir diff --git a/lib/libc/sys/chflags.2 b/lib/libc/sys/chflags.2 index f4d69d5bf..b045d6ea0 100644 --- a/lib/libc/sys/chflags.2 +++ b/lib/libc/sys/chflags.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: chflags.2,v 1.27 2011/08/06 11:28:24 jruoho Exp $ +.\" $NetBSD: chflags.2,v 1.28 2013/06/08 06:05:03 kardel Exp $ .\" .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. @@ -98,8 +98,6 @@ The and .Dv SF_APPEND flags may only be set or unset by the super-user. -Attempts by the non-super-user to set the super-user only flags -are silently ignored. These flags may be set at any time, but normally may only be unset when the system is in single-user mode. (See diff --git a/lib/libc/sys/chmod.2 b/lib/libc/sys/chmod.2 index 0e2fd524c..fb9c469e1 100644 --- a/lib/libc/sys/chmod.2 +++ b/lib/libc/sys/chmod.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: chmod.2,v 1.40 2012/03/04 11:58:31 wiz Exp $ +.\" $NetBSD: chmod.2,v 1.47 2013/10/15 11:43:21 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,13 +29,14 @@ .\" .\" @(#)chmod.2 8.1 (Berkeley) 6/4/93 .\" -.Dd March 3, 2012 +.Dd July 29, 2013 .Dt CHMOD 2 .Os .Sh NAME .Nm chmod , .Nm lchmod , -.Nm fchmod +.Nm fchmod , +.Nm fchmodat .Nd change mode of file .Sh LIBRARY .Lb libc @@ -47,6 +48,10 @@ .Fn lchmod "const char *path" "mode_t mode" .Ft int .Fn fchmod "int fd" "mode_t mode" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn fchmodat "int fd" "const char *path" "mode_t mode" "int flag" .Sh DESCRIPTION The function .Fn chmod @@ -70,6 +75,43 @@ sets the permission bits of the link, while .Fn chmod sets the bits of the file the link references. +.Pp +.Fn fchmodat +works the same way as +.Fn chmod +(or +.Fn lchmod +if +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag ) +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +except if that file descriptor was opened with the +.Dv O_SEARCH +flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp .Fn chmod verifies that the process owner (user) either owns the file specified by @@ -134,14 +176,12 @@ by protecting set-user-id (set-group-id) files from remaining set-user-id (set-group-id) if they are modified, at the expense of a degree of compatibility. .Sh RETURN VALUES -Upon successful completion, a value of 0 is returned. -Otherwise, a value of \-1 is returned and -.Va errno -is set to indicate the error. +.Rv -std chmod lchmod fchmod fchmodat .Sh ERRORS -.Fn chmod -and +.Fn chmod , .Fn lchmod +and +.Fn fchmodat will fail and the file mode will be unchanged if: .Bl -tag -width Er .It Bq Er EACCES @@ -182,6 +222,24 @@ group access list. The named file resides on a read-only file system. .El .Pp +In addition, +.Fn fchmodat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp .Fn fchmod will fail if: .Bl -tag -width Er @@ -225,6 +283,9 @@ The .Fn chmod function conforms to .St -p1003.1-90 . +.Fn fchmodat +function conforms to +.St -p1003.1-2008 . .Sh HISTORY The .Fn fchmod diff --git a/lib/libc/sys/chown.2 b/lib/libc/sys/chown.2 index b3962d5b0..91d829bc9 100644 --- a/lib/libc/sys/chown.2 +++ b/lib/libc/sys/chown.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: chown.2,v 1.31 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: chown.2,v 1.36 2013/07/30 12:38:16 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,13 +29,14 @@ .\" .\" @(#)chown.2 8.4 (Berkeley) 4/19/94 .\" -.Dd April 19, 1994 +.Dd July 30, 2013 .Dt CHOWN 2 .Os .Sh NAME .Nm chown , .Nm lchown , -.Nm fchown +.Nm fchown , +.Nm fchownat .Nd change owner and group of a file .Sh LIBRARY .Lb libc @@ -47,6 +48,9 @@ .Fn lchown "const char *path" "uid_t owner" "gid_t group" .Ft int .Fn fchown "int fd" "uid_t owner" "gid_t group" +.In fcntl.h +.Ft int +.Fn fchownat "int fd" "const char *path" "uid_t owner" "gid_t group" "int flag" .Sh DESCRIPTION The owner ID and group ID of the file named by @@ -100,21 +104,58 @@ is particularly useful when used in conjunction with the file locking primitives (see .Xr flock 2 ) . .Pp +.Fn fchownat +works the same way as +.Fn chown +(or +.Fn lchown +if +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag ) +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp One of the owner or group id's may be left unchanged by specifying it as (uid_t)\-1 or (gid_t)\-1 respectively. .Sh RETURN VALUES -Zero is returned if the operation was successful; -\-1 is returned if an error occurs, with a more specific -error code being placed in the global variable -.Va errno . +.Rv -std chown lchown fchown fchownat .Sh ERRORS -.Fn chown -and +.Fn chown , .Fn lchown +and +.Fn fchownat will fail and the file will be unchanged if: .Bl -tag -width Er -.It Bq Er ENOTDIR -A component of the path prefix is not a directory. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -123,19 +164,30 @@ characters, or an entire path name exceeded characters. .It Bq Er ENOENT The named file does not exist. -.It Bq Er EACCES -Search permission is denied for a component of the path prefix. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating the pathname. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. .It Bq Er EPERM The effective user ID is not the super-user. .It Bq Er EROFS The named file resides on a read-only file system. -.It Bq Er EFAULT +.El +.Pp +In addition, +.Fn fchownat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF .Fa path -points outside the process's allocated address space. -.It Bq Er EIO -An I/O error occurred while reading from or writing to the file system. +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. .El .Pp .Fn fchown @@ -147,12 +199,12 @@ does not refer to a valid descriptor. .It Bq Er EINVAL .Fa fd refers to a socket, not a file. +.It Bq Er EIO +An I/O error occurred while reading from or writing to the file system. .It Bq Er EPERM The effective user ID is not the super-user. .It Bq Er EROFS The named file resides on a read-only file system. -.It Bq Er EIO -An I/O error occurred while reading from or writing to the file system. .El .Sh SEE ALSO .Xr chgrp 1 , @@ -175,6 +227,9 @@ and functions, as defined by .St -xpg4.2 , provide the same semantics. +.Fn fchownat +conforms to +.St -p1003.1-2008 . .Pp To retain conformance to these standards, compatibility interfaces are provided by the diff --git a/lib/libc/sys/fsync.2 b/lib/libc/sys/fsync.2 index e2fe40511..22c5fe25a 100644 --- a/lib/libc/sys/fsync.2 +++ b/lib/libc/sys/fsync.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: fsync.2,v 1.17 2010/05/17 12:38:04 jruoho Exp $ +.\" $NetBSD: fsync.2,v 1.18 2013/09/22 10:02:05 apb Exp $ .\" .\" Copyright (c) 1983, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)fsync.2 8.1 (Berkeley) 6/4/93 .\" -.Dd May 17, 2010 +.Dd September 22, 2013 .Dt FSYNC 2 .Os .Sh NAME @@ -48,15 +48,36 @@ .Fn fsync causes all modified data and attributes of .Fa fd -to be moved to a permanent storage device. +to be written to a permanent storage device. This normally results in all in-core modified copies of buffers for the associated file to be written to a disk. .Pp -.Fn fsync -should be used by programs that require a file to be +.Fn fsync_range +is similar, but provides control over the region of the file +to be synchronized, and the method of synchronization. +.Pp +These functions should be used by programs that require a file to be in a known state, for example, in building a simple transaction facility. .Pp +Note that writing the data to a permanent storage device +does not necessarily write the data to permanent storage media +within that device; +for example, after writing data to a disk device, the data might +reside in a cache within the device, but not yet on +more permanent storage within the device. +Neither +.Fn fsync +nor the default behavior of +.Fn fsync_range +(without the +.Dv FDISKSYNC +flag) +will flush disk caches, +because they assume that storage devices are able to ensure that +completed writes are transferred to media some time between the +write and a power failure or system crash. +.Pp .Fn fsync_range causes all modified data starting at .Fa start @@ -64,38 +85,52 @@ for length .Fa length of .Fa fd -to be written to permanent storage. -Note that -.Fn fsync_range -requires that the file -.Fa fd -must be open for writing. -.Pp -.Fn fsync_range -may flush the file data in one of two manners: -.Bl -tag -width FDATASYNC -offset indent -.It Dv FDATASYNC -Synchronize the file data and sufficient meta-data to retrieve the -data for the specified range. -.It Dv FFILESYNC -Synchronize all modified file data and meta-data for the specified range. -.El -.Pp -By default, -.Fn fsync_range -does not flush disk caches, assuming that storage media are able to ensure -completed writes are transfered to media. -The -.Dv FDISKSYNC -flag may be included in the -.Fa how -parameter to trigger flushing of all disk caches for the file. -.Pp +to be written to a permanent storage device. If the .Fa length parameter is zero, .Fn fsync_range will synchronize all of the file data. +.Pp +.Fn fsync_range +takes a +.Fa how +parameter which contains one or more of the following flags: +.Bl -tag -width FDATASYNC -offset indent +.It Dv FDATASYNC +Synchronize the file data and sufficient meta-data to retrieve the +data for the specified range. +This is equivalent to +.Xr fdatasync 2 +on the specified range. +.It Dv FFILESYNC +Synchronize all modified file data and meta-data for the specified range. +This is equivalent to +.Xr fsync 2 +on the specified range. +.It Dv FDISKSYNC +Request the destination device to ensure that the relevant data +and meta-data is flushed from any cache to permanent storage media. +In the present implementation, the entire cache on the affected device will +be flushed, and this may have a significant impact on performance. +.El +.Pp +The +.Dv FDATASYNC +and +.Dv FFILESYNC +flags are mutually exclusive. +Either of those flags may be combined with the +.Dv FDISKSYNC +flag. +.Pp +Note that +.Fn fsync_range +requires that the file +.Fa fd +must be open for writing, whereas +.Fn fsync +does not. .Sh RETURN VALUES A 0 value is returned on success. A \-1 value indicates an error. @@ -140,6 +175,7 @@ not support partial synchronization, the entire file will be synchronized and the call will be the equivalent of calling .Fn fsync . .Sh SEE ALSO +.Xr fdatasync 2 , .Xr sync 2 , .Xr sync 8 .Sh HISTORY diff --git a/lib/libc/sys/getgroups.2 b/lib/libc/sys/getgroups.2 index ffe8482b1..6fb3d3ec0 100644 --- a/lib/libc/sys/getgroups.2 +++ b/lib/libc/sys/getgroups.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: getgroups.2,v 1.22 2006/10/13 20:51:28 wiz Exp $ +.\" $NetBSD: getgroups.2,v 1.23 2013/07/14 14:29:09 njoly Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -54,7 +54,7 @@ indicates the number of entries that may be placed in returns the actual number of groups returned in .Fa gidset . No more than -.Dv {NGROUPS_MAX} +.Brq Dv NGROUPS_MAX will ever be returned. If diff --git a/lib/libc/sys/kqueue.2 b/lib/libc/sys/kqueue.2 index fa0347cf3..1dfa43aec 100644 --- a/lib/libc/sys/kqueue.2 +++ b/lib/libc/sys/kqueue.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: kqueue.2,v 1.32 2012/01/25 00:28:35 christos Exp $ +.\" $NetBSD: kqueue.2,v 1.33 2012/11/24 15:16:52 christos Exp $ .\" .\" Copyright (c) 2000 Jonathan Lemon .\" All rights reserved. @@ -32,7 +32,7 @@ .\" .\" $FreeBSD: src/lib/libc/sys/kqueue.2,v 1.22 2001/06/27 19:55:57 dd Exp $ .\" -.Dd January 23, 2012 +.Dd November 24, 2012 .Dt KQUEUE 2 .Os .Sh NAME @@ -604,6 +604,10 @@ The specified time limit or filter is invalid. The event could not be found to be modified or deleted. .It Bq Er ENOMEM No memory was available to register the event. +.It Bq Er EOPNOTSUPP +This type of file descriptor is not supported for +.Fn kevent +operations. .It Bq Er ESRCH The specified process to attach to does not exist. .El diff --git a/lib/libc/sys/link.2 b/lib/libc/sys/link.2 index 031c3f5ba..a66a805b1 100644 --- a/lib/libc/sys/link.2 +++ b/lib/libc/sys/link.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: link.2,v 1.26 2011/08/08 19:50:17 wiz Exp $ +.\" $NetBSD: link.2,v 1.32 2013/07/28 18:40:40 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993, 2011 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)link.2 8.3 (Berkeley) 1/12/94 .\" -.Dd January 12, 1994 +.Dd July 28, 2013 .Dt LINK 2 .Os .Sh NAME @@ -41,6 +41,7 @@ .In unistd.h .Ft int .Fn link "const char *name1" "const char *name2" +.In fcntl.h .Ft int .Fn linkat "int fd1" "const char *name1" "int fd2" "const char *name2" "int flags" .Sh DESCRIPTION @@ -80,6 +81,46 @@ must be in the same file system. may not be a directory unless the caller is the super-user and the file system containing it supports linking to directories. .Pp +.Fn linkat +works the same way as +.Fn link +except if +.Fa name1 +(resp. +.Fa name2 ) +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd1 +(resp. +.Fa fd2 ) . +Search permission is required on the directories named by +.Fa fd1 +and +.Fa fd2 . +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on the directories named by +.\" .Fa fd1 +.\" and +.\" .Fa fd2 +.\" unless they were opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directories named by +.\" .Fa fd1 +.\" and +.\" .Fa fd2 +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd1 +or +.Fa fd2 +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp When operating on a symlink, .Fn link resolves the symlink and creates a hard link on the target. @@ -89,25 +130,12 @@ will do the same if is set in .Fa flags , but it will link on the symlink itself if the flag is clear. -.Pp -At the moment, -.Fn linkat -is partially implemented. -It will return -.Er ENOSYS -for -.Fa fd1 -and -.Fa fd2 -values different than -.Dv AT_FDCWD . .Sh RETURN VALUES -Upon successful completion, a value of 0 is returned. -Otherwise, a value of \-1 is returned and -.Va errno -is set to indicate the error. +.Rv -std link linkat .Sh ERRORS .Fn link +and +.Fn linkat will fail and no link will be created if: .Bl -tag -width Er .It Bq Er EACCES @@ -135,7 +163,7 @@ Too many symbolic links were encountered in translating one of the pathnames. The link count of the file named by .Fa name1 would exceed -.Dv {LINK_MAX} . +.Brq Dv LINK_MAX . .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -175,6 +203,32 @@ and the file named by .Fa name1 are on different file systems. .El +.Pp +In addition, +.Fn linkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa name1 +or +.Fa name2 +does not specify an absolute path and +.Fa fd1 +or +.Fa fd2 , +respectively, is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa name1 +or +.Fa name2 +is not an absolute path and +.Fa fd1 +or +.Fa fd2 , +respectively, is a file descriptor associated with a non-directory file. +.El .Sh SEE ALSO .Xr symlink 2 , .Xr unlink 2 @@ -183,6 +237,6 @@ The .Fn link function conforms to .St -p1003.1-90 . -.Sh BUGS .Fn linkat -is partially implemented. +conforms to +.St -p1003.1-2008 . diff --git a/lib/libc/sys/mkdir.2 b/lib/libc/sys/mkdir.2 index e58437c9b..3fea55016 100644 --- a/lib/libc/sys/mkdir.2 +++ b/lib/libc/sys/mkdir.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: mkdir.2,v 1.24 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: mkdir.2,v 1.29 2013/10/15 11:43:21 njoly Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)mkdir.2 8.2 (Berkeley) 12/11/93 .\" -.Dd December 27, 2005 +.Dd July 28, 2013 .Dt MKDIR 2 .Os .Sh NAME -.Nm mkdir +.Nm mkdir , +.Nm mkdirat .Nd make a directory file .Sh LIBRARY .Lb libc @@ -41,6 +42,10 @@ .In sys/stat.h .Ft int .Fn mkdir "const char *path" "mode_t mode" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn mkdirat "int fd" "const char *path" "mode_t mode" .Sh DESCRIPTION The directory .Fa path @@ -50,19 +55,62 @@ and restricted by the .Xr umask 2 of the calling process. .Pp +.Fn mkdirat +works the same way as +.Fn mkdir +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp The directory's owner ID is set to the process's effective user ID. The directory's group ID is set to that of the parent directory in which it is created. .Sh RETURN VALUES -A 0 return value indicates success. -A \-1 return value indicates an error, and an error code is stored in -.Va errno . +.Rv -std mkdir mkdirat .Sh ERRORS +Both .Fn mkdir +and +.Fn mkdirat will fail and no directory will be created if: .Bl -tag -width Er -.It Bq Er ENOTDIR -A component of the path prefix is not a directory. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EDQUOT +The new directory cannot be created because the user's +quota of disk blocks on the file system that will +contain the directory has been exhausted. +Or, the user's quota of inodes on the file system on +which the directory is being created has been exhausted. +.It Bq Er EEXIST +The named file exists. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while making the directory entry or allocating the inode; +or an I/O error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -71,34 +119,33 @@ characters, or an entire path name exceeded characters. .It Bq Er ENOENT A component of the path prefix does not exist. -.It Bq Er EACCES -Search permission is denied for a component of the path prefix. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating the pathname. -.It Bq Er EROFS -The named file resides on a read-only file system. -.It Bq Er EEXIST -The named file exists. .It Bq Er ENOSPC The new directory cannot be created because there is no space left on the file system that will contain the directory. -.It Bq Er ENOSPC -There are no free inodes on the file system on which the +Or, there are no free inodes on the file system on which the directory is being created. -.It Bq Er EDQUOT -The new directory cannot be created because the user's -quota of disk blocks on the file system that will -contain the directory has been exhausted. -.It Bq Er EDQUOT -The user's quota of inodes on the file system on -which the directory is being created has been exhausted. -.It Bq Er EIO -An I/O error occurred while making the directory entry or allocating the inode. -.It Bq Er EIO -An I/O error occurred while reading from or writing to the file system. -.It Bq Er EFAULT +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn mkdirat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF .Fa path -points outside the process's allocated address space. +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. .El .Sh SEE ALSO .Xr chmod 2 , @@ -109,3 +156,6 @@ The .Fn mkdir function conforms to .St -p1003.1-90 . +.Fn mkdirat +conforms to +.St -p1003.1-2008 . diff --git a/lib/libc/sys/mkfifo.2 b/lib/libc/sys/mkfifo.2 index 835565b0b..22c95ea76 100644 --- a/lib/libc/sys/mkfifo.2 +++ b/lib/libc/sys/mkfifo.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: mkfifo.2,v 1.20 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: mkfifo.2,v 1.27 2013/10/15 11:43:21 njoly Exp $ .\" .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)mkfifo.2 8.1 (Berkeley) 6/4/93 .\" -.Dd June 4, 1993 +.Dd July 29, 2013 .Dt MKFIFO 2 .Os .Sh NAME -.Nm mkfifo +.Nm mkfifo , +.Nm mkfifoat .Nd make a fifo file .Sh LIBRARY .Lb libc @@ -41,6 +42,10 @@ .In sys/stat.h .Ft int .Fn mkfifo "const char *path" "mode_t mode" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn mkfifoat "int fd" "const char *path" "mode_t mode" .Sh DESCRIPTION .Fn mkfifo creates a new fifo file with name @@ -52,21 +57,66 @@ and restricted by the .Xr umask 2 of the calling process. .Pp +.Fn mkfifoat +works the same way as +.Fn mkfifo +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp The fifo's owner ID is set to the process's effective user ID. The fifo's group ID is set to that of the parent directory in which it is created. .Sh RETURN VALUES -A 0 return value indicates success. -A \-1 return value indicates an error, and an error code is stored in -.Va errno . +.Rv -std mkfifo mkfifoat .Sh ERRORS .Fn mkfifo +and +.Fn mkfifoat will fail and no fifo will be created if: .Bl -tag -width Er -.It Bq Er EOPNOTSUPP -The kernel has not been configured to support fifo's. -.It Bq Er ENOTDIR -A component of the path prefix is not a directory. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EDQUOT +The directory in which the entry for the new fifo +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +Or, the user's quota of inodes on the file system on +which the fifo is being created has been exhausted. +.It Bq Er EEXIST +The named file exists. +.It Bq Er EFAULT +.Fa path +points outside the process's allocated address space. +.It Bq Er EIO +An +.Tn I/O +error occurred while making the directory entry or allocating the inode. +Or, an +.Tn I/O +error occurred while reading from or writing to the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -75,40 +125,36 @@ characters, or an entire path name exceeded characters. .It Bq Er ENOENT A component of the path prefix does not exist. -.It Bq Er EACCES -Search permission is denied for a component of the path prefix. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating the pathname. -.It Bq Er EROFS -The named file resides on a read-only file system. -.It Bq Er EEXIST -The named file exists. .It Bq Er ENOSPC The directory in which the entry for the new fifo is being placed cannot be extended because there is no space left on the file system containing the directory. -.It Bq Er ENOSPC -There are no free inodes on the file system on which the +Or, there are no free inodes on the file system on which the fifo is being created. -.It Bq Er EDQUOT -The directory in which the entry for the new fifo -is being placed cannot be extended because the -user's quota of disk blocks on the file system -containing the directory has been exhausted. -.It Bq Er EDQUOT -The user's quota of inodes on the file system on -which the fifo is being created has been exhausted. -.It Bq Er EIO -An -.Tn I/O -error occurred while making the directory entry or allocating the inode. -.It Bq Er EIO -An -.Tn I/O -error occurred while reading from or writing to the file system. -.It Bq Er EFAULT +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.It Bq Er EOPNOTSUPP +The kernel has not been configured to support fifo's. +.It Bq Er EROFS +The named file resides on a read-only file system. +.El +.Pp +In addition, +.Fn mkfifoat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF .Fa path -points outside the process's allocated address space. +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. .El .Sh SEE ALSO .Xr chmod 2 , @@ -119,3 +165,6 @@ The .Nm mkfifo function call conforms to .St -p1003.1-90 . +.Fn mkfifoat +conforms to +.St -p1003.1-2008 . diff --git a/lib/libc/sys/mknod.2 b/lib/libc/sys/mknod.2 index befe96888..98b46f274 100644 --- a/lib/libc/sys/mknod.2 +++ b/lib/libc/sys/mknod.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: mknod.2,v 1.22 2011/07/08 19:25:51 wiz Exp $ +.\" $NetBSD: mknod.2,v 1.28 2013/10/15 11:43:21 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)mknod.2 8.1 (Berkeley) 6/4/93 .\" -.Dd July 3, 2011 +.Dd July 29, 2013 .Dt MKNOD 2 .Os .Sh NAME -.Nm mknod +.Nm mknod , +.Nm mknodat .Nd make a special file node .Sh LIBRARY .Lb libc @@ -41,6 +42,10 @@ .In sys/stat.h .Ft int .Fn mknod "const char *path" "mode_t mode" "dev_t dev" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn mknodat "int fd" "const char *path" "mode_t mode" "dev_t dev" .Sh DESCRIPTION The device special file .Fa path @@ -55,15 +60,40 @@ modified by the .Xr umask 2 of the parent process. .Pp +.Fn mknodat +works the same way as +.Fn mknod +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp .Fn mknod requires super-user privileges. .Sh RETURN VALUES -Upon successful completion a value of 0 is returned. -Otherwise, a value of \-1 is returned and -.Va errno -is set to indicate the error. +.Rv -std mknod mknodat .Sh ERRORS .Fn mknod +and +.Fn mknodat will fail and the file will be not created if: .Bl -tag -width Er .It Bq Er EACCES @@ -111,11 +141,37 @@ The process's effective user ID is not super-user. .It Bq Er EROFS The named file resides on a read-only file system. .El +.Pp +In addition, +.Fn mknodat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El .Sh SEE ALSO .Xr chmod 2 , .Xr mkfifo 2 , .Xr stat 2 , .Xr umask 2 +.Sh STANDARDS +The +.Fn mknod +function conforms to +.St -p1003.1-90 . +.Fn mknodat +conforms to +.St -p1003.1-2008 . .Sh HISTORY A .Fn mknod diff --git a/lib/libc/sys/mknodat.c b/lib/libc/sys/mknodat.c new file mode 100644 index 000000000..235c80196 --- /dev/null +++ b/lib/libc/sys/mknodat.c @@ -0,0 +1,41 @@ +/* $NetBSD: mknodat.c,v 1.1 2013/10/17 18:01:11 njoly Exp $ */ + +/*- + * Copyright (c) 2013 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Nicolas Joly . + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#include + +int __mknodat(int, const char *, mode_t, int, dev_t); + +int +mknodat(int fd, const char *path, mode_t mode, dev_t dev) +{ + return __mknodat(fd, path, mode, 0, dev); +} diff --git a/lib/libc/sys/msgrcv.2 b/lib/libc/sys/msgrcv.2 index 7538eeb51..d5da41f8b 100644 --- a/lib/libc/sys/msgrcv.2 +++ b/lib/libc/sys/msgrcv.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: msgrcv.2,v 1.20 2012/05/15 11:37:01 reinoud Exp $ +.\" $NetBSD: msgrcv.2,v 1.22 2013/07/24 11:54:04 skrll Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden .\" All rights reserved. @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd January 26, 2009 +.Dd July 24, 2013 .Dt MSGRCV 2 .Os .Sh NAME @@ -90,8 +90,10 @@ less than or equal to the absolute value of will be received. .El .Pp +The argument .Fa msgsz -specifies the maximum length of the requested message. +specifies the size in bytes of +.Va mtext . If the received message has a length greater than .Fa msgsz it will be silently truncated if the diff --git a/lib/libc/sys/msgsnd.2 b/lib/libc/sys/msgsnd.2 index 87621c08b..3a2283b34 100644 --- a/lib/libc/sys/msgsnd.2 +++ b/lib/libc/sys/msgsnd.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: msgsnd.2,v 1.18 2010/04/30 04:06:20 jruoho Exp $ +.\" $NetBSD: msgsnd.2,v 1.20 2013/07/24 11:54:04 skrll Exp $ .\" .\" Copyright (c) 1995 Frank van der Linden .\" All rights reserved. @@ -29,7 +29,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 30, 2010 +.Dd July 24, 2013 .Dt MSGSND 2 .Os .Sh NAME @@ -69,7 +69,9 @@ be used for selecting messages (see .Xr msgrcv 2 ) . The .Va mtext -field is an array of bytes, with size up to the system limit +field is an array of bytes of length +.Fa msgsz , +with size up to the system limit .Dv MSGMAX . .Pp If the number of bytes already on the message queue plus diff --git a/lib/libc/sys/open.2 b/lib/libc/sys/open.2 index 5556ac890..579c57fdd 100644 --- a/lib/libc/sys/open.2 +++ b/lib/libc/sys/open.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: open.2,v 1.51 2012/01/25 00:28:35 christos Exp $ +.\" $NetBSD: open.2,v 1.56 2013/07/29 18:37:16 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)open.2 8.2 (Berkeley) 11/16/93 .\" -.Dd January 23, 2012 +.Dd July 29, 2013 .Dt OPEN 2 .Os .Sh NAME -.Nm open +.Nm open , +.Nm openat .Nd open or create a file for reading or writing .Sh LIBRARY .Lb libc @@ -41,6 +42,8 @@ .In fcntl.h .Ft int .Fn open "const char *path" "int flags" "..." +.Ft int +.Fn openat "int fd" "const char *path" "int flags" "..." .Sh DESCRIPTION The file name specified by .Fa path @@ -49,6 +52,33 @@ for reading and/or writing as specified by the argument .Fa flags and the file descriptor returned to the calling process. +.Pp +.Fn openat +works the same way as +.Fn open +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp The .Fa flags are specified by @@ -164,6 +194,24 @@ Enable the signal to be sent to the process group when I/O is possible, e.g., upon availability of data to be read. +.\" (This block awaits a decision about the semantics of O_SEARCH) +.\" .It Dv O_SEARCH +.\" If opening a directory, search permission checks will not be performed on +.\" subsequent usage of the file descriptor for looking up relative paths by +.\" .Xr faccessat 2 , +.\" .Xr fchmodat 2 , +.\" .Xr fchownat 2 , +.\" .Xr fstatat 2 , +.\" .Xr linkat 2 , +.\" .Xr mkdirat 2 , +.\" .Xr mkfifoat 2 , +.\" .Xr mknodat 2 , +.\" .Xr openat 2 , +.\" .Xr readlinkat 2 , +.\" .Xr symlinkat 2 , +.\" .Xr unlinkat 2 , +.\" and +.\" .Xr utimensat 2 . .El .Pp Opening a file with @@ -240,6 +288,8 @@ returns the current system limit. .Sh RETURN VALUES If successful, .Fn open +and +.Fn openat returns a non-negative integer, termed a file descriptor. Otherwise, a value of \-1 is returned and .Va errno @@ -357,13 +407,43 @@ executed and the .Fn open call requests write access. .El +.Pp +In addition, +.Fn openat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El .Sh SEE ALSO .Xr chmod 2 , .Xr close 2 , .Xr dup 2 , +.Xr faccessat 2 , +.Xr fchmodat 2 , +.Xr fchownat 2 , +.Xr fstatat 2 , +.Xr linkat 2 , .Xr lseek 2 , +.Xr mkdirat 2 , +.Xr mkfifoat 2 , +.Xr mknodat 2 , .Xr read 2 , +.Xr readlinkat 2 , +.Xr symlinkat 2 , .Xr umask 2 , +.Xr unlinkat 2 , +.Xr utimensat 2 , .Xr write 2 , .Xr getdtablesize 3 .Sh STANDARDS @@ -371,6 +451,10 @@ The .Fn open function conforms to .St -p1003.1-90 . +.Fn openat +conforms to +.St -p1003.1-2008 . +.Pp The .Fa flags values @@ -380,6 +464,10 @@ and .Dv O_RSYNC are extensions defined in .St -p1003.1b-93 . +.\" (This block awaits a decision about the semantics of O_SEARCH) +.\" .Dv O_SEARCH +.\" is defined in +.\" .St -p1003.1-2008 . .Pp The .Dv O_SHLOCK diff --git a/lib/libc/sys/pipe.2 b/lib/libc/sys/pipe.2 index a3e3e330a..510fadf26 100644 --- a/lib/libc/sys/pipe.2 +++ b/lib/libc/sys/pipe.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: pipe.2,v 1.28 2012/01/25 00:28:35 christos Exp $ +.\" $NetBSD: pipe.2,v 1.29 2013/04/23 23:39:13 elric Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -135,7 +135,8 @@ will also fail if: .It Bq Er EINVAL .Fa flags is other than -.Dv O_NONBLOCK +.Dv O_NONBLOCK , +.Dv O_NOSIGPIPE or .Dv O_CLOEXEC . .El diff --git a/lib/libc/sys/posix_fadvise.2 b/lib/libc/sys/posix_fadvise.2 index 9190fe76d..b09b61a05 100644 --- a/lib/libc/sys/posix_fadvise.2 +++ b/lib/libc/sys/posix_fadvise.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: posix_fadvise.2,v 1.3 2009/06/09 11:21:33 yamt Exp $ +.\" $NetBSD: posix_fadvise.2,v 1.5 2013/02/04 20:03:11 wiz Exp $ .\" .\" Copyright (c)2006,2009 YAMAMOTO Takashi, .\" All rights reserved. @@ -25,7 +25,7 @@ .\" SUCH DAMAGE. .\" .\" ------------------------------------------------------------ -.Dd June 9, 2009 +.Dd February 4, 2013 .Dt POSIX_FADVISE 2 .Os .Sh NAME @@ -36,7 +36,7 @@ .Lb libc .\" ------------------------------------------------------------ .Sh SYNOPSIS -.In sys/fcntl.h +.In fcntl.h .Ft int .Fn posix_fadvise "int fd" "off_t offset" "off_t size" "int hint" .\" ------------------------------------------------------------ diff --git a/lib/libc/sys/read.2 b/lib/libc/sys/read.2 index 4a8d9a28d..3461005eb 100644 --- a/lib/libc/sys/read.2 +++ b/lib/libc/sys/read.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: read.2,v 1.34 2011/12/12 19:11:21 njoly Exp $ +.\" $NetBSD: read.2,v 1.35 2013/07/14 14:29:09 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -186,7 +186,7 @@ points outside the process's allocated address space. .It Bq Er EINVAL .Fa iovcnt was less than or equal to 0, or greater than -.Dv {IOV_MAX} ; +.Brq Dv IOV_MAX ; or one of the .Fa iov_len values in the diff --git a/lib/libc/sys/readlink.2 b/lib/libc/sys/readlink.2 index ac9cc99c9..8f68ea087 100644 --- a/lib/libc/sys/readlink.2 +++ b/lib/libc/sys/readlink.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: readlink.2,v 1.26 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: readlink.2,v 1.32 2013/07/29 11:49:31 wiz Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)readlink.2 8.1 (Berkeley) 6/4/93 .\" -.Dd May 11, 2004 +.Dd July 28, 2013 .Dt READLINK 2 .Os .Sh NAME -.Nm readlink +.Nm readlink , +.Nm readlinkat .Nd read value of a symbolic link .Sh LIBRARY .Lb libc @@ -41,6 +42,9 @@ .In unistd.h .Ft ssize_t .Fn readlink "const char * restrict path" "char * restrict buf" "size_t bufsiz" +.Ft ssize_t +.Fn readlinkat "int fd" "const char * restrict path" "char * restrict buf"\ + "size_t bufsiz" .Sh DESCRIPTION .Fn readlink places the contents of the symbolic link @@ -54,6 +58,32 @@ does not append a .Dv NUL character to .Fa buf . +.Pp +.Fn readlinkat +works the same way as +.Fn readlink +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. .Sh RETURN VALUES The call returns the count of characters placed in the buffer if it succeeds, or a \-1 if an error occurs, placing the error @@ -77,10 +107,21 @@ buf[len] = '\e0'; .Ed .Sh ERRORS .Fn readlink +and +.Fn readlinkat will fail if: .Bl -tag -width Er -.It Bq Er ENOTDIR -A component of the path prefix is not a directory. +.It Bq Er EACCES +Search permission is denied for a component of the path prefix. +.It Bq Er EFAULT +.Fa buf +extends outside the process's allocated address space. +.It Bq Er EINVAL +The named file is not a symbolic link. +.It Bq Er EIO +An I/O error occurred while reading from the file system. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -89,17 +130,26 @@ characters, or an entire path name exceeded characters. .It Bq Er ENOENT The named file does not exist. -.It Bq Er EACCES -Search permission is denied for a component of the path prefix. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating the pathname. -.It Bq Er EINVAL -The named file is not a symbolic link. -.It Bq Er EIO -An I/O error occurred while reading from the file system. -.It Bq Er EFAULT -.Fa buf -extends outside the process's allocated address space. +.It Bq Er ENOTDIR +A component of the path prefix is not a directory. +.El +.Pp +In addition, +.Fn readlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. .El .Sh SEE ALSO .Xr lstat 2 , @@ -111,6 +161,9 @@ The .Fn readlink function conforms to .St -p1003.1-2001 . +.Fn readlinkat +conforms to +.St -p1003.1-2008 . .Sh HISTORY The .Fn readlink diff --git a/lib/libc/sys/recv.2 b/lib/libc/sys/recv.2 index e0724ca26..35ab5e900 100644 --- a/lib/libc/sys/recv.2 +++ b/lib/libc/sys/recv.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: recv.2,v 1.35 2012/06/23 05:47:50 dholland Exp $ +.\" $NetBSD: recv.2,v 1.36 2013/07/14 14:29:09 njoly Exp $ .\" .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -343,7 +343,7 @@ member of the .Fa msg structure is less than or equal to 0 or is greater than -.Dv {IOV_MAX} . +.Brq Dv IOV_MAX . .El .Sh SEE ALSO .Xr fcntl 2 , diff --git a/lib/libc/sys/rename.2 b/lib/libc/sys/rename.2 index f6321fe15..852430744 100644 --- a/lib/libc/sys/rename.2 +++ b/lib/libc/sys/rename.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: rename.2,v 1.23 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: rename.2,v 1.32 2013/07/28 10:24:59 njoly Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)rename.2 8.1 (Berkeley) 6/4/93 .\" -.Dd December 27, 2005 +.Dd July 28, 2013 .Dt RENAME 2 .Os .Sh NAME -.Nm rename +.Nm rename , +.Nm renameat , .Nd change the name of a file .Sh LIBRARY .Lb libc @@ -41,6 +42,9 @@ .In stdio.h .Ft int .Fn rename "const char *from" "const char *to" +.In unistd.h +.Ft int +.Fn renameat "int fromfd" "const char *from" "int tofd" "const char *to" .Sh DESCRIPTION .Fn rename causes the link named @@ -76,17 +80,91 @@ and are pathnames of the same existing file in the file system's name space, .Fn rename returns successfully and performs no other action. -.Sh RETURN VALUES -A 0 value is returned if the operation succeeds, otherwise +.Pp +.Fn renameat +works the same way as .Fn rename -returns \-1 and the global variable -.Va errno -indicates the reason for the failure. +except if +.Fa from +(resp. +.Fa to ) +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fromfd +(resp. +.Fa tofd ) . +Search permission is required on the directories named by +.Fa fromfd +and +.Fa tofd . +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on the directories named by +.\" .Fa fromfd +.\" and +.\" .Fa tofd +.\" unless they were opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" The directories named by +.\" .Fa fromfd +.\" and +.\" .Fa tofd +.\" must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fromfd +or +.Fa tofd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Sh RETURN VALUES +.Rv -std rename renameat .Sh ERRORS .Fn rename +and +.Fn renameat will fail and neither of the argument files will be affected if: .Bl -tag -width Er +.It Bq Er EACCES +A component of either path prefix denies search permission, or +the requested link requires writing in a directory with a mode +that denies write permission. +.It Bq Er EBUSY +.Fa from +or +.Fa to +is the mount point for a mounted file system. +.It Bq Er EDQUOT +The directory in which the entry for the new name +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +.It Bq Er EFAULT +.Fa from +or +.Fa to +points outside the process's allocated address space. +.It Bq Er EINVAL +.Fa from +is a parent directory of +.Fa to , +or an attempt is made to rename +.Ql \&. +or +.Ql \&.. . +.It Bq Er EIO +An I/O error occurred while making or updating a directory entry. +.It Bq Er EISDIR +.Fa to +is a directory, but +.Fa from +is not a directory. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating either pathname. .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -100,10 +178,19 @@ path does not exist, or a path prefix of .Fa to does not exist. -.It Bq Er EACCES -A component of either path prefix denies search permission, or -the requested link requires writing in a directory with a mode -that denies write permission. +.It Bq Er ENOSPC +The directory in which the entry for the new name is being placed +cannot be extended because there is no space left on the file +system containing the directory. +.It Bq Er ENOTDIR +A component of either path prefix is not a directory, or +.Fa from +is a directory, but +.Fa to +is not a directory. +.It Bq Er ENOTEMPTY +.Fa to +is a directory and is not empty. .It Bq Er EPERM The directory containing .Fa from @@ -120,19 +207,9 @@ is marked sticky, and neither the containing directory nor .Fa to are owned by the effective user ID. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating either pathname. -.It Bq Er ENOTDIR -A component of either path prefix is not a directory, or -.Fa from -is a directory, but -.Fa to -is not a directory. -.It Bq Er EISDIR -.Fa to -is a directory, but -.Fa from -is not a directory. +.It Bq Er EROFS +The requested link requires writing in a directory on a read-only file +system. .It Bq Er EXDEV The link named by .Fa to @@ -141,39 +218,32 @@ and the file named by are on different logical devices (file systems). Note that this error code will not be returned if the implementation permits cross-device links. -.It Bq Er ENOSPC -The directory in which the entry for the new name is being placed -cannot be extended because there is no space left on the file -system containing the directory. -.It Bq Er EDQUOT -The directory in which the entry for the new name -is being placed cannot be extended because the -user's quota of disk blocks on the file system -containing the directory has been exhausted. -.It Bq Er EIO -An I/O error occurred while making or updating a directory entry. -.It Bq Er EROFS -The requested link requires writing in a directory on a read-only file -system. -.It Bq Er EFAULT -.Em Path -points outside the process's allocated address space. -.It Bq Er EINVAL -.Fa from -is a parent directory of -.Fa to , -or an attempt is made to rename -.Ql \&. -or -.Ql \&.. . -.It Bq Er ENOTEMPTY -.Fa to -is a directory and is not empty. -.It Bq Er EBUSY +.El +.Pp +In addition, +.Fn renameat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF .Fa from or .Fa to -is the mount point for a mounted file system. +does not specify an absolute path and +.Fa fromfd +or +.Fa tofd , +respectively, is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa from +or +.Fa to +is not an absolute path and +.Fa fromfd +or +.Fa tofd , +respectively, is a file descriptor associated with a non-directory file. .El .Sh SEE ALSO .Xr open 2 , @@ -213,6 +283,9 @@ function conforms to .St -p1003.1-90 and .St -xpg4.2 . +.Fn renameat +conforms to +.St -p1003.1-2008 . .Sh BUGS The system can deadlock if a loop in the file system graph is present. This loop takes the form of an entry in directory diff --git a/lib/libc/sys/select.2 b/lib/libc/sys/select.2 index 5379c3847..9b7b282f2 100644 --- a/lib/libc/sys/select.2 +++ b/lib/libc/sys/select.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: select.2,v 1.38 2010/04/05 21:25:56 joerg Exp $ +.\" $NetBSD: select.2,v 1.41 2013/11/28 03:45:31 khorben Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)select.2 8.2 (Berkeley) 3/25/94 .\" -.Dd October 18, 2008 +.Dd November 28, 2013 .Dt SELECT 2 .Os .Sh NAME @@ -192,7 +192,7 @@ main(int argc, char **argv) FD_SET(fd, \*[Am]read_set); /* - * Check if data is ready to be readen on + * Check if data is ready to be read on * file descriptor 1, give up after 10 seconds. */ ret = select(fd + 1, \*[Am]read_set, NULL, NULL, \*[Am]timeout); @@ -211,7 +211,7 @@ main(int argc, char **argv) break; default: - printf("Data received on %d file desciptor(s)\en", ret); + printf("Data received on %d file descriptor(s)\en", ret); /* * select(2) hands back a file descriptor set where diff --git a/lib/libc/sys/send.2 b/lib/libc/sys/send.2 index 937102598..99143c595 100644 --- a/lib/libc/sys/send.2 +++ b/lib/libc/sys/send.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: send.2,v 1.30 2012/06/22 22:54:26 wiz Exp $ +.\" $NetBSD: send.2,v 1.31 2013/07/14 14:29:09 njoly Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -255,7 +255,7 @@ member of the .Fa msg structure is less than or equal to 0 or is greater than -.Dv {IOV_MAX} . +.Brq Dv IOV_MAX . .El .Sh SEE ALSO .Xr fcntl 2 , diff --git a/lib/libc/sys/setgroups.2 b/lib/libc/sys/setgroups.2 index 4f74ec06d..e49b54ca7 100644 --- a/lib/libc/sys/setgroups.2 +++ b/lib/libc/sys/setgroups.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: setgroups.2,v 1.18 2006/10/13 20:53:21 wiz Exp $ +.\" $NetBSD: setgroups.2,v 1.19 2013/07/14 14:29:09 njoly Exp $ .\" .\" Copyright (c) 1983, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -51,7 +51,7 @@ The parameter .Fa ngroups indicates the number of entries in the array and must be no more than -.Dv {NGROUPS_MAX} . +.Brq Dv NGROUPS_MAX . .Pp Only the super-user may set new groups. .Pp @@ -69,7 +69,7 @@ call will fail if: The value of .Fa ngroups is greater than -.Dv {NGROUPS_MAX} . +.Brq Dv NGROUPS_MAX . .It Bq Er EPERM The caller is not the super-user. .It Bq Er EFAULT diff --git a/lib/libc/sys/sigqueue.2 b/lib/libc/sys/sigqueue.2 index 115500fd1..87fb6f37e 100644 --- a/lib/libc/sys/sigqueue.2 +++ b/lib/libc/sys/sigqueue.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: sigqueue.2,v 1.2 2011/01/10 06:26:30 wiz Exp $ +.\" $NetBSD: sigqueue.2,v 1.3 2013/02/14 09:31:48 wiz Exp $ .\" Copyright (c) 2005 David Xu .\" All rights reserved. .\" @@ -123,13 +123,13 @@ The process has already queued .Brq Dv SIGQUEUE_MAX signals that are still pending at the receiver(s), or a system-wide resource limit has been exceeded. -.It Bq Er EEPERM -The process does not have the appropriate privilege to send the signal -to the receiving process. .It Bq Er EINVAL The value of the .Fa signo argument is an invalid or unsupported signal number. +.It Bq Er EPERM +The process does not have the appropriate privilege to send the signal +to the receiving process. .It Bq Er ESRCH The process .Fa pid diff --git a/lib/libc/sys/socket.2 b/lib/libc/sys/socket.2 index 788f0310d..6912d0659 100644 --- a/lib/libc/sys/socket.2 +++ b/lib/libc/sys/socket.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: socket.2,v 1.39 2012/01/25 09:18:52 wiz Exp $ +.\" $NetBSD: socket.2,v 1.41 2013/03/01 18:25:16 joerg Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,7 +29,7 @@ .\" .\" @(#)socket.2 8.1 (Berkeley) 6/4/93 .\" -.Dd January 23, 2012 +.Dd February 5, 2013 .Dt SOCKET 2 .Os .Sh NAME @@ -58,9 +58,7 @@ The currently understood formats are: PF_LOCAL local (previously UNIX) domain protocols PF_INET ARPA Internet protocols PF_INET6 IPv6 (Internet Protocol version 6) protocols -PF_ISO ISO protocols PF_NS Xerox Network Systems protocols -PF_IMPLINK IMP \*(lqhost at IMP\*(rq link layer PF_APPLETALK AppleTalk protocols PF_BLUETOOTH Bluetooth protocols .Ed diff --git a/lib/libc/sys/stat.2 b/lib/libc/sys/stat.2 index 7f51600d2..49440aaa1 100644 --- a/lib/libc/sys/stat.2 +++ b/lib/libc/sys/stat.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: stat.2,v 1.50 2012/01/04 10:53:39 wiz Exp $ +.\" $NetBSD: stat.2,v 1.56 2013/10/15 11:43:21 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -29,13 +29,14 @@ .\" .\" @(#)stat.2 8.4 (Berkeley) 5/1/95 .\" -.Dd September 14, 2011 +.Dd July 28, 2013 .Dt STAT 2 .Os .Sh NAME .Nm stat , .Nm lstat , -.Nm fstat +.Nm fstat , +.Nm fstatat , .Nd get file status .Sh LIBRARY .Lb libc @@ -47,6 +48,10 @@ .Fn lstat "const char *path" "struct stat *sb" .Ft int .Fn fstat "int fd" "struct stat *sb" +.In sys/stat.h +.In fcntl.h +.Ft int +.Fn fstatat "int fd" "const char *path" "struct stat *sb" "int flag" .Sh DESCRIPTION The .Fn stat @@ -73,6 +78,38 @@ function obtains the same information about an open file known by the file descriptor .Fa fd . .Pp +.Fn fstatat +works the same way as +.Fn stat +(or +.Fn lstat +if +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag ) +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp The .Fa sb argument is a pointer to a @@ -268,10 +305,7 @@ has the following bits: For a description of the flags, see .Xr chflags 2 . .Sh RETURN VALUES -Upon successful completion a value of 0 is returned. -Otherwise, a value of \-1 is returned and -.Va errno -is set to indicate the error. +.Rv -std stat lstat fstat fstatat .Sh COMPATIBILITY Previous versions of the system used different types for the .Li st_dev , @@ -284,9 +318,10 @@ and .Li st_blocks fields. .Sh ERRORS -.Fn stat -and +.Fn stat , .Fn lstat +and +.Fn fstatat will fail if: .Bl -tag -width Er .It Bq Er EACCES @@ -297,7 +332,7 @@ This can happen if a file system information node is incorrect. .It Bq Er EFAULT .Fa sb or -.Em name +.Fa path points to an invalid address. .It Bq Er EIO An I/O error occurred while reading from or writing to the file system. @@ -319,6 +354,24 @@ special file, and the device associated with this special file does not exist. .El .Pp +In addition, +.Fn fstatat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp .Fn fstat will fail if: .Bl -tag -width Er @@ -340,8 +393,15 @@ An I/O error occurred while reading from or writing to the file system. .Xr types 3 , .Xr symlink 7 .Sh STANDARDS -The described functions conform to +.Fn stat , +.Fn lstat , +and +.Fn fstat +conform to .St -p1003.1-2004 . +.Fn fstatat +conforms to +.St -p1003.1-2008 . .Sh HISTORY A .Fn stat diff --git a/lib/libc/sys/symlink.2 b/lib/libc/sys/symlink.2 index 2479180c1..ae24d3276 100644 --- a/lib/libc/sys/symlink.2 +++ b/lib/libc/sys/symlink.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: symlink.2,v 1.20 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: symlink.2,v 1.26 2013/07/29 11:40:04 njoly Exp $ .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)symlink.2 8.1 (Berkeley) 6/4/93 .\" -.Dd June 4, 1993 +.Dd July 29, 2013 .Dt SYMLINK 2 .Os .Sh NAME -.Nm symlink +.Nm symlink , +.Nm symlinkat .Nd make symbolic link to a file .Sh LIBRARY .Lb libc @@ -41,6 +42,8 @@ .In unistd.h .Ft int .Fn symlink "const char *name1" "const char *name2" +.Ft int +.Fn symlinkat "const char *name1" "int fd" "const char *name2" .Sh DESCRIPTION A symbolic link .Fa name2 @@ -54,18 +57,72 @@ is the string used in creating the symbolic link). Either name may be an arbitrary path name; the files need neither to be on the same file system nor to exist. +.Pp +.Fn symlinkat +works the same way as +.Fn symlink +except if +.Fa path2 +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. .Sh RETURN VALUES -Upon successful completion, a zero value is returned. -If an error occurs, the error code is stored in -.Va errno -and a \-1 value is returned. +.Rv -std symlink symlinkat .Sh ERRORS -The symbolic link succeeds unless: +.Fn symlink +and +.Fn symlinkat +will fail and no link will be created if: .Bl -tag -width Er -.It Bq Er ENOTDIR +.It Bq Er EACCES A component of the .Fa name2 -prefix is not a directory. +path prefix denies search permission. +.It Bq Er EDQUOT +The directory in which the entry for the new symbolic link +is being placed cannot be extended because the +user's quota of disk blocks on the file system +containing the directory has been exhausted. +Or, the new symbolic link cannot be created because the user's +quota of disk blocks on the file system that will +contain the symbolic link has been exhausted. +Or, the user's quota of inodes on the file system on +which the symbolic link is being created has been exhausted. +.It Bq Er EEXIST +.Fa name2 +already exists. +.It Bq Er EFAULT +.Fa name1 +or +.Fa name2 +points outside the process's allocated address space. +.It Bq Er EIO +An I/O error occurred while making the directory entry for +.Fa name2 , +or allocating the inode for +.Fa name2 , +or writing out the link contents of +.Fa name2 . +Or, an I/O error occurred while making the directory entry or allocating the inode. +.It Bq Er ELOOP +Too many symbolic links were encountered in translating the pathname. .It Bq Er ENAMETOOLONG A component of a pathname exceeded .Brq Dv NAME_MAX @@ -76,56 +133,41 @@ characters. A component of the .Fa name2 path does not exist. -.It Bq Er EACCES -A component of the -.Fa name2 -path prefix denies search permission. -.It Bq Er ELOOP -Too many symbolic links were encountered in translating the pathname. -.It Bq Er EEXIST -.Fa name2 -already exists. -.It Bq Er EIO -An I/O error occurred while making the directory entry for -.Fa name2 , -or allocating the inode for -.Fa name2 , -or writing out the link contents of -.Fa name2 . -.It Bq Er EROFS -The file -.Fa name2 -would reside on a read-only file system. .It Bq Er ENOSPC The directory in which the entry for the new symbolic link is being placed cannot be extended because there is no space left on the file system containing the directory. -.It Bq Er ENOSPC -The new symbolic link cannot be created because there +Or, the new symbolic link cannot be created because there there is no space left on the file system that will contain the symbolic link. -.It Bq Er ENOSPC -There are no free inodes on the file system on which the +Or, there are no free inodes on the file system on which the symbolic link is being created. -.It Bq Er EDQUOT -The directory in which the entry for the new symbolic link -is being placed cannot be extended because the -user's quota of disk blocks on the file system -containing the directory has been exhausted. -.It Bq Er EDQUOT -The new symbolic link cannot be created because the user's -quota of disk blocks on the file system that will -contain the symbolic link has been exhausted. -.It Bq Er EDQUOT -The user's quota of inodes on the file system on -which the symbolic link is being created has been exhausted. -.It Bq Er EIO -An I/O error occurred while making the directory entry or allocating the inode. -.It Bq Er EFAULT -.Fa name1 -or +.It Bq Er ENOTDIR +A component of the .Fa name2 -points outside the process's allocated address space. +prefix is not a directory. +.It Bq Er EROFS +The file +.Fa name2 +would reside on a read-only file system. +.El +.Pp +In addition, +.Fn symlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa name2 +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa name2 +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. .El .Sh SEE ALSO .Xr ln 1 , @@ -133,6 +175,14 @@ points outside the process's allocated address space. .Xr readlink 2 , .Xr unlink 2 , .Xr symlink 7 +.Sh STANDARDS +The +.Fn symlink +function conforms to +.St -p1003.1-90 . +.Fn symlinkat +conforms to +.St -p1003.1-2008 . .Sh HISTORY The .Fn symlink diff --git a/lib/libc/sys/timer_create.2 b/lib/libc/sys/timer_create.2 index 21cbd6653..14da6743c 100644 --- a/lib/libc/sys/timer_create.2 +++ b/lib/libc/sys/timer_create.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: timer_create.2,v 1.11 2010/05/19 06:44:51 jruoho Exp $ +.\" $NetBSD: timer_create.2,v 1.12 2012/11/06 21:16:21 uwe Exp $ .\" .\" Copyright (c) 2003 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -113,7 +113,8 @@ is not a valid clock id. .Xr timer_delete 2 , .Xr timer_getoverrun 2 , .Xr timer_gettime 2 , -.Xr timer_settime 2 +.Xr timer_settime 2 , +.Xr sigevent 3 .Sh STANDARDS .St -p1003.1b-93 , .St -p1003.1i-95 diff --git a/lib/libc/sys/timer_settime.2 b/lib/libc/sys/timer_settime.2 index 1ffe3c6a8..75b109e7c 100644 --- a/lib/libc/sys/timer_settime.2 +++ b/lib/libc/sys/timer_settime.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: timer_settime.2,v 1.6 2010/05/17 07:22:03 jruoho Exp $ +.\" $NetBSD: timer_settime.2,v 1.9 2012/11/06 23:25:44 wiz Exp $ .\" .\" Copyright (c) 2003 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -62,7 +62,7 @@ If the argument .Ar otim is not .Dv NULL -the old timer settingas are returned. +the old timer settings are returned. .Pp If the .Ar flags @@ -121,7 +121,7 @@ argument of .Fn timer_settime or in the .Ar tim -argment of +argument of .Fn timer_gettime are subject to the above rounding effect and might not exactly match the requested values by the user. @@ -169,3 +169,4 @@ structure specified a value less than zero or greater than or equal to 10e9. .Sh STANDARDS .St -p1003.1b-93 , .St -p1003.1i-95 +.\" LocalWords: gettime settime diff --git a/lib/libc/sys/unlink.2 b/lib/libc/sys/unlink.2 index 7067eff61..e2b1f644d 100644 --- a/lib/libc/sys/unlink.2 +++ b/lib/libc/sys/unlink.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: unlink.2,v 1.23 2010/05/31 12:16:20 njoly Exp $ +.\" $NetBSD: unlink.2,v 1.28 2013/07/28 13:53:04 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,11 +29,12 @@ .\" .\" @(#)unlink.2 8.1 (Berkeley) 6/4/93 .\" -.Dd April 3, 2010 +.Dd July 28, 2013 .Dt UNLINK 2 .Os .Sh NAME -.Nm unlink +.Nm unlink , +.Nm unlinkat , .Nd remove directory entry .Sh LIBRARY .Lb libc @@ -41,6 +42,9 @@ .In unistd.h .Ft int .Fn unlink "const char *path" +.In fcntl.h +.Ft int +.Fn unlinkat "int fd" "const char *path" "int flag" .Sh DESCRIPTION The .Fn unlink @@ -56,14 +60,47 @@ all resources associated with the file are reclaimed. If one or more process have the file open when the last link is removed, the link is removed, but the removal of the file is delayed until all references to it have been closed. +.Pp +.Fn unlinkat +works the same way as +.Fn unlink +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +.Fn unlinkat +will remove directories just like +.Fn rmdir +provided +.Dv AT_REMOVEDIR +is set in +.Fa flag . .Sh RETURN VALUES -Upon successful completion, a value of 0 is returned. -Otherwise, a value of \-1 is returned and -.Va errno -is set to indicate the error. +.Rv -std unlink unlinkat .Sh ERRORS The .Fn unlink +and +.Fn unlinkat succeeds unless: .Bl -tag -width Er .It Bq Er EACCES @@ -103,6 +140,37 @@ are owned by the effective user ID. .It Bq Er EROFS The named file resides on a read-only file system. .El +.Pp +In addition, +.Fn unlinkat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file; or +.Fa flag +has +.Dv AT_REMOVEDIR +set and +.Fa path +does not name a directory. +.It Bq Er ENOTEMPTY +.Fa flag +has +.Dv AT_REMOVEDIR +set and +.Fa path +is a directory that is not empty. +.El .Sh SEE ALSO .Xr close 2 , .Xr link 2 , @@ -113,6 +181,9 @@ The .Fn unlink function conforms to .St -p1003.1-90 . +.Fn unlinkat +conforms to +.St -p1003.1-2008 . .Sh HISTORY An .Fn unlink diff --git a/lib/libc/sys/utimes.2 b/lib/libc/sys/utimes.2 index e989aeb2a..af2189987 100644 --- a/lib/libc/sys/utimes.2 +++ b/lib/libc/sys/utimes.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: utimes.2,v 1.30 2011/10/25 09:26:53 wiz Exp $ +.\" $NetBSD: utimes.2,v 1.40 2013/10/05 21:24:36 ast Exp $ .\" .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. @@ -29,13 +29,15 @@ .\" .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" -.Dd August 17, 2011 +.Dd September 14, 2013 .Dt UTIMES 2 .Os .Sh NAME .Nm utimes , .Nm lutimes , .Nm futimes , +.Nm utimens , +.Nm lutimens , .Nm futimens , .Nm utimensat .Nd set file access and modification times @@ -49,10 +51,18 @@ .Fn lutimes "const char *path" "const struct timeval times[2]" .Ft int .Fn futimes "int fd" "const struct timeval times[2]" +.In sys/stat.h +.Ft int +.Fn utimens "const char *path" "const struct timespec times[2]" +.Ft int +.Fn lutimens "const char *path" "const struct timespec times[2]" .Ft int .Fn futimens "int fd" "const struct timespec times[2]" +.In sys/stat.h +.In fcntl.h .Ft int -.Fn utimensat "int fd" "const char *path" "const struct timespec times[2]" "int flag" +.Fn utimensat "int fd" "const char *path" "const struct timespec times[2]" \ + "int flag" .Sh DESCRIPTION The access and modification times of the file named by .Fa path @@ -100,24 +110,56 @@ while .Fn utimes changes the times of the file the link references. .Pp +.Fn utimens , +.Fn lutimens , +and .Fn futimens -is like +are like +.Fn utimes , +.Fn lutimes , +and .Fn futimes -except that time is specified with nanosecond instead of microseconds. +respectively except that time is specified with nanosecond instead of +microsecond precision. .Pp .Fn utimensat -also allows time to be specifed with nanoseconds. -When it operates on a symbolic link, it will change the target's time if -.Ar follow -is unset. -If -.Ar follow -is set to -.Dv AT_SYMLINK_NOFOLLOW , -the symbolic link's dates are changed. +works the same way as +.Fn utimens +except if +.Fa path +is relative. +In that case, it is looked up from a directory whose file +descriptor was passed as +.Fa fd . +Search permission is required on this directory. +.\" (These alternatives await a decision about the semantics of O_SEARCH) +.\" Search permission is required on this directory +.\" except if +.\" .Fa fd +.\" was opened with the +.\" .Dv O_SEARCH +.\" flag. +.\" - or - +.\" This file descriptor must have been opened with the +.\" .Dv O_SEARCH +.\" flag. +.Fa fd +can be set to +.Dv AT_FDCWD +in order to specify the current directory. +.Pp +When it operates on a symbolic link, +.Fn utimensat +will change the target's time unless +.Dv AT_SYMLINK_NOFOLLOW +is set in +.Fa flag . +In that later case, the symbolic link's dates are changed. .Pp The nanosecond fields for -.Fn futimens +.Fn utimens , +.Fn lutimens , +.Fn futimens , and .Fn utimensat can be set to the special value @@ -126,23 +168,13 @@ to set the current time, or to .Dv UTIME_OMIT to let the time unchanged (this allows changing access time but not modification time, and vice-versa). -.Pp -.Fn utimensat -is partially implemented. -It will return -.Er ENOSYS -for -.Fa fd -values different than -.Dv AT_FDCWD . .Sh RETURN VALUES -Upon successful completion, a value of 0 is returned. -Otherwise, a value of \-1 is returned and -.Va errno -is set to indicate the error. +.Rv -std utimes lutimes futimes utimens lutimens futimens utimensat .Sh ERRORS .Fn utimes , .Fn lutimes , +.Fn utimens , +.Fn lutimens , and .Fn utimensat will fail if: @@ -186,6 +218,24 @@ does not match the owner of the file and is not the super-user. The file system containing the file is mounted read-only. .El .Pp +In addition, +.Fn utimensat +will fail if: +.Bl -tag -width Er +.It Bq Er EBADF +.Fa path +does not specify an absolute path and +.Fa fd +is neither +.Dv AT_FDCWD +nor a valid file descriptor open for reading or searching. +.It Bq Er ENOTDIR +.Fa path +is not an absolute path and +.Fa fd +is a file descriptor associated with a non-directory file. +.El +.Pp .Fn futimes and .Fn futimens @@ -252,8 +302,5 @@ Birthtime setting support was added in .Fn futimens and .Fn utimensat -functions calls appreared in +functions calls appeared in .Nx 6.0 . -.Sh BUGS -.Fn utimensat -is partially implemented. diff --git a/lib/libc/sys/write.2 b/lib/libc/sys/write.2 index 0e0a1b641..227b8c2b8 100644 --- a/lib/libc/sys/write.2 +++ b/lib/libc/sys/write.2 @@ -1,4 +1,4 @@ -.\" $NetBSD: write.2,v 1.32 2010/04/05 07:53:47 wiz Exp $ +.\" $NetBSD: write.2,v 1.33 2013/07/14 14:29:09 njoly Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. @@ -202,7 +202,7 @@ may return one of the following errors: .It Bq Er EINVAL .Fa iovcnt was less than or equal to 0, or greater than -.Dv {IOV_MAX} ; +.Brq Dv IOV_MAX ; or one of the .Fa iov_len values in the diff --git a/lib/libc/termios/Makefile.inc b/lib/libc/termios/Makefile.inc index f590ece90..1a287dc08 100644 --- a/lib/libc/termios/Makefile.inc +++ b/lib/libc/termios/Makefile.inc @@ -2,16 +2,10 @@ .PATH: ${.CURDIR}/termios -.if defined(__MINIX) # Not supported by Minix: tcgetsid.c SRCS+= cfgetispeed.c cfgetospeed.c cfmakeraw.c cfsetispeed.c cfsetospeed.c \ cfsetspeed.c tcdrain.c tcflow.c tcflush.c tcgetattr.c tcgetpgrp.c \ tcsendbreak.c tcsetattr.c tcsetpgrp.c -.else -SRCS+= cfgetispeed.c cfgetospeed.c cfmakeraw.c cfsetispeed.c cfsetospeed.c \ - cfsetspeed.c tcdrain.c tcflow.c tcflush.c tcgetattr.c tcgetpgrp.c \ - tcgetsid.c tcsendbreak.c tcsetattr.c tcsetpgrp.c -.endif # defined(__MINIX) MAN+= tcgetpgrp.3 tcgetsid.3 tcsendbreak.3 tcsetattr.3 tcsetpgrp.3 diff --git a/lib/libc/termios/cfmakeraw.c b/lib/libc/termios/cfmakeraw.c index 2a36738ed..ac70e6cca 100644 --- a/lib/libc/termios/cfmakeraw.c +++ b/lib/libc/termios/cfmakeraw.c @@ -58,11 +58,7 @@ cfmakeraw(struct termios *t) _DIAGASSERT(t != NULL); -#ifdef __minix - t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); -#else /* !__minix */ t->c_iflag &= ~(IMAXBEL|IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); -#endif /* !__minix */ t->c_oflag &= ~OPOST; t->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); t->c_cflag &= ~(CSIZE|PARENB); diff --git a/lib/libc/termios/tcsendbreak.c b/lib/libc/termios/tcsendbreak.c index 3a03f9095..ecccc4c42 100644 --- a/lib/libc/termios/tcsendbreak.c +++ b/lib/libc/termios/tcsendbreak.c @@ -40,11 +40,8 @@ __RCSID("$NetBSD: tcsendbreak.c,v 1.10 2012/06/25 22:32:46 abs Exp $"); #include "namespace.h" #include -#ifdef __minix -#include -#endif -#include #include +#include #include #include diff --git a/lib/libc/termios/tcsetattr.c b/lib/libc/termios/tcsetattr.c index dd7983da5..bbc734e11 100644 --- a/lib/libc/termios/tcsetattr.c +++ b/lib/libc/termios/tcsetattr.c @@ -65,11 +65,11 @@ tcsetattr(int fd, int opt, const struct termios *t) } switch (opt & ~TCSASOFT) { case TCSANOW: - return (ioctl(fd, TIOCSETA, __UNCONST(t))); + return (ioctl(fd, TIOCSETA, t)); case TCSADRAIN: - return (ioctl(fd, TIOCSETAW, __UNCONST(t))); + return (ioctl(fd, TIOCSETAW, t)); case TCSAFLUSH: - return (ioctl(fd, TIOCSETAF, __UNCONST(t))); + return (ioctl(fd, TIOCSETAF, t)); default: errno = EINVAL; return (-1); diff --git a/lib/libc/thread-stub/Makefile.inc b/lib/libc/thread-stub/Makefile.inc index 6c6c0a971..e540a836f 100644 --- a/lib/libc/thread-stub/Makefile.inc +++ b/lib/libc/thread-stub/Makefile.inc @@ -1,8 +1,8 @@ -# $NetBSD: Makefile.inc,v 1.3 2003/01/18 11:33:18 thorpej Exp $ +# $NetBSD: Makefile.inc,v 1.4 2013/04/05 20:15:42 christos Exp $ .include # Our sources .PATH: ${.CURDIR}/thread-stub -SRCS+= __isthreaded.c thread-stub.c +SRCS+= __isthreaded.c thread-stub.c thread-stub-init.c diff --git a/lib/libc/thread-stub/thread-stub-init.c b/lib/libc/thread-stub/thread-stub-init.c new file mode 100644 index 000000000..8ea3b3f52 --- /dev/null +++ b/lib/libc/thread-stub/thread-stub-init.c @@ -0,0 +1,63 @@ +/* $NetBSD: thread-stub-init.c,v 1.2 2013/08/19 22:14:37 matt Exp $ */ + +/*- + * Copyright (c) 2003, 2009 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jason R. Thorpe. + * + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 +#if defined(LIBC_SCCS) && !defined(lint) +__RCSID("$NetBSD: thread-stub-init.c,v 1.2 2013/08/19 22:14:37 matt Exp $"); +#endif /* LIBC_SCCS and not lint */ + +#ifdef _REENTRANT +#define __LIBC_THREAD_STUBS +#include "reentrant.h" +#include + +/* libpthread init */ + +__weak_alias(__libc_thr_init,__libc_thr_init_stub) + +void __section(".text.startup") +__libc_thr_init_stub(void) +{ + + /* nothing, may be overridden by libpthread */ +} + +#define DIE() (void)raise(SIGABRT) + +__weak_alias(__libc_thr_errno,__libc_thr_errno_stub) +int * +__libc_thr_errno_stub(void) +{ + DIE(); + + return (NULL); +} +#endif /* _REENTRANT */ diff --git a/lib/libc/thread-stub/thread-stub.c b/lib/libc/thread-stub/thread-stub.c index bd296e415..43c5f296c 100644 --- a/lib/libc/thread-stub/thread-stub.c +++ b/lib/libc/thread-stub/thread-stub.c @@ -1,4 +1,4 @@ -/* $NetBSD: thread-stub.c,v 1.22 2011/09/16 16:05:59 joerg Exp $ */ +/* $NetBSD: thread-stub.c,v 1.27 2013/05/28 17:29:41 christos Exp $ */ /*- * Copyright (c) 2003, 2009 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: thread-stub.c,v 1.22 2011/09/16 16:05:59 joerg Exp $"); +__RCSID("$NetBSD: thread-stub.c,v 1.27 2013/05/28 17:29:41 christos Exp $"); #endif /* LIBC_SCCS and not lint */ /* @@ -43,6 +43,8 @@ __RCSID("$NetBSD: thread-stub.c,v 1.22 2011/09/16 16:05:59 joerg Exp $"); #define __LIBC_THREAD_STUBS +#define pthread_join __libc_pthread_join +#define pthread_detach __libc_pthread_detach #include "namespace.h" #include "reentrant.h" @@ -67,24 +69,30 @@ do { \ #define CHECK_NOT_THREADED() /* nothing */ #endif -/* libpthread init */ +__weak_alias(pthread_join, __libc_pthread_join) +__weak_alias(pthread_detach, __libc_pthread_detach) -void __libc_thr_init(void); -void __libc_thr_init_stub(void); - -__weak_alias(__libc_thr_init,__libc_thr_init_stub) - -void -__libc_thr_init_stub(void) +int +pthread_join(pthread_t thread, void **valptr) { - /* nothing, may be overridden by libpthread */ + if (thread == pthread_self()) + return EDEADLK; + return ESRCH; +} + +int +pthread_detach(pthread_t thread) +{ + + if (thread == pthread_self()) + return 0; + return ESRCH; } /* mutexes */ -int __libc_mutex_init_stub(mutex_t *, const mutexattr_t *); -int __libc_mutex_catchall_stub(mutex_t *); +int __libc_mutex_catchall_stub(mutex_t *); __weak_alias(__libc_mutex_init,__libc_mutex_init_stub) __weak_alias(__libc_mutex_lock,__libc_mutex_catchall_stub) @@ -92,13 +100,20 @@ __weak_alias(__libc_mutex_trylock,__libc_mutex_catchall_stub) __weak_alias(__libc_mutex_unlock,__libc_mutex_catchall_stub) __weak_alias(__libc_mutex_destroy,__libc_mutex_catchall_stub) -int __libc_mutexattr_catchall_stub(mutexattr_t *); -int __libc_mutexattr_settype_stub(mutexattr_t *, int); +__strong_alias(__libc_mutex_lock_stub,__libc_mutex_catchall_stub) +__strong_alias(__libc_mutex_trylock_stub,__libc_mutex_catchall_stub) +__strong_alias(__libc_mutex_unlock_stub,__libc_mutex_catchall_stub) +__strong_alias(__libc_mutex_destroy_stub,__libc_mutex_catchall_stub) + +int __libc_mutexattr_catchall_stub(mutexattr_t *); __weak_alias(__libc_mutexattr_init,__libc_mutexattr_catchall_stub) __weak_alias(__libc_mutexattr_destroy,__libc_mutexattr_catchall_stub) __weak_alias(__libc_mutexattr_settype,__libc_mutexattr_settype_stub) +__strong_alias(__libc_mutexattr_init_stub,__libc_mutexattr_catchall_stub) +__strong_alias(__libc_mutexattr_destroy_stub,__libc_mutexattr_catchall_stub) + int __libc_mutex_init_stub(mutex_t *m, const mutexattr_t *a) { @@ -147,19 +162,19 @@ __libc_mutexattr_catchall_stub(mutexattr_t *ma) /* condition variables */ -int __libc_cond_init_stub(cond_t *, const condattr_t *); -int __libc_cond_wait_stub(cond_t *, mutex_t *); -int __libc_cond_timedwait_stub(cond_t *, mutex_t *, - const struct timespec *); -int __libc_cond_catchall_stub(cond_t *); +int __libc_cond_catchall_stub(cond_t *); __weak_alias(__libc_cond_init,__libc_cond_init_stub) __weak_alias(__libc_cond_signal,__libc_cond_catchall_stub) __weak_alias(__libc_cond_broadcast,__libc_cond_catchall_stub) -__weak_alias(__libc_cond_wait,__libc_cond_wait_stub) +__weak_alias(__libc_cond_wait,__libc_cond_catchall_stub) __weak_alias(__libc_cond_timedwait,__libc_cond_timedwait_stub) __weak_alias(__libc_cond_destroy,__libc_cond_catchall_stub) +__strong_alias(__libc_cond_signal_stub,__libc_cond_catchall_stub) +__strong_alias(__libc_cond_broadcast_stub,__libc_cond_catchall_stub) +__strong_alias(__libc_cond_destroy_stub,__libc_cond_catchall_stub) + int __libc_cond_init_stub(cond_t *c, const condattr_t *a) { @@ -215,8 +230,7 @@ __libc_cond_catchall_stub(cond_t *c) /* read-write locks */ -int __libc_rwlock_init_stub(rwlock_t *, rwlockattr_t *); -int __libc_rwlock_catchall_stub(rwlock_t *); +int __libc_rwlock_catchall_stub(rwlock_t *); __weak_alias(__libc_rwlock_init,__libc_rwlock_init_stub) __weak_alias(__libc_rwlock_rdlock,__libc_rwlock_catchall_stub) @@ -226,8 +240,16 @@ __weak_alias(__libc_rwlock_trywrlock,__libc_rwlock_catchall_stub) __weak_alias(__libc_rwlock_unlock,__libc_rwlock_catchall_stub) __weak_alias(__libc_rwlock_destroy,__libc_rwlock_catchall_stub) +__strong_alias(__libc_rwlock_rdlock_stub,__libc_rwlock_catchall_stub) +__strong_alias(__libc_rwlock_wrlock_stub,__libc_rwlock_catchall_stub) +__strong_alias(__libc_rwlock_tryrdlock_stub,__libc_rwlock_catchall_stub) +__strong_alias(__libc_rwlock_trywrlock_stub,__libc_rwlock_catchall_stub) +__strong_alias(__libc_rwlock_unlock_stub,__libc_rwlock_catchall_stub) +__strong_alias(__libc_rwlock_destroy_stub,__libc_rwlock_catchall_stub) + + int -__libc_rwlock_init_stub(rwlock_t *l, rwlockattr_t *a) +__libc_rwlock_init_stub(rwlock_t *l, const rwlockattr_t *a) { /* LINTED deliberate lack of effect */ (void)l; @@ -265,11 +287,6 @@ static struct { } __libc_tsd[TSD_KEYS_MAX]; static int __libc_tsd_nextkey; -int __libc_thr_keycreate_stub(thread_key_t *, void (*)(void *)); -int __libc_thr_setspecific_stub(thread_key_t, const void *); -void *__libc_thr_getspecific_stub(thread_key_t); -int __libc_thr_keydelete_stub(thread_key_t); - __weak_alias(__libc_thr_keycreate,__libc_thr_keycreate_stub) __weak_alias(__libc_thr_setspecific,__libc_thr_setspecific_stub) __weak_alias(__libc_thr_getspecific,__libc_thr_getspecific_stub) @@ -337,25 +354,12 @@ __libc_thr_keydelete_stub(thread_key_t k) /* misc. */ -int __libc_thr_once_stub(once_t *, void (*)(void)); -int __libc_thr_sigsetmask_stub(int, const sigset_t *, sigset_t *); -thr_t __libc_thr_self_stub(void); -int __libc_thr_yield_stub(void); -int __libc_thr_create_stub(thr_t *, const thrattr_t *, - void *(*)(void *), void *); -__dead void __libc_thr_exit_stub(void *); -int *__libc_thr_errno_stub(void); -int __libc_thr_setcancelstate_stub(int, int *); -int __libc_thr_equal_stub(pthread_t, pthread_t); -unsigned int __libc_thr_curcpu_stub(void); - __weak_alias(__libc_thr_once,__libc_thr_once_stub) __weak_alias(__libc_thr_sigsetmask,__libc_thr_sigsetmask_stub) __weak_alias(__libc_thr_self,__libc_thr_self_stub) __weak_alias(__libc_thr_yield,__libc_thr_yield_stub) __weak_alias(__libc_thr_create,__libc_thr_create_stub) __weak_alias(__libc_thr_exit,__libc_thr_exit_stub) -__weak_alias(__libc_thr_errno,__libc_thr_errno_stub) __weak_alias(__libc_thr_setcancelstate,__libc_thr_setcancelstate_stub) __weak_alias(__libc_thr_equal,__libc_thr_equal_stub) __weak_alias(__libc_thr_curcpu,__libc_thr_curcpu_stub) @@ -417,7 +421,7 @@ __libc_thr_create_stub(thr_t *tp, const thrattr_t *ta, return (EOPNOTSUPP); } -void +__dead void __libc_thr_exit_stub(void *v) { /* LINTED deliberate lack of effect */ @@ -447,15 +451,6 @@ __libc_thr_equal_stub(pthread_t t1, pthread_t t2) return (t1 == t2); } -int * -__libc_thr_errno_stub(void) -{ - - DIE(); - - return (NULL); -} - unsigned int __libc_thr_curcpu_stub(void) { diff --git a/lib/libc/time/Makefile b/lib/libc/time/Makefile index 5a8f12ec9..be66859c9 100644 --- a/lib/libc/time/Makefile +++ b/lib/libc/time/Makefile @@ -2,8 +2,14 @@ # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. +# Package name for the code distribution. +PACKAGE= tzcode + # Version numbers of the code and data distributions. -VERSION = 2012e +VERSION= 2013e + +# Email address for bug reports. +BUGEMAIL= tz@iana.org # Change the line below for your time zone (after finding the zone you want in # the time zone files, or adding it to a time zone file). @@ -22,7 +28,7 @@ LOCALTIME= GMT # time zone files, or adding it to a time zone file). # (When a POSIX-style environment variable is handled, the rules in the # template file are used to determine "spring forward" and "fall back" days and -# times; the environment variable itself specifies UTC offsets of standard and +# times; the environment variable itself specifies UT offsets of standard and # summer time.) # Alternately, if you discover you've got the wrong time zone, you can just # zic -p rightzone @@ -45,7 +51,11 @@ TOPDIR= /usr/local # (and subdirectories). # Use an absolute path name for TZDIR unless you're just testing the software. -TZDIR= $(TOPDIR)/etc/zoneinfo +TZDIR_BASENAME= zoneinfo +TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME) + +# Types to try, as an alternative to time_t. int64_t should be first. +TIME_T_ALTERNATIVES= int64_t int32_t uint32_t uint64_t # The "tzselect", "zic", and "zdump" commands get installed in. . . @@ -92,9 +102,11 @@ LDLIBS= # Add the following to the end of the "CFLAGS=" line as needed. # -DHAVE_ADJTIME=0 if `adjtime' does not exist (SVR0?) +# -DHAVE_DOS_FILE_NAMES if file names have drive specifiers etc. (MS-DOS) # -DHAVE_GETTEXT=1 if `gettext' works (GNU, Linux, Solaris); also see LDLIBS # -DHAVE_INCOMPATIBLE_CTIME_R=1 if your system's time.h declares # ctime_r and asctime_r incompatibly with the POSIX standard (Solaris 8). +# -DHAVE_INTTYPES_H=1 if you have a pre-C99 compiler with "inttypes.h" # -DHAVE_SETTIMEOFDAY=0 if settimeofday does not exist (SVR0?) # -DHAVE_SETTIMEOFDAY=1 if settimeofday has just 1 arg (SVR4) # -DHAVE_SETTIMEOFDAY=2 if settimeofday uses 2nd arg (4.3BSD) @@ -103,27 +115,35 @@ LDLIBS= # -DHAVE_SYMLINK=0 if your system lacks the symlink function # -DHAVE_SYS_STAT_H=0 if your compiler lacks a "sys/stat.h" # -DHAVE_SYS_WAIT_H=0 if your compiler lacks a "sys/wait.h" -# -DLOCALE_HOME=\"path\" if locales are in "path", not "/usr/lib/locale" # -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?) # -DHAVE_UTMPX_H=1 if your compiler has a "utmpx.h" -# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified -# DST transitions if the time zone files cannot be accessed -# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" -# -TTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; -# the default is system-supplied, typically "/usr/lib/locale" -# $(GCC_DEBUG_FLAGS) if you are using GCC and want lots of checking +# -DLOCALE_HOME=\"path\" if locales are in "path", not "/usr/lib/locale" # -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1 # if you do not want run time warnings about formats that may cause # year 2000 grief +# -Dtime_tz=\"T\" to use T as the time_t type, rather than the system time_t +# -DTZ_DOMAIN=\"foo\" to use "foo" for gettext domain name; default is "tz" +# -TTZ_DOMAINDIR=\"/path\" to use "/path" for gettext directory; +# the default is system-supplied, typically "/usr/lib/locale" +# -DTZDEFRULESTRING=\",date/time,date/time\" to default to the specified # -DNO_ERROR_IN_DST_GAP=1 # if you want mktime() not to return an error in the DST gap. # -DZIC_MAX_ABBR_LEN_WO_WARN=3 # (or some other number) to set the maximum time zone abbreviation length # that zic will accept without a warning (the default is 6) -GCC_DEBUG_FLAGS = -Dlint -g -O3 -fno-common \ - -Wall -Wcast-qual -Wconversion -Wmissing-prototypes \ - -Wnested-externs -Wpointer-arith -Wshadow \ - -Wtraditional # -Wstrict-prototypes -Wwrite-strings +# $(GCC_DEBUG_FLAGS) if you are using GCC and want lots of checking +GCC_DEBUG_FLAGS = -Dlint -g3 -O3 -fno-common -fstrict-aliasing \ + -Wall -Wextra \ + -Wbad-function-cast -Wcast-align -Wcast-qual \ + -Wformat=2 -Winit-self \ + -Wmissing-declarations -Wmissing-noreturn -Wmissing-prototypes \ + -Wnested-externs \ + -Wno-format-nonliteral -Wno-sign-compare -Wno-sign-conversion \ + -Wno-type-limits \ + -Wno-unused-parameter -Woverlength-strings -Wpointer-arith \ + -Wshadow -Wstrict-prototypes -Wsuggest-attribute=const \ + -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wtrampolines \ + -Wwrite-strings # # If you want to use System V compatibility code, add # -DUSG_COMPAT @@ -168,7 +188,7 @@ GCC_DEBUG_FLAGS = -Dlint -g -O3 -fno-common \ # that gives an offset to add to the time_t when converting it. # "timelocal" is equivalent to "mktime". # "timegm" is like "timelocal" except that it turns a struct tm into -# a time_t using UTC (rather than local time as "timelocal" does). +# a time_t using UT (rather than local time as "timelocal" does). # "timeoff" is like "timegm" except that it accepts a second (long) argument # that gives an offset to use when converting to a time_t. # "posix2time" and "time2posix" are described in an included manual page. @@ -177,10 +197,6 @@ GCC_DEBUG_FLAGS = -Dlint -g -O3 -fno-common \ # These functions may well disappear in future releases of the time # conversion package. # -# If you want Source Code Control System ID's left out of object modules, add -# -DNOID -# to the end of the "CFLAGS=" line. -# # If you'll never want to handle solar-time-based time zones, add # -DNOSOLAR # to the end of the "CFLAGS=" line @@ -216,21 +232,30 @@ GCC_DEBUG_FLAGS = -Dlint -g -O3 -fno-common \ # before the first Monday in January when a "%V" format is used and January 1 # falls on a Friday, Saturday, or Sunday. -CFLAGS= -DPCTS +CFLAGS= -DPCTS # LSC: MINIX Strives for posix conformance -# If you want zic's -s option used when installing, uncomment the next line -# ZFLAGS= -s +# Linker flags. Default to $(LFLAGS) for backwards compatibility +# to tzcode2012h and earlier. + +LDFLAGS= $(LFLAGS) zic= ./zic ZIC= $(zic) $(ZFLAGS) +ZFLAGS= + # The name of a Posix-compliant `awk' on your system. -AWK= nawk +AWK= awk + +# The full path name of a Posix-compliant shell that supports the Korn shell's +# 'select' statement, as an extension. These days, Bash is the most popular. +KSHELL= /bin/bash # The path where SGML DTDs are kept. -# The default is appropriate for Ubuntu. +# The default is appropriate for Ubuntu 12.10. SGML_TOPDIR= /usr -SGML_SEARCH_PATH= $(SGML_TOPDIR)/share/xml/xhtml/schema/dtd/REC-html401-19991224 +SGML_DTDDIR= $(SGML_TOPDIR)/share/xml/w3c-sgml-lib/schema/dtd +SGML_SEARCH_PATH= $(SGML_DTDDIR)/REC-html401-19991224 # The catalog file(s) to use when validating. SGML_CATALOG_FILES= HTML4.cat @@ -246,6 +271,17 @@ VALIDATE_ENV = \ SP_CHARSET_FIXED=YES \ SP_ENCODING=UTF-8 +# INVALID_CHAR is a regular expression that matches invalid characters in +# distributed files. For now, stick to a safe subset of ASCII. +# The caller must set the shell variable 'sharp' to the character '#', +# since Makefile macros cannot contain '#'. +# TAB_CHAR is a single tab character, in single quotes. +TAB_CHAR= ' ' +INVALID_CHAR1= $(TAB_CHAR)' !\"'$$sharp'$$%&'\''()*+,./0123456789:;<=>?@' +INVALID_CHAR2= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\^_`' +INVALID_CHAR3= 'abcdefghijklmnopqrstuvwxyz{|}~' +INVALID_CHAR= '[^]'$(INVALID_CHAR1)$(INVALID_CHAR2)$(INVALID_CHAR3)'-]' + # Flags to give 'tar' when making a distribution. # Try to use flags appropriate for GNU tar. GNUTARFLAGS= --numeric-owner --owner=0 --group=0 --mode=go+u,go-w @@ -276,7 +312,8 @@ NEWUCBSRCS= date.c strftime.c SOURCES= $(HEADERS) $(LIBSRCS) $(NONLIBSRCS) $(NEWUCBSRCS) tzselect.ksh MANS= newctime.3 newstrftime.3 newtzset.3 time2posix.3 \ tzfile.5 tzselect.8 zic.8 zdump.8 -DOCS= README Theory $(MANS) date.1 Makefile +COMMON= Makefile +DOCS= README Theory $(MANS) date.1 PRIMARY_YDATA= africa antarctica asia australasia \ europe northamerica southamerica YDATA= $(PRIMARY_YDATA) pacificnew etcetera backward @@ -284,67 +321,78 @@ NDATA= systemv factory SDATA= solar87 solar88 solar89 TDATA= $(YDATA) $(NDATA) $(SDATA) TABDATA= iso3166.tab zone.tab -DATA= $(YDATA) $(NDATA) $(SDATA) $(TABDATA) leapseconds yearistype.sh +DATA= $(YDATA) $(NDATA) $(SDATA) $(TABDATA) \ + leap-seconds.list yearistype.sh WEB_PAGES= tz-art.htm tz-link.htm +AWK_SCRIPTS= checktab.awk leapseconds.awk MISC= usno1988 usno1989 usno1989a usno1995 usno1997 usno1998 \ - $(WEB_PAGES) checktab.awk workman.sh \ + $(WEB_PAGES) $(AWK_SCRIPTS) workman.sh \ zoneinfo2tdf.pl -ENCHILADA= $(DOCS) $(SOURCES) $(DATA) $(MISC) +ENCHILADA= $(COMMON) $(DOCS) $(SOURCES) $(DATA) $(MISC) # And for the benefit of csh users on systems that assume the user # shell should be used to handle commands in Makefiles. . . SHELL= /bin/sh -all: tzselect zic zdump $(LIBOBJS) +all: tzselect zic zdump $(LIBOBJS) $(TABDATA) ALL: all date -install: all $(DATA) $(REDO) $(TZLIB) $(MANS) $(TABDATA) +install: all $(DATA) $(REDO) $(DESTDIR)$(TZLIB) $(MANS) $(ZIC) -y $(YEARISTYPE) \ - -d $(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES) - -rm -f $(TZDIR)/iso3166.tab $(TZDIR)/zone.tab - cp iso3166.tab zone.tab $(TZDIR)/. - -mkdir $(TOPDIR) $(ETCDIR) - cp tzselect zic zdump $(ETCDIR)/. - -mkdir $(TOPDIR) $(MANDIR) \ - $(MANDIR)/man3 $(MANDIR)/man5 $(MANDIR)/man8 - -rm -f $(MANDIR)/man3/newctime.3 \ - $(MANDIR)/man3/newtzset.3 \ - $(MANDIR)/man5/tzfile.5 \ - $(MANDIR)/man8/tzselect.8 \ - $(MANDIR)/man8/zdump.8 \ - $(MANDIR)/man8/zic.8 - cp newctime.3 newtzset.3 $(MANDIR)/man3/. - cp tzfile.5 $(MANDIR)/man5/. - cp tzselect.8 zdump.8 zic.8 $(MANDIR)/man8/. + -d $(DESTDIR)$(TZDIR) -l $(LOCALTIME) -p $(POSIXRULES) + -rm -f $(DESTDIR)$(TZDIR)/iso3166.tab \ + $(DESTDIR)$(TZDIR)/zone.tab + cp iso3166.tab zone.tab $(DESTDIR)$(TZDIR)/. + -mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(ETCDIR) + cp tzselect zic zdump $(DESTDIR)$(ETCDIR)/. + -mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(MANDIR) \ + $(DESTDIR)$(MANDIR)/man3 $(DESTDIR)$(MANDIR)/man5 \ + $(DESTDIR)$(MANDIR)/man8 + -rm -f $(DESTDIR)$(MANDIR)/man3/newctime.3 \ + $(DESTDIR)$(MANDIR)/man3/newtzset.3 \ + $(DESTDIR)$(MANDIR)/man5/tzfile.5 \ + $(DESTDIR)$(MANDIR)/man8/tzselect.8 \ + $(DESTDIR)$(MANDIR)/man8/zdump.8 \ + $(DESTDIR)$(MANDIR)/man8/zic.8 + cp newctime.3 newtzset.3 $(DESTDIR)$(MANDIR)/man3/. + cp tzfile.5 $(DESTDIR)$(MANDIR)/man5/. + cp tzselect.8 zdump.8 zic.8 $(DESTDIR)$(MANDIR)/man8/. INSTALL: ALL install date.1 - -mkdir $(TOPDIR) $(BINDIR) - cp date $(BINDIR)/. - -mkdir $(TOPDIR) $(MANDIR) $(MANDIR)/man1 - -rm -f $(MANDIR)/man1/date.1 - cp date.1 $(MANDIR)/man1/. + -mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(BINDIR) + cp date $(DESTDIR)$(BINDIR)/. + -mkdir $(DESTDIR)$(TOPDIR) $(DESTDIR)$(MANDIR) \ + $(DESTDIR)$(MANDIR)/man1 + -rm -f $(DESTDIR)$(MANDIR)/man1/date.1 + cp date.1 $(DESTDIR)$(MANDIR)/man1/. version.h: - echo >$@ \ - 'static char const TZVERSION[]="tz$(VERSION)";' + (echo 'static char const PKGVERSION[]="($(PACKAGE)) ";' && \ + echo 'static char const TZVERSION[]="$(VERSION)";' && \ + echo 'static char const REPORT_BUGS_TO[]="$(BUGEMAIL)";') >$@ zdump: $(TZDOBJS) - $(CC) $(CFLAGS) $(LFLAGS) $(TZDOBJS) $(LDLIBS) -o $@ + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZDOBJS) $(LDLIBS) zic: $(TZCOBJS) yearistype - $(CC) $(CFLAGS) $(LFLAGS) $(TZCOBJS) $(LDLIBS) -o $@ + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(TZCOBJS) $(LDLIBS) yearistype: yearistype.sh cp yearistype.sh yearistype chmod +x yearistype +leapseconds: leapseconds.awk leap-seconds.list + $(AWK) -f leapseconds.awk leap-seconds.list >$@ + posix_only: zic $(TDATA) - $(ZIC) -y $(YEARISTYPE) -d $(TZDIR) -L /dev/null $(TDATA) + $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \ + -L /dev/null $(TDATA) right_only: zic leapseconds $(TDATA) - $(ZIC) -y $(YEARISTYPE) -d $(TZDIR) -L leapseconds $(TDATA) + $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR) \ + -L leapseconds $(TDATA) # In earlier versions of this makefile, the other two directories were # subdirectories of $(TZDIR). However, this led to configuration errors. @@ -355,36 +403,48 @@ right_only: zic leapseconds $(TDATA) # Therefore, the other two directories are now siblings of $(TZDIR). # You must replace all of $(TZDIR) to switch from not using leap seconds # to using them, or vice versa. -other_two: zic leapseconds $(TDATA) - $(ZIC) -y $(YEARISTYPE) -d $(TZDIR)-posix -L /dev/null $(TDATA) - $(ZIC) -y $(YEARISTYPE) \ - -d $(TZDIR)-leaps -L leapseconds $(TDATA) +right_posix: right_only leapseconds + rm -fr $(DESTDIR)$(TZDIR)-leaps + ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-leaps || \ + $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \ + -L leapseconds $(TDATA) + $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \ + -L /dev/null $(TDATA) -posix_right: posix_only other_two - -right_posix: right_only other_two +posix_right: posix_only leapseconds + rm -fr $(DESTDIR)$(TZDIR)-posix + ln -s $(TZDIR_BASENAME) $(DESTDIR)$(TZDIR)-posix || \ + $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-posix \ + -L /dev/null $(TDATA) + $(ZIC) -y $(YEARISTYPE) -d $(DESTDIR)$(TZDIR)-leaps \ + -L leapseconds $(TDATA) zones: $(REDO) -$(TZLIB): $(LIBOBJS) - -mkdir $(TOPDIR) $(LIBDIR) +$(DESTDIR)$(TZLIB): $(LIBOBJS) + -mkdir -p $(DESTDIR)$(TOPDIR) $(DESTDIR)$(LIBDIR) ar ru $@ $(LIBOBJS) - if [ -x /usr/ucb/ranlib -o -x /usr/bin/ranlib ] ; \ + if [ -x /usr/ucb/ranlib ] || [ -x /usr/bin/ranlib ]; \ then ranlib $@ ; fi date: $(DATEOBJS) - $(CC) $(CFLAGS) date.o localtime.o asctime.o strftime.o \ - $(LDLIBS) -lc -o $@ + $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(DATEOBJS) $(LDLIBS) tzselect: tzselect.ksh sed \ + -e 's|#!/bin/bash|#!$(KSHELL)|g' \ -e 's|AWK=[^}]*|AWK=$(AWK)|g' \ + -e 's|\(PKGVERSION\)=.*|\1='\''($(PACKAGE)) '\''|' \ + -e 's|\(REPORT_BUGS_TO\)=.*|\1=$(BUGEMAIL)|' \ -e 's|TZDIR=[^}]*|TZDIR=$(TZDIR)|' \ - -e 's|\(TZVERSION\)=.*|\1=tz$(VERSION)|' \ + -e 's|\(TZVERSION\)=.*|\1=$(VERSION)|' \ <$? >$@ chmod +x $@ -check: check_tables check_web +check: check_character_set check_tables check_web + +check_character_set: $(ENCHILADA) + sharp='#'; ! grep -n $(INVALID_CHAR) $(ENCHILADA) check_tables: checktab.awk $(PRIMARY_YDATA) $(AWK) -f checktab.awk $(PRIMARY_YDATA) @@ -392,18 +452,23 @@ check_tables: checktab.awk $(PRIMARY_YDATA) check_web: $(WEB_PAGES) $(VALIDATE_ENV) $(VALIDATE) $(VALIDATE_FLAGS) $(WEB_PAGES) -clean: +clean_misc: rm -f core *.o *.out \ - date tzselect version.h zdump zic yearistype + date leapseconds tzselect version.h zdump zic yearistype +clean: clean_misc + rm -f -r tzpublic maintainer-clean: clean @echo 'This command is intended for maintainers to use; it' @echo 'deletes files that may need special tools to rebuild.' - rm -f *.[1-8].txt tzcode*.tar.gz tzdata*.tar.gz + rm -f *.[1-8].txt *.asc *.tar.gz names: @echo $(ENCHILADA) +public: check check_public check_time_t_alternatives \ + set-timestamps tarballs signatures + # Set the time stamps to those of the git repository, if available, # and if the files have not changed since then. # This uses GNU 'touch' syntax 'touch -d@N FILE', @@ -423,31 +488,75 @@ set-timestamps: # The zics below ensure that each data file can stand on its own. # We also do an all-files run to catch links to links. -public: $(ENCHILADA) set-timestamps +check_public: $(ENCHILADA) make maintainer-clean make "CFLAGS=$(GCC_DEBUG_FLAGS)" - mkdir -m go-rwx /tmp/,tzpublic - -for i in $(TDATA) ; do zic -v -d /tmp/,tzpublic $$i 2>&1 | grep -v "starting year" ; done - for i in $(TDATA) ; do zic -d /tmp/,tzpublic $$i || exit; done - zic -v -d /tmp/,tzpublic $(TDATA) || exit - rm -f -r /tmp/,tzpublic + mkdir tzpublic + for i in $(TDATA) ; do \ + $(zic) -v -d tzpublic $$i 2>&1 || exit; \ + done + $(zic) -v -d tzpublic $(TDATA) + rm -f -r tzpublic + +# Check that the code works under various alternative +# implementations of time_t. +check_time_t_alternatives: + mkdir tzpublic + zones=`$(AWK) '/^[^#]/ { print $$3 }' tzpublic/int64_t.out && \ + tzpublic/$$type/etc/zdump -V -t $$range $$zones \ + >tzpublic/$$type.out && \ + diff -u tzpublic/int64_t.out tzpublic/$$type.out \ + || exit; \ + done + rm -f -r tzpublic + +tarballs: tzcode$(VERSION).tar.gz tzdata$(VERSION).tar.gz + +tzcode$(VERSION).tar.gz: $(COMMON) $(DOCS) $(SOURCES) $(MISC) for i in *.[1-8] ; do \ LC_ALL=C sh workman.sh $$i > $$i.txt && \ touch -r $$i $$i.txt || exit; \ done - $(AWK) -f checktab.awk $(PRIMARY_YDATA) LC_ALL=C && export LC_ALL && \ - tar $(TARFLAGS) -cf - $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | \ - gzip $(GZIPFLAGS) > tzcode$(VERSION).tar.gz + tar $(TARFLAGS) -cf - \ + $(COMMON) $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | \ + gzip $(GZIPFLAGS) > $@ + +tzdata$(VERSION).tar.gz: $(COMMON) $(DATA) LC_ALL=C && export LC_ALL && \ - tar $(TARFLAGS) -cf - $(DATA) | \ - gzip $(GZIPFLAGS) > tzdata$(VERSION).tar.gz + tar $(TARFLAGS) -cf - $(COMMON) $(DATA) | \ + gzip $(GZIPFLAGS) > $@ + +signatures: tzcode$(VERSION).tar.gz.asc tzdata$(VERSION).tar.gz.asc + +tzcode$(VERSION).tar.gz.asc: tzcode$(VERSION).tar.gz + gpg --armor --detach-sign $? + +tzdata$(VERSION).tar.gz.asc: tzdata$(VERSION).tar.gz + gpg --armor --detach-sign $? typecheck: make clean - for i in "long long" unsigned double; \ + for i in "long long" unsigned; \ do \ - make CFLAGS="-DTYPECHECK -D_TIME_T \"-Dtime_t=$$i\"" ; \ + make CFLAGS="-DTYPECHECK -D__time_t_defined -D_TIME_T \"-Dtime_t=$$i\"" ; \ ./zdump -v Europe/Rome ; \ make clean ; \ done diff --git a/lib/libc/time/Theory b/lib/libc/time/Theory index e442bcdcc..0b02ddc0e 100644 --- a/lib/libc/time/Theory +++ b/lib/libc/time/Theory @@ -12,16 +12,13 @@ This file is in the public domain, so clarified as of ----- Time and date functions ----- -These time and date functions are upwards compatible with POSIX, +These time and date functions are upwards compatible with those of POSIX, an international standard for UNIX-like systems. As of this writing, the current edition of POSIX is: - Standard for Information technology - -- Portable Operating System Interface (POSIX (R)) - -- System Interfaces - IEEE Std 1003.1, 2004 Edition - - + The Open Group Base Specifications Issue 7 + IEEE Std 1003.1, 2013 Edition + POSIX has the following properties and limitations. @@ -34,7 +31,7 @@ POSIX has the following properties and limitations. The POSIX TZ string takes the following form: - stdoffset[dst[offset],date[/time],date[/time]] + stdoffset[dst[offset][,date[/time],date[/time]]] where: @@ -45,15 +42,17 @@ POSIX has the following properties and limitations. in a quoted form like ""; this allows "+" and "-" in the names. offset - is of the form `[-]hh:[mm[:ss]]' and specifies the - offset west of UTC. The default DST offset is one hour - ahead of standard time. + is of the form '[+-]hh:[mm[:ss]]' and specifies the + offset west of UT. 'hh' may be a single digit; 0<=hh<=24. + The default DST offset is one hour ahead of standard time. date[/time],date[/time] specifies the beginning and end of DST. If this is absent, the system supplies its own rules for DST, and these can differ from year to year; typically US DST rules are used. time - takes the form `hh:[mm[:ss]]' and defaults to 02:00. + takes the form 'hh:[mm[:ss]]' and defaults to 02:00. + This is the same format as the offset, except that a + leading '+' or '-' is not allowed. date takes one of the following forms: Jn (1<=n<=365) @@ -63,8 +62,10 @@ POSIX has the following properties and limitations. Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12) for the dth day of week n of month m of the year, where week 1 is the first week in which day d appears, - and `5' stands for the last week in which day d appears + and '5' stands for the last week in which day d appears (which may be either the 4th or 5th week). + Typically, this is the only useful form; + the n and Jn forms are rarely used. Here is an example POSIX TZ string, for US Pacific time using rules appropriate from 1987 through 2006: @@ -95,6 +96,19 @@ POSIX has the following properties and limitations. * POSIX requires that systems ignore leap seconds. +* The tz code attempts attempts to support all the time_t implementations + allowed by POSIX. The time_t type represents a nonnegative count of + seconds since 1970-01-01 00:00:00 UTC, ignoring leap seconds. + In practice, time_t is usually a signed 64- or 32-bit integer; 32-bit + signed time_t values stop working after 2038-01-19 03:14:07 UTC, so + new implementations these days typically use a signed 64-bit integer. + Unsigned 32-bit integers are used on one or two platforms, + and 36-bit integers are also used occasionally. + Although earlier POSIX versions allowed time_t to be a + floating-point type, this was not supported by any practical + systems, and POSIX.1-2013 and the tz code both require time_t + to be an integer type. + These are the extensions that have been made to the POSIX functions: * The "TZ" environment variable is used in generating the name of a file @@ -146,6 +160,8 @@ These are the extensions that have been made to the POSIX functions: environment variable; portable applications should not, however, rely on this behavior since it's not the way SVR2 systems behave.) +* Negative time_t values are supported, on systems where time_t is signed. + * These functions can account for leap seconds, thanks to Bradley White. Points of interest to folks with other systems: @@ -155,7 +171,7 @@ Points of interest to folks with other systems: On such hosts, the primary use of this package is to update obsolete time zone rule tables. To do this, you may need to compile the time zone compiler - `zic' supplied with this package instead of using the system `zic', + 'zic' supplied with this package instead of using the system 'zic', since the format of zic's input changed slightly in late 1994, and many vendors still do not support the new input format. @@ -173,7 +189,7 @@ Points of interest to folks with other systems: but this functionality was removed in later versions of BSD. * In SVR2, time conversion fails for near-minimum or near-maximum - time_t values when doing conversions for places that don't use UTC. + time_t values when doing conversions for places that don't use UT. This package takes care to do these conversions correctly. The functions that are conditionally compiled if STD_INSPIRED is defined @@ -200,7 +216,10 @@ data, the world is partitioned into regions whose clocks all agree about time stamps that occur after the somewhat-arbitrary cutoff point of the POSIX Epoch (1970-01-01 00:00:00 UTC). For each such region, the database records all known clock transitions, and labels the region -with a notable location. +with a notable location. Although 1970 is a somewhat-arbitrary +cutoff, there are significant challenges to moving the cutoff earlier +even by a decade or two, due to the wide variety of local practices +before computer timekeeping became prevalent. Clock transitions before 1970 are recorded for each such location, because most POSIX-compatible systems support negative time stamps and @@ -210,12 +229,134 @@ applications requiring accurate handling of all past times everywhere, as it would take far too much effort and guesswork to record all details of pre-1970 civil timekeeping. -As noted in the README file, the tz database is not authoritative -(particularly not for pre-1970 time stamps), and it surely has errors. + +----- Accuracy of the tz database ----- + +The tz database is not authoritative, and it surely has errors. Corrections are welcome and encouraged. Users requiring authoritative data should consult national standards bodies and the references cited in the database's comments. +Errors in the tz database arise from many sources: + + * The tz database predicts future time stamps, and current predictions + will be incorrect after future governments change the rules. + For example, if today someone schedules a meeting for 13:00 next + October 1, Casablanca time, and tomorrow Morocco changes its + daylight saving rules, software can mess up after the rule change + if it blithely relies on conversions made before the change. + + * The pre-1970 data in this database cover only a tiny sliver of how + clocks actually behaved; the vast majority of the necessary + information was lost or never recorded. Thousands more zones would + be needed if the tz database's scope were extended to cover even + just the known or guessed history of standard time; for example, + the current single entry for France would need to split into dozens + of entries, perhaps hundreds. + + * Most of the pre-1970 data comes from unreliable sources, often + astrology books that lack citations and whose compilers evidently + invented entries when the true facts were unknown, without + reporting which entries were known and which were invented. + These books often contradict each other or give implausible entries, + and on the rare occasions when their old data are checked they are + typically found to be incorrect. + + * For the UK the tz database relies on years of first-class work done by + Joseph Myers and others; see . + Other countries are not done nearly as well. + + * Sometimes, different people in the same city would maintain clocks + that differed significantly. Railway time was used by railroad + companies (which did not always agree with each other), + church-clock time was used for birth certificates, etc. + Often this was merely common practice, but sometimes it was set by law. + For example, from 1891 to 1911 the UT offset in France was legally + 0:09:21 outside train stations and 0:04:21 inside. + + * Although a named location in the tz database stands for the + containing region, its pre-1970 data entries are often accurate for + only a small subset of that region. For example, Europe/London + stands for the United Kingdom, but its pre-1847 times are valid + only for locations that have London's exact meridian, and its 1847 + transition to GMT is known to be valid only for the L&NW and the + Caledonian railways. + + * The tz database does not record the earliest time for which a + zone's data is thereafter valid for every location in the region. + For example, Europe/London is valid for all locations in its + region after GMT was made the standard time, but the date of + standardization (1880-08-02) is not in the tz database, other than + in commentary. For many zones the earliest time of validity is + unknown. + + * The tz database does not record a region's boundaries, and in many + cases the boundaries are not known. For example, the zone + America/Kentucky/Louisville represents a region around the city of + Louisville, the boundaries of which are unclear. + + * Changes that are modeled as instantaneous transitions in the tz + database were often spread out over hours, days, or even decades. + + * Even if the time is specified by law, locations sometimes + deliberately flout the law. + + * Early timekeeping practices, even assuming perfect clocks, were + often not specified to the accuracy that the tz database requires. + + * Sometimes historical timekeeping was specified more precisely + than what the tz database can handle. For example, from 1909 to + 1937 Netherlands clocks were legally UT+00:19:32.13, but the tz + database cannot represent the fractional second. + + * Even when all the timestamp transitions recorded by the tz database + are correct, the tz rules that generate them may not faithfully + reflect the historical rules. For example, from 1922 until World + War II the UK moved clocks forward the day following the third + Saturday in April unless that was Easter, in which case it moved + clocks forward the previous Sunday. Because the tz database has no + way to specify Easter, these exceptional years are entered as + separate tz Rule lines, even though the legal rules did not change. + + * The tz database models pre-standard time using the Gregorian + calendar and local mean time (LMT), but many people used other + calendars and other timescales. For example, the Roman Empire used + the Julian calendar, and had 12 varying-length daytime hours with a + non-hour-based system at night. + + * Early clocks were less reliable, and the data do not represent this + unreliability. + + * As for leap seconds, civil time was not based on atomic time before + 1972, and we don't know the history of earth's rotation accurately + enough to map SI seconds to historical solar time to more than + about one-hour accuracy. See: Morrison LV, Stephenson FR. + Historical values of the Earth's clock error Delta T and the + calculation of eclipses. J Hist Astron. 2004;35:327-36 + ; + Historical values of the Earth's clock error. J Hist Astron. 2005;36:339 + . + + * The relationship between POSIX time (that is, UTC but ignoring leap + seconds) and UTC is not agreed upon after 1972. Although the POSIX + clock officially stops during an inserted leap second, at least one + proposed standard has it jumping back a second instead; and in + practice POSIX clocks more typically either progress glacially during + a leap second, or are slightly slowed while near a leap second. + + * The tz database does not represent how uncertain its information is. + Ideally it would contain information about when the data are + incomplete or dicey. Partial temporal knowledge is a field of + active research, though, and it's not clear how to apply it here. + +In short, many, perhaps most, of the tz database's pre-1970 and future +time stamps are either wrong or misleading. Any attempt to pass the +tz database off as the definition of time should be unacceptable to +anybody who cares about the facts. In particular, the tz database's +LMT offsets should not be considered meaningful, and should not prompt +creation of zones merely because two locations differ in LMT or +transitioned to standard time at different dates. + ----- Names of time zone rule files ----- @@ -226,7 +367,7 @@ among the following goals: agreed since 1970. This is essential for the intended use: static clocks keeping local civil time. - * Indicate to humans as to where that region is. This simplifes use. + * Indicate to humans as to where that region is. This simplifies use. * Be robust in the presence of political changes. This reduces the number of updates and backward-compatibility hacks. For example, @@ -251,74 +392,88 @@ one example. Names normally have the form AREA/LOCATION, where AREA is the name of a continent or ocean, and LOCATION is the name of a specific location within that region. North and South America share the same -area, `America'. Typical names are `Africa/Cairo', `America/New_York', -and `Pacific/Honolulu'. +area, 'America'. Typical names are 'Africa/Cairo', 'America/New_York', +and 'Pacific/Honolulu'. Here are the general rules used for choosing location names, in decreasing order of importance: Use only valid POSIX file name components (i.e., the parts of - names other than `/'). Within a file name component, - use only ASCII letters, `.', `-' and `_'. Do not use + names other than '/'). Do not use the file name + components '.' and '..'. Within a file name component, + use only ASCII letters, '.', '-' and '_'. Do not use digits, as that might create an ambiguity with POSIX TZ strings. A file name component must not exceed 14 - characters or start with `-'. E.g., prefer `Brunei' - to `Bandar_Seri_Begawan'. - Include at least one location per time zone rule set per country. - One such location is enough. Use ISO 3166 (see the file - iso3166.tab) to help decide whether something is a country. - However, uninhabited ISO 3166 regions like Bouvet Island + characters or start with '-'. E.g., prefer 'Brunei' + to 'Bandar_Seri_Begawan'. + A name must not be empty, or contain '//', or start or end with '/'. + Do not use names that differ only in case. Although the reference + implementation is case-sensitive, some other implementations + are not, and they would mishandle names differing only in case. + If one name A is an initial prefix of another name AB (ignoring case), + then B must not start with '/', as a regular file cannot have + the same name as a directory in POSIX. For example, + 'America/New_York' precludes 'America/New_York/Bronx'. + Uninhabited regions like the North Pole and Bouvet Island do not need locations, since local time is not defined there. - If all the clocks in a country's region have agreed since 1970, + There should typically be at least one name for each ISO 3166-1 + officially assigned two-letter code for an inhabited country + or territory. + If all the clocks in a region have agreed since 1970, don't bother to include more than one location even if subregions' clocks disagreed before 1970. Otherwise these tables would become annoyingly large. If a name is ambiguous, use a less ambiguous alternative; e.g. many cities are named San Jose and Georgetown, so - prefer `Costa_Rica' to `San_Jose' and `Guyana' to `Georgetown'. + prefer 'Costa_Rica' to 'San_Jose' and 'Guyana' to 'Georgetown'. Keep locations compact. Use cities or small islands, not countries or regions, so that any future time zone changes do not split - locations into different time zones. E.g. prefer `Paris' - to `France', since France has had multiple time zones. - Use mainstream English spelling, e.g. prefer `Rome' to `Roma', and - prefer `Athens' to the true name (which uses Greek letters). + locations into different time zones. E.g. prefer 'Paris' + to 'France', since France has had multiple time zones. + Use mainstream English spelling, e.g. prefer 'Rome' to 'Roma', and + prefer 'Athens' to the true name (which uses Greek letters). The POSIX file name restrictions encourage this rule. - Use the most populous among locations in a country's time zone, - e.g. prefer `Shanghai' to `Beijing'. Among locations with + Use the most populous among locations in a zone, + e.g. prefer 'Shanghai' to 'Beijing'. Among locations with similar populations, pick the best-known location, - e.g. prefer `Rome' to `Milan'. - Use the singular form, e.g. prefer `Canary' to `Canaries'. - Omit common suffixes like `_Islands' and `_City', unless that - would lead to ambiguity. E.g. prefer `Cayman' to - `Cayman_Islands' and `Guatemala' to `Guatemala_City', - but prefer `Mexico_City' to `Mexico' because the country + e.g. prefer 'Rome' to 'Milan'. + Use the singular form, e.g. prefer 'Canary' to 'Canaries'. + Omit common suffixes like '_Islands' and '_City', unless that + would lead to ambiguity. E.g. prefer 'Cayman' to + 'Cayman_Islands' and 'Guatemala' to 'Guatemala_City', + but prefer 'Mexico_City' to 'Mexico' because the country of Mexico has several time zones. - Use `_' to represent a space. - Omit `.' from abbreviations in names, e.g. prefer `St_Helena' - to `St._Helena'. + Use '_' to represent a space. + Omit '.' from abbreviations in names, e.g. prefer 'St_Helena' + to 'St._Helena'. Do not change established names if they only marginally violate the above rules. For example, don't change - the existing name `Rome' to `Milan' merely because + the existing name 'Rome' to 'Milan' merely because Milan's population has grown to be somewhat greater than Rome's. - If a name is changed, put its old spelling in the `backward' file. + If a name is changed, put its old spelling in the 'backward' file. + This means old spellings will continue to work. -The file `zone.tab' lists the geographical locations used to name -time zone rule files. It is intended to be an exhaustive list -of canonical names for geographic regions. +The file 'zone.tab' lists geographical locations used to name time +zone rule files. It is intended to be an exhaustive list of names +for geographic regions as described above; this is a subset of the +names in the data. Although a 'zone.tab' location's longitude +corresponds to its LMT offset with one hour for every 15 degrees east +longitude, this relationship is not exact. Older versions of this package used a different naming scheme, and these older names are still supported. -See the file `backward' for most of these older names -(e.g. `US/Eastern' instead of `America/New_York'). +See the file 'backward' for most of these older names +(e.g. 'US/Eastern' instead of 'America/New_York'); +excluding 'backward' should not affect the other data. The other old-fashioned names still supported are -`WET', `CET', `MET', and `EET' (see the file `europe'). +'WET', 'CET', 'MET', and 'EET' (see the file 'europe'). ----- Time zone abbreviations ----- When this package is installed, it generates time zone abbreviations -like `EST' to be compatible with human tradition and POSIX. +like 'EST' to be compatible with human tradition and POSIX. Here are the general rules used for choosing time zone abbreviations, in decreasing order of importance: @@ -345,38 +500,40 @@ in decreasing order of importance: letters. Use abbreviations that are in common use among English-speakers, - e.g. `EST' for Eastern Standard Time in North America. + e.g. 'EST' for Eastern Standard Time in North America. We assume that applications translate them to other languages as part of the normal localization process; for example, - a French application might translate `EST' to `HNE'. + a French application might translate 'EST' to 'HNE'. For zones whose times are taken from a city's longitude, use the - traditional xMT notation, e.g. `PMT' for Paris Mean Time. - The only name like this in current use is `GMT'. + traditional xMT notation, e.g. 'PMT' for Paris Mean Time. + The only name like this in current use is 'GMT'. If there is no common English abbreviation, abbreviate the English translation of the usual phrase used by native speakers. If this is not available or is a phrase mentioning the country - (e.g. ``Cape Verde Time''), then: + (e.g. "Cape Verde Time"), then: - When a country has a single or principal time zone region, - append `T' to the country's ISO code, e.g. `CVT' for - Cape Verde Time. For summer time append `ST'; - for double summer time append `DST'; etc. - When a country has multiple time zones, take the first three - letters of an English place name identifying each zone - and then append `T', `ST', etc. as before; - e.g. `VLAST' for VLAdivostok Summer Time. + When a country is identified with a single or principal zone, + append 'T' to the country's ISO code, e.g. 'CVT' for + Cape Verde Time. For summer time append 'ST'; + for double summer time append 'DST'; etc. + Otherwise, take the first three letters of an English place + name identifying each zone and append 'T', 'ST', etc. + as before; e.g. 'VLAST' for VLAdivostok Summer Time. - Use UTC (with time zone abbreviation "zzz") for locations while - uninhabited. The "zzz" mnemonic is that these locations are, + Use 'LMT' for local mean time of locations before the introduction + of standard time; see "Scope of the tz database". + + Use UT (with time zone abbreviation 'zzz') for locations while + uninhabited. The 'zzz' mnemonic is that these locations are, in some sense, asleep. Application writers should note that these abbreviations are ambiguous -in practice: e.g. `EST' has a different meaning in Australia than +in practice: e.g. 'EST' has a different meaning in Australia than it does in the United States. In new applications, it's often better -to use numeric UTC offsets like `-0500' instead of time zone -abbreviations like `EST'; this avoids the ambiguity. +to use numeric UT offsets like '-0500' instead of time zone +abbreviations like 'EST'; this avoids the ambiguity. ----- Calendrical issues ----- @@ -401,7 +558,7 @@ and (in Paris only) 1871-05-06 through 1871-05-23. Russia From Chris Carrier (1996-12-02): -On 1929-10-01 the Soviet Union instituted an ``Eternal Calendar'' +On 1929-10-01 the Soviet Union instituted an "Eternal Calendar" with 30-day months plus 5 holidays, with a 5-day week. On 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the Gregorian calendar while retaining the 6-day week; on 1940-06-27 it @@ -587,7 +744,8 @@ Sources: Michael Allison and Robert Schmunk, "Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock" - (2004-07-30). + (2012-08-08). Jia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times + (2004-01-14), pp A1, A20-A21. diff --git a/lib/libc/time/asctime.c b/lib/libc/time/asctime.c index 989c47248..e33089c3a 100644 --- a/lib/libc/time/asctime.c +++ b/lib/libc/time/asctime.c @@ -1,4 +1,4 @@ -/* $NetBSD: asctime.c,v 1.15 2012/06/25 22:32:46 abs Exp $ */ +/* $NetBSD: asctime.c,v 1.18 2012/10/28 17:11:33 christos Exp $ */ /* ** This file is in the public domain, so clarified as of @@ -16,7 +16,7 @@ #if 0 static char elsieid[] = "@(#)asctime.c 8.5"; #else -__RCSID("$NetBSD: asctime.c,v 1.15 2012/06/25 22:32:46 abs Exp $"); +__RCSID("$NetBSD: asctime.c,v 1.18 2012/10/28 17:11:33 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -84,27 +84,18 @@ static char buf_asctime[MAX_ASCTIME_BUF_SIZE]; ** A la ISO/IEC 9945-1, ANSI/IEEE Std 1003.1, 2004 Edition. */ -/* -** Big enough for something such as -** ??? ???-2147483648 -2147483648:-2147483648:-2147483648 -2147483648\n -** (two three-character abbreviations, five strings denoting integers, -** three explicit spaces, two explicit colons, a newline, -** and a trailing ASCII nul). -*/ -#define ASCTIME_BUFLEN (3 * 2 + 5 * INT_STRLEN_MAXIMUM(int) + 3 + 2 + 1 + 1) - char * -asctime_r(const struct tm * timeptr, char * buf) +asctime_r(const struct tm *timeptr, char *buf) { - static const char *wday_name[7] = { + static const char wday_name[][3] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; - static const char *mon_name[12] = { + static const char mon_name[][3] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; - register const char * wn; - register const char * mn; + const char * wn; + const char * mn; char year[INT_STRLEN_MAXIMUM(int) + 2]; char result[MAX_ASCTIME_BUF_SIZE]; diff --git a/lib/libc/time/checktab.awk b/lib/libc/time/checktab.awk index 9a36811c3..28cfac574 100644 --- a/lib/libc/time/checktab.awk +++ b/lib/libc/time/checktab.awk @@ -1,4 +1,4 @@ -# $NetBSD: checktab.awk,v 1.5 2012/08/09 12:38:25 christos Exp $ +# $NetBSD: checktab.awk,v 1.6 2013/09/20 19:06:54 christos Exp $ # Check tz tables for consistency. @@ -11,6 +11,9 @@ BEGIN { if (!zone_table) zone_table = "zone.tab" if (!want_warnings) want_warnings = -1 + # A special (and we hope temporary) case. + tztab["America/Montreal"] = 1 + while (getline >"/dev/stderr" - status = 1 - } - tz2cc[tz] = cc - tz2comments[tz] = comments + cctz = cc tz + cctztab[cctz] = 1 + tztab[tz] = 1 + tz2comments[cctz] = comments tz2NR[tz] = zone_NR if (cc2name[cc]) { cc_used[cc]++ @@ -94,16 +94,19 @@ BEGIN { } } - for (tz in tz2cc) { - if (cc_used[tz2cc[tz]] == 1) { - if (tz2comments[tz]) { + for (cctz in cctztab) { + cc = substr (cctz, 1, 2) + tz = substr (cctz, 3) + if (cc_used[cc] == 1) { + if (tz2comments[cctz]) { printf "%s:%d: unnecessary comment `%s'\n", \ - zone_table, tz2NR[tz], tz2comments[tz] \ + zone_table, tz2NR[tz], \ + tz2comments[cctz] \ >>"/dev/stderr" status = 1 } } else { - if (!tz2comments[tz]) { + if (!tz2comments[cctz]) { printf "%s:%d: missing comment\n", \ zone_table, tz2NR[tz] >>"/dev/stderr" status = 1 @@ -127,7 +130,7 @@ BEGIN { if (src != dst) tz = $3 } if (tz && tz ~ /\//) { - if (!tz2cc[tz]) { + if (!tztab[tz]) { printf "%s: no data for `%s'\n", zone_table, tz \ >>"/dev/stderr" status = 1 diff --git a/lib/libc/time/ctime.3 b/lib/libc/time/ctime.3 index f9591c905..cb01eaa3c 100644 --- a/lib/libc/time/ctime.3 +++ b/lib/libc/time/ctime.3 @@ -1,8 +1,8 @@ -.\" $NetBSD: ctime.3,v 1.46 2011/11/02 23:06:08 christos Exp $ +.\" $NetBSD: ctime.3,v 1.48 2013/09/20 19:06:54 christos Exp $ .\" .\" XXX: License missing? .\" -.Dd November 2, 2011 +.Dd September 20, 2013 .Dt CTIME 3 .Os .Sh NAME @@ -96,7 +96,6 @@ function converts a .Vt time_t , pointed to by .Fa clock , -representing the time in seconds since 00:00:00 UTC, 1970-01-01, and returns a pointer to a string with the format described above. Years requiring fewer than four characters are padded with leading zeroes. For years longer than four characters, the string is of the form @@ -108,6 +107,17 @@ with five spaces before the year. These unusual formats are designed to make it less likely that older software that expects exactly 26 bytes of output will mistakenly output misleading values for out-of-range years. +.Pp +The +.Fa clock +time stamp represents the time in seconds since 1970-01-01 00:00:00 +Coordinated Universal Time (UTC). +The POSIX standard says that time stamps must be nonnegative +and must ignore leap seconds. +Many implementations extend POSIX by allowing negative time stamps, +and can therefore represent time stamps that predate the +introduction of UTC and are some other flavor of Universal Time (UT). +Some implementations support leap seconds, in contradiction to POSIX. .It Fn ctime_r "clock" "buf" The .Fn ctime_r @@ -125,7 +135,10 @@ function is similar to but it also takes a .Ft "const timezone_t" argument, as returned by a previous call to -.Fn tzalloc . +.Fn tzalloc , +or a null pointer denoting +Coordinated Universal Time +.Pq Tn UTC . .It Fn difftime "time1" "time2" The .Fn difftime @@ -189,7 +202,10 @@ function is similar to but it also takes a .Ft "const timezone_t" argument, returned by a previous call to -.Fn tzalloc . +.Fn tzalloc , +or a null pointer denoting +Coordinated Universal Time +.Pq Tn UTC . .It Fn mktime "tm" The .Fn mktime @@ -266,7 +282,10 @@ function is similar to but it also takes a .Ft "const timezone_t" argument, returned by a previous call to -.Fn tzalloc . +.Fn tzalloc , +or a null pointer denoting +Coordinated Universal Time +.Pq Tn UTC . .It Fn tzalloc "zone" The .Fn tzalloc @@ -279,6 +298,12 @@ and .Fn mktime_z functions. .Pp +A null pointer may be passed to +.Fn tzalloc +instead of a timezone name, to refer to +Coordinated Universal Time +.Pq Tn UTC . +.Pp Note that instead of setting the environment variable .Va TZ , and globally changing the behavior of the calling program, one can use @@ -314,6 +339,48 @@ is set to the call is equivalent to .Va tzname[1] . .El +.Pp +Declarations of all the functions and externals, and the +.Ft tm +structure, are in the +.In time.h +header file. +The structure (of type) +.Ft struct tm +includes the following fields: +.Bd -literal + int tm_sec; /* seconds (0 - 60) */ + int tm_min; /* minutes (0 - 59) */ + int tm_hour; /* hours (0 - 23) */ + int tm_mday; /* day of month (1 - 31) */ + int tm_mon; /* month of year (0 - 11) */ + int tm_year; /* year - 1900 */ + int tm_wday; /* day of week (Sunday = 0) */ + int tm_yday; /* day of year (0 - 365) */ + int tm_isdst; /* is summer time in effect? */ + char *tm_zone; /* abbreviation of timezone name */ + long tm_gmtoff; /* offset from UT in seconds */ +.Ed +.Pp +The +.Fa tm_zone +and +.Fa tm_gmtoff +fields exist, and are filled in, only if +arrangements to do so were made when the library containing these functions +was created. +There is no guarantee that these fields will continue to exist in this form +in future releases of this code. +.Bl -bullet +.It +.Va tm_isdst +is non-zero if summer time is in effect. +.It +.Va tm_gmtoff +is the offset (in seconds) of the time represented from UT, +with positive values indicating east of the Prime Meridian. +The field's name is derived from Greenwich Mean Time, a precursor of UT. +.El .Sh RETURN VALUES .Bl -bullet .It @@ -376,6 +443,15 @@ object or on failure, setting .Va errno to indicate the error. +It may also return +.Dv NULL +when the +.Fa name +argument is +.Dv NULL , +and this is not an error, but a way of referring to +Coordinated Universal Time +.Pq Tn UTC . .It .Fn tzgetzone function returns string containing the name of the timezone given in diff --git a/lib/libc/time/difftime.c b/lib/libc/time/difftime.c index 0849bc856..a87c9c89b 100644 --- a/lib/libc/time/difftime.c +++ b/lib/libc/time/difftime.c @@ -1,4 +1,4 @@ -/* $NetBSD: difftime.c,v 1.11 2012/03/20 16:39:08 matt Exp $ */ +/* $NetBSD: difftime.c,v 1.15 2013/09/20 19:06:54 christos Exp $ */ /* ** This file is in the public domain, so clarified as of @@ -10,45 +10,35 @@ #if 0 static char elsieid[] = "@(#)difftime.c 8.1"; #else -__RCSID("$NetBSD: difftime.c,v 1.11 2012/03/20 16:39:08 matt Exp $"); +__RCSID("$NetBSD: difftime.c,v 1.15 2013/09/20 19:06:54 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ /*LINTLIBRARY*/ -#include "private.h" /* for time_t, TYPE_INTEGRAL, and TYPE_SIGNED */ +#include "private.h" /* for time_t and TYPE_SIGNED */ -double +double ATTRIBUTE_CONST difftime(const time_t time1, const time_t time0) { /* ** If (sizeof (double) > sizeof (time_t)) simply convert and subtract ** (assuming that the larger type has more precision). - ** This is the common real-world case circa 2004. */ -/* LINTED constant */ + /*CONSTCOND*/ if (sizeof (double) > sizeof (time_t)) return (double) time1 - (double) time0; -/* LINTED constant */ - if (!TYPE_INTEGRAL(time_t)) { - /* - ** time_t is floating. - */ - return time1 - time0; - } -/* LINTED constant */ + /*LINTED const not */ if (!TYPE_SIGNED(time_t)) { /* - ** time_t is integral and unsigned. ** The difference of two unsigned values can't overflow ** if the minuend is greater than or equal to the subtrahend. */ if (time1 >= time0) - return time1 - time0; - else return -((double) (time0 - time1)); + return time1 - time0; + else return -(double) (time0 - time1); } /* - ** time_t is integral and signed. ** Handle cases where both time1 and time0 have the same sign ** (meaning that their difference cannot overflow). */ @@ -56,21 +46,17 @@ difftime(const time_t time1, const time_t time0) return time1 - time0; /* ** time1 and time0 have opposite signs. - ** Punt if unsigned long is too narrow. + ** Punt if uintmax_t is too narrow. + ** This suffers from double rounding; attempt to lessen that + ** by using long double temporaries. */ -/* CONSTCOND */ - if (sizeof (unsigned long) < sizeof (time_t)) + /* CONSTCOND */ + if (sizeof (uintmax_t) < sizeof (time_t)) return (double) time1 - (double) time0; /* ** Stay calm...decent optimizers will eliminate the complexity below. */ if (time1 >= 0 /* && time0 < 0 */) - return (unsigned long) time1 + - (unsigned long) (-(time0 + 1)) + 1; - return -(double) ((unsigned long) time0 + - (unsigned long) (-(time1 + 1)) + 1); + return (uintmax_t) time1 + (uintmax_t) (-(time0 + 1)) + 1; + return -(double) ((uintmax_t) time0 + (uintmax_t) (-(time1 + 1)) + 1); } - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(difftime, __difftime50) -#endif diff --git a/lib/libc/time/getdate.3 b/lib/libc/time/getdate.3 index b304f94fc..f8d4576ea 100644 --- a/lib/libc/time/getdate.3 +++ b/lib/libc/time/getdate.3 @@ -1,6 +1,6 @@ -.\" $NetBSD: getdate.3,v 1.2 2011/04/14 05:50:49 jruoho Exp $ +.\" $NetBSD: getdate.3,v 1.8 2012/12/14 23:26:17 uwe Exp $ .\" -.\" Copyright (c) 2009, The NetBSD Foundation. +.\" Copyright (c) 2009, 2011, 2012, The NetBSD Foundation. .\" All Rights Reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 14, 2011 +.Dd December 14, 2012 .Dt GETDATE 3 .Os .Sh NAME @@ -49,7 +49,7 @@ The function converts a date or time character string pointed to by .Fa str into a static -.Va tm +.Vt tm structure described in .Xr tm 3 . .Pp @@ -83,7 +83,7 @@ If only the year is given, the values of the and .Fa tm_isdst members of the returned -.Va "struct tm" +.Vt "struct tm" are unspecified. .It If the century is given, but the year within the century is not given, @@ -105,7 +105,7 @@ environment timezone. If successful, the .Fn getdate function returns a pointer to a static -.Va tm +.Vt tm structure containing the broken-down time. Otherwise, a null pointer is returned and .Va getdate_err @@ -131,10 +131,9 @@ Cannot allocate memory. .It 7 Input string does not match any line in the template file. .It 8 -Input string is invalid -.Pq for example February 31 +Input string is invalid (for example, February 31) or could not be represented in a -.Va time_t . +.Vt time_t . .El .Sh ENVIRONMENT .Bl -tag -width DATEMSK @@ -169,7 +168,7 @@ The following are examples of valid input for the above template: .Bd -literal -offset indent -compact 10/1/87 4 PM Friday -Firday September 18, 1987, 10:30:30 +Friday September 18, 1987, 10:30:30 24,9,1986 10:30 at monday the 1st of december in 1986 run job at 3 PM, december 2nd @@ -178,12 +177,12 @@ run job at 3 PM, december 2nd The following examples show how local data and time specification can be defined in the template. .Pp -.Bl -column -offset indent ".Sy Input String" ".Sy Line in Template" +.Bl -column -offset indent ".Li Friday 12:00:00" ".Sy Line in Template" .It Sy "Input String" Ta Sy "Line in Template" .It Li 11/27/86 Ta Li \&%m/\&%d/\&%y -.It Li 27.11.86 Ta Li \&%d.\&%m/\&%y +.It Li 27.11.86 Ta Li \&%d.\&%m.\&%y .It Li 86-11-27 Ta Li \&%y-\&%m-\&%d -.It Li "Friday 12:00:00" Ta "\&%A \&%H:\&%M:\&%S" +.It Li "Friday 12:00:00" Ta Li "\&%A \&%H:\&%M:\&%S" .El .Pp The following examples illustrate the Internal Format Conversion rules @@ -193,17 +192,17 @@ and the .Ev LC_TIME environment variable is set to the default C locale. .Pp -.Bl -column -offset indent ".Sy Input String" ".Sy Line in Template" ".Sy Date" +.Bl -column -offset indent ".Li Jan Wed 1989" ".Sy Line in Template" ".Sy Date" .It Sy Input String Ta Sy Line in Template Ta Sy Date .It Li Mon Ta Li \&%a Ta Li "Mon Sep 22 12:19:47 EDT 1986" .It Li Sun Ta Li \&%a Ta Li "Sun Sep 28 12:19:47 EDT 1986" -.It Li Fri Ta Li \&%a Ta Li "Sun Sep 26 12:19:47 EDT 1986" +.It Li Fri Ta Li \&%a Ta Li "Fri Sep 26 12:19:47 EDT 1986" .It Li September Ta Li \&%B Ta Li "Mon Sep 1 12:19:47 EDT 1986" .It Li January Ta Li \&%B Ta Li "Thu Jan 1 12:19:47 EST 1987" -.It Li December Ta Li \&%B Ta Li "Mon Dec 1 12:19:47 EST 1987" +.It Li December Ta Li \&%B Ta Li "Mon Dec 1 12:19:47 EST 1986" .It Li "Sep Mon" Ta Li "\&%b %a" Ta Li "Mon Sep 1 12:19:47 EDT 1986" -.It Li "Jan Fri" Ta Li "\&%b %a" Ta Li "Fri Jan 2 12:19:47 EDT 1987" -.It Li "Dec Mon" Ta Li "\&%b %a" Ta Li "Mon Dec 1 12:19:47 EDT 1986" +.It Li "Jan Fri" Ta Li "\&%b %a" Ta Li "Fri Jan 2 12:19:47 EST 1987" +.It Li "Dec Mon" Ta Li "\&%b %a" Ta Li "Mon Dec 1 12:19:47 EST 1986" .It Li "Jan Wed 1989" Ta Li "\&%b \&%a \&%Y" Ta Li "Wed Jan 4 12:19:47 EST 1989" .It Li "Fri 9" Ta Li "\&%a \&%H" Ta Li "Fri Sep 26 09:00:00 EDT 1986" .It Li "Feb 10:30" Ta Li "\&%b \&%H:\&%S" Ta Li "Sun Feb 1 10:00:30 EST 1987" diff --git a/lib/libc/time/ialloc.c b/lib/libc/time/ialloc.c index 949631fb9..5b7dfe024 100644 --- a/lib/libc/time/ialloc.c +++ b/lib/libc/time/ialloc.c @@ -1,4 +1,4 @@ -/* $NetBSD: ialloc.c,v 1.7 2010/01/02 10:42:49 tsutsui Exp $ */ +/* $NetBSD: ialloc.c,v 1.9 2012/10/26 18:29:34 christos Exp $ */ /* ** This file is in the public domain, so clarified as of ** 2006-07-17 by Arthur David Olson. @@ -13,47 +13,16 @@ #if 0 static char elsieid[] = "@(#)ialloc.c 8.30"; #else -__RCSID("$NetBSD: ialloc.c,v 1.7 2010/01/02 10:42:49 tsutsui Exp $"); +__RCSID("$NetBSD: ialloc.c,v 1.9 2012/10/26 18:29:34 christos Exp $"); #endif #include "private.h" -#define nonzero(n) (((n) == 0) ? 1 : (n)) - char * -imalloc(n) -const int n; +icatalloc(char *const old, const char *const new) { - return malloc((size_t) nonzero(n)); -} - -char * -icalloc(nelem, elsize) -int nelem; -int elsize; -{ - if (nelem == 0 || elsize == 0) - nelem = elsize = 1; - return calloc((size_t) nelem, (size_t) elsize); -} - -void * -irealloc(pointer, size) -void * const pointer; -const int size; -{ - if (pointer == NULL) - return imalloc(size); - return realloc((void *) pointer, (size_t) nonzero(size)); -} - -char * -icatalloc(old, new) -char * const old; -const char * const new; -{ - register char * result; - register int oldsize, newsize; + char * result; + int oldsize, newsize; newsize = (new == NULL) ? 0 : strlen(new); if (old == NULL) @@ -62,31 +31,14 @@ const char * const new; return old; else oldsize = strlen(old); - if ((result = irealloc(old, oldsize + newsize + 1)) != NULL) + if ((result = realloc(old, oldsize + newsize + 1)) != NULL) if (new != NULL) (void) strcpy(result + oldsize, new); /* XXX strcpy is safe */ return result; } char * -icpyalloc(string) -const char * const string; +icpyalloc(const char *const string) { - return icatalloc((char *) NULL, string); -} - -void -ifree(p) -char * const p; -{ - if (p != NULL) - (void) free(p); -} - -void -icfree(p) -char * const p; -{ - if (p != NULL) - (void) free(p); + return icatalloc(NULL, string); } diff --git a/lib/libc/time/localtime.c b/lib/libc/time/localtime.c index ec46c2171..ef48c93bf 100644 --- a/lib/libc/time/localtime.c +++ b/lib/libc/time/localtime.c @@ -1,4 +1,4 @@ -/* $NetBSD: localtime.c,v 1.67 2012/03/20 16:39:08 matt Exp $ */ +/* $NetBSD: localtime.c,v 1.78 2013/09/20 19:06:54 christos Exp $ */ /* ** This file is in the public domain, so clarified as of @@ -10,7 +10,7 @@ #if 0 static char elsieid[] = "@(#)localtime.c 8.17"; #else -__RCSID("$NetBSD: localtime.c,v 1.67 2012/03/20 16:39:08 matt Exp $"); +__RCSID("$NetBSD: localtime.c,v 1.78 2013/09/20 19:06:54 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -22,6 +22,7 @@ __RCSID("$NetBSD: localtime.c,v 1.67 2012/03/20 16:39:08 matt Exp $"); /*LINTLIBRARY*/ #include "namespace.h" +#include #include "private.h" #include "tzfile.h" #include "fcntl.h" @@ -32,8 +33,6 @@ __weak_alias(daylight,_daylight) __weak_alias(tzname,_tzname) #endif -#include "float.h" /* for FLT_MAX and DBL_MAX */ - #ifndef TZ_ABBR_MAX_LEN #define TZ_ABBR_MAX_LEN 16 #endif /* !defined TZ_ABBR_MAX_LEN */ @@ -83,7 +82,7 @@ __weak_alias(tzname,_tzname) static const char wildabbr[] = WILDABBR; -static char gmt[] = "GMT"; +static const char gmt[] = "GMT"; /* ** The DST rules to use if TZ has no rules and we can't load TZDEFRULES. @@ -97,16 +96,16 @@ static char gmt[] = "GMT"; #endif /* !defined TZDEFDST */ struct ttinfo { /* time type information */ - long tt_gmtoff; /* UTC offset in seconds */ + int_fast32_t tt_gmtoff; /* UT offset in seconds */ int tt_isdst; /* used to set tm_isdst */ int tt_abbrind; /* abbreviation list index */ int tt_ttisstd; /* TRUE if transition is std time */ - int tt_ttisgmt; /* TRUE if transition is UTC */ + int tt_ttisgmt; /* TRUE if transition is UT */ }; struct lsinfo { /* leap second information */ time_t ls_trans; /* transition time */ - long ls_corr; /* correction to apply */ + int_fast64_t ls_corr; /* correction to apply */ }; #define BIGGEST(a, b) (((a) > (b)) ? (a) : (b)) @@ -128,9 +127,10 @@ struct __state { time_t ats[TZ_MAX_TIMES]; unsigned char types[TZ_MAX_TIMES]; struct ttinfo ttis[TZ_MAX_TYPES]; - char chars[/*CONSTCOND*/BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, sizeof gmt), - (2 * (MY_TZNAME_MAX + 1)))]; + char chars[/*CONSTCOND*/BIGGEST(BIGGEST(TZ_MAX_CHARS + 1, + sizeof gmt), (2 * (MY_TZNAME_MAX + 1)))]; struct lsinfo lsis[TZ_MAX_LEAPS]; + int defaulttype; /* for early times or if no transitions */ }; struct rule { @@ -138,7 +138,7 @@ struct rule { int r_day; /* day number of rule */ int r_week; /* week number of rule */ int r_mon; /* month number of rule */ - long r_time; /* transition time of rule */ + int_fast32_t r_time; /* transition time of rule */ }; #define JULIAN_DAY 0 /* Jn - Julian day */ @@ -146,49 +146,50 @@ struct rule { #define MONTH_NTH_DAY_OF_WEEK 2 /* Mm.n.d - month, week, day of week */ typedef struct tm *(*subfun_t)(const timezone_t sp, const time_t *timep, - long offset, struct tm *tmp); + const int_fast32_t offset, struct tm *tmp); /* ** Prototypes for static functions. */ -static long detzcode(const char * codep); +static int_fast32_t detzcode(const char * codep); static time_t detzcode64(const char * codep); static int differ_by_repeat(time_t t1, time_t t0); -static const char * getzname(const char * strp); -static const char * getqzname(const char * strp, const int delim); +static const char * getzname(const char * strp) ATTRIBUTE_PURE; +static const char * getqzname(const char * strp, const int delim) ATTRIBUTE_PURE; static const char * getnum(const char * strp, int * nump, int min, int max); -static const char * getsecs(const char * strp, long * secsp); -static const char * getoffset(const char * strp, long * offsetp); +static const char * getsecs(const char * strp, int_fast32_t * secsp); +static const char * getoffset(const char * strp, int_fast32_t * offsetp); static const char * getrule(const char * strp, struct rule * rulep); static void gmtload(timezone_t sp); static struct tm * gmtsub(const timezone_t sp, const time_t *timep, - long offset, struct tm * tmp); + const int_fast32_t offset, struct tm * tmp); static struct tm * localsub(const timezone_t sp, const time_t *timep, - long offset, struct tm *tmp); + const int_fast32_t offset, struct tm *tmp); static int increment_overflow(int * number, int delta); -static int leaps_thru_end_of(int y); -static int long_increment_overflow(long * number, int delta); -static int long_normalize_overflow(long * tensptr, - int * unitsptr, int base); +static int increment_overflow32(int_fast32_t * number, int delta); +static int leaps_thru_end_of(int y) ATTRIBUTE_PURE; static int normalize_overflow(int * tensptr, int * unitsptr, int base); +static int normalize_overflow32(int_fast32_t * tensptr, + int * unitsptr, int base); static void settzname(void); static time_t time1(const timezone_t sp, struct tm * const tmp, - subfun_t funcp, long offset); + subfun_t funcp, const int_fast32_t offset); static time_t time2(const timezone_t sp, struct tm * const tmp, subfun_t funcp, - const long offset, int *const okayp); -static time_t time2sub(const timezone_t sp, struct tm * consttmp, - subfun_t funcp, const long offset, + const int_fast32_t offset, int *const okayp); +static time_t time2sub(const timezone_t sp, struct tm * const tmp, + subfun_t funcp, const int_fast32_t offset, int *const okayp, const int do_norm_secs); static struct tm * timesub(const timezone_t sp, const time_t * timep, - long offset, struct tm * tmp); + const int_fast32_t offset, struct tm * tmp); static int tmcomp(const struct tm * atmp, const struct tm * btmp); static time_t transtime(time_t janfirst, int year, - const struct rule * rulep, long offset); + const struct rule * rulep, + const int_fast32_t offset) ATTRIBUTE_PURE; static int typesequiv(const timezone_t sp, int a, int b); static int tzload(timezone_t sp, const char * name, int doextend); @@ -196,7 +197,7 @@ static int tzparse(timezone_t sp, const char * name, int lastditch); static void tzset_unlocked(void); static void tzsetwall_unlocked(void); -static long leapcorr(const timezone_t sp, time_t * timep); +static int_fast64_t leapcorr(const timezone_t sp, time_t * timep); static timezone_t lclptr; static timezone_t gmtptr; @@ -250,13 +251,13 @@ extern long timezone __RENAME(__timezone13); time_t altzone = 0; #endif /* defined ALTZONE */ -static long +static int_fast32_t detzcode(const char *const codep) { - long result; + int_fast32_t result; int i; - result = (codep[0] & 0x80) ? ~0L : 0; + result = (codep[0] & 0x80) ? -1 : 0; for (i = 0; i < 4; ++i) result = (result << 8) | (codep[i] & 0xff); return result; @@ -268,7 +269,7 @@ detzcode64(const char *const codep) time_t result; int i; - result = (codep[0] & 0x80) ? -1 : 0; + result = (time_t)((codep[0] & 0x80) ? (~(int_fast64_t) 0) : 0); for (i = 0; i < 8; ++i) result = result * 256 + (codep[i] & 0xff); return result; @@ -337,8 +338,7 @@ settzname(void) for (i = 0; i < sp->typecnt; ++i) { const struct ttinfo * const ttisp = &sp->ttis[i]; - tzname[ttisp->tt_isdst] = - &sp->chars[ttisp->tt_abbrind]; + tzname[ttisp->tt_isdst] = &sp->chars[ttisp->tt_abbrind]; #ifdef USG_COMPAT if (ttisp->tt_isdst) daylight = 1; @@ -346,7 +346,7 @@ settzname(void) timezone = -(ttisp->tt_gmtoff); #endif /* defined USG_COMPAT */ #ifdef ALTZONE - if (i == 0 || ttisp->tt_isdst) + if (ttisp->tt_isdst) altzone = -(ttisp->tt_gmtoff); #endif /* defined ALTZONE */ } @@ -356,10 +356,8 @@ settzname(void) static int differ_by_repeat(const time_t t1, const time_t t0) { -/* CONSTCOND */ - if (TYPE_INTEGRAL(time_t) && - TYPE_BIT(time_t) - TYPE_SIGNED(time_t) < SECSPERREPEAT_BITS) - return 0; + if (TYPE_BIT(time_t) - TYPE_SIGNED(time_t) < SECSPERREPEAT_BITS) + return 0; return (int_fast64_t)t1 - (int_fast64_t)t0 == SECSPERREPEAT; } @@ -524,21 +522,31 @@ tzload(timezone_t sp, const char *name, const int doextend) ** signed time_t system but using a data file with ** unsigned values (or vice versa). */ - for (i = 0; i < sp->timecnt - 2; ++i) - if (sp->ats[i] > sp->ats[i + 1]) { - ++i; -/* CONSTCOND */ + for (i = 0; i < sp->timecnt; ++i) + if ((i < sp->timecnt - 1 && + sp->ats[i] > sp->ats[i + 1]) || + (i == sp->timecnt - 1 && !TYPE_SIGNED(time_t) && + sp->ats[i] > + ((stored == 4) ? INT32_MAX : INT64_MAX))) { if (TYPE_SIGNED(time_t)) { /* ** Ignore the end (easy). */ - sp->timecnt = i; + sp->timecnt = i + 1; } else { /* ** Ignore the beginning (harder). */ int j; + /* + ** Keep the record right before the + ** epoch boundary, + ** but tweak it so that it starts + ** right with the epoch + ** (thanks to Doug Bailey). + */ + sp->ats[i] = 0; for (j = 0; j + i < sp->timecnt; ++j) { sp->ats[j] = sp->ats[j + i]; sp->types[j] = sp->types[j + i]; @@ -556,11 +564,9 @@ tzload(timezone_t sp, const char *name, const int doextend) for (i = 0; i < nread; ++i) up->buf[i] = p[i]; /* - ** If this is a narrow integer time_t system, we're done. + ** If this is a narrow time_t system, we're done. */ - if (stored >= (int) sizeof(time_t) -/* CONSTCOND */ - && TYPE_INTEGRAL(time_t)) + if (stored >= (int) sizeof(time_t)) break; } if (doextend && nread > 2 && @@ -614,6 +620,40 @@ tzload(timezone_t sp, const char *name, const int doextend) break; } } + /* + ** If type 0 is is unused in transitions, + ** it's the type to use for early times. + */ + for (i = 0; i < sp->typecnt; ++i) + if (sp->types[i] == 0) + break; + i = (i >= sp->typecnt) ? 0 : -1; + /* + ** Absent the above, + ** if there are transition times + ** and the first transition is to a daylight time + ** find the standard type less than and closest to + ** the type of the first transition. + */ + if (i < 0 && sp->timecnt > 0 && sp->ttis[sp->types[0]].tt_isdst) { + i = sp->types[0]; + while (--i >= 0) + if (!sp->ttis[i].tt_isdst) + break; + } + /* + ** If no result yet, find the first standard type. + ** If there is none, punt to type zero. + */ + if (i < 0) { + i = 0; + while (sp->ttis[i].tt_isdst) + if (++i >= sp->typecnt) { + i = 0; + break; + } + } + sp->defaulttype = i; free(up); return 0; oops: @@ -696,7 +736,7 @@ getqzname(const char *strp, const int delim) */ static const char * -getnum(const char *strp, int * const nump, const int min, const int max) +getnum(const char *strp, int *const nump, const int min, const int max) { char c; int num; @@ -731,7 +771,7 @@ getnum(const char *strp, int * const nump, const int min, const int max) */ static const char * -getsecs(const char *strp, long *const secsp) +getsecs(const char *strp, int_fast32_t *const secsp) { int num; @@ -744,7 +784,7 @@ getsecs(const char *strp, long *const secsp) strp = getnum(strp, &num, 0, HOURSPERDAY * DAYSPERWEEK - 1); if (strp == NULL) return NULL; - *secsp = num * (long) SECSPERHOUR; + *secsp = num * (int_fast32_t) SECSPERHOUR; if (*strp == ':') { ++strp; strp = getnum(strp, &num, 0, MINSPERHOUR - 1); @@ -771,7 +811,7 @@ getsecs(const char *strp, long *const secsp) */ static const char * -getoffset(const char *strp, long *const offsetp) +getoffset(const char *strp, int_fast32_t *const offsetp) { int neg = 0; @@ -836,20 +876,20 @@ getrule(const char *strp, struct rule *const rulep) ** Time specified. */ ++strp; - strp = getsecs(strp, &rulep->r_time); + strp = getoffset(strp, &rulep->r_time); } else rulep->r_time = 2 * SECSPERHOUR; /* default = 2:00:00 */ return strp; } /* ** Given the Epoch-relative time of January 1, 00:00:00 UTC, in a year, the -** year, a rule, and the offset from UTC at the time that rule takes effect, +** year, a rule, and the offset from UT at the time that rule takes effect, ** calculate the Epoch-relative time that rule takes effect. */ static time_t transtime(const time_t janfirst, const int year, const struct rule *const rulep, - const long offset) + const int_fast32_t offset) { int leapyear; time_t value; @@ -926,10 +966,10 @@ transtime(const time_t janfirst, const int year, const struct rule *const rulep, } /* - ** "value" is the Epoch-relative time of 00:00:00 UTC on the day in + ** "value" is the Epoch-relative time of 00:00:00 UT on the day in ** question. To get the Epoch-relative time of the specified local ** time on that day, add the transition time and the current offset - ** from UTC. + ** from UT. */ return (time_t)(value + rulep->r_time + offset); } @@ -942,14 +982,14 @@ transtime(const time_t janfirst, const int year, const struct rule *const rulep, static int tzparse(timezone_t sp, const char *name, const int lastditch) { - const char * stdname; - const char * dstname; - size_t stdlen; - size_t dstlen; - long stdoffset; - long dstoffset; + const char * stdname; + const char * dstname; + size_t stdlen; + size_t dstlen; + int_fast32_t stdoffset; + int_fast32_t dstoffset; time_t * atp; - unsigned char * typep; + unsigned char * typep; char * cp; int load_result; @@ -1006,8 +1046,9 @@ tzparse(timezone_t sp, const char *name, const int lastditch) if (*name == ',' || *name == ';') { struct rule start; struct rule end; - int year; - time_t janfirst; + int year; + int yearlim; + time_t janfirst; time_t starttime; time_t endtime; @@ -1035,46 +1076,56 @@ tzparse(timezone_t sp, const char *name, const int lastditch) typep = sp->types; janfirst = 0; sp->timecnt = 0; - for (year = EPOCH_YEAR; - sp->timecnt + 2 <= TZ_MAX_TIMES; - ++year) { - time_t newfirst; + yearlim = EPOCH_YEAR + YEARSPERREPEAT; + for (year = EPOCH_YEAR; year < yearlim; year++) { + int_fast32_t yearsecs; starttime = transtime(janfirst, year, &start, stdoffset); endtime = transtime(janfirst, year, &end, dstoffset); - if (starttime > endtime) { - *atp++ = endtime; - *typep++ = 1; /* DST ends */ - *atp++ = starttime; - *typep++ = 0; /* DST begins */ - } else { - *atp++ = starttime; - *typep++ = 0; /* DST begins */ - *atp++ = endtime; - *typep++ = 1; /* DST ends */ + yearsecs = (year_lengths[isleap(year)] + * SECSPERDAY); + if (starttime > endtime + || (starttime < endtime + && (endtime - starttime + < (yearsecs + + (stdoffset - dstoffset))))) { + if (&sp->ats[TZ_MAX_TIMES - 2] < atp) + break; + yearlim = year + YEARSPERREPEAT + 1; + if (starttime > endtime) { + *atp++ = endtime; + *typep++ = 1; /* DST ends */ + *atp++ = starttime; + *typep++ = 0; /* DST begins */ + } else { + *atp++ = starttime; + *typep++ = 0; /* DST begins */ + *atp++ = endtime; + *typep++ = 1; /* DST ends */ + } } - sp->timecnt += 2; - newfirst = janfirst; - newfirst += (time_t) - (year_lengths[isleap(year)] * SECSPERDAY); - if (newfirst <= janfirst) + if (time_t_max - janfirst < yearsecs) break; - janfirst = newfirst; + janfirst += yearsecs; } + _DIAGASSERT(__type_fit(int, atp - sp->ats)); + sp->timecnt = (int)(atp - sp->ats); + if (!sp->timecnt) + sp->typecnt = 1; /* Perpetual DST. */ } else { - long theirstdoffset; - long theirdstoffset; - long theiroffset; - int isdst; - int i; - int j; + int_fast32_t theirstdoffset; + int_fast32_t theirdstoffset; + int_fast32_t theiroffset; + int isdst; + int i; + int j; if (*name != '\0') return -1; /* - ** Initial values of theirstdoffset + ** Initial values of theirstdoffset and theirdstoffset. */ theirstdoffset = 0; for (i = 0; i < sp->timecnt; ++i) { @@ -1138,6 +1189,7 @@ tzparse(timezone_t sp, const char *name, const int lastditch) } /* ** Finally, fill in ttis. + ** ttisstd and ttisgmt need not be handled */ memset(sp->ttis, 0, sizeof(sp->ttis)); sp->ttis[0].tt_gmtoff = -stdoffset; @@ -1247,11 +1299,8 @@ void tzset_unlocked(void) { const char * name; - int saveerrno; - saveerrno = errno; name = getenv("TZ"); - errno = saveerrno; if (name == NULL) { tzsetwall_unlocked(); return; @@ -1264,7 +1313,7 @@ tzset_unlocked(void) (void)strlcpy(lcl_TZname, name, sizeof(lcl_TZname)); if (lclptr == NULL) { - saveerrno = errno; + int saveerrno = errno; lclptr = calloc(1, sizeof *lclptr); errno = saveerrno; if (lclptr == NULL) { @@ -1308,7 +1357,7 @@ tzset(void) /*ARGSUSED*/ static struct tm * -localsub(const timezone_t sp, const time_t * const timep, const long offset, +localsub(const timezone_t sp, const time_t * const timep, const int_fast32_t offset, struct tm *const tmp) { const struct ttinfo * ttisp; @@ -1320,22 +1369,14 @@ localsub(const timezone_t sp, const time_t * const timep, const long offset, (sp->goahead && t > sp->ats[sp->timecnt - 1])) { time_t newt = t; time_t seconds; - time_t tcycles; - int_fast64_t icycles; + time_t years; if (t < sp->ats[0]) seconds = sp->ats[0] - t; else seconds = t - sp->ats[sp->timecnt - 1]; --seconds; - tcycles = (time_t) - (seconds / YEARSPERREPEAT / AVGSECSPERYEAR); - ++tcycles; - icycles = tcycles; - if (tcycles - icycles >= 1 || icycles - tcycles >= 1) - return NULL; - seconds = (time_t) icycles; - seconds *= YEARSPERREPEAT; - seconds *= AVGSECSPERYEAR; + years = (time_t)((seconds / SECSPERREPEAT + 1) * YEARSPERREPEAT); + seconds = (time_t)(years * AVGSECSPERYEAR); if (t < sp->ats[0]) newt += seconds; else newt -= seconds; @@ -1348,8 +1389,8 @@ localsub(const timezone_t sp, const time_t * const timep, const long offset, newy = tmp->tm_year; if (t < sp->ats[0]) - newy -= (time_t)icycles * YEARSPERREPEAT; - else newy += (time_t)icycles * YEARSPERREPEAT; + newy -= years; + else newy += years; tmp->tm_year = (int)newy; if (tmp->tm_year != newy) return NULL; @@ -1357,12 +1398,7 @@ localsub(const timezone_t sp, const time_t * const timep, const long offset, return result; } if (sp->timecnt == 0 || t < sp->ats[0]) { - i = 0; - while (sp->ttis[i].tt_isdst) - if (++i >= sp->typecnt) { - i = 0; - break; - } + i = sp->defaulttype; } else { int lo = 1; int hi = sp->timecnt; @@ -1417,9 +1453,9 @@ struct tm * localtime_rz(const timezone_t sp, const time_t * __restrict timep, struct tm *tmp) { if (sp == NULL) - tmp = gmtsub(NULL, timep, 0L, tmp); + tmp = gmtsub(NULL, timep, 0, tmp); else - tmp = localsub(sp, timep, 0L, tmp); + tmp = localsub(sp, timep, 0, tmp); if (tmp == NULL) errno = EOVERFLOW; return tmp; @@ -1430,8 +1466,8 @@ localtime_rz(const timezone_t sp, const time_t * __restrict timep, struct tm *tm */ static struct tm * -gmtsub(const timezone_t sp, const time_t * const timep, const long offset, - struct tm *const tmp) +gmtsub(const timezone_t sp, const time_t *const timep, + const int_fast32_t offset, struct tm *const tmp) { struct tm * result; #ifdef _REENTRANT @@ -1453,7 +1489,7 @@ gmtsub(const timezone_t sp, const time_t * const timep, const long offset, #ifdef TM_ZONE /* ** Could get fancy here and deliver something such as - ** "UTC+xxxx" or "UTC-xxxx" if offset is non-zero, + ** "UT+xxxx" or "UT-xxxx" if offset is non-zero, ** but this is no time for a treasure hunt. */ if (offset != 0) @@ -1470,7 +1506,7 @@ gmtsub(const timezone_t sp, const time_t * const timep, const long offset, struct tm * gmtime(const time_t *const timep) { - struct tm *tmp = gmtsub(NULL, timep, 0L, &tm); + struct tm *tmp = gmtsub(NULL, timep, 0, &tm); if (tmp == NULL) errno = EOVERFLOW; @@ -1485,7 +1521,7 @@ gmtime(const time_t *const timep) struct tm * gmtime_r(const time_t * const timep, struct tm *tmp) { - tmp = gmtsub(NULL, timep, 0L, tmp); + tmp = gmtsub(NULL, timep, 0, tmp); if (tmp == NULL) errno = EOVERFLOW; @@ -1498,7 +1534,14 @@ gmtime_r(const time_t * const timep, struct tm *tmp) struct tm * offtime(const time_t *const timep, long offset) { - struct tm *tmp = gmtsub(NULL, timep, offset, &tm); + struct tm *tmp; + + if ((offset > 0 && offset > INT_FAST32_MAX) || + (offset < 0 && offset < INT_FAST32_MIN)) { + errno = EOVERFLOW; + return NULL; + } + tmp = gmtsub(NULL, timep, (int_fast32_t)offset, &tm); if (tmp == NULL) errno = EOVERFLOW; @@ -1509,7 +1552,12 @@ offtime(const time_t *const timep, long offset) struct tm * offtime_r(const time_t *timep, long offset, struct tm *tmp) { - tmp = gmtsub(NULL, timep, offset, tmp); + if ((offset > 0 && offset > INT_FAST32_MAX) || + (offset < 0 && offset < INT_FAST32_MIN)) { + errno = EOVERFLOW; + return NULL; + } + tmp = gmtsub(NULL, timep, (int_fast32_t)offset, tmp); if (tmp == NULL) errno = EOVERFLOW; @@ -1532,16 +1580,16 @@ leaps_thru_end_of(const int y) } static struct tm * -timesub(const timezone_t sp, const time_t *const timep, const long offset, - struct tm *const tmp) +timesub(const timezone_t sp, const time_t *const timep, + const int_fast32_t offset, struct tm *const tmp) { const struct lsinfo * lp; time_t tdays; int idays; /* unsigned would be so 2003 */ - long rem; + int_fast64_t rem; int y; const int * ip; - long corr; + int_fast64_t corr; int hit; int i; @@ -1570,7 +1618,7 @@ timesub(const timezone_t sp, const time_t *const timep, const long offset, } y = EPOCH_YEAR; tdays = (time_t)(*timep / SECSPERDAY); - rem = (long) (*timep - tdays * SECSPERDAY); + rem = (int_fast64_t) (*timep - tdays * SECSPERDAY); while (tdays < 0 || tdays >= year_lengths[isleap(y)]) { int newy; time_t tdelta; @@ -1578,9 +1626,10 @@ timesub(const timezone_t sp, const time_t *const timep, const long offset, int leapdays; tdelta = tdays / DAYSPERLYEAR; - idelta = (int) tdelta; - if (tdelta - idelta >= 1 || idelta - tdelta >= 1) + if (! ((! TYPE_SIGNED(time_t) || INT_MIN <= tdelta) + && tdelta <= INT_MAX)) return NULL; + idelta = tdelta; if (idelta == 0) idelta = (tdays < 0) ? -1 : 1; newy = y; @@ -1593,11 +1642,11 @@ timesub(const timezone_t sp, const time_t *const timep, const long offset, y = newy; } { - long seconds; + int_fast32_t seconds; - seconds = tdays * SECSPERDAY + 0.5; + seconds = (int_fast32_t)(tdays * SECSPERDAY); tdays = (time_t)(seconds / SECSPERDAY); - rem += (long) (seconds - tdays * SECSPERDAY); + rem += (int_fast64_t)(seconds - tdays * SECSPERDAY); } /* ** Given the range, we can now fearlessly cast... @@ -1712,7 +1761,7 @@ ctime_rz(const timezone_t sp, const time_t * timep, char *buf) */ static int -increment_overflow(int *ip, int j) +increment_overflow(int *const ip, int j) { int i = *ip; @@ -1729,11 +1778,11 @@ increment_overflow(int *ip, int j) } static int -long_increment_overflow(long *lp, int m) +increment_overflow32(int_fast32_t *const lp, int const m) { - long l = *lp; + int_fast32_t l = *lp; - if ((l >= 0) ? (m > LONG_MAX - l) : (m < LONG_MIN - l)) + if ((l >= 0) ? (m > INT_FAST32_MAX - l) : (m < INT_FAST32_MIN - l)) return TRUE; *lp += m; return FALSE; @@ -1752,7 +1801,7 @@ normalize_overflow(int *const tensptr, int *const unitsptr, const int base) } static int -long_normalize_overflow(long *const tensptr, int *const unitsptr, +normalize_overflow32(int_fast32_t *const tensptr, int *const unitsptr, const int base) { int tensdelta; @@ -1761,7 +1810,7 @@ long_normalize_overflow(long *const tensptr, int *const unitsptr, (*unitsptr / base) : (-1 - (-1 - *unitsptr) / base); *unitsptr -= tensdelta * base; - return long_increment_overflow(tensptr, tensdelta); + return increment_overflow32(tensptr, tensdelta); } static int @@ -1769,8 +1818,9 @@ tmcomp(const struct tm *const atmp, const struct tm *const btmp) { int result; - if ((result = (atmp->tm_year - btmp->tm_year)) == 0 && - (result = (atmp->tm_mon - btmp->tm_mon)) == 0 && + if (atmp->tm_year != btmp->tm_year) + return atmp->tm_year < btmp->tm_year ? -1 : 1; + if ((result = (atmp->tm_mon - btmp->tm_mon)) == 0 && (result = (atmp->tm_mday - btmp->tm_mday)) == 0 && (result = (atmp->tm_hour - btmp->tm_hour)) == 0 && (result = (atmp->tm_min - btmp->tm_min)) == 0) @@ -1780,21 +1830,21 @@ tmcomp(const struct tm *const atmp, const struct tm *const btmp) static time_t time2sub(const timezone_t sp, struct tm *const tmp, subfun_t funcp, - const long offset, int *const okayp, const int do_norm_secs) + const int_fast32_t offset, int *const okayp, const int do_norm_secs) { int dir; int i, j; int saved_seconds; - long li; + int_fast32_t li; time_t lo; time_t hi; #ifdef NO_ERROR_IN_DST_GAP time_t ilo; #endif - long y; - time_t newt; - time_t t; - struct tm yourtm, mytm; + int_fast32_t y; + time_t newt; + time_t t; + struct tm yourtm, mytm; *okayp = FALSE; yourtm = *tmp; @@ -1811,16 +1861,16 @@ again: if (normalize_overflow(&yourtm.tm_mday, &yourtm.tm_hour, HOURSPERDAY)) goto overflow; y = yourtm.tm_year; - if (long_normalize_overflow(&y, &yourtm.tm_mon, MONSPERYEAR)) + if (normalize_overflow32(&y, &yourtm.tm_mon, MONSPERYEAR)) goto overflow; /* ** Turn y into an actual year number for now. ** It is converted back to an offset from TM_YEAR_BASE later. */ - if (long_increment_overflow(&y, TM_YEAR_BASE)) + if (increment_overflow32(&y, TM_YEAR_BASE)) goto overflow; while (yourtm.tm_mday <= 0) { - if (long_increment_overflow(&y, -1)) + if (increment_overflow32(&y, -1)) goto overflow; li = y + (1 < yourtm.tm_mon); yourtm.tm_mday += year_lengths[isleap(li)]; @@ -1828,7 +1878,7 @@ again: while (yourtm.tm_mday > DAYSPERLYEAR) { li = y + (1 < yourtm.tm_mon); yourtm.tm_mday -= year_lengths[isleap(li)]; - if (long_increment_overflow(&y, 1)) + if (increment_overflow32(&y, 1)) goto overflow; } for ( ; ; ) { @@ -1838,11 +1888,11 @@ again: yourtm.tm_mday -= i; if (++yourtm.tm_mon >= MONSPERYEAR) { yourtm.tm_mon = 0; - if (long_increment_overflow(&y, 1)) + if (increment_overflow32(&y, 1)) goto overflow; } } - if (long_increment_overflow(&y, -TM_YEAR_BASE)) + if (increment_overflow32(&y, -TM_YEAR_BASE)) goto overflow; yourtm.tm_year = (int)y; if (yourtm.tm_year != y) @@ -1869,19 +1919,10 @@ again: /* ** Do a binary search (this works whatever time_t's type is). */ -/* LINTED constant */ + /* LINTED const not */ if (!TYPE_SIGNED(time_t)) { lo = 0; hi = lo - 1; -/* LINTED constant */ - } else if (!TYPE_INTEGRAL(time_t)) { -/* CONSTCOND */ - if (sizeof(time_t) > sizeof(float)) -/* LINTED assumed double */ - hi = (time_t) DBL_MAX; -/* LINTED assumed float */ - else hi = (time_t) FLT_MAX; - lo = -hi; } else { lo = 1; for (i = 0; i < (int) TYPE_BIT(time_t) - 1; ++i) @@ -1907,14 +1948,14 @@ again: } else dir = tmcomp(&mytm, &yourtm); if (dir != 0) { if (t == lo) { - ++t; - if (t <= lo) + if (t == time_t_max) goto overflow; + ++t; ++lo; } else if (t == hi) { - --t; - if (t >= hi) + if (t == time_t_min) goto overflow; + --t; --hi; } #ifdef NO_ERROR_IN_DST_GAP @@ -1994,7 +2035,7 @@ invalid: static time_t time2(const timezone_t sp, struct tm *const tmp, subfun_t funcp, - const long offset, int *const okayp) + const int_fast32_t offset, int *const okayp) { time_t t; @@ -2009,7 +2050,7 @@ time2(const timezone_t sp, struct tm *const tmp, subfun_t funcp, static time_t time1(const timezone_t sp, struct tm *const tmp, subfun_t funcp, - long offset) + const int_fast32_t offset) { time_t t; int samei, otheri; @@ -2082,18 +2123,18 @@ time1(const timezone_t sp, struct tm *const tmp, subfun_t funcp, } time_t -mktime_z(const timezone_t sp, struct tm *tmp) +mktime_z(const timezone_t sp, struct tm *const tmp) { time_t t; if (sp == NULL) - t = time1(NULL, tmp, gmtsub, 0L); + t = time1(NULL, tmp, gmtsub, 0); else - t = time1(sp, tmp, localsub, 0L); + t = time1(sp, tmp, localsub, 0); return t; } time_t -mktime(struct tm * const tmp) +mktime(struct tm *const tmp) { time_t result; @@ -2107,7 +2148,7 @@ mktime(struct tm * const tmp) #ifdef STD_INSPIRED time_t -timelocal_z(const timezone_t sp, struct tm *tmp) +timelocal_z(const timezone_t sp, struct tm *const tmp) { if (tmp != NULL) tmp->tm_isdst = -1; /* in case it wasn't initialized */ @@ -2129,18 +2170,23 @@ timegm(struct tm *const tmp) if (tmp != NULL) tmp->tm_isdst = 0; - t = time1(gmtptr, tmp, gmtsub, 0L); + t = time1(gmtptr, tmp, gmtsub, 0); return t; } time_t -timeoff(struct tm *const tmp, const long offset) +timeoff(struct tm *const tmp, long offset) { time_t t; + if ((offset > 0 && offset > INT_FAST32_MAX) || + (offset < 0 && offset < INT_FAST32_MIN)) { + errno = EOVERFLOW; + return -1; + } if (tmp != NULL) tmp->tm_isdst = 0; - t = time1(gmtptr, tmp, gmtsub, offset); + t = time1(gmtptr, tmp, gmtsub, (int_fast32_t)offset); return t; } @@ -2179,7 +2225,7 @@ gtime(struct tm *const tmp) ** when exchanging timestamps with POSIX conforming systems. */ -static long +static int_fast64_t leapcorr(const timezone_t sp, time_t *timep) { struct lsinfo * lp; @@ -2260,21 +2306,3 @@ posix2time(time_t t) } #endif /* defined STD_INSPIRED */ - -#if defined(__minix) && defined(__weak_alias) -__weak_alias(gmtime, __gmtime50) -__weak_alias(gmtime_r, __gmtime_r50) -__weak_alias(offtime, __offtime50) -__weak_alias(offtime_r, __offtime_r50) -__weak_alias(time2posix, __time2posix50) -__weak_alias(time2posix_z, __time2posix_z50) -__weak_alias(timegm, __timegm50) -__weak_alias(timelocal, __timelocal50) -__weak_alias(timelocal_z, __timelocal_z50) -__weak_alias(timeoff, __timeoff50) -__weak_alias(tzalloc, __tzalloc50) -__weak_alias(tzfree, __tzfree50) -__weak_alias(tzgetname, __tzgetname50) -__weak_alias(tzset, __tzset50) -__weak_alias(tzsetwall, __tzsetwall50) -#endif diff --git a/lib/libc/time/private.h b/lib/libc/time/private.h index e493831a2..342c2315d 100644 --- a/lib/libc/time/private.h +++ b/lib/libc/time/private.h @@ -1,4 +1,4 @@ -/* $NetBSD: private.h,v 1.26 2012/08/09 12:38:25 christos Exp $ */ +/* $NetBSD: private.h,v 1.30 2013/09/20 19:06:54 christos Exp $ */ #ifndef PRIVATE_H #define PRIVATE_H @@ -136,19 +136,76 @@ #include "stdint.h" #endif /* !HAVE_STDINT_H */ +#ifndef HAVE_INTTYPES_H +# define HAVE_INTTYPES_H HAVE_STDINT_H +#endif +#if HAVE_INTTYPES_H +# include +#endif + #ifndef INT_FAST64_MAX /* Pre-C99 GCC compilers define __LONG_LONG_MAX__ instead of LLONG_MAX. */ #if defined LLONG_MAX || defined __LONG_LONG_MAX__ typedef long long int_fast64_t; +# ifdef LLONG_MAX +# define INT_FAST64_MIN LLONG_MIN +# define INT_FAST64_MAX LLONG_MAX +# else +# define INT_FAST64_MIN __LONG_LONG_MIN__ +# define INT_FAST64_MAX __LONG_LONG_MAX__ +# endif +# define SCNdFAST64 "lld" #else /* ! (defined LLONG_MAX || defined __LONG_LONG_MAX__) */ #if (LONG_MAX >> 31) < 0xffffffff Please use a compiler that supports a 64-bit integer type (or wider); you may need to compile with "-DHAVE_STDINT_H". #endif /* (LONG_MAX >> 31) < 0xffffffff */ typedef long int_fast64_t; +# define INT_FAST64_MIN LONG_MIN +# define INT_FAST64_MAX LONG_MAX +# define SCNdFAST64 "ld" #endif /* ! (defined LLONG_MAX || defined __LONG_LONG_MAX__) */ #endif /* !defined INT_FAST64_MAX */ +#ifndef INT_FAST32_MAX +# if INT_MAX >> 31 == 0 +typedef long int_fast32_t; +# else +typedef int int_fast32_t; +# endif +#endif + +#ifndef INTMAX_MAX +# if defined LLONG_MAX || defined __LONG_LONG_MAX__ +typedef long long intmax_t; +# define strtoimax strtoll +# define PRIdMAX "lld" +# ifdef LLONG_MAX +# define INTMAX_MAX LLONG_MAX +# define INTMAX_MIN LLONG_MIN +# else +# define INTMAX_MAX __LONG_LONG_MAX__ +# define INTMAX_MIN __LONG_LONG_MIN__ +# endif +# else +typedef long intmax_t; +# define strtoimax strtol +# define PRIdMAX "ld" +# define INTMAX_MAX LONG_MAX +# define INTMAX_MIN LONG_MIN +# endif +#endif + +#ifndef UINTMAX_MAX +# if defined ULLONG_MAX || defined __LONG_LONG_MAX__ +typedef unsigned long long uintmax_t; +# define PRIuMAX "llu" +# else +typedef unsigned long uintmax_t; +# define PRIuMAX "lu" +# endif +#endif + #ifndef INT32_MAX #define INT32_MAX 0x7fffffff #endif /* !defined INT32_MAX */ @@ -156,6 +213,28 @@ typedef long int_fast64_t; #define INT32_MIN (-1 - INT32_MAX) #endif /* !defined INT32_MIN */ +#if 2 < __GNUC__ + (96 <= __GNUC_MINOR__) +# define ATTRIBUTE_CONST __attribute__ ((__const__)) +# define ATTRIBUTE_PURE __attribute__ ((__pure__)) +# define ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +#else +# define ATTRIBUTE_CONST /* empty */ +# define ATTRIBUTE_PURE /* empty */ +# define ATTRIBUTE_FORMAT(spec) /* empty */ +#endif + +#if !defined _Noreturn && __STDC_VERSION__ < 201112 +# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__) +# define _Noreturn __attribute__ ((__noreturn__)) +# else +# define _Noreturn +# endif +#endif + +#if __STDC_VERSION__ < 199901 && !defined restrict +# define restrict /* empty */ +#endif + /* ** Workarounds for compilers/systems. */ @@ -170,17 +249,64 @@ typedef long int_fast64_t; extern char * asctime_r(struct tm const *, char *); #endif +/* +** Compile with -Dtime_tz=T to build the tz package with a private +** time_t type equivalent to T rather than the system-supplied time_t. +** This debugging feature can test unusual design decisions +** (e.g., time_t wider than 'long', or unsigned time_t) even on +** typical platforms. +*/ +#ifdef time_tz +static time_t sys_time(time_t *x) { return time(x); } + +# undef ctime +# define ctime tz_ctime +# undef ctime_r +# define ctime_r tz_ctime_r +# undef difftime +# define difftime tz_difftime +# undef gmtime +# define gmtime tz_gmtime +# undef gmtime_r +# define gmtime_r tz_gmtime_r +# undef localtime +# define localtime tz_localtime +# undef localtime_r +# define localtime_r tz_localtime_r +# undef mktime +# define mktime tz_mktime +# undef time +# define time tz_time +# undef time_t +# define time_t tz_time_t + +typedef time_tz time_t; + +char *ctime(time_t const *); +char *ctime_r(time_t const *, char *); +double difftime(time_t, time_t); +struct tm *gmtime(time_t const *); +struct tm *gmtime_r(time_t const *restrict, struct tm *restrict); +struct tm *localtime(time_t const *); +struct tm *localtime_r(time_t const *restrict, struct tm *restrict); +time_t mktime(struct tm *); + +static time_t +time(time_t *p) +{ + time_t r = sys_time(0); + if (p) + *p = r; + return r; +} +#endif + /* ** Private function declarations. */ -char * icalloc(int nelem, int elsize); char * icatalloc(char * old, const char * new); char * icpyalloc(const char * string); -char * imalloc(int n); -void * irealloc(void * pointer, int size); -void icfree(char * pointer); -void ifree(char * pointer); const char * scheck(const char * string, const char * format); /* @@ -200,17 +326,19 @@ const char * scheck(const char * string, const char * format); #endif /* !defined TYPE_BIT */ #ifndef TYPE_SIGNED -#define TYPE_SIGNED(type) (((type) -1) < 0) +#define TYPE_SIGNED(type) (/*CONSTCOND*/((type) -1) < 0) #endif /* !defined TYPE_SIGNED */ -/* -** Since the definition of TYPE_INTEGRAL contains floating point numbers, -** it cannot be used in preprocessor directives. -*/ - -#ifndef TYPE_INTEGRAL -#define TYPE_INTEGRAL(type) (((type) 0.5) != 0.5) -#endif /* !defined TYPE_INTEGRAL */ +/* The minimum and maximum finite time values. */ +static time_t const time_t_min = + (TYPE_SIGNED(time_t) + ? (time_t) -1 << (int)(CHAR_BIT * sizeof (time_t) - 1) +/*###336 [lint] warning semantics of 'p << p' change in ANSI C; use explicit cast [118]%%%*/ + : 0); +static time_t const time_t_max = + (TYPE_SIGNED(time_t) + ? - (~ 0 < 0) - ((time_t) -1 << (int)(CHAR_BIT * sizeof (time_t) - 1)) + : -1); #ifndef INT_STRLEN_MAXIMUM /* diff --git a/lib/libc/time/scheck.c b/lib/libc/time/scheck.c index 3a118da52..a02e7b377 100644 --- a/lib/libc/time/scheck.c +++ b/lib/libc/time/scheck.c @@ -1,4 +1,4 @@ -/* $NetBSD: scheck.c,v 1.8 2010/01/02 10:42:49 tsutsui Exp $ */ +/* $NetBSD: scheck.c,v 1.11 2013/07/17 23:09:26 christos Exp $ */ /* ** This file is in the public domain, so clarified as of @@ -15,7 +15,7 @@ #if 0 static char elsieid[] = "@(#)scheck.c 8.19"; #else -__RCSID("$NetBSD: scheck.c,v 1.8 2010/01/02 10:42:49 tsutsui Exp $"); +__RCSID("$NetBSD: scheck.c,v 1.11 2013/07/17 23:09:26 christos Exp $"); #endif #endif /* !defined lint */ @@ -24,50 +24,57 @@ __RCSID("$NetBSD: scheck.c,v 1.8 2010/01/02 10:42:49 tsutsui Exp $"); #include "private.h" const char * -scheck(string, format) -const char * const string; -const char * const format; +scheck(const char *const string, const char *const format) { - register char * fbuf; - register const char * fp; - register char * tp; - register int c; - register const char * result; - char dummy; + char * fbuf; + const char * fp; + char * tp; + int c; + const char * result; + char dummy; result = ""; if (string == NULL || format == NULL) return result; - fbuf = imalloc((int) (2 * strlen(format) + 4)); + fbuf = malloc(2 * strlen(format) + 4); if (fbuf == NULL) return result; fp = format; tp = fbuf; + + /* + ** Copy directives, suppressing each conversion that is not + ** already suppressed. Scansets containing '%' are not + ** supported; e.g., the conversion specification "%[%]" is not + ** supported. Also, multibyte characters containing a + ** non-leading '%' byte are not supported. + */ while ((*tp++ = c = *fp++) != '\0') { if (c != '%') continue; - if (*fp == '%') { - *tp++ = *fp++; - continue; + if (is_digit(*fp)) { + char const *f = fp; + char *t = tp; + do { + *t++ = c = *f++; + } while (is_digit(c)); + if (c == '$') { + fp = f; + tp = t; + } } *tp++ = '*'; if (*fp == '*') ++fp; - while (is_digit(*fp)) - *tp++ = *fp++; - if (*fp == 'l' || *fp == 'h') - *tp++ = *fp++; - else if (*fp == '[') - do *tp++ = *fp++; - while (*fp != '\0' && *fp != ']'); if ((*tp++ = *fp++) == '\0') break; } + *(tp - 1) = '%'; *tp++ = 'c'; *tp = '\0'; if (sscanf(string, fbuf, &dummy) != 1) - result = (char *) format; - ifree(fbuf); + result = format; + free(fbuf); return result; } diff --git a/lib/libc/time/strftime.3 b/lib/libc/time/strftime.3 index d039b52f3..c4b7aa282 100644 --- a/lib/libc/time/strftime.3 +++ b/lib/libc/time/strftime.3 @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)strftime.3 5.12 (Berkeley) 6/29/91 -.\" $NetBSD: strftime.3,v 1.29 2012/04/06 11:35:39 wiz Exp $ +.\" $NetBSD: strftime.3,v 1.30 2013/09/20 19:06:54 christos Exp $ .\" .Dd April 14, 2011 .Dt STRFTIME 3 @@ -149,8 +149,8 @@ The range of seconds is (00-61) instead of (00-59) to allow for the periodic occurrence of leap seconds and double leap seconds. .It Cm %s -is replaced by the number of seconds since the Epoch, UTC (see -.Xr mktime 3 ) . +is replaced by the number of seconds since the Epoch (see +.Xr ctime 3 ) . .It Cm \&%T is replaced by the time in the format .Dq Li %H:%M:%S . @@ -190,7 +190,10 @@ is replaced by the year without century as a decimal number [00,99]. .It Cm \&%Z is replaced by the time zone name. .It Cm \&%z -is replaced by the offset from UTC in the ISO 8601 format +is replaced by the offset from the Prime Meridian in the format ++HHMM or -HHMM (ISO 8601) as appropriate, with positive values representing +locations east of Greenwich, or by the empty string if this is +not determinable. .Dq Li [-]hhmm . .It Cm %% is replaced by diff --git a/lib/libc/time/strftime.c b/lib/libc/time/strftime.c index 6676db411..5495ae3fe 100644 --- a/lib/libc/time/strftime.c +++ b/lib/libc/time/strftime.c @@ -1,4 +1,4 @@ -/* $NetBSD: strftime.c,v 1.22 2012/03/20 16:39:08 matt Exp $ */ +/* $NetBSD: strftime.c,v 1.29 2013/09/20 19:06:54 christos Exp $ */ #include #if defined(LIBC_SCCS) && !defined(lint) @@ -6,14 +6,20 @@ static char elsieid[] = "@(#)strftime.c 7.64"; static char elsieid[] = "@(#)strftime.c 8.3"; #else -__RCSID("$NetBSD: strftime.c,v 1.22 2012/03/20 16:39:08 matt Exp $"); +__RCSID("$NetBSD: strftime.c,v 1.29 2013/09/20 19:06:54 christos Exp $"); #endif #endif /* LIBC_SCCS and not lint */ #include "namespace.h" +#include +#include +#include "setlocale_local.h" + /* -** Based on the UCB version with the ID appearing below. +** Based on the UCB version with the copyright notice and sccsid +** appearing below. +** ** This is ANSIish only when "multibyte character == plain character". */ @@ -74,17 +80,20 @@ static const char sccsid[] = "@(#)strftime.c 5.4 (Berkeley) 3/14/89"; #include "locale.h" #ifdef __weak_alias +__weak_alias(strftime_l, _strftime_l) +__weak_alias(strftime_lz, _strftime_lz) __weak_alias(strftime_z, _strftime_z) #endif #include "sys/localedef.h" -#define Locale _CurrentTimeLocale +#define _TIME_LOCALE(loc) \ + ((_TimeLocale *)((loc)->part_impl[(size_t)LC_TIME])) #define c_fmt d_t_fmt static char * _add(const char *, char *, const char *); static char * _conv(int, const char *, char *, const char *); static char * _fmt(const timezone_t, const char *, const struct tm *, char *, - const char *, int *); + const char *, int *, locale_t); static char * _yconv(int, int, int, int, char *, const char *); extern char * tzname[]; @@ -99,15 +108,22 @@ extern char * tzname[]; #define IN_ALL 3 size_t -strftime_z(const timezone_t sp, char * const s, const size_t maxsize, - const char * const format, const struct tm * const t) +strftime_z(const timezone_t sp, char * __restrict s, size_t maxsize, + const char * __restrict format, const struct tm * __restrict t) +{ + return strftime_lz(sp, s, maxsize, format, t, _current_locale()); +} + +size_t +strftime_lz(const timezone_t sp, char *const s, const size_t maxsize, + const char *const format, const struct tm *const t, locale_t loc) { char * p; int warn; warn = IN_NONE; p = _fmt(sp, ((format == NULL) ? "%c" : format), t, s, s + maxsize, - &warn); + &warn, loc); #ifndef NO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU if (warn != IN_NONE && getenv(YEAR_2000_NAME) != NULL) { (void) fprintf(stderr, "\n"); @@ -131,8 +147,8 @@ strftime_z(const timezone_t sp, char * const s, const size_t maxsize, } static char * -_fmt(const timezone_t sp, const char *format, const struct tm * const t, - char *pt, const char *const ptlim, int *warnp) +_fmt(const timezone_t sp, const char *format, const struct tm *const t, + char *pt, const char *const ptlim, int *warnp, locale_t loc) { for ( ; *format; ++format) { if (*format == '%') { @@ -144,26 +160,26 @@ label: case 'A': pt = _add((t->tm_wday < 0 || t->tm_wday >= DAYSPERWEEK) ? - "?" : Locale->day[t->tm_wday], + "?" : _TIME_LOCALE(loc)->day[t->tm_wday], pt, ptlim); continue; case 'a': pt = _add((t->tm_wday < 0 || t->tm_wday >= DAYSPERWEEK) ? - "?" : Locale->abday[t->tm_wday], + "?" : _TIME_LOCALE(loc)->abday[t->tm_wday], pt, ptlim); continue; case 'B': pt = _add((t->tm_mon < 0 || t->tm_mon >= MONSPERYEAR) ? - "?" : Locale->mon[t->tm_mon], + "?" : _TIME_LOCALE(loc)->mon[t->tm_mon], pt, ptlim); continue; case 'b': case 'h': pt = _add((t->tm_mon < 0 || t->tm_mon >= MONSPERYEAR) ? - "?" : Locale->abmon[t->tm_mon], + "?" : _TIME_LOCALE(loc)->abmon[t->tm_mon], pt, ptlim); continue; case 'C': @@ -181,7 +197,8 @@ label: { int warn2 = IN_SOME; - pt = _fmt(sp, Locale->c_fmt, t, pt, ptlim, &warn2); + pt = _fmt(sp, _TIME_LOCALE(loc)->c_fmt, t, pt, + ptlim, &warn2, loc); if (warn2 == IN_ALL) warn2 = IN_THIS; if (warn2 > *warnp) @@ -189,7 +206,8 @@ label: } continue; case 'D': - pt = _fmt(sp, "%m/%d/%y", t, pt, ptlim, warnp); + pt = _fmt(sp, "%m/%d/%y", t, pt, ptlim, warnp, + loc); continue; case 'd': pt = _conv(t->tm_mday, "%02d", pt, ptlim); @@ -210,7 +228,8 @@ label: pt = _conv(t->tm_mday, "%2d", pt, ptlim); continue; case 'F': - pt = _fmt(sp, "%Y-%m-%d", t, pt, ptlim, warnp); + pt = _fmt(sp, "%Y-%m-%d", t, pt, ptlim, warnp, + loc); continue; case 'H': pt = _conv(t->tm_hour, "%02d", pt, ptlim); @@ -269,16 +288,17 @@ label: continue; case 'p': pt = _add((t->tm_hour >= (HOURSPERDAY / 2)) ? - Locale->am_pm[1] : - Locale->am_pm[0], + _TIME_LOCALE(loc)->am_pm[1] : + _TIME_LOCALE(loc)->am_pm[0], pt, ptlim); continue; case 'R': - pt = _fmt(sp, "%H:%M", t, pt, ptlim, warnp); + pt = _fmt(sp, "%H:%M", t, pt, ptlim, warnp, + loc); continue; case 'r': - pt = _fmt(sp, Locale->t_fmt_ampm, t, pt, ptlim, - warnp); + pt = _fmt(sp, _TIME_LOCALE(loc)->t_fmt_ampm, t, + pt, ptlim, warnp, loc); continue; case 'S': pt = _conv(t->tm_sec, "%02d", pt, ptlim); @@ -294,16 +314,16 @@ label: mkt = mktime(&tm); /* CONSTCOND */ if (TYPE_SIGNED(time_t)) - (void) snprintf(buf, sizeof(buf), - "%lld", (long long) mkt); - else (void) snprintf(buf, sizeof(buf), - "%llu", (unsigned long long) - mkt); + (void)snprintf(buf, sizeof(buf), + "%jd", (intmax_t) mkt); + else (void)snprintf(buf, sizeof(buf), + "%ju", (uintmax_t) mkt); pt = _add(buf, pt, ptlim); } continue; case 'T': - pt = _fmt(sp, "%H:%M:%S", t, pt, ptlim, warnp); + pt = _fmt(sp, "%H:%M:%S", t, pt, ptlim, warnp, + loc); continue; case 't': pt = _add("\t", pt, ptlim); @@ -418,7 +438,8 @@ label: ** "date as dd-bbb-YYYY" ** (ado, 1993-05-24) */ - pt = _fmt(sp, "%e-%b-%Y", t, pt, ptlim, warnp); + pt = _fmt(sp, "%e-%b-%Y", t, pt, ptlim, warnp, + loc); continue; case 'W': pt = _conv((t->tm_yday + DAYSPERWEEK - @@ -431,13 +452,15 @@ label: pt = _conv(t->tm_wday, "%d", pt, ptlim); continue; case 'X': - pt = _fmt(sp, Locale->t_fmt, t, pt, ptlim, warnp); + pt = _fmt(sp, _TIME_LOCALE(loc)->t_fmt, t, pt, + ptlim, warnp, loc); continue; case 'x': { int warn2 = IN_SOME; - pt = _fmt(sp, Locale->d_fmt, t, pt, ptlim, &warn2); + pt = _fmt(sp, _TIME_LOCALE(loc)->d_fmt, t, pt, + ptlim, &warn2, loc); if (warn2 == IN_ALL) warn2 = IN_THIS; if (warn2 > *warnp) @@ -481,7 +504,7 @@ label: diff = (int)t->TM_GMTOFF; #else /* !defined TM_GMTOFF */ /* - ** C99 says that the UTC offset must + ** C99 says that the UT offset must ** be computed by looking only at ** tm_isdst. This requirement is ** incorrect, since it means the code @@ -553,15 +576,15 @@ label: pt = _conv(diff, "%04d", pt, ptlim); } continue; -#ifdef __minix +#if defined(__minix) case '+': - pt = _fmt(sp, Locale->c_fmt, t, pt, ptlim, warnp); + pt = _fmt(sp, _TIME_LOCALE(loc)->c_fmt, t, pt, ptlim, warnp, loc); continue; -#endif /* !__minix */ +#endif /* defined(__minix) */ #if 0 case '+': - pt = _fmt(sp, Locale->date_fmt, t, pt, ptlim, - warnp); + pt = _fmt(sp, _TIME_LOCALE(loc)->date_fmt, t, + pt, ptlim, warnp, loc); continue; #endif case '%': @@ -589,9 +612,17 @@ strftime(char * const s, const size_t maxsize, return strftime_z(NULL, s, maxsize, format, t); } +size_t +strftime_l(char * __restrict s, size_t maxsize, const char * __restrict format, + const struct tm * __restrict t, locale_t loc) +{ + tzset(); + return strftime_lz(NULL, s, maxsize, format, t, loc); +} + static char * -_conv(const int n, const char * const format, char * const pt, - const char * const ptlim) +_conv(const int n, const char *const format, char *const pt, + const char *const ptlim) { char buf[INT_STRLEN_MAXIMUM(int) + 1]; @@ -600,7 +631,7 @@ _conv(const int n, const char * const format, char * const pt, } static char * -_add(const char *str, char *pt, const char * const ptlim) +_add(const char *str, char *pt, const char *const ptlim) { while (pt < ptlim && (*pt = *str++) != '\0') ++pt; @@ -617,10 +648,10 @@ _add(const char *str, char *pt, const char * const ptlim) static char * _yconv(const int a, const int b, const int convert_top, const int convert_yy, - char *pt, const char * const ptlim) + char *pt, const char *const ptlim) { - register int lead; - register int trail; + int lead; + int trail; #define DIVISOR 100 trail = a % DIVISOR + b % DIVISOR; @@ -668,7 +699,7 @@ _loc(void) */ if (localebuf.mon[0]) return &localebuf; - name = setlocale(LC_TIME, (char *) NULL); + name = setlocale(LC_TIME, NULL); if (name == NULL || *name == '\0') goto no_locale; /* diff --git a/lib/libc/time/strptime.c b/lib/libc/time/strptime.c index 86074e880..bf70fd7ac 100644 --- a/lib/libc/time/strptime.c +++ b/lib/libc/time/strptime.c @@ -1,4 +1,4 @@ -/* $NetBSD: strptime.c,v 1.36 2012/03/13 21:13:48 christos Exp $ */ +/* $NetBSD: strptime.c,v 1.38 2013/05/17 12:55:57 joerg Exp $ */ /*- * Copyright (c) 1997, 1998, 2005, 2008 The NetBSD Foundation, Inc. @@ -31,7 +31,7 @@ #include #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: strptime.c,v 1.36 2012/03/13 21:13:48 christos Exp $"); +__RCSID("$NetBSD: strptime.c,v 1.38 2013/05/17 12:55:57 joerg Exp $"); #endif #include "namespace.h" @@ -42,12 +42,15 @@ __RCSID("$NetBSD: strptime.c,v 1.36 2012/03/13 21:13:48 christos Exp $"); #include #include #include "private.h" +#include "setlocale_local.h" #ifdef __weak_alias __weak_alias(strptime,_strptime) +__weak_alias(strptime_l, _strptime_l) #endif -#define _ctloc(x) (_CurrentTimeLocale->x) +#define _TIME_LOCALE(loc) \ + ((_TimeLocale *)((loc)->part_impl[(size_t)LC_TIME])) /* * We do not implement alternate representations. However, we always @@ -71,9 +74,14 @@ static const u_char *conv_num(const unsigned char *, int *, uint, uint); static const u_char *find_string(const u_char *, int *, const char * const *, const char * const *, int); - char * strptime(const char *buf, const char *fmt, struct tm *tm) +{ + return strptime_l(buf, fmt, tm, _current_locale()); +} + +char * +strptime_l(const char *buf, const char *fmt, struct tm *tm, locale_t loc) { unsigned char c; const unsigned char *bp, *ep; @@ -124,7 +132,7 @@ literal: * "Complex" conversion rules, implemented through recursion. */ case 'c': /* Date and time, using the locale's format. */ - new_fmt = _ctloc(d_t_fmt); + new_fmt = _TIME_LOCALE(loc)->d_t_fmt; goto recurse; case 'D': /* The date as "%m/%d/%y". */ @@ -143,7 +151,7 @@ literal: goto recurse; case 'r': /* The time in 12-hour clock representation. */ - new_fmt =_ctloc(t_fmt_ampm); + new_fmt = _TIME_LOCALE(loc)->t_fmt_ampm; LEGAL_ALT(0); goto recurse; @@ -153,11 +161,11 @@ literal: goto recurse; case 'X': /* The time, using the locale's format. */ - new_fmt =_ctloc(t_fmt); + new_fmt = _TIME_LOCALE(loc)->t_fmt; goto recurse; case 'x': /* The date, using the locale's format. */ - new_fmt =_ctloc(d_fmt); + new_fmt = _TIME_LOCALE(loc)->d_fmt; recurse: bp = (const u_char *)strptime((const char *)bp, new_fmt, tm); @@ -169,16 +177,17 @@ literal: */ case 'A': /* The day of week, using the locale's form. */ case 'a': - bp = find_string(bp, &tm->tm_wday, _ctloc(day), - _ctloc(abday), 7); + bp = find_string(bp, &tm->tm_wday, + _TIME_LOCALE(loc)->day, _TIME_LOCALE(loc)->abday, 7); LEGAL_ALT(0); continue; case 'B': /* The month, using the locale's form. */ case 'b': case 'h': - bp = find_string(bp, &tm->tm_mon, _ctloc(mon), - _ctloc(abmon), 12); + bp = find_string(bp, &tm->tm_mon, + _TIME_LOCALE(loc)->mon, _TIME_LOCALE(loc)->abmon, + 12); LEGAL_ALT(0); continue; @@ -238,7 +247,8 @@ literal: continue; case 'p': /* The locale's equivalent of AM/PM. */ - bp = find_string(bp, &i, _ctloc(am_pm), NULL, 2); + bp = find_string(bp, &i, _TIME_LOCALE(loc)->am_pm, + NULL, 2); if (tm->tm_hour > 11) return NULL; tm->tm_hour += i * 12; diff --git a/lib/libc/time/tz-art.htm b/lib/libc/time/tz-art.htm index 8c2aca4da..3af4e8149 100644 --- a/lib/libc/time/tz-art.htm +++ b/lib/libc/time/tz-art.htm @@ -235,7 +235,7 @@ Supernaw.
    AMG Rating3.5 stars
    ADO Rating2.5 stars
    NotesIncludes the song "Fire and Wood" with the lyric -"The clocks were turned back you remeber/Think it's still November." +"The clocks were turned back you remember/Think it's still November."
     
    ArtistKen Nordine
    ,,g' \ -e 's,\ ,,g' \ -e 's,,,g' \ @@ -47,7 +48,7 @@ awk -F'\t' '{ printf("%s\t%s\t%s\t%s\t%s\n", $2, $3, $4, $6, $1); }' | grep -v href= | sort > $O1 -grep ';[A-Z][A-Z]' list-en1-semic-3.txt | +grep ';[A-Z][A-Z]' $I2 | tr -d '\015' | awk -F ';' '{ print $2 }' | sort > $O2 diff --git a/share/misc/style b/share/misc/style index 858a93c75..5eedbc153 100644 --- a/share/misc/style +++ b/share/misc/style @@ -1,4 +1,4 @@ -/* $NetBSD: style,v 1.49 2011/09/01 09:33:01 christos Exp $ */ +/* $NetBSD: style,v 1.51 2013/03/08 16:50:02 christos Exp $ */ /* * The revision control tag appears first, with a blank line after it. @@ -30,7 +30,7 @@ #include __COPYRIGHT("@(#) Copyright (c) 2008\ The NetBSD Foundation, inc. All rights reserved."); -__RCSID("$NetBSD: style,v 1.49 2011/09/01 09:33:01 christos Exp $"); +__RCSID("$NetBSD: style,v 1.51 2013/03/08 16:50:02 christos Exp $"); /* * VERY important single-line comments look like this. @@ -77,7 +77,12 @@ __RCSID("$NetBSD: style,v 1.49 2011/09/01 09:33:01 christos Exp $"); /* * Kernel include files come first. */ -#include /* Non-local includes in brackets. */ +#include /* first, */ +#include /* next, */ +#include /* and then the rest, */ +#include /* sorted lexicographically. */ +#include +#include /* Non-local includes in brackets. */ /* * If it's a network program, put the network include files next. @@ -91,7 +96,7 @@ __RCSID("$NetBSD: style,v 1.49 2011/09/01 09:33:01 christos Exp $"); /* * Then there's a blank line, followed by the /usr include files. - * The /usr include files should be sorted! + * The /usr include files should be sorted lexicographically! */ #include #include @@ -354,7 +359,7 @@ function(int a1, int a2, float fl, int a4) * not: * !(p = f()) * - * The notable exception here is varyadic functions. Since our + * The notable exception here is variadic functions. Since our * code is designed to compile and work on different environments * where we don't have control over the NULL definition (on NetBSD * it is defined as ((void *)0), but on other systems it can be diff --git a/share/misc/zipcodes b/share/misc/zipcodes index 828cec239..8afa7a1f5 100644 --- a/share/misc/zipcodes +++ b/share/misc/zipcodes @@ -1,5 +1,5 @@ # Zip Code : Location -# $NetBSD: zipcodes,v 1.6 2003/05/11 01:55:18 wiz Exp $ +# $NetBSD: zipcodes,v 1.8 2012/03/06 17:20:38 pgoyette Exp $ # @(#)zipcodes 8.1 (Berkeley) 6/8/93 00401:Pleasantville, NY 00501:Holtsville, NY @@ -39430,6 +39430,7 @@ 94074:San Gregorio, CA 94080:South San Francisco, CA 94083:South San Francisco, CA +94085:Sunnyvale, CA 94086:Sunnyvale, CA 94087:Sunnyvale, CA 94088:Sunnyvale, CA @@ -42157,3 +42158,4 @@ 99645:Palmer, AK 99647:Pedro Bay, AK 99648:Perryville, AK +CH-5073:Gipf-Oberfrick, Switzerland diff --git a/share/mk/Makefile b/share/mk/Makefile index fc0fa6e2e..44ebda5fa 100644 --- a/share/mk/Makefile +++ b/share/mk/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.46 2011/10/07 16:29:40 plunky Exp $ +# $NetBSD: Makefile,v 1.47 2012/11/15 23:51:53 joerg Exp $ # @(#)Makefile 8.1 (Berkeley) 6/8/93 NOOBJ= # defined @@ -6,8 +6,8 @@ NOOBJ= # defined .include .if ${MKSHARE} != "no" -FILES= bsd.README bsd.clang-analyze.mk bsd.clean.mk bsd.dep.mk bsd.doc.mk \ - bsd.endian.mk bsd.files.mk \ +FILES= bsd.README bsd.buildinstall.mk bsd.clang-analyze.mk bsd.clean.mk \ + bsd.dep.mk bsd.doc.mk bsd.endian.mk bsd.files.mk \ bsd.gcc.mk bsd.hostlib.mk bsd.hostprog.mk bsd.inc.mk bsd.info.mk \ bsd.init.mk bsd.ioconf.mk bsd.kernobj.mk bsd.kinc.mk bsd.klinks.mk \ bsd.kmodule.mk bsd.lib.mk bsd.links.mk bsd.lua.mk \ @@ -15,8 +15,10 @@ FILES= bsd.README bsd.clang-analyze.mk bsd.clean.mk bsd.dep.mk bsd.doc.mk \ bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.rpc.mk bsd.shlib.mk \ bsd.subdir.mk bsd.sys.mk bsd.test.mk bsd.x11.mk sys.mk +.if defined(__MINIX) # MINIX-specific files FILES+= minix.service.mk minix.gcov.mk +.endif # defined(__MINIX) FILESDIR=/usr/share/mk .endif diff --git a/share/mk/bsd.README b/share/mk/bsd.README index 3b055fd75..907440e6e 100644 --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -1,4 +1,4 @@ -# $NetBSD: bsd.README,v 1.318 2013/06/02 11:02:40 mbalmer Exp $ +# $NetBSD: bsd.README,v 1.322 2013/11/11 10:24:53 joerg Exp $ # @(#)bsd.README 8.2 (Berkeley) 4/2/94 This is the README file for the make "include" files for the NetBSD @@ -352,7 +352,7 @@ MKSKEY If "no", disables building of S/key authentication infrastructure (libraries and support programs). Default: yes -MKSLJIT If "no", disables buildin of sljit (stack-less platform +MKSLJIT If "no", disables building of sljit (stack-less platform independent JIT compiler) private library and tests. Default: yes on amd64, i386 and sparc, no elsewhere. @@ -1485,6 +1485,7 @@ DPADD Additional dependencies for the program. Usually used for LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a LIBCOM_ERR?= ${DESTDIR}/usr/lib/libcom_err.a LIBCRT0?= ${DESTDIR}/usr/lib/crt0.o + LIBCRTI?= ${DESTDIR}/usr/lib/crti.o LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a LIBCRYPTO?= ${DESTDIR}/usr/lib/libcrypto.a LIBCRYPTO_IDEA?=${DESTDIR}/usr/lib/libcrypto_idea.a @@ -1594,6 +1595,7 @@ DPADD Additional dependencies for the program. Usually used for LIBXTRAP?= ${DESTDIR}/usr/X11R7/lib/libXTrap.a LIBXAU?= ${DESTDIR}/usr/X11R7/lib/libXau.a LIBXAW?= ${DESTDIR}/usr/X11R7/lib/libXaw.a + LIBXCB?= ${DESTDIR}/usr/X11R7/lib/libxcb.a LIBXDMCP?= ${DESTDIR}/usr/X11R7/lib/libXdmcp.a LIBXEXT?= ${DESTDIR}/usr/X11R7/lib/libXext.a LIBXFONT?= ${DESTDIR}/usr/X11R7/lib/libXfont.a @@ -1808,6 +1810,8 @@ MAKE make(1). [make] MKDEP Construct Makefile dependency list. [mkdep] +MKDEPCXX Construct Makefile dependency list for C++ files. [mkdep] + NM List symbols from object files. [nm] PC Pascal compiler. [pc] (Not present) diff --git a/share/mk/bsd.buildinstall.mk b/share/mk/bsd.buildinstall.mk new file mode 100644 index 000000000..87c65b366 --- /dev/null +++ b/share/mk/bsd.buildinstall.mk @@ -0,0 +1,29 @@ +# $NetBSD: bsd.buildinstall.mk,v 1.1 2012/11/15 23:51:53 joerg Exp $ + +# +# build_install logic for src/Makefile +# Used by src/lib/Makefile and src/tools/Makefile. +# +# Compute a list of subdirectories delimited by .WAIT. +# Run "make dependall && make install" for all subdirectories in a group +# concurrently, but wait after each group. +# +SUBDIR_GROUPS= 1 +CUR_GROUP:= 1 +.for dir in ${SUBDIR} +. if ${dir} == ".WAIT" +CUR_GROUP:= ${CUR_GROUP}1 +SUBDIR_GROUPS:= ${SUBDIR_GROUPS} ${CUR_GROUP} +. else +SUBDIR_GROUP.${CUR_GROUP}+= ${dir} +.endif + +.endfor + +build_install: +.for group in ${SUBDIR_GROUPS} +. if !empty(SUBDIR_GROUP.${group}) + ${MAKEDIRTARGET} . ${SUBDIR_GROUP.${group}:C/^/dependall-/} + ${MAKEDIRTARGET} . ${SUBDIR_GROUP.${group}:C/^/install-/} +. endif +.endfor diff --git a/share/mk/bsd.clean.mk b/share/mk/bsd.clean.mk index 32fba13b1..61b34b6d8 100644 --- a/share/mk/bsd.clean.mk +++ b/share/mk/bsd.clean.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.clean.mk,v 1.5 2011/11/22 18:25:48 apb Exp $ +# $NetBSD: bsd.clean.mk,v 1.8 2012/11/19 16:04:54 apb Exp $ # # @@ -15,10 +15,16 @@ # the clean target. # # MKCLEANSRC Whether or not to clean the source directory -# in addition to the object directory. +# in addition to the object directory. Defaults to "yes". # # MKCLEANVERIFY Whether or not to verify that the file deletion worked. +# Defaults to "yes". # +# The files listed in CLEANFILES and CLEANDIRFILES must not be +# directories, because the potential risk from running "rm -rf" commands +# in bsd.clean.mk is considered too great. If you want to recursively +# delete a directory as part of "make clean" or "make cleandir" then you +# need to provide your own target. .if !defined(_BSD_CLEAN_MK_) _BSD_CLEAN_MK_=1 @@ -65,10 +71,12 @@ __cleanuse: .USE (cd ${_d} && rm -f ${.ALLSRC:@v@${${v}}@} || true) } .if "${MKCLEANVERIFY}" == "yes" @${"${.ALLSRC:@v@${${v}:M*}@:Q}" == "":?true: \ - bad="\$(cd ${_d} && ls -d ${.ALLSRC:@v@${${v}}@} 2>/dev/null)"; \ + bad="\$(cd ${_d} && ls -1d ${.ALLSRC:@v@${${v}}@} 2>/dev/null)"; \ if test -n "\$bad"; then \ - echo "Failed to remove files from ${_d}:" ; \ - echo "\$bad" ; \ + echo "Failed to remove the following files from ${_d}:" ; \ + echo "\$bad" | while read file ; do \ + echo " \$file" ; \ + done ; \ false ; \ fi } .endif diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk index 5101b1b85..e13ecaa30 100644 --- a/share/mk/bsd.dep.mk +++ b/share/mk/bsd.dep.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.dep.mk,v 1.74 2012/02/19 23:19:37 matt Exp $ +# $NetBSD: bsd.dep.mk,v 1.79 2013/10/31 01:55:03 mrg Exp $ ##### Basic targets realdepend: beforedepend .depend afterdepend @@ -8,12 +8,13 @@ beforedepend .depend afterdepend: # ensure existence ##### Default values MKDEP?= mkdep +MKDEPCXX?= mkdep MKDEP_SUFFIXES?= .o ##### Build rules # some of the rules involve .h sources, so remove them from mkdep line -.if defined(SRCS) # { +.if defined(SRCS) && !empty(SRCS) __acpp_flags= ${_ASM_TRADITIONAL_CPP} .if defined(NODPSRCS) @@ -41,11 +42,28 @@ __DPSRCS.d+= ${__DPSRCS.bcd} ${__DPSRCS.d}: ${__DPSRCS.notd} ${DPSRCS} .endif # } +MKDEPSUFFLAGS=-s ${MKDEP_SUFFIXES:Q} + +.if defined(MKDEPINCLUDES) && ${MKDEPINCLUDES} != "no" +.STALE: + @echo Rebuilding dependency file: ${.ALLSRC} + @rm -f ${.ALLSRC} + @(cd ${.CURDIR} && ${MAKE} depend) +_MKDEP_MERGEFLAGS=-i +_MKDEP_FILEFLAGS=${MKDEPSUFFLAGS} +.else +_MKDEP_MERGEFLAGS=${MKDEPSUFFLAGS} +_MKDEP_FILEFLAGS= +.endif + .depend: ${__DPSRCS.d} ${_MKTARGET_CREATE} rm -f .depend - ${MKDEP} -d -f ${.TARGET} -s ${MKDEP_SUFFIXES:Q} ${__DPSRCS.d} + ${MKDEP} ${_MKDEP_MERGEFLAGS} -d -f ${.TARGET} ${__DPSRCS.d} +.if !defined(__MINIX) +.SUFFIXES: .d .s .S .c .C .cc .cpp .cxx .m +.else .SUFFIXES: .bcd .d .s .S .c .C .cc .cpp .cxx .m .if ${USE_BITCODE:Uno} == "yes" @@ -54,43 +72,52 @@ ${__DPSRCS.d}: ${__DPSRCS.notd} ${DPSRCS} ${MKDEP} -f ${.TARGET} -s .bc -- ${MKDEPFLAGS} \ ${CFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \ ${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -.endif +.endif # ${USE_BITCODE:Uno} == "yes" +.endif # !defined(__MINIX) .c.d: ${_MKTARGET_CREATE} - ${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} \ + ${MKDEP} -f ${.TARGET}.tmp ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \ ${CFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \ - ${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} + ${CPPFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \ + ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} && \ + mv ${.TARGET}.tmp ${.TARGET} .m.d: ${_MKTARGET_CREATE} - ${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} \ + ${MKDEP} -f ${.TARGET}.tmp ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \ ${OBJCFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \ - ${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} + ${CPPFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \ + ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} && \ + mv ${.TARGET}.tmp ${.TARGET} .s.d .S.d: ${_MKTARGET_CREATE} - ${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} \ + ${MKDEP} -f ${.TARGET}.tmp ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \ ${AFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \ - ${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${__acpp_flags} ${.IMPSRC} + ${CPPFLAGS} ${AFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} \ + ${__acpp_flags} ${.IMPSRC} && \ + mv ${.TARGET}.tmp ${.TARGET} .C.d .cc.d .cpp.d .cxx.d: ${_MKTARGET_CREATE} - ${MKDEP} -f ${.TARGET} -- ${MKDEPFLAGS} \ + ${MKDEPCXX} -f ${.TARGET}.tmp ${_MKDEP_FILEFLAGS} -- ${MKDEPFLAGS} \ ${CXXFLAGS:C/-([IDU])[ ]*/-\1/Wg:M-[IDU]*} \ - ${CPPFLAGS} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} + ${CPPFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} \ + ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} && \ + mv ${.TARGET}.tmp ${.TARGET} -.endif # defined(SRCS) # } +.endif # defined(SRCS) && !empty(SRCS) # } ##### Clean rules -.if defined(SRCS) -CLEANDIRFILES+= .depend ${__DPSRCS.d} ${.CURDIR}/tags ${CLEANDEPEND} +.if defined(SRCS) && !empty(SRCS) +CLEANDIRFILES+= .depend ${__DPSRCS.d} ${__DPSRCS.d:.d=.d.tmp} ${.CURDIR}/tags ${CLEANDEPEND} .endif ##### Custom rules .if !target(tags) tags: ${SRCS} -.if defined(SRCS) +.if defined(SRCS) && !empty(SRCS) -cd "${.CURDIR}"; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \ ${TOOL_SED} "s;\${.CURDIR}/;;" > tags .endif diff --git a/share/mk/bsd.endian.mk b/share/mk/bsd.endian.mk index 5908616f4..846fd5c8d 100644 --- a/share/mk/bsd.endian.mk +++ b/share/mk/bsd.endian.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.endian.mk,v 1.16 2012/08/05 04:11:35 matt Exp $ +# $NetBSD: bsd.endian.mk,v 1.19 2013/08/05 15:33:07 matt Exp $ .if !defined(_BSD_ENDIAN_MK_) _BSD_ENDIAN_MK_=1 @@ -7,14 +7,15 @@ _BSD_ENDIAN_MK_=1 .if ${MACHINE_ARCH} == "alpha" || \ ${MACHINE_ARCH} == "arm" || \ - ${MACHINE_ARCH} == "earm" || \ + (!empty(MACHINE_ARCH:Mearm*) && empty(MACHINE_ARCH:Mearm*eb)) || \ ${MACHINE_ARCH} == "i386" || \ ${MACHINE_ARCH} == "ia64" || \ ${MACHINE_ARCH} == "vax" || \ ${MACHINE_ARCH} == "x86_64" || \ ${MACHINE_ARCH:C/^.*el$/el/} == "el" TARGET_ENDIANNESS= 1234 -.elif ${MACHINE_ARCH} == "hppa" || \ +.elif ${MACHINE_ARCH} == "coldfire" || \ + ${MACHINE_ARCH} == "hppa" || \ ${MACHINE_ARCH} == "m68000" || \ ${MACHINE_ARCH} == "m68k" || \ ${MACHINE_ARCH} == "powerpc" || \ diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index fcc000176..4a1df65d5 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.files.mk,v 1.42 2011/09/10 16:57:35 apb Exp $ +# $NetBSD: bsd.files.mk,v 1.43 2013/04/06 15:39:19 uebayasi Exp $ .if !defined(_BSD_FILES_MK_) _BSD_FILES_MK_=1 @@ -136,13 +136,17 @@ CLEANDIRFILES+= ${BUILDSYMLINKS.t} .uue: ${_MKTARGET_CREATE} - rm -f ${.TARGET} ${.TARGET}.tmp - ${TOOL_UUDECODE} -p ${.IMPSRC} > ${.TARGET}.tmp \ - && mv ${.TARGET}.tmp ${UUDECODE_FILES_RENAME_${.TARGET}:U${.TARGET}} + rm -f ${.TARGET} + ${TOOL_UUDECODE} -p ${.IMPSRC} > ${.TARGET} + +.if defined(UUDECODE_FILES_RENAME_${UUDECODE_FILES}) +${UUDECODE_FILES_RENAME_${UUDECODE_FILES}}: ${UUDECODE_FILES} + cp ${.ALLSRC} ${.TARGET} +.endif realall: ${UUDECODE_FILES} -CLEANUUDECODE_FILES=${UUDECODE_FILES} ${UUDECODE_FILES:=.tmp} +CLEANUUDECODE_FILES=${UUDECODE_FILES} .for i in ${UUDECODE_FILES} CLEANUUDECODE_FILES+=${UUDECODE_FILES_RENAME_${i}} .endfor diff --git a/share/mk/bsd.gcc.mk b/share/mk/bsd.gcc.mk index ddf04e6d7..92afb7445 100644 --- a/share/mk/bsd.gcc.mk +++ b/share/mk/bsd.gcc.mk @@ -1,15 +1,23 @@ -# $NetBSD: bsd.gcc.mk,v 1.4 2012/07/19 19:42:45 christos Exp $ +# $NetBSD: bsd.gcc.mk,v 1.10 2012/12/10 23:49:39 pooka Exp $ .if !defined(_BSD_GCC_MK_) _BSD_GCC_MK_=1 .if defined(EXTERNAL_TOOLCHAIN) _GCC_CRTBEGIN!= ${CC} --print-file-name=crtbegin.o +.ifndef _GCC_CRTBEGINS _GCC_CRTBEGINS!= ${CC} --print-file-name=crtbeginS.o +.endif _GCC_CRTEND!= ${CC} --print-file-name=crtend.o +.ifndef _GCC_CRTENDS _GCC_CRTENDS!= ${CC} --print-file-name=crtendS.o +.endif +.ifndef _GCC_CRTI _GCC_CRTI!= ${CC} --print-file-name=crti.o +.endif +.ifndef _GCC_CRTN _GCC_CRTN!= ${CC} --print-file-name=crtn.o +.endif _GCC_CRTDIR!= dirname ${_GCC_CRTBEGIN} _GCC_LIBGCCDIR!= dirname `${CC} --print-libgcc-file-name` .else diff --git a/share/mk/bsd.hostlib.mk b/share/mk/bsd.hostlib.mk index f757e7b9c..177b5df7c 100644 --- a/share/mk/bsd.hostlib.mk +++ b/share/mk/bsd.hostlib.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.hostlib.mk,v 1.16 2011/09/10 16:57:35 apb Exp $ +# $NetBSD: bsd.hostlib.mk,v 1.17 2013/10/29 16:11:46 joerg Exp $ .include .include @@ -8,10 +8,12 @@ ##### Default values CFLAGS+= ${COPTS} HOST_MKDEP?= CC=${HOST_CC:Q} mkdep +HOST_MKDEPCXX?= CC=${HOST_CXX:Q} mkdep MKDEP_SUFFIXES?= .o .lo # Override these: MKDEP:= ${HOST_MKDEP} +MKDEPCXX:= ${HOST_MKDEPCXX} .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN) OBJHOSTMACHINE= # set diff --git a/share/mk/bsd.hostprog.mk b/share/mk/bsd.hostprog.mk index b416429a2..5bc907a69 100644 --- a/share/mk/bsd.hostprog.mk +++ b/share/mk/bsd.hostprog.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.hostprog.mk,v 1.71 2013/06/14 16:10:02 tsutsui Exp $ +# $NetBSD: bsd.hostprog.mk,v 1.72 2013/10/29 16:11:46 joerg Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .include @@ -82,11 +82,13 @@ LIBRUMPFS_UDF?= /usr/lib/librumpfs_udf.a LIBRUMPFS_UFS?= /usr/lib/librumpfs_ufs.a HOST_MKDEP?= CC=${HOST_CC:Q} mkdep +HOST_MKDEPCXX?= CC=${HOST_CXX:Q} mkdep MKDEP_SUFFIXES?= .lo .ln # Override these: INSTALL:= ${INSTALL:NSTRIP=*} MKDEP:= ${HOST_MKDEP} +MKDEPCXX:= ${HOST_MKDEPCXX} .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN) OBJHOSTMACHINE= # set diff --git a/share/mk/bsd.ioconf.mk b/share/mk/bsd.ioconf.mk index 009f78c31..93d414431 100644 --- a/share/mk/bsd.ioconf.mk +++ b/share/mk/bsd.ioconf.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.ioconf.mk,v 1.3 2010/03/25 20:37:36 pooka Exp $ +# $NetBSD: bsd.ioconf.mk,v 1.4 2013/09/20 16:39:14 pooka Exp $ # .include @@ -18,7 +18,7 @@ CONFIGDEP=${TOOL_CONFIG} .endif ioconf.c: ${IOCONF} ${CONFIGDEP} - ${TOOL_CONFIG} -b ${.OBJDIR} -s ${S} ${.CURDIR}/${IOCONF} + ${TOOL_CONFIG} -b ${.OBJDIR} -s ${S} ${IOCONFDIR:U${.CURDIR}}/${IOCONF} # config doesn't change the files if they're unchanged. however, # here we want to satisfy our make dependency, so force a # timestamp update diff --git a/share/mk/bsd.kernobj.mk b/share/mk/bsd.kernobj.mk index 5d4184d62..ba3c9ed0d 100644 --- a/share/mk/bsd.kernobj.mk +++ b/share/mk/bsd.kernobj.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.kernobj.mk,v 1.13 2010/01/25 00:43:00 christos Exp $ +# $NetBSD: bsd.kernobj.mk,v 1.14 2013/06/03 07:39:07 mrg Exp $ # KERNSRCDIR Is the location of the top of the kernel src. # It defaults to `${NETBSDSRCDIR}/sys'. @@ -7,9 +7,14 @@ # It defaults to `arch/${MACHINE}', but may be overridden # in case ${MACHINE} is not correct. # -# KERNCONFDIR Is where the configuration files for kernels are found. +# KERNCONFDIRDEFAULT Is the default for ${KERNCONFDIR}. # It defaults to `${KERNSRCDIR}/${KERNARCHDIR}/conf'. # +# KERNCONFDIR Is where the configuration files for kernels are found. +# Users can set this to have build.sh find kernel +# configurations in another directory. +# It defaults to `${KERNCONFDIRDEFAULT}'. +# # KERNOBJDIR Is the kernel build directory. The kernel GENERIC for # instance will be compiled in ${KERNOBJDIR}/GENERIC. # The default is the .OBJDIR of @@ -18,9 +23,11 @@ .include -KERNSRCDIR?= ${NETBSDSRCDIR}/sys -KERNARCHDIR?= arch/${MACHINE} -KERNCONFDIR?= ${KERNSRCDIR}/${KERNARCHDIR}/conf +KERNSRCDIR?= ${NETBSDSRCDIR}/sys +KERNARCHDIR?= arch/${MACHINE} +KERNCONFDIRDEFAULT?= ${KERNSRCDIR}/${KERNARCHDIR}/conf +KERNCONFDIR?= ${KERNCONFDIRDEFAULT} + .if !defined(KERNOBJDIR) && exists(${KERNSRCDIR}/${KERNARCHDIR}/compile) KERNOBJDIR!= cd "${KERNSRCDIR}/${KERNARCHDIR}/compile" && ${PRINTOBJDIR} .endif diff --git a/share/mk/bsd.klinks.mk b/share/mk/bsd.klinks.mk index 81a845fc4..b3db5ff29 100644 --- a/share/mk/bsd.klinks.mk +++ b/share/mk/bsd.klinks.mk @@ -1,8 +1,10 @@ -# $NetBSD: bsd.klinks.mk,v 1.9 2011/07/10 23:50:24 matt Exp $ +# $NetBSD: bsd.klinks.mk,v 1.11 2013/08/21 15:26:44 matt Exp $ # .include +KLINK_MACHINE?= ${MACHINE} + ##### Default values .if !defined(S) .if defined(NETBSDSRCDIR) @@ -14,20 +16,20 @@ S= /sys .endif .endif -CLEANFILES+= machine ${MACHINE_CPU} ${MACHINE} -.if ${MACHINE} == "sun2" || ${MACHINE} == "sun3" +CLEANFILES+= machine ${MACHINE_CPU} ${KLINK_MACHINE} +.if ${KLINK_MACHINE} == "sun2" || ${KLINK_MACHINE} == "sun3" CLEANFILES+= sun68k -.elif ${MACHINE} == "sparc64" +.elif ${KLINK_MACHINE} == "sparc64" CLEANFILES+= sparc -.elif ${MACHINE} == "i386" +.elif ${KLINK_MACHINE} == "i386" CLEANFILES+= x86 -.elif ${MACHINE} == "amd64" +.elif ${KLINK_MACHINE} == "amd64" CLEANFILES+= x86 i386 -.elif ${MACHINE} == "evbmips" +.elif ${KLINK_MACHINE} == "evbmips" CLEANFILES+= algor sbmips .endif -.if defined(XEN_BUILD) || ${MACHINE} == "xen" +.if defined(XEN_BUILD) || ${KLINK_MACHINE} == "xen" CLEANFILES+= xen xen-ma/machine # xen-ma CPPFLAGS+= -I${.OBJDIR}/xen-ma .if ${MACHINE_CPU} == "i386" @@ -40,39 +42,37 @@ CLEANFILES+= x86 .if !make(obj) && !make(clean) && !make(cleandir) .BEGIN: @rm -f machine && \ - ln -s $S/arch/${MACHINE}/include machine - @rm -f ${MACHINE} && \ - ln -s $S/arch/${MACHINE}/include ${MACHINE} + ln -s $S/arch/${KLINK_MACHINE}/include machine + @rm -f ${KLINK_MACHINE} && \ + ln -s $S/arch/${KLINK_MACHINE}/include ${KLINK_MACHINE} @if [ -d $S/arch/${MACHINE_CPU} ]; then \ rm -f ${MACHINE_CPU} && \ ln -s $S/arch/${MACHINE_CPU}/include ${MACHINE_CPU}; \ fi # XXX. it gets worse.. -.if ${MACHINE} == "sun2" || ${MACHINE} == "sun3" +.if ${KLINK_MACHINE} == "sun2" || ${KLINK_MACHINE} == "sun3" @rm -f sun68k && \ ln -s $S/arch/sun68k/include sun68k .endif -.if ${MACHINE} == "sparc64" +.if ${KLINK_MACHINE} == "sparc64" @rm -f sparc && \ ln -s $S/arch/sparc/include sparc .endif -.if ${MACHINE} == "amd64" - @rm -f x86 && \ - ln -s $S/arch/x86/include x86 +.if ${KLINK_MACHINE} == "amd64" @rm -f i386 && \ ln -s $S/arch/i386/include i386 .endif -.if ${MACHINE_CPU} == "i386" +.if ${MACHINE_CPU} == "i386" || ${MACHINE_CPU} == "x86_64" @rm -f x86 && \ ln -s $S/arch/x86/include x86 .endif -.if defined(XEN_BUILD) || ${MACHINE} == "xen" +.if defined(XEN_BUILD) || ${KLINK_MACHINE} == "xen" @rm -f xen && \ ln -s $S/arch/xen/include xen @rm -rf xen-ma && mkdir xen-ma && \ ln -s ../${XEN_BUILD:U${MACHINE_ARCH}} xen-ma/machine .endif -.if ${MACHINE} == "evbmips" +.if ${KLINK_MACHINE} == "evbmips" @rm -f algor && \ ln -s $S/arch/algor/include algor @rm -f sbmips && \ diff --git a/share/mk/bsd.kmodule.mk b/share/mk/bsd.kmodule.mk index ee8aa573e..8c42228f8 100644 --- a/share/mk/bsd.kmodule.mk +++ b/share/mk/bsd.kmodule.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.kmodule.mk,v 1.37 2012/08/10 16:34:23 joerg Exp $ +# $NetBSD: bsd.kmodule.mk,v 1.41 2013/11/09 22:40:15 jmcneill Exp $ # We are not building this with PIE MKPIE=no @@ -27,6 +27,8 @@ CFLAGS+= -fno-strict-aliasing -Wno-pointer-sign # relocations inside the loader and removing this workaround, as the # resulting code would be much faster. .if ${MACHINE_CPU} == "arm" +CFLAGS+= -fno-common -fno-unwind-tables +.elif ${MACHINE_CPU} == "hppa" CFLAGS+= -mlong-calls .elif ${MACHINE_CPU} == "powerpc" CFLAGS+= -mlongcall @@ -34,6 +36,11 @@ CFLAGS+= -mlongcall CFLAGS+= -fno-pic .endif +.if ${MACHINE} == "sparc64" +# force same memory model as rest of the kernel +CFLAGS+= -mcmodel=medlow +.endif + # evbppc needs some special help .if ${MACHINE} == "evbppc" @@ -102,11 +109,46 @@ OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ${OBJS} ${LOBJS}: ${DPSRCS} +.if ${MACHINE_CPU} == "arm" +# The solution to limited branch space involves generating trampolines for +# those relocations while creating the module, as the resulting code will +# be much faster and simplifies the loader. +ARCHDIR= $S/modules/arch/${MACHINE_CPU} +ASM_H= $S/arch/${MACHINE_CPU}/include/asm.h +CLEANFILES+= tmp.o tmp.S ${KMOD}_tmp.o ${KMOD}_tramp.o ${KMOD}_tramp.S +${KMOD}_tmp.o: ${OBJS} ${DPADD} + ${_MKTARGET_LINK} + ${LD} -r -o tmp.o ${OBJS} + ${LD} -r \ + `${OBJDUMP} --syms --reloc tmp.o | \ + ${TOOL_AWK} -f ${ARCHDIR}/kmodwrap.awk` \ + -o ${.TARGET} tmp.o + +${KMOD}_tramp.S: ${KMOD}_tmp.o ${ARCHDIR}/kmodtramp.awk ${ASM_H} + ${_MKTARGET_CREATE} + ${OBJDUMP} --syms --reloc ${KMOD}_tmp.o | \ + ${TOOL_AWK} -f ${ARCHDIR}/kmodtramp.awk \ + > tmp.S && \ + mv tmp.S ${.TARGET} + +${PROG}: ${KMOD}_tmp.o ${KMOD}_tramp.o + ${_MKTARGET_LINK} +.if exists(${ARCHDIR}/kmodhide.awk) + ${LD} -r -o tmp.o ${KMOD}_tmp.o ${KMOD}_tramp.o + ${OBJCOPY} \ + `${NM} tmp.o | ${TOOL_AWK} -f ${ARCHDIR}/kmodhide.awk` \ + tmp.o ${.TARGET} && \ + rm tmp.o +.else + ${LD} -r -o ${.TARGET} ${KMOD}_tmp.o ${KMOD}_tramp.o +.endif +.else ${PROG}: ${OBJS} ${DPADD} ${_MKTARGET_LINK} ${CC} ${LDFLAGS} -nostdlib -r -Wl,-T,${KMODSCRIPT},-d \ -o ${.TARGET} ${OBJS} .endif +.endif ##### Install rules .if !target(kmodinstall) diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index e1b2f0805..f75ef9890 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.lib.mk,v 1.324 2012/08/23 21:21:16 joerg Exp $ +# $NetBSD: bsd.lib.mk,v 1.342 2013/10/18 16:06:52 christos Exp $ # @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 .include @@ -11,15 +11,15 @@ LIBISMODULE?= no LIBISPRIVATE?= no LIBISCXX?= no -_LIB_PREFIX= lib - .if ${LIBISMODULE} != "no" -_LIB_PREFIX= # empty +_LIB_PREFIX?= # empty MKDEBUGLIB:= no MKLINT:= no MKPICINSTALL:= no MKPROFILE:= no MKSTATICLIB:= no +.else +_LIB_PREFIX?= lib .endif .if ${LIBISPRIVATE} != "no" @@ -54,8 +54,12 @@ AFLAGS+= ${PIE_AFLAGS} LIBDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR} .MAKEOVERRIDES+=LIBDO.${_lib} .endif +.if ${LIBDO.${_lib}} == "_external" +LDADD+= -l${_lib} +.else LDADD+= -L${LIBDO.${_lib}} -l${_lib} -DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so +DPADD+= ${LIBDO.${_lib}}/lib${_lib}.so # Don't use _LIB_PREFIX +.endif .endfor .endif # } @@ -76,7 +80,7 @@ checkver: @(cd "${.CURDIR}" && \ HOST_SH=${HOST_SH:Q} AWK=${TOOL_AWK:Q} \ ${HOST_SH} ${NETBSDSRCDIR}/lib/checkver -v ${SHLIB_VERSION_FILE} \ - -d ${DESTDIR}${_LIBSODIR} ${LIB}) + -d ${_DEST.OBJ} ${LIB}) .endif .endif # } @@ -125,7 +129,7 @@ SHLIB_FULLVERSION=${SHLIB_MAJOR} # Set PICFLAGS to cc flags for producing position-independent code, -# if not already set. Includes -DPIC, if required. +# if not already set. # Data-driven table using make variables to control how shared libraries # are built for different platforms and object formats. @@ -139,48 +143,11 @@ SHLIB_FULLVERSION=${SHLIB_MAJOR} # with ELF, also set shared-lib version for ld.so. # SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors # SHLIB_LDENDFILE: support .o file, call C++ file-level destructors -# FPICFLAGS: flags for ${FC} to compile .[fF] files to .pico objects. -# CPPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS} -# CPICFLAGS: flags for ${CC} to compile .[cC] files to pic objects. -# CSHLIBFLAGS: flags for ${CC} to compile .[cC] files to .pico objects. -# (usually includes ${CPICFLAGS}) -# CAPICFLAGS: flags for ${CC} to compiling .[Ss] files -# (usually just ${CPPPICFLAGS} ${CPICFLAGS}) -# APICFLAGS: flags for ${AS} to assemble .[sS] to .pico objects. -.if ${MACHINE_ARCH} == "alpha" # { - -FPICFLAGS ?= -fPIC -CPICFLAGS ?= -fPIC -DPIC -CPPPICFLAGS?= -DPIC -CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} -APICFLAGS ?= - -.elif (${MACHINE_ARCH} == "sparc" || ${MACHINE_ARCH} == "sparc64") # } { - -# If you use -fPIC you need to define BIGPIC to turn on 32-bit -# relocations in asm code -FPICFLAGS ?= -fPIC -CPICFLAGS ?= -fPIC -DPIC -CPPPICFLAGS?= -DPIC -DBIGPIC -CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} -APICFLAGS ?= -KPIC - -.else # } { - -# Platform-independent flags for NetBSD shared libraries -SHLIB_SOVERSION=${SHLIB_FULLVERSION} -SHLIB_SHFLAGS= -FPICFLAGS ?= -fPIC -CPICFLAGS?= -fPIC -DPIC -CPPPICFLAGS?= -DPIC -CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} -APICFLAGS?= -k - -.endif # } +PICFLAGS ?= -fPIC .if ${MKPICLIB} != "no" -CSHLIBFLAGS+= ${CPICFLAGS} +CSHLIBFLAGS+= ${PICFLAGS} .endif .if defined(CSHLIBFLAGS) && !empty(CSHLIBFLAGS) @@ -189,13 +156,24 @@ MKSHLIBOBJS= yes MKSHLIBOBJS= no .endif +.if (defined(MKDEBUG) && (${MKDEBUG} != "no")) || \ + (defined(CFLAGS) && !empty(CFLAGS:M*-g*)) +# We only add -g to the shared library objects +# because we don't currently split .a archives. +CSHLIBFLAGS+= -g +.if ${LIBISPRIVATE} == "yes" +CFLAGS+= -g +.endif +.endif + # Platform-independent linker flags for ELF shared libraries SHLIB_SOVERSION= ${SHLIB_MAJOR} -SHLIB_SHFLAGS= -Wl,-soname,${_LIB_PREFIX}${LIB}.so.${SHLIB_SOVERSION} +SHLIB_SHFLAGS= -Wl,-soname,${_LIB}.so.${SHLIB_SOVERSION} SHLIB_SHFLAGS+= -Wl,--warn-shared-textrel -.if defined(__MINIX) -SHLIB_SHFLAGS+= ${${HAVE_GOLD:Uno} != "no":? -Wl,--script,${LDS_SHARED_LIB}:} -.endif # defined(__MINIX) +.if !defined(SHLIB_MKMAP) || ${SHLIB_MKMAP} != "no" +SHLIB_SHFLAGS+= -Wl,-Map=${_LIB}.so.${SHLIB_SOVERSION}.map +.endif +CLEANFILES+= ${_LIB}.so.${SHLIB_SOVERSION}.map SHLIB_LDSTARTFILE?= ${_GCC_CRTI} ${_GCC_CRTBEGINS} SHLIB_LDENDFILE?= ${_GCC_CRTENDS} ${_GCC_CRTN} @@ -210,23 +188,42 @@ CTFFLAGS+= -g .endif .endif -.if ${USE_BITCODE:Uno} == "yes" +LIBSTRIPAOBJS= yes +.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +LIBSTRIPCOBJS= yes +.endif +.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) +LIBSTRIPOBJCOBJS= yes +.endif +.if !defined(FFLAGS) || empty(FFLAGS:M*-g*) +LIBSTRIPFOBJS= yes +.endif +.if !defined(CSHLIBFLAGS) || empty(CSHLIBFLAGS:M*-g*) +LIBSTRIPSHLIBOBJS= yes +.endif + +.if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes" + +SHLIB_SHFLAGS+= ${${HAVE_GOLD:Uno} != "no":? -Wl,--script,${LDS_SHARED_LIB}:} + .S.bc: ${.TARGET:.bc=.o} rm -f ${.TARGET} ln ${.TARGET:.bc=.o} ${.TARGET} .c.bc: ${_MKTARGET_COMPILE} - ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o - -Qunused-arguments -E -D"__weak_alias(X, Y)=__weak_alias2( __WEAK__ ## X, __WEAK__ ## Y)" \ + ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o - \ + -Qunused-arguments -E -D"__weak_alias(X, Y)=__weak_alias2( __WEAK__ ## X, __WEAK__ ## Y)" \ | sed 's/__WEAK__//g' \ - | ${COMPILE.c} -flto ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -x c - -o ${.TARGET} -D"STRINGIFY(a)=#a" -D"__weak_alias2(X, Y)=_Pragma(STRINGIFY(weak X = Y))" -.endif # ${USE_BITCODE:Uno} == "yes" + | ${COMPILE.c} -flto ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -x c - \ + -o ${.TARGET} -D"STRINGIFY(a)=#a" -D"__weak_alias2(X, Y)=_Pragma(STRINGIFY(weak X = Y))" +.endif # defined(__MINIX) && ${USE_BITCODE:Uno} == "yes" .c.o: ${_MKTARGET_COMPILE} ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -236,7 +233,7 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -247,21 +244,21 @@ CTFFLAGS+= -g .c.pico: ${_MKTARGET_COMPILE} ${COMPILE.c} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPSHLIBOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif .cc.o .cpp.o .cxx.o .C.o: ${_MKTARGET_COMPILE} ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif .cc.po .cpp.po .cxx.po .C.po: ${_MKTARGET_COMPILE} ${COMPILE.cc} ${PROFFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} -pg ${.IMPSRC} -o ${.TARGET} -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -272,7 +269,7 @@ CTFFLAGS+= -g .cc.pico .cpp.pico .cxx.pico .C.pico: ${_MKTARGET_COMPILE} ${COMPILE.cc} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${CSHLIBFLAGS} ${.IMPSRC} -o ${.TARGET} -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPSHLIBOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -282,7 +279,7 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif -.if !defined(FOPTS) || empty(FOPTS:M*-g*) +.if defined(LIBSTRIPFOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -292,7 +289,7 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif -.if !defined(FOPTS) || empty(FOPTS:M*-g*) +.if defined(LIBSTRIPFOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -302,8 +299,8 @@ CTFFLAGS+= -g .f.pico: ${_MKTARGET_COMPILE} - ${COMPILE.f} ${FPICFLAGS} ${.IMPSRC} -o ${.TARGET} -.if !defined(FOPTS) || empty(FOPTS:M*-g*) + ${COMPILE.f} ${PICFLAGS} ${.IMPSRC} -o ${.TARGET} +.if defined(LIBSTRIPFOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -317,7 +314,7 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif -.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) +.if defined(LIBSTRIPOBJCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -327,21 +324,21 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif -.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) +.if defined(LIBSTRIPOBJCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif .m.go: ${_MKTARGET_COMPILE} ${COMPILE.m} ${DEBUGFLAGS} -g ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} -.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) +.if defined(LIBSTRIPOBJCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif .m.pico: ${_MKTARGET_COMPILE} ${COMPILE.m} ${CSHLIBFLAGS} ${OBJCOPTS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} -.if !defined(OBJCFLAGS) || empty(OBJCFLAGS:M*-g*) +.if defined(LIBSTRIPOBJCOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} .endif @@ -351,7 +348,9 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif +.if defined(LIBSTRIPAOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} +.endif .S.o: ${_MKTARGET_COMPILE} @@ -359,7 +358,9 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif +.if defined(LIBSTRIPAOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} +.endif .s.po: ${_MKTARGET_COMPILE} @@ -367,7 +368,9 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif +.if defined(LIBSTRIPAOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} +.endif .S.po: ${_MKTARGET_COMPILE} @@ -375,7 +378,9 @@ CTFFLAGS+= -g .if defined(CTFCONVERT) ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} .endif +.if defined(LIBSTRIPAOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} +.endif .s.go: ${_MKTARGET_COMPILE} @@ -387,18 +392,48 @@ CTFFLAGS+= -g .s.pico: ${_MKTARGET_COMPILE} - ${COMPILE.s} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} + ${COMPILE.s} ${PICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(LIBSTRIPAOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} +.endif .S.pico: ${_MKTARGET_COMPILE} - ${COMPILE.S} ${CAPICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} + ${COMPILE.S} ${PICFLAGS} ${COPTS.${.IMPSRC:T}} ${CPUFLAGS.${.IMPSRC:T}} ${CPPFLAGS.${.IMPSRC:T}} ${.IMPSRC} -o ${.TARGET} +.if defined(LIBSTRIPAOBJS) ${OBJCOPY} ${OBJCOPYLIBFLAGS} ${.TARGET} +.endif + +# Declare a few variables to make our life easier later. +_LIB:=${_LIB_PREFIX}${LIB} +_LIB.a:=${_LIB}.a +_LIB_p.a:=${_LIB}_p.a +_LIB_g.a:=${_LIB}_g.a +_LIB_pic.a:=${_LIB}_pic.a +_LIB.ln:=llib-l${LIB}.ln +.if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes" +_LIB_bc.a:=${_LIB}_bc.a +.endif # defined(__MINIX) + +.if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION) +_LIB.so:=${_LIB}.so +_LIB.so.major:=${_LIB}.so.${SHLIB_MAJOR} +_LIB.so.full:=${_LIB}.so.${SHLIB_FULLVERSION} +.if ${MKDEBUG} != "no" +_LIB.so.debug:=${_LIB.so.full}.debug +.endif +.endif + +_DEST.LIB:=${DESTDIR}${LIBDIR} +_DEST.OBJ:=${DESTDIR}${_LIBSODIR} +_DEST.LINT:=${DESTDIR}${LINTLIBDIR} +_DEST.DEBUG:=${DESTDIR}${DEBUGDIR}${LIBDIR} +_DEST.ODEBUG:=${DESTDIR}${DEBUGDIR}${_LIBSODIR} .if defined(LIB) # { .if (${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \ || ${MKLINKLIB} != "no") && ${MKSTATICLIB} != "no" -_LIBS=lib${LIB}.a +_LIBS=${_LIB.a} .else _LIBS= .endif @@ -417,18 +452,18 @@ OBJS+= ${f:R:S/$/.o/} .endfor .if !empty(COMBINESRCS) -OBJS+= lib${LIB}_combine.o -lib${LIB}_combine.o: ${COMBINESRCS} +OBJS+= ${_LIB}_combine.o +${_LIB}_combine.o: ${COMBINESRCS} ${_MKTARGET_COMPILE} ${COMPILE.c} -MD --combine ${.ALLSRC} -o ${.TARGET} -.if !defined(CFLAGS) || empty(CFLAGS:M*-g*) +.if defined(LIBSTRIPOBJS) ${OBJCOPY} -x ${.TARGET} .endif -CLEANFILES+= lib${LIB}_combine.d +CLEANFILES+= ${_LIB}_combine.d -.if exists("lib${LIB}_combine.d") -.include "lib${LIB}_combine.d" +.if exists("${_LIB}_combine.d") +.include "${_LIB}_combine.d" .endif .endif # empty(XSRCS.${LIB}) .else # } { @@ -445,13 +480,13 @@ libinstall:: .endif .if ${MKDEBUGLIB} != "no" -_LIBS+=lib${LIB}_g.a +_LIBS+=${_LIB_g.a} GOBJS+=${OBJS:.o=.go} DEBUGFLAGS?=-DDEBUG .endif .if ${MKPROFILE} != "no" -_LIBS+=lib${LIB}_p.a +_LIBS+=${_LIB_p.a} POBJS+=${OBJS:.o=.po} PROFFLAGS?=-DGPROF -DPROF .endif @@ -462,27 +497,23 @@ PROFFLAGS?=-DGPROF -DPROF # make _pic.a, which isn't really pic, # since it's needed for making shared lib. # but don't install it. -SOLIB=lib${LIB}_pic.a +SOLIB=${_LIB_pic.a} SOBJS+=${OBJS:.o=.pico} .else -SOLIB=lib${LIB}.a +SOLIB=${_LIB.a} .endif .else -SOLIB=lib${LIB}_pic.a +SOLIB=${_LIB_pic.a} _LIBS+=${SOLIB} SOBJS+=${OBJS:.o=.pico} .endif .if defined(SHLIB_FULLVERSION) -_LIB.so:=lib${LIB}.so.${SHLIB_FULLVERSION} -.if ${MKDEBUG} != "no" -_LIB.debug:=${_LIB.so}.debug -.endif -_LIBS+=lib${LIB}.so.${SHLIB_FULLVERSION} +_LIBS+=${_LIB.so.full} .endif .endif # } .if ${MKLINT} != "no" && !empty(LOBJS) -_LIBS+=llib-l${LIB}.ln +_LIBS+=${_LIB.ln} .endif ALLOBJS= @@ -502,12 +533,12 @@ SOBJS= _YLSRCS= ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}} .if ${USE_BITCODE:Uno} == "yes" -_LIBS+=lib${LIB}_bc.a -.endif +_LIBS+=${_LIB_bc.a} +.endif # ${USE_BITCODE:Uno} == "yes" .NOPATH: ${ALLOBJS} ${_LIBS} ${_YLSRCS} -realall: ${SRCS} ${ALLOBJS:O} ${_LIBS} ${_LIB.debug} +realall: ${SRCS} ${ALLOBJS:O} ${_LIBS} ${_LIB.so.debug} MKARZERO?=no @@ -548,19 +579,19 @@ ${STOBJS} ${POBJS} ${GOBJS} ${SOBJS} ${LOBJS}: ${DPSRCS} .if ${USE_BITCODE:Uno} == "yes" BCOBJS+=${OBJS:.o=.bc} -lib${LIB}_bc.a:: ${BCOBJS} +${LIB_bc.a}:: ${BCOBJS} ${_MKTARGET_BUILD} rm -f ${.TARGET} ${AR} ${_ARFL} ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*bc} | ${TSORT}` -.endif +.endif # ${USE_BITCODE:Uno} == "yes" -lib${LIB}.a:: ${STOBJS} __archivebuild +${_LIB.a}:: ${STOBJS} __archivebuild -lib${LIB}_p.a:: ${POBJS} __archivebuild +${_LIB_p.a}:: ${POBJS} __archivebuild -lib${LIB}_pic.a:: ${SOBJS} __archivebuild +${_LIB_pic.a}:: ${SOBJS} __archivebuild -lib${LIB}_g.a:: ${GOBJS} __archivebuild +${_LIB_g.a}:: ${GOBJS} __archivebuild _LIBLDOPTS= @@ -589,73 +620,73 @@ DPLIBC ?= ${DESTDIR}${LIBC_SO} .endif .else LDLIBC ?= -nodefaultlibs -.if ${LIB} == "c" || ${LIB} == "minc" -LDADD+= ${${ACTIVE_CC} == "gcc":?-lgcc:} -LDADD+= ${${ACTIVE_CC} == "clang":?-L/usr/pkg/compiler-rt/lib -lCompilerRT-Generic:} +.if ${HAVE_LIBGCC} == "yes" && (${LIB} == "c" || ${LIB} == "minc") +.if !defined(__MINIX) +LDADD+= -lgcc +.else +LDADD+= ${${ACTIVE_CC} == "gcc":? -lgcc:} +LDADD+= ${${ACTIVE_CC} == "clang":?-lCompilerRT-Generic:} +.if ${MACHINE_ARCH} == "earm" +LDADD+= ${${ACTIVE_CC} == "gcc":? -lgcc_eh:} +.endif # ${MACHINE_ARCH} == "earm" +.endif # !defined(__MINIX) .endif .endif - -.if defined(__MINIX) - -.if ${LIB} == "m" || ${LIB} == "vtreefs" -# LSC: gcc generate calls to its runtime library for some floating point -# operations and convertions, which are not included in libc. -LDADD+= ${${ACTIVE_CC} == "gcc":?-lgcc:} -.endif # ${LIB} == "m" || ${LIB} == "vtreefs" - -.if ${LIB} == "stdc++" -# LSC we can't build this library without compiling gcc -LDADD+= -lgcc_s -DPADD+= ${DESTDIR}/usr/lib/libgcc_s.a -.endif # ${LIB} == "stdc++" -.endif #defined(__MINIX) .endif .if ${LIBISCXX} != "no" LIBCC:= ${CXX} +. if ${MKLIBCXX} == "yes" +LIBDPLIBS+= c++ ${.CURDIR}/../../../../../external/bsd/libc++/lib +. elif defined(HAVE_GCC) && ${HAVE_GCC} == 4 +LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../gnu/lib/libstdc++-v3_4 +. else +LIBDPLIBS+= stdc++ ${.CURDIR}/../../../../../external/gpl3/gcc/lib/libstdc++-v3 +. endif .else LIBCC:= ${CC} .endif -_LDADD.lib${LIB}= ${LDADD} ${LDADD.lib${LIB}} -_LDFLAGS.lib${LIB}= ${LDFLAGS} ${LDFLAGS.lib${LIB}} +_LDADD.${_LIB}= ${LDADD} ${LDADD.${_LIB}} +_LDFLAGS.${_LIB}= ${LDFLAGS} ${LDFLAGS.${_LIB}} -lib${LIB}.so.${SHLIB_FULLVERSION}: ${SOLIB} ${DPADD} ${DPLIBC} \ +${_LIB.so.full}: ${SOLIB} ${DPADD} ${DPLIBC} \ ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE} ${_MKTARGET_BUILD} - rm -f lib${LIB}.so.${SHLIB_FULLVERSION} - ${LIBCC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} ${_LDFLAGS.lib${LIB}} \ - -o ${.TARGET} ${_LIBLDOPTS} \ - -Wl,--whole-archive ${SOLIB} -Wl,--no-whole-archive ${_LDADD.lib${LIB}} \ - ${${USE_BITCODE:Uno} == "yes":? -Wl,-plugin=/usr/pkg/lib/bfd-plugins/LLVMgold.so -Wl,-plugin-opt=-disable-opt:} + rm -f ${.TARGET} + ${LIBCC} ${LDLIBC} -Wl,-x -shared ${SHLIB_SHFLAGS} \ + ${_LDFLAGS.${_LIB}} -o ${.TARGET} ${_LIBLDOPTS} \ + ${${USE_BITCODE:Uno} == "yes":? -Wl,-plugin=/usr/pkg/lib/bfd-plugins/LLVMgold.so -Wl,-plugin-opt=-disable-opt:} \ + -Wl,--whole-archive ${SOLIB} \ + -Wl,--no-whole-archive ${_LDADD.${_LIB}} # We don't use INSTALL_SYMLINK here because this is just # happening inside the build directory/objdir. XXX Why does # this spend so much effort on libraries that aren't live??? XXX .if defined(SHLIB_FULLVERSION) && defined(SHLIB_MAJOR) && \ "${SHLIB_FULLVERSION}" != "${SHLIB_MAJOR}" - ${HOST_LN} -sf lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.${SHLIB_MAJOR}.tmp - mv -f lib${LIB}.so.${SHLIB_MAJOR}.tmp lib${LIB}.so.${SHLIB_MAJOR} + ${HOST_LN} -sf ${_LIB.so.full} ${_LIB.so.major}.tmp + mv -f ${_LIB.so.major}.tmp ${_LIB.so.major} .endif - ${HOST_LN} -sf lib${LIB}.so.${SHLIB_FULLVERSION} lib${LIB}.so.tmp - mv -f lib${LIB}.so.tmp lib${LIB}.so + ${HOST_LN} -sf ${_LIB.so.full} ${_LIB.so}.tmp + mv -f ${_LIB.so}.tmp ${_LIB.so} .if ${MKSTRIPIDENT} != "no" ${OBJCOPY} -R .ident ${.TARGET} .endif -.if defined(_LIB.debug) -${_LIB.debug}: ${_LIB.so} +.if defined(_LIB.so.debug) +${_LIB.so.debug}: ${_LIB.so.full} ${_MKTARGET_CREATE} - ( ${OBJCOPY} --only-keep-debug ${_LIB.so} ${_LIB.debug} \ + ( ${OBJCOPY} --only-keep-debug ${_LIB.so.full} ${_LIB.so.debug} \ && ${OBJCOPY} --strip-debug -p -R .gnu_debuglink \ - --add-gnu-debuglink=${_LIB.debug} ${_LIB.so} \ - ) || (rm -f ${_LIB.debug}; false) + --add-gnu-debuglink=${_LIB.so.debug} ${_LIB.so.full} \ + ) || (rm -f ${.TARGET}; false) .endif .if !empty(LOBJS) # { LLIBS?= -lc -llib-l${LIB}.ln: ${LOBJS} +${_LIB.ln}: ${LOBJS} ${_MKTARGET_COMPILE} - rm -f llib-l${LIB}.ln + rm -f ${.TARGET} .if defined(DESTDIR) ${LINT} -C${LIB} ${.ALLSRC} -L${DESTDIR}/usr/libdata ${LLIBS} .else @@ -668,6 +699,7 @@ lint: ${LOBJS} ${LINT} ${LINTFLAGS} ${LOBJS} .endif + # If the number of entries in CLEANFILES is too large, then the # commands in bsd.clean.mk encounter errors like "exec(/bin/sh) # failed (Argument list too long)". Avoid that by splitting the @@ -676,200 +708,203 @@ lint: ${LOBJS} # use it here mimics the way it's used by the clean target in # bsd.clean.mk. # -clean: libclean1 libclean2 libclean3 libclean4 libclean5 libclean6 +clean: libclean1 libclean2 libclean3 libclean4 libclean5 libclean1: .PHONY .MADE __cleanuse LIBCLEANFILES1 libclean2: .PHONY .MADE __cleanuse LIBCLEANFILES2 libclean3: .PHONY .MADE __cleanuse LIBCLEANFILES3 libclean4: .PHONY .MADE __cleanuse LIBCLEANFILES4 libclean5: .PHONY .MADE __cleanuse LIBCLEANFILES5 -libclean6: .PHONY .MADE __cleanuse LIBCLEANFILES6 +.if defined(__MINIX) +# MINIX: core conflicts with core/ in lib/liblwip CLEANFILES+= a.out [Ee]rrs mklog *.core -# core conflicts with core/ in lib/liblwip -.if !defined(__MINIX) -CLEANFILES+=core -LIBCLEANFILES6+= lib${LIB}_bc.a ${BCOBJS} ${BCOBJS:=.tmp} +.else +CLEANFILES+= a.out [Ee]rrs mklog core *.core +.endif # defined(__MINIX) +LIBCLEANFILES1+= ${_LIB.a} ${STOBJS} ${STOBJS:=.tmp} +LIBCLEANFILES2+= ${_LIB_p.a} ${POBJS} ${POBJS:=.tmp} +LIBCLEANFILES3+= ${_LIB_g.a} ${GOBJS} ${GOBJS:=.tmp} +LIBCLEANFILES4+= ${_LIB_pic.a} +.if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION) +LIBCLEANFILES4+= ${_LIB.so}.* ${_LIB.so} ${_LIB.so.debug} .endif -LIBCLEANFILES1+= lib${LIB}.a ${STOBJS} ${STOBJS:=.tmp} -LIBCLEANFILES2+= lib${LIB}_p.a ${POBJS} ${POBJS:=.tmp} -LIBCLEANFILES3+= lib${LIB}_g.a ${GOBJS} ${GOBJS:=.tmp} -LIBCLEANFILES4+= lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${_LIB.debug} LIBCLEANFILES4+= ${SOBJS} ${SOBJS:=.tmp} -LIBCLEANFILES5+= llib-l${LIB}.ln ${LOBJS} +LIBCLEANFILES5+= ${_LIB.ln} ${LOBJS} + +.if defined(__MINIX) +clean: libclean6 +libclean6: .PHONY .MADE __cleanuse LIBCLEANFILES6 +LIBCLEANFILES6+= ${_LIB_bc.a} ${BCOBJS} ${BCOBJS:=.tmp} +.endif .if !target(libinstall) # { # Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no libinstall:: .if ${USE_BITCODE:Uno} == "yes" -libinstall:: ${DESTDIR}${LIBDIR}/bc/lib${LIB}.a -.PRECIOUS: ${DESTDIR}${LIBDIR}/bc/lib${LIB}.a +libinstall:: ${_DEST.LIB}/bc/${_LIB_bc.a} +.PRECIOUS: ${_DEST.LIB}/bc/${_LIB_bc.a} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_bc.a) -${DESTDIR}${LIBDIR}/bc/lib${LIB}.a! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_bc.a}) +${_DEST.LIB}/bc/${_LIB_bc.a}! .MADE .endif -${DESTDIR}${LIBDIR}/bc/lib${LIB}.a! lib${LIB}_bc.a __archiveinstall +${_DEST.LIB}/bc/${_LIB_bc.a}! ${_LIB_bc.a} __archiveinstall .else -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_bc.a) -${DESTDIR}${LIBDIR}/bc/lib${LIB}.a: .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_bc.a}) +${_DEST.LIB}/bc/${_LIB_bc.a}: .MADE .endif -${DESTDIR}${LIBDIR}/bc/lib${LIB}.a: lib${LIB}_bc.a __archiveinstall +${_DEST.LIB}/bc/${_LIB_bc.a}: ${_LIB_bc.a} __archiveinstall .endif .endif # ${USE_BITCODE:Uno} == "yes" .if ${MKLINKLIB} != "no" && ${MKSTATICLIB} != "no" -libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a -.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a +libinstall:: ${_DEST.LIB}/${_LIB.a} +.PRECIOUS: ${_DEST.LIB}/${_LIB.a} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(lib${LIB}.a) -${DESTDIR}${LIBDIR}/lib${LIB}.a! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB.a}) +${_DEST.LIB}/${_LIB.a}! .MADE .endif -${DESTDIR}${LIBDIR}/lib${LIB}.a! lib${LIB}.a __archiveinstall +${_DEST.LIB}/${_LIB.a}! ${_LIB.a} __archiveinstall .else -.if !defined(BUILD) && !make(all) && !make(lib${LIB}.a) -${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB.a}) +${_DEST.LIB}/${_LIB.a}: .MADE .endif -${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall +${_DEST.LIB}/${_LIB.a}: ${_LIB.a} __archiveinstall .endif .endif .if ${MKPROFILE} != "no" -libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a -.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a +libinstall:: ${_DEST.LIB}/${_LIB_p.a} +.PRECIOUS: ${_DEST.LIB}/${_LIB_p.a} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_p.a) -${DESTDIR}${LIBDIR}/lib${LIB}_p.a! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_p.a}) +${_DEST.LIB}/${_LIB_p.a}! .MADE .endif -${DESTDIR}${LIBDIR}/lib${LIB}_p.a! lib${LIB}_p.a __archiveinstall +${_DEST.LIB}/${_LIB_p.a}! ${_LIB_p.a} __archiveinstall .else -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_p.a) -${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_p.a}) +${_DEST.LIB}/${_LIB_p.a}: .MADE .endif -${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall +${_DEST.LIB}/${_LIB_p.a}: ${_LIB_p.a} __archiveinstall .endif .endif .if ${MKDEBUGLIB} != "no" -libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_g.a -.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_g.a +libinstall:: ${_DEST.LIB}/${_LIB_g.a} +.PRECIOUS: ${_DEST.LIB}/${_LIB_g.a} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_g.a) -${DESTDIR}${LIBDIR}/lib${LIB}_g.a! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_g.a}) +${_DEST.LIB}/${_LIB_g.a}! .MADE .endif -${DESTDIR}${LIBDIR}/lib${LIB}_g.a! lib${LIB}_g.a __archiveinstall +${_DEST.LIB}/${_LIB_g.a}! ${_LIB_g.a} __archiveinstall .else -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_g.a) -${DESTDIR}${LIBDIR}/lib${LIB}_g.a: .MADE +.if !defined(BUILD) && !make(all) && !make(${LIB_g.a}) +${_DEST.LIB}/${_LIB_g.a}: .MADE .endif -${DESTDIR}${LIBDIR}/lib${LIB}_g.a: lib${LIB}_g.a __archiveinstall +${_DEST.LIB}/${_LIB_g.a}: ${_LIB_g.a} __archiveinstall .endif .endif .if ${MKPIC} != "no" && ${MKPICINSTALL} != "no" -libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a -.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a +libinstall:: ${_DEST.LIB}/${_LIB_pic.a} +.PRECIOUS: ${_DEST.LIB}/${_LIB_pic.a} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_pic.a) -${DESTDIR}${LIBDIR}/lib${LIB}_pic.a! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_pic.a}) +${_DEST.LIB}/${_LIB_pic.a}! .MADE .endif .if ${MKPICLIB} == "no" -${DESTDIR}${LIBDIR}/lib${LIB}_pic.a! lib${LIB}.a __archivesymlinkpic +${_DEST.LIB}/${_LIB_pic.a}! ${_LIB.a} __archivesymlinkpic .else -${DESTDIR}${LIBDIR}/lib${LIB}_pic.a! lib${LIB}_pic.a __archiveinstall +${_DEST.LIB}/${_LIB_pic.a}! ${_LIB_pic.a} __archiveinstall .endif .else -.if !defined(BUILD) && !make(all) && !make(lib${LIB}_pic.a) -${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB_pic.a}) +${_DEST.LIB}/${_LIB_pic.a}: .MADE .endif .if ${MKPICLIB} == "no" -${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}.a __archivesymlinkpic +${_DEST.LIB}/${_LIB_pic.a}: ${_LIB.a} __archivesymlinkpic .else -${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall +${_DEST.LIB}/${_LIB_pic.a}: ${_LIB_pic.a} __archiveinstall .endif .endif .endif .if ${MKPIC} != "no" && defined(SHLIB_FULLVERSION) -_LIB_SO_TGT= ${DESTDIR}${_LIBSODIR}/${_LIB_PREFIX}${LIB}.so -_LIB_SO_TGTLIBDIR= ${DESTDIR}${LIBDIR}/${_LIB_PREFIX}${LIB}.so -libinstall:: ${_LIB_SO_TGT}.${SHLIB_FULLVERSION} -.PRECIOUS: ${_LIB_SO_TGT}.${SHLIB_FULLVERSION} +libinstall:: ${_DEST.OBJ}/${_LIB.so.full} +.PRECIOUS: ${_DEST.OBJ}/${_LIB.so.full} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(lib${LIB}.so.${SHLIB_FULLVERSION}) -${_LIB_SO_TGT}.${SHLIB_FULLVERSION}! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB.so.full}) +${_DEST.OBJ}/${_LIB.so.full}! .MADE .endif -${_LIB_SO_TGT}.${SHLIB_FULLVERSION}! lib${LIB}.so.${SHLIB_FULLVERSION} +${_DEST.OBJ}/${_LIB.so.full}! ${_LIB.so.full} .else -.if !defined(BUILD) && !make(all) && !make(lib${LIB}.so.${SHLIB_FULLVERSION}) -${_LIB_SO_TGT}.${SHLIB_FULLVERSION}: .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB.so.full}) +${_DEST.OBJ}/${_LIB.so.full}: .MADE .endif -${_LIB_SO_TGT}.${SHLIB_FULLVERSION}: lib${LIB}.so.${SHLIB_FULLVERSION} +${_DEST.OBJ}/${_LIB.so.full}: ${_LIB.so.full} .endif ${_MKTARGET_INSTALL} ${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ - ${.ALLSRC} ${.TARGET} + ${.ALLSRC} ${.TARGET} .if ${_LIBSODIR} != ${LIBDIR} - ${INSTALL_SYMLINK} -l r \ - ${_LIB_SO_TGT}.${SHLIB_FULLVERSION} \ - ${_LIB_SO_TGTLIBDIR}.${SHLIB_FULLVERSION} + ${INSTALL_SYMLINK} -l r ${_DEST.OBJ}/${_LIB.so.full} \ + ${_DEST.LIB}/${_LIB.so.full} .endif .if defined(SHLIB_FULLVERSION) && defined(SHLIB_MAJOR) && \ "${SHLIB_FULLVERSION}" != "${SHLIB_MAJOR}" - ${INSTALL_SYMLINK} \ - ${_LIB_PREFIX}${LIB}.so.${SHLIB_FULLVERSION} \ - ${_LIB_SO_TGT}.${SHLIB_MAJOR} + ${INSTALL_SYMLINK} ${_LIB.so.full} ${_DEST.OBJ}/${_LIB.so.major} .if ${_LIBSODIR} != ${LIBDIR} - ${INSTALL_SYMLINK} -l r \ - ${_LIB_SO_TGT}.${SHLIB_FULLVERSION} \ - ${_LIB_SO_TGTLIBDIR}.${SHLIB_MAJOR} + ${INSTALL_SYMLINK} -l r ${_DEST.OBJ}/${_LIB.so.full} \ + ${_DEST.LIB}/${_LIB.so.major} .endif .endif .if ${MKLINKLIB} != "no" - ${INSTALL_SYMLINK} \ - ${_LIB_PREFIX}${LIB}.so.${SHLIB_FULLVERSION} \ - ${_LIB_SO_TGT} + ${INSTALL_SYMLINK} ${_LIB.so.full} ${_DEST.OBJ}/${_LIB.so} .if ${_LIBSODIR} != ${LIBDIR} - ${INSTALL_SYMLINK} -l r \ - ${_LIB_SO_TGT}.${SHLIB_FULLVERSION} \ - ${_LIB_SO_TGTLIBDIR} + ${INSTALL_SYMLINK} -l r ${_DEST.OBJ}/${_LIB.so.full} \ + ${_DEST.LIB}/${_LIB.so} .endif .endif .endif -.if defined(_LIB.debug) -libinstall:: ${DESTDIR}${DEBUGDIR}${LIBDIR}/${_LIB.debug} -.PRECIOUS: ${DESTDIR}${DEBUGDIR}${LIBDIR}/${_LIB.debug} +.if defined(_LIB.so.debug) +libinstall:: ${_DEST.DEBUG}/${_LIB.so.debug} +.PRECIOUS: ${_DEST.DEBUG}/${_LIB.so.debug} -${DESTDIR}${DEBUGDIR}${LIBDIR}/${_LIB.debug}: ${_LIB.debug} +${_DEST.DEBUG}/${_LIB.so.debug}: ${_LIB.so.debug} ${_MKTARGET_INSTALL} ${INSTALL_FILE} -o ${DEBUGOWN} -g ${DEBUGGRP} -m ${DEBUGMODE} \ - ${.ALLSRC} ${.TARGET} + ${.ALLSRC} ${.TARGET} +.if ${_LIBSODIR} != ${LIBDIR} + ${INSTALL_SYMLINK} -l r ${_DEST.DEBUG}/${_LIB.so.debug} \ + ${_DEST.ODEBUG}/${_LIB.so.debug} +.endif .endif .if ${MKLINT} != "no" && !empty(LOBJS) -libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln -.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln +libinstall:: ${_DEST.LINT}/${_LIB.ln} +.PRECIOUS: ${_DEST.LINT}/${_LIB.ln} .if ${MKUPDATE} == "no" -.if !defined(BUILD) && !make(all) && !make(llib-l${LIB}.ln) -${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln! .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB.ln}) +${_DEST.LINT}/${_LIB.ln}! .MADE .endif -${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln! llib-l${LIB}.ln +${_DEST.LINT}/${_LIB.ln}! ${_LIB.ln} .else -.if !defined(BUILD) && !make(all) && !make(llib-l${LIB}.ln) -${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE +.if !defined(BUILD) && !make(all) && !make(${_LIB.ln}) +${_DEST.LINT}/${_LIB.ln}: .MADE .endif -${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln +${_DEST.LINT}/${_LIB.ln}: ${_LIB.ln} .endif ${_MKTARGET_INSTALL} ${INSTALL_FILE} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ - ${.ALLSRC} ${DESTDIR}${LINTLIBDIR} + ${.ALLSRC} ${_DEST.LINT} .endif .endif # !target(libinstall) # } diff --git a/share/mk/bsd.lua.mk b/share/mk/bsd.lua.mk index 2f5a28418..f8cd0da6b 100644 --- a/share/mk/bsd.lua.mk +++ b/share/mk/bsd.lua.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.lua.mk,v 1.4 2011/10/16 00:45:09 mbalmer Exp $ +# $NetBSD: bsd.lua.mk,v 1.6 2013/09/12 15:36:16 joerg Exp $ # # Build rules and definitions for Lua modules @@ -72,7 +72,7 @@ LUAC?= /usr/bin/luac ##### Build rules # XX should these always be on? -CFLAGS+= -fPIC -DPIC +CFLAGS+= -fPIC .SUFFIXES: .lua .luac .lua.luac: @@ -144,6 +144,9 @@ ${LUA_TARG.${_M}}: ${LUA_OBJS.${_M}} ${DPADD} ${DPADD.${_M}} .endif +DPADD+= ${LIBLUA} +LDADD+= -llua + ## ## module install rules lua-install: ${DESTDIR}${LUA_DEST.${_M}}/${LUA_NAME.${_M}} diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk index cc1b037cd..604dc047b 100644 --- a/share/mk/bsd.man.mk +++ b/share/mk/bsd.man.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.man.mk,v 1.109 2011/09/10 16:57:35 apb Exp $ +# $NetBSD: bsd.man.mk,v 1.114 2013/10/25 22:16:29 apb Exp $ # @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93 .include @@ -17,18 +17,24 @@ TMACDEPDIR?= /usr/share/tmac .endif HTMLDIR?= ${DESTDIR}${MANDIR} +.if ${MKMANDOC} == yes && !defined(NOMANDOC) +CATDEPS?= +.else CATDEPS?= ${TMACDEPDIR}/andoc.tmac \ ${TMACDEPDIR}/doc.tmac \ ${TMACDEPDIR}/mdoc/doc-common \ ${TMACDEPDIR}/mdoc/doc-ditroff \ ${TMACDEPDIR}/mdoc/doc-nroff \ ${TMACDEPDIR}/mdoc/doc-syms +.endif MANTARGET?= cat MAN?= MLINKS?= -_MNUMBERS= 1 2 3 4 5 6 7 8 9 -.SUFFIXES: ${_MNUMBERS:@N@.$N@} +_MSECTIONS= 1 2 3 4 5 6 7 8 9 +_MSECTIONS+= 3lua 9lua +_MSECTIONREGEX= ${_MSECTIONS:ts|} # e.g. 1|2|3|... +.SUFFIXES: ${_MSECTIONS:@N@.$N@} .if ${MKMANZ} == "no" MANCOMPRESS?= @@ -69,9 +75,9 @@ MANPAGES= ${MAN:C/.$/&${MANSUFFIX}/} realall: ${MANPAGES} .if !empty(MANSUFFIX) .NOPATH: ${MANPAGES} -.SUFFIXES: ${_MNUMBERS:@N@.$N${MANSUFFIX}@} +.SUFFIXES: ${_MSECTIONS:@N@.$N${MANSUFFIX}@} -${_MNUMBERS:@N@.$N.$N${MANSUFFIX}@}: # build rule +${_MSECTIONS:@N@.$N.$N${MANSUFFIX}@}: # build rule ${_MKTARGET_FORMAT} cat ${.IMPSRC} ${MANCOMPRESS} > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} .endif # !empty(MANSUFFIX) @@ -119,14 +125,14 @@ manlinks:: ${_t} .if (${MKCATPAGES} != "no") && (${MKMAN} != "no") catinstall: catpages catlinks catpages:: # ensure target exists -CATPAGES= ${MAN:C/\.([1-9])$/.cat\1${MANSUFFIX}/} +CATPAGES= ${MAN:C/\.(${_MSECTIONREGEX})\$/.cat\1${MANSUFFIX}/} realall: ${CATPAGES} .NOPATH: ${CATPAGES} -.SUFFIXES: ${_MNUMBERS:@N@.cat$N${MANSUFFIX}@} +.SUFFIXES: ${_MSECTIONS:@N@.cat$N${MANSUFFIX}@} .MADE: ${CATDEPS} -${_MNUMBERS:@N@.$N.cat$N${MANSUFFIX}@}: ${CATDEPS} # build rule +${_MSECTIONS:@N@.$N.cat$N${MANSUFFIX}@}: ${CATDEPS} # build rule ${_MKTARGET_FORMAT} .if ${MKMANDOC} == yes && !defined(NOMANDOC) if test ""${NOMANDOC.${.IMPSRC:T}:tl:Q} != "yes"; then \ @@ -187,20 +193,33 @@ catlinks:: ${_t} .if (${MKHTML} != "no") && (${MKMAN} != "no") # { htmlinstall: htmlpages htmllinks htmlpages:: # ensure target exists -HTMLPAGES= ${MAN:C/\.([1-9])$/.html\1/} +HTMLPAGES= ${MAN:C/\.(${_MSECTIONREGEX})\$/.html\1/} HTMLLINKS= ${MANSUBDIR:?../:}../html%S/%N.html HTMLSTYLE= ${MANSUBDIR:?../:}../style.css realall: ${HTMLPAGES} .NOPATH: ${HTMLPAGES} -.SUFFIXES: ${_MNUMBERS:@N@.html$N@} +.SUFFIXES: ${_MSECTIONS:@N@.html$N@} -${_MNUMBERS:@N@.$N.html$N@}: # build rule +${_MSECTIONS:@N@.$N.html$N@}: # build rule ${_MKTARGET_FORMAT} - ${TOOL_MANDOC_HTML} -Oman=${HTMLLINKS} -Ostyle=${HTMLSTYLE} \ - ${.IMPSRC} > ${.TARGET}.tmp && \ - mv ${.TARGET}.tmp ${.TARGET} +.if ${MKMANDOC} == yes && !defined(NOMANDOC) + if test ""${NOMANDOC.${.IMPSRC:T}:tl:Q} != "yes"; then \ + ${TOOL_MANDOC_HTML} -Oman=${HTMLLINKS} -Ostyle=${HTMLSTYLE} \ + ${.IMPSRC} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET}; \ + else \ + ${TOOL_ROFF_HTML} ${.IMPSRC} ${MANCOMPRESS} \ + > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET}; \ + fi +.elif defined(USETBL) + ${TOOL_TBL} ${.IMPSRC} | ${TOOL_ROFF_HTML} ${MANCOMPRESS} \ + > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} +.else + ${TOOL_ROFF_HTML} ${.IMPSRC} ${MANCOMPRESS} \ + > ${.TARGET}.tmp && mv ${.TARGET}.tmp ${.TARGET} +.endif .for F in ${HTMLPAGES:O:u} # construct installed path diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk index 5a05c215b..7d50afb4c 100644 --- a/share/mk/bsd.own.mk +++ b/share/mk/bsd.own.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.own.mk,v 1.706 2012/08/16 05:30:55 matt Exp $ +# $NetBSD: bsd.own.mk,v 1.755 2013/10/29 16:11:46 joerg Exp $ # This needs to be before bsd.init.mk .if defined(BSD_MK_COMPAT_FILE) @@ -23,9 +23,11 @@ MANGRP?= operator INFOGRP?= operator DOCGRP?= operator -MKBINUTILS?= no +MKKYUA?= yes + MKGCC?= no MKGCCCMDS?= no +MKLIBSTDCXX?= no MKPROFILE?= no MKSLJIT?= no @@ -58,7 +60,6 @@ MKRUMP:= no MKSKEY:= no MKYP:= no -# LSC MINIX SMP Support? .ifdef CONFIG_SMP SMP_FLAGS += -DCONFIG_SMP .ifdef CONFIG_MAX_CPUS @@ -72,6 +73,8 @@ __uname_s!= uname -s .if ${__uname_s:Uunknown} == "Minix" USETOOLS?= never . if ${USETOOLS:Uno} != "yes" +# LSC: We have to use a temporary variable, as some test are done simply on the +# definition (ifdef) of it. . if ${_HAVE_LLVM:U} == "" _HAVE_LLVM!= (exec 2>&1; clang --version || echo "") _HAVE_LLVM:= ${_HAVE_LLVM:M[0-9]\.[0-9]} @@ -103,6 +106,8 @@ USETOOLS?= never LDFLAGS+= -L${DESTDIR}/usr/lib . endif . endif # ${DESTDIR:U} != "" + + MKTOOLS?=no . endif # ${USETOOLS:Uno} != "yes" . if !defined(HOSTPROG) && !defined(HOSTLIB) @@ -111,9 +116,48 @@ USETOOLS?= never . if ${MACHINE_ARCH} == "i386" MACHINE:= i386 . endif +# LSC FIXME: On a native ARM system MACHINE_ARCH is earmv7 instead of earm... +. if !empty(${MACHINE_ARCH:Mearm*}) + MACHINE_ARCH:= earm +. endif . endif # !defined(HOSTPROG) && !defined(HOSTLIB) .endif # __uname_s == "Minix" +.if ${MKKYUA:Uno} == "yes" || ${MKATF:Uyes} == "yes" +. if ${MKLIBCXX:Uno} == "no" && ${HAVE_GCC:Dyes} != "yes" +# No libc++ available, so we have to fallback on libstdc++. +# This implies that the compiler is GCC on a native system, or we are building +# GCC. +# If HAVE_GCC is not defined, then it is a crossbuild, and we have to build +# LIBSTDC++, otherwise we will simply use the system one. +MKLIBSTDCXX:= yes # required for Kyua / ATF +. endif # ${MKLIBCXX:Uno} == "no" && ${HAVE_GCC:Dyes} != "yes" + +# If we need LIBSTDC++, then we are using the in-tree GCC. +. if ${MKLIBSTDCXX} == "yes" +CXXFLAGS+= -I${DESTDIR}/usr/include/g++ +MKGCCCMDS:= yes +. endif # ${MKLIBSTDCXX} == "yes" + +. if ${HAVE_GCC:Dyes} == "yes" && ${MKLIBCXX:Uno} != "yes" +# Specify the C++ system header for libstdc++ +CXXFLAGS+= -I/usr/include/g++ +. endif # ${HAVE_GCC:Dyes} == "yes" && ${MKLIBCXX:Uno} != "yes" +.endif # ${MKKYUA:Uno} == "yes" || ${MKATF:Uyes} == "yes" + +# MKGCCCMDS == yes implies MKGCC == yes +.if ${MKGCCCMDS} == "yes" +MKGCC:= yes +MKBINUTILS?= yes # We are installing GCC, so trigger binutils. +.endif # ${MKGCCCMDS} == "yes" + +# The default value of MKBINUTILS cannot be set before the previous test. +MKBINUTILS?= no + +.if ${MKGCC} == "yes" +HAVE_GCC:= 45 # The in-tree gcc version is 4.5 +.endif # ${MKGCC} == "yes" + # # linker script files that have to be specified explicitely for the gold linker # @@ -125,18 +169,6 @@ LDS_RELOC= ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xr LDS_SHARED_LIB= ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xsc LDS_N= ${LDS_PATH}/elf_${MACHINE_ARCH}_minix.xbn -AFLAGS+= -D__ASSEMBLY__ -CFLAGS+= -fno-builtin - -# Compile Kyua only if we have MKGCCCMDS, as we need libstdc++ from GCC -.if ${MKGCCCMDS:Uno} == "no" -MKATF:= no -.else -# For C++ programs, only if we have the GCC sources -CXXFLAGS+= -I${DESTDIR}/usr/include/g++ -MKKYUA?= yes -.endif # ${MKGCCCMDS:Uno} == "no" - #LSC FIXME: Needed by clang for now .if ${MACHINE_ARCH} == "i386" CPUFLAGS+= -march=i586 @@ -149,7 +181,7 @@ MAKECONF?= /etc/mk.conf # # CPU model, derived from MACHINE_ARCH # -MACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:C/mips64e[bl]/mips/:C/sh3e[bl]/sh3/:S/m68000/m68k/:S/armeb/arm/:S/earm/arm/:S/earmeb/arm/:S/powerpc64/powerpc/} +MACHINE_CPU= ${MACHINE_ARCH:C/mipse[bl]/mips/:C/mips64e[bl]/mips/:C/sh3e[bl]/sh3/:S/coldfire/m68k/:S/m68000/m68k/:C/arm.*/arm/:C/earm.*/arm/:S/earm/arm/:S/powerpc64/powerpc/} # # Subdirectory used below ${RELEASEDIR} when building a release @@ -193,32 +225,25 @@ HAVE_GCC?= 45 .endif .endif -.if \ - ${MACHINE_CPU} == "arm" || \ - ${MACHINE_ARCH} == "i386" || \ - ${MACHINE_ARCH} == "powerpc" || \ - ${MACHINE_CPU} == "sh3" || \ - ${MACHINE_ARCH} == "x86_64" + +.if ${MACHINE_ARCH} == "ia64" +USE_COMPILERCRTSTUFF?= yes +.else USE_COMPILERCRTSTUFF?= no .endif -USE_COMPILERCRTSTUFF?= yes - -# -# Platforms still using GDB 6 -# -.if ${MACHINE_CPU} == "mips" -HAVE_GDB?= 6 +.if ${MKLLVM:Uno} == "yes" && (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64") +HAVE_LIBGCC?= no .else -# Otherwise, default to GDB7 -HAVE_GDB?= 7 +HAVE_LIBGCC?= yes .endif +HAVE_GDB?= 7 + .if (${MACHINE_ARCH} == "alpha") || \ (${MACHINE_ARCH} == "hppa") || \ (${MACHINE_ARCH} == "ia64") || \ - (${MACHINE_ARCH} == "mipsel") || (${MACHINE_ARCH} == "mipseb") || \ - (${MACHINE_ARCH} == "mips64el") || (${MACHINE_ARCH} == "mips64eb") + (${MACHINE_CPU} == "mips") HAVE_SSP?= no .else HAVE_SSP?= yes @@ -227,15 +252,14 @@ USE_SSP?= yes .endif .endif - -.if empty(.MAKEFLAGS:M-V*) +.if empty(.MAKEFLAGS:tW:M*-V .OBJDIR*) .if defined(MAKEOBJDIRPREFIX) || defined(MAKEOBJDIR) PRINTOBJDIR= ${MAKE} -r -V .OBJDIR -f /dev/null xxx .else PRINTOBJDIR= ${MAKE} -V .OBJDIR .endif .else -PRINTOBJDIR= echo # prevent infinite recursion +PRINTOBJDIR= echo /error/bsd.own.mk/PRINTOBJDIR # avoid infinite recursion .endif # @@ -255,8 +279,11 @@ _SRC_TOP_!= cd "${.CURDIR}"; while :; do \ .endif # } # -# If _SRC_TOP_ != "", we're within the NetBSD source tree, so set -# defaults for NETBSDSRCDIR and _SRC_TOP_OBJ_. +# If _SRC_TOP_ != "", we're within the NetBSD source tree. +# * Set defaults for NETBSDSRCDIR and _SRC_TOP_OBJ_. +# * Define _NETBSD_VERSION_DEPENDS. Targets that depend on the +# NetBSD version, or on variables defined at build time, can +# declare a dependency on ${_NETBSD_VERSION_DEPENDS}. # .if (${_SRC_TOP_} != "") # { @@ -267,6 +294,12 @@ _SRC_TOP_OBJ_!= cd "${_SRC_TOP_}" && ${PRINTOBJDIR} .MAKEOVERRIDES+= _SRC_TOP_OBJ_ .endif +_NETBSD_VERSION_DEPENDS= ${_SRC_TOP_OBJ_}/params +_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/sys/param.h +_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/newvers.sh +_NETBSD_VERSION_DEPENDS+= ${NETBSDSRCDIR}/sys/conf/osrelease.sh +${_SRC_TOP_OBJ_}/params: .NOTMAIN .OPTIONAL # created by top level "make build" + .endif # _SRC_TOP_ != "" # } @@ -341,6 +374,11 @@ TOOL_CPP.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-cpp TOOL_CXX.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-c++ TOOL_FC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-g77 TOOL_OBJC.gcc= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-gcc + +TOOL_CC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang +TOOL_CPP.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang-cpp +TOOL_CXX.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang++ +TOOL_OBJC.clang= ${EXTERNAL_TOOLCHAIN}/bin/${MACHINE_GNU_PLATFORM}-clang .else # } { # Define default locations for common tools. .if ${USETOOLS_BINUTILS:Uyes} == "yes" # { @@ -391,6 +429,7 @@ LDFLAGS+= --sysroot=/ .endif # EXTERNAL_TOOLCHAIN # } HOST_MKDEP= ${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep +HOST_MKDEPCXX= ${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep DBSYM= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-dbsym ELF2AOUT= ${TOOLDIR}/bin/${_TOOL_PREFIX}m68k-elf2aout @@ -400,6 +439,7 @@ LEX= ${TOOLDIR}/bin/${_TOOL_PREFIX}lex LINT= CC=${CC:Q} ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-lint LORDER= NM=${NM:Q} MKTEMP=${TOOL_MKTEMP:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}lorder MKDEP= CC=${CC:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep +MKDEPCXX= CC=${CXX:Q} ${TOOLDIR}/bin/${_TOOL_PREFIX}mkdep PAXCTL= ${TOOLDIR}/bin/${_TOOL_PREFIX}paxctl TSORT= ${TOOLDIR}/bin/${_TOOL_PREFIX}tsort -q YACC= ${TOOLDIR}/bin/${_TOOL_PREFIX}yacc @@ -420,7 +460,7 @@ TOOL_CTAGS= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctags TOOL_CTFCONVERT= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfconvert TOOL_CTFMERGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}ctfmerge TOOL_DB= ${TOOLDIR}/bin/${_TOOL_PREFIX}db -TOOL_DISKLABEL= ${TOOLDIR}/bin/nbdisklabel-${MAKEWRAPPERMACHINE} +TOOL_DISKLABEL= ${TOOLDIR}/bin/nbdisklabel TOOL_EQN= ${TOOLDIR}/bin/${_TOOL_PREFIX}eqn TOOL_FDISK= ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk TOOL_FGEN= ${TOOLDIR}/bin/${_TOOL_PREFIX}fgen @@ -454,8 +494,10 @@ TOOL_MKESDB= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkesdb TOOL_MKFSMFS= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkfs.mfs TOOL_MKLOCALE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mklocale TOOL_MKMAGIC= ${TOOLDIR}/bin/${_TOOL_PREFIX}file +TOOL_MKNOD= ${TOOLDIR}/bin/${_TOOL_PREFIX}mknod TOOL_MKTEMP= ${TOOLDIR}/bin/${_TOOL_PREFIX}mktemp TOOL_MKUBOOTIMAGE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mkubootimage +TOOL_ELFTOSB= ${TOOLDIR}/bin/${_TOOL_PREFIX}elftosb TOOL_MSGC= MSGDEF=${TOOLDIR}/share/misc ${TOOLDIR}/bin/${_TOOL_PREFIX}msgc TOOL_MTREE= ${TOOLDIR}/bin/${_TOOL_PREFIX}mtree TOOL_NBPERF= ${TOOLDIR}/bin/${_TOOL_PREFIX}perf @@ -544,7 +586,7 @@ TOOL_MAKEFS= makefs TOOL_MAKEINFO= makeinfo TOOL_MAKEWHATIS= /usr/libexec/makewhatis TOOL_MANDOC_ASCII= mandoc -Tascii -TOOL_MANDOC_HTML= mandoc -Thtml -Oman=../html%S/%N.html -Ostyle=../style.css +TOOL_MANDOC_HTML= mandoc -Thtml TOOL_MANDOC_LINT= mandoc -Tlint TOOL_MDSETIMAGE= mdsetimage TOOL_MENUC= menuc @@ -555,8 +597,10 @@ TOOL_MKESDB= mkesdb TOOL_MKFSMFS= mkfs.mfs TOOL_MKLOCALE= mklocale TOOL_MKMAGIC= file +TOOL_MKNOD= mknod TOOL_MKTEMP= mktemp TOOL_MKUBOOTIMAGE= mkubootimage +TOOL_ELFTOSB= elftosb TOOL_MSGC= msgc TOOL_MTREE= mtree TOOL_NBPERF= nbperf @@ -608,6 +652,11 @@ CXX= ${TOOL_CXX.${ACTIVE_CXX}} FC= ${TOOL_FC.${ACTIVE_FC}} OBJC= ${TOOL_OBJC.${ACTIVE_OBJC}} +.if exists(/usr/bin/${TOOL_CTFCONVERT}) || exists(${TOOL_CTFCONVERT}) +CTFCONVERT= ${TOOL_CTFCONVERT} +CTFMERGE= ${TOOL_CTFMERGE} +.endif + # OBJCOPY flags to create a.out binaries for old firmware # shared among src/distrib and ${MACHINE}/conf/Makefile.${MACHINE}.inc .if ${MACHINE_CPU} == "arm" @@ -616,17 +665,19 @@ OBJCOPY_ELF2AOUT_FLAGS?= \ -R .ident \ -R .ARM.attributes \ -R .ARM.exidx \ + -R .ARM.extab \ -R .arm.atpcs \ -R .comment \ -R .debug_abbrev \ + -R .debug_aranges \ -R .debug_info \ -R .debug_line \ -R .debug_frame \ -R .debug_loc \ -R .debug_pubnames \ - -R .debug_aranges \ - -R .debug_str \ -R .debug_pubtypes \ + -R .debug_str \ + -R .eh_frame \ -R .note.netbsd.ident .endif @@ -809,28 +860,49 @@ SHLIB_VERSION_FILE?= ${.CURDIR}/shlib_version # # GNU sources and packages sometimes see architecture names differently. # -GNU_ARCH.coldfire=m68k -# MINIX/arm default +GNU_ARCH.coldfire=m5407 GNU_ARCH.earm=arm -GCC_CONFIG_ARCH.earm=armv7-a +GNU_ARCH.earmhf=arm GNU_ARCH.earmeb=armeb -# MINIX/intel default -GNU_ARCH.i386=i586 -GCC_CONFIG_ARCH.i386=i586 +GNU_ARCH.earmhfeb=armeb +GNU_ARCH.earmv4=armv4 +GNU_ARCH.earmv4eb=armv4eb +GNU_ARCH.earmv5=arm +GNU_ARCH.earmv5eb=armeb +GNU_ARCH.earmv6=armv6 +GNU_ARCH.earmv6hf=armv6 +GNU_ARCH.earmv6eb=armv6eb +GNU_ARCH.earmv6hfeb=armv6eb +GNU_ARCH.earmv7=armv7 +GNU_ARCH.earmv7hf=armv7 +GNU_ARCH.earmv7eb=armv7eb +GNU_ARCH.earmv7hfeb=armv7eb +GNU_ARCH.i386=i486 +GCC_CONFIG_ARCH.i386=i486 GCC_CONFIG_TUNE.i386=nocona GCC_CONFIG_TUNE.x86_64=nocona GNU_ARCH.m68000=m68010 GNU_ARCH.sh3eb=sh GNU_ARCH.sh3el=shle GNU_ARCH.mips64eb=mips64 + +.if defined(__MINIX) +# MINIX/arm default +GCC_CONFIG_ARCH.earm=armv7-a + +# MINIX/intel default +GNU_ARCH.i386=i586 +GCC_CONFIG_ARCH.i386=i586 +.endif # defined(__MINIX) + MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}:U${MACHINE_ARCH}} # # In order to identify NetBSD to GNU packages, we sometimes need # an "elf" tag for historically a.out platforms. # -.if ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmeb" -MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf-eabi +.if (!empty(MACHINE_ARCH:Mearm*)) +MACHINE_GNU_PLATFORM?=${MACHINE_GNU_ARCH}--netbsdelf-${MACHINE_ARCH:C/eb//:C/v[4-7]//:S/earm/eabi/} .elif (${MACHINE_GNU_ARCH} == "arm" || \ ${MACHINE_GNU_ARCH} == "armeb" || \ ${MACHINE_ARCH} == "i386" || \ @@ -927,6 +999,8 @@ MK${var}:= yes .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" || \ ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" MKCOMPAT?= yes +.elif !empty(MACHINE_ARCH:Mearm*) +MKCOMPAT?= no .else # Don't let this build where it really isn't supported. MKCOMPAT:= no @@ -942,9 +1016,13 @@ MKCOMPATMODULES:= no # # Default mips64 to softfloat now. +# arm is always softfloat unless it isn't # emips is always softfloat. +# coldfire is always softfloat # .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" || \ + (${MACHINE_CPU} == "arm" && ${MACHINE_ARCH:M*hf*} == "") || \ + ${MACHINE_ARCH} == "coldfire" || \ ${MACHINE} == "emips" MKSOFTFLOAT?= yes .endif @@ -975,9 +1053,6 @@ MKBINUTILS?= ${MKBFD} MKZFS?= yes .endif -# LSC: MINIX: Has to be here, otherwise libgcc_s.a is not found!? -MKSTATICLIB:= yes - # # MK* options which default to "yes". # @@ -991,7 +1066,7 @@ _MKVARS.yes= \ MKIEEEFP MKINET6 MKINFO MKIPFILTER MKISCSI \ MKKERBEROS \ MKKMOD \ - MKLDAP MKLINKLIB MKLINT MKLVM \ + MKLDAP MKLIBSTDCXX MKLINKLIB MKLVM \ MKMAN MKMANDOC \ MKMDNS \ MKMAKEMANDB \ @@ -1032,18 +1107,18 @@ _MKVARS.no= \ MKBSDGREP MKBSDTAR \ MKCATPAGES MKCRYPTO_RC5 MKDEBUG \ MKDEBUGLIB MKDTRACE MKEXTSRC \ - MKKYUA \ - MKMANZ MKOBJDIRS \ - MKLLVM MKPCC \ + MKKYUA MKLLD MKLLDB MKLINT \ + MKMANZ MKMCLINKER MKOBJDIRS \ + MKLIBCXX MKLLVM MKPCC \ MKPIGZGZIP \ MKREPRO \ - MKSOFTFLOAT MKSTRIPIDENT \ - MKUNPRIVED MKUPDATE MKX11 MKZFS + MKSOFTFLOAT MKSTRIPIDENT MKTPM \ + MKUNPRIVED MKUPDATE MKX11 MKX11MOTIF MKZFS #MINIX-specific vars _MKVARS.no+= \ MKIMAGEONLY MKSMALL MKBITCODE -.if (${MACHINE_ARCH} == "earm") +.if !empty(MACHINE_ARCH:Mearm*) _MKVARS.no+= \ MKWATCHDOG MKACPI MKAPIC MKDEBUGREG MKINSTALLBOOT MKPCI .endif @@ -1070,6 +1145,41 @@ X11FLAVOUR?= XFree86 X11FLAVOUR?= Xorg .endif +# +# Which platforms build the xorg-server drivers (as opposed +# to just Xnest and Xvfb.) +# +.if ${X11FLAVOUR} == "Xorg" && \ + ${MACHINE} == "alpha" || \ + ${MACHINE} == "amd64" || \ + ${MACHINE} == "bebox" || \ + ${MACHINE} == "cats" || \ + ${MACHINE} == "dreamcast" || \ + ${MACHINE} == "ews4800mips" || \ + ${MACHINE} == "evbarm" || \ + ${MACHINE} == "evbmips" || \ + ${MACHINE} == "hp300" || \ + ${MACHINE} == "hpcarm" || \ + ${MACHINE} == "hpcmips" || \ + ${MACHINE} == "hpcsh" || \ + ${MACHINE} == "i386" || \ + ${MACHINE} == "luna68k" || \ + ${MACHINE} == "macppc" || \ + ${MACHINE} == "netwinder" || \ + ${MACHINE} == "newsmips" || \ + ${MACHINE} == "prep" || \ + ${MACHINE} == "ofppc" || \ + ${MACHINE} == "sgimips" || \ + ${MACHINE} == "shark" || \ + ${MACHINE} == "sparc" || \ + ${MACHINE} == "sparc64" || \ + ${MACHINE} == "vax" || \ + ${MACHINE} == "zaurus" +MKXORG_SERVER?=yes +.else +MKXORG_SERVER?=no +.endif + # # Force some options off if their dependencies are off. # @@ -1288,7 +1398,7 @@ X11SRCDIR.${_proto}proto?= ${X11SRCDIRMIT}/${_proto}proto/dist xsetmode xsetpointer xsetroot xsm xstdcmap xvidtune xvinfo \ xwininfo xwud xprehashprinterlist xplsprinters xkbprint xkbevd \ xterm xwd xfs xfsinfo xphelloworld xtrap xkbutils xkbcomp \ - xkeyboard-config xinput xcb-util \ + xkeyboard-config xinput xcb-util xorg-docs \ font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi \ font-adobe-utopia-75dpi font-adobe-utopia-type1 \ font-alias \ diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index 9af835442..9aa3201d9 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.prog.mk,v 1.278 2012/08/24 20:26:24 jmmv Exp $ +# $NetBSD: bsd.prog.mk,v 1.286 2013/11/11 10:24:53 joerg Exp $ # @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 .ifndef HOSTPROG @@ -34,12 +34,18 @@ CLEANFILES+=strings .c.o: ${CC} -E ${CPPFLAGS} ${CFLAGS} ${.IMPSRC} | xstr -c - @${CC} ${CPPFLAGS} ${CFLAGS} -c x.c -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif @rm -f x.c .cc.o .cpp.o .cxx.o .C.o: ${CXX} -E ${CPPFLAGS} ${CXXFLAGS} ${.IMPSRC} | xstr -c - @mv -f x.c x.cc @${CXX} ${CPPFLAGS} ${CXXFLAGS} -c x.cc -o ${.TARGET} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif @rm -f x.cc .endif @@ -50,6 +56,9 @@ LDFLAGS+= ${PIE_LDFLAGS} .endif CFLAGS+= ${COPTS} +.if defined(MKDEBUG) && (${MKDEBUG} != "no") +CFLAGS+= -g +.endif OBJCFLAGS+= ${OBJCOPTS} MKDEP_SUFFIXES?= .o .ln @@ -75,6 +84,11 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o .MADE: ${LIBCRT0} .endif +.ifndef LIBCRTI +LIBCRTI= ${DESTDIR}/usr/lib/crti.o +.MADE: ${LIBCRTI} +.endif + ##### Installed system library definitions # # E.g. @@ -85,26 +99,108 @@ LIBCRT0= ${DESTDIR}/usr/lib/crt0.o .for _lib in \ archive \ + asn1 \ atf_c \ atf_cxx \ + bind9 \ + bluetooth \ + bsdmalloc \ bz2 \ c \ c_pic \ - crt0 \ + com_err \ + compat \ crypt \ + crypto \ + crypto_idea \ + crypto_mdc2 \ + crypto_rc5 \ curses \ + dbm \ + des \ + dns \ edit \ + event \ expat \ + fetch \ + fl \ + form \ + g2c \ + gcc \ + gnumalloc \ + gssapi \ + hdb \ + heimbase \ + heimntlm \ + hx509 \ + intl \ + ipsec \ + isc \ + isccc \ + isccfg \ + kadm5clnt \ + kadm5srv \ + kafs \ + krb5 \ + kvm \ l \ + lber \ + ldap \ + ldap_r \ lua \ + lwres \ m \ magic \ + menu \ objc \ + ossaudio \ + pam \ + pcap \ + pci \ + pmc \ + posix \ + pthread \ + pthread_dbg \ + puffs \ + quota \ + radius \ + resolv \ rmt \ + roken \ + rpcsvc \ + rt \ + rump \ + rumpfs_cd9660fs \ + rumpfs_efs \ + rumpfs_ext2fs \ + rumpfs_ffs \ + rumpfs_hfs \ + rumpfs_lfs \ + rumpfs_msdosfs \ + rumpfs_nfs \ + rumpfs_ntfs \ + rumpfs_syspuffs \ + rumpfs_tmpfs \ + rumpfs_udf \ + rumpfs_ufs \ + rumpuser \ + saslc \ + skey \ + sl \ sqlite3 \ + ss \ + ssh \ + ssl \ + ssp \ stdcxx \ + supcxx \ terminfo \ + tre \ + usbhid \ util \ + wind \ + wrap \ + y \ z .ifndef LIB${_lib:tu} @@ -159,6 +255,11 @@ PAM_STATIC_LDADD= PAM_STATIC_DPADD= .endif +.if defined(__MINIX) && ${MACHINE_ARCH} == "earm" +# LSC: On ARM, when compiling statically, with gcc, lgcc_eh is required +LDFLAGS+= ${${ACTIVE_CC} == "gcc":? -lgcc_eh:} +.endif # defined(__MINIX) && ${MACHINE_ARCH} == "earm" + # NB: If you are a library here, add it in bsd.README .for _lib in \ FS \ @@ -202,6 +303,10 @@ LIB${_lib:tu}= ${DESTDIR}${X11USRLIBDIR}/lib${_lib}.a .endif .endfor +# Ugly one-offs +LIBX11_XCB= ${DESTDIR}${X11USRLIBDIR}/libX11-xcb.a +LIBXCB= ${DESTDIR}${X11USRLIBDIR}/libxcb.a + .if defined(RESCUEDIR) CPPFLAGS+= -DRESCUEDIR=\"${RESCUEDIR}\" .endif @@ -246,10 +351,6 @@ _APPEND_SRCS=yes _CCLINKFLAGS= .if defined(PROG_CXX) -#.if defined(__MINIX) # LSC: Can't test as bsd.own.mk may not have been sourced -LDADD+= -lgcc_s -DPADD+= ${DESTDIR}/usr/lib/libgcc_s.a -#.endif # defined(__MINIX) PROG= ${PROG_CXX} _CCLINK= ${CXX} ${_CCLINKFLAGS} .endif @@ -314,6 +415,23 @@ PROGS= ${PROG} . endif .endif +##### Libraries that this may depend upon. +.if defined(PROGDPLIBS) # { +.for _lib _dir in ${PROGDPLIBS} +.if !defined(BINDO.${_lib}) +PROGDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR} +.MAKEOVERRIDES+=PROGDO.${_lib} +.endif +LDADD+= -L${PROGDO.${_lib}} -l${_lib} +.if exists(${PROGDO.${_lib}}/lib${_lib}_pic.a) +DPADD+= ${PROGDO.${_lib}}/lib${_lib}_pic.a +.elif exists(${PROGDO.${_lib}}/lib${_lib}.so) +DPADD+= ${PROGDO.${_lib}}/lib${_lib}.so +.else +DPADD+= ${PROGDO.${_lib}}/lib${_lib}.a +.endif +.endfor +.endif # } # # Per-program definitions and targets. # @@ -338,12 +456,6 @@ _CCLINK.${_P}= ${CXX} ${_CCLINKFLAGS} # Language-independent definitions. .if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes" CFLAGS+= -flto -.endif - -.for _P in ${PROGS} ${PROGS_CXX} # { - -.if defined(__MINIX) && ${HAVE_GOLD:U} != "" - . if ${LD_STATIC:U} != "-static" GOLDLINKERSCRIPT?= ${LDS_DYNAMIC_BIN} @@ -351,6 +463,11 @@ GOLDLINKERSCRIPT?= ${LDS_DYNAMIC_BIN} GOLDLINKERSCRIPT?= ${LDS_STATIC_BIN} . endif +.endif + +.for _P in ${PROGS} ${PROGS_CXX} # { + +.if defined(__MINIX) && ${HAVE_GOLD:U} != "" GOLDLINKERSCRIPT.${_P}?= ${GOLDLINKERSCRIPT} . if ${GOLDLINKERSCRIPT.${_P}:U} != "" @@ -412,7 +529,8 @@ NODPSRCS+= ${f} .endif .endfor -${_P}: .gdbinit ${LIBCRT0} ${XOBJS.${_P}} ${SRCS.${_P}} ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} +${_P}: .gdbinit ${LIBCRT0} ${LIBCRTI} ${XOBJS.${_P}} ${SRCS.${_P}} \ + ${DPSRCS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} ${_MKTARGET_LINK} .if defined(DESTDIR) ${_CCLINK.${_P}} -Wl,-nostdlib \ @@ -445,21 +563,20 @@ CLEANFILES+= ${_P}.d ${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS} -.if defined(__MINIX) +.if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes" CLEANFILES+= ${_P}.opt.bcl ${_P}.bcl ${_P}.bcl.o -.endif # defined(__MINIX) -.if !commands(${_P}) -.if ${USE_BITCODE:Uno} == "yes" - -.if ${LLVM_PASS:UNO_PASS} != "NO_PASS" +# We may (or not) be using a pass. +. if ${LLVM_PASS:UNO_PASS} != "NO_PASS" _LLVM_PASS_ARGS= -load ${LLVM_PASS} ${LLVM_PASS_ARGS} _TARGET_BCL= ${_P}.opt.bcl -.else +. else _TARGET_BCL= ${_P}.bcl -.endif # ${LLVM_PASS:UNO_PASS} != "NO_PASS" +. endif # ${LLVM_PASS:UNO_PASS} != "NO_PASS" -${_P}.bcl: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} + +${_P}.bcl: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \ + ${LIBCRTEND} ${_DPADD.${_P}} ${_MKTARGET_LINK} ${_CCLINK.${_P}} \ -o ${.TARGET} \ @@ -489,13 +606,13 @@ ${_P}: ${_P}.bcl.o -Wl,-plugin=/usr/pkg/lib/bfd-plugins/LLVMgold.so,-plugin-opt=-disable-opt,-plugin-opt=-disable-inlining .else -${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} +${_P}: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \ + ${LIBCRTEND} ${_DPADD.${_P}} +.if !commands(${_P}) ${_MKTARGET_LINK} ${_CCLINK.${_P}} \ ${_LDFLAGS.${_P}} ${_LDSTATIC.${_P}} -o ${.TARGET} \ - ${OBJS.${_P}} ${_LDADD.${_P}} \ - ${_PROGLDOPTS} -.endif # ${USE_BITCODE:Uno} == "yes" + ${OBJS.${_P}} ${_PROGLDOPTS} ${_LDADD.${_P}} .if defined(CTFMERGE) ${CTFMERGE} ${CTFMFLAGS} -o ${.TARGET} ${OBJS.${_P}} .endif @@ -505,9 +622,8 @@ ${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_ .if ${MKSTRIPIDENT} != "no" ${OBJCOPY} -R .ident ${.TARGET} .endif -.else -${_P}: .gdbinit ${LIBCRT0} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${_DPADD.${_P}} .endif # !commands(${_P}) +.endif # defined(__MINIX) && ${USE_BITCODE:Uno} == "yes" .endif # USE_COMBINE ${_P}.ro: ${OBJS.${_P}} ${_DPADD.${_P}} diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk index 68c598d94..396bd6721 100644 --- a/share/mk/bsd.sys.mk +++ b/share/mk/bsd.sys.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.sys.mk,v 1.220 2012/09/23 19:20:44 joerg Exp $ +# $NetBSD: bsd.sys.mk,v 1.230 2013/11/06 19:57:17 christos Exp $ # # Build definitions used for NetBSD source tree builds. @@ -38,9 +38,7 @@ CFLAGS+= -Wno-sign-compare CFLAGS+= ${${ACTIVE_CC} != "clang":? -Wno-traditional :} .if !defined(NOGCCERROR) # Set assembler warnings to be fatal -#CFLAGS+= -Wa,--fatal-warnings -# LSC Clang version 2.9 those not support this flag -CFLAGS+= ${${HAVE_LLVM:U"0.0"} != "2.9":? -Wa,--fatal-warnings:} +CFLAGS+= -Wa,--fatal-warnings .endif # Set linker warnings to be fatal # XXX no proper way to avoid "FOO is a patented algorithm" warnings @@ -71,6 +69,9 @@ CXXFLAGS+= ${${ACTIVE_CXX} == "gcc":? -Wno-non-template-friend -Wno-pmf-conversi .if ${WARNS} > 4 CFLAGS+= -Wold-style-definition .endif +.if ${WARNS} > 5 && !(defined(HAVE_GCC) && ${HAVE_GCC} <= 45) +CFLAGS+= -Wconversion +.endif CFLAGS+= -Wsign-compare -Wformat=2 CFLAGS+= ${${ACTIVE_CC} == "clang":? -Wno-error=format-nonliteral :} CFLAGS+= ${${ACTIVE_CC} == "gcc":? -Wno-format-zero-length :} @@ -78,14 +79,18 @@ CFLAGS+= ${${ACTIVE_CC} == "gcc":? -Wno-format-zero-length :} .if ${WARNS} > 3 && defined(HAVE_LLVM) CFLAGS+= ${${ACTIVE_CC} == "clang":? -Wpointer-sign -Wmissing-noreturn :} .endif -.if (defined(HAVE_GCC) && ${HAVE_GCC} == 45 \ - && (${MACHINE_ARCH} == "sh3eb" || \ +.if (defined(HAVE_GCC) && ${HAVE_GCC} >= 45 \ + && (${MACHINE_ARCH} == "coldfire" || \ + ${MACHINE_ARCH} == "sh3eb" || \ ${MACHINE_ARCH} == "sh3el" || \ ${MACHINE_ARCH} == "m68k" || \ ${MACHINE_ARCH} == "m68000")) # XXX GCC 4.5 for sh3 and m68k (which we compile with -Os) is extra noisy for # cases it should be better with CFLAGS+= -Wno-uninitialized +.if ${HAVE_GCC} >= 48 +CFLAGS+= -Wno-maybe-uninitialized +.endif .endif .endif @@ -96,38 +101,21 @@ _NOWERROR= ${defined(NOGCCERROR) || (${ACTIVE_CC} == "clang" && defined(NOCLANGE CFLAGS+= ${${_NOWERROR} == "no" :?-Werror:} ${CWARNFLAGS} LINTFLAGS+= ${DESTDIR:D-d ${DESTDIR}/usr/include} -.if (${MACHINE_ARCH} == "alpha") || \ - (${MACHINE_ARCH} == "hppa") || \ - (${MACHINE_ARCH} == "ia64") || \ - (${MACHINE_ARCH} == "mipsel") || (${MACHINE_ARCH} == "mipseb") || \ - (${MACHINE_ARCH} == "mips64el") || (${MACHINE_ARCH} == "mips64eb") -HAS_SSP= no -.else -HAS_SSP= yes -.endif - -.if ${USE_FORT:Uno} != "no" -USE_SSP?= yes +.if (${USE_SSP:Uno} != "no") && (${BINDIR:Ux} != "/usr/mdec") .if !defined(KERNSRCDIR) && !defined(KERN) # not for kernels nor kern modules CPPFLAGS+= -D_FORTIFY_SOURCE=2 .endif -.endif - -.if (${USE_SSP:Uno} != "no") && (${BINDIR:Ux} != "/usr/mdec") -.if ${HAS_SSP} == "yes" COPTS+= -fstack-protector -Wstack-protector -.if defined(__MINIX) -COPTS+= ${${ACTIVE_CC} == "clang":? -mllvm -stack-protector-buffer-size=1 :} -.else COPTS+= ${${ACTIVE_CC} == "clang":? --param ssp-buffer-size=1 :} -.endif # defined(__MINIX) COPTS+= ${${ACTIVE_CC} == "gcc":? --param ssp-buffer-size=1 :} .endif -.endif .if ${MKSOFTFLOAT:Uno} != "no" COPTS+= -msoft-float FOPTS+= -msoft-float +.elif ${MACHINE_ARCH} == "coldfire" +COPTS+= -mhard-float +FOPTS+= -mhard-float .endif .if ${MKIEEEFP:Uno} != "no" @@ -160,9 +148,9 @@ AFLAGS+= ${CPUFLAGS} .if !defined(LDSTATIC) || ${LDSTATIC} != "-static" # Position Independent Executable flags -PIE_CFLAGS?= -fPIC -DPIC +PIE_CFLAGS?= -fPIC PIE_LDFLAGS?= -Wl,-pie -shared-libgcc -PIE_AFLAGS?= -fPIC -DPIC +PIE_AFLAGS?= -fPIC .endif # Helpers for cross-compiling @@ -170,8 +158,9 @@ HOST_CC?= cc HOST_CFLAGS?= -O HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c HOST_COMPILE.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} -c -.if defined(HOSTPROG_CXX) -HOST_LINK.c?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} +HOST_LINK.cc?= ${HOST_CXX} ${HOST_CXXFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} +.if defined(HOSTPROG_CXX) +HOST_LINK.c?= ${HOST_LINK.cc} .else HOST_LINK.c?= ${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} .endif @@ -195,6 +184,7 @@ HOST_SH?= /bin/sh ELF2ECOFF?= elf2ecoff MKDEP?= mkdep +MKDEPCXX?= mkdep OBJCOPY?= objcopy OBJDUMP?= objdump PAXCTL?= paxctl diff --git a/share/mk/bsd.test.mk b/share/mk/bsd.test.mk index 73d657f99..7f9954d67 100644 --- a/share/mk/bsd.test.mk +++ b/share/mk/bsd.test.mk @@ -30,11 +30,6 @@ BINDIR.${_T}= ${TESTSDIR} LDADD.${_T}+= -latf-c++ -latf-c DPADD.${_T}+= ${LIBATF_CXX} ${LIBATF_C} MAN.${_T}?= # empty -#.if defined(__MINIX) # LSC: Can't test as bsd.own.mk may not have been sourced -# Somehow it resets / ignore the settings in bsd.prog.mk, so duplicate here -LDADD.${_T}+= -lgcc_s -DPADD.${_T}+= ${DESTDIR}/usr/lib/libgcc_s.a -#.endif # defined(__MINIX) . endfor .endif diff --git a/share/mk/bsd.x11.mk b/share/mk/bsd.x11.mk index 915c666ae..42802dcab 100644 --- a/share/mk/bsd.x11.mk +++ b/share/mk/bsd.x11.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.x11.mk,v 1.106 2012/04/04 10:59:47 joerg Exp $ +# $NetBSD: bsd.x11.mk,v 1.108 2013/06/05 23:14:13 mrg Exp $ .include @@ -130,13 +130,13 @@ X11FLAGS.LOADABLE= -DXFree86LOADER -DIN_MODULE -DXFree86Module \ .if ${X11FLAVOUR} == "Xorg" XVENDORNAMESHORT= '"X.Org"' XVENDORNAME= '"The X.Org Foundation"' -XORG_RELEASE= '"Release 1.10.3"' +XORG_RELEASE= '"Release 1.10.6"' __XKBDEFRULES__= '"xorg"' XLOCALE.DEFINES= -DXLOCALEDIR=\"${X11LIBDIR}/locale\" \ -DXLOCALELIBDIR=\"${X11LIBDIR}/locale\" # XXX oh yeah, fix me later -XORG_VERSION_CURRENT="(((1) * 10000000) + ((10) * 100000) + ((3) * 1000) + 0)" +XORG_VERSION_CURRENT="(((1) * 10000000) + ((10) * 100000) + ((6) * 1000) + 0)" .endif PRINT_PACKAGE_VERSION= awk '/^PACKAGE_VERSION=/ { \ @@ -229,7 +229,8 @@ pkgconfig-install: realall: ${_PKGCONFIG_FILES:O:u} realinstall: pkgconfig-install -.for _pkg in ${PKGCONFIG:O:u} +.for _pkg in ${PKGCONFIG:O:u} # { + PKGDIST.${_pkg}?= ${X11SRCDIR.${PKGDIST:U${_pkg}}} _PKGDEST.${_pkg}= ${DESTDIR}${X11USRLIBDIR}/pkgconfig/${_pkg}.pc @@ -241,7 +242,14 @@ FILESMODE_${_pkg}.pc= ${NONBINMODE} ${_PKGDEST.${_pkg}}: ${_pkg}.pc __fileinstall pkgconfig-install: ${_PKGDEST.${_pkg}} -.endfor + +# Add a dependancy on the configure file if it exists; this way we +# will rebuild the .pc file if the version in configure changes. +.if exists(${PKGDIST.${_pkg}}/configure) +${_pkg}.pc: ${PKGDIST.${_pkg}}/configure +.endif + +.endfor # } # XXX # The sed script is very, very ugly. What we actually need is a diff --git a/share/mk/minix.service.mk b/share/mk/minix.service.mk index 16e355224..eac1032c1 100644 --- a/share/mk/minix.service.mk +++ b/share/mk/minix.service.mk @@ -1,6 +1,12 @@ # MINIX-specific servers/drivers options .include +# LSC: Our minimal c library has no putchar, which is called by the builtin +# functions of the compiler, so prevent using them. + +AFLAGS+= -D__ASSEMBLY__ +COPTS+= -fno-builtin + # LSC Static linking, order matters! # We can't use --start-group/--end-group as they are not supported by our # version of clang. @@ -18,4 +24,15 @@ LDADD+= -L/usr/pkg/compiler-rt/lib -lCompilerRT-Generic -lsys -lCompilerRT-Gener # 3. Minimal C library LDADD+= -lminc +.if ${MACHINE_ARCH} == "earm" +LDADD+= -lc_vfp + +# LSC: On ARM, when compiling statically, with gcc, lgcc_eh is required +.if ${PROG:U} != "kernel" && !empty(CC:M*gcc) +# gcc_eh uses abort(), which is provided by minc +LDFLAGS+= ${${ACTIVE_CC} == "gcc":? -lgcc_eh:} +.endif # ${PROG:U} != "kernel" && !empty(CC:M*gcc) + +.endif # ${MACHINE_ARCH} == "earm" + .include diff --git a/share/mk/sys.mk b/share/mk/sys.mk index 8f1a4419e..c77179f26 100644 --- a/share/mk/sys.mk +++ b/share/mk/sys.mk @@ -1,22 +1,29 @@ -# $NetBSD: sys.mk,v 1.110 2012/10/06 20:54:58 christos Exp $ +# $NetBSD: sys.mk,v 1.118 2013/11/01 17:07:37 christos Exp $ # @(#)sys.mk 8.2 (Berkeley) 3/21/94 +# +# This file contains the basic rules for make(1) and is read first +# Do not put conditionals that are set on different files here and +# expect them to work. # This variable should be used to differentiate Minix builds in Makefiles. __MINIX= yes -.if defined(__MINIX) +.if !defined(__MINIX) +unix?= We run NetBSD. + +.SUFFIXES: .a .o .ln .s .S .c .cc .cpp .cxx .C .f .F .r .p .l .y .sh +.else +unix?= We run MINIX. + +.SUFFIXES: .a .o .bc .ln .s .S .c .cc .cpp .cxx .C .f .F .r .p .l .y .sh + .if ${MKSMALL:U} == "yes" CPPFLAGS+= -DNDEBUG DBG= -Os .endif -unix?= We run MINIX. - CPP?= /usr/lib/cpp .endif # defined(__MINIX) -unix?= We run NetBSD. - -.SUFFIXES: .a .o .bc .ln .s .S .c .cc .cpp .cxx .C .f .F .r .p .l .y .sh .LIBS: .a @@ -39,6 +46,8 @@ DBG?= -Os -freorder-blocks .elif ${MACHINE_ARCH} == "m68k" || ${MACHINE_ARCH} == "m68000" # see src/doc/HACKS for details DBG?= -Os +.elif ${MACHINE_ARCH} == "coldfire" +DBG?= -O1 .elif ${MACHINE_ARCH} == "vax" DBG?= -O1 -fgcse -fstrength-reduce -fgcse-after-reload .else @@ -50,23 +59,15 @@ COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} # C Type Format data is required for DTrace -# XXX TBD VERSION is not defined -CTFFLAGS ?= -L VERSION -CTFMFLAGS ?= -t -L VERSION +CTFFLAGS ?= -g -L VERSION +CTFMFLAGS ?= -g -t -L VERSION -.if defined(MKDTRACE) && ${MKDTRACE} != "no" -CTFCONVERT ?= ${TOOL_CTFCONVERT} -CTFMERGE ?= ${TOOL_CTFMERGE} -.if defined(CFLAGS) && (${CFLAGS:M-g} != "") -CTFFLAGS += -g -CTFMFLAGS += -g -.else -CFLAGS += -g -.endif -.endif +# We don't define these here, we let the bsd.own.mk to do it +#CTFCONVERT ?= ctfconvert +#CTFMERGE ?= ctfmerge CXX?= c++ -CXXFLAGS?= ${CFLAGS:N-Wno-traditional:N-Wstrict-prototypes:N-Wmissing-prototypes:N-Wno-pointer-sign:N-ffreestanding:N-std=gnu99:N-Wold-style-definition:N-Wno-format-zero-length} +CXXFLAGS?= ${CFLAGS:N-Wno-traditional:N-Wstrict-prototypes:N-Wmissing-prototypes:N-Wno-pointer-sign:N-ffreestanding:N-std=gnu[0-9][0-9]:N-Wold-style-definition:N-Wno-format-zero-length} __ALLSRC1= ${empty(DESTDIR):?${.ALLSRC}:${.ALLSRC:S|^${DESTDIR}|^destdir|}} __ALLSRC2= ${empty(MAKEOBJDIR):?${__ALLSRC1}:${__ALLSRC1:S|^${MAKEOBJDIR}|^obj|}} @@ -162,6 +163,9 @@ YACC.y?= ${YACC} ${YFLAGS} ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} .f.o: ${COMPILE.f} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .f.a: ${COMPILE.f} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o @@ -186,6 +190,9 @@ YACC.y?= ${YACC} ${YFLAGS} ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} .r.o: ${COMPILE.r} ${.IMPSRC} +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif .r.a: ${COMPILE.r} ${.IMPSRC} ${AR} ${ARFLAGS} ${.TARGET} ${.PREFIX}.o @@ -248,6 +255,9 @@ YACC.y?= ${YACC} ${YFLAGS} .l.o: ${LEX.l} ${.IMPSRC} ${COMPILE.c} -o ${.TARGET} lex.yy.c +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif rm -f lex.yy.c # Yacc @@ -261,6 +271,9 @@ YACC.y?= ${YACC} ${YFLAGS} .y.o: ${YACC.y} ${.IMPSRC} ${COMPILE.c} -o ${.TARGET} y.tab.c +.if defined(CTFCONVERT) + ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.endif rm -f y.tab.c # Shell diff --git a/share/terminfo/Makefile b/share/terminfo/Makefile index 83edbc8fb..a306ca25c 100644 --- a/share/terminfo/Makefile +++ b/share/terminfo/Makefile @@ -13,8 +13,5 @@ FILESDIR=${BINDIR}/misc terminfo.cdb: terminfo ${TOOL_TIC} ${_MKTARGET_CREATE} ${TOOL_TIC} -ax -o ${.TARGET} "${.CURDIR}/terminfo" -#LSC FIXME: Hack, on some platform TOOL_TIC automatically add -# .db to the filename... - test -e ${.TARGET}.db && mv ${.TARGET}.db ${.TARGET} .include diff --git a/share/terminfo/terminfo b/share/terminfo/terminfo index 686d9d361..bfe4b7572 100644 --- a/share/terminfo/terminfo +++ b/share/terminfo/terminfo @@ -6,8 +6,8 @@ # Report bugs and new terminal descriptions to # bug-ncurses@gnu.org # -# $Revision: 1.5 $ -# $Date: 2012/06/01 14:47:06 $ +# $Revision: 1.7 $ +# $Date: 2013/10/01 09:17:41 $ # # The original header is preserved below for reference. It is noted that there # is a "newer" version which differs in some cosmetic details (but actually @@ -321,7 +321,7 @@ vanilla|dumb tty, # DEL and ^C are hardcoded to act as kill characters. # ^D acts as a line break (just like newline). # It also interprets -# \033];xxx\007 +# \033];xxx\007 # for compatibility with xterm -TD 9term|Plan9 terminal emulator for X, am, @@ -376,11 +376,19 @@ ansi+sgrdim|ansi graphic renditions; assuming terminal has dim; not bold, dim=\E[2m, sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;%;%?%p7%t8;%;m, use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul, -ansi+pp|ansi printer port, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, ansi+csr|ansi scroll-region plus cursor save & restore, csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7, +# The normal (ANSI) flavor of "media copy" building block asserts that +# characters sent to the printer do not echo on the screen. DEC terminals +# can also be put into autoprinter mode, where each line is sent to the +# printer as you move off that line, e.g., by a carriage return. +ansi+pp|ansi printer port, + mc5i, + mc0=\E[i, mc4=\E[4i, mc5=\E[5i, +dec+pp|DEC autoprinter mode, + mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i, + # The IBM PC alternate character set. Plug this into any Intel console entry. # We use \E[11m for rmacs rather than \E[12m so the string can use the # ROM graphics for control characters such as the diamond, up- and down-arrow. @@ -456,9 +464,10 @@ ibcs2|Intel Binary Compatibility Standard prescriptions, cud=\E[%p1%dB, cud1=\E[1B, cuf=\E[%p1%dC, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[1A, dch=\E[%p1%dP, dispc=\E=%p1%dg, ech=\E[%p1%dX, - hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, rmam=\E[?7l, sc=\E7, - smam=\E[?7h, tbc=\E[g, vpa=\E[%i%p1%dd, + hpa=\E[%i%p1%dG, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, + il=\E[%p1%dL, indn=\E[%p1%dS, rc=\E7, rin=\E[%p1%dT, + rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g, + vpa=\E[%i%p1%dd, #### ANSI/ECMA-48 terminals and terminal emulators # @@ -488,7 +497,7 @@ ansi-mini|any ansi terminal with pessimistic assumptions, # ansi-mtabs adds relative addressing and minimal tab support ansi-mtabs|any ansi terminal with pessimistic assumptions, it#8, - ht=^I, use=ansi+local1, use=ansi-mini, + ht=^I, use=ansi-mini, use=ansi+local1, # ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL # @@ -689,12 +698,8 @@ nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi is2=U4 PC-DOS Public Domain NANSI.SYS with keypad redefined for vi 9-29-86\n\E[;75;8p, use=ansi.sysk, -#### ANSI console types -# +#### Atari ST terminals -############################################################################# -# -# Atari ST terminals. # From Guido Flohr . # tw52|tw52-color|Toswin window manager with color, @@ -799,9 +804,6 @@ stv52pc|MiNT virtual console with PC charset, rmul=\EzH, rs1=\Ez_\Eb@\EcA, sgr0=\Ez_, smcup=\Ev\Ee\Ez_, smso=\Ep, smul=\EyH, -#### Atari ST -# - # From: Simson L. Garfinkel atari-old|atari st, OTbs, am, @@ -835,6 +837,692 @@ st52-old|Atari ST with VT52 emulation, ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq, smcup=\Ee, smso=\Ep, +#### Apple Terminal.app + +# nsterm*|Apple_Terminal - AppKit Terminal.app +# +# Terminal.app is a Terminal emulator bundled with NeXT's NeXTStep and +# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X +# Server and Mac OS X operating systems. There is also a +# "terminal.app" in GNUStep, but I believe it to be an unrelated +# codebase and I have not attempted to describe it here. +# +# For NeXTStep, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you +# are pretty much on your own. Use "nsterm-7-m" and hope for the best. +# You might also try "nsterm-7" and "nsterm-old" if you suspect your +# version supports color. +# +# To determine the version of Terminal.app you're using by running: +# +# echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION" +# +# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce") +# +# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm") +# +# For Apple_Terminal v71+/v100+, use "nsterm-bce". +# +# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s". +# +# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s". +# +# For all earlier versions (Apple_Terminal), try "nsterm-7-m" +# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s" +# might work too, but really you're on your own here since these +# systems are very obsolete and I can't test them. I do welcome +# patches, though :). + +# Other Terminals: +# +# For GNUstep_Terminal, you're probably best off using "linux" or +# writing your own terminfo. + +# For MacTelnet, you're on your own. It's a different codebase, and +# seems to be somewhere between "vt102", "ncsa" and "xterm-color". + +# For iTerm.app, see "iterm". + +# +# The AppKit Terminal.app descriptions all have names beginning with +# "nsterm". Note that the statusline (-s) versions use the window +# titlebar as a phony status line, and may produce warnings during +# compilation as a result ("tsl uses 0 parameters, expected 1".) +# Ignore these warnings, or even ignore these entries entirely. Apps +# which need to position the cursor or do other fancy stuff inside the +# status line won't work with these entries. They're primarily useful +# for programs like Pine which provide simple notifications in the +# status line. Please note that non-ASCII characters don't work right +# in the status line, since Terminal.app incorrectly interprets their +# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X +# versions) or only accepts status lines consisting entirely of +# characters from the first 256 Unicode positions (including C1 but +# not C0 or DEL.) +# +# The Mythology* of AppKit Terminal.app: +# +# In the days of NeXTSTep 0.x and 1.x there were two incompatible +# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a +# shareware replacement for Terminal called "Stuart" which NeXT bought +# and used as the basis for the Terminal.app in NeXTstep 2+, +# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I +# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or +# capabilities for the early versions, but I believe that the +# TERM_PROGRAM_VERSION may have been reset at some point. +# +# The early versions were tailored to the NeXT character set. Sometime +# after the Apple aquisition the encoding was swiched to MacRoman +# (initally with serious altcharset bugs due to incomplete conversion +# of the old NeXT code,) and then later to UTF-8. Alos sometime during +# or just prior to the early days of Mac OS X, the Terminal grew ANSI +# 8-color support (initially buggy when combined with attributes, but +# that was later fixed.) More recently, around Mac OS X version 10.3 +# or so (Terminal.app v100+) xterm-like 16-color support was added. In +# some versions (for instance 133-1 which shipped with Mac OS X +# version 10.4) this suffered from the bug, but that seems to +# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+). +# +# In the early days of Mac OS X the terminal was fairly buggy and +# would routinely crash under load. Many of these bugs seem to have +# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but +# some may still remain. This change seems to correspond to +# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as +# it did previously. +# +# * This may correspond with what actually happened, but I don't +# know. It is based on guesswork, hearsay, private correspondence, +# my faulty memory, and the following online sources and references: +# +# [1] "Three Scotts and a Duane" by Simson L. Garfinkel +# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html +# +# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia +# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep +# +# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to +# "nsterm" to comply with the name length and case conventions and +# limitations of various software packages [notably Solaris terminfo +# and UNIX.] A single Apple_Terminal alias is retained for +# backwards-compatbility. +# +# * Added function key support (F1-F4). These only work in Terminal.app +# version 51, hopefully the capabilities won't cause problems for people +# using version 41. +# +# * Added "full color" (-c) entries which support the 16-color mode in +# version 51. +# +# * By default, version 51 uses UTF-8 encoding with broken altcharset +# support, so "ASCII" (-7) entries without altcharset support were +# added. + +# nsterm - AppKit Terminal.app +# +# Apple's Mac OS X includes a Terminal.app derived from the old NeXT +# Terminal.app. It is a partial VT100 emulation with some xterm-like +# extensions. This terminfo was written to describe versions 41 +# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X +# version 10.1) of Terminal.app. +# +# Terminal.app runs under the Mac OS X Quartz windowing system (and +# other AppKit-supported windowing systems.) On the Mac OS X machine I +# use, the executable for Terminal.app is: +# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal +# +# If you're looking for a description of the full-screen system +# console which runs under Apple's Darwin operating system on PowerPC +# platforms, see the "xnuppc" entry instead. +# +# There were no function keys in version 41. In version 51, there are +# four working function keys (F1, F2, F3 and F4.) The function keys +# are included in all of these entries. +# +# It does not support mouse pointer position reporting. Under some +# circumstances the cursor can be positioned using option-click; this +# works by comparing the cursor position and the selected position, +# and simulating enough cursor-key presses to move the cursor to the +# selected position. This technique fails in all but the simplest +# applications. +# +# It provides partial ANSI color support (background colors interacted +# badly with bold in version 41, though, as reflected in :ncv:.) The +# monochrome (-m) entries are useful if you've disabled color support +# or use a monochrome monitor. The full color (-c) entries are useful +# in version 51, which doesn't exhibit the background color bug. They +# also enable an xterm-compatible 16-color mode. +# +# The configurable titlebar is set using xterm-compatible sequences; +# it is used as a status bar in the statusline (-s) entries. Its width +# depends on font sizes and window sizes, but 50 characters seems to +# be the default for an 80x24 window. +# +# The MacRoman character encoding is used for some of the alternate +# characters in the "MacRoman" entries; the "ASCII" (-7) entries +# disable alternate character set support entirely, and the "VT100" +# (-acs) entries rely instead on Terminal.app's own buggy VT100 +# graphics emulation, which seems to think the character encoding is +# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries +# are useful in Terminal.app version 51, which supports UTF-8 and +# other ASCII-compatible character encodings but does not correctly +# implement VT100 graphics; once VT100 graphics are correctly +# implemented in Terminal.app, the "VT100" (-acs) entries should be +# usable in any ASCII-compatible character encoding [except perhaps +# in UTF-8, where some experts argue for disallowing alternate +# characters entirely.] +# +# Terminal.app reports "vt100" as the terminal type, but exports +# several environment variables which may aid detection in a shell +# profile (i.e. .profile or .login): +# +# TERM=vt100 +# TERM_PROGRAM=Apple_Terminal +# TERM_PROGRAM_VERSION=41 # in Terminal.app version 41 +# TERM_PROGRAM_VERSION=51 # in Terminal.app version 51 +# +# For example, the following Bourne shell script would detect the +# correct terminal type: +# +# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ] +# then +# export TERM +# if [ :"$TERM_PROGRAM_VERSION" = :41 ] +# then +# TERM="nsterm-old" +# else +# TERM="nsterm-c-7" +# fi +# fi +# +# In a C shell derivative, this would be accomplished by: +# +# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then +# if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then +# if ( :"$TERM_PROGRAM_VERSION" == :41 ) then +# setenv TERM "nsterm-old" +# else +# setenv TERM "nsterm-c-7" +# endif +# endif +# endif + +# The '+' entries are building blocks +nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset, + am, bw, msgr, xenl, xon, + cols#80, it#8, lines#24, + bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, + dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, + home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, + invis=\E[8m, kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, + kcuu1=\EOA, kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, + rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, + rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, + sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, + smul=\E[4m, tbc=\E[3g, use=vt100+enq, use=vt100+pfkeys, + +nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + enacs=\E(B\E)0, rmacs=^O, + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, + sgr0=\E[m\017, smacs=^N, use=nsterm+7, + +nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset, + acsc=+\335\,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245, + enacs=\E(B\E)0, rmacs=^O, + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, + sgr0=\E[m\017, smacs=^N, use=nsterm+7, + +# compare with xterm+sl-twm +nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support, + hs, + wsl#50, + dsl=\E]2;\007, fsl=^G, tsl=\E]2;, + +nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors), + op=\E[0m, use=ibm+16color, + +nsterm+c41|AppKit Terminal.app v41 color support, + colors#8, ncv#37, pairs#64, + op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + +# These are different combinations of the building blocks + +# ASCII charset (-7) +nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome), + use=nsterm+7, + +nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline), + use=nsterm+s, use=nsterm+7, + +nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color), + use=nsterm+c41, use=nsterm+7, + +nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color), + use=nsterm+c, use=nsterm+7, + +nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline), + use=nsterm+s, use=nsterm+c41, use=nsterm+7, + +nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline), + use=nsterm+s, use=nsterm+c, use=nsterm+7, + +# VT100 alternate-charset (-acs) +nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome), + use=nsterm+acs, + +nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline), + use=nsterm+s, use=nsterm+acs, + +nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color), + use=nsterm+c41, use=nsterm+acs, + +nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color), + use=nsterm+c, use=nsterm+acs, + +nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline), + use=nsterm+s, use=nsterm+c41, use=nsterm+acs, + +nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline), + use=nsterm+s, use=nsterm+c, use=nsterm+acs, + +# MacRoman charset +nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome), + use=nsterm+mac, + +nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline), + use=nsterm+s, use=nsterm+mac, + +nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color), + use=nsterm+c41, use=nsterm+mac, + +nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color), + use=nsterm+c, use=nsterm+mac, + +nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline), + use=nsterm+s, use=nsterm+c41, use=nsterm+mac, + +nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline), + use=nsterm+s, use=nsterm+c, use=nsterm+mac, + +# In Mac OS X version 10.5 the format of the preferences has changed +# and a new, more complex technique is needed, e.g., +# +# python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass( +# "NSUserDefaults");ud=NSUserDefaults.alloc(); +# ud.init();prefs=ud.persistentDomainForName_( +# "com.apple.Terminal");prefs["Window Settings"][ +# prefs["Default Window Settings"]]["TerminalType" +# ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs, +# "com.apple.Terminal")' nsterm-16color +# +# and it is still not settable from the preferences dialog. This is +# tracked under rdar://problem/7365108 and rdar://problem/7365134 +# in Apple's bug reporter. +# +# In OS X 10.7 (Leopard) the TERM which can be set in the preferences dialog +# defaults to xterm-color. Alternative selections are ansi, dtterm, rxvt, +# vt52, vt100, vt102 and xterm. +nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5, + bw@, mir, npc, + civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, + flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG, + ich=\E[%p1%d@, ich1=\E[@, kdch1=\E[3~, kend=\E[F, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, + kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, + kf18=\E[22~, kf19=\E[33~, kf20=\E[34~, kf5=\E[15~, + kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H, + knp=\E[6~, kpp=\E[5~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, + smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd, + kLFT5=\E[5D, kRIT5=\E[5C, use=nsterm-c-s-acs, + +# The versions of Terminal.app in Mac OS X version 10.3.x seem to have +# the background color erase feature. The newer version 240.2 in Mac OS X +# version 10.5 does not. +# +# This entry is based on newsgroup comments by Alain Bench, Christian Ebert, +# and D P Schreber comparing to nsterm-c-s-acs. +# +# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM +# can be set in Terminal.app, e.g., +# +# defaults write com.apple.Terminal TermCapString nsterm-bce +# +# and that it is not set in Terminal's preferences dialog. +# +# Modified for OS X 10.8, omitting bw based on testing with tack -TD +# +# Notes: +# * The terminal description matches the default settings. +# * The keyboard is configurable via a dialog. +# * By default khome, kend, knext and kprev are honored only with a +# shift-modifier. +# * There are bindings for control left/right arrow (but not up/down). +# Added those to nsterm-16color, which is the version used for OS X 10.6 +# * "Allow VT100 application keypage mode" is by default disabled. +# There is no way to press keypad-comma unless application mode is enabled +# and used. +# * 132-column mode stopped working during vttest's tests. Consider it broken. +# * CHT, REP, SU, SD are buggy. +# * ECH works (also in Leopard), but is not used here for compatibility. +# * The terminal preferences dialog replaces xterm-color by xterm-16color and +# xterm-256color. However, it adds "nsterm", so it is possible to use the +# nsterm entry from this file to override the MacPorts (20110404) or +# system (20081102) copy of this file. +# + In OS X 10.8 (Mountain Lion) the TERM which can be set in the preferences +# dialog defaults to xterm-256color. Alternative selections are ansi, +# dtterm, rxvt, vt52, vt100, vt102, xterm and xterm-16color. However, +# the menu says "Declare terminal as" without promising to actually emulate +# the corresponding terminals. Indeed, changing TERM does not affect the +# emulation itself. This means that +# + the function-keys do not match for dtterm for kf1-kf4 as well as +# khome/kend +# + the color model is the same for each setting of TERM (does not match +# ansi or dtterm). +# + the shift/control/meta key modifiers from rxvt and xterm variants are not +# recognised except for a few special cases, i.e., kRIT5 and kLFT5. +# + the vt52 emulation does not give a usable shell because screen-clearing +# does not work as expected. +# + selecting "xterm" or "xterm-16color" sets TERM to "xterm-256color". +nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce), + bce, use=nsterm-16color, + +# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11 +# TERM_PROGRAM_VERSION=309 +# Earlier reports state that these differences also apply to OS X 10.7 (Lion), +# TERM_PROGRAM_VERSION=303 +nsterm-256color|Terminal.app in OS X 10.8, + ccc@, + initc@, use=xterm+256color, use=nsterm-bce, + +# This is an alias which should always point to the "current" version +nsterm|Apple_Terminal|AppKit Terminal.app, + use=nsterm-256color, + +# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and +# more featureful) terminal emulator for Mac OS X. It is similar +# enough in capabilities to nsterm-16color that I have derived this +# description from that one, but as far as I know they share no code. +# Many of the features are user-configurable, but I attempt only to +# describe the default configuration. +# +# NOTE: When tack tests (csr) + (nel) iTerm.app crashes, so (csr) is +# disabled. +iTerm.app|iTerm.app terminal emulator for Mac OS X, + bce, bw@, ccc@, + csr@, initc@, kend=\EOF, khome=\EOH, use=xterm+256color, + use=nsterm-16color, + +# xnuppc - Darwin PowerPC Console (a.k.a. "darwin") +# +# On PowerPC platforms, Apple's Darwin operating system uses a +# full-screen system console derived from a NetBSD framebuffer +# console. It is an ANSI-style terminal, and is not really VT-100 +# compatible. +# +# Under Mac OS X, this is the system console driver used while in +# single-user mode [reachable by holding down Command-S during the +# boot process] and when logged in using console mode [reachable by +# typing ">console" at the graphical login prompt.] +# +# If you're looking for a description of the Terminal.app terminal +# emulator which runs under the Mac OS X Quartz windowing system (and +# other AppKit-supported windowing systems,) see the "nsterm" +# entry instead. +# +# NOTE: Under Mac OS X version 10.1, the default login window does not +# prompt for user name, instead requiring an icon to be selected from +# a list of known users. Since the special ">console" login is not in +# this list, you must make one of two changes in the Login Window +# panel of the Login section of System Prefs to make the special +# ">console" login accessible. The first option is to enable 'Show +# "Other User" in list for network users', which will add a special +# "Other..." icon to the graphical login panel. Selecting "Other..." +# will present the regular graphical login prompt. The second option +# is to change the 'Display Login Window as:' setting to 'Name and +# password entry fields', which replaces the login panel with a +# graphical login prompt. +# +# There are no function keys, at least not in Darwin 1.3. +# +# It has no mouse support. +# +# It has full ANSI color support, and color combines correctly with +# all three supported attributes: bold, inverse-video and underline. +# However, bold colored text is almost unreadable (bolding is +# accomplished using shifting and or-ing, and looks smeared) so bold +# has been excluded from the list of color-compatible attributes +# [using (ncv)]. The monochrome entry (-m) is useful if you use a +# monochrome monitor. +# +# There is one serious bug with this terminal emulation's color +# support: repositioning the cursor onto a cell with non-matching +# colors obliterates that cell's contents, replacing it with a blank +# and displaying a colored cursor in the "current" colors. There is +# no complete workaround at present [other than using the monochrome +# (-m) entries,] but removing the (msgr) capability seemed to help. +# +# The "standout" chosen was simple reverse-video, although a colorful +# standout might be more aesthetically pleasing. Similarly, the bold +# chosen is the terminal's own smeared bold, although a simple +# color-change might be more readable. The color-bold (-b) entries +# uses magenta colored text for bolding instead. The fancy color (-f +# and -f2) entries use color for bold, standout and underlined text +# (underlined text is still underlined, though.) +# +# Apparently the terminal emulator does support a VT-100-style +# alternate character set, but all the alternate character set +# positions have been left blank in the font. For this reason, no +# alternate character set capabilities have been included in this +# description. The console driver appears to be ASCII-only, so (enacs) +# has been excluded [although the VT-100 sequence does work.] +# +# The default Mac OS X and Darwin installation reports "vt100" as the +# terminal type, and exports no helpful environment variables. To fix +# this, change the "console" entry in /etc/ttys from "vt100" to +# "xnuppc-WxH", where W and H are the character dimensions of your +# console (see below.) +# +# The font used by the terminal emulator is apparently one originally +# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This +# file includes descriptions for the following geometries: +# +# Pixels Characters Entry Name (append -m for monochrome) +# ------------------------------------------------------------------- +# 640x400 80x25 xnuppc-80x25 +# 640x480 80x30 xnuppc-80x30 +# 720x480 90x30 xnuppc-90x30 +# 800x600 100x37 xnuppc-100x37 +# 896x600 112x37 xnuppc-112x37 +# 1024x640 128x40 xnuppc-128x40 +# 1024x768 128x48 xnuppc-128x48 +# 1152x768 144x48 xnuppc-144x48 +# 1280x1024 160x64 xnuppc-160x64 +# 1600x1024 200x64 xnuppc-200x64 +# 1600x1200 200x75 xnuppc-200x75 +# 2048x1536 256x96 xnuppc-256x96 +# +# The basic "xnuppc" entry includes no size information, and the +# emulator includes no reporting capability, so you'll be at the mercy +# of the TTY device (which reports incorrectly on my hardware.) The +# color-bold entries do not include size information. + +# The '+' entries are building blocks +xnuppc+basic|Darwin PowerPC Console basic capabilities, + am, bce, mir, xenl, + it#8, + bold=\E[1m, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, + cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, + cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, + cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K, + el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, + rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, + rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, + sc=\E7, + sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, + sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, + smul=\E[4m, tbc=\E[3g, use=vt100+keypad, + +xnuppc+c|Darwin PowerPC Console ANSI color support, + colors#8, ncv#32, pairs#64, + op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + +xnuppc+b|Darwin PowerPC Console color-bold support, + ncv#32, + bold=\E[35m, + sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, + use=xnuppc+basic, + +xnuppc+f|Darwin PowerPC Console fancy color support, + ncv#35, + sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%?%p3%t;7%;m, + smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b, + +xnuppc+f2|Darwin PowerPC Console alternate fancy color support, + ncv#35, + bold=\E[33m, + sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%?%p3%t;7%;m, + smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic, + +# Building blocks for specific screen sizes +xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels), + cols#80, lines#25, + +xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels), + cols#80, lines#30, + +xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels), + cols#90, lines#30, + +xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels), + cols#100, lines#37, + +xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels), + cols#112, lines#37, + +xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels), + cols#128, lines#40, + +xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels), + cols#128, lines#48, + +xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels), + cols#144, lines#48, + +xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels), + cols#160, lines#64, + +xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels), + cols#200, lines#64, + +xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels), + cols#200, lines#75, + +xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels), + cols#256, lines#96, + +# These are different combinations of the building blocks + +xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome), + use=xnuppc+basic, + +xnuppc|darwin|Darwin PowerPC Console (color), + use=xnuppc+c, use=xnuppc+basic, + +xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold), + use=xnuppc+b, + +xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold), + use=xnuppc+b, use=xnuppc+c, + +xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome), + use=xnuppc+f, + +xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color), + use=xnuppc+f, use=xnuppc+c, + +xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome), + use=xnuppc+f2, + +xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color), + use=xnuppc+f2, use=xnuppc+c, + +# Combinations for specific screen sizes +xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25, + use=xnuppc+80x25, use=xnuppc+basic, + +xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25, + use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic, + +xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30, + use=xnuppc+80x30, use=xnuppc+basic, + +xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30, + use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic, + +xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30, + use=xnuppc+90x30, use=xnuppc+basic, + +xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30, + use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic, + +xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37, + use=xnuppc+100x37, use=xnuppc+basic, + +xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37, + use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic, + +xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37, + use=xnuppc+112x37, use=xnuppc+basic, + +xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37, + use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic, + +xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40, + use=xnuppc+128x40, use=xnuppc+basic, + +xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40, + use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic, + +xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48, + use=xnuppc+128x48, use=xnuppc+basic, + +xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48, + use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic, + +xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48, + use=xnuppc+144x48, use=xnuppc+basic, + +xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48, + use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic, + +xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64, + use=xnuppc+160x64, use=xnuppc+basic, + +xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64, + use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic, + +xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64, + use=xnuppc+200x64, use=xnuppc+basic, + +xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64, + use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic, + +xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75, + use=xnuppc+200x75, use=xnuppc+basic, + +xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75, + use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic, + +xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96, + use=xnuppc+256x96, use=xnuppc+basic, + +xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96, + use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic, + + #### BeOS # # BeOS entry for Terminal program Seems to be almost ANSI @@ -909,7 +1597,7 @@ linux-basic|linux console, khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, + sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;11%;m, smam=\E[?7h, smir=\E[4h, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt102+enq, use=klone+sgr, use=ecma+color, @@ -936,10 +1624,30 @@ linux-c|linux console 1.3.6+ for older ncurses, # The 2.2.x kernels add a private mode that sets the cursor type; use that to # get a block cursor for cvvis. # reported by Frank Heckenbach . -linux|linux console, +linux2.2|linux 2.2.x console, civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c, cvvis=\E[?25h\E[?8c, use=linux-c-nc, +# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here: +# http://lkml.indiana.edu/hypermail/linux/kernel/0602.2/0868.html +# Using SI/SO has the drawback that it confuses screen. SCS would work. +# However, SCS is buggy (see comment in Debian #515609) -TD +# Further, this breaks longstanding workarounds for Linux console's line +# drawing (see Debian 665959) -TD +linux2.6|linux 2.6.x console, + rmacs=^O, + sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;, + sgr0=\E[m\017, smacs=^N, use=linux2.2, + +# The 3.0 kernel adds support for clearing scrollback buffer (capability E3). +# It is the same as xterm's erase-saved-lines feature. +linux3.0|linux 3.0 kernels, + E3=\E[3;J, use=linux2.6, + +# This is Linux console for ncurses. +linux|linux console, + use=linux2.2, + # Subject: linux 2.6.26 vt back_color_erase # Changes to the Linux console driver broke bce model as reported in # https://bugzilla.novell.com/show_bug.cgi?id=418613 @@ -947,7 +1655,7 @@ linux|linux console, # http://lkml.org/lkml/2008/4/26/305 # http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/87f98338f0d636bb/aa96e8b86cee0d1e?lnk=st&q=#aa96e8b86cee0d1e linux2.6.26|linux console w/o bce, - bce@, use=linux, + bce@, use=linux2.6, # See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file linux-nic|linux with ich/ich1 suppressed for non-curses programs, @@ -998,9 +1706,9 @@ kon|kon2|jfbterm|Kanji ON Linux console, # you use a 512-character console font. This uses bold for bright # foreground colors and blink for bright background colors. linux-16color|linux console with 16 colors, - colors#16, ncv#54, pairs#256, - setab=\E[4%p1%{8}%m%d%?%p1%{8}%>%t;5%e%p1%{8}%=%t;2%e;25%;m, - setaf=\E[3%p1%{8}%m%d%?%p1%{8}%>%t;1%e%p1%{8}%=%t;2%e;21%;m, + colors#16, ncv#63, pairs#256, + setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m, + setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m, use=linux, # bterm (bogl 0.1.18) @@ -1024,7 +1732,7 @@ bterm|bogl virtual terminal, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kspd=^Z, nel=^M^J, - op=\E49;39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m, + op=\E[49m\E[39m, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[27m, rmul=\E[24m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0m, smacs=^N, smso=\E[7m, smul=\E[4m, @@ -1053,6 +1761,24 @@ mach-color|Mach Console with ANSI color, dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach, +# From: Samuel Thibault +# Source: git://git.sv.gnu.org/hurd/gnumach.git +# Files: i386/i386at/kd.c +# +# Added nel, hpa, sgr and removed rmacs, smacs based on source -TD +mach-gnu|GNU Mach, + acsc=+>\,<-\^.v0\333`+a\261f\370g\361h\260i#j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, + dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX, + el1=\E[1K, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@, + indn=\E[%p1%dS, invis=\E[8m, nel=\EE, rin=\E[%p1%dT, + sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m, + use=mach, + +mach-gnu-color|Mach Console with ANSI color, + colors#8, pairs#64, + op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm, + setaf=\E[3%p1%dm, use=mach-gnu, + # From: Marcus Brinkmann # http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/hurd/hurd/console/ # @@ -1110,382 +1836,6 @@ hurd|The GNU Hurd console server, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, grbom=\E[>1l, gsbom=\E[>1h, -#### OSF Unix -# - -# OSF/1 1.1 Snapshot 2 -pmcons|pmconsole|PMAX console, - am, - cols#128, lines#57, - bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ht=^I, - ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, - -# SCO console and SOS-Syscons console for 386bsd -# (scoansi: had unknown capabilities -# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\ -# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C: -# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\ -# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\ -# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\ -# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based -# on the =\E[12m -- esr) -# -# klone+sgr-dumb is an error since the acsc does not match -TD -# -# In this description based on SCO's keyboard(HW) manpage list of default -# function key values: -# F13-F24 are shifted F1-F12 -# F25-F36 are control F1-F12 -# F37-F48 are shift+control F1-F12 -# -# hpa/vpa work in the console, but not in scoterm: -# hpa=\E[%p1%dG, -# vpa=\E[%p1%dd, -# -# SCO's terminfo uses -# kLFT=\E[d, -# kRIT=\E[c, -# which do not work (console or scoterm). -# -# Console documents only 3 attributes can be set with SGR (so we don't use sgr). -scoansi-old|SCO Extended ANSI standard crt (5.0.5), - OTbs, am, bce, eo, xon, - colors#8, cols#80, it#8, lines#25, pairs#64, - acsc=+/\,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, - civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C, - cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP, - dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I, - hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, - ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H, - kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, - kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, - kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, - kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, - kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, - kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, - kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, - kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], - kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, - kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, - kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, - rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, - rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m, - smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, -scoansi-new|SCO Extended ANSI standard crt (5.0.6), - km, - civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr, - cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m, - rep=\E[%p1%d;%p2%db, rmm=\E[=11L, - sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, - smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm, - smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m, - smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m, - smgtp=\E[=0;%i%p1%dm, smm=\E[=10L, - wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr, - use=scoansi-old, -# make this easy to change... -scoansi|SCO Extended ANSI standard crt, - use=scoansi-old, - -# This actually describes the generic SVr4 display driver for Intel boxes. -# The isn't documented and therefore may not be reliable. -# From: Eric Raymond Mon Nov 27 19:00:53 EST 1995 -att6386|at386|386at|AT&T WGS 6386 console, - am, bw, eo, xon, - cols#80, it#8, lines#25, - acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, - bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C, - clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, - dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, - home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, - ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, - indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H, - kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, - kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, - knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m, - ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, - sc=\E7, - sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m, - sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, vpa=\E[%i%p1%dd, use=klone+color, -# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr) -pc6300plus|AT&T 6300 plus, - OTbs, am, xon, - cols#80, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C, - clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B, - cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, - dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K, - home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J, - invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, - kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe, - kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk, - nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, - -# From: Benjamin C. W. Sittler -# -# I have a UNIX PC which I use as a terminal attached to my Linux PC. -# Unfortunately, the UNIX PC terminfo entry that comes with ncurses -# is broken. All the special key sequences are broken, making it unusable -# with Emacs. The problem stems from the following: -# -# The UNIX PC has a plethora of keys (103 of them, and there's no numeric -# keypad!), loadable fonts, and strange highlighting modes ("dithered" -# half-intensity, "smeared" bold, and real strike-out, for example.) It also -# uses resizable terminal windows, but the bundled terminal program always -# uses an 80x24 window (and doesn't support seem to support a 132-column -# mode.) -# -# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a -# library which was a superset of SVr3.5 curses (called tam, for "terminal -# access method".) tam includes support for real, overlapping windows, -# onscreen function key labels, and bitmap graphics. But since the primary -# user interface on the UNIX PC was a GUI program (ua, for "user -# assistant",) and remote administration was considered important for the -# machine, tam also supported VT100-compatible terminals attached to the -# serial port or used across the StarLan network. To simulate the extra keys -# not present on a VT100, users could press ESC and a two-letter sequence, -# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences, -# however, were not the same as those sent by the actual Undo key. The -# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example. -# (If you're interested in adding some of the tam calls to ncurses, btw, I -# have the full documentation and several programs which use tam. It also -# used an extended terminfo format to describe key sequences, special -# highlighting modes, etc.) -# -# KEYS: This means that ncurses would quite painful on the UNIX PC, since -# there are two sequences for every key-modifier combination (local keyboard -# sequence and remote "VT100" sequence.) But I doubt many people are trying -# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the -# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) -# seem to have been built from the manual describing the VT100 sequences. -# This means it doesn't work for a real live UNIX PC. -# -# FONTS: The UNIX PC also has a strange interpretation of "alternate -# character set". Rather than the VT100 graphics you might expect, it allows -# up to 8 custom fonts to be loaded at any given time. This means that -# programs expecting VT100 graphics will usually be disappointed. For this -# reason I have disabled the smacs/rmacs sequences, but they could easily be -# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) -# manpage), should you wish to do so: -# -# SGR10 - Select font 0 - ESC [ 10 m or SO -# SGR11 - Select font 1 - ESC [ 11 m or SI -# SGR12 - Select font 2 - ESC [ 12 m -# ... (etc.) -# SGR17 - Select font 7 - ESC [ 17 m -# -# Graphics for line drawing are not reliably found at *any* character -# location because the UNIX PC has dynamically reloadable fonts. I use font -# 0 for regular text and font 1 for italics, but this is by no means -# universal. So ASCII line drawing is in order if smacs/rmacs are enabled. -# -# MISC: The cursor visible/cursor invisible sequences were swapped in the -# distributed terminfo. -# -# To ameliorate these problems (and fix a few highlighting bugs) I rewrote -# the UNIX PC terminfo entry. The modified version works great with Lynx, -# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC -# attached by serial cable. In Emacs, even the Undo key works, and many -# applications can now use the F1-F8 keys. -# -# esr's notes: -# Terminfo entry for the AT&T Unix PC 7300 -# from escape(7) in Unix PC 7300 Manual. -# Somewhat similar to a vt100-am (but different enough -# to redo this from scratch.) -# -# /*************************************************************** -# * -# * FONT LOADING PROGRAM FOR THE UNIX PC -# * -# * This routine loads a font defined in the file ALTFONT -# * into font memory slot #1. Once the font has been loaded, -# * it can be used as an alternative character set. -# * -# * The call to ioctl with the argument WIOCLFONT is the key -# * to this routine. For more information, see window(7) in -# * the PC 7300 documentation. -# ***************************************************************/ -# #include /* needed for strcpy call */ -# #include /* needed for ioctl call */ -# #define FNSIZE 60 /* font name size */ -# #define ALTFONT "/usr/lib/wfont/special.8.ft" /* font file */ -# /* -# * The file /usr/lib/wfont/special.8.ft comes with the -# * standard PC software. It defines a graphics character set -# * similar to that of the Teletype 5425 terminal. To view -# * this or other fonts in /usr/lib/wfont, use the command -# * cfont . For further information on fonts see -# * cfont(1) in the PC 7300 documentation. -# */ -# -# struct altfdata /* structure for alt font data */ -# { -# short altf_slot; /* memory slot number */ -# char altf_name[FNSIZE]; /* font name (file name) */ -# }; -# ldfont() -# { -# int wd; /* window in which altfont will be */ -# struct altfdata altf; -# altf.altf_slot=1; -# strcpy(altf.altf_name,ALTFONT); -# for (wd =1; wd < 12; wd++) { -# ioctl(wd, WIOCLFONT,&altf); -# } -# } -# -# (att7300: added /// from the BSDI entry, -# they're confirmed by the man page for the System V display---esr) -# -att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300, - am, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C, - clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, - cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, - ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL, - il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB, - kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE, - kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM, - kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR, - kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO, - kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z, - kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf, - ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd, - kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, - kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B, - kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv, - kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, - kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB, - ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM, - rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m, - smul=\E[4m, - -# Sent by Stefan Stapelberg , 24 Feb 1997, this is -# from SGI's terminfo database. SGI's entry shows F9-F12 with the codes -# for the application keypad mode. We have added iris-ansi-ap rather than -# change the original to keypad mode. -# -# (iris-ansi: added rmam/smam based on init string -- esr) -# -# This entry, and those derived from it, is used in xwsh (also known as -# winterm). Some capabilities that do not fit into the terminfo model -# include the shift- and control-functionkeys: -# -# F1-F12 generate different codes when shift or control modifiers are used. -# For example: -# F1 \E[001q -# shift F1 \E[013q -# control-F1 \E[025q -# -# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e., -# \EOP to \EOS. The shifted and control modifiers still do the same thing. -# -# The cursor keys also have different codes: -# control-up \E[162q -# control-down \E[165q -# control-left \E[159q -# control-right \E[168q -# -# shift-up \E[161q -# shift-down \E[164q -# shift-left \E[158q -# shift-right \E[167q -# -# control-tab \[072q -# -iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100), - am, - cols#80, it#8, lines#40, - bel=^G, bold=\E[1m, clear=\E[H\E[2J, - cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD, - cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, - cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, - cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P, - kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q, - kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, - kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q, - kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, - kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, - knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, - kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, - rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, - sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m, - tbc=\E[3g, -iris-ansi-ap|IRIS ANSI in application-keypad mode, - is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q, - kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi, - -# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX -# (T.Dickey 98/1/24) -iris-color|xwsh|IRIX ANSI with color, - ncv#33, - csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m, - ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m, - rmul=\E[24m, rs1=\Ec, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sitm=\E[3m, use=vt100+enq, use=klone+color, - use=iris-ansi-ap, - -# The following is a version of the ibm-pc entry distributed with PC/IX, -# (Interactive Systems' System 3 for the Big Blue), modified by Richard -# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, -# (the former is untrue, and the latter failed under UCB/man); standout and -# underline modes have been added. Note: this entry describes the "native" -# capabilities of the PC monochrome display, without ANY emulation; most -# communications packages (but NOT PC/IX connect) do some kind of emulation. -pcix|PC/IX console, - am, bw, eo, - cols#80, lines#24, - clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, - home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, - -# (ibmpcx: this entry used to be known as ibmx. -# It formerly included the following extension capabilities: -# :GC=b:GL=v:GR=t:RT=^J:\ -# :GH=\E[196g:GV=\E[179g:\ -# :GU=\E[193g:GD=\E[194g:\ -# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\ -# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\ -# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\ -# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate -# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match -# what was there before. -- esr) -ibmpcx|xenix|ibmx|IBM PC xenix console display, - OTbs, am, msgr, - cols#80, lines#25, - clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, - ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d, - kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e, - kpp=\E[Z, use=klone+acs, use=klone+sgr8, - #### QNX # @@ -1649,6 +1999,204 @@ qansi-m|QNX ansi with mouse, qansi-w|QNX ansi for windows, xvpa, use=qansi-m, +#### SCO consoles + +# SCO console and SOS-Syscons console for 386bsd +# (scoansi: had unknown capabilities +# :Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\ +# :GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C: +# :G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\ +# :CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\ +# :WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\ +# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based +# on the =\E[12m -- esr) +# +# klone+sgr-dumb is an error since the acsc does not match -TD +# +# In this description based on SCO's keyboard(HW) manpage list of default +# function key values: +# F13-F24 are shifted F1-F12 +# F25-F36 are control F1-F12 +# F37-F48 are shift+control F1-F12 +# +# hpa/vpa work in the console, but not in scoterm: +# hpa=\E[%p1%dG, +# vpa=\E[%p1%dd, +# +# SCO's terminfo uses +# kLFT=\E[d, +# kRIT=\E[c, +# which do not work (console or scoterm). +# +# Console documents only 3 attributes can be set with SGR (so we don't use sgr). +scoansi-old|SCO Extended ANSI standard crt (5.0.5), + OTbs, am, bce, eo, xon, + colors#8, cols#80, it#8, lines#25, pairs#64, + acsc=+/\,.-\230.\2310[5566778899\:\:;;<<==>>FFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3yszr{c}\034~\207, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, + civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C, + cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=\E[B, + cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, + cuu=\E[%p1%dA, cuu1=\E[A, cvvis=\E[=0;12C, dch=\E[%p1%dP, + dch1=\E[P, dispc=\E[=%p1%dg, dl=\E[%p1%dM, dl1=\E[M, + ed=\E[m\E[J, el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I, + hts=\EH, ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, + ind=\E[S, indn=\E[%p1%dS, invis=\E[8m, kbeg=\E[E, kbs=^H, + kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, + kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b, kf17=\E[c, + kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g, + kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l, + kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p, + kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u, + kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P, + kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[], + kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q, + kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, + kich1=\E[L, knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, + rev=\E[7m, ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, + rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7, + setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0;10m, + smacs=\E[12m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, +scoansi-new|SCO Extended ANSI standard crt (5.0.6), + km, + civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr, + cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m, + rep=\E[%p1%d;%p2%db, rmm=\E[=11L, + sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%e;10%;m, + smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm, + smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m, + smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m, + smgtp=\E[=0;%i%p1%dm, smm=\E[=10L, + wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr, + use=scoansi-old, +# make this easy to change... +scoansi|SCO Extended ANSI standard crt, + use=scoansi-old, + +#### SGI consoles + +# Sent by Stefan Stapelberg , 24 Feb 1997, this is +# from SGI's terminfo database. SGI's entry shows F9-F12 with the codes +# for the application keypad mode. We have added iris-ansi-ap rather than +# change the original to keypad mode. +# +# (iris-ansi: added rmam/smam based on init string -- esr) +# +# This entry, and those derived from it, is used in xwsh (also known as +# winterm). Some capabilities that do not fit into the terminfo model +# include the shift- and control-functionkeys: +# +# F1-F12 generate different codes when shift or control modifiers are used. +# For example: +# F1 \E[001q +# shift F1 \E[013q +# control-F1 \E[025q +# +# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e., +# \EOP to \EOS. The shifted and control modifiers still do the same thing. +# +# The cursor keys also have different codes: +# control-up \E[162q +# control-down \E[165q +# control-left \E[159q +# control-right \E[168q +# +# shift-up \E[161q +# shift-down \E[164q +# shift-left \E[158q +# shift-right \E[167q +# +# control-tab \[072q +# +iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100), + am, + cols#80, it#8, lines#40, + bel=^G, bold=\E[1m, clear=\E[H\E[2J, + cnorm=\E[9/y\E[12/y\E[=6l, cr=^M, cub=\E[%p1%dD, + cub1=\E[D, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, + cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, + cuu1=\E[A, cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, + dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, + home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=\ED, + is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P, + kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q, + kRIT=\E[167q, kSPD=\E[218q, kbs=^H, kcbt=\E[Z, kcub1=\E[D, + kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\177, + kend=\E[146q, kent=^M, kf1=\E[001q, kf10=\E[010q, + kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q, + kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q, + kf8=\E[008q, kf9=\E[009q, khome=\E[H, kich1=\E[139q, + knp=\E[154q, kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, + kspd=\E[217q, nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, + rc=\E8, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, + sc=\E7, sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m, + tbc=\E[3g, +iris-ansi-ap|IRIS ANSI in application-keypad mode, + is2=\E[?1l\E=\E[?7h, kent=\EOM, kf10=\E[010q, + kf11=\E[011q, kf12=\E[012q, kf9=\E[009q, use=iris-ansi, + +# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX +# (T.Dickey 98/1/24) +iris-color|xwsh|IRIX ANSI with color, + ncv#33, + csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m, + ech=\E[%p1%dX, ich=\E[%p1%d@, rc=\E8, ritm=\E[23m, + rmul=\E[24m, rs1=\Ec, + rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, + sitm=\E[3m, use=vt100+enq, use=klone+color, + use=iris-ansi-ap, + +#### OpenBSD consoles +# +# From: Alexei Malinin ; October, 2011. +# +# The following terminal descriptions for the AMD/Intel PC console +# were prepared based on information contained in the OpenBSD-4.9 +# termtypes.master and wscons(4) & vga(4) manuals (2010, November). +# +# Added bce based on testing with tack -TD +# Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD +# Changed kbs to DEL and removed keys that duplicate stty settings -TD +# +pccon+keys|OpenBSD PC keyboard keys, + kbs=\177, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[3~, kend=\E[8~, kent=^M, kf1=\E[11~, kf10=\E[21~, + kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, + kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, + kf9=\E[20~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, + krfr=^R, +pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console, + acsc=+>\,<-\^.v0#`+a\:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#z#{*|!}#~o, + sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, +pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console, + acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + enacs=\E)0$<5>, rmacs=\E(B$<5>, + sgr=\E[0%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<5>, + sgr0=\E[m\E(B$<5>, smacs=\E(0$<5>, +pccon+colors|ANSI colors for OpenBSD PC console, + bce, + colors#8, pairs#64, + op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, +pccon+base|base capabilities for OpenBSD PC console, + am, km, mc5i, msgr, npc, nxon, xenl, xon, + cols#80, it#8, lines#24, + bel=^G, clear=\E[H\E[J, cr=^M, cub1=^H, cud1=^J, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP, + dch1=\E[P, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, + el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, + il1=\E[L, ind=\ED, nel=\EE, rev=\E[7m, ri=\EM, rmam=\E[?7l, + rmso=\E[m, rs2=\Ec$<50>, smam=\E[?7h, smso=\E[7m, + tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, +pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics, + use=pccon+base, use=pccon+sgr+acs0, use=pccon+keys, +pccon0|OpenBSD PC console with simple ASCII pseudographics, + use=pccon0-m, use=pccon+colors, +pccon-m|OpenBSD PC console without colors, + use=pccon+base, use=pccon+sgr+acs, use=pccon+keys, +pccon|OpenBSD PC console, + use=pccon-m, use=pccon+colors, + #### NetBSD consoles # # pcvt termcap database entries (corresponding to release 3.31) @@ -1786,7 +2334,7 @@ x68k|x68k-ite|NetBSD/x68k ITE, ofcons|DNARD OpenFirmware console, bw, cols#80, lines#30, - bel=^G, blink=\2337;2m, bold=\2331m, clear=^L, cr=^M, + bel=^G, blink=\2335m, bold=\2331m, clear=^L, cr=^M, cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B, cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P, @@ -1798,8 +2346,8 @@ ofcons|DNARD OpenFirmware console, kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r, kf9=\2330p, knp=\233/, kpp=\233?, nel=^M^J, rev=\2337m, rmso=\2330m, rmul=\2330m, - sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - sgr0=\2330m, + sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t2%;%?%p7%t8%;%?%p1%p3%|%t;7%;m, + sgr0=\2330m, smso=\2337m, smul=\2334m, # NetBSD "wscons" emulator in vt220 mode. # This entry is based on the NetBSD termcap entry, correcting the ncv value. @@ -1816,8 +2364,8 @@ ofcons|DNARD OpenFirmware console, wsvt25|NetBSD wscons in 25 line DEC VT220 mode, bce, msgr, colors#8, cols#80, it#8, lines#25, ncv#2, pairs#64, - civis=\E[?25l, cnorm=\E[?25h, - is2=\E[r\E[25;1H, kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, + civis=\E[?25l, cnorm=\E[?25h, is2=\E[r\E[25;1H, + kdch1=\E[3~, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[7~, op=\E[m, rs1=\Ec, @@ -2045,6 +2593,7 @@ bsdos-sparc|Sun SPARC BSD/OS Console, bsdos-ppc|PowerPC BSD/OS Console, use=bsdos-pc, + #### DEC VT52 # (// capabilities aren't in DEC's official entry -- esr) # @@ -2378,8 +2927,9 @@ vt132|DEC vt132, # with the key marked (ESC) on the vt220. See vt220d for an alternate mapping. # PF1--PF4 are used as F1--F4. # +# added msgr -TD vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, - OTbs, OTpt, am, mir, xenl, xon, + OTbs, OTpt, am, mir, msgr, xenl, xon, cols#80, lines#24, vt#3, OTnl=^J, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, @@ -2405,8 +2955,15 @@ vt220-old|vt200-old|DEC VT220 in vt100 emulation mode, # A much better description of the VT200/220; used to be vt220-8 # changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1 # designation to accommodate bug in pcvt -TD +# +# Here's a picture of the VT220 editing keypad: +# +--------+--------+--------+ +# | Find | Insert | Remove | +# +--------+--------+--------+ +# | Select | Prev | Next | +# +--------+--------+--------+ vt220|vt200|dec vt220, - OTbs, am, mc5i, mir, msgr, xenl, xon, + OTbs, am, mir, msgr, xenl, xon, cols#80, it#8, lines#24, vt#3, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, @@ -2418,20 +2975,21 @@ vt220|vt200|dec vt220, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L, ind=\ED, - is2=\E[?7h\E[>\E[?1h\E F\E[?4l, kbs=^H, kcub1=\E[D, - kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, - kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ, - kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, - kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, - kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, - lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[i, mc4=\E[4i, - mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, - rmul=\E[24m, rs1=\E[?3l, sc=\E7, + is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D, + kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, + kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, + kf14=\E[26~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, + kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, + kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, + khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, + krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, + nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B$<4>, + rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, + rs1=\E[?3l, sc=\E7, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, tbc=\E[3g, + smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+pp, + use=ansi+enq, vt220-w|vt200-w|DEC vt220 in wide mode, cols#132, rs3=\E[?3h, use=vt220, @@ -2448,18 +3006,18 @@ vt220-8bit|vt220-8|vt200-8bit|vt200-8|dec vt220/200 in 8-bit mode, flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH, ich=\233%p1%d@, if=/usr/share/tabset/vt100, il=\233%p1%dL, il1=\233L, ind=\ED, - is2=\233?7h\233>\233?1h\E F\233?4l, kbs=^H, + is2=\233?7h\233>\233?1l\E F\233?4l, kbs=^H, kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A, - kf1=\EOP, kf10=\23321~, kf11=\23323~, kf12=\23324~, - kf13=\23325~, kf14=\23326~, kf17=\23331~, kf18=\23332~, - kf19=\23333~, kf2=\EOQ, kf20=\23334~, kf3=\EOR, kf4=\EOS, - kf6=\23317~, kf7=\23318~, kf8=\23319~, kf9=\23320~, - kfnd=\2331~, khlp=\23328~, khome=\233H, kich1=\2332~, - knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1, - lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, - nel=\EE, rc=\E8, rev=\2337m, ri=\EM, rmacs=\E(B, - rmam=\233?7l, rmir=\2334l, rmso=\23327m, rmul=\23324m, - rs1=\233?3l, sc=\E7, + kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~, + kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~, + kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~, + kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~, + kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H, + kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~, + kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, + mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM, + rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m, + rmul=\23324m, rs1=\233?3l, sc=\E7, sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h, smso=\2337m, smul=\2334m, tbc=\2333g, @@ -2496,14 +3054,15 @@ vt220-nam|v200-nam|VT220 in vt100 mode with no auto margins, # # From: Alexander Latzko , 30 Dec 1996 # (Added vt100 , to quiet a tic warning -- esr) +# added msgr -TD vt200-js|vt220-js|dec vt200 series with jump scroll, - am, + am, msgr, cols#80, bel=^G, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[L, ind=\ED, - is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1l\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m, + is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1h\E[?5l\E[?6l\E[?7h\E[?8h\E[?25h\E>\E[m, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=^M\ED, rc=\E8, rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l, @@ -2535,7 +3094,7 @@ vt320nam|v320n|DEC VT320 in vt100 emul. mode with NO AUTO WRAP mode, # From: Adam Thompson Sept 10 1995 # (vt320: uncommented --esr) vt320|vt300|dec vt320 7 bit terminal, - am, eslok, hs, mir, msgr, xenl, + am, hs, mir, msgr, xenl, cols#80, lines#24, wsl#80, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, @@ -2544,9 +3103,8 @@ vt320|vt300|dec vt320 7 bit terminal, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, fsl=\E[0$}, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, - il1=\E[L, ind=\ED, + ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ht=^I, + hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~, @@ -2554,8 +3112,7 @@ vt320|vt300|dec vt320 7 bit terminal, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I, - kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, mc0=\E[i, mc4=\E[?4i, - mc5=\E[?5i, nel=\EE, rc=\E8, rev=\E[7m, + kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, nel=\EE, rc=\E8, rev=\E[7m, rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, @@ -2564,7 +3121,7 @@ vt320|vt300|dec vt320 7 bit terminal, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[1$}\E[H\E[K, use=vt220+keypad, + use=dec+pp, use=vt220+keypad, use=dec+sl, use=ansi+enq, vt320-nam|vt300-nam|dec vt320 7 bit terminal with no am to make SAS happy, am@, is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, @@ -2674,33 +3231,38 @@ vt400|vt400-24|dec-vt400|dec vt400 24x80 column autowrap, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, - tsl=\E[2$~\E[1$}\E[1;%dH, + tsl=\E[2$~\E[1$}\E[1;%dH, use=dec+sl, # (vt420: I removed , it collided with . I also restored # a missing -- esr) +# add msgr and other capabilities from vt220 -TD vt420|DEC VT420, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, + am, mir, msgr, xenl, xon, + cols#80, it#8, lines#24, vt#3, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, rc=\E8, rev=\E[7m$<2>, - rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B$<4>, - rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, + bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, civis=\E[?25l, + clear=\E[H\E[2J$<50>, cnorm=\E[?25h, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA, cuu1=\E[A, + dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, + ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K, + enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I, + hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt300, + il=\E[%p1%dL, il1=\E[L, ind=\ED, is2=\E[1;24r\E[24;1H, + is3=\E[?67h\E[64;1"p, kbs=^H, kcub1=\E[D, kcud1=\E[B, + kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, + kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~, + kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, kfnd=\E[1~, + kich1=\E[2~, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, nel=\EE, + rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, + ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, + rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p, sc=\E7, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smkx=\E=, smso=\E[7m, smul=\E[4m, + sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h, + smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, + use=ansi+pp, use=dec+sl, use=ansi+enq, # DEC VT220 and up support DECUDK (user-defined keys). DECUDK (i.e., pfx) # takes two parameters, the key and the string. Translating the key is @@ -2773,58 +3335,11 @@ vt510pcdos|DEC VT510 w/PC for DOS Merge, # terminal mode is being used. If Set-Up has been disabled or # assigned to an unknown key, Set-Up may be entered by pressing # [F3] as the first key after power up, regardless of keyboard type. -# (vt520: I added / based on the init string, also -- esr) vt520|DEC VT520, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, + use=ansi+rca, use=vt420, use=ansi+tabs, -# (vt525: I added / based on the init string; -# removed =\E[m, =\E[m, added -- esr) vt525|DEC VT525, - am, mir, xenl, xon, - cols#80, lines#24, vt#3, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, - clear=\E[H\E[2J$<50>, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub1=^H, cud1=\E[B, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH$<10>, cuu1=\E[A, dch1=\E[P, - dl1=\E[M, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I, - if=/usr/share/tabset/vt300, il1=\E[L, ind=\ED, - is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p, kbs=^H, - kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, - kdch1=\E[3~, kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, - kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, - kf9=\E[21~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, - pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>%t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+%d/%p2%s\E\\, - rc=\E8, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300, - ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, - rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - rmso=\E[m, rmul=\E[m, rs3=\E[?67h\E[64;1"p, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;$<2>, - sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h, - smso=\E[7m, smul=\E[4m, + use=vt520, #### VT100 emulations # @@ -2888,7 +3403,7 @@ crt|crt-vt220|CRT 2.3 emulating VT220, # the default behavior -TD putty|PuTTY terminal emulator, - am, bce, bw, ccc, hs, mir, msgr, xenl, xon, XT, + am, bce, bw, ccc, mir, msgr, xenl, xon, XT, colors#8, it#8, ncv#22, pairs#64, U8#1, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, @@ -2898,11 +3413,10 @@ putty|PuTTY terminal emulator, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P, dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G\342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e%p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G\342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@%e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E%%G\340\202\242\E%%@%e%p1%c%;, - dl=\E[%p1%dM, dl1=\E[M, dsl=\E]0;\007, ech=\E[%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0, - flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, hpa=\E[%i%p1%dG, - ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - indn=\E[%p1%dS, + dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, + el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h\E[?5l, home=\E[H, + hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, + ind=^J, indn=\E[%p1%dS, initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x, is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R, kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B, @@ -2923,7 +3437,8 @@ putty|PuTTY terminal emulator, sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[?47h, smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, tsl=\E]0;, vpa=\E[%i%p1%dd, use=vt102+enq, + tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3;J, use=vt102+enq, + use=xterm+sl, vt100-putty|Reset PuTTY to pure vt100, rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p, use=vt100, @@ -2938,6 +3453,28 @@ putty-vt100|VT100+ keyboard layout, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, use=putty, +# Unlike xterm-sco, this leaves kmous ambiguous with kf1. +# +# Use modifiers to obtain function keys past 12: +# F1-F12 - normal +# F13-F24 - shift +# F25-F36 - control/alt +# F37-F48 - control/shift +# +putty-sco|putty with SCO function keys, + kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\177, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, + kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b, + kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, + kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, + kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, + kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, + kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, + kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, + kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, + kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, + kich1=\E[L, knp=\E[G, kpp=\E[I, use=putty, + # This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by # T. Teranishi dated Mar 10, 1998. It is a free software terminal emulator # (communication program) which supports: @@ -3092,7 +3629,8 @@ tt|tkterm|Don Libes' tk text widget terminal emulator, kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E, smso=\E[7m, -#### X terminal emulators +######## X TERMINAL EMULATORS +#### XTERM # # You can add the following line to your .Xdefaults to change the terminal type # set by the xterms you start up to my-xterm: @@ -3155,7 +3693,7 @@ xterm-r5|xterm R5 version, # added khome/kend, hts based on the R6 xterm code - TD # (khome/kend do not actually work in X11R5 or X11R6, but many people use this # for compatibility with other emulators). -xterm-r6|xterm-old|xterm X11R6 version, +xterm-r6|xterm X11R6 version, OTbs, am, km, mir, msgr, xenl, cols#80, it#8, lines#24, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, @@ -3181,10 +3719,12 @@ xterm-r6|xterm-old|xterm X11R6 version, sgr0=\E[m, smacs=^N, smcup=\E7\E[?47h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=vt100+enq, +xterm-old|antique xterm version, + use=xterm-r6, # This is the base xterm entry for the xterm supplied with XFree86 3.2 & up. # The name has been changed and some aliases have been removed. xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System), - OTbs, am, bce, km, mir, msgr, xenl, + OTbs, am, bce, km, mir, msgr, xenl, XT, cols#80, it#8, lines#24, ncv@, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, @@ -3228,13 +3768,13 @@ xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System), # xterm to use terminfo-based descriptions with the titeInhibit resource. # -- the distribution contained incorrect khome/kend values -TD xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System), - mc5i, blink=\E[5m, ich1@, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, rmcup=\E[?1047l\E[?1048l, - rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, + rmcup=\E[?1047l\E[?1048l, rs1=\Ec, + rs2=\E[!p\E[?3;4l\E[4l\E>, sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - smcup=\E[?1048h\E[?1047h, use=xterm-xf86-v33, + smcup=\E[?1048h\E[?1047h, use=ansi+pp, + use=xterm-xf86-v33, # This version was released in XFree86 4.0. xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System), @@ -3275,12 +3815,14 @@ xterm-xfree86|xterm terminal emulator (XFree86), # This version reflects the current xterm features. xterm-new|modern xterm terminal emulator, npc, - indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, - kIC=\E[2;2~, kNXT=\E[6;2~, kPRV=\E[5;2~, kb2=\EOE, - kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kend=\EOF, kent=\EOM, khome=\EOH, kich1=\E[2~, kmous=\E[M, - knp=\E[6~, kpp=\E[5~, rin=\E[%p1%dT, use=xterm+pcfkeys, + indn=\E[%p1%dS, kb2=\EOE, kcbt=\E[Z, kent=\EOM, + rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm+tmux, use=xterm-basic, + +# This fragment is for people who cannot agree on what the backspace key +# should send. +xterm+kbs|fragment for backspace key, + kbs=^H, # # This fragment describes as much of XFree86 xterm's "pc-style" function # keys as will fit into terminfo's 60 function keys. @@ -3446,7 +3988,7 @@ xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2, # # This chunk is used for building the VT220/Sun/PC keyboard variants. xterm-basic|modern xterm terminal emulator - common, - OTbs, am, bce, km, mc5i, mir, msgr, xenl, AX, + OTbs, am, bce, km, mir, msgr, xenl, AX, XT, colors#8, cols#80, it#8, lines#24, pairs#64, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l, @@ -3458,19 +4000,20 @@ xterm-basic|modern xterm terminal emulator - common, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, - ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, kbs=^H, - kmous=\E[M, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, meml=\El, - memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, - rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, rmir=\E[4l, - rmkx=\E[?1l\E>, rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, - rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, - setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + ind=^J, invis=\E[8m, is2=\E[!p\E[?3;4l\E[4l\E>, + kmous=\E[M, meml=\El, memu=\Em, op=\E[39;49m, rc=\E8, + rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l, + rmcup=\E[?1049l, rmir=\E[4l, rmkx=\E[?1l\E>, + rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec, + rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm, + setaf=\E[3%p1%dm, setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt100+enq, + smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3;J, + use=ansi+pp, use=xterm+kbs, use=vt100+enq, # From: David J. MacKenzie , 14 Nov 1997 # In retrospect, something like xterm-r6 was intended here -TD @@ -3528,6 +4071,28 @@ xterm-1002|testing xterm-mouse, xterm-1003|testing xterm-mouse, XM=\E[?1003%?%p1%{1}%=%th%el%;, use=xterm-new, +# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who +# asked for some of xterm's advanced features to be added to its terminfo +# entry. It defines extended capabilities not found in standard terminfo or +# termcap. These are useful in tmux, for instance, hence the name. +# +# One caveat in adding extended capabilities in ncurses is that if the names +# are longer than two characters, then they will not be visible through the +# termcap interface. +# +# Ms modifies the selection/clipboard. Its parameters are +# p1 = the storage unit (clipboard, selection or cut buffer) +# p2 = the base64-encoded clipboard content. +# +# Ss is used to set the cursor style as described by the DECSCUSR +# function to a block or underline. +# Se resets the cursor style to the terminal power-on default. +# +# Cs and Cr set and reset the cursor colour. +xterm+tmux|advanced xterm features used in tmux, + Cr=\E]112\007, Cs=\E]12;%p1%s\007, + Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q, + # This is another variant, for XFree86 4.0 xterm (T.Dickey) # This is an 8-bit version of xterm, which emulates DEC vt220 with ANSI color. # To use it, your decTerminalID resource must be set to 200 or above. @@ -3553,8 +4118,8 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System), hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L, ind=^J, invis=\2338m, is2=\E[62"p\E G\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r\E8, - ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kbs=^H, - kc1=\217q, kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B, + ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kc1=\217q, + kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B, kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~, kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~, kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~, @@ -3576,6 +4141,7 @@ xterm-8bit|xterm terminal emulator 8-bit controls (X Window System), smcup=\233?1049h, smir=\2334h, smkx=\233?1h\E=, smso=\2337m, smul=\2334m, tbc=\2333g, u6=\233[%i%d;%dR, u7=\E[6n, u8=\233[?1;2c, u9=\E[c, vpa=\233%i%p1%dd, + use=xterm+kbs, xterm-hp|xterm with hpterm function keys, kclr=\EJ, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, @@ -3622,8 +4188,9 @@ xterm-vt52|xterm emulating dec vt52, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, clear=\EH\EJ, cr=^M, cub1=\ED, cud1=\EB, cuf1=\EC, cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK, - home=\EH, ht=^I, ind=^J, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, + home=\EH, ht=^I, ind=^J, kcub1=\ED, kcud1=\EB, kcuf1=\EC, + kcuu1=\EA, nel=^M^J, ri=\EI, rmacs=\EG, smacs=\EF, + use=xterm+kbs, xterm-noapp|xterm with cursor keys in normal mode, rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp, @@ -3641,25 +4208,68 @@ xterm|xterm terminal emulator (X Window System), xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode, U8#1, use=xterm, -# These entries allow access to the X titlebar and icon name as a status line. -# Note that twm (and possibly window managers descended from it such as tvtwm, -# ctwm, and vtwm) track windows by icon-name; thus, you don't want to mess -# with it. +# These building-blocks allow access to the X titlebar and icon name as a +# status line. There are a few problems in using them in entries: +# +# a) tsl should have a parameter to denote the column on which to transfer to +# the status line. +# b) the "0" code for xterm updates both icon-title and window title. Some +# window managers such as twm (and possibly window managers descended from +# it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you +# don't want to mess with icon-name when using those window managers. xterm+sl|access X title line and icon name, hs, - wsl#40, - dsl=\E]0;\007, fsl=^G, tsl=\E]0;, use=xterm, + dsl=\E]0;\007, fsl=^G, tsl=\E]0;, xterm+sl-twm|access X title line (pacify twm-descended window managers), hs, - wsl#40, - dsl=\E]2;\007, fsl=^G, tsl=\E]2;, use=xterm, + dsl=\E]2;\007, fsl=^G, tsl=\E]2;, + +# In contrast, this block can be used for a DEC vt320 and up. There are two +# controls used. +# +# DECSASD (select active status display) +# \E[0$} Main display +# \E[1$} Status line +# +# DECSSDT (select status line type) +# \E[0$~ No status line +# \E[1$~ Indicator status line +# \E[2$~ Host-writable status line +# +# The building block assumes that the terminal always shows something at the +# status line (either the indicator, or status line). That is because if no +# status line is used, then the terminal makes that line part of the user +# window, changing its size without notice. +# +# Because there is no "esl" (enable status line) capability, the "tsl" +# capability ensures that the status line is host-writable. A DEC terminal +# will clear the status line when changing from indicator to host-writable +# mode. +# +# Once on the status line, the row part of cursor addressing is ignored. Since +# tsl expects a parameter (to specify the column), the shortest addressing that +# can be used for this purpose is HPA, e.g., \E[5d to go to column 5. +# +dec+sl|DEC VTxx status line, + eslok, hs, + dsl=\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`, # # The following xterm variants don't depend on your base version # # xterm with bold instead of underline xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold, + sgr=%?%p9%t\016%e\017%;B\E[0%?%p6%t;1%;%?%p2%t;1%;%?%p1%p3%|%t;7%;m, smso=\E[7m, smul=\E[1m, use=xterm-old, + +# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file +xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, + ich@, ich1@, use=xterm, +# From: Mark Sheppard , 4 May 1996 +xterm1|xterm terminal emulator ignoring the alternate screen buffer, + rmcup@, smcup@, use=xterm, + +#### KTERM # (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr) # (kterm should not invoke DEC Graphics as the alternate character set # -- Kenji Rikitake) @@ -3677,12 +4287,51 @@ kterm|kterm kanji terminal emulator (X window system), tsl=\E[?E\E[?%i%p1%dT, use=xterm-r6, use=ecma+color, kterm-color|kterm-co|kterm with ANSI colors, ncv@, use=kterm, use=ecma+color, -# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file -xterm-nic|xterm with ich/ich1 suppressed for non-curses programs, - ich@, ich1@, use=xterm, -# From: Mark Sheppard , 4 May 1996 -xterm1|xterm terminal emulator ignoring the alternate screen buffer, - rmcup@, smcup@, use=xterm, + +#### Other XTERM +# These (xtermc and xtermm) are distributed with Solaris. They refer to a +# variant of xterm which is apparently no longer supported, but are interesting +# because they illustrate SVr4 curses mouse controls - T.Dickey +xtermm|xterm terminal emulator (monocrome), + OTbs, am, km, mir, msgr, xenl, + btns#3, cols#80, it#8, lines#24, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M, + csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, + cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, + dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, + el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, + home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, + il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, + kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy, + kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU, + kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_, + knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, + rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m, + rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, + rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, + sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, + sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, + smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys, + +xtermc|xterm terminal emulator (color), + colors#8, ncv#7, pairs#64, + op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, + setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, + use=xtermm, + +# From: David J. MacKenzie 20 Apr 1995 +# Here's a termcap entry I've been using for xterm_color, which comes +# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the +# color stuff, I also have a status line defined as the window manager +# title bar. [I have translated it to terminfo -- ESR] +xterm-pcolor|xterm with color used for highlights and status line, + wsl#40, + bold=\E[1;43m, rev=\E[7;34m, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1;43%;%?%p2%t;4;42%;%?%p1%t;7;31%;%?%p3%t;7;34%;%?%p4%t;5%;%?%p7%t;8%;m, + smso=\E[7;31m, smul=\E[4;42m, use=xterm+sl, use=xterm-r6, # This describes the capabilities of color_xterm, an xterm variant from # before ECMA-64 color support was folded into the main-line xterm release. @@ -3730,6 +4379,32 @@ xterm-color|nxterm|generic color xterm, ncv@, op=\E[m, use=xterm-r6, use=klone+color, +# This entry describes an xterm with Sun-style function keys enabled +# via the X resource setting "xterm*sunFunctionKeys:true" +# To understand / note that L1,L2 and F11,F12 are the same. +# The ... keys are L3-L10. We don't set +# because we want it to be seen as . +# The ... keys are R1-R15. We treat some of these in accordance +# with their Sun keyboard labels instead. +# From: Simon J. Gerraty 10 Jan 1996 +xterm-sun|xterm with sunFunctionKeys true, + kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB, + kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z, + kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z, + kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z, + kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z, + kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z, + kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z, + kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z, + kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z, + kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, + kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z, + kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z, + use=xterm-basic, +xterms-sun|small (80x24) xterm with sunFunctionKeys true, + cols#80, lines#24, use=xterm-sun, + +#### GNOME (VTE) # this describes the alpha-version of Gnome terminal shipped with Redhat 6.0 gnome-rh62|Gnome terminal, bce, @@ -3783,7 +4458,7 @@ gnome-rh80|GNOME Terminal, # # bce and msgr are repaired. gnome-rh90|GNOME Terminal, - bce, msgr, + bce, msgr, XT, hpa=\E[%i%p1%dG, kDC=\E[3;2~, kLFT=\EO2D, kRIT=\EO2C, kb2=\E[E, kcbt=\E[Z, kend=\EOF, khome=\EOH, tbc=\E[3g, vpa=\E[%i%p1%dd, use=xterm+pcf0, use=xterm+pcfkeys, @@ -3821,6 +4496,19 @@ vte-2008|VTE in GNOME Terminal snapshot 2.22.3, gnome-2008|GNOME Terminal snapshot 2.22.3, use=vte-2008, +# GNOME Terminal 3.6.0 (2012) +# VTE 0.34.1 was marked in git 2012-10-15 (three days after patch was applied +# in ncurses). It inherited from gnome-fc5, which broke the modified forms +# of f1-f4 -TD +# +# Testing with tack shows that flash does not/has not worked -TD +vte-2012|VTE 0.34.1, + flash@, ritm=\E[23m, sitm=\E[3m, use=vte-2008, +# Version 3.6.1 sets TERM to xterm-256color (still hardcoded), which has +# 61 differences from a correct entry for gnome terminal. +gnome-2012|GNOME Terminal 3.6.0, + use=vte-2012, + # GNOME terminal may automatically use the contents of the "xterm" terminfo to # supply key information which is not built into the program. With 2.22.3, # this list is built into the program (which addresses the inadvertant use of @@ -3849,13 +4537,13 @@ gnome+pcfkeys|VTE's variation on xterm+pcfkeys, use=vte+pcfkeys, vte|VTE aka GNOME Terminal, - use=vte-2008, + use=vte-2012, gnome|GNOME Terminal, use=vte, # palette is hardcoded... vte-256color|VTE with xterm 256-colors, - initc@, use=xterm+256color, use=vte, + use=xterm+256color, use=vte, gnome-256color|GNOME Terminal with xterm 256-colors, use=vte-256color, @@ -3866,8 +4554,9 @@ gnome-256color|GNOME Terminal with xterm 256-colors, # Since most of the terminfo-related behavior is due to the VTE library, # the terminfo is the same as gnome-terminal. xfce|Xfce Terminal, - use=vte, + use=vte-2008, +#### Other GNOME # Multi-Gnome-Terminal 1.6.2 # # This does not use VTE, and does have different behavior (compare xfce and @@ -3875,6 +4564,7 @@ xfce|Xfce Terminal, mgt|Multi GNOME Terminal, indn=\E[%p1%dS, rin=\E[%p1%dT, use=xterm-xf86-v333, +#### KDE # This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce # or not is debatable). kvt|KDE terminal, @@ -3923,7 +4613,7 @@ konsole-base|KDE console window, ncv@, bel@, blink=\E[5m, civis=\E[?25l, cnorm=\E[?25h, ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, - hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1@, + hpa=\E[%i%p1%dG, indn=\E[%p1%dS, kbs=\177, kdch1=\E[3~, kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, kfnd@, khome=\E[1~, kslt@, rin=\E[%p1%dT, rmam=\E[?7l, @@ -3933,11 +4623,10 @@ konsole-base|KDE console window, sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd, use=ecma+color, use=xterm-r6, konsole-linux|KDE console window with linux keyboard, - kdch1=\E[3~, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, - kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, - kf2=\E[[B, kf20@, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - use=konsole-base, + kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@, + kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@, + kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, + kf8=\E[19~, kf9=\E[20~, use=konsole-base, konsole-solaris|KDE console window with Solaris keyboard, kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100, # KDE's "XFree86 3.x.x" keyboard is based on reading the xterm terminfo rather @@ -3973,6 +4662,7 @@ konsole|KDE console window, konsole-256color|KDE console window with xterm 256-colors, initc@, use=xterm+256color, use=konsole, +#### MLTERM # This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD # # It is nominally a vt102 emulator, with features borrowed from rxvt and @@ -4038,6 +4728,7 @@ mlterm+pcfkeys|fragment for PC-style fkeys, mlterm-256color|mlterm 3.0 with xterm 256-colors, use=xterm+256color, use=rxvt, +#### RXVT # From: Thomas Dickey 04 Oct 1997 # Updated: Oezguer Kesim 02 Nov 1997 # Notes: @@ -4209,6 +4900,7 @@ rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygw rxvt-16color|xterm with 16 colors like aixterm, ncv#32, use=ibm+16color, use=rxvt, +#### MRXVT # mrxvt 0.5.4 # # mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which @@ -4226,6 +4918,7 @@ mrxvt|multitabbed rxvt, mrxvt-256color|multitabbed rxvt with 256 colors, use=xterm+256color, use=mrxvt, +#### ETERM # From: Michael Jennings # # Eterm 0.9.3 @@ -4271,11 +4964,13 @@ Eterm-256color|Eterm with xterm 256-colors, Eterm-88color|Eterm with 88 colors, use=xterm+88color, use=Eterm, +#### ATERM # Based on rxvt 2.4.8, it has a few differences in key bindings aterm|AfterStep terminal, XT, kbs=\177, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt, +#### XITERM # xiterm 0.5-5.2 # This is not based on xterm's source... # vttest shows several problems with keyboard, cursor-movements. @@ -4284,48 +4979,8 @@ xiterm|internationalized terminal emulator for X, km@, kbs=\177, kdch1=\E[3~, use=klone+color, use=xterm-r6, -# These (xtermc and xtermm) are distributed with Solaris. They refer to a -# variant of xterm which is apparently no longer supported, but are interesting -# because they illustrate SVr4 curses mouse controls - T.Dickey -xtermm|xterm terminal emulator (monocrome), - OTbs, am, km, mir, msgr, xenl, - btns#3, cols#80, it#8, lines#24, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\E[D, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, - el=\E[K, el1=\E[1K$<3>, enacs=\E(B\E)0, getm=\E[%p1%dY, - home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, - il=\E[%p1%dL, il1=\E[L, ind=^J, kbs=^H, kcub1=\EOD, - kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kend=\E[Y, kf0=\EOy, - kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf5=\EOT, kf6=\EOU, - kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kmous=\E[^_, - knp=\E[U, kpp=\E[V, rc=\E8, reqmp=\E[492Z, rev=\E[7m, ri=\EM, - rmacs=^O, rmcup=\E@0\E[?4r, rmso=\E[m, - rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1, - smso=\E[7m, tbc=\E[3g, use=vt100+fnkeys, - -xtermc|xterm terminal emulator (color), - colors#8, ncv#7, pairs#64, - op=\E[100m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - use=xtermm, - -# From: David J. MacKenzie 20 Apr 1995 -# Here's a termcap entry I've been using for xterm_color, which comes -# with BSD/OS 2.0, and the X11R6 contrib tape too I think. Besides the -# color stuff, I also have a status line defined as the window manager -# title bar. [I have translated it to terminfo -- ESR] -xterm-pcolor|xterm with color used for highlights and status line, - bold=\E[1m\E[43m, rev=\E[7m\E[34m, smso=\E[7m\E[31m, - smul=\E[4m\E[42m, use=xterm+sl, use=xterm-r6, +#### HPTERM # HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in # from BSD termcap. (hpterm: added empty , we have no idea what ACS # chars look like --esr) @@ -4358,31 +5013,7 @@ hpterm-color|HP X11 terminal emulator with color, initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI, op=\E&v0S, scp=\E&v%p1%dS, use=hpterm, -# This entry describes an xterm with Sun-style function keys enabled -# via the X resource setting "xterm*sunFunctionKeys:true" -# To understand / note that L1,L2 and F11,F12 are the same. -# The ... keys are L3-L10. We don't set -# because we want it to be seen as . -# The ... keys are R1-R15. We treat some of these in accordance -# with their Sun keyboard labels instead. -# From: Simon J. Gerraty 10 Jan 1996 -xterm-sun|xterm with sunFunctionKeys true, - kb2=\E[218z, kcpy=\E[197z, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kdch1=\E[3z, kend=\E[220z, - kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z, - kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z, - kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z, - kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z, - kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z, - kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z, - kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z, - kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, - kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z, - kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z, - use=xterm-basic, -xterms-sun|small (80x24) xterm with sunFunctionKeys true, - cols#80, lines#24, use=xterm-sun, - +#### EMU # This is for the extensible terminal emulator on the X11R6 contrib tape. # It corresponds to emu's internal emulation: # emu -term emu @@ -4444,6 +5075,8 @@ emu-220|Emu-220 (vt200-7bit mode), sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, sgr0=\E[m, smacs=^N, smcup=\E[?1l\E=, smkx=\E=, smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g, + +#### MVTERM # A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI, # print interface, ANSI X3.64 colour escape sequences, etc. Newsgroup postings # indicate that it emulates more than one terminal, but incompletely. @@ -4478,7 +5111,7 @@ mvterm|vv100|SwitchTerm aka mvTERM, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E[?E\E[?%i%p1%dT, use=vt100+fnkeys, -### MTERM +#### MTERM # # This application is available by email from . # @@ -4599,6 +5232,123 @@ mgr-linux|Mgr window with Linux keyboard, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr, +#### SIMPLETERM +# st.suckless.org +# st-0.1.1 +# +# Note: the original terminfo description uses leading blank to persuade +# ncurses to use "st" as its name. Proper fix for that is to use "st" as an +# alias. +# +# Reading the code shows it should work for aixterm 16-colors +# - added st-16color +# +# Using tack: +# - set eo (erase-overstrike) +# - set xenl +# - tbc doesn't work +# - hts works +# - cbt doesn't work +# - shifted cursor-keys send sequences like rxvt +# - sgr referred to unimplemented "invis" mode. +# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis +simpleterm|st| simpleterm, + am, eo, mir, msgr, ul, xenl, + colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64, + acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bel=^G, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J, + cnorm=\E[?12l\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, + cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, + cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, + dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, + home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@, + il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, kbs=\177, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, + kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, + kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, + khome=\E[1~, knp=\E[6~, kpp=\E[5~, op=\E[37;40m, rc=\E8, + rev=\E[7m, rmacs=\E(B, rmso=\E[m, rmul=\E[m, sc=\E7, + setab=\E[4%p1%dm, setaf=\E[3%p1%dm, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, + sgr0=\E[0m, smacs=\E(0, smso=\E[7m, smul=\E[4m, +st-16color|simpleterm with 16-colors, + use=ibm+16color, use=simpleterm, +# 256 colors "works", but when running xterm's test-scripts, some garbage is +# shown in the titlebar. +st-256color|simpleterm with 256 colors, + ccc@, + initc@, use=xterm+256color, use=simpleterm, + +#### TERMINATOR +# http://software.jessies.org/terminator/ +# Tested using their Debian package org.jessies.terminator 6.104.3256 on 64-bit +# Debian/current -TD (2011/8/20) +# +# There are some packaging problems: +# a) using Java, the program starts off using 50Mb, and climbs from there, +# up to 114Mb after testing (no scrollback). +# b) it insists on reinstalling its terminal description in $HOME/.terminfo +# (two copies, just in case the host happens to be Mac OS X). +# I deleted this after testing with tack. +# +# Issues/features found with tack: +# a) tbc does not work (implying that hts also is broken). +# Comparing with the tabs utility shows a problem with the last tabstop on +# a line. +# b) has xterm-style shifted function-key strings +# meta also is used, but control is ignored. +# c) has xterm-style modifiers for cursor keys (shift, control, shift+control, meta) +# d) some combinations of shift/control send xterm-style sequences for +# insert/delete/home/end. +# e) numeric keypad sends only numbers (compare with vttest). +# f) meta mode (km) is not implemented. +# +# Issues found with ncurses test-program: +# a) bce is inconsistently implemented +# b) widths of Unicode values above 256 do not always agree with wcwidth. +# +# Checked with vttest, found low degree of compatibility there. +# +# Checked with xterm's scripts, found that the 256-color palette is fixed. +# +# Fixes: +# a) add sgr string +# b) corrected sgr0 to reset alternate character set +# c) modified smacs/rmacs to use SCS rather than SI/SO +# d) removed bce +# e) removed km +terminator|Terminator no line wrap, + eo, mir, msgr, xenl, xon, + colors#256, cols#80, it#8, lines#24, lm#0, pairs#32767, + acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, + bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J, + cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, + cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, + cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, + cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, + dl=\E[%p1%dM, dl1=\E[M, dsl=\E]2;\007, ed=\E[J, el=\E[K, + el1=\E[1K, enacs=\E(B\E)0, flash=^G, fsl=^G, home=\E[H, + hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, + ind=^J, is1=\E[?47l\E=\E[?1l, + is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[3~, kend=\E[4~, kf1=\EOP, kf10=\E[21~, + kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, + kf15=\E[28~, kf16=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, + kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, + khome=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, + op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B, + rmcup=\E[?47l\E8, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, + rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H, + rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>, + s0ds=\E(B, s1ds=\E(0, sc=\E7, setab=\E[48;5;%p1%dm, + setaf=\E[38;5;%p1%dm, + sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, + sgr0=\E[m\E(B, smacs=\E(0, smcup=\E7\E[?47h, smir=\E[4h, + smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]2;%p1, + vpa=\E[%i%p1%dd, + ######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS # @@ -4622,6 +5372,8 @@ pty|4bsd pseudo teletype, cup=\EG%p1%{32}%+%c%p2%{32}%+%c, rmso=\Eb$, rmul=\Eb!, smso=\Ea$, smul=\Ea!, use=cbunix, +#### Emacs + # The codes supported by the term.el terminal emulation in GNU Emacs 19.30 eterm|gnu emacs term.el terminal emulation, am, mir, xenl, @@ -4657,6 +5409,8 @@ eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96, sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, u6=\E[%i%d;%dR, u7=\E[6n, +#### Screen + # Entries for use by the `screen' program by Juergen Weigert, # Michael Schroeder, Oliver Laumann. The screen and # screen-w entries came with version 3.7.1. The screen2 and screen3 entries @@ -4781,7 +5535,7 @@ screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm, bce@, bw, invis@, kIC@, kNXT@, kPRV@, meml@, memu@, sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m, - use=screen+fkeys, use=xterm-new, + E3@, use=screen+fkeys, use=xterm-new, # xterm-r6 does not really support khome/kend unless it is propped up by # the translations resource. screen.xterm-r6|screen customized for X11R6 xterm, @@ -4886,6 +5640,8 @@ screen3|older VT 100/ANSI X3.64 virtual terminal, sc=\E7, sgr0=\E[m, smir=\E[4h, smkx=\E=, smso=\E[3m, smul=\E[4m, tbc=\E[3g, +#### NCSA Telnet + # Francesco Potorti : # NCSA telnet is one of the most used telnet clients for the Macintosh. It has # been maintained until recently by the National Center for Supercomputer @@ -4921,18 +5677,18 @@ screen3|older VT 100/ANSI X3.64 virtual terminal, # sequences for setting the window-title. So you must use tsl and fsl in # pairs, since the latter ends the string that is loaded to the window-title. ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode, - am, hs, km, mir, msgr, xenl, + am, km, mir, msgr, xenl, acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, - dsl=\E]0;\007, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, - flash=\E[?5h\E[?5l, fsl=^G, home=\E[H, ht=^I, hts=\EH, - ich=\E[%p1%d@, if=/usr/share/tabset/vt100, - il=\E[%p1%dL, il1=\E[L, ind=\n$<150*>, + dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, + el=\E[K, el1=\E[1K, enacs=\E)0, flash=\E[?5h\E[?5l, + home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, + if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L, + ind=\n$<150*>, is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~, @@ -4946,8 +5702,8 @@ ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in vt220-8 mode, rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>, sc=\E7, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7, - smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E]0;, - u8=\E[?62;1;6c, use=ansi+enq, + smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, + u8=\E[?62;1;6c, use=xterm+sl, use=ansi+enq, ncsa|NCSA Telnet 2.7 for Macintosh in vt220-8 mode, use=ncsa-m, use=klone+color, ncsa-ns|NCSA Telnet 2.7 for Macintosh in vt220-8 mode, @@ -5065,10 +5821,10 @@ sun-il|Sun Microsystems console with working insert-line, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z, - knp=\E[222z, kopt=\E[194z, kpp=\E[216z, kres=\E[193z, - kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@, rs2=\E[s, - sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, smso=\E[7m, - u8=\E[1t, u9=\E[11t, + kich1=\E[247z, knp=\E[222z, kopt=\E[194z, kpp=\E[216z, + kres=\E[193z, kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@, + rs2=\E[s, sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m, + smso=\E[7m, u8=\E[1t, u9=\E[11t, # On some versions of CGSIX framebuffer firmware (SparcStation 5), / # flake out on the last line. Unfortunately, without them the terminal has no # way to scroll. @@ -5078,6 +5834,10 @@ sun-cgsix|sun-ss5|Sun SparcStation 5 console, sun|sun1|sun2|Sun Microsystems Inc. workstation console, use=sun-il, +sun+sl|Sun Workstation window status line, + hs, + dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l, + # From: Tue Sep 24 13:14:44 1985 sun-s|Sun Microsystems Workstation window with status line, hs, @@ -5131,12 +5891,13 @@ sun-type4|Sun Workstation console with type 4 keyboard, # It supports bold, but not underline -TD (2009-09-19) sun-color|Sun Microsystems Workstation console with color support (IA systems), colors#8, ncv#3, pairs#64, - cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, - cuu=\E[%p1%dA, home=\E[H, op=\E[0m, setab=\E[4%p1%dm, - setaf=\E[3%p1%dm, + bold=\E[1m, cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC, + cuu=\E[%p1%dA, home=\E[H, op=\E[0m, rs2=\E[s, + setab=\E[4%p1%dm, setaf=\E[3%p1%dm, setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, - use=sun, + sgr=\E[0%?%p6%t;1%;%?%p1%p3%|%t;7%;m, sgr0=\E[m, + smso=\E[7m, use=sun, #### Iris consoles # @@ -5231,7 +5992,7 @@ news-unk|SONY NEWS vt100 emulator common entry, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, if=/usr/share/tabset/vt100, il=\E[%p1%dL, il1=\E[L, - is2=\E[?7h\E[?1l\E[?3l\E7\E8, kbs=^H, kcub1=\EOD, + is2=\E[?7h\E[?1h\E[?3l\E7\E8, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, rc=\E8, rev=\E[7m, ri=\EM, @@ -5279,7 +6040,7 @@ news-old-unk|SONY NEWS vt100 emulator common entry, cr=^M, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^J, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, ht=^I, if=/usr/share/tabset/vt100, kbs=^H, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rc=\E8, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, @@ -5403,10 +6164,10 @@ dtterm|CDE desktop terminal, sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, use=ecma+color, -#### Non-Unix Consoles +######## Non-Unix Consoles # -### EMX termcap.dat compatibility modes +#### EMX termcap.dat compatibility modes # # Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the # no_color_video to inform the application that standout(1), underline(2) @@ -5459,6 +6220,8 @@ mono-emx|stupid monochrome ansi terminal with only one kind of emphasis, kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=^M^J, rev=\E[7m, sgr0=\E[0m, +#### Cygwin + # Use this for cygwin32 (tested with beta 19.1) # underline is colored bright magenta # shifted kf1-kf12 are kf11-kf22 @@ -5545,7 +6308,7 @@ cygwin|ansi emulation for Cygwin, rmacs=\E[10m, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E]R, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, + sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m, sgr0=\E[0;10m, smacs=\E[11m, smcup=\E7\E[?47h, smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, tsl=\E];, vpa=\E[%i%p1%dd, use=vt102+enq, @@ -5580,10 +6343,12 @@ cygwinDBG|Debug Version for Cygwin, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E[10m, rmir=\E[4l, rmso=\E[m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, + sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m, sgr0=\E[0;10m, smacs=\E[11m, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt102+enq, +#### DJGPP + # Key definitions: # The encodings for unshifted arrow keys, F1-F12, Home, Insert, etc. match the # encodings used by other x86 environments. All others are invented for DJGPP. @@ -5750,6 +6515,8 @@ djgpp204|Entry for DJGPP 2.04, ri=\E[T, rin=\E[%p1%dT, rmso=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, smul=\E[4m, +#### U/Win + # This is tested using U/Win's telnet. Scrolling is omitted because it is # buggy. Another odd bug appears when displaying "~" in alternate character # set (the emulator spits out error messages). Compare with att6386 -TD @@ -5773,6 +6540,8 @@ uwin|U/Win 3.2 console, smacs=\E[11m, smir=\E[4h, smpch=\E[11m, smso=\E[7m, smul=\E[4m, tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, +#### Microsoft (miscellaneous) + # This entry fits the Windows NT console when the _POSIX_TERM environment # variable is set to 'on'. While the Windows NT POSIX console is seldom used, # the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP @@ -5826,7 +6595,7 @@ pcmw|PC running Microsoft Works, ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>, - rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/lib/tabset/vt100, + rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/tabset/vt100, ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>, @@ -5969,7 +6738,7 @@ altos2|alt2|altos-2|altos II, # :cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r: # :XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\ # :HL=^AP\r:SP=\E[i:\ -# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\ +# :IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T: altos3|altos5|alt3|alt5|altos-3|altos-5|altos III or V, blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2, altos4|alt4|altos-4|altos IV, @@ -6184,7 +6953,7 @@ hp2626|hp2626a|hp2626p|hp 2626, da, db, lm#0, pb#19200, ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>, - is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk+cr, + is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk-cr, use=hp+labels, use=scrhp, # This entry is for sysline. It allocates a 23 line window with @@ -6385,7 +7154,7 @@ hp2621b-kx-p|hp 2621b with new keyboard & printer, hp2622|hp2622a|hp 2622, da, db, lm#0, pb#19200, - is2=\E&dj@\r, use=hp+pfk+cr, use=hp+labels, use=scrhp, + is2=\E&dj@\r, use=hp+pfk-cr, use=hp+labels, use=scrhp, # The 2623 is a 2622 with extra graphics hardware. hp2623|hp2623a|hp 2623, @@ -7089,6 +7858,9 @@ qvt101|qvt108|qume qvt 101 and QVT 108, # What seems to be going on here is that this entry was designed so that # the normal highlight is bold and standout is dim plus something else # (reverse-video maybe? But then, are there two sequences?) +# +# Added kdch1, kil1, kdl1 based on screenshot -TD: +# http://www.vintagecomputer.net/qume/qvt-108/qume_qvt-108_keyboard.jpg qvt101+|qvt101p|qume qvt 101 PLUS product, am, bw, hs, ul, cols#80, lines#24, xmc#0, @@ -7097,11 +7869,11 @@ qvt101+|qvt101p|qume qvt 101 PLUS product, dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET, flash=\Eb$<200>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, ich1=\EQ, il1=\EE, ind=^J, invis@, kbs=^H, kcbt=\EI, kcub1=^H, - kcud1=^J, kcuf1=^L, kcuu1=^K, kdl1=\ER, ked=\EY, kel=\ET, - kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, - kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, - khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, rmso=\E(, - smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, + kcud1=^J, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, + kel=\ET, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r, + kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, + kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@, + rmso=\E(, smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr, qvt102|qume qvt 102, cnorm=\E., use=qvt101, # (qvt103: added / based on init string -- esr) @@ -8213,8 +8985,8 @@ tvi9065|televideo 9065, rmxon=^N, rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l, rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=13.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee \Ex0\0\0\Ex1\0\0\Ex2\0\0\Ex3\0\0\Ex4\0\0\E1, rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0\0\0, - sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p9%t\E$%e\E%%%;, - sgr0=\EG0, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er, + sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;%?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p8%t\E&%;%?%p9%t\E$%e\E%%%;, + sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er, smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O, tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, @@ -9727,7 +10499,7 @@ vt320-k3|MS-Kermit 3.00's vt320 emulation, flash=\E[?5h\E[?5l\E[?5h\E[?5l\E[?5h\E[?5l, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L, ind=^J, - is2=\E>\E F\E[?1l\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD, + is2=\E>\E F\E[?1h\E[?7h\E[r\E[2$~, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~, kf0=\E[21~, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~, @@ -9981,7 +10753,7 @@ att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1, pln=\E[%p1%d;00q%p2%:-16s, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, + sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%p1%{1}%+%dH, @@ -10079,7 +10851,7 @@ att4415|tty5420|att5420|AT&T 4415/5420 80 cols, pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[19;0j\E[21;1j\212, rmln=\E|, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, + sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;, sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h, smkx=\E[19;1j\E[21;4j\Eent, smln=\E~, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd, @@ -10285,7 +11057,7 @@ att5425|tty5425|att4425|AT&T 4425/5425, rev=\E[7m, ri=\EM, rin=\E[%p1%dF, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[21;0j\E[25;1j\212, rmln=\E|, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7, - sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, + sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h, smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E7\E[25;%p1%{8}%+%dH, @@ -10682,7 +11454,7 @@ att620|AT&T 620; 80 column; 98key keyboard, ri=\EM, rin=\E[%p1%dT, rmacs=\E(B\017, rmam=\E[?7l, rmir=\E[4l, rmln=\E[2p, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, + sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%t;7%;%?%p7%t;8%;m%?%p9%t\E)0\016%e\E(B\017%;, sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h, smir=\E[4h, smln=\E[p, smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx, @@ -10742,7 +11514,7 @@ att630|AT&T 630 windowing terminal, mc5=\E[?5i, nel=^M^J, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\EM, rin=\E[%p1%dT, rmir=\E[4l, rmso=\E[m, rmul=\E[m, rs2=\Ec, sc=\E7, - sgr=\E[0%?%p2%t;4%;%?%p1%p3%|%p4%|%p5%|%t;7%;m, + sgr=\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%p4%|%t;7%;m, sgr0=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m, att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines, lines#24, use=att630, @@ -11392,7 +12164,7 @@ aaa+unk|aaa-unk|ann arbor ambassador (internal - don't use this directly), rep=%p1%c\E[%p2%{1}%-%db, rev=\E[7m, rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E\\, rmm=\E[>52l, rmso=\E[m, rmul=\E[m, sc=\E7, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, + sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, sgr0=\E[m, smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E\\, smm=\E[>52h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, @@ -11402,13 +12174,13 @@ aaa+rv|ann arbor ambassador in reverse video, blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m, is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m, rs1=\E[H\E[7m\E[J$<156>, - sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, + sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p2%|%p3%!%t7;%;%?%p7%t8;%;m\016, sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m, # Ambassador with the DEC option, for partial vt100 compatibility. aaa+dec|ann arbor ambassador in dec vt100 mode, acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}, csr=\E[%i%p1%d;%p2%dr, enacs=\E(0, rmacs=^N, - sgr=\E[%?%p1%p3%|%!%t7;%;%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;, + sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p3%|%!%t7;%;%?%p7%t8;%;m%?%p9%t\017%e\016%;, smacs=^O, aaa-18|ann arbor ambassador/18 lines, lines#18, @@ -11575,7 +12347,7 @@ aaa-rv-unk|ann arbor unknown type, blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m, is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m, rs1=\E[H\E[7m\E[J, - sgr=\E[%?%p1%!%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;m, + sgr=\E[%?%p6%t1;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p1%!%t7;%;%?%p7%t8;%;m, sgr0=\E[7m, smso=\E[m, smul=\E[4;7m, #### Applied Digital Data Systems (adds) @@ -12417,7 +13189,7 @@ oc100|oconcept|c100-1p|old 1 page concept 100, # and mc5= should use the \E[?4i and \E[?5i strings instead). hds200|Human Designed Systems HDS200, - am, bw, eslok, hs, km, mc5i, mir, msgr, xenl, xon, + am, bw, eslok, hs, km, mir, msgr, xenl, xon, cols#80, it#8, lines#24, lm#0, acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G, blink=\E[0;5m, bold=\E[0;1m, cbt=\E[Z, civis=\E[6+{, @@ -12446,13 +13218,12 @@ hds200|Human Designed Systems HDS200, kf51=^\051\r, kf52=^\052\r, kf53=^\053\r, kf6=^\006\r, kf7=^\007\r, kf8=^\008\r, kf9=^\009\r, khome=\E[H, kind=\E[T, knp=\E[U, kpp=\E[V, kri=\E[S, ll=\E[H\E[A, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\E[E, rc=\E8, - rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l, rmso=\E[m\017, - rmul=\E[m\017, sc=\E7, + nel=\E[E, rc=\E8, rev=\E[0;7m, ri=\EM, rmacs=^O, rmir=\E[4l, + rmso=\E[m\017, rmul=\E[m\017, sc=\E7, sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m, smul=\E[0;4m, tbc=\E[3g, tsl=\E[2!w\E[%i%p1%dG, - vpa=\E[%i%p1%dd, + vpa=\E[%i%p1%dd, use=ansi+pp, # through included to specify padding needed in raw mode. # (avt-ns: added empty to suppress a tic warning --esr) @@ -12479,10 +13250,11 @@ avt-ns|concept avt no status line, ri=\EM$<4>, rmacs=\016$<1>, rmcup=\E[w\E2\r\n, rmir=\E[4l, rmkx=\E[!z\E[0;2u, rmso=\E[7!{, rmul=\E[4!{, sc=\E7, - sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;m, - sgr0=\E[m, smacs=\017$<1>, smcup=\E[=4l\E[1;24w\E2\r, - smir=\E[4h, smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, vpa=\E[%p1%{1}%+%dd, + sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;%;%?%p7%t8;%;%?%p8%t99;%;m%?%p5%t\E[1!{%;%?%p9%t\017%e\016%;$<1>, + sgr0=\E[m\016$<1>, smacs=\017$<1>, + smcup=\E[=4l\E[1;24w\E2\r, smir=\E[4h, + smkx=\E[1!z\E[0;3u, smso=\E[7m, smul=\E[4m, tbc=\E[3g, + vpa=\E[%p1%{1}%+%dd, avt-rv-ns|concept avt in reverse video mode/no status line, flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h, use=avt-ns, @@ -12764,7 +13536,6 @@ dg450|dg6134|data general 6134, # backspace on all terminals. This is not so in DG mode. # (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the # grounds that there is no matching ":ml:" -# fixed garbled ":k9=\E[00\:z:" capability -- esr) dg460-ansi|Data General Dasher 460 in ANSI-mode, OTbs, am, msgr, ul, cols#80, it#8, lines#24, @@ -12775,10 +13546,12 @@ dg460-ansi|Data General Dasher 460 in ANSI-mode, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[001z, kf1=\E[002z, kf2=\E[003z, kf3=\E[004z, kf4=\E[005z, kf5=\E[006z, kf6=\E[007z, kf7=\E[008z, - kf8=\E[009z, kf9=\E[010z, khome=\E[H, lf0=f1, lf1=f2, lf2=f3, - lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, rev=\E[7m, - ri=\E[T, rmso=\E[m, rmul=\E[05, sgr0=\E[m, smso=\E[7m, - smul=\E[4m, + kf8=\E[009z, kf9=\E[00\:z, khome=\E[H, lf0=f1, lf1=f2, + lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10, + mc0=\E[i, rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05, + sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m, + sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u6=\E[%d;%dR, + u7=\E[6n, u8=\E[5n, u9=\E[0n, # From: Wayne Throop (not official) # Data General 605x # Ought to work for a Model 6242, Type D210 as well as a 605x. @@ -12825,7 +13598,7 @@ d210|d214|Data General DASHER D210 series, cuu=\E[%p1%dA, cuu1=\E[A, dim=\E[2m, ed=\E[J, el=\E[K, el1=\E[1K, home=\E[H, ind=^J, is1=\E[<0;<1;<4l, ll=\E[H\E[A, nel=^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m, + sgr=\E[%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;%?%p1%p3%|%p6%|%t7;%;m, sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=dgkeys+7b, # DASHER D210 series terminals in DG mode. @@ -13027,7 +13800,7 @@ d410|d411|d460|d461|Data General DASHER D410/D460 series, is2=\E[3;2;2;1;1;1v\E(B\E)4\017, mc4=\E[4i, mc5=\E[5i, ri=\EM, rmacs=\E)4\017, rs1=\Ec\E[<2h, rs2=\E[4;0;2;1;1;1v\E(B\E)4, - sgr=\E[%?%p1%p3%|%p6%|%t7;%;%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;m\E)%?%p9%t6\016%e4\017%;, + sgr=\E[%?%p1%t2;7%;%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p1%p5%|%t2;%;%?%p6%t4;7;%;m\E)%?%p9%t6\016%e4\017%;, sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211, # Initialization string 2 sets: @@ -13197,12 +13970,12 @@ d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrol # d470c|d470|Data General DASHER D470C, is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, - sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm\E)%?%p9%t6\016%e4\017%;, + sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m\E)%?%p9%t6\016%e4\017%;, use=dg+color, use=d460, d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode, is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, - sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}%;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e%{0}%;%PDm%?%p9%t\016%e\017%;, + sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t2;7;%;%?%p5%t2;%;m%?%p9%t\016%e\017%;, use=dg+color, use=d460-7b, # Initialization string 2 sets: @@ -13758,7 +14531,7 @@ superbeeic|super bee with insert char, sb2|sb3|fixed superbee, xsb@, use=superbee, -#### Beehive Medical Electronics +#### Beehive Medical Electronics # # Steve Seymour writes (Wed, 03 Feb 1999): # Regarding your question though; Beehive terminals weren't made by Harris. @@ -14225,6 +14998,8 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device, sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;, sgr0=\E[0m, smacs=\E(0, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, +# "Megapel" refers to the display adapter, which was used with the IBM RT +# aka IBM 6150. ibm5081|hft|IBM Megapel Color display, acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B, s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154, @@ -14579,7 +15354,7 @@ icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372, is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ, rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ, rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1, - sgr=\E[%{0}%?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;ZZ, + sgr=\E[%'0'%?%p1%t%'8'%|%;%?%p2%t%'8'%|%;%?%p3%t%'4'%|%;%?%p4%t%'2'%|%;%?%p7%t%'1'%|%;%cZZ, sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3, icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols, rs2=\Eo1, use=icl6404, @@ -14896,7 +15671,7 @@ prism8-w|p8-w|P8-W|MDC Prism-8 in 132 column mode, # (esr: commented out / because there's no ) # prism9|p9|P9|MDC Prism-9 in ANSII mode, - am, bw, hs, mc5i, msgr, xenl, xon, + am, bw, hs, msgr, xenl, xon, cols#80, it#8, lines#24, vt#3, wsl#72, bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[<4l, clear=^L, cnorm=\E[<4h, cr=^M, csr=\E[%i%p1%d;%p2%d%%v, @@ -14912,14 +15687,15 @@ prism9|p9|P9|MDC Prism-9 in ANSII mode, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, - khome=\E[H, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=^M^J, - prot=\E[32%{, rc=\E[%z, rep=\E[%p2%db%p1%c, rev=\E[7m, - ri=\E[L, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m, + khome=\E[H, nel=^M^J, prot=\E[32%{, rc=\E[%z, + rep=\E[%p2%db%p1%c, rev=\E[7m, ri=\E[L, rmir=\E[4l, + rmso=\E[27m, rmul=\E[24m, rs2=\E[&p\E[<12l\E F\E[3g\E[9;17;25;33;41;49;57;65;73 N, sc=\E[%y, - sgr=\E[%{0}%?%p1%p3%|%t%{7}%+%;%?%p2%t%{2}%+%;%?%p4%t%{5}%+%;%?%p6%t%{1}%+%;m%?%p8%t\E[%{32}%+%d%%{%;%?%p9%t\016%e\017%;, + sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;m%?%p8%t\E[32%%{%;%?%p9%t\016%e\017%;, sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd, + use=ansi+pp, # p9-w: Prism-9 in 132 column mode # -------------------------------- @@ -15283,7 +16059,7 @@ ncr260vt100an|NCR 2900_260 vt100 with ansi kybd, rmkx=\E[?1l\E>, rmso=\E[0m, rmul=\E[0m, rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, + sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>, sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[1;7m, smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, use=vt220+keypad, @@ -15340,7 +16116,7 @@ ncr260vt200an|NCR 2900_260 vt200 with ansi kybd, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, + sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>, sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, @@ -15396,7 +16172,7 @@ ncr260vt300an|NCR 2900_260 vt300 with ansi kybd, rmul=\E[24m, rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1H\E>$<200>, sc=\E7, - sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<20>, + sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>, sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g, tsl=\E[2$~\E[1$}, vpa=\E[%p1%dd$<40>, @@ -15786,7 +16562,7 @@ ncr7901|ncr 7901 model, # Manufactured in the early/mid eighties, behaves almost the same as a # Televideo 950. Take a 950, change its cabinet for a more 80s-ish one (but # keep the same keyboard layout), add an optional 25-line mode, replace the DIP -# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC ! +# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC ! # 2), here is the NDR 9500. Even the line-lock, albeit disabled, is # recognized: if you type in "ESC !", the next (third) character is not # echoed, showing that the terminal was actually waiting for a parameter! @@ -15810,7 +16586,7 @@ ndr9500|nd9500|Newbury Data 9500, pfloc=\E|%{48}%p1%+%c2%p2\031, pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej, rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N, - sgr=\E%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;, + sgr=\EG0\E%%%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;, sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O, tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H, @@ -16280,7 +17056,7 @@ tek4107|tek4109|tektronix terminals 4107 4109, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, rev=\E%!1\E[7m$<2>\E%!0, ri=\EI, rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0, - sgr=\E%%!1\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>\E%%!0, + sgr=\E%%!1\E[%?%p1%t;7;5%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t<0%;%?%p6%t;1%;m$<2>\E%%!0, sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0, smul=\E%!1\E[4m$<2>\E%!0, # Tektronix 4207 with sysline. In the ancestral termcap file this was 4107-s; @@ -16467,9 +17243,10 @@ tek4205|tektronix 4205, clear=\E[2J\E[H, cr=^M, cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dch1=\E[1P, dim=\E[=1;<6m, dl1=\E[1M, ech=\E%p1%dX, - ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, - ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, ind=\ED, + dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M, + ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0, + home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L, + ind=\ED, initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3%e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=%t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<%tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE1%e%p2%{875}%<%tE\:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<%tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE\:%eF4%;%?%p4%{125}%<%t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8%e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE\:%eF4%;\E%%!1, invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA, @@ -16640,7 +17417,7 @@ ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX, kf9=\250, khome=\E[H, kich1=\E[^H, knp=\E[U, kpp=\E[V, ll=\E[24;1H, nel=^M, rev=\E[7m, ri=\E[T\E[A, rin=\E[%p1%dT\E[%p1%dA, rmso=\E[m, rmul=\E[m, - sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m, + sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t30;40%;m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, #### Apple II @@ -16869,639 +17646,6 @@ mac|macintosh|Macintosh with MacTerminal, mac-w|macterminal-w|Apple Macintosh with Macterminal in 132 column mode, cols#132, use=mac, -# nsterm*|Apple_Terminal - AppKit Terminal.app -# -# Terminal.app is a Terminal emulator bundled with NeXT's NeXTStep and -# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X -# Server and Mac OS X operating systems. There is also a -# "terminal.app" in GNUStep, but I believe it to be an unrelated -# codebase and I have not attempted to describe it here. -# -# For NeXTStep, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you -# are pretty much on your own. Use "nsterm-7-m" and hope for the best. -# You might also try "nsterm-7" and "nsterm-old" if you suspect your -# version supports color. -# -# To determine the version of Terminal.app you're using by running: -# -# echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION" -# -# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm") -# -# For Apple_Terminal v71+/v100+, use "nsterm-bce". -# -# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s". -# -# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s". -# -# For all earlier versions (Apple_Terminal), try "nsterm-7-m" -# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s" -# might work too, but really you're on your own here since these -# systems are very obsolete and I can't test them. I do welcome -# patches, though :). - -# Other Terminals: -# -# For GNUstep_Terminal, you're probably best off using "linux" or -# writing your own terminfo. - -# For MacTelnet, you're on your own. It's a different codebase, and -# seems to be somewhere between "vt102", "ncsa" and "xterm-color". - -# For iTerm.app, see "iterm". - -# -# The AppKit Terminal.app descriptions all have names beginning with -# "nsterm". Note that the statusline (-s) versions use the window -# titlebar as a phony status line, and may produce warnings during -# compilation as a result ("tsl uses 0 parameters, expected 1".) -# Ignore these warnings, or even ignore these entries entirely. Apps -# which need to position the cursor or do other fancy stuff inside the -# status line won't work with these entries. They're primarily useful -# for programs like Pine which provide simple notifications in the -# status line. Please note that non-ASCII characters don't work right -# in the status line, since Terminal.app incorrectly interprets their -# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X -# versions) or only accepts status lines consisting entirely of -# characters from the first 256 Unicode positions (including C1 but -# not C0 or DEL.) -# -# The Mythology* of AppKit Terminal.app: -# -# In the days of NeXTSTep 0.x and 1.x there were two incompatible -# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a -# shareware replacement for Terminal called "Stuart" which NeXT bought -# and used as the basis for the Terminal.app in NeXTstep 2+, -# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I -# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or -# capabilities for the early versions, but I believe that the -# TERM_PROGRAM_VERSION may have been reset at some point. -# -# The early versions were tailored to the NeXT character set. Sometime -# after the Apple aquisition the encoding was swiched to MacRoman -# (initally with serious altcharset bugs due to incomplete conversion -# of the old NeXT code,) and then later to UTF-8. Alos sometime during -# or just prior to the early days of Mac OS X, the Terminal grew ANSI -# 8-color support (initially buggy when combined with attributes, but -# that was later fixed.) More recently, around Mac OS X version 10.3 -# or so (Terminal.app v100+) xterm-like 16-color support was added. In -# some versions (for instance 133-1 which shipped with Mac OS X -# version 10.4) this suffered from the bug, but that seems to -# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+). -# -# In the early days of Mac OS X the terminal was fairly buggy and -# would routinely crash under load. Many of these bugs seem to have -# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but -# some may still remain. This change seems to correspond to -# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as -# it did previously. -# -# * This may correspond with what actually happened, but I don't -# know. It is based on guesswork, hearsay, private correspondence, -# my faulty memory, and the following online sources and references: -# -# [1] "Three Scotts and a Duane" by Simson L. Garfinkel -# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html -# -# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia -# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep -# -# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to -# "nsterm" to comply with the name length and case conventions and -# limitations of various software packages [notably Solaris terminfo -# and UNIX.] A single Apple_Terminal alias is retained for -# backwards-compatbility. -# -# * Added function key support (F1-F4). These only work in Terminal.app -# version 51, hopefully the capabilities won't cause problems for people -# using version 41. -# -# * Added "full color" (-c) entries which support the 16-color mode in -# version 51. -# -# * By default, version 51 uses UTF-8 encoding with broken altcharset -# support, so "ASCII" (-7) entries without altcharset support were -# added. - -# nsterm - AppKit Terminal.app -# -# Apple's Mac OS X includes a Terminal.app derived from the old NeXT -# Terminal.app. It is a partial VT100 emulation with some xterm-like -# extensions. This terminfo was written to describe versions 41 -# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X -# version 10.1) of Terminal.app. -# -# Terminal.app runs under the Mac OS X Quartz windowing system (and -# other AppKit-supported windowing systems.) On the Mac OS X machine I -# use, the executable for Terminal.app is: -# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -# -# If you're looking for a description of the full-screen system -# console which runs under Apple's Darwin operating system on PowerPC -# platforms, see the "xnuppc" entry instead. -# -# There were no function keys in version 41. In version 51, there are -# four working function keys (F1, F2, F3 and F4.) The function keys -# are included in all of these entries. -# -# It does not support mouse pointer position reporting. Under some -# circumstances the cursor can be positioned using option-click; this -# works by comparing the cursor position and the selected position, -# and simulating enough cursor-key presses to move the cursor to the -# selected position. This technique fails in all but the simplest -# applications. -# -# It provides partial ANSI color support (background colors interacted -# badly with bold in version 41, though, as reflected in :ncv:.) The -# monochrome (-m) entries are useful if you've disabled color support -# or use a monochrome monitor. The full color (-c) entries are useful -# in version 51, which doesn't exhibit the background color bug. They -# also enable an xterm-compatible 16-color mode. -# -# The configurable titlebar is set using xterm-compatible sequences; -# it is used as a status bar in the statusline (-s) entries. Its width -# depends on font sizes and window sizes, but 50 characters seems to -# be the default for an 80x24 window. -# -# The MacRoman character encoding is used for some of the alternate -# characters in the "MacRoman" entries; the "ASCII" (-7) entries -# disable alternate character set support entirely, and the "VT100" -# (-acs) entries rely instead on Terminal.app's own buggy VT100 -# graphics emulation, which seems to think the character encoding is -# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries -# are useful in Terminal.app version 51, which supports UTF-8 and -# other ASCII-compatible character encodings but does not correctly -# implement VT100 graphics; once VT100 graphics are correctly -# implemented in Terminal.app, the "VT100" (-acs) entries should be -# usable in any ASCII-compatible character encoding [except perhaps -# in UTF-8, where some experts argue for disallowing alternate -# characters entirely.] -# -# Terminal.app reports "vt100" as the terminal type, but exports -# several environment variables which may aid detection in a shell -# profile (i.e. .profile or .login): -# -# TERM=vt100 -# TERM_PROGRAM=Apple_Terminal -# TERM_PROGRAM_VERSION=41 # in Terminal.app version 41 -# TERM_PROGRAM_VERSION=51 # in Terminal.app version 51 -# -# For example, the following Bourne shell script would detect the -# correct terminal type: -# -# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ] -# then -# export TERM -# if [ :"$TERM_PROGRAM_VERSION" = :41 ] -# then -# TERM="nsterm-old" -# else -# TERM="nsterm-c-7" -# fi -# fi -# -# In a C shell derivative, this would be accomplished by: -# -# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then -# if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then -# if ( :"$TERM_PROGRAM_VERSION" == :41 ) then -# setenv TERM "nsterm-old" -# else -# setenv TERM "nsterm-c-7" -# endif -# endif -# endif - -# The '+' entries are building blocks -nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset, - am, bw, msgr, xenl, xon, - cols#80, it#8, lines#24, - bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cr=^M, - csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H, - cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, - cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, - dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K, - home=\E[H, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L, ind=^J, - invis=\E[8m, kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, - kcuu1=\EOA, kent=\EOM, rc=\E8, rev=\E[7m, ri=\EM, - rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, - rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m, - sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, use=vt100+enq, use=vt100+pfkeys, - -nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset, - acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, - enacs=\E(B\E)0, rmacs=^O, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, use=nsterm+7, - -nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset, - acsc=+\335\,\334-\366.\3770#`\327a\:f\241g\261h#i\360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{\271|\255}\243~\245, - enacs=\E(B\E)0, rmacs=^O, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, - sgr0=\E[m\017, smacs=^N, use=nsterm+7, - -nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support, - hs, - wsl#50, - dsl=\E]2;\007, fsl=^G, tsl=\E]2;, - -nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors), - op=\E[0m, use=ibm+16color, - -nsterm+c41|AppKit Terminal.app v41 color support, - colors#8, ncv#37, pairs#64, - op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -# These are different combinations of the building blocks - -# ASCII charset (-7) -nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome), - use=nsterm+7, - -nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+7, - -nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color), - use=nsterm+c41, use=nsterm+7, - -nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color), - use=nsterm+c, use=nsterm+7, - -nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+7, - -nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+7, - -# VT100 alternate-charset (-acs) -nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome), - use=nsterm+acs, - -nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+acs, - -nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color), - use=nsterm+c41, use=nsterm+acs, - -nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color), - use=nsterm+c, use=nsterm+acs, - -nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+acs, - -nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+acs, - -# MacRoman charset -nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome), - use=nsterm+mac, - -nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline), - use=nsterm+s, use=nsterm+mac, - -nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color), - use=nsterm+c41, use=nsterm+mac, - -nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color), - use=nsterm+c, use=nsterm+mac, - -nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline), - use=nsterm+s, use=nsterm+c41, use=nsterm+mac, - -nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline), - use=nsterm+s, use=nsterm+c, use=nsterm+mac, - -# In Mac OS X version 10.5 the format of the preferences has changed -# and a new, more complex technique is needed, e.g., -# -# python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass( -# "NSUserDefaults");ud=NSUserDefaults.alloc(); -# ud.init();prefs=ud.persistentDomainForName_( -# "com.apple.Terminal");prefs["Window Settings"][ -# prefs["Default Window Settings"]]["TerminalType" -# ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs, -# "com.apple.Terminal")' nsterm-16color -# -# and it is still not settable from the preferences dialog. This is -# tracked under rdar://problem/7365108 and rdar://problem/7365134 -# in Apple's bug reporter. -nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5, - bw@, mir, npc, - civis=\E[?25l, cnorm=\E[?25h, dch=\E[%p1%dP, dch1=\E[P, - flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG, - ich=\E[%p1%d@, ich1=\E[@, kdch1=\E[3~, kend=\E[F, - kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, - kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, - kf18=\E[22~, kf19=\E[33~, kf20=\E[34~, kf5=\E[15~, - kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H, - knp=\E[6~, kpp=\E[5~, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, - smcup=\E7\E[?47h, smir=\E[4h, vpa=\E[%i%p1%dd, - use=nsterm-c-s-acs, - -# The versions of Terminal.app in Mac OS X version 10.3.x seem to have -# the background color erase bug. The newer version 240.2 in Mac OS X -# version 10.5 does not. -# -# This entry is based on newsgroup comments by Alain Bench, Christian Ebert, -# and D P Schreber comparing to nsterm-c-s-acs. -# -# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM -# can be set in Terminal.app, e.g., -# -# defaults write com.apple.Terminal TermCapString nsterm-bce -# -# and that it is not set in Terminal's preferences dialog. -nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce), - bce, bw, use=nsterm-16color, - -# This is an alias which should always point to the "current" version -nsterm|Apple_Terminal|AppKit Terminal.app, - use=nsterm-16color, - -# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and -# more featureful) terminal emulator for Mac OS X. It is similar -# enough in capabilities to nsterm-16color that I have derived this -# description from that one, but as far as I know they share no code. -# Many of the features are user-configurable, but I attempt only to -# describe the default configuration. -# -# NOTE: When tack tests (csr) + (nel) iTerm.app crashes, so (csr) is -# disabled. -iTerm.app|iTerm.app terminal emulator for Mac OS X, - bce, bw@, ccc@, - csr@, initc@, kend=\EOF, khome=\EOH, use=xterm+256color, - use=nsterm-16color, - -# xnuppc - Darwin PowerPC Console (a.k.a. "darwin") -# -# On PowerPC platforms, Apple's Darwin operating system uses a -# full-screen system console derived from a NetBSD framebuffer -# console. It is an ANSI-style terminal, and is not really VT-100 -# compatible. -# -# Under Mac OS X, this is the system console driver used while in -# single-user mode [reachable by holding down Command-S during the -# boot process] and when logged in using console mode [reachable by -# typing ">console" at the graphical login prompt.] -# -# If you're looking for a description of the Terminal.app terminal -# emulator which runs under the Mac OS X Quartz windowing system (and -# other AppKit-supported windowing systems,) see the "nsterm" -# entry instead. -# -# NOTE: Under Mac OS X version 10.1, the default login window does not -# prompt for user name, instead requiring an icon to be selected from -# a list of known users. Since the special ">console" login is not in -# this list, you must make one of two changes in the Login Window -# panel of the Login section of System Prefs to make the special -# ">console" login accessible. The first option is to enable 'Show -# "Other User" in list for network users', which will add a special -# "Other..." icon to the graphical login panel. Selecting "Other..." -# will present the regular graphical login prompt. The second option -# is to change the 'Display Login Window as:' setting to 'Name and -# password entry fields', which replaces the login panel with a -# graphical login prompt. -# -# There are no function keys, at least not in Darwin 1.3. -# -# It has no mouse support. -# -# It has full ANSI color support, and color combines correctly with -# all three supported attributes: bold, inverse-video and underline. -# However, bold colored text is almost unreadable (bolding is -# accomplished using shifting and or-ing, and looks smeared) so bold -# has been excluded from the list of color-compatible attributes -# [using (ncv)]. The monochrome entry (-m) is useful if you use a -# monochrome monitor. -# -# There is one serious bug with this terminal emulation's color -# support: repositioning the cursor onto a cell with non-matching -# colors obliterates that cell's contents, replacing it with a blank -# and displaying a colored cursor in the "current" colors. There is -# no complete workaround at present [other than using the monochrome -# (-m) entries,] but removing the (msgr) capability seemed to help. -# -# The "standout" chosen was simple reverse-video, although a colorful -# standout might be more aesthetically pleasing. Similarly, the bold -# chosen is the terminal's own smeared bold, although a simple -# color-change might be more readable. The color-bold (-b) entries -# uses magenta colored text for bolding instead. The fancy color (-f -# and -f2) entries use color for bold, standout and underlined text -# (underlined text is still underlined, though.) -# -# Apparently the terminal emulator does support a VT-100-style -# alternate character set, but all the alternate character set -# positions have been left blank in the font. For this reason, no -# alternate character set capabilities have been included in this -# description. The console driver appears to be ASCII-only, so (enacs) -# has been excluded [although the VT-100 sequence does work.] -# -# The default Mac OS X and Darwin installation reports "vt100" as the -# terminal type, and exports no helpful environment variables. To fix -# this, change the "console" entry in /etc/ttys from "vt100" to -# "xnuppc-WxH", where W and H are the character dimensions of your -# console (see below.) -# -# The font used by the terminal emulator is apparently one originally -# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This -# file includes descriptions for the following geometries: -# -# Pixels Characters Entry Name (append -m for monochrome) -# ------------------------------------------------------------------- -# 640x400 80x25 xnuppc-80x25 -# 640x480 80x30 xnuppc-80x30 -# 720x480 90x30 xnuppc-90x30 -# 800x600 100x37 xnuppc-100x37 -# 896x600 112x37 xnuppc-112x37 -# 1024x640 128x40 xnuppc-128x40 -# 1024x768 128x48 xnuppc-128x48 -# 1152x768 144x48 xnuppc-144x48 -# 1280x1024 160x64 xnuppc-160x64 -# 1600x1024 200x64 xnuppc-200x64 -# 1600x1200 200x75 xnuppc-200x75 -# 2048x1536 256x96 xnuppc-256x96 -# -# The basic "xnuppc" entry includes no size information, and the -# emulator includes no reporting capability, so you'll be at the mercy -# of the TTY device (which reports incorrectly on my hardware.) The -# color-bold entries do not include size information. - -# The '+' entries are building blocks -xnuppc+basic|Darwin PowerPC Console basic capabilities, - am, bce, mir, xenl, - it#8, - bold=\E[1m, clear=\E[H\E[J, cr=^M, csr=\E[%i%p1%d;%p2%dr, - cub=\E[%p1%dD, cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, - cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, - cuu=\E[%p1%dA, cuu1=\E[A, dsl=\E]2;\007, ed=\E[J, el=\E[K, - el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=^J, kbs=\177, - kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rc=\E8, - rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, - rmul=\E[m, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, - sc=\E7, - sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, use=vt100+keypad, - -xnuppc+c|Darwin PowerPC Console ANSI color support, - colors#8, ncv#32, pairs#64, - op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, - -xnuppc+b|Darwin PowerPC Console color-bold support, - ncv#32, - bold=\E[35m, - sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m, - use=xnuppc+basic, - -xnuppc+f|Darwin PowerPC Console fancy color support, - ncv#35, - sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%?%p3%t;7%;m, - smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b, - -xnuppc+f2|Darwin PowerPC Console alternate fancy color support, - ncv#35, - bold=\E[33m, - sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%?%p3%t;7%;m, - smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic, - -# Building blocks for specific screen sizes -xnuppc+80x25|Darwin PowerPC Console 80x25 support (640x400 pixels), - cols#80, lines#25, - -xnuppc+80x30|Darwin PowerPC Console 80x30 support (640x480 pixels), - cols#80, lines#30, - -xnuppc+90x30|Darwin PowerPC Console 90x30 support (720x480 pixels), - cols#90, lines#30, - -xnuppc+100x37|Darwin PowerPC Console 100x37 support (800x600 pixels), - cols#100, lines#37, - -xnuppc+112x37|Darwin PowerPC Console 112x37 support (896x600 pixels), - cols#112, lines#37, - -xnuppc+128x40|Darwin PowerPC Console 128x40 support (1024x640 pixels), - cols#128, lines#40, - -xnuppc+128x48|Darwin PowerPC Console 128x48 support (1024x768 pixels), - cols#128, lines#48, - -xnuppc+144x48|Darwin PowerPC Console 144x48 support (1152x768 pixels), - cols#144, lines#48, - -xnuppc+160x64|Darwin PowerPC Console 160x64 support (1280x1024 pixels), - cols#160, lines#64, - -xnuppc+200x64|Darwin PowerPC Console 200x64 support (1600x1024 pixels), - cols#200, lines#64, - -xnuppc+200x75|Darwin PowerPC Console 200x75 support (1600x1200 pixels), - cols#200, lines#75, - -xnuppc+256x96|Darwin PowerPC Console 256x96 support (2048x1536 pixels), - cols#256, lines#96, - -# These are different combinations of the building blocks - -xnuppc-m|darwin-m|Darwin PowerPC Console (monochrome), - use=xnuppc+basic, - -xnuppc|darwin|Darwin PowerPC Console (color), - use=xnuppc+c, use=xnuppc+basic, - -xnuppc-m-b|darwin-m-b|Darwin PowerPC Console (monochrome w/color-bold), - use=xnuppc+b, - -xnuppc-b|darwin-b|Darwin PowerPC Console (color w/color-bold), - use=xnuppc+b, use=xnuppc+c, - -xnuppc-m-f|darwin-m-f|Darwin PowerPC Console (fancy monochrome), - use=xnuppc+f, - -xnuppc-f|darwin-f|Darwin PowerPC Console (fancy color), - use=xnuppc+f, use=xnuppc+c, - -xnuppc-m-f2|darwin-m-f2|Darwin PowerPC Console (alternate fancy monochrome), - use=xnuppc+f2, - -xnuppc-f2|darwin-f2|Darwin PowerPC Console (alternate fancy color), - use=xnuppc+f2, use=xnuppc+c, - -# Combinations for specific screen sizes -xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC Console (monochrome) 80x25, - use=xnuppc+80x25, use=xnuppc+basic, - -xnuppc-80x25|darwin-80x25|Darwin PowerPC Console (color) 80x25, - use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic, - -xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC Console (monochrome) 80x30, - use=xnuppc+80x30, use=xnuppc+basic, - -xnuppc-80x30|darwin-80x30|Darwin PowerPC Console (color) 80x30, - use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic, - -xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC Console (monochrome) 90x30, - use=xnuppc+90x30, use=xnuppc+basic, - -xnuppc-90x30|darwin-90x30|Darwin PowerPC Console (color) 90x30, - use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic, - -xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC Console (monochrome) 100x37, - use=xnuppc+100x37, use=xnuppc+basic, - -xnuppc-100x37|darwin-100x37|Darwin PowerPC Console (color) 100x37, - use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic, - -xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC Console (monochrome) 112x37, - use=xnuppc+112x37, use=xnuppc+basic, - -xnuppc-112x37|darwin-112x37|Darwin PowerPC Console (color) 112x37, - use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic, - -xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC Console (monochrome) 128x40, - use=xnuppc+128x40, use=xnuppc+basic, - -xnuppc-128x40|darwin-128x40|Darwin PowerPC Console (color) 128x40, - use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic, - -xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC Console (monochrome) 128x48, - use=xnuppc+128x48, use=xnuppc+basic, - -xnuppc-128x48|darwin-128x48|Darwin PowerPC Console (color) 128x48, - use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic, - -xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC Console (monochrome) 144x48, - use=xnuppc+144x48, use=xnuppc+basic, - -xnuppc-144x48|darwin-144x48|Darwin PowerPC Console (color) 144x48, - use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic, - -xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC Console (monochrome) 160x64, - use=xnuppc+160x64, use=xnuppc+basic, - -xnuppc-160x64|darwin-160x64|Darwin PowerPC Console (color) 160x64, - use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic, - -xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC Console (monochrome) 200x64, - use=xnuppc+200x64, use=xnuppc+basic, - -xnuppc-200x64|darwin-200x64|Darwin PowerPC Console (color) 200x64, - use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic, - -xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC Console (monochrome) 200x75, - use=xnuppc+200x75, use=xnuppc+basic, - -xnuppc-200x75|darwin-200x75|Darwin PowerPC Console (color) 200x75, - use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic, - -xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC Console (monochrome) 256x96, - use=xnuppc+256x96, use=xnuppc+basic, - -xnuppc-256x96|darwin-256x96|Darwin PowerPC Console (color) 256x96, - use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic, - #### Radio Shack/Tandy # @@ -17752,22 +17896,28 @@ osexec|Osborne executive, # See # http://www.minix3.org/manpages/man4/console.4.html -# LSC Add back some missing support ofr fn keys, keypad and PgUp/PgDn +# LSC Add back some missing support for fn keys, keypad and PgUp/PgDn +# Added lf0@, lf1@, lf2@, lf3@, lf4@, lf5@, , not sure what it does... to check! minix|minix console (v3), + acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, + kdch1=\177, kend=\E[Y, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~, + kf11=\E[11;2~, kf12=\E[12;2~, kf13=\E[13;2~, + kf14=\E[14;2~, kf15=\E[15;2~, kf16=\E[17;2~, + kf17=\E[18;2~, kf18=\E[19;2~, kf19=\E[20;2~, kf2=\E[12~, + kf20=\E[21;2~, kf21=\E[11;5~, kf22=\E[12;5~, + kf23=\E[13;5~, kf24=\E[14;5~, kf25=\E[15;5~, + kf26=\E[17;5~, kf27=\E[18;5~, kf28=\E[19;5~, + kf29=\E[20;5~, kf3=\E[13~, kf30=\E[21;5~, kf31=\E[11;6~, + kf32=\E[12;6~, kf33=\E[13;6~, kf34=\E[14;6~, + kf35=\E[15;6~, kf36=\E[17;6~, kf37=\E[18;6~, + kf38=\E[19;6~, kf39=\E[20;6~, kf4=\E[14~, kf40=\E[21;6~, + kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, + kich1=\E[@, knp=\E[U, kpp=\E[V, lf0@, lf1@, lf2@, lf3@, lf4@, lf5@, + use=minix-3.0, + khome=\E[H, kcuu1=\E[A, + +minix-3.0|minix console (v3.0), use=ecma+color, use=minix-1.7, - kcuu1=\E[A, kdch1=\177, kend=\E[Y, kf0=\E[21~, kf1=\E[11~, - kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, - kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kf10=\E[21~, - kf11=\E[11;2~, kf12=\E[12;2~, kf13=\E[13;2~, kf14=\E[14;2~, - kf15=\E[15;2~, kf16=\E[17;2~, kf17=\E[18;2~, kf18=\E[19;2~, - kf19=\E[20;2~, kf20=\E[21;2~, kf21=\E[11;5~, kf22=\E[12;5~, - kf23=\E[13;5~, kf24=\E[14;5~, kf25=\E[15;5~, kf26=\E[17;5~, - kf27=\E[18;5~, kf28=\E[19;5~, kf29=\E[20;5~, kf30=\E[21;5~, - kf31=\E[11;6~, kf32=\E[12;6~, kf33=\E[13;6~, kf34=\E[14;6~, - kf35=\E[15;6~, kf36=\E[17;6~, kf37=\E[18;6~, kf38=\E[19;6~, - kf39=\E[20;6~, kf40=\E[21;6~, khome=\E[H, kich1=\E[@, - knp=\E[U, kpp=\E[V, - acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376, # See # http://www.minix-vmd.org/pub/Minix-vmd/1.7.0/wwwman/man4/console.4.html @@ -17807,7 +17957,7 @@ minix-old-am|minix console with linewrap, am, use=minix-old, pc-minix|minix console on an Intel box, - use=klone+acs, use=minix, + use=klone+acs, use=minix-3.0, # According to the Coherent 2.3 manual, the PC console is similar # to a z19. The differences seem to be (1) 25 lines, (2) no status @@ -18210,6 +18360,7 @@ dku7102-old|BULL Questar 200 DKU7102 (microcode version < 6), use=tws-generic, dku7202|BULL Questar 200 DKU7202 (colour/character attributes), blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb, + sgr=\E[0%?%p1%t;2;4;5;7%;%?%p3%t;7%;%?%p2%t;2%;%?%p4%t;2;4%;%?%p5%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;, smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic, #=========================================================# @@ -18289,7 +18440,7 @@ dku7202|BULL Questar 200 DKU7202 (colour/character attributes), # This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310 bq300|Bull vt320 ISO Latin 1 80 columns terminal, - am, eo, eslok, hs, km, mc5i, mir, msgr, xenl, xon, + am, eo, eslok, hs, km, mir, msgr, xenl, xon, cols#80, it#8, lines#24, vt#3, wsl#80, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l, @@ -18313,14 +18464,14 @@ bq300|Bull vt320 ISO Latin 1 80 columns terminal, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khlp=\E[28~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, krdo=\E[29~, kslt=\E[4~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, - mc0=\E[i, mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, rev=\E[7m, - ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?7h, rmir=\E[4l, - rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\E[!p, - rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7, + nel=\EE, rc=\E8, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l, + rmcup=\E[?7h, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, + rmul=\E[24m, rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, + sc=\E7, sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;, sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m, - smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, + smul=\E[4m, tbc=\E[3g, tsl=\E[1$}\E[2$~, use=ansi+pp, bq300-rv|Bull vt320 reverse 80 columns, flash=\E[?5l$<50>\E[?5h, is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E F\E[?42l\E[?4l, @@ -18398,12 +18549,12 @@ bq300-8|Bull vt320 full 8 bits 80 columns, csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=\2331D, cud=\233%p1%dB, cud1=\2331B, cuf=\233%p1%dC, cuf1=\2331C, cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\2331A, - dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, + dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M, dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E(B\E)0, flash=\233?5h$<50>\233?5l, fsl=\2330$}, home=\233H, - ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, ind=\ED, - is1=\E[63;2"p\E[2h, + ht=^I, hts=\EH, ich=\233%p1%d@, il=\233%p1%dL, il1=\233L, + ind=\ED, is1=\E[63;2"p\E[2h, is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E G\E[?42l\E[?4l, is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w, ka3=\217y, kb2=\217u, kbs=^H, kc1=\217q, kc3=\217s, @@ -18416,11 +18567,12 @@ bq300-8|Bull vt320 full 8 bits 80 columns, khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, - rev=\2337m, ri=\EM, rmacs=^O, rmam=\233?7l, rmcup=\233?7h, - rmir=\2334l, rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, - rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0, sc=\E7, + rev=\2337m, ri=\EM, rmacs=\E(B, rmam=\233?7l, + rmcup=\233?7h, rmir=\2334l, rmkx=\233?1l\E>, + rmso=\23327m, rmul=\23324m, rs1=\E[!p, rs2=\E[?3l, + s0ds=\E(B, s1ds=\E(0, sc=\E7, sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\2330m\E(B, smacs=^N, smam=\233?7h, + sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m, smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~, bq300-8rv|Bull vt320 8-bit reverse mode 80 columns, @@ -19025,14 +19177,14 @@ z29a|z29a-kc-bc|h29a-kc-bc|heath/zenith 29 in ansi mode, cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM, - dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, home=\E[H, - ht=^I, hts=\EH, if=/usr/share/tabset/vt100, il=\E[%p1%dL, - ind=\ED, kbs=^H, kclr=\E[J, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, kf0=\E[~, kf1=\EOS, - kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, - kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7, - nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, rmcup=\E[?7h, - rmso=\E[m, rmul=\E[m, + dl1=\E[M, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l, + home=\E[H, ht=^I, hts=\EH, if=/usr/share/tabset/vt100, + il=\E[%p1%dL, il1=\E[L, ind=\ED, kbs=^H, kclr=\E[J, + kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, ked=\E[J, + kf0=\E[~, kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, + kf6=\EOP, kf7=\EOQ, kf8=\EOR, kf9=\EOX, khome=\E[H, lf0=help, + mc0=\E#7, nel=^M\ED, rc=\E[r, rev=\E[7m, ri=\EM, + rmcup=\E[?7h, rmso=\E[m, rmul=\E[m, rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m\E[11m, sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m, tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K, @@ -19833,6 +19985,193 @@ apollo_19L|apollo 19 inch display, apollo_color|apollo color display, rmir@, smir@, use=vt132, +#### AT&T consoles + +# This actually describes the generic SVr4 display driver for Intel boxes. +# The isn't documented and therefore may not be reliable. +# From: Eric Raymond Mon Nov 27 19:00:53 EST 1995 +att6386|at386|386at|AT&T WGS 6386 console, + am, bw, eo, xon, + cols#80, it#8, lines#25, + acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~, + bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[=C, + clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub=\E[%p1%dD, + cub1=\E[D, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, + cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, + cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, + dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J, el=\E[K, + home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@, + ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, + indn=\E[%p1%dS, invis=\E[9m, is2=\E[0;10;39m, kbs=^H, + kcbt=^], kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kdch1=\E[P, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, + kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, + kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H, kich1=\E[@, + knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S, rc=\E8, rev=\E[7m, + ri=\E[T, rin=\E[%p1%dT, rmacs=\E[10m, rmso=\E[m, rmul=\E[m, + sc=\E7, + sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m, + sgr0=\E[0;10m, smacs=\E[12m, smso=\E[7m, smul=\E[4m, + tbc=\E[3g, vpa=\E[%i%p1%dd, use=klone+color, +# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr) +pc6300plus|AT&T 6300 plus, + OTbs, am, xon, + cols#80, lines#24, + bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C, + clear=\E[2J\E[H, cnorm=\E[=1C, cr=^M, cub1=^H, cud1=\E[B, + cuf1=\E[C, cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, + dch1=\E[1P, dim=\E[2m, dl1=\E[1M, ed=\E[0J, el=\E[0K, + home=\E[H, hts=\EH, ich1=\E[1@, il1=\E[1L, ind=^J, + invis=\E[9m, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, + kcuu1=\E[A, kf1=\EOc, kf10=\EOu, kf2=\EOd, kf3=\EOe, + kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\EOk, + nel=^M^J, rev=\E[7m, rmso=\E[m, rmul=\E[m, sgr0=\E[m, + smso=\E[7m, smul=\E[4m, tbc=\E[3g, + +# From: Benjamin C. W. Sittler +# +# I have a UNIX PC which I use as a terminal attached to my Linux PC. +# Unfortunately, the UNIX PC terminfo entry that comes with ncurses +# is broken. All the special key sequences are broken, making it unusable +# with Emacs. The problem stems from the following: +# +# The UNIX PC has a plethora of keys (103 of them, and there's no numeric +# keypad!), loadable fonts, and strange highlighting modes ("dithered" +# half-intensity, "smeared" bold, and real strike-out, for example.) It also +# uses resizable terminal windows, but the bundled terminal program always +# uses an 80x24 window (and doesn't support seem to support a 132-column +# mode.) +# +# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a +# library which was a superset of SVr3.5 curses (called tam, for "terminal +# access method".) tam includes support for real, overlapping windows, +# onscreen function key labels, and bitmap graphics. But since the primary +# user interface on the UNIX PC was a GUI program (ua, for "user +# assistant",) and remote administration was considered important for the +# machine, tam also supported VT100-compatible terminals attached to the +# serial port or used across the StarLan network. To simulate the extra keys +# not present on a VT100, users could press ESC and a two-letter sequence, +# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences, +# however, were not the same as those sent by the actual Undo key. The +# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example. +# (If you're interested in adding some of the tam calls to ncurses, btw, I +# have the full documentation and several programs which use tam. It also +# used an extended terminfo format to describe key sequences, special +# highlighting modes, etc.) +# +# KEYS: This means that ncurses would quite painful on the UNIX PC, since +# there are two sequences for every key-modifier combination (local keyboard +# sequence and remote "VT100" sequence.) But I doubt many people are trying +# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the +# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume) +# seem to have been built from the manual describing the VT100 sequences. +# This means it doesn't work for a real live UNIX PC. +# +# FONTS: The UNIX PC also has a strange interpretation of "alternate +# character set". Rather than the VT100 graphics you might expect, it allows +# up to 8 custom fonts to be loaded at any given time. This means that +# programs expecting VT100 graphics will usually be disappointed. For this +# reason I have disabled the smacs/rmacs sequences, but they could easily be +# re-enabled. Here are the relevant control sequences (from the ESCAPE(7) +# manpage), should you wish to do so: +# +# SGR10 - Select font 0 - ESC [ 10 m or SO +# SGR11 - Select font 1 - ESC [ 11 m or SI +# SGR12 - Select font 2 - ESC [ 12 m +# ... (etc.) +# SGR17 - Select font 7 - ESC [ 17 m +# +# Graphics for line drawing are not reliably found at *any* character +# location because the UNIX PC has dynamically reloadable fonts. I use font +# 0 for regular text and font 1 for italics, but this is by no means +# universal. So ASCII line drawing is in order if smacs/rmacs are enabled. +# +# MISC: The cursor visible/cursor invisible sequences were swapped in the +# distributed terminfo. +# +# To ameliorate these problems (and fix a few highlighting bugs) I rewrote +# the UNIX PC terminfo entry. The modified version works great with Lynx, +# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC +# attached by serial cable. In Emacs, even the Undo key works, and many +# applications can now use the F1-F8 keys. +# +# esr's notes: +# Terminfo entry for the AT&T Unix PC 7300 +# from escape(7) in Unix PC 7300 Manual. +# Somewhat similar to a vt100-am (but different enough +# to redo this from scratch.) +# +# /*************************************************************** +# * +# * FONT LOADING PROGRAM FOR THE UNIX PC +# * +# * This routine loads a font defined in the file ALTFONT +# * into font memory slot #1. Once the font has been loaded, +# * it can be used as an alternative character set. +# * +# * The call to ioctl with the argument WIOCLFONT is the key +# * to this routine. For more information, see window(7) in +# * the PC 7300 documentation. +# ***************************************************************/ +# #include /* needed for strcpy call */ +# #include /* needed for ioctl call */ +# #define FNSIZE 60 /* font name size */ +# #define ALTFONT "/usr/lib/wfont/special.8.ft" /* font file */ +# /* +# * The file /usr/lib/wfont/special.8.ft comes with the +# * standard PC software. It defines a graphics character set +# * similar to that of the Teletype 5425 terminal. To view +# * this or other fonts in /usr/lib/wfont, use the command +# * cfont . For further information on fonts see +# * cfont(1) in the PC 7300 documentation. +# */ +# +# struct altfdata /* structure for alt font data */ +# { +# short altf_slot; /* memory slot number */ +# char altf_name[FNSIZE]; /* font name (file name) */ +# }; +# ldfont() +# { +# int wd; /* window in which altfont will be */ +# struct altfdata altf; +# altf.altf_slot=1; +# strcpy(altf.altf_name,ALTFONT); +# for (wd =1; wd < 12; wd++) { +# ioctl(wd, WIOCLFONT,&altf); +# } +# } +# +# (att7300: added /// from the BSDI entry, +# they're confirmed by the man page for the System V display---esr) +# +att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300, + am, xon, + cols#80, it#8, lines#24, + bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C, + clear=\E[2J\E[H, cnorm=\E[=0C, cr=^M, cub=\E[%p1%dD, + cub1=^H, cud=\E[%p1%dB, cud1=\E[B, cuf=\E[%p1%dC, + cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, + cuu1=\E[A, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, + ed=\E[0J, el=\E[0K, home=\E[H, ich1=\E[@, il=\E[%p1%dL, + il1=\E[L, ind=^J, invis=\E[9m, is1=\017\E[=1w, kBEG=\ENB, + kCAN=\EOW, kCPY=\END, kCRT=\EON, kDC=\ENF, kDL=\ENE, + kEND=\ENN, kEOL=\EOA, kFND=\EOX, kHLP=\EOM, kHOM=\ENM, + kIC=\ENJ, kLFT=\ENK, kMOV=\ENC, kNXT=\ENH, kOPT=\EOR, + kPRV=\ENG, kRDO=\EOT, kRIT=\ENL, kRPL=\EOY, kSAV=\EOO, + kUND=\EOS, kbeg=\ENb, kbs=^H, kcan=\EOw, kcbt=\E[Z, + kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\ENf, + ked=\E[J, kel=\EOa, kend=\E0, kext=\EOk, kf1=\EOc, kf2=\EOd, + kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, + kfnd=\EOx, khlp=\EOm, khome=\E[H, kich1=\ENj, kind=\E[B, + kmov=\ENc, kmrk=\ENi, knp=\E[U, knxt=\ENh, kopn=\EOv, + kopt=\EOr, kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, + kref=\EOb, krfr=\ENa, kri=\E[A, krpl=\EOy, krst=\EOB, + ksav=\EOo, kslt=\ENI, kund=\EOs, nel=\EE, rev=\E[7m, ri=\EM, + rmso=\E[m, rmul=\E[m, sgr0=\E[0;10m, smso=\E[7m, + smul=\E[4m, + #### Convergent Technology # # Burroughs bought Convergent shortly before it merged with Univac. @@ -19938,6 +20277,54 @@ masscomp1|masscomp large screen version 1, masscomp2|masscomp large screen version 2, cols#64, lines#21, use=masscomp, +#### OSF Unix +# + +# OSF/1 1.1 Snapshot 2 +pmcons|pmconsole|PMAX console, + am, + cols#128, lines#57, + bel=^G, clear=^L, cr=^M, cub1=^H, cud1=^J, cuu1=^K, ht=^I, + ind=^J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, + kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, + +#### Other consoles +# The following is a version of the ibm-pc entry distributed with PC/IX, +# (Interactive Systems' System 3 for the Big Blue), modified by Richard +# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, +# (the former is untrue, and the latter failed under UCB/man); standout and +# underline modes have been added. Note: this entry describes the "native" +# capabilities of the PC monochrome display, without ANY emulation; most +# communications packages (but NOT PC/IX connect) do some kind of emulation. +pcix|PC/IX console, + am, bw, eo, + cols#80, lines#24, + clear=\Ec, cub1=^H, cud1=\E[B, cuf1=\E[C, + cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[A, ed=\E[J, el=\E[K, + home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, + smul=\E[4m, + +# (ibmpcx: this entry used to be known as ibmx. +# It formerly included the following extension capabilities: +# :GC=b:GL=v:GR=t:RT=^J:\ +# :GH=\E[196g:GV=\E[179g:\ +# :GU=\E[193g:GD=\E[194g:\ +# :G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\ +# :CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\ +# :WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\ +# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate +# ":kh=\E[Y:". Added IBM-PC forms characters and highlights, they match +# what was there before. -- esr) +ibmpcx|xenix|ibmx|IBM PC xenix console display, + OTbs, am, msgr, + cols#80, lines#25, + clear=^L, cub1=^H, cud1=\E[B, cuf1=\E[C, + cup=\E[%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M, + ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L, kbs=^H, + kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[d, + kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N, khome=\E[Y, knp=\E[e, + kpp=\E[Z, use=klone+acs, use=klone+sgr8, + ######## OTHER OBSOLETE TYPES # # These terminals are *long* dead -- these entries are retained for @@ -20232,9 +20619,9 @@ dwk|dwk-vt|dwk terminal, sgr0=\EX, smacs=\EF, smso=\ET, env230|envision230|envision 230 graphics terminal, xenl@, - mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, - sgr=\E[%?%p1%t;1%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>, - use=vt100, + enacs@, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rmacs@, + sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;m$<2>, + sgr0=\E[0m$<2>, smacs@, use=vt100, # These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic # coupler attached, the whole rig fitting in a suitcase and more or less # portable. Hot stuff for c.1977 :-) -- esr @@ -20289,7 +20676,7 @@ opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys, rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>, rs3=\EwG\Ee($<150>, - sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, + sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2%t%{8}%|%;%?%p1%p3%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c, sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/, smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177, smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(, @@ -20896,7 +21283,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # assigned in System V terminfo. There are some variant extension sets out # there. We try to describe them here. # -# XENIX extensions: +#### XENIX extensions: # # The XENIX extensions include a set of function-key capabilities as follows: # @@ -20961,7 +21348,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # When translating a termcap file, ncurses tic will do this automatically. # The double forms characters don't fit the SVr4 terminfo model. # -# AT&T Extensions: +#### AT&T Extensions: # # The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of # nonstandard capabilities. Its signature is the KM capability, used to name @@ -20972,7 +21359,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make # cursor invisible), and CV=:ve: (make cursor normal). # -# HP Extensions +#### HP Extensions # # The HP library (as of mid-1995, their term.h file version 70.1) appears to # have the System V capabilities up to SVr1 level. After that, it supports @@ -20981,7 +21368,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # label_off, and key_f11..key_f63 capabilities like SVr4's. This makes the # HP binary format incompatible with SVr4's. # -# IBM Extensions +#### IBM Extensions # # There is a set of nonstandard terminfos used by IBM's AIX operating system. # The AIX terminfo library diverged from SVr1 terminfo, and replaces all @@ -21009,7 +21396,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # The box2 characters are the double-line versions of these forms graphics. # The AIX binary terminfo format is incompatible with SVr4's. # -# Iris console extensions: +#### Iris console extensions: # # HS is half-intensity start; HE is half-intensity end # CT is color terminal type (for Curses & rogue) @@ -21018,7 +21405,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # # The ncurses tic utility recognizes HS as an alias for mh . # -# TC Extensions: +#### TC Extensions: # # There is a set of extended termcaps associated with something # called the "Terminal Control" or TC package created by MainStream Systems, @@ -21026,11 +21413,110 @@ v3220|LANPAR Vision II model 3220/3221/3222, # CF for civis and CO for cvvis. Finally, they define a boolean :ct: # that flags color terminals. # +######## NCURSES USER-DEFINABLE CAPABILITIES +# +# Extensions added after ncurses 5.0 generally use the "-x" option of tic and +# infocmp to manipulate user-definable capabilities. Those that are intended +# for use in either terminfo or termcap use 2-character names. Extended +# function keys do not use 2-character names, and are available only with +# terminfo. +# +# As of mid-2012, no other terminfo/termcap implementation than ncurses +# supports this extension; termcap libraries can as noted above make limited +# use of the feature. +# +# ncurses makes explicit checks for a few user-definable capabilities: AX, U8, +# XM. +# +#### SCREEN Extensions: +# +# The screen program uses the termcap interface. It recognizes a few useful +# nonstandard capabilities. Those are used in this file. +# +# AX (bool) Does understand ANSI set default fg/bg color (\E[39m / +# \E[49m). +# G0 (bool) Terminal can deal with ISO 2022 font selection sequences. +# E0 (str) Switch charset 'G0' back to standard charset. +# S0 (str) Switch charset 'G0' to the specified charset. +# XT (bool) Terminal understands special xterm sequences (OSC, mouse +# tracking). +# +# AX is relatively straightforward; it is interpreted by ncurses to say that +# SGR 39/49 reset the terminal's foreground and background colors to their +# "default". +# +# XT is harder, since screen's manpage does not give more details. For that, +# we must read screen's source-code. When XT is set, screen assumes +# +# a) OSC 1 sets the title string, e.g., for the icon. Recent versions of +# screen may also set the terminal's name, which is (for xterm) distinct +# from the icon name. +# b) OSC 20 sets the background pixmap. This is an rxvt feature. +# c) OSC 39 and OSC 49 set the default foreground/background colors. Again +# this is an rxvt feature. +# d) certain mode settings enable the mouse: 9, 1000, 1001, 1002, 1003. +# These are from xterm, although xterm accepts mouse codes that may not be +# recognized by screen, e.g., 1005, 1006. +# e) colors beyond 0..7 are implemented by xterm's aixterm-like 16-color +# sequence. However, because screen uses only termcap, the values returned +# by Af/Ab are not usable because they rely on expressions that termcap +# does not support. Therefore, screen uses a hardcoded string to work +# around the limitation. +# f) all entries named "*xterm*" or "*rxvt*" have the bce flag set. +# +# The other ISO-2022 features are rarely used, but provided here to make +# screen's termcap features available. +# +#### XTERM Extensions: +# +# Most of the xterm extensions are for function-keys. Since patch #94 (in +# 1999), xterm has supported shift/control/alt/meta modifiers which produce +# additional function-key strings. Some other developers copied the feature, +# though they did not follow xterm's lead in patch #167 (in 2002), to make +# these key definitions less ambiguous. +# +# A few terminals provide similar functionality (sending distinct keys when +# a modifier is used), including rxvt. +# +# These are the extended keys defined in this file: +# +# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6 +# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4 +# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7 +# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 ka2 kb1 kb3 kc2 +# +# Here are the other xterm-related extensions which are used in this file: +# +# Cr is a string capability which resets the cursor color +# Cs is a string capability which sets the cursor color to a given value. +# The single string parameter is the color name/number, according to the +# implementation. +# Ms modifies the selection/clipboard. Its parameters are +# p1 = the storage unit (clipboard, selection or cut buffer) +# p2 = the base64-encoded clipboard content. +# Se resets the cursor style to the terminal power-on default. +# Ss is a string capability with one numeric parameter. It is used to set the +# cursor style as described by the DECSCUSR function to a block or +# underline. +# XM is a string capability which overrides ncurses's built-in string which +# enables xterm mouse mode. +# +#### Miscellaneous extensions: +# +# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode. +# This was implemented for the Hurd. +# E3 clears the terminal's scrollback buffer. This was implemented in the +# Linux 3.0 kernel as a security feature. It matches a feature which was +# added in xterm patch #107. +# U8 is a numeric capability which denotes a terminal emulator which does not +# support VT100 SI/SO when processing UTF-8 encoding. Set this to a nonzero +# value to enable it. +# ######## CHANGE HISTORY # # The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94. -# Releases 9 and up are maintained by Eric S. Raymond as part of the ncurses -# project. +# Releases 9 and 10 (up until the release of ncurses 4.2 in 1998) were +# maintained by Eric S. Raymond as part of the ncurses project. # # This file contains all the capability information present in John Kunze's # last version of the termcap master file, except as noted in the change @@ -21130,7 +21616,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * Replaced HP entries up to hpsub with purpose-built ones. # * Blank rmir/smir/rmdc/smdc capabilities removed. # * Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924. -# 9.4.8 (Fri Apr 7 09:36:34 EDT 199): +# 9.4.8 (Fri Apr 7 09:36:34 EDT 1995): # * Replaced the Ann Arbor entries with SCO's, the init strings are # more efficient (but the entries otherwise identical). # * Added dg211 from Shuford archive. @@ -22239,7 +22725,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * add screen.rxvt -TD # # 2008-04-28 -# * add screen+fkeys (prompted by Debian # 478094) -TD +# * add screen+fkeys (prompted by Debian #478094) -TD # # 2008-06-28 # * add screen.mlterm -TD @@ -22295,7 +22781,7 @@ v3220|LANPAR Vision II model 3220/3221/3222, # 2009-12-12 # * updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta) # -# 2009-12-12 +# 2009-12-19 # * add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler) # * rename minix to minix-1.7, add minix entry for Minux3 -TD # @@ -22369,6 +22855,171 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * add xterm-utf8 as a demo of the U8 feature -TD # # 2011-02-20 -# * add cons25-debian entry (Brian M Carlson, Debina #607662). +# * add cons25-debian entry (Brian M Carlson, Debian #607662). +# +# 2011-06-11 +# * update minix entry to minix 3.2 (Thomas Cort). +# +# 2011-07-09 +# * fix inconsistent tabset path in pcmw (Todd C. Miller). +# * remove a backslash which continued comment, obscuring altos3 +# definition with OpenBSD toolset (Nicholas Marriott). +# +# 2011-07-16 +# * add/use xterm+tmux chunk from xterm #271 -TD +# * resync xterm-new entry from xterm #271 -TD +# * add E3 extended capability to linux-basic (Miroslav Lichvar) +# * add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD +# * add SI/SO change to linux2.6 entry (Debian #515609) -TD +# +# 2011-07-21 +# * add kich1 to sun (Yuri Pankov) +# * use bold rather than reverse for smso in sun-color (Yuri Pankov). +# +# 2011-08-06 +# * corrected k9 in dg460-ansi, add other features based on manuals -TD +# +# 2011-08-20 +# * minor cleanup of X-terminal emulator section -TD +# * add terminator entry -TD +# * add simpleterm entry -TD +# +# 2011-09-10 +# * add xterm+kbs fragment from xterm #272 -TD +# +# 2011-11-12 +# * add pccon entries for OpenBSD console (Alexei Malinin) +# +# 2011-12-17 +# * corrected old changelog comments -TD +# +# 2011-11-24 +# * add putty-sco -TD +# +# 2012-01-28 +# * add mach-gnu (Samuel Thibault) +# * add mach-gnu-color, tweaks to mach-gnu -TD +# * make sgr for sun-color agree with smso -TD +# * make sgr for prism9 agree with other caps -TD +# * make sgr for icl6404 agree with other caps -TD +# * make sgr for ofcons agree with other caps -TD +# * make sgr for att5410v1, att4415, att620 agree with other caps -TD +# * make sgr for aaa-unk, aaa-rv agree with other caps -TD +# * make sgr for avt-ns agree with other caps -TD +# +# 2012-02-11 +# * make sgr for xterm-pcolor agree with other caps -TD +# * make sgr for att5425 agree with other caps -TD +# * make sgr for att630 agree with other caps -TD +# * make sgr for linux entries agree with other caps -TD +# * make sgr for tvi9065 agree with other caps -TD +# * make sgr for ncr260vt200an agree with other caps -TD +# * make sgr for ncr160vt100pp agree with other caps -TD +# * make sgr for ncr260vt300an agree with other caps -TD +# * make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD +# * make sgr for cygwin, cygwinDBG agree with other caps -TD +# +# 2012-03-31 +# * correct order of use-clauses in st-256color -TD +# +# 2012-04-01 +# * revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD +# +# 2012-04-14 +# * document all of the user-defined capabilities in one place -TD +# * add XT to some places to improve usefulness for other applications +# than screen, which would like to pretend that xterm's title is +# a status-line. -TD +# * change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review +# of ordering and overrides -TD +# +# 2012-04-21 +# * add msgr to vt420, similar DEC vtXXX entries -TD +# * add several missing vt420 capabilities from vt220 -TD +# * factor out ansi+pp from several entries -TD +# * change xterm+sl and xterm+sl-twm to include only the status-line +# capabilities and not "use=xterm", making them more generally useful +# as building-blocks -TD +# * add dec+sl building block, as example -TD +# +# 2012-04-28 +# * fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD +# * add eslok flag to dec+sl -TD +# * dec+sl applies to vt320 and up -TD +# * drop wsl width from xterm+sl -TD +# * reuse xterm+sl in putty and nsca-m -TD +# * add ansi+tabs to vt520 -TD +# * add ansi+enq to vt220-vt520 -TD +# +# 2012-05-05 +# * remove p6 (bold) from opus3n1+ for consistency -TD +# * remove acs stuff from env230 per clues in Ingres termcap -TD +# * modify env230 sgr/sgr0 to match other capabilities -TD +# * modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD +# * make sgr for dku7202 agree with other caps -TD +# * make sgr for ibmpc agree with other caps -TD +# * make sgr for tek4107 agree with other caps -TD +# * make sgr for ndr9500 agree with other caps -TD +# * make sgr for sco-ansi agree with other caps -TD +# * make sgr for d410 agree with other caps -TD +# * make sgr for d210 agree with other caps -TD +# * make sgr for d470c, d470c-7b agree with other caps -TD +# +# 2012-05-12 +# * rewrite vt520 entry based on vt420 -TD +# * corrected 'op' for bterm (report by Samuel Thibault) -TD +# +# 2012-06-02 +# * add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord, +# analysis by Martin Husemann). +# * add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by +# Onno van der Linden). +# * add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD +# * add kdch1, etc., to qvt108 -TD +# * add dl1/il1 to some entries based on dl/il values -TD +# * add dl to simpleterm -TD +# +# 2012-06-10 +# * modify some older xterm entries to align with xterm source -TD +# * separate "xterm-old" alias from "xterm-r6" -TD +# +# 2012-07-28 +# * add E3 to xterm-basic and putty -TD +# +# 2012-08-11 +# * add nsterm-256color, make this the default nsterm -TD +# * remove bw from nsterm-bce, per testing with tack -TD +# +# 2012-10-12 +# * add vte-2012, gnome-2012, making these the defaults for vte/gnome +# (patch by Christian Persch). +# +# 2012-11-02 +# * reviewed vte-2012, reverted most of the change since it was incorrect +# based on testing with tack -TD +# * un-cancel the initc in vte-256color, since this was implemented +# starting with version 0.20 in 2009 -TD +# +# 2013-03-16 +# * correct typo in sgr string for sun-color, +# add bold for consistency with sgr, +# change smso for consistency with sgr -TD +# * correct typo in sgr string for terminator -TD +# * add blink to the attributes masked by ncv in linux-16color (report +# by Benjamin Sittler) +# +# 2013-03-23 +# * change initialization for vt220, similar entries for consistency +# with cursor-key strings (NetBSD #47674) -TD +# * further improvements to linux-16color (Benjamin Sittler) +# +# 2013-05-11 +# * move nsterm-related entries out of "obsolete" section to more +# plausible "ansi consoles" -TD +# * additional cleanup of table-of-contents by reordering -TD +# +# 2013-06-07 +# * added note to clarify Terminal.app's non-emulation of the various +# terminal types listed in the preferences dialog -TD # ######## SHANTIH! SHANTIH! SHANTIH! diff --git a/share/zoneinfo/Makefile b/share/zoneinfo/Makefile index fff0b9ce2..149c36b6e 100644 --- a/share/zoneinfo/Makefile +++ b/share/zoneinfo/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.43 2009/04/10 16:16:12 apb Exp $ +# $NetBSD: Makefile,v 1.44 2013/03/06 17:32:51 christos Exp $ .include @@ -97,9 +97,16 @@ afterinstall: ${DATA} ${REDO} ${TABDATA} find . -type f -print | xargs ${TOOL_STAT} -qf '%d,%i %N' | sort \ | while read devino tzfile; do \ destfile=${DESTDIR}${TZDIR}/$${tzfile#./}; \ + destdir=$$(dirname $${destfile}); \ + if [ ! -d "$$destdir" ]; then \ + ${_MKSHMSG_INSTALL} $$destdir; \ + ${_MKSHECHO} ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} \ + $$destdir; \ + ${INSTALL_DIR} -o ${BINOWN} -g ${BINGRP} $$destdir; \ + fi; \ if [ "$$devino" = "$$lastdevino" ]; then \ - if ldevino=`${TOOL_STAT} -qf '%d %i' $$lastfile` && \ - tdevino=`${TOOL_STAT} -qf '%d %i' $$destfile` && \ + if ldevino=$$(${TOOL_STAT} -qf '%d %i' $$lastfile) && \ + tdevino=$$(${TOOL_STAT} -qf '%d %i' $$destfile) && \ [ "$$ldevino" = "$$tdevino" ]; then \ continue; \ fi; \ diff --git a/share/zoneinfo/africa b/share/zoneinfo/africa index 87f57c650..a92d7f511 100644 --- a/share/zoneinfo/africa +++ b/share/zoneinfo/africa @@ -1,13 +1,12 @@ #
    -# @(#)africa	8.33
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
     # This data is by no means authoritative; if you think you know better,
     # go ahead and edit the file (and please send any changes to
    -# tz@elsie.nci.nih.gov for general use in the future).
    +# tz@iana.org for general use in the future).
     
    -# From Paul Eggert (2006-03-22):
    +# From Paul Eggert (2013-02-21):
     #
     # A good source for time zone historical data outside the U.S. is
     # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
    @@ -26,6 +25,10 @@
     # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
     # I found in the UCLA library.
     #
    +# For data circa 1899, a common source is:
    +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
    +# .
    +#
     # A reliable and entertaining source about time zones is
     # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
     #
    @@ -117,8 +120,12 @@ Zone Africa/Porto-Novo	0:10:28	-	LMT	1912
     			1:00	-	WAT
     
     # Botswana
    +# From Paul Eggert (2013-02-21):
    +# Milne says they were regulated by the Cape Town Signal in 1899;
    +# assume they switched to 2:00 when Cape Town did.
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Africa/Gaborone	1:43:40 -	LMT	1885
    +			1:30	-	SAST	1903 Mar
     			2:00	-	CAT	1943 Sep 19 2:00
     			2:00	1:00	CAST	1944 Mar 19 2:00
     			2:00	-	CAT
    @@ -190,6 +197,11 @@ Zone	Africa/Djibouti	2:52:36 -	LMT	1911 Jul
     
     # Egypt
     
    +# Milne says Cairo used 2:05:08.9, the local mean time of the Abbasizeh
    +# observatory; round to nearest.  Milne also says that the official time for
    +# Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this
    +# did not apply to Cairo, Alexandria, or Port Said.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Egypt	1940	only	-	Jul	15	0:00	1:00	S
     Rule	Egypt	1940	only	-	Oct	 1	0:00	0	-
    @@ -238,7 +250,7 @@ Rule	Egypt	2006	only	-	Sep	21	23:00s	0	-
     # I received a mail from an airline which says that the daylight
     # saving time in Egypt will end in the night of 2007-09-06 to 2007-09-07.
     # From Jesper Norgaard Welen (2007-08-15): [The following agree:]
    -# http://www.nentjes.info/Bill/bill5.htm 
    +# http://www.nentjes.info/Bill/bill5.htm
     # http://www.timeanddate.com/worldclock/city.html?n=53
     # From Steffen Thorsen (2007-09-04): The official information...:
     # http://www.sis.gov.eg/En/EgyptOnline/Miscellaneous/000002/0207000000000000001580.htm
    @@ -292,18 +304,18 @@ Rule	Egypt	2007	only	-	Sep	Thu>=1	23:00s	0	-
     # in September.
     
     # From Steffen Thorsen (2009-08-11):
    -# We have been able to confirm the August change with the Egyptian Cabinet 
    +# We have been able to confirm the August change with the Egyptian Cabinet
     # Information and Decision Support Center:
     # 
     # http://www.timeanddate.com/news/time/egypt-dst-ends-2009.html
     # 
    -# 
    +#
     # The Middle East News Agency
     # 
     # http://www.mena.org.eg/index.aspx
     # 
     # also reports "Egypt starts winter time on August 21"
    -# today in article numbered "71, 11/08/2009 12:25 GMT." 
    +# today in article numbered "71, 11/08/2009 12:25 GMT."
     # Only the title above is available without a subscription to their service,
     # and can be found by searching for "winter" in their search engine
     # (at least today).
    @@ -330,7 +342,7 @@ Rule	Egypt	2010	only	-	Sep	10	0:00	1:00	S
     Rule	Egypt	2010	only	-	Sep	lastThu	23:00s	0	-
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Africa/Cairo	2:05:00 -	LMT	1900 Oct
    +Zone	Africa/Cairo	2:05:09 -	LMT	1900 Oct
     			2:00	Egypt	EE%sT
     
     # Equatorial Guinea
    @@ -425,6 +437,20 @@ Zone	Africa/Monrovia	-0:43:08 -	LMT	1882
     
     # Libya
     
    +# From Even Scharning (2012-11-10):
    +# Libya set their time one hour back at 02:00 on Saturday November 10.
    +# http://www.libyaherald.com/2012/11/04/clocks-to-go-back-an-hour-on-saturday/
    +# Here is an official source [in Arabic]: http://ls.ly/fb6Yc
    +#
    +# Steffen Thorsen forwarded a translation (2012-11-10) in
    +# http://mm.icann.org/pipermail/tz/2012-November/018451.html
    +#
    +# From Tim Parenti (2012-11-11):
    +# Treat the 2012-11-10 change as a zone change from UTC+2 to UTC+1.
    +# The DST rules planned for 2013 and onward roughly mirror those of Europe
    +# (either two days before them or five days after them, so as to fall on
    +# lastFri instead of lastSun).
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Libya	1951	only	-	Oct	14	2:00	1:00	S
     Rule	Libya	1952	only	-	Jan	 1	0:00	0	-
    @@ -439,17 +465,21 @@ Rule	Libya	1986	only	-	Apr	 4	0:00	1:00	S
     Rule	Libya	1986	only	-	Oct	 3	0:00	0	-
     Rule	Libya	1987	1989	-	Apr	 1	0:00	1:00	S
     Rule	Libya	1987	1989	-	Oct	 1	0:00	0	-
    +Rule	Libya	1997	only	-	Apr	 4	0:00	1:00	S
    +Rule	Libya	1997	only	-	Oct	 4	0:00	0	-
    +Rule	Libya	2013	max	-	Mar	lastFri	1:00	1:00	S
    +Rule	Libya	2013	max	-	Oct	lastFri	2:00	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Africa/Tripoli	0:52:44 -	LMT	1920
     			1:00	Libya	CE%sT	1959
     			2:00	-	EET	1982
     			1:00	Libya	CE%sT	1990 May  4
    -# The following entries are from Shanks & Pottenger;
    +# The 1996 and 1997 entries are from Shanks & Pottenger;
     # the IATA SSIM data contain some obvious errors.
     			2:00	-	EET	1996 Sep 30
    -			1:00	-	CET	1997 Apr  4
    -			1:00	1:00	CEST	1997 Oct  4
    -			2:00	-	EET
    +			1:00	Libya	CE%sT	1997 Oct  4
    +			2:00	-	EET	2012 Nov 10 2:00
    +			1:00	Libya	CE%sT
     
     # Madagascar
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    @@ -482,7 +512,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	1912
     # From Steffen Thorsen (2008-06-25):
     # Mauritius plans to observe DST from 2008-11-01 to 2009-03-31 on a trial
     # basis....
    -# It seems that Mauritius observed daylight saving time from 1982-10-10 to 
    +# It seems that Mauritius observed daylight saving time from 1982-10-10 to
     # 1983-03-20 as well, but that was not successful....
     # http://www.timeanddate.com/news/time/mauritius-daylight-saving-time.html
     
    @@ -506,12 +536,12 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	1912
     # than previously announced (2008-11-01 to 2009-03-31).  The new start
     # date is 2008-10-26 at 02:00 and the new end date is 2009-03-27 (no time
     # given, but it is probably at either 2 or 3 wall clock time).
    -# 
    -# A little strange though, since the article says that they moved the date 
    -# to align itself with Europe and USA which also change time on that date, 
    -# but that means they have not paid attention to what happened in 
    -# USA/Canada last year (DST ends first Sunday in November). I also wonder 
    -# why that they end on a Friday, instead of aligning with Europe which 
    +#
    +# A little strange though, since the article says that they moved the date
    +# to align itself with Europe and USA which also change time on that date,
    +# but that means they have not paid attention to what happened in
    +# USA/Canada last year (DST ends first Sunday in November). I also wonder
    +# why that they end on a Friday, instead of aligning with Europe which
     # changes two days later.
     
     # From Alex Krivenyshev (2008-07-11):
    @@ -570,7 +600,7 @@ Zone Africa/Nouakchott	-1:03:48 -	LMT	1912
     # 
     
     # From Arthur David Olson (2009-07-11):
    -# The "mauritius-dst-will-not-repeat" wrapup includes this: 
    +# The "mauritius-dst-will-not-repeat" wrapup includes this:
     # "The trial ended on March 29, 2009, when the clocks moved back by one hour
     # at 2am (or 02:00) local time..."
     
    @@ -664,8 +694,8 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 Jul	# Mamoutzou
     # XXX--guess that it is only Morocco for now; guess only 2008 for now.
     
     # From Steffen Thorsen (2008-08-27):
    -# Morocco will change the clocks back on the midnight between August 31 
    -# and September 1. They originally planned to observe DST to near the end 
    +# Morocco will change the clocks back on the midnight between August 31
    +# and September 1. They originally planned to observe DST to near the end
     # of September:
     #
     # One article about it (in French):
    @@ -768,6 +798,95 @@ Zone	Indian/Mayotte	3:00:56 -	LMT	1911 Jul	# Mamoutzou
     # wall clock time (i.e. 11pm UTC), but that's what I would assume. It has
     # also been like that in the past.
     
    +# From Alexander Krivenyshev (2012-03-09):
    +# According to Infomédiaire web site from Morocco (infomediaire.ma),
    +# on March 9, 2012, (in French) Heure légale:
    +# Le Maroc adopte officiellement l'heure d'été
    +# 
    +# http://www.infomediaire.ma/news/maroc/heure-l%C3%A9gale-le-maroc-adopte-officiellement-lheure-d%C3%A9t%C3%A9
    +# 
    +# Governing Council adopted draft decree, that Morocco DST starts on
    +# the last Sunday of March (March 25, 2012) and ends on
    +# last Sunday of September (September 30, 2012)
    +# except the month of Ramadan.
    +# or (brief)
    +# 
    +# http://www.worldtimezone.com/dst_news/dst_news_morocco06.html
    +# 
    +
    +# From Arthur David Olson (2012-03-10):
    +# The infomediaire.ma source indicates that the system is to be in
    +# effect every year. It gives 03H00 as the "fall back" time of day;
    +# it lacks a "spring forward" time of day; assume 2:00 XXX.
    +# Wait on specifying the Ramadan exception for details about
    +# start date, start time of day, end date, and end time of day XXX.
    +
    +# From Christophe Tropamer (2012-03-16):
    +# Seen Morocco change again:
    +# 
    +# http://www.le2uminutes.com/actualite.php
    +# 
    +# "...à partir du dernier dimance d'avril et non fins mars,
    +# comme annoncé précédemment."
    +
    +# From Milamber Space Network (2012-07-17):
    +# The official return to GMT is announced by the Moroccan government:
    +# 
    +# http://www.mmsp.gov.ma/fr/actualites.aspx?id=288 [in French]
    +# 
    +#
    +# Google translation, lightly edited:
    +# Back to the standard time of the Kingdom (GMT)
    +# Pursuant to Decree No. 2-12-126 issued on 26 Jumada (I) 1433 (April 18,
    +# 2012) and in accordance with the order of Mr. President of the
    +# Government No. 3-47-12 issued on 24 Sha'ban (11 July 2012), the Ministry
    +# of Public Service and Administration Modernization announces the return
    +# of the legal time of the Kingdom (GMT) from Friday, July 20, 2012 until
    +# Monday, August 20, 2012.  So the time will be delayed by 60 minutes from
    +# 3:00 am Friday, July 20, 2012 and will again be advanced by 60 minutes
    +# August 20, 2012 from 2:00 am.
    +
    +# From Paul Eggert (2013-03-06):
    +# Morocco's daylight-saving transitions due to Ramadan seem to be
    +# announced a bit in advance.  On 2012-07-11 the Moroccan government
    +# announced that year's Ramadan daylight-saving transitions would be
    +# 2012-07-20 and 2012-08-20; see
    +# .
    +
    +# From Andrew Paprocki (2013-07-02):
    +# Morocco announced that the year's Ramadan daylight-savings
    +# transitions would be 2013-07-07 and 2013-08-10; see:
    +# http://www.maroc.ma/en/news/morocco-suspends-daylight-saving-time-july-7-aug10
    +
    +# From Paul Eggert (2013-07-03):
    +# To estimate what the Moroccan government will do in future years,
    +# transition dates for 2014 through 2021 were determined by running
    +# the following program under GNU Emacs 24.3:
    +#
    +# (let ((islamic-year 1435))
    +#   (while (< islamic-year 1444)
    +#     (let ((a
    +#	     (calendar-gregorian-from-absolute
    +#	      (calendar-islamic-to-absolute (list 9 1 islamic-year))))
    +#	    (b
    +#	     (calendar-gregorian-from-absolute
    +#	      (calendar-islamic-to-absolute (list 10 1 islamic-year)))))
    +#	(insert
    +#	 (format
    +#	  (concat "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 3:00\t0\t-\n"
    +#		  "Rule\tMorocco\t%d\tonly\t-\t%s\t %2d\t 2:00\t1:00\tS\n")
    +#	  (car (cdr (cdr a))) (calendar-month-name (car a) t) (car (cdr a))
    +#	  (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
    +#     (setq islamic-year (+ 1 islamic-year))))
    +#
    +# with the results hand-edited for 2020-2022, when the normal spring-forward
    +# date falls during the estimated Ramadan.
    +#
    +# From 2023 through 2038 Ramadan is not predicted to overlap with
    +# daylight saving time.  Starting in 2039 there will be overlap again,
    +# but 32-bit time_t values roll around in 2038 so for now do not worry
    +# about dates after 2038.
    +
     # RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     
     Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	S
    @@ -793,6 +912,29 @@ Rule	Morocco	2010	only	-	May	 2	 0:00	1:00	S
     Rule	Morocco	2010	only	-	Aug	 8	 0:00	0	-
     Rule	Morocco	2011	only	-	Apr	 3	 0:00	1:00	S
     Rule	Morocco	2011	only	-	Jul	 31	 0	0	-
    +Rule	Morocco	2012	2019	-	Apr	 lastSun 2:00	1:00	S
    +Rule	Morocco	2012	max	-	Sep	 lastSun 3:00	0	-
    +Rule	Morocco	2012	only	-	Jul	 20	 3:00	0	-
    +Rule	Morocco	2012	only	-	Aug	 20	 2:00	1:00	S
    +Rule	Morocco	2013	only	-	Jul	  7	 3:00	0	-
    +Rule	Morocco	2013	only	-	Aug	 10	 2:00	1:00	S
    +Rule	Morocco	2014	only	-	Jun	 29	 3:00	0	-
    +Rule	Morocco	2014	only	-	Jul	 29	 2:00	1:00	S
    +Rule	Morocco	2015	only	-	Jun	 18	 3:00	0	-
    +Rule	Morocco	2015	only	-	Jul	 18	 2:00	1:00	S
    +Rule	Morocco	2016	only	-	Jun	  7	 3:00	0	-
    +Rule	Morocco	2016	only	-	Jul	  7	 2:00	1:00	S
    +Rule	Morocco	2017	only	-	May	 27	 3:00	0	-
    +Rule	Morocco	2017	only	-	Jun	 26	 2:00	1:00	S
    +Rule	Morocco	2018	only	-	May	 16	 3:00	0	-
    +Rule	Morocco	2018	only	-	Jun	 15	 2:00	1:00	S
    +Rule	Morocco	2019	only	-	May	  6	 3:00	0	-
    +Rule	Morocco	2019	only	-	Jun	  5	 2:00	1:00	S
    +Rule	Morocco	2020	only	-	May	 24	 2:00	1:00	S
    +Rule	Morocco	2021	only	-	May	 13	 2:00	1:00	S
    +Rule	Morocco	2022	only	-	May	  3	 2:00	1:00	S
    +Rule	Morocco	2023	max	-	Apr	 lastSun 2:00	1:00	S
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
     			 0:00	Morocco	WE%sT	1984 Mar 16
    @@ -820,7 +962,7 @@ Zone	Africa/Maputo	2:10:20 -	LMT	1903 Mar
     # Forecasting Riaan van Zyl explained that the far eastern parts of
     # the country are close to 40 minutes earlier in sunrise than the rest
     # of the country.
    -# 
    +#
     # From Paul Eggert (2007-03-31):
     # Apparently the Caprivi Strip informally observes Botswana time, but
     # we have no details.  In the meantime people there can use Africa/Gaborone.
    diff --git a/share/zoneinfo/antarctica b/share/zoneinfo/antarctica
    index d19fbde0f..9bf2494ad 100644
    --- a/share/zoneinfo/antarctica
    +++ b/share/zoneinfo/antarctica
    @@ -1,5 +1,4 @@
     # 
    -# @(#)antarctica	8.9
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    @@ -42,36 +41,17 @@ Rule	ChileAQ	1997	only	-	Mar	30	3:00u	0	-
     Rule	ChileAQ	1998	only	-	Mar	Sun>=9	3:00u	0	-
     Rule	ChileAQ	1998	only	-	Sep	27	4:00u	1:00	S
     Rule	ChileAQ	1999	only	-	Apr	 4	3:00u	0	-
    -Rule	ChileAQ	1999	max	-	Oct	Sun>=9	4:00u	1:00	S
    -Rule	ChileAQ	2000	max	-	Mar	Sun>=9	3:00u	0	-
    -
    -# These rules are stolen from the `australasia' file.
    -Rule	AusAQ	1917	only	-	Jan	 1	0:01	1:00	-
    -Rule	AusAQ	1917	only	-	Mar	25	2:00	0	-
    -Rule	AusAQ	1942	only	-	Jan	 1	2:00	1:00	-
    -Rule	AusAQ	1942	only	-	Mar	29	2:00	0	-
    -Rule	AusAQ	1942	only	-	Sep	27	2:00	1:00	-
    -Rule	AusAQ	1943	1944	-	Mar	lastSun	2:00	0	-
    -Rule	AusAQ	1943	only	-	Oct	 3	2:00	1:00	-
    -Rule	ATAQ	1967	only	-	Oct	Sun>=1	2:00s	1:00	-
    -Rule	ATAQ	1968	only	-	Mar	lastSun	2:00s	0	-
    -Rule	ATAQ	1968	1985	-	Oct	lastSun	2:00s	1:00	-
    -Rule	ATAQ	1969	1971	-	Mar	Sun>=8	2:00s	0	-
    -Rule	ATAQ	1972	only	-	Feb	lastSun	2:00s	0	-
    -Rule	ATAQ	1973	1981	-	Mar	Sun>=1	2:00s	0	-
    -Rule	ATAQ	1982	1983	-	Mar	lastSun	2:00s	0	-
    -Rule	ATAQ	1984	1986	-	Mar	Sun>=1	2:00s	0	-
    -Rule	ATAQ	1986	only	-	Oct	Sun>=15	2:00s	1:00	-
    -Rule	ATAQ	1987	1990	-	Mar	Sun>=15	2:00s	0	-
    -Rule	ATAQ	1987	only	-	Oct	Sun>=22	2:00s	1:00	-
    -Rule	ATAQ	1988	1990	-	Oct	lastSun	2:00s	1:00	-
    -Rule	ATAQ	1991	1999	-	Oct	Sun>=1	2:00s	1:00	-
    -Rule	ATAQ	1991	2005	-	Mar	lastSun	2:00s	0	-
    -Rule	ATAQ	2000	only	-	Aug	lastSun	2:00s	1:00	-
    -Rule	ATAQ	2001	max	-	Oct	Sun>=1	2:00s	1:00	-
    -Rule	ATAQ	2006	only	-	Apr	Sun>=1	2:00s	0	-
    -Rule	ATAQ	2007	only	-	Mar	lastSun	2:00s	0	-
    -Rule	ATAQ	2008	max	-	Apr	Sun>=1	2:00s	0	-
    +Rule	ChileAQ	1999	2010	-	Oct	Sun>=9	4:00u	1:00	S
    +Rule	ChileAQ	2000	2007	-	Mar	Sun>=9	3:00u	0	-
    +# N.B.: the end of March 29 in Chile is March 30 in Universal time,
    +# which is used below in specifying the transition.
    +Rule	ChileAQ	2008	only	-	Mar	30	3:00u	0	-
    +Rule	ChileAQ	2009	only	-	Mar	Sun>=9	3:00u	0	-
    +Rule	ChileAQ	2010	only	-	Apr	Sun>=1	3:00u	0	-
    +Rule	ChileAQ	2011	only	-	May	Sun>=2	3:00u	0	-
    +Rule	ChileAQ	2011	only	-	Aug	Sun>=16	4:00u	1:00	S
    +Rule	ChileAQ	2012	max	-	Apr	Sun>=23	3:00u	0	-
    +Rule	ChileAQ	2012	max	-	Sep	Sun>=2	4:00u	1:00	S
     
     # Argentina - year-round bases
     # Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
    @@ -114,10 +94,7 @@ Rule	ATAQ	2008	max	-	Apr	Sun>=1	2:00s	0	-
     # 
     
     # From Steffen Thorsen (2010-03-10):
    -# We got these changes from the Australian Antarctic Division:
    -# - Macquarie Island will stay on UTC+11 for winter and therefore not
    -# switch back from daylight savings time when other parts of Australia do
    -# on 4 April.
    +# We got these changes from the Australian Antarctic Division: ...
     #
     # - Casey station reverted to its normal time of UTC+8 on 5 March 2010.
     # The change to UTC+11 is being considered as a regular summer thing but
    @@ -128,9 +105,6 @@ Rule	ATAQ	2008	max	-	Apr	Sun>=1	2:00s	0	-
     #
     # - Mawson station stays on UTC+5.
     #
    -# In addition to the Rule changes for Casey/Davis, it means that Macquarie
    -# will no longer be like Hobart and will have to have its own Zone created.
    -#
     # Background:
     # 
     # http://www.timeanddate.com/news/time/antartica-time-changes-2010.html
    @@ -142,23 +116,21 @@ Zone Antarctica/Casey	0	-	zzz	1969
     						# Western (Aus) Standard Time
     			11:00	-	CAST	2010 Mar 5 2:00
     						# Casey Time
    +			8:00	-	WST	2011 Oct 28 2:00
    +			11:00	-	CAST	2012 Feb 21 17:00u
     			8:00	-	WST
     Zone Antarctica/Davis	0	-	zzz	1957 Jan 13
     			7:00	-	DAVT	1964 Nov # Davis Time
     			0	-	zzz	1969 Feb
     			7:00	-	DAVT	2009 Oct 18 2:00
     			5:00	-	DAVT	2010 Mar 10 20:00u
    +			7:00	-	DAVT	2011 Oct 28 2:00
    +			5:00	-	DAVT	2012 Feb 21 20:00u
     			7:00	-	DAVT
     Zone Antarctica/Mawson	0	-	zzz	1954 Feb 13
     			6:00	-	MAWT	2009 Oct 18 2:00
     						# Mawson Time
     			5:00	-	MAWT
    -Zone Antarctica/Macquarie 0	-	zzz	1911
    -			10:00	-	EST	1916 Oct 1 2:00
    -			10:00	1:00	EST	1917 Feb
    -			10:00	AusAQ	EST	1967
    -			10:00	ATAQ	EST	2010 Apr 4 3:00
    -			11:00	-	MIST	# Macquarie Island Time
     # References:
     # 
     # Casey Weather (1998-02-26)
    diff --git a/share/zoneinfo/asia b/share/zoneinfo/asia
    index 925cc36f0..79cfc4883 100644
    --- a/share/zoneinfo/asia
    +++ b/share/zoneinfo/asia
    @@ -1,12 +1,12 @@
    -# @(#)asia	8.69
    +# 
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
     # This data is by no means authoritative; if you think you know better,
     # go ahead and edit the file (and please send any changes to
    -# tz@elsie.nci.nih.gov for general use in the future).
    +# tz@iana.org for general use in the future).
     
    -# From Paul Eggert (2006-03-22):
    +# From Paul Eggert (2013-02-21):
     #
     # A good source for time zone historical data outside the U.S. is
     # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
    @@ -25,6 +25,10 @@
     # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
     # I found in the UCLA library.
     #
    +# For data circa 1899, a common source is:
    +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
    +# .
    +#
     # A reliable and entertaining source about time zones is
     # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
     #
    @@ -77,10 +81,6 @@ Rule RussiaAsia	1993	max	-	Mar	lastSun	 2:00s	1:00	S
     Rule RussiaAsia	1993	1995	-	Sep	lastSun	 2:00s	0	-
     Rule RussiaAsia	1996	max	-	Oct	lastSun	 2:00s	0	-
     
    -# From Arthur David Olson (2011-06-15):
    -# While Russia abandoned DST in 2011, Armenia may choose to
    -# follow Russia's "old" rules.
    -
     # Afghanistan
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Asia/Kabul	4:36:48 -	LMT	1890
    @@ -97,6 +97,21 @@ Zone	Asia/Kabul	4:36:48 -	LMT	1890
     # in 1996, though it did use DST in 1995.  IATA SSIM (1991/1998) reports that
     # Armenia switched from 3:00 to 4:00 in 1998 and observed DST after 1991,
     # but started switching at 3:00s in 1998.
    +
    +# From Arthur David Olson (2011-06-15):
    +# While Russia abandoned DST in 2011, Armenia may choose to
    +# follow Russia's "old" rules.
    +
    +# From Alexander Krivenyshev (2012-02-10):
    +# According to News Armenia, on Feb 9, 2012,
    +# http://newsarmenia.ru/society/20120209/42609695.html
    +#
    +# The Armenia National Assembly adopted final reading of Amendments to the
    +# Law "On procedure of calculation time on the territory of the Republic of
    +# Armenia" according to which Armenia [is] abolishing Daylight Saving Time.
    +# or
    +# (brief)
    +# http://www.worldtimezone.com/dst_news/dst_news_armenia03.html
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Asia/Yerevan	2:58:00 -	LMT	1924 May  2
     			3:00	-	YERT	1957 Mar    # Yerevan Time
    @@ -104,7 +119,8 @@ Zone	Asia/Yerevan	2:58:00 -	LMT	1924 May  2
     			3:00	1:00	YERST	1991 Sep 23 # independence
     			3:00 RussiaAsia	AM%sT	1995 Sep 24 2:00s
     			4:00	-	AMT	1997
    -			4:00 RussiaAsia	AM%sT
    +			4:00 RussiaAsia	AM%sT	2012 Mar 25 2:00s
    +			4:00	-	AMT
     
     # Azerbaijan
     # From Rustam Aliyev of the Azerbaijan Internet Forum (2005-10-23):
    @@ -169,15 +185,15 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# Al Manamah
     # 
     
     # From A. N. M. Kamrus Saadat (2009-06-15):
    -# Finally we've got the official mail regarding DST start time where DST start 
    -# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh 
    -# Telecommunication Regulatory Commission). 
    +# Finally we've got the official mail regarding DST start time where DST start
    +# time is mentioned as Jun 19 2009, 23:00 from BTRC (Bangladesh
    +# Telecommunication Regulatory Commission).
     #
     # No DST end date has been announced yet.
     
     # From Alexander Krivenyshev (2009-09-25):
    -# Bangladesh won't go back to Standard Time from October 1, 2009, 
    -# instead it will continue DST measure till the cabinet makes a fresh decision. 
    +# Bangladesh won't go back to Standard Time from October 1, 2009,
    +# instead it will continue DST measure till the cabinet makes a fresh decision.
     #
     # Following report by same newspaper-"The Daily Star Friday":
     # "DST change awaits cabinet decision-Clock won't go back by 1-hr from Oct 1"
    @@ -191,8 +207,8 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# Al Manamah
     
     # From Steffen Thorsen (2009-10-13):
     # IANS (Indo-Asian News Service) now reports:
    -# Bangladesh has decided that the clock advanced by an hour to make 
    -# maximum use of daylight hours as an energy saving measure would 
    +# Bangladesh has decided that the clock advanced by an hour to make
    +# maximum use of daylight hours as an energy saving measure would
     # "continue for an indefinite period."
     #
     # One of many places where it is published:
    @@ -220,7 +236,7 @@ Zone	Asia/Bahrain	3:22:20 -	LMT	1920		# Al Manamah
     
     # From Alexander Krivenyshev (2010-03-22):
     # According to Bangladesh newspaper "The Daily Star,"
    -# Cabinet cancels Daylight Saving Time 
    +# Cabinet cancels Daylight Saving Time
     # 
     # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
     # 
    @@ -267,9 +283,12 @@ Zone	Asia/Brunei	7:39:40 -	LMT	1926 Mar   # Bandar Seri Begawan
     			8:00	-	BNT
     
     # Burma / Myanmar
    +
    +# Milne says 6:24:40 was the meridian of the time ball observatory at Rangoon.
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Asia/Rangoon	6:24:40 -	LMT	1880		# or Yangon
    -			6:24:36	-	RMT	1920	   # Rangoon Mean Time?
    +			6:24:40	-	RMT	1920	   # Rangoon Mean Time?
     			6:30	-	BURT	1942 May   # Burma Time
     			9:00	-	JST	1945 May 3
     			6:30	-	MMT		   # Myanmar Time
    @@ -348,11 +367,11 @@ Rule	PRC	1987	1991	-	Apr	Sun>=10	0:00	1:00	D
     # observing daylight saving time in 1986.
     #
     # From Thomas S. Mullaney (2008-02-11):
    -# I think you're combining two subjects that need to treated 
    -# separately: daylight savings (which, you're correct, wasn't 
    -# implemented until the 1980s) and the unified time zone centered near 
    -# Beijing (which was implemented in 1949). Briefly, there was also a 
    -# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was 
    +# I think you're combining two subjects that need to treated
    +# separately: daylight savings (which, you're correct, wasn't
    +# implemented until the 1980s) and the unified time zone centered near
    +# Beijing (which was implemented in 1949). Briefly, there was also a
    +# "Lhasa Time" in Tibet and "Urumqi Time" in Xinjiang. The first was
     # ceased, and the second eventually recognized (again, in the 1980s).
     #
     # From Paul Eggert (2008-06-30):
    @@ -372,7 +391,8 @@ Zone	Asia/Harbin	8:26:44	-	LMT	1928 # or Haerbin
     			8:00	PRC	C%sT
     # Zhongyuan Time ("Central plain Time")
     # most of China
    -Zone	Asia/Shanghai	8:05:52	-	LMT	1928
    +# Milne gives 8:05:56.7; round to nearest.
    +Zone	Asia/Shanghai	8:05:57	-	LMT	1928
     			8:00	Shang	C%sT	1949
     			8:00	PRC	C%sT
     # Long-shu Time (probably due to Long and Shu being two names of that area)
    @@ -469,6 +489,10 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # or Kashi or Kaxgar
     			8:00	PRC	C%sT
     
     
    +# Hong Kong (Xianggang)
    +
    +# Milne gives 7:36:41.7; round this.
    +
     # From Lee Yiu Chung (2009-10-24):
     # I found there are some mistakes for the...DST rule for Hong
     # Kong. [According] to the DST record from Hong Kong Observatory (actually,
    @@ -489,7 +513,7 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # or Kashi or Kaxgar
     # as of 2009-10-28:
     # Year        Period
     # 1941        1 Apr to 30 Sep
    -# 1942        Whole year 
    +# 1942        Whole year
     # 1943        Whole year
     # 1944        Whole year
     # 1945        Whole year
    @@ -535,7 +559,6 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928 # or Kashi or Kaxgar
     # The Japanese surrender of Hong Kong was signed 1945-09-15.
     # For lack of anything better, use start of those days as the transition times.
     
    -# Hong Kong (Xianggang)
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	HK	1941	only	-	Apr	1	3:30	1:00	S
     Rule	HK	1941	only	-	Sep	30	3:30	0	-
    @@ -557,7 +580,7 @@ Rule	HK	1973	only	-	Dec	30	3:30	1:00	S
     Rule	HK	1979	only	-	May	Sun>=8	3:30	1:00	S
     Rule	HK	1979	only	-	Oct	Sun>=16	3:30	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Asia/Hong_Kong	7:36:36 -	LMT	1904 Oct 30
    +Zone	Asia/Hong_Kong	7:36:42 -	LMT	1904 Oct 30
     			8:00	HK	HK%sT	1941 Dec 25
     			9:00	-	JST	1945 Sep 15
     			8:00	HK	HK%sT
    @@ -580,16 +603,16 @@ Zone	Asia/Hong_Kong	7:36:36 -	LMT	1904 Oct 30
     # From Arthur David Olson (2010-04-07):
     # Here's Google's translation of the table at the bottom of the "summert.htm" page:
     # Decade 	                                                    Name                      Start and end date
    -# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30 
    -# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31 
    -# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31 
    -# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30 
    -# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30 
    -# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30 
    -# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time 
    -# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30 
    -# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time 
    -# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30 
    +# Republic of China 34 years to 40 years (AD 1945-1951 years) Summer Time               May 1 to September 30
    +# 41 years of the Republic of China (AD 1952)                 Daylight Saving Time      March 1 to October 31
    +# Republic of China 42 years to 43 years (AD 1953-1954 years) Daylight Saving Time      April 1 to October 31
    +# In the 44 years to 45 years (AD 1955-1956 years)            Daylight Saving Time      April 1 to September 30
    +# Republic of China 46 years to 48 years (AD 1957-1959)       Summer Time               April 1 to September 30
    +# Republic of China 49 years to 50 years (AD 1960-1961)       Summer Time               June 1 to September 30
    +# Republic of China 51 years to 62 years (AD 1962-1973 years) Stop Summer Time
    +# Republic of China 63 years to 64 years (1974-1975 AD)       Daylight Saving Time      April 1 to September 30
    +# Republic of China 65 years to 67 years (1976-1978 AD)       Stop Daylight Saving Time
    +# Republic of China 68 years (AD 1979)                        Daylight Saving Time      July 1 to September 30
     # Republic of China since 69 years (AD 1980)                  Stop Daylight Saving Time
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
    @@ -634,6 +657,9 @@ Zone	Asia/Macau	7:34:20 -	LMT	1912
     ###############################################################################
     
     # Cyprus
    +#
    +# Milne says the Eastern Telegraph Company used 2:14:00.  Stick with LMT.
    +#
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Cyprus	1975	only	-	Apr	13	0:00	1:00	S
     Rule	Cyprus	1975	only	-	Oct	12	0:00	0	-
    @@ -1158,15 +1184,15 @@ Rule	Zion	2004	only	-	Sep	22	1:00	0	S
     #
     #	ftp://ftp.cs.huji.ac.il/pub/tz/announcements/2005+beyond.ps
     
    -# From Paul Eggert (2005-02-22):
    +# From Paul Eggert (2012-10-26):
     # I used Ephraim Silverberg's dst-israel.el program
     #  (2005-02-20)
     # along with Ed Reingold's cal-hebrew in GNU Emacs 21.4,
    -# to generate the transitions in this list.
    +# to generate the transitions from 2005 through 2012.
     # (I replaced "lastFri" with "Fri>=26" by hand.)
    -# The spring transitions below all correspond to the following Rule:
    +# The spring transitions all correspond to the following Rule:
     #
    -# Rule	Zion	2005	max	-	Mar	Fri>=26	2:00	1:00	D
    +# Rule	Zion	2005	2012	-	Mar	Fri>=26	2:00	1:00	D
     #
     # but older zic implementations (e.g., Solaris 8) do not support
     # "Fri>=26" to mean April 1 in years like 2005, so for now we list the
    @@ -1183,42 +1209,24 @@ Rule	Zion	2009	only	-	Sep	27	2:00	0	S
     Rule	Zion	2010	only	-	Sep	12	2:00	0	S
     Rule	Zion	2011	only	-	Apr	 1	2:00	1:00	D
     Rule	Zion	2011	only	-	Oct	 2	2:00	0	S
    -Rule	Zion	2012	2015	-	Mar	Fri>=26	2:00	1:00	D
    +Rule	Zion	2012	only	-	Mar	Fri>=26	2:00	1:00	D
     Rule	Zion	2012	only	-	Sep	23	2:00	0	S
    -Rule	Zion	2013	only	-	Sep	 8	2:00	0	S
    -Rule	Zion	2014	only	-	Sep	28	2:00	0	S
    -Rule	Zion	2015	only	-	Sep	20	2:00	0	S
    -Rule	Zion	2016	only	-	Apr	 1	2:00	1:00	D
    -Rule	Zion	2016	only	-	Oct	 9	2:00	0	S
    -Rule	Zion	2017	2021	-	Mar	Fri>=26	2:00	1:00	D
    -Rule	Zion	2017	only	-	Sep	24	2:00	0	S
    -Rule	Zion	2018	only	-	Sep	16	2:00	0	S
    -Rule	Zion	2019	only	-	Oct	 6	2:00	0	S
    -Rule	Zion	2020	only	-	Sep	27	2:00	0	S
    -Rule	Zion	2021	only	-	Sep	12	2:00	0	S
    -Rule	Zion	2022	only	-	Apr	 1	2:00	1:00	D
    -Rule	Zion	2022	only	-	Oct	 2	2:00	0	S
    -Rule	Zion	2023	2032	-	Mar	Fri>=26	2:00	1:00	D
    -Rule	Zion	2023	only	-	Sep	24	2:00	0	S
    -Rule	Zion	2024	only	-	Oct	 6	2:00	0	S
    -Rule	Zion	2025	only	-	Sep	28	2:00	0	S
    -Rule	Zion	2026	only	-	Sep	20	2:00	0	S
    -Rule	Zion	2027	only	-	Oct	10	2:00	0	S
    -Rule	Zion	2028	only	-	Sep	24	2:00	0	S
    -Rule	Zion	2029	only	-	Sep	16	2:00	0	S
    -Rule	Zion	2030	only	-	Oct	 6	2:00	0	S
    -Rule	Zion	2031	only	-	Sep	21	2:00	0	S
    -Rule	Zion	2032	only	-	Sep	12	2:00	0	S
    -Rule	Zion	2033	only	-	Apr	 1	2:00	1:00	D
    -Rule	Zion	2033	only	-	Oct	 2	2:00	0	S
    -Rule	Zion	2034	2037	-	Mar	Fri>=26	2:00	1:00	D
    -Rule	Zion	2034	only	-	Sep	17	2:00	0	S
    -Rule	Zion	2035	only	-	Oct	 7	2:00	0	S
    -Rule	Zion	2036	only	-	Sep	28	2:00	0	S
    -Rule	Zion	2037	only	-	Sep	13	2:00	0	S
    +
    +# From Ephraim Silverberg (2013-06-27):
    +# On June 23, 2013, the Israeli government approved changes to the
    +# Time Decree Law.  The next day, the changes passed the First Reading
    +# in the Knesset.  The law is expected to pass the Second and Third
    +# (final) Readings by the beginning of September 2013.
    +#
    +# As of 2013, DST starts at 02:00 on the Friday before the last Sunday
    +# in March.  DST ends at 02:00 on the last Sunday of October.
    +
    +# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
    +Rule	Zion	2013	max	-	Mar	Fri>=23	2:00	1:00	D
    +Rule	Zion	2013	max	-	Oct	lastSun	2:00	0	S
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Asia/Jerusalem	2:20:56 -	LMT	1880
    +Zone	Asia/Jerusalem	2:20:54 -	LMT	1880
     			2:20:40	-	JMT	1918	# Jerusalem Mean Time?
     			2:00	Zion	I%sT
     
    @@ -1350,6 +1358,16 @@ Zone	Asia/Tokyo	9:18:59	-	LMT	1887 Dec 31 15:00u
     # From Arthur David Olson (2009-04-06):
     # We still have Jordan switching to DST on Thursdays in 2000 and 2001.
     
    +# From Steffen Thorsen (2012-10-25):
    +# Yesterday the government in Jordan announced that they will not
    +# switch back to standard time this winter, so the will stay on DST
    +# until about the same time next year (at least).
    +# http://www.petra.gov.jo/Public_News/Nws_NewsDetails.aspx?NewsID=88950
    +#
    +# From Paul Eggert (2012-10-25):
    +# For now, assume this is just a one-year measure.  If it becomes
    +# permanent, we should move Jordan from EET to AST effective tomorrow.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Jordan	1973	only	-	Jun	6	0:00	1:00	S
     Rule	Jordan	1973	1975	-	Oct	1	0:00	0	-
    @@ -1378,7 +1396,8 @@ Rule	Jordan	2002	max	-	Mar	lastThu	24:00	1:00	S
     Rule	Jordan	2003	only	-	Oct	24	0:00s	0	-
     Rule	Jordan	2004	only	-	Oct	15	0:00s	0	-
     Rule	Jordan	2005	only	-	Sep	lastFri	0:00s	0	-
    -Rule	Jordan	2006	max	-	Oct	lastFri	0:00s	0	-
    +Rule	Jordan	2006	2011	-	Oct	lastFri	0:00s	0	-
    +Rule	Jordan	2013	max	-	Oct	lastFri	0:00s	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Asia/Amman	2:23:44 -	LMT	1931
     			2:00	Jordan	EE%sT
    @@ -1781,8 +1800,11 @@ Zone	Asia/Kathmandu	5:41:16 -	LMT	1920
     			5:45	-	NPT	# Nepal Time
     
     # Oman
    +
    +# Milne says 3:54:24 was the meridian of the Muscat Tidal Observatory.
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Asia/Muscat	3:54:20 -	LMT	1920
    +Zone	Asia/Muscat	3:54:24 -	LMT	1920
     			4:00	-	GST
     
     # Pakistan
    @@ -1823,15 +1845,15 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
     # shown 8 per cent higher consumption of electricity.
     
     # From Alex Krivenyshev (2008-05-15):
    -# 
    -# Here is an article that Pakistan plan to introduce Daylight Saving Time 
    +#
    +# Here is an article that Pakistan plan to introduce Daylight Saving Time
     # on June 1, 2008 for 3 months.
    -# 
    -# "... The federal cabinet on Wednesday announced a new conservation plan to help 
    -# reduce load shedding by approving the closure of commercial centres at 9pm and 
    -# moving clocks forward by one hour for the next three months. 
    +#
    +# "... The federal cabinet on Wednesday announced a new conservation plan to help
    +# reduce load shedding by approving the closure of commercial centres at 9pm and
    +# moving clocks forward by one hour for the next three months.
     # ...."
    -# 
    +#
     # 
     # http://www.worldtimezone.net/dst_news/dst_news_pakistan01.html
     # 
    @@ -1891,7 +1913,7 @@ Zone	Asia/Muscat	3:54:20 -	LMT	1920
     # Government has decided to restore the previous time by moving the
     # clocks backward by one hour from October 1. A formal announcement to
     # this effect will be made after the Prime Minister grants approval in
    -# this regard." 
    +# this regard."
     # 
     # http://www.thenews.com.pk/updates.asp?id=87168
     # 
    @@ -2029,8 +2051,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
     # occurred before our cutoff date of 1970.
     # However, as we get more information, we may need to add entries
     # for parts of the West Bank as they transitioned from Israel's rules
    -# to Palestine's rules.  If you have more info about this, please
    -# send it to tz@elsie.nci.nih.gov for incorporation into future editions.
    +# to Palestine's rules.
     
     # From IINS News Service - Israel - 1998-03-23 10:38:07 Israel time,
     # forwarded by Ephraim Silverberg:
    @@ -2187,7 +2208,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
     # 
     # http://www.maannews.net/eng/ViewDetails.aspx?ID=306795
     # 
    -# the clocks were set back one hour at 2010-08-11 00:00:00 local time in 
    +# the clocks were set back one hour at 2010-08-11 00:00:00 local time in
     # Gaza and the West Bank.
     # Some more background info:
     # 
    @@ -2226,7 +2247,7 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
     # The rules for Egypt are stolen from the `africa' file.
     
     # From Steffen Thorsen (2011-09-30):
    -# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30 
    +# West Bank did end Daylight Saving Time this morning/midnight (2011-09-30
     # 00:00).
     # So West Bank and Gaza now have the same time again.
     #
    @@ -2235,6 +2256,38 @@ Zone	Asia/Karachi	4:28:12 -	LMT	1907
     # http://www.maannews.net/eng/ViewDetails.aspx?ID=424808
     # 
     
    +# From Steffen Thorsen (2012-03-26):
    +# Palestinian news sources tell that both Gaza and West Bank will start DST
    +# on Friday (Thursday midnight, 2012-03-29 24:00).
    +# Some of many sources in Arabic:
    +# 
    +# http://www.samanews.com/index.php?act=Show&id=122638
    +# 
    +#
    +# 
    +# http://safa.ps/details/news/74352/%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-%D8%A8%D8%A7%D9%84%D8%B6%D9%81%D8%A9-%D9%88%D8%BA%D8%B2%D8%A9-%D9%84%D9%8A%D9%84%D8%A9-%D8%A7%D9%84%D8%AC%D9%85%D8%B9%D8%A9.html
    +# 
    +#
    +# Our brief summary:
    +# 
    +# http://www.timeanddate.com/news/time/gaza-west-bank-dst-2012.html
    +# 
    +
    +# From Steffen Thorsen (2013-03-26):
    +# The following news sources tells that Palestine will "start daylight saving
    +# time from midnight on Friday, March 29, 2013" (translated).
    +# [These are in Arabic and are for Gaza and for Ramallah, respectively.]
    +# http://www.samanews.com/index.php?act=Show&id=154120
    +# http://safa.ps/details/news/99844/%D8%B1%D8%A7%D9%85-%D8%A7%D9%84%D9%84%D9%87-%D8%A8%D8%AF%D8%A1-%D8%A7%D9%84%D8%AA%D9%88%D9%82%D9%8A%D8%AA-%D8%A7%D9%84%D8%B5%D9%8A%D9%81%D9%8A-29-%D8%A7%D9%84%D8%AC%D8%A7%D8%B1%D9%8A.html
    +
    +# From Paul Eggert (2013-04-15):
    +# For future dates, guess the last Thursday in March at 24:00 through
    +# the first Friday on or after September 21 at 01:00.  This is consistent with
    +# the predictions in today's editions of the following URLs,
    +# which are for Gaza and Hebron respectively:
    +# http://www.timeanddate.com/worldclock/timezone.html?n=702
    +# http://www.timeanddate.com/worldclock/timezone.html?n=2364
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
     Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
    @@ -2247,17 +2300,20 @@ Rule Palestine	1999	2005	-	Apr	Fri>=15	0:00	1:00	S
     Rule Palestine	1999	2003	-	Oct	Fri>=15	0:00	0	-
     Rule Palestine	2004	only	-	Oct	 1	1:00	0	-
     Rule Palestine	2005	only	-	Oct	 4	2:00	0	-
    -Rule Palestine	2006	2008	-	Apr	 1	0:00	1:00	S
    +Rule Palestine	2006	2007	-	Apr	 1	0:00	1:00	S
     Rule Palestine	2006	only	-	Sep	22	0:00	0	-
     Rule Palestine	2007	only	-	Sep	Thu>=8	2:00	0	-
    -Rule Palestine	2008	only	-	Aug	lastFri	0:00	0	-
    -Rule Palestine	2009	only	-	Mar	lastFri	0:00	1:00	S
    -Rule Palestine	2009	only	-	Sep	Fri>=1	2:00	0	-
    -Rule Palestine	2010	only	-	Mar	lastSat	0:01	1:00	S
    +Rule Palestine	2008	2009	-	Mar	lastFri	0:00	1:00	S
    +Rule Palestine	2008	only	-	Sep	 1	0:00	0	-
    +Rule Palestine	2009	only	-	Sep	Fri>=1	1:00	0	-
    +Rule Palestine	2010	only	-	Mar	26	0:00	1:00	S
     Rule Palestine	2010	only	-	Aug	11	0:00	0	-
    -
    -# From Arthur David Olson (2011-09-20):
    -# 2011 transitions per http://www.timeanddate.com as of 2011-09-20.
    +Rule Palestine	2011	only	-	Apr	 1	0:01	1:00	S
    +Rule Palestine	2011	only	-	Aug	 1	0:00	0	-
    +Rule Palestine	2011	only	-	Aug	30	0:00	1:00	S
    +Rule Palestine	2011	only	-	Sep	30	0:00	0	-
    +Rule Palestine	2012	max	-	Mar	lastThu	24:00	1:00	S
    +Rule Palestine	2012	max	-	Sep	Fri>=21	1:00	0	-
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
    @@ -2265,22 +2321,20 @@ Zone	Asia/Gaza	2:17:52	-	LMT	1900 Oct
     			2:00 EgyptAsia	EE%sT	1967 Jun  5
     			2:00	Zion	I%sT	1996
     			2:00	Jordan	EE%sT	1999
    -			2:00 Palestine	EE%sT	2011 Apr  2 12:01
    -			2:00	1:00	EEST	2011 Aug  1
    -			2:00	-	EET
    +			2:00 Palestine	EE%sT	2008 Aug 29 0:00
    +			2:00	-	EET	2008 Sep
    +			2:00 Palestine	EE%sT	2010
    +			2:00	-	EET	2010 Mar 27 0:01
    +			2:00 Palestine	EE%sT	2011 Aug  1
    +			2:00	-	EET	2012
    +			2:00 Palestine	EE%sT
     
     Zone	Asia/Hebron	2:20:23	-	LMT	1900 Oct
     			2:00	Zion	EET	1948 May 15
     			2:00 EgyptAsia	EE%sT	1967 Jun  5
     			2:00	Zion	I%sT	1996
     			2:00	Jordan	EE%sT	1999
    -			2:00 Palestine	EE%sT	2008 Aug
    -			2:00 	1:00	EEST	2008 Sep
    -			2:00 Palestine	EE%sT	2011 Apr  1 12:01
    -			2:00	1:00	EEST	2011 Aug  1
    -			2:00	-	EET	2011 Aug 30
    -			2:00	1:00	EEST	2011 Sep 30 3:00
    -			2:00	-	EET
    +			2:00 Palestine	EE%sT
     
     # Paracel Is
     # no information
    @@ -2349,6 +2403,13 @@ Zone	Asia/Singapore	6:55:25 -	LMT	1901 Jan  1
     # no information
     
     # Sri Lanka
    +
    +# From Paul Eggert (2013-02-21):
    +# Milne says "Madras mean time use from May 1, 1898.  Prior to this Colombo
    +# mean time, 5h. 4m. 21.9s. F., was used."  But 5:04:21.9 differs considerably
    +# from Colombo's meridian 5:19:24, so for now ignore Milne and stick with
    +# Shanks and Pottenger.
    +
     # From Paul Eggert (1996-09-03):
     # "Sri Lanka advances clock by an hour to avoid blackout"
     # (www.virtual-pc.com/lankaweb/news/items/240596-2.html, 1996-05-24,
    @@ -2468,24 +2529,24 @@ Rule	Syria	2006	only	-	Sep	22	0:00	0	-
     Rule	Syria	2007	only	-	Mar	lastFri	0:00	1:00	S
     # From Jesper Norgard (2007-10-27):
     # The sister center ICARDA of my work CIMMYT is confirming that Syria DST will
    -# not take place 1.st November at 0:00 o'clock but 1.st November at 24:00 or
    -# rather Midnight between Thursday and Friday. This does make more sence than
    +# not take place 1st November at 0:00 o'clock but 1st November at 24:00 or
    +# rather Midnight between Thursday and Friday. This does make more sense than
     # having it between Wednesday and Thursday (two workdays in Syria) since the
     # weekend in Syria is not Saturday and Sunday, but Friday and Saturday. So now
     # it is implemented at midnight of the last workday before weekend...
    -# 
    +#
     # From Steffen Thorsen (2007-10-27):
     # Jesper Norgaard Welen wrote:
    -# 
    +#
     # > "Winter local time in Syria will be observed at midnight of Thursday 1
     # > November 2007, and the clock will be put back 1 hour."
    -# 
    +#
     # I found confirmation on this in this gov.sy-article (Arabic):
     # http://wehda.alwehda.gov.sy/_print_veiw.asp?FileName=12521710520070926111247
    -# 
    +#
     # which using Google's translate tools says:
    -# Council of Ministers also approved the commencement of work on 
    -# identifying the winter time as of Friday, 2/11/2007 where the 60th 
    +# Council of Ministers also approved the commencement of work on
    +# identifying the winter time as of Friday, 2/11/2007 where the 60th
     # minute delay at midnight Thursday 1/11/2007.
     Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
     
    @@ -2551,8 +2612,8 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
     # 
     
     # From Steffen Thorsen (2009-10-27):
    -# The Syrian Arab News Network on 2009-09-29 reported that Syria will 
    -# revert back to winter (standard) time on midnight between Thursday 
    +# The Syrian Arab News Network on 2009-09-29 reported that Syria will
    +# revert back to winter (standard) time on midnight between Thursday
     # 2009-10-29 and Friday 2009-10-30:
     # 
     # http://www.sana.sy/ara/2/2009/09/29/247012.htm (Arabic)
    @@ -2571,10 +2632,28 @@ Rule	Syria	2007	only	-	Nov	 Fri>=1	0:00	0	-
     # http://sns.sy/sns/?path=news/read/11421 (Arabic)
     # 
     
    +# From Steffen Thorsen (2012-03-26):
    +# Today, Syria's government announced that they will start DST early on Friday
    +# (00:00). This is a bit earlier than the past two years.
    +#
    +# From Syrian Arab News Agency, in Arabic:
    +# 
    +# http://www.sana.sy/ara/2/2012/03/26/408215.htm
    +# 
    +#
    +# Our brief summary:
    +# 
    +# http://www.timeanddate.com/news/time/syria-dst-2012.html
    +# 
    +
    +# From Arthur David Olson (2012-03-27):
    +# Assume last Friday in March going forward XXX.
    +
     Rule	Syria	2008	only	-	Apr	Fri>=1	0:00	1:00	S
     Rule	Syria	2008	only	-	Nov	1	0:00	0	-
     Rule	Syria	2009	only	-	Mar	lastFri	0:00	1:00	S
    -Rule	Syria	2010	max	-	Apr	Fri>=1	0:00	1:00	S
    +Rule	Syria	2010	2011	-	Apr	Fri>=1	0:00	1:00	S
    +Rule	Syria	2012	max	-	Mar	lastFri	0:00	1:00	S
     Rule	Syria	2009	max	-	Oct	lastFri	0:00	0	-
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    @@ -2630,6 +2709,12 @@ Zone	Asia/Tashkent	4:37:12 -	LMT	1924 May  2
     
     # Vietnam
     
    +# From Paul Eggert (2013-02-21):
    +# Milne gives 7:16:56 for the meridian of Saigon in 1899, as being
    +# used in Lower Laos, Cambodia, and Annam.  But this is quite a ways
    +# from Saigon's location.  For now, ignore this and stick with Shanks
    +# and Pottenger.
    +
     # From Arthur David Olson (2008-03-18):
     # The English-language name of Vietnam's most populous city is "Ho Chi Min City";
     # we use Ho_Chi_Minh below to avoid a name of more than 14 characters.
    @@ -2643,6 +2728,10 @@ Zone	Asia/Ho_Chi_Minh	7:06:40 -	LMT	1906 Jun  9
     			7:00	-	ICT
     
     # Yemen
    +
    +# Milne says 2:59:54 was the meridian of the saluting battery at Aden,
    +# and that Yemen was at 1:55:56, the meridian of the Hagia Sophia.
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Asia/Aden	3:00:48	-	LMT	1950
    +Zone	Asia/Aden	2:59:54	-	LMT	1950
     			3:00	-	AST
    diff --git a/share/zoneinfo/australasia b/share/zoneinfo/australasia
    index d884cbc98..d3df4b5d2 100644
    --- a/share/zoneinfo/australasia
    +++ b/share/zoneinfo/australasia
    @@ -1,5 +1,4 @@
     # 
    -# @(#)australasia	8.29
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    @@ -219,9 +218,32 @@ Zone Australia/Lord_Howe 10:36:20 -	LMT	1895 Feb
     # no times are set
     #
     # Macquarie
    -# permanent occupation (scientific station) since 1948;
    -# sealing and penguin oil station operated 1888/1917
    -# like Australia/Hobart
    +# Permanent occupation (scientific station) 1911-1915 and since 25 March 1948;
    +# sealing and penguin oil station operated Nov 1899 to Apr 1919.  See the
    +# Tasmania Parks & Wildlife Service history of sealing at Macquarie Island
    +# 
    +# .
    +# Guess that it was like Australia/Hobart while inhabited before 2010.
    +#
    +# From Steffen Thorsen (2010-03-10):
    +# We got these changes from the Australian Antarctic Division:
    +# - Macquarie Island will stay on UTC+11 for winter and therefore not
    +# switch back from daylight savings time when other parts of Australia do
    +# on 4 April.
    +#
    +# From Arthur David Olson (2013-05-23):
    +# The 1919 transition is overspecified below so pre-2013 zics
    +# will produce a binary file with an EST-type as the first 32-bit type;
    +# this is required for correct handling of times before 1916 by
    +# pre-2013 versions of localtime.
    +Zone Antarctica/Macquarie 0	-	zzz	1899 Nov
    +			10:00	-	EST	1916 Oct 1 2:00
    +			10:00	1:00	EST	1917 Feb
    +			10:00	Aus	EST	1919 Apr 1 0:00s
    +			0	-	zzz	1948 Mar 25
    +			10:00	Aus	EST	1967
    +			10:00	AT	EST	2010 Apr 4 3:00
    +			11:00	-	MIST	# Macquarie I Standard Time
     
     # Christmas
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    @@ -247,6 +269,9 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
     			6:30	-	CCT	# Cocos Islands Time
     
     # Fiji
    +
    +# Milne gives 11:55:44 for Suva.
    +
     # From Alexander Krivenyshev (2009-11-10):
     # According to Fiji Broadcasting Corporation,  Fiji plans to re-introduce DST
     # from November 29th 2009  to April 25th 2010.
    @@ -284,9 +309,9 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
     # 
     
     # From Alexander Krivenyshev (2010-10-24):
    -# According to Radio Fiji and Fiji Times online, Fiji will end DST 3 
    +# According to Radio Fiji and Fiji Times online, Fiji will end DST 3
     # weeks earlier than expected - on March 6, 2011, not March 27, 2011...
    -# Here is confirmation from Government of the Republic of the Fiji Islands, 
    +# Here is confirmation from Government of the Republic of the Fiji Islands,
     # Ministry of Information (fiji.gov.fj) web site:
     # 
     # http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=2608:daylight-savings&catid=71:press-releases&Itemid=155
    @@ -297,15 +322,15 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
     # 
     
     # From Steffen Thorsen (2011-10-03):
    -# Now the dates have been confirmed, and at least our start date 
    +# Now the dates have been confirmed, and at least our start date
     # assumption was correct (end date was one week wrong).
     #
     # 
     # www.fiji.gov.fj/index.php?option=com_content&view=article&id=4966:daylight-saving-starts-in-fiji&catid=71:press-releases&Itemid=155
     # 
     # which says
    -# Members of the public are reminded to change their time to one hour in 
    -# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to 
    +# Members of the public are reminded to change their time to one hour in
    +# advance at 2am to 3am on October 23, 2011 and one hour back at 3am to
     # 2am on February 26 next year.
     
     # From Ken Rylander (2011-10-24)
    @@ -322,17 +347,34 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
     # The commencement of daylight saving will remain unchanged and start
     # on the  23rd of October, 2011.
     
    +# From the Fiji Government Online Portal (2012-08-21) via Steffen Thorsen:
    +# The Minister for Labour, Industrial Relations and Employment Mr Jone Usamate
    +# today confirmed that Fiji will start daylight savings at 2 am on Sunday 21st
    +# October 2012 and end at 3 am on Sunday 20th January 2013.
    +# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=6702&catid=71&Itemid=155
    +
    +# From the Fijian Government Media Center (2013-08-30) via David Wheeler:
    +# Fiji will start daylight savings on Sunday 27th October, 2013 and end at 3am
    +# on Sunday 19th January, 2014....  move clocks forward by one hour from 2am
    +# http://www.fiji.gov.fj/Media-Center/Press-Releases/DAYLIGHT-SAVING-STARTS-ON-SUNDAY,-27th-OCTOBER-201.aspx
    +#
    +# From Paul Eggert (2013-09-09):
    +# For now, guess that Fiji springs forward the Sunday before the fourth
    +# Monday in October.  This matches both recent practice and
    +# timeanddate.com's current spring-forward prediction.
    +# For the January 2014 transition we guessed right while timeanddate.com
    +# guessed wrong, so leave the fall-back prediction alone.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
     Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
     Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
     Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
    -Rule	Fiji	2010	only	-	Oct	24	2:00	1:00	S
    +Rule	Fiji	2010	max	-	Oct	Sun>=21	2:00	1:00	S
     Rule	Fiji	2011	only	-	Mar	Sun>=1	3:00	0	-
    -Rule	Fiji	2011	only	-	Oct	23	2:00	1:00	S
    -Rule	Fiji	2012	only	-	Jan	22	3:00	0	-
    +Rule	Fiji	2012	max	-	Jan	Sun>=18	3:00	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
    +Zone	Pacific/Fiji	11:55:44 -	LMT	1915 Oct 26	# Suva
     			12:00	Fiji	FJ%sT	# Fiji Time
     
     # French Polynesia
    @@ -559,7 +601,7 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1879 Jul  5
     
     # From David Zuelke (2011-05-09):
     # Subject: Samoa to move timezone from east to west of international date line
    -# 
    +#
     # 
     # http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
     # 
    @@ -616,6 +658,28 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1879 Jul  5
     # Dateline Change skip Friday 30th Dec 2011
     # Thursday 29th December 2011	23:59:59 Hours
     # Saturday 31st December 2011	00:00:00 Hours
    +#
    +# Clarification by Tim Parenti (2012-01-03):
    +# Although Samoa has used Daylight Saving Time in the 2010-2011 and 2011-2012
    +# seasons, there is not yet any indication that this trend will continue on
    +# a regular basis. For now, we have explicitly listed the transitions below.
    +#
    +# From Nicky (2012-09-10):
    +# Daylight Saving Time commences on Sunday 30th September 2012 and
    +# ends on Sunday 7th of April 2013.
    +#
    +# Please find link below for more information.
    +# http://www.mcil.gov.ws/mcil_publications.html
    +#
    +# That publication also includes dates for Summer of 2013/4 as well
    +# which give the impression of a pattern in selecting dates for the
    +# future, so for now, we will guess this will continue.
    +
    +# Western Samoa
    +# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
    +Rule	WS	2012	max	-	Sep	lastSun	3:00	1	D
    +Rule	WS	2012	max	-	Apr	Sun>=1	4:00	0	-
    +# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone Pacific/Apia	 12:33:04 -	LMT	1879 Jul  5
     			-11:26:56 -	LMT	1911
     			-11:30	-	SAMT	1950		# Samoa Time
    @@ -623,8 +687,8 @@ Zone Pacific/Apia	 12:33:04 -	LMT	1879 Jul  5
     			-11:00	1:00	WSDT	2011 Apr 2 4:00
     			-11:00	-	WST	2011 Sep 24 3:00
     			-11:00	1:00	WSDT	2011 Dec 30
    -			 13:00	1:00	WSDT	2012 Apr 1 4:00
    -			 13:00	-	WST
    +			 13:00	1:00	WSDT	2012 Apr Sun>=1 4:00
    +			 13:00	WS	WS%sT
     
     # Solomon Is
     # excludes Bougainville, for which see Papua New Guinea
    @@ -633,9 +697,28 @@ Zone Pacific/Guadalcanal 10:39:48 -	LMT	1912 Oct	# Honiara
     			11:00	-	SBT	# Solomon Is Time
     
     # Tokelau Is
    +#
    +# From Gwillim Law (2011-12-29)
    +# A correspondent informed me that Tokelau, like Samoa, will be skipping
    +# December 31 this year ...
    +#
    +# From Steffen Thorsen (2012-07-25)
    +# ... we double checked by calling hotels and offices based in Tokelau asking
    +# about the time there, and they all told a time that agrees with UTC+13....
    +# Shanks says UTC-10 from 1901 [but] ... there is a good chance the change
    +# actually was to UTC-11 back then.
    +#
    +# From Paul Eggert (2012-07-25)
    +# A Google Books snippet of Appendix to the Journals of the House of
    +# Representatives of New Zealand, Session 1948,
    +# , page 65, says Tokelau
    +# was "11 hours slow on G.M.T."  Go with Thorsen and assume Shanks & Pottenger
    +# are off by an hour starting in 1901.
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	Pacific/Fakaofo	-11:24:56 -	LMT	1901
    -			-10:00	-	TKT	# Tokelau Time
    +			-11:00	-	TKT 2011 Dec 30	# Tokelau Time
    +			13:00	-	TKT
     
     # Tonga
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
    @@ -732,9 +815,9 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
     
     # This data is by no means authoritative; if you think you know better,
     # go ahead and edit the file (and please send any changes to
    -# tz@elsie.nci.nih.gov for general use in the future).
    +# tz@iana.org for general use in the future).
     
    -# From Paul Eggert (2006-03-22):
    +# From Paul Eggert (2013-02-21):
     # A good source for time zone historical data outside the U.S. is
     # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
     # San Diego: ACS Publications, Inc. (2003).
    @@ -752,6 +835,10 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
     # Whitman Publishing Co, 2 Niagara Av, Ealing, London (undated), which
     # I found in the UCLA library.
     #
    +# For data circa 1899, a common source is:
    +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
    +# .
    +#
     # A reliable and entertaining source about time zones is
     # Derek Howse, Greenwich time and longitude, Philip Wilson Publishers (1997).
     #
    @@ -1316,22 +1403,22 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
     # See "southeast Australia" above for 2008 and later.
     
     # From Steffen Thorsen (2009-04-28):
    -# According to the official press release, South Australia's extended daylight 
    -# saving period will continue with the same rules as used during the 2008-2009 
    +# According to the official press release, South Australia's extended daylight
    +# saving period will continue with the same rules as used during the 2008-2009
     # summer (southern hemisphere).
    -# 
    +#
     # From
     # 
     # http://www.safework.sa.gov.au/uploaded_files/DaylightDatesSet.pdf
     # 
    -# The extended daylight saving period that South Australia has been trialling 
    +# The extended daylight saving period that South Australia has been trialling
     # for over the last year is now set to be ongoing.
    -# Daylight saving will continue to start on the first Sunday in October each 
    +# Daylight saving will continue to start on the first Sunday in October each
     # year and finish on the first Sunday in April the following year.
    -# Industrial Relations Minister, Paul Caica, says this provides South Australia 
    -# with a consistent half hour time difference with NSW, Victoria, Tasmania and 
    +# Industrial Relations Minister, Paul Caica, says this provides South Australia
    +# with a consistent half hour time difference with NSW, Victoria, Tasmania and
     # the ACT for all 52 weeks of the year...
    -# 
    +#
     # We have a wrap-up here:
     # 
     # http://www.timeanddate.com/news/time/south-australia-extends-dst.html
    @@ -1403,12 +1490,12 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
     # From Paul Eggert (2000-01-08):
     # IATA SSIM (1999-09) says DST ends 0100 local time.  Go with McDow.
     
    -# From the BBC World Service (1998-10-31 11:32 UTC):
    +# From the BBC World Service in
    +# http://news.bbc.co.uk/2/hi/asia-pacific/205226.stm (1998-10-31 16:03 UTC):
     # The Fijiian government says the main reasons for the time change is to
    -# improve productivity and reduce road accidents.  But correspondents say it
    -# also hopes the move will boost Fiji's ability to compete with other pacific
    -# islands in the effort to attract tourists to witness the dawning of the new
    -# millenium.
    +# improve productivity and reduce road accidents.... [T]he move is also
    +# intended to boost Fiji's ability to attract tourists to witness the dawning
    +# of the new millennium.
     
     # http://www.fiji.gov.fj/press/2000_09/2000_09_13-05.shtml (2000-09-13)
     # reports that Fiji has discontinued DST.
    @@ -1553,7 +1640,7 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
     # Shanks & Pottenger say the transition was on 1968-10-01; go with Mundell.
     
     # From Eric Ulevik (1999-05-03):
    -# Tonga's director of tourism, who is also secretary of the National Millenium
    +# Tonga's director of tourism, who is also secretary of the National Millennium
     # Committee, has a plan to get Tonga back in front.
     # He has proposed a one-off move to tropical daylight saving for Tonga from
     # October to March, which has won approval in principle from the Tongan
    diff --git a/share/zoneinfo/backward b/share/zoneinfo/backward
    index b2d837d2f..dc7769fb1 100644
    --- a/share/zoneinfo/backward
    +++ b/share/zoneinfo/backward
    @@ -1,5 +1,4 @@
     # 
    -# @(#)backward	8.11
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/etcetera b/share/zoneinfo/etcetera
    index f8eb4b58e..a9ff72938 100644
    --- a/share/zoneinfo/etcetera
    +++ b/share/zoneinfo/etcetera
    @@ -1,5 +1,4 @@
     # 
    -# @(#)etcetera	8.3
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/europe b/share/zoneinfo/europe
    index 8230b5ef3..0f429da8b 100644
    --- a/share/zoneinfo/europe
    +++ b/share/zoneinfo/europe
    @@ -1,11 +1,10 @@
     # 
    -# @(#)europe	8.40
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
     # This data is by no means authoritative; if you think you know better,
     # go ahead and edit the file (and please send any changes to
    -# tz@elsie.nci.nih.gov for general use in the future).
    +# tz@iana.org for general use in the future).
     
     # From Paul Eggert (2006-03-22):
     # A good source for time zone historical data outside the U.S. is
    @@ -31,6 +30,12 @@
     #	William Willett, The Waste of Daylight, 19th edition
     #	 (1914-03)
     #
    +#	Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
    +#	.  He writes:
    +#	"It is requested that corrections and additions to these tables
    +#	may be sent to Mr. John Milne, Royal Geographical Society,
    +#	Savile Row, London."  Nowadays please email them to tz@iana.org.
    +#
     #	Brazil's Departamento Servico da Hora (DSH),
     #	
     #	History of Summer Time
    @@ -211,9 +216,15 @@
     # the history of summer time legislation in the United Kingdom.
     # Since 1998 Joseph S. Myers has been updating
     # and extending this list, which can be found in
    -# 
    +# http://student.cusu.cam.ac.uk/~jsm28/british-time/
    +# 
     # History of legal time in Britain
     # 
    +# Rob Crowther (2012-01-04) reports that that URL no longer
    +# exists, and the article can now be found at:
    +# 
    +# http://www.polyomino.org.uk/british-time/
    +# 
     
     # From Joseph S. Myers (1998-01-06):
     #
    @@ -512,7 +523,7 @@ Rule	C-Eur	1944	only	-	Oct	 2	 2:00s	0	-
     # It seems that Paris, Monaco, Rule France, Rule Belgium all agree on
     # 2:00 standard time, e.g. 3:00 local time.  However there are no
     # countries that use C-Eur rules in September 1945, so the only items
    -# affected are apparently these ficticious zones that translates acronyms
    +# affected are apparently these fictitious zones that translate acronyms
     # CET and MET:
     #
     # Zone CET  1:00 C-Eur CE%sT
    @@ -569,12 +580,12 @@ Rule	Russia	1996	2010	-	Oct	lastSun	 2:00s	0	-
     # According to Kremlin press service, Russian President Dmitry Medvedev
     # signed a federal law "On calculation of time" on June 9, 2011.
     # According to the law Russia is abolishing daylight saving time.
    -# 
    -# Medvedev signed a law "On the Calculation of Time" (in russian): 
    +#
    +# Medvedev signed a law "On the Calculation of Time" (in russian):
     # 
     # http://bmockbe.ru/events/?ID=7583
     # 
    -# 
    +#
     # Medvedev signed a law on the calculation of the time (in russian):
     # 
     # http://www.regnum.ru/news/polit/1413906.html
    @@ -661,6 +672,8 @@ Zone	Europe/Andorra	0:06:04 -	LMT	1901
     
     # Austria
     
    +# Milne says Vienna time was 1:05:21.
    +
     # From Paul Eggert (2006-03-22): Shanks & Pottenger give 1918-06-16 and
     # 1945-11-18, but the Austrian Federal Office of Metrology and
     # Surveying (BEV) gives 1918-09-16 and for Vienna gives the "alleged"
    @@ -678,7 +691,7 @@ Rule	Austria	1948	only	-	Apr	18	2:00s	1:00	S
     Rule	Austria	1980	only	-	Apr	 6	0:00	1:00	S
     Rule	Austria	1980	only	-	Sep	28	0:00	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	Europe/Vienna	1:05:20 -	LMT	1893 Apr
    +Zone	Europe/Vienna	1:05:21 -	LMT	1893 Apr
     			1:00	C-Eur	CE%sT	1920
     			1:00	Austria	CE%sT	1940 Apr  1 2:00s
     			1:00	C-Eur	CE%sT	1945 Apr  2 2:00s
    @@ -1151,10 +1164,10 @@ Rule	France	1940	only	-	Feb	25	 2:00	1:00	S
     # write that they were used in Monaco and in many French locations.
     # Le Corre writes that the upper limit of the free zone was Arneguy, Orthez,
     # Mont-de-Marsan, Bazas, Langon, Lamotte-Montravel, Marouil, La
    -# Rochefoucault, Champagne-Mouton, La Roche-Posay, La Haye-Decartes,
    +# Rochefoucault, Champagne-Mouton, La Roche-Posay, La Haye-Descartes,
     # Loches, Montrichard, Vierzon, Bourges, Moulins, Digoin,
     # Paray-le-Monial, Montceau-les-Mines, Chalons-sur-Saone, Arbois,
    -# Dole, Morez, St-Claude, and Collognes (Haute-Savioe).
    +# Dole, Morez, St-Claude, and Collonges (Haute-Savoie).
     Rule	France	1941	only	-	May	 5	 0:00	2:00	M # Midsummer
     # Shanks & Pottenger say this transition occurred at Oct 6 1:00,
     # but go with Denis Excoffier (1997-12-12),
    @@ -1234,6 +1247,21 @@ Zone	Europe/Berlin	0:53:28 -	LMT	1893 Apr
     			1:00	Germany	CE%sT	1980
     			1:00	EU	CE%sT
     
    +# From Tobias Conradi (2011-09-12):
    +# Busingen , surrounded by the Swiss canton
    +# Schaffhausen, did not start observing DST in 1980 as the rest of DE
    +# (West Germany at that time) and DD (East Germany at that time) did.
    +# DD merged into DE, the area is currently covered by code DE in ISO 3166-1,
    +# which in turn is covered by the zone Europe/Berlin.
    +#
    +# Source for the time in Busingen 1980:
    +# http://www.srf.ch/player/video?id=c012c029-03b7-4c2b-9164-aa5902cd58d3
    +
    +# From Arthur David Olson (2012-03-03):
    +# Busingen and Zurich have shared clocks since 1970.
    +
    +Link	Europe/Zurich	Europe/Busingen
    +
     # Georgia
     # Please see the "asia" file for Asia/Tbilisi.
     # Herodotus (Histories, IV.45) says Georgia north of the Phasis (now Rioni)
    @@ -1682,7 +1710,7 @@ Zone	Europe/Malta	0:58:04 -	LMT	1893 Nov  2 0:00s # Valletta
     # From Alexander Krivenyshev (2011-10-26)
     # NO need to divide Moldova into two timezones at this point.
     # As of today, Transnistria (Pridnestrovie)- Tiraspol reversed its own
    -# decision to abolish DST this winter. 
    +# decision to abolish DST this winter.
     # Following Moldova and neighboring Ukraine- Transnistria (Pridnestrovie)-
     # Tiraspol will go back to winter time on October 30, 2011.
     # News from Moldova (in russian):
    @@ -2038,6 +2066,70 @@ Zone Europe/Bucharest	1:44:24 -	LMT	1891 Oct
     
     # Russia
     
    +# From Alexander Krivenyshev (2011-09-15):
    +# Based on last Russian Government Decree # 725 on August 31, 2011
    +# (Government document
    +# 
    +# http://www.government.ru/gov/results/16355/print/
    +# 
    +# in Russian)
    +# there are few corrections have to be made for some Russian time zones...
    +# All updated Russian Time Zones were placed in table and translated to English
    +# by WorldTimeZone.com at the link below:
    +# 
    +# http://www.worldtimezone.com/dst_news/dst_news_russia36.htm
    +# 
    +
    +# From Sanjeev Gupta (2011-09-27):
    +# Scans of [Decree #23 of January 8, 1992] are available at:
    +# 
    +# http://government.consultant.ru/page.aspx?1223966
    +# They are in Cyrillic letters (presumably Russian).
    +
    +# From Arthur David Olson (2012-05-09):
    +# Regarding the instant when clocks in time-zone-shifting parts of Russia
    +# changed in September 2011:
    +#
    +# One source is
    +# < a href="http://government.ru/gov/results/16355/>
    +# http://government.ru/gov/results/16355/
    +# 
    +# which, according to translate.google.com, begins "Decree of August 31,
    +# 2011 No 725" and contains no other dates or "effective date" information.
    +#
    +# Another source is
    +# 
    +# http://www.rg.ru/2011/09/06/chas-zona-dok.html
    +# 
    +# which, according to translate.google.com, begins "Resolution of the
    +# Government of the Russian Federation on August 31, 2011 N 725" and also
    +# contains "Date first official publication: September 6, 2011 Posted on:
    +# in the 'RG' - Federal Issue number 5573 September 6, 2011" but which
    +# does not contain any "effective date" information.
    +#
    +# Another source is
    +# 
    +# http://en.wikipedia.org/wiki/Oymyakonsky_District#cite_note-RuTime-7
    +# 
    +# which, in note 8, contains "Resolution #725 of August 31, 2011...
    +# Effective as of after 7 days following the day of the official publication"
    +# but which does not contain any reference to September 6, 2011.
    +#
    +# The Wikipedia article refers to
    +# 
    +# http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=118896
    +# 
    +# which seems to copy the text of the government.ru page.
    +#
    +# Tobias Conradi combines Wikipedia's
    +# "as of after 7 days following the day of the official publication"
    +# with www.rg.ru's "Date of first official publication: September 6, 2011" to get
    +# September 13, 2011 as the cutover date (unusually, a Tuesday, as Tobias Conradi notes).
    +#
    +# None of the sources indicates a time of day for changing clocks.
    +#
    +# Go with 2011-09-13 0:00s.
    +
     # From Paul Eggert (2006-03-22):
     # Except for Moscow after 1919-07-01, I invented the time zone abbreviations.
     # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991,
    @@ -2265,14 +2357,32 @@ Zone Asia/Yakutsk	 8:38:40 -	LMT	1919 Dec 15
     # [parts of] Respublika Sakha (Yakutiya).
     
     # From Oscar van Vlijmen (2009-11-29):
    -# The Sakha districts are: Bulunskij, Verkhoyanskij, Tomponskij, Ust'-Majskij,
    -# Ust'-Yanskij.
    +# The Sakha districts are: Bulunskij, Verkhoyanskij, ... Ust'-Yanskij.
     Zone Asia/Vladivostok	 8:47:44 -	LMT	1922 Nov 15
     			 9:00	-	VLAT	1930 Jun 21 # Vladivostok Time
     			10:00	Russia	VLA%sT	1991 Mar 31 2:00s
     			 9:00	Russia	VLA%sST	1992 Jan 19 2:00s
     			10:00	Russia	VLA%sT	2011 Mar 27 2:00s
     			11:00	-	VLAT
    +
    +# From Arthur David Olson (2012-05-09):
    +# Tomponskij and Ust'-Majskij switched from Vladivostok time to Yakutsk time
    +# in 2011.
    +#
    +# From Paul Eggert (2012-11-25):
    +# Shanks and Pottenger (2003) has Khandyga on Yakutsk time.
    +# Make a wild guess that it switched to Vladivostok time in 2004.
    +# This transition is no doubt wrong, but we have no better info.
    +#
    +Zone Asia/Khandyga	 9:02:13 -	LMT	1919 Dec 15
    +			 8:00	-	YAKT	1930 Jun 21 # Yakutsk Time
    +			 9:00	Russia	YAK%sT	1991 Mar 31 2:00s
    +			 8:00	Russia	YAK%sT	1992 Jan 19 2:00s
    +			 9:00	Russia	YAK%sT	2004
    +			10:00	Russia	VLA%sT	2011 Mar 27 2:00s
    +			11:00	-	VLAT	2011 Sep 13 0:00s # Decree 725?
    +			10:00	-	YAKT
    +
     #
     # Sakhalinskaya oblast'.
     # The Zone name should be Yuzhno-Sakhalinsk, but that's too long.
    @@ -2291,14 +2401,26 @@ Zone Asia/Sakhalin	 9:30:48 -	LMT	1905 Aug 23
     
     # From Oscar van Vlijmen (2009-11-29):
     # The Sakha districts are: Abyjskij, Allaikhovskij, Verkhhhnekolymskij, Momskij,
    -# Nizhnekolymskij, Ojmyakonskij, Srednekolymskij.
    +# Nizhnekolymskij, ... Srednekolymskij.
     Zone Asia/Magadan	10:03:12 -	LMT	1924 May  2
     			10:00	-	MAGT	1930 Jun 21 # Magadan Time
     			11:00	Russia	MAG%sT	1991 Mar 31 2:00s
     			10:00	Russia	MAG%sT	1992 Jan 19 2:00s
     			11:00	Russia	MAG%sT	2011 Mar 27 2:00s
     			12:00	-	MAGT
    -#
    +
    +# From Arthur David Olson (2012-05-09):
    +# Ojmyakonskij and the Kuril Islands switched from
    +# Magadan time to Vladivostok time in 2011.
    +Zone Asia/Ust-Nera	 9:32:54 -	LMT	1919 Dec 15
    +			 8:00	-	YAKT	1930 Jun 21 # Yakutsk Time
    +			 9:00	Russia	YAKT	1981 Apr  1
    +			11:00	Russia	MAG%sT	1991 Mar 31 2:00s
    +			10:00	Russia	MAG%sT	1992 Jan 19 2:00s
    +			11:00	Russia	MAG%sT	2011 Mar 27 2:00s
    +			12:00	-	MAGT	2011 Sep 13 0:00s # Decree 725?
    +			11:00	-	VLAT
    +
     # From Oscar van Vlijmen (2001-08-25): [This region consists of]
     # Kamchatskaya oblast', Koryakskij avtonomnyj okrug.
     #
    @@ -2572,11 +2694,11 @@ Zone	Europe/Zurich	0:34:08 -	LMT	1848 Sep 12
     # http://www.alomaliye.com/bkk_2002_3769.htm
     
     # From Gökdeniz Karadağ (2011-03-10):
    -# 
    +#
     # According to the articles linked below, Turkey will change into summer
     # time zone (GMT+3) on March 28, 2011 at 3:00 a.m. instead of March 27.
     # This change is due to a nationwide exam on 27th.
    -# 
    +#
     # 
     # http://www.worldbulletin.net/?aType=haber&ArticleID=70872
     # 
    @@ -2657,9 +2779,9 @@ Link	Europe/Istanbul	Asia/Istanbul	# Istanbul is in both continents.
     
     # Ukraine
     #
    -# From Igor Karpov, who works for the Ukranian Ministry of Justice,
    +# From Igor Karpov, who works for the Ukrainian Ministry of Justice,
     # via Garrett Wollman (2003-01-27):
    -# BTW, I've found the official document on this matter. It's goverment
    +# BTW, I've found the official document on this matter. It's government
     # regulations number 509, May 13, 1996. In my poor translation it says:
     # "Time in Ukraine is set to second timezone (Kiev time). Each last Sunday
     # of March at 3am the time is changing to 4am and each last Sunday of
    @@ -2693,7 +2815,7 @@ Link	Europe/Istanbul	Asia/Istanbul	# Istanbul is in both continents.
     # time this year after all.
     #
     # From Udo Schwedt (2011-10-18):
    -# As far as I understand, the recent change to the Ukranian time zone 
    +# As far as I understand, the recent change to the Ukrainian time zone
     # (Europe/Kiev) to introduce permanent daylight saving time (similar
     # to Russia) was reverted today:
     #
    diff --git a/share/zoneinfo/factory b/share/zoneinfo/factory
    index 624ccc0c3..d29a5857f 100644
    --- a/share/zoneinfo/factory
    +++ b/share/zoneinfo/factory
    @@ -1,5 +1,4 @@
     # 
    -# @(#)factory	8.2
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/iso3166.tab b/share/zoneinfo/iso3166.tab
    index 950c40f1d..c184a812e 100644
    --- a/share/zoneinfo/iso3166.tab
    +++ b/share/zoneinfo/iso3166.tab
    @@ -1,17 +1,14 @@
    -# 
    -# @(#)iso3166.tab	8.11
    -# This file is in the public domain, so clarified as of
    -# 2009-05-17 by Arthur David Olson.
     # ISO 3166 alpha-2 country codes
     #
    -# From Paul Eggert (2006-09-27):
    +# This file is in the public domain, so clarified as of
    +# 2009-05-17 by Arthur David Olson.
    +#
    +# From Paul Eggert (2013-05-27):
     #
     # This file contains a table with the following columns:
     # 1.  ISO 3166-1 alpha-2 country code, current as of
    -#     ISO 3166-1 Newsletter VI-1 (2007-09-21).  See:
    -#     
    -#     ISO 3166 Maintenance agency (ISO 3166/MA)
    -#     .
    +#     ISO 3166-1 Newsletter VI-15 (2013-05-10).  See: Updates on ISO 3166
    +#   http://www.iso.org/iso/home/standards/country_codes/updates_on_iso_3166.htm
     # 2.  The usual English name for the country,
     #     chosen so that alphabetic sorting of subsets produces helpful lists.
     #     This is not the same as the English name in the ISO 3166 tables.
    @@ -21,8 +18,9 @@
     #
     # Lines beginning with `#' are comments.
     #
    -# From Arthur David Olson (2011-08-17):
    -# Resynchronized today with the ISO 3166 site (adding SS for South Sudan).
    +# This table is intended as an aid for users, to help them select time
    +# zone data appropriate for their practical needs.  It is not intended
    +# to take or endorse any position on legal or territorial claims.
     #
     #country-
     #code	country name
    @@ -55,7 +53,7 @@ BL	St Barthelemy
     BM	Bermuda
     BN	Brunei
     BO	Bolivia
    -BQ	Bonaire Sint Eustatius & Saba
    +BQ	Bonaire, St Eustatius & Saba
     BR	Brazil
     BS	Bahamas
     BT	Bhutan
    @@ -236,7 +234,7 @@ SR	Suriname
     SS	South Sudan
     ST	Sao Tome & Principe
     SV	El Salvador
    -SX	Sint Maarten
    +SX	St Maarten (Dutch part)
     SY	Syria
     SZ	Swaziland
     TC	Turks & Caicos Is
    diff --git a/share/zoneinfo/leapseconds b/share/zoneinfo/leapseconds
    index dd0829019..5b5c70eb6 100644
    --- a/share/zoneinfo/leapseconds
    +++ b/share/zoneinfo/leapseconds
    @@ -1,5 +1,4 @@
     # 
    -# @(#)leapseconds	8.11
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    @@ -48,40 +47,54 @@ Leap	1997	Jun	30	23:59:60	+	S
     Leap	1998	Dec	31	23:59:60	+	S
     Leap	2005	Dec	31	23:59:60	+	S
     Leap	2008	Dec	31	23:59:60	+	S
    +Leap	2012	Jun	30	23:59:60	+	S
     
     # INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS)
     #
     # SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE
     #
    +#
     # SERVICE DE LA ROTATION TERRESTRE
     # OBSERVATOIRE DE PARIS
     # 61, Av. de l'Observatoire 75014 PARIS (France)
    -# Tel.      : 33 (0) 1 40 51 22 29
    +# Tel.      : 33 (0) 1 40 51 22 26
     # FAX       : 33 (0) 1 40 51 22 91
    -# Internet  : services.iers@obspm.fr
    +# e-mail    : (E-Mail Removed)
    +# http://hpiers.obspm.fr/eop-pc
     #
    -# Paris, 2 February 2011
    +# Paris, 5 January 2012
     #
    -# Bulletin C 41
    +#
    +# Bulletin C 43
     #
     # To authorities responsible
     # for the measurement and
     # distribution of time
     #
    -# INFORMATION ON UTC - TAI
     #
    -# NO positive leap second will be introduced at the end of June 2011.
    -# The difference between Coordinated Universal Time UTC and the
    -# International Atomic Time TAI is :		
    +# UTC TIME STEP
    +# on the 1st of July 2012
     #
    -# from 2009 January 1, 0h UTC, until further notice : UTC-TAI = -34 s
    +#
    +# A positive leap second will be introduced at the end of June 2012.
    +# The sequence of dates of the UTC second markers will be:
    +#
    +#                          2012 June 30,     23h 59m 59s
    +#                          2012 June 30,     23h 59m 60s
    +#                          2012 July  1,      0h  0m  0s
    +#
    +# The difference between UTC and the International Atomic Time TAI is:
    +#
    +# from 2009 January 1, 0h UTC, to 2012 July 1  0h UTC  : UTC-TAI = - 34s
    +# from 2012 July 1,    0h UTC, until further notice    : UTC-TAI = - 35s
     #
     # Leap seconds can be introduced in UTC at the end of the months of December
    -# or June,  depending on the evolution of UT1-TAI. Bulletin C is mailed every
    -# six months, either to announce a time step in UTC, or to confirm that there
    +# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every
    +# six months, either to announce a time step in UTC or to confirm that there
     # will be no time step at the next possible date.
     #
    +#
     # Daniel GAMBIS
    -# Head			
    -# Earth Orientation Center of the IERS
    +# Head
    +# Earth Orientation Center of IERS
     # Observatoire de Paris, France
    diff --git a/share/zoneinfo/northamerica b/share/zoneinfo/northamerica
    index a21bf895b..1964903eb 100644
    --- a/share/zoneinfo/northamerica
    +++ b/share/zoneinfo/northamerica
    @@ -1,5 +1,4 @@
     # 
    -# @(#)northamerica	8.51
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    @@ -7,7 +6,7 @@
     
     # This data is by no means authoritative; if you think you know better,
     # go ahead and edit the file (and please send any changes to
    -# tz@elsie.nci.nih.gov for general use in the future).
    +# tz@iana.org for general use in the future).
     
     # From Paul Eggert (1999-03-22):
     # A reliable and entertaining source about time zones is
    @@ -479,7 +478,7 @@ Zone America/Juneau	 15:02:19 -	LMT	1867 Oct 18
     			 -8:00	US	P%sT	1946
     			 -8:00	-	PST	1969
     			 -8:00	US	P%sT	1980 Apr 27 2:00
    -			 -9:00	US	Y%sT	1980 Oct 26 2:00	
    +			 -9:00	US	Y%sT	1980 Oct 26 2:00
     			 -8:00	US	P%sT	1983 Oct 30 2:00
     			 -9:00	US	Y%sT	1983 Nov 30
     			 -9:00	US	AK%sT
    @@ -1020,6 +1019,9 @@ Zone America/Menominee	-5:50:27 -	LMT	1885 Sep 18 12:00
     #	William Willett, The Waste of Daylight, 19th edition
     #	 (1914-03)
     #
    +#	Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
    +#	.
    +#
     # See the `europe' file for Greenland.
     
     # Canada
    @@ -1120,9 +1122,26 @@ Zone America/Menominee	-5:50:27 -	LMT	1885 Sep 18 12:00
     # For now, assume all of DST-observing Canada will fall into line with the
     # new US DST rules,
     
    +# From Chris Walton (2011-12-01)
    +# In the first of Tammy Hardwick's articles
    +# 
    +# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
    +# 
    +# she quotes the Friday November 1/1918 edition of the Creston Review.
    +# The quote includes these two statements:
    +# 'Sunday the CPR went back to the old system of time...'
    +# '... The daylight saving scheme was dropped all over Canada at the same time,'
    +# These statements refer to a transition from daylight time to standard time
    +# that occurred nationally on Sunday October 27/1918.  This transition was
    +# also documented in the Saturday October 26/1918 edition of the Toronto Star.
    +
    +# In light of that evidence, we alter the date from the earlier believed
    +# Oct 31, to Oct 27, 1918 (and Sunday is a more likely transition day
    +# than Thursday) in all Canadian rulesets.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Canada	1918	only	-	Apr	14	2:00	1:00	D
    -Rule	Canada	1918	only	-	Oct	31	2:00	0	S
    +Rule	Canada	1918	only	-	Oct	27	2:00	0	S
     Rule	Canada	1942	only	-	Feb	 9	2:00	1:00	W # War
     Rule	Canada	1945	only	-	Aug	14	23:00u	1:00	P # Peace
     Rule	Canada	1945	only	-	Sep	30	2:00	0	S
    @@ -1645,7 +1664,7 @@ Zone America/Atikokan	-6:06:28 -	LMT	1895
     Rule	Winn	1916	only	-	Apr	23	0:00	1:00	D
     Rule	Winn	1916	only	-	Sep	17	0:00	0	S
     Rule	Winn	1918	only	-	Apr	14	2:00	1:00	D
    -Rule	Winn	1918	only	-	Oct	31	2:00	0	S
    +Rule	Winn	1918	only	-	Oct	27	2:00	0	S
     Rule	Winn	1937	only	-	May	16	2:00	1:00	D
     Rule	Winn	1937	only	-	Sep	26	2:00	0	S
     Rule	Winn	1942	only	-	Feb	 9	2:00	1:00	W # War
    @@ -1728,7 +1747,7 @@ Zone America/Winnipeg	-6:28:36 -	LMT	1887 Jul 16
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Regina	1918	only	-	Apr	14	2:00	1:00	D
    -Rule	Regina	1918	only	-	Oct	31	2:00	0	S
    +Rule	Regina	1918	only	-	Oct	27	2:00	0	S
     Rule	Regina	1930	1934	-	May	Sun>=1	0:00	1:00	D
     Rule	Regina	1930	1934	-	Oct	Sun>=1	0:00	0	S
     Rule	Regina	1937	1941	-	Apr	Sun>=8	0:00	1:00	D
    @@ -1765,7 +1784,7 @@ Zone America/Swift_Current -7:11:20 -	LMT	1905 Sep
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Edm	1918	1919	-	Apr	Sun>=8	2:00	1:00	D
    -Rule	Edm	1918	only	-	Oct	31	2:00	0	S
    +Rule	Edm	1918	only	-	Oct	27	2:00	0	S
     Rule	Edm	1919	only	-	May	27	2:00	0	S
     Rule	Edm	1920	1923	-	Apr	lastSun	2:00	1:00	D
     Rule	Edm	1920	only	-	Oct	lastSun	2:00	0	S
    @@ -1795,9 +1814,68 @@ Zone America/Edmonton	-7:33:52 -	LMT	1906 Sep
     # Dawson Creek uses MST.  Much of east BC is like Edmonton.
     # Matthews and Vincent (1998) write that Creston is like Dawson Creek.
     
    +# It seems though that (re: Creston) is not entirely correct:
    +
    +# From Chris Walton (2011-12-01):
    +# There are two areas within the Canadian province of British Columbia
    +# that do not currently observe daylight saving:
    +# a) The Creston Valley (includes the town of Creston and surrounding area)
    +# b) The eastern half of the Peace River Regional District
    +# (includes the cities of Dawson Creek and Fort St. John)
    +
    +# Earlier this year I stumbled across a detailed article about the time
    +# keeping history of Creston; it was written by Tammy Hardwick who is the
    +# manager of the Creston & District Museum. The article was written in May 2009.
    +# 
    +# http://www.ilovecreston.com/?p=articles&t=spec&ar=260
    +# 
    +# According to the article, Creston has not changed its clocks since June 1918.
    +# i.e. Creston has been stuck on UTC-7 for 93 years.
    +# Dawson Creek, on the other hand, changed its clocks as recently as April 1972.
    +
    +# Unfortunately the exact date for the time change in June 1918 remains
    +# unknown and will be difficult to ascertain.  I e-mailed Tammy a few months
    +# ago to ask if Sunday June 2 was a reasonable guess.  She said it was just
    +# as plausible as any other date (in June).  She also said that after writing the
    +# article she had discovered another time change in 1916; this is the subject
    +# of another article which she wrote in October 2010.
    +# 
    +# http://www.creston.museum.bc.ca/index.php?module=comments&uop=view_comment&cm+id=56
    +# 
    +
    +# Here is a summary of the three clock change events in Creston's history:
    +# 1. 1884 or 1885: adoption of Mountain Standard Time (GMT-7)
    +# Exact date unknown
    +# 2. Oct 1916: switch to Pacific Standard Time (GMT-8)
    +# Exact date in October unknown;  Sunday October 1 is a reasonable guess.
    +# 3. June 1918: switch to Pacific Daylight Time (GMT-7)
    +# Exact date in June unknown; Sunday June 2 is a reasonable guess.
    +# note#1:
    +# On Oct 27/1918 when daylight saving ended in the rest of Canada,
    +# Creston did not change its clocks.
    +# note#2:
    +# During WWII when the Federal Government legislated a mandatory clock change,
    +# Creston did not oblige.
    +# note#3:
    +# There is no guarantee that Creston will remain on Mountain Standard Time
    +# (UTC-7) forever.
    +# The subject was debated at least once this year by the town Council.
    +# 
    +# http://www.bclocalnews.com/kootenay_rockies/crestonvalleyadvance/news/116760809.html
    +# 
    +
    +# During a period WWII, summer time (Daylight saying) was mandatory in Canada.
    +# In Creston, that was handled by shifting the area to PST (-8:00) then applying
    +# summer time to cause the offset to be -7:00, the same as it had been before
    +# the change.  It can be argued that the timezone abbreviation during this
    +# period should be PDT rather than MST, but that doesn't seem important enough
    +# (to anyone) to further complicate the rules.
    +
    +# The transition dates (and times) are guesses.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Vanc	1918	only	-	Apr	14	2:00	1:00	D
    -Rule	Vanc	1918	only	-	Oct	31	2:00	0	S
    +Rule	Vanc	1918	only	-	Oct	27	2:00	0	S
     Rule	Vanc	1942	only	-	Feb	 9	2:00	1:00	W # War
     Rule	Vanc	1945	only	-	Aug	14	23:00u	1:00	P # Peace
     Rule	Vanc	1945	only	-	Sep	30	2:00	0	S
    @@ -1813,7 +1891,10 @@ Zone America/Dawson_Creek -8:00:56 -	LMT	1884
     			-8:00	Canada	P%sT	1947
     			-8:00	Vanc	P%sT	1972 Aug 30 2:00
     			-7:00	-	MST
    -
    +Zone America/Creston	-7:46:04 -	LMT	1884
    +			-7:00	-	MST	1916 Oct 1
    +			-8:00	-	PST	1918 Jun 2
    +			-7:00	-	MST
     
     # Northwest Territories, Nunavut, Yukon
     
    @@ -2476,6 +2557,8 @@ Zone	America/Antigua	-4:07:12 -	LMT	1912 Mar 2
     
     # Bahamas
     #
    +# For 1899 Milne gives -5:09:29.5; round that.
    +#
     # From Sue Williams (2006-12-07):
     # The Bahamas announced about a month ago that they plan to change their DST
     # rules to sync with the U.S. starting in 2007....
    @@ -2485,11 +2568,14 @@ Zone	America/Antigua	-4:07:12 -	LMT	1912 Mar 2
     Rule	Bahamas	1964	1975	-	Oct	lastSun	2:00	0	S
     Rule	Bahamas	1964	1975	-	Apr	lastSun	2:00	1:00	D
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	America/Nassau	-5:09:24 -	LMT	1912 Mar 2
    +Zone	America/Nassau	-5:09:30 -	LMT	1912 Mar 2
     			-5:00	Bahamas	E%sT	1976
     			-5:00	US	E%sT
     
     # Barbados
    +
    +# For 1899 Milne gives -3:58:29.2; round that.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Barb	1977	only	-	Jun	12	2:00	1:00	D
     Rule	Barb	1977	1978	-	Oct	Sun>=1	2:00	0	S
    @@ -2497,8 +2583,8 @@ Rule	Barb	1978	1980	-	Apr	Sun>=15	2:00	1:00	D
     Rule	Barb	1979	only	-	Sep	30	2:00	0	S
     Rule	Barb	1980	only	-	Sep	25	2:00	0	S
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone America/Barbados	-3:58:28 -	LMT	1924		# Bridgetown
    -			-3:58:28 -	BMT	1932	  # Bridgetown Mean Time
    +Zone America/Barbados	-3:58:29 -	LMT	1924		# Bridgetown
    +			-3:58:29 -	BMT	1932	  # Bridgetown Mean Time
     			-4:00	Barb	A%sT
     
     # Belize
    @@ -2516,6 +2602,9 @@ Zone	America/Belize	-5:52:48 -	LMT	1912 Apr
     
     # Bermuda
     
    +# For 1899 Milne gives -4:19:18.3 as the meridian of the clock tower,
    +# Bermuda dockyard, Ireland I; round that.
    +
     # From Dan Jones, reporting in The Royal Gazette (2006-06-26):
     
     # Next year, however, clocks in the US will go forward on the second Sunday
    @@ -2525,7 +2614,7 @@ Zone	America/Belize	-5:52:48 -	LMT	1912 Apr
     # http://www.theroyalgazette.com/apps/pbcs.dll/article?AID=/20060529/NEWS/105290135
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone Atlantic/Bermuda	-4:19:04 -	LMT	1930 Jan  1 2:00    # Hamilton
    +Zone Atlantic/Bermuda	-4:19:18 -	LMT	1930 Jan  1 2:00    # Hamilton
     			-4:00	-	AST	1974 Apr 28 2:00
     			-4:00	Bahamas	A%sT	1976
     			-4:00	US	A%sT
    @@ -2537,6 +2626,9 @@ Zone	America/Cayman	-5:25:32 -	LMT	1890		# Georgetown
     			-5:00	-	EST
     
     # Costa Rica
    +
    +# Milne gives -5:36:13.3 as San Jose mean time; round to nearest.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	CR	1979	1980	-	Feb	lastSun	0:00	1:00	D
     Rule	CR	1979	1980	-	Jun	Sun>=1	0:00	0	S
    @@ -2547,14 +2639,19 @@ Rule	CR	1991	only	-	Jul	 1	0:00	0	S
     Rule	CR	1992	only	-	Mar	15	0:00	0	S
     # There are too many San Joses elsewhere, so we'll use `Costa Rica'.
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone America/Costa_Rica	-5:36:20 -	LMT	1890		# San Jose
    -			-5:36:20 -	SJMT	1921 Jan 15 # San Jose Mean Time
    +Zone America/Costa_Rica	-5:36:13 -	LMT	1890		# San Jose
    +			-5:36:13 -	SJMT	1921 Jan 15 # San Jose Mean Time
     			-6:00	CR	C%sT
     # Coco
     # no information; probably like America/Costa_Rica
     
     # Cuba
     
    +# From Paul Eggert (2013-02-21):
    +# Milne gives -5:28:50.45 for the observatory at Havana, -5:29:23.57
    +# for the port, and -5:30 for meteorological observations.
    +# For now, stick with Shanks & Pottenger.
    +
     # From Arthur David Olson (1999-03-29):
     # The 1999-03-28 exhibition baseball game held in Havana, Cuba, between
     # the Cuban National Team and the Baltimore Orioles was carried live on
    @@ -2595,20 +2692,20 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1890		# San Jose
     # except that it switches at midnight standard time as usual.
     #
     # From Steffen Thorsen (2007-10-25):
    -# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week 
    +# Carlos Alberto Fonseca Arauz informed me that Cuba will end DST one week
     # earlier - on the last Sunday of October, just like in 2006.
    -# 
    +#
     # He supplied these references:
    -# 
    +#
     # http://www.prensalatina.com.mx/article.asp?ID=%7B4CC32C1B-A9F7-42FB-8A07-8631AFC923AF%7D&language=ES
     # http://actualidad.terra.es/sociedad/articulo/cuba_llama_ahorrar_energia_cambio_1957044.htm
    -# 
    +#
     # From Alex Kryvenishev (2007-10-25):
     # Here is also article from Granma (Cuba):
    -# 
    +#
     # [Regira] el Horario Normal desde el [proximo] domingo 28 de octubre
     # http://www.granma.cubaweb.cu/2007/10/24/nacional/artic07.html
    -# 
    +#
     # http://www.worldtimezone.com/dst_news/dst_news_cuba03.html
     
     # From Arthur David Olson (2008-03-09):
    @@ -2692,7 +2789,7 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1890		# San Jose
     # 
     #
     # From Steffen Thorsen (2011-10-30)
    -# Cuba will end DST two weeks later this year. Instead of going back 
    +# Cuba will end DST two weeks later this year. Instead of going back
     # tonight, it has been delayed to 2011-11-13 at 01:00.
     #
     # One source (Spanish)
    @@ -2704,6 +2801,27 @@ Zone America/Costa_Rica	-5:36:20 -	LMT	1890		# San Jose
     # 
     # http://www.timeanddate.com/news/time/cuba-time-changes-2011.html
     # 
    +#
    +# From Steffen Thorsen (2012-03-01)
    +# According to Radio Reloj, Cuba will start DST on Midnight between March
    +# 31 and April 1.
    +#
    +# Radio Reloj has the following info (Spanish):
    +# 
    +# http://www.radioreloj.cu/index.php/noticias-radio-reloj/71-miscelaneas/7529-cuba-aplicara-el-horario-de-verano-desde-el-1-de-abril
    +# 
    +#
    +# Our info on it:
    +# 
    +# http://www.timeanddate.com/news/time/cuba-starts-dst-2012.html
    +# 
    +
    +# From Steffen Thorsen (2012-11-03):
    +# Radio Reloj and many other sources report that Cuba is changing back
    +# to standard time on 2012-11-04:
    +# http://www.radioreloj.cu/index.php/noticias-radio-reloj/36-nacionales/9961-regira-horario-normal-en-cuba-desde-el-domingo-cuatro-de-noviembre
    +# From Paul Eggert (2012-11-03):
    +# For now, assume the future rule is first Sunday in November.
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
    @@ -2741,8 +2859,9 @@ Rule	Cuba	2008	only	-	Mar	Sun>=15	0:00s	1:00	D
     Rule	Cuba	2009	2010	-	Mar	Sun>=8	0:00s	1:00	D
     Rule	Cuba	2011	only	-	Mar	Sun>=15	0:00s	1:00	D
     Rule	Cuba	2011	only	-	Nov	13	0:00s	0	S
    -Rule	Cuba	2012	max	-	Mar	Sun>=8	0:00s	1:00	D
    -Rule	Cuba	2012	max	-	Oct	lastSun	0:00s	0	S
    +Rule	Cuba	2012	only	-	Apr	1	0:00s	1:00	D
    +Rule	Cuba	2012	max	-	Nov	Sun>=1	0:00s	0	S
    +Rule	Cuba	2013	max	-	Mar	Sun>=8	0:00s	1:00	D
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone	America/Havana	-5:29:28 -	LMT	1890
    @@ -2876,6 +2995,26 @@ Zone America/Guatemala	-6:02:04 -	LMT	1918 Oct 5
     # From Stephen Colebourne (2007-02-22):
     # Some IATA info: Haiti won't be having DST in 2007.
     
    +# From Steffen Thorsen (2012-03-11):
    +# According to several news sources, Haiti will observe DST this year,
    +# apparently using the same start and end date as USA/Canada.
    +# So this means they have already changed their time.
    +#
    +# http://www.alterpresse.org/spip.php?article12510
    +# http://radiovision2000haiti.net/home/?p=13253
    +#
    +# From Arthur David Olson (2012-03-11):
    +# The alterpresse.org source seems to show a US-style leap from 2:00 a.m. to
    +# 3:00 a.m. rather than the traditional Haitian jump at midnight.
    +# Assume a US-style fall back as well.
    +
    +# From Steffen Thorsen (2013-03-10):
    +# It appears that Haiti is observing DST this year as well, same rules
    +# as US/Canada.  They did it last year as well, and it looks like they
    +# are going to observe DST every year now...
    +#
    +# http://radiovision2000haiti.net/public/haiti-avis-changement-dheure-dimanche/
    +# http://www.canalplushaiti.net/?p=6714
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
    @@ -2887,6 +3026,8 @@ Rule	Haiti	1988	1997	-	Apr	Sun>=1	1:00s	1:00	D
     Rule	Haiti	1988	1997	-	Oct	lastSun	1:00s	0	S
     Rule	Haiti	2005	2006	-	Apr	Sun>=1	0:00	1:00	D
     Rule	Haiti	2005	2006	-	Oct	lastSun	0:00	0	S
    +Rule	Haiti	2012	max	-	Mar	Sun>=8	2:00	1:00	D
    +Rule	Haiti	2012	max	-	Nov	Sun>=1	2:00	0	S
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone America/Port-au-Prince -4:49:20 -	LMT	1890
     			-4:49	-	PPMT	1917 Jan 24 12:00 # P-a-P MT
    diff --git a/share/zoneinfo/pacificnew b/share/zoneinfo/pacificnew
    index e2512c1d1..bccd85210 100644
    --- a/share/zoneinfo/pacificnew
    +++ b/share/zoneinfo/pacificnew
    @@ -1,5 +1,4 @@
     # 
    -# @(#)pacificnew	8.2
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/solar87 b/share/zoneinfo/solar87
    index 47ee7e7aa..229955816 100644
    --- a/share/zoneinfo/solar87
    +++ b/share/zoneinfo/solar87
    @@ -1,5 +1,4 @@
     # 
    -# @(#)solar87	8.2
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/solar88 b/share/zoneinfo/solar88
    index 8db590edd..bb1d6ca97 100644
    --- a/share/zoneinfo/solar88
    +++ b/share/zoneinfo/solar88
    @@ -1,5 +1,4 @@
     # 
    -# @(#)solar88	8.2
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/solar89 b/share/zoneinfo/solar89
    index d24de4a77..af9323569 100644
    --- a/share/zoneinfo/solar89
    +++ b/share/zoneinfo/solar89
    @@ -1,5 +1,4 @@
     # 
    -# @(#)solar89	8.2
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/southamerica b/share/zoneinfo/southamerica
    index 6012005c4..0d8ed7a33 100644
    --- a/share/zoneinfo/southamerica
    +++ b/share/zoneinfo/southamerica
    @@ -1,17 +1,20 @@
     # 
    -# @(#)southamerica	8.52
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
     # This data is by no means authoritative; if you think you know better,
     # go ahead and edit the file (and please send any changes to
    -# tz@elsie.nci.nih.gov for general use in the future).
    +# tz@iana.org for general use in the future).
     
     # From Paul Eggert (2006-03-22):
     # A good source for time zone historical data outside the U.S. is
     # Thomas G. Shanks and Rique Pottenger, The International Atlas (6th edition),
     # San Diego: ACS Publications, Inc. (2003).
     #
    +# For data circa 1899, a common source is:
    +# Milne J. Civil time. Geogr J. 1899 Feb;13(2):173-94
    +# .
    +#
     # Gwillim Law writes that a good source
     # for recent time zone data is the International Air Transport
     # Association's Standard Schedules Information Manual (IATA SSIM),
    @@ -232,7 +235,7 @@ Rule	Arg	2000	only	-	Mar	3	0:00	0	-
     Rule	Arg	2007	only	-	Dec	30	0:00	1:00	S
     Rule	Arg	2008	2009	-	Mar	Sun>=15	0:00	0	-
     Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
    - 
    +
     # From Mariano Absatz (2004-05-21):
     # Today it was officially published that the Province of Mendoza is changing
     # its timezone this winter... starting tomorrow night....
    @@ -322,9 +325,9 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
     # confirms what Alex Krivenyshev has earlier sent to the tz
     # emailing list about that San Luis plans to return to standard
     # time much earlier than the rest of the country. It also
    -# confirms that upon request the provinces San Juan and Mendoza 
    -# refused to follow San Luis in this change. 
    -# 
    +# confirms that upon request the provinces San Juan and Mendoza
    +# refused to follow San Luis in this change.
    +#
     # The change is supposed to take place Monday the 21.st at 0:00
     # hours. As far as I understand it if this goes ahead, we need
     # a new timezone for San Luis (although there are also documented
    @@ -382,21 +385,11 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
     # 
     # is the official page for the Province Government).
     #
    -# There's also a note in only one of the major national papers (La Nación) at
    -# 
    +# There's also a note in only one of the major national papers ...
     # http://www.lanacion.com.ar/nota.asp?nota_id=1107912
    -# 
    -# 
    -# The press release says:
    -#  (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
    -# atrasar una hora sus relojes.
     #
    -# A partir de entonces, San Luis establecerá el huso horario propio de
    -# la Provincia. De esta manera, durante el periodo del calendario anual
    -# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer
    -# domingo de marzo y las 24:00 del segundo sábado de octubre.
    -# Quick&dirty translation
    -# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis
    +# The press release says [quick and dirty translation]:
    +# ... announced that next Sunday, at 00:00, Puntanos (the San Luis
     # inhabitants) will have to turn back one hour their clocks
     #
     # Since then, San Luis will establish its own Province timezone. Thus,
    @@ -458,6 +451,9 @@ Rule	Arg	2008	only	-	Oct	Sun>=15	0:00	1:00	S
     # rules...San Luis is still using "Western ARgentina Time" and it got
     # stuck on Summer daylight savings time even though the summer is over.
     
    +# From Paul Eggert (2013-02-21):
    +# Milne says Cordoba time was -4:16:48.2.  Round to the nearest second.
    +
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     #
     # Buenos Aires (BA), Capital Federal (CF),
    @@ -800,8 +796,8 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
     #
     # From Alexander Krivenyshev (2011-10-04):
     # State Bahia will return to Daylight savings time this year after 8 years off.
    -# The announcement was made by Governor Jaques Wagner in an interview to a 
    -# television station in Salvador. 
    +# The announcement was made by Governor Jaques Wagner in an interview to a
    +# television station in Salvador.
     
     # In Portuguese:
     # 
    @@ -813,9 +809,9 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
     
     # From Guilherme Bernardes Rodrigues (2011-10-07):
     # There is news in the media, however there is still no decree about it.
    -# I just send a e-mail to Zulmira Brandão at
    +# I just send a e-mail to Zulmira Brandao at
     # http://pcdsh01.on.br/ the
    -# oficial agency about time in Brazil, and she confirmed that the old rule is
    +# official agency about time in Brazil, and she confirmed that the old rule is
     # still in force.
     
     # From Guilherme Bernardes Rodrigues (2011-10-14)
    @@ -830,6 +826,15 @@ Zone	America/La_Paz	-4:32:36 -	LMT	1890
     # http://www.in.gov.br/visualiza/index.jsp?data=13/10/2011&jornal=1000&pagina=6&totalArquivos=6
     # 
     
    +# From Kelley Cook (2012-10-16):
    +# The governor of state of Bahia in Brazil announced on Thursday that
    +# due to public pressure, he is reversing the DST policy they implemented
    +# last year and will not be going to Summer Time on October 21st....
    +# http://www.correio24horas.com.br/r/artigo/apos-pressoes-wagner-suspende-horario-de-verao-na-bahia
    +
    +# From Rodrigo Severo (2012-10-16):
    +# Tocantins state will have DST.
    +# http://noticias.terra.com.br/brasil/noticias/0,,OI6232536-EI306.html
     
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     # Decree 20,466 (1931-10-01)
    @@ -966,7 +971,7 @@ Rule	Brazil	2007	only	-	Feb	25	 0:00	0	-
     # adopted by the same states as before.
     Rule	Brazil	2007	only	-	Oct	Sun>=8	 0:00	1:00	S
     # From Frederico A. C. Neves (2008-09-10):
    -# Acording to this decree
    +# According to this decree
     # 
     # http://www.planalto.gov.br/ccivil_03/_Ato2007-2010/2008/Decreto/D6558.htm
     # 
    @@ -1049,7 +1054,8 @@ Zone America/Araguaina	-3:12:48 -	LMT	1914
     			-3:00	Brazil	BR%sT	1990 Sep 17
     			-3:00	-	BRT	1995 Sep 14
     			-3:00	Brazil	BR%sT	2003 Sep 24
    -			-3:00	-	BRT
    +			-3:00	-	BRT	2012 Oct 21
    +			-3:00	Brazil	BR%sT
     #
     # Alagoas (AL), Sergipe (SE)
     Zone America/Maceio	-2:22:52 -	LMT	1914
    @@ -1068,7 +1074,8 @@ Zone America/Maceio	-2:22:52 -	LMT	1914
     Zone America/Bahia	-2:34:04 -	LMT	1914
     			-3:00	Brazil	BR%sT	2003 Sep 24
     			-3:00	-	BRT	2011 Oct 16
    -			-3:00	Brazil	BR%sT
    +			-3:00	Brazil	BR%sT	2012 Oct 21
    +			-3:00	-	BRT
     #
     # Goias (GO), Distrito Federal (DF), Minas Gerais (MG),
     # Espirito Santo (ES), Rio de Janeiro (RJ), Sao Paulo (SP), Parana (PR),
    @@ -1160,7 +1167,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1914
     # Due to drought, Chile extends Daylight Time in three weeks.  This
     # is one-time change (Saturday 3/29 at 24:00 for America/Santiago
     # and Saturday 3/29 at 22:00 for Pacific/Easter)
    -# The Supreme Decree is located at 
    +# The Supreme Decree is located at
     # 
     # http://www.shoa.cl/servicios/supremo316.pdf
     # 
    @@ -1171,7 +1178,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1914
     
     # From Jose Miguel Garrido (2008-03-05):
     # ...
    -# You could see the announces of the change on 
    +# You could see the announces of the change on
     # 
     # http://www.shoa.cl/noticias/2008/04hora/hora.htm
     # .
    @@ -1196,7 +1203,7 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1914
     # http://www.emol.com/noticias/nacional/detalle/detallenoticias.asp?idnoticia=467651
     # 
     #
    -# This is not yet reflected in the offical "cambio de hora" site, but
    +# This is not yet reflected in the official "cambio de hora" site, but
     # probably will be soon:
     # 
     # http://www.horaoficial.cl/cambio.htm
    @@ -1218,6 +1225,32 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1914
     # August, not in October as they have since 1968. This is a pilot plan
     # which will be reevaluated in 2012.
     
    +# From Mauricio Parada (2012-02-22), translated by Glenn Eychaner (2012-02-23):
    +# As stated in the website of the Chilean Energy Ministry
    +# http://www.minenergia.cl/ministerio/noticias/generales/gobierno-anuncia-fechas-de-cambio-de.html
    +# The Chilean Government has decided to postpone the entrance into winter time
    +# (to leave DST) from March 11 2012 to April 28th 2012. The decision has not
    +# been yet formalized but it will within the next days.
    +# Quote from the website communication:
    +#
    +# 6. For the year 2012, the dates of entry into winter time will be as follows:
    +# a. Saturday April 28, 2012, clocks should go back 60 minutes; that is, at
    +# 23:59:59, instead of passing to 0:00, the time should be adjusted to be 23:00
    +# of the same day.
    +# b. Saturday, September 1, 2012, clocks should go forward 60 minutes; that is,
    +# at 23:59:59, instead of passing to 0:00, the time should be adjusted to be
    +# 01:00 on September 2.
    +
    +# From Steffen Thorsen (2013-02-15):
    +# According to several news sources, Chile has extended DST this year,
    +# they will end DST later and start DST earlier than planned.  They
    +# hope to save energy.  The new end date is 2013-04-28 00:00 and new
    +# start date is 2013-09-08 00:00....
    +# http://www.gob.cl/informa/2013/02/15/gobierno-anuncia-fechas-de-cambio-de-hora-para-el-ano-2013.htm
    +
    +# NOTE: ChileAQ rules for Antarctic bases are stored separately in the
    +# 'antarctica' file.
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Chile	1927	1932	-	Sep	 1	0:00	1:00	S
     Rule	Chile	1928	1932	-	Apr	 1	0:00	0	-
    @@ -1248,8 +1281,6 @@ Rule	Chile	1998	only	-	Mar	Sun>=9	3:00u	0	-
     Rule	Chile	1998	only	-	Sep	27	4:00u	1:00	S
     Rule	Chile	1999	only	-	Apr	 4	3:00u	0	-
     Rule	Chile	1999	2010	-	Oct	Sun>=9	4:00u	1:00	S
    -Rule	Chile	2011	only	-	Aug	Sun>=16	4:00u	1:00	S
    -Rule	Chile	2012	max	-	Oct	Sun>=9	4:00u	1:00	S
     Rule	Chile	2000	2007	-	Mar	Sun>=9	3:00u	0	-
     # N.B.: the end of March 29 in Chile is March 30 in Universal time,
     # which is used below in specifying the transition.
    @@ -1257,7 +1288,9 @@ Rule	Chile	2008	only	-	Mar	30	3:00u	0	-
     Rule	Chile	2009	only	-	Mar	Sun>=9	3:00u	0	-
     Rule	Chile	2010	only	-	Apr	Sun>=1	3:00u	0	-
     Rule	Chile	2011	only	-	May	Sun>=2	3:00u	0	-
    -Rule	Chile	2012	max	-	Mar	Sun>=9	3:00u	0	-
    +Rule	Chile	2011	only	-	Aug	Sun>=16	4:00u	1:00	S
    +Rule	Chile	2012	max	-	Apr	Sun>=23	3:00u	0	-
    +Rule	Chile	2012	max	-	Sep	Sun>=2	4:00u	1:00	S
     # IATA SSIM anomalies: (1992-02) says 1992-03-14;
     # (1996-09) says 1998-03-08.  Ignore these.
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    @@ -1279,17 +1312,23 @@ Zone Pacific/Easter	-7:17:44 -	LMT	1890
     # San Felix, and Antarctic bases, are like America/Santiago.
     
     # Colombia
    +
    +# Milne gives 4:56:16.4 for Bogota time in 1899; round to nearest.  He writes,
    +# "A variation of fifteen minutes in the public clocks of Bogota is not rare."
    +
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	CO	1992	only	-	May	 3	0:00	1:00	S
     Rule	CO	1993	only	-	Apr	 4	0:00	0	-
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	America/Bogota	-4:56:20 -	LMT	1884 Mar 13
    -			-4:56:20 -	BMT	1914 Nov 23 # Bogota Mean Time
    +Zone	America/Bogota	-4:56:16 -	LMT	1884 Mar 13
    +			-4:56:16 -	BMT	1914 Nov 23 # Bogota Mean Time
     			-5:00	CO	CO%sT	# Colombia Time
     # Malpelo, Providencia, San Andres
     # no information; probably like America/Bogota
     
     # Curacao
    +
    +# Milne gives 4:35:46.9 for Curacao mean time; round to nearest.
     #
     # From Paul Eggert (2006-03-22):
     # Shanks & Pottenger say that The Bottom and Philipsburg have been at
    @@ -1306,7 +1345,7 @@ Zone	America/Bogota	-4:56:20 -	LMT	1884 Mar 13
     # though, as far as we know.
     #
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    -Zone	America/Curacao	-4:35:44 -	LMT	1912 Feb 12	# Willemstad
    +Zone	America/Curacao	-4:35:47 -	LMT	1912 Feb 12	# Willemstad
     			-4:30	-	ANT	1965 # Netherlands Antilles Time
     			-4:00	-	AST
     
    @@ -1320,6 +1359,8 @@ Link	America/Curacao	America/Kralendijk # Bonaire, Sint Estatius and Saba
     
     # Ecuador
     #
    +# Milne says the Sentral and South American Telegraph Company used -5:24:15.
    +#
     # From Paul Eggert (2007-03-04):
     # Apparently Ecuador had a failed experiment with DST in 1992.
     #  (2007-02-27) and
    @@ -1403,6 +1444,21 @@ Zone Pacific/Galapagos	-5:58:24 -	LMT	1931 # Puerto Baquerizo Moreno
     # will not revert to local mean time, but clocks will remain on Summer
     # time (UTC/GMT - 3 hours) throughout the whole of 2011.  Any long term
     # change to local time following the trial period will be notified.
    +#
    +# From Andrew Newman (2012-02-24)
    +# A letter from Justin McPhee, Chief Executive,
    +# Cable & Wireless Falkland Islands (dated 2012-02-22)
    +# states...
    +#   The current Atlantic/Stanley entry under South America expects the
    +#   clocks to go back to standard Falklands Time (FKT) on the 15th April.
    +#   The database entry states that in 2011 Stanley was staying on fixed
    +#   summer time on a trial basis only.  FIG need to contact IANA and/or
    +#   the maintainers of the database to inform them we're adopting
    +#   the same policy this year and suggest recommendations for future years.
    +#
    +# For now we will assume permanent summer time for the Falklands
    +# until advised differently (to apply for 2012 and beyond, after the 2011
    +# experiment was apparently successful.)
     # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
     Rule	Falk	1937	1938	-	Sep	lastSun	0:00	1:00	S
     Rule	Falk	1938	1942	-	Mar	Sun>=19	0:00	0	-
    @@ -1415,14 +1471,14 @@ Rule	Falk	1984	only	-	Sep	16	0:00	1:00	S
     Rule	Falk	1985	2000	-	Sep	Sun>=9	0:00	1:00	S
     Rule	Falk	1986	2000	-	Apr	Sun>=16	0:00	0	-
     Rule	Falk	2001	2010	-	Apr	Sun>=15	2:00	0	-
    -Rule	Falk	2012	max	-	Apr	Sun>=15	2:00	0	-
    -Rule	Falk	2001	max	-	Sep	Sun>=1	2:00	1:00	S
    +Rule	Falk	2001	2010	-	Sep	Sun>=1	2:00	1:00	S
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone Atlantic/Stanley	-3:51:24 -	LMT	1890
     			-3:51:24 -	SMT	1912 Mar 12  # Stanley Mean Time
     			-4:00	Falk	FK%sT	1983 May     # Falkland Is Time
     			-3:00	Falk	FK%sT	1985 Sep 15
    -			-4:00	Falk	FK%sT
    +			-4:00	Falk	FK%sT	2010 Sep 5 02:00
    +			-3:00	-	FKST
     
     # French Guiana
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
    @@ -1510,7 +1566,16 @@ Rule	Para	2005	2009	-	Mar	Sun>=8	0:00	0	-
     # forward 60 minutes, in all the territory of the Paraguayan Republic.
     # ...
     Rule	Para	2010	max	-	Oct	Sun>=1	0:00	1:00	S
    -Rule	Para	2010	max	-	Apr	Sun>=8	0:00	0	-
    +Rule	Para	2010	2012	-	Apr	Sun>=8	0:00	0	-
    +#
    +# From Steffen Thorsen (2013-03-07):
    +# Paraguay will end DST on 2013-03-24 00:00....
    +# http://www.ande.gov.py/interna.php?id=1075
    +#
    +# From Carlos Raul Perasso (2013-03-15):
    +# The change in Paraguay is now final.  Decree number 10780
    +# http://www.presidencia.gov.py/uploads/pdf/presidencia-3b86ff4b691c79d4f5927ca964922ec74772ce857c02ca054a52a37b49afc7fb.pdf
    +Rule	Para	2013	max	-	Mar	Sun>=22	0:00	0	-
     
     # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
     Zone America/Asuncion	-3:50:40 -	LMT	1890
    diff --git a/share/zoneinfo/systemv b/share/zoneinfo/systemv
    index 767388d6a..e651e8540 100644
    --- a/share/zoneinfo/systemv
    +++ b/share/zoneinfo/systemv
    @@ -1,5 +1,4 @@
     # 
    -# @(#)systemv	8.2
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     
    diff --git a/share/zoneinfo/yearistype.sh b/share/zoneinfo/yearistype.sh
    index 26e316722..f3da80ada 100755
    --- a/share/zoneinfo/yearistype.sh
    +++ b/share/zoneinfo/yearistype.sh
    @@ -1,13 +1,11 @@
     #! /bin/sh
     #
    -#	$NetBSD: yearistype.sh,v 1.6 2006/09/23 17:34:36 kleink Exp $
    +#	$NetBSD: yearistype.sh,v 1.7 2012/07/22 10:40:29 apb Exp $
     #
     
     : 'This file is in the public domain, so clarified as of'
     : '2006-07-17 by Arthur David Olson.'
     
    -: '@(#)yearistype.sh	8.2'
    -
     case $#-$1 in
     	2-|2-0*|2-*[!0-9]*)
     		echo "$0: wild year - $1" >&2
    diff --git a/share/zoneinfo/zone.tab b/share/zoneinfo/zone.tab
    index c81709d95..3ec24a764 100644
    --- a/share/zoneinfo/zone.tab
    +++ b/share/zoneinfo/zone.tab
    @@ -1,19 +1,21 @@
    -# 
    -# @(#)zone.tab	8.52
    +# TZ zone descriptions
    +#
     # This file is in the public domain, so clarified as of
     # 2009-05-17 by Arthur David Olson.
     #
    -# TZ zone descriptions
    -#
    -# From Paul Eggert (1996-08-05):
    +# From Paul Eggert (2013-05-27):
     #
     # This file contains a table with the following columns:
     # 1.  ISO 3166 2-character country code.  See the file `iso3166.tab'.
    +#     This identifies a country that overlaps the zone.  The country may
    +#     overlap other zones and the zone may overlap other countries.
     # 2.  Latitude and longitude of the zone's principal location
     #     in ISO 6709 sign-degrees-minutes-seconds format,
     #     either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
     #     first latitude (+ is north), then longitude (+ is east).
    +#     This location need not lie within the column-1 country.
     # 3.  Zone name used in value of TZ environment variable.
    +#     Please see the 'Theory' file for how zone names are chosen.
     # 4.  Comments; present if and only if the country has multiple rows.
     #
     # Columns are separated by a single tab.
    @@ -23,6 +25,10 @@
     #
     # Lines beginning with `#' are comments.
     #
    +# This table is intended as an aid for users, to help them select time
    +# zone data appropriate for their practical needs.  It is not intended
    +# to take or endorse any position on legal or territorial claims.
    +#
     #country-
     #code	coordinates	TZ			comments
     AD	+4230+00131	Europe/Andorra
    @@ -43,7 +49,6 @@ AQ	-6617+11031	Antarctica/Casey	Casey Station, Bailey Peninsula
     AQ	-7824+10654	Antarctica/Vostok	Vostok Station, Lake Vostok
     AQ	-6640+14001	Antarctica/DumontDUrville	Dumont-d'Urville Station, Terre Adelie
     AQ	-690022+0393524	Antarctica/Syowa	Syowa Station, E Ongul I
    -AQ	-5430+15857	Antarctica/Macquarie	Macquarie Island Station, Macquarie Island
     AR	-3436-05827	America/Argentina/Buenos_Aires	Buenos Aires (BA, CF)
     AR	-3124-06411	America/Argentina/Cordoba	most locations (CB, CC, CN, ER, FM, MN, SE, SF)
     AR	-2447-06525	America/Argentina/Salta	(SA, LP, NQ, RN)
    @@ -59,6 +64,7 @@ AR	-5448-06818	America/Argentina/Ushuaia	Tierra del Fuego (TF)
     AS	-1416-17042	Pacific/Pago_Pago
     AT	+4813+01620	Europe/Vienna
     AU	-3133+15905	Australia/Lord_Howe	Lord Howe Island
    +AU	-5430+15857	Antarctica/Macquarie	Macquarie Island
     AU	-4253+14719	Australia/Hobart	Tasmania - most locations
     AU	-3956+14352	Australia/Currie	Tasmania - King Island
     AU	-3749+14458	Australia/Melbourne	Victoria
    @@ -131,6 +137,7 @@ CA	+5333-11328	America/Edmonton	Mountain Time - Alberta, east British Columbia &
     CA	+690650-1050310	America/Cambridge_Bay	Mountain Time - west Nunavut
     CA	+6227-11421	America/Yellowknife	Mountain Time - central Northwest Territories
     CA	+682059-1334300	America/Inuvik	Mountain Time - west Northwest Territories
    +CA	+4906-11631	America/Creston	Mountain Standard Time - Creston, British Columbia
     CA	+5946-12014	America/Dawson_Creek	Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
     CA	+4916-12307	America/Vancouver	Pacific Time - west British Columbia
     CA	+6043-13503	America/Whitehorse	Pacific Time - south Yukon
    @@ -159,7 +166,8 @@ CW	+1211-06900	America/Curacao
     CX	-1025+10543	Indian/Christmas
     CY	+3510+03322	Asia/Nicosia
     CZ	+5005+01426	Europe/Prague
    -DE	+5230+01322	Europe/Berlin
    +DE	+5230+01322	Europe/Berlin	most locations
    +DE	+4742+00841	Europe/Busingen	Busingen
     DJ	+1136+04309	Africa/Djibouti
     DK	+5540+01235	Europe/Copenhagen
     DM	+1518-06124	America/Dominica
    @@ -215,7 +223,7 @@ ID	-0002+10920	Asia/Pontianak	west & central Borneo
     ID	-0507+11924	Asia/Makassar	east & south Borneo, Sulawesi (Celebes), Bali, Nusa Tengarra, west Timor
     ID	-0232+14042	Asia/Jayapura	west New Guinea (Irian Jaya) & Malukus (Moluccas)
     IE	+5320-00615	Europe/Dublin
    -IL	+3146+03514	Asia/Jerusalem
    +IL	+314650+0351326	Asia/Jerusalem
     IM	+5409-00428	Europe/Isle_of_Man
     IN	+2232+08822	Asia/Kolkata
     IO	-0720+07225	Indian/Chagos
    @@ -333,7 +341,7 @@ RS	+4450+02030	Europe/Belgrade
     RU	+5443+02030	Europe/Kaliningrad	Moscow-01 - Kaliningrad
     RU	+5545+03735	Europe/Moscow	Moscow+00 - west Russia
     RU	+4844+04425	Europe/Volgograd	Moscow+00 - Caspian Sea
    -RU	+5312+05009	Europe/Samara	Moscow - Samara, Udmurtia
    +RU	+5312+05009	Europe/Samara	Moscow+00 - Samara, Udmurtia
     RU	+5651+06036	Asia/Yekaterinburg	Moscow+02 - Urals
     RU	+5500+07324	Asia/Omsk	Moscow+03 - west Siberia
     RU	+5502+08255	Asia/Novosibirsk	Moscow+03 - Novosibirsk
    @@ -341,8 +349,10 @@ RU	+5345+08707	Asia/Novokuznetsk	Moscow+03 - Novokuznetsk
     RU	+5601+09250	Asia/Krasnoyarsk	Moscow+04 - Yenisei River
     RU	+5216+10420	Asia/Irkutsk	Moscow+05 - Lake Baikal
     RU	+6200+12940	Asia/Yakutsk	Moscow+06 - Lena River
    +RU	+623923+1353314	Asia/Khandyga	Moscow+06 - Tomponsky, Ust-Maysky
     RU	+4310+13156	Asia/Vladivostok	Moscow+07 - Amur River
     RU	+4658+14242	Asia/Sakhalin	Moscow+07 - Sakhalin Island
    +RU	+643337+1431336	Asia/Ust-Nera	Moscow+07 - Oymyakonsky
     RU	+5934+15048	Asia/Magadan	Moscow+08 - Magadan
     RU	+5301+15839	Asia/Kamchatka	Moscow+08 - Kamchatka
     RU	+6445+17729	Asia/Anadyr	Moscow+08 - Bering Sea
    diff --git a/sys/Makefile b/sys/Makefile
    index fec626740..9bb0ce7b9 100644
    --- a/sys/Makefile
    +++ b/sys/Makefile
    @@ -1,8 +1,8 @@
    -#	$NetBSD: Makefile,v 1.78 2012/08/17 16:22:27 joerg Exp $
    +#	$NetBSD: Makefile,v 1.79 2013/03/01 18:25:27 joerg Exp $
     
     .include 
     
    -SUBDIR=	arch dev \
    +SUBDIR=	arch dev fs \
     	net netinet netinet6 \
             \
     	sys ufs uvm
    diff --git a/sys/arch/Makefile b/sys/arch/Makefile
    index 5934e96ba..295fbae5b 100644
    --- a/sys/arch/Makefile
    +++ b/sys/arch/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.41 2011/07/17 20:54:35 joerg Exp $
    +#	$NetBSD: Makefile,v 1.42 2013/05/02 03:56:40 matt Exp $
     
     # For now, we install the machine and arch includes, and symlink 'machine'
     # to the location of the machine includes (usually).
    @@ -7,7 +7,6 @@
     
     .include 
     
    -SUBDIR=	${MACHINE}
     ARCHSUBDIR= ${MACHINE_CPU}
     
     .if ${ARCHSUBDIR} == "mips64"
    @@ -17,6 +16,12 @@ ARCHSUBDIR= mips
     ARCHSUBDIR= powerpc
     .endif
     
    +.if ${MACHINE_CPU} == "arm"
    +SUBDIR= evbarm
    +.else
    +SUBDIR=	${MACHINE}
    +.endif
    +
     .if ${MACHINE} != ${ARCHSUBDIR}
     .if exists(${ARCHSUBDIR})
     SUBDIR+= ${ARCHSUBDIR}
    @@ -39,7 +44,7 @@ SUBDIR+= xen
     #	bebox \
     #	cats cesfic cobalt \
     #	dreamcast \
    -#	evbarm evbmips evbppc evbsh3 ews4800mips\
    +#	emips epoc32 evbarm evbmips evbppc evbsh3 ews4800mips\
     #	hp300 hpc hpcarm hpcmips hpcsh \
     #	i386 iyonix \
     #	luna68k \
    @@ -53,7 +58,11 @@ SUBDIR+= xen
     #	x68k x86_64 xen \
     #	zaurus
     
    +.if ${MACHINE_CPU} == arm
    +INCSYMLINKS= ${MACHINE_CPU} /usr/include/machine
    +.else
     INCSYMLINKS= ${MACHINE} /usr/include/machine
    +.endif
     
     INCSYMLINKS+= machine/float.h /usr/include/float.h
     
    diff --git a/sys/arch/README b/sys/arch/README
    new file mode 100644
    index 000000000..284c9ed4b
    --- /dev/null
    +++ b/sys/arch/README
    @@ -0,0 +1,78 @@
    +$NetBSD: README,v 1.60 2013/05/02 12:09:40 kiyohara Exp $
    +
    +acorn26	arm	20000509	Acorn ARM2- and ARM3-based machines
    +acorn32	arm	20011118	Acorn computers Ltd. ARM 6/7/SA based machines
    +algor	mipsel,mips64el	20010528	Algorithmics, Ltd. MIPS evaluation boards
    +alpha	alpha	19950213	Compaq (formerly Digital Equipment Corp.) Alpha
    +amd64	x86_64	20010619	AMD's x86 64 bit architecture
    +amiga	m68k	19930902	Commodore et al. Amiga
    +amigappc	powerpc	20000525	Phase 5 Amiga
    +arc	mipsel,mips64el	20000123	MIPS Advanced Risc Computing spec machines
    +atari	m68k	19950326	Atari TT30, Falcon, and Hades
    +bebox	powerpc	19971014	Be Inc. BeBox
    +cats	arm	19981005	Chalice Technologies, CATS motherboard
    +cesfic	m68k	20010514	FIC8234 VME processor board
    +cobalt	mipsel,mips64el	20000319	Cobalt Networks Microservers
    +dreamcast	sh3el	20010107	SEGA Dreamcast
    +emips	mipseb	20110126	Machines based on Extensible MIPS
    +epoc32	arm	20130502	32bit EPOC OS machines
    +evbarm	armeb	20010905	ARM-based eval boards
    +evbmips	mipseb,mipsel,mips64eb,mips64el	20020307	MIPS-based eval boards
    +evbppc	powerpc,powerpc64	20021209	PowerPC-based eval boards
    +evbsh3	sh3eb,sh3el	20010206	Hitachi SuperH(TM) sh3 and sh4 eval boards
    +ews4800mips	mipseb	20051229	NEC's MIPS based EWS4800 workstations
    +hp300	m68k	19930512	Hewlett Packard 300- and 400-series machines
    +hp700	hppa	20020606	Hewlett Packard 700-series machines
    +hpcarm	arm	20010220	ARM based handheld PCs
    +hpcmips	mipsel	19990925	MIPS based handheld PCs
    +hpcsh	sh3el	20010117	Hitachi SuperH(TM) based handheld PCs
    +i386	i386	19930321	Intel/AMD etc. x86 processor line
    +ia64	ia64	00000000	Intel Itanium/Itanium2 processor based workstations
    +ibmnws	powerpc	00000000	IBM Network Station Thin Clients
    +iyonix	arm	20040713	Castle Technology xscale based workstations
    +landisk	sh3el	20060901	SH4 processor based NAS appliances by I-O DATA
    +luna68k	m68k	20000105	LUNA product line of OMRON Tateisi Electronics
    +mac68k	m68k	19930929	Apple Macintosh
    +macppc	powerpc,powerpc64	19980515	Apple Power Macintosh and clones
    +mipsco	mipseb	20000812	MIPS Corp Magnum 3000 computers
    +mmeye	sh3eb	19990913	Hitachi SuperH(TM) computer controlled camera
    +mvme68k	m68k	19950725	Motorola's VMEbus 68K based single board computers
    +mvmeppc	powerpc	20020227	Motorola's PowerPC machines running older PPCBUG
    +netwinder	arm	20010609	StrongARM based Netwinder machines
    +news68k	m68k	19991209	Sony's m68k based NET WORK STATION
    +newsmips	mipseb	19980218	Sony's MIPS based NET WORK STATION
    +next68k	m68k	19980609	NeXT Computer's cubes and slabs
    +ofppc	powerpc,powerpc64	19980528	Open Firmware based PowerPC machines
    +pmax	mipsel,mips64el	19931012	Digital Equipment Corp. MIPS based machines
    +prep	powerpc	20000229	PowerPC Reference Platform machines
    +rs6000	powerpc	20071217	MCA-based IBM RS/6000 wokstations
    +sandpoint	powerpc	20010211	Motorola Sandpoint based NAS systems
    +sbmips	mipseb,mipsel,mips64eb,mips64el	20020306	Broadcom's SiByte processor evaluation boards
    +sgimips	mipseb,mips64eb	20000614	MIPS based Silicon Graphics machines
    +shark	arm	19960131	Digital Network Appliance Reference Design ("Shark")
    +sparc	sparc	19931002	Sun Microsystems SPARC (sun4, sun4c, sun4m) 32 bit machines
    +sparc64	sparc64/sparc	19980620	Sun Microsystems UltraSPARC 64 bit machines
    +sun2	m68000	20010328	Sun m68010 based machines
    +sun3	m68k	19930625	Sun m680[23]0 based machines
    +vax	vax	19940802	Digital Equipment Corp. VAX machines
    +x68k	m68k	19960505	Sharp X68000, X68030
    +xen	xen	20040311	Xen virtual machine monitor
    +zaurus	arm	20061217	Sharp Zaurus C7x0/860/1000/3x00 PDAs
    +
    +Generic cpu features shared among multiple ports
    +arm:		ARM CPU based platform files
    +hppa:		Hewlett Packard PA-RISC CPU based platform files
    +m68k:		Motorola 680x0 CPU based platform files
    +mips:		MIPS CPU based platform files
    +powerpc:	PowerPC CPU based platform files
    +sh3:		Hitachi SuperH(TM) sh3 and sh4 CPU based platform files
    +sparc:		Sun Microsystems SPARC(TM) CPU based platform files
    +x86:		Intel x86 based platform files.
    +
    +Generic architectural features shared among multiple ports
    +hpc:		Handheld PC reference platform files
    +sun68k:		Sun Microsystems Motorola 680x0 CPU based platform files
    +
    +Single port cpu families
    +alpha:		Digital Equipment Alpha processor
    +ia64:		Intel Itanium/Itanium2 processor
    diff --git a/sys/arch/arm/include/Makefile b/sys/arch/arm/include/Makefile
    index 32e11fea7..befb9eae0 100644
    --- a/sys/arch/arm/include/Makefile
    +++ b/sys/arch/arm/include/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.43 2012/08/15 20:38:49 matt Exp $
    +#	$NetBSD: Makefile,v 1.47 2013/05/02 03:56:40 matt Exp $
     
     INCSDIR= /usr/include/arm
     
    @@ -7,9 +7,10 @@ INCS=	aeabi.h ansi.h aout_machdep.h armreg.h asm.h atomic.h \
     	cdefs.h cpu.h cpuconf.h \
     	disklabel.h \
     	elf_machdep.h endian.h endian_machdep.h \
    -	float.h fp.h frame.h \
    +	fenv.h float.h frame.h \
     	ieee.h ieeefp.h \
     	int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \
    +	 \
     	kcore.h \
     	limits.h lock.h \
     	math.h mcontext.h mutex.h \
    @@ -18,7 +19,7 @@ INCS=	aeabi.h ansi.h aout_machdep.h armreg.h asm.h atomic.h \
     	reg.h rwlock.h \
     	setjmp.h signal.h swi.h sysarch.h \
     	trap.h types.h \
    -	vfpreg.h \
    +	vfpreg.h vmparam.h \
     	wchar_limits.h
     
     .include 
    diff --git a/sys/arch/arm/include/Makefile.common b/sys/arch/arm/include/Makefile.common
    new file mode 100644
    index 000000000..3707a37f5
    --- /dev/null
    +++ b/sys/arch/arm/include/Makefile.common
    @@ -0,0 +1,26 @@
    +#	$NetBSD: Makefile.common,v 1.2 2013/05/02 03:56:40 matt Exp $
    +
    +.PATH: ../../arm/include/common
    +
    +.if 0
    +INCS+=	ansi.h aout_machdep.h asm.h \
    +	bswap.h \
    +	cdefs.h cpu.h \
    +	elf_machdep.h endian.h endian_machdep.h \
    +	fenv.h float.h frame.h \
    +	ieee.h ieeefp.h \
    +	int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \
    +	limits.h lock.h \
    +	math.h mcontext.h mutex.h \
    +	param.h pcb.h pmap.h pmc.h proc.h profile.h ptrace.h \
    +	reg.h rwlock.h \
    +	setjmp.h signal.h sysarch.h \
    +	trap.h types.h \
    +	vmparam.h \
    +	wchar_limits.h
    +.else
    +INCS+=	disklabel.h \
    +
    +.endif
    +
    +.include 
    diff --git a/sys/arch/arm/include/aeabi.h b/sys/arch/arm/include/aeabi.h
    index 95083842c..a1675409a 100644
    --- a/sys/arch/arm/include/aeabi.h
    +++ b/sys/arch/arm/include/aeabi.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: aeabi.h,v 1.2 2012/08/11 16:21:26 matt Exp $	*/
    +/*	$NetBSD: aeabi.h,v 1.5 2013/08/01 22:20:40 matt Exp $	*/
     
     /*-
      * Copyright (c) 2012 The NetBSD Foundation, Inc.
    @@ -31,89 +31,94 @@
     #ifndef _ARM_AEABI_H_
     #define	_ARM_AEABI_H_
     
    +#if defined(_KERNEL) || defined(_STANDALONE)
    +#include 
    +#else
     #include 
    +#endif
     
     #define	__value_in_regs		/* nothing */
    +#define	__aapcs			__attribute__((__pcs__("aapcs")))
     
     /*
      * Standard double precision floating-point arithmetic helper functions
      */
    -double __aeabi_dadd(double, double);	// double-precision addition
    -double __aeabi_ddiv(double n, double d);	// double-precision division, n / d
    -double __aeabi_dmul(double, double);	// double-precision multiplication
    -double __aeabi_drsub(double x, double y);	// double-precision reverse subtraction, y - x
    -double __aeabi_dsub(double x, double y);	// double-precision subtraction, x - y
    -double __aeabi_dneg(double);	// double-precision negation (obsolete, to be removed in r2.09)
    +double __aeabi_dadd(double, double) __aapcs;	// double-precision addition
    +double __aeabi_ddiv(double n, double d) __aapcs;	// double-precision division, n / d
    +double __aeabi_dmul(double, double) __aapcs;	// double-precision multiplication
    +double __aeabi_drsub(double x, double y) __aapcs;	// double-precision reverse subtraction, y - x
    +double __aeabi_dsub(double x, double y) __aapcs;	// double-precision subtraction, x - y
    +double __aeabi_dneg(double) __aapcs;	// double-precision negation (obsolete, to be removed in r2.09)
     
     /*
      * Double precision floating-point comparison helper functions
      */
    -void __aeabi_cdcmpeq(double, double); // non-excepting equality comparison [1], result in PSR ZC flags
    -void __aeabi_cdcmple(double, double); // 3-way (<, =, >) compare [1], result in PSR ZC flags
    -void __aeabi_cdrcmple(double, double); // reversed 3-way (<, =, >) compare [1], result in PSR ZC flags
    -int __aeabi_dcmpeq(double, double); // result (1, 0) denotes (=, <>) [2], use for C == and !=
    -int __aeabi_dcmplt(double, double); // result (1, 0) denotes (<, >=) [2], use for C <
    -int __aeabi_dcmple(double, double); // result (1, 0) denotes (<=, >) [2], use for C <=
    -int __aeabi_dcmpge(double, double); // result (1, 0) denotes (>=, <) [2], use for C >=
    -int __aeabi_dcmpgt(double, double); // result (1, 0) denotes (>, <=) [2], use for C >
    -int __aeabi_dcmpun(double, double); // result (1, 0) denotes (?, <=>) [2], use for C99 isunordered()
    +void __aeabi_cdcmpeq(double, double) __aapcs; // non-excepting equality comparison [1], result in PSR ZC flags
    +void __aeabi_cdcmple(double, double) __aapcs; // 3-way (<, =, >) compare [1], result in PSR ZC flags
    +void __aeabi_cdrcmple(double, double) __aapcs; // reversed 3-way (<, =, >) compare [1], result in PSR ZC flags
    +int __aeabi_dcmpeq(double, double) __aapcs; // result (1, 0) denotes (=, <>) [2], use for C == and !=
    +int __aeabi_dcmplt(double, double) __aapcs; // result (1, 0) denotes (<, >=) [2], use for C <
    +int __aeabi_dcmple(double, double) __aapcs; // result (1, 0) denotes (<=, >) [2], use for C <=
    +int __aeabi_dcmpge(double, double) __aapcs; // result (1, 0) denotes (>=, <) [2], use for C >=
    +int __aeabi_dcmpgt(double, double) __aapcs; // result (1, 0) denotes (>, <=) [2], use for C >
    +int __aeabi_dcmpun(double, double) __aapcs; // result (1, 0) denotes (?, <=>) [2], use for C99 isunordered()
     
     /*
      * Standard single precision floating-point arithmetic helper functions
      */
    -float __aeabi_fadd(float, float); // single-precision addition
    -float __aeabi_fdiv(float n, float d); // single-precision division, n / d
    -float __aeabi_fmul(float, float); // single-precision multiplication
    -float __aeabi_frsub(float x, float y); // single-precision reverse subtraction, y - x
    -float __aeabi_fsub(float x, float y); // single-precision subtraction, x - y
    -float __aeabi_fneg(float); // single-precision negation (obsolete, to be removed in r2.09)
    +float __aeabi_fadd(float, float) __aapcs; // single-precision addition
    +float __aeabi_fdiv(float n, float d) __aapcs; // single-precision division, n / d
    +float __aeabi_fmul(float, float) __aapcs; // single-precision multiplication
    +float __aeabi_frsub(float x, float y) __aapcs; // single-precision reverse subtraction, y - x
    +float __aeabi_fsub(float x, float y) __aapcs; // single-precision subtraction, x - y
    +float __aeabi_fneg(float) __aapcs; // single-precision negation (obsolete, to be removed in r2.09)
     
     /*
      * Standard single precision floating-point comparison helper functions
      */
    -void __aeabi_cfcmpeq(float, float); // non-excepting equality comparison [1], result in PSR ZC flags
    -void __aeabi_cfcmple(float, float); // 3-way (<, =, ?>) compare [1], result in PSR ZC flags
    -void __aeabi_cfrcmple(float, float); // reversed 3-way (<, =, ?>) compare [1], result in PSR ZC flags
    -int __aeabi_fcmpeq(float, float); // result (1, 0) denotes (=, <>) [2], use for C == and !=
    -int __aeabi_fcmplt(float, float); // result (1, 0) denotes (<, >=) [2], use for C <
    -int __aeabi_fcmple(float, float); // result (1, 0) denotes (<=, >) [2], use for C <=
    -int __aeabi_fcmpge(float, float); // result (1, 0) denotes (>=, <) [2], use for C >=
    -int __aeabi_fcmpgt(float, float); // result (1, 0) denotes (>, <=) [2], use for C >
    -int __aeabi_fcmpun(float, float); // result (1, 0) denotes (?, <=>) [2], use for C99 isunordered()
    +void __aeabi_cfcmpeq(float, float) __aapcs; // non-excepting equality comparison [1], result in PSR ZC flags
    +void __aeabi_cfcmple(float, float) __aapcs; // 3-way (<, =, ?>) compare [1], result in PSR ZC flags
    +void __aeabi_cfrcmple(float, float) __aapcs; // reversed 3-way (<, =, ?>) compare [1], result in PSR ZC flags
    +int __aeabi_fcmpeq(float, float) __aapcs; // result (1, 0) denotes (=, <>) [2], use for C == and !=
    +int __aeabi_fcmplt(float, float) __aapcs; // result (1, 0) denotes (<, >=) [2], use for C <
    +int __aeabi_fcmple(float, float) __aapcs; // result (1, 0) denotes (<=, >) [2], use for C <=
    +int __aeabi_fcmpge(float, float) __aapcs; // result (1, 0) denotes (>=, <) [2], use for C >=
    +int __aeabi_fcmpgt(float, float) __aapcs; // result (1, 0) denotes (>, <=) [2], use for C >
    +int __aeabi_fcmpun(float, float) __aapcs; // result (1, 0) denotes (?, <=>) [2], use for C99 isunordered()
     
     /*
      * Standard conversions between floating types
      */
    -float __aeabi_d2f(double);	// double to float (single precision) conversion
    -double __aeabi_f2d(float);	// float (single precision) to double conversion
    -float __aeabi_h2f(short hf);	// IEEE 754 binary16 storage format (VFP half precision) to binary32 (float) conversion [4, 5]
    -short __aeabi_f2h(float f);	// IEEE 754 binary32 (float) to binary16 storage format (VFP half precision) conversion [4, 6]
    -float __aeabi_h2f_alt(short hf);	// __aeabi_h2f_alt converts from VFP alternative format [7].
    -short __aeabi_f2h_alt(float f);	// __aeabi_f2h_alt converts to VFP alternative format [8].
    +float __aeabi_d2f(double) __aapcs;	// double to float (single precision) conversion
    +double __aeabi_f2d(float) __aapcs;	// float (single precision) to double conversion
    +float __aeabi_h2f(short hf) __aapcs;	// IEEE 754 binary16 storage format (VFP half precision) to binary32 (float) conversion [4, 5]
    +short __aeabi_f2h(float f) __aapcs;	// IEEE 754 binary32 (float) to binary16 storage format (VFP half precision) conversion [4, 6]
    +float __aeabi_h2f_alt(short hf) __aapcs;	// __aeabi_h2f_alt converts from VFP alternative format [7].
    +short __aeabi_f2h_alt(float f) __aapcs;	// __aeabi_f2h_alt converts to VFP alternative format [8].
     
     /*
      * Standard floating-point to integer conversions
      */
    -int __aeabi_d2iz(double);	// double to integer C-style conversion [3]
    -unsigned __aeabi_d2uiz(double);	// double to unsigned C-style conversion [3]
    -long long __aeabi_d2lz(double);	// double to long long C-style conversion [3]
    -unsigned long long __aeabi_d2ulz(double);	// double to unsigned long long C-style conversion [3]
    -int __aeabi_f2iz(float);	// float (single precision) to integer C-style conversion [3]
    -unsigned __aeabi_f2uiz(float);	// float (single precision) to unsigned C-style conversion [3]
    -long long __aeabi_f2lz(float);	// float (single precision) to long long C-style conversion [3]
    -unsigned long long __aeabi_f2ulz(float);	// float to unsigned long long C-style conversion [3]
    +int __aeabi_d2iz(double) __aapcs;	// double to integer C-style conversion [3]
    +unsigned __aeabi_d2uiz(double) __aapcs;	// double to unsigned C-style conversion [3]
    +long long __aeabi_d2lz(double) __aapcs;	// double to long long C-style conversion [3]
    +unsigned long long __aeabi_d2ulz(double) __aapcs;	// double to unsigned long long C-style conversion [3]
    +int __aeabi_f2iz(float) __aapcs;	// float (single precision) to integer C-style conversion [3]
    +unsigned __aeabi_f2uiz(float) __aapcs;	// float (single precision) to unsigned C-style conversion [3]
    +long long __aeabi_f2lz(float) __aapcs;	// float (single precision) to long long C-style conversion [3]
    +unsigned long long __aeabi_f2ulz(float) __aapcs;	// float to unsigned long long C-style conversion [3]
     
     /*
      * Standard integer to floating-point conversions
      */
    -double __aeabi_i2d(int);		// integer to double conversion
    -double __aeabi_ui2d(unsigned);	// unsigned to double conversion
    -double __aeabi_l2d(long long);	// long long to double conversion
    -double __aeabi_ul2d(unsigned long long);	// unsigned long long to double conversion
    -float __aeabi_i2f(int);	// integer to float (single precision) conversion
    -float __aeabi_ui2f(unsigned);	// unsigned to float (single precision) conversion
    -float __aeabi_l2f(long long);	// long long to float (single precision) conversion
    -float __aeabi_ul2f(unsigned long long);	// unsigned long long to float (single precision) conversion
    +double __aeabi_i2d(int) __aapcs;		// integer to double conversion
    +double __aeabi_ui2d(unsigned) __aapcs;	// unsigned to double conversion
    +double __aeabi_l2d(long long) __aapcs;	// long long to double conversion
    +double __aeabi_ul2d(unsigned long long) __aapcs;	// unsigned long long to double conversion
    +float __aeabi_i2f(int) __aapcs;	// integer to float (single precision) conversion
    +float __aeabi_ui2f(unsigned) __aapcs;	// unsigned to float (single precision) conversion
    +float __aeabi_l2f(long long) __aapcs;	// long long to float (single precision) conversion
    +float __aeabi_ul2f(unsigned long long) __aapcs;	// unsigned long long to float (single precision) conversion
     
     /*
      * Long long functions
    @@ -197,4 +202,6 @@ void __aeabi_memclr(void *, size_t);
     
     void *__aeabi_read_tp(void); // return the value of $tp
     
    +#undef	__aapcs
    +
     #endif /* _ARM_AEABI_H_ */
    diff --git a/sys/arch/arm/include/ansi.h b/sys/arch/arm/include/ansi.h
    index de11a247e..fdd86a67c 100644
    --- a/sys/arch/arm/include/ansi.h
    +++ b/sys/arch/arm/include/ansi.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ansi.h,v 1.13 2011/07/17 20:54:37 joerg Exp $	*/
    +/*	$NetBSD: ansi.h,v 1.15 2013/01/27 17:43:20 matt Exp $	*/
     
     /*
      * Copyright (c) 1990, 1993
    @@ -51,20 +51,37 @@
     #if defined(__minix)
     /* To change this, this require also changing the defintion of size_t in GCC,
      * and to adapt the following headers: int_fmt.h, int_types.h */
    -#define        _BSD_PTRDIFF_T_         int             /* ptr1 - ptr2 */
    -#define        _BSD_SIZE_T_            unsigned int    /* sizeof() */
    -#define        _BSD_SSIZE_T_           int             /* byte count or error */
    +#define _BSD_PTRDIFF_T_		int             /* ptr1 - ptr2 */
    +#define _BSD_SIZE_T_		unsigned int    /* sizeof() */
    +#define _BSD_SSIZE_T_		int             /* byte count or error */
    +#else
    +#ifdef __PTRDIFF_TYPE__
    +#define	_BSD_PTRDIFF_T_		__PTRDIFF_TYPE__ /* ptr1 - ptr2 */
    +#define	_BSD_SSIZE_T_		__PTRDIFF_TYPE__ /* byte count or error */
     #else
     #define	_BSD_PTRDIFF_T_		long int	/* ptr1 - ptr2 */
    -#define	_BSD_SIZE_T_		unsigned long int /* sizeof() */
     #define	_BSD_SSIZE_T_		long int	/* byte count or error */
    +#endif
    +#ifdef __SIZE_TYPE__
    +#define	_BSD_SIZE_T_		__SIZE_TYPE__	/* sizeof() */
    +#else
    +#define	_BSD_SIZE_T_		unsigned long int /* sizeof() */
    +#endif
     #endif /* defined(__minix) */
     #define	_BSD_TIME_T_		__int64_t	/* time() */
     #define	_BSD_CLOCKID_T_		int		/* clockid_t */
     #define	_BSD_TIMER_T_		int		/* timer_t */
     #define	_BSD_SUSECONDS_T_	int		/* suseconds_t */
     #define	_BSD_USECONDS_T_	unsigned int	/* useconds_t */
    +#ifdef __WCHAR_TYPE__
    +#define	_BSD_WCHAR_T_		__WCHAR_TYPE__	/* wchar_t */
    +#else
     #define	_BSD_WCHAR_T_		int		/* wchar_t */
    +#endif
    +#ifdef __WINT_TYPE__
    +#define	_BSD_WINT_T_		__WINT_TYPE__	/* wint_t */
    +#else
     #define	_BSD_WINT_T_		int		/* wint_t */
    +#endif
     
     #endif	/* _ANSI_H_ */
    diff --git a/sys/arch/arm/include/apmvar.h b/sys/arch/arm/include/apmvar.h
    new file mode 100644
    index 000000000..5384d771d
    --- /dev/null
    +++ b/sys/arch/arm/include/apmvar.h
    @@ -0,0 +1,34 @@
    +/*	$NetBSD: apmvar.h,v 1.1 2013/05/02 03:56:40 matt Exp $	*/
    +
    +/*-
    + * Copyright (c) 1995 The NetBSD Foundation, 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:
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +#ifndef __ZAURUS_APMVAR_H__
    +#define __ZAURUS_APMVAR_H__
    +
    +#include 
    +#include 
    +
    +#endif /* __ZAURUS_APMVAR_H__ */
    diff --git a/sys/arch/arm/include/arm32/db_machdep.h b/sys/arch/arm/include/arm32/db_machdep.h
    index 3e46e6091..fbbaf078c 100644
    --- a/sys/arch/arm/include/arm32/db_machdep.h
    +++ b/sys/arch/arm/include/arm32/db_machdep.h
    @@ -1,11 +1,10 @@
    -/* $NetBSD: db_machdep.h,v 1.6 2012/09/21 22:12:36 matt Exp $ */
    +/* $NetBSD: db_machdep.h,v 1.7 2013/01/05 15:06:51 christos Exp $ */
     
     #ifndef _ARM32_DB_MACHDEP_H_
     #define _ARM32_DB_MACHDEP_H_
     
     #include 
     
    -void db_show_panic_cmd(db_expr_t, bool, db_expr_t, const char *);
     void db_show_frame_cmd(db_expr_t, bool, db_expr_t, const char *);
     void db_show_fault_cmd(db_expr_t, bool, db_expr_t, const char *);
     
    diff --git a/sys/arch/arm/include/arm32/frame.h b/sys/arch/arm/include/arm32/frame.h
    index 794f07ac2..8976fe779 100644
    --- a/sys/arch/arm/include/arm32/frame.h
    +++ b/sys/arch/arm/include/arm32/frame.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: frame.h,v 1.33 2012/08/29 07:09:12 matt Exp $	*/
    +/*	$NetBSD: frame.h,v 1.36 2013/08/18 06:37:02 matt Exp $	*/
     
     /*
      * Copyright (c) 1994-1997 Mark Brinicombe.
    @@ -50,14 +50,6 @@
     
     #ifndef _LOCORE
     
    -/*
    - * System stack frames.
    - */
    -
    -struct clockframe {
    -	struct trapframe cf_tf;
    -};
    -
     /*
      * Switch frame.
      *
    @@ -73,6 +65,14 @@ struct switchframe {
     	u_int	sf_pc;
     };
      
    +/*
    + * System stack frames.
    + */
    +
    +struct clockframe {
    +	struct trapframe cf_tf;
    +};
    +
     /*
      * Stack frame. Used during stack traces (db_trace.c)
      */
    @@ -96,16 +96,33 @@ void validate_trapframe(trapframe_t *, int);
     #include "opt_arm_debug.h"
     #include "opt_cputypes.h"
     
    -#include 
    +#include 
     
     /*
      * This macro is used by DO_AST_AND_RESTORE_ALIGNMENT_FAULTS to process
      * any pending softints.
      */
    +#ifdef _ARM_ARCH_4T
    +#define	B_CF_CONTROL(rX)						;\
    +	ldr	ip, [rX, #CF_CONTROL]	/* get function addr */		;\
    +	bx	ip			/* branch to cpu_control */
    +#else
    +#define	B_CF_CONTROL(rX)						;\
    +	ldr	pc, [rX, #CF_CONTROL]	/* branch to cpu_control */
    +#endif
    +#ifdef _ARM_ARCH_5T
    +#define	BL_CF_CONTROL(rX)						;\
    +	ldr	ip, [rX, #CF_CONTROL]	/* get function addr */		;\
    +	blx	ip			/* call cpu_control */
    +#else
    +#define	BL_CF_CONTROL(rX)						;\
    +	mov	lr, pc							;\
    +	ldr	pc, [rX, #CF_CONTROL]	/* call cpu_control */
    +#endif
     #if defined(__HAVE_FAST_SOFTINTS) && !defined(__HAVE_PIC_FAST_SOFTINTS)
     #define	DO_PENDING_SOFTINTS						\
     	ldr	r0, [r4, #CI_INTR_DEPTH]/* Get current intr depth */	;\
    -	teq	r0, #0			/* Test for 0. */		;\
    +	cmp	r0, #0			/* Test for 0. */		;\
     	bne	10f			/*   skip softints if != 0 */	;\
     	ldr	r0, [r4, #CI_CPL]	/* Get current priority level */;\
     	ldr	r1, [r4, #CI_SOFTINTS]	/* Get pending softint mask */	;\
    @@ -183,8 +200,7 @@ void validate_trapframe(trapframe_t *, int);
     	ldr	r2, .Laflt_cpufuncs					;\
     	ldr	r1, [r4, #CI_CTRL]	/* Fetch control register */	;\
     	mov	r0, #-1							;\
    -	mov	lr, pc							;\
    -	ldr	pc, [r2, #CF_CONTROL]	/* Enable alignment faults */	;\
    +	BL_CF_CONTROL(r2)		/* Enable alignment faults */	;\
     1:	KERNEL_LOCK
     
     /*
    @@ -211,7 +227,7 @@ void validate_trapframe(trapframe_t *, int);
     	mov	r0, #-1							;\
     	bic	r1, r1, #CPU_CONTROL_AFLT_ENABLE  /* Disable AFLTs */	;\
     	adr	lr, 3f							;\
    -	ldr	pc, [r2, #CF_CONTROL]	/* Set new CTRL reg value */	;\
    +	B_CF_CONTROL(r2)		/* Set new CTRL reg value */	;\
     	/* NOTREACHED */						\
     2:	mov	r1, #0x00000000						;\
     	str	r1, [r4, #CI_ASTPENDING] /* Clear astpending */		;\
    @@ -323,7 +339,7 @@ LOCK_CAS_DEBUG_LOCALS
      */
     #define	PUSHUSERREGS							   \
     	stmia	sp, {r0-r12};		/* Push the user mode registers */ \
    -	add	r0, sp, #(4*13);	/* Adjust the stack pointer */	   \
    +	add	r0, sp, #(TF_USR_SP-TF_R0); /* Adjust the stack pointer */ \
     	stmia	r0, {r13-r14}^		/* Push the user mode registers */
     #else
     #define	PUSHUSERREGS							   \
    @@ -332,11 +348,61 @@ LOCK_CAS_DEBUG_LOCALS
     
     #define PUSHFRAME							   \
     	str	lr, [sp, #-4]!;		/* Push the return address */	   \
    -	sub	sp, sp, #(4*17);	/* Adjust the stack pointer */	   \
    +	sub	sp, sp, #(TF_PC-TF_R0);	/* Adjust the stack pointer */	   \
     	PUSHUSERREGS;			/* Push the user mode registers */ \
     	mov     r0, r0;                 /* NOP for previous instruction */ \
     	mrs	r0, spsr_all;		/* Get the SPSR */		   \
    -	str	r0, [sp, #-8]!		/* Push the SPSR on the stack */
    +	str	r0, [sp, #-TF_R0]!	/* Push the SPSR on the stack */
    +
    +/*
    + * Push a minimal trapframe so we can dispatch an interrupt from the
    + * idle loop.  The only reason the idle loop wakes up is to dispatch
    + * interrupts so why take the avoid of a full exception when we can do
    + * something minimal.
    + */
    +#define PUSHIDLEFRAME							   \
    +	str	lr, [sp, #-4]!;		/* save SVC32 lr */		   \
    +	str	r6, [sp, #(TF_R6-TF_PC)]!; /* save callee-saved r6 */	   \
    +	str	r4, [sp, #(TF_R4-TF_R6)]!; /* save callee-saved r4 */	   \
    +	mrs	r0, cpsr_all;		/* Get the CPSR */		   \
    +	str	r0, [sp, #(-TF_R4)]!	/* Push the CPSR on the stack */
    +
    +/*
    + * Push a trapframe to be used by cpu_switchto
    + */
    +#define PUSHSWITCHFRAME(rX)						\
    +	mov	ip, sp;							\
    +	sub	sp, sp, #(TRAPFRAMESIZE-TF_R12); /* Adjust the stack pointer */ \
    +	push	{r4-r11};		/* Push the callee saved registers */ \
    +	sub	sp, sp, #TF_R4;		/* reserve rest of trapframe */	\
    +	str	ip, [sp, #TF_SVC_SP];					\
    +	str	lr, [sp, #TF_SVC_LR];					\
    +	str	lr, [sp, #TF_PC];					\
    +	mrs	rX, cpsr_all;		/* Get the CPSR */		\
    +	str	rX, [sp, #TF_SPSR]	/* save in trapframe */
    +
    +#define PUSHSWITCHFRAME1						   \
    +	mov	ip, sp;							   \
    +	sub	sp, sp, #(TRAPFRAMESIZE-TF_R8); /* Adjust the stack pointer */ \
    +	push	{r4-r7};		/* Push some of the callee saved registers */ \
    +	sub	sp, sp, #TF_R4;		/* reserve rest of trapframe */	\
    +	str	ip, [sp, #TF_SVC_SP];					\
    +	str	lr, [sp, #TF_SVC_LR];					\
    +	str	lr, [sp, #TF_PC]
    +
    +#if defined(_ARM_ARCH_DWORD_OK) && __ARM_EABI__
    +#define	PUSHSWITCHFRAME2						\
    +	strd	r10, [sp, #TF_R10];	/* save r10 & r11 */		\
    +	strd	r8, [sp, #TF_R8];	/* save r8 & r9 */		\
    +	mrs	r0, cpsr_all;		/* Get the CPSR */		\
    +	str	r0, [sp, #TF_SPSR]	/* save in trapframe */
    +#else
    +#define	PUSHSWITCHFRAME2						\
    +	add	r0, sp, #TF_R8;		/* get ptr to r8 and above */	\
    +	stmia	r0, {r8-r11};		/* save rest of registers */	\
    +	mrs	r0, cpsr_all;		/* Get the CPSR */		\
    +	str	r0, [sp, #TF_SPSR]	/* save in trapframe */
    +#endif
     
     /*
      * PULLFRAME - macro to pull a trap frame from the stack in the current mode
    @@ -344,13 +410,28 @@ LOCK_CAS_DEBUG_LOCALS
      */
     
     #define PULLFRAME							   \
    -	ldr     r0, [sp], #0x0008;      /* Pop the SPSR from stack */	   \
    +	ldr     r0, [sp], #TF_R0;	/* Pop the SPSR from stack */	   \
     	msr     spsr_all, r0;						   \
     	ldmia   sp, {r0-r14}^;		/* Restore registers (usr mode) */ \
     	mov     r0, r0;                 /* NOP for previous instruction */ \
    -	add	sp, sp, #(4*17);	/* Adjust the stack pointer */	   \
    +	add	sp, sp, #(TF_PC-TF_R0);	/* Adjust the stack pointer */	   \
      	ldr	lr, [sp], #0x0004	/* Pop the return address */
     
    +#define PULLIDLEFRAME							   \
    +	add	sp, sp, #TF_R4;		/* Adjust the stack pointer */	   \
    +	ldr	r4, [sp], #(TF_R6-TF_R4); /* restore callee-saved r4 */	   \
    +	ldr	r6, [sp], #(TF_PC-TF_R6); /* restore callee-saved r6 */	   \
    + 	ldr	lr, [sp], #4		/* Pop the return address */
    +
    +/*
    + * Pop a trapframe to be used by cpu_switchto (don't touch r0 & r1).
    + */
    +#define PULLSWITCHFRAME							\
    +	add	sp, sp, #TF_R4;		/* Adjust the stack pointer */	\
    +	pop	{r4-r11};		/* pop the callee saved registers */ \
    +	add	sp, sp, #(TF_PC-TF_R12); /* Adjust the stack pointer */	\
    +	ldr	lr, [sp], #4;		/* pop the return address */
    +
     /*
      * PUSHFRAMEINSVC - macro to push a trap frame on the stack in SVC32 mode
      * This should only be used if the processor is not currently in SVC32
    @@ -385,11 +466,11 @@ LOCK_CAS_DEBUG_LOCALS
     	mov	sp, r2;			/* Keep stack aligned */	   \
     	msr     spsr_all, r3;		/* Restore correct spsr */	   \
     	ldmdb	r1, {r0-r3};		/* Restore 4 regs from xxx mode */ \
    -	sub	sp, sp, #(4*15);	/* Adjust the stack pointer */	   \
    +	sub	sp, sp, #(TF_SVC_SP-TF_R0); /* Adjust the stack pointer */ \
     	PUSHUSERREGS;			/* Push the user mode registers */ \
     	mov     r0, r0;                 /* NOP for previous instruction */ \
     	mrs	r0, spsr_all;		/* Get the SPSR */		   \
    -	str	r0, [sp, #-8]!		/* Push the SPSR onto the stack */
    +	str	r0, [sp, #-TF_R0]!	/* Push the SPSR onto the stack */
     
     /*
      * PULLFRAMEFROMSVCANDEXIT - macro to pull a trap frame from the stack
    @@ -403,7 +484,7 @@ LOCK_CAS_DEBUG_LOCALS
     	msr     spsr_all, r0;		/* restore SPSR */		   \
     	ldmia   sp, {r0-r14}^;		/* Restore registers (usr mode) */ \
     	mov     r0, r0;	  		/* NOP for previous instruction */ \
    -	add	sp, sp, #(4*15);	/* Adjust the stack pointer */	   \
    +	add	sp, sp, #(TF_SVC_SP-TF_R0); /* Adjust the stack pointer */ \
     	ldmia	sp, {sp, lr, pc}^	/* Restore lr and exit */
     
     #endif /* _LOCORE */
    diff --git a/sys/arch/arm/include/arm32/machdep.h b/sys/arch/arm/include/arm32/machdep.h
    index e89c56a97..e95c89987 100644
    --- a/sys/arch/arm/include/arm32/machdep.h
    +++ b/sys/arch/arm/include/arm32/machdep.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: machdep.h,v 1.16 2012/09/01 12:19:32 martin Exp $ */
    +/* $NetBSD: machdep.h,v 1.17 2012/10/20 14:42:20 matt Exp $ */
     
     #ifndef _ARM32_BOOT_MACHDEP_H_
     #define _ARM32_BOOT_MACHDEP_H_
    @@ -43,7 +43,7 @@ struct bootmem_info {
     	 */
     	pv_addr_t bmi_vector_l2pt;
     	pv_addr_t bmi_io_l2pt;
    -	pv_addr_t bmi_l2pts[16];
    +	pv_addr_t bmi_l2pts[32];	// for large memory disks.
     	u_int bmi_freepages;
     	u_int bmi_nfreeblocks;
     };
    diff --git a/sys/arch/arm/include/arm32/param.h b/sys/arch/arm/include/arm32/param.h
    index e93314d52..ebe8a8536 100644
    --- a/sys/arch/arm/include/arm32/param.h
    +++ b/sys/arch/arm/include/arm32/param.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: param.h,v 1.17 2012/02/04 17:56:16 para Exp $	*/
    +/*	$NetBSD: param.h,v 1.20 2013/05/29 23:29:44 rkujawa Exp $	*/
     
     /*
      * Copyright (c) 1994,1995 Mark Brinicombe.
    @@ -57,7 +57,7 @@
     #define USPACE          (UPAGES * NBPG) /* total size of u-area */
     
     #ifndef MSGBUFSIZE
    -#define MSGBUFSIZE	NBPG		/* default message buffer size */
    +#define MSGBUFSIZE	16384	 	/* default message buffer size */
     #endif
     
     /*
    @@ -72,17 +72,13 @@
     /*
      * The USPACE area contains :
      * 1. the pcb structure for the process
    - * 2. the fp context for FP emulation
    - * 3. the kernel (svc) stack
    + * 2. the kernel (svc) stack
      *
      * The layout of the area looks like this
      *
    - * | uarea | FP context | kernel stack |
    + * | uarea | kernel stack |
      *
      * The size of the uarea is known.
    - * The size of the FP context is variable depending of the FP emulator
    - * in use and whether there is hardware FP support. However we can put
    - * an upper limit on it.
      * The kernel stack should be at least 4K is size.
      *
      * The stack top addresses are used to set the stack pointers. The stack bottom
    @@ -90,12 +86,11 @@
      *
      */
     
    -#define FPCONTEXTSIZE			(0x100)
     #define USPACE_SVC_STACK_TOP		(USPACE)
    -#define USPACE_SVC_STACK_BOTTOM		(sizeof(struct pcb) + FPCONTEXTSIZE + 10)
    +#define USPACE_SVC_STACK_BOTTOM		(sizeof(struct pcb))
     
    -#define arm_btop(x)			((x) >> PGSHIFT)
    -#define arm_ptob(x)			((x) << PGSHIFT)
    +#define arm_btop(x)			((unsigned)(x) >> PGSHIFT)
    +#define arm_ptob(x)			((unsigned)(x) << PGSHIFT)
     #define arm_trunc_page(x)		((unsigned)(x) & ~PGOFSET)
         
     #ifdef _KERNEL
    diff --git a/sys/arch/arm/include/arm32/pmap.h b/sys/arch/arm/include/arm32/pmap.h
    index 529e17264..9a3381272 100644
    --- a/sys/arch/arm/include/arm32/pmap.h
    +++ b/sys/arch/arm/include/arm32/pmap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pmap.h,v 1.112 2012/09/22 00:33:38 matt Exp $	*/
    +/*	$NetBSD: pmap.h,v 1.122 2013/08/18 05:01:47 matt Exp $	*/
     
     /*
      * Copyright (c) 2002, 2003 Wasabi Systems, Inc.
    @@ -143,16 +143,16 @@ struct l2_dtable;
     union pmap_cache_state {
     	struct {
     		union {
    -			u_int8_t csu_cache_b[2];
    -			u_int16_t csu_cache;
    +			uint8_t csu_cache_b[2];
    +			uint16_t csu_cache;
     		} cs_cache_u;
     
     		union {
    -			u_int8_t csu_tlb_b[2];
    -			u_int16_t csu_tlb;
    +			uint8_t csu_tlb_b[2];
    +			uint16_t csu_tlb;
     		} cs_tlb_u;
     	} cs_s;
    -	u_int32_t cs_all;
    +	uint32_t cs_all;
     };
     #define	cs_cache_id	cs_s.cs_cache_u.csu_cache_b[0]
     #define	cs_cache_d	cs_s.cs_cache_u.csu_cache_b[1]
    @@ -182,11 +182,13 @@ struct pmap_devmap {
      * The pmap structure itself
      */
     struct pmap {
    -	u_int8_t		pm_domain;
    +	uint8_t			pm_domain;
     	bool			pm_remove_all;
     	bool			pm_activated;
     	struct l1_ttable	*pm_l1;
    +#ifndef ARM_HAS_VBAR
     	pd_entry_t		*pm_pl1vec;
    +#endif
     	pd_entry_t		pm_l1vec;
     	union pmap_cache_state	pm_cstate;
     	struct uvm_object	pm_obj;
    @@ -269,6 +271,7 @@ extern pv_addr_t kernel_l1pt;
      * Commonly referenced structures
      */
     extern int		pmap_debug_level; /* Only exists if PMAP_DEBUG */
    +extern int		arm_poolpage_vmfreelist;
     
     /*
      * Macros that we need to export
    @@ -321,6 +324,7 @@ void	pmap_do_remove(pmap_t, vaddr_t, vaddr_t, int);
     int	pmap_fault_fixup(pmap_t, vaddr_t, vm_prot_t, int);
     bool	pmap_get_pde_pte(pmap_t, vaddr_t, pd_entry_t **, pt_entry_t **);
     bool	pmap_get_pde(pmap_t, vaddr_t, pd_entry_t **);
    +struct pcb;
     void	pmap_set_pcb_pagedir(pmap_t, struct pcb *);
     
     void	pmap_debug(int);
    @@ -448,6 +452,27 @@ pmap_ptesync(pt_entry_t *ptep, size_t cnt)
     				 (L2_B | L2_C | L2_XS_T_TEX(TEX_XSCALE_X)))\
     				 == (L2_C | L2_XS_T_TEX(TEX_XSCALE_X)))
     
    +static inline void
    +l2pte_set(pt_entry_t *ptep, pt_entry_t pte, pt_entry_t opte)
    +{
    +	KASSERT(*ptep == opte);
    +	*ptep = pte;
    +	for (vsize_t k = 1; k < PAGE_SIZE / L2_S_SIZE; k++) {
    +		KASSERT(ptep[k] == opte ? opte + k * L2_S_SIZE : 0);
    +		pte += L2_S_SIZE;
    +		ptep[k] = pte;
    +	}
    +}       
    +
    +static inline void
    +l2pte_reset(pt_entry_t *ptep)
    +{
    +	*ptep = 0;
    +	for (vsize_t k = 1; k < PAGE_SIZE / L2_S_SIZE; k++) {
    +		ptep[k] = 0;
    +	}
    +}       
    +
     /* L1 and L2 page table macros */
     #define pmap_pde_v(pde)		l1pte_valid(*(pde))
     #define pmap_pde_section(pde)	l1pte_section_p(*(pde))
    @@ -462,6 +487,14 @@ pmap_ptesync(pt_entry_t *ptep, size_t cnt)
     #define KERNEL_PD_SIZE	\
     	(L1_TABLE_SIZE - (KERNEL_BASE >> L1_S_SHIFT) * sizeof(pd_entry_t))
     
    +void	bzero_page(vaddr_t);
    +void	bcopy_page(vaddr_t, vaddr_t);
    +
    +#ifdef FPU_VFP
    +void	bzero_page_vfp(vaddr_t);
    +void	bcopy_page_vfp(vaddr_t, vaddr_t);
    +#endif
    +
     /************************* ARM MMU configuration *****************************/
     
     #if (ARM_MMU_GENERIC + ARM_MMU_SA1 + ARM_MMU_V6 + ARM_MMU_V7) != 0
    @@ -881,12 +914,22 @@ extern void (*pmap_zero_page_func)(paddr_t);
     #define	L2_L_MAPPABLE_P(va, pa, size)					\
     	((((va) | (pa)) & L2_L_OFFSET) == 0 && (size) >= L2_L_SIZE)
     
    +#ifndef _LOCORE
     /*
      * Hooks for the pool allocator.
      */
     #define	POOL_VTOPHYS(va)	vtophys((vaddr_t) (va))
    -
    -#ifndef _LOCORE
    +extern paddr_t physical_start, physical_end;
    +#ifdef PMAP_NEED_ALLOC_POOLPAGE
    +struct vm_page *arm_pmap_alloc_poolpage(int);
    +#define	PMAP_ALLOC_POOLPAGE	arm_pmap_alloc_poolpage
    +#endif
    +#if defined(PMAP_NEED_ALLOC_POOLPAGE) || defined(__HAVE_MM_MD_DIRECT_MAPPED_PHYS)
    +#define	PMAP_MAP_POOLPAGE(pa) \
    +        ((vaddr_t)((paddr_t)(pa) - physical_start + KERNEL_BASE))
    +#define PMAP_UNMAP_POOLPAGE(va) \
    +        ((paddr_t)((vaddr_t)(va) - KERNEL_BASE + physical_start))
    +#endif
     
     /*
      * pmap-specific data store in the vm_page structure.
    diff --git a/sys/arch/arm/include/arm32/types.h b/sys/arch/arm/include/arm32/types.h
    index e388fc501..29aa5c066 100644
    --- a/sys/arch/arm/include/arm32/types.h
    +++ b/sys/arch/arm/include/arm32/types.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: types.h,v 1.9 2010/07/07 01:20:50 chs Exp $	*/
    +/*	$NetBSD: types.h,v 1.11 2013/05/07 23:01:55 matt Exp $	*/
     
     /*
      * Copyright (c) 2001 Wasabi Systems, Inc.
    diff --git a/sys/arch/arm/include/arm32/vmparam.h b/sys/arch/arm/include/arm32/vmparam.h
    index 19df857aa..c07bde750 100644
    --- a/sys/arch/arm/include/arm32/vmparam.h
    +++ b/sys/arch/arm/include/arm32/vmparam.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vmparam.h,v 1.27 2012/08/16 07:25:37 matt Exp $	*/
    +/*	$NetBSD: vmparam.h,v 1.29 2013/02/27 17:50:07 matt Exp $	*/
     
     /*
      * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
    @@ -55,25 +55,25 @@
      * Note that MAXTSIZ can't be larger than 32M, otherwise the compiler
      * would have to be changed to not generate "bl" instructions.
      */
    -#define	MAXTSIZ		(16*1024*1024)		/* max text size */
    +#define	MAXTSIZ		(64*1024*1024)		/* max text size */
     #ifndef	DFLDSIZ
     #define	DFLDSIZ		(128*1024*1024)		/* initial data size limit */
     #endif
     #ifndef	MAXDSIZ
    -#define	MAXDSIZ		(512*1024*1024)		/* max data size */
    +#define	MAXDSIZ		(1024*1024*1024)	/* max data size */
     #endif
     #ifndef	DFLSSIZ
     #define	DFLSSIZ		(2*1024*1024)		/* initial stack size limit */
     #endif
     #ifndef	MAXSSIZ
    -#define	MAXSSIZ		(8*1024*1024)		/* max stack size */
    +#define	MAXSSIZ		(32*1024*1024)		/* max stack size */
     #endif
     
     /*
      * While the ARM architecture defines Section mappings, large pages,
      * and small pages, the standard page size is (and will always be) 4K.
      */
    -#define	PAGE_SHIFT	12
    +#define	PAGE_SHIFT	PGSHIFT
     #define	PAGE_SIZE	(1 << PAGE_SHIFT)
     #define	PAGE_MASK	(PAGE_SIZE - 1)
     
    diff --git a/sys/arch/arm/include/armreg.h b/sys/arch/arm/include/armreg.h
    index a7218deb0..eea052e0f 100644
    --- a/sys/arch/arm/include/armreg.h
    +++ b/sys/arch/arm/include/armreg.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: armreg.h,v 1.69 2012/09/27 21:48:17 matt Exp $	*/
    +/*	$NetBSD: armreg.h,v 1.83 2013/09/07 00:32:33 matt Exp $	*/
     
     /*
      * Copyright (c) 1998, 2001 Ben Harris
    @@ -185,7 +185,7 @@
     #define CPU_ID_ARM700		0x41007000 /* XXX This is a guess. */
     #define CPU_ID_ARM710		0x41007100
     #define CPU_ID_ARM7500		0x41027100
    -#define CPU_ID_ARM710A		0x41047100 /* inc ARM7100 */
    +#define CPU_ID_ARM710A		0x41067100
     #define CPU_ID_ARM7500FE	0x41077100
     #define CPU_ID_ARM710T		0x41807100
     #define CPU_ID_ARM720T		0x41807200
    @@ -211,6 +211,7 @@
     #define CPU_ID_ARM1176JZS	0x410fb760
     #define CPU_ID_ARM11_P(n)	((n & 0xff07f000) == 0x4107b000)
     #define CPU_ID_CORTEXA5R0	0x410fc050
    +#define CPU_ID_CORTEXA7R0	0x410fc070
     #define CPU_ID_CORTEXA8R1	0x411fc080
     #define CPU_ID_CORTEXA8R2	0x412fc080
     #define CPU_ID_CORTEXA8R3	0x413fc080
    @@ -220,8 +221,11 @@
     #define CPU_ID_CORTEXA15R2	0x412fc0f0
     #define CPU_ID_CORTEXA15R3	0x413fc0f0
     #define CPU_ID_CORTEX_P(n)	((n & 0xff0ff000) == 0x410fc000)
    +#define CPU_ID_CORTEX_A5_P(n)	((n & 0xff0ff0f0) == 0x410fc050)
    +#define CPU_ID_CORTEX_A7_P(n)	((n & 0xff0ff0f0) == 0x410fc070)
     #define CPU_ID_CORTEX_A8_P(n)	((n & 0xff0ff0f0) == 0x410fc080)
     #define CPU_ID_CORTEX_A9_P(n)	((n & 0xff0ff0f0) == 0x410fc090)
    +#define CPU_ID_CORTEX_A15_P(n)	((n & 0xff0ff0f0) == 0x410fc0f0)
     #define CPU_ID_SA110		0x4401a100
     #define CPU_ID_SA1100		0x4401a110
     #define	CPU_ID_TI925T		0x54029250
    @@ -249,6 +253,39 @@
     #define	CPU_ID_IXP425_533	0x690541c0
     #define	CPU_ID_IXP425_400	0x690541d0
     #define	CPU_ID_IXP425_266	0x690541f0
    +#define CPU_ID_MV88SV58XX_P(n)	((n & 0xff0fff00) == 0x560f5800)
    +#define CPU_ID_MV88SV581X_V6	0x560f5810 /* Marvell Sheeva 88SV581x v6 Core */
    +#define CPU_ID_MV88SV581X_V7	0x561f5810 /* Marvell Sheeva 88SV581x v7 Core */
    +#define CPU_ID_MV88SV584X_V6	0x561f5840 /* Marvell Sheeva 88SV584x v6 Core */
    +#define CPU_ID_MV88SV584X_V7	0x562f5840 /* Marvell Sheeva 88SV584x v7 Core */
    +/* Marvell's CPUIDs with ARM ID in implementor field */
    +#define CPU_ID_ARM_88SV581X_V6	0x410fb760 /* Marvell Sheeva 88SV581x v6 Core */
    +#define CPU_ID_ARM_88SV581X_V7	0x413fc080 /* Marvell Sheeva 88SV581x v7 Core */
    +#define CPU_ID_ARM_88SV584X_V6	0x410fb020 /* Marvell Sheeva 88SV584x v6 Core */
    +
    +/* CPUID registers */
    +#define ARM_PFR0_THUMBEE_MASK	0x0000f000
    +#define ARM_PFR1_GTIMER_MASK	0x000f0000
    +#define ARM_PFR1_VIRT_MASK	0x0000f000
    +#define ARM_PFR1_SEC_MASK	0x000000f0
    +
    +/* Media and VFP Feature registers */
    +#define ARM_MVFR0_ROUNDING_MASK		0xf0000000
    +#define ARM_MVFR0_SHORTVEC_MASK		0x0f000000
    +#define ARM_MVFR0_SQRT_MASK		0x00f00000
    +#define ARM_MVFR0_DIVIDE_MASK		0x000f0000
    +#define ARM_MVFR0_EXCEPT_MASK		0x0000f000
    +#define ARM_MVFR0_DFLOAT_MASK		0x00000f00
    +#define ARM_MVFR0_SFLOAT_MASK		0x000000f0
    +#define ARM_MVFR0_ASIMD_MASK		0x0000000f
    +#define ARM_MVFR1_ASIMD_FMACS_MASK	0xf0000000
    +#define ARM_MVFR1_VFP_HPFP_MASK		0x0f000000
    +#define ARM_MVFR1_ASIMD_HPFP_MASK	0x00f00000
    +#define ARM_MVFR1_ASIMD_SPFP_MASK	0x000f0000
    +#define ARM_MVFR1_ASIMD_INT_MASK	0x0000f000
    +#define ARM_MVFR1_ASIMD_LDST_MASK	0x00000f00
    +#define ARM_MVFR1_D_NAN_MASK		0x000000f0
    +#define ARM_MVFR1_FTZ_MASK		0x0000000f
     
     /* ARM3-specific coprocessor 15 registers */
     #define ARM3_CP15_FLUSH		1
    @@ -386,6 +423,9 @@
     #define	MPCORE_AUXCTL_EX	0x00000010 /* exclusive L1/L2 cache */
     #define	MPCORE_AUXCTL_SA	0x00000020 /* SMP/AMP */
     
    +/* Marvell PJ4B Auxillary Control Register */
    +#define PJ4B_AUXCTL_SMPNAMP	0x00000040 /* SMP/AMP */
    +
     /* Cortex-A9 Auxiliary Control Register (CP15 register 1, opcode 1) */
     #define	CORTEXA9_AUXCTL_FW	0x00000001 /* Cache and TLB updates broadcast */
     #define	CORTEXA9_AUXCTL_L2_PLD	0x00000002 /* Prefetch hint enable */
    @@ -452,6 +492,19 @@
     #define	CPU_CSSR_L1		0x00000000
     #define	CPU_CSSR_InD		0x00000001
     
    +/* ARMv7A CP15 Global Timer definitions */
    +#define	CNTKCTL_PL0PTEN		0x00000200	/* PL0 Physical Timer Enable */
    +#define	CNTKCTL_PL0VTEN		0x00000100	/* PL0 Virtual Timer Enable */
    +#define	CNTKCTL_EVNTI		0x000000f0	/* CNTVCT Event Bit Select */
    +#define	CNTKCTL_EVNTDIR		0x00000008	/* CNTVCT Event Dir (1->0) */
    +#define	CNTKCTL_EVNTEN		0x00000004	/* CNTVCT Event Enable */
    +#define	CNTKCTL_PL0PCTEN	0x00000200	/* PL0 Physical Counter Enable */
    +#define	CNTKCTL_PL0VCTEN	0x00000100	/* PL0 Virtual Counter Enable */
    +
    +#define	CNT_CTL_ISTATUS		0x00000004	/* Timer is asserted */
    +#define	CNT_CTL_IMASK		0x00000002	/* Timer output is masked */
    +#define	CNT_CTL_ENABLE		0x00000001	/* Timer is enabled */
    +
     /* Fault status register definitions */
     
     #define FAULT_TYPE_MASK 0x0f
    @@ -550,7 +603,45 @@
     #define CORTEX_CNTENC_C __BIT(31)	/* Disables the cycle counter */
     #define CORTEX_CNTOFL_C __BIT(31)	/* Cycle counter overflow flag */
     
    -#if !defined(__ASSEMBLER__)
    +/* Translate Table Base Control Register */
    +#define TTBCR_S_EAE	__BIT(31)	// Extended Address Extension
    +#define TTBCR_S_PD1	__BIT(5)	// Don't use TTBR1
    +#define TTBCR_S_PD0	__BIT(4)	// Don't use TTBR0
    +#define TTBCR_S_N	__BITS(2,0)	// Width of base address in TTB0
    +
    +#define TTBCR_L_EAE	__BIT(31)	// Extended Address Extension
    +#define TTBCR_L_SH1	__BITS(29,28)	// TTBR1 Shareability
    +#define TTBCR_L_ORGN1	__BITS(27,26)	// TTBR1 Outer cacheability
    +#define TTBCR_L_IRGN1	__BITS(25,24)	// TTBR1 inner cacheability
    +#define TTBCR_L_EPD1	__BIT(23)	// Don't use TTBR1
    +#define TTBCR_L_A1	__BIT(22)	// ASID is in TTBR1
    +#define TTBCR_L_T1SZ	__BITS(18,16)	// TTBR1 size offset
    +#define TTBCR_L_SH0	__BITS(13,12)	// TTBR0 Shareability
    +#define TTBCR_L_ORGN0	__BITS(11,10)	// TTBR0 Outer cacheability
    +#define TTBCR_L_IRGN0	__BITS(9,8)	// TTBR0 inner cacheability
    +#define TTBCR_L_EPD0	__BIT(7)	// Don't use TTBR0
    +#define TTBCR_L_T0SZ	__BITS(2,0)	// TTBR0 size offset
    +
    +/* Defines for ARM Generic Timer */
    +#define ARM_CNTCTL_ENABLE		__BIT(0) // Timer Enabled
    +#define ARM_CNTCTL_IMASK		__BIT(1) // Mask Interrupt
    +#define ARM_CNTCTL_ISTATUS		__BIT(2) // Interrupt is pending
    +
    +#define ARM_CNTKCTL_PL0PTEN		__BIT(9)
    +#define ARM_CNTKCTL_PL0VTEN		__BIT(8)
    +#define ARM_CNTKCTL_EVNTI		__BITS(7,4)
    +#define ARM_CNTKCTL_EVNTDIR		__BIT(3)
    +#define ARM_CNTKCTL_EVNTEN		__BIT(2)
    +#define ARM_CNTKCTL_PL0PCTEN		__BIT(1)
    +#define ARM_CNTKCTL_PL0VCTEN		__BIT(0)
    +
    +#define ARM_CNTHCTL_EVNTI		__BITS(7,4)
    +#define ARM_CNTHCTL_EVNTDIR		__BIT(3)
    +#define ARM_CNTHCTL_EVNTEN		__BIT(2)
    +#define ARM_CNTHCTL_PL1PCTEN		__BIT(1)
    +#define ARM_CNTHCTL_PL1VCTEN		__BIT(0)
    +
    +#if !defined(__ASSEMBLER__) && !defined(_RUMPKERNEL)
     #define	ARMREG_READ_INLINE(name, __insnstring)			\
     static inline uint32_t armreg_##name##_read(void)		\
     {								\
    @@ -565,7 +656,34 @@ static inline void armreg_##name##_write(uint32_t __val)	\
     	__asm __volatile("mcr " __insnstring :: "r"(__val));	\
     }
     
    -/* c0 registers */
    +#define	ARMREG_READ64_INLINE(name, __insnstring)		\
    +static inline uint64_t armreg_##name##_read(void)		\
    +{								\
    +	uint64_t __rv;						\
    +	__asm __volatile("mrrc " __insnstring : "=r"(__rv));	\
    +	return __rv;						\
    +}
    +
    +#define	ARMREG_WRITE64_INLINE(name, __insnstring)		\
    +static inline void armreg_##name##_write(uint64_t __val)	\
    +{								\
    +	__asm __volatile("mcrr " __insnstring :: "r"(__val));	\
    +}
    +
    +/* cp10 registers */
    +ARMREG_READ_INLINE(fpsid, "p10,7,%0,c0,c0,0") /* VFP System ID */
    +ARMREG_READ_INLINE(fpscr, "p10,7,%0,c1,c0,0") /* VFP Status/Control Register */
    +ARMREG_WRITE_INLINE(fpscr, "p10,7,%0,c1,c0,0") /* VFP Status/Control Register */
    +ARMREG_READ_INLINE(mvfr1, "p10,7,%0,c6,c0,0") /* Media and VFP Feature Register 1 */
    +ARMREG_READ_INLINE(mvfr0, "p10,7,%0,c7,c0,0") /* Media and VFP Feature Register 0 */
    +ARMREG_READ_INLINE(fpexc, "p10,7,%0,c8,c0,0") /* VFP Exception Register */
    +ARMREG_WRITE_INLINE(fpexc, "p10,7,%0,c8,c0,0") /* VFP Exception Register */
    +ARMREG_READ_INLINE(fpinst, "p10,7,%0,c9,c0,0") /* VFP Exception Instruction */
    +ARMREG_WRITE_INLINE(fpinst, "p10,7,%0,c9,c0,0") /* VFP Exception Instruction */
    +ARMREG_READ_INLINE(fpinst2, "p10,7,%0,c10,c0,0") /* VFP Exception Instruction 2 */
    +ARMREG_WRITE_INLINE(fpinst2, "p10,7,%0,c10,c0,0") /* VFP Exception Instruction 2 */
    +
    +/* cp15 c0 registers */
     ARMREG_READ_INLINE(midr, "p15,0,%0,c0,c0,0") /* Main ID Register */
     ARMREG_READ_INLINE(ctr, "p15,0,%0,c0,c0,1") /* Cache Type Register */
     ARMREG_READ_INLINE(mpidr, "p15,0,%0,c0,c0,5") /* Multiprocess Affinity Register */
    @@ -585,25 +703,27 @@ ARMREG_READ_INLINE(ccsidr, "p15,1,%0,c0,c0,0") /* Cache Size ID Register */
     ARMREG_READ_INLINE(clidr, "p15,1,%0,c0,c0,1") /* Cache Level ID Register */
     ARMREG_READ_INLINE(csselr, "p15,2,%0,c0,c0,0") /* Cache Size Selection Register */
     ARMREG_WRITE_INLINE(csselr, "p15,2,%0,c0,c0,0") /* Cache Size Selection Register */
    -/* c1 registers */
    +/* cp15 c1 registers */
    +ARMREG_READ_INLINE(sctrl, "p15,0,%0,c1,c0,0") /* System Control Register */
    +ARMREG_WRITE_INLINE(sctrl, "p15,0,%0,c1,c0,0") /* System Control Register */
     ARMREG_READ_INLINE(auxctl, "p15,0,%0,c1,c0,1") /* Auxiliary Control Register */
     ARMREG_WRITE_INLINE(auxctl, "p15,0,%0,c1,c0,1") /* Auxiliary Control Register */
     ARMREG_READ_INLINE(cpacr, "p15,0,%0,c1,c0,2") /* Co-Processor Access Control Register */
     ARMREG_WRITE_INLINE(cpacr, "p15,0,%0,c1,c0,2") /* Co-Processor Access Control Register */
    -/* c2 registers */
    +/* cp15 c2 registers */
     ARMREG_READ_INLINE(ttbr, "p15,0,%0,c2,c0,0") /* Translation Table Base Register 0 */
     ARMREG_WRITE_INLINE(ttbr, "p15,0,%0,c2,c0,0") /* Translation Table Base Register 0 */
     ARMREG_READ_INLINE(ttbr1, "p15,0,%0,c2,c0,1") /* Translation Table Base Register 1 */
     ARMREG_WRITE_INLINE(ttbr1, "p15,0,%0,c2,c0,1") /* Translation Table Base Register 1 */
     ARMREG_READ_INLINE(ttbcr, "p15,0,%0,c2,c0,2") /* Translation Table Base Register */
     ARMREG_WRITE_INLINE(ttbcr, "p15,0,%0,c2,c0,2") /* Translation Table Base Register */
    -/* c5 registers */
    +/* cp15 c5 registers */
     ARMREG_READ_INLINE(dfsr, "p15,0,%0,c5,c0,0") /* Data Fault Status Register */
     ARMREG_READ_INLINE(ifsr, "p15,0,%0,c5,c0,1") /* Instruction Fault Status Register */
    -/* c6 registers */
    +/* cp15 c6 registers */
     ARMREG_READ_INLINE(dfar, "p15,0,%0,c6,c0,0") /* Data Fault Address Register */
     ARMREG_READ_INLINE(ifar, "p15,0,%0,c6,c0,2") /* Instruction Fault Address Register */
    -/* c7 registers */
    +/* cp15 c7 registers */
     ARMREG_WRITE_INLINE(icialluis, "p15,0,%0,c7,c1,0") /* Instruction Inv All (IS) */
     ARMREG_WRITE_INLINE(bpiallis, "p15,0,%0,c7,c1,6") /* Branch Invalidate All (IS) */
     ARMREG_READ_INLINE(par, "p15,0,%0,c7,c4,0") /* Physical Address Register */
    @@ -621,7 +741,22 @@ ARMREG_WRITE_INLINE(dmb, "p15,0,%0,c7,c10,5") /* Data Memory Barrier */
     ARMREG_WRITE_INLINE(dccmvau, "p15,0,%0,c7,c14,1") /* Data Clean MVA to PoU */
     ARMREG_WRITE_INLINE(dccimvac, "p15,0,%0,c7,c14,1") /* Data Clean&Inv MVA to PoC */
     ARMREG_WRITE_INLINE(dccisw, "p15,0,%0,c7,c14,2") /* Data Clean&Inv Set/Way */
    -/* c9 registers */
    +/* cp15 c8 registers */
    +ARMREG_WRITE_INLINE(tlbiallis, "p15,0,%0,c8,c3,0") /* Invalidate entire unified TLB, inner shareable */
    +ARMREG_WRITE_INLINE(tlbimvais, "p15,0,%0,c8,c3,1") /* Invalidate unified TLB by MVA, inner shareable */
    +ARMREG_WRITE_INLINE(tlbiasidis, "p15,0,%0,c8,c3,2") /* Invalidate unified TLB by ASID, inner shareable */
    +ARMREG_WRITE_INLINE(tlbimvaais, "p15,0,%0,c8,c3,3") /* Invalidate unified TLB by MVA, all ASID, inner shareable */
    +ARMREG_WRITE_INLINE(itlbiall, "p15,0,%0,c8,c5,0") /* Invalidate entire instruction TLB */
    +ARMREG_WRITE_INLINE(itlbimva, "p15,0,%0,c8,c5,1") /* Invalidate instruction TLB by MVA */
    +ARMREG_WRITE_INLINE(itlbiasid, "p15,0,%0,c8,c5,2") /* Invalidate instruction TLB by ASID */
    +ARMREG_WRITE_INLINE(dtlbiall, "p15,0,%0,c8,c6,0") /* Invalidate entire data TLB */
    +ARMREG_WRITE_INLINE(dtlbimva, "p15,0,%0,c8,c6,1") /* Invalidate data TLB by MVA */
    +ARMREG_WRITE_INLINE(dtlbiasid, "p15,0,%0,c8,c6,2") /* Invalidate data TLB by ASID */
    +ARMREG_WRITE_INLINE(tlbiall, "p15,0,%0,c8,c7,0") /* Invalidate entire unified TLB */
    +ARMREG_WRITE_INLINE(tlbimva, "p15,0,%0,c8,c7,1") /* Invalidate unified TLB by MVA */
    +ARMREG_WRITE_INLINE(tlbiasid, "p15,0,%0,c8,c7,2") /* Invalidate unified TLB by ASID */
    +ARMREG_WRITE_INLINE(tlbimvaa, "p15,0,%0,c8,c7,3") /* Invalidate unified TLB by MVA, all ASID */
    +/* cp15 c9 registers */
     ARMREG_READ_INLINE(pmcr, "p15,0,%0,c9,c12,0") /* PMC Control Register */
     ARMREG_WRITE_INLINE(pmcr, "p15,0,%0,c9,c12,0") /* PMC Control Register */
     ARMREG_READ_INLINE(pmcntenset, "p15,0,%0,c9,c12,1") /* PMC Count Enable Set */
    @@ -632,11 +767,40 @@ ARMREG_READ_INLINE(pmovsr, "p15,0,%0,c9,c12,3") /* PMC Overflow Flag Status */
     ARMREG_WRITE_INLINE(pmovsr, "p15,0,%0,c9,c12,3") /* PMC Overflow Flag Status */
     ARMREG_READ_INLINE(pmccntr, "p15,0,%0,c9,c13,0") /* PMC Cycle Counter */
     ARMREG_WRITE_INLINE(pmccntr, "p15,0,%0,c9,c13,0") /* PMC Cycle Counter */
    -/* c13 registers */
    +ARMREG_READ_INLINE(pmuserenr, "p15,0,%0,c9,c14,0") /* PMC User Enable */
    +ARMREG_WRITE_INLINE(pmuserenr, "p15,0,%0,c9,c14,0") /* PMC User Enable */
    +/* cp15 c13 registers */
    +ARMREG_READ_INLINE(contextidr, "p15,0,%0,c13,c0,1") /* Context ID Register */
    +ARMREG_WRITE_INLINE(contextidr, "p15,0,%0,c13,c0,1") /* Context ID Register */
     ARMREG_READ_INLINE(tpidrprw, "p15,0,%0,c13,c0,4") /* PL1 only Thread ID Register */
     ARMREG_WRITE_INLINE(tpidrprw, "p15,0,%0,c13,c0,4") /* PL1 only Thread ID Register */
    +/* cp14 c12 registers */
    +ARMREG_READ_INLINE(vbar, "p15,0,%0,c12,c0,0")	/* Vector Base Address Register */
    +ARMREG_WRITE_INLINE(vbar, "p15,0,%0,c12,c0,0")	/* Vector Base Address Register */
    +/* cp15 c14 registers */
    +/* cp15 Global Timer Registers */
    +ARMREG_READ_INLINE(cnt_frq, "p15,0,%0,c14,c0,0") /* Counter Frequency Register */
    +ARMREG_WRITE_INLINE(cnt_frq, "p15,0,%0,c14,c0,0") /* Counter Frequency Register */
    +ARMREG_READ_INLINE(cntk_ctl, "p15,0,%0,c14,c1,0") /* Timer PL1 Control Register */
    +ARMREG_WRITE_INLINE(cntk_ctl, "p15,0,%0,c14,c1,0") /* Timer PL1 Control Register */
    +ARMREG_READ_INLINE(cntp_tval, "p15,0,%0,c14,c2,0") /* PL1 Physical TimerValue Register */
    +ARMREG_WRITE_INLINE(cntp_tval, "p15,0,%0,c14,c2,0") /* PL1 Physical TimerValue Register */
    +ARMREG_READ_INLINE(cntp_ctl, "p15,0,%0,c14,c2,1") /* PL1 Physical Timer Control Register */
    +ARMREG_WRITE_INLINE(cntp_ctl, "p15,0,%0,c14,c2,1") /* PL1 Physical Timer Control Register */
    +ARMREG_READ_INLINE(cntv_tval, "p15,0,%0,c14,c3,0") /* Virtual TimerValue Register */
    +ARMREG_WRITE_INLINE(cntv_tval, "p15,0,%0,c14,c3,0") /* Virtual TimerValue Register */
    +ARMREG_READ_INLINE(cntv_ctl, "p15,0,%0,c14,c3,1") /* Virtual Timer Control Register */
    +ARMREG_WRITE_INLINE(cntv_ctl, "p15,0,%0,c14,c3,1") /* Virtual Timer Control Register */
    +ARMREG_READ64_INLINE(cntp_ct, "p15,0,%Q0,%R0,c14") /* Physical Count Register */
    +ARMREG_WRITE64_INLINE(cntp_ct, "p15,0,%Q0,%R0,c14") /* Physical Count Register */
    +ARMREG_READ64_INLINE(cntv_ct, "p15,1,%Q0,%R0,c14") /* Virtual Count Register */
    +ARMREG_WRITE64_INLINE(cntv_ct, "p15,1,%Q0,%R0,c14") /* Virtual Count Register */
    +ARMREG_READ64_INLINE(cntp_cval, "p15,2,%Q0,%R0,c14") /* PL1 Physical Timer CompareValue Register */
    +ARMREG_WRITE64_INLINE(cntp_cval, "p15,2,%Q0,%R0,c14") /* PL1 Physical Timer CompareValue Register */
    +ARMREG_READ64_INLINE(cntv_cval, "p15,3,%Q0,%R0,c14") /* PL1 Virtual Timer CompareValue Register */
    +ARMREG_WRITE64_INLINE(cntv_cval, "p15,3,%Q0,%R0,c14") /* PL1 Virtual Timer CompareValue Register */
    +/* cp15 c15 registers */
     ARMREG_READ_INLINE(cbar, "p15,4,%0,c15,c0,0")	/* Configuration Base Address Register */
    -/* c13 registers */
     ARMREG_READ_INLINE(pmcrv6, "p15,0,%0,c15,c12,0") /* PMC Control Register (armv6) */
     ARMREG_WRITE_INLINE(pmcrv6, "p15,0,%0,c15,c12,0") /* PMC Control Register (armv6) */
     ARMREG_READ_INLINE(pmccntrv6, "p15,0,%0,c15,c12,1") /* PMC Cycle Counter (armv6) */
    diff --git a/sys/arch/arm/include/asm.h b/sys/arch/arm/include/asm.h
    index d28bf53d2..0046d9522 100644
    --- a/sys/arch/arm/include/asm.h
    +++ b/sys/arch/arm/include/asm.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: asm.h,v 1.16 2012/09/01 14:46:25 matt Exp $	*/
    +/*	$NetBSD: asm.h,v 1.25 2013/11/30 20:11:11 matt Exp $	*/
     
     /*
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -39,6 +39,14 @@
     
     #include 
     
    +	.syntax		unified
    +
    +#ifdef __thumb__
    +#define THUMB_INSN(n)	n
    +#else
    +#define THUMB_INSN(n)
    +#endif
    +
     #define	__BIT(n)	(1 << (n))
     #define __BITS(hi,lo)	((~((~0)<<((hi)+1)))&((~0)<<(lo)))
     
    @@ -54,9 +62,12 @@
     #endif
     
     #ifndef _ALIGN_TEXT
    -# define _ALIGN_TEXT .align 0
    +# define _ALIGN_TEXT .align 2
     #endif
     
    +#ifndef _TEXT_SECTION
    +#define _TEXT_SECTION	.text
    +#endif
     /*
      * gas/arm uses @ as a single comment character and thus cannot be used here
      * Instead it recognised the # instead of an @ symbols in .type directives
    @@ -65,12 +76,16 @@
      */
     #define _ASM_TYPE_FUNCTION	%function
     #define _ASM_TYPE_OBJECT	%object
    +#define _THUMB_ENTRY(x) \
    +	_TEXT_SECTION; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; \
    +	.thumb_func; .code 16; x:
    +#define _ARM_ENTRY(x) \
    +	_TEXT_SECTION; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; \
    +	.code 32; x:
     #ifdef __thumb__
    -#define _ENTRY(x) \
    -	.text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; .thumb_func; x:
    +#define	_ENTRY(x)	_THUMB_ENTRY(x)
     #else
    -#define _ENTRY(x) \
    -	.text; _ALIGN_TEXT; .globl x; .type x,_ASM_TYPE_FUNCTION; x:
    +#define	_ENTRY(x)	_ARM_ENTRY(x)
     #endif
     #define	_END(x)		.size x,.-x
     
    @@ -81,37 +96,43 @@
     # define _PROF_PROLOGUE
     #endif
     
    -#define	ENTRY(y)	_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
    -#define	ENTRY_NP(y)	_ENTRY(_C_LABEL(y))
    -#define	END(y)		_END(_C_LABEL(y))
    -#define	ASENTRY(y)	_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
    -#define	ASENTRY_NP(y)	_ENTRY(_ASM_LABEL(y))
    -#define	ASEND(y)	_END(_ASM_LABEL(y))
    +#define	ENTRY(y)		_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
    +#define	ENTRY_NP(y)		_ENTRY(_C_LABEL(y))
    +#define	END(y)			_END(_C_LABEL(y))
    +#define	ARM_ENTRY(y)		_ARM_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
    +#define	ARM_ENTRY_NP(y)		_ARM_ENTRY(_C_LABEL(y))
    +#define	THUMB_ENTRY(y)		_THUMB_ENTRY(_C_LABEL(y)); _PROF_PROLOGUE
    +#define	THUMB_ENTRY_NP(y)	_THUMB_ENTRY(_C_LABEL(y))
    +#define	END(y)			_END(_C_LABEL(y))
    +#define	ASENTRY(y)		_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
    +#define	ASENTRY_NP(y)		_ENTRY(_ASM_LABEL(y))
    +#define	ASEND(y)		_END(_ASM_LABEL(y))
    +#define	ARM_ASENTRY(y)		_ARM_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
    +#define	ARM_ASENTRY_NP(y)	_ARM_ENTRY(_ASM_LABEL(y))
    +#define	THUMB_ASENTRY(y)	_THUMB_ENTRY(_ASM_LABEL(y)); _PROF_PROLOGUE
    +#define	THUMB_ASENTRY_NP(y)	_THUMB_ENTRY(_ASM_LABEL(y))
     
     #define	ASMSTR		.asciz
     
    -#if defined(PIC)
    -#ifdef __thumb__
    +#ifdef __PIC__
    +#define	REL_SYM(a, b)	((a) - (b))
     #define	PLT_SYM(x)	x
    -#define	GOT_SYM(x)	PIC_SYM(x, GOTOFF)
    -#define	GOT_GET(x,got,sym)	\
    -	ldr	x, sym;		\
    -	add	x, got;		\
    -	ldr	x, [x]
    -#else
    -#define	PLT_SYM(x)	PIC_SYM(x, PLT)
     #define	GOT_SYM(x)	PIC_SYM(x, GOT)
     #define	GOT_GET(x,got,sym)	\
     	ldr	x, sym;		\
     	ldr	x, [x, got]
    -#endif /* __thumb__ */
    -
     #define	GOT_INIT(got,gotsym,pclabel) \
     	ldr	got, gotsym;	\
    -	add	got, got, pc;	\
    -	pclabel:
    +	pclabel: add	got, got, pc
    +#ifdef __thumb__
     #define	GOT_INITSYM(gotsym,pclabel) \
    -	gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) + (. - (pclabel+4))
    +	.align 0;		\
    +	gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - (pclabel+4)
    +#else
    +#define	GOT_INITSYM(gotsym,pclabel) \
    +	.align 0;		\
    +	gotsym: .word _C_LABEL(_GLOBAL_OFFSET_TABLE_) - (pclabel+8)
    +#endif
     
     #ifdef __STDC__
     #define	PIC_SYM(x,y)	x ## ( ## y ## )
    @@ -120,6 +141,7 @@
     #endif
     
     #else
    +#define	REL_SYM(a, b)	(a)
     #define	PLT_SYM(x)	x
     #define	GOT_SYM(x)	x
     #define	GOT_GET(x,got,sym)	\
    @@ -127,7 +149,7 @@
     #define	GOT_INIT(got,gotsym,pclabel)
     #define	GOT_INITSYM(gotsym,pclabel)
     #define	PIC_SYM(x,y)	x
    -#endif	/* PIC */
    +#endif	/* __PIC__ */
     
     #define RCSID(x)	.pushsection ".ident"; .asciz x; .popsection
     
    @@ -170,19 +192,46 @@
       
     #if defined (_ARM_ARCH_4T)
     # define RET		bx		lr
    -# define RETc(c)	__CONCAT(bx,c)	lr
    +# define RETr(r)	bx		r
    +# if defined(__thumb__)
    +#  if defined(_ARM_ARCH_7)
    +#   define RETc(c)	it c; __CONCAT(bx,c)	lr
    +#  endif
    +# else
    +#  define RETc(c)	__CONCAT(bx,c)	lr
    +# endif
     #else
     # define RET		mov		pc, lr
    +# define RETr(r)	mov		pc, r
     # define RETc(c)	__CONCAT(mov,c)	pc, lr
     #endif
     
    +#ifdef _ARM_ARCH_7
    +#define KMODTRAMPOLINE(n)			\
    +_ENTRY(__wrap_ ## n)				\
    +	movw	ip, #:lower16:n;	\
    +	movt	ip, #:upper16:n;	\
    +	bx	ip
    +#elif defined(_ARM_ARCH_4T)
    +#define KMODTRAMPOLINE(n)	\
    +_ENTRY(__wrap_ ## n)		\
    +	ldr	ip, [pc];	\
    +	bx	ip;		\
    +	.word	n
    +#else
    +#define KMODTRAMPOLINE(n)	\
    +_ENTRY(__wrap_ ## n)		\
    +	ldr	pc, [pc, #-4];	\
    +	.word	n
    +#endif
    +
     #if defined(__minix)
    +#define IMPORT(sym)               \
    +        .extern _C_LABEL(sym)
    +
     #define _LABEL(x) \
     	.globl x; x:
     #define	LABEL(y)	_LABEL(_C_LABEL(y))
    -
    -#define IMPORT(sym)               \
    -        .extern _C_LABEL(sym)
     #endif /* defined(__minix) */
     
     #endif /* !_ARM_ASM_H_ */
    diff --git a/sys/arch/arm/include/bus_defs.h b/sys/arch/arm/include/bus_defs.h
    index d97ed598b..946f08ffa 100644
    --- a/sys/arch/arm/include/bus_defs.h
    +++ b/sys/arch/arm/include/bus_defs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bus_defs.h,v 1.2 2012/09/18 05:47:27 matt Exp $	*/
    +/*	$NetBSD: bus_defs.h,v 1.9 2013/02/16 06:49:59 matt Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc.
    @@ -74,12 +74,18 @@
     typedef u_long bus_addr_t;
     typedef u_long bus_size_t;
     
    +#define	PRIxBUSADDR	"lx"
    +#define	PRIxBUSSIZE	"lx"
    +#define	PRIuBUSSIZE	"lu"
    +
     /*
      * Access methods for bus space.
      */
     typedef struct bus_space *bus_space_tag_t;
     typedef u_long bus_space_handle_t;
     
    +#define	PRIxBSH		"lx"
    +
     /*
      *	int bus_space_map(bus_space_tag_t t, bus_addr_t addr,
      *	    bus_size_t size, int flags, bus_space_handle_t *bshp);
    @@ -121,84 +127,84 @@ struct bus_space {
     			    bus_size_t, bus_size_t, int);
     
     	/* read (single) */
    -	u_int8_t	(*bs_r_1)(void *, bus_space_handle_t,
    +	uint8_t		(*bs_r_1)(void *, bus_space_handle_t,
     			    bus_size_t);
    -	u_int16_t	(*bs_r_2)(void *, bus_space_handle_t,
    +	uint16_t	(*bs_r_2)(void *, bus_space_handle_t,
     			    bus_size_t);
    -	u_int32_t	(*bs_r_4)(void *, bus_space_handle_t,
    +	uint32_t	(*bs_r_4)(void *, bus_space_handle_t,
     			    bus_size_t);
    -	u_int64_t	(*bs_r_8)(void *, bus_space_handle_t,
    +	uint64_t	(*bs_r_8)(void *, bus_space_handle_t,
     			    bus_size_t);
     
     	/* read multiple */
     	void		(*bs_rm_1)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t *, bus_size_t);
    +			    bus_size_t, uint8_t *, bus_size_t);
     	void		(*bs_rm_2)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t *, bus_size_t);
    +			    bus_size_t, uint16_t *, bus_size_t);
     	void		(*bs_rm_4)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t *, bus_size_t);
    +			    bus_size_t, uint32_t *, bus_size_t);
     	void		(*bs_rm_8)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t *, bus_size_t);
    +			    bus_size_t, uint64_t *, bus_size_t);
     					
     	/* read region */
     	void		(*bs_rr_1)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t *, bus_size_t);
    +			    bus_size_t, uint8_t *, bus_size_t);
     	void		(*bs_rr_2)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t *, bus_size_t);
    +			    bus_size_t, uint16_t *, bus_size_t);
     	void		(*bs_rr_4)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t *, bus_size_t);
    +			    bus_size_t, uint32_t *, bus_size_t);
     	void		(*bs_rr_8)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t *, bus_size_t);
    +			    bus_size_t, uint64_t *, bus_size_t);
     					
     	/* write (single) */
     	void		(*bs_w_1)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t);
    +			    bus_size_t, uint8_t);
     	void		(*bs_w_2)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t);
    +			    bus_size_t, uint16_t);
     	void		(*bs_w_4)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t);
    +			    bus_size_t, uint32_t);
     	void		(*bs_w_8)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t);
    +			    bus_size_t, uint64_t);
     
     	/* write multiple */
     	void		(*bs_wm_1)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int8_t *, bus_size_t);
    +			    bus_size_t, const uint8_t *, bus_size_t);
     	void		(*bs_wm_2)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int16_t *, bus_size_t);
    +			    bus_size_t, const uint16_t *, bus_size_t);
     	void		(*bs_wm_4)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int32_t *, bus_size_t);
    +			    bus_size_t, const uint32_t *, bus_size_t);
     	void		(*bs_wm_8)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int64_t *, bus_size_t);
    +			    bus_size_t, const uint64_t *, bus_size_t);
     					
     	/* write region */
     	void		(*bs_wr_1)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int8_t *, bus_size_t);
    +			    bus_size_t, const uint8_t *, bus_size_t);
     	void		(*bs_wr_2)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int16_t *, bus_size_t);
    +			    bus_size_t, const uint16_t *, bus_size_t);
     	void		(*bs_wr_4)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int32_t *, bus_size_t);
    +			    bus_size_t, const uint32_t *, bus_size_t);
     	void		(*bs_wr_8)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int64_t *, bus_size_t);
    +			    bus_size_t, const uint64_t *, bus_size_t);
     
     	/* set multiple */
     	void		(*bs_sm_1)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t, bus_size_t);
    +			    bus_size_t, uint8_t, bus_size_t);
     	void		(*bs_sm_2)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t, bus_size_t);
    +			    bus_size_t, uint16_t, bus_size_t);
     	void		(*bs_sm_4)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t, bus_size_t);
    +			    bus_size_t, uint32_t, bus_size_t);
     	void		(*bs_sm_8)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t, bus_size_t);
    +			    bus_size_t, uint64_t, bus_size_t);
     
     	/* set region */
     	void		(*bs_sr_1)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t, bus_size_t);
    +			    bus_size_t, uint8_t, bus_size_t);
     	void		(*bs_sr_2)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t, bus_size_t);
    +			    bus_size_t, uint16_t, bus_size_t);
     	void		(*bs_sr_4)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t, bus_size_t);
    +			    bus_size_t, uint32_t, bus_size_t);
     	void		(*bs_sr_8)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t, bus_size_t);
    +			    bus_size_t, uint64_t, bus_size_t);
     
     	/* copy */
     	void		(*bs_c_1)(void *, bus_space_handle_t, bus_size_t,
    @@ -212,64 +218,64 @@ struct bus_space {
     
     #ifdef __BUS_SPACE_HAS_STREAM_METHODS
     	/* read stream (single) */
    -	u_int8_t	(*bs_r_1_s)(void *, bus_space_handle_t,
    +	uint8_t		(*bs_r_1_s)(void *, bus_space_handle_t,
     			    bus_size_t);
    -	u_int16_t	(*bs_r_2_s)(void *, bus_space_handle_t,
    +	uint16_t	(*bs_r_2_s)(void *, bus_space_handle_t,
     			    bus_size_t);
    -	u_int32_t	(*bs_r_4_s)(void *, bus_space_handle_t,
    +	uint32_t	(*bs_r_4_s)(void *, bus_space_handle_t,
     			    bus_size_t);
    -	u_int64_t	(*bs_r_8_s)(void *, bus_space_handle_t,
    +	uint64_t	(*bs_r_8_s)(void *, bus_space_handle_t,
     			    bus_size_t);
     
     	/* read multiple stream */
     	void		(*bs_rm_1_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t *, bus_size_t);
    +			    bus_size_t, uint8_t *, bus_size_t);
     	void		(*bs_rm_2_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t *, bus_size_t);
    +			    bus_size_t, uint16_t *, bus_size_t);
     	void		(*bs_rm_4_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t *, bus_size_t);
    +			    bus_size_t, uint32_t *, bus_size_t);
     	void		(*bs_rm_8_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t *, bus_size_t);
    +			    bus_size_t, uint64_t *, bus_size_t);
     					
     	/* read region stream */
     	void		(*bs_rr_1_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t *, bus_size_t);
    +			    bus_size_t, uint8_t *, bus_size_t);
     	void		(*bs_rr_2_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t *, bus_size_t);
    +			    bus_size_t, uint16_t *, bus_size_t);
     	void		(*bs_rr_4_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t *, bus_size_t);
    +			    bus_size_t, uint32_t *, bus_size_t);
     	void		(*bs_rr_8_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t *, bus_size_t);
    +			    bus_size_t, uint64_t *, bus_size_t);
     					
     	/* write stream (single) */
     	void		(*bs_w_1_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int8_t);
    +			    bus_size_t, uint8_t);
     	void		(*bs_w_2_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int16_t);
    +			    bus_size_t, uint16_t);
     	void		(*bs_w_4_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int32_t);
    +			    bus_size_t, uint32_t);
     	void		(*bs_w_8_s)(void *, bus_space_handle_t,
    -			    bus_size_t, u_int64_t);
    +			    bus_size_t, uint64_t);
     
     	/* write multiple stream */
     	void		(*bs_wm_1_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int8_t *, bus_size_t);
    +			    bus_size_t, const uint8_t *, bus_size_t);
     	void		(*bs_wm_2_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int16_t *, bus_size_t);
    +			    bus_size_t, const uint16_t *, bus_size_t);
     	void		(*bs_wm_4_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int32_t *, bus_size_t);
    +			    bus_size_t, const uint32_t *, bus_size_t);
     	void		(*bs_wm_8_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int64_t *, bus_size_t);
    +			    bus_size_t, const uint64_t *, bus_size_t);
     					
     	/* write region stream */
     	void		(*bs_wr_1_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int8_t *, bus_size_t);
    +			    bus_size_t, const uint8_t *, bus_size_t);
     	void		(*bs_wr_2_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int16_t *, bus_size_t);
    +			    bus_size_t, const uint16_t *, bus_size_t);
     	void		(*bs_wr_4_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int32_t *, bus_size_t);
    +			    bus_size_t, const uint32_t *, bus_size_t);
     	void		(*bs_wr_8_s)(void *, bus_space_handle_t,
    -			    bus_size_t, const u_int64_t *, bus_size_t);
    +			    bus_size_t, const uint64_t *, bus_size_t);
     #endif	/* __BUS_SPACE_HAS_STREAM_METHODS */
     };
     
    @@ -300,6 +306,8 @@ struct bus_space {
      * Private flags stored in the DMA map.
      */
     #define	_BUS_DMAMAP_COHERENT	0x10000	/* no cache flush necessary on sync */
    +#define	_BUS_DMAMAP_IS_BOUNCING	0x20000 /* is bouncing current xfer */
    +#define	_BUS_DMAMAP_NOALLOC	0x40000	/* don't alloc memory from this range */
     
     /* Forwards needed by prototypes below. */
     struct mbuf;
    @@ -330,6 +338,7 @@ struct arm32_bus_dma_segment {
     	 */
     	bus_addr_t	ds_addr;	/* DMA address */
     	bus_size_t	ds_len;		/* length of transfer */
    +	uint32_t	_ds_flags;	/* _BUS_DMAMAP_COHERENT */
     };
     typedef struct arm32_bus_dma_segment	bus_dma_segment_t;
     
    @@ -342,6 +351,7 @@ struct arm32_dma_range {
     	bus_addr_t	dr_sysbase;	/* system base address */
     	bus_addr_t	dr_busbase;	/* appears here on bus */
     	bus_size_t	dr_len;		/* length of range */
    +	uint32_t	dr_flags;	/* flags for range */
     };
     
     /*
    diff --git a/sys/arch/arm/include/bus_funcs.h b/sys/arch/arm/include/bus_funcs.h
    index 8c70f5ab8..122c6b2ba 100644
    --- a/sys/arch/arm/include/bus_funcs.h
    +++ b/sys/arch/arm/include/bus_funcs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bus_funcs.h,v 1.3 2012/09/18 05:47:27 matt Exp $	*/
    +/*	$NetBSD: bus_funcs.h,v 1.5 2013/01/17 01:32:02 matt Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 1998, 2001 The NetBSD Foundation, Inc.
    @@ -64,6 +64,10 @@
     #ifndef _ARM32_BUS_FUNCS_H_
     #define _ARM32_BUS_FUNCS_H_
     
    +#ifdef _KERNEL_OPT
    +#include "opt_cputypes.h"
    +#endif
    +
     /*
      * Utility macros; INTERNAL USE ONLY.
      */
    @@ -587,6 +591,8 @@ struct uio;
     	(*(t)->_dmamap_unload)((t), (p))
     #define	bus_dmamap_sync(t, p, o, l, ops)			\
     do {									\
    +	if (((p)->_dm_flags & (_BUS_DMAMAP_COHERENT|_BUS_DMAMAP_IS_BOUNCING)) == _BUS_DMAMAP_COHERENT) \
    +		break;							\
     	if (((ops) & (BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE)) != 0	\
     	    && (t)->_dmamap_sync_pre != NULL)				\
     		(*(t)->_dmamap_sync_pre)((t), (p), (o), (l), (ops));	\
    @@ -633,7 +639,7 @@ void	_bus_dmamap_unload(bus_dma_tag_t, bus_dmamap_t);
     void	_bus_dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_addr_t,
     	    bus_size_t, int);
     
    -#ifdef _ARM32_NEED_BUS_DMA_BOUNCE
    +#if defined(_ARM32_NEED_BUS_DMA_BOUNCE) || defined(CPU_CORTEX)
     #define	_BUS_DMAMAP_SYNC_FUNCS \
     	._dmamap_sync_pre = _bus_dmamap_sync,	\
     	._dmamap_sync_post = _bus_dmamap_sync
    diff --git a/sys/arch/arm/include/byte_swap.h b/sys/arch/arm/include/byte_swap.h
    index f64f0a191..ae67ecc0a 100644
    --- a/sys/arch/arm/include/byte_swap.h
    +++ b/sys/arch/arm/include/byte_swap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: byte_swap.h,v 1.12 2012/09/05 01:03:53 matt Exp $	*/
    +/*	$NetBSD: byte_swap.h,v 1.13 2013/01/28 06:16:05 matt Exp $	*/
     
     /*-
      * Copyright (c) 1997, 1999, 2002 The NetBSD Foundation, Inc.
    @@ -91,8 +91,9 @@ __byte_swap_u16_variable(uint16_t v)
     
     #ifdef _ARM_ARCH_6
     	if (!__builtin_constant_p(v)) {
    -		__asm("rev16\t%0, %1" : "=r" (v) : "0" (v));
    -		return v;
    +		uint32_t v32 = v;
    +		__asm("rev16\t%0, %1" : "=r" (v32) : "0" (v32));
    +		return v32;
     	}
     #elif !defined(__thumb__) && 0	/* gcc produces decent code for this */
     	if (!__builtin_constant_p(v)) {
    diff --git a/sys/arch/arm/include/cdefs.h b/sys/arch/arm/include/cdefs.h
    index 4f141e072..281f4b630 100644
    --- a/sys/arch/arm/include/cdefs.h
    +++ b/sys/arch/arm/include/cdefs.h
    @@ -1,7 +1,7 @@
    -/*	$NetBSD: cdefs.h,v 1.7 2012/08/05 04:13:19 matt Exp $	*/
    +/*	$NetBSD: cdefs.h,v 1.9 2013/08/17 00:21:47 matt Exp $	*/
     
    -#ifndef	_MACHINE_CDEFS_H_
    -#define	_MACHINE_CDEFS_H_
    +#ifndef	_ARM_CDEFS_H_
    +#define	_ARM_CDEFS_H_
     
     #if defined (__ARM_ARCH_7__) || defined (__ARM_ARCH_7A__) || \
         defined (__ARM_ARCH_7R__) || defined (__ARM_ARCH_7M__) || \
    @@ -9,16 +9,23 @@
     #define _ARM_ARCH_7
     #endif
     
    -#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6__) || \
    +#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__)
    +#define _ARM_ARCH_T2		/* Thumb2 */
    +#endif
    +
    +#if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \
         defined (__ARM_ARCH_6J__) || defined (__ARM_ARCH_6K__) || \
         defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \
    -    defined (__ARM_ARCH_6T2__) || defined (__ARM_ARCH_6ZM__)
    +    defined (__ARM_ARCH_6ZM__)
     #define _ARM_ARCH_6
     #endif
     
    -#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5__) || \
    -    defined (__ARM_ARCH_5T__) || defined (__ARM_ARCH_5TE__) || \
    -    defined (__ARM_ARCH_5TEJ__)
    +#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \
    +    defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__)
    +#define _ARM_ARCH_5T
    +#endif
    +
    +#if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__)
     #define _ARM_ARCH_5
     #endif
     
    @@ -26,8 +33,10 @@
     #define _ARM_ARCH_4T
     #endif
     
    -#if defined(_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
    -    defined (__ARM_ARCH_5TEJ__)
    +#if defined (_ARM_ARCH_T2) || \
    +    (!defined (__thumb__) && \
    +     (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \
    +      defined (__ARM_ARCH_5TEJ__)))
     #define	_ARM_ARCH_DWORD_OK
     #endif
     
    @@ -37,4 +46,4 @@
     #define __ALIGNBYTES		(sizeof(int) - 1)
     #endif
     
    -#endif /* !_MACHINE_CDEFS_H_ */
    +#endif /* !_ARM_CDEFS_H_ */
    diff --git a/sys/arch/arm/include/common/fenv.h b/sys/arch/arm/include/common/fenv.h
    new file mode 100644
    index 000000000..2d986bde2
    --- /dev/null
    +++ b/sys/arch/arm/include/common/fenv.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: fenv.h,v 1.1 2013/05/01 12:01:55 matt Exp $ */
    +
    +#include 
    diff --git a/sys/arch/arm/include/cpu.h b/sys/arch/arm/include/cpu.h
    index 56f8ec33a..96bcb9f6c 100644
    --- a/sys/arch/arm/include/cpu.h
    +++ b/sys/arch/arm/include/cpu.h
    @@ -66,75 +66,21 @@
      * Kernel-only definitions
      */
     
    -#if !defined(_LKM) && defined(_KERNEL_OPT)
    +#if !defined(_MODULE) && defined(_KERNEL_OPT)
     #include "opt_multiprocessor.h"
     #include "opt_cpuoptions.h"
     #include "opt_lockdebug.h"
     #include "opt_cputypes.h"
    -#endif /* !_LKM && _KERNEL_OPT */
    -
    -#include 
    +#endif /* !_MODULE && _KERNEL_OPT */
     
     #ifndef _LOCORE
    -#include 
    -#endif	/* !_LOCORE */
    -
    +#if defined(TPIDRPRW_IS_CURLWP) || defined(TPIDRPRW_IS_CURCPU)
     #include 
    +#endif
     
    -
    -#ifndef _LOCORE
     /* 1 == use cpu_sleep(), 0 == don't */
     extern int cpu_do_powersave;
    -#endif
    -
    -#ifdef _LOCORE
    -
    -#if defined(_ARM_ARCH_6)
    -#define IRQdisable	cpsid	i
    -#define IRQenable	cpsie	i
    -#elif defined(__PROG32)
    -#define IRQdisable \
    -	stmfd	sp!, {r0} ; \
    -	mrs	r0, cpsr ; \
    -	orr	r0, r0, #(I32_bit) ; \
    -	msr	cpsr_c, r0 ; \
    -	ldmfd	sp!, {r0}
    -
    -#define IRQenable \
    -	stmfd	sp!, {r0} ; \
    -	mrs	r0, cpsr ; \
    -	bic	r0, r0, #(I32_bit) ; \
    -	msr	cpsr_c, r0 ; \
    -	ldmfd	sp!, {r0}		
    -#else
    -/* Not yet used in 26-bit code */
    -#endif
    -
    -#if defined (TPIDRPRW_IS_CURCPU)
    -#define GET_CURCPU(rX)		mrc	p15, 0, rX, c13, c0, 4
    -#define GET_CURLWP(rX)		GET_CURCPU(rX); ldr rX, [rX, #CI_CURLWP]
    -#elif defined (TPIDRPRW_IS_CURLWP)
    -#define GET_CURLWP(rX)		mrc	p15, 0, rX, c13, c0, 4
    -#define GET_CURCPU(rX)		GET_CURLWP(rX); ldr rX, [rX, #L_CPU]
    -#elif !defined(MULTIPROCESSOR)
    -#define GET_CURCPU(rX)		ldr rX, =_C_LABEL(cpu_info_store)
    -#define GET_CURLWP(rX)		GET_CURCPU(rX); ldr rX, [rX, #CI_CURLWP]
    -#endif
    -#define GET_CURPCB(rX)		GET_CURLWP(rX); ldr rX, [rX, #L_PCB]
    -
    -#else /* !_LOCORE */
    -
    -#ifdef __PROG32
    -#define IRQdisable __set_cpsr_c(I32_bit, I32_bit);
    -#define IRQenable __set_cpsr_c(I32_bit, 0);
    -#else
    -#define IRQdisable set_r15(R15_IRQ_DISABLE, R15_IRQ_DISABLE);
    -#define IRQenable set_r15(R15_IRQ_DISABLE, 0);
    -#endif
    -
    -#endif /* !_LOCORE */
    -
    -#ifndef _LOCORE
    +extern int cpu_fpu_present;
     
     /* All the CLKF_* macros take a struct clockframe * as an argument. */
     
    @@ -143,22 +89,22 @@ extern int cpu_do_powersave;
      * frame came from USR mode or not.
      */
     #ifdef __PROG32
    -#define CLKF_USERMODE(frame)	((frame->cf_tf.tf_spsr & PSR_MODE) == PSR_USR32_MODE)
    +#define CLKF_USERMODE(cf) (((cf)->cf_tf.tf_spsr & PSR_MODE) == PSR_USR32_MODE)
     #else
    -#define CLKF_USERMODE(frame)	((frame->cf_if.if_r15 & R15_MODE) == R15_MODE_USR)
    +#define CLKF_USERMODE(cf) (((cf)->cf_if.if_r15 & R15_MODE) == R15_MODE_USR)
     #endif
     
     /*
      * CLKF_INTR: True if we took the interrupt from inside another
      * interrupt handler.
      */
    -#ifdef __PROG32
    +#if defined(__PROG32) && !defined(__ARM_EABI__)
     /* Hack to treat FPE time as interrupt time so we can measure it */
    -#define CLKF_INTR(frame)						\
    -	((curcpu()->ci_intr_depth > 1) ||				\
    -	    (frame->cf_tf.tf_spsr & PSR_MODE) == PSR_UND32_MODE)
    +#define CLKF_INTR(cf)						\
    +	((curcpu()->ci_intr_depth > 1) ||			\
    +	    ((cf)->cf_tf.tf_spsr & PSR_MODE) == PSR_UND32_MODE)
     #else
    -#define CLKF_INTR(frame)	(curcpu()->ci_intr_depth > 1) 
    +#define CLKF_INTR(cf)	((void)(cf), curcpu()->ci_intr_depth > 1) 
     #endif
     
     /*
    @@ -179,41 +125,6 @@ extern int cpu_do_powersave;
     #define LWP_PC(l)		(lwp_trapframe(l)->tf_r15 & R15_PC)
     #endif
     
    -/*
    - * Validate a PC or PSR for a user process.  Used by various system calls
    - * that take a context passed by the user and restore it.
    - */
    -
    -#ifdef __PROG32
    -#define VALID_R15_PSR(r15,psr)						\
    -	(((psr) & PSR_MODE) == PSR_USR32_MODE &&			\
    -		((psr) & (I32_bit | F32_bit)) == 0)
    -#else
    -#define VALID_R15_PSR(r15,psr)						\
    -	(((r15) & R15_MODE) == R15_MODE_USR &&				\
    -		((r15) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE)) == 0)
    -#endif
    -
    -
    -
    -/* The address of the vector page. */
    -extern vaddr_t vector_page;
    -#ifdef __PROG32
    -void	arm32_vector_init(vaddr_t, int);
    -
    -#define	ARM_VEC_RESET			(1 << 0)
    -#define	ARM_VEC_UNDEFINED		(1 << 1)
    -#define	ARM_VEC_SWI			(1 << 2)
    -#define	ARM_VEC_PREFETCH_ABORT		(1 << 3)
    -#define	ARM_VEC_DATA_ABORT		(1 << 4)
    -#define	ARM_VEC_ADDRESS_EXCEPTION	(1 << 5)
    -#define	ARM_VEC_IRQ			(1 << 6)
    -#define	ARM_VEC_FIQ			(1 << 7)
    -
    -#define	ARM_NVEC			8
    -#define	ARM_VEC_ALL			0xffffffff
    -#endif
    -
     /*
      * Per-CPU information.  For now we assume one CPU.
      */
    @@ -221,9 +132,12 @@ static inline int curcpl(void);
     static inline void set_curcpl(int);
     static inline void cpu_dosoftints(void);
     
    +#ifdef _KMEMUSER
    +#include 
    +#endif
    +#include 
     #include 
     #include 
    -#include 
     
     struct cpu_info {
     	struct cpu_data ci_data;	/* MI per-cpu data */
    @@ -238,26 +152,23 @@ struct cpu_info {
     	int ci_want_resched;		/* resched() was called */
     	int ci_intr_depth;		/* */
     	struct cpu_softc *ci_softc;	/* platform softc */
    -#ifdef __HAVE_FAST_SOFTINTS
     	lwp_t *ci_softlwps[SOFTINT_COUNT];
     	volatile uint32_t ci_softints;
    -#endif
     	lwp_t *ci_curlwp;		/* current lwp */
     	struct evcnt ci_arm700bugcount;
     	int32_t ci_mtx_count;
     	int ci_mtx_oldspl;
     	register_t ci_undefsave[3];
     	uint32_t ci_vfp_id;
    -#if defined(_ARM_ARCH_7)
     	uint64_t ci_lastintr;
    -#endif
    -	struct evcnt ci_abt_evs[FAULT_TYPE_MASK+1];
    +	struct evcnt ci_abt_evs[16];
     #if defined(MP_CPU_INFO_MEMBERS)
     	MP_CPU_INFO_MEMBERS
     #endif
     };
     
     extern struct cpu_info cpu_info_store;
    +
     #if defined(TPIDRPRW_IS_CURLWP)
     static inline struct lwp *
     _curlwp(void)
    @@ -306,7 +217,7 @@ void cpu_boot_secondary_processors(void);
     
     #define CPU_IS_PRIMARY(ci)	true
     #define CPU_INFO_FOREACH(cii, ci)			\
    -	cii = 0, ci = curcpu(); ci != NULL; ci = NULL
    +	cii = 0, __USE(cii), ci = curcpu(); ci != NULL; ci = NULL
     #endif
     
     #define	LWP0_CPU_INFO	(&cpu_info_store)
    @@ -375,42 +286,7 @@ vaddr_t cpu_uarea_alloc_idlelwp(struct cpu_info *);
     void	cpu_attach(device_t, cpuid_t);
     #endif
     
    -/*
    - * Random cruft
    - */
    -
    -struct lwp;
    -
    -/* locore.S */
    -void atomic_set_bit(u_int *, u_int);
    -void atomic_clear_bit(u_int *, u_int);
    -
    -/* cpuswitch.S */
    -struct pcb;
    -void	savectx(struct pcb *);
    -
    -/* ast.c */
    -void userret(register struct lwp *);
    -
    -/* *_machdep.c */
    -void bootsync(void);
    -
    -/* fault.c */
    -int badaddr_read(void *, size_t, void *);
    -
    -/* syscall.c */
    -void swi_handler(trapframe_t *);
    -
    -/* arm_machdep.c */
    -void ucas_ras_check(trapframe_t *);
    -
    -/* vfp_init.c */
    -void vfp_attach(void);
    -void vfp_discardcontext(void);
    -void vfp_savecontext(void);
    -extern const pcu_ops_t arm_vfp_ops;
    -
    -#endif	/* !_LOCORE */
    +#endif /* !_LOCORE */
     
     #endif /* _KERNEL */
     
    diff --git a/sys/arch/arm/include/cpuconf.h b/sys/arch/arm/include/cpuconf.h
    index 794e81090..2a0b0ebd6 100644
    --- a/sys/arch/arm/include/cpuconf.h
    +++ b/sys/arch/arm/include/cpuconf.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cpuconf.h,v 1.20 2011/03/10 07:47:14 bsh Exp $	*/
    +/*	$NetBSD: cpuconf.h,v 1.21 2013/05/19 15:51:10 rkujawa Exp $	*/
     
     /*
      * Copyright (c) 2002 Wasabi Systems, Inc.
    @@ -132,7 +132,7 @@
     #define ARM_ARCH_6	0
     #endif
     
    -#if defined(CPU_CORTEX)
    +#if defined(CPU_CORTEX) || defined(CPU_PJ4B)
     #define ARM_ARCH_7	1
     #else
     #define ARM_ARCH_7	0
    @@ -217,7 +217,8 @@
     	defined(CPU_ARM1136) || \
     	defined(CPU_ARM1176) || \
     	defined(CPU_ARM11) && \
    -	!defined(CPU_CORTEX) && !defined(CPU_ARM11MPCORE)
    +	!defined(CPU_CORTEX) && \
    +	!defined(CPU_ARM11MPCORE) && !defined(CPU_PJ4B)
     #define	ARM_MMU_V6C		1
     #else
     #define	ARM_MMU_V6C		0
    @@ -234,7 +235,7 @@
     
     
     #if !defined(_KERNEL_OPT) ||						\
    -	 defined(CPU_CORTEX)
    +	 defined(CPU_CORTEX) || defined(CPU_PJ4B)
     #define	ARM_MMU_V7		1
     #else
     #define	ARM_MMU_V7		0
    diff --git a/sys/arch/arm/include/cpufunc.h b/sys/arch/arm/include/cpufunc.h
    index 48d495a8d..3847871f4 100644
    --- a/sys/arch/arm/include/cpufunc.h
    +++ b/sys/arch/arm/include/cpufunc.h
    @@ -468,15 +468,41 @@ void	armv7_dcache_wbinv_range(vaddr_t, vsize_t);
     void	armv7_dcache_inv_range(vaddr_t, vsize_t);
     void	armv7_idcache_wbinv_range(vaddr_t, vsize_t);
     
    -void 	armv7_dcache_wbinv_all (void);
    -void	armv7_idcache_wbinv_all(void);
     void	armv7_icache_sync_all(void);
     void	armv7_cpu_sleep(int);
     void	armv7_context_switch(u_int);
     void	armv7_tlb_flushID_SE(u_int);
    -void	armv7_setup		(char *string);
    +void	armv7_drain_writebuf(void);
    +void	armv7_setup(char *string);
     #endif
     
    +#if defined(CPU_CORTEX) || defined(CPU_PJ4B)
    +void 	armv7_dcache_wbinv_all (void);
    +void	armv7_idcache_wbinv_all(void);
    +#endif
    +
    +#if defined(CPU_PJ4B)
    +void	pj4b_setttb(u_int, bool);
    +void	pj4b_tlb_flushID(void);
    +void	pj4b_tlb_flushID_SE(u_int);
    +
    +void	pj4b_icache_sync_range(vm_offset_t, vm_size_t);
    +void	pj4b_idcache_wbinv_range(vm_offset_t, vm_size_t);
    +void	pj4b_dcache_wbinv_range(vm_offset_t, vm_size_t);
    +void	pj4b_dcache_inv_range(vm_offset_t, vm_size_t);
    +void	pj4b_dcache_wb_range(vm_offset_t, vm_size_t);
    +
    +void	pj4b_drain_writebuf(void);
    +void	pj4b_drain_readbuf(void);
    +void	pj4b_flush_brnchtgt_all(void);
    +void	pj4b_flush_brnchtgt_va(u_int);
    +void	pj4b_context_switch(u_int);
    +void	pj4b_sleep(int);
    +
    +void	pj4bv7_setup(char *string);
    +void	pj4b_config(void);
    +
    +#endif /* CPU_PJ4B */
     
     #if defined(CPU_ARM1136) || defined(CPU_ARM1176)
     void	arm11x6_setttb			(u_int, bool);
    @@ -580,9 +606,9 @@ void	sheeva_cpu_sleep(int);
      * Macros for manipulating CPU interrupts
      */
     #ifdef __PROG32
    -static __inline u_int32_t __set_cpsr_c(uint32_t bic, uint32_t eor) __attribute__((__unused__));
    -static __inline u_int32_t disable_interrupts(uint32_t mask) __attribute__((__unused__));
    -static __inline u_int32_t enable_interrupts(uint32_t mask) __attribute__((__unused__));
    +static __inline uint32_t __set_cpsr_c(uint32_t bic, uint32_t eor) __attribute__((__unused__));
    +static __inline uint32_t disable_interrupts(uint32_t mask) __attribute__((__unused__));
    +static __inline uint32_t enable_interrupts(uint32_t mask) __attribute__((__unused__));
     
     static __inline uint32_t
     __set_cpsr_c(uint32_t bic, uint32_t eor)
    diff --git a/sys/arch/arm/include/disklabel.h b/sys/arch/arm/include/disklabel.h
    index a400899ab..7fa6ffb03 100644
    --- a/sys/arch/arm/include/disklabel.h
    +++ b/sys/arch/arm/include/disklabel.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: disklabel.h,v 1.10 2011/08/30 12:39:53 bouyer Exp $	*/
    +/*	$NetBSD: disklabel.h,v 1.12 2013/05/27 07:37:20 msaitoh Exp $	*/
     
     /*
      * Copyright (c) 1994 Mark Brinicombe.
    @@ -47,12 +47,28 @@
     #define _ARM_DISKLABEL_H_
     
     #ifndef LABELUSESMBR
    -#define LABELUSESMBR	0		/* no MBR partitionning */
    +#define LABELUSESMBR		1	/* use MBR partitionning */
     #endif
    -#define LABELSECTOR	1		/* sector containing label */
    -#define LABELOFFSET	0		/* offset of label in sector */
    -#define MAXPARTITIONS	8		/* number of partitions */
    -#define RAW_PART	2		/* raw partition: XX?c */
    +#define LABELSECTOR		1	/* sector containing label */
    +#define LABELOFFSET		0	/* offset of label in sector */
    +#define MAXPARTITIONS		16	/* number of partitions */
    +#define OLDMAXPARTITIONS	8	/* old number of partitions */
    +#ifndef RAW_PART
    +#define RAW_PART		2	/* raw partition: XX?c */
    +#endif
    +
    +/*
    + * We use the highest bit of the minor number for the partition number.
    + * This maintains backward compatibility with device nodes created before
    + * MAXPARTITIONS was increased.
    + */
    +#define	__ARM_MAXDISKS	((1 << 20) / MAXPARTITIONS)
    +#define	DISKUNIT(dev)	((minor(dev) / OLDMAXPARTITIONS) % __ARM_MAXDISKS)
    +#define	DISKPART(dev)	((minor(dev) % OLDMAXPARTITIONS) + \
    +    ((minor(dev) / (__ARM_MAXDISKS * OLDMAXPARTITIONS)) * OLDMAXPARTITIONS))
    +#define	DISKMINOR(unit, part) \
    +    (((unit) * OLDMAXPARTITIONS) + ((part) % OLDMAXPARTITIONS) + \
    +     ((part) / OLDMAXPARTITIONS) * (__ARM_MAXDISKS * OLDMAXPARTITIONS))
     
     #if HAVE_NBTOOL_CONFIG_H
     #include 
    diff --git a/sys/arch/arm/include/ehabi.h b/sys/arch/arm/include/ehabi.h
    new file mode 100644
    index 000000000..82a84662a
    --- /dev/null
    +++ b/sys/arch/arm/include/ehabi.h
    @@ -0,0 +1,133 @@
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Matt Thomas of 3am Software Foundry.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +/* $NetBSD: ehabi.h,v 1.1 2013/08/12 23:22:12 matt Exp $ */
    +
    +#ifndef _ARM_EHABI_H_
    +#define	_ARM_EHABI_H_
    +
    +#if defined(_KERNEL) || defined(_STANDALONE)
    +#include 
    +#else
    +#include 
    +#endif
    +
    +typedef enum {
    +	_URC_OK = 0,			/* operation complete */
    +	_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
    +	_URC_HANDLER_FOUND = 6,
    +	_URC_INSTALL_CONTEXT = 7,
    +	_URC_CONTINUE_UNWIND = 8,
    +	_URC_FAILURE = 9,		/* unspecified failure */
    +} _Unwind_Reason_Code;
    +
    +typedef enum {
    +	_UVRSC_CORE = 0,	/* integer register */
    +	_UVRSC_VFP = 1,		/* vfp */
    +	_UVRSC_WMMXD = 3,	/* Intel WMMX data register */
    +	_UVRSC_WMMXC = 4	/* Intel WMMX control register */
    +} _Unwind_VRS_RegClass;
    +typedef enum {
    +	_UVRSD_UINT32 = 0,
    +	_UVRSD_VFPX = 1,
    +	_UVRSD_UINT64 = 3,
    +	_UVRSD_FLOAT = 4,
    +	_UVRSD_DOUBLE = 5
    +} _Unwind_VRS_DataRepresentation;
    +typedef enum {
    +	_UVRSR_OK = 0,
    +	_UVRSR_NOT_IMPLEMENTED = 1,
    +	_UVRSR_FAILED = 2
    +} _Unwind_VRS_Result;
    +
    +typedef uint32_t _Unwind_State;
    +static const _Unwind_State _US_VIRTUAL_UNWIND_FRAME  = 0;
    +static const _Unwind_State _US_UNWIND_FRAME_STARTING = 1;
    +static const _Unwind_State _US_UNWIND_FRAME_RESUME   = 2;
    +
    +typedef struct _Unwind_Control_Block _Unwind_Control_Block;
    +typedef struct _Unwind_Context _Unwind_Context;
    +typedef uint32_t _Unwind_EHT_Header;
    +
    +struct _Unwind_Control_Block {
    +	char exception_class[8];
    +	void (*exception_cleanup)(_Unwind_Reason_Code, _Unwind_Control_Block *);
    +	/* Unwinder cache, private fields for the unwinder's use */
    +	struct {
    +		uint32_t reserved1;
    +		uint32_t reserved2;
    +		uint32_t reserved3;
    +		uint32_t reserved4;
    +		uint32_t reserved5;
    +		/* init reserved1 to 0, then don't touch */
    +	} unwinder_cache;
    +	/* Propagation barrier cache (valid after phase 1): */
    +	struct {
    +		uint32_t sp;
    +		  uint32_t bitpattern[5];
    +	} barrier_cache;
    +	/* Cleanup cache (preserved over cleanup): */
    +	struct {
    +		uint32_t bitpattern[4];
    +	} cleanup_cache;
    +	/* Pr cache (for pr's benefit): */
    +	struct {
    +		uint32_t fnstart;		/* function start address */
    +		_Unwind_EHT_Header *ehtp; /* ptr to EHT entry header word */
    +		uint32_t additional;		/* additional data */
    +		uint32_t reserved1;
    +	} pr_cache;
    +	uint64_t : 0; /* Force alignment of next item to 8-byte boundary */
    +};
    +
    +__BEGIN_DECLS
    +
    +/* Unwinding functions */
    +void			_Unwind_Resume(_Unwind_Control_Block *);
    +void			_Unwind_Complete(_Unwind_Control_Block *);
    +void			_Unwind_DeleteException(_Unwind_Control_Block *);
    +_Unwind_Reason_Code	_Unwind_RaiseException(_Unwind_Control_Block *);
    +
    +_Unwind_VRS_Result	_Unwind_VRS_Set(_Unwind_Context *, _Unwind_VRS_RegClass,
    +			    uint32_t, _Unwind_VRS_DataRepresentation, void *);
    +_Unwind_VRS_Result	_Unwind_VRS_Get(_Unwind_Context *, _Unwind_VRS_RegClass,
    +			    uint32_t, _Unwind_VRS_DataRepresentation, void *);
    +
    +_Unwind_VRS_Result	_Unwind_VRS_Pop(_Unwind_Context *, _Unwind_VRS_RegClass,
    +			    uint32_t, _Unwind_VRS_DataRepresentation);
    +
    +_Unwind_Reason_Code	__aeabi_unwind_cpp_pr0(_Unwind_State,
    +			    _Unwind_Control_Block *, _Unwind_Context *);
    +_Unwind_Reason_Code	__aeabi_unwind_cpp_pr1(_Unwind_State ,
    +			    _Unwind_Control_Block *, _Unwind_Context *);
    +_Unwind_Reason_Code	__aeabi_unwind_cpp_pr2(_Unwind_State ,
    +			    _Unwind_Control_Block *, _Unwind_Context *);
    +
    +__END_DECLS
    +
    +#endif /* _ARM_EHABI_H_ */
    diff --git a/sys/arch/arm/include/elf_machdep.h b/sys/arch/arm/include/elf_machdep.h
    index 97d8434ae..7f6c8b921 100644
    --- a/sys/arch/arm/include/elf_machdep.h
    +++ b/sys/arch/arm/include/elf_machdep.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: elf_machdep.h,v 1.10 2012/08/05 04:12:46 matt Exp $	*/
    +/*	$NetBSD: elf_machdep.h,v 1.14 2013/10/29 00:45:00 matt Exp $	*/
     
     #ifndef _ARM_ELF_MACHDEP_H_
     #define _ARM_ELF_MACHDEP_H_
    @@ -27,6 +27,7 @@
     #define EF_ARM_NEW_ABI		0x00000080
     #define EF_ARM_OLD_ABI		0x00000100
     #define EF_ARM_SOFT_FLOAT	0x00000200
    +#define EF_ARM_BE8		0x00800000
     #define EF_ARM_EABIMASK		0xff000000
     #define	EF_ARM_EABI_VER1	0x01000000
     #define	EF_ARM_EABI_VER2	0x02000000
    @@ -76,13 +77,29 @@
     #define R_ARM_GOTPC		25
     #define R_ARM_GOT32		26
     #define R_ARM_PLT32		27
    -
    +#define R_ARM_CALL		28
    +#define R_ARM_JUMP24		29
    +#define R_ARM_THM_JUMP24	30
    +#define R_ARM_BASE_ABS		31
     #define R_ARM_ALU_PCREL_7_0	32
     #define R_ARM_ALU_PCREL_15_8	33
     #define R_ARM_ALU_PCREL_23_15	34
     #define R_ARM_ALU_SBREL_11_0	35
     #define R_ARM_ALU_SBREL_19_12	36
    -#define R_ARM_ALU_SBREL_27_20	37
    +#define R_ARM_ALU_SBREL_27_20	37	// depcreated
    +#define R_ARM_TARGET1		38
    +#define R_ARM_SBREL31		39	// deprecated
    +#define R_ARM_V4BX		40
    +#define R_ARM_TARGET2		41
    +#define R_ARM_PREL31		42
    +#define R_ARM_MOVW_ABS_NC	43
    +#define R_ARM_MOVT_ABS		44
    +#define R_ARM_MOVW_PREL_NC	45
    +#define R_ARM_MOVT_PREL		46
    +#define R_ARM_THM_MOVW_ABS_NC	47
    +#define R_ARM_THM_MOVT_ABS	48
    +#define R_ARM_THM_MOVW_PREL_NC	49
    +#define R_ARM_THM_MOVT_PREL	50
     
     /* 96-111 are reserved to G++. */
     #define R_ARM_GNU_VTENTRY	100
    @@ -110,6 +127,133 @@
     #define R_ARM_RPC24		254
     #define R_ARM_RBASE		255
     
    +#define	R_AARCH64_ABS64			257	/* S + A */
    +#define	R_AARCH64_ABS32			258	/* S + A */
    +#define	R_AARCH64_ABS16			259	/* S + A */
    +#define	R_AARCH64_PREL64		260	/* S + A - P */
    +#define	R_AARCH64_PREL32		261	/* S + A - P */
    +#define	R_AARCH64_PREL16		262	/* S + A - P */
    +#define R_AARCH64_MOVW_UABS_G0		263	/* S + A [bits 0..15] */
    +#define R_AARCH64_MOVW_UABS_G0_NC	264	/* S + A [bits 0..15] */
    +#define R_AARCH64_MOVW_UABS_G1		265	/* S + A [bits 16..31] */
    +#define R_AARCH64_MOVW_UABS_G1_NC	266	/* S + A [bits 16..31] */
    +#define R_AARCH64_MOVW_UABS_G2		267	/* S + A [bits 32..47] */
    +#define R_AARCH64_MOVW_UABS_G2_NC	268	/* S + A [bits 32..47] */
    +#define R_AARCH64_MOVW_UABS_G3		269	/* S + A [bits 48..63] */
    +#define R_AARCH64_MOVW_SABS_G0		270	/* S + A [bits 0..15] */
    +#define R_AARCH64_MOVW_SABS_G1		271	/* S + A [bits 16..31] */
    +#define R_AARCH64_MOVW_SABS_G2		272	/* S + A [bits 32..47] */
    +#define	R_AARCH64_LD_PREL_LO19		273	/* S + A - P */
    +#define	R_AARCH64_ADR_PREL_LO21		274	/* S + A - P */
    +#define	R_AARCH64_ADR_PREL_PG_HI21	275	/* Page(S + A) - Page(P) */
    +#define	R_AARCH64_ADR_PREL_PG_HI21_NC	276	/* Page(S + A) - Page(P) */
    +#define	R_AARCH64_ADR_ABS_LO21_NC	277	/* S + A */
    +#define	R_AARCH64_LDST8_ABS_LO12_NC	278	/* S + A */
    +#define R_AARCH_TSTBR14			279	/* S + A - P */
    +#define R_AARCH_CONDBR19		281	/* S + A - P */
    +#define R_AARCH_JUMP26			282	/* S + A - P */
    +#define R_AARCH_CALL26			283	/* S + A - P */
    +#define R_AARCH_LDST16_ABS_LO12_NC	284	/* S + A */
    +#define R_AARCH_LDST32_ABS_LO12_NC	285	/* S + A */
    +#define R_AARCH_LDST64_ABS_LO12_NC	286	/* S + A */
    +#define R_AARCH64_MOVW_PREL_G0		287	/* S + A - P */
    +#define R_AARCH64_MOVW_PREL_G0_NC	288	/* S + A - P */
    +#define R_AARCH64_MOVW_PREL_G1		289	/* S + A - P */
    +#define R_AARCH64_MOVW_PREL_G1_NC	290	/* S + A - P */
    +#define R_AARCH64_MOVW_PREL_G2		291	/* S + A - P */
    +#define R_AARCH64_MOVW_PREL_G2_NC	292	/* S + A - P */
    +#define R_AARCH64_MOVW_PREL_G3		293	/* S + A - P */
    +
    +#define R_AARCH64_LDST128_ABS_LO12_NC	299	/* S + A */
    +#define R_AARCH64_MOVW_GOTOFF_G0	300	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_MOVW_GOTOFF_G0_NC	301	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_MOVW_GOTOFF_G1	302	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_MOVW_GOTOFF_G1_NC	303	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_MOVW_GOTOFF_G2	304	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_MOVW_GOTOFF_G2_NC	305	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_MOVW_GOTOFF_G3	306	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_GOTREL64		307	/* S + A - GOT */
    +#define R_AARCH64_GOTREL32		308	/* S + A - GOT */
    +#define R_AARCH64_GOT_LD_PREL19		309	/* G(GDAT(S + A)) - P */
    +#define R_AARCH64_LD64_GOTOFF_LO15	310	/* G(GDAT(S + A)) - GOT */
    +#define R_AARCH64_ADR_GOT_PAGE		311	/* Page(G(GDAT(S + A))) - Page(GOT) */
    +#define R_AARCH64_LD64_GOT_LO12_NC	312	/* G(GDAT(S + A)) */
    +#define R_AARCH64_LD64_GOTPAGE_LO15	313	/* G(GDAT(S + A)) - Page(GOT) */
    +
    +#define R_AARCH64_TLSGD_ADR_PREL21		512	/* G(GTLSIDX(S,A)) - P */
    +#define R_AARCH64_TLSGD_ADR_PAGE21		513	/* Page(G(GTLSIDX(S,A))) - Page(P) */
    +#define R_AARCH64_TLSGD_ADD_LO12_NC		514	/* G(GTLSIDX(S,A)) */
    +#define R_AARCH64_TLSGD_MOVW_G1			515	/* G(GTLSIDX(S,A)) - GOT */
    +#define R_AARCH64_TLSGD_MOVW_G0_NV		516	/* G(GTLSIDX(S,A)) - GOT */
    +#define R_AARCH64_TLSLD_ADR_PREL21		517	/* G(GLDM(S,A)) - P */
    +#define R_AARCH64_TLSLD_ADR_PAGE21		518	/* Page(G(GLDM(S))) - Page(P) */
    +#define R_AARCH64_TLSLD_ADD_LO12_NC		519	/* G(GLDM(S)) */
    +#define R_AARCH64_TLSLD_MOVW_G1			520	/* G(GLDM(S)) - GOT */
    +#define R_AARCH64_TLSLD_MOVW_G0_NC		521	/* G(GLDM(S)) - GOT */
    +#define R_AARCH64_TLSLD_LD_PREL21		522	/* G(GLDM(S)) - P */
    +#define R_AARCH64_TLSLD_MOVW_DTPREL_G2		523	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_MOVW_DTPREL_G1		524	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC	525	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_MOVW_DTPREL_G0		526	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC	528	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_ADD_DTPREL_HI12		528	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_ADD_DTPREL_HI12		528	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_ADD_DTPREL_LO12		529	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC	530	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12	531	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC	532	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12	533	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC	534	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12	535	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC	536	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12	537	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC	538	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1	539	/* G(GTPREL(S+A)) - GOT */
    +#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC	540	/* G(GTPREL(S+A)) - GOT */
    +#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21	541	/* Page(G(GTPREL(S+A))) - Page(P) */
    +#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC	542	/* G(GTPREL(S+A)) */
    +#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19	543	/* G(GTPREL(S+A)) - P */
    +#define R_AARCH64_TLSLE_MOVW_TPREL_G2	544	/* TPREL(S+A) */
    +#define R_AARCH64_MOVW_TPREL_G1		545	/* TPREL(S+A) */
    +#define R_AARCH64_MOVW_TPREL_G1_NC	546	/* TPREL(S+A) */
    +#define R_AARCH64_MOVW_TPREL_G0		547	/* TPREL(S+A) */
    +#define R_AARCH64_MOVW_TPREL_G0_NC	548	/* TPREL(S+A) */
    +#define R_AARCH64_ADD_TPREL_HI12	549	/* TPREL(S+A) */
    +#define R_AARCH64_ADD_TPREL_LO12	550	/* TPREL(S+A) */
    +#define R_AARCH64_ADD_TPREL_LO12_NC	551	/* TPREL(S+A) */
    +#define R_AARCH64_LDST8_TPREL_LO12	552	/* TPREL(S+A) */
    +#define R_AARCH64_LDST8_TPREL_LO12_NC	553	/* TPREL(S+A) */
    +#define R_AARCH64_LDST16_TPREL_LO12	554	/* TPREL(S+A) */
    +#define R_AARCH64_LDST16_TPREL_LO12_NC	555	/* TPREL(S+A) */
    +#define R_AARCH64_LDST32_TPREL_LO12	556	/* TPREL(S+A) */
    +#define R_AARCH64_LDST32_TPREL_LO12_NC	557	/* TPREL(S+A) */
    +#define R_AARCH64_LDST64_TPREL_LO12	558	/* TPREL(S+A) */
    +#define R_AARCH64_LDST64_TPREL_LO12_NC	559	/* TPREL(S+A) */
    +#define R_AARCH64_TLSDESC_LD_PREL19	560	/* G(GTLSDESC(S+A)) - P */
    +#define R_AARCH64_TLSDESC_LD_PREL21	561	/* G(GTLSDESC(S+A)) - P */
    +#define R_AARCH64_TLSDESC_LD_PAGE21	562	/* Page(G(GTLSDESC(S+A))) - Page(P) */
    +#define R_AARCH64_TLSDESC_LD64_LO12	563	/* G(GTLSDESC(S+A)) */
    +#define R_AARCH64_TLSDESC_ADD_LO12	564	/* G(GTLSDESC(S+A)) */
    +#define R_AARCH64_TLSDESC_OFF_G1	565	/* G(GTLSDESC(S+A)) - GOT */
    +#define R_AARCH64_TLSDESC_OFF_G0_NC	566	/* G(GTLSDESC(S+A)) - GOT */
    +#define R_AARCH64_TLSDESC_LDR		567	/* */
    +#define R_AARCH64_TLSDESC_ADD		568	/* */
    +#define R_AARCH64_TLSDESC_CALL		569	/* */
    +#define R_AARCH64_TLSLE_LDST128_TPREL_LO12	570	/* TPREL(S+A) */
    +#define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC	571	/* TPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12	572	/* DTPREL(S+A) */
    +#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC	572	/* DTPREL(S+A) */
    +
    +#define R_AARCH64_COPY		1024
    +#define R_AARCH64_GLOB_DAT	1025	/* S + A */
    +#define R_AARCH64_JUMP_SLOT	1026	/* S + A */
    +#define R_AARCH64_RELATIVE	1027	/* Delta(S) + A */
    +#define R_AARCH64_TLS_DTPREL64	1028	/* DTPREL(S+A) */
    +#define R_AARCH64_TLS_DTPMOD64	1029	/* LBM(S) */
    +#define R_AARCH64_TLS_TPREL64	1030	/* TPREL(S+A) */
    +#define R_AARCH64_TLSDESC	1031	/* TLSDESC(S+A) */
    +#define R_AARCH64_IRELATIVE	1032	/* Indirect(Delta(S) + A) */
    +
     #define R_TYPE(name)		__CONCAT(R_ARM_,name)
     
     /* Processor specific program header flags */
    @@ -117,10 +261,17 @@
     #define PF_ARM_PI		0x20000000
     #define PF_ARM_ENTRY		0x80000000
     
    +/* Processor specific program header types */
    +#define PT_ARM_EXIDX		(PT_LOPROC + 1)
    +#define PT_AARCH64_ARCHEXT	(PT_LOPROC + 0)
    +#define PT_AARCH64_UNWIND	(PT_LOPROC + 1)
    +
     /* Processor specific section header flags */
     #define SHF_ENTRYSECT		0x10000000
     #define SHF_COMDEF		0x80000000
     
    +#define SHT_AARCH64_ATTRIBUTES	(SHT_LOPROC + 3)
    +
     /* Processor specific symbol types */
     #define STT_ARM_TFUNC		STT_LOPROC
     
    diff --git a/sys/arch/arm/include/fenv.h b/sys/arch/arm/include/fenv.h
    new file mode 100644
    index 000000000..e967776b9
    --- /dev/null
    +++ b/sys/arch/arm/include/fenv.h
    @@ -0,0 +1,35 @@
    +/*	$NetBSD: fenv.h,v 1.1 2013/04/23 05:41:12 matt Exp $	*/
    +
    +/* 
    + * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
    + * Public domain.
    + */
    +
    +#ifndef _ARM_FENV_H_
    +#define _ARM_FENV_H_
    +
    +typedef int fenv_t;
    +typedef int fexcept_t;
    +
    +#define	FE_INVALID	0x01	/* invalid operation exception */
    +#define	FE_DIVBYZERO	0x02	/* divide-by-zero exception */
    +#define	FE_OVERFLOW	0x04	/* overflow exception */
    +#define	FE_UNDERFLOW	0x08	/* underflow exception */
    +#define	FE_INEXACT	0x10	/* imprecise (loss of precision; "inexact") */
    +
    +#define	FE_ALL_EXCEPT	0x1f
    +
    +#define	FE_TONEAREST	0	/* round to nearest representable number */
    +#define	FE_UPWARD	1	/* round toward positive infinity */
    +#define	FE_DOWNWARD	2	/* round toward negative infinity */
    +#define	FE_TOWARDZERO	3	/* round to zero (truncate) */
    +
    +__BEGIN_DECLS
    +
    +/* Default floating-point environment */
    +extern const fenv_t	__fe_dfl_env;
    +#define FE_DFL_ENV	(&__fe_dfl_env)
    +
    +__END_DECLS
    +
    +#endif /* _ARM_FENV_H_ */
    diff --git a/sys/arch/arm/include/float.h b/sys/arch/arm/include/float.h
    index 6f339fb53..081d53955 100644
    --- a/sys/arch/arm/include/float.h
    +++ b/sys/arch/arm/include/float.h
    @@ -1,31 +1,8 @@
    -/*	$NetBSD: float.h,v 1.6 2005/12/11 12:16:47 christos Exp $	*/
    +/*	$NetBSD: float.h,v 1.7 2013/01/24 10:13:35 matt Exp $	*/
     
     #ifndef _ARM_FLOAT_H_
     #define _ARM_FLOAT_H_
     
    -#ifndef __VFP_FP__
    -#define LDBL_MANT_DIG	64
    -#define LDBL_EPSILON	1.0842021724855044340E-19L
    -#define LDBL_DIG	18
    -#define LDBL_MIN_EXP	(-16381)
    -#define LDBL_MIN	1.6810515715560467531E-4932L
    -#define LDBL_MIN_10_EXP	(-4931)
    -#define LDBL_MAX_EXP	16384
    -#define LDBL_MAX	1.1897314953572317650E+4932L
    -#define LDBL_MAX_10_EXP	4932
    -#endif
    -
     #include 
     
    -#ifndef __VFP_FP__
    -#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
    -    !defined(_XOPEN_SOURCE) || \
    -    ((__STDC_VERSION__ - 0) >= 199901L) || \
    -    ((_POSIX_C_SOURCE - 0) >= 200112L) || \
    -    ((_XOPEN_SOURCE  - 0) >= 600) || \
    -    defined(_ISOC99_SOURCE) || defined(_NETBSD_SOURCE)
    -#define	DECIMAL_DIG	21
    -#endif /* !defined(_ANSI_SOURCE) && ... */
    -#endif /* !__VFP_FP__ */
    -
     #endif /* !_ARM_FLOAT_H_ */
    diff --git a/sys/arch/arm/include/frame.h b/sys/arch/arm/include/frame.h
    index 421889cd3..6c2b9f7db 100644
    --- a/sys/arch/arm/include/frame.h
    +++ b/sys/arch/arm/include/frame.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: frame.h,v 1.17 2012/08/16 17:35:01 matt Exp $	*/
    +/*	$NetBSD: frame.h,v 1.18 2013/08/18 05:07:19 matt Exp $	*/
     
     /*
      * Copyright (c) 1994-1997 Mark Brinicombe.
    @@ -52,7 +52,7 @@
     
     typedef struct trapframe {
     	register_t tf_spsr; /* Zero on arm26 */
    -	register_t tf_fill; /* fill here so r0 will dword aligned */
    +	register_t tf_fill; /* fill here so r0 will be dword aligned */
     	register_t tf_r0;
     	register_t tf_r1;
     	register_t tf_r2;
    @@ -90,14 +90,13 @@ typedef struct trapframe {
      */
     #if defined(COMPAT_16) || defined(__minix)
     struct sigframe_sigcontext {
    -#ifdef __minix
    +#if defined(__minix)
     	struct	sigcontext *sf_scp;	/* Let sigreturn find sigcontext */
    -#endif
    +#endif /* defined(__minix) */
     	struct	sigcontext sf_sc;
     };
     #endif
     
    -
     /* the pointers are use in the trampoline code to locate the ucontext */
     struct sigframe_siginfo {
     	siginfo_t	sf_si;		/* actual saved siginfo */
    diff --git a/sys/arch/arm/include/ieeefp.h b/sys/arch/arm/include/ieeefp.h
    index 08d0ef17a..1c330686d 100644
    --- a/sys/arch/arm/include/ieeefp.h
    +++ b/sys/arch/arm/include/ieeefp.h
    @@ -1,32 +1,18 @@
    -/*	$NetBSD: ieeefp.h,v 1.2 2008/08/05 16:47:41 matt Exp $	*/
    +/*	$NetBSD: ieeefp.h,v 1.3 2013/04/23 05:42:23 matt Exp $	*/
     
     /* 
      * Based on ieeefp.h written by J.T. Conklin, Apr 28, 1995
      * Public domain.
      */
     
    -#ifndef _ARM32_IEEEFP_H_
    -#define _ARM32_IEEEFP_H_
    +#ifndef _ARM_IEEEFP_H_
    +#define _ARM_IEEEFP_H_
     
     #include 
     
     #if defined(_NETBSD_SOURCE) || defined(_ISOC99_SOURCE)
     
    -typedef int fenv_t;
    -typedef int fexcept_t;
    -
    -#define	FE_INVALID	0x01	/* invalid operation exception */
    -#define	FE_DIVBYZERO	0x02	/* divide-by-zero exception */
    -#define	FE_OVERFLOW	0x04	/* overflow exception */
    -#define	FE_UNDERFLOW	0x08	/* underflow exception */
    -#define	FE_INEXACT	0x10	/* imprecise (loss of precision; "inexact") */
    -
    -#define	FE_ALL_EXCEPT	0x1f
    -
    -#define	FE_TONEAREST	0	/* round to nearest representable number */
    -#define	FE_UPWARD	1	/* round toward positive infinity */
    -#define	FE_DOWNWARD	2	/* round toward negative infinity */
    -#define	FE_TOWARDZERO	3	/* round to zero (truncate) */
    +#include 
     
     #if !defined(_ISOC99_SOURCE)
     
    @@ -55,4 +41,4 @@ typedef enum {
     
     #endif /* _NETBSD_SOURCE || _ISOC99_SOURCE */
     
    -#endif /* _ARM32_IEEEFP_H_ */
    +#endif /* _ARM_IEEEFP_H_ */
    diff --git a/sys/arch/arm/include/isa_machdep.h b/sys/arch/arm/include/isa_machdep.h
    index f7309436f..a990af21c 100644
    --- a/sys/arch/arm/include/isa_machdep.h
    +++ b/sys/arch/arm/include/isa_machdep.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: isa_machdep.h,v 1.9 2012/09/21 14:21:57 matt Exp $	*/
    +/*	$NetBSD: isa_machdep.h,v 1.10 2012/10/27 17:17:39 chs Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
    @@ -45,13 +45,12 @@ struct arm32_isa_chipset {
     
     typedef struct arm32_isa_chipset *isa_chipset_tag_t;
     
    -struct device;			/* XXX */
     struct isabus_attach_args;	/* XXX */
     
     /*
      * Functions provided to machine-independent ISA code.
      */
    -void	isa_attach_hook(struct device *, struct device *,
    +void	isa_attach_hook(device_t, device_t,
     	    struct isabus_attach_args *);
     void	isa_detach_hook(isa_chipset_tag_t, device_t);
     const struct evcnt *isa_intr_evcnt(isa_chipset_tag_t ic, int irq);
    diff --git a/sys/arch/arm/include/joystick.h b/sys/arch/arm/include/joystick.h
    new file mode 100644
    index 000000000..a0a890a82
    --- /dev/null
    +++ b/sys/arch/arm/include/joystick.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: joystick.h,v 1.1 2013/05/02 03:56:40 matt Exp $ */
    +
    +#include 
    diff --git a/sys/arch/arm/include/limits.h b/sys/arch/arm/include/limits.h
    index 7637740ee..908689a4e 100644
    --- a/sys/arch/arm/include/limits.h
    +++ b/sys/arch/arm/include/limits.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: limits.h,v 1.12 2012/03/28 17:03:28 christos Exp $	*/
    +/*	$NetBSD: limits.h,v 1.13 2013/04/11 00:57:34 christos Exp $	*/
     
     /*
      * Copyright (c) 1988 The Regents of the University of California.
    @@ -66,6 +66,7 @@
     #endif
     
     #if defined(_NETBSD_SOURCE)
    +#define	SSIZE_MIN	LONG_MIN	/* min value for a ssize_t */
     #define	SIZE_T_MAX	LONG_MAX	/* max value for a size_t */
     
     #define	UQUAD_MAX	0xffffffffffffffffULL		/* max unsigned quad */
    diff --git a/sys/arch/arm/include/lock.h b/sys/arch/arm/include/lock.h
    index 200259c72..c52a44f95 100644
    --- a/sys/arch/arm/include/lock.h
    +++ b/sys/arch/arm/include/lock.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lock.h,v 1.21 2012/08/31 17:29:08 matt Exp $	*/
    +/*	$NetBSD: lock.h,v 1.25 2013/08/18 04:31:08 matt Exp $	*/
     
     /*-
      * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc.
    @@ -74,16 +74,19 @@ __cpu_simple_lock_set(__cpu_simple_lock_t *__ptr)
     #endif
     
     #if defined(_KERNEL)
    -static __inline __cpu_simple_lock_t
    +static __inline unsigned char
     __swp(__cpu_simple_lock_t __val, volatile __cpu_simple_lock_t *__ptr)
     {
     #ifdef _ARM_ARCH_6
    -	__cpu_simple_lock_t __rv, __tmp;
    +	uint32_t __rv, __tmp;
     	if (sizeof(*__ptr) == 1) {
     		__asm volatile(
     			"1:\t"
     			"ldrexb\t%[__rv], [%[__ptr]]"			"\n\t"
     			"cmp\t%[__rv],%[__val]"				"\n\t"
    +#ifdef __thumb__
    +			"itt\tne"					"\n\t"
    +#endif
     			"strexbne\t%[__tmp], %[__val], [%[__ptr]]"	"\n\t"
     			"cmpne\t%[__tmp], #0"				"\n\t"
     			"bne\t1b"					"\n\t"
    @@ -99,6 +102,9 @@ __swp(__cpu_simple_lock_t __val, volatile __cpu_simple_lock_t *__ptr)
     			"1:\t"
     			"ldrex\t%[__rv], [%[__ptr]]"			"\n\t"
     			"cmp\t%[__rv],%[__val]"				"\n\t"
    +#ifdef __thumb__
    +			"itt\tne"					"\n\t"
    +#endif
     			"strexne\t%[__tmp], %[__val], [%[__ptr]]"	"\n\t"
     			"cmpne\t%[__tmp], #0"				"\n\t"
     			"bne\t1b"					"\n\t"
    @@ -112,9 +118,10 @@ __swp(__cpu_simple_lock_t __val, volatile __cpu_simple_lock_t *__ptr)
     	}
     	return __rv;
     #else
    +	uint32_t __val32;
     	__asm volatile("swpb %0, %1, [%2]"
    -	    : "=&r" (__val) : "r" (__val), "r" (__ptr) : "memory");
    -	return __val;
    +	    : "=&r" (__val32) : "r" (__val), "r" (__ptr) : "memory");
    +	return __val32;
     #endif
     }
     #else
    @@ -135,11 +142,14 @@ __swp(int __val, volatile int *__ptr)
     #ifdef _ARM_ARCH_6
     		"ldrex\t%[__rv], [%[__ptr]]"			"\n\t"
     		"cmp\t%[__rv],%[__val]"				"\n\t"
    +#ifdef __thumb__
    +		"it\tne"					"\n\t"
    +#endif
     		"strexne\t%[__tmp], %[__val], [%[__ptr]]"	"\n\t"
     #else
     		"swp\t%[__rv], %[__val], [%[__ptr]]"		"\n\t"
    +		"mov\t%[__tmp], #0"				"\n\t"
     		"cmp\t%[__rv],%[__val]"				"\n\t"
    -		"movs\t%[__tmp], #0"				"\n\t"
     #endif
     		"cmpne\t%[__tmp], #0"				"\n\t"
     		"bne\t1b"					"\n\t"
    @@ -156,7 +166,7 @@ __swp(int __val, volatile int *__ptr)
     }
     #endif /* _KERNEL */
     
    -static __inline void __attribute__((__unused__))
    +static __inline void __unused
     __cpu_simple_lock_init(__cpu_simple_lock_t *alp)
     {
     
    @@ -166,22 +176,30 @@ __cpu_simple_lock_init(__cpu_simple_lock_t *alp)
     #endif
     }
     
    -static __inline void __attribute__((__unused__))
    +#if !defined(__thumb__) || defined(_ARM_ARCH_T2)
    +static __inline void __unused
     __cpu_simple_lock(__cpu_simple_lock_t *alp)
     {
     
     	while (__swp(__SIMPLELOCK_LOCKED, alp) != __SIMPLELOCK_UNLOCKED)
     		continue;
     }
    +#else
    +void __cpu_simple_lock(__cpu_simple_lock_t *);
    +#endif
     
    -static __inline int __attribute__((__unused__))
    +#if !defined(__thumb__) || defined(_ARM_ARCH_T2)
    +static __inline int __unused
     __cpu_simple_lock_try(__cpu_simple_lock_t *alp)
     {
     
     	return (__swp(__SIMPLELOCK_LOCKED, alp) == __SIMPLELOCK_UNLOCKED);
     }
    +#else
    +int __cpu_simple_lock_try(__cpu_simple_lock_t *);
    +#endif
     
    -static __inline void __attribute__((__unused__))
    +static __inline void __unused
     __cpu_simple_unlock(__cpu_simple_lock_t *alp)
     {
     
    diff --git a/sys/arch/arm/include/locore.h b/sys/arch/arm/include/locore.h
    new file mode 100644
    index 000000000..425684ad5
    --- /dev/null
    +++ b/sys/arch/arm/include/locore.h
    @@ -0,0 +1,204 @@
    +/*	cpu.h,v 1.45.4.7 2008/01/28 18:20:39 matt Exp	*/
    +
    +/*
    + * Copyright (c) 1994-1996 Mark Brinicombe.
    + * Copyright (c) 1994 Brini.
    + * All rights reserved.
    + *
    + * This code is derived from software written for Brini by Mark Brinicombe
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by Brini.
    + * 4. The name of the company nor the name of the author may be used to
    + *    endorse or promote products derived from this software without specific
    + *    prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY BRINI ``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 BRINI 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.
    + *
    + * RiscBSD kernel project
    + *
    + * cpu.h
    + *
    + * CPU specific symbols
    + *
    + * Created      : 18/09/94
    + *
    + * Based on kate/katelib/arm6.h
    + */
    +
    +#ifndef _ARM_LOCORE_H_
    +#define _ARM_LOCORE_H_
    +
    +#ifdef _KERNEL_OPT
    +#include "opt_cpuoptions.h"
    +#include "opt_cputypes.h"
    +#endif
    +
    +#include 
    +#include 
    +
    +#include 
    +
    +#ifdef _LOCORE
    +
    +#if defined(_ARM_ARCH_6)
    +#define IRQdisable	cpsid	i
    +#define IRQenable	cpsie	i
    +#elif defined(__PROG32)
    +#define IRQdisable \
    +	stmfd	sp!, {r0} ; \
    +	mrs	r0, cpsr ; \
    +	orr	r0, r0, #(I32_bit) ; \
    +	msr	cpsr_c, r0 ; \
    +	ldmfd	sp!, {r0}
    +
    +#define IRQenable \
    +	stmfd	sp!, {r0} ; \
    +	mrs	r0, cpsr ; \
    +	bic	r0, r0, #(I32_bit) ; \
    +	msr	cpsr_c, r0 ; \
    +	ldmfd	sp!, {r0}		
    +#else
    +/* Not yet used in 26-bit code */
    +#endif
    +
    +#if defined (TPIDRPRW_IS_CURCPU)
    +#define GET_CURCPU(rX)		mrc	p15, 0, rX, c13, c0, 4
    +#define GET_CURLWP(rX)		GET_CURCPU(rX); ldr rX, [rX, #CI_CURLWP]
    +#elif defined (TPIDRPRW_IS_CURLWP)
    +#define GET_CURLWP(rX)		mrc	p15, 0, rX, c13, c0, 4
    +#define GET_CURCPU(rX)		GET_CURLWP(rX); ldr rX, [rX, #L_CPU]
    +#elif !defined(MULTIPROCESSOR)
    +#define GET_CURCPU(rX)		ldr rX, =_C_LABEL(cpu_info_store)
    +#define GET_CURLWP(rX)		GET_CURCPU(rX); ldr rX, [rX, #CI_CURLWP]
    +#endif
    +#define GET_CURPCB(rX)		GET_CURLWP(rX); ldr rX, [rX, #L_PCB]
    +
    +#else /* !_LOCORE */
    +
    +#include 
    +
    +#ifdef __PROG32
    +#define IRQdisable __set_cpsr_c(I32_bit, I32_bit);
    +#define IRQenable __set_cpsr_c(I32_bit, 0);
    +#else
    +#define IRQdisable set_r15(R15_IRQ_DISABLE, R15_IRQ_DISABLE);
    +#define IRQenable set_r15(R15_IRQ_DISABLE, 0);
    +#endif
    +
    +/*
    + * Validate a PC or PSR for a user process.  Used by various system calls
    + * that take a context passed by the user and restore it.
    + */
    +
    +#ifdef __PROG32
    +#define VALID_R15_PSR(r15,psr)						\
    +	(((psr) & PSR_MODE) == PSR_USR32_MODE &&			\
    +		((psr) & (I32_bit | F32_bit)) == 0)
    +#else
    +#define VALID_R15_PSR(r15,psr)						\
    +	(((r15) & R15_MODE) == R15_MODE_USR &&				\
    +		((r15) & (R15_IRQ_DISABLE | R15_FIQ_DISABLE)) == 0)
    +#endif
    +
    +
    +
    +/* The address of the vector page. */
    +extern vaddr_t vector_page;
    +#ifdef __PROG32
    +void	arm32_vector_init(vaddr_t, int);
    +
    +#define	ARM_VEC_RESET			(1 << 0)
    +#define	ARM_VEC_UNDEFINED		(1 << 1)
    +#define	ARM_VEC_SWI			(1 << 2)
    +#define	ARM_VEC_PREFETCH_ABORT		(1 << 3)
    +#define	ARM_VEC_DATA_ABORT		(1 << 4)
    +#define	ARM_VEC_ADDRESS_EXCEPTION	(1 << 5)
    +#define	ARM_VEC_IRQ			(1 << 6)
    +#define	ARM_VEC_FIQ			(1 << 7)
    +
    +#define	ARM_NVEC			8
    +#define	ARM_VEC_ALL			0xffffffff
    +#endif /* __PROG32 */
    +
    +#ifndef acorn26
    +/*
    + * cpu device glue (belongs in cpuvar.h)
    + */
    +void	cpu_attach(device_t, cpuid_t);
    +#endif
    +
    +/* 1 == use cpu_sleep(), 0 == don't */
    +extern int cpu_do_powersave;
    +extern int cpu_fpu_present;
    +extern int cpu_hwdiv_present;
    +
    +#if !defined(CPU_ARMV7)
    +#define	CPU_IS_ARMV7_P()		false
    +#elif defined(CPU_ARMV6) || defined(CPU_PRE_ARMV6)
    +extern bool cpu_armv7_p;
    +#define	CPU_IS_ARMV7_P()		(cpu_armv7_p)
    +#else
    +#define	CPU_IS_ARMV7_P()		true
    +#endif
    +
    +/*
    + * Random cruft
    + */
    +
    +struct lwp;
    +
    +/* locore.S */
    +void atomic_set_bit(u_int *, u_int);
    +void atomic_clear_bit(u_int *, u_int);
    +
    +/* cpuswitch.S */
    +struct pcb;
    +void	savectx(struct pcb *);
    +
    +/* ast.c */
    +void	userret(struct lwp *);
    +
    +/* *_machdep.c */
    +void	bootsync(void);
    +
    +/* fault.c */
    +int	badaddr_read(void *, size_t, void *);
    +
    +/* syscall.c */
    +void	swi_handler(trapframe_t *);
    +
    +/* arm_machdep.c */
    +void	ucas_ras_check(trapframe_t *);
    +
    +/* vfp_init.c */
    +void	vfp_attach(void);
    +void	vfp_discardcontext(bool);
    +void	vfp_savecontext(void);
    +void	vfp_kernel_acquire(void);
    +void	vfp_kernel_release(void);
    +bool	vfp_used_p(void);
    +extern const pcu_ops_t arm_vfp_ops;
    +
    +#endif	/* !_LOCORE */
    +
    +#endif /* !_ARM_LOCORE_H_ */
    diff --git a/sys/arch/arm/include/mcontext.h b/sys/arch/arm/include/mcontext.h
    index cdfb7c440..c2f91ac61 100644
    --- a/sys/arch/arm/include/mcontext.h
    +++ b/sys/arch/arm/include/mcontext.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: mcontext.h,v 1.11 2012/08/03 07:59:23 matt Exp $	*/
    +/*	$NetBSD: mcontext.h,v 1.16 2013/08/15 22:34:59 matt Exp $	*/
     
     /*-
      * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
    @@ -32,6 +32,7 @@
     #ifndef _ARM_MCONTEXT_H_
     #define _ARM_MCONTEXT_H_
     
    +#include 
     /*
      * General register state
      */
    @@ -76,9 +77,15 @@ typedef struct {
     } __fpregset_t;
     
     typedef struct {
    +#ifdef __ARM_EABI__
    +	unsigned int	__vfp_fpscr;
    +	uint64_t	__vfp_fstmx[32];
    +	unsigned int	__vfp_fpsid;
    +#else
     	unsigned int	__vfp_fpscr;
     	unsigned int	__vfp_fstmx[33];
     	unsigned int	__vfp_fpsid;
    +#endif
     } __vfpregset_t;
     
     typedef struct {
    @@ -88,10 +95,10 @@ typedef struct {
     		__vfpregset_t __vfpregs;
     	} __fpu;
     	__greg_t	_mc_tlsbase;
    -#ifdef __minix
    +#if defined(__minix)
     	int mc_flags;
     	int mc_magic;
    -#endif
    +#endif /* defined(__minix) */
     } mcontext_t, mcontext32_t;
     
     /* Machine-dependent uc_flags */
    @@ -111,7 +118,7 @@ typedef struct {
     
     #define	_UC_MACHINE_SET_PC(uc, pc)	_UC_MACHINE_PC(uc) = (pc)
     
    -#ifdef __minix
    +#if defined(__minix)
     #define _UC_MACHINE_STACK(uc)	((uc)->uc_mcontext.__gregs[_REG_SP])
     #define	_UC_MACHINE_SET_STACK(uc, sp)	_UC_MACHINE_STACK(uc) = (sp)
     
    @@ -135,13 +142,18 @@ typedef struct {
     
     #define _UC_MACHINE_R4(uc)	((uc)->uc_mcontext.__gregs[_REG_R4])
     #define	_UC_MACHINE_SET_R4(uc, setreg)	_UC_MACHINE_R4(uc) = (setreg)
    -#endif
    +#endif /* defined(__minix) */
     
    +#ifdef __ARM_EABI__
    +#define	__UCONTEXT_SIZE	(256 + 144)
    +#else
     #define	__UCONTEXT_SIZE	256
    +#endif
     
     static __inline void *
     __lwp_getprivate_fast(void)
     {
    +#if !defined(__thumb__) || defined(_ARM_ARCH_T2)
     	extern void *_lwp_getprivate(void);
     	void *rv;
     	__asm("mrc p15, 0, %0, c13, c0, 3" : "=r"(rv));
    @@ -154,12 +166,21 @@ __lwp_getprivate_fast(void)
     	 * syscall.
     	 */
     	return _lwp_getprivate();
    +#else
    +	extern void *__aeabi_read_tp(void);
    +	return __aeabi_read_tp();
    +#endif /* !__thumb__ || _ARM_ARCH_T2 */
     }
     
    -#ifdef __minix
    +#if defined(_KERNEL)
    +void vfp_getcontext(struct lwp *, mcontext_t *, int *);
    +void vfp_setcontext(struct lwp *, const mcontext_t *); 
    +#endif
    +
    +#if defined(__minix)
     int setmcontext(const mcontext_t *mcp);
     int getmcontext(mcontext_t *mcp);
     #define MCF_MAGIC 0xc0ffee
    -#endif
    +#endif /* defined(__minix) */
     
     #endif	/* !_ARM_MCONTEXT_H_ */
    diff --git a/sys/arch/arm/include/ofisa_machdep.h b/sys/arch/arm/include/ofisa_machdep.h
    index a19a2638a..aa6216caa 100644
    --- a/sys/arch/arm/include/ofisa_machdep.h
    +++ b/sys/arch/arm/include/ofisa_machdep.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ofisa_machdep.h,v 1.2 2001/05/30 12:28:40 mrg Exp $	*/
    +/*	$NetBSD: ofisa_machdep.h,v 1.3 2012/10/27 17:17:39 chs Exp $	*/
     
     /*
      * Copyright 1998
    @@ -43,12 +43,12 @@ int	ofisa_ignore_child(int pphandle, int cphandle);
     #ifdef COMPAT_OLD_OFW
     
     #define	_OFISA_MD_MATCH
    -int	ofisa_md_match(struct device *, struct cfdata *, void *);
    +int	ofisa_md_match(device_t, cfdata_t, void *);
     
     #define	_COM_OFISA_MD_MATCH
     #define	_COM_OFISA_MD_INTR_FIXUP
    -int	com_ofisa_md_match(struct device *, struct cfdata *, void *);
    -int	com_ofisa_md_intr_fixup(struct device *, struct device*, void *,
    +int	com_ofisa_md_match(device_t, cfdata_t, void *);
    +int	com_ofisa_md_intr_fixup(device_t, device_t, void *,
     	    struct ofisa_intr_desc *, int, int);
     
     #define	_CS_OFISA_MD_MATCH
    @@ -56,31 +56,30 @@ int	com_ofisa_md_intr_fixup(struct device *, struct device*, void *,
     #define	_CS_OFISA_MD_INTR_FIXUP
     #define	_CS_OFISA_MD_DMA_FIXUP
     #define	_CS_OFISA_MD_MEDIA_FIXUP
    -int	cs_ofisa_md_match(struct device *, struct cfdata *, void *);
    -int	cs_ofisa_md_reg_fixup(struct device *, struct device *, void *,
    +int	cs_ofisa_md_match(device_t, cfdata_t, void *);
    +int	cs_ofisa_md_reg_fixup(device_t, device_t, void *,
     	    struct ofisa_reg_desc *, int, int);
    -int	cs_ofisa_md_intr_fixup(struct device *, struct device *, void *,
    +int	cs_ofisa_md_intr_fixup(device_t, device_t, void *,
     	    struct ofisa_intr_desc *, int, int);
    -int	cs_ofisa_md_dma_fixup(struct device *, struct device *, void *,
    +int	cs_ofisa_md_dma_fixup(device_t, device_t, void *,
     	    struct ofisa_dma_desc *, int, int);
    -int	*cs_ofisa_md_media_fixup(struct device *, struct device *, void *,
    +int	*cs_ofisa_md_media_fixup(device_t, device_t, void *,
     	    int *, int *, int *);
     
     #define	_LPT_OFISA_MD_MATCH
     #define	_LPT_OFISA_MD_INTR_FIXUP
    -int	lpt_ofisa_md_match(struct device *, struct cfdata *, void *);
    -int	lpt_ofisa_md_intr_fixup(struct device *, struct device*, void *,
    +int	lpt_ofisa_md_match(device_t, cfdata_t, void *);
    +int	lpt_ofisa_md_intr_fixup(device_t, device_t, void *,
     	    struct ofisa_intr_desc *, int, int);
     
     #define	_WDC_OFISA_MD_MATCH
     #define	_WDC_OFISA_MD_INTR_FIXUP
    -int	wdc_ofisa_md_match(struct device *, struct cfdata *, void *);
    -int	wdc_ofisa_md_intr_fixup(struct device *, struct device*, void *,
    +int	wdc_ofisa_md_match(device_t, cfdata_t, void *);
    +int	wdc_ofisa_md_intr_fixup(device_t, device_t, void *,
     	    struct ofisa_intr_desc *, int, int);
     
     #endif /* COMPAT_OLD_OFW */
     
     /* The following aren't dependent on old OpenFirmware. */
     #define	_CS_OFISA_MD_CFGFLAGS_FIXUP
    -int	cs_ofisa_md_cfgflags_fixup(struct device *, struct device *,
    -	    void *);
    +int	cs_ofisa_md_cfgflags_fixup(device_t, device_t, void *);
    diff --git a/sys/arch/arm/include/param.h b/sys/arch/arm/include/param.h
    index 6da50a47e..be5fe769f 100644
    --- a/sys/arch/arm/include/param.h
    +++ b/sys/arch/arm/include/param.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: param.h,v 1.17 2012/08/03 08:11:40 matt Exp $	*/
    +/*	$NetBSD: param.h,v 1.19 2013/10/26 18:07:52 matt Exp $	*/
     
     /*
      * Copyright (c) 1994,1995 Mark Brinicombe.
    @@ -52,29 +52,97 @@
      */
     
     #if defined(_KERNEL)
    -#ifndef MACHINE_ARCH			/* XXX For now */
    -#ifndef __ARMEB__
    -#define	_MACHINE_ARCH	arm
    -#define	MACHINE_ARCH	"arm"
    +# ifndef MACHINE_ARCH			/* XXX For now */
    +#  ifndef __ARMEB__
    +#   ifdef __ARM_EABI__
    +#    define	_MACHINE_ARCH	earm
    +#    define	MACHINE_ARCH	"earm"
    +#   else
    +#    define	_MACHINE_ARCH	arm
    +#    define	MACHINE_ARCH	"arm"
    +#   endif
    +#  else
    +#   ifdef __ARM_EABI__
    +#    define	_MACHINE_ARCH	earmeb
    +#    define	MACHINE_ARCH	"earmeb"
    +#   else
    +#    define	_MACHINE_ARCH	armeb
    +#    define	MACHINE_ARCH	"armeb"
    +#   endif
    +#  endif /* __ARMEB__ */
    +# endif /* MACHINE_ARCH */
     #else
    -#define	_MACHINE_ARCH	armeb
    -#define	MACHINE_ARCH	"armeb"
    -#endif /* __ARMEB__ */
    -#endif /* MACHINE_ARCH */
    -#else
    -#undef _MACHINE
    -#undef MACHINE
    -#undef _MACHINE_ARCH
    -#undef MACHINE_ARCH
    -#define	_MACHINE	arm
    -#define	MACHINE		"arm"
    -#ifndef __ARMEB__
    -#define	_MACHINE_ARCH	arm
    -#define	MACHINE_ARCH	"arm"
    -#else
    -#define	_MACHINE_ARCH	armeb
    -#define	MACHINE_ARCH	"armeb"
    -#endif /* __ARMEB__ */
    +# undef _MACHINE
    +# undef MACHINE
    +# undef _MACHINE_ARCH
    +# undef MACHINE_ARCH
    +# define	_MACHINE	arm
    +# define	MACHINE		"arm"
    +# ifndef __ARMEB__
    +#  ifdef __ARM_EABI__
    +#   ifdef __ARM_PCS_VFP
    +#    ifdef _ARM_ARCH_7
    +#     define	_MACHINE_ARCH	earmv7hf
    +#     define	MACHINE_ARCH	"earmv7hf"
    +#    elif defined(_ARM_ARCH_6)
    +#     define	_MACHINE_ARCH	earmv6hf
    +#     define	MACHINE_ARCH	"earmv6hf"
    +#    else
    +#     define	_MACHINE_ARCH	earmhf
    +#     define	MACHINE_ARCH	"earmhf"
    +#    endif
    +#   else
    +#    ifdef _ARM_ARCH_7
    +#     define	_MACHINE_ARCH	earmv7
    +#     define	MACHINE_ARCH	"earmv7"
    +#    elif defined(_ARM_ARCH_6)
    +#     define	_MACHINE_ARCH	earmv6
    +#     define	MACHINE_ARCH	"earmv6"
    +#    elif !defined(_ARM_ARCH_5T)
    +#     define	_MACHINE_ARCH	earmv4
    +#     define	MACHINE_ARCH	"earmv4"
    +#    else
    +#     define	_MACHINE_ARCH	earm
    +#     define	MACHINE_ARCH	"earm"
    +#    endif
    +#   endif
    +#  else
    +#   define	_MACHINE_ARCH	arm
    +#   define	MACHINE_ARCH	"arm"
    +#  endif
    +# else
    +#  ifdef __ARM_EABI__
    +#   ifdef __ARM_PCS_VFP
    +#    ifdef _ARM_ARCH_7
    +#     define	_MACHINE_ARCH	earmv7hfeb
    +#     define	MACHINE_ARCH	"earmv7hfeb"
    +#    elif defined(_ARM_ARCH_6)
    +#     define	_MACHINE_ARCH	earmv6hfeb
    +#     define	MACHINE_ARCH	"earmv6hfeb"
    +#    else
    +#     define	_MACHINE_ARCH	earmhfeb
    +#     define	MACHINE_ARCH	"earmhfeb"
    +#    endif
    +#  else
    +#    ifdef _ARM_ARCH_7
    +#     define	_MACHINE_ARCH	earmv7eb
    +#     define	MACHINE_ARCH	"earmv7eb"
    +#    elif defined(_ARM_ARCH_6)
    +#     define	_MACHINE_ARCH	earmv6eb
    +#     define	MACHINE_ARCH	"earmv6eb"
    +#    elif !defined(_ARM_ARCH_5T)
    +#     define	_MACHINE_ARCH	earmv4eb
    +#     define	MACHINE_ARCH	"earmv4eb"
    +#    else
    +#     define	_MACHINE_ARCH	earmeb
    +#     define	MACHINE_ARCH	"earmeb"
    +#    endif
    +#   endif
    +#  else
    +#   define	_MACHINE_ARCH	armeb
    +#   define	MACHINE_ARCH	"armeb"
    +#  endif
    +# endif /* __ARMEB__ */
     #endif /* !_KERNEL */
     
     #define	MID_MACHINE	MID_ARM6
    @@ -124,20 +192,8 @@
     #endif
     #endif /* _KERNEL */
     
    -#ifdef __minix
    -/* Minix expect to find in this file PAGE_* defines. */
    -#include 
    -
    -#define	PGSHIFT		12		/* LOG2(NBPG) */
    -#define	NBPG		(1 << PGSHIFT)	/* bytes/page */
    -#define	PGOFSET		(NBPG-1)	/* byte offset into page */
    -
    -#define	arm_round_page(x)	((((paddr_t)(x)) + PGOFSET) & ~PGOFSET)
    -#define	arm_trunc_page(x)	((paddr_t)(x) & ~PGOFSET)
    -
    -#define trunc_page(x) arm_trunc_page(x)
    -#define round_page(x) arm_round_page(x)
    -
    -#endif
    -
    +#if defined(__minix)
    +/* LSC: FIXME This is a hack. Good enough for now, as we only have ARMv7 targets. */
    +#include 
    +#endif /* defined(__minix) */
     #endif /* _ARM_PARAM_H_ */
    diff --git a/sys/arch/arm/include/pcb.h b/sys/arch/arm/include/pcb.h
    index 978f0f2c4..f6a26f8fe 100644
    --- a/sys/arch/arm/include/pcb.h
    +++ b/sys/arch/arm/include/pcb.h
    @@ -37,7 +37,6 @@
     #define	_ARM_PCB_H_
     
     #include 
    -#include 
     
     #include 
     #include 
    @@ -71,7 +70,7 @@ struct pcb_arm32 {
     #define	pcb_cstate	pcb_un.un_32.pcb32_cstate
     #define	pcb_user_pid_rw	pcb_un.un_32.pcb32_user_pid_rw
     #ifdef __PROG32
    -#define	pcb_sp		pcb_un.un_32.pcb32_sp
    +#define	pcb_ksp		pcb_un.un_32.pcb32_sp
     #endif
     
     struct pcb_arm26 {
    @@ -79,7 +78,7 @@ struct pcb_arm26 {
     };
     #define	pcb_sf	pcb_un.un_26.pcb26_sf
     #ifdef __PROG26
    -#define	pcb_sp		pcb_sf.sf_r13
    +#define	pcb_ksp		pcb_sf.sf_r13
     #endif
     
     /*
    @@ -92,10 +91,9 @@ struct pcb {
     		struct	pcb_arm26 un_26;
     	} pcb_un;
     	void *	pcb_onfault;			/* On fault handler */
    -	struct	fpe_sp_state pcb_fpstate;	/* FPA Floating Point state */
     	struct	vfpreg pcb_vfp;			/* VFP registers */
    +	struct	vfpreg pcb_kernel_vfp;		/* kernel VFP state */
     };
    -#define	pcb_ff	pcb_fpstate			/* for arm26 */
     
     /*
      * No additional data for core dumps.
    diff --git a/sys/arch/arm/include/proc.h b/sys/arch/arm/include/proc.h
    index 926c311ec..ee1ad48b8 100644
    --- a/sys/arch/arm/include/proc.h
    +++ b/sys/arch/arm/include/proc.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: proc.h,v 1.12 2012/08/16 17:35:01 matt Exp $	*/
    +/*	$NetBSD: proc.h,v 1.15 2013/09/11 04:24:48 matt Exp $	*/
     
     /*
      * Copyright (c) 1994 Mark Brinicombe.
    @@ -48,14 +48,17 @@ struct mdlwp {
     };
     
     /* Flags setttings for md_flags */
    -#define MDLWP_VFPUSED		0x00000001	/* Process used the VFP */
     #define MDLWP_NOALIGNFLT	0x00000002	/* For EXEC_AOUT */
    +#define MDLWP_VFPINTR		0x00000004	/* VFP used in intr */
     
     
     struct mdproc {
     	void	(*md_syscall)(struct trapframe *, struct lwp *, uint32_t);
     	int	pmc_enabled;		/* bitfield of enabled counters */
     	void	*pmc_state;		/* port-specific pmc state */
    +	char	md_march[12];		/* machine arch of executable */
     };
     
    +#define	PROC0_MD_INITIALIZERS .p_md = { .md_march = MACHINE_ARCH },
    +
     #endif /* _ARM32_PROC_H_ */
    diff --git a/sys/arch/arm/include/profile.h b/sys/arch/arm/include/profile.h
    index 140435479..3729f643a 100644
    --- a/sys/arch/arm/include/profile.h
    +++ b/sys/arch/arm/include/profile.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: profile.h,v 1.8 2008/08/29 19:08:29 matt Exp $	*/
    +/*	$NetBSD: profile.h,v 1.13 2013/11/30 21:07:59 joerg Exp $	*/
     
     /*
      * Copyright (c) 2001 Ben Harris
    @@ -39,24 +39,20 @@
      */
     
     #define MCOUNT_ASM_NAME "__mcount"
    -#ifdef PIC
    -#define	PLTSYM		"(PLT)"
    -#endif
    -
    -#ifndef PLTSYM
     #define	PLTSYM
    -#endif
     
    +#if !defined(__ARM_EABI__)
     #define	MCOUNT								\
    -	__asm(".text");						\
    +	__asm(".text");							\
     	__asm(".align	0");						\
    +	__asm(".arm");							\
     	__asm(".type	" MCOUNT_ASM_NAME ",%function");		\
    -	__asm(".global	" MCOUNT_ASM_NAME);			\
    +	__asm(".global	" MCOUNT_ASM_NAME);				\
     	__asm(MCOUNT_ASM_NAME ":");					\
     	/*								\
     	 * Preserve registers that are trashed during mcount		\
     	 */								\
    -	__asm("stmfd	sp!, {r0-r3, ip, lr}");				\
    +	__asm("push	{r0-r3, ip, lr}");				\
     	/* Check what mode we're in.  EQ => 32, NE => 26 */		\
     	__asm("teq	r0, r0");					\
     	__asm("teq	pc, r15");					\
    @@ -80,7 +76,53 @@
     	/*								\
     	 * Restore registers that were trashed during mcount		\
     	 */								\
    -	__asm("ldmfd	sp!, {r0-r3, lr, pc}");
    +	__asm("pop	{r0-r3, pc}");					\
    +	__asm(".size	" MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME);
    +#else
    +#define	MCOUNT								\
    +	__asm(".text");							\
    +	__asm(".align	0");						\
    +	__asm(".arm");							\
    +	__asm(".type	" MCOUNT_ASM_NAME ",%function");		\
    +	__asm(".global	" MCOUNT_ASM_NAME);				\
    +	__asm(MCOUNT_ASM_NAME ":");					\
    +	__asm(".fnstart");						\
    +	__asm(".cfi_startproc");					\
    +	/*								\
    +	 * Preserve registers that are trashed during mcount		\
    +	 */								\
    +	__asm("push	{r0-r4, ip, lr}");				\
    +	__asm(".save {r0-r4, lr}");					\
    +	__asm(".cfi_def_cfa_offset 24");				\
    +	__asm(".cfi_offset 14, -4");					\
    +	__asm(".cfi_offset 4, -8");					\
    +	__asm(".cfi_offset 3, -12");					\
    +	__asm(".cfi_offset 2, -16");					\
    +	__asm(".cfi_offset 1, -20");					\
    +	__asm(".cfi_offset 0, -24");					\
    +	/*								\
    +	 * find the return address for mcount,				\
    +	 * and the return address for mcount's caller.			\
    +	 *								\
    +	 * frompcindex = pc pushed by call into self.			\
    +	 */								\
    +	__asm("mov	r0, ip");					\
    +	/*								\
    +	 * selfpc = pc pushed by mcount call				\
    +	 */								\
    +	__asm("mov	r1, lr");					\
    +	/*								\
    +	 * Call the real mcount code					\
    +	 */								\
    +	__asm("bl	" ___STRING(_C_LABEL(_mcount)) PLTSYM);		\
    +	/*								\
    +	 * Restore registers that were trashed during mcount		\
    +	 */								\
    +	__asm("pop	{r0-r4, lr, pc}");				\
    +	__asm(".cfi_endproc");						\
    +	__asm(".fnend");						\
    +	__asm(".size	" MCOUNT_ASM_NAME ", .-" MCOUNT_ASM_NAME);
    +#endif
     
     #ifdef _KERNEL
     #ifdef __PROG26
    diff --git a/sys/arch/arm/include/ptrace.h b/sys/arch/arm/include/ptrace.h
    index 061820128..e5ec2a35d 100644
    --- a/sys/arch/arm/include/ptrace.h
    +++ b/sys/arch/arm/include/ptrace.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ptrace.h,v 1.5 2008/01/25 11:59:20 skrll Exp $	*/
    +/*	$NetBSD: ptrace.h,v 1.6 2012/12/05 19:05:46 matt Exp $	*/
     
     /*
      * Copyright (c) 1995 Frank Lancaster
    @@ -39,12 +39,15 @@
     #endif
     #define	PT_GETREGS	(PT_FIRSTMACH + 1)
     #define	PT_SETREGS	(PT_FIRSTMACH + 2)
    -#define	PT_GETFPREGS	(PT_FIRSTMACH + 3)
    -#define	PT_SETFPREGS	(PT_FIRSTMACH + 4)
    +/* 3 and 4 are for FPE registers */
    +#define	PT_GETFPREGS	(PT_FIRSTMACH + 5)
    +#define	PT_SETFPREGS	(PT_FIRSTMACH + 6)
     
     #define PT_MACHDEP_STRINGS \
     	"(unused)", \
     	"PT_GETREGS", \
     	"PT_SETREGS", \
    +	"old PT_GETFPREGS", \
    +	"old PT_SETFPREGS", \
     	"PT_GETFPREGS", \
     	"PT_SETFPREGS",
    diff --git a/sys/arch/arm/include/reg.h b/sys/arch/arm/include/reg.h
    index c84ec2f3f..a6050f45a 100644
    --- a/sys/arch/arm/include/reg.h
    +++ b/sys/arch/arm/include/reg.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: reg.h,v 1.2 2008/03/15 10:16:43 rearnsha Exp $	*/
    +/*	$NetBSD: reg.h,v 1.5 2013/01/11 14:04:55 matt Exp $	*/
     
     /*
      * Copyright (C) 1994, 1995 Frank Lancaster
    @@ -36,8 +36,6 @@
     #ifndef _ARM32_REG_H_
     #define _ARM32_REG_H_
     
    -#include 
    -
     struct reg {
     	unsigned int r[13];
     	unsigned int r_sp;
    @@ -46,17 +44,17 @@ struct reg {
     	unsigned int r_cpsr;
     };
     
    -struct fpreg {
    -	unsigned int fpr_fpsr;
    -	fp_reg_t fpr[8];
    -};
    -
     struct vfpreg {
     	uint32_t vfp_fpexc;
     	uint32_t vfp_fpscr;
     	uint32_t vfp_fpinst;
     	uint32_t vfp_fpinst2;
    -	uint32_t vfp_regs[33];	/* In case we need fstmx format.  */
    +	uint64_t vfp_regs[33];	/* In case we need fstmx format.  */
     };
     
    +struct fpreg {
    +	struct vfpreg fpr_vfp;
    +};
    +
    +
     #endif /* !_ARM32_REG_H_ */
    diff --git a/sys/arch/arm/include/setjmp.h b/sys/arch/arm/include/setjmp.h
    index f194e67a9..0463ac12e 100644
    --- a/sys/arch/arm/include/setjmp.h
    +++ b/sys/arch/arm/include/setjmp.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: setjmp.h,v 1.4 2011/06/30 20:09:20 wiz Exp $	*/
    +/*	$NetBSD: setjmp.h,v 1.5 2013/01/11 13:56:32 matt Exp $	*/
     
     /*
      * machine/setjmp.h: machine dependent setjmp-related information.
    @@ -15,11 +15,7 @@
      * Description of the setjmp buffer
      *
      * word  0	magic number	(dependent on creator)
    - *       1 -  3	f4		fp register 4
    - *	 4 -  6	f5		fp register 5
    - *	 7 -  9 f6		fp register 6
    - *	10 - 12	f7		fp register 7
    - *	13	fpsr		fp status register
    + *	13	fpscr		vfp status control register
      *	14	r4		register 4
      *	15	r5		register 5
      *	16	r6		register 6
    @@ -35,6 +31,14 @@
      *	26	(con't)
      *	27	(con't)
      *	28	(con't)
    + *	32-33	d8		(vfp register d8)
    + *	34-35	d9		(vfp register d9)
    + *	36-37	d10		(vfp register d10)
    + *	38-39	d11		(vfp register d11)
    + *	40-41	d12		(vfp register d12)
    + *	42-43	d13		(vfp register d13)
    + *	44-45	d14		(vfp register d14)
    + *	46-47	d15		(vfp register d15)
      *
      * The magic number number identifies the jmp_buf and
      * how the buffer was created as well as providing
    @@ -56,15 +60,13 @@
     
     #define _JB_MAGIC__SETJMP	0x4278f500
     #define _JB_MAGIC_SETJMP	0x4278f501
    +#define _JB_MAGIC__SETJMP_VFP	0x4278f502
    +#define _JB_MAGIC_SETJMP_VFP	0x4278f503
     
     /* Valid for all jmp_buf's */
     
     #define _JB_MAGIC		 0
    -#define _JB_REG_F4		 1
    -#define _JB_REG_F5		 4
    -#define _JB_REG_F6		 7
    -#define _JB_REG_F7		10
    -#define _JB_REG_FPSR		13
    +#define _JB_REG_FPSCR		13
     #define _JB_REG_R4		14
     #define _JB_REG_R5		15
     #define _JB_REG_R6		16
    @@ -80,3 +82,12 @@
     /* Only valid with the _JB_MAGIC_SETJMP magic */
     
     #define _JB_SIGMASK		25
    +
    +#define	_JB_REG_D8		32
    +#define	_JB_REG_D9		34
    +#define	_JB_REG_D10		36
    +#define	_JB_REG_D11		38
    +#define	_JB_REG_D12		40
    +#define	_JB_REG_D13		42
    +#define	_JB_REG_D14		44
    +#define	_JB_REG_D15		46
    diff --git a/sys/arch/arm/include/sysarch.h b/sys/arch/arm/include/sysarch.h
    index 123954971..3baf3a7e7 100644
    --- a/sys/arch/arm/include/sysarch.h
    +++ b/sys/arch/arm/include/sysarch.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: sysarch.h,v 1.8 2012/08/12 05:05:47 matt Exp $	*/
    +/*	$NetBSD: sysarch.h,v 1.10 2013/02/01 15:23:11 matt Exp $	*/
     
     /*
      * Copyright (c) 1996-1997 Mark Brinicombe.
    @@ -41,6 +41,9 @@
      * Pickup definition of uintptr_t
      */
     #include 
    +#ifndef _KERNEL
    +#include 
    +#endif
     
     /*
      * Architecture specific syscalls (arm)
    @@ -49,6 +52,7 @@
     #define ARM_SYNC_ICACHE		0
     #define ARM_DRAIN_WRITEBUF	1
     #define ARM_VFP_FPSCR		2
    +#define ARM_FPU_USED		3
     
     struct arm_sync_icache_args {
     	uintptr_t	addr;		/* Virtual start address */
    @@ -60,6 +64,10 @@ struct arm_vfp_fpscr_args {
     	uint32_t	fpscr_set;	/* bits to set */
     };
     
    +struct arm_unaligned_faults_args {
    +	bool		enabled;	/* unaligned faults are enabled */ 
    +};
    +
     #ifndef _KERNEL
     __BEGIN_DECLS
     int	arm_sync_icache(u_int addr, int len);
    diff --git a/sys/arch/arm/include/types.h b/sys/arch/arm/include/types.h
    index fa8955fd7..86fbd8e4f 100644
    --- a/sys/arch/arm/include/types.h
    +++ b/sys/arch/arm/include/types.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: types.h,v 1.23 2012/08/12 05:05:47 matt Exp $	*/
    +/*	$NetBSD: types.h,v 1.25 2013/07/02 05:57:00 matt Exp $	*/
     
     /*
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -67,6 +67,7 @@ typedef int		register_t, register32_t;
     typedef unsigned long	pmc_evid_t;
     #define PMC_INVALID_EVID	(-1)
     typedef unsigned long	pmc_ctr_t;
    +typedef unsigned short	tlb_asid_t;
     
     /*
      * This should have always been an 8-bit type, but since it's been exposed
    @@ -90,6 +91,7 @@ typedef	volatile int		__cpu_simple_lock_t;
     #if !defined(__minix)
     #define	__HAVE_TLS_VARIANT_I
     #endif /* !defined(__minix) */
    +#define	__HAVE_OLD_DISKLABEL
     
     #if defined(_KERNEL) || defined(_KMEMUSER)
     #define	PCU_FPU			0
    diff --git a/sys/arch/arm/include/vfpreg.h b/sys/arch/arm/include/vfpreg.h
    index 60bff10e2..aa496f46b 100644
    --- a/sys/arch/arm/include/vfpreg.h
    +++ b/sys/arch/arm/include/vfpreg.h
    @@ -1,4 +1,4 @@
    -/*      $NetBSD: vfpreg.h,v 1.6 2012/09/22 19:45:53 matt Exp $ */
    +/*      $NetBSD: vfpreg.h,v 1.10 2013/08/02 01:59:00 matt Exp $ */
     
     /*
      * Copyright (c) 2008 ARM Ltd
    @@ -63,20 +63,29 @@
     #define FPU_VFP_CORTEXA7	0x41023070
     #define FPU_VFP_CORTEXA8	0x410330c0
     #define FPU_VFP_CORTEXA9	0x41033090
    +#define FPU_VFP_CORTEXA15	0x410330f0
     
    -#define VFP_FPEXC_EX		0x80000000	/* Exception status bit */
    +#define VFP_FPEXC_EX		0x80000000	/* EXception status bit */
     #define VFP_FPEXC_EN		0x40000000	/* VFP Enable bit */
    -#define VFP_FPEXC_FP2V		0x10000000	/* FPINST2 instruction valid */
    -#define VFP_FPEXC_VECITR	0x00000700	/* Vector iteration count */
    -#define VFP_FPEXC_INV		0x00000080	/* Input exception flag */
    -#define VFP_FPEXC_UFC		0x00000080	/* Potential underflow flag */
    -#define VFP_FPEXC_OFC		0x00000080	/* Potential overflow flag */
    -#define VFP_FPEXC_IOC		0x00000080	/* Potential inv. op. flag */
    +#define VFP_FPEXC_DEX		0x20000000	/* Defined sync EXception bit */
    +#define VFP_FPEXC_FP2V		0x10000000	/* FPinst2 instruction Valid */
    +#define VFP_FPEXC_VV		0x08000000	/* Vecitr Valid */
    +#define VFP_FPEXC_TFV		0x04000000	/* Trapped Fault Valid */
    +#define VFP_FPEXC_VECITR	0x00000700	/* VECtor ITeRation count */
    +#define VFP_FPEXC_IDF		0x00000080	/* Input Denormal flag */
    +#define VFP_FPEXC_IXF		0x00000010	/* Potential inexact flag */
    +#define VFP_FPEXC_UFF		0x00000008	/* Potential underflow flag */
    +#define VFP_FPEXC_OFF		0x00000004	/* Potential overflow flag */
    +#define VFP_FPEXC_DZF		0x00000002	/* Potential DivByZero flag */
    +#define VFP_FPEXC_IOF		0x00000001	/* Potential inv. op. flag */
    +#define VFP_FPEXE_FSUM		0x000000ff	/* all flag bits */
     
     #define VFP_FPSCR_N	0x80000000	/* set if compare <= result */
     #define VFP_FPSCR_Z	0x40000000	/* set if compare = result */
     #define VFP_FPSCR_C	0x20000000	/* set if compare (=,>=,UNORD) result */
     #define VFP_FPSCR_V	0x10000000	/* set if compare UNORD result */
    +#define VFP_FPSCR_QC	0x08000000	/* Cumulative saturation (SIMD) */
    +#define VFP_FPSCR_AHP	0x04000000	/* Alternative Half-Precision */
     #define VFP_FPSCR_DN	0x02000000	/* Default NaN mode */
     #define VFP_FPSCR_FZ	0x01000000	/* Flush-to-zero mode */
     #define VFP_FPSCR_RMODE	0x00c00000	/* Rounding Mode */
    @@ -91,7 +100,7 @@
     #define VFP_FPSCR_IXE	0x00001000	/* Inexact Exception Enable */
     #define VFP_FPSCR_UFE	0x00000800	/* Underflow Exception Enable */
     #define VFP_FPSCR_OFE	0x00000400	/* Overflow Exception Enable */
    -#define VFP_FPSCR_DZE	0x00000200	/* Inexact Exception Enable */
    +#define VFP_FPSCR_DZE	0x00000200	/* DivByZero Exception Enable */
     #define VFP_FPSCR_IOE	0x00000100	/* Invalid Operation Cumulative Flag */
     #define VFP_FPSCR_IDC	0x00000080	/* Input Subnormal Cumlative Flag */
     #define VFP_FPSCR_CSUM	0x0000001f	/* IXC|UFC|OFC|DZC|IOC */
    diff --git a/sys/arch/arm/include/vmparam.h b/sys/arch/arm/include/vmparam.h
    new file mode 100644
    index 000000000..6930dc10a
    --- /dev/null
    +++ b/sys/arch/arm/include/vmparam.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: vmparam.h,v 1.3 2013/05/01 12:00:51 matt Exp $ */
    +
    +#include 
    diff --git a/sys/arch/arm/include/wchar_limits.h b/sys/arch/arm/include/wchar_limits.h
    index 1dd2e913f..fc49c75c1 100644
    --- a/sys/arch/arm/include/wchar_limits.h
    +++ b/sys/arch/arm/include/wchar_limits.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: wchar_limits.h,v 1.3 2008/04/28 20:23:14 martin Exp $	*/
    +/*	$NetBSD: wchar_limits.h,v 1.4 2013/01/24 10:17:00 matt Exp $	*/
     
     /*-
      * Copyright (c) 2004 The NetBSD Foundation, Inc.
    @@ -37,11 +37,39 @@
      */
     
     /* limits of wchar_t */
    +
    +#ifdef __WCHAR_MIN__
    +#define	WCHAR_MIN	__WCHAR_MIN__			/* wchar_t	  */
    +#elif __WCHAR_UNSIGNED__
    +#define	WCHAR_MIN	0U				/* wchar_t	  */
    +#else
     #define	WCHAR_MIN	(-0x7fffffff-1)			/* wchar_t	  */
    +#endif
    +
    +#ifdef __WCHAR_MAX__
    +#define	WCHAR_MAX	__WCHAR_MAX__			/* wchar_t	  */
    +#elif __WCHAR_UNSIGNED__
    +#define	WCHAR_MAX	0xffffffffU			/* wchar_t	  */
    +#else
     #define	WCHAR_MAX	0x7fffffff			/* wchar_t	  */
    +#endif
     
     /* limits of wint_t */
    +
    +#ifdef __WINT_MIN__
    +#define	WINT_MIN	__WINT_MIN__			/* wint_t	  */
    +#elif __WINT_UNSIGNED__
    +#define	WINT_MIN	0U				/* wint_t	  */
    +#else
     #define	WINT_MIN	(-0x7fffffff-1)			/* wint_t	  */
    +#endif
    +
    +#ifdef __WINT_MAX__
    +#define	WINT_MAX	__WINT_MAX__			/* wint_t	  */
    +#elif __WINT_UNSIGNED__
    +#define	WINT_MAX	0xffffffffU			/* wint_t	  */
    +#else
     #define	WINT_MAX	0x7fffffff			/* wint_t	  */
    +#endif
     
     #endif /* !_ARM_WCHAR_LIMITS_H_ */
    diff --git a/sys/arch/evbarm/include/Makefile b/sys/arch/evbarm/include/Makefile
    index f3e2e4830..cd9eb8a21 100644
    --- a/sys/arch/evbarm/include/Makefile
    +++ b/sys/arch/evbarm/include/Makefile
    @@ -1,27 +1,7 @@
    -#	$NetBSD: Makefile,v 1.17 2011/07/17 23:46:49 dyoung Exp $
    +#	$NetBSD: Makefile,v 1.20 2013/05/02 03:56:40 matt Exp $
     
    -INCSDIR= /usr/include/evbarm
    +INCSDIR=	/usr/include/evbarm
     
    -INCS=	ansi.h asm.h \
    -	bswap.h \
    -	cdefs.h cpu.h \
    -	disklabel.h \
    -	elf_machdep.h endian.h endian_machdep.h \
    -	float.h frame.h \
    -	ieee.h ieeefp.h \
    -	int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \
    -	\
    -	limits.h lock.h \
    -	math.h mcontext.h mutex.h \
    -	param.h proc.h profile.h ptrace.h \
    -	rwlock.h \
    -	setjmp.h signal.h \
    -	types.h \
    -	vmparam.h \
    -	wchar_limits.h
    +INCS=
     
    -.if !defined(__MINIX)
    -INCS+=	joystick.h
    -.endif
    -
    -.include 
    +.include "../../arm/include/Makefile.common"
    diff --git a/sys/arch/evbarm/include/aout_machdep.h b/sys/arch/evbarm/include/aout_machdep.h
    new file mode 100644
    index 000000000..f3522e7c9
    --- /dev/null
    +++ b/sys/arch/evbarm/include/aout_machdep.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: aout_machdep.h,v 1.1 2001/11/25 15:56:03 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/atomic.h b/sys/arch/evbarm/include/atomic.h
    new file mode 100644
    index 000000000..ff4d2d8db
    --- /dev/null
    +++ b/sys/arch/evbarm/include/atomic.h
    @@ -0,0 +1 @@
    +#include 
    diff --git a/sys/arch/evbarm/include/autoconf.h b/sys/arch/evbarm/include/autoconf.h
    new file mode 100644
    index 000000000..a9a94b83f
    --- /dev/null
    +++ b/sys/arch/evbarm/include/autoconf.h
    @@ -0,0 +1,43 @@
    +/*	$NetBSD: autoconf.h,v 1.7 2012/10/27 17:17:48 chs Exp $	*/
    +
    +/*-
    + * Copyright (c) 2001 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Matt Thomas 
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef _EVBARM_AUTOCONF_H_
    +#define	_EVBARM_AUTOCONF_H_
    +
    +#ifndef _ARM_MAINBUS_MAINBUS_H_
    +struct mainbus_attach_args {
    +	const char *ma_name;
    +};
    +#endif
    +
    +extern void (*evbarm_device_register)(device_t, void *);
    +
    +#endif	/* _EVBARM_AUTOCONF_H_ */
    diff --git a/sys/arch/arm/include/fp.h b/sys/arch/evbarm/include/bootconfig.h
    similarity index 57%
    rename from sys/arch/arm/include/fp.h
    rename to sys/arch/evbarm/include/bootconfig.h
    index 99d2dd5d4..04f471348 100644
    --- a/sys/arch/arm/include/fp.h
    +++ b/sys/arch/evbarm/include/bootconfig.h
    @@ -1,8 +1,8 @@
    -/*	$NetBSD: fp.h,v 1.1 2001/01/10 19:02:06 bjh21 Exp $	*/
    +/*	$NetBSD: bootconfig.h,v 1.6 2006/02/06 14:03:22 hamajima Exp $	*/
     
     /*
    - * Copyright (c) 1995 Mark Brinicombe.
    - * Copyright (c) 1995 Brini.
    + * Copyright (c) 1994 Mark Brinicombe.
    + * Copyright (c) 1994 Brini.
      * All rights reserved.
      *
      * This code is derived from software written for Brini by Mark Brinicombe
    @@ -17,15 +17,16 @@
      *    documentation and/or other materials provided with the distribution.
      * 3. All advertising materials mentioning features or use of this software
      *    must display the following acknowledgement:
    - *	This product includes software developed by Brini.
    + *	This product includes software developed by Mark Brinicombe
    + *	for the NetBSD Project.
      * 4. The name of the company nor the name of the author may be used to
      *    endorse or promote products derived from this software without specific
      *    prior written permission.
      *
    - * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED
    + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
    + * 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)
    @@ -33,54 +34,28 @@
      * 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.
    - *
    - * RiscBSD kernel project
    - *
    - * fp.h
    - *
    - * FP info
    - *
    - * Created      : 10/10/95
      */
     
    -#ifndef __ARM32_FP_H
    -#define __ARM32_FP_H
    +#include 
     
    -/*
    - * An extended precision floating point number
    - */
    -
    -typedef struct fp_extended_precision {
    -	u_int32_t fp_exponent;
    -	u_int32_t fp_mantissa_hi;
    -	u_int32_t fp_mantissa_lo;
    -} fp_extended_precision_t;
    -
    -typedef struct fp_extended_precision fp_reg_t;
    -
    -/*
    - * Information about the FPE-SP state that is stored in the pcb
    - *
    - * This needs to move and be hidden from userland.
    - */
    -
    -struct fpe_sp_state {
    -	unsigned int fp_flags;
    -	unsigned int fp_sr;
    -	unsigned int fp_cr;
    -	fp_reg_t fp_registers[16];
    -};
    -
    -/*
    - * Type for a saved FP context, if we want to translate the context to a
    - * user-readable form
    - */
    - 
    -typedef struct {
    -	u_int32_t fpsr;
    -	fp_extended_precision_t regs[8];
    -} fp_state_t;
    +typedef struct _PhysMem {
    +	u_int address;
    +	u_int pages;
    +	u_int flags;
    +#define BOOT_DRAM_CAN_DMA 1	/* Can DMA direct to this memory.  */
    +#define BOOT_DRAM_PREFER  2	/* UVM should prefer this memory.  */
    +} PhysMem;
     
    +#ifndef	DRAM_BLOCKS
    +#define	DRAM_BLOCKS	2
     #endif
     
    -/* End of fp.h */
    +typedef struct _BootConfig {
    +	u_int dramblocks;
    +	PhysMem dram[DRAM_BLOCKS];
    +} BootConfig;
    +
    +extern BootConfig bootconfig;
    +#define MAX_BOOT_STRING 255
    +
    +/* End of bootconfig.h */
    diff --git a/sys/arch/evbarm/include/bus_defs.h b/sys/arch/evbarm/include/bus_defs.h
    new file mode 100644
    index 000000000..ea3569020
    --- /dev/null
    +++ b/sys/arch/evbarm/include/bus_defs.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: bus_defs.h,v 1.3 2012/07/28 23:18:48 matt Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/bus_funcs.h b/sys/arch/evbarm/include/bus_funcs.h
    new file mode 100644
    index 000000000..8517e77c2
    --- /dev/null
    +++ b/sys/arch/evbarm/include/bus_funcs.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: bus_funcs.h,v 1.1 2011/07/01 17:09:59 dyoung Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/cpu_counter.h b/sys/arch/evbarm/include/cpu_counter.h
    new file mode 100644
    index 000000000..b19b9b009
    --- /dev/null
    +++ b/sys/arch/evbarm/include/cpu_counter.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: cpu_counter.h,v 1.1 2012/08/14 21:12:59 matt Exp $ */
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/db_machdep.h b/sys/arch/evbarm/include/db_machdep.h
    new file mode 100644
    index 000000000..10cd28f48
    --- /dev/null
    +++ b/sys/arch/evbarm/include/db_machdep.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: db_machdep.h,v 1.1 2001/11/25 15:56:03 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/disklabel.h b/sys/arch/evbarm/include/disklabel.h
    index 349ea0969..61eccfd69 100644
    --- a/sys/arch/evbarm/include/disklabel.h
    +++ b/sys/arch/evbarm/include/disklabel.h
    @@ -1,6 +1,5 @@
    -/*	$NetBSD: disklabel.h,v 1.4 2011/08/30 12:39:54 bouyer Exp $	*/
    +/*	$NetBSD: disklabel.h,v 1.5 2013/05/07 20:42:46 matt Exp $	*/
     
    -#define LABELUSESMBR	1
     #if HAVE_NBTOOL_CONFIG_H
     #include 
     #else
    diff --git a/sys/arch/evbarm/include/intr.h b/sys/arch/evbarm/include/intr.h
    new file mode 100644
    index 000000000..9ae270f06
    --- /dev/null
    +++ b/sys/arch/evbarm/include/intr.h
    @@ -0,0 +1,155 @@
    +/*	$NetBSD: intr.h,v 1.24 2012/11/08 08:19:50 skrll Exp $	*/
    +
    +/*
    + * Copyright (c) 2001, 2003 Wasabi Systems, Inc.
    + * All rights reserved.
    + *
    + * Written by Jason R. Thorpe for Wasabi Systems, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed for the NetBSD Project by
    + *	Wasabi Systems, Inc.
    + * 4. The name of Wasabi Systems, Inc. may not be used to endorse
    + *    or promote products derived from this software without specific prior
    + *    written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef	_EVBARM_INTR_H_
    +#define	_EVBARM_INTR_H_
    +
    +#ifdef _KERNEL
    +
    +/* Interrupt priority "levels". */
    +#define	IPL_NONE	0		/* nothing */
    +#define	IPL_SOFTCLOCK	1		/* clock */
    +#define	IPL_SOFTBIO	2		/* block I/O */
    +#define	IPL_SOFTNET	3		/* software network interrupt */
    +#define	IPL_SOFTSERIAL	4		/* software serial interrupt */
    +#define	IPL_VM		5		/* memory allocation */
    +#define	IPL_SCHED	6		/* clock interrupt */
    +#define	IPL_HIGH	7		/* everything */
    +
    +#define	NIPL		8
    +
    +/* Interrupt sharing types. */
    +#define	IST_NONE	0	/* none */
    +#define	IST_PULSE	1	/* pulsed */
    +#define	IST_EDGE	2	/* edge-triggered */
    +#define	IST_LEVEL	3	/* level-triggered */
    +
    +#define IST_LEVEL_LOW	IST_LEVEL
    +#define IST_LEVEL_HIGH	4
    +#define IST_EDGE_FALLING IST_EDGE
    +#define IST_EDGE_RISING	5
    +#define IST_EDGE_BOTH	6
    +#define IST_SOFT	7
    +
    +#ifndef _LOCORE
    +
    +#include 
    +
    +#if defined(_LKM)
    +
    +int	_splraise(int);
    +int	_spllower(int);
    +void	splx(int);
    +#ifdef __HAVE_FAST_SOFTINTS
    +void	_setsoftintr(int);
    +#endif
    +
    +#else	/* _LKM */
    +
    +#include "opt_arm_intr_impl.h"
    +
    +#if defined(ARM_INTR_IMPL)
    +
    +/*
    + * Each board needs to define the following functions:
    + *
    + * int	_splraise(int);
    + * int	_spllower(int);
    + * void	splx(int);
    + *
    + * These may be defined as functions, static inline functions, or macros,
    + * but there must be a _spllower() and splx() defined as functions callable
    + * from assembly language (for cpu_switch()).  However, since it's quite
    + * useful to be able to inline splx(), you could do something like the
    + * following:
    + *
    + * in _intr.h:
    + * 	static inline int
    + *	boardtype_splx(int spl)
    + *	{...}
    + *
    + *	#define splx(nspl)	boardtype_splx(nspl)
    + *	...
    + * and in boardtype's machdep code:
    + *
    + *	...
    + *	#undef splx
    + *	int
    + *	splx(int spl)
    + *	{
    + *		return boardtype_splx(spl);
    + *	}
    + */
    +
    +#include ARM_INTR_IMPL
    +
    +#else /* ARM_INTR_IMPL */
    +
    +#error ARM_INTR_IMPL not defined.
    +
    +#endif	/* ARM_INTR_IMPL */
    +
    +#endif /* _LKM */
    +
    +typedef uint8_t ipl_t;
    +typedef struct {
    +	ipl_t _ipl;
    +} ipl_cookie_t;
    +
    +static inline ipl_cookie_t
    +makeiplcookie(ipl_t ipl)
    +{
    +
    +	return (ipl_cookie_t){._ipl = ipl};
    +}
    +
    +static inline int
    +splraiseipl(ipl_cookie_t icookie)
    +{
    +
    +	return _splraise(icookie._ipl);
    +}
    +
    +#define	spl0()		_spllower(IPL_NONE)
    +
    +#include 
    +
    +#endif /* ! _LOCORE */
    +
    +#endif /* _KERNEL */
    +
    +#endif	/* _EVBARM_INTR_H_ */
    diff --git a/sys/arch/evbarm/include/isa_machdep.h b/sys/arch/evbarm/include/isa_machdep.h
    new file mode 100644
    index 000000000..af7678848
    --- /dev/null
    +++ b/sys/arch/evbarm/include/isa_machdep.h
    @@ -0,0 +1,7 @@
    +/* $NetBSD: isa_machdep.h,v 1.2 2005/12/11 12:17:09 christos Exp $ */
    +
    +#ifndef _EVBARM_ISA_MACHDEP_H_
    +#define _EVBARM_ISA_MACHDEP_H_
    +#include 
    +
    +#endif /* _EVBARM_ISA_MACHDEP_H_ */
    diff --git a/sys/arch/evbarm/include/joystick.h b/sys/arch/evbarm/include/joystick.h
    new file mode 100644
    index 000000000..f1c07a00f
    --- /dev/null
    +++ b/sys/arch/evbarm/include/joystick.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: joystick.h,v 1.3 2005/12/11 12:17:09 christos Exp $ */
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/loadfile_machdep.h b/sys/arch/evbarm/include/loadfile_machdep.h
    new file mode 100644
    index 000000000..6d0d6bac4
    --- /dev/null
    +++ b/sys/arch/evbarm/include/loadfile_machdep.h
    @@ -0,0 +1,18 @@
    +
    +#define BOOT_ELF32
    +
    +#define LOAD_KERNEL	(LOAD_ALL & ~LOAD_TEXTA)
    +#define COUNT_KERNEL	(COUNT_ALL & ~COUNT_TEXTA)
    +
    +#define LOADADDR(a)		(((u_long)(a)))
    +#define ALIGNENTRY(a)		((u_long)(a))
    +#define READ(f, b, c)		read((f), (void*)LOADADDR(b), (c))
    +#define BCOPY(s, d, c)		memcpy((void*)LOADADDR(d), (void*)(s), (c))
    +#define BZERO(d, c)		memset((void*)LOADADDR(d), 0, (c))
    +#define WARN(a)			(void)(printf a,			\
    +				       printf((errno ? ": %s\n" : "\n"), \
    +					      strerror(errno)))
    +#define PROGRESS(a)		(void)printf a
    +#define ALLOC(a)		alloc(a)
    +#define DEALLOC(a, b)		dealloc(a, b)
    +#define OKMAGIC(a)		((a) == ZMAGIC)
    diff --git a/sys/arch/evbarm/include/netbsd32_machdep.h b/sys/arch/evbarm/include/netbsd32_machdep.h
    new file mode 100644
    index 000000000..1e2007f83
    --- /dev/null
    +++ b/sys/arch/evbarm/include/netbsd32_machdep.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: netbsd32_machdep.h,v 1.1 2012/08/03 08:00:17 matt Exp $ */
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/pcb.h b/sys/arch/evbarm/include/pcb.h
    new file mode 100644
    index 000000000..8897df596
    --- /dev/null
    +++ b/sys/arch/evbarm/include/pcb.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: pcb.h,v 1.1 2001/11/25 15:56:05 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/pci_machdep.h b/sys/arch/evbarm/include/pci_machdep.h
    new file mode 100644
    index 000000000..8667afed3
    --- /dev/null
    +++ b/sys/arch/evbarm/include/pci_machdep.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: pci_machdep.h,v 1.2 2001/11/25 15:56:05 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/pio.h b/sys/arch/evbarm/include/pio.h
    new file mode 100644
    index 000000000..9f0d85a55
    --- /dev/null
    +++ b/sys/arch/evbarm/include/pio.h
    @@ -0,0 +1,3 @@
    +/* $NetBSD: pio.h,v 1.2 2005/12/11 12:17:09 christos Exp $ */
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/pmap.h b/sys/arch/evbarm/include/pmap.h
    new file mode 100644
    index 000000000..e1af5bb80
    --- /dev/null
    +++ b/sys/arch/evbarm/include/pmap.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: pmap.h,v 1.3 2001/11/25 15:56:05 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/pmc.h b/sys/arch/evbarm/include/pmc.h
    new file mode 100644
    index 000000000..910a59cd3
    --- /dev/null
    +++ b/sys/arch/evbarm/include/pmc.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: pmc.h,v 1.1 2002/08/07 05:15:12 briggs Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/reg.h b/sys/arch/evbarm/include/reg.h
    new file mode 100644
    index 000000000..142465bd9
    --- /dev/null
    +++ b/sys/arch/evbarm/include/reg.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: reg.h,v 1.1 2001/11/25 15:56:05 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/sysarch.h b/sys/arch/evbarm/include/sysarch.h
    new file mode 100644
    index 000000000..4f5a51370
    --- /dev/null
    +++ b/sys/arch/evbarm/include/sysarch.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: sysarch.h,v 1.1 2001/11/25 15:56:06 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/evbarm/include/trap.h b/sys/arch/evbarm/include/trap.h
    new file mode 100644
    index 000000000..bec1a0808
    --- /dev/null
    +++ b/sys/arch/evbarm/include/trap.h
    @@ -0,0 +1,3 @@
    +/*	$NetBSD: trap.h,v 1.1 2001/11/25 15:56:06 thorpej Exp $	*/
    +
    +#include 
    diff --git a/sys/arch/i386/conf/stand.ldscript b/sys/arch/i386/conf/stand.ldscript
    new file mode 100644
    index 000000000..934f4d27f
    --- /dev/null
    +++ b/sys/arch/i386/conf/stand.ldscript
    @@ -0,0 +1,64 @@
    +/*	$NetBSD: stand.ldscript,v 1.1 2013/11/01 00:19:04 christos Exp $	*/
    +
    +OUTPUT_FORMAT("elf32-i386-minix", "elf32-i386-minix",
    +	      "elf32-i386-minix")
    +OUTPUT_ARCH(i386)
    +ENTRY(_start)
    +SECTIONS
    +{
    +   /* Read-only sections, merged into text segment: */
    +   .text :
    +   AT (ADDR(.text) & 0x0fffffff)
    +   {
    +     *(.text)
    +     *(.text.*)
    +     *(.stub)
    +   } =0
    +   _etext = . ;
    +   PROVIDE (etext = .) ;
    +
    +   .rodata :
    +   AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
    +   {
    +     *(.rodata)
    +     *(.rodata.*)
    +   }
    +
    +   __data_start = . ;
    +   .data :
    +   AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
    +   {
    +     *(.data)
    +   }
    +   .data.cacheline_aligned :
    +   AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
    +   {
    +     *(.data.cacheline_aligned)
    +   }
    +   .data.read_mostly :
    +   AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
    +   {
    +     *(.data.read_mostly)
    +   }
    +   _edata = . ;
    +   PROVIDE (edata = .) ;
    +   __bss_start = . ;
    +   .bss :
    +   AT (LOADADDR(.text) + (ADDR(.bss) - ADDR(.text)))
    +   {
    +     *(.bss)
    +     *(.bss.*)
    +     *(COMMON)
    +     . = ALIGN(32 / 8);
    +   }
    +   . = ALIGN(32 / 8);
    +  _end = . ;
    +  PROVIDE (end = .) ;
    +  /DISCARD/ : {
    +    *(.eh_frame_hdr)
    +    *(.eh_frame)
    +    *(.rel.eh_frame)
    +    *(.rela.eh_frame)
    +    *(.note.netbsd.ident)
    +  }
    +}
    diff --git a/sys/arch/i386/include/Makefile b/sys/arch/i386/include/Makefile
    index f5ddebda2..363431dd0 100644
    --- a/sys/arch/i386/include/Makefile
    +++ b/sys/arch/i386/include/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.40 2012/08/08 18:37:52 drochner Exp $
    +#	$NetBSD: Makefile,v 1.41 2012/11/05 00:57:42 alnsn Exp $
     
     INCSDIR= /usr/include/i386
     
    @@ -7,22 +7,22 @@ INCS=	ansi.h asm.h \
     	cdefs.h cpu.h \
     	disklabel.h \
     	elf_machdep.h endian.h endian_machdep.h \
    -	fenv.h float.h proc.h frame.h pcb.h segments.h tss.h sysarch.h \
    -	lock.h \
    +	fenv.h float.h frame.h  \
    +	\
     	ieee.h ieeefp.h \
     	int_const.h int_fmtio.h int_limits.h int_mwgwtypes.h int_types.h \
     	\
     	\
     	\
    -	limits.h \
    +	limits.h lock.h \
     	math.h mcontext.h mutex.h multiboot.h \
     	npx.h \
    -	param.h pio.h profile.h ptrace.h trap.h \
    -	\
    +	param.h pcb.h pio.h proc.h profile.h \
    +	ptrace.h \
     	rwlock.h \
    -	setjmp.h signal.h \
    -	\
    -	types.h \
    +	segments.h setjmp.h signal.h \
    +	sysarch.h \
    +	trap.h tss.h types.h \
     	vmparam.h \
     	wchar_limits.h
     
    diff --git a/sys/arch/i386/include/asm.h b/sys/arch/i386/include/asm.h
    index 1ceb6ea07..0b0065372 100644
    --- a/sys/arch/i386/include/asm.h
    +++ b/sys/arch/i386/include/asm.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: asm.h,v 1.40 2011/06/16 13:16:20 joerg Exp $	*/
    +/*	$NetBSD: asm.h,v 1.41 2013/09/12 15:36:17 joerg Exp $	*/
     
     /*-
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -41,7 +41,7 @@
     #include "opt_multiprocessor.h"
     #endif
     
    -#ifdef PIC
    +#ifdef __PIC__
     #define PIC_PROLOGUE	\
     	pushl	%ebx;	\
     	call	1f;	\
    @@ -215,9 +215,9 @@
     	.popsection
     #endif /* __STDC__ */
     
    -#ifdef __minix
    +#if defined(__minix)
     #define IMPORT(sym)               \
             .extern _C_LABEL(sym)
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_I386_ASM_H_ */
    diff --git a/sys/arch/i386/include/cpu.h b/sys/arch/i386/include/cpu.h
    index b0f56982d..a63f61e10 100644
    --- a/sys/arch/i386/include/cpu.h
    +++ b/sys/arch/i386/include/cpu.h
    @@ -92,11 +92,11 @@ void cpu_alloc_l3_page(struct cpu_info *);
     
     #endif	/* _KERNEL */
     
    -#ifdef __minix
    +#if defined(__minix)
     #include 
     /* User flags are S (Status) and C (Control) flags. */
     #define X86_FLAGS_USER (PSL_C | PSL_PF | PSL_AF | PSL_Z | \
     	PSL_N | PSL_D | PSL_V)
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_I386_CPU_H_ */
    diff --git a/sys/arch/i386/include/frame.h b/sys/arch/i386/include/frame.h
    index 81995ec25..6a3d6cbfd 100644
    --- a/sys/arch/i386/include/frame.h
    +++ b/sys/arch/i386/include/frame.h
    @@ -149,21 +149,21 @@ struct switchframe {
      * Old-style signal frame
      */
     struct sigframe_sigcontext {
    -#ifdef __minix
    +#if defined(__minix)
     	/* ret addr + stackframe for handler */
     	int	sf_ra_sigreturn;	/* first return to sigreturn */
     #else
     	int	sf_ra;			/* return address for handler */
    -#endif
    +#endif /* defined(__minix) */
     	int	sf_signum;		/* "signum" argument for handler */
     	int	sf_code;		/* "code" argument for handler */
     	struct	sigcontext *sf_scp;	/* "scp" argument for handler */
    -#ifdef __minix
    +#if defined(__minix)
     	/* ret addr + stackframe for sigreturn */
     	uint32_t sf_fp;			/* saved FP */
     	int	sf_ra;			/* actual return address for handler */
     	struct	sigcontext *sf_scpcopy;	/* minix scp copy */
    -#endif
    +#endif /* defined(__minix) */
     	struct	sigcontext sf_sc;	/* actual saved context */
     };
     #endif
    diff --git a/sys/arch/i386/include/limits.h b/sys/arch/i386/include/limits.h
    index bb1f5aab6..6ba572a11 100644
    --- a/sys/arch/i386/include/limits.h
    +++ b/sys/arch/i386/include/limits.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: limits.h,v 1.23 2012/03/28 17:03:29 christos Exp $	*/
    +/*	$NetBSD: limits.h,v 1.24 2013/04/11 00:57:35 christos Exp $	*/
     
     /*
      * Copyright (c) 1988 The Regents of the University of California.
    @@ -66,6 +66,7 @@
     #endif
     
     #if defined(_NETBSD_SOURCE)
    +#define	SSIZE_MIN	INT_MIN		/* min value for a ssize_t */
     #define	SIZE_T_MAX	UINT_MAX	/* max value for a size_t */
     
     #define	UQUAD_MAX	0xffffffffffffffffULL		/* max unsigned quad */
    diff --git a/sys/arch/i386/include/mcontext.h b/sys/arch/i386/include/mcontext.h
    index c7e36723e..6e076025c 100644
    --- a/sys/arch/i386/include/mcontext.h
    +++ b/sys/arch/i386/include/mcontext.h
    @@ -104,10 +104,6 @@ typedef struct {
     #endif
     } mcontext_t;
     
    -#ifdef __minix
    -#define _MC_FPU_SAVED	0x001
    -#endif
    -
     #define _UC_FXSAVE	0x20	/* FP state is in FXSAVE format in XMM space */
     
     #define _UC_MACHINE_PAD	4	/* Padding appended to ucontext_t */
    @@ -133,7 +129,7 @@ typedef struct {
     
     #define	_UC_MACHINE_SET_PC(uc, pc)	_UC_MACHINE_PC(uc) = (pc)
     
    -#ifdef __minix
    +#if defined(__minix)
     #define	_UC_MACHINE_STACK(uc)		((uc)->uc_mcontext.__gregs[_REG_ESP])
     #define	_UC_MACHINE_SET_STACK(uc, esp)	_UC_MACHINE_STACK(uc) = (esp)
     
    @@ -142,7 +138,14 @@ typedef struct {
     
     #define	_UC_MACHINE_ESI(uc)		((uc)->uc_mcontext.__gregs[_REG_ESI])
     #define	_UC_MACHINE_SET_ESI(uc, esi)	_UC_MACHINE_ESI(uc) = (esi)
    -#endif
    +
    +int setmcontext(const mcontext_t *mcp);
    +int getmcontext(mcontext_t *mcp);
    +
    +#define MCF_MAGIC 0xc0ffee
    +#define _MC_FPU_SAVED	0x001
    +
    +#endif /* defined(__minix) */
     
     #define	__UCONTEXT_SIZE	776
     
    @@ -156,10 +159,4 @@ __lwp_getprivate_fast(void)
     	return __tmp;
     }
     
    -#ifdef __minix
    -int setmcontext(const mcontext_t *mcp);
    -int getmcontext(mcontext_t *mcp);
    -#define MCF_MAGIC 0xc0ffee
    -#endif
    -
     #endif	/* !_I386_MCONTEXT_H_ */
    diff --git a/sys/arch/i386/include/multiboot.h b/sys/arch/i386/include/multiboot.h
    index d96e0aef8..bc07f689d 100644
    --- a/sys/arch/i386/include/multiboot.h
    +++ b/sys/arch/i386/include/multiboot.h
    @@ -1,4 +1,4 @@
    -#ifndef _MACHINE_MULTIBOOT_H
    +#ifndef _MACHINE_MULTIBOOT_H /* LSC: FIXME: In MINIX this header is included everywhere... */
     #define _MACHINE_MULTIBOOT_H 1
     
     /*	$NetBSD: multiboot.h,v 1.8 2009/02/22 18:05:42 ahoka Exp $	*/
    @@ -43,7 +43,7 @@
     #define MULTIBOOT_HEADER_HAS_VBE	0x00000004
     #define MULTIBOOT_HEADER_HAS_ADDR	0x00010000
     
    -#ifndef __ASSEMBLY__
    +#if defined(__minix) && !defined(__ASSEMBLY__)
     
     #if !defined(_LOCORE)
     struct multiboot_header {
    @@ -73,7 +73,7 @@ struct multiboot_header {
     extern struct multiboot_header *Multiboot_Header;
     #endif /* !defined(_LOCORE) && defined(_KERNEL) */
     
    -#endif /* __ASSEMBLY__ */
    +#endif /* defined(__minix) && !defined(__ASSEMBLY__) */
     
     /* --------------------------------------------------------------------- */
     
    @@ -94,7 +94,7 @@ extern struct multiboot_header *Multiboot_Header;
     #define MULTIBOOT_INFO_HAS_APM_TABLE	0x00000400
     #define MULTIBOOT_INFO_HAS_VBE		0x00000800
     
    -#ifndef __ASSEMBLY__
    +#if defined(__minix) && !defined(__ASSEMBLY__)
     
     #if !defined(_LOCORE)
     struct multiboot_info {
    @@ -195,11 +195,11 @@ struct multiboot_module {
     	uint32_t	mmo_reserved;
     };
     
    -#endif
    +#endif /* !defined(_LOCORE) */
     
    -#endif /* __ASSEMBLY__ */
    +#endif /* defined(__minix) && !defined(__ASSEMBLY__) */
     
    -#ifdef __minix
    +#if defined(__minix)
     
     #ifndef __ASSEMBLY__
     typedef struct multiboot_info multiboot_info_t;
    @@ -223,7 +223,8 @@ typedef struct multiboot_mmap multiboot_memory_map_t;
     #define MULTIBOOT_CONSOLE_LINES 25
     #define MULTIBOOT_CONSOLE_COLS 80
     
    -#endif 
    +#define MULTIBOOT_PARAM_BUF_SIZE 1024
    +#endif /* defined(__minix) */
     
     /* --------------------------------------------------------------------- */
     
    @@ -239,8 +240,4 @@ bool		multiboot_ksyms_addsyms_elf(void);
     
     /* --------------------------------------------------------------------- */
     
    -#ifdef __minix
    -#define MULTIBOOT_PARAM_BUF_SIZE 1024
    -#endif
    -
    -#endif
    +#endif /* _MACHINE_MULTIBOOT_H */
    \ No newline at end of file
    diff --git a/sys/arch/i386/include/npx.h b/sys/arch/i386/include/npx.h
    index b015b5733..b0276c037 100644
    --- a/sys/arch/i386/include/npx.h
    +++ b/sys/arch/i386/include/npx.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: npx.h,v 1.25 2010/07/31 21:47:54 joerg Exp $	*/
    +/*	$NetBSD: npx.h,v 1.26 2013/11/11 11:10:45 joerg Exp $	*/
     
     /*-
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -126,8 +126,10 @@ union savefpu {
      * with all exceptions masked.
      */
     #define	__INITIAL_NPXCW__	0x037f
    -/* NetBSD uses IEEE double precision. */
    -#define	__NetBSD_NPXCW__	0x127f
    +/* Modern NetBSD uses the default control word.. */
    +#define	__NetBSD_NPXCW__	0x037f
    +/* NetBSD before 6.99.26 forced IEEE double precision. */
    +#define	__NetBSD_COMPAT_NPXCW__	0x127f
     /* FreeBSD leaves some exceptions unmasked as well. */
     #define	__FreeBSD_NPXCW__	0x1272
     /* iBCS2 goes a bit further and leaves the underflow exception unmasked. */
    diff --git a/sys/arch/i386/include/param.h b/sys/arch/i386/include/param.h
    index 75c6e60b9..5f69d3949 100644
    --- a/sys/arch/i386/include/param.h
    +++ b/sys/arch/i386/include/param.h
    @@ -151,13 +151,4 @@
     #define	x86_btop(x)		((paddr_t)(x) >> PGSHIFT)
     #define	x86_ptob(x)		((paddr_t)(x) << PGSHIFT)
     
    -#ifdef __minix
    -/* Minix expect to find in this file PAGE_* defines. */
    -#include 
    -
    -#define trunc_page(x) x86_trunc_page(x)
    -#define round_page(x) x86_round_page(x)
    -
    -#endif
    -
     #endif /* _I386_PARAM_H_ */
    diff --git a/sys/arch/i386/include/pcb.h b/sys/arch/i386/include/pcb.h
    index cf0a3414d..f3f9c4776 100644
    --- a/sys/arch/i386/include/pcb.h
    +++ b/sys/arch/i386/include/pcb.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pcb.h,v 1.48 2010/04/23 16:07:33 joerg Exp $	*/
    +/*	$NetBSD: pcb.h,v 1.50 2013/12/01 01:05:16 christos Exp $	*/
     
     /*-
      * Copyright (c) 1998, 2009 The NetBSD Foundation, Inc.
    diff --git a/sys/arch/i386/include/proc.h b/sys/arch/i386/include/proc.h
    index 51225d6f2..bdb3c59fe 100644
    --- a/sys/arch/i386/include/proc.h
    +++ b/sys/arch/i386/include/proc.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: proc.h,v 1.38 2011/01/14 02:06:26 rmind Exp $	*/
    +/*	$NetBSD: proc.h,v 1.40 2013/12/01 01:05:16 christos Exp $	*/
     
     /*
      * Copyright (c) 1991 Regents of the University of California.
    diff --git a/sys/arch/i386/include/signal.h b/sys/arch/i386/include/signal.h
    index 7201a3f39..1c6ac167d 100644
    --- a/sys/arch/i386/include/signal.h
    +++ b/sys/arch/i386/include/signal.h
    @@ -36,9 +36,9 @@
     
     #include 
     
    -#ifdef __minix
    +#if defined(__minix)
     #include 
    -#endif
    +#endif /* defined(__minix) */
     
     typedef int sig_atomic_t;
     
    @@ -108,13 +108,13 @@ struct sigcontext {
     	int	sc_err;
     
     	sigset_t sc_mask;		/* signal mask to restore (new style) */
    -#ifdef __minix
    +#if defined(__minix)
     	union fpu_state_u sc_fpu_state;
     	int trap_style;		/* KTS_* method of entering kernel */
     	int sc_flags;			/* MF_FPU_INITIALIZED if fpu state valid */
     #define SC_MAGIC 0xc0ffee1
     	int sc_magic;
    -#endif
    +#endif /* defined(__minix) */
     };
     #endif /* _KERNEL */
     
    diff --git a/sys/arch/i386/include/types.h b/sys/arch/i386/include/types.h
    index a3f34b1b1..fc0a75df7 100644
    --- a/sys/arch/i386/include/types.h
    +++ b/sys/arch/i386/include/types.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: types.h,v 1.74 2011/07/06 18:46:04 dyoung Exp $	*/
    +/*	$NetBSD: types.h,v 1.76 2013/12/01 01:05:16 christos Exp $	*/
     
     /*-
      * Copyright (c) 1990 The Regents of the University of California.
    diff --git a/sys/arch/i386/include/vmparam.h b/sys/arch/i386/include/vmparam.h
    index 9a50c9c38..1a4042c0c 100644
    --- a/sys/arch/i386/include/vmparam.h
    +++ b/sys/arch/i386/include/vmparam.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vmparam.h,v 1.75 2012/08/15 08:10:28 sborrill Exp $	*/
    +/*	$NetBSD: vmparam.h,v 1.76 2012/11/13 14:10:24 chs Exp $	*/
     
     /*-
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -127,7 +127,7 @@
     #define	VM_PHYSSEG_MAX		1
     #define	VM_NFREELIST		1
     #else
    -#define	VM_PHYSSEG_MAX		16	/* 1 "hole" + 15 free lists */
    +#define	VM_PHYSSEG_MAX		32	/* 1 "hole" + 31 free lists */
     #define	VM_NFREELIST		2
     #define	VM_FREELIST_FIRST16	1
     #endif /* XEN */
    diff --git a/sys/arch/i386/stand/Makefile.booters b/sys/arch/i386/stand/Makefile.booters
    index 9e11fd970..7ea7f1c26 100644
    --- a/sys/arch/i386/stand/Makefile.booters
    +++ b/sys/arch/i386/stand/Makefile.booters
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile.booters,v 1.86 2012/08/10 12:18:14 joerg Exp $
    +#	$NetBSD: Makefile.booters,v 1.88 2013/08/21 15:24:27 matt Exp $
     
     .include 
     
    @@ -49,18 +49,6 @@ KERNMISCMAKEFLAGS="LIBKERN_ARCH=i386"
     CLEANFILES+= ${STARTFILE} vers.c ${BASE}.list
     SRCS+=	vers.c
     
    -CLEANFILES+= machine x86
    -
    -.if !make(obj) && !make(clean) && !make(cleandir)
    -.BEGIN:
    -	-rm -f machine && ln -s $S/arch/i386/include machine
    -	-rm -f x86 && ln -s $S/arch/x86/include x86
    -.ifdef LIBOBJ
    -	-rm -f lib && ln -s ${LIBOBJ}/lib lib
    -	mkdir -p ${LIBOBJ}/lib
    -.endif
    -.endif
    -
     ### find out what to use for libkern
     KERN_AS=	library
     .include "${S}/lib/libkern/Makefile.inc"
    @@ -125,3 +113,5 @@ ${BASE}.bin: ${STARTFILE} ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} ${LIBI386}
     	${OBJCOPY} -O binary ${BASE}.sym ${BASE}.bin
     
     .include 
    +KLINK_MACHINE=	i386
    +.include 
    diff --git a/sys/arch/i386/stand/Makefile.inc b/sys/arch/i386/stand/Makefile.inc
    index 8ffcf35a2..af2266823 100644
    --- a/sys/arch/i386/stand/Makefile.inc
    +++ b/sys/arch/i386/stand/Makefile.inc
    @@ -1,11 +1,12 @@
    -#	$NetBSD: Makefile.inc,v 1.10 2012/04/04 10:54:44 joerg Exp $
    +#	$NetBSD: Makefile.inc,v 1.11 2013/07/01 12:48:03 joerg Exp $
     
     .include 
     
     BINDIR=	/usr/mdec
     
    -OPT_SIZE.gcc=	-Os -ffreestanding -fomit-frame-pointer
    +OPT_SIZE.gcc=	-Os -ffreestanding -fomit-frame-pointer -fno-unwind-tables
     OPT_SIZE.clang=	-Oz -ffreestanding -fomit-frame-pointer -DNDEBUG \
     		-fno-stack-protector -mno-sse \
     		-mstack-alignment=4 \
    -		-mllvm -inline-threshold=3 -mllvm -enable-load-pre=false
    +		-mllvm -inline-threshold=3 -mllvm -enable-load-pre=false \
    +		-fno-unwind-tables
    diff --git a/sys/arch/i386/stand/boot/Makefile.boot b/sys/arch/i386/stand/boot/Makefile.boot
    index 6ab175701..a0b460865 100644
    --- a/sys/arch/i386/stand/boot/Makefile.boot
    +++ b/sys/arch/i386/stand/boot/Makefile.boot
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile.boot,v 1.58 2012/08/10 12:18:15 joerg Exp $
    +# $NetBSD: Makefile.boot,v 1.60 2013/08/21 17:15:26 matt Exp $
     
     S=	${.CURDIR}/../../../../..
     
    @@ -52,11 +52,7 @@ CPUFLAGS=  -march=i386 -mtune=i386
     CFLAGS+=   -mno-sse -mno-sse2 -mno-sse3
     
     COPTS+=    -ffreestanding
    -.if defined(__MINIX)
    -CFLAGS+= -Wmissing-prototypes -Wstrict-prototypes
    -.else
     CFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes
    -.endif
     CPPFLAGS+= -nostdinc -D_STANDALONE
     CPPFLAGS+= -I$S
     
    @@ -95,18 +91,6 @@ CPPFLAGS+=	-Wno-pointer-sign
     
     I386_STAND_DIR?= $S/arch/i386/stand
     
    -CLEANFILES+= machine x86
    -
    -.if !make(obj) && !make(clean) && !make(cleandir)
    -.BEGIN:
    -	-rm -f machine && ln -s $S/arch/i386/include machine
    -	-rm -f x86 && ln -s $S/arch/x86/include x86
    -.ifdef LIBOBJ
    -	-rm -f lib && ln -s ${LIBOBJ}/lib lib
    -	mkdir -p ${LIBOBJ}/lib
    -.endif
    -.endif
    -
     ### find out what to use for libi386
     I386DIR= ${I386_STAND_DIR}/lib
     .include "${I386DIR}/Makefile.inc"
    @@ -179,3 +163,5 @@ ${PROG}: ${OBJS} ${LIBLIST} ${.CURDIR}/../Makefile.boot
     	${OBJCOPY} -O binary ${PROG}.syms ${PROG}
     
     .include 
    +KLINK_MACHINE=	i386
    +.include 
    diff --git a/sys/arch/i386/stand/boot/boot2.c b/sys/arch/i386/stand/boot/boot2.c
    index b7d244db6..b71b5614e 100644
    --- a/sys/arch/i386/stand/boot/boot2.c
    +++ b/sys/arch/i386/stand/boot/boot2.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: boot2.c,v 1.58 2012/08/04 03:51:27 riastradh Exp $	*/
    +/*	$NetBSD: boot2.c,v 1.60 2013/08/30 16:42:17 jmcneill Exp $	*/
     
     /*-
      * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
    @@ -120,6 +120,9 @@ void	command_quit(char *);
     void	command_boot(char *);
     void	command_dev(char *);
     void	command_consdev(char *);
    +#ifndef SMALL
    +void	command_menu(char *);
    +#endif
     void	command_modules(char *);
     void	command_multiboot(char *);
     #ifdef __minix
    @@ -134,6 +137,9 @@ const struct bootblk_command commands[] = {
     	{ "boot",	command_boot },
     	{ "dev",	command_dev },
     	{ "consdev",	command_consdev },
    +#ifndef SMALL
    +	{ "menu",	command_menu },
    +#endif
     	{ "modules",	command_modules },
     	{ "load",	module_add },
     #ifdef __minix
    @@ -143,6 +149,7 @@ const struct bootblk_command commands[] = {
     	{ "vesa",	command_vesa },
     	{ "splash",	splash_add },
     	{ "rndseed",	rnd_add },
    +	{ "fs",		fs_add },
     	{ "userconf",	userconf_add },
     	{ NULL,		NULL },
     };
    @@ -407,11 +414,14 @@ command_help(char *arg)
     	       "dev xd[N[x]]:\n"
     	       "consdev {pc|com[0123]|com[0123]kbd|auto}\n"
     	       "vesa {modenum|on|off|enabled|disabled|list}\n"
    +#ifndef SMALL
    +	       "menu (reenters boot menu, if defined in boot.cfg)\n"
    +#endif
     	       "modules {on|off|enabled|disabled}\n"
     	       "load {path_to_module}\n"
    -#ifdef __minix
    +#if defined(__minix)
     	       "load_mods {path_to_modules}, pattern might be used\n"
    -#endif
    +#endif /* defined(__minix) */
     	       "multiboot [xdNx:][filename] []\n"
     	       "userconf {command}\n"
     	       "rndseed {path_to_rndseed_file}\n"
    @@ -425,15 +435,15 @@ command_ls(char *arg)
     	const char *save = default_filename;
     
     	default_filename = "/";
    -#ifndef __minix
    +#if !defined(__minix)
     	ls(arg);
     #else
     	ls(arg, NULL);
    -#endif
    +#endif /* !defined(__minix) */
     	default_filename = save;
     }
     
    -#ifdef __minix
    +#if defined(__minix)
     void
     command_load_mods(char *arg)
     {
    @@ -443,7 +453,7 @@ command_load_mods(char *arg)
     	ls(arg, module_add);
     	default_filename = save;
     }
    -#endif
    +#endif /* defined(__minix) */
     
     /* ARGSUSED */
     void
    @@ -471,6 +481,10 @@ command_boot(char *arg)
     		bootit(filename, howto, tell);
     	} else {
     		int i;
    +
    +#ifndef SMALL
    +		bootdefault();
    +#endif
     		for (i = 0; i < NUMNAMES; i++) {
     			bootit(names[i][0], howto, tell);
     			bootit(names[i][1], howto, tell);
    @@ -536,6 +550,21 @@ command_consdev(char *arg)
     	printf("invalid console device.\n");
     }
     
    +#ifndef SMALL
    +/* ARGSUSED */
    +void
    +command_menu(char *arg)
    +{
    +
    +	if (bootconf.nummenu > 0) {
    +		/* Does not return */
    +		doboottypemenu();
    +	} else {
    +		printf("No menu defined in boot.cfg\n");
    +	}
    +}
    +#endif /* !SMALL */
    +
     void
     command_modules(char *arg)
     {
    diff --git a/sys/arch/i386/stand/boot/version b/sys/arch/i386/stand/boot/version
    index 600e3dc3d..62cd9f2a9 100644
    --- a/sys/arch/i386/stand/boot/version
    +++ b/sys/arch/i386/stand/boot/version
    @@ -1,4 +1,4 @@
    -$NetBSD: version,v 1.15 2011/02/09 04:37:54 jmcneill Exp $
    +$NetBSD: version,v 1.16 2013/08/30 16:43:33 jmcneill Exp $
     
     NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE.  The format of this
     file is important - make sure the entries are appended on end, last item
    @@ -47,3 +47,4 @@ is taken as the current.
     5.7:	Recognize 64-bit LBA from bootxx.
     5.8:	Support for splash images.
     5.9:	VESA VBE/DDC EDID support.
    +5.10:	Support for using raw file-system images as memory disks.
    diff --git a/sys/arch/i386/stand/bootxx/Makefile b/sys/arch/i386/stand/bootxx/Makefile
    index 2704f05f5..db1f1d456 100644
    --- a/sys/arch/i386/stand/bootxx/Makefile
    +++ b/sys/arch/i386/stand/bootxx/Makefile
    @@ -1,7 +1,7 @@
     # $NetBSD: Makefile,v 1.14 2010/12/29 17:44:03 jakllsch Exp $
     
     .if defined(__MINIX)
    -SUBDIR= bootxx_minixfs3
    +SUBDIR= bootxx_ffsv1 .WAIT bootxx_minixfs3
     .else
     SUBDIR=	bootxx_ffsv1 .WAIT bootxx_ffsv2 bootxx_lfsv1 bootxx_lfsv2
     SUBDIR+=bootxx_msdos bootxx_ustarfs
    diff --git a/sys/arch/i386/stand/bootxx/Makefile.bootxx b/sys/arch/i386/stand/bootxx/Makefile.bootxx
    index d8fbae726..0eedfe038 100644
    --- a/sys/arch/i386/stand/bootxx/Makefile.bootxx
    +++ b/sys/arch/i386/stand/bootxx/Makefile.bootxx
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile.bootxx,v 1.43 2012/08/10 12:18:15 joerg Exp $
    +# $NetBSD: Makefile.bootxx,v 1.46 2013/11/01 00:18:24 christos Exp $
     
     S=	${.CURDIR}/../../../../..
     
    @@ -97,18 +97,6 @@ CPPFLAGS+= -DLIBSA_SINGLE_FILESYSTEM=xxfs \
     
     I386_STAND_DIR?= $S/arch/i386/stand
     
    -CLEANFILES+= machine x86
    -
    -.if !make(obj) && !make(clean) && !make(cleandir)
    -.BEGIN:
    -	-rm -f machine && ln -s $S/arch/i386/include machine
    -	-rm -f x86 && ln -s $S/arch/x86/include x86
    -.ifdef LIBOBJ
    -	-rm -f lib && ln -s ${LIBOBJ}/lib lib
    -	mkdir -p ${LIBOBJ}/lib
    -.endif
    -.endif
    -
     ### find out what to use for libi386
     I386DIR= ${I386_STAND_DIR}/lib
     .include "${I386DIR}/Makefile.inc"
    @@ -139,6 +127,7 @@ USE_BITCODE=no
     LIBKERN= ${DESTDIR}/usr/lib/libminc.a
     .endif
     
    +LDSCRIPT ?= $S/arch/i386/conf/stand.ldscript
     
     cleandir distclean: .WAIT cleanlibdir
     
    @@ -152,7 +141,7 @@ CLEANFILES+= ${PROG}.sym ${PROG}.map
     ${PROG}: ${OBJS} ${LIBLIST}
     	${_MKTARGET_LINK}
     	${CC} -o ${PROG}.sym ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \
    -		-Wl,-Map,${PROG}.map -Wl,-cref ${OBJS} ${LIBLIST}
    +		-T ${LDSCRIPT} -Wl,-Map,${PROG}.map -Wl,-cref ${OBJS} ${LIBLIST}
     	${OBJCOPY} -O binary ${PROG}.sym ${PROG}
     	@ sz=$$(${TOOL_STAT} -f '%z' ${PROG}); \
     	if [ "$$sz" -gt "${BOOTXX_MAXSIZE}" ]; then \
    @@ -168,3 +157,5 @@ ${PROG}: ${OBJS} ${LIBLIST}
     	fi
     
     .include 
    +KLINK_MACHINE=	i386
    +.include 
    diff --git a/sys/arch/i386/stand/bootxx/boot1.c b/sys/arch/i386/stand/bootxx/boot1.c
    index e2bee21c0..25d7a6cd4 100644
    --- a/sys/arch/i386/stand/bootxx/boot1.c
    +++ b/sys/arch/i386/stand/bootxx/boot1.c
    @@ -39,11 +39,11 @@ __RCSID("$NetBSD: boot1.c,v 1.20 2011/01/06 01:08:48 jakllsch Exp $");
     #include 
     #include 
     #include 
    -#ifndef __minix
    +#if !defined(__minix)
     #include 	/* For RF_PROTECTED_SECTORS */
     #else
     #define RF_PROTECTED_SECTORS 64
    -#endif
    +#endif /* !defined(__minix) */
     
     #define XSTR(x) #x
     #define STR(x) XSTR(x)
    @@ -60,11 +60,11 @@ extern struct disklabel ptn_disklabel;
     static int
     ob(void)
     {
    -#ifndef __minix
    +#if !defined(__minix)
     	return open("boot", 0);
     #else
     	return open("boot_monitor", 0);
    -#endif
    +#endif /* !defined(__minix) */
     }
     
     const char *
    @@ -76,11 +76,11 @@ boot1(uint32_t biosdev, uint64_t *sector)
     	bios_sector = *sector;
     	d.dev = biosdev;
     
    -#ifdef __minix
    +#if defined(__minix)
     	putstr("\r\nMINIX/x86 " STR(FS) " Primary Bootstrap\r\n");
     #else
     	putstr("\r\nNetBSD/x86 " STR(FS) " Primary Bootstrap\r\n");
    -#endif
    +#endif /* defined(__minix) */
     
     	if (set_geometry(&d, NULL))
     		return "set_geometry\r\n";
    @@ -103,7 +103,7 @@ boot1(uint32_t biosdev, uint64_t *sector)
     	if (fd != -1)
     		goto done;
     
    -#ifdef BOOT_FROM_MINIXFS3
    +#if defined(__minix) && defined(BOOT_FROM_MINIXFS3)
     	bios_sector -= RF_PROTECTED_SECTORS;
     	bios_sector += MINIX3_FIRST_SUBP_OFFSET;
     	*sector = bios_sector;
    @@ -111,7 +111,7 @@ boot1(uint32_t biosdev, uint64_t *sector)
     	fd = ob();
     	if (fd != -1)
     		goto done;
    -#endif
    +#endif /* defined(__minix) && defined(BOOT_FROM_MINIXFS3) */
     
     	/*
     	 * Nothing at the start of the MBR partition, fallback on
    @@ -131,11 +131,11 @@ boot1(uint32_t biosdev, uint64_t *sector)
     done:
     	/* if we fail here, so will fstat, so keep going */
     	if (fd == -1 || fstat(fd, &sb) == -1)
    -#ifndef __minix
    +#if !defined(__minix)
     		return "Can't open /boot\r\n";
     #else
     		return "Can't open /boot_monitor\r\n";
    -#endif
    +#endif /* !defined(__minix) */
     
     	biosdev = (uint32_t)sb.st_size;
     #if 0
    @@ -144,18 +144,18 @@ done:
     #endif
     
     	if (read(fd, (void *)SECONDARY_LOAD_ADDRESS, biosdev) != biosdev)
    -#ifndef __minix
    +#if !defined(__minix)
     		return "/boot load failed\r\n";
     #else
     		return "/boot_monitor load failed\r\n";
    -#endif
    +#endif /* !defined(__minix) */
     
     	if (*(uint32_t *)(SECONDARY_LOAD_ADDRESS + 4) != X86_BOOT_MAGIC_2)
    -#ifndef __minix
    +#if !defined(__minix)
     		return "Invalid /boot file format\r\n";
     #else
     		return "Invalid /boot_monitor file format\r\n";
    -#endif
    +#endif /* !defined(__minix) */
     
     	/* We need to jump to the secondary bootstrap in realmode */
     	return 0;
    diff --git a/sys/arch/i386/stand/cdboot/Makefile b/sys/arch/i386/stand/cdboot/Makefile
    index 09704f161..1662c180b 100644
    --- a/sys/arch/i386/stand/cdboot/Makefile
    +++ b/sys/arch/i386/stand/cdboot/Makefile
    @@ -1,15 +1,19 @@
    -#	$NetBSD: Makefile,v 1.12 2011/05/20 22:29:55 joerg Exp $
    +#	$NetBSD: Makefile,v 1.13 2013/09/12 05:54:38 joerg Exp $
     
     S=		${.CURDIR}/../../../..
     
     AFLAGS.cdboot.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
     
    +PIE_CFLAGS=
    +PIE_LDFLAGS=
    +PIE_AFLAGS=
    +
     NOMAN=		# defined
     .include 
     
     .if defined(__MINIX)
     AFLAGS+=       -Wa,--divide
    -.endif
    +.endif # defined(__MINIX)
     
     STRIPFLAG=	# nothing
     
    @@ -51,7 +55,7 @@ ${PROG}: ${OBJS}
     	${_MKTARGET_LINK}
     	${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${PRIMARY_LOAD_ADDRESS} \
     	    ${OBJS}
    -	@ set -- $$( ${NM} -t d ${PROG}.tmp | grep 'free_space' \
    +	@ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\' \
     		| ${TOOL_SED} 's/^0*//'  ); \
     		echo "#### There are $$1 free bytes in ${PROG}"
     	${OBJCOPY} -O binary ${PROG}.tmp ${PROG}
    diff --git a/sys/arch/i386/stand/lib/Makefile.inc b/sys/arch/i386/stand/lib/Makefile.inc
    index b4a408244..12d5d3c3a 100644
    --- a/sys/arch/i386/stand/lib/Makefile.inc
    +++ b/sys/arch/i386/stand/lib/Makefile.inc
    @@ -13,7 +13,9 @@
     #		building.  See library's Makefile for more details about
     #		supported flags and their default values.
     
    +.if defined(__MINIX)
     USE_BITCODE=no
    +.endif # defined(__MINIX)
     
     # Default values:
     I386DST?=		${.OBJDIR}/lib/i386
    diff --git a/sys/arch/i386/stand/lib/biosdisk.c b/sys/arch/i386/stand/lib/biosdisk.c
    index 1f75e0f2e..6459ebb29 100644
    --- a/sys/arch/i386/stand/lib/biosdisk.c
    +++ b/sys/arch/i386/stand/lib/biosdisk.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: biosdisk.c,v 1.42 2012/07/03 15:24:37 tsutsui Exp $	*/
    +/*	$NetBSD: biosdisk.c,v 1.43 2013/10/31 20:31:04 christos Exp $	*/
     
     /*
      * Copyright (c) 1996, 1998
    @@ -118,6 +118,8 @@ static struct btinfo_bootdisk bi_disk;
     static struct btinfo_bootwedge bi_wedge;
     #endif
     
    +#define MBR_PARTS(buf) ((char *)(buf) + offsetof(struct mbr_sector, mbr_parts))
    +
     #define	RF_PROTECTED_SECTORS	64	/* XXX refer to <.../rf_optnames.h> */
     
     int
    @@ -231,7 +233,7 @@ check_gpt(struct biosdisk *d, daddr_t sector)
     		return EIO;
     	}
     
    -	gpth = *(const struct gpt_hdr *)d->buf;
    +	memcpy(&gpth, d->buf, sizeof(gpth));
     
     	if (memcmp(GPT_HDR_SIG, gpth.hdr_sig, sizeof(gpth.hdr_sig)))
     		return -1;
    @@ -423,7 +425,7 @@ read_minix_subp(struct biosdisk *d, struct disklabel* dflt_lbl,
     	if ((uint8_t)d->buf[510] != 0x55 || (uint8_t)d->buf[511] != 0xAA) {
     		return -1;
     	}
    -	memcpy(&mbr, ((struct mbr_sector *)d->buf)->mbr_parts, sizeof(mbr));
    +	memcpy(&mbr, MBR_PARTS(d->buf), sizeof(mbr));
     	for (i = 0; i < MBR_PART_COUNT; i++) {
     		typ = mbr[i].mbrp_type;
     		if (typ == 0)
    @@ -478,8 +480,7 @@ read_label(struct biosdisk *d)
     #endif
     			return EIO;
     		}
    -		memcpy(&mbr, ((struct mbr_sector *)d->buf)->mbr_parts,
    -		       sizeof(mbr));
    +		memcpy(&mbr, MBR_PARTS(d->buf), sizeof(mbr));
     		/* Look for NetBSD partition ID */
     		for (i = 0; i < MBR_PART_COUNT; i++) {
     			typ = mbr[i].mbrp_type;
    diff --git a/sys/arch/i386/stand/lib/boot_params.S b/sys/arch/i386/stand/lib/boot_params.S
    index 3363e446e..4ca7149c2 100644
    --- a/sys/arch/i386/stand/lib/boot_params.S
    +++ b/sys/arch/i386/stand/lib/boot_params.S
    @@ -9,7 +9,11 @@
     #endif
     	.long	5			/* timeout in seconds */
     	.long	0			/* console device 0 => CONSDEV_PC */
    +#if !defined(__minix)
    +	.long	9600			/* serial baud rate */
    +#else
     	.long	115200			/* serial baud rate */
    +#endif /* !defined(__minix) */
     	.space	16			/* md5 boot password */
     	.space	64			/* keyboard xlat map */
     	.long	0			/* console ioaddr */
    diff --git a/sys/arch/i386/stand/lib/bootinfo.h b/sys/arch/i386/stand/lib/bootinfo.h
    index df1d5aa3a..a888e3c49 100644
    --- a/sys/arch/i386/stand/lib/bootinfo.h
    +++ b/sys/arch/i386/stand/lib/bootinfo.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootinfo.h,v 1.9 2006/01/25 18:28:26 christos Exp $	*/
    +/*	$NetBSD: bootinfo.h,v 1.10 2013/11/18 03:52:45 jakllsch Exp $	*/
     
     /*
      * Copyright (c) 1997
    @@ -29,14 +29,14 @@
     #include 
     
     struct bootinfo {
    -	int nentries;
    -	physaddr_t entry[1];
    +	uint32_t nentries;
    +	uint32_t entry[1];
     };
     
     extern struct bootinfo *bootinfo;
     
     #define BI_ALLOC(max) (bootinfo = alloc(sizeof(struct bootinfo) \
    -                                        + ((max) - 1) * sizeof(physaddr_t))) \
    +                                        + ((max) - 1) * sizeof(uint32_t))) \
                           ->nentries = 0
     
     #define BI_FREE() dealloc(bootinfo, 0)
    diff --git a/sys/arch/i386/stand/lib/bootinfo_biosgeom.c b/sys/arch/i386/stand/lib/bootinfo_biosgeom.c
    index 43e8784d7..ccbfa6f2b 100644
    --- a/sys/arch/i386/stand/lib/bootinfo_biosgeom.c
    +++ b/sys/arch/i386/stand/lib/bootinfo_biosgeom.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootinfo_biosgeom.c,v 1.21 2010/12/25 01:19:33 jakllsch Exp $	*/
    +/*	$NetBSD: bootinfo_biosgeom.c,v 1.22 2013/05/16 19:06:44 christos Exp $	*/
     
     /*
      * Copyright (c) 1997
    @@ -169,8 +169,8 @@ bi_getbiosgeom(void)
     		for (j = 0, cksum = 0; j < BIOSDISK_DEFAULT_SECSIZE; j++)
     			cksum += buf[j];
     		bibg->disk[nvalid].cksum = cksum;
    -		memcpy(bibg->disk[nvalid].dosparts, &buf[MBR_PART_OFFSET],
    -		       sizeof(bibg->disk[nvalid].dosparts));
    +		memcpy(bibg->disk[nvalid].mbrparts, &buf[MBR_PART_OFFSET],
    +		       sizeof(bibg->disk[nvalid].mbrparts));
     		nvalid++;
     	}
     
    diff --git a/sys/arch/i386/stand/lib/bootmenu.c b/sys/arch/i386/stand/lib/bootmenu.c
    index f2e0a4dae..7ef65c871 100644
    --- a/sys/arch/i386/stand/lib/bootmenu.c
    +++ b/sys/arch/i386/stand/lib/bootmenu.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootmenu.c,v 1.10 2011/08/18 13:20:04 christos Exp $	*/
    +/*	$NetBSD: bootmenu.c,v 1.11 2013/07/28 08:50:09 he Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -41,6 +41,8 @@
     
     #define isnum(c) ((c) >= '0' && (c) <= '9')
     
    +static void docommandchoice(int);
    +
     extern struct x86_boot_params boot_params;
     extern	const char bootprog_name[], bootprog_rev[], bootprog_kernrev[];
     
    @@ -297,6 +299,53 @@ getchoicefrominput(char *input, int def)
     	return choice;
     }
     
    +static void
    +docommandchoice(int choice)
    +{
    +	char input[80], *ic, *oc;
    +
    +	ic = bootconf.command[choice];
    +	/* Split command string at ; into separate commands */
    +	do {
    +		oc = input;
    +		/* Look for ; separator */
    +		for (; *ic && *ic != COMMAND_SEPARATOR; ic++)
    +			*oc++ = *ic;
    +		if (*input == '\0')
    +			continue;
    +		/* Strip out any trailing spaces */
    +		oc--;
    +		for (; *oc == ' ' && oc > input; oc--);
    +		*++oc = '\0';
    +		if (*ic == COMMAND_SEPARATOR)
    +			ic++;
    +		/* Stop silly command strings like ;;; */
    +		if (*input != '\0')
    +			docommand(input);
    +		/* Skip leading spaces */
    +		for (; *ic == ' '; ic++);
    +	} while (*ic);
    +}
    +
    +void
    +bootdefault(void)
    +{
    +	int choice;
    +	static int entered;
    +
    +	if (bootconf.nummenu > 0) {
    +		if (entered) {
    +			printf("default boot twice, skipping...\n");
    +			return;
    +		}
    +		entered = 1;
    +		choice = bootconf.def;
    +		printf("command(s): %s\n", bootconf.command[choice]);
    +		docommandchoice(choice);
    +	}
    +}
    +
    +#if defined(__minix)
     static void
     showmenu(void)
     {
    @@ -317,30 +366,66 @@ showmenu(void)
     			    bootconf.desc[choice]);
     	}
     }
    +#endif /* defined(__minix) */
     
     void
     doboottypemenu(void)
     {
    +#if !defined(__minix)
    +	int choice;
    +	char input[80];
    +
    +	printf("\n");
    +	/* Display menu */
    +	if (bootconf.menuformat == MENUFORMAT_LETTER) {
    +		for (choice = 0; choice < bootconf.nummenu; choice++)
    +			printf("    %c. %s\n", choice + 'A',
    +			    bootconf.desc[choice]);
    +	} else {
    +		/* Can't use %2d format string with libsa */
    +		for (choice = 0; choice < bootconf.nummenu; choice++)
    +			printf("    %s%d. %s\n",
    +			    (choice < 9) ?  " " : "",
    +			    choice + 1,
    +			    bootconf.desc[choice]);
    +	}
    +#else
     	int choice, editing;
     	char input[256], *ic, *oc;
    -
    +#endif /* !defined(__minix) */
    +#if defined(__minix)
     	showmenu();
    +#endif /* defined(__minix) */
     	choice = -1;
    +#if defined(__minix)
     	editing = 0;
    +#endif /* defined(__minix) */
     	for (;;) {
     		input[0] = '\0';
     
     		if (bootconf.timeout < 0) {
     			if (bootconf.menuformat == MENUFORMAT_LETTER)
    +#if !defined(__minix)
    +				printf("\nOption: [%c]:",
    +#else
     				printf("\nOption%s: [%c]:",
     				    editing ? " (edit)" : "",
    +#endif /* !defined(__minix) */
     				    bootconf.def + 'A');
     			else
    +#if !defined(__minix)
    +				printf("\nOption: [%d]:",
    +#else
     				printf("\nOption%s: [%d]:",
     				    editing ? " (edit)" : "",
    +#endif /* !defined(__minix) */
     				    bootconf.def + 1);
     
    +#if !defined(__minix)
    +			gets(input);
    +#else
     			editline(input, sizeof(input), NULL);
    +#endif /* !defined(__minix) */
     			choice = getchoicefrominput(input, bootconf.def);
     		} else if (bootconf.timeout == 0)
     			choice = bootconf.def;
    @@ -362,6 +447,16 @@ doboottypemenu(void)
     		}
     		if (choice < 0)
     			continue;
    +#if !defined(__minix)
    +		if (!strcmp(bootconf.command[choice], "prompt") &&
    +		    ((boot_params.bp_flags & X86_BP_FLAGS_PASSWORD) == 0 ||
    +		    check_password((char *)boot_params.bp_password))) {
    +			printf("type \"?\" or \"help\" for help.\n");
    +			bootmenu(); /* does not return */
    +		} else {
    +			docommandchoice(choice);
    +		}
    +#else
     		ic = bootconf.command[choice];
     		if (editing) {
     			printf("> ");
    @@ -408,6 +503,7 @@ doboottypemenu(void)
     				for (; *ic == ' '; ic++);
     			} while (*ic);
     		}
    +#endif /* !defined(__minix) */
     
     	}
     }
    diff --git a/sys/arch/i386/stand/lib/bootmenu.h b/sys/arch/i386/stand/lib/bootmenu.h
    index 0a2053ddf..c4fd35b76 100644
    --- a/sys/arch/i386/stand/lib/bootmenu.h
    +++ b/sys/arch/i386/stand/lib/bootmenu.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootmenu.h,v 1.2 2008/12/13 23:30:54 christos Exp $	*/
    +/*	$NetBSD: bootmenu.h,v 1.3 2013/07/28 08:50:09 he Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -36,6 +36,7 @@
     
     void parsebootconf(const char *);
     void doboottypemenu(void);
    +void bootdefault(void);
     int atoi(const char *);
     
     struct bootconf_def {
    diff --git a/sys/arch/i386/stand/lib/bootmod.h b/sys/arch/i386/stand/lib/bootmod.h
    index 6be56535d..060b49c72 100644
    --- a/sys/arch/i386/stand/lib/bootmod.h
    +++ b/sys/arch/i386/stand/lib/bootmod.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootmod.h,v 1.5 2011/11/28 07:56:54 tls Exp $	*/
    +/*	$NetBSD: bootmod.h,v 1.6 2013/08/30 16:42:17 jmcneill Exp $	*/
     
     /*-
      * Copyright (c) 2008 Jared D. McNeill 
    @@ -36,6 +36,7 @@ typedef struct boot_module {
     #define	BM_TYPE_KMOD		0x00
     #define	BM_TYPE_IMAGE		0x01
     #define BM_TYPE_RND		0x02
    +#define BM_TYPE_FS		0x03
     	struct boot_module	*bm_next;
     } boot_module_t;
     
    diff --git a/sys/arch/i386/stand/lib/dosfile.c b/sys/arch/i386/stand/lib/dosfile.c
    index e2ab313e4..fe254f764 100644
    --- a/sys/arch/i386/stand/lib/dosfile.c
    +++ b/sys/arch/i386/stand/lib/dosfile.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dosfile.c,v 1.15 2011/06/16 13:27:59 joerg Exp $	 */
    +/*	$NetBSD: dosfile.c,v 1.16 2013/10/20 21:06:37 christos Exp $	 */
     
     /*
      * Copyright (c) 1996
    @@ -178,9 +178,6 @@ dos_write(struct open_file *f, void *start, size_t size, size_t *resid)
     __compactcall int
     dos_stat(struct open_file *f, struct stat *sb)
     {
    -	struct dosfile *df;
    -	df = (struct dosfile *) f->f_fsdata;
    -
     	sb->st_mode = 0444;
     	sb->st_nlink = 1;
     	sb->st_uid = 0;
    diff --git a/sys/arch/i386/stand/lib/exec.c b/sys/arch/i386/stand/lib/exec.c
    index 537dedf17..3c0b94c4b 100644
    --- a/sys/arch/i386/stand/lib/exec.c
    +++ b/sys/arch/i386/stand/lib/exec.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: exec.c,v 1.50 2012/05/21 21:34:16 dsl Exp $	 */
    +/*	$NetBSD: exec.c,v 1.55 2013/11/27 18:29:45 jakllsch Exp $	 */
     
     /*-
      * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
    @@ -97,7 +97,7 @@
     #include 
     #include 
     
    -#include 
    +#include 
     
     #include 
     #include 
    @@ -177,6 +177,12 @@ rnd_add(char *name)
     	return module_add_common(name, BM_TYPE_RND);
     }
     
    +void
    +fs_add(char *name)
    +{
    +	return module_add_common(name, BM_TYPE_FS);
    +}
    +
     static void
     module_add_common(char *name, uint8_t type)
     {
    @@ -343,7 +349,7 @@ int
     exec_netbsd(const char *file, physaddr_t loadaddr, int boothowto, int floppy,
     	    void (*callback)(void))
     {
    -	u_long          boot_argv[BOOT_NARGS];
    +	uint32_t	boot_argv[BOOT_NARGS];
     	u_long		marks[MARK_MAX];
     	struct btinfo_symtab btinfo_symtab;
     	u_long		extmem;
    @@ -576,7 +582,7 @@ module_init(const char *kernel_path)
     		if (fd == -1)
     			continue;
     		image_end = (image_end + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1);
    -		len = pread(fd, (void *)image_end, SSIZE_MAX);
    +		len = pread(fd, (void *)(uintptr_t)image_end, SSIZE_MAX);
     		if (len < bm->bm_len) {
     			if ((howto & AB_SILENT) != 0)
     				printf("Loading %s ", bm->bm_path);
    @@ -595,6 +601,9 @@ module_init(const char *kernel_path)
     			    case BM_TYPE_IMAGE:
     				bi->type = BI_MODULE_IMAGE;
     				break;
    +			    case BM_TYPE_FS:
    +				bi->type = BI_MODULE_FS;
    +				break;
     			    case BM_TYPE_RND:
     			    default:
     				/* safest -- rnd checks the sha1 */
    @@ -631,7 +640,7 @@ userconf_init(void)
     	count = 0;
     	for (uc = userconf_commands; uc != NULL; uc = uc->uc_next)
     		count++;
    -	len = sizeof(btinfo_userconfcommands) +
    +	len = sizeof(*btinfo_userconfcommands) +
     	      count * sizeof(struct bi_userconfcommand);
     
     	/* Allocate the userconf commands list */
    diff --git a/sys/arch/i386/stand/lib/libi386.h b/sys/arch/i386/stand/lib/libi386.h
    index a0a8cccf7..81bff11d8 100644
    --- a/sys/arch/i386/stand/lib/libi386.h
    +++ b/sys/arch/i386/stand/lib/libi386.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: libi386.h,v 1.38 2011/11/28 07:56:54 tls Exp $	*/
    +/*	$NetBSD: libi386.h,v 1.40 2013/11/24 17:20:00 jakllsch Exp $	*/
     
     /*
      * Copyright (c) 1996
    @@ -35,7 +35,7 @@ void pbzero(void *, size_t);
     physaddr_t vtophys(void *);
     
     ssize_t pread(int, void *, size_t);
    -void startprog(physaddr_t, int, unsigned long *, physaddr_t);
    +void startprog(physaddr_t, uint32_t, uint32_t *, physaddr_t);
     void multiboot(physaddr_t, physaddr_t, physaddr_t);
     
     int exec_netbsd(const char *, physaddr_t, int, int, void (*)(void));
    @@ -95,7 +95,7 @@ void docommand(char *);
     #if defined(__minix)
     void editline(char *, size_t, char *);
     void prompt(int);
    -#endif
    +#endif /* defined(__minix) */
     
     /* in "user code": */
     void command_help(char *);
    @@ -120,7 +120,7 @@ void conclr(void);
     
     #if defined(__minix)
     int getchar_ex(void);
    -#endif
    +#endif /* defined(__minix) */
     
     int getextmem2(int *);
     __compactcall int getextmemps2(void *);
    @@ -147,6 +147,7 @@ extern int doserrno;	/* in dos_file.S */
     void module_add(char *);
     void splash_add(char *);
     void rnd_add(char *);
    +void fs_add(char *);
     void userconf_add(char *);
     
     struct btinfo_framebuffer;
    diff --git a/sys/arch/i386/stand/lib/menuutils.c b/sys/arch/i386/stand/lib/menuutils.c
    index a80e52a42..8c1aa0640 100644
    --- a/sys/arch/i386/stand/lib/menuutils.c
    +++ b/sys/arch/i386/stand/lib/menuutils.c
    @@ -62,7 +62,11 @@ docommand(char *arg)
     }
     
     void
    +#if !defined(__minix)
    +bootmenu(void)
    +#else
     prompt(int allowreturn)
    +#endif /* !defined(__minix) */
     {
     	char input[80];
     
    @@ -71,20 +75,27 @@ prompt(int allowreturn)
     
     		input[0] = '\0';
     		printf("> ");
    +#if !defined(__minix)
    +		gets(input);
    +#else
     		editline(input, sizeof(input), NULL);
    +#endif /* !defined(__minix) */
     
     		/*
     		 * Skip leading whitespace.
     		 */
     		while (*c == ' ')
     			c++;
    +#if defined(__minix)
     		if (allowreturn && !strcmp(c, "menu"))
     			break;
    +#endif /* defined(__minix) */
     		if (*c)
     			docommand(c);
     	}
     }
     
    +#if defined(__minix)
     void
     bootmenu(void)
     {
    @@ -196,3 +207,4 @@ editline(char *buf, size_t size, char *input)
     	}
     	/*NOTREACHED*/
     }
    +#endif /* defined(__minix) */
    diff --git a/sys/arch/i386/stand/lib/pcio.c b/sys/arch/i386/stand/lib/pcio.c
    index f45724451..aaa1e27df 100644
    --- a/sys/arch/i386/stand/lib/pcio.c
    +++ b/sys/arch/i386/stand/lib/pcio.c
    @@ -259,7 +259,11 @@ putchar(int c)
     }
     
     int
    +#if !defined(__minix)
    +getchar(void)
    +#else
     getchar_ex(void)
    +#endif /* !defined(__minix) */
     {
     	int c;
     #ifdef SUPPORT_SERIAL
    @@ -272,9 +276,17 @@ getchar_ex(void)
     		c = congetc();
     #ifdef CONSOLE_KEYMAP
     		{
    +#if !defined(__minix)
    +			char *cp = strchr(CONSOLE_KEYMAP, c);
    +#else
     			char *cp = strchr(CONSOLE_KEYMAP, c & 0xff);
    +#endif /* !defined(__minix) */
     			if (cp != 0 && cp[1] != 0)
    +#if !defined(__minix)
    +				c = cp[1];
    +#else
     				c = cp[1] | (c & 0xff00);
    +#endif /* !defined(__minix) */
     		}
     #endif
     		return c;
    @@ -302,11 +314,13 @@ getchar_ex(void)
     #endif /* SUPPORT_SERIAL */
     }
     
    +#if defined(__minix)
     int
     getchar(void)
     {
     	return getchar_ex() & 0xff;
     }
    +#endif /* defined(__minix) */
     
     int
     iskey(int intr)
    diff --git a/sys/arch/i386/stand/lib/vbe.c b/sys/arch/i386/stand/lib/vbe.c
    index e2141bf44..cad36615a 100644
    --- a/sys/arch/i386/stand/lib/vbe.c
    +++ b/sys/arch/i386/stand/lib/vbe.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: vbe.c,v 1.7 2011/02/09 04:37:54 jmcneill Exp $ */
    +/* $NetBSD: vbe.c,v 1.8 2013/05/31 15:11:07 tsutsui Exp $ */
     
     /*-
      * Copyright (c) 2009 Jared D. McNeill 
    @@ -414,6 +414,6 @@ command_vesa(char *cmd)
     		return;
     	}
     
    -	printf("invalid flag, must be 'on', 'off', "
    +	printf("invalid flag, must be 'on', 'off', 'list', "
     	    "a display mode, or a VBE mode number\n");
     }
    diff --git a/sys/arch/i386/stand/mbr/Makefile.mbr b/sys/arch/i386/stand/mbr/Makefile.mbr
    index 74ccf0c46..59743b2a6 100644
    --- a/sys/arch/i386/stand/mbr/Makefile.mbr
    +++ b/sys/arch/i386/stand/mbr/Makefile.mbr
    @@ -35,7 +35,7 @@ BUILDSYMLINKS+= \
     	${NETBSDSRCDIR}/include/arch/i386/include/fpu.h machine/fpu.h
     
     DPSRCS+= machine/stackframe.h  machine/fpu.h
    -.endif
    +.endif # defined(__MINIX)
     
     .if ${MACHINE_ARCH} == "x86_64"
     LDFLAGS+=	-Wl,-m,elf_i386
    @@ -57,7 +57,7 @@ AFLAGS.gpt.S= ${${ACTIVE_CC} == "clang":?-no-integrated-as:}
     ${PROG}: ${OBJS}
     	${_MKTARGET_LINK}
     	${CC} -o ${PROG}.tmp ${LDFLAGS} -Wl,-Ttext,${LOADADDR} ${OBJS}
    -	@ set -- $$( ${NM} -t d ${PROG}.tmp | grep 'mbr_space' \
    +	@ set -- $$( ${NM} -t d ${PROG}.tmp | grep '\' \
     		    | ${TOOL_SED} 's/^0*//'  ); \
     		echo "#### There are $$1 free bytes in ${PROG}"
     	${OBJCOPY} -O binary ${PROG}.tmp ${PROG}
    diff --git a/sys/arch/i386/stand/mbr/mbr.S b/sys/arch/i386/stand/mbr/mbr.S
    index 43281ce3d..936917a03 100644
    --- a/sys/arch/i386/stand/mbr/mbr.S
    +++ b/sys/arch/i386/stand/mbr/mbr.S
    @@ -515,14 +515,14 @@ do_read:
     */
     	movl	%ebp, %esi
     	pop	%dx			/* recover drive # */
    -#ifdef __minix
    +#if defined(__minix)
     	/* There some bug in MINIX tools, which causes to
     	 * generate wrong code for "jmp BOOTADDR" (relocation issue).
     	 */
     	jmp	start - LOADADDR + BOOTADDR
     #else
     	jmp	BOOTADDR
    -#endif
    +#endif /* defined(__minix) */
     
     
     #ifndef NO_CHS
    diff --git a/sys/arch/x86/include/bootinfo.h b/sys/arch/x86/include/bootinfo.h
    index 316a57175..d79eb5f24 100644
    --- a/sys/arch/x86/include/bootinfo.h
    +++ b/sys/arch/x86/include/bootinfo.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootinfo.h,v 1.19 2011/11/28 07:56:54 tls Exp $	*/
    +/*	$NetBSD: bootinfo.h,v 1.23 2013/08/30 16:42:17 jmcneill Exp $	*/
     
     /*
      * Copyright (c) 1997
    @@ -157,7 +157,7 @@ struct bi_biosgeom_entry {
     	unsigned int	cksum;			/* MBR checksum */
     	int		res0, res1, res2, res3;	/* future expansion; 0 now */
     #endif
    -	struct mbr_partition dosparts[MBR_PART_COUNT]; /* MBR itself */
    +	struct mbr_partition mbrparts[MBR_PART_COUNT]; /* MBR itself */
     } __packed;
     
     struct btinfo_biosgeom {
    @@ -176,6 +176,7 @@ struct bi_modulelist_entry {
     #define	BI_MODULE_ELF		0x01
     #define	BI_MODULE_IMAGE		0x02
     #define BI_MODULE_RND		0x03
    +#define BI_MODULE_FS		0x04
     
     struct btinfo_modulelist {
     	struct btinfo_common common;
    diff --git a/sys/arch/x86/include/cacheinfo.h b/sys/arch/x86/include/cacheinfo.h
    index 435f343e5..30dd14ba3 100644
    --- a/sys/arch/x86/include/cacheinfo.h
    +++ b/sys/arch/x86/include/cacheinfo.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cacheinfo.h,v 1.13 2011/12/04 17:00:10 chs Exp $	*/
    +/*	$NetBSD: cacheinfo.h,v 1.17 2013/10/28 05:41:49 msaitoh Exp $	*/
     
     #ifndef _X86_CACHEINFO_H_
     #define _X86_CACHEINFO_H_
    @@ -8,7 +8,10 @@ struct x86_cache_info {
     	uint8_t		cai_desc;
     	uint8_t		cai_associativity;
     	u_int		cai_totalsize; /* #entries for TLB, bytes for cache */
    -	u_int		cai_linesize;	/* or page size for TLB */
    +	u_int		cai_linesize;	/*
    +					 * or page size for TLB,
    +					 * or prefetch size
    +					 */
     #ifndef _KERNEL
     	const char	*cai_string;
     #endif
    @@ -30,8 +33,11 @@ struct x86_cache_info {
     #define CAI_L2_ITLB2	13		/* L2 Instruction TLB (2/4M pages) */
     #define CAI_L2_DTLB	14		/* L2 Data TLB (4K pages) */
     #define CAI_L2_DTLB2	15		/* L2 Data TLB (2/4M pages) */
    +#define CAI_L2_STLB	16		/* Shared L2 TLB (4K pages) */
    +#define CAI_L2_STLB2	17		/* Shared L2 TLB (4K/2M pages) */
    +#define CAI_PREFETCH	18		/* Prefetch */
     
    -#define	CAI_COUNT	16
    +#define	CAI_COUNT	19
     
     /*
      * AMD Cache Info:
    @@ -209,33 +215,53 @@ struct x86_cache_info {
      */
     #define INTEL_CACHE_INFO { \
     __CI_TBL(CAI_ITLB,     0x01,    4, 32,        4 * 1024, NULL), \
    -__CI_TBL(CAI_ITLB,     0xb0,    4,128,        4 * 1024, NULL), \
     __CI_TBL(CAI_ITLB2,    0x02, 0xff,  2, 4 * 1024 * 1024, NULL), \
     __CI_TBL(CAI_DTLB,     0x03,    4, 64,        4 * 1024, NULL), \
    -__CI_TBL(CAI_DTLB,     0xb3,    4,128,        4 * 1024, NULL), \
    -__CI_TBL(CAI_DTLB,     0xb4,    4,256,        4 * 1024, NULL), \
     __CI_TBL(CAI_DTLB2,    0x04,    4,  8, 4 * 1024 * 1024, NULL), \
     __CI_TBL(CAI_DTLB2,    0x05,    4, 32, 4 * 1024 * 1024, NULL), \
    +__CI_TBL(CAI_ITLB2,    0x0b,    4,  4, 4 * 1024 * 1024, NULL), \
    +__CI_TBL(CAI_ITLB,     0x4f, 0xff, 32,        4 * 1024, NULL), \
     __CI_TBL(CAI_ITLB,     0x50, 0xff, 64,        4 * 1024, "4K/4M: 64 entries"), \
     __CI_TBL(CAI_ITLB,     0x51, 0xff, 64,        4 * 1024, "4K/4M: 128 entries"),\
     __CI_TBL(CAI_ITLB,     0x52, 0xff, 64,        4 * 1024, "4K/4M: 256 entries"),\
     __CI_TBL(CAI_ITLB,     0x55, 0xff, 64,        4 * 1024, "2M/4M: 7 entries"), \
     __CI_TBL(CAI_DTLB2,    0x56,    4, 16, 4 * 1024 * 1024, NULL), \
     __CI_TBL(CAI_DTLB2,    0x57,    4, 16,        4 * 1024, NULL), \
    +__CI_TBL(CAI_DTLB2,    0x59, 0xff, 16,        4 * 1024, NULL), \
     __CI_TBL(CAI_DTLB,     0x5a, 0xff, 64,        4 * 1024, "2M/4M: 32 entries (L0)"), \
     __CI_TBL(CAI_DTLB,     0x5b, 0xff, 64,        4 * 1024, "4K/4M: 64 entries"), \
     __CI_TBL(CAI_DTLB,     0x5c, 0xff, 64,        4 * 1024, "4K/4M: 128 entries"),\
     __CI_TBL(CAI_DTLB,     0x5d, 0xff, 64,        4 * 1024, "4K/4M: 256 entries"),\
    +__CI_TBL(CAI_ITLB,     0x61, 0xff, 48,        4 * 1024, NULL), \
    +__CI_TBL(CAI_L1_1GBDTLB,0x63,   4,  4,1024*1024 * 1024, NULL), \
    +__CI_TBL(CAI_ITLB2,    0x76, 0xff,  8, 4 * 1024 * 1024, "2M/4M: 8 entries"), \
    +__CI_TBL(CAI_ITLB,     0xb0,    4,128,        4 * 1024, NULL), \
     __CI_TBL(CAI_ITLB,     0xb1,    4, 64,               0, "8 2M/4 4M entries"), \
     __CI_TBL(CAI_ITLB,     0xb2,    4, 64,        4 * 1024, NULL), \
    +__CI_TBL(CAI_DTLB,     0xb3,    4,128,        4 * 1024, NULL), \
    +__CI_TBL(CAI_DTLB,     0xb4,    4,256,        4 * 1024, NULL), \
    +__CI_TBL(CAI_ITLB,     0xb5,    8, 64,        4 * 1024, NULL), \
    +__CI_TBL(CAI_ITLB,     0xb6,    8,128,        4 * 1024, NULL), \
    +__CI_TBL(CAI_DTLB,     0xba,    4, 64,        4 * 1024, NULL), \
    +__CI_TBL(CAI_DTLB,     0xc0,    4,  8,        4 * 1024, "4K/4M: 8 entries"), \
    +__CI_TBL(CAI_L2_STLB2, 0xc1,    8,1024,       4 * 1024, "4K/2M: 1024 entries"), \
    +__CI_TBL(CAI_DTLB,     0xc2,    4, 16,        4 * 1024, "2M/4M: 16 entries"), \
    +__CI_TBL(CAI_L2_STLB,  0xca,    4,512,        4 * 1024, "4K/4M: 512 entries"), \
     __CI_TBL(CAI_ICACHE,   0x06,    4,        8 * 1024, 32, NULL), \
     __CI_TBL(CAI_ICACHE,   0x08,    4,       16 * 1024, 32, NULL), \
     __CI_TBL(CAI_ICACHE,   0x09,    4,       32 * 1024, 64, NULL), \
    -__CI_TBL(CAI_ICACHE,   0x30,    8,       32 * 1024, 64, NULL), \
     __CI_TBL(CAI_DCACHE,   0x0a,    2,        8 * 1024, 32, NULL), \
     __CI_TBL(CAI_DCACHE,   0x0c,    4,       16 * 1024, 32, NULL), \
    -__CI_TBL(CAI_DCACHE,   0x0d,    4,       16 * 1024, 32, NULL), \
    +__CI_TBL(CAI_DCACHE,   0x0d,    4,       16 * 1024, 64, NULL), \
    +__CI_TBL(CAI_DCACHE,   0x0e,    6,       24 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x21,    8,      256 * 1024, 64, NULL), /* L2 (MLC) */ \
    +__CI_TBL(CAI_L3CACHE,  0x22, 0xff,      512 * 1024, 64, "sectored, 4-way "), \
    +__CI_TBL(CAI_L3CACHE,  0x23, 0xff, 1 * 1024 * 1024, 64, "sectored, 8-way "), \
    +__CI_TBL(CAI_L2CACHE,  0x24,   16, 1 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x25, 0xff, 2 * 1024 * 1024, 64, "sectored, 8-way "), \
    +__CI_TBL(CAI_L3CACHE,  0x29, 0xff, 4 * 1024 * 1024, 64, "sectored, 8-way "), \
    +__CI_TBL(CAI_DCACHE,   0x2c,    8,       32 * 1024, 64, NULL), \
    +__CI_TBL(CAI_ICACHE,   0x30,    8,       32 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x39,    4,      128 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x3a,    6,      192 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x3b,    2,      128 * 1024, 64, NULL), \
    @@ -248,15 +274,21 @@ __CI_TBL(CAI_L2CACHE,  0x42,    4,      256 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x43,    4,      512 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x44,    4, 1 * 1024 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x45,    4, 2 * 1024 * 1024, 32, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x46,    4, 4 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x47,    8, 8 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x48,   12, 3 * 1024 * 1024, 64, NULL), \
     								\
     /* 0x49 Is L2 on Xeon MP (Family 0f, Model 06), L3 otherwise */	\
     __CI_TBL(CAI_L2CACHE,  0x49,   16, 4 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x49,   16, 4 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x4a,   12, 6 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x4b,   16, 8 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x4c,   12,12 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0x4d,   16,16 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x4e,   24, 6 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_DCACHE,   0x60,    8,       16 * 1024, 64, NULL), \
     __CI_TBL(CAI_DCACHE,   0x66,    4,        8 * 1024, 64, NULL), \
     __CI_TBL(CAI_DCACHE,   0x67,    4,       16 * 1024, 64, NULL), \
    -__CI_TBL(CAI_DCACHE,   0x2c,    8,       32 * 1024, 64, NULL), \
     __CI_TBL(CAI_DCACHE,   0x68,    4,       32 * 1024, 64, NULL), \
     __CI_TBL(CAI_ICACHE,   0x70,    8,       12 * 1024, 64, "12K uOp cache"), \
     __CI_TBL(CAI_ICACHE,   0x71,    8,       16 * 1024, 64, "16K uOp cache"), \
    @@ -269,23 +301,13 @@ __CI_TBL(CAI_L2CACHE,  0x7b,    8,      512 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x7c,    8, 1 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x7d,    8, 2 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x7f,    2,      512 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L2CACHE,  0x80,    8,      512 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x82,    8,      256 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x83,    8,      512 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x84,    8, 1 * 1024 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x85,    8, 2 * 1024 * 1024, 32, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x86,    4,      512 * 1024, 64, NULL), \
     __CI_TBL(CAI_L2CACHE,  0x87,    8, 1 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x22, 0xff,      512 * 1024, 64, "sectored, 4-way "), \
    -__CI_TBL(CAI_L3CACHE,  0x23, 0xff, 1 * 1024 * 1024, 64, "sectored, 8-way "), \
    -__CI_TBL(CAI_L3CACHE,  0x25, 0xff, 2 * 1024 * 1024, 64, "sectored, 8-way "), \
    -__CI_TBL(CAI_L3CACHE,  0x29, 0xff, 4 * 1024 * 1024, 64, "sectored, 8-way "), \
    -__CI_TBL(CAI_L3CACHE,  0x46,    4, 4 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x47,    8, 8 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x49,   16, 4 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x4a,   12, 6 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x4b,   16, 8 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x4c,   12,12 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0x4d,   16,16 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xd0,    4,      512 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xd1,    4, 1 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xd2,    4, 2 * 1024 * 1024, 64, NULL), \
    @@ -299,8 +321,11 @@ __CI_TBL(CAI_L3CACHE,  0xe2,   16, 2 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xe3,   16, 4 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xe4,   16, 8 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xea,   24,12 * 1024 * 1024, 64, NULL), \
    -__CI_TBL(CAI_L3CACHE,  0xeb,   24,24 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_L3CACHE,  0xeb,   24,18 * 1024 * 1024, 64, NULL), \
     __CI_TBL(CAI_L3CACHE,  0xec,   24,24 * 1024 * 1024, 64, NULL), \
    +__CI_TBL(CAI_PREFETCH, 0xf0,    0,               0, 64, NULL), \
    +__CI_TBL(CAI_PREFETCH, 0xf1,    0,               0,128, NULL), \
    +/* 0xff means no cache information in CPUID leaf 2 (and use leaf 4) */ \
     __CI_TBL(0,               0,    0,               0,  0, NULL)  \
     }
     
    diff --git a/sys/arch/x86/include/cpu.h b/sys/arch/x86/include/cpu.h
    index bffe012da..e568d515b 100644
    --- a/sys/arch/x86/include/cpu.h
    +++ b/sys/arch/x86/include/cpu.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cpu.h,v 1.52 2012/07/15 15:17:56 dsl Exp $	*/
    +/*	$NetBSD: cpu.h,v 1.58 2013/12/01 01:05:16 christos Exp $	*/
     
     /*-
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -75,7 +75,6 @@
     
     struct intrsource;
     struct pmap;
    -struct device;
     
     #ifdef __x86_64__
     #define	i386tss	x86_64_tss
    @@ -287,8 +286,8 @@ struct cpu_info {
     extern struct cpu_info cpu_info_primary;
     extern struct cpu_info *cpu_info_list;
     
    -#define	CPU_INFO_ITERATOR		int
    -#define	CPU_INFO_FOREACH(cii, ci)	cii = 0, ci = cpu_info_list; \
    +#define	CPU_INFO_ITERATOR		int __unused
    +#define	CPU_INFO_FOREACH(cii, ci)	ci = cpu_info_list; \
     					ci != NULL; ci = ci->ci_next
     
     #define CPU_STARTUP(_ci, _target)	((_ci)->ci_func->start(_ci, _target))
    diff --git a/sys/arch/x86/include/cpu_ucode.h b/sys/arch/x86/include/cpu_ucode.h
    index 86a80f6ef..696853f98 100644
    --- a/sys/arch/x86/include/cpu_ucode.h
    +++ b/sys/arch/x86/include/cpu_ucode.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: cpu_ucode.h,v 1.2 2012/08/29 17:13:22 drochner Exp $ */
    +/* $NetBSD: cpu_ucode.h,v 1.3 2012/10/17 20:19:55 drochner Exp $ */
     /*
      * Copyright (c) 2012 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -48,8 +48,9 @@ struct cpu_ucode_version_intel1 {
     #include 
     
     int cpu_ucode_amd_get_version(struct cpu_ucode_version *);
    -/* XXX COMPAT */
    +#ifdef COMPAT_60
     int compat6_cpu_ucode_amd_get_version(struct compat6_cpu_ucode *);
    +#endif
     int cpu_ucode_amd_firmware_open(firmware_handle_t *, const char *);
     int cpu_ucode_amd_apply(struct cpu_ucode_softc *, int);
     
    diff --git a/sys/arch/x86/include/float.h b/sys/arch/x86/include/float.h
    index 5f5d8afb2..fff09f9e7 100644
    --- a/sys/arch/x86/include/float.h
    +++ b/sys/arch/x86/include/float.h
    @@ -1,8 +1,10 @@
    -/*	$NetBSD: float.h,v 1.5 2003/10/23 23:26:06 kleink Exp $	*/
    +/*	$NetBSD: float.h,v 1.6 2013/04/27 21:35:25 joerg Exp $	*/
     
     #ifndef _X86_FLOAT_H_
     #define _X86_FLOAT_H_
     
    +#include 
    +
     #define	LDBL_MANT_DIG	64
     #define LDBL_EPSILON	1.0842021724855044340E-19L
     #define LDBL_DIG	18
    diff --git a/sys/arch/x86/include/i82093reg.h b/sys/arch/x86/include/i82093reg.h
    index beb9edb2e..ac9eb11f0 100644
    --- a/sys/arch/x86/include/i82093reg.h
    +++ b/sys/arch/x86/include/i82093reg.h
    @@ -1,4 +1,4 @@
    -/* 	$NetBSD: i82093reg.h,v 1.3 2011/08/17 14:55:11 dyoung Exp $ */
    +/* 	$NetBSD: i82093reg.h,v 1.4 2013/01/26 17:37:39 dyoung Exp $ */
     
     /*-
      * Copyright (c) 2000 The NetBSD Foundation, Inc.
    @@ -36,34 +36,6 @@
      */
     #define IOAPIC_BASE_DEFAULT	0xfec00000
     
    -#define IOAPIC_MSIADDR_BASE		0xfee00000
    -#define	IOAPIC_MSIADDR_DSTID_MASK	__BITS(19, 12)
    -#define	IOAPIC_MSIADDR_RSVD0_MASK	__BITS(11, 4)
    -#define	IOAPIC_MSIADDR_RH		__BIT(3)
    -#define	IOAPIC_MSIADDR_DM		__BIT(2)
    -#define	IOAPIC_MSIADDR_RSVD1_MASK	__BITS(1, 0)
    -
    -#define	IOAPIC_MSIDATA_VECTOR_MASK	__BITS(7, 0)
    -#define	IOAPIC_MSIDATA_DM_MASK		__BITS(10, 8)
    -#define	IOAPIC_MSIDATA_DM_FIXED		__SHIFTIN(0, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_LOPRI		__SHIFTIN(1, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_SMI		__SHIFTIN(2, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_RSVD0		__SHIFTIN(3, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_NMI		__SHIFTIN(4, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_INIT		__SHIFTIN(5, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_RSVD1		__SHIFTIN(6, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_DM_EXTINT	__SHIFTIN(7, IOAPIC_MSIDATA_DM_MASK)
    -#define	IOAPIC_MSIDATA_RSVD0_MASK	__BITS(13, 11)
    -#define	IOAPIC_MSIDATA_LEVEL_MASK	__BIT(14)
    -#define	IOAPIC_MSIDATA_LEVEL_DEASSERT	__SHIFTIN(0, IOAPIC_MSIDATA_LEVEL_MASK)
    -#define	IOAPIC_MSIDATA_LEVEL_ASSERT	__SHIFTIN(1, IOAPIC_MSIDATA_LEVEL_MASK)
    -#define	IOAPIC_MSIDATA_TRGMODE_MASK	__BIT(15)
    -#define	IOAPIC_MSIDATA_TRGMODE_EDGE	\
    -    __SHIFTIN(0, IOAPIC_MSIDATA_TRGMODE_MASK)
    -#define	IOAPIC_MSIDATA_TRGMODE_LEVEL	\
    -    __SHIFTIN(1, IOAPIC_MSIDATA_TRGMODE_MASK)
    -#define	IOAPIC_MSIDATA_RSVD1_MASK	__BITS(31, 16)
    -
     /*
      * Memory-space registers.
      */
    diff --git a/sys/arch/x86/include/i82489reg.h b/sys/arch/x86/include/i82489reg.h
    index 7563fe114..fdc50c364 100644
    --- a/sys/arch/x86/include/i82489reg.h
    +++ b/sys/arch/x86/include/i82489reg.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: i82489reg.h,v 1.11 2012/01/20 18:47:04 hannken Exp $	*/
    +/*	$NetBSD: i82489reg.h,v 1.12 2013/01/26 17:37:39 dyoung Exp $	*/
     
     /*-
      * Copyright (c) 1998, 2008 The NetBSD Foundation, Inc.
    @@ -139,6 +139,32 @@
     #	define LAPIC_DCRT_DIV64		0x09
     #	define LAPIC_DCRT_DIV128	0x0a
     
    +#define LAPIC_MSIADDR_BASE		0xfee00000
    +#define	LAPIC_MSIADDR_DSTID_MASK	__BITS(19, 12)
    +#define	LAPIC_MSIADDR_RSVD0_MASK	__BITS(11, 4)
    +#define	LAPIC_MSIADDR_RH		__BIT(3)
    +#define	LAPIC_MSIADDR_DM		__BIT(2)
    +#define	LAPIC_MSIADDR_RSVD1_MASK	__BITS(1, 0)
    +
    +#define	LAPIC_MSIDATA_VECTOR_MASK	__BITS(7, 0)
    +#define	LAPIC_MSIDATA_DM_MASK		__BITS(10, 8)
    +#define	LAPIC_MSIDATA_DM_FIXED		__SHIFTIN(0, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_LOPRI		__SHIFTIN(1, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_SMI		__SHIFTIN(2, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_RSVD0		__SHIFTIN(3, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_NMI		__SHIFTIN(4, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_INIT		__SHIFTIN(5, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_RSVD1		__SHIFTIN(6, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_DM_EXTINT	__SHIFTIN(7, LAPIC_MSIDATA_DM_MASK)
    +#define	LAPIC_MSIDATA_RSVD0_MASK	__BITS(13, 11)
    +#define	LAPIC_MSIDATA_LEVEL_MASK	__BIT(14)
    +#define	LAPIC_MSIDATA_LEVEL_DEASSERT	__SHIFTIN(0, LAPIC_MSIDATA_LEVEL_MASK)
    +#define	LAPIC_MSIDATA_LEVEL_ASSERT	__SHIFTIN(1, LAPIC_MSIDATA_LEVEL_MASK)
    +#define	LAPIC_MSIDATA_TRGMODE_MASK	__BIT(15)
    +#define	LAPIC_MSIDATA_TRGMODE_EDGE	__SHIFTIN(0, LAPIC_MSIDATA_TRGMODE_MASK)
    +#define	LAPIC_MSIDATA_TRGMODE_LEVEL	__SHIFTIN(1, LAPIC_MSIDATA_TRGMODE_MASK)
    +#define	LAPIC_MSIDATA_RSVD1_MASK	__BITS(31, 16)
    +
     #define LAPIC_BASE		0xfee00000
     
     #define LAPIC_IRQ_MASK(i)	(1 << ((i) + 1))
    diff --git a/sys/arch/x86/include/intrdefs.h b/sys/arch/x86/include/intrdefs.h
    index b481a94cb..2d90fd3bb 100644
    --- a/sys/arch/x86/include/intrdefs.h
    +++ b/sys/arch/x86/include/intrdefs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: intrdefs.h,v 1.17 2011/11/06 11:40:47 cherry Exp $	*/
    +/*	$NetBSD: intrdefs.h,v 1.19 2013/12/01 01:05:16 christos Exp $	*/
     
     #ifndef _X86_INTRDEFS_H_
     #define _X86_INTRDEFS_H_
    diff --git a/sys/arch/x86/include/lock.h b/sys/arch/x86/include/lock.h
    index 543b1c72b..f73858a5d 100644
    --- a/sys/arch/x86/include/lock.h
    +++ b/sys/arch/x86/include/lock.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lock.h,v 1.26 2012/10/11 11:12:21 apb Exp $	*/
    +/*	$NetBSD: lock.h,v 1.27 2013/01/22 22:09:44 christos Exp $	*/
     
     /*-
      * Copyright (c) 2000, 2006 The NetBSD Foundation, Inc.
    @@ -65,33 +65,25 @@ __cpu_simple_lock_clear(__cpu_simple_lock_t *__ptr)
     }
     
     #ifdef _HARDKERNEL
    +# include 
    +# define SPINLOCK_SPIN_HOOK	/* nothing */
    +# ifdef SPINLOCK_BACKOFF_HOOK
    +#  undef SPINLOCK_BACKOFF_HOOK
    +# endif
    +# define SPINLOCK_BACKOFF_HOOK	x86_pause()
    +# define SPINLOCK_INLINE
    +#else /* !_HARDKERNEL */
    +# define SPINLOCK_BODY
    +# define SPINLOCK_INLINE static __inline __unused
    +#endif /* _HARDKERNEL */
     
    -#include 
    +SPINLOCK_INLINE void	__cpu_simple_lock_init(__cpu_simple_lock_t *);
    +SPINLOCK_INLINE void	__cpu_simple_lock(__cpu_simple_lock_t *);
    +SPINLOCK_INLINE int	__cpu_simple_lock_try(__cpu_simple_lock_t *);
    +SPINLOCK_INLINE void	__cpu_simple_unlock(__cpu_simple_lock_t *);
     
    -void	__cpu_simple_lock_init(__cpu_simple_lock_t *);
    -void	__cpu_simple_lock(__cpu_simple_lock_t *);
    -int	__cpu_simple_lock_try(__cpu_simple_lock_t *);
    -void	__cpu_simple_unlock(__cpu_simple_lock_t *);
    -
    -#define	SPINLOCK_SPIN_HOOK	/* nothing */
    -
    -#ifdef SPINLOCK_BACKOFF_HOOK
    -#undef SPINLOCK_BACKOFF_HOOK
    -#endif
    -#define	SPINLOCK_BACKOFF_HOOK	x86_pause()
    -
    -#else
    -
    -static __inline void __cpu_simple_lock_init(__cpu_simple_lock_t *)
    -	__unused;
    -static __inline void __cpu_simple_lock(__cpu_simple_lock_t *)
    -	__unused;
    -static __inline int __cpu_simple_lock_try(__cpu_simple_lock_t *)
    -	__unused;
    -static __inline void __cpu_simple_unlock(__cpu_simple_lock_t *)
    -	__unused;
    -
    -static __inline void
    +#ifdef SPINLOCK_BODY
    +SPINLOCK_INLINE void
     __cpu_simple_lock_init(__cpu_simple_lock_t *lockp)
     {
     
    @@ -99,7 +91,7 @@ __cpu_simple_lock_init(__cpu_simple_lock_t *lockp)
     	__insn_barrier();
     }
     
    -static __inline int
    +SPINLOCK_INLINE int
     __cpu_simple_lock_try(__cpu_simple_lock_t *lockp)
     {
     	uint8_t val;
    @@ -112,7 +104,7 @@ __cpu_simple_lock_try(__cpu_simple_lock_t *lockp)
     	return val == __SIMPLELOCK_UNLOCKED;
     }
     
    -static __inline void
    +SPINLOCK_INLINE void
     __cpu_simple_lock(__cpu_simple_lock_t *lockp)
     {
     
    @@ -173,7 +165,7 @@ __cpu_simple_lock(__cpu_simple_lock_t *lockp)
      *		reordered, however stores act as load fences, meaning that
      *		loads can not be reordered around stores.
      */
    -static __inline void
    +SPINLOCK_INLINE void
     __cpu_simple_unlock(__cpu_simple_lock_t *lockp)
     {
     
    @@ -181,6 +173,6 @@ __cpu_simple_unlock(__cpu_simple_lock_t *lockp)
     	*lockp = __SIMPLELOCK_UNLOCKED;
     }
     
    -#endif	/* _HARDKERNEL */
    +#endif	/* SPINLOCK_BODY */
     
     #endif /* _X86_LOCK_H_ */
    diff --git a/sys/arch/x86/include/machdep.h b/sys/arch/x86/include/machdep.h
    index d9487fd82..a89cc7587 100644
    --- a/sys/arch/x86/include/machdep.h
    +++ b/sys/arch/x86/include/machdep.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: machdep.h,v 1.5 2010/10/21 11:17:54 yamt Exp $ */
    +/* $NetBSD: machdep.h,v 1.6 2013/04/12 16:59:41 christos Exp $ */
     /*
      * Copyright (c) 2000, 2007 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -33,6 +33,7 @@ extern int mem_cluster_cnt;
     
     struct btinfo_memmap;
     struct extent;
    +struct sysctllog;
     
     void	x86_cpu_idle_init(void);
     void	x86_cpu_idle_get(void (**)(void), char *, size_t);
    @@ -43,5 +44,6 @@ int	initx86_fake_memmap(struct extent *);
     int	initx86_load_memmap(paddr_t first_avail);
     
     void	x86_startup(void);
    +void	x86_sysctl_machdep_setup(struct sysctllog **);
     
     #endif	/* _X86_MACHDEP_H_ */
    diff --git a/sys/arch/x86/include/mpacpi.h b/sys/arch/x86/include/mpacpi.h
    index 5f472a1eb..5c2cf85cb 100644
    --- a/sys/arch/x86/include/mpacpi.h
    +++ b/sys/arch/x86/include/mpacpi.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: mpacpi.h,v 1.9 2009/04/17 21:07:58 dyoung Exp $	*/
    +/*	$NetBSD: mpacpi.h,v 1.10 2013/03/31 19:45:06 chs Exp $	*/
     
     #ifndef _X86_MPACPI_H_
     #define _X86_MPACPI_H_
    @@ -13,6 +13,4 @@ int mpacpi_pci_attach_hook(device_t, device_t,
     struct mp_intr_map;
     int mpacpi_findintr_linkdev(struct mp_intr_map *);
     
    -extern struct mp_intr_map *mpacpi_sci_override;
    -
     #endif /* _X86_MPACPI_H_ */
    diff --git a/sys/arch/x86/include/pci_machdep_common.h b/sys/arch/x86/include/pci_machdep_common.h
    index c9cfcf630..4ea292239 100644
    --- a/sys/arch/x86/include/pci_machdep_common.h
    +++ b/sys/arch/x86/include/pci_machdep_common.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pci_machdep_common.h,v 1.9 2012/06/15 13:58:34 yamt Exp $	*/
    +/*	$NetBSD: pci_machdep_common.h,v 1.12 2013/07/31 14:05:33 soren Exp $	*/
     
     /*
      * Copyright (c) 1996 Christopher G. Demetriou.  All rights reserved.
    @@ -42,7 +42,7 @@
     #endif
     
     /*
    - * i386-specific PCI structure and type definitions.
    + * x86-specific PCI structure and type definitions.
      * NOT TO BE USED DIRECTLY BY MACHINE INDEPENDENT CODE.
      *
      * Configuration tag; created from a {bus,device,function} triplet by
    @@ -90,10 +90,9 @@ struct pci_chipset_tag {
     };
     
     /*
    - * i386-specific PCI variables and functions.
    + * x86-specific PCI variables and functions.
      * NOT TO BE USED DIRECTLY BY MACHINE INDEPENDENT CODE.
      */
    -int		pci_bus_flags(void);
     int		pci_mode_detect(void);
     void		pci_mode_set(int);
     
    @@ -139,11 +138,11 @@ int		pchb_get_bus_number(pci_chipset_tag_t, pcitag_t);
     void pci_device_foreach(pci_chipset_tag_t, int,
     			void (*)(pci_chipset_tag_t, pcitag_t, void*),
     			void *);
    -        
    +
     void pci_device_foreach_min(pci_chipset_tag_t, int, int,
     			    void (*)(pci_chipset_tag_t, pcitag_t, void*),
     			    void *);
    -        
    +
     void pci_bridge_foreach(pci_chipset_tag_t, int, int,
     	void (*) (pci_chipset_tag_t, pcitag_t, void *), void *);
     
    diff --git a/sys/arch/x86/include/pmap.h b/sys/arch/x86/include/pmap.h
    index c582ce4ad..55b97091e 100644
    --- a/sys/arch/x86/include/pmap.h
    +++ b/sys/arch/x86/include/pmap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pmap.h,v 1.52 2012/04/20 22:23:24 rmind Exp $	*/
    +/*	$NetBSD: pmap.h,v 1.55 2013/10/17 20:59:16 christos Exp $	*/
     
     /*
      * Copyright (c) 1997 Charles D. Cranor and Washington University.
    @@ -140,9 +140,6 @@ extern struct pool_cache pmap_pdp_cache;
      * pm_lock is the same as the lock for vm object 0.  Changes to
      * the other objects may only be made if that lock has been taken
      * (the other object locks are only used when uvm_pagealloc is called)
    - *
    - * XXX If we ever support processor numbers higher than 31, we'll have
    - * XXX to rethink the CPU mask.
      */
     
     struct pmap {
    @@ -222,7 +219,7 @@ extern long nkptp[PTP_LEVELS];
     
     #define pmap_clear_modify(pg)		pmap_clear_attrs(pg, PG_M)
     #define pmap_clear_reference(pg)	pmap_clear_attrs(pg, PG_U)
    -#define pmap_copy(DP,SP,D,L,S)
    +#define pmap_copy(DP,SP,D,L,S)		__USE(L)
     #define pmap_is_modified(pg)		pmap_test_attrs(pg, PG_M)
     #define pmap_is_referenced(pg)		pmap_test_attrs(pg, PG_U)
     #define pmap_move(DP,SP,D,L,S)
    @@ -255,6 +252,7 @@ void		pmap_load(void);
     paddr_t		pmap_init_tmp_pgtbl(paddr_t);
     void		pmap_remove_all(struct pmap *);
     void		pmap_ldt_sync(struct pmap *);
    +void		pmap_kremove_local(vaddr_t, vsize_t);
     
     void		pmap_emap_enter(vaddr_t, paddr_t, vm_prot_t);
     void		pmap_emap_remove(vaddr_t, vsize_t);
    diff --git a/sys/arch/x86/include/specialreg.h b/sys/arch/x86/include/specialreg.h
    index 7d3a34524..ea1a0bd02 100644
    --- a/sys/arch/x86/include/specialreg.h
    +++ b/sys/arch/x86/include/specialreg.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: specialreg.h,v 1.59 2012/05/05 15:08:29 jym Exp $	*/
    +/*	$NetBSD: specialreg.h,v 1.73 2013/11/20 17:50:39 msaitoh Exp $	*/
     
     /*-
      * Copyright (c) 1991 The Regents of the University of California.
    @@ -97,7 +97,7 @@
     #define	CPUID_FPU	0x00000001	/* processor has an FPU? */
     #define	CPUID_VME	0x00000002	/* has virtual mode (%cr4's VME/PVI) */
     #define	CPUID_DE	0x00000004	/* has debugging extension */
    -#define	CPUID_PSE	0x00000008	/* has page 4MB page size extension */
    +#define	CPUID_PSE	0x00000008	/* has 4MB page size extension */
     #define	CPUID_TSC	0x00000010	/* has time stamp counter */
     #define	CPUID_MSR	0x00000020	/* has mode specific registers */
     #define	CPUID_PAE	0x00000040	/* has phys address extension */
    @@ -127,11 +127,124 @@
     #define	CPUID_IA64	0x40000000	/* IA-64 architecture */
     #define	CPUID_SBF	0x80000000	/* signal break on FERR */
     
    -#define CPUID_FLAGS1	"\20\1FPU\2VME\3DE\4PSE\5TSC\6MSR\7PAE\10MCE\11CX8" \
    -			    "\12APIC\13B10\14SEP\15MTRR\16PGE\17MCA\20CMOV" \
    -			    "\21PAT\22PSE36\23PN\24CFLUSH\25B20\26DS\27ACPI" \
    -			    "\30MMX\31FXSR\32SSE\33SSE2\34SS\35HTT\36TM" \
    -			    "\37IA64\40SBF"
    +#define CPUID_FLAGS1	"\20" \
    +	"\1" "FPU"	"\2" "VME"	"\3" "DE"	"\4" "PSE" \
    +	"\5" "TSC"	"\6" "MSR"	"\7" "PAE"	"\10" "MCE" \
    +	"\11" "CX8"	"\12" "APIC"	"\13" "B10"	"\14" "SEP" \
    +	"\15" "MTRR"	"\16" "PGE"	"\17" "MCA"	"\20" "CMOV" \
    +	"\21" "PAT"	"\22" "PSE36"	"\23" "PN"	"\24" "CFLUSH" \
    +	"\25" "B20"	"\26" "DS"	"\27" "ACPI"	"\30" "MMX" \
    +	"\31" "FXSR"	"\32" "SSE"	"\33" "SSE2"	"\34" "SS" \
    +	"\35" "HTT"	"\36" "TM"	"\37" "IA64"	"\40" "SBF"
    +
    +/* Blacklists of CPUID flags - used to mask certain features */
    +#ifdef XEN
    +/* Not on Xen */
    +#define CPUID_FEAT_BLACKLIST	 (CPUID_PGE|CPUID_PSE|CPUID_MTRR)
    +#else
    +#define CPUID_FEAT_BLACKLIST	 0
    +#endif /* XEN */
    +
    +/*
    + * CPUID "features" bits in Fn00000001 %ecx
    + */
    +
    +#define	CPUID2_SSE3	0x00000001	/* Streaming SIMD Extensions 3 */
    +#define	CPUID2_PCLMUL	0x00000002	/* PCLMULQDQ instructions */
    +#define	CPUID2_DTES64	0x00000004	/* 64-bit Debug Trace */
    +#define	CPUID2_MONITOR	0x00000008	/* MONITOR/MWAIT instructions */
    +#define	CPUID2_DS_CPL	0x00000010	/* CPL Qualified Debug Store */
    +#define	CPUID2_VMX	0x00000020	/* Virtual Machine Extensions */
    +#define	CPUID2_SMX	0x00000040	/* Safer Mode Extensions */
    +#define	CPUID2_EST	0x00000080	/* Enhanced SpeedStep Technology */
    +#define	CPUID2_TM2	0x00000100	/* Thermal Monitor 2 */
    +#define CPUID2_SSSE3	0x00000200	/* Supplemental SSE3 */
    +#define	CPUID2_CID	0x00000400	/* Context ID */
    +/* bit 11 unused	0x00000800 */
    +#define	CPUID2_FMA	0x00001000	/* has Fused Multiply Add */
    +#define	CPUID2_CX16	0x00002000	/* has CMPXCHG16B instruction */
    +#define	CPUID2_xTPR	0x00004000	/* Task Priority Messages disabled? */
    +#define	CPUID2_PDCM	0x00008000	/* Perf/Debug Capability MSR */
    +/* bit 16 unused	0x00010000 */
    +#define	CPUID2_PCID	0x00020000	/* Process Context ID */
    +#define	CPUID2_DCA	0x00040000	/* Direct Cache Access */
    +#define	CPUID2_SSE41	0x00080000	/* Streaming SIMD Extensions 4.1 */
    +#define	CPUID2_SSE42	0x00100000	/* Streaming SIMD Extensions 4.2 */
    +#define	CPUID2_X2APIC	0x00200000	/* xAPIC Extensions */
    +#define	CPUID2_MOVBE	0x00400000	/* MOVBE (move after byteswap) */
    +#define	CPUID2_POPCNT	0x00800000	/* popcount instruction available */
    +#define	CPUID2_DEADLINE	0x01000000	/* APIC Timer supports TSC Deadline */
    +#define	CPUID2_AES	0x02000000	/* AES instructions */
    +#define	CPUID2_XSAVE	0x04000000	/* XSAVE instructions */
    +#define	CPUID2_OSXSAVE	0x08000000	/* XGETBV/XSETBV instructions */
    +#define	CPUID2_AVX	0x10000000	/* AVX instructions */
    +#define	CPUID2_F16C	0x20000000	/* half precision conversion */
    +#define	CPUID2_RDRAND	0x40000000	/* RDRAND (hardware random number) */
    +#define	CPUID2_RAZ	0x80000000	/* RAZ. Indicates guest state. */
    +
    +#define CPUID2_FLAGS1	"\20" \
    +	"\1" "SSE3"	"\2" "PCLMULQDQ" "\3" "DTES64"	"\4" "MONITOR" \
    +	"\5" "DS-CPL"	"\6" "VMX"	"\7" "SMX"	"\10" "EST" \
    +	"\11" "TM2"	"\12" "SSSE3"	"\13" "CID"	"\14" "B11" \
    +	"\15" "FMA"	"\16" "CX16"	"\17" "xTPR"	"\20" "PDCM" \
    +	"\21" "B16"	"\22" "PCID"	"\23" "DCA"	"\24" "SSE41" \
    +	"\25" "SSE42"	"\26" "X2APIC"	"\27" "MOVBE"	"\30" "POPCNT" \
    +	"\31" "DEADLINE" "\32" "AES"	"\33" "XSAVE"	"\34" "OSXSAVE" \
    +	"\35" "AVX"	"\36" "F16C"	"\37" "RDRAND"	"\40" "RAZ"
    +
    +/* CPUID Fn00000001 %eax */
    +
    +#define CPUID_TO_BASEFAMILY(cpuid)	(((cpuid) >> 8) & 0xf)
    +#define CPUID_TO_BASEMODEL(cpuid)	(((cpuid) >> 4) & 0xf)
    +#define CPUID_TO_STEPPING(cpuid)	((cpuid) & 0xf)
    +
    +/*
    + * The Extended family bits should only be inspected when CPUID_TO_BASEFAMILY()
    + * returns 15. They are use to encode family value 16 to 270 (add 15).
    + * The Extended model bits are the high 4 bits of the model.
    + * They are only valid for family >= 15 or family 6 (intel, but all amd
    + * family 6 are documented to return zero bits for them).
    + */
    +#define CPUID_TO_EXTFAMILY(cpuid)	(((cpuid) >> 20) & 0xff)
    +#define CPUID_TO_EXTMODEL(cpuid)	(((cpuid) >> 16) & 0xf)
    +
    +/* The macros for the Display Family and the Display Model */
    +#define CPUID_TO_FAMILY(cpuid)	(CPUID_TO_BASEFAMILY(cpuid)	\
    +	    + ((CPUID_TO_BASEFAMILY(cpuid) != 0x0f)		\
    +		? 0 : CPUID_TO_EXTFAMILY(cpuid)))
    +#define CPUID_TO_MODEL(cpuid)	(CPUID_TO_BASEMODEL(cpuid)	\
    +	    | ((CPUID_TO_BASEFAMILY(cpuid) != 0x0f)		\
    +		&& (CPUID_TO_BASEFAMILY(cpuid) != 0x06)		\
    +		? 0 : (CPUID_TO_EXTMODEL(cpuid) << 4)))
    +
    +/*
    + * Intel Deterministic Cache Parameter Leaf
    + * Fn0000_0004
    + */
    +
    +/* %eax */
    +#define CPUID_DCP_CACHETYPE	__BITS(4, 0)	/* Cache type */
    +#define CPUID_DCP_CACHETYPE_N	0		/*   NULL */
    +#define CPUID_DCP_CACHETYPE_D	1		/*   Data cache */
    +#define CPUID_DCP_CACHETYPE_I	2		/*   Instruction cache */
    +#define CPUID_DCP_CACHETYPE_U	3		/*   Unified cache */
    +#define CPUID_DCP_CACHELEVEL	__BITS(7, 5)	/* Cache level (start at 1) */
    +#define CPUID_DCP_SELFINITCL	__BIT(8)	/* Self initializing cachelvl*/
    +#define CPUID_DCP_FULLASSOC	__BIT(9)	/* Full associative */
    +#define CPUID_DCP_SHAREING	__BITS(25, 14)	/* shareing */
    +#define CPUID_DCP_CORE_P_PKG	__BITS(31, 26)	/* Cores/package */
    +
    +/* %ebx */
    +#define CPUID_DCP_LINESIZE	__BITS(11, 0)	/* System coherency linesize */
    +#define CPUID_DCP_PARTITIONS	__BITS(21, 12)	/* Physical line partitions */
    +#define CPUID_DCP_WAYS		__BITS(31, 22)	/* Ways of associativity */
    +
    +/* Number of sets: %ecx */
    +
    +/* %edx */
    +#define CPUID_DCP_INVALIDATE	__BIT(0)	/* WB invalidate/invalidate */
    +#define CPUID_DCP_INCLUSIVE	__BIT(1)	/* Cache inclusiveness */
    +#define CPUID_DCP_COMPLEX	__BIT(2)	/* Complex cache indexing */
     
     /*
      * Intel Digital Thermal Sensor and
    @@ -144,7 +257,9 @@
     #define CPUID_DSPM_CME	0x00000020	/* Clock Modulation Extension */
     #define CPUID_DSPM_PLTM	0x00000040	/* Package Level Thermal Management */
     
    -#define CPUID_DSPM_FLAGS	"\20\1DTS\2IDA\3ARAT\5PLN\6CME\7PLTM"
    +#define CPUID_DSPM_FLAGS	"\20" \
    +	"\1" "DTS"	"\2" "IDA"	"\3" "ARAT" \
    +	"\5" "PLN"	"\6" "CME"	"\7" "PLTM"
     
     /*
      * Intel Digital Thermal Sensor and
    @@ -152,20 +267,99 @@
      */
     #define CPUID_DSPM_HWF	0x00000001	/* MSR_APERF/MSR_MPERF available */
     
    -#define CPUID_DSPM_FLAGS1	"\20\1HWF"
    +#define CPUID_DSPM_FLAGS1	"\20" "\1" "HWF"
    +
    +/*
    + * Intel Structured Extended Feature leaf
    + * Fn0000_0007 main leaf - %ebx.
    + */
    +#define CPUID_SEF_FSGSBASE	__BIT(0)
    +#define CPUID_SEF_TSC_ADJUST	__BIT(1)
    +#define CPUID_SEF_BMI1		__BIT(3)
    +#define CPUID_SEF_HLE		__BIT(4)
    +#define CPUID_SEF_AVX2		__BIT(5)
    +#define CPUID_SEF_SMEP		__BIT(7)
    +#define CPUID_SEF_BMI2		__BIT(8)
    +#define CPUID_SEF_ERMS		__BIT(9)
    +#define CPUID_SEF_INVPCID	__BIT(10)
    +#define CPUID_SEF_RTM		__BIT(11)
    +#define CPUID_SEF_QM		__BIT(12)
    +#define CPUID_SEF_FPUCSDS	__BIT(13)
    +#define CPUID_SEF_MPX		__BIT(14)
    +#define CPUID_SEF_AVX512F	__BIT(16)
    +#define CPUID_SEF_RDSEED	__BIT(18)
    +#define CPUID_SEF_ADX		__BIT(19)
    +#define CPUID_SEF_SMAP		__BIT(20)
    +#define CPUID_SEF_PT		__BIT(25)
    +#define CPUID_SEF_AVX512PF	__BIT(26)
    +#define CPUID_SEF_AVX512ER	__BIT(27)
    +#define CPUID_SEF_AVX512CD	__BIT(28)
    +#define CPUID_SEF_SHA		__BIT(29)
    +
    +#define CPUID_SEF_FLAGS	"\20" \
    +	"\1" "FSGSBASE"	"\2" "TSCADJUST"		"\4" "BMI1"	\
    +	"\5" "HLE"	"\6" "AVX2"			"\10" "SMEP"	\
    +	"\11" "BMI2"	"\12" "ERMS"	"\13" "INVPCID"	"\14" "RTM"	\
    +	"\15" "QM"	"\16" "FPUCSDS"	"\17" "MPX"    			\
    +	"\21" "AVX512F"			"\23" "RDSEED"	"\24" "ADX"	\
    +	"\25" "SMAP"							\
    +			"\32" "PT"	"\33" "AVX512PF""\34" "AVX512ER"\
    +	"\35" "AVX512CD""\36" "SHA"
    +
    +/*
    + * CPUID Processor extended state Enumeration Fn0000000d %eax
    + *
    + * Extended Control Register XCR0
    + */
    +#define	XCR0_X87	0x00000001	/* x87 FPU/MMX state */
    +#define	XCR0_SSE	0x00000002	/* SSE state */
    +#define	XCR0_AVX	0x00000004	/* AVX state (ymmn registers) */
    +
    +#define XCR0_FLAGS1	"\20" \
    +	"\1" "x87"	"\2" "SSE"	"\3" "AVX"	"\4" "B03"
    +
    +/*
    + * CPUID Processor extended state Enumeration Fn0000000d
    + *
    + * %ecx == 0: supported features info:
    + *	%edx:%eax bits valid for XCR0
    + *	%ebx Save area size for features enabled in XCR0
    + *	%ecx Maximim save area size for all cpu features
    + *
    + * %ecx == 1: Bit 0 => xsaveopt instruction avalaible (sandy bridge onwards)
    + *
    + * %ecx >= 2: Save area details for XCR0 bit n
    + *	%eax: size of save area for this feature
    + *	%ebx: offset of save area for this feature
    + *	%ecx, %edx: reserved
    + *	All of %eax, %ebx, %ecx and %edx zero for unsupported features.
    + */
    +
    +#define	CPUID_PES1_XSAVEOPT	0x00000001	/* xsaveopt instruction */
    +
    +#define CPUID_PES1_FLAGS	"\20" \
    +	"\1" "XSAVEOPT"
     
     /* Intel Fn80000001 extended features - %edx */
     #define CPUID_SYSCALL	0x00000800	/* SYSCALL/SYSRET */
     #define CPUID_XD	0x00100000	/* Execute Disable (like CPUID_NOX) */
    +#define	CPUID_P1GB	0x04000000	/* 1GB Large Page Support */
    +#define	CPUID_RDTSCP	0x08000000	/* Read TSC Pair Instruction */
     #define CPUID_EM64T	0x20000000	/* Intel EM64T */
     
    -#define CPUID_INTEL_EXT_FLAGS	"\20\14SYSCALL/SYSRET\25XD\36EM64T"
    +#define CPUID_INTEL_EXT_FLAGS	"\20" \
    +	"\14" "SYSCALL/SYSRET"	"\25" "XD"	"\33" "P1GB" \
    +	"\34" "RDTSCP"	"\36" "EM64T"
     
     /* Intel Fn80000001 extended features - %ecx */
     #define	CPUID_LAHF	0x00000001	/* LAHF/SAHF in IA-32e mode, 64bit sub*/
    +		/*	0x00000020 */	/* LZCNT. Same as AMD's CPUID_LZCNT */
    +#define	CPUID_PREFETCHW	0x00000100	/* PREFETCHW */
     
    -#define	CPUID_INTEL_FLAGS4	"\20\1LAHF\02B02\03B03"
    -
    +#define	CPUID_INTEL_FLAGS4	"\20"				\
    +	"\1" "LAHF"	"\02" "B01"	"\03" "B02"		\
    +			"\06" "LZCNT"				\
    +	"\11" "PREFETCHW"
     
     /* AMD/VIA Fn80000001 extended features - %edx */
     /*	CPUID_SYSCALL			   SYSCALL/SYSRET */
    @@ -173,15 +367,16 @@
     #define CPUID_NOX	0x00100000	/* No Execute Page Protection */
     #define CPUID_MMXX	0x00400000	/* AMD MMX Extensions */
     #define CPUID_FFXSR	0x02000000	/* FXSAVE/FXSTOR Extensions */
    -#define CPUID_P1GB	0x04000000	/* 1GB Large Page Support */
    -#define CPUID_RDTSCP	0x08000000	/* Read TSC Pair Instruction */
    +/*	CPUID_P1GB			   1GB Large Page Support */
    +/*	CPUID_RDTSCP			   Read TSC Pair Instruction */
     /*	CPUID_EM64T			   Long mode */
     #define CPUID_3DNOW2	0x40000000	/* 3DNow! Instruction Extension */
     #define CPUID_3DNOW	0x80000000	/* 3DNow! Instructions */
     
    -#define CPUID_EXT_FLAGS	"\20\14SYSCALL/SYSRET\24MPC\25NOX" \
    -			    "\27MXX\32FFXSR\33P1GB\34RDTSCP" \
    -			    "\36LONG\0373DNOW2\0403DNOW" \
    +#define CPUID_EXT_FLAGS	"\20" \
    +	"\14" "SYSCALL/SYSRET"		"\24" "MPC"	"\25" "NOX" \
    +	"\27" "MMXX"	"\32" "FFXSR"	"\33" "P1GB"	"\34" "RDTSCP" \
    +	"\36" "LONG"	"\37" "3DNOW2"	"\40" "3DNOW"
     
     /* AMD Fn80000001 extended features - %ecx */
     /* 	CPUID_LAHF			   LAHF/SAHF instruction */
    @@ -203,32 +398,22 @@
     #define CPUID_NODEID	0x00080000	/* NodeID MSR available*/
     #define CPUID_TBM	0x00200000	/* TBM instructions */
     #define CPUID_TOPOEXT	0x00400000	/* cpuid Topology Extension */
    +#define CPUID_PCEC	0x00800000	/* Perf Ctr Ext Core */
    +#define CPUID_PCENB	0x01000000	/* Perf Ctr Ext NB */
    +#define CPUID_SPM	0x02000000	/* Stream Perf Mon */
    +#define CPUID_DBE	0x04000000	/* Data Breakpoint Extension */
    +#define CPUID_PTSC	0x08000000	/* PerfTsc */
     
    -#define CPUID_AMD_FLAGS4	"\20\1LAHF\2CMPLEGACY\3SVM\4EAPIC\5ALTMOVCR0" \
    -				    "\6LZCNT\7SSE4A\10MISALIGNSSE" \
    -				    "\0113DNOWPREFETCH\12OSVW\13IBS" \
    -				    "\14XOP\15SKINIT\16WDT\20LWP" \
    -				    "\21FMA4\22B17\23B18\24NodeID\25B20\26TBM" \
    -				    "\27TopoExt\30B23\31B24" \
    -				    "\32B25\33B25\34B26" \
    -				    "\35B27\36B28\37B29\40B30\41B31\42B32"
    -
    -/* AMD Fn8000000a %edx features (SVM features) */
    -#define	CPUID_AMD_SVM_NP		0x00000001
    -#define	CPUID_AMD_SVM_LbrVirt		0x00000002
    -#define	CPUID_AMD_SVM_SVML		0x00000004
    -#define	CPUID_AMD_SVM_NRIPS		0x00000008
    -#define	CPUID_AMD_SVM_TSCRateCtrl	0x00000010
    -#define	CPUID_AMD_SVM_VMCBCleanBits	0x00000020
    -#define	CPUID_AMD_SVM_FlushByASID	0x00000040
    -#define	CPUID_AMD_SVM_DecodeAssist	0x00000080
    -#define	CPUID_AMD_SVM_PauseFilter	0x00000400
    -#define	CPUID_AMD_SVM_FLAGS	 "\20\1NP\2LbrVirt\3SVML\4NRIPS" \
    -				    "\5TSCRate\6VMCBCleanBits\7FlushByASID" \
    -				    "\10DecodeAssist\11B08" \
    -				    "\12B09\13PauseFilter" \
    -				    "\14B11\15B12" \
    -				    "\16B13\17B17\20B18\21B19"
    +#define CPUID_AMD_FLAGS4	"\20" \
    +	"\1" "LAHF"	"\2" "CMPLEGACY" "\3" "SVM"	"\4" "EAPIC" \
    +	"\5" "ALTMOVCR0" "\6" "LZCNT"	"\7" "SSE4A"	"\10" "MISALIGNSSE" \
    +	"\11" "3DNOWPREFETCH" \
    +			"\12" "OSVW"	"\13" "IBS"	"\14" "XOP" \
    +	"\15" "SKINIT"	"\16" "WDT"	"\17" "B14"	"\20" "LWP" \
    +	"\21" "FMA4"	"\22" "B17"	"\23" "B18"	"\24" "NodeID" \
    +	"\25" "B20"	"\26" "TBM"	"\27" "TopoExt"	"\30" "PCExtC" \
    +	"\31" "PCExtNB"	"\32" "StrmPM"	"\33" "DBExt"	"\34" "PerfTsc" \
    +	"\35" "B28"	"\36" "B29"	"\37" "B30"	"\40" "B31"
     
     /*
      * AMD Advanced Power Management
    @@ -246,8 +431,29 @@
     #define CPUID_APM_CPB	0x00000200	/* Core performance boost */
     #define CPUID_APM_EFF	0x00000400	/* Effective Frequency (read-only) */
     
    -#define CPUID_APM_FLAGS		"\20\1TS\2FID\3VID\4TTP\5HTC\6STC\007100" \
    -				    "\10HWP\11TSC\12CPB\13EffFreq\14B11\15B12"
    +#define CPUID_APM_FLAGS		"\20" \
    +	"\1" "TS"	"\2" "FID"	"\3" "VID"	"\4" "TTP" \
    +	"\5" "HTC"	"\6" "STC"	"\7" "100"	"\10" "HWP" \
    +	"\11" "TSC"	"\12" "CPB"	"\13" "EffFreq"	"\14" "B11" \
    +	"\15" "B12"
    +
    +/* AMD Fn8000000a %edx features (SVM features) */
    +#define	CPUID_AMD_SVM_NP		0x00000001
    +#define	CPUID_AMD_SVM_LbrVirt		0x00000002
    +#define	CPUID_AMD_SVM_SVML		0x00000004
    +#define	CPUID_AMD_SVM_NRIPS		0x00000008
    +#define	CPUID_AMD_SVM_TSCRateCtrl	0x00000010
    +#define	CPUID_AMD_SVM_VMCBCleanBits	0x00000020
    +#define	CPUID_AMD_SVM_FlushByASID	0x00000040
    +#define	CPUID_AMD_SVM_DecodeAssist	0x00000080
    +#define	CPUID_AMD_SVM_PauseFilter	0x00000400
    +#define	CPUID_AMD_SVM_FLAGS	 "\20" \
    +	"\1" "NP"	"\2" "LbrVirt"	"\3" "SVML"	"\4" "NRIPS" \
    +	"\5" "TSCRate"	"\6" "VMCBCleanBits" \
    +		"\7" "FlushByASID"	"\10" "DecodeAssist" \
    +	"\11" "B08"	"\12" "B09"	"\13" "PauseFilter" "\14" "B11" \
    +	"\15" "B12"	"\16" "B13"	"\17" "B17"	"\20" "B18" \
    +	"\21" "B19"
     
     /*
      * Centaur Extended Feature flags
    @@ -263,60 +469,9 @@
     #define CPUID_VIA_HAS_PMM	0x00001000	/* RSA Instructions */
     #define CPUID_VIA_DO_PMM	0x00002000
     
    -#define CPUID_FLAGS_PADLOCK	"\20\3RNG\7AES\11AES/CTR\13SHA1/SHA256\15RSA"
    -
    -/*
    - * CPUID "features" bits in Fn00000001 %ecx
    - */
    -
    -#define	CPUID2_SSE3	0x00000001	/* Streaming SIMD Extensions 3 */
    -#define	CPUID2_PCLMUL	0x00000002	/* PCLMULQDQ instructions */
    -#define	CPUID2_DTES64	0x00000004	/* 64-bit Debug Trace */
    -#define	CPUID2_MONITOR	0x00000008	/* MONITOR/MWAIT instructions */
    -#define	CPUID2_DS_CPL	0x00000010	/* CPL Qualified Debug Store */
    -#define	CPUID2_VMX	0x00000020	/* Virtual Machine Extensions */
    -#define	CPUID2_SMX	0x00000040	/* Safer Mode Extensions */
    -#define	CPUID2_EST	0x00000080	/* Enhanced SpeedStep Technology */
    -#define	CPUID2_TM2	0x00000100	/* Thermal Monitor 2 */
    -#define CPUID2_SSSE3	0x00000200	/* Supplemental SSE3 */
    -#define	CPUID2_CID	0x00000400	/* Context ID */
    -#define	CPUID2_CX16	0x00002000	/* has CMPXCHG16B instruction */
    -#define	CPUID2_xTPR	0x00004000	/* Task Priority Messages disabled? */
    -#define	CPUID2_PDCM	0x00008000	/* Perf/Debug Capability MSR */
    -#define	CPUID2_PCID	0x00020000	/* Process Context ID */
    -#define	CPUID2_DCA	0x00040000	/* Direct Cache Access */
    -#define	CPUID2_SSE41	0x00080000	/* Streaming SIMD Extensions 4.1 */
    -#define	CPUID2_SSE42	0x00100000	/* Streaming SIMD Extensions 4.2 */
    -#define	CPUID2_X2APIC	0x00200000	/* xAPIC Extensions */
    -#define	CPUID2_POPCNT	0x00800000	/* popcount instruction available */
    -#define	CPUID2_AES	0x02000000	/* AES instructions */
    -#define	CPUID2_XSAVE	0x04000000	/* XSAVE instructions */
    -#define	CPUID2_OSXSAVE	0x08000000	/* XGETBV/XSETBV instructions */
    -#define	CPUID2_AVX	0x10000000	/* AVX instructions */
    -#define	CPUID2_F16C	0x20000000	/* half precision conversion */
    -#define	CPUID2_RAZ	0x80000000	/* RAZ. Indicates guest state. */
    -
    -#define CPUID2_FLAGS1	"\20\1SSE3\2PCLMULQDQ\3DTES64\4MONITOR\5DS-CPL\6VMX\7SMX" \
    -			"\10EST\11TM2\12SSSE3\13CID\14B11\15B12\16CX16" \
    -			"\17xTPR\20PDCM\21B16\22PCID\23DCA\24SSE41\25SSE42" \
    -			"\26X2APIC\27MOVBE\30POPCNT\31B24\32AES\33XSAVE" \
    -			"\34OSXSAVE\35AVX\36F16C\37B30\40RAZ"
    -
    -#define CPUID2FAMILY(cpuid)	(((cpuid) >> 8) & 0xf)
    -#define CPUID2MODEL(cpuid)	(((cpuid) >> 4) & 0xf)
    -#define CPUID2STEPPING(cpuid)	((cpuid) & 0xf)
    -
    -/* Extended family and model are defined on amd64 processors */
    -#define CPUID2EXTFAMILY(cpuid)	(((cpuid) >> 20) & 0xff)
    -#define CPUID2EXTMODEL(cpuid)	(((cpuid) >> 16) & 0xf)
    -
    -/* Blacklists of CPUID flags - used to mask certain features */
    -#ifdef XEN
    -/* Not on Xen */
    -#define CPUID_FEAT_BLACKLIST	 (CPUID_PGE|CPUID_PSE|CPUID_MTRR)
    -#else
    -#define CPUID_FEAT_BLACKLIST	 0
    -#endif /* XEN */
    +#define CPUID_FLAGS_PADLOCK	"\20" \
    +	"\3" "RNG"	"\7" "AES"	"\11" "AES/CTR"	"\13" "SHA1/SHA256" \
    +	"\15" "RSA"
     
     /*
      * Model-specific registers for the i386 family
    diff --git a/sys/compat/sys/clockctl.h b/sys/compat/sys/clockctl.h
    new file mode 100644
    index 000000000..90ff29413
    --- /dev/null
    +++ b/sys/compat/sys/clockctl.h
    @@ -0,0 +1,74 @@
    +/*      $NetBSD: clockctl.h,v 1.3 2012/01/04 13:45:55 apb Exp $ */
    +
    +/*-
    + * Copyright (c) 2001 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Emmanuel Dreyfus.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. The name of the author may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 BE LIABLE FOR ANY DIRECT, INDIRECT,
    + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + *
    + *
    + */
    +
    +#ifndef _COMPAT_SYS_CLOCKCTL_H_
    +#define _COMPAT_SYS_CLOCKCTL_H_
    +
    +#include 
    +#include 
    +
    +struct clockctl50_settimeofday {
    +	const struct timeval50 *tv;
    +	const void *tzp;
    +};
    +
    +#define CLOCKCTL_OSETTIMEOFDAY _IOW('C', 0x1, struct clockctl50_settimeofday)
    +
    +struct clockctl50_adjtime {
    +	const struct timeval50 *delta;
    +	struct timeval50 *olddelta;
    +};
    +
    +#define CLOCKCTL_OADJTIME _IOWR('C', 0x2, struct clockctl50_adjtime)
    +
    +struct clockctl50_clock_settime {
    +	clockid_t clock_id;
    +	const struct timespec50 *tp;
    +};
    +
    +#define CLOCKCTL_OCLOCK_SETTIME _IOW('C', 0x3, struct clockctl50_clock_settime)
    +
    +struct clockctl50_ntp_adjtime {
    +	struct timex *tp;
    +	register_t retval;
    +};
    +
    +#define CLOCKCTL_ONTP_ADJTIME _IOWR('C', 0x4, struct clockctl50_ntp_adjtime)
    +
    +#ifdef _KERNEL
    +struct lwp;
    +int compat50_clockctlioctl(dev_t, u_long, void *, int, struct lwp *);
    +#endif
    +
    +#endif /* _COMPAT_SYS_CLOCKCTL_H_ */
    diff --git a/sys/compat/sys/cpuio.h b/sys/compat/sys/cpuio.h
    new file mode 100644
    index 000000000..910a84131
    --- /dev/null
    +++ b/sys/compat/sys/cpuio.h
    @@ -0,0 +1,9 @@
    +/* $NetBSD: cpuio.h,v 1.4 2012/08/29 17:13:22 drochner Exp $ */
    +
    +struct compat6_cpu_ucode {
    +	uint64_t version;
    +	char fwname[PATH_MAX];
    +};
    +
    +#define OIOC_CPU_UCODE_GET_VERSION      _IOR('c', 4, struct compat6_cpu_ucode)
    +#define OIOC_CPU_UCODE_APPLY            _IOW('c', 5, struct compat6_cpu_ucode)
    diff --git a/sys/compat/sys/dirent.h b/sys/compat/sys/dirent.h
    new file mode 100644
    index 000000000..77d78db7d
    --- /dev/null
    +++ b/sys/compat/sys/dirent.h
    @@ -0,0 +1,45 @@
    +/*	$NetBSD: dirent.h,v 1.2 2005/12/11 12:20:29 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)dirent.h	8.3 (Berkeley) 8/10/94
    + */
    +
    +#ifndef _COMPAT_SYS_DIRENT_H_
    +#define _COMPAT_SYS_DIRENT_H_
    +
    +struct dirent12 {
    +	u_int32_t d_fileno;		/* file number of entry */
    +	u_int16_t d_reclen;		/* length of this record */
    +	u_int8_t  d_type; 		/* file type, see below */
    +	u_int8_t  d_namlen;		/* length of string in d_name */
    +	char	d_name[255 + 1];	/* name must be no longer than this */
    +};
    +
    +#endif	/* !_COMPAT_SYS_DIRENT_H_ */
    diff --git a/sys/compat/sys/event.h b/sys/compat/sys/event.h
    new file mode 100644
    index 000000000..adf11033b
    --- /dev/null
    +++ b/sys/compat/sys/event.h
    @@ -0,0 +1,44 @@
    +/*	$NetBSD: event.h,v 1.2 2009/01/11 02:45:50 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1999,2000,2001 Jonathan Lemon 
    + * 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: src/sys/sys/event.h,v 1.12 2001/02/24 01:44:03 jlemon Exp $
    + */
    +
    +#ifndef _COMPAT_SYS_EVENT_H_
    +#define	_COMPAT_SYS_EVENT_H_
    +
    +#include 
    +struct timespec;
    +
    +__BEGIN_DECLS
    +int	kevent(int, const struct kevent *, size_t, struct kevent *, size_t,
    +    const struct timespec50 *);
    +int	__kevent50(int, const struct kevent *, size_t, struct kevent *, size_t,
    +    const struct timespec *);
    +__END_DECLS
    +
    +#endif /* !_COMPAT_SYS_EVENT_H_ */
    diff --git a/sys/compat/sys/ipc.h b/sys/compat/sys/ipc.h
    new file mode 100644
    index 000000000..b0bee6dad
    --- /dev/null
    +++ b/sys/compat/sys/ipc.h
    @@ -0,0 +1,108 @@
    +/*	$NetBSD: ipc.h,v 1.4 2011/05/24 18:29:23 joerg Exp $	*/
    +
    +/*
    + * Copyright (c) 1990, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * the Systems Programming Group of the University of Utah Computer
    + * Science Department.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ipc.h	8.4 (Berkeley) 2/19/95
    + */
    +
    +/*
    + * SVID compatible ipc.h file
    + */
    +
    +#ifndef _COMPAT_SYS_IPC_H_
    +#define _COMPAT_SYS_IPC_H_
    +
    +__BEGIN_DECLS
    +/*
    + * Old IPC permission structure used before NetBSD 1.5.
    + */
    +struct ipc_perm14 {
    +	unsigned short	cuid;	/* creator user id */
    +	unsigned short	cgid;	/* creator group id */
    +	unsigned short	uid;	/* user id */
    +	unsigned short	gid;	/* group id */
    +	unsigned short	mode;	/* r/w permission */
    +	unsigned short	seq;	/* sequence # (to generate unique
    +				   msg/sem/shm id) */
    +	key_t	key;		/* user specified msg/sem/shm key */
    +};
    +
    +static __inline void	__ipc_perm14_to_native(const struct ipc_perm14 *, struct ipc_perm *);
    +static __inline void	__native_to_ipc_perm14(const struct ipc_perm *, struct ipc_perm14 *);
    +static __inline void
    +__ipc_perm14_to_native(const struct ipc_perm14 *operm, struct ipc_perm *perm)
    +{
    +
    +#define	CVT(x)	perm->x = operm->x
    +	CVT(uid);
    +	CVT(gid);
    +	CVT(cuid);
    +	CVT(cgid);
    +	CVT(mode);
    +#undef CVT
    +}
    +
    +static inline void
    +__native_to_ipc_perm14(const struct ipc_perm *perm, struct ipc_perm14 *operm)
    +{
    +
    +#define	CVT(x)	operm->x = perm->x
    +	CVT(uid);
    +	CVT(gid);
    +	CVT(cuid);
    +	CVT(cgid);
    +	CVT(mode);
    +#undef CVT
    +
    +	/*
    +	 * Not part of the API, but some programs might look at it.
    +	 */
    +	operm->seq = perm->_seq;
    +	operm->key = perm->_key;
    +}
    +
    +#if defined(_KERNEL) && defined(SYSCTLFN_ARGS)
    +int sysctl_kern_sysvipc50(SYSCTLFN_ARGS);
    +#define	KERN_SYSVIPC_OMSG_INFO		1	/* msginfo and msqid_ds50 */
    +#define	KERN_SYSVIPC_OSEM_INFO		2	/* seminfo and semid_ds50 */
    +#define	KERN_SYSVIPC_OSHM_INFO		3	/* shminfo and shmid_ds50 */
    +#endif
    +
    +__END_DECLS
    +
    +#endif /* !_COMPAT_SYS_IPC_H_ */
    diff --git a/sys/compat/sys/mman.h b/sys/compat/sys/mman.h
    new file mode 100644
    index 000000000..743cc14ba
    --- /dev/null
    +++ b/sys/compat/sys/mman.h
    @@ -0,0 +1,42 @@
    +/*	$NetBSD: mman.h,v 1.2 2005/12/11 12:20:29 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1982, 1986, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)mman.h	8.2 (Berkeley) 1/9/95
    + */
    +
    +#ifndef _COMPAT_SYS_MMAN_H_
    +#define _COMPAT_SYS_MMAN_H_
    +
    +__BEGIN_DECLS
    +int	msync(void *, size_t);
    +int	__msync13(void *, size_t, int);
    +__END_DECLS
    +
    +#endif /* !_SYS_MMAN_H_ */
    diff --git a/sys/compat/sys/mount.h b/sys/compat/sys/mount.h
    new file mode 100644
    index 000000000..78bc7b9dc
    --- /dev/null
    +++ b/sys/compat/sys/mount.h
    @@ -0,0 +1,119 @@
    +/*	$NetBSD: mount.h,v 1.10 2013/10/04 21:07:37 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1989, 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)mount.h	8.21 (Berkeley) 5/20/95
    + */
    +
    +#ifndef _COMPAT_SYS_MOUNT_H_
    +#define _COMPAT_SYS_MOUNT_H_
    +
    +#ifdef _KERNEL_OPT
    +#include "opt_compat_43.h"
    +#endif
    +
    +#define MFSNAMELEN	16
    +
    +struct statfs12 {
    +	short	f_type;			/* type of file system */
    +	u_short	f_oflags;		/* deprecated copy of mount flags */
    +	long	f_bsize;		/* fundamental file system block size */
    +	long	f_iosize;		/* optimal transfer block size */
    +	long	f_blocks;		/* total data blocks in file system */
    +	long	f_bfree;		/* free blocks in fs */
    +	long	f_bavail;		/* free blocks avail to non-superuser */
    +	long	f_files;		/* total file nodes in file system */
    +	long	f_ffree;		/* free file nodes in fs */
    +	fsid_t	f_fsid;			/* file system id */
    +	uid_t	f_owner;		/* user that mounted the file system */
    +	long	f_flags;		/* copy of mount flags */
    +	long	f_syncwrites;		/* count of sync writes since mount */
    +	long	f_asyncwrites;		/* count of async writes since mount */
    +	long	f_spare[1];		/* spare for later */
    +	char	f_fstypename[MFSNAMELEN]; /* fs type name */
    +	char	f_mntonname[MNAMELEN];	  /* directory on which mounted */
    +	char	f_mntfromname[MNAMELEN];  /* mounted file system */
    +};
    +
    +/*
    + * Operations supported on mounted file system.
    + */
    +#ifdef _KERNEL
    +
    +/*
    + * Filesystem configuration information. Not used by NetBSD, but
    + * defined here to provide a compatible sysctl interface to Lite2.
    + */
    +struct vfsconf {
    +	struct	vfsops *vfc_vfsops;	/* filesystem operations vector */
    +	char	vfc_name[MFSNAMELEN]; 	/* filesystem type name */
    +	int	vfc_typenum;		/* historic filesystem type number */
    +	int  	vfc_refcount;		/* number mounted of this type */
    +	int	vfc_flags;		/* permanent flags */
    +	int	(*vfc_mountroot)(void);	/* if != NULL, routine to mount root */
    +	struct	vfsconf *vfc_next; 	/* next in list */
    +};
    +
    +/* Old, fixed size filehandle structures (used upto (including) 3.x) */
    +struct compat_30_fid {
    +	unsigned short	fid_len;
    +	unsigned short	fid_reserved;
    +	char		fid_data[16];
    +};
    +struct compat_30_fhandle {
    +	fsid_t	fh_fsid;
    +	struct compat_30_fid fh_fid;
    +};
    +
    +#else
    +
    +__BEGIN_DECLS
    +int	__compat_fstatfs(int, struct statfs12 *) __dso_hidden;
    +int	__compat_getfsstat(struct statfs12 *, long, int) __dso_hidden;
    +int	__compat_statfs(const char *, struct statfs12 *) __dso_hidden;
    +int	__compat_getmntinfo(struct statfs12 **, int) __dso_hidden;
    +#if defined(_NETBSD_SOURCE)
    +struct compat_30_fhandle;
    +int	__compat_fhstatfs(const struct compat_30_fhandle *, struct statfs12 *)
    +    __dso_hidden;
    +struct stat13;
    +int	__compat_fhstat(const struct compat_30_fhandle *, struct stat13 *)
    +    __dso_hidden;
    +struct stat30;
    +int	__compat___fhstat30(const struct compat_30_fhandle *, struct stat30 *)
    +    __dso_hidden;
    +int	__compat___fhstat40(const void *, size_t, struct stat30 *) __dso_hidden;
    +struct stat;
    +int	__fhstat50(const void *, size_t, struct stat *);
    +#endif /* _NETBSD_SOURCE */
    +__END_DECLS
    +
    +#endif /* _KERNEL */
    +
    +#endif /* !_COMPAT_SYS_MOUNT_H_ */
    diff --git a/sys/compat/sys/msg.h b/sys/compat/sys/msg.h
    new file mode 100644
    index 000000000..ea21fdf92
    --- /dev/null
    +++ b/sys/compat/sys/msg.h
    @@ -0,0 +1,172 @@
    +/*	$NetBSD: msg.h,v 1.4 2009/01/19 19:39:41 christos Exp $	*/
    +
    +/*
    + * SVID compatible msg.h file
    + *
    + * Author:  Daniel Boulet
    + *
    + * Copyright 1993 Daniel Boulet and RTMX Inc.
    + *
    + * This system call was implemented by Daniel Boulet under contract from RTMX.
    + *
    + * Redistribution and use in source forms, with and without modification,
    + * are permitted provided that this entire comment appears intact.
    + *
    + * Redistribution in binary form may occur without any restrictions.
    + * Obviously, it would be nice if you gave credit where credit is due
    + * but requiring it would be too onerous.
    + *
    + * This software is provided ``AS IS'' without any warranties of any kind.
    + */
    +
    +#ifndef _COMPAT_SYS_MSG_H_
    +#define _COMPAT_SYS_MSG_H_
    +
    +#include 
    +/*
    + * Old message queue data structure used before NetBSD 1.5.
    + */
    +struct msqid_ds14 {
    +	struct	ipc_perm14 msg_perm;	/* msg queue permission bits */
    +	struct	__msg *msg_first;	/* first message in the queue */
    +	struct	__msg *msg_last;	/* last message in the queue */
    +	u_long	msg_cbytes;	/* number of bytes in use on the queue */
    +	u_long	msg_qnum;	/* number of msgs in the queue */
    +	u_long	msg_qbytes;	/* max # of bytes on the queue */
    +	pid_t	msg_lspid;	/* pid of last msgsnd() */
    +	pid_t	msg_lrpid;	/* pid of last msgrcv() */
    +	int32_t	msg_stime;	/* time of last msgsnd() */
    +	long	msg_pad1;
    +	int32_t	msg_rtime;	/* time of last msgrcv() */
    +	long	msg_pad2;
    +	int32_t	msg_ctime;	/* time of last msgctl() */
    +	long	msg_pad3;
    +	long	msg_pad4[4];
    +};
    +
    +struct msqid_ds13 {
    +	struct ipc_perm	msg_perm;	/* operation permission strucure */
    +	msgqnum_t	msg_qnum;	/* number of messages in the queue */
    +	msglen_t	msg_qbytes;	/* max # of bytes in the queue */
    +	pid_t		msg_lspid;	/* process ID of last msgsend() */
    +	pid_t		msg_lrpid;	/* process ID of last msgrcv() */
    +	int32_t		msg_stime;	/* time of last msgsend() */
    +	int32_t		msg_rtime;	/* time of last msgrcv() */
    +	int32_t		msg_ctime;	/* time of last change */
    +
    +	/*
    +	 * These members are private and used only in the internal
    +	 * implementation of this interface.
    +	 */
    +	struct __msg	*_msg_first;	/* first message in the queue */
    +	struct __msg	*_msg_last;	/* last message in the queue */
    +	msglen_t	_msg_cbytes;	/* # of bytes currently in queue */
    +};
    +
    +/* Warning: 64-bit structure padding is needed here */
    +struct msgid_ds_sysctl50 {
    +	struct		ipc_perm_sysctl msg_perm;
    +	uint64_t	msg_qnum;
    +	uint64_t	msg_qbytes;
    +	uint64_t	_msg_cbytes;
    +	pid_t		msg_lspid;
    +	pid_t		msg_lrpid;
    +	int32_t		msg_stime;
    +	int32_t		msg_rtime;
    +	int32_t		msg_ctime;
    +	int32_t		pad;
    +};
    +struct msg_sysctl_info50 {
    +	struct	msginfo msginfo;
    +	struct	msgid_ds_sysctl50 msgids[1];
    +};
    +
    +__BEGIN_DECLS
    +static __inline void __msqid_ds14_to_native(const struct msqid_ds14 *, struct msqid_ds *);
    +static __inline void __native_to_msqid_ds14(const struct msqid_ds *, struct msqid_ds14 *);
    +static __inline void __msqid_ds13_to_native(const struct msqid_ds13 *, struct msqid_ds *);
    +static __inline void __native_to_msqid_ds13(const struct msqid_ds *, struct msqid_ds13 *);
    +
    +static __inline void
    +__msqid_ds13_to_native(const struct msqid_ds13 *omsqbuf, struct msqid_ds *msqbuf)
    +{
    +
    +	msqbuf->msg_perm = omsqbuf->msg_perm;
    +
    +#define	CVT(x)	msqbuf->x = omsqbuf->x
    +	CVT(msg_qnum);
    +	CVT(msg_qbytes);
    +	CVT(msg_lspid);
    +	CVT(msg_lrpid);
    +	CVT(msg_stime);
    +	CVT(msg_rtime);
    +	CVT(msg_ctime);
    +#undef CVT
    +}
    +
    +static __inline void
    +__native_to_msqid_ds13(const struct msqid_ds *msqbuf, struct msqid_ds13 *omsqbuf)
    +{
    +
    +	omsqbuf->msg_perm = msqbuf->msg_perm;
    +
    +#define	CVT(x)	omsqbuf->x = msqbuf->x
    +#define	CVTI(x)	omsqbuf->x = (int)msqbuf->x
    +	CVT(msg_qnum);
    +	CVT(msg_qbytes);
    +	CVT(msg_lspid);
    +	CVT(msg_lrpid);
    +	CVTI(msg_stime);
    +	CVTI(msg_rtime);
    +	CVTI(msg_ctime);
    +#undef CVT
    +#undef CVTI
    +
    +	/*
    +	 * Not part of the API, but some programs might look at it.
    +	 */
    +	omsqbuf->_msg_cbytes = msqbuf->_msg_cbytes;
    +}
    +
    +static __inline void
    +__msqid_ds14_to_native(const struct msqid_ds14 *omsqbuf, struct msqid_ds *msqbuf)
    +{
    +
    +	__ipc_perm14_to_native(&omsqbuf->msg_perm, &msqbuf->msg_perm);
    +
    +#define	CVT(x)	msqbuf->x = omsqbuf->x
    +	CVT(msg_qnum);
    +	CVT(msg_qbytes);
    +	CVT(msg_lspid);
    +	CVT(msg_lrpid);
    +	CVT(msg_stime);
    +	CVT(msg_rtime);
    +	CVT(msg_ctime);
    +#undef CVT
    +}
    +
    +static __inline void
    +__native_to_msqid_ds14(const struct msqid_ds *msqbuf, struct msqid_ds14 *omsqbuf)
    +{
    +
    +	__native_to_ipc_perm14(&msqbuf->msg_perm, &omsqbuf->msg_perm);
    +
    +#define	CVT(x)	omsqbuf->x = msqbuf->x
    +#define	CVTI(x)	omsqbuf->x = (int)msqbuf->x
    +	CVT(msg_qnum);
    +	CVT(msg_qbytes);
    +	CVT(msg_lspid);
    +	CVT(msg_lrpid);
    +	CVTI(msg_stime);
    +	CVTI(msg_rtime);
    +	CVTI(msg_ctime);
    +#undef CVT
    +#undef CVTI
    +}
    +
    +int	__msgctl13(int, int, struct msqid_ds13 *);
    +int	__msgctl14(int, int, struct msqid_ds14 *);
    +int	__msgctl50(int, int, struct msqid_ds *);
    +__END_DECLS
    +
    +#endif /* !_COMPAT_SYS_MSG_H_ */
    diff --git a/sys/compat/sys/poll.h b/sys/compat/sys/poll.h
    new file mode 100644
    index 000000000..4eb19b2ea
    --- /dev/null
    +++ b/sys/compat/sys/poll.h
    @@ -0,0 +1,54 @@
    +/*	$NetBSD: poll.h,v 1.2 2009/01/11 02:45:50 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1998 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Charles M. Hannum.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef _COMPAT_SYS_POLL_H_
    +#define	_COMPAT_SYS_POLL_H_
    +
    +#ifndef _KERNEL
    +#include 
    +#include 
    +
    +#ifdef _NETBSD_SOURCE
    +#include 	/* for sigset_t */
    +struct timespec;
    +struct timespec50;
    +
    +__BEGIN_DECLS
    +int	pollts(struct pollfd * __restrict, nfds_t,
    +    const struct timespec50 * __restrict, const sigset_t * __restrict);
    +int	__pollts50(struct pollfd * __restrict, nfds_t,
    +    const struct timespec * __restrict, const sigset_t * __restrict);
    +__END_DECLS
    +#endif /* _NETBSD_SOURCE */
    +
    +#endif /* _KERNEL */
    +
    +#endif /* !_COMPAT_SYS_POLL_H_ */
    diff --git a/sys/compat/sys/resource.h b/sys/compat/sys/resource.h
    new file mode 100644
    index 000000000..eea64fa07
    --- /dev/null
    +++ b/sys/compat/sys/resource.h
    @@ -0,0 +1,68 @@
    +/*	$NetBSD: resource.h,v 1.5 2013/10/04 21:07:37 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1986, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)resource.h	8.4 (Berkeley) 1/9/95
    + */
    +
    +#ifndef _COMPAT_SYS_RESOURCE_H_
    +#define	_COMPAT_SYS_RESOURCE_H_
    +
    +#include 
    +#include 
    +#include 
    +
    +struct	rusage50 {
    +	struct timeval50 ru_utime;	/* user time used */
    +	struct timeval50 ru_stime;	/* system time used */
    +	long	ru_maxrss;		/* max resident set size */
    +	long	ru_ixrss;		/* integral shared memory size */
    +	long	ru_idrss;		/* integral unshared data " */
    +	long	ru_isrss;		/* integral unshared stack " */
    +	long	ru_minflt;		/* page reclaims */
    +	long	ru_majflt;		/* page faults */
    +	long	ru_nswap;		/* swaps */
    +	long	ru_inblock;		/* block input operations */
    +	long	ru_oublock;		/* block output operations */
    +	long	ru_msgsnd;		/* messages sent */
    +	long	ru_msgrcv;		/* messages received */
    +	long	ru_nsignals;		/* signals received */
    +	long	ru_nvcsw;		/* voluntary context switches */
    +	long	ru_nivcsw;		/* involuntary " */
    +};
    +
    +void rusage_to_rusage50(const struct rusage *, struct rusage50 *);
    +
    +#ifndef _KERNEL
    +__BEGIN_DECLS
    +int	__compat_getrusage(int, struct rusage50 *) __dso_hidden;
    +int	__getrusage50(int, struct rusage *);
    +__END_DECLS
    +#endif	/* _KERNEL */
    +#endif	/* !_COMPAT_SYS_RESOURCE_H_ */
    diff --git a/sys/compat/sys/rnd.h b/sys/compat/sys/rnd.h
    new file mode 100644
    index 000000000..ef1fe25f4
    --- /dev/null
    +++ b/sys/compat/sys/rnd.h
    @@ -0,0 +1,150 @@
    +/*	$NetBSD: rnd.h,v 1.2 2011/12/20 16:38:06 drochner Exp $	*/
    +
    +/*-
    + * Copyright (c) 1997,2011 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Michael Graff .  This code uses ideas and
    + * algorithms from the Linux driver written by Ted Ts'o.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef _COMPAT_SYS_RND_H_
    +#define	_COMPAT_SYS_RND_H_
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd.h"
    +#include "opt_compat_netbsd32.h"
    +#endif
    +
    +#include 
    +#include 
    +
    +#ifdef COMPAT_NETBSD32
    +#include 
    +#endif /* COMPAT_NETBSD32 */
    +
    +#include 
    +
    +/*
    + * NetBSD-5 used "void *state" in the rndsource_t struct.  rndsource_t
    + * was used in rnstat_t and rnstat_name_t, which were used by
    + * the NetBSD-5 RNDGETSRCNUM and RNDGETSRCNAME ioctls.
    + *
    + */
    +
    +/* Sanitized random source view for userspace. */
    +typedef struct {
    +	char		name[16];	/* device name */
    +	uint32_t	unused_time;	/* was: last time recorded */
    +	uint32_t	unused_delta;	/* was: last delta value */
    +	uint32_t	unused_delta2;	/* was: last delta2 value */
    +	uint32_t	total;		/* entropy from this source */
    +	uint32_t	type;		/* type */
    +	uint32_t	flags;		/* flags */
    +	void		*unused_state;	/* was: internal state */
    +} rndsource50_t;
    +
    +#ifdef COMPAT_NETBSD32
    +typedef struct {
    +	char		name[16];	/* device name */
    +	uint32_t	unused_time;	/* was: last time recorded */
    +	uint32_t	unused_delta;	/* was: last delta value */
    +	uint32_t	unused_delta2;	/* was: last delta2 value */
    +	uint32_t	total;		/* entropy from this source */
    +	uint32_t	type;		/* type */
    +	uint32_t	flags;		/* flags */
    +	netbsd32_voidp	unused_state;	/* was: internal state */
    +} rndsource50_32_t;
    +#endif /* COMPAT_NETBSD32 */
    +
    +/*
    + * NetBSD-5 defined RND_MAXSTATCOUNT as 10.  We define RND_MAXSTATCOUNT50
    + * here, and check that the native RND_MAXSTATCOUNT is not smaller.
    + */
    +#define	RND_MAXSTATCOUNT50	10	/* 10 sources at once max */
    +#if (RND_MAXSTATCOUNT50 > RND_MAXSTATCOUNT)
    + #error "RND_MAXSTATCOUNT50 is too large"
    +#endif
    +
    +/*
    + * return "count" random entries, starting at "start"
    + */
    +typedef struct {
    +	uint32_t	start;
    +	uint32_t	count;
    +	rndsource50_t source[RND_MAXSTATCOUNT50];
    +} rndstat50_t;
    +
    +#ifdef COMPAT_NETBSD32
    +typedef struct {
    +	uint32_t	start;
    +	uint32_t	count;
    +	rndsource50_32_t source[RND_MAXSTATCOUNT50];
    +} rndstat50_32_t;
    +#endif /* COMPAT_NETBSD32 */
    +
    +/*
    + * return information on a specific source by name
    + */
    +typedef struct {
    +	char		name[16];
    +	rndsource50_t source;
    +} rndstat_name50_t;
    +
    +#ifdef COMPAT_NETBSD32
    +typedef struct {
    +	char		name[16];
    +	rndsource50_32_t source;
    +} rndstat_name50_32_t;
    +#endif /* COMPAT_NETBSD32 */
    +
    +/*
    + * NetBSD-5 defined RND_POOLWORDS as 128.  In NetBSD-6, the value
    + * exposed to userland via the rnddata_t type was renamed to
    + * RND_SAVEWORDS.  As long as RND_SAVEWORDS remains equal to 128, then
    + * rnddata_t (used by ioctl RNDADDATA), and rndpoolstat_t (used by ioctl
    + * RNDGETPOOLSTAT) remain ABI compatible without any extra effort, even
    + * though the declarations in the source code have changed.
    + */
    +#if (RND_SAVEWORDS != 128)
    + #error "RND_SAVEWORDS must be 128 for NetBSD-5 compatibility"
    +#endif
    +
    +/*
    + * Compatibility with NetBSD-5 ioctls.
    + */
    +#ifdef _KERNEL
    +int compat_50_rnd_ioctl(struct file *, u_long, void *);
    +#endif
    +
    +#define	RNDGETSRCNUM50		_IOWR('R', 102, rndstat50_t)
    +#define	RNDGETSRCNAME50		_IOWR('R', 103, rndstat_name50_t)
    +
    +#ifdef COMPAT_NETBSD32
    +#define	RNDGETSRCNUM50_32	_IOWR('R', 102, rndstat50_32_t)
    +#define	RNDGETSRCNAME50_32	_IOWR('R', 103, rndstat_name50_32_t)
    +#endif /* COMPAT_NETBSD32 */
    +
    +#endif /* !_COMPAT_SYS_RND_H_ */
    diff --git a/sys/compat/sys/select.h b/sys/compat/sys/select.h
    new file mode 100644
    index 000000000..9ef6635c4
    --- /dev/null
    +++ b/sys/compat/sys/select.h
    @@ -0,0 +1,61 @@
    +/*	$NetBSD: select.h,v 1.2 2009/01/11 02:45:50 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1992, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)select.h	8.2 (Berkeley) 1/4/94
    + */
    +
    +#ifndef _COMPAT_SYS_SELECT_H_
    +#define	_COMPAT_SYS_SELECT_H_
    +
    +#ifndef _KERNEL
    +#include 
    +#include 
    +#include 
    +
    +
    +#include 
    +#include 
    +#include 
    +
    +__BEGIN_DECLS
    +int	pselect(int, fd_set * __restrict, fd_set * __restrict,
    +    fd_set * __restrict, const struct timespec50 * __restrict,
    +    const sigset_t * __restrict);
    +int	select(int, fd_set * __restrict, fd_set * __restrict,
    +    fd_set * __restrict, struct timeval50 * __restrict);
    +int	__pselect50(int, fd_set * __restrict, fd_set * __restrict,
    +    fd_set * __restrict, const struct timespec * __restrict,
    +    const sigset_t * __restrict);
    +int	__select50(int, fd_set * __restrict, fd_set * __restrict,
    +    fd_set * __restrict, struct timeval * __restrict);
    +__END_DECLS
    +#endif /* _KERNEL */
    +
    +#endif /* !_COMPAT_SYS_SELECT_H_ */
    diff --git a/sys/compat/sys/sem.h b/sys/compat/sys/sem.h
    new file mode 100644
    index 000000000..a13bc07ea
    --- /dev/null
    +++ b/sys/compat/sys/sem.h
    @@ -0,0 +1,125 @@
    +/*	$NetBSD: sem.h,v 1.6 2009/01/19 19:39:41 christos Exp $	*/
    +
    +/*
    + * SVID compatible sem.h file
    + *
    + * Author: Daniel Boulet
    + */
    +
    +#ifndef _COMPAT_SYS_SEM_H_
    +#define _COMPAT_SYS_SEM_H_
    +
    +#include 
    +
    +struct semid_ds14 {
    +	struct ipc_perm14 sem_perm;	/* operation permission struct */
    +	struct __sem	*sem_base;	/* pointer to first semaphore in set */
    +	unsigned short	sem_nsems;	/* number of sems in set */
    +	int32_t		sem_otime;	/* last operation time */
    +	long		sem_pad1;	/* SVABI/386 says I need this here */
    +	int32_t		sem_ctime;	/* last change time */
    +    					/* Times measured in secs since */
    +    					/* 00:00:00 GMT, Jan. 1, 1970 */
    +	long		sem_pad2;	/* SVABI/386 says I need this here */
    +	long		sem_pad3[4];	/* SVABI/386 says I need this here */
    +};
    +
    +struct semid_ds13 {
    +	struct ipc_perm	sem_perm;	/* operation permission structure */
    +	unsigned short	sem_nsems;	/* number of semaphores in set */
    +	int32_t		sem_otime;	/* last semop() time */
    +	int32_t		sem_ctime;	/* last time changed by semctl() */
    +
    +	/*
    +	 * These members are private and used only in the internal
    +	 * implementation of this interface.
    +	 */
    +	struct __sem	*_sem_base;	/* pointer to first semaphore in set */
    +};
    +
    +/* Warning: 64-bit structure padding is needed here */
    +struct semid_ds_sysctl50 {
    +	struct	ipc_perm_sysctl sem_perm;
    +	int16_t	sem_nsems;
    +	int16_t	pad2;
    +	int32_t	pad3;
    +	int32_t	sem_otime;
    +	int32_t	sem_ctime;
    +};
    +
    +struct sem_sysctl_info50 {
    +	struct	seminfo seminfo;
    +	struct	semid_ds_sysctl50 semids[1];
    +};
    +
    +__BEGIN_DECLS
    +static __inline void	__semid_ds14_to_native(const struct semid_ds14 *, struct semid_ds *);
    +static __inline void	__native_to_semid_ds14(const struct semid_ds *, struct semid_ds14 *);
    +static __inline void	__semid_ds13_to_native(const struct semid_ds13 *, struct semid_ds *);
    +static __inline void	__native_to_semid_ds13(const struct semid_ds *, struct semid_ds13 *);
    +
    +static __inline void
    +__semid_ds13_to_native(const struct semid_ds13  *osembuf, struct semid_ds *sembuf)
    +{
    +
    +	sembuf->sem_perm = osembuf->sem_perm;
    +
    +#define	CVT(x)	sembuf->x = osembuf->x
    +	CVT(sem_nsems);
    +	CVT(sem_otime);
    +	CVT(sem_ctime);
    +#undef CVT
    +}
    +
    +static __inline void
    +__native_to_semid_ds13(const struct semid_ds *sembuf, struct semid_ds13 *osembuf)
    +{
    +
    +	osembuf->sem_perm = sembuf->sem_perm;
    +
    +#define	CVT(x)	osembuf->x = sembuf->x
    +#define	CVTI(x)	osembuf->x = (int)sembuf->x
    +	CVT(sem_nsems);
    +	CVTI(sem_otime);
    +	CVTI(sem_ctime);
    +#undef CVT
    +#undef CVTI
    +}
    +
    +static __inline void
    +__semid_ds14_to_native(const struct semid_ds14  *osembuf, struct semid_ds *sembuf)
    +{
    +
    +	__ipc_perm14_to_native(&osembuf->sem_perm, &sembuf->sem_perm);
    +
    +#define	CVT(x)	sembuf->x = osembuf->x
    +	CVT(sem_nsems);
    +	CVT(sem_otime);
    +	CVT(sem_ctime);
    +#undef CVT
    +}
    +
    +static __inline void
    +__native_to_semid_ds14(const struct semid_ds *sembuf, struct semid_ds14 *osembuf)
    +{
    +
    +	__native_to_ipc_perm14(&sembuf->sem_perm, &osembuf->sem_perm);
    +
    +#define	CVT(x)	osembuf->x = sembuf->x
    +#define	CVTI(x)	osembuf->x = (int)sembuf->x
    +	CVT(sem_nsems);
    +	CVTI(sem_otime);
    +	CVTI(sem_ctime);
    +#undef CVT
    +#undef CVTI
    +}
    +
    +int	semctl(int, int, int, ...);
    +int	__semctl(int, int, int, union __semun *);
    +int	__semctl13(int, int, int, ...);
    +int	__semctl14(int, int, int, ...);
    +int	__semctl50(int, int, int, ...);
    +int	____semctl50(int, int, int, ...);
    +__END_DECLS
    +
    +#endif /* !_COMPAT_SYS_SEM_H_ */
    diff --git a/sys/compat/sys/shm.h b/sys/compat/sys/shm.h
    new file mode 100644
    index 000000000..eca6c46ac
    --- /dev/null
    +++ b/sys/compat/sys/shm.h
    @@ -0,0 +1,170 @@
    +/*	$NetBSD: shm.h,v 1.7 2009/04/01 21:15:23 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1994 Adam Glass
    + * All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *      This product includes software developed by Adam Glass.
    + * 4. The name of the author may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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.
    + */
    +
    +/*
    + * As defined+described in "X/Open System Interfaces and Headers"
    + *                         Issue 4, p. XXX
    + */
    +
    +#ifndef _COMPAT_SYS_SHM_H_
    +#define _COMPAT_SYS_SHM_H_
    +
    +#include 
    +
    +struct shmid_ds14 {
    +	struct ipc_perm14 shm_perm;	/* operation permission structure */
    +	int		shm_segsz;	/* size of segment in bytes */
    +	pid_t		shm_lpid;	/* process ID of last shm op */
    +	pid_t		shm_cpid;	/* process ID of creator */
    +	short		shm_nattch;	/* number of current attaches */
    +	int32_t		shm_atime;	/* time of last shmat() */
    +	int32_t		shm_dtime;	/* time of last shmdt() */
    +	int32_t		shm_ctime;	/* time of last change by shmctl() */
    +	void		*shm_internal;	/* sysv stupidity */
    +};
    +
    +struct shmid_ds13 {
    +	struct ipc_perm	shm_perm;	/* operation permission structure */
    +	size_t		shm_segsz;	/* size of segment in bytes */
    +	pid_t		shm_lpid;	/* process ID of last shm operation */
    +	pid_t		shm_cpid;	/* process ID of creator */
    +	shmatt_t	shm_nattch;	/* number of current attaches */
    +	int32_t		shm_atime;	/* time of last shmat() */
    +	int32_t		shm_dtime;	/* time of last shmdt() */
    +	int32_t		shm_ctime;	/* time of last change by shmctl() */
    +
    +	/*
    +	 * These members are private and used only in the internal
    +	 * implementation of this interface.
    +	 */
    +	void		*_shm_internal;
    +};
    +
    +/* Warning: 64-bit structure padding is needed here */
    +struct shmid_ds_sysctl50 {
    +	struct		ipc_perm_sysctl shm_perm;
    +	uint64_t	shm_segsz;
    +	pid_t		shm_lpid;
    +	pid_t		shm_cpid;
    +	int32_t		shm_atime;
    +	int32_t		shm_dtime;
    +	int32_t		shm_ctime;
    +	uint32_t	shm_nattch;
    +};
    +struct shm_sysctl_info50 {
    +	struct	shminfo shminfo;
    +	struct	shmid_ds_sysctl50 shmids[1];
    +};
    +
    +__BEGIN_DECLS
    +static __inline void	__shmid_ds14_to_native(const struct shmid_ds14 *, struct shmid_ds *);
    +static __inline void	__native_to_shmid_ds14(const struct shmid_ds *, struct shmid_ds14 *);
    +static __inline void	__shmid_ds13_to_native(const struct shmid_ds13 *, struct shmid_ds *);
    +static __inline void	__native_to_shmid_ds13(const struct shmid_ds *, struct shmid_ds13 *);
    +static __inline void
    +__shmid_ds14_to_native(const struct shmid_ds14 *oshmbuf, struct shmid_ds *shmbuf)
    +{
    +
    +	__ipc_perm14_to_native(&oshmbuf->shm_perm, &shmbuf->shm_perm);
    +
    +#define	CVT(x)	shmbuf->x = oshmbuf->x
    +	CVT(shm_segsz);
    +	CVT(shm_lpid);
    +	CVT(shm_cpid);
    +	CVT(shm_nattch);
    +	CVT(shm_atime);
    +	CVT(shm_dtime);
    +	CVT(shm_ctime);
    +#undef CVT
    +}
    +
    +static __inline void
    +__native_to_shmid_ds14(const struct shmid_ds *shmbuf, struct shmid_ds14 *oshmbuf)
    +{
    +
    +	__native_to_ipc_perm14(&shmbuf->shm_perm, &oshmbuf->shm_perm);
    +
    +#define	CVT(x)	oshmbuf->x = shmbuf->x
    +#define	CVTI(x)	oshmbuf->x = (int)shmbuf->x
    +	CVTI(shm_segsz);
    +	CVT(shm_lpid);
    +	CVT(shm_cpid);
    +	CVT(shm_nattch);
    +	CVTI(shm_atime);
    +	CVTI(shm_dtime);
    +	CVTI(shm_ctime);
    +#undef CVT
    +#undef CVTI
    +}
    +
    +static __inline void
    +__shmid_ds13_to_native(const struct shmid_ds13 *oshmbuf, struct shmid_ds *shmbuf)
    +{
    +
    +	shmbuf->shm_perm = oshmbuf->shm_perm;
    +
    +#define	CVT(x)	shmbuf->x = oshmbuf->x
    +	CVT(shm_segsz);
    +	CVT(shm_lpid);
    +	CVT(shm_cpid);
    +	CVT(shm_nattch);
    +	CVT(shm_atime);
    +	CVT(shm_dtime);
    +	CVT(shm_ctime);
    +#undef CVT
    +}
    +
    +static __inline void
    +__native_to_shmid_ds13(const struct shmid_ds *shmbuf, struct shmid_ds13 *oshmbuf)
    +{
    +
    +	oshmbuf->shm_perm = shmbuf->shm_perm;
    +
    +#define	CVT(x)	oshmbuf->x = shmbuf->x
    +#define	CVTI(x)	oshmbuf->x = (int)shmbuf->x
    +	CVT(shm_segsz);
    +	CVT(shm_lpid);
    +	CVT(shm_cpid);
    +	CVT(shm_nattch);
    +	CVTI(shm_atime);
    +	CVTI(shm_dtime);
    +	CVTI(shm_ctime);
    +#undef CVT
    +#undef CVTI
    +}
    +
    +int	__shmctl13(int, int, struct shmid_ds13 *);
    +int	__shmctl14(int, int, struct shmid_ds14 *);
    +int	__shmctl50(int, int, struct shmid_ds *);
    +__END_DECLS
    +
    +#endif /* !_COMPAT_SYS_SHM_H_ */
    diff --git a/sys/compat/sys/siginfo.h b/sys/compat/sys/siginfo.h
    new file mode 100644
    index 000000000..47a1476b9
    --- /dev/null
    +++ b/sys/compat/sys/siginfo.h
    @@ -0,0 +1,85 @@
    +/*	$NetBSD: siginfo.h,v 1.4 2008/04/28 20:23:46 martin Exp $	 */
    +
    +/*-
    + * Copyright (c) 2002 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Christos Zoulas.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef	_COMPAT_SYS_SIGINFO_H_
    +#define	_COMPAT_SYS_SIGINFO_H_
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd32.h"
    +#endif
    +
    +#if defined(COMPAT_NETBSD32) && defined(_KERNEL)
    +
    +typedef union sigval32 {
    +	int sival_int;
    +	uint32_t sival_ptr;
    +} sigval32_t;
    +
    +struct __ksiginfo32 {
    +	int	_signo;
    +	int	_code;
    +	int	_errno;
    +
    +	union {
    +		struct {
    +			pid_t _pid;
    +			uid_t _uid;
    +			sigval32_t _value;
    +		} _rt;
    +
    +		struct {
    +			pid_t _pid;
    +			uid_t _uid;
    +			int _status;
    +			clock_t _utime;
    +			clock_t _stime;
    +		} _child;
    +
    +		struct {
    +			uint32_t _addr;
    +			int _trap;
    +		} _fault;
    +
    +		struct {
    +			int32_t _band;
    +			int _fd;
    +		} _poll;
    +	} _reason;
    +};
    +
    +typedef union siginfo32 {
    +	char	si_pad[128];
    +	struct __ksiginfo32 _info;
    +} siginfo32_t;
    +
    +#endif /* COMPAT_NETBSD32 && _KERNEL */
    +
    +#endif /* !_COMPAT_SYS_SIGINFO_H_ */
    diff --git a/sys/compat/sys/signal.h b/sys/compat/sys/signal.h
    new file mode 100644
    index 000000000..b36b5b938
    --- /dev/null
    +++ b/sys/compat/sys/signal.h
    @@ -0,0 +1,88 @@
    +/*	$NetBSD: signal.h,v 1.2 2005/12/11 12:20:29 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)signal.h	8.4 (Berkeley) 5/4/95
    + */
    +
    +#ifndef	_COMPAT_SYS_SIGNAL_H_
    +#define	_COMPAT_SYS_SIGNAL_H_
    +
    +#include 
    +
    +#if defined(_NETBSD_SOURCE)
    +
    +/* Number of signals supported by old style signal mask. */
    +#define	NSIG13		32
    +
    +#endif /* _NETBSD_SOURCE */
    +
    +#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
    +    defined(_NETBSD_SOURCE)
    +/*
    + * Signal vector "template" used in sigaction call.
    + */
    +struct	sigaction13 {
    +	void	(*osa_handler)		/* signal handler */
    +			   (int);
    +	sigset13_t osa_mask;		/* signal mask to apply */
    +	int	osa_flags;		/* see signal options below */
    +};
    +#endif
    +
    +#if defined(_NETBSD_SOURCE)
    +/*
    + * 4.3 compatibility:
    + * Signal vector "template" used in sigvec call.
    + */
    +struct	sigvec {
    +	void	(*sv_handler)		/* signal handler */
    +			   (int);
    +	int	sv_mask;		/* signal mask to apply */
    +	int	sv_flags;		/* see signal options below */
    +};
    +#define SV_ONSTACK	SA_ONSTACK
    +#define SV_INTERRUPT	SA_RESTART	/* same bit, opposite sense */
    +#define SV_RESETHAND	SA_RESETHAND
    +#define sv_onstack sv_flags	/* isn't compatibility wonderful! */
    +
    +#ifndef _KERNEL
    +__BEGIN_DECLS
    +int sigvec(int, struct sigvec *, struct sigvec *);
    +__END_DECLS
    +#endif
    +
    +#endif /* _NETBSD_SOURCE */
    +
    +#endif	/* !_COMPAT_SYS_SIGNAL_H_ */
    diff --git a/sys/compat/sys/signalvar.h b/sys/compat/sys/signalvar.h
    new file mode 100644
    index 000000000..a0ba77a58
    --- /dev/null
    +++ b/sys/compat/sys/signalvar.h
    @@ -0,0 +1,53 @@
    +/*	$NetBSD: signalvar.h,v 1.2 2005/12/11 12:20:29 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)signalvar.h	8.6 (Berkeley) 2/19/95
    + */
    +
    +#ifndef	_COMPAT_SYS_SIGNALVAR_H_
    +#define	_COMPAT_SYS_SIGNALVAR_H_
    +
    +#ifdef _KERNEL
    +/*
    + * Compatibility functions.  See compat/common/kern_sig_13.c.
    + */
    +void	native_sigset13_to_sigset(const sigset13_t *, sigset_t *);
    +void	native_sigset_to_sigset13(const sigset_t *, sigset13_t *);
    +void	native_sigaction13_to_sigaction(const struct sigaction13 *,
    +	    struct sigaction *);
    +void	native_sigaction_to_sigaction13(const struct sigaction *,
    +	    struct sigaction13 *);
    +void	native_sigaltstack13_to_sigaltstack(const struct sigaltstack13 *,
    +	    struct sigaltstack *);
    +void	native_sigaltstack_to_sigaltstack13(const struct sigaltstack *,
    +	    struct sigaltstack13 *);
    +#endif	/* _KERNEL */
    +
    +#endif	/* !_COMPAT_SYS_SIGNALVAR_H_ */
    diff --git a/sys/compat/sys/sigtypes.h b/sys/compat/sys/sigtypes.h
    new file mode 100644
    index 000000000..613a735aa
    --- /dev/null
    +++ b/sys/compat/sys/sigtypes.h
    @@ -0,0 +1,83 @@
    +/*	$NetBSD: sigtypes.h,v 1.2 2005/12/11 12:20:29 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)signal.h	8.4 (Berkeley) 5/4/95
    + */
    +
    +#ifndef	_COMPAT_SYS_SIGTYPES_H_
    +#define	_COMPAT_SYS_SIGTYPES_H_
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd32.h"
    +#endif
    +
    +#if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
    +    defined(_NETBSD_SOURCE)
    +
    +typedef unsigned int sigset13_t;
    +
    +/*
    + * Macro for manipulating signal masks.
    + */
    +#define __sigmask13(n)		(1 << ((n) - 1))
    +#define	__sigaddset13(s, n)	(*(s) |= __sigmask13(n))
    +#define	__sigdelset13(s, n)	(*(s) &= ~__sigmask13(n))
    +#define	__sigismember13(s, n)	(*(s) & __sigmask13(n))
    +#define	__sigemptyset13(s)	(*(s) = 0)
    +#define	__sigfillset13(s)	(*(s) = ~(sigset13_t)0)
    +
    +/* Not strictly a defined type, but is logically associated with stack_t. */
    +struct sigaltstack13 {
    +	char	*ss_sp;			/* signal stack base */
    +	int	ss_size;		/* signal stack length */
    +	int	ss_flags;		/* SS_DISABLE and/or SS_ONSTACK */
    +};
    +
    +#endif	/* _POSIX_C_SOURCE || _XOPEN_SOURCE || ... */
    +
    +#if defined(COMPAT_NETBSD32) && defined(_KERNEL)
    +
    +struct __sigaltstack32 {
    +	uint32_t	ss_sp;
    +	uint32_t	ss_size;
    +	int32_t		ss_flags;
    +};
    +
    +typedef struct __sigaltstack32 stack32_t;
    +
    +#endif /* COMPAT_NETBSD32 && _KERNEL */
    +
    +
    +#endif	/* !_COMPAT_SYS_SIGTYPES_H_ */
    diff --git a/sys/compat/sys/socket.h b/sys/compat/sys/socket.h
    new file mode 100644
    index 000000000..7f1608a2e
    --- /dev/null
    +++ b/sys/compat/sys/socket.h
    @@ -0,0 +1,92 @@
    +/*	$NetBSD: socket.h,v 1.12 2009/02/13 22:41:04 apb Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1985, 1986, 1988, 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)socket.h	8.6 (Berkeley) 5/3/95
    + */
    +
    +#ifndef _COMPAT_SYS_SOCKET_H_
    +#define	_COMPAT_SYS_SOCKET_H_
    +
    +#ifdef _KERNEL_OPT
    +
    +#include "opt_compat_linux.h"
    +#include "opt_compat_svr4.h"
    +#include "opt_compat_ultrix.h"
    +#include "opt_compat_43.h"
    +#include "opt_modular.h"
    +
    +#if defined(COMPAT_43) || defined(COMPAT_LINUX) || defined(COMPAT_SVR4) || \
    +    defined(COMPAT_ULTRIX) || defined(MODULAR)
    +#define COMPAT_OSOCK
    +#endif
    +
    +#else
    +#define COMPAT_OSOCK
    +#endif
    +
    +/*
    + * 4.3 compat sockaddr
    + */
    +struct osockaddr {
    +	uint16_t	sa_family;	/* address family */
    +	char		sa_data[14];	/* up to 14 bytes of direct address */
    +};
    +
    +/*
    + * 4.3-compat message header
    + */
    +struct omsghdr {
    +	void *		msg_name;	/* optional address */
    +	int		msg_namelen;	/* size of address */
    +	struct iovec	*msg_iov;	/* scatter/gather array */
    +	int		msg_iovlen;	/* # elements in msg_iov */
    +	void *		msg_accrights;	/* access rights sent/received */
    +	int		msg_accrightslen;
    +};
    +
    +#ifdef _KERNEL
    +
    +#define	SO_OSNDTIMEO	0x1005
    +#define	SO_ORCVTIMEO	0x1006
    +#define	SO_OTIMESTAMP	0x0400
    +#define	SCM_OTIMESTAMP	0x2
    +
    +__BEGIN_DECLS
    +struct socket;
    +struct proc;
    +u_long compat_cvtcmd(u_long cmd);
    +int compat_ifioctl(struct socket *, u_long, u_long, void *, struct lwp *);
    +int compat43_set_accrights(struct msghdr *, void *, int);
    +__END_DECLS
    +#else
    +int	__socket30(int, int, int);
    +#endif
    +
    +#endif /* !_COMPAT_SYS_SOCKET_H_ */
    diff --git a/sys/compat/sys/sockio.h b/sys/compat/sys/sockio.h
    new file mode 100644
    index 000000000..21e271e4d
    --- /dev/null
    +++ b/sys/compat/sys/sockio.h
    @@ -0,0 +1,187 @@
    +/*	$NetBSD: sockio.h,v 1.10 2010/11/14 15:36:47 uebayasi Exp $	*/
    +
    +/*-
    + * Copyright (c) 1982, 1986, 1990, 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +
    +#ifndef _COMPAT_SYS_SOCKIO_H_
    +#define	_COMPAT_SYS_SOCKIO_H_
    +
    +#ifdef _KERNEL_OPT
    +
    +#include "opt_compat_netbsd.h"
    +#include "opt_modular.h"
    +
    +#include 
    +
    +#if defined(COMPAT_09) || defined(COMPAT_10) || defined(COMPAT_11) || \
    +    defined(COMPAT_12) || defined(COMPAT_13) || defined(COMPAT_14) || \
    +    defined(COMPAT_15) || defined(COMPAT_16) || defined(COMPAT_20) || \
    +    defined(COMPAT_30) || defined(COMPAT_40) || defined(MODULAR)
    +#define COMPAT_OIFREQ
    +#endif
    +
    +#if defined(COMPAT_09) || defined(COMPAT_10) || defined(COMPAT_11) || \
    +    defined(COMPAT_12) || defined(COMPAT_13) || defined(COMPAT_14) || \
    +    defined(COMPAT_15) || defined(COMPAT_16) || defined(COMPAT_20) || \
    +    defined(COMPAT_30) || defined(COMPAT_40) || defined(COMPAT_50) || \
    +    defined(MODULAR)
    +#define COMPAT_OIFDATA
    +#endif
    +
    +#endif /* _KERNEL_OPT */
    +
    +struct oifreq {
    +	char	ifr_name[IFNAMSIZ];		/* if name, e.g. "en0" */
    +	union {
    +		struct	sockaddr ifru_addr;
    +		struct	sockaddr ifru_dstaddr;
    +		struct	sockaddr ifru_broadaddr;
    +		short	ifru_flags;
    +		int	ifru_metric;
    +		int	ifru_mtu;
    +		int	ifru_dlt;
    +		u_int	ifru_value;
    +		void *	ifru_data;
    +		struct {
    +			uint32_t	b_buflen;
    +			void		*b_buf;
    +		} ifru_b;
    +	} ifr_ifru;
    +};
    +struct	oifconf {
    +	int	ifc_len;		/* size of associated buffer */
    +	union {
    +		void *	ifcu_buf;
    +		struct	oifreq *ifcu_req;
    +	} ifc_ifcu;
    +#define	ifc_buf	ifc_ifcu.ifcu_buf	/* buffer address */
    +#define	ifc_req	ifc_ifcu.ifcu_req	/* array of structures returned */
    +};
    +
    +#include 
    +/*
    + * Structure defining statistics and other data kept regarding a network
    + * interface.
    + */
    +struct oif_data {
    +	/* generic interface information */
    +	u_char	ifi_type;		/* ethernet, tokenring, etc. */
    +	u_char	ifi_addrlen;		/* media address length */
    +	u_char	ifi_hdrlen;		/* media header length */
    +	int	ifi_link_state;		/* current link state */
    +	u_quad_t ifi_mtu;		/* maximum transmission unit */
    +	u_quad_t ifi_metric;		/* routing metric (external only) */
    +	u_quad_t ifi_baudrate;		/* linespeed */
    +	/* volatile statistics */
    +	u_quad_t ifi_ipackets;		/* packets received on interface */
    +	u_quad_t ifi_ierrors;		/* input errors on interface */
    +	u_quad_t ifi_opackets;		/* packets sent on interface */
    +	u_quad_t ifi_oerrors;		/* output errors on interface */
    +	u_quad_t ifi_collisions;	/* collisions on csma interfaces */
    +	u_quad_t ifi_ibytes;		/* total number of octets received */
    +	u_quad_t ifi_obytes;		/* total number of octets sent */
    +	u_quad_t ifi_imcasts;		/* packets received via multicast */
    +	u_quad_t ifi_omcasts;		/* packets sent via multicast */
    +	u_quad_t ifi_iqdrops;		/* dropped on input, this interface */
    +	u_quad_t ifi_noproto;		/* destined for unsupported protocol */
    +	struct	timeval50 ifi_lastchange;/* last operational state change */
    +};
    +
    +struct oifdatareq {
    +	char	ifdr_name[IFNAMSIZ];		/* if name, e.g. "en0" */
    +	struct	oif_data ifdr_data;
    +};
    +
    +#define	OSIOCSIFADDR	 _IOW('i', 12, struct oifreq)	/* set ifnet address */
    +#define	OOSIOCGIFADDR	 _IOWR('i', 13, struct oifreq)	/* get ifnet address */
    +#define	OSIOCSIFDSTADDR	 _IOW('i', 14, struct oifreq)	/* set p-p address */
    +#define	OOSIOCGIFDSTADDR _IOWR('i', 15, struct oifreq)	/* get p-p address */
    +#define OSIOCSIFFLAGS    _IOW('i', 16, struct oifreq)	/* set ifnet flags */
    +#define	OSIOCGIFFLAGS    _IOWR('i', 17, struct oifreq)	/* get ifnet flags */
    +#define	OOSIOCGIFBRDADDR _IOWR('i', 18, struct oifreq)	/* get bcast addr */
    +#define	OSIOCSIFBRDADDR	 _IOW('i', 19, struct oifreq)	/* set bcast addr */
    +#define	OOSIOCGIFCONF	 _IOWR('i', 20, struct ifconf)	/* get ifnet list */
    +#define	OOSIOCGIFNETMASK _IOWR('i', 21, struct oifreq)	/* get net addr mask */
    +#define	OSIOCSIFNETMASK	 _IOW('i', 22, struct oifreq)	/* set net addr mask */
    +#define	OSIOCGIFCONF	 _IOWR('i', 36, struct ifconf)	/* get ifnet list */
    +#define	OSIOCADDMULTI	 _IOW('i', 49, struct oifreq)	/* add m'cast addr */
    +#define	OSIOCDELMULTI	 _IOW('i', 50, struct oifreq)	/* del m'cast addr */
    +#define	OSIOCSIFMEDIA	 _IOWR('i', 53, struct oifreq)	/* set net media */
    +#define	OSIOCGIFMTU	 _IOWR('i', 126, struct oifreq)	/* get ifnet mtu */
    +#define	OSIOCGIFDATA	 _IOWR('i', 128, struct oifdatareq) /* get if_data */
    +#define	OSIOCZIFDATA	 _IOWR('i', 129, struct oifdatareq) /* get if_data then
    +							     zero ctrs*/
    +
    +
    +
    +
    +#define	OBIOCGETIF	 _IOR('B', 107, struct oifreq)
    +#define	OBIOCSETIF	 _IOW('B', 108, struct oifreq)
    +#define	OTAPGIFNAME	 _IOR('e', 0, struct oifreq)
    +
    +#define ifreqn2o(oi, ni) \
    +	do { \
    +		(void)memcpy((oi)->ifr_name, (ni)->ifr_name, \
    +		    sizeof((oi)->ifr_name)); \
    +		(void)memcpy(&(oi)->ifr_ifru, &(ni)->ifr_ifru, \
    +		    sizeof((oi)->ifr_ifru)); \
    +	} while (/*CONSTCOND*/0)
    +
    +#define ifreqo2n(oi, ni) \
    +	do { \
    +		(void)memcpy((ni)->ifr_name, (oi)->ifr_name, \
    +		    sizeof((oi)->ifr_name)); \
    +		(void)memcpy(&(ni)->ifr_ifru, &(oi)->ifr_ifru, \
    +		    sizeof((oi)->ifr_ifru)); \
    +	} while (/*CONSTCOND*/0)
    +
    +#define ifdatan2o(oi, ni) \
    +	do { \
    +		(void)memcpy((oi), (ni),  sizeof(*(oi))); \
    +		(oi)->ifi_lastchange.tv_sec = \
    +		    (int32_t)(ni)->ifi_lastchange.tv_sec; \
    +		(oi)->ifi_lastchange.tv_usec = \
    +		    (ni)->ifi_lastchange.tv_nsec / 1000; \
    +	} while (/*CONSTCOND*/0)
    +
    +#define ifdatao2n(oi, ni) \
    +	do { \
    +		(void)memcpy((ni), (oi),  sizeof(*(oi))); \
    +		    sizeof((oi)->ifr_name)); \
    +		(ni)->ifi_lastchange.tv_sec = (oi)->ifi_lastchange.tv_sec; \
    +		(ni)->ifi_lastchange.tv_nsec = \
    +		    (oi)->ifi_lastchange.tv_usec * 1000; \
    +	} while (/*CONSTCOND*/0)
    +#ifdef _KERNEL
    +__BEGIN_DECLS
    +int compat_ifconf(u_long, void *);
    +int compat_ifdatareq(struct lwp *, u_long, void *);
    +__END_DECLS
    +#endif
    +#endif /* _COMPAT_SYS_SOCKIO_H_ */
    diff --git a/sys/compat/sys/stat.h b/sys/compat/sys/stat.h
    new file mode 100644
    index 000000000..49eee3737
    --- /dev/null
    +++ b/sys/compat/sys/stat.h
    @@ -0,0 +1,203 @@
    +/*	$NetBSD: stat.h,v 1.6 2013/10/04 21:07:37 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1982, 1986, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)stat.h	8.12 (Berkeley) 8/17/94
    + */
    +
    +#ifndef _COMPAT_SYS_STAT_H_
    +#define	_COMPAT_SYS_STAT_H_
    +
    +#ifdef _KERNEL
    +#include 
    +
    +struct stat43 {				/* BSD-4.3 stat struct */
    +	uint16_t  st_dev;		/* inode's device */
    +	uint32_t  st_ino;		/* inode's number */
    +	uint16_t  st_mode;		/* inode protection mode */
    +	uint16_t  st_nlink;		/* number of hard links */
    +	uint16_t  st_uid;		/* user ID of the file's owner */
    +	uint16_t  st_gid;		/* group ID of the file's group */
    +	uint16_t  st_rdev;		/* device type */
    +	int32_t	  st_size;		/* file size, in bytes */
    +	struct	  timespec50 st_atimespec;/* time of last access */
    +	struct	  timespec50 st_mtimespec;/* time of last data modification */
    +	struct	  timespec50 st_ctimespec;/* time of last file status change */
    +	int32_t	  st_blksize;		/* optimal blocksize for I/O */
    +	int32_t	  st_blocks;		/* blocks allocated for file */
    +	uint32_t  st_flags;		/* user defined flags for file */
    +	uint32_t  st_gen;		/* file generation number */
    +};
    +#endif /* defined(_KERNEL) */
    +
    +struct stat12 {				/* NetBSD-1.2 stat struct */
    +	uint32_t  st_dev;		/* inode's device */
    +	uint32_t  st_ino;		/* inode's number */
    +	uint16_t  st_mode;		/* inode protection mode */
    +	uint16_t  st_nlink;		/* number of hard links */
    +	uid_t	  st_uid;		/* user ID of the file's owner */
    +	gid_t	  st_gid;		/* group ID of the file's group */
    +	uint32_t  st_rdev;		/* device type */
    +	struct	  timespec50 st_atimespec;/* time of last access */
    +	struct	  timespec50 st_mtimespec;/* time of last data modification */
    +	struct	  timespec50 st_ctimespec;/* time of last file status change */
    +	off_t	  st_size;		/* file size, in bytes */
    +	int64_t	  st_blocks;		/* blocks allocated for file */
    +	uint32_t  st_blksize;		/* optimal blocksize for I/O */
    +	uint32_t  st_flags;		/* user defined flags for file */
    +	uint32_t  st_gen;		/* file generation number */
    +	int32_t	  st_lspare;
    +	int64_t	  st_qspare[2];
    +};
    +
    +/*
    + * On systems with 8 byte longs and 4 byte time_ts, padding the time_ts
    + * is required in order to have a consistent ABI.  This is because the
    + * stat structure used to contain timespecs, which had different
    + * alignment constraints than a time_t and a long alone.  The padding
    + * should be removed the next time the stat structure ABI is changed.
    + * (This will happen whever we change to 8 byte time_t.)
    + */
    +#if defined(_LP64)	/* XXXX  && _BSD_TIME_T_ == int */
    +#define	__STATPAD(x)	int x;
    +#else
    +#define	__STATPAD(x)	/* nothing */
    +#endif
    +
    +struct stat13 {
    +	uint32_t  st_dev;		/* inode's device */
    +	uint32_t  st_ino;		/* inode's number */
    +	mode_t	  st_mode;		/* inode protection mode */
    +	nlink_t	  st_nlink;		/* number of hard links */
    +	uid_t	  st_uid;		/* user ID of the file's owner */
    +	gid_t	  st_gid;		/* group ID of the file's group */
    +	uint32_t  st_rdev;		/* device type */
    +#if defined(_NETBSD_SOURCE)
    +	struct	  timespec50 st_atimespec;/* time of last access */
    +	struct	  timespec50 st_mtimespec;/* time of last data modification */
    +	struct	  timespec50 st_ctimespec;/* time of last file status change */
    +#else
    +	__STATPAD(__pad0)
    +	int32_t	  st_atime;		/* time of last access */
    +	__STATPAD(__pad1)
    +	long	  st_atimensec;		/* nsec of last access */
    +	int32_t	  st_mtime;		/* time of last data modification */
    +	__STATPAD(__pad2)
    +	long	  st_mtimensec;		/* nsec of last data modification */
    +	int32_t	  st_ctime;		/* time of last file status change */
    +	__STATPAD(__pad3)
    +	long	  st_ctimensec;		/* nsec of last file status change */
    +#endif
    +	off_t	  st_size;		/* file size, in bytes */
    +	blkcnt_t  st_blocks;		/* blocks allocated for file */
    +	blksize_t st_blksize;		/* optimal blocksize for I/O */
    +	uint32_t  st_flags;		/* user defined flags for file */
    +	uint32_t  st_gen;		/* file generation number */
    +	uint32_t  st_spare0;
    +#if defined(_NETBSD_SOURCE)
    +	struct timespec50 st_birthtimespec;
    +#else
    +	int32_t	  st_birthtime;
    +	__STATPAD(__pad4)
    +	long	  st_birthtimensec;
    +#endif
    +#if !defined(_LP64)
    +	int	__pad5;
    +#endif
    +};
    +
    +struct stat30 {
    +	uint32_t  st_dev;		/* inode's device */
    +	mode_t	  st_mode;		/* inode protection mode */
    +	ino_t	  st_ino;		/* inode's number */
    +	nlink_t	  st_nlink;		/* number of hard links */
    +	uid_t	  st_uid;		/* user ID of the file's owner */
    +	gid_t	  st_gid;		/* group ID of the file's group */
    +	uint32_t  st_rdev;		/* device type */
    +#if defined(_NETBSD_SOURCE)
    +	struct	  timespec50 st_atimespec;/* time of last access */
    +	struct	  timespec50 st_mtimespec;/* time of last data modification */
    +	struct	  timespec50 st_ctimespec;/* time of last file status change */
    +	struct 	  timespec50 st_birthtimespec; /* time of creation */
    +#else
    +	int32_t	  st_atime;		/* time of last access */
    +	__STATPAD(__pad0)
    +	long	  st_atimensec;		/* nsec of last access */
    +	int32_t	  st_mtime;		/* time of last data modification */
    +	__STATPAD(__pad1)
    +	long	  st_mtimensec;		/* nsec of last data modification */
    +	int32_t	  st_ctime;		/* time of last file status change */
    +	__STATPAD(__pad2)
    +	long	  st_ctimensec;		/* nsec of last file status change */
    +	int32_t	  st_birthtime;		/* time of creation */
    +	__STATPAD(__pad3)
    +	long	  st_birthtimensec;	/* nsec of time of creation */
    +#endif
    +	off_t	  st_size;		/* file size, in bytes */
    +	blkcnt_t  st_blocks;		/* blocks allocated for file */
    +	blksize_t st_blksize;		/* optimal blocksize for I/O */
    +	uint32_t  st_flags;		/* user defined flags for file */
    +	uint32_t  st_gen;		/* file generation number */
    +	uint32_t  st_spare[2];
    +};
    +
    +#undef __STATPAD
    +
    +#if defined(_KERNEL)
    +void compat_12_stat_conv(const struct stat *st, struct stat12 *ost);
    +#endif
    +
    +#if !defined(_KERNEL) && !defined(_STANDALONE)
    +
    +__BEGIN_DECLS
    +int	__compat_stat(const char *, struct stat12 *) __dso_hidden;
    +int	__compat_fstat(int, struct stat12 *) __dso_hidden;
    +int	__compat_mknod(const char *, mode_t, uint32_t) __dso_hidden;
    +int	__compat___stat13(const char *, struct stat13 *) __dso_hidden;
    +int	__compat___fstat13(int, struct stat13 *) __dso_hidden;
    +int	__compat___stat30(const char *, struct stat30 *) __dso_hidden;
    +int	__compat___fstat30(int, struct stat30 *) __dso_hidden;
    +int	__stat50(const char *, struct stat *);
    +int	__fstat50(int, struct stat *);
    +int	__mknod50(const char *, mode_t, dev_t);
    +#if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
    +int	__compat_lstat(const char *, struct stat12 *) __dso_hidden;
    +int	__compat___lstat13(const char *, struct stat13 *) __dso_hidden;
    +int	__compat___lstat30(const char *, struct stat30 *) __dso_hidden;
    +int	__lstat50(const char *, struct stat *);
    +#endif /* defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) */
    +__END_DECLS
    +
    +#endif /* !_KERNEL && !_STANDALONE */
    +#endif /* !_COMPAT_SYS_STAT_H_ */
    diff --git a/sys/compat/sys/time.h b/sys/compat/sys/time.h
    new file mode 100644
    index 000000000..eb35ee7ff
    --- /dev/null
    +++ b/sys/compat/sys/time.h
    @@ -0,0 +1,74 @@
    +/*	$NetBSD: time.h,v 1.5 2013/10/04 21:07:37 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1986, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)time.h	8.5 (Berkeley) 5/4/95
    + */
    +
    +#ifndef _COMPAT_SYS_TIME_H_
    +#define	_COMPAT_SYS_TIME_H_
    +
    +#include 
    +#include 
    +
    +#include 
    +
    +#if !defined(_KERNEL) && !defined(_STANDALONE)
    +__BEGIN_DECLS
    +#if (_POSIX_C_SOURCE - 0) >= 200112L || \
    +    defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
    +int	getitimer(int, struct itimerval50 *);
    +int	__compat_gettimeofday(struct timeval50 * __restrict, void *__restrict)
    +    __dso_hidden;
    +int	setitimer(int, const struct itimerval50 * __restrict,
    +	    struct itimerval50 * __restrict);
    +int	utimes(const char *, const struct timeval50 [2]);
    +int	__getitimer50(int, struct itimerval *);
    +int	__gettimeofday50(struct timeval * __restrict, void *__restrict);
    +int	__setitimer50(int, const struct itimerval * __restrict,
    +	    struct itimerval * __restrict);
    +int	__utimes50(const char *, const struct timeval [2]);
    +#endif /* _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE || _NETBSD_SOURCE */
    +
    +#if defined(_NETBSD_SOURCE)
    +int	adjtime(const struct timeval50 *, struct timeval50 *);
    +int	futimes(int, const struct timeval50 [2]);
    +int	lutimes(const char *, const struct timeval50 [2]);
    +int	settimeofday(const struct timeval50 * __restrict,
    +	    const void *__restrict);
    +int	__adjtime50(const struct timeval *, struct timeval *);
    +int	__futimes50(int, const struct timeval [2]);
    +int	__lutimes50(const char *, const struct timeval [2]);
    +int	__settimeofday50(const struct timeval * __restrict,
    +	    const void *__restrict);
    +#endif /* _NETBSD_SOURCE */
    +__END_DECLS
    +
    +#endif	/* !_KERNEL && !_STANDALONE */
    +#endif /* !_COMPAT_SYS_TIME_H_ */
    diff --git a/sys/compat/sys/time_types.h b/sys/compat/sys/time_types.h
    new file mode 100644
    index 000000000..f80018121
    --- /dev/null
    +++ b/sys/compat/sys/time_types.h
    @@ -0,0 +1,124 @@
    +/*	$NetBSD: time_types.h,v 1.1 2009/11/05 16:59:01 pooka Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1986, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)time.h	8.5 (Berkeley) 5/4/95
    + */
    +
    +#ifndef _COMPAT_SYS_TIME_TYPES_H_
    +#define	_COMPAT_SYS_TIME_TYPES_H_
    +
    +/*
    + * Structure returned by gettimeofday(2) system call,
    + * and used in other calls.
    + */
    +struct timeval50 {
    +	long	tv_sec;		/* seconds */
    +	long	tv_usec;	/* and microseconds */
    +};
    +
    +struct	itimerval50 {
    +	struct	timeval50 it_interval;	/* timer interval */
    +	struct	timeval50 it_value;	/* current value */
    +};
    +
    +/*
    + * Structure defined by POSIX.1b to be like a timeval.
    + */
    +struct timespec50 {
    +	int32_t	tv_sec;		/* seconds */
    +	long	tv_nsec;	/* and nanoseconds */
    +};
    +
    +/*
    + * Structure defined by POSIX.1b to be like a itimerval, but with
    + * timespecs. Used in the timer_*() system calls.
    + */
    +struct	itimerspec50 {
    +	struct	timespec50 it_interval;
    +	struct	timespec50 it_value;
    +};
    +
    +static __inline void timeval50_to_timeval(const struct timeval50 *ts50,
    +    struct timeval *ts)
    +{
    +	ts->tv_sec = ts50->tv_sec;
    +	ts->tv_usec = (suseconds_t)ts50->tv_usec;
    +}
    +
    +static __inline void timeval_to_timeval50(const struct timeval *ts,
    +    struct timeval50 *ts50)
    +{
    +	ts50->tv_sec = (long)ts->tv_sec;
    +	ts50->tv_usec = ts->tv_usec;
    +}
    +
    +static __inline void timespec50_to_timespec(const struct timespec50 *ts50,
    +    struct timespec *ts)
    +{
    +	ts->tv_sec = ts50->tv_sec;
    +	ts->tv_nsec = ts50->tv_nsec;
    +}
    +
    +static __inline void timespec_to_timespec50(const struct timespec *ts,
    +    struct timespec50 *ts50)
    +{
    +	ts50->tv_sec = (int32_t)ts->tv_sec;
    +	ts50->tv_nsec = ts->tv_nsec;
    +}
    +
    +static __inline void itimerval50_to_itimerval(const struct itimerval50 *ts50,
    +    struct itimerval *ts)
    +{
    +	timeval50_to_timeval(&ts50->it_interval, &ts->it_interval);
    +	timeval50_to_timeval(&ts50->it_value, &ts->it_value);
    +}
    +
    +static __inline void itimerval_to_itimerval50(const struct itimerval *ts,
    +    struct itimerval50 *ts50)
    +{
    +	timeval_to_timeval50(&ts->it_interval, &ts50->it_interval);
    +	timeval_to_timeval50(&ts->it_value, &ts50->it_value);
    +}
    +
    +static __inline void itimerspec50_to_itimerspec(const struct itimerspec50 *ts50,
    +    struct itimerspec *ts)
    +{
    +	timespec50_to_timespec(&ts50->it_interval, &ts->it_interval);
    +	timespec50_to_timespec(&ts50->it_value, &ts->it_value);
    +}
    +
    +static __inline void itimerspec_to_itimerspec50(const struct itimerspec *ts,
    +    struct itimerspec50 *ts50)
    +{
    +	timespec_to_timespec50(&ts->it_interval, &ts50->it_interval);
    +	timespec_to_timespec50(&ts->it_value, &ts50->it_value);
    +}
    +
    +#endif /* _COMPAT_SYS_TIME_TYPES_H_ */
    diff --git a/sys/compat/sys/times.h b/sys/compat/sys/times.h
    new file mode 100644
    index 000000000..4801ab52d
    --- /dev/null
    +++ b/sys/compat/sys/times.h
    @@ -0,0 +1,48 @@
    +/*	$NetBSD: times.h,v 1.3 2005/12/11 12:20:29 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1990, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)times.h	8.4 (Berkeley) 1/21/94
    + */
    +
    +#ifndef	_COMPAT_SYS_TIMES_H_
    +#define	_COMPAT_SYS_TIMES_H_
    +
    +#ifndef _KERNEL
    +__BEGIN_DECLS
    +clock_t	times(struct tms *);
    +__END_DECLS
    +#endif
    +
    +#endif /* !_COMPAT_SYS_TIMES_H_ */
    diff --git a/sys/compat/sys/timex.h b/sys/compat/sys/timex.h
    new file mode 100644
    index 000000000..beb3f3fa6
    --- /dev/null
    +++ b/sys/compat/sys/timex.h
    @@ -0,0 +1,54 @@
    +/*	$NetBSD: timex.h,v 1.2 2009/01/11 02:45:50 christos Exp $	*/
    +
    +/*-
    + ***********************************************************************
    + *								       *
    + * Copyright (c) David L. Mills 1993-2001			       *
    + *								       *
    + * Permission to use, copy, modify, and distribute this software and   *
    + * its documentation for any purpose and without fee is hereby	       *
    + * granted, provided that the above copyright notice appears in all    *
    + * copies and that both the copyright notice and this permission       *
    + * notice appear in supporting documentation, and that the name        *
    + * University of Delaware not be used in advertising or publicity      *
    + * pertaining to distribution of the software without specific,	       *
    + * written prior permission. The University of Delaware makes no       *
    + * representations about the suitability this software for any	       *
    + * purpose. It is provided "as is" without express or implied	       *
    + * warranty.							       *
    + *								       *
    + **********************************************************************/
    +#ifndef _COMPAT_SYS_TIMEX_H_
    +#define _COMPAT_SYS_TIMEX_H_ 1
    +
    +#include 
    +/*
    + * NTP user interface (ntp_gettime()) - used to read kernel clock values
    + *
    + * Note: The time member is in microseconds if STA_NANO is zero and
    + * nanoseconds if not.
    + */
    +struct ntptimeval50 {
    +	struct timespec50 time;	/* current time (ns) (ro) */
    +	long maxerror;		/* maximum error (us) (ro) */
    +	long esterror;		/* estimated error (us) (ro) */
    +	long tai;		/* TAI offset */
    +	int time_state;		/* time status */
    +};
    +
    +struct ntptimeval30 {
    +	struct timeval50 time;	/* current time (ro) */
    +	long maxerror;		/* maximum error (us) (ro) */
    +	long esterror;		/* estimated error (us) (ro) */
    +};
    +
    +#ifndef _KERNEL
    +#include 
    +__BEGIN_DECLS
    +int	ntp_gettime(struct ntptimeval30 *);
    +int	__ntp_gettime30(struct ntptimeval50 *);
    +int	__ntp_gettime50(struct ntptimeval *);
    +__END_DECLS
    +#endif /* !_KERNEL */
    +
    +#endif /* _COMPAT_SYS_TIMEX_H_ */
    diff --git a/sys/compat/sys/ttycom.h b/sys/compat/sys/ttycom.h
    new file mode 100644
    index 000000000..a535f0a65
    --- /dev/null
    +++ b/sys/compat/sys/ttycom.h
    @@ -0,0 +1,66 @@
    +/*	$NetBSD: ttycom.h,v 1.2 2012/10/19 17:16:55 apb Exp $	*/
    +
    +/*-
    + * Copyright (c) 2012 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Alan Barrett
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef	_COMPAT_SYS_TTYCOM_H_
    +#define	_COMPAT_SYS_TTYCOM_H_
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd.h"
    +#include "opt_compat_netbsd32.h"
    +#endif
    +
    +#include 
    +#include 
    +
    +#ifdef COMPAT_60
    +
    +/*
    + * The cn and sn fields in struct ptmget changed size from
    + * char[16] to char[PATH_MAX] in NetBSD-6.99.14.
    + */
    +struct compat_60_ptmget {
    +	int	cfd;
    +	int	sfd;
    +	char	cn[16];
    +	char	sn[16];
    +};
    +
    +#define COMPAT_60_TIOCPTMGET 	 _IOR('t', 70, struct compat_60_ptmget)
    +#define COMPAT_60_TIOCPTSNAME 	 _IOR('t', 72, struct compat_60_ptmget)
    +
    +#ifdef _KERNEL
    +int compat_60_ttioctl(struct tty *, u_long, void *, int, struct lwp *);
    +int compat_60_ptmioctl(dev_t, u_long, void *, int, struct lwp *);
    +#endif
    +
    +#endif /* COMPAT_60 */
    +
    +#endif /* !_COMPAT_SYS_TTYCOM_H_ */
    diff --git a/sys/compat/sys/ucontext.h b/sys/compat/sys/ucontext.h
    new file mode 100644
    index 000000000..ae9a16d3f
    --- /dev/null
    +++ b/sys/compat/sys/ucontext.h
    @@ -0,0 +1,73 @@
    +/*	$NetBSD: ucontext.h,v 1.6 2012/05/21 14:15:19 martin Exp $	*/
    +
    +/*-
    + * Copyright (c) 1999, 2003 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Klaus Klein, and by Jason R. Thorpe.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef _COMPAT_SYS_UCONTEXT_H_
    +#define _COMPAT_SYS_UCONTEXT_H_
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd32.h"
    +#endif
    +
    +#include 
    +
    +#if defined(COMPAT_NETBSD32) && defined(_KERNEL)
    +
    +typedef struct __ucontext32       ucontext32_t;
    +
    +struct __ucontext32 {
    +	unsigned int	uc_flags;       /* properties */
    +	uint32_t 	uc_link;        /* context to resume */
    +	sigset_t	uc_sigmask;     /* signals blocked in this context */
    +	stack32_t	uc_stack;       /* the stack used by this context */
    +	mcontext32_t	uc_mcontext;    /* machine state */
    +#if defined(_UC_MACHINE32_PAD)
    +	int		__uc_pad[_UC_MACHINE32_PAD];
    +#endif
    +};
    +
    +#ifdef __UCONTEXT32_SIZE
    +__CTASSERT(sizeof(ucontext32_t) == __UCONTEXT32_SIZE);
    +#endif
    +
    +#endif /* COMPAT_NETBSD32 && _KERNEL */
    +
    +#ifdef _KERNEL
    +#ifdef COMPAT_NETBSD32
    +struct lwp;
    +void	getucontext32(struct lwp *, ucontext32_t *);
    +int	setucontext32(struct lwp *, const ucontext32_t *);
    +int	cpu_mcontext32_validate(struct lwp *, const mcontext32_t *);
    +void	cpu_getmcontext32(struct lwp *, mcontext32_t *, unsigned int *);
    +int	cpu_setmcontext32(struct lwp *, const mcontext32_t *, unsigned int);
    +#endif /* COMPAT_NETBSD32 */
    +#endif /* _KERNEL */
    +
    +#endif /* !_COMPAT_SYS_UCONTEXT_H_ */
    diff --git a/sys/compat/sys/wait.h b/sys/compat/sys/wait.h
    new file mode 100644
    index 000000000..155da84f4
    --- /dev/null
    +++ b/sys/compat/sys/wait.h
    @@ -0,0 +1,48 @@
    +/*	$NetBSD: wait.h,v 1.2 2009/01/11 02:45:50 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)wait.h	8.2 (Berkeley) 7/10/94
    + */
    +
    +#ifndef _COMPAT_SYS_WAIT_H_
    +#define	_COMPAT_SYS_WAIT_H_
    +
    +#include 
    +#include 
    +
    +#ifndef _KERNEL
    +__BEGIN_DECLS
    +pid_t	wait3(int *, int, struct rusage50 *);
    +pid_t	wait4(pid_t, int *, int, struct rusage50 *);
    +pid_t	__wait350(int *, int, struct rusage *);
    +pid_t	__wait450(pid_t, int *, int, struct rusage *);
    +__END_DECLS
    +#endif	/* _KERNEL */
    +#endif	/* !_COMPAT_SYS_WAIT_H_ */
    diff --git a/sys/conf/copyright b/sys/conf/copyright
    index 07e2b736a..5a31968f5 100644
    --- a/sys/conf/copyright
    +++ b/sys/conf/copyright
    @@ -1 +1,5 @@
    -Copyright (c) 2012, Vrije Universiteit, Amsterdam, The Netherlands
    +Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    +    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
    +    The NetBSD Foundation, Inc.  All rights reserved.
    +Copyright (c) 1982, 1986, 1989, 1991, 1993
    +    The Regents of the University of California.  All rights reserved.
    diff --git a/sys/conf/osrelease.sh b/sys/conf/osrelease.sh
    index 02f4c9e75..9b2a28247 100644
    --- a/sys/conf/osrelease.sh
    +++ b/sys/conf/osrelease.sh
    @@ -1,6 +1,6 @@
     #!/bin/sh
     #
    -#	$NetBSD: osrelease.sh,v 1.120 2009/11/15 18:41:08 dsl Exp $
    +#	$NetBSD: osrelease.sh,v 1.122 2012/02/16 23:56:57 christos Exp $
     #
     # Copyright (c) 1997 The NetBSD Foundation, Inc.
     # All rights reserved.
    @@ -32,7 +32,6 @@
     
     # We use the number specified in 
     
    -
     path="$0"
     [ "${path#/*}" = "$path" ] && path="./$path"
     
    diff --git a/sys/dev/Makefile b/sys/dev/Makefile
    index ed2838983..9c630a2a3 100644
    --- a/sys/dev/Makefile
    +++ b/sys/dev/Makefile
    @@ -7,7 +7,7 @@ SUBDIR=	apm ata bluetooth dec dm dmover dtv filemon hpc \
     	i2c i2o ic ieee1394 ir isa \
     	microcode ofw pci pckbport pcmcia pud putter raidframe sbus scsipi \
     	sun tc usb vme wscons
    -.endif
    +.endif # defined(__MINIX)
     
     .include 
     
    @@ -23,6 +23,6 @@ INCS=	biovar.h ccdvar.h cgdvar.h fssvar.h keylock.h kttcpio.h lockstat.h \
     	md.h vndvar.h
     .else
     INCS=	vndvar.h
    -.endif
    +.endif # !defined(__MINIX)
     
     .include 
    diff --git a/sys/dev/i2c/i2c_io.h b/sys/dev/i2c/i2c_io.h
    index 60af0ea02..8ded9666f 100644
    --- a/sys/dev/i2c/i2c_io.h
    +++ b/sys/dev/i2c/i2c_io.h
    @@ -98,8 +98,13 @@ typedef struct i2c_ioctl_exec {
     	void *iie_buf;			/* pointer to data buffer */
     	size_t iie_buflen;		/* length of data buffer */
     } i2c_ioctl_exec_t;
    +#if defined(__minix)
     #define	I2C_EXEC_MAX_CMDLEN	128
     #define	I2C_EXEC_MAX_BUFLEN	128
    +#else
    +#define	I2C_EXEC_MAX_CMDLEN	32
    +#define	I2C_EXEC_MAX_BUFLEN	32
    +#endif /* defined(__minix) */
     
     #define	I2C_IOCTL_EXEC		 _IOW('I', 0, i2c_ioctl_exec_t)
     
    diff --git a/sys/dev/ic/comreg.h b/sys/dev/ic/comreg.h
    index c028ce4c1..dc1437602 100644
    --- a/sys/dev/ic/comreg.h
    +++ b/sys/dev/ic/comreg.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: comreg.h,v 1.17 2011/05/28 19:30:19 matt Exp $	*/
    +/*	$NetBSD: comreg.h,v 1.22 2013/10/03 13:23:03 kiyohara Exp $	*/
     
     /*-
      * Copyright (c) 1991 The Regents of the University of California.
    @@ -61,13 +61,18 @@
     #define	IIR_TXRDY	0x2	/* Transmitter ready */
     #define	IIR_MLSC	0x0	/* Modem status */
     #define	IIR_NOPEND	0x1	/* No pending interrupts */
    +#define	IIR_64B_FIFO	0x20	/* 64byte FIFO Enabled (16750) */
     #define	IIR_FIFO_MASK	0xc0	/* set if FIFOs are enabled */
    +#ifdef COM_16750
    +#define IIR_BUSY	0x7	/* Busy indicator */
    +#endif
     
     /* fifo control register */
     #define	FIFO_ENABLE	0x01	/* Turn the FIFO on */
     #define	FIFO_RCV_RST	0x02	/* Reset RX FIFO */
     #define	FIFO_XMT_RST	0x04	/* Reset TX FIFO */
     #define	FIFO_DMA_MODE	0x08
    +#define	FIFO_64B_ENABLE	0x20	/* 64byte FIFO Enable (16750) */
     #define	FIFO_TRIGGER_1	0x00	/* Trigger RXRDY intr on 1 character */
     #define	FIFO_TRIGGER_4	0x40	/* ibid 4 */
     #define	FIFO_TRIGGER_8	0x80	/* ibid 8 */
    @@ -107,6 +112,7 @@
     #define MCR_PRESCALE	0x80	/* 16650/16950: Baud rate prescaler select */
     #define MCR_TCR_TLR	0x40	/* OMAP: enables access to the TCR & TLR regs */
     #define MCR_XONENABLE	0x20	/* OMAP XON_EN */
    +#define MCR_AFE		0x20	/* tl16c750: Flow Control Enable */
     #define	MCR_LOOPBACK	0x10	/* Loop test: echos from TX to RX */
     #define	MCR_IENABLE	0x08	/* Out2: enables UART interrupts */
     #define	MCR_DRS		0x04	/* Out1: resets some internal modems */
    diff --git a/sys/dev/ic/ns16550reg.h b/sys/dev/ic/ns16550reg.h
    index 4295647df..45310fd9a 100644
    --- a/sys/dev/ic/ns16550reg.h
    +++ b/sys/dev/ic/ns16550reg.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ns16550reg.h,v 1.7 2005/12/11 12:21:28 christos Exp $	*/
    +/*	$NetBSD: ns16550reg.h,v 1.10 2013/10/03 13:23:03 kiyohara Exp $	*/
     
     /*-
      * Copyright (c) 1991 The Regents of the University of California.
    @@ -47,3 +47,11 @@
     #define	com_lsr		5	/* line status register (R/W) */
     #define	com_msr		6	/* modem status register (R/W) */
     #define	com_scratch	7	/* scratch register (R/W) */
    +
    +/*
    + * Additional register present in NS16750 
    + */
    +#ifdef COM_16750
    +#define com_usr		31	/* status register (R) */
    +#endif
    +
    diff --git a/sys/dev/videomode/edid.c b/sys/dev/videomode/edid.c
    index c963b4f5f..54946c8f5 100644
    --- a/sys/dev/videomode/edid.c
    +++ b/sys/dev/videomode/edid.c
    @@ -35,19 +35,19 @@
     __KERNEL_RCSID(0, "$NetBSD: edid.c,v 1.12 2013/02/08 16:35:10 skrll Exp $");
     
     #include 
    -#ifdef __minix
    +#if defined(__minix)
     #include 
     #include 
     #include 
     #ifndef aprint_debug
     #define aprint_debug if (0) printf
     #endif /* !aprint_debug */
    -#else /* !__minix */
    +#else
     #include 
     #include 
     #include 
     #include 
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     #include 
     #include 
     #include 
    diff --git a/sys/dev/videomode/pickmode.c b/sys/dev/videomode/pickmode.c
    index 9dd67340c..bc6563675 100644
    --- a/sys/dev/videomode/pickmode.c
    +++ b/sys/dev/videomode/pickmode.c
    @@ -33,11 +33,11 @@ __KERNEL_RCSID(0, "$NetBSD: pickmode.c,v 1.4 2011/04/09 20:53:39 christos Exp $"
     
     #include 
     #include 
    -#ifndef __minix
    +#if !defined(__minix)
     #include "opt_videomode.h"
     #else
     #include 
    -#endif
    +#endif /* !defined(__minix) */
     #ifndef abs
     #define abs(x) (((x) < 0) ? -(x) : (x))
     #endif
    diff --git a/sys/dev/videomode/vesagtf.c b/sys/dev/videomode/vesagtf.c
    index a3fd6ac89..1d6a85e2b 100644
    --- a/sys/dev/videomode/vesagtf.c
    +++ b/sys/dev/videomode/vesagtf.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: vesagtf.c,v 1.1 2006/05/11 01:49:53 gdamore Exp $ */
    +/* $NetBSD: vesagtf.c,v 1.2 2013/09/15 15:56:07 martin Exp $ */
     
     /*-
      * Copyright (c) 2006 Itronix Inc.
    @@ -153,7 +153,7 @@
     #ifdef	_KERNEL
     #include 
     
    -__KERNEL_RCSID(0, "$NetBSD: vesagtf.c,v 1.1 2006/05/11 01:49:53 gdamore Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: vesagtf.c,v 1.2 2013/09/15 15:56:07 martin Exp $");
     #include 
     #include 
     #include 
    @@ -226,12 +226,12 @@ vesagtf_mode_params(unsigned h_pixels, unsigned v_lines, unsigned freq,
         unsigned interlace;
         uint64_t h_period_est;
         unsigned vsync_plus_bp;
    -    unsigned v_back_porch;
    +    unsigned v_back_porch __unused;
         unsigned total_v_lines;
         uint64_t v_field_est;
         uint64_t h_period;
         unsigned v_field_rate;
    -    unsigned v_frame_rate;
    +    unsigned v_frame_rate __unused;
         unsigned left_margin;
         unsigned right_margin;
         unsigned total_active_pixels;
    @@ -660,7 +660,7 @@ vesagtf_mode(unsigned x, unsigned y, unsigned refresh, struct videomode *vmp)
     
     /* print_xf86_mode() - print the XFree86 modeline, given mode timings. */
     
    -#ifndef __minix
    +#if !defined(__minix)
     #ifndef _KERNEL
     void
     print_xf86_mode (struct videomode *vmp)
    @@ -701,4 +701,4 @@ main (int argc, char *argv[])
         
     }
     #endif
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
    diff --git a/sys/dev/vndvar.h b/sys/dev/vndvar.h
    index cc06ce867..8e2e545de 100644
    --- a/sys/dev/vndvar.h
    +++ b/sys/dev/vndvar.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vndvar.h,v 1.31 2011/06/29 09:12:42 hannken Exp $	*/
    +/*	$NetBSD: vndvar.h,v 1.33 2013/06/03 16:42:32 christos Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
    @@ -70,9 +70,9 @@
     #ifndef _SYS_DEV_VNDVAR_H_
     #define _SYS_DEV_VNDVAR_H_
     
    -#ifndef __minix
    +#if !defined(__minix)
     #include 
    -#endif
    +#endif /* defined(__minix) */
     
     /*
      * Vnode disk pseudo-geometry information.
    @@ -88,16 +88,16 @@ struct vndgeom {
      * Ioctl definitions for file (vnode) disk pseudo-device.
      */
     struct vnd_ioctl {
    -#ifndef __minix
    +#if !defined(__minix)
     	char		*vnd_file;	/* pathname of file to mount */
     #else
     	int		vnd_fildes;	/* file descriptor of file to mount */
    -#endif
    +#endif /* !defined(__minix)*/
     	int		vnd_flags;	/* flags; see below */
     	struct vndgeom	vnd_geom;	/* geometry to emulate */
    -#ifndef __minix
    +#if !defined(__minix)
     	unsigned int	vnd_osize;	/* (returned) size of disk */
    -#endif
    +#endif /* !defined(__minix)*/
     	uint64_t	vnd_size;	/* (returned) size of disk */
     };
     
    @@ -106,7 +106,7 @@ struct vnd_ioctl {
     #define	VNDIOF_READONLY	0x02		/* as read-only device */
     #define	VNDIOF_FORCE	0x04		/* force close */
     
    -#ifndef __minix
    +#if !defined(__minix)
     #ifdef _KERNEL
     
     struct vnode;
    @@ -117,11 +117,12 @@ struct vnode;
     struct vnd_softc {
     	device_t         sc_dev;
     	int		 sc_flags;	/* flags */
    -	size_t		 sc_size;	/* size of vnd */
    +	uint64_t	 sc_size;	/* size of vnd */
     	struct vnode	*sc_vp;		/* vnode */
     	kauth_cred_t	 sc_cred;	/* credentials */
     	int		 sc_maxactive;	/* max # of active requests */
     	struct bufq_state *sc_tab;	/* transfer queue */
    +	int		 sc_pending;	/* number of pending transfers */
     	int		 sc_active;	/* number of active transfers */
     	struct disk	 sc_dkdev;	/* generic disk device info */
     	struct vndgeom	 sc_geom;	/* virtual geometry */
    @@ -160,7 +161,7 @@ struct vnd_comp_header
     	u_int32_t block_size;
     	u_int32_t num_blocks;
     };
    -#endif
    +#endif /* !defined(__minix) */
     
     /*
      * A simple structure for describing which vnd units are in use.
    diff --git a/sys/fs/Makefile b/sys/fs/Makefile
    new file mode 100644
    index 000000000..42a39fb7f
    --- /dev/null
    +++ b/sys/fs/Makefile
    @@ -0,0 +1,6 @@
    +#	$NetBSD: Makefile,v 1.20 2011/06/27 11:52:24 uch Exp $
    +
    +SUBDIR=	 cd9660 msdosfs \
    +	puffs
    +
    +.include 
    diff --git a/sys/fs/cd9660/Makefile b/sys/fs/cd9660/Makefile
    new file mode 100644
    index 000000000..4ef211d63
    --- /dev/null
    +++ b/sys/fs/cd9660/Makefile
    @@ -0,0 +1,8 @@
    +#	$NetBSD: Makefile,v 1.1 2002/12/23 17:52:08 jdolecek Exp $
    +
    +INCSDIR= /usr/include/isofs/cd9660
    +
    +INCS=	cd9660_extern.h cd9660_mount.h cd9660_node.h cd9660_rrip.h iso.h \
    +	iso_rrip.h
    +
    +.include 
    diff --git a/sys/fs/cd9660/TODO b/sys/fs/cd9660/TODO
    new file mode 100644
    index 000000000..fc21c9f40
    --- /dev/null
    +++ b/sys/fs/cd9660/TODO
    @@ -0,0 +1,47 @@
    +#	$NetBSD: TODO,v 1.3 2005/12/11 12:24:25 christos Exp $
    +
    + 1) should understand "older", original High Sierra ("CDROM001") type
    +
    +   Not yet. ( I don't have this technical information, yet. )
    +
    + 2) should understand Rock Ridge
    +
    +   Yes, we have follows function.
    +
    +       o Symbolic Link
    +       o Real Name(long name)
    +       o File Attribute
    +       o Time stamp
    +       o uid, gid
    +       o Devices
    +       o Relocated directories
    +
    +   Except follows:
    +
    +       o POSIX device number mapping
    +
    +         There is some preliminary stuff in there that (ab-)uses the mknod
    +         system call, but this needs a writable filesystem
    +
    + 5) should have name translation enabled by mount flag
    +
    +   Yes. we can disable the Rock Ridge Extension by follows option;
    +
    +      "mount -t isofs -o -norrip /dev/cd0d /cdrom"
    +
    + 6) should run as a user process, and not take up kernel space (cdroms
    +    are slow)
    +
    +   Not yet.
    +
    + 7) ECMA support.
    +
    +   Not yet. we need not only a technical spec but also ECMA format
    +   cd-rom itself!
    +
    + 8) Character set change by SVD ( multi SVD support )
    +
    +   Not yet. We should also hack the other part of system as 8 bit
    +   clean. As far as I know, if you export the cdrom by NFS, the client
    +   can access the 8 bit clean (ie. Solaris Japanese with EUC code )
    +
    diff --git a/sys/fs/cd9660/TODO.hibler b/sys/fs/cd9660/TODO.hibler
    new file mode 100644
    index 000000000..4b4cc4b98
    --- /dev/null
    +++ b/sys/fs/cd9660/TODO.hibler
    @@ -0,0 +1,13 @@
    +#	$NetBSD: TODO.hibler,v 1.2 2003/01/06 12:29:51 wiz Exp $
    +
    +1. Investiate making ISOFS another UFS shared filesystem (ala FFS/MFS/LFS).
    +   Since it was modelled after the inode code, we might be able to merge
    +   them back.  It looks like a separate (but very similar) lookup routine
    +   will be needed due to the associated file stuff.
    +
    +2. It would be nice to be able to use the vfs_cluster code.
    +   Unfortunately, if the logical block size is smaller than the page size,
    +   it won't work.  Also, if throughput is relatively constant for any
    +   block size (as it is for the HP drive--150kbs) then clustering may not
    +   buy much (or may even hurt when vfs_cluster comes up with a large sync
    +   cluster).
    diff --git a/sys/fs/cd9660/cd9660_bmap.c b/sys/fs/cd9660/cd9660_bmap.c
    new file mode 100644
    index 000000000..074dce51e
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_bmap.c
    @@ -0,0 +1,104 @@
    +/*	$NetBSD: cd9660_bmap.c,v 1.4 2008/02/27 19:43:36 matt Exp $	*/
    +
    +/*-
    + * Copyright (c) 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_bmap.c	8.4 (Berkeley) 12/5/94
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_bmap.c,v 1.4 2008/02/27 19:43:36 matt Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Bmap converts a the logical block number of a file to its physical block
    + * number on the disk. The conversion is done by using the logical block
    + * number to index into the data block (extent) for the file.
    + */
    +int
    +cd9660_bmap(void *v)
    +{
    +	struct vop_bmap_args /* {
    +		struct vnode *a_vp;
    +		daddr_t  a_bn;
    +		struct vnode **a_vpp;
    +		daddr_t *a_bnp;
    +		int *a_runp;
    +	} */ *ap = v;
    +	struct iso_node *ip = VTOI(ap->a_vp);
    +	daddr_t lblkno = ap->a_bn;
    +	int bshift;
    +
    +	/*
    +	 * Check for underlying vnode requests and ensure that logical
    +	 * to physical mapping is requested.
    +	 */
    +	if (ap->a_vpp != NULL)
    +		*ap->a_vpp = ip->i_devvp;
    +	if (ap->a_bnp == NULL)
    +		return (0);
    +
    +	/*
    +	 * Compute the requested block number
    +	 */
    +	bshift = ip->i_mnt->im_bshift;
    +	*ap->a_bnp = (ip->iso_start + lblkno) << (bshift - DEV_BSHIFT);
    +
    +	/*
    +	 * Determine maximum number of readahead blocks following the
    +	 * requested block.
    +	 */
    +	if (ap->a_runp) {
    +		int nblk;
    +
    +		nblk = (ip->i_size >> bshift) - (lblkno + 1);
    +		if (nblk <= 0)
    +			*ap->a_runp = 0;
    +		else if (nblk >= (MAXBSIZE >> bshift))
    +			*ap->a_runp = (MAXBSIZE >> bshift) - 1;
    +		else
    +			*ap->a_runp = nblk;
    +	}
    +
    +	return (0);
    +}
    diff --git a/sys/fs/cd9660/cd9660_extern.h b/sys/fs/cd9660/cd9660_extern.h
    new file mode 100644
    index 000000000..cded9a1ea
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_extern.h
    @@ -0,0 +1,115 @@
    +/*	$NetBSD: cd9660_extern.h,v 1.26 2013/06/23 07:28:36 dholland Exp $	*/
    +
    +/*-
    + * Copyright (c) 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)iso.h	8.4 (Berkeley) 12/5/94
    + */
    +
    +/*
    + * Definitions used in the kernel for cd9660 file system support.
    + */
    +#ifndef _ISOFS_CD9660_CD9660_EXTERN_H_
    +#define _ISOFS_CD9660_CD9660_EXTERN_H_
    +
    +/*
    + * Sysctl values for the cd9660 filesystem.
    + */
    +#define CD9660_UTF8_JOLIET	1	/* UTF-8 encode Joliet file names */
    +
    +#define CD9660_NAMES { \
    +        { 0, 0 }, \
    +        { "utf8_joliet", CTLTYPE_INT }, \
    +}
    +
    +
    +/* CD-ROM Format type */
    +enum ISO_FTYPE  { ISO_FTYPE_DEFAULT, ISO_FTYPE_9660, ISO_FTYPE_RRIP, ISO_FTYPE_ECMA };
    +
    +#ifndef	ISOFSMNT_ROOT
    +#define	ISOFSMNT_ROOT	0
    +#endif
    +
    +struct iso_mnt {
    +	int im_flags;
    +	int im_joliet_level;
    +
    +	struct mount *im_mountp;
    +	dev_t im_dev;
    +	struct vnode *im_devvp;
    +
    +	int logical_block_size;
    +	int im_bshift;
    +	int im_bmask;
    +
    +	int volume_space_size;
    +
    +	char root[ISODCL (157, 190)];
    +	int root_extent;
    +	int root_size;
    +	enum ISO_FTYPE  iso_ftype;
    +
    +	int rr_skip;
    +	int rr_skip0;
    +};
    +
    +#define VFSTOISOFS(mp)	((struct iso_mnt *)((mp)->mnt_data))
    +
    +#define cd9660_blkoff(imp, loc)		((loc) & (imp)->im_bmask)
    +#define cd9660_lblktosize(imp, blk)	((blk) << (imp)->im_bshift)
    +#define cd9660_lblkno(imp, loc)	((loc) >> (imp)->im_bshift)
    +#define cd9660_blksize(imp, ip, lbn)	((imp)->logical_block_size)
    +
    +#ifdef _KERNEL
    +
    +VFS_PROTOS(cd9660);
    +
    +#include 
    +MALLOC_DECLARE(M_ISOFSMNT);
    +
    +extern struct pool cd9660_node_pool;
    +extern int cd9660_utf8_joliet;
    +
    +int cd9660_mountroot(void);
    +
    +extern int (**cd9660_vnodeop_p)(void *);
    +extern int (**cd9660_specop_p)(void *);
    +extern int (**cd9660_fifoop_p)(void *);
    +
    +int isochar(const u_char *, const u_char *, int, u_int16_t *);
    +int isofncmp(const u_char *, size_t, const u_char *, size_t, int);
    +void isofntrans(const u_char *, int, u_char *, u_short *, int, int, int, int);
    +ino_t isodirino(struct iso_directory_record *, struct iso_mnt *);
    +#endif /* _KERNEL */
    +
    +#endif /* _ISOFS_CD9660_CD9660_EXTERN_H_ */
    diff --git a/sys/fs/cd9660/cd9660_lookup.c b/sys/fs/cd9660/cd9660_lookup.c
    new file mode 100644
    index 000000000..896336550
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_lookup.c
    @@ -0,0 +1,435 @@
    +/*	$NetBSD: cd9660_lookup.c,v 1.25 2013/06/23 07:28:36 dholland Exp $	*/
    +
    +/*-
    + * Copyright (c) 1989, 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	from: @(#)ufs_lookup.c	7.33 (Berkeley) 5/19/91
    + *
    + *	@(#)cd9660_lookup.c	8.5 (Berkeley) 5/27/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_lookup.c,v 1.25 2013/06/23 07:28:36 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +struct	nchstats iso_nchstats;
    +
    +/*
    + * Convert a component of a pathname into a pointer to a locked inode.
    + * This is a very central and rather complicated routine.
    + * If the file system is not maintained in a strict tree hierarchy,
    + * this can result in a deadlock situation (see comments in code below).
    + *
    + * The flag argument is LOOKUP, CREATE, RENAME, or DELETE depending on
    + * whether the name is to be looked up, created, renamed, or deleted.
    + * When CREATE, RENAME, or DELETE is specified, information usable in
    + * creating, renaming, or deleting a directory entry may be calculated.
    + * If the target of the pathname exists, lookup returns both the target
    + * and its parent directory locked.
    + * When creating or renaming, the target may * not be ".".
    + * When deleting , the target may be "."., but the caller must check
    + * to ensure it does an vrele and vput instead of two vputs.
    + *
    + * Overall outline of ufs_lookup:
    + *
    + *	check accessibility of directory
    + *	look for name in cache, if found, then if at end of path
    + *	  and deleting or creating, drop it, else return name
    + *	search for name in directory, to found or notfound
    + * notfound:
    + *	if creating, return locked directory, leaving info on available slots
    + *	else return error
    + * found:
    + *	if at end of path and deleting, return information to allow delete
    + *	if at end of path and rewriting (RENAME), lock target
    + *	  inode and return info to allow rewrite
    + *	if not at end, add name to cache; if at end and neither creating
    + *	  nor deleting, add name to cache
    + */
    +int
    +cd9660_lookup(void *v)
    +{
    +	struct vop_lookup_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	struct vnode *vdp;		/* vnode for directory being searched */
    +	struct iso_node *dp;		/* inode for directory being searched */
    +	struct iso_mnt *imp;		/* file system that directory is in */
    +	struct buf *bp;			/* a buffer of directory entries */
    +	struct iso_directory_record *ep = NULL;
    +					/* the current directory entry */
    +	int entryoffsetinblock;		/* offset of ep in bp's buffer */
    +	int saveoffset = -1;		/* offset of last directory entry in dir */
    +	int numdirpasses;		/* strategy for directory search */
    +	doff_t endsearch;		/* offset to end directory search */
    +	struct vnode *pdp;		/* saved dp during symlink work */
    +	struct vnode *tdp;		/* returned by cd9660_vget_internal */
    +	u_long bmask;			/* block offset mask */
    +	int error;
    +	ino_t ino = 0;
    +	int reclen;
    +	u_short namelen;
    +	char altname[ISO_MAXNAMLEN];
    +	int res;
    +	int assoc, len;
    +	const char *name;
    +	struct vnode **vpp = ap->a_vpp;
    +	struct componentname *cnp = ap->a_cnp;
    +	kauth_cred_t cred = cnp->cn_cred;
    +	int flags;
    +	int nameiop = cnp->cn_nameiop;
    +
    +	flags = cnp->cn_flags;
    +
    +	bp = NULL;
    +	*vpp = NULL;
    +	vdp = ap->a_dvp;
    +	dp = VTOI(vdp);
    +	imp = dp->i_mnt;
    +
    +	/*
    +	 * Check accessiblity of directory.
    +	 */
    +	if ((error = VOP_ACCESS(vdp, VEXEC, cred)) != 0)
    +		return (error);
    +
    +	if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
    +	    (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME))
    +		return (EROFS);
    +
    +	/*
    +	 * We now have a segment name to search for, and a directory to search.
    +	 *
    +	 * Before tediously performing a linear scan of the directory,
    +	 * check the name cache to see if the directory/name pair
    +	 * we are looking for is known already.
    +	 */
    +	if (cache_lookup(vdp, cnp->cn_nameptr, cnp->cn_namelen,
    +			 cnp->cn_nameiop, cnp->cn_flags, NULL, vpp)) {
    +		return *vpp == NULLVP ? ENOENT : 0;
    +	}
    +
    +	len = cnp->cn_namelen;
    +	name = cnp->cn_nameptr;
    +	/*
    +	 * A leading `=' means, we are looking for an associated file
    +	 */
    +	assoc = (imp->iso_ftype != ISO_FTYPE_RRIP && *name == ASSOCCHAR);
    +	if (assoc) {
    +		len--;
    +		name++;
    +	}
    +
    +	/*
    +	 * If there is cached information on a previous search of
    +	 * this directory, pick up where we last left off.
    +	 * We cache only lookups as these are the most common
    +	 * and have the greatest payoff. Caching CREATE has little
    +	 * benefit as it usually must search the entire directory
    +	 * to determine that the entry does not exist. Caching the
    +	 * location of the last DELETE or RENAME has not reduced
    +	 * profiling time and hence has been removed in the interest
    +	 * of simplicity.
    +	 */
    +	bmask = imp->im_bmask;
    +	if (nameiop != LOOKUP || dp->i_diroff == 0 ||
    +	    dp->i_diroff > dp->i_size) {
    +		entryoffsetinblock = 0;
    +		dp->i_offset = 0;
    +		numdirpasses = 1;
    +	} else {
    +		dp->i_offset = dp->i_diroff;
    +		if ((entryoffsetinblock = dp->i_offset & bmask) &&
    +		    (error = cd9660_blkatoff(vdp, (off_t)dp->i_offset, NULL,
    +		    &bp)))
    +				return (error);
    +		numdirpasses = 2;
    +		iso_nchstats.ncs_2passes++;
    +	}
    +	endsearch = dp->i_size;
    +
    +searchloop:
    +	while (dp->i_offset < endsearch) {
    +		/*
    +		 * If offset is on a block boundary,
    +		 * read the next directory block.
    +		 * Release previous if it exists.
    +		 */
    +		if ((dp->i_offset & bmask) == 0) {
    +			if (bp != NULL)
    +				brelse(bp, 0);
    +			error = cd9660_blkatoff(vdp, (off_t)dp->i_offset,
    +					     NULL, &bp);
    +			if (error)
    +				return (error);
    +			entryoffsetinblock = 0;
    +		}
    +		/*
    +		 * Get pointer to next entry.
    +		 */
    +		KASSERT(bp != NULL);
    +		ep = (struct iso_directory_record *)
    +			((char *)bp->b_data + entryoffsetinblock);
    +
    +		reclen = isonum_711(ep->length);
    +		if (reclen == 0) {
    +			/* skip to next block, if any */
    +			dp->i_offset =
    +			    (dp->i_offset & ~bmask) + imp->logical_block_size;
    +			continue;
    +		}
    +
    +		if (reclen < ISO_DIRECTORY_RECORD_SIZE)
    +			/* illegal entry, stop */
    +			break;
    +
    +		if (entryoffsetinblock + reclen > imp->logical_block_size)
    +			/* entries are not allowed to cross boundaries */
    +			break;
    +
    +		namelen = isonum_711(ep->name_len);
    +
    +		if (reclen < ISO_DIRECTORY_RECORD_SIZE + namelen)
    +			/* illegal entry, stop */
    +			break;
    +
    +		/*
    +		 * Check for a name match.
    +		 */
    +		switch (imp->iso_ftype) {
    +		default:
    +			if ((!(isonum_711(ep->flags)&4)) == !assoc) {
    +				if ((len == 1
    +				     && *name == '.')
    +				    || (flags & ISDOTDOT)) {
    +					if (namelen == 1
    +					    && ep->name[0] == ((flags & ISDOTDOT) ? 1 : 0)) {
    +						/*
    +						 * Save directory entry's inode number and
    +						 * release directory buffer.
    +						 */
    +						dp->i_ino = isodirino(ep, imp);
    +						goto found;
    +					}
    +					if (namelen != 1
    +					    || ep->name[0] != 0)
    +						goto notfound;
    +				} else if (!(res = isofncmp(name,len,
    +						   ep->name,namelen,
    +						   imp->im_joliet_level))) {
    +					if (isonum_711(ep->flags)&2)
    +						ino = isodirino(ep, imp);
    +					else
    +						ino = dbtob(bp->b_blkno)
    +							+ entryoffsetinblock;
    +					saveoffset = dp->i_offset;
    +				} else if (ino)
    +					goto foundino;
    +#ifdef	NOSORTBUG	/* On some CDs directory entries are not sorted correctly */
    +				else if (res < 0)
    +					goto notfound;
    +				else if (res > 0 && numdirpasses == 2)
    +					numdirpasses++;
    +#endif
    +			}
    +			break;
    +		case ISO_FTYPE_RRIP:
    +			if (isonum_711(ep->flags)&2)
    +				ino = isodirino(ep, imp);
    +			else
    +				ino = dbtob(bp->b_blkno) + entryoffsetinblock;
    +			dp->i_ino = ino;
    +			cd9660_rrip_getname(ep,altname,&namelen,&dp->i_ino,imp);
    +			if (namelen == cnp->cn_namelen) {
    +				if (imp->im_flags & ISOFSMNT_RRCASEINS) {
    +					if (strncasecmp(name, altname, namelen) == 0)
    +						goto found;
    +				} else {
    +					if (memcmp(name, altname, namelen) == 0)
    +						goto found;
    +				}
    +			}
    +			ino = 0;
    +			break;
    +		}
    +		dp->i_offset += reclen;
    +		entryoffsetinblock += reclen;
    +	}
    +	if (ino) {
    +foundino:
    +		dp->i_ino = ino;
    +		if (saveoffset != dp->i_offset) {
    +			if (cd9660_lblkno(imp, dp->i_offset) !=
    +			    cd9660_lblkno(imp, saveoffset)) {
    +				if (bp != NULL)
    +					brelse(bp, 0);
    +				if ((error = cd9660_blkatoff(vdp,
    +					    (off_t)saveoffset, NULL, &bp)) != 0)
    +					return (error);
    +			}
    +			entryoffsetinblock = saveoffset & bmask;
    +			ep = (struct iso_directory_record *)
    +				((char *)bp->b_data + entryoffsetinblock);
    +			dp->i_offset = saveoffset;
    +		}
    +		goto found;
    +	}
    +notfound:
    +	/*
    +	 * If we started in the middle of the directory and failed
    +	 * to find our target, we must check the beginning as well.
    +	 */
    +	if (numdirpasses == 2) {
    +		numdirpasses--;
    +		dp->i_offset = 0;
    +		endsearch = dp->i_diroff;
    +		goto searchloop;
    +	}
    +	if (bp != NULL)
    +		brelse(bp, 0);
    +
    +	/*
    +	 * Insert name into cache (as non-existent) if appropriate.
    +	 */
    +	cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
    +	return (nameiop == CREATE || nameiop == RENAME) ? EROFS : ENOENT;
    +
    +found:
    +	if (numdirpasses == 2)
    +		iso_nchstats.ncs_pass2++;
    +
    +	/*
    +	 * Found component in pathname.
    +	 * If the final component of path name, save information
    +	 * in the cache as to where the entry was found.
    +	 */
    +	if ((flags & ISLASTCN) && nameiop == LOOKUP)
    +		dp->i_diroff = dp->i_offset;
    +
    +	/*
    +	 * Step through the translation in the name.  We do not `iput' the
    +	 * directory because we may need it again if a symbolic link
    +	 * is relative to the current directory.  Instead we save it
    +	 * unlocked as "pdp".  We must get the target inode before unlocking
    +	 * the directory to insure that the inode will not be removed
    +	 * before we get it.  We prevent deadlock by always fetching
    +	 * inodes from the root, moving down the directory tree. Thus
    +	 * when following backward pointers ".." we must unlock the
    +	 * parent directory before getting the requested directory.
    +	 * There is a potential race condition here if both the current
    +	 * and parent directories are removed before the `iget' for the
    +	 * inode associated with ".." returns.  We hope that this occurs
    +	 * infrequently since we cannot avoid this race condition without
    +	 * implementing a sophisticated deadlock detection algorithm.
    +	 * Note also that this simple deadlock detection scheme will not
    +	 * work if the file system has any hard links other than ".."
    +	 * that point backwards in the directory structure.
    +	 */
    +	pdp = vdp;
    +
    +	/*
    +	 * If ino is different from dp->i_ino,
    +	 * it's a relocated directory.
    +	 */
    +	brelse(bp, 0);
    +	if (flags & ISDOTDOT) {
    +		VOP_UNLOCK(pdp);	/* race to get the inode */
    +		error = cd9660_vget_internal(vdp->v_mount, dp->i_ino, &tdp,
    +					     dp->i_ino != ino, ep);
    +		vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY);
    +		if (error)
    +			return error;
    +		*vpp = tdp;
    +	} else if (dp->i_number == dp->i_ino) {
    +		vref(vdp);	/* we want ourself, ie "." */
    +		*vpp = vdp;
    +	} else {
    +		error = cd9660_vget_internal(vdp->v_mount, dp->i_ino, &tdp,
    +					     dp->i_ino != ino, ep);
    +		if (error)
    +			return (error);
    +		*vpp = tdp;
    +	}
    +
    +	/*
    +	 * Insert name into cache if appropriate.
    +	 */
    +	cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
    +	return 0;
    +}
    +
    +/*
    + * Return buffer with the contents of block "offset" from the beginning of
    + * directory "ip".  If "res" is non-zero, fill it in with a pointer to the
    + * remaining space in the directory.
    + */
    +int
    +cd9660_blkatoff(struct vnode *vp, off_t offset, char **res, struct buf **bpp)
    +{
    +	struct iso_node *ip;
    +	struct iso_mnt *imp;
    +	struct buf *bp;
    +	daddr_t lbn;
    +	int bsize, error;
    +
    +	ip = VTOI(vp);
    +	imp = ip->i_mnt;
    +	lbn = cd9660_lblkno(imp, offset);
    +	bsize = cd9660_blksize(imp, ip, lbn);
    +
    +	if ((error = bread(vp, lbn, bsize, NOCRED, 0, &bp)) != 0) {
    +		*bpp = NULL;
    +		return (error);
    +	}
    +	if (res)
    +		*res = (char *)bp->b_data + cd9660_blkoff(imp, offset);
    +	*bpp = bp;
    +	return (0);
    +}
    diff --git a/sys/fs/cd9660/cd9660_mount.h b/sys/fs/cd9660/cd9660_mount.h
    new file mode 100644
    index 000000000..ede9f7a40
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_mount.h
    @@ -0,0 +1,59 @@
    +/*	$NetBSD: cd9660_mount.h,v 1.6 2005/12/03 17:34:43 christos Exp $	*/
    +/*
    + * Copyright (c) 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_mount.h	8.1 (Berkeley) 5/24/95
    + */
    +
    +#ifndef _ISOFS_CD9660_CD9660_MOUNT_H_
    +#define _ISOFS_CD9660_CD9660_MOUNT_H_
    +
    +/*
    + * Arguments to mount ISO 9660 filesystems.
    + */
    +struct iso_args {
    +	const char	*fspec;		/* block special device to mount */
    +	struct	export_args30 _pad1; /* compat with old userland tools */
    +	int	flags;			/* mounting flags, see below */
    +};
    +#define	ISOFSMNT_NORRIP		0x00000001 /* disable Rock Ridge Ext.*/
    +#define	ISOFSMNT_GENS		0x00000002 /* enable generation numbers */
    +#define	ISOFSMNT_EXTATT		0x00000004 /* enable extended attributes */
    +#define	ISOFSMNT_NOJOLIET	0x00000008 /* disable Joliet extensions */
    +#define	ISOFSMNT_NOCASETRANS	0x00000010 /* do not make names lower case */
    +#define	ISOFSMNT_RRCASEINS	0x00000020 /* case insensitive Rock Ridge */
    +
    +#define ISOFSMNT_BITS "\177\20" \
    +    "b\00norrip\0b\01gens\0b\02extatt\0b\03nojoliet\0" \
    +    "b\04nocasetrans\0b\05rrcaseins\0"
    +#endif /* _ISOFS_CD9660_CD9660_MOUNT_H_ */
    diff --git a/sys/fs/cd9660/cd9660_node.c b/sys/fs/cd9660/cd9660_node.c
    new file mode 100644
    index 000000000..2dcf45e9d
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_node.c
    @@ -0,0 +1,444 @@
    +/*	$NetBSD: cd9660_node.c,v 1.29 2011/06/12 03:35:52 rmind Exp $	*/
    +
    +/*-
    + * Copyright (c) 1982, 1986, 1989, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_node.c	8.8 (Berkeley) 5/22/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_node.c,v 1.29 2011/06/12 03:35:52 rmind Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Structures associated with iso_node caching.
    + */
    +LIST_HEAD(ihashhead, iso_node) *isohashtbl;
    +u_long isohash;
    +#define	INOHASH(device, inum)	(((device) + ((inum)>>12)) & isohash)
    +kmutex_t cd9660_ihash_lock;
    +kmutex_t cd9660_hashlock;
    +
    +extern int prtactive;	/* 1 => print out reclaim of active vnodes */
    +
    +struct pool cd9660_node_pool;
    +
    +static u_int cd9660_chars2ui(const u_char *, int);
    +
    +/*
    + * Initialize hash links for inodes and dnodes.
    + */
    +void
    +cd9660_init(void)
    +{
    +
    +	malloc_type_attach(M_ISOFSMNT);
    +	pool_init(&cd9660_node_pool, sizeof(struct iso_node), 0, 0, 0,
    +	    "cd9660nopl", &pool_allocator_nointr, IPL_NONE);
    +	isohashtbl = hashinit(desiredvnodes, HASH_LIST, true, &isohash);
    +	mutex_init(&cd9660_ihash_lock, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_init(&cd9660_hashlock, MUTEX_DEFAULT, IPL_NONE);
    +}
    +
    +/*
    + * Reinitialize inode hash table.
    + */
    +
    +void
    +cd9660_reinit(void)
    +{
    +	struct iso_node *ip;
    +	struct ihashhead *oldhash1, *hash1;
    +	u_long oldmask1, mask1, val;
    +	u_int i;
    +
    +	hash1 = hashinit(desiredvnodes, HASH_LIST, true, &mask1);
    +
    +	mutex_enter(&cd9660_ihash_lock);
    +	oldhash1 = isohashtbl;
    +	oldmask1 = isohash;
    +	isohashtbl = hash1;
    +	isohash = mask1;
    +	for (i = 0; i <= oldmask1; i++) {
    +		while ((ip = LIST_FIRST(&oldhash1[i])) != NULL) {
    +			LIST_REMOVE(ip, i_hash);
    +			val = INOHASH(ip->i_dev, ip->i_number);
    +			LIST_INSERT_HEAD(&hash1[val], ip, i_hash);
    +		}
    +	}
    +	mutex_exit(&cd9660_ihash_lock);
    +	hashdone(oldhash1, HASH_LIST, oldmask1);
    +}
    +
    +/*
    + * Destroy node pool and hash table.
    + */
    +void
    +cd9660_done(void)
    +{
    +	hashdone(isohashtbl, HASH_LIST, isohash);
    +	pool_destroy(&cd9660_node_pool);
    +	mutex_destroy(&cd9660_ihash_lock);
    +	mutex_destroy(&cd9660_hashlock);
    +	malloc_type_detach(M_ISOFSMNT);
    +}
    +
    +/*
    + * Use the device/inum pair to find the incore inode, and return a pointer
    + * to it. If it is in core, but locked, wait for it.
    + */
    +struct vnode *
    +cd9660_ihashget(dev_t dev, ino_t inum, int flags)
    +{
    +	struct iso_node *ip;
    +	struct vnode *vp;
    +
    +loop:
    +	mutex_enter(&cd9660_ihash_lock);
    +	LIST_FOREACH(ip, &isohashtbl[INOHASH(dev, inum)], i_hash) {
    +		if (inum == ip->i_number && dev == ip->i_dev) {
    +			vp = ITOV(ip);
    +			if (flags == 0) {
    +				mutex_exit(&cd9660_ihash_lock);
    +			} else {
    +				mutex_enter(vp->v_interlock);
    +				mutex_exit(&cd9660_ihash_lock);
    +				if (vget(vp, flags))
    +					goto loop;
    +			}
    +			return (vp);
    +		}
    +	}
    +	mutex_exit(&cd9660_ihash_lock);
    +	return (NULL);
    +}
    +
    +/*
    + * Insert the inode into the hash table, and return it locked.
    + *
    + * ip->i_vnode must be initialized first.
    + */
    +void
    +cd9660_ihashins(struct iso_node *ip)
    +{
    +	struct ihashhead *ipp;
    +
    +	KASSERT(mutex_owned(&cd9660_hashlock));
    +
    +	mutex_enter(&cd9660_ihash_lock);
    +	ipp = &isohashtbl[INOHASH(ip->i_dev, ip->i_number)];
    +	LIST_INSERT_HEAD(ipp, ip, i_hash);
    +	mutex_exit(&cd9660_ihash_lock);
    +
    +	VOP_LOCK(ITOV(ip), LK_EXCLUSIVE);
    +}
    +
    +/*
    + * Remove the inode from the hash table.
    + */
    +void
    +cd9660_ihashrem(struct iso_node *ip)
    +{
    +	mutex_enter(&cd9660_ihash_lock);
    +	LIST_REMOVE(ip, i_hash);
    +	mutex_exit(&cd9660_ihash_lock);
    +}
    +
    +/*
    + * Last reference to an inode, write the inode out and if necessary,
    + * truncate and deallocate the file.
    + */
    +int
    +cd9660_inactive(void *v)
    +{
    +	struct vop_inactive_args /* {
    +		struct vnode *a_vp;
    +		bool *a_recycle;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct iso_node *ip = VTOI(vp);
    +	int error = 0;
    +
    +	/*
    +	 * If we are done with the inode, reclaim it
    +	 * so that it can be reused immediately.
    +	 */
    +	ip->i_flag = 0;
    +	*ap->a_recycle = (ip->inode.iso_mode == 0);
    +	VOP_UNLOCK(vp);
    +	return error;
    +}
    +
    +/*
    + * Reclaim an inode so that it can be used for other purposes.
    + */
    +int
    +cd9660_reclaim(void *v)
    +{
    +	struct vop_reclaim_args /* {
    +		struct vnode *a_vp;
    +		struct lwp *a_l;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct iso_node *ip = VTOI(vp);
    +
    +	if (prtactive && vp->v_usecount > 1)
    +		vprint("cd9660_reclaim: pushing active", vp);
    +	/*
    +	 * Remove the inode from its hash chain.
    +	 */
    +	cd9660_ihashrem(ip);
    +	/*
    +	 * Purge old data structures associated with the inode.
    +	 */
    +	if (ip->i_devvp) {
    +		vrele(ip->i_devvp);
    +		ip->i_devvp = 0;
    +	}
    +	genfs_node_destroy(vp);
    +	pool_put(&cd9660_node_pool, vp->v_data);
    +	vp->v_data = NULL;
    +	return (0);
    +}
    +
    +/*
    + * File attributes
    + */
    +void
    +cd9660_defattr(struct iso_directory_record *isodir, struct iso_node *inop,
    +	struct buf *bp)
    +{
    +	struct buf *bp2 = NULL;
    +	struct iso_mnt *imp;
    +	struct iso_extended_attributes *ap = NULL;
    +	int off;
    +
    +	if (isonum_711(isodir->flags)&2) {
    +		inop->inode.iso_mode = S_IFDIR;
    +		/*
    +		 * If we return 2, fts() will assume there are no subdirectories
    +		 * (just links for the path and .), so instead we return 1.
    +		 */
    +		inop->inode.iso_links = 1;
    +	} else {
    +		inop->inode.iso_mode = S_IFREG;
    +		inop->inode.iso_links = 1;
    +	}
    +	if (!bp
    +	    && ((imp = inop->i_mnt)->im_flags & ISOFSMNT_EXTATT)
    +	    && (off = isonum_711(isodir->ext_attr_length))) {
    +		cd9660_blkatoff(ITOV(inop), (off_t)-(off << imp->im_bshift),
    +		    NULL, &bp2);
    +		bp = bp2;
    +	}
    +	if (bp) {
    +		ap = (struct iso_extended_attributes *)bp->b_data;
    +
    +		if (isonum_711(ap->version) == 1) {
    +			if (!(ap->perm[1]&0x10))
    +				inop->inode.iso_mode |= S_IRUSR;
    +			if (!(ap->perm[1]&0x40))
    +				inop->inode.iso_mode |= S_IXUSR;
    +			if (!(ap->perm[0]&0x01))
    +				inop->inode.iso_mode |= S_IRGRP;
    +			if (!(ap->perm[0]&0x04))
    +				inop->inode.iso_mode |= S_IXGRP;
    +			if (!(ap->perm[0]&0x10))
    +				inop->inode.iso_mode |= S_IROTH;
    +			if (!(ap->perm[0]&0x40))
    +				inop->inode.iso_mode |= S_IXOTH;
    +			inop->inode.iso_uid = isonum_723(ap->owner); /* what about 0? */
    +			inop->inode.iso_gid = isonum_723(ap->group); /* what about 0? */
    +		} else
    +			ap = NULL;
    +	}
    +	if (!ap) {
    +		inop->inode.iso_mode |=
    +		    S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH;
    +		inop->inode.iso_uid = (uid_t)0;
    +		inop->inode.iso_gid = (gid_t)0;
    +	}
    +	if (bp2)
    +		brelse(bp2, 0);
    +}
    +
    +/*
    + * Time stamps
    + */
    +void
    +cd9660_deftstamp(struct iso_directory_record *isodir, struct iso_node *inop,
    +	struct buf *bp)
    +{
    +	struct buf *bp2 = NULL;
    +	struct iso_mnt *imp;
    +	struct iso_extended_attributes *ap = NULL;
    +	int off;
    +
    +	if (!bp
    +	    && ((imp = inop->i_mnt)->im_flags & ISOFSMNT_EXTATT)
    +	    && (off = isonum_711(isodir->ext_attr_length))) {
    +		cd9660_blkatoff(ITOV(inop), (off_t)-(off << imp->im_bshift),
    +		    NULL, &bp2);
    +		bp = bp2;
    +	}
    +	if (bp) {
    +		ap = (struct iso_extended_attributes *)bp->b_data;
    +
    +		if (isonum_711(ap->version) == 1) {
    +			if (!cd9660_tstamp_conv17(ap->ftime,&inop->inode.iso_atime))
    +				cd9660_tstamp_conv17(ap->ctime,&inop->inode.iso_atime);
    +			if (!cd9660_tstamp_conv17(ap->ctime,&inop->inode.iso_ctime))
    +				inop->inode.iso_ctime = inop->inode.iso_atime;
    +			if (!cd9660_tstamp_conv17(ap->mtime,&inop->inode.iso_mtime))
    +				inop->inode.iso_mtime = inop->inode.iso_ctime;
    +		} else
    +			ap = NULL;
    +	}
    +	if (!ap) {
    +		cd9660_tstamp_conv7(isodir->date,&inop->inode.iso_ctime);
    +		inop->inode.iso_atime = inop->inode.iso_ctime;
    +		inop->inode.iso_mtime = inop->inode.iso_ctime;
    +	}
    +	if (bp2)
    +		brelse(bp2, 0);
    +}
    +
    +int
    +cd9660_tstamp_conv7(const u_char *pi, struct timespec *pu)
    +{
    +	int crtime, days;
    +	int y, m, d, hour, minute, second, tz;
    +
    +	y = pi[0] + 1900;
    +	m = pi[1];
    +	d = pi[2];
    +	hour = pi[3];
    +	minute = pi[4];
    +	second = pi[5];
    +	tz = pi[6];
    +
    +	if (y < 1970) {
    +		pu->tv_sec  = 0;
    +		pu->tv_nsec = 0;
    +		return 0;
    +	} else {
    +#ifdef	ORIGINAL
    +		/* computes day number relative to Sept. 19th,1989 */
    +		/* don't even *THINK* about changing formula. It works! */
    +		days = 367*(y-1980)-7*(y+(m+9)/12)/4-3*((y+(m-9)/7)/100+1)/4+275*m/9+d-100;
    +#else
    +		/*
    +		 * Changed :-) to make it relative to Jan. 1st, 1970
    +		 * and to disambiguate negative division
    +		 */
    +		days = 367*(y-1960)-7*(y+(m+9)/12)/4-3*((y+(m+9)/12-1)/100+1)/4+275*m/9+d-239;
    +#endif
    +		crtime = ((((days * 24) + hour) * 60 + minute) * 60) + second;
    +
    +		/* timezone offset is unreliable on some disks */
    +		if (-48 <= tz && tz <= 52)
    +			crtime -= tz * 15 * 60;
    +	}
    +	pu->tv_sec  = crtime;
    +	pu->tv_nsec = 0;
    +	return 1;
    +}
    +
    +static u_int
    +cd9660_chars2ui(const u_char *begin, int len)
    +{
    +	u_int rc;
    +
    +	for (rc = 0; --len >= 0;) {
    +		rc *= 10;
    +		rc += *begin++ - '0';
    +	}
    +	return rc;
    +}
    +
    +int
    +cd9660_tstamp_conv17(const u_char *pi, struct timespec *pu)
    +{
    +	u_char tbuf[7];
    +
    +	/* year:"0001"-"9999" -> -1900  */
    +	tbuf[0] = cd9660_chars2ui(pi,4) - 1900;
    +
    +	/* month: " 1"-"12"      -> 1 - 12 */
    +	tbuf[1] = cd9660_chars2ui(pi + 4,2);
    +
    +	/* day:   " 1"-"31"      -> 1 - 31 */
    +	tbuf[2] = cd9660_chars2ui(pi + 6,2);
    +
    +	/* hour:  " 0"-"23"      -> 0 - 23 */
    +	tbuf[3] = cd9660_chars2ui(pi + 8,2);
    +
    +	/* minute:" 0"-"59"      -> 0 - 59 */
    +	tbuf[4] = cd9660_chars2ui(pi + 10,2);
    +
    +	/* second:" 0"-"59"      -> 0 - 59 */
    +	tbuf[5] = cd9660_chars2ui(pi + 12,2);
    +
    +	/* difference of GMT */
    +	tbuf[6] = pi[16];
    +
    +	return cd9660_tstamp_conv7(tbuf,pu);
    +}
    +
    +ino_t
    +isodirino(struct iso_directory_record *isodir, struct iso_mnt *imp)
    +{
    +	ino_t ino;
    +
    +	ino = (isonum_733(isodir->extent) + isonum_711(isodir->ext_attr_length))
    +	      << imp->im_bshift;
    +	return (ino);
    +}
    diff --git a/sys/fs/cd9660/cd9660_node.h b/sys/fs/cd9660/cd9660_node.h
    new file mode 100644
    index 000000000..735f1b957
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_node.h
    @@ -0,0 +1,142 @@
    +/*	$NetBSD: cd9660_node.h,v 1.14 2008/02/27 19:43:36 matt Exp $	*/
    +
    +/*-
    + * Copyright (c) 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_node.h	8.6 (Berkeley) 5/14/95
    + */
    +
    +#ifndef _ISOFS_CD9660_CD9660_NODE_H_
    +#define _ISOFS_CD9660_CD9660_NODE_H_
    +
    +#include 
    +
    +/*
    + * Theoretically, directories can be more than 2Gb in length,
    + * however, in practice this seems unlikely. So, we define
    + * the type doff_t as a long to keep down the cost of doing
    + * lookup on a 32-bit machine. If you are porting to a 64-bit
    + * architecture, you should make doff_t the same as off_t.
    + */
    +#define doff_t	long
    +
    +typedef	struct	{
    +	struct timespec	iso_atime;	/* time of last access */
    +	struct timespec	iso_mtime;	/* time of last modification */
    +	struct timespec	iso_ctime;	/* time file changed */
    +	u_short		iso_mode;	/* files access mode and type */
    +	uid_t		iso_uid;	/* owner user id */
    +	gid_t		iso_gid;	/* owner group id */
    +	short		iso_links;	/* links of file */
    +	dev_t		iso_rdev;	/* Major/Minor number for special */
    +} ISO_RRIP_INODE;
    +
    +struct iso_node {
    +	struct	genfs_node i_gnode;
    +	LIST_ENTRY(iso_node) i_hash;
    +	struct	vnode *i_vnode;	/* vnode associated with this inode */
    +	struct	vnode *i_devvp;	/* vnode for block I/O */
    +	u_long	i_flag;		/* see below */
    +	dev_t	i_dev;		/* device where inode resides */
    +	ino_t	i_number;	/* the identity of the inode */
    +				/* we use the actual starting block of the file */
    +	struct	iso_mnt *i_mnt;	/* filesystem associated with this inode */
    +	struct	lockf *i_lockf;	/* head of byte-level lock list */
    +	doff_t	i_endoff;	/* end of useful stuff in directory */
    +	doff_t	i_diroff;	/* offset in dir, where we found last entry */
    +	doff_t	i_offset;	/* offset of free space in directory */
    +	ino_t	i_ino;		/* inode number of found directory */
    +
    +	unsigned long iso_extent;	/* extent of file */
    +	unsigned long i_size;
    +	unsigned long iso_start;		/* actual start of data of file (may be different */
    +				/* from iso_extent, if file has extended attributes) */
    +	ISO_RRIP_INODE  inode;
    +};
    +
    +#define	i_forw		i_chain[0]
    +#define	i_back		i_chain[1]
    +
    +/* flags */
    +#define	IN_ACCESS	0x0020		/* inode access time to be updated */
    +
    +#define VTOI(vp) ((struct iso_node *)(vp)->v_data)
    +#define ITOV(ip) ((ip)->i_vnode)
    +
    +#ifdef _KERNEL
    +/*
    + * Prototypes for ISOFS vnode operations
    + */
    +int	cd9660_lookup(void *);
    +#define	cd9660_open	genfs_nullop
    +#define	cd9660_close	genfs_nullop
    +int	cd9660_access(void *);
    +int	cd9660_getattr(void *);
    +int	cd9660_read(void *);
    +#define	cd9660_ioctl	genfs_enoioctl
    +#define	cd9660_poll	genfs_poll
    +#define	cd9660_mmap	genfs_mmap
    +#define	cd9660_seek	genfs_seek
    +int	cd9660_readdir(void *);
    +int	cd9660_readlink(void *);
    +#define	cd9660_abortop	genfs_abortop
    +int	cd9660_inactive(void *);
    +int	cd9660_reclaim(void *);
    +int	cd9660_link(void *);
    +int	cd9660_symlink(void *);
    +int	cd9660_bmap(void *);
    +int	cd9660_lock(void *);
    +int	cd9660_unlock(void *);
    +int	cd9660_strategy(void *);
    +int	cd9660_print(void *);
    +int	cd9660_islocked(void *);
    +int	cd9660_pathconf(void *);
    +int	cd9660_setattr(void *);
    +
    +int	cd9660_blkatoff(struct vnode *, off_t, char **, struct buf **);
    +void	cd9660_defattr(struct iso_directory_record *,
    +			struct iso_node *, struct buf *);
    +void	cd9660_deftstamp(struct iso_directory_record *,
    +			struct iso_node *, struct buf *);
    +struct	vnode *cd9660_ihashget(dev_t, ino_t, int);
    +void	cd9660_ihashins(struct iso_node *);
    +void	cd9660_ihashrem(struct iso_node *);
    +int	cd9660_tstamp_conv7(const u_char *, struct timespec *);
    +int	cd9660_tstamp_conv17(const u_char *, struct timespec *);
    +int	cd9660_vget_internal(struct mount *, ino_t, struct vnode **, int,
    +			      struct iso_directory_record *);
    +
    +extern kmutex_t cd9660_hashlock;
    +
    +#endif /* _KERNEL */
    +#endif /* _ISOFS_CD9660_CD9660_NODE_H_ */
    diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c
    new file mode 100644
    index 000000000..b5aa1c06a
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_rrip.c
    @@ -0,0 +1,703 @@
    +/*	$NetBSD: cd9660_rrip.c,v 1.17 2011/09/27 01:27:44 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_rrip.c	8.6 (Berkeley) 12/5/94
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_rrip.c,v 1.17 2011/09/27 01:27:44 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +typedef struct {
    +	char type[2];
    +	int (*func)(void *, ISO_RRIP_ANALYZE *);
    +	void (*func2)(void *, ISO_RRIP_ANALYZE *);
    +	int result;
    +} RRIP_TABLE;
    +
    +static int cd9660_rrip_attr(void *, ISO_RRIP_ANALYZE *);
    +static void cd9660_rrip_defattr(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_slink(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_altname(void *, ISO_RRIP_ANALYZE *);
    +static void cd9660_rrip_defname(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_pclink(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_reldir(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_tstamp(void *, ISO_RRIP_ANALYZE *);
    +static void cd9660_rrip_deftstamp(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_device(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_idflag(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_cont(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_stop(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_extref(void *, ISO_RRIP_ANALYZE *);
    +static int cd9660_rrip_loop(struct iso_directory_record *,
    +				 ISO_RRIP_ANALYZE *, const RRIP_TABLE *);
    +/*
    + * POSIX file attribute
    + */
    +static int
    +cd9660_rrip_attr(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_ATTR *p = v;
    +
    +	ana->inop->inode.iso_mode = isonum_733(p->mode);
    +	ana->inop->inode.iso_uid = isonum_733(p->uid);
    +	ana->inop->inode.iso_gid = isonum_733(p->gid);
    +	ana->inop->inode.iso_links = isonum_733(p->links);
    +	ana->fields &= ~ISO_SUSP_ATTR;
    +	return ISO_SUSP_ATTR;
    +}
    +
    +static void
    +cd9660_rrip_defattr(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	struct iso_directory_record *isodir = v;
    +
    +	/* But this is a required field! */
    +	printf("RRIP without PX field?\n");
    +	cd9660_defattr(isodir, ana->inop, NULL);
    +}
    +
    +/*
    + * Symbolic Links
    + */
    +static int
    +cd9660_rrip_slink(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_SLINK  *p = v;
    +	ISO_RRIP_SLINK_COMPONENT *pcomp;
    +	ISO_RRIP_SLINK_COMPONENT *pcompe;
    +	int len, wlen, cont;
    +	char *outbuf;
    +	const char *inbuf;
    +
    +	pcomp = (ISO_RRIP_SLINK_COMPONENT *)p->component;
    +	pcompe = (ISO_RRIP_SLINK_COMPONENT *)
    +		((char *)p + isonum_711(p->h.length));
    +	len = *ana->outlen;
    +	outbuf = ana->outbuf;
    +	cont = ana->cont;
    +
    +	/*
    +	 * Gathering a Symbolic name from each component with path
    +	 */
    +	for (;
    +	     pcomp < pcompe;
    +	     pcomp = (ISO_RRIP_SLINK_COMPONENT *)((char *)pcomp + ISO_RRIP_SLSIZ
    +						  + isonum_711(pcomp->clen))) {
    +
    +		if (!cont) {
    +			if (len < ana->maxlen) {
    +				len++;
    +				*outbuf++ = '/';
    +			}
    +		}
    +		cont = 0;
    +
    +		inbuf = "..";
    +		wlen = 0;
    +
    +		switch (*pcomp->cflag) {
    +
    +		case ISO_SUSP_CFLAG_CURRENT:
    +			/* Inserting Current */
    +			wlen = 1;
    +			break;
    +
    +		case ISO_SUSP_CFLAG_PARENT:
    +			/* Inserting Parent */
    +			wlen = 2;
    +			break;
    +
    +		case ISO_SUSP_CFLAG_ROOT:
    +			/* Inserting slash for ROOT */
    +			/* start over from beginning(?) */
    +			outbuf -= len;
    +			len = 0;
    +			break;
    +
    +		case ISO_SUSP_CFLAG_VOLROOT:
    +			/* Inserting a mount point i.e. "/cdrom" */
    +			/* same as above */
    +			outbuf -= len;
    +			len = 0;
    +			inbuf = ana->imp->im_mountp->mnt_stat.f_mntonname;
    +			wlen = strlen(inbuf);
    +			break;
    +
    +		case ISO_SUSP_CFLAG_HOST:
    +			/* Inserting hostname i.e. "kurt.tools.de" */
    +			inbuf = hostname;
    +			wlen = hostnamelen;
    +			break;
    +
    +		case ISO_SUSP_CFLAG_CONTINUE:
    +			cont = 1;
    +			/* fall thru */
    +		case 0:
    +			/* Inserting component */
    +			wlen = isonum_711(pcomp->clen);
    +			inbuf = pcomp->name;
    +			break;
    +		default:
    +			printf("RRIP with incorrect flags?");
    +			wlen = ana->maxlen + 1;
    +			break;
    +		}
    +
    +		if (len + wlen > ana->maxlen) {
    +			/* indicate error to caller */
    +			ana->cont = 1;
    +			ana->fields = 0;
    +			ana->outbuf -= *ana->outlen;
    +			*ana->outlen = 0;
    +			return 0;
    +		}
    +
    +		memcpy(outbuf, inbuf, wlen);
    +		outbuf += wlen;
    +		len += wlen;
    +	}
    +	ana->outbuf = outbuf;
    +	*ana->outlen = len;
    +	ana->cont = cont;
    +
    +	if (!isonum_711(p->flags)) {
    +		ana->fields &= ~ISO_SUSP_SLINK;
    +		return ISO_SUSP_SLINK;
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Alternate name
    + */
    +static int
    +cd9660_rrip_altname(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_ALTNAME *p = v;
    +	const char *inbuf;
    +	int wlen;
    +	int cont;
    +
    +	inbuf = "..";
    +	wlen = 0;
    +	cont = 0;
    +
    +	switch (*p->flags) {
    +	case ISO_SUSP_CFLAG_CURRENT:
    +		/* Inserting Current */
    +		wlen = 1;
    +		break;
    +
    +	case ISO_SUSP_CFLAG_PARENT:
    +		/* Inserting Parent */
    +		wlen = 2;
    +		break;
    +
    +	case ISO_SUSP_CFLAG_HOST:
    +		/* Inserting hostname i.e. "kurt.tools.de" */
    +		inbuf = hostname;
    +		wlen = hostnamelen;
    +		break;
    +
    +	case ISO_SUSP_CFLAG_CONTINUE:
    +		cont = 1;
    +		/* fall thru */
    +	case 0:
    +		/* Inserting component */
    +		wlen = isonum_711(p->h.length) - 5;
    +		inbuf = (char *)p + 5;
    +		break;
    +
    +	default:
    +		printf("RRIP with incorrect NM flags?\n");
    +		wlen = ana->maxlen + 1;
    +		break;
    +	}
    +
    +	if ((*ana->outlen += wlen) > ana->maxlen) {
    +		/* treat as no name field */
    +		ana->fields &= ~ISO_SUSP_ALTNAME;
    +		ana->outbuf -= *ana->outlen - wlen;
    +		*ana->outlen = 0;
    +		return 0;
    +	}
    +
    +	memcpy(ana->outbuf, inbuf, wlen);
    +	ana->outbuf += wlen;
    +
    +	if (!cont) {
    +		ana->fields &= ~ISO_SUSP_ALTNAME;
    +		return ISO_SUSP_ALTNAME;
    +	}
    +	return 0;
    +}
    +
    +static void
    +cd9660_rrip_defname(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	struct iso_directory_record *isodir = v;
    +
    +	isofntrans(isodir->name, isonum_711(isodir->name_len),
    +		   ana->outbuf, ana->outlen,
    +		   1, 0, isonum_711(isodir->flags) & 4,
    +		   ana->imp->im_joliet_level);
    +	switch (ana->outbuf[0]) {
    +	default:
    +		break;
    +	case 0:
    +		ana->outbuf[0] = '.';
    +		*ana->outlen = 1;
    +		break;
    +	case 1:
    +		strlcpy(ana->outbuf, "..", ana->maxlen - *ana->outlen);
    +		*ana->outlen = 2;
    +		break;
    +	}
    +}
    +
    +/*
    + * Parent or Child Link
    + */
    +static int
    +cd9660_rrip_pclink(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_CLINK  *p = v;
    +
    +	*ana->inump = isonum_733(p->dir_loc) << ana->imp->im_bshift;
    +	ana->fields &= ~(ISO_SUSP_CLINK | ISO_SUSP_PLINK);
    +	return *p->h.type == 'C' ? ISO_SUSP_CLINK : ISO_SUSP_PLINK;
    +}
    +
    +/*
    + * Relocated directory
    + */
    +/*ARGSUSED*/
    +static int
    +cd9660_rrip_reldir(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	/* special hack to make caller aware of RE field */
    +	*ana->outlen = 0;
    +	ana->fields = 0;
    +	return ISO_SUSP_RELDIR | ISO_SUSP_ALTNAME
    +	    | ISO_SUSP_CLINK | ISO_SUSP_PLINK;
    +}
    +
    +static int
    +cd9660_rrip_tstamp(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_TSTAMP *p = v;
    +	u_char *ptime;
    +
    +	ptime = p->time;
    +
    +	/* Check a format of time stamp (7bytes/17bytes) */
    +	if (!(*p->flags & ISO_SUSP_TSTAMP_FORM17)) {
    +		if (*p->flags & ISO_SUSP_TSTAMP_CREAT)
    +			ptime += 7;
    +
    +		if (*p->flags & ISO_SUSP_TSTAMP_MODIFY) {
    +			cd9660_tstamp_conv7(ptime, &ana->inop->inode.iso_mtime);
    +			ptime += 7;
    +		} else
    +			memset(&ana->inop->inode.iso_mtime, 0, sizeof(struct timespec));
    +
    +		if (*p->flags & ISO_SUSP_TSTAMP_ACCESS) {
    +			cd9660_tstamp_conv7(ptime, &ana->inop->inode.iso_atime);
    +			ptime += 7;
    +		} else
    +			ana->inop->inode.iso_atime = ana->inop->inode.iso_mtime;
    +
    +		if (*p->flags & ISO_SUSP_TSTAMP_ATTR)
    +			cd9660_tstamp_conv7(ptime, &ana->inop->inode.iso_ctime);
    +		else
    +			ana->inop->inode.iso_ctime = ana->inop->inode.iso_mtime;
    +
    +	} else {
    +		if (*p->flags & ISO_SUSP_TSTAMP_CREAT)
    +			ptime += 17;
    +
    +		if (*p->flags & ISO_SUSP_TSTAMP_MODIFY) {
    +			cd9660_tstamp_conv17(ptime, &ana->inop->inode.iso_mtime);
    +			ptime += 17;
    +		} else
    +			memset(&ana->inop->inode.iso_mtime, 0, sizeof(struct timespec));
    +
    +		if (*p->flags & ISO_SUSP_TSTAMP_ACCESS) {
    +			cd9660_tstamp_conv17(ptime, &ana->inop->inode.iso_atime);
    +			ptime += 17;
    +		} else
    +			ana->inop->inode.iso_atime = ana->inop->inode.iso_mtime;
    +
    +		if (*p->flags & ISO_SUSP_TSTAMP_ATTR)
    +			cd9660_tstamp_conv17(ptime, &ana->inop->inode.iso_ctime);
    +		else
    +			ana->inop->inode.iso_ctime = ana->inop->inode.iso_mtime;
    +
    +	}
    +	ana->fields &= ~ISO_SUSP_TSTAMP;
    +	return ISO_SUSP_TSTAMP;
    +}
    +
    +static void
    +cd9660_rrip_deftstamp(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	struct iso_directory_record  *isodir = v;
    +
    +	cd9660_deftstamp(isodir, ana->inop, NULL);
    +}
    +
    +/*
    + * POSIX device modes
    + */
    +static int
    +cd9660_rrip_device(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_DEVICE *p = v;
    +	u_int high, low;
    +
    +	high = isonum_733(p->dev_t_high);
    +	low  = isonum_733(p->dev_t_low);
    +
    +	if (high == 0)
    +		ana->inop->inode.iso_rdev = makedev(major(low), minor(low));
    +	else
    +		ana->inop->inode.iso_rdev = makedev(high, minor(low));
    +	ana->fields &= ~ISO_SUSP_DEVICE;
    +	return ISO_SUSP_DEVICE;
    +}
    +
    +/*
    + * Flag indicating
    + */
    +static int
    +cd9660_rrip_idflag(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_IDFLAG *p = v;
    +
    +	ana->fields &= isonum_711(p->flags) | ~0xff; /* don't touch high bits */
    +	/* special handling of RE field */
    +	if (ana->fields & ISO_SUSP_RELDIR)
    +		return cd9660_rrip_reldir(p, ana);
    +
    +	return ISO_SUSP_IDFLAG;
    +}
    +
    +/*
    + * Continuation pointer
    + */
    +static int
    +cd9660_rrip_cont(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_CONT *p = v;
    +
    +	ana->iso_ce_blk = isonum_733(p->location);
    +	ana->iso_ce_off = isonum_733(p->offset);
    +	ana->iso_ce_len = isonum_733(p->length);
    +	return ISO_SUSP_CONT;
    +}
    +
    +/*
    + * System Use end
    + */
    +static int
    +cd9660_rrip_stop(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	return ISO_SUSP_STOP;
    +}
    +
    +/*
    + * Extension reference
    + */
    +static int
    +cd9660_rrip_extref(void *v, ISO_RRIP_ANALYZE *ana)
    +{
    +	ISO_RRIP_EXTREF *p = v;
    +
    +	if (isonum_711(p->version) != 1)
    +		return 0;
    +	if (isonum_711(p->len_id) != 9
    +	    && isonum_711(p->len_id) != 10)
    +		return 0;
    +	if (isonum_711(p->len_id) == 9
    +	    && memcmp((char *)p + 8, "IEEE_1282", 9))
    +		return 0;
    +	if (isonum_711(p->len_id) == 10
    +	    && memcmp((char *)p + 8, "IEEE_P1282", 10)
    +	    && memcmp((char *)p + 8, "RRIP_1991A", 10))
    +		return 0;
    +	ana->fields &= ~ISO_SUSP_EXTREF;
    +	return ISO_SUSP_EXTREF;
    +}
    +
    +
    +static int
    +cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana,
    +	const RRIP_TABLE *table)
    +{
    +	const RRIP_TABLE *ptable;
    +	ISO_SUSP_HEADER *phead;
    +	ISO_SUSP_HEADER *pend;
    +	struct buf *bp = NULL;
    +	char *pwhead;
    +	u_int16_t c;
    +	int result;
    +
    +	/*
    +	 * Note: If name length is odd,
    +	 *       it will be padded by 1 byte after the name
    +	 */
    +	pwhead = isodir->name + isonum_711(isodir->name_len);
    +	if (!(isonum_711(isodir->name_len) & 1))
    +		pwhead++;
    +	isochar(isodir->name, pwhead, ana->imp->im_joliet_level, &c);
    +
    +	/* If it's not the '.' entry of the root dir obey SP field */
    +	if (c != 0 || isonum_733(isodir->extent) != ana->imp->root_extent)
    +		pwhead += ana->imp->rr_skip;
    +	else
    +		pwhead += ana->imp->rr_skip0;
    +
    +	phead = (ISO_SUSP_HEADER *)pwhead;
    +	pend = (ISO_SUSP_HEADER *)((char *)isodir + isonum_711(isodir->length));
    +
    +	result = 0;
    +	while (1) {
    +		ana->iso_ce_len = 0;
    +		/*
    +		 * Note: "pend" should be more than one SUSP header
    +		 */
    +		while (pend >= phead + 1) {
    +			if (isonum_711(phead->version) == 1) {
    +				for (ptable = table; ptable->func; ptable++) {
    +					if (*phead->type == *ptable->type
    +					    && phead->type[1] == ptable->type[1]) {
    +						result |= ptable->func(phead, ana);
    +						break;
    +					}
    +				}
    +				if (!ana->fields)
    +					break;
    +			}
    +			if (result & ISO_SUSP_STOP) {
    +				result &= ~ISO_SUSP_STOP;
    +				break;
    +			}
    +			/* plausibility check */
    +			if (isonum_711(phead->length) < sizeof(*phead))
    +				break;
    +			/*
    +			 * move to next SUSP
    +			 * Hopefully this works with newer versions, too
    +			 */
    +			phead = (ISO_SUSP_HEADER *)((char *)phead + isonum_711(phead->length));
    +		}
    +
    +		if (ana->fields && ana->iso_ce_len) {
    +			if (ana->iso_ce_blk >= ana->imp->volume_space_size
    +			    || ana->iso_ce_off + ana->iso_ce_len > ana->imp->logical_block_size
    +			    || bread(ana->imp->im_devvp,
    +				     ana->iso_ce_blk << (ana->imp->im_bshift - DEV_BSHIFT),
    +				     ana->imp->logical_block_size, NOCRED,
    +				     0, &bp))
    +				/* what to do now? */
    +				break;
    +			phead = (ISO_SUSP_HEADER *)((char *)bp->b_data + ana->iso_ce_off);
    +			pend = (ISO_SUSP_HEADER *)((char *)phead + ana->iso_ce_len);
    +		} else
    +			break;
    +	}
    +	if (bp)
    +		brelse(bp, 0);
    +	/*
    +	 * If we don't find the Basic SUSP stuffs, just set default value
    +	 *   (attribute/time stamp)
    +	 */
    +	for (ptable = table; ptable->func2; ptable++)
    +		if (!(ptable->result & result))
    +			ptable->func2(isodir, ana);
    +
    +	return result;
    +}
    +
    +/*
    + * Get Attributes.
    + */
    +static const RRIP_TABLE rrip_table_analyze[] = {
    +	{ "PX", cd9660_rrip_attr,	cd9660_rrip_defattr,	ISO_SUSP_ATTR },
    +	{ "TF", cd9660_rrip_tstamp,	cd9660_rrip_deftstamp,	ISO_SUSP_TSTAMP },
    +	{ "PN", cd9660_rrip_device,	0,			ISO_SUSP_DEVICE },
    +	{ "RR", cd9660_rrip_idflag,	0,			ISO_SUSP_IDFLAG },
    +	{ "CE", cd9660_rrip_cont,	0,			ISO_SUSP_CONT },
    +	{ "ST", cd9660_rrip_stop,	0,			ISO_SUSP_STOP },
    +	{ "",	0,			0,			0 }
    +};
    +
    +int
    +cd9660_rrip_analyze(struct iso_directory_record *isodir, struct iso_node *inop,
    +	struct iso_mnt *imp)
    +{
    +	ISO_RRIP_ANALYZE analyze;
    +
    +	analyze.inop = inop;
    +	analyze.imp = imp;
    +	analyze.fields = ISO_SUSP_ATTR | ISO_SUSP_TSTAMP | ISO_SUSP_DEVICE;
    +
    +	return cd9660_rrip_loop(isodir, &analyze, rrip_table_analyze);
    +}
    +
    +/*
    + * Get Alternate Name.
    + */
    +static const RRIP_TABLE rrip_table_getname[] = {
    +	{ "NM", cd9660_rrip_altname,	cd9660_rrip_defname,	ISO_SUSP_ALTNAME },
    +	{ "CL", cd9660_rrip_pclink,	0,			ISO_SUSP_CLINK|ISO_SUSP_PLINK },
    +	{ "PL", cd9660_rrip_pclink,	0,			ISO_SUSP_CLINK|ISO_SUSP_PLINK },
    +	{ "RE", cd9660_rrip_reldir,	0,			ISO_SUSP_RELDIR },
    +	{ "RR", cd9660_rrip_idflag,	0,			ISO_SUSP_IDFLAG },
    +	{ "CE", cd9660_rrip_cont,	0,			ISO_SUSP_CONT },
    +	{ "ST", cd9660_rrip_stop,	0,			ISO_SUSP_STOP },
    +	{ "",	0,			0,			0 }
    +};
    +
    +int
    +cd9660_rrip_getname(struct iso_directory_record *isodir, char *outbuf,
    +	u_short *outlen, ino_t *inump, struct iso_mnt *imp)
    +{
    +	ISO_RRIP_ANALYZE analyze;
    +	const RRIP_TABLE *tab;
    +	u_int16_t c;
    +
    +	analyze.outbuf = outbuf;
    +	analyze.outlen = outlen;
    +	analyze.maxlen = ISO_MAXNAMLEN;
    +	analyze.inump = inump;
    +	analyze.imp = imp;
    +	analyze.fields = ISO_SUSP_ALTNAME | ISO_SUSP_RELDIR | ISO_SUSP_CLINK | ISO_SUSP_PLINK;
    +	*outlen = 0;
    +
    +	isochar(isodir->name, isodir->name + isonum_711(isodir->name_len),
    +		imp->im_joliet_level, &c);
    +	tab = rrip_table_getname;
    +	if (c == 0 || c == 1) {
    +		cd9660_rrip_defname(isodir, &analyze);
    +
    +		analyze.fields &= ~ISO_SUSP_ALTNAME;
    +		tab++;
    +	}
    +
    +	return cd9660_rrip_loop(isodir, &analyze, tab);
    +}
    +
    +/*
    + * Get Symbolic Link.
    + */
    +static const RRIP_TABLE rrip_table_getsymname[] = {
    +	{ "SL", cd9660_rrip_slink,	0,			ISO_SUSP_SLINK },
    +	{ "RR", cd9660_rrip_idflag,	0,			ISO_SUSP_IDFLAG },
    +	{ "CE", cd9660_rrip_cont,	0,			ISO_SUSP_CONT },
    +	{ "ST", cd9660_rrip_stop,	0,			ISO_SUSP_STOP },
    +	{ "",	0,			0,			0 }
    +};
    +
    +int
    +cd9660_rrip_getsymname(struct iso_directory_record *isodir, char *outbuf,
    +	u_short *outlen, struct iso_mnt *imp)
    +{
    +	ISO_RRIP_ANALYZE analyze;
    +
    +	analyze.outbuf = outbuf;
    +	analyze.outlen = outlen;
    +	*outlen = 0;
    +	analyze.maxlen = MAXPATHLEN;
    +	analyze.cont = 1;		/* don't start with a slash */
    +	analyze.imp = imp;
    +	analyze.fields = ISO_SUSP_SLINK;
    +
    +	return cd9660_rrip_loop(isodir, &analyze, rrip_table_getsymname) & ISO_SUSP_SLINK;
    +}
    +
    +static const RRIP_TABLE rrip_table_extref[] = {
    +	{ "ER", cd9660_rrip_extref,	0,	ISO_SUSP_EXTREF },
    +	{ "CE", cd9660_rrip_cont,	0,	ISO_SUSP_CONT },
    +	{ "ST", cd9660_rrip_stop,	0,	ISO_SUSP_STOP },
    +	{ "",	0,			0,	0 }
    +};
    +
    +/*
    + * Check for Rock Ridge Extension and return offset of its fields.
    + * Note: We insist on the ER field.
    + */
    +int
    +cd9660_rrip_offset(struct iso_directory_record *isodir, struct iso_mnt *imp)
    +{
    +	ISO_RRIP_OFFSET *p;
    +	ISO_RRIP_ANALYZE analyze;
    +
    +	imp->rr_skip0 = 0;
    +	p = (ISO_RRIP_OFFSET *)(isodir->name + 1);
    +	if (memcmp(p, "SP\7\1\276\357", 6)) {
    +		/* Maybe, it's a CDROM XA disc? */
    +		imp->rr_skip0 = 15;
    +		p = (ISO_RRIP_OFFSET *)((char *)p + 15);
    +		if (memcmp(p, "SP\7\1\276\357", 6))
    +			return -1;
    +	}
    +
    +	analyze.imp = imp;
    +	analyze.fields = ISO_SUSP_EXTREF;
    +	if (!(cd9660_rrip_loop(isodir, &analyze, rrip_table_extref) & ISO_SUSP_EXTREF))
    +		return -1;
    +
    +	return isonum_711(p->skip);
    +}
    diff --git a/sys/fs/cd9660/cd9660_rrip.h b/sys/fs/cd9660/cd9660_rrip.h
    new file mode 100644
    index 000000000..b1317f1fd
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_rrip.h
    @@ -0,0 +1,143 @@
    +/*	$NetBSD: cd9660_rrip.h,v 1.3 2005/12/03 17:34:43 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_rrip.h	8.2 (Berkeley) 12/5/94
    + */
    +
    +#ifndef _ISOFS_CD9660_CD9660_RRIP_H_
    +#define _ISOFS_CD9660_CD9660_RRIP_H_
    +
    +typedef struct {
    +	char   type			[ISODCL (  0,    1)];
    +	u_char length			[ISODCL (  2,    2)]; /* 711 */
    +	u_char version			[ISODCL (  3,    3)];
    +} ISO_SUSP_HEADER;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char mode			[ISODCL (  4,   11)]; /* 733 */
    +	char links			[ISODCL ( 12,   19)]; /* 733 */
    +	char uid			[ISODCL ( 20,   27)]; /* 733 */
    +	char gid			[ISODCL ( 28,   35)]; /* 733 */
    +} ISO_RRIP_ATTR;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char dev_t_high			[ISODCL (  4,   11)]; /* 733 */
    +	char dev_t_low			[ISODCL ( 12,   19)]; /* 733 */
    +} ISO_RRIP_DEVICE;
    +
    +#define	ISO_SUSP_CFLAG_CONTINUE	0x01
    +#define	ISO_SUSP_CFLAG_CURRENT	0x02
    +#define	ISO_SUSP_CFLAG_PARENT	0x04
    +#define	ISO_SUSP_CFLAG_ROOT	0x08
    +#define	ISO_SUSP_CFLAG_VOLROOT	0x10
    +#define	ISO_SUSP_CFLAG_HOST	0x20
    +
    +typedef struct {
    +	u_char cflag			[ISODCL (  1,    1)];
    +	u_char clen			[ISODCL (  2,    2)];
    +	u_char name			[1];			/* XXX */
    +} ISO_RRIP_SLINK_COMPONENT;
    +#define	ISO_RRIP_SLSIZ	2
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	u_char flags			[ISODCL (  4,    4)];
    +	u_char component		[ISODCL (  5,    5)];
    +} ISO_RRIP_SLINK;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char flags			[ISODCL (  4,    4)];
    +} ISO_RRIP_ALTNAME;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char dir_loc			[ISODCL (  4,    11)]; /* 733 */
    +} ISO_RRIP_CLINK;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char dir_loc			[ISODCL (  4,    11)]; /* 733 */
    +} ISO_RRIP_PLINK;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +} ISO_RRIP_RELDIR;
    +
    +#define	ISO_SUSP_TSTAMP_FORM17	0x80
    +#define	ISO_SUSP_TSTAMP_FORM7	0x00
    +#define	ISO_SUSP_TSTAMP_CREAT	0x01
    +#define	ISO_SUSP_TSTAMP_MODIFY	0x02
    +#define	ISO_SUSP_TSTAMP_ACCESS	0x04
    +#define	ISO_SUSP_TSTAMP_ATTR	0x08
    +#define	ISO_SUSP_TSTAMP_BACKUP	0x10
    +#define	ISO_SUSP_TSTAMP_EXPIRE	0x20
    +#define	ISO_SUSP_TSTAMP_EFFECT	0x40
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	u_char flags			[ISODCL (  4,    4)];
    +	u_char time			[ISODCL (  5,    5)];
    +} ISO_RRIP_TSTAMP;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	u_char flags			[ISODCL (  4,    4)];
    +} ISO_RRIP_IDFLAG;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char len_id			[ISODCL (  4,    4)];
    +	char len_des			[ISODCL (  5,	 5)];
    +	char len_src			[ISODCL (  6,	 6)];
    +	char version			[ISODCL (  7,	 7)];
    +} ISO_RRIP_EXTREF;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char check			[ISODCL (  4,	 5)];
    +	char skip			[ISODCL (  6,	 6)];
    +} ISO_RRIP_OFFSET;
    +
    +typedef struct {
    +	ISO_SUSP_HEADER			h;
    +	char location			[ISODCL (  4,	11)];
    +	char offset			[ISODCL ( 12,	19)];
    +	char length			[ISODCL ( 20,	27)];
    +} ISO_RRIP_CONT;
    +
    +#endif /* _ISOFS_CD9660_CD9660_RRIP_H_ */
    diff --git a/sys/fs/cd9660/cd9660_util.c b/sys/fs/cd9660/cd9660_util.c
    new file mode 100644
    index 000000000..a8d0ef238
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_util.c
    @@ -0,0 +1,239 @@
    +/*	$NetBSD: cd9660_util.c,v 1.10 2011/09/27 01:01:43 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_util.c	8.3 (Berkeley) 12/5/94
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_util.c,v 1.10 2011/09/27 01:01:43 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +#include 
    +
    +static u_int16_t wget(const u_char **, size_t *, int);
    +static int wput(u_char *, size_t, u_int16_t, int);
    +
    +int cd9660_utf8_joliet = 1;
    +
    +/*
    + * Get one character out of an iso filename
    + * Return number of bytes consumed
    + */
    +int
    +isochar(const u_char *isofn, const u_char *isoend, int joliet_level,
    +	u_int16_t *c)
    +{
    +	*c = isofn[0];
    +	if (joliet_level == 0 || isofn + 1 == isoend) {
    +		/* (00) and (01) are one byte in Joliet, too */
    +		return 1;
    +	}
    +
    +	if (cd9660_utf8_joliet) {
    +		*c = (*c << 8) + isofn[1];
    +	} else {
    +		/* characters outside ISO-8859-1 subset replaced with '?' */
    +		if (*c != 0)
    +			*c = '?';
    +		else
    +			*c = isofn[1];
    +	}
    +
    +	return 2;
    +}
    +
    +/*
    + * translate and compare a filename
    + * Note: Version number plus ';' may be omitted.
    + */
    +int
    +isofncmp(const u_char *fn, size_t fnlen, const u_char *isofn, size_t isolen,
    +	int joliet_level)
    +{
    +	int i, j;
    +	u_int16_t fc, ic;
    +	const u_char *isoend = isofn + isolen;
    +
    +	while (fnlen > 0) {
    +		fc = wget(&fn, &fnlen, joliet_level);
    +
    +		if (isofn == isoend)
    +			return fc;
    +		isofn += isochar(isofn, isoend, joliet_level, &ic);
    +		if (ic == ';') {
    +			switch (fc) {
    +			default:
    +				return fc;
    +			case 0:
    +				return 0;
    +			case ';':
    +				break;
    +			}
    +			fn++;
    +			for (i = 0; fnlen-- != 0; i = i * 10 + *fn++ - '0') {
    +				if (*fn < '0' || *fn > '9') {
    +					return -1;
    +				}
    +			}
    +			for (j = 0; isofn != isoend; j = j * 10 + ic - '0')
    +				isofn += isochar(isofn, isoend,
    +						 joliet_level, &ic);
    +			return i - j;
    +		}
    +		if (ic != fc) {
    +			if (ic >= 'A' && ic <= 'Z') {
    +				if (ic + ('a' - 'A') != fc) {
    +					if (fc >= 'a' && fc <= 'z')
    +						fc -= 'a' - 'A';
    +
    +					return (int) fc - (int) ic;
    +				}
    +			} else
    +				return (int) fc - (int) ic;
    +		}
    +	}
    +	if (isofn != isoend) {
    +		isofn += isochar(isofn, isoend, joliet_level, &ic);
    +		switch (ic) {
    +		default:
    +			return -1;
    +		case '.':
    +			if (isofn != isoend) {
    +				isochar(isofn, isoend, joliet_level, &ic);
    +				if (ic == ';')
    +					return 0;
    +			}
    +			return -1;
    +		case ';':
    +			return 0;
    +		}
    +	}
    +	return 0;
    +}
    +
    +/*
    + * translate a filename
    + */
    +void
    +isofntrans(const u_char *infn, int infnlen, u_char *outfn, u_short *outfnlen,
    +	int original, int casetrans, int assoc, int joliet_level)
    +{
    +	int fnidx = 0;
    +	const u_char *infnend = infn + infnlen;
    +	u_int16_t c;
    +	int sz;
    +
    +	if (assoc) {
    +		*outfn++ = ASSOCCHAR;
    +		fnidx++;
    +	}
    +
    +	for(; infn != infnend; fnidx += sz) {
    +		infn += isochar(infn, infnend, joliet_level, &c);
    +
    +		if (casetrans && joliet_level == 0 && c >= 'A' && c <= 'Z')
    +			c = c + ('a' - 'A');
    +		else if (!original && c == ';') {
    +			if (fnidx > 0 && outfn[-1] == '.')
    +				fnidx--;
    +			break;
    +		}
    +
    +		sz = wput(outfn, ISO_MAXNAMLEN - fnidx, c, joliet_level);
    +		if (sz == 0) {
    +			/* not enough space to write the character */
    +			if (fnidx < ISO_MAXNAMLEN) {
    +				*outfn = '?';
    +				fnidx++;
    +			}
    +			break;
    +		}
    +		outfn += sz;
    +	}
    +	*outfnlen = fnidx;
    +}
    +
    +static u_int16_t
    +wget(const u_char **str, size_t *sz, int joliet_level)
    +{
    +	if (joliet_level > 0 && cd9660_utf8_joliet) {
    +		/* decode UTF-8 sequence */
    +		return wget_utf8((const char **) str, sz);
    +	} else {
    +		/*
    +		 * Raw 8-bit characters without any conversion. For Joliet,
    +		 * this effectively assumes provided file name is using
    +		 * ISO-8859-1 subset.
    +		 */
    +		u_int16_t c = *str[0];
    +		(*str)++;
    +		(*sz)--;
    +
    +		return c;
    +	}
    +}
    +
    +static int
    +wput(u_char *s, size_t n, u_int16_t c, int joliet_level)
    +{
    +	if (joliet_level > 0 && cd9660_utf8_joliet) {
    +		/* Store Joliet file name encoded into UTF-8 */
    +		return wput_utf8((char *)s, n, c);
    +	} else {
    +		/*
    +		 * Store raw 8-bit characters without any conversion.
    +		 * For Joliet case, this filters the Unicode characters
    +		 * to ISO-8859-1 subset.
    +		 */
    +		*s = (u_char)c;
    +		return 1;
    +	}
    +}
    diff --git a/sys/fs/cd9660/cd9660_vfsops.c b/sys/fs/cd9660/cd9660_vfsops.c
    new file mode 100644
    index 000000000..93f1aca36
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_vfsops.c
    @@ -0,0 +1,927 @@
    +/*	$NetBSD: cd9660_vfsops.c,v 1.80 2013/11/23 13:35:36 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_vfsops.c	8.18 (Berkeley) 5/22/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_vfsops.c,v 1.80 2013/11/23 13:35:36 christos Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +MODULE(MODULE_CLASS_VFS, cd9660, NULL);
    +
    +MALLOC_JUSTDEFINE(M_ISOFSMNT, "ISOFS mount", "ISOFS mount structure");
    +
    +static struct sysctllog *cd9660_sysctl_log;
    +
    +extern const struct vnodeopv_desc cd9660_vnodeop_opv_desc;
    +extern const struct vnodeopv_desc cd9660_specop_opv_desc;
    +extern const struct vnodeopv_desc cd9660_fifoop_opv_desc;
    +
    +const struct vnodeopv_desc * const cd9660_vnodeopv_descs[] = {
    +	&cd9660_vnodeop_opv_desc,
    +	&cd9660_specop_opv_desc,
    +	&cd9660_fifoop_opv_desc,
    +	NULL,
    +};
    +
    +struct vfsops cd9660_vfsops = {
    +	MOUNT_CD9660,
    +	sizeof (struct iso_args),
    +	cd9660_mount,
    +	cd9660_start,
    +	cd9660_unmount,
    +	cd9660_root,
    +	(void *)eopnotsupp,
    +	cd9660_statvfs,
    +	cd9660_sync,
    +	cd9660_vget,
    +	cd9660_fhtovp,
    +	cd9660_vptofh,
    +	cd9660_init,
    +	cd9660_reinit,
    +	cd9660_done,
    +	cd9660_mountroot,
    +	(int (*)(struct mount *, struct vnode *, struct timespec *)) eopnotsupp,
    +	vfs_stdextattrctl,
    +	(void *)eopnotsupp,		/* vfs_suspendctl */
    +	genfs_renamelock_enter,
    +	genfs_renamelock_exit,
    +	(void *)eopnotsupp,
    +	cd9660_vnodeopv_descs,
    +	0,	/* refcount */
    +	{ NULL, NULL } /* list */
    +};
    +
    +static const struct genfs_ops cd9660_genfsops = {
    +	.gop_size = genfs_size,
    +};
    +
    +/*
    + * Called by vfs_mountroot when iso is going to be mounted as root.
    + *
    + * Name is updated by mount(8) after booting.
    + */
    +#define ROOTNAME	"root_device"
    +
    +static int iso_makemp(struct iso_mnt *isomp, struct buf *bp, int *ea_len);
    +static int iso_mountfs(struct vnode *devvp, struct mount *mp,
    +		struct lwp *l, struct iso_args *argp);
    +
    +static int
    +cd9660_modcmd(modcmd_t cmd, void *arg)
    +{
    +	int error;
    +
    +	switch (cmd) {
    +	case MODULE_CMD_INIT:
    +		error = vfs_attach(&cd9660_vfsops);
    +		if (error != 0)
    +			break;
    +		sysctl_createv(&cd9660_sysctl_log, 0, NULL, NULL,
    +			       CTLFLAG_PERMANENT, CTLTYPE_NODE, "vfs", NULL,
    +			       NULL, 0, NULL, 0,
    +			       CTL_VFS, CTL_EOL);
    +		sysctl_createv(&cd9660_sysctl_log, 0, NULL, NULL,
    +			       CTLFLAG_PERMANENT, CTLTYPE_NODE, "cd9660",
    +			       SYSCTL_DESCR("ISO-9660 file system"),
    +			       NULL, 0, NULL, 0,
    +			       CTL_VFS, 14, CTL_EOL);
    +		sysctl_createv(&cd9660_sysctl_log, 0, NULL, NULL,
    +			       CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
    +			       CTLTYPE_INT, "utf8_joliet",
    +			       SYSCTL_DESCR("Encode Joliet filenames to UTF-8"),
    +			       NULL, 0, &cd9660_utf8_joliet, 0,
    +			       CTL_VFS, 14, CD9660_UTF8_JOLIET, CTL_EOL);
    +		/*
    +		 * XXX the "14" above could be dynamic, thereby eliminating
    +		 * one more instance of the "number to vfs" mapping problem,
    +		 * but "14" is the order as taken from sys/mount.h
    +		 */
    +		break;
    +	case MODULE_CMD_FINI:
    +		error = vfs_detach(&cd9660_vfsops);
    +		if (error != 0)
    +			break;
    +		sysctl_teardown(&cd9660_sysctl_log);
    +		break;
    +	default:
    +		error = ENOTTY;
    +		break;
    +	}
    +
    +	return (error);
    +}
    +
    +int
    +cd9660_mountroot(void)
    +{
    +	struct mount *mp;
    +	struct lwp *l = curlwp;
    +	int error;
    +	struct iso_args args;
    +
    +	if (device_class(root_device) != DV_DISK)
    +		return (ENODEV);
    +
    +	if ((error = vfs_rootmountalloc(MOUNT_CD9660, "root_device", &mp))
    +			!= 0) {
    +		vrele(rootvp);
    +		return (error);
    +	}
    +
    +	args.flags = ISOFSMNT_ROOT;
    +	if ((error = iso_mountfs(rootvp, mp, l, &args)) != 0) {
    +		vfs_unbusy(mp, false, NULL);
    +		vfs_destroy(mp);
    +		return (error);
    +	}
    +	mountlist_append(mp);
    +	(void)cd9660_statvfs(mp, &mp->mnt_stat);
    +	vfs_unbusy(mp, false, NULL);
    +	return (0);
    +}
    +
    +/*
    + * VFS Operations.
    + *
    + * mount system call
    + */
    +int
    +cd9660_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
    +{
    +	struct lwp *l = curlwp;
    +	struct vnode *devvp;
    +	struct iso_args *args = data;
    +	int error;
    +	struct iso_mnt *imp = VFSTOISOFS(mp);
    +
    +	if (*data_len < sizeof *args)
    +		return EINVAL;
    +
    +	if (mp->mnt_flag & MNT_GETARGS) {
    +		if (imp == NULL)
    +			return EIO;
    +		args->fspec = NULL;
    +		args->flags = imp->im_flags;
    +		*data_len = sizeof (*args);
    +		return 0;
    +	}
    +
    +	if ((mp->mnt_flag & MNT_RDONLY) == 0)
    +		return (EROFS);
    +
    +	if ((mp->mnt_flag & MNT_UPDATE) && args->fspec == NULL)
    +		return EINVAL;
    +
    +	/*
    +	 * Not an update, or updating the name: look up the name
    +	 * and verify that it refers to a sensible block device.
    +	 */
    +	error = namei_simple_user(args->fspec,
    +				NSM_FOLLOW_NOEMULROOT, &devvp);
    +	if (error != 0)
    +		return (error);
    +
    +	if (devvp->v_type != VBLK) {
    +		vrele(devvp);
    +		return ENOTBLK;
    +	}
    +	if (bdevsw_lookup(devvp->v_rdev) == NULL) {
    +		vrele(devvp);
    +		return ENXIO;
    +	}
    +	/*
    +	 * If mount by non-root, then verify that user has necessary
    +	 * permissions on the device.
    +	 */
    +	vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_MOUNT,
    +	    KAUTH_REQ_SYSTEM_MOUNT_DEVICE, mp, devvp, KAUTH_ARG(VREAD));
    +	VOP_UNLOCK(devvp);
    +	if (error) {
    +		vrele(devvp);
    +		return (error);
    +	}
    +	if ((mp->mnt_flag & MNT_UPDATE) == 0) {
    +		vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +		error = VOP_OPEN(devvp, FREAD, FSCRED);
    +		VOP_UNLOCK(devvp);
    +		if (error)
    +			goto fail;
    +		error = iso_mountfs(devvp, mp, l, args);
    +		if (error) {
    +			vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +			(void)VOP_CLOSE(devvp, FREAD, NOCRED);
    +			VOP_UNLOCK(devvp);
    +			goto fail;
    +		}
    +	} else {
    +		vrele(devvp);
    +		if (devvp != imp->im_devvp &&
    +		    devvp->v_rdev != imp->im_devvp->v_rdev)
    +			return (EINVAL);	/* needs translation */
    +	}
    +	return set_statvfs_info(path, UIO_USERSPACE, args->fspec, UIO_USERSPACE,
    +	    mp->mnt_op->vfs_name, mp, l);
    +
    +fail:
    +	vrele(devvp);
    +	return (error);
    +}
    +
    +/*
    + * Make a mount point from a volume descriptor
    + */
    +static int
    +iso_makemp(struct iso_mnt *isomp, struct buf *bp, int *ea_len)
    +{
    +	struct iso_primary_descriptor *pri;
    +	int logical_block_size;
    +	struct iso_directory_record *rootp;
    +
    +	pri = (struct iso_primary_descriptor *)bp->b_data;
    +
    +	logical_block_size = isonum_723 (pri->logical_block_size);
    +
    +	if (logical_block_size < DEV_BSIZE || logical_block_size > MAXBSIZE
    +	    || (logical_block_size & (logical_block_size - 1)) != 0)
    +		return -1;
    +
    +	rootp = (struct iso_directory_record *)pri->root_directory_record;
    +
    +	isomp->logical_block_size = logical_block_size;
    +	isomp->volume_space_size = isonum_733 (pri->volume_space_size);
    +	memcpy(isomp->root, rootp, sizeof(isomp->root));
    +	isomp->root_extent = isonum_733 (rootp->extent);
    +	isomp->root_size = isonum_733 (rootp->size);
    +	isomp->im_joliet_level = 0;
    +
    +	isomp->im_bmask = logical_block_size - 1;
    +	isomp->im_bshift = 0;
    +	while ((1 << isomp->im_bshift) < isomp->logical_block_size)
    +		isomp->im_bshift++;
    +
    +	if (ea_len != NULL)
    +		*ea_len = isonum_711(rootp->ext_attr_length);
    +
    +	return 0;
    +}
    +
    +/*
    + * Common code for mount and mountroot
    + */
    +static int
    +iso_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l,
    +	struct iso_args *argp)
    +{
    +	struct iso_mnt *isomp = (struct iso_mnt *)0;
    +	struct buf *bp = NULL, *pribp = NULL, *supbp = NULL;
    +	dev_t dev = devvp->v_rdev;
    +	int error = EINVAL;
    +	int ronly = (mp->mnt_flag & MNT_RDONLY) != 0;
    +	int iso_bsize;
    +	int iso_blknum;
    +	int joliet_level;
    +	struct iso_volume_descriptor *vdp;
    +	struct iso_supplementary_descriptor *sup;
    +	int sess = 0;
    +	int ext_attr_length;
    +	struct disklabel label;
    +
    +	if (!ronly)
    +		return EROFS;
    +
    +	/* Flush out any old buffers remaining from a previous use. */
    +	if ((error = vinvalbuf(devvp, V_SAVE, l->l_cred, l, 0, 0)) != 0)
    +		return (error);
    +
    +	/* This is the "logical sector size".  The standard says this
    +	 * should be 2048 or the physical sector size on the device,
    +	 * whichever is greater.  For now, we'll just use a constant.
    +	 */
    +	iso_bsize = ISO_DEFAULT_BLOCK_SIZE;
    +
    +	error = VOP_IOCTL(devvp, DIOCGDINFO, &label, FREAD, FSCRED);
    +	if (!error) {
    +		/* XXX more sanity checks? */
    +		sess = label.d_partitions[DISKPART(dev)].p_cdsession;
    +	} else {
    +		/* fallback to old method */
    +		error = VOP_IOCTL(devvp, CDIOREADMSADDR, &sess, 0, FSCRED);
    +		if (error)
    +			sess = 0;	/* never mind */
    +	}
    +#ifdef ISO_DEBUG
    +	printf("isofs: session offset (part %"PRId32") %d\n", DISKPART(dev), sess);
    +#endif
    +
    +	for (iso_blknum = 16; iso_blknum < 100; iso_blknum++) {
    +		if ((error = bread(devvp, (iso_blknum+sess) * btodb(iso_bsize),
    +				   iso_bsize, NOCRED, 0, &bp)) != 0)
    +			goto out;
    +
    +		vdp = (struct iso_volume_descriptor *)bp->b_data;
    +		if (memcmp(vdp->id, ISO_STANDARD_ID, sizeof(vdp->id)) != 0) {
    +			error = EINVAL;
    +			goto out;
    +		}
    +
    +		switch (isonum_711(vdp->type)) {
    +		case ISO_VD_PRIMARY:
    +			if (pribp == NULL) {
    +				pribp = bp;
    +				bp = NULL;
    +			}
    +			break;
    +
    +		case ISO_VD_SUPPLEMENTARY:
    +			if (supbp == NULL) {
    +				supbp = bp;
    +				bp = NULL;
    +			}
    +			break;
    +
    +		default:
    +			break;
    +		}
    +
    +		if (isonum_711 (vdp->type) == ISO_VD_END) {
    +			brelse(bp, 0);
    +			bp = NULL;
    +			break;
    +		}
    +
    +		if (bp != NULL) {
    +			brelse(bp, 0);
    +			bp = NULL;
    +		}
    +	}
    +
    +	if (pribp == NULL) {
    +		error = EINVAL;
    +		goto out;
    +	}
    +
    +	isomp = malloc(sizeof *isomp, M_ISOFSMNT, M_WAITOK);
    +	memset(isomp, 0, sizeof *isomp);
    +	if (iso_makemp(isomp, pribp, &ext_attr_length) == -1) {
    +		error = EINVAL;
    +		goto out;
    +	}
    +
    +	isomp->volume_space_size += sess;
    +
    +	brelse(pribp, BC_AGE);
    +	pribp = NULL;
    +
    +	mp->mnt_data = isomp;
    +	mp->mnt_stat.f_fsidx.__fsid_val[0] = (long)dev;
    +	mp->mnt_stat.f_fsidx.__fsid_val[1] = makefstype(MOUNT_CD9660);
    +	mp->mnt_stat.f_fsid = mp->mnt_stat.f_fsidx.__fsid_val[0];
    +	mp->mnt_stat.f_namemax = ISO_MAXNAMLEN;
    +	mp->mnt_flag |= MNT_LOCAL;
    +	mp->mnt_iflag |= IMNT_MPSAFE;
    +	mp->mnt_dev_bshift = iso_bsize;
    +	mp->mnt_fs_bshift = isomp->im_bshift;
    +	isomp->im_mountp = mp;
    +	isomp->im_dev = dev;
    +	isomp->im_devvp = devvp;
    +
    +	/* Check the Rock Ridge Extension support */
    +	if (!(argp->flags & ISOFSMNT_NORRIP)) {
    +		struct iso_directory_record *rootp;
    +
    +		if ((error = bread(isomp->im_devvp,
    +				   (isomp->root_extent + ext_attr_length) <<
    +				   (isomp->im_bshift - DEV_BSHIFT),
    +				   isomp->logical_block_size, NOCRED,
    +				   0, &bp)) != 0)
    +		    goto out;
    +
    +		rootp = (struct iso_directory_record *)bp->b_data;
    +
    +		if ((isomp->rr_skip = cd9660_rrip_offset(rootp,isomp)) < 0) {
    +		    argp->flags  |= ISOFSMNT_NORRIP;
    +		} else {
    +		    argp->flags  &= ~ISOFSMNT_GENS;
    +		}
    +
    +		/*
    +		 * The contents are valid,
    +		 * but they will get reread as part of another vnode, so...
    +		 */
    +		brelse(bp, BC_AGE);
    +		bp = NULL;
    +	}
    +	isomp->im_flags = argp->flags & (ISOFSMNT_NORRIP | ISOFSMNT_GENS |
    +		 ISOFSMNT_EXTATT | ISOFSMNT_NOJOLIET | ISOFSMNT_RRCASEINS);
    +
    +	if (isomp->im_flags & ISOFSMNT_GENS)
    +		isomp->iso_ftype = ISO_FTYPE_9660;
    +	else if (isomp->im_flags & ISOFSMNT_NORRIP) {
    +		isomp->iso_ftype = ISO_FTYPE_DEFAULT;
    +		if (argp->flags & ISOFSMNT_NOCASETRANS)
    +			isomp->im_flags |= ISOFSMNT_NOCASETRANS;
    +	} else
    +		isomp->iso_ftype = ISO_FTYPE_RRIP;
    +
    +	/* Check the Joliet Extension support */
    +	if ((argp->flags & ISOFSMNT_NORRIP) != 0 &&
    +	    (argp->flags & ISOFSMNT_NOJOLIET) == 0 &&
    +	    supbp != NULL) {
    +		joliet_level = 0;
    +		sup = (struct iso_supplementary_descriptor *)supbp->b_data;
    +
    +		if ((isonum_711(sup->flags) & 1) == 0) {
    +			if (memcmp(sup->escape, "%/@", 3) == 0)
    +				joliet_level = 1;
    +			if (memcmp(sup->escape, "%/C", 3) == 0)
    +				joliet_level = 2;
    +			if (memcmp(sup->escape, "%/E", 3) == 0)
    +				joliet_level = 3;
    +		}
    +		if (joliet_level != 0) {
    +			if (iso_makemp(isomp, supbp, NULL) == -1) {
    +				error = EINVAL;
    +				goto out;
    +			}
    +			isomp->im_joliet_level = joliet_level;
    +		}
    +	}
    +
    +	if (supbp != NULL) {
    +		brelse(supbp, 0);
    +		supbp = NULL;
    +	}
    +
    +	spec_node_setmountedfs(devvp, mp);
    +
    +	return 0;
    +out:
    +	if (bp)
    +		brelse(bp, 0);
    +	if (pribp)
    +		brelse(pribp, 0);
    +	if (supbp)
    +		brelse(supbp, 0);
    +	if (isomp) {
    +		free(isomp, M_ISOFSMNT);
    +		mp->mnt_data = NULL;
    +	}
    +	return error;
    +}
    +
    +/*
    + * Make a filesystem operational.
    + * Nothing to do at the moment.
    + */
    +/* ARGSUSED */
    +int
    +cd9660_start(struct mount *mp, int flags)
    +{
    +	return 0;
    +}
    +
    +/*
    + * unmount system call
    + */
    +int
    +cd9660_unmount(struct mount *mp, int mntflags)
    +{
    +	struct iso_mnt *isomp;
    +	int error, flags = 0;
    +
    +	if (mntflags & MNT_FORCE)
    +		flags |= FORCECLOSE;
    +	if ((error = vflush(mp, NULLVP, flags)) != 0)
    +		return (error);
    +
    +	isomp = VFSTOISOFS(mp);
    +
    +	if (isomp->im_devvp->v_type != VBAD)
    +		spec_node_setmountedfs(isomp->im_devvp, NULL);
    +
    +	vn_lock(isomp->im_devvp, LK_EXCLUSIVE | LK_RETRY);
    +	error = VOP_CLOSE(isomp->im_devvp, FREAD, NOCRED);
    +	vput(isomp->im_devvp);
    +	free(isomp, M_ISOFSMNT);
    +	mp->mnt_data = NULL;
    +	mp->mnt_flag &= ~MNT_LOCAL;
    +	return (error);
    +}
    +
    +/*
    + * Return root of a filesystem
    + */
    +int
    +cd9660_root(struct mount *mp, struct vnode **vpp)
    +{
    +	struct iso_mnt *imp = VFSTOISOFS(mp);
    +	struct iso_directory_record *dp =
    +	    (struct iso_directory_record *)imp->root;
    +	ino_t ino = isodirino(dp, imp);
    +
    +	/*
    +	 * With RRIP we must use the `.' entry of the root directory.
    +	 * Simply tell vget, that it's a relocated directory.
    +	 */
    +	return (cd9660_vget_internal(mp, ino, vpp,
    +				     imp->iso_ftype == ISO_FTYPE_RRIP, dp));
    +}
    +
    +/*
    + * Get file system statistics.
    + */
    +int
    +cd9660_statvfs(struct mount *mp, struct statvfs *sbp)
    +{
    +	struct iso_mnt *isomp;
    +
    +	isomp = VFSTOISOFS(mp);
    +
    +	sbp->f_bsize = isomp->logical_block_size;
    +	sbp->f_frsize = sbp->f_bsize;
    +	sbp->f_iosize = sbp->f_bsize;	/* XXX */
    +	sbp->f_blocks = isomp->volume_space_size;
    +	sbp->f_bfree = 0; /* total free blocks */
    +	sbp->f_bavail = 0; /* blocks free for non superuser */
    +	sbp->f_bresvd = 0; /* total reserved blocks */
    +	sbp->f_files =  0; /* total files */
    +	sbp->f_ffree = 0; /* free file nodes */
    +	sbp->f_favail = 0; /* free file nodes for non superuser */
    +	sbp->f_fresvd = 0; /* reserved file nodes */
    +	copy_statvfs_info(sbp, mp);
    +	/* Use the first spare for flags: */
    +	sbp->f_spare[0] = isomp->im_flags;
    +	return 0;
    +}
    +
    +/* ARGSUSED */
    +int
    +cd9660_sync(struct mount *mp, int waitfor, kauth_cred_t cred)
    +{
    +	return 0;
    +}
    +
    +/*
    + * File handle to vnode
    + *
    + * Have to be really careful about stale file handles:
    + * - check that the inode number is in range
    + * - call iget() to get the locked inode
    + * - check for an unallocated inode (i_mode == 0)
    + * - check that the generation number matches
    + */
    +
    +struct ifid {
    +	ushort	ifid_len;
    +	ushort	ifid_pad;
    +	int	ifid_ino;
    +	long	ifid_start;
    +};
    +
    +/* ARGSUSED */
    +int
    +cd9660_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
    +{
    +	struct ifid ifh;
    +	struct iso_node *ip;
    +	struct vnode *nvp;
    +	int error;
    +
    +	if (fhp->fid_len != sizeof(ifh))
    +		return EINVAL;
    +
    +	memcpy(&ifh, fhp, sizeof(ifh));
    +#ifdef	ISOFS_DBG
    +	printf("fhtovp: ino %d, start %ld\n",
    +	    ifh.ifid_ino, ifh.ifid_start);
    +#endif
    +
    +	if ((error = VFS_VGET(mp, ifh.ifid_ino, &nvp)) != 0) {
    +		*vpp = NULLVP;
    +		return (error);
    +	}
    +	ip = VTOI(nvp);
    +	if (ip->inode.iso_mode == 0) {
    +		vput(nvp);
    +		*vpp = NULLVP;
    +		return (ESTALE);
    +	}
    +	*vpp = nvp;
    +	return (0);
    +}
    +
    +int
    +cd9660_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
    +{
    +
    +	/*
    +	 * XXXX
    +	 * It would be nice if we didn't always set the `relocated' flag
    +	 * and force the extra read, but I don't want to think about fixing
    +	 * that right now.
    +	 */
    +	return (cd9660_vget_internal(mp, ino, vpp,
    +#if 0
    +				     VFSTOISOFS(mp)->iso_ftype == ISO_FTYPE_RRIP,
    +#else
    +				     0,
    +#endif
    +				     NULL));
    +}
    +
    +int
    +cd9660_vget_internal(struct mount *mp, ino_t ino, struct vnode **vpp,
    +	int relocated, struct iso_directory_record *isodir)
    +{
    +	struct iso_mnt *imp;
    +	struct iso_node *ip;
    +	struct buf *bp;
    +	struct vnode *vp;
    +	dev_t dev;
    +	int error;
    +
    +	imp = VFSTOISOFS(mp);
    +	dev = imp->im_dev;
    +
    + retry:
    +	if ((*vpp = cd9660_ihashget(dev, ino, LK_EXCLUSIVE)) != NULLVP)
    +		return (0);
    +
    +	/* Allocate a new vnode/iso_node. */
    +	error = getnewvnode(VT_ISOFS, mp, cd9660_vnodeop_p, NULL, &vp);
    +	if (error) {
    +		*vpp = NULLVP;
    +		return (error);
    +	}
    +	ip = pool_get(&cd9660_node_pool, PR_WAITOK);
    +
    +	/*
    +	 * If someone beat us to it, put back the freshly allocated
    +	 * vnode/inode pair and retry.
    +	 */
    +	mutex_enter(&cd9660_hashlock);
    +	if (cd9660_ihashget(dev, ino, 0) != NULL) {
    +		mutex_exit(&cd9660_hashlock);
    +		ungetnewvnode(vp);
    +		pool_put(&cd9660_node_pool, ip);
    +		goto retry;
    +	}
    +
    +	memset(ip, 0, sizeof(struct iso_node));
    +	vp->v_data = ip;
    +	ip->i_vnode = vp;
    +	ip->i_dev = dev;
    +	ip->i_number = ino;
    +	ip->i_mnt = imp;
    +	ip->i_devvp = imp->im_devvp;
    +	genfs_node_init(vp, &cd9660_genfsops);
    +
    +	/*
    +	 * Put it onto its hash chain and lock it so that other requests for
    +	 * this inode will block if they arrive while we are sleeping waiting
    +	 * for old data structures to be purged or for the contents of the
    +	 * disk portion of this inode to be read.
    +	 */
    +	cd9660_ihashins(ip);
    +	mutex_exit(&cd9660_hashlock);
    +
    +	if (isodir == 0) {
    +		int lbn, off;
    +
    +		lbn = cd9660_lblkno(imp, ino);
    +		if (lbn >= imp->volume_space_size) {
    +			vput(vp);
    +			printf("fhtovp: lbn exceed volume space %d\n", lbn);
    +			return (ESTALE);
    +		}
    +
    +		off = cd9660_blkoff(imp, ino);
    +		if (off + ISO_DIRECTORY_RECORD_SIZE > imp->logical_block_size) {
    +			vput(vp);
    +			printf("fhtovp: crosses block boundary %d\n",
    +			    off + ISO_DIRECTORY_RECORD_SIZE);
    +			return (ESTALE);
    +		}
    +
    +		error = bread(imp->im_devvp,
    +			      lbn << (imp->im_bshift - DEV_BSHIFT),
    +			      imp->logical_block_size, NOCRED, 0, &bp);
    +		if (error) {
    +			vput(vp);
    +			printf("fhtovp: bread error %d\n",error);
    +			return (error);
    +		}
    +		isodir = (struct iso_directory_record *)((char *)bp->b_data + off);
    +
    +		if (off + isonum_711(isodir->length) >
    +		    imp->logical_block_size) {
    +			vput(vp);
    +			if (bp != 0)
    +				brelse(bp, 0);
    +			printf("fhtovp: directory crosses block boundary %d[off=%d/len=%d]\n",
    +			    off +isonum_711(isodir->length), off,
    +			    isonum_711(isodir->length));
    +			return (ESTALE);
    +		}
    +
    +#if 0
    +		if (isonum_733(isodir->extent) +
    +		    isonum_711(isodir->ext_attr_length) != ifhp->ifid_start) {
    +			if (bp != 0)
    +				brelse(bp, 0);
    +			printf("fhtovp: file start miss %d vs %d\n",
    +			    isonum_733(isodir->extent) + isonum_711(isodir->ext_attr_length),
    +			    ifhp->ifid_start);
    +			return (ESTALE);
    +		}
    +#endif
    +	} else
    +		bp = 0;
    +
    +	vref(ip->i_devvp);
    +
    +	if (relocated) {
    +		/*
    +		 * On relocated directories we must
    +		 * read the `.' entry out of a dir.
    +		 */
    +		ip->iso_start = ino >> imp->im_bshift;
    +		if (bp != 0)
    +			brelse(bp, 0);
    +		if ((error = cd9660_blkatoff(vp, (off_t)0, NULL, &bp)) != 0) {
    +			vput(vp);
    +			return (error);
    +		}
    +		isodir = (struct iso_directory_record *)bp->b_data;
    +	}
    +
    +	ip->iso_extent = isonum_733(isodir->extent);
    +	ip->i_size = isonum_733(isodir->size);
    +	ip->iso_start = isonum_711(isodir->ext_attr_length) + ip->iso_extent;
    +
    +	/*
    +	 * Setup time stamp, attribute
    +	 */
    +	vp->v_type = VNON;
    +	switch (imp->iso_ftype) {
    +	default:	/* ISO_FTYPE_9660 */
    +	    {
    +		struct buf *bp2;
    +		int off;
    +		if ((imp->im_flags & ISOFSMNT_EXTATT)
    +		    && (off = isonum_711(isodir->ext_attr_length)))
    +			cd9660_blkatoff(vp, (off_t)-(off << imp->im_bshift),
    +			    NULL, &bp2);
    +		else
    +			bp2 = NULL;
    +		cd9660_defattr(isodir, ip, bp2);
    +		cd9660_deftstamp(isodir, ip, bp2);
    +		if (bp2)
    +			brelse(bp2, 0);
    +		break;
    +	    }
    +	case ISO_FTYPE_RRIP:
    +		cd9660_rrip_analyze(isodir, ip, imp);
    +		break;
    +	}
    +
    +	if (bp != 0)
    +		brelse(bp, 0);
    +
    +	/*
    +	 * Initialize the associated vnode
    +	 */
    +	switch (vp->v_type = IFTOVT(ip->inode.iso_mode)) {
    +	case VFIFO:
    +		vp->v_op = cd9660_fifoop_p;
    +		break;
    +	case VCHR:
    +	case VBLK:
    +		/*
    +		 * if device, look at device number table for translation
    +		 */
    +		vp->v_op = cd9660_specop_p;
    +		spec_node_init(vp, ip->inode.iso_rdev);
    +		break;
    +	case VLNK:
    +	case VNON:
    +	case VSOCK:
    +	case VDIR:
    +	case VBAD:
    +		break;
    +	case VREG:
    +		uvm_vnp_setsize(vp, ip->i_size);
    +		break;
    +	}
    +
    +	if (vp->v_type != VREG)
    +		uvm_vnp_setsize(vp, 0);
    +
    +	if (ip->iso_extent == imp->root_extent)
    +		vp->v_vflag |= VV_ROOT;
    +
    +	/*
    +	 * XXX need generation number?
    +	 */
    +
    +	*vpp = vp;
    +	return (0);
    +}
    +
    +/*
    + * Vnode pointer to File handle
    + */
    +/* ARGSUSED */
    +int
    +cd9660_vptofh(struct vnode *vp, struct fid *fhp, size_t *fh_size)
    +{
    +	struct iso_node *ip = VTOI(vp);
    +	struct ifid ifh;
    +
    +	if (*fh_size < sizeof(struct ifid)) {
    +		*fh_size = sizeof(struct ifid);
    +		return E2BIG;
    +	}
    +	*fh_size = sizeof(struct ifid);
    +
    +	memset(&ifh, 0, sizeof(ifh));
    +	ifh.ifid_len = sizeof(struct ifid);
    +	ifh.ifid_ino = ip->i_number;
    +	ifh.ifid_start = ip->iso_start;
    +	memcpy(fhp, &ifh, sizeof(ifh));
    +
    +#ifdef	ISOFS_DBG
    +	printf("vptofh: ino %d, start %ld\n",
    +	    ifh.ifid_ino,ifh.ifid_start);
    +#endif
    +	return 0;
    +}
    diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c
    new file mode 100644
    index 000000000..3d2bdb01a
    --- /dev/null
    +++ b/sys/fs/cd9660/cd9660_vnops.c
    @@ -0,0 +1,993 @@
    +/*	$NetBSD: cd9660_vnops.c,v 1.45 2013/06/23 07:28:36 dholland Exp $	*/
    +
    +/*-
    + * Copyright (c) 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)cd9660_vnops.c	8.15 (Berkeley) 5/27/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: cd9660_vnops.c,v 1.45 2013/06/23 07:28:36 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Structure for reading directories
    + */
    +struct isoreaddir {
    +	struct dirent saveent;
    +	struct dirent assocent;
    +	struct dirent current;
    +	off_t saveoff;
    +	off_t assocoff;
    +	off_t curroff;
    +	struct uio *uio;
    +	off_t uio_off;
    +	int eofflag;
    +	off_t *cookies;
    +	int ncookies;
    +};
    +
    +int	iso_uiodir(struct isoreaddir *, struct dirent *, off_t);
    +int	iso_shipdir(struct isoreaddir *);
    +
    +static int
    +cd9660_check_possible(struct vnode *vp, struct iso_node *ip, mode_t mode)
    +{
    +
    +	/*
    +	 * Disallow write attempts unless the file is a socket,
    +	 * fifo, or a block or character device resident on the
    +	 * file system.
    +	 */
    +	if (mode & VWRITE) {
    +		switch (vp->v_type) {
    +		case VDIR:
    +		case VLNK:
    +		case VREG:
    +			return (EROFS);
    +		default:
    +			break;
    +		}
    +	}
    +
    +	return 0;
    +}
    +
    +/*
    + * Check mode permission on inode pointer. Mode is READ, WRITE or EXEC.
    + * The mode is shifted to select the owner/group/other fields. The
    + * super user is granted all permissions.
    + */
    +static int
    +cd9660_check_permitted(struct vnode *vp, struct iso_node *ip, mode_t mode,
    +    kauth_cred_t cred)
    +{
    +
    +	return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode,
    +	    vp->v_type, ip->inode.iso_mode & ALLPERMS), vp, NULL,
    +	    genfs_can_access(vp->v_type, ip->inode.iso_mode & ALLPERMS,
    +	    ip->inode.iso_uid, ip->inode.iso_gid, mode, cred));
    +}
    +
    +int
    +cd9660_access(void *v)
    +{
    +	struct vop_access_args /* {
    +		struct vnode *a_vp;
    +		int  a_mode;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct iso_node *ip = VTOI(vp);
    +	int error;
    +
    +	error = cd9660_check_possible(vp, ip, ap->a_mode);
    +	if (error)
    +		return error;
    +
    +	error = cd9660_check_permitted(vp, ip, ap->a_mode, ap->a_cred);
    +
    +	return error;
    +}
    +
    +int
    +cd9660_getattr(void *v)
    +{
    +	struct vop_getattr_args /* {
    +		struct vnode *a_vp;
    +		struct vattr *a_vap;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct iso_node *ip = VTOI(vp);
    +	struct vattr *vap = ap->a_vap;
    +
    +	vap->va_fsid	= ip->i_dev;
    +	vap->va_fileid	= ip->i_number;
    +
    +	vap->va_mode	= ip->inode.iso_mode & ALLPERMS;
    +	vap->va_nlink	= ip->inode.iso_links;
    +	vap->va_uid	= ip->inode.iso_uid;
    +	vap->va_gid	= ip->inode.iso_gid;
    +	vap->va_atime	= ip->inode.iso_atime;
    +	vap->va_mtime	= ip->inode.iso_mtime;
    +	vap->va_ctime	= ip->inode.iso_ctime;
    +	vap->va_rdev	= ip->inode.iso_rdev;
    +
    +	vap->va_size	= (u_quad_t) ip->i_size;
    +	if (ip->i_size == 0 && vp->v_type == VLNK) {
    +		struct vop_readlink_args rdlnk;
    +		struct iovec aiov;
    +		struct uio auio;
    +		char *cp;
    +
    +		cp = (char *)malloc(MAXPATHLEN, M_TEMP, M_WAITOK);
    +		aiov.iov_base = cp;
    +		aiov.iov_len = MAXPATHLEN;
    +		auio.uio_iov = &aiov;
    +		auio.uio_iovcnt = 1;
    +		auio.uio_offset = 0;
    +		auio.uio_rw = UIO_READ;
    +		auio.uio_resid = MAXPATHLEN;
    +		UIO_SETUP_SYSSPACE(&auio);
    +		rdlnk.a_uio = &auio;
    +		rdlnk.a_vp = ap->a_vp;
    +		rdlnk.a_cred = ap->a_cred;
    +		if (cd9660_readlink(&rdlnk) == 0)
    +			vap->va_size = MAXPATHLEN - auio.uio_resid;
    +		free(cp, M_TEMP);
    +	}
    +	vap->va_flags	= 0;
    +	vap->va_gen = 1;
    +	vap->va_blocksize = ip->i_mnt->logical_block_size;
    +	vap->va_bytes	= (u_quad_t) ip->i_size;
    +	vap->va_type	= vp->v_type;
    +	return (0);
    +}
    +
    +/*
    + * Vnode op for reading.
    + */
    +int
    +cd9660_read(void *v)
    +{
    +	struct vop_read_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct uio *uio = ap->a_uio;
    +	struct iso_node *ip = VTOI(vp);
    +	struct iso_mnt *imp;
    +	struct buf *bp;
    +	daddr_t lbn, rablock;
    +	off_t diff;
    +	int rasize, error = 0;
    +	long size, n, on;
    +
    +	if (uio->uio_resid == 0)
    +		return (0);
    +	if (uio->uio_offset < 0)
    +		return (EINVAL);
    +	if (uio->uio_offset >= ip->i_size)
    +		return 0;
    +	ip->i_flag |= IN_ACCESS;
    +	imp = ip->i_mnt;
    +
    +	if (vp->v_type == VREG) {
    +		const int advice = IO_ADV_DECODE(ap->a_ioflag);
    +		error = 0;
    +
    +		while (uio->uio_resid > 0) {
    +			vsize_t bytelen = MIN(ip->i_size - uio->uio_offset,
    +					      uio->uio_resid);
    +
    +			if (bytelen == 0)
    +				break;
    +			error = ubc_uiomove(&vp->v_uobj, uio, bytelen, advice,
    +			    UBC_READ | UBC_PARTIALOK | UBC_UNMAP_FLAG(vp));
    +			if (error)
    +				break;
    +		}
    +		goto out;
    +	}
    +
    +	do {
    +		lbn = cd9660_lblkno(imp, uio->uio_offset);
    +		on = cd9660_blkoff(imp, uio->uio_offset);
    +		n = MIN(imp->logical_block_size - on, uio->uio_resid);
    +		diff = (off_t)ip->i_size - uio->uio_offset;
    +		if (diff <= 0)
    +			return (0);
    +		if (diff < n)
    +			n = diff;
    +		size = cd9660_blksize(imp, ip, lbn);
    +		rablock = lbn + 1;
    +		if (cd9660_lblktosize(imp, rablock) < ip->i_size) {
    +			rasize = cd9660_blksize(imp, ip, rablock);
    +			error = breadn(vp, lbn, size, &rablock,
    +				       &rasize, 1, NOCRED, 0, &bp);
    +		} else {
    +			error = bread(vp, lbn, size, NOCRED, 0, &bp);
    +		}
    +		if (error) {
    +			return (error);
    +		}
    +		n = MIN(n, size - bp->b_resid);
    +
    +		error = uiomove((char *)bp->b_data + on, (int)n, uio);
    +		brelse(bp, 0);
    +	} while (error == 0 && uio->uio_resid > 0 && n != 0);
    +
    +out:
    +	return (error);
    +}
    +
    +int
    +iso_uiodir(struct isoreaddir *idp, struct dirent *dp, off_t off)
    +{
    +	int error;
    +
    +	dp->d_name[dp->d_namlen] = 0;
    +	dp->d_reclen = _DIRENT_SIZE(dp);
    +
    +	if (idp->uio->uio_resid < dp->d_reclen) {
    +		idp->eofflag = 0;
    +		return (-1);
    +	}
    +
    +	if (idp->cookies) {
    +		if (idp->ncookies <= 0) {
    +			idp->eofflag = 0;
    +			return (-1);
    +		}
    +
    +		*idp->cookies++ = off;
    +		--idp->ncookies;
    +	}
    +
    +	if ((error = uiomove(dp, dp->d_reclen, idp->uio)) != 0)
    +		return (error);
    +	idp->uio_off = off;
    +	return (0);
    +}
    +
    +int
    +iso_shipdir(struct isoreaddir *idp)
    +{
    +	struct dirent *dp;
    +	int cl, sl, assoc;
    +	int error;
    +	char *cname, *sname;
    +
    +	cl = idp->current.d_namlen;
    +	cname = idp->current.d_name;
    +
    +	if ((assoc = cl > 1 && *cname == ASSOCCHAR)) {
    +		cl--;
    +		cname++;
    +	}
    +
    +	dp = &idp->saveent;
    +	sname = dp->d_name;
    +	if (!(sl = dp->d_namlen)) {
    +		dp = &idp->assocent;
    +		sname = dp->d_name + 1;
    +		sl = dp->d_namlen - 1;
    +	}
    +	if (sl > 0) {
    +		if (sl != cl
    +		    || memcmp(sname, cname, sl)) {
    +			if (idp->assocent.d_namlen) {
    +				error = iso_uiodir(idp, &idp->assocent,
    +						   idp->assocoff);
    +				if (error)
    +					return (error);
    +				idp->assocent.d_namlen = 0;
    +			}
    +			if (idp->saveent.d_namlen) {
    +				error = iso_uiodir(idp, &idp->saveent,
    +						   idp->saveoff);
    +				if (error)
    +					return (error);
    +				idp->saveent.d_namlen = 0;
    +			}
    +		}
    +	}
    +	idp->current.d_reclen = _DIRENT_SIZE(&idp->current);
    +	if (assoc) {
    +		idp->assocoff = idp->curroff;
    +		memcpy(&idp->assocent, &idp->current, idp->current.d_reclen);
    +	} else {
    +		idp->saveoff = idp->curroff;
    +		memcpy(&idp->saveent, &idp->current, idp->current.d_reclen);
    +	}
    +	return (0);
    +}
    +
    +/*
    + * Vnode op for readdir
    + */
    +int
    +cd9660_readdir(void *v)
    +{
    +	struct vop_readdir_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +		int *a_eofflag;
    +		off_t **a_cookies;
    +		int *a_ncookies;
    +	} */ *ap = v;
    +	struct uio *uio = ap->a_uio;
    +	struct isoreaddir *idp;
    +	struct vnode *vdp = ap->a_vp;
    +	struct iso_node *dp;
    +	struct iso_mnt *imp;
    +	struct buf *bp = NULL;
    +	struct iso_directory_record *ep;
    +	int entryoffsetinblock;
    +	doff_t endsearch;
    +	u_long bmask;
    +	int error = 0;
    +	int reclen;
    +	u_short namelen;
    +	off_t *cookies = NULL;
    +	int ncookies = 0;
    +
    +	if (vdp->v_type != VDIR)
    +		return (ENOTDIR);
    +
    +	dp = VTOI(vdp);
    +	imp = dp->i_mnt;
    +	bmask = imp->im_bmask;
    +
    +	idp = (struct isoreaddir *)malloc(sizeof(*idp), M_TEMP, M_WAITOK);
    +	idp->saveent.d_namlen = idp->assocent.d_namlen = 0;
    +	/*
    +	 * XXX
    +	 * Is it worth trying to figure out the type?
    +	 */
    +	idp->saveent.d_type = idp->assocent.d_type = idp->current.d_type =
    +	    DT_UNKNOWN;
    +	idp->uio = uio;
    +	if (ap->a_ncookies == NULL)
    +		idp->cookies = NULL;
    +	else {
    +		ncookies = uio->uio_resid / _DIRENT_MINSIZE((struct dirent *)0);
    +		cookies = malloc(ncookies * sizeof(off_t), M_TEMP, M_WAITOK);
    +		idp->cookies = cookies;
    +		idp->ncookies = ncookies;
    +	}
    +	idp->eofflag = 1;
    +	idp->curroff = uio->uio_offset;
    +
    +	if ((entryoffsetinblock = idp->curroff & bmask) &&
    +	    (error = cd9660_blkatoff(vdp, (off_t)idp->curroff, NULL, &bp))) {
    +		free(idp, M_TEMP);
    +		return (error);
    +	}
    +	endsearch = dp->i_size;
    +
    +	while (idp->curroff < endsearch) {
    +		/*
    +		 * If offset is on a block boundary,
    +		 * read the next directory block.
    +		 * Release previous if it exists.
    +		 */
    +		if ((idp->curroff & bmask) == 0) {
    +			if (bp != NULL)
    +				brelse(bp, 0);
    +			error = cd9660_blkatoff(vdp, (off_t)idp->curroff,
    +					     NULL, &bp);
    +			if (error)
    +				break;
    +			entryoffsetinblock = 0;
    +		}
    +		/*
    +		 * Get pointer to next entry.
    +		 */
    +		KASSERT(bp != NULL);
    +		ep = (struct iso_directory_record *)
    +			((char *)bp->b_data + entryoffsetinblock);
    +
    +		reclen = isonum_711(ep->length);
    +		if (reclen == 0) {
    +			/* skip to next block, if any */
    +			idp->curroff =
    +			    (idp->curroff & ~bmask) + imp->logical_block_size;
    +			continue;
    +		}
    +
    +		if (reclen < ISO_DIRECTORY_RECORD_SIZE) {
    +			error = EINVAL;
    +			/* illegal entry, stop */
    +			break;
    +		}
    +
    +		if (entryoffsetinblock + reclen > imp->logical_block_size) {
    +			error = EINVAL;
    +			/* illegal directory, so stop looking */
    +			break;
    +		}
    +
    +		idp->current.d_namlen = isonum_711(ep->name_len);
    +
    +		if (reclen < ISO_DIRECTORY_RECORD_SIZE + idp->current.d_namlen) {
    +			error = EINVAL;
    +			/* illegal entry, stop */
    +			break;
    +		}
    +
    +		if (isonum_711(ep->flags)&2)
    +			idp->current.d_fileno = isodirino(ep, imp);
    +		else
    +			idp->current.d_fileno = dbtob(bp->b_blkno) +
    +				entryoffsetinblock;
    +
    +		idp->curroff += reclen;
    +
    +		switch (imp->iso_ftype) {
    +		case ISO_FTYPE_RRIP:
    +			cd9660_rrip_getname(ep, idp->current.d_name, &namelen,
    +			    &idp->current.d_fileno, imp);
    +			idp->current.d_namlen = (u_char)namelen;
    +			if (idp->current.d_namlen)
    +				error = iso_uiodir(idp, &idp->current,
    +				    idp->curroff);
    +			break;
    +		default:	/* ISO_FTYPE_DEFAULT || ISO_FTYPE_9660 */
    +			isofntrans(ep->name, idp->current.d_namlen,
    +				   idp->current.d_name, &namelen,
    +				   imp->iso_ftype == ISO_FTYPE_9660,
    +				   (imp->im_flags & ISOFSMNT_NOCASETRANS) == 0,
    +				   isonum_711(ep->flags)&4,
    +				   imp->im_joliet_level);
    +			switch (idp->current.d_name[0]) {
    +			case 0:
    +				idp->current.d_name[0] = '.';
    +				idp->current.d_namlen = 1;
    +				error = iso_uiodir(idp, &idp->current,
    +				    idp->curroff);
    +				break;
    +			case 1:
    +				strlcpy(idp->current.d_name, "..",
    +				    sizeof(idp->current.d_name));
    +				idp->current.d_namlen = 2;
    +				error = iso_uiodir(idp, &idp->current,
    +				    idp->curroff);
    +				break;
    +			default:
    +				idp->current.d_namlen = (u_char)namelen;
    +				if (imp->iso_ftype == ISO_FTYPE_DEFAULT)
    +					error = iso_shipdir(idp);
    +				else
    +					error = iso_uiodir(idp, &idp->current,
    +					    idp->curroff);
    +				break;
    +			}
    +		}
    +		if (error)
    +			break;
    +
    +		entryoffsetinblock += reclen;
    +	}
    +
    +	if (!error && imp->iso_ftype == ISO_FTYPE_DEFAULT) {
    +		idp->current.d_namlen = 0;
    +		error = iso_shipdir(idp);
    +	}
    +	if (error < 0)
    +		error = 0;
    +
    +	if (ap->a_ncookies != NULL) {
    +		if (error)
    +			free(cookies, M_TEMP);
    +		else {
    +			/*
    +			 * Work out the number of cookies actually used.
    +			 */
    +			*ap->a_ncookies = ncookies - idp->ncookies;
    +			*ap->a_cookies = cookies;
    +		}
    +	}
    +
    +	if (bp)
    +		brelse(bp, 0);
    +
    +	uio->uio_offset = idp->uio_off;
    +	*ap->a_eofflag = idp->eofflag;
    +
    +	free(idp, M_TEMP);
    +
    +	return (error);
    +}
    +
    +/*
    + * Return target name of a symbolic link
    + * Shouldn't we get the parent vnode and read the data from there?
    + * This could eventually result in deadlocks in cd9660_lookup.
    + * But otherwise the block read here is in the block buffer two times.
    + */
    +typedef struct iso_directory_record ISODIR;
    +typedef struct iso_node             ISONODE;
    +typedef struct iso_mnt              ISOMNT;
    +
    +int
    +cd9660_readlink(void *v)
    +{
    +	struct vop_readlink_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	ISONODE	*ip;
    +	ISODIR	*dirp;
    +	ISOMNT	*imp;
    +	struct	buf *bp;
    +	struct	uio *uio;
    +	u_short	symlen;
    +	int	error;
    +	char	*symname;
    +	bool use_pnbuf;
    +
    +	ip  = VTOI(ap->a_vp);
    +	imp = ip->i_mnt;
    +	uio = ap->a_uio;
    +
    +	if (imp->iso_ftype != ISO_FTYPE_RRIP)
    +		return (EINVAL);
    +
    +	/*
    +	 * Get parents directory record block that this inode included.
    +	 */
    +	error = bread(imp->im_devvp,
    +		      (ip->i_number >> imp->im_bshift) <<
    +		      (imp->im_bshift - DEV_BSHIFT),
    +		      imp->logical_block_size, NOCRED, 0, &bp);
    +	if (error) {
    +		return (EINVAL);
    +	}
    +
    +	/*
    +	 * Setup the directory pointer for this inode
    +	 */
    +	dirp = (ISODIR *)((char *)bp->b_data + (ip->i_number & imp->im_bmask));
    +
    +	/*
    +	 * Just make sure, we have a right one....
    +	 *   1: Check not cross boundary on block
    +	 */
    +	if ((ip->i_number & imp->im_bmask) + isonum_711(dirp->length)
    +	    > imp->logical_block_size) {
    +		brelse(bp, 0);
    +		return (EINVAL);
    +	}
    +
    +	/*
    +	 * Now get a buffer
    +	 * Abuse a namei buffer for now.
    +	 */
    +	use_pnbuf = !VMSPACE_IS_KERNEL_P(uio->uio_vmspace) ||
    +	    uio->uio_iov->iov_len < MAXPATHLEN;
    +	if (use_pnbuf) {
    +		symname = PNBUF_GET();
    +	} else {
    +		symname = uio->uio_iov->iov_base;
    +	}
    +
    +	/*
    +	 * Ok, we just gathering a symbolic name in SL record.
    +	 */
    +	if (cd9660_rrip_getsymname(dirp, symname, &symlen, imp) == 0) {
    +		if (use_pnbuf) {
    +			PNBUF_PUT(symname);
    +		}
    +		brelse(bp, 0);
    +		return (EINVAL);
    +	}
    +	/*
    +	 * Don't forget before you leave from home ;-)
    +	 */
    +	brelse(bp, 0);
    +
    +	/*
    +	 * return with the symbolic name to caller's.
    +	 */
    +	if (use_pnbuf) {
    +		error = uiomove(symname, symlen, uio);
    +		PNBUF_PUT(symname);
    +		return (error);
    +	}
    +	uio->uio_resid -= symlen;
    +	uio->uio_iov->iov_base = (char *)uio->uio_iov->iov_base + symlen;
    +	uio->uio_iov->iov_len -= symlen;
    +	return (0);
    +}
    +
    +int
    +cd9660_link(void *v)
    +{
    +	struct vop_link_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +
    +	VOP_ABORTOP(ap->a_dvp, ap->a_cnp);
    +	vput(ap->a_dvp);
    +	return (EROFS);
    +}
    +
    +int
    +cd9660_symlink(void *v)
    +{
    +	struct vop_symlink_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +		struct vattr *a_vap;
    +		char *a_target;
    +	} */ *ap = v;
    +
    +	VOP_ABORTOP(ap->a_dvp, ap->a_cnp);
    +	vput(ap->a_dvp);
    +	return (EROFS);
    +}
    +
    +/*
    + * Calculate the logical to physical mapping if not done already,
    + * then call the device strategy routine.
    + */
    +int
    +cd9660_strategy(void *v)
    +{
    +	struct vop_strategy_args /* {
    +		struct vnode *a_vp;
    +		struct buf *a_bp;
    +	} */ *ap = v;
    +	struct buf *bp = ap->a_bp;
    +	struct vnode *vp = ap->a_vp;
    +	struct iso_node *ip;
    +	int error;
    +
    +	ip = VTOI(vp);
    +	if (vp->v_type == VBLK || vp->v_type == VCHR)
    +		panic("cd9660_strategy: spec");
    +	if (bp->b_blkno == bp->b_lblkno) {
    +		error = VOP_BMAP(vp, bp->b_lblkno, NULL, &bp->b_blkno, NULL);
    +		if (error) {
    +			bp->b_error = error;
    +			biodone(bp);
    +			return (error);
    +		}
    +		if ((long)bp->b_blkno == -1)
    +			clrbuf(bp);
    +	}
    +	if ((long)bp->b_blkno == -1) {
    +		biodone(bp);
    +		return (0);
    +	}
    +	vp = ip->i_devvp;
    +	return (VOP_STRATEGY(vp, bp));
    +}
    +
    +/*
    + * Print out the contents of an inode.
    + */
    +/*ARGSUSED*/
    +int
    +cd9660_print(void *v)
    +{
    +
    +	printf("tag VT_ISOFS, isofs vnode\n");
    +	return (0);
    +}
    +
    +/*
    + * Return POSIX pathconf information applicable to cd9660 filesystems.
    + */
    +int
    +cd9660_pathconf(void *v)
    +{
    +	struct vop_pathconf_args /* {
    +		struct vnode *a_vp;
    +		int a_name;
    +		register_t *a_retval;
    +	} */ *ap = v;
    +	switch (ap->a_name) {
    +	case _PC_LINK_MAX:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_NAME_MAX:
    +		if (VTOI(ap->a_vp)->i_mnt->iso_ftype == ISO_FTYPE_RRIP)
    +			*ap->a_retval = ISO_MAXNAMLEN;
    +		else
    +			*ap->a_retval = 37;
    +		return (0);
    +	case _PC_PATH_MAX:
    +		*ap->a_retval = PATH_MAX;
    +		return (0);
    +	case _PC_PIPE_BUF:
    +		*ap->a_retval = PIPE_BUF;
    +		return (0);
    +	case _PC_CHOWN_RESTRICTED:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_NO_TRUNC:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_SYNC_IO:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_FILESIZEBITS:
    +		*ap->a_retval = 32;
    +		return (0);
    +	default:
    +		return (EINVAL);
    +	}
    +	/* NOTREACHED */
    +}
    +
    +/*
    + * Allow changing the size for special files (and fifos).
    + */
    +int
    +cd9660_setattr(void *v)
    +{
    +	struct vop_setattr_args /* {
    +		struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct vattr *a_vap;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct vattr *vap = ap->a_vap;
    +	struct vnode *vp = ap->a_vp;
    +
    +	/*
    +	 * Only size is changeable.
    +	 */
    +	if (vap->va_type != VNON
    +	    || vap->va_nlink != (nlink_t)VNOVAL
    +	    || vap->va_fsid != VNOVAL
    +	    || vap->va_fileid != VNOVAL
    +	    || vap->va_blocksize != VNOVAL
    +	    || vap->va_rdev != (dev_t)VNOVAL
    +	    || (int)vap->va_bytes != VNOVAL
    +	    || vap->va_gen != VNOVAL
    +	    || vap->va_flags != VNOVAL
    +	    || vap->va_uid != (uid_t)VNOVAL
    +	    || vap->va_gid != (gid_t)VNOVAL
    +	    || vap->va_atime.tv_sec != VNOVAL
    +	    || vap->va_mtime.tv_sec != VNOVAL
    +	    || vap->va_mode != (mode_t)VNOVAL)
    +		return EOPNOTSUPP;
    +
    +	if (vap->va_size != VNOVAL
    +	    && vp->v_type != VCHR
    +	    && vp->v_type != VBLK
    +	    && vp->v_type != VFIFO)
    +		return EOPNOTSUPP;
    +
    +	return 0;
    +}
    +
    +/*
    + * Global vfs data structures for isofs
    + */
    +#define	cd9660_create	genfs_eopnotsupp
    +#define	cd9660_mknod	genfs_eopnotsupp
    +#define	cd9660_write	genfs_eopnotsupp
    +#define	cd9660_fsync	genfs_nullop
    +#define	cd9660_remove	genfs_eopnotsupp
    +#define	cd9660_rename	genfs_eopnotsupp
    +#define	cd9660_mkdir	genfs_eopnotsupp
    +#define	cd9660_rmdir	genfs_eopnotsupp
    +#define	cd9660_advlock	genfs_einval
    +#define	cd9660_bwrite	genfs_eopnotsupp
    +#define cd9660_revoke	genfs_revoke
    +
    +/*
    + * Global vfs data structures for cd9660
    + */
    +int (**cd9660_vnodeop_p)(void *);
    +const struct vnodeopv_entry_desc cd9660_vnodeop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, cd9660_lookup },		/* lookup */
    +	{ &vop_create_desc, cd9660_create },		/* create */
    +	{ &vop_mknod_desc, cd9660_mknod },		/* mknod */
    +	{ &vop_open_desc, cd9660_open },		/* open */
    +	{ &vop_close_desc, cd9660_close },		/* close */
    +	{ &vop_access_desc, cd9660_access },		/* access */
    +	{ &vop_getattr_desc, cd9660_getattr },		/* getattr */
    +	{ &vop_setattr_desc, cd9660_setattr },		/* setattr */
    +	{ &vop_read_desc, cd9660_read },		/* read */
    +	{ &vop_write_desc, cd9660_write },		/* write */
    +	{ &vop_fcntl_desc, genfs_fcntl },		/* fcntl */
    +	{ &vop_ioctl_desc, cd9660_ioctl },		/* ioctl */
    +	{ &vop_poll_desc, cd9660_poll },		/* poll */
    +	{ &vop_revoke_desc, cd9660_revoke },		/* revoke */
    +	{ &vop_mmap_desc, cd9660_mmap },		/* mmap */
    +	{ &vop_fsync_desc, cd9660_fsync },		/* fsync */
    +	{ &vop_seek_desc, cd9660_seek },		/* seek */
    +	{ &vop_remove_desc, cd9660_remove },		/* remove */
    +	{ &vop_link_desc, cd9660_link },		/* link */
    +	{ &vop_rename_desc, cd9660_rename },		/* rename */
    +	{ &vop_mkdir_desc, cd9660_mkdir },		/* mkdir */
    +	{ &vop_rmdir_desc, cd9660_rmdir },		/* rmdir */
    +	{ &vop_symlink_desc, cd9660_symlink },		/* symlink */
    +	{ &vop_readdir_desc, cd9660_readdir },		/* readdir */
    +	{ &vop_readlink_desc, cd9660_readlink },	/* readlink */
    +	{ &vop_abortop_desc, cd9660_abortop },		/* abortop */
    +	{ &vop_inactive_desc, cd9660_inactive },	/* inactive */
    +	{ &vop_reclaim_desc, cd9660_reclaim },		/* reclaim */
    +	{ &vop_lock_desc, genfs_lock },			/* lock */
    +	{ &vop_unlock_desc, genfs_unlock },		/* unlock */
    +	{ &vop_bmap_desc, cd9660_bmap },		/* bmap */
    +	{ &vop_strategy_desc, cd9660_strategy },	/* strategy */
    +	{ &vop_print_desc, cd9660_print },		/* print */
    +	{ &vop_islocked_desc, genfs_islocked },		/* islocked */
    +	{ &vop_pathconf_desc, cd9660_pathconf },	/* pathconf */
    +	{ &vop_advlock_desc, cd9660_advlock },		/* advlock */
    +	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
    +	{ &vop_getpages_desc, genfs_getpages },		/* getpages */
    +	{ &vop_putpages_desc, genfs_putpages },		/* putpages */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc cd9660_vnodeop_opv_desc =
    +	{ &cd9660_vnodeop_p, cd9660_vnodeop_entries };
    +
    +/*
    + * Special device vnode ops
    + */
    +int (**cd9660_specop_p)(void *);
    +const struct vnodeopv_entry_desc cd9660_specop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, spec_lookup },		/* lookup */
    +	{ &vop_create_desc, spec_create },		/* create */
    +	{ &vop_mknod_desc, spec_mknod },		/* mknod */
    +	{ &vop_open_desc, spec_open },			/* open */
    +	{ &vop_close_desc, spec_close },		/* close */
    +	{ &vop_access_desc, cd9660_access },		/* access */
    +	{ &vop_getattr_desc, cd9660_getattr },		/* getattr */
    +	{ &vop_setattr_desc, cd9660_setattr },		/* setattr */
    +	{ &vop_read_desc, spec_read },			/* read */
    +	{ &vop_write_desc, spec_write },		/* write */
    +	{ &vop_fcntl_desc, genfs_fcntl },		/* fcntl */
    +	{ &vop_ioctl_desc, spec_ioctl },		/* ioctl */
    +	{ &vop_poll_desc, spec_poll },			/* poll */
    +	{ &vop_kqfilter_desc, spec_kqfilter },		/* kqfilter */
    +	{ &vop_revoke_desc, spec_revoke },		/* revoke */
    +	{ &vop_mmap_desc, spec_mmap },			/* mmap */
    +	{ &vop_fsync_desc, spec_fsync },		/* fsync */
    +	{ &vop_seek_desc, spec_seek },			/* seek */
    +	{ &vop_remove_desc, spec_remove },		/* remove */
    +	{ &vop_link_desc, spec_link },			/* link */
    +	{ &vop_rename_desc, spec_rename },		/* rename */
    +	{ &vop_mkdir_desc, spec_mkdir },		/* mkdir */
    +	{ &vop_rmdir_desc, spec_rmdir },		/* rmdir */
    +	{ &vop_symlink_desc, spec_symlink },		/* symlink */
    +	{ &vop_readdir_desc, spec_readdir },		/* readdir */
    +	{ &vop_readlink_desc, spec_readlink },		/* readlink */
    +	{ &vop_abortop_desc, spec_abortop },		/* abortop */
    +	{ &vop_inactive_desc, cd9660_inactive },	/* inactive */
    +	{ &vop_reclaim_desc, cd9660_reclaim },		/* reclaim */
    +	{ &vop_lock_desc, genfs_lock },			/* lock */
    +	{ &vop_unlock_desc, genfs_unlock },		/* unlock */
    +	{ &vop_bmap_desc, spec_bmap },			/* bmap */
    +	{ &vop_strategy_desc, spec_strategy },		/* strategy */
    +	{ &vop_print_desc, cd9660_print },		/* print */
    +	{ &vop_islocked_desc, genfs_islocked },		/* islocked */
    +	{ &vop_pathconf_desc, spec_pathconf },		/* pathconf */
    +	{ &vop_advlock_desc, spec_advlock },		/* advlock */
    +	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
    +	{ &vop_getpages_desc, spec_getpages },		/* getpages */
    +	{ &vop_putpages_desc, spec_putpages },		/* putpages */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc cd9660_specop_opv_desc =
    +	{ &cd9660_specop_p, cd9660_specop_entries };
    +
    +int (**cd9660_fifoop_p)(void *);
    +const struct vnodeopv_entry_desc cd9660_fifoop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, vn_fifo_bypass },		/* lookup */
    +	{ &vop_create_desc, vn_fifo_bypass },		/* create */
    +	{ &vop_mknod_desc, vn_fifo_bypass },		/* mknod */
    +	{ &vop_open_desc, vn_fifo_bypass },		/* open */
    +	{ &vop_close_desc, vn_fifo_bypass },		/* close */
    +	{ &vop_access_desc, cd9660_access },		/* access */
    +	{ &vop_getattr_desc, cd9660_getattr },		/* getattr */
    +	{ &vop_setattr_desc, cd9660_setattr },		/* setattr */
    +	{ &vop_read_desc, vn_fifo_bypass },		/* read */
    +	{ &vop_write_desc, vn_fifo_bypass },		/* write */
    +	{ &vop_fcntl_desc, genfs_fcntl },		/* fcntl */
    +	{ &vop_ioctl_desc, vn_fifo_bypass },		/* ioctl */
    +	{ &vop_poll_desc, vn_fifo_bypass },		/* poll */
    +	{ &vop_kqfilter_desc, vn_fifo_bypass },		/* kqfilter */
    +	{ &vop_revoke_desc, vn_fifo_bypass },		/* revoke */
    +	{ &vop_mmap_desc, vn_fifo_bypass },		/* mmap */
    +	{ &vop_fsync_desc, vn_fifo_bypass },		/* fsync */
    +	{ &vop_seek_desc, vn_fifo_bypass },		/* seek */
    +	{ &vop_remove_desc, vn_fifo_bypass },		/* remove */
    +	{ &vop_link_desc, vn_fifo_bypass } ,		/* link */
    +	{ &vop_rename_desc, vn_fifo_bypass },		/* rename */
    +	{ &vop_mkdir_desc, vn_fifo_bypass },		/* mkdir */
    +	{ &vop_rmdir_desc, vn_fifo_bypass },		/* rmdir */
    +	{ &vop_symlink_desc, vn_fifo_bypass },		/* symlink */
    +	{ &vop_readdir_desc, vn_fifo_bypass },		/* readdir */
    +	{ &vop_readlink_desc, vn_fifo_bypass },		/* readlink */
    +	{ &vop_abortop_desc, vn_fifo_bypass },		/* abortop */
    +	{ &vop_inactive_desc, cd9660_inactive },	/* inactive */
    +	{ &vop_reclaim_desc, cd9660_reclaim },		/* reclaim */
    +	{ &vop_lock_desc, genfs_lock },			/* lock */
    +	{ &vop_unlock_desc, genfs_unlock },		/* unlock */
    +	{ &vop_bmap_desc, vn_fifo_bypass },		/* bmap */
    +	{ &vop_strategy_desc, vn_fifo_bypass },		/* strategy */
    +	{ &vop_print_desc, cd9660_print },		/* print */
    +	{ &vop_islocked_desc, genfs_islocked },		/* islocked */
    +	{ &vop_pathconf_desc, vn_fifo_bypass },		/* pathconf */
    +	{ &vop_advlock_desc, vn_fifo_bypass },		/* advlock */
    +	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
    +	{ &vop_putpages_desc, vn_fifo_bypass }, 	/* putpages */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc cd9660_fifoop_opv_desc =
    +	{ &cd9660_fifoop_p, cd9660_fifoop_entries };
    diff --git a/sys/fs/cd9660/files.cd9660 b/sys/fs/cd9660/files.cd9660
    new file mode 100644
    index 000000000..ab20f5115
    --- /dev/null
    +++ b/sys/fs/cd9660/files.cd9660
    @@ -0,0 +1,11 @@
    +#	$NetBSD: files.cd9660,v 1.1 2002/12/23 17:52:09 jdolecek Exp $
    +
    +deffs	CD9660
    +
    +file	fs/cd9660/cd9660_bmap.c		cd9660
    +file	fs/cd9660/cd9660_lookup.c	cd9660
    +file	fs/cd9660/cd9660_node.c		cd9660
    +file	fs/cd9660/cd9660_rrip.c		cd9660
    +file	fs/cd9660/cd9660_util.c		cd9660
    +file	fs/cd9660/cd9660_vfsops.c	cd9660
    +file	fs/cd9660/cd9660_vnops.c	cd9660
    diff --git a/sys/fs/cd9660/iso_rrip.h b/sys/fs/cd9660/iso_rrip.h
    new file mode 100644
    index 000000000..0eae5c71c
    --- /dev/null
    +++ b/sys/fs/cd9660/iso_rrip.h
    @@ -0,0 +1,85 @@
    +/*	$NetBSD: iso_rrip.h,v 1.4 2005/12/03 17:34:43 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley
    + * by Pace Willisson (pace@blitz.com).  The Rock Ridge Extension
    + * Support code is derived from software contributed to Berkeley
    + * by Atsushi Murai (amurai@spec.co.jp).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)iso_rrip.h	8.2 (Berkeley) 1/23/94
    + */
    +
    +#ifndef _ISOFS_CD9660_ISO_RRIP_H_
    +#define _ISOFS_CD9660_ISO_RRIP_H_
    +
    +/*
    + *	Analyze function flag (similar to RR field bits)
    + */
    +#define	ISO_SUSP_ATTR		0x0001
    +#define	ISO_SUSP_DEVICE		0x0002
    +#define	ISO_SUSP_SLINK		0x0004
    +#define	ISO_SUSP_ALTNAME	0x0008
    +#define	ISO_SUSP_CLINK		0x0010
    +#define	ISO_SUSP_PLINK		0x0020
    +#define	ISO_SUSP_RELDIR		0x0040
    +#define	ISO_SUSP_TSTAMP		0x0080
    +#define	ISO_SUSP_IDFLAG		0x0100
    +#define	ISO_SUSP_EXTREF		0x0200
    +#define	ISO_SUSP_CONT		0x0400
    +#define	ISO_SUSP_OFFSET		0x0800
    +#define	ISO_SUSP_STOP		0x1000
    +#define	ISO_SUSP_UNKNOWN	0x8000
    +
    +typedef struct {
    +	struct iso_node	*inop;
    +	int		fields;		/* interesting fields in this analysis */
    +	daddr_t		iso_ce_blk;	/* block of continuation area */
    +	off_t		iso_ce_off;	/* offset of continuation area */
    +	int		iso_ce_len;	/* length of continuation area */
    +	struct iso_mnt	*imp;		/* mount structure */
    +	ino_t		*inump;		/* inode number pointer */
    +	char		*outbuf;	/* name/symbolic link output area */
    +	u_short		*outlen;	/* length of above */
    +	u_short		maxlen;		/* maximum length of above */
    +	int		cont;		/* continuation of above */
    +} ISO_RRIP_ANALYZE;
    +
    +int cd9660_rrip_analyze(struct iso_directory_record *isodir,
    +			    struct iso_node *inop, struct iso_mnt *imp);
    +int cd9660_rrip_getname(struct iso_directory_record *isodir,
    +			    char *outbuf, u_short *outlen,
    +			    ino_t *inump, struct iso_mnt *imp);
    +int cd9660_rrip_getsymname(struct iso_directory_record *isodir,
    +			       char *outbuf, u_short *outlen,
    +			       struct iso_mnt *imp);
    +int cd9660_rrip_offset(struct iso_directory_record *isodir,
    +			   struct iso_mnt *imp);
    +
    +#endif /* _ISOFS_CD9660_ISO_RRIP_H_ */
    diff --git a/sys/fs/msdosfs/Makefile b/sys/fs/msdosfs/Makefile
    new file mode 100644
    index 000000000..4218792cd
    --- /dev/null
    +++ b/sys/fs/msdosfs/Makefile
    @@ -0,0 +1,7 @@
    +#	$NetBSD: Makefile,v 1.1 2002/12/26 12:31:32 jdolecek Exp $
    +
    +INCSDIR= /usr/include/msdosfs
    +
    +INCS=	bootsect.h bpb.h denode.h direntry.h fat.h msdosfsmount.h
    +
    +.include 
    diff --git a/sys/fs/msdosfs/TODO b/sys/fs/msdosfs/TODO
    new file mode 100644
    index 000000000..715277599
    --- /dev/null
    +++ b/sys/fs/msdosfs/TODO
    @@ -0,0 +1,8 @@
    +# $NetBSD: TODO,v 1.1 2002/12/26 12:31:32 jdolecek Exp $
    +
    +- use the dirty flag introduced by Win95 OSR2, as noted in bin/5638
    +- the fat cache (see msdosfs_fat.c, denode->de_fc[]) should probably
    +	hold all cluster numbers for directories to speed up file lookup;
    +	doing the same for files is likely to not be worth the needed
    +	memory, since they are often much bigger and scanned much less
    +	frequently
    diff --git a/sys/fs/msdosfs/bootsect.h b/sys/fs/msdosfs/bootsect.h
    new file mode 100644
    index 000000000..92a63093b
    --- /dev/null
    +++ b/sys/fs/msdosfs/bootsect.h
    @@ -0,0 +1,112 @@
    +/*	$NetBSD: bootsect.h,v 1.5 2012/11/04 17:57:59 jakllsch Exp $	*/
    +
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +#ifndef _MSDOSFS_BOOTSECT_H_
    +#define _MSDOSFS_BOOTSECT_H_
    +
    +/*
    + * Format of a boot sector.  This is the first sector on a DOS floppy disk
    + * or the fist sector of a partition on a hard disk.  But, it is not the
    + * first sector of a partitioned hard disk.
    + */
    +struct bootsector33 {
    +	u_int8_t	bsJump[3];		/* jump inst E9xxxx or EBxx90 */
    +	int8_t		bsOemName[8];		/* OEM name and version */
    +	int8_t		bsBPB[19];		/* BIOS parameter block */
    +	int8_t		bsDriveNumber;		/* drive number (0x80) */
    +	int8_t		bsBootCode[479];	/* pad so struct is 512b */
    +	u_int8_t	bsBootSectSig0;
    +	u_int8_t	bsBootSectSig1;
    +#define	BOOTSIG0	0x55
    +#define	BOOTSIG1	0xaa
    +};
    +
    +struct extboot {
    +	int8_t		exDriveNumber;		/* drive number (0x80) */
    +	int8_t		exReserved1;		/* reserved */
    +	int8_t		exBootSignature;	/* ext. boot signature (0x29) */
    +#define	EXBOOTSIG	0x29
    +	int8_t		exVolumeID[4];		/* volume ID number */
    +	int8_t		exVolumeLabel[11];	/* volume label */
    +	int8_t		exFileSysType[8];	/* fs type (FAT12 or FAT16) */
    +};
    +
    +struct bootsector50 {
    +	u_int8_t	bsJump[3];		/* jump inst E9xxxx or EBxx90 */
    +	int8_t		bsOemName[8];		/* OEM name and version */
    +	int8_t		bsBPB[25];		/* BIOS parameter block */
    +	int8_t		bsExt[26];		/* Bootsector Extension */
    +	int8_t		bsBootCode[448];	/* pad so structure is 512b */
    +	u_int8_t	bsBootSectSig0;
    +	u_int8_t	bsBootSectSig1;
    +#define	BOOTSIG0	0x55
    +#define	BOOTSIG1	0xaa
    +};
    +
    +struct bootsector710 {
    +	u_int8_t	bsJump[3];		/* jump inst E9xxxx or EBxx90 */
    +	int8_t		bsOEMName[8];		/* OEM name and version */
    +	int8_t		bsBPB[53];		/* BIOS parameter block */
    +	int8_t		bsExt[26];		/* Bootsector Extension */
    +	int8_t		bsBootCode[420];	/* pad so structure is 512b */
    +	u_int8_t	bsBootSectSig0;
    +	u_int8_t	bsBootSectSig1;
    +#define	BOOTSIG0	0x55
    +#define	BOOTSIG1	0xaa
    +};
    +#ifdef	atari
    +/*
    + * The boot sector on a GEMDOS FS is a little bit different from the MSDOS FS
    + * format. Currently there is no need to declare a separate structure, the
    + * bootsector33 struct will do.
    + */
    +#if 0
    +struct bootsec_atari {
    +	u_int8_t	bsBranch[2];		/* branch inst if auto-boot	*/
    +	int8_t		bsFiller[6];		/* anything or nothing		*/
    +	int8_t		bsSerial[3];		/* serial no. for mediachange	*/
    +	int8_t		bsBPB[19];		/* BIOS parameter block		*/
    +	int8_t		bsBootCode[482];	/* pad so struct is 512b	*/
    +};
    +#endif
    +#endif /* atari */
    +
    +union bootsector {
    +	struct bootsector33 bs33;
    +	struct bootsector50 bs50;
    +	struct bootsector710 bs710;
    +};
    +
    +#if 0
    +/*
    + * Shorthand for fields in the bpb.
    + */
    +#define	bsBytesPerSec	bsBPB.bpbBytesPerSec
    +#define	bsSectPerClust	bsBPB.bpbSectPerClust
    +#define	bsResSectors	bsBPB.bpbResSectors
    +#define	bsFATS		bsBPB.bpbFATS
    +#define	bsRootDirEnts	bsBPB.bpbRootDirEnts
    +#define	bsSectors	bsBPB.bpbSectors
    +#define	bsMedia		bsBPB.bpbMedia
    +#define	bsFATsecs	bsBPB.bpbFATsecs
    +#define	bsSectPerTrack	bsBPB.bpbSectPerTrack
    +#define	bsHeads		bsBPB.bpbHeads
    +#define	bsHiddenSecs	bsBPB.bpbHiddenSecs
    +#define	bsHugeSectors	bsBPB.bpbHugeSectors
    +#endif
    +
    +#endif /* _MSDOSFS_BOOTSECT_H_ */
    diff --git a/sys/fs/msdosfs/bpb.h b/sys/fs/msdosfs/bpb.h
    index 5c1a6c2d0..c2937241b 100644
    --- a/sys/fs/msdosfs/bpb.h
    +++ b/sys/fs/msdosfs/bpb.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bpb.h,v 1.6 2007/01/27 07:18:10 cbiere Exp $	*/
    +/*	$NetBSD: bpb.h,v 1.7 2012/11/04 17:57:59 jakllsch Exp $	*/
     
     /*
      * Written by Paul Popelka (paulp@uts.amdahl.com)
    @@ -85,7 +85,7 @@ struct bpb710 {
     
     #ifdef	atari
     /*
    - * BPB for gemdos filesystems. Atari leaves the obsolete stuff undefined.
    + * BPB for GEMDOS filesystems. Atari leaves the obsolete stuff undefined.
      * Currently there is no need for a separate BPB structure.
      */
     #if 0
    @@ -96,7 +96,7 @@ struct bpb_a {
     	u_int8_t	bpbFATs;	/* number of FATs		*/
     	u_int16_t	bpbRootDirEnts;	/* number of root directory entries */
     	u_int16_t	bpbSectors;	/* total number of sectors	*/
    -	u_int8_t	bpbUseless1;	/* meaningless on gemdos fs	*/
    +	u_int8_t	bpbUseless1;	/* meaningless on GEMDOS FS	*/
     	u_int16_t	bpbFATsecs;	/* number of sectors per FAT	*/
     	u_int16_t	bpbUseless2;	/* meaningless for harddisk fs	*/
     	u_int16_t	bpbUseless3;	/* meaningless for harddisk fs	*/
    diff --git a/sys/fs/msdosfs/denode.h b/sys/fs/msdosfs/denode.h
    new file mode 100644
    index 000000000..7453d5f9f
    --- /dev/null
    +++ b/sys/fs/msdosfs/denode.h
    @@ -0,0 +1,327 @@
    +/*	$NetBSD: denode.h,v 1.23 2013/01/26 19:45:02 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +#ifndef _MSDOSFS_DENODE_H_
    +#define _MSDOSFS_DENODE_H_
    +
    +#ifndef MAKEFS
    +#include 
    +#else
    +struct genfs_node {
    +};
    +struct vnode;
    +struct msdosfsmount;
    +struct buf;
    +#endif
    +
    +/*
    + * This is the pc filesystem specific portion of the vnode structure.
    + *
    + * To describe a file uniquely the de_dirclust, de_diroffset, and
    + * de_StartCluster fields are used.
    + *
    + * de_dirclust contains the cluster number of the directory cluster
    + *	containing the entry for a file or directory.
    + * de_diroffset is the index into the cluster for the entry describing
    + *	a file or directory.
    + * de_StartCluster is the number of the first cluster of the file or directory.
    + *
    + * Now to describe the quirks of the pc filesystem.
    + * - Clusters 0 and 1 are reserved.
    + * - The first allocatable cluster is 2.
    + * - The root directory is of fixed size and all blocks that make it up
    + *   are contiguous.
    + * - Cluster 0 refers to the root directory when it is found in the
    + *   startcluster field of a directory entry that points to another directory.
    + * - Cluster 0 implies a 0 length file when found in the start cluster field
    + *   of a directory entry that points to a file.
    + * - You can't use the cluster number 0 to derive the address of the root
    + *   directory.
    + * - Multiple directory entries can point to a directory. The entry in the
    + *   parent directory points to a child directory.  Any directories in the
    + *   child directory contain a ".." entry that points back to the parent.
    + *   The child directory itself contains a "." entry that points to itself.
    + * - The root directory does not contain a "." or ".." entry.
    + * - Directory entries for directories are never changed once they are created
    + *   (except when removed).  The size stays 0, and the last modification time
    + *   is never changed.  This is because so many directory entries can point to
    + *   the physical clusters that make up a directory.  It would lead to an
    + *   update nightmare.
    + * - The length field in a directory entry pointing to a directory contains 0
    + *   (always).  The only way to find the end of a directory is to follow the
    + *   cluster chain until the "last cluster" marker is found.
    + *
    + * My extensions to make this house of cards work.  These apply only to the in
    + * memory copy of the directory entry.
    + * - A reference count for each denode will be kept since dos doesn't keep such
    + *   things.
    + */
    +
    +/*
    + * Internal pseudo-offset for (nonexistent) directory entry for the root
    + * dir in the root dir
    + */
    +#define	MSDOSFSROOT_OFS	0x1fffffff
    +
    +/*
    + * The FAT cache structure. fc_fsrcn is the filesystem relative cluster
    + * number that corresponds to the file relative cluster number in this
    + * structure (fc_frcn).
    + */
    +struct fatcache {
    +	u_long fc_frcn;		/* file relative cluster number */
    +	u_long fc_fsrcn;	/* filesystem relative cluster number */
    +};
    +
    +/*
    + * The FAT entry cache as it stands helps make extending files a "quick"
    + * operation by avoiding having to scan the FAT to discover the last
    + * cluster of the file. The cache also helps sequential reads by
    + * remembering the last cluster read from the file.  This also prevents us
    + * from having to rescan the FAT to find the next cluster to read.  This
    + * cache is probably pretty worthless if a file is opened by multiple
    + * processes.
    + */
    +#define	FC_SIZE		3	/* number of entries in the cache */
    +#define	FC_LASTMAP	0	/* entry the last call to pcbmap() resolved
    +				 * to */
    +#define	FC_LASTFC	1	/* entry for the last cluster in the file */
    +#define	FC_NEXTTOLASTFC	2	/* entry for a close to the last cluster in the file */
    +
    +#define	FCE_EMPTY	0xffffffff	/* doesn't represent an actual cluster # */
    +
    +/*
    + * Set a slot in the FAT cache.
    + */
    +#define	fc_setcache(dep, slot, frcn, fsrcn) \
    +	(dep)->de_fc[slot].fc_frcn = frcn; \
    +	(dep)->de_fc[slot].fc_fsrcn = fsrcn;
    +
    +#define fc_last_to_nexttolast(dep) \
    +	do {  \
    +		(dep)->de_fc[FC_NEXTTOLASTFC].fc_frcn = (dep)->de_fc[FC_LASTFC].fc_frcn; \
    +		(dep)->de_fc[FC_NEXTTOLASTFC].fc_fsrcn = (dep)->de_fc[FC_LASTFC].fc_fsrcn; \
    +	} while (0)
    +	 
    +
    +/*
    + * This is the in memory variant of a dos directory entry.  It is usually
    + * contained within a vnode.
    + */
    +struct denode {
    +	struct genfs_node de_gnode;
    +	LIST_ENTRY(denode) de_hash;
    +	struct vnode *de_vnode;	/* addr of vnode we are part of */
    +	struct vnode *de_devvp;	/* vnode of blk dev we live on */
    +	u_long de_flag;		/* flag bits */
    +	dev_t de_dev;		/* device where direntry lives */
    +	u_long de_dirclust;	/* cluster of the directory file containing this entry */
    +	u_long de_diroffset;	/* offset of this entry in the directory cluster */
    +	u_long de_fndoffset;	/* offset of found dir entry */
    +	int de_fndcnt;		/* number of slots before de_fndoffset */
    +	long de_refcnt;		/* reference count */
    +	struct msdosfsmount *de_pmp;	/* addr of our mount struct */
    +	struct lockf *de_lockf;	/* byte level lock list */
    +	u_char de_Name[12];	/* name, from DOS directory entry */
    +	u_char de_Attributes;	/* attributes, from directory entry */
    +	u_char de_CHun;		/* Hundredth of second of CTime*/
    +	u_short de_CTime;	/* creation time */
    +	u_short de_CDate;	/* creation date */
    +	u_short de_ADate;	/* access date */
    +	u_short de_MTime;	/* modification time */
    +	u_short de_MDate;	/* modification date */
    +	u_long de_StartCluster; /* starting cluster of file */
    +	u_long de_FileSize;	/* size of file in bytes */
    +	struct fatcache de_fc[FC_SIZE];	/* FAT cache */
    +};
    +
    +/*
    + * Values for the de_flag field of the denode.
    + */
    +#define	DE_UPDATE	0x0001	/* Modification time update request. */
    +#define	DE_CREATE	0x0002	/* Creation time update */
    +#define	DE_ACCESS	0x0004	/* Access time update */
    +#define	DE_MODIFIED	0x0008	/* Denode has been modified. */
    +#define	DE_RENAME	0x0010	/* Denode is in the process of being renamed */
    +
    +/*
    + * Maximum filename length in Win95
    + * Note: Must be < sizeof(dirent.d_name)
    + */
    +#define	WIN_MAXLEN	255
    +
    +/* Maximum size of a file on a FAT filesystem */
    +#define MSDOSFS_FILESIZE_MAX	0xFFFFFFFFLL
    +
    +/*
    + * Transfer directory entries between internal and external form.
    + * dep is a struct denode * (internal form),
    + * dp is a struct direntry * (external form).
    + */
    +#define DE_INTERNALIZE32(dep, dp)			\
    +	 ((dep)->de_StartCluster |= getushort((dp)->deHighClust) << 16)
    +#define DE_INTERNALIZE(dep, dp)				\
    +	(memcpy((dep)->de_Name, (dp)->deName, 11),	\
    +	 (dep)->de_Attributes = (dp)->deAttributes,	\
    +	 (dep)->de_CHun = (dp)->deCHundredth,		\
    +	 (dep)->de_CTime = getushort((dp)->deCTime),	\
    +	 (dep)->de_CDate = getushort((dp)->deCDate),	\
    +	 (dep)->de_ADate = getushort((dp)->deADate),	\
    +	 (dep)->de_MTime = getushort((dp)->deMTime),	\
    +	 (dep)->de_MDate = getushort((dp)->deMDate),	\
    +	 (dep)->de_StartCluster = getushort((dp)->deStartCluster), \
    +	 (dep)->de_FileSize = getulong((dp)->deFileSize), \
    +	 (FAT32((dep)->de_pmp) ? DE_INTERNALIZE32((dep), (dp)) : 0))
    +
    +#define DE_EXTERNALIZE32(dp, dep)			\
    +	 putushort((dp)->deHighClust, (dep)->de_StartCluster >> 16)
    +#define DE_EXTERNALIZE16(dp, dep)			\
    +	 putushort((dp)->deHighClust, 0)
    +#define DE_EXTERNALIZE(dp, dep)				\
    +	(memcpy((dp)->deName, (dep)->de_Name, 11),	\
    +	 (dp)->deAttributes = (dep)->de_Attributes,	\
    +	 (dp)->deCHundredth = (dep)->de_CHun,		\
    +	 putushort((dp)->deCTime, (dep)->de_CTime),	\
    +	 putushort((dp)->deCDate, (dep)->de_CDate),	\
    +	 putushort((dp)->deADate, (dep)->de_ADate),	\
    +	 putushort((dp)->deMTime, (dep)->de_MTime),	\
    +	 putushort((dp)->deMDate, (dep)->de_MDate),	\
    +	 putushort((dp)->deStartCluster, (dep)->de_StartCluster), \
    +	 putulong((dp)->deFileSize,			\
    +	     ((dep)->de_Attributes & ATTR_DIRECTORY) ? 0 : (dep)->de_FileSize), \
    +	 (FAT32((dep)->de_pmp) ? DE_EXTERNALIZE32((dp), (dep)) : DE_EXTERNALIZE16((dp), (dep))))
    +
    +#define	de_forw		de_chain[0]
    +#define	de_back		de_chain[1]
    +
    +#if defined(_KERNEL) || defined(MAKEFS)
    +
    +#define	VTODE(vp)	((struct denode *)(vp)->v_data)
    +#define	DETOV(de)	((de)->de_vnode)
    +
    +#define	DETIMES(dep, acc, mod, cre, gmtoff) \
    +	while ((dep)->de_flag & (DE_UPDATE | DE_CREATE | DE_ACCESS)) \
    +		msdosfs_detimes(dep, acc, mod, cre, gmtoff)
    +
    +/*
    + * This overlays the fid structure (see fstypes.h)
    + */
    +struct defid {
    +	u_int16_t defid_len;	/* length of structure */
    +	u_int16_t defid_pad;	/* force 4-byte alignment */
    +
    +	u_int32_t defid_dirclust; /* cluster this dir entry came from */
    +	u_int32_t defid_dirofs;	/* offset of entry within the cluster */
    +	u_int32_t defid_gen;	/* generation number */
    +};
    +
    +/*
    + * Prototypes for MSDOSFS vnode operations
    + */
    +int	msdosfs_lookup		(void *);
    +int	msdosfs_create		(void *);
    +int	msdosfs_close		(void *);
    +int	msdosfs_access		(void *);
    +int	msdosfs_getattr		(void *);
    +int	msdosfs_setattr		(void *);
    +int	msdosfs_read		(void *);
    +int	msdosfs_write		(void *);
    +#define	msdosfs_lease_check	genfs_lease_check
    +#define	msdosfs_ioctl		genfs_enoioctl
    +#define	msdosfs_poll		genfs_poll
    +#define	msdosfs_revoke		genfs_revoke
    +#define	msdosfs_mmap		genfs_mmap
    +int	msdosfs_fsync		(void *);
    +#define	msdosfs_seek		genfs_seek
    +int	msdosfs_remove		(void *);
    +int	msdosfs_rename		(void *);
    +int	msdosfs_mkdir		(void *);
    +int	msdosfs_rmdir		(void *);
    +int	msdosfs_readdir		(void *);
    +#define	msdosfs_abortop		genfs_abortop
    +int	msdosfs_inactive	(void *);
    +int	msdosfs_reclaim		(void *);
    +int	msdosfs_bmap		(void *);
    +int	msdosfs_strategy	(void *);
    +int	msdosfs_print		(void *);
    +int	msdosfs_advlock		(void *);
    +int	msdosfs_pathconf	(void *);
    +
    +/*
    + * Internal service routine prototypes.
    + */
    +struct componentname;
    +struct direntry;
    +struct kauth_cred;
    +int msdosfs_update(struct vnode *, const struct timespec *,
    +	    const struct timespec *, int);
    +int createde(struct denode *, struct denode *,
    +		struct denode **, struct componentname *);
    +int deextend(struct denode *, u_long, struct kauth_cred *);
    +int deget(struct msdosfsmount *, u_long, u_long, struct denode **);
    +int detrunc(struct denode *, u_long, int, struct kauth_cred *);
    +int deupdat(struct denode *, int);
    +int doscheckpath(struct denode *, struct denode *);
    +int dosdirempty(struct denode *);
    +int readde(struct denode *, struct buf **, struct direntry **);
    +int readep(struct msdosfsmount *, u_long, u_long,
    +		struct buf **, struct direntry **);
    +void reinsert(struct denode *);
    +int removede(struct denode *, struct denode *);
    +int uniqdosname(struct denode *, struct componentname *, u_char *);
    +int findwin95(struct denode *);
    +int msdosfs_gop_alloc(struct vnode *, off_t, off_t, int, struct kauth_cred *);
    +void msdosfs_gop_markupdate(struct vnode *, int);
    +void msdosfs_detimes(struct denode *, const struct timespec *,
    +    const struct timespec *, const struct timespec *, int);
    +int msdosfs_fh_enter(struct msdosfsmount *, uint32_t, uint32_t, uint32_t *);
    +int msdosfs_fh_remove(struct msdosfsmount *, uint32_t, uint32_t);
    +int msdosfs_fh_lookup(struct msdosfsmount *, uint32_t, uint32_t, uint32_t *);
    +void msdosfs_fh_destroy(struct msdosfsmount *);
    +#endif	/* _KERNEL || MAKEFS */
    +#endif /* _MSDOSFS_DENODE_H_ */
    diff --git a/sys/fs/msdosfs/direntry.h b/sys/fs/msdosfs/direntry.h
    index 7c3c66c8a..c3d1b9b78 100644
    --- a/sys/fs/msdosfs/direntry.h
    +++ b/sys/fs/msdosfs/direntry.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: direntry.h,v 1.5 2005/12/03 17:34:43 christos Exp $	*/
    +/*	$NetBSD: direntry.h,v 1.7 2013/10/20 00:01:55 christos Exp $	*/
     
     /*-
      * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    @@ -78,6 +78,12 @@ struct direntry {
     	u_int8_t	deFileSize[4];	/* size of file in bytes */
     };
     
    +static __inline uint8_t
    +msdos_dirchar(const struct direntry *de, size_t i) {
    +	return i < sizeof(de->deName) ? de->deName[i] :
    +	    de->deExtension[i - sizeof(de->deName)];
    +}
    +
     /*
      * Structure of a Win95 long name directory entry
      */
    @@ -120,7 +126,8 @@ struct winentry {
     #define DD_YEAR_MASK		0xFE00	/* year - 1980 */
     #define DD_YEAR_SHIFT		9
     
    -#ifdef _KERNEL
    +#if defined(_KERNEL) || defined(MAKEFS)
    +struct dirent;
     void	unix2dostime(const struct timespec *tsp, int gmtoff, u_int16_t *ddp,
     	    u_int16_t *dtp, u_int8_t *dhp);
     void	dos2unixtime(u_int dd, u_int dt, u_int dh, int gmtoff,
    @@ -135,5 +142,5 @@ int	winChkName(const u_char *un, int unlen, struct winentry *wep,
     int	win2unixfn(struct winentry *wep, struct dirent *dp, int chksum);
     u_int8_t winChksum(u_int8_t *name);
     int	winSlotCnt(const u_char *un, int unlen);
    -#endif	/* _KERNEL */
    +#endif /* _KERNEL || MAKEFS */
     #endif /* _MSDOSFS_DIRENTRY_H_ */
    diff --git a/sys/fs/msdosfs/fat.h b/sys/fs/msdosfs/fat.h
    new file mode 100644
    index 000000000..660ba5bba
    --- /dev/null
    +++ b/sys/fs/msdosfs/fat.h
    @@ -0,0 +1,119 @@
    +/*	$NetBSD: fat.h,v 1.8 2013/01/26 00:21:49 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#ifndef _MSDOSFS_FAT_H_
    +#define _MSDOSFS_FAT_H_
    +/*
    + * Some useful cluster numbers.
    + */
    +#define	MSDOSFSROOT	0		/* cluster 0 means the root dir */
    +#define	CLUST_FREE	0		/* cluster 0 also means a free cluster */
    +#define	MSDOSFSFREE	CLUST_FREE
    +#define	CLUST_FIRST	2		/* first legal cluster number */
    +#define	CLUST_RSRVD	0xfffffff6	/* reserved cluster range */
    +#define	CLUST_BAD	0xfffffff7	/* a cluster with a defect */
    +#define	CLUST_EOFS	0xfffffff8	/* start of eof cluster range */
    +#define	CLUST_EOFE	0xffffffff	/* end of eof cluster range */
    +#define	CLUST_END	CLUST_EOFE	/* bigger than any valid cluster */
    +
    +#define	FAT12_MASK	0x00000fff	/* mask for 12 bit cluster numbers */
    +#define	FAT16_MASK	0x0000ffff	/* mask for 16 bit cluster numbers */
    +#define	FAT32_MASK	0x0fffffff	/* mask for FAT32 cluster numbers */
    +
    +/*
    + * MSDOSFS:
    + * Return true if filesystem uses 12 bit FATs. Microsoft Programmer's
    + * Reference says if the maximum cluster number in a filesystem is greater
    + * than 4084 ((CLUST_RSRVD - CLUST_FIRST) & FAT12_MASK) then we've got a
    + * 16 bit FAT filesystem. While mounting, the result of this test is stored
    + * in pm_fatentrysize.
    + * GEMDOS-flavour (atari):
    + * If the filesystem is on floppy we've got a 12 bit FAT filesystem, otherwise
    + * 16 bit. We check the d_type field in the disklabel struct while mounting
    + * and store the result in the pm_fatentrysize. Note that this kind of
    + * detection gets flakey when mounting a vnd-device.
    + */
    +#define	FAT12(pmp)	(pmp->pm_fatmask == FAT12_MASK)
    +#define	FAT16(pmp)	(pmp->pm_fatmask == FAT16_MASK)
    +#define	FAT32(pmp)	(pmp->pm_fatmask == FAT32_MASK)
    +
    +/*
    + * M$ in it's unlimited wisdom desided that EOF mark is anything
    + * between 0xfffffff8 and 0xffffffff (masked by appropriate fatmask,
    + * of course).
    + * Note that cn is supposed to be already adjusted accordingly to FAT type.
    + */
    +#define	MSDOSFSEOF(cn, fatmask)	\
    +	(((cn) & CLUST_EOFS) == (CLUST_EOFS & (fatmask)))
    +
    +#if defined(_KERNEL) || defined(MAKEFS)
    +/*
    + * These are the values for the function argument to the function
    + * fatentry().
    + */
    +#define	FAT_GET		0x0001	/* get a FAT entry */
    +#define	FAT_SET		0x0002	/* set a FAT entry */
    +#define	FAT_GET_AND_SET	(FAT_GET | FAT_SET)
    +
    +/*
    + * Flags to extendfile:
    + */
    +#define	DE_CLEAR	1	/* Zero out the blocks allocated */
    +
    +int pcbmap(struct denode *, u_long, daddr_t *, u_long *, int *);
    +int clusterfree(struct msdosfsmount *, u_long, u_long *);
    +int clusteralloc(struct msdosfsmount *, u_long, u_long,u_long *,u_long *);
    +int extendfile(struct denode *, u_long, struct buf **, u_long *, int);
    +int fatentry(int, struct msdosfsmount *, u_long, u_long *, u_long);
    +void fc_purge(struct denode *, u_int);
    +void fc_lookup(struct denode *, u_long, u_long *, u_long *);
    +int fillinusemap(struct msdosfsmount *);
    +int freeclusterchain(struct msdosfsmount *, u_long);
    +#endif /* _KERNEL || MAKEFS */
    +#endif /* _MSDOSFS_FAT_H_ */
    diff --git a/sys/fs/msdosfs/files.msdosfs b/sys/fs/msdosfs/files.msdosfs
    new file mode 100644
    index 000000000..a3cd17dff
    --- /dev/null
    +++ b/sys/fs/msdosfs/files.msdosfs
    @@ -0,0 +1,10 @@
    +#	$NetBSD: files.msdosfs,v 1.1 2002/12/26 12:31:33 jdolecek Exp $
    +
    +deffs	MSDOSFS
    +
    +file	fs/msdosfs/msdosfs_conv.c		msdosfs
    +file	fs/msdosfs/msdosfs_denode.c		msdosfs
    +file	fs/msdosfs/msdosfs_fat.c		msdosfs
    +file	fs/msdosfs/msdosfs_lookup.c		msdosfs
    +file	fs/msdosfs/msdosfs_vfsops.c		msdosfs
    +file	fs/msdosfs/msdosfs_vnops.c		msdosfs
    diff --git a/sys/fs/msdosfs/msdosfs_conv.c b/sys/fs/msdosfs/msdosfs_conv.c
    new file mode 100644
    index 000000000..ee5a25414
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfs_conv.c
    @@ -0,0 +1,843 @@
    +/*	$NetBSD: msdosfs_conv.c,v 1.9 2013/01/26 16:51:51 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#if HAVE_NBTOOL_CONFIG_H
    +#include "nbtool_config.h"
    +#endif
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: msdosfs_conv.c,v 1.9 2013/01/26 16:51:51 christos Exp $");
    +
    +/*
    + * System include files.
    + */
    +#include 
    +#include 
    +#ifdef _KERNEL
    +#include 
    +#include 
    +#include 
    +#include 
    +#else
    +#include 
    +#include 
    +#include 
    +#endif
    +
    +/*
    + * MSDOSFS include files.
    + */
    +#include 
    +#include 
    +
    +/*
    + * Days in each month in a regular year.
    + */
    +u_short const regyear[] = {
    +	31, 28, 31, 30, 31, 30,
    +	31, 31, 30, 31, 30, 31
    +};
    +
    +/*
    + * Days in each month in a leap year.
    + */
    +u_short const leapyear[] = {
    +	31, 29, 31, 30, 31, 30,
    +	31, 31, 30, 31, 30, 31
    +};
    +
    +/*
    + * Variables used to remember parts of the last time conversion.  Maybe we
    + * can avoid a full conversion.
    + */
    +u_long lasttime;
    +u_long lastday;
    +u_short lastddate;
    +u_short lastdtime;
    +
    +/*
    + * Convert the unix version of time to dos's idea of time to be used in
    + * file timestamps. The passed in unix time is assumed to be in GMT.
    + */
    +void
    +unix2dostime(const struct timespec *tsp, int gmtoff, u_int16_t *ddp, u_int16_t *dtp, u_int8_t *dhp)
    +{
    +	u_long t;
    +	u_long days;
    +	u_long inc;
    +	u_long year;
    +	u_long month;
    +	const u_short *months;
    +
    +	/*
    +	 * If the time from the last conversion is the same as now, then
    +	 * skip the computations and use the saved result.
    +	 */
    +	t = tsp->tv_sec + gmtoff; /* time zone correction */
    +	t &= ~1;
    +	if (lasttime != t) {
    +		lasttime = t;
    +		lastdtime = (((t / 2) % 30) << DT_2SECONDS_SHIFT)
    +		    + (((t / 60) % 60) << DT_MINUTES_SHIFT)
    +		    + (((t / 3600) % 24) << DT_HOURS_SHIFT);
    +
    +		/*
    +		 * If the number of days since 1970 is the same as the last
    +		 * time we did the computation then skip all this leap year
    +		 * and month stuff.
    +		 */
    +		days = t / (24 * 60 * 60);
    +		if (days != lastday) {
    +			lastday = days;
    +			for (year = 1970;; year++) {
    +				inc = year & 0x03 ? 365 : 366;
    +				if (days < inc)
    +					break;
    +				days -= inc;
    +			}
    +			months = year & 0x03 ? regyear : leapyear;
    +			for (month = 0; month < 12; month++) {
    +				if (days < months[month])
    +					break;
    +				days -= months[month];
    +			}
    +			lastddate = ((days + 1) << DD_DAY_SHIFT)
    +			    + ((month + 1) << DD_MONTH_SHIFT);
    +			/*
    +			 * Remember dos's idea of time is relative to 1980.
    +			 * unix's is relative to 1970.  If somehow we get a
    +			 * time before 1980 then don't give totally crazy
    +			 * results.
    +			 */
    +			if (year > 1980)
    +				lastddate += (year - 1980) << DD_YEAR_SHIFT;
    +		}
    +	}
    +	if (dtp)
    +		*dtp = lastdtime;
    +	if (dhp)
    +		*dhp = (tsp->tv_sec & 1) * 100 + tsp->tv_nsec / 10000000;
    +
    +	*ddp = lastddate;
    +}
    +
    +/*
    + * The number of seconds between Jan 1, 1970 and Jan 1, 1980. In that
    + * interval there were 8 regular years and 2 leap years.
    + */
    +#define	SECONDSTO1980	(((8 * 365) + (2 * 366)) * (24 * 60 * 60))
    +
    +u_short lastdosdate;
    +u_long lastseconds;
    +
    +/*
    + * Convert from dos' idea of time to unix'. This will probably only be
    + * called from the stat(), and fstat() system calls and so probably need
    + * not be too efficient.
    + */
    +void
    +dos2unixtime(u_int dd, u_int dt, u_int dh, int gmtoff, struct timespec *tsp)
    +{
    +	u_long seconds;
    +	u_long m, month;
    +	u_long y, year;
    +	u_long days;
    +	const u_short *months;
    +
    +	if (dd == 0) {
    +		/*
    +		 * Uninitialized field, return the epoch.
    +		 */
    +		tsp->tv_sec = 0;
    +		tsp->tv_nsec = 0;
    +		return;
    +	}
    +	seconds = ((dt & DT_2SECONDS_MASK) >> DT_2SECONDS_SHIFT) * 2
    +	    + ((dt & DT_MINUTES_MASK) >> DT_MINUTES_SHIFT) * 60
    +	    + ((dt & DT_HOURS_MASK) >> DT_HOURS_SHIFT) * 3600
    +	    + dh / 100;
    +	/*
    +	 * If the year, month, and day from the last conversion are the
    +	 * same then use the saved value.
    +	 */
    +	if (lastdosdate != dd) {
    +		lastdosdate = dd;
    +		days = 0;
    +		year = (dd & DD_YEAR_MASK) >> DD_YEAR_SHIFT;
    +		for (y = 0; y < year; y++)
    +			days += y & 0x03 ? 365 : 366;
    +		months = year & 0x03 ? regyear : leapyear;
    +		/*
    +		 * Prevent going from 0 to 0xffffffff in the following
    +		 * loop.
    +		 */
    +		month = (dd & DD_MONTH_MASK) >> DD_MONTH_SHIFT;
    +		if (month == 0) {
    +			printf("%s: month value out of range (%ld)\n",
    +			    __func__, month);
    +			month = 1;
    +		}
    +		for (m = 0; m < month - 1; m++)
    +			days += months[m];
    +		days += ((dd & DD_DAY_MASK) >> DD_DAY_SHIFT) - 1;
    +		lastseconds = (days * 24 * 60 * 60) + SECONDSTO1980;
    +	}
    +	tsp->tv_sec = seconds + lastseconds;
    +	tsp->tv_sec -= gmtoff;	/* time zone correction */
    +	tsp->tv_nsec = (dh % 100) * 10000000;
    +}
    +
    +static const u_char
    +unix2dos[256] = {
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 00-07 */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 08-0f */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 10-17 */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 18-1f */
    +	0,    '!',  0,    '#',  '$',  '%',  '&',  '\'',	/* 20-27 */
    +	'(',  ')',  0,    '+',  0,    '-',  0,    0,	/* 28-2f */
    +	'0',  '1',  '2',  '3',  '4',  '5',  '6',  '7',	/* 30-37 */
    +	'8',  '9',  0,    0,    0,    0,    0,    0,	/* 38-3f */
    +	'@',  'A',  'B',  'C',  'D',  'E',  'F',  'G',	/* 40-47 */
    +	'H',  'I',  'J',  'K',  'L',  'M',  'N',  'O',	/* 48-4f */
    +	'P',  'Q',  'R',  'S',  'T',  'U',  'V',  'W',	/* 50-57 */
    +	'X',  'Y',  'Z',  0,    0,    0,    '^',  '_',	/* 58-5f */
    +	'`',  'A',  'B',  'C',  'D',  'E',  'F',  'G',	/* 60-67 */
    +	'H',  'I',  'J',  'K',  'L',  'M',  'N',  'O',	/* 68-6f */
    +	'P',  'Q',  'R',  'S',  'T',  'U',  'V',  'W',	/* 70-77 */
    +	'X',  'Y',  'Z',  '{',  0,    '}',  '~',  0,	/* 78-7f */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 80-87 */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 88-8f */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 90-97 */
    +	0,    0,    0,    0,    0,    0,    0,    0,	/* 98-9f */
    +	0,    0xad, 0xbd, 0x9c, 0xcf, 0xbe, 0xdd, 0xf5,	/* a0-a7 */
    +	0xf9, 0xb8, 0xa6, 0xae, 0xaa, 0xf0, 0xa9, 0xee,	/* a8-af */
    +	0xf8, 0xf1, 0xfd, 0xfc, 0xef, 0xe6, 0xf4, 0xfa,	/* b0-b7 */
    +	0xf7, 0xfb, 0xa7, 0xaf, 0xac, 0xab, 0xf3, 0xa8,	/* b8-bf */
    +	0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,	/* c0-c7 */
    +	0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,	/* c8-cf */
    +	0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0x9e,	/* d0-d7 */
    +	0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0xe1,	/* d8-df */
    +	0xb7, 0xb5, 0xb6, 0xc7, 0x8e, 0x8f, 0x92, 0x80,	/* e0-e7 */
    +	0xd4, 0x90, 0xd2, 0xd3, 0xde, 0xd6, 0xd7, 0xd8,	/* e8-ef */
    +	0xd1, 0xa5, 0xe3, 0xe0, 0xe2, 0xe5, 0x99, 0xf6,	/* f0-f7 */
    +	0x9d, 0xeb, 0xe9, 0xea, 0x9a, 0xed, 0xe8, 0x98,	/* f8-ff */
    +};
    +
    +static const u_char
    +dos2unix[256] = {
    +	 '?',  '?',  '?',  '?',  '?',  '?',  '?',  '?',	/* 00-07 */
    +	 '?',  '?',  '?',  '?',  '?',  '?',  '?',  '?',	/* 08-0f */
    +	 '?',  '?',  '?',  '?',  '?',  '?',  '?',  '?',	/* 10-17 */
    +	 '?',  '?',  '?',  '?',  '?',  '?',  '?',  '?',	/* 18-1f */
    +	 ' ',  '!',  '"',  '#',  '$',  '%',  '&', '\'',	/* 20-27 */
    +	 '(',  ')',  '*',  '+',  ',',  '-',  '.',  '/',	/* 28-2f */
    +	 '0',  '1',  '2',  '3',  '4',  '5',  '6',  '7',	/* 30-37 */
    +	 '8',  '9',  ':',  ';',  '<',  '=',  '>',  '?',	/* 38-3f */
    +	 '@',  'A',  'B',  'C',  'D',  'E',  'F',  'G',	/* 40-47 */
    +	 'H',  'I',  'J',  'K',  'L',  'M',  'N',  'O',	/* 48-4f */
    +	 'P',  'Q',  'R',  'S',  'T',  'U',  'V',  'W',	/* 50-57 */
    +	 'X',  'Y',  'Z',  '[', '\\',  ']',  '^',  '_',	/* 58-5f */
    +	 '`',  'a',  'b',  'c',  'd',  'e',  'f',  'g',	/* 60-67 */
    +	 'h',  'i',  'j',  'k',  'l',  'm',  'n',  'o',	/* 68-6f */
    +	 'p',  'q',  'r',  's',  't',  'u',  'v',  'w',	/* 70-77 */
    +	 'x',  'y',  'z',  '{',  '|',  '}',  '~', 0x7f,	/* 78-7f */
    +	0xc7, 0xfc, 0xe9, 0xe2, 0xe4, 0xe0, 0xe5, 0xe7,	/* 80-87 */
    +	0xea, 0xeb, 0xe8, 0xef, 0xee, 0xec, 0xc4, 0xc5,	/* 88-8f */
    +	0xc9, 0xe6, 0xc6, 0xf4, 0xf6, 0xf2, 0xfb, 0xf9,	/* 90-97 */
    +	0xff, 0xd6, 0xdc, 0xf8, 0xa3, 0xd8, 0xd7,  '?',	/* 98-9f */
    +	0xe1, 0xed, 0xf3, 0xfa, 0xf1, 0xd1, 0xaa, 0xba,	/* a0-a7 */
    +	0xbf, 0xae, 0xac, 0xbd, 0xbc, 0xa1, 0xab, 0xbb,	/* a8-af */
    +	 '?',  '?',  '?',  '?',  '?', 0xc1, 0xc2, 0xc0,	/* b0-b7 */
    +	0xa9,  '?',  '?',  '?',  '?', 0xa2, 0xa5,  '?',	/* b8-bf */
    +	 '?',  '?',  '?',  '?',  '?',  '?', 0xe3, 0xc3,	/* c0-c7 */
    +	 '?',  '?',  '?',  '?',  '?',  '?',  '?', 0xa4,	/* c8-cf */
    +	0xf0, 0xd0, 0xca, 0xcb, 0xc8,  '?', 0xcd, 0xce,	/* d0-d7 */
    +	0xcf,  '?',  '?',  '?',  '?', 0xa6, 0xcc,  '?',	/* d8-df */
    +	0xd3, 0xdf, 0xd4, 0xd2, 0xf5, 0xd5, 0xb5, 0xfe,	/* e0-e7 */
    +	0xde, 0xda, 0xdb, 0xd9, 0xfd, 0xdd, 0xaf, 0x3f,	/* e8-ef */
    +	0xad, 0xb1,  '?', 0xbe, 0xb6, 0xa7, 0xf7, 0xb8,	/* f0-f7 */
    +	0xb0, 0xa8, 0xb7, 0xb9, 0xb3, 0xb2,  '?',  '?',	/* f8-ff */
    +};
    +
    +static const u_char
    +u2l[256] = {
    +	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* 00-07 */
    +	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 08-0f */
    +	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, /* 10-17 */
    +	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, /* 18-1f */
    +	 ' ',  '!',  '"',  '#',  '$',  '%',  '&', '\'', /* 20-27 */
    +	 '(',  ')',  '*',  '+',  ',',  '-',  '.',  '/', /* 28-2f */
    +	 '0',  '1',  '2',  '3',  '4',  '5',  '6',  '7', /* 30-37 */
    +	 '8',  '9',  ':',  ';',  '<',  '=',  '>',  '?', /* 38-3f */
    +	 '@',  'a',  'b',  'c',  'd',  'e',  'f',  'g', /* 40-47 */
    +	 'h',  'i',  'j',  'k',  'l',  'm',  'n',  'o', /* 48-4f */
    +	 'p',  'q',  'r',  's',  't',  'u',  'v',  'w', /* 50-57 */
    +	 'x',  'y',  'z',  '[', '\\',  ']',  '^',  '_', /* 58-5f */
    +	 '`',  'a',  'b',  'c',  'd',  'e',  'f',  'g', /* 60-67 */
    +	 'h',  'i',  'j',  'k',  'l',  'm',  'n',  'o', /* 68-6f */
    +	 'p',  'q',  'r',  's',  't',  'u',  'v',  'w', /* 70-77 */
    +	 'x',  'y',  'z',  '{',  '|',  '}',  '~', 0x7f, /* 78-7f */
    +	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, /* 80-87 */
    +	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, /* 88-8f */
    +	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, /* 90-97 */
    +	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, /* 98-9f */
    +	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, /* a0-a7 */
    +	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, /* a8-af */
    +	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, /* b0-b7 */
    +	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, /* b8-bf */
    +	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* c0-c7 */
    +	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* c8-cf */
    +	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xd7, /* d0-d7 */
    +	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xdf, /* d8-df */
    +	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, /* e0-e7 */
    +	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, /* e8-ef */
    +	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* f0-f7 */
    +	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, /* f8-ff */
    +};
    +
    +/*
    + * DOS filenames are made of 2 parts, the name part and the extension part.
    + * The name part is 8 characters long and the extension part is 3
    + * characters long.  They may contain trailing blanks if the name or
    + * extension are not long enough to fill their respective fields.
    + */
    +
    +/*
    + * Convert a DOS filename to a unix filename. And, return the number of
    + * characters in the resulting unix filename excluding the terminating
    + * null.
    + */
    +int
    +dos2unixfn(u_char dn[11], u_char *un, int lower)
    +{
    +	int i, j;
    +	int thislong = 1;
    +	u_char c;
    +
    +	/*
    +	 * If first char of the filename is SLOT_E5 (0x05), then the real
    +	 * first char of the filename should be 0xe5. But, they couldn't
    +	 * just have a 0xe5 mean 0xe5 because that is used to mean a freed
    +	 * directory slot. Another dos quirk.
    +	 */
    +	if (*dn == SLOT_E5)
    +		c = dos2unix[0xe5];
    +	else
    +		c = dos2unix[*dn];
    +	*un++ = lower ? u2l[c] : c;
    +
    +	/*
    +	 * Copy the rest into the unix filename string, ignoring
    +	 * trailing blanks.
    +	 */
    +
    +	for (j=7; (j >= 0) && (dn[j] == ' '); j--)
    +		;
    +
    +	for (i = 1; i <= j; i++) {
    +		c = dos2unix[dn[i]];
    +		*un++ = lower ? u2l[c] : c;
    +		thislong++;
    +	}
    +	dn += 8;
    +
    +	/*
    +	 * Now, if there is an extension then put in a period and copy in
    +	 * the extension.
    +	 */
    +	if (*dn != ' ') {
    +		*un++ = '.';
    +		thislong++;
    +		for (i = 0; i < 3 && *dn != ' '; i++) {
    +			c = dos2unix[*dn++];
    +			*un++ = lower ? u2l[c] : c;
    +			thislong++;
    +		}
    +	}
    +	*un++ = 0;
    +
    +	return (thislong);
    +}
    +
    +/*
    + * Convert a unix filename to a DOS filename according to Win95 rules.
    + * If applicable and gen is not 0, it is inserted into the converted
    + * filename as a generation number.
    + * Returns
    + *	0 if name couldn't be converted
    + *	1 if the converted name is the same as the original
    + *	  (no long filename entry necessary for Win95)
    + *	2 if conversion was successful
    + *	3 if conversion was successful and generation number was inserted
    + */
    +int
    +unix2dosfn(const u_char *un, u_char dn[12], int unlen, u_int gen)
    +{
    +	int i, j, l;
    +	int conv = 1;
    +	const u_char *cp, *dp, *dp1;
    +	u_char gentext[6], *wcp;
    +	int shortlen;
    +
    +	/*
    +	 * Fill the dos filename string with blanks. These are DOS's pad
    +	 * characters.
    +	 */
    +	for (i = 0; i < 11; i++)
    +		dn[i] = ' ';
    +	dn[11] = 0;
    +
    +	/*
    +	 * The filenames "." and ".." are handled specially, since they
    +	 * don't follow dos filename rules.
    +	 */
    +	if (un[0] == '.' && unlen == 1) {
    +		dn[0] = '.';
    +		return gen <= 1;
    +	}
    +	if (un[0] == '.' && un[1] == '.' && unlen == 2) {
    +		dn[0] = '.';
    +		dn[1] = '.';
    +		return gen <= 1;
    +	}
    +
    +	/*
    +	 * Filenames with only blanks and dots are not allowed!
    +	 */
    +	for (cp = un, i = unlen; --i >= 0; cp++)
    +		if (*cp != ' ' && *cp != '.')
    +			break;
    +	if (i < 0)
    +		return 0;
    +
    +	/*
    +	 * Now find the extension
    +	 * Note: dot as first char doesn't start extension
    +	 *	 and trailing dots and blanks are ignored
    +	 */
    +	dp = dp1 = 0;
    +	for (cp = un + 1, i = unlen - 1; --i >= 0;) {
    +		switch (*cp++) {
    +		case '.':
    +			if (!dp1)
    +				dp1 = cp;
    +			break;
    +		case ' ':
    +			break;
    +		default:
    +			if (dp1)
    +				dp = dp1;
    +			dp1 = 0;
    +			break;
    +		}
    +	}
    +
    +	/*
    +	 * Now convert it
    +	 */
    +	if (dp) {
    +		if (dp1)
    +			l = dp1 - dp;
    +		else
    +			l = unlen - (dp - un);
    +		for (i = 0, j = 8; i < l && j < 11; i++, j++) {
    +			if (dp[i] != (dn[j] = unix2dos[dp[i]])
    +			    && conv != 3)
    +				conv = 2;
    +			if (!dn[j]) {
    +				conv = 3;
    +				dn[j--] = ' ';
    +			}
    +		}
    +		if (i < l)
    +			conv = 3;
    +		dp--;
    +	} else {
    +		for (dp = cp; *--dp == ' ' || *dp == '.';);
    +		dp++;
    +	}
    +
    +	shortlen = (dp - un) <= 8;
    +
    +	/*
    +	 * Now convert the rest of the name
    +	 */
    +	for (i = j = 0; un < dp && j < 8; i++, j++, un++) {
    +		if ((*un == ' ') && shortlen)
    +			dn[j] = ' ';
    +		else
    +			dn[j] = unix2dos[*un];
    +		if ((*un != dn[j])
    +		    && conv != 3)
    +			conv = 2;
    +		if (!dn[j]) {
    +			conv = 3;
    +			dn[j--] = ' ';
    +		}
    +	}
    +	if (un < dp)
    +		conv = 3;
    +	/*
    +	 * If we didn't have any chars in filename,
    +	 * generate a default
    +	 */
    +	if (!j)
    +		dn[0] = '_';
    +
    +	/*
    +	 * The first character cannot be E5,
    +	 * because that means a deleted entry
    +	 */
    +	if (dn[0] == 0xe5)
    +		dn[0] = SLOT_E5;
    +
    +	/*
    +	 * If there wasn't any char dropped,
    +	 * there is no place for generation numbers
    +	 */
    +	if (conv != 3) {
    +		if (gen > 1)
    +			return 0;
    +		return conv;
    +	}
    +
    +	/*
    +	 * Now insert the generation number into the filename part
    +	 */
    +	for (wcp = gentext + sizeof(gentext); wcp > gentext && gen; gen /= 10)
    +		*--wcp = gen % 10 + '0';
    +	if (gen)
    +		return 0;
    +	for (i = 8; dn[--i] == ' ';);
    +	i++;
    +	if (gentext + sizeof(gentext) - wcp + 1 > 8 - i)
    +		i = 8 - (gentext + sizeof(gentext) - wcp + 1);
    +	dn[i++] = '~';
    +	while (wcp < gentext + sizeof(gentext))
    +		dn[i++] = *wcp++;
    +	return 3;
    +}
    +
    +/*
    + * Create a Win95 long name directory entry
    + * Note: assumes that the filename is valid,
    + *	 i.e. doesn't consist solely of blanks and dots
    + */
    +int
    +unix2winfn(const u_char *un, int unlen, struct winentry *wep, int cnt, int chksum)
    +{
    +	const u_int8_t *cp;
    +	u_int8_t *wcp;
    +	int i;
    +
    +	/*
    +	 * Drop trailing blanks and dots
    +	 */
    +	for (cp = un + unlen; *--cp == ' ' || *cp == '.'; unlen--);
    +
    +	un += (cnt - 1) * WIN_CHARS;
    +	unlen -= (cnt - 1) * WIN_CHARS;
    +
    +	/*
    +	 * Initialize winentry to some useful default
    +	 */
    +	for (wcp = (u_int8_t *)wep, i = sizeof(*wep); --i >= 0; *wcp++ = 0xff);
    +	wep->weCnt = cnt;
    +	wep->weAttributes = ATTR_WIN95;
    +	wep->weReserved1 = 0;
    +	wep->weChksum = chksum;
    +	wep->weReserved2 = 0;
    +
    +	/*
    +	 * Now convert the filename parts
    +	 */
    +	for (wcp = wep->wePart1, i = sizeof(wep->wePart1)/2; --i >= 0;) {
    +		if (--unlen < 0)
    +			goto done;
    +		*wcp++ = *un++;
    +		*wcp++ = 0;
    +	}
    +	for (wcp = wep->wePart2, i = sizeof(wep->wePart2)/2; --i >= 0;) {
    +		if (--unlen < 0)
    +			goto done;
    +		*wcp++ = *un++;
    +		*wcp++ = 0;
    +	}
    +	for (wcp = wep->wePart3, i = sizeof(wep->wePart3)/2; --i >= 0;) {
    +		if (--unlen < 0)
    +			goto done;
    +		*wcp++ = *un++;
    +		*wcp++ = 0;
    +	}
    +	if (!unlen)
    +		wep->weCnt |= WIN_LAST;
    +	return unlen;
    +
    +done:
    +	*wcp++ = 0;
    +	*wcp++ = 0;
    +	wep->weCnt |= WIN_LAST;
    +	return 0;
    +}
    +
    +/*
    + * Compare our filename to the one in the Win95 entry
    + * Returns the checksum or -1 if no match
    + */
    +int
    +winChkName(const u_char *un, int unlen, struct winentry *wep, int chksum)
    +{
    +	u_int8_t *cp;
    +	int i;
    +
    +	/*
    +	 * First compare checksums
    +	 */
    +	if (wep->weCnt&WIN_LAST)
    +		chksum = wep->weChksum;
    +	else if (chksum != wep->weChksum)
    +		chksum = -1;
    +	if (chksum == -1)
    +		return -1;
    +
    +	/*
    +	 * Offset of this entry
    +	 */
    +	i = ((wep->weCnt&WIN_CNT) - 1) * WIN_CHARS;
    +	un += i;
    +	if ((unlen -= i) < 0)
    +		return -1;
    +
    +	/*
    +	 * Ignore redundant winentries (those with only \0\0 on start in them).
    +	 * An appearance of such entry is a bug; unknown if in NetBSD msdosfs
    +	 * or MS Windows.
    +	 */
    +	if (unlen == 0) {
    +		if (wep->wePart1[0] == '\0' && wep->wePart1[1] == '\0')
    +			return chksum;
    +		else
    +			return -1;
    +	}
    +
    +	if ((wep->weCnt&WIN_LAST) && unlen > WIN_CHARS)
    +		return -1;
    +
    +	/*
    +	 * Compare the name parts
    +	 */
    +	for (cp = wep->wePart1, i = sizeof(wep->wePart1)/2; --i >= 0;) {
    +		if (--unlen < 0) {
    +			if (!*cp++ && !*cp)
    +				return chksum;
    +			return -1;
    +		}
    +		if (u2l[*cp++] != u2l[*un++] || *cp++)
    +			return -1;
    +	}
    +	for (cp = wep->wePart2, i = sizeof(wep->wePart2)/2; --i >= 0;) {
    +		if (--unlen < 0) {
    +			if (!*cp++ && !*cp)
    +				return chksum;
    +			return -1;
    +		}
    +		if (u2l[*cp++] != u2l[*un++] || *cp++)
    +			return -1;
    +	}
    +	for (cp = wep->wePart3, i = sizeof(wep->wePart3)/2; --i >= 0;) {
    +		if (--unlen < 0) {
    +			if (!*cp++ && !*cp)
    +				return chksum;
    +			return -1;
    +		}
    +		if (u2l[*cp++] != u2l[*un++] || *cp++)
    +			return -1;
    +	}
    +	return chksum;
    +}
    +
    +/*
    + * Convert Win95 filename to dirbuf.
    + * Returns the checksum or -1 if impossible
    + */
    +int
    +win2unixfn(struct winentry *wep, struct dirent *dp, int chksum)
    +{
    +	u_int8_t *cp;
    +	u_int8_t *np, *ep = (u_int8_t *)dp->d_name + WIN_MAXLEN;
    +	int i;
    +
    +	if ((wep->weCnt&WIN_CNT) > howmany(WIN_MAXLEN, WIN_CHARS)
    +	    || !(wep->weCnt&WIN_CNT))
    +		return -1;
    +
    +	/*
    +	 * First compare checksums
    +	 */
    +	if (wep->weCnt&WIN_LAST) {
    +		chksum = wep->weChksum;
    +		/*
    +		 * This works even though d_namlen is one byte!
    +		 */
    +#ifdef __NetBSD__
    +		dp->d_namlen = (wep->weCnt&WIN_CNT) * WIN_CHARS;
    +#endif
    +	} else if (chksum != wep->weChksum)
    +		chksum = -1;
    +	if (chksum == -1)
    +		return -1;
    +
    +	/*
    +	 * Offset of this entry
    +	 */
    +	i = ((wep->weCnt&WIN_CNT) - 1) * WIN_CHARS;
    +	np = (u_int8_t *)dp->d_name + i;
    +
    +	/*
    +	 * Convert the name parts
    +	 */
    +	for (cp = wep->wePart1, i = sizeof(wep->wePart1)/2; --i >= 0;) {
    +		switch (*np++ = *cp++) {
    +		case 0:
    +#ifdef __NetBSD__
    +			dp->d_namlen -= sizeof(wep->wePart2)/2
    +			    + sizeof(wep->wePart3)/2 + i + 1;
    +#endif
    +			return chksum;
    +		case '/':
    +			np[-1] = 0;
    +			return -1;
    +		}
    +		/*
    +		 * The size comparison should result in the compiler
    +		 * optimizing the whole if away
    +		 */
    +		if (WIN_MAXLEN % WIN_CHARS < sizeof(wep->wePart1) / 2
    +		    && np > ep) {
    +			np[-1] = 0;
    +			return -1;
    +		}
    +		if (*cp++)
    +			return -1;
    +	}
    +	for (cp = wep->wePart2, i = sizeof(wep->wePart2)/2; --i >= 0;) {
    +		switch (*np++ = *cp++) {
    +		case 0:
    +#ifdef __NetBSD__
    +			dp->d_namlen -= sizeof(wep->wePart3)/2 + i + 1;
    +#endif
    +			return chksum;
    +		case '/':
    +			np[-1] = 0;
    +			return -1;
    +		}
    +		/*
    +		 * The size comparisons should be optimized away
    +		 */
    +		if (WIN_MAXLEN % WIN_CHARS >= sizeof(wep->wePart1) / 2
    +		    && WIN_MAXLEN % WIN_CHARS < (sizeof(wep->wePart1) + sizeof(wep->wePart2)) / 2
    +		    && np > ep) {
    +			np[-1] = 0;
    +			return -1;
    +		}
    +		if (*cp++)
    +			return -1;
    +	}
    +	for (cp = wep->wePart3, i = sizeof(wep->wePart3)/2; --i >= 0;) {
    +		switch (*np++ = *cp++) {
    +		case 0:
    +#ifdef __NetBSD__
    +			dp->d_namlen -= i + 1;
    +#endif
    +			return chksum;
    +		case '/':
    +			np[-1] = 0;
    +			return -1;
    +		}
    +		/*
    +		 * See above
    +		 */
    +		if (WIN_MAXLEN % WIN_CHARS >= (sizeof(wep->wePart1) + sizeof(wep->wePart2)) / 2
    +		    && np > ep) {
    +			np[-1] = 0;
    +			return -1;
    +		}
    +		if (*cp++)
    +			return -1;
    +	}
    +	return chksum;
    +}
    +
    +/*
    + * Compute the checksum of a DOS filename for Win95 use
    + */
    +u_int8_t
    +winChksum(u_int8_t *name)
    +{
    +	int i;
    +	u_int8_t s;
    +
    +	for (s = 0, i = 11; --i >= 0; s += *name++)
    +		s = (s << 7)|(s >> 1);
    +	return s;
    +}
    +
    +/*
    + * Determine the number of slots necessary for Win95 names
    + */
    +int
    +winSlotCnt(const u_char *un, int unlen)
    +{
    +	for (un += unlen; unlen > 0; unlen--)
    +		if (*--un != ' ' && *un != '.')
    +			break;
    +	if (unlen > WIN_MAXLEN)
    +		return 0;
    +	return howmany(unlen, WIN_CHARS);
    +}
    diff --git a/sys/fs/msdosfs/msdosfs_denode.c b/sys/fs/msdosfs/msdosfs_denode.c
    new file mode 100644
    index 000000000..f1c77362d
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfs_denode.c
    @@ -0,0 +1,879 @@
    +/*	$NetBSD: msdosfs_denode.c,v 1.48 2012/12/20 08:03:42 hannken Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: msdosfs_denode.c,v 1.48 2012/12/20 08:03:42 hannken Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 		/* defines "time" */
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +LIST_HEAD(ihashhead, denode) *dehashtbl;
    +u_long dehash;			/* size of hash table - 1 */
    +#define	DEHASH(dev, dcl, doff) \
    +    (((dev) + (dcl) + (doff) / sizeof(struct direntry)) & dehash)
    +
    +kmutex_t msdosfs_ihash_lock;
    +kmutex_t msdosfs_hashlock;
    +
    +struct pool msdosfs_denode_pool;
    +
    +extern int prtactive;
    +
    +struct fh_key {
    +	struct msdosfsmount *fhk_mount;
    +	uint32_t fhk_dircluster;
    +	uint32_t fhk_diroffset;
    +};
    +struct fh_node {
    +	struct rb_node fh_rbnode;
    +	struct fh_key fh_key;
    +#define fh_mount	fh_key.fhk_mount
    +#define fh_dircluster	fh_key.fhk_dircluster
    +#define fh_diroffset	fh_key.fhk_diroffset
    +	uint32_t fh_gen;
    +};
    +
    +static int
    +fh_compare_node_fh(void *ctx, const void *b, const void *key)
    +{
    +	const struct fh_node * const pnp = b;
    +	const struct fh_key * const fhp = key;
    +
    +	/* msdosfs_fh_destroy() below depends on first sorting on fh_mount. */
    +	if (pnp->fh_mount != fhp->fhk_mount)
    +		return (intptr_t)pnp->fh_mount - (intptr_t)fhp->fhk_mount;
    +	if (pnp->fh_dircluster != fhp->fhk_dircluster)
    +		return pnp->fh_dircluster - fhp->fhk_dircluster;
    +	return pnp->fh_diroffset - fhp->fhk_diroffset;
    +}
    +
    +static int
    +fh_compare_nodes(void *ctx, const void *parent, const void *node)
    +{
    +	const struct fh_node * const np = node;
    +
    +	return fh_compare_node_fh(ctx, parent, &np->fh_key);
    +}
    +
    +static uint32_t fh_generation;
    +static kmutex_t fh_lock;
    +static struct pool fh_pool;
    +static rb_tree_t fh_rbtree;
    +static const rb_tree_ops_t fh_rbtree_ops = {
    +	.rbto_compare_nodes = fh_compare_nodes,
    +	.rbto_compare_key = fh_compare_node_fh,
    +	.rbto_node_offset = offsetof(struct fh_node, fh_rbnode),
    +	.rbto_context = NULL
    +};
    +
    +static const struct genfs_ops msdosfs_genfsops = {
    +	.gop_size = genfs_size,
    +	.gop_alloc = msdosfs_gop_alloc,
    +	.gop_write = genfs_gop_write,
    +	.gop_markupdate = msdosfs_gop_markupdate,
    +};
    +
    +static struct denode *msdosfs_hashget(dev_t, u_long, u_long, int);
    +static void msdosfs_hashins(struct denode *);
    +static void msdosfs_hashrem(struct denode *);
    +
    +MALLOC_DECLARE(M_MSDOSFSFAT);
    +
    +void
    +msdosfs_init(void)
    +{
    +
    +	malloc_type_attach(M_MSDOSFSMNT);
    +	malloc_type_attach(M_MSDOSFSFAT);
    +	malloc_type_attach(M_MSDOSFSTMP);
    +	pool_init(&msdosfs_denode_pool, sizeof(struct denode), 0, 0, 0,
    +	    "msdosnopl", &pool_allocator_nointr, IPL_NONE);
    +	pool_init(&fh_pool, sizeof(struct fh_node), 0, 0, 0,
    +	    "msdosfhpl", &pool_allocator_nointr, IPL_NONE);
    +	dehashtbl = hashinit(desiredvnodes / 2, HASH_LIST, true, &dehash);
    +	rb_tree_init(&fh_rbtree, &fh_rbtree_ops);
    +	mutex_init(&msdosfs_ihash_lock, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_init(&fh_lock, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_init(&msdosfs_hashlock, MUTEX_DEFAULT, IPL_NONE);
    +}
    +
    +/*
    + * Reinitialize inode hash table.
    + */
    +
    +void
    +msdosfs_reinit(void)
    +{
    +	struct denode *dep;
    +	struct ihashhead *oldhash, *hash;
    +	u_long oldmask, mask, val;
    +	int i;
    +
    +	hash = hashinit(desiredvnodes / 2, HASH_LIST, true, &mask);
    +
    +	mutex_enter(&msdosfs_ihash_lock);
    +	oldhash = dehashtbl;
    +	oldmask = dehash;
    +	dehashtbl = hash;
    +	dehash = mask;
    +	for (i = 0; i <= oldmask; i++) {
    +		while ((dep = LIST_FIRST(&oldhash[i])) != NULL) {
    +			LIST_REMOVE(dep, de_hash);
    +			val = DEHASH(dep->de_dev, dep->de_dirclust,
    +			    dep->de_diroffset);
    +			LIST_INSERT_HEAD(&hash[val], dep, de_hash);
    +		}
    +	}
    +	mutex_exit(&msdosfs_ihash_lock);
    +	hashdone(oldhash, HASH_LIST, oldmask);
    +}
    +
    +void
    +msdosfs_done(void)
    +{
    +	hashdone(dehashtbl, HASH_LIST, dehash);
    +	pool_destroy(&msdosfs_denode_pool);
    +	pool_destroy(&fh_pool);
    +	mutex_destroy(&msdosfs_ihash_lock);
    +	mutex_destroy(&fh_lock);
    +	mutex_destroy(&msdosfs_hashlock);
    +	malloc_type_detach(M_MSDOSFSTMP);
    +	malloc_type_detach(M_MSDOSFSFAT);
    +	malloc_type_detach(M_MSDOSFSMNT);
    +}
    +
    +static struct denode *
    +msdosfs_hashget(dev_t dev, u_long dirclust, u_long diroff, int flags)
    +{
    +	struct denode *dep;
    +	struct vnode *vp;
    +
    +loop:
    +	mutex_enter(&msdosfs_ihash_lock);
    +	LIST_FOREACH(dep, &dehashtbl[DEHASH(dev, dirclust, diroff)], de_hash) {
    +		if (dirclust == dep->de_dirclust &&
    +		    diroff == dep->de_diroffset &&
    +		    dev == dep->de_dev &&
    +		    dep->de_refcnt != 0) {
    +			vp = DETOV(dep);
    +			if (flags == 0) {
    +				mutex_exit(&msdosfs_ihash_lock);
    +			} else {
    +				mutex_enter(vp->v_interlock);
    +				mutex_exit(&msdosfs_ihash_lock);
    +				if (vget(vp, flags))
    +					goto loop;
    +			}
    +			return (dep);
    +		}
    +	}
    +	mutex_exit(&msdosfs_ihash_lock);
    +	return (NULL);
    +}
    +
    +static void
    +msdosfs_hashins(struct denode *dep)
    +{
    +	struct ihashhead *depp;
    +	int val;
    +
    +	KASSERT(mutex_owned(&msdosfs_hashlock));
    +
    +	mutex_enter(&msdosfs_ihash_lock);
    +	val = DEHASH(dep->de_dev, dep->de_dirclust, dep->de_diroffset);
    +	depp = &dehashtbl[val];
    +	LIST_INSERT_HEAD(depp, dep, de_hash);
    +	mutex_exit(&msdosfs_ihash_lock);
    +}
    +
    +static void
    +msdosfs_hashrem(struct denode *dep)
    +{
    +	mutex_enter(&msdosfs_ihash_lock);
    +	LIST_REMOVE(dep, de_hash);
    +	mutex_exit(&msdosfs_ihash_lock);
    +}
    +
    +/*
    + * If deget() succeeds it returns with the gotten denode locked().
    + *
    + * pmp	     - address of msdosfsmount structure of the filesystem containing
    + *	       the denode of interest.  The pm_dev field and the address of
    + *	       the msdosfsmount structure are used.
    + * dirclust  - which cluster bp contains, if dirclust is 0 (root directory)
    + *	       diroffset is relative to the beginning of the root directory,
    + *	       otherwise it is cluster relative.
    + * diroffset - offset past begin of cluster of denode we want
    + * depp	     - returns the address of the gotten denode.
    + */
    +int
    +deget(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, struct denode **depp)
    +	/* pmp:	 so we know the maj/min number */
    +	/* dirclust:		 cluster this dir entry came from */
    +	/* diroffset:		 index of entry within the cluster */
    +	/* depp:		 returns the addr of the gotten denode */
    +{
    +	int error;
    +	extern int (**msdosfs_vnodeop_p)(void *);
    +	struct direntry *direntptr;
    +	struct denode *ldep;
    +	struct vnode *nvp;
    +	struct buf *bp;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("deget(pmp %p, dirclust %lu, diroffset %lx, depp %p)\n",
    +	    pmp, dirclust, diroffset, depp);
    +#endif
    +
    +	/*
    +	 * On FAT32 filesystems, root is a (more or less) normal
    +	 * directory
    +	 */
    +	if (FAT32(pmp) && dirclust == MSDOSFSROOT)
    +		dirclust = pmp->pm_rootdirblk;
    +
    +	/*
    +	 * See if the denode is in the denode cache. Use the location of
    +	 * the directory entry to compute the hash value. For subdir use
    +	 * address of "." entry. For root dir (if not FAT32) use cluster
    +	 * MSDOSFSROOT, offset MSDOSFSROOT_OFS
    +	 *
    +	 * NOTE: The check for de_refcnt > 0 below insures the denode being
    +	 * examined does not represent an unlinked but still open file.
    +	 * These files are not to be accessible even when the directory
    +	 * entry that represented the file happens to be reused while the
    +	 * deleted file is still open.
    +	 */
    + retry:
    +	ldep = msdosfs_hashget(pmp->pm_dev, dirclust, diroffset, LK_EXCLUSIVE);
    +	if (ldep) {
    +		*depp = ldep;
    +		return (0);
    +	}
    +
    +	/*
    +	 * Directory entry was not in cache, have to create a vnode and
    +	 * copy it from the passed disk buffer.
    +	 */
    +	error = getnewvnode(VT_MSDOSFS, pmp->pm_mountp, msdosfs_vnodeop_p,
    +	    NULL, &nvp);
    +	if (error) {
    +		*depp = 0;
    +		return (error);
    +	}
    +	ldep = pool_get(&msdosfs_denode_pool, PR_WAITOK);
    +
    +	/*
    +	 * If someone beat us to it, put back the freshly allocated
    +	 * vnode/inode pair and retry.
    +	 */
    +	mutex_enter(&msdosfs_hashlock);
    +	if (msdosfs_hashget(pmp->pm_dev, dirclust, diroffset, 0)) {
    +		mutex_exit(&msdosfs_hashlock);
    +		ungetnewvnode(nvp);
    +		pool_put(&msdosfs_denode_pool, ldep);
    +		goto retry;
    +	}
    +	memset(ldep, 0, sizeof *ldep);
    +	nvp->v_data = ldep;
    +	ldep->de_vnode = nvp;
    +	ldep->de_flag = 0;
    +	ldep->de_devvp = 0;
    +	ldep->de_lockf = 0;
    +	ldep->de_dev = pmp->pm_dev;
    +	ldep->de_dirclust = dirclust;
    +	ldep->de_diroffset = diroffset;
    +	fc_purge(ldep, 0);	/* init the FAT cache for this denode */
    +
    +	/*
    +	 * Insert the denode into the hash queue and lock the denode so it
    +	 * can't be accessed until we've read it in and have done what we
    +	 * need to it.
    +	 */
    +	vn_lock(nvp, LK_EXCLUSIVE | LK_RETRY);
    +	genfs_node_init(nvp, &msdosfs_genfsops);
    +	msdosfs_hashins(ldep);
    +	mutex_exit(&msdosfs_hashlock);
    +
    +	ldep->de_pmp = pmp;
    +	ldep->de_devvp = pmp->pm_devvp;
    +	ldep->de_refcnt = 1;
    +	/*
    +	 * Copy the directory entry into the denode area of the vnode.
    +	 */
    +	if ((dirclust == MSDOSFSROOT
    +	     || (FAT32(pmp) && dirclust == pmp->pm_rootdirblk))
    +	    && diroffset == MSDOSFSROOT_OFS) {
    +		/*
    +		 * Directory entry for the root directory. There isn't one,
    +		 * so we manufacture one. We should probably rummage
    +		 * through the root directory and find a label entry (if it
    +		 * exists), and then use the time and date from that entry
    +		 * as the time and date for the root denode.
    +		 */
    +		nvp->v_vflag |= VV_ROOT; /* should be further down XXX */
    +
    +		ldep->de_Attributes = ATTR_DIRECTORY;
    +		if (FAT32(pmp))
    +			ldep->de_StartCluster = pmp->pm_rootdirblk;
    +			/* de_FileSize will be filled in further down */
    +		else {
    +			ldep->de_StartCluster = MSDOSFSROOT;
    +			ldep->de_FileSize = pmp->pm_rootdirsize * pmp->pm_BytesPerSec;
    +		}
    +		/*
    +		 * fill in time and date so that dos2unixtime() doesn't
    +		 * spit up when called from msdosfs_getattr() with root
    +		 * denode
    +		 */
    +		ldep->de_CHun = 0;
    +		ldep->de_CTime = 0x0000;	/* 00:00:00	 */
    +		ldep->de_CDate = (0 << DD_YEAR_SHIFT) | (1 << DD_MONTH_SHIFT)
    +		    | (1 << DD_DAY_SHIFT);
    +		/* Jan 1, 1980	 */
    +		ldep->de_ADate = ldep->de_CDate;
    +		ldep->de_MTime = ldep->de_CTime;
    +		ldep->de_MDate = ldep->de_CDate;
    +		/* leave the other fields as garbage */
    +	} else {
    +		error = readep(pmp, dirclust, diroffset, &bp, &direntptr);
    +		if (error) {
    +			ldep->de_devvp = NULL;
    +			ldep->de_Name[0] = SLOT_DELETED;
    +			vput(nvp);
    +			return (error);
    +		}
    +		DE_INTERNALIZE(ldep, direntptr);
    +		brelse(bp, 0);
    +	}
    +
    +	/*
    +	 * Fill in a few fields of the vnode and finish filling in the
    +	 * denode.  Then return the address of the found denode.
    +	 */
    +	if (ldep->de_Attributes & ATTR_DIRECTORY) {
    +		/*
    +		 * Since DOS directory entries that describe directories
    +		 * have 0 in the filesize field, we take this opportunity
    +		 * to find out the length of the directory and plug it into
    +		 * the denode structure.
    +		 */
    +		u_long size;
    +
    +		nvp->v_type = VDIR;
    +		if (ldep->de_StartCluster != MSDOSFSROOT) {
    +			error = pcbmap(ldep, CLUST_END, 0, &size, 0);
    +			if (error == E2BIG) {
    +				ldep->de_FileSize = de_cn2off(pmp, size);
    +				error = 0;
    +			} else
    +				printf("deget(): pcbmap returned %d\n", error);
    +		}
    +	} else
    +		nvp->v_type = VREG;
    +	vref(ldep->de_devvp);
    +	*depp = ldep;
    +	uvm_vnp_setsize(nvp, ldep->de_FileSize);
    +	return (0);
    +}
    +
    +int
    +deupdat(struct denode *dep, int waitfor)
    +{
    +
    +	return (msdosfs_update(DETOV(dep), NULL, NULL,
    +	    waitfor ? UPDATE_WAIT : 0));
    +}
    +
    +/*
    + * Truncate the file described by dep to the length specified by length.
    + */
    +int
    +detrunc(struct denode *dep, u_long length, int flags, kauth_cred_t cred)
    +{
    +	int error;
    +	int allerror;
    +	u_long eofentry;
    +	u_long chaintofree = 0;
    +	daddr_t bn, lastblock;
    +	int boff;
    +	int isadir = dep->de_Attributes & ATTR_DIRECTORY;
    +	struct buf *bp;
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("detrunc(): file %s, length %lu, flags %x\n", dep->de_Name, length, flags);
    +#endif
    +
    +	/*
    +	 * Disallow attempts to truncate the root directory since it is of
    +	 * fixed size.  That's just the way dos filesystems are.  We use
    +	 * the VROOT bit in the vnode because checking for the directory
    +	 * bit and a startcluster of 0 in the denode is not adequate to
    +	 * recognize the root directory at this point in a file or
    +	 * directory's life.
    +	 */
    +	if ((DETOV(dep)->v_vflag & VV_ROOT) && !FAT32(pmp)) {
    +		printf("detrunc(): can't truncate root directory, clust %ld, offset %ld\n",
    +		    dep->de_dirclust, dep->de_diroffset);
    +		return (EINVAL);
    +	}
    +
    +	uvm_vnp_setsize(DETOV(dep), length);
    +
    +	if (dep->de_FileSize < length)
    +		return (deextend(dep, length, cred));
    +	lastblock = de_clcount(pmp, length) - 1;
    +
    +	/*
    +	 * If the desired length is 0 then remember the starting cluster of
    +	 * the file and set the StartCluster field in the directory entry
    +	 * to 0.  If the desired length is not zero, then get the number of
    +	 * the last cluster in the shortened file.  Then get the number of
    +	 * the first cluster in the part of the file that is to be freed.
    +	 * Then set the next cluster pointer in the last cluster of the
    +	 * file to CLUST_EOFE.
    +	 */
    +	if (length == 0) {
    +		chaintofree = dep->de_StartCluster;
    +		dep->de_StartCluster = 0;
    +		eofentry = ~0;
    +	} else {
    +		error = pcbmap(dep, lastblock, 0, &eofentry, 0);
    +		if (error) {
    +#ifdef MSDOSFS_DEBUG
    +			printf("detrunc(): pcbmap fails %d\n", error);
    +#endif
    +			return (error);
    +		}
    +	}
    +
    +	/*
    +	 * If the new length is not a multiple of the cluster size then we
    +	 * must zero the tail end of the new last cluster in case it
    +	 * becomes part of the file again because of a seek.
    +	 */
    +	if ((boff = length & pmp->pm_crbomask) != 0) {
    +		if (isadir) {
    +			bn = cntobn(pmp, eofentry);
    +			error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn),
    +			    pmp->pm_bpcluster, NOCRED, B_MODIFY, &bp);
    +			if (error) {
    +#ifdef MSDOSFS_DEBUG
    +				printf("detrunc(): bread fails %d\n", error);
    +#endif
    +				return (error);
    +			}
    +			memset((char *)bp->b_data + boff, 0,
    +			    pmp->pm_bpcluster - boff);
    +			if (flags & IO_SYNC)
    +				bwrite(bp);
    +			else
    +				bdwrite(bp);
    +		} else {
    +			ubc_zerorange(&DETOV(dep)->v_uobj, length,
    +				      pmp->pm_bpcluster - boff,
    +				      UBC_UNMAP_FLAG(DETOV(dep)));
    +		}
    +	}
    +
    +	/*
    +	 * Write out the updated directory entry.  Even if the update fails
    +	 * we free the trailing clusters.
    +	 */
    +	dep->de_FileSize = length;
    +	if (!isadir)
    +		dep->de_flag |= DE_UPDATE|DE_MODIFIED;
    +	vtruncbuf(DETOV(dep), lastblock + 1, 0, 0);
    +	allerror = deupdat(dep, 1);
    +#ifdef MSDOSFS_DEBUG
    +	printf("detrunc(): allerror %d, eofentry %lu\n",
    +	       allerror, eofentry);
    +#endif
    +
    +	fc_purge(dep, lastblock + 1);
    +
    +	/*
    +	 * If we need to break the cluster chain for the file then do it
    +	 * now.
    +	 */
    +	if (eofentry != ~0) {
    +		error = fatentry(FAT_GET_AND_SET, pmp, eofentry,
    +				 &chaintofree, CLUST_EOFE);
    +		if (error) {
    +#ifdef MSDOSFS_DEBUG
    +			printf("detrunc(): fatentry errors %d\n", error);
    +#endif
    +			return (error);
    +		}
    +		fc_setcache(dep, FC_LASTFC, de_cluster(pmp, length - 1),
    +			    eofentry);
    +	}
    +
    +	/*
    +	 * Now free the clusters removed from the file because of the
    +	 * truncation.
    +	 */
    +	if (chaintofree != 0 && !MSDOSFSEOF(chaintofree, pmp->pm_fatmask))
    +		freeclusterchain(pmp, chaintofree);
    +
    +	return (allerror);
    +}
    +
    +/*
    + * Extend the file described by dep to length specified by length.
    + */
    +int
    +deextend(struct denode *dep, u_long length, kauth_cred_t cred)
    +{
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	u_long count, osize;
    +	int error;
    +
    +	/*
    +	 * The root of a DOS filesystem cannot be extended.
    +	 */
    +	if ((DETOV(dep)->v_vflag & VV_ROOT) && !FAT32(pmp))
    +		return (EINVAL);
    +
    +	/*
    +	 * Directories cannot be extended.
    +	 */
    +	if (dep->de_Attributes & ATTR_DIRECTORY)
    +		return (EISDIR);
    +
    +	if (length <= dep->de_FileSize)
    +		panic("deextend: file too large");
    +
    +	/*
    +	 * Compute the number of clusters to allocate.
    +	 */
    +	count = de_clcount(pmp, length) - de_clcount(pmp, dep->de_FileSize);
    +	if (count > 0) {
    +		if (count > pmp->pm_freeclustercount)
    +			return (ENOSPC);
    +		error = extendfile(dep, count, NULL, NULL, DE_CLEAR);
    +		if (error) {
    +			/* truncate the added clusters away again */
    +			(void) detrunc(dep, dep->de_FileSize, 0, cred);
    +			return (error);
    +		}
    +	}
    +
    +	/*
    +	 * Zero extend file range; ubc_zerorange() uses ubc_alloc() and a
    +	 * memset(); we set the write size so ubc won't read in file data that
    +	 * is zero'd later.
    +	 */
    +	osize = dep->de_FileSize;
    +	dep->de_FileSize = length;
    +	uvm_vnp_setwritesize(DETOV(dep), (voff_t)dep->de_FileSize);
    +	dep->de_flag |= DE_UPDATE|DE_MODIFIED;
    +	ubc_zerorange(&DETOV(dep)->v_uobj, (off_t)osize,
    +	    (size_t)(round_page(dep->de_FileSize) - osize),
    +	    UBC_UNMAP_FLAG(DETOV(dep)));
    +	uvm_vnp_setsize(DETOV(dep), (voff_t)dep->de_FileSize);
    +	return (deupdat(dep, 1));
    +}
    +
    +/*
    + * Move a denode to its correct hash queue after the file it represents has
    + * been moved to a new directory.
    + */
    +void
    +reinsert(struct denode *dep)
    +{
    +	/*
    +	 * Fix up the denode cache.  If the denode is for a directory,
    +	 * there is nothing to do since the hash is based on the starting
    +	 * cluster of the directory file and that hasn't changed.  If for a
    +	 * file the hash is based on the location of the directory entry,
    +	 * so we must remove it from the cache and re-enter it with the
    +	 * hash based on the new location of the directory entry.
    +	 */
    +	if (dep->de_Attributes & ATTR_DIRECTORY)
    +		return;
    +	mutex_enter(&msdosfs_hashlock);
    +	msdosfs_hashrem(dep);
    +	msdosfs_hashins(dep);
    +	mutex_exit(&msdosfs_hashlock);
    +}
    +
    +int
    +msdosfs_reclaim(void *v)
    +{
    +	struct vop_reclaim_args /* {
    +		struct vnode *a_vp;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct denode *dep = VTODE(vp);
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_reclaim(): dep %p, file %s, refcnt %ld\n",
    +	    dep, dep->de_Name, dep->de_refcnt);
    +#endif
    +
    +	if (prtactive && vp->v_usecount > 1)
    +		vprint("msdosfs_reclaim(): pushing active", vp);
    +	/*
    +	 * Remove the denode from its hash chain.
    +	 */
    +	msdosfs_hashrem(dep);
    +	/*
    +	 * Purge old data structures associated with the denode.
    +	 */
    +	if (dep->de_devvp) {
    +		vrele(dep->de_devvp);
    +		dep->de_devvp = 0;
    +	}
    +#if 0 /* XXX */
    +	dep->de_flag = 0;
    +#endif
    +	genfs_node_destroy(vp);
    +	pool_put(&msdosfs_denode_pool, dep);
    +	vp->v_data = NULL;
    +	return (0);
    +}
    +
    +int
    +msdosfs_inactive(void *v)
    +{
    +	struct vop_inactive_args /* {
    +		struct vnode *a_vp;
    +		bool *a_recycle;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct mount *mp = vp->v_mount;
    +	struct denode *dep = VTODE(vp);
    +	int error = 0;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_inactive(): dep %p, de_Name[0] %x\n", dep, dep->de_Name[0]);
    +#endif
    +
    +	fstrans_start(mp, FSTRANS_LAZY);
    +	/*
    +	 * Get rid of denodes related to stale file handles.
    +	 */
    +	if (dep->de_Name[0] == SLOT_DELETED)
    +		goto out;
    +
    +	/*
    +	 * If the file has been deleted and it is on a read/write
    +	 * filesystem, then truncate the file, and mark the directory slot
    +	 * as empty.  (This may not be necessary for the dos filesystem.)
    +	 */
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_inactive(): dep %p, refcnt %ld, mntflag %x %s\n",
    +	       dep, dep->de_refcnt, vp->v_mount->mnt_flag,
    +		(vp->v_mount->mnt_flag & MNT_RDONLY) ? "MNT_RDONLY" : "");
    +#endif
    +	if (dep->de_refcnt <= 0 && (vp->v_mount->mnt_flag & MNT_RDONLY) == 0) {
    +		if (dep->de_FileSize != 0) {
    +			error = detrunc(dep, (u_long)0, 0, NOCRED);
    +		}
    +		dep->de_Name[0] = SLOT_DELETED;
    +		msdosfs_fh_remove(dep->de_pmp,
    +		    dep->de_dirclust, dep->de_diroffset);
    +	}
    +	deupdat(dep, 0);
    +out:
    +	/*
    +	 * If we are done with the denode, reclaim it
    +	 * so that it can be reused immediately.
    +	 */
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_inactive(): v_usecount %d, de_Name[0] %x\n",
    +		vp->v_usecount, dep->de_Name[0]);
    +#endif
    +	*ap->a_recycle = (dep->de_Name[0] == SLOT_DELETED);
    +	VOP_UNLOCK(vp);
    +	fstrans_done(mp);
    +	return (error);
    +}
    +
    +int
    +msdosfs_gop_alloc(struct vnode *vp, off_t off,
    +    off_t len, int flags, kauth_cred_t cred)
    +{
    +	return 0;
    +}
    +
    +void
    +msdosfs_gop_markupdate(struct vnode *vp, int flags)
    +{
    +	u_long mask = 0;
    +
    +	if ((flags & GOP_UPDATE_ACCESSED) != 0) {
    +		mask = DE_ACCESS;
    +	}
    +	if ((flags & GOP_UPDATE_MODIFIED) != 0) {
    +		mask |= DE_UPDATE;
    +	}
    +	if (mask) {
    +		struct denode *dep = VTODE(vp);
    +
    +		dep->de_flag |= mask;
    +	}
    +}
    +
    +int
    +msdosfs_fh_enter(struct msdosfsmount *pmp,
    +     uint32_t dircluster, uint32_t diroffset, uint32_t *genp)
    +{
    +	struct fh_key fhkey;
    +	struct fh_node *fhp;
    +
    +	fhkey.fhk_mount = pmp;
    +	fhkey.fhk_dircluster = dircluster;
    +	fhkey.fhk_diroffset = diroffset;
    +
    +	mutex_enter(&fh_lock);
    +	fhp = rb_tree_find_node(&fh_rbtree, &fhkey);
    +	if (fhp == NULL) {
    +		mutex_exit(&fh_lock);
    +		fhp = pool_get(&fh_pool, PR_WAITOK);
    +		mutex_enter(&fh_lock);
    +		fhp->fh_key = fhkey;
    +		fhp->fh_gen = fh_generation++;
    +		rb_tree_insert_node(&fh_rbtree, fhp);
    +	}
    +	*genp = fhp->fh_gen;
    +	mutex_exit(&fh_lock);
    +	return 0;
    +}
    +
    +int
    +msdosfs_fh_remove(struct msdosfsmount *pmp,
    +     uint32_t dircluster, uint32_t diroffset)
    +{
    +	struct fh_key fhkey;
    +	struct fh_node *fhp;
    +
    +	fhkey.fhk_mount = pmp;
    +	fhkey.fhk_dircluster = dircluster;
    +	fhkey.fhk_diroffset = diroffset;
    +
    +	mutex_enter(&fh_lock);
    +	fhp = rb_tree_find_node(&fh_rbtree, &fhkey);
    +	if (fhp == NULL) {
    +		mutex_exit(&fh_lock);
    +		return ENOENT;
    +	}
    +	rb_tree_remove_node(&fh_rbtree, fhp);
    +	mutex_exit(&fh_lock);
    +	pool_put(&fh_pool, fhp);
    +	return 0;
    +}
    +
    +int
    +msdosfs_fh_lookup(struct msdosfsmount *pmp,
    +     uint32_t dircluster, uint32_t diroffset, uint32_t *genp)
    +{
    +	struct fh_key fhkey;
    +	struct fh_node *fhp;
    +
    +	fhkey.fhk_mount = pmp;
    +	fhkey.fhk_dircluster = dircluster;
    +	fhkey.fhk_diroffset = diroffset;
    +
    +	mutex_enter(&fh_lock);
    +	fhp = rb_tree_find_node(&fh_rbtree, &fhkey);
    +	if (fhp == NULL) {
    +		mutex_exit(&fh_lock);
    +		return ESTALE;
    +	}
    +	*genp = fhp->fh_gen;
    +	mutex_exit(&fh_lock);
    +	return 0;
    +}
    +
    +void
    +msdosfs_fh_destroy(struct msdosfsmount *pmp)
    +{
    +	struct fh_key fhkey;
    +	struct fh_node *fhp, *nfhp;
    +
    +	fhkey.fhk_mount = pmp;
    +	fhkey.fhk_dircluster = 0;
    +	fhkey.fhk_diroffset = 0;
    +
    +	mutex_enter(&fh_lock);
    +	for (fhp = rb_tree_find_node_geq(&fh_rbtree, &fhkey);
    +	    fhp != NULL && fhp->fh_mount == pmp; fhp = nfhp) {
    +		nfhp = rb_tree_iterate(&fh_rbtree, fhp, RB_DIR_RIGHT);
    +		rb_tree_remove_node(&fh_rbtree, fhp);
    +		pool_put(&fh_pool, fhp);
    +	}
    +#ifdef DIAGNOSTIC
    +	RB_TREE_FOREACH(fhp, &fh_rbtree) {
    +		KASSERT(fhp->fh_mount != pmp);
    +	}
    +#endif
    +	mutex_exit(&fh_lock);
    +}
    diff --git a/sys/fs/msdosfs/msdosfs_fat.c b/sys/fs/msdosfs/msdosfs_fat.c
    new file mode 100644
    index 000000000..f3cf2d04b
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfs_fat.c
    @@ -0,0 +1,1098 @@
    +/*	$NetBSD: msdosfs_fat.c,v 1.28 2013/01/28 00:17:18 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#if HAVE_NBTOOL_CONFIG_H
    +#include "nbtool_config.h"
    +#endif
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: msdosfs_fat.c,v 1.28 2013/01/28 00:17:18 christos Exp $");
    +
    +/*
    + * kernel include files.
    + */
    +#include 
    +#include 
    +#ifdef _KERNEL
    +#include 		/* to define statvfs structure */
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 		/* to define vattr structure */
    +#else
    +#include 
    +#endif
    +
    +/*
    + * msdosfs include files.
    + */
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Fat cache stats.
    + */
    +int fc_fileextends;		/* # of file extends			 */
    +int fc_lfcempty;		/* # of time last file cluster cache entry
    +				 * was empty */
    +int fc_bmapcalls;		/* # of times pcbmap was called		 */
    +
    +#define	LMMAX	20
    +int fc_lmdistance[LMMAX];	/* counters for how far off the last
    +				 * cluster mapped entry was. */
    +int fc_largedistance;		/* off by more than LMMAX		 */
    +int fc_wherefrom, fc_whereto, fc_lastclust;
    +int pm_fatblocksize;
    +
    +#ifdef MSDOSFS_DEBUG
    +#define DPRINTF(a) printf a
    +#else
    +#define DPRINTF(a)
    +#endif
    +#ifdef MSDOSFS_DEBUG
    +void print_fat_stats(void);
    +
    +void
    +print_fat_stats(void)
    +{
    +	int i;
    +
    +	printf("fc_fileextends=%d fc_lfcempty=%d fc_bmapcalls=%d "
    +	    "fc_largedistance=%d [%d->%d=%d] fc_lastclust=%d pm_fatblocksize=%d\n",
    +	    fc_fileextends, fc_lfcempty, fc_bmapcalls, fc_largedistance,
    +	    fc_wherefrom, fc_whereto, fc_whereto-fc_wherefrom,
    +	    fc_lastclust, pm_fatblocksize);
    +	
    +	fc_fileextends = fc_lfcempty = fc_bmapcalls = 0;
    +	fc_wherefrom = fc_whereto = fc_lastclust = 0;
    +    
    +	for (i = 0; i < LMMAX; i++) {
    +		printf("%d:%d ", i, fc_lmdistance[i]);
    +	fc_lmdistance[i] = 0;
    +	}
    +
    +	printf("\n");
    +}
    +#endif
    +
    +static void fatblock(struct msdosfsmount *, u_long, u_long *, u_long *,
    +			  u_long *);
    +void updatefats(struct msdosfsmount *, struct buf *, u_long);
    +static inline void usemap_free(struct msdosfsmount *, u_long);
    +static inline void usemap_alloc(struct msdosfsmount *, u_long);
    +static int fatchain(struct msdosfsmount *, u_long, u_long, u_long);
    +int chainlength(struct msdosfsmount *, u_long, u_long);
    +int chainalloc(struct msdosfsmount *, u_long, u_long, u_long, u_long *,
    +		    u_long *);
    +
    +static void
    +fatblock(struct msdosfsmount *pmp, u_long ofs, u_long *bnp, u_long *sizep, u_long *bop)
    +{
    +	u_long bn, size;
    +
    +	bn = ofs / pmp->pm_fatblocksize * pmp->pm_fatblocksec;
    +	size = min(pmp->pm_fatblocksec, pmp->pm_FATsecs - bn)
    +	    * pmp->pm_BytesPerSec;
    +	bn += pmp->pm_fatblk + pmp->pm_curfat * pmp->pm_FATsecs;
    +
    +	DPRINTF(("%s(ofs=%lu bn=%lu, size=%lu, bo=%lu)\n", __func__, ofs, bn,
    +	    size, ofs % pmp->pm_fatblocksize));
    +	if (bnp)
    +		*bnp = bn;
    +	if (sizep)
    +		*sizep = size;
    +	if (bop)
    +		*bop = ofs % pmp->pm_fatblocksize;
    +
    +	pm_fatblocksize = pmp->pm_fatblocksize;
    +}
    +
    +/*
    + * Map the logical cluster number of a file into a physical disk sector
    + * that is filesystem relative.
    + *
    + * dep	  - address of denode representing the file of interest
    + * findcn - file relative cluster whose filesystem relative cluster number
    + *	    and/or block number are/is to be found
    + * bnp	  - address of where to place the file system relative block number.
    + *	    If this pointer is null then don't return this quantity.
    + * cnp	  - address of where to place the file system relative cluster number.
    + *	    If this pointer is null then don't return this quantity.
    + *
    + * NOTE: Either bnp or cnp must be non-null.
    + * This function has one side effect.  If the requested file relative cluster
    + * is beyond the end of file, then the actual number of clusters in the file
    + * is returned in *cnp.  This is useful for determining how long a directory is.
    + *  If cnp is null, nothing is returned.
    + */
    +int
    +pcbmap(struct denode *dep, u_long findcn, daddr_t *bnp, u_long *cnp, int *sp)
    +	/* findcn:		 file relative cluster to get		 */
    +	/* bnp:		 returned filesys rel sector number	 */
    +	/* cnp:		 returned cluster number		 */
    +	/* sp:		 returned block size			 */
    +{
    +	int error;
    +	u_long i;
    +	u_long cn;
    +	u_long prevcn = 0; /* XXX: prevcn could be used unititialized */
    +	u_long byteoffset;
    +	u_long bn;
    +	u_long bo;
    +	struct buf *bp = NULL;
    +	u_long bp_bn = -1;
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	u_long bsize;
    +
    +	fc_bmapcalls++;
    +
    +	/*
    +	 * If they don't give us someplace to return a value then don't
    +	 * bother doing anything.
    +	 */
    +	if (bnp == NULL && cnp == NULL && sp == NULL)
    +		return (0);
    +
    +	cn = dep->de_StartCluster;
    +	DPRINTF(("%s(start cluster=%lu)\n", __func__, cn));
    +	/*
    +	 * The "file" that makes up the root directory is contiguous,
    +	 * permanently allocated, of fixed size, and is not made up of
    +	 * clusters.  If the cluster number is beyond the end of the root
    +	 * directory, then return the number of clusters in the file.
    +	 */
    +	if (cn == MSDOSFSROOT) {
    +		if (dep->de_Attributes & ATTR_DIRECTORY) {
    +			if (de_cn2off(pmp, findcn) >= dep->de_FileSize) {
    +				if (cnp)
    +					*cnp = de_bn2cn(pmp, pmp->pm_rootdirsize);
    +				DPRINTF(("%s(root, %lu ETOOBIG)\n", __func__,
    +				    de_cn2off(pmp, findcn)));
    +				return (E2BIG);
    +			}
    +			if (bnp)
    +				*bnp = pmp->pm_rootdirblk + de_cn2bn(pmp, findcn);
    +			if (cnp)
    +				*cnp = MSDOSFSROOT;
    +			if (sp)
    +				*sp = min(pmp->pm_bpcluster,
    +				    dep->de_FileSize - de_cn2off(pmp, findcn));
    +			DPRINTF(("%s(root, bn=%lu, cn=%u)\n", __func__,
    +			    pmp->pm_rootdirblk + de_cn2bn(pmp, findcn),
    +			    MSDOSFSROOT));
    +			return (0);
    +		} else {		/* just an empty file */
    +			if (cnp)
    +				*cnp = 0;
    +			DPRINTF(("%s(root, empty ETOOBIG)\n", __func__));
    +			return (E2BIG);
    +		}
    +	}
    +
    +	/*
    +	 * All other files do I/O in cluster sized blocks
    +	 */
    +	if (sp)
    +		*sp = pmp->pm_bpcluster;
    +
    +	/*
    +	 * Rummage around in the FAT cache, maybe we can avoid tromping
    +	 * thru every FAT entry for the file. And, keep track of how far
    +	 * off the cache was from where we wanted to be.
    +	 */
    +	i = 0;
    +	fc_lookup(dep, findcn, &i, &cn);
    +	DPRINTF(("%s(bpcluster=%lu i=%lu cn=%lu\n", __func__, pmp->pm_bpcluster,
    +	    i, cn));
    +	if ((bn = findcn - i) >= LMMAX) {
    +		fc_largedistance++;
    +		fc_wherefrom = i;
    +		fc_whereto = findcn;
    +		fc_lastclust = dep->de_fc[FC_LASTFC].fc_frcn;
    +	} else
    +		fc_lmdistance[bn]++;
    +
    +	/*
    +	 * Handle all other files or directories the normal way.
    +	 */
    +	for (; i < findcn; i++) {
    +		/*
    +		 * Stop with all reserved clusters, not just with EOF.
    +		 */
    +		if (cn >= (CLUST_RSRVD & pmp->pm_fatmask))
    +			goto hiteof;
    +		byteoffset = FATOFS(pmp, cn);
    +		fatblock(pmp, byteoffset, &bn, &bsize, &bo);
    +		if (bn != bp_bn) {
    +			if (bp)
    +				brelse(bp, 0);
    +			error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), bsize,
    +			    NOCRED, 0, &bp);
    +			if (error) {
    +				DPRINTF(("%s(bread, %d)\n", __func__, error));
    +				return (error);
    +			}
    +			bp_bn = bn;
    +		}
    +		prevcn = cn;
    +		if (bo >= bsize) {
    +			if (bp)
    +				brelse(bp, 0);
    +			DPRINTF(("%s(block, %lu >= %lu)\n", __func__, bo,
    +			    bsize));
    +			return (EIO);
    +		}
    +		KASSERT(bp != NULL);
    +		if (FAT32(pmp))
    +			cn = getulong((char *)bp->b_data + bo);
    +		else
    +			cn = getushort((char *)bp->b_data + bo);
    +		if (FAT12(pmp) && (prevcn & 1))
    +			cn >>= 4;
    +		DPRINTF(("%s(cn=%lu masked=%lu)\n", __func__, cn,
    +		    cn & pmp->pm_fatmask));
    +		cn &= pmp->pm_fatmask;
    +	}
    +
    +	if (!MSDOSFSEOF(cn, pmp->pm_fatmask)) {
    +		if (bp)
    +			brelse(bp, 0);
    +		if (bnp)
    +			*bnp = cntobn(pmp, cn);
    +		if (cnp)
    +			*cnp = cn;
    +		DPRINTF(("%s(bn=%lu, cn=%lu)\n", __func__, cntobn(pmp, cn),
    +		    cn));
    +		fc_setcache(dep, FC_LASTMAP, i, cn);
    +		return (0);
    +	}
    +
    +hiteof:;
    +	if (cnp)
    +		*cnp = i;
    +	if (bp)
    +		brelse(bp, 0);
    +	/* update last file cluster entry in the FAT cache */
    +	fc_setcache(dep, FC_LASTFC, i - 1, prevcn);
    +	DPRINTF(("%s(eof, %lu)\n", __func__, i));
    +	return (E2BIG);
    +}
    +
    +/*
    + * Find the closest entry in the FAT cache to the cluster we are looking
    + * for.
    + */
    +void
    +fc_lookup(struct denode *dep, u_long findcn, u_long *frcnp, u_long *fsrcnp)
    +{
    +	int i;
    +	u_long cn;
    +	struct fatcache *closest = 0;
    +
    +	for (i = 0; i < FC_SIZE; i++) {
    +		cn = dep->de_fc[i].fc_frcn;
    +		if (cn != FCE_EMPTY && cn <= findcn) {
    +			if (closest == 0 || cn > closest->fc_frcn)
    +				closest = &dep->de_fc[i];
    +		}
    +	}
    +	if (closest) {
    +		*frcnp = closest->fc_frcn;
    +		*fsrcnp = closest->fc_fsrcn;
    +	}
    +}
    +
    +/*
    + * Purge the FAT cache in denode dep of all entries relating to file
    + * relative cluster frcn and beyond.
    + */
    +void
    +fc_purge(struct denode *dep, u_int frcn)
    +{
    +	int i;
    +	struct fatcache *fcp;
    +
    +	fcp = dep->de_fc;
    +	for (i = 0; i < FC_SIZE; i++, fcp++) {
    +		if (fcp->fc_frcn >= frcn)
    +			fcp->fc_frcn = FCE_EMPTY;
    +	}
    +}
    +
    +/*
    + * Update the FAT.
    + * If mirroring the FAT, update all copies, with the first copy as last.
    + * Else update only the current FAT (ignoring the others).
    + *
    + * pmp	 - msdosfsmount structure for filesystem to update
    + * bp	 - addr of modified FAT block
    + * fatbn - block number relative to begin of filesystem of the modified FAT block.
    + */
    +void
    +updatefats(struct msdosfsmount *pmp, struct buf *bp, u_long fatbn)
    +{
    +	int i;
    +	struct buf *bpn;
    +
    +	DPRINTF(("%s(pmp %p, bp %p, fatbn %lu)\n", __func__, pmp, bp, fatbn));
    +
    +	/*
    +	 * If we have an FSInfo block, update it.
    +	 */
    +	if (pmp->pm_fsinfo) {
    +		u_long cn = pmp->pm_nxtfree;
    +
    +		if (pmp->pm_freeclustercount
    +		    && (pmp->pm_inusemap[cn / N_INUSEBITS]
    +			& (1 << (cn % N_INUSEBITS)))) {
    +			/*
    +			 * The cluster indicated in FSInfo isn't free
    +			 * any longer.  Got get a new free one.
    +			 */
    +			for (cn = 0; cn < pmp->pm_maxcluster; cn++)
    +				if (pmp->pm_inusemap[cn / N_INUSEBITS] != (u_int)-1)
    +					break;
    +			pmp->pm_nxtfree = cn
    +				+ ffs(pmp->pm_inusemap[cn / N_INUSEBITS]
    +				      ^ (u_int)-1) - 1;
    +		}
    +		/*
    +		 * XXX  If the fsinfo block is stored on media with
    +		 *      2KB or larger sectors, is the fsinfo structure
    +		 *      padded at the end or in the middle?
    +		 */
    +		if (bread(pmp->pm_devvp, de_bn2kb(pmp, pmp->pm_fsinfo),
    +		    pmp->pm_BytesPerSec, NOCRED, B_MODIFY, &bpn) != 0) {
    +			/*
    +			 * Ignore the error, but turn off FSInfo update for the future.
    +			 */
    +			pmp->pm_fsinfo = 0;
    +		} else {
    +			struct fsinfo *fp = (struct fsinfo *)bpn->b_data;
    +
    +			putulong(fp->fsinfree, pmp->pm_freeclustercount);
    +			putulong(fp->fsinxtfree, pmp->pm_nxtfree);
    +			if (pmp->pm_flags & MSDOSFSMNT_WAITONFAT)
    +				bwrite(bpn);
    +			else
    +				bdwrite(bpn);
    +		}
    +	}
    +
    +	if (pmp->pm_flags & MSDOSFS_FATMIRROR) {
    +		/*
    +		 * Now copy the block(s) of the modified FAT to the other copies of
    +		 * the FAT and write them out.  This is faster than reading in the
    +		 * other FATs and then writing them back out.  This could tie up
    +		 * the FAT for quite a while. Preventing others from accessing it.
    +		 * To prevent us from going after the FAT quite so much we use
    +		 * delayed writes, unless they specified "synchronous" when the
    +		 * filesystem was mounted.  If synch is asked for then use
    +		 * bwrite()'s and really slow things down.
    +		 */
    +		for (i = 1; i < pmp->pm_FATs; i++) {
    +			fatbn += pmp->pm_FATsecs;
    +			/* getblk() never fails */
    +			bpn = getblk(pmp->pm_devvp, de_bn2kb(pmp, fatbn),
    +			    bp->b_bcount, 0, 0);
    +			memcpy(bpn->b_data, bp->b_data, bp->b_bcount);
    +			if (pmp->pm_flags & MSDOSFSMNT_WAITONFAT)
    +				bwrite(bpn);
    +			else
    +				bdwrite(bpn);
    +		}
    +	}
    +
    +	/*
    +	 * Write out the first (or current) FAT last.
    +	 */
    +	if (pmp->pm_flags & MSDOSFSMNT_WAITONFAT)
    +		bwrite(bp);
    +	else
    +		bdwrite(bp);
    +	/*
    +	 * Maybe update fsinfo sector here?
    +	 */
    +}
    +
    +/*
    + * Updating entries in 12 bit FATs is a pain in the butt.
    + *
    + * The following picture shows where nibbles go when moving from a 12 bit
    + * cluster number into the appropriate bytes in the FAT.
    + *
    + *	byte m        byte m+1      byte m+2
    + *	+----+----+   +----+----+   +----+----+
    + *	|  0    1 |   |  2    3 |   |  4    5 |   FAT bytes
    + *	+----+----+   +----+----+   +----+----+
    + *
    + *	+----+----+----+   +----+----+----+
    + *	|  3    0    1 |   |  4    5    2 |
    + *	+----+----+----+   +----+----+----+
    + *	cluster n  	   cluster n+1
    + *
    + * Where n is even. m = n + (n >> 2)
    + *
    + */
    +static inline void
    +usemap_alloc(struct msdosfsmount *pmp, u_long cn)
    +{
    +
    +	pmp->pm_inusemap[cn / N_INUSEBITS] |= 1 << (cn % N_INUSEBITS);
    +	pmp->pm_freeclustercount--;
    +}
    +
    +static inline void
    +usemap_free(struct msdosfsmount *pmp, u_long cn)
    +{
    +
    +	pmp->pm_freeclustercount++;
    +	pmp->pm_inusemap[cn / N_INUSEBITS] &= ~(1 << (cn % N_INUSEBITS));
    +}
    +
    +int
    +clusterfree(struct msdosfsmount *pmp, u_long cluster, u_long *oldcnp)
    +{
    +	int error;
    +	u_long oldcn;
    +
    +	usemap_free(pmp, cluster);
    +	error = fatentry(FAT_GET_AND_SET, pmp, cluster, &oldcn, MSDOSFSFREE);
    +	if (error) {
    +		usemap_alloc(pmp, cluster);
    +		return (error);
    +	}
    +	/*
    +	 * If the cluster was successfully marked free, then update
    +	 * the count of free clusters, and turn off the "allocated"
    +	 * bit in the "in use" cluster bit map.
    +	 */
    +	if (oldcnp)
    +		*oldcnp = oldcn;
    +	return (0);
    +}
    +
    +/*
    + * Get or Set or 'Get and Set' the cluster'th entry in the FAT.
    + *
    + * function	- whether to get or set a fat entry
    + * pmp		- address of the msdosfsmount structure for the filesystem
    + *		  whose FAT is to be manipulated.
    + * cn		- which cluster is of interest
    + * oldcontents	- address of a word that is to receive the contents of the
    + *		  cluster'th entry if this is a get function
    + * newcontents	- the new value to be written into the cluster'th element of
    + *		  the FAT if this is a set function.
    + *
    + * This function can also be used to free a cluster by setting the FAT entry
    + * for a cluster to 0.
    + *
    + * All copies of the FAT are updated if this is a set function. NOTE: If
    + * fatentry() marks a cluster as free it does not update the inusemap in
    + * the msdosfsmount structure. This is left to the caller.
    + */
    +int
    +fatentry(int function, struct msdosfsmount *pmp, u_long cn, u_long *oldcontents, u_long newcontents)
    +{
    +	int error;
    +	u_long readcn;
    +	u_long bn, bo, bsize, byteoffset;
    +	struct buf *bp;
    +
    +	DPRINTF(("%s(func %d, pmp %p, clust %lu, oldcon %p, newcon " "%lx)\n",
    +	    __func__, function, pmp, cn, oldcontents, newcontents));
    +
    +#ifdef DIAGNOSTIC
    +	/*
    +	 * Be sure they asked us to do something.
    +	 */
    +	if ((function & (FAT_SET | FAT_GET)) == 0) {
    +		DPRINTF(("%s(): function code doesn't specify get or set\n",
    +		    __func__));
    +		return (EINVAL);
    +	}
    +
    +	/*
    +	 * If they asked us to return a cluster number but didn't tell us
    +	 * where to put it, give them an error.
    +	 */
    +	if ((function & FAT_GET) && oldcontents == NULL) {
    +		DPRINTF(("%s(): get function with no place to put result\n",
    +			__func__));
    +		return (EINVAL);
    +	}
    +#endif
    +
    +	/*
    +	 * Be sure the requested cluster is in the filesystem.
    +	 */
    +	if (cn < CLUST_FIRST || cn > pmp->pm_maxcluster)
    +		return (EINVAL);
    +
    +	byteoffset = FATOFS(pmp, cn);
    +	fatblock(pmp, byteoffset, &bn, &bsize, &bo);
    +	if ((error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), bsize, NOCRED,
    +	    0, &bp)) != 0) {
    +		return (error);
    +	}
    +
    +	if (function & FAT_GET) {
    +		if (FAT32(pmp))
    +			readcn = getulong((char *)bp->b_data + bo);
    +		else
    +			readcn = getushort((char *)bp->b_data + bo);
    +		if (FAT12(pmp) & (cn & 1))
    +			readcn >>= 4;
    +		readcn &= pmp->pm_fatmask;
    +		*oldcontents = readcn;
    +	}
    +	if (function & FAT_SET) {
    +		switch (pmp->pm_fatmask) {
    +		case FAT12_MASK:
    +			readcn = getushort((char *)bp->b_data + bo);
    +			if (cn & 1) {
    +				readcn &= 0x000f;
    +				readcn |= newcontents << 4;
    +			} else {
    +				readcn &= 0xf000;
    +				readcn |= newcontents & 0xfff;
    +			}
    +			putushort((char *)bp->b_data + bo, readcn);
    +			break;
    +		case FAT16_MASK:
    +			putushort((char *)bp->b_data + bo, newcontents);
    +			break;
    +		case FAT32_MASK:
    +			/*
    +			 * According to spec we have to retain the
    +			 * high order bits of the FAT entry.
    +			 */
    +			readcn = getulong((char *)bp->b_data + bo);
    +			readcn &= ~FAT32_MASK;
    +			readcn |= newcontents & FAT32_MASK;
    +			putulong((char *)bp->b_data + bo, readcn);
    +			break;
    +		}
    +		updatefats(pmp, bp, bn);
    +		bp = NULL;
    +		pmp->pm_fmod = 1;
    +	}
    +	if (bp)
    +		brelse(bp, 0);
    +	return (0);
    +}
    +
    +/*
    + * Update a contiguous cluster chain
    + *
    + * pmp	    - mount point
    + * start    - first cluster of chain
    + * count    - number of clusters in chain
    + * fillwith - what to write into FAT entry of last cluster
    + */
    +static int
    +fatchain(struct msdosfsmount *pmp, u_long start, u_long count, u_long fillwith)
    +{
    +	int error;
    +	u_long bn, bo, bsize, byteoffset, readcn, newc;
    +	struct buf *bp;
    +
    +	DPRINTF(("%s(pmp %p, start %lu, count %lu, fillwith %lx)\n", __func__,
    +	    pmp, start, count, fillwith));
    +	/*
    +	 * Be sure the clusters are in the filesystem.
    +	 */
    +	if (start < CLUST_FIRST || start + count - 1 > pmp->pm_maxcluster)
    +		return (EINVAL);
    +
    +	while (count > 0) {
    +		byteoffset = FATOFS(pmp, start);
    +		fatblock(pmp, byteoffset, &bn, &bsize, &bo);
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), bsize, NOCRED,
    +		    B_MODIFY, &bp);
    +		if (error) {
    +			return (error);
    +		}
    +		while (count > 0) {
    +			start++;
    +			newc = --count > 0 ? start : fillwith;
    +			switch (pmp->pm_fatmask) {
    +			case FAT12_MASK:
    +				readcn = getushort((char *)bp->b_data + bo);
    +				if (start & 1) {
    +					readcn &= 0xf000;
    +					readcn |= newc & 0xfff;
    +				} else {
    +					readcn &= 0x000f;
    +					readcn |= newc << 4;
    +				}
    +				putushort((char *)bp->b_data + bo, readcn);
    +				bo++;
    +				if (!(start & 1))
    +					bo++;
    +				break;
    +			case FAT16_MASK:
    +				putushort((char *)bp->b_data + bo, newc);
    +				bo += 2;
    +				break;
    +			case FAT32_MASK:
    +				readcn = getulong((char *)bp->b_data + bo);
    +				readcn &= ~pmp->pm_fatmask;
    +				readcn |= newc & pmp->pm_fatmask;
    +				putulong((char *)bp->b_data + bo, readcn);
    +				bo += 4;
    +				break;
    +			}
    +			if (bo >= bsize)
    +				break;
    +		}
    +		updatefats(pmp, bp, bn);
    +	}
    +	pmp->pm_fmod = 1;
    +	return (0);
    +}
    +
    +/*
    + * Check the length of a free cluster chain starting at start.
    + *
    + * pmp	 - mount point
    + * start - start of chain
    + * count - maximum interesting length
    + */
    +int
    +chainlength(struct msdosfsmount *pmp, u_long start, u_long count)
    +{
    +	u_long idx, max_idx;
    +	u_int map;
    +	u_long len;
    +
    +	max_idx = pmp->pm_maxcluster / N_INUSEBITS;
    +	idx = start / N_INUSEBITS;
    +	start %= N_INUSEBITS;
    +	map = pmp->pm_inusemap[idx];
    +	map &= ~((1 << start) - 1);
    +	if (map) {
    +		len = ffs(map) - 1 - start;
    +		return (len > count ? count : len);
    +	}
    +	len = N_INUSEBITS - start;
    +	if (len >= count)
    +		return (count);
    +	while (++idx <= max_idx) {
    +		if (len >= count)
    +			break;
    +		if ((map = pmp->pm_inusemap[idx]) != 0) {
    +			len +=  ffs(map) - 1;
    +			break;
    +		}
    +		len += N_INUSEBITS;
    +	}
    +	return (len > count ? count : len);
    +}
    +
    +/*
    + * Allocate contigous free clusters.
    + *
    + * pmp	      - mount point.
    + * start      - start of cluster chain.
    + * count      - number of clusters to allocate.
    + * fillwith   - put this value into the FAT entry for the
    + *		last allocated cluster.
    + * retcluster - put the first allocated cluster's number here.
    + * got	      - how many clusters were actually allocated.
    + */
    +int
    +chainalloc(struct msdosfsmount *pmp, u_long start, u_long count, u_long fillwith, u_long *retcluster, u_long *got)
    +{
    +	int error;
    +	u_long cl, n;
    +
    +	for (cl = start, n = count; n-- > 0;)
    +		usemap_alloc(pmp, cl++);
    +	if ((error = fatchain(pmp, start, count, fillwith)) != 0)
    +		return (error);
    +
    +	DPRINTF(("%s(): allocated cluster chain at %lu (%lu clusters)\n",
    +	    __func__, start, count));
    +	if (retcluster)
    +		*retcluster = start;
    +	if (got)
    +		*got = count;
    +	return (0);
    +}
    +
    +/*
    + * Allocate contiguous free clusters.
    + *
    + * pmp	      - mount point.
    + * start      - preferred start of cluster chain.
    + * count      - number of clusters requested.
    + * fillwith   - put this value into the FAT entry for the
    + *		last allocated cluster.
    + * retcluster - put the first allocated cluster's number here.
    + * got	      - how many clusters were actually allocated.
    + */
    +int
    +clusteralloc(struct msdosfsmount *pmp, u_long start, u_long count, u_long *retcluster, u_long *got)
    +{
    +	u_long idx;
    +	u_long len, newst, foundl, cn, l;
    +	u_long foundcn = 0; /* XXX: foundcn could be used unititialized */
    +	u_long fillwith = CLUST_EOFE;
    +	u_int map;
    +
    +	DPRINTF(("%s(): find %lu clusters\n", __func__, count));
    +	if (start) {
    +		if ((len = chainlength(pmp, start, count)) >= count)
    +			return (chainalloc(pmp, start, count, fillwith, retcluster, got));
    +	} else {
    +		/*
    +		 * This is a new file, initialize start
    +		 */
    +		struct timeval tv;
    +
    +		microtime(&tv);
    +		start = (tv.tv_usec >> 10) | tv.tv_usec;
    +		len = 0;
    +	}
    +
    +	/*
    +	 * Start at a (pseudo) random place to maximize cluster runs
    +	 * under multiple writers.
    +	 */
    +	newst = (start * 1103515245 + 12345) % (pmp->pm_maxcluster + 1);
    +	foundl = 0;
    +
    +	for (cn = newst; cn <= pmp->pm_maxcluster;) {
    +		idx = cn / N_INUSEBITS;
    +		map = pmp->pm_inusemap[idx];
    +		map |= (1 << (cn % N_INUSEBITS)) - 1;
    +		if (map != (u_int)-1) {
    +			cn = idx * N_INUSEBITS + ffs(map^(u_int)-1) - 1;
    +			if ((l = chainlength(pmp, cn, count)) >= count)
    +				return (chainalloc(pmp, cn, count, fillwith, retcluster, got));
    +			if (l > foundl) {
    +				foundcn = cn;
    +				foundl = l;
    +			}
    +			cn += l + 1;
    +			continue;
    +		}
    +		cn += N_INUSEBITS - cn % N_INUSEBITS;
    +	}
    +	for (cn = 0; cn < newst;) {
    +		idx = cn / N_INUSEBITS;
    +		map = pmp->pm_inusemap[idx];
    +		map |= (1 << (cn % N_INUSEBITS)) - 1;
    +		if (map != (u_int)-1) {
    +			cn = idx * N_INUSEBITS + ffs(map^(u_int)-1) - 1;
    +			if ((l = chainlength(pmp, cn, count)) >= count)
    +				return (chainalloc(pmp, cn, count, fillwith, retcluster, got));
    +			if (l > foundl) {
    +				foundcn = cn;
    +				foundl = l;
    +			}
    +			cn += l + 1;
    +			continue;
    +		}
    +		cn += N_INUSEBITS - cn % N_INUSEBITS;
    +	}
    +
    +	if (!foundl)
    +		return (ENOSPC);
    +
    +	if (len)
    +		return (chainalloc(pmp, start, len, fillwith, retcluster, got));
    +	else
    +		return (chainalloc(pmp, foundcn, foundl, fillwith, retcluster, got));
    +}
    +
    +
    +/*
    + * Free a chain of clusters.
    + *
    + * pmp		- address of the msdosfs mount structure for the filesystem
    + *		  containing the cluster chain to be freed.
    + * startcluster - number of the 1st cluster in the chain of clusters to be
    + *		  freed.
    + */
    +int
    +freeclusterchain(struct msdosfsmount *pmp, u_long cluster)
    +{
    +	int error;
    +	struct buf *bp = NULL;
    +	u_long bn, bo, bsize, byteoffset;
    +	u_long readcn, lbn = -1;
    +
    +	while (cluster >= CLUST_FIRST && cluster <= pmp->pm_maxcluster) {
    +		byteoffset = FATOFS(pmp, cluster);
    +		fatblock(pmp, byteoffset, &bn, &bsize, &bo);
    +		if (lbn != bn) {
    +			if (bp)
    +				updatefats(pmp, bp, lbn);
    +			error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), bsize,
    +			    NOCRED, B_MODIFY, &bp);
    +			if (error) {
    +				return (error);
    +			}
    +			lbn = bn;
    +		}
    +		usemap_free(pmp, cluster);
    +		KASSERT(bp != NULL);
    +		switch (pmp->pm_fatmask) {
    +		case FAT12_MASK:
    +			readcn = getushort((char *)bp->b_data + bo);
    +			if (cluster & 1) {
    +				cluster = readcn >> 4;
    +				readcn &= 0x000f;
    +				readcn |= MSDOSFSFREE << 4;
    +			} else {
    +				cluster = readcn;
    +				readcn &= 0xf000;
    +				readcn |= MSDOSFSFREE & 0xfff;
    +			}
    +			putushort((char *)bp->b_data + bo, readcn);
    +			break;
    +		case FAT16_MASK:
    +			cluster = getushort((char *)bp->b_data + bo);
    +			putushort((char *)bp->b_data + bo, MSDOSFSFREE);
    +			break;
    +		case FAT32_MASK:
    +			cluster = getulong((char *)bp->b_data + bo);
    +			putulong((char *)bp->b_data + bo,
    +				 (MSDOSFSFREE & FAT32_MASK) | (cluster & ~FAT32_MASK));
    +			break;
    +		}
    +		cluster &= pmp->pm_fatmask;
    +	}
    +	if (bp)
    +		updatefats(pmp, bp, bn);
    +	return (0);
    +}
    +
    +/*
    + * Read in FAT blocks looking for free clusters. For every free cluster
    + * found turn off its corresponding bit in the pm_inusemap.
    + */
    +int
    +fillinusemap(struct msdosfsmount *pmp)
    +{
    +	struct buf *bp = NULL;
    +	u_long cn, readcn;
    +	int error;
    +	u_long bn, bo, bsize, byteoffset;
    +
    +	/*
    +	 * Mark all clusters in use, we mark the free ones in the FAT scan
    +	 * loop further down.
    +	 */
    +	for (cn = 0; cn < (pmp->pm_maxcluster + N_INUSEBITS) / N_INUSEBITS; cn++)
    +		pmp->pm_inusemap[cn] = (u_int)-1;
    +
    +	/*
    +	 * Figure how many free clusters are in the filesystem by ripping
    +	 * through the FAT counting the number of entries whose content is
    +	 * zero.  These represent free clusters.
    +	 */
    +	pmp->pm_freeclustercount = 0;
    +	for (cn = CLUST_FIRST; cn <= pmp->pm_maxcluster; cn++) {
    +		byteoffset = FATOFS(pmp, cn);
    +		bo = byteoffset % pmp->pm_fatblocksize;
    +		if (!bo || !bp) {
    +			/* Read new FAT block */
    +			if (bp)
    +				brelse(bp, 0);
    +			fatblock(pmp, byteoffset, &bn, &bsize, NULL);
    +			error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), bsize,
    +			    NOCRED, 0, &bp);
    +			if (error) {
    +				return (error);
    +			}
    +		}
    +		if (FAT32(pmp))
    +			readcn = getulong((char *)bp->b_data + bo);
    +		else
    +			readcn = getushort((char *)bp->b_data + bo);
    +		if (FAT12(pmp) && (cn & 1))
    +			readcn >>= 4;
    +		readcn &= pmp->pm_fatmask;
    +
    +		if (readcn == 0)
    +			usemap_free(pmp, cn);
    +	}
    +	if (bp)
    +		brelse(bp, 0);
    +	return (0);
    +}
    +
    +/*
    + * Allocate a new cluster and chain it onto the end of the file.
    + *
    + * dep	 - the file to extend
    + * count - number of clusters to allocate
    + * bpp	 - where to return the address of the buf header for the first new
    + *	   file block
    + * ncp	 - where to put cluster number of the first newly allocated cluster
    + *	   If this pointer is 0, do not return the cluster number.
    + * flags - see fat.h
    + *
    + * NOTE: This function is not responsible for turning on the DE_UPDATE bit of
    + * the de_flag field of the denode and it does not change the de_FileSize
    + * field.  This is left for the caller to do.
    + */
    +
    +int
    +extendfile(struct denode *dep, u_long count, struct buf **bpp, u_long *ncp, int flags)
    +{
    +	int error;
    +	u_long frcn = 0, cn, got;
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct buf *bp;
    +
    +	/*
    +	 * Don't try to extend the root directory
    +	 */
    +	if (dep->de_StartCluster == MSDOSFSROOT
    +	    && (dep->de_Attributes & ATTR_DIRECTORY)) {
    +		DPRINTF(("%s(): attempt to extend root directory\n", __func__));
    +		return (ENOSPC);
    +	}
    +
    +	/*
    +	 * If the "file's last cluster" cache entry is empty, and the file
    +	 * is not empty, then fill the cache entry by calling pcbmap().
    +	 */
    +	fc_fileextends++;
    +	if (dep->de_fc[FC_LASTFC].fc_frcn == FCE_EMPTY &&
    +	    dep->de_StartCluster != 0) {
    +		fc_lfcempty++;
    +		error = pcbmap(dep, CLUST_END, 0, &cn, 0);
    +		/* we expect it to return E2BIG */
    +		if (error != E2BIG)
    +			return (error);
    +	}
    +
    +	fc_last_to_nexttolast(dep);
    +
    +	while (count > 0) {
    +
    +		/*
    +		 * Allocate a new cluster chain and cat onto the end of the
    +		 * file.  If the file is empty we make de_StartCluster point
    +		 * to the new block.  Note that de_StartCluster being 0 is
    +		 * sufficient to be sure the file is empty since we exclude
    +		 * attempts to extend the root directory above, and the root
    +		 * dir is the only file with a startcluster of 0 that has
    +		 * blocks allocated (sort of).
    +		 */
    +
    +		if (dep->de_StartCluster == 0)
    +			cn = 0;
    +		else
    +			cn = dep->de_fc[FC_LASTFC].fc_fsrcn + 1;
    +		error = clusteralloc(pmp, cn, count, &cn, &got);
    +		if (error)
    +			return (error);
    +
    +		count -= got;
    +
    +		/*
    +		 * Give them the filesystem relative cluster number if they want
    +		 * it.
    +		 */
    +		if (ncp) {
    +			*ncp = cn;
    +			ncp = NULL;
    +		}
    +
    +		if (dep->de_StartCluster == 0) {
    +			dep->de_StartCluster = cn;
    +			frcn = 0;
    +		} else {
    +			error = fatentry(FAT_SET, pmp,
    +					 dep->de_fc[FC_LASTFC].fc_fsrcn,
    +					 0, cn);
    +			if (error) {
    +				clusterfree(pmp, cn, NULL);
    +				return (error);
    +			}
    +			frcn = dep->de_fc[FC_LASTFC].fc_frcn + 1;
    +		}
    +
    +		/*
    +		 * Update the "last cluster of the file" entry in the
    +		 * denode's FAT cache.
    +		 */
    +
    +		fc_setcache(dep, FC_LASTFC, frcn + got - 1, cn + got - 1);
    +		if ((flags & DE_CLEAR) &&
    +		    (dep->de_Attributes & ATTR_DIRECTORY)) {
    +			while (got-- > 0) {
    +				bp = getblk(pmp->pm_devvp,
    +				    de_bn2kb(pmp, cntobn(pmp, cn++)),
    +				    pmp->pm_bpcluster, 0, 0);
    +				clrbuf(bp);
    +				if (bpp) {
    +					*bpp = bp;
    +						bpp = NULL;
    +				} else {
    +					bdwrite(bp);
    +				}
    +			}
    +		}
    +	}
    +
    +	return (0);
    +}
    diff --git a/sys/fs/msdosfs/msdosfs_lookup.c b/sys/fs/msdosfs/msdosfs_lookup.c
    new file mode 100644
    index 000000000..2d4e0945c
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfs_lookup.c
    @@ -0,0 +1,1171 @@
    +/*	$NetBSD: msdosfs_lookup.c,v 1.29 2013/01/26 16:51:51 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#if HAVE_NBTOOL_CONFIG_H
    +#include "nbtool_config.h"
    +#endif
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: msdosfs_lookup.c,v 1.29 2013/01/26 16:51:51 christos Exp $");
    +
    +#include 
    +
    +#ifdef _KERNEL
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#else
    +#include 
    +#endif /* _KERNEL */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +
    +#ifdef _KERNEL
    +/*
    + * When we search a directory the blocks containing directory entries are
    + * read and examined.  The directory entries contain information that would
    + * normally be in the inode of a unix filesystem.  This means that some of
    + * a directory's contents may also be in memory resident denodes (sort of
    + * an inode).  This can cause problems if we are searching while some other
    + * process is modifying a directory.  To prevent one process from accessing
    + * incompletely modified directory information we depend upon being the
    + * sole owner of a directory block.  bread/brelse provide this service.
    + * This being the case, when a process modifies a directory it must first
    + * acquire the disk block that contains the directory entry to be modified.
    + * Then update the disk block and the denode, and then write the disk block
    + * out to disk.  This way disk blocks containing directory entries and in
    + * memory denode's will be in synch.
    + */
    +int
    +msdosfs_lookup(void *v)
    +{
    +	struct vop_lookup_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	struct vnode *vdp = ap->a_dvp;
    +	struct vnode **vpp = ap->a_vpp;
    +	struct componentname *cnp = ap->a_cnp;
    +	daddr_t bn;
    +	int error;
    +	int slotcount;
    +	int slotoffset = 0;
    +	int frcn;
    +	u_long cluster;
    +	int blkoff;
    +	int diroff;
    +	int blsize;
    +	int isadir;		/* ~0 if found direntry is a directory	 */
    +	u_long scn;		/* starting cluster number		 */
    +	struct vnode *pdp;
    +	struct denode *dp;
    +	struct denode *tdp;
    +	struct msdosfsmount *pmp;
    +	struct buf *bp = 0;
    +	struct direntry *dep;
    +	u_char dosfilename[12];
    +	int flags;
    +	int nameiop = cnp->cn_nameiop;
    +	int wincnt = 1;
    +	int chksum = -1, chksum_ok;
    +	int olddos = 1;
    +
    +	flags = cnp->cn_flags;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_lookup(): looking for %.*s\n",
    +		(int)cnp->cn_namelen, cnp->cn_nameptr);
    +#endif
    +	dp = VTODE(vdp);
    +	pmp = dp->de_pmp;
    +	*vpp = NULL;
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_lookup(): vdp %p, dp %p, Attr %02x\n",
    +	    vdp, dp, dp->de_Attributes);
    +#endif
    +
    +	/*
    +	 * Check accessiblity of directory.
    +	 */
    +	if ((error = VOP_ACCESS(vdp, VEXEC, cnp->cn_cred)) != 0)
    +		return (error);
    +
    +	if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
    +	    (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME))
    +		return (EROFS);
    +
    +	/*
    +	 * We now have a segment name to search for, and a directory to search.
    +	 *
    +	 * Before tediously performing a linear scan of the directory,
    +	 * check the name cache to see if the directory/name pair
    +	 * we are looking for is known already.
    +	 */
    +	if (cache_lookup(vdp, cnp->cn_nameptr, cnp->cn_namelen,
    +			 cnp->cn_nameiop, cnp->cn_flags, NULL, vpp)) {
    +		return *vpp == NULLVP ? ENOENT: 0;
    +	}
    +
    +	/*
    +	 * If they are going after the . or .. entry in the root directory,
    +	 * they won't find it.  DOS filesystems don't have them in the root
    +	 * directory.  So, we fake it. deget() is in on this scam too.
    +	 */
    +	if ((vdp->v_vflag & VV_ROOT) && cnp->cn_nameptr[0] == '.' &&
    +	    (cnp->cn_namelen == 1 ||
    +		(cnp->cn_namelen == 2 && cnp->cn_nameptr[1] == '.'))) {
    +		isadir = ATTR_DIRECTORY;
    +		scn = MSDOSFSROOT;
    +#ifdef MSDOSFS_DEBUG
    +		printf("msdosfs_lookup(): looking for . or .. in root directory\n");
    +#endif
    +		cluster = MSDOSFSROOT;
    +		blkoff = MSDOSFSROOT_OFS;
    +		goto foundroot;
    +	}
    +
    +	switch (unix2dosfn((const u_char *)cnp->cn_nameptr, dosfilename,
    +	    cnp->cn_namelen, 0)) {
    +	case 0:
    +		return (EINVAL);
    +	case 1:
    +		break;
    +	case 2:
    +		wincnt = winSlotCnt((const u_char *)cnp->cn_nameptr,
    +		    cnp->cn_namelen) + 1;
    +		break;
    +	case 3:
    +		olddos = 0;
    +		wincnt = winSlotCnt((const u_char *)cnp->cn_nameptr,
    +		    cnp->cn_namelen) + 1;
    +		break;
    +	}
    +	if (pmp->pm_flags & MSDOSFSMNT_SHORTNAME)
    +		wincnt = 1;
    +
    +	/*
    +	 * Suppress search for slots unless creating
    +	 * file and at end of pathname, in which case
    +	 * we watch for a place to put the new file in
    +	 * case it doesn't already exist.
    +	 */
    +	slotcount = wincnt;
    +	if ((nameiop == CREATE || nameiop == RENAME) &&
    +	    (flags & ISLASTCN))
    +		slotcount = 0;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_lookup(): dos filename: %s\n", dosfilename);
    +#endif
    +	/*
    +	 * Search the directory pointed at by vdp for the name pointed at
    +	 * by cnp->cn_nameptr.
    +	 */
    +	tdp = NULL;
    +	/*
    +	 * The outer loop ranges over the clusters that make up the
    +	 * directory.  Note that the root directory is different from all
    +	 * other directories.  It has a fixed number of blocks that are not
    +	 * part of the pool of allocatable clusters.  So, we treat it a
    +	 * little differently. The root directory starts at "cluster" 0.
    +	 */
    +	diroff = 0;
    +	for (frcn = 0; diroff < dp->de_FileSize; frcn++) {
    +		if ((error = pcbmap(dp, frcn, &bn, &cluster, &blsize)) != 0) {
    +			if (error == E2BIG)
    +				break;
    +			return (error);
    +		}
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +		    0, &bp);
    +		if (error) {
    +			return (error);
    +		}
    +		for (blkoff = 0; blkoff < blsize;
    +		     blkoff += sizeof(struct direntry),
    +		     diroff += sizeof(struct direntry)) {
    +			dep = (struct direntry *)((char *)bp->b_data + blkoff);
    +			/*
    +			 * If the slot is empty and we are still looking
    +			 * for an empty then remember this one.  If the
    +			 * slot is not empty then check to see if it
    +			 * matches what we are looking for.  If the slot
    +			 * has never been filled with anything, then the
    +			 * remainder of the directory has never been used,
    +			 * so there is no point in searching it.
    +			 */
    +			if (dep->deName[0] == SLOT_EMPTY ||
    +			    dep->deName[0] == SLOT_DELETED) {
    +				/*
    +				 * Drop memory of previous long matches
    +				 */
    +				chksum = -1;
    +
    +				if (slotcount < wincnt) {
    +					slotcount++;
    +					slotoffset = diroff;
    +				}
    +				if (dep->deName[0] == SLOT_EMPTY) {
    +					brelse(bp, 0);
    +					goto notfound;
    +				}
    +			} else {
    +				/*
    +				 * If there wasn't enough space for our
    +				 * winentries, forget about the empty space
    +				 */
    +				if (slotcount < wincnt)
    +					slotcount = 0;
    +
    +				/*
    +				 * Check for Win95 long filename entry
    +				 */
    +				if (dep->deAttributes == ATTR_WIN95) {
    +					if (pmp->pm_flags & MSDOSFSMNT_SHORTNAME)
    +						continue;
    +
    +					chksum = winChkName((const u_char *)cnp->cn_nameptr,
    +							    cnp->cn_namelen,
    +							    (struct winentry *)dep,
    +							    chksum);
    +					continue;
    +				}
    +
    +				/*
    +				 * Ignore volume labels (anywhere, not just
    +				 * the root directory).
    +				 */
    +				if (dep->deAttributes & ATTR_VOLUME) {
    +					chksum = -1;
    +					continue;
    +				}
    +
    +				/*
    +				 * Check for a checksum or name match
    +				 */
    +				chksum_ok = (chksum == winChksum(dep->deName));
    +				if (!chksum_ok
    +				    && (!olddos || memcmp(dosfilename, dep->deName, 11))) {
    +					chksum = -1;
    +					continue;
    +				}
    +#ifdef MSDOSFS_DEBUG
    +				printf("msdosfs_lookup(): match blkoff %d, diroff %d\n",
    +				    blkoff, diroff);
    +#endif
    +				/*
    +				 * Remember where this directory
    +				 * entry came from for whoever did
    +				 * this lookup.
    +				 */
    +				dp->de_fndoffset = diroff;
    +				if (chksum_ok && nameiop == RENAME) {
    +					/*
    +					 * Target had correct long name
    +					 * directory entries, reuse them
    +					 * as needed.
    +					 */
    +					dp->de_fndcnt = wincnt - 1;
    +				} else {
    +					/*
    +					 * Long name directory entries
    +					 * not present or corrupt, can only
    +					 * reuse dos directory entry.
    +					 */
    +					dp->de_fndcnt = 0;
    +				}
    +
    +				goto found;
    +			}
    +		}	/* for (blkoff = 0; .... */
    +		/*
    +		 * Release the buffer holding the directory cluster just
    +		 * searched.
    +		 */
    +		brelse(bp, 0);
    +	}	/* for (frcn = 0; ; frcn++) */
    +
    +notfound:
    +	/*
    +	 * We hold no disk buffers at this point.
    +	 */
    +
    +	/*
    +	 * If we get here we didn't find the entry we were looking for. But
    +	 * that's ok if we are creating or renaming and are at the end of
    +	 * the pathname and the directory hasn't been removed.
    +	 */
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_lookup(): op %d, refcnt %ld, slotcount %d, slotoffset %d\n",
    +	    nameiop, dp->de_refcnt, slotcount, slotoffset);
    +#endif
    +	if ((nameiop == CREATE || nameiop == RENAME) &&
    +	    (flags & ISLASTCN) && dp->de_refcnt != 0) {
    +		/*
    +		 * Access for write is interpreted as allowing
    +		 * creation of files in the directory.
    +		 */
    +		error = VOP_ACCESS(vdp, VWRITE, cnp->cn_cred);
    +		if (error)
    +			return (error);
    +
    +		/*
    +		 * Fixup the slot description to point to the place where
    +		 * we might put the new DOS direntry (putting the Win95
    +		 * long name entries before that)
    +		 */
    +		if (!slotcount) {
    +			slotcount = 1;
    +			slotoffset = diroff;
    +		}
    +		if (wincnt > slotcount) {
    +			slotoffset +=
    +				sizeof(struct direntry) * (wincnt - slotcount);
    +		}
    +
    +		/*
    +		 * Return an indication of where the new directory
    +		 * entry should be put.
    +		 */
    +		dp->de_fndoffset = slotoffset;
    +		dp->de_fndcnt = wincnt - 1;
    +
    +		/*
    +		 * We return with the directory locked, so that
    +		 * the parameters we set up above will still be
    +		 * valid if we actually decide to do a direnter().
    +		 * We return ni_vp == NULL to indicate that the entry
    +		 * does not currently exist; we leave a pointer to
    +		 * the (locked) directory inode in ndp->ni_dvp.
    +		 *
    +		 * NB - if the directory is unlocked, then this
    +		 * information cannot be used.
    +		 */
    +		return (EJUSTRETURN);
    +	}
    +
    +#if 0
    +	/*
    +	 * Insert name into cache (as non-existent) if appropriate.
    +	 *
    +	 * XXX Negative caching is broken for msdosfs because the name
    +	 * cache doesn't understand peculiarities such as case insensitivity
    +	 * and 8.3 filenames.  Hence, it may not invalidate all negative
    +	 * entries if a file with this name is later created.
    +	 * e.g. creating a file 'foo' won't invalidate a negative entry 
    +	 * for 'FOO'.
    +	 */
    +	if (nameiop != CREATE)
    +		cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +#endif
    +
    +	return (ENOENT);
    +
    +found:
    +	/*
    +	 * NOTE:  We still have the buffer with matched directory entry at
    +	 * this point.
    +	 */
    +	isadir = dep->deAttributes & ATTR_DIRECTORY;
    +	scn = getushort(dep->deStartCluster);
    +	if (FAT32(pmp)) {
    +		scn |= getushort(dep->deHighClust) << 16;
    +		if (scn == pmp->pm_rootdirblk) {
    +			/*
    +			 * There should actually be 0 here.
    +			 * Just ignore the error.
    +			 */
    +			scn = MSDOSFSROOT;
    +		}
    +	}
    +
    +	if (isadir) {
    +		cluster = scn;
    +		if (cluster == MSDOSFSROOT)
    +			blkoff = MSDOSFSROOT_OFS;
    +		else
    +			blkoff = 0;
    +	} else if (cluster == MSDOSFSROOT)
    +		blkoff = diroff;
    +
    +	/*
    +	 * Now release buf to allow deget to read the entry again.
    +	 * Reserving it here and giving it to deget could result
    +	 * in a deadlock.
    +	 */
    +	brelse(bp, 0);
    +
    +foundroot:
    +	/*
    +	 * If we entered at foundroot, then we are looking for the . or ..
    +	 * entry of the filesystems root directory.  isadir and scn were
    +	 * setup before jumping here.  And, bp is already null.
    +	 */
    +	if (FAT32(pmp) && scn == MSDOSFSROOT)
    +		scn = pmp->pm_rootdirblk;
    +
    +	/*
    +	 * If deleting, and at end of pathname, return
    +	 * parameters which can be used to remove file.
    +	 * Lock the inode, being careful with ".".
    +	 */
    +	if (nameiop == DELETE && (flags & ISLASTCN)) {
    +		/*
    +		 * Don't allow deleting the root.
    +		 */
    +		if (blkoff == MSDOSFSROOT_OFS)
    +			return EINVAL;
    +
    +		/*
    +		 * Write access to directory required to delete files.
    +		 */
    +		error = VOP_ACCESS(vdp, VWRITE, cnp->cn_cred);
    +		if (error)
    +			return (error);
    +
    +		/*
    +		 * Return pointer to current entry in dp->i_offset.
    +		 * Save directory inode pointer in ndp->ni_dvp for dirremove().
    +		 */
    +		if (dp->de_StartCluster == scn && isadir) {	/* "." */
    +			vref(vdp);
    +			*vpp = vdp;
    +			return (0);
    +		}
    +		if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0)
    +			return (error);
    +		*vpp = DETOV(tdp);
    +		return (0);
    +	}
    +
    +	/*
    +	 * If rewriting (RENAME), return the inode and the
    +	 * information required to rewrite the present directory
    +	 * Must get inode of directory entry to verify it's a
    +	 * regular file, or empty directory.
    +	 */
    +	if (nameiop == RENAME && (flags & ISLASTCN)) {
    +
    +		if (vdp->v_mount->mnt_flag & MNT_RDONLY)
    +			return (EROFS);
    +
    +		if (blkoff == MSDOSFSROOT_OFS)
    +			return EINVAL;
    +
    +		error = VOP_ACCESS(vdp, VWRITE, cnp->cn_cred);
    +		if (error)
    +			return (error);
    +
    +		/*
    +		 * Careful about locking second inode.
    +		 * This can only occur if the target is ".".
    +		 */
    +		if (dp->de_StartCluster == scn && isadir)
    +			return (EISDIR);
    +
    +		if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0)
    +			return (error);
    +		*vpp = DETOV(tdp);
    +		return (0);
    +	}
    +
    +	/*
    +	 * Step through the translation in the name.  We do not `vput' the
    +	 * directory because we may need it again if a symbolic link
    +	 * is relative to the current directory.  Instead we save it
    +	 * unlocked as "pdp".  We must get the target inode before unlocking
    +	 * the directory to insure that the inode will not be removed
    +	 * before we get it.  We prevent deadlock by always fetching
    +	 * inodes from the root, moving down the directory tree. Thus
    +	 * when following backward pointers ".." we must unlock the
    +	 * parent directory before getting the requested directory.
    +	 * There is a potential race condition here if both the current
    +	 * and parent directories are removed before the VFS_VGET for the
    +	 * inode associated with ".." returns.  We hope that this occurs
    +	 * infrequently since we cannot avoid this race condition without
    +	 * implementing a sophisticated deadlock detection algorithm.
    +	 * Note also that this simple deadlock detection scheme will not
    +	 * work if the file system has any hard links other than ".."
    +	 * that point backwards in the directory structure.
    +	 */
    +	pdp = vdp;
    +	if (flags & ISDOTDOT) {
    +		VOP_UNLOCK(pdp);	/* race to get the inode */
    +		error = deget(pmp, cluster, blkoff, &tdp);
    +		vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY);
    +		if (error) {
    +			return error;
    +		}
    +		*vpp = DETOV(tdp);
    +	} else if (dp->de_StartCluster == scn && isadir) {
    +		vref(vdp);	/* we want ourself, ie "." */
    +		*vpp = vdp;
    +	} else {
    +		if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0)
    +			return (error);
    +		*vpp = DETOV(tdp);
    +	}
    +
    +	/*
    +	 * Insert name into cache if appropriate.
    +	 */
    +	cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
    +
    +	return 0;
    +}
    +#endif /* _KERNEL */
    +
    +/*
    + * dep  - directory entry to copy into the directory
    + * ddep - directory to add to
    + * depp - return the address of the denode for the created directory entry
    + *	  if depp != 0
    + * cnp  - componentname needed for Win95 long filenames
    + */
    +int
    +createde(struct denode *dep, struct denode *ddep, struct denode **depp, struct componentname *cnp)
    +{
    +	int error, rberror;
    +	u_long dirclust, clusoffset;
    +	u_long fndoffset, havecnt = 0, wcnt = 1, i;
    +	struct direntry *ndep;
    +	struct msdosfsmount *pmp = ddep->de_pmp;
    +	struct buf *bp;
    +	daddr_t bn;
    +	int blsize;
    +#ifdef _KERNEL
    +	int async = ddep->de_pmp->pm_mountp->mnt_flag & MNT_ASYNC;
    +#else
    +#define async 0
    +#endif
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("createde(dep %p, ddep %p, depp %p, cnp %p)\n",
    +	    dep, ddep, depp, cnp);
    +#endif
    +
    +	/*
    +	 * If no space left in the directory then allocate another cluster
    +	 * and chain it onto the end of the file.  There is one exception
    +	 * to this.  That is, if the root directory has no more space it
    +	 * can NOT be expanded.  extendfile() checks for and fails attempts
    +	 * to extend the root directory.  We just return an error in that
    +	 * case.
    +	 */
    +	if (ddep->de_fndoffset >= ddep->de_FileSize) {
    +		u_long needlen = ddep->de_fndoffset + sizeof(struct direntry)
    +		    - ddep->de_FileSize;
    +		dirclust = de_clcount(pmp, needlen);
    +		if ((error = extendfile(ddep, dirclust, 0, 0, DE_CLEAR)) != 0) {
    +			(void)detrunc(ddep, ddep->de_FileSize, 0, NOCRED);
    +			goto err_norollback;
    +		}
    +
    +		/*
    +		 * Update the size of the directory
    +		 */
    +		ddep->de_FileSize += de_cn2off(pmp, dirclust);
    +	}
    +
    +	/*
    +	 * We just read in the cluster with space.  Copy the new directory
    +	 * entry in.  Then write it to disk. NOTE:  DOS directories
    +	 * do not get smaller as clusters are emptied.
    +	 */
    +	error = pcbmap(ddep, de_cluster(pmp, ddep->de_fndoffset),
    +		       &bn, &dirclust, &blsize);
    +	if (error)
    +		goto err_norollback;
    +	clusoffset = ddep->de_fndoffset;
    +	if (dirclust != MSDOSFSROOT)
    +		clusoffset &= pmp->pm_crbomask;
    +	if ((error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +	    B_MODIFY, &bp)) != 0) {
    +		goto err_norollback;
    +	}
    +	ndep = bptoep(pmp, bp, clusoffset);
    +
    +	DE_EXTERNALIZE(ndep, dep);
    +
    +	/*
    +	 * Now write the Win95 long name
    +	 */
    +	if (ddep->de_fndcnt > 0) {
    +		u_int8_t chksum = winChksum(ndep->deName);
    +		const u_char *un = (const u_char *)cnp->cn_nameptr;
    +		int unlen = cnp->cn_namelen;
    +		u_long xhavecnt;
    +
    +		fndoffset = ddep->de_fndoffset;
    +		xhavecnt = ddep->de_fndcnt + 1;
    +
    +		for(; wcnt < xhavecnt; wcnt++) {
    +			if ((fndoffset & pmp->pm_crbomask) == 0) {
    +				/* we should never get here if ddep is root
    +				 * directory */
    +
    +				if (async)
    +					(void) bdwrite(bp);
    +				else if ((error = bwrite(bp)) != 0)
    +					goto rollback;
    +
    +				fndoffset -= sizeof(struct direntry);
    +				error = pcbmap(ddep,
    +					       de_cluster(pmp, fndoffset),
    +					       &bn, 0, &blsize);
    +				if (error)
    +					goto rollback;
    +
    +				error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn),
    +				    blsize, NOCRED, B_MODIFY, &bp);
    +				if (error) {
    +					goto rollback;
    +				}
    +				ndep = bptoep(pmp, bp,
    +						fndoffset & pmp->pm_crbomask);
    +			} else {
    +				ndep--;
    +				fndoffset -= sizeof(struct direntry);
    +			}
    +			if (!unix2winfn(un, unlen, (struct winentry *)ndep,
    +						wcnt, chksum))
    +				break;
    +		}
    +	}
    +
    +	if (async)
    +		bdwrite(bp);
    +	else if ((error = bwrite(bp)) != 0)
    +		goto rollback;
    +
    +	/*
    +	 * If they want us to return with the denode gotten.
    +	 */
    +	if (depp) {
    +		u_long diroffset = clusoffset;
    +		if (dep->de_Attributes & ATTR_DIRECTORY) {
    +			dirclust = dep->de_StartCluster;
    +			if (FAT32(pmp) && dirclust == pmp->pm_rootdirblk)
    +				dirclust = MSDOSFSROOT;
    +			if (dirclust == MSDOSFSROOT)
    +				diroffset = MSDOSFSROOT_OFS;
    +			else
    +				diroffset = 0;
    +		}
    +		return deget(pmp, dirclust, diroffset, depp);
    +	}
    +
    +	return 0;
    +
    +    rollback:
    +	/*
    +	 * Mark all slots modified so far as deleted. Note that we
    +	 * can't just call removede(), since directory is not in
    +	 * consistent state.
    +	 */
    +	fndoffset = ddep->de_fndoffset;
    +	rberror = pcbmap(ddep, de_cluster(pmp, fndoffset),
    +	       &bn, NULL, &blsize);
    +	if (rberror)
    +		goto err_norollback;
    +	if ((rberror = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +	    B_MODIFY, &bp)) != 0) {
    +		goto err_norollback;
    +	}
    +	ndep = bptoep(pmp, bp, clusoffset);
    +
    +	havecnt = ddep->de_fndcnt + 1;
    +	for(i = wcnt; i <= havecnt; i++) {
    +		/* mark entry as deleted */
    +		ndep->deName[0] = SLOT_DELETED;
    +
    +		if ((fndoffset & pmp->pm_crbomask) == 0) {
    +			/* we should never get here if ddep is root
    +			 * directory */
    +
    +			if (async)
    +				bdwrite(bp);
    +			else if ((rberror = bwrite(bp)) != 0)
    +				goto err_norollback;
    +
    +			fndoffset -= sizeof(struct direntry);
    +			rberror = pcbmap(ddep,
    +				       de_cluster(pmp, fndoffset),
    +				       &bn, 0, &blsize);
    +			if (rberror)
    +				goto err_norollback;
    +
    +			rberror = bread(pmp->pm_devvp, de_bn2kb(pmp, bn),
    +			    blsize, NOCRED, B_MODIFY, &bp);
    +			if (rberror) {
    +				goto err_norollback;
    +			}
    +			ndep = bptoep(pmp, bp, fndoffset);
    +		} else {
    +			ndep--;
    +			fndoffset -= sizeof(struct direntry);
    +		}
    +	}
    +
    +	/* ignore any further error */
    +	if (async)
    +		(void) bdwrite(bp);
    +	else
    +		(void) bwrite(bp);
    +
    +    err_norollback:
    +	return error;
    +}
    +
    +/*
    + * Be sure a directory is empty except for "." and "..". Return 1 if empty,
    + * return 0 if not empty or error.
    + */
    +int
    +dosdirempty(struct denode *dep)
    +{
    +	int blsize;
    +	int error;
    +	u_long cn;
    +	daddr_t bn;
    +	struct buf *bp;
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct direntry *dentp;
    +
    +	/*
    +	 * Since the filesize field in directory entries for a directory is
    +	 * zero, we just have to feel our way through the directory until
    +	 * we hit end of file.
    +	 */
    +	for (cn = 0;; cn++) {
    +		if ((error = pcbmap(dep, cn, &bn, 0, &blsize)) != 0) {
    +			if (error == E2BIG)
    +				return (1);	/* it's empty */
    +			return (0);
    +		}
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +		    0, &bp);
    +		if (error) {
    +			return (0);
    +		}
    +		for (dentp = (struct direntry *)bp->b_data;
    +		     (char *)dentp < (char *)bp->b_data + blsize;
    +		     dentp++) {
    +			if (dentp->deName[0] != SLOT_DELETED &&
    +			    (dentp->deAttributes & ATTR_VOLUME) == 0) {
    +				/*
    +				 * In dos directories an entry whose name
    +				 * starts with SLOT_EMPTY (0) starts the
    +				 * beginning of the unused part of the
    +				 * directory, so we can just return that it
    +				 * is empty.
    +				 */
    +				if (dentp->deName[0] == SLOT_EMPTY) {
    +					brelse(bp, 0);
    +					return (1);
    +				}
    +				/*
    +				 * Any names other than "." and ".." in a
    +				 * directory mean it is not empty.
    +				 */
    +				if (memcmp(dentp->deName, ".          ", 11) &&
    +				    memcmp(dentp->deName, "..         ", 11)) {
    +					brelse(bp, 0);
    +#ifdef MSDOSFS_DEBUG
    +					printf("dosdirempty(): found %.11s, %d, %d\n",
    +					    dentp->deName, dentp->deName[0],
    +						dentp->deName[1]);
    +#endif
    +					return (0);	/* not empty */
    +				}
    +			}
    +		}
    +		brelse(bp, 0);
    +	}
    +	/* NOTREACHED */
    +}
    +
    +/*
    + * Check to see if the directory described by target is in some
    + * subdirectory of source.  This prevents something like the following from
    + * succeeding and leaving a bunch or files and directories orphaned. mv
    + * /a/b/c /a/b/c/d/e/f Where c and f are directories.
    + *
    + * source - the inode for /a/b/c
    + * target - the inode for /a/b/c/d/e/f
    + *
    + * Returns 0 if target is NOT a subdirectory of source.
    + * Otherwise returns a non-zero error number.
    + * The target inode is always unlocked on return.
    + */
    +int
    +doscheckpath(struct denode *source, struct denode *target)
    +{
    +	u_long scn;
    +	struct msdosfsmount *pmp;
    +	struct direntry *ep;
    +	struct denode *dep;
    +	struct buf *bp = NULL;
    +	int error = 0;
    +
    +	dep = target;
    +	if ((target->de_Attributes & ATTR_DIRECTORY) == 0 ||
    +	    (source->de_Attributes & ATTR_DIRECTORY) == 0) {
    +		error = ENOTDIR;
    +		goto out;
    +	}
    +	if (dep->de_StartCluster == source->de_StartCluster) {
    +		error = EEXIST;
    +		goto out;
    +	}
    +	if (dep->de_StartCluster == MSDOSFSROOT)
    +		goto out;
    +	pmp = dep->de_pmp;
    +#ifdef	DIAGNOSTIC
    +	if (pmp != source->de_pmp)
    +		panic("doscheckpath: source and target on different filesystems");
    +#endif
    +	if (FAT32(pmp) && dep->de_StartCluster == pmp->pm_rootdirblk)
    +		goto out;
    +
    +	for (;;) {
    +		if ((dep->de_Attributes & ATTR_DIRECTORY) == 0) {
    +			error = ENOTDIR;
    +			break;
    +		}
    +		scn = dep->de_StartCluster;
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, cntobn(pmp, scn)),
    +			      pmp->pm_bpcluster, NOCRED, 0, &bp);
    +		if (error)
    +			break;
    +
    +		ep = (struct direntry *) bp->b_data + 1;
    +		if ((ep->deAttributes & ATTR_DIRECTORY) == 0 ||
    +		    memcmp(ep->deName, "..         ", 11) != 0) {
    +			error = ENOTDIR;
    +			break;
    +		}
    +		scn = getushort(ep->deStartCluster);
    +		if (FAT32(pmp))
    +			scn |= getushort(ep->deHighClust) << 16;
    +
    +		if (scn == source->de_StartCluster) {
    +			error = EINVAL;
    +			break;
    +		}
    +		if (scn == MSDOSFSROOT)
    +			break;
    +		if (FAT32(pmp) && scn == pmp->pm_rootdirblk) {
    +			/*
    +			 * scn should be 0 in this case,
    +			 * but we silently ignore the error.
    +			 */
    +			break;
    +		}
    +
    +		vput(DETOV(dep));
    +		brelse(bp, 0);
    +		bp = NULL;
    +		/* NOTE: deget() clears dep on error */
    +		if ((error = deget(pmp, scn, 0, &dep)) != 0)
    +			break;
    +	}
    +out:
    +	if (bp)
    +		brelse(bp, 0);
    +	if (error == ENOTDIR)
    +		printf("doscheckpath(): .. not a directory?\n");
    +	if (dep != NULL)
    +		vput(DETOV(dep));
    +	return (error);
    +}
    +
    +/*
    + * Read in the disk block containing the directory entry (dirclu, dirofs)
    + * and return the address of the buf header, and the address of the
    + * directory entry within the block.
    + */
    +int
    +readep(struct msdosfsmount *pmp, u_long dirclust, u_long diroffset, struct buf **bpp, struct direntry **epp)
    +{
    +	int error;
    +	daddr_t bn;
    +	int blsize;
    +
    +	blsize = pmp->pm_bpcluster;
    +	if (dirclust == MSDOSFSROOT
    +	    && de_blk(pmp, diroffset + blsize) > pmp->pm_rootdirsize)
    +		blsize = de_bn2off(pmp, pmp->pm_rootdirsize) & pmp->pm_crbomask;
    +	bn = detobn(pmp, dirclust, diroffset);
    +	if ((error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +	    0, bpp)) != 0) {
    +		*bpp = NULL;
    +		return (error);
    +	}
    +	if (epp)
    +		*epp = bptoep(pmp, *bpp, diroffset);
    +	return (0);
    +}
    +
    +/*
    + * Read in the disk block containing the directory entry dep came from and
    + * return the address of the buf header, and the address of the directory
    + * entry within the block.
    + */
    +int
    +readde(struct denode *dep, struct buf **bpp, struct direntry **epp)
    +{
    +	return (readep(dep->de_pmp, dep->de_dirclust, dep->de_diroffset,
    +			bpp, epp));
    +}
    +
    +/*
    + * Remove a directory entry. At this point the file represented by the
    + * directory entry to be removed is still full length until noone has it
    + * open.  When the file no longer being used msdosfs_inactive() is called
    + * and will truncate the file to 0 length.  When the vnode containing the
    + * denode is needed for some other purpose by VFS it will call
    + * msdosfs_reclaim() which will remove the denode from the denode cache.
    + */
    +int
    +removede(struct denode *pdep, struct denode *dep)
    +	/* pdep:	 directory where the entry is removed */
    +	/* dep:	 file to be removed */
    +{
    +	int error;
    +	struct direntry *ep;
    +	struct buf *bp;
    +	daddr_t bn;
    +	int blsize;
    +	struct msdosfsmount *pmp = pdep->de_pmp;
    +	u_long offset = pdep->de_fndoffset;
    +#ifdef _KERNEL
    +	int async = pdep->de_pmp->pm_mountp->mnt_flag & MNT_ASYNC;
    +#else
    +#define async 0
    +#endif
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("removede(): filename %s, dep %p, offset %08lx\n",
    +	    dep->de_Name, dep, offset);
    +#endif
    +
    +	dep->de_refcnt--;
    +	offset += sizeof(struct direntry);
    +	do {
    +		offset -= sizeof(struct direntry);
    +		error = pcbmap(pdep, de_cluster(pmp, offset), &bn, 0, &blsize);
    +		if (error)
    +			return error;
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +		    B_MODIFY, &bp);
    +		if (error) {
    +			return error;
    +		}
    +		ep = bptoep(pmp, bp, offset);
    +		/*
    +		 * Check whether, if we came here the second time, i.e.
    +		 * when underflowing into the previous block, the last
    +		 * entry in this block is a longfilename entry, too.
    +		 */
    +		if (ep->deAttributes != ATTR_WIN95
    +		    && offset != pdep->de_fndoffset) {
    +			brelse(bp, 0);
    +			break;
    +		}
    +		offset += sizeof(struct direntry);
    +		while (1) {
    +			/*
    +			 * We are a bit agressive here in that we delete any Win95
    +			 * entries preceding this entry, not just the ones we "own".
    +			 * Since these presumably aren't valid anyway,
    +			 * there should be no harm.
    +			 */
    +			offset -= sizeof(struct direntry);
    +			ep--->deName[0] = SLOT_DELETED;
    +			if ((pmp->pm_flags & MSDOSFSMNT_NOWIN95)
    +			    || !(offset & pmp->pm_crbomask)
    +			    || ep->deAttributes != ATTR_WIN95)
    +				break;
    +		}
    +		if (async)
    +			bdwrite(bp);
    +		else if ((error = bwrite(bp)) != 0)
    +			return error;
    +	} while (!(pmp->pm_flags & MSDOSFSMNT_NOWIN95)
    +	    && !(offset & pmp->pm_crbomask)
    +	    && offset);
    +	return 0;
    +}
    +
    +/*
    + * Create a unique DOS name in dvp
    + */
    +int
    +uniqdosname(struct denode *dep, struct componentname *cnp, u_char *cp)
    +{
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct direntry *dentp;
    +	int gen;
    +	int blsize;
    +	u_long cn;
    +	daddr_t bn;
    +	struct buf *bp;
    +	int error;
    +
    +	for (gen = 1;; gen++) {
    +		/*
    +		 * Generate DOS name with generation number
    +		 */
    +		if (!unix2dosfn((const u_char *)cnp->cn_nameptr, cp,
    +		    cnp->cn_namelen, gen))
    +			return gen == 1 ? EINVAL : EEXIST;
    +
    +		/*
    +		 * Now look for a dir entry with this exact name
    +		 */
    +		for (cn = error = 0; !error; cn++) {
    +			if ((error = pcbmap(dep, cn, &bn, 0, &blsize)) != 0) {
    +				if (error == E2BIG)	/* EOF reached and not found */
    +					return 0;
    +				return error;
    +			}
    +			error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize,
    +			    NOCRED, 0, &bp);
    +			if (error) {
    +				return error;
    +			}
    +			for (dentp = (struct direntry *)bp->b_data;
    +			     (char *)dentp < (char *)bp->b_data + blsize;
    +			     dentp++) {
    +				if (dentp->deName[0] == SLOT_EMPTY) {
    +					/*
    +					 * Last used entry and not found
    +					 */
    +					brelse(bp, 0);
    +					return 0;
    +				}
    +				/*
    +				 * Ignore volume labels and Win95 entries
    +				 */
    +				if (dentp->deAttributes & ATTR_VOLUME)
    +					continue;
    +				if (!memcmp(dentp->deName, cp, 11)) {
    +					error = EEXIST;
    +					break;
    +				}
    +			}
    +			brelse(bp, 0);
    +		}
    +	}
    +}
    +
    +/*
    + * Find any Win'95 long filename entry in directory dep
    + */
    +int
    +findwin95(struct denode *dep)
    +{
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct direntry *dentp;
    +	int blsize, win95;
    +	u_long cn;
    +	daddr_t bn;
    +	struct buf *bp;
    +
    +	win95 = 1;
    +	/*
    +	 * Read through the directory looking for Win'95 entries
    +	 * XXX Note: Error currently handled just as EOF
    +	 */
    +	for (cn = 0;; cn++) {
    +		if (pcbmap(dep, cn, &bn, 0, &blsize))
    +			return win95;
    +		if (bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize, NOCRED,
    +		    0, &bp)) {
    +			return win95;
    +		}
    +		for (dentp = (struct direntry *)bp->b_data;
    +		     (char *)dentp < (char *)bp->b_data + blsize;
    +		     dentp++) {
    +			if (dentp->deName[0] == SLOT_EMPTY) {
    +				/*
    +				 * Last used entry and not found
    +				 */
    +				brelse(bp, 0);
    +				return win95;
    +			}
    +			if (dentp->deName[0] == SLOT_DELETED) {
    +				/*
    +				 * Ignore deleted files
    +				 * Note: might be an indication of Win'95
    +				 * anyway	XXX
    +				 */
    +				continue;
    +			}
    +			if (dentp->deAttributes == ATTR_WIN95) {
    +				brelse(bp, 0);
    +				return 1;
    +			}
    +			win95 = 0;
    +		}
    +		brelse(bp, 0);
    +	}
    +}
    diff --git a/sys/fs/msdosfs/msdosfs_vfsops.c b/sys/fs/msdosfs/msdosfs_vfsops.c
    new file mode 100644
    index 000000000..c99328d27
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfs_vfsops.c
    @@ -0,0 +1,1112 @@
    +/*	$NetBSD: msdosfs_vfsops.c,v 1.103 2013/11/23 13:35:36 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.103 2013/11/23 13:35:36 christos Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_compat_netbsd.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include  /* XXX */	/* defines v_rdev */
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +MODULE(MODULE_CLASS_VFS, msdos, NULL);
    +
    +#ifdef MSDOSFS_DEBUG
    +#define DPRINTF(a) uprintf a
    +#else
    +#define DPRINTF(a)
    +#endif
    +
    +#define MSDOSFS_NAMEMAX(pmp) \
    +	(pmp)->pm_flags & MSDOSFSMNT_LONGNAME ? WIN_MAXLEN : 12
    +
    +VFS_PROTOS(msdosfs);
    +
    +int msdosfs_mountfs(struct vnode *, struct mount *, struct lwp *,
    +    struct msdosfs_args *);
    +
    +static int update_mp(struct mount *, struct msdosfs_args *);
    +
    +MALLOC_JUSTDEFINE(M_MSDOSFSMNT, "MSDOSFS mount", "MSDOS FS mount structure");
    +MALLOC_JUSTDEFINE(M_MSDOSFSFAT, "MSDOSFS FAT", "MSDOS FS FAT table");
    +MALLOC_JUSTDEFINE(M_MSDOSFSTMP, "MSDOSFS temp", "MSDOS FS temp. structures");
    +
    +#define ROOTNAME "root_device"
    +
    +static struct sysctllog *msdosfs_sysctl_log;
    +
    +extern const struct vnodeopv_desc msdosfs_vnodeop_opv_desc;
    +
    +const struct vnodeopv_desc * const msdosfs_vnodeopv_descs[] = {
    +	&msdosfs_vnodeop_opv_desc,
    +	NULL,
    +};
    +
    +struct vfsops msdosfs_vfsops = {
    +	MOUNT_MSDOS,
    +	sizeof (struct msdosfs_args),
    +	msdosfs_mount,
    +	msdosfs_start,
    +	msdosfs_unmount,
    +	msdosfs_root,
    +	(void *)eopnotsupp,		/* vfs_quotactl */
    +	msdosfs_statvfs,
    +	msdosfs_sync,
    +	msdosfs_vget,
    +	msdosfs_fhtovp,
    +	msdosfs_vptofh,
    +	msdosfs_init,
    +	msdosfs_reinit,
    +	msdosfs_done,
    +	msdosfs_mountroot,
    +	(int (*)(struct mount *, struct vnode *, struct timespec *)) eopnotsupp,
    +	vfs_stdextattrctl,
    +	msdosfs_suspendctl,
    +	genfs_renamelock_enter,
    +	genfs_renamelock_exit,
    +	(void *)eopnotsupp,
    +	msdosfs_vnodeopv_descs,
    +	0,
    +	{ NULL, NULL },
    +};
    +
    +static int
    +msdos_modcmd(modcmd_t cmd, void *arg)
    +{
    +	int error;
    +
    +	switch (cmd) {
    +	case MODULE_CMD_INIT:
    +		error = vfs_attach(&msdosfs_vfsops);
    +		if (error != 0)
    +			break;
    +		sysctl_createv(&msdosfs_sysctl_log, 0, NULL, NULL,
    +			       CTLFLAG_PERMANENT,
    +			       CTLTYPE_NODE, "vfs", NULL,
    +			       NULL, 0, NULL, 0,
    +			       CTL_VFS, CTL_EOL);
    +		sysctl_createv(&msdosfs_sysctl_log, 0, NULL, NULL,
    +			       CTLFLAG_PERMANENT,
    +			       CTLTYPE_NODE, "msdosfs",
    +			       SYSCTL_DESCR("MS-DOS file system"),
    +			       NULL, 0, NULL, 0,
    +			       CTL_VFS, 4, CTL_EOL);
    +		/*
    +		 * XXX the "4" above could be dynamic, thereby eliminating one
    +		 * more instance of the "number to vfs" mapping problem, but
    +		 * "4" is the order as taken from sys/mount.h
    +		 */
    +		break;
    +	case MODULE_CMD_FINI:
    +		error = vfs_detach(&msdosfs_vfsops);
    +		if (error != 0)
    +			break;
    +		sysctl_teardown(&msdosfs_sysctl_log);
    +		break;
    +	default:
    +		error = ENOTTY;
    +		break;
    +	}
    +
    +	return (error);
    +}
    +
    +static int
    +update_mp(struct mount *mp, struct msdosfs_args *argp)
    +{
    +	struct msdosfsmount *pmp = VFSTOMSDOSFS(mp);
    +	int error;
    +
    +	pmp->pm_gid = argp->gid;
    +	pmp->pm_uid = argp->uid;
    +	pmp->pm_mask = argp->mask & ALLPERMS;
    +	pmp->pm_dirmask = argp->dirmask & ALLPERMS;
    +	pmp->pm_gmtoff = argp->gmtoff;
    +	pmp->pm_flags |= argp->flags & MSDOSFSMNT_MNTOPT;
    +
    +	/*
    +	 * GEMDOS knows nothing about win95 long filenames
    +	 */
    +	if (pmp->pm_flags & MSDOSFSMNT_GEMDOSFS)
    +		pmp->pm_flags |= MSDOSFSMNT_NOWIN95;
    +
    +	if (pmp->pm_flags & MSDOSFSMNT_NOWIN95)
    +		pmp->pm_flags |= MSDOSFSMNT_SHORTNAME;
    +	else if (!(pmp->pm_flags &
    +	    (MSDOSFSMNT_SHORTNAME | MSDOSFSMNT_LONGNAME))) {
    +		struct vnode *rtvp;
    +
    +		/*
    +		 * Try to divine whether to support Win'95 long filenames
    +		 */
    +		if (FAT32(pmp))
    +			pmp->pm_flags |= MSDOSFSMNT_LONGNAME;
    +		else {
    +			if ((error = msdosfs_root(mp, &rtvp)) != 0)
    +				return error;
    +			pmp->pm_flags |= findwin95(VTODE(rtvp))
    +				? MSDOSFSMNT_LONGNAME
    +					: MSDOSFSMNT_SHORTNAME;
    +			vput(rtvp);
    +		}
    +	}
    +
    +	mp->mnt_stat.f_namemax = MSDOSFS_NAMEMAX(pmp);
    +
    +	return 0;
    +}
    +
    +int
    +msdosfs_mountroot(void)
    +{
    +	struct mount *mp;
    +	struct lwp *l = curlwp;	/* XXX */
    +	int error;
    +	struct msdosfs_args args;
    +
    +	if (device_class(root_device) != DV_DISK)
    +		return (ENODEV);
    +
    +	if ((error = vfs_rootmountalloc(MOUNT_MSDOS, "root_device", &mp))) {
    +		vrele(rootvp);
    +		return (error);
    +	}
    +
    +	args.flags = MSDOSFSMNT_VERSIONED;
    +	args.uid = 0;
    +	args.gid = 0;
    +	args.mask = 0777;
    +	args.version = MSDOSFSMNT_VERSION;
    +	args.dirmask = 0777;
    +
    +	if ((error = msdosfs_mountfs(rootvp, mp, l, &args)) != 0) {
    +		vfs_unbusy(mp, false, NULL);
    +		vfs_destroy(mp);
    +		return (error);
    +	}
    +
    +	if ((error = update_mp(mp, &args)) != 0) {
    +		(void)msdosfs_unmount(mp, 0);
    +		vfs_unbusy(mp, false, NULL);
    +		vfs_destroy(mp);
    +		vrele(rootvp);
    +		return (error);
    +	}
    +
    +	mountlist_append(mp);
    +	(void)msdosfs_statvfs(mp, &mp->mnt_stat);
    +	vfs_unbusy(mp, false, NULL);
    +	return (0);
    +}
    +
    +/*
    + * mp - path - addr in user space of mount point (ie /usr or whatever)
    + * data - addr in user space of mount params including the name of the block
    + * special file to treat as a filesystem.
    + */
    +int
    +msdosfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
    +{
    +	struct lwp *l = curlwp;
    +	struct vnode *devvp;	  /* vnode for blk device to mount */
    +	struct msdosfs_args *args = data; /* holds data from mount request */
    +	/* msdosfs specific mount control block */
    +	struct msdosfsmount *pmp = NULL;
    +	int error, flags;
    +	mode_t accessmode;
    +
    +	if (*data_len < sizeof *args)
    +		return EINVAL;
    +
    +	if (mp->mnt_flag & MNT_GETARGS) {
    +		pmp = VFSTOMSDOSFS(mp);
    +		if (pmp == NULL)
    +			return EIO;
    +		args->fspec = NULL;
    +		args->uid = pmp->pm_uid;
    +		args->gid = pmp->pm_gid;
    +		args->mask = pmp->pm_mask;
    +		args->flags = pmp->pm_flags;
    +		args->version = MSDOSFSMNT_VERSION;
    +		args->dirmask = pmp->pm_dirmask;
    +		args->gmtoff = pmp->pm_gmtoff;
    +		*data_len = sizeof *args;
    +		return 0;
    +	}
    +
    +	/*
    +	 * If not versioned (i.e. using old mount_msdos(8)), fill in
    +	 * the additional structure items with suitable defaults.
    +	 */
    +	if ((args->flags & MSDOSFSMNT_VERSIONED) == 0) {
    +		args->version = 1;
    +		args->dirmask = args->mask;
    +	}
    +
    +	/*
    +	 * Reset GMT offset for pre-v3 mount structure args.
    +	 */
    +	if (args->version < 3)
    +		args->gmtoff = 0;
    +
    +	/*
    +	 * If updating, check whether changing from read-only to
    +	 * read/write; if there is no device name, that's all we do.
    +	 */
    +	if (mp->mnt_flag & MNT_UPDATE) {
    +		pmp = VFSTOMSDOSFS(mp);
    +		error = 0;
    +		if (!(pmp->pm_flags & MSDOSFSMNT_RONLY) &&
    +		    (mp->mnt_flag & MNT_RDONLY)) {
    +			flags = WRITECLOSE;
    +			if (mp->mnt_flag & MNT_FORCE)
    +				flags |= FORCECLOSE;
    +			error = vflush(mp, NULLVP, flags);
    +		}
    +		if (!error && (mp->mnt_flag & MNT_RELOAD))
    +			/* not yet implemented */
    +			error = EOPNOTSUPP;
    +		if (error) {
    +			DPRINTF(("vflush %d\n", error));
    +			return (error);
    +		}
    +		if ((pmp->pm_flags & MSDOSFSMNT_RONLY) &&
    +		    (mp->mnt_iflag & IMNT_WANTRDWR)) {
    +			/*
    +			 * If upgrade to read-write by non-root, then verify
    +			 * that user has necessary permissions on the device.
    +			 *
    +			 * Permission to update a mount is checked higher, so
    +			 * here we presume updating the mount is okay (for
    +			 * example, as far as securelevel goes) which leaves us
    +			 * with the normal check.
    +			 */
    +			devvp = pmp->pm_devvp;
    +			vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +			error = kauth_authorize_system(l->l_cred,
    +			    KAUTH_SYSTEM_MOUNT, KAUTH_REQ_SYSTEM_MOUNT_DEVICE,
    +			    mp, devvp, KAUTH_ARG(VREAD | VWRITE));
    +			VOP_UNLOCK(devvp);
    +			DPRINTF(("KAUTH_REQ_SYSTEM_MOUNT_DEVICE %d\n", error));
    +			if (error)
    +				return (error);
    +
    +			pmp->pm_flags &= ~MSDOSFSMNT_RONLY;
    +		}
    +		if (args->fspec == NULL) {
    +			DPRINTF(("missing fspec\n"));
    +			return EINVAL;
    +		}
    +	}
    +	/*
    +	 * Not an update, or updating the name: look up the name
    +	 * and verify that it refers to a sensible block device.
    +	 */
    +	error = namei_simple_user(args->fspec,
    +				NSM_FOLLOW_NOEMULROOT, &devvp);
    +	if (error != 0) {
    +		DPRINTF(("namei %d\n", error));
    +		return (error);
    +	}
    +
    +	if (devvp->v_type != VBLK) {
    +		DPRINTF(("not block\n"));
    +		vrele(devvp);
    +		return (ENOTBLK);
    +	}
    +	if (bdevsw_lookup(devvp->v_rdev) == NULL) {
    +		DPRINTF(("no block switch\n"));
    +		vrele(devvp);
    +		return (ENXIO);
    +	}
    +	/*
    +	 * If mount by non-root, then verify that user has necessary
    +	 * permissions on the device.
    +	 */
    +	accessmode = VREAD;
    +	if ((mp->mnt_flag & MNT_RDONLY) == 0)
    +		accessmode |= VWRITE;
    +	vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_MOUNT,
    +	    KAUTH_REQ_SYSTEM_MOUNT_DEVICE, mp, devvp, KAUTH_ARG(accessmode));
    +	VOP_UNLOCK(devvp);
    +	if (error) {
    +		DPRINTF(("KAUTH_REQ_SYSTEM_MOUNT_DEVICE %d\n", error));
    +		vrele(devvp);
    +		return (error);
    +	}
    +	if ((mp->mnt_flag & MNT_UPDATE) == 0) {
    +		int xflags;
    +
    +		if (mp->mnt_flag & MNT_RDONLY)
    +			xflags = FREAD;
    +		else
    +			xflags = FREAD|FWRITE;
    +		vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +		error = VOP_OPEN(devvp, xflags, FSCRED);
    +		VOP_UNLOCK(devvp);
    +		if (error) {
    +			DPRINTF(("VOP_OPEN %d\n", error));
    +			goto fail;
    +		}
    +		error = msdosfs_mountfs(devvp, mp, l, args);
    +		if (error) {
    +			DPRINTF(("msdosfs_mountfs %d\n", error));
    +			vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    +			(void) VOP_CLOSE(devvp, xflags, NOCRED);
    +			VOP_UNLOCK(devvp);
    +			goto fail;
    +		}
    +#ifdef MSDOSFS_DEBUG		/* only needed for the printf below */
    +		pmp = VFSTOMSDOSFS(mp);
    +#endif
    +	} else {
    +		vrele(devvp);
    +		if (devvp != pmp->pm_devvp) {
    +			DPRINTF(("devvp %p pmp %p\n", 
    +			    devvp, pmp->pm_devvp));
    +			return (EINVAL);	/* needs translation */
    +		}
    +	}
    +	if ((error = update_mp(mp, args)) != 0) {
    +		msdosfs_unmount(mp, MNT_FORCE);
    +		DPRINTF(("update_mp %d\n", error));
    +		return error;
    +	}
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_mount(): mp %p, pmp %p, inusemap %p\n", mp, pmp, pmp->pm_inusemap);
    +#endif
    +	return set_statvfs_info(path, UIO_USERSPACE, args->fspec, UIO_USERSPACE,
    +	    mp->mnt_op->vfs_name, mp, l);
    +
    +fail:
    +	vrele(devvp);
    +	return (error);
    +}
    +
    +int
    +msdosfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l, struct msdosfs_args *argp)
    +{
    +	struct msdosfsmount *pmp;
    +	struct buf *bp;
    +	dev_t dev = devvp->v_rdev;
    +	union bootsector *bsp;
    +	struct byte_bpb33 *b33;
    +	struct byte_bpb50 *b50;
    +	struct byte_bpb710 *b710;
    +	uint8_t SecPerClust;
    +	int	ronly, error, tmp;
    +	int	bsize;
    +	uint64_t psize;
    +	unsigned secsize;
    +
    +	/* Flush out any old buffers remaining from a previous use. */
    +	if ((error = vinvalbuf(devvp, V_SAVE, l->l_cred, l, 0, 0)) != 0)
    +		return (error);
    +
    +	ronly = (mp->mnt_flag & MNT_RDONLY) != 0;
    +
    +	bp  = NULL; /* both used in error_exit */
    +	pmp = NULL;
    +
    +	error = fstrans_mount(mp);
    +	if (error)
    +		goto error_exit;
    +
    +	error = getdisksize(devvp, &psize, &secsize);
    +	if (error) {
    +		if (argp->flags & MSDOSFSMNT_GEMDOSFS)
    +			goto error_exit;
    +
    +		/* ok, so it failed.  we most likely don't need the info */
    +		secsize = DEV_BSIZE;
    +		psize = 0;
    +		error = 0;
    +	}
    +
    +	if (argp->flags & MSDOSFSMNT_GEMDOSFS) {
    +		bsize = secsize;
    +		if (bsize != 512) {
    +			DPRINTF(("Invalid block bsize %d for GEMDOS\n", bsize));
    +			error = EINVAL;
    +			goto error_exit;
    +		}
    +	} else
    +		bsize = 0;
    +
    +	/*
    +	 * Read the boot sector of the filesystem, and then check the
    +	 * boot signature.  If not a dos boot sector then error out.
    +	 */
    +	if ((error = bread(devvp, 0, secsize, NOCRED, 0, &bp)) != 0)
    +		goto error_exit;
    +	bsp = (union bootsector *)bp->b_data;
    +	b33 = (struct byte_bpb33 *)bsp->bs33.bsBPB;
    +	b50 = (struct byte_bpb50 *)bsp->bs50.bsBPB;
    +	b710 = (struct byte_bpb710 *)bsp->bs710.bsBPB;
    +
    +	if (!(argp->flags & MSDOSFSMNT_GEMDOSFS)) {
    +		if (bsp->bs50.bsBootSectSig0 != BOOTSIG0
    +		    || bsp->bs50.bsBootSectSig1 != BOOTSIG1) {
    +			DPRINTF(("bootsig0 %d bootsig1 %d\n", 
    +			    bsp->bs50.bsBootSectSig0,
    +			    bsp->bs50.bsBootSectSig1));
    +			error = EINVAL;
    +			goto error_exit;
    +		}
    +	}
    +
    +	pmp = malloc(sizeof *pmp, M_MSDOSFSMNT, M_WAITOK);
    +	memset(pmp, 0, sizeof *pmp);
    +	pmp->pm_mountp = mp;
    +
    +	/*
    +	 * Compute several useful quantities from the bpb in the
    +	 * bootsector.  Copy in the dos 5 variant of the bpb then fix up
    +	 * the fields that are different between dos 5 and dos 3.3.
    +	 */
    +	SecPerClust = b50->bpbSecPerClust;
    +	pmp->pm_BytesPerSec = getushort(b50->bpbBytesPerSec);
    +	pmp->pm_ResSectors = getushort(b50->bpbResSectors);
    +	pmp->pm_FATs = b50->bpbFATs;
    +	pmp->pm_RootDirEnts = getushort(b50->bpbRootDirEnts);
    +	pmp->pm_Sectors = getushort(b50->bpbSectors);
    +	pmp->pm_FATsecs = getushort(b50->bpbFATsecs);
    +	pmp->pm_SecPerTrack = getushort(b50->bpbSecPerTrack);
    +	pmp->pm_Heads = getushort(b50->bpbHeads);
    +	pmp->pm_Media = b50->bpbMedia;
    +
    +	if (!(argp->flags & MSDOSFSMNT_GEMDOSFS)) {
    +		/* XXX - We should probably check more values here */
    +    		if (!pmp->pm_BytesPerSec || !SecPerClust
    +	    		|| pmp->pm_SecPerTrack > 63) {
    +			DPRINTF(("bytespersec %d secperclust %d "
    +			    "secpertrack %d\n", 
    +			    pmp->pm_BytesPerSec, SecPerClust,
    +			    pmp->pm_SecPerTrack));
    +			error = EINVAL;
    +			goto error_exit;
    +		}
    +	}
    +
    +	if (pmp->pm_Sectors == 0) {
    +		pmp->pm_HiddenSects = getulong(b50->bpbHiddenSecs);
    +		pmp->pm_HugeSectors = getulong(b50->bpbHugeSectors);
    +	} else {
    +		pmp->pm_HiddenSects = getushort(b33->bpbHiddenSecs);
    +		pmp->pm_HugeSectors = pmp->pm_Sectors;
    +	}
    +
    +	if (pmp->pm_RootDirEnts == 0) {
    +		unsigned short vers = getushort(b710->bpbFSVers);
    +		/*
    +		 * Some say that bsBootSectSig[23] must be zero, but
    +		 * Windows does not require this and some digital cameras
    +		 * do not set these to zero.  Therefore, do not insist.
    +		 */
    +		if (pmp->pm_Sectors || pmp->pm_FATsecs || vers) {
    +			DPRINTF(("sectors %d fatsecs %lu vers %d\n",
    +			    pmp->pm_Sectors, pmp->pm_FATsecs, vers));
    +			error = EINVAL;
    +			goto error_exit;
    +		}
    +		pmp->pm_fatmask = FAT32_MASK;
    +		pmp->pm_fatmult = 4;
    +		pmp->pm_fatdiv = 1;
    +		pmp->pm_FATsecs = getulong(b710->bpbBigFATsecs);
    +
    +		/* mirrorring is enabled if the FATMIRROR bit is not set */
    +		if ((getushort(b710->bpbExtFlags) & FATMIRROR) == 0)
    +			pmp->pm_flags |= MSDOSFS_FATMIRROR;
    +		else
    +			pmp->pm_curfat = getushort(b710->bpbExtFlags) & FATNUM;
    +	} else
    +		pmp->pm_flags |= MSDOSFS_FATMIRROR;
    +
    +	if (argp->flags & MSDOSFSMNT_GEMDOSFS) {
    +		if (FAT32(pmp)) {
    +			DPRINTF(("FAT32 for GEMDOS\n"));
    +			/*
    +			 * GEMDOS doesn't know FAT32.
    +			 */
    +			error = EINVAL;
    +			goto error_exit;
    +		}
    +
    +		/*
    +		 * Check a few values (could do some more):
    +		 * - logical sector size: power of 2, >= block size
    +		 * - sectors per cluster: power of 2, >= 1
    +		 * - number of sectors:   >= 1, <= size of partition
    +		 */
    +		if ( (SecPerClust == 0)
    +		  || (SecPerClust & (SecPerClust - 1))
    +		  || (pmp->pm_BytesPerSec < bsize)
    +		  || (pmp->pm_BytesPerSec & (pmp->pm_BytesPerSec - 1))
    +		  || (pmp->pm_HugeSectors == 0)
    +		  || (pmp->pm_HugeSectors * (pmp->pm_BytesPerSec / bsize)
    +		      > psize)) {
    +			DPRINTF(("consistency checks for GEMDOS\n"));
    +			error = EINVAL;
    +			goto error_exit;
    +		}
    +		/*
    +		 * XXX - Many parts of the msdosfs driver seem to assume that
    +		 * the number of bytes per logical sector (BytesPerSec) will
    +		 * always be the same as the number of bytes per disk block
    +		 * Let's pretend it is.
    +		 */
    +		tmp = pmp->pm_BytesPerSec / bsize;
    +		pmp->pm_BytesPerSec  = bsize;
    +		pmp->pm_HugeSectors *= tmp;
    +		pmp->pm_HiddenSects *= tmp;
    +		pmp->pm_ResSectors  *= tmp;
    +		pmp->pm_Sectors     *= tmp;
    +		pmp->pm_FATsecs     *= tmp;
    +		SecPerClust         *= tmp;
    +	}
    +
    +	/* Check that fs has nonzero FAT size */
    +	if (pmp->pm_FATsecs == 0) {
    +		DPRINTF(("FATsecs is 0\n"));
    +		error = EINVAL;
    +		goto error_exit;
    +	}
    +
    +	pmp->pm_fatblk = pmp->pm_ResSectors;
    +	if (FAT32(pmp)) {
    +		pmp->pm_rootdirblk = getulong(b710->bpbRootClust);
    +		pmp->pm_firstcluster = pmp->pm_fatblk
    +			+ (pmp->pm_FATs * pmp->pm_FATsecs);
    +		pmp->pm_fsinfo = getushort(b710->bpbFSInfo);
    +	} else {
    +		pmp->pm_rootdirblk = pmp->pm_fatblk +
    +			(pmp->pm_FATs * pmp->pm_FATsecs);
    +		pmp->pm_rootdirsize = (pmp->pm_RootDirEnts * sizeof(struct direntry)
    +				       + pmp->pm_BytesPerSec - 1)
    +			/ pmp->pm_BytesPerSec;/* in sectors */
    +		pmp->pm_firstcluster = pmp->pm_rootdirblk + pmp->pm_rootdirsize;
    +	}
    +
    +	pmp->pm_nmbrofclusters = (pmp->pm_HugeSectors - pmp->pm_firstcluster) /
    +	    SecPerClust;
    +	pmp->pm_maxcluster = pmp->pm_nmbrofclusters + 1;
    +	pmp->pm_fatsize = pmp->pm_FATsecs * pmp->pm_BytesPerSec;
    +
    +	if (argp->flags & MSDOSFSMNT_GEMDOSFS) {
    +		if (pmp->pm_nmbrofclusters <= (0xff0 - 2)) {
    +			pmp->pm_fatmask = FAT12_MASK;
    +			pmp->pm_fatmult = 3;
    +			pmp->pm_fatdiv = 2;
    +		} else {
    +			pmp->pm_fatmask = FAT16_MASK;
    +			pmp->pm_fatmult = 2;
    +			pmp->pm_fatdiv = 1;
    +		}
    +	} else if (pmp->pm_fatmask == 0) {
    +		if (pmp->pm_maxcluster
    +		    <= ((CLUST_RSRVD - CLUST_FIRST) & FAT12_MASK)) {
    +			/*
    +			 * This will usually be a floppy disk. This size makes
    +			 * sure that one FAT entry will not be split across
    +			 * multiple blocks.
    +			 */
    +			pmp->pm_fatmask = FAT12_MASK;
    +			pmp->pm_fatmult = 3;
    +			pmp->pm_fatdiv = 2;
    +		} else {
    +			pmp->pm_fatmask = FAT16_MASK;
    +			pmp->pm_fatmult = 2;
    +			pmp->pm_fatdiv = 1;
    +		}
    +	}
    +	if (FAT12(pmp))
    +		pmp->pm_fatblocksize = 3 * pmp->pm_BytesPerSec;
    +	else
    +		pmp->pm_fatblocksize = MAXBSIZE;
    +
    +	pmp->pm_fatblocksec = pmp->pm_fatblocksize / pmp->pm_BytesPerSec;
    +	pmp->pm_bnshift = ffs(pmp->pm_BytesPerSec) - 1;
    +
    +	/*
    +	 * Compute mask and shift value for isolating cluster relative byte
    +	 * offsets and cluster numbers from a file offset.
    +	 */
    +	pmp->pm_bpcluster = SecPerClust * pmp->pm_BytesPerSec;
    +	pmp->pm_crbomask = pmp->pm_bpcluster - 1;
    +	pmp->pm_cnshift = ffs(pmp->pm_bpcluster) - 1;
    +
    +	/*
    +	 * Check for valid cluster size
    +	 * must be a power of 2
    +	 */
    +	if (pmp->pm_bpcluster ^ (1 << pmp->pm_cnshift)) {
    +		DPRINTF(("bpcluster %lu cnshift %lu\n", 
    +		    pmp->pm_bpcluster, pmp->pm_cnshift));
    +		error = EINVAL;
    +		goto error_exit;
    +	}
    +
    +	/*
    +	 * Cluster size must be within limit of MAXBSIZE.
    +	 * Many FAT filesystems will not have clusters larger than
    +	 * 32KiB due to limits in Windows versions before Vista.
    +	 */
    +	if (pmp->pm_bpcluster > MAXBSIZE) {
    +		DPRINTF(("bpcluster %lu > MAXBSIZE %d\n",
    +		    pmp->pm_bpcluster, MAXBSIZE));
    +		error = EINVAL;
    +		goto error_exit;
    +	}
    +
    +	/*
    +	 * Release the bootsector buffer.
    +	 */
    +	brelse(bp, BC_AGE);
    +	bp = NULL;
    +
    +	/*
    +	 * Check FSInfo.
    +	 */
    +	if (pmp->pm_fsinfo) {
    +		struct fsinfo *fp;
    +
    +		/*
    +		 * XXX	If the fsinfo block is stored on media with
    +		 *	2KB or larger sectors, is the fsinfo structure
    +		 *	padded at the end or in the middle?
    +		 */
    +		if ((error = bread(devvp, de_bn2kb(pmp, pmp->pm_fsinfo),
    +		    pmp->pm_BytesPerSec, NOCRED, 0, &bp)) != 0)
    +			goto error_exit;
    +		fp = (struct fsinfo *)bp->b_data;
    +		if (!memcmp(fp->fsisig1, "RRaA", 4)
    +		    && !memcmp(fp->fsisig2, "rrAa", 4)
    +		    && !memcmp(fp->fsisig3, "\0\0\125\252", 4)
    +		    && !memcmp(fp->fsisig4, "\0\0\125\252", 4))
    +			pmp->pm_nxtfree = getulong(fp->fsinxtfree);
    +		else
    +			pmp->pm_fsinfo = 0;
    +		brelse(bp, 0);
    +		bp = NULL;
    +	}
    +
    +	/*
    +	 * Check and validate (or perhaps invalidate?) the fsinfo structure?
    +	 * XXX
    +	 */
    +	if (pmp->pm_fsinfo) {
    +		if ((pmp->pm_nxtfree == 0xffffffffUL) ||
    +		    (pmp->pm_nxtfree > pmp->pm_maxcluster))
    +			pmp->pm_fsinfo = 0;
    +	}
    +
    +	/*
    +	 * Allocate memory for the bitmap of allocated clusters, and then
    +	 * fill it in.
    +	 */
    +	pmp->pm_inusemap = malloc(((pmp->pm_maxcluster + N_INUSEBITS)
    +				   / N_INUSEBITS)
    +				  * sizeof(*pmp->pm_inusemap),
    +				  M_MSDOSFSFAT, M_WAITOK);
    +
    +	/*
    +	 * fillinusemap() needs pm_devvp.
    +	 */
    +	pmp->pm_dev = dev;
    +	pmp->pm_devvp = devvp;
    +
    +	/*
    +	 * Have the inuse map filled in.
    +	 */
    +	if ((error = fillinusemap(pmp)) != 0) {
    +		DPRINTF(("fillinusemap %d\n", error));
    +		goto error_exit;
    +	}
    +
    +	/*
    +	 * If they want FAT updates to be synchronous then let them suffer
    +	 * the performance degradation in exchange for the on disk copy of
    +	 * the FAT being correct just about all the time.  I suppose this
    +	 * would be a good thing to turn on if the kernel is still flakey.
    +	 */
    +	if (mp->mnt_flag & MNT_SYNCHRONOUS)
    +		pmp->pm_flags |= MSDOSFSMNT_WAITONFAT;
    +
    +	/*
    +	 * Finish up.
    +	 */
    +	if (ronly)
    +		pmp->pm_flags |= MSDOSFSMNT_RONLY;
    +	else
    +		pmp->pm_fmod = 1;
    +	mp->mnt_data = pmp;
    +	mp->mnt_stat.f_fsidx.__fsid_val[0] = (long)dev;
    +	mp->mnt_stat.f_fsidx.__fsid_val[1] = makefstype(MOUNT_MSDOS);
    +	mp->mnt_stat.f_fsid = mp->mnt_stat.f_fsidx.__fsid_val[0];
    +	mp->mnt_stat.f_namemax = MSDOSFS_NAMEMAX(pmp);
    +	mp->mnt_flag |= MNT_LOCAL;
    +	mp->mnt_dev_bshift = pmp->pm_bnshift;
    +	mp->mnt_fs_bshift = pmp->pm_cnshift;
    +
    +	/*
    +	 * If we ever do quotas for DOS filesystems this would be a place
    +	 * to fill in the info in the msdosfsmount structure. You dolt,
    +	 * quotas on dos filesystems make no sense because files have no
    +	 * owners on dos filesystems. of course there is some empty space
    +	 * in the directory entry where we could put uid's and gid's.
    +	 */
    +
    +	spec_node_setmountedfs(devvp, mp);
    +
    +	return (0);
    +
    +error_exit:
    +	fstrans_unmount(mp);
    +	if (bp)
    +		brelse(bp, BC_AGE);
    +	if (pmp) {
    +		if (pmp->pm_inusemap)
    +			free(pmp->pm_inusemap, M_MSDOSFSFAT);
    +		free(pmp, M_MSDOSFSMNT);
    +		mp->mnt_data = NULL;
    +	}
    +	return (error);
    +}
    +
    +int
    +msdosfs_start(struct mount *mp, int flags)
    +{
    +
    +	return (0);
    +}
    +
    +/*
    + * Unmount the filesystem described by mp.
    + */
    +int
    +msdosfs_unmount(struct mount *mp, int mntflags)
    +{
    +	struct msdosfsmount *pmp;
    +	int error, flags;
    +
    +	flags = 0;
    +	if (mntflags & MNT_FORCE)
    +		flags |= FORCECLOSE;
    +	if ((error = vflush(mp, NULLVP, flags)) != 0)
    +		return (error);
    +	pmp = VFSTOMSDOSFS(mp);
    +	if (pmp->pm_devvp->v_type != VBAD)
    +		spec_node_setmountedfs(pmp->pm_devvp, NULL);
    +#ifdef MSDOSFS_DEBUG
    +	{
    +		struct vnode *vp = pmp->pm_devvp;
    +
    +		printf("msdosfs_umount(): just before calling VOP_CLOSE()\n");
    +		printf("flag %08x, usecount %d, writecount %d, holdcnt %d\n",
    +		    vp->v_vflag | vp->v_iflag | vp->v_uflag, vp->v_usecount,
    +		    vp->v_writecount, vp->v_holdcnt);
    +		printf("mount %p, op %p\n",
    +		    vp->v_mount, vp->v_op);
    +		printf("freef %p, freeb %p, mount %p\n",
    +		    vp->v_freelist.tqe_next, vp->v_freelist.tqe_prev,
    +		    vp->v_mount);
    +		printf("cleanblkhd %p, dirtyblkhd %p, numoutput %d, type %d\n",
    +		    vp->v_cleanblkhd.lh_first,
    +		    vp->v_dirtyblkhd.lh_first,
    +		    vp->v_numoutput, vp->v_type);
    +		printf("union %p, tag %d, data[0] %08x, data[1] %08x\n",
    +		    vp->v_socket, vp->v_tag,
    +		    ((u_int *)vp->v_data)[0],
    +		    ((u_int *)vp->v_data)[1]);
    +	}
    +#endif
    +	vn_lock(pmp->pm_devvp, LK_EXCLUSIVE | LK_RETRY);
    +	(void) VOP_CLOSE(pmp->pm_devvp,
    +	    pmp->pm_flags & MSDOSFSMNT_RONLY ? FREAD : FREAD|FWRITE, NOCRED);
    +	vput(pmp->pm_devvp);
    +	msdosfs_fh_destroy(pmp);
    +	free(pmp->pm_inusemap, M_MSDOSFSFAT);
    +	free(pmp, M_MSDOSFSMNT);
    +	mp->mnt_data = NULL;
    +	mp->mnt_flag &= ~MNT_LOCAL;
    +	fstrans_unmount(mp);
    +	return (0);
    +}
    +
    +int
    +msdosfs_root(struct mount *mp, struct vnode **vpp)
    +{
    +	struct msdosfsmount *pmp = VFSTOMSDOSFS(mp);
    +	struct denode *ndep;
    +	int error;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_root(); mp %p, pmp %p\n", mp, pmp);
    +#endif
    +	if ((error = deget(pmp, MSDOSFSROOT, MSDOSFSROOT_OFS, &ndep)) != 0)
    +		return (error);
    +	*vpp = DETOV(ndep);
    +	return (0);
    +}
    +
    +int
    +msdosfs_statvfs(struct mount *mp, struct statvfs *sbp)
    +{
    +	struct msdosfsmount *pmp;
    +
    +	pmp = VFSTOMSDOSFS(mp);
    +	sbp->f_bsize = pmp->pm_bpcluster;
    +	sbp->f_frsize = sbp->f_bsize;
    +	sbp->f_iosize = pmp->pm_bpcluster;
    +	sbp->f_blocks = pmp->pm_nmbrofclusters;
    +	sbp->f_bfree = pmp->pm_freeclustercount;
    +	sbp->f_bavail = pmp->pm_freeclustercount;
    +	sbp->f_bresvd = 0;
    +	sbp->f_files = pmp->pm_RootDirEnts;			/* XXX */
    +	sbp->f_ffree = 0;	/* what to put in here? */
    +	sbp->f_favail = 0;	/* what to put in here? */
    +	sbp->f_fresvd = 0;
    +	copy_statvfs_info(sbp, mp);
    +	return (0);
    +}
    +
    +int
    +msdosfs_sync(struct mount *mp, int waitfor, kauth_cred_t cred)
    +{
    +	struct vnode *vp, *mvp;
    +	struct denode *dep;
    +	struct msdosfsmount *pmp = VFSTOMSDOSFS(mp);
    +	int error, allerror = 0;
    +
    +	/*
    +	 * If we ever switch to not updating all of the FATs all the time,
    +	 * this would be the place to update them from the first one.
    +	 */
    +	if (pmp->pm_fmod != 0) {
    +		if (pmp->pm_flags & MSDOSFSMNT_RONLY)
    +			panic("msdosfs_sync: rofs mod");
    +		else {
    +			/* update FATs here */
    +		}
    +	}
    +	/* Allocate a marker vnode. */
    +	mvp = vnalloc(mp);
    +	fstrans_start(mp, FSTRANS_SHARED);
    +	/*
    +	 * Write back each (modified) denode.
    +	 */
    +	mutex_enter(&mntvnode_lock);
    +loop:
    +	for (vp = TAILQ_FIRST(&mp->mnt_vnodelist); vp; vp = vunmark(mvp)) {
    +		vmark(mvp, vp);
    +		if (vp->v_mount != mp || vismarker(vp))
    +			continue;
    +		mutex_enter(vp->v_interlock);
    +		dep = VTODE(vp);
    +		if (waitfor == MNT_LAZY || vp->v_type == VNON ||
    +		    dep == NULL || (((dep->de_flag &
    +		    (DE_ACCESS | DE_CREATE | DE_UPDATE | DE_MODIFIED)) == 0) &&
    +		     (LIST_EMPTY(&vp->v_dirtyblkhd) &&
    +		      UVM_OBJ_IS_CLEAN(&vp->v_uobj)))) {
    +			mutex_exit(vp->v_interlock);
    +			continue;
    +		}
    +		mutex_exit(&mntvnode_lock);
    +		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
    +		if (error) {
    +			mutex_enter(&mntvnode_lock);
    +			if (error == ENOENT) {
    +				(void)vunmark(mvp);
    +				goto loop;
    +			}
    +			continue;
    +		}
    +		if ((error = VOP_FSYNC(vp, cred,
    +		    waitfor == MNT_WAIT ? FSYNC_WAIT : 0, 0, 0)) != 0)
    +			allerror = error;
    +		vput(vp);
    +		mutex_enter(&mntvnode_lock);
    +	}
    +	mutex_exit(&mntvnode_lock);
    +	vnfree(mvp);
    +
    +	/*
    +	 * Force stale file system control information to be flushed.
    +	 */
    +	if ((error = VOP_FSYNC(pmp->pm_devvp, cred,
    +	    waitfor == MNT_WAIT ? FSYNC_WAIT : 0, 0, 0)) != 0)
    +		allerror = error;
    +	fstrans_done(mp);
    +	return (allerror);
    +}
    +
    +int
    +msdosfs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
    +{
    +	struct msdosfsmount *pmp = VFSTOMSDOSFS(mp);
    +	struct defid defh;
    +	struct denode *dep;
    +	uint32_t gen;
    +	int error;
    +
    +	if (fhp->fid_len != sizeof(struct defid)) {
    +		DPRINTF(("fid_len %d %zd\n", fhp->fid_len,
    +		    sizeof(struct defid)));
    +		return EINVAL;
    +	}
    +	memcpy(&defh, fhp, sizeof(defh));
    +	error = msdosfs_fh_lookup(pmp, defh.defid_dirclust, defh.defid_dirofs,
    +	    &gen);
    +	if (error == 0 && gen != defh.defid_gen)
    +		error = ESTALE;
    +	if (error) {
    +		*vpp = NULLVP;
    +		return error;
    +	}
    +	error = deget(pmp, defh.defid_dirclust, defh.defid_dirofs, &dep);
    +	if (error) {
    +		DPRINTF(("deget %d\n", error));
    +		*vpp = NULLVP;
    +		return (error);
    +	}
    +	*vpp = DETOV(dep);
    +	return (0);
    +}
    +
    +int
    +msdosfs_vptofh(struct vnode *vp, struct fid *fhp, size_t *fh_size)
    +{
    +	struct msdosfsmount *pmp = VFSTOMSDOSFS(vp->v_mount);
    +	struct denode *dep;
    +	struct defid defh;
    +	int error;
    +
    +	if (*fh_size < sizeof(struct defid)) {
    +		*fh_size = sizeof(struct defid);
    +		return E2BIG;
    +	}
    +	*fh_size = sizeof(struct defid);
    +	dep = VTODE(vp);
    +	memset(&defh, 0, sizeof(defh));
    +	defh.defid_len = sizeof(struct defid);
    +	defh.defid_dirclust = dep->de_dirclust;
    +	defh.defid_dirofs = dep->de_diroffset;
    +	error = msdosfs_fh_enter(pmp, dep->de_dirclust, dep->de_diroffset,
    +	     &defh.defid_gen);
    +	if (error == 0)
    +		memcpy(fhp, &defh, sizeof(defh));
    +	return error;
    +}
    +
    +int
    +msdosfs_vget(struct mount *mp, ino_t ino,
    +    struct vnode **vpp)
    +{
    +
    +	return (EOPNOTSUPP);
    +}
    +
    +int
    +msdosfs_suspendctl(struct mount *mp, int cmd)
    +{
    +	int error;
    +	struct lwp *l = curlwp;
    +
    +	switch (cmd) {
    +	case SUSPEND_SUSPEND:
    +		if ((error = fstrans_setstate(mp, FSTRANS_SUSPENDING)) != 0)
    +			return error;
    +		error = msdosfs_sync(mp, MNT_WAIT, l->l_proc->p_cred);
    +		if (error == 0)
    +			error = fstrans_setstate(mp, FSTRANS_SUSPENDED);
    +		if (error != 0) {
    +			(void) fstrans_setstate(mp, FSTRANS_NORMAL);
    +			return error;
    +		}
    +		return 0;
    +
    +	case SUSPEND_RESUME:
    +		return fstrans_setstate(mp, FSTRANS_NORMAL);
    +
    +	default:
    +		return EINVAL;
    +	}
    +}
    diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c
    new file mode 100644
    index 000000000..0a567f3fb
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfs_vnops.c
    @@ -0,0 +1,1911 @@
    +/*	$NetBSD: msdosfs_vnops.c,v 1.87 2013/11/02 10:30:18 hannken Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.87 2013/11/02 10:30:18 hannken Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 	/* defines plimit structure in proc struct */
    +#include 
    +#include 		/* define FWRITE ... */
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include  /* XXX */	/* defines v_rdev */
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Some general notes:
    + *
    + * In the ufs filesystem the inodes, superblocks, and indirect blocks are
    + * read/written using the vnode for the filesystem. Blocks that represent
    + * the contents of a file are read/written using the vnode for the file
    + * (including directories when they are read/written as files). This
    + * presents problems for the dos filesystem because data that should be in
    + * an inode (if dos had them) resides in the directory itself.  Since we
    + * must update directory entries without the benefit of having the vnode
    + * for the directory we must use the vnode for the filesystem.  This means
    + * that when a directory is actually read/written (via read, write, or
    + * readdir, or seek) we must use the vnode for the filesystem instead of
    + * the vnode for the directory as would happen in ufs. This is to insure we
    + * retrieve the correct block from the buffer cache since the hash value is
    + * based upon the vnode address and the desired block number.
    + */
    +
    +/*
    + * Create a regular file. On entry the directory to contain the file being
    + * created is locked.  We must release before we return.
    + */
    +int
    +msdosfs_create(void *v)
    +{
    +	struct vop_create_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +		struct vattr *a_vap;
    +	} */ *ap = v;
    +	struct componentname *cnp = ap->a_cnp;
    +	struct denode ndirent;
    +	struct denode *dep;
    +	struct denode *pdep = VTODE(ap->a_dvp);
    +	int error;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_create(cnp %p, vap %p\n", cnp, ap->a_vap);
    +#endif
    +
    +	fstrans_start(ap->a_dvp->v_mount, FSTRANS_SHARED);
    +	/*
    +	 * If this is the root directory and there is no space left we
    +	 * can't do anything.  This is because the root directory can not
    +	 * change size.
    +	 */
    +	if (pdep->de_StartCluster == MSDOSFSROOT
    +	    && pdep->de_fndoffset >= pdep->de_FileSize) {
    +		error = ENOSPC;
    +		goto bad;
    +	}
    +
    +	/*
    +	 * Create a directory entry for the file, then call createde() to
    +	 * have it installed. NOTE: DOS files are always executable.  We
    +	 * use the absence of the owner write bit to make the file
    +	 * readonly.
    +	 */
    +	memset(&ndirent, 0, sizeof(ndirent));
    +	if ((error = uniqdosname(pdep, cnp, ndirent.de_Name)) != 0)
    +		goto bad;
    +
    +	ndirent.de_Attributes = (ap->a_vap->va_mode & S_IWUSR) ?
    +				ATTR_ARCHIVE : ATTR_ARCHIVE | ATTR_READONLY;
    +	ndirent.de_StartCluster = 0;
    +	ndirent.de_FileSize = 0;
    +	ndirent.de_dev = pdep->de_dev;
    +	ndirent.de_devvp = pdep->de_devvp;
    +	ndirent.de_pmp = pdep->de_pmp;
    +	ndirent.de_flag = DE_ACCESS | DE_CREATE | DE_UPDATE;
    +	DETIMES(&ndirent, NULL, NULL, NULL, pdep->de_pmp->pm_gmtoff);
    +	if ((error = createde(&ndirent, pdep, &dep, cnp)) != 0)
    +		goto bad;
    +	fstrans_done(ap->a_dvp->v_mount);
    +	VN_KNOTE(ap->a_dvp, NOTE_WRITE);
    +	vput(ap->a_dvp);
    +	*ap->a_vpp = DETOV(dep);
    +	return (0);
    +
    +bad:
    +	fstrans_done(ap->a_dvp->v_mount);
    +	vput(ap->a_dvp);
    +	return (error);
    +}
    +
    +int
    +msdosfs_close(void *v)
    +{
    +	struct vop_close_args /* {
    +		struct vnode *a_vp;
    +		int a_fflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct denode *dep = VTODE(vp);
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +	mutex_enter(vp->v_interlock);
    +	if (vp->v_usecount > 1)
    +		DETIMES(dep, NULL, NULL, NULL, dep->de_pmp->pm_gmtoff);
    +	mutex_exit(vp->v_interlock);
    +	fstrans_done(vp->v_mount);
    +	return (0);
    +}
    +
    +static int
    +msdosfs_check_possible(struct vnode *vp, struct denode *dep, mode_t mode)
    +{
    +
    +	/*
    +	 * Disallow write attempts on read-only file systems;
    +	 * unless the file is a socket, fifo, or a block or
    +	 * character device resident on the file system.
    +	 */
    +	if (mode & VWRITE) {
    +		switch (vp->v_type) {
    +		case VDIR:
    +		case VLNK:
    +		case VREG:
    +			if (vp->v_mount->mnt_flag & MNT_RDONLY)
    +				return (EROFS);
    +		default:
    +			break;
    +		}
    +	}
    +
    +	return 0;
    +}
    +
    +static int
    +msdosfs_check_permitted(struct vnode *vp, struct denode *dep, mode_t mode,
    +    kauth_cred_t cred)
    +{
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	mode_t file_mode;
    +
    +	if ((dep->de_Attributes & ATTR_READONLY) == 0)
    +		file_mode = S_IRWXU|S_IRWXG|S_IRWXO;
    +	else
    +		file_mode = S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH;
    +
    +	file_mode &= (vp->v_type == VDIR ? pmp->pm_dirmask : pmp->pm_mask);
    +
    +	return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode,
    +	    vp->v_type, file_mode), vp, NULL, genfs_can_access(vp->v_type,
    +	    file_mode, pmp->pm_uid, pmp->pm_gid, mode, cred));
    +}
    +
    +int
    +msdosfs_access(void *v)
    +{
    +	struct vop_access_args /* {
    +		struct vnode *a_vp;
    +		int a_mode;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct denode *dep = VTODE(vp);
    +	int error;
    +
    +	error = msdosfs_check_possible(vp, dep, ap->a_mode);
    +	if (error)
    +		return error;
    +
    +	error = msdosfs_check_permitted(vp, dep, ap->a_mode, ap->a_cred);
    +
    +	return error;
    +}
    +
    +int
    +msdosfs_getattr(void *v)
    +{
    +	struct vop_getattr_args /* {
    +		struct vnode *a_vp;
    +		struct vattr *a_vap;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct denode *dep = VTODE(ap->a_vp);
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct vattr *vap = ap->a_vap;
    +	mode_t mode;
    +	u_long dirsperblk = pmp->pm_BytesPerSec / sizeof(struct direntry);
    +	ino_t fileid;
    +
    +	fstrans_start(ap->a_vp->v_mount, FSTRANS_SHARED);
    +	DETIMES(dep, NULL, NULL, NULL, pmp->pm_gmtoff);
    +	vap->va_fsid = dep->de_dev;
    +	/*
    +	 * The following computation of the fileid must be the same as that
    +	 * used in msdosfs_readdir() to compute d_fileno. If not, pwd
    +	 * doesn't work.
    +	 */
    +	if (dep->de_Attributes & ATTR_DIRECTORY) {
    +		fileid = cntobn(pmp, (ino_t)dep->de_StartCluster) * dirsperblk;
    +		if (dep->de_StartCluster == MSDOSFSROOT)
    +			fileid = 1;
    +	} else {
    +		fileid = cntobn(pmp, (ino_t)dep->de_dirclust) * dirsperblk;
    +		if (dep->de_dirclust == MSDOSFSROOT)
    +			fileid = roottobn(pmp, 0) * dirsperblk;
    +		fileid += dep->de_diroffset / sizeof(struct direntry);
    +	}
    +	vap->va_fileid = fileid;
    +	if ((dep->de_Attributes & ATTR_READONLY) == 0)
    +		mode = S_IRWXU|S_IRWXG|S_IRWXO;
    +	else
    +		mode = S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH;
    +	vap->va_mode =
    +	    mode & (ap->a_vp->v_type == VDIR ? pmp->pm_dirmask : pmp->pm_mask);
    +	vap->va_uid = pmp->pm_uid;
    +	vap->va_gid = pmp->pm_gid;
    +	vap->va_nlink = 1;
    +	vap->va_rdev = 0;
    +	vap->va_size = ap->a_vp->v_size;
    +	dos2unixtime(dep->de_MDate, dep->de_MTime, 0, pmp->pm_gmtoff,
    +	    &vap->va_mtime);
    +	if (dep->de_pmp->pm_flags & MSDOSFSMNT_LONGNAME) {
    +		dos2unixtime(dep->de_ADate, 0, 0, pmp->pm_gmtoff,
    +		    &vap->va_atime);
    +		dos2unixtime(dep->de_CDate, dep->de_CTime, dep->de_CHun,
    +		    pmp->pm_gmtoff, &vap->va_ctime);
    +	} else {
    +		vap->va_atime = vap->va_mtime;
    +		vap->va_ctime = vap->va_mtime;
    +	}
    +	vap->va_flags = 0;
    +	if ((dep->de_Attributes & ATTR_ARCHIVE) == 0) {
    +		vap->va_flags |= SF_ARCHIVED;
    +		vap->va_mode  |= S_ARCH1;
    +	}
    +	vap->va_gen = 0;
    +	vap->va_blocksize = pmp->pm_bpcluster;
    +	vap->va_bytes =
    +	    (dep->de_FileSize + pmp->pm_crbomask) & ~pmp->pm_crbomask;
    +	vap->va_type = ap->a_vp->v_type;
    +	fstrans_done(ap->a_vp->v_mount);
    +	return (0);
    +}
    +
    +int
    +msdosfs_setattr(void *v)
    +{
    +	struct vop_setattr_args /* {
    +		struct vnode *a_vp;
    +		struct vattr *a_vap;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	int error = 0, de_changed = 0;
    +	struct denode *dep = VTODE(ap->a_vp);
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct vnode *vp  = ap->a_vp;
    +	struct vattr *vap = ap->a_vap;
    +	kauth_cred_t cred = ap->a_cred;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_setattr(): vp %p, vap %p, cred %p\n",
    +	    ap->a_vp, vap, cred);
    +#endif
    +	/*
    +	 * Note we silently ignore uid or gid changes.
    +	 */
    +	if ((vap->va_type != VNON) || (vap->va_nlink != (nlink_t)VNOVAL) ||
    +	    (vap->va_fsid != VNOVAL) || (vap->va_fileid != VNOVAL) ||
    +	    (vap->va_blocksize != VNOVAL) || (vap->va_rdev != VNOVAL) ||
    +	    (vap->va_bytes != VNOVAL) || (vap->va_gen != VNOVAL) ||
    +	    (vap->va_uid != VNOVAL && vap->va_uid != pmp->pm_uid) ||
    +	    (vap->va_gid != VNOVAL && vap->va_gid != pmp->pm_gid)) {
    +#ifdef MSDOSFS_DEBUG
    +		printf("msdosfs_setattr(): returning EINVAL\n");
    +		printf("    va_type %d, va_nlink %x, va_fsid %"PRIx64", va_fileid %llx\n",
    +		    vap->va_type, vap->va_nlink, vap->va_fsid,
    +		    (unsigned long long)vap->va_fileid);
    +		printf("    va_blocksize %lx, va_rdev %"PRIx64", va_bytes %"PRIx64", va_gen %lx\n",
    +		    vap->va_blocksize, vap->va_rdev, vap->va_bytes, vap->va_gen);
    +#endif
    +		return (EINVAL);
    +	}
    +	/*
    +	 * Silently ignore attributes modifications on directories.
    +	 */
    +	if (ap->a_vp->v_type == VDIR)
    +		return 0;
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +	if (vap->va_size != VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto bad;
    +		}
    +		error = detrunc(dep, (u_long)vap->va_size, 0, cred);
    +		if (error)
    +			goto bad;
    +		de_changed = 1;
    +	}
    +	if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto bad;
    +		}
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_TIMES,
    +		    ap->a_vp, NULL, genfs_can_chtimes(ap->a_vp, vap->va_vaflags,
    +		    pmp->pm_uid, cred));
    +		if (error)
    +			goto bad;
    +		if ((pmp->pm_flags & MSDOSFSMNT_NOWIN95) == 0 &&
    +		    vap->va_atime.tv_sec != VNOVAL)
    +			unix2dostime(&vap->va_atime, pmp->pm_gmtoff, &dep->de_ADate, NULL, NULL);
    +		if (vap->va_mtime.tv_sec != VNOVAL)
    +			unix2dostime(&vap->va_mtime, pmp->pm_gmtoff, &dep->de_MDate, &dep->de_MTime, NULL);
    +		dep->de_Attributes |= ATTR_ARCHIVE;
    +		dep->de_flag |= DE_MODIFIED;
    +		de_changed = 1;
    +	}
    +	/*
    +	 * DOS files only have the ability to have their writability
    +	 * attribute set, so we use the owner write bit to set the readonly
    +	 * attribute.
    +	 */
    +	if (vap->va_mode != (mode_t)VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto bad;
    +		}
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_FLAGS, vp,
    +		    NULL, genfs_can_chflags(cred, vp->v_type, pmp->pm_uid, false));
    +		if (error)
    +			goto bad;
    +		/* We ignore the read and execute bits. */
    +		if (vap->va_mode & S_IWUSR)
    +			dep->de_Attributes &= ~ATTR_READONLY;
    +		else
    +			dep->de_Attributes |= ATTR_READONLY;
    +		dep->de_flag |= DE_MODIFIED;
    +		de_changed = 1;
    +	}
    +	/*
    +	 * Allow the `archived' bit to be toggled.
    +	 */
    +	if (vap->va_flags != VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto bad;
    +		}
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_FLAGS, vp,
    +		    NULL, genfs_can_chflags(cred, vp->v_type, pmp->pm_uid, false));
    +		if (error)
    +			goto bad;
    +		if (vap->va_flags & SF_ARCHIVED)
    +			dep->de_Attributes &= ~ATTR_ARCHIVE;
    +		else
    +			dep->de_Attributes |= ATTR_ARCHIVE;
    +		dep->de_flag |= DE_MODIFIED;
    +		de_changed = 1;
    +	}
    +
    +	if (de_changed) {
    +		VN_KNOTE(vp, NOTE_ATTRIB);
    +		error = deupdat(dep, 1);
    +		if (error)
    +			goto bad;
    +	}
    +
    +bad:
    +	fstrans_done(vp->v_mount);
    +	return error;
    +}
    +
    +int
    +msdosfs_read(void *v)
    +{
    +	struct vop_read_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	int error = 0;
    +	int64_t diff;
    +	int blsize;
    +	long n;
    +	long on;
    +	daddr_t lbn;
    +	vsize_t bytelen;
    +	struct buf *bp;
    +	struct vnode *vp = ap->a_vp;
    +	struct denode *dep = VTODE(vp);
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct uio *uio = ap->a_uio;
    +
    +	/*
    +	 * If they didn't ask for any data, then we are done.
    +	 */
    +
    +	if (uio->uio_resid == 0)
    +		return (0);
    +	if (uio->uio_offset < 0)
    +		return (EINVAL);
    +	if (uio->uio_offset >= dep->de_FileSize)
    +		return (0);
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +	if (vp->v_type == VREG) {
    +		const int advice = IO_ADV_DECODE(ap->a_ioflag);
    +
    +		while (uio->uio_resid > 0) {
    +			bytelen = MIN(dep->de_FileSize - uio->uio_offset,
    +				      uio->uio_resid);
    +
    +			if (bytelen == 0)
    +				break;
    +			error = ubc_uiomove(&vp->v_uobj, uio, bytelen, advice,
    +			    UBC_READ | UBC_PARTIALOK | UBC_UNMAP_FLAG(vp));
    +			if (error)
    +				break;
    +		}
    +		dep->de_flag |= DE_ACCESS;
    +		goto out;
    +	}
    +
    +	/* this loop is only for directories now */
    +	do {
    +		lbn = de_cluster(pmp, uio->uio_offset);
    +		on = uio->uio_offset & pmp->pm_crbomask;
    +		n = MIN(pmp->pm_bpcluster - on, uio->uio_resid);
    +		if (uio->uio_offset >= dep->de_FileSize) {
    +			fstrans_done(vp->v_mount);
    +			return (0);
    +		}
    +		/* file size (and hence diff) may be up to 4GB */
    +		diff = dep->de_FileSize - uio->uio_offset;
    +		if (diff < n)
    +			n = (long) diff;
    +
    +		/* convert cluster # to sector # */
    +		error = pcbmap(dep, lbn, &lbn, 0, &blsize);
    +		if (error)
    +			goto bad;
    +
    +		/*
    +		 * If we are operating on a directory file then be sure to
    +		 * do i/o with the vnode for the filesystem instead of the
    +		 * vnode for the directory.
    +		 */
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, lbn), blsize,
    +		    NOCRED, 0, &bp);
    +		if (error) {
    +			goto bad;
    +		}
    +		n = MIN(n, pmp->pm_bpcluster - bp->b_resid);
    +		error = uiomove((char *)bp->b_data + on, (int) n, uio);
    +		brelse(bp, 0);
    +	} while (error == 0 && uio->uio_resid > 0 && n != 0);
    +
    +out:
    +	if ((ap->a_ioflag & IO_SYNC) == IO_SYNC)
    +		error = deupdat(dep, 1);
    +bad:
    +	fstrans_done(vp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * Write data to a file or directory.
    + */
    +int
    +msdosfs_write(void *v)
    +{
    +	struct vop_write_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	int resid, extended = 0;
    +	int error = 0;
    +	int ioflag = ap->a_ioflag;
    +	u_long osize;
    +	u_long count;
    +	vsize_t bytelen;
    +	off_t oldoff;
    +	size_t rem;
    +	struct uio *uio = ap->a_uio;
    +	struct vnode *vp = ap->a_vp;
    +	struct denode *dep = VTODE(vp);
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	kauth_cred_t cred = ap->a_cred;
    +	bool async;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_write(vp %p, uio %p, ioflag %x, cred %p\n",
    +	    vp, uio, ioflag, cred);
    +	printf("msdosfs_write(): diroff %lu, dirclust %lu, startcluster %lu\n",
    +	    dep->de_diroffset, dep->de_dirclust, dep->de_StartCluster);
    +#endif
    +
    +	switch (vp->v_type) {
    +	case VREG:
    +		if (ioflag & IO_APPEND)
    +			uio->uio_offset = dep->de_FileSize;
    +		break;
    +	case VDIR:
    +		return EISDIR;
    +	default:
    +		panic("msdosfs_write(): bad file type");
    +	}
    +
    +	if (uio->uio_offset < 0)
    +		return (EINVAL);
    +
    +	if (uio->uio_resid == 0)
    +		return (0);
    +
    +	/* Don't bother to try to write files larger than the fs limit */
    +	if (uio->uio_offset + uio->uio_resid > MSDOSFS_FILESIZE_MAX)
    +		return (EFBIG);
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +	/*
    +	 * If the offset we are starting the write at is beyond the end of
    +	 * the file, then they've done a seek.  Unix filesystems allow
    +	 * files with holes in them, DOS doesn't so we must fill the hole
    +	 * with zeroed blocks.
    +	 */
    +	if (uio->uio_offset > dep->de_FileSize) {
    +		if ((error = deextend(dep, uio->uio_offset, cred)) != 0) {
    +			fstrans_done(vp->v_mount);
    +			return (error);
    +		}
    +	}
    +
    +	/*
    +	 * Remember some values in case the write fails.
    +	 */
    +	async = vp->v_mount->mnt_flag & MNT_ASYNC;
    +	resid = uio->uio_resid;
    +	osize = dep->de_FileSize;
    +
    +	/*
    +	 * If we write beyond the end of the file, extend it to its ultimate
    +	 * size ahead of the time to hopefully get a contiguous area.
    +	 */
    +	if (uio->uio_offset + resid > osize) {
    +		count = de_clcount(pmp, uio->uio_offset + resid) -
    +			de_clcount(pmp, osize);
    +		if ((error = extendfile(dep, count, NULL, NULL, 0)))
    +			goto errexit;
    +
    +		dep->de_FileSize = uio->uio_offset + resid;
    +		/* hint uvm to not read in extended part */
    +		uvm_vnp_setwritesize(vp, dep->de_FileSize);
    +		/* zero out the remainder of the last page */
    +		rem = round_page(dep->de_FileSize) - dep->de_FileSize;
    +		if (rem > 0)
    +			ubc_zerorange(&vp->v_uobj, (off_t)dep->de_FileSize,
    +			    rem, UBC_UNMAP_FLAG(vp));
    +		extended = 1;
    +	}
    +
    +	do {
    +		oldoff = uio->uio_offset;
    +		bytelen = uio->uio_resid;
    +
    +		error = ubc_uiomove(&vp->v_uobj, uio, bytelen,
    +		    IO_ADV_DECODE(ioflag), UBC_WRITE | UBC_UNMAP_FLAG(vp));
    +		if (error)
    +			break;
    +
    +		/*
    +		 * flush what we just wrote if necessary.
    +		 * XXXUBC simplistic async flushing.
    +		 */
    +
    +		if (!async && oldoff >> 16 != uio->uio_offset >> 16) {
    +			mutex_enter(vp->v_interlock);
    +			error = VOP_PUTPAGES(vp, (oldoff >> 16) << 16,
    +			    (uio->uio_offset >> 16) << 16,
    +			    PGO_CLEANIT | PGO_LAZY);
    +		}
    +	} while (error == 0 && uio->uio_resid > 0);
    +
    +	/* set final size */
    +	uvm_vnp_setsize(vp, dep->de_FileSize);
    +	if (error == 0 && ioflag & IO_SYNC) {
    +		mutex_enter(vp->v_interlock);
    +		error = VOP_PUTPAGES(vp, trunc_page(oldoff),
    +		    round_page(oldoff + bytelen), PGO_CLEANIT | PGO_SYNCIO);
    +	}
    +	dep->de_flag |= DE_UPDATE;
    +
    +	/*
    +	 * If the write failed and they want us to, truncate the file back
    +	 * to the size it was before the write was attempted.
    +	 */
    +errexit:
    +	if (resid > uio->uio_resid)
    +		VN_KNOTE(vp, NOTE_WRITE | (extended ? NOTE_EXTEND : 0));
    +	if (error) {
    +		detrunc(dep, osize, ioflag & IO_SYNC, NOCRED);
    +		uio->uio_offset -= resid - uio->uio_resid;
    +		uio->uio_resid = resid;
    +	} else if ((ioflag & IO_SYNC) == IO_SYNC)
    +		error = deupdat(dep, 1);
    +	fstrans_done(vp->v_mount);
    +	KASSERT(vp->v_size == dep->de_FileSize);
    +	return (error);
    +}
    +
    +int
    +msdosfs_update(struct vnode *vp, const struct timespec *acc,
    +    const struct timespec *mod, int flags)
    +{
    +	struct buf *bp;
    +	struct direntry *dirp;
    +	struct denode *dep;
    +	int error;
    +
    +	if (vp->v_mount->mnt_flag & MNT_RDONLY)
    +		return (0);
    +	dep = VTODE(vp);
    +	DETIMES(dep, acc, mod, NULL, dep->de_pmp->pm_gmtoff);
    +	if ((dep->de_flag & DE_MODIFIED) == 0)
    +		return (0);
    +	dep->de_flag &= ~DE_MODIFIED;
    +	if (dep->de_Attributes & ATTR_DIRECTORY)
    +		return (0);
    +	if (dep->de_refcnt <= 0)
    +		return (0);
    +	error = readde(dep, &bp, &dirp);
    +	if (error)
    +		return (error);
    +	DE_EXTERNALIZE(dirp, dep);
    +	if (flags & (UPDATE_WAIT|UPDATE_DIROP))
    +		return (bwrite(bp));
    +	else {
    +		bdwrite(bp);
    +		return (0);
    +	}
    +}
    +
    +/*
    + * Flush the blocks of a file to disk.
    + *
    + * This function is worthless for vnodes that represent directories. Maybe we
    + * could just do a sync if they try an fsync on a directory file.
    + */
    +int
    +msdosfs_remove(void *v)
    +{
    +	struct vop_remove_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	struct denode *dep = VTODE(ap->a_vp);
    +	struct denode *ddep = VTODE(ap->a_dvp);
    +	int error;
    +
    +	fstrans_start(ap->a_dvp->v_mount, FSTRANS_SHARED);
    +	if (ap->a_vp->v_type == VDIR)
    +		error = EPERM;
    +	else
    +		error = removede(ddep, dep);
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_remove(), dep %p, v_usecount %d\n",
    +		dep, ap->a_vp->v_usecount);
    +#endif
    +	VN_KNOTE(ap->a_vp, NOTE_DELETE);
    +	VN_KNOTE(ap->a_dvp, NOTE_WRITE);
    +	if (ddep == dep)
    +		vrele(ap->a_vp);
    +	else
    +		vput(ap->a_vp);	/* causes msdosfs_inactive() to be called
    +				 * via vrele() */
    +	vput(ap->a_dvp);
    +	fstrans_done(ap->a_dvp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * Renames on files require moving the denode to a new hash queue since the
    + * denode's location is used to compute which hash queue to put the file
    + * in. Unless it is a rename in place.  For example "mv a b".
    + *
    + * What follows is the basic algorithm:
    + *
    + * if (file move) {
    + *	if (dest file exists) {
    + *		remove dest file
    + *	}
    + *	if (dest and src in same directory) {
    + *		rewrite name in existing directory slot
    + *	} else {
    + *		write new entry in dest directory
    + *		update offset and dirclust in denode
    + *		move denode to new hash chain
    + *		clear old directory entry
    + *	}
    + * } else {
    + *	directory move
    + *	if (dest directory exists) {
    + *		if (dest is not empty) {
    + *			return ENOTEMPTY
    + *		}
    + *		remove dest directory
    + *	}
    + *	if (dest and src in same directory) {
    + *		rewrite name in existing entry
    + *	} else {
    + *		be sure dest is not a child of src directory
    + *		write entry in dest directory
    + *		update "." and ".." in moved directory
    + *		update offset and dirclust in denode
    + *		move denode to new hash chain
    + *		clear old directory entry for moved directory
    + *	}
    + * }
    + *
    + * On entry:
    + *	source's parent directory is unlocked
    + *	source file or directory is unlocked
    + *	destination's parent directory is locked
    + *	destination file or directory is locked if it exists
    + *
    + * On exit:
    + *	all denodes should be released
    + *
    + * Notes:
    + * I'm not sure how the memory containing the pathnames pointed at by the
    + * componentname structures is freed, there may be some memory bleeding
    + * for each rename done.
    + *
    + * --More-- Notes:
    + * This routine needs help.  badly.
    + */
    +int
    +msdosfs_rename(void *v)
    +{
    +	struct vop_rename_args /* {
    +		struct vnode *a_fdvp;
    +		struct vnode *a_fvp;
    +		struct componentname *a_fcnp;
    +		struct vnode *a_tdvp;
    +		struct vnode *a_tvp;
    +		struct componentname *a_tcnp;
    +	} */ *ap = v;
    +	struct vnode *tvp = ap->a_tvp;
    +	struct vnode *tdvp = ap->a_tdvp;
    +	struct vnode *fvp = ap->a_fvp;
    +	struct vnode *fdvp = ap->a_fdvp;
    +	struct mount *mp = fdvp->v_mount;
    +	struct componentname *tcnp = ap->a_tcnp;
    +	struct componentname *fcnp = ap->a_fcnp;
    +	struct denode *ip, *xp, *dp, *zp;
    +	u_char toname[12], oldname[12];
    +	u_long from_diroffset, to_diroffset;
    +	u_char to_count;
    +	int doingdirectory = 0, newparent = 0;
    +	int error;
    +	u_long cn;
    +	daddr_t bn;
    +	struct msdosfsmount *pmp;
    +	struct direntry *dotdotp;
    +	struct buf *bp;
    +
    +	pmp = VFSTOMSDOSFS(fdvp->v_mount);
    +
    +	/*
    +	 * Check for cross-device rename.
    +	 */
    +	if ((fvp->v_mount != tdvp->v_mount) ||
    +	    (tvp && (fvp->v_mount != tvp->v_mount))) {
    +		error = EXDEV;
    +abortit:
    +		VOP_ABORTOP(tdvp, tcnp);
    +		if (tdvp == tvp)
    +			vrele(tdvp);
    +		else
    +			vput(tdvp);
    +		if (tvp)
    +			vput(tvp);
    +		VOP_ABORTOP(fdvp, fcnp);
    +		vrele(fdvp);
    +		vrele(fvp);
    +		return (error);
    +	}
    +
    +	/*
    +	 * If source and dest are the same, do nothing.
    +	 */
    +	if (tvp == fvp) {
    +		error = 0;
    +		goto abortit;
    +	}
    +
    +	/*
    +	 * XXX: This can deadlock since we hold tdvp/tvp locked.
    +	 * But I'm not going to fix it now.
    +	 */
    +	if ((error = vn_lock(fvp, LK_EXCLUSIVE)) != 0)
    +		goto abortit;
    +	dp = VTODE(fdvp);
    +	ip = VTODE(fvp);
    +
    +	/*
    +	 * Be sure we are not renaming ".", "..", or an alias of ".". This
    +	 * leads to a crippled directory tree.  It's pretty tough to do a
    +	 * "ls" or "pwd" with the "." directory entry missing, and "cd .."
    +	 * doesn't work if the ".." entry is missing.
    +	 */
    +	if (ip->de_Attributes & ATTR_DIRECTORY) {
    +		/*
    +		 * Avoid ".", "..", and aliases of "." for obvious reasons.
    +		 */
    +		if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
    +		    dp == ip ||
    +		    (fcnp->cn_flags & ISDOTDOT) ||
    +		    (tcnp->cn_flags & ISDOTDOT) ||
    +		    (ip->de_flag & DE_RENAME)) {
    +			VOP_UNLOCK(fvp);
    +			error = EINVAL;
    +			goto abortit;
    +		}
    +		ip->de_flag |= DE_RENAME;
    +		doingdirectory++;
    +	}
    +	VN_KNOTE(fdvp, NOTE_WRITE);		/* XXXLUKEM/XXX: right place? */
    +
    +	fstrans_start(mp, FSTRANS_SHARED);
    +	/*
    +	 * When the target exists, both the directory
    +	 * and target vnodes are returned locked.
    +	 */
    +	dp = VTODE(tdvp);
    +	xp = tvp ? VTODE(tvp) : NULL;
    +	/*
    +	 * Remember direntry place to use for destination
    +	 */
    +	to_diroffset = dp->de_fndoffset;
    +	to_count = dp->de_fndcnt;
    +
    +	/*
    +	 * If ".." must be changed (ie the directory gets a new
    +	 * parent) then the source directory must not be in the
    +	 * directory hierarchy above the target, as this would
    +	 * orphan everything below the source directory. Also
    +	 * the user must have write permission in the source so
    +	 * as to be able to change "..". We must repeat the call
    +	 * to namei, as the parent directory is unlocked by the
    +	 * call to doscheckpath().
    +	 */
    +	error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred);
    +	VOP_UNLOCK(fvp);
    +	if (VTODE(fdvp)->de_StartCluster != VTODE(tdvp)->de_StartCluster)
    +		newparent = 1;
    +
    +	if (doingdirectory && newparent) {
    +		if (error)	/* write access check above */
    +			goto tdvpbad;
    +		if (xp != NULL)
    +			vput(tvp);
    +		tvp = NULL;
    +		/*
    +		 * doscheckpath() vput()'s tdvp (dp == VTODE(tdvp)),
    +		 * so we have to get an extra ref to it first, and
    +		 * because it's been unlocked we need to do a relookup
    +		 * afterwards in case tvp has changed.
    +		 */
    +		vref(tdvp);
    +		if ((error = doscheckpath(ip, dp)) != 0)
    +			goto bad;
    +		vn_lock(tdvp, LK_EXCLUSIVE | LK_RETRY);
    +		if ((error = relookup(tdvp, &tvp, tcnp, 0)) != 0) {
    +			VOP_UNLOCK(tdvp);
    +			goto bad;
    +		}
    +		dp = VTODE(tdvp);
    +		xp = tvp ? VTODE(tvp) : NULL;
    +	}
    +
    +	if (xp != NULL) {
    +		/*
    +		 * Target must be empty if a directory and have no links
    +		 * to it. Also, ensure source and target are compatible
    +		 * (both directories, or both not directories).
    +		 */
    +		if (xp->de_Attributes & ATTR_DIRECTORY) {
    +			if (!dosdirempty(xp)) {
    +				error = ENOTEMPTY;
    +				goto tdvpbad;
    +			}
    +			if (!doingdirectory) {
    +				error = ENOTDIR;
    +				goto tdvpbad;
    +			}
    +		} else if (doingdirectory) {
    +			error = EISDIR;
    +			goto tdvpbad;
    +		}
    +		if ((error = removede(dp, xp)) != 0)
    +			goto tdvpbad;
    +		VN_KNOTE(tdvp, NOTE_WRITE);
    +		VN_KNOTE(tvp, NOTE_DELETE);
    +		cache_purge(tvp);
    +		vput(tvp);
    +		tvp = NULL;
    +		xp = NULL;
    +	}
    +
    +	/*
    +	 * Convert the filename in tcnp into a dos filename. We copy this
    +	 * into the denode and directory entry for the destination
    +	 * file/directory.
    +	 */
    +	if ((error = uniqdosname(VTODE(tdvp), tcnp, toname)) != 0) {
    +		fstrans_done(mp);
    +		goto abortit;
    +	}
    +
    +	/*
    +	 * Since from wasn't locked at various places above,
    +	 * have to do a relookup here.
    +	 */
    +	fcnp->cn_flags &= ~MODMASK;
    +	fcnp->cn_flags |= LOCKPARENT | LOCKLEAF;
    +	VOP_UNLOCK(tdvp);
    +	vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
    +	if ((error = relookup(fdvp, &fvp, fcnp, 0))) {
    +		VOP_UNLOCK(fdvp);
    +		vrele(ap->a_fvp);
    +		vrele(tdvp);
    +		fstrans_done(mp);
    +		return (error);
    +	}
    +	if (fvp == NULL) {
    +		/*
    +		 * From name has disappeared.
    +		 */
    +		if (doingdirectory)
    +			panic("rename: lost dir entry");
    +		vput(fdvp);
    +		vrele(ap->a_fvp);
    +		vrele(tdvp);
    +		fstrans_done(mp);
    +		return 0;
    +	}
    +	VOP_UNLOCK(fdvp);
    +	xp = VTODE(fvp);
    +	zp = VTODE(fdvp);
    +	from_diroffset = zp->de_fndoffset;
    +
    +	/*
    +	 * Ensure that the directory entry still exists and has not
    +	 * changed till now. If the source is a file the entry may
    +	 * have been unlinked or renamed. In either case there is
    +	 * no further work to be done. If the source is a directory
    +	 * then it cannot have been rmdir'ed or renamed; this is
    +	 * prohibited by the DE_RENAME flag.
    +	 */
    +	if (xp != ip) {
    +		if (doingdirectory)
    +			panic("rename: lost dir entry");
    +		vrele(ap->a_fvp);
    +		xp = NULL;
    +	} else {
    +		vrele(fvp);
    +		xp = NULL;
    +
    +		/*
    +		 * First write a new entry in the destination
    +		 * directory and mark the entry in the source directory
    +		 * as deleted.  Then move the denode to the correct hash
    +		 * chain for its new location in the filesystem.  And, if
    +		 * we moved a directory, then update its .. entry to point
    +		 * to the new parent directory.
    +		 */
    +		memcpy(oldname, ip->de_Name, 11);
    +		memcpy(ip->de_Name, toname, 11);	/* update denode */
    +		dp->de_fndoffset = to_diroffset;
    +		dp->de_fndcnt = to_count;
    +		error = createde(ip, dp, (struct denode **)0, tcnp);
    +		if (error) {
    +			memcpy(ip->de_Name, oldname, 11);
    +			VOP_UNLOCK(fvp);
    +			goto bad;
    +		}
    +		ip->de_refcnt++;
    +		zp->de_fndoffset = from_diroffset;
    +		if ((error = removede(zp, ip)) != 0) {
    +			/* XXX should really panic here, fs is corrupt */
    +			VOP_UNLOCK(fvp);
    +			goto bad;
    +		}
    +		cache_purge(fvp);
    +		if (!doingdirectory) {
    +			error = pcbmap(dp, de_cluster(pmp, to_diroffset), 0,
    +				       &ip->de_dirclust, 0);
    +			if (error) {
    +				/* XXX should really panic here, fs is corrupt */
    +				VOP_UNLOCK(fvp);
    +				goto bad;
    +			}
    +			ip->de_diroffset = to_diroffset;
    +			if (ip->de_dirclust != MSDOSFSROOT)
    +				ip->de_diroffset &= pmp->pm_crbomask;
    +		}
    +		reinsert(ip);
    +	}
    +
    +	/*
    +	 * If we moved a directory to a new parent directory, then we must
    +	 * fixup the ".." entry in the moved directory.
    +	 */
    +	if (doingdirectory && newparent) {
    +		cn = ip->de_StartCluster;
    +		if (cn == MSDOSFSROOT) {
    +			/* this should never happen */
    +			panic("msdosfs_rename: updating .. in root directory?");
    +		} else
    +			bn = cntobn(pmp, cn);
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn),
    +		    pmp->pm_bpcluster, NOCRED, B_MODIFY, &bp);
    +		if (error) {
    +			/* XXX should really panic here, fs is corrupt */
    +			VOP_UNLOCK(fvp);
    +			goto bad;
    +		}
    +		dotdotp = (struct direntry *)bp->b_data + 1;
    +		putushort(dotdotp->deStartCluster, dp->de_StartCluster);
    +		if (FAT32(pmp)) {
    +			putushort(dotdotp->deHighClust,
    +				dp->de_StartCluster >> 16);
    +		} else {
    +			putushort(dotdotp->deHighClust, 0);
    +		}
    +		if ((error = bwrite(bp)) != 0) {
    +			/* XXX should really panic here, fs is corrupt */
    +			VOP_UNLOCK(fvp);
    +			goto bad;
    +		}
    +	}
    +
    +	VN_KNOTE(fvp, NOTE_RENAME);
    +	VOP_UNLOCK(fvp);
    +bad:
    +	if (tvp)
    +		vput(tvp);
    +	vrele(tdvp);
    +	ip->de_flag &= ~DE_RENAME;
    +	vrele(fdvp);
    +	vrele(fvp);
    +	fstrans_done(mp);
    +	return (error);
    +
    +	/* XXX: uuuh */
    +tdvpbad:
    +	VOP_UNLOCK(tdvp);
    +	goto bad;
    +}
    +
    +static const struct {
    +	struct direntry dot;
    +	struct direntry dotdot;
    +} dosdirtemplate = {
    +	{	".       ", "   ",			/* the . entry */
    +		ATTR_DIRECTORY,				/* file attribute */
    +		0,	 				/* reserved */
    +		0, { 0, 0 }, { 0, 0 },			/* create time & date */
    +		{ 0, 0 },				/* access date */
    +		{ 0, 0 },				/* high bits of start cluster */
    +		{ 210, 4 }, { 210, 4 },			/* modify time & date */
    +		{ 0, 0 },				/* startcluster */
    +		{ 0, 0, 0, 0 } 				/* filesize */
    +	},
    +	{	"..      ", "   ",			/* the .. entry */
    +		ATTR_DIRECTORY,				/* file attribute */
    +		0,	 				/* reserved */
    +		0, { 0, 0 }, { 0, 0 },			/* create time & date */
    +		{ 0, 0 },				/* access date */
    +		{ 0, 0 },				/* high bits of start cluster */
    +		{ 210, 4 }, { 210, 4 },			/* modify time & date */
    +		{ 0, 0 },				/* startcluster */
    +		{ 0, 0, 0, 0 }				/* filesize */
    +	}
    +};
    +
    +int
    +msdosfs_mkdir(void *v)
    +{
    +	struct vop_mkdir_args /* {
    +		struct vnode *a_dvp;
    +		struvt vnode **a_vpp;
    +		struvt componentname *a_cnp;
    +		struct vattr *a_vap;
    +	} */ *ap = v;
    +	struct componentname *cnp = ap->a_cnp;
    +	struct denode ndirent;
    +	struct denode *dep;
    +	struct denode *pdep = VTODE(ap->a_dvp);
    +	int error;
    +	int bn;
    +	u_long newcluster, pcl;
    +	daddr_t lbn;
    +	struct direntry *denp;
    +	struct msdosfsmount *pmp = pdep->de_pmp;
    +	struct buf *bp;
    +	int async = pdep->de_pmp->pm_mountp->mnt_flag & MNT_ASYNC;
    +
    +	fstrans_start(ap->a_dvp->v_mount, FSTRANS_SHARED);
    +	/*
    +	 * If this is the root directory and there is no space left we
    +	 * can't do anything.  This is because the root directory can not
    +	 * change size.
    +	 */
    +	if (pdep->de_StartCluster == MSDOSFSROOT
    +	    && pdep->de_fndoffset >= pdep->de_FileSize) {
    +		error = ENOSPC;
    +		goto bad2;
    +	}
    +
    +	/*
    +	 * Allocate a cluster to hold the about to be created directory.
    +	 */
    +	error = clusteralloc(pmp, 0, 1, &newcluster, NULL);
    +	if (error)
    +		goto bad2;
    +
    +	memset(&ndirent, 0, sizeof(ndirent));
    +	ndirent.de_pmp = pmp;
    +	ndirent.de_flag = DE_ACCESS | DE_CREATE | DE_UPDATE;
    +	DETIMES(&ndirent, NULL, NULL, NULL, pmp->pm_gmtoff);
    +
    +	/*
    +	 * Now fill the cluster with the "." and ".." entries. And write
    +	 * the cluster to disk.  This way it is there for the parent
    +	 * directory to be pointing at if there were a crash.
    +	 */
    +	bn = cntobn(pmp, newcluster);
    +	lbn = de_bn2kb(pmp, bn);
    +	/* always succeeds */
    +	bp = getblk(pmp->pm_devvp, lbn, pmp->pm_bpcluster, 0, 0);
    +	memset(bp->b_data, 0, pmp->pm_bpcluster);
    +	memcpy(bp->b_data, &dosdirtemplate, sizeof dosdirtemplate);
    +	denp = (struct direntry *)bp->b_data;
    +	putushort(denp[0].deStartCluster, newcluster);
    +	putushort(denp[0].deCDate, ndirent.de_CDate);
    +	putushort(denp[0].deCTime, ndirent.de_CTime);
    +	denp[0].deCHundredth = ndirent.de_CHun;
    +	putushort(denp[0].deADate, ndirent.de_ADate);
    +	putushort(denp[0].deMDate, ndirent.de_MDate);
    +	putushort(denp[0].deMTime, ndirent.de_MTime);
    +	pcl = pdep->de_StartCluster;
    +	if (FAT32(pmp) && pcl == pmp->pm_rootdirblk)
    +		pcl = 0;
    +	putushort(denp[1].deStartCluster, pcl);
    +	putushort(denp[1].deCDate, ndirent.de_CDate);
    +	putushort(denp[1].deCTime, ndirent.de_CTime);
    +	denp[1].deCHundredth = ndirent.de_CHun;
    +	putushort(denp[1].deADate, ndirent.de_ADate);
    +	putushort(denp[1].deMDate, ndirent.de_MDate);
    +	putushort(denp[1].deMTime, ndirent.de_MTime);
    +	if (FAT32(pmp)) {
    +		putushort(denp[0].deHighClust, newcluster >> 16);
    +		putushort(denp[1].deHighClust, pdep->de_StartCluster >> 16);
    +	} else {
    +		putushort(denp[0].deHighClust, 0);
    +		putushort(denp[1].deHighClust, 0);
    +	}
    +
    +	if (async)
    +		bdwrite(bp);
    +	else if ((error = bwrite(bp)) != 0)
    +		goto bad;
    +
    +	/*
    +	 * Now build up a directory entry pointing to the newly allocated
    +	 * cluster.  This will be written to an empty slot in the parent
    +	 * directory.
    +	 */
    +	if ((error = uniqdosname(pdep, cnp, ndirent.de_Name)) != 0)
    +		goto bad;
    +
    +	ndirent.de_Attributes = ATTR_DIRECTORY;
    +	ndirent.de_StartCluster = newcluster;
    +	ndirent.de_FileSize = 0;
    +	ndirent.de_dev = pdep->de_dev;
    +	ndirent.de_devvp = pdep->de_devvp;
    +	if ((error = createde(&ndirent, pdep, &dep, cnp)) != 0)
    +		goto bad;
    +	VN_KNOTE(ap->a_dvp, NOTE_WRITE | NOTE_LINK);
    +	vput(ap->a_dvp);
    +	*ap->a_vpp = DETOV(dep);
    +	fstrans_done(ap->a_dvp->v_mount);
    +	return (0);
    +
    +bad:
    +	clusterfree(pmp, newcluster, NULL);
    +bad2:
    +	vput(ap->a_dvp);
    +	fstrans_done(ap->a_dvp->v_mount);
    +	return (error);
    +}
    +
    +int
    +msdosfs_rmdir(void *v)
    +{
    +	struct vop_rmdir_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct vnode *dvp = ap->a_dvp;
    +	struct mount *mp = dvp->v_mount;
    +	struct componentname *cnp = ap->a_cnp;
    +	struct denode *ip, *dp;
    +	int error;
    +
    +	ip = VTODE(vp);
    +	dp = VTODE(dvp);
    +	/*
    +	 * No rmdir "." please.
    +	 */
    +	if (dp == ip) {
    +		vrele(dvp);
    +		vput(vp);
    +		return (EINVAL);
    +	}
    +	fstrans_start(mp, FSTRANS_SHARED);
    +	/*
    +	 * Verify the directory is empty (and valid).
    +	 * (Rmdir ".." won't be valid since
    +	 *  ".." will contain a reference to
    +	 *  the current directory and thus be
    +	 *  non-empty.)
    +	 */
    +	error = 0;
    +	if (!dosdirempty(ip) || ip->de_flag & DE_RENAME) {
    +		error = ENOTEMPTY;
    +		goto out;
    +	}
    +	/*
    +	 * Delete the entry from the directory.  For dos filesystems this
    +	 * gets rid of the directory entry on disk, the in memory copy
    +	 * still exists but the de_refcnt is <= 0.  This prevents it from
    +	 * being found by deget().  When the vput() on dep is done we give
    +	 * up access and eventually msdosfs_reclaim() will be called which
    +	 * will remove it from the denode cache.
    +	 */
    +	if ((error = removede(dp, ip)) != 0)
    +		goto out;
    +	/*
    +	 * This is where we decrement the link count in the parent
    +	 * directory.  Since dos filesystems don't do this we just purge
    +	 * the name cache and let go of the parent directory denode.
    +	 */
    +	VN_KNOTE(dvp, NOTE_WRITE | NOTE_LINK);
    +	cache_purge(dvp);
    +	vput(dvp);
    +	dvp = NULL;
    +	/*
    +	 * Truncate the directory that is being deleted.
    +	 */
    +	error = detrunc(ip, (u_long)0, IO_SYNC, cnp->cn_cred);
    +	cache_purge(vp);
    +out:
    +	VN_KNOTE(vp, NOTE_DELETE);
    +	if (dvp)
    +		vput(dvp);
    +	vput(vp);
    +	fstrans_done(mp);
    +	return (error);
    +}
    +
    +int
    +msdosfs_readdir(void *v)
    +{
    +	struct vop_readdir_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +		int *a_eofflag;
    +		off_t **a_cookies;
    +		int *a_ncookies;
    +	} */ *ap = v;
    +	int error = 0;
    +	int diff;
    +	long n;
    +	int blsize;
    +	long on;
    +	long lost;
    +	long count;
    +	u_long cn;
    +	ino_t fileno;
    +	u_long dirsperblk;
    +	long bias = 0;
    +	daddr_t bn, lbn;
    +	struct buf *bp;
    +	struct denode *dep = VTODE(ap->a_vp);
    +	struct msdosfsmount *pmp = dep->de_pmp;
    +	struct direntry *dentp;
    +	struct dirent *dirbuf;
    +	struct uio *uio = ap->a_uio;
    +	off_t *cookies = NULL;
    +	int ncookies = 0, nc = 0;
    +	off_t offset, uio_off;
    +	int chksum = -1;
    +
    +#ifdef MSDOSFS_DEBUG
    +	printf("msdosfs_readdir(): vp %p, uio %p, cred %p, eofflagp %p\n",
    +	    ap->a_vp, uio, ap->a_cred, ap->a_eofflag);
    +#endif
    +
    +	/*
    +	 * msdosfs_readdir() won't operate properly on regular files since
    +	 * it does i/o only with the filesystem vnode, and hence can
    +	 * retrieve the wrong block from the buffer cache for a plain file.
    +	 * So, fail attempts to readdir() on a plain file.
    +	 */
    +	if ((dep->de_Attributes & ATTR_DIRECTORY) == 0)
    +		return (ENOTDIR);
    +
    +	/*
    +	 * If the user buffer is smaller than the size of one dos directory
    +	 * entry or the file offset is not a multiple of the size of a
    +	 * directory entry, then we fail the read.
    +	 */
    +	count = uio->uio_resid & ~(sizeof(struct direntry) - 1);
    +	offset = uio->uio_offset;
    +	if (count < sizeof(struct direntry) ||
    +	    (offset & (sizeof(struct direntry) - 1)))
    +		return (EINVAL);
    +	lost = uio->uio_resid - count;
    +	uio->uio_resid = count;
    +	uio_off = uio->uio_offset;
    +	
    +	fstrans_start(ap->a_vp->v_mount, FSTRANS_SHARED);
    +
    +	/* Allocate a temporary dirent buffer. */
    +	dirbuf = malloc(sizeof(struct dirent), M_MSDOSFSTMP, M_WAITOK | M_ZERO);
    +
    +	if (ap->a_ncookies) {
    +		nc = uio->uio_resid / _DIRENT_MINSIZE((struct dirent *)0);
    +		cookies = malloc(nc * sizeof (off_t), M_TEMP, M_WAITOK);
    +		*ap->a_cookies = cookies;
    +	}
    +
    +	dirsperblk = pmp->pm_BytesPerSec / sizeof(struct direntry);
    +
    +	/*
    +	 * If they are reading from the root directory then, we simulate
    +	 * the . and .. entries since these don't exist in the root
    +	 * directory.  We also set the offset bias to make up for having to
    +	 * simulate these entries. By this I mean that at file offset 64 we
    +	 * read the first entry in the root directory that lives on disk.
    +	 */
    +	if (dep->de_StartCluster == MSDOSFSROOT
    +	    || (FAT32(pmp) && dep->de_StartCluster == pmp->pm_rootdirblk)) {
    +#if 0
    +		printf("msdosfs_readdir(): going after . or .. in root dir, "
    +		    "offset %" PRIu64 "\n", offset);
    +#endif
    +		bias = 2 * sizeof(struct direntry);
    +		if (offset < bias) {
    +			for (n = (int)offset / sizeof(struct direntry);
    +			     n < 2; n++) {
    +				if (FAT32(pmp))
    +					dirbuf->d_fileno = cntobn(pmp,
    +					     (ino_t)pmp->pm_rootdirblk)
    +					     * dirsperblk;
    +				else
    +					dirbuf->d_fileno = 1;
    +				dirbuf->d_type = DT_DIR;
    +				switch (n) {
    +				case 0:
    +					dirbuf->d_namlen = 1;
    +					strlcpy(dirbuf->d_name, ".",
    +					    sizeof(dirbuf->d_name));
    +					break;
    +				case 1:
    +					dirbuf->d_namlen = 2;
    +					strlcpy(dirbuf->d_name, "..",
    +					    sizeof(dirbuf->d_name));
    +					break;
    +				}
    +				dirbuf->d_reclen = _DIRENT_SIZE(dirbuf);
    +				if (uio->uio_resid < dirbuf->d_reclen)
    +					goto out;
    +				error = uiomove(dirbuf, dirbuf->d_reclen, uio);
    +				if (error)
    +					goto out;
    +				offset += sizeof(struct direntry);
    +				uio_off = offset;
    +				if (cookies) {
    +					*cookies++ = offset;
    +					ncookies++;
    +					if (ncookies >= nc)
    +						goto out;
    +				}
    +			}
    +		}
    +	}
    +
    +	while (uio->uio_resid > 0) {
    +		lbn = de_cluster(pmp, offset - bias);
    +		on = (offset - bias) & pmp->pm_crbomask;
    +		n = MIN(pmp->pm_bpcluster - on, uio->uio_resid);
    +		diff = dep->de_FileSize - (offset - bias);
    +		if (diff <= 0)
    +			break;
    +		n = MIN(n, diff);
    +		if ((error = pcbmap(dep, lbn, &bn, &cn, &blsize)) != 0)
    +			break;
    +		error = bread(pmp->pm_devvp, de_bn2kb(pmp, bn), blsize,
    +		    NOCRED, 0, &bp);
    +		if (error) {
    +			goto bad;
    +		}
    +		n = MIN(n, blsize - bp->b_resid);
    +
    +		/*
    +		 * Convert from dos directory entries to fs-independent
    +		 * directory entries.
    +		 */
    +		for (dentp = (struct direntry *)((char *)bp->b_data + on);
    +		     (char *)dentp < (char *)bp->b_data + on + n;
    +		     dentp++, offset += sizeof(struct direntry)) {
    +#if 0
    +
    +			printf("rd: dentp %08x prev %08x crnt %08x deName %02x attr %02x\n",
    +			    dentp, prev, crnt, dentp->deName[0], dentp->deAttributes);
    +#endif
    +			/*
    +			 * If this is an unused entry, we can stop.
    +			 */
    +			if (dentp->deName[0] == SLOT_EMPTY) {
    +				brelse(bp, 0);
    +				goto out;
    +			}
    +			/*
    +			 * Skip deleted entries.
    +			 */
    +			if (dentp->deName[0] == SLOT_DELETED) {
    +				chksum = -1;
    +				continue;
    +			}
    +
    +			/*
    +			 * Handle Win95 long directory entries
    +			 */
    +			if (dentp->deAttributes == ATTR_WIN95) {
    +				if (pmp->pm_flags & MSDOSFSMNT_SHORTNAME)
    +					continue;
    +				chksum = win2unixfn((struct winentry *)dentp,
    +				    dirbuf, chksum);
    +				continue;
    +			}
    +
    +			/*
    +			 * Skip volume labels
    +			 */
    +			if (dentp->deAttributes & ATTR_VOLUME) {
    +				chksum = -1;
    +				continue;
    +			}
    +			/*
    +			 * This computation of d_fileno must match
    +			 * the computation of va_fileid in
    +			 * msdosfs_getattr.
    +			 */
    +			if (dentp->deAttributes & ATTR_DIRECTORY) {
    +				fileno = getushort(dentp->deStartCluster);
    +				if (FAT32(pmp))
    +					fileno |= ((ino_t)getushort(dentp->deHighClust)) << 16;
    +				/* if this is the root directory */
    +				if (fileno == MSDOSFSROOT)
    +					if (FAT32(pmp))
    +						fileno = cntobn(pmp,
    +						    (ino_t)pmp->pm_rootdirblk)
    +						    * dirsperblk;
    +					else
    +						fileno = 1;
    +				else
    +					fileno = cntobn(pmp, fileno) * dirsperblk;
    +				dirbuf->d_fileno = fileno;
    +				dirbuf->d_type = DT_DIR;
    +			} else {
    +				dirbuf->d_fileno =
    +				    offset / sizeof(struct direntry);
    +				dirbuf->d_type = DT_REG;
    +			}
    +			if (chksum != winChksum(dentp->deName))
    +				dirbuf->d_namlen = dos2unixfn(dentp->deName,
    +				    (u_char *)dirbuf->d_name,
    +				    pmp->pm_flags & MSDOSFSMNT_SHORTNAME);
    +			else
    +				dirbuf->d_name[dirbuf->d_namlen] = 0;
    +			chksum = -1;
    +			dirbuf->d_reclen = _DIRENT_SIZE(dirbuf);
    +			if (uio->uio_resid < dirbuf->d_reclen) {
    +				brelse(bp, 0);
    +				goto out;
    +			}
    +			error = uiomove(dirbuf, dirbuf->d_reclen, uio);
    +			if (error) {
    +				brelse(bp, 0);
    +				goto out;
    +			}
    +			uio_off = offset + sizeof(struct direntry);
    +			if (cookies) {
    +				*cookies++ = offset + sizeof(struct direntry);
    +				ncookies++;
    +				if (ncookies >= nc) {
    +					brelse(bp, 0);
    +					goto out;
    +				}
    +			}
    +		}
    +		brelse(bp, 0);
    +	}
    +
    +out:
    +	uio->uio_offset = uio_off;
    +	uio->uio_resid += lost;
    +	if (dep->de_FileSize - (offset - bias) <= 0)
    +		*ap->a_eofflag = 1;
    +	else
    +		*ap->a_eofflag = 0;
    +
    +	if (ap->a_ncookies) {
    +		if (error) {
    +			free(*ap->a_cookies, M_TEMP);
    +			*ap->a_ncookies = 0;
    +			*ap->a_cookies = NULL;
    +		} else
    +			*ap->a_ncookies = ncookies;
    +	}
    +
    +bad:
    +	free(dirbuf, M_MSDOSFSTMP);
    +	fstrans_done(ap->a_vp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * vp  - address of vnode file the file
    + * bn  - which cluster we are interested in mapping to a filesystem block number.
    + * vpp - returns the vnode for the block special file holding the filesystem
    + *	 containing the file of interest
    + * bnp - address of where to return the filesystem relative block number
    + */
    +int
    +msdosfs_bmap(void *v)
    +{
    +	struct vop_bmap_args /* {
    +		struct vnode *a_vp;
    +		daddr_t a_bn;
    +		struct vnode **a_vpp;
    +		daddr_t *a_bnp;
    +		int *a_runp;
    +	} */ *ap = v;
    +	struct denode *dep = VTODE(ap->a_vp);
    +	int run, maxrun;
    +	daddr_t runbn;
    +	int status;
    +
    +	if (ap->a_vpp != NULL)
    +		*ap->a_vpp = dep->de_devvp;
    +	if (ap->a_bnp == NULL)
    +		return (0);
    +	status = pcbmap(dep, ap->a_bn, ap->a_bnp, 0, 0);
    +
    +	/*
    +	 * From FreeBSD:
    +	 * A little kludgy, but we loop calling pcbmap until we
    +	 * reach the end of the contiguous piece, or reach MAXPHYS.
    +	 * Since it reduces disk I/Os, the "wasted" CPU is put to
    +	 * good use (4 to 5 fold sequential read I/O improvement on USB
    +	 * drives).
    +	 */
    +	if (ap->a_runp != NULL) {
    +		/* taken from ufs_bmap */
    +		maxrun = ulmin(MAXPHYS / dep->de_pmp->pm_bpcluster - 1,
    +			       dep->de_pmp->pm_maxcluster - ap->a_bn);
    +		for (run = 1; run <= maxrun; run++) {
    +			if (pcbmap(dep, ap->a_bn + run, &runbn, NULL, NULL)
    +			    != 0 || runbn !=
    +			            *ap->a_bnp + de_cn2bn(dep->de_pmp, run))
    +				break;
    +		}
    +		*ap->a_runp = run - 1;
    +	}
    +
    +	/*
    +	 * We need to scale *ap->a_bnp by sector_size/DEV_BSIZE
    +	 */
    +	*ap->a_bnp = de_bn2kb(dep->de_pmp, *ap->a_bnp);
    +	return status;
    +}
    +
    +int
    +msdosfs_strategy(void *v)
    +{
    +	struct vop_strategy_args /* {
    +		struct vnode *a_vp;
    +		struct buf *a_bp;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct buf *bp = ap->a_bp;
    +	struct denode *dep = VTODE(bp->b_vp);
    +	int error = 0;
    +
    +	if (vp->v_type == VBLK || vp->v_type == VCHR)
    +		panic("msdosfs_strategy: spec");
    +	/*
    +	 * If we don't already know the filesystem relative block number
    +	 * then get it using pcbmap().  If pcbmap() returns the block
    +	 * number as -1 then we've got a hole in the file.  DOS filesystems
    +	 * don't allow files with holes, so we shouldn't ever see this.
    +	 */
    +	if (bp->b_blkno == bp->b_lblkno) {
    +		error = pcbmap(dep, de_bn2cn(dep->de_pmp, bp->b_lblkno),
    +			       &bp->b_blkno, 0, 0);
    +		if (error)
    +			bp->b_blkno = -1;
    +		if (bp->b_blkno == -1)
    +			clrbuf(bp);
    +		else
    +			bp->b_blkno = de_bn2kb(dep->de_pmp, bp->b_blkno);
    +	}
    +	if (bp->b_blkno == -1) {
    +		biodone(bp);
    +		return (error);
    +	}
    +
    +	/*
    +	 * Read/write the block from/to the disk that contains the desired
    +	 * file block.
    +	 */
    +
    +	vp = dep->de_devvp;
    +	return (VOP_STRATEGY(vp, bp));
    +}
    +
    +int
    +msdosfs_print(void *v)
    +{
    +	struct vop_print_args /* {
    +		struct vnode *vp;
    +	} */ *ap = v;
    +	struct denode *dep = VTODE(ap->a_vp);
    +
    +	printf(
    +	    "tag VT_MSDOSFS, startcluster %ld, dircluster %ld, diroffset %ld ",
    +	    dep->de_StartCluster, dep->de_dirclust, dep->de_diroffset);
    +	printf(" dev %llu, %llu ", (unsigned long long)major(dep->de_dev),
    +	    (unsigned long long)minor(dep->de_dev));
    +	printf("\n");
    +	return (0);
    +}
    +
    +int
    +msdosfs_advlock(void *v)
    +{
    +	struct vop_advlock_args /* {
    +		struct vnode *a_vp;
    +		void *a_id;
    +		int a_op;
    +		struct flock *a_fl;
    +		int a_flags;
    +	} */ *ap = v;
    +	struct denode *dep = VTODE(ap->a_vp);
    +
    +	return lf_advlock(ap, &dep->de_lockf, dep->de_FileSize);
    +}
    +
    +int
    +msdosfs_pathconf(void *v)
    +{
    +	struct vop_pathconf_args /* {
    +		struct vnode *a_vp;
    +		int a_name;
    +		register_t *a_retval;
    +	} */ *ap = v;
    +
    +	switch (ap->a_name) {
    +	case _PC_LINK_MAX:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_NAME_MAX:
    +		*ap->a_retval = ap->a_vp->v_mount->mnt_stat.f_namemax;
    +		return (0);
    +	case _PC_PATH_MAX:
    +		*ap->a_retval = PATH_MAX;
    +		return (0);
    +	case _PC_CHOWN_RESTRICTED:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_NO_TRUNC:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_SYNC_IO:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_FILESIZEBITS:
    +		*ap->a_retval = 32;
    +		return (0);
    +	default:
    +		return (EINVAL);
    +	}
    +	/* NOTREACHED */
    +}
    +
    +int
    +msdosfs_fsync(void *v)
    +{
    +	struct vop_fsync_args /* {
    +		struct vnode *a_vp;
    +		kauth_cred_t a_cred;
    +		int a_flags;
    +		off_t offlo;
    +		off_t offhi;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	int wait;
    +	int error;
    +
    +	fstrans_start(vp->v_mount, FSTRANS_LAZY);
    +	wait = (ap->a_flags & FSYNC_WAIT) != 0;
    +	error = vflushbuf(vp, ap->a_flags);
    +	if (error == 0 && (ap->a_flags & FSYNC_DATAONLY) == 0)
    +		error = msdosfs_update(vp, NULL, NULL, wait ? UPDATE_WAIT : 0);
    +
    +	if (error == 0 && ap->a_flags & FSYNC_CACHE) {
    +		struct denode *dep = VTODE(vp);
    +		struct vnode *devvp = dep->de_devvp;
    +
    +		int l = 0;
    +		error = VOP_IOCTL(devvp, DIOCCACHESYNC, &l, FWRITE,
    +					  curlwp->l_cred);
    +	}
    +	fstrans_done(vp->v_mount);
    +
    +	return (error);
    +}
    +
    +void
    +msdosfs_detimes(struct denode *dep, const struct timespec *acc,
    +    const struct timespec *mod, const struct timespec *cre, int gmtoff)
    +{
    +	struct timespec *ts = NULL, tsb;
    +
    +	KASSERT(dep->de_flag & (DE_UPDATE | DE_CREATE | DE_ACCESS));
    +	/* XXX just call getnanotime early and use result if needed? */
    +	dep->de_flag |= DE_MODIFIED;
    +	if (dep->de_flag & DE_UPDATE) {
    +		if (mod == NULL) {
    +			getnanotime(&tsb);
    +			mod = ts = &tsb;
    +		}
    +		unix2dostime(mod, gmtoff, &dep->de_MDate, &dep->de_MTime, NULL);
    +		dep->de_Attributes |= ATTR_ARCHIVE;
    +	}
    +	if ((dep->de_pmp->pm_flags & MSDOSFSMNT_NOWIN95) == 0) {
    +		if (dep->de_flag & DE_ACCESS)  {
    +			if (acc == NULL)
    +				acc = ts == NULL ?
    +				    (getnanotime(&tsb), ts = &tsb) : ts;
    +			unix2dostime(acc, gmtoff, &dep->de_ADate, NULL, NULL);
    +		}
    +		if (dep->de_flag & DE_CREATE) {
    +			if (cre == NULL)
    +				cre = ts == NULL ?
    +				    (getnanotime(&tsb), ts = &tsb) : ts;
    +			unix2dostime(cre, gmtoff, &dep->de_CDate,
    +			    &dep->de_CTime, &dep->de_CHun);
    +		}
    +	}
    +
    +	dep->de_flag &= ~(DE_UPDATE | DE_CREATE | DE_ACCESS);
    +}
    +
    +/* Global vfs data structures for msdosfs */
    +int (**msdosfs_vnodeop_p)(void *);
    +const struct vnodeopv_entry_desc msdosfs_vnodeop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, msdosfs_lookup },		/* lookup */
    +	{ &vop_create_desc, msdosfs_create },		/* create */
    +	{ &vop_mknod_desc, genfs_eopnotsupp },		/* mknod */
    +	{ &vop_open_desc, genfs_nullop },		/* open */
    +	{ &vop_close_desc, msdosfs_close },		/* close */
    +	{ &vop_access_desc, msdosfs_access },		/* access */
    +	{ &vop_getattr_desc, msdosfs_getattr },		/* getattr */
    +	{ &vop_setattr_desc, msdosfs_setattr },		/* setattr */
    +	{ &vop_read_desc, msdosfs_read },		/* read */
    +	{ &vop_write_desc, msdosfs_write },		/* write */
    +	{ &vop_fcntl_desc, genfs_fcntl },		/* fcntl */
    +	{ &vop_ioctl_desc, msdosfs_ioctl },		/* ioctl */
    +	{ &vop_poll_desc, msdosfs_poll },		/* poll */
    +	{ &vop_kqfilter_desc, genfs_kqfilter },		/* kqfilter */
    +	{ &vop_revoke_desc, msdosfs_revoke },		/* revoke */
    +	{ &vop_mmap_desc, msdosfs_mmap },		/* mmap */
    +	{ &vop_fsync_desc, msdosfs_fsync },		/* fsync */
    +	{ &vop_seek_desc, msdosfs_seek },		/* seek */
    +	{ &vop_remove_desc, msdosfs_remove },		/* remove */
    +	{ &vop_link_desc, genfs_eopnotsupp },		/* link */
    +	{ &vop_rename_desc, msdosfs_rename },		/* rename */
    +	{ &vop_mkdir_desc, msdosfs_mkdir },		/* mkdir */
    +	{ &vop_rmdir_desc, msdosfs_rmdir },		/* rmdir */
    +	{ &vop_symlink_desc, genfs_eopnotsupp },	/* symlink */
    +	{ &vop_readdir_desc, msdosfs_readdir },		/* readdir */
    +	{ &vop_readlink_desc, genfs_einval },		/* readlink */
    +	{ &vop_abortop_desc, msdosfs_abortop },		/* abortop */
    +	{ &vop_inactive_desc, msdosfs_inactive },	/* inactive */
    +	{ &vop_reclaim_desc, msdosfs_reclaim },		/* reclaim */
    +	{ &vop_lock_desc, genfs_lock },			/* lock */
    +	{ &vop_unlock_desc, genfs_unlock },		/* unlock */
    +	{ &vop_bmap_desc, msdosfs_bmap },		/* bmap */
    +	{ &vop_strategy_desc, msdosfs_strategy },	/* strategy */
    +	{ &vop_print_desc, msdosfs_print },		/* print */
    +	{ &vop_islocked_desc, genfs_islocked },		/* islocked */
    +	{ &vop_pathconf_desc, msdosfs_pathconf },	/* pathconf */
    +	{ &vop_advlock_desc, msdosfs_advlock },		/* advlock */
    +	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
    +	{ &vop_getpages_desc, genfs_getpages },		/* getpages */
    +	{ &vop_putpages_desc, genfs_putpages },		/* putpages */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc msdosfs_vnodeop_opv_desc =
    +	{ &msdosfs_vnodeop_p, msdosfs_vnodeop_entries };
    diff --git a/sys/fs/msdosfs/msdosfsmount.h b/sys/fs/msdosfs/msdosfsmount.h
    new file mode 100644
    index 000000000..a82548ae8
    --- /dev/null
    +++ b/sys/fs/msdosfs/msdosfsmount.h
    @@ -0,0 +1,255 @@
    +/*	$NetBSD: msdosfsmount.h,v 1.19 2013/01/26 16:51:51 christos Exp $	*/
    +
    +/*-
    + * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
    + * Copyright (C) 1994, 1995, 1997 TooLs GmbH.
    + * All rights reserved.
    + * Original code by Paul Popelka (paulp@uts.amdahl.com) (see below).
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by TooLs GmbH.
    + * 4. The name of TooLs GmbH may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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.
    + */
    +/*
    + * Written by Paul Popelka (paulp@uts.amdahl.com)
    + *
    + * You can do anything you want with this software, just don't say you wrote
    + * it, and don't remove this notice.
    + *
    + * This software is provided "as is".
    + *
    + * The author supplies this software to be publicly redistributed on the
    + * understanding that the author is not responsible for the correct
    + * functioning of this software in any circumstances and is not liable for
    + * any damages caused by this software.
    + *
    + * October 1992
    + */
    +
    +#ifndef _MSDOSFS_MSDOSFSMOUNT_H_
    +#define _MSDOSFS_MSDOSFSMOUNT_H_
    +
    +#ifndef MAKEFS
    +/*
    + *  Arguments to mount MSDOS filesystems.
    + */
    +struct msdosfs_args {
    +	char	*fspec;		/* blocks special holding the fs to mount */
    +	struct	export_args30 _pad1; /* compat with old userland tools */
    +	uid_t	uid;		/* uid that owns msdosfs files */
    +	gid_t	gid;		/* gid that owns msdosfs files */
    +	mode_t  mask;		/* mask to be applied for msdosfs perms */
    +	int	flags;		/* see below */
    +
    +	/* Following items added after versioning support */
    +	int	version;	/* version of the struct */
    +#define MSDOSFSMNT_VERSION	3
    +	mode_t  dirmask;	/* v2: mask to be applied for msdosfs perms */
    +	int	gmtoff;		/* v3: offset from UTC in seconds */
    +};
    +#endif
    +
    +/*
    + * Msdosfs mount options:
    + */
    +#define	MSDOSFSMNT_SHORTNAME	1	/* Force old DOS short names only */
    +#define	MSDOSFSMNT_LONGNAME	2	/* Force Win'95 long names */
    +#define	MSDOSFSMNT_NOWIN95	4	/* Completely ignore Win95 entries */
    +#define	MSDOSFSMNT_GEMDOSFS	8	/* This is a GEMDOS-flavour */
    +#define MSDOSFSMNT_VERSIONED	16	/* Struct is versioned */
    +
    +/* All flags above: */
    +#define	MSDOSFSMNT_MNTOPT \
    +	(MSDOSFSMNT_SHORTNAME|MSDOSFSMNT_LONGNAME|MSDOSFSMNT_NOWIN95 \
    +	 |MSDOSFSMNT_GEMDOSFS|MSDOSFSMNT_VERSIONED)
    +
    +#define	MSDOSFSMNT_RONLY	0x80000000	/* mounted read-only	*/
    +#define	MSDOSFSMNT_WAITONFAT	0x40000000	/* mounted synchronous	*/
    +#define	MSDOSFS_FATMIRROR	0x20000000	/* FAT is mirrored */
    +
    +#define MSDOSFSMNT_BITS "\177\20" \
    +    "b\00shortname\0b\01longname\0b\02nowin95\0b\03gemdosfs\0b\04mntversioned\0" \
    +    "b\037ronly\0b\036waitonfat\0b\035fatmirror\0"
    +
    +#ifdef _KERNEL
    +#include 
    +#ifdef MALLOC_DECLARE
    +MALLOC_DECLARE(M_MSDOSFSMNT);
    +MALLOC_DECLARE(M_MSDOSFSTMP);
    +#endif
    +#endif
    +
    +#if defined(_KERNEL) || defined(MAKEFS)
    +/*
    + * Layout of the mount control block for a MSDOSFS file system.
    + */
    +struct msdosfsmount {
    +	struct mount *pm_mountp;/* vfs mount struct for this fs */
    +	dev_t pm_dev;		/* block special device mounted */
    +	uid_t pm_uid;		/* uid to set as owner of the files */
    +	gid_t pm_gid;		/* gid to set as owner of the files */
    +	mode_t pm_mask;		/* mask to and with file protection bits
    +				   for files */
    +	mode_t pm_dirmask;	/* mask to and with file protection bits
    +				   for directories */
    +	int pm_gmtoff;		/* offset from UTC in seconds */
    +	struct vnode *pm_devvp;	/* vnode for block device mntd */
    +	struct bpb50 pm_bpb;	/* BIOS parameter blk for this fs */
    +	u_long pm_FATsecs;	/* actual number of FAT sectors */
    +	u_long pm_fatblk;	/* sector # of first FAT */
    +	u_long pm_rootdirblk;	/* sector # (cluster # for FAT32) of root directory number */
    +	u_long pm_rootdirsize;	/* size in sectors (not clusters) */
    +	u_long pm_firstcluster;	/* sector number of first cluster */
    +	u_long pm_nmbrofclusters;	/* # of clusters in filesystem */
    +	u_long pm_maxcluster;	/* maximum cluster number */
    +	u_long pm_freeclustercount;	/* number of free clusters */
    +	u_long pm_cnshift;	/* shift file offset right this amount to get a cluster number */
    +	u_long pm_crbomask;	/* and a file offset with this mask to get cluster rel offset */
    +	u_long pm_bnshift;	/* shift file offset right this amount to get a sector number */
    +	u_long pm_bpcluster;	/* bytes per cluster */
    +	u_long pm_fmod;		/* ~0 if fs is modified, this can rollover to 0	*/
    +	u_long pm_fatblocksize;	/* size of FAT blocks in bytes */
    +	u_long pm_fatblocksec;	/* size of FAT blocks in sectors */
    +	u_long pm_fatsize;	/* size of FAT in bytes */
    +	u_long pm_fatmask;	/* mask to use for FAT numbers */
    +	u_long pm_fsinfo;	/* fsinfo block number */
    +	u_long pm_nxtfree;	/* next free cluster in fsinfo block */
    +	u_int pm_fatmult;	/* these 2 values are used in FAT */
    +	u_int pm_fatdiv;	/*	offset computation */
    +	u_int pm_curfat;	/* current FAT for FAT32 (0 otherwise) */
    +	u_int *pm_inusemap;	/* ptr to bitmap of in-use clusters */
    +	u_int pm_flags;		/* see below */
    +};
    +/* Byte offset in FAT on filesystem pmp, cluster cn */
    +#define	FATOFS(pmp, cn)	((cn) * (pmp)->pm_fatmult / (pmp)->pm_fatdiv)
    +
    +#define	VFSTOMSDOSFS(mp)	((struct msdosfsmount *)mp->mnt_data)
    +
    +/* Number of bits in one pm_inusemap item: */
    +#define	N_INUSEBITS	(8 * sizeof(u_int))
    +
    +/*
    + * Shorthand for fields in the bpb contained in the msdosfsmount structure.
    + */
    +#define	pm_BytesPerSec	pm_bpb.bpbBytesPerSec
    +#define	pm_ResSectors	pm_bpb.bpbResSectors
    +#define	pm_FATs		pm_bpb.bpbFATs
    +#define	pm_RootDirEnts	pm_bpb.bpbRootDirEnts
    +#define	pm_Sectors	pm_bpb.bpbSectors
    +#define	pm_Media	pm_bpb.bpbMedia
    +#define	pm_SecPerTrack	pm_bpb.bpbSecPerTrack
    +#define	pm_Heads	pm_bpb.bpbHeads
    +#define	pm_HiddenSects	pm_bpb.bpbHiddenSecs
    +#define	pm_HugeSectors	pm_bpb.bpbHugeSectors
    +
    +/*
    + * Convert pointer to buffer -> pointer to direntry
    + */
    +#define	bptoep(pmp, bp, dirofs) \
    +	((struct direntry *)(((char *)(bp)->b_data)	\
    +	 + ((dirofs) & (pmp)->pm_crbomask)))
    +
    +/*
    + * Convert sector number to cluster number
    + */
    +#define	de_bn2cn(pmp, bn) \
    +	((bn) >> ((pmp)->pm_cnshift - (pmp)->pm_bnshift))
    +
    +/*
    + * Convert cluster number to sector number
    + */
    +#define	de_cn2bn(pmp, cn) \
    +	((cn) << ((pmp)->pm_cnshift - (pmp)->pm_bnshift))
    +
    +/*
    + * Convert sector number to kernel block number
    + */
    +#define de_bn2kb(pmp, bn) \
    +	((bn) << ((pmp)->pm_bnshift - DEV_BSHIFT))
    +
    +/*
    + * Convert kernel block number to sector number
    + */
    +#define de_kb2bn(pmp, kb) \
    +	((kb) >> ((pmp)->pm_bnshift - DEV_BSHIFT))
    +
    +/*
    + * Convert file offset to cluster number
    + */
    +#define de_cluster(pmp, off) \
    +	((off) >> (pmp)->pm_cnshift)
    +
    +/*
    + * Clusters required to hold size bytes
    + */
    +#define	de_clcount(pmp, size) \
    +	(((size) + (pmp)->pm_bpcluster - 1) >> (pmp)->pm_cnshift)
    +
    +/*
    + * Convert file offset to sector number
    + */
    +#define de_blk(pmp, off) \
    +	(de_cn2bn(pmp, de_cluster((pmp), (off))))
    +
    +/*
    + * Convert cluster number to file offset
    + */
    +#define	de_cn2off(pmp, cn) \
    +	((cn) << (pmp)->pm_cnshift)
    +
    +/*
    + * Convert sector number to file offset
    + */
    +#define	de_bn2off(pmp, bn) \
    +	((bn) << (pmp)->pm_bnshift)
    +/*
    + * Map a cluster number into a filesystem relative sector number.
    + */
    +#define	cntobn(pmp, cn) \
    +	(de_cn2bn((pmp), (cn)-CLUST_FIRST) + (pmp)->pm_firstcluster)
    +
    +/*
    + * Calculate sector number for directory entry in root dir, offset dirofs
    + */
    +#define	roottobn(pmp, dirofs) \
    +	(de_blk((pmp), (dirofs)) + (pmp)->pm_rootdirblk)
    +
    +/*
    + * Calculate sector number for directory entry at cluster dirclu, offset
    + * dirofs
    + */
    +#define	detobn(pmp, dirclu, dirofs) \
    +	((dirclu) == MSDOSFSROOT \
    +	 ? roottobn((pmp), (dirofs)) \
    +	 : cntobn((pmp), (dirclu)))
    +
    +/*
    + * Prototypes for MSDOSFS virtual filesystem operations
    + */
    +void msdosfs_init(void);
    +void msdosfs_reinit(void);
    +void msdosfs_done(void);
    +
    +#endif /* _KERNEL || MAKEFS */
    +#endif /* _MSDOSFS_MSDOSFSMOUNT_H_ */
    diff --git a/sys/fs/puffs/Makefile b/sys/fs/puffs/Makefile
    new file mode 100644
    index 000000000..fde55586a
    --- /dev/null
    +++ b/sys/fs/puffs/Makefile
    @@ -0,0 +1,7 @@
    +#	$NetBSD: Makefile,v 1.1 2006/10/22 22:43:23 pooka Exp $
    +
    +INCSDIR=	/usr/include/fs/puffs
    +
    +INCS=		puffs_msgif.h
    +
    +.include 
    diff --git a/sys/fs/puffs/TODO b/sys/fs/puffs/TODO
    new file mode 100644
    index 000000000..7e28b3760
    --- /dev/null
    +++ b/sys/fs/puffs/TODO
    @@ -0,0 +1,10 @@
    +	$NetBSD: TODO,v 1.1 2009/05/18 15:47:28 pooka Exp $
    +
    +  General:
    +* reference counting fix (reclaim)
    +
    +  puffs_msgif:
    +* do use of struct vattr (except maybe when negotiated to be safe)
    +* do not use dev_t
    +* get rid of extra types such as voff_t
    +* do something sane with componentname
    diff --git a/sys/fs/puffs/files.puffs b/sys/fs/puffs/files.puffs
    new file mode 100644
    index 000000000..1a4f82da2
    --- /dev/null
    +++ b/sys/fs/puffs/files.puffs
    @@ -0,0 +1,10 @@
    +#	$NetBSD: files.puffs,v 1.5 2010/07/06 16:13:57 pooka Exp $
    +
    +deffs	PUFFS
    +
    +file	fs/puffs/puffs_compat.c		puffs
    +file	fs/puffs/puffs_msgif.c		puffs
    +file	fs/puffs/puffs_node.c		puffs
    +file	fs/puffs/puffs_subr.c		puffs
    +file	fs/puffs/puffs_vfsops.c		puffs
    +file	fs/puffs/puffs_vnops.c		puffs
    diff --git a/sys/fs/puffs/puffs_compat.c b/sys/fs/puffs/puffs_compat.c
    new file mode 100644
    index 000000000..cc37566c4
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_compat.c
    @@ -0,0 +1,437 @@
    +/*	$NetBSD: puffs_compat.c,v 1.2 2010/07/11 11:17:27 pooka Exp $	*/
    +
    +/*
    + * Copyright (c) 2010 Antti Kantee.  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 ``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.
    + */
    +
    +/*
    + * This file handles puffs PDUs so that they are compatible between
    + * 32bit<->64bit time_t/dev_t.  It enables running a -current kernel
    + * against a 5.0 userland (assuming the protocol otherwise matches!).
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: puffs_compat.c,v 1.2 2010/07/11 11:17:27 pooka Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +
    +#include 
    +
    +/*
    + * compat types
    + */
    +struct vattr50 {
    +	enum vtype		va_type;
    +	mode_t			va_mode;
    +	nlink_t			va_nlink;
    +	uid_t			va_uid;
    +	gid_t			va_gid;
    +	uint32_t		va_fsid;
    +	ino_t			va_fileid;
    +	u_quad_t		va_size;
    +	long			va_blocksize;
    +	struct timespec50	va_atime;
    +	struct timespec50	va_mtime;
    +	struct timespec50	va_ctime;
    +	struct timespec50	va_birthtime;
    +	u_long			va_gen;
    +	u_long			va_flags;
    +	uint32_t		va_rdev;
    +	u_quad_t		va_bytes;
    +	u_quad_t		va_filerev;
    +	u_int			va_vaflags;
    +	long			va_spare;
    +};
    +
    +struct puffs50_vfsmsg_fhtonode {
    +	struct puffs_req	pvfsr_pr;
    +
    +	void			*pvfsr_fhcookie;	/* IN   */
    +	enum vtype		pvfsr_vtype;		/* IN   */
    +	voff_t			pvfsr_size;		/* IN   */
    +	uint32_t		pvfsr_rdev;		/* IN   */
    +
    +	size_t			pvfsr_dsize;		/* OUT */
    +	uint8_t			pvfsr_data[0]		/* OUT, XXX */
    +					__aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs50_vnmsg_lookup {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	enum vtype		pvnr_vtype;		/* IN	*/
    +	voff_t			pvnr_size;		/* IN	*/
    +	uint32_t		pvnr_rdev;		/* IN	*/
    +};
    +
    +struct puffs50_vnmsg_create {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr50		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +};
    +
    +struct puffs50_vnmsg_mknod {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr50		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +};
    +
    +#define puffs50_vnmsg_setattr puffs50_vnmsg_setgetattr
    +#define puffs50_vnmsg_getattr puffs50_vnmsg_setgetattr
    +struct puffs50_vnmsg_setgetattr {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	struct vattr50		pvnr_va;		/* IN/OUT (op depend) */
    +};
    +
    +struct puffs50_vnmsg_mkdir {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr50		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +};
    +
    +struct puffs50_vnmsg_symlink {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr50		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	char			pvnr_link[MAXPATHLEN];	/* OUT	*/
    +};
    +
    +/*
    + * vattr translation routines
    + */
    +
    +static void
    +vattr_to_50(const struct vattr *va, struct vattr50 *va50)
    +{
    +
    +	va50->va_type = va->va_type;
    +	va50->va_mode = va->va_mode;
    +	va50->va_nlink = va->va_nlink;
    +	va50->va_uid = va->va_uid;
    +	va50->va_gid = va->va_gid;
    +	va50->va_fsid = (uint64_t)va->va_fsid;
    +	va50->va_fileid = va->va_fileid;
    +	va50->va_size = va->va_size;
    +	va50->va_blocksize = va->va_blocksize;
    +	timespec_to_timespec50(&va->va_atime, &va50->va_atime);
    +	timespec_to_timespec50(&va->va_ctime, &va50->va_ctime);
    +	timespec_to_timespec50(&va->va_mtime, &va50->va_mtime);
    +	timespec_to_timespec50(&va->va_birthtime, &va50->va_birthtime);
    +	va50->va_gen = va->va_gen;
    +	va50->va_flags = va->va_flags;
    +	va50->va_rdev = (int32_t)va->va_rdev;
    +	va50->va_bytes = va->va_bytes;
    +	va50->va_filerev = va->va_filerev;
    +	va50->va_vaflags = va->va_flags;
    +}
    +
    +static void
    +vattr_from_50(const struct vattr50 *va50, struct vattr *va)
    +{
    +
    +	va->va_type = va50->va_type;
    +	va->va_mode = va50->va_mode;
    +	va->va_nlink = va50->va_nlink;
    +	va->va_uid = va50->va_uid;
    +	va->va_gid = va50->va_gid;
    +	va->va_fsid = (uint32_t)va50->va_fsid;
    +	va->va_fileid = va50->va_fileid;
    +	va->va_size = va50->va_size;
    +	va->va_blocksize = va50->va_blocksize;
    +	timespec50_to_timespec(&va50->va_atime, &va->va_atime);
    +	timespec50_to_timespec(&va50->va_ctime, &va->va_ctime);
    +	timespec50_to_timespec(&va50->va_mtime, &va->va_mtime);
    +	timespec50_to_timespec(&va50->va_birthtime, &va->va_birthtime);
    +	va->va_gen = va50->va_gen;
    +	va->va_flags = va50->va_flags;
    +	va->va_rdev = (uint32_t)va50->va_rdev;
    +	va->va_bytes = va50->va_bytes;
    +	va->va_filerev = va50->va_filerev;
    +	va->va_vaflags = va50->va_flags;
    +}
    +
    +/*
    + * XXX: cannot assert that sleeping is possible
    + * (this always a valid assumption for now)
    + */
    +#define INIT(name, extra)						\
    +	struct puffs50_##name *cmsg;					\
    +	struct puffs_##name *omsg;					\
    +	creq =kmem_zalloc(sizeof(struct puffs50_##name)+extra,KM_SLEEP);\
    +	cmsg = (struct puffs50_##name *)creq;				\
    +	omsg = (struct puffs_##name *)oreq;				\
    +	delta = sizeof(struct puffs50_##name)-sizeof(struct puffs_##name);
    +#define ASSIGN(field)							\
    +	cmsg->field = omsg->field;
    +
    +bool
    +puffs_compat_outgoing(struct puffs_req *oreq,
    +	struct puffs_req **creqp, ssize_t *deltap)
    +{
    +	struct puffs_req *creq = NULL;
    +	ssize_t delta = 0;
    +	bool rv = false;
    +
    +	if (PUFFSOP_OPCLASS(oreq->preq_opclass) == PUFFSOP_VFS
    +	    && oreq->preq_optype == PUFFS_VFS_FHTOVP) {
    +		INIT(vfsmsg_fhtonode,
    +		    ((struct puffs_vfsmsg_fhtonode *)oreq)->pvfsr_dsize);
    +
    +		ASSIGN(pvfsr_pr);
    +		ASSIGN(pvfsr_dsize);
    +		memcpy(cmsg->pvfsr_data, omsg->pvfsr_data, cmsg->pvfsr_dsize);
    +	} else if (PUFFSOP_OPCLASS(oreq->preq_opclass) == PUFFSOP_VN) {
    +		switch (oreq->preq_optype) {
    +		case PUFFS_VN_LOOKUP:
    +		{
    +			INIT(vnmsg_lookup, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cn);
    +			ASSIGN(pvnr_cn_cred);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_CREATE:
    +		{
    +			INIT(vnmsg_create, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cn);
    +			ASSIGN(pvnr_cn_cred);
    +			vattr_to_50(&omsg->pvnr_va, &cmsg->pvnr_va);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_MKNOD:
    +		{
    +			INIT(vnmsg_mknod, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cn);
    +			ASSIGN(pvnr_cn_cred);
    +			vattr_to_50(&omsg->pvnr_va, &cmsg->pvnr_va);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_MKDIR:
    +		{
    +			INIT(vnmsg_mkdir, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cn);
    +			ASSIGN(pvnr_cn_cred);
    +			vattr_to_50(&omsg->pvnr_va, &cmsg->pvnr_va);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_SYMLINK:
    +		{
    +			INIT(vnmsg_symlink, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cn);
    +			ASSIGN(pvnr_cn_cred);
    +			vattr_to_50(&omsg->pvnr_va, &cmsg->pvnr_va);
    +			memcpy(cmsg->pvnr_link, omsg->pvnr_link,
    +			    sizeof(cmsg->pvnr_link));
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_SETATTR:
    +		{
    +			INIT(vnmsg_setattr, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cred);
    +			vattr_to_50(&omsg->pvnr_va, &cmsg->pvnr_va);
    +
    +			break;
    +		}
    +		case PUFFS_VN_GETATTR:
    +		{
    +			INIT(vnmsg_getattr, 0);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_cred);
    +
    +			break;
    +		}
    +
    +		default:
    +			break;
    +		}
    +	}
    +
    +	if (creq) {
    +		*creqp = creq;
    +		*deltap = delta;
    +		rv = true;
    +	}
    +
    +	return rv;
    +}
    +#undef INIT
    +#undef ASSIGN
    +
    +#define INIT(name)							\
    +	struct puffs50_##name *cmsg = (void *)preq;			\
    +	struct puffs_##name *omsg = (void *)creq;
    +#define ASSIGN(field)							\
    +	omsg->field = cmsg->field;
    +
    +void
    +puffs_compat_incoming(struct puffs_req *preq, struct puffs_req *creq)
    +{
    +
    +	if (PUFFSOP_OPCLASS(preq->preq_opclass) == PUFFSOP_VFS
    +	    && preq->preq_optype == PUFFS_VFS_FHTOVP) {
    +		INIT(vfsmsg_fhtonode);
    +
    +		ASSIGN(pvfsr_pr);
    +
    +		ASSIGN(pvfsr_fhcookie);
    +		ASSIGN(pvfsr_vtype);
    +		ASSIGN(pvfsr_size);
    +		ASSIGN(pvfsr_rdev);
    +	} else if (PUFFSOP_OPCLASS(preq->preq_opclass) == PUFFSOP_VN) {
    +		switch (preq->preq_optype) {
    +		case PUFFS_VN_LOOKUP:
    +		{
    +			INIT(vnmsg_lookup);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_newnode);
    +			ASSIGN(pvnr_vtype);
    +			ASSIGN(pvnr_size);
    +			ASSIGN(pvnr_rdev);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_CREATE:
    +		{
    +			INIT(vnmsg_create);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_newnode);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_MKNOD:
    +		{
    +			INIT(vnmsg_mknod);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_newnode);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_MKDIR:
    +		{
    +			INIT(vnmsg_mkdir);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_newnode);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_SYMLINK:
    +		{
    +			INIT(vnmsg_symlink);
    +
    +			ASSIGN(pvn_pr);
    +			ASSIGN(pvnr_newnode);
    +
    +			break;
    +		}
    +
    +		case PUFFS_VN_SETATTR:
    +		{
    +			INIT(vnmsg_setattr);
    +
    +			ASSIGN(pvn_pr);
    +
    +			break;
    +		}
    +		case PUFFS_VN_GETATTR:
    +		{
    +			INIT(vnmsg_getattr);
    +
    +			ASSIGN(pvn_pr);
    +			vattr_from_50(&cmsg->pvnr_va, &omsg->pvnr_va);
    +
    +			break;
    +		}
    +
    +		default:
    +			panic("puffs compat ops come in pairs");
    +		}
    +	}
    +}
    diff --git a/sys/fs/puffs/puffs_msgif.c b/sys/fs/puffs/puffs_msgif.c
    new file mode 100644
    index 000000000..f0486b411
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_msgif.c
    @@ -0,0 +1,1287 @@
    +/*	$NetBSD: puffs_msgif.c,v 1.94 2013/10/17 21:03:27 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Google Summer of Code program and the Ulla Tuominen Foundation.
    + * The Google SoC project was mentored by Bill Studenmund.
    + *
    + * 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 ``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.
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: puffs_msgif.c,v 1.94 2013/10/17 21:03:27 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +
    +#include  /* XXX: for syncer_mutex reference */
    +
    +/*
    + * waitq data structures
    + */
    +
    +/*
    + * While a request is going to userspace, park the caller within the
    + * kernel.  This is the kernel counterpart of "struct puffs_req".
    + */
    +struct puffs_msgpark {
    +	struct puffs_req	*park_preq;	/* req followed by buf	*/
    +
    +	size_t			park_copylen;	/* userspace copylength	*/
    +	size_t			park_maxlen;	/* max size in comeback */
    +
    +	struct puffs_req	*park_creq;	/* non-compat preq	*/
    +	size_t			park_creqlen;	/* non-compat preq len	*/
    +
    +	parkdone_fn		park_done;	/* "biodone" a'la puffs	*/
    +	void			*park_donearg;
    +
    +	int			park_flags;
    +	int			park_refcount;
    +
    +	kcondvar_t		park_cv;
    +	kmutex_t		park_mtx;
    +
    +	TAILQ_ENTRY(puffs_msgpark) park_entries;
    +};
    +#define PARKFLAG_WAITERGONE	0x01
    +#define PARKFLAG_DONE		0x02
    +#define PARKFLAG_ONQUEUE1	0x04
    +#define PARKFLAG_ONQUEUE2	0x08
    +#define PARKFLAG_CALL		0x10
    +#define PARKFLAG_WANTREPLY	0x20
    +#define	PARKFLAG_HASERROR	0x40
    +
    +static pool_cache_t parkpc;
    +#ifdef PUFFSDEBUG
    +static int totalpark;
    +#endif
    +
    +int puffs_sopreq_expire_timeout = PUFFS_SOPREQ_EXPIRE_TIMEOUT;
    +
    +static int
    +makepark(void *arg, void *obj, int flags)
    +{
    +	struct puffs_msgpark *park = obj;
    +
    +	mutex_init(&park->park_mtx, MUTEX_DEFAULT, IPL_NONE);
    +	cv_init(&park->park_cv, "puffsrpl");
    +
    +	return 0;
    +}
    +
    +static void
    +nukepark(void *arg, void *obj)
    +{
    +	struct puffs_msgpark *park = obj;
    +
    +	cv_destroy(&park->park_cv);
    +	mutex_destroy(&park->park_mtx);
    +}
    +
    +void
    +puffs_msgif_init(void)
    +{
    +
    +	parkpc = pool_cache_init(sizeof(struct puffs_msgpark), 0, 0, 0,
    +	    "puffprkl", NULL, IPL_NONE, makepark, nukepark, NULL);
    +}
    +
    +void
    +puffs_msgif_destroy(void)
    +{
    +
    +	pool_cache_destroy(parkpc);
    +}
    +
    +static struct puffs_msgpark *
    +puffs_msgpark_alloc(int waitok)
    +{
    +	struct puffs_msgpark *park;
    +
    +	KASSERT(curlwp != uvm.pagedaemon_lwp || !waitok);
    +
    +	park = pool_cache_get(parkpc, waitok ? PR_WAITOK : PR_NOWAIT);
    +	if (park == NULL)
    +		return park;
    +
    +	park->park_refcount = 1;
    +	park->park_preq = park->park_creq = NULL;
    +	park->park_flags = PARKFLAG_WANTREPLY;
    +
    +#ifdef PUFFSDEBUG
    +	totalpark++;
    +#endif
    +
    +	return park;
    +}
    +
    +static void
    +puffs_msgpark_reference(struct puffs_msgpark *park)
    +{
    +
    +	KASSERT(mutex_owned(&park->park_mtx));
    +	park->park_refcount++;
    +}
    +
    +/*
    + * Release reference to park structure.
    + */
    +static void
    +puffs_msgpark_release1(struct puffs_msgpark *park, int howmany)
    +{
    +	struct puffs_req *preq = park->park_preq;
    +	struct puffs_req *creq = park->park_creq;
    +	int refcnt;
    +
    +	KASSERT(mutex_owned(&park->park_mtx));
    +	refcnt = park->park_refcount -= howmany;
    +	mutex_exit(&park->park_mtx);
    +
    +	KASSERT(refcnt >= 0);
    +
    +	if (refcnt == 0) {
    +		if (preq)
    +			kmem_free(preq, park->park_maxlen);
    +#if 1
    +		if (creq)
    +			kmem_free(creq, park->park_creqlen);
    +#endif
    +		pool_cache_put(parkpc, park);
    +
    +#ifdef PUFFSDEBUG
    +		totalpark--;
    +#endif
    +	}
    +}
    +#define puffs_msgpark_release(a) puffs_msgpark_release1(a, 1)
    +
    +#ifdef PUFFSDEBUG
    +static void
    +parkdump(struct puffs_msgpark *park)
    +{
    +
    +	DPRINTF(("park %p, preq %p, id %" PRIu64 "\n"
    +	    "\tcopy %zu, max %zu - done: %p/%p\n"
    +	    "\tflags 0x%08x, refcount %d, cv/mtx: %p/%p\n",
    +	    park, park->park_preq, park->park_preq->preq_id,
    +	    park->park_copylen, park->park_maxlen,
    +	    park->park_done, park->park_donearg,
    +	    park->park_flags, park->park_refcount,
    +	    &park->park_cv, &park->park_mtx));
    +}
    +
    +static void
    +parkqdump(struct puffs_wq *q, int dumpall)
    +{
    +	struct puffs_msgpark *park;
    +	int total = 0;
    +
    +	TAILQ_FOREACH(park, q, park_entries) {
    +		if (dumpall)
    +			parkdump(park);
    +		total++;
    +	}
    +	DPRINTF(("puffs waitqueue at %p dumped, %d total\n", q, total));
    +
    +}
    +#endif /* PUFFSDEBUG */
    +
    +/*
    + * A word about locking in the park structures: the lock protects the
    + * fields of the *park* structure (not preq) and acts as an interlock
    + * in cv operations.  The lock is always internal to this module and
    + * callers do not need to worry about it.
    + */
    +
    +int
    +puffs_msgmem_alloc(size_t len, struct puffs_msgpark **ppark, void **mem,
    +	int cansleep)
    +{
    +	struct puffs_msgpark *park;
    +	void *m;
    +
    +	KASSERT(curlwp != uvm.pagedaemon_lwp || !cansleep);
    +	m = kmem_zalloc(len, cansleep ? KM_SLEEP : KM_NOSLEEP);
    +	if (m == NULL) {
    +		KASSERT(cansleep == 0);
    +		return ENOMEM;
    +	}
    +
    +	park = puffs_msgpark_alloc(cansleep);
    +	if (park == NULL) {
    +		KASSERT(cansleep == 0);
    +		kmem_free(m, len);
    +		return ENOMEM;
    +	}
    +
    +	park->park_preq = m;
    +	park->park_maxlen = park->park_copylen = len;
    +
    +	*ppark = park;
    +	*mem = m;
    +
    +	return 0;
    +}
    +
    +void
    +puffs_msgmem_release(struct puffs_msgpark *park)
    +{
    +
    +	if (park == NULL)
    +		return;
    +
    +	mutex_enter(&park->park_mtx);
    +	puffs_msgpark_release(park);
    +}
    +
    +void
    +puffs_msg_setfaf(struct puffs_msgpark *park)
    +{
    +
    +	KASSERT((park->park_flags & PARKFLAG_CALL) == 0);
    +	park->park_flags &= ~PARKFLAG_WANTREPLY;
    +}
    +
    +void
    +puffs_msg_setdelta(struct puffs_msgpark *park, size_t delta)
    +{
    +
    +	KASSERT(delta < park->park_maxlen); /* "<=" wouldn't make sense */
    +	park->park_copylen = park->park_maxlen - delta;
    +}
    +
    +void
    +puffs_msg_setinfo(struct puffs_msgpark *park, int class, int type,
    +	puffs_cookie_t ck)
    +{
    +
    +	park->park_preq->preq_opclass = PUFFSOP_OPCLASS(class);
    +	park->park_preq->preq_optype = type;
    +	park->park_preq->preq_cookie = ck;
    +}
    +
    +void
    +puffs_msg_setcall(struct puffs_msgpark *park, parkdone_fn donefn, void *donearg)
    +{
    +
    +	KASSERT(park->park_flags & PARKFLAG_WANTREPLY);
    +	park->park_done = donefn;
    +	park->park_donearg = donearg;
    +	park->park_flags |= PARKFLAG_CALL;
    +}
    +
    +/*
    + * kernel-user-kernel waitqueues
    + */
    +
    +static uint64_t
    +puffs_getmsgid(struct puffs_mount *pmp)
    +{
    +	uint64_t rv;
    +
    +	mutex_enter(&pmp->pmp_lock);
    +	rv = pmp->pmp_nextmsgid++;
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	return rv;
    +}
    +
    +/*
    + * A word about reference counting of parks.  A reference must be taken
    + * when accessing a park and additionally when it is on a queue.  So
    + * when taking it off a queue and releasing the access reference, the
    + * reference count is generally decremented by 2.
    + */
    +
    +void
    +puffs_msg_enqueue(struct puffs_mount *pmp, struct puffs_msgpark *park)
    +{
    +	struct lwp *l = curlwp;
    +	struct puffs_req *preq, *creq;
    +	ssize_t delta;
    +
    +	/*
    +	 * Some clients reuse a park, so reset some flags.  We might
    +	 * want to provide a caller-side interface for this and add
    +	 * a few more invariant checks here, but this will do for now.
    +	 */
    +	park->park_flags &= ~(PARKFLAG_DONE | PARKFLAG_HASERROR);
    +	KASSERT((park->park_flags & PARKFLAG_WAITERGONE) == 0);
    +
    +	preq = park->park_preq;
    +
    +#if 1
    +	/* check if we do compat adjustments */
    +	if (pmp->pmp_docompat && puffs_compat_outgoing(preq, &creq, &delta)) {
    +		park->park_creq = park->park_preq;
    +		park->park_creqlen = park->park_maxlen;
    +
    +		park->park_maxlen += delta;
    +		park->park_copylen += delta;
    +		park->park_preq = preq = creq;
    +	}
    +#endif
    +
    +	preq->preq_buflen = park->park_maxlen;
    +	KASSERT(preq->preq_id == 0
    +	    || (preq->preq_opclass & PUFFSOPFLAG_ISRESPONSE));
    +
    +	if ((park->park_flags & PARKFLAG_WANTREPLY) == 0)
    +		preq->preq_opclass |= PUFFSOPFLAG_FAF;
    +	else
    +		preq->preq_id = puffs_getmsgid(pmp);
    +
    +	/* fill in caller information */
    +	preq->preq_pid = l->l_proc->p_pid;
    +	preq->preq_lid = l->l_lid;
    +
    +	/*
    +	 * To support cv_sig, yet another movie: check if there are signals
    +	 * pending and we are issueing a non-FAF.  If so, return an error
    +	 * directly UNLESS we are issueing INACTIVE/RECLAIM.  In that case,
    +	 * convert it to a FAF, fire off to the file server and return
    +	 * an error.  Yes, this is bordering disgusting.  Barfbags are on me.
    +	 */
    +	if (__predict_false((park->park_flags & PARKFLAG_WANTREPLY)
    +	   && (park->park_flags & PARKFLAG_CALL) == 0
    +	   && (l->l_flag & LW_PENDSIG) != 0 && sigispending(l, 0))) {
    +		sigset_t ss;
    +
    +		/*
    +		 * see the comment about signals in puffs_msg_wait.
    +		 */
    +		sigpending1(l, &ss);
    +		if (sigismember(&ss, SIGINT) ||
    +		    sigismember(&ss, SIGTERM) ||
    +		    sigismember(&ss, SIGKILL) ||
    +		    sigismember(&ss, SIGHUP) ||
    +		    sigismember(&ss, SIGQUIT)) {
    +			park->park_flags |= PARKFLAG_HASERROR;
    +			preq->preq_rv = EINTR;
    +			if (PUFFSOP_OPCLASS(preq->preq_opclass) == PUFFSOP_VN
    +			    && (preq->preq_optype == PUFFS_VN_INACTIVE
    +			     || preq->preq_optype == PUFFS_VN_RECLAIM)) {
    +				park->park_preq->preq_opclass |=
    +				    PUFFSOPFLAG_FAF;
    +				park->park_flags &= ~PARKFLAG_WANTREPLY;
    +				DPRINTF(("puffs_msg_enqueue: "
    +				    "converted to FAF %p\n", park));
    +			} else {
    +				return;
    +			}
    +		}
    +	}
    +
    +	mutex_enter(&pmp->pmp_lock);
    +	if (pmp->pmp_status != PUFFSTAT_RUNNING) {
    +		mutex_exit(&pmp->pmp_lock);
    +		park->park_flags |= PARKFLAG_HASERROR;
    +		preq->preq_rv = ENXIO;
    +		return;
    +	}
    +
    +#ifdef PUFFSDEBUG
    +	parkqdump(&pmp->pmp_msg_touser, puffsdebug > 1);
    +	parkqdump(&pmp->pmp_msg_replywait, puffsdebug > 1);
    +#endif
    +
    +	/*
    +	 * Note: we don't need to lock park since we have the only
    +	 * reference to it at this point.
    +	 */
    +	TAILQ_INSERT_TAIL(&pmp->pmp_msg_touser, park, park_entries);
    +	park->park_flags |= PARKFLAG_ONQUEUE1;
    +	pmp->pmp_msg_touser_count++;
    +	park->park_refcount++;
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	cv_broadcast(&pmp->pmp_msg_waiter_cv);
    +	putter_notify(pmp->pmp_pi);
    +
    +	DPRINTF(("touser: req %" PRIu64 ", preq: %p, park: %p, "
    +	    "c/t: 0x%x/0x%x, f: 0x%x\n", preq->preq_id, preq, park,
    +	    preq->preq_opclass, preq->preq_optype, park->park_flags));
    +}
    +
    +int
    +puffs_msg_wait(struct puffs_mount *pmp, struct puffs_msgpark *park)
    +{
    +	lwp_t *l = curlwp;
    +	proc_t *p = l->l_proc;
    +	struct puffs_req *preq = park->park_preq; /* XXX: hmmm */
    +	sigset_t ss;
    +	sigset_t oss;
    +	int error = 0;
    +	int rv;
    +
    +	/*
    +	 * block unimportant signals.
    +	 *
    +	 * The set of "important" signals here was chosen to be same as
    +	 * nfs interruptible mount.
    +	 */
    +	sigfillset(&ss);
    +	sigdelset(&ss, SIGINT);
    +	sigdelset(&ss, SIGTERM);
    +	sigdelset(&ss, SIGKILL);
    +	sigdelset(&ss, SIGHUP);
    +	sigdelset(&ss, SIGQUIT);
    +	mutex_enter(p->p_lock);
    +	sigprocmask1(l, SIG_BLOCK, &ss, &oss);
    +	mutex_exit(p->p_lock);
    +
    +	mutex_enter(&pmp->pmp_lock);
    +	puffs_mp_reference(pmp);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	mutex_enter(&park->park_mtx);
    +	/* did the response beat us to the wait? */
    +	if (__predict_false((park->park_flags & PARKFLAG_DONE)
    +	    || (park->park_flags & PARKFLAG_HASERROR))) {
    +		rv = park->park_preq->preq_rv;
    +		mutex_exit(&park->park_mtx);
    +		goto skipwait;
    +	}
    +
    +	if ((park->park_flags & PARKFLAG_WANTREPLY) == 0
    +	    || (park->park_flags & PARKFLAG_CALL)) {
    +		mutex_exit(&park->park_mtx);
    +		rv = 0;
    +		goto skipwait;
    +	}
    +
    +	error = cv_wait_sig(&park->park_cv, &park->park_mtx);
    +	DPRINTF(("puffs_touser: waiter for %p woke up with %d\n",
    +	    park, error));
    +	if (error) {
    +		park->park_flags |= PARKFLAG_WAITERGONE;
    +		if (park->park_flags & PARKFLAG_DONE) {
    +			rv = preq->preq_rv;
    +			mutex_exit(&park->park_mtx);
    +		} else {
    +			/*
    +			 * ok, we marked it as going away, but
    +			 * still need to do queue ops.  take locks
    +			 * in correct order.
    +			 *
    +			 * We don't want to release our reference
    +			 * if it's on replywait queue to avoid error
    +			 * to file server.  putop() code will DTRT.
    +			 */
    +			mutex_exit(&park->park_mtx);
    +			mutex_enter(&pmp->pmp_lock);
    +			mutex_enter(&park->park_mtx);
    +
    +			/*
    +			 * Still on queue1?  We can safely remove it
    +			 * without any consequences since the file
    +			 * server hasn't seen it.  "else" we need to
    +			 * wait for the response and just ignore it
    +			 * to avoid signalling an incorrect error to
    +			 * the file server.
    +			 */
    +			if (park->park_flags & PARKFLAG_ONQUEUE1) {
    +				TAILQ_REMOVE(&pmp->pmp_msg_touser,
    +				    park, park_entries);
    +				puffs_msgpark_release(park);
    +				pmp->pmp_msg_touser_count--;
    +				park->park_flags &= ~PARKFLAG_ONQUEUE1;
    +			} else {
    +				mutex_exit(&park->park_mtx);
    +			}
    +			mutex_exit(&pmp->pmp_lock);
    +
    +			rv = EINTR;
    +		}
    +	} else {
    +		rv = preq->preq_rv;
    +		mutex_exit(&park->park_mtx);
    +	}
    +
    + skipwait:
    +	mutex_enter(&pmp->pmp_lock);
    +	puffs_mp_release(pmp);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	mutex_enter(p->p_lock);
    +	sigprocmask1(l, SIG_SETMASK, &oss, NULL);
    +	mutex_exit(p->p_lock);
    +
    +	return rv;
    +}
    +
    +/*
    + * XXX: this suuuucks.  Hopefully I'll get rid of this lossage once
    + * the whole setback-nonsense gets fixed.
    + */
    +int
    +puffs_msg_wait2(struct puffs_mount *pmp, struct puffs_msgpark *park,
    +	struct puffs_node *pn1, struct puffs_node *pn2)
    +{
    +	struct puffs_req *preq;
    +	int rv;
    +
    +	rv = puffs_msg_wait(pmp, park);
    +
    +	preq = park->park_preq;
    +	if (pn1 && preq->preq_setbacks & PUFFS_SETBACK_INACT_N1)
    +		pn1->pn_stat |= PNODE_DOINACT;
    +	if (pn2 && preq->preq_setbacks & PUFFS_SETBACK_INACT_N2)
    +		pn2->pn_stat |= PNODE_DOINACT;
    +
    +	if (pn1 && preq->preq_setbacks & PUFFS_SETBACK_NOREF_N1)
    +		pn1->pn_stat |= PNODE_NOREFS;
    +	if (pn2 && preq->preq_setbacks & PUFFS_SETBACK_NOREF_N2)
    +		pn2->pn_stat |= PNODE_NOREFS;
    +
    +	return rv;
    +
    +}
    +
    +/*
    + * XXX: lazy bum.  please, for the love of foie gras, fix me.
    + * This should *NOT* depend on setfaf.  Also "memcpy" could
    + * be done more nicely.
    + */
    +void
    +puffs_msg_sendresp(struct puffs_mount *pmp, struct puffs_req *origpreq, int rv)
    +{
    +	struct puffs_msgpark *park;
    +	struct puffs_req *preq;
    +
    +	puffs_msgmem_alloc(sizeof(struct puffs_req), &park, (void *)&preq, 1);
    +	puffs_msg_setfaf(park); /* XXXXXX: avoids reqid override */
    +
    +	memcpy(preq, origpreq, sizeof(struct puffs_req));
    +	preq->preq_rv = rv;
    +	preq->preq_opclass |= PUFFSOPFLAG_ISRESPONSE;
    +
    +	puffs_msg_enqueue(pmp, park);
    +	puffs_msgmem_release(park);
    +}
    +
    +/*
    + * Get next request in the outgoing queue.  "maxsize" controls the
    + * size the caller can accommodate and "nonblock" signals if this
    + * should block while waiting for input.  Handles all locking internally.
    + */
    +int
    +puffs_msgif_getout(void *this, size_t maxsize, int nonblock,
    +	uint8_t **data, size_t *dlen, void **parkptr)
    +{
    +	struct puffs_mount *pmp = this;
    +	struct puffs_msgpark *park = NULL;
    +	struct puffs_req *preq = NULL;
    +	int error;
    +
    +	error = 0;
    +	mutex_enter(&pmp->pmp_lock);
    +	puffs_mp_reference(pmp);
    +	for (;;) {
    +		/* RIP? */
    +		if (pmp->pmp_status != PUFFSTAT_RUNNING) {
    +			error = ENXIO;
    +			break;
    +		}
    +
    +		/* need platinum yendorian express card? */
    +		if (TAILQ_EMPTY(&pmp->pmp_msg_touser)) {
    +			DPRINTF(("puffs_getout: no outgoing op, "));
    +			if (nonblock) {
    +				DPRINTF(("returning EWOULDBLOCK\n"));
    +				error = EWOULDBLOCK;
    +				break;
    +			}
    +			DPRINTF(("waiting ...\n"));
    +
    +			error = cv_wait_sig(&pmp->pmp_msg_waiter_cv,
    +			    &pmp->pmp_lock);
    +			if (error)
    +				break;
    +			else
    +				continue;
    +		}
    +
    +		park = TAILQ_FIRST(&pmp->pmp_msg_touser);
    +		if (park == NULL)
    +			continue;
    +
    +		mutex_enter(&park->park_mtx);
    +		puffs_msgpark_reference(park);
    +
    +		DPRINTF(("puffs_getout: found park at %p, ", park));
    +
    +		/* If it's a goner, don't process any furher */
    +		if (park->park_flags & PARKFLAG_WAITERGONE) {
    +			DPRINTF(("waitergone!\n"));
    +			puffs_msgpark_release(park);
    +			continue;
    +		}
    +		preq = park->park_preq;
    +
    +#if 0
    +		/* check size */
    +		/*
    +		 * XXX: this check is not valid for now, we don't know
    +		 * the size of the caller's input buffer.  i.e. this
    +		 * will most likely go away
    +		 */
    +		if (maxsize < preq->preq_frhdr.pfr_len) {
    +			DPRINTF(("buffer too small\n"));
    +			puffs_msgpark_release(park);
    +			error = E2BIG;
    +			break;
    +		}
    +#endif
    +
    +		DPRINTF(("returning\n"));
    +
    +		/*
    +		 * Ok, we found what we came for.  Release it from the
    +		 * outgoing queue but do not unlock.  We will unlock
    +		 * only after we "releaseout" it to avoid complications:
    +		 * otherwise it is (theoretically) possible for userland
    +		 * to race us into "put" before we have a change to put
    +		 * this baby on the receiving queue.
    +		 */
    +		TAILQ_REMOVE(&pmp->pmp_msg_touser, park, park_entries);
    +		KASSERT(park->park_flags & PARKFLAG_ONQUEUE1);
    +		park->park_flags &= ~PARKFLAG_ONQUEUE1;
    +		mutex_exit(&park->park_mtx);
    +
    +		pmp->pmp_msg_touser_count--;
    +		KASSERT(pmp->pmp_msg_touser_count >= 0);
    +
    +		break;
    +	}
    +	puffs_mp_release(pmp);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	if (error == 0) {
    +		*data = (uint8_t *)preq;
    +		preq->preq_pth.pth_framelen = park->park_copylen;
    +		*dlen = preq->preq_pth.pth_framelen;
    +		*parkptr = park;
    +	}
    +
    +	return error;
    +}
    +
    +/*
    + * Release outgoing structure.  Now, depending on the success of the
    + * outgoing send, it is either going onto the result waiting queue
    + * or the death chamber.
    + */
    +void
    +puffs_msgif_releaseout(void *this, void *parkptr, int status)
    +{
    +	struct puffs_mount *pmp = this;
    +	struct puffs_msgpark *park = parkptr;
    +
    +	DPRINTF(("puffs_releaseout: returning park %p, errno %d: " ,
    +	    park, status));
    +	mutex_enter(&pmp->pmp_lock);
    +	mutex_enter(&park->park_mtx);
    +	if (park->park_flags & PARKFLAG_WANTREPLY) {
    +		if (status == 0) {
    +			DPRINTF(("enqueue replywait\n"));
    +			TAILQ_INSERT_TAIL(&pmp->pmp_msg_replywait, park,
    +			    park_entries);
    +			park->park_flags |= PARKFLAG_ONQUEUE2;
    +		} else {
    +			DPRINTF(("error path!\n"));
    +			park->park_preq->preq_rv = status;
    +			park->park_flags |= PARKFLAG_DONE;
    +			cv_signal(&park->park_cv);
    +		}
    +		puffs_msgpark_release(park);
    +	} else {
    +		DPRINTF(("release\n"));
    +		puffs_msgpark_release1(park, 2);
    +	}
    +	mutex_exit(&pmp->pmp_lock);
    +}
    +
    +size_t
    +puffs_msgif_waitcount(void *this)
    +{
    +	struct puffs_mount *pmp = this;
    +	size_t rv;
    +
    +	mutex_enter(&pmp->pmp_lock);
    +	rv = pmp->pmp_msg_touser_count;
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	return rv;
    +}
    +
    +/*
    + * XXX: locking with this one?
    + */
    +static void
    +puffsop_msg(void *this, struct puffs_req *preq)
    +{
    +	struct puffs_mount *pmp = this;
    +	struct putter_hdr *pth = &preq->preq_pth;
    +	struct puffs_msgpark *park;
    +	int wgone;
    +
    +	mutex_enter(&pmp->pmp_lock);
    +
    +	/* Locate waiter */
    +	TAILQ_FOREACH(park, &pmp->pmp_msg_replywait, park_entries) {
    +		if (park->park_preq->preq_id == preq->preq_id)
    +			break;
    +	}
    +	if (park == NULL) {
    +		DPRINTF(("puffsop_msg: no request: %" PRIu64 "\n",
    +		    preq->preq_id));
    +		mutex_exit(&pmp->pmp_lock);
    +		return; /* XXX send error */
    +	}
    +
    +	mutex_enter(&park->park_mtx);
    +	puffs_msgpark_reference(park);
    +	if (pth->pth_framelen > park->park_maxlen) {
    +		DPRINTF(("puffsop_msg: invalid buffer length: "
    +		    "%" PRIu64 " (req %" PRIu64 ", \n", pth->pth_framelen,
    +		    preq->preq_id));
    +		park->park_preq->preq_rv = EPROTO;
    +		cv_signal(&park->park_cv);
    +		puffs_msgpark_release1(park, 2);
    +		mutex_exit(&pmp->pmp_lock);
    +		return; /* XXX: error */
    +	}
    +	wgone = park->park_flags & PARKFLAG_WAITERGONE;
    +
    +	KASSERT(park->park_flags & PARKFLAG_ONQUEUE2);
    +	TAILQ_REMOVE(&pmp->pmp_msg_replywait, park, park_entries);
    +	park->park_flags &= ~PARKFLAG_ONQUEUE2;
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	if (wgone) {
    +		DPRINTF(("puffsop_msg: bad service - waiter gone for "
    +		    "park %p\n", park));
    +	} else {
    +#if 1
    +		if (park->park_creq) {
    +			struct puffs_req *creq;
    +			size_t csize;
    +
    +			KASSERT(pmp->pmp_docompat);
    +			puffs_compat_incoming(preq, park->park_creq);
    +			creq = park->park_creq;
    +			csize = park->park_creqlen;
    +			park->park_creq = park->park_preq;
    +			park->park_creqlen = park->park_maxlen;
    +
    +			park->park_preq = creq;
    +			park->park_maxlen = csize;
    +
    +			memcpy(park->park_creq, preq, pth->pth_framelen);
    +		} else {
    +#endif
    +			memcpy(park->park_preq, preq, pth->pth_framelen);
    +		}
    +
    +		if (park->park_flags & PARKFLAG_CALL) {
    +			DPRINTF(("puffsop_msg: call for %p, arg %p\n",
    +			    park->park_preq, park->park_donearg));
    +			park->park_done(pmp, preq, park->park_donearg);
    +		}
    +	}
    +
    +	if (!wgone) {
    +		DPRINTF(("puffs_putop: flagging done for "
    +		    "park %p\n", park));
    +		cv_signal(&park->park_cv);
    +	}
    +
    +	park->park_flags |= PARKFLAG_DONE;
    +	puffs_msgpark_release1(park, 2);
    +}
    +
    +/*
    + * Node expiry. We come here after an inactive on an unexpired node.
    + * The expiry has been queued and is done in sop thread.
    + */
    +static void
    +puffsop_expire(struct puffs_mount *pmp, puffs_cookie_t cookie)
    +{
    +	struct vnode *vp;
    +
    +	KASSERT(PUFFS_USE_FS_TTL(pmp));
    +
    +	/* 
    +	 * If it still exists and has no reference,
    +	 * vrele should cause it to be reclaimed.
    +	 * Otherwise, we have nothing to do.
    +	 */
    +	if (puffs_cookie2vnode(pmp, cookie, 0, 0, &vp) == 0) {
    +		VPTOPP(vp)->pn_stat &= ~PNODE_SOPEXP;
    +		vrele(vp); 
    +	}
    +
    +	return;
    +}
    +
    +static void
    +puffsop_flush(struct puffs_mount *pmp, struct puffs_flush *pf)
    +{
    +	struct vnode *vp;
    +	voff_t offlo, offhi;
    +	int rv, flags = 0;
    +
    +	KASSERT(pf->pf_req.preq_pth.pth_framelen == sizeof(struct puffs_flush));
    +
    +	/* XXX: slurry */
    +	if (pf->pf_op == PUFFS_INVAL_NAMECACHE_ALL) {
    +		cache_purgevfs(PMPTOMP(pmp));
    +		rv = 0;
    +		goto out;
    +	}
    +
    +	/*
    +	 * Get vnode, don't lock it.  Namecache is protected by its own lock
    +	 * and we have a reference to protect against premature harvesting.
    +	 *
    +	 * The node we want here might be locked and the op is in
    +	 * userspace waiting for us to complete ==> deadlock.  Another
    +	 * reason we need to eventually bump locking to userspace, as we
    +	 * will need to lock the node if we wish to do flushes.
    +	 */
    +	rv = puffs_cookie2vnode(pmp, pf->pf_cookie, 0, 0, &vp);
    +	if (rv) {
    +		if (rv == PUFFS_NOSUCHCOOKIE)
    +			rv = ENOENT;
    +		goto out;
    +	}
    +
    +	switch (pf->pf_op) {
    +#if 0
    +	/* not quite ready, yet */
    +	case PUFFS_INVAL_NAMECACHE_NODE:
    +	struct componentname *pf_cn;
    +	char *name;
    +		/* get comfortab^Wcomponentname */
    +		pf_cn = kmem_alloc(componentname);
    +		memset(pf_cn, 0, sizeof(struct componentname));
    +		break;
    +
    +#endif
    +	case PUFFS_INVAL_NAMECACHE_DIR:
    +		if (vp->v_type != VDIR) {
    +			rv = EINVAL;
    +			break;
    +		}
    +		cache_purge1(vp, NULL, 0, PURGE_CHILDREN);
    +		break;
    +
    +	case PUFFS_INVAL_PAGECACHE_NODE_RANGE:
    +		flags = PGO_FREE;
    +		/*FALLTHROUGH*/
    +	case PUFFS_FLUSH_PAGECACHE_NODE_RANGE:
    +		if (flags == 0)
    +			flags = PGO_CLEANIT;
    +
    +		if (pf->pf_end > vp->v_size || vp->v_type != VREG) {
    +			rv = EINVAL;
    +			break;
    +		}
    +
    +		offlo = trunc_page(pf->pf_start);
    +		offhi = round_page(pf->pf_end);
    +		if (offhi != 0 && offlo >= offhi) {
    +			rv = EINVAL;
    +			break;
    +		}
    +
    +		mutex_enter(vp->v_uobj.vmobjlock);
    +		rv = VOP_PUTPAGES(vp, offlo, offhi, flags);
    +		break;
    +
    +	default:
    +		rv = EINVAL;
    +	}
    +
    +	vrele(vp);
    +
    + out:
    +	puffs_msg_sendresp(pmp, &pf->pf_req, rv);
    +}
    +
    +int
    +puffs_msgif_dispatch(void *this, struct putter_hdr *pth)
    +{
    +	struct puffs_mount *pmp = this;
    +	struct puffs_req *preq = (struct puffs_req *)pth;
    +	struct puffs_sopreq *psopr;
    +
    +	if (pth->pth_framelen < sizeof(struct puffs_req)) {
    +		puffs_msg_sendresp(pmp, preq, EINVAL); /* E2SMALL */
    +		return 0;
    +	}
    +
    +	switch (PUFFSOP_OPCLASS(preq->preq_opclass)) {
    +	case PUFFSOP_VN:
    +	case PUFFSOP_VFS:
    +		DPRINTF(("dispatch: vn/vfs message 0x%x\n", preq->preq_optype));
    +		puffsop_msg(pmp, preq);
    +		break;
    +
    +	case PUFFSOP_FLUSH: /* process in sop thread */
    +	{
    +		struct puffs_flush *pf;
    +
    +		DPRINTF(("dispatch: flush 0x%x\n", preq->preq_optype));
    +
    +		if (preq->preq_pth.pth_framelen != sizeof(struct puffs_flush)) {
    +			puffs_msg_sendresp(pmp, preq, EINVAL); /* E2SMALL */
    +			break;
    +		}
    +		pf = (struct puffs_flush *)preq;
    +
    +		KASSERT(curlwp != uvm.pagedaemon_lwp);
    +		psopr = kmem_alloc(sizeof(*psopr), KM_SLEEP);
    +		memcpy(&psopr->psopr_pf, pf, sizeof(*pf));
    +		psopr->psopr_sopreq = PUFFS_SOPREQ_FLUSH;
    +
    +		mutex_enter(&pmp->pmp_sopmtx);
    +		if (pmp->pmp_sopthrcount == 0) {
    +			mutex_exit(&pmp->pmp_sopmtx);
    +			kmem_free(psopr, sizeof(*psopr));
    +			puffs_msg_sendresp(pmp, preq, ENXIO);
    +		} else {
    +			TAILQ_INSERT_TAIL(&pmp->pmp_sopfastreqs,
    +			    psopr, psopr_entries);
    +			cv_signal(&pmp->pmp_sopcv);
    +			mutex_exit(&pmp->pmp_sopmtx);
    +		}
    +		break;
    +	}
    +
    +	case PUFFSOP_UNMOUNT: /* process in sop thread */
    +	{
    +
    +		DPRINTF(("dispatch: unmount 0x%x\n", preq->preq_optype));
    +
    +		KASSERT(curlwp != uvm.pagedaemon_lwp);
    +		psopr = kmem_alloc(sizeof(*psopr), KM_SLEEP);
    +		psopr->psopr_preq = *preq;
    +		psopr->psopr_sopreq = PUFFS_SOPREQ_UNMOUNT;
    +
    +		mutex_enter(&pmp->pmp_sopmtx);
    +		if (pmp->pmp_sopthrcount == 0) {
    +			mutex_exit(&pmp->pmp_sopmtx);
    +			kmem_free(psopr, sizeof(*psopr));
    +			puffs_msg_sendresp(pmp, preq, ENXIO);
    +		} else {
    +			TAILQ_INSERT_TAIL(&pmp->pmp_sopfastreqs,
    +			    psopr, psopr_entries);
    +			cv_signal(&pmp->pmp_sopcv);
    +			mutex_exit(&pmp->pmp_sopmtx);
    +		}
    +		break;
    +	}
    +
    +	default:
    +		DPRINTF(("dispatch: invalid class 0x%x\n", preq->preq_opclass));
    +		puffs_msg_sendresp(pmp, preq, EOPNOTSUPP);
    +		break;
    +	}
    +
    +	return 0;
    +}
    +
    +/*
    + * Work loop for thread processing all ops from server which
    + * cannot safely be handled in caller context.  This includes
    + * everything which might need a lock currently "held" by the file
    + * server, i.e. a long-term kernel lock which will be released only
    + * once the file server acknowledges a request
    + */
    +#define TIMED_OUT(expire) \
    +    ((int)((unsigned int)hardclock_ticks - (unsigned int)expire) > 0)
    +void
    +puffs_sop_thread(void *arg)
    +{
    +	struct puffs_mount *pmp = arg;
    +	struct mount *mp = PMPTOMP(pmp);
    +	struct puffs_sopreq *psopr;
    +	bool keeprunning;
    +	bool unmountme = false;
    +	int timeo;
    +
    +	timeo = PUFFS_USE_FS_TTL(pmp) ? puffs_sopreq_expire_timeout : 0;
    +
    +	mutex_enter(&pmp->pmp_sopmtx);
    +	for (keeprunning = true; keeprunning; ) {
    +		/*
    +		 * We have a fast queue for flush and umount, and a node 
    +		 * queue for delayes node reclaims. Requests on node queue 			 * are not honoured before clock reaches psopr_at. This 
    +		 * code assumes that requests are ordered by psopr_at.
    +		 */
    +		do {
    +			psopr = TAILQ_FIRST(&pmp->pmp_sopfastreqs);
    +			if (psopr != NULL) {
    +				TAILQ_REMOVE(&pmp->pmp_sopfastreqs,
    +					     psopr, psopr_entries);
    +				break;
    +			}
    +
    +			psopr = TAILQ_FIRST(&pmp->pmp_sopnodereqs);
    +			if ((psopr != NULL) && TIMED_OUT(psopr->psopr_at)) {
    +				TAILQ_REMOVE(&pmp->pmp_sopnodereqs,
    +					     psopr, psopr_entries);
    +				break;
    +			}
    +
    +			cv_timedwait(&pmp->pmp_sopcv, &pmp->pmp_sopmtx, timeo);
    +		} while (1 /* CONSTCOND */);
    +
    +		mutex_exit(&pmp->pmp_sopmtx);
    +
    +		switch (psopr->psopr_sopreq) {
    +		case PUFFS_SOPREQSYS_EXIT:
    +			keeprunning = false;
    +			break;
    +		case PUFFS_SOPREQ_FLUSH:
    +			puffsop_flush(pmp, &psopr->psopr_pf);
    +			break;
    +		case PUFFS_SOPREQ_EXPIRE:
    +			puffsop_expire(pmp, psopr->psopr_ck);
    +			break;
    +		case PUFFS_SOPREQ_UNMOUNT:
    +			puffs_msg_sendresp(pmp, &psopr->psopr_preq, 0);
    +
    +			unmountme = true;
    +			keeprunning = false;
    +
    +			/*
    +			 * We know the mountpoint is still alive because
    +			 * the thread that is us (poetic?) is still alive.
    +			 */
    +			atomic_inc_uint((unsigned int*)&mp->mnt_refcnt);
    +			break;
    +		}
    +
    +		kmem_free(psopr, sizeof(*psopr));
    +		mutex_enter(&pmp->pmp_sopmtx);
    +	}
    +
    +	/*
    +	 * Purge remaining ops.
    +	 */
    +	while ((psopr = TAILQ_FIRST(&pmp->pmp_sopfastreqs)) != NULL) {
    +		TAILQ_REMOVE(&pmp->pmp_sopfastreqs, psopr, psopr_entries);
    +		mutex_exit(&pmp->pmp_sopmtx);
    +		puffs_msg_sendresp(pmp, &psopr->psopr_preq, ENXIO);
    +		kmem_free(psopr, sizeof(*psopr));
    +		mutex_enter(&pmp->pmp_sopmtx);
    +	}
    +
    +	while ((psopr = TAILQ_FIRST(&pmp->pmp_sopnodereqs)) != NULL) {
    +		TAILQ_REMOVE(&pmp->pmp_sopnodereqs, psopr, psopr_entries);
    +		mutex_exit(&pmp->pmp_sopmtx);
    +		KASSERT(psopr->psopr_sopreq == PUFFS_SOPREQ_EXPIRE);
    +		kmem_free(psopr, sizeof(*psopr));
    +		mutex_enter(&pmp->pmp_sopmtx);
    +	}
    +
    +	pmp->pmp_sopthrcount--;
    +	cv_broadcast(&pmp->pmp_sopcv);
    +	mutex_exit(&pmp->pmp_sopmtx); /* not allowed to access fs after this */
    +
    +	/*
    +	 * If unmount was requested, we can now safely do it here, since
    +	 * our context is dead from the point-of-view of puffs_unmount()
    +	 * and we are just another thread.  dounmount() makes internally
    +	 * sure that VFS_UNMOUNT() isn't called reentrantly and that it
    +	 * is eventually completed.
    +	 */
    +	if (unmountme) {
    +		(void)dounmount(mp, MNT_FORCE, curlwp);
    +		vfs_destroy(mp);
    +	}
    +
    +	kthread_exit(0);
    +}
    +
    +int
    +puffs_msgif_close(void *this)
    +{
    +	struct puffs_mount *pmp = this;
    +	struct mount *mp = PMPTOMP(pmp);
    +
    +	mutex_enter(&pmp->pmp_lock);
    +	puffs_mp_reference(pmp);
    +
    +	/*
    +	 * Free the waiting callers before proceeding any further.
    +	 * The syncer might be jogging around in this file system
    +	 * currently.  If we allow it to go to the userspace of no
    +	 * return while trying to get the syncer lock, well ...
    +	 */
    +	puffs_userdead(pmp);
    +
    +	/*
    +	 * Make sure someone from puffs_unmount() isn't currently in
    +	 * userspace.  If we don't take this precautionary step,
    +	 * they might notice that the mountpoint has disappeared
    +	 * from under them once they return.  Especially note that we
    +	 * cannot simply test for an unmounter before calling
    +	 * dounmount(), since it might be possible that that particular
    +	 * invocation of unmount was called without MNT_FORCE.  Here we
    +	 * *must* make sure unmount succeeds.  Also, restart is necessary
    +	 * since pmp isn't locked.  We might end up with PUTTER_DEAD after
    +	 * restart and exit from there.
    +	 */
    +	if (pmp->pmp_unmounting) {
    +		cv_wait(&pmp->pmp_unmounting_cv, &pmp->pmp_lock);
    +		puffs_mp_release(pmp);
    +		mutex_exit(&pmp->pmp_lock);
    +		DPRINTF(("puffs_fop_close: unmount was in progress for pmp %p, "
    +		    "restart\n", pmp));
    +		return ERESTART;
    +	}
    +
    +	/* Won't access pmp from here anymore */
    +	atomic_inc_uint((unsigned int*)&mp->mnt_refcnt);
    +	puffs_mp_release(pmp);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	/* Detach from VFS. */
    +	(void)dounmount(mp, MNT_FORCE, curlwp);
    +	vfs_destroy(mp);
    +
    +	return 0;
    +}
    +
    +/*
    + * We're dead, kaput, RIP, slightly more than merely pining for the
    + * fjords, belly-up, fallen, lifeless, finished, expired, gone to meet
    + * our maker, ceased to be, etcetc.  YASD.  It's a dead FS!
    + *
    + * Caller must hold puffs mutex.
    + */
    +void
    +puffs_userdead(struct puffs_mount *pmp)
    +{
    +	struct puffs_msgpark *park, *park_next;
    +
    +	/*
    +	 * Mark filesystem status as dying so that operations don't
    +	 * attempt to march to userspace any longer.
    +	 */
    +	pmp->pmp_status = PUFFSTAT_DYING;
    +
    +	/* signal waiters on REQUEST TO file server queue */
    +	for (park = TAILQ_FIRST(&pmp->pmp_msg_touser); park; park = park_next) {
    +
    +		mutex_enter(&park->park_mtx);
    +		puffs_msgpark_reference(park);
    +		park_next = TAILQ_NEXT(park, park_entries);
    +
    +		KASSERT(park->park_flags & PARKFLAG_ONQUEUE1);
    +		TAILQ_REMOVE(&pmp->pmp_msg_touser, park, park_entries);
    +		park->park_flags &= ~PARKFLAG_ONQUEUE1;
    +		pmp->pmp_msg_touser_count--;
    +
    +		/*
    +		 * Even though waiters on QUEUE1 are removed in touser()
    +		 * in case of WAITERGONE, it is still possible for us to
    +		 * get raced here due to having to retake locks in said
    +		 * touser().  In the race case simply "ignore" the item
    +		 * on the queue and move on to the next one.
    +		 */
    +		if (park->park_flags & PARKFLAG_WAITERGONE) {
    +			KASSERT((park->park_flags & PARKFLAG_CALL) == 0);
    +			KASSERT(park->park_flags & PARKFLAG_WANTREPLY);
    +			puffs_msgpark_release(park);
    +
    +		} else {
    +			park->park_preq->preq_rv = ENXIO;
    +
    +			if (park->park_flags & PARKFLAG_CALL) {
    +				park->park_done(pmp, park->park_preq,
    +				    park->park_donearg);
    +				puffs_msgpark_release1(park, 2);
    +			} else if ((park->park_flags & PARKFLAG_WANTREPLY)==0) {
    +				puffs_msgpark_release1(park, 2);
    +			} else {
    +				park->park_preq->preq_rv = ENXIO;
    +				cv_signal(&park->park_cv);
    +				puffs_msgpark_release(park);
    +			}
    +		}
    +	}
    +
    +	/* signal waiters on RESPONSE FROM file server queue */
    +	for (park=TAILQ_FIRST(&pmp->pmp_msg_replywait); park; park=park_next) {
    +		mutex_enter(&park->park_mtx);
    +		puffs_msgpark_reference(park);
    +		park_next = TAILQ_NEXT(park, park_entries);
    +
    +		KASSERT(park->park_flags & PARKFLAG_ONQUEUE2);
    +		KASSERT(park->park_flags & PARKFLAG_WANTREPLY);
    +
    +		TAILQ_REMOVE(&pmp->pmp_msg_replywait, park, park_entries);
    +		park->park_flags &= ~PARKFLAG_ONQUEUE2;
    +
    +		if (park->park_flags & PARKFLAG_WAITERGONE) {
    +			KASSERT((park->park_flags & PARKFLAG_CALL) == 0);
    +			puffs_msgpark_release(park);
    +		} else {
    +			park->park_preq->preq_rv = ENXIO;
    +			if (park->park_flags & PARKFLAG_CALL) {
    +				park->park_done(pmp, park->park_preq,
    +				    park->park_donearg);
    +				puffs_msgpark_release1(park, 2);
    +			} else {
    +				cv_signal(&park->park_cv);
    +				puffs_msgpark_release(park);
    +			}
    +		}
    +	}
    +
    +	cv_broadcast(&pmp->pmp_msg_waiter_cv);
    +}
    diff --git a/sys/fs/puffs/puffs_msgif.h b/sys/fs/puffs/puffs_msgif.h
    new file mode 100644
    index 000000000..264346c9e
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_msgif.h
    @@ -0,0 +1,699 @@
    +/*	$NetBSD: puffs_msgif.h,v 1.80 2012/08/10 16:49:35 manu Exp $	*/
    +
    +/*
    + * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Google Summer of Code program and the Ulla Tuominen Foundation.
    + * The Google SoC project was mentored by Bill Studenmund.
    + *
    + * 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 ``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.
    + */
    +
    +#ifndef _FS_PUFFS_PUFFS_MSGIF_H_
    +#define _FS_PUFFS_PUFFS_MSGIF_H_
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#if !defined(__minix)
    +#include 
    +#endif /* !defined(__minix) */
    +
    +#include 
    +
    +#define PUFFSOP_VFS		0x01	/* kernel-> */
    +#define PUFFSOP_VN		0x02	/* kernel-> */
    +#define PUFFSOP_CACHE		0x03	/* only kernel-> */
    +#define PUFFSOP_ERROR		0x04	/* only kernel-> */
    +#define PUFFSOP_FLUSH		0x05	/* ->kernel */
    +#define PUFFSOP_SUSPEND		0x06	/* ->kernel */
    +#define PUFFSOP_UNMOUNT		0x07	/* ->kernel */
    +
    +#define PUFFSOPFLAG_FAF		0x10	/* fire-and-forget */
    +#define PUFFSOPFLAG_ISRESPONSE	0x20	/* req is actually a resp */
    +
    +#define PUFFSOP_OPCMASK		0x07
    +#define PUFFSOP_OPCLASS(a)	((a) & PUFFSOP_OPCMASK)
    +#define PUFFSOP_WANTREPLY(a)	(((a) & PUFFSOPFLAG_FAF) == 0)
    +
    +enum {
    +	PUFFS_VFS_MOUNT,	PUFFS_VFS_START,	PUFFS_VFS_UNMOUNT,
    +	PUFFS_VFS_ROOT,		PUFFS_VFS_QUOTACTL,	PUFFS_VFS_STATVFS,
    +	PUFFS_VFS_SYNC,		PUFFS_VFS_VGET,		PUFFS_VFS_FHTOVP,
    +	PUFFS_VFS_VPTOFH,	PUFFS_VFS_INIT,		PUFFS_VFS_DONE,
    +	PUFFS_VFS_SNAPSHOT,	PUFFS_VFS_EXTATTRCTL,	PUFFS_VFS_SUSPEND
    +};
    +#define PUFFS_VFS_MAX PUFFS_VFS_SUSPEND
    +
    +enum {
    +	PUFFS_VN_LOOKUP,	PUFFS_VN_CREATE,	PUFFS_VN_MKNOD,
    +	PUFFS_VN_OPEN,		PUFFS_VN_CLOSE,		PUFFS_VN_ACCESS,
    +	PUFFS_VN_GETATTR,	PUFFS_VN_SETATTR,	PUFFS_VN_READ,
    +	PUFFS_VN_WRITE,		PUFFS_VN_IOCTL,		PUFFS_VN_FCNTL,
    +	PUFFS_VN_POLL,		PUFFS_VN_KQFILTER,	PUFFS_VN_REVOKE,
    +	PUFFS_VN_MMAP,		PUFFS_VN_FSYNC,		PUFFS_VN_SEEK,
    +	PUFFS_VN_REMOVE,	PUFFS_VN_LINK,		PUFFS_VN_RENAME,
    +	PUFFS_VN_MKDIR,		PUFFS_VN_RMDIR,		PUFFS_VN_SYMLINK,
    +	PUFFS_VN_READDIR,	PUFFS_VN_READLINK,	PUFFS_VN_ABORTOP,
    +	PUFFS_VN_INACTIVE,	PUFFS_VN_RECLAIM,	PUFFS_VN_LOCK,
    +	PUFFS_VN_UNLOCK,	PUFFS_VN_BMAP,		PUFFS_VN_STRATEGY,
    +	PUFFS_VN_PRINT,		PUFFS_VN_ISLOCKED,	PUFFS_VN_PATHCONF,
    +	PUFFS_VN_ADVLOCK,	PUFFS_VN_LEASE,		PUFFS_VN_WHITEOUT,
    +	PUFFS_VN_GETPAGES,	PUFFS_VN_PUTPAGES,	PUFFS_VN_GETEXTATTR,
    +	PUFFS_VN_LISTEXTATTR,	PUFFS_VN_OPENEXTATTR,	PUFFS_VN_DELETEEXTATTR,
    +	PUFFS_VN_SETEXTATTR,	PUFFS_VN_CLOSEEXTATTR
    +	/* NOTE: If you add an op, decrement PUFFS_VN_SPARE accordingly */
    +};
    +#define PUFFS_VN_MAX PUFFS_VN_CLOSEEXTATTR
    +#define PUFFS_VN_SPARE 32
    +
    +/*
    + * These signal invalid parameters the file system returned.
    + */
    +enum {
    +	PUFFS_ERR_ERROR,
    +	PUFFS_ERR_MAKENODE,	PUFFS_ERR_LOOKUP,	PUFFS_ERR_READDIR,
    +	PUFFS_ERR_READLINK,	PUFFS_ERR_READ,		PUFFS_ERR_WRITE,
    +	PUFFS_ERR_VPTOFH,	PUFFS_ERR_GETEXTATTR,	PUFFS_ERR_LISTEXTATTR
    +};
    +#define PUFFS_ERR_MAX PUFFS_ERR_LISTEXTATTR
    +
    +#define PUFFSVERSION	30
    +#define PUFFSNAMESIZE	32
    +
    +#define PUFFS_TYPEPREFIX "puffs|"
    +
    +#define PUFFS_TYPELEN (_VFS_NAMELEN - (sizeof(PUFFS_TYPEPREFIX)+1))
    +#define PUFFS_NAMELEN (_VFS_MNAMELEN-1)
    +
    +/* 
    + * Just a weak typedef for code clarity.  Additionally, we have a
    + * more appropriate vanity type for puffs:
    + *  it should be croissant, not cookie.
    + */
    +typedef void *puffs_cookie_t;
    +typedef puffs_cookie_t puffs_croissant_t;
    +
    +struct puffs_kargs {
    +	unsigned int	pa_vers;
    +	int		pa_fd;
    +
    +	uint32_t	pa_flags;
    +
    +	size_t		pa_maxmsglen;
    +	int		pa_nhashbuckets;
    +
    +	size_t		pa_fhsize;
    +	int		pa_fhflags;
    +
    +	uint8_t		pa_vnopmask[PUFFS_VN_MAX + PUFFS_VN_SPARE];
    +
    +	char		pa_typename[_VFS_NAMELEN];
    +	char		pa_mntfromname[_VFS_MNAMELEN];
    +
    +	puffs_cookie_t	pa_root_cookie;
    +	enum vtype	pa_root_vtype;
    +	voff_t		pa_root_vsize;
    +	union {
    +		dev_t		dev;
    +		uint64_t	container;
    +	} devunion;
    +
    +	struct statvfs	pa_svfsb;
    +
    +	uint32_t	pa_time32;
    +
    +	uint32_t	pa_spare[127];
    +};
    +#define pa_root_rdev devunion.dev
    +
    +#define PUFFS_KFLAG_NOCACHE_NAME	0x001	/* don't use name cache     */
    +#define PUFFS_KFLAG_NOCACHE_PAGE	0x002	/* don't use page cache	    */
    +#define PUFFS_KFLAG_NOCACHE		0x003	/* no cache whatsoever      */
    +#define PUFFS_KFLAG_ALLOPS		0x004	/* ignore pa_vnopmask       */
    +#define PUFFS_KFLAG_WTCACHE		0x008	/* write-through page cache */
    +#define PUFFS_KFLAG_IAONDEMAND		0x010	/* inactive only on demand  */
    +#define PUFFS_KFLAG_LOOKUP_FULLPNBUF	0x020	/* full pnbuf in lookup     */
    +#define PUFFS_KFLAG_NOCACHE_ATTR	0x040	/* no attrib cache (unused) */
    +#define PUFFS_KFLAG_CACHE_FS_TTL	0x080	/* cache use TTL from FS    */
    +#define PUFFS_KFLAG_CACHE_DOTDOT	0x100	/* don't send lookup for .. */
    +#define PUFFS_KFLAG_MASK		0x1bf
    +
    +#define PUFFS_FHFLAG_DYNAMIC		0x01
    +#define PUFFS_FHFLAG_NFSV2		0x02
    +#define PUFFS_FHFLAG_NFSV3		0x04
    +#define PUFFS_FHFLAG_PROTOMASK		0x06
    +#define PUFFS_FHFLAG_PASSTHROUGH	0x08
    +#define PUFFS_FHFLAG_MASK		0x0f
    +
    +#define PUFFS_FHSIZE_MAX	1020	/* FHANDLE_SIZE_MAX - 4 */
    +
    +struct puffs_req {
    +#if !defined(__minix)
    +	struct putter_hdr	preq_pth;
    +#endif /* ! defined(__minix) */
    +
    +	uint64_t		preq_id;
    +	puffs_cookie_t		preq_cookie;
    +
    +	uint16_t		preq_opclass;
    +	uint16_t		preq_optype;
    +	int			preq_rv;
    +
    +	uint32_t		preq_setbacks;
    +
    +	/* Who is making the call?  Eventually host id is also needed. */
    +	pid_t			preq_pid;
    +	lwpid_t			preq_lid;
    +
    +	/*
    +	 * the following helper pads the struct size to md alignment
    +	 * multiple (should size_t not cut it).  it makes sure that
    +	 * whatever comes after this struct is aligned
    +	 */
    +	size_t  		preq_buflen;
    +	uint8_t	preq_buf[0] __aligned(ALIGNBYTES+1);
    +};
    +
    +#define PUFFS_SETBACK_INACT_N1	0x01	/* set VOP_INACTIVE for node 1 */
    +#define PUFFS_SETBACK_INACT_N2	0x02	/* set VOP_INACTIVE for node 2 */
    +#define PUFFS_SETBACK_NOREF_N1	0x04	/* set pn PN_NOREFS for node 1 */
    +#define PUFFS_SETBACK_NOREF_N2	0x08	/* set pn PN_NOREFS for node 2 */
    +#define PUFFS_SETBACK_MASK	0x0f
    +
    +/*
    + * Flush operation.  This can be used to invalidate:
    + * 1) name cache for one node
    + * 2) name cache for all children 
    + * 3) name cache for the entire mount
    + * 4) page cache for a set of ranges in one node
    + * 5) page cache for one entire node
    + *
    + * It can be used to flush:
    + * 1) page cache for a set of ranges in one node
    + * 2) page cache for one entire node
    + */
    +
    +struct puffs_flush {
    +	struct puffs_req	pf_req;
    +
    +	puffs_cookie_t		pf_cookie;
    +
    +	int			pf_op;
    +	off_t			pf_start;
    +	off_t			pf_end;
    +};
    +#define PUFFS_INVAL_NAMECACHE_NODE		0
    +#define PUFFS_INVAL_NAMECACHE_DIR		1
    +#define PUFFS_INVAL_NAMECACHE_ALL		2
    +#define PUFFS_INVAL_PAGECACHE_NODE_RANGE	3
    +#define PUFFS_FLUSH_PAGECACHE_NODE_RANGE	4
    +
    +/*
    + * Credentials for an operation.  Can be either struct uucred for
    + * ops called from a credential context or NOCRED/FSCRED for ops
    + * called from within the kernel.  It is up to the implementation
    + * if it makes a difference between these two and the super-user.
    + */
    +struct puffs_kcred {
    +	struct uucred	pkcr_uuc;
    +	uint8_t		pkcr_type;
    +	uint8_t		pkcr_internal;
    +};
    +#define PUFFCRED_TYPE_UUC	1
    +#define PUFFCRED_TYPE_INTERNAL	2
    +#define PUFFCRED_CRED_NOCRED	1
    +#define PUFFCRED_CRED_FSCRED	2
    +
    +/*
    + * 2*MAXPHYS is the max size the system will attempt to copy,
    + * else treated as garbage
    + */
    +#define PUFFS_MSG_MAXSIZE	2*MAXPHYS
    +#define PUFFS_MSGSTRUCT_MAX	4096 /* approximate */
    +
    +#define PUFFS_EXTNAMELEN KERNEL_NAME_MAX /* currently same as EXTATTR_MAXNAMELEN */
    +
    +#define PUFFS_TOMOVE(a,b) (MIN((a), b->pmp_msg_maxsize - PUFFS_MSGSTRUCT_MAX))
    +
    +/* puffs struct componentname built by kernel */
    +struct puffs_kcn {
    +	/* args */
    +	uint32_t		pkcn_nameiop;	/* namei operation	*/
    +	uint32_t		pkcn_flags;	/* flags		*/
    +
    +	char pkcn_name[MAXPATHLEN];	/* nulterminated path component */
    +	size_t pkcn_namelen;		/* current component length	*/
    +	size_t pkcn_consume;		/* IN: extra chars server ate   */
    +};
    +
    +
    +/*
    + * Next come the individual requests.  They are all subclassed from
    + * puffs_req and contain request-specific fields in addition.  Note
    + * that there are some requests which have to handle arbitrary-length
    + * buffers.
    + *
    + * The division is the following: puffs_req is to be touched only
    + * by generic routines while the other stuff is supposed to be
    + * modified only by specific routines.
    + */
    +
    +/*
    + * aux structures for vfs operations.
    + */
    +struct puffs_vfsmsg_unmount {
    +	struct puffs_req	pvfsr_pr;
    +
    +	int			pvfsr_flags;
    +};
    +
    +struct puffs_vfsmsg_statvfs {
    +	struct puffs_req	pvfsr_pr;
    +
    +	struct statvfs		pvfsr_sb;
    +};
    +
    +struct puffs_vfsmsg_sync {
    +	struct puffs_req	pvfsr_pr;
    +
    +	struct puffs_kcred	pvfsr_cred;
    +	int			pvfsr_waitfor;
    +};
    +
    +struct puffs_vfsmsg_fhtonode {
    +	struct puffs_req	pvfsr_pr;
    +
    +	void			*pvfsr_fhcookie;	/* IN	*/
    +	enum vtype		pvfsr_vtype;		/* IN	*/
    +	voff_t			pvfsr_size;		/* IN	*/
    +	dev_t			pvfsr_rdev;		/* IN	*/
    +
    +	size_t			pvfsr_dsize;		/* OUT */
    +	uint8_t			pvfsr_data[0]		/* OUT, XXX */
    +				    __aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs_vfsmsg_nodetofh {
    +	struct puffs_req	pvfsr_pr;
    +
    +	void			*pvfsr_fhcookie;	/* OUT	*/
    +
    +	size_t			pvfsr_dsize;		/* OUT/IN  */
    +	uint8_t			pvfsr_data[0]		/* IN, XXX */
    +				    __aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs_vfsmsg_suspend {
    +	struct puffs_req	pvfsr_pr;
    +
    +	int			pvfsr_status;
    +};
    +#define PUFFS_SUSPEND_START	0
    +#define PUFFS_SUSPEND_SUSPENDED	1
    +#define PUFFS_SUSPEND_RESUME	2
    +#define PUFFS_SUSPEND_ERROR	3
    +
    +#define PUFFS_EXTATTRCTL_HASNODE	0x01
    +#define PUFFS_EXTATTRCTL_HASATTRNAME	0x02
    +struct puffs_vfsmsg_extattrctl {
    +	struct puffs_req	pvfsr_pr;
    +
    +	int			pvfsr_cmd;			  /* OUT */
    +	int			pvfsr_attrnamespace;		  /* OUT */
    +	int			pvfsr_flags;			  /* OUT */
    +	char			pvfsr_attrname[PUFFS_EXTNAMELEN]; /* OUT */
    +};
    +
    +/*
    + * aux structures for vnode operations.
    + */
    +
    +struct puffs_vnmsg_lookup {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	enum vtype		pvnr_vtype;		/* IN	*/
    +	voff_t			pvnr_size;		/* IN	*/
    +	dev_t			pvnr_rdev;		/* IN	*/
    +	/* Used only if PUFFS_KFLAG_CACHE_USE_TTL */
    +	struct vattr		pvnr_va;		/* IN	*/
    +	struct timespec		pvnr_va_ttl;		/* IN	*/
    +	struct timespec		pvnr_cn_ttl;		/* IN	*/
    +};
    +
    +struct puffs_vnmsg_create {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	/* Used only if PUFFS_KFLAG_CACHE_USE_TTL */
    +	struct timespec		pvnr_va_ttl;		/* IN	*/
    +	struct timespec		pvnr_cn_ttl;		/* IN	*/
    +};
    +
    +struct puffs_vnmsg_mknod {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	/* Used only if PUFFS_KFLAG_CACHE_USE_TTL */
    +	struct timespec		pvnr_va_ttl;		/* IN	*/
    +	struct timespec		pvnr_cn_ttl;		/* IN	*/
    +};
    +
    +struct puffs_vnmsg_open {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	int			pvnr_mode;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_close {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	int			pvnr_fflag;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_access {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	int			pvnr_mode;		/* OUT	*/
    +};
    +
    +#define puffs_vnmsg_setattr puffs_vnmsg_setgetattr
    +#define puffs_vnmsg_getattr puffs_vnmsg_setgetattr
    +struct puffs_vnmsg_setgetattr {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	struct vattr		pvnr_va;		/* IN/OUT (op depend) */
    +	/* Used only if PUFFS_KFLAG_CACHE_USE_TTL */
    +	struct timespec		pvnr_va_ttl;		/* IN	*/
    +};
    +
    +#define puffs_vnmsg_read puffs_vnmsg_rw
    +#define puffs_vnmsg_write puffs_vnmsg_rw
    +struct puffs_vnmsg_rw {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	  */
    +	off_t			pvnr_offset;		/* OUT	  */
    +	size_t			pvnr_resid;		/* IN/OUT */
    +	int			pvnr_ioflag;		/* OUT	  */
    +
    +	uint8_t			pvnr_data[0];		/* IN/OUT (wr/rd) */
    +};
    +
    +#define puffs_vnmsg_ioctl puffs_vnreq_fcnioctl
    +#define puffs_vnmsg_fcntl puffs_vnreq_fcnioctl
    +struct puffs_vnmsg_fcnioctl {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;
    +	u_long			pvnr_command;
    +	pid_t			pvnr_pid;
    +	int			pvnr_fflag;
    +
    +	void			*pvnr_data;
    +	size_t			pvnr_datalen;
    +	int			pvnr_copyback;
    +};
    +
    +struct puffs_vnmsg_poll {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_events;		/* IN/OUT */
    +};
    +
    +struct puffs_vnmsg_fsync {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	off_t			pvnr_offlo;		/* OUT	*/
    +	off_t			pvnr_offhi;		/* OUT	*/
    +	int			pvnr_flags;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_seek {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +	off_t			pvnr_oldoff;		/* OUT	*/
    +	off_t			pvnr_newoff;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_remove {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	puffs_cookie_t		pvnr_cookie_targ;	/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_mkdir {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	/* Used only if PUFFS_KFLAG_CACHE_USE_TTL */
    +	struct timespec		pvnr_va_ttl;		/* IN	*/
    +	struct timespec		pvnr_cn_ttl;		/* IN	*/
    +};
    +
    +struct puffs_vnmsg_rmdir {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	puffs_cookie_t		pvnr_cookie_targ;	/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_link {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	puffs_cookie_t		pvnr_cookie_targ;	/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_rename {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn_src;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_src_cred;	/* OUT	*/
    +	struct puffs_kcn	pvnr_cn_targ;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_targ_cred;	/* OUT	*/
    +
    +	puffs_cookie_t		pvnr_cookie_src;	/* OUT	*/
    +	puffs_cookie_t		pvnr_cookie_targ;	/* OUT	*/
    +	puffs_cookie_t		pvnr_cookie_targdir;	/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_symlink {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +
    +	struct vattr		pvnr_va;		/* OUT	*/
    +	puffs_cookie_t		pvnr_newnode;		/* IN	*/
    +	char			pvnr_link[MAXPATHLEN];	/* OUT	*/
    +	/* Used only if PUFFS_KFLAG_CACHE_USE_TTL */
    +	struct timespec		pvnr_va_ttl;		/* IN	*/
    +	struct timespec		pvnr_cn_ttl;		/* IN	*/
    +};
    +
    +struct puffs_vnmsg_readdir {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT	  */
    +	off_t			pvnr_offset;		/* IN/OUT */
    +	size_t			pvnr_resid;		/* IN/OUT */
    +	size_t			pvnr_ncookies;		/* IN/OUT */
    +	int			pvnr_eofflag;		/* IN     */
    +
    +	size_t			pvnr_dentoff;		/* OUT    */
    +	uint8_t			pvnr_data[0]		/* IN  	  */
    +				    __aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs_vnmsg_readlink {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcred	pvnr_cred;		/* OUT */
    +	size_t			pvnr_linklen;		/* IN  */
    +	char			pvnr_link[MAXPATHLEN];	/* IN  */
    +};
    +
    +struct puffs_vnmsg_reclaim {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_nlookup;		/* OUT */
    +};
    +
    +struct puffs_vnmsg_inactive {
    +	struct puffs_req	pvn_pr;
    +};
    +
    +struct puffs_vnmsg_print {
    +	struct puffs_req	pvn_pr;
    +
    +	/* empty */
    +};
    +
    +struct puffs_vnmsg_pathconf {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_name;		/* OUT	*/
    +	register_t		pvnr_retval;		/* IN	*/
    +};
    +
    +struct puffs_vnmsg_advlock {
    +	struct puffs_req	pvn_pr;
    +
    +	struct flock		pvnr_fl;		/* OUT	*/
    +	void			*pvnr_id;		/* OUT	*/
    +	int			pvnr_op;		/* OUT	*/
    +	int			pvnr_flags;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_mmap {
    +	struct puffs_req	pvn_pr;
    +
    +	vm_prot_t		pvnr_prot;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cred;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_abortop {
    +	struct puffs_req	pvn_pr;
    +
    +	struct puffs_kcn	pvnr_cn;		/* OUT	*/
    +	struct puffs_kcred	pvnr_cn_cred;		/* OUT	*/
    +};
    +
    +struct puffs_vnmsg_getextattr {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_attrnamespace;		/* OUT	  */
    +	char			pvnr_attrname[PUFFS_EXTNAMELEN];/* OUT	  */
    +
    +	struct puffs_kcred	pvnr_cred;			/* OUT	  */
    +	size_t			pvnr_datasize;			/* IN	  */
    +
    +	size_t			pvnr_resid;			/* IN/OUT */
    +	uint8_t			pvnr_data[0]			/* IN	  */
    +				    __aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs_vnmsg_setextattr {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_attrnamespace;		/* OUT	  */
    +	char			pvnr_attrname[PUFFS_EXTNAMELEN];/* OUT	  */
    +
    +	struct puffs_kcred	pvnr_cred;			/* OUT	*/
    +
    +	size_t			pvnr_resid;			/* IN/OUT */
    +	uint8_t			pvnr_data[0]			/* OUT	  */
    +				    __aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs_vnmsg_listextattr {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_attrnamespace;		/* OUT	  */
    +
    +	struct puffs_kcred	pvnr_cred;			/* OUT	*/
    +	size_t			pvnr_datasize;			/* IN	  */
    +
    +	size_t			pvnr_resid;			/* IN/OUT */
    +	int			pvnr_flag;			/* OUT */
    +	uint8_t			pvnr_data[0]			/* IN	  */
    +				    __aligned(ALIGNBYTES+1);
    +};
    +
    +struct puffs_vnmsg_deleteextattr {
    +	struct puffs_req	pvn_pr;
    +
    +	int			pvnr_attrnamespace;		/* OUT	  */
    +	char			pvnr_attrname[PUFFS_EXTNAMELEN];/* OUT	  */
    +
    +	struct puffs_kcred	pvnr_cred;			/* OUT	*/
    +};
    +
    +/*
    + * For cache reports.  Everything is always out-out-out, no replies
    + */
    +
    +struct puffs_cacherun {
    +	off_t			pcache_runstart;
    +	off_t			pcache_runend;
    +};
    +
    +/* cache info.  old used for write now */
    +struct puffs_cacheinfo {
    +	struct puffs_req	pcache_pr;
    +
    +	int			pcache_type;
    +	size_t			pcache_nruns;		
    +	struct puffs_cacherun	pcache_runs[0];
    +};
    +#define PCACHE_TYPE_READ	0
    +#define PCACHE_TYPE_WRITE	1
    +
    +/*
    + * Error notification.  Always outgoing, no response, no remorse.
    + */
    +struct puffs_error {
    +	struct puffs_req	perr_pr;
    +
    +	int			perr_error;
    +	char			perr_str[256];
    +};
    +
    +#endif /* _FS_PUFFS_PUFFS_MSGIF_H_ */
    diff --git a/sys/fs/puffs/puffs_node.c b/sys/fs/puffs/puffs_node.c
    new file mode 100644
    index 000000000..3ae585d80
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_node.c
    @@ -0,0 +1,499 @@
    +/*	$NetBSD: puffs_node.c,v 1.30 2013/10/17 21:03:27 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Google Summer of Code program, the Ulla Tuominen Foundation
    + * and the Finnish Cultural Foundation.
    + *
    + * 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 ``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.
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: puffs_node.c,v 1.30 2013/10/17 21:03:27 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +static const struct genfs_ops puffs_genfsops = {
    +	.gop_size = puffs_gop_size,
    +	.gop_write = genfs_gop_write,
    +	.gop_markupdate = puffs_gop_markupdate,
    +#if 0
    +	.gop_alloc, should ask userspace
    +#endif
    +};
    +
    +static __inline struct puffs_node_hashlist
    +	*puffs_cookie2hashlist(struct puffs_mount *, puffs_cookie_t);
    +static struct puffs_node *puffs_cookie2pnode(struct puffs_mount *,
    +					     puffs_cookie_t);
    +
    +struct pool puffs_pnpool;
    +struct pool puffs_vapool;
    +
    +/*
    + * Grab a vnode, intialize all the puffs-dependent stuff.
    + */
    +int
    +puffs_getvnode(struct mount *mp, puffs_cookie_t ck, enum vtype type,
    +	voff_t vsize, dev_t rdev, struct vnode **vpp)
    +{
    +	struct puffs_mount *pmp;
    +	struct puffs_newcookie *pnc;
    +	struct vnode *vp;
    +	struct puffs_node *pnode;
    +	struct puffs_node_hashlist *plist;
    +	int error;
    +
    +	pmp = MPTOPUFFSMP(mp);
    +
    +	error = EPROTO;
    +	if (type <= VNON || type >= VBAD) {
    +		puffs_senderr(pmp, PUFFS_ERR_MAKENODE, EINVAL,
    +		    "bad node type", ck);
    +		goto bad;
    +	}
    +	if (vsize == VSIZENOTSET) {
    +		puffs_senderr(pmp, PUFFS_ERR_MAKENODE, EINVAL,
    +		    "VSIZENOTSET is not a valid size", ck);
    +		goto bad;
    +	}
    +
    +	error = getnewvnode(VT_PUFFS, mp, puffs_vnodeop_p, NULL, &vp);
    +	if (error) {
    +		goto bad;
    +	}
    +	vp->v_type = type;
    +
    +	/*
    +	 * Creation should not fail after this point.  Or if it does,
    +	 * care must be taken so that VOP_INACTIVE() isn't called.
    +	 */
    +
    +	/* default size */
    +	uvm_vnp_setsize(vp, 0);
    +
    +	/* dances based on vnode type. almost ufs_vinit(), but not quite */
    +	switch (type) {
    +	case VCHR:
    +	case VBLK:
    +		/*
    +		 * replace vnode operation vector with the specops vector.
    +		 * our user server has very little control over the node
    +		 * if it decides its a character or block special file
    +		 */
    +		vp->v_op = puffs_specop_p;
    +		spec_node_init(vp, rdev);
    +		break;
    +
    +	case VFIFO:
    +		vp->v_op = puffs_fifoop_p;
    +		break;
    +
    +	case VREG:
    +		uvm_vnp_setsize(vp, vsize);
    +		break;
    +
    +	case VDIR:
    +	case VLNK:
    +	case VSOCK:
    +		break;
    +	default:
    +		panic("puffs_getvnode: invalid vtype %d", type);
    +	}
    +
    +	pnode = pool_get(&puffs_pnpool, PR_WAITOK);
    +	memset(pnode, 0, sizeof(struct puffs_node));
    +
    +	pnode->pn_cookie = ck;
    +	pnode->pn_refcount = 1;
    +
    +	/* insert cookie on list, take off of interlock list */
    +	mutex_init(&pnode->pn_mtx, MUTEX_DEFAULT, IPL_NONE);
    +	selinit(&pnode->pn_sel);
    +	plist = puffs_cookie2hashlist(pmp, ck);
    +	mutex_enter(&pmp->pmp_lock);
    +	LIST_INSERT_HEAD(plist, pnode, pn_hashent);
    +	if (ck != pmp->pmp_root_cookie) {
    +		LIST_FOREACH(pnc, &pmp->pmp_newcookie, pnc_entries) {
    +			if (pnc->pnc_cookie == ck) {
    +				LIST_REMOVE(pnc, pnc_entries);
    +				kmem_free(pnc, sizeof(struct puffs_newcookie));
    +				break;
    +			}
    +		}
    +		KASSERT(pnc != NULL);
    +	}
    +	mutex_init(&pnode->pn_sizemtx, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	vp->v_data = pnode;
    +	vp->v_type = type;
    +	pnode->pn_vp = vp;
    +	pnode->pn_serversize = vsize;
    +
    +	genfs_node_init(vp, &puffs_genfsops);
    +	*vpp = vp;
    +
    +	DPRINTF(("new vnode at %p, pnode %p, cookie %p\n", vp,
    +	    pnode, pnode->pn_cookie));
    +
    +	return 0;
    +
    + bad:
    +	/* remove staging cookie from list */
    +	if (ck != pmp->pmp_root_cookie) {
    +		mutex_enter(&pmp->pmp_lock);
    +		LIST_FOREACH(pnc, &pmp->pmp_newcookie, pnc_entries) {
    +			if (pnc->pnc_cookie == ck) {
    +				LIST_REMOVE(pnc, pnc_entries);
    +				kmem_free(pnc, sizeof(struct puffs_newcookie));
    +				break;
    +			}
    +		}
    +		KASSERT(pnc != NULL);
    +		mutex_exit(&pmp->pmp_lock);
    +	}
    +
    +	return error;
    +}
    +
    +/* new node creating for creative vop ops (create, symlink, mkdir, mknod) */
    +int
    +puffs_newnode(struct mount *mp, struct vnode *dvp, struct vnode **vpp,
    +	puffs_cookie_t ck, struct componentname *cnp,
    +	enum vtype type, dev_t rdev)
    +{
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	struct puffs_newcookie *pnc;
    +	struct vnode *vp;
    +	int error;
    +
    +	/* userspace probably has this as a NULL op */
    +	if (ck == NULL) {
    +		error = EOPNOTSUPP;
    +		return error;
    +	}
    +
    +	/*
    +	 * Check for previous node with the same designation.
    +	 * Explicitly check the root node cookie, since it might be
    +	 * reclaimed from the kernel when this check is made.
    +	 */
    +	mutex_enter(&pmp->pmp_lock);
    +	if (ck == pmp->pmp_root_cookie
    +	    || puffs_cookie2pnode(pmp, ck) != NULL) {
    +		mutex_exit(&pmp->pmp_lock);
    +		puffs_senderr(pmp, PUFFS_ERR_MAKENODE, EEXIST,
    +		    "cookie exists", ck);
    +		return EPROTO;
    +	}
    +
    +	LIST_FOREACH(pnc, &pmp->pmp_newcookie, pnc_entries) {
    +		if (pnc->pnc_cookie == ck) {
    +			mutex_exit(&pmp->pmp_lock);
    +			puffs_senderr(pmp, PUFFS_ERR_MAKENODE, EEXIST,
    +			    "newcookie exists", ck);
    +			return EPROTO;
    +		}
    +	}
    +
    +	KASSERT(curlwp != uvm.pagedaemon_lwp);
    +	pnc = kmem_alloc(sizeof(struct puffs_newcookie), KM_SLEEP);
    +	pnc->pnc_cookie = ck;
    +	LIST_INSERT_HEAD(&pmp->pmp_newcookie, pnc, pnc_entries);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	error = puffs_getvnode(dvp->v_mount, ck, type, 0, rdev, &vp);
    +	if (error)
    +		return error;
    +
    +	vp->v_type = type;
    +	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +	*vpp = vp;
    +
    +	if (PUFFS_USE_NAMECACHE(pmp))
    +		cache_enter(dvp, vp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +
    +	return 0;
    +}
    +
    +void
    +puffs_putvnode(struct vnode *vp)
    +{
    +	struct puffs_node *pnode;
    +
    +	pnode = VPTOPP(vp);
    +
    +#ifdef DIAGNOSTIC
    +	if (vp->v_tag != VT_PUFFS)
    +		panic("puffs_putvnode: %p not a puffs vnode", vp);
    +#endif
    +
    +	genfs_node_destroy(vp);
    +	puffs_releasenode(pnode);
    +	vp->v_data = NULL;
    +
    +	return;
    +}
    +
    +static __inline struct puffs_node_hashlist *
    +puffs_cookie2hashlist(struct puffs_mount *pmp, puffs_cookie_t ck)
    +{
    +	uint32_t hash;
    +
    +	hash = hash32_buf(&ck, sizeof(ck), HASH32_BUF_INIT);
    +	return &pmp->pmp_pnodehash[hash % pmp->pmp_npnodehash];
    +}
    +
    +/*
    + * Translate cookie to puffs_node.  Caller must hold pmp_lock
    + * and it will be held upon return.
    + */
    +static struct puffs_node *
    +puffs_cookie2pnode(struct puffs_mount *pmp, puffs_cookie_t ck)
    +{
    +	struct puffs_node_hashlist *plist;
    +	struct puffs_node *pnode;
    +
    +	plist = puffs_cookie2hashlist(pmp, ck);
    +	LIST_FOREACH(pnode, plist, pn_hashent) {
    +		if (pnode->pn_cookie == ck)
    +			break;
    +	}
    +
    +	return pnode;
    +}
    +
    +/*
    + * Make sure root vnode exists and reference it.  Does NOT lock.
    + */
    +static int
    +puffs_makeroot(struct puffs_mount *pmp)
    +{
    +	struct vnode *vp;
    +	int rv;
    +
    +	/*
    +	 * pmp_lock must be held if vref()'ing or vrele()'ing the
    +	 * root vnode.  the latter is controlled by puffs_inactive().
    +	 *
    +	 * pmp_root is set here and cleared in puffs_reclaim().
    +	 */
    + retry:
    +	mutex_enter(&pmp->pmp_lock);
    +	vp = pmp->pmp_root;
    +	if (vp) {
    +		mutex_enter(vp->v_interlock);
    +		mutex_exit(&pmp->pmp_lock);
    +		switch (vget(vp, 0)) {
    +		case ENOENT:
    +			goto retry;
    +		case 0:
    +			return 0;
    +		default:
    +			break;
    +		}
    +	} else
    +		mutex_exit(&pmp->pmp_lock);
    +
    +	/*
    +	 * So, didn't have the magic root vnode available.
    +	 * No matter, grab another and stuff it with the cookie.
    +	 */
    +	if ((rv = puffs_getvnode(pmp->pmp_mp, pmp->pmp_root_cookie,
    +	    pmp->pmp_root_vtype, pmp->pmp_root_vsize, pmp->pmp_root_rdev, &vp)))
    +		return rv;
    +
    +	/*
    +	 * Someone magically managed to race us into puffs_getvnode?
    +	 * Put our previous new vnode back and retry.
    +	 */
    +	mutex_enter(&pmp->pmp_lock);
    +	if (pmp->pmp_root) {
    +		struct puffs_node *pnode = vp->v_data;
    +
    +		LIST_REMOVE(pnode, pn_hashent);
    +		mutex_exit(&pmp->pmp_lock);
    +		puffs_putvnode(vp);
    +		goto retry;
    +	} 
    +
    +	/* store cache */
    +	vp->v_vflag |= VV_ROOT;
    +	pmp->pmp_root = vp;
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	return 0;
    +}
    +
    +/*
    + * Locate the in-kernel vnode based on the cookie received given
    + * from userspace.
    + * The parameter "lock" control whether to lock the possible or
    + * not.  Locking always might cause us to lock against ourselves
    + * in situations where we want the vnode but don't care for the
    + * vnode lock, e.g. file server issued putpages.
    + *
    + * returns 0 on success.  otherwise returns an errno or PUFFS_NOSUCHCOOKIE.
    + *
    + * returns PUFFS_NOSUCHCOOKIE if no vnode for the cookie is found.
    + * in that case, if willcreate=true, the pmp_newcookie list is populated with
    + * the given cookie.  it's the caller's responsibility to consume the entry
    + * with calling puffs_getvnode.
    + */
    +int
    +puffs_cookie2vnode(struct puffs_mount *pmp, puffs_cookie_t ck, int lock,
    +	int willcreate, struct vnode **vpp)
    +{
    +	struct puffs_node *pnode;
    +	struct puffs_newcookie *pnc;
    +	struct vnode *vp;
    +	int vgetflags, rv;
    +
    +	/*
    +	 * Handle root in a special manner, since we want to make sure
    +	 * pmp_root is properly set.
    +	 */
    +	if (ck == pmp->pmp_root_cookie) {
    +		if ((rv = puffs_makeroot(pmp)))
    +			return rv;
    +		if (lock)
    +			vn_lock(pmp->pmp_root, LK_EXCLUSIVE | LK_RETRY);
    +
    +		*vpp = pmp->pmp_root;
    +		return 0;
    +	}
    +
    + retry:
    +	mutex_enter(&pmp->pmp_lock);
    +	pnode = puffs_cookie2pnode(pmp, ck);
    +	if (pnode == NULL) {
    +		if (willcreate) {
    +			pnc = kmem_alloc(sizeof(struct puffs_newcookie),
    +			    KM_SLEEP);
    +			pnc->pnc_cookie = ck;
    +			LIST_INSERT_HEAD(&pmp->pmp_newcookie, pnc, pnc_entries);
    +		}
    +		mutex_exit(&pmp->pmp_lock);
    +		return PUFFS_NOSUCHCOOKIE;
    +	}
    +	vp = pnode->pn_vp;
    +	mutex_enter(vp->v_interlock);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	vgetflags = 0;
    +	if (lock)
    +		vgetflags |= LK_EXCLUSIVE;
    +	switch (rv = vget(vp, vgetflags)) {
    +	case ENOENT:
    +		goto retry;
    +	case 0:
    +		break;
    +	default:
    +		return rv;
    +	}
    +
    +	*vpp = vp;
    +	return 0;
    +}
    +
    +void
    +puffs_updatenode(struct puffs_node *pn, int flags, voff_t size)
    +{
    +	struct timespec ts;
    +
    +	if (flags == 0)
    +		return;
    +
    +	nanotime(&ts);
    +
    +	if (flags & PUFFS_UPDATEATIME) {
    +		pn->pn_mc_atime = ts;
    +		pn->pn_stat |= PNODE_METACACHE_ATIME;
    +	}
    +	if (flags & PUFFS_UPDATECTIME) {
    +		pn->pn_mc_ctime = ts;
    +		pn->pn_stat |= PNODE_METACACHE_CTIME;
    +	}
    +	if (flags & PUFFS_UPDATEMTIME) {
    +		pn->pn_mc_mtime = ts;
    +		pn->pn_stat |= PNODE_METACACHE_MTIME;
    +	}
    +	if (flags & PUFFS_UPDATESIZE) {
    +		pn->pn_mc_size = size;
    +		pn->pn_stat |= PNODE_METACACHE_SIZE;
    +	}
    +}
    +
    +/*
    + * Add reference to node.
    + *  mutex held on entry and return
    + */
    +void
    +puffs_referencenode(struct puffs_node *pn)
    +{
    +
    +	KASSERT(mutex_owned(&pn->pn_mtx));
    +	pn->pn_refcount++;
    +}
    +
    +/*
    + * Release pnode structure which dealing with references to the
    + * puffs_node instead of the vnode.  Can't use vref()/vrele() on
    + * the vnode there, since that causes the lovely VOP_INACTIVE(),
    + * which in turn causes the lovely deadlock when called by the one
    + * who is supposed to handle it.
    + */
    +void
    +puffs_releasenode(struct puffs_node *pn)
    +{
    +
    +	mutex_enter(&pn->pn_mtx);
    +	if (--pn->pn_refcount == 0) {
    +		mutex_exit(&pn->pn_mtx);
    +		mutex_destroy(&pn->pn_mtx);
    +		mutex_destroy(&pn->pn_sizemtx);
    +		seldestroy(&pn->pn_sel);
    +		if (pn->pn_va_cache != NULL)
    +			pool_put(&puffs_vapool, pn->pn_va_cache);
    +		pool_put(&puffs_pnpool, pn);
    +	} else {
    +		mutex_exit(&pn->pn_mtx);
    +	}
    +}
    diff --git a/sys/fs/puffs/puffs_subr.c b/sys/fs/puffs/puffs_subr.c
    new file mode 100644
    index 000000000..12e898c42
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_subr.c
    @@ -0,0 +1,217 @@
    +/*	$NetBSD: puffs_subr.c,v 1.66 2008/11/16 19:34:30 pooka Exp $	*/
    +
    +/*
    + * Copyright (c) 2006, 2007  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Ulla Tuominen Foundation and the Finnish Cultural Foundation.
    + *
    + * 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 ``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.
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: puffs_subr.c,v 1.66 2008/11/16 19:34:30 pooka Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +#ifdef PUFFSDEBUG
    +int puffsdebug;
    +#endif
    +
    +void
    +puffs_makecn(struct puffs_kcn *pkcn, struct puffs_kcred *pkcr,
    +	const struct componentname *cn, int full)
    +{
    +
    +	pkcn->pkcn_nameiop = cn->cn_nameiop;
    +	pkcn->pkcn_flags = cn->cn_flags;
    +
    +	if (full) {
    +		(void)strcpy(pkcn->pkcn_name, cn->cn_nameptr);
    +	} else {
    +		(void)memcpy(pkcn->pkcn_name, cn->cn_nameptr, cn->cn_namelen);
    +		pkcn->pkcn_name[cn->cn_namelen] = '\0';
    +	}
    +	pkcn->pkcn_namelen = cn->cn_namelen;
    +	pkcn->pkcn_consume = 0;
    +
    +	puffs_credcvt(pkcr, cn->cn_cred);
    +}
    +
    +/*
    + * Convert given credentials to struct puffs_kcred for userspace.
    + */
    +void
    +puffs_credcvt(struct puffs_kcred *pkcr, const kauth_cred_t cred)
    +{
    +
    +	memset(pkcr, 0, sizeof(struct puffs_kcred));
    +
    +	if (cred == NOCRED || cred == FSCRED) {
    +		pkcr->pkcr_type = PUFFCRED_TYPE_INTERNAL;
    +		if (cred == NOCRED)
    +			pkcr->pkcr_internal = PUFFCRED_CRED_NOCRED;
    +		if (cred == FSCRED)
    +			pkcr->pkcr_internal = PUFFCRED_CRED_FSCRED;
    + 	} else {
    +		pkcr->pkcr_type = PUFFCRED_TYPE_UUC;
    +		kauth_cred_to_uucred(&pkcr->pkcr_uuc, cred);
    +	}
    +}
    +
    +void
    +puffs_parkdone_asyncbioread(struct puffs_mount *pmp,
    +	struct puffs_req *preq, void *arg)
    +{
    +	struct puffs_vnmsg_read *read_msg = (void *)preq;
    +	struct buf *bp = arg;
    +	size_t moved;
    +
    +	DPRINTF(("%s\n", __func__));
    +
    +	bp->b_error = checkerr(pmp, preq->preq_rv, __func__);
    +	if (bp->b_error == 0) {
    +		if (read_msg->pvnr_resid > bp->b_bcount) {
    +			puffs_senderr(pmp, PUFFS_ERR_READ, E2BIG,
    +			    "resid grew", preq->preq_cookie);
    +			bp->b_error = E2BIG;
    +		} else {
    +			moved = bp->b_bcount - read_msg->pvnr_resid;
    +			bp->b_resid = read_msg->pvnr_resid;
    +
    +			memcpy(bp->b_data, read_msg->pvnr_data, moved);
    +		}
    +	}
    +
    +	biodone(bp);
    +}
    +
    +void
    +puffs_parkdone_asyncbiowrite(struct puffs_mount *pmp,
    +	struct puffs_req *preq, void *arg)
    +{
    +	struct puffs_vnmsg_write *write_msg = (void *)preq;
    +	struct buf *bp = arg;
    +
    +	DPRINTF(("%s\n", __func__));
    +
    +	bp->b_error = checkerr(pmp, preq->preq_rv, __func__);
    +	if (bp->b_error == 0) {
    +		if (write_msg->pvnr_resid > bp->b_bcount) {
    +			puffs_senderr(pmp, PUFFS_ERR_WRITE, E2BIG,
    +			    "resid grew", preq->preq_cookie);
    +			bp->b_error = E2BIG;
    +		} else {
    +			bp->b_resid = write_msg->pvnr_resid;
    +		}
    +	}
    +
    +	biodone(bp);
    +}
    +
    +/* XXX: userspace can leak kernel resources */
    +void
    +puffs_parkdone_poll(struct puffs_mount *pmp, struct puffs_req *preq, void *arg)
    +{
    +	struct puffs_vnmsg_poll *poll_msg = (void *)preq;
    +	struct puffs_node *pn = arg;
    +	int revents, error;
    +
    +	error = checkerr(pmp, preq->preq_rv, __func__);
    +	if (error)
    +		revents = poll_msg->pvnr_events;
    +	else
    +		revents = POLLERR;
    +
    +	mutex_enter(&pn->pn_mtx);
    +	pn->pn_revents |= revents;
    +	mutex_exit(&pn->pn_mtx);
    +
    +	selnotify(&pn->pn_sel, revents, 0);
    +
    +	puffs_releasenode(pn);
    +}
    +
    +void
    +puffs_mp_reference(struct puffs_mount *pmp)
    +{
    +
    +	KASSERT(mutex_owned(&pmp->pmp_lock));
    +	pmp->pmp_refcount++;
    +}
    +
    +void
    +puffs_mp_release(struct puffs_mount *pmp)
    +{
    +
    +	KASSERT(mutex_owned(&pmp->pmp_lock));
    +	if (--pmp->pmp_refcount == 0)
    +		cv_broadcast(&pmp->pmp_refcount_cv);
    +}
    +
    +void
    +puffs_gop_size(struct vnode *vp, off_t size, off_t *eobp,
    +	int flags)
    +{
    +
    +	*eobp = size;
    +}
    +
    +void
    +puffs_gop_markupdate(struct vnode *vp, int flags)
    +{
    +	int uflags = 0;
    +
    +	if (flags & GOP_UPDATE_ACCESSED)
    +		uflags |= PUFFS_UPDATEATIME;
    +	if (flags & GOP_UPDATE_MODIFIED)
    +		uflags |= PUFFS_UPDATEMTIME;
    +
    +	puffs_updatenode(VPTOPP(vp), uflags, 0);
    +}
    +
    +void
    +puffs_senderr(struct puffs_mount *pmp, int type, int error,
    +	const char *str, puffs_cookie_t ck)
    +{
    +	struct puffs_msgpark *park;
    +	struct puffs_error *perr;
    +
    +	puffs_msgmem_alloc(sizeof(struct puffs_error), &park, (void *)&perr, 1);
    +	puffs_msg_setfaf(park);
    +	puffs_msg_setinfo(park, PUFFSOP_ERROR, type, ck);
    +
    +	perr->perr_error = error;
    +	strlcpy(perr->perr_str, str, sizeof(perr->perr_str));
    +
    +	puffs_msg_enqueue(pmp, park);
    +	puffs_msgmem_release(park);
    +}
    diff --git a/sys/fs/puffs/puffs_sys.h b/sys/fs/puffs/puffs_sys.h
    new file mode 100644
    index 000000000..ec882309d
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_sys.h
    @@ -0,0 +1,365 @@
    +/*	$NetBSD: puffs_sys.h,v 1.84 2013/10/17 21:03:27 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 2005, 2006  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Google Summer of Code program and the Ulla Tuominen Foundation.
    + * The Google SoC project was mentored by Bill Studenmund.
    + *
    + * 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 ``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.
    + */
    +
    +#ifndef _PUFFS_SYS_H_
    +#define _PUFFS_SYS_H_
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +
    +extern int (**puffs_vnodeop_p)(void *);
    +extern int (**puffs_specop_p)(void *);
    +extern int (**puffs_fifoop_p)(void *);
    +
    +extern const struct vnodeopv_desc puffs_vnodeop_opv_desc;
    +extern const struct vnodeopv_desc puffs_specop_opv_desc;
    +extern const struct vnodeopv_desc puffs_fifoop_opv_desc;
    +extern const struct vnodeopv_desc puffs_msgop_opv_desc;
    +
    +extern struct pool puffs_pnpool;
    +extern struct pool puffs_vapool;
    +
    +#ifdef DEBUG
    +#ifndef PUFFSDEBUG
    +#define PUFFSDEBUG
    +#endif
    +#endif
    +
    +#ifdef PUFFSDEBUG
    +extern int puffsdebug; /* puffs_subr.c */
    +#define DPRINTF(x) if (puffsdebug > 0) printf x
    +#define DPRINTF_VERBOSE(x) if (puffsdebug > 1) printf x
    +#else
    +#define DPRINTF(x)
    +#define DPRINTF_VERBOSE(x)
    +#endif
    +
    +#define MPTOPUFFSMP(mp) ((struct puffs_mount *)((mp)->mnt_data))
    +#define PMPTOMP(pmp) (pmp->pmp_mp)
    +#define VPTOPP(vp) ((struct puffs_node *)(vp)->v_data)
    +#define VPTOPNC(vp) (((struct puffs_node *)(vp)->v_data)->pn_cookie)
    +#define VPTOPUFFSMP(vp) ((struct puffs_mount*)((struct puffs_node*)vp->v_data))
    +
    +/* we don't pass the kernel overlay to userspace */
    +#define PUFFS_TOFHSIZE(s) ((s)==0 ? (s) : (s)+4)
    +#define PUFFS_FROMFHSIZE(s) ((s)==0 ? (s) : (s)-4)
    +
    +#define ALLOPS(pmp) (pmp->pmp_flags & PUFFS_KFLAG_ALLOPS)
    +#define EXISTSOP(pmp, op) \
    + (ALLOPS(pmp) || ((pmp)->pmp_vnopmask[PUFFS_VN_##op]))
    +
    +#define PUFFS_USE_NAMECACHE(pmp)	\
    +    (((pmp)->pmp_flags & PUFFS_KFLAG_NOCACHE_NAME) == 0)
    +#define PUFFS_USE_PAGECACHE(pmp)	\
    +    (((pmp)->pmp_flags & PUFFS_KFLAG_NOCACHE_PAGE) == 0)
    +#define PUFFS_USE_FULLPNBUF(pmp)	\
    +    ((pmp)->pmp_flags & PUFFS_KFLAG_LOOKUP_FULLPNBUF)
    +#define PUFFS_USE_FS_TTL(pmp)	\
    +    ((pmp)->pmp_flags & PUFFS_KFLAG_CACHE_FS_TTL)
    +#define PUFFS_USE_DOTDOTCACHE(pmp)	\
    +    ((pmp)->pmp_flags & PUFFS_KFLAG_CACHE_DOTDOT)
    +
    +#define PUFFS_WCACHEINFO(pmp)	(__USE(pmp), 0)
    +
    +struct puffs_newcookie {
    +	puffs_cookie_t	pnc_cookie;
    +
    +	LIST_ENTRY(puffs_newcookie) pnc_entries;
    +};
    +
    +#define PUFFS_SOPREQ_EXPIRE_TIMEOUT 1000
    +extern int puffs_sopreq_expire_timeout;
    +
    +enum puffs_sopreqtype {
    +	PUFFS_SOPREQSYS_EXIT,
    +	PUFFS_SOPREQ_FLUSH,
    +	PUFFS_SOPREQ_UNMOUNT,
    +	PUFFS_SOPREQ_EXPIRE,
    +};
    +
    +struct puffs_sopreq {
    +	union {
    +		struct puffs_req preq;
    +		struct puffs_flush pf;
    +		puffs_cookie_t ck;
    +	} psopr_u;
    +
    +	enum puffs_sopreqtype psopr_sopreq;
    +	TAILQ_ENTRY(puffs_sopreq) psopr_entries;
    +	int psopr_at;
    +};
    +#define psopr_preq psopr_u.preq
    +#define psopr_pf psopr_u.pf
    +#define psopr_ck psopr_u.ck
    +
    +TAILQ_HEAD(puffs_wq, puffs_msgpark);
    +LIST_HEAD(puffs_node_hashlist, puffs_node);
    +struct puffs_mount {
    +	kmutex_t	 		pmp_lock;
    +
    +	struct puffs_kargs		pmp_args;
    +#define pmp_flags pmp_args.pa_flags
    +#define pmp_vnopmask pmp_args.pa_vnopmask
    +
    +	struct puffs_wq			pmp_msg_touser;
    +	int				pmp_msg_touser_count;
    +	kcondvar_t			pmp_msg_waiter_cv;
    +	size_t				pmp_msg_maxsize;
    +
    +	struct puffs_wq			pmp_msg_replywait;
    +
    +	struct puffs_node_hashlist	*pmp_pnodehash;
    +	int				pmp_npnodehash;
    +
    +	/*
    +	 * a list of cookies which is going to be puffs_getvnode'd.
    +	 * this is merely a loose attempt to prevent races.
    +	 */
    +	LIST_HEAD(, puffs_newcookie)	pmp_newcookie;
    +
    +	struct mount			*pmp_mp;
    +
    +	struct vnode			*pmp_root;
    +	puffs_cookie_t			pmp_root_cookie;
    +	enum vtype			pmp_root_vtype;
    +	vsize_t				pmp_root_vsize;
    +	dev_t				pmp_root_rdev;
    +
    +	struct putter_instance		*pmp_pi;
    +
    +	unsigned int			pmp_refcount;
    +	kcondvar_t			pmp_refcount_cv;
    +
    +	kcondvar_t			pmp_unmounting_cv;
    +	uint8_t				pmp_unmounting;
    +
    +	uint8_t				pmp_status;
    +	uint8_t				pmp_suspend;
    +
    +	uint8_t				*pmp_curput;
    +	size_t				pmp_curres;
    +	void				*pmp_curopaq;
    +
    +	uint64_t			pmp_nextmsgid;
    +
    +	kmutex_t			pmp_sopmtx;
    +	kcondvar_t			pmp_sopcv;
    +	int				pmp_sopthrcount;
    +	TAILQ_HEAD(, puffs_sopreq)	pmp_sopfastreqs;
    +	TAILQ_HEAD(, puffs_sopreq)	pmp_sopnodereqs;
    +	bool				pmp_docompat;
    +};
    +
    +#define PUFFSTAT_BEFOREINIT	0
    +#define PUFFSTAT_MOUNTING	1
    +#define PUFFSTAT_RUNNING	2
    +#define PUFFSTAT_DYING		3 /* Do you want your possessions identified? */
    +
    +
    +#define PNODE_NOREFS	0x001	/* no backend reference			*/
    +#define PNODE_DYING	0x002	/* NOREFS + inactive			*/
    +#define PNODE_FAF	0x004	/* issue all operations as FAF		*/
    +#define PNODE_DOINACT 	0x008	/* if inactive-on-demand, call inactive */
    +#define PNODE_SOPEXP	0x100	/* Node reclaim postponed in sop thread	*/
    +
    +#define PNODE_METACACHE_ATIME	0x10	/* cache atime metadata */
    +#define PNODE_METACACHE_CTIME	0x20	/* cache atime metadata */
    +#define PNODE_METACACHE_MTIME	0x40	/* cache atime metadata */
    +#define PNODE_METACACHE_SIZE	0x80	/* cache atime metadata */
    +#define PNODE_METACACHE_MASK	0xf0
    +
    +struct puffs_node {
    +	struct genfs_node pn_gnode;	/* genfs glue			*/
    +
    +	kmutex_t	pn_mtx;
    +	int		pn_refcount;
    +	int		pn_nlookup;
    +
    +	puffs_cookie_t	pn_cookie;	/* userspace pnode cookie	*/
    +	struct vnode	*pn_vp;		/* backpointer to vnode		*/
    +	uint32_t	pn_stat;	/* node status			*/
    +
    +	struct selinfo	pn_sel;		/* for selecting on the node	*/
    +	short		pn_revents;	/* available events		*/
    +
    +	/* metacache */
    +	struct timespec	pn_mc_atime;
    +	struct timespec	pn_mc_ctime;
    +	struct timespec	pn_mc_mtime;
    +	u_quad_t	pn_mc_size;
    +
    +	voff_t		pn_serversize;
    +
    +	struct lockf *	pn_lockf;
    +
    +	kmutex_t	pn_sizemtx;	/* size modification mutex	*/
    +	
    +	int		pn_cn_timeout;	/* path cache */
    +	int		pn_cn_grace;	/* grace time before reclaim */
    +	int		pn_va_timeout;	/* attribute cache */
    +	struct vattr *	pn_va_cache;	/* attribute cache */
    +	struct vnode *  pn_parent;	/* parent cache */
    +
    +	LIST_ENTRY(puffs_node) pn_hashent;
    +};
    +
    +typedef void (*parkdone_fn)(struct puffs_mount *, struct puffs_req *, void *);
    +
    +struct puffs_msgpark;
    +void	puffs_msgif_init(void);
    +void	puffs_msgif_destroy(void);
    +int	puffs_msgmem_alloc(size_t, struct puffs_msgpark **, void **, int);
    +void	puffs_msgmem_release(struct puffs_msgpark *);
    +
    +void	puffs_sop_thread(void *);
    +
    +void	puffs_msg_setfaf(struct puffs_msgpark *);
    +void	puffs_msg_setdelta(struct puffs_msgpark *, size_t);
    +void	puffs_msg_setinfo(struct puffs_msgpark *, int, int, puffs_cookie_t);
    +void	puffs_msg_setcall(struct puffs_msgpark *, parkdone_fn, void *);
    +
    +void	puffs_msg_enqueue(struct puffs_mount *, struct puffs_msgpark *);
    +int	puffs_msg_wait(struct puffs_mount *, struct puffs_msgpark *);
    +int	puffs_msg_wait2(struct puffs_mount *, struct puffs_msgpark *,
    +			struct puffs_node *, struct puffs_node *);
    +
    +void	puffs_msg_sendresp(struct puffs_mount *, struct puffs_req *, int);
    +
    +int	puffs_getvnode(struct mount *, puffs_cookie_t, enum vtype,
    +		       voff_t, dev_t, struct vnode **);
    +int	puffs_newnode(struct mount *, struct vnode *, struct vnode **,
    +		      puffs_cookie_t, struct componentname *,
    +		      enum vtype, dev_t);
    +void	puffs_putvnode(struct vnode *);
    +
    +void	puffs_releasenode(struct puffs_node *);
    +void	puffs_referencenode(struct puffs_node *);
    +
    +#define PUFFS_NOSUCHCOOKIE (-1)
    +int	puffs_cookie2vnode(struct puffs_mount *, puffs_cookie_t, int, int,
    +			   struct vnode **);
    +void	puffs_makecn(struct puffs_kcn *, struct puffs_kcred *,
    +		     const struct componentname *, int);
    +void	puffs_credcvt(struct puffs_kcred *, kauth_cred_t);
    +
    +void	puffs_parkdone_asyncbioread(struct puffs_mount *,
    +				    struct puffs_req *, void *);
    +void	puffs_parkdone_asyncbiowrite(struct puffs_mount *,
    +				     struct puffs_req *, void *);
    +void	puffs_parkdone_poll(struct puffs_mount *, struct puffs_req *, void *);
    +
    +void	puffs_mp_reference(struct puffs_mount *);
    +void	puffs_mp_release(struct puffs_mount *);
    +
    +void	puffs_gop_size(struct vnode *, off_t, off_t *, int); 
    +void	puffs_gop_markupdate(struct vnode *, int);
    +
    +void	puffs_senderr(struct puffs_mount *, int, int, const char *,
    +		      puffs_cookie_t);
    +
    +bool	puffs_compat_outgoing(struct puffs_req *, struct puffs_req**, ssize_t*);
    +void	puffs_compat_incoming(struct puffs_req *, struct puffs_req *);
    +
    +void	puffs_updatenode(struct puffs_node *, int, voff_t);
    +#define PUFFS_UPDATEATIME	0x01
    +#define PUFFS_UPDATECTIME	0x02
    +#define PUFFS_UPDATEMTIME	0x04
    +#define PUFFS_UPDATESIZE	0x08
    +
    +void	puffs_userdead(struct puffs_mount *);
    +
    +extern int (**puffs_vnodeop_p)(void *);
    +
    +/* for putter */
    +int	puffs_msgif_getout(void *, size_t, int, uint8_t **, size_t *, void **);
    +void	puffs_msgif_releaseout(void *, void *, int);
    +int	puffs_msgif_dispatch(void *, struct putter_hdr *);
    +size_t	puffs_msgif_waitcount(void *);
    +int	puffs_msgif_close(void *);
    +
    +static __inline int
    +checkerr(struct puffs_mount *pmp, int error, const char *str)
    +{
    +
    +	if (error < 0 || error > ELAST) {
    +		puffs_senderr(pmp, PUFFS_ERR_ERROR, error, str, NULL);
    +		error = EPROTO;
    +	}
    +
    +	return error;
    +}
    +
    +#define PUFFS_MSG_VARS(type, a)						\
    +	struct puffs_##type##msg_##a *a##_msg;				\
    +	struct puffs_msgpark *park_##a = NULL
    +
    +#define PUFFS_MSG_ALLOC(type, a)					\
    +	puffs_msgmem_alloc(sizeof(struct puffs_##type##msg_##a),	\
    +	    &park_##a, (void *)& a##_msg, 1)
    +
    +#define PUFFS_MSG_RELEASE(a) 						\
    +do {									\
    +	if (park_##a) puffs_msgmem_release(park_##a);			\
    +} while (/*CONSTCOND*/0)
    +
    +#define PUFFS_MSG_ENQUEUEWAIT_NOERROR(pmp, park)			\
    +do {									\
    +	puffs_msg_enqueue(pmp, park);					\
    +	puffs_msg_wait(pmp, park);					\
    +} while (/*CONSTCOND*/0)
    +
    +#define PUFFS_MSG_ENQUEUEWAIT2_NOERROR(pmp, park, vp1, vp2)		\
    +do {									\
    +	puffs_msg_enqueue(pmp, park);					\
    +	puffs_msg_wait2(pmp, park, vp1, vp2);				\
    +} while (/*CONSTCOND*/0)
    +
    +#define PUFFS_MSG_ENQUEUEWAIT(pmp, park, var)				\
    +do {									\
    +	puffs_msg_enqueue(pmp, park);					\
    +	var = puffs_msg_wait(pmp, park);				\
    +} while (/*CONSTCOND*/0)
    +
    +#define PUFFS_MSG_ENQUEUEWAIT2(pmp, park, vp1, vp2, var)		\
    +do {									\
    +	puffs_msg_enqueue(pmp, park);					\
    +	var = puffs_msg_wait2(pmp, park, vp1, vp2);			\
    +} while (/*CONSTCOND*/0)
    +
    +#endif /* _PUFFS_SYS_H_ */
    diff --git a/sys/fs/puffs/puffs_vfsops.c b/sys/fs/puffs/puffs_vfsops.c
    new file mode 100644
    index 000000000..b71ead550
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_vfsops.c
    @@ -0,0 +1,887 @@
    +/*	$NetBSD: puffs_vfsops.c,v 1.107 2013/01/16 21:10:14 pooka Exp $	*/
    +
    +/*
    + * Copyright (c) 2005, 2006  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Google Summer of Code program and the Ulla Tuominen Foundation.
    + * The Google SoC project was mentored by Bill Studenmund.
    + *
    + * 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 ``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.
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: puffs_vfsops.c,v 1.107 2013/01/16 21:10:14 pooka Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +
    +#include 
    +
    +#include  /* for fh sizes */
    +
    +MODULE(MODULE_CLASS_VFS, puffs, "putter");
    +
    +VFS_PROTOS(puffs_vfsop);
    +
    +#ifndef PUFFS_PNODEBUCKETS
    +#define PUFFS_PNODEBUCKETS 256
    +#endif
    +#ifndef PUFFS_MAXPNODEBUCKETS
    +#define PUFFS_MAXPNODEBUCKETS 8192
    +#endif
    +int puffs_pnodebuckets_default = PUFFS_PNODEBUCKETS;
    +int puffs_maxpnodebuckets = PUFFS_MAXPNODEBUCKETS;
    +
    +#define BUCKETALLOC(a) (sizeof(struct puffs_pnode_hashlist *) * (a))
    +
    +static struct putter_ops puffs_putter = {
    +	.pop_getout	= puffs_msgif_getout,
    +	.pop_releaseout	= puffs_msgif_releaseout,
    +	.pop_waitcount	= puffs_msgif_waitcount,
    +	.pop_dispatch	= puffs_msgif_dispatch,
    +	.pop_close	= puffs_msgif_close,
    +};
    +
    +/*
    + * Try to ensure data structures used by the puffs protocol
    + * do not unexpectedly change.
    + */
    +#if defined(__i386__) && defined(__ELF__)
    +CTASSERT(sizeof(struct puffs_kargs) == 3928);
    +CTASSERT(sizeof(struct vattr) == 136);
    +CTASSERT(sizeof(struct puffs_req) == 44);
    +#endif
    +
    +int
    +puffs_vfsop_mount(struct mount *mp, const char *path, void *data,
    +	size_t *data_len)
    +{
    +	struct puffs_mount *pmp = NULL;
    +	struct puffs_kargs *args;
    +	char fstype[_VFS_NAMELEN];
    +	char *p;
    +	int error = 0, i;
    +	pid_t mntpid = curlwp->l_proc->p_pid;
    +
    +	if (*data_len < sizeof *args)
    +		return EINVAL;
    +
    +	if (mp->mnt_flag & MNT_GETARGS) {
    +		pmp = MPTOPUFFSMP(mp);
    +		*(struct puffs_kargs *)data = pmp->pmp_args;
    +		*data_len = sizeof *args;
    +		return 0;
    +	}
    +
    +	/* update is not supported currently */
    +	if (mp->mnt_flag & MNT_UPDATE)
    +		return EOPNOTSUPP;
    +
    +	/*
    +	 * We need the file system name
    +	 */
    +	if (!data)
    +		return EINVAL;
    +
    +	args = (struct puffs_kargs *)data;
    +
    +	if (args->pa_vers != PUFFSVERSION) {
    +		printf("puffs_mount: development version mismatch: "
    +		    "kernel %d, lib %d\n", PUFFSVERSION, args->pa_vers);
    +		error = EINVAL;
    +		goto out;
    +	}
    +
    +	if ((args->pa_flags & ~PUFFS_KFLAG_MASK) != 0) {
    +		printf("puffs_mount: invalid KFLAGs 0x%x\n", args->pa_flags);
    +		error = EINVAL;
    +		goto out;
    +	}
    +	if ((args->pa_fhflags & ~PUFFS_FHFLAG_MASK) != 0) {
    +		printf("puffs_mount: invalid FHFLAGs 0x%x\n", args->pa_fhflags);
    +		error = EINVAL;
    +		goto out;
    +	}
    +
    +	for (i = 0; i < __arraycount(args->pa_spare); i++) {
    +		if (args->pa_spare[i] != 0) {
    +			printf("puffs_mount: pa_spare[%d] = 0x%x\n",
    +			    i, args->pa_spare[i]);
    +			error = EINVAL;
    +			goto out;
    +		}
    +	}
    +
    +	/* use dummy value for passthrough */
    +	if (args->pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH)
    +		args->pa_fhsize = sizeof(struct fid);
    +
    +	/* sanitize file handle length */
    +	if (PUFFS_TOFHSIZE(args->pa_fhsize) > FHANDLE_SIZE_MAX) {
    +		printf("puffs_mount: handle size %zu too large\n",
    +		    args->pa_fhsize);
    +		error = EINVAL;
    +		goto out;
    +	}
    +	/* sanity check file handle max sizes */
    +	if (args->pa_fhsize && args->pa_fhflags & PUFFS_FHFLAG_PROTOMASK) {
    +		size_t kfhsize = PUFFS_TOFHSIZE(args->pa_fhsize);
    +
    +		if (args->pa_fhflags & PUFFS_FHFLAG_NFSV2) {
    +			if (NFSX_FHTOOBIG_P(kfhsize, 0)) {
    +				printf("puffs_mount: fhsize larger than "
    +				    "NFSv2 max %d\n",
    +				    PUFFS_FROMFHSIZE(NFSX_V2FH));
    +				error = EINVAL;
    +				goto out;
    +			}
    +		}
    +
    +		if (args->pa_fhflags & PUFFS_FHFLAG_NFSV3) {
    +			if (NFSX_FHTOOBIG_P(kfhsize, 1)) {
    +				printf("puffs_mount: fhsize larger than "
    +				    "NFSv3 max %d\n",
    +				    PUFFS_FROMFHSIZE(NFSX_V3FHMAX));
    +				error = EINVAL;
    +				goto out;
    +			}
    +		}
    +	}
    +
    +	/* don't allow non-printing characters (like my sweet umlauts.. snif) */
    +	args->pa_typename[sizeof(args->pa_typename)-1] = '\0';
    +	for (p = args->pa_typename; *p; p++)
    +		if (*p < ' ' || *p > '~')
    +			*p = '.';
    +
    +	args->pa_mntfromname[sizeof(args->pa_mntfromname)-1] = '\0';
    +	for (p = args->pa_mntfromname; *p; p++)
    +		if (*p < ' ' || *p > '~')
    +			*p = '.';
    +
    +	/* build real name */
    +	(void)strlcpy(fstype, PUFFS_TYPEPREFIX, sizeof(fstype));
    +	(void)strlcat(fstype, args->pa_typename, sizeof(fstype));
    +
    +	/* inform user server if it got the max request size it wanted */
    +	if (args->pa_maxmsglen == 0 || args->pa_maxmsglen > PUFFS_MSG_MAXSIZE)
    +		args->pa_maxmsglen = PUFFS_MSG_MAXSIZE;
    +	else if (args->pa_maxmsglen < 2*PUFFS_MSGSTRUCT_MAX)
    +		args->pa_maxmsglen = 2*PUFFS_MSGSTRUCT_MAX;
    +
    +	(void)strlcpy(args->pa_typename, fstype, sizeof(args->pa_typename));
    +
    +	if (args->pa_nhashbuckets == 0)
    +		args->pa_nhashbuckets = puffs_pnodebuckets_default;
    +	if (args->pa_nhashbuckets < 1)
    +		args->pa_nhashbuckets = 1;
    +	if (args->pa_nhashbuckets > PUFFS_MAXPNODEBUCKETS) {
    +		args->pa_nhashbuckets = puffs_maxpnodebuckets;
    +		printf("puffs_mount: using %d hash buckets. "
    +		    "adjust puffs_maxpnodebuckets for more\n",
    +		    puffs_maxpnodebuckets);
    +	}
    +
    +	error = set_statvfs_info(path, UIO_USERSPACE, args->pa_mntfromname,
    +	    UIO_SYSSPACE, fstype, mp, curlwp);
    +	if (error)
    +		goto out;
    +	mp->mnt_stat.f_iosize = DEV_BSIZE;
    +	mp->mnt_stat.f_namemax = args->pa_svfsb.f_namemax;
    +
    +	/*
    +	 * We can't handle the VFS_STATVFS() mount_domount() does
    +	 * after VFS_MOUNT() because we'd deadlock, so handle it
    +	 * here already.
    +	 */
    +	copy_statvfs_info(&args->pa_svfsb, mp);
    +	(void)memcpy(&mp->mnt_stat, &args->pa_svfsb, sizeof(mp->mnt_stat));
    +
    +	KASSERT(curlwp != uvm.pagedaemon_lwp);
    +	pmp = kmem_zalloc(sizeof(struct puffs_mount), KM_SLEEP);
    +
    +	mp->mnt_fs_bshift = DEV_BSHIFT;
    +	mp->mnt_dev_bshift = DEV_BSHIFT;
    +	mp->mnt_flag &= ~MNT_LOCAL; /* we don't really know, so ... */
    +	mp->mnt_data = pmp;
    +
    +#if 0
    +	/*
    +	 * XXX: puffs code is MPSAFE.  However, VFS really isn't.
    +	 * Currently, there is nothing which protects an inode from
    +	 * reclaim while there are threads inside the file system.
    +	 * This means that in the event of a server crash, an MPSAFE
    +	 * mount is likely to end up accessing invalid memory.  For the
    +	 * non-mpsafe case, the kernel lock, general structure of
    +	 * puffs and pmp_refcount protect the threads during escape.
    +	 *
    +	 * Fixing this will require:
    +	 *  a) fixing vfs
    +	 * OR
    +	 *  b) adding a small sleep to puffs_msgif_close() between
    +	 *     userdead() and dounmount().
    +	 *     (well, this isn't really a fix, but would solve
    +	 *     99.999% of the race conditions).
    +	 *
    +	 * Also, in the event of "b", unmount -f should be used,
    +	 * like with any other file system, sparingly and only when
    +	 * it is "known" to be safe.
    +	 */
    +	mp->mnt_iflags |= IMNT_MPSAFE;
    +#endif
    +
    +	pmp->pmp_status = PUFFSTAT_MOUNTING;
    +	pmp->pmp_mp = mp;
    +	pmp->pmp_msg_maxsize = args->pa_maxmsglen;
    +	pmp->pmp_args = *args;
    +
    +	pmp->pmp_npnodehash = args->pa_nhashbuckets;
    +	pmp->pmp_pnodehash = kmem_alloc(BUCKETALLOC(pmp->pmp_npnodehash),
    +	    KM_SLEEP);
    +	for (i = 0; i < pmp->pmp_npnodehash; i++)
    +		LIST_INIT(&pmp->pmp_pnodehash[i]);
    +	LIST_INIT(&pmp->pmp_newcookie);
    +
    +	/*
    +	 * Inform the fileops processing code that we have a mountpoint.
    +	 * If it doesn't know about anyone with our pid/fd having the
    +	 * device open, punt
    +	 */
    +	if ((pmp->pmp_pi
    +	    = putter_attach(mntpid, args->pa_fd, pmp, &puffs_putter)) == NULL) {
    +		error = ENOENT;
    +		goto out;
    +	}
    +
    +	/* XXX: check parameters */
    +	pmp->pmp_root_cookie = args->pa_root_cookie;
    +	pmp->pmp_root_vtype = args->pa_root_vtype;
    +	pmp->pmp_root_vsize = args->pa_root_vsize;
    +	pmp->pmp_root_rdev = args->pa_root_rdev;
    +	pmp->pmp_docompat = args->pa_time32;
    +
    +	mutex_init(&pmp->pmp_lock, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_init(&pmp->pmp_sopmtx, MUTEX_DEFAULT, IPL_NONE);
    +	cv_init(&pmp->pmp_msg_waiter_cv, "puffsget");
    +	cv_init(&pmp->pmp_refcount_cv, "puffsref");
    +	cv_init(&pmp->pmp_unmounting_cv, "puffsum");
    +	cv_init(&pmp->pmp_sopcv, "puffsop");
    +	TAILQ_INIT(&pmp->pmp_msg_touser);
    +	TAILQ_INIT(&pmp->pmp_msg_replywait);
    +	TAILQ_INIT(&pmp->pmp_sopfastreqs);
    +	TAILQ_INIT(&pmp->pmp_sopnodereqs);
    +
    +	if ((error = kthread_create(PRI_NONE, KTHREAD_MPSAFE, NULL,
    +	    puffs_sop_thread, pmp, NULL, "puffsop")) != 0)
    +		goto out;
    +	pmp->pmp_sopthrcount = 1;
    +
    +	DPRINTF(("puffs_mount: mount point at %p, puffs specific at %p\n",
    +	    mp, MPTOPUFFSMP(mp)));
    +
    +	vfs_getnewfsid(mp);
    +
    + out:
    +	if (error && pmp && pmp->pmp_pi)
    +		putter_detach(pmp->pmp_pi);
    +	if (error && pmp && pmp->pmp_pnodehash)
    +		kmem_free(pmp->pmp_pnodehash, BUCKETALLOC(pmp->pmp_npnodehash));
    +	if (error && pmp)
    +		kmem_free(pmp, sizeof(struct puffs_mount));
    +	return error;
    +}
    +
    +int
    +puffs_vfsop_start(struct mount *mp, int flags)
    +{
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +
    +	KASSERT(pmp->pmp_status == PUFFSTAT_MOUNTING);
    +	pmp->pmp_status = PUFFSTAT_RUNNING;
    +
    +	return 0;
    +}
    +
    +int
    +puffs_vfsop_unmount(struct mount *mp, int mntflags)
    +{
    +	PUFFS_MSG_VARS(vfs, unmount);
    +	struct puffs_mount *pmp;
    +	int error, force;
    +
    +	error = 0;
    +	force = mntflags & MNT_FORCE;
    +	pmp = MPTOPUFFSMP(mp);
    +
    +	DPRINTF(("puffs_unmount: detach filesystem from vfs, current "
    +	    "status 0x%x\n", pmp->pmp_status));
    +
    +	/*
    +	 * flush all the vnodes.  VOP_RECLAIM() takes care that the
    +	 * root vnode does not get flushed until unmount.  The
    +	 * userspace root node cookie is stored in the mount
    +	 * structure, so we can always re-instantiate a root vnode,
    +	 * should userspace unmount decide it doesn't want to
    +	 * cooperate.
    +	 */
    +	error = vflush(mp, NULLVP, force ? FORCECLOSE : 0);
    +	if (error)
    +		goto out;
    +
    +	/*
    +	 * If we are not DYING, we should ask userspace's opinion
    +	 * about the situation
    +	 */
    +	mutex_enter(&pmp->pmp_lock);
    +	if (pmp->pmp_status != PUFFSTAT_DYING) {
    +		pmp->pmp_unmounting = 1;
    +		mutex_exit(&pmp->pmp_lock);
    +
    +		PUFFS_MSG_ALLOC(vfs, unmount);
    +		puffs_msg_setinfo(park_unmount,
    +		    PUFFSOP_VFS, PUFFS_VFS_UNMOUNT, NULL);
    +		unmount_msg->pvfsr_flags = mntflags;
    +
    +		PUFFS_MSG_ENQUEUEWAIT(pmp, park_unmount, error);
    +		PUFFS_MSG_RELEASE(unmount);
    +
    +		error = checkerr(pmp, error, __func__);
    +		DPRINTF(("puffs_unmount: error %d force %d\n", error, force));
    +
    +		mutex_enter(&pmp->pmp_lock);
    +		pmp->pmp_unmounting = 0;
    +		cv_broadcast(&pmp->pmp_unmounting_cv);
    +	}
    +
    +	/*
    +	 * if userspace cooperated or we really need to die,
    +	 * screw what userland thinks and just die.
    +	 */
    +	if (error == 0 || force) {
    +		struct puffs_sopreq *psopr;
    +
    +		/* tell waiters & other resources to go unwait themselves */
    +		puffs_userdead(pmp);
    +		putter_detach(pmp->pmp_pi);
    +
    +		/*
    +		 * Wait until there are no more users for the mount resource.
    +		 * Notice that this is hooked against transport_close
    +		 * and return from touser.  In an ideal world, it would
    +		 * be hooked against final return from all operations.
    +		 * But currently it works well enough, since nobody
    +		 * does weird blocking voodoo after return from touser().
    +		 */
    +		while (pmp->pmp_refcount != 0)
    +			cv_wait(&pmp->pmp_refcount_cv, &pmp->pmp_lock);
    +		mutex_exit(&pmp->pmp_lock);
    +
    +		/*
    +		 * Release kernel thread now that there is nothing
    +		 * it would be wanting to lock.
    +		 */
    +		KASSERT(curlwp != uvm.pagedaemon_lwp);
    +		psopr = kmem_alloc(sizeof(*psopr), KM_SLEEP);
    +		psopr->psopr_sopreq = PUFFS_SOPREQSYS_EXIT;
    +		mutex_enter(&pmp->pmp_sopmtx);
    +		if (pmp->pmp_sopthrcount == 0) {
    +			mutex_exit(&pmp->pmp_sopmtx);
    +			kmem_free(psopr, sizeof(*psopr));
    +			mutex_enter(&pmp->pmp_sopmtx);
    +			KASSERT(pmp->pmp_sopthrcount == 0);
    +		} else {
    +			TAILQ_INSERT_TAIL(&pmp->pmp_sopfastreqs,
    +			    psopr, psopr_entries);
    +			cv_signal(&pmp->pmp_sopcv);
    +		}
    +		while (pmp->pmp_sopthrcount > 0)
    +			cv_wait(&pmp->pmp_sopcv, &pmp->pmp_sopmtx);
    +		mutex_exit(&pmp->pmp_sopmtx);
    +
    +		/* free resources now that we hopefully have no waiters left */
    +		cv_destroy(&pmp->pmp_unmounting_cv);
    +		cv_destroy(&pmp->pmp_refcount_cv);
    +		cv_destroy(&pmp->pmp_msg_waiter_cv);
    +		cv_destroy(&pmp->pmp_sopcv);
    +		mutex_destroy(&pmp->pmp_lock);
    +		mutex_destroy(&pmp->pmp_sopmtx);
    +
    +		kmem_free(pmp->pmp_pnodehash, BUCKETALLOC(pmp->pmp_npnodehash));
    +		kmem_free(pmp, sizeof(struct puffs_mount));
    +		error = 0;
    +	} else {
    +		mutex_exit(&pmp->pmp_lock);
    +	}
    +
    + out:
    +	DPRINTF(("puffs_unmount: return %d\n", error));
    +	return error;
    +}
    +
    +/*
    + * This doesn't need to travel to userspace
    + */
    +int
    +puffs_vfsop_root(struct mount *mp, struct vnode **vpp)
    +{
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	int rv;
    +
    +	rv = puffs_cookie2vnode(pmp, pmp->pmp_root_cookie, 1, 1, vpp);
    +	KASSERT(rv != PUFFS_NOSUCHCOOKIE);
    +	return rv;
    +}
    +
    +int
    +puffs_vfsop_statvfs(struct mount *mp, struct statvfs *sbp)
    +{
    +	PUFFS_MSG_VARS(vfs, statvfs);
    +	struct puffs_mount *pmp;
    +	int error = 0;
    +
    +	pmp = MPTOPUFFSMP(mp);
    +
    +	/*
    +	 * If we are mounting, it means that the userspace counterpart
    +	 * is calling mount(2), but mount(2) also calls statvfs.  So
    +	 * requesting statvfs from userspace would mean a deadlock.
    +	 * Compensate.
    +	 */
    +	if (__predict_false(pmp->pmp_status == PUFFSTAT_MOUNTING))
    +		return EINPROGRESS;
    +
    +	PUFFS_MSG_ALLOC(vfs, statvfs);
    +	puffs_msg_setinfo(park_statvfs, PUFFSOP_VFS, PUFFS_VFS_STATVFS, NULL);
    +
    +	PUFFS_MSG_ENQUEUEWAIT(pmp, park_statvfs, error);
    +	error = checkerr(pmp, error, __func__);
    +	statvfs_msg->pvfsr_sb.f_iosize = DEV_BSIZE;
    +
    +	/*
    +	 * Try to produce a sensible result even in the event
    +	 * of userspace error.
    +	 *
    +	 * XXX: cache the copy in non-error case
    +	 */
    +	if (!error) {
    +		copy_statvfs_info(&statvfs_msg->pvfsr_sb, mp);
    +		(void)memcpy(sbp, &statvfs_msg->pvfsr_sb,
    +		    sizeof(struct statvfs));
    +	} else {
    +		copy_statvfs_info(sbp, mp);
    +	}
    +
    +	PUFFS_MSG_RELEASE(statvfs);
    +	return error;
    +}
    +
    +static int
    +pageflush(struct mount *mp, kauth_cred_t cred, int waitfor)
    +{
    +	struct puffs_node *pn;
    +	struct vnode *vp, *mvp;
    +	int error, rv, fsyncwait;
    +
    +	error = 0;
    +	fsyncwait = (waitfor == MNT_WAIT) ? FSYNC_WAIT : 0;
    +
    +	/* Allocate a marker vnode. */
    +	mvp = vnalloc(mp);
    +
    +	/*
    +	 * Sync all cached data from regular vnodes (which are not
    +	 * currently locked, see below).  After this we call VFS_SYNC
    +	 * for the fs server, which should handle data and metadata for
    +	 * all the nodes it knows to exist.
    +	 */
    +	mutex_enter(&mntvnode_lock);
    + loop:
    +	for (vp = TAILQ_FIRST(&mp->mnt_vnodelist); vp; vp = vunmark(mvp)) {
    +		vmark(mvp, vp);
    +		if (vp->v_mount != mp || vismarker(vp))
    +			continue;
    +
    +		mutex_enter(vp->v_interlock);
    +		pn = VPTOPP(vp);
    +		if (vp->v_type != VREG || UVM_OBJ_IS_CLEAN(&vp->v_uobj)) {
    +			mutex_exit(vp->v_interlock);
    +			continue;
    +		}
    +
    +		mutex_exit(&mntvnode_lock);
    +
    +		/*
    +		 * Here we try to get a reference to the vnode and to
    +		 * lock it.  This is mostly cargo-culted, but I will
    +		 * offer an explanation to why I believe this might
    +		 * actually do the right thing.
    +		 *
    +		 * If the vnode is a goner, we quite obviously don't need
    +		 * to sync it.
    +		 *
    +		 * If the vnode was busy, we don't need to sync it because
    +		 * this is never called with MNT_WAIT except from
    +		 * dounmount(), when we are wait-flushing all the dirty
    +		 * vnodes through other routes in any case.  So there,
    +		 * sync() doesn't actually sync.  Happy now?
    +		 */
    +		rv = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
    +		if (rv) {
    +			mutex_enter(&mntvnode_lock);
    +			if (rv == ENOENT) {
    +				(void)vunmark(mvp);
    +				goto loop;
    +			}
    +			continue;
    +		}
    +
    +		/* hmm.. is the FAF thing entirely sensible? */
    +		if (waitfor == MNT_LAZY) {
    +			mutex_enter(vp->v_interlock);
    +			pn->pn_stat |= PNODE_FAF;
    +			mutex_exit(vp->v_interlock);
    +		}
    +		rv = VOP_FSYNC(vp, cred, fsyncwait, 0, 0);
    +		if (waitfor == MNT_LAZY) {
    +			mutex_enter(vp->v_interlock);
    +			pn->pn_stat &= ~PNODE_FAF;
    +			mutex_exit(vp->v_interlock);
    +		}
    +		if (rv)
    +			error = rv;
    +		vput(vp);
    +		mutex_enter(&mntvnode_lock);
    +	}
    +	mutex_exit(&mntvnode_lock);
    +	vnfree(mvp);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vfsop_sync(struct mount *mp, int waitfor, struct kauth_cred *cred)
    +{
    +	PUFFS_MSG_VARS(vfs, sync);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	int error, rv;
    +
    +	error = pageflush(mp, cred, waitfor);
    +
    +	/* sync fs */
    +	PUFFS_MSG_ALLOC(vfs, sync);
    +	sync_msg->pvfsr_waitfor = waitfor;
    +	puffs_credcvt(&sync_msg->pvfsr_cred, cred);
    +	puffs_msg_setinfo(park_sync, PUFFSOP_VFS, PUFFS_VFS_SYNC, NULL);
    +
    +	PUFFS_MSG_ENQUEUEWAIT(pmp, park_sync, rv);
    +	rv = checkerr(pmp, rv, __func__);
    +	if (rv)
    +		error = rv;
    +
    +	PUFFS_MSG_RELEASE(sync);
    +	return error;
    +}
    +
    +int
    +puffs_vfsop_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
    +{
    +	PUFFS_MSG_VARS(vfs, fhtonode);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	struct vnode *vp;
    +	void *fhdata;
    +	size_t argsize, fhlen;
    +	int error;
    +
    +	if (pmp->pmp_args.pa_fhsize == 0)
    +		return EOPNOTSUPP;
    +
    +	if (pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH) {
    +		fhlen = fhp->fid_len;
    +		fhdata = fhp;
    +	} else {
    +		fhlen = PUFFS_FROMFHSIZE(fhp->fid_len);
    +		fhdata = fhp->fid_data;
    +
    +		if (pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_DYNAMIC) {
    +			if (pmp->pmp_args.pa_fhsize < fhlen)
    +				return EINVAL;
    +		} else {
    +			if (pmp->pmp_args.pa_fhsize != fhlen)
    +				return EINVAL;
    +		}
    +	}
    +
    +	argsize = sizeof(struct puffs_vfsmsg_fhtonode) + fhlen;
    +	puffs_msgmem_alloc(argsize, &park_fhtonode, (void *)&fhtonode_msg, 1);
    +	fhtonode_msg->pvfsr_dsize = fhlen;
    +	memcpy(fhtonode_msg->pvfsr_data, fhdata, fhlen);
    +	puffs_msg_setinfo(park_fhtonode, PUFFSOP_VFS, PUFFS_VFS_FHTOVP, NULL);
    +
    +	PUFFS_MSG_ENQUEUEWAIT(pmp, park_fhtonode, error);
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	error = puffs_cookie2vnode(pmp, fhtonode_msg->pvfsr_fhcookie, 1,1,&vp);
    +	DPRINTF(("puffs_fhtovp: got cookie %p, existing vnode %p\n",
    +	    fhtonode_msg->pvfsr_fhcookie, vp));
    +	if (error == PUFFS_NOSUCHCOOKIE) {
    +		error = puffs_getvnode(mp, fhtonode_msg->pvfsr_fhcookie,
    +		    fhtonode_msg->pvfsr_vtype, fhtonode_msg->pvfsr_size,
    +		    fhtonode_msg->pvfsr_rdev, &vp);
    +		if (error)
    +			goto out;
    +		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +	} else if (error) {
    +		goto out;
    +	}
    +
    +	*vpp = vp;
    + out:
    +	puffs_msgmem_release(park_fhtonode);
    +	return error;
    +}
    +
    +int
    +puffs_vfsop_vptofh(struct vnode *vp, struct fid *fhp, size_t *fh_size)
    +{
    +	PUFFS_MSG_VARS(vfs, nodetofh);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	size_t argsize, fhlen;
    +	int error;
    +
    +	if (pmp->pmp_args.pa_fhsize == 0)
    +		return EOPNOTSUPP;
    +
    +	/* if file handles are static len, we can test len immediately */
    +	if (((pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_DYNAMIC) == 0)
    +	    && ((pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH) == 0)
    +	    && (PUFFS_FROMFHSIZE(*fh_size) < pmp->pmp_args.pa_fhsize)) {
    +		*fh_size = PUFFS_TOFHSIZE(pmp->pmp_args.pa_fhsize);
    +		return E2BIG;
    +	}
    +
    +	if (pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH)
    +		fhlen = *fh_size;
    +	else
    +		fhlen = PUFFS_FROMFHSIZE(*fh_size);
    +
    +	argsize = sizeof(struct puffs_vfsmsg_nodetofh) + fhlen;
    +	puffs_msgmem_alloc(argsize, &park_nodetofh, (void *)&nodetofh_msg, 1);
    +	nodetofh_msg->pvfsr_fhcookie = VPTOPNC(vp);
    +	nodetofh_msg->pvfsr_dsize = fhlen;
    +	puffs_msg_setinfo(park_nodetofh, PUFFSOP_VFS, PUFFS_VFS_VPTOFH, NULL);
    +
    +	PUFFS_MSG_ENQUEUEWAIT(pmp, park_nodetofh, error);
    +	error = checkerr(pmp, error, __func__);
    +
    +	if (pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH)
    +		fhlen = nodetofh_msg->pvfsr_dsize;
    +	else if (pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_DYNAMIC)
    +		fhlen = PUFFS_TOFHSIZE(nodetofh_msg->pvfsr_dsize);
    +	else
    +		fhlen = PUFFS_TOFHSIZE(pmp->pmp_args.pa_fhsize);
    +
    +	if (error) {
    +		if (error == E2BIG)
    +			*fh_size = fhlen;
    +		goto out;
    +	}
    +
    +	if (fhlen > FHANDLE_SIZE_MAX) {
    +		puffs_senderr(pmp, PUFFS_ERR_VPTOFH, E2BIG,
    +		    "file handle too big", VPTOPNC(vp));
    +		error = EPROTO;
    +		goto out;
    +	}
    +
    +	if (*fh_size < fhlen) {
    +		*fh_size = fhlen;
    +		error = E2BIG;
    +		goto out;
    +	}
    +	*fh_size = fhlen;
    +
    +	if (fhp) {
    +		if (pmp->pmp_args.pa_fhflags & PUFFS_FHFLAG_PASSTHROUGH) {
    +			memcpy(fhp, nodetofh_msg->pvfsr_data, fhlen);
    +		} else {
    +			fhp->fid_len = *fh_size;
    +			memcpy(fhp->fid_data, nodetofh_msg->pvfsr_data,
    +			    nodetofh_msg->pvfsr_dsize);
    +		}
    +	}
    +
    + out:
    +	puffs_msgmem_release(park_nodetofh);
    +	return error;
    +}
    +
    +void
    +puffs_vfsop_init(void)
    +{
    +
    +	/* some checks depend on this */
    +	KASSERT(VNOVAL == VSIZENOTSET);
    +
    +	pool_init(&puffs_pnpool, sizeof(struct puffs_node), 0, 0, 0,
    +	    "puffpnpl", &pool_allocator_nointr, IPL_NONE);
    +	pool_init(&puffs_vapool, sizeof(struct vattr), 0, 0, 0,
    +	    "puffvapl", &pool_allocator_nointr, IPL_NONE);
    +	puffs_msgif_init();
    +}
    +
    +void
    +puffs_vfsop_done(void)
    +{
    +
    +	puffs_msgif_destroy();
    +	pool_destroy(&puffs_pnpool);
    +	pool_destroy(&puffs_vapool);
    +}
    +
    +int
    +puffs_vfsop_snapshot(struct mount *mp, struct vnode *vp, struct timespec *ts)
    +{
    +
    +	return EOPNOTSUPP;
    +}
    +
    +int
    +puffs_vfsop_extattrctl(struct mount *mp, int cmd, struct vnode *vp,
    +	int attrnamespace, const char *attrname)
    +{
    +	PUFFS_MSG_VARS(vfs, extattrctl);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	struct puffs_node *pnp;
    +	puffs_cookie_t pnc;
    +	int error, flags;
    +
    +	if (vp) {
    +		/* doesn't make sense for puffs servers */
    +		if (vp->v_mount != mp)
    +			return EXDEV;
    +		pnp = vp->v_data;
    +		pnc = pnp->pn_cookie;
    +		flags = PUFFS_EXTATTRCTL_HASNODE;
    +	} else {
    +		pnp = pnc = NULL;
    +		flags = 0;
    +	}
    +
    +	PUFFS_MSG_ALLOC(vfs, extattrctl);
    +	extattrctl_msg->pvfsr_cmd = cmd;
    +	extattrctl_msg->pvfsr_attrnamespace = attrnamespace;
    +	extattrctl_msg->pvfsr_flags = flags;
    +	if (attrname) {
    +		strlcpy(extattrctl_msg->pvfsr_attrname, attrname,
    +		    sizeof(extattrctl_msg->pvfsr_attrname));
    +		extattrctl_msg->pvfsr_flags |= PUFFS_EXTATTRCTL_HASATTRNAME;
    +	}
    +	puffs_msg_setinfo(park_extattrctl,
    +	    PUFFSOP_VFS, PUFFS_VFS_EXTATTRCTL, pnc);
    +
    +	puffs_msg_enqueue(pmp, park_extattrctl);
    +	if (vp) {
    +		mutex_enter(&pnp->pn_mtx);
    +		puffs_referencenode(pnp);
    +		mutex_exit(&pnp->pn_mtx);
    +		VOP_UNLOCK(vp);
    +	}
    +	error = puffs_msg_wait2(pmp, park_extattrctl, pnp, NULL);
    +	PUFFS_MSG_RELEASE(extattrctl);
    +	if (vp) {
    +		puffs_releasenode(pnp);
    +	}
    +
    +	return checkerr(pmp, error, __func__);
    +}
    +
    +const struct vnodeopv_desc * const puffs_vnodeopv_descs[] = {
    +	&puffs_vnodeop_opv_desc,
    +	&puffs_specop_opv_desc,
    +	&puffs_fifoop_opv_desc,
    +	&puffs_msgop_opv_desc,
    +	NULL,
    +};
    +
    +struct vfsops puffs_vfsops = {
    +	MOUNT_PUFFS,
    +	sizeof (struct puffs_kargs),
    +	puffs_vfsop_mount,		/* mount	*/
    +	puffs_vfsop_start,		/* start	*/
    +	puffs_vfsop_unmount,		/* unmount	*/
    +	puffs_vfsop_root,		/* root		*/
    +	(void *)eopnotsupp,		/* quotactl	*/
    +	puffs_vfsop_statvfs,		/* statvfs	*/
    +	puffs_vfsop_sync,		/* sync		*/
    +	(void *)eopnotsupp,		/* vget		*/
    +	puffs_vfsop_fhtovp,		/* fhtovp	*/
    +	puffs_vfsop_vptofh,		/* vptofh	*/
    +	puffs_vfsop_init,		/* init		*/
    +	NULL,				/* reinit	*/
    +	puffs_vfsop_done,		/* done		*/
    +	NULL,				/* mountroot	*/
    +	puffs_vfsop_snapshot,		/* snapshot	*/
    +	puffs_vfsop_extattrctl,		/* extattrctl	*/
    +	(void *)eopnotsupp,		/* suspendctl	*/
    +	genfs_renamelock_enter,
    +	genfs_renamelock_exit,
    +	(void *)eopnotsupp,
    +	puffs_vnodeopv_descs,		/* vnodeops	*/
    +	0,				/* refcount	*/
    +	{ NULL, NULL }
    +};
    +
    +static int
    +puffs_modcmd(modcmd_t cmd, void *arg)
    +{
    +
    +	switch (cmd) {
    +	case MODULE_CMD_INIT:
    +		return vfs_attach(&puffs_vfsops);
    +	case MODULE_CMD_FINI:
    +		return vfs_detach(&puffs_vfsops);
    +	default:
    +		return ENOTTY;
    +	}
    +}
    diff --git a/sys/fs/puffs/puffs_vnops.c b/sys/fs/puffs/puffs_vnops.c
    new file mode 100644
    index 000000000..619d79af2
    --- /dev/null
    +++ b/sys/fs/puffs/puffs_vnops.c
    @@ -0,0 +1,3269 @@
    +/*	$NetBSD: puffs_vnops.c,v 1.177 2013/10/17 21:03:27 christos Exp $	*/
    +
    +/*
    + * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
    + *
    + * Development of this software was supported by the
    + * Google Summer of Code program and the Ulla Tuominen Foundation.
    + * The Google SoC project was mentored by Bill Studenmund.
    + *
    + * 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 ``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.
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.177 2013/10/17 21:03:27 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include  /* For hz, hardclock_ticks */
    +
    +#include 
    +
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +int	puffs_vnop_lookup(void *);
    +int	puffs_vnop_create(void *);
    +int	puffs_vnop_access(void *);
    +int	puffs_vnop_mknod(void *);
    +int	puffs_vnop_open(void *);
    +int	puffs_vnop_close(void *);
    +int	puffs_vnop_getattr(void *);
    +int	puffs_vnop_setattr(void *);
    +int	puffs_vnop_reclaim(void *);
    +int	puffs_vnop_readdir(void *);
    +int	puffs_vnop_poll(void *);
    +int	puffs_vnop_fsync(void *);
    +int	puffs_vnop_seek(void *);
    +int	puffs_vnop_remove(void *);
    +int	puffs_vnop_mkdir(void *);
    +int	puffs_vnop_rmdir(void *);
    +int	puffs_vnop_link(void *);
    +int	puffs_vnop_readlink(void *);
    +int	puffs_vnop_symlink(void *);
    +int	puffs_vnop_rename(void *);
    +int	puffs_vnop_read(void *);
    +int	puffs_vnop_write(void *);
    +int	puffs_vnop_fcntl(void *);
    +int	puffs_vnop_ioctl(void *);
    +int	puffs_vnop_inactive(void *);
    +int	puffs_vnop_print(void *);
    +int	puffs_vnop_pathconf(void *);
    +int	puffs_vnop_advlock(void *);
    +int	puffs_vnop_strategy(void *);
    +int	puffs_vnop_bmap(void *);
    +int	puffs_vnop_mmap(void *);
    +int	puffs_vnop_getpages(void *);
    +int	puffs_vnop_abortop(void *);
    +int	puffs_vnop_getextattr(void *);
    +int	puffs_vnop_setextattr(void *);
    +int	puffs_vnop_listextattr(void *);
    +int	puffs_vnop_deleteextattr(void *);
    +
    +int	puffs_vnop_spec_read(void *);
    +int	puffs_vnop_spec_write(void *);
    +int	puffs_vnop_fifo_read(void *);
    +int	puffs_vnop_fifo_write(void *);
    +
    +int	puffs_vnop_checkop(void *);
    +
    +#define puffs_vnop_lock genfs_lock
    +#define puffs_vnop_unlock genfs_unlock
    +#define puffs_vnop_islocked genfs_islocked
    +
    +int (**puffs_vnodeop_p)(void *);
    +const struct vnodeopv_entry_desc puffs_vnodeop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, puffs_vnop_lookup },	/* REAL lookup */
    +	{ &vop_create_desc, puffs_vnop_checkop },	/* create */
    +        { &vop_mknod_desc, puffs_vnop_checkop },	/* mknod */
    +        { &vop_open_desc, puffs_vnop_open },		/* REAL open */
    +        { &vop_close_desc, puffs_vnop_checkop },	/* close */
    +        { &vop_access_desc, puffs_vnop_access },	/* REAL access */
    +        { &vop_getattr_desc, puffs_vnop_checkop },	/* getattr */
    +        { &vop_setattr_desc, puffs_vnop_checkop },	/* setattr */
    +        { &vop_read_desc, puffs_vnop_checkop },		/* read */
    +        { &vop_write_desc, puffs_vnop_checkop },	/* write */
    +        { &vop_fsync_desc, puffs_vnop_fsync },		/* REAL fsync */
    +        { &vop_seek_desc, puffs_vnop_checkop },		/* seek */
    +        { &vop_remove_desc, puffs_vnop_checkop },	/* remove */
    +        { &vop_link_desc, puffs_vnop_checkop },		/* link */
    +        { &vop_rename_desc, puffs_vnop_checkop },	/* rename */
    +        { &vop_mkdir_desc, puffs_vnop_checkop },	/* mkdir */
    +        { &vop_rmdir_desc, puffs_vnop_checkop },	/* rmdir */
    +        { &vop_symlink_desc, puffs_vnop_checkop },	/* symlink */
    +        { &vop_readdir_desc, puffs_vnop_checkop },	/* readdir */
    +        { &vop_readlink_desc, puffs_vnop_checkop },	/* readlink */
    +        { &vop_getpages_desc, puffs_vnop_checkop },	/* getpages */
    +        { &vop_putpages_desc, genfs_putpages },		/* REAL putpages */
    +        { &vop_pathconf_desc, puffs_vnop_checkop },	/* pathconf */
    +        { &vop_advlock_desc, puffs_vnop_advlock },	/* advlock */
    +        { &vop_strategy_desc, puffs_vnop_strategy },	/* REAL strategy */
    +        { &vop_revoke_desc, genfs_revoke },		/* REAL revoke */
    +        { &vop_abortop_desc, puffs_vnop_abortop },	/* REAL abortop */
    +        { &vop_inactive_desc, puffs_vnop_inactive },	/* REAL inactive */
    +        { &vop_reclaim_desc, puffs_vnop_reclaim },	/* REAL reclaim */
    +        { &vop_lock_desc, puffs_vnop_lock },		/* REAL lock */
    +        { &vop_unlock_desc, puffs_vnop_unlock },	/* REAL unlock */
    +        { &vop_bmap_desc, puffs_vnop_bmap },		/* REAL bmap */
    +        { &vop_print_desc, puffs_vnop_print },		/* REAL print */
    +        { &vop_islocked_desc, puffs_vnop_islocked },	/* REAL islocked */
    +        { &vop_bwrite_desc, genfs_nullop },		/* REAL bwrite */
    +        { &vop_mmap_desc, puffs_vnop_mmap },		/* REAL mmap */
    +        { &vop_poll_desc, puffs_vnop_poll },		/* REAL poll */
    +	{ &vop_getextattr_desc, puffs_vnop_getextattr },	/* getextattr */
    +	{ &vop_setextattr_desc, puffs_vnop_setextattr },	/* setextattr */
    +	{ &vop_listextattr_desc, puffs_vnop_listextattr },	/* listextattr */
    +	{ &vop_deleteextattr_desc, puffs_vnop_deleteextattr },/* deleteextattr */
    +#if 0
    +	{ &vop_openextattr_desc, puffs_vnop_checkop },	/* openextattr */
    +	{ &vop_closeextattr_desc, puffs_vnop_checkop },	/* closeextattr */
    +#endif
    +        { &vop_kqfilter_desc, genfs_eopnotsupp },	/* kqfilter XXX */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc puffs_vnodeop_opv_desc =
    +	{ &puffs_vnodeop_p, puffs_vnodeop_entries };
    +
    +
    +int (**puffs_specop_p)(void *);
    +const struct vnodeopv_entry_desc puffs_specop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, spec_lookup },		/* lookup, ENOTDIR */
    +	{ &vop_create_desc, spec_create },		/* genfs_badop */
    +	{ &vop_mknod_desc, spec_mknod },		/* genfs_badop */
    +	{ &vop_open_desc, spec_open },			/* spec_open */
    +	{ &vop_close_desc, spec_close },		/* spec_close */
    +	{ &vop_access_desc, puffs_vnop_checkop },	/* access */
    +	{ &vop_getattr_desc, puffs_vnop_checkop },	/* getattr */
    +	{ &vop_setattr_desc, puffs_vnop_checkop },	/* setattr */
    +	{ &vop_read_desc, puffs_vnop_spec_read },	/* update, read */
    +	{ &vop_write_desc, puffs_vnop_spec_write },	/* update, write */
    +	{ &vop_ioctl_desc, spec_ioctl },		/* spec_ioctl */
    +	{ &vop_fcntl_desc, genfs_fcntl },		/* dummy */
    +	{ &vop_poll_desc, spec_poll },			/* spec_poll */
    +	{ &vop_kqfilter_desc, spec_kqfilter },		/* spec_kqfilter */
    +	{ &vop_revoke_desc, spec_revoke },		/* genfs_revoke */
    +	{ &vop_mmap_desc, spec_mmap },			/* spec_mmap */
    +	{ &vop_fsync_desc, spec_fsync },		/* vflushbuf */
    +	{ &vop_seek_desc, spec_seek },			/* genfs_nullop */
    +	{ &vop_remove_desc, spec_remove },		/* genfs_badop */
    +	{ &vop_link_desc, spec_link },			/* genfs_badop */
    +	{ &vop_rename_desc, spec_rename },		/* genfs_badop */
    +	{ &vop_mkdir_desc, spec_mkdir },		/* genfs_badop */
    +	{ &vop_rmdir_desc, spec_rmdir },		/* genfs_badop */
    +	{ &vop_symlink_desc, spec_symlink },		/* genfs_badop */
    +	{ &vop_readdir_desc, spec_readdir },		/* genfs_badop */
    +	{ &vop_readlink_desc, spec_readlink },		/* genfs_badop */
    +	{ &vop_abortop_desc, spec_abortop },		/* genfs_badop */
    +	{ &vop_inactive_desc, puffs_vnop_inactive },	/* REAL inactive */
    +	{ &vop_reclaim_desc, puffs_vnop_reclaim },	/* REAL reclaim */
    +	{ &vop_lock_desc, puffs_vnop_lock },		/* REAL lock */
    +	{ &vop_unlock_desc, puffs_vnop_unlock },	/* REAL unlock */
    +	{ &vop_bmap_desc, spec_bmap },			/* dummy */
    +	{ &vop_strategy_desc, spec_strategy },		/* dev strategy */
    +	{ &vop_print_desc, puffs_vnop_print },		/* REAL print */
    +	{ &vop_islocked_desc, puffs_vnop_islocked },	/* REAL islocked */
    +	{ &vop_pathconf_desc, spec_pathconf },		/* pathconf */
    +	{ &vop_advlock_desc, spec_advlock },		/* lf_advlock */
    +	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
    +	{ &vop_getpages_desc, spec_getpages },		/* genfs_getpages */
    +	{ &vop_putpages_desc, spec_putpages },		/* genfs_putpages */
    +	{ &vop_getextattr_desc, puffs_vnop_checkop },	/* getextattr */
    +	{ &vop_setextattr_desc, puffs_vnop_checkop },	/* setextattr */
    +	{ &vop_listextattr_desc, puffs_vnop_checkop },	/* listextattr */
    +	{ &vop_deleteextattr_desc, puffs_vnop_checkop },/* deleteextattr */
    +#if 0
    +	{ &vop_openextattr_desc, _openextattr },	/* openextattr */
    +	{ &vop_closeextattr_desc, _closeextattr },	/* closeextattr */
    +#endif
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc puffs_specop_opv_desc =
    +	{ &puffs_specop_p, puffs_specop_entries };
    +
    +
    +int (**puffs_fifoop_p)(void *);
    +const struct vnodeopv_entry_desc puffs_fifoop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_lookup_desc, vn_fifo_bypass },		/* lookup, ENOTDIR */
    +	{ &vop_create_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_mknod_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_open_desc, vn_fifo_bypass },		/* open */
    +	{ &vop_close_desc, vn_fifo_bypass },		/* close */
    +	{ &vop_access_desc, puffs_vnop_checkop },	/* access */
    +	{ &vop_getattr_desc, puffs_vnop_checkop },	/* getattr */
    +	{ &vop_setattr_desc, puffs_vnop_checkop },	/* setattr */
    +	{ &vop_read_desc, puffs_vnop_fifo_read },	/* read, update */
    +	{ &vop_write_desc, puffs_vnop_fifo_write },	/* write, update */
    +	{ &vop_ioctl_desc, vn_fifo_bypass },		/* ioctl */
    +	{ &vop_fcntl_desc, genfs_fcntl },		/* dummy */
    +	{ &vop_poll_desc, vn_fifo_bypass },		/* poll */
    +	{ &vop_kqfilter_desc, vn_fifo_bypass },		/* kqfilter */
    +	{ &vop_revoke_desc, vn_fifo_bypass },		/* genfs_revoke */
    +	{ &vop_mmap_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_fsync_desc, vn_fifo_bypass },		/* genfs_nullop*/
    +	{ &vop_seek_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_remove_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_link_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_rename_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_mkdir_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_rmdir_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_symlink_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_readdir_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_readlink_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_abortop_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_inactive_desc, puffs_vnop_inactive },	/* REAL inactive */
    +	{ &vop_reclaim_desc, puffs_vnop_reclaim },	/* REAL reclaim */
    +	{ &vop_lock_desc, puffs_vnop_lock },		/* REAL lock */
    +	{ &vop_unlock_desc, puffs_vnop_unlock },	/* REAL unlock */
    +	{ &vop_bmap_desc, vn_fifo_bypass },		/* dummy */
    +	{ &vop_strategy_desc, vn_fifo_bypass },		/* genfs_badop */
    +	{ &vop_print_desc, puffs_vnop_print },		/* REAL print */
    +	{ &vop_islocked_desc, puffs_vnop_islocked },	/* REAL islocked */
    +	{ &vop_pathconf_desc, vn_fifo_bypass },		/* pathconf */
    +	{ &vop_advlock_desc, vn_fifo_bypass },		/* genfs_einval */
    +	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
    +	{ &vop_putpages_desc, vn_fifo_bypass }, 	/* genfs_null_putpages*/
    +#if 0
    +	{ &vop_openextattr_desc, _openextattr },	/* openextattr */
    +	{ &vop_closeextattr_desc, _closeextattr },	/* closeextattr */
    +#endif
    +	{ &vop_getextattr_desc, puffs_vnop_checkop },		/* getextattr */
    +	{ &vop_setextattr_desc, puffs_vnop_checkop },		/* setextattr */
    +	{ &vop_listextattr_desc, puffs_vnop_checkop },	/* listextattr */
    +	{ &vop_deleteextattr_desc, puffs_vnop_checkop },	/* deleteextattr */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc puffs_fifoop_opv_desc =
    +	{ &puffs_fifoop_p, puffs_fifoop_entries };
    +
    +
    +/* "real" vnode operations */
    +int (**puffs_msgop_p)(void *);
    +const struct vnodeopv_entry_desc puffs_msgop_entries[] = {
    +	{ &vop_default_desc, vn_default_error },
    +	{ &vop_create_desc, puffs_vnop_create },	/* create */
    +        { &vop_mknod_desc, puffs_vnop_mknod },		/* mknod */
    +        { &vop_open_desc, puffs_vnop_open },		/* open */
    +        { &vop_close_desc, puffs_vnop_close },		/* close */
    +        { &vop_access_desc, puffs_vnop_access },	/* access */
    +        { &vop_getattr_desc, puffs_vnop_getattr },	/* getattr */
    +        { &vop_setattr_desc, puffs_vnop_setattr },	/* setattr */
    +        { &vop_read_desc, puffs_vnop_read },		/* read */
    +        { &vop_write_desc, puffs_vnop_write },		/* write */
    +        { &vop_seek_desc, puffs_vnop_seek },		/* seek */
    +        { &vop_remove_desc, puffs_vnop_remove },	/* remove */
    +        { &vop_link_desc, puffs_vnop_link },		/* link */
    +        { &vop_rename_desc, puffs_vnop_rename },	/* rename */
    +        { &vop_mkdir_desc, puffs_vnop_mkdir },		/* mkdir */
    +        { &vop_rmdir_desc, puffs_vnop_rmdir },		/* rmdir */
    +        { &vop_symlink_desc, puffs_vnop_symlink },	/* symlink */
    +        { &vop_readdir_desc, puffs_vnop_readdir },	/* readdir */
    +        { &vop_readlink_desc, puffs_vnop_readlink },	/* readlink */
    +        { &vop_print_desc, puffs_vnop_print },		/* print */
    +        { &vop_islocked_desc, puffs_vnop_islocked },	/* islocked */
    +        { &vop_pathconf_desc, puffs_vnop_pathconf },	/* pathconf */
    +        { &vop_getpages_desc, puffs_vnop_getpages },	/* getpages */
    +	{ NULL, NULL }
    +};
    +const struct vnodeopv_desc puffs_msgop_opv_desc =
    +	{ &puffs_msgop_p, puffs_msgop_entries };
    +
    +/*
    + * for dosetattr / update_va 
    + */
    +#define SETATTR_CHSIZE	0x01
    +#define SETATTR_ASYNC	0x02
    +
    +#define ERROUT(err)							\
    +do {									\
    +	error = err;							\
    +	goto out;							\
    +} while (/*CONSTCOND*/0)
    +
    +/*
    + * This is a generic vnode operation handler.  It checks if the necessary
    + * operations for the called vnode operation are implemented by userspace
    + * and either returns a dummy return value or proceeds to call the real
    + * vnode operation from puffs_msgop_v.
    + *
    + * XXX: this should described elsewhere and autogenerated, the complexity
    + * of the vnode operations vectors and their interrelationships is also
    + * getting a bit out of hand.  Another problem is that we need this same
    + * information in the fs server code, so keeping the two in sync manually
    + * is not a viable (long term) plan.
    + */
    +
    +/* not supported, handle locking protocol */
    +#define CHECKOP_NOTSUPP(op)						\
    +case VOP_##op##_DESCOFFSET:						\
    +	if (pmp->pmp_vnopmask[PUFFS_VN_##op] == 0)			\
    +		return genfs_eopnotsupp(v);				\
    +	break
    +
    +/* always succeed, no locking */
    +#define CHECKOP_SUCCESS(op)						\
    +case VOP_##op##_DESCOFFSET:						\
    +	if (pmp->pmp_vnopmask[PUFFS_VN_##op] == 0)			\
    +		return 0;						\
    +	break
    +
    +int
    +puffs_vnop_checkop(void *v)
    +{
    +	struct vop_generic_args /* {
    +		struct vnodeop_desc *a_desc;
    +		spooky mystery contents;
    +	} */ *ap = v;
    +	struct vnodeop_desc *desc = ap->a_desc;
    +	struct puffs_mount *pmp;
    +	struct vnode *vp;
    +	int offset, rv;
    +
    +	offset = ap->a_desc->vdesc_vp_offsets[0];
    +#ifdef DIAGNOSTIC
    +	if (offset == VDESC_NO_OFFSET)
    +		panic("puffs_checkop: no vnode, why did you call me?");
    +#endif
    +	vp = *VOPARG_OFFSETTO(struct vnode **, offset, ap);
    +	pmp = MPTOPUFFSMP(vp->v_mount);
    +
    +	DPRINTF_VERBOSE(("checkop call %s (%d), vp %p\n",
    +	    ap->a_desc->vdesc_name, ap->a_desc->vdesc_offset, vp));
    +
    +	if (!ALLOPS(pmp)) {
    +		switch (desc->vdesc_offset) {
    +			CHECKOP_NOTSUPP(CREATE);
    +			CHECKOP_NOTSUPP(MKNOD);
    +			CHECKOP_NOTSUPP(GETATTR);
    +			CHECKOP_NOTSUPP(SETATTR);
    +			CHECKOP_NOTSUPP(READ);
    +			CHECKOP_NOTSUPP(WRITE);
    +			CHECKOP_NOTSUPP(FCNTL);
    +			CHECKOP_NOTSUPP(IOCTL);
    +			CHECKOP_NOTSUPP(REMOVE);
    +			CHECKOP_NOTSUPP(LINK);
    +			CHECKOP_NOTSUPP(RENAME);
    +			CHECKOP_NOTSUPP(MKDIR);
    +			CHECKOP_NOTSUPP(RMDIR);
    +			CHECKOP_NOTSUPP(SYMLINK);
    +			CHECKOP_NOTSUPP(READDIR);
    +			CHECKOP_NOTSUPP(READLINK);
    +			CHECKOP_NOTSUPP(PRINT);
    +			CHECKOP_NOTSUPP(PATHCONF);
    +			CHECKOP_NOTSUPP(GETEXTATTR);
    +			CHECKOP_NOTSUPP(SETEXTATTR);
    +			CHECKOP_NOTSUPP(LISTEXTATTR);
    +			CHECKOP_NOTSUPP(DELETEEXTATTR);
    +
    +			CHECKOP_SUCCESS(ACCESS);
    +			CHECKOP_SUCCESS(CLOSE);
    +			CHECKOP_SUCCESS(SEEK);
    +
    +		case VOP_GETPAGES_DESCOFFSET:
    +			if (!EXISTSOP(pmp, READ))
    +				return genfs_eopnotsupp(v);
    +			break;
    +
    +		default:
    +			panic("puffs_checkop: unhandled vnop %d",
    +			    desc->vdesc_offset);
    +		}
    +	}
    +
    +	rv = VOCALL(puffs_msgop_p, ap->a_desc->vdesc_offset, v);
    +
    +	DPRINTF_VERBOSE(("checkop return %s (%d), vp %p: %d\n",
    +	    ap->a_desc->vdesc_name, ap->a_desc->vdesc_offset, vp, rv));
    +
    +	return rv;
    +}
    +
    +static int callremove(struct puffs_mount *, puffs_cookie_t, puffs_cookie_t,
    +			    struct componentname *);
    +static int callrmdir(struct puffs_mount *, puffs_cookie_t, puffs_cookie_t,
    +			   struct componentname *);
    +static void callinactive(struct puffs_mount *, puffs_cookie_t, int);
    +static void callreclaim(struct puffs_mount *, puffs_cookie_t, int);
    +static int  flushvncache(struct vnode *, off_t, off_t, bool);
    +static void update_va(struct vnode *, struct vattr *, struct vattr *,
    +		      struct timespec *, struct timespec *, int);
    +static void update_parent(struct vnode *, struct vnode *);
    +
    +
    +#define PUFFS_ABORT_LOOKUP	1
    +#define PUFFS_ABORT_CREATE	2
    +#define PUFFS_ABORT_MKNOD	3
    +#define PUFFS_ABORT_MKDIR	4
    +#define PUFFS_ABORT_SYMLINK	5
    +
    +/*
    + * Press the pani^Wabort button!  Kernel resource allocation failed.
    + */
    +static void
    +puffs_abortbutton(struct puffs_mount *pmp, int what,
    +	puffs_cookie_t dck, puffs_cookie_t ck, struct componentname *cnp)
    +{
    +
    +	switch (what) {
    +	case PUFFS_ABORT_CREATE:
    +	case PUFFS_ABORT_MKNOD:
    +	case PUFFS_ABORT_SYMLINK:
    +		callremove(pmp, dck, ck, cnp);
    +		break;
    +	case PUFFS_ABORT_MKDIR:
    +		callrmdir(pmp, dck, ck, cnp);
    +		break;
    +	}
    +
    +	callinactive(pmp, ck, 0);
    +	callreclaim(pmp, ck, 1);
    +}
    +
    +/*
    + * Begin vnode operations.
    + *
    + * A word from the keymaster about locks: generally we don't want
    + * to use the vnode locks at all: it creates an ugly dependency between
    + * the userlandia file server and the kernel.  But we'll play along with
    + * the kernel vnode locks for now.  However, even currently we attempt
    + * to release locks as early as possible.  This is possible for some
    + * operations which a) don't need a locked vnode after the userspace op
    + * and b) return with the vnode unlocked.  Theoretically we could
    + * unlock-do op-lock for others and order the graph in userspace, but I
    + * don't want to think of the consequences for the time being.
    + */
    +
    +#define TTL_TO_TIMEOUT(ts) \
    +    (hardclock_ticks + (ts->tv_sec * hz) + (ts->tv_nsec * hz / 1000000000))
    +#define TTL_VALID(ts) \
    +    ((ts != NULL) && !((ts->tv_sec == 0) && (ts->tv_nsec == 0)))
    +#define TIMED_OUT(expire) \
    +    ((int)((unsigned int)hardclock_ticks - (unsigned int)expire) > 0)
    +int
    +puffs_vnop_lookup(void *v)
    +{
    +        struct vop_lookup_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +        } */ *ap = v;
    +	PUFFS_MSG_VARS(vn, lookup);
    +	struct puffs_mount *pmp;
    +	struct componentname *cnp;
    +	struct vnode *vp, *dvp, *cvp;
    +	struct puffs_node *dpn, *cpn;
    +	int isdot;
    +	int error;
    +
    +	pmp = MPTOPUFFSMP(ap->a_dvp->v_mount);
    +	cnp = ap->a_cnp;
    +	dvp = ap->a_dvp;
    +	cvp = NULL;
    +	cpn = NULL;
    +	*ap->a_vpp = NULL;
    +
    +	/* r/o fs?  we check create later to handle EEXIST */
    +	if ((cnp->cn_flags & ISLASTCN)
    +	    && (dvp->v_mount->mnt_flag & MNT_RDONLY)
    +	    && (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME))
    +		return EROFS;
    +
    +	isdot = cnp->cn_namelen == 1 && *cnp->cn_nameptr == '.';
    +
    +	DPRINTF(("puffs_lookup: \"%s\", parent vnode %p, op: %x\n",
    +	    cnp->cn_nameptr, dvp, cnp->cn_nameiop));
    +
    +	/*
    +	 * If dotdot cache is enabled, unlock parent, lock ..
    +	 * (grand-parent) and relock parent.
    +	 */
    +	if (PUFFS_USE_DOTDOTCACHE(pmp) && (cnp->cn_flags & ISDOTDOT)) {
    +		VOP_UNLOCK(dvp);
    +
    +		vp = VPTOPP(ap->a_dvp)->pn_parent;
    +		vref(vp);
    +
    +		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +		vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
    +
    +		*ap->a_vpp = vp;
    +		return 0;
    +	}
    +
    +	/*
    +	 * Check if someone fed it into the cache
    +	 */
    +	if (!isdot && PUFFS_USE_NAMECACHE(pmp)) {
    +		int found, iswhiteout;
    +
    +		found = cache_lookup(dvp, cnp->cn_nameptr, cnp->cn_namelen,
    +				     cnp->cn_nameiop, cnp->cn_flags,
    +				     &iswhiteout, ap->a_vpp);
    +		if (iswhiteout) {
    +			cnp->cn_flags |= ISWHITEOUT;
    +		}
    +
    +		if (found && *ap->a_vpp != NULLVP && PUFFS_USE_FS_TTL(pmp)) {
    +			cvp = *ap->a_vpp;
    +			cpn = VPTOPP(cvp);
    +
    +			if (TIMED_OUT(cpn->pn_cn_timeout)) {
    +				cache_purge(cvp);
    +				/*
    +				 * cached vnode (cvp) is still locked
    +				 * so that we can reuse it upon a new
    +				 * successful lookup. 
    +				 */
    +				*ap->a_vpp = NULL;
    +				found = 0;
    +			}
    +		}
    +
    +		/*
    +		 * Do not use negative caching, since the filesystem
    +		 * provides no TTL for it.
    +		 */
    +		if (found && *ap->a_vpp == NULLVP && PUFFS_USE_FS_TTL(pmp))
    +			found = 0;
    +
    +		if (found) {
    +			return *ap->a_vpp == NULLVP ? ENOENT : 0;
    +		}
    +
    +		/*
    +		 * This is what would have been left in ERROR before
    +		 * the rearrangement of cache_lookup(). What with all
    +		 * the macros, I am not sure if this is a dead value
    +		 * below or not.
    +		 */
    +		error = -1;
    +	}
    +
    +	if (isdot) {
    +		/* deal with rename lookup semantics */
    +		if (cnp->cn_nameiop == RENAME && (cnp->cn_flags & ISLASTCN))
    +			return EISDIR;
    +
    +		vp = ap->a_dvp;
    +		vref(vp);
    +		*ap->a_vpp = vp;
    +		return 0;
    +	}
    +
    +	if (cvp != NULL)
    +		mutex_enter(&cpn->pn_sizemtx);
    +
    +	PUFFS_MSG_ALLOC(vn, lookup);
    +	puffs_makecn(&lookup_msg->pvnr_cn, &lookup_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +
    +	if (cnp->cn_flags & ISDOTDOT)
    +		VOP_UNLOCK(dvp);
    +
    +	puffs_msg_setinfo(park_lookup, PUFFSOP_VN,
    +	    PUFFS_VN_LOOKUP, VPTOPNC(dvp));
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_lookup, dvp->v_data, NULL, error);
    +	DPRINTF(("puffs_lookup: return of the userspace, part %d\n", error));
    +
    +	/*
    +	 * In case of error, there is no new vnode to play with, so be
    +	 * happy with the NULL value given to vpp in the beginning.
    +	 * Also, check if this really was an error or the target was not
    +	 * present.  Either treat it as a non-error for CREATE/RENAME or
    +	 * enter the component into the negative name cache (if desired).
    +	 */
    +	if (error) {
    +		error = checkerr(pmp, error, __func__);
    +		if (error == ENOENT) {
    +			/* don't allow to create files on r/o fs */
    +			if ((dvp->v_mount->mnt_flag & MNT_RDONLY)
    +			    && cnp->cn_nameiop == CREATE) {
    +				error = EROFS;
    +
    +			/* adjust values if we are creating */
    +			} else if ((cnp->cn_flags & ISLASTCN)
    +			    && (cnp->cn_nameiop == CREATE
    +			      || cnp->cn_nameiop == RENAME)) {
    +				error = EJUSTRETURN;
    +
    +			/* save negative cache entry */
    +			} else {
    +				if (PUFFS_USE_NAMECACHE(pmp) &&
    +				    !PUFFS_USE_FS_TTL(pmp))
    +					cache_enter(dvp, NULL, cnp->cn_nameptr,
    +						cnp->cn_namelen, cnp->cn_flags);
    +			}
    +		}
    +		goto out;
    +	}
    +
    +	/*
    +	 * Check that we don't get our parent node back, that would cause
    +	 * a pretty obvious deadlock.
    +	 */
    +	dpn = dvp->v_data;
    +	if (lookup_msg->pvnr_newnode == dpn->pn_cookie) {
    +		puffs_senderr(pmp, PUFFS_ERR_LOOKUP, EINVAL,
    +		    "lookup produced parent cookie", lookup_msg->pvnr_newnode);
    +		error = EPROTO;
    +		goto out;
    +	}
    +
    +	/*
    +	 * Check if we looked up the cached vnode
    +	 */
    +	vp = NULL;
    +	if (cvp && (VPTOPP(cvp)->pn_cookie == lookup_msg->pvnr_newnode)) {
    +		int grace;
    +
    +		/*
    +		 * Bump grace time of this node so that it does not get 
    +		 * reclaimed too fast. We try to increase a bit more the
    +		 * lifetime of busiest * nodes - with some limits.
    +		 */
    +		grace = 10 * puffs_sopreq_expire_timeout;
    +		cpn->pn_cn_grace = hardclock_ticks + grace;
    +		vp = cvp;
    +	}
    +
    +	/*
    +	 * No cached vnode available, or the cached vnode does not
    +	 * match the userland cookie anymore: is the node known?
    +	 */
    +	if (vp == NULL) {
    +		error = puffs_cookie2vnode(pmp, lookup_msg->pvnr_newnode,
    +					   1, 1, &vp);
    +	}
    +
    +	if (error == PUFFS_NOSUCHCOOKIE) {
    +		error = puffs_getvnode(dvp->v_mount,
    +		    lookup_msg->pvnr_newnode, lookup_msg->pvnr_vtype,
    +		    lookup_msg->pvnr_size, lookup_msg->pvnr_rdev, &vp);
    +		if (error) {
    +			puffs_abortbutton(pmp, PUFFS_ABORT_LOOKUP,
    +			    VPTOPNC(dvp), lookup_msg->pvnr_newnode,
    +			    ap->a_cnp);
    +			goto out;
    +		}
    +
    +		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +	} else if (error) {
    +		puffs_abortbutton(pmp, PUFFS_ABORT_LOOKUP, VPTOPNC(dvp),
    +		    lookup_msg->pvnr_newnode, ap->a_cnp);
    +		goto out;
    +	}
    +
    +	/*
    +	 * Update cache and TTL
    +	 */
    +	if (PUFFS_USE_FS_TTL(pmp)) {
    +		struct timespec *va_ttl = &lookup_msg->pvnr_va_ttl;
    +		struct timespec *cn_ttl = &lookup_msg->pvnr_cn_ttl;
    +		update_va(vp, NULL, &lookup_msg->pvnr_va, 
    +			  va_ttl, cn_ttl, SETATTR_CHSIZE);
    +	}
    +
    +	KASSERT(lookup_msg->pvnr_newnode == VPTOPP(vp)->pn_cookie);
    +	*ap->a_vpp = vp;
    +
    +	if (PUFFS_USE_NAMECACHE(pmp))
    +		cache_enter(dvp, vp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +
    +	/* XXX */
    +	if ((lookup_msg->pvnr_cn.pkcn_flags & REQUIREDIR) == 0)
    +		cnp->cn_flags &= ~REQUIREDIR;
    +	if (lookup_msg->pvnr_cn.pkcn_consume)
    +		cnp->cn_consume = MIN(lookup_msg->pvnr_cn.pkcn_consume,
    +		    strlen(cnp->cn_nameptr) - cnp->cn_namelen);
    +
    +	VPTOPP(vp)->pn_nlookup++;
    +
    +	if (PUFFS_USE_DOTDOTCACHE(pmp) &&
    +	    (VPTOPP(vp)->pn_parent != dvp))
    +		update_parent(vp, dvp);
    +
    + out:
    +	if (cvp != NULL) {
    +		mutex_exit(&cpn->pn_sizemtx);
    +
    +		if (error || (cvp != vp))
    +			vput(cvp);
    +	}
    +
    +	if (cnp->cn_flags & ISDOTDOT)
    +		vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
    +
    +	DPRINTF(("puffs_lookup: returning %d %p\n", error, *ap->a_vpp));
    +	PUFFS_MSG_RELEASE(lookup);
    +	return error;
    +}
    +
    +#define REFPN_AND_UNLOCKVP(a, b)					\
    +do {									\
    +	mutex_enter(&b->pn_mtx);					\
    +	puffs_referencenode(b);						\
    +	mutex_exit(&b->pn_mtx);						\
    +	VOP_UNLOCK(a);						\
    +} while (/*CONSTCOND*/0)
    +
    +#define REFPN(b)							\
    +do {									\
    +	mutex_enter(&b->pn_mtx);					\
    +	puffs_referencenode(b);						\
    +	mutex_exit(&b->pn_mtx);						\
    +} while (/*CONSTCOND*/0)
    +
    +#define RELEPN_AND_VP(a, b)						\
    +do {									\
    +	puffs_releasenode(b);						\
    +	vrele(a);							\
    +} while (/*CONSTCOND*/0)
    +
    +int
    +puffs_vnop_create(void *v)
    +{
    +	struct vop_create_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +		struct vattr *a_vap;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, create);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct componentname *cnp = ap->a_cnp;
    +	struct mount *mp = dvp->v_mount;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	int error;
    +
    +	DPRINTF(("puffs_create: dvp %p, cnp: %s\n",
    +	    dvp, ap->a_cnp->cn_nameptr));
    +
    +	PUFFS_MSG_ALLOC(vn, create);
    +	puffs_makecn(&create_msg->pvnr_cn, &create_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	create_msg->pvnr_va = *ap->a_vap;
    +	puffs_msg_setinfo(park_create, PUFFSOP_VN,
    +	    PUFFS_VN_CREATE, VPTOPNC(dvp));
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_create, dvp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	error = puffs_newnode(mp, dvp, ap->a_vpp,
    +	    create_msg->pvnr_newnode, cnp, ap->a_vap->va_type, 0);
    +	if (error) {
    +		puffs_abortbutton(pmp, PUFFS_ABORT_CREATE, dpn->pn_cookie,
    +		    create_msg->pvnr_newnode, cnp);
    +		goto out;
    +	}
    +
    +	if (PUFFS_USE_FS_TTL(pmp)) {
    +		struct timespec *va_ttl = &create_msg->pvnr_va_ttl;
    +		struct timespec *cn_ttl = &create_msg->pvnr_cn_ttl;
    +		struct vattr *rvap = &create_msg->pvnr_va;
    +
    +		update_va(*ap->a_vpp, NULL, rvap, 
    +			  va_ttl, cn_ttl, SETATTR_CHSIZE);
    +	}
    +
    +	VPTOPP(*ap->a_vpp)->pn_nlookup++;
    +
    +	if (PUFFS_USE_DOTDOTCACHE(pmp) &&
    +	    (VPTOPP(*ap->a_vpp)->pn_parent != dvp))
    +		update_parent(*ap->a_vpp, dvp);
    +
    + out:
    +	vput(dvp);
    +
    +	DPRINTF(("puffs_create: return %d\n", error));
    +	PUFFS_MSG_RELEASE(create);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_mknod(void *v)
    +{
    +	struct vop_mknod_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +		struct vattr *a_vap;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, mknod);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct componentname *cnp = ap->a_cnp;
    +	struct mount *mp = dvp->v_mount;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, mknod);
    +	puffs_makecn(&mknod_msg->pvnr_cn, &mknod_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	mknod_msg->pvnr_va = *ap->a_vap;
    +	puffs_msg_setinfo(park_mknod, PUFFSOP_VN,
    +	    PUFFS_VN_MKNOD, VPTOPNC(dvp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_mknod, dvp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	error = puffs_newnode(mp, dvp, ap->a_vpp,
    +	    mknod_msg->pvnr_newnode, cnp, ap->a_vap->va_type,
    +	    ap->a_vap->va_rdev);
    +	if (error) {
    +		puffs_abortbutton(pmp, PUFFS_ABORT_MKNOD, dpn->pn_cookie,
    +		    mknod_msg->pvnr_newnode, cnp);
    +		goto out;
    +	}
    +
    +	if (PUFFS_USE_FS_TTL(pmp)) {
    +		struct timespec *va_ttl = &mknod_msg->pvnr_va_ttl;
    +		struct timespec *cn_ttl = &mknod_msg->pvnr_cn_ttl;
    +		struct vattr *rvap = &mknod_msg->pvnr_va;
    +
    +		update_va(*ap->a_vpp, NULL, rvap, 
    +			   va_ttl, cn_ttl, SETATTR_CHSIZE);
    +	}
    +
    +	VPTOPP(*ap->a_vpp)->pn_nlookup++;
    +
    +	if (PUFFS_USE_DOTDOTCACHE(pmp) &&
    +	    (VPTOPP(*ap->a_vpp)->pn_parent != dvp))
    +		update_parent(*ap->a_vpp, dvp);
    +
    + out:
    +	vput(dvp);
    +	PUFFS_MSG_RELEASE(mknod);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_open(void *v)
    +{
    +	struct vop_open_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		int a_mode;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, open);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int mode = ap->a_mode;
    +	int error;
    +
    +	DPRINTF(("puffs_open: vp %p, mode 0x%x\n", vp, mode));
    +
    +	if (vp->v_type == VREG && mode & FWRITE && !EXISTSOP(pmp, WRITE))
    +		ERROUT(EROFS);
    +
    +	if (!EXISTSOP(pmp, OPEN))
    +		ERROUT(0);
    +
    +	PUFFS_MSG_ALLOC(vn, open);
    +	open_msg->pvnr_mode = mode;
    +	puffs_credcvt(&open_msg->pvnr_cred, ap->a_cred);
    +	puffs_msg_setinfo(park_open, PUFFSOP_VN,
    +	    PUFFS_VN_OPEN, VPTOPNC(vp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_open, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +
    + out:
    +	DPRINTF(("puffs_open: returning %d\n", error));
    +	PUFFS_MSG_RELEASE(open);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_close(void *v)
    +{
    +	struct vop_close_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		int a_fflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, close);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +
    +	PUFFS_MSG_ALLOC(vn, close);
    +	puffs_msg_setfaf(park_close);
    +	close_msg->pvnr_fflag = ap->a_fflag;
    +	puffs_credcvt(&close_msg->pvnr_cred, ap->a_cred);
    +	puffs_msg_setinfo(park_close, PUFFSOP_VN,
    +	    PUFFS_VN_CLOSE, VPTOPNC(vp));
    +
    +	puffs_msg_enqueue(pmp, park_close);
    +	PUFFS_MSG_RELEASE(close);
    +	return 0;
    +}
    +
    +int
    +puffs_vnop_access(void *v)
    +{
    +	struct vop_access_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		int a_mode;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, access);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int mode = ap->a_mode;
    +	int error;
    +
    +	if (mode & VWRITE) {
    +		switch (vp->v_type) {
    +		case VDIR:
    +		case VLNK:
    +		case VREG:
    +			if ((vp->v_mount->mnt_flag & MNT_RDONLY)
    +			    || !EXISTSOP(pmp, WRITE))
    +				return EROFS;
    +			break;
    +		default:
    +			break;
    +		}
    +	}
    +
    +	if (!EXISTSOP(pmp, ACCESS))
    +		return 0;
    +
    +	PUFFS_MSG_ALLOC(vn, access);
    +	access_msg->pvnr_mode = ap->a_mode;
    +	puffs_credcvt(&access_msg->pvnr_cred, ap->a_cred);
    +	puffs_msg_setinfo(park_access, PUFFSOP_VN,
    +	    PUFFS_VN_ACCESS, VPTOPNC(vp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_access, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +	PUFFS_MSG_RELEASE(access);
    +
    +	return error;
    +}
    +
    +static void
    +update_va(struct vnode *vp, struct vattr *vap, struct vattr *rvap,
    +	  struct timespec *va_ttl, struct timespec *cn_ttl, int flags)
    +{
    +	struct puffs_node *pn = VPTOPP(vp);
    +
    +	if (TTL_VALID(cn_ttl)) {
    +		pn->pn_cn_timeout = TTL_TO_TIMEOUT(cn_ttl);
    +		pn->pn_cn_grace = MAX(pn->pn_cn_timeout, pn->pn_cn_grace);
    +	}
    +
    +	/*
    +	 * Don't listen to the file server regarding special device
    +	 * size info, the file server doesn't know anything about them.
    +	 */
    +	if (vp->v_type == VBLK || vp->v_type == VCHR)
    +		rvap->va_size = vp->v_size;
    +
    +	/* Ditto for blocksize (ufs comment: this doesn't belong here) */
    +	if (vp->v_type == VBLK)
    +		rvap->va_blocksize = BLKDEV_IOSIZE;
    +	else if (vp->v_type == VCHR)
    +		rvap->va_blocksize = MAXBSIZE;
    +
    +	if (vap != NULL) {
    +		(void) memcpy(vap, rvap, sizeof(struct vattr));
    +		vap->va_fsid = vp->v_mount->mnt_stat.f_fsidx.__fsid_val[0];
    +
    +		if (pn->pn_stat & PNODE_METACACHE_ATIME)
    +			vap->va_atime = pn->pn_mc_atime;
    +		if (pn->pn_stat & PNODE_METACACHE_CTIME)
    +			vap->va_ctime = pn->pn_mc_ctime;
    +		if (pn->pn_stat & PNODE_METACACHE_MTIME)
    +			vap->va_mtime = pn->pn_mc_mtime;
    +		if (pn->pn_stat & PNODE_METACACHE_SIZE)
    +			vap->va_size = pn->pn_mc_size;
    +	}
    +
    +	if (!(pn->pn_stat & PNODE_METACACHE_SIZE) && (flags & SETATTR_CHSIZE)) {
    +		if (rvap->va_size != VNOVAL
    +		    && vp->v_type != VBLK && vp->v_type != VCHR) {
    +			uvm_vnp_setsize(vp, rvap->va_size);
    +			pn->pn_serversize = rvap->va_size;
    +		}
    +	}
    +
    +	if ((va_ttl != NULL) && TTL_VALID(va_ttl)) {
    +		if (pn->pn_va_cache == NULL)
    +			pn->pn_va_cache = pool_get(&puffs_vapool, PR_WAITOK);
    +
    +		(void)memcpy(pn->pn_va_cache, rvap, sizeof(*rvap));
    +
    +		pn->pn_va_timeout = TTL_TO_TIMEOUT(va_ttl);
    +	}
    +}
    +
    +static void 
    +update_parent(struct vnode *vp, struct vnode *dvp)
    +{
    +	struct puffs_node *pn = VPTOPP(vp);
    +
    +	if (pn->pn_parent != NULL) {
    +		KASSERT(pn->pn_parent != dvp);
    +		vrele(pn->pn_parent);
    +	}
    +
    +	vref(dvp);
    +	pn->pn_parent = dvp;
    +}
    +
    +int
    +puffs_vnop_getattr(void *v)
    +{
    +	struct vop_getattr_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct vattr *a_vap;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, getattr);
    +	struct vnode *vp = ap->a_vp;
    +	struct mount *mp = vp->v_mount;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	struct vattr *vap, *rvap;
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct timespec *va_ttl = NULL;
    +	int error = 0;
    +
    +	/*
    +	 * A lock is required so that we do not race with 
    +	 * setattr, write and fsync when changing vp->v_size.
    +	 * This is critical, since setting a stall smaler value
    +	 * triggers a file truncate in uvm_vnp_setsize(), which
    +	 * most of the time means data corruption (a chunk of
    +	 * data is replaced by zeroes). This can be removed if
    +	 * we decide one day that VOP_GETATTR must operate on 
    +	 * a locked vnode.
    +	 *
    +	 * XXX Should be useless now that VOP_GETATTR has been
    +	 *     fixed to always require a shared lock at least.
    +	 */
    +	mutex_enter(&pn->pn_sizemtx);
    +
    +	REFPN(pn);
    +	vap = ap->a_vap;
    +
    +	if (PUFFS_USE_FS_TTL(pmp)) {
    +		if (!TIMED_OUT(pn->pn_va_timeout)) {
    +			update_va(vp, vap, pn->pn_va_cache, 
    +				  NULL, NULL, SETATTR_CHSIZE);
    +			goto out2;
    +		}
    +	}
    +
    +	PUFFS_MSG_ALLOC(vn, getattr);
    +	vattr_null(&getattr_msg->pvnr_va);
    +	puffs_credcvt(&getattr_msg->pvnr_cred, ap->a_cred);
    +	puffs_msg_setinfo(park_getattr, PUFFSOP_VN,
    +	    PUFFS_VN_GETATTR, VPTOPNC(vp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_getattr, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	rvap = &getattr_msg->pvnr_va;
    +
    +	if (PUFFS_USE_FS_TTL(pmp))
    +		va_ttl = &getattr_msg->pvnr_va_ttl;
    +
    +	update_va(vp, vap, rvap, va_ttl, NULL, SETATTR_CHSIZE);
    +
    + out:
    +	PUFFS_MSG_RELEASE(getattr);
    +
    + out2:
    +	puffs_releasenode(pn);
    +	
    +	mutex_exit(&pn->pn_sizemtx);
    +
    +	return error;
    +}
    +
    +static int
    +dosetattr(struct vnode *vp, struct vattr *vap, kauth_cred_t cred, int flags)
    +{
    +	PUFFS_MSG_VARS(vn, setattr);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct puffs_node *pn = vp->v_data;
    +	int error = 0;
    +
    +	KASSERT(!(flags & SETATTR_CHSIZE) || mutex_owned(&pn->pn_sizemtx));
    +
    +	if ((vp->v_mount->mnt_flag & MNT_RDONLY) &&
    +	    (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL
    +	    || vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL
    +	    || vap->va_mode != (mode_t)VNOVAL))
    +		return EROFS;
    +
    +	if ((vp->v_mount->mnt_flag & MNT_RDONLY)
    +	    && vp->v_type == VREG && vap->va_size != VNOVAL)
    +		return EROFS;
    +
    +	/*
    +	 * Flush metacache first.  If we are called with some explicit
    +	 * parameters, treat them as information overriding metacache
    +	 * information.
    +	 */
    +	if (pn->pn_stat & PNODE_METACACHE_MASK) {
    +		if ((pn->pn_stat & PNODE_METACACHE_ATIME)
    +		    && vap->va_atime.tv_sec == VNOVAL)
    +			vap->va_atime = pn->pn_mc_atime;
    +		if ((pn->pn_stat & PNODE_METACACHE_CTIME)
    +		    && vap->va_ctime.tv_sec == VNOVAL)
    +			vap->va_ctime = pn->pn_mc_ctime;
    +		if ((pn->pn_stat & PNODE_METACACHE_MTIME)
    +		    && vap->va_mtime.tv_sec == VNOVAL)
    +			vap->va_mtime = pn->pn_mc_mtime;
    +		if ((pn->pn_stat & PNODE_METACACHE_SIZE)
    +		    && vap->va_size == VNOVAL)
    +			vap->va_size = pn->pn_mc_size;
    +
    +		pn->pn_stat &= ~PNODE_METACACHE_MASK;
    +	}
    +
    +	/*
    +	 * Flush attribute cache so that another thread do 
    +	 * not get a stale value during the operation.
    +	 */
    +	if (PUFFS_USE_FS_TTL(pmp))
    +		pn->pn_va_timeout = 0;
    +
    +	PUFFS_MSG_ALLOC(vn, setattr);
    +	(void)memcpy(&setattr_msg->pvnr_va, vap, sizeof(struct vattr));
    +	puffs_credcvt(&setattr_msg->pvnr_cred, cred);
    +	puffs_msg_setinfo(park_setattr, PUFFSOP_VN,
    +	    PUFFS_VN_SETATTR, VPTOPNC(vp));
    +	if (flags & SETATTR_ASYNC)
    +		puffs_msg_setfaf(park_setattr);
    +
    +	puffs_msg_enqueue(pmp, park_setattr);
    +	if ((flags & SETATTR_ASYNC) == 0)
    +		error = puffs_msg_wait2(pmp, park_setattr, vp->v_data, NULL);
    +
    +	if ((error == 0) && PUFFS_USE_FS_TTL(pmp)) {
    +		struct timespec *va_ttl = &setattr_msg->pvnr_va_ttl;
    +		struct vattr *rvap = &setattr_msg->pvnr_va;
    +
    +		update_va(vp, NULL, rvap, va_ttl, NULL, flags);
    +	}
    +
    +	PUFFS_MSG_RELEASE(setattr);
    +	if ((flags & SETATTR_ASYNC) == 0) {
    +		error = checkerr(pmp, error, __func__);
    +		if (error)
    +			return error;
    +	} else {
    +		error = 0;
    +	}
    +
    +	if (vap->va_size != VNOVAL) {
    +		pn->pn_serversize = vap->va_size;
    +		if (flags & SETATTR_CHSIZE)
    +			uvm_vnp_setsize(vp, vap->va_size);
    +	}
    +
    +	return 0;
    +}
    +
    +int
    +puffs_vnop_setattr(void *v)
    +{
    +	struct vop_getattr_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct vattr *a_vap;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct puffs_node *pn = ap->a_vp->v_data;
    +	int error;
    +
    +	mutex_enter(&pn->pn_sizemtx);
    +	error = dosetattr(ap->a_vp, ap->a_vap, ap->a_cred, SETATTR_CHSIZE);
    +	mutex_exit(&pn->pn_sizemtx);
    +
    +	return error;
    +}
    +
    +static __inline int
    +doinact(struct puffs_mount *pmp, int iaflag)
    +{
    +
    +	if (EXISTSOP(pmp, INACTIVE))
    +		if (pmp->pmp_flags & PUFFS_KFLAG_IAONDEMAND)
    +			if (iaflag || ALLOPS(pmp))
    +				return 1;
    +			else
    +				return 0;
    +		else
    +			return 1;
    +	else
    +		return 0;
    +}
    +
    +static void
    +callinactive(struct puffs_mount *pmp, puffs_cookie_t ck, int iaflag)
    +{
    +	PUFFS_MSG_VARS(vn, inactive);
    +
    +	if (doinact(pmp, iaflag)) {
    +		PUFFS_MSG_ALLOC(vn, inactive);
    +		puffs_msg_setinfo(park_inactive, PUFFSOP_VN,
    +		    PUFFS_VN_INACTIVE, ck);
    +		PUFFS_MSG_ENQUEUEWAIT_NOERROR(pmp, park_inactive);
    +		PUFFS_MSG_RELEASE(inactive);
    +	}
    +}
    +
    +/* XXX: callinactive can't setback */
    +int
    +puffs_vnop_inactive(void *v)
    +{
    +	struct vop_inactive_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, inactive);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct puffs_node *pnode;
    +	bool recycle = false;
    +
    +	pnode = vp->v_data;
    +	mutex_enter(&pnode->pn_sizemtx);
    +
    +	if (doinact(pmp, pnode->pn_stat & PNODE_DOINACT)) {
    +		flushvncache(vp, 0, 0, false);
    +		PUFFS_MSG_ALLOC(vn, inactive);
    +		puffs_msg_setinfo(park_inactive, PUFFSOP_VN,
    +		    PUFFS_VN_INACTIVE, VPTOPNC(vp));
    +		PUFFS_MSG_ENQUEUEWAIT2_NOERROR(pmp, park_inactive, vp->v_data,
    +		    NULL);
    +		PUFFS_MSG_RELEASE(inactive);
    +	}
    +	pnode->pn_stat &= ~PNODE_DOINACT;
    +
    +	/*
    +	 * file server thinks it's gone?  then don't be afraid care,
    +	 * node's life was already all it would ever be
    +	 */
    +	if (pnode->pn_stat & PNODE_NOREFS) {
    +		pnode->pn_stat |= PNODE_DYING;
    +		recycle = true;
    +	}
    +
    +	/*
    +	 * Handle node TTL. 
    +	 * If grace has already timed out, make it reclaimed.
    +	 * Otherwise, we queue its expiration by sop thread, so
    +	 * that it does not remain for ages in the freelist, 
    +	 * holding memory in userspace, while we will have 
    +	 * to look it up again anyway.
    +	 */ 
    +	if (PUFFS_USE_FS_TTL(pmp) && !(vp->v_vflag & VV_ROOT) && !recycle) {
    +		bool incache = !TIMED_OUT(pnode->pn_cn_timeout);
    +		bool ingrace = !TIMED_OUT(pnode->pn_cn_grace);
    +		bool reclaimqueued = pnode->pn_stat & PNODE_SOPEXP;
    +
    +		if (!incache && !ingrace && !reclaimqueued) {
    +			pnode->pn_stat |= PNODE_DYING;
    +			recycle = true;
    +		}
    +
    +		if (!recycle && !reclaimqueued) {
    +			struct puffs_sopreq *psopr;
    +			int at = MAX(pnode->pn_cn_grace, pnode->pn_cn_timeout);
    +
    +			KASSERT(curlwp != uvm.pagedaemon_lwp);
    +			psopr = kmem_alloc(sizeof(*psopr), KM_SLEEP);
    +			psopr->psopr_ck = VPTOPNC(pnode->pn_vp);
    +			psopr->psopr_sopreq = PUFFS_SOPREQ_EXPIRE;
    +			psopr->psopr_at = at;
    +
    +			mutex_enter(&pmp->pmp_sopmtx);
    +
    +			/*
    +			 * If thread has disapeared, just give up. The
    +			 * fs is being unmounted and the node will be 
    +			 * be reclaimed anyway.
    +			 *
    +			 * Otherwise, we queue the request but do not
    +			 * immediatly signal the thread, as the node
    +			 * has not been expired yet.
    +			 */
    +			if (pmp->pmp_sopthrcount == 0) {
    +				kmem_free(psopr, sizeof(*psopr));
    +			} else {
    +				TAILQ_INSERT_TAIL(&pmp->pmp_sopnodereqs,
    +				    psopr, psopr_entries); 
    +				pnode->pn_stat |= PNODE_SOPEXP;
    +			}
    +
    +			mutex_exit(&pmp->pmp_sopmtx);
    +		}
    +	}
    +
    +	*ap->a_recycle = recycle;
    +
    +	mutex_exit(&pnode->pn_sizemtx);
    +	VOP_UNLOCK(vp);
    +
    +	return 0;
    +}
    +
    +static void
    +callreclaim(struct puffs_mount *pmp, puffs_cookie_t ck, int nlookup)
    +{
    +	PUFFS_MSG_VARS(vn, reclaim);
    +
    +	if (!EXISTSOP(pmp, RECLAIM))
    +		return;
    +
    +	PUFFS_MSG_ALLOC(vn, reclaim);
    +	reclaim_msg->pvnr_nlookup = nlookup;
    +	puffs_msg_setfaf(park_reclaim);
    +	puffs_msg_setinfo(park_reclaim, PUFFSOP_VN, PUFFS_VN_RECLAIM, ck);
    +
    +	puffs_msg_enqueue(pmp, park_reclaim);
    +	PUFFS_MSG_RELEASE(reclaim);
    +	return;
    +}
    +
    +/*
    + * always FAF, we don't really care if the server wants to fail to
    + * reclaim the node or not
    + */
    +int
    +puffs_vnop_reclaim(void *v)
    +{
    +	struct vop_reclaim_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct puffs_node *pnode = vp->v_data;
    +	bool notifyserver = true;
    +
    +	/*
    +	 * first things first: check if someone is trying to reclaim the
    +	 * root vnode.  do not allow that to travel to userspace.
    +	 * Note that we don't need to take the lock similarly to
    +	 * puffs_root(), since there is only one of us.
    +	 */
    +	if (vp->v_vflag & VV_ROOT) {
    +		mutex_enter(&pmp->pmp_lock);
    +		KASSERT(pmp->pmp_root != NULL);
    +		pmp->pmp_root = NULL;
    +		mutex_exit(&pmp->pmp_lock);
    +		notifyserver = false;
    +	}
    +
    +	/*
    +	 * purge info from kernel before issueing FAF, since we
    +	 * don't really know when we'll get around to it after
    +	 * that and someone might race us into node creation
    +	 */
    +	mutex_enter(&pmp->pmp_lock);
    +	LIST_REMOVE(pnode, pn_hashent);
    +	if (PUFFS_USE_NAMECACHE(pmp))
    +		cache_purge(vp);
    +	mutex_exit(&pmp->pmp_lock);
    +
    +	if (notifyserver) {
    +		int nlookup = VPTOPP(vp)->pn_nlookup;
    +
    +		callreclaim(MPTOPUFFSMP(vp->v_mount), VPTOPNC(vp), nlookup);
    +	}
    +
    +	if (PUFFS_USE_DOTDOTCACHE(pmp)) {
    +		if (__predict_true(VPTOPP(vp)->pn_parent != NULL))
    +			vrele(VPTOPP(vp)->pn_parent);
    +		else
    +			KASSERT(vp->v_vflag & VV_ROOT);
    +	}
    +
    +	puffs_putvnode(vp);
    +	vp->v_data = NULL;
    +
    +	return 0;
    +}
    +
    +#define CSIZE sizeof(**ap->a_cookies)
    +int
    +puffs_vnop_readdir(void *v)
    +{
    +	struct vop_readdir_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +		int *a_eofflag;
    +		off_t **a_cookies;
    +		int *a_ncookies;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, readdir);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	size_t argsize, tomove, cookiemem, cookiesmax;
    +	struct uio *uio = ap->a_uio;
    +	size_t howmuch, resid;
    +	int error;
    +
    +	/*
    +	 * ok, so we need: resid + cookiemem = maxreq
    +	 * => resid + cookiesize * (resid/minsize) = maxreq
    +	 * => resid + cookiesize/minsize * resid = maxreq
    +	 * => (cookiesize/minsize + 1) * resid = maxreq
    +	 * => resid = maxreq / (cookiesize/minsize + 1)
    +	 * 
    +	 * Since cookiesize <= minsize and we're not very big on floats,
    +	 * we approximate that to be 1.  Therefore:
    +	 * 
    +	 * resid = maxreq / 2;
    +	 *
    +	 * Well, at least we didn't have to use differential equations
    +	 * or the Gram-Schmidt process.
    +	 *
    +	 * (yes, I'm very afraid of this)
    +	 */
    +	KASSERT(CSIZE <= _DIRENT_MINSIZE((struct dirent *)0));
    +
    +	if (ap->a_cookies) {
    +		KASSERT(ap->a_ncookies != NULL);
    +		if (pmp->pmp_args.pa_fhsize == 0)
    +			return EOPNOTSUPP;
    +		resid = PUFFS_TOMOVE(uio->uio_resid, pmp) / 2;
    +		cookiesmax = resid/_DIRENT_MINSIZE((struct dirent *)0);
    +		cookiemem = ALIGN(cookiesmax*CSIZE); /* play safe */
    +	} else {
    +		resid = PUFFS_TOMOVE(uio->uio_resid, pmp);
    +		cookiesmax = 0;
    +		cookiemem = 0;
    +	}
    +
    +	argsize = sizeof(struct puffs_vnmsg_readdir);
    +	tomove = resid + cookiemem;
    +	puffs_msgmem_alloc(argsize + tomove, &park_readdir,
    +	    (void *)&readdir_msg, 1);
    +
    +	puffs_credcvt(&readdir_msg->pvnr_cred, ap->a_cred);
    +	readdir_msg->pvnr_offset = uio->uio_offset;
    +	readdir_msg->pvnr_resid = resid;
    +	readdir_msg->pvnr_ncookies = cookiesmax;
    +	readdir_msg->pvnr_eofflag = 0;
    +	readdir_msg->pvnr_dentoff = cookiemem;
    +	puffs_msg_setinfo(park_readdir, PUFFSOP_VN,
    +	    PUFFS_VN_READDIR, VPTOPNC(vp));
    +	puffs_msg_setdelta(park_readdir, tomove);
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_readdir, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	/* userspace is cheating? */
    +	if (readdir_msg->pvnr_resid > resid) {
    +		puffs_senderr(pmp, PUFFS_ERR_READDIR, E2BIG,
    +		    "resid grew", VPTOPNC(vp));
    +		ERROUT(EPROTO);
    +	}
    +	if (readdir_msg->pvnr_ncookies > cookiesmax) {
    +		puffs_senderr(pmp, PUFFS_ERR_READDIR, E2BIG,
    +		    "too many cookies", VPTOPNC(vp));
    +		ERROUT(EPROTO);
    +	}
    +
    +	/* check eof */
    +	if (readdir_msg->pvnr_eofflag)
    +		*ap->a_eofflag = 1;
    +
    +	/* bouncy-wouncy with the directory data */
    +	howmuch = resid - readdir_msg->pvnr_resid;
    +
    +	/* force eof if no data was returned (getcwd() needs this) */
    +	if (howmuch == 0) {
    +		*ap->a_eofflag = 1;
    +		goto out;
    +	}
    +
    +	error = uiomove(readdir_msg->pvnr_data + cookiemem, howmuch, uio);
    +	if (error)
    +		goto out;
    +
    +	/* provide cookies to caller if so desired */
    +	if (ap->a_cookies) {
    +		KASSERT(curlwp != uvm.pagedaemon_lwp);
    +		*ap->a_cookies = malloc(readdir_msg->pvnr_ncookies*CSIZE,
    +		    M_TEMP, M_WAITOK);
    +		*ap->a_ncookies = readdir_msg->pvnr_ncookies;
    +		memcpy(*ap->a_cookies, readdir_msg->pvnr_data,
    +		    *ap->a_ncookies*CSIZE);
    +	}
    +
    +	/* next readdir starts here */
    +	uio->uio_offset = readdir_msg->pvnr_offset;
    +
    + out:
    +	puffs_msgmem_release(park_readdir);
    +	return error;
    +}
    +#undef CSIZE
    +
    +/*
    + * poll works by consuming the bitmask in pn_revents.  If there are
    + * events available, poll returns immediately.  If not, it issues a
    + * poll to userspace, selrecords itself and returns with no available
    + * events.  When the file server returns, it executes puffs_parkdone_poll(),
    + * where available events are added to the bitmask.  selnotify() is
    + * then also executed by that function causing us to enter here again
    + * and hopefully find the missing bits (unless someone got them first,
    + * in which case it starts all over again).
    + */
    +int
    +puffs_vnop_poll(void *v)
    +{
    +	struct vop_poll_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		int a_events;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, poll);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct puffs_node *pn = vp->v_data;
    +	int events;
    +
    +	if (EXISTSOP(pmp, POLL)) {
    +		mutex_enter(&pn->pn_mtx);
    +		events = pn->pn_revents & ap->a_events;
    +		if (events & ap->a_events) {
    +			pn->pn_revents &= ~ap->a_events;
    +			mutex_exit(&pn->pn_mtx);
    +
    +			return events;
    +		} else {
    +			puffs_referencenode(pn);
    +			mutex_exit(&pn->pn_mtx);
    +
    +			PUFFS_MSG_ALLOC(vn, poll);
    +			poll_msg->pvnr_events = ap->a_events;
    +			puffs_msg_setinfo(park_poll, PUFFSOP_VN,
    +			    PUFFS_VN_POLL, VPTOPNC(vp));
    +			puffs_msg_setcall(park_poll, puffs_parkdone_poll, pn);
    +			selrecord(curlwp, &pn->pn_sel);
    +
    +			PUFFS_MSG_ENQUEUEWAIT2_NOERROR(pmp, park_poll,
    +			    vp->v_data, NULL);
    +			PUFFS_MSG_RELEASE(poll);
    +
    +			return 0;
    +		}
    +	} else {
    +		return genfs_poll(v);
    +	}
    +}
    +
    +static int
    +flushvncache(struct vnode *vp, off_t offlo, off_t offhi, bool wait)
    +{
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct vattr va;
    +	int pflags, error;
    +
    +	/* flush out information from our metacache, see vop_setattr */
    +	if (pn->pn_stat & PNODE_METACACHE_MASK
    +	    && (pn->pn_stat & PNODE_DYING) == 0) {
    +		vattr_null(&va);
    +		error = dosetattr(vp, &va, FSCRED,
    +		    SETATTR_CHSIZE | (wait ? 0 : SETATTR_ASYNC));
    +		if (error)
    +			return error;
    +	}
    +
    +	/*
    +	 * flush pages to avoid being overly dirty
    +	 */
    +	pflags = PGO_CLEANIT;
    +	if (wait)
    +		pflags |= PGO_SYNCIO;
    +
    +	mutex_enter(vp->v_interlock);
    +	return VOP_PUTPAGES(vp, trunc_page(offlo), round_page(offhi), pflags);
    +}
    +
    +int
    +puffs_vnop_fsync(void *v)
    +{
    +	struct vop_fsync_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		kauth_cred_t a_cred;
    +		int a_flags;
    +		off_t a_offlo;
    +		off_t a_offhi;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, fsync);
    +	struct vnode *vp;
    +	struct puffs_node *pn;
    +	struct puffs_mount *pmp;
    +	int error, dofaf;
    +
    +	vp = ap->a_vp;
    +	KASSERT(vp != NULL);
    +	pn = VPTOPP(vp);
    +	KASSERT(pn != NULL);
    +	pmp = MPTOPUFFSMP(vp->v_mount);
    +	if (ap->a_flags & FSYNC_WAIT) {
    +		mutex_enter(&pn->pn_sizemtx);
    +	} else {
    +		if (mutex_tryenter(&pn->pn_sizemtx) == 0)
    +			return EDEADLK;
    +	}
    +
    +	error = flushvncache(vp, ap->a_offlo, ap->a_offhi,
    +	    (ap->a_flags & FSYNC_WAIT) == FSYNC_WAIT);
    +	if (error)
    +		goto out;
    +
    +	/*
    +	 * HELLO!  We exit already here if the user server does not
    +	 * support fsync OR if we should call fsync for a node which
    +	 * has references neither in the kernel or the fs server.
    +	 * Otherwise we continue to issue fsync() forward.
    +	 */
    +	error = 0;
    +	if (!EXISTSOP(pmp, FSYNC) || (pn->pn_stat & PNODE_DYING))
    +		goto out;
    +
    +	dofaf = (ap->a_flags & FSYNC_WAIT) == 0 || ap->a_flags == FSYNC_LAZY;
    +	/*
    +	 * We abuse VXLOCK to mean "vnode is going to die", so we issue
    +	 * only FAFs for those.  Otherwise there's a danger of deadlock,
    +	 * since the execution context here might be the user server
    +	 * doing some operation on another fs, which in turn caused a
    +	 * vnode to be reclaimed from the freelist for this fs.
    +	 */
    +	if (dofaf == 0) {
    +		mutex_enter(vp->v_interlock);
    +		if (vp->v_iflag & VI_XLOCK)
    +			dofaf = 1;
    +		mutex_exit(vp->v_interlock);
    +	}
    +
    +	PUFFS_MSG_ALLOC(vn, fsync);
    +	if (dofaf)
    +		puffs_msg_setfaf(park_fsync);
    +
    +	puffs_credcvt(&fsync_msg->pvnr_cred, ap->a_cred);
    +	fsync_msg->pvnr_flags = ap->a_flags;
    +	fsync_msg->pvnr_offlo = ap->a_offlo;
    +	fsync_msg->pvnr_offhi = ap->a_offhi;
    +	puffs_msg_setinfo(park_fsync, PUFFSOP_VN,
    +	    PUFFS_VN_FSYNC, VPTOPNC(vp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_fsync, vp->v_data, NULL, error);
    +	PUFFS_MSG_RELEASE(fsync);
    +
    +	error = checkerr(pmp, error, __func__);
    +
    +out:
    +	mutex_exit(&pn->pn_sizemtx);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_seek(void *v)
    +{
    +	struct vop_seek_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		off_t a_oldoff;
    +		off_t a_newoff;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, seek);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, seek);
    +	seek_msg->pvnr_oldoff = ap->a_oldoff;
    +	seek_msg->pvnr_newoff = ap->a_newoff;
    +	puffs_credcvt(&seek_msg->pvnr_cred, ap->a_cred);
    +	puffs_msg_setinfo(park_seek, PUFFSOP_VN,
    +	    PUFFS_VN_SEEK, VPTOPNC(vp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_seek, vp->v_data, NULL, error);
    +	PUFFS_MSG_RELEASE(seek);
    +	return checkerr(pmp, error, __func__);
    +}
    +
    +static int
    +callremove(struct puffs_mount *pmp, puffs_cookie_t dck, puffs_cookie_t ck,
    +	struct componentname *cnp)
    +{
    +	PUFFS_MSG_VARS(vn, remove);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, remove);
    +	remove_msg->pvnr_cookie_targ = ck;
    +	puffs_makecn(&remove_msg->pvnr_cn, &remove_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_msg_setinfo(park_remove, PUFFSOP_VN, PUFFS_VN_REMOVE, dck);
    +
    +	PUFFS_MSG_ENQUEUEWAIT(pmp, park_remove, error);
    +	PUFFS_MSG_RELEASE(remove);
    +
    +	return checkerr(pmp, error, __func__);
    +}
    +
    +/*
    + * XXX: can't use callremove now because can't catch setbacks with
    + * it due to lack of a pnode argument.
    + */
    +int
    +puffs_vnop_remove(void *v)
    +{
    +	struct vop_remove_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, remove);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct componentname *cnp = ap->a_cnp;
    +	struct mount *mp = dvp->v_mount;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, remove);
    +	remove_msg->pvnr_cookie_targ = VPTOPNC(vp);
    +	puffs_makecn(&remove_msg->pvnr_cn, &remove_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_msg_setinfo(park_remove, PUFFSOP_VN,
    +	    PUFFS_VN_REMOVE, VPTOPNC(dvp));
    +
    +	puffs_msg_enqueue(pmp, park_remove);
    +	REFPN_AND_UNLOCKVP(dvp, dpn);
    +	if (dvp == vp)
    +		REFPN(pn);
    +	else
    +		REFPN_AND_UNLOCKVP(vp, pn);
    +	error = puffs_msg_wait2(pmp, park_remove, dpn, pn);
    +
    +	PUFFS_MSG_RELEASE(remove);
    +
    +	RELEPN_AND_VP(dvp, dpn);
    +	RELEPN_AND_VP(vp, pn);
    +
    +	error = checkerr(pmp, error, __func__);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_mkdir(void *v)
    +{
    +	struct vop_mkdir_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +		struct vattr *a_vap;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, mkdir);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct componentname *cnp = ap->a_cnp;
    +	struct mount *mp = dvp->v_mount;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(mp);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, mkdir);
    +	puffs_makecn(&mkdir_msg->pvnr_cn, &mkdir_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	mkdir_msg->pvnr_va = *ap->a_vap;
    +	puffs_msg_setinfo(park_mkdir, PUFFSOP_VN,
    +	    PUFFS_VN_MKDIR, VPTOPNC(dvp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_mkdir, dvp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	error = puffs_newnode(mp, dvp, ap->a_vpp,
    +	    mkdir_msg->pvnr_newnode, cnp, VDIR, 0);
    +	if (error) {
    +		puffs_abortbutton(pmp, PUFFS_ABORT_MKDIR, dpn->pn_cookie,
    +		    mkdir_msg->pvnr_newnode, cnp);
    +		goto out;
    +	}
    +
    +	if (PUFFS_USE_FS_TTL(pmp)) {
    +		struct timespec *va_ttl = &mkdir_msg->pvnr_va_ttl;
    +		struct timespec *cn_ttl = &mkdir_msg->pvnr_cn_ttl;
    +		struct vattr *rvap = &mkdir_msg->pvnr_va;
    +
    +		update_va(*ap->a_vpp, NULL, rvap, 
    +			  va_ttl, cn_ttl, SETATTR_CHSIZE);
    +	}
    +
    +	VPTOPP(*ap->a_vpp)->pn_nlookup++;
    +
    +	if (PUFFS_USE_DOTDOTCACHE(pmp) &&
    +	    (VPTOPP(*ap->a_vpp)->pn_parent != dvp))
    +		update_parent(*ap->a_vpp, dvp);
    +
    + out:
    +	vput(dvp);
    +	PUFFS_MSG_RELEASE(mkdir);
    +	return error;
    +}
    +
    +static int
    +callrmdir(struct puffs_mount *pmp, puffs_cookie_t dck, puffs_cookie_t ck,
    +	struct componentname *cnp)
    +{
    +	PUFFS_MSG_VARS(vn, rmdir);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, rmdir);
    +	rmdir_msg->pvnr_cookie_targ = ck;
    +	puffs_makecn(&rmdir_msg->pvnr_cn, &rmdir_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_msg_setinfo(park_rmdir, PUFFSOP_VN, PUFFS_VN_RMDIR, dck);
    +
    +	PUFFS_MSG_ENQUEUEWAIT(pmp, park_rmdir, error);
    +	PUFFS_MSG_RELEASE(rmdir);
    +
    +	return checkerr(pmp, error, __func__);
    +}
    +
    +int
    +puffs_vnop_rmdir(void *v)
    +{
    +	struct vop_rmdir_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, rmdir);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount);
    +	struct componentname *cnp = ap->a_cnp;
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, rmdir);
    +	rmdir_msg->pvnr_cookie_targ = VPTOPNC(vp);
    +	puffs_makecn(&rmdir_msg->pvnr_cn, &rmdir_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_msg_setinfo(park_rmdir, PUFFSOP_VN,
    +	    PUFFS_VN_RMDIR, VPTOPNC(dvp));
    +
    +	puffs_msg_enqueue(pmp, park_rmdir);
    +	REFPN_AND_UNLOCKVP(dvp, dpn);
    +	REFPN_AND_UNLOCKVP(vp, pn);
    +	error = puffs_msg_wait2(pmp, park_rmdir, dpn, pn);
    +
    +	PUFFS_MSG_RELEASE(rmdir);
    +
    +	/* XXX: some call cache_purge() *for both vnodes* here, investigate */
    +	RELEPN_AND_VP(dvp, dpn);
    +	RELEPN_AND_VP(vp, pn);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_link(void *v)
    +{
    +	struct vop_link_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, link);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount);
    +	struct componentname *cnp = ap->a_cnp;
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, link);
    +	link_msg->pvnr_cookie_targ = VPTOPNC(vp);
    +	puffs_makecn(&link_msg->pvnr_cn, &link_msg->pvnr_cn_cred,
    +	    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_msg_setinfo(park_link, PUFFSOP_VN,
    +	    PUFFS_VN_LINK, VPTOPNC(dvp));
    +
    +	puffs_msg_enqueue(pmp, park_link);
    +	REFPN_AND_UNLOCKVP(dvp, dpn);
    +	REFPN(pn);
    +	error = puffs_msg_wait2(pmp, park_link, dpn, pn);
    +
    +	PUFFS_MSG_RELEASE(link);
    +
    +	error = checkerr(pmp, error, __func__);
    +
    +	/*
    +	 * XXX: stay in touch with the cache.  I don't like this, but
    +	 * don't have a better solution either.  See also puffs_rename().
    +	 */
    +	if (error == 0)
    +		puffs_updatenode(pn, PUFFS_UPDATECTIME, 0);
    +
    +	RELEPN_AND_VP(dvp, dpn);
    +	puffs_releasenode(pn);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_symlink(void *v)
    +{
    +	struct vop_symlink_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +		struct vattr *a_vap;
    +		char *a_target;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, symlink);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct puffs_node *dpn = VPTOPP(dvp);
    +	struct mount *mp = dvp->v_mount;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount);
    +	struct componentname *cnp = ap->a_cnp;
    +	int error;
    +
    +	*ap->a_vpp = NULL;
    +
    +	PUFFS_MSG_ALLOC(vn, symlink);
    +	puffs_makecn(&symlink_msg->pvnr_cn, &symlink_msg->pvnr_cn_cred,
    +		cnp, PUFFS_USE_FULLPNBUF(pmp));
    +	symlink_msg->pvnr_va = *ap->a_vap;
    +	(void)strlcpy(symlink_msg->pvnr_link, ap->a_target,
    +	    sizeof(symlink_msg->pvnr_link));
    +	puffs_msg_setinfo(park_symlink, PUFFSOP_VN,
    +	    PUFFS_VN_SYMLINK, VPTOPNC(dvp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_symlink, dvp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	error = puffs_newnode(mp, dvp, ap->a_vpp,
    +	    symlink_msg->pvnr_newnode, cnp, VLNK, 0);
    +	if (error) {
    +		puffs_abortbutton(pmp, PUFFS_ABORT_SYMLINK, dpn->pn_cookie,
    +		    symlink_msg->pvnr_newnode, cnp);
    +		goto out;
    +	}
    +
    +	if (PUFFS_USE_FS_TTL(pmp)) {
    +		struct timespec *va_ttl = &symlink_msg->pvnr_va_ttl;
    +		struct timespec *cn_ttl = &symlink_msg->pvnr_cn_ttl;
    +		struct vattr *rvap = &symlink_msg->pvnr_va;
    +
    +		update_va(*ap->a_vpp, NULL, rvap, 
    +			  va_ttl, cn_ttl, SETATTR_CHSIZE);
    +	}
    +
    +	VPTOPP(*ap->a_vpp)->pn_nlookup++;
    +
    +	if (PUFFS_USE_DOTDOTCACHE(pmp) && 
    +	    (VPTOPP(*ap->a_vpp)->pn_parent != dvp))
    +		update_parent(*ap->a_vpp, dvp);
    +
    + out:
    +	vput(dvp);
    +	PUFFS_MSG_RELEASE(symlink);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_readlink(void *v)
    +{
    +	struct vop_readlink_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, readlink);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(ap->a_vp->v_mount);
    +	size_t linklen;
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, readlink);
    +	puffs_credcvt(&readlink_msg->pvnr_cred, ap->a_cred);
    +	linklen = sizeof(readlink_msg->pvnr_link);
    +	readlink_msg->pvnr_linklen = linklen;
    +	puffs_msg_setinfo(park_readlink, PUFFSOP_VN,
    +	    PUFFS_VN_READLINK, VPTOPNC(vp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_readlink, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	/* bad bad user file server */
    +	if (readlink_msg->pvnr_linklen > linklen) {
    +		puffs_senderr(pmp, PUFFS_ERR_READLINK, E2BIG,
    +		    "linklen too big", VPTOPNC(ap->a_vp));
    +		error = EPROTO;
    +		goto out;
    +	}
    +
    +	error = uiomove(&readlink_msg->pvnr_link, readlink_msg->pvnr_linklen,
    +	    ap->a_uio);
    + out:
    +	PUFFS_MSG_RELEASE(readlink);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_rename(void *v)
    +{
    +	struct vop_rename_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_fdvp;
    +		struct vnode *a_fvp;
    +		struct componentname *a_fcnp;
    +		struct vnode *a_tdvp;
    +		struct vnode *a_tvp;
    +		struct componentname *a_tcnp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, rename);
    +	struct vnode *fdvp = ap->a_fdvp, *fvp = ap->a_fvp;
    +	struct vnode *tdvp = ap->a_tdvp, *tvp = ap->a_tvp;
    +	struct puffs_node *fpn = ap->a_fvp->v_data;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(fdvp->v_mount);
    +	int error;
    +	bool doabort = true;
    +
    +	if ((fvp->v_mount != tdvp->v_mount) ||
    +	    (tvp && (fvp->v_mount != tvp->v_mount))) {
    +		ERROUT(EXDEV);
    +	}
    +
    +	PUFFS_MSG_ALLOC(vn, rename);
    +	rename_msg->pvnr_cookie_src = VPTOPNC(fvp);
    +	rename_msg->pvnr_cookie_targdir = VPTOPNC(tdvp);
    +	if (tvp)
    +		rename_msg->pvnr_cookie_targ = VPTOPNC(tvp);
    +	else
    +		rename_msg->pvnr_cookie_targ = NULL;
    +	puffs_makecn(&rename_msg->pvnr_cn_src, &rename_msg->pvnr_cn_src_cred,
    +	    ap->a_fcnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_makecn(&rename_msg->pvnr_cn_targ, &rename_msg->pvnr_cn_targ_cred,
    +	    ap->a_tcnp, PUFFS_USE_FULLPNBUF(pmp));
    +	puffs_msg_setinfo(park_rename, PUFFSOP_VN,
    +	    PUFFS_VN_RENAME, VPTOPNC(fdvp));
    +
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_rename, fdvp->v_data, NULL, error);
    +	doabort = false;
    +	PUFFS_MSG_RELEASE(rename);
    +	error = checkerr(pmp, error, __func__);
    +
    +	/*
    +	 * XXX: stay in touch with the cache.  I don't like this, but
    +	 * don't have a better solution either.  See also puffs_link().
    +	 */
    +	if (error == 0) {
    +		puffs_updatenode(fpn, PUFFS_UPDATECTIME, 0);
    +
    +		if (PUFFS_USE_DOTDOTCACHE(pmp) &&
    +		    (VPTOPP(fvp)->pn_parent != tdvp))
    +			update_parent(fvp, tdvp);
    +	}
    +
    +
    + out:
    +	if (doabort)
    +		VOP_ABORTOP(tdvp, ap->a_tcnp);
    +	if (tvp != NULL)
    +		vput(tvp);
    +	if (tdvp == tvp)
    +		vrele(tdvp);
    +	else
    +		vput(tdvp);
    +
    +	if (doabort)
    +		VOP_ABORTOP(fdvp, ap->a_fcnp);
    +	vrele(fdvp);
    +	vrele(fvp);
    +
    +	return error;
    +}
    +
    +#define RWARGS(cont, iofl, move, offset, creds)				\
    +	(cont)->pvnr_ioflag = (iofl);					\
    +	(cont)->pvnr_resid = (move);					\
    +	(cont)->pvnr_offset = (offset);					\
    +	puffs_credcvt(&(cont)->pvnr_cred, creds)
    +
    +int
    +puffs_vnop_read(void *v)
    +{
    +	struct vop_read_args /* { 
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, read);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct uio *uio = ap->a_uio;
    +	size_t tomove, argsize;
    +	vsize_t bytelen;
    +	int error;
    +
    +	read_msg = NULL;
    +	error = 0;
    +
    +	/* std sanity */
    +	if (uio->uio_resid == 0)
    +		return 0;
    +	if (uio->uio_offset < 0)
    +		return EINVAL;
    +
    +	if (vp->v_type == VREG && PUFFS_USE_PAGECACHE(pmp)) {
    +		const int advice = IO_ADV_DECODE(ap->a_ioflag);
    +
    +		while (uio->uio_resid > 0) {
    +			if (vp->v_size <= uio->uio_offset) {
    +				break;
    +			}
    +			bytelen = MIN(uio->uio_resid,
    +			    vp->v_size - uio->uio_offset);
    +			if (bytelen == 0)
    +				break;
    +
    +			error = ubc_uiomove(&vp->v_uobj, uio, bytelen, advice,
    +			    UBC_READ | UBC_PARTIALOK | UBC_UNMAP_FLAG(vp));
    +			if (error)
    +				break;
    +		}
    +
    +		if ((vp->v_mount->mnt_flag & MNT_NOATIME) == 0)
    +			puffs_updatenode(VPTOPP(vp), PUFFS_UPDATEATIME, 0);
    +	} else {
    +		/*
    +		 * in case it's not a regular file or we're operating
    +		 * uncached, do read in the old-fashioned style,
    +		 * i.e. explicit read operations
    +		 */
    +
    +		tomove = PUFFS_TOMOVE(uio->uio_resid, pmp);
    +		argsize = sizeof(struct puffs_vnmsg_read);
    +		puffs_msgmem_alloc(argsize + tomove, &park_read,
    +		    (void *)&read_msg, 1);
    +
    +		error = 0;
    +		while (uio->uio_resid > 0) {
    +			tomove = PUFFS_TOMOVE(uio->uio_resid, pmp);
    +			memset(read_msg, 0, argsize); /* XXX: touser KASSERT */
    +			RWARGS(read_msg, ap->a_ioflag, tomove,
    +			    uio->uio_offset, ap->a_cred);
    +			puffs_msg_setinfo(park_read, PUFFSOP_VN,
    +			    PUFFS_VN_READ, VPTOPNC(vp));
    +			puffs_msg_setdelta(park_read, tomove);
    +
    +			PUFFS_MSG_ENQUEUEWAIT2(pmp, park_read, vp->v_data,
    +			    NULL, error);
    +			error = checkerr(pmp, error, __func__);
    +			if (error)
    +				break;
    +
    +			if (read_msg->pvnr_resid > tomove) {
    +				puffs_senderr(pmp, PUFFS_ERR_READ,
    +				    E2BIG, "resid grew", VPTOPNC(ap->a_vp));
    +				error = EPROTO;
    +				break;
    +			}
    +
    +			error = uiomove(read_msg->pvnr_data,
    +			    tomove - read_msg->pvnr_resid, uio);
    +
    +			/*
    +			 * in case the file is out of juice, resid from
    +			 * userspace is != 0.  and the error-case is
    +			 * quite obvious
    +			 */
    +			if (error || read_msg->pvnr_resid)
    +				break;
    +		}
    +
    +		puffs_msgmem_release(park_read);
    +	}
    +
    +	return error;
    +}
    +
    +/*
    + * XXX: in case of a failure, this leaves uio in a bad state.
    + * We could theoretically copy the uio and iovecs and "replay"
    + * them the right amount after the userspace trip, but don't
    + * bother for now.
    + */
    +int
    +puffs_vnop_write(void *v)
    +{
    +	struct vop_write_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, write);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct uio *uio = ap->a_uio;
    +	size_t tomove, argsize;
    +	off_t oldoff, newoff, origoff;
    +	vsize_t bytelen;
    +	int error, uflags;
    +	int ubcflags;
    +
    +	error = uflags = 0;
    +	write_msg = NULL;
    +
    +	mutex_enter(&pn->pn_sizemtx);
    +
    +	if (vp->v_type == VREG && PUFFS_USE_PAGECACHE(pmp)) {
    +		ubcflags = UBC_WRITE | UBC_PARTIALOK | UBC_UNMAP_FLAG(vp);
    +
    +		/*
    +		 * userspace *should* be allowed to control this,
    +		 * but with UBC it's a bit unclear how to handle it
    +		 */
    +		if (ap->a_ioflag & IO_APPEND)
    +			uio->uio_offset = vp->v_size;
    +
    +		origoff = uio->uio_offset;
    +		while (uio->uio_resid > 0) {
    +			if (vp->v_mount->mnt_flag & MNT_RELATIME)
    +				uflags |= PUFFS_UPDATEATIME;
    +			uflags |= PUFFS_UPDATECTIME;
    +			uflags |= PUFFS_UPDATEMTIME;
    +			oldoff = uio->uio_offset;
    +			bytelen = uio->uio_resid;
    +
    +			newoff = oldoff + bytelen;
    +			if (vp->v_size < newoff) {
    +				uvm_vnp_setwritesize(vp, newoff);
    +			}
    +			error = ubc_uiomove(&vp->v_uobj, uio, bytelen,
    +			    UVM_ADV_RANDOM, ubcflags);
    +
    +			/*
    +			 * In case of a ubc_uiomove() error,
    +			 * opt to not extend the file at all and
    +			 * return an error.  Otherwise, if we attempt
    +			 * to clear the memory we couldn't fault to,
    +			 * we might generate a kernel page fault.
    +			 */
    +			if (vp->v_size < newoff) {
    +				if (error == 0) {
    +					uflags |= PUFFS_UPDATESIZE;
    +					uvm_vnp_setsize(vp, newoff);
    +				} else {
    +					uvm_vnp_setwritesize(vp, vp->v_size);
    +				}
    +			}
    +			if (error)
    +				break;
    +
    +			/*
    +			 * If we're writing large files, flush to file server
    +			 * every 64k.  Otherwise we can very easily exhaust
    +			 * kernel and user memory, as the file server cannot
    +			 * really keep up with our writing speed.
    +			 *
    +			 * Note: this does *NOT* honor MNT_ASYNC, because
    +			 * that gives userland too much say in the kernel.
    +			 */
    +			if (oldoff >> 16 != uio->uio_offset >> 16) {
    +				mutex_enter(vp->v_interlock);
    +				error = VOP_PUTPAGES(vp, oldoff & ~0xffff,
    +				    uio->uio_offset & ~0xffff,
    +				    PGO_CLEANIT | PGO_SYNCIO);
    +				if (error)
    +					break;
    +			}
    +		}
    +
    +		/* synchronous I/O? */
    +		if (error == 0 && ap->a_ioflag & IO_SYNC) {
    +			mutex_enter(vp->v_interlock);
    +			error = VOP_PUTPAGES(vp, trunc_page(origoff),
    +			    round_page(uio->uio_offset),
    +			    PGO_CLEANIT | PGO_SYNCIO);
    +
    +		/* write through page cache? */
    +		} else if (error == 0 && pmp->pmp_flags & PUFFS_KFLAG_WTCACHE) {
    +			mutex_enter(vp->v_interlock);
    +			error = VOP_PUTPAGES(vp, trunc_page(origoff),
    +			    round_page(uio->uio_offset), PGO_CLEANIT);
    +		}
    +
    +		puffs_updatenode(VPTOPP(vp), uflags, vp->v_size);
    +	} else {
    +		/* tomove is non-increasing */
    +		tomove = PUFFS_TOMOVE(uio->uio_resid, pmp);
    +		argsize = sizeof(struct puffs_vnmsg_write) + tomove;
    +		puffs_msgmem_alloc(argsize, &park_write, (void *)&write_msg,1);
    +
    +		while (uio->uio_resid > 0) {
    +			/* move data to buffer */
    +			tomove = PUFFS_TOMOVE(uio->uio_resid, pmp);
    +			memset(write_msg, 0, argsize); /* XXX: touser KASSERT */
    +			RWARGS(write_msg, ap->a_ioflag, tomove,
    +			    uio->uio_offset, ap->a_cred);
    +			error = uiomove(write_msg->pvnr_data, tomove, uio);
    +			if (error)
    +				break;
    +
    +			/* move buffer to userspace */
    +			puffs_msg_setinfo(park_write, PUFFSOP_VN,
    +			    PUFFS_VN_WRITE, VPTOPNC(vp));
    +			PUFFS_MSG_ENQUEUEWAIT2(pmp, park_write, vp->v_data,
    +			    NULL, error);
    +			error = checkerr(pmp, error, __func__);
    +			if (error)
    +				break;
    +
    +			if (write_msg->pvnr_resid > tomove) {
    +				puffs_senderr(pmp, PUFFS_ERR_WRITE,
    +				    E2BIG, "resid grew", VPTOPNC(ap->a_vp));
    +				error = EPROTO;
    +				break;
    +			}
    +
    +			/* adjust file size */
    +			if (vp->v_size < uio->uio_offset)
    +				uvm_vnp_setsize(vp, uio->uio_offset);
    +
    +			/* didn't move everything?  bad userspace.  bail */
    +			if (write_msg->pvnr_resid != 0) {
    +				error = EIO;
    +				break;
    +			}
    +		}
    +		puffs_msgmem_release(park_write);
    +	}
    +
    +	mutex_exit(&pn->pn_sizemtx);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_print(void *v)
    +{
    +	struct vop_print_args /* {
    +		struct vnode *a_vp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, print);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct puffs_node *pn = vp->v_data;
    +
    +	/* kernel portion */
    +	printf("tag VT_PUFFS, vnode %p, puffs node: %p,\n"
    +	    "\tuserspace cookie: %p", vp, pn, pn->pn_cookie);
    +	if (vp->v_type == VFIFO)
    +		VOCALL(fifo_vnodeop_p, VOFFSET(vop_print), v);
    +	printf("\n");
    +
    +	/* userspace portion */
    +	if (EXISTSOP(pmp, PRINT)) {
    +		PUFFS_MSG_ALLOC(vn, print);
    +		puffs_msg_setinfo(park_print, PUFFSOP_VN,
    +		    PUFFS_VN_PRINT, VPTOPNC(vp));
    +		PUFFS_MSG_ENQUEUEWAIT2_NOERROR(pmp, park_print, vp->v_data,
    +		    NULL);
    +		PUFFS_MSG_RELEASE(print);
    +	}
    +	
    +	return 0;
    +}
    +
    +int
    +puffs_vnop_pathconf(void *v)
    +{
    +	struct vop_pathconf_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		int a_name;
    +		register_t *a_retval;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, pathconf);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, pathconf);
    +	pathconf_msg->pvnr_name = ap->a_name;
    +	puffs_msg_setinfo(park_pathconf, PUFFSOP_VN,
    +	    PUFFS_VN_PATHCONF, VPTOPNC(vp));
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_pathconf, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +	if (!error)
    +		*ap->a_retval = pathconf_msg->pvnr_retval;
    +	PUFFS_MSG_RELEASE(pathconf);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_advlock(void *v)
    +{
    +	struct vop_advlock_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		void *a_id;
    +		int a_op;
    +		struct flock *a_fl;
    +		int a_flags;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, advlock);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_node *pn = VPTOPP(vp);
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int error;
    +
    +	if (!EXISTSOP(pmp, ADVLOCK))
    +		return lf_advlock(ap, &pn->pn_lockf, vp->v_size); 
    +	
    +	PUFFS_MSG_ALLOC(vn, advlock);
    +	(void)memcpy(&advlock_msg->pvnr_fl, ap->a_fl, 
    +		     sizeof(advlock_msg->pvnr_fl));
    +	advlock_msg->pvnr_id = ap->a_id;
    +	advlock_msg->pvnr_op = ap->a_op;
    +	advlock_msg->pvnr_flags = ap->a_flags;
    +	puffs_msg_setinfo(park_advlock, PUFFSOP_VN,
    +	    PUFFS_VN_ADVLOCK, VPTOPNC(vp));
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_advlock, vp->v_data, NULL, error);
    +	error = checkerr(pmp, error, __func__);
    +	PUFFS_MSG_RELEASE(advlock);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_abortop(void *v)
    +{
    +	struct vop_abortop_args /* {
    +		struct vnode *a_dvp;
    +		struct componentname *a_cnp;
    +	}; */ *ap = v;
    +	PUFFS_MSG_VARS(vn, abortop);
    +	struct vnode *dvp = ap->a_dvp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(dvp->v_mount);
    +	struct componentname *cnp = ap->a_cnp;
    +
    +	if (EXISTSOP(pmp, ABORTOP)) {
    +		PUFFS_MSG_ALLOC(vn, abortop);
    +		puffs_makecn(&abortop_msg->pvnr_cn, &abortop_msg->pvnr_cn_cred,
    +		    cnp, PUFFS_USE_FULLPNBUF(pmp));
    +		puffs_msg_setfaf(park_abortop);
    +		puffs_msg_setinfo(park_abortop, PUFFSOP_VN,
    +		    PUFFS_VN_ABORTOP, VPTOPNC(dvp));
    +
    +		puffs_msg_enqueue(pmp, park_abortop);
    +		PUFFS_MSG_RELEASE(abortop);
    +	}
    +
    +	return genfs_abortop(v);
    +}
    +
    +#define BIOASYNC(bp) (bp->b_flags & B_ASYNC)
    +
    +/*
    + * This maps itself to PUFFS_VN_READ/WRITE for data transfer.
    + */
    +int
    +puffs_vnop_strategy(void *v)
    +{
    +	struct vop_strategy_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct buf *a_bp;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, rw);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	struct puffs_node *pn;
    +	struct buf *bp;
    +	size_t argsize;
    +	size_t tomove, moved;
    +	int error, dofaf, cansleep, dobiodone;
    +
    +	pmp = MPTOPUFFSMP(vp->v_mount);
    +	bp = ap->a_bp;
    +	error = 0;
    +	dofaf = 0;
    +	cansleep = 0;
    +	pn = VPTOPP(vp);
    +	park_rw = NULL; /* explicit */
    +	dobiodone = 1;
    +
    +	if ((BUF_ISREAD(bp) && !EXISTSOP(pmp, READ))
    +	    || (BUF_ISWRITE(bp) && !EXISTSOP(pmp, WRITE)))
    +		ERROUT(EOPNOTSUPP);
    +
    +	/*
    +	 * Short-circuit optimization: don't flush buffer in between
    +	 * VOP_INACTIVE and VOP_RECLAIM in case the node has no references.
    +	 */
    +	if (pn->pn_stat & PNODE_DYING) {
    +		KASSERT(BUF_ISWRITE(bp));
    +		bp->b_resid = 0;
    +		goto out;
    +	}
    +
    +#ifdef DIAGNOSTIC
    +	if (bp->b_bcount > pmp->pmp_msg_maxsize - PUFFS_MSGSTRUCT_MAX)
    +		panic("puffs_strategy: wildly inappropriate buf bcount %d",
    +		    bp->b_bcount);
    +#endif
    +
    +	/*
    +	 * See explanation for the necessity of a FAF in puffs_fsync.
    +	 *
    +	 * Also, do FAF in case we're suspending.
    +	 * See puffs_vfsops.c:pageflush()
    +	 */
    +	if (BUF_ISWRITE(bp)) {
    +		mutex_enter(vp->v_interlock);
    +		if (vp->v_iflag & VI_XLOCK)
    +			dofaf = 1;
    +		if (pn->pn_stat & PNODE_FAF)
    +			dofaf = 1;
    +		mutex_exit(vp->v_interlock);
    +	}
    +
    +	cansleep = (curlwp == uvm.pagedaemon_lwp || dofaf) ? 0 : 1;
    +
    +	KASSERT(curlwp != uvm.pagedaemon_lwp || dofaf || BIOASYNC(bp));
    +
    +	/* allocate transport structure */
    +	tomove = PUFFS_TOMOVE(bp->b_bcount, pmp);
    +	argsize = sizeof(struct puffs_vnmsg_rw);
    +	error = puffs_msgmem_alloc(argsize + tomove, &park_rw,
    +	    (void *)&rw_msg, cansleep);
    +	if (error)
    +		goto out;
    +	RWARGS(rw_msg, 0, tomove, bp->b_blkno << DEV_BSHIFT, FSCRED);
    +
    +	/* 2x2 cases: read/write, faf/nofaf */
    +	if (BUF_ISREAD(bp)) {
    +		puffs_msg_setinfo(park_rw, PUFFSOP_VN,
    +		    PUFFS_VN_READ, VPTOPNC(vp));
    +		puffs_msg_setdelta(park_rw, tomove);
    +		if (BIOASYNC(bp)) {
    +			puffs_msg_setcall(park_rw,
    +			    puffs_parkdone_asyncbioread, bp);
    +			puffs_msg_enqueue(pmp, park_rw);
    +			dobiodone = 0;
    +		} else {
    +			PUFFS_MSG_ENQUEUEWAIT2(pmp, park_rw, vp->v_data,
    +			    NULL, error);
    +			error = checkerr(pmp, error, __func__);
    +			if (error)
    +				goto out;
    +
    +			if (rw_msg->pvnr_resid > tomove) {
    +				puffs_senderr(pmp, PUFFS_ERR_READ,
    +				    E2BIG, "resid grew", VPTOPNC(vp));
    +				ERROUT(EPROTO);
    +			}
    +
    +			moved = tomove - rw_msg->pvnr_resid;
    +
    +			(void)memcpy(bp->b_data, rw_msg->pvnr_data, moved);
    +			bp->b_resid = bp->b_bcount - moved;
    +		}
    +	} else {
    +		puffs_msg_setinfo(park_rw, PUFFSOP_VN,
    +		    PUFFS_VN_WRITE, VPTOPNC(vp));
    +		/*
    +		 * make pages read-only before we write them if we want
    +		 * write caching info
    +		 */
    +		if (PUFFS_WCACHEINFO(pmp)) {
    +			struct uvm_object *uobj = &vp->v_uobj;
    +			int npages = (bp->b_bcount + PAGE_SIZE-1) >> PAGE_SHIFT;
    +			struct vm_page *vmp;
    +			int i;
    +
    +			for (i = 0; i < npages; i++) {
    +				vmp= uvm_pageratop((vaddr_t)bp->b_data
    +				    + (i << PAGE_SHIFT));
    +				DPRINTF(("puffs_strategy: write-protecting "
    +				    "vp %p page %p, offset %" PRId64"\n",
    +				    vp, vmp, vmp->offset));
    +				mutex_enter(uobj->vmobjlock);
    +				vmp->flags |= PG_RDONLY;
    +				pmap_page_protect(vmp, VM_PROT_READ);
    +				mutex_exit(uobj->vmobjlock);
    +			}
    +		}
    +
    +		(void)memcpy(&rw_msg->pvnr_data, bp->b_data, tomove);
    +		if (dofaf) {
    +			puffs_msg_setfaf(park_rw);
    +		} else if (BIOASYNC(bp)) {
    +			puffs_msg_setcall(park_rw,
    +			    puffs_parkdone_asyncbiowrite, bp);
    +			dobiodone = 0;
    +		}
    +
    +		PUFFS_MSG_ENQUEUEWAIT2(pmp, park_rw, vp->v_data, NULL, error);
    +
    +		if (dobiodone == 0)
    +			goto out;
    +
    +		/*
    +		 * XXXXXXXX: wrong, but kernel can't survive strategy
    +		 * failure currently.  Here, have one more X: X.
    +		 */
    +		if (error != ENOMEM)
    +			error = 0;
    +
    +		error = checkerr(pmp, error, __func__);
    +		if (error)
    +			goto out;
    +
    +		if (rw_msg->pvnr_resid > tomove) {
    +			puffs_senderr(pmp, PUFFS_ERR_WRITE,
    +			    E2BIG, "resid grew", VPTOPNC(vp));
    +			ERROUT(EPROTO);
    +		}
    +
    +		/*
    +		 * FAF moved everything.  Frankly, we don't
    +		 * really have a choice.
    +		 */
    +		if (dofaf && error == 0)
    +			moved = tomove;
    +		else 
    +			moved = tomove - rw_msg->pvnr_resid;
    +
    +		bp->b_resid = bp->b_bcount - moved;
    +		if (bp->b_resid != 0) {
    +			ERROUT(EIO);
    +		}
    +	}
    +
    + out:
    +	if (park_rw)
    +		puffs_msgmem_release(park_rw);
    +
    +	if (error)
    +		bp->b_error = error;
    +
    +	if (error || dobiodone)
    +		biodone(bp);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_mmap(void *v)
    +{
    +	struct vop_mmap_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		vm_prot_t a_prot;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	PUFFS_MSG_VARS(vn, mmap);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int error;
    +
    +	if (!PUFFS_USE_PAGECACHE(pmp))
    +		return genfs_eopnotsupp(v);
    +
    +	if (EXISTSOP(pmp, MMAP)) {
    +		PUFFS_MSG_ALLOC(vn, mmap);
    +		mmap_msg->pvnr_prot = ap->a_prot;
    +		puffs_credcvt(&mmap_msg->pvnr_cred, ap->a_cred);
    +		puffs_msg_setinfo(park_mmap, PUFFSOP_VN,
    +		    PUFFS_VN_MMAP, VPTOPNC(vp));
    +
    +		PUFFS_MSG_ENQUEUEWAIT2(pmp, park_mmap, vp->v_data, NULL, error);
    +		error = checkerr(pmp, error, __func__);
    +		PUFFS_MSG_RELEASE(mmap);
    +	} else {
    +		error = genfs_mmap(v);
    +	}
    +
    +	return error;
    +}
    +
    +
    +/*
    + * The rest don't get a free trip to userspace and back, they
    + * have to stay within the kernel.
    + */
    +
    +/*
    + * bmap doesn't really make any sense for puffs, so just 1:1 map it.
    + * well, maybe somehow, somewhere, some day ....
    + */
    +int
    +puffs_vnop_bmap(void *v)
    +{
    +	struct vop_bmap_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		daddr_t a_bn;
    +		struct vnode **a_vpp;
    +		daddr_t *a_bnp;
    +		int *a_runp;
    +	} */ *ap = v;
    +	struct puffs_mount *pmp;
    +
    +	pmp = MPTOPUFFSMP(ap->a_vp->v_mount);
    +
    +	if (ap->a_vpp)
    +		*ap->a_vpp = ap->a_vp;
    +	if (ap->a_bnp)
    +		*ap->a_bnp = ap->a_bn;
    +	if (ap->a_runp)
    +		*ap->a_runp
    +		    = (PUFFS_TOMOVE(pmp->pmp_msg_maxsize, pmp)>>DEV_BSHIFT) - 1;
    +
    +	return 0;
    +}
    +
    +/*
    + * Handle getpages faults in puffs.  We let genfs_getpages() do most
    + * of the dirty work, but we come in this route to do accounting tasks.
    + * If the user server has specified functions for cache notifications
    + * about reads and/or writes, we record which type of operation we got,
    + * for which page range, and proceed to issue a FAF notification to the
    + * server about it.
    + */
    +int
    +puffs_vnop_getpages(void *v)
    +{
    +	struct vop_getpages_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		voff_t a_offset;
    +		struct vm_page **a_m;
    +		int *a_count;
    +		int a_centeridx;
    +		vm_prot_t a_access_type;
    +		int a_advice;
    +		int a_flags;
    +	} */ *ap = v;
    +	struct puffs_mount *pmp;
    +	struct puffs_node *pn;
    +	struct vnode *vp;
    +	struct vm_page **pgs;
    +	struct puffs_cacheinfo *pcinfo = NULL;
    +	struct puffs_cacherun *pcrun;
    +	void *parkmem = NULL;
    +	size_t runsizes;
    +	int i, npages, si, streakon;
    +	int error, locked, write;
    +
    +	pmp = MPTOPUFFSMP(ap->a_vp->v_mount);
    +	npages = *ap->a_count;
    +	pgs = ap->a_m;
    +	vp = ap->a_vp;
    +	pn = vp->v_data;
    +	locked = (ap->a_flags & PGO_LOCKED) != 0;
    +	write = (ap->a_access_type & VM_PROT_WRITE) != 0;
    +
    +	/* ccg xnaht - gets Wuninitialized wrong */
    +	pcrun = NULL;
    +	runsizes = 0;
    +
    +	/*
    +	 * Check that we aren't trying to fault in pages which our file
    +	 * server doesn't know about.  This happens if we extend a file by
    +	 * skipping some pages and later try to fault in pages which
    +	 * are between pn_serversize and vp_size.  This check optimizes
    +	 * away the common case where a file is being extended.
    +	 */
    +	if (ap->a_offset >= pn->pn_serversize && ap->a_offset < vp->v_size) {
    +		struct vattr va;
    +
    +		/* try again later when we can block */
    +		if (locked)
    +			ERROUT(EBUSY);
    +
    +		mutex_exit(vp->v_interlock);
    +		vattr_null(&va);
    +		va.va_size = vp->v_size;
    +		error = dosetattr(vp, &va, FSCRED, 0);
    +		if (error)
    +			ERROUT(error);
    +		mutex_enter(vp->v_interlock);
    +	}
    +
    +	if (write && PUFFS_WCACHEINFO(pmp)) {
    +#ifdef notnowjohn
    +		/* allocate worst-case memory */
    +		runsizes = ((npages / 2) + 1) * sizeof(struct puffs_cacherun);
    +		KASSERT(curlwp != uvm.pagedaemon_lwp || locked);
    +		pcinfo = kmem_zalloc(sizeof(struct puffs_cacheinfo) + runsize,
    +		    locked ? KM_NOSLEEP : KM_SLEEP);
    +
    +		/*
    +		 * can't block if we're locked and can't mess up caching
    +		 * information for fs server.  so come back later, please
    +		 */
    +		if (pcinfo == NULL)
    +			ERROUT(ENOMEM);
    +
    +		parkmem = puffs_park_alloc(locked == 0);
    +		if (parkmem == NULL)
    +			ERROUT(ENOMEM);
    +
    +		pcrun = pcinfo->pcache_runs;
    +#else
    +		(void)parkmem;
    +#endif
    +	}
    +
    +	error = genfs_getpages(v);
    +	if (error)
    +		goto out;
    +
    +	if (PUFFS_WCACHEINFO(pmp) == 0)
    +		goto out;
    +
    +	/*
    +	 * Let's see whose fault it was and inform the user server of
    +	 * possibly read/written pages.  Map pages from read faults
    +	 * strictly read-only, since otherwise we might miss info on
    +	 * when the page is actually write-faulted to.
    +	 */
    +	if (!locked)
    +		mutex_enter(vp->v_uobj.vmobjlock);
    +	for (i = 0, si = 0, streakon = 0; i < npages; i++) {
    +		if (pgs[i] == NULL || pgs[i] == PGO_DONTCARE) {
    +			if (streakon && write) {
    +				streakon = 0;
    +				pcrun[si].pcache_runend
    +				    = trunc_page(pgs[i]->offset) + PAGE_MASK;
    +				si++;
    +			}
    +			continue;
    +		}
    +		if (streakon == 0 && write) {
    +			streakon = 1;
    +			pcrun[si].pcache_runstart = pgs[i]->offset;
    +		}
    +			
    +		if (!write)
    +			pgs[i]->flags |= PG_RDONLY;
    +	}
    +	/* was the last page part of our streak? */
    +	if (streakon) {
    +		pcrun[si].pcache_runend
    +		    = trunc_page(pgs[i-1]->offset) + PAGE_MASK;
    +		si++;
    +	}
    +	if (!locked)
    +		mutex_exit(vp->v_uobj.vmobjlock);
    +
    +	KASSERT(si <= (npages / 2) + 1);
    +
    +#ifdef notnowjohn
    +	/* send results to userspace */
    +	if (write)
    +		puffs_cacheop(pmp, parkmem, pcinfo,
    +		    sizeof(struct puffs_cacheinfo) + runsizes, VPTOPNC(vp));
    +#endif
    +
    + out:
    +	if (error) {
    +		if (pcinfo != NULL)
    +			kmem_free(pcinfo,
    +			    sizeof(struct puffs_cacheinfo) + runsizes);
    +#ifdef notnowjohn
    +		if (parkmem != NULL)
    +			puffs_park_release(parkmem, 1);
    +#endif
    +	}
    +
    +	return error;
    +}
    +
    +/*
    + * Extended attribute support.
    + */
    +
    +int
    +puffs_vnop_getextattr(void *v)
    +{
    +	struct vop_getextattr_args /* 
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		const char *a_name;
    +		struct uio *a_uio;
    +		size_t *a_size;
    +		kauth_cred_t a_cred;
    +	}; */ *ap = v;
    +	PUFFS_MSG_VARS(vn, getextattr);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int attrnamespace = ap->a_attrnamespace;
    +	const char *name = ap->a_name;
    +	struct uio *uio = ap->a_uio;
    +	size_t *sizep = ap->a_size;
    +	size_t tomove, resid;
    +	int error;
    +
    +	if (uio)
    +		resid = uio->uio_resid;
    +	else
    +		resid = 0;
    +
    +	tomove = PUFFS_TOMOVE(resid, pmp);
    +	if (tomove != resid) {
    +		error = E2BIG;
    +		goto out;
    +	}
    +
    +	puffs_msgmem_alloc(sizeof(struct puffs_vnmsg_getextattr) + tomove,
    +	    &park_getextattr, (void *)&getextattr_msg, 1);
    +
    +	getextattr_msg->pvnr_attrnamespace = attrnamespace;
    +	strlcpy(getextattr_msg->pvnr_attrname, name,
    +	    sizeof(getextattr_msg->pvnr_attrname));
    +	puffs_credcvt(&getextattr_msg->pvnr_cred, ap->a_cred);
    +	if (sizep)
    +		getextattr_msg->pvnr_datasize = 1;
    +	getextattr_msg->pvnr_resid = tomove;
    +
    +	puffs_msg_setinfo(park_getextattr,
    +	    PUFFSOP_VN, PUFFS_VN_GETEXTATTR, VPTOPNC(vp));
    +	puffs_msg_setdelta(park_getextattr, tomove);
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_getextattr, vp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	resid = getextattr_msg->pvnr_resid;
    +	if (resid > tomove) {
    +		puffs_senderr(pmp, PUFFS_ERR_GETEXTATTR, E2BIG,
    +		    "resid grew", VPTOPNC(vp));
    +		error = EPROTO;
    +		goto out;
    +	}
    +
    +	if (sizep)
    +		*sizep = getextattr_msg->pvnr_datasize;
    +	if (uio)
    +		error = uiomove(getextattr_msg->pvnr_data, tomove - resid, uio);
    +
    + out:
    +	PUFFS_MSG_RELEASE(getextattr);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_setextattr(void *v)
    +{
    +	struct vop_setextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		const char *a_name;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +	}; */ *ap = v;
    +	PUFFS_MSG_VARS(vn, setextattr);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int attrnamespace = ap->a_attrnamespace;
    +	const char *name = ap->a_name;
    +	struct uio *uio = ap->a_uio;
    +	size_t tomove, resid;
    +	int error;
    +
    +	if (uio)
    +		resid = uio->uio_resid;
    +	else
    +		resid = 0;
    +
    +	tomove = PUFFS_TOMOVE(resid, pmp);
    +	if (tomove != resid) {
    +		error = E2BIG;
    +		goto out;
    +	}
    +
    +	puffs_msgmem_alloc(sizeof(struct puffs_vnmsg_setextattr) + tomove,
    +	    &park_setextattr, (void *)&setextattr_msg, 1);
    +
    +	setextattr_msg->pvnr_attrnamespace = attrnamespace;
    +	strlcpy(setextattr_msg->pvnr_attrname, name,
    +	    sizeof(setextattr_msg->pvnr_attrname));
    +	puffs_credcvt(&setextattr_msg->pvnr_cred, ap->a_cred);
    +	setextattr_msg->pvnr_resid = tomove;
    +
    +	if (uio) {
    +		error = uiomove(setextattr_msg->pvnr_data, tomove, uio);
    +		if (error)
    +			goto out;
    +	}
    +
    +	puffs_msg_setinfo(park_setextattr,
    +	    PUFFSOP_VN, PUFFS_VN_SETEXTATTR, VPTOPNC(vp));
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_setextattr, vp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	if (setextattr_msg->pvnr_resid != 0)
    +		error = EIO;
    +
    + out:
    +	PUFFS_MSG_RELEASE(setextattr);
    +
    +	return error;
    +}
    +
    +int
    +puffs_vnop_listextattr(void *v)
    +{
    +	struct vop_listextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		struct uio *a_uio;
    +		size_t *a_size;
    +		int a_flag,
    +		kauth_cred_t a_cred;
    +	}; */ *ap = v;
    +	PUFFS_MSG_VARS(vn, listextattr);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int attrnamespace = ap->a_attrnamespace;
    +	struct uio *uio = ap->a_uio;
    +	size_t *sizep = ap->a_size;
    +	int flag = ap->a_flag;
    +	size_t tomove, resid;
    +	int error;
    +
    +	if (uio)
    +		resid = uio->uio_resid;
    +	else
    +		resid = 0;
    +
    +	tomove = PUFFS_TOMOVE(resid, pmp);
    +	if (tomove != resid) {
    +		error = E2BIG;
    +		goto out;
    +	}
    +
    +	puffs_msgmem_alloc(sizeof(struct puffs_vnmsg_listextattr) + tomove,
    +	    &park_listextattr, (void *)&listextattr_msg, 1);
    +
    +	listextattr_msg->pvnr_attrnamespace = attrnamespace;
    +	listextattr_msg->pvnr_flag = flag;
    +	puffs_credcvt(&listextattr_msg->pvnr_cred, ap->a_cred);
    +	listextattr_msg->pvnr_resid = tomove;
    +	if (sizep)
    +		listextattr_msg->pvnr_datasize = 1;
    +
    +	puffs_msg_setinfo(park_listextattr,
    +	    PUFFSOP_VN, PUFFS_VN_LISTEXTATTR, VPTOPNC(vp));
    +	puffs_msg_setdelta(park_listextattr, tomove);
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_listextattr, vp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +	if (error)
    +		goto out;
    +
    +	resid = listextattr_msg->pvnr_resid;
    +	if (resid > tomove) {
    +		puffs_senderr(pmp, PUFFS_ERR_LISTEXTATTR, E2BIG,
    +		    "resid grew", VPTOPNC(vp));
    +		error = EPROTO;
    +		goto out;
    +	}
    +
    +	if (sizep)
    +		*sizep = listextattr_msg->pvnr_datasize;
    +	if (uio)
    +		error = uiomove(listextattr_msg->pvnr_data, tomove-resid, uio);
    +
    + out:
    +	PUFFS_MSG_RELEASE(listextattr);
    +	return error;
    +}
    +
    +int
    +puffs_vnop_deleteextattr(void *v)
    +{
    +	struct vop_deleteextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		const char *a_name;
    +		kauth_cred_t a_cred;
    +	}; */ *ap = v;
    +	PUFFS_MSG_VARS(vn, deleteextattr);
    +	struct vnode *vp = ap->a_vp;
    +	struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    +	int attrnamespace = ap->a_attrnamespace;
    +	const char *name = ap->a_name;
    +	int error;
    +
    +	PUFFS_MSG_ALLOC(vn, deleteextattr);
    +	deleteextattr_msg->pvnr_attrnamespace = attrnamespace;
    +	strlcpy(deleteextattr_msg->pvnr_attrname, name,
    +	    sizeof(deleteextattr_msg->pvnr_attrname));
    +	puffs_credcvt(&deleteextattr_msg->pvnr_cred, ap->a_cred);
    +
    +	puffs_msg_setinfo(park_deleteextattr,
    +	    PUFFSOP_VN, PUFFS_VN_DELETEEXTATTR, VPTOPNC(vp));
    +	PUFFS_MSG_ENQUEUEWAIT2(pmp, park_deleteextattr,
    +	    vp->v_data, NULL, error);
    +
    +	error = checkerr(pmp, error, __func__);
    +
    +	PUFFS_MSG_RELEASE(deleteextattr);
    +	return error;
    +}
    +
    +/*
    + * spec & fifo.  These call the miscfs spec and fifo vectors, but issue
    + * FAF update information for the puffs node first.
    + */
    +int
    +puffs_vnop_spec_read(void *v)
    +{
    +	struct vop_read_args /* { 
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +
    +	puffs_updatenode(VPTOPP(ap->a_vp), PUFFS_UPDATEATIME, 0);
    +	return VOCALL(spec_vnodeop_p, VOFFSET(vop_read), v);
    +}
    +
    +int
    +puffs_vnop_spec_write(void *v)
    +{
    +	struct vop_write_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +
    +	puffs_updatenode(VPTOPP(ap->a_vp), PUFFS_UPDATEMTIME, 0);
    +	return VOCALL(spec_vnodeop_p, VOFFSET(vop_write), v);
    +}
    +
    +int
    +puffs_vnop_fifo_read(void *v)
    +{
    +	struct vop_read_args /* { 
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +
    +	puffs_updatenode(VPTOPP(ap->a_vp), PUFFS_UPDATEATIME, 0);
    +	return VOCALL(fifo_vnodeop_p, VOFFSET(vop_read), v);
    +}
    +
    +int
    +puffs_vnop_fifo_write(void *v)
    +{
    +	struct vop_write_args /* {
    +		const struct vnodeop_desc *a_desc;
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +
    +	puffs_updatenode(VPTOPP(ap->a_vp), PUFFS_UPDATEMTIME, 0);
    +	return VOCALL(fifo_vnodeop_p, VOFFSET(vop_write), v);
    +}
    diff --git a/sys/fs/unicode.h b/sys/fs/unicode.h
    new file mode 100644
    index 000000000..a18fd082c
    --- /dev/null
    +++ b/sys/fs/unicode.h
    @@ -0,0 +1,161 @@
    +/* $NetBSD: unicode.h,v 1.6 2008/04/28 20:24:02 martin Exp $ */
    +
    +/*-
    + * Copyright (c) 2001, 2004 The NetBSD Foundation, 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:
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +
    +/*-
    + * Copyright (c) 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Paul Borman at Krystal Technologies.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by the University of
    + *	California, Berkeley and its contributors.
    + * 4. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +
    +/*
    + * Routines for handling Unicode encoded in UTF-8 form, code derived from
    + * src/lib/libc/locale/utf2.c.
    + */
    +static u_int16_t wget_utf8(const char **, size_t *) __unused;
    +static int wput_utf8(char *, size_t, u_int16_t) __unused;
    +
    +/*
    + * Read one UTF8-encoded character off the string, shift the string pointer
    + * and return the character.
    + */
    +static u_int16_t
    +wget_utf8(const char **str, size_t *sz)
    +{
    +	int c;
    +	u_int16_t rune = 0;
    +	const char *s = *str;
    +	static const int _utf_count[16] = {
    +		1, 1, 1, 1, 1, 1, 1, 1,
    +		0, 0, 0, 0, 2, 2, 3, 0,
    +	};
    +
    +	/* must be called with at least one byte remaining */
    +	KASSERT(*sz > 0);
    +
    +	c = _utf_count[(s[0] & 0xf0) >> 4];
    +	if (c == 0 || c > *sz) {
    +    decoding_error:
    +		/*
    +		 * The first character is in range 128-255 and doesn't
    +		 * mark valid a valid UTF-8 sequence. There is not much
    +		 * we can do with this, so handle by returning
    +		 * the first character as if it would be a correctly
    +		 * encoded ISO-8859-1 character.
    +		 */
    +		c = 1;
    +	}
    +
    +	switch (c) {
    +	case 1:
    +		rune = s[0] & 0xff;
    +		break;
    +	case 2:
    +		if ((s[1] & 0xc0) != 0x80)
    +			goto decoding_error;
    +		rune = ((s[0] & 0x1F) << 6) | (s[1] & 0x3F);
    +		break;
    +	case 3:
    +		if ((s[1] & 0xC0) != 0x80 || (s[2] & 0xC0) != 0x80)
    +			goto decoding_error;
    +		rune = ((s[0] & 0x0F) << 12) | ((s[1] & 0x3F) << 6)
    +		    | (s[2] & 0x3F);
    +		break;
    +	}
    +
    +	*str += c;
    +	*sz -= c;
    +	return rune;
    +}
    +
    +/*
    + * Encode wide character and write it to the string. 'n' specifies
    + * how much buffer space remains in 's'. Returns number of bytes written
    + * to the target string 's'.
    + */
    +static int
    +wput_utf8(char *s, size_t n, u_int16_t wc)
    +{
    +	if (wc & 0xf800) {
    +		if (n < 3) {
    +			/* bound check failure */
    +			return 0;
    +		}
    +
    +		s[0] = 0xE0 | (wc >> 12);
    +		s[1] = 0x80 | ((wc >> 6) & 0x3F);
    +		s[2] = 0x80 | ((wc) & 0x3F);
    +		return 3;
    +	} else if (wc & 0x0780) {
    +		if (n < 2) {
    +			/* bound check failure */
    +			return 0;
    +		}
    +
    +		s[0] = 0xC0 | (wc >> 6);
    +		s[1] = 0x80 | ((wc) & 0x3F);
    +		return 2;
    +	} else {
    +		if (n < 1) {
    +			/* bound check failure */
    +			return 0;
    +		}
    +
    +		s[0] = wc;
    +		return 1;
    +	}
    +}
    diff --git a/sys/lib/libkern/libkern.h b/sys/lib/libkern/libkern.h
    index e6fc8b886..6fc00ea8a 100644
    --- a/sys/lib/libkern/libkern.h
    +++ b/sys/lib/libkern/libkern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: libkern.h,v 1.104 2011/11/28 08:05:06 tls Exp $	*/
    +/*	$NetBSD: libkern.h,v 1.108 2013/08/28 16:20:38 riastradh Exp $	*/
     
     /*-
      * Copyright (c) 1992, 1993
    @@ -190,6 +190,8 @@ tolower(int ch)
     #endif
     
     #define	CTASSERT(x)		__CTASSERT(x)
    +#define	CTASSERT_SIGNED(x)	__CTASSERT(((typeof(x))-1) < 0)
    +#define	CTASSERT_UNSIGNED(x)	__CTASSERT(((typeof(x))-1) >= 0)
     
     #ifndef DIAGNOSTIC
     #define _DIAGASSERT(a)	(void)0
    @@ -343,4 +345,7 @@ unsigned int	popcountl(unsigned long) __constfunc;
     unsigned int	popcountll(unsigned long long) __constfunc;
     unsigned int	popcount32(uint32_t) __constfunc;
     unsigned int	popcount64(uint64_t) __constfunc;
    +
    +void	*explicit_memset(void *, int, size_t);
    +int	consttime_memequal(const void *, const void *, size_t);
     #endif /* !_LIB_LIBKERN_LIBKERN_H_ */
    diff --git a/sys/lib/libsa/xlat_mbr_fstype.c b/sys/lib/libkern/xlat_mbr_fstype.c
    similarity index 92%
    rename from sys/lib/libsa/xlat_mbr_fstype.c
    rename to sys/lib/libkern/xlat_mbr_fstype.c
    index 847ec867c..8e3f07871 100644
    --- a/sys/lib/libsa/xlat_mbr_fstype.c
    +++ b/sys/lib/libkern/xlat_mbr_fstype.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: xlat_mbr_fstype.c,v 1.8 2012/01/16 18:47:57 christos Exp $	*/
    +/*	$NetBSD: xlat_mbr_fstype.c,v 1.9 2013/03/02 22:04:06 christos Exp $	*/
     
     /*-
      * Copyright (c) 2003 The NetBSD Foundation, Inc.
    @@ -30,7 +30,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0,"$NetBSD: xlat_mbr_fstype.c,v 1.8 2012/01/16 18:47:57 christos Exp $");
    +__KERNEL_RCSID(0,"$NetBSD: xlat_mbr_fstype.c,v 1.9 2013/03/02 22:04:06 christos Exp $");
     
     
     #include 
    @@ -56,6 +56,7 @@ xlat_mbr_fstype(int mbr_type)
     		{ MBR_PTYPE_NETBSD,	FS_BSDFFS },
     		{ MBR_PTYPE_NTFS,	FS_NTFS },
     		{ MBR_PTYPE_MINIX_14B,	FS_MINIXFS3 },
    +		{ MBR_PTYPE_OPENBSD,	FS_BSDFFS },
     		{ 0,			FS_OTHER }
     	};
     	const struct ptn_types *pt;
    diff --git a/sys/lib/libsa/Makefile b/sys/lib/libsa/Makefile
    index f3f36c840..e721c9b02 100644
    --- a/sys/lib/libsa/Makefile
    +++ b/sys/lib/libsa/Makefile
    @@ -1,8 +1,7 @@
    -#	$NetBSD: Makefile,v 1.78 2012/08/10 16:05:27 joerg Exp $
    +#	$NetBSD: Makefile,v 1.79 2013/08/21 08:30:50 matt Exp $
     
     LIB=	sa
    -NOPIC=	# defined
    -NOPROFILE=# defined
    +LIBISPRIVATE?= yes
     
     SA_USE_CREAD?= no		# Read compressed kernels
     SA_INCLUDE_NET?= yes		# Netboot via TFTP, NFS
    @@ -37,10 +36,9 @@ SRCS+=	exec.c
     .if ${MACHINE_ARCH} != "i386" && ${MACHINE_ARCH} != "x86_64"
     SRCS+=	memcmp.c memcpy.c memmove.c memset.c strchr.c
     .endif
    -
    -.ifndef __MINIX
    +.if !defined(__MINIX)
     SRCS+=	bcopy.c bzero.c	# Remove me eventually.
    -.endif
    +.endif # !defined(__MINIX)
     
     # io routines
     SRCS+=	closeall.c dev.c disklabel.c dkcksum.c ioctl.c nullfs.c stat.c fstat.c
    @@ -54,7 +52,7 @@ SRCS+= ls.c
     .endif
     
     .if (${SA_USE_LOADFILE} == "yes")
    -.ifndef __MINIX
    +.if !defined(__MINIX)
     SRCS+=	loadfile.c loadfile_ecoff.c loadfile_elf32.c lookup_elf32.c \
     	loadfile_elf64.c lookup_elf64.c
     .if (${MACHINE_CPU} != "mips")
    @@ -62,7 +60,7 @@ SRCS+=	loadfile_aout.c
     .endif
     .else
     SRCS+=	loadfile.c loadfile_elf32.c loadfile_elf64.c
    -.endif
    +.endif # !defined(__MINIX)
     .endif
     
     .if (${SA_INCLUDE_NET} == "yes")
    @@ -90,16 +88,13 @@ SRCS+=	ufs.c
     .if defined(__MINIX)
     # NetBSD has it in libkern, MINIX lacks it
     SRCS+=	xlat_mbr_fstype.c
    +.PATH.c: ${NETBSDSRCDIR}/sys/lib/libkern
     
     # NetBSD has it in libkern, MINIX has it in libc but not libminc...
     SRCS+=	md5c.c
    -.PATH.c: ${.PARSEDIR}/../../../common/lib/libc/md
    -.endif
    +.PATH.c: ${NETBSDSRCDIR}/common/lib/libc/md
    +.endif # defined(__MINIX)
     
    -# only needed during build
    -libinstall::
    -
    -.undef DESTDIR
     .include 
     
     lib${LIB}.o:: ${OBJS}
    diff --git a/sys/lib/libsa/Makefile.inc b/sys/lib/libsa/Makefile.inc
    index de37c63d1..b0ea54909 100644
    --- a/sys/lib/libsa/Makefile.inc
    +++ b/sys/lib/libsa/Makefile.inc
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile.inc,v 1.20 2011/05/26 12:56:31 joerg Exp $
    +#	$NetBSD: Makefile.inc,v 1.21 2012/12/12 15:12:11 matt Exp $
     #
     #	Configuration variables (default values are below):
     #
    @@ -37,7 +37,7 @@ SAMISCCPPFLAGS+=-I${ZLIBSRCDIR}
     SAMAKE= \
     	cd ${SADST} && ${MAKE} -f ${SADIR:Q}/Makefile \
     	    SADIR=${SADIR:Q} \
    -	    CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
    +	    CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \
     	    AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
     	    LORDER=${LORDER:Q} \
     	    TSORT=${TSORT:Q} \
    diff --git a/sys/lib/libsa/cread.c b/sys/lib/libsa/cread.c
    index 808690cef..9930bdeb1 100644
    --- a/sys/lib/libsa/cread.c
    +++ b/sys/lib/libsa/cread.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cread.c,v 1.23 2009/03/25 18:41:06 tls Exp $	*/
    +/*	$NetBSD: cread.c,v 1.26 2013/10/13 20:09:02 joerg Exp $	*/
     
     /*
      * Copyright (c) 1996
    @@ -284,6 +284,7 @@ open(const char *fname, int mode)
     errout:
     	if (s != 0)
     		dealloc(s, sizeof(struct sd));
    +	ss[fd] = NULL;
     	oclose(fd);
     	return -1;
     }
    @@ -291,7 +292,6 @@ errout:
     int
     close(int fd)
     {
    -	struct open_file *f;
     	struct sd *s;
     
     #if !defined(LIBSA_NO_FD_CHECKING)
    @@ -300,17 +300,15 @@ close(int fd)
     		return -1;
     	}
     #endif
    -	f = &files[fd];
    -
    -	if ((f->f_flags & F_READ) == 0)
    -		return oclose(fd);
     
     	s = ss[fd];
     
    -	inflateEnd(&(s->stream));
    +	if (s != NULL) {
    +		inflateEnd(&(s->stream));
     
    -	dealloc(s->inbuf, Z_BUFSIZE);
    -	dealloc(s, sizeof(struct sd));
    +		dealloc(s->inbuf, Z_BUFSIZE);
    +		dealloc(s, sizeof(struct sd));
    +	}
     
     	return oclose(fd);
     }
    diff --git a/sys/lib/libsa/dosfs.c b/sys/lib/libsa/dosfs.c
    index 383c5a96c..5b04e9b4f 100644
    --- a/sys/lib/libsa/dosfs.c
    +++ b/sys/lib/libsa/dosfs.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dosfs.c,v 1.18 2011/12/25 06:09:08 tsutsui Exp $	*/
    +/*	$NetBSD: dosfs.c,v 1.19 2013/10/20 17:15:42 christos Exp $	*/
     
     /*
      * Copyright (c) 1996, 1998 Robert Nordier
    @@ -571,7 +571,7 @@ lookup(DOS_FS *fs, u_int clus, const char *name, const struct direntry **dep)
     							for (x = 0, i = 0;
     							     i < 11; i++)
     								x = ((((x & 1) << 7) | (x >> 1)) +
    -								    dir[ent].de.deName[i]) & 0xff;
    +								    msdos_dirchar(&dir[ent].de,i)) & 0xff;
     							ok = chk == x &&
     							    !strcasecmp(name, (const char *)lfn);
     						}
    diff --git a/sys/lib/libsa/ext2fs.c b/sys/lib/libsa/ext2fs.c
    index bb9edfd94..eb74b9f91 100644
    --- a/sys/lib/libsa/ext2fs.c
    +++ b/sys/lib/libsa/ext2fs.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs.c,v 1.13 2012/05/21 21:34:16 dsl Exp $	*/
    +/*	$NetBSD: ext2fs.c,v 1.19 2013/10/20 17:17:30 christos Exp $	*/
     
     /*
      * Copyright (c) 1997 Manuel Bouyer.
    @@ -115,7 +115,7 @@
     #endif
     typedef uint32_t	ino32_t;
     #ifndef FSBTODB
    -#define FSBTODB(fs, indp) fsbtodb(fs, indp)
    +#define FSBTODB(fs, indp) EXT2_FSBTODB(fs, indp)
     #endif
     
     /*
    @@ -240,37 +240,37 @@ block_map(struct open_file *f, indp_t file_block, indp_t *disk_block_p)
     	/*
     	 * Index structure of an inode:
     	 *
    -	 * e2di_blocks[0..NDADDR-1]
    -	 *			hold block numbers for blocks
    -	 *			0..NDADDR-1
    +	 * e2di_blocks[0..EXT2FS_NDADDR-1]
    +	 *		hold block numbers for blocks
    +	 *		0..EXT2FS_NDADDR-1
     	 *
    -	 * e2di_blocks[NDADDR+0]
    -	 *			block NDADDR+0 is the single indirect block
    -	 *			holds block numbers for blocks
    -	 *			NDADDR .. NDADDR + NINDIR(fs)-1
    +	 * e2di_blocks[EXT2FS_NDADDR+0]
    +	 *		block EXT2FS_NDADDR+0 is the single indirect block
    +	 *		holds block numbers for blocks
    +	 *		EXT2FS_NDADDR .. EXT2FS_NDADDR + EXT2_NINDIR(fs)-1
     	 *
    -	 * e2di_blocks[NDADDR+1]
    -	 *			block NDADDR+1 is the double indirect block
    -	 *			holds block numbers for INDEX blocks for blocks
    -	 *			NDADDR + NINDIR(fs) ..
    -	 *			NDADDR + NINDIR(fs) + NINDIR(fs)**2 - 1
    +	 * e2di_blocks[EXT2FS_NDADDR+1]
    +	 *		block EXT2FS_NDADDR+1 is the double indirect block
    +	 *		holds block numbers for INDEX blocks for blocks
    +	 *		EXT2FS_NDADDR + EXT2_NINDIR(fs) ..
    +	 *		EXT2FS_NDADDR + EXT2_NINDIR(fs) + EXT2_NINDIR(fs)**2 - 1
     	 *
    -	 * e2di_blocks[NDADDR+2]
    -	 *			block NDADDR+2 is the triple indirect block
    -	 *			holds block numbers for	double-indirect
    -	 *			blocks for blocks
    -	 *			NDADDR + NINDIR(fs) + NINDIR(fs)**2 ..
    -	 *			NDADDR + NINDIR(fs) + NINDIR(fs)**2
    -	 *				+ NINDIR(fs)**3 - 1
    +	 * e2di_blocks[EXT2FS_NDADDR+2]
    +	 *		block EXT2FS_NDADDR+2 is the triple indirect block
    +	 *		holds block numbers for	double-indirect
    +	 *		blocks for blocks
    +	 *		EXT2FS_NDADDR + EXT2_NINDIR(fs) + EXT2_NINDIR(fs)**2 ..
    +	 *		EXT2FS_NDADDR + EXT2_NINDIR(fs) + EXT2_NINDIR(fs)**2
    +	 *			+ EXT2_NINDIR(fs)**3 - 1
     	 */
     
    -	if (file_block < NDADDR) {
    +	if (file_block < EXT2FS_NDADDR) {
     		/* Direct block. */
     		*disk_block_p = fs2h32(fp->f_di.e2di_blocks[file_block]);
     		return 0;
     	}
     
    -	file_block -= NDADDR;
    +	file_block -= EXT2FS_NDADDR;
     
     	ind_cache = file_block >> LN2_IND_CACHE_SZ;
     	if (ind_cache == fp->f_ind_cache_block) {
    @@ -283,14 +283,15 @@ block_map(struct open_file *f, indp_t file_block, indp_t *disk_block_p)
     		level += fp->f_nishift;
     		if (file_block < (indp_t)1 << level)
     			break;
    -		if (level > NIADDR * fp->f_nishift)
    +		if (level > EXT2FS_NIADDR * fp->f_nishift)
     			/* Block number too high */
     			return EFBIG;
     		file_block -= (indp_t)1 << level;
     	}
     
     	ind_block_num =
    -	    fs2h32(fp->f_di.e2di_blocks[NDADDR + (level / fp->f_nishift - 1)]);
    +	    fs2h32(fp->f_di.e2di_blocks[EXT2FS_NDADDR +
    +	    (level / fp->f_nishift - 1)]);
     
     	for (;;) {
     		level -= fp->f_nishift;
    @@ -340,12 +341,12 @@ buf_read_file(struct open_file *f, char **buf_p, size_t *size_p)
     	struct m_ext2fs *fs = fp->f_fs;
     	long off;
     	indp_t file_block;
    -	indp_t disk_block;
    +	indp_t disk_block = 0;	/* XXX: gcc */
     	size_t block_size;
     	int rc;
     
    -	off = blkoff(fs, fp->f_seekp);
    -	file_block = lblkno(fs, fp->f_seekp);
    +	off = ext2_blkoff(fs, fp->f_seekp);
    +	file_block = ext2_lblkno(fs, fp->f_seekp);
     	block_size = fs->e2fs_bsize;	/* no fragment */
     
     	if (file_block != fp->f_buf_blkno) {
    @@ -569,7 +570,7 @@ ext2fs_open(const char *path, struct open_file *f)
     		 * of divide and remainder and avoinds pulling in the
     		 * 64bit division routine into the boot code.
     		 */
    -		mult = NINDIR(fs);
    +		mult = EXT2_NINDIR(fs);
     #ifdef DEBUG
     		if (!powerof2(mult)) {
     			/* Hummm was't a power of 2 */
    @@ -1003,7 +1004,7 @@ void e2fs_i_bswap(struct ext2fs_dinode *old, struct ext2fs_dinode *new)
     	new->e2di_dacl		=	bswap32(old->e2di_dacl);
     	new->e2di_faddr		=	bswap32(old->e2di_faddr);
     	memcpy(&new->e2di_blocks[0], &old->e2di_blocks[0],
    -	    (NDADDR + NIADDR) * sizeof(uint32_t));
    +	    (EXT2FS_NDADDR + EXT2FS_NIADDR) * sizeof(uint32_t));
     }
     #endif
     
    diff --git a/sys/lib/libsa/lfsv1.c b/sys/lib/libsa/lfsv1.c
    index 9000b1cdc..909273ee6 100644
    --- a/sys/lib/libsa/lfsv1.c
    +++ b/sys/lib/libsa/lfsv1.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: lfsv1.c,v 1.5 2012/05/21 21:34:16 dsl Exp $ */
    +/* $NetBSD: lfsv1.c,v 1.9 2013/06/23 07:28:36 dholland Exp $ */
     
     #define	LIBSA_LFS
     #define	REQUIRED_LFS_VERSION	1
    @@ -13,11 +13,18 @@
     #define	ufs_ls			lfsv1_ls
     #endif
     
    +#define ufs_dinode		ulfs1_dinode
    +
     #define	fs_bsize		lfs_ibsize
     #define	IFILE_Vx		IFILE_V1
     
    +#define	INOPBx(fs) LFS_INOPB(fs)
    +
    +#define UFS_NINDIR		LFS_NINDIR
    +#define ufs_blkoff(a, b)	lfs_blkoff((a), (b))
    +#define ufs_lblkno(a, b)	lfs_lblkno((a), (b))
    +#define dblksize(a, b, c)	lfs_dblksize((a), (b), (c))
     #define	FSBTODB(fs, daddr)	(daddr)		/* LFSv1 uses sectors for addresses */
    -#define	INOPBx(fs) INOPB(fs)
     
     #define	FSMOD			"lfs"
     #define	FSMOD2			"ffs"
    diff --git a/sys/lib/libsa/lfsv2.c b/sys/lib/libsa/lfsv2.c
    index 328a72786..46ef6382e 100644
    --- a/sys/lib/libsa/lfsv2.c
    +++ b/sys/lib/libsa/lfsv2.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: lfsv2.c,v 1.5 2012/05/21 21:34:16 dsl Exp $ */
    +/* $NetBSD: lfsv2.c,v 1.9 2013/06/23 07:28:36 dholland Exp $ */
     
     #define	LIBSA_LFS
     #define	REQUIRED_LFS_VERSION	2
    @@ -13,15 +13,24 @@
     #define	ufs_ls			lfsv2_ls
     #endif
     
    +/* XXX wrong! but for now it won't build with ulfs2_dinode */
    +#define ufs_dinode		ulfs1_dinode
    +
     #define	fs_bsize		lfs_bsize
     #define	IFILE_Vx		IFILE
     
     #ifdef LFS_IFILE_FRAG_ADDRESSING	/* XXX see sys/ufs/lfs/ -- not tested */
    -#define	INOPBx(fs) INOPF(fs)
    +#define	INOPBx(fs) LFS_INOPF(fs)
     #else
    -#define	INOPBx(fs) INOPB(fs)
    +#define	INOPBx(fs) LFS_INOPB(fs)
     #endif
     
    +#define UFS_NINDIR		LFS_NINDIR
    +#define ufs_blkoff(a, b)	lfs_blkoff((a), (b))
    +#define ufs_lblkno(a, b)	lfs_lblkno((a), (b))
    +#define dblksize(a, b, c)	lfs_dblksize((a), (b), (c))
    +#define FSBTODB(a, b)		LFS_FSBTODB((a), (b))
    +
     #define	FSMOD			"lfs"
     #define	FSMOD2			"ffs"
     
    diff --git a/sys/lib/libsa/loadfile_elf32.c b/sys/lib/libsa/loadfile_elf32.c
    index 1418e8f92..9a98d91c3 100644
    --- a/sys/lib/libsa/loadfile_elf32.c
    +++ b/sys/lib/libsa/loadfile_elf32.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: loadfile_elf32.c,v 1.29 2011/02/17 21:15:31 christos Exp $ */
    +/* $NetBSD: loadfile_elf32.c,v 1.30 2013/11/27 17:33:03 jakllsch Exp $ */
     
     /*-
      * Copyright (c) 1997, 2008 The NetBSD Foundation, Inc.
    @@ -273,6 +273,7 @@ ELFNAMEEND(loadfile)(int fd, Elf_Ehdr *elf, u_long *marks, int flags)
     		uint8_t		desc[ELF_NOTE_NETBSD_DESCSZ];
     	} note;
     	char *shstr = NULL;
    +	size_t shstrsz = 0;
     	int boot_load_ctf = 1;
     
     	/* some ports dont use the offset */
    @@ -432,6 +433,7 @@ ELFNAMEEND(loadfile)(int fd, Elf_Ehdr *elf, u_long *marks, int flags)
     				}
     
     				shstr = ALLOC(shp[elf->e_shstrndx].sh_size);
    +				shstrsz = shp[elf->e_shstrndx].sh_size;
     				if (lseek(fd, shp[elf->e_shstrndx].sh_offset,
     				    SEEK_SET) == -1) {
     					WARN(("lseek symbols"));
    @@ -556,7 +558,7 @@ ELFNAMEEND(loadfile)(int fd, Elf_Ehdr *elf, u_long *marks, int flags)
     	}
     	
     	if (shstr) {
    -	    DEALLOC(shstr, shp[elf->e_shstrndx].sh_size);
    +	    DEALLOC(shstr, shstrsz);
     	}
     
     	/*
    diff --git a/sys/lib/libsa/ls.c b/sys/lib/libsa/ls.c
    index 04916d4e5..c14481000 100644
    --- a/sys/lib/libsa/ls.c
    +++ b/sys/lib/libsa/ls.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: ls.c,v 1.3 2011/12/25 06:09:08 tsutsui Exp $ */
    +/* $NetBSD: ls.c,v 1.4 2012/03/02 12:08:44 tsutsui Exp $ */
     
     /*-
      * Copyright (c) 2011
    @@ -93,7 +93,7 @@ ls(const char *path, void (*funcp)(char* arg))
     {
     	int             fd;
     	struct stat     sb;
    -	size_t          size;
    +	size_t          size = -1;
     	const char	*fname = 0;
     	char		*p = NULL;
     	struct open_file *f;
    diff --git a/sys/lib/libsa/minixfs3.c b/sys/lib/libsa/minixfs3.c
    index 144fbe3f1..b184cef8f 100644
    --- a/sys/lib/libsa/minixfs3.c
    +++ b/sys/lib/libsa/minixfs3.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: minixfs3.c,v 1.1 2012/01/16 18:44:13 christos Exp $	*/
    +/*	$NetBSD: minixfs3.c,v 1.6 2013/11/03 00:44:34 christos Exp $	*/
     
     /*-
      * Copyright (c) 2012
    @@ -138,7 +138,7 @@
     
     typedef uint32_t	ino32_t;
     #ifndef FSBTODB
    -#define FSBTODB(fs, indp) fsbtodb(fs, indp)
    +#define FSBTODB(fs, indp) MFS_FSBTODB(fs, indp)
     #endif
     
     /*
    @@ -258,13 +258,13 @@ block_map(struct open_file *f, block_t file_block, block_t *disk_block_p)
     	 * mdi_blocks[NR_DZONES+0]
     	 *			block NDADDR+0 is the single indirect block
     	 *			holds zone numbers for zones
    -	 *			NR_DZONES .. NR_DZONES + NINDIR(fs)-1
    +	 *			NR_DZONES .. NR_DZONES + MFS_NINDIR(fs)-1
     	 *
     	 * mdi_blocks[NR_DZONES+1]
     	 *			block NDADDR+1 is the double indirect block
     	 *			holds zone numbers for INDEX blocks for zones
    -	 *			NR_DZONES + NINDIR(fs) ..
    -	 *			NR_TZONES + NINDIR(fs) + NINDIR(fs)**2 - 1
    +	 *			NR_DZONES + MFS_NINDIR(fs) ..
    +	 *			NR_TZONES + MFS_NINDIR(fs) + MFS_NINDIR(fs)**2 - 1
     	 */
     
     	zone = file_block >> scale;
    @@ -354,12 +354,12 @@ buf_read_file(struct open_file *f, void *v, size_t *size_p)
     	struct mfs_sblock *fs = fp->f_fs;
     	long off;
     	block_t file_block;
    -	block_t disk_block;
    +	block_t disk_block = 0;	/* XXX: gcc */
     	size_t block_size;
     	int rc;
     
    -	off = blkoff(fs, fp->f_seekp);
    -	file_block = lblkno(fs, fp->f_seekp);
    +	off = mfs_blkoff(fs, fp->f_seekp);
    +	file_block = mfs_lblkno(fs, fp->f_seekp);
     	block_size = fs->mfs_block_size;
     
     	if (file_block != fp->f_buf_blkno) {
    @@ -587,7 +587,7 @@ minixfs3_open(const char *path, struct open_file *f)
     		 * of divide and remainder and avoinds pulling in the
     		 * 64bit division routine into the boot code.
     		 */
    -		mult = NINDIR(fs);
    +		mult = MFS_NINDIR(fs);
     #ifdef DEBUG
     		if (!powerof2(mult)) {
     			/* Hummm was't a power of 2 */
    diff --git a/sys/lib/libsa/minixfs3.h b/sys/lib/libsa/minixfs3.h
    index 59f989544..d7436dc81 100644
    --- a/sys/lib/libsa/minixfs3.h
    +++ b/sys/lib/libsa/minixfs3.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: minixfs3.h,v 1.1 2012/01/16 18:44:13 christos Exp $ */
    +/*	$NetBSD: minixfs3.h,v 1.5 2013/06/23 07:28:36 dholland Exp $ */
     
     /*-
      * Copyright (c) 2012
    @@ -33,11 +33,11 @@
     
     FS_DEF(minixfs3);
     
    -#ifndef __minix
    +#if !defined(__minix)
     typedef uint32_t zone_t;
     typedef uint16_t zone1_t;
     typedef uint32_t block_t;
    -#endif
    +#endif /* !defined(__minix) */
     
     #define NR_DZONES	7	/* # direct zone numbers in an inode */
     #define NR_TZONES	10	/* total # zone numbers in an inode */
    @@ -113,13 +113,13 @@ struct mfs_sblock {
     #define ZONE_NUM_SIZE		sizeof(zone_t) /* # bytes in zone  */
     #define INODE_SIZE		sizeof(struct mfs_dinode) /* bytes in dsk ino */
     /* # zones/indir block */
    -#define NINDIR(fs)		((fs)->mfs_block_size/ZONE_NUM_SIZE)
    +#define MFS_NINDIR(fs)		((fs)->mfs_block_size/ZONE_NUM_SIZE)
     
     #define NO_ZONE			((zone_t) 0)	/* absence of a zone number */
     #define NO_BLOCK		((block_t) 0)	/* absence of a block number */
     
     /* Turn file system block numbers into disk block addresses */
    -#define fsbtodb(fs, b)	((b) << (fs)->mfs_fsbtodb)
    +#define MFS_FSBTODB(fs, b)	((b) << (fs)->mfs_fsbtodb)
     
     #define	ino_to_fsba(fs, x)						\
     	(((x) - 1) / (fs)->mfs_inodes_per_block +			\
    @@ -151,9 +151,9 @@ void minixfs3_i_bswap(struct mfs_dinode *, struct mfs_dinode *);
      * quantities by using shifts and masks in place of divisions
      * modulos and multiplications.
      */
    -#define blkoff(fs, loc)		/* calculates (loc % fs->mfs_bsize) */ \
    +#define mfs_blkoff(fs, loc)	/* calculates (loc % fs->mfs_bsize) */ \
     	((loc) & (fs)->mfs_qbmask)
    -#define lblkno(fs, loc)		/* calculates (loc / fs->mfs_bsize) */ \
    +#define mfs_lblkno(fs, loc)	/* calculates (loc / fs->mfs_bsize) */ \
     	((loc) >> (fs)->mfs_bshift)
     
     /* Flag bits for i_mode in the inode. */
    diff --git a/sys/lib/libsa/netif.c b/sys/lib/libsa/netif.c
    index ada313662..f5ad705a5 100644
    --- a/sys/lib/libsa/netif.c
    +++ b/sys/lib/libsa/netif.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: netif.c,v 1.24 2009/01/17 14:00:36 tsutsui Exp $	*/
    +/*	$NetBSD: netif.c,v 1.25 2013/10/20 17:16:57 christos Exp $	*/
     
     /*
      * Copyright (c) 1993 Adam Glass
    @@ -92,7 +92,7 @@ netif_match(struct netif *nif, void *machdep_hint)
     struct netif *
     netif_select(void *machdep_hint)
     {
    -	int d, u, unit_done, s;
    +	int d, u, s;
     	struct netif_driver *drv;
     	struct netif cur_if;
     	static struct netif best_if;
    @@ -113,7 +113,6 @@ netif_select(void *machdep_hint)
     
     		for (u = 0; u < drv->netif_nifs; u++) {
     			cur_if.nif_unit = u;
    -			unit_done = 0;
     
     #ifdef NETIF_DEBUG
     			if (netif_debug)
    diff --git a/sys/lib/libsa/saerrno.h b/sys/lib/libsa/saerrno.h
    index bf305f665..f0a70fb7d 100644
    --- a/sys/lib/libsa/saerrno.h
    +++ b/sys/lib/libsa/saerrno.h
    @@ -33,10 +33,6 @@
     
     #include 
     
    -#ifndef	ELAST
    -#define	ELAST	256	/* XXX temporary hack... need revisiting! */
    -#endif
    -
     extern int errno;
     
     /* special stand error codes */
    diff --git a/sys/lib/libsa/subr_prf.c b/sys/lib/libsa/subr_prf.c
    index e464890c2..6a6c900f5 100644
    --- a/sys/lib/libsa/subr_prf.c
    +++ b/sys/lib/libsa/subr_prf.c
    @@ -71,6 +71,11 @@ const char hexdigits[16] = "0123456789abcdef";
     #ifdef LIBSA_PRINTF_LONGLONG_SUPPORT
     #define LLONG		0x02
     #endif
    +
    +#if defined(__minix)
    +#define HEXCAP		0x100
    +#endif /* defined(__minix) */
    +
     #ifdef LIBSA_PRINTF_WIDTH_SUPPORT
     #define ALT		0x04
     #define SPACE		0x08
    @@ -139,6 +144,10 @@ vprintf(const char *fmt, va_list ap)
     {
     
     	kdoprnt(putchar, fmt, ap);
    +#if defined(__minix) && defined(LIBSA_PRINTF_WIDTH_SUPPORT)
    +	/* BJG: our libminc kputc() relies on a 0 to flush the diag buffer. */
    +	putchar(0);
    +#endif /* defined(__minix) && defined(LIBSA_PRINTF_WIDTH_SUPPORT) */
     }
     
     int
    @@ -177,6 +186,16 @@ kdoprnt(void (*put)(int), const char *fmt, va_list ap)
     reswitch:
     		switch (ch = *fmt++) {
     #ifdef LIBSA_PRINTF_WIDTH_SUPPORT
    +#if defined(__minix)
    +		/* LSC: FIXME: this is a simple hack which ignores the thing for now. */
    +		case '.':
    +			/* eat up digits */
    +			while( ((('1' >= *fmt) && ( *fmt <= '9'))
    +				 || (*fmt == '*')) )
    +				 fmt++;
    +			fmt++;
    +			goto reswitch;
    +#endif /* defined(__minix) */
     		case '#':
     			lflag |= ALT;
     			goto reswitch;
    @@ -275,6 +294,12 @@ reswitch:
     		case 'x':
     			KPRINT(16);
     			break;
    +#if defined(__minix)
    +		case 'X':
    +			lflag |= HEXCAP;
    +			KPRINT(16);
    +			break;
    +#endif /* defined(__minix) */
     		default:
     			if (ch == '\0')
     				return;
    @@ -300,6 +325,14 @@ kprintn(void (*put)(int), UINTMAX_T ul, int base)
     	p = buf;
     	do {
     		*p++ = hexdigits[ul % base];
    +#if defined(__minix)
    +#ifdef LIBSA_PRINTF_WIDTH_SUPPORT
    +		/* LSC: Quick hack to support capital hex printout. */
    +		if ((lflag & HEXCAP) && (*(p-1) >= 'a') && (*(p-1) <= 'z')) {
    +			*(p-1) -= 32;
    +		}
    +#endif
    +#endif /* defined(__minix) */
     	} while (ul /= base);
     #ifdef LIBSA_PRINTF_WIDTH_SUPPORT
     	q = p;
    diff --git a/sys/lib/libsa/ufs.c b/sys/lib/libsa/ufs.c
    index e69b5d60c..ef4661e5b 100644
    --- a/sys/lib/libsa/ufs.c
    +++ b/sys/lib/libsa/ufs.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs.c,v 1.58 2012/05/21 21:34:16 dsl Exp $	*/
    +/*	$NetBSD: ufs.c,v 1.64 2013/10/20 17:17:30 christos Exp $	*/
     
     /*-
      * Copyright (c) 1993
    @@ -136,8 +136,18 @@ struct fs {
     #define indp_t		int32_t
     #endif
     typedef uint32_t	ino32_t;
    +
     #ifndef FSBTODB
    -#define FSBTODB(fs, indp) fsbtodb(fs, indp)
    +#define FSBTODB(fs, indp) FFS_FSBTODB(fs, indp)
    +#endif
    +#ifndef UFS_NINDIR
    +#define UFS_NINDIR FFS_NINDIR
    +#endif
    +#ifndef ufs_blkoff
    +#define ufs_blkoff ffs_blkoff
    +#endif
    +#ifndef ufs_lblkno
    +#define ufs_lblkno ffs_lblkno
     #endif
     
     /*
    @@ -257,7 +267,7 @@ read_inode(ino32_t inumber, struct open_file *f)
     	char *buf;
     	size_t rsize;
     	int rc;
    -	daddr_t inode_sector;
    +	daddr_t inode_sector = 0; /* XXX: gcc */
     #ifdef LIBSA_LFS
     	struct ufs_dinode *dip;
     	int cnt;
    @@ -324,33 +334,33 @@ block_map(struct open_file *f, indp_t file_block, indp_t *disk_block_p)
     	/*
     	 * Index structure of an inode:
     	 *
    -	 * di_db[0..NDADDR-1]	hold block numbers for blocks
    -	 *			0..NDADDR-1
    +	 * di_db[0..UFS_NDADDR-1]	hold block numbers for blocks
    +	 *			0..UFS_NDADDR-1
     	 *
     	 * di_ib[0]		index block 0 is the single indirect block
     	 *			holds block numbers for blocks
    -	 *			NDADDR .. NDADDR + NINDIR(fs)-1
    +	 *			UFS_NDADDR .. UFS_NDADDR + UFS_NINDIR(fs)-1
     	 *
     	 * di_ib[1]		index block 1 is the double indirect block
     	 *			holds block numbers for INDEX blocks for blocks
    -	 *			NDADDR + NINDIR(fs) ..
    -	 *			NDADDR + NINDIR(fs) + NINDIR(fs)**2 - 1
    +	 *			UFS_NDADDR + UFS_NINDIR(fs) ..
    +	 *			UFS_NDADDR + UFS_NINDIR(fs) + UFS_NINDIR(fs)**2 - 1
     	 *
     	 * di_ib[2]		index block 2 is the triple indirect block
     	 *			holds block numbers for double-indirect
     	 *			blocks for blocks
    -	 *			NDADDR + NINDIR(fs) + NINDIR(fs)**2 ..
    -	 *			NDADDR + NINDIR(fs) + NINDIR(fs)**2
    -	 *				+ NINDIR(fs)**3 - 1
    +	 *			UFS_NDADDR + UFS_NINDIR(fs) + UFS_NINDIR(fs)**2 ..
    +	 *			UFS_NDADDR + UFS_NINDIR(fs) + UFS_NINDIR(fs)**2
    +	 *				+ UFS_NINDIR(fs)**3 - 1
     	 */
     
    -	if (file_block < NDADDR) {
    +	if (file_block < UFS_NDADDR) {
     		/* Direct block. */
     		*disk_block_p = fp->f_di.di_db[file_block];
     		return 0;
     	}
     
    -	file_block -= NDADDR;
    +	file_block -= UFS_NDADDR;
     
     	ind_cache = file_block >> LN2_IND_CACHE_SZ;
     	if (ind_cache == fp->f_ind_cache_block) {
    @@ -362,7 +372,7 @@ block_map(struct open_file *f, indp_t file_block, indp_t *disk_block_p)
     		level += fp->f_nishift;
     		if (file_block < (indp_t)1 << level)
     			break;
    -		if (level > NIADDR * fp->f_nishift)
    +		if (level > UFS_NIADDR * fp->f_nishift)
     			/* Block number too high */
     			return EFBIG;
     		file_block -= (indp_t)1 << level;
    @@ -418,19 +428,19 @@ buf_read_file(struct open_file *f, char **buf_p, size_t *size_p)
     	struct fs *fs = fp->f_fs;
     	long off;
     	indp_t file_block;
    -	indp_t disk_block;
     	size_t block_size;
     	int rc;
     
    -	off = blkoff(fs, fp->f_seekp);
    -	file_block = lblkno(fs, fp->f_seekp);
    +	off = ufs_blkoff(fs, fp->f_seekp);
    +	file_block = ufs_lblkno(fs, fp->f_seekp);
     #ifdef LIBSA_LFS
     	block_size = dblksize(fs, &fp->f_di, file_block);
     #else
    -	block_size = sblksize(fs, (int64_t)fp->f_di.di_size, file_block);
    +	block_size = ffs_sblksize(fs, (int64_t)fp->f_di.di_size, file_block);
     #endif
     
     	if (file_block != fp->f_buf_blkno) {
    +		indp_t disk_block = 0; /* XXX: gcc */
     		rc = block_map(f, file_block, &disk_block);
     		if (rc)
     			return rc;
    @@ -625,7 +635,7 @@ ufs_open(const char *path, struct open_file *f)
     		 * of divide and remainder and avoinds pulling in the
     		 * 64bit division routine into the boot code.
     		 */
    -		mult = NINDIR(fs);
    +		mult = UFS_NINDIR(fs);
     #ifdef DEBUG
     		if (mult & (mult - 1)) {
     			/* Hummm was't a power of 2 */
    @@ -641,7 +651,7 @@ ufs_open(const char *path, struct open_file *f)
     
     	/* alloc a block sized buffer used for all fs transfers */
     	fp->f_buf = alloc(fs->fs_bsize);
    -	inumber = ROOTINO;
    +	inumber = UFS_ROOTINO;
     	if ((rc = read_inode(inumber, f)) != 0)
     		goto out;
     
    @@ -740,7 +750,7 @@ ufs_open(const char *path, struct open_file *f)
     			if (*cp != '/')
     				inumber = parent_inumber;
     			else
    -				inumber = (ino32_t)ROOTINO;
    +				inumber = (ino32_t)UFS_ROOTINO;
     
     			if ((rc = read_inode(inumber, f)) != 0)
     				goto out;
    @@ -770,8 +780,8 @@ ufs_open(const char *path, struct open_file *f)
     out:
     	if (rc)
     		ufs_close(f);
    -	else {
    -#ifdef FSMOD
    +	else { //LSC: FIXME: Do we still need fsmod2??
    +#ifdef FSMOD		/* Only defined for lfs */
     		fsmod = FSMOD;
     #endif
     #ifdef FSMOD2
    @@ -900,7 +910,7 @@ ufs_ls(struct open_file *f, const char *pattern,
     		if (rc)
     			goto out;
     		/* some firmware might use block size larger than DEV_BSIZE */
    -		if (buf_size < DIRBLKSIZ)
    +		if (buf_size < UFS_DIRBLKSIZ)
     			goto out;
     
     		dp = (struct direct *)buf;
    diff --git a/sys/lib/libz/Makefile.inc b/sys/lib/libz/Makefile.inc
    index a14181905..974b3966d 100644
    --- a/sys/lib/libz/Makefile.inc
    +++ b/sys/lib/libz/Makefile.inc
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile.inc,v 1.13 2005/12/11 12:24:46 christos Exp $
    +#	$NetBSD: Makefile.inc,v 1.14 2012/12/12 15:12:11 matt Exp $
     #
     #	Configuration variables (default values are below):
     #
    @@ -33,7 +33,7 @@ ZLIB_PROF=	${ZDST}/libz_p.a
     ZMAKE= \
     	cd ${ZDST} && ${MAKE} -f ${ZDIR:Q}/Makefile \
     	    ZDIR=${ZDIR:Q} \
    -	    CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
    +	    CC=${CC:Q} CFLAGS=${CFLAGS:Q} CPUFLAGS= \
     	    AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
     	    LORDER=${LORDER:Q} \
     	    TSORT=${TSORT:Q} \
    diff --git a/sys/net/Makefile b/sys/net/Makefile
    index 6844cbfa1..751f0734c 100644
    --- a/sys/net/Makefile
    +++ b/sys/net/Makefile
    @@ -1,6 +1,6 @@
    -#	$NetBSD: Makefile,v 1.31 2012/09/27 18:28:56 alnsn Exp $
    +#	$NetBSD: Makefile,v 1.32 2012/10/27 22:36:14 alnsn Exp $
     
    -#LSC: radix.h and route.h are used in libsa but not installed
    +#LSC: (MINIX) radix.h and route.h are used in libsa but not installed
     
     INCSDIR= /usr/include/net
     
    @@ -11,8 +11,12 @@ INCS=	ethertypes.h \
     	\
     	
     
    -#SUBDIR=	agr npf
    +.if !defined(__MINIX)
    +SUBDIR=	agr npf
    +.endif # !defined(__MINIX)
     
     .include 
     
    -#.PATH: ${NETBSDSRCDIR}/sys/dist/pf/net
    +.if !defined(__MINIX)
    +.PATH: ${NETBSDSRCDIR}/sys/dist/pf/net
    +.endif # !defined(__MINIX)
    diff --git a/sys/net/if_ether.h b/sys/net/if_ether.h
    index ce146ad3b..a255173ac 100644
    --- a/sys/net/if_ether.h
    +++ b/sys/net/if_ether.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: if_ether.h,v 1.59 2012/09/30 05:08:08 dholland Exp $	*/
    +/*	$NetBSD: if_ether.h,v 1.61 2012/10/31 10:17:34 msaitoh Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1993
    @@ -70,10 +70,10 @@ struct ether_addr {
     	uint8_t ether_addr_octet[ETHER_ADDR_LEN];
     } __packed;
     
    -#ifdef __minix
    +#if defined(__minix)
     #define ea_addr ether_addr_octet
     typedef struct ether_addr ether_addr_t;
    -#endif
    +#endif /* defined(__minix) */
     
     /*
      * Structure of a 10Mb/s Ethernet header.
    @@ -158,7 +158,7 @@ struct ethercom;
     
     typedef int (*ether_cb_t)(struct ethercom *);
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * Structure shared between the ethernet driver modules and
      * the multicast list code.  For example, each ec_softc or il_softc
    @@ -188,12 +188,27 @@ struct ethercom {
     	struct	mowner ec_tx_mowner;		/* mbufs transmitted */
     #endif
     };
    -#endif
    +#endif /* !defined(__minix) */
     
     #define	ETHERCAP_VLAN_MTU	0x00000001	/* VLAN-compatible MTU */
     #define	ETHERCAP_VLAN_HWTAGGING	0x00000002	/* hardware VLAN tag support */
     #define	ETHERCAP_JUMBO_MTU	0x00000004	/* 9000 byte MTU supported */
     
    +#if !defined(__minix)
    +#define	ECCAPBITS		\
    +	"\020"			\
    +	"\1VLAN_MTU"		\
    +	"\2VLAN_HWTAGGING"	\
    +	"\3JUMBO_MTU"
    +
    +/* ioctl() for Ethernet capabilities */
    +struct eccapreq {
    +	char		eccr_name[IFNAMSIZ];	/* if name, e.g. "en0" */
    +	int		eccr_capabilities;	/* supported capabiliites */
    +	int		eccr_capenable;		/* capabilities enabled */
    +};
    +#endif /* !defined(__minix) */
    +
     #ifdef	_KERNEL
     extern const uint8_t etherbroadcastaddr[ETHER_ADDR_LEN];
     extern const uint8_t ethermulticastaddr_slowprotocols[ETHER_ADDR_LEN];
    @@ -205,9 +220,10 @@ int	ether_ioctl(struct ifnet *, u_long, void *);
     int	ether_addmulti(const struct sockaddr *, struct ethercom *);
     int	ether_delmulti(const struct sockaddr *, struct ethercom *);
     int	ether_multiaddr(const struct sockaddr *, uint8_t[], uint8_t[]);
    +void    ether_input(struct ifnet *, struct mbuf *);
     #endif /* _KERNEL */
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * Ethernet multicast address structure.  There is one of these for each
      * multicast address or range of multicast addresses that we are supposed
    @@ -220,7 +236,7 @@ struct ether_multi {
     	u_int	 enm_refcount;		/* no. claims to this addr/range */
     	LIST_ENTRY(ether_multi) enm_list;
     };
    -#endif
    +#endif /* !defined(__minix) */
     
     /*
      * Structure used by macros below to remember position when stepping through
    diff --git a/sys/net/route.h b/sys/net/route.h
    index 92f9e41bd..b63156482 100644
    --- a/sys/net/route.h
    +++ b/sys/net/route.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: route.h,v 1.81 2012/02/18 23:47:48 rmind Exp $	*/
    +/*	$NetBSD: route.h,v 1.82 2013/03/01 18:25:57 joerg Exp $	*/
     
     /*
      * Copyright (c) 1980, 1986, 1993
    @@ -147,7 +147,7 @@ struct ortentry {
     #define RTF_MASK	0x80		/* subnet mask present */
     #define RTF_CLONING	0x100		/* generate new routes on use */
     #define RTF_XRESOLVE	0x200		/* external daemon resolves name */
    -#define RTF_LLINFO	0x400		/* generated by ARP or ESIS */
    +#define RTF_LLINFO	0x400		/* generated by ARP */
     #define RTF_STATIC	0x800		/* manually added */
     #define RTF_BLACKHOLE	0x1000		/* just discard pkts (during updates) */
     #define	RTF_CLONED	0x2000		/* this is a cloned route */
    @@ -282,7 +282,7 @@ struct rt_addrinfo {
     struct route_cb {
     	int	ip_count;
     	int	ip6_count;
    -	int	iso_count;
    +	int	unused1;
     	int	mpls_count;
     	int	any_count;
     };
    diff --git a/sys/netinet/Makefile b/sys/netinet/Makefile
    index b8f61d8c1..26e610888 100644
    --- a/sys/netinet/Makefile
    +++ b/sys/netinet/Makefile
    @@ -1,5 +1,32 @@
    +#	$NetBSD: Makefile,v 1.25 2012/09/15 17:41:59 plunky Exp $
    +
     INCSDIR= /usr/include/netinet
     
    -INCS+= in.h tcp.h in_systm.h ip.h 
    +INCS=	\
    +	in.h \
    +	in_systm.h \
    +	\
    +	ip.h \
    +	tcp.h \
    +	\
    +	
    +
    +.if !defined(__MINIX)
    +# ipfilter headers
    +# XXX shouldn't be here
    +.include 
    +
    +INCS+=	ip_compat.h	# always needed by kdump(1)
    +
    +.if (${MKIPFILTER} != "no")
    +INCS+=	ip_auth.h ip_fil.h ip_frag.h ip_htable.h ip_nat.h \
    +	ip_lookup.h ip_pool.h ip_proxy.h ip_scan.h ip_state.h ip_sync.h \
    +	ipf_rb.h ipl.h
    +.endif
    +.endif # !defined(__MINIX)
     
     .include 
    +
    +.if !defined(__MINIX)
    +.PATH: ${NETBSDSRCDIR}/sys/external/bsd/ipf/netinet
    +.endif # !defined(__MINIX)
    diff --git a/sys/netinet/in.h b/sys/netinet/in.h
    index d606ced4d..43e704dcb 100644
    --- a/sys/netinet/in.h
    +++ b/sys/netinet/in.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: in.h,v 1.87 2012/06/22 14:54:35 christos Exp $	*/
    +/*	$NetBSD: in.h,v 1.89 2013/06/27 19:38:16 christos Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1990, 1993
    @@ -39,6 +39,7 @@
     #ifndef _NETINET_IN_H_
     #define	_NETINET_IN_H_
     
    +#include 
     #include 
     
     #ifndef uint8_t
    @@ -286,6 +287,17 @@ struct ip_opts {
     #endif
     #define	IP_RECVTTL		23   /* bool; receive IP TTL w/dgram */
     #define	IP_MINTTL		24   /* minimum TTL for packet or drop */
    +#define	IP_PKTINFO		25   /* int; send interface and src addr */
    +#define	IP_RECVPKTINFO		26   /* int; send interface and dst addr */
    +
    +/*
    + * Information sent in the control message of a datagram socket for
    + * IP_PKTINFO and IP_RECVPKTINFO.
    + */
    +struct in_pktinfo {
    +	struct in_addr	ipi_addr;	/* src/dst address */
    +	unsigned int ipi_ifindex;	/* interface index */
    +};
     
     /*
      * Defaults and limits for options
    diff --git a/sys/netinet/ip.h b/sys/netinet/ip.h
    index 73d442fdd..d2ebb5680 100644
    --- a/sys/netinet/ip.h
    +++ b/sys/netinet/ip.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ip.h,v 1.32 2011/07/24 18:06:08 christos Exp $	*/
    +/*	$NetBSD: ip.h,v 1.34 2012/11/02 21:07:07 christos Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1993
    @@ -34,6 +34,7 @@
     #ifndef _NETINET_IP_H_
     #define _NETINET_IP_H_
     
    +#include 	/* for n_time */
     /*
      * Definitions for internet protocol version 4.
      * Per RFC 791, September 1981.
    diff --git a/sys/netinet6/Makefile b/sys/netinet6/Makefile
    index 4d5a883d8..8c078cdbb 100644
    --- a/sys/netinet6/Makefile
    +++ b/sys/netinet6/Makefile
    @@ -1,5 +1,11 @@
    +#	$NetBSD: Makefile,v 1.8 2012/01/06 14:17:11 drochner Exp $
    +
     INCSDIR= /usr/include/netinet6
     
    -INCS+= in6.h
    +INCS=	in6.h \
    +	\
    +	\
    +	
    +INCS+=	
     
     .include 
    diff --git a/sys/netinet6/in6.h b/sys/netinet6/in6.h
    index d7fd18c40..644b64c4b 100644
    --- a/sys/netinet6/in6.h
    +++ b/sys/netinet6/in6.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: in6.h,v 1.70 2012/06/22 14:54:35 christos Exp $	*/
    +/*	$NetBSD: in6.h,v 1.75 2013/10/19 15:44:29 christos Exp $	*/
     /*	$KAME: in6.h,v 1.83 2001/03/29 02:55:07 jinmei Exp $	*/
     
     /*
    @@ -64,6 +64,8 @@
     #ifndef _NETINET6_IN6_H_
     #define _NETINET6_IN6_H_
     
    +#include 
    +
     #ifndef __KAME_NETINET_IN_H_INCLUDED_
     #error "do not include netinet6/in6.h directly, include netinet/in.h.  see RFC2553"
     #endif
    @@ -141,9 +143,9 @@ struct in6_addr {
     #define SIN6_LEN
     #endif
     struct sockaddr_in6 {
    -#ifndef __minix
    +#if !defined(__minix)
     	uint8_t		sin6_len;	/* length of this struct(socklen_t)*/
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     	sa_family_t	sin6_family;	/* AF_INET6 (sa_family_t) */
     	in_port_t	sin6_port;	/* Transport layer port */
     	uint32_t	sin6_flowinfo;	/* IP6 flow information */
    @@ -151,7 +153,7 @@ struct sockaddr_in6 {
     	uint32_t	sin6_scope_id;	/* scope zone index */
     };
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * Local definition for masks
      */
    @@ -201,7 +203,7 @@ extern const struct in6_addr in6mask128;
     #define IPV6_ADDR_INT16_MLL	0x02ff
     #endif
     #endif
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     
     /*
      * Definition of some useful macros to handle IP6 addresses
    @@ -367,7 +369,7 @@ extern const struct in6_addr in6addr_linklocal_allrouters;
     	 (a)->ia6_lifetime.ia6t_vltime)
     #endif
     
    -#ifndef __minix 
    +#if !defined(__minix)
     /*
      * Options for use with [gs]etsockopt at the IPV6 level.
      * First word of comment is data type; bool is stored in int.
    @@ -703,7 +705,10 @@ void	in6_delayed_cksum(struct mbuf *);
     int	in6_localaddr(const struct in6_addr *);
     int	in6_addrscope(const struct in6_addr *);
     struct	in6_ifaddr *in6_ifawithifp(struct ifnet *, struct in6_addr *);
    +extern void in6_if_link_up(struct ifnet *);
    +extern void in6_if_link_down(struct ifnet *);
     extern void in6_if_up(struct ifnet *);
    +extern void in6_if_down(struct ifnet *);
     #ifndef __FreeBSD__
     extern int in6_src_sysctl(void *, size_t *, void *, size_t);
     #endif
    @@ -771,6 +776,12 @@ void	in6_sin_2_v4mapsin6(struct sockaddr_in *, struct sockaddr_in6 *);
     void	in6_sin6_2_sin_in_sock(struct sockaddr *);
     void	in6_sin_2_v4mapsin6_in_sock(struct sockaddr **);
     
    +#define INET6_IS_ADDR_LINKLOCAL		1
    +#define INET6_IS_ADDR_MC_LINKLOCAL	2
    +#define INET6_IS_ADDR_SITELOCAL		4
    +void	inet6_getscopeid(struct sockaddr_in6 *, int);
    +void	inet6_putscopeid(struct sockaddr_in6 *, int);
    +
     extern int inet6_option_space(int);
     extern int inet6_option_init(void *, struct cmsghdr **, int);
     extern int inet6_option_append(struct cmsghdr *, const uint8_t *,
    @@ -810,6 +821,6 @@ extern int inet6_rth_segments(const void *);
     extern struct in6_addr *inet6_rth_getaddr(const void *, int);
     __END_DECLS
     #endif /* _NETBSD_SOURCE */
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     
     #endif /* !_NETINET6_IN6_H_ */
    diff --git a/sys/sys/Makefile b/sys/sys/Makefile
    index ad492c864..0ba4aed7d 100644
    --- a/sys/sys/Makefile
    +++ b/sys/sys/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.143 2012/02/19 21:06:57 rmind Exp $
    +#	$NetBSD: Makefile,v 1.144 2013/10/27 08:35:40 mbalmer Exp $
     
     .include 
     
    @@ -20,7 +20,7 @@ INCS=	acct.h agpio.h aio.h ansi.h aout_mids.h ataio.h atomic.h audioio.h \
     	ieee754.h inttypes.h ioccom.h ioctl.h ioctl_compat.h iostat.h ipc.h \
     	joystick.h \
     	kcore.h kcpuset.h kgdb.h kmem.h ksem.h ksyms.h ktrace.h \
    -	localedef.h lock.h lockf.h lwp.h lwpctl.h \
    +	localedef.h lock.h lockf.h lua.h lwp.h lwpctl.h \
     	malloc.h mallocvar.h mbuf.h md4.h md5.h midiio.h \
     	mman.h module.h mount.h mqueue.h msg.h msgbuf.h mtio.h mutex.h \
     	namei.h null.h \
    diff --git a/sys/sys/aout_mids.h b/sys/sys/aout_mids.h
    index 6552e46ad..ef6dacf96 100644
    --- a/sys/sys/aout_mids.h
    +++ b/sys/sys/aout_mids.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: aout_mids.h,v 1.1 2009/08/20 22:07:49 he Exp $ */
    +/* $NetBSD: aout_mids.h,v 1.2 2012/12/27 06:55:49 martin Exp $ */
     
     /*
      * Copyright (c) 2009, The NetBSD Foundation, Inc.
    @@ -60,6 +60,7 @@
     #define	MID_SPARC64	156	/* LP64 sparc */
     #define	MID_X86_64	157	/* AMD x86-64 */
     #define	MID_SH5_32	158	/* ILP32 SH5 */
    +#define	MID_IA64	159	/* Itanium */
     #define	MID_HP200	200	/* hp200 (68010) BSD binary */
     #define	MID_HP300	300	/* hp300 (68020+68881) BSD binary */
     #define	MID_HPUX	0x20C	/* hp200/300 HP-UX binary */
    diff --git a/sys/sys/bitops.h b/sys/sys/bitops.h
    index 6a086300f..b0551eeaa 100644
    --- a/sys/sys/bitops.h
    +++ b/sys/sys/bitops.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bitops.h,v 1.9 2011/07/30 16:35:58 christos Exp $	*/
    +/*	$NetBSD: bitops.h,v 1.11 2012/12/07 02:27:58 christos Exp $	*/
     
     /*-
      * Copyright (c) 2007, 2010 The NetBSD Foundation, Inc.
    @@ -188,9 +188,7 @@ fls64(uint64_t _n)
      * version written by David Howells.
      */
     #define _ilog2_helper(_n, _x)	((_n) & (1ULL << (_x))) ? _x :
    -#define ilog2(_n) \
    -( \
    -	__builtin_constant_p(_n) ? ( \
    +#define _ilog2_const(_n) ( \
     	_ilog2_helper(_n, 63) \
     	_ilog2_helper(_n, 62) \
     	_ilog2_helper(_n, 61) \
    @@ -255,7 +253,12 @@ fls64(uint64_t _n)
     	_ilog2_helper(_n,  2) \
     	_ilog2_helper(_n,  1) \
     	_ilog2_helper(_n,  0) \
    -	-1) : ((sizeof(_n) > 4 ? fls64(_n) : fls32(_n)) - 1) \
    +	-1)
    +
    +#define ilog2(_n) \
    +( \
    +	__builtin_constant_p(_n) ?  _ilog2_const(_n) : \
    +	((sizeof(_n) > 4 ? fls64(_n) : fls32(_n)) - 1) \
     )
     
     static __inline void
    @@ -291,4 +294,36 @@ fast_remainder32(uint32_t _v, uint32_t _div, uint32_t _m, uint8_t _s1,
     	return _v - _div * fast_divide32(_v, _div, _m, _s1, _s2);
     }
     
    +#define __BITMAP_TYPE(__s, __t, __n) struct __s { \
    +    __t _b[__BITMAP_SIZE(__t, __n)]; \
    +}
    +
    +#define __BITMAP_BITS(__t)		(sizeof(__t) * NBBY)
    +#define __BITMAP_SHIFT(__t)		(ilog2(__BITMAP_BITS(__t)))
    +#define __BITMAP_MASK(__t)		(__BITMAP_BITS(__t) - 1)
    +#define __BITMAP_SIZE(__t, __n) \
    +    (((__n) + (__BITMAP_BITS(__t) - 1)) / __BITMAP_BITS(__t))
    +#define __BITMAP_BIT(__n, __v) \
    +    (1 << ((__n) & __BITMAP_MASK(*(__v)->_b)))
    +#define __BITMAP_WORD(__n, __v) \
    +    ((__n) >> __BITMAP_SHIFT(*(__v)->_b))
    +
    +#define __BITMAP_SET(__n, __v) \
    +    ((__v)->_b[__BITMAP_WORD(__n, __v)] |= __BITMAP_BIT(__n, __v))
    +#define __BITMAP_CLR(__n, __v) \
    +    ((__v)->_b[__BITMAP_WORD(__n, __v)] &= ~__BITMAP_BIT(__n, __v))
    +#define __BITMAP_ISSET(__n, __v) \
    +    ((__v)->_b[__BITMAP_WORD(__n, __v)] & __BITMAP_BIT(__n, __v))
    +
    +#if __GNUC_PREREQ__(2, 95)
    +#define	__BITMAP_ZERO(__v) \
    +    (void)__builtin_memset((__v), 0, sizeof(*__v))
    +#else
    +#define __BITMAP_ZERO(__v) do {						\
    +	size_t __i;							\
    +	for (__i = 0; __i < __arraycount(__v->_b); __i++)		\
    +		(__v)->_b[__i] = 0;					\
    +	} while (/* CONSTCOND */ 0)
    +#endif /* GCC 2.95 */
    +
     #endif /* _SYS_BITOPS_H_ */
    diff --git a/sys/sys/bootblock.h b/sys/sys/bootblock.h
    index 40bb5c8cd..1f8d7d7a8 100644
    --- a/sys/sys/bootblock.h
    +++ b/sys/sys/bootblock.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bootblock.h,v 1.54 2012/07/02 22:42:18 abs Exp $	*/
    +/*	$NetBSD: bootblock.h,v 1.55 2013/04/04 12:53:00 martin Exp $	*/
     
     /*-
      * Copyright (c) 2002-2004 The NetBSD Foundation, Inc.
    @@ -1409,7 +1409,7 @@ struct vax_boot_block {
     	uint8_t		bb_mbone;	/* must be one */
     	uint16_t	bb_lbn_hi;	/* lbn (hi word) of bootstrap */
     	uint16_t	bb_lbn_low;	/* lbn (low word) of bootstrap */
    -	uint8_t		pad1[460];
    +	uint8_t		pad1[406];
     	/* disklabel offset is 64 from base, or 56 from start of pad1 */
     
     	/* The rest of these fields are identification area and describe
    @@ -1432,7 +1432,7 @@ struct vax_boot_block {
     
     	/* The rest is unused.
     	 */
    -	uint8_t		pad2[20];
    +	uint8_t		pad2[74];
     } __packed;
     
     #define	VAX_BOOT_MAGIC1			0x18	/* size of BB info? */
    diff --git a/sys/sys/bus_proto.h b/sys/sys/bus_proto.h
    index eb9d01f8c..d9eb0fc7a 100644
    --- a/sys/sys/bus_proto.h
    +++ b/sys/sys/bus_proto.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bus_proto.h,v 1.6 2011/08/17 10:46:38 martin Exp $	*/
    +/*	$NetBSD: bus_proto.h,v 1.7 2013/02/04 13:18:35 macallan Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 1998, 2001, 2007 The NetBSD Foundation, Inc.
    @@ -319,6 +319,8 @@ bool	bus_space_handle_is_equal(bus_space_tag_t, bus_space_handle_t,
     #define	BUS_DMA_READ		0x100	/* mapping is device -> memory only */
     #define	BUS_DMA_WRITE		0x200	/* mapping is memory -> device only */
     #define	BUS_DMA_NOCACHE		0x400	/* hint: map non-cached memory */
    +#define	BUS_DMA_PREFETCHABLE	0x800	/* hint: map non-cached but allow 
    +					 * things like write combining */
     
     /* Operations performed by bus_dmamap_sync(). */
     #define	BUS_DMASYNC_PREREAD	0x01	/* pre-read synchronization */
    diff --git a/sys/sys/cdefs.h b/sys/sys/cdefs.h
    index da138af2f..da751530b 100644
    --- a/sys/sys/cdefs.h
    +++ b/sys/sys/cdefs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cdefs.h,v 1.100 2012/08/24 05:47:51 dholland Exp $	*/
    +/*	$NetBSD: cdefs.h,v 1.116 2013/10/25 14:54:25 apb Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993
    @@ -148,8 +148,8 @@
     #else
     #define	__CTASSERT(x)		__CTASSERT0(x, __ctassert, __LINE__)
     #endif
    -#define	__CTASSERT0(x, y, z)	__CTASSERT1(x, y, z)
    -#define	__CTASSERT1(x, y, z)	typedef char y ## z[/*CONSTCOND*/(x) ? 1 : -1]
    +#define	__CTASSERT0(x, y, z)	__CTASSERT1(x, y, z) 
    +#define	__CTASSERT1(x, y, z)	typedef char y ## z[/*CONSTCOND*/(x) ? 1 : -1] __unused
     
     /*
      * The following macro is used to remove const cast-away warnings
    @@ -250,18 +250,45 @@
     #define	__noclone	/* nothing */
     #endif
     
    +/*
    + * __unused: Note that item or function might be unused.
    + */
     #if __GNUC_PREREQ__(2, 7)
     #define	__unused	__attribute__((__unused__))
     #else
     #define	__unused	/* delete */
     #endif
     
    +/*
    + * __used: Note that item is needed, even if it appears to be unused.
    + */
     #if __GNUC_PREREQ__(3, 1)
     #define	__used		__attribute__((__used__))
     #else
     #define	__used		__unused
     #endif
     
    +/*
    + * __diagused: Note that item is used in diagnostic code, but may be
    + * unused in non-diagnostic code.
    + */
    +#if (defined(_KERNEL) && defined(DIAGNOSTIC)) \
    + || (!defined(_KERNEL) && !defined(NDEBUG))
    +#define	__diagused	/* empty */
    +#else
    +#define	__diagused	__unused
    +#endif
    +
    +/*
    + * __debugused: Note that item is used in debug code, but may be
    + * unused in non-debug code.
    + */
    +#if defined(DEBUG)
    +#define	__debugused	/* empty */
    +#else
    +#define	__debugused	__unused
    +#endif
    +
     #if __GNUC_PREREQ__(3, 1)
     #define	__noprofile	__attribute__((__no_instrument_function__))
     #else
    @@ -279,7 +306,7 @@
     #endif
     
     /* LSC: Clang/llvm also defines GNUC_PREREQ, but it actually does not
    - *      Support those pragma. Make sure it is not used then.*/
    + *      Support those pragma. Make sure it is not used then. (MINIX) */
     #if __GNUC_PREREQ__(4, 0) && !defined(__clang__)
     #  define __dso_public	__attribute__((__visibility__("default")))
     #  define __dso_hidden	__attribute__((__visibility__("hidden")))
    @@ -297,6 +324,11 @@
     #  define __BEGIN_HIDDEN_DECLS	__BEGIN_EXTERN_C
     #  define __END_HIDDEN_DECLS	__END_EXTERN_C
     #endif
    +#if __GNUC_PREREQ__(4, 2)
    +#  define __dso_protected	__attribute__((__visibility__("protected")))
    +#else
    +#  define __dso_protected
    +#endif
     
     #define	__BEGIN_DECLS		__BEGIN_PUBLIC_DECLS
     #define	__END_DECLS		__END_PUBLIC_DECLS
    @@ -470,7 +502,7 @@
      *
      *	__link_set_decl(set, ptype)
      *		Provide an extern declaration of the set `set', which
    - *		contains an array of the pointer type `ptype'.  This
    + *		contains an array of pointers to type `ptype'.  This
      *		macro must be used by any code which wishes to reference
      *		the elements of a link set.
      *
    @@ -499,12 +531,22 @@
     
     #define	__link_set_entry(set, idx)	(__link_set_start(set)[idx])
     
    +/*
    + * Return the natural alignment in bytes for the given type
    + */
    +#if __GNUC_PREREQ__(4, 1)
    +#define	__alignof(__t)  __alignof__(__t)
    +#else
    +#define __alignof(__t) (sizeof(struct { char __x; __t __y; }) - sizeof(__t))
    +#endif
    +
     /*
      * Return the number of elements in a statically-allocated array,
      * __x.
      */
     #define	__arraycount(__x)	(sizeof(__x) / sizeof(__x[0]))
     
    +#ifndef __ASSEMBLER__
     /* __BIT(n): nth bit, where __BIT(0) == 0x1. */
     #define	__BIT(__n)	\
         (((uintmax_t)(__n) >= NBBY * sizeof(uintmax_t)) ? 0 : ((uintmax_t)1 << (uintmax_t)(__n)))
    @@ -512,6 +554,7 @@
     /* __BITS(m, n): bits m through n, m < n. */
     #define	__BITS(__m, __n)	\
     	((__BIT(MAX((__m), (__n)) + 1) - 1) ^ (__BIT(MIN((__m), (__n))) - 1))
    +#endif /* !__ASSEMBLER__ */
     
     /* find least significant bit that is set */
     #define	__LOWEST_SET_BIT(__mask) ((((__mask) - 1) & (__mask)) ^ (__mask))
    @@ -536,17 +579,21 @@
     #define __CAST(__dt, __st)	((__dt)(__st))
     #endif
     
    +#define __USE(a) ((void)(a))
    +
     #define __type_mask(t) (/*LINTED*/sizeof(t) < sizeof(intmax_t) ? \
         (~((1ULL << (sizeof(t) * NBBY)) - 1)) : 0ULL)
     
     #ifndef __ASSEMBLER__
     static __inline long long __zeroll(void) { return 0; }
    -static __inline int __negative_p(double x) { return x < 0; }
    +static __inline unsigned long long __zeroull(void) { return 0; }
     #else
     #define __zeroll() (0LL)
    -#define __negative_p(x) ((x) < 0)
    +#define __zeroull() (0ULL)
     #endif
     
    +#define __negative_p(x) (!((x) > 0) && ((x) != 0))
    +
     #define __type_min_s(t) ((t)((1ULL << (sizeof(t) * NBBY - 1))))
     #define __type_max_s(t) ((t)~((1ULL << (sizeof(t) * NBBY - 1))))
     #define __type_min_u(t) ((t)0ULL)
    @@ -556,12 +603,13 @@ static __inline int __negative_p(double x) { return x < 0; }
     #define __type_max(t) (__type_is_signed(t) ? __type_max_s(t) : __type_max_u(t))
     
     
    -#define __type_fit_u(t, a) (/*LINTED*/sizeof(t) < sizeof(intmax_t) ? \
    -    (((a) & __type_mask(t)) == 0) : !__negative_p(a))
    +#define __type_fit_u(t, a) (/*LINTED*/!__negative_p(a) && \
    +    (uintmax_t)((a) + __zeroull()) <= (uintmax_t)__type_max_u(t))
     
     #define __type_fit_s(t, a) (/*LINTED*/__negative_p(a) ? \
         ((intmax_t)((a) + __zeroll()) >= (intmax_t)__type_min_s(t)) : \
    -    ((intmax_t)((a) + __zeroll()) <= (intmax_t)__type_max_s(t)))
    +    ((intmax_t)((a) + __zeroll()) >= (intmax_t)0 && \
    +     (intmax_t)((a) + __zeroll()) <= (intmax_t)__type_max_s(t)))
     
     /*
      * return true if value 'a' fits in type 't'
    diff --git a/sys/sys/cdefs_elf.h b/sys/sys/cdefs_elf.h
    index 46e8a2532..d0fdb8e83 100644
    --- a/sys/sys/cdefs_elf.h
    +++ b/sys/sys/cdefs_elf.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cdefs_elf.h,v 1.40 2012/03/04 16:14:48 tron Exp $	*/
    +/*	$NetBSD: cdefs_elf.h,v 1.43 2013/02/07 18:53:34 gdt Exp $	*/
     
     /*
      * Copyright (c) 1995, 1996 Carnegie-Mellon University.
    @@ -134,10 +134,10 @@
     #ifndef __lint__
     #define	__link_set_make_entry(set, sym)					\
     	static void const * const __link_set_##set##_sym_##sym		\
    -	    __section("link_set_" #set) __used = &sym
    +	    __section("link_set_" #set) __used = (const void *)&sym
     #define	__link_set_make_entry2(set, sym, n)				\
     	static void const * const __link_set_##set##_sym_##sym##_##n	\
    -	    __section("link_set_" #set) __used = &sym[n]
    +	    __section("link_set_" #set) __used = (const void *)&sym[n]
     #else
     #define	__link_set_make_entry(set, sym)					\
     	extern void const * const __link_set_##set##_sym_##sym
    @@ -156,7 +156,7 @@
     
     #define	__link_set_decl(set, ptype)					\
     	extern ptype * const __start_link_set_##set[] __dso_hidden;	\
    -	extern ptype * const __stop_link_set_##set[] __dso_hidden	\
    +	extern ptype * const __stop_link_set_##set[] __dso_hidden
     
     #define	__link_set_start(set)	(__start_link_set_##set)
     #define	__link_set_end(set)	(__stop_link_set_##set)
    diff --git a/sys/sys/conf.h b/sys/sys/conf.h
    index e0dd2777f..5ef64e480 100644
    --- a/sys/sys/conf.h
    +++ b/sys/sys/conf.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: conf.h,v 1.143 2012/07/29 18:05:48 mlelstv Exp $	*/
    +/*	$NetBSD: conf.h,v 1.144 2012/10/27 17:18:40 chs Exp $	*/
     
     /*-
      * Copyright (c) 1990, 1993
    @@ -44,6 +44,7 @@
      */
     
     #include 
    +#include 
     
     struct buf;
     struct knote;
    @@ -264,8 +265,7 @@ void mm_init(void);
     #endif /* _KERNEL */
     
     #ifdef _KERNEL
    -struct	device;
    -void	setroot(struct device *, int);
    +void	setroot(device_t, int);
     void	rootconf(void);
     void	swapconf(void);
     #endif /* _KERNEL */
    diff --git a/sys/sys/cprng.h b/sys/sys/cprng.h
    index 5b9c1fe99..d81afd6b6 100644
    --- a/sys/sys/cprng.h
    +++ b/sys/sys/cprng.h
    @@ -1,11 +1,11 @@
    -/*	$NetBSD: cprng.h,v 1.5 2012/04/17 02:50:39 tls Exp $ */
    +/*	$NetBSD: cprng.h,v 1.8 2013/07/01 15:22:00 riastradh Exp $ */
     
     /*-
    - * Copyright (c) 2011 The NetBSD Foundation, Inc.
    + * Copyright (c) 2011-2013 The NetBSD Foundation, Inc.
      * All rights reserved.
      *
      * This code is derived from software contributed to The NetBSD Foundation
    - * by Thor Lancelot Simon.
    + * by Thor Lancelot Simon and Taylor R. Campbell.
      *
      * Redistribution and use in source and binary forms, with or without
      * modification, are permitted provided that the following conditions
    @@ -28,16 +28,19 @@
      * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
      * POSSIBILITY OF SUCH DAMAGE.
      */
    +
    +/*
    + * XXX Don't change this to _SYS_CPRNG_H or anything -- code outside
    + * this file relies on its name...  (I'm looking at you, ipf!)
    + */
     #ifndef _CPRNG_H
     #define _CPRNG_H
     
     #include 
    -#include 
    -#include 
    -#include 
    +#include 		/* XXX users bogusly transitively need this */
    +#include 		/* XXX users bogusly transitively need this */
    +
     #include 
    -#include 
    -#include 
     
     /*
      * NIST SP800-90 says 2^19 bytes per request for the CTR_DRBG.
    @@ -77,75 +80,51 @@ uint32_t cprng_fast32(void);
     uint64_t cprng_fast64(void);
     #endif
     
    -typedef struct _cprng_strong {
    -	kmutex_t	mtx;
    -	kcondvar_t	cv;
    -	struct selinfo	selq;
    -	NIST_CTR_DRBG	drbg;
    -	int		flags;
    -	char		name[16];
    -	int		reseed_pending;
    -	int		entropy_serial;
    -	rndsink_t	reseed;
    -} cprng_strong_t;
    +typedef struct cprng_strong cprng_strong_t;
    +
    +void	cprng_init(void);
     
     #define CPRNG_INIT_ANY		0x00000001
     #define CPRNG_REKEY_ANY		0x00000002
     #define CPRNG_USE_CV		0x00000004
    +#define CPRNG_HARD		0x00000008
    +#define CPRNG_FMT	"\177\020\
    +b\0INIT_ANY\0\
    +b\1REKEY_ANY\0\
    +b\2USE_CV\0\
    +b\3HARD\0"
     
    -cprng_strong_t *cprng_strong_create(const char *const, int, int);
    +cprng_strong_t *
    +	cprng_strong_create(const char *, int, int);
    +void	cprng_strong_destroy(cprng_strong_t *);
    +size_t	cprng_strong(cprng_strong_t *, void *, size_t, int);
     
    -size_t cprng_strong(cprng_strong_t *const, void *const, size_t, int);
    +struct knote;			/* XXX temp, for /dev/random */
    +int	cprng_strong_kqfilter(cprng_strong_t *, struct knote *); /* XXX " */
    +int	cprng_strong_poll(cprng_strong_t *, int); /* XXX " */
     
    -void cprng_strong_destroy(cprng_strong_t *);
    -
    -extern cprng_strong_t *	kern_cprng;
    +extern cprng_strong_t	*kern_cprng;
     
     static inline uint32_t
     cprng_strong32(void)
     {
     	uint32_t r;
     	cprng_strong(kern_cprng, &r, sizeof(r), 0);
    -        return r;
    +	return r;
     }
     
     static inline uint64_t
     cprng_strong64(void)
     {
    -        uint64_t r;
    +	uint64_t r;
     	cprng_strong(kern_cprng, &r, sizeof(r), 0);
    -        return r;
    +	return r;
     }
     
    -static inline int
    -cprng_strong_ready(cprng_strong_t *c)
    -{
    -	int ret = 0;
    -	
    -	mutex_enter(&c->mtx);
    -	if (c->drbg.reseed_counter < NIST_CTR_DRBG_RESEED_INTERVAL) {
    -		ret = 1;
    -	}
    -	mutex_exit(&c->mtx);
    -	return ret;
    -}
    -
    -static inline void
    -cprng_strong_deplete(cprng_strong_t *c)
    -{
    -	mutex_enter(&c->mtx);
    -	c->drbg.reseed_counter = NIST_CTR_DRBG_RESEED_INTERVAL + 1;
    -	mutex_exit(&c->mtx);
    -}
    -
    -static inline int
    +static inline unsigned int
     cprng_strong_strength(cprng_strong_t *c)
     {
     	return NIST_BLOCK_KEYLEN_BYTES;
     }
     
    -void cprng_init(void);
    -int cprng_strong_getflags(cprng_strong_t *const);
    -void cprng_strong_setflags(cprng_strong_t *const, int);
    -
    -#endif
    +#endif	/* _CPRNG_H */
    diff --git a/sys/sys/cpu.h b/sys/sys/cpu.h
    index ea3216163..a4f00b4e5 100644
    --- a/sys/sys/cpu.h
    +++ b/sys/sys/cpu.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cpu.h,v 1.36 2012/08/29 17:13:22 drochner Exp $	*/
    +/*	$NetBSD: cpu.h,v 1.39 2013/11/25 03:06:08 christos Exp $	*/
     
     /*-
      * Copyright (c) 2007 YAMAMOTO Takashi,
    @@ -45,10 +45,10 @@ void cpu_idle(void);
     #ifdef CPU_UCODE
     #include 
     #include 
    -
    -/* XXX ifdef COMPAT */
    +#ifdef COMPAT_60
     #include 
     #endif
    +#endif
     
     /*
      * cpu_need_resched() must always be called with the target CPU
    @@ -91,12 +91,10 @@ void	cpu_intr_redistribute(void);
     u_int	cpu_intr_count(struct cpu_info *);
     #endif
     
    -CIRCLEQ_HEAD(cpuqueue, cpu_info);
    -
     #ifdef _KERNEL
     extern kmutex_t cpu_lock;
     extern u_int maxcpus;
    -extern struct cpuqueue cpu_queue;
    +extern struct cpu_info **cpu_infos;
     extern kcpuset_t *kcpuset_attached;
     extern kcpuset_t *kcpuset_running;
     
    @@ -120,11 +118,11 @@ struct cpu_ucode_softc {
     };
     
     int cpu_ucode_get_version(struct cpu_ucode_version *);
    -/* XXX ifdef COMPAT */
    -int compat6_cpu_ucode_get_version(struct compat6_cpu_ucode *);
     int cpu_ucode_apply(const struct cpu_ucode *);
    -/* XXX ifdef COMPAT */
    +#ifdef COMPAT_60
    +int compat6_cpu_ucode_get_version(struct compat6_cpu_ucode *);
     int compat6_cpu_ucode_apply(const struct compat6_cpu_ucode *);
    +#endif
     int cpu_ucode_load(struct cpu_ucode_softc *, const char *);
     int cpu_ucode_md_open(firmware_handle_t *, int, const char *);
     #endif
    diff --git a/sys/sys/cpu_data.h b/sys/sys/cpu_data.h
    index 7d0d8f8b0..ac2522c09 100644
    --- a/sys/sys/cpu_data.h
    +++ b/sys/sys/cpu_data.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cpu_data.h,v 1.35 2012/09/01 00:24:44 matt Exp $	*/
    +/*	$NetBSD: cpu_data.h,v 1.36 2013/11/25 03:02:30 christos Exp $	*/
     
     /*-
      * Copyright (c) 2004, 2006, 2007, 2008 The NetBSD Foundation, Inc.
    @@ -71,7 +71,6 @@ struct cpu_data {
     	kcondvar_t	cpu_xcall;		/* cross-call support */
     	int		cpu_xcall_pending;	/* cross-call support */
     	lwp_t		*cpu_onproc;		/* bottom level LWP */
    -	CIRCLEQ_ENTRY(cpu_info) cpu_qchain;	/* circleq of all CPUs */
     
     	cpuid_t		cpu_package_id;
     	cpuid_t		cpu_core_id;
    diff --git a/sys/sys/cpuio.h b/sys/sys/cpuio.h
    index f67359e7a..5609c241a 100644
    --- a/sys/sys/cpuio.h
    +++ b/sys/sys/cpuio.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cpuio.h,v 1.8 2012/08/29 17:13:22 drochner Exp $	*/
    +/*	$NetBSD: cpuio.h,v 1.9 2013/01/05 16:36:38 dsl Exp $	*/
     
     /*-
      * Copyright (c) 2007, 2009, 2012 The NetBSD Foundation, Inc.
    @@ -69,6 +69,19 @@ struct cpu_ucode_version {
     	void *data;		/* OUT: CPU ID data */
     };
     
    +#define IOC_CPU_UCODE_GET_VERSION	_IOWR('c', 6, struct cpu_ucode_version)
    +
    +#ifdef __i386__
    +/* In order to read the info from an amd64 kernel we need ... */
    +struct cpu_ucode_version_64 {
    +	int loader_version;	/* IN: md version number */
    +	int pad1;
    +	void *data;		/* OUT: CPU ID data */
    +	int must_be_zero;
    +};
    +#define IOC_CPU_UCODE_GET_VERSION_64	_IOWR('c', 6, struct cpu_ucode_version_64)
    +#endif
    +
     struct cpu_ucode {
     	int loader_version;	/* md version number */
     	int cpu_nr;		/* CPU index or special value below */
    @@ -77,7 +90,6 @@ struct cpu_ucode {
     	char fwname[PATH_MAX];
     };
     
    -#define IOC_CPU_UCODE_GET_VERSION	_IOWR('c', 6, struct cpu_ucode_version)
     #define IOC_CPU_UCODE_APPLY		_IOW('c', 7, struct cpu_ucode)
     
     #endif /* !_SYS_CPUIO_H_ */
    diff --git a/sys/sys/ctype_bits.h b/sys/sys/ctype_bits.h
    index 2be1899b0..1d5cd4f3c 100644
    --- a/sys/sys/ctype_bits.h
    +++ b/sys/sys/ctype_bits.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: ctype_bits.h,v 1.2 2010/12/14 02:28:57 joerg Exp $ */
    +/* $NetBSD: ctype_bits.h,v 1.5 2013/04/30 00:42:31 joerg Exp $ */
     
     /*
      * Copyright (c) 1989 The Regents of the University of California.
    @@ -40,17 +40,29 @@
     #ifndef _SYS_CTYPE_BITS_H_
     #define _SYS_CTYPE_BITS_H_
     
    -#define	_CTYPE_U	0x01
    -#define	_CTYPE_L	0x02
    -#define	_CTYPE_N	0x04
    -#define	_CTYPE_S	0x08
    -#define	_CTYPE_P	0x10
    -#define	_CTYPE_C	0x20
    -#define	_CTYPE_X	0x40
    -#define	_CTYPE_B	0x80
    +#define	_CTYPE_A	0x0001	/* Alpha     */
    +#define	_CTYPE_C	0x0002	/* Control   */
    +#define	_CTYPE_D	0x0004	/* Digit     */
    +#define	_CTYPE_G	0x0008	/* Graph     */
    +#define	_CTYPE_L	0x0010	/* Lower     */
    +#define	_CTYPE_P	0x0020	/* Punct     */
    +#define	_CTYPE_S	0x0040	/* Space     */
    +#define	_CTYPE_U	0x0080	/* Upper     */
    +#define	_CTYPE_X	0x0100	/* X digit   */
    +#define	_CTYPE_BL	0x0200	/* Blank     */
    +#define	_CTYPE_R	0x0400	/* Print     */
    +#define	_CTYPE_I	0x0800	/* Ideogram  */
    +#define	_CTYPE_T	0x1000	/* Special   */
    +#define	_CTYPE_Q	0x2000	/* Phonogram */
     
    -extern const unsigned char	*_ctype_;
    +__BEGIN_DECLS
    +extern const unsigned short	*_ctype_tab_;
     extern const short	*_tolower_tab_;
     extern const short	*_toupper_tab_;
     
    +extern const unsigned short _C_ctype_tab_[];
    +extern const short _C_toupper_tab_[];
    +extern const short _C_tolower_tab_[];
    +__END_DECLS
    +
     #endif /* !_SYS_CTYPE_BITS_H_ */
    diff --git a/sys/sys/ctype_inline.h b/sys/sys/ctype_inline.h
    index 105cdcb2c..39bbce4e4 100644
    --- a/sys/sys/ctype_inline.h
    +++ b/sys/sys/ctype_inline.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: ctype_inline.h,v 1.2 2010/12/14 02:28:57 joerg Exp $ */
    +/* $NetBSD: ctype_inline.h,v 1.3 2013/04/13 10:21:21 joerg Exp $ */
     
     /*
      * Copyright (c) 1989 The Regents of the University of California.
    @@ -45,17 +45,17 @@
     
     #include 
     
    -#define	isdigit(c)	((int)((_ctype_ + 1)[(c)] & _CTYPE_N))
    -#define	islower(c)	((int)((_ctype_ + 1)[(c)] & _CTYPE_L))
    -#define	isspace(c)	((int)((_ctype_ + 1)[(c)] & _CTYPE_S))
    -#define	ispunct(c)	((int)((_ctype_ + 1)[(c)] & _CTYPE_P))
    -#define	isupper(c)	((int)((_ctype_ + 1)[(c)] & _CTYPE_U))
    -#define	isalpha(c)	((int)((_ctype_ + 1)[(c)] & (_CTYPE_U|_CTYPE_L)))
    -#define	isxdigit(c)	((int)((_ctype_ + 1)[(c)] & (_CTYPE_N|_CTYPE_X)))
    -#define	isalnum(c)	((int)((_ctype_ + 1)[(c)] & (_CTYPE_U|_CTYPE_L|_CTYPE_N)))
    -#define	isprint(c)	((int)((_ctype_ + 1)[(c)] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N|_CTYPE_B)))
    -#define	isgraph(c)	((int)((_ctype_ + 1)[(c)] & (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_N)))
    -#define	iscntrl(c)	((int)((_ctype_ + 1)[(c)] & _CTYPE_C))
    +#define	isalnum(c)	((int)((_ctype_tab_ + 1)[(c)] & (_CTYPE_A|_CTYPE_D)))
    +#define	isalpha(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_A))
    +#define	iscntrl(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_C))
    +#define	isdigit(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_D))
    +#define	isgraph(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_G))
    +#define	islower(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_L))
    +#define	isprint(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_R))
    +#define	ispunct(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_P))
    +#define	isspace(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_S))
    +#define	isupper(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_U))
    +#define	isxdigit(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_X))
     #define	tolower(c)	((int)((_tolower_tab_ + 1)[(c)]))
     #define	toupper(c)	((int)((_toupper_tab_ + 1)[(c)]))
     
    @@ -68,15 +68,7 @@
     
     #if defined(_ISO_C99_SOURCE) || (_POSIX_C_SOURCE - 0) > 200112L || \
         (_XOPEN_SOURCE - 0) > 600 || defined(_NETBSD_SOURCE)
    -
    -/*
    - * isblank() is implemented as C function, due to insufficient bitwidth in
    - * _ctype_.  Note that _B does not mean isblank - it means isprint && !isgraph.
    - */
    -#if 0
    -#define isblank(c)	((int)((_ctype_ + 1)[(c)] & _B))
    -#endif
    -
    +#define	isblank(c)	((int)((_ctype_tab_ + 1)[(c)] & _CTYPE_BL))
     #endif
     
     #endif /* !_CTYPE_INLINE_H_ */
    diff --git a/sys/sys/device.h b/sys/sys/device.h
    index aa956b2e4..b7ed63dd0 100644
    --- a/sys/sys/device.h
    +++ b/sys/sys/device.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: device.h,v 1.142 2012/07/07 16:15:21 tsutsui Exp $ */
    +/* $NetBSD: device.h,v 1.144 2013/10/12 16:49:01 christos Exp $ */
     
     /*
      * Copyright (c) 1996, 2000 Christopher G. Demetriou
    @@ -321,19 +321,6 @@ struct cfattach {
     };
     LIST_HEAD(cfattachlist, cfattach);
     
    -#define	CFATTACH_DECL(name, ddsize, matfn, attfn, detfn, actfn) \
    -struct cfattach __CONCAT(name,_ca) = {					\
    -	.ca_name		= ___STRING(name),			\
    -	.ca_devsize		= ddsize,				\
    -	.ca_flags		= 0,					\
    -	.ca_match 		= matfn,				\
    -	.ca_attach		= attfn,				\
    -	.ca_detach		= detfn,				\
    -	.ca_activate		= actfn,				\
    -	.ca_rescan		= NULL,					\
    -	.ca_childdetached	= NULL,					\
    -}
    -
     #define	CFATTACH_DECL3_NEW(name, ddsize, matfn, attfn, detfn, actfn, \
     	rescanfn, chdetfn, __flags) \
     struct cfattach __CONCAT(name,_ca) = {					\
    @@ -427,7 +414,7 @@ extern int booted_partition;		/* the partition on that device */
     extern daddr_t booted_startblk;		/* or the start of a wedge */
     extern uint64_t booted_nblks;		/* and the size of that wedge */
     
    -struct vnode *opendisk(struct device *);
    +struct vnode *opendisk(device_t);
     int getdisksize(struct vnode *, uint64_t *, unsigned int *);
     struct dkwedge_info;
     int getdiskinfo(struct vnode *, struct dkwedge_info *);
    @@ -482,8 +469,8 @@ void	config_defer(device_t, void (*)(device_t));
     void	config_deferred(device_t);
     void	config_interrupts(device_t, void (*)(device_t));
     void	config_mountroot(device_t, void (*)(device_t));
    -void	config_pending_incr(void);
    -void	config_pending_decr(void);
    +void	config_pending_incr(device_t);
    +void	config_pending_decr(device_t);
     void	config_create_interruptthreads(void);
     void	config_create_mountrootthreads(void);
     
    diff --git a/sys/sys/dirhash.h b/sys/sys/dirhash.h
    index 9cd6b1786..01c9d9a65 100644
    --- a/sys/sys/dirhash.h
    +++ b/sys/sys/dirhash.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: dirhash.h,v 1.5 2009/09/27 21:50:48 reinoud Exp $ */
    +/* $NetBSD: dirhash.h,v 1.6 2013/07/07 19:31:26 reinoud Exp $ */
     
     /*
      * Copyright (c) 2008 Reinoud Zandijk
    @@ -52,6 +52,7 @@ struct dirhash {
     	uint32_t		 flags;
     	uint32_t		 size;			/* in bytes */
     	uint32_t		 refcnt;
    +	uint32_t		 num_files;
     	LIST_HEAD(, dirhash_entry) entries[DIRHASH_HASHSIZE];
     	LIST_HEAD(, dirhash_entry) free_entries;
     	TAILQ_ENTRY(dirhash) next;
    @@ -79,5 +80,6 @@ int	dirhash_lookup(struct dirhash *, const char *, int,
     	    struct dirhash_entry **);
     int	dirhash_lookup_freed(struct dirhash *, uint32_t,
     	    struct dirhash_entry **);
    +bool	dirhash_dir_isempty(struct dirhash *dirh);
     
     #endif /* _SYS_DIRHASH_H_ */
    diff --git a/sys/sys/disk.h b/sys/sys/disk.h
    index ae997367a..d103e6d03 100644
    --- a/sys/sys/disk.h
    +++ b/sys/sys/disk.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: disk.h,v 1.57 2012/06/10 17:05:18 mlelstv Exp $	*/
    +/*	$NetBSD: disk.h,v 1.59 2013/05/29 15:22:19 martin Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 2004 The NetBSD Foundation, Inc.
    @@ -421,6 +421,7 @@ struct disk {
     	TAILQ_ENTRY(disk) dk_link;	/* link in global disklist */
     	const char	*dk_name;	/* disk name */
     	prop_dictionary_t dk_info;	/* reference to disk-info dictionary */
    +	struct disk_geom dk_geom;	/* cooked version of dk_info */
     	int		dk_bopenmask;	/* block devices open */
     	int		dk_copenmask;	/* character devices open */
     	int		dk_openmask;	/* composite (bopen|copen) */
    @@ -523,6 +524,7 @@ bool	disk_isbusy(struct disk *);
     void	disk_blocksize(struct disk *, int);
     struct disk *disk_find(const char *);
     int	disk_ioctl(struct disk *, u_long, void *, int, struct lwp *);
    +void	disk_set_info(device_t, struct disk *, const char *);
     
     void	dkwedge_init(void);
     int	dkwedge_add(struct dkwedge_info *);
    diff --git a/sys/sys/disklabel.h b/sys/sys/disklabel.h
    index 42e38f73d..f113f7cc4 100644
    --- a/sys/sys/disklabel.h
    +++ b/sys/sys/disklabel.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: disklabel.h,v 1.112 2012/01/16 18:47:58 christos Exp $	*/
    +/*	$NetBSD: disklabel.h,v 1.116 2013/11/05 00:36:02 msaitoh Exp $	*/
     
     /*
      * Copyright (c) 1987, 1988, 1993
    @@ -46,10 +46,11 @@
      * disk geometry, filesystem partitions, and drive specific information.
      * The location of the label, as well as the number of partitions the
      * label can describe and the number of the "whole disk" (raw)
    - * paritition are machine dependent.
    + * partition are machine dependent.
      */
     #if HAVE_NBTOOL_CONFIG_H
    -#include 
    +#undef MAXPARTITIONS
    +#define MAXPARTITIONS		MAXMAXPARTITIONS
     #else
     #include 
     #endif /* HAVE_NBTOOL_CONFIG_H */
    @@ -267,7 +268,7 @@ struct olddisklabel {
     	.set	d_ncylinders,52
     	.set	d_secpercyl,56
     	.set	d_secperunit,60
    -	.set	d_end_,276		/* size of disk label */
    +	.set	d_end_,148+(MAXPARTITIONS*16)
     #endif /* _LOCORE */
     
     /*
    diff --git a/sys/sys/disklabel_gpt.h b/sys/sys/disklabel_gpt.h
    index e3aa8c3de..c2784b388 100644
    --- a/sys/sys/disklabel_gpt.h
    +++ b/sys/sys/disklabel_gpt.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: disklabel_gpt.h,v 1.9 2011/08/16 14:04:26 jakllsch Exp $	*/
    +/*	$NetBSD: disklabel_gpt.h,v 1.12 2013/11/24 08:17:50 jnemeth Exp $	*/
     
     /*
      * Copyright (c) 2002 Marcel Moolenaar
    @@ -88,6 +88,13 @@ struct gpt_ent {
     					/* UEFI won't recognize file system */
     #define	GPT_ENT_ATTR_LEGACY_BIOS_BOOTABLE	(1ULL << 2)
     					/* legacy BIOS boot partition */
    +/* The following three entries are from FreeBSD. */
    +#define GPT_ENT_ATTR_BOOTME			(1ULL << 59)
    +					/* indicates a bootable partition */
    +#define GPT_ENT_ATTR_BOOTONCE			(1ULL << 58)
    +				/* attempt to boot this partition only once */
    +#define GPT_ENT_ATTR_BOOTFAILED			(1ULL << 57)
    +		/* partition that was marked bootonce but failed to boot */
     
     /*
      * Partition types defined by the EFI specification:
    @@ -127,6 +134,8 @@ struct gpt_ent {
     	{0x516e7cb6,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
     #define	GPT_ENT_TYPE_FREEBSD_VINUM	\
     	{0x516e7cb8,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
    +#define GPT_ENT_TYPE_FREEBSD_ZFS	\
    +	{0x516e7cba,0x6ecf,0x11d6,0x8f,0xf8,{0x00,0x02,0x2d,0x09,0x71,0x2b}}
     /*
      * The following are unused but documented here to avoid reuse.
      *
    @@ -143,7 +152,12 @@ struct gpt_ent {
     #define	GPT_ENT_TYPE_MS_LDM_DATA	\
     	{0xaf9b60a0,0x1431,0x4f62,0xbc,0x68,{0x33,0x11,0x71,0x4a,0x69,0xad}}
     
    -#define	GPT_ENT_TYPE_LINUX_DATA		GPT_ENT_TYPE_MS_BASIC_DATA
    +/*
    + * Linux originally used GPT_ENT_TYPE_MS_BASIC_DATA in place of
    + * GPT_ENT_TYPE_LINUX_DATA.
    + */
    +#define	GPT_ENT_TYPE_LINUX_DATA		\
    +	{0x0fc63daf,0x8483,0x4772,0x8e,0x79,{0x3d,0x69,0xd8,0x47,0x7d,0xe4}}
     #define	GPT_ENT_TYPE_LINUX_RAID		\
     	{0xa19d880f,0x05fc,0x4d3b,0xa0,0x06,{0x74,0x3f,0x0f,0x84,0x91,0x1e}}
     #define	GPT_ENT_TYPE_LINUX_SWAP		\
    diff --git a/sys/sys/dkio.h b/sys/sys/dkio.h
    index ca0ae7f41..83467072a 100644
    --- a/sys/sys/dkio.h
    +++ b/sys/sys/dkio.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dkio.h,v 1.17 2011/01/18 19:52:24 matt Exp $	*/
    +/*	$NetBSD: dkio.h,v 1.18 2012/10/19 17:09:07 drochner Exp $	*/
     
     /*
      * Copyright (c) 1987, 1988, 1993
    @@ -109,4 +109,15 @@
     
     #define	DIOCTUR		_IOR('d', 128, int)	/* test unit ready */
     
    +struct disk_discard_params {
    +	long maxsize; /* in DEV_BSIZE units */
    +};
    +#define DIOCGDISCARDPARAMS _IOR('d', 129, struct disk_discard_params)
    +
    +struct disk_discard_range {
    +	daddr_t bno;
    +	long size;
    +};
    +#define DIOCDISCARD	_IOW('d', 130, struct disk_discard_range)
    +
     #endif /* _SYS_DKIO_H_ */
    diff --git a/sys/sys/dtrace_bsd.h b/sys/sys/dtrace_bsd.h
    index a42a71573..2e282dbd7 100644
    --- a/sys/sys/dtrace_bsd.h
    +++ b/sys/sys/dtrace_bsd.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dtrace_bsd.h,v 1.5 2012/01/30 23:31:27 matt Exp $	*/
    +/*	$NetBSD: dtrace_bsd.h,v 1.7 2012/12/02 01:05:16 chs Exp $	*/
     
     /*-
      * Copyright (c) 2007-2008 John Birrell (jb@freebsd.org)
    @@ -55,15 +55,8 @@ struct ucred;
      * Cyclic clock function type definition used to hook the cyclic
      * subsystem into the appropriate timer interrupt.
      */
    -typedef	void (*cyclic_clock_func_t)(struct trapframe *);
    -
    -/*
    - * These external variables are actually machine-dependent, so
    - * they might not actually exist.
    - *
    - * Defining them here avoids a proliferation of header files.
    - */
    -extern cyclic_clock_func_t     lapic_cyclic_clock_func[];
    +typedef	void (*cyclic_clock_func_t)(struct clockframe *);
    +extern cyclic_clock_func_t	cyclic_clock_func[];
     
     /*
      * The dtrace module handles traps that occur during a DTrace probe.
    diff --git a/sys/sys/envsys.h b/sys/sys/envsys.h
    index 7f9fccf7c..dcb4a0f88 100644
    --- a/sys/sys/envsys.h
    +++ b/sys/sys/envsys.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: envsys.h,v 1.32 2012/08/27 21:07:33 pgoyette Exp $ */
    +/* $NetBSD: envsys.h,v 1.33 2012/12/05 04:21:30 riastradh Exp $ */
     
     /*-
      * Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
    @@ -49,7 +49,7 @@
     
     /* sensor units */
     enum envsys_units {
    -	ENVSYS_STEMP		= 0,	/* Temperature */
    +	ENVSYS_STEMP		= 0,	/* Temperature (microkelvins) */
     	ENVSYS_SFANRPM,			/* Fan RPM */
     	ENVSYS_SVOLTS_AC,		/* AC Volts */
     	ENVSYS_SVOLTS_DC,		/* DC Volts */
    diff --git a/sys/sys/errno.h b/sys/sys/errno.h
    index e7ffca759..c4ecb6047 100644
    --- a/sys/sys/errno.h
    +++ b/sys/sys/errno.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: errno.h,v 1.39 2006/10/31 00:38:07 cbiere Exp $	*/
    +/*	$NetBSD: errno.h,v 1.40 2013/01/02 18:51:53 dsl Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -174,7 +174,7 @@
     
     #define	ELAST		(_SIGN 96 )		/* Must equal largest errno */
     
    -#ifdef _KERNEL
    +#if defined(_KERNEL) || defined(_KMEMUSER)
     /* pseudo-errors returned inside kernel to modify return to process */
     #define	EJUSTRETURN	-2		/* don't modify regs, just return */
     #define	ERESTART	-3		/* restart syscall */
    @@ -183,7 +183,7 @@
     #define	EMOVEFD		-6		/* Move given fd */
     #endif
     
    -#ifdef __minix
    +#if defined(__minix)
     /* Now define _SIGN as "" or "-" depending on _SYSTEM. */
     #ifdef _SYSTEM
     #   define _SIGN         -
    @@ -212,6 +212,6 @@
     #define EBADEPT      (_SIGN 216 )  /* specified endpoint is bad */
     #define EBADCPU      (_SIGN 217 )  /* requested CPU does not work */
     
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_SYS_ERRNO_H_ */
    diff --git a/sys/sys/exec.h b/sys/sys/exec.h
    index 332294e18..312e39c08 100644
    --- a/sys/sys/exec.h
    +++ b/sys/sys/exec.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: exec.h,v 1.139 2012/08/05 01:43:59 matt Exp $	*/
    +/*	$NetBSD: exec.h,v 1.142 2013/11/14 12:07:11 martin Exp $	*/
     
     /*-
      * Copyright (c) 1992, 1993
    @@ -216,6 +216,8 @@ struct exec_package {
     	char	*ep_path;		/* absolute path of executable */
     	void	(*ep_emul_arg_free)(void *);
     					/* free ep_emul_arg */
    +	uint32_t ep_osversion;		/* OS version */
    +	char	ep_machine_arch[12];	/* from MARCH note */
     };
     #define	EXEC_INDIR	0x0001		/* script handling already done */
     #define	EXEC_HASFD	0x0002		/* holding a shell script */
    @@ -224,6 +226,7 @@ struct exec_package {
     #define	EXEC_DESTR	0x0010		/* destructive ops performed */
     #define	EXEC_32		0x0020		/* 32-bit binary emulation */
     #define	EXEC_FORCEAUX	0x0040		/* always use ELF AUX vector */
    +#define	EXEC_TOPDOWN_VM	0x0080		/* may use top-down VM layout */
     
     struct exec_vmcmd {
     	int	(*ev_proc)(struct lwp *, struct exec_vmcmd *);
    diff --git a/sys/sys/exec_elf.h b/sys/sys/exec_elf.h
    index 1cc64a4b2..8e758bf8e 100644
    --- a/sys/sys/exec_elf.h
    +++ b/sys/sys/exec_elf.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: exec_elf.h,v 1.126 2012/08/05 01:43:59 matt Exp $	*/
    +/*	$NetBSD: exec_elf.h,v 1.132 2013/11/05 14:26:19 martin Exp $	*/
     
     /*-
      * Copyright (c) 1994 The NetBSD Foundation, Inc.
    @@ -301,6 +301,7 @@ typedef struct {
     #define EM_SEP		108	/* Sharp embedded microprocessor */
     #define EM_ARCA		109	/* Arca RISC microprocessor */
     #define EM_UNICORE	110	/* UNICORE from PKU-Unity Ltd. and MPRC Peking University */
    +#define EM_AARCH64	183	/* AArch64 64-bit ARM microprocessor */
     
     /* Unofficial machine types follow */
     #define EM_AVR32	6317	/* used by NetBSD/avr32 */
    @@ -429,6 +430,13 @@ typedef struct {
     #define SHT_HIOS	     0x6fffffff
     #define SHT_LOPROC	     0x70000000 /* Processor-specific range */
     #define SHT_AMD64_UNWIND     0x70000001 /* unwind information */
    +#define SHT_ARM_EXIDX	     0x70000001	/* exception index table */
    +#define SHT_ARM_PREEMPTMAP   0x70000002 /* BPABI DLL dynamic linking 
    +					 * pre-emption map */
    +#define SHT_ARM_ATTRIBUTES   0x70000003 /* Object file compatibility 
    +					 * attributes */
    +#define SHT_ARM_DEBUGOVERLAY 0x70000004 /* See DBGOVL for details */
    +#define SHT_ARM_OVERLAYSECTION 0x70000005
     #define SHT_HIPROC	     0x7fffffff
     #define SHT_LOUSER	     0x80000000 /* Application-specific range */
     #define SHT_HIUSER	     0xffffffff
    @@ -668,7 +676,12 @@ typedef struct {
     #define DT_FINI_ARRAY	26	/* Size, in bytes, of DT_INIT_ARRAY array */
     #define DT_INIT_ARRAYSZ 27	/* Address of termination function array */
     #define DT_FINI_ARRAYSZ 28	/* Size, in bytes, of DT_FINI_ARRAY array*/
    -#define DT_NUM		29
    +#define DT_RUNPATH	29	/* overrides DT_RPATH */
    +#define DT_FLAGS	30	/* Encodes ORIGIN, SYMBOLIC, TEXTREL, BIND_NOW, STATIC_TLS */
    +#define DT_ENCODING	31	/* ??? */
    +#define DT_PREINIT_ARRAY 32	/* Address of pre-init function array */
    +#define DT_PREINIT_ARRAYSZ 33	/* Size, in bytes, of DT_PREINIT_ARRAY array */
    +#define DT_NUM		34
     
     #define DT_LOOS		0x60000000	/* Operating system specific range */
     #define DT_VERSYM	0x6ffffff0	/* Symbol versions */
    @@ -681,6 +694,13 @@ typedef struct {
     #define DT_LOPROC	0x70000000	/* Processor-specific range */
     #define DT_HIPROC	0x7fffffff
     
    +/* Flag values for DT_FLAGS */
    +#define DF_ORIGIN	0x00000001	/* uses $ORIGIN */
    +#define DF_SYMBOLIC	0x00000002	/* */
    +#define DF_TEXTREL	0x00000004	/* */
    +#define DF_BIND_NOW	0x00000008	/* */
    +#define DF_STATICT_LS	0x00000010	/* */
    +
     /* Flag values for DT_FLAGS_1 (incomplete) */
     #define DF_1_BIND_NOW	0x00000001	/* Same as DF_BIND_NOW */
     #define DF_1_NODELETE	0x00000008	/* Set the RTLD_NODELETE for object */
    @@ -860,6 +880,14 @@ typedef struct {
     /* NetBSD-specific note name */
     #define ELF_NOTE_NETBSD_NAME		"NetBSD\0\0"
     
    +#if defined(__minix)
    +#define ELF_NOTE_TYPE_MINIX_TAG		1
    +/* MINIX3-specific note name and description sizes */
    +#define ELF_NOTE_MINIX_NAMESZ		6
    +#define ELF_NOTE_MINIX_DESCSZ		4
    +#define ELF_NOTE_MINIX_NAME		"Minix\0\0\0"
    +#endif /* defined(__minix) */
    +
     /* NetBSD-specific note type: Checksum. 
      * There should be 1 NOTE per PT_LOAD section.
      * name: ???
    @@ -949,6 +977,35 @@ struct netbsd_elfcore_procinfo {
     	int32_t		cpi_siglwp;	/* LWP target of killing signal */
     };
     
    +/*
    + * NetBSD-specific note type: MACHINE_ARCH.
    + * There should be 1 NOTE per executable.
    + * name:	NetBSD\0
    + * namesz:	7
    + * desc:	string
    + * descsz:	variable
    + */
    +#define ELF_NOTE_TYPE_MARCH_TAG		5
    +/* NetBSD-specific note name and description sizes */
    +#define ELF_NOTE_MARCH_NAMESZ		ELF_NOTE_NETBSD_NAMESZ
    +/* NetBSD-specific note name */
    +#define ELF_NOTE_MARCH_NAME		ELF_NOTE_NETBSD_NAME
    +
    +/*
    + * NetBSD-specific note type: MCMODEL
    + * There should be 1 NOTE per executable.
    + * name:	NetBSD\0
    + * namesz:	7
    + * code model:	string
    + */
    +
    +#define ELF_NOTE_TYPE_MCMODEL_TAG	6
    +/* NetBSD-specific note name and description sizes */
    +#define ELF_NOTE_MCMODEL_NAMESZ		ELF_NOTE_NETBSD_NAMESZ
    +/* NetBSD-specific note name */
    +#define ELF_NOTE_MCMODEL_NAME		ELF_NOTE_NETBSD_NAME
    +
    +
     #if !defined(ELFSIZE) && defined(ARCH_ELFSIZE)
     #define ELFSIZE ARCH_ELFSIZE
     #endif
    diff --git a/sys/sys/fcntl.h b/sys/sys/fcntl.h
    index b81ab3f32..3c96ad224 100644
    --- a/sys/sys/fcntl.h
    +++ b/sys/sys/fcntl.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: fcntl.h,v 1.42 2012/01/25 00:28:35 christos Exp $	*/
    +/*	$NetBSD: fcntl.h,v 1.46 2013/09/15 10:41:20 njoly Exp $	*/
     
     /*-
      * Copyright (c) 1983, 1990, 1993
    @@ -82,7 +82,9 @@
     #define	O_APPEND	0x00000008	/* set append mode */
     #if defined(_NETBSD_SOURCE)
     #define	O_SHLOCK	0x00000010	/* open with shared file lock */
    +#if !defined(__minix) || 1
     #define	O_EXLOCK	0x00000020	/* open with exclusive file lock */
    +#endif /* !defined(__minix) */
     #define	O_ASYNC		0x00000040	/* signal pgrp when data ready */
     #endif
     #if (_POSIX_C_SOURCE - 0) >= 199309L || \
    @@ -114,7 +116,8 @@
     
     #define	O_DIRECTORY	0x00200000	/* fail if not a directory */
     #define	O_CLOEXEC	0x00400000	/* set close on exec */
    -#if defined(_INCOMPLETE_XOPEN_C063) || defined(_KERNEL)
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
    +    defined(_INCOMPLETE_XOPEN_C063) || defined(_NETBSD_SOURCE)
     #define	O_SEARCH	0x00800000	/* skip search permission checks */
     #endif
     #if defined(_NETBSD_SOURCE)
    @@ -289,7 +292,8 @@ struct flock {
     /*
      * Constants for X/Open Extended API set 2 (a.k.a. C063)
      */
    -#if defined(_INCOMPLETE_XOPEN_C063) || defined(_KERNEL) || defined(__minix)
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
    +    defined(_INCOMPLETE_XOPEN_C063) || defined(_NETBSD_SOURCE)
     #define	AT_FDCWD		-100	/* Use cwd for relative link target */
     #define	AT_EACCESS		0x100	/* Use euig/egid for access checks */
     #define	AT_SYMLINK_NOFOLLOW	0x200	/* Do not follow symlinks */
    @@ -313,14 +317,15 @@ int	posix_fadvise(int, off_t, off_t, int);
     /*
      * X/Open Extended API set 2 (a.k.a. C063)
      */
    -#if defined(_INCOMPLETE_XOPEN_C063)
    -int	openat(int, const char *, int oflags, ...);
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0 >= 700) || \
    +    defined(_INCOMPLETE_XOPEN_C063) || defined(_NETBSD_SOURCE)
    +int	openat(int, const char *, int, ...);
     #endif
     __END_DECLS
     #endif /* !_KERNEL */
     
    -#ifdef __minix
    +#if defined(__minix)
     #define F_FREESP       100
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_SYS_FCNTL_H_ */
    diff --git a/sys/sys/fd_set.h b/sys/sys/fd_set.h
    index a20fd515b..892ebb837 100644
    --- a/sys/sys/fd_set.h
    +++ b/sys/sys/fd_set.h
    @@ -56,12 +56,11 @@ typedef	__uint32_t	__fd_mask;
      */
     
     #ifndef	FD_SETSIZE
    -#ifdef __minix
    -#include 
    -#define	FD_SETSIZE	OPEN_MAX
    +#if defined(__minix)
    +#define	FD_SETSIZE	255
     #else
     #define	FD_SETSIZE	256
    -#endif
    +#endif /* defined(__minix) */
     #endif
     
     #define	__NFD_SIZE	(((FD_SETSIZE) + (__NFDBITS - 1)) / __NFDBITS)
    diff --git a/sys/sys/featuretest.h b/sys/sys/featuretest.h
    index 67354d216..9c2cb7047 100644
    --- a/sys/sys/featuretest.h
    +++ b/sys/sys/featuretest.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: featuretest.h,v 1.9 2009/05/04 16:44:14 ginsbach Exp $	*/
    +/*	$NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $	*/
     
     /*
      * Written by Klaus Klein , February 2, 1998.
    @@ -56,6 +56,7 @@
      *
      * _REENTRANT
      * _ISOC99_SOURCE
    + * _ISOC11_SOURCE
      * _LARGEFILE_SOURCE		Large File Support
      *		
      */
    @@ -73,15 +74,12 @@
     #if defined(_MINIX)
     #undef _MINIX
     #define _NETBSD_SOURCE 1
    -#endif
    +#endif /* defined(__minix) */
     
     /* Never define _REENTRANT on Minix */
    -
    -#ifndef __minix
    -
    +#if !defined(__minix)
     #if ((_POSIX_C_SOURCE - 0) >= 199506L || (_XOPEN_SOURCE - 0) >= 500) && \
         !defined(_REENTRANT)
     #define _REENTRANT
    +#endif /* !defined(__minix) */
     #endif
    -
    -#endif /* __minix */
    diff --git a/sys/sys/file.h b/sys/sys/file.h
    index 44de43222..beaef8a73 100644
    --- a/sys/sys/file.h
    +++ b/sys/sys/file.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: file.h,v 1.74 2011/04/24 18:46:24 rmind Exp $	*/
    +/*	$NetBSD: file.h,v 1.75 2013/01/02 19:35:43 dsl Exp $	*/
     
     /*-
      * Copyright (c) 2009 The NetBSD Foundation, Inc.
    @@ -116,6 +116,8 @@ struct file {
     	SLIST_ENTRY(file) f_unplist;	/* deferred close: see uipc_usrreq.c */
     };
     
    +#endif
    +
     /*
      * Descriptor types.
      */
    @@ -133,6 +135,8 @@ struct file {
         "0", "file", "socket", "pipe", "kqueue", "misc", "crypto", "mqueue", \
         "semaphore"
     
    +#ifdef _KERNEL
    +
     /*
      * Flags for fo_read and fo_write and do_fileread/write/v
      */
    diff --git a/sys/sys/float_ieee754.h b/sys/sys/float_ieee754.h
    index 2eed7c8bc..4dd0c488d 100644
    --- a/sys/sys/float_ieee754.h
    +++ b/sys/sys/float_ieee754.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: float_ieee754.h,v 1.10 2011/10/01 17:39:14 christos Exp $	*/
    +/*	$NetBSD: float_ieee754.h,v 1.11 2013/06/18 20:17:19 christos Exp $	*/
     
     /*
      * Copyright (c) 1992, 1993
    @@ -47,7 +47,7 @@
      */
     #define _FLOAT_IEEE754	1
     
    -#ifndef FLT_ROUNDS
    +#if !defined(__ASSEMBLER__) && !defined(FLT_ROUNDS)
     __BEGIN_DECLS
     extern int __flt_rounds(void);
     __END_DECLS
    diff --git a/sys/sys/fstypes.h b/sys/sys/fstypes.h
    index 1555a6a65..28761f104 100644
    --- a/sys/sys/fstypes.h
    +++ b/sys/sys/fstypes.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: fstypes.h,v 1.30 2011/11/18 21:17:45 christos Exp $	*/
    +/*	$NetBSD: fstypes.h,v 1.32 2012/11/26 16:22:21 drochner Exp $	*/
     
     /*
      * Copyright (c) 1989, 1991, 1993
    @@ -84,7 +84,6 @@ typedef struct fhandle	fhandle_t;
      */
     
     #define	__MNT_UNUSED1	0x00200000
    -#define	__MNT_UNUSED2	0x00800000
     
     #define	MNT_RDONLY	0x00000001	/* read only filesystem */
     #define	MNT_SYNCHRONOUS	0x00000002	/* file system written synchronously */
    @@ -96,6 +95,7 @@ typedef struct fhandle	fhandle_t;
     #define	MNT_NOCOREDUMP	0x00008000	/* don't write core dumps to this FS */
     #define	MNT_RELATIME	0x00020000	/* only update access time if mod/ch */
     #define	MNT_IGNORE	0x00100000	/* don't show entry in df */
    +#define	MNT_DISCARD	0x00800000	/* use DISCARD/TRIM if supported */
     #define	MNT_EXTATTR	0x01000000	/* enable extended attributes */
     #define	MNT_LOG		0x02000000	/* Use logging */
     #define	MNT_NOATIME	0x04000000	/* Never update access times in fs */
    @@ -105,6 +105,7 @@ typedef struct fhandle	fhandle_t;
     
     #define	__MNT_BASIC_FLAGS \
     	{ MNT_ASYNC,		0,	"asynchronous" }, \
    +	{ MNT_DISCARD,		0,	"discard" }, \
     	{ MNT_EXTATTR,		0,	"extattr" }, \
     	{ MNT_IGNORE,		0,	"hidden" }, \
     	{ MNT_LOG,		0,	"log" }, \
    @@ -121,9 +122,9 @@ typedef struct fhandle	fhandle_t;
     	{ MNT_SYNCHRONOUS,	0,	"synchronous" }, \
     	{ MNT_UNION,		0,	"union" }, \
     
    -#define MNT_BASIC_FLAGS (MNT_ASYNC | MNT_EXTATTR | MNT_LOG | MNT_NOATIME | \
    -    MNT_NOCOREDUMP | MNT_NODEV | MNT_NODEVMTIME | MNT_NOEXEC | MNT_NOSUID | \
    -    MNT_RDONLY | MNT_RELATIME | MNT_SOFTDEP | MNT_SYMPERM | \
    +#define MNT_BASIC_FLAGS (MNT_ASYNC | MNT_DISCARD | MNT_EXTATTR | MNT_LOG | \
    +    MNT_NOATIME | MNT_NOCOREDUMP | MNT_NODEV | MNT_NODEVMTIME | MNT_NOEXEC | \
    +    MNT_NOSUID | MNT_RDONLY | MNT_RELATIME | MNT_SOFTDEP | MNT_SYMPERM | \
         MNT_SYNCHRONOUS | MNT_UNION)
     /*
      * exported mount flags.
    @@ -170,6 +171,7 @@ typedef struct fhandle	fhandle_t;
          MNT_ASYNC | \
          MNT_NOCOREDUMP | \
          MNT_IGNORE | \
    +     MNT_DISCARD | \
          MNT_NOATIME | \
          MNT_SYMPERM | \
          MNT_NODEVMTIME | \
    @@ -235,7 +237,7 @@ typedef struct fhandle	fhandle_t;
     	"\33MNT_NOATIME" \
     	"\32MNT_LOG" \
     	"\31MNT_EXTATTR" \
    -	"\30MNT_UNUSED" \
    +	"\30MNT_DISCARD" \
     	"\27MNT_GETARGS" \
     	"\26MNT_UNUSED" \
     	"\25MNT_IGNORE" \
    diff --git a/sys/sys/ieee754.h b/sys/sys/ieee754.h
    index d83ab46c2..657b9faac 100644
    --- a/sys/sys/ieee754.h
    +++ b/sys/sys/ieee754.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ieee754.h,v 1.8 2012/08/08 16:56:53 matt Exp $	*/
    +/*	$NetBSD: ieee754.h,v 1.9 2013/05/08 05:27:01 matt Exp $	*/
     
     /*
      * Copyright (c) 1992, 1993
    @@ -148,6 +148,7 @@ union ieee_single_u {
     #define	sngu_sign	sngu_sng.sng_sign
     #define	sngu_exp	sngu_sng.sng_exp
     #define	sngu_frac	sngu_sng.sng_frac
    +#define	SNGU_ZEROFRAC_P(u)	((u).sngu_frac != 0)
     
     union ieee_double_u {
     	double			dblu_d;
    @@ -158,4 +159,6 @@ union ieee_double_u {
     #define	dblu_exp	dblu_dbl.dbl_exp
     #define	dblu_frach	dblu_dbl.dbl_frach
     #define	dblu_fracl	dblu_dbl.dbl_fracl
    +#define	DBLU_ZEROFRAC_P(u)	(((u).dblu_frach|(u).dblu_fracl) != 0)
    +
     #endif /* _SYS_IEEE754_H_ */
    diff --git a/sys/sys/intr.h b/sys/sys/intr.h
    index 459f58d72..078ce13e3 100644
    --- a/sys/sys/intr.h
    +++ b/sys/sys/intr.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: intr.h,v 1.12 2012/07/27 14:05:08 matt Exp $	*/
    +/*	$NetBSD: intr.h,v 1.16 2013/08/25 03:08:56 matt Exp $	*/
     
     /*-
      * Copyright (c) 2007 The NetBSD Foundation, Inc.
    @@ -32,10 +32,10 @@
     #ifndef _SYS_INTR_H_
     #define	_SYS_INTR_H_
     
    -#include 
    -
     #ifdef _KERNEL
     
    +#include 
    +
     struct cpu_info;
     
     /* Public interface. */
    @@ -51,7 +51,9 @@ void	softint_block(lwp_t *);
     
     /* MD-MI interface. */
     void	softint_init_md(lwp_t *, u_int, uintptr_t *);
    +#ifndef __HAVE_MD_SOFTINT_TRIGGER
     void	softint_trigger(uintptr_t);
    +#endif
     void	softint_dispatch(lwp_t *, int);
     
     /* Flags for softint_establish(). */
    @@ -88,6 +90,10 @@ extern u_int	softint_timing;
     #define	splclock()	splsched()
     #define	splserial()	splhigh()
     
    +#include 
    +
    +#elif defined(_KMEMUSER)
    +#define	SOFTINT_COUNT	0x0004
     #endif	/* _KERNEL */
     
     #endif	/* _SYS_INTR_H_ */
    diff --git a/sys/sys/inttypes.h b/sys/sys/inttypes.h
    index ec7b1a463..29c44a9a5 100644
    --- a/sys/sys/inttypes.h
    +++ b/sys/sys/inttypes.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: inttypes.h,v 1.5 2008/04/28 20:24:10 martin Exp $	*/
    +/*	$NetBSD: inttypes.h,v 1.6 2013/04/22 21:26:48 joerg Exp $	*/
     
     /*-
      * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
    @@ -38,7 +38,8 @@
     
     #include 
     
    -#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
    +#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) || \
    +    (__cplusplus >= 201103L)
     #include 
     #endif
     
    diff --git a/sys/sys/ioccom.h b/sys/sys/ioccom.h
    index 89392322b..06ac36566 100644
    --- a/sys/sys/ioccom.h
    +++ b/sys/sys/ioccom.h
    @@ -34,7 +34,7 @@
     #ifndef	_SYS_IOCCOM_H_
     #define	_SYS_IOCCOM_H_
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * Ioctl's have the command encoded in the lower word, and the size of
      * any in or out parameters in the upper word.  The high 3 bits of the
    @@ -59,7 +59,7 @@
     #define	IOCPARM_MASK	0xfff		/* parameter length, at most 12 bits */
     #define IOCPARM_MASK_BIG       0xFFFFF	/* or 20 bits, if IOC_BIG is set */
     #define	IOCPARM_SHIFT_BIG	8	
    -#endif
    +#endif /* !defined(__minix) */
     
     #define	IOCPARM_SHIFT	16
     #define	IOCGROUP_SHIFT	8
    @@ -75,7 +75,6 @@
     				/* copy parameters in */
     #define	IOC_IN		(unsigned long)0x80000000
     				/* copy parameters in and out */
    -
     #define	IOC_INOUT	(IOC_IN|IOC_OUT)
     				/* mask for IN/OUT/VOID */
     #define	IOC_DIRMASK	(unsigned long)0xe0000000
    @@ -89,7 +88,7 @@
     /* this should be _IORW, but stdio got there first */
     #define	_IOWR(g,n,t)	_IOC(IOC_INOUT,	(g), (n), sizeof(t))
     
    -#ifdef __minix
    +#if defined(__minix)
     #define _IOW_BIG(y,t)  (y | ((sizeof(t) & IOCPARM_MASK_BIG) << IOCPARM_SHIFT_BIG) \
             | IOC_IN | IOC_BIG)
     #define _IOR_BIG(y,t)  (y | ((sizeof(t) & IOCPARM_MASK_BIG) << IOCPARM_SHIFT_BIG) \
    @@ -106,6 +105,6 @@
     /* Recognize and decode size of a 'big' ioctl call. */
     #define _MINIX_IOCTL_BIG(i)             ((i) & IOC_BIG)
     #define _MINIX_IOCTL_SIZE_BIG(i)        (((i) >> IOCPARM_SHIFT_BIG) & IOCPARM_MASK_BIG)
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_SYS_IOCCOM_H_ */
    diff --git a/sys/sys/ioctl.h b/sys/sys/ioctl.h
    index 54a65aeed..393f57453 100644
    --- a/sys/sys/ioctl.h
    +++ b/sys/sys/ioctl.h
    @@ -61,7 +61,7 @@ struct ttysize {
     #include 
     #include 
     
    -#ifdef __minix
    +#if defined(__minix)
     /* ioctls */
     #include 	/* 'n'			*/
     #include 	/* 'd'			*/
    @@ -74,7 +74,7 @@ struct ttysize {
     #include 		/* 'V'			*/
     #include 		/* 'F'			*/
     #include 
    -#endif
    +#endif /* defined(__minix) */
     
     /*
      * Passthrough ioctl commands. These are passed through to devices
    @@ -108,7 +108,7 @@ __END_DECLS
     #endif /* !_KERNEL */
     #endif /* !_SYS_IOCTL_H_ */
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * Keep outside _SYS_IOCTL_H_
      * Compatibility with old terminal driver
    @@ -131,5 +131,5 @@ __END_DECLS
         defined(COMPAT_SVR4) || defined(COMPAT_FREEBSD) || defined(COMPAT_OSF1) || \
         defined(COMPAT_IBCS2) || defined(MODULAR)
     #include 
    -#endif
    +#endif /* !defined(__minix) */
     #endif
    diff --git a/sys/sys/ioctl_compat.h b/sys/sys/ioctl_compat.h
    index 34be82d00..915dc7b9b 100644
    --- a/sys/sys/ioctl_compat.h
    +++ b/sys/sys/ioctl_compat.h
    @@ -1,5 +1,5 @@
    -#ifndef __minix
    -/*	$NetBSD: ioctl_compat.h,v 1.15 2005/12/03 17:10:46 christos Exp $	*/
    +#if !defined(__minix)
    +/*	$NetBSD: ioctl_compat.h,v 1.16 2013/07/11 19:17:57 christos Exp $	*/
     
     /*
      * Copyright (c) 1990, 1993
    @@ -90,10 +90,14 @@ struct sgttyb {
     #define	TIOCSETN	_IOW('t',10,struct sgttyb)/* as above, but no flushtty*/
     #define	TIOCSETC	_IOW('t',17,struct tchars)/* set special characters */
     #define	TIOCGETC	_IOR('t',18,struct tchars)/* get special characters */
    +/*
    + * The entries marked as termios below, are common and should have the
    + * same values.
    + */
     #define		TANDEM		0x00000001	/* send stopc on out q full */
     #define		CBREAK		0x00000002	/* half-cooked mode */
     #define		LCASE		0x00000004	/* simulate lower case */
    -#define		ECHO		0x00000008	/* enable echoing */
    +/* termios	ECHO		0x00000008	   enable echoing */
     #define		CRMOD		0x00000010	/* map \r to \r\n on output */
     #define		RAW		0x00000020	/* no i/o processing */
     #define		ODDP		0x00000040	/* get/send odd parity */
    @@ -125,18 +129,18 @@ struct sgttyb {
     #define		PRTERA		0x00020000	/* \ ... / erase */
     #define		CRTERA		0x00040000	/* " \b " to wipe out char */
     #define		TILDE		0x00080000	/* hazeltine tilde kludge */
    -#define		MDMBUF		0x00100000	/* DTR/DCD hardware flow control */
    +/* termios	MDMBUF		0x00100000	   DTR/DCD hardware flow control */
     #define		LITOUT		0x00200000	/* literal output */
    -#define		TOSTOP		0x00400000	/* stop background jobs on output */
    -#define		FLUSHO		0x00800000	/* output being flushed (state) */
    +/* termios	TOSTOP		0x00400000	   stop background jobs on output */
    +/* termios	FLUSHO		0x00800000	   output being flushed (state) */
     #define		NOHANG		0x01000000	/* (no-op) was no SIGHUP on carrier drop */
     #define		L001000		0x02000000
     #define		CRTKIL		0x04000000	/* kill line with " \b " */
     #define		PASS8		0x08000000
     #define		CTLECH		0x10000000	/* echo control chars as ^X */
    -#define		PENDIN		0x20000000	/* re-echo input buffer at next read */
    +/* termios	PENDIN		0x20000000	   re-echo input buffer at next read */
     #define		DECCTQ		0x40000000	/* only ^Q starts after ^S */
    -#define		NOFLSH		0x80000000	/* don't flush output on signal */
    +/* termios 	NOFLSH		0x80000000	   don't flush output on signal */
     #define	TIOCLBIS	_IOW('t', 127, int)	/* bis local mode bits */
     #define	TIOCLBIC	_IOW('t', 126, int)	/* bic local mode bits */
     #define	TIOCLSET	_IOW('t', 125, int)	/* set entire local mode word */
    @@ -164,4 +168,4 @@ struct sgttyb {
     #define	NTTYDISC	2
     
     #endif /* !_SYS_IOCTL_COMPAT_H_ */
    -#endif
    +#endif /* !defined(__minix) */
    diff --git a/sys/sys/ipc.h b/sys/sys/ipc.h
    index b7931b109..1994b8344 100644
    --- a/sys/sys/ipc.h
    +++ b/sys/sys/ipc.h
    @@ -97,9 +97,9 @@ struct ipc_perm_sysctl {
     #define	IPC_SET		1	/* set options */
     #define	IPC_STAT	2	/* get options */
     
    -#ifdef __minix
    +#if defined(__minix)
     #define IPC_INFO       500       /* See ipcs. */
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     
     /*
      * Macros to convert between ipc ids and array indices or sequence ids.
    diff --git a/sys/sys/kauth.h b/sys/sys/kauth.h
    index 5796081c6..6e5342435 100644
    --- a/sys/sys/kauth.h
    +++ b/sys/sys/kauth.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: kauth.h,v 1.70 2012/06/27 12:28:28 cheusov Exp $ */
    +/* $NetBSD: kauth.h,v 1.71 2013/03/18 19:35:46 plunky Exp $ */
     
     /*-
      * Copyright (c) 2005, 2006 Elad Efrat   
    @@ -45,7 +45,6 @@ struct proc;
     struct tty;
     struct vnode;
     struct cwdinfo;
    -enum vtype;
     
     /* Types. */
     typedef struct kauth_scope     *kauth_scope_t;
    @@ -483,9 +482,12 @@ void kauth_cred_toucred(kauth_cred_t, struct ki_ucred *);
     void kauth_cred_topcred(kauth_cred_t, struct ki_pcred *);
     
     kauth_action_t kauth_mode_to_action(mode_t);
    -kauth_action_t kauth_access_action(mode_t, enum vtype, mode_t);
     kauth_action_t kauth_extattr_action(mode_t);
     
    +#define KAUTH_ACCESS_ACTION(access_mode, vn_vtype, file_mode)	\
    +	(kauth_mode_to_action(access_mode) |			\
    +	(FS_OBJECT_CAN_EXEC(vn_vtype, file_mode) ? KAUTH_VNODE_IS_EXEC : 0))
    +
     kauth_cred_t kauth_cred_get(void);
     
     void kauth_proc_fork(struct proc *, struct proc *);
    diff --git a/sys/sys/kcpuset.h b/sys/sys/kcpuset.h
    index 52f60f8df..b2c5fd707 100644
    --- a/sys/sys/kcpuset.h
    +++ b/sys/sys/kcpuset.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: kcpuset.h,v 1.8 2012/09/16 22:09:33 rmind Exp $	*/
    +/*	$NetBSD: kcpuset.h,v 1.9 2013/07/17 22:36:26 matt Exp $	*/
     
     /*-
      * Copyright (c) 2008, 2011 The NetBSD Foundation, Inc.
    @@ -42,8 +42,9 @@ typedef struct kcpuset	kcpuset_t;
     void		kcpuset_sysinit(void);
     
     void		kcpuset_create(kcpuset_t **, bool);
    +void		kcpuset_clone(kcpuset_t **, const kcpuset_t *);
     void		kcpuset_destroy(kcpuset_t *);
    -void		kcpuset_copy(kcpuset_t *, kcpuset_t *);
    +void		kcpuset_copy(kcpuset_t *, const kcpuset_t *);
     
     void		kcpuset_use(kcpuset_t *);
     void		kcpuset_unuse(kcpuset_t *, kcpuset_t **);
    @@ -56,17 +57,27 @@ void		kcpuset_fill(kcpuset_t *);
     void		kcpuset_set(kcpuset_t *, cpuid_t);
     void		kcpuset_clear(kcpuset_t *, cpuid_t);
     
    -bool		kcpuset_isset(kcpuset_t *, cpuid_t);
    -bool		kcpuset_isotherset(kcpuset_t *, cpuid_t);
    -bool		kcpuset_iszero(kcpuset_t *);
    +bool		kcpuset_isset(const kcpuset_t *, cpuid_t);
    +bool		kcpuset_isotherset(const kcpuset_t *, cpuid_t);
    +bool		kcpuset_iszero(const kcpuset_t *);
    +bool		kcpuset_intersecting_p(const kcpuset_t *, const kcpuset_t *);
     bool		kcpuset_match(const kcpuset_t *, const kcpuset_t *);
    -void		kcpuset_merge(kcpuset_t *, kcpuset_t *);
    -void		kcpuset_intersect(kcpuset_t *, kcpuset_t *);
    +void		kcpuset_intersect(kcpuset_t *, const kcpuset_t *);
    +void		kcpuset_merge(kcpuset_t *, const kcpuset_t *);
    +void		kcpuset_remove(kcpuset_t *, const kcpuset_t *);
     int		kcpuset_countset(kcpuset_t *);
     
    +cpuid_t		kcpuset_ffs(const kcpuset_t *);
    +cpuid_t		kcpuset_ffs_intersecting(const kcpuset_t *, const kcpuset_t *);
    +
     void		kcpuset_atomic_set(kcpuset_t *, cpuid_t);
     void		kcpuset_atomic_clear(kcpuset_t *, cpuid_t);
     
    +void		kcpuset_atomicly_zero(kcpuset_t *);
    +void		kcpuset_atomicly_intersect(kcpuset_t *, const kcpuset_t *);
    +void		kcpuset_atomicly_merge(kcpuset_t *, const kcpuset_t *);
    +void		kcpuset_atomicly_remove(kcpuset_t *, const kcpuset_t *);
    +
     void		kcpuset_export_u32(const kcpuset_t *, uint32_t *, size_t);
     
     #endif
    diff --git a/sys/sys/kernel.h b/sys/sys/kernel.h
    index 43b58c6f4..ff1b8d4a6 100644
    --- a/sys/sys/kernel.h
    +++ b/sys/sys/kernel.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: kernel.h,v 1.28 2009/01/11 02:45:55 christos Exp $	*/
    +/*	$NetBSD: kernel.h,v 1.29 2013/07/30 13:14:30 matt Exp $	*/
     
     /*-
      * Copyright (c) 1990, 1993
    @@ -61,6 +61,7 @@ extern int stathz;		/* statistics clock's frequency */
     extern int profhz;		/* profiling clock's frequency */
     
     extern int profsrc;		/* profiling source */
    +extern int psratio;		/* ratio: prof / stat */
     
     #define PROFSRC_CLOCK	0
     
    diff --git a/sys/sys/kernhist.h b/sys/sys/kernhist.h
    index eaebc32fd..05056626a 100644
    --- a/sys/sys/kernhist.h
    +++ b/sys/sys/kernhist.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: kernhist.h,v 1.5 2012/07/30 23:56:48 matt Exp $	*/
    +/*	$NetBSD: kernhist.h,v 1.7 2013/02/19 22:54:03 skrll Exp $	*/
     
     /*
      * Copyright (c) 1997 Charles D. Cranor and Washington University.
    @@ -97,6 +97,7 @@ LIST_HEAD(kern_history_head, kern_history);
     #define KERNHIST_INIT(NAME,N)
     #define KERNHIST_INIT_STATIC(NAME,BUF)
     #define KERNHIST_LOG(NAME,FMT,A,B,C,D)
    +#define KERNHIST_CALLARGS(NAME,FMT,A,B,C,D)
     #define KERNHIST_CALLED(NAME)
     #define KERNHIST_FUNC(FNAME)
     #define kernhist_dump(NAME)
    @@ -132,13 +133,18 @@ do { \
     	LIST_INSERT_HEAD(&kern_histories, &(NAME), list); \
     } while (/*CONSTCOND*/ 0)
     
    +#ifndef KERNHIST_DELAY
    +#define KERNHIST_DELAY	100000
    +#endif
    +
     #if defined(KERNHIST_PRINT)
     extern int kernhist_print_enabled;
     #define KERNHIST_PRINTNOW(E) \
     do { \
     		if (kernhist_print_enabled) { \
     			kernhist_entry_print(E); \
    -			DELAY(100000); \
    +			if (KERNHIST_DELAY != 0) \
    +				DELAY(KERNHIST_DELAY); \
     		} \
     } while (/*CONSTCOND*/ 0)
     #else
    @@ -174,10 +180,20 @@ do { \
     	KERNHIST_LOG(NAME, "called!", 0, 0, 0, 0); \
     } while (/*CONSTCOND*/ 0)
     
    +/*
    + * This extends kernhist to avoid wasting a separate "called!" entry on every
    + * function.
    + */
    +#define KERNHIST_CALLARGS(NAME, FMT, A, B, C, D) \
    +do { \
    +	_kernhist_call = atomic_inc_uint_nv(&_kernhist_cnt); \
    +	KERNHIST_LOG(NAME, "called: "FMT, (A), (B), (C), (D)); \
    +} while (/*CONSTCOND*/ 0)
    +
     #define KERNHIST_FUNC(FNAME) \
     	static unsigned int _kernhist_cnt = 0; \
     	static const char *const _kernhist_name = FNAME; \
    -	int _kernhist_call = 0;
    +	unsigned int _kernhist_call = 0;
     
     static inline void kernhist_entry_print(const struct kern_history_ent *);
     
    diff --git a/sys/sys/ksem.h b/sys/sys/ksem.h
    index 147f77590..6ec33782a 100644
    --- a/sys/sys/ksem.h
    +++ b/sys/sys/ksem.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ksem.h,v 1.13 2012/03/10 21:52:00 joerg Exp $	*/
    +/*	$NetBSD: ksem.h,v 1.14 2012/11/25 01:05:04 christos Exp $	*/
     
     /*
      * Copyright (c) 2002 Alfred Perlstein 
    @@ -36,6 +36,21 @@ struct timespec;
     #ifdef _KERNEL
     #define	KSEM_MAX	128
     
    +typedef struct ksem {
    +	LIST_ENTRY(ksem)	ks_entry;	/* global list entry */
    +	kmutex_t		ks_lock;	/* lock on this ksem */
    +	kcondvar_t		ks_cv;		/* condition variable */
    +	u_int			ks_ref;		/* number of references */
    +	u_int			ks_value;	/* current value */
    +	u_int			ks_waiters;	/* number of waiters */
    +	char *			ks_name;	/* name, if named */
    +	size_t			ks_namelen;	/* length of name */
    +	int			ks_flags;	/* for KS_UNLINKED */
    +	mode_t			ks_mode;	/* protection bits */
    +	uid_t			ks_uid;		/* creator uid */
    +	gid_t			ks_gid;		/* creator gid */
    +} ksem_t;
    +
     int do_ksem_init(struct lwp *, unsigned int, intptr_t *, copyout_t);
     int do_ksem_open(struct lwp *, const char *, int, mode_t, unsigned int,
         intptr_t *, copyout_t);
    diff --git a/sys/sys/ksyms.h b/sys/sys/ksyms.h
    index 36099d87f..42d951fc0 100644
    --- a/sys/sys/ksyms.h
    +++ b/sys/sys/ksyms.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ksyms.h,v 1.27 2010/03/15 02:28:59 darran Exp $	*/
    +/*	$NetBSD: ksyms.h,v 1.28 2012/11/18 00:06:56 chs Exp $	*/
     
     /*
      * Copyright (c) 2001, 2003 Anders Magnusson (ragge@ludd.luth.se).
    @@ -32,10 +32,6 @@
     
     #ifdef _KSYMS_PRIVATE
     
    -#if defined(_KERNEL_OPT)
    -#include "opt_dtrace.h"
    -#endif
    -
     #define	ELFSIZE	ARCH_ELFSIZE
     #include 
     #include 
    @@ -52,12 +48,10 @@ struct ksyms_symtab {
     	int sd_strsize;		/* Size of string table */
     	int sd_nglob;		/* Number of global symbols */
     	bool sd_gone;		/* dead but around for open() */
    -#ifdef KDTRACE_HOOKS
     	void *sd_ctfstart;	/* Address of CTF contents */
     	int sd_ctfsize;		/* Size in bytes of CTF contents */
     	uint32_t *sd_nmap;	/* Name map for sorted symbols */
     	int sd_nmapsize;	/* Total span of map */
    -#endif
     };
     
     /*
    @@ -68,12 +62,8 @@ struct ksyms_symtab {
     #define	STRTAB		2
     #define	SHSTRTAB	3
     #define	SHBSS		4
    -#ifdef KDTRACE_HOOKS
     #define	SHCTF		5
     #define NSECHDR		6
    -#else
    -#define NSECHDR		5
    -#endif
     
     #define	NPRGHDR		1
     #define	SHSTRSIZ	42
    diff --git a/sys/sys/localedef.h b/sys/sys/localedef.h
    index e20208c41..474f1eb10 100644
    --- a/sys/sys/localedef.h
    +++ b/sys/sys/localedef.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: localedef.h,v 1.9 2008/05/17 03:49:54 ginsbach Exp $	*/
    +/*	$NetBSD: localedef.h,v 1.10 2013/08/18 20:03:48 joerg Exp $	*/
     
     /*
      * Copyright (c) 1994 Winning Strategies, Inc.
    @@ -40,10 +40,6 @@ typedef struct {
     	const char *nostr;
     } _MessagesLocale;
     
    -extern const _MessagesLocale *_CurrentMessagesLocale;
    -extern const _MessagesLocale  _DefaultMessagesLocale;
    -
    -
     typedef struct {
     	const char *int_curr_symbol;
     	const char *currency_symbol;
    @@ -68,20 +64,12 @@ typedef struct {
     	char int_n_sign_posn;
     } _MonetaryLocale;
     
    -extern const _MonetaryLocale *_CurrentMonetaryLocale;
    -extern const _MonetaryLocale  _DefaultMonetaryLocale;
    -
    -
     typedef struct {
     	const char *decimal_point;
     	const char *thousands_sep;
     	const char *grouping;
     } _NumericLocale;
     
    -extern const _NumericLocale *_CurrentNumericLocale;
    -extern const _NumericLocale  _DefaultNumericLocale;
    -
    -
     typedef struct {
     	const char *abday[7];
     	const char *day[7];
    @@ -94,7 +82,4 @@ typedef struct {
     	const char *t_fmt_ampm;
     } _TimeLocale;
     
    -extern const _TimeLocale *_CurrentTimeLocale;
    -extern const _TimeLocale  _DefaultTimeLocale;
    -
     #endif /* !_SYS_LOCALEDEF_H_ */
    diff --git a/sys/sys/lockdebug.h b/sys/sys/lockdebug.h
    index fd0b564e2..3f88b6a57 100644
    --- a/sys/sys/lockdebug.h
    +++ b/sys/sys/lockdebug.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lockdebug.h,v 1.13 2011/11/21 04:36:05 christos Exp $	*/
    +/*	$NetBSD: lockdebug.h,v 1.14 2013/04/27 08:12:34 mlelstv Exp $	*/
     
     /*-
      * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
    @@ -62,7 +62,7 @@ void	lockdebug_lock_print(void *, void (*)(const char *, ...)
     
     bool	lockdebug_alloc(volatile void *, lockops_t *, uintptr_t);
     void	lockdebug_free(volatile void *);
    -void	lockdebug_wantlock(volatile void *, uintptr_t, bool, bool);
    +void	lockdebug_wantlock(volatile void *, uintptr_t, int);
     void	lockdebug_locked(volatile void *, void *, uintptr_t, int);
     void	lockdebug_unlocked(volatile void *, uintptr_t, int);
     void	lockdebug_barrier(volatile void *, int);
    @@ -72,8 +72,8 @@ void	lockdebug_wakeup(volatile void *, uintptr_t);
     #define	LOCKDEBUG_ALLOC(lock, ops, addr)	lockdebug_alloc(lock, ops, addr)
     #define	LOCKDEBUG_FREE(dodebug, lock) \
         if (dodebug) lockdebug_free(lock)
    -#define	LOCKDEBUG_WANTLOCK(dodebug, lock, where, s, t) \
    -    if (dodebug) lockdebug_wantlock(lock, where, s, t)
    +#define	LOCKDEBUG_WANTLOCK(dodebug, lock, where, s) \
    +    if (dodebug) lockdebug_wantlock(lock, where, s)
     #define	LOCKDEBUG_LOCKED(dodebug, lock, al, where, s) \
         if (dodebug) lockdebug_locked(lock, al, where, s)
     #define	LOCKDEBUG_UNLOCKED(dodebug, lock, where, s) \
    @@ -88,7 +88,7 @@ void	lockdebug_wakeup(volatile void *, uintptr_t);
     
     #define	LOCKDEBUG_ALLOC(lock, ops, addr)		false
     #define	LOCKDEBUG_FREE(dodebug, lock)			/* nothing */
    -#define	LOCKDEBUG_WANTLOCK(dodebug, lock, where, s, t)	/* nothing */
    +#define	LOCKDEBUG_WANTLOCK(dodebug, lock, where, s)	/* nothing */
     #define	LOCKDEBUG_LOCKED(dodebug, lock, al, where, s)	/* nothing */
     #define	LOCKDEBUG_UNLOCKED(dodebug, lock, where, s)	/* nothing */
     #define	LOCKDEBUG_BARRIER(lock, slp)			/* nothing */
    diff --git a/sys/sys/lua.h b/sys/sys/lua.h
    new file mode 100644
    index 000000000..24dd954c1
    --- /dev/null
    +++ b/sys/sys/lua.h
    @@ -0,0 +1,103 @@
    +/*	$NetBSD: lua.h,v 1.3 2013/10/29 17:35:40 mbalmer Exp $ */
    +
    +/*
    + * Copyright (c) 2011, 2013 Marc Balmer .
    + * All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. The name of the Author may not be used to endorse or promote products
    + *    derived from this software without specific prior written permission.
    + *
    + * 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 REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + */
    +
    +#ifndef _SYS_LUA_H_
    +#define _SYS_LUA_H_
    +
    +#include 		/* for lua_State */
    +
    +#ifdef _KERNEL
    +#include 
    +#endif
    +
    +#define MAX_LUA_NAME		16
    +#define MAX_LUA_DESC		64
    +#define LUA_MAX_MODNAME		32
    +
    +struct lua_state_info {
    +	char	name[MAX_LUA_NAME];
    +	char	desc[MAX_LUA_DESC];
    +	bool	user;
    +};
    +
    +struct lua_info {
    +	int num_states;		/* total number of created Lua states */
    +	struct lua_state_info *states;
    +};
    +
    +struct lua_create {
    +	char	name[MAX_LUA_NAME];
    +	char	desc[MAX_LUA_DESC];
    +};
    +
    +struct lua_require {
    +	char	state[MAX_LUA_NAME];
    +	char	module[LUA_MAX_MODNAME];
    +};
    +
    +struct lua_load {
    +	char	state[MAX_LUA_NAME];
    +	char	path[MAXPATHLEN];
    +};
    +
    +#define LUAINFO		_IOWR('l', 0, struct lua_info)
    +
    +#define LUACREATE	_IOWR('l', 1, struct lua_create)
    +#define LUADESTROY	_IOWR('l', 2, struct lua_create)
    +
    +/* 'require' a module in a state */
    +#define LUAREQUIRE	_IOWR('l', 3, struct lua_require)
    +
    +/* loading Lua code into a Lua state */
    +#define LUALOAD		_IOWR('l', 4, struct lua_load)
    +
    +#ifdef _KERNEL
    +extern int lua_mod_register(const char *, int (*)(void *));
    +extern int lua_mod_unregister(const char *);
    +
    +typedef struct _klua_State {
    +	lua_State	*L;
    +	kmutex_t	 ks_lock;
    +	kcondvar_t	 ks_inuse_cv;
    +	int		 ks_inuse;
    +	bool		 ks_user;	/* state created by user (ioctl) */
    +} klua_State;
    +
    +extern int klua_lock(klua_State *);
    +extern void klua_unlock(klua_State *);
    +
    +extern void klua_close(klua_State *);
    +extern klua_State *klua_newstate(lua_Alloc, void *, const char *, const char *);
    +
    +extern void *lua_alloc(void *, void *, size_t, size_t);
    +
    +#endif
    +
    +#endif /* _SYS_LUA_H_ */
    diff --git a/sys/sys/lwp.h b/sys/sys/lwp.h
    index cebcf566c..0719487fe 100644
    --- a/sys/sys/lwp.h
    +++ b/sys/sys/lwp.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lwp.h,v 1.165 2012/10/07 20:43:18 matt Exp $	*/
    +/*	$NetBSD: lwp.h,v 1.168 2013/03/29 01:09:45 christos Exp $	*/
     
     /*-
      * Copyright (c) 2001, 2006, 2007, 2008, 2009, 2010
    @@ -33,6 +33,8 @@
     #ifndef _SYS_LWP_H_
     #define _SYS_LWP_H_
     
    +#if defined(_KERNEL) || defined(_KMEMUSER)
    +
     #include 
     #include 
     #include 
    @@ -67,7 +69,6 @@
      * Fields are clustered together by usage (to increase the likelyhood
      * of cache hits) and by size (to reduce dead space in the structure).
      */
    -#if defined(_KERNEL) || defined(_KMEMUSER)
     
     #include 
     
    @@ -128,7 +129,7 @@ struct lwp {
     
     #if PCU_UNIT_COUNT > 0
     	struct cpu_info	* volatile l_pcu_cpu[PCU_UNIT_COUNT];
    -	uint32_t	l_pcu_used;
    +	uint16_t	l_pcu_used[2];
     #endif
     
     	/* Process level and global state, misc. */
    @@ -196,7 +197,6 @@ struct lwp {
     
     	struct kdtrace_thread *l_dtrace; /* (: DTrace-specific data. */
     };
    -#endif /* _KERNEL || _KMEMUSER */
     
     /*
      * UAREA_PCB_OFFSET: an offset of PCB structure in the uarea.  MD code may
    @@ -220,6 +220,8 @@ extern int		maxlwp __read_mostly;	/* max number of lwps */
     #endif
     #endif
     
    +#endif /* _KERNEL || _KMEMUSER */
    +
     /* These flags are kept in l_flag. */
     #define	LW_IDLE		0x00000001 /* Idle lwp. */
     #define	LW_LWPCTL	0x00000002 /* Adjust lwpctl in userret */
    @@ -346,7 +348,7 @@ void	*_lwp_getspecific_by_lwp(lwp_t *, specificdata_key_t);
     void	lwp_setspecific(specificdata_key_t, void *);
     
     /* Syscalls. */
    -int	lwp_park(struct timespec *, const void *);
    +int	lwp_park(clockid_t, int, struct timespec *, const void *);
     int	lwp_unpark(lwpid_t, const void *);
     
     /* DDB. */
    diff --git a/sys/sys/mbuf.h b/sys/sys/mbuf.h
    index aeb8b8bdf..4c1e238e7 100644
    --- a/sys/sys/mbuf.h
    +++ b/sys/sys/mbuf.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: mbuf.h,v 1.149 2012/04/29 16:36:54 dsl Exp $	*/
    +/*	$NetBSD: mbuf.h,v 1.153 2013/11/14 00:50:36 christos Exp $	*/
     
     /*-
      * Copyright (c) 1996, 1997, 1999, 2001, 2007 The NetBSD Foundation, Inc.
    @@ -508,7 +508,7 @@ do {									\
     #define	MEXTMALLOC(m, size, how)					\
     do {									\
     	(m)->m_ext_storage.ext_buf =					\
    -	    (void *)malloc((size), mbtypes[(m)->m_type], (how));	\
    +	    malloc((size), mbtypes[(m)->m_type], (how));		\
     	if ((m)->m_ext_storage.ext_buf != NULL) {			\
     		MCLINITREFERENCE(m);					\
     		(m)->m_data = (m)->m_ext.ext_buf;			\
    @@ -559,10 +559,10 @@ do {									\
     		m_tag_delete_chain((m), NULL);				\
     	(n) = (m)->m_next;						\
     	if ((m)->m_flags & M_EXT) {					\
    -		m_ext_free(m);						\
    +		m_ext_free((m));						\
     	} else {							\
    -		KASSERT(m->m_type != MT_FREE);				\
    -		m->m_type = MT_FREE;					\
    +		KASSERT((m)->m_type != MT_FREE);				\
    +		(m)->m_type = MT_FREE;					\
     		pool_cache_put(mb_cache, (m));				\
     	}								\
     
    @@ -686,7 +686,7 @@ do {									\
     } while (/* CONSTCOND */ 0)
     
     /* length to m_copy to copy all */
    -#define	M_COPYALL	1000000000
    +#define	M_COPYALL	-1
     
     /* compatibility with 4.3 */
     #define  m_copy(m, o, l)	m_copym((m), (o), (l), M_DONTWAIT)
    @@ -852,7 +852,12 @@ void	m_reclaim(void *, int);
     void	mbinit(void);
     void	m_ext_free(struct mbuf *);
     char *	m_mapin(struct mbuf *);
    -void	m_move_pkthdr(struct mbuf *to, struct mbuf *from);
    +void	m_move_pkthdr(struct mbuf *, struct mbuf *);
    +
    +bool	m_ensure_contig(struct mbuf **, int);
    +struct mbuf *m_add(struct mbuf *, struct mbuf *);
    +void	m_align(struct mbuf *, int);
    +int	m_append(struct mbuf *, int, const void *);
     
     /* Inline routines. */
     static __inline u_int m_length(const struct mbuf *) __unused;
    diff --git a/sys/sys/mman.h b/sys/sys/mman.h
    index 90bb5a0b4..c28f40eb5 100644
    --- a/sys/sys/mman.h
    +++ b/sys/sys/mman.h
    @@ -68,9 +68,9 @@ typedef	__off_t		off_t;		/* file offset */
      * Flags contain sharing type and options.
      * Sharing types; choose one.
      */
    -#ifndef __minix
    +#if !defined(__minix)
     #define	MAP_SHARED	0x0001	/* share changes */
    -#endif
    +#endif /* !defined(__minix) */
     #define	MAP_PRIVATE	0x0002	/* changes are private */
     
     #ifdef _KERNEL
    @@ -113,7 +113,7 @@ typedef	__off_t		off_t;		/* file offset */
     #define	MAP_ALIGNMENT_256TB	MAP_ALIGNED(48)	/* 2^48 */
     #define	MAP_ALIGNMENT_64PB	MAP_ALIGNED(56)	/* 2^56 */
     
    -#ifdef __minix
    +#if defined(__minix)
     /*
      * Minix-specific flags
      */
    @@ -123,7 +123,7 @@ typedef	__off_t		off_t;		/* file offset */
     #define MAP_LOWER16M		0x200000        /* physically below 16MB */
     #define MAP_LOWER1M		0x400000        /* physically below 16MB */
     #define MAP_THIRDPARTY		0x800000        /* perform on behalf of any process */
    -#endif
    +#endif /* defined(__minix) */
     
     /*
      * Error indicator returned by mmap(2)
    @@ -200,14 +200,14 @@ void *	mremap(void *, size_t, void *, size_t, int);
     #endif
     int	posix_madvise(void *, size_t, int);
     
    -#ifdef __minix
    +#if defined(__minix)
     #include 
     void *         vm_remap(endpoint_t d, endpoint_t s, void *da, void *sa, size_t si);
     void *         vm_remap_ro(endpoint_t d, endpoint_t s, void *da, void *sa, size_t si);
     int            vm_unmap(endpoint_t endpt, void *addr);
     unsigned long  vm_getphys(endpoint_t endpt, void *addr);
     u8_t           vm_getrefcount(endpoint_t endpt, void *addr);
    -#endif
    +#endif /* defined(__minix) */
     
     __END_DECLS
     
    diff --git a/sys/sys/module.h b/sys/sys/module.h
    index 8e5de5a00..7c464de15 100644
    --- a/sys/sys/module.h
    +++ b/sys/sys/module.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: module.h,v 1.31 2012/08/07 01:19:06 jnemeth Exp $	*/
    +/*	$NetBSD: module.h,v 1.34 2013/10/23 18:57:40 mbalmer Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -89,7 +89,7 @@ typedef struct module {
     	modsrc_t		mod_source;
     	time_t			mod_autotime;
     	void 			*mod_ctf;
    -	u_int			mod_fbtentries;	/* DTrace FBT entrie count */
    +	u_int			mod_fbtentries;	/* DTrace FBT entry count */
     	int			mod_flags;
     #define MODFLG_MUST_FORCE	0x01
     #define MODFLG_AUTO_LOADED	0x02
    diff --git a/sys/sys/mount.h b/sys/sys/mount.h
    index 8bcc2d0c8..7cfdb8648 100644
    --- a/sys/sys/mount.h
    +++ b/sys/sys/mount.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: mount.h,v 1.207 2012/02/01 05:34:42 dholland Exp $	*/
    +/*	$NetBSD: mount.h,v 1.210 2013/11/23 13:35:36 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1991, 1993
    @@ -107,17 +107,17 @@ struct vnode;
      * put on a doubly linked list.
      */
     struct mount {
    -	CIRCLEQ_ENTRY(mount) mnt_list;		/* mount list */
    +	TAILQ_ENTRY(mount) mnt_list;		/* mount list */
     	TAILQ_HEAD(, vnode) mnt_vnodelist;	/* list of vnodes this mount */
     	struct vfsops	*mnt_op;		/* operations on fs */
     	struct vnode	*mnt_vnodecovered;	/* vnode we mounted on */
     	struct vnode	*mnt_syncer;		/* syncer vnode */
     	void		*mnt_transinfo;		/* for FS-internal use */
     	void		*mnt_data;		/* private data */
    -	krwlock_t	mnt_unmounting;		/* to prevent new activity */
    +	kmutex_t	mnt_unmounting;		/* to prevent new activity */
     	kmutex_t	mnt_renamelock;		/* per-fs rename lock */
     	int		mnt_refcnt;		/* ref count on this structure */
    -	int		mnt_recursecnt;		/* count of write locks */
    +	unsigned int	mnt_busynest;		/* vfs_busy nestings */
     	int		mnt_flag;		/* flags */
     	int		mnt_iflag;		/* internal flags */
     	int		mnt_fs_bshift;		/* offset shift for lblkno */
    @@ -277,7 +277,7 @@ int	fsname##_mount(struct mount *, const char *, void *,		\
     int	fsname##_start(struct mount *, int);				\
     int	fsname##_unmount(struct mount *, int);				\
     int	fsname##_root(struct mount *, struct vnode **);			\
    -int	fsname##_quotactl(struct mount *, int, struct quotactl_args *);	\
    +int	fsname##_quotactl(struct mount *, struct quotactl_args *);	\
     int	fsname##_statvfs(struct mount *, struct statvfs *);		\
     int	fsname##_sync(struct mount *, int, struct kauth_cred *);	\
     int	fsname##_vget(struct mount *, ino_t, struct vnode **);		\
    @@ -434,7 +434,7 @@ int	vfs_quotactl_cursorrewind(struct mount *, struct quotakcursor *);
     int	vfs_quotactl_quotaon(struct mount *, int, const char *);
     int	vfs_quotactl_quotaoff(struct mount *, int);
     
    -extern	CIRCLEQ_HEAD(mntlist, mount) mountlist;	/* mounted filesystem list */
    +extern	TAILQ_HEAD(mntlist, mount) mountlist;	/* mounted filesystem list */
     extern	struct vfsops *vfssw[];			/* filesystem type table */
     extern	int nvfssw;
     extern  kmutex_t mountlist_lock;
    @@ -462,6 +462,7 @@ void *	mount_getspecific(struct mount *, specificdata_key_t);
     void	mount_setspecific(struct mount *, specificdata_key_t, void *);
     
     int	usermount_common_policy(struct mount *, u_long);
    +void	mountlist_append(struct mount *);
     
     LIST_HEAD(vfs_list_head, vfsops);
     extern struct vfs_list_head vfs_list;
    @@ -476,15 +477,20 @@ int	getfh(const char *, void *, size_t *)
     	__RENAME(__getfh30);
     #endif
     
    -#ifndef __minix
    +#if !defined(__minix)
     int	unmount(const char *, int);
    -#endif
    +#else
    +int	umount(const char *_name, int srvflags);
    +#endif /* !defined(__minix) */
     
     #if defined(_NETBSD_SOURCE)
     #ifndef __LIBC12_SOURCE__
    -#ifndef __minix
    +#if !defined(__minix)
     int mount(const char *, const char *, int, void *, size_t) __RENAME(__mount50);
    -#endif
    +#else
    +int mount(char *_spec, char *_name, int _mountflags, int srvflags, char *type,
    +	char *args);
    +#endif /* !defined(__minix) */
     int	fhopen(const void *, size_t, int) __RENAME(__fhopen40);
     int	fhstat(const void *, size_t, struct stat *) __RENAME(__fhstat50);
     #endif
    @@ -495,8 +501,15 @@ __END_DECLS
     #endif /* !_STANDALONE */
     
     #if defined(__minix) && !defined(_STANDALONE)
    -#include 
    -#include 
    +/* Service flags. These are not passed to VFS. */
    +#define MS_REUSE	0x001	/* Tell RS to try reusing binary from memory */
    +#define MS_EXISTING	0x002	/* Tell mount to use already running server */
    +
    +#define MNT_LABEL_LEN	16	/* Length of fs label including nul */
    +
    +/* Legacy definitions. */
    +#define MNTNAMELEN	16	/* Length of fs type name including nul */
    +#define MNTFLAGLEN	64	/* Length of flags string including nul */
     #endif /*  defined(__minix) && !defined(_STANDALONE) */
     
     #endif /* !_SYS_MOUNT_H_ */
    diff --git a/sys/sys/namei.h b/sys/sys/namei.h
    index 87eea1d56..f69f7d97d 100644
    --- a/sys/sys/namei.h
    +++ b/sys/sys/namei.h
    @@ -1,11 +1,11 @@
    -/*	$NetBSD: namei.h,v 1.82 2012/10/13 17:47:11 dholland Exp $	*/
    +/*	$NetBSD: namei.h,v 1.87 2012/11/18 18:25:50 dholland Exp $	*/
     
     
     /*
      * WARNING: GENERATED FILE.  DO NOT EDIT
      * (edit namei.src and run make namei in src/sys/sys)
      *   by:   NetBSD: gennameih.awk,v 1.5 2009/12/23 14:17:19 pooka Exp 
    - *   from: NetBSD: namei.src,v 1.27 2012/10/13 17:46:50 dholland Exp 
    + *   from: NetBSD: namei.src,v 1.31 2012/11/18 18:25:08 dholland Exp 
      */
     
     /*
    @@ -91,7 +91,7 @@ struct nameidata {
     	/*
     	 * Arguments to namei/lookup.
     	 */
    -	struct vnode *ni_startdir;	/* starting dir, cwd if null */
    +	struct vnode *ni_atdir;		/* startup dir, cwd if null */
     	struct pathbuf *ni_pathbuf;	/* pathname container */
     	char *ni_pnbuf;			/* extra pathname buffer ref (XXX) */
     	/*
    @@ -127,7 +127,6 @@ struct nameidata {
     		 */
     		const char 	*cn_nameptr;	/* pointer to looked up name */
     		size_t		cn_namelen;	/* length of looked up comp */
    -		u_long		cn_hash;	/* hash val of looked up name */
     		size_t		cn_consume;	/* chars to consume in lookup */
     	} ni_cnd;
     };
    @@ -177,7 +176,7 @@ struct nameidata {
     #define NDINIT(ndp, op, flags, pathbuf) { \
     	(ndp)->ni_cnd.cn_nameiop = op; \
     	(ndp)->ni_cnd.cn_flags = flags; \
    -	(ndp)->ni_startdir = NULL; \
    +	(ndp)->ni_atdir = NULL; \
     	(ndp)->ni_pathbuf = pathbuf; \
     	(ndp)->ni_cnd.cn_cred = kauth_cred_get(); \
     }
    @@ -186,7 +185,7 @@ struct nameidata {
      * Use this to set the start directory for openat()-type operations.
      */
     #define NDAT(ndp, dir) {			\
    -	(ndp)->ni_startdir = (dir);		\
    +	(ndp)->ni_atdir = (dir);		\
     }
     
     #endif
    @@ -234,7 +233,7 @@ extern pool_cache_t pnbuf_cache;	/* pathname buffer cache */
     #define	PNBUF_PUT(pnb)	pool_cache_put(pnbuf_cache, (pnb))
     
     /*
    - * Typesafe flags for namei_simple.
    + * Typesafe flags for namei_simple/nameiat_simple.
      *
      * This encoding is not optimal but serves the important purpose of
      * not being type-compatible with the regular namei flags.
    @@ -248,11 +247,13 @@ extern const namei_simple_flags_t
     	NSM_FOLLOW_TRYEMULROOT;
     
     /*
    - * namei_simple_* - the simple cases of namei, with no struct
    - *                  nameidata involved.
    + * namei(at)?_simple_* - the simple cases of namei, with no struct
    + *                       nameidata involved.
      *
      * namei_simple_kernel takes a kernel-space path as the first argument.
      * namei_simple_user takes a user-space path as the first argument.
    + * The nameiat_simple_* variants handle relative path using the given 
    + * directory vnode instead of current directory.
      *
      * A namei call can be converted to namei_simple_* if:
      *    - the second arg to NDINIT is LOOKUP;
    @@ -262,21 +263,27 @@ extern const namei_simple_flags_t
      */
     int namei_simple_kernel(const char *, namei_simple_flags_t, struct vnode **);
     int namei_simple_user(const char *, namei_simple_flags_t, struct vnode **);
    +int nameiat_simple_kernel(struct vnode *, const char *, namei_simple_flags_t,
    +    struct vnode **);
    +int nameiat_simple_user(struct vnode *, const char *, namei_simple_flags_t, 
    +    struct vnode **);
     
     int	namei(struct nameidata *);
     uint32_t namei_hash(const char *, const char **);
     int	lookup_for_nfsd(struct nameidata *, struct vnode *, int neverfollow);
     int	lookup_for_nfsd_index(struct nameidata *, struct vnode *);
     int	relookup(struct vnode *, struct vnode **, struct componentname *, int);
    -void	cache_purge1(struct vnode *, const struct componentname *, int);
    +void	cache_purge1(struct vnode *, const char *, size_t, int);
     #define	PURGE_PARENTS	1
     #define	PURGE_CHILDREN	2
    -#define	cache_purge(vp)	cache_purge1((vp), NULL, PURGE_PARENTS|PURGE_CHILDREN)
    -int	cache_lookup(struct vnode *, struct vnode **, struct componentname *);
    -int	cache_lookup_raw(struct vnode *, struct vnode **,
    -			 struct componentname *);
    +#define	cache_purge(vp)	cache_purge1((vp),NULL,0,PURGE_PARENTS|PURGE_CHILDREN)
    +int	cache_lookup(struct vnode *, const char *, size_t, uint32_t, uint32_t,
    +			int *, struct vnode **);
    +int	cache_lookup_raw(struct vnode *, const char *, size_t, uint32_t,
    +			int *, struct vnode **);
     int	cache_revlookup(struct vnode *, struct vnode **, char **, char *);
    -void	cache_enter(struct vnode *, struct vnode *, struct componentname *);
    +void	cache_enter(struct vnode *, struct vnode *,
    +			const char *, size_t, uint32_t);
     void	nchinit(void);
     void	nchreinit(void);
     void	cache_cpu_init(struct cpu_info *);
    diff --git a/sys/sys/param.h b/sys/sys/param.h
    index a2fcd5e03..ee23338e7 100644
    --- a/sys/sys/param.h
    +++ b/sys/sys/param.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: param.h,v 1.421 2012/10/13 17:54:40 dholland Exp $	*/
    +/*	$NetBSD: param.h,v 1.437 2013/11/25 03:03:41 christos Exp $	*/
     
     /*-
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -63,7 +63,7 @@
      *	2.99.9		(299000900)
      */
     
    -#define	__NetBSD_Version__	699001300	/* NetBSD 6.99.13 */
    +#define	__NetBSD_Version__	699002800	/* NetBSD 6.99.28 */
     
     #define __NetBSD_Prereq__(M,m,p) (((((M) * 100000000) + \
         (m) * 1000000) + (p) * 100) <= __NetBSD_Version__)
    @@ -149,8 +149,8 @@
     #define	NVNODE	(NPROC + NTEXT + 100)
     #define	NVNODE_IMPLICIT
     #endif
    -#ifndef VNODE_VA_MAXPCT
    -#define	VNODE_VA_MAXPCT	20
    +#ifndef VNODE_KMEM_MAXPCT
    +#define	VNODE_KMEM_MAXPCT	60
     #endif
     #ifndef BUFCACHE_VA_MAXPCT
     #define	BUFCACHE_VA_MAXPCT	20
    diff --git a/sys/sys/pcu.h b/sys/sys/pcu.h
    index 29710978d..8d335511e 100644
    --- a/sys/sys/pcu.h
    +++ b/sys/sys/pcu.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pcu.h,v 1.9 2012/04/18 13:42:11 yamt Exp $	*/
    +/*	$NetBSD: pcu.h,v 1.11 2013/08/22 19:50:55 drochner Exp $	*/
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -50,33 +50,42 @@
     #if PCU_UNIT_COUNT > 0
     
     /*
    - * pcu_state_save(lwp)
    + * pcu_state_save(lwp, flags)
      *	save the current CPU's state into the given LWP's MD storage.
      *
    - * pcu_state_load(lwp, used)
    + * pcu_state_load(lwp, flags)
      *	load PCU state from the given LWP's MD storage to the current CPU.
    - *	the 'used' argument is true if it isn't the first time the LWP uses
    - *	the PCU.
    + *	the 'flags' argument contains PCU_LOADED if it isn't the first time
    + *	the LWP has used the PCU.
      *
    - * pcu_state_release(lwp)
    + * pcu_state_release(lwp, flags)
      *	tell MD code detect the next use of the PCU on the LWP, and call
      *	pcu_load().
      */
     
     typedef struct {
     	u_int	pcu_id;
    -	void	(*pcu_state_save)(lwp_t *);
    -	void	(*pcu_state_load)(lwp_t *, bool);
    -	void	(*pcu_state_release)(lwp_t *);
    +	void	(*pcu_state_save)(lwp_t *, u_int);
    +	void	(*pcu_state_load)(lwp_t *, u_int);
    +	void	(*pcu_state_release)(lwp_t *, u_int);
     } pcu_ops_t;
     
    +#define	PCU_USER	0x00		/* PCU state is for the user */
    +#define	PCU_KERNEL	0x01		/* PCU state is for the kernel */
    +#define	PCU_RELOAD	0x02		/* Load registers into the PCU, */
    +#define	PCU_ENABLE	0x04		/* Enable the PCU, */
    +#define	PCU_LOADED	0x08		/* LWP has used the PCU before, */
    +
     void	pcu_switchpoint(lwp_t *);
     void	pcu_discard_all(lwp_t *);
     void	pcu_save_all(lwp_t *);
     
     void	pcu_load(const pcu_ops_t *);
     void	pcu_save(const pcu_ops_t *);
    -void	pcu_discard(const pcu_ops_t *);
    +void	pcu_save_all_on_cpu(void);
    +void	pcu_discard(const pcu_ops_t *, bool);
    +void	pcu_kernel_acquire(const pcu_ops_t *);
    +void	pcu_kernel_release(const pcu_ops_t *);
     bool	pcu_used_p(const pcu_ops_t *);
     
     #else
    diff --git a/sys/sys/physmap.h b/sys/sys/physmap.h
    new file mode 100644
    index 000000000..7fcace28d
    --- /dev/null
    +++ b/sys/sys/physmap.h
    @@ -0,0 +1,70 @@
    +/*	$NetBSD: physmap.h,v 1.4 2013/04/08 01:33:53 uebayasi Exp $	*/
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Matt Thomas of 3am Software Foundry.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef _SYS_PHYSMAP_H_
    +#define _SYS_PHYSMAP_H_
    +
    +#if !defined(_KERNEL) && !defined(_KMEMUSER)
    +#error "not supposed to be exposed to userland"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +
    +typedef struct {
    +	paddr_t ps_addr;
    +	psize_t ps_len;
    +} physmap_segment_t;
    +
    +/* typedef is in  */
    +struct physmap {
    +	uint16_t pm_nsegs;
    +	uint16_t pm_maxsegs;
    +	physmap_segment_t pm_segs[0];
    +};
    +
    +int	physmap_create_iov(physmap_t **, const struct vmspace *,
    +	    struct iovec *, size_t);
    +int	physmap_create_linear(physmap_t **, const struct vmspace *,
    +	    vaddr_t, vsize_t);
    +physmap_t *
    +	physmap_create_pagelist(struct vm_page **, size_t);
    +
    +void	physmap_destroy(physmap_t *);
    +
    +void *	physmap_map_init(physmap_t *, size_t, vm_prot_t);
    +size_t	physmap_map(void *, vaddr_t *);
    +void	physmap_map_fini(void *);
    +
    +void	physmap_zero(physmap_t *, size_t, size_t);
    +
    +#endif /* _SYS_PHYSMAP_H_ */
    diff --git a/sys/sys/pmf.h b/sys/sys/pmf.h
    index baa3507a8..cc16eb158 100644
    --- a/sys/sys/pmf.h
    +++ b/sys/sys/pmf.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: pmf.h,v 1.18 2010/02/24 22:38:10 dyoung Exp $ */
    +/* $NetBSD: pmf.h,v 1.21 2013/08/06 06:10:57 matt Exp $ */
     
     /*-
      * Copyright (c) 2007 Jared D. McNeill 
    @@ -46,7 +46,12 @@ typedef enum {
     	PMFE_AUDIO_VOLUME_DOWN,
     	PMFE_AUDIO_VOLUME_TOGGLE,
     	PMFE_CHASSIS_LID_CLOSE,
    -	PMFE_CHASSIS_LID_OPEN
    +	PMFE_CHASSIS_LID_OPEN,
    +	PMFE_RADIO_ON,
    +	PMFE_RADIO_OFF,
    +	PMFE_RADIO_TOGGLE,
    +	PMFE_POWER_CHANGED,
    +	PMFE_SPEED_CHANGED
     } pmf_generic_event_t;
     
     struct pmf_qual {
    diff --git a/sys/sys/power.h b/sys/sys/power.h
    index d2b28a82d..b9737e67e 100644
    --- a/sys/sys/power.h
    +++ b/sys/sys/power.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: power.h,v 1.17 2012/07/15 18:31:35 pgoyette Exp $	*/
    +/*	$NetBSD: power.h,v 1.19 2013/03/30 19:05:20 christos Exp $	*/
     
     /*
      * Copyright (c) 2003 Wasabi Systems, Inc.
    @@ -97,6 +97,20 @@
     #define		PSWITCH_HK_EJECT_BUTTON		"eject-button"
     #define		PSWITCH_HK_ZOOM_BUTTON		"zoom-button"
     #define		PSWITCH_HK_VENDOR_BUTTON	"vendor-button"
    +#ifndef THINKPAD_NORMAL_HOTKEYS
    +#define		PSWITCH_HK_FNF1_BUTTON		"fnf1-button"
    +#define		PSWITCH_HK_WIRELESS_BUTTON	"wireless-button"
    +#define		PSWITCH_HK_WWAN_BUTTON		"wWAN-button"
    +#define		PSWITCH_HK_POINTER_BUTTON	"pointer-button"
    +#define		PSWITCH_HK_FNF10_BUTTON		"fnf10-button"
    +#define		PSWITCH_HK_FNF11_BUTTON		"fnf11-button"
    +#define		PSWITCH_HK_BRIGHTNESS_UP	"brightness-up"
    +#define		PSWITCH_HK_BRIGHTNESS_DOWN	"brightness-down"
    +#define		PSWITCH_HK_THINKLIGHT		"thinklight"
    +#define		PSWITCH_HK_VOLUME_UP		"volume-up"
    +#define		PSWITCH_HK_VOLUME_DOWN		"volume-down"
    +#define		PSWITCH_HK_VOLUME_MUTE		"volume-mute"
    +#endif /* THINKPAD_NORMAL_HOTKEYS */
     
     #define	PSWITCH_EVENT_PRESSED	0	/* button pressed, lid closed, AC off */
     #define	PSWITCH_EVENT_RELEASED	1	/* button released, lid open, AC on */
    @@ -145,7 +159,7 @@ struct pswitch_state {
     #define PENVSYS_TYPE_INDICATOR		17
     
     /*
    - * The following events apply for temperatures, power, resistance, 
    + * The following events apply for temperatures, power, resistance,
      * voltages, battery and fan sensors:
      *
      * 	PENVSYS_EVENT_CRITICAL		A critical limit.
    diff --git a/sys/sys/proc.h b/sys/sys/proc.h
    index 0a867992c..5913b6427 100644
    --- a/sys/sys/proc.h
    +++ b/sys/sys/proc.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: proc.h,v 1.317 2012/07/22 22:40:18 rmind Exp $	*/
    +/*	$NetBSD: proc.h,v 1.319 2013/01/02 19:39:04 dsl Exp $	*/
     
     /*-
      * Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
    @@ -68,6 +68,10 @@
     #ifndef _SYS_PROC_H_
     #define	_SYS_PROC_H_
     
    +#include 
    +
    +#if defined(_KMEMUSER) || defined(_KERNEL)
    +
     #if defined(_KERNEL_OPT)
     #include "opt_multiprocessor.h"
     #include "opt_kstack.h"
    @@ -75,12 +79,12 @@
     #endif
     
     #include 		/* Machine-dependent proc substruct */
    +#include 
     #include 
     #include 
     #include 
     #include 
     #include 
    -#include 
     #include 
     #include 
     #include 
    @@ -323,6 +327,8 @@ struct proc {
     #define	p_session	p_pgrp->pg_session
     #define	p_pgid		p_pgrp->pg_id
     
    +#endif	/* _KMEMUSER || _KERNEL */
    +
     /*
      * Status values.
      */
    @@ -389,6 +395,8 @@ struct proc {
     #define	PL_SIGCOMPAT	0x00000200 /* Has used compat signal trampoline */
     #define	PL_ORPHANPG	0x20000000 /* Member of an orphaned pgrp */
     
    +#if defined(_KMEMUSER) || defined(_KERNEL)
    +
     /*
      * Macro to compute the exit signal to be delivered.
      */
    @@ -537,8 +545,6 @@ extern struct emul emul_netbsd;
     
     #endif	/* _KERNEL */
     
    -#if defined(_KMEMUSER) || defined(_KERNEL)
    -
     /*
      * Kernel stack parameters.
      *
    diff --git a/sys/sys/pset.h b/sys/sys/pset.h
    index a7143a44c..6d32f7d5f 100644
    --- a/sys/sys/pset.h
    +++ b/sys/sys/pset.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pset.h,v 1.3 2008/05/26 17:45:51 rmind Exp $	*/
    +/*	$NetBSD: pset.h,v 1.4 2013/04/27 21:35:24 joerg Exp $	*/
     
     /*
      * Copyright (c) 2008, Mindaugas Rasiukevicius 
    @@ -30,6 +30,7 @@
     #define _SYS_PSET_H_
     
     #include 
    +#include 
     #include 
     
     /* Types of processor-sets */
    diff --git a/sys/sys/ptrace.h b/sys/sys/ptrace.h
    index 5a58fa7cf..6048bb0d1 100644
    --- a/sys/sys/ptrace.h
    +++ b/sys/sys/ptrace.h
    @@ -211,7 +211,7 @@ __END_DECLS
     
     #endif /* !_KERNEL */
     
    -#ifdef __minix
    +#if defined(__minix)
     /* Trace options. */
     #define TO_TRACEFORK   0x1     /* automatically attach to forked children */
     #define TO_ALTEXEC     0x2     /* send SIGSTOP on successful exec() */
    @@ -256,6 +256,6 @@ struct ptrace_range {
     #define T_GETRANGE     106       /* get range of values */
     #define T_SETRANGE     107       /* set range of values */
     
    -#endif
    +#endif /* defined(__minix) */
     
     #endif	/* !_SYS_PTRACE_H_ */
    diff --git a/sys/sys/queue.h b/sys/sys/queue.h
    index 368830b4e..d530c17cb 100644
    --- a/sys/sys/queue.h
    +++ b/sys/sys/queue.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: queue.h,v 1.53 2011/11/19 22:51:31 tls Exp $	*/
    +/*	$NetBSD: queue.h,v 1.64 2013/11/27 12:24:56 joerg Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993
    @@ -34,8 +34,6 @@
     #ifndef	_SYS_QUEUE_H_
     #define	_SYS_QUEUE_H_
     
    -#include 
    -
     /*
      * This file defines five types of data structures: singly-linked lists,
      * lists, simple queues, tail queues, and circular queues.
    @@ -82,6 +80,92 @@
      * For details on the use of these macros, see the queue(3) manual page.
      */
     
    +/*
    + * Include the definition of NULL only on NetBSD because sys/null.h
    + * is not available elsewhere.  This conditional makes the header
    + * portable and it can simply be dropped verbatim into any system.
    + * The caveat is that on other systems some other header
    + * must provide NULL before the macros can be used.
    + */
    +#if defined(__NetBSD__) || defined(__minix)
    +#include 
    +#endif
    +
    +/*
    + * Singly-linked List definitions.
    + */
    +#define	SLIST_HEAD(name, type)						\
    +struct name {								\
    +	struct type *slh_first;	/* first element */			\
    +}
    +
    +#define	SLIST_HEAD_INITIALIZER(head)					\
    +	{ NULL }
    +
    +#define	SLIST_ENTRY(type)						\
    +struct {								\
    +	struct type *sle_next;	/* next element */			\
    +}
    +
    +/*
    + * Singly-linked List access methods.
    + */
    +#define	SLIST_FIRST(head)	((head)->slh_first)
    +#define	SLIST_END(head)		NULL
    +#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
    +#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
    +
    +#define	SLIST_FOREACH(var, head, field)					\
    +	for((var) = (head)->slh_first;					\
    +	    (var) != SLIST_END(head);					\
    +	    (var) = (var)->field.sle_next)
    +
    +#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
    +	for ((var) = SLIST_FIRST((head));				\
    +	    (var) != SLIST_END(head) &&					\
    +	    ((tvar) = SLIST_NEXT((var), field), 1);			\
    +	    (var) = (tvar))
    +
    +/*
    + * Singly-linked List functions.
    + */
    +#define	SLIST_INIT(head) do {						\
    +	(head)->slh_first = SLIST_END(head);				\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
    +	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
    +	(slistelm)->field.sle_next = (elm);				\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
    +	(elm)->field.sle_next = (head)->slh_first;			\
    +	(head)->slh_first = (elm);					\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SLIST_REMOVE_AFTER(slistelm, field) do {			\
    +	(slistelm)->field.sle_next =					\
    +	    SLIST_NEXT(SLIST_NEXT((slistelm), field), field);		\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SLIST_REMOVE_HEAD(head, field) do {				\
    +	(head)->slh_first = (head)->slh_first->field.sle_next;		\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SLIST_REMOVE(head, elm, type, field) do {			\
    +	if ((head)->slh_first == (elm)) {				\
    +		SLIST_REMOVE_HEAD((head), field);			\
    +	}								\
    +	else {								\
    +		struct type *curelm = (head)->slh_first;		\
    +		while(curelm->field.sle_next != (elm))			\
    +			curelm = curelm->field.sle_next;		\
    +		curelm->field.sle_next =				\
    +		    curelm->field.sle_next->field.sle_next;		\
    +	}								\
    +} while (/*CONSTCOND*/0)
    +
    +
     /*
      * List definitions.
      */
    @@ -99,6 +183,25 @@ struct {								\
     	struct type **le_prev;	/* address of previous next element */	\
     }
     
    +/*
    + * List access methods.
    + */
    +#define	LIST_FIRST(head)		((head)->lh_first)
    +#define	LIST_END(head)			NULL
    +#define	LIST_EMPTY(head)		((head)->lh_first == LIST_END(head))
    +#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
    +
    +#define	LIST_FOREACH(var, head, field)					\
    +	for ((var) = ((head)->lh_first);				\
    +	    (var) != LIST_END(head);					\
    +	    (var) = ((var)->field.le_next))
    +
    +#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
    +	for ((var) = LIST_FIRST((head));				\
    +	    (var) != LIST_END(head) &&					\
    +	    ((tvar) = LIST_NEXT((var), field), 1);			\
    +	    (var) = (tvar))
    +
     /*
      * List functions.
      */
    @@ -124,12 +227,13 @@ struct {								\
     #endif
     
     #define	LIST_INIT(head) do {						\
    -	(head)->lh_first = NULL;					\
    +	(head)->lh_first = LIST_END(head);				\
     } while (/*CONSTCOND*/0)
     
     #define	LIST_INSERT_AFTER(listelm, elm, field) do {			\
     	QUEUEDEBUG_LIST_OP((listelm), field)				\
    -	if (((elm)->field.le_next = (listelm)->field.le_next) != NULL)	\
    +	if (((elm)->field.le_next = (listelm)->field.le_next) != 	\
    +	    LIST_END(head))						\
     		(listelm)->field.le_next->field.le_prev =		\
     		    &(elm)->field.le_next;				\
     	(listelm)->field.le_next = (elm);				\
    @@ -146,7 +250,7 @@ struct {								\
     
     #define	LIST_INSERT_HEAD(head, elm, field) do {				\
     	QUEUEDEBUG_LIST_INSERT_HEAD((head), (elm), field)		\
    -	if (((elm)->field.le_next = (head)->lh_first) != NULL)		\
    +	if (((elm)->field.le_next = (head)->lh_first) != LIST_END(head))\
     		(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
     	(head)->lh_first = (elm);					\
     	(elm)->field.le_prev = &(head)->lh_first;			\
    @@ -161,101 +265,286 @@ struct {								\
     	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
     } while (/*CONSTCOND*/0)
     
    -#define	LIST_FOREACH(var, head, field)					\
    -	for ((var) = ((head)->lh_first);				\
    -		(var);							\
    -		(var) = ((var)->field.le_next))
    -
    -#define	LIST_FOREACH_SAFE(var, head, field, tvar)			\
    -	for ((var) = LIST_FIRST((head));				\
    -		(var) && ((tvar) = LIST_NEXT((var), field), 1);		\
    -		(var) = (tvar))
    -/*
    - * List access methods.
    - */
    -#define	LIST_EMPTY(head)		((head)->lh_first == NULL)
    -#define	LIST_FIRST(head)		((head)->lh_first)
    -#define	LIST_NEXT(elm, field)		((elm)->field.le_next)
    -
    +#define LIST_REPLACE(elm, elm2, field) do {				\
    +	if (((elm2)->field.le_next = (elm)->field.le_next) != NULL)	\
    +		(elm2)->field.le_next->field.le_prev =			\
    +		    &(elm2)->field.le_next;				\
    +	(elm2)->field.le_prev = (elm)->field.le_prev;			\
    +	*(elm2)->field.le_prev = (elm2);				\
    +	QUEUEDEBUG_LIST_POSTREMOVE((elm), field)			\
    +} while (/*CONSTCOND*/0)
     
     /*
    - * Singly-linked List definitions.
    + * Simple queue definitions.
      */
    -#define	SLIST_HEAD(name, type)						\
    +#define	SIMPLEQ_HEAD(name, type)					\
     struct name {								\
    -	struct type *slh_first;	/* first element */			\
    +	struct type *sqh_first;	/* first element */			\
    +	struct type **sqh_last;	/* addr of last next element */		\
     }
     
    -#define	SLIST_HEAD_INITIALIZER(head)					\
    -	{ NULL }
    +#define	SIMPLEQ_HEAD_INITIALIZER(head)					\
    +	{ NULL, &(head).sqh_first }
     
    -#define	SLIST_ENTRY(type)						\
    +#define	SIMPLEQ_ENTRY(type)						\
     struct {								\
    -	struct type *sle_next;	/* next element */			\
    +	struct type *sqe_next;	/* next element */			\
     }
     
     /*
    - * Singly-linked List functions.
    + * Simple queue access methods.
      */
    -#define	SLIST_INIT(head) do {						\
    -	(head)->slh_first = NULL;					\
    -} while (/*CONSTCOND*/0)
    +#define	SIMPLEQ_FIRST(head)		((head)->sqh_first)
    +#define	SIMPLEQ_END(head)		NULL
    +#define	SIMPLEQ_EMPTY(head)		((head)->sqh_first == SIMPLEQ_END(head))
    +#define	SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
     
    -#define	SLIST_INSERT_AFTER(slistelm, elm, field) do {			\
    -	(elm)->field.sle_next = (slistelm)->field.sle_next;		\
    -	(slistelm)->field.sle_next = (elm);				\
    -} while (/*CONSTCOND*/0)
    +#define	SIMPLEQ_FOREACH(var, head, field)				\
    +	for ((var) = ((head)->sqh_first);				\
    +	    (var) != SIMPLEQ_END(head);					\
    +	    (var) = ((var)->field.sqe_next))
     
    -#define	SLIST_INSERT_HEAD(head, elm, field) do {			\
    -	(elm)->field.sle_next = (head)->slh_first;			\
    -	(head)->slh_first = (elm);					\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SLIST_REMOVE_HEAD(head, field) do {				\
    -	(head)->slh_first = (head)->slh_first->field.sle_next;		\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SLIST_REMOVE(head, elm, type, field) do {			\
    -	if ((head)->slh_first == (elm)) {				\
    -		SLIST_REMOVE_HEAD((head), field);			\
    -	}								\
    -	else {								\
    -		struct type *curelm = (head)->slh_first;		\
    -		while(curelm->field.sle_next != (elm))			\
    -			curelm = curelm->field.sle_next;		\
    -		curelm->field.sle_next =				\
    -		    curelm->field.sle_next->field.sle_next;		\
    -	}								\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SLIST_REMOVE_AFTER(slistelm, field) do {			\
    -	(slistelm)->field.sle_next =					\
    -	    SLIST_NEXT(SLIST_NEXT((slistelm), field), field);		\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SLIST_FOREACH(var, head, field)					\
    -	for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next)
    -
    -#define	SLIST_FOREACH_SAFE(var, head, field, tvar)			\
    -	for ((var) = SLIST_FIRST((head));				\
    -	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
    -	    (var) = (tvar))
    +#define	SIMPLEQ_FOREACH_SAFE(var, head, field, next)			\
    +	for ((var) = ((head)->sqh_first);				\
    +	    (var) != SIMPLEQ_END(head) &&				\
    +	    ((next = ((var)->field.sqe_next)), 1);			\
    +	    (var) = (next))
     
     /*
    - * Singly-linked List access methods.
    + * Simple queue functions.
      */
    -#define	SLIST_EMPTY(head)	((head)->slh_first == NULL)
    -#define	SLIST_FIRST(head)	((head)->slh_first)
    -#define	SLIST_NEXT(elm, field)	((elm)->field.sle_next)
    +#define	SIMPLEQ_INIT(head) do {						\
    +	(head)->sqh_first = NULL;					\
    +	(head)->sqh_last = &(head)->sqh_first;				\
    +} while (/*CONSTCOND*/0)
     
    +#define	SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
    +	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
    +		(head)->sqh_last = &(elm)->field.sqe_next;		\
    +	(head)->sqh_first = (elm);					\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
    +	(elm)->field.sqe_next = NULL;					\
    +	*(head)->sqh_last = (elm);					\
    +	(head)->sqh_last = &(elm)->field.sqe_next;			\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    +	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
    +		(head)->sqh_last = &(elm)->field.sqe_next;		\
    +	(listelm)->field.sqe_next = (elm);				\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SIMPLEQ_REMOVE_HEAD(head, field) do {				\
    +	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
    +		(head)->sqh_last = &(head)->sqh_first;			\
    +} while (/*CONSTCOND*/0)
    +
    +#define SIMPLEQ_REMOVE_AFTER(head, elm, field) do {			\
    +	if (((elm)->field.sqe_next = (elm)->field.sqe_next->field.sqe_next) \
    +	    == NULL)							\
    +		(head)->sqh_last = &(elm)->field.sqe_next;		\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SIMPLEQ_REMOVE(head, elm, type, field) do {			\
    +	if ((head)->sqh_first == (elm)) {				\
    +		SIMPLEQ_REMOVE_HEAD((head), field);			\
    +	} else {							\
    +		struct type *curelm = (head)->sqh_first;		\
    +		while (curelm->field.sqe_next != (elm))			\
    +			curelm = curelm->field.sqe_next;		\
    +		if ((curelm->field.sqe_next =				\
    +			curelm->field.sqe_next->field.sqe_next) == NULL) \
    +			    (head)->sqh_last = &(curelm)->field.sqe_next; \
    +	}								\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SIMPLEQ_CONCAT(head1, head2) do {				\
    +	if (!SIMPLEQ_EMPTY((head2))) {					\
    +		*(head1)->sqh_last = (head2)->sqh_first;		\
    +		(head1)->sqh_last = (head2)->sqh_last;		\
    +		SIMPLEQ_INIT((head2));					\
    +	}								\
    +} while (/*CONSTCOND*/0)
    +
    +#define	SIMPLEQ_LAST(head, type, field)					\
    +	(SIMPLEQ_EMPTY((head)) ?						\
    +		NULL :							\
    +	        ((struct type *)(void *)				\
    +		((char *)((head)->sqh_last) - offsetof(struct type, field))))
    +
    +/*
    + * Tail queue definitions.
    + */
    +#define	_TAILQ_HEAD(name, type, qual)					\
    +struct name {								\
    +	qual type *tqh_first;		/* first element */		\
    +	qual type *qual *tqh_last;	/* addr of last next element */	\
    +}
    +#define TAILQ_HEAD(name, type)	_TAILQ_HEAD(name, struct type,)
    +
    +#define	TAILQ_HEAD_INITIALIZER(head)					\
    +	{ TAILQ_END(head), &(head).tqh_first }
    +
    +#define	_TAILQ_ENTRY(type, qual)					\
    +struct {								\
    +	qual type *tqe_next;		/* next element */		\
    +	qual type *qual *tqe_prev;	/* address of previous next element */\
    +}
    +#define TAILQ_ENTRY(type)	_TAILQ_ENTRY(struct type,)
    +
    +/*
    + * Tail queue access methods.
    + */
    +#define	TAILQ_FIRST(head)		((head)->tqh_first)
    +#define	TAILQ_END(head)			(NULL)
    +#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
    +#define	TAILQ_LAST(head, headname) \
    +	(*(((struct headname *)((head)->tqh_last))->tqh_last))
    +#define	TAILQ_PREV(elm, headname, field) \
    +	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
    +#define	TAILQ_EMPTY(head)		(TAILQ_FIRST(head) == TAILQ_END(head))
    +
    +
    +#define	TAILQ_FOREACH(var, head, field)					\
    +	for ((var) = ((head)->tqh_first);				\
    +	    (var) != TAILQ_END(head);					\
    +	    (var) = ((var)->field.tqe_next))
    +
    +#define	TAILQ_FOREACH_SAFE(var, head, field, next)			\
    +	for ((var) = ((head)->tqh_first);				\
    +	    (var) != TAILQ_END(head) &&					\
    +	    ((next) = TAILQ_NEXT(var, field), 1); (var) = (next))
    +
    +#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
    +	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));\
    +	    (var) != TAILQ_END(head);					\
    +	    (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
    +
    +#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev)	\
    +	for ((var) = TAILQ_LAST((head), headname);			\
    +	    (var) != TAILQ_END(head) && 				\
    +	    ((prev) = TAILQ_PREV((var), headname, field), 1); (var) = (prev))
    +
    +/*
    + * Tail queue functions.
    + */
    +#if defined(_KERNEL) && defined(QUEUEDEBUG)
    +#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)			\
    +	if ((head)->tqh_first &&					\
    +	    (head)->tqh_first->field.tqe_prev != &(head)->tqh_first)	\
    +		panic("TAILQ_INSERT_HEAD %p %s:%d", (head), __FILE__, __LINE__);
    +#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)			\
    +	if (*(head)->tqh_last != NULL)					\
    +		panic("TAILQ_INSERT_TAIL %p %s:%d", (head), __FILE__, __LINE__);
    +#define	QUEUEDEBUG_TAILQ_OP(elm, field)					\
    +	if ((elm)->field.tqe_next &&					\
    +	    (elm)->field.tqe_next->field.tqe_prev !=			\
    +	    &(elm)->field.tqe_next)					\
    +		panic("TAILQ_* forw %p %s:%d", (elm), __FILE__, __LINE__);\
    +	if (*(elm)->field.tqe_prev != (elm))				\
    +		panic("TAILQ_* back %p %s:%d", (elm), __FILE__, __LINE__);
    +#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)			\
    +	if ((elm)->field.tqe_next == NULL &&				\
    +	    (head)->tqh_last != &(elm)->field.tqe_next)			\
    +		panic("TAILQ_PREREMOVE head %p elm %p %s:%d",		\
    +		      (head), (elm), __FILE__, __LINE__);
    +#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)				\
    +	(elm)->field.tqe_next = (void *)1L;				\
    +	(elm)->field.tqe_prev = (void *)1L;
    +#else
    +#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
    +#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
    +#define	QUEUEDEBUG_TAILQ_OP(elm, field)
    +#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
    +#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
    +#endif
    +
    +#define	TAILQ_INIT(head) do {						\
    +	(head)->tqh_first = TAILQ_END(head);				\
    +	(head)->tqh_last = &(head)->tqh_first;				\
    +} while (/*CONSTCOND*/0)
    +
    +#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
    +	QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field)		\
    +	if (((elm)->field.tqe_next = (head)->tqh_first) != TAILQ_END(head))\
    +		(head)->tqh_first->field.tqe_prev =			\
    +		    &(elm)->field.tqe_next;				\
    +	else								\
    +		(head)->tqh_last = &(elm)->field.tqe_next;		\
    +	(head)->tqh_first = (elm);					\
    +	(elm)->field.tqe_prev = &(head)->tqh_first;			\
    +} while (/*CONSTCOND*/0)
    +
    +#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
    +	QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field)		\
    +	(elm)->field.tqe_next = TAILQ_END(head);			\
    +	(elm)->field.tqe_prev = (head)->tqh_last;			\
    +	*(head)->tqh_last = (elm);					\
    +	(head)->tqh_last = &(elm)->field.tqe_next;			\
    +} while (/*CONSTCOND*/0)
    +
    +#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    +	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
    +	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != 	\
    +	    TAILQ_END(head))						\
    +		(elm)->field.tqe_next->field.tqe_prev = 		\
    +		    &(elm)->field.tqe_next;				\
    +	else								\
    +		(head)->tqh_last = &(elm)->field.tqe_next;		\
    +	(listelm)->field.tqe_next = (elm);				\
    +	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
    +} while (/*CONSTCOND*/0)
    +
    +#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
    +	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
    +	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
    +	(elm)->field.tqe_next = (listelm);				\
    +	*(listelm)->field.tqe_prev = (elm);				\
    +	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
    +} while (/*CONSTCOND*/0)
    +
    +#define	TAILQ_REMOVE(head, elm, field) do {				\
    +	QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field)		\
    +	QUEUEDEBUG_TAILQ_OP((elm), field)				\
    +	if (((elm)->field.tqe_next) != TAILQ_END(head))			\
    +		(elm)->field.tqe_next->field.tqe_prev = 		\
    +		    (elm)->field.tqe_prev;				\
    +	else								\
    +		(head)->tqh_last = (elm)->field.tqe_prev;		\
    +	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
    +	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
    +} while (/*CONSTCOND*/0)
    +
    +#define TAILQ_REPLACE(head, elm, elm2, field) do {                      \
    +        if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != 	\
    +	    TAILQ_END(head))   						\
    +                (elm2)->field.tqe_next->field.tqe_prev =                \
    +                    &(elm2)->field.tqe_next;                            \
    +        else                                                            \
    +                (head)->tqh_last = &(elm2)->field.tqe_next;             \
    +        (elm2)->field.tqe_prev = (elm)->field.tqe_prev;                 \
    +        *(elm2)->field.tqe_prev = (elm2);                               \
    +	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
    +} while (/*CONSTCOND*/0)
    +
    +#define	TAILQ_CONCAT(head1, head2, field) do {				\
    +	if (!TAILQ_EMPTY(head2)) {					\
    +		*(head1)->tqh_last = (head2)->tqh_first;		\
    +		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
    +		(head1)->tqh_last = (head2)->tqh_last;			\
    +		TAILQ_INIT((head2));					\
    +	}								\
    +} while (/*CONSTCOND*/0)
     
     /*
      * Singly-linked Tail queue declarations.
      */
    -#define	STAILQ_HEAD(name, type)					\
    +#define	STAILQ_HEAD(name, type)						\
     struct name {								\
    -	struct type *stqh_first;	/* first element */			\
    -	struct type **stqh_last;	/* addr of last next element */		\
    +	struct type *stqh_first;	/* first element */		\
    +	struct type **stqh_last;	/* addr of last next element */	\
     }
     
     #define	STAILQ_HEAD_INITIALIZER(head)					\
    @@ -266,6 +555,14 @@ struct {								\
     	struct type *stqe_next;	/* next element */			\
     }
     
    +/*
    + * Singly-linked Tail queue access methods.
    + */
    +#define	STAILQ_FIRST(head)	((head)->stqh_first)
    +#define	STAILQ_END(head)	NULL
    +#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
    +#define	STAILQ_EMPTY(head)	(STAILQ_FIRST(head) == STAILQ_END(head))
    +
     /*
      * Singly-linked Tail queue functions.
      */
    @@ -334,273 +631,49 @@ struct {								\
     	        ((struct type *)(void *)				\
     		((char *)((head)->stqh_last) - offsetof(struct type, field))))
     
    -/*
    - * Singly-linked Tail queue access methods.
    - */
    -#define	STAILQ_EMPTY(head)	((head)->stqh_first == NULL)
    -#define	STAILQ_FIRST(head)	((head)->stqh_first)
    -#define	STAILQ_NEXT(elm, field)	((elm)->field.stqe_next)
     
    +#ifndef _KERNEL
    +/*
    + * Circular queue definitions. Do not use. We still keep the macros
    + * for compatibility but because of pointer aliasing issues their use
    + * is discouraged!
    + */
     
     /*
    - * Simple queue definitions.
    + * __launder_type():  We use this ugly hack to work around the the compiler
    + * noticing that two types may not alias each other and elide tests in code.
    + * We hit this in the CIRCLEQ macros when comparing 'struct name *' and
    + * 'struct type *' (see CIRCLEQ_HEAD()).  Modern compilers (such as GCC
    + * 4.8) declare these comparisons as always false, causing the code to
    + * not run as designed.
    + *
    + * This hack is only to be used for comparisons and thus can be fully const.
    + * Do not use for assignment.
    + *
    + * If we ever choose to change the ABI of the CIRCLEQ macros, we could fix
    + * this by changing the head/tail sentinal values, but see the note above
    + * this one.
      */
    -#define	SIMPLEQ_HEAD(name, type)					\
    -struct name {								\
    -	struct type *sqh_first;	/* first element */			\
    -	struct type **sqh_last;	/* addr of last next element */		\
    +static __inline const void * __launder_type(const void *);
    +static __inline const void *
    +__launder_type(const void *__x)
    +{
    +	__asm __volatile("" : "+r" (__x));
    +	return __x;
     }
     
    -#define	SIMPLEQ_HEAD_INITIALIZER(head)					\
    -	{ NULL, &(head).sqh_first }
    -
    -#define	SIMPLEQ_ENTRY(type)						\
    -struct {								\
    -	struct type *sqe_next;	/* next element */			\
    -}
    -
    -/*
    - * Simple queue functions.
    - */
    -#define	SIMPLEQ_INIT(head) do {						\
    -	(head)->sqh_first = NULL;					\
    -	(head)->sqh_last = &(head)->sqh_first;				\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_INSERT_HEAD(head, elm, field) do {			\
    -	if (((elm)->field.sqe_next = (head)->sqh_first) == NULL)	\
    -		(head)->sqh_last = &(elm)->field.sqe_next;		\
    -	(head)->sqh_first = (elm);					\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_INSERT_TAIL(head, elm, field) do {			\
    -	(elm)->field.sqe_next = NULL;					\
    -	*(head)->sqh_last = (elm);					\
    -	(head)->sqh_last = &(elm)->field.sqe_next;			\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    -	if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
    -		(head)->sqh_last = &(elm)->field.sqe_next;		\
    -	(listelm)->field.sqe_next = (elm);				\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_REMOVE_HEAD(head, field) do {				\
    -	if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \
    -		(head)->sqh_last = &(head)->sqh_first;			\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_REMOVE(head, elm, type, field) do {			\
    -	if ((head)->sqh_first == (elm)) {				\
    -		SIMPLEQ_REMOVE_HEAD((head), field);			\
    -	} else {							\
    -		struct type *curelm = (head)->sqh_first;		\
    -		while (curelm->field.sqe_next != (elm))			\
    -			curelm = curelm->field.sqe_next;		\
    -		if ((curelm->field.sqe_next =				\
    -			curelm->field.sqe_next->field.sqe_next) == NULL) \
    -			    (head)->sqh_last = &(curelm)->field.sqe_next; \
    -	}								\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_FOREACH(var, head, field)				\
    -	for ((var) = ((head)->sqh_first);				\
    -		(var);							\
    -		(var) = ((var)->field.sqe_next))
    -
    -#define	SIMPLEQ_FOREACH_SAFE(var, head, field, next)			\
    -	for ((var) = ((head)->sqh_first);				\
    -		(var) && ((next = ((var)->field.sqe_next)), 1);		\
    -		(var) = (next))
    -
    -#define	SIMPLEQ_CONCAT(head1, head2) do {				\
    -	if (!SIMPLEQ_EMPTY((head2))) {					\
    -		*(head1)->sqh_last = (head2)->sqh_first;		\
    -		(head1)->sqh_last = (head2)->sqh_last;		\
    -		SIMPLEQ_INIT((head2));					\
    -	}								\
    -} while (/*CONSTCOND*/0)
    -
    -#define	SIMPLEQ_LAST(head, type, field)					\
    -	(SIMPLEQ_EMPTY((head)) ?						\
    -		NULL :							\
    -	        ((struct type *)(void *)				\
    -		((char *)((head)->sqh_last) - offsetof(struct type, field))))
    -
    -/*
    - * Simple queue access methods.
    - */
    -#define	SIMPLEQ_EMPTY(head)		((head)->sqh_first == NULL)
    -#define	SIMPLEQ_FIRST(head)		((head)->sqh_first)
    -#define	SIMPLEQ_NEXT(elm, field)	((elm)->field.sqe_next)
    -
    -
    -/*
    - * Tail queue definitions.
    - */
    -#define	_TAILQ_HEAD(name, type, qual)					\
    -struct name {								\
    -	qual type *tqh_first;		/* first element */		\
    -	qual type *qual *tqh_last;	/* addr of last next element */	\
    -}
    -#define TAILQ_HEAD(name, type)	_TAILQ_HEAD(name, struct type,)
    -
    -#define	TAILQ_HEAD_INITIALIZER(head)					\
    -	{ NULL, &(head).tqh_first }
    -
    -#define	_TAILQ_ENTRY(type, qual)					\
    -struct {								\
    -	qual type *tqe_next;		/* next element */		\
    -	qual type *qual *tqe_prev;	/* address of previous next element */\
    -}
    -#define TAILQ_ENTRY(type)	_TAILQ_ENTRY(struct type,)
    -
    -/*
    - * Tail queue functions.
    - */
    -#if defined(_KERNEL) && defined(QUEUEDEBUG)
    -#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)			\
    -	if ((head)->tqh_first &&					\
    -	    (head)->tqh_first->field.tqe_prev != &(head)->tqh_first)	\
    -		panic("TAILQ_INSERT_HEAD %p %s:%d", (head), __FILE__, __LINE__);
    -#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)			\
    -	if (*(head)->tqh_last != NULL)					\
    -		panic("TAILQ_INSERT_TAIL %p %s:%d", (head), __FILE__, __LINE__);
    -#define	QUEUEDEBUG_TAILQ_OP(elm, field)					\
    -	if ((elm)->field.tqe_next &&					\
    -	    (elm)->field.tqe_next->field.tqe_prev !=			\
    -	    &(elm)->field.tqe_next)					\
    -		panic("TAILQ_* forw %p %s:%d", (elm), __FILE__, __LINE__);\
    -	if (*(elm)->field.tqe_prev != (elm))				\
    -		panic("TAILQ_* back %p %s:%d", (elm), __FILE__, __LINE__);
    -#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)			\
    -	if ((elm)->field.tqe_next == NULL &&				\
    -	    (head)->tqh_last != &(elm)->field.tqe_next)			\
    -		panic("TAILQ_PREREMOVE head %p elm %p %s:%d",		\
    -		      (head), (elm), __FILE__, __LINE__);
    -#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)				\
    -	(elm)->field.tqe_next = (void *)1L;				\
    -	(elm)->field.tqe_prev = (void *)1L;
    -#else
    -#define	QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
    -#define	QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
    -#define	QUEUEDEBUG_TAILQ_OP(elm, field)
    -#define	QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
    -#define	QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
    -#endif
    -
    -#define	TAILQ_INIT(head) do {						\
    -	(head)->tqh_first = NULL;					\
    -	(head)->tqh_last = &(head)->tqh_first;				\
    -} while (/*CONSTCOND*/0)
    -
    -#define	TAILQ_INSERT_HEAD(head, elm, field) do {			\
    -	QUEUEDEBUG_TAILQ_INSERT_HEAD((head), (elm), field)		\
    -	if (((elm)->field.tqe_next = (head)->tqh_first) != NULL)	\
    -		(head)->tqh_first->field.tqe_prev =			\
    -		    &(elm)->field.tqe_next;				\
    -	else								\
    -		(head)->tqh_last = &(elm)->field.tqe_next;		\
    -	(head)->tqh_first = (elm);					\
    -	(elm)->field.tqe_prev = &(head)->tqh_first;			\
    -} while (/*CONSTCOND*/0)
    -
    -#define	TAILQ_INSERT_TAIL(head, elm, field) do {			\
    -	QUEUEDEBUG_TAILQ_INSERT_TAIL((head), (elm), field)		\
    -	(elm)->field.tqe_next = NULL;					\
    -	(elm)->field.tqe_prev = (head)->tqh_last;			\
    -	*(head)->tqh_last = (elm);					\
    -	(head)->tqh_last = &(elm)->field.tqe_next;			\
    -} while (/*CONSTCOND*/0)
    -
    -#define	TAILQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    -	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
    -	if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
    -		(elm)->field.tqe_next->field.tqe_prev = 		\
    -		    &(elm)->field.tqe_next;				\
    -	else								\
    -		(head)->tqh_last = &(elm)->field.tqe_next;		\
    -	(listelm)->field.tqe_next = (elm);				\
    -	(elm)->field.tqe_prev = &(listelm)->field.tqe_next;		\
    -} while (/*CONSTCOND*/0)
    -
    -#define	TAILQ_INSERT_BEFORE(listelm, elm, field) do {			\
    -	QUEUEDEBUG_TAILQ_OP((listelm), field)				\
    -	(elm)->field.tqe_prev = (listelm)->field.tqe_prev;		\
    -	(elm)->field.tqe_next = (listelm);				\
    -	*(listelm)->field.tqe_prev = (elm);				\
    -	(listelm)->field.tqe_prev = &(elm)->field.tqe_next;		\
    -} while (/*CONSTCOND*/0)
    -
    -#define	TAILQ_REMOVE(head, elm, field) do {				\
    -	QUEUEDEBUG_TAILQ_PREREMOVE((head), (elm), field)		\
    -	QUEUEDEBUG_TAILQ_OP((elm), field)				\
    -	if (((elm)->field.tqe_next) != NULL)				\
    -		(elm)->field.tqe_next->field.tqe_prev = 		\
    -		    (elm)->field.tqe_prev;				\
    -	else								\
    -		(head)->tqh_last = (elm)->field.tqe_prev;		\
    -	*(elm)->field.tqe_prev = (elm)->field.tqe_next;			\
    -	QUEUEDEBUG_TAILQ_POSTREMOVE((elm), field);			\
    -} while (/*CONSTCOND*/0)
    -
    -#define	TAILQ_FOREACH(var, head, field)					\
    -	for ((var) = ((head)->tqh_first);				\
    -		(var);							\
    -		(var) = ((var)->field.tqe_next))
    -
    -#define	TAILQ_FOREACH_SAFE(var, head, field, next)			\
    -	for ((var) = ((head)->tqh_first);				\
    -	        (var) != NULL && ((next) = TAILQ_NEXT(var, field), 1);	\
    -		(var) = (next))
    -
    -#define	TAILQ_FOREACH_REVERSE(var, head, headname, field)		\
    -	for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last));	\
    -		(var);							\
    -		(var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last)))
    -
    -#define	TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev)	\
    -	for ((var) = TAILQ_LAST((head), headname);			\
    -		(var) && ((prev) = TAILQ_PREV((var), headname, field), 1);\
    -		(var) = (prev))
    -
    -#define	TAILQ_CONCAT(head1, head2, field) do {				\
    -	if (!TAILQ_EMPTY(head2)) {					\
    -		*(head1)->tqh_last = (head2)->tqh_first;		\
    -		(head2)->tqh_first->field.tqe_prev = (head1)->tqh_last;	\
    -		(head1)->tqh_last = (head2)->tqh_last;			\
    -		TAILQ_INIT((head2));					\
    -	}								\
    -} while (/*CONSTCOND*/0)
    -
    -/*
    - * Tail queue access methods.
    - */
    -#define	TAILQ_EMPTY(head)		((head)->tqh_first == NULL)
    -#define	TAILQ_FIRST(head)		((head)->tqh_first)
    -#define	TAILQ_NEXT(elm, field)		((elm)->field.tqe_next)
    -
    -#define	TAILQ_LAST(head, headname) \
    -	(*(((struct headname *)((head)->tqh_last))->tqh_last))
    -#define	TAILQ_PREV(elm, headname, field) \
    -	(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
    -
    -
    -/*
    - * Circular queue definitions.
    - */
     #if defined(_KERNEL) && defined(QUEUEDEBUG)
     #define QUEUEDEBUG_CIRCLEQ_HEAD(head, field)				\
    -	if ((head)->cqh_first != (void *)(head) &&			\
    -	    (head)->cqh_first->field.cqe_prev != (void *)(head))	\
    +	if ((head)->cqh_first != CIRCLEQ_ENDC(head) &&			\
    +	    (head)->cqh_first->field.cqe_prev != CIRCLEQ_ENDC(head))	\
     		panic("CIRCLEQ head forw %p %s:%d", (head),		\
     		      __FILE__, __LINE__);				\
    -	if ((head)->cqh_last != (void *)(head) &&			\
    -	    (head)->cqh_last->field.cqe_next != (void *)(head))		\
    +	if ((head)->cqh_last != CIRCLEQ_ENDC(head) &&			\
    +	    (head)->cqh_last->field.cqe_next != CIRCLEQ_ENDC(head))	\
     		panic("CIRCLEQ head back %p %s:%d", (head),		\
     		      __FILE__, __LINE__);
     #define QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)			\
    -	if ((elm)->field.cqe_next == (void *)(head)) {			\
    +	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head)) {		\
     		if ((head)->cqh_last != (elm))				\
     			panic("CIRCLEQ elm last %p %s:%d", (elm),	\
     			      __FILE__, __LINE__);			\
    @@ -609,7 +682,7 @@ struct {								\
     			panic("CIRCLEQ elm forw %p %s:%d", (elm),	\
     			      __FILE__, __LINE__);			\
     	}								\
    -	if ((elm)->field.cqe_prev == (void *)(head)) {			\
    +	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head)) {		\
     		if ((head)->cqh_first != (elm))				\
     			panic("CIRCLEQ elm first %p %s:%d", (elm),	\
     			      __FILE__, __LINE__);			\
    @@ -634,7 +707,7 @@ struct name {								\
     }
     
     #define	CIRCLEQ_HEAD_INITIALIZER(head)					\
    -	{ (void *)&head, (void *)&head }
    +	{ CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
     
     #define	CIRCLEQ_ENTRY(type)						\
     struct {								\
    @@ -646,8 +719,8 @@ struct {								\
      * Circular queue functions.
      */
     #define	CIRCLEQ_INIT(head) do {						\
    -	(head)->cqh_first = (void *)(head);				\
    -	(head)->cqh_last = (void *)(head);				\
    +	(head)->cqh_first = CIRCLEQ_END(head);				\
    +	(head)->cqh_last = CIRCLEQ_END(head);				\
     } while (/*CONSTCOND*/0)
     
     #define	CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do {		\
    @@ -655,7 +728,7 @@ struct {								\
     	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
     	(elm)->field.cqe_next = (listelm)->field.cqe_next;		\
     	(elm)->field.cqe_prev = (listelm);				\
    -	if ((listelm)->field.cqe_next == (void *)(head))		\
    +	if ((listelm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
     		(head)->cqh_last = (elm);				\
     	else								\
     		(listelm)->field.cqe_next->field.cqe_prev = (elm);	\
    @@ -667,7 +740,7 @@ struct {								\
     	QUEUEDEBUG_CIRCLEQ_ELM((head), (listelm), field)		\
     	(elm)->field.cqe_next = (listelm);				\
     	(elm)->field.cqe_prev = (listelm)->field.cqe_prev;		\
    -	if ((listelm)->field.cqe_prev == (void *)(head))		\
    +	if ((listelm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
     		(head)->cqh_first = (elm);				\
     	else								\
     		(listelm)->field.cqe_prev->field.cqe_next = (elm);	\
    @@ -677,8 +750,8 @@ struct {								\
     #define	CIRCLEQ_INSERT_HEAD(head, elm, field) do {			\
     	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
     	(elm)->field.cqe_next = (head)->cqh_first;			\
    -	(elm)->field.cqe_prev = (void *)(head);				\
    -	if ((head)->cqh_last == (void *)(head))				\
    +	(elm)->field.cqe_prev = CIRCLEQ_END(head);			\
    +	if ((head)->cqh_last == CIRCLEQ_ENDC(head))			\
     		(head)->cqh_last = (elm);				\
     	else								\
     		(head)->cqh_first->field.cqe_prev = (elm);		\
    @@ -687,9 +760,9 @@ struct {								\
     
     #define	CIRCLEQ_INSERT_TAIL(head, elm, field) do {			\
     	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
    -	(elm)->field.cqe_next = (void *)(head);				\
    +	(elm)->field.cqe_next = CIRCLEQ_END(head);			\
     	(elm)->field.cqe_prev = (head)->cqh_last;			\
    -	if ((head)->cqh_first == (void *)(head))			\
    +	if ((head)->cqh_first == CIRCLEQ_ENDC(head))			\
     		(head)->cqh_first = (elm);				\
     	else								\
     		(head)->cqh_last->field.cqe_next = (elm);		\
    @@ -699,12 +772,12 @@ struct {								\
     #define	CIRCLEQ_REMOVE(head, elm, field) do {				\
     	QUEUEDEBUG_CIRCLEQ_HEAD((head), field)				\
     	QUEUEDEBUG_CIRCLEQ_ELM((head), (elm), field)			\
    -	if ((elm)->field.cqe_next == (void *)(head))			\
    +	if ((elm)->field.cqe_next == CIRCLEQ_ENDC(head))		\
     		(head)->cqh_last = (elm)->field.cqe_prev;		\
     	else								\
     		(elm)->field.cqe_next->field.cqe_prev =			\
     		    (elm)->field.cqe_prev;				\
    -	if ((elm)->field.cqe_prev == (void *)(head))			\
    +	if ((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))		\
     		(head)->cqh_first = (elm)->field.cqe_next;		\
     	else								\
     		(elm)->field.cqe_prev->field.cqe_next =			\
    @@ -714,30 +787,36 @@ struct {								\
     
     #define	CIRCLEQ_FOREACH(var, head, field)				\
     	for ((var) = ((head)->cqh_first);				\
    -		(var) != (const void *)(head);				\
    +		(var) != CIRCLEQ_ENDC(head);				\
     		(var) = ((var)->field.cqe_next))
     
     #define	CIRCLEQ_FOREACH_REVERSE(var, head, field)			\
     	for ((var) = ((head)->cqh_last);				\
    -		(var) != (const void *)(head);				\
    +		(var) != CIRCLEQ_ENDC(head);				\
     		(var) = ((var)->field.cqe_prev))
     
     /*
      * Circular queue access methods.
      */
    -#define	CIRCLEQ_EMPTY(head)		((head)->cqh_first == (void *)(head))
     #define	CIRCLEQ_FIRST(head)		((head)->cqh_first)
     #define	CIRCLEQ_LAST(head)		((head)->cqh_last)
    +/* For comparisons */
    +#define	CIRCLEQ_ENDC(head)		(__launder_type(head))
    +/* For assignments */
    +#define	CIRCLEQ_END(head)		((void *)(head))
     #define	CIRCLEQ_NEXT(elm, field)	((elm)->field.cqe_next)
     #define	CIRCLEQ_PREV(elm, field)	((elm)->field.cqe_prev)
    +#define	CIRCLEQ_EMPTY(head)						\
    +    (CIRCLEQ_FIRST(head) == CIRCLEQ_ENDC(head))
     
     #define CIRCLEQ_LOOP_NEXT(head, elm, field)				\
    -	(((elm)->field.cqe_next == (void *)(head))			\
    +	(((elm)->field.cqe_next == CIRCLEQ_ENDC(head))			\
     	    ? ((head)->cqh_first)					\
     	    : (elm->field.cqe_next))
     #define CIRCLEQ_LOOP_PREV(head, elm, field)				\
    -	(((elm)->field.cqe_prev == (void *)(head))			\
    +	(((elm)->field.cqe_prev == CIRCLEQ_ENDC(head))			\
     	    ? ((head)->cqh_last)					\
     	    : (elm->field.cqe_prev))
    +#endif /* !_KERNEL */
     
     #endif	/* !_SYS_QUEUE_H_ */
    diff --git a/sys/sys/quotactl.h b/sys/sys/quotactl.h
    index 7a70a0b3e..69d3faafc 100644
    --- a/sys/sys/quotactl.h
    +++ b/sys/sys/quotactl.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: quotactl.h,v 1.35 2012/02/01 05:46:45 dholland Exp $	*/
    +/*	$NetBSD: quotactl.h,v 1.36 2012/12/01 11:41:50 mbalmer Exp $	*/
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -66,7 +66,7 @@ struct quotaobjtypestat {
     /*
      * Semi-opaque structure for cursors. This holds the cursor state in
      * userland; the size is exposed only to libquota, not to client code,
    - * and is meant to be large enough to accomodate all likely future
    + * and is meant to be large enough to accommodate all likely future
      * expansion without being unduly bloated, as it will need to be
      * copied in and out for every call using it.
      */
    diff --git a/sys/sys/resourcevar.h b/sys/sys/resourcevar.h
    index 727025a79..ebc8ea575 100644
    --- a/sys/sys/resourcevar.h
    +++ b/sys/sys/resourcevar.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: resourcevar.h,v 1.53 2011/06/03 17:58:18 rmind Exp $	*/
    +/*	$NetBSD: resourcevar.h,v 1.54 2012/11/03 23:22:22 njoly Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993
    @@ -120,6 +120,8 @@ void	pstatsfree(struct pstats *);
     extern rlim_t maxdmap;
     extern rlim_t maxsmap;
     
    +int	getrusage1(struct proc *, int, struct rusage *);
    +
     #endif
     
     #endif	/* !_SYS_RESOURCEVAR_H_ */
    diff --git a/sys/sys/rnd.h b/sys/sys/rnd.h
    index f64904b4b..e8745cd15 100644
    --- a/sys/sys/rnd.h
    +++ b/sys/sys/rnd.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: rnd.h,v 1.33 2012/09/05 18:57:33 tls Exp $	*/
    +/*	$NetBSD: rnd.h,v 1.40 2013/08/29 01:04:49 tls Exp $	*/
     
     /*-
      * Copyright (c) 1997 The NetBSD Foundation, Inc.
    @@ -41,7 +41,6 @@
     #include 
     
     #ifdef _KERNEL
    -#include 
     #include 
     #endif
     
    @@ -91,6 +90,8 @@ typedef struct {
      */
     #define	RND_FLAG_NO_ESTIMATE	0x00000100	/* don't estimate entropy */
     #define	RND_FLAG_NO_COLLECT	0x00000200	/* don't collect entropy */
    +#define RND_FLAG_FAST		0x00000400	/* process samples in bulk */
    +#define RND_FLAG_HASCB		0x00000800	/* has get callback */
     
     #define	RND_TYPE_UNKNOWN	0	/* unknown source */
     #define	RND_TYPE_DISK		1	/* source is physical disk */
    @@ -126,24 +127,16 @@ typedef struct krndsource {
             void            *state;         /* state information */
             size_t          test_cnt;       /* how much test data accumulated? */
             rngtest_t	*test;          /* test data for RNG type sources */
    +	void		(*get)(size_t, void *);	/* pool wants N bytes (badly) */
    +	void		*getarg;	/* argument to get-function */
     } krndsource_t;
     
    -enum rsink_st {
    -	RSTATE_IDLE = 0,
    -	RSTATE_PENDING,
    -	RSTATE_HASBITS
    -};
    -
    -typedef struct rndsink {
    -        TAILQ_ENTRY(rndsink) tailq;     /* the queue */
    -	kmutex_t	mtx;		/* lock to seed or unregister */
    -	enum rsink_st	state;		/* in-use?  filled? */
    -        void            (*cb)(void *);  /* callback function when ready */
    -        void            *arg;           /* callback function argument */
    -        char            name[16];       /* sink name */
    -        size_t          len;            /* how many bytes wanted/supplied */
    -        uint8_t         data[64];       /* random data returned here */
    -} rndsink_t;
    +static inline void
    +rndsource_setcb(struct krndsource *const rs, void *const cb, void *const arg)
    +{
    +	rs->get = cb;
    +	rs->getarg = arg;
    +}
     
     typedef struct {
             uint32_t        cursor;         /* current add point in the pool */
    @@ -162,9 +155,11 @@ void		rndpool_get_stats(rndpool_t *, void *, int);
     void		rndpool_increment_entropy_count(rndpool_t *, uint32_t);
     uint32_t	*rndpool_get_pool(rndpool_t *);
     uint32_t	rndpool_get_poolsize(void);
    -void		rndpool_add_data(rndpool_t *, void *, uint32_t, uint32_t);
    +void		rndpool_add_data(rndpool_t *,
    +				 const void *const , uint32_t, uint32_t);
     uint32_t	rndpool_extract_data(rndpool_t *, void *, uint32_t, uint32_t);
     void		rnd_init(void);
    +void		rnd_init_softint(void);
     void		_rnd_add_uint32(krndsource_t *, uint32_t);
     void		rnd_add_data(krndsource_t *, const void *const, uint32_t,
     		    uint32_t);
    @@ -172,19 +167,21 @@ void		rnd_attach_source(krndsource_t *, const char *,
     		    uint32_t, uint32_t);
     void		rnd_detach_source(krndsource_t *);
     
    -void		rndsink_attach(rndsink_t *);
    -void		rndsink_detach(rndsink_t *);
    +void		rnd_getmore(size_t);
     
     void		rnd_seed(void *, size_t);
     
     static inline void
     rnd_add_uint32(krndsource_t *kr, uint32_t val)
     {
    -	if (RND_ENABLED(kr)) {
    +	if (__predict_true(kr) && RND_ENABLED(kr)) {
     		_rnd_add_uint32(kr, val);
    +	} else {
    +		rnd_add_data(NULL, &val, sizeof(val), 0);
     	}
     }
     
    +extern int	rnd_empty;
     extern int	rnd_full;
     extern int	rnd_filled;
     extern int	rnd_initial_entropy;
    diff --git a/sys/sys/rndsink.h b/sys/sys/rndsink.h
    new file mode 100644
    index 000000000..beda47abc
    --- /dev/null
    +++ b/sys/sys/rndsink.h
    @@ -0,0 +1,53 @@
    +/*	$NetBSD: rndsink.h,v 1.1 2013/06/23 02:35:24 riastradh Exp $	*/
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Taylor R. Campbell.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +
    +#ifndef	_SYS_RNDSINK_H
    +#define	_SYS_RNDSINK_H
    +
    +#ifndef _KERNEL			/* XXX */
    +#error  is meant for kernel consumers only.
    +#endif
    +
    +#define	RNDSINK_MAX_BYTES	32
    +
    +struct rndsink;
    +
    +typedef void rndsink_callback_t(void *, const void *, size_t);
    +
    +void	rndsinks_init(void);
    +void	rndsinks_distribute(void);
    +struct rndsink *
    +	rndsink_create(size_t, rndsink_callback_t *, void *);
    +void	rndsink_destroy(struct rndsink *);
    +bool	rndsink_request(struct rndsink *, void *, size_t);
    +void	rndsink_schedule(struct rndsink *);
    +
    +#endif	/* _SYS_RNDSINK_H */
    diff --git a/sys/sys/sdt.h b/sys/sys/sdt.h
    index 1aca84587..2f0bf5359 100644
    --- a/sys/sys/sdt.h
    +++ b/sys/sys/sdt.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: sdt.h,v 1.2 2011/12/08 22:27:36 dholland Exp $	*/
    +/*	$NetBSD: sdt.h,v 1.4 2013/10/07 07:11:40 dholland Exp $	*/
     
     /*-
      * Copyright (c) 2010 The NetBSD Foundation, Inc.
    @@ -62,7 +62,7 @@ typedef struct {
      * This type definition must match that of dtrace_probe. It is defined this
      * way to avoid having to rely on CDDL code.
      */
    -typedef	void (*sdt_probe_func_t)(u_int32_t, uintptr_t arg0, uintptr_t arg1,
    +typedef	void (*sdt_probe_func_t)(uint32_t, uintptr_t arg0, uintptr_t arg1,
         uintptr_t arg2, uintptr_t arg3, uintptr_t arg4);
     
     /*
    @@ -78,7 +78,7 @@ extern sdt_probe_func_t	sdt_probe_func;
     
     #ifdef KDTRACE_HOOKS
     /*
    - * SDT_PROBE_DEFINE(prov, mod, func, name,
    + * SDT_PROBE_DEFINE(prov, mod, func, name, sname,
      *		    arg0, argx0, arg1, argx1,
      *		    arg2, argx2, arg3, argx3, arg4, argx4)
      *
    @@ -86,6 +86,7 @@ extern sdt_probe_func_t	sdt_probe_func;
      * 	mod	- module name
      * 	func	- function name
      * 	name	- probe name
    + * 	sname	- probe name as exposed to userland
      * 	arg0 - arg4, argument types as strings, or NULL.
      * 	argx0 - argx4, translation types for arg0 - arg4
      *
    @@ -97,11 +98,11 @@ extern sdt_probe_func_t	sdt_probe_func;
      *	This is used in the target module to define probes to be used.
      *	The translation type should be set to NULL if not used.
      */
    -#define SDT_PROBE_DEFINE(prov, mod, func, name, \
    +#define SDT_PROBE_DEFINE(prov, mod, func, name, sname, \
     	    arg0, argx0, arg1, argx1, arg2, argx2, \
     	    arg3, argx3, arg4, argx4) \
         	sdt_probe_t SDT_NAME(prov, mod, func, name) = { \
    -	    0, 0, 0, #prov, #mod, #func, #name, \
    +	    0, 0, 0, #prov, #mod, #func, #sname, \
     	    { arg0, arg1, arg2, arg3, arg4 }, \
     	    { NULL, NULL, NULL, NULL, NULL } \
     	}
    @@ -118,7 +119,7 @@ extern sdt_probe_func_t	sdt_probe_func;
     		    (uintptr_t)(arg3), (uintptr_t)(arg4)); \
     	}
     #else
    -#define SDT_PROBE_DEFINE(prov, mod, func, name, \
    +#define SDT_PROBE_DEFINE(prov, mod, func, name, sname, \
     	    arg0, argx0, arg1, argx1, arg2, argx2, \
     	    arg3, argx3, arg4, argx4)
     #define SDT_PROBE_DECLARE(prov, mod, func, name)
    diff --git a/sys/sys/select.h b/sys/sys/select.h
    index 57925821e..5da996b32 100644
    --- a/sys/sys/select.h
    +++ b/sys/sys/select.h
    @@ -64,11 +64,11 @@ int	pollsock(struct socket *, const struct timespec *, int);
     
     __BEGIN_DECLS
     #ifndef __LIBC12_SOURCE__
    -#ifndef __minix
    +#if !defined(__minix)
     int	pselect(int, fd_set * __restrict, fd_set * __restrict,
         fd_set * __restrict, const struct timespec * __restrict,
         const sigset_t * __restrict) __RENAME(__pselect50);
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     int	select(int, fd_set * __restrict, fd_set * __restrict,
         fd_set * __restrict, struct timeval * __restrict) __RENAME(__select50);
     #endif /* __LIBC12_SOURCE__ */
    diff --git a/sys/sys/sem.h b/sys/sys/sem.h
    index 5807904e8..9a7ce43bb 100644
    --- a/sys/sys/sem.h
    +++ b/sys/sys/sem.h
    @@ -206,11 +206,11 @@ extern struct semid_ds *sema;		/* semaphore id pool */
     
     #endif /* _KERNEL */
     
    -#ifdef __minix
    +#if defined(__minix)
     /* ipcs ctl cmds */
     # define SEM_STAT 18
     # define SEM_INFO 19
    -#endif
    +#endif /* defined(__minix) */
     
     #ifndef _KERNEL
     #include 
    diff --git a/sys/sys/shm.h b/sys/sys/shm.h
    index 66d87747f..c31cb8187 100644
    --- a/sys/sys/shm.h
    +++ b/sys/sys/shm.h
    @@ -199,13 +199,11 @@ __END_DECLS
     
     #endif /* !_KERNEL */
     
    -#ifdef __minix
    +#if defined(__minix)
     /* ipcs ctl commands */
     #define SHM_STAT       13
     #define SHM_INFO       14
    -#endif
     
    -#ifdef __minix
     struct shm_info
     {
            int used_ids;
    @@ -223,6 +221,6 @@ struct shm_info
     #define SHM_DEST 01000                 /* segment will be destroyed on last detach */
     #define SHM_LOCKED 02000               /* segment will not be swapped */
     
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_SYS_SHM_H_ */
    diff --git a/sys/sys/siginfo.h b/sys/sys/siginfo.h
    index f8a95d5a7..b877ddd7a 100644
    --- a/sys/sys/siginfo.h
    +++ b/sys/sys/siginfo.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: siginfo.h,v 1.22 2011/04/10 14:37:20 christos Exp $	 */
    +/*	$NetBSD: siginfo.h,v 1.25 2013/11/22 21:04:11 christos Exp $	 */
     
     /*-
      * Copyright (c) 2002 The NetBSD Foundation, Inc.
    @@ -33,6 +33,7 @@
     #define	_SYS_SIGINFO_H_
     
     #include 
    +#include 
     #ifdef _KERNEL
     #include 
     #endif
    @@ -68,6 +69,8 @@ struct _ksiginfo {
     		struct {
     			void   *_addr;
     			int	_trap;
    +			int	_trap2;
    +			int	_trap3;
     		} _fault;
     
     		struct {
    @@ -80,7 +83,7 @@ struct _ksiginfo {
     #ifdef _KERNEL
     typedef struct ksiginfo {
     	u_long			ksi_flags;	/* 4 or 8 bytes (LP64) */
    -	CIRCLEQ_ENTRY(ksiginfo) ksi_list;
    +	TAILQ_ENTRY(ksiginfo)	ksi_list;
     	struct _ksiginfo	ksi_info;
     	lwpid_t			ksi_lid;	/* 0, or directed to LWP */
     } ksiginfo_t;
    @@ -146,6 +149,8 @@ typedef union siginfo {
     
     #define	si_addr		_info._reason._fault._addr
     #define	si_trap		_info._reason._fault._trap
    +#define	si_trap2	_info._reason._fault._trap2
    +#define	si_trap3	_info._reason._fault._trap3
     
     #define	si_band		_info._reason._poll._band
     #define	si_fd		_info._reason._poll._fd
    @@ -165,6 +170,8 @@ typedef union siginfo {
     
     #define	ksi_addr	ksi_info._reason._fault._addr
     #define	ksi_trap	ksi_info._reason._fault._trap
    +#define	ksi_trap2	ksi_info._reason._fault._trap2
    +#define	ksi_trap3	ksi_info._reason._fault._trap3
     
     #define	ksi_band	ksi_info._reason._poll._band
     #define	ksi_fd		ksi_info._reason._poll._fd
    diff --git a/sys/sys/signal.h b/sys/sys/signal.h
    index fc1dbba93..aea4c8465 100644
    --- a/sys/sys/signal.h
    +++ b/sys/sys/signal.h
    @@ -83,12 +83,12 @@
     #define	SIGUSR2		31	/* user defined signal 2 */
     #define	SIGPWR		32	/* power fail/restart (not reset when caught) */
     
    -#ifndef __minix
    +#if !defined(__minix)
     #ifdef _KERNEL
     #define	SIGRTMIN	33	/* Kernel only; not exposed to userland yet */
     #define	SIGRTMAX	63	/* Kernel only; not exposed to userland yet */
     #endif
    -#endif
    +#endif /* !defined(__minix) */
     
     #ifndef _KERNEL
     #include 
    @@ -102,7 +102,7 @@
     #if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
         defined(_NETBSD_SOURCE)
     
    -#if defined(_KERNEL)
    +#ifdef _KERNEL
     #define	sigaddset(s, n)		__sigaddset(s, n)
     #define	sigdelset(s, n)		__sigdelset(s, n)
     #define	sigismember(s, n)	__sigismember(s, n)
    @@ -157,9 +157,9 @@ struct	sigaction {
     #define SA_NOCLDWAIT	0x0020	/* do not generate zombies on unwaited child */
     #if (_POSIX_C_SOURCE - 0) >= 199309L || (_XOPEN_SOURCE - 0) >= 500 || \
         defined(_NETBSD_SOURCE)
    -#ifndef __minix
    +#if !defined(__minix)
     #define SA_SIGINFO	0x0040	/* take sa_sigaction handler */
    -#endif
    +#endif /* !defined(__minix) */
     #endif /* (_POSIX_C_SOURCE - 0) >= 199309L || ... */
     #if defined(_NETBSD_SOURCE)
     #define	SA_NOKERNINFO	0x0080	/* siginfo does not print kernel info on tty */
    @@ -175,9 +175,9 @@ struct	sigaction {
     #define	SIG_UNBLOCK	2	/* unblock specified signal set */
     #define	SIG_SETMASK	3	/* set specified signal set */
     
    -#ifdef __minix
    +#if defined(__minix)
     #define SIG_INQUIRE    10	/* for internal use only */
    -#endif
    +#endif /* defined(__minix) */
     
     #if defined(_NETBSD_SOURCE)
     typedef	void (*sig_t)(int);	/* type of signal function */
    @@ -285,6 +285,6 @@ __END_DECLS
         || (sig == SIGKILL || sig == SIGPIPE))
     #define SIGS_IS_STACKTRACE(sig) (SIGS_IS_LETHAL(sig) && sig != SIGABRT)
     
    -#endif /* __minix && _NETBSD_SOURCE */
    +#endif /* defined(__minix) && defined(_NETBSD_SOURCE) */
     
     #endif	/* !_SYS_SIGNAL_H_ */
    diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h
    index d1ec66aa7..f76f4bd92 100644
    --- a/sys/sys/signalvar.h
    +++ b/sys/sys/signalvar.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: signalvar.h,v 1.83 2012/02/19 21:07:00 rmind Exp $	*/
    +/*	$NetBSD: signalvar.h,v 1.84 2013/11/22 21:04:11 christos Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993
    @@ -46,7 +46,7 @@
     /*
      * Queue of signals.
      */
    -typedef CIRCLEQ_HEAD(ksiginfoq, ksiginfo) ksiginfoq_t;
    +typedef TAILQ_HEAD(ksiginfoq, ksiginfo) ksiginfoq_t;
     
     /*
      * Process signal actions, possibly shared between processes.
    @@ -82,10 +82,10 @@ struct sigctx {
     	sigset_t	ps_sigcatch;	/* Signals being caught by user. */
     };
     
    -#ifndef __minix
    +#if !defined(__minix)
     /* additional signal action values, used only temporarily/internally */
     #define	SIG_CATCH	(void (*)(int))2
    -#endif
    +#endif /* !defined(__minix) */
     
     /*
      * get signal action for process and signal; currently only for current process
    @@ -224,13 +224,13 @@ firstsig(const sigset_t *ss)
     static inline void
     ksiginfo_queue_init(ksiginfoq_t *kq)
     {
    -	CIRCLEQ_INIT(kq);
    +	TAILQ_INIT(kq);
     }
     
     static inline void
     ksiginfo_queue_drain(ksiginfoq_t *kq)
     {
    -	if (!CIRCLEQ_EMPTY(kq))
    +	if (!TAILQ_EMPTY(kq))
     		ksiginfo_queue_drain0(kq);
     }
     
    diff --git a/sys/sys/socket.h b/sys/sys/socket.h
    index 3acea3ae3..cfea65855 100644
    --- a/sys/sys/socket.h
    +++ b/sys/sys/socket.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: socket.h,v 1.107 2012/06/22 18:26:35 christos Exp $	*/
    +/*	$NetBSD: socket.h,v 1.108 2013/01/31 14:30:47 joerg Exp $	*/
     
     /*
      * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
    @@ -131,10 +131,10 @@ typedef	_BSD_SSIZE_T_	ssize_t;
     #define	SO_ACCEPTFILTER	0x1000		/* there is an accept filter */
     #define	SO_TIMESTAMP	0x2000		/* timestamp received dgram traffic */
     
    -#ifdef __minix
    +#if defined(__minix)
     #define SO_PASSCRED    0x100000
     #define SO_PEERCRED    0x200000
    -#endif
    +#endif /* defined(__minix) */
     
     
     /*
    @@ -607,6 +607,7 @@ const struct sockaddr *sockaddr_any_by_family(int);
     const void *sockaddr_anyaddr(const struct sockaddr *, socklen_t *);
     int sockaddr_cmp(const struct sockaddr *, const struct sockaddr *);
     struct sockaddr *sockaddr_dup(const struct sockaddr *, int);
    +void sockaddr_format(const struct sockaddr *, char *, size_t);
     void sockaddr_free(struct sockaddr *);
     __END_DECLS
     #endif /* _KERNEL */
    diff --git a/sys/sys/socketvar.h b/sys/sys/socketvar.h
    index 9be88d6d5..dc2b0469f 100644
    --- a/sys/sys/socketvar.h
    +++ b/sys/sys/socketvar.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: socketvar.h,v 1.129 2012/02/01 02:27:23 matt Exp $	*/
    +/*	$NetBSD: socketvar.h,v 1.131 2013/08/29 17:49:21 rmind Exp $	*/
     
     /*-
      * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
    @@ -204,7 +204,6 @@ do {									\
     #define	SS_ISDISCONNECTED	0x800	/* socket disconnected from peer */
     
     #define	SS_ASYNC		0x100	/* async i/o notify */
    -#define	SS_ISCONFIRMING		0x200	/* deciding to accept connection req */
     #define	SS_MORETOCOME		0x400	/*
     					 * hint from sosend to lower layer;
     					 * more data coming
    @@ -272,6 +271,8 @@ void	sbcheck(struct sockbuf *);
     void	sbcompress(struct sockbuf *, struct mbuf *, struct mbuf *);
     struct mbuf *
     	sbcreatecontrol(void *, int, int, int);
    +struct mbuf *
    +	sbcreatecontrol1(void **, int, int, int, int);
     void	sbdrop(struct sockbuf *, int);
     void	sbdroprecord(struct sockbuf *);
     void	sbflush(struct sockbuf *);
    @@ -305,7 +306,7 @@ void	soisdisconnected(struct socket *);
     void	soisdisconnecting(struct socket *);
     int	solisten(struct socket *, int, struct lwp *);
     struct socket *
    -	sonewconn(struct socket *, int);
    +	sonewconn(struct socket *, bool);
     void	soqinsque(struct socket *, struct socket *, int);
     int	soqremque(struct socket *, int);
     int	soreceive(struct socket *, struct mbuf **, struct uio *,
    diff --git a/sys/sys/sockio.h b/sys/sys/sockio.h
    index 3e97c9fce..788ae5adb 100644
    --- a/sys/sys/sockio.h
    +++ b/sys/sys/sockio.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: sockio.h,v 1.30 2010/11/15 22:42:36 pooka Exp $	*/
    +/*	$NetBSD: sockio.h,v 1.32 2013/10/05 23:16:54 christos Exp $	*/
     
     /*-
      * Copyright (c) 1982, 1986, 1990, 1993, 1994
    @@ -132,6 +132,12 @@
     #define SIOCGLINKSTR	_IOWR('i', 135, struct ifdrv)
     #define SIOCSLINKSTR	 _IOW('i', 136, struct ifdrv)
     
    +/* 137 is SIOCGATHSTATS in athioctl.h */
    +/* 138 is SIOCGATHDIAG in athioctl.h */
    +
    +#define	SIOCGETHERCAP	_IOWR('i', 139, struct eccapreq) /* get ethercap */
    +#define SIOCGIFINDEX  _IOWR('i', 140, struct ifreq)   /* get ifnet index */
    +
     #define	SIOCSETPFSYNC	_IOW('i', 247, struct ifreq)	
     #define	SIOCGETPFSYNC	_IOWR('i', 248, struct ifreq)
     
    diff --git a/sys/sys/spawn.h b/sys/sys/spawn.h
    index dbe83c11d..af2ca4fe3 100644
    --- a/sys/sys/spawn.h
    +++ b/sys/sys/spawn.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: spawn.h,v 1.3 2012/04/30 21:19:58 rmind Exp $	*/
    +/*	$NetBSD: spawn.h,v 1.4 2013/04/27 21:35:25 joerg Exp $	*/
     
     /*-
      * Copyright (c) 2008 Ed Schouten 
    @@ -32,6 +32,7 @@
     #define _SYS_SPAWN_H_
     
     #include 
    +#include 
     #include 
     #include 
     #include 
    diff --git a/sys/sys/stat.h b/sys/sys/stat.h
    index 7bd0087ff..5a17179cd 100644
    --- a/sys/sys/stat.h
    +++ b/sys/sys/stat.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: stat.h,v 1.63 2011/09/04 10:02:33 christos Exp $	*/
    +/*	$NetBSD: stat.h,v 1.68 2013/10/17 18:01:11 njoly Exp $	*/
     
     /*-
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -42,7 +42,17 @@
     #include 
     #include 		/* XXX */
     
    -#if defined(_NETBSD_SOURCE)
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
    +    defined(_NETBSD_SOURCE)
    +/*
    + * POSIX:2008 / XPG7 requires struct timespec to be declared in
    + * this header, but does not provide the usual exemption
    + * "inclusion of this header may make visible symbols defined in ".
    + *
    + * This is a Standard omission, acknowledged by the committee and
    + * scheduled to be corrected in Technical Corrigendum 2, according to
    + * http://austingroupbugs.net/view.php?id=531
    + */
     #include 
     #endif
     
    @@ -54,11 +64,12 @@ struct stat {
     	uid_t	  st_uid;		/* user ID of the file's owner */
     	gid_t	  st_gid;		/* group ID of the file's group */
     	dev_t	  st_rdev;		/* device type */
    -#if defined(_NETBSD_SOURCE)
    -	struct	  timespec st_atimespec;/* time of last access */
    -	struct	  timespec st_mtimespec;/* time of last data modification */
    -	struct	  timespec st_ctimespec;/* time of last file status change */
    -	struct 	  timespec st_birthtimespec; /* time of creation */
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
    +    defined(_NETBSD_SOURCE)
    +	struct	  timespec st_atim;	/* time of last access */
    +	struct	  timespec st_mtim;	/* time of last data modification */
    +	struct	  timespec st_ctim;	/* time of last file status change */
    +	struct	  timespec st_birthtim;	/* time of creation */
     #else
     	time_t	  st_atime;		/* time of last access */
     	long	  st_atimensec;		/* nsec of last access */
    @@ -77,14 +88,23 @@ struct stat {
     	uint32_t  st_spare[2];
     };
     
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
    +    defined(_NETBSD_SOURCE)
    +/* Standard-mandated compatibility */
    +#define	st_atime		st_atim.tv_sec
    +#define	st_mtime		st_mtim.tv_sec
    +#define	st_ctime		st_ctim.tv_sec
    +#define	st_birthtime		st_birthtim.tv_sec
    +#endif
    +
     #if defined(_NETBSD_SOURCE)
    -#define	st_atime		st_atimespec.tv_sec
    -#define	st_atimensec		st_atimespec.tv_nsec
    -#define	st_mtime		st_mtimespec.tv_sec
    -#define	st_mtimensec		st_mtimespec.tv_nsec
    -#define	st_ctime		st_ctimespec.tv_sec
    -#define	st_ctimensec		st_ctimespec.tv_nsec
    -#define st_birthtime		st_birthtimespec.tv_sec
    +#define	st_atimespec		st_atim
    +#define	st_atimensec		st_atim.tv_nsec
    +#define	st_mtimespec		st_mtim
    +#define	st_mtimensec		st_mtim.tv_nsec
    +#define	st_ctimespec		st_ctim
    +#define	st_ctimensec		st_ctim.tv_nsec
    +#define	st_birthtimespec        st_birthtim
     #define st_birthtimensec	st_birthtimespec.tv_nsec
     #endif
     
    @@ -207,11 +227,14 @@ struct stat {
     #endif /* _KERNEL */
     #endif /* _NETBSD_SOURCE */
     
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
    +    defined(_NETBSD_SOURCE)
     /*
      * Special values for utimensat and futimens
      */
     #define UTIME_NOW	((1 << 30) - 1)
     #define UTIME_OMIT	((1 << 30) - 2)
    +#endif
     
     #if !defined(_KERNEL) && !defined(_STANDALONE)
     #include 
    @@ -225,10 +248,15 @@ int	stat(const char *, struct stat *) __RENAME(__stat50);
     int	fstat(int, struct stat *) __RENAME(__fstat50);
     #endif
     mode_t	umask(mode_t);
    +#if (_POSIX_C_SOURCE - 0) >= 200112L || defined(_XOPEN_SOURCE) || \
    +    defined(_NETBSD_SOURCE)
    +#ifndef __LIBC12_SOURCE__
    +int	lstat(const char *, struct stat *) __RENAME(__lstat50);
    +#endif
    +#endif /* _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE || _NETBSD_SOURCE */
     #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
     int	fchmod(int, mode_t);
     #ifndef __LIBC12_SOURCE__
    -int	lstat(const char *, struct stat *) __RENAME(__lstat50);
     int	mknod(const char *, mode_t, dev_t) __RENAME(__mknod50);
     #endif
     #endif /* defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) */
    @@ -244,13 +272,26 @@ int	lchmod(const char *, mode_t);
     /*
      * X/Open Extended API set 2 (a.k.a. C063)
      */
    -#if defined(_INCOMPLETE_XOPEN_C063)  || defined(__minix)
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
    +    defined(_NETBSD_SOURCE) || defined(_INCOMPLETE_XOPEN_C063)
    +int     fchmodat(int, const char *, mode_t, int);
     int     fstatat(int, const char *, struct stat *, int);
    +int     mkdirat(int, const char *, mode_t);
    +int     mkfifoat(int, const char *, mode_t);
    +int     mknodat(int, const char *, mode_t, dev_t);
     int     utimensat(int, const char *, const struct timespec *, int);
     #endif
     
    +#ifdef _NETBSD_SOURCE
    +int utimens(const char *, const struct timespec *);
    +int lutimens(const char *, const struct timespec *);
    +#endif
    +
    +#if (_POSIX_C_SOURCE - 0) >= 200809L || (_XOPEN_SOURCE - 0) >= 700 || \
    +    defined(_NETBSD_SOURCE)
     int futimens(int, const struct timespec *);
     #endif
    +#endif
     
     __END_DECLS
     
    diff --git a/sys/sys/statvfs.h b/sys/sys/statvfs.h
    index 9c06e5d2b..90a28426f 100644
    --- a/sys/sys/statvfs.h
    +++ b/sys/sys/statvfs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: statvfs.h,v 1.17 2011/11/18 21:17:45 christos Exp $	 */
    +/*	$NetBSD: statvfs.h,v 1.18 2013/04/05 17:34:27 christos Exp $	 */
     
     /*-
      * Copyright (c) 2004 The NetBSD Foundation, Inc.
    @@ -69,8 +69,8 @@ struct statvfs {
     	unsigned long	f_frsize;	/* fundamental file system block size */
     	unsigned long	f_iosize;	/* optimal file system block size */
     
    +	/* The following are in units of f_frsize */
     	fsblkcnt_t	f_blocks;	/* number of blocks in file system, */
    -					/*   (in units of f_frsize) */
     	fsblkcnt_t	f_bfree;	/* free blocks avail in file system */
     	fsblkcnt_t	f_bavail;	/* free blocks avail to non-root */
     	fsblkcnt_t	f_bresvd;	/* blocks reserved for root */
    @@ -138,9 +138,9 @@ struct statvfs {
     #define	ST_WAIT		MNT_WAIT
     #define	ST_NOWAIT	MNT_NOWAIT
     
    -#ifdef __minix
    +#if defined(__minix)
     #define        ST_NOTRUNC      __MNT_UNUSED1
    -#endif /* !__minix*/
    +#endif /* defined(__minix) */
     
     #if defined(_KERNEL) || defined(_STANDALONE)
     struct mount;
    diff --git a/sys/sys/stdint.h b/sys/sys/stdint.h
    index a6ae2407e..cac92b064 100644
    --- a/sys/sys/stdint.h
    +++ b/sys/sys/stdint.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: stdint.h,v 1.6 2008/04/28 20:24:11 martin Exp $	*/
    +/*	$NetBSD: stdint.h,v 1.7 2013/04/22 21:26:48 joerg Exp $	*/
     
     /*-
      * Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
    @@ -87,11 +87,13 @@ typedef	__uintptr_t	uintptr_t;
     
     #include 
     
    -#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
    +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) || \
    +    (__cplusplus >= 201103L)
     #include 
     #endif
     
    -#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
    +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) || \
    +    (__cplusplus >= 201103L)
     #include 
     #endif
     
    diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
    index e7b4cc06e..d770575de 100644
    --- a/sys/sys/syscall.h
    +++ b/sys/sys/syscall.h
    @@ -1,10 +1,10 @@
    -/* $NetBSD: syscall.h,v 1.257 2012/10/02 01:46:20 christos Exp $ */
    +/* $NetBSD: syscall.h,v 1.262 2013/10/17 18:04:40 njoly Exp $ */
     
     /*
      * System call numbers.
      *
      * DO NOT EDIT-- this file is automatically generated.
    - * created from	NetBSD: syscalls.master,v 1.261 2012/10/02 01:44:28 christos Exp
    + * created from	NetBSD: syscalls.master,v 1.264 2013/10/17 18:01:11 njoly Exp
      */
     
     #ifndef _SYS_SYSCALL_H_
    @@ -1215,8 +1215,8 @@
     /* syscall: "__mq_timedreceive50" ret: "ssize_t" args: "mqd_t" "char *" "size_t" "unsigned *" "const struct timespec *" */
     #define	SYS___mq_timedreceive50	433
     
    -/* syscall: "___lwp_park50" ret: "int" args: "const struct timespec *" "lwpid_t" "const void *" "const void *" */
    -#define	SYS____lwp_park50	434
    +/* syscall: "compat_60__lwp_park" ret: "int" args: "const struct timespec *" "lwpid_t" "const void *" "const void *" */
    +#define	SYS_compat_60__lwp_park	434
     
     /* syscall: "__kevent50" ret: "int" args: "int" "const struct kevent *" "size_t" "struct kevent *" "size_t" "const struct timespec *" */
     #define	SYS___kevent50	435
    @@ -1307,7 +1307,7 @@
     /* syscall: "mkfifoat" ret: "int" args: "int" "const char *" "mode_t" */
     #define	SYS_mkfifoat	459
     
    -/* syscall: "mknodat" ret: "int" args: "int" "const char *" "mode_t" "uint32_t" */
    +/* syscall: "mknodat" ret: "int" args: "int" "const char *" "mode_t" "int" "dev_t" */
     #define	SYS_mknodat	460
     
     /* syscall: "mkdirat" ret: "int" args: "int" "const char *" "mode_t" */
    @@ -1361,6 +1361,9 @@
     /* syscall: "clock_nanosleep" ret: "int" args: "clockid_t" "int" "const struct timespec *" "struct timespec *" */
     #define	SYS_clock_nanosleep	477
     
    -#define	SYS_MAXSYSCALL	478
    +/* syscall: "___lwp_park60" ret: "int" args: "clockid_t" "int" "const struct timespec *" "lwpid_t" "const void *" "const void *" */
    +#define	SYS____lwp_park60	478
    +
    +#define	SYS_MAXSYSCALL	479
     #define	SYS_NSYSENT	512
     #endif /* _SYS_SYSCALL_H_ */
    diff --git a/sys/sys/syscallargs.h b/sys/sys/syscallargs.h
    index 17474ddbe..fb3c6b91f 100644
    --- a/sys/sys/syscallargs.h
    +++ b/sys/sys/syscallargs.h
    @@ -1,10 +1,10 @@
    -/* $NetBSD: syscallargs.h,v 1.240 2012/10/02 01:46:20 christos Exp $ */
    +/* $NetBSD: syscallargs.h,v 1.245 2013/10/17 18:04:40 njoly Exp $ */
     
     /*
      * System call argument lists.
      *
      * DO NOT EDIT-- this file is automatically generated.
    - * created from	NetBSD: syscalls.master,v 1.261 2012/10/02 01:44:28 christos Exp
    + * created from	NetBSD: syscalls.master,v 1.264 2013/10/17 18:01:11 njoly Exp
      */
     
     #ifndef _SYS_SYSCALLARGS_H_
    @@ -2828,13 +2828,13 @@ check_syscall_args(sys___mq_timedreceive50)
     #endif /* !RUMP_CLIENT */
     
     #ifndef RUMP_CLIENT
    -struct sys____lwp_park50_args {
    +struct compat_60_sys__lwp_park_args {
     	syscallarg(const struct timespec *) ts;
     	syscallarg(lwpid_t) unpark;
     	syscallarg(const void *) hint;
     	syscallarg(const void *) unparkhint;
     };
    -check_syscall_args(sys____lwp_park50)
    +check_syscall_args(compat_60_sys__lwp_park)
     #endif /* !RUMP_CLIENT */
     
     struct sys___kevent50_args {
    @@ -3044,7 +3044,8 @@ struct sys_mknodat_args {
     	syscallarg(int) fd;
     	syscallarg(const char *) path;
     	syscallarg(mode_t) mode;
    -	syscallarg(uint32_t) dev;
    +	syscallarg(int) PAD;
    +	syscallarg(dev_t) dev;
     };
     check_syscall_args(sys_mknodat)
     
    @@ -3080,12 +3081,14 @@ struct sys_fchownat_args {
     };
     check_syscall_args(sys_fchownat)
     
    +#ifndef RUMP_CLIENT
     struct sys_fexecve_args {
     	syscallarg(int) fd;
     	syscallarg(char *const *) argp;
     	syscallarg(char *const *) envp;
     };
     check_syscall_args(sys_fexecve)
    +#endif /* !RUMP_CLIENT */
     
     struct sys_fstatat_args {
     	syscallarg(int) fd;
    @@ -3157,7 +3160,6 @@ struct sys_posix_spawn_args {
     check_syscall_args(sys_posix_spawn)
     #endif /* !RUMP_CLIENT */
     
    -#ifndef RUMP_CLIENT
     struct sys_recvmmsg_args {
     	syscallarg(int) s;
     	syscallarg(struct mmsghdr *) mmsg;
    @@ -3166,9 +3168,7 @@ struct sys_recvmmsg_args {
     	syscallarg(struct timespec *) timeout;
     };
     check_syscall_args(sys_recvmmsg)
    -#endif /* !RUMP_CLIENT */
     
    -#ifndef RUMP_CLIENT
     struct sys_sendmmsg_args {
     	syscallarg(int) s;
     	syscallarg(struct mmsghdr *) mmsg;
    @@ -3176,7 +3176,6 @@ struct sys_sendmmsg_args {
     	syscallarg(unsigned int) flags;
     };
     check_syscall_args(sys_sendmmsg)
    -#endif /* !RUMP_CLIENT */
     
     #ifndef RUMP_CLIENT
     struct sys_clock_nanosleep_args {
    @@ -3188,6 +3187,18 @@ struct sys_clock_nanosleep_args {
     check_syscall_args(sys_clock_nanosleep)
     #endif /* !RUMP_CLIENT */
     
    +#ifndef RUMP_CLIENT
    +struct sys____lwp_park60_args {
    +	syscallarg(clockid_t) clock_id;
    +	syscallarg(int) flags;
    +	syscallarg(const struct timespec *) ts;
    +	syscallarg(lwpid_t) unpark;
    +	syscallarg(const void *) hint;
    +	syscallarg(const void *) unparkhint;
    +};
    +check_syscall_args(sys____lwp_park60)
    +#endif /* !RUMP_CLIENT */
    +
     /*
      * System call prototypes.
      */
    @@ -3985,7 +3996,7 @@ int	sys___mq_timedsend50(struct lwp *, const struct sys___mq_timedsend50_args *,
     
     int	sys___mq_timedreceive50(struct lwp *, const struct sys___mq_timedreceive50_args *, register_t *);
     
    -int	sys____lwp_park50(struct lwp *, const struct sys____lwp_park50_args *, register_t *);
    +int	compat_60_sys__lwp_park(struct lwp *, const struct compat_60_sys__lwp_park_args *, register_t *);
     
     int	sys___kevent50(struct lwp *, const struct sys___kevent50_args *, register_t *);
     
    @@ -4083,5 +4094,7 @@ int	sys_sendmmsg(struct lwp *, const struct sys_sendmmsg_args *, register_t *);
     
     int	sys_clock_nanosleep(struct lwp *, const struct sys_clock_nanosleep_args *, register_t *);
     
    +int	sys____lwp_park60(struct lwp *, const struct sys____lwp_park60_args *, register_t *);
    +
     #endif /* !RUMP_CLIENT */
     #endif /* _SYS_SYSCALLARGS_H_ */
    diff --git a/sys/sys/syscallvar.h b/sys/sys/syscallvar.h
    index 47240b9d6..e95a3f75e 100644
    --- a/sys/sys/syscallvar.h
    +++ b/sys/sys/syscallvar.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: syscallvar.h,v 1.5 2009/06/02 23:21:38 pooka Exp $	*/
    +/*	$NetBSD: syscallvar.h,v 1.8 2013/06/29 16:50:51 rmind Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -64,6 +64,33 @@ sy_call(const struct sysent *sy, struct lwp *l, const void *uap,
     	return error;
     }
     
    +static inline int
    +sy_invoke(const struct sysent *sy, struct lwp *l, const void *uap,
    +	register_t *rval, int code)
    +{
    +	const bool do_trace = l->l_proc->p_trace_enabled &&
    +	    (sy->sy_flags & SYCALL_INDIRECT) == 0;
    +	int error;
    +
    +	if (__predict_true(!do_trace) || (error = trace_enter(code, uap,
    +	    sy->sy_narg)) == 0) {
    +		rval[0] = 0;
    +#if !defined(__mips__)
    +		/*
    +		 * Due to the mips userland code for SYS_break needing v1 to be
    +		 * preserved, we can't clear this on mips. 
    +		 */
    +		rval[1] = 0;
    +#endif
    +		error = sy_call(sy, l, uap, rval);
    +	}
    +
    +	if (__predict_false(do_trace)) {
    +		trace_exit(code, rval, error);
    +	}
    +	return error;
    +}
    +
     /* inclusion in the kernel currently depends on SYSCALL_DEBUG */
     extern const char * const syscallnames[];
     
    diff --git a/sys/sys/sysctl.h b/sys/sys/sysctl.h
    index 48f28d001..9ff04642a 100644
    --- a/sys/sys/sysctl.h
    +++ b/sys/sys/sysctl.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: sysctl.h,v 1.203 2012/10/14 20:56:55 christos Exp $	*/
    +/*	$NetBSD: sysctl.h,v 1.209 2013/09/20 12:20:01 wiz Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -37,16 +37,20 @@
     #ifndef _SYS_SYSCTL_H_
     #define	_SYS_SYSCTL_H_
     
    +#include  /* precautionary upon removal from ucred.h */
    +#include   /* Needed for things like P_ZOMBIE() and LW_SINTR */
    +#include 
    +
    +#if defined(_KERNEL) || defined(_KMEMUSER)
     /*
      * These are for the eproc structure defined below.
      */
    -#include  /* precautionary upon removal from ucred.h */
     #include 
     #include 
     #include 
    -#include 
     #include 
     #include 
    +#endif
     
     
     /* For offsetof() */
    @@ -57,7 +61,7 @@
     #include 
     #endif
     
    -#ifdef _KERNEL
    +#ifdef SYSCTL_PRIVATE
     #include 
     #endif
     
    @@ -70,6 +74,8 @@
      * respective subsystem header files.
      */
     
    +struct sysctlnode;
    +
     #define	CTL_MAXNAME	12	/* largest number of components supported */
     #define SYSCTL_NAMELEN	32	/* longest name allowed for a node */
     
    @@ -153,13 +159,13 @@ struct ctlname {
     /*
      * Meta-identifiers
      */
    -#define CTL_EOL		-1		/* end of createv/destroyv list */
    -#define CTL_QUERY	-2		/* enumerates children of a node */
    -#define CTL_CREATE	-3		/* node create request */
    -#define CTL_CREATESYM	-4		/* node create request with symbol */
    -#define CTL_DESTROY	-5		/* node destroy request */
    -#define CTL_MMAP	-6		/* mmap request */
    -#define CTL_DESCRIBE	-7		/* get node descriptions */
    +#define CTL_EOL		(-1)		/* end of createv/destroyv list */
    +#define CTL_QUERY	(-2)		/* enumerates children of a node */
    +#define CTL_CREATE	(-3)		/* node create request */
    +#define CTL_CREATESYM	(-4)		/* node create request with symbol */
    +#define CTL_DESTROY	(-5)		/* node destroy request */
    +#define CTL_MMAP	(-6)		/* mmap request */
    +#define CTL_DESCRIBE	(-7)		/* get node descriptions */
     
     /*
      * Top-level identifiers
    @@ -221,7 +227,7 @@ struct ctlname {
     #define	KERN_ROOT_DEVICE	30	/* string: root device */
     #define	KERN_MSGBUFSIZE		31	/* int: max # of chars in msg buffer */
     #define	KERN_FSYNC		32	/* int: file synchronization support */
    -#define	KERN_OLDSYSVMSG		33	/* old: SysV message queue suppoprt */
    +#define	KERN_OLDSYSVMSG		33	/* old: SysV message queue support */
     #define	KERN_OLDSYSVSEM		34	/* old: SysV semaphore support */
     #define	KERN_OLDSYSVSHM		35	/* old: SysV shared memory support */
     #define	KERN_OLDSHORTCORENAME	36	/* old, unimplemented */
    @@ -234,7 +240,7 @@ struct ctlname {
     #define	KERN_MEMORY_PROTECTION	43	/* int: POSIX memory protections */
     #define	KERN_LOGIN_NAME_MAX	44	/* int: max length login name + NUL */
     #define	KERN_DEFCORENAME	45	/* old: sort core name format */
    -#define	KERN_LOGSIGEXIT		46	/* int: log signalled processes */
    +#define	KERN_LOGSIGEXIT		46	/* int: log signaled processes */
     #define	KERN_PROC2		47	/* struct: process entries */
     #define	KERN_PROC_ARGS		48	/* struct: process argv/env */
     #define	KERN_FSCALE		49	/* int: fixpt FSCALE */
    @@ -411,6 +417,8 @@ struct ki_ucred {
     	gid_t		cr_groups[NGROUPS];	/* groups */
     };
     
    +#if defined(_KERNEL) || defined(_KMEMUSER)
    +
     /*
      * KERN_PROC subtype ops return arrays of augmented proc structures:
      */
    @@ -434,14 +442,13 @@ struct kinfo_proc {
     		short	e_xrssize;		/* text rss */
     		short	e_xccount;		/* text references */
     		short	e_xswrss;
    -		long	e_flag;
    -#define	EPROC_CTTY	0x01	/* controlling tty vnode active */
    -#define	EPROC_SLEADER	0x02	/* session leader */
    +		long	e_flag;			/* see p_eflag  below */
     		char	e_login[MAXLOGNAME];	/* setlogin() name */
     		pid_t	e_sid;			/* session id */
     		long	e_spare[3];
     	} kp_eproc;
     };
    +#endif /* defined(_KERNEL) || defined(_KMEMUSER) */
     
     /*
      * Convert pointer to 64 bit unsigned integer for struct
    @@ -486,6 +493,8 @@ struct kinfo_proc2 {
     	uint64_t p_ru;			/* PTR: Exit information. XXX */
     
     	int32_t	p_eflag;		/* LONG: extra kinfo_proc2 flags */
    +#define	EPROC_CTTY	0x01	/* controlling tty vnode active */
    +#define	EPROC_SLEADER	0x02	/* session leader */
     	int32_t	p_exitsig;		/* INT: signal to sent to parent on exit */
     	int32_t	p_flag;			/* INT: P_* flags. */
     
    @@ -590,7 +599,7 @@ struct kinfo_proc2 {
     };
     
     /*
    - * Compat flags for kinfo_proc, kinfo_proc2.  Not guarenteed to be stable.
    + * Compat flags for kinfo_proc, kinfo_proc2.  Not guaranteed to be stable.
      * Some of them used to be shared with LWP flags.
      * XXXAD Trim to the minimum necessary...
      */
    @@ -676,7 +685,7 @@ struct kinfo_lwp {
      * KERN_SYSVIPC subtypes
      */
     #define	KERN_SYSVIPC_INFO	1	/* struct: number of valid kern ids */
    -#define	KERN_SYSVIPC_MSG	2	/* int: SysV message queue suppoprt */
    +#define	KERN_SYSVIPC_MSG	2	/* int: SysV message queue support */
     #define	KERN_SYSVIPC_SEM	3	/* int: SysV semaphore support */
     #define	KERN_SYSVIPC_SHM	4	/* int: SysV shared memory support */
     #define	KERN_SYSVIPC_SHMMAX	5	/* int: max shared memory segment size (bytes) */
    @@ -691,7 +700,7 @@ struct kinfo_lwp {
     /* KERN_SYSVIPC_OMSG_INFO		1	*/
     /* KERN_SYSVIPC_OSEM_INFO		2	*/
     /* KERN_SYSVIPC_OSHM_INFO		3	*/
    -#define	KERN_SYSVIPC_MSG_INFO		4	/* msginfo and msqid_ds */
    +#define	KERN_SYSVIPC_MSG_INFO		4	/* msginfo and msgid_ds */
     #define	KERN_SYSVIPC_SEM_INFO		5	/* seminfo and semid_ds */
     #define	KERN_SYSVIPC_SHM_INFO		6	/* shminfo and shmid_ds */
     
    @@ -800,7 +809,7 @@ struct kinfo_file {
      * kern.evcnt returns an array of these structures, which are designed both to
      * be immune to 32/64 bit emulation issues.  Note that the struct here differs
      * from the real struct evcnt but contains the same information in order to
    - * accomodate sysctl.
    + * accommodate sysctl.
      */
     struct evcnt_sysctl {
     	uint64_t	ev_count;		/* current count */
    @@ -1049,7 +1058,7 @@ struct sysctllog;
      * variable. The loader prevents multiple use by issuing errors
      * if a variable is initialized in more than one place. They are
      * aggregated into an array in debug_sysctl(), so that it can
    - * conveniently locate them when querried. If more debugging
    + * conveniently locate them when queried. If more debugging
      * variables are added, they must also be declared here and also
      * entered into the array.
      *
    @@ -1242,7 +1251,9 @@ MALLOC_DECLARE(M_SYSCTLDATA);
     
     extern const u_int sysctl_lwpflagmap[];
     
    +#ifdef SYSCTL_PRIVATE
     extern cprng_strong_t *sysctl_prng;
    +#endif
     
     #else	/* !_KERNEL */
     #include 
    diff --git a/sys/sys/syslimits.h b/sys/sys/syslimits.h
    index 9c6976d64..5412545a9 100644
    --- a/sys/sys/syslimits.h
    +++ b/sys/sys/syslimits.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: syslimits.h,v 1.26 2011/09/27 01:51:42 christos Exp $	*/
    +/*	$NetBSD: syslimits.h,v 1.27 2012/12/07 07:06:39 dholland Exp $	*/
     
     /*
      * Copyright (c) 1988, 1993
    @@ -34,15 +34,9 @@
     #ifndef _SYS_SYSLIMITS_H_
     #define _SYS_SYSLIMITS_H_
     
    -#if defined(_STANDALONE) && defined(__minix)
    -/* LSC: In NetBSD this gets pulled in through libkern.h */
    -#include 
    -uint32_t crc32(uint32_t, const uint8_t *, size_t);
    -#endif /* defined(_STANDALONE) */
    -
    -#ifdef __minix
    +#if defined(__minix)
     #define OPEN_MAX 255
    -#endif
    +#endif /* !defined(__minix) */
     
     #include 
     
    @@ -57,7 +51,7 @@ uint32_t crc32(uint32_t, const uint8_t *, size_t);
     #define	MAX_CANON		  255	/* max bytes in term canon input line */
     #define	MAX_INPUT		  255	/* max bytes in terminal input */
     #define	NAME_MAX		  511	/* max bytes in a file name, must be */
    -					/* kept in sync with MAXPATHLEN */
    +					/* kept in sync with MAXNAMLEN */
     #define	NGROUPS_MAX		   16	/* max supplemental group id's */
     #define	UID_MAX		   2147483647U	/* max value for a uid_t (2^31-2) */
     #ifndef OPEN_MAX
    @@ -66,7 +60,7 @@ uint32_t crc32(uint32_t, const uint8_t *, size_t);
     #define	PATH_MAX		 1024	/* max bytes in pathname */
     
     #ifdef __minix
    -#define        PIPE_BUF                32768   /* max bytes for atomic pipe wri
    +#define	PIPE_BUF                32768   /* max bytes for atomic pipe writes */
     #else
     #define	PIPE_BUF		  512	/* max bytes for atomic pipe writes */
     #endif
    @@ -98,11 +92,4 @@ uint32_t crc32(uint32_t, const uint8_t *, size_t);
     
     #endif /* !_ANSI_SOURCE */
     
    -#ifdef __minix
    -#define STREAM_MAX 8 /* == _POSIX_STREAM_MAX */
    -#define TZNAME_MAX 6 /* == _POSIX_TZNAME_MAX */
    -#define TIME_MAX  LONG_MAX
    -#endif
    -
     #endif /* !_SYS_SYSLIMITS_H_ */
    -
    diff --git a/sys/sys/systm.h b/sys/sys/systm.h
    index ec8b97d4a..1a6ea74b2 100644
    --- a/sys/sys/systm.h
    +++ b/sys/sys/systm.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: systm.h,v 1.257 2012/08/03 18:08:01 matt Exp $	*/
    +/*	$NetBSD: systm.h,v 1.259 2013/10/26 18:31:29 matt Exp $	*/
     
     /*-
      * Copyright (c) 1982, 1988, 1991, 1993
    @@ -62,7 +62,6 @@ struct tty;
     struct uio;
     struct vnode;
     struct vmspace;
    -struct vm_map;
     
     extern const char *panicstr;	/* panic message */
     extern int doing_shutdown;	/* shutting down */
    @@ -186,7 +185,7 @@ void	aprint_naive(const char *, ...) __printflike(1, 2);
     void	aprint_verbose(const char *, ...) __printflike(1, 2);
     void	aprint_debug(const char *, ...) __printflike(1, 2);
     
    -void device_printf(device_t, const char *fmt, ...) __printflike(2, 3);
    +void	device_printf(device_t, const char *fmt, ...) __printflike(2, 3);
     
     void	aprint_normal_dev(device_t, const char *, ...) __printflike(2, 3);
     void	aprint_error_dev(device_t, const char *, ...) __printflike(2, 3);
    @@ -534,6 +533,6 @@ void assert_sleepable(void);
     #define	ASSERT_SLEEPABLE()	/* nothing */
     #endif /* defined(DEBUG) */
     
    -vaddr_t calc_cache_size(struct vm_map *, int, int);
    +vaddr_t calc_cache_size(vsize_t , int, int);
     
     #endif	/* !_SYS_SYSTM_H_ */
    diff --git a/sys/sys/termios.h b/sys/sys/termios.h
    index 6f85f9571..d1e6d796a 100644
    --- a/sys/sys/termios.h
    +++ b/sys/sys/termios.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: termios.h,v 1.31 2009/12/26 19:31:34 mrg Exp $	*/
    +/*	$NetBSD: termios.h,v 1.32 2013/07/11 16:46:06 christos Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1993, 1994
    @@ -87,68 +87,64 @@
     /*
      * Input flags - software input processing
      */
    -#define	IGNBRK		0x00000001	/* ignore BREAK condition */
    -#define	BRKINT		0x00000002	/* map BREAK to SIGINT */
    -#define	IGNPAR		0x00000004	/* ignore (discard) parity errors */
    -#define	PARMRK		0x00000008	/* mark parity and framing errors */
    -#define	INPCK		0x00000010	/* enable checking of parity errors */
    -#define	ISTRIP		0x00000020	/* strip 8th bit off chars */
    -#define	INLCR		0x00000040	/* map NL into CR */
    -#define	IGNCR		0x00000080	/* ignore CR */
    -#define	ICRNL		0x00000100	/* map CR to NL (ala CRMOD) */
    -#define	IXON		0x00000200	/* enable output flow control */
    -#define	IXOFF		0x00000400	/* enable input flow control */
    +#define	IGNBRK		0x00000001U	/* ignore BREAK condition */
    +#define	BRKINT		0x00000002U	/* map BREAK to SIGINT */
    +#define	IGNPAR		0x00000004U	/* ignore (discard) parity errors */
    +#define	PARMRK		0x00000008U	/* mark parity and framing errors */
    +#define	INPCK		0x00000010U	/* enable checking of parity errors */
    +#define	ISTRIP		0x00000020U	/* strip 8th bit off chars */
    +#define	INLCR		0x00000040U	/* map NL into CR */
    +#define	IGNCR		0x00000080U	/* ignore CR */
    +#define	ICRNL		0x00000100U	/* map CR to NL (ala CRMOD) */
    +#define	IXON		0x00000200U	/* enable output flow control */
    +#define	IXOFF		0x00000400U	/* enable input flow control */
     #if defined(_NETBSD_SOURCE)
    -#define	IXANY		0x00000800	/* any char will restart after stop */
    +#define	IXANY		0x00000800U	/* any char will restart after stop */
     #endif
     #if defined(_NETBSD_SOURCE)
    -#define IMAXBEL		0x00002000	/* ring bell on input queue full */
    -#endif
    -
    -#ifdef __minix
    -#define SCANCODES       0x00001000  /* send scancodes */
    +#define IMAXBEL		0x00002000U	/* ring bell on input queue full */
     #endif
     
     /*
      * Output flags - software output processing
      */
    -#define	OPOST		0x00000001	/* enable following output processing */
    +#define	OPOST		0x00000001U	/* enable following output processing */
     #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
    -#define ONLCR		0x00000002	/* map NL to CR-NL (ala CRMOD) */
    +#define ONLCR		0x00000002U	/* map NL to CR-NL (ala CRMOD) */
     #endif
     #if defined(_NETBSD_SOURCE)
    -#define OXTABS		0x00000004	/* expand tabs to spaces */
    -#define ONOEOT		0x00000008	/* discard EOT's (^D) on output */
    +#define OXTABS		0x00000004U	/* expand tabs to spaces */
    +#define ONOEOT		0x00000008U	/* discard EOT's (^D) on output */
     #endif
     #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
    -#define OCRNL		0x00000010	/* map CR to NL */
    -#define ONOCR		0x00000020	/* discard CR's when on column 0 */
    -#define ONLRET		0x00000040	/* move to column 0 on CR */
    +#define OCRNL		0x00000010U	/* map CR to NL */
    +#define ONOCR		0x00000020U	/* discard CR's when on column 0 */
    +#define ONLRET		0x00000040U	/* move to column 0 on CR */
     #endif  /* defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE) */
     
     /*
      * Control flags - hardware control of terminal
      */
     #if defined(_NETBSD_SOURCE)
    -#define	CIGNORE		0x00000001	/* ignore control flags */
    +#define	CIGNORE		0x00000001U	/* ignore control flags */
     #endif
    -#define CSIZE		0x00000300	/* character size mask */
    -#define     CS5		    0x00000000	    /* 5 bits (pseudo) */
    -#define     CS6		    0x00000100	    /* 6 bits */
    -#define     CS7		    0x00000200	    /* 7 bits */
    -#define     CS8		    0x00000300	    /* 8 bits */
    -#define CSTOPB		0x00000400	/* send 2 stop bits */
    -#define CREAD		0x00000800	/* enable receiver */
    -#define PARENB		0x00001000	/* parity enable */
    -#define PARODD		0x00002000	/* odd parity, else even */
    -#define HUPCL		0x00004000	/* hang up on last close */
    -#define CLOCAL		0x00008000	/* ignore modem status lines */
    +#define CSIZE		0x00000300U	/* character size mask */
    +#define     CS5		    0x00000000U	    /* 5 bits (pseudo) */
    +#define     CS6		    0x00000100U	    /* 6 bits */
    +#define     CS7		    0x00000200U	    /* 7 bits */
    +#define     CS8		    0x00000300U	    /* 8 bits */
    +#define CSTOPB		0x00000400U	/* send 2 stop bits */
    +#define CREAD		0x00000800U	/* enable receiver */
    +#define PARENB		0x00001000U	/* parity enable */
    +#define PARODD		0x00002000U	/* odd parity, else even */
    +#define HUPCL		0x00004000U	/* hang up on last close */
    +#define CLOCAL		0x00008000U	/* ignore modem status lines */
     #if defined(_NETBSD_SOURCE)
    -#define	CRTSCTS		0x00010000	/* RTS/CTS full-duplex flow control */
    +#define	CRTSCTS		0x00010000U	/* RTS/CTS full-duplex flow control */
     #define	CRTS_IFLOW	CRTSCTS		/* XXX compat */
     #define	CCTS_OFLOW	CRTSCTS		/* XXX compat */
    -#define	CDTRCTS		0x00020000	/* DTR/CTS full-duplex flow control */
    -#define	MDMBUF		0x00100000	/* DTR/DCD hardware flow control */
    +#define	CDTRCTS		0x00020000U	/* DTR/CTS full-duplex flow control */
    +#define	MDMBUF		0x00100000U	/* DTR/DCD hardware flow control */
     #define	CHWFLOW		(MDMBUF|CRTSCTS|CDTRCTS) /* all types of hw flow control */
     #endif
     
    @@ -162,32 +158,32 @@
      */
     
     #if defined(_NETBSD_SOURCE)
    -#define	ECHOKE		0x00000001	/* visual erase for line kill */
    +#define	ECHOKE		0x00000001U	/* visual erase for line kill */
     #endif
    -#define	ECHOE		0x00000002	/* visually erase chars */
    -#define	ECHOK		0x00000004	/* echo NL after line kill */
    -#define ECHO		0x00000008	/* enable echoing */
    -#define	ECHONL		0x00000010	/* echo NL even if ECHO is off */
    +#define	ECHOE		0x00000002U	/* visually erase chars */
    +#define	ECHOK		0x00000004U	/* echo NL after line kill */
    +#define ECHO		0x00000008U	/* enable echoing */
    +#define	ECHONL		0x00000010U	/* echo NL even if ECHO is off */
     #if defined(_NETBSD_SOURCE)
    -#define	ECHOPRT		0x00000020	/* visual erase mode for hardcopy */
    -#define ECHOCTL  	0x00000040	/* echo control chars as ^(Char) */
    +#define	ECHOPRT		0x00000020U	/* visual erase mode for hardcopy */
    +#define ECHOCTL  	0x00000040U	/* echo control chars as ^(Char) */
     #endif  /* defined(_NETBSD_SOURCE) */
    -#define	ISIG		0x00000080	/* enable signals INT, QUIT, [D]SUSP */
    -#define	ICANON		0x00000100	/* canonicalize input lines */
    +#define	ISIG		0x00000080U	/* enable signals INT, QUIT, [D]SUSP */
    +#define	ICANON		0x00000100U	/* canonicalize input lines */
     #if defined(_NETBSD_SOURCE)
    -#define ALTWERASE	0x00000200	/* use alternate WERASE algorithm */
    +#define ALTWERASE	0x00000200U	/* use alternate WERASE algorithm */
     #endif /* defined(_NETBSD_SOURCE) */
    -#define	IEXTEN		0x00000400	/* enable DISCARD and LNEXT */
    +#define	IEXTEN		0x00000400U	/* enable DISCARD and LNEXT */
     #if defined(_NETBSD_SOURCE)
    -#define EXTPROC         0x00000800      /* external processing */
    +#define EXTPROC         0x00000800U	/* external processing */
     #endif /* defined(_NETBSD_SOURCE) */
    -#define TOSTOP		0x00400000	/* stop background jobs on output */
    +#define TOSTOP		0x00400000U	/* stop background jobs on output */
     #if defined(_NETBSD_SOURCE)
    -#define FLUSHO		0x00800000	/* output being flushed (state) */
    -#define	NOKERNINFO	0x02000000	/* no kernel output from VSTATUS */
    -#define PENDIN		0x20000000	/* re-echo input buffer at next read */
    +#define FLUSHO		0x00800000U	/* output being flushed (state) */
    +#define	NOKERNINFO	0x02000000U	/* no kernel output from VSTATUS */
    +#define PENDIN		0x20000000U	/* re-echo input buffer at next read */
     #endif /* defined(_NETBSD_SOURCE) */
    -#define	NOFLSH		0x80000000	/* don't flush output on signal */
    +#define	NOFLSH		0x80000000U	/* don't flush output on signal */
     
     typedef unsigned int	tcflag_t;
     typedef unsigned char	cc_t;
    @@ -216,34 +212,34 @@ struct termios {
     /*
      * Standard speeds
      */
    -#define B0	0
    -#define B50	50
    -#define B75	75
    -#define B110	110
    -#define B134	134
    -#define B150	150
    -#define B200	200
    -#define B300	300
    -#define B600	600
    -#define B1200	1200
    -#define	B1800	1800
    -#define B2400	2400
    -#define B4800	4800
    -#define B9600	9600
    -#define B19200	19200
    -#define B38400	38400
    +#define B0	0U
    +#define B50	50U
    +#define B75	75U
    +#define B110	110U
    +#define B134	134U
    +#define B150	150U
    +#define B200	200U
    +#define B300	300U
    +#define B600	600U
    +#define B1200	1200U
    +#define	B1800	1800U
    +#define B2400	2400U
    +#define B4800	4800U
    +#define B9600	9600U
    +#define B19200	19200U
    +#define B38400	38400U
     #if defined(_NETBSD_SOURCE)
    -#define B7200	7200
    -#define B14400	14400
    -#define B28800	28800
    -#define B57600	57600
    -#define B76800	76800
    -#define B115200	115200
    -#define B230400	230400
    -#define B460800	460800
    -#define B921600	921600
    -#define EXTA	19200
    -#define EXTB	38400
    +#define B7200	7200U
    +#define B14400	14400U
    +#define B28800	28800U
    +#define B57600	57600U
    +#define B76800	76800U
    +#define B115200	115200U
    +#define B230400	230400U
    +#define B460800	460800U
    +#define B921600	921600U
    +#define EXTA	19200U
    +#define EXTB	38400U
     #endif  /* defined(_NETBSD_SOURCE) */
     
     #ifndef _KERNEL
    diff --git a/sys/sys/time.h b/sys/sys/time.h
    index ff688bc07..46a83f1be 100644
    --- a/sys/sys/time.h
    +++ b/sys/sys/time.h
    @@ -249,10 +249,10 @@ struct	itimerspec {
     };
     
     #define	CLOCK_REALTIME	0
    -#ifndef __minix
    +#if !defined(__minix)
     #define	CLOCK_VIRTUAL	1
     #define	CLOCK_PROF	2
    -#endif
    +#endif /* !defined(__minix) */
     #define	CLOCK_MONOTONIC	3
     
     #if defined(_NETBSD_SOURCE)
    @@ -278,7 +278,8 @@ __BEGIN_DECLS
     #if (_POSIX_C_SOURCE - 0) >= 200112L || \
         defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
     int	getitimer(int, struct itimerval *) __RENAME(__getitimer50);
    -int	gettimeofday(struct timeval * __restrict, void *__restrict);
    +int	gettimeofday(struct timeval * __restrict, void *__restrict)
    +    __RENAME(__gettimeofday50);
     int	setitimer(int, const struct itimerval * __restrict,
     	    struct itimerval * __restrict) __RENAME(__setitimer50);
     int	utimes(const char *, const struct timeval [2]) __RENAME(__utimes50);
    diff --git a/sys/sys/timepps.h b/sys/sys/timepps.h
    index 3901e4e14..c43638985 100644
    --- a/sys/sys/timepps.h
    +++ b/sys/sys/timepps.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: timepps.h,v 1.20 2012/03/21 05:42:26 matt Exp $	*/
    +/*	$NetBSD: timepps.h,v 1.21 2013/05/26 18:07:42 kardel Exp $	*/
     
     /*
      * Copyright (c) 1998 Jonathan Stone
    @@ -133,6 +133,15 @@ typedef struct {
     
     #include 
     
    +/* flags for pps_ref_event() - bitmask but only 1 bit allowed */
    +#define PPS_REFEVNT_CAPTURE	0x01 /* use captume time stamp */
    +#define PPS_REFEVNT_CURRENT	0x02 /* use current time stamp */
    +#define PPS_REFEVNT_CAPCUR	0x04 /* use average of above */
    +#define PPS_REFEVNT_RMASK       0x0F /* mask reference bits */
    +
    +#define PPS_REFEVNT_PPS		0x10 /* guess PPS second from */
    +                                     /* capture timestamp */
    +
     extern kmutex_t timecounter_lock;
     
     struct pps_state {
    @@ -140,6 +149,7 @@ struct pps_state {
     	struct timehands *capth;
     	unsigned	capgen;
     	u_int64_t	capcount;
    +	struct bintime  ref_time;
     
     	/* State information. */
     	pps_params_t	ppsparam;
    @@ -152,6 +162,7 @@ struct pps_state {
     
     void pps_capture(struct pps_state *);
     void pps_event(struct pps_state *, int);
    +void pps_ref_event(struct pps_state *, int, struct bintime *, int);
     void pps_init(struct pps_state *);
     int pps_ioctl(unsigned long, void *, struct pps_state *);
     
    diff --git a/sys/sys/times.h b/sys/sys/times.h
    index be81b8653..87c36b7c5 100644
    --- a/sys/sys/times.h
    +++ b/sys/sys/times.h
    @@ -57,13 +57,9 @@ struct tms {
     #include 
     
     __BEGIN_DECLS
    -#ifdef __minix
    -clock_t times(struct tms *);
    -#else
     #ifndef __LIBC12_SOURCE__
     clock_t times(struct tms *) __RENAME(__times13);
     #endif
    -#endif /* __minix */
     __END_DECLS
     #endif
     #endif /* !_SYS_TIMES_H_ */
    diff --git a/sys/sys/timevar.h b/sys/sys/timevar.h
    index 897139e95..d6d473040 100644
    --- a/sys/sys/timevar.h
    +++ b/sys/sys/timevar.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: timevar.h,v 1.32 2012/10/02 01:44:29 christos Exp $	*/
    +/*	$NetBSD: timevar.h,v 1.33 2013/03/29 01:09:45 christos Exp $	*/
     
     /*
      *  Copyright (c) 2005, 2008 The NetBSD Foundation.
    @@ -145,7 +145,7 @@ void	getnanotime(struct timespec *);
     void	getmicrotime(struct timeval *);
     
     /* Other functions */
    -int	abstimeout2timo(struct timespec *, int *);
    +int	ts2timo(clockid_t, int, struct timespec *, int *, struct timespec *);
     void	adjtime1(const struct timeval *, struct timeval *, struct proc *);
     int	clock_getres1(clockid_t, struct timespec *);
     int	clock_gettime1(clockid_t, struct timespec *);
    diff --git a/sys/sys/tree.h b/sys/sys/tree.h
    index d044f9899..eaea56aae 100644
    --- a/sys/sys/tree.h
    +++ b/sys/sys/tree.h
    @@ -1,5 +1,5 @@
    -/*	$NetBSD: tree.h,v 1.16 2008/03/21 13:07:15 ad Exp $	*/
    -/*	$OpenBSD: tree.h,v 1.7 2002/10/17 21:51:54 art Exp $	*/
    +/*	$NetBSD: tree.h,v 1.20 2013/09/14 13:20:45 joerg Exp $	*/
    +/*	$OpenBSD: tree.h,v 1.13 2011/07/09 00:19:45 pirofti Exp $	*/
     /*
      * Copyright 2002 Niels Provos 
      * All rights reserved.
    @@ -130,7 +130,7 @@ name##_SPLAY_FIND(struct name *head, struct type *elm)			\
     	return (NULL);							\
     }									\
     									\
    -static __inline struct type *						\
    +static __inline __unused struct type *					\
     name##_SPLAY_NEXT(struct name *head, struct type *elm)			\
     {									\
     	name##_SPLAY(head, elm);					\
    @@ -144,7 +144,7 @@ name##_SPLAY_NEXT(struct name *head, struct type *elm)			\
     	return (elm);							\
     }									\
     									\
    -static __inline struct type *						\
    +static __unused __inline struct type *					\
     name##_SPLAY_MIN_MAX(struct name *head, int val)			\
     {									\
     	name##_SPLAY_MINMAX(head, val);					\
    @@ -330,7 +330,7 @@ struct {								\
     } while (/*CONSTCOND*/ 0)
     
     #ifndef RB_AUGMENT
    -#define RB_AUGMENT(x) (void)(x)
    +#define RB_AUGMENT(x)	do {} while (/*CONSTCOND*/ 0)
     #endif
     
     #define RB_ROTATE_LEFT(head, elm, tmp, field) do {			\
    @@ -733,9 +733,29 @@ name##_RB_MINMAX(struct name *head, int val)				\
     	     (x) != NULL;						\
     	     (x) = name##_RB_NEXT(x))
     
    +#define RB_FOREACH_FROM(x, name, y)					\
    +	for ((x) = (y);							\
    +	    ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL);	\
    +	     (x) = (y))
    +
    +#define RB_FOREACH_SAFE(x, name, head, y)				\
    +	for ((x) = RB_MIN(name, head);					\
    +	    ((x) != NULL) && ((y) = name##_RB_NEXT(x), (x) != NULL);	\
    +	     (x) = (y))
    +
     #define RB_FOREACH_REVERSE(x, name, head)				\
     	for ((x) = RB_MAX(name, head);					\
     	     (x) != NULL;						\
     	     (x) = name##_RB_PREV(x))
     
    +#define RB_FOREACH_REVERSE_FROM(x, name, y)				\
    +	for ((x) = (y);							\
    +	    ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL);	\
    +	     (x) = (y))
    +
    +#define RB_FOREACH_REVERSE_SAFE(x, name, head, y)			\
    +	for ((x) = RB_MAX(name, head);					\
    +	    ((x) != NULL) && ((y) = name##_RB_PREV(x), (x) != NULL);	\
    +	     (x) = (y))
    +
     #endif	/* _SYS_TREE_H_ */
    diff --git a/sys/sys/tty.h b/sys/sys/tty.h
    index b9f51027c..82a3c34f3 100644
    --- a/sys/sys/tty.h
    +++ b/sys/sys/tty.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: tty.h,v 1.90 2011/09/24 00:05:38 christos Exp $	*/
    +/*	$NetBSD: tty.h,v 1.91 2013/02/24 06:20:24 matt Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -148,6 +148,7 @@ struct tty {
     	sigset_t t_sigs[TTYSIG_COUNT];	/* Pending signals */
     	int	t_sigcount;		/* # pending signals */
     	TAILQ_ENTRY(tty) t_sigqueue;	/* entry on pending signal list */
    +	void	*t_softc;		/* pointer to driver's softc. */
     };
     
     #define	t_cc		t_termios.c_cc
    diff --git a/sys/sys/ttycom.h b/sys/sys/ttycom.h
    index cb9df0517..26d05c349 100644
    --- a/sys/sys/ttycom.h
    +++ b/sys/sys/ttycom.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ttycom.h,v 1.19 2011/09/24 00:05:39 christos Exp $	*/
    +/*	$NetBSD: ttycom.h,v 1.20 2012/10/19 16:49:21 apb Exp $	*/
     
     /*-
      * Copyright (c) 1982, 1986, 1990, 1993, 1994
    @@ -39,6 +39,7 @@
     #ifndef	_SYS_TTYCOM_H_
     #define	_SYS_TTYCOM_H_
     
    +#include 
     #include 
     
     /*
    @@ -57,12 +58,12 @@ struct winsize {
     	unsigned short	ws_ypixel;	/* vertical size, pixels */
     };
     
    -/* ptmget, for /dev/ptm pty getting ioctl PTMGET */
    +/* ptmget, for /dev/ptm pty getting ioctl TIOCPTMGET, and for TIOCPTSNAME */
     struct ptmget {
     	int	cfd;
     	int	sfd;
    -	char	cn[16];
    -	char	sn[16];
    +	char	cn[PATH_MAX];
    +	char	sn[PATH_MAX];
     };
     
     #define _PATH_PTMDEV	"/dev/ptm"
    @@ -163,9 +164,7 @@ typedef char linedn_t[TTLINEDNAMELEN];
     #define	STRIPDISC	6		/* metricom wireless IP discipline */
     #define	HDLCDISC	9		/* HDLC discipline */
     
    -#ifdef __minix
    -
    -#include 
    +#if defined(__minix)
     
     /* Terminal ioctls. Use big T. */
     #define TIOCSFON        _IOW_BIG(1, u8_t [8192])	/* new font */
    @@ -178,6 +177,6 @@ typedef char linedn_t[TTLINEDNAMELEN];
     /* /dev/video ioctls. */
     #define TIOCMAPMEM      _IOWR('v', 1, struct mapreqvm)
     #define TIOCUNMAPMEM    _IOWR('v', 2, struct mapreqvm)
    -#endif
    +#endif /* defined(__minix) */
     
     #endif /* !_SYS_TTYCOM_H_ */
    diff --git a/sys/sys/ttydefaults.h b/sys/sys/ttydefaults.h
    index 1c3687374..b46391310 100644
    --- a/sys/sys/ttydefaults.h
    +++ b/sys/sys/ttydefaults.h
    @@ -49,11 +49,11 @@
     #define TTYDEF_OFLAG	(OPOST | ONLCR | OXTABS)
     #define TTYDEF_LFLAG	(ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL)
     #define TTYDEF_CFLAG	(CREAD | CS8 | HUPCL)
    -#ifdef __minix
    -#define TTYDEF_SPEED   (B115200)
    +#if defined(__minix)
    +#define TTYDEF_SPEED	(B115200)
     #else
    -#define TTYDEF_SPEED   (B9600)
    -#endif
    +#define TTYDEF_SPEED	(B9600)
    +#endif /* defined(__minix) */
     
     /*
      * Control Character Defaults
    diff --git a/sys/sys/types.h b/sys/sys/types.h
    index 18c557b24..b3657d494 100644
    --- a/sys/sys/types.h
    +++ b/sys/sys/types.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: types.h,v 1.89 2012/03/17 21:30:29 christos Exp $	*/
    +/*	$NetBSD: types.h,v 1.90 2013/02/02 14:00:37 matt Exp $	*/
     
     /*-
      * Copyright (c) 1982, 1986, 1991, 1993, 1994
    @@ -233,9 +233,11 @@ typedef	int		psetid_t;
      * Boolean type definitions for the kernel environment.  User-space
      * boolean definitions are found in .
      */
    +#ifndef __cplusplus
     #define bool	_Bool
     #define true	1
     #define false	0
    +#endif
     
     /*
      * Deprecated Mach-style boolean_t type.  Should not be used by new code.
    diff --git a/sys/sys/ucontext.h b/sys/sys/ucontext.h
    index b4d0d0890..5e59d5f00 100644
    --- a/sys/sys/ucontext.h
    +++ b/sys/sys/ucontext.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ucontext.h,v 1.17 2012/09/12 02:00:54 manu Exp $	*/
    +/*	$NetBSD: ucontext.h,v 1.18 2013/03/06 18:16:58 pooka Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2003 The NetBSD Foundation, Inc.
    @@ -57,11 +57,11 @@ struct __ucontext {
     #define _UC_STACK	0x02		/* valid uc_stack */
     #define _UC_CPU		0x04		/* valid GPR context in uc_mcontext */
     #define _UC_FPU		0x08		/* valid FPU context in uc_mcontext */
    -#ifdef __minix
    +#if defined(__minix)
     #define	_UC_SWAPPED	0x10000
     #define _UC_IGNFPU      0x20000
     #define _UC_IGNSIGM     0x40000
    -#endif
    +#endif /* defined(__minix) */
     #define	_UC_MD		0x400f0020	/* MD bits.  see below */
     
     /*
    @@ -109,23 +109,20 @@ struct __ucontext {
     #ifdef _KERNEL
     struct lwp;
     
    -#if defined(__UCONTEXT_SIZE) && !defined(__minix)
    -__CTASSERT(sizeof(ucontext_t) == __UCONTEXT_SIZE);
    -#endif
    -
     void	getucontext(struct lwp *, ucontext_t *);
     int	setucontext(struct lwp *, const ucontext_t *);
     void	cpu_getmcontext(struct lwp *, mcontext_t *, unsigned int *);
     int	cpu_setmcontext(struct lwp *, const mcontext_t *, unsigned int);
     int	cpu_mcontext_validate(struct lwp *, const mcontext_t *);
    +
    +#if defined(__UCONTEXT_SIZE) && !defined(__minix)
    +__CTASSERT(sizeof(ucontext_t) == __UCONTEXT_SIZE);
    +#endif
     #endif /* _KERNEL */
     
     #ifdef __minix
     __BEGIN_DECLS
     void resumecontext(ucontext_t *ucp);
    -#if defined(__UCONTEXT_SIZE) && !defined(__minix)
    -__CTASSERT(sizeof(ucontext_t) == __UCONTEXT_SIZE);
    -#endif
      
     /* These functions get and set ucontext structure through PM/kernel. They don't
      * manipulate the stack. */
    diff --git a/sys/sys/unistd.h b/sys/sys/unistd.h
    index aa1dee133..4a7a5f356 100644
    --- a/sys/sys/unistd.h
    +++ b/sys/sys/unistd.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: unistd.h,v 1.53 2012/08/01 15:24:22 martin Exp $	*/
    +/*	$NetBSD: unistd.h,v 1.54 2012/11/02 21:41:26 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -62,12 +62,12 @@
     #define	_POSIX_VERSION			200112L
     #define	_POSIX2_VERSION			200112L
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * We support the posix_spawn() family of functions (unconditionally).
      */
     #define	_POSIX_SPAWN			200809L
    -#endif
    +#endif /* !defined(__minix) */
     
     /* execution-time symbolic constants */
     
    @@ -308,6 +308,9 @@
     /* This is implemented */
     #define	_SC_SPAWN			86
     
    +/* Extensions found in Solaris and Linux. */
    +#define	_SC_PHYS_PAGES		121
    +
     #ifdef _NETBSD_SOURCE
     /* Commonly provided sysconf() extensions */
     #define	_SC_NPROCESSORS_CONF	1001
    diff --git a/sys/sys/userret.h b/sys/sys/userret.h
    index aa5bfff16..031d19779 100644
    --- a/sys/sys/userret.h
    +++ b/sys/sys/userret.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: userret.h,v 1.25 2012/02/19 21:07:00 rmind Exp $	*/
    +/*	$NetBSD: userret.h,v 1.26 2013/04/07 07:54:53 kiyohara Exp $	*/
     
     /*-
      * Copyright (c) 1998, 2000, 2003, 2006, 2008 The NetBSD Foundation, Inc.
    @@ -66,7 +66,6 @@
     #define	_SYS_USERRET_H_
     
     #include 
    -#include 
     #include 
     
     /*
    diff --git a/sys/sys/utsname.h b/sys/sys/utsname.h
    index 229e4a45d..5d6f71a32 100644
    --- a/sys/sys/utsname.h
    +++ b/sys/sys/utsname.h
    @@ -51,19 +51,21 @@ struct utsname {
     	char	release[_SYS_NMLN];	/* Release level. */
     	char	version[_SYS_NMLN];	/* Version level. */
     	char	machine[_SYS_NMLN];	/* Hardware type. */
    +#if defined(__minix)
     	char	arch[_SYS_NMLN];
    +#endif /* defined(__minix) */
     };
     
     #include 
     
     __BEGIN_DECLS
     int	uname(struct utsname *);
    -#ifdef __minix
    +#if defined(__minix)
     int 	sysuname(int _req, int _field, char *_value, size_t _len);
    -#endif
    +#endif /* defined(__minix) */
     __END_DECLS
     
    -#ifdef __minix
    +#if defined(__minix)
     /* req: Get or set a string. */
     #define _UTS_GET	0
     #define _UTS_SET	1
    @@ -79,6 +81,6 @@ __END_DECLS
     #define _UTS_SYSNAME	7
     #define _UTS_BUS	8
     #define _UTS_MAX	9	/* Number of strings. */
    -#endif /* __minix */
    +#endif /* defined(__minix) */
     
     #endif	/* !_SYS_UTSNAME_H_ */
    diff --git a/sys/sys/vfs_syscalls.h b/sys/sys/vfs_syscalls.h
    index 427ff205d..c42e8d6fb 100644
    --- a/sys/sys/vfs_syscalls.h
    +++ b/sys/sys/vfs_syscalls.h
    @@ -1,4 +1,4 @@
    -/*     $NetBSD: vfs_syscalls.h,v 1.18 2012/03/13 18:41:02 elad Exp $        */
    +/*     $NetBSD: vfs_syscalls.h,v 1.21 2013/11/18 01:31:42 chs Exp $        */
     
     /*
      * Copyright (c) 2007, 2008, 2009 The NetBSD Foundation, Inc.
    @@ -42,6 +42,7 @@ struct quotactl_args;
     
     /* Status functions to kernel 'struct stat' buffers */
     int do_sys_stat(const char *, unsigned int, struct stat *);
    +int do_sys_statat(struct lwp *, int, const char *, unsigned int, struct stat *);
     int do_fhstat(struct lwp *, const void *, size_t, struct stat *);
     int do_fhstatvfs(struct lwp *, const void *, size_t, struct statvfs *, int);
     
    @@ -53,7 +54,9 @@ int do_sys_getvfsstat(struct lwp *, void *, size_t, int, int (*)(const void *, v
     
     int do_sys_utimes(struct lwp *, struct vnode *, const char *, int,
         const struct timeval *, enum uio_seg);
    -int do_sys_utimens(struct lwp *, struct vnode *, const char *, int flag,
    +int do_sys_utimens(struct lwp *, struct vnode *, const char *, int,
    +    const struct timespec *, enum uio_seg);
    +int do_sys_utimensat(struct lwp *, int, struct vnode *, const char *, int,
         const struct timespec *, enum uio_seg);
     
     int	vfs_copyinfh_alloc(const void *, size_t, fhandle_t **);
    @@ -61,10 +64,14 @@ void	vfs_copyinfh_free(fhandle_t *);
     
     int dofhopen(struct lwp *, const void *, size_t, int, register_t *);
     
    +int	do_sys_linkat(struct lwp *, int, const char *, int, const char *, int, register_t *);
     int	do_sys_unlink(const char *, enum uio_seg);
     int	do_sys_rename(const char *, const char *, enum uio_seg, int);
    -int	do_sys_mknod(struct lwp *, const char *, mode_t, dev_t, register_t *,
    -    enum uio_seg);
    +int	do_sys_mknod(struct lwp *, const char *, mode_t, dev_t, register_t *, enum uio_seg);
    +int	do_sys_mknodat(struct lwp *, int, const char *, mode_t, dev_t, register_t *, enum uio_seg);
    +int	do_sys_chmodat(struct lwp *, int, const char *, int, int);
    +int	do_sys_chownat(struct lwp *, int, const char *, uid_t, gid_t, int);
    +int	do_sys_accessat(struct lwp *, int, const char *, int ,int);
     int	do_sys_mkdir(const char *, mode_t, enum uio_seg);
     int	do_sys_symlink(const char *, const char *, enum uio_seg);
     int	do_sys_quotactl(const char *, const struct quotactl_args *);
    diff --git a/sys/sys/vmem.h b/sys/sys/vmem.h
    index 9d228774a..dc82f02cf 100644
    --- a/sys/sys/vmem.h
    +++ b/sys/sys/vmem.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vmem.h,v 1.17 2012/01/27 19:48:41 para Exp $	*/
    +/*	$NetBSD: vmem.h,v 1.20 2013/01/29 21:26:24 para Exp $	*/
     
     /*-
      * Copyright (c)2006 YAMAMOTO Takashi,
    @@ -31,9 +31,10 @@
     
     #include 
     
    -#if !defined(_KERNEL)
    +#if defined(_KERNEL)
    +#else /* defined(_KERNEL) */
     #include 
    -#endif /* !defined(_KERNEL) */
    +#endif /* defined(_KERNEL) */
     
     typedef struct vmem vmem_t;
     
    @@ -54,8 +55,7 @@ extern vmem_t *kmem_arena;
     extern vmem_t *kmem_meta_arena;
     extern vmem_t *kmem_va_arena;
     
    -void vmem_bootstrap(void);
    -void vmem_init(vmem_t *vm);
    +void vmem_subsystem_init(vmem_t *vm);
     
     vmem_t *vmem_create(const char *, vmem_addr_t, vmem_size_t, vmem_size_t,
         vmem_import_t *, vmem_release_t *, vmem_t *, vmem_size_t,
    @@ -63,6 +63,9 @@ vmem_t *vmem_create(const char *, vmem_addr_t, vmem_size_t, vmem_size_t,
     vmem_t *vmem_xcreate(const char *, vmem_addr_t, vmem_size_t, vmem_size_t,
         vmem_ximport_t *, vmem_release_t *, vmem_t *, vmem_size_t,
         vm_flag_t, int);
    +vmem_t *vmem_init(vmem_t *, const char *, vmem_addr_t, vmem_size_t, vmem_size_t,
    +    vmem_import_t *, vmem_release_t *, vmem_t *, vmem_size_t,
    +    vm_flag_t, int);
     void vmem_destroy(vmem_t *);
     int vmem_alloc(vmem_t *, vmem_size_t, vm_flag_t, vmem_addr_t *);
     void vmem_free(vmem_t *, vmem_addr_t, vmem_size_t);
    diff --git a/sys/sys/vmem_impl.h b/sys/sys/vmem_impl.h
    new file mode 100644
    index 000000000..93e971039
    --- /dev/null
    +++ b/sys/sys/vmem_impl.h
    @@ -0,0 +1,139 @@
    +/*	$NetBSD: vmem_impl.h,v 1.3 2013/11/22 21:04:11 christos Exp $	*/
    +
    +/*-
    + * Copyright (c)2006 YAMAMOTO Takashi,
    + * 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.
    + */
    +
    +/*
    + * Data structures private to vmem.
    + */
    +
    +#ifndef _SYS_VMEM_IMPL_H_
    +#define	_SYS_VMEM_IMPL_H_
    +
    +#include 
    +
    +#if defined(_KERNEL)
    +#define	QCACHE
    +#include 
    +
    +#define	LOCK_DECL(name)		\
    +    kmutex_t name; char lockpad[COHERENCY_UNIT - sizeof(kmutex_t)]
    +
    +#define CONDVAR_DECL(name)	\
    +    kcondvar_t name
    +
    +#else /* defined(_KERNEL) */
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "vmem.h"
    +
    +#define	LOCK_DECL(name)		/* nothing */
    +#define	CONDVAR_DECL(name)	/* nothing */
    +#endif /* defined(_KERNEL) */
    +
    +#define	VMEM_MAXORDER		(sizeof(vmem_size_t) * CHAR_BIT)
    +
    +typedef struct vmem_btag bt_t;
    +
    +TAILQ_HEAD(vmem_seglist, vmem_btag);
    +LIST_HEAD(vmem_freelist, vmem_btag);
    +LIST_HEAD(vmem_hashlist, vmem_btag);
    +
    +#if defined(QCACHE)
    +#define	VMEM_QCACHE_IDX_MAX	16
    +
    +#define	QC_NAME_MAX	16
    +
    +struct qcache {
    +	pool_cache_t qc_cache;
    +	vmem_t *qc_vmem;
    +	char qc_name[QC_NAME_MAX];
    +};
    +typedef struct qcache qcache_t;
    +#define	QC_POOL_TO_QCACHE(pool)	((qcache_t *)(pool->pr_qcache))
    +#endif /* defined(QCACHE) */
    +
    +#define	VMEM_NAME_MAX	16
    +
    +/* vmem arena */
    +struct vmem {
    +	CONDVAR_DECL(vm_cv);
    +	LOCK_DECL(vm_lock);
    +	vm_flag_t vm_flags;
    +	vmem_import_t *vm_importfn;
    +	vmem_release_t *vm_releasefn;
    +	size_t vm_nfreetags;
    +	LIST_HEAD(, vmem_btag) vm_freetags;
    +	void *vm_arg;
    +	struct vmem_seglist vm_seglist;
    +	struct vmem_freelist vm_freelist[VMEM_MAXORDER];
    +	size_t vm_hashsize;
    +	size_t vm_nbusytag;
    +	struct vmem_hashlist *vm_hashlist;
    +	struct vmem_hashlist vm_hash0;
    +	size_t vm_quantum_mask;
    +	int vm_quantum_shift;
    +	size_t vm_size;
    +	size_t vm_inuse;
    +	char vm_name[VMEM_NAME_MAX+1];
    +	LIST_ENTRY(vmem) vm_alllist;
    +
    +#if defined(QCACHE)
    +	/* quantum cache */
    +	size_t vm_qcache_max;
    +	struct pool_allocator vm_qcache_allocator;
    +	qcache_t vm_qcache_store[VMEM_QCACHE_IDX_MAX];
    +	qcache_t *vm_qcache[VMEM_QCACHE_IDX_MAX];
    +#endif /* defined(QCACHE) */
    +};
    +
    +/* boundary tag */
    +struct vmem_btag {
    +	TAILQ_ENTRY(vmem_btag) bt_seglist;
    +	union {
    +		LIST_ENTRY(vmem_btag) u_freelist; /* BT_TYPE_FREE */
    +		LIST_ENTRY(vmem_btag) u_hashlist; /* BT_TYPE_BUSY */
    +	} bt_u;
    +#define	bt_hashlist	bt_u.u_hashlist
    +#define	bt_freelist	bt_u.u_freelist
    +	vmem_addr_t bt_start;
    +	vmem_size_t bt_size;
    +	int bt_type;
    +};
    +
    +#define	BT_TYPE_SPAN		1
    +#define	BT_TYPE_SPAN_STATIC	2
    +#define	BT_TYPE_FREE		3
    +#define	BT_TYPE_BUSY		4
    +#define	BT_ISSPAN_P(bt)	((bt)->bt_type <= BT_TYPE_SPAN_STATIC)
    +
    +#define	BT_END(bt)	((bt)->bt_start + (bt)->bt_size - 1)
    +
    +#endif /* !_SYS_VMEM_IMPL_H_ */
    diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h
    index 6baa382ee..4c7af874b 100644
    --- a/sys/sys/vnode.h
    +++ b/sys/sys/vnode.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vnode.h,v 1.236 2011/11/24 15:51:30 ahoka Exp $	*/
    +/*	$NetBSD: vnode.h,v 1.242 2013/12/01 00:59:34 christos Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -82,14 +82,9 @@ struct uvm_ractx;
      */
     
     /*
    - * Vnode types.  VNON means no type.  __VTYPE_DEFINED allows other
    - * sources to override this definition.  __VTYPE_DEFINED should be
    - * considered a temporary feature.
    + * Vnode types.  VNON means no type.
      */
    -#ifndef __VTYPE_DEFINED
    -#define __VTYPE_DEFINED
     enum vtype	{ VNON, VREG, VDIR, VBLK, VCHR, VLNK, VSOCK, VFIFO, VBAD };
    -#endif /* __VTYPE_DEFINED */
     
     #define	VNODE_TYPES \
         "VNON", "VREG", "VDIR", "VBLK", "VCHR", "VLNK", "VSOCK", "VFIFO", "VBAD"
    @@ -127,7 +122,7 @@ TAILQ_HEAD(vnodelst, vnode);
      * lock.  Field markings and the corresponding locks:
      *
      *	:	stable, reference to the vnode is required
    - *	f	vnode_free_list_lock, or vrele_lock if VI_INACTPEND
    + *	f	vnode_free_list_lock, or vrele_lock for vrele_list
      *	i	v_interlock
      *	m	mntvnode_lock
      *	n	namecache_lock
    @@ -210,9 +205,10 @@ typedef struct vnode vnode_t;
     #define	VI_LAYER	0x00020000	/* vnode is on a layer filesystem */
     #define	VI_LOCKSHARE	0x00040000	/* v_interlock is shared */
     #define	VI_CLEAN	0x00080000	/* has been reclaimed */
    -#define	VI_INACTPEND	0x00100000	/* inactivation is pending */
    +#ifdef _VFS_VNODE_PRIVATE
     #define	VI_INACTREDO	0x00200000	/* need to redo VOP_INACTIVE() */
     #define	VI_INACTNOW	0x00800000	/* VOP_INACTIVE() in progress */
    +#endif	/* _VFS_VNODE_PRIVATE */
     
     /*
      * The third set are locked by the underlying file system.
    @@ -222,17 +218,11 @@ typedef struct vnode vnode_t;
     #define	VNODE_FLAGBITS \
         "\20\1ROOT\2SYSTEM\3ISTTY\4MAPPED\5MPSAFE\6LOCKSWORK\11TEXT\12EXECMAP" \
         "\13WRMAP\14WRMAPDIRTY\15XLOCK\17ONWORKLST\20MARKER" \
    -    "\22LAYER\24CLEAN\25INACTPEND\26INACTREDO" \
    +    "\22LAYER\24CLEAN\26INACTREDO" \
         "\30INACTNOW\31DIROP"
     
     #define	VSIZENOTSET	((voff_t)-1)
     
    -/*
    - * v_usecount; see the comment near the top of vfs_vnode.c
    - */
    -#define	VC_XLOCK	0x80000000
    -#define	VC_MASK		0x7fffffff
    -
     /*
      * vnode lock flags
      */
    @@ -324,7 +314,6 @@ extern const int	vttoif_tab[];
     #define	SKIPSYSTEM	0x0001		/* vflush: skip vnodes marked VSYSTEM */
     #define	FORCECLOSE	0x0002		/* vflush: force file closeure */
     #define	WRITECLOSE	0x0004		/* vflush: only close writable files */
    -#define	DOCLOSE		0x0008		/* vclean: close active files */
     #define	V_SAVE		0x0001		/* vinvalbuf: sync file first */
     
     /*
    @@ -554,22 +543,18 @@ int	vfinddev(dev_t, enum vtype, struct vnode **);
     int	vflush(struct mount *, struct vnode *, int);
     int	vflushbuf(struct vnode *, int);
     int 	vget(struct vnode *, int);
    -bool	vtryget(struct vnode *);
     void 	vgone(struct vnode *);
     int	vinvalbuf(struct vnode *, int, kauth_cred_t, struct lwp *, bool, int);
     void	vprint(const char *, struct vnode *);
     void 	vput(struct vnode *);
    -int	vrecycle(struct vnode *, kmutex_t *, struct lwp *);
    +int	vrecycle(struct vnode *, kmutex_t *);
     void 	vrele(struct vnode *);
     void 	vrele_async(struct vnode *);
     void	vrele_flush(void);
     int	vtruncbuf(struct vnode *, daddr_t, bool, int);
     void	vwakeup(struct buf *);
     void	vwait(struct vnode *, int);
    -void	vclean(struct vnode *, int);
     void	vrevoke(struct vnode *);
    -void	vrelel(struct vnode *, int);
    -#define VRELEL_ASYNC_RELE	0x03
     struct vnode *
     	vnalloc(struct mount *);
     void	vnfree(struct vnode *);
    diff --git a/sys/sys/vnode_if.h b/sys/sys/vnode_if.h
    index db375f97e..a40eb41e0 100644
    --- a/sys/sys/vnode_if.h
    +++ b/sys/sys/vnode_if.h
    @@ -1,13 +1,13 @@
    -/*	$NetBSD: vnode_if.h,v 1.83 2011/08/08 12:17:27 manu Exp $	*/
    +/*	$NetBSD: vnode_if.h,v 1.84 2013/07/17 21:21:34 pooka Exp $	*/
     
     /*
      * Warning: DO NOT EDIT! This file is automatically generated!
      * (Modifications made here may easily be lost!)
      *
      * Created from the file:
    - *	NetBSD: vnode_if.src,v 1.62 2011/07/11 08:23:00 hannken Exp
    + *	NetBSD: vnode_if.src,v 1.63 2011/10/14 09:23:31 hannken Exp
      * by the script:
    - *	NetBSD: vnode_if.sh,v 1.58 2011/07/11 08:23:00 hannken Exp
    + *	NetBSD: vnode_if.sh,v 1.59 2013/07/17 21:20:53 pooka Exp
      */
     
     /*
    diff --git a/sys/sys/wapbl.h b/sys/sys/wapbl.h
    index 2455a67ee..4e49dffa4 100644
    --- a/sys/sys/wapbl.h
    +++ b/sys/sys/wapbl.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: wapbl.h,v 1.13 2011/11/21 04:36:06 christos Exp $	*/
    +/*	$NetBSD: wapbl.h,v 1.15 2013/09/30 18:58:00 hannken Exp $	*/
     
     /*-
      * Copyright (c) 2003,2008 The NetBSD Foundation, Inc.
    @@ -189,7 +189,7 @@ wapbl_vptomp(struct vnode *vp)
     	mp = NULL;
     	if (vp != NULL) {
     		if (vp->v_type == VBLK)
    -			mp = vp->v_specmountpoint;
    +			mp = spec_node_getmountedfs(vp);
     		else
     			mp = vp->v_mount;
     	}
    @@ -206,10 +206,7 @@ wapbl_vphaswapbl(struct vnode *vp)
     		return false;
     
     	mp = wapbl_vptomp(vp);
    -	if (mp && mp->mnt_wapbl)
    -		return true;
    -	else
    -		return false;
    +	return mp && mp->mnt_wapbl;
     }
     
     #endif /* _KERNEL */
    diff --git a/sys/sys/xcall.h b/sys/sys/xcall.h
    index d017ee36f..d0c40d85d 100644
    --- a/sys/sys/xcall.h
    +++ b/sys/sys/xcall.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: xcall.h,v 1.4 2010/06/22 18:29:01 rmind Exp $	*/
    +/*	$NetBSD: xcall.h,v 1.5 2013/02/19 09:04:53 martin Exp $	*/
     
     /*-
      * Copyright (c) 2007 The NetBSD Foundation, Inc.
    @@ -43,6 +43,8 @@ void		xc_init_cpu(struct cpu_info *);
     void		xc_send_ipi(struct cpu_info *);
     void		xc_ipi_handler(void);
     
    +void		xc__highpri_intr(void *);
    +
     uint64_t	xc_broadcast(u_int, xcfunc_t, void *, void *);
     uint64_t	xc_unicast(u_int, xcfunc_t, void *, void *, struct cpu_info *);
     void		xc_wait(uint64_t);
    diff --git a/sys/ufs/chfs/chfs.h b/sys/ufs/chfs/chfs.h
    index 53fc3d60d..8fa402940 100644
    --- a/sys/ufs/chfs/chfs.h
    +++ b/sys/ufs/chfs/chfs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs.h,v 1.4 2011/11/28 12:50:07 ahoka Exp $	*/
    +/*	$NetBSD: chfs.h,v 1.8 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -38,9 +38,12 @@
     #ifndef __CHFS_H__
     #define __CHFS_H__
     
    +
    +#ifdef _KERNEL
    +
     #if 0
    -#define DBG_MSG
    -#define DBG_MSG_GC
    +#define DBG_MSG			/* debug messages */
    +#define DBG_MSG_GC		/* garbage collector's debug messages */
     #endif
     
     #include 
    @@ -71,26 +74,34 @@
     TAILQ_HEAD(chfs_dirent_list, chfs_dirent);
     
     #include "chfs_pool.h"
    +#endif /* _KERNEL */
    +
     #include "ebh.h"
     #include "media.h"
     #include "chfs_inode.h"
     
    +/* padding - last two bits used for node masks */
    +#define CHFS_PAD(x) (((x)+3)&~3)
    +
    +#ifdef _KERNEL
    +
     #ifndef MOUNT_CHFS
     #define MOUNT_CHFS "chfs"
    -#endif
    -
    -#define CHFS_ROOTINO ROOTINO    /* ROOTINO == 2 */
    +#endif /* MOUNT_CHFS */
     
    +/* state of a vnode */
     enum {
    -	VNO_STATE_UNCHECKED,	/* CRC checks not yet done */
    -	VNO_STATE_CHECKING,	/* CRC checks in progress */
    -	VNO_STATE_PRESENT,	/* In core */
    -	VNO_STATE_CHECKEDABSENT,/* Checked, cleared again */
    -	VNO_STATE_GC,		/* GCing a 'pristine' node */
    -	VNO_STATE_READING,	/* In read_inode() */
    -	VNO_STATE_CLEARING	/* In clear_inode() */
    +	VNO_STATE_UNCHECKED,		/* CRC checks not yet done */
    +	VNO_STATE_CHECKING,			/* CRC checks in progress */
    +	VNO_STATE_PRESENT,			/* In core */
    +	VNO_STATE_CHECKEDABSENT,	/* Checked, cleared again */
    +	VNO_STATE_GC,				/* GCing a 'pristine' node */
    +	VNO_STATE_READING,			/* In read_inode() */
    +	VNO_STATE_CLEARING			/* In clear_inode() */
     };
     
    +
    +/* size of the vnode cache (hashtable) */
     #define VNODECACHE_SIZE 128
     
     #define MAX_READ_FREE(chmp) (((chmp)->chm_ebh)->eb_size / 8)
    @@ -98,8 +109,7 @@ enum {
     #define MAX_DIRTY_TO_CLEAN 255
     #define VERY_DIRTY(chmp, size) ((size) >= (((chmp)->chm_ebh)->eb_size / 2))
     
    -#define CHFS_PAD(x) (((x)+3)&~3)
    -
    +/* node errors */
     enum {
     	CHFS_NODE_OK = 0,
     	CHFS_NODE_BADMAGIC,
    @@ -107,6 +117,7 @@ enum {
     	CHFS_NODE_BADNAMECRC
     };
     
    +/* eraseblock states */
     enum {
     	CHFS_BLK_STATE_FREE = 100,
     	CHFS_BLK_STATE_CLEAN,
    @@ -117,25 +128,23 @@ enum {
     extern struct pool chfs_inode_pool;
     extern const struct genfs_ops chfs_genfsops;
     
    -/**
    - * struct chfs_node_ref - a reference to a node
    - * @lnr: logical identifier of the eraseblock where the node is
    - * @offset: offset int hte eraseblock where the node starts
    - * @next: used at data and dirent nodes, it points to the next data node which
    - * 		  belongs to the same vnode
    - */
    +/* struct chfs_node_ref - a reference to a node which is on the media */
     struct chfs_node_ref
     {
    -	struct chfs_node_ref *nref_next;
    -	uint32_t nref_lnr;
    -	uint32_t nref_offset;
    +	struct chfs_node_ref *nref_next;	/* next data node which belongs to the same vnode */
    +	uint32_t nref_lnr;					/* nref's LEB number */
    +	uint32_t nref_offset;				/* nref's offset */
     };
     
    -/* Constants  for allocating node refs */
    +/*
    + * constants for allocating node refs 
    + * they're allocated in blocks
    + */
     #define REFS_BLOCK_LEN (255/sizeof(struct chfs_node_ref))
     #define REF_EMPTY_NODE (UINT_MAX)
     #define REF_LINK_TO_NEXT (UINT_MAX - 1)
     
    +/* node masks - last two bits of the nodes ("state" of an nref) */
     enum {
     	CHFS_NORMAL_NODE_MASK,
     	CHFS_UNCHECKED_NODE_MASK,
    @@ -152,83 +161,84 @@ enum {
     
     #define CHFS_GET_OFS(ofs) (ofs & ~ 3)
     
    +/*
    + * Nrefs are allocated in blocks, get the (in-memory) next. Usually the next
    + * doesn't belongs to the same vnode.
    + */
     static inline struct chfs_node_ref *
     node_next(struct chfs_node_ref *nref)
     {
    -	//dbg("node next: %u : %u\n", nref->nref_lnr, nref->nref_offset);
    +	/* step to the next nref in the same block */
     	nref++;
    -	//dbg("nref++: %u : %u\n", nref->nref_lnr, nref->nref_offset);
     
    +	/* REF_LINK_TO_NEXT means that the next node will be in the next block */
     	if (nref->nref_lnr == REF_LINK_TO_NEXT) {
    -		//dbg("link to next\n");
     		nref = nref->nref_next;
     		if (!nref)
     			return nref;
     	}
     
    +	/* REF_EMPTY_NODE means that this is the last node */
     	if (nref->nref_lnr == REF_EMPTY_NODE) {
    -		//dbg("empty\n");
     		return NULL;
     	}
     
     	return nref;
     }
     
    -/**
    - * struct chfs_dirent - full representation of a directory entry
    - */
    +/* struct chfs_dirent - full representation of a directory entry */
     struct chfs_dirent
     {
    -	struct chfs_node_ref *nref;
    -//	struct chfs_dirent *next;
    -	TAILQ_ENTRY(chfs_dirent) fds;
    -	uint64_t version;
    -	ino_t vno;
    -	uint32_t nhash;
    -	enum vtype type;
    -	uint8_t  nsize;
    -	uint8_t  name[0];
    -
    -	/* used by chfs_alloc_dirent and free counterpart */
    -//	size_t alloc_size;
    +	struct chfs_node_ref *nref;		/* nref of the dirent */
    +	TAILQ_ENTRY(chfs_dirent) fds;	/* directory entries */
    +	uint64_t version;				/* version */
    +	ino_t vno;						/* vnode number */
    +	uint32_t nhash;					/* name hash */
    +	enum chtype type;				/* type of the dirent */
    +	uint8_t  nsize;					/* length of its name */
    +	uint8_t  name[0];				/* name of the directory */
     };
     
    +/* struct chfs_tmp_dnode - used temporarly while building a data node */
     struct chfs_tmp_dnode {
    -	struct chfs_full_dnode *node;
    -	uint64_t version;
    -	uint32_t data_crc;
    -	//uint32_t partial_crc;
    -	//uint16_t csize;
    -	uint16_t overlapped;
    -	struct chfs_tmp_dnode *next;
    +	struct chfs_full_dnode *node;	/* associated full dnode */
    +	uint64_t version;				/* version of the tmp node */
    +	uint32_t data_crc;				/* CRC of the data */
    +	uint16_t overlapped;			/* is overlapped */
    +	struct chfs_tmp_dnode *next;	/* next tmp node */
     };
     
    +/* struct chfs_tmp_dnode_info - tmp nodes are stored in rb trees */
     struct chfs_tmp_dnode_info {
    -	struct rb_node rb_node;
    -	struct chfs_tmp_dnode *tmpnode;
    +	struct rb_node rb_node;			/* rb tree entry */
    +	struct chfs_tmp_dnode *tmpnode;	/* associated tmp node */
     };
     
    +/* struct chfs_readinode_info - collection of tmp_dnodes */
     struct chfs_readinode_info {
    -	struct rb_tree tdi_root;
    -	struct chfs_tmp_dnode_info *mdata_tn;
    -	uint64_t highest_version;
    -	struct chfs_node_ref *latest_ref;
    +	struct rb_tree tdi_root;				/* root of the rb tree */
    +	struct chfs_tmp_dnode_info *mdata_tn;	/* metadata (eg: symlink) */
    +	uint64_t highest_version;				/* highest version of the nodes */
    +	struct chfs_node_ref *latest_ref;		/* latest node reference */
     };
     
    +/* struct chfs_full_dnode - full data node */
     struct chfs_full_dnode {
    -	struct chfs_node_ref *nref;
    -	uint64_t ofs;
    -	uint32_t size;
    -	uint32_t frags;
    +	struct chfs_node_ref *nref;		/* nref of the node */
    +	uint64_t ofs;					/* offset of the data node */
    +	uint32_t size;					/* size of the data node */
    +	uint32_t frags;					/* number of fragmentations */
     };
     
    +/* struct chfs_node_frag - a fragment of a data node */
     struct chfs_node_frag {
    -	struct rb_node rb_node;
    -	struct chfs_full_dnode *node;
    -	uint32_t size;
    -	uint64_t ofs;
    +	struct rb_node rb_node;			/* rb tree entry */
    +	struct chfs_full_dnode *node;	/* associated full dnode */
    +	uint32_t size;					/* size of the fragment */
    +	uint64_t ofs;					/* offset of the fragment */
     };
     
    +/* find the first fragment of a data node */
     static inline struct chfs_node_frag *
     frag_first(struct rb_tree *tree)
     {
    @@ -239,6 +249,7 @@ frag_first(struct rb_tree *tree)
     	return frag;
     }
     
    +/* find the last fragment of a data node */
     static inline struct chfs_node_frag *
     frag_last(struct rb_tree *tree)
     {
    @@ -249,149 +260,129 @@ frag_last(struct rb_tree *tree)
     	return frag;
     }
     
    +/* iterate the fragtree */
     #define frag_next(tree, frag) (struct chfs_node_frag *)rb_tree_iterate(tree, frag, RB_DIR_RIGHT)
     #define frag_prev(tree, frag) (struct chfs_node_frag *)rb_tree_iterate(tree, frag, RB_DIR_LEFT)
     
     
    -/* XXX hack
    -   #ifndef CHFS_FRAG_TREE
    -   #define CHFS_FRAG_TREE
    -   RB_HEAD(chfs_frag_tree, chfs_node_frag);
    -   #endif
    -*/
    -
    -/* for prototypes, properly defined in chfs_inode.h */
    -//struct chfs_inode_ext;
    -
    -/**
    - * struct chfs_vnode_cache - in memory representation of a vnode
    - * @v: pointer to the vnode info node
    - * @dnode: pointer to the list of data nodes
    - * @dirents: pointer to the list of directory entries
    - * @vno_version: used only during scan, holds the current version number of
    - * 				 chfs_flash_vnode
    - * @scan_dirents: used only during scan, holds the full representation of
    - * 				  directory entries of this vnode
    - * @pvno: parent vnode number
    - * @nlink: number of links to this vnode
    - */
    +/* struct chfs_vnode_cache - in memory representation of a file or directory */
     struct chfs_vnode_cache {
    -//	struct chfs_dirent *scan_dirents;
    +	/* 
    +	 * void *p must be the first field of the structure
    +	 * but I can't remember where we use it and exactly for what
    +	 */
     	void *p;
    -	struct chfs_dirent_list scan_dirents;
    +	struct chfs_dirent_list scan_dirents;	/* used during scanning */
     
    -	struct chfs_node_ref *v;
    -	struct chfs_node_ref *dnode;
    -	struct chfs_node_ref *dirents;
    +	struct chfs_node_ref *v;			/* list of node informations */
    +	struct chfs_node_ref *dnode;		/* list of data nodes */
    +	struct chfs_node_ref *dirents;		/* list of directory entries */
     
    -	uint64_t *vno_version;
    -	uint64_t highest_version;
    +	uint64_t *vno_version;				/* version of the vnode */
    +	uint64_t highest_version;			/* highest version of dnodes */
     
    -	uint8_t flags;
    -	uint16_t state;
    -	ino_t vno;
    -	ino_t pvno;
    -	struct chfs_vnode_cache* next;
    -	uint32_t nlink;
    +	uint8_t flags;						/* flags */
    +	uint16_t state;						/* actual state */
    +	ino_t vno;							/* vnode number */
    +	ino_t pvno;							/* vnode number of parent */
    +	struct chfs_vnode_cache* next;		/* next element of vnode cache */
    +	uint32_t nlink;						/* number of links to the file */
     };
     
    +/* struct chfs_eraseblock - representation of an eraseblock */
     struct chfs_eraseblock
     {
    -	uint32_t lnr;
    +	uint32_t lnr;		/* LEB number of the block*/
     
    -	TAILQ_ENTRY(chfs_eraseblock) queue;
    -	//uint32_t bad_count;
    -	uint32_t unchecked_size;
    -	uint32_t used_size;
    -	uint32_t dirty_size;
    -	uint32_t free_size;
    -	uint32_t wasted_size;
    +	TAILQ_ENTRY(chfs_eraseblock) queue;	/* queue entry */
     
    -	struct chfs_node_ref *first_node;
    -	struct chfs_node_ref *last_node;
    +	uint32_t unchecked_size;			/* GC doesn't checked yet */
    +	uint32_t used_size;					/* size of nodes */
    +	uint32_t dirty_size;				/* size of obsoleted nodes */
    +	uint32_t free_size;					/* available size */
    +	uint32_t wasted_size;				/* paddings */
     
    -	/* Next block to be garbage collected */
    -	struct chfs_node_ref *gc_node;
    +	struct chfs_node_ref *first_node;	/* first node of the block */
    +	struct chfs_node_ref *last_node;	/* last node of the block */
    +
    +	struct chfs_node_ref *gc_node;		/* next node from the block 
    +										   which isn't garbage collected yet */
     };
     
    +/* eraseblock queue */
     TAILQ_HEAD(chfs_eraseblock_queue, chfs_eraseblock);
     
    -#define ALLOC_NORMAL    0
    -#define ALLOC_DELETION	1
    -#define ALLOC_GC        2
    +/* space allocation types */
    +#define ALLOC_NORMAL    0	/* allocating for normal usage (write, etc.) */
    +#define ALLOC_DELETION	1	/* allocating for deletion */
    +#define ALLOC_GC        2	/* allocating for the GC */
     
    +/* struct garbage_collector_thread - descriptor of GC thread */
     struct garbage_collector_thread {
     	lwp_t *gcth_thread;
     	kcondvar_t gcth_wakeup;
     	bool gcth_running;
     };
     
    +/* states of mounting */
     #define CHFS_MP_FLAG_SCANNING 2
     #define CHFS_MP_FLAG_BUILDING 4
     
    -/**
    - * struct chfs_mount - CHFS main descriptor structure
    - * @ebh: eraseblock handler
    - * @fl_index: index of flash device in the flash layer
    - * @fs_version: filesystem version descriptor
    - * @gbl_version: global version number
    - * @max_vno: max vnode id
    - * @chm_lock_mountfields:
    - * @vnocache_hash: hash table of vnode caches
    - * @vnocache_lock:
    - * @blocks: array of eraseblocks on flash
    - * @chm_root: used to protect all fields
    - * @free_size: free size on the flash
    - * @dirty_size: dirtied size on flash
    - * @unchecked_size: size of unchecked data on flash
    - * @free_queue: queue of free eraseblocks
    - * @clean_queue: queue of clean eraseblocks
    - * @dirty_queue: queue of dirty eraseblocks
    - * @very_dirty_queue: queue of very dirty eraseblocks
    - * @erase_pending_queue: queue of eraseblocks waiting for erasing
    - * @erasable_pending_wbuf_queue: queue of eraseblocks waiting for erasing and
    - * 			      	 have data to write to them
    - * @nextblock: next eraseblock to write to
    - * @nr_free_blocks: number of free blocks on the free_queue
    - * @nr_erasable_blocks: number of blocks that can be erased and are on the
    - *			erasable_queue
    - */
    +/* struct chfs_mount - CHFS main descriptor structure */
     struct chfs_mount {
    -	struct mount *chm_fsmp;
    -	struct chfs_ebh *chm_ebh;
    -	int chm_fs_version;
    -	uint64_t chm_gbl_version;
    -	ino_t chm_max_vno;
    -	ino_t chm_checked_vno;
    -	unsigned int chm_flags;
    +	struct mount *chm_fsmp;		/* general mount descriptor */
    +	struct chfs_ebh *chm_ebh;	/* eraseblock handler */
    +	int chm_fs_version;			/* version of the FS */
    +	uint64_t chm_gbl_version;	/* */
    +	ino_t chm_max_vno;			/* maximum of vnode numbers */
    +	ino_t chm_checked_vno;		/* vnode number of the last checked node */
    +	unsigned int chm_flags;		/* filesystem flags */
     
    -	/* chm_lock_mountfields:
    -	 * Used to protect all the following fields. */
    +	/* 
    +	 * chm_lock_mountfields:
    +	 * Used to protect all the following fields.
    +	 */
     	kmutex_t chm_lock_mountfields;
     
    -	struct chfs_vnode_cache **chm_vnocache_hash;
    -	/* chm_lock_vnocache:
    +	struct chfs_vnode_cache **chm_vnocache_hash;	/* hash table 
    +													   of vnode caches */
    +
    +	/* 
    +	 * chm_lock_vnocache:
     	 * Used to protect the vnode cache.
     	 * If you have to lock chm_lock_mountfields and also chm_lock_vnocache,
    -	 * you must lock chm_lock_mountfields first. */
    +	 * you must lock chm_lock_mountfields first.
    +	 */
     	kmutex_t chm_lock_vnocache;
     
    -	struct chfs_eraseblock *chm_blocks;
    +	struct chfs_eraseblock *chm_blocks;		/* list of eraseblocks */
     
    -	struct chfs_node *chm_root;
    +	struct chfs_node *chm_root;		/* root node */
     
    -	uint32_t chm_free_size;
    -	uint32_t chm_dirty_size;
    -	uint32_t chm_unchecked_size;
    -	uint32_t chm_used_size;
    -	uint32_t chm_wasted_size;
    -	/* chm_lock_sizes:
    +	uint32_t chm_free_size;			/* available space */
    +	uint32_t chm_dirty_size;		/* size of contained obsoleted nodes */
    +	uint32_t chm_unchecked_size;	/* GC doesn't checked yet */
    +	uint32_t chm_used_size;			/* size of contained nodes */
    +	uint32_t chm_wasted_size;		/* padding */
    +
    +	/*
    +	 * chm_lock_sizes:
     	 * Used to protect the (free, used, etc.) sizes of the FS
     	 * (and also the sizes of each eraseblock).
     	 * If you have to lock chm_lock_mountfields and also chm_lock_sizes,
    -	 * you must lock chm_lock_mountfields first. */
    +	 * you must lock chm_lock_mountfields first.
    +	 */
     	kmutex_t chm_lock_sizes;
     
    +	/*
    +	 * eraseblock queues
    +	 * free: completly free
    +	 * clean: contains only valid data
    +	 * dirty: contains valid and deleted data
    +	 * very_dirty: contains mostly deleted data (should be GC'd)
    +	 * erasable: doesn't contain valid data (should be erased)
    +	 * erase_pending: we can erase blocks from this queue
    +	 */
     	struct chfs_eraseblock_queue chm_free_queue;
     	struct chfs_eraseblock_queue chm_clean_queue;
     	struct chfs_eraseblock_queue chm_dirty_queue;
    @@ -399,22 +390,26 @@ struct chfs_mount {
     	struct chfs_eraseblock_queue chm_erasable_pending_wbuf_queue;
     	struct chfs_eraseblock_queue chm_erase_pending_queue;
     
    +	/* reserved blocks */
     	uint8_t chm_resv_blocks_deletion;
     	uint8_t chm_resv_blocks_write;
     	uint8_t chm_resv_blocks_gctrigger;
     	uint8_t chm_resv_blocks_gcmerge;
     	uint8_t chm_nospc_dirty;
     
    -	uint8_t chm_vdirty_blocks_gctrigger;
    +	uint8_t chm_vdirty_blocks_gctrigger;	/* GC trigger if the filesystem is
    +											   very dirty */
     
    -	struct chfs_eraseblock *chm_nextblock;
    +	struct chfs_eraseblock *chm_nextblock;	/* next block for usage */
     
    -	struct garbage_collector_thread chm_gc_thread;
    -	struct chfs_eraseblock *chm_gcblock;
    +	struct garbage_collector_thread chm_gc_thread;	/* descriptor of 
    +													   GC thread */
    +	struct chfs_eraseblock *chm_gcblock;	/* next block for GC */
     
    -	int chm_nr_free_blocks;
    -	int chm_nr_erasable_blocks;
    +	int chm_nr_free_blocks;		/* number of free blocks */
    +	int chm_nr_erasable_blocks;	/* number of eraseable blocks */
     
    +	/* FS constants, used during writing */
     	int32_t chm_fs_bmask;
     	int32_t chm_fs_bsize;
     	int32_t chm_fs_qbmask;
    @@ -425,21 +420,22 @@ struct chfs_mount {
     	/* TODO will we use these? */
     	unsigned int		chm_pages_max;
     	unsigned int		chm_pages_used;
    -	unsigned int		chm_nodes_max;
    -	unsigned int		chm_nodes_cnt;
     	struct chfs_pool	chm_dirent_pool;
     	struct chfs_pool	chm_node_pool;
     	struct chfs_str_pool	chm_str_pool;
     	/**/
     
    -	size_t chm_wbuf_pagesize;
    -	unsigned char* chm_wbuf;
    -	size_t chm_wbuf_ofs;
    -	size_t chm_wbuf_len;
    -	/* chm_lock_wbuf:
    +	size_t chm_wbuf_pagesize;	/* writebuffer's size */
    +	unsigned char* chm_wbuf;	/* writebuffer */
    +	size_t chm_wbuf_ofs;		/* actual offset of writebuffer */
    +	size_t chm_wbuf_len;		/* actual length of writebuffer */
    +
    +	/*
    +	 * chm_lock_wbuf:
     	 * Used to protect the write buffer.
     	 * If you have to lock chm_lock_mountfields and also chm_lock_wbuf,
    -	 * you must lock chm_lock_mountfields first. */
    +	 * you must lock chm_lock_mountfields first.
    +	 */
     	krwlock_t chm_lock_wbuf;
     };
     
    @@ -449,10 +445,11 @@ struct chfs_mount {
      * specific ones.
      */
     
    -#define	CHFS_OFFSET_DOT		0
    -#define	CHFS_OFFSET_DOTDOT	1
    -#define CHFS_OFFSET_EOF		2
    -#define CHFS_OFFSET_FIRST	3
    +/* directory entry offsets */
    +#define	CHFS_OFFSET_DOT		0	/* this */
    +#define	CHFS_OFFSET_DOTDOT	1	/* parent */
    +#define CHFS_OFFSET_EOF		2	/* after last */
    +#define CHFS_OFFSET_FIRST	3	/* first */
     
     
     /*---------------------------------------------------------------------------*/
    @@ -488,6 +485,10 @@ int chfs_update_eb_dirty(struct chfs_mount *,
         struct chfs_eraseblock *, uint32_t);
     void chfs_add_node_to_list(struct chfs_mount *, struct chfs_vnode_cache *,
         struct chfs_node_ref *, struct chfs_node_ref **);
    +void chfs_remove_node_from_list(struct chfs_mount *, struct chfs_vnode_cache *,
    +    struct chfs_node_ref *, struct chfs_node_ref **);
    +void chfs_remove_and_obsolete(struct chfs_mount *, struct chfs_vnode_cache *,
    +    struct chfs_node_ref *, struct chfs_node_ref **);
     void chfs_add_fd_to_inode(struct chfs_mount *,
         struct chfs_inode *, struct chfs_dirent *);
     void chfs_add_vnode_ref_to_vc(struct chfs_mount *, struct chfs_vnode_cache *,
    @@ -502,28 +503,26 @@ int chfs_reserve_space_gc(struct chfs_mount *, uint32_t);
     int chfs_reserve_space(struct chfs_mount *, uint32_t);
     void chfs_mark_node_obsolete(struct chfs_mount *, struct chfs_node_ref *);
     
    +/*
    + * Find out the corresponding vnode cache from an nref.
    + * Every last element of a linked list of nrefs is the vnode cache.
    + */
     static inline struct chfs_vnode_cache *
     chfs_nref_to_vc(struct chfs_node_ref *nref)
     {
    +	/* iterate the whole list */
     	while (nref->nref_next) {
     		nref = nref->nref_next;
    -		//dbg("lnr: %u, ofs: %u\n", nref->nref_lnr, nref->nref_offset);
    -		//dbg("vno: %llu\n", ((struct chfs_vnode_cache *)(nref))->vno);
    -		//dbg("scan_dirents: %p\n", ((struct chfs_vnode_cache *)(nref))->scan_dirents);
     		if (nref->nref_lnr == REF_LINK_TO_NEXT) {
     			dbg("Link to next!\n");
     		} else if (nref->nref_lnr == REF_EMPTY_NODE) {
     			dbg("Empty!\n");
     		}
     	}
    -	//dbg("vno: %llu\n", ((struct chfs_vnode_cache *)(nref))->vno);
     
    -	//dbg("NREF_TO_VC: GET IT\n");
    -	//dbg("nref_next: %p, lnr: %u, ofs: %u\n", nref->nref_next, nref->nref_lnr, nref->nref_offset);
     	struct chfs_vnode_cache *vc = (struct chfs_vnode_cache *) nref;
     	dbg("vno: %ju, pvno: %ju, hv: %ju, nlink: %u\n", (intmax_t )vc->vno,
     	    (intmax_t )vc->pvno, (intmax_t )vc->highest_version, vc->nlink);
    -	//return ((struct chfs_vnode_cache *)nref);
     	return vc;
     }
     
    @@ -558,7 +557,9 @@ void chfs_free_tmp_dnode_info(struct chfs_tmp_dnode_info *);
     /* chfs_readinode.c */
     int chfs_read_inode(struct chfs_mount *, struct chfs_inode *);
     int chfs_read_inode_internal(struct chfs_mount *, struct chfs_inode *);
    -void chfs_kill_fragtree(struct rb_tree *);
    +void chfs_remove_frags_of_node(struct chfs_mount *, struct rb_tree *,
    +	struct chfs_node_ref *);
    +void chfs_kill_fragtree(struct chfs_mount *, struct rb_tree *);
     uint32_t chfs_truncate_fragtree(struct chfs_mount *,
     	struct rb_tree *, uint32_t);
     int chfs_add_full_dnode_to_inode(struct chfs_mount *,
    @@ -631,7 +632,7 @@ int chfs_readvnode(struct mount *, ino_t, struct vnode **);
     int chfs_readdirent(struct mount *, struct chfs_node_ref *,
         struct chfs_inode *);
     int chfs_makeinode(int, struct vnode *, struct vnode **,
    -    struct componentname *, int );
    +    struct componentname *, enum vtype );
     void chfs_set_vnode_size(struct vnode *, size_t);
     void chfs_change_size_free(struct chfs_mount *,
     	struct chfs_eraseblock *, int);
    @@ -647,8 +648,6 @@ void chfs_change_size_wasted(struct chfs_mount *,
     /* chfs_vnode_cache.c */
     struct chfs_vnode_cache **chfs_vnocache_hash_init(void);
     void chfs_vnocache_hash_destroy(struct chfs_vnode_cache **);
    -void chfs_vnode_cache_set_state(struct chfs_mount *,
    -    struct chfs_vnode_cache *, int);
     struct chfs_vnode_cache* chfs_vnode_cache_get(struct chfs_mount *, ino_t);
     void chfs_vnode_cache_add(struct chfs_mount *, struct chfs_vnode_cache *);
     void chfs_vnode_cache_remove(struct chfs_mount *, struct chfs_vnode_cache *);
    @@ -665,7 +664,7 @@ int chfs_write_flash_dirent(struct chfs_mount *, struct chfs_inode *,
     int chfs_write_flash_dnode(struct chfs_mount *, struct vnode *,
         struct buf *, struct chfs_full_dnode *);
     int chfs_do_link(struct chfs_inode *,
    -    struct chfs_inode *, const char *, int, enum vtype);
    +    struct chfs_inode *, const char *, int, enum chtype);
     int chfs_do_unlink(struct chfs_inode *,
         struct chfs_inode *, const char *, int);
     
    @@ -673,18 +672,19 @@ int chfs_do_unlink(struct chfs_inode *,
     size_t chfs_mem_info(bool);
     struct chfs_dirent * chfs_dir_lookup(struct chfs_inode *,
         struct componentname *);
    -int chfs_filldir (struct uio *, ino_t, const char *, int, enum vtype);
    +int chfs_filldir (struct uio *, ino_t, const char *, int, enum chtype);
     int chfs_chsize(struct vnode *, u_quad_t, kauth_cred_t);
     int chfs_chflags(struct vnode *, int, kauth_cred_t);
     void chfs_itimes(struct chfs_inode *, const struct timespec *,
         const struct timespec *, const struct timespec *);
     int	chfs_update(struct vnode *, const struct timespec *,
         const struct timespec *, int);
    -//int	chfs_truncate(struct vnode *, off_t);
     
     /*---------------------------------------------------------------------------*/
     
     /* Some inline functions temporarily placed here */
    +
    +/* chfs_map_leb - corresponds to ebh_map_leb */
     static inline int
     chfs_map_leb(struct chfs_mount *chmp, int lnr)
     {
    @@ -698,6 +698,7 @@ chfs_map_leb(struct chfs_mount *chmp, int lnr)
     
     }
     
    +/* chfs_unmap_leb - corresponds to ebh_unmap_leb */
     static inline int
     chfs_unmap_leb(struct chfs_mount *chmp, int lnr)
     {
    @@ -710,6 +711,7 @@ chfs_unmap_leb(struct chfs_mount *chmp, int lnr)
     	return err;
     }
     
    +/* chfs_read_leb - corresponds to ebh_read_leb */
     static inline int
     chfs_read_leb(struct chfs_mount *chmp, int lnr, char *buf,
         int offset, int len, size_t *retlen)
    @@ -724,6 +726,7 @@ chfs_read_leb(struct chfs_mount *chmp, int lnr, char *buf,
     	return err;
     }
     
    +/* chfs_write_leb - corresponds to ebh_write_leb */
     static inline int chfs_write_leb(struct chfs_mount *chmp, int lnr, char *buf,
         int offset, int len, size_t *retlen)
     {
    @@ -736,9 +739,6 @@ static inline int chfs_write_leb(struct chfs_mount *chmp, int lnr, char *buf,
     	return err;
     }
     
    -/******************************************************************************/
    -/* Code from dummyfs.h														  */
    -/******************************************************************************/
     /* --------------------------------------------------------------------- */
     
     #define CHFS_PAGES_RESERVED (4 * 1024 * 1024 / PAGE_SIZE)
    @@ -765,4 +765,5 @@ CHFS_PAGES_MAX(struct chfs_mount *chmp)
     #define IMPLIES(a, b) (!(a) || (b))
     #define IFF(a, b) (IMPLIES(a, b) && IMPLIES(b, a))
     
    +#endif /* _KERNEL */
     #endif /* __CHFS_H__ */
    diff --git a/sys/ufs/chfs/chfs_args.h b/sys/ufs/chfs/chfs_args.h
    index a222b4bc1..5adc8e176 100644
    --- a/sys/ufs/chfs/chfs_args.h
    +++ b/sys/ufs/chfs/chfs_args.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_args.h,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_args.h,v 1.2 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -35,19 +35,10 @@
     
     #define CHFS_ARGS_VERSION	1
     
    -/**
    - * struct chfs_args - arguments needed when mounting filesystem
    - * @fl_index: index of the flash device in the flash layer
    - */
    +/* struct chfs_args - arguments needed when mounting filesystem */
     struct chfs_args {
    -	//int	ca_version;
     	char *fspec;
    -	int fl_index;
    -
    -	/* Root node attributes. */
    -	/*uid_t			ca_root_uid;
    -	  gid_t			ca_root_gid;
    -	  mode_t			ca_root_mode;*/
    +	int fl_index;	/* index of the flash device in the flash layer */
     };
     
     #endif /* _FS_CHFS_CHFS_ARGS_H_ */
    diff --git a/sys/ufs/chfs/chfs_build.c b/sys/ufs/chfs/chfs_build.c
    index 3904b023a..f34159ae3 100644
    --- a/sys/ufs/chfs/chfs_build.c
    +++ b/sys/ufs/chfs/chfs_build.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_build.c,v 1.2 2011/11/24 21:22:39 agc Exp $	*/
    +/*	$NetBSD: chfs_build.c,v 1.5 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -31,9 +31,13 @@
      */
     
     #include "chfs.h"
    -//#include 
     
     
    +/*
    + * chfs_calc_trigger_levels - setup filesystem parameters
    + * Setups filesystem parameters (reserved blocks and GC trigger level)
    + * for a specific flash.
    + */
     void
     chfs_calc_trigger_levels(struct chfs_mount *chmp)
     {
    @@ -41,7 +45,7 @@ chfs_calc_trigger_levels(struct chfs_mount *chmp)
     
     	chmp->chm_resv_blocks_deletion = 2;
     
    -	size = chmp->chm_ebh->flash_size / 50;  //2% of flash size
    +	size = chmp->chm_ebh->flash_size / 50;  /* 2% of flash size */
     	size += chmp->chm_ebh->peb_nr * 100;
     	size += chmp->chm_ebh->eb_size - 1;
     
    @@ -56,22 +60,18 @@ chfs_calc_trigger_levels(struct chfs_mount *chmp)
     }
     
     
    -/**
    +/*
      * chfs_build_set_vnodecache_nlink - set pvno and nlink in vnodecaches
    - * @chmp: CHFS main descriptor structure
    - * @vc: vnode cache
    - * This function travels @vc's directory entries and sets the pvno and nlink
    + * Travels vc's directory entries and sets the pvno and nlink
      * attribute of the vnode where the dirent's vno points.
      */
     void
     chfs_build_set_vnodecache_nlink(struct chfs_mount *chmp,
         struct chfs_vnode_cache *vc)
     {
    -	struct chfs_dirent *fd;
    -	//dbg("set nlink\n");
    +	struct chfs_dirent *fd, *tmpfd;
     
    -//	for (fd = vc->scan_dirents; fd; fd = fd->next) {
    -	TAILQ_FOREACH(fd, &vc->scan_dirents, fds) {
    +	TAILQ_FOREACH_SAFE(fd, &vc->scan_dirents, fds, tmpfd) {
     		struct chfs_vnode_cache *child_vc;
     
     		if (!fd->vno)
    @@ -82,9 +82,10 @@ chfs_build_set_vnodecache_nlink(struct chfs_mount *chmp,
     		mutex_exit(&chmp->chm_lock_vnocache);
     		if (!child_vc) {
     			chfs_mark_node_obsolete(chmp, fd->nref);
    +			TAILQ_REMOVE(&vc->scan_dirents, fd, fds);
     			continue;
     		}
    -		if (fd->type == VDIR) {
    +		if (fd->type == CHT_DIR) {
     			if (child_vc->nlink < 1)
     				child_vc->nlink = 1;
     
    @@ -94,26 +95,20 @@ chfs_build_set_vnodecache_nlink(struct chfs_mount *chmp,
     				    fd->name, (unsigned long long)fd->vno,
     				    (unsigned long long)vc->vno);
     			} else {
    -				//dbg("child_vc->pvno =
    -				//	vc->vno; pvno = %d\n", child_vc->pvno);
     				child_vc->pvno = vc->vno;
     			}
     		}
     		child_vc->nlink++;
    -		//dbg("child_vc->nlink++;\n");
    -		//child_vc->nlink++;
     		vc->nlink++;
     	}
     }
     
    -/**
    +/*
      * chfs_build_remove_unlinked vnode
      */
    -/* static */
     void
     chfs_build_remove_unlinked_vnode(struct chfs_mount *chmp,
         struct chfs_vnode_cache *vc,
    -//    struct chfs_dirent **unlinked)
         struct chfs_dirent_list *unlinked)
     {
     	struct chfs_node_ref *nref;
    @@ -122,28 +117,28 @@ chfs_build_remove_unlinked_vnode(struct chfs_mount *chmp,
     	dbg("START\n");
     	dbg("vno: %llu\n", (unsigned long long)vc->vno);
     
    -	nref = vc->dnode;
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
    -	// The vnode cache is at the end of the data node's chain
    +	nref = vc->dnode;
    +	/* The vnode cache is at the end of the data node's chain */
     	while (nref != (struct chfs_node_ref *)vc) {
     		struct chfs_node_ref *next = nref->nref_next;
     		dbg("mark dnode\n");
     		chfs_mark_node_obsolete(chmp, nref);
     		nref = next;
     	}
    +	vc->dnode = (struct chfs_node_ref *)vc;
     	nref = vc->dirents;
    -	// The vnode cache is at the end of the dirent node's chain
    +	/* The vnode cache is at the end of the dirent node's chain */
     	while (nref != (struct chfs_node_ref *)vc) {
     		struct chfs_node_ref *next = nref->nref_next;
     		dbg("mark dirent\n");
     		chfs_mark_node_obsolete(chmp, nref);
     		nref = next;
     	}
    +	vc->dirents = (struct chfs_node_ref *)vc;
     	if (!TAILQ_EMPTY(&vc->scan_dirents)) {
     		TAILQ_FOREACH_SAFE(fd, &vc->scan_dirents, fds, tmpfd) {
    -//		while (vc->scan_dirents) {
     			struct chfs_vnode_cache *child_vc;
    -//			fd = vc->scan_dirents;
     			dbg("dirent dump:\n");
     			dbg(" ->vno:     %llu\n", (unsigned long long)fd->vno);
     			dbg(" ->version: %llu\n", (unsigned long long)fd->version);
    @@ -151,7 +146,6 @@ chfs_build_remove_unlinked_vnode(struct chfs_mount *chmp,
     			dbg(" ->nsize:   %d\n", fd->nsize);
     			dbg(" ->name:    %s\n", fd->name);
     			dbg(" ->type:    %d\n", fd->type);
    -//			vc->scan_dirents = fd->next;
     			TAILQ_REMOVE(&vc->scan_dirents, fd, fds);
     
     			if (!fd->vno) {
    @@ -165,16 +159,13 @@ chfs_build_remove_unlinked_vnode(struct chfs_mount *chmp,
     				chfs_free_dirent(fd);
     				continue;
     			}
    -			/**
    +			/*
     			 * Decrease nlink in child. If it is 0, add to unlinked
     			 * dirents or just free it otherwise.
     			 */
     			child_vc->nlink--;
     
     			if (!child_vc->nlink) {
    -				//dbg("nlink is 0\n");
    -//				fd->next = *unlinked;
    -//				*unlinked = fd;
     				// XXX HEAD or TAIL?
     				// original code did HEAD, but we could add
     				// it to the TAIL easily with TAILQ.
    @@ -189,24 +180,23 @@ chfs_build_remove_unlinked_vnode(struct chfs_mount *chmp,
     
     	nref = vc->v;
     	while ((struct chfs_vnode_cache *)nref != vc) {
    -		if (!CHFS_REF_OBSOLETE(nref))
    -			chfs_mark_node_obsolete(chmp, nref);
    +		chfs_mark_node_obsolete(chmp, nref);
     		nref = nref->nref_next;
     	}
    +	vc->v = (struct chfs_node_ref *)vc;
     
     	mutex_enter(&chmp->chm_lock_vnocache);
     	if (vc->vno != CHFS_ROOTINO)
    -		chfs_vnode_cache_set_state(chmp, vc, VNO_STATE_UNCHECKED);
    +		vc->state = VNO_STATE_UNCHECKED;
     	mutex_exit(&chmp->chm_lock_vnocache);
     	dbg("END\n");
     }
     
    -/**
    +/*
      * chfs_build_filesystem - build in-memory representation of filesystem
    - * @chmp: super block information
      *
      * Step 1:
    - * This function scans through the eraseblocks mapped in EBH.
    + * Scans through the eraseblocks mapped in EBH.
      * During scan builds up the map of vnodes and directory entries and puts them
      * into the vnode_cache.
      * Step 2:
    @@ -220,7 +210,6 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     	int i,err = 0;
     	struct chfs_vnode_cache *vc;
     	struct chfs_dirent *fd, *tmpfd;
    -//	struct chfs_dirent *unlinked = NULL;
     	struct chfs_node_ref **nref;
     	struct chfs_dirent_list unlinked;
     	struct chfs_vnode_cache *notregvc;
    @@ -229,17 +218,13 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     
     	mutex_enter(&chmp->chm_lock_mountfields);
     
    -	/**
    -	 * Step 1
    -	 */
    +	/* Step 1 */
     	chmp->chm_flags |= CHFS_MP_FLAG_SCANNING;
     	for (i = 0; i < chmp->chm_ebh->peb_nr; i++) {
    -		//dbg("processing block: %d\n", i);
     		chmp->chm_blocks[i].lnr = i;
     		chmp->chm_blocks[i].free_size = chmp->chm_ebh->eb_size;
    -		//If the LEB is add to free list skip it.
    +		/* If the LEB is add to free list skip it. */
     		if (chmp->chm_ebh->lmap[i] < 0) {
    -			//dbg("block %d is unmapped\n", i);
     			TAILQ_INSERT_TAIL(&chmp->chm_free_queue,
     			    &chmp->chm_blocks[i], queue);
     			chmp->chm_nr_free_blocks++;
    @@ -258,7 +243,6 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     			    &chmp->chm_blocks[i], queue);
     			break;
     		case CHFS_BLK_STATE_PARTDIRTY:
    -			//dbg("free size: %d\n", chmp->chm_blocks[i].free_size);
     			if (chmp->chm_blocks[i].free_size > chmp->chm_wbuf_pagesize &&
     			    (!chmp->chm_nextblock ||
     				chmp->chm_blocks[i].free_size >
    @@ -304,9 +288,7 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     	 * Need check at erase + write + read...
     	 */
     
    -	/**
    -	 * Step 2
    -	 */
    +	/* Step 2 */
     	chmp->chm_flags |= CHFS_MP_FLAG_BUILDING;
     	for (i = 0; i < VNODECACHE_SIZE; i++) {
     		vc = chmp->chm_vnocache_hash[i];
    @@ -318,10 +300,7 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     		}
     	}
     
    -	/**
    -	 * Step 3
    -	 * Scan for vnodes with 0 nlink.
    -	 */
    +	/* Step 3 */
     	for (i =  0; i < VNODECACHE_SIZE; i++) {
     		vc = chmp->chm_vnocache_hash[i];
     		while (vc) {
    @@ -330,18 +309,13 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     				continue;
     			}
     
    -			//dbg("remove unlinked start i: %d\n", i);
     			chfs_build_remove_unlinked_vnode(chmp,
     			    vc, &unlinked);
    -			//dbg("remove unlinked end\n");
     			vc = vc->next;
     		}
     	}
     	/* Remove the newly unlinked vnodes. They are on the unlinked list */
     	TAILQ_FOREACH_SAFE(fd, &unlinked, fds, tmpfd) {
    -//	while (unlinked) {
    -//		fd = unlinked;
    -//		unlinked = fd->next;
     		TAILQ_REMOVE(&unlinked, fd, fds);
     		mutex_enter(&chmp->chm_lock_vnocache);
     		vc = chfs_vnode_cache_get(chmp, fd->vno);
    @@ -360,37 +334,25 @@ chfs_build_filesystem(struct chfs_mount *chmp)
     		vc = chmp->chm_vnocache_hash[i];
     		while (vc) {
     			TAILQ_FOREACH_SAFE(fd, &vc->scan_dirents, fds, tmpfd) {
    -//			while (vc->scan_dirents) {
    -//				fd = vc->scan_dirents;
    -//				vc->scan_dirents = fd->next;
     				TAILQ_REMOVE(&vc->scan_dirents, fd, fds);
     				if (fd->vno == 0) {
    -					//for (nref = &vc->dirents;
    -					//     *nref != fd->nref;
    -					//     nref = &((*nref)->next));
    -
     					nref = &fd->nref;
     					*nref = fd->nref->nref_next;
    -					//fd->nref->nref_next = NULL;
    -				} else if (fd->type == VDIR) {
    -					//set state every non-VREG file's vc
    +				} else if (fd->type == CHT_DIR) {
    +					/* set state every non-VREG file's vc */
     					mutex_enter(&chmp->chm_lock_vnocache);
    -					notregvc =
    -					    chfs_vnode_cache_get(chmp,
    -						fd->vno);
    -					chfs_vnode_cache_set_state(chmp,
    -					    notregvc, VNO_STATE_PRESENT);
    +					notregvc = chfs_vnode_cache_get(chmp, fd->vno);
    +					notregvc->state = VNO_STATE_PRESENT;
     					mutex_exit(&chmp->chm_lock_vnocache);
     				}
     				chfs_free_dirent(fd);
     			}
    -//			vc->scan_dirents = NULL;
     			KASSERT(TAILQ_EMPTY(&vc->scan_dirents));
     			vc = vc->next;
     		}
     	}
     
    -	//Set up chmp->chm_wbuf_ofs for the first write
    +	/* Set up chmp->chm_wbuf_ofs for the first write */
     	if (chmp->chm_nextblock) {
     		dbg("free_size: %d\n", chmp->chm_nextblock->free_size);
     		chmp->chm_wbuf_ofs = chmp->chm_ebh->eb_size -
    diff --git a/sys/ufs/chfs/chfs_erase.c b/sys/ufs/chfs/chfs_erase.c
    index 9ae49c37c..e2692265a 100644
    --- a/sys/ufs/chfs/chfs_erase.c
    +++ b/sys/ufs/chfs/chfs_erase.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_erase.c,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_erase.c,v 1.2 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -31,28 +31,17 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * chfs_erase.c
    - *
    - * Copyright (C) 2010  David Tengeri ,
    - *                     ...
    - *                     University of Szeged, Hungary
    - */
    -
     #include "chfs.h"
     
     
    -/**
    +/*
      * chfs_remap_leb - unmap and then map a leb
    - * @chmp: chfs mount structure
      *
    - * This function gets an eraseblock from the erasable queue, unmaps it through
    + * Gets an eraseblock from the erasable queue, unmaps it through
      * EBH and maps another eraseblock to the same LNR.
      * EBH will find a free eraseblock if any or will erase one if there isn't any
      * free, just dirty block.
      *
    - * Returns zero on case of success, errorcode otherwise.
    - *
      * Needs more brainstorming here.
      */
     int
    @@ -63,8 +52,6 @@ chfs_remap_leb(struct chfs_mount *chmp)
     	dbg("chfs_remap_leb\n");
     	uint32_t dirty, unchecked, used, free, wasted;
     
    -	//dbg("chmp->chm_nr_erasable_blocks: %d\n", chmp->chm_nr_erasable_blocks);
    -	//dbg("ltree: %p ecl: %p\n", &chmp->chm_ebh->ltree_lock, &chmp->chm_lock_sizes);
     	KASSERT(!rw_write_held(&chmp->chm_lock_wbuf));
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     	KASSERT(mutex_owned(&chmp->chm_lock_sizes));
    @@ -102,7 +89,7 @@ chfs_remap_leb(struct chfs_mount *chmp)
     	free = cheb->free_size;
     	wasted = cheb->wasted_size;
     
    -	// Free allocated node references for this eraseblock
    +	/* Free allocated node references for this eraseblock */
     	chfs_free_node_refs(cheb);
     
     	err = chfs_unmap_leb(chmp, cheb->lnr);
    @@ -112,7 +99,7 @@ chfs_remap_leb(struct chfs_mount *chmp)
     	err = chfs_map_leb(chmp, cheb->lnr);
     	if (err)
     		return err;
    -	// Reset state to default and change chmp sizes too 
    +	/* Reset state to default and change chmp sizes too */
     	chfs_change_size_dirty(chmp, cheb, -dirty);
     	chfs_change_size_unchecked(chmp, cheb, -unchecked);
     	chfs_change_size_used(chmp, cheb, -used);
    @@ -127,7 +114,7 @@ chfs_remap_leb(struct chfs_mount *chmp)
     
     	cheb->first_node = NULL;
     	cheb->last_node  = NULL;
    -	//put it to free_queue
    +	/* put it to free_queue */
     	TAILQ_INSERT_TAIL(&chmp->chm_free_queue, cheb, queue);
     	chmp->chm_nr_free_blocks++;
     	dbg("remaped (free: %d, erasable: %d)\n", chmp->chm_nr_free_blocks, chmp->chm_nr_erasable_blocks);
    diff --git a/sys/ufs/chfs/chfs_gc.c b/sys/ufs/chfs/chfs_gc.c
    index aa32d64b9..a7da62531 100644
    --- a/sys/ufs/chfs/chfs_gc.c
    +++ b/sys/ufs/chfs/chfs_gc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_gc.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_gc.c,v 1.5 2013/10/20 17:18:38 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -60,21 +60,23 @@ int chfs_gcollect_dnode(struct chfs_mount *,
         struct chfs_eraseblock *, struct chfs_inode *,
         struct chfs_full_dnode *, uint32_t, uint32_t);
     
    -/* must be called with chm_lock_mountfields held */
    +/* 
    + * chfs_gc_trigger - wakes up GC thread, if it should run
    + * Must be called with chm_lock_mountfields held. 
    + */
     void
     chfs_gc_trigger(struct chfs_mount *chmp)
     {
     	struct garbage_collector_thread *gc = &chmp->chm_gc_thread;
     
    -	//mutex_enter(&chmp->chm_lock_sizes);
     	if (gc->gcth_running &&
     	    chfs_gc_thread_should_wake(chmp)) {
     		cv_signal(&gc->gcth_wakeup);
     	}
    -	//mutex_exit(&chmp->chm_lock_sizes);
     }
     
     
    +/* chfs_gc_thread - garbage collector's thread */
     void
     chfs_gc_thread(void *data)
     {
    @@ -90,9 +92,8 @@ chfs_gc_thread(void *data)
     		 * do it otherway with the current design...
     		 */
     		if (chfs_gc_thread_should_wake(chmp)) {
    -//			mutex_exit(&chmp->chm_lock_mountfields);
     			if (chfs_gcollect_pass(chmp) == ENOSPC) {
    -				dbg_gc("No space for garbage collection\n");
    +				mutex_exit(&chmp->chm_lock_mountfields);
     				panic("No space for garbage collection\n");
     				/* XXX why break here? i have added a panic
     				 * here to see if it gets triggered -ahoka
    @@ -100,7 +101,6 @@ chfs_gc_thread(void *data)
     				break;
     			}
     			/* XXX gcollect_pass drops the mutex */
    -			mutex_enter(&chmp->chm_lock_mountfields);
     		}
     
     		cv_timedwait_sig(&gc->gcth_wakeup,
    @@ -112,6 +112,7 @@ chfs_gc_thread(void *data)
     	kthread_exit(0);
     }
     
    +/* chfs_gc_thread_start - starts GC */
     void
     chfs_gc_thread_start(struct chfs_mount *chmp)
     {
    @@ -125,12 +126,13 @@ chfs_gc_thread_start(struct chfs_mount *chmp)
     	    "chfsgcth");
     }
     
    +/* chfs_gc_thread_start - stops GC */
     void
     chfs_gc_thread_stop(struct chfs_mount *chmp)
     {
     	struct garbage_collector_thread *gc = &chmp->chm_gc_thread;
     
    -	/* check if it is actually running. if not, do nothing */
    +	/* check if it is actually running */
     	if (gc->gcth_running) {
     		gc->gcth_running = false;
     	} else {
    @@ -147,7 +149,11 @@ chfs_gc_thread_stop(struct chfs_mount *chmp)
     	cv_destroy(&gc->gcth_wakeup);
     }
     
    -/* must be called with chm_lock_mountfields held */
    +/*
    + * chfs_gc_thread_should_wake - checks if GC thread should wake up
    + * Must be called with chm_lock_mountfields held.
    + * Returns 1, if GC should wake up and 0 else.
    + */
     int
     chfs_gc_thread_should_wake(struct chfs_mount *chmp)
     {
    @@ -157,11 +163,13 @@ chfs_gc_thread_should_wake(struct chfs_mount *chmp)
     
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     
    +	/* Erase pending queue is not empty. */
     	if (!TAILQ_EMPTY(&chmp->chm_erase_pending_queue)) {
     		dbg_gc("erase_pending\n");
     		return 1;
     	}
     
    +	/* There is something unchecked in the filesystem. */
     	if (chmp->chm_unchecked_size) {
     		dbg_gc("unchecked\n");
     		return 1;
    @@ -170,6 +178,7 @@ chfs_gc_thread_should_wake(struct chfs_mount *chmp)
     	dirty = chmp->chm_dirty_size - chmp->chm_nr_erasable_blocks *
     	    chmp->chm_ebh->eb_size;
     
    +	/* Number of free and erasable blocks are critical. */
     	if (chmp->chm_nr_free_blocks + chmp->chm_nr_erasable_blocks <
     	    chmp->chm_resv_blocks_gctrigger && (dirty > chmp->chm_nospc_dirty)) {
     		dbg_gc("free: %d + erasable: %d < resv: %d\n",
    @@ -181,6 +190,7 @@ chfs_gc_thread_should_wake(struct chfs_mount *chmp)
     		return 1;
     	}
     
    +	/* There is too much very dirty blocks. */
     	TAILQ_FOREACH(cheb, &chmp->chm_very_dirty_queue, queue) {
     		nr_very_dirty++;
     		if (nr_very_dirty == chmp->chm_vdirty_blocks_gctrigger) {
    @@ -189,18 +199,19 @@ chfs_gc_thread_should_wake(struct chfs_mount *chmp)
     		}
     	}
     
    +	/* Everythin OK, GC shouldn't run. */
     	return 0;
     }
     
    +/* chfs_gc_release_inode - does nothing yet */
     void
     chfs_gc_release_inode(struct chfs_mount *chmp,
         struct chfs_inode *ip)
     {
     	dbg_gc("release inode\n");
    -	//mutex_exit(&ip->inode_lock);
    -	//vput(ITOV(ip));
     }
     
    +/* chfs_gc_fetch_inode - assign the given inode to the GC */
     struct chfs_inode *
     chfs_gc_fetch_inode(struct chfs_mount *chmp, ino_t vno,
         uint32_t unlinked)
    @@ -221,16 +232,12 @@ chfs_gc_fetch_inode(struct chfs_mount *chmp, ino_t vno,
     				return NULL;
     			}
     			if (vc->state != VNO_STATE_CHECKEDABSENT) {
    -				//sleep_on_spinunlock(&chmp->chm_lock_vnocache);
     				mutex_exit(&chmp->chm_lock_vnocache);
     				/* XXX why do we need the delay here?! */
    -//				kpause("chvncabs", true, mstohz(50), NULL);
     				KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     				cv_timedwait_sig(
     					&chmp->chm_gc_thread.gcth_wakeup,
     					&chmp->chm_lock_mountfields, mstohz(50));
    -
    -//				KASSERT(!mutex_owned(&chmp->chm_lock_vnocache));
     			} else {
     				mutex_exit(&chmp->chm_lock_vnocache);
     			}
    @@ -239,25 +246,27 @@ chfs_gc_fetch_inode(struct chfs_mount *chmp, ino_t vno,
     	} else {
     		dbg_gc("vnode lookup\n");
     		vp = chfs_vnode_lookup(chmp, vno);
    -		//VFS_VGET(chmp->chm_fsmp, vno, &vp);
     	}
     	dbg_gc("vp to ip\n");
     	ip = VTOI(vp);
     	KASSERT(ip);
    -	//mutex_enter(&ip->inode_lock);
     
     	return ip;
     }
     
     extern rb_tree_ops_t frag_rbtree_ops;
     
    +/* chfs_check - checks an inode with minimal initialization */
     int
     chfs_check(struct chfs_mount *chmp, struct  chfs_vnode_cache *chvc)
     {
    +	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    +
     	struct chfs_inode *ip;
     	struct vnode *vp;
     	int ret;
     
    +	/* Get a new inode. */
     	ip = pool_get(&chfs_inode_pool, PR_WAITOK);
     	if (!ip) {
     		return ENOMEM;
    @@ -265,6 +274,7 @@ chfs_check(struct chfs_mount *chmp, struct  chfs_vnode_cache *chvc)
     
     	vp = kmem_zalloc(sizeof(struct vnode), KM_SLEEP);
     
    +	/* Minimal initialization. */
     	ip->chvc = chvc;
     	ip->vp = vp;
     
    @@ -273,67 +283,65 @@ chfs_check(struct chfs_mount *chmp, struct  chfs_vnode_cache *chvc)
     	rb_tree_init(&ip->fragtree, &frag_rbtree_ops);
     	TAILQ_INIT(&ip->dents);
     
    +	/* Build the node. */
    +	mutex_exit(&chmp->chm_lock_vnocache);
     	ret = chfs_read_inode_internal(chmp, ip);
    +	mutex_enter(&chmp->chm_lock_vnocache);
     	if (!ret) {
     		chfs_clear_inode(chmp, ip);
     	}
     
    +	/* Release inode. */
     	pool_put(&chfs_inode_pool, ip);
     
     	return ret;
     }
     
    +/* chfs_clear_inode - kills a minimal inode */
     void
     chfs_clear_inode(struct chfs_mount *chmp, struct chfs_inode *ip)
     {
    +	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    +
     	struct chfs_dirent *fd, *tmpfd;
     	struct chfs_vnode_cache *chvc;
    +	struct chfs_node_ref *nref;
     
    -
    -	/* XXX not sure if this is the correct locking */
    -//	mutex_enter(&chmp->chm_lock_vnocache);
     	chvc = ip->chvc;
     	/* shouldnt this be: */
     	//bool deleted = (chvc && !(chvc->pvno || chvc->nlink));
     	int deleted = (chvc && !(chvc->pvno | chvc->nlink));
     
    +	/* Set actual state. */
     	if (chvc && chvc->state != VNO_STATE_CHECKING) {
    -//		chfs_vnode_cache_state_set(chmp, chvc, VNO_STATE_CLEARING);
     		chvc->state = VNO_STATE_CLEARING;
     	}
     
    -	if (chvc->v && ((struct  chfs_vnode_cache *)chvc->v != chvc)) {
    -		if (deleted)
    -			chfs_mark_node_obsolete(chmp, chvc->v);
    -		//chfs_free_refblock(chvc->v);
    +	/* Remove vnode information. */
    +	while (deleted && chvc->v != (struct chfs_node_ref *)chvc) {
    +		nref = chvc->v;
    +		chfs_remove_and_obsolete(chmp, chvc, nref, &chvc->v);
     	}
    -//	mutex_enter(&chmp->chm_lock_vnocache);
     
    -	chfs_kill_fragtree(&ip->fragtree);
    -/*
    -	fd = TAILQ_FIRST(&ip->dents);
    -	while (fd) {
    -		TAILQ_REMOVE(&ip->dents, fd, fds);
    -		chfs_free_dirent(fd);
    -		fd = TAILQ_FIRST(&ip->dents);
    -	}
    -*/
    +	/* Destroy data. */
    +	chfs_kill_fragtree(chmp, &ip->fragtree);
     
    +	/* Clear dirents. */
     	TAILQ_FOREACH_SAFE(fd, &ip->dents, fds, tmpfd) {
     		chfs_free_dirent(fd);
     	}
     
    +	/* Remove node from vnode cache. */
     	if (chvc && chvc->state == VNO_STATE_CHECKING) {
    -		chfs_vnode_cache_set_state(chmp,
    -		    chvc, VNO_STATE_CHECKEDABSENT);
    +		chvc->state = VNO_STATE_CHECKEDABSENT;
     		if ((struct chfs_vnode_cache *)chvc->v == chvc &&
     		    (struct chfs_vnode_cache *)chvc->dirents == chvc &&
     		    (struct chfs_vnode_cache *)chvc->dnode == chvc)
     			chfs_vnode_cache_remove(chmp, chvc);
     	}
    -
     }
     
    +/* find_gc_block - finds the next block for GC */
     struct chfs_eraseblock *
     find_gc_block(struct chfs_mount *chmp)
     {
    @@ -342,17 +350,15 @@ find_gc_block(struct chfs_mount *chmp)
     
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     
    +	/* Get a random number. */
     	struct timespec now;
     	vfs_timestamp(&now);
     
     	int n = now.tv_nsec % 128;
     
    -	//dbg_gc("n = %d\n", n);
     again:
    -/*    if (!TAILQ_EMPTY(&chmp->chm_bad_used_queue) && chmp->chm_nr_free_blocks > chmp->chm_nr_resv_blocks_gcbad) {
    -      dbg_gc("Picking block from bad_used_queue to GC next\n");
    -      nextqueue = &chmp->chm_bad_used_queue;
    -      } else */if (n<50 && !TAILQ_EMPTY(&chmp->chm_erase_pending_queue)) {
    +	/* Find an eraseblock queue. */
    +    if (n<50 && !TAILQ_EMPTY(&chmp->chm_erase_pending_queue)) {
     		dbg_gc("Picking block from erase_pending_queue to GC next\n");
     		nextqueue = &chmp->chm_erase_pending_queue;
     	} else if (n<110 && !TAILQ_EMPTY(&chmp->chm_very_dirty_queue) ) {
    @@ -389,18 +395,19 @@ again:
     		return NULL;
     	}
     
    +	/* Get the first block of the queue. */
     	ret = TAILQ_FIRST(nextqueue);
     	if (chmp->chm_nextblock) {
     		dbg_gc("nextblock num: %u - gcblock num: %u\n",
     		    chmp->chm_nextblock->lnr, ret->lnr);
     		if (ret == chmp->chm_nextblock)
     			goto again;
    -		//KASSERT(ret != chmp->chm_nextblock);
    -		//dbg_gc("first node lnr: %u ofs: %u\n", ret->first_node->lnr, ret->first_node->offset);
    -		//dbg_gc("last node lnr: %u ofs: %u\n", ret->last_node->lnr, ret->last_node->offset);
     	}
     	TAILQ_REMOVE(nextqueue, ret, queue);
    +
    +	/* Set GC block. */
     	chmp->chm_gcblock = ret;
    +	/* Set GC node. */
     	ret->gc_node = ret->first_node;
     
     	if (!ret->gc_node) {
    @@ -412,7 +419,7 @@ again:
     	return ret;
     }
     
    -
    +/* chfs_gcollect_pass - this is the main function of GC */
     int
     chfs_gcollect_pass(struct chfs_mount *chmp)
     {
    @@ -427,17 +434,18 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     
    -//	mutex_enter(&chmp->chm_lock_mountfields);
    +	/* Check all vnodes. */
     	for (;;) {
     		mutex_enter(&chmp->chm_lock_sizes);
     
    +		/* Check unchecked size. */
     		dbg_gc("unchecked size == %u\n", chmp->chm_unchecked_size);
     		if (!chmp->chm_unchecked_size)
     			break;
     
    +		/* Compare vnode number to the maximum. */
     		if (chmp->chm_checked_vno > chmp->chm_max_vno) {
     			mutex_exit(&chmp->chm_lock_sizes);
    -			mutex_exit(&chmp->chm_lock_mountfields);
     			dbg_gc("checked_vno (#%llu) > max_vno (#%llu)\n",
     			    (unsigned long long)chmp->chm_checked_vno,
     			    (unsigned long long)chmp->chm_max_vno);
    @@ -450,6 +458,8 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     		dbg_gc("checking vno #%llu\n",
     			(unsigned long long)chmp->chm_checked_vno);
     		dbg_gc("get vnode cache\n");
    +
    +		/* OK, Get and check the vnode cache. */
     		vc = chfs_vnode_cache_get(chmp, chmp->chm_checked_vno++);
     
     		if (!vc) {
    @@ -464,17 +474,19 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     			continue;
     		}
     
    +		/* Find out the state of the vnode. */
     		dbg_gc("switch\n");
     		switch (vc->state) {
     		case VNO_STATE_CHECKEDABSENT:
    +			/* FALLTHROUGH */
     		case VNO_STATE_PRESENT:
     			mutex_exit(&chmp->chm_lock_vnocache);
     			continue;
     
     		case VNO_STATE_GC:
    +			/* FALLTHROUGH */
     		case VNO_STATE_CHECKING:
     			mutex_exit(&chmp->chm_lock_vnocache);
    -			mutex_exit(&chmp->chm_lock_mountfields);
     			dbg_gc("VNO_STATE GC or CHECKING\n");
     			panic("CHFS BUG - vc state gc or checking\n");
     
    @@ -484,14 +496,10 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     			/* XXX why do we need the delay here?! */
     			kpause("chvncrea", true, mstohz(50), NULL);
     
    -//			sleep_on_spinunlock(&chmp->chm_lock_vnocache);
    -//			KASSERT(!mutex_owned(&chmp->chm_lock_vnocache));
    -			mutex_exit(&chmp->chm_lock_mountfields);
     			return 0;
     
     		default:
     			mutex_exit(&chmp->chm_lock_vnocache);
    -			mutex_exit(&chmp->chm_lock_mountfields);
     			dbg_gc("default\n");
     			panic("CHFS BUG - vc state is other what we"
     			    " checked\n");
    @@ -500,23 +508,21 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     			;
     		}
     
    -		chfs_vnode_cache_set_state(chmp, vc, VNO_STATE_CHECKING);
    +		/* We found an unchecked vnode. */
    +
    +		vc->state = VNO_STATE_CHECKING;
     
     		/* XXX check if this is too heavy to call under
     		 * chm_lock_vnocache
     		 */
     		ret = chfs_check(chmp, vc);
    -		dbg_gc("set state\n");
    -		chfs_vnode_cache_set_state(chmp,
    -		    vc, VNO_STATE_CHECKEDABSENT);
    +		vc->state = VNO_STATE_CHECKEDABSENT;
     
     		mutex_exit(&chmp->chm_lock_vnocache);
    -		mutex_exit(&chmp->chm_lock_mountfields);
    -
     		return ret;
     	}
     
    -
    +	/* Get GC block. */
     	eb = chmp->chm_gcblock;
     
     	if (!eb) {
    @@ -527,11 +533,9 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     		dbg_gc("!eb\n");
     		if (!TAILQ_EMPTY(&chmp->chm_erase_pending_queue)) {
     			mutex_exit(&chmp->chm_lock_sizes);
    -			mutex_exit(&chmp->chm_lock_mountfields);
     			return EAGAIN;
     		}
     		mutex_exit(&chmp->chm_lock_sizes);
    -		mutex_exit(&chmp->chm_lock_mountfields);
     		return EIO;
     	}
     
    @@ -540,13 +544,13 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     		goto eraseit;
     	}
     
    +	/* Get GC node. */
     	nref = eb->gc_node;
    -	//dbg_gc("gc use: %u\n", chmp->chm_nextblock->lnr);
    -	//dbg_gc("nref: %u %u\n", nref->nref_lnr, nref->nref_offset);
     	gcblock_dirty = eb->dirty_size;
     
    +	/* Find a node which wasn't obsoleted yet.
    +	 * Obsoleted nodes will be simply deleted after the whole block has checked. */
     	while(CHFS_REF_OBSOLETE(nref)) {
    -		//dbg_gc("obsoleted nref lnr: %u - offset: %u\n", nref->nref_lnr, nref->nref_offset);
     #ifdef DBG_MSG_GC
     		if (nref == chmp->chm_blocks[nref->nref_lnr].last_node) {
     			dbg_gc("THIS NODE IS THE LAST NODE OF ITS EB\n");
    @@ -554,19 +558,19 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     #endif
     		nref = node_next(nref);
     		if (!nref) {
    -			//dbg_gc("!nref\n");
     			eb->gc_node = nref;
     			mutex_exit(&chmp->chm_lock_sizes);
    -			mutex_exit(&chmp->chm_lock_mountfields);
     			panic("CHFS BUG - nref is NULL)\n");
     		}
     	}
    +
    +	/* We found a "not obsoleted" node. */
     	eb->gc_node = nref;
    -	//dbg_gc("nref the chosen one lnr: %u - offset: %u\n", nref->nref_lnr, nref->nref_offset);
     	KASSERT(nref->nref_lnr == chmp->chm_gcblock->lnr);
     
    +	/* Check if node is in any chain. */
     	if (!nref->nref_next) {
    -		//dbg_gc("!nref->nref_next\n");
    +		/* This node is not in any chain. Simply collect it, or obsolete. */
     		mutex_exit(&chmp->chm_lock_sizes);
     		if (CHFS_REF_FLAGS(nref) == CHFS_PRISTINE_NODE_MASK) {
     			chfs_gcollect_pristine(chmp, eb, NULL, nref);
    @@ -576,60 +580,55 @@ chfs_gcollect_pass(struct chfs_mount *chmp)
     		goto lock_size;
     	}
     
    +	mutex_exit(&chmp->chm_lock_sizes);
    +
    +	mutex_enter(&chmp->chm_lock_vnocache);
    +
     	dbg_gc("nref lnr: %u - offset: %u\n", nref->nref_lnr, nref->nref_offset);
     	vc = chfs_nref_to_vc(nref);
     
    -	mutex_exit(&chmp->chm_lock_sizes);
    -
    -	//dbg_gc("enter vnocache lock on #%llu\n", vc->vno);
    -	mutex_enter(&chmp->chm_lock_vnocache);
    -
    +	/* Check the state of the node. */
     	dbg_gc("switch\n");
     	switch(vc->state) {
             case VNO_STATE_CHECKEDABSENT:
    -		if (CHFS_REF_FLAGS(nref) == CHFS_PRISTINE_NODE_MASK) {
    -			chfs_vnode_cache_set_state(chmp, vc, VNO_STATE_GC);
    -		}
    -		break;
    +			if (CHFS_REF_FLAGS(nref) == CHFS_PRISTINE_NODE_MASK) {
    +				vc->state = VNO_STATE_GC;
    +			}
    +			break;
     
             case VNO_STATE_PRESENT:
    -		break;
    +			break;
     
             case VNO_STATE_UNCHECKED:
    +			/* FALLTHROUGH */
             case VNO_STATE_CHECKING:
    +			/* FALLTHROUGH */
             case VNO_STATE_GC:
    -		mutex_exit(&chmp->chm_lock_vnocache);
    -		mutex_exit(&chmp->chm_lock_mountfields);
    -		panic("CHFS BUG - vc state unchecked,"
    -		    " checking or gc (vno #%llu, num #%d)\n",
    -		    (unsigned long long)vc->vno, vc->state);
    +			mutex_exit(&chmp->chm_lock_vnocache);
    +			panic("CHFS BUG - vc state unchecked,"
    +				" checking or gc (vno #%llu, num #%d)\n",
    +				(unsigned long long)vc->vno, vc->state);
     
             case VNO_STATE_READING:
    -		mutex_exit(&chmp->chm_lock_vnocache);
    -		/* XXX why do we need the delay here?! */
    -		kpause("chvncrea", true, mstohz(50), NULL);
    -
    -//		sleep_on_spinunlock(&chmp->chm_lock_vnocache);
    -//		KASSERT(!mutex_owned(&chmp->chm_lock_vnocache));
    -		mutex_exit(&chmp->chm_lock_mountfields);
    -		return 0;
    +			/* Node is in use at this time. */
    +			mutex_exit(&chmp->chm_lock_vnocache);
    +			kpause("chvncrea", true, mstohz(50), NULL);
    +			return 0;
     	}
     
     	if (vc->state == VNO_STATE_GC) {
     		dbg_gc("vc->state == VNO_STATE_GC\n");
    +		vc->state = VNO_STATE_CHECKEDABSENT;
     		mutex_exit(&chmp->chm_lock_vnocache);
     		ret = chfs_gcollect_pristine(chmp, eb, NULL, nref);
     
    -//		chfs_vnode_cache_state_set(chmp,
    -//		    vc, VNO_STATE_CHECKEDABSENT);
    -		/* XXX locking? */
    -		vc->state = VNO_STATE_CHECKEDABSENT;
     		//TODO wake_up(&chmp->chm_vnocache_wq);
     		if (ret != EBADF)
     			goto test_gcnode;
     		mutex_enter(&chmp->chm_lock_vnocache);
     	}
     
    +	/* Collect living node. */
     	vno = vc->vno;
     	pvno = vc->pvno;
     	nlink = vc->nlink;
    @@ -663,6 +662,7 @@ eraseit:
     	dbg_gc("eraseit\n");
     
     	if (chmp->chm_gcblock) {
    +	/* This is only for debugging. */
     		dbg_gc("eb used size = %u\n", chmp->chm_gcblock->used_size);
     		dbg_gc("eb free size = %u\n", chmp->chm_gcblock->free_size);
     		dbg_gc("eb dirty size = %u\n", chmp->chm_gcblock->dirty_size);
    @@ -677,6 +677,7 @@ eraseit:
     
     	}
     
    +	/* Check the state of GC block. */
     	if (chmp->chm_gcblock && chmp->chm_gcblock->dirty_size +
     	    chmp->chm_gcblock->wasted_size == chmp->chm_ebh->eb_size) {
     		dbg_gc("Block at leb #%u completely obsoleted by GC, "
    @@ -691,12 +692,12 @@ eraseit:
     	}
     
     	mutex_exit(&chmp->chm_lock_sizes);
    -	mutex_exit(&chmp->chm_lock_mountfields);
     	dbg_gc("return\n");
     	return ret;
     }
     
     
    +/* chfs_gcollect_pristine - collects a pristine node */
     int
     chfs_gcollect_pristine(struct chfs_mount *chmp, struct chfs_eraseblock *cheb,
         struct chfs_vnode_cache *chvc, struct chfs_node_ref *nref)
    @@ -721,6 +722,7 @@ chfs_gcollect_pristine(struct chfs_mount *chmp, struct chfs_eraseblock *cheb,
     
     	ofs = CHFS_GET_OFS(nref->nref_offset);
     
    +	/* Read header. */
     	ret = chfs_read_leb(chmp, nref->nref_lnr, data, ofs, totlen, &retlen);
     	if (ret) {
     		dbg_gc("reading error\n");
    @@ -731,7 +733,8 @@ chfs_gcollect_pristine(struct chfs_mount *chmp, struct chfs_eraseblock *cheb,
     		return EIO;
     	}
     	nhdr = (struct chfs_flash_node_hdr *)data;
    -	/* check the header */
    +
    +	/* Check the header. */
     	if (le16toh(nhdr->magic) != CHFS_FS_MAGIC_BITMASK) {
     		dbg_gc("node header magic number error\n");
     		return EBADF;
    @@ -742,41 +745,46 @@ chfs_gcollect_pristine(struct chfs_mount *chmp, struct chfs_eraseblock *cheb,
     		return EBADF;
     	}
     
    +	/* Read the remaining parts. */
     	switch(le16toh(nhdr->type)) {
             case CHFS_NODETYPE_VNODE:
    -		fvnode = (struct chfs_flash_vnode *)data;
    +		/* vnode information node */
    +			fvnode = (struct chfs_flash_vnode *)data;
     	        crc = crc32(0, (uint8_t *)fvnode, sizeof(struct chfs_flash_vnode) - 4);
     	        if (crc != le32toh(fvnode->node_crc)) {
    -			dbg_gc("vnode crc error\n");
    -			return EBADF;
    -		}
    -		break;
    +				dbg_gc("vnode crc error\n");
    +				return EBADF;
    +			}
    +			break;
             case CHFS_NODETYPE_DIRENT:
    -		fdirent = (struct chfs_flash_dirent_node *)data;
    +		/* dirent node */
    +			fdirent = (struct chfs_flash_dirent_node *)data;
     	        crc = crc32(0, (uint8_t *)fdirent, sizeof(struct chfs_flash_dirent_node) - 4);
     	        if (crc != le32toh(fdirent->node_crc)) {
    -			dbg_gc("dirent crc error\n");
    -			return EBADF;
    -		}
    +				dbg_gc("dirent crc error\n");
    +				return EBADF;
    +			}
     	        crc = crc32(0, fdirent->name, fdirent->nsize);
     	        if (crc != le32toh(fdirent->name_crc)) {
    -			dbg_gc("dirent name crc error\n");
    -			return EBADF;
    -		}
    -		break;
    +				dbg_gc("dirent name crc error\n");
    +				return EBADF;
    +			}
    +			break;
             case CHFS_NODETYPE_DATA:
    -		fdata = (struct chfs_flash_data_node *)data;
    +		/* data node */
    +			fdata = (struct chfs_flash_data_node *)data;
     	        crc = crc32(0, (uint8_t *)fdata, sizeof(struct chfs_flash_data_node) - 4);
     	        if (crc != le32toh(fdata->node_crc)) {
    -			dbg_gc("data node crc error\n");
    -			return EBADF;
    -		}
    -		break;
    +				dbg_gc("data node crc error\n");
    +				return EBADF;
    +			}
    +			break;
             default:
    -		if (chvc) {
    -			dbg_gc("unknown node have vnode cache\n");
    -			return EBADF;
    -		}
    +		/* unknown node */
    +			if (chvc) {
    +				dbg_gc("unknown node have vnode cache\n");
    +				return EBADF;
    +			}
     	}
     	/* CRC's OK, write node to its new place */
     retry:
    @@ -791,12 +799,14 @@ retry:
     	ofs = chmp->chm_ebh->eb_size - chmp->chm_nextblock->free_size;
     	newnref->nref_offset = ofs;
     
    +	/* write out the whole node */
     	vec.iov_base = (void *)data;
     	vec.iov_len = totlen;
     	mutex_enter(&chmp->chm_lock_sizes);
     	ret = chfs_write_wbuf(chmp, &vec, 1, ofs, &retlen);
     
     	if (ret || retlen != totlen) {
    +		/* error while writing */
     		chfs_err("error while writing out to the media\n");
     		chfs_err("err: %d | size: %zu | retlen : %zu\n",
     		    ret, totlen, retlen);
    @@ -807,19 +817,23 @@ retry:
     			return EIO;
     		}
     
    +		/* try again */
     		retries++;
     		mutex_exit(&chmp->chm_lock_sizes);
     		goto retry;
     	}
     
    +	/* update vnode information */
     	mutex_exit(&chmp->chm_lock_sizes);
     	//TODO should we set free_size?
    -	chfs_mark_node_obsolete(chmp, nref);
    +	mutex_enter(&chmp->chm_lock_vnocache);
     	chfs_add_vnode_ref_to_vc(chmp, chvc, newnref);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     	return 0;
     }
     
     
    +/* chfs_gcollect_live - collects a living node */
     int
     chfs_gcollect_live(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, struct chfs_node_ref *nref,
    @@ -850,7 +864,7 @@ chfs_gcollect_live(struct chfs_mount *chmp,
     		goto upnout;
     	}
     
    -	/* find fn */
    +	/* Find data node. */
     	dbg_gc("find full dnode\n");
     	for(frag = frag_first(&ip->fragtree);
     	    frag; frag = frag_next(&ip->fragtree, frag)) {
    @@ -875,13 +889,11 @@ chfs_gcollect_live(struct chfs_mount *chmp,
     			if (ret != EBADF)
     				goto upnout;
     		}
    -		//ret = chfs_gcollect_hole(chmp, cheb, ip, fn, start, end);
     		ret = chfs_gcollect_dnode(chmp, cheb, ip, fn, start, end);
     		goto upnout;
     	}
     
    -
    -	/* It's a dirent? */
    +	/* Is it a dirent? */
     	dbg_gc("find full dirent\n");
     	is_dirent = false;
     	TAILQ_FOREACH(fd, &ip->dents, fds) {
    @@ -892,8 +904,10 @@ chfs_gcollect_live(struct chfs_mount *chmp,
     	}
     
     	if (is_dirent && fd->vno) {
    +		/* Living dirent. */
     		ret = chfs_gcollect_dirent(chmp, cheb, ip, fd);
     	} else if (is_dirent) {
    +		/* Already deleted dirent. */
     		ret = chfs_gcollect_deletion_dirent(chmp, cheb, ip, fd);
     	} else {
     		dbg_gc("Nref at leb #%u offset 0x%08x wasn't in node list"
    @@ -910,17 +924,21 @@ upnout:
     	return ret;
     }
     
    +/* chfs_gcollect_vnode - collects a vnode information node */
     int
     chfs_gcollect_vnode(struct chfs_mount *chmp, struct chfs_inode *ip)
     {
     	int ret;
     	dbg_gc("gcollect_vnode\n");
     
    +	/* Simply write the new vnode information to the flash
    +	 * with GC's space allocation */
     	ret = chfs_write_flash_vnode(chmp, ip, ALLOC_GC);
     
     	return ret;
     }
     
    +/* chfs_gcollect_dirent - collects a dirent */
     int
     chfs_gcollect_dirent(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, struct chfs_inode *parent,
    @@ -928,9 +946,9 @@ chfs_gcollect_dirent(struct chfs_mount *chmp,
     {
     	struct vnode *vnode = NULL;
     	struct chfs_inode *ip;
    -	struct chfs_node_ref *prev;
     	dbg_gc("gcollect_dirent\n");
     
    +	/* Find vnode. */
     	vnode = chfs_vnode_lookup(chmp, fd->vno);
     
     	/* XXX maybe KASSERT or panic on this? */
    @@ -940,28 +958,21 @@ chfs_gcollect_dirent(struct chfs_mount *chmp,
     
     	ip = VTOI(vnode);
     
    -	prev = parent->chvc->dirents;
    -	if (prev == fd->nref) {
    -		parent->chvc->dirents = prev->nref_next;
    -		dbg_gc("fd nref removed from dirents list\n");
    -		prev = NULL;
    -	}
    -	while (prev) {
    -		if (prev->nref_next == fd->nref) {
    -			prev->nref_next = fd->nref->nref_next;
    -			dbg_gc("fd nref removed from dirents list\n");
    -			break;
    -		}
    -		prev = prev->nref_next;
    -	}
    +	/* Remove and obsolete the previous version. */
    +	mutex_enter(&chmp->chm_lock_vnocache);
    +	chfs_remove_and_obsolete(chmp, parent->chvc, fd->nref,
    +		&parent->chvc->dirents);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
    -	prev = fd->nref;
    -	chfs_mark_node_obsolete(chmp, fd->nref);
    +	/* Write the new dirent to the flash. */
     	return chfs_write_flash_dirent(chmp,
     	    parent, ip, fd, fd->vno, ALLOC_GC);
     }
     
    -/* Check dirents what are marked as deleted. */
    +/* 
    + * chfs_gcollect_deletion_dirent -
    + * collects a dirent what was marked as deleted
    + */
     int
     chfs_gcollect_deletion_dirent(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, struct chfs_inode *parent,
    @@ -974,29 +985,17 @@ chfs_gcollect_deletion_dirent(struct chfs_mount *chmp,
     
     	int ret;
     
    -	struct vnode *vnode = NULL;
    -
     	dbg_gc("gcollect_deletion_dirent\n");
     
    +	/* Check node. */
     	name_len = strlen(fd->name);
     	name_crc = crc32(0, fd->name, name_len);
     
     	nref_len = chfs_nref_len(chmp, cheb, fd->nref);
     
    -	vnode = chfs_vnode_lookup(chmp, fd->vno);
    -
    -	//dbg_gc("ip from vnode\n");
    -	//VFS_VGET(chmp->chm_fsmp, fd->vno, &vnode);
    -	//ip = VTOI(vnode);
    -	//vput(vnode);
    -
    -	//dbg_gc("mutex enter erase_completion_lock\n");
    -
    -//	dbg_gc("alloc chfdn\n");
    -//	chfdn = kmem_alloc(nref_len, KM_SLEEP);
    -//	if (!chfdn)
    -//		return ENOMEM;
    +	(void)chfs_vnode_lookup(chmp, fd->vno);
     
    +	/* Find it in parent dirents. */
     	for (nref = parent->chvc->dirents;
     	     nref != (void*)parent->chvc;
     	     nref = nref->nref_next) {
    @@ -1013,6 +1012,7 @@ chfs_gcollect_deletion_dirent(struct chfs_mount *chmp,
     			continue;
     		}
     
    +		/* read it from flash */
     		ret = chfs_read_leb(chmp,
     		    nref->nref_lnr, (void*)&chfdn, CHFS_GET_OFS(nref->nref_offset),
     		    nref_len, &retlen);
    @@ -1046,26 +1046,27 @@ chfs_gcollect_deletion_dirent(struct chfs_mount *chmp,
     		if (memcmp(chfdn.name, fd->name, name_len))
     			continue;
     
    -//		kmem_free(chfdn, nref_len);
    -
    -		chfs_mark_node_obsolete(chmp, fd->nref);
    +		mutex_enter(&chmp->chm_lock_vnocache);
    +		chfs_remove_and_obsolete(chmp, parent->chvc, fd->nref,
    +			&parent->chvc->dirents);
    +		mutex_exit(&chmp->chm_lock_vnocache);
     		return chfs_write_flash_dirent(chmp,
     		    parent, NULL, fd, fd->vno, ALLOC_GC);
     	}
     
    -//	kmem_free(chfdn, nref_len);
    -
    +	/* Simply remove it from the parent dirents. */
     	TAILQ_REMOVE(&parent->dents, fd, fds);
     	chfs_free_dirent(fd);
     	return 0;
     }
     
    +/* chfs_gcollect_dnode - */
     int
     chfs_gcollect_dnode(struct chfs_mount *chmp,
         struct chfs_eraseblock *orig_cheb, struct chfs_inode *ip,
         struct chfs_full_dnode *fn, uint32_t orig_start, uint32_t orig_end)
     {
    -	struct chfs_node_ref *nref, *prev;
    +	struct chfs_node_ref *nref;
     	struct chfs_full_dnode *newfn;
     	struct chfs_flash_data_node *fdnode;
     	int ret = 0, retries = 0;
    @@ -1075,87 +1076,13 @@ chfs_gcollect_dnode(struct chfs_mount *chmp,
     	size_t retlen;
     	dbg_gc("gcollect_dnode\n");
     
    -	//uint32_t used_size;
    +	//TODO merge frags
     
    -/* TODO GC merging frags, should we use it?
    -
    -   uint32_t start, end;
    -
    -   start = orig_start;
    -   end = orig_end;
    -
    -   if (chmp->chm_nr_free_blocks + chmp->chm_nr_erasable_blocks > chmp->chm_resv_blocks_gcmerge) {
    -   struct chfs_node_frag *frag;
    -   uint32_t min, max;
    -
    -   min = start & (PAGE_CACHE_SIZE-1);
    -   max = min + PAGE_CACHE_SIZE;
    -
    -   frag = (struct chfs_node_frag *)rb_tree_find_node_leq(&ip->i_chfs_ext.fragtree, &start);
    -   KASSERT(frag->ofs == start);
    -
    -   while ((frag = frag_prev(&ip->i_chfs_ext.fragtree, frag)) && frag->ofs >= min) {
    -   if (frag->ofs > min) {
    -   start = frag->ofs;
    -   continue;
    -   }
    -
    -   if (!frag->node || !frag->node->nref) {
    -   break;
    -   } else {
    -   struct chfs_node_ref *nref = frag->node->nref;
    -   struct chfs_eraseblock *cheb;
    -
    -   cheb = &chmp->chm_blocks[nref->nref_lnr];
    -
    -   if (cheb == chmp->chm_gcblock)
    -   start = frag->ofs;
    -
    -   //TODO is this a clean block?
    -
    -   start = frag->ofs;
    -   break;
    -   }
    -   }
    -
    -   end--;
    -   frag = (struct chfs_node_frag *)rb_tree_find_node_leq(&ip->i_chfs_ext.fragtree, &(end));
    -
    -   while ((frag = frag_next(&ip->i_chfs_ext.fragtree, frag)) && (frag->ofs + frag->size <= max)) {
    -   if (frag->ofs + frag->size < max) {
    -   end = frag->ofs + frag->size;
    -   continue;
    -   }
    -
    -   if (!frag->node || !frag->node->nref) {
    -   break;
    -   } else {
    -   struct chfs_node_ref *nref = frag->node->nref;
    -   struct chfs_eraseblock *cheb;
    -
    -   cheb = &chmp->chm_blocks[nref->nref_lnr];
    -
    -   if (cheb == chmp->chm_gcblock)
    -   end = frag->ofs + frag->size;
    -
    -   //TODO is this a clean block?
    -
    -   end = frag->ofs + frag->size;
    -   break;
    -   }
    -   }
    -
    -   KASSERT(end <=
    -   frag_last(&ip->i_chfs_ext.fragtree)->ofs +
    -   frag_last(&ip->i_chfs_ext.fragtree)->size);
    -   KASSERT(end >= orig_end);
    -   KASSERT(start <= orig_start);
    -   }
    -*/
     	KASSERT(orig_cheb->lnr == fn->nref->nref_lnr);
     	totlen = chfs_nref_len(chmp, orig_cheb, fn->nref);
     	data = kmem_alloc(totlen, KM_SLEEP);
     
    +	/* Read the node from the flash. */
     	ret = chfs_read_leb(chmp, fn->nref->nref_lnr, data, fn->nref->nref_offset,
     	    totlen, &retlen);
     
    @@ -1168,6 +1095,7 @@ chfs_gcollect_dnode(struct chfs_mount *chmp,
     	vec.iov_len = totlen;
     
     retry:
    +	/* Set the next block where we can write. */
     	ret = chfs_reserve_space_gc(chmp, totlen);
     	if (ret)
     		goto out;
    @@ -1184,8 +1112,10 @@ retry:
     	KASSERT(nref->nref_offset % 4 == 0);
     	chfs_change_size_free(chmp, chmp->chm_nextblock, -totlen);
     
    +	/* Write it to the writebuffer. */
     	ret = chfs_write_wbuf(chmp, &vec, 1, nref->nref_offset, &retlen);
     	if (ret || retlen != totlen) {
    +		/* error during writing */
     		chfs_err("error while writing out to the media\n");
     		chfs_err("err: %d | size: %d | retlen : %zu\n",
     		    ret, totlen, retlen);
    @@ -1196,6 +1126,7 @@ retry:
     			goto out;
     		}
     
    +		/* try again */
     		retries++;
     		mutex_exit(&chmp->chm_lock_sizes);
     		goto retry;
    @@ -1207,30 +1138,23 @@ retry:
     	mutex_exit(&chmp->chm_lock_sizes);
     	KASSERT(chmp->chm_blocks[nref->nref_lnr].used_size <= chmp->chm_ebh->eb_size);
     
    +	/* Set fields of the new node. */
     	newfn = chfs_alloc_full_dnode();
     	newfn->nref = nref;
     	newfn->ofs = fn->ofs;
     	newfn->size = fn->size;
    -	newfn->frags = fn->frags;
    +	newfn->frags = 0;
     
    -	//TODO should we remove fd from dnode list?
    -
    -	prev = ip->chvc->dnode;
    -	if (prev == fn->nref) {
    -		ip->chvc->dnode = prev->nref_next;
    -		prev = NULL;
    -	}
    -	while (prev) {
    -		if (prev->nref_next == fn->nref) {
    -			prev->nref_next = fn->nref->nref_next;
    -			break;
    -		}
    -		prev = prev->nref_next;
    -	}
    +	mutex_enter(&chmp->chm_lock_vnocache);
    +	/* Remove every part of the old node. */
    +	chfs_remove_frags_of_node(chmp, &ip->fragtree, fn->nref);
    +	chfs_remove_and_obsolete(chmp, ip->chvc, fn->nref, &ip->chvc->dnode);
     
    +	/* Add the new nref to inode. */
     	chfs_add_full_dnode_to_inode(chmp, ip, newfn);
     	chfs_add_node_to_list(chmp,
     	    ip->chvc, newfn->nref, &ip->chvc->dnode);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
     out:
     	kmem_free(data, totlen);
    diff --git a/sys/ufs/chfs/chfs_ihash.c b/sys/ufs/chfs/chfs_ihash.c
    index b16b00c6a..5091d8193 100644
    --- a/sys/ufs/chfs/chfs_ihash.c
    +++ b/sys/ufs/chfs/chfs_ihash.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_ihash.c,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_ihash.c,v 1.2 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -148,12 +148,9 @@ loop:
     	LIST_FOREACH(ip, ipp, hash_entry) {
     		dbg("ip: %p\n", ip);
     		if (inum == ip->ino && dev == ip->dev) {
    -//			printf("chfs_ihashget: found inode: %p\n", ip);
     			vp = ITOV(ip);
     			KASSERT(vp != NULL);
    -			//dbg("found\n");
     			if (VOP_ISLOCKED(vp) == LK_EXCLUSIVE) {
    -				//dbg("wait for #%llu\n", ip->ino);
     				mutex_exit(&chfs_ihash_lock);
     				goto loop;
     			}
    @@ -164,22 +161,17 @@ loop:
     				dbg("isn't locked\n");
     			*/
     			if (flags == 0) {
    -				//dbg("no flags\n");
     				mutex_exit(&chfs_ihash_lock);
     			} else {
    -				//dbg("vget\n");
     				mutex_enter(vp->v_interlock);
     				mutex_exit(&chfs_ihash_lock);
     				if (vget(vp, flags)) {
     					goto loop;
     				}
    -				//dbg("got it\n");
     			}
    -			//dbg("return\n");
     			return (vp);
     		}
     	}
    -	//dbg("not found\n");
     	mutex_exit(&chfs_ihash_lock);
     	return (NULL);
     }
    diff --git a/sys/ufs/chfs/chfs_inode.h b/sys/ufs/chfs/chfs_inode.h
    index 0661437c1..88be0e42d 100644
    --- a/sys/ufs/chfs/chfs_inode.h
    +++ b/sys/ufs/chfs/chfs_inode.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_inode.h,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_inode.h,v 1.7 2013/01/22 09:39:15 dholland Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -35,18 +35,51 @@
     #ifndef __CHFS_INODE_H__
     #define __CHFS_INODE_H__
     
    +#ifdef _KERNEL
     #include 
     #include 
     #include 
     #include 
    +#endif /* _KERNEL */
     
    +#define CHFS_ROOTINO 2
    +
    +/* chfs file types */
    +enum chtype {
    +	CHT_BLANK,	/* empty type */
    +	CHT_REG,	/* regular file */
    +	CHT_DIR,	/* directory */
    +	CHT_BLK,	/* block device */
    +	CHT_CHR,	/* character device */
    +	CHT_LNK,	/* link */
    +	CHT_SOCK,	/* socket */
    +	CHT_FIFO,	/* fifo */
    +	CHT_BAD		/* bad type */
    +};
    +
    +/* these macros are needed because the compatibility */
    +#define CHTTOVT(ch_type)	(enum vtype)(ch_type)
    +#define VTTOCHT(v_type)		(enum chtype)(v_type)
    +
    +/* vtype replaced with chtype, these are only for backward compatibility */
    +static const enum chtype iftocht_tab[16] = {
    +	CHT_BLANK, CHT_FIFO, CHT_CHR, CHT_BLANK,
    +	CHT_DIR, CHT_BLANK, CHT_BLK, CHT_BLANK,
    +	CHT_REG, CHT_BLANK, CHT_LNK, CHT_BLANK,
    +	CHT_SOCK, CHT_BLANK, CHT_BLANK, CHT_BAD,
    +};
    +
    +#define	IFTOCHT(mode)	(iftocht_tab[((mode) & S_IFMT) >> 12])
    +
    +#ifdef _KERNEL
     struct chfs_inode
     {
    -	kmutex_t inode_lock;	/* lock the fields of chfs_inode */
    +	struct genfs_node	gnode;
    +	kmutex_t inode_lock;		/* lock the fields of chfs_inode */
     
    -	LIST_ENTRY(chfs_inode) hash_entry;	/* Hash chain. */
    +	LIST_ENTRY(chfs_inode) hash_entry;	/* hash chain */
     
    -	struct ufsmount *ump;			/* ufs mount - TODO we should remove it */
    +	struct ufsmount *ump;		/* ufs mount - TODO we should remove it */
     	struct chfs_mount *chmp;	/* chfs mount point - TODO we should remove it */
     
     	struct vnode *vp;	/* vnode associated with this inode */
    @@ -57,30 +90,28 @@ struct chfs_inode
     	
     	struct chfs_vnode_cache *chvc;	/* vnode cache of this node */
     
    -	struct chfs_dirent *fd;	/* full dirent of this node */
    -//	struct chfs_dirent *dents;	/* directory entries */
    +	struct chfs_dirent *fd;			/* full dirent of this node */
     	struct chfs_dirent_list dents;
     
    -	struct rb_tree fragtree;	        /* fragtree of inode */
    +	struct rb_tree fragtree;		/* fragtree of inode */
     
    -	uint64_t version;			/* version number */
    -	//uint64_t highest_version;	/* highest vers. num. (used at data nodes) */
    +	uint64_t version;		/* version number */
     	
    -	uint32_t mode;		/* mode */
    -	//int16_t nlink;		/* link count */
    -	uint64_t size;		/* file byte count */
    +	uint32_t mode;			/* mode */
    +	enum chtype ch_type;	/* chfs file type */
    +	uint64_t size;			/* file byte count */
     	uint64_t write_size;	/* increasing while write the file out to the flash */
    -	uint32_t uid;		/* file owner */
    -	uint32_t gid;		/* file group */
    -	uint32_t atime;		/* access time */
    -	uint32_t mtime;		/* modify time */
    -	uint32_t ctime;		/* creation time */
    +	uint32_t uid;			/* file owner */
    +	uint32_t gid;			/* file group */
    +	uint32_t atime;			/* access time */
    +	uint32_t mtime;			/* modify time */
    +	uint32_t ctime;			/* creation time */
     	
    -	uint32_t iflag;		/* flags, see below */
    -	uint32_t flags;		/* status flags (chflags) */
    +	uint32_t iflag;			/* flags, see below */
    +	uint32_t flags;			/* status flags (chflags) */
     
    -	dev_t rdev;			/* used if type is VCHR or VBLK or VFIFO*/
    -	char *target;		/* used if type is VLNK */
    +	dev_t rdev;				/* used if type is VCHR or VBLK or VFIFO*/
    +	char *target;			/* used if type is VLNK */
     };
     
     /* These flags are kept in chfs_inode->iflag. */
    @@ -106,13 +137,16 @@ struct chfs_inode
     # undef ITOV
     #endif
     
    +/* struct vnode to struct chfs_inode */
     #define	VTOI(vp)	((struct chfs_inode *)(vp)->v_data)
    +/* struct chfs_inode to struct vnode */
     #define	ITOV(ip)	((ip)->vp)
     
    -/* copied from ufs_dinode.h */
    -#define	NDADDR	12			/* Direct addresses in inode. */
    +/* XXX copied from ufs_dinode.h and should not be duplicated here */
    +#define	UFS_NDADDR	12		/* Direct addresses in inode. */
     
    -#define	ROOTINO	((ino_t)2)
    +/* XXX this should not be duplicated here */
    +#define	UFS_ROOTINO	((ino_t)2)
     
     /* File permissions. */
     #define	IEXEC		0000100		/* Executable. */
    @@ -133,4 +167,5 @@ struct chfs_inode
     #define	IFSOCK		0140000		/* UNIX domain socket. */
     #define	IFWHT		0160000		/* Whiteout. */
     
    +#endif /* _KERNEL */
     #endif /* __CHFS_INODE_H__ */
    diff --git a/sys/ufs/chfs/chfs_malloc.c b/sys/ufs/chfs/chfs_malloc.c
    index 3138acc00..3dfc05462 100644
    --- a/sys/ufs/chfs/chfs_malloc.c
    +++ b/sys/ufs/chfs/chfs_malloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_malloc.c,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_malloc.c,v 1.4 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -44,8 +44,9 @@ pool_cache_t chfs_node_frag_cache;
     pool_cache_t chfs_tmp_dnode_cache;
     pool_cache_t chfs_tmp_dnode_info_cache;
     
    +/* chfs_alloc_pool_caches - allocating pool caches */
     int
    -chfs_alloc_pool_caches()
    +chfs_alloc_pool_caches(void)
     {
     	chfs_vnode_cache = pool_cache_init(
     		sizeof(struct chfs_vnode_cache),
    @@ -117,8 +118,9 @@ err_vnode:
     	return ENOMEM;
     }
     
    +/* chfs_destroy_pool_caches - destroying pool caches */
     void
    -chfs_destroy_pool_caches()
    +chfs_destroy_pool_caches(void)
     {
     	if (chfs_vnode_cache)
     		pool_cache_destroy(chfs_vnode_cache);
    @@ -145,6 +147,7 @@ chfs_destroy_pool_caches()
     		pool_cache_destroy(chfs_tmp_dnode_info_cache);
     }
     
    +/* chfs_vnode_cache_alloc - allocating and initializing a vnode cache */
     struct chfs_vnode_cache *
     chfs_vnode_cache_alloc(ino_t vno)
     {
    @@ -153,6 +156,7 @@ chfs_vnode_cache_alloc(ino_t vno)
     
     	memset(vc, 0, sizeof(*vc));
     	vc->vno = vno;
    +	/* vnode cache is the last element of all chain */
     	vc->v = (void *)vc;
     	vc->dirents = (void *)vc;
     	vc->dnode = (void *)vc;
    @@ -162,14 +166,14 @@ chfs_vnode_cache_alloc(ino_t vno)
     	return vc;
     }
     
    +/* chfs_vnode_cache_free - freeing a vnode cache */
     void
     chfs_vnode_cache_free(struct chfs_vnode_cache *vc)
     {
    -	//kmem_free(vc->vno_version, sizeof(uint64_t));
     	pool_cache_put(chfs_vnode_cache, vc);
     }
     
    -/**
    +/*
      * chfs_alloc_refblock - allocating a refblock
      *
      * Returns a pointer of the first element in the block.
    @@ -198,18 +202,15 @@ chfs_alloc_refblock(void)
     	return nref;
     }
     
    -/**
    - * chfs_free_refblock - freeing a refblock
    - */
    +/* chfs_free_refblock - freeing a refblock */
     void
     chfs_free_refblock(struct chfs_node_ref *nref)
     {
     	pool_cache_put(chfs_nrefs_cache, nref);
     }
     
    -/**
    +/*
      * chfs_alloc_node_ref - allocating a node ref from a refblock
    - * @cheb: eraseblock information structure
      *
      * Allocating a node ref from a refblock, it there isn't any free element in the
      * block, a new block will be allocated and be linked to the current block.
    @@ -222,7 +223,7 @@ chfs_alloc_node_ref(struct chfs_eraseblock *cheb)
     	nref = cheb->last_node;
     
     	if (!nref) {
    -		//There haven't been any nref allocated for this block yet
    +		/* There haven't been any nref allocated for this block yet */
     		nref = chfs_alloc_refblock();
     
     		cheb->first_node = nref;
    @@ -235,6 +236,7 @@ chfs_alloc_node_ref(struct chfs_eraseblock *cheb)
     
     	nref++;
     	if (nref->nref_lnr == REF_LINK_TO_NEXT) {
    +		/* this was the last element, allocate a new block */
     		new = chfs_alloc_refblock();
     		nref->nref_next = new;
     		nref = new;
    @@ -249,10 +251,7 @@ chfs_alloc_node_ref(struct chfs_eraseblock *cheb)
     	return nref;
     }
     
    -/**
    - * chfs_free_node_refs - freeing an eraseblock's node refs
    - * @cheb: eraseblock information structure
    - */
    +/* chfs_free_node_refs - freeing an eraseblock's node refs */
     void
     chfs_free_node_refs(struct chfs_eraseblock *cheb)
     {
    @@ -271,6 +270,7 @@ chfs_free_node_refs(struct chfs_eraseblock *cheb)
     	}
     }
     
    +/* chfs_alloc_dirent - allocating a directory entry */
     struct chfs_dirent*
     chfs_alloc_dirent(int namesize)
     {
    @@ -278,94 +278,104 @@ chfs_alloc_dirent(int namesize)
     	size_t size = sizeof(struct chfs_dirent) + namesize;
     
     	ret = kmem_alloc(size, KM_SLEEP);
    -	//ret->alloc_size = size;
     
     	return ret;
     }
     
    +/* chfs_free_dirent - freeing a directory entry */
     void
     chfs_free_dirent(struct chfs_dirent *dirent)
     {
    -	//size_t size = dirent->alloc_size;
     	size_t size = sizeof(struct chfs_dirent) + dirent->nsize + 1;
     
     	kmem_free(dirent, size);
     }
     
    +/* chfs_alloc_full_dnode - allocating a full data node */
     struct chfs_full_dnode*
    -chfs_alloc_full_dnode()
    +chfs_alloc_full_dnode(void)
     {
     	struct chfs_full_dnode *ret;
     	ret = kmem_alloc(sizeof(struct chfs_full_dnode), KM_SLEEP);
    +	ret->nref = NULL;
    +	ret->frags = 0;
     	return ret;
     }
     
    +/* chfs_free_full_dnode - freeing a full data node */
     void
     chfs_free_full_dnode(struct chfs_full_dnode *fd)
     {
     	kmem_free(fd,(sizeof(struct chfs_full_dnode)));
     }
     
    +/* chfs_alloc_flash_vnode - allocating vnode info (used on flash) */
     struct chfs_flash_vnode*
    -chfs_alloc_flash_vnode()
    +chfs_alloc_flash_vnode(void)
     {
     	struct chfs_flash_vnode *ret;
     	ret = pool_cache_get(chfs_flash_vnode_cache, 0);
     	return ret;
     }
     
    +/* chfs_free_flash_vnode - freeing vnode info */
     void
     chfs_free_flash_vnode(struct chfs_flash_vnode *fvnode)
     {
     	pool_cache_put(chfs_flash_vnode_cache, fvnode);
     }
     
    +/* chfs_alloc_flash_dirent - allocating a directory entry (used on flash) */
     struct chfs_flash_dirent_node*
    -chfs_alloc_flash_dirent()
    +chfs_alloc_flash_dirent(void)
     {
     	struct chfs_flash_dirent_node *ret;
     	ret = pool_cache_get(chfs_flash_dirent_cache, 0);
     	return ret;
     }
     
    +/* chfs_free_flash_dirent - freeing a (flash) directory entry */
     void
     chfs_free_flash_dirent(struct chfs_flash_dirent_node *fdnode)
     {
     	pool_cache_put(chfs_flash_dirent_cache, fdnode);
     }
     
    +/* chfs_alloc_flash_dnode - allocating a data node (used on flash) */
     struct chfs_flash_data_node*
    -chfs_alloc_flash_dnode()
    +chfs_alloc_flash_dnode(void)
     {
     	struct chfs_flash_data_node *ret;
     	ret = pool_cache_get(chfs_flash_dnode_cache, 0);
     	return ret;
     }
     
    +/* chfs_free_flash_dnode - freeing a (flash) data node */
     void
     chfs_free_flash_dnode(struct chfs_flash_data_node *fdnode)
     {
     	pool_cache_put(chfs_flash_dnode_cache, fdnode);
     }
     
    -
    +/* chfs_alloc_node_frag - allocating a fragment of a node */
     struct chfs_node_frag*
    -chfs_alloc_node_frag()
    +chfs_alloc_node_frag(void)
     {
     	struct chfs_node_frag *ret;
     	ret = pool_cache_get(chfs_node_frag_cache, 0);
     	return ret;
    -
     }
     
    +/* chfs_free_node_frag - freeing a fragment of a node */
     void
     chfs_free_node_frag(struct chfs_node_frag *frag)
     {
     	pool_cache_put(chfs_node_frag_cache, frag);
     }
     
    +/* chfs_alloc_tmp_dnode - allocating a temporarly used dnode */
     struct chfs_tmp_dnode *
    -chfs_alloc_tmp_dnode()
    +chfs_alloc_tmp_dnode(void)
     {
     	struct chfs_tmp_dnode *ret;
     	ret = pool_cache_get(chfs_tmp_dnode_cache, 0);
    @@ -373,14 +383,16 @@ chfs_alloc_tmp_dnode()
     	return ret;
     }
     
    +/* chfs_free_tmp_dnode - freeing a temporarly used dnode */
     void
     chfs_free_tmp_dnode(struct chfs_tmp_dnode *td)
     {
     	pool_cache_put(chfs_tmp_dnode_cache, td);
     }
     
    +/* chfs_alloc_tmp_dnode_info - allocating a temporarly used dnode descriptor */
     struct chfs_tmp_dnode_info *
    -chfs_alloc_tmp_dnode_info()
    +chfs_alloc_tmp_dnode_info(void)
     {
     	struct chfs_tmp_dnode_info *ret;
     	ret = pool_cache_get(chfs_tmp_dnode_info_cache, 0);
    @@ -388,6 +400,7 @@ chfs_alloc_tmp_dnode_info()
     	return ret;
     }
     
    +/* chfs_free_tmp_dnode_info - freeing a temporarly used dnode descriptor */
     void
     chfs_free_tmp_dnode_info(struct chfs_tmp_dnode_info *di)
     {
    diff --git a/sys/ufs/chfs/chfs_nodeops.c b/sys/ufs/chfs/chfs_nodeops.c
    index bf761dd66..754eab4b6 100644
    --- a/sys/ufs/chfs/chfs_nodeops.c
    +++ b/sys/ufs/chfs/chfs_nodeops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_nodeops.c,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_nodeops.c,v 1.3 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -35,13 +35,10 @@
     
     #include "chfs.h"
     
    -/**
    +/*
      * chfs_update_eb_dirty - updates dirty and free space, first and
      *			      last node references
    - * @sbi: CHFS main descriptor structure
    - * @cheb: eraseblock to update
    - * @size: increase dirty space size with this
    - * Returns zero in case of success, %1 in case of fail.
    + * Returns zero in case of success, 1 in case of fail.
      */
     int
     chfs_update_eb_dirty(struct chfs_mount *chmp,
    @@ -59,19 +56,14 @@ chfs_update_eb_dirty(struct chfs_mount *chmp,
     		return 1;
     	}
     	mutex_enter(&chmp->chm_lock_sizes);
    -	//dbg("BEFORE: free_size: %d\n", cheb->free_size);
     	chfs_change_size_free(chmp, cheb, -size);
     	chfs_change_size_dirty(chmp, cheb, size);
    -	//dbg(" AFTER: free_size: %d\n", cheb->free_size);
     	mutex_exit(&chmp->chm_lock_sizes);
     	return 0;
     }
     
    -/**
    +/*
      * chfs_add_node_to_list - adds a data node ref to vnode cache's dnode list
    - * @sbi: super block informations
    - * @new: node ref to insert
    - * @list: head of the list
      * This function inserts a data node ref to the list of vnode cache.
      * The list is sorted by data node's lnr and offset.
      */
    @@ -80,6 +72,8 @@ chfs_add_node_to_list(struct chfs_mount *chmp,
         struct chfs_vnode_cache *vc,
         struct chfs_node_ref *new, struct chfs_node_ref **list)
     {
    +	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    +
     	struct chfs_node_ref *nextref = *list;
     	struct chfs_node_ref *prevref = NULL;
     
    @@ -104,10 +98,13 @@ chfs_add_node_to_list(struct chfs_mount *chmp,
     	    CHFS_GET_OFS(nextref->nref_offset) ==
     	    CHFS_GET_OFS(new->nref_offset)) {
     		new->nref_next = nextref->nref_next;
    +		chfs_mark_node_obsolete(chmp, nextref);
     	} else {
     		new->nref_next = nextref;
     	}
     
    +	KASSERT(new->nref_next != NULL);
    +
     	if (prevref) {
     		prevref->nref_next = new;
     	} else {
    @@ -115,18 +112,74 @@ chfs_add_node_to_list(struct chfs_mount *chmp,
     	}
     }
     
    +/*
    + * chfs_remove_node_from_list - removes a node from a list
    + * Usually used for removing data nodes.
    + */
    +void
    +chfs_remove_node_from_list(struct chfs_mount *chmp,
    +	struct chfs_vnode_cache *vc,
    +	struct chfs_node_ref *old_nref, struct chfs_node_ref **list)
    +{
    +	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
    +	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    +
    +	struct chfs_node_ref *tmpnref;
    +
    +	if (*list == (struct chfs_node_ref *)vc) {
    +		/* list is empty */
    +		return;
    +	}
    +
    +	KASSERT(old_nref->nref_next != NULL);
    +
    +	if (*list == old_nref) {
    +		*list = old_nref->nref_next;
    +	} else {
    +		tmpnref = *list;
    +		while (tmpnref->nref_next &&
    +			tmpnref->nref_next != (struct chfs_node_ref *)vc) {
    +			if (tmpnref->nref_next == old_nref) {
    +				tmpnref->nref_next = old_nref->nref_next;
    +				break;
    +			}
    +			tmpnref = tmpnref->nref_next;
    +		}
    +	}
    +}
    +
    +/*
    + * chfs_remove_and_obsolete - removes a node from a list and obsoletes the nref
    + * We should use this function carefully on data nodes, 
    + * because removing a frag will also obsolete the node ref.
    + */
    +void
    +chfs_remove_and_obsolete(struct chfs_mount *chmp,
    +	struct chfs_vnode_cache *vc,
    +	struct chfs_node_ref *old_nref, struct chfs_node_ref **list)
    +{
    +	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
    +	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    +
    +	chfs_remove_node_from_list(chmp, vc, old_nref, list);
    +
    +	dbg("[MARK] vno: %llu lnr: %u ofs: %u\n", vc->vno, old_nref->nref_lnr,
    +		old_nref->nref_offset);
    +	chfs_mark_node_obsolete(chmp, old_nref);
    +}
    +
    +/* chfs_add_fd_to_inode - adds a directory entry to an inode */
     void
     chfs_add_fd_to_inode(struct chfs_mount *chmp,
         struct chfs_inode *parent, struct chfs_dirent *new)
     {
    -//	struct chfs_dirent **prev = &parent->dents;
     	struct chfs_dirent *fd, *tmpfd;
     
    +	/* update highest version */
     	if (new->version > parent->chvc->highest_version) {
     		parent->chvc->highest_version = new->version;
     	}
     
    -	//mutex_enter(&parent->inode_lock);
     	TAILQ_FOREACH_SAFE(fd, &parent->dents, fds, tmpfd) {
     		if (fd->nhash > new->nhash) {
     			/* insert new before fd */
    @@ -135,17 +188,18 @@ chfs_add_fd_to_inode(struct chfs_mount *chmp,
     		} else if (fd->nhash == new->nhash &&
     		    !strcmp(fd->name, new->name)) {
     			if (new->version > fd->version) {
    -//				new->next = fd->next;
     				/* replace fd with new */
     				TAILQ_INSERT_BEFORE(fd, new, fds);
     				TAILQ_REMOVE(&parent->dents, fd, fds);
     				if (fd->nref) {
    -					chfs_mark_node_obsolete(chmp,
    -					    fd->nref);
    +					mutex_enter(&chmp->chm_lock_vnocache);
    +					chfs_remove_and_obsolete(chmp, parent->chvc, fd->nref,
    +						&parent->chvc->dirents);
    +					mutex_exit(&chmp->chm_lock_vnocache);
     				}
     				chfs_free_dirent(fd);
    -//				*prev = new;//XXX
     			} else {
    +				/* new is older (normally it's not an option) */
     				chfs_mark_node_obsolete(chmp, new->nref);
     				chfs_free_dirent(new);
     			}
    @@ -155,66 +209,48 @@ chfs_add_fd_to_inode(struct chfs_mount *chmp,
     	/* if we couldnt fit it elsewhere, lets add to the end */
     	/* FIXME insert tail or insert head? */
     	TAILQ_INSERT_HEAD(&parent->dents, new, fds);
    -	//mutex_exit(&parent->inode_lock);
    -#if 0
    -   	while ((*prev) && (*prev)->nhash <= new->nhash) {
    -		if ((*prev)->nhash == new->nhash &&
    -		    !strcmp((*prev)->name, new->name)) {
    -			if (new->version > (*prev)->version) {
    -				new->next = (*prev)->next;
    -				if ((*prev)->nref) {
    -					chfs_mark_node_obsolete(chmp,
    -					    (*prev)->nref);
    -				}
    -				chfs_free_dirent(*prev);
    -				*prev = new;
    -			} else {
    -				chfs_mark_node_obsolete(chmp, new->nref);
    -				chfs_free_dirent(new);
    -			}
    -			return;
    -		}
    -		prev = &((*prev)->next);
    -	}
    -
    -	new->next = *prev;
    -	*prev = new;
    -#endif
     }
     
    +
    +/* chfs_add_vnode_ref_to_vc - adds a vnode info to the vnode cache */
     void
     chfs_add_vnode_ref_to_vc(struct chfs_mount *chmp,
         struct chfs_vnode_cache *vc, struct chfs_node_ref *new)
     {
    -	if ((struct chfs_vnode_cache*)(vc->v) != vc) {
    -		chfs_mark_node_obsolete(chmp, vc->v);
    -		new->nref_next = vc->v->nref_next;
    -	} else {
    -		new->nref_next = vc->v;
    +	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    +	struct chfs_node_ref *nref;
    +
    +	/* store only the last one, drop the others */
    +	while (vc->v != (struct chfs_node_ref *)vc) {
    +		nref = vc->v;
    +		chfs_remove_and_obsolete(chmp, vc, nref, &vc->v);
     	}
    +
    +	new->nref_next = (struct chfs_node_ref *)vc;
     	vc->v = new;
     }
     
    +/* chfs_nref_next - step to the next in-memory nref */
     struct chfs_node_ref *
     chfs_nref_next(struct chfs_node_ref *nref)
     {
    -//	dbg("check nref: %u - %u\n", nref->nref_lnr, nref->nref_offset);
     	nref++;
    -//	dbg("next nref: %u - %u\n", nref->nref_lnr, nref->nref_offset);
     	if (nref->nref_lnr == REF_LINK_TO_NEXT) {
    -		//End of chain
    +		/* end of chain */
     		if (!nref->nref_next)
     			return NULL;
     
    +		/* link to the next block */
     		nref = nref->nref_next;
     	}
    -	//end of chain
    +	/* end of chain */
     	if (nref->nref_lnr == REF_EMPTY_NODE)
     		return NULL;
     
     	return nref;
     }
     
    +/* chfs_nref_len - calculates the length of an nref */
     int
     chfs_nref_len(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, struct chfs_node_ref *nref)
    @@ -229,18 +265,14 @@ chfs_nref_len(struct chfs_mount *chmp,
     	next = chfs_nref_next(nref);
     
     	if (!next) {
    -		//dbg("next null\n");
     		return chmp->chm_ebh->eb_size - cheb->free_size -
     		    CHFS_GET_OFS(nref->nref_offset);
     	}
    -	//dbg("size: %d\n", CHFS_GET_OFS(next->nref_offset) - CHFS_GET_OFS(nref->nref_offset));
     	return CHFS_GET_OFS(next->nref_offset) -
     	    CHFS_GET_OFS(nref->nref_offset);
     }
     
    -/**
    - * chfs_mark_node_obsolete - marks a node obsolete
    - */
    +/* chfs_mark_node_obsolete - marks a node as obsolete */
     void
     chfs_mark_node_obsolete(struct chfs_mount *chmp,
         struct chfs_node_ref *nref)
    @@ -268,19 +300,14 @@ chfs_mark_node_obsolete(struct chfs_mount *chmp,
     #endif
     
     	len = chfs_nref_len(chmp, cheb, nref);
    -	//dbg("len: %u\n", len);
    -	//dbg("1. used: %u\n", cheb->used_size);
     
     	mutex_enter(&chmp->chm_lock_sizes);
     	
     	if (CHFS_REF_FLAGS(nref) == CHFS_UNCHECKED_NODE_MASK) {
    -		//dbg("UNCHECKED mark an unchecked node\n");
     		chfs_change_size_unchecked(chmp, cheb, -len);
    -		//dbg("unchecked: %u\n", chmp->chm_unchecked_size);
     	} else {
     		chfs_change_size_used(chmp, cheb, -len);
     
    -		//dbg("2. used: %u\n", cheb->used_size);
     		KASSERT(cheb->used_size <= chmp->chm_ebh->eb_size);
     	}
     	chfs_change_size_dirty(chmp, cheb, len);
    @@ -312,8 +339,8 @@ chfs_mark_node_obsolete(struct chfs_mount *chmp,
     			dbg("gcblock is completely dirtied\n");
     			chmp->chm_gcblock = NULL;
     		} else {
    -			//remove from a tailq, but we don't know which tailq contains this cheb
    -			//so we remove it from the dirty list now
    +			/* remove from a tailq, but we don't know which tailq contains this cheb
    +			 * so we remove it from the dirty list now */
     			//TAILQ_REMOVE(&chmp->chm_dirty_queue, cheb, queue);
     			int removed = 0;
     			struct chfs_eraseblock *eb, *tmpeb;
    @@ -384,10 +411,8 @@ chfs_mark_node_obsolete(struct chfs_mount *chmp,
     	return;
     }
     
    -/**
    +/*
      * chfs_close_eraseblock - close an eraseblock
    - * @chmp: chfs mount structure
    - * @cheb: eraseblock informations
      *
      * This function close the physical chain of the nodes on the eraseblock,
      * convert its free size to dirty and add it to clean, dirty or very dirty list.
    @@ -424,6 +449,11 @@ chfs_close_eraseblock(struct chfs_mount *chmp,
     	return 0;
     }
     
    +/*
    + * chfs_reserve_space_normal - 
    + * checks available space and calls chfs_reserve_space
    + * used during writing
    + */
     int
     chfs_reserve_space_normal(struct chfs_mount *chmp, uint32_t size, int prio)
     {
    @@ -456,8 +486,6 @@ chfs_reserve_space_normal(struct chfs_mount *chmp, uint32_t size, int prio)
     
     		mutex_exit(&chmp->chm_lock_sizes);
     		ret = chfs_gcollect_pass(chmp);
    -		/* gcollect_pass exits chm_lock_mountfields */
    -		mutex_enter(&chmp->chm_lock_mountfields);
     		mutex_enter(&chmp->chm_lock_sizes);
     
     		if (chmp->chm_nr_erasable_blocks ||
    @@ -479,6 +507,7 @@ out:
     }
     
     
    +/* chfs_reserve_space_gc - tries to reserve space for GC */
     int
     chfs_reserve_space_gc(struct chfs_mount *chmp, uint32_t size)
     {
    @@ -500,11 +529,8 @@ chfs_reserve_space_gc(struct chfs_mount *chmp, uint32_t size)
     	return ret;
     }
     
    -/**
    +/*
      * chfs_reserve_space - finds a block which free size is >= requested size
    - * @chmp: chfs mount point
    - * @size: requested size
    - * @len: reserved spaced will be returned in this variable;
      * Returns zero in case of success, error code in case of fail.
      */
     int
    @@ -521,8 +547,6 @@ chfs_reserve_space(struct chfs_mount *chmp, uint32_t size)
     	KASSERT(!mutex_owned(&chmp->chm_lock_sizes));
     
     	cheb = chmp->chm_nextblock;
    -	//if (cheb)
    -	    //dbg("cheb->free_size %u\n", cheb->free_size);
     	if (cheb && size > cheb->free_size) {
     		dbg("size: %u > free_size: %u\n", size, cheb->free_size);
     		/*
    diff --git a/sys/ufs/chfs/chfs_pool.c b/sys/ufs/chfs/chfs_pool.c
    index 6e25d17f2..48197c0cf 100644
    --- a/sys/ufs/chfs/chfs_pool.c
    +++ b/sys/ufs/chfs/chfs_pool.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_pool.c,v 1.1 2011/11/24 15:51:31 ahoka Exp $	*/
    +/*	$NetBSD: chfs_pool.c,v 1.2 2012/02/28 02:48:39 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -50,9 +50,6 @@
     void *	chfs_pool_page_alloc(struct pool *, int);
     void	chfs_pool_page_free(struct pool *, void *);
     
    -extern void*	pool_page_alloc_nointr(struct pool *, int);
    -extern void	pool_page_free_nointr(struct pool *, void *);
    -
     /* --------------------------------------------------------------------- */
     
     struct pool_allocator chfs_pool_allocator = {
    @@ -104,7 +101,7 @@ chfs_pool_page_alloc(struct pool *pp, int flags)
     		atomic_dec_uint(&chmp->chm_pages_used);
     		return NULL;
     	}
    -	page = pool_page_alloc_nointr(pp, flags | PR_WAITOK);
    +	page = pool_get(pp, flags | PR_WAITOK);
     	if (page == NULL) {
     		atomic_dec_uint(&chmp->chm_pages_used);
     	}
    @@ -125,7 +122,7 @@ chfs_pool_page_free(struct pool *pp, void *v)
     	chmp = chpp->chp_mount;
     
     	atomic_dec_uint(&chmp->chm_pages_used);
    -	pool_page_free_nointr(pp, v);
    +	pool_put(pp,v);
     }
     
     /* --------------------------------------------------------------------- */
    diff --git a/sys/ufs/chfs/chfs_readinode.c b/sys/ufs/chfs/chfs_readinode.c
    index 3ae626f8d..37211e060 100644
    --- a/sys/ufs/chfs/chfs_readinode.c
    +++ b/sys/ufs/chfs/chfs_readinode.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_readinode.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_readinode.c,v 1.8 2013/10/20 17:18:38 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -33,13 +33,6 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * chfs_readinode.c
    - *
    - *  Created on: 2010.05.31.
    - *      Author: dtengeri
    - */
    -
     #include 
     
     #include "chfs.h"
    @@ -82,11 +75,7 @@ int chfs_build_fragtree(struct chfs_mount *,
     
     
     
    -/*
    - * --------------------------
    - * tmp node rbtree operations
    - * --------------------------
    - */
    +/* tmp node rbtree operations */
     static signed int
     tmp_node_compare_nodes(void *ctx, const void *n1, const void *n2)
     {
    @@ -113,11 +102,7 @@ const rb_tree_ops_t tmp_node_rbtree_ops = {
     };
     
     
    -/*
    - * ---------------------------
    - * frag node rbtree operations
    - * ---------------------------
    - */
    +/* frag node rbtree operations */
     static signed int
     frag_compare_nodes(void *ctx, const void *n1, const void *n2)
     {
    @@ -145,12 +130,7 @@ const rb_tree_ops_t frag_rbtree_ops = {
     
     
     /*
    - * -------------------
    - * tmp node operations
    - * -------------------
    - */
    -/*
    - * Check the data CRC of the node.
    + * chfs_check_td_data - checks the data CRC of the node
      *
      * Returns: 0 - if everything OK;
      * 	    	1 - if CRC is incorrect;
    @@ -176,6 +156,7 @@ chfs_check_td_data(struct chfs_mount *chmp,
     	if (!len)
     		return 0;
     
    +	/* Read data. */
     	buf = kmem_alloc(len, KM_SLEEP);
     	if (!buf) {
     		dbg("allocating error\n");
    @@ -183,11 +164,12 @@ chfs_check_td_data(struct chfs_mount *chmp,
     	}
     	err = chfs_read_leb(chmp, nref->nref_lnr, buf, ofs, len, &retlen);
     	if (err) {
    -		dbg("error wile reading: %d\n", err);
    +		dbg("error while reading: %d\n", err);
     		err = 2;
     		goto out;
     	}
     
    +	/* Check crc. */
     	if (len != retlen) {
     		dbg("len:%zu, retlen:%zu\n", len, retlen);
     		err = 2;
    @@ -201,7 +183,8 @@ chfs_check_td_data(struct chfs_mount *chmp,
     		return 1;
     	}
     
    -	nref->nref_offset = CHFS_GET_OFS(nref->nref_offset) | CHFS_NORMAL_NODE_MASK;
    +	/* Correct sizes. */
    +	CHFS_MARK_REF_NORMAL(nref);
     	totlen = CHFS_PAD(sizeof(struct chfs_flash_data_node) + len);
     
     	mutex_enter(&chmp->chm_lock_sizes);
    @@ -216,6 +199,7 @@ out:
     	return err;
     }
     
    +/* chfs_check_td_node - checks a temporary node */
     int
     chfs_check_td_node(struct chfs_mount *chmp, struct chfs_tmp_dnode *td)
     {
    @@ -225,13 +209,13 @@ chfs_check_td_node(struct chfs_mount *chmp, struct chfs_tmp_dnode *td)
     		return 0;
     
     	ret = chfs_check_td_data(chmp, td);
    -	if (ret == 1) {
    -		chfs_mark_node_obsolete(chmp, td->node->nref);
    -	}
     	return ret;
     }
     
    -
    +/* 
    + * chfs_first_valid_data_ref -
    + * returns the first valid nref after the given nref
    + */
     struct chfs_node_ref *
     chfs_first_valid_data_ref(struct chfs_node_ref *nref)
     {
    @@ -253,13 +237,19 @@ chfs_first_valid_data_ref(struct chfs_node_ref *nref)
     	return NULL;
     }
     
    +/*
    + * chfs_add_tmp_dnode_to_tdi -
    + * adds a temporary node to a temporary node descriptor
    + */
     void
     chfs_add_tmp_dnode_to_tdi(struct chfs_tmp_dnode_info *tdi,
     	struct chfs_tmp_dnode *td)
     {
     	if (!tdi->tmpnode) {
    +	/* The chain is empty. */
     		tdi->tmpnode = td;
     	} else {
    +	/* Insert into the chain. */
     		struct chfs_tmp_dnode *tmp = tdi->tmpnode;
     		while (tmp->next) {
     			tmp = tmp->next;
    @@ -268,13 +258,19 @@ chfs_add_tmp_dnode_to_tdi(struct chfs_tmp_dnode_info *tdi,
     	}
     }
     
    +/*
    + * chfs_remove_tmp_dnode_from_tdi - 
    + * removes a temporary node from its descriptor
    + */
     void
     chfs_remove_tmp_dnode_from_tdi(struct chfs_tmp_dnode_info *tdi,
     	struct chfs_tmp_dnode *td)
     {
     	if (tdi->tmpnode == td) {
    +	/* It's the first in the chain. */
     		tdi->tmpnode = tdi->tmpnode->next;
     	} else {
    +	/* Remove from the middle of the chain. */
     		struct chfs_tmp_dnode *tmp = tdi->tmpnode->next;
     		while (tmp->next && tmp->next != td) {
     			tmp = tmp->next;
    @@ -285,24 +281,31 @@ chfs_remove_tmp_dnode_from_tdi(struct chfs_tmp_dnode_info *tdi,
     	}
     }
     
    +/* chfs_kill_td - removes all components of a temporary node */
     static void
     chfs_kill_td(struct chfs_mount *chmp,
         struct chfs_tmp_dnode *td)
     {
    -	/* check if we need to mark as obsolete, to avoid double mark */
    -	if (!CHFS_REF_OBSOLETE(td->node->nref)) {
    -		chfs_mark_node_obsolete(chmp, td->node->nref);
    +	struct chfs_vnode_cache *vc;
    +	if (td->node) {
    +		mutex_enter(&chmp->chm_lock_vnocache);
    +		/* Remove the node from the vnode cache's data node chain. */
    +		vc = chfs_nref_to_vc(td->node->nref);
    +		chfs_remove_and_obsolete(chmp, vc, td->node->nref, &vc->dnode);	
    +		mutex_exit(&chmp->chm_lock_vnocache);
     	}
     
     	chfs_free_tmp_dnode(td);
     }
     
    +/* chfs_kill_tdi - removes a temporary node descriptor */
     static void
     chfs_kill_tdi(struct chfs_mount *chmp,
         struct chfs_tmp_dnode_info *tdi)
     {
     	struct chfs_tmp_dnode *next, *tmp = tdi->tmpnode;
     
    +	/* Iterate the chain and remove all temporary node from it. */
     	while (tmp) {
     		next = tmp->next;
     		chfs_kill_td(chmp, tmp);
    @@ -312,6 +315,10 @@ chfs_kill_tdi(struct chfs_mount *chmp,
     	chfs_free_tmp_dnode_info(tdi);
     }
     
    +/* 
    + * chfs_add_tmp_dnode_to_tree - 
    + * adds a temporary node to the temporary tree
    + */
     int
     chfs_add_tmp_dnode_to_tree(struct chfs_mount *chmp,
         struct chfs_readinode_info *rii,
    @@ -335,6 +342,7 @@ chfs_add_tmp_dnode_to_tree(struct chfs_mount *chmp,
     			this = (struct chfs_tmp_dnode_info *)node;
     		}
     	}
    +
     	while (node) {
     		this = (struct chfs_tmp_dnode_info *)node;
     		if (this->tmpnode->node->ofs > end_ofs)
    @@ -343,6 +351,7 @@ chfs_add_tmp_dnode_to_tree(struct chfs_mount *chmp,
     		struct chfs_tmp_dnode *tmp_td = this->tmpnode;
     		while (tmp_td) {
     			if (tmp_td->version == newtd->version) {
    +				/* This is a new version of an old node. */
     				if (!chfs_check_td_node(chmp, tmp_td)) {
     					dbg("calling kill td 0\n");
     					chfs_kill_td(chmp, newtd);
    @@ -422,8 +431,8 @@ chfs_add_tmp_dnode_to_tree(struct chfs_mount *chmp,
     	   obsoleted by an earlier node. Insert into the tree */
     	struct chfs_tmp_dnode_info *tmp_tdi = rb_tree_insert_node(&rii->tdi_root, newtdi);
     	if (tmp_tdi != newtdi) {
    +		chfs_remove_tmp_dnode_from_tdi(newtdi, newtd);
     		chfs_add_tmp_dnode_to_tdi(tmp_tdi, newtd);
    -		newtdi->tmpnode = NULL;
     		chfs_kill_tdi(chmp, newtdi);
     	}
     
    @@ -459,26 +468,30 @@ chfs_add_tmp_dnode_to_tree(struct chfs_mount *chmp,
     }
     
     
    -/*
    - * --------------------
    - * frag node operations
    - * --------------------
    - */
    +/* new_fragment - creates a new fragment for a data node */
     struct chfs_node_frag *
     new_fragment(struct chfs_full_dnode *fdn, uint32_t ofs, uint32_t size)
     {
     	struct chfs_node_frag *newfrag;
     	newfrag = chfs_alloc_node_frag();
     	if (newfrag) {
    +		/* Initialize fragment. */
     		newfrag->ofs = ofs;
     		newfrag->size = size;
     		newfrag->node = fdn;
    +		if (newfrag->node) {
    +			newfrag->node->frags++;
    +		}
     	} else {
     		chfs_err("cannot allocate a chfs_node_frag object\n");
     	}
     	return newfrag;
     }
     
    +/*
    + * no_overlapping_node - inserts a node to the fragtree
    + * Puts hole frag into the holes between fragments.
    + */
     int
     no_overlapping_node(struct rb_tree *fragtree,
         struct chfs_node_frag *newfrag,
    @@ -494,7 +507,6 @@ no_overlapping_node(struct rb_tree *fragtree,
     		}
     
     		rb_tree_insert_node(fragtree, holefrag);
    -		this = holefrag;
     	}
     
     	rb_tree_insert_node(fragtree, newfrag);
    @@ -502,6 +514,10 @@ no_overlapping_node(struct rb_tree *fragtree,
     	return 0;
     }
     
    +/*
    + * chfs_add_frag_to_fragtree - 
    + * adds a fragment to a data node's fragtree
    + */
     int
     chfs_add_frag_to_fragtree(struct chfs_mount *chmp,
         struct rb_tree *fragtree,
    @@ -511,6 +527,7 @@ chfs_add_frag_to_fragtree(struct chfs_mount *chmp,
     	uint32_t lastend;
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     
    +	/* Find the offset of frag which is before the new one. */
     	this = (struct chfs_node_frag *)rb_tree_find_node_leq(fragtree, &newfrag->ofs);
     
     	if (this) {
    @@ -519,8 +536,8 @@ chfs_add_frag_to_fragtree(struct chfs_mount *chmp,
     		lastend = 0;
     	}
     
    +	/* New fragment is end of the file and there is no overlapping. */
     	if (lastend <= newfrag->ofs) {
    -		//dbg("no overlapping node\n");
     		if (lastend && (lastend - 1) >> PAGE_SHIFT == newfrag->ofs >> PAGE_SHIFT) {
     			if (this->node)
     				CHFS_MARK_REF_NORMAL(this->node->nref);
    @@ -530,22 +547,18 @@ chfs_add_frag_to_fragtree(struct chfs_mount *chmp,
     	}
     
     	if (newfrag->ofs > this->ofs) {
    -
     		CHFS_MARK_REF_NORMAL(newfrag->node->nref);
     		if (this->node)
     			CHFS_MARK_REF_NORMAL(this->node->nref);
     
     		if (this->ofs + this->size > newfrag->ofs + newfrag->size) {
    -			/* newfrag is inside of this */
    -			//dbg("newfrag is inside of this\n");
    +			/* Newfrag is inside of this. */
     			struct chfs_node_frag *newfrag2;
     
     			newfrag2 = new_fragment(this->node, newfrag->ofs + newfrag->size,
     			    this->ofs + this->size - newfrag->ofs - newfrag->size);
     			if (!newfrag2)
     				return ENOMEM;
    -			if (this->node)
    -				this->node->frags++;
     
     			this->size = newfrag->ofs - this->ofs;
     
    @@ -554,13 +567,11 @@ chfs_add_frag_to_fragtree(struct chfs_mount *chmp,
     
     			return 0;
     		}
    -		/* newfrag is bottom of this */
    -		//dbg("newfrag is bottom of this\n");
    +		/* Newfrag is bottom of this. */
     		this->size = newfrag->ofs - this->ofs;
     		rb_tree_insert_node(fragtree, newfrag);
     	} else {
    -		/* newfrag start at same point */
    -		//dbg("newfrag start at same point\n");
    +		/* Newfrag start at same point */
     		//TODO replace instead of remove and insert
     		rb_tree_remove_node(fragtree, this);
     		rb_tree_insert_node(fragtree, newfrag);
    @@ -596,30 +607,60 @@ chfs_add_frag_to_fragtree(struct chfs_mount *chmp,
     	return 0;
     }
     
    +/* 
    + * chfs_remove_frags_of_node -
    + * removes all fragments from a fragtree and DOESN'T OBSOLETE them
    + */
     void
    -chfs_kill_fragtree(struct rb_tree *fragtree)
    +chfs_remove_frags_of_node(struct chfs_mount *chmp, struct rb_tree *fragtree,
    +	struct chfs_node_ref *nref)
     {
    +	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     	struct chfs_node_frag *this, *next;
    -	//dbg("start\n");
     
    +	if (nref == NULL) {
    +		return;
    +	}
    +
    +	/* Iterate the tree and clean all elements. */
     	this = (struct chfs_node_frag *)RB_TREE_MIN(fragtree);
     	while (this) {
    -		//for (this = (struct chfs_node_frag *)RB_TREE_MIN(&fragtree); this != NULL; this = (struct chfs_node_frag *)rb_tree_iterate(&fragtree, &this->rb_node, RB_DIR_RIGHT)) {
     		next = frag_next(fragtree, this);
    -		rb_tree_remove_node(fragtree, this);
    -		chfs_free_node_frag(this);
    -		//dbg("one frag killed\n");
    +		if (this->node->nref == nref) {
    +			rb_tree_remove_node(fragtree, this);
    +			chfs_free_node_frag(this);
    +		}
     		this = next;
     	}
    -	//dbg("end\n");
     }
     
    +/*
    + * chfs_kill_fragtree - 
    + * removes all fragments from a fragtree and OBSOLETES them
    + */
    +void
    +chfs_kill_fragtree(struct chfs_mount *chmp, struct rb_tree *fragtree)
    +{
    +	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
    +	struct chfs_node_frag *this, *next;
    +
    +	/* Iterate the tree and clean all elements. */
    +	this = (struct chfs_node_frag *)RB_TREE_MIN(fragtree);
    +	while (this) {
    +		next = frag_next(fragtree, this);
    +		rb_tree_remove_node(fragtree, this);
    +		chfs_obsolete_node_frag(chmp, this);
    +		this = next;
    +	}
    +}
    +
    +/* chfs_truncate_fragtree - truncates the tree to a specified size */
     uint32_t
     chfs_truncate_fragtree(struct chfs_mount *chmp,
     	struct rb_tree *fragtree, uint32_t size)
     {
    -	struct chfs_node_frag *frag;
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
    +	struct chfs_node_frag *frag;
     
     	dbg("truncate to size: %u\n", size);
     
    @@ -658,45 +699,45 @@ chfs_truncate_fragtree(struct chfs_mount *chmp,
     
     	/* FIXME Should we check the postion of the last node? (PAGE_CACHE size, etc.) */
     	if (frag->node && (frag->ofs & (PAGE_SIZE - 1)) == 0) {
    -		frag->node->nref->nref_offset = CHFS_GET_OFS(frag->node->nref->nref_offset) | CHFS_PRISTINE_NODE_MASK;
    +		frag->node->nref->nref_offset =
    +			CHFS_GET_OFS(frag->node->nref->nref_offset) | CHFS_PRISTINE_NODE_MASK;
     	}
     
     	return size;
     }
     
    +/* chfs_obsolete_node_frag - obsoletes a fragment of a node */
     void
     chfs_obsolete_node_frag(struct chfs_mount *chmp,
         struct chfs_node_frag *this)
     {
    +	struct chfs_vnode_cache *vc;
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     	if (this->node) {
    +	/* The fragment is in a node. */
    +		KASSERT(this->node->frags != 0);
     		this->node->frags--;
    -		if (!this->node->frags) {
    -			struct chfs_vnode_cache *vc = chfs_nref_to_vc(this->node->nref);
    -			chfs_mark_node_obsolete(chmp, this->node->nref);
    -			
    -			if (vc->dnode == this->node->nref) {
    -				vc->dnode = this->node->nref->nref_next;
    -			} else {
    -				struct chfs_node_ref *tmp = vc->dnode;
    -				while (tmp->nref_next != (struct chfs_node_ref*) vc 
    -						&& tmp->nref_next != this->node->nref) {
    -					tmp = tmp->nref_next;
    -				}
    -				if (tmp->nref_next == this->node->nref) {
    -					tmp->nref_next = this->node->nref->nref_next;
    -				}
    -				// FIXME should we free here the this->node->nref?
    -			}
    -			
    +		if (this->node->frags == 0) {
    +		/* This is the last fragment. (There is no more.) */
    +			KASSERT(!CHFS_REF_OBSOLETE(this->node->nref));
    +			mutex_enter(&chmp->chm_lock_vnocache);
    +			vc = chfs_nref_to_vc(this->node->nref);
    +			dbg("[MARK] lnr: %u ofs: %u\n", this->node->nref->nref_lnr, 
    +				this->node->nref->nref_offset);
    +
    +			chfs_remove_and_obsolete(chmp, vc, this->node->nref, &vc->dnode);	
    +			mutex_exit(&chmp->chm_lock_vnocache);
    +
     			chfs_free_full_dnode(this->node);
     		} else {
    +		/* There is more frags in the node. */
     			CHFS_MARK_REF_NORMAL(this->node->nref);
     		}
     	}
     	chfs_free_node_frag(this);
     }
     
    +/* chfs_add_full_dnode_to_inode - adds a data node to an inode */
     int
     chfs_add_full_dnode_to_inode(struct chfs_mount *chmp,
         struct chfs_inode *ip,
    @@ -709,16 +750,16 @@ chfs_add_full_dnode_to_inode(struct chfs_mount *chmp,
     	if (unlikely(!fd->size))
     		return 0;
     
    +	/* Create a new fragment from the data node and add it to the fragtree. */
     	newfrag = new_fragment(fd, fd->ofs, fd->size);
     	if (unlikely(!newfrag))
     		return ENOMEM;
     
    -	newfrag->node->frags = 1;
    -
     	ret = chfs_add_frag_to_fragtree(chmp, &ip->fragtree, newfrag);
     	if (ret)
     		return ret;
     
    +	/* Check previous fragment. */
     	if (newfrag->ofs & (PAGE_SIZE - 1)) {
     		struct chfs_node_frag *prev = frag_prev(&ip->fragtree, newfrag);
     
    @@ -727,6 +768,7 @@ chfs_add_full_dnode_to_inode(struct chfs_mount *chmp,
     			CHFS_MARK_REF_NORMAL(prev->node->nref);
     	}
     
    +	/* Check next fragment. */
     	if ((newfrag->ofs+newfrag->size) & (PAGE_SIZE - 1)) {
     		struct chfs_node_frag *next = frag_next(&ip->fragtree, newfrag);
     
    @@ -741,12 +783,7 @@ chfs_add_full_dnode_to_inode(struct chfs_mount *chmp,
     }
     
     
    -/*
    - * -----------------------
    - * general node operations
    - * -----------------------
    - */
    -/* get tmp nodes of an inode */
    +/* chfs_get_data_nodes - get temporary nodes of an inode */
     int
     chfs_get_data_nodes(struct chfs_mount *chmp,
         struct chfs_inode *ip,
    @@ -769,6 +806,7 @@ chfs_get_data_nodes(struct chfs_mount *chmp,
     
     	nref = chfs_first_valid_data_ref(ip->chvc->dnode);
     
    +	/* Update highest version. */
     	rii->highest_version = ip->chvc->highest_version;
     
     	while(nref && (struct chfs_vnode_cache *)nref != ip->chvc) {
    @@ -777,29 +815,33 @@ chfs_get_data_nodes(struct chfs_mount *chmp,
     			goto out;
     		dnode = (struct chfs_flash_data_node*)buf;
     
    -		//check header crc
    +		/* Check header crc. */
     		crc = crc32(0, (uint8_t *)dnode, CHFS_NODE_HDR_SIZE - 4);
     		if (crc != le32toh(dnode->hdr_crc)) {
     			chfs_err("CRC check failed. calc: 0x%x orig: 0x%x\n", crc, le32toh(dnode->hdr_crc));
     			goto cont;
     		}
    -		//check header magic bitmask
    +
    +		/* Check header magic bitmask. */
     		if (le16toh(dnode->magic) != CHFS_FS_MAGIC_BITMASK) {
     			chfs_err("Wrong magic bitmask.\n");
     			goto cont;
     		}
    -		//check node crc
    +
    +		/* Check node crc. */
     		crc = crc32(0, (uint8_t *)dnode, sizeof(*dnode) - 4);
     		if (crc != le32toh(dnode->node_crc)) {
     			chfs_err("Node CRC check failed. calc: 0x%x orig: 0x%x\n", crc, le32toh(dnode->node_crc));
     			goto cont;
     		}
    +
     		td = chfs_alloc_tmp_dnode();
     		if (!td) {
     			chfs_err("Can't allocate tmp dnode info.\n");
     			err = ENOMEM;
     			goto out;
     		}
    +
     		/* We don't check data crc here, just add nodes to tmp frag tree, because
     		 * we don't want to check nodes which have been overlapped by a new node
     		 * with a higher version number.
    @@ -815,12 +857,14 @@ chfs_get_data_nodes(struct chfs_mount *chmp,
     		td->data_crc = le32toh(dnode->data_crc);
     		td->node->nref = nref;
     		td->node->size = le32toh(dnode->data_length);
    +		td->node->frags = 1;
     		td->overlapped = 0;
     
     		if (td->version > rii->highest_version) {
     			rii->highest_version = td->version;
     		}
     
    +		/* Add node to the tree. */
     		err = chfs_add_tmp_dnode_to_tree(chmp, rii, td);
     		if (err)
     			goto out_full_dnode;
    @@ -832,7 +876,6 @@ cont:
     	ip->chvc->highest_version = rii->highest_version;
     	return 0;
     
    -/* Exit points */
     out_full_dnode:
     	chfs_free_full_dnode(td->node);
     out_tmp_dnode:
    @@ -844,28 +887,31 @@ out:
     }
     
     
    -/* Build final normal fragtree from tdi tree. */
    +/* chfs_build_fragtree - builds fragtree from temporary tree */
     int
     chfs_build_fragtree(struct chfs_mount *chmp, struct chfs_inode *ip,
         struct chfs_readinode_info *rii)
     {
     	struct chfs_tmp_dnode_info *pen, *last, *this;
    -	struct rb_tree ver_tree;    /* version tree */
    +	struct rb_tree ver_tree;    /* version tree, used only temporary */
     	uint64_t high_ver = 0;
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     
     	rb_tree_init(&ver_tree, &tmp_node_rbtree_ops);
     
    +	/* Update highest version and latest node reference. */
     	if (rii->mdata_tn) {
     		high_ver = rii->mdata_tn->tmpnode->version;
     		rii->latest_ref = rii->mdata_tn->tmpnode->node->nref;
     	}
     
    +	/* Iterate the temporary tree in reverse order. */
     	pen = (struct chfs_tmp_dnode_info *)RB_TREE_MAX(&rii->tdi_root);
     
     	while((last = pen)) {
     		pen = (struct chfs_tmp_dnode_info *)rb_tree_iterate(&rii->tdi_root, last, RB_DIR_LEFT);
     
    +		/* We build here a version tree from overlapped nodes. */
     		rb_tree_remove_node(&rii->tdi_root, last);
     		rb_tree_insert_node(&ver_tree, last);
     
    @@ -878,6 +924,7 @@ chfs_build_fragtree(struct chfs_mount *chmp, struct chfs_inode *ip,
     		
     		this = (struct chfs_tmp_dnode_info *)RB_TREE_MAX(&ver_tree);
     
    +		/* Start to build the fragtree. */
     		while (this) {
     			struct chfs_tmp_dnode_info *vers_next;
     			int ret;
    @@ -889,9 +936,11 @@ chfs_build_fragtree(struct chfs_mount *chmp, struct chfs_inode *ip,
     			while (tmp_td) {
     				struct chfs_tmp_dnode *next_td = tmp_td->next;
     				
    +				/* Check temporary node. */
     				if (chfs_check_td_node(chmp, tmp_td)) {
     					if (next_td) {
     						chfs_remove_tmp_dnode_from_tdi(this, tmp_td);
    +						chfs_kill_td(chmp, tmp_td);
     					} else {
     						break;
     					}
    @@ -902,19 +951,18 @@ chfs_build_fragtree(struct chfs_mount *chmp, struct chfs_inode *ip,
     						rii->latest_ref = tmp_td->node->nref;
     					}
     
    +					/* Add node to inode and its fragtree. */
     					ret = chfs_add_full_dnode_to_inode(chmp, ip, tmp_td->node);
     					if (ret) {
    +						/* On error, clean the whole version tree. */
     						while (1) {
     							vers_next = (struct chfs_tmp_dnode_info *)rb_tree_iterate(&ver_tree, this, RB_DIR_LEFT);
     							while (tmp_td) {
     								next_td = tmp_td->next;
    -								if (chfs_check_td_node(chmp, tmp_td) > 1) {
    -									chfs_mark_node_obsolete(chmp,
    -										tmp_td->node->nref);
    -								}
    +
     								chfs_free_full_dnode(tmp_td->node);
     								chfs_remove_tmp_dnode_from_tdi(this, tmp_td);
    -								chfs_free_tmp_dnode(tmp_td);
    +								chfs_kill_td(chmp, tmp_td);
     								tmp_td = next_td;
     							}
     							chfs_free_tmp_dnode_info(this);
    @@ -922,15 +970,20 @@ chfs_build_fragtree(struct chfs_mount *chmp, struct chfs_inode *ip,
     							if (!this)
     								break;
     							rb_tree_remove_node(&ver_tree, vers_next);
    +							chfs_kill_tdi(chmp, vers_next);
     						}
     						return ret;
     					}
     
    +					/* Remove temporary node from temporary descriptor.
    +					 * Shouldn't obsolete tmp_td here, because tmp_td->node
    +					 * was added to the inode. */
     					chfs_remove_tmp_dnode_from_tdi(this, tmp_td);
     					chfs_free_tmp_dnode(tmp_td);
     				}
     				tmp_td = next_td;
     			}
    +			/* Continue with the previous element of version tree. */
     			chfs_kill_tdi(chmp, this);
     			this = vers_next;
     		}
    @@ -939,6 +992,7 @@ chfs_build_fragtree(struct chfs_mount *chmp, struct chfs_inode *ip,
     	return 0;
     }
     
    +/* chfs_read_inode - checks the state of the inode then reads and builds it */
     int chfs_read_inode(struct chfs_mount *chmp, struct chfs_inode *ip)
     {
     	struct chfs_vnode_cache *vc = ip->chvc;
    @@ -946,39 +1000,38 @@ int chfs_read_inode(struct chfs_mount *chmp, struct chfs_inode *ip)
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     
     retry:
    -	/* XXX locking */
    -	//mutex_enter(&chmp->chm_lock_vnocache);
    +	mutex_enter(&chmp->chm_lock_vnocache);
     	switch (vc->state) {
    -	case VNO_STATE_UNCHECKED:
    -	case VNO_STATE_CHECKEDABSENT:
    -//		chfs_vnode_cache_set_state(chmp, vc, VNO_STATE_READING);
    -		vc->state = VNO_STATE_READING;
    -		break;
    -	case VNO_STATE_CHECKING:
    -	case VNO_STATE_GC:
    -		//sleep_on_spinunlock(&chmp->chm_lock_vnocache);
    -		//KASSERT(!mutex_owned(&chmp->chm_lock_vnocache));
    -		goto retry;
    -		break;
    -	case VNO_STATE_PRESENT:
    -	case VNO_STATE_READING:
    -		chfs_err("Reading inode #%llu in state %d!\n",
    -			(unsigned long long)vc->vno, vc->state);
    -		chfs_err("wants to read a nonexistent ino %llu\n",
    -			(unsigned long long)vc->vno);
    -		return ENOENT;
    -	default:
    -		panic("BUG() Bad vno cache state.");
    +		case VNO_STATE_UNCHECKED:
    +			/* FALLTHROUGH */
    +		case VNO_STATE_CHECKEDABSENT:
    +			vc->state = VNO_STATE_READING;
    +			break;
    +		case VNO_STATE_CHECKING:
    +			/* FALLTHROUGH */
    +		case VNO_STATE_GC:
    +			mutex_exit(&chmp->chm_lock_vnocache);
    +			goto retry;
    +			break;
    +		case VNO_STATE_PRESENT:
    +			/* FALLTHROUGH */
    +		case VNO_STATE_READING:
    +			chfs_err("Reading inode #%llu in state %d!\n",
    +				(unsigned long long)vc->vno, vc->state);
    +			chfs_err("wants to read a nonexistent ino %llu\n",
    +				(unsigned long long)vc->vno);
    +			return ENOENT;
    +		default:
    +			panic("BUG() Bad vno cache state.");
     	}
    -	//mutex_exit(&chmp->chm_lock_vnocache);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
     	return chfs_read_inode_internal(chmp, ip);
     }
     
     /*
    - * Read inode frags.
    - * Firstly get tmp nodes,
    - * secondly build fragtree from those.
    + * chfs_read_inode_internal - reads and builds an inode
    + * Firstly get temporary nodes then build fragtree.
      */
     int
     chfs_read_inode_internal(struct chfs_mount *chmp, struct chfs_inode *ip)
    @@ -997,7 +1050,7 @@ chfs_read_inode_internal(struct chfs_mount *chmp, struct chfs_inode *ip)
     
     	rb_tree_init(&rii.tdi_root, &tmp_node_rbtree_ops);
     
    -	/* build up a temp node frag tree */
    +	/* Build a temporary node tree. */
     	err = chfs_get_data_nodes(chmp, ip, &rii);
     	if (err) {
     		if (ip->chvc->state == VNO_STATE_READING)
    @@ -1006,10 +1059,9 @@ chfs_read_inode_internal(struct chfs_mount *chmp, struct chfs_inode *ip)
     		return err;
     	}
     
    +	/* Build fragtree from temp nodes. */
     	rb_tree_init(&ip->fragtree, &frag_rbtree_ops);
    -	/*
    -	 * build fragtree from temp nodes
    -	 */
    +
     	err = chfs_build_fragtree(chmp, ip, &rii);
     	if (err) {
     		if (ip->chvc->state == VNO_STATE_READING)
    @@ -1026,9 +1078,7 @@ chfs_read_inode_internal(struct chfs_mount *chmp, struct chfs_inode *ip)
     	if (!buf)
     		return ENOMEM;
     
    -	/*
    -	 * set inode size from chvc->v
    -	 */
    +	/* Set inode size from its vnode information node. */
     	err = chfs_read_leb(chmp, ip->chvc->v->nref_lnr, buf, CHFS_GET_OFS(ip->chvc->v->nref_offset), len, &retlen);
     	if (err || retlen != len) {
     		kmem_free(buf, len);
    @@ -1053,6 +1103,7 @@ chfs_read_inode_internal(struct chfs_mount *chmp, struct chfs_inode *ip)
     	return 0;
     }
     
    +/* chfs_read_data - reads and checks data of a file */
     int
     chfs_read_data(struct chfs_mount* chmp, struct vnode *vp,
         struct buf *bp)
    @@ -1069,10 +1120,12 @@ chfs_read_data(struct chfs_mount* chmp, struct vnode *vp,
     
     	memset(bp->b_data, 0, bp->b_bcount);
     
    +	/* Calculate the size of the file from its fragtree. */
     	ofs = bp->b_blkno * PAGE_SIZE;
     	frag = (struct chfs_node_frag *)rb_tree_find_node_leq(&ip->fragtree, &ofs);
     
     	if (!frag || frag->ofs > ofs || frag->ofs + frag->size <= ofs) {
    +		bp->b_resid = 0;
     		dbg("not found in frag tree\n");
     		return 0;
     	}
    @@ -1083,11 +1136,11 @@ chfs_read_data(struct chfs_mount* chmp, struct vnode *vp,
     	}
     
     	nref = frag->node->nref;
    -
     	size = sizeof(*dnode) + frag->size;
     
     	buf = kmem_alloc(size, KM_SLEEP);
     
    +	/* Read node from flash. */
     	dbg("reading from lnr: %u, offset: %u, size: %zu\n", nref->nref_lnr, CHFS_GET_OFS(nref->nref_offset), size);
     	err = chfs_read_leb(chmp, nref->nref_lnr, buf, CHFS_GET_OFS(nref->nref_offset), size, &retlen);
     	if (err) {
    @@ -1100,6 +1153,7 @@ chfs_read_data(struct chfs_mount* chmp, struct vnode *vp,
     		goto out;
     	}
     
    +	/* Read data from flash. */
     	dnode = (struct chfs_flash_data_node *)buf;
     	crc = crc32(0, (uint8_t *)dnode, CHFS_NODE_HDR_SIZE - 4);
     	if (crc != le32toh(dnode->hdr_crc)) {
    @@ -1107,19 +1161,23 @@ chfs_read_data(struct chfs_mount* chmp, struct vnode *vp,
     		err = EIO;
     		goto out;
     	}
    -	//check header magic bitmask
    +
    +	/* Check header magic bitmask. */
     	if (le16toh(dnode->magic) != CHFS_FS_MAGIC_BITMASK) {
     		chfs_err("Wrong magic bitmask.\n");
     		err = EIO;
     		goto out;
     	}
    -	//check node crc
    +
    +	/* Check crc of node. */
     	crc = crc32(0, (uint8_t *)dnode, sizeof(*dnode) - 4);
     	if (crc != le32toh(dnode->node_crc)) {
     		chfs_err("Node CRC check failed. calc: 0x%x orig: 0x%x\n", crc, le32toh(dnode->node_crc));
     		err = EIO;
     		goto out;
     	}
    +
    +	/* Check crc of data. */
     	crc = crc32(0, (uint8_t *)dnode->data, dnode->data_length);
     	if (crc != le32toh(dnode->data_crc)) {
     		chfs_err("Data CRC check failed. calc: 0x%x orig: 0x%x\n", crc, le32toh(dnode->data_crc));
    diff --git a/sys/ufs/chfs/chfs_scan.c b/sys/ufs/chfs/chfs_scan.c
    index a35ce7215..66f98f8c0 100644
    --- a/sys/ufs/chfs/chfs_scan.c
    +++ b/sys/ufs/chfs/chfs_scan.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_scan.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_scan.c,v 1.4 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -31,19 +31,10 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * chfs_scan.c
    - *
    - *  Created on: 2009.11.05.
    - *      Author: dtengeri
    - */
    -
     #include "chfs.h"
     
    -/**
    +/*
      * chfs_scan_make_vnode_cache - makes a new vnode cache during scan
    - * @chmp: CHFS main descriptor structure
    - * @vno: vnode identifier
      * This function returns a vnode cache belonging to @vno.
      */
     struct chfs_vnode_cache *
    @@ -53,36 +44,33 @@ chfs_scan_make_vnode_cache(struct chfs_mount *chmp, ino_t vno)
     
     	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
     
    +	/* vnode cache already exists */
     	vc = chfs_vnode_cache_get(chmp, vno);
     	if (vc) {
     		return vc;
     	}
     
    +	/* update max vnode number if needed */
     	if (vno > chmp->chm_max_vno) {
     		chmp->chm_max_vno = vno;
     	}
     
    +	/* create new vnode cache */
     	vc = chfs_vnode_cache_alloc(vno);
     
    -	//mutex_enter(&chmp->chm_lock_vnocache);
    -
     	chfs_vnode_cache_add(chmp, vc);
     
    -	//mutex_exit(&chmp->chm_lock_vnocache);
    -
     	if (vno == CHFS_ROOTINO) {
     		vc->nlink = 2;
     		vc->pvno = CHFS_ROOTINO;
    -		chfs_vnode_cache_set_state(chmp,
    -		    vc, VNO_STATE_CHECKEDABSENT);
    +		vc->state = VNO_STATE_CHECKEDABSENT;
     	}
     
     	return vc;
     }
     
    -/**
    +/*
      * chfs_scan_check_node_hdr - checks node magic and crc
    - * @nhdr: node header to check
      * Returns 0 if everything is OK, error code otherwise.
      */
     int
    @@ -109,13 +97,7 @@ chfs_scan_check_node_hdr(struct chfs_flash_node_hdr *nhdr)
     	return CHFS_NODE_OK;
     }
     
    -/**
    - * chfs_scan_check_vnode - check vnode crc and add to vnode cache
    - * @chmp: CHFS main descriptor structure
    - * @cheb: eraseblock informations
    - * @buf: vnode to check
    - * @ofs: offset in eraseblock where vnode starts
    - */
    +/* chfs_scan_check_vnode - check vnode crc and add it to vnode cache */
     int
     chfs_scan_check_vnode(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, void *buf, off_t ofs)
    @@ -131,6 +113,7 @@ chfs_scan_check_vnode(struct chfs_mount *chmp,
     	crc = crc32(0, (uint8_t *)vnode,
     	    sizeof(struct chfs_flash_vnode) - 4);
     
    +	/* check node crc */
     	if (crc != le32toh(vnode->node_crc)) {
     		err = chfs_update_eb_dirty(chmp,
     		    cheb, le32toh(vnode->length));
    @@ -143,6 +126,7 @@ chfs_scan_check_vnode(struct chfs_mount *chmp,
     
     	vno = le64toh(vnode->vno);
     
    +	/* find the corresponding vnode cache */
     	mutex_enter(&chmp->chm_lock_vnocache);
     	vc = chfs_vnode_cache_get(chmp, vno);
     	if (!vc) {
    @@ -152,7 +136,6 @@ chfs_scan_check_vnode(struct chfs_mount *chmp,
     			return ENOMEM;
     		}
     	}
    -	mutex_exit(&chmp->chm_lock_vnocache);
     
     	nref = chfs_alloc_node_ref(cheb);
     
    @@ -160,11 +143,9 @@ chfs_scan_check_vnode(struct chfs_mount *chmp,
     
     	KASSERT(nref->nref_lnr == cheb->lnr);
     
    -	/* Check version of vnode. */
    +	/* check version of vnode */
     	if ((struct chfs_vnode_cache *)vc->v != vc) {
     		if (le64toh(vnode->version) > *vc->vno_version) {
    -			//err = chfs_update_eb_dirty(chmp, &chmp->chm_blocks[vc->v->lnr],
    -			//		sizeof(struct chfs_flash_vnode));
     			*vc->vno_version = le64toh(vnode->version);
     			chfs_add_vnode_ref_to_vc(chmp, vc, nref);
     		} else {
    @@ -179,9 +160,10 @@ chfs_scan_check_vnode(struct chfs_mount *chmp,
     		*vc->vno_version = le64toh(vnode->version);
     		chfs_add_vnode_ref_to_vc(chmp, vc, nref);
     	}
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
    +	/* update sizes */
     	mutex_enter(&chmp->chm_lock_sizes);
    -	//dbg("B:lnr: %d |free_size: %d node's size: %d\n", cheb->lnr, cheb->free_size, le32toh(vnode->length));
     	chfs_change_size_free(chmp, cheb, -le32toh(vnode->length));
     	chfs_change_size_used(chmp, cheb, le32toh(vnode->length));
     	mutex_exit(&chmp->chm_lock_sizes);
    @@ -190,65 +172,33 @@ chfs_scan_check_vnode(struct chfs_mount *chmp,
     
     	KASSERT(cheb->used_size + cheb->free_size + cheb->dirty_size + cheb->unchecked_size + cheb->wasted_size == chmp->chm_ebh->eb_size);
     
    -	//dbg(" A: free_size: %d\n", cheb->free_size);
    -
    -	/*dbg("vnode dump:\n");
    -	  dbg(" ->magic:    0x%x\n", le16toh(vnode->magic));
    -	  dbg(" ->type:     %d\n", le16toh(vnode->type));
    -	  dbg(" ->length:   %d\n", le32toh(vnode->length));
    -	  dbg(" ->hdr_crc:  0x%x\n", le32toh(vnode->hdr_crc));
    -	  dbg(" ->vno:      %d\n", le64toh(vnode->vno));
    -	  dbg(" ->version:  %ld\n", le64toh(vnode->version));
    -	  dbg(" ->uid:      %d\n", le16toh(vnode->uid));
    -	  dbg(" ->gid:      %d\n", le16toh(vnode->gid));
    -	  dbg(" ->mode:     %d\n", le32toh(vnode->mode));
    -	  dbg(" ->dn_size:  %d\n", le32toh(vnode->dn_size));
    -	  dbg(" ->atime:    %d\n", le32toh(vnode->atime));
    -	  dbg(" ->mtime:    %d\n", le32toh(vnode->mtime));
    -	  dbg(" ->ctime:    %d\n", le32toh(vnode->ctime));
    -	  dbg(" ->dsize:    %d\n", le32toh(vnode->dsize));
    -	  dbg(" ->node_crc: 0x%x\n", le32toh(vnode->node_crc));*/
    -
     	return CHFS_NODE_OK;
     }
     
    +/* chfs_scan_mark_dirent_obsolete - marks a directory entry "obsolete" */
     int
     chfs_scan_mark_dirent_obsolete(struct chfs_mount *chmp,
         struct chfs_vnode_cache *vc, struct chfs_dirent *fd)
     {
    -	//int size;
     	struct chfs_eraseblock *cheb;
     	struct chfs_node_ref *prev, *nref;
     
     	nref = fd->nref;
     	cheb = &chmp->chm_blocks[fd->nref->nref_lnr];
     
    -	/* Remove dirent's node ref from vnode cache */
    +	/* remove dirent's node ref from vnode cache */
     	prev = vc->dirents;
     	if (prev && prev == nref) {
     		vc->dirents = prev->nref_next;
     	} else if (prev && prev != (void *)vc) {
    -		while (prev->nref_next && prev->nref_next !=
    -		    (void *)vc && prev->nref_next != nref) {
    +		while (prev->nref_next && prev->nref_next != (void *)vc) {
    +			if (prev->nref_next == nref) {
    +				prev->nref_next = nref->nref_next;
    +				break;
    +			}
     			prev = prev->nref_next;
     		}
    -
    -		if (prev->nref_next == nref) {
    -			prev->nref_next = nref->nref_next;
    -		}
     	}
    -	/*dbg("XXX - start\n");
    -	//nref = vc->dirents;
    -	struct chfs_dirent *tmp;
    -	tmp = vc->scan_dirents;
    -	while (tmp) {
    -	dbg(" ->tmp->name:    %s\n", tmp->name);
    -	dbg(" ->tmp->version: %ld\n", tmp->version);
    -	dbg(" ->tmp->vno: %d\n", tmp->vno);
    -	tmp = tmp->next;
    -	}
    -	dbg("XXX - end\n");*/
    -	//size = CHFS_PAD(sizeof(struct chfs_flash_dirent_node) + fd->nsize);
     
     	KASSERT(cheb->used_size + cheb->free_size + cheb->dirty_size +
     	    cheb->unchecked_size + cheb->wasted_size == chmp->chm_ebh->eb_size);
    @@ -256,6 +206,7 @@ chfs_scan_mark_dirent_obsolete(struct chfs_mount *chmp,
     	return 0;
     }
     
    +/* chfs_add_fd_to_list - adds a directory entry to its parent's vnode cache */
     void
     chfs_add_fd_to_list(struct chfs_mount *chmp,
         struct chfs_dirent *new, struct chfs_vnode_cache *pvc)
    @@ -263,11 +214,11 @@ chfs_add_fd_to_list(struct chfs_mount *chmp,
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     	int size;
     	struct chfs_eraseblock *cheb, *oldcheb;
    -//	struct chfs_dirent **prev;
     	struct chfs_dirent *fd, *tmpfd;
     
     	dbg("adding fd to list: %s\n", new->name);
     
    +	/* update highest version if needed */
     	if ((new->version > pvc->highest_version))
     		pvc->highest_version = new->version;
     
    @@ -284,7 +235,6 @@ chfs_add_fd_to_list(struct chfs_mount *chmp,
     		} else if (fd->nhash == new->nhash &&
     		    !strcmp(fd->name, new->name)) {
     			if (new->version > fd->version) {
    -//				new->next = fd->next;
     				/* replace fd with new */
     				TAILQ_INSERT_BEFORE(fd, new, fds);
     				chfs_change_size_free(chmp, cheb, -size);
    @@ -299,26 +249,13 @@ chfs_add_fd_to_list(struct chfs_mount *chmp,
     					chfs_change_size_dirty(chmp, oldcheb, size);
     				}
     				chfs_free_dirent(fd);
    -//				*prev = new;//XXX
     			} else {
    +				/* new dirent is older */
     				chfs_scan_mark_dirent_obsolete(chmp, pvc, new);
     				chfs_change_size_free(chmp, cheb, -size);
     				chfs_change_size_dirty(chmp, cheb, size);
     				chfs_free_dirent(new);
     			}
    -			/*dbg("START\n");
    -			  fd = pvc->scan_dirents;
    -			  while (fd) {
    -			  dbg("dirent dump:\n");
    -			  dbg(" ->vno:     %d\n", fd->vno);
    -			  dbg(" ->version: %ld\n", fd->version);
    -			  dbg(" ->nhash:   0x%x\n", fd->nhash);
    -			  dbg(" ->nsize:   %d\n", fd->nsize);
    -			  dbg(" ->name:    %s\n", fd->name);
    -			  dbg(" ->type:    %d\n", fd->type);
    -			  fd = fd->next;
    -			  }
    -			  dbg("END\n");*/
     			mutex_exit(&chmp->chm_lock_sizes);
     			return;
     		}
    @@ -327,38 +264,17 @@ chfs_add_fd_to_list(struct chfs_mount *chmp,
     	TAILQ_INSERT_TAIL(&pvc->scan_dirents, new, fds);
     
     out:
    -	//dbg("B:lnr: %d |free_size: %d size: %d\n", cheb->lnr, cheb->free_size, size);
    +	/* update sizes */
     	chfs_change_size_free(chmp, cheb, -size);
     	chfs_change_size_used(chmp, cheb, size);
     	mutex_exit(&chmp->chm_lock_sizes);
     
     	KASSERT(cheb->used_size <= chmp->chm_ebh->eb_size);
    -	//dbg(" A: free_size: %d\n", cheb->free_size);
     
     	KASSERT(cheb->used_size + cheb->free_size + cheb->dirty_size + cheb->unchecked_size + cheb->wasted_size == chmp->chm_ebh->eb_size);
    -
    -
    -//	fd = pvc->scan_dirents;
    -	/*dbg("START\n");
    -	  while (fd) {
    -	  dbg("dirent dump:\n");
    -	  dbg(" ->vno:     %d\n", fd->vno);
    -	  dbg(" ->version: %ld\n", fd->version);
    -	  dbg(" ->nhash:   0x%x\n", fd->nhash);
    -	  dbg(" ->nsize:   %d\n", fd->nsize);
    -	  dbg(" ->name:    %s\n", fd->name);
    -	  dbg(" ->type:    %d\n", fd->type);
    -	  fd = fd->next;
    -	  }
    -	  dbg("END\n");*/
     }
    -/**
    - * chfs_scan_check_dirent_node - check vnode crc and add to vnode cache
    - * @chmp: CHFS main descriptor structure
    - * @cheb: eraseblock informations
    - * @buf: directory entry to check
    - * @ofs: offset in eraseblock where dirent starts
    - */
    +
    +/* chfs_scan_check_dirent_node - check vnode crc and add to vnode cache */
     int
     chfs_scan_check_dirent_node(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, void *buf, off_t ofs)
    @@ -366,11 +282,10 @@ chfs_scan_check_dirent_node(struct chfs_mount *chmp,
     	int err, namelen;
     	uint32_t crc;
     	struct chfs_dirent *fd;
    -	struct chfs_vnode_cache *vc;
    +	struct chfs_vnode_cache *parentvc;
     	struct chfs_flash_dirent_node *dirent = buf;
     
    -	//struct chfs_node_ref *tmp;
    -
    +	/* check crc */
     	crc = crc32(0, (uint8_t *)dirent, sizeof(*dirent) - 4);
     	if (crc != le32toh(dirent->node_crc)) {
     		err = chfs_update_eb_dirty(chmp, cheb, le32toh(dirent->length));
    @@ -378,12 +293,15 @@ chfs_scan_check_dirent_node(struct chfs_mount *chmp,
     			return err;
     		return CHFS_NODE_BADCRC;
     	}
    +
    +	/* allocate space for name */
     	namelen = dirent->nsize;
     
     	fd = chfs_alloc_dirent(namelen + 1);
     	if (!fd)
     		return ENOMEM;
     
    +	/* allocate an nref */
     	fd->nref = chfs_alloc_node_ref(cheb);
     	if (!fd->nref)
     		return ENOMEM;
    @@ -404,79 +322,31 @@ chfs_scan_check_dirent_node(struct chfs_mount *chmp,
     		return CHFS_NODE_BADNAMECRC;
     	}
     
    -	/* Check vnode_cache of parent node */
    +	/* check vnode_cache of parent node */
     	mutex_enter(&chmp->chm_lock_vnocache);
    -	vc = chfs_scan_make_vnode_cache(chmp, le64toh(dirent->pvno));
    -	mutex_exit(&chmp->chm_lock_vnocache);
    -	if (!vc) {
    +	parentvc = chfs_scan_make_vnode_cache(chmp, le64toh(dirent->pvno));
    +	if (!parentvc) {
     		chfs_free_dirent(fd);
     		return ENOMEM;
     	}
     
     	fd->nref->nref_offset = ofs;
     
    -	dbg("add dirent to #%llu\n", (unsigned long long)vc->vno);
    -	chfs_add_node_to_list(chmp, vc, fd->nref, &vc->dirents);
    -	/*tmp = vc->dirents;
    -	  dbg("START|vno: %d dirents dump\n", vc->vno);
    -	  while (tmp) {
    -	  dbg(" ->nref->nref_lnr:    %d\n", tmp->lnr);
    -	  dbg(" ->nref->nref_offset: %d\n", tmp->offset);
    -	  tmp = tmp->next;
    -	  }
    -	  dbg("  END|vno: %d dirents dump\n", vc->vno);*/
    +	dbg("add dirent to #%llu\n", (unsigned long long)parentvc->vno);
    +	chfs_add_node_to_list(chmp, parentvc, fd->nref, &parentvc->dirents);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
    -//	fd->next = NULL;
     	fd->vno = le64toh(dirent->vno);
     	fd->version = le64toh(dirent->version);
     	fd->nhash = hash32_buf(fd->name, namelen, HASH32_BUF_INIT);
     	fd->type = dirent->dtype;
     
    -	/*dbg("dirent dump:\n");
    -	  dbg(" ->vno:     %d\n", fd->vno);
    -	  dbg(" ->version: %ld\n", fd->version);
    -	  dbg(" ->nhash:   0x%x\n", fd->nhash);
    -	  dbg(" ->nsize:   %d\n", fd->nsize);
    -	  dbg(" ->name:    %s\n", fd->name);
    -	  dbg(" ->type:    %d\n", fd->type);*/
    -
    -	chfs_add_fd_to_list(chmp, fd, vc);
    -
    -	/*struct chfs_node_ref *tmp;
    -	  tmp = vc->dirents;
    -	  dbg("START|vno: %d dirents dump\n", vc->vno);
    -	  while (tmp) {
    -	  dbg(" ->nref->nref_lnr:    %d\n", tmp->lnr);
    -	  dbg(" ->nref->nref_offset: %d\n", tmp->offset);
    -	  tmp = tmp->next;
    -	  }
    -	  dbg("  END|vno: %d dirents dump\n", vc->vno);*/
    -
    -	/*dbg("dirent dump:\n");
    -	  dbg(" ->magic:    0x%x\n", le16toh(dirent->magic));
    -	  dbg(" ->type:     %d\n", le16toh(dirent->type));
    -	  dbg(" ->length:   %d\n", le32toh(dirent->length));
    -	  dbg(" ->hdr_crc:  0x%x\n", le32toh(dirent->hdr_crc));
    -	  dbg(" ->vno:      %d\n", le64toh(dirent->vno));
    -	  dbg(" ->pvno:     %d\n", le64toh(dirent->pvno));
    -	  dbg(" ->version:  %ld\n", le64toh(dirent->version));
    -	  dbg(" ->mctime:   %d\n", le32toh(dirent->mctime));
    -	  dbg(" ->nsize:    %d\n", dirent->nsize);
    -	  dbg(" ->dtype:    %d\n", dirent->dtype);
    -	  dbg(" ->name_crc: 0x%x\n", le32toh(dirent->name_crc));
    -	  dbg(" ->node_crc: 0x%x\n", le32toh(dirent->node_crc));
    -	  dbg(" ->name:     %s\n", dirent->name);*/
    +	chfs_add_fd_to_list(chmp, fd, parentvc);
     
     	return CHFS_NODE_OK;
     }
     
    -/**
    - * chfs_scan_check_data_node - check vnode crc and add to vnode cache
    - * @chmp: CHFS main descriptor structure
    - * @cheb: eraseblock informations
    - * @buf: data node to check
    - * @ofs: offset in eraseblock where data node starts
    - */
    +/* chfs_scan_check_data_node - check vnode crc and add to vnode cache */
     int
     chfs_scan_check_data_node(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb, void *buf, off_t ofs)
    @@ -488,6 +358,7 @@ chfs_scan_check_data_node(struct chfs_mount *chmp,
     	struct chfs_vnode_cache *vc;
     	struct chfs_flash_data_node *dnode = buf;
     
    +	/* check crc */
     	crc = crc32(0, (uint8_t *)dnode, sizeof(struct chfs_flash_data_node) - 4);
     	if (crc != le32toh(dnode->node_crc)) {
     		err = chfs_update_eb_dirty(chmp, cheb, le32toh(dnode->length));
    @@ -495,7 +366,7 @@ chfs_scan_check_data_node(struct chfs_mount *chmp,
     			return err;
     		return CHFS_NODE_BADCRC;
     	}
    -	/**
    +	/*
     	 * Don't check data nodes crc and version here, it will be done in
     	 * the background GC thread.
     	 */
    @@ -503,7 +374,7 @@ chfs_scan_check_data_node(struct chfs_mount *chmp,
     	if (!nref)
     		return ENOMEM;
     
    -	nref->nref_offset = ofs | CHFS_UNCHECKED_NODE_MASK;
    +	nref->nref_offset = CHFS_GET_OFS(ofs) | CHFS_UNCHECKED_NODE_MASK;
     
     	KASSERT(nref->nref_lnr == cheb->lnr);
     
    @@ -515,11 +386,12 @@ chfs_scan_check_data_node(struct chfs_mount *chmp,
     		if (!vc)
     			return ENOMEM;
     	}
    -	mutex_exit(&chmp->chm_lock_vnocache);
     	chfs_add_node_to_list(chmp, vc, nref, &vc->dnode);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
     	dbg("chmpfree: %u, chebfree: %u, dnode: %u\n", chmp->chm_free_size, cheb->free_size, dnode->length);
     
    +	/* update sizes */
     	mutex_enter(&chmp->chm_lock_sizes);
     	chfs_change_size_free(chmp, cheb, -dnode->length);
     	chfs_change_size_unchecked(chmp, cheb, dnode->length);
    @@ -527,11 +399,7 @@ chfs_scan_check_data_node(struct chfs_mount *chmp,
     	return CHFS_NODE_OK;
     }
     
    -/**
    - * chfs_scan_classify_cheb - determine eraseblock's state
    - * @chmp: CHFS main descriptor structure
    - * @cheb: eraseblock to classify
    - */
    +/* chfs_scan_classify_cheb - determine eraseblock's state */
     int
     chfs_scan_classify_cheb(struct chfs_mount *chmp,
         struct chfs_eraseblock *cheb)
    @@ -547,10 +415,8 @@ chfs_scan_classify_cheb(struct chfs_mount *chmp,
     }
     
     
    -/**
    +/*
      * chfs_scan_eraseblock - scans an eraseblock and looking for nodes
    - * @chmp: CHFS main descriptor structure
    - * @cheb: eraseblock to scan
      *
      * This function scans a whole eraseblock, checks the nodes on it and add them
      * to the vnode cache.
    @@ -558,8 +424,8 @@ chfs_scan_classify_cheb(struct chfs_mount *chmp,
      */
     int
     chfs_scan_eraseblock(struct chfs_mount *chmp,
    -    struct chfs_eraseblock *cheb) {
    -
    +    struct chfs_eraseblock *cheb)
    +{
     	int err;
     	size_t len, retlen;
     	off_t ofs = 0;
    @@ -569,7 +435,6 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     	int read_free = 0;
     	struct chfs_node_ref *nref;
     
    -
     	dbg("scanning eraseblock content: %d free_size: %d\n", cheb->lnr, cheb->free_size);
     	dbg("scanned physical block: %d\n", chmp->chm_ebh->lmap[lnr]);
     	buf = kmem_alloc(CHFS_MAX_NODE_SIZE, KM_SLEEP);
    @@ -591,7 +456,7 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     
     		/* first we check if the buffer we read is full with 0xff, if yes maybe
     		 * the blocks remaining area is free. We increase read_free and if it
    -		 * reaches MAX_READ_FREE we stop reading the block*/
    +		 * reaches MAX_READ_FREE we stop reading the block */
     		if (check_pattern(buf, 0xff, 0, CHFS_NODE_HDR_SIZE)) {
     			read_free += CHFS_NODE_HDR_SIZE;
     			if (read_free >= MAX_READ_FREE(chmp)) {
    @@ -625,8 +490,8 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     		}
     		switch (le16toh(nhdr->type)) {
     		case CHFS_NODETYPE_VNODE:
    -			/* Read up the node */
    -			//dbg("nodetype vnode\n");
    +		/* vnode information */
    +			/* read up the node */
     			len = le32toh(nhdr->length) - CHFS_NODE_HDR_SIZE;
     			err = chfs_read_leb(chmp,
     			    lnr, buf + CHFS_NODE_HDR_SIZE,
    @@ -647,11 +512,10 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     				return err;
     			}
     
    -			//dbg("XXX5end\n");
     			break;
     		case CHFS_NODETYPE_DIRENT:
    -			/* Read up the node */
    -			//dbg("nodetype dirent\n");
    +		/* directory entry */
    +			/* read up the node */
     			len = le32toh(nhdr->length) - CHFS_NODE_HDR_SIZE;
     
     			err = chfs_read_leb(chmp,
    @@ -675,10 +539,9 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     				return err;
     			}
     
    -			//dbg("XXX6end\n");
     			break;
     		case CHFS_NODETYPE_DATA:
    -			//dbg("nodetype data\n");
    +		/* data node */
     			len = sizeof(struct chfs_flash_data_node) -
     			    CHFS_NODE_HDR_SIZE;
     			err = chfs_read_leb(chmp,
    @@ -699,12 +562,9 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     			if (err)
     				return err;
     
    -			//dbg("XXX7end\n");
     			break;
     		case CHFS_NODETYPE_PADDING:
    -			//dbg("nodetype padding\n");
    -			//dbg("padding len: %d\n", le32toh(nhdr->length));
    -			//dbg("BEF: cheb->free_size: %d\n", cheb->free_size);
    +		/* padding node, set size and update dirty */
     			nref = chfs_alloc_node_ref(cheb);
     			nref->nref_offset = ofs - CHFS_NODE_HDR_SIZE;
     			nref->nref_offset = CHFS_GET_OFS(nref->nref_offset) |
    @@ -712,21 +572,17 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     
     			err = chfs_update_eb_dirty(chmp, cheb,
     			    le32toh(nhdr->length));
    -			//dbg("AFT: cheb->free_size: %d\n", cheb->free_size);
     			if (err)
     				return err;
     
    -			//dbg("XXX8end\n");
     			break;
     		default:
    -			//dbg("nodetype ? (default)\n");
    -			/* Unknown node type, update dirty and skip */
    +		/* unknown node type, update dirty and skip */
     			err = chfs_update_eb_dirty(chmp, cheb,
     			    le32toh(nhdr->length));
     			if (err)
     				return err;
     
    -			//dbg("XXX9end\n");
     			break;
     		}
     		ofs += le32toh(nhdr->length) - CHFS_NODE_HDR_SIZE;
    @@ -735,6 +591,5 @@ chfs_scan_eraseblock(struct chfs_mount *chmp,
     	KASSERT(cheb->used_size + cheb->free_size + cheb->dirty_size +
     	    cheb->unchecked_size + cheb->wasted_size == chmp->chm_ebh->eb_size);
     
    -	//dbg("XXX10\n");
     	return chfs_scan_classify_cheb(chmp, cheb);
     }
    diff --git a/sys/ufs/chfs/chfs_subr.c b/sys/ufs/chfs/chfs_subr.c
    index 00cd82f32..1a332a416 100644
    --- a/sys/ufs/chfs/chfs_subr.c
    +++ b/sys/ufs/chfs/chfs_subr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_subr.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_subr.c,v 1.9 2013/10/20 17:18:38 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -32,10 +32,6 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * Efficient memory file system supporting functions.
    - */
    -
     #include 
     
     #include 
    @@ -56,13 +52,12 @@
     #include 
     
     #include 
    +#include 
     #include "chfs.h"
    -//#include 
    -//#include 
     
    -/* --------------------------------------------------------------------- */
     
     /*
    + * chfs_mem_info -
      * Returns information about the number of available memory pages,
      * including physical and virtual ones.
      *
    @@ -96,9 +91,8 @@ chfs_mem_info(bool total)
     }
     
     
    -/* --------------------------------------------------------------------- */
    -
     /*
    + * chfs_dir_lookup -
      * Looks for a directory entry in the directory represented by node.
      * 'cnp' describes the name of the entry to look for.  Note that the .
      * and .. components are not allowed as they do not physically exist
    @@ -116,40 +110,30 @@ chfs_dir_lookup(struct chfs_inode *ip, struct componentname *cnp)
     	KASSERT(IMPLIES(cnp->cn_namelen == 1, cnp->cn_nameptr[0] != '.'));
     	KASSERT(IMPLIES(cnp->cn_namelen == 2, !(cnp->cn_nameptr[0] == '.' &&
     		    cnp->cn_nameptr[1] == '.')));
    -	//CHFS_VALIDATE_DIR(node);
    -
    -	//node->chn_status |= CHFS_NODE_ACCESSED;
     
     	found = false;
    -//	fd = ip->dents;
    -//	while(fd) {
     	TAILQ_FOREACH(fd, &ip->dents, fds) {
     		KASSERT(cnp->cn_namelen < 0xffff);
     		if (fd->vno == 0)
     			continue;
    -		/*dbg("dirent dump:\n");
    -		  dbg(" ->vno:     %d\n", fd->vno);
    -		  dbg(" ->version: %ld\n", fd->version);
    -		  dbg(" ->nhash:   0x%x\n", fd->nhash);
    -		  dbg(" ->nsize:   %d\n", fd->nsize);
    -		  dbg(" ->name:    %s\n", fd->name);
    -		  dbg(" ->type:    %d\n", fd->type);*/
     		if (fd->nsize == (uint16_t)cnp->cn_namelen &&
     		    memcmp(fd->name, cnp->cn_nameptr, fd->nsize) == 0) {
     			found = true;
     			break;
     		}
    -//		fd = fd->next;
     	}
     
     	return found ? fd : NULL;
     }
     
    -/* --------------------------------------------------------------------- */
    -
    +/*
    + * chfs_filldir - 
    + * Creates a (kernel) dirent and moves it to the given memory address.
    + * Used during readdir.
    + */
     int
     chfs_filldir(struct uio* uio, ino_t ino, const char *name,
    -    int namelen, enum vtype type)
    +    int namelen, enum chtype type)
     {
     	struct dirent dent;
     	int error;
    @@ -158,31 +142,31 @@ chfs_filldir(struct uio* uio, ino_t ino, const char *name,
     
     	dent.d_fileno = ino;
     	switch (type) {
    -	case VBLK:
    +	case CHT_BLK:
     		dent.d_type = DT_BLK;
     		break;
     
    -	case VCHR:
    +	case CHT_CHR:
     		dent.d_type = DT_CHR;
     		break;
     
    -	case VDIR:
    +	case CHT_DIR:
     		dent.d_type = DT_DIR;
     		break;
     
    -	case VFIFO:
    +	case CHT_FIFO:
     		dent.d_type = DT_FIFO;
     		break;
     
    -	case VLNK:
    +	case CHT_LNK:
     		dent.d_type = DT_LNK;
     		break;
     
    -	case VREG:
    +	case CHT_REG:
     		dent.d_type = DT_REG;
     		break;
     
    -	case VSOCK:
    +	case CHT_SOCK:
     		dent.d_type = DT_SOCK;
     		break;
     
    @@ -202,11 +186,8 @@ chfs_filldir(struct uio* uio, ino_t ino, const char *name,
     	return error;
     }
     
    -
    -/* --------------------------------------------------------------------- */
    -
     /*
    - * Change size of the given vnode.
    + * chfs_chsize - change size of the given vnode
      * Caller should execute chfs_update on vp after a successful execution.
      * The vnode must be locked on entry and remain locked on exit.
      */
    @@ -215,28 +196,23 @@ chfs_chsize(struct vnode *vp, u_quad_t size, kauth_cred_t cred)
     {
     	struct chfs_mount *chmp;
     	struct chfs_inode *ip;
    -	struct buf *bp;
    -	int blknum, append;
    -	int error = 0;
    -	char *buf = NULL;
    -	struct chfs_full_dnode *fd;
     
     	ip = VTOI(vp);
     	chmp = ip->chmp;
     
     	dbg("chfs_chsize\n");
     
    -	switch (vp->v_type) {
    -	case VDIR:
    +	switch (ip->ch_type) {
    +	case CHT_DIR:
     		return EISDIR;
    -	case VLNK:
    -	case VREG:
    +	case CHT_LNK:
    +	case CHT_REG:
     		if (vp->v_mount->mnt_flag & MNT_RDONLY)
     			return EROFS;
     		break;
    -	case VBLK:
    -	case VCHR:
    -	case VFIFO:
    +	case CHT_BLK:
    +	case CHT_CHR:
    +	case CHT_FIFO:
     		return 0;
     	default:
     		return EOPNOTSUPP; /* XXX why not ENODEV? */
    @@ -245,190 +221,71 @@ chfs_chsize(struct vnode *vp, u_quad_t size, kauth_cred_t cred)
     	vflushbuf(vp, 0);
     
     	mutex_enter(&chmp->chm_lock_mountfields);
    -	chfs_flush_pending_wbuf(chmp);
     
    -	/* handle truncate to zero as a special case */
    -	if (size == 0) {
    -		dbg("truncate to zero");
    -		chfs_truncate_fragtree(ip->chmp,
    -		    &ip->fragtree, size);
    +	if (ip->size < size) {
    +		uvm_vnp_setsize(vp, size);
     		chfs_set_vnode_size(vp, size);
    +		ip->iflag |= IN_CHANGE | IN_UPDATE;
     
     		mutex_exit(&chmp->chm_lock_mountfields);
    -
     		return 0;
     	}
     
    -
    -	/* allocate zeros for the new data */
    -	buf = kmem_zalloc(size, KM_SLEEP);
    -	bp = getiobuf(vp, true);
    -
    -	if (ip->size != 0) {
    -		/* read the whole data */
    -		bp->b_blkno = 0;
    -		bp->b_bufsize = bp->b_resid = bp->b_bcount = ip->size;
    -		bp->b_data = kmem_alloc(ip->size, KM_SLEEP);
    -
    -		error = chfs_read_data(chmp, vp, bp);
    -		if (error) {
    -			mutex_exit(&chmp->chm_lock_mountfields);
    -			putiobuf(bp);
    -
    -			return error;
    -		}
    -
    -		/* create the new data */
    -		dbg("create new data vap%llu ip%llu\n",
    -			(unsigned long long)size, (unsigned long long)ip->size);
    -		append = size - ip->size;
    -		if (append > 0) {
    -			memcpy(buf, bp->b_data, ip->size);
    -		} else {
    -			memcpy(buf, bp->b_data, size);
    -			chfs_truncate_fragtree(ip->chmp,
    -				&ip->fragtree, size);
    -		}
    -
    -		kmem_free(bp->b_data, ip->size);
    -
    -		struct chfs_node_frag *lastfrag = frag_last(&ip->fragtree);
    -		fd = lastfrag->node;
    -		chfs_mark_node_obsolete(chmp, fd->nref);
    -
    -		blknum = lastfrag->ofs / PAGE_SIZE;
    -		lastfrag->size = append > PAGE_SIZE ? PAGE_SIZE : size % PAGE_SIZE;
    -	} else {
    -		fd = chfs_alloc_full_dnode();
    -		blknum = 0;
    +	if (size != 0) {
    +		ubc_zerorange(&vp->v_uobj, size, ip->size - size, UBC_UNMAP_FLAG(vp));
     	}
    +	
    +	/* drop unused fragments */
    +	chfs_truncate_fragtree(ip->chmp, &ip->fragtree, size);
     
    +	uvm_vnp_setsize(vp, size);
     	chfs_set_vnode_size(vp, size);
    -
    -	// write the new data
    -	for (bp->b_blkno = blknum; bp->b_blkno * PAGE_SIZE < size; bp->b_blkno++) {
    -		uint64_t writesize = MIN(size - bp->b_blkno * PAGE_SIZE, PAGE_SIZE);
    -
    -		bp->b_bufsize = bp->b_resid = bp->b_bcount = writesize;
    -		bp->b_data = kmem_alloc(writesize, KM_SLEEP);
    -
    -		memcpy(bp->b_data, buf + (bp->b_blkno * PAGE_SIZE), writesize);
    -
    -		if (bp->b_blkno != blknum) {
    -			fd = chfs_alloc_full_dnode();
    -		}
    -
    -		error = chfs_write_flash_dnode(chmp, vp, bp, fd);
    -		if (error) {
    -			mutex_exit(&chmp->chm_lock_mountfields);
    -			kmem_free(bp->b_data, writesize);
    -			putiobuf(bp);
    -
    -			return error;
    -		}
    -		if (bp->b_blkno != blknum) {
    -			chfs_add_full_dnode_to_inode(chmp, ip, fd);
    -		}
    -		kmem_free(bp->b_data, writesize);
    -	}
    -
    +	ip->iflag |= IN_CHANGE | IN_UPDATE;
     	mutex_exit(&chmp->chm_lock_mountfields);
    -
    -	kmem_free(buf, size);
    -	putiobuf(bp);
    -
     	return 0;
     }
    -#if 0
    -	int error;
    -	struct chfs_node *node;
    -
    -	KASSERT(VOP_ISLOCKED(vp));
    -
    -	node = VP_TO_CHFS_NODE(vp);
    -
    -	// Decide whether this is a valid operation based on the file type.
    -	error = 0;
    -	switch (vp->v_type) {
    -	case VDIR:
    -		return EISDIR;
    -
    -	case VREG:
    -		if (vp->v_mount->mnt_flag & MNT_RDONLY)
    -			return EROFS;
    -		break;
    -
    -	case VBLK:
    -	case VCHR:
    -	case VFIFO:
    -		// Allow modifications of special files even if in the file
    -		// system is mounted read-only (we are not modifying the
    -		// files themselves, but the objects they represent).
    -		return 0;
    -
    -	default:
    -		return ENODEV;
    -	}
    -
    -	// Immutable or append-only files cannot be modified, either.
    -	if (node->chn_flags & (IMMUTABLE | APPEND))
    -		return EPERM;
    -
    -	error = chfs_truncate(vp, size);
    -	// chfs_truncate will raise the NOTE_EXTEND and NOTE_ATTRIB kevents
    -	// for us, as will update dn_status; no need to do that here.
    -
    -	KASSERT(VOP_ISLOCKED(vp));
    -
    -	return error;
    -#endif
    -
    -/* --------------------------------------------------------------------- */
     
     /*
    - * Change flags of the given vnode.
    + * chfs_chflags - change flags of the given vnode
      * Caller should execute chfs_update on vp after a successful execution.
      * The vnode must be locked on entry and remain locked on exit.
      */
     int
     chfs_chflags(struct vnode *vp, int flags, kauth_cred_t cred)
     {
    -	struct chfs_mount *chmp;
     	struct chfs_inode *ip;
     	int error = 0;
    +	kauth_action_t action = KAUTH_VNODE_WRITE_FLAGS;
    +	bool changing_sysflags = false;
     
     	ip = VTOI(vp);
    -	chmp = ip->chmp;
     
     	if (vp->v_mount->mnt_flag & MNT_RDONLY)
     		return EROFS;
     
    -	if (kauth_cred_geteuid(cred) != ip->uid &&
    -	    (error = kauth_authorize_generic(cred,
    -		KAUTH_GENERIC_ISSUSER, NULL)))
    +	if ((flags & SF_SNAPSHOT) != (ip->flags & SF_SNAPSHOT))
    +		return EPERM;
    +
    +	/* Indicate we're changing system flags if we are. */
    +	if ((ip->flags & SF_SETTABLE) != (flags & SF_SETTABLE) ||
    +	    (flags & UF_SETTABLE) != flags) {
    +		action |= KAUTH_VNODE_WRITE_SYSFLAGS;
    +		changing_sysflags = true;
    +	}
    +
    +	/* Indicate the node has system flags if it does. */
    +	if (ip->flags & (SF_IMMUTABLE | SF_APPEND)) {
    +		action |= KAUTH_VNODE_HAS_SYSFLAGS;
    +	}
    +
    +	error = kauth_authorize_vnode(cred, action, vp, NULL,
    +	    genfs_can_chflags(cred, CHTTOVT(ip->ch_type), ip->uid, changing_sysflags));
    +	if (error)
     		return error;
     
    -	if (kauth_authorize_generic(cred, KAUTH_GENERIC_ISSUSER,
    -		NULL) == 0) {
    -		if ((ip->flags & (SF_IMMUTABLE | SF_APPEND)) &&
    -		    kauth_authorize_system(curlwp->l_cred,
    -			KAUTH_SYSTEM_CHSYSFLAGS, 0, NULL, NULL, NULL))
    -			return EPERM;
    -
    -		if ((flags & SF_SNAPSHOT) !=
    -		    (ip->flags & SF_SNAPSHOT))
    -			return EPERM;
    -
    +	if (changing_sysflags) {
     		ip->flags = flags;
     	} else {
    -		if ((ip->flags & (SF_IMMUTABLE | SF_APPEND)) ||
    -		    (flags & UF_SETTABLE) != flags)
    -			return EPERM;
    -
    -		if ((ip->flags & SF_SETTABLE) !=
    -		    (flags & SF_SETTABLE))
    -			return EPERM;
    -
     		ip->flags &= SF_SETTABLE;
     		ip->flags |= (flags & UF_SETTABLE);
     	}
    @@ -443,13 +300,12 @@ chfs_chflags(struct vnode *vp, int flags, kauth_cred_t cred)
     	return error;
     }
     
    -/* --------------------------------------------------------------------- */
     
    +/* chfs_itimes - updates a vnode times to the given data */
     void
     chfs_itimes(struct chfs_inode *ip, const struct timespec *acc,
         const struct timespec *mod, const struct timespec *cre)
     {
    -	//dbg("itimes\n");
     	struct timespec now;
     
     	if (!(ip->iflag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY))) {
    @@ -466,7 +322,6 @@ chfs_itimes(struct chfs_inode *ip, const struct timespec *acc,
     		if (mod == NULL)
     			mod = &now;
     		ip->mtime = mod->tv_sec;
    -		//ip->i_modrev++;
     	}
     	if (ip->iflag & (IN_CHANGE | IN_MODIFY)) {
     		if (cre == NULL)
    @@ -480,61 +335,18 @@ chfs_itimes(struct chfs_inode *ip, const struct timespec *acc,
     	ip->iflag &= ~(IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY);
     }
     
    -/* --------------------------------------------------------------------- */
    -
    +/* chfs_update - updates a vnode times */
     int
     chfs_update(struct vnode *vp, const struct timespec *acc,
         const struct timespec *mod, int flags)
     {
    -
     	struct chfs_inode *ip;
     
     	/* XXX ufs_reclaim calls this function unlocked! */
    -//	KASSERT(VOP_ISLOCKED(vp));
    -
    -#if 0
    -	if (flags & UPDATE_CLOSE)
    -		; /* XXX Need to do anything special? */
    -#endif
     
     	ip = VTOI(vp);
     	chfs_itimes(ip, acc, mod, NULL);
     
    -//	KASSERT(VOP_ISLOCKED(vp));
     	return (0);
     }
     
    -/* --------------------------------------------------------------------- */
    -/*
    -  int
    -  chfs_truncate(struct vnode *vp, off_t length)
    -  {
    -  bool extended;
    -  int error;
    -  struct chfs_node *node;
    -  printf("CHFS: truncate()\n");
    -
    -  node = VP_TO_CHFS_NODE(vp);
    -  extended = length > node->chn_size;
    -
    -  if (length < 0) {
    -  error = EINVAL;
    -  goto out;
    -  }
    -
    -  if (node->chn_size == length) {
    -  error = 0;
    -  goto out;
    -  }
    -
    -  error = chfs_reg_resize(vp, length);
    -  if (error == 0)
    -  node->chn_status |= CHFS_NODE_CHANGED | CHFS_NODE_MODIFIED;
    -
    -  out:
    -  chfs_update(vp, NULL, NULL, 0);
    -
    -  return error;
    -  }*/
    -
    -
    diff --git a/sys/ufs/chfs/chfs_vfsops.c b/sys/ufs/chfs/chfs_vfsops.c
    index a08d15fb7..4888e0a79 100644
    --- a/sys/ufs/chfs/chfs_vfsops.c
    +++ b/sys/ufs/chfs/chfs_vfsops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_vfsops.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_vfsops.c,v 1.9 2013/10/20 17:18:38 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -56,13 +56,10 @@
     #include 
     #include 
     #include 
    -//#include 
     #include 
     #include 
     #include 
     #include 
    -//#include 
    -//#include 
     #include "chfs.h"
     #include "chfs_args.h"
     
    @@ -103,13 +100,6 @@ const struct genfs_ops chfs_genfsops = {
     	.gop_markupdate = ufs_gop_markupdate,
     };
     
    -/*
    -static const struct ufs_ops chfs_ufsops = {
    -	.uo_itimes = chfs_itimes,
    -	.uo_update = chfs_update,
    -};
    -*/
    -
     struct pool chfs_inode_pool;
     
     /* for looking up the major for flash */
    @@ -158,17 +148,13 @@ chfs_mount(struct mount *mp,
     		if (err) {
     			return err;
     		}
    -		/*
    -		 * Look up the name and verify that it's sane.
    -		 */
    +		/* Look up the name and verify that it's sane. */
     		NDINIT(&nd, LOOKUP, FOLLOW, pb);
     		if ((err = namei(&nd)) != 0 )
     			return (err);
     		devvp = nd.ni_vp;
     
    -		/*
    -		 * Be sure this is a valid block device
    -		 */
    +		/* Be sure this is a valid block device */
     		if (devvp->v_type != VBLK)
     			err = ENOTBLK;
     		else if (bdevsw_lookup(devvp->v_rdev) == NULL)
    @@ -189,7 +175,7 @@ chfs_mount(struct mount *mp,
     	if (err)
     		goto fail;
     
    -
    +	/* call CHFS mount function */
     	err = chfs_mountfs(devvp, mp);
     	if (err) {
     		vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    @@ -197,6 +183,7 @@ chfs_mount(struct mount *mp,
     		VOP_UNLOCK(devvp);
     		goto fail;
     	}
    +
     	ump = VFSTOUFS(mp);
     	chmp = ump->um_chfs;
     
    @@ -212,12 +199,11 @@ fail:
     	return (err);
     }
     
    -
    +/* chfs_mountfs - init CHFS */
     int
     chfs_mountfs(struct vnode *devvp, struct mount *mp)
     {
     	struct lwp *l = curlwp;
    -	struct proc *p;
     	kauth_cred_t cred;
     	devmajor_t flash_major;
     	dev_t dev;
    @@ -229,7 +215,6 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	dbg("mountfs()\n");
     
     	dev = devvp->v_rdev;
    -	p = l ? l->l_proc : NULL;
     	cred = l ? l->l_cred : NOCRED;
     
     	/* Flush out any old buffers remaining from a previous use. */
    @@ -239,6 +224,7 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	if (err)
     		return (err);
     
    +	/* Setup device. */
     	flash_major = cdevsw_lookup_major(&flash_cdevsw);
     
     	if (devvp->v_type != VBLK)
    @@ -255,53 +241,40 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     		return (err);
     	}
     
    -	ump = malloc(sizeof(*ump), M_UFSMNT, M_WAITOK);
    -	memset(ump, 0, sizeof(*ump));
    -	ump->um_fstype = UFS1;
    -	//ump->um_ops = &chfs_ufsops;
    -	ump->um_chfs = malloc(sizeof(struct chfs_mount),
    -	    M_UFSMNT, M_WAITOK);
    -	memset(ump->um_chfs, 0, sizeof(struct chfs_mount));
    +	/* Connect CHFS to UFS. */
    +	ump = kmem_zalloc(sizeof(struct ufsmount), KM_SLEEP);
     
    +	ump->um_fstype = UFS1;
    +	ump->um_chfs = kmem_zalloc(sizeof(struct chfs_mount), KM_SLEEP);
     	mutex_init(&ump->um_lock, MUTEX_DEFAULT, IPL_NONE);
     
    -	/* Get superblock and set flash device number */
     	chmp = ump->um_chfs;
    -	if (!chmp)
    -		return ENOMEM;
     
    +	/* Initialize erase block handler. */
     	chmp->chm_ebh = kmem_alloc(sizeof(struct chfs_ebh), KM_SLEEP);
     
     	dbg("[]opening flash: %u\n", (unsigned int)devvp->v_rdev);
     	err = ebh_open(chmp->chm_ebh, devvp->v_rdev);
     	if (err) {
     		dbg("error while opening flash\n");
    -		kmem_free(chmp->chm_ebh, sizeof(struct chfs_ebh));
    -		free(chmp, M_UFSMNT);
    -		return err;
    +		goto fail;
     	}
     
     	//TODO check flash sizes
     
    +	/* Initialize vnode cache's hashtable and eraseblock array. */
     	chmp->chm_gbl_version = 0;
     	chmp->chm_vnocache_hash = chfs_vnocache_hash_init();
     
     	chmp->chm_blocks = kmem_zalloc(chmp->chm_ebh->peb_nr *
     	    sizeof(struct chfs_eraseblock), KM_SLEEP);
     
    -	if (!chmp->chm_blocks) {
    -		kmem_free(chmp->chm_ebh, chmp->chm_ebh->peb_nr *
    -		    sizeof(struct chfs_eraseblock));
    -		ebh_close(chmp->chm_ebh);
    -		free(chmp, M_UFSMNT);
    -		return ENOMEM;
    -	}
    -
    +	/* Initialize mutexes. */
     	mutex_init(&chmp->chm_lock_mountfields, MUTEX_DEFAULT, IPL_NONE);
     	mutex_init(&chmp->chm_lock_sizes, MUTEX_DEFAULT, IPL_NONE);
     	mutex_init(&chmp->chm_lock_vnocache, MUTEX_DEFAULT, IPL_NONE);
     
    -	//XXX
    +	/* Initialize read/write contants. (from UFS) */
     	chmp->chm_fs_bmask = -4096;
     	chmp->chm_fs_bsize = 4096;
     	chmp->chm_fs_qbmask = 4095;
    @@ -309,12 +282,13 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	chmp->chm_fs_fmask = -2048;
     	chmp->chm_fs_qfmask = 2047;
     
    +	/* Initialize writebuffer. */
     	chmp->chm_wbuf_pagesize = chmp->chm_ebh->flash_if->page_size;
     	dbg("wbuf size: %zu\n", chmp->chm_wbuf_pagesize);
     	chmp->chm_wbuf = kmem_alloc(chmp->chm_wbuf_pagesize, KM_SLEEP);
     	rw_init(&chmp->chm_lock_wbuf);
     
    -	//init queues
    +	/* Initialize queues. */
     	TAILQ_INIT(&chmp->chm_free_queue);
     	TAILQ_INIT(&chmp->chm_clean_queue);
     	TAILQ_INIT(&chmp->chm_dirty_queue);
    @@ -322,8 +296,10 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	TAILQ_INIT(&chmp->chm_erasable_pending_wbuf_queue);
     	TAILQ_INIT(&chmp->chm_erase_pending_queue);
     
    +	/* Initialize flash-specific constants. */
     	chfs_calc_trigger_levels(chmp);
     
    +	/* Initialize sizes. */
     	chmp->chm_nr_free_blocks = 0;
     	chmp->chm_nr_erasable_blocks = 0;
     	chmp->chm_max_vno = 2;
    @@ -333,17 +309,19 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	chmp->chm_dirty_size = 0;
     	chmp->chm_wasted_size = 0;
     	chmp->chm_free_size = chmp->chm_ebh->eb_size * chmp->chm_ebh->peb_nr;
    +
    +	/* Build filesystem. */
     	err = chfs_build_filesystem(chmp);
     
     	if (err) {
    +		/* Armageddon and return. */
     		chfs_vnocache_hash_destroy(chmp->chm_vnocache_hash);
    -		kmem_free(chmp->chm_ebh, chmp->chm_ebh->peb_nr *
    -		    sizeof(struct chfs_eraseblock));
     		ebh_close(chmp->chm_ebh);
    -		free(chmp, M_UFSMNT);
    -		return EIO;
    +		err = EIO;
    +		goto fail;
     	}
     
    +	/* Initialize UFS. */
     	mp->mnt_data = ump;
     	mp->mnt_stat.f_fsidx.__fsid_val[0] = (long)dev;
     	mp->mnt_stat.f_fsidx.__fsid_val[1] = makefstype(MOUNT_CHFS);
    @@ -358,19 +336,8 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	ump->um_dev = dev;
     	ump->um_devvp = devvp;
     	ump->um_maxfilesize = 1048512 * 1024;
    -	/*TODO fill these fields
    -	  ump->um_nindir =
    -	  ump->um_lognindir =
    -	  ump->um_bptrtodb =
    -	  ump->um_seqinc =
    -	  ump->um_maxsymlinklen =
    -	  ump->um_dirblksiz =
    -	  ump->um_maxfilesize =
    -	*/
     
    -	/*
    -	 * Allocate the root vnode.
    -	 */
    +	/* Allocate the root vnode. */
     	err = VFS_VGET(mp, CHFS_ROOTINO, &vp);
     	if (err) {
     		dbg("error: %d while allocating root node\n", err);
    @@ -378,25 +345,30 @@ chfs_mountfs(struct vnode *devvp, struct mount *mp)
     	}
     	vput(vp);
     
    +	/* Start GC. */
     	chfs_gc_thread_start(chmp);
     	mutex_enter(&chmp->chm_lock_mountfields);
     	chfs_gc_trigger(chmp);
     	mutex_exit(&chmp->chm_lock_mountfields);
     
    -	devvp->v_specmountpoint = mp;
    +	spec_node_setmountedfs(devvp, mp);
     	return 0;
    +
    +fail:
    +	kmem_free(chmp->chm_ebh, sizeof(struct chfs_ebh));
    +	kmem_free(chmp, sizeof(struct chfs_mount));
    +	kmem_free(ump, sizeof(struct ufsmount));
    +	return err;
     }
     
     /* --------------------------------------------------------------------- */
     
    -/* ARGSUSED2 */
     static int
     chfs_unmount(struct mount *mp, int mntflags)
     {
     	int flags = 0, i = 0;
     	struct ufsmount *ump;
     	struct chfs_mount *chmp;
    -//	struct chfs_vnode_cache *vc, *next;
     
     	if (mntflags & MNT_FORCE)
     		flags |= FORCECLOSE;
    @@ -406,8 +378,10 @@ chfs_unmount(struct mount *mp, int mntflags)
     	ump = VFSTOUFS(mp);
     	chmp = ump->um_chfs;
     
    +	/* Stop GC. */
     	chfs_gc_thread_stop(chmp);
     
    +	/* Flush everyt buffer. */
     	(void)vflush(mp, NULLVP, flags);
     
     	if (chmp->chm_wbuf_len) {
    @@ -416,21 +390,26 @@ chfs_unmount(struct mount *mp, int mntflags)
     		mutex_exit(&chmp->chm_lock_mountfields);
     	}
     
    +	/* Free node references. */
     	for (i = 0; i < chmp->chm_ebh->peb_nr; i++) {
     		chfs_free_node_refs(&chmp->chm_blocks[i]);
     	}
     
    +	/* Destroy vnode cache hashtable. */
     	chfs_vnocache_hash_destroy(chmp->chm_vnocache_hash);
     
    +	/* Close eraseblock handler. */
     	ebh_close(chmp->chm_ebh);
     
    +	/* Destroy mutexes. */
     	rw_destroy(&chmp->chm_lock_wbuf);
     	mutex_destroy(&chmp->chm_lock_vnocache);
     	mutex_destroy(&chmp->chm_lock_sizes);
     	mutex_destroy(&chmp->chm_lock_mountfields);
     
    +	/* Unmount UFS. */
     	if (ump->um_devvp->v_type != VBAD) {
    -		ump->um_devvp->v_specmountpoint = NULL;
    +		spec_node_setmountedfs(ump->um_devvp, NULL);
     	}
     	vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY);
     	(void)VOP_CLOSE(ump->um_devvp, FREAD|FWRITE, NOCRED);
    @@ -438,8 +417,8 @@ chfs_unmount(struct mount *mp, int mntflags)
     
     	mutex_destroy(&ump->um_lock);
     
    -	//free(ump->um_chfs, M_UFSMNT);
    -	free(ump, M_UFSMNT);
    +	/* Everything done. */
    +	kmem_free(ump, sizeof(struct ufsmount));
     	mp->mnt_data = NULL;
     	mp->mnt_flag &= ~MNT_LOCAL;
     	dbg("[END]\n");
    @@ -454,7 +433,7 @@ chfs_root(struct mount *mp, struct vnode **vpp)
     	struct vnode *vp;
     	int error;
     
    -	if ((error = VFS_VGET(mp, (ino_t)ROOTINO, &vp)) != 0)
    +	if ((error = VFS_VGET(mp, (ino_t)UFS_ROOTINO, &vp)) != 0)
     		return error;
     	*vpp = vp;
     	return 0;
    @@ -486,6 +465,7 @@ retry:
     		vpp = kmem_alloc(sizeof(struct vnode*), KM_SLEEP);
     	}
     
    +	/* Get node from inode hash. */
     	if ((*vpp = chfs_ihashget(dev, ino, LK_EXCLUSIVE)) != NULL) {
     		return 0;
     	}
    @@ -508,9 +488,11 @@ retry:
     
     	vp->v_vflag |= VV_LOCKSWORK;
     
    +	/* Initialize vnode/inode. */
     	memset(ip, 0, sizeof(*ip));
     	vp->v_data = ip;
     	ip->vp = vp;
    +	ip->ch_type = VTTOCHT(vp->v_type);
     	ip->ump = ump;
     	ip->chmp = chmp = ump->um_chfs;
     	ip->dev = dev;
    @@ -519,38 +501,36 @@ retry:
     	genfs_node_init(vp, &chfs_genfsops);
     
     	rb_tree_init(&ip->fragtree, &frag_rbtree_ops);
    -	//mutex_init(&ip->inode_lock, MUTEX_DEFAULT, IPL_NONE);
     
     	chfs_ihashins(ip);
     	mutex_exit(&chfs_hashlock);
     
    -	// set root inode
    +	/* Set root inode. */
     	if (ino == CHFS_ROOTINO) {
     		dbg("SETROOT\n");
     		vp->v_vflag |= VV_ROOT;
     		vp->v_type = VDIR;
    +		ip->ch_type = CHT_DIR;
     		ip->mode = IFMT | IEXEC | IWRITE | IREAD;
     		ip->iflag |= (IN_ACCESS | IN_CHANGE | IN_UPDATE);
     		chfs_update(vp, NULL, NULL, UPDATE_WAIT);
    -//		ip->dents = NULL; XXXTAILQ
     		TAILQ_INIT(&ip->dents);
     		chfs_set_vnode_size(vp, 512);
     	}
     
    -	// set vnode cache
     	mutex_enter(&chmp->chm_lock_vnocache);
     	chvc = chfs_vnode_cache_get(chmp, ino);
     	mutex_exit(&chmp->chm_lock_vnocache);
     	if (!chvc) {
     		dbg("!chvc\n");
    +		/* Initialize the corresponding vnode cache. */
     		/* XXX, we cant alloc under a lock, refactor this! */
     		chvc = chfs_vnode_cache_alloc(ino);
     		mutex_enter(&chmp->chm_lock_vnocache);
     		if (ino == CHFS_ROOTINO) {
     			chvc->nlink = 2;
     			chvc->pvno = CHFS_ROOTINO;
    -			chfs_vnode_cache_set_state(chmp,
    -			    chvc, VNO_STATE_CHECKEDABSENT);
    +			chvc->state = VNO_STATE_CHECKEDABSENT;
     		}
     		chfs_vnode_cache_add(chmp, chvc);
     		mutex_exit(&chmp->chm_lock_vnocache);
    @@ -560,7 +540,7 @@ retry:
     	} else {
     		dbg("chvc\n");
     		ip->chvc = chvc;
    -		// if we have a vnode cache, the node is already on flash, so read it
    +		/* We had a vnode cache, the node is already on flash, so read it */
     		if (ino == CHFS_ROOTINO) {
     			chvc->pvno = CHFS_ROOTINO;
     			TAILQ_INIT(&chvc->scan_dirents);
    @@ -569,9 +549,10 @@ retry:
     		}
     
     		mutex_enter(&chmp->chm_lock_mountfields);
    -		// init type specific things
    -		switch (vp->v_type) {
    -		case VDIR:
    +		/* Initialize type specific things. */
    +		switch (ip->ch_type) {
    +		case CHT_DIR:
    +			/* Read every dirent. */
     			nref = chvc->dirents;
     			while (nref &&
     			    (struct chfs_vnode_cache *)nref != chvc) {
    @@ -580,9 +561,10 @@ retry:
     			}
     			chfs_set_vnode_size(vp, 512);
     			break;
    -		case VREG:
    -		case VSOCK:
    -			//build the fragtree of the vnode
    +		case CHT_REG:
    +			/* FALLTHROUGH */
    +		case CHT_SOCK:
    +			/* Collect data. */
     			dbg("read_inode_internal | ino: %llu\n",
     				(unsigned long long)ip->ino);
     			error = chfs_read_inode(chmp, ip);
    @@ -593,8 +575,8 @@ retry:
     				return (error);
     			}
     			break;
    -		case VLNK:
    -			//build the fragtree of the vnode
    +		case CHT_LNK:
    +			/* Collect data. */
     			dbg("read_inode_internal | ino: %llu\n",
     				(unsigned long long)ip->ino);
     			error = chfs_read_inode_internal(chmp, ip);
    @@ -605,6 +587,7 @@ retry:
     				return (error);
     			}
     
    +			/* Set link. */
     			dbg("size: %llu\n", (unsigned long long)ip->size);
     			bp = getiobuf(vp, true);
     			bp->b_blkno = 0;
    @@ -620,10 +603,12 @@ retry:
     			putiobuf(bp);
     
     			break;
    -		case VCHR:
    -		case VBLK:
    -		case VFIFO:
    -			//build the fragtree of the vnode
    +		case CHT_CHR:
    +			/* FALLTHROUGH */
    +		case CHT_BLK:
    +			/* FALLTHROUGH */
    +		case CHT_FIFO:
    +			/* Collect data. */
     			dbg("read_inode_internal | ino: %llu\n",
     				(unsigned long long)ip->ino);
     			error = chfs_read_inode_internal(chmp, ip);
    @@ -634,6 +619,7 @@ retry:
     				return (error);
     			}
     
    +			/* Set device. */
     			bp = getiobuf(vp, true);
     			bp->b_blkno = 0;
     			bp->b_bufsize = bp->b_resid =
    @@ -644,23 +630,25 @@ retry:
     			    bp->b_data, sizeof(dev_t));
     			kmem_free(bp->b_data, sizeof(dev_t));
     			putiobuf(bp);
    -			if (vp->v_type == VFIFO)
    +			/* Set specific operations. */
    +			if (ip->ch_type == CHT_FIFO) {
     				vp->v_op = chfs_fifoop_p;
    -			else {
    +			} else {
     				vp->v_op = chfs_specop_p;
     				spec_node_init(vp, ip->rdev);
     			}
     
     		    break;
    -		case VNON:
    -		case VBAD:
    +		case CHT_BLANK:
    +			/* FALLTHROUGH */
    +		case CHT_BAD:
     			break;
     		}
     		mutex_exit(&chmp->chm_lock_mountfields);
     
     	}
     
    -	/* finish inode initalization */
    +	/* Finish inode initalization. */
     	ip->devvp = ump->um_devvp;
     	vref(ip->devvp);
     
    @@ -696,7 +684,6 @@ chfs_start(struct mount *mp, int flags)
     
     /* --------------------------------------------------------------------- */
     
    -/* ARGSUSED2 */
     static int
     chfs_statvfs(struct mount *mp, struct statvfs *sbp)
     {
    @@ -715,14 +702,6 @@ chfs_statvfs(struct mount *mp, struct statvfs *sbp)
     	sbp->f_blocks = chmp->chm_ebh->peb_nr;
     	sbp->f_files  = 0;
     	sbp->f_bavail = chmp->chm_nr_free_blocks - chmp->chm_resv_blocks_write;
    -#if 0
    -	printf("chmp->chm_nr_free_blocks: %jd\n",
    -	    (intmax_t )chmp->chm_nr_free_blocks);
    -	printf("chmp->chm_resv_blocks_write: %jd\n",
    -	    (intmax_t) chmp->chm_resv_blocks_write);
    -	printf("chmp->chm_ebh->peb_nr: %jd\n",
    -	    (intmax_t) chmp->chm_ebh->peb_nr);
    -#endif
     
     	sbp->f_bfree = chmp->chm_nr_free_blocks;
     	sbp->f_bresvd = chmp->chm_resv_blocks_write;
    @@ -739,7 +718,6 @@ chfs_statvfs(struct mount *mp, struct statvfs *sbp)
     
     /* --------------------------------------------------------------------- */
     
    -/* ARGSUSED0 */
     static int
     chfs_sync(struct mount *mp, int waitfor,
         kauth_cred_t uc)
    @@ -752,6 +730,7 @@ chfs_sync(struct mount *mp, int waitfor,
     static void
     chfs_init(void)
     {
    +	/* Initialize pools and inode hash. */
     	chfs_alloc_pool_caches();
     	chfs_ihashinit();
     	pool_init(&chfs_inode_pool, sizeof(struct chfs_inode), 0, 0, 0,
    @@ -812,7 +791,7 @@ struct vfsops chfs_vfsops = {
     	chfs_start,			/* vfs_start */
     	chfs_unmount,		/* vfs_unmount */
     	chfs_root,			/* vfs_root */
    -	ufs_quotactl,			/* vfs_quotactl */
    +	ufs_quotactl,		/* vfs_quotactl */
     	chfs_statvfs,		/* vfs_statvfs */
     	chfs_sync,			/* vfs_sync */
     	chfs_vget,			/* vfs_vget */
    @@ -823,16 +802,17 @@ struct vfsops chfs_vfsops = {
     	chfs_done,			/* vfs_done */
     	NULL,				/* vfs_mountroot */
     	chfs_snapshot,		/* vfs_snapshot */
    -	vfs_stdextattrctl,		/* vfs_extattrctl */
    -	(void *)eopnotsupp,		/* vfs_suspendctl */
    +	vfs_stdextattrctl,	/* vfs_extattrctl */
    +	(void *)eopnotsupp,	/* vfs_suspendctl */
     	genfs_renamelock_enter,
     	genfs_renamelock_exit,
     	(void *)eopnotsupp,
     	chfs_vnodeopv_descs,
    -	0,				/* vfs_refcount */
    +	0,					/* vfs_refcount */
     	{ NULL, NULL },
     };
     
    +/* For using CHFS as a module. */
     static int
     chfs_modcmd(modcmd_t cmd, void *arg)
     {
    diff --git a/sys/ufs/chfs/chfs_vnode.c b/sys/ufs/chfs/chfs_vnode.c
    index 2e1b386bd..23a27a3f3 100644
    --- a/sys/ufs/chfs/chfs_vnode.c
    +++ b/sys/ufs/chfs/chfs_vnode.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_vnode.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_vnode.c,v 1.8 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -40,6 +40,9 @@
     #include 
     #include 
     
    +#include 
    +
    +/* chfs_vnode_lookup - lookup for a vnode */
     struct vnode *
     chfs_vnode_lookup(struct chfs_mount *chmp, ino_t vno)
     {
    @@ -54,8 +57,9 @@ chfs_vnode_lookup(struct chfs_mount *chmp, ino_t vno)
     	return NULL;
     }
     
    +/* chfs_readvnode - reads a vnode from the flash and setups its inode */
     int
    -chfs_readvnode(struct mount* mp, ino_t ino, struct vnode** vpp)
    +chfs_readvnode(struct mount *mp, ino_t ino, struct vnode **vpp)
     {
     	struct ufsmount* ump = VFSTOUFS(mp);
     	struct chfs_mount *chmp = ump->um_chfs;
    @@ -79,13 +83,14 @@ chfs_readvnode(struct mount* mp, ino_t ino, struct vnode** vpp)
     	ip = VTOI(vp);
     	chvc = ip->chvc;
     
    +	/* root node is in-memory only */
     	if (chvc && ino != CHFS_ROOTINO) {
    -		/* debug... */
    -		printf("readvnode; offset: %" PRIu32 ", lnr: %d\n",
    +		dbg("offset: %" PRIu32 ", lnr: %d\n",
     		    CHFS_GET_OFS(chvc->v->nref_offset), chvc->v->nref_lnr);
     
     		KASSERT((void *)chvc != (void *)chvc->v);
     
    +		/* reading */
     		buf = kmem_alloc(len, KM_SLEEP);
     		err = chfs_read_leb(chmp, chvc->v->nref_lnr, buf,
     		    CHFS_GET_OFS(chvc->v->nref_offset), len, &retlen);
    @@ -97,16 +102,19 @@ chfs_readvnode(struct mount* mp, ino_t ino, struct vnode** vpp)
     			return EIO;
     		}
     		chfvn = (struct chfs_flash_vnode*)buf;
    +
    +		/* setup inode fields */
     		chfs_set_vnode_size(vp, chfvn->dn_size);
     		ip->mode = chfvn->mode;
    -		vp->v_type = IFTOVT(ip->mode);
    +		ip->ch_type = IFTOCHT(ip->mode);
    +		vp->v_type = CHTTOVT(ip->ch_type);
     		ip->version = chfvn->version;
    -		//ip->chvc->highest_version = ip->version;
     		ip->uid = chfvn->uid;
     		ip->gid = chfvn->gid;
     		ip->atime = chfvn->atime;
     		ip->mtime = chfvn->mtime;
     		ip->ctime = chfvn->ctime;
    +
     		kmem_free(buf, len);
     	}
     
    @@ -115,21 +123,22 @@ chfs_readvnode(struct mount* mp, ino_t ino, struct vnode** vpp)
     	return 0;
     }
     
    +/* 
    + * chfs_readddirent - 
    + * reads a directory entry from flash and adds it to its inode 
    + */
     int
     chfs_readdirent(struct mount *mp, struct chfs_node_ref *chnr, struct chfs_inode *pdir)
     {
     	struct ufsmount *ump = VFSTOUFS(mp);
     	struct chfs_mount *chmp = ump->um_chfs;
     	struct chfs_flash_dirent_node chfdn;
    -	struct chfs_dirent *fd;//, *pdents;
    +	struct chfs_dirent *fd;
     	size_t len = sizeof(struct chfs_flash_dirent_node);
    -//	struct chfs_vnode_cache* parent;
     	size_t retlen;
     	int err = 0;
     
    -//	parent = chfs_get_vnode_cache(chmp, pdir->ino);
    -
    -	//read flash_dirent_node
    +	/* read flash_dirent_node */
     	err = chfs_read_leb(chmp, chnr->nref_lnr, (char *)&chfdn,
     	    CHFS_GET_OFS(chnr->nref_offset), len, &retlen);
     	if (err) {
    @@ -141,14 +150,14 @@ chfs_readdirent(struct mount *mp, struct chfs_node_ref *chnr, struct chfs_inode
     		return EIO;
     	}
     
    -	//set fields of dirent
    +	/* set fields of dirent */
     	fd = chfs_alloc_dirent(chfdn.nsize + 1);
     	fd->version = chfdn.version;
     	fd->vno = chfdn.vno;
     	fd->type = chfdn.dtype;
     	fd->nsize = chfdn.nsize;
    -//	fd->next = NULL;
     
    +	/* read the name of the dirent */
     	err = chfs_read_leb(chmp, chnr->nref_lnr, fd->name,
     	    CHFS_GET_OFS(chnr->nref_offset) + len, chfdn.nsize, &retlen);
     	if (err) {
    @@ -164,51 +173,40 @@ chfs_readdirent(struct mount *mp, struct chfs_node_ref *chnr, struct chfs_inode
     	fd->name[fd->nsize] = 0;
     	fd->nref = chnr;
     
    +	/* add to inode */
     	chfs_add_fd_to_inode(chmp, pdir, fd);
    -/*
    -  pdents = pdir->i_chfs_ext.dents;
    -  if (!pdents)
    -  pdir->i_chfs_ext.dents = fd;
    -  else {
    -  while (pdents->next != NULL) {
    -  pdents = pdents->next;
    -  }
    -  pdents->next = fd;
    -  }
    -*/
     	return 0;
     }
     
    -/*
    - * Allocate a new inode.
    - */
    +/* chfs_makeinode - makes a new file and initializes its structures */
     int
     chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
    -    struct componentname *cnp, int type)
    +    struct componentname *cnp, enum vtype type)
     {
     	struct chfs_inode *ip, *pdir;
     	struct vnode *vp;
     	struct ufsmount* ump = VFSTOUFS(dvp->v_mount);
     	struct chfs_mount* chmp = ump->um_chfs;
     	struct chfs_vnode_cache* chvc;
    -	int error, ismember = 0;
    +	int error;
     	ino_t vno;
    -	struct chfs_dirent *nfd;//, *fd;
    +	struct chfs_dirent *nfd;
     
     	dbg("makeinode\n");
     	pdir = VTOI(dvp);
     
     	*vpp = NULL;
     
    +	/* number of vnode will be the new maximum */
     	vno = ++(chmp->chm_max_vno);
     
     	error = VFS_VGET(dvp->v_mount, vno, &vp);
     	if (error)
     		return (error);
     
    +	/* setup vnode cache */
     	mutex_enter(&chmp->chm_lock_vnocache);
     	chvc = chfs_vnode_cache_get(chmp, vno);
    -	mutex_exit(&chmp->chm_lock_vnocache);
     
     	chvc->pvno = pdir->ino;
     	chvc->vno_version = kmem_alloc(sizeof(uint64_t), KM_SLEEP);
    @@ -217,9 +215,10 @@ chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     		chvc->nlink = 1;
     	else
     		chvc->nlink = 2;
    -//	chfs_vnode_cache_set_state(chmp, chvc, VNO_STATE_CHECKEDABSENT);
     	chvc->state = VNO_STATE_CHECKEDABSENT;
    +	mutex_exit(&chmp->chm_lock_vnocache);
     
    +	/* setup inode */
     	ip = VTOI(vp);
     	ip->ino = vno;
     
    @@ -234,21 +233,26 @@ chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     	ip->iflag |= (IN_ACCESS | IN_CHANGE | IN_UPDATE);
     
     	ip->chvc = chvc;
    -	//ip->chvc->highest_version = 1;
     	ip->target = NULL;
     
     	ip->mode = mode;
    -	vp->v_type = type;	/* Rest init'd in getnewvnode(). */
    -	if ((ip->mode & ISGID) && (kauth_cred_ismember_gid(cnp->cn_cred,
    -		ip->gid, &ismember) != 0 || !ismember) &&
    -	    kauth_authorize_generic(cnp->cn_cred, KAUTH_GENERIC_ISSUSER, NULL))
    -		ip->mode &= ~ISGID;
    +	vp->v_type = type;		/* Rest init'd in getnewvnode(). */
    +	ip->ch_type = VTTOCHT(vp->v_type);
     
    +	/* authorize setting SGID if needed */
    +	if (ip->mode & ISGID) {
    +		error = kauth_authorize_vnode(cnp->cn_cred, KAUTH_VNODE_WRITE_SECURITY,
    +		    vp, NULL, genfs_can_chmod(vp->v_type, cnp->cn_cred, ip->uid,
    +		    ip->gid, mode));
    +		if (error)
    +			ip->mode &= ~ISGID;
    +	}
    +
    +	/* write vnode information to the flash */
     	chfs_update(vp, NULL, NULL, UPDATE_WAIT);
     
     	mutex_enter(&chmp->chm_lock_mountfields);
     
    -	//write inode to flash
     	error = chfs_write_flash_vnode(chmp, ip, ALLOC_NORMAL);
     	if (error) {
     		mutex_exit(&chmp->chm_lock_mountfields);
    @@ -256,7 +260,8 @@ chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     		vput(dvp);
     		return error;
     	}
    -	//update parent directory and write it to the flash
    +
    +	/* update parent's vnode information and write it to the flash */
     	pdir->iflag |= (IN_ACCESS | IN_CHANGE | IN_MODIFY | IN_UPDATE);
     	chfs_update(dvp, NULL, NULL, UPDATE_WAIT);
     
    @@ -269,18 +274,17 @@ chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     	}
     	vput(dvp);
     
    -	//set up node's full dirent
    +	/* setup directory entry */
     	nfd = chfs_alloc_dirent(cnp->cn_namelen + 1);
     	nfd->vno = ip->ino;
     	nfd->version = (++pdir->chvc->highest_version);
    -	nfd->type = type;
    -//	nfd->next = NULL;
    +	nfd->type = ip->ch_type;
     	nfd->nsize = cnp->cn_namelen;
     	memcpy(&(nfd->name), cnp->cn_nameptr, cnp->cn_namelen);
     	nfd->name[nfd->nsize] = 0;
     	nfd->nhash = hash32_buf(nfd->name, cnp->cn_namelen, HASH32_BUF_INIT);
     
    -	// write out direntry
    +	/* write out */
     	error = chfs_write_flash_dirent(chmp, pdir, ip, nfd, ip->ino, ALLOC_NORMAL);
     	if (error) {
             mutex_exit(&chmp->chm_lock_mountfields);
    @@ -290,19 +294,9 @@ chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     
     	//TODO set parent's dir times
     
    +	/* add dirent to parent */
     	chfs_add_fd_to_inode(chmp, pdir, nfd);
    -/*
    -  fd = pdir->i_chfs_ext.dents;
    -  if (!fd)
    -  pdir->i_chfs_ext.dents = nfd;
    -  else {
    -  while (fd->next != NULL) {
    -  fd = fd->next;
    -  }
    -  fd->next = nfd;
    -  }
    -*/
    -	//pdir->i_nlink++;
    +
     	pdir->chvc->nlink++;
     
     	mutex_exit(&chmp->chm_lock_mountfields);
    @@ -311,6 +305,7 @@ chfs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     	return (0);
     }
     
    +/* chfs_set_vnode_size - updates size of vnode and also inode */
     void
     chfs_set_vnode_size(struct vnode *vp, size_t size)
     {
    @@ -326,6 +321,11 @@ chfs_set_vnode_size(struct vnode *vp, size_t size)
     	return;
     }
     
    +/*
    + * chfs_change_size_free - updates free size 
    + * "change" parameter is positive if we have to increase the size
    + * and negative if we have to decrease it
    + */
     void
     chfs_change_size_free(struct chfs_mount *chmp,
     	struct chfs_eraseblock *cheb, int change)
    @@ -339,6 +339,11 @@ chfs_change_size_free(struct chfs_mount *chmp,
     	return;
     }
     
    +/*
    + * chfs_change_size_dirty - updates dirty size 
    + * "change" parameter is positive if we have to increase the size
    + * and negative if we have to decrease it
    + */
     void
     chfs_change_size_dirty(struct chfs_mount *chmp,
     	struct chfs_eraseblock *cheb, int change)
    @@ -352,6 +357,11 @@ chfs_change_size_dirty(struct chfs_mount *chmp,
     	return;
     }
     
    +/*
    + * chfs_change_size_unchecked - updates unchecked size 
    + * "change" parameter is positive if we have to increase the size
    + * and negative if we have to decrease it
    + */
     void
     chfs_change_size_unchecked(struct chfs_mount *chmp,
     	struct chfs_eraseblock *cheb, int change)
    @@ -365,6 +375,11 @@ chfs_change_size_unchecked(struct chfs_mount *chmp,
     	return;
     }
     
    +/*
    + * chfs_change_size_used - updates used size
    + * "change" parameter is positive if we have to increase the size
    + * and negative if we have to decrease it
    + */
     void
     chfs_change_size_used(struct chfs_mount *chmp,
     	struct chfs_eraseblock *cheb, int change)
    @@ -378,6 +393,11 @@ chfs_change_size_used(struct chfs_mount *chmp,
     	return;
     }
     
    +/*
    + * chfs_change_size_wasted - updates wasted size 
    + * "change" parameter is positive if we have to increase the size
    + * and negative if we have to decrease it
    + */
     void
     chfs_change_size_wasted(struct chfs_mount *chmp,
     	struct chfs_eraseblock *cheb, int change)
    diff --git a/sys/ufs/chfs/chfs_vnode_cache.c b/sys/ufs/chfs/chfs_vnode_cache.c
    index 101b49402..3fa9b2a86 100644
    --- a/sys/ufs/chfs/chfs_vnode_cache.c
    +++ b/sys/ufs/chfs/chfs_vnode_cache.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_vnode_cache.c,v 1.1 2011/11/24 15:51:32 ahoka Exp $	*/
    +/*	$NetBSD: chfs_vnode_cache.c,v 1.3 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -35,6 +35,9 @@
     #include "chfs.h"
     #include 
     
    +/* vnode cache is a hashtable for vnodes */
    +
    +/* chfs_vnocache_hash_init - initializing the hashtable */
     struct chfs_vnode_cache **
     chfs_vnocache_hash_init(void)
     {
    @@ -42,25 +45,8 @@ chfs_vnocache_hash_init(void)
     	    sizeof(struct chfs_vnode_cache *), KM_SLEEP);
     }
     
    -/**
    - * chfs_set_vnode_cache_state - set state of a vnode_cache
    - * @chmp: fs super block info
    - * @vc: vnode_cache
    - * @state: new state
    - */
    -void
    -chfs_vnode_cache_set_state(struct chfs_mount *chmp,
    -    struct chfs_vnode_cache* vc, int state)
    -{
    -	/* XXX do we really need locking here? */
    -	KASSERT(mutex_owned(&chmp->chm_lock_vnocache));
    -	vc->state = state;
    -}
    -
    -/**
    - * chfs_get_vnode_cache - get a vnode_cache from the vnocache_hash
    - * @chmp: fs super block info
    - * @ino: inode for search
    +/*
    + * chfs_vnode_cache_get - get a vnode_cache from the hashtable
      * Returns the vnode_cache.
      */
     struct chfs_vnode_cache *
    @@ -87,11 +73,7 @@ chfs_vnode_cache_get(struct chfs_mount *chmp, ino_t vno)
     	return ret;
     }
     
    -/**
    - * chfs_add_vnode_cache - add a vnode_cache to the vnocache_hash
    - * @chmp: fs super block info
    - * @new: new vnode_cache
    - */
    +/* chfs_vnode_cache_add - add a vnode_cache to the hashtable */
     void
     chfs_vnode_cache_add(struct chfs_mount *chmp,
         struct chfs_vnode_cache* new)
    @@ -113,11 +95,7 @@ chfs_vnode_cache_add(struct chfs_mount *chmp,
     	*prev = new;
     }
     
    -/**
    - * chfs_del_vnode_cache - del a vnode_cache from the vnocache_hash
    - * @chmp: fs super block info
    - * @old: old vnode_cache
    - */
    +/* chfs_vnode_cache_remove - removes a vnode_cache from the hashtable */
     void
     chfs_vnode_cache_remove(struct chfs_mount *chmp,
         struct chfs_vnode_cache* old)
    @@ -141,16 +119,14 @@ chfs_vnode_cache_remove(struct chfs_mount *chmp,
     	}
     }
     
    -/**
    - * chfs_free_vnode_caches - free the vnocache_hash
    - * @chmp: fs super block info
    - */
    +/* chfs_vnocache_hash_destroy - destroying the vnode cache */
     void
     chfs_vnocache_hash_destroy(struct chfs_vnode_cache **hash)
     {
     	struct chfs_vnode_cache *this, *next;
     	int i;
     
    +	/* free every row */
     	for (i = 0; i < VNODECACHE_SIZE; i++) {
     		this = hash[i];
     		while (this) {
    @@ -162,4 +138,3 @@ chfs_vnocache_hash_destroy(struct chfs_vnode_cache **hash)
     	}
     }
     
    -
    diff --git a/sys/ufs/chfs/chfs_vnops.c b/sys/ufs/chfs/chfs_vnops.c
    index f6a11d93b..144dbea24 100644
    --- a/sys/ufs/chfs/chfs_vnops.c
    +++ b/sys/ufs/chfs/chfs_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_vnops.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_vnops.c,v 1.18 2013/10/20 17:18:38 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -70,24 +70,25 @@ chfs_lookup(void *v)
     
     	*vpp = NULL;
     
    -	// Check accessibility of requested node as a first step.
    +	/* Check accessibility of requested node as a first step. */
     	error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred);
     	if (error != 0) {
     		goto out;
     	}
     
    -	// If requesting the last path component on a read-only file system
    -	// with a write operation, deny it.
    +	/* If requesting the last path component on a read-only file system
    +	 * with a write operation, deny it. */
     	if ((cnp->cn_flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY)
     	    && (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) {
     		error = EROFS;
     		goto out;
     	}
     
    -	// Avoid doing a linear scan of the directory if the requested
    -	// directory/name couple is already in the cache.
    -	error = cache_lookup(dvp, vpp, cnp);
    -	if (error >= 0) {
    +	/* Avoid doing a linear scan of the directory if the requested
    +	 * directory/name couple is already in the cache. */
    +	if (cache_lookup(dvp, cnp->cn_nameptr, cnp->cn_namelen,
    +			 cnp->cn_nameiop, cnp->cn_flags, NULL, vpp)) {
    +		error = *vpp == NULLVP ? ENOENT : 0;
     		goto out;
     	}
     
    @@ -101,8 +102,8 @@ chfs_lookup(void *v)
     	chvc = chfs_vnode_cache_get(chmp, ip->ino);
     	mutex_exit(&chmp->chm_lock_vnocache);
     
    -	// We cannot be requesting the parent directory of the root node.
    -	KASSERT(IMPLIES(dvp->v_type == VDIR && chvc->pvno == chvc->vno,
    +	/* We cannot be requesting the parent directory of the root node. */
    +	KASSERT(IMPLIES(ip->ch_type == CHT_DIR && chvc->pvno == chvc->vno,
     		!(cnp->cn_flags & ISDOTDOT)));
     
     	if (cnp->cn_flags & ISDOTDOT) {
    @@ -118,10 +119,10 @@ chfs_lookup(void *v)
     
     		if (fd == NULL) {
     			dbg("fd null\n");
    -			// The entry was not found in the directory.
    -			// This is OK if we are creating or renaming an
    -			// entry and are working on the last component of
    -			// the path name.
    +			/* The entry was not found in the directory.
    +			 * This is OK if we are creating or renaming an
    +			 * entry and are working on the last component of
    +			 * the path name. */
     			if ((cnp->cn_flags & ISLASTCN) && (cnp->cn_nameiop == CREATE
     				|| cnp->cn_nameiop == RENAME)) {
     				error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred);
    @@ -136,11 +137,11 @@ chfs_lookup(void *v)
     				error = ENOENT;
     			}
     		} else {
    -			// If we are not at the last path component and
    -			// found a non-directory or non-link entry (which
    -			// may itself be pointing to a directory), raise
    -			// an error.
    -			if ((fd->type != VDIR && fd->type != VLNK) && !(cnp->cn_flags
    +			/* If we are not at the last path component and
    +			 * found a non-directory or non-link entry (which
    +			 * may itself be pointing to a directory), raise
    +			 * an error. */
    +			if ((fd->type != CHT_DIR && fd->type != CHT_LNK) && !(cnp->cn_flags
     				& ISLASTCN)) {
     				error = ENOTDIR;
     				goto out;
    @@ -151,19 +152,18 @@ chfs_lookup(void *v)
     			error = VFS_VGET(dvp->v_mount, fd->vno, vpp);
     		}
     	}
    -	// Store the result of this lookup in the cache.  Avoid this if the
    -	// request was for creation, as it does not improve timings on
    -	// emprical tests.
    -	if ((cnp->cn_flags & MAKEENTRY) && cnp->cn_nameiop != CREATE
    -	    && (cnp->cn_flags & ISDOTDOT) == 0)
    -		cache_enter(dvp, *vpp, cnp);
    +	/* Store the result of this lookup in the cache.  Avoid this if the
    +	 * request was for creation, as it does not improve timings on
    +	 * emprical tests. */
    +	if (cnp->cn_nameiop != CREATE && (cnp->cn_flags & ISDOTDOT) == 0) {
    +		cache_enter(dvp, *vpp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +	}
     
     out:
    -	// If there were no errors, *vpp cannot be null and it must be
    -	// locked.
    +	/* If there were no errors, *vpp cannot be null and it must be
    +	 * locked. */
     	KASSERT(IFF(error == 0, *vpp != NULL && VOP_ISLOCKED(*vpp)));
    -
    -	// dvp must always be locked.
     	KASSERT(VOP_ISLOCKED(dvp));
     
     	return error;
    @@ -217,7 +217,6 @@ chfs_mknod(void *v)
     
     	struct ufsmount *ump;
     	struct chfs_mount *chmp;
    -	ino_t ino;
     
     	struct chfs_full_dnode *fd;
     	struct buf *bp;
    @@ -227,6 +226,7 @@ chfs_mknod(void *v)
     	ump = VFSTOUFS(dvp->v_mount);
     	chmp = ump->um_chfs;
     
    +	/* Check type of node. */
     	if (vap->va_type != VBLK && vap->va_type != VCHR && vap->va_type != VFIFO)
     		return EINVAL;
     
    @@ -250,10 +250,10 @@ chfs_mknod(void *v)
     		}
     	}
     
    +	/* Create a new node. */
     	err = chfs_makeinode(mode, dvp, &vp, cnp, vap->va_type);
     
     	ip = VTOI(vp);
    -	ino = ip->ino;
     	if (vap->va_rdev != VNOVAL)
     		ip->rdev = vap->va_rdev;
     
    @@ -267,6 +267,7 @@ chfs_mknod(void *v)
     	if (err)
     		return err;
     
    +	/* Device is written out as a data node. */
     	len = sizeof(dev_t);
     	chfs_set_vnode_size(vp, len);
     	bp = getiobuf(vp, true);
    @@ -286,6 +287,7 @@ chfs_mknod(void *v)
     		return err;
     	}
     
    +	/* Add data node to the inode. */
     	err = chfs_add_full_dnode_to_inode(chmp, ip, fd);
     	if (err) {
     		mutex_exit(&chmp->chm_lock_mountfields);
    @@ -324,7 +326,7 @@ chfs_open(void *v)
     		goto out;
     	}
     
    -	// If the file is marked append-only, deny write requests.
    +	/* If the file is marked append-only, deny write requests. */
     	if (ip->flags & APPEND && (mode & (FWRITE | O_APPEND)) == FWRITE)
     		error = EPERM;
     	else
    @@ -350,7 +352,6 @@ chfs_close(void *v)
     	ip = VTOI(vp);
     
     	if (ip->chvc->nlink > 0) {
    -		//ip->chvc->nlink = 0;
     		chfs_update(vp, NULL, NULL, UPDATE_CLOSE);
     	}
     
    @@ -390,8 +391,9 @@ chfs_access(void *v)
     	if (mode & VWRITE && ip->flags & IMMUTABLE)
     		return (EPERM);
     
    -	return genfs_can_access(vp->v_type, ip->mode & ALLPERMS,
    -	    ip->uid, ip->gid, mode, cred);
    +	return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type,
    +	    ip->mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type,
    +	    ip->mode & ALLPERMS, ip->uid, ip->gid, mode, cred));
     }
     
     /* --------------------------------------------------------------------- */
    @@ -410,7 +412,7 @@ chfs_getattr(void *v)
     	vattr_null(vap);
     	CHFS_ITIMES(ip, NULL, NULL, NULL);
     
    -	vap->va_type = vp->v_type;
    +	vap->va_type = CHTTOVT(ip->ch_type);
     	vap->va_mode = ip->mode & ALLPERMS;
     	vap->va_nlink = ip->chvc->nlink;
     	vap->va_uid = ip->uid;
    @@ -466,26 +468,42 @@ chfs_setattr(void *v)
     		return EINVAL;
     	}
     
    -	if (error == 0 && (vap->va_flags != VNOVAL))
    +	/* set flags */
    +	if (error == 0 && (vap->va_flags != VNOVAL)) {
     		error = chfs_chflags(vp, vap->va_flags, cred);
    +		return error;
    +	}
     
    -	if (error == 0 && (vap->va_size != VNOVAL))
    +	if (ip->flags & (IMMUTABLE | APPEND)) {
    +		error = EPERM;
    +		return error;
    +	}
    +
    +	/* set size */
    +	if (error == 0 && (vap->va_size != VNOVAL)) {
     		error = chfs_chsize(vp, vap->va_size, cred);
    +		if (error)
    +			return error;
    +	}
     
    -	if (error == 0 && (vap->va_uid != VNOVAL || vap->va_gid != VNOVAL))
    +	/* set owner */
    +	if (error == 0 && (vap->va_uid != VNOVAL || vap->va_gid != VNOVAL)) {
     		error = chfs_chown(vp, vap->va_uid, vap->va_gid, cred);
    +		if (error)
    +			return error;
    +	}
     
    -	if (error == 0 && (vap->va_mode != VNOVAL))
    +	/* set mode */
    +	if (error == 0 && (vap->va_mode != VNOVAL)) {
     		error = chfs_chmod(vp, vap->va_mode, cred);
    +		if (error)
    +			return error;
    +	}
     
    -#if 0
    -	/* why do we need that? */
    -	if (ip->flags & (IMMUTABLE | APPEND))
    -		return EPERM;
    -#endif
    -
    +	/* set time */
     	if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
    -		error = genfs_can_chtimes(vp, vap->va_vaflags, ip->uid, cred);
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_TIMES, vp,
    +		    NULL, genfs_can_chtimes(vp, vap->va_vaflags, ip->uid, cred));
     		if (error)
     			return error;
     		if (vap->va_atime.tv_sec != VNOVAL)
    @@ -498,6 +516,7 @@ chfs_setattr(void *v)
     			return error;
     	}
     
    +	/* Write it out. */
     	mutex_enter(&chmp->chm_lock_mountfields);
     	error = chfs_write_flash_vnode(chmp, ip, ALLOC_NORMAL);
     	mutex_exit(&chmp->chm_lock_mountfields);
    @@ -512,7 +531,8 @@ chfs_chmod(struct vnode *vp, int mode, kauth_cred_t cred)
     	int error;
     	dbg("chmod\n");
     
    -	error = genfs_can_chmod(vp, cred, ip->uid, ip->gid, mode);
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_SECURITY, vp,
    +	    NULL, genfs_can_chmod(vp->v_type, cred, ip->uid, ip->gid, mode));
     	if (error)
     		return error;
     	ip->mode &= ~ALLPERMS;
    @@ -538,7 +558,8 @@ chfs_chown(struct vnode *vp, uid_t uid, gid_t gid, kauth_cred_t cred)
     	if (gid == (gid_t)VNOVAL)
     		gid = ip->gid;
     
    -	error = genfs_can_chown(vp, cred, ip->uid, ip->gid, uid, gid);
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_CHANGE_OWNERSHIP, vp,
    +	    NULL, genfs_can_chown(cred, ip->uid, ip->gid, uid, gid));
     	if (error)
     		return error;
     
    @@ -556,30 +577,31 @@ chfs_chown(struct vnode *vp, uid_t uid, gid_t gid, kauth_cred_t cred)
     
     /* --------------------------------------------------------------------- */
     /* calculates ((off_t)blk * chmp->chm_chm_fs_bsize) */
    -#define	lblktosize(chmp, blk)						      \
    +#define	chfs_lblktosize(chmp, blk)					      \
     	(((off_t)(blk)) << (chmp)->chm_fs_bshift)
     
     /* calculates (loc % chmp->chm_chm_fs_bsize) */
    -#define	blkoff(chmp, loc)							      \
    +#define	chfs_blkoff(chmp, loc)							      \
     	((loc) & (chmp)->chm_fs_qbmask)
     
     /* calculates (loc / chmp->chm_chm_fs_bsize) */
    -#define	lblkno(chmp, loc)							      \
    +#define	chfs_lblkno(chmp, loc)							      \
     	((loc) >> (chmp)->chm_fs_bshift)
     
     /* calculates roundup(size, chmp->chm_chm_fs_fsize) */
    -#define	fragroundup(chmp, size)						      \
    +#define	chfs_fragroundup(chmp, size)					      \
     	(((size) + (chmp)->chm_fs_qfmask) & (chmp)->chm_fs_fmask)
     
    -#define	blksize(chmp, ip, lbn)						      \
    -	(((lbn) >= NDADDR || (ip)->size >= lblktosize(chmp, (lbn) + 1))	      \
    +#define	chfs_blksize(chmp, ip, lbn)					      \
    +	(((lbn) >= UFS_NDADDR || (ip)->size >= chfs_lblktosize(chmp, (lbn) + 1))	      \
     	    ? (chmp)->chm_fs_bsize					      \
    -	    : (fragroundup(chmp, blkoff(chmp, (ip)->size))))
    +	    : (chfs_fragroundup(chmp, chfs_blkoff(chmp, (ip)->size))))
     
     /* calculates roundup(size, chmp->chm_chm_fs_bsize) */
    -#define	blkroundup(chmp, size)						      \
    +#define	chfs_blkroundup(chmp, size)					      \
      	(((size) + (chmp)->chm_fs_qbmask) & (chmp)->chm_fs_bmask)
     
    +/* from ffs read */
     int
     chfs_read(void *v)
     {
    @@ -657,24 +679,23 @@ chfs_read(void *v)
     		goto out;
     	}
     
    -
     	dbg("start reading\n");
     	for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) {
     		bytesinfile = ip->size - uio->uio_offset;
     		if (bytesinfile <= 0)
     			break;
    -		lbn = lblkno(chmp, uio->uio_offset);
    +		lbn = chfs_lblkno(chmp, uio->uio_offset);
     		nextlbn = lbn + 1;
    -		size = blksize(chmp, ip, lbn);
    -		blkoffset = blkoff(chmp, uio->uio_offset);
    +		size = chfs_blksize(chmp, ip, lbn);
    +		blkoffset = chfs_blkoff(chmp, uio->uio_offset);
     		xfersize = MIN(MIN(chmp->chm_fs_bsize - blkoffset, uio->uio_resid),
     		    bytesinfile);
     
    -		if (lblktosize(chmp, nextlbn) >= ip->size) {
    +		if (chfs_lblktosize(chmp, nextlbn) >= ip->size) {
     			error = bread(vp, lbn, size, NOCRED, 0, &bp);
     			dbg("after bread\n");
     		} else {
    -			int nextsize = blksize(chmp, ip, nextlbn);
    +			int nextsize = chfs_blksize(chmp, ip, nextlbn);
     			dbg("size: %ld\n", size);
     			error = breadn(vp, lbn,
     			    size, &nextlbn, &nextsize, 1, NOCRED, 0, &bp);
    @@ -702,32 +723,35 @@ chfs_read(void *v)
     			break;
     		brelse(bp, 0);
     	}
    +
     	if (bp != NULL)
     		brelse(bp, 0);
     
     out:
    +	// FIXME HACK
    +	ip->ino = ip->chvc->vno;
    +
     	if (!(vp->v_mount->mnt_flag & MNT_NOATIME)) {
     		ip->iflag |= IN_ACCESS;
     		if ((ap->a_ioflag & IO_SYNC) == IO_SYNC) {
    -			//error = UFS_WAPBL_BEGIN(vp->v_mount);
     			if (error) {
     				fstrans_done(vp->v_mount);
     				return error;
     			}
     			error = chfs_update(vp, NULL, NULL, UPDATE_WAIT);
    -			//UFS_WAPBL_END(vp->v_mount);
     		}
     	}
     
     	dbg("[END]\n");
     	fstrans_done(vp->v_mount);
    +
     	return (error);
     }
     
     
     /* --------------------------------------------------------------------- */
     
    -/*from ffs write*/
    +/* from ffs write */
     int
     chfs_write(void *v)
     {
    @@ -757,11 +781,8 @@ chfs_write(void *v)
     	uio = ap->a_uio;
     	vp = ap->a_vp;
     	ip = VTOI(vp);
    -	//dbg("file size (vp): %llu\n", (unsigned long long)vp->v_size);
    -	//dbg("file size (ip): %llu\n", (unsigned long long)ip->i_size);
     	ump = ip->ump;
     
    -	//dbg("uio->resid: %d\n", uio->uio_resid);
     	dbg("write\n");
     
     	KASSERT(vp->v_size == ip->size);
    @@ -810,7 +831,6 @@ chfs_write(void *v)
     	if (uio->uio_resid == 0)
     		return (0);
     
    -	//mutex_enter(&ip->inode_lock);
     	fstrans_start(vp->v_mount, FSTRANS_SHARED);
     
     	flags = ioflag & IO_SYNC ? B_SYNC : 0;
    @@ -820,32 +840,23 @@ chfs_write(void *v)
     	osize = ip->size;
     	error = 0;
     
    -
    -	/*if ((ioflag & IO_JOURNALLOCKED) == 0) {
    -	  error = UFS_WAPBL_BEGIN(vp->v_mount);
    -	  if (error) {
    -	  fstrans_done(vp->v_mount);
    -	  return error;
    -	  }
    -	  }*/
    -
    -	preallocoff = round_page(blkroundup(chmp,
    +	preallocoff = round_page(chfs_blkroundup(chmp,
     		MAX(osize, uio->uio_offset)));
     	aflag = ioflag & IO_SYNC ? B_SYNC : 0;
     	nsize = MAX(osize, uio->uio_offset + uio->uio_resid);
    -	endallocoff = nsize - blkoff(chmp, nsize);
    +	endallocoff = nsize - chfs_blkoff(chmp, nsize);
     
     	/*
     	 * if we're increasing the file size, deal with expanding
     	 * the fragment if there is one.
     	 */
     
    -	if (nsize > osize && lblkno(chmp, osize) < NDADDR &&
    -	    lblkno(chmp, osize) != lblkno(chmp, nsize) &&
    -	    blkroundup(chmp, osize) != osize) {
    +	if (nsize > osize && chfs_lblkno(chmp, osize) < UFS_NDADDR &&
    +	    chfs_lblkno(chmp, osize) != chfs_lblkno(chmp, nsize) &&
    +	    chfs_blkroundup(chmp, osize) != osize) {
     		off_t eob;
     
    -		eob = blkroundup(chmp, osize);
    +		eob = chfs_blkroundup(chmp, osize);
     		uvm_vnp_setwritesize(vp, eob);
     		error = ufs_balloc_range(vp, osize, eob - osize, cred, aflag);
     		if (error)
    @@ -869,7 +880,7 @@ chfs_write(void *v)
     		}
     
     		oldoff = uio->uio_offset;
    -		blkoffset = blkoff(chmp, uio->uio_offset);
    +		blkoffset = chfs_blkoff(chmp, uio->uio_offset);
     		bytelen = MIN(chmp->chm_fs_bsize - blkoffset, uio->uio_resid);
     		if (bytelen == 0) {
     			break;
    @@ -885,12 +896,12 @@ chfs_write(void *v)
     		overwrite = uio->uio_offset >= preallocoff &&
     		    uio->uio_offset < endallocoff;
     		if (!overwrite && (vp->v_vflag & VV_MAPPED) == 0 &&
    -		    blkoff(chmp, uio->uio_offset) == 0 &&
    +		    chfs_blkoff(chmp, uio->uio_offset) == 0 &&
     		    (uio->uio_offset & PAGE_MASK) == 0) {
     			vsize_t len;
     
     			len = trunc_page(bytelen);
    -			len -= blkoff(chmp, len);
    +			len -= chfs_blkoff(chmp, len);
     			if (len > 0) {
     				overwrite = true;
     				bytelen = len;
    @@ -959,13 +970,22 @@ out:
     		mutex_enter(vp->v_interlock);
     		error = VOP_PUTPAGES(vp,
     		    trunc_page(origoff & chmp->chm_fs_bmask),
    -		    round_page(blkroundup(chmp, uio->uio_offset)),
    +		    round_page(chfs_blkroundup(chmp, uio->uio_offset)),
     		    PGO_CLEANIT | PGO_SYNCIO | PGO_JOURNALLOCKED);
     	}
     	ip->iflag |= IN_CHANGE | IN_UPDATE;
    -	if (resid > uio->uio_resid && ap->a_cred &&
    -	    kauth_authorize_generic(ap->a_cred, KAUTH_GENERIC_ISSUSER, NULL)) {
    -		ip->mode &= ~(ISUID | ISGID);
    +	if (resid > uio->uio_resid && ap->a_cred) {
    +		if (ip->mode & ISUID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SUID, vp, NULL, EPERM) != 0)
    +				ip->mode &= ~ISUID;
    +		}
    +
    +		if (ip->mode & ISGID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SGID, vp, NULL, EPERM) != 0)
    +				ip->mode &= ~ISGID;
    +		}
     	}
     	if (resid > uio->uio_resid)
     		VN_KNOTE(vp, NOTE_WRITE | (extended ? NOTE_EXTEND : 0));
    @@ -976,12 +996,10 @@ out:
     	} else if (resid > uio->uio_resid && (ioflag & IO_SYNC) == IO_SYNC)
     		error = UFS_UPDATE(vp, NULL, NULL, UPDATE_WAIT);
     
    -	//XXX hack, i write the next line after i know ip->i_size and vp->v_size don't equal
    +	//FIXME HACK
     	chfs_set_vnode_size(vp, vp->v_size);
     
     
    -	//dbg("end file size (vp): %llu\n", (unsigned long long)vp->v_size);
    -	//dbg("end file size (ip): %llu\n", (unsigned long long)ip->i_size);
     	KASSERT(vp->v_size == ip->size);
     	fstrans_done(vp->v_mount);
     
    @@ -989,8 +1007,6 @@ out:
     	error = chfs_write_flash_vnode(chmp, ip, ALLOC_NORMAL);
     	mutex_exit(&chmp->chm_lock_mountfields);
     
    -	//mutex_exit(&ip->inode_lock);
    -	//dbg("end\n");
     	return (error);
     }
     
    @@ -1000,7 +1016,6 @@ out:
     int
     chfs_fsync(void *v)
     {
    -	//dbg("fsync\n");
     	struct vop_fsync_args /* {
     				 struct vnode *a_vp;
     				 kauth_cred_t a_cred;
    @@ -1009,15 +1024,11 @@ chfs_fsync(void *v)
     				 off_t offhi;
     				 } */ *ap = v;
     	struct vnode *vp = ap->a_vp;
    -	int wait;
     
     	if (ap->a_flags & FSYNC_CACHE) {
     		return ENODEV;
     	}
    -	wait = (ap->a_flags & FSYNC_WAIT) != 0;
    - 	vflushbuf(vp, wait);
    -	//struct chfs_inode *ip = VTOI(vp);
    -	//chfs_set_vnode_size(vp, ip->write_size);
    + 	vflushbuf(vp, ap->a_flags);
     
     	return 0;
     }
    @@ -1039,11 +1050,18 @@ chfs_remove(void *v)
     	struct chfs_inode *parent = VTOI(dvp);
     	int error = 0;
     
    +	if (vp->v_type == VDIR || (ip->flags & (IMMUTABLE | APPEND)) ||
    +		(parent->flags & APPEND)) {
    +		error = EPERM;
    +		goto out;
    +	}
    +
     	KASSERT(ip->chvc->vno != ip->chvc->pvno);
     
     	error = chfs_do_unlink(ip,
     	    parent, cnp->cn_nameptr, cnp->cn_namelen);
     
    +out:
     	vput(dvp);
     	vput(vp);
     
    @@ -1081,7 +1099,7 @@ chfs_link(void *v)
     	ip = VTOI(vp);
     
     	error = chfs_do_link(ip,
    -	    parent, cnp->cn_nameptr, cnp->cn_namelen, vp->v_type);
    +	    parent, cnp->cn_nameptr, cnp->cn_namelen, ip->ch_type);
     
     	if (dvp != vp)
     		VOP_UNLOCK(vp);
    @@ -1104,7 +1122,7 @@ chfs_rename(void *v)
     
     	struct chfs_inode *oldparent, *old;
     	struct chfs_inode *newparent;
    -	struct chfs_dirent *fd;//, *oldfd;
    +	struct chfs_dirent *fd;
     	struct chfs_inode *ip;
     	int error = 0;
     	dbg("rename\n");
    @@ -1119,18 +1137,12 @@ chfs_rename(void *v)
     		dbg("tvp not null\n");
     		ip = VTOI(tvp);
     		if (tvp->v_type == VDIR) {
    -			//TODO: lock
    -//			fd = ip->dents;
    -//			while (fd) {
     			TAILQ_FOREACH(fd, &ip->dents, fds) {
     				if (fd->vno) {
    -					//TODO: unlock
     					error = ENOTEMPTY;
     					goto out_unlocked;
     				}
    -//				fd = fd->next;
     			}
    -			//TODO: unlock
     		}
     		error = chfs_do_unlink(ip,
     		    newparent, tcnp->cn_nameptr, tcnp->cn_namelen);
    @@ -1139,21 +1151,15 @@ chfs_rename(void *v)
     	VFS_VGET(tdvp->v_mount, old->ino, &tvp);
     	ip = VTOI(tvp);
     
    -//	for (oldfd = oldparent->dents;
    -//	     oldfd->vno != old->ino;
    -//	     oldfd = oldfd->next);
    -
    +	/* link new */
     	error = chfs_do_link(ip,
    -	    newparent, tcnp->cn_nameptr, tcnp->cn_namelen, tvp->v_type);
    +	    newparent, tcnp->cn_nameptr, tcnp->cn_namelen, ip->ch_type);
    +	/* remove old */
     	error = chfs_do_unlink(old,
     	    oldparent, fcnp->cn_nameptr, fcnp->cn_namelen);
     
    -//out:
    -//	if (fchnode != tchnode)
    -//	VOP_UNLOCK(fdvp, 0);
    -
     out_unlocked:
    -	// Release target nodes.
    +	/* Release target nodes. */
     	if (tdvp == tvp)
     		vrele(tdvp);
     	else
    @@ -1161,7 +1167,7 @@ out_unlocked:
     	if (tvp != NULL)
     		vput(tvp);
     
    -	// Release source nodes.
    +	/* Release source nodes. */
     	vrele(fdvp);
     	vrele(fvp);
     
    @@ -1216,7 +1222,6 @@ chfs_rmdir(void *v)
     
     	KASSERT(ip->chvc->vno != ip->chvc->pvno);
     
    -//	for (fd = ip->dents; fd; fd = fd->next) {
     	TAILQ_FOREACH(fd, &ip->dents, fds) {
     		if (fd->vno) {
     			error = ENOTEMPTY;
    @@ -1266,6 +1271,7 @@ chfs_symlink(void *v)
     	ip = VTOI(vp);
     	/* TODO max symlink len instead of "100" */
     	if (len < 100) {
    +		/* symlink path stored as a data node */
     		ip->target = kmem_alloc(len, KM_SLEEP);
     		memcpy(ip->target, target, len);
     		chfs_set_vnode_size(vp, len);
    @@ -1281,12 +1287,14 @@ chfs_symlink(void *v)
     
     		mutex_enter(&chmp->chm_lock_mountfields);
     
    +		/* write out the data node */
     		err = chfs_write_flash_dnode(chmp, vp, bp, fd);
     		if (err) {
     			mutex_exit(&chmp->chm_lock_mountfields);
     			goto out;
     		}
     
    +		/* add it to the inode */
     		err = chfs_add_full_dnode_to_inode(chmp, ip, fd);
     		if (err) {
     			mutex_exit(&chmp->chm_lock_mountfields);
    @@ -1346,8 +1354,9 @@ chfs_readdir(void *v)
     	 */
     	offset = uio->uio_offset;
     
    +	/* Add this entry. */
     	if (offset == CHFS_OFFSET_DOT) {
    -		error = chfs_filldir(uio, ip->ino, ".", 1, VDIR);
    +		error = chfs_filldir(uio, ip->ino, ".", 1, CHT_DIR);
     		if (error == -1) {
     			error = 0;
     			goto outok;
    @@ -1357,6 +1366,7 @@ chfs_readdir(void *v)
     		offset = CHFS_OFFSET_DOTDOT;
     	}
     
    +	/* Add parent entry. */
     	if (offset == CHFS_OFFSET_DOTDOT) {
     		ump = VFSTOUFS(vp->v_mount);
     		chmp = ump->um_chfs;
    @@ -1364,7 +1374,7 @@ chfs_readdir(void *v)
     		chvc = chfs_vnode_cache_get(chmp, ip->ino);
     		mutex_exit(&chmp->chm_lock_vnocache);
     
    -		error = chfs_filldir(uio, chvc->pvno, "..", 2, VDIR);
    +		error = chfs_filldir(uio, chvc->pvno, "..", 2, CHT_DIR);
     		if (error == -1) {
     			error = 0;
     			goto outok;
    @@ -1372,6 +1382,7 @@ chfs_readdir(void *v)
     			goto outok;
     		}
     
    +		/* Has child or not? */
     		if (TAILQ_EMPTY(&ip->dents)) {
     			offset = CHFS_OFFSET_EOF;
     		} else {
    @@ -1380,6 +1391,7 @@ chfs_readdir(void *v)
     	}
     
     	if (offset != CHFS_OFFSET_EOF) {
    +		/* Child entries. */
     		skip = offset - CHFS_OFFSET_FIRST;
     
     		TAILQ_FOREACH(fd, &ip->dents, fds) {
    @@ -1455,6 +1467,7 @@ chfs_inactive(void *v)
     
     	KASSERT(VOP_ISLOCKED(vp));
     
    +	/* Reclaim only if there is no link to the node. */
     	if (ip->ino) {
     		chvc = ip->chvc;
     		if (chvc->nlink)
    @@ -1479,28 +1492,24 @@ chfs_reclaim(void *v)
     	struct chfs_mount *chmp = ip->chmp;
     	struct chfs_dirent *fd;
     
    -	//dbg("reclaim() | ino: %llu\n", (unsigned long long)ip->ino);
    -	//mutex_enter(&ip->inode_lock);
    +	mutex_enter(&chmp->chm_lock_mountfields);
     
     	mutex_enter(&chmp->chm_lock_vnocache);
    -	chfs_vnode_cache_set_state(chmp,
    -	    ip->chvc, VNO_STATE_CHECKEDABSENT);
    +	ip->chvc->state = VNO_STATE_CHECKEDABSENT;
     	mutex_exit(&chmp->chm_lock_vnocache);
     
     	chfs_update(vp, NULL, NULL, UPDATE_CLOSE);
     
    -	if (vp->v_type == VREG || vp->v_type == VLNK || vp->v_type == VCHR ||
    -	    vp->v_type == VBLK || vp->v_type == VFIFO || vp->v_type == VSOCK)
    -		chfs_kill_fragtree(&ip->fragtree);
    +	/* Clean fragments. */
    +	chfs_kill_fragtree(chmp, &ip->fragtree);
     
    +	/* Clean dirents. */
     	fd = TAILQ_FIRST(&ip->dents);
    -	while(fd) {
    +	while (fd) {
     		TAILQ_REMOVE(&ip->dents, fd, fds);
     		chfs_free_dirent(fd);
     		fd = TAILQ_FIRST(&ip->dents);
     	}
    -	//mutex_exit(&ip->inode_lock);
    -	//mutex_destroy(&ip->inode_lock);
     
     	cache_purge(vp);
     	if (ip->devvp) {
    @@ -1512,6 +1521,9 @@ chfs_reclaim(void *v)
     	genfs_node_destroy(vp);
     	pool_put(&chfs_inode_pool, vp->v_data);
     	vp->v_data = NULL;
    +
    +	mutex_exit(&chmp->chm_lock_mountfields);
    +
     	return (0);
     }
     
    @@ -1520,15 +1532,6 @@ chfs_reclaim(void *v)
     int
     chfs_advlock(void *v)
     {
    -	//struct vnode *vp = ((struct vop_advlock_args *) v)->a_vp;
    -	dbg("advlock()\n");
    -	/*
    -	  struct chfs_node *node;
    -
    -	  node = VP_TO_CHFS_NODE(vp);
    -
    -	  return lf_advlock(v, &node->chn_lockf, node->chn_size);
    -	*/
     	return 0;
     }
     
    @@ -1549,35 +1552,26 @@ chfs_strategy(void *v)
     	int read = (bp->b_flags & B_READ) ? 1 : 0;
     	int err = 0;
     
    -/*	dbg("bp dump:\n");
    -	dbg("	->b_bcount: %d\n", bp->b_bcount);
    -	dbg("	->b_resid:  %d\n", bp->b_resid);
    -	dbg("	->b_blkno:  %llu\n", (unsigned long long)bp->b_blkno);
    -	dbg("	->b_error:  %d\n", bp->b_error);*/
     	if (read) {
     		err = chfs_read_data(chmp, vp, bp);
     	} else {
    -		fd = chfs_alloc_full_dnode();
    -
     		mutex_enter(&chmp->chm_lock_mountfields);
     
    +		fd = chfs_alloc_full_dnode();
    +
     		err = chfs_write_flash_dnode(chmp, vp, bp, fd);
     		if (err) {
     			mutex_exit(&chmp->chm_lock_mountfields);
     			goto out;
     		}
     
    +		ip = VTOI(vp);
     		err = chfs_add_full_dnode_to_inode(chmp, ip, fd);
    -		/*if (err) {
    -			mutex_exit(&chmp->chm_lock_mountfields);
    -			goto out;
    -		}*/
     
     		mutex_exit(&chmp->chm_lock_mountfields);
     	}
     out:
     	biodone(bp);
    -	//dbg("end\n");
     	return err;
     }
     
    diff --git a/sys/ufs/chfs/chfs_wbuf.c b/sys/ufs/chfs/chfs_wbuf.c
    index c9823a696..4bda4344e 100644
    --- a/sys/ufs/chfs/chfs_wbuf.c
    +++ b/sys/ufs/chfs/chfs_wbuf.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_wbuf.c,v 1.2 2011/11/24 20:50:33 agc Exp $	*/
    +/*	$NetBSD: chfs_wbuf.c,v 1.5 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -35,106 +35,108 @@
     #include 
     #include 
     #include "chfs.h"
    -//#include 
     
    -#define DBG_WBUF 1
    +#define DBG_WBUF 1		/* XXX unused, but should be */
     
     #define PAD(x) (((x)+3)&~3)
     
    -#define EB_ADDRESS(x) ( ((unsigned long)(x) / chmp->chm_ebh->eb_size) * chmp->chm_ebh->eb_size )
    +#define EB_ADDRESS(x) ( rounddown((x), chmp->chm_ebh->eb_size) )
     
    -#define PAGE_DIV(x) ( ((unsigned long)(x) / (unsigned long)(chmp->chm_wbuf_pagesize)) * (unsigned long)(chmp->chm_wbuf_pagesize) )
    -#define PAGE_MOD(x) ( (unsigned long)(x) % (unsigned long)(chmp->chm_wbuf_pagesize) )
    +#define PAGE_DIV(x) ( rounddown((x), chmp->chm_wbuf_pagesize) )
    +#define PAGE_MOD(x) ( (x) % (chmp->chm_wbuf_pagesize) )
    +
    +/* writebuffer options */
    +enum {
    +	WBUF_NOPAD,
    +	WBUF_SETPAD
    +};
     
     /*
    -// test functions
    -int wbuf_test(void);
    -void wbuf_test_erase_flash(struct chfs_mount*);
    -void wbuf_test_callback(struct erase_instruction*);
    -*/
    -
    -#define NOPAD	0
    -#define SETPAD	1
    -
    -
    -/**
      * chfs_flush_wbuf - write wbuf to the flash
    - * @chmp: super block info
    - * @pad: padding (NOPAD / SETPAD)
      * Returns zero in case of success.
      */
     static int
     chfs_flush_wbuf(struct chfs_mount *chmp, int pad)
     {
    -	int ret=0;
    -	size_t retlen = 0;
    +	int ret;
    +	size_t retlen;
    +	struct chfs_node_ref *nref;
    +	struct chfs_flash_padding_node* padnode;
     
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     	KASSERT(mutex_owned(&chmp->chm_lock_sizes));
     	KASSERT(rw_write_held(&chmp->chm_lock_wbuf));
    +	KASSERT(pad == WBUF_SETPAD || pad == WBUF_NOPAD);
     
    -	if (pad) {
    +	/* check padding option */
    +	if (pad == WBUF_SETPAD) {
     		chmp->chm_wbuf_len = PAD(chmp->chm_wbuf_len);
    -		memset(chmp->chm_wbuf + chmp->chm_wbuf_len, 0, chmp->chm_wbuf_pagesize - chmp->chm_wbuf_len);
    +		memset(chmp->chm_wbuf + chmp->chm_wbuf_len, 0,
    +		    chmp->chm_wbuf_pagesize - chmp->chm_wbuf_len);
     
    -		struct chfs_flash_padding_node* padnode = (void*)(chmp->chm_wbuf + chmp->chm_wbuf_len);
    +		/* add a padding node */
    +		padnode = (void *)(chmp->chm_wbuf + chmp->chm_wbuf_len);
     		padnode->magic = htole16(CHFS_FS_MAGIC_BITMASK);
     		padnode->type = htole16(CHFS_NODETYPE_PADDING);
    -		padnode->length = htole32(chmp->chm_wbuf_pagesize - chmp->chm_wbuf_len);
    -		padnode->hdr_crc = htole32(crc32(0, (uint8_t *)padnode, sizeof(*padnode)-4));
    +		padnode->length = htole32(chmp->chm_wbuf_pagesize
    +		    - chmp->chm_wbuf_len);
    +		padnode->hdr_crc = htole32(crc32(0, (uint8_t *)padnode,
    +			sizeof(*padnode)-4));
     
    -		struct chfs_node_ref *nref;
     		nref = chfs_alloc_node_ref(chmp->chm_nextblock);
     		nref->nref_offset = chmp->chm_wbuf_ofs + chmp->chm_wbuf_len;
     		nref->nref_offset = CHFS_GET_OFS(nref->nref_offset) |
     		    CHFS_OBSOLETE_NODE_MASK;
     		chmp->chm_wbuf_len = chmp->chm_wbuf_pagesize;
     
    -		chfs_change_size_free(chmp, chmp->chm_nextblock, -padnode->length);
    -		chfs_change_size_wasted(chmp, chmp->chm_nextblock, padnode->length);
    +		/* change sizes after padding node */
    +		chfs_change_size_free(chmp, chmp->chm_nextblock,
    +		    -padnode->length);
    +		chfs_change_size_wasted(chmp, chmp->chm_nextblock,
    +		    padnode->length);
     	}
     
    -	ret = chfs_write_leb(chmp, chmp->chm_nextblock->lnr, chmp->chm_wbuf, chmp->chm_wbuf_ofs, chmp->chm_wbuf_len, &retlen);
    -	if(ret) {
    +	/* write out the buffer */
    +	ret = chfs_write_leb(chmp, chmp->chm_nextblock->lnr, chmp->chm_wbuf,
    +	    chmp->chm_wbuf_ofs, chmp->chm_wbuf_len, &retlen);
    +	if (ret) {
     		return ret;
     	}
     
    -	memset(chmp->chm_wbuf,0xff,chmp->chm_wbuf_pagesize);
    +	/* reset the buffer */
    +	memset(chmp->chm_wbuf, 0xff, chmp->chm_wbuf_pagesize);
     	chmp->chm_wbuf_ofs += chmp->chm_wbuf_pagesize;
     	chmp->chm_wbuf_len = 0;
    +
     	return 0;
     }
     
     
    -/**
    - * chfs_fill_wbuf - write to wbuf
    - * @chmp: super block info
    - * @buf: buffer
    - * @len: buffer length
    +/*
    + * chfs_fill_wbuf - write data to wbuf
      * Return the len of the buf what we didn't write to the wbuf.
      */
     static size_t
     chfs_fill_wbuf(struct chfs_mount *chmp, const u_char *buf, size_t len)
     {
    +	/* check available space */
     	if (len && !chmp->chm_wbuf_len && (len >= chmp->chm_wbuf_pagesize)) {
     		return 0;
     	}
    +	/* check buffer's length */
     	if (len > (chmp->chm_wbuf_pagesize - chmp->chm_wbuf_len)) {
     		len = chmp->chm_wbuf_pagesize - chmp->chm_wbuf_len;
     	}
    +	/* write into the wbuf */
     	memcpy(chmp->chm_wbuf + chmp->chm_wbuf_len, buf, len);
     
    +	/* update the actual length of writebuffer */
     	chmp->chm_wbuf_len += (int) len;
     	return len;
     }
     
    -/**
    +/*
      * chfs_write_wbuf - write to wbuf and then the flash
    - * @chmp: super block info
    - * @invecs: io vectors
    - * @count: num of vectors
    - * @to: offset of target
    - * @retlen: writed bytes
      * Returns zero in case of success.
      */
     int
    @@ -153,19 +155,15 @@ chfs_write_wbuf(struct chfs_mount* chmp, const struct iovec *invecs, long count,
     
     	rw_enter(&chmp->chm_lock_wbuf, RW_WRITER);
     
    -	//dbg("1. wbuf ofs: %zu, len: %zu\n", chmp->chm_wbuf_ofs, chmp->chm_wbuf_len);
    -
     	if (chmp->chm_wbuf_ofs == 0xffffffff) {
     		chmp->chm_wbuf_ofs = PAGE_DIV(to);
     		chmp->chm_wbuf_len = PAGE_MOD(to);
     		memset(chmp->chm_wbuf, 0xff, chmp->chm_wbuf_pagesize);
     	}
     
    -	//dbg("2. wbuf ofs: %zu, len: %zu\n", chmp->chm_wbuf_ofs, chmp->chm_wbuf_len);
    -
     	if (EB_ADDRESS(to) != EB_ADDRESS(chmp->chm_wbuf_ofs)) {
     		if (chmp->chm_wbuf_len) {
    -			ret = chfs_flush_wbuf(chmp, SETPAD);
    +			ret = chfs_flush_wbuf(chmp, WBUF_SETPAD);
     			if (ret)
     				goto outerr;
     		}
    @@ -173,8 +171,6 @@ chfs_write_wbuf(struct chfs_mount* chmp, const struct iovec *invecs, long count,
     		chmp->chm_wbuf_len = PAGE_MOD(to);
     	}
     
    -	//dbg("3. wbuf ofs: %zu, len: %zu\n", chmp->chm_wbuf_ofs, chmp->chm_wbuf_len);
    -
     	if (to != PAD(chmp->chm_wbuf_ofs + chmp->chm_wbuf_len)) {
     		dbg("to: %llu != %zu\n", (unsigned long long)to,
     			PAD(chmp->chm_wbuf_ofs + chmp->chm_wbuf_len));
    @@ -185,10 +181,10 @@ chfs_write_wbuf(struct chfs_mount* chmp, const struct iovec *invecs, long count,
     	/* adjust alignment offset */
     	if (chmp->chm_wbuf_len != PAGE_MOD(to)) {
     		chmp->chm_wbuf_len = PAGE_MOD(to);
    -		/* take care of alignement to next page*/
    +		/* take care of alignement to next page */
     		if (!chmp->chm_wbuf_len) {
     			chmp->chm_wbuf_len += chmp->chm_wbuf_pagesize;
    -			ret = chfs_flush_wbuf(chmp, NOPAD);
    +			ret = chfs_flush_wbuf(chmp, WBUF_NOPAD);
     			if (ret)
     				goto outerr;
     		}
    @@ -198,41 +194,39 @@ chfs_write_wbuf(struct chfs_mount* chmp, const struct iovec *invecs, long count,
     		int vlen = invecs[invec].iov_len;
     		u_char* v = invecs[invec].iov_base;
     
    -		//dbg("invec:%d len:%d\n", invec, vlen);
    -
    +		/* fill the whole wbuf */
     		wbuf_retlen = chfs_fill_wbuf(chmp, v, vlen);
     		if (chmp->chm_wbuf_len == chmp->chm_wbuf_pagesize) {
    -			ret = chfs_flush_wbuf(chmp, NOPAD);
    +			ret = chfs_flush_wbuf(chmp, WBUF_NOPAD);
     			if (ret) {
     				goto outerr;
     			}
     		}
    +
     		vlen -= wbuf_retlen;
     		outvec_to += wbuf_retlen;
     		v += wbuf_retlen;
     		donelen += wbuf_retlen;
    +
    +		/* if there is more residual data than the length of the wbuf
    +		 * write it out directly until it's fit in the wbuf */
     		if (vlen >= chmp->chm_wbuf_pagesize) {
     			ret = chfs_write_leb(chmp, lnr, v, outvec_to, PAGE_DIV(vlen), &wbuf_retlen);
    -			//dbg("fd->write: %zu\n", wbuf_retlen);
     			vlen -= wbuf_retlen;
     			outvec_to += wbuf_retlen;
     			chmp->chm_wbuf_ofs = outvec_to;
     			v += wbuf_retlen;
     			donelen += wbuf_retlen;
     		}
    +
    +		/* write the residual data to the wbuf */
     		wbuf_retlen = chfs_fill_wbuf(chmp, v, vlen);
     		if (chmp->chm_wbuf_len == chmp->chm_wbuf_pagesize) {
    -			ret = chfs_flush_wbuf(chmp, NOPAD);
    +			ret = chfs_flush_wbuf(chmp, WBUF_NOPAD);
     			if (ret)
     				goto outerr;
     		}
     
    -		// if we write the last vector, we flush with padding
    -		/*if (invec == count-1) {
    -		  ret = chfs_flush_wbuf(chmp, SETPAD);
    -		  if (ret)
    -		  goto outerr;
    -		  }*/
     		outvec_to += wbuf_retlen;
     		donelen += wbuf_retlen;
     	}
    @@ -245,14 +239,18 @@ outerr:
     	return ret;
     }
     
    +/*
    + * chfs_flush_peding_wbuf - write wbuf to the flash
    + * Used when we must flush wbuf right now.
    + * If wbuf has free space, pad it to the size of wbuf and write out.
    + */
     int chfs_flush_pending_wbuf(struct chfs_mount *chmp)
     {
    -	//dbg("flush pending wbuf\n");
     	int err;
     	KASSERT(mutex_owned(&chmp->chm_lock_mountfields));
     	mutex_enter(&chmp->chm_lock_sizes);
     	rw_enter(&chmp->chm_lock_wbuf, RW_WRITER);
    -	err = chfs_flush_wbuf(chmp, SETPAD);
    +	err = chfs_flush_wbuf(chmp, WBUF_SETPAD);
     	rw_exit(&chmp->chm_lock_wbuf);
     	mutex_exit(&chmp->chm_lock_sizes);
     	return err;
    diff --git a/sys/ufs/chfs/chfs_write.c b/sys/ufs/chfs/chfs_write.c
    index 0838ed9b1..c73f2c162 100644
    --- a/sys/ufs/chfs/chfs_write.c
    +++ b/sys/ufs/chfs/chfs_write.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chfs_write.c,v 1.2 2011/11/24 21:09:37 agc Exp $	*/
    +/*	$NetBSD: chfs_write.c,v 1.5 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -33,18 +33,14 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * chfs_write.c
    - *
    - *  Created on: 2010.02.17.
    - *      Author: dtengeri
    - */
     
     #include 
     #include 
     
     #include "chfs.h"
     
    +
    +/* chfs_write_flash_vnode - writes out a vnode information to flash */
     int
     chfs_write_flash_vnode(struct chfs_mount *chmp,
         struct chfs_inode *ip, int prio)
    @@ -58,6 +54,7 @@ chfs_write_flash_vnode(struct chfs_mount *chmp,
     	size_t size, retlen;
     	int err = 0, retries = 0;
     
    +	/* root vnode is in-memory only */
     	if (ip->ino == CHFS_ROOTINO)
     		return 0;
     
    @@ -67,9 +64,8 @@ chfs_write_flash_vnode(struct chfs_mount *chmp,
     
     	chvc = ip->chvc;
     
    -	/* setting up flash_vnode members */
    +	/* setting up flash_vnode's fields */
     	size = sizeof(*fvnode);
    -	//dbg("size: %zu | PADDED: %zu\n", size, CHFS_PAD(size));
     	fvnode->magic = htole16(CHFS_FS_MAGIC_BITMASK);
     	fvnode->type = htole16(CHFS_NODETYPE_VNODE);
     	fvnode->length = htole32(CHFS_PAD(size));
    @@ -86,10 +82,10 @@ chfs_write_flash_vnode(struct chfs_mount *chmp,
     	fvnode->uid = htole32(ip->uid);
     	fvnode->node_crc = htole32(crc32(0, (uint8_t *)fvnode, size - 4));
     
    -	/* write out flash_vnode */
     retry:
    +	/* setting up the next eraseblock where we will write */
     	if (prio == ALLOC_GC) {
    -		/* the GC calls this function */
    +		/* GC called this function */
     		err = chfs_reserve_space_gc(chmp, CHFS_PAD(size));
     		if (err)
     			goto out;
    @@ -105,6 +101,7 @@ retry:
     			goto out;
     	}
     
    +	/* allocating a new node reference */
     	nref = chfs_alloc_node_ref(chmp->chm_nextblock);
     	if (!nref) {
     		err = ENOMEM;
    @@ -113,12 +110,16 @@ retry:
     
     	mutex_enter(&chmp->chm_lock_sizes);
     
    +	/* caculating offset and sizes  */
     	nref->nref_offset = chmp->chm_ebh->eb_size - chmp->chm_nextblock->free_size;
     	chfs_change_size_free(chmp, chmp->chm_nextblock, -CHFS_PAD(size));
     	vec.iov_base = fvnode;
     	vec.iov_len = CHFS_PAD(size);
    +
    +	/* write it into the writebuffer */
     	err = chfs_write_wbuf(chmp, &vec, 1, nref->nref_offset, &retlen);
     	if (err || retlen != CHFS_PAD(size)) {
    +		/* there was an error during write */
     		chfs_err("error while writing out flash vnode to the media\n");
     		chfs_err("err: %d | size: %zu | retlen : %zu\n",
     		    err, CHFS_PAD(size), retlen);
    @@ -130,22 +131,28 @@ retry:
     			goto out;
     		}
     
    +		/* try again */
     		retries++;
     		mutex_exit(&chmp->chm_lock_sizes);
     		goto retry;
     	}
    -	//Everything went well
    +
    +	/* everything went well */
     	chfs_change_size_used(chmp,
     	    &chmp->chm_blocks[nref->nref_lnr], CHFS_PAD(size));
     	mutex_exit(&chmp->chm_lock_sizes);
     	
    +	/* add the new nref to vnode cache */
    +	mutex_enter(&chmp->chm_lock_vnocache);
     	chfs_add_vnode_ref_to_vc(chmp, chvc, nref);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     	KASSERT(chmp->chm_blocks[nref->nref_lnr].used_size <= chmp->chm_ebh->eb_size);
     out:
     	chfs_free_flash_vnode(fvnode);
     	return err;
     }
     
    +/* chfs_write_flash_dirent - writes out a directory entry to flash */
     int
     chfs_write_flash_dirent(struct chfs_mount *chmp, struct chfs_inode *pdir,
         struct chfs_inode *ip, struct chfs_dirent *fd,
    @@ -163,6 +170,7 @@ chfs_write_flash_dirent(struct chfs_mount *chmp, struct chfs_inode *pdir,
     
     	KASSERT(fd->vno != CHFS_ROOTINO);
     
    +	/* setting up flash_dirent's fields */
     	fdirent = chfs_alloc_flash_dirent();
     	if (!fdirent)
     		return ENOMEM;
    @@ -172,10 +180,7 @@ chfs_write_flash_dirent(struct chfs_mount *chmp, struct chfs_inode *pdir,
     
     	name = kmem_zalloc(namelen, KM_SLEEP);
     	memcpy(name, fd->name, fd->nsize);
    -	//dbg("namelen: %zu | nsize: %hhu\n", namelen, fd->nsize);
     
    -
    -	//dbg("size: %zu | PADDED: %zu\n", size, CHFS_PAD(size));
     	fdirent->magic = htole16(CHFS_FS_MAGIC_BITMASK);
     	fdirent->type = htole16(CHFS_NODETYPE_DIRENT);
     	fdirent->length = htole32(CHFS_PAD(size));
    @@ -190,12 +195,14 @@ chfs_write_flash_dirent(struct chfs_mount *chmp, struct chfs_inode *pdir,
     	fdirent->name_crc = crc32(0, (uint8_t *)&(fd->name), fd->nsize);
     	fdirent->node_crc = crc32(0, (uint8_t *)fdirent, sizeof(*fdirent) - 4);
     
    +	/* directory's name is written out right after the dirent */
     	vec[0].iov_base = fdirent;
     	vec[0].iov_len  = sizeof(*fdirent);
     	vec[1].iov_base = name;
     	vec[1].iov_len  = namelen;
     	
     retry:
    +	/* setting up the next eraseblock where we will write */
     	if (prio == ALLOC_GC) {
     		/* the GC calls this function */
     		err = chfs_reserve_space_gc(chmp, CHFS_PAD(size));
    @@ -213,6 +220,7 @@ retry:
     			goto out;
     	}
     
    +	/* allocating a new node reference */
     	nref = chfs_alloc_node_ref(chmp->chm_nextblock);
     	if (!nref) {
     		err = ENOMEM;
    @@ -224,8 +232,10 @@ retry:
     	nref->nref_offset = chmp->chm_ebh->eb_size - chmp->chm_nextblock->free_size;
     	chfs_change_size_free(chmp, chmp->chm_nextblock, -CHFS_PAD(size));
     
    +	/* write it into the writebuffer */
     	err = chfs_write_wbuf(chmp, vec, 2, nref->nref_offset, &retlen);
     	if (err || retlen != CHFS_PAD(size)) {
    +		/* there was an error during write */
     		chfs_err("error while writing out flash dirent node to the media\n");
     		chfs_err("err: %d | size: %zu | retlen : %zu\n",
     		    err, CHFS_PAD(size), retlen);
    @@ -237,33 +247,33 @@ retry:
     			goto out;
     		}
     
    +		/* try again */
     		retries++;
     		mutex_exit(&chmp->chm_lock_sizes);
     		goto retry;
     	}
     
     
    -	// Everything went well
    +	/* everything went well */
     	chfs_change_size_used(chmp,
     	    &chmp->chm_blocks[nref->nref_lnr], CHFS_PAD(size));
     	mutex_exit(&chmp->chm_lock_sizes);
     	KASSERT(chmp->chm_blocks[nref->nref_lnr].used_size <= chmp->chm_ebh->eb_size);
    +
    +	/* add the new nref to the directory chain of vnode cache */
     	fd->nref = nref;
     	if (prio != ALLOC_DELETION) {
    +		mutex_enter(&chmp->chm_lock_vnocache);
     		chfs_add_node_to_list(chmp,
     			pdir->chvc, nref, &pdir->chvc->dirents);
    +		mutex_exit(&chmp->chm_lock_vnocache);
     	}
     out:
     	chfs_free_flash_dirent(fdirent);
     	return err;
     }
     
    -/**
    - * chfs_write_flash_dnode - write out a data node to flash
    - * @chmp: chfs mount structure
    - * @vp: vnode where the data belongs to
    - * @bp: buffer contains data
    - */
    +/* chfs_write_flash_dnode - writes out a data node to flash */
     int
     chfs_write_flash_dnode(struct chfs_mount *chmp, struct vnode *vp,
         struct buf *bp, struct chfs_full_dnode *fd)
    @@ -288,11 +298,6 @@ chfs_write_flash_dnode(struct chfs_mount *chmp, struct vnode *vp,
     
     	/* initialize flash data node */
     	ofs = bp->b_blkno * PAGE_SIZE;
    -	//dbg("vp->v_size: %ju, bp->b_blkno: %ju, bp-b_data: %p,"
    -	//    " bp->b_resid: %ju\n",
    -	//    (uintmax_t )vp->v_size, (uintmax_t )bp->b_blkno,
    -	//    bp->b_data, (uintmax_t )bp->b_resid);
    -	//dbg("[XXX]vp->v_size - ofs: %llu\n", (vp->v_size - ofs));
     	len = MIN((vp->v_size - ofs), bp->b_resid);
     	size = sizeof(*dnode) + len;
     
    @@ -312,34 +317,34 @@ chfs_write_flash_dnode(struct chfs_mount *chmp, struct vnode *vp,
     	dbg("dnode @%llu %ub v%llu\n", (unsigned long long)dnode->offset,
     		dnode->data_length, (unsigned long long)dnode->version);
     
    +	/* pad data if needed */
     	if (CHFS_PAD(size) - sizeof(*dnode)) {
     		tmpbuf = kmem_zalloc(CHFS_PAD(size)
     		    - sizeof(*dnode), KM_SLEEP);
     		memcpy(tmpbuf, bp->b_data, len);
     	}
     
    -	/* creating iovecs for wbuf */
    +	/* creating iovecs for writebuffer 
    +	 * data is written out right after the data node */
     	vec[0].iov_base = dnode;
     	vec[0].iov_len = sizeof(*dnode);
     	vec[1].iov_base = tmpbuf;
     	vec[1].iov_len = CHFS_PAD(size) - sizeof(*dnode);
     
    -	fd->frags = 0;
     	fd->ofs = ofs;
     	fd->size = len;
     
     retry:
    -
     	/* Reserve space for data node. This will set up the next eraseblock
     	 * where to we will write.
     	 */
    -
     	chfs_gc_trigger(chmp);
     	err = chfs_reserve_space_normal(chmp,
     	    CHFS_PAD(size), ALLOC_NORMAL);
     	if (err)
     		goto out;
     
    +	/* allocating a new node reference */
     	nref = chfs_alloc_node_ref(chmp->chm_nextblock);
     	if (!nref) {
     		err = ENOMEM;
    @@ -356,11 +361,10 @@ retry:
     	chfs_change_size_free(chmp,
     	    chmp->chm_nextblock, -CHFS_PAD(size));
     
    -	//dbg("vno: %llu nref lnr: %u offset: %u\n",
    -	//    dnode->vno, nref->nref_lnr, nref->nref_offset);
    -
    +	/* write it into the writebuffer */
     	err = chfs_write_wbuf(chmp, vec, 2, nref->nref_offset, &retlen);
     	if (err || retlen != CHFS_PAD(size)) {
    +		/* there was an error during write */
     		chfs_err("error while writing out flash data node to the media\n");
     		chfs_err("err: %d | size: %zu | retlen : %zu\n",
     		    err, size, retlen);
    @@ -372,19 +376,28 @@ retry:
     			goto out;
     		}
     
    +		/* try again */
     		retries++;
     		mutex_exit(&chmp->chm_lock_sizes);
     		goto retry;
     	}
    -	/* Everything went well */
    +	/* everything went well */
     	ip->write_size += fd->size;
     	chfs_change_size_used(chmp,
     	    &chmp->chm_blocks[nref->nref_lnr], CHFS_PAD(size));
     	mutex_exit(&chmp->chm_lock_sizes);
     
    +	mutex_enter(&chmp->chm_lock_vnocache);
    +	if (fd->nref != NULL) {
    +		chfs_remove_frags_of_node(chmp, &ip->fragtree, fd->nref);
    +		chfs_remove_and_obsolete(chmp, ip->chvc, fd->nref, &ip->chvc->dnode);
    +	}
    +
    +	/* add the new nref to the data node chain of vnode cache */
     	KASSERT(chmp->chm_blocks[nref->nref_lnr].used_size <= chmp->chm_ebh->eb_size);
     	fd->nref = nref;
     	chfs_add_node_to_list(chmp, ip->chvc, nref, &ip->chvc->dnode);
    +	mutex_exit(&chmp->chm_lock_vnocache);
     out:
     	chfs_free_flash_dnode(dnode);
     	if (CHFS_PAD(size) - sizeof(*dnode)) {
    @@ -394,27 +407,20 @@ out:
     	return err;
     }
     
    -/**
    +/*
      * chfs_do_link - makes a copy from a node
    - * @old: old node
    - * @oldfd: dirent of old node
    - * @parent: parent of new node
    - * @name: name of new node
    - * @namelen: length of name
      * This function writes the dirent of the new node to the media.
      */
     int
    -chfs_do_link(struct chfs_inode *ip, struct chfs_inode *parent, const char *name, int namelen, enum vtype type)
    +chfs_do_link(struct chfs_inode *ip, struct chfs_inode *parent, const char *name, int namelen, enum chtype type)
     {
     	int error = 0;
     	struct vnode *vp = ITOV(ip);
     	struct ufsmount *ump = VFSTOUFS(vp->v_mount);
     	struct chfs_mount *chmp = ump->um_chfs;
     	struct chfs_dirent *newfd = NULL;
    -//	struct chfs_dirent *fd = NULL;
    -
    -	//dbg("link vno: %llu\n", ip->ino);
     
    +	/* setting up the new directory entry */
     	newfd = chfs_alloc_dirent(namelen + 1);
     
     	newfd->vno = ip->ino;
    @@ -422,7 +428,6 @@ chfs_do_link(struct chfs_inode *ip, struct chfs_inode *parent, const char *name,
     	newfd->nsize = namelen;
     	memcpy(newfd->name, name, namelen);
     	newfd->name[newfd->nsize] = 0;
    -//	newfd->next = NULL;
     
     	ip->chvc->nlink++;
     	parent->chvc->nlink++;
    @@ -431,10 +436,12 @@ chfs_do_link(struct chfs_inode *ip, struct chfs_inode *parent, const char *name,
     
     	mutex_enter(&chmp->chm_lock_mountfields);
     
    +	/* update vnode information */
     	error = chfs_write_flash_vnode(chmp, ip, ALLOC_NORMAL);
     	if (error)
     		return error;
     
    +	/* write out the new dirent */
     	error = chfs_write_flash_dirent(chmp,
     	    parent, ip, newfd, ip->ino, ALLOC_NORMAL);
     	/* TODO: what should we do if error isn't zero? */
    @@ -443,28 +450,15 @@ chfs_do_link(struct chfs_inode *ip, struct chfs_inode *parent, const char *name,
     
     	/* add fd to the fd list */
     	TAILQ_INSERT_TAIL(&parent->dents, newfd, fds);
    -#if 0
    -	fd = parent->dents;
    -	if (!fd) {
    -		parent->dents = newfd;
    -	} else {
    -		while (fd->next)
    -			fd = fd->next;
    -		fd->next = newfd;
    -	}
    -#endif
     
     	return error;
     }
     
     
    -/**
    +/*
      * chfs_do_unlink - delete a node
    - * @ip: node what we'd like to delete
    - * @parent: parent of the node
    - * @name: name of the node
    - * @namelen: length of name
    - * This function set the nlink and vno of the node zero and write its dirent to the media.
    + * This function set the nlink and vno of the node to zero and
    + * write its dirent to the media.
      */
     int
     chfs_do_unlink(struct chfs_inode *ip,
    @@ -477,8 +471,6 @@ chfs_do_unlink(struct chfs_inode *ip,
     	struct chfs_mount *chmp = ump->um_chfs;
     	struct chfs_node_ref *nref;
     
    -	//dbg("unlink vno: %llu\n", ip->ino);
    -
     	vflushbuf(vp, 0);
     
     	mutex_enter(&chmp->chm_lock_mountfields);
    @@ -488,54 +480,57 @@ chfs_do_unlink(struct chfs_inode *ip,
     		if (fd->vno == ip->ino &&
     		    fd->nsize == namelen &&
     		    !memcmp(fd->name, name, fd->nsize)) {
    -			if (fd->type == VDIR && ip->chvc->nlink == 2)
    +
    +			/* remove every fragment of the file */
    +			chfs_kill_fragtree(chmp, &ip->fragtree);
    +
    +			/* decrease number of links to the file */
    +			if (fd->type == CHT_DIR && ip->chvc->nlink == 2)
     				ip->chvc->nlink = 0;
     			else
     				ip->chvc->nlink--;
     
    -			fd->type = VNON;
    +			fd->type = CHT_BLANK;
     
    +			/* remove from parent's directory entries */
     			TAILQ_REMOVE(&parent->dents, fd, fds);
     
    -			/* remove nref from dirents list */
    -			nref = parent->chvc->dirents;
    -			if (nref == fd->nref) {
    -				nref->nref_next = fd->nref->nref_next;
    -			} else {
    -				while (nref->nref_next && nref->nref_next != fd->nref)
    -					nref = nref->nref_next;
    -				if (nref->nref_next)
    -					nref->nref_next = fd->nref->nref_next;
    -			}
    +			mutex_enter(&chmp->chm_lock_vnocache);
     
    -			//dbg("FD->NREF vno: %llu, lnr: %u, ofs: %u\n",
    -			//    fd->vno, fd->nref->nref_lnr, fd->nref->nref_offset);
    -			chfs_mark_node_obsolete(chmp, fd->nref);
    +			dbg("FD->NREF vno: %llu, lnr: %u, ofs: %u\n",
    +			    fd->vno, fd->nref->nref_lnr, fd->nref->nref_offset);
    +			chfs_remove_and_obsolete(chmp, parent->chvc, fd->nref,
    +				&parent->chvc->dirents);
     
     			error = chfs_write_flash_dirent(chmp,
     			    parent, ip, fd, 0, ALLOC_DELETION);
     
    -			//dbg("FD->NREF vno: %llu, lnr: %u, ofs: %u\n",
    -			//    fd->vno, fd->nref->nref_lnr, fd->nref->nref_offset);
    -			chfs_mark_node_obsolete(chmp, fd->nref);
    +			dbg("FD->NREF vno: %llu, lnr: %u, ofs: %u\n",
    +			    fd->vno, fd->nref->nref_lnr, fd->nref->nref_offset);
    +			/* set nref_next field */
    +			chfs_add_node_to_list(chmp, parent->chvc, fd->nref,
    +				&parent->chvc->dirents);
    +			/* remove from the list */
    +			chfs_remove_and_obsolete(chmp, parent->chvc, fd->nref,
    +				&parent->chvc->dirents);
     
    -			nref = ip->chvc->dnode;
    -			while (nref != (struct chfs_node_ref *)ip->chvc) {
    -				//dbg("DATA NREF\n");
    -				chfs_mark_node_obsolete(chmp, nref);
    -				nref = nref->nref_next;
    +			/* clean dnode list */
    +			while (ip->chvc->dnode != (struct chfs_node_ref *)ip->chvc) {
    +				nref = ip->chvc->dnode;
    +				chfs_remove_frags_of_node(chmp, &ip->fragtree, nref);
    +				chfs_remove_and_obsolete(chmp, ip->chvc, nref, &ip->chvc->dnode);
     			}
    -			ip->chvc->dnode = (struct chfs_node_ref *)ip->chvc;
     
    -			nref = ip->chvc->v;
    -			while (nref != (struct chfs_node_ref *)ip->chvc) {
    -				//dbg("V NREF\n");
    -				chfs_mark_node_obsolete(chmp, nref);
    -				nref = nref->nref_next;
    +			/* clean vnode information (list) */
    +			while (ip->chvc->v != (struct chfs_node_ref *)ip->chvc) {
    +				nref = ip->chvc->v;
    +				chfs_remove_and_obsolete(chmp, ip->chvc, nref, &ip->chvc->v);
     			}
    -			ip->chvc->v = ip->chvc->v->nref_next;
     
    +			/* decrease number of links to parent */
     			parent->chvc->nlink--;
    +
    +			mutex_exit(&chmp->chm_lock_vnocache);
     			//TODO: if error
     		}
     	}
    diff --git a/sys/ufs/chfs/debug.c b/sys/ufs/chfs/debug.c
    deleted file mode 100644
    index 0d1fa5b52..000000000
    --- a/sys/ufs/chfs/debug.c
    +++ /dev/null
    @@ -1,48 +0,0 @@
    -/*	$NetBSD: debug.c,v 1.1 2011/11/24 15:51:32 ahoka Exp $	*/
    -
    -/*-
    - * Copyright (c) 2010 Department of Software Engineering,
    - *		      University of Szeged, Hungary
    - * All rights reserved.
    - *
    - * This code is derived from software contributed to The NetBSD Foundation
    - * by the Department of Software Engineering, University of Szeged, Hungary
    - *
    - * 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 ``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 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.
    - */
    -
    -/*
    - * XipFFS -- Xip Flash File System
    - *
    - * Copyright (C) 2009  Ferenc Havasi ,
    - *                     Zoltan Sogor ,
    - *                     ...
    - *                     University of Szeged, Hungary
    - *
    - *
    - * For licensing information, see the file 'LICENCE' in this directory.
    - *
    - */
    -
    -#include "chfs.h"
    -//#include 
    -
    diff --git a/sys/ufs/chfs/debug.h b/sys/ufs/chfs/debug.h
    index 6128f7f01..fee63233c 100644
    --- a/sys/ufs/chfs/debug.h
    +++ b/sys/ufs/chfs/debug.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: debug.h,v 1.1 2011/11/24 15:51:32 ahoka Exp $	*/
    +/*	$NetBSD: debug.h,v 1.2 2012/04/12 15:31:01 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -30,19 +30,6 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * XipFFS -- Xip Flash File System
    - *
    - * Copyright (C) 2009  Ferenc Havasi ,
    - *                     Zoltan Sogor ,
    - *                     ...
    - *                     University of Szeged, Hungary
    - *
    - *
    - * For licensing information, see the file 'LICENCE' in this directory.
    - *
    - */
    -
     #ifndef __CHFS_DEBUG_H__
     #define __CHFS_DEBUG_H__
     
    diff --git a/sys/ufs/chfs/ebh.c b/sys/ufs/chfs/ebh.c
    index ff0d984ee..47b33cb59 100644
    --- a/sys/ufs/chfs/ebh.c
    +++ b/sys/ufs/chfs/ebh.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ebh.c,v 1.2 2011/11/25 11:15:24 ahoka Exp $	*/
    +/*	$NetBSD: ebh.c,v 1.3 2012/08/10 09:26:58 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -1730,6 +1730,7 @@ ebh_read_leb(struct chfs_ebh *ebh, int lnr, char *buf, uint32_t offset,
     	err = leb_read_lock(ebh, lnr);
     	if (err)
     		return err;
    +
     	pebnr = ebh->lmap[lnr];
     	/* If PEB is not mapped the buffer is filled with 0xFF */
     	if (EBH_LEB_UNMAPPED == pebnr) {
    @@ -1747,9 +1748,6 @@ ebh_read_leb(struct chfs_ebh *ebh, int lnr, char *buf, uint32_t offset,
     
     	KASSERT(len == *retlen);
     
    -	leb_read_unlock(ebh, lnr);
    -	return err;
    -
     out_free:
     	leb_read_unlock(ebh, lnr);
     	return err;
    diff --git a/sys/ufs/chfs/ebh.h b/sys/ufs/chfs/ebh.h
    index 51e6999ba..05ad5a8f6 100644
    --- a/sys/ufs/chfs/ebh.h
    +++ b/sys/ufs/chfs/ebh.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ebh.h,v 1.1 2011/11/24 15:51:32 ahoka Exp $	*/
    +/*	$NetBSD: ebh.h,v 1.3 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -32,16 +32,10 @@
      * SUCH DAMAGE.
      */
     
    -/*
    - * ebh.h
    - *
    - *  Created on: 2009.11.03.
    - *      Author: dtengeri
    - */
    -
     #ifndef EBH_H_
     #define EBH_H_
     
    +#ifdef _KERNEL
     #include 
     #include 
     #include 
    @@ -57,10 +51,27 @@
     #include 
     
     #include 
    -#include 
    -#include 
    -#include 
    +#include "debug.h"
    +#include "ebh_misc.h"
    +#endif /* _KERNEL */
     
    +#include "ebh_media.h"
    +
    +/**
    + * struct  chfs_eb_hdr - in-memory representation of eraseblock headers
    + * @ec_hdr: erase counter header ob eraseblock
    + * @u.nor_hdr: eraseblock header on NOR flash
    + * @u.nand_hdr: eraseblock header on NAND flash
    + */
    +struct  chfs_eb_hdr {
    +	struct chfs_eb_ec_hdr ec_hdr;
    +	union {
    +		struct chfs_nor_eb_hdr  nor_hdr;
    +		struct chfs_nand_eb_hdr nand_hdr;
    +	} u;
    +};
    +
    +#ifdef _KERNEL
     /* Maximum retries when getting new PEB before exit with failure */
     #define CHFS_MAX_GET_PEB_RETRIES 2
     
    @@ -134,7 +145,6 @@ TAILQ_HEAD(scan_leb_queue, chfs_scan_leb);
     RB_HEAD(scan_leb_used_rbtree, chfs_scan_leb);
     
     
    -
     /**
      * struct chfs_scan_info - chfs scanning information
      * @corrupted: queue of corrupted physical eraseblocks
    @@ -181,19 +191,6 @@ TAILQ_HEAD(peb_queue, chfs_peb);
     RB_HEAD(peb_free_rbtree, chfs_peb);
     RB_HEAD(peb_in_use_rbtree, chfs_peb);
     
    -/**
    - * struct  chfs_eb_hdr - in-memory representation of eraseblock headers
    - * @ec_hdr: erase counter header ob eraseblock
    - * @u.nor_hdr: eraseblock header on NOR flash
    - * @u.nand_hdr: eraseblock header on NAND flash
    - */
    -struct  chfs_eb_hdr {
    -	struct chfs_eb_ec_hdr ec_hdr;
    -	union {
    -		struct chfs_nor_eb_hdr  nor_hdr;
    -		struct chfs_nand_eb_hdr nand_hdr;
    -	} u;
    -};
     
     /*
      * struct chfs_ebh_ops - collection of operations which
    @@ -314,5 +311,6 @@ int ebh_is_mapped(struct chfs_ebh *ebh, int lnr);
     int ebh_change_leb(struct chfs_ebh *ebh, int lnr, char *buf,
         size_t len, size_t *retlen);
     
    +#endif /* _KERNEL */
     
     #endif /* EBH_H_ */
    diff --git a/sys/ufs/chfs/ebh_misc.h b/sys/ufs/chfs/ebh_misc.h
    index 75b09ae14..f44b43826 100644
    --- a/sys/ufs/chfs/ebh_misc.h
    +++ b/sys/ufs/chfs/ebh_misc.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ebh_misc.h,v 1.1 2011/11/24 15:51:32 ahoka Exp $	*/
    +/*	$NetBSD: ebh_misc.h,v 1.2 2012/10/19 12:44:39 ttoth Exp $	*/
     
     /*-
      * Copyright (c) 2010 Department of Software Engineering,
    @@ -33,20 +33,15 @@
     #ifndef EBH_MISC_H_
     #define EBH_MISC_H_
     
    -/******************************************************************************/
    -/* EBH specific functions													  */
    -/******************************************************************************/
    +/* EBH specific functions */
     
     #define CHFS_GET_MEMBER_POS(type, member)				      \
     	((unsigned long)(&((type *)0)->member))
     
     #define CHFS_GET_LID(lid) (le32toh(lid) & CHFS_LID_DIRTY_BIT_MASK)
     
    -/**
    +/*
      * EBH_TREE_DESTROY - destroys an RB-tree and frees the memory of its elements.
    - * @name - the RB-tree structure's name
    - * @head - pointer to the RB-tree's head
    - * @type - type of the elements
      */
     #define EBH_TREE_DESTROY(name, head, type)				      \
     	{								      \
    @@ -70,11 +65,8 @@
     		}							      \
     	}
     
    -/**
    +/*
      * EBH_QUEUE_DESTROY - destroys a TAILQ and frees the memory of its elements.
    - * @head: pointer to the head of the queue
    - * @type: type of the elements
    - * @entry: name of TAILQ_ENTRY
      */
     #define EBH_QUEUE_DESTROY(head, type, entry)				      \
     	{								      \
    diff --git a/sys/ufs/chfs/media.h b/sys/ufs/chfs/media.h
    index 1f94131a9..89c744613 100644
    --- a/sys/ufs/chfs/media.h
    +++ b/sys/ufs/chfs/media.h
    @@ -40,23 +40,20 @@
     typedef uint16_t le16;
     typedef uint32_t le32;
     typedef uint64_t le64;
    -#endif
    -
    -/*****************************************************************************/
    -/*			File system specific structures			     */
    -/*****************************************************************************/
    +#endif	/* _LE_TYPES */
     
    +/* node types */
     enum {
    -	CHFS_NODETYPE_VNODE = 1,
    -	CHFS_NODETYPE_DATA,
    -	CHFS_NODETYPE_DIRENT,
    -	CHFS_NODETYPE_PADDING,
    +	CHFS_NODETYPE_VNODE = 1,	/* vnode information */
    +	CHFS_NODETYPE_DATA,			/* data node */
    +	CHFS_NODETYPE_DIRENT,		/* directory enrty */
    +	CHFS_NODETYPE_PADDING,		/* padding node */
     };
     
    -//#define CHFS_NODE_HDR_SIZE 12 /* magic + type + length + hdr_crc */
     #define CHFS_NODE_HDR_SIZE sizeof(struct chfs_flash_node_hdr)
     
    -/* Max size we have to read to get all info.
    +/*
    + * Max size we have to read to get all info.
      * It is max size of chfs_flash_dirent_node with max name length.
      */
     #define CHFS_MAX_NODE_SIZE 299
    @@ -64,137 +61,83 @@ enum {
     /* This will identify CHfs nodes */
     #define CHFS_FS_MAGIC_BITMASK 0x4AF1
     
    -/**
    - * struct chfs_flash_node_hdr - node header, its members are same for
    - *				    all	nodes, used at scan
    - * @magic: filesystem magic
    - * @type: node type
    - * @length: length of node
    - * @hdr_crc: crc of the first 3 members
    +/*
    + * struct chfs_flash_node_hdr - 
    + * node header, its members are same for all nodes, used at scan
      */
     struct chfs_flash_node_hdr
     {
    -	le16 magic;
    -	le16 type;
    -	le32 length;
    -	le32 hdr_crc;
    +	le16 magic;		/* filesystem magic */
    +	le16 type;		/* node type */
    +	le32 length;	/* length of node */
    +	le32 hdr_crc;	/* crc of the first 3 fields */
     } __packed;
     
    -/**
    - * struct chfs_flash_vnode - vnode informations stored on flash
    - * @magic: filesystem magic
    - * @type: node type (CHFS_NODETYPE_VNODE)
    - * @length: length of node
    - * @hdr_crc: crc of the first 3 members
    - * @vno: vnode identifier id
    - * @version: vnode's version number
    - * @uid: owner of the file
    - * @gid: group of file
    - * @mode: permissions for vnode
    - * @dn_size: size of written out data nodes
    - * @atime: last access times
    - * @mtime: last modification time
    - * @ctime: change time
    - * @dsize: size of the node's data
    - * @node_crc: crc of full node
    - */
    +/* struct chfs_flash_vnode - vnode informations stored on flash */
     struct chfs_flash_vnode
     {
    -	le16 magic;		/*0 */
    -	le16 type;		/*2 */
    -	le32 length;		/*4 */
    -	le32 hdr_crc;		/*8 */
    -	le64 vno;		/*12*/
    -	le64 version;		/*20*/
    -	le32 uid;		/*28*/
    -	le32 gid;		/*32*/
    -	le32 mode;		/*36*/
    -	le32 dn_size;		/*40*/
    -	le32 atime;		/*44*/
    -	le32 mtime;		/*48*/
    -	le32 ctime;		/*52*/
    -	le32 dsize;		/*56*/
    -	le32 node_crc;		/*60*/
    +	le16 magic;		/* filesystem magic */
    +	le16 type;		/* node type (should be CHFS_NODETYPE_VNODE) */
    +	le32 length;	/* length of node */
    +	le32 hdr_crc;	/* crc of the first 3 fields  */
    +	le64 vno;		/* vnode number */
    +	le64 version;	/* version of node */
    +	le32 uid;		/* owner of file */
    +	le32 gid;		/* group of file */
    +	le32 mode;		/* permission of vnode */
    +	le32 dn_size;	/* size of written data */
    +	le32 atime;		/* last access time */
    +	le32 mtime;		/* last modification time */
    +	le32 ctime;		/* change time */
    +	le32 dsize;		/* NOT USED, backward compatibility */
    +	le32 node_crc;	/* crc of all the previous fields */
     } __packed;
     
    -/**
    - * struct chfs_flash_data_node - node informations of data stored on flash
    - * @magic: filesystem magic
    - * @type: node type (CHFS_NODETYPE_DATA)
    - * @length: length of node with data
    - * @hdr_crc: crc of the first 3 members
    - * @vno: vnode identifier id
    - * @version: vnode's version number
    - * @offset: offset in the file where write begins
    - * @data_length: length of data
    - * @data_crc: crc of data
    - * @node_crc: crc of full node
    - * @data: array of data
    - */
    +/* struct chfs_flash_data_node - data stored on flash */
     struct chfs_flash_data_node
     {
    -	le16 magic;
    -	le16 type;
    -	le32 length;
    -	le32 hdr_crc;
    -	le64 vno;
    -	le64 version;
    -	le64 offset;
    -	le32 data_length;
    -	le32 data_crc;
    -	le32 node_crc;
    -	uint8_t  data[0];
    +	le16 magic;			/* filesystem magic */
    +	le16 type;			/* node type (should be CHFS_NODETYPE_DATA) */
    +	le32 length;		/* length of vnode with data */
    +	le32 hdr_crc;		/* crc of the first 3 fields */
    +	le64 vno;			/* vnode number */
    +	le64 version;		/* version of node */
    +	le64 offset;		/* offset in the file */
    +	le32 data_length;	/* length of data */
    +	le32 data_crc;		/* crc of data*/
    +	le32 node_crc;		/* crc of full node */
    +	uint8_t  data[0];	/* data */
     } __packed;
     
    -/**
    - * struct chfs_flash_dirent_node - vnode informations stored on flash
    - * @magic: filesystem magic
    - * @type: node type (CHFS_NODETYPE_DIRENT)
    - * @length: length of node
    - * @hdr_crc: crc of the first 3 members
    - * @vno: vnode identifier id
    - * @pvno: vnode identifier id of parent vnode
    - * @version: vnode's version number
    - * @mctime:
    - * @nsize: length of name
    - * @dtype: file type
    - * @unused: just for padding
    - * @name_crc: crc of name
    - * @node_crc: crc of full node
    - * @name: name of the directory entry
    +/*
    + * struct chfs_flash_dirent_node -
    + * directory entry information stored on flash
      */
     struct chfs_flash_dirent_node
     {
    -	le16 magic;
    -	le16 type;
    -	le32 length;
    -	le32 hdr_crc;
    -	le64 vno;
    -	le64 pvno;
    -	le64 version;
    -	le32 mctime;
    -	uint8_t nsize;
    -	uint8_t dtype;
    -	uint8_t unused[2];
    -	le32 name_crc;
    -	le32 node_crc;
    -	uint8_t  name[0];
    +	le16 magic;			/* filesystem magic */
    +	le16 type;			/* node type (should be CHFS_NODETYPE_DIRENT) */
    +	le32 length;		/* length of node with name */
    +	le32 hdr_crc;		/* crc of the first 3 fields */
    +	le64 vno;			/* vnode number */
    +	le64 pvno;			/* parent's vnode number */
    +	le64 version;		/* version of node */
    +	le32 mctime;		/* */
    +	uint8_t nsize;		/* length of name */
    +	uint8_t dtype;		/* file type */
    +	uint8_t unused[2];	/* just for padding */
    +	le32 name_crc;		/* crc of name */
    +	le32 node_crc;		/* crc of full node */
    +	uint8_t  name[0];	/* name of directory entry */
     } __packed;
     
    -/**
    - * struct chfs_flash_padding_node - node informations of data stored on
    - *					flash
    - * @magic: filesystem magic
    - * @type: node type (CHFS_NODETYPE_PADDING)
    - * @length: length of node
    - * @hdr_crc: crc of the first 3 members
    - */
    +/* struct chfs_flash_padding_node - spaceholder node on flash */
     struct chfs_flash_padding_node
     {
    -	le16 magic;
    -	le16 type;
    -	le32 length;
    -	le32 hdr_crc;
    +	le16 magic;		/* filesystem magic */
    +	le16 type;		/* node type (should be CHFS_NODETYPE_PADDING )*/
    +	le32 length;	/* length of node */
    +	le32 hdr_crc;	/* crc of the first 3 fields */
     } __packed;
     
     #endif /* __CHFS_MEDIA_H__ */
    diff --git a/sys/ufs/ext2fs/ext2fs.h b/sys/ufs/ext2fs/ext2fs.h
    index 6b994a237..7a0181d3e 100644
    --- a/sys/ufs/ext2fs/ext2fs.h
    +++ b/sys/ufs/ext2fs/ext2fs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs.h,v 1.29 2009/11/27 11:16:54 tsutsui Exp $	*/
    +/*	$NetBSD: ext2fs.h,v 1.36 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1993
    @@ -198,15 +198,57 @@ struct m_ext2fs {
     
     /* compatible/incompatible features */
     #define EXT2F_COMPAT_PREALLOC		0x0001
    +#define EXT2F_COMPAT_AFS		0x0002
     #define EXT2F_COMPAT_HASJOURNAL		0x0004
    +#define EXT2F_COMPAT_EXTATTR		0x0008
     #define EXT2F_COMPAT_RESIZE		0x0010
    +#define EXT2F_COMPAT_DIRHASHINDEX	0x0020
    +#define	EXT2F_COMPAT_BITS \
    +	"\20" \
    +	"\06COMPAT_DIRHASHINDEX" \
    +	"\05COMPAT_RESIZE" \
    +	"\04COMPAT_EXTATTR" \
    +	"\03COMPAT_HASJOURNAL" \
    +	"\02COMPAT_AFS" \
    +	"\01COMPAT_PREALLOC"
     
     #define EXT2F_ROCOMPAT_SPARSESUPER	0x0001
     #define EXT2F_ROCOMPAT_LARGEFILE	0x0002
     #define EXT2F_ROCOMPAT_BTREE_DIR	0x0004
    +#define EXT2F_ROCOMPAT_HUGE_FILE	0x0008
    +#define EXT2F_ROCOMPAT_GDT_CSUM		0x0010
    +#define EXT2F_ROCOMPAT_DIR_NLINK	0x0020
    +#define EXT2F_ROCOMPAT_EXTRA_ISIZE	0x0040
    +#define	EXT2F_ROCOMPAT_BITS \
    +	"\20" \
    +	"\07ROCOMPAT_EXTRA_ISIZE" \
    +	"\06ROCOMPAT_DIR_NLINK" \
    +	"\05ROCOMPAT_GDT_CSUM" \
    +	"\04ROCOMPAT_HUGE_FILE" \
    +	"\03ROCOMPAT_BTREE_DIR" \
    +	"\02ROCOMPAT_LARGEFILE" \
    +	"\01ROCOMPAT_SPARSESUPER"
     
     #define EXT2F_INCOMPAT_COMP		0x0001
     #define EXT2F_INCOMPAT_FTYPE		0x0002
    +#define	EXT2F_INCOMPAT_REPLAY_JOURNAL	0x0004
    +#define	EXT2F_INCOMPAT_USES_JOURNAL	0x0008
    +#define EXT2F_INCOMPAT_META_BG		0x0010
    +#define EXT2F_INCOMPAT_EXTENTS		0x0040
    +#define EXT2F_INCOMPAT_64BIT		0x0080
    +#define EXT2F_INCOMPAT_MMP		0x0100
    +#define EXT2F_INCOMPAT_FLEX_BG		0x0200
    +#define	EXT2F_INCOMPAT_BITS \
    +	"\20" \
    +	"\012INCOMPAT_FLEX_BG" \
    +	"\011INCOMPAT_MMP" \
    +	"\010INCOMPAT_64BIT" \
    +	"\07INCOMPAT_EXTENTS" \
    +	"\05INCOMPAT_META_BG" \
    +	"\04INCOMPAT_USES_JOURNAL" \
    +	"\03INCOMPAT_REPLAY_JOURNAL" \
    +	"\02INCOMPAT_FTYPE" \
    +	"\01INCOMPAT_COMP"
     
     /*
      * Features supported in this implementation
    @@ -223,7 +265,8 @@ struct m_ext2fs {
      */
     #define EXT2F_COMPAT_SUPP		0x0000
     #define EXT2F_ROCOMPAT_SUPP		(EXT2F_ROCOMPAT_SPARSESUPER \
    -					 | EXT2F_ROCOMPAT_LARGEFILE)
    +					 | EXT2F_ROCOMPAT_LARGEFILE \
    +					 | EXT2F_ROCOMPAT_HUGE_FILE)
     #define EXT2F_INCOMPAT_SUPP		EXT2F_INCOMPAT_FTYPE
     
     /*
    @@ -319,8 +362,8 @@ void e2fs_cg_bswap(struct ext2_gd *, struct ext2_gd *, int);
      * Turn file system block numbers into disk block addresses.
      * This maps file system blocks to device size blocks.
      */
    -#define fsbtodb(fs, b)	((b) << (fs)->e2fs_fsbtodb)
    -#define dbtofsb(fs, b)	((b) >> (fs)->e2fs_fsbtodb)
    +#define EXT2_FSBTODB(fs, b)	((b) << (fs)->e2fs_fsbtodb)
    +#define EXT2_DBTOFSB(fs, b)	((b) >> (fs)->e2fs_fsbtodb)
     
     /*
      * Macros for handling inode numbers:
    @@ -347,15 +390,15 @@ void e2fs_cg_bswap(struct ext2_gd *, struct ext2_gd *, int);
      * quantities by using shifts and masks in place of divisions
      * modulos and multiplications.
      */
    -#define blkoff(fs, loc)		/* calculates (loc % fs->e2fs_bsize) */ \
    +#define ext2_blkoff(fs, loc)	/* calculates (loc % fs->e2fs_bsize) */ \
     	((loc) & (fs)->e2fs_qbmask)
    -#define lblktosize(fs, blk)	/* calculates (blk * fs->e2fs_bsize) */ \
    +#define ext2_lblktosize(fs, blk) /* calculates (blk * fs->e2fs_bsize) */ \
     	((blk) << (fs)->e2fs_bshift)
    -#define lblkno(fs, loc)		/* calculates (loc / fs->e2fs_bsize) */ \
    +#define ext2_lblkno(fs, loc)	/* calculates (loc / fs->e2fs_bsize) */ \
     	((loc) >> (fs)->e2fs_bshift)
    -#define blkroundup(fs, size)	/* calculates roundup(size, fs->e2fs_bsize) */ \
    +#define ext2_blkroundup(fs, size) /* calculates roundup(size, fs->e2fs_bsize) */ \
     	(((size) + (fs)->e2fs_qbmask) & (fs)->e2fs_bmask)
    -#define fragroundup(fs, size)	/* calculates roundup(size, fs->e2fs_bsize) */ \
    +#define ext2_fragroundup(fs, size) /* calculates roundup(size, fs->e2fs_bsize) */ \
     	(((size) + (fs)->e2fs_qbmask) & (fs)->e2fs_bmask)
     /*
      * Determine the number of available frags given a
    @@ -367,6 +410,6 @@ void e2fs_cg_bswap(struct ext2_gd *, struct ext2_gd *, int);
     /*
      * Number of indirects in a file system block.
      */
    -#define	NINDIR(fs)	((fs)->e2fs_bsize / sizeof(uint32_t))
    +#define	EXT2_NINDIR(fs)	((fs)->e2fs_bsize / sizeof(uint32_t))
     
     #endif /* !_UFS_EXT2FS_EXT2FS_H_ */
    diff --git a/sys/ufs/ext2fs/ext2fs_alloc.c b/sys/ufs/ext2fs/ext2fs_alloc.c
    index 9c2b4cf40..52a7b0596 100644
    --- a/sys/ufs/ext2fs/ext2fs_alloc.c
    +++ b/sys/ufs/ext2fs/ext2fs_alloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_alloc.c,v 1.42 2011/03/06 04:46:26 rmind Exp $	*/
    +/*	$NetBSD: ext2fs_alloc.c,v 1.45 2013/06/23 02:06:05 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_alloc.c,v 1.42 2011/03/06 04:46:26 rmind Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_alloc.c,v 1.45 2013/06/23 02:06:05 dholland Exp $");
     
     #include 
     #include 
    @@ -135,7 +135,7 @@ ext2fs_alloc(struct inode *ip, daddr_t lbn, daddr_t bpref,
     	bno = (daddr_t)ext2fs_hashalloc(ip, cg, bpref, fs->e2fs_bsize,
     	    ext2fs_alloccg);
     	if (bno > 0) {
    -		ip->i_e2fs_nblock += btodb(fs->e2fs_bsize);
    +		ext2fs_setnblock(ip, ext2fs_nblock(ip) + btodb(fs->e2fs_bsize));
     		ip->i_flag |= IN_CHANGE | IN_UPDATE;
     		*bnp = bno;
     		return (0);
    @@ -355,11 +355,10 @@ ext2fs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size)
     	fs = ip->i_e2fs;
     	if (fs->e2fs_gd[cg].ext2bgd_nbfree == 0)
     		return (0);
    -	error = bread(ip->i_devvp, fsbtodb(fs,
    +	error = bread(ip->i_devvp, EXT2_FSBTODB(fs,
     		fs->e2fs_gd[cg].ext2bgd_b_bitmap),
     		(int)fs->e2fs_bsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (0);
     	}
     	bbp = (char *)bp->b_data;
    @@ -442,11 +441,10 @@ ext2fs_nodealloccg(struct inode *ip, int cg, daddr_t ipref, int mode)
     	fs = ip->i_e2fs;
     	if (fs->e2fs_gd[cg].ext2bgd_nifree == 0)
     		return (0);
    -	error = bread(ip->i_devvp, fsbtodb(fs,
    +	error = bread(ip->i_devvp, EXT2_FSBTODB(fs,
     		fs->e2fs_gd[cg].ext2bgd_i_bitmap),
     		(int)fs->e2fs_bsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (0);
     	}
     	ibp = (char *)bp->b_data;
    @@ -511,10 +509,9 @@ ext2fs_blkfree(struct inode *ip, daddr_t bno)
     		return;
     	}
     	error = bread(ip->i_devvp,
    -		fsbtodb(fs, fs->e2fs_gd[cg].ext2bgd_b_bitmap),
    +		EXT2_FSBTODB(fs, fs->e2fs_gd[cg].ext2bgd_b_bitmap),
     		(int)fs->e2fs_bsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return;
     	}
     	bbp = (char *)bp->b_data;
    @@ -555,10 +552,9 @@ ext2fs_vfree(struct vnode *pvp, ino_t ino, int mode)
     		    fs->e2fs_fsmnt);
     	cg = ino_to_cg(fs, ino);
     	error = bread(pip->i_devvp,
    -		fsbtodb(fs, fs->e2fs_gd[cg].ext2bgd_i_bitmap),
    +		EXT2_FSBTODB(fs, fs->e2fs_gd[cg].ext2bgd_i_bitmap),
     		(int)fs->e2fs_bsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (0);
     	}
     	ibp = (char *)bp->b_data;
    diff --git a/sys/ufs/ext2fs/ext2fs_balloc.c b/sys/ufs/ext2fs/ext2fs_balloc.c
    index 6564bf905..f614c35b8 100644
    --- a/sys/ufs/ext2fs/ext2fs_balloc.c
    +++ b/sys/ufs/ext2fs/ext2fs_balloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_balloc.c,v 1.34 2009/10/19 18:41:17 bouyer Exp $	*/
    +/*	$NetBSD: ext2fs_balloc.c,v 1.39 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_balloc.c,v 1.34 2009/10/19 18:41:17 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_balloc.c,v 1.39 2013/06/23 07:28:37 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_uvmhist.h"
    @@ -96,12 +96,12 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     	daddr_t nb;
     	struct buf *bp, *nbp;
     	struct vnode *vp = ITOV(ip);
    -	struct indir indirs[NIADDR + 2];
    +	struct indir indirs[EXT2FS_NIADDR + 2];
     	daddr_t newb, lbn, pref;
     	int32_t *bap;	/* XXX ondisk32 */
     	int num, i, error;
     	u_int deallocated;
    -	daddr_t *blkp, *allocblk, allociblk[NIADDR + 1];
    +	daddr_t *blkp, *allocblk, allociblk[EXT2FS_NIADDR + 1];
     	int32_t *allocib;	/* XXX ondisk32 */
     	int unwindidx = -1;
     	UVMHIST_FUNC("ext2fs_balloc"); UVMHIST_CALLED(ubchist);
    @@ -117,9 +117,9 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     	lbn = bn;
     
     	/*
    -	 * The first NDADDR blocks are direct blocks
    +	 * The first EXT2FS_NDADDR blocks are direct blocks
     	 */
    -	if (bn < NDADDR) {
    +	if (bn < EXT2FS_NDADDR) {
     		/* XXX ondisk32 */
     		nb = fs2h32(ip->i_e2fs_blocks[bn]);
     		if (nb != 0) {
    @@ -132,7 +132,6 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     				error = bread(vp, bn, fs->e2fs_bsize, NOCRED,
     					      B_MODIFY, &bp);
     				if (error) {
    -					brelse(bp, 0);
     					return (error);
     				}
     				*bpp = bp;
    @@ -156,7 +155,7 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     		ip->i_flag |= IN_CHANGE | IN_UPDATE;
     		if (bpp != NULL) {
     			bp = getblk(vp, bn, fs->e2fs_bsize, 0, 0);
    -			bp->b_blkno = fsbtodb(fs, newb);
    +			bp->b_blkno = EXT2_FSBTODB(fs, newb);
     			if (flags & B_CLRBUF)
     				clrbuf(bp);
     			*bpp = bp;
    @@ -178,7 +177,7 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     	 */
     	--num;
     	/* XXX ondisk32 */
    -	nb = fs2h32(ip->i_e2fs_blocks[NDADDR + indirs[0].in_off]);
    +	nb = fs2h32(ip->i_e2fs_blocks[EXT2FS_NDADDR + indirs[0].in_off]);
     	allocib = NULL;
     	allocblk = allociblk;
     	if (nb == 0) {
    @@ -190,7 +189,7 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     		*allocblk++ = nb;
     		ip->i_e2fs_last_blk = newb;
     		bp = getblk(vp, indirs[1].in_lbn, fs->e2fs_bsize, 0, 0);
    -		bp->b_blkno = fsbtodb(fs, newb);
    +		bp->b_blkno = EXT2_FSBTODB(fs, newb);
     		clrbuf(bp);
     		/*
     		 * Write synchronously so that indirect blocks
    @@ -199,7 +198,7 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     		if ((error = bwrite(bp)) != 0)
     			goto fail;
     		unwindidx = 0;
    -		allocib = &ip->i_e2fs_blocks[NDADDR + indirs[0].in_off];
    +		allocib = &ip->i_e2fs_blocks[EXT2FS_NDADDR + indirs[0].in_off];
     		/* XXX ondisk32 */
     		*allocib = h2fs32((int32_t)newb);
     		ip->i_flag |= IN_CHANGE | IN_UPDATE;
    @@ -211,7 +210,6 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     		error = bread(vp,
     		    indirs[i].in_lbn, (int)fs->e2fs_bsize, NOCRED, 0, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			goto fail;
     		}
     		bap = (int32_t *)bp->b_data;	/* XXX ondisk32 */
    @@ -233,7 +231,7 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     		*allocblk++ = nb;
     		ip->i_e2fs_last_blk = newb;
     		nbp = getblk(vp, indirs[i].in_lbn, fs->e2fs_bsize, 0, 0);
    -		nbp->b_blkno = fsbtodb(fs, nb);
    +		nbp->b_blkno = EXT2_FSBTODB(fs, nb);
     		clrbuf(nbp);
     		/*
     		 * Write synchronously so that indirect blocks
    @@ -284,7 +282,7 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     		}
     		if (bpp != NULL) {
     			nbp = getblk(vp, lbn, fs->e2fs_bsize, 0, 0);
    -			nbp->b_blkno = fsbtodb(fs, nb);
    +			nbp->b_blkno = EXT2_FSBTODB(fs, nb);
     			if (flags & B_CLRBUF)
     				clrbuf(nbp);
     			*bpp = nbp;
    @@ -297,12 +295,11 @@ ext2fs_balloc(struct inode *ip, daddr_t bn, int size,
     			error = bread(vp, lbn, (int)fs->e2fs_bsize, NOCRED,
     				      B_MODIFY, &nbp);
     			if (error) {
    -				brelse(nbp, 0);
     				goto fail;
     			}
     		} else {
     			nbp = getblk(vp, lbn, fs->e2fs_bsize, 0, 0);
    -			nbp->b_blkno = fsbtodb(fs, nb);
    +			nbp->b_blkno = EXT2_FSBTODB(fs, nb);
     		}
     		*bpp = nbp;
     	}
    @@ -326,7 +323,6 @@ fail:
     			    (int)fs->e2fs_bsize, NOCRED, B_MODIFY, &bp);
     			if (r) {
     				panic("Could not unwind indirect block, error %d", r);
    -				brelse(bp, 0);
     			} else {
     				bap = (int32_t *)bp->b_data; /* XXX ondisk32 */
     				bap[indirs[unwindidx].in_off] = 0;
    @@ -343,7 +339,7 @@ fail:
     		}
     	}
     	if (deallocated) {
    -		ip->i_e2fs_nblock -= btodb(deallocated);
    +		ext2fs_setnblock(ip, ext2fs_nblock(ip) - btodb(deallocated));
     		ip->i_e2fs_flags |= IN_CHANGE | IN_UPDATE;
     	}
     	return error;
    @@ -370,7 +366,7 @@ ext2fs_gop_alloc(struct vnode *vp, off_t off, off_t len, int flags,
     		UVMHIST_LOG(ubchist, "off 0x%x len 0x%x bsize 0x%x",
     			    off, len, bsize, 0);
     
    -		error = ext2fs_balloc(ip, lblkno(fs, off), bsize, cred,
    +		error = ext2fs_balloc(ip, ext2_lblkno(fs, off), bsize, cred,
     		    NULL, flags);
     		if (error) {
     			UVMHIST_LOG(ubchist, "error %d", error, 0,0,0);
    diff --git a/sys/ufs/ext2fs/ext2fs_bmap.c b/sys/ufs/ext2fs/ext2fs_bmap.c
    index 5336fddc4..bfa85f113 100644
    --- a/sys/ufs/ext2fs/ext2fs_bmap.c
    +++ b/sys/ufs/ext2fs/ext2fs_bmap.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_bmap.c,v 1.25 2009/10/19 18:41:17 bouyer Exp $	*/
    +/*	$NetBSD: ext2fs_bmap.c,v 1.26 2013/01/22 09:39:15 dholland Exp $	*/
     
     /*
      * Copyright (c) 1989, 1991, 1993
    @@ -65,7 +65,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_bmap.c,v 1.25 2009/10/19 18:41:17 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_bmap.c,v 1.26 2013/01/22 09:39:15 dholland Exp $");
     
     #include 
     #include 
    @@ -139,7 +139,7 @@ ext2fs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     	struct buf *bp, *cbp;
     	struct ufsmount *ump;
     	struct mount *mp;
    -	struct indir a[NIADDR+1], *xap;
    +	struct indir a[EXT2FS_NIADDR+1], *xap;
     	daddr_t daddr;
     	daddr_t metalbn;
     	int error, maxrun = 0, num;
    @@ -163,14 +163,14 @@ ext2fs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     		maxrun = MAXBSIZE / mp->mnt_stat.f_iosize - 1;
     	}
     
    -	if (bn >= 0 && bn < NDADDR) {
    +	if (bn >= 0 && bn < EXT2FS_NDADDR) {
     		/* XXX ondisk32 */
     		*bnp = blkptrtodb(ump, fs2h32(ip->i_e2fs_blocks[bn]));
     		if (*bnp == 0)
     			*bnp = -1;
     		else if (runp)
     			/* XXX ondisk32 */
    -			for (++bn; bn < NDADDR && *runp < maxrun &&
    +			for (++bn; bn < EXT2FS_NDADDR && *runp < maxrun &&
     				is_sequential(ump, (daddr_t)fs2h32(ip->i_e2fs_blocks[bn - 1]),
     							  (daddr_t)fs2h32(ip->i_e2fs_blocks[bn]));
     				++bn, ++*runp);
    @@ -187,10 +187,10 @@ ext2fs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     
     	/* Get disk address out of indirect block array */
     	/* XXX ondisk32 */
    -	daddr = fs2h32(ip->i_e2fs_blocks[NDADDR + xap->in_off]);
    +	daddr = fs2h32(ip->i_e2fs_blocks[EXT2FS_NDADDR + xap->in_off]);
     
     #ifdef DIAGNOSTIC
    -    if (num > NIADDR + 1 || num < 1) {
    +    if (num > EXT2FS_NIADDR + 1 || num < 1) {
     		printf("ext2fs_bmaparray: num=%d\n", num);
     		panic("ext2fs_bmaparray: num");
     	}
    diff --git a/sys/ufs/ext2fs/ext2fs_bswap.c b/sys/ufs/ext2fs/ext2fs_bswap.c
    index ba0ddc462..7ed8d8411 100644
    --- a/sys/ufs/ext2fs/ext2fs_bswap.c
    +++ b/sys/ufs/ext2fs/ext2fs_bswap.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_bswap.c,v 1.16 2009/10/19 18:41:17 bouyer Exp $	*/
    +/*	$NetBSD: ext2fs_bswap.c,v 1.19 2013/01/22 09:39:15 dholland Exp $	*/
     
     /*
      * Copyright (c) 1997 Manuel Bouyer.
    @@ -26,7 +26,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_bswap.c,v 1.16 2009/10/19 18:41:17 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_bswap.c,v 1.19 2013/01/22 09:39:15 dholland Exp $");
     
     #include 
     #include 
    @@ -38,7 +38,7 @@ __KERNEL_RCSID(0, "$NetBSD: ext2fs_bswap.c,v 1.16 2009/10/19 18:41:17 bouyer Exp
     #include 
     #endif
     
    -/* These functions are only needed if native byte order is not big endian */
    +/* These functions are only needed if native byte order is not little endian */
     #if BYTE_ORDER == BIG_ENDIAN
     void
     e2fs_sb_bswap(struct ext2fs *old, struct ext2fs *new)
    @@ -109,13 +109,16 @@ void e2fs_i_bswap(struct ext2fs_dinode *old, struct ext2fs_dinode *new)
     	new->e2di_dtime		=	bswap32(old->e2di_dtime);
     	new->e2di_nblock	=	bswap32(old->e2di_nblock);
     	new->e2di_flags		=	bswap32(old->e2di_flags);
    +	new->e2di_version	=	bswap32(old->e2di_version);
     	new->e2di_gen		=	bswap32(old->e2di_gen);
     	new->e2di_facl		=	bswap32(old->e2di_facl);
     	new->e2di_dacl		=	bswap32(old->e2di_dacl);
     	new->e2di_faddr		=	bswap32(old->e2di_faddr);
    +	new->e2di_nblock_high	=	bswap16(old->e2di_nblock_high);
    +	new->e2di_facl_high	=	bswap16(old->e2di_facl_high);
     	new->e2di_uid_high	=	bswap16(old->e2di_uid_high);
     	new->e2di_gid_high	=	bswap16(old->e2di_gid_high);
     	memcpy(&new->e2di_blocks[0], &old->e2di_blocks[0],
    -	    (NDADDR + NIADDR) * sizeof(uint32_t));
    +	    (EXT2FS_NDADDR + EXT2FS_NIADDR) * sizeof(uint32_t));
     }
     #endif
    diff --git a/sys/ufs/ext2fs/ext2fs_dinode.h b/sys/ufs/ext2fs/ext2fs_dinode.h
    index 0020e9a4a..57feaa8bd 100644
    --- a/sys/ufs/ext2fs/ext2fs_dinode.h
    +++ b/sys/ufs/ext2fs/ext2fs_dinode.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_dinode.h,v 1.22 2009/11/27 11:16:54 tsutsui Exp $	*/
    +/*	$NetBSD: ext2fs_dinode.h,v 1.26 2013/01/22 09:39:15 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1989, 1993
    @@ -92,40 +92,45 @@
      * are defined by types with precise widths.
      */
     
    -#define	NDADDR	12			/* Direct addresses in inode. */
    -#define	NIADDR	3			/* Indirect addresses in inode. */
    +/*
    + * XXX these are the same values as UFS_NDADDR/UFS_NIADDR and it is
    + * far from clear that there isn't code that relies on them being the
    + * same.
    + */
    +#define	EXT2FS_NDADDR	12		/* Direct addresses in inode. */
    +#define	EXT2FS_NIADDR	3		/* Indirect addresses in inode. */
     
    -#define EXT2_MAXSYMLINKLEN ((NDADDR+NIADDR) * sizeof (uint32_t))
    +#define EXT2_MAXSYMLINKLEN ((EXT2FS_NDADDR+EXT2FS_NIADDR) * sizeof (uint32_t))
     
     struct ext2fs_dinode {
     	uint16_t	e2di_mode;	/*   0: IFMT, permissions; see below. */
     	uint16_t	e2di_uid;	/*   2: Owner UID */
    -	uint32_t	e2di_size;	/*	 4: Size (in bytes) */
    -	uint32_t	e2di_atime;	/*	 8: Acces time */
    -	uint32_t	e2di_ctime;	/*	12: Create time */
    -	uint32_t	e2di_mtime;	/*	16: Modification time */
    -	uint32_t	e2di_dtime;	/*	20: Deletion time */
    +	uint32_t	e2di_size;	/*   4: Size (in bytes) */
    +	uint32_t	e2di_atime;	/*   8: Access time */
    +	uint32_t	e2di_ctime;	/*  12: Create time */
    +	uint32_t	e2di_mtime;	/*  16: Modification time */
    +	uint32_t	e2di_dtime;	/*  20: Deletion time */
     	uint16_t	e2di_gid;	/*  24: Owner GID */
     	uint16_t	e2di_nlink;	/*  26: File link count */
     	uint32_t	e2di_nblock;	/*  28: Blocks count */
     	uint32_t	e2di_flags;	/*  32: Status flags (chflags) */
    -	uint32_t	e2di_linux_reserved1; /* 36 */
    -	uint32_t	e2di_blocks[NDADDR+NIADDR]; /* 40: disk blocks */
    +	uint32_t	e2di_version;	/*  36: was reserved1 */
    +	uint32_t	e2di_blocks[EXT2FS_NDADDR+EXT2FS_NIADDR];
    +					/* 40: disk blocks */
     	uint32_t	e2di_gen;	/* 100: generation number */
     	uint32_t	e2di_facl;	/* 104: file ACL (not implemented) */
     	uint32_t	e2di_dacl;	/* 108: dir ACL (not implemented) */
     	uint32_t	e2di_faddr;	/* 112: fragment address */
    -	uint8_t		e2di_nfrag;	/* 116: fragment number */
    -	uint8_t		e2di_fsize;	/* 117: fragment size */
    -	uint16_t	e2di_linux_reserved2; /* 118 */
    +	uint16_t	e2di_nblock_high; /* 116: Blocks count bits 47:32 */
    +	uint16_t	e2di_facl_high; /* 118: file ACL bits 47:32 */
     	uint16_t	e2di_uid_high;	/* 120: Owner UID top 16 bits */
     	uint16_t	e2di_gid_high;	/* 122: Owner GID top 16 bits */
     	uint32_t	e2di_linux_reserved3; /* 124 */
     };
     
     
    -
    -#define	E2MAXSYMLINKLEN	((NDADDR + NIADDR) * sizeof(uint32_t))
    +/* XXX how does this differ from EXT2_MAXSYMLINKLEN above? */
    +#define	E2MAXSYMLINKLEN	((EXT2FS_NDADDR + EXT2FS_NIADDR) * sizeof(uint32_t))
     
     /* File permissions. */
     #define	EXT2_IEXEC		0000100		/* Executable. */
    @@ -146,13 +151,23 @@ struct ext2fs_dinode {
     #define	EXT2_IFSOCK		0140000		/* UNIX domain socket. */
     
     /* file flags */
    -#define EXT2_SECRM		0x00000001	/* Secure deletion */
    -#define EXT2_UNRM		0x00000002	/* Undelete */
    -#define EXT2_COMPR		0x00000004	/* Compress file */
    -#define EXT2_SYNC		0x00000008	/* Synchronous updates */
    -#define EXT2_IMMUTABLE		0x00000010	/* Immutable file */
    +#define EXT2_SECRM		0x00000001 /* Secure deletion */
    +#define EXT2_UNRM		0x00000002 /* Undelete */
    +#define EXT2_COMPR		0x00000004 /* Compress file */
    +#define EXT2_SYNC		0x00000008 /* Synchronous updates */
    +#define EXT2_IMMUTABLE		0x00000010 /* Immutable file */
     #define EXT2_APPEND		0x00000020 /* writes to file may only append */
    -#define EXT2_NODUMP		0x00000040	/* do not dump file */
    +#define EXT2_NODUMP		0x00000040 /* do not dump file */
    +#define EXT2_NOATIME		0x00000080 /* do not update atime */
    +#define EXT2_INDEX		0x00001000 /* hash-indexed directory */
    +#define EXT2_IMAGIC		0x00002000 /* AFS directory */
    +#define EXT2_JOURNAL_DATA	0x00004000 /* file data should be journaled */
    +#define EXT2_NOTAIL		0x00008000 /* file tail should not be merged */
    +#define EXT2_DIRSYNC		0x00010000 /* dirsync behaviour */
    +#define EXT2_TOPDIR		0x00020000 /* Top of directory hierarchies*/
    +#define EXT2_HUGE_FILE		0x00040000 /* Set to each huge file */
    +#define EXT2_EXTENTS		0x00080000 /* Inode uses extents */
    +#define EXT2_EOFBLOCKS		0x00400000 /* Blocks allocated beyond EOF */
     
     /* Size of on-disk inode. */
     #define EXT2_REV0_DINODE_SIZE	sizeof(struct ext2fs_dinode)
    diff --git a/sys/ufs/ext2fs/ext2fs_dir.h b/sys/ufs/ext2fs/ext2fs_dir.h
    index e1dc152b8..ba6b444ee 100644
    --- a/sys/ufs/ext2fs/ext2fs_dir.h
    +++ b/sys/ufs/ext2fs/ext2fs_dir.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_dir.h,v 1.18 2009/10/19 18:41:17 bouyer Exp $	*/
    +/*	$NetBSD: ext2fs_dir.h,v 1.19 2012/05/09 00:21:18 riastradh Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -67,6 +67,8 @@
     #ifndef _UFS_EXT2FS_EXT2FS_DIR_H_
     #define	_UFS_EXT2FS_EXT2FS_DIR_H_
     
    +#include 
    +
     /*
      * Theoretically, directories can be more than 2Gb in length, however, in
      * practice this seems unlikely. So, we define the type doff_t as a 32-bit
    diff --git a/sys/ufs/ext2fs/ext2fs_extern.h b/sys/ufs/ext2fs/ext2fs_extern.h
    index aacff80e7..65baab3ca 100644
    --- a/sys/ufs/ext2fs/ext2fs_extern.h
    +++ b/sys/ufs/ext2fs/ext2fs_extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_extern.h,v 1.43 2011/07/12 16:59:48 dholland Exp $	*/
    +/*	$NetBSD: ext2fs_extern.h,v 1.46 2012/11/21 23:11:23 jakllsch Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993, 1994
    @@ -77,6 +77,7 @@ struct uio;
     struct vnode;
     struct mbuf;
     struct componentname;
    +struct ufs_lookup_results;
     
     extern struct pool ext2fs_inode_pool;		/* memory pool for inodes */
     extern struct pool ext2fs_dinode_pool;		/* memory pool for dinodes */
    @@ -107,8 +108,10 @@ int ext2fs_gop_alloc(struct vnode *, off_t, off_t, int, kauth_cred_t);
     int ext2fs_bmap(void *);
     
     /* ext2fs_inode.c */
    -u_int64_t ext2fs_size(struct inode *);
    -int ext2fs_setsize(struct inode *, u_int64_t);
    +uint64_t ext2fs_size(struct inode *);
    +int ext2fs_setsize(struct inode *, uint64_t);
    +uint64_t ext2fs_nblock(struct inode *);
    +int ext2fs_setnblock(struct inode *, uint64_t);
     int ext2fs_update(struct vnode *, const struct timespec *,
         const struct timespec *, int);
     int ext2fs_truncate(struct vnode *, off_t, int, kauth_cred_t);
    diff --git a/sys/ufs/ext2fs/ext2fs_inode.c b/sys/ufs/ext2fs/ext2fs_inode.c
    index 0d52fb494..d3ea15323 100644
    --- a/sys/ufs/ext2fs/ext2fs_inode.c
    +++ b/sys/ufs/ext2fs/ext2fs_inode.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_inode.c,v 1.74 2011/06/16 09:21:03 hannken Exp $	*/
    +/*	$NetBSD: ext2fs_inode.c,v 1.81 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_inode.c,v 1.74 2011/06/16 09:21:03 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_inode.c,v 1.81 2013/06/23 07:28:37 dholland Exp $");
     
     #include 
     #include 
    @@ -70,7 +70,7 @@ __KERNEL_RCSID(0, "$NetBSD: ext2fs_inode.c,v 1.74 2011/06/16 09:21:03 hannken Ex
     #include 
     #include 
     #include 
    -#include 
    +#include 
     #include 
     #include 
     #include 
    @@ -87,6 +87,14 @@ extern int prtactive;
     static int ext2fs_indirtrunc(struct inode *, daddr_t, daddr_t,
     				  daddr_t, int, long *);
     
    +/*
    + * These are fortunately the same values; it is likely that there is
    + * code that assumes they're equal. In any event, neither ought to
    + * ever change because it's a property of the on-disk formats.
    + */
    +CTASSERT(EXT2FS_NDADDR == UFS_NDADDR);
    +CTASSERT(EXT2FS_NIADDR == UFS_NIADDR);
    +
     /*
      * Get the size of an inode.
      */
    @@ -128,6 +136,54 @@ ext2fs_setsize(struct inode *ip, uint64_t size)
     	return 0;
     }
     
    +uint64_t
    +ext2fs_nblock(struct inode *ip)
    +{
    +	uint64_t nblock = ip->i_e2fs_nblock;
    +	struct m_ext2fs * const fs = ip->i_e2fs;
    +
    +	if (fs->e2fs.e2fs_features_rocompat & EXT2F_ROCOMPAT_HUGE_FILE) {
    +		nblock |= (uint64_t)ip->i_e2fs_nblock_high << 32;
    +
    +		if ((ip->i_e2fs_flags & EXT2_HUGE_FILE)) {
    +			nblock = EXT2_FSBTODB(fs, nblock);
    +		}
    +	}
    +
    +	return nblock;
    +}
    +
    +int
    +ext2fs_setnblock(struct inode *ip, uint64_t nblock)
    +{
    +	struct m_ext2fs * const fs = ip->i_e2fs;
    +
    +	if (nblock <= 0xffffffffULL) {
    +		CLR(ip->i_e2fs_flags, EXT2_HUGE_FILE);
    +		ip->i_e2fs_nblock = nblock;
    +		return 0;
    +	}
    +
    +	if (!ISSET(fs->e2fs.e2fs_features_rocompat, EXT2F_ROCOMPAT_HUGE_FILE)) 
    +		return EFBIG;
    +
    +	if (nblock <= 0xffffffffffffULL) {
    +		CLR(ip->i_e2fs_flags, EXT2_HUGE_FILE);
    +		ip->i_e2fs_nblock = nblock & 0xffffffff;
    +		ip->i_e2fs_nblock_high = (nblock >> 32) & 0xffff;
    +		return 0;
    +	}
    +
    +	if (EXT2_DBTOFSB(fs, nblock) <= 0xffffffffffffULL) {
    +		SET(ip->i_e2fs_flags, EXT2_HUGE_FILE);
    +		ip->i_e2fs_nblock = EXT2_DBTOFSB(fs, nblock) & 0xffffffff;
    +		ip->i_e2fs_nblock_high = (EXT2_DBTOFSB(fs, nblock) >> 32) & 0xffff;
    +		return 0;
    +	}
    +
    +	return EFBIG;
    +}
    +
     /*
      * Last reference to an inode.  If necessary, write or delete it.
      */
    @@ -205,10 +261,9 @@ ext2fs_update(struct vnode *vp, const struct timespec *acc,
     	fs = ip->i_e2fs;
     
     	error = bread(ip->i_devvp,
    -			  fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
    +			  EXT2_FSBTODB(fs, ino_to_fsba(fs, ip->i_number)),
     			  (int)fs->e2fs_bsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	ip->i_flag &= ~(IN_MODIFIED | IN_ACCESSED);
    @@ -238,9 +293,9 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     {
     	daddr_t lastblock;
     	struct inode *oip = VTOI(ovp);
    -	daddr_t bn, lastiblock[NIADDR], indir_lbn[NIADDR];
    +	daddr_t bn, lastiblock[EXT2FS_NIADDR], indir_lbn[EXT2FS_NIADDR];
     	/* XXX ondisk32 */
    -	int32_t oldblks[NDADDR + NIADDR], newblks[NDADDR + NIADDR];
    +	int32_t oldblks[EXT2FS_NDADDR + EXT2FS_NIADDR], newblks[EXT2FS_NDADDR + EXT2FS_NIADDR];
     	struct m_ext2fs *fs;
     	int offset, size, level;
     	long count, blocksreleased = 0;
    @@ -260,7 +315,7 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     
     	if (ovp->v_type == VLNK &&
     	    (ext2fs_size(oip) < ump->um_maxsymlinklen ||
    -	     (ump->um_maxsymlinklen == 0 && oip->i_e2fs_nblock == 0))) {
    +	     (ump->um_maxsymlinklen == 0 && ext2fs_nblock(oip) == 0))) {
     		KDASSERT(length == 0);
     		memset((char *)&oip->i_din.e2fs_din->e2di_shortlink, 0,
     			(u_int)ext2fs_size(oip));
    @@ -306,7 +361,7 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     	 * zero'ed in case it ever become accessible again because
     	 * of subsequent file growth.
     	 */
    -	offset = blkoff(fs, length);
    +	offset = ext2_blkoff(fs, length);
     	if (offset != 0) {
     		size = fs->e2fs_bsize;
     
    @@ -322,10 +377,10 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     	 * which we want to keep.  Lastblock is -1 when
     	 * the file is truncated to 0.
     	 */
    -	lastblock = lblkno(fs, length + fs->e2fs_bsize - 1) - 1;
    -	lastiblock[SINGLE] = lastblock - NDADDR;
    -	lastiblock[DOUBLE] = lastiblock[SINGLE] - NINDIR(fs);
    -	lastiblock[TRIPLE] = lastiblock[DOUBLE] - NINDIR(fs) * NINDIR(fs);
    +	lastblock = ext2_lblkno(fs, length + fs->e2fs_bsize - 1) - 1;
    +	lastiblock[SINGLE] = lastblock - EXT2FS_NDADDR;
    +	lastiblock[DOUBLE] = lastiblock[SINGLE] - EXT2_NINDIR(fs);
    +	lastiblock[TRIPLE] = lastiblock[DOUBLE] - EXT2_NINDIR(fs) * EXT2_NINDIR(fs);
     	nblocks = btodb(fs->e2fs_bsize);
     	/*
     	 * Update file and block pointers on disk before we start freeing
    @@ -336,13 +391,13 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     	memcpy((void *)oldblks, (void *)&oip->i_e2fs_blocks[0], sizeof oldblks);
     	sync = 0;
     	for (level = TRIPLE; level >= SINGLE; level--) {
    -		if (lastiblock[level] < 0 && oldblks[NDADDR + level] != 0) {
    +		if (lastiblock[level] < 0 && oldblks[EXT2FS_NDADDR + level] != 0) {
     			sync = 1;
    -			oip->i_e2fs_blocks[NDADDR + level] = 0;
    +			oip->i_e2fs_blocks[EXT2FS_NDADDR + level] = 0;
     			lastiblock[level] = -1;
     		}
     	}
    -	for (i = 0; i < NDADDR; i++) {
    +	for (i = 0; i < EXT2FS_NDADDR; i++) {
     		if (i > lastblock && oldblks[i] != 0) {
     			sync = 1;
     			oip->i_e2fs_blocks[i] = 0;
    @@ -372,20 +427,20 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     	/*
     	 * Indirect blocks first.
     	 */
    -	indir_lbn[SINGLE] = -NDADDR;
    -	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - NINDIR(fs) -1;
    -	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - NINDIR(fs) * NINDIR(fs) - 1;
    +	indir_lbn[SINGLE] = -EXT2FS_NDADDR;
    +	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - EXT2_NINDIR(fs) -1;
    +	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - EXT2_NINDIR(fs) * EXT2_NINDIR(fs) - 1;
     	for (level = TRIPLE; level >= SINGLE; level--) {
     		/* XXX ondisk32 */
    -		bn = fs2h32(oip->i_e2fs_blocks[NDADDR + level]);
    +		bn = fs2h32(oip->i_e2fs_blocks[EXT2FS_NDADDR + level]);
     		if (bn != 0) {
     			error = ext2fs_indirtrunc(oip, indir_lbn[level],
    -			    fsbtodb(fs, bn), lastiblock[level], level, &count);
    +			    EXT2_FSBTODB(fs, bn), lastiblock[level], level, &count);
     			if (error)
     				allerror = error;
     			blocksreleased += count;
     			if (lastiblock[level] < 0) {
    -				oip->i_e2fs_blocks[NDADDR + level] = 0;
    +				oip->i_e2fs_blocks[EXT2FS_NDADDR + level] = 0;
     				ext2fs_blkfree(oip, bn);
     				blocksreleased += nblocks;
     			}
    @@ -397,7 +452,7 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     	/*
     	 * All whole direct blocks or frags.
     	 */
    -	for (i = NDADDR - 1; i > lastblock; i--) {
    +	for (i = EXT2FS_NDADDR - 1; i > lastblock; i--) {
     		/* XXX ondisk32 */
     		bn = fs2h32(oip->i_e2fs_blocks[i]);
     		if (bn == 0)
    @@ -410,10 +465,10 @@ ext2fs_truncate(struct vnode *ovp, off_t length, int ioflag,
     done:
     #ifdef DIAGNOSTIC
     	for (level = SINGLE; level <= TRIPLE; level++)
    -		if (newblks[NDADDR + level] !=
    -		    oip->i_e2fs_blocks[NDADDR + level])
    +		if (newblks[EXT2FS_NDADDR + level] !=
    +		    oip->i_e2fs_blocks[EXT2FS_NDADDR + level])
     			panic("ext2fs_truncate1");
    -	for (i = 0; i < NDADDR; i++)
    +	for (i = 0; i < EXT2FS_NDADDR; i++)
     		if (newblks[i] != oip->i_e2fs_blocks[i])
     			panic("ext2fs_truncate2");
     	if (length == 0 &&
    @@ -425,7 +480,9 @@ done:
     	 * Put back the real size.
     	 */
     	(void)ext2fs_setsize(oip, length);
    -	oip->i_e2fs_nblock -= blocksreleased;
    +	error = ext2fs_setnblock(oip, ext2fs_nblock(oip) - blocksreleased);
    +	if (error != 0)
    +		allerror = error;
     	oip->i_flag |= IN_CHANGE;
     	KASSERT(ovp->v_type != VREG || ovp->v_size == ext2fs_size(oip));
     	return (allerror);
    @@ -462,7 +519,7 @@ ext2fs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	 */
     	factor = 1;
     	for (i = SINGLE; i < level; i++)
    -		factor *= NINDIR(fs);
    +		factor *= EXT2_NINDIR(fs);
     	last = lastbn;
     	if (lastbn > 0)
     		last /= factor;
    @@ -499,10 +556,10 @@ ext2fs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	bap = (int32_t *)bp->b_data;	/* XXX ondisk32 */
     	if (lastbn >= 0) {
     		/* XXX ondisk32 */
    -		copy = malloc(fs->e2fs_bsize, M_TEMP, M_WAITOK);
    +		copy = kmem_alloc(fs->e2fs_bsize, KM_SLEEP);
     		memcpy((void *)copy, (void *)bap, (u_int)fs->e2fs_bsize);
     		memset((void *)&bap[last + 1], 0,
    -			(u_int)(NINDIR(fs) - (last + 1)) * sizeof (uint32_t));
    +			(u_int)(EXT2_NINDIR(fs) - (last + 1)) * sizeof (uint32_t));
     		error = bwrite(bp);
     		if (error)
     			allerror = error;
    @@ -512,7 +569,7 @@ ext2fs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	/*
     	 * Recursively free totally unused blocks.
     	 */
    -	for (i = NINDIR(fs) - 1,
    +	for (i = EXT2_NINDIR(fs) - 1,
     		nlbn = lbn + 1 - i * factor; i > last;
     		i--, nlbn += factor) {
     		/* XXX ondisk32 */
    @@ -520,7 +577,7 @@ ext2fs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     		if (nb == 0)
     			continue;
     		if (level > SINGLE) {
    -			error = ext2fs_indirtrunc(ip, nlbn, fsbtodb(fs, nb),
    +			error = ext2fs_indirtrunc(ip, nlbn, EXT2_FSBTODB(fs, nb),
     						   (daddr_t)-1, level - 1,
     						   &blkcount);
     			if (error)
    @@ -539,7 +596,7 @@ ext2fs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     		/* XXX ondisk32 */
     		nb = fs2h32(bap[i]);
     		if (nb != 0) {
    -			error = ext2fs_indirtrunc(ip, nlbn, fsbtodb(fs, nb),
    +			error = ext2fs_indirtrunc(ip, nlbn, EXT2_FSBTODB(fs, nb),
     						   last, level - 1, &blkcount);
     			if (error)
     				allerror = error;
    @@ -548,7 +605,7 @@ ext2fs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	}
     
     	if (copy != NULL) {
    -		free(copy, M_TEMP);
    +		kmem_free(copy, fs->e2fs_bsize);
     	} else {
     		brelse(bp, BC_INVAL);
     	}
    diff --git a/sys/ufs/ext2fs/ext2fs_lookup.c b/sys/ufs/ext2fs/ext2fs_lookup.c
    index eb59c45a0..cc10f2ec6 100644
    --- a/sys/ufs/ext2fs/ext2fs_lookup.c
    +++ b/sys/ufs/ext2fs/ext2fs_lookup.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_lookup.c,v 1.66 2011/07/12 16:59:48 dholland Exp $	*/
    +/*	$NetBSD: ext2fs_lookup.c,v 1.73 2013/01/22 09:39:15 dholland Exp $	*/
     
     /*
      * Modified for NetBSD 1.2E
    @@ -48,7 +48,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_lookup.c,v 1.66 2011/07/12 16:59:48 dholland Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_lookup.c,v 1.73 2013/01/22 09:39:15 dholland Exp $");
     
     #include 
     #include 
    @@ -57,6 +57,7 @@ __KERNEL_RCSID(0, "$NetBSD: ext2fs_lookup.c,v 1.66 2011/07/12 16:59:48 dholland
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -70,6 +71,8 @@ __KERNEL_RCSID(0, "$NetBSD: ext2fs_lookup.c,v 1.66 2011/07/12 16:59:48 dholland
     #include 
     #include 
     
    +#include 
    +
     extern	int dirchk;
     
     static void	ext2fs_dirconv2ffs(struct ext2fs_direct *e2dir,
    @@ -167,15 +170,14 @@ ext2fs_readdir(void *v)
     	aiov.iov_len = e2fs_count;
     	auio.uio_resid = e2fs_count;
     	UIO_SETUP_SYSSPACE(&auio);
    -	dirbuf = malloc(e2fs_count, M_TEMP, M_WAITOK);
    -	dstd = malloc(sizeof(struct dirent), M_TEMP, M_WAITOK | M_ZERO);
    +	dirbuf = kmem_alloc(e2fs_count, KM_SLEEP);
    +	dstd = kmem_zalloc(sizeof(struct dirent), KM_SLEEP);
     	if (ap->a_ncookies) {
     		nc = e2fs_count / _DIRENT_MINSIZE((struct dirent *)0);
     		ncookies = nc;
     		cookies = malloc(sizeof (off_t) * ncookies, M_TEMP, M_WAITOK);
     		*ap->a_cookies = cookies;
     	}
    -	memset(dirbuf, 0, e2fs_count);
     	aiov.iov_base = dirbuf;
     
     	error = VOP_READ(ap->a_vp, &auio, 0, ap->a_cred);
    @@ -209,8 +211,8 @@ ext2fs_readdir(void *v)
     		/* we need to correct uio_offset */
     		uio->uio_offset = off;
     	}
    -	free(dirbuf, M_TEMP);
    -	free(dstd, M_TEMP);
    +	kmem_free(dirbuf, e2fs_count);
    +	kmem_free(dstd, sizeof(*dstd));
     	*ap->a_eofflag = ext2fs_size(VTOI(ap->a_vp)) <= uio->uio_offset;
     	if (ap->a_ncookies) {
     		if (error) {
    @@ -323,8 +325,10 @@ ext2fs_lookup(void *v)
     	 * check the name cache to see if the directory/name pair
     	 * we are looking for is known already.
     	 */
    -	if ((error = cache_lookup(vdp, vpp, cnp)) >= 0)
    -		return (error);
    +	if (cache_lookup(vdp, cnp->cn_nameptr, cnp->cn_namelen,
    +			 cnp->cn_nameiop, cnp->cn_flags, NULL, vpp)) {
    +		return *vpp == NULLVP ? ENOENT : 0;
    +	}
     
     	/*
     	 * Suppress search for slots unless creating
    @@ -536,9 +540,11 @@ searchloop:
     	/*
     	 * Insert name into cache (as non-existent) if appropriate.
     	 */
    -	if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE)
    -		cache_enter(vdp, *vpp, cnp);
    -	return (ENOENT);
    +	if (nameiop != CREATE) {
    +		cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +	}
    +	return ENOENT;
     
     found:
     	if (numdirpasses == 2)
    @@ -574,11 +580,6 @@ found:
     	 * Lock the inode, being careful with ".".
     	 */
     	if (nameiop == DELETE && (flags & ISLASTCN)) {
    -		/*
    -		 * Write access to directory required to delete files.
    -		 */
    -		if ((error = VOP_ACCESS(vdp, VWRITE, cred)) != 0)
    -			return (error);
     		/*
     		 * Return pointer to current entry in results->ulr_offset,
     		 * and distance past previous entry (if there
    @@ -591,28 +592,43 @@ found:
     			results->ulr_count = results->ulr_offset - prevoff;
     		if (dp->i_number == foundino) {
     			vref(vdp);
    -			*vpp = vdp;
    -			return (0);
    +			tdp = vdp;
    +		} else {
    +			if (flags & ISDOTDOT)
    +				VOP_UNLOCK(vdp); /* race to get the inode */
    +			error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    +			if (flags & ISDOTDOT)
    +				vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY);
    +			if (error)
    +				return (error);
     		}
    -		if (flags & ISDOTDOT)
    -			VOP_UNLOCK(vdp); /* race to get the inode */
    -		error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    -		if (flags & ISDOTDOT)
    -			vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY);
    -		if (error)
    +		/*
    +		 * Write access to directory required to delete files.
    +		 */
    +		if ((error = VOP_ACCESS(vdp, VWRITE, cred)) != 0) {
    +			if (dp->i_number == foundino)
    +				vrele(tdp);
    +			else
    +				vput(tdp);
     			return (error);
    +		}
     		/*
     		 * If directory is "sticky", then user must own
     		 * the directory, or the file in it, else she
     		 * may not delete it (unless she's root). This
     		 * implements append-only directories.
     		 */
    -		if ((dp->i_e2fs_mode & ISVTX) &&
    -		    kauth_authorize_generic(cred, KAUTH_GENERIC_ISSUSER, NULL) &&
    -		    kauth_cred_geteuid(cred) != dp->i_uid &&
    -		    VTOI(tdp)->i_uid != kauth_cred_geteuid(cred)) {
    -			vput(tdp);
    -			return (EPERM);
    +		if (dp->i_e2fs_mode & ISVTX) {
    +			error = kauth_authorize_vnode(cred, KAUTH_VNODE_DELETE,
    +			    tdp, vdp, genfs_can_sticky(cred, dp->i_uid,
    +			    VTOI(tdp)->i_uid));
    +			if (error) {
    +				if (dp->i_number == foundino)
    +					vrele(tdp);
    +				else
    +					vput(tdp);
    +				return (EPERM);
    +			}
     		}
     		*vpp = tdp;
     		return (0);
    @@ -686,9 +702,8 @@ found:
     	/*
     	 * Insert name into cache if appropriate.
     	 */
    -	if (cnp->cn_flags & MAKEENTRY)
    -		cache_enter(vdp, *vpp, cnp);
    -	return (0);
    +	cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
    +	return 0;
     }
     
     /*
    @@ -1030,7 +1045,7 @@ ext2fs_checkpath(struct inode *source, struct inode *target,
     		error = EEXIST;
     		goto out;
     	}
    -	rootino = ROOTINO;
    +	rootino = UFS_ROOTINO;
     	error = 0;
     	if (target->i_number == rootino)
     		goto out;
    diff --git a/sys/ufs/ext2fs/ext2fs_readwrite.c b/sys/ufs/ext2fs/ext2fs_readwrite.c
    index 0b6f8d617..4c9dd98b5 100644
    --- a/sys/ufs/ext2fs/ext2fs_readwrite.c
    +++ b/sys/ufs/ext2fs/ext2fs_readwrite.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_readwrite.c,v 1.58 2011/11/18 21:18:51 christos Exp $	*/
    +/*	$NetBSD: ext2fs_readwrite.c,v 1.64 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1993
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.58 2011/11/18 21:18:51 christos Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_readwrite.c,v 1.64 2013/06/23 07:28:37 dholland Exp $");
     
     #include 
     #include 
    @@ -123,7 +123,7 @@ ext2fs_read(void *v)
     
     	if (vp->v_type == VLNK) {
     		if (ext2fs_size(ip) < ump->um_maxsymlinklen ||
    -		    (ump->um_maxsymlinklen == 0 && ip->i_e2fs_nblock == 0))
    +		    (ump->um_maxsymlinklen == 0 && ext2fs_nblock(ip) == 0))
     			panic("%s: short symlink", "ext2fs_read");
     	} else if (vp->v_type != VREG && vp->v_type != VDIR)
     		panic("%s: type %d", "ext2fs_read", vp->v_type);
    @@ -157,17 +157,17 @@ ext2fs_read(void *v)
     		bytesinfile = ext2fs_size(ip) - uio->uio_offset;
     		if (bytesinfile <= 0)
     			break;
    -		lbn = lblkno(fs, uio->uio_offset);
    +		lbn = ext2_lblkno(fs, uio->uio_offset);
     		nextlbn = lbn + 1;
     		size = fs->e2fs_bsize;
    -		blkoffset = blkoff(fs, uio->uio_offset);
    +		blkoffset = ext2_blkoff(fs, uio->uio_offset);
     		xfersize = fs->e2fs_bsize - blkoffset;
     		if (uio->uio_resid < xfersize)
     			xfersize = uio->uio_resid;
     		if (bytesinfile < xfersize)
     			xfersize = bytesinfile;
     
    -		if (lblktosize(fs, nextlbn) >= ext2fs_size(ip))
    +		if (ext2_lblktosize(fs, nextlbn) >= ext2fs_size(ip))
     			error = bread(vp, lbn, size, NOCRED, 0, &bp);
     		else {
     			int nextsize = fs->e2fs_bsize;
    @@ -279,7 +279,7 @@ ext2fs_write(void *v)
     	if (vp->v_type == VREG) {
     		while (uio->uio_resid > 0) {
     			oldoff = uio->uio_offset;
    -			blkoffset = blkoff(fs, uio->uio_offset);
    +			blkoffset = ext2_blkoff(fs, uio->uio_offset);
     			bytelen = MIN(fs->e2fs_bsize - blkoffset,
     			    uio->uio_resid);
     
    @@ -313,13 +313,14 @@ ext2fs_write(void *v)
     			if (!async && oldoff >> 16 != uio->uio_offset >> 16) {
     				mutex_enter(vp->v_interlock);
     				error = VOP_PUTPAGES(vp, (oldoff >> 16) << 16,
    -				    (uio->uio_offset >> 16) << 16, PGO_CLEANIT);
    +				    (uio->uio_offset >> 16) << 16,
    +				    PGO_CLEANIT | PGO_LAZY);
     			}
     		}
     		if (error == 0 && ioflag & IO_SYNC) {
     			mutex_enter(vp->v_interlock);
     			error = VOP_PUTPAGES(vp, trunc_page(oldoff),
    -			    round_page(blkroundup(fs, uio->uio_offset)),
    +			    round_page(ext2_blkroundup(fs, uio->uio_offset)),
     			    PGO_CLEANIT | PGO_SYNCIO);
     		}
     
    @@ -328,8 +329,8 @@ ext2fs_write(void *v)
     
     	flags = ioflag & IO_SYNC ? B_SYNC : 0;
     	for (error = 0; uio->uio_resid > 0;) {
    -		lbn = lblkno(fs, uio->uio_offset);
    -		blkoffset = blkoff(fs, uio->uio_offset);
    +		lbn = ext2_lblkno(fs, uio->uio_offset);
    +		blkoffset = ext2_blkoff(fs, uio->uio_offset);
     		xfersize = MIN(fs->e2fs_bsize - blkoffset, uio->uio_resid);
     		if (xfersize < fs->e2fs_bsize)
     			flags |= B_CLRBUF;
    @@ -376,9 +377,19 @@ out:
     	ip->i_flag |= IN_CHANGE | IN_UPDATE;
     	if (vp->v_mount->mnt_flag & MNT_RELATIME)
     		ip->i_flag |= IN_ACCESS;
    -	if (resid > uio->uio_resid && ap->a_cred &&
    -	    kauth_authorize_generic(ap->a_cred, KAUTH_GENERIC_ISSUSER, NULL))
    -		ip->i_e2fs_mode &= ~(ISUID | ISGID);
    +	if (resid > uio->uio_resid && ap->a_cred) {
    +		if (ip->i_e2fs_mode & ISUID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SUID, vp, NULL, EPERM) != 0)
    +				ip->i_e2fs_mode &= ISUID;
    +		}
    +
    +		if (ip->i_e2fs_mode & ISGID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SGID, vp, NULL, EPERM) != 0)
    +				ip->i_e2fs_mode &= ~ISGID;
    +		}
    +	}
     	if (resid > uio->uio_resid)
     		VN_KNOTE(vp, NOTE_WRITE | (extended ? NOTE_EXTEND : 0));
     	if (error) {
    diff --git a/sys/ufs/ext2fs/ext2fs_rename.c b/sys/ufs/ext2fs/ext2fs_rename.c
    new file mode 100644
    index 000000000..444a1af4d
    --- /dev/null
    +++ b/sys/ufs/ext2fs/ext2fs_rename.c
    @@ -0,0 +1,992 @@
    +/*	$NetBSD: ext2fs_rename.c,v 1.5 2013/01/22 09:39:15 dholland Exp $	*/
    +
    +/*-
    + * Copyright (c) 2012 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Taylor R Campbell.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +
    +/*
    + * Ext2fs Rename
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_rename.c,v 1.5 2013/01/22 09:39:15 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Forward declarations
    + */
    +static int ext2fs_sane_rename(struct vnode *, struct componentname *,
    +    struct vnode *, struct componentname *,
    +    kauth_cred_t, bool);
    +static bool ext2fs_rename_ulr_overlap_p(const struct ufs_lookup_results *,
    +    const struct ufs_lookup_results *);
    +static int ext2fs_rename_recalculate_fulr(struct vnode *,
    +    struct ufs_lookup_results *, const struct ufs_lookup_results *,
    +    const struct componentname *);
    +static bool ext2fs_rmdired_p(struct vnode *);
    +static int ext2fs_read_dotdot(struct vnode *, kauth_cred_t, ino_t *);
    +static int ext2fs_rename_replace_dotdot(struct vnode *,
    +    struct vnode *, struct vnode *, kauth_cred_t);
    +static int ext2fs_gro_lock_directory(struct mount *, struct vnode *);
    +
    +static const struct genfs_rename_ops ext2fs_genfs_rename_ops;
    +
    +/*
    + * ext2fs_sane_rename: The hairiest vop, with the saner API.
    + *
    + * Arguments:
    + *
    + * . fdvp (from directory vnode),
    + * . fcnp (from component name),
    + * . tdvp (to directory vnode),
    + * . tcnp (to component name),
    + * . cred (credentials structure), and
    + * . posixly_correct (flag for behaviour if target & source link same file).
    + *
    + * fdvp and tdvp may be the same, and must be referenced and unlocked.
    + */
    +static int
    +ext2fs_sane_rename(
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    kauth_cred_t cred, bool posixly_correct)
    +{
    +	struct ufs_lookup_results fulr, tulr;
    +
    +	return genfs_sane_rename(&ext2fs_genfs_rename_ops,
    +	    fdvp, fcnp, &fulr, tdvp, tcnp, &tulr,
    +	    cred, posixly_correct);
    +}
    +
    +/*
    + * ext2fs_rename: The hairiest vop, with the insanest API.  Defer to
    + * genfs_insane_rename immediately.
    + */
    +int
    +ext2fs_rename(void *v)
    +{
    +
    +	return genfs_insane_rename(v, &ext2fs_sane_rename);
    +}
    +
    +/*
    + * ext2fs_gro_directory_empty_p: Return true if the directory vp is
    + * empty.  dvp is its parent.
    + *
    + * vp and dvp must be locked and referenced.
    + */
    +static bool
    +ext2fs_gro_directory_empty_p(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *vp, struct vnode *dvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != dvp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +
    +	return ext2fs_dirempty(VTOI(vp), VTOI(dvp)->i_number, cred);
    +}
    +
    +/*
    + * ext2fs_gro_rename_check_possible: Check whether a rename is possible
    + * independent of credentials.
    + */
    +static int
    +ext2fs_gro_rename_check_possible(struct mount *mp,
    +    struct vnode *fdvp, struct vnode *fvp,
    +    struct vnode *tdvp, struct vnode *tvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	return genfs_ufslike_rename_check_possible(
    +	    VTOI(fdvp)->i_e2fs_flags, VTOI(fvp)->i_e2fs_flags,
    +	    VTOI(tdvp)->i_e2fs_flags, (tvp? VTOI(tvp)->i_e2fs_flags : 0),
    +	    (tvp != NULL),
    +	    EXT2_IMMUTABLE, EXT2_APPEND);
    +}
    +
    +/*
    + * ext2fs_gro_rename_check_permitted: Check whether a rename is
    + * permitted given our credentials.
    + */
    +static int
    +ext2fs_gro_rename_check_permitted(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct vnode *fvp,
    +    struct vnode *tdvp, struct vnode *tvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	return genfs_ufslike_rename_check_permitted(cred,
    +	    fdvp, VTOI(fdvp)->i_e2fs_mode, VTOI(fdvp)->i_uid,
    +	    fvp, VTOI(fvp)->i_uid,
    +	    tdvp, VTOI(tdvp)->i_e2fs_mode, VTOI(tdvp)->i_uid,
    +	    tvp, (tvp? VTOI(tvp)->i_uid : 0));
    +}
    +
    +/*
    + * ext2fs_gro_remove_check_possible: Check whether a remove is possible
    + * independent of credentials.
    + */
    +static int
    +ext2fs_gro_remove_check_possible(struct mount *mp,
    +    struct vnode *dvp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	return genfs_ufslike_remove_check_possible(
    +	    VTOI(dvp)->i_e2fs_flags, VTOI(vp)->i_e2fs_flags,
    +	    EXT2_IMMUTABLE, EXT2_APPEND);
    +}
    +
    +/*
    + * ext2fs_gro_remove_check_permitted: Check whether a remove is
    + * permitted given our credentials.
    + */
    +static int
    +ext2fs_gro_remove_check_permitted(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *dvp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	return genfs_ufslike_remove_check_permitted(cred,
    +	    dvp, VTOI(dvp)->i_e2fs_mode, VTOI(dvp)->i_uid,
    +	    vp, VTOI(vp)->i_uid);
    +}
    +
    +/*
    + * ext2fs_gro_rename: Actually perform the rename operation.
    + */
    +static int
    +ext2fs_gro_rename(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    void *fde, struct vnode *fvp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    void *tde, struct vnode *tvp)
    +{
    +	struct ufs_lookup_results *fulr = fde;
    +	struct ufs_lookup_results *tulr = tde;
    +	bool directory_p, reparent_p;
    +	int error;
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fcnp != NULL);
    +	KASSERT(fulr != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(tcnp != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	/*
    +	 * We shall need to temporarily bump the link count, so make
    +	 * sure there is room to do so.
    +	 */
    +	if ((nlink_t)VTOI(fvp)->i_e2fs_nlink >= LINK_MAX)
    +		return EMLINK;
    +
    +	directory_p = (fvp->v_type == VDIR);
    +	KASSERT(directory_p == ((VTOI(fvp)->i_e2fs_mode & IFMT) == IFDIR));
    +	KASSERT((tvp == NULL) || (directory_p == (tvp->v_type == VDIR)));
    +	KASSERT((tvp == NULL) || (directory_p ==
    +		((VTOI(tvp)->i_e2fs_mode & IFMT) == IFDIR)));
    +
    +	reparent_p = (fdvp != tdvp);
    +	KASSERT(reparent_p == (VTOI(fdvp)->i_number != VTOI(tdvp)->i_number));
    +
    +	/*
    +	 * Commence hacking of the data on disk.
    +	 */
    +
    +	/*
    +	 * 1) Bump link count while we're moving stuff
    +	 *    around.  If we crash somewhere before
    +	 *    completing our work, the link count
    +	 *    may be wrong, but correctable.
    +	 */
    +
    +	KASSERT((nlink_t)VTOI(fvp)->i_e2fs_nlink < LINK_MAX);
    +	VTOI(fvp)->i_e2fs_nlink++;
    +	VTOI(fvp)->i_flag |= IN_CHANGE;
    +	error = ext2fs_update(fvp, NULL, NULL, UPDATE_WAIT);
    +	if (error)
    +		goto whymustithurtsomuch;
    +
    +	/*
    +	 * 2) If target doesn't exist, link the target
    +	 *    to the source and unlink the source.
    +	 *    Otherwise, rewrite the target directory
    +	 *    entry to reference the source inode and
    +	 *    expunge the original entry's existence.
    +	 */
    +
    +	if (tvp == NULL) {
    +		/*
    +		 * Account for ".." in new directory.
    +		 * When source and destination have the same
    +		 * parent we don't fool with the link count.
    +		 */
    +		if (directory_p && reparent_p) {
    +			if ((nlink_t)VTOI(tdvp)->i_e2fs_nlink >= LINK_MAX) {
    +				error = EMLINK;
    +				goto whymustithurtsomuch;
    +			}
    +			KASSERT((nlink_t)VTOI(tdvp)->i_e2fs_nlink < LINK_MAX);
    +			VTOI(tdvp)->i_e2fs_nlink++;
    +			VTOI(tdvp)->i_flag |= IN_CHANGE;
    +			error = ext2fs_update(tdvp, NULL, NULL, UPDATE_WAIT);
    +			if (error) {
    +				/*
    +				 * Link count update didn't take --
    +				 * back out the in-memory link count.
    +				 */
    +				KASSERT(0 < VTOI(tdvp)->i_e2fs_nlink);
    +				VTOI(tdvp)->i_e2fs_nlink--;
    +				VTOI(tdvp)->i_flag |= IN_CHANGE;
    +				goto whymustithurtsomuch;
    +			}
    +		}
    +
    +		error = ext2fs_direnter(VTOI(fvp), tdvp, tulr, tcnp);
    +		if (error) {
    +			if (directory_p && reparent_p) {
    +				/*
    +				 * Directory update didn't take, but
    +				 * the link count update did -- back
    +				 * out the in-memory link count and the
    +				 * on-disk link count.
    +				 */
    +				KASSERT(0 < VTOI(tdvp)->i_e2fs_nlink);
    +				VTOI(tdvp)->i_e2fs_nlink--;
    +				VTOI(tdvp)->i_flag |= IN_CHANGE;
    +				(void)ext2fs_update(tdvp, NULL, NULL,
    +				    UPDATE_WAIT);
    +			}
    +			goto whymustithurtsomuch;
    +		}
    +	} else {
    +		if (directory_p)
    +			/* XXX WTF?  Why purge here?  Why not purge others?  */
    +			cache_purge(tdvp);
    +
    +		/*
    +		 * Make the target directory's entry for tcnp point at
    +		 * the source node.
    +		 */
    +		error = ext2fs_dirrewrite(VTOI(tdvp), tulr, VTOI(fvp), tcnp);
    +		if (error)
    +			goto whymustithurtsomuch;
    +
    +		/*
    +		 * If the source and target are directories, and the
    +		 * target is in the same directory as the source,
    +		 * decrement the link count of the common parent
    +		 * directory, since we are removing the target from
    +		 * that directory.
    +		 */
    +		if (directory_p && !reparent_p) {
    +			KASSERT(fdvp == tdvp);
    +			/* XXX check, don't kassert */
    +			KASSERT(0 < VTOI(tdvp)->i_e2fs_nlink);
    +			VTOI(tdvp)->i_e2fs_nlink--;
    +			VTOI(tdvp)->i_flag |= IN_CHANGE;
    +		}
    +
    +		/*
    +		 * Adjust the link count of the target to
    +		 * reflect the dirrewrite above.  If this is
    +		 * a directory it is empty and there are
    +		 * no links to it, so we can squash the inode and
    +		 * any space associated with it.  We disallowed
    +		 * renaming over top of a directory with links to
    +		 * it above, as the remaining link would point to
    +		 * a directory without "." or ".." entries.
    +		 */
    +		/* XXX check, don't kassert */
    +		KASSERT(0 < VTOI(tvp)->i_e2fs_nlink);
    +		VTOI(tvp)->i_e2fs_nlink--;
    +		if (directory_p) {
    +			/*
    +			 * XXX The ext2fs_dirempty call earlier does
    +			 * not guarantee anything about nlink.
    +			 */
    +			if (VTOI(tvp)->i_e2fs_nlink != 1)
    +				ufs_dirbad(VTOI(tvp), (doff_t)0,
    +				    "hard-linked directory");
    +			VTOI(tvp)->i_e2fs_nlink = 0;
    +			error = ext2fs_truncate(tvp, (off_t)0, IO_SYNC, cred);
    +#if 0			/* XXX This branch was not in ext2fs_rename!  */
    +			if (error)
    +				goto whymustithurtsomuch;
    +#endif
    +		}
    +		/*
    +		 * XXX Why is this here, and not above the preceding
    +		 * conditional?
    +		 */
    +		VTOI(tvp)->i_flag |= IN_CHANGE;
    +	}
    +
    +	/*
    +	 * If the source is a directory with a new parent, the link
    +	 * count of the old parent directory must be decremented and
    +	 * ".." set to point to the new parent.
    +	 */
    +	if (directory_p && reparent_p) {
    +		error = ext2fs_rename_replace_dotdot(fvp, fdvp, tdvp, cred);
    +		if (error)
    +			goto whymustithurtsomuch;
    +
    +		/* XXX WTF?  Why purge here?  Why not purge others?  */
    +		cache_purge(fdvp);
    +	}
    +
    +	/*
    +	 * 3) Unlink the source.
    +	 */
    +
    +	/*
    +	 * ext2fs_direnter may compact the directory in the process of
    +	 * inserting a new entry.  That may invalidate fulr, which we
    +	 * need in order to remove the old entry.  In that case, we
    +	 * need to recalculate what fulr should be.
    +	 */
    +	if (!reparent_p && (tvp == NULL) &&
    +	    ext2fs_rename_ulr_overlap_p(fulr, tulr)) {
    +		error = ext2fs_rename_recalculate_fulr(fdvp, fulr, tulr, fcnp);
    +#if 0				/* XXX */
    +		if (error)	/* XXX Try to back out changes?  */
    +			goto whymustithurtsomuch;
    +#endif
    +	}
    +
    +	error = ext2fs_dirremove(fdvp, fulr, fcnp);
    +	if (error)
    +		goto whymustithurtsomuch;
    +
    +	/*
    +	 * XXX Perhaps this should go at the top, in case the file
    +	 * system is modified but incompletely so because of an
    +	 * intermediate error.
    +	 */
    +	genfs_rename_knote(fdvp, fvp, tdvp, tvp,
    +	    ((tvp != NULL) && (VTOI(tvp)->i_e2fs_nlink == 0)));
    +#if 0				/* XXX */
    +	genfs_rename_cache_purge(fdvp, fvp, tdvp, tvp);
    +#endif
    +
    +whymustithurtsomuch:
    +	KASSERT(0 < VTOI(fvp)->i_e2fs_nlink);
    +	VTOI(fvp)->i_e2fs_nlink--;
    +	VTOI(fvp)->i_flag |= IN_CHANGE;
    +	return error;
    +}
    +
    +/*
    + * ext2fs_rename_ulr_overlap_p: True iff tulr overlaps with fulr so
    + * that entering a directory entry at tulr may move fulr.
    + */
    +static bool
    +ext2fs_rename_ulr_overlap_p(const struct ufs_lookup_results *fulr,
    +    const struct ufs_lookup_results *tulr)
    +{
    +	doff_t from_prev_start, from_prev_end, to_start, to_end;
    +
    +	KASSERT(fulr != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +
    +	/*
    +	 * fulr is from a DELETE lookup, so fulr->ulr_count is the size
    +	 * of the preceding entry (d_reclen).
    +	 */
    +	from_prev_end = fulr->ulr_offset;
    +	KASSERT(fulr->ulr_count <= from_prev_end);
    +	from_prev_start = (from_prev_end - fulr->ulr_count);
    +
    +	/*
    +	 * tulr is from a RENAME lookup, so tulr->ulr_count is the size
    +	 * of the free space for an entry that we are about to fill.
    +	 */
    +	to_start = tulr->ulr_offset;
    +	KASSERT(tulr->ulr_count < (EXT2FS_MAXDIRSIZE - to_start));
    +	to_end = (to_start + tulr->ulr_count);
    +
    +	return
    +	    (((to_start <= from_prev_start) && (from_prev_start < to_end)) ||
    +		((to_start <= from_prev_end) && (from_prev_end < to_end)));
    +}
    +
    +/*
    + * ext2fs_rename_recalculate_fulr: If we have just entered a directory
    + * into dvp at tulr, and we were about to remove one at fulr for an
    + * entry named fcnp, fulr may be invalid.  So, if necessary,
    + * recalculate it.
    + */
    +static int
    +ext2fs_rename_recalculate_fulr(struct vnode *dvp,
    +    struct ufs_lookup_results *fulr, const struct ufs_lookup_results *tulr,
    +    const struct componentname *fcnp)
    +{
    +	struct mount *mp;
    +	struct ufsmount *ump;
    +	/* XXX int is a silly type for this; blame ufsmount::um_dirblksiz.  */
    +	int dirblksiz;
    +	doff_t search_start, search_end;
    +	doff_t offset;		/* Offset of entry we're examining.  */
    +	struct buf *bp;		/* I/O block we're examining.  */
    +	char *dirbuf;		/* Pointer into directory at search_start.  */
    +	struct ext2fs_direct *ep; /* Pointer to the entry we're examining.  */
    +	/* XXX direct::d_reclen is 16-bit;
    +	 * ufs_lookup_results::ulr_reclen is 32-bit.  Blah.  */
    +	uint32_t reclen;	/* Length of the entry we're examining.  */
    +	uint32_t prev_reclen;	/* Length of the preceding entry.  */
    +	int error;
    +
    +	KASSERT(dvp != NULL);
    +	KASSERT(dvp->v_mount != NULL);
    +	KASSERT(VTOI(dvp) != NULL);
    +	KASSERT(fulr != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +	KASSERT(ext2fs_rename_ulr_overlap_p(fulr, tulr));
    +
    +	mp = dvp->v_mount;
    +	ump = VFSTOUFS(mp);
    +	KASSERT(ump != NULL);
    +	KASSERT(ump == VTOI(dvp)->i_ump);
    +
    +	dirblksiz = ump->um_dirblksiz;
    +	KASSERT(0 < dirblksiz);
    +	KASSERT((dirblksiz & (dirblksiz - 1)) == 0);
    +
    +	/* A directory block may not span across multiple I/O blocks.  */
    +	KASSERT(dirblksiz <= mp->mnt_stat.f_iosize);
    +
    +	/* Find the bounds of the search.  */
    +	search_start = tulr->ulr_offset;
    +	KASSERT(fulr->ulr_reclen < (EXT2FS_MAXDIRSIZE - fulr->ulr_offset));
    +	search_end = (fulr->ulr_offset + fulr->ulr_reclen);
    +
    +	/* Compaction must happen only within a directory block. (*)  */
    +	KASSERT(search_start <= search_end);
    +	KASSERT((search_end - (search_start &~ (dirblksiz - 1))) <= dirblksiz);
    +
    +	dirbuf = NULL;
    +	bp = NULL;
    +	error = ext2fs_blkatoff(dvp, (off_t)search_start, &dirbuf, &bp);
    +	if (error)
    +		return error;
    +	KASSERT(dirbuf != NULL);
    +	KASSERT(bp != NULL);
    +
    +	/*
    +	 * Guarantee we sha'n't go past the end of the buffer we got.
    +	 * dirbuf is bp->b_data + (search_start & (iosize - 1)), and
    +	 * the valid range is [bp->b_data, bp->b_data + bp->b_bcount).
    +	 */
    +	KASSERT((search_end - search_start) <=
    +	    (bp->b_bcount - (search_start & (mp->mnt_stat.f_iosize - 1))));
    +
    +	prev_reclen = fulr->ulr_count;
    +	offset = search_start;
    +
    +	/*
    +	 * Search from search_start to search_end for the entry matching
    +	 * fcnp, which must be there because we found it before and it
    +	 * should only at most have moved earlier.
    +	 */
    +	for (;;) {
    +		KASSERT(search_start <= offset);
    +		KASSERT(offset < search_end);
    +
    +		/*
    +		 * Examine the directory entry at offset.
    +		 */
    +		ep = (struct ext2fs_direct *)
    +		    (dirbuf + (offset - search_start));
    +		reclen = fs2h16(ep->e2d_reclen);
    +
    +		if (ep->e2d_ino == 0)
    +			goto next;	/* Entry is unused.  */
    +
    +		if (fs2h32(ep->e2d_ino) == UFS_WINO)
    +			goto next;	/* Entry is whiteout.  */
    +
    +		if (fcnp->cn_namelen != ep->e2d_namlen)
    +			goto next;	/* Wrong name length.  */
    +
    +		if (memcmp(ep->e2d_name, fcnp->cn_nameptr, fcnp->cn_namelen))
    +			goto next;	/* Wrong name.  */
    +
    +		/* Got it!  */
    +		break;
    +
    +next:
    +		if (! ((reclen < search_end) &&
    +			(offset < (search_end - reclen)))) {
    +			brelse(bp, 0);
    +			return EIO;	/* XXX Panic?  What?  */
    +		}
    +
    +		/* We may not move past the search end.  */
    +		KASSERT(reclen < search_end);
    +		KASSERT(offset < (search_end - reclen));
    +
    +		/*
    +		 * We may not move across a directory block boundary;
    +		 * see (*) above.
    +		 */
    +		KASSERT((offset &~ (dirblksiz - 1)) ==
    +		    ((offset + reclen) &~ (dirblksiz - 1)));
    +
    +		prev_reclen = reclen;
    +		offset += reclen;
    +	}
    +
    +	/*
    +	 * Found the entry.  Record where.
    +	 */
    +	fulr->ulr_offset = offset;
    +	fulr->ulr_reclen = reclen;
    +
    +	/*
    +	 * Record the preceding record length, but not if we're at the
    +	 * start of a directory block.
    +	 */
    +	fulr->ulr_count = ((offset & (dirblksiz - 1))? prev_reclen : 0);
    +
    +	brelse(bp, 0);
    +	return 0;
    +}
    +
    +/*
    + * ext2fs_gro_remove: Rename an object over another link to itself,
    + * effectively removing just the original link.
    + */
    +static int
    +ext2fs_gro_remove(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *dvp, struct componentname *cnp, void *de, struct vnode *vp)
    +{
    +	struct ufs_lookup_results *ulr = de;
    +	int error;
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(cnp != NULL);
    +	KASSERT(ulr != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	error = ext2fs_dirremove(dvp, ulr, cnp);
    +	if (error)
    +		return error;
    +
    +	KASSERT(0 < VTOI(vp)->i_e2fs_nlink);
    +	VTOI(vp)->i_e2fs_nlink--;
    +	VTOI(vp)->i_flag |= IN_CHANGE;
    +
    +	VN_KNOTE(dvp, NOTE_WRITE);
    +	VN_KNOTE(vp, (VTOI(vp)->i_e2fs_nlink? NOTE_LINK : NOTE_DELETE));
    +
    +	return 0;
    +}
    +
    +/*
    + * ext2fs_gro_lookup: Look up and save the lookup results.
    + */
    +static int
    +ext2fs_gro_lookup(struct mount *mp, struct vnode *dvp,
    +    struct componentname *cnp, void *de_ret, struct vnode **vp_ret)
    +{
    +	struct ufs_lookup_results *ulr_ret = de_ret;
    +	struct vnode *vp;
    +	int error;
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(cnp != NULL);
    +	KASSERT(ulr_ret != NULL);
    +	KASSERT(vp_ret != NULL);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +
    +	/* Kludge cargo-culted from dholland's ufs_rename.  */
    +	cnp->cn_flags &=~ MODMASK;
    +	cnp->cn_flags |= (LOCKPARENT | LOCKLEAF);
    +
    +	error = relookup(dvp, &vp, cnp, 0 /* dummy */);
    +	if ((error == 0) && (vp == NULL)) {
    +		error = ENOENT;
    +		goto out;
    +	} else if (error) {
    +		return error;
    +	}
    +
    +	/*
    +	 * Thanks to VFS insanity, relookup locks vp, which screws us
    +	 * in various ways.
    +	 */
    +	KASSERT(vp != NULL);
    +	VOP_UNLOCK(vp);
    +
    +out:	*ulr_ret = VTOI(dvp)->i_crap;
    +	*vp_ret = vp;
    +	return error;
    +}
    +
    +/*
    + * ext2fs_rmdired_p: Check whether the directory vp has been rmdired.
    + *
    + * vp must be locked and referenced.
    + */
    +static bool
    +ext2fs_rmdired_p(struct vnode *vp)
    +{
    +
    +	KASSERT(vp != NULL);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(vp->v_type == VDIR);
    +
    +	/* XXX Is this correct?  */
    +	return (ext2fs_size(VTOI(vp)) == 0);
    +}
    +
    +/*
    + * ext2fs_gro_genealogy: Analyze the genealogy of the source and target
    + * directories.
    + */
    +static int
    +ext2fs_gro_genealogy(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct vnode *tdvp,
    +    struct vnode **intermediate_node_ret)
    +{
    +	struct vnode *vp, *dvp;
    +	ino_t dotdot_ino;
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != tdvp);
    +	KASSERT(intermediate_node_ret != NULL);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +
    +	/*
    +	 * We need to provisionally lock tdvp to keep rmdir from
    +	 * deleting it -- or any ancestor -- at an inopportune moment.
    +	 */
    +	error = ext2fs_gro_lock_directory(mp, tdvp);
    +	if (error)
    +		return error;
    +
    +	vp = tdvp;
    +	vref(vp);
    +
    +	for (;;) {
    +		KASSERT(vp != NULL);
    +		KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +		KASSERT(vp->v_mount == mp);
    +		KASSERT(vp->v_type == VDIR);
    +		KASSERT(!ext2fs_rmdired_p(vp));
    +
    +		/* Did we hit the root without finding fdvp?  */
    +		if (VTOI(vp)->i_number == UFS_ROOTINO) {
    +			vput(vp);
    +			*intermediate_node_ret = NULL;
    +			return 0;
    +		}
    +
    +		error = ext2fs_read_dotdot(vp, cred, &dotdot_ino);
    +		if (error) {
    +			vput(vp);
    +			return error;
    +		}
    +
    +		/* Did we find that fdvp is an ancestor of tdvp?  */
    +		if (VTOI(fdvp)->i_number == dotdot_ino) {
    +			/* Unlock vp, but keep it referenced.  */
    +			VOP_UNLOCK(vp);
    +			*intermediate_node_ret = vp;
    +			return 0;
    +		}
    +
    +		/* Neither -- keep ascending the family tree.  */
    +
    +		/*
    +		 * Unlock vp so that we can lock the parent, but keep
    +		 * vp referenced until after we have found the parent,
    +		 * so that dotdot_ino will not be recycled.
    +		 *
    +		 * XXX This guarantees that vp's inode number will not
    +		 * be recycled, but why can't dotdot_ino be recycled?
    +		 */
    +		VOP_UNLOCK(vp);
    +		error = VFS_VGET(mp, dotdot_ino, &dvp);
    +		vrele(vp);
    +		if (error)
    +			return error;
    +
    +		KASSERT(dvp != NULL);
    +		KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +		vp = dvp;
    +
    +		if (vp->v_type != VDIR) {
    +			/*
    +			 * XXX Panic?  Print a warning?  Can this
    +			 * happen if we lose the race I suspect to
    +			 * exist above, and the `..' inode number has
    +			 * been recycled?
    +			 */
    +			vput(vp);
    +			return ENOTDIR;
    +		}
    +
    +		if (ext2fs_rmdired_p(vp)) {
    +			vput(vp);
    +			return ENOENT;
    +		}
    +	}
    +}
    +
    +/*
    + * ext2fs_read_dotdot: Store in *ino_ret the inode number of the parent
    + * of the directory vp.
    + */
    +static int
    +ext2fs_read_dotdot(struct vnode *vp, kauth_cred_t cred, ino_t *ino_ret)
    +{
    +	struct ext2fs_dirtemplate dirbuf;
    +	int error;
    +
    +	KASSERT(vp != NULL);
    +	KASSERT(ino_ret != NULL);
    +	KASSERT(vp->v_type == VDIR);
    +
    +	error = vn_rdwr(UIO_READ, vp, &dirbuf, sizeof dirbuf, (off_t)0,
    +	    UIO_SYSSPACE, IO_NODELOCKED, cred, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +	if (dirbuf.dotdot_namlen != 2 ||
    +	    dirbuf.dotdot_name[0] != '.' ||
    +	    dirbuf.dotdot_name[1] != '.')
    +		/* XXX Panic?  Print warning?  */
    +		return ENOTDIR;
    +
    +	*ino_ret = fs2h32(dirbuf.dotdot_ino);
    +	return 0;
    +}
    +
    +/*
    + * ext2fs_rename_replace_dotdot: Change the target of the `..' entry of
    + * the directory vp from fdvp to tdvp.
    + */
    +static int
    +ext2fs_rename_replace_dotdot(struct vnode *vp,
    +    struct vnode *fdvp, struct vnode *tdvp,
    +    kauth_cred_t cred)
    +{
    +	struct ext2fs_dirtemplate dirbuf;
    +	int error;
    +
    +	/* XXX Does it make sense to do this before the sanity checks below?  */
    +	KASSERT(0 < VTOI(fdvp)->i_e2fs_nlink);
    +	VTOI(fdvp)->i_e2fs_nlink--;
    +	VTOI(fdvp)->i_flag |= IN_CHANGE;
    +
    +	error = vn_rdwr(UIO_READ, vp, &dirbuf, sizeof dirbuf, (off_t)0,
    +	    UIO_SYSSPACE, IO_NODELOCKED, cred, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +	if (dirbuf.dotdot_namlen != 2 ||
    +	    dirbuf.dotdot_name[0] != '.' ||
    +	    dirbuf.dotdot_name[1] != '.') {
    +		ufs_dirbad(VTOI(vp), (doff_t)12, "bad `..' entry");
    +		return 0;
    +	}
    +
    +	if (fs2h32(dirbuf.dotdot_ino) != VTOI(fdvp)->i_number) {
    +		ufs_dirbad(VTOI(vp), (doff_t)12,
    +		    "`..' does not point at parent");
    +		return 0;
    +	}
    +
    +	dirbuf.dotdot_ino = h2fs32(VTOI(tdvp)->i_number);
    +	/* XXX WTF?  Why not check error?  */
    +	(void)vn_rdwr(UIO_WRITE, vp, &dirbuf, sizeof dirbuf, (off_t)0,
    +	    UIO_SYSSPACE, (IO_NODELOCKED | IO_SYNC), cred, NULL, NULL);
    +
    +	return 0;
    +}
    +
    +/*
    + * ext2fs_gro_lock_directory: Lock the directory vp, but fail if it has
    + * been rmdir'd.
    + */
    +static int
    +ext2fs_gro_lock_directory(struct mount *mp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(vp->v_mount == mp);
    +
    +	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +
    +	if (ext2fs_rmdired_p(vp)) {
    +		VOP_UNLOCK(vp);
    +		return ENOENT;
    +	}
    +
    +	return 0;
    +}
    +
    +static const struct genfs_rename_ops ext2fs_genfs_rename_ops = {
    +	.gro_directory_empty_p		= ext2fs_gro_directory_empty_p,
    +	.gro_rename_check_possible	= ext2fs_gro_rename_check_possible,
    +	.gro_rename_check_permitted	= ext2fs_gro_rename_check_permitted,
    +	.gro_remove_check_possible	= ext2fs_gro_remove_check_possible,
    +	.gro_remove_check_permitted	= ext2fs_gro_remove_check_permitted,
    +	.gro_rename			= ext2fs_gro_rename,
    +	.gro_remove			= ext2fs_gro_remove,
    +	.gro_lookup			= ext2fs_gro_lookup,
    +	.gro_genealogy			= ext2fs_gro_genealogy,
    +	.gro_lock_directory		= ext2fs_gro_lock_directory,
    +};
    diff --git a/sys/ufs/ext2fs/ext2fs_subr.c b/sys/ufs/ext2fs/ext2fs_subr.c
    index 64f4c9f2c..d0bc05153 100644
    --- a/sys/ufs/ext2fs/ext2fs_subr.c
    +++ b/sys/ufs/ext2fs/ext2fs_subr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_subr.c,v 1.27 2009/10/19 18:41:17 bouyer Exp $	*/
    +/*	$NetBSD: ext2fs_subr.c,v 1.30 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_subr.c,v 1.27 2009/10/19 18:41:17 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_subr.c,v 1.30 2013/06/23 07:28:37 dholland Exp $");
     
     #include 
     #include 
    @@ -89,15 +89,14 @@ ext2fs_blkatoff(struct vnode *vp, off_t offset, char **res, struct buf **bpp)
     
     	ip = VTOI(vp);
     	fs = ip->i_e2fs;
    -	lbn = lblkno(fs, offset);
    +	lbn = ext2_lblkno(fs, offset);
     
     	*bpp = NULL;
     	if ((error = bread(vp, lbn, fs->e2fs_bsize, NOCRED, 0, &bp)) != 0) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	if (res)
    -		*res = (char *)bp->b_data + blkoff(fs, offset);
    +		*res = (char *)bp->b_data + ext2_blkoff(fs, offset);
     	*bpp = bp;
     	return (0);
     }
    diff --git a/sys/ufs/ext2fs/ext2fs_vfsops.c b/sys/ufs/ext2fs/ext2fs_vfsops.c
    index 76f6dd5a5..1a25831ff 100644
    --- a/sys/ufs/ext2fs/ext2fs_vfsops.c
    +++ b/sys/ufs/ext2fs/ext2fs_vfsops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_vfsops.c,v 1.162 2011/11/14 18:35:14 hannken Exp $	*/
    +/*	$NetBSD: ext2fs_vfsops.c,v 1.175 2013/11/23 13:35:36 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1991, 1993, 1994
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.162 2011/11/14 18:35:14 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.175 2013/11/23 13:35:36 christos Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_compat_netbsd.h"
    @@ -159,7 +159,6 @@ static const struct ufs_ops ext2fs_ufsops = {
     	.uo_itimes = ext2fs_itimes,
     	.uo_update = ext2fs_update,
     	.uo_vfree = ext2fs_vfree,
    -	.uo_unmark_vnode = (void (*)(vnode_t *))nullop,
     };
     
     /* Fill in the inode uid/gid from ext2 halves.  */
    @@ -279,9 +278,7 @@ ext2fs_mountroot(void)
     		vfs_destroy(mp);
     		return (error);
     	}
    -	mutex_enter(&mountlist_lock);
    -	CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list);
    -	mutex_exit(&mountlist_lock);
    +	mountlist_append(mp);
     	ump = VFSTOUFS(mp);
     	fs = ump->um_e2fs;
     	memset(fs->e2fs_fsmnt, 0, sizeof(fs->e2fs_fsmnt));
    @@ -390,7 +387,9 @@ ext2fs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     		    (mp->mnt_flag & MNT_RDONLY) == 0)
     			accessmode |= VWRITE;
     		vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    -		error = genfs_can_mount(devvp, accessmode, l->l_cred);
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_MOUNT,
    +		    KAUTH_REQ_SYSTEM_MOUNT_DEVICE, mp, devvp,
    +		    KAUTH_ARG(accessmode));
     		VOP_UNLOCK(devvp);
     	}
     
    @@ -545,7 +544,6 @@ ext2fs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     	 */
     	error = bread(devvp, SBLOCK, SBSIZE, NOCRED, 0, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	newfs = (struct ext2fs *)bp->b_data;
    @@ -580,11 +578,10 @@ ext2fs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     
     	for (i = 0; i < fs->e2fs_ngdb; i++) {
     		error = bread(devvp ,
    -		    fsbtodb(fs, fs->e2fs.e2fs_first_dblock +
    +		    EXT2_FSBTODB(fs, fs->e2fs.e2fs_first_dblock +
     		    1 /* superblock */ + i),
     		    fs->e2fs_bsize, NOCRED, 0, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			return (error);
     		}
     		e2fs_cgload((struct ext2_gd *)bp->b_data,
    @@ -608,7 +605,7 @@ loop:
     		/*
     		 * Step 4: invalidate all inactive vnodes.
     		 */
    -		if (vrecycle(vp, &mntvnode_lock, l)) {
    +		if (vrecycle(vp, &mntvnode_lock)) {
     			mutex_enter(&mntvnode_lock);
     			(void)vunmark(mvp);
     			goto loop;
    @@ -629,7 +626,7 @@ loop:
     		 * Step 6: re-read inode data for all active vnodes.
     		 */
     		ip = VTOI(vp);
    -		error = bread(devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
    +		error = bread(devvp, EXT2_FSBTODB(fs, ino_to_fsba(fs, ip->i_number)),
     		    (int)fs->e2fs_bsize, NOCRED, 0, &bp);
     		if (error) {
     			vput(vp);
    @@ -664,10 +661,8 @@ ext2fs_mountfs(struct vnode *devvp, struct mount *mp)
     	dev_t dev;
     	int error, i, ronly;
     	kauth_cred_t cred;
    -	struct proc *p;
     
     	dev = devvp->v_rdev;
    -	p = l ? l->l_proc : NULL;
     	cred = l ? l->l_cred : NOCRED;
     
     	/* Flush out any old buffers remaining from a previous use. */
    @@ -692,12 +687,10 @@ ext2fs_mountfs(struct vnode *devvp, struct mount *mp)
     	error = ext2fs_checksb(fs, ronly);
     	if (error)
     		goto out;
    -	ump = malloc(sizeof(*ump), M_UFSMNT, M_WAITOK);
    -	memset(ump, 0, sizeof(*ump));
    +	ump = kmem_zalloc(sizeof(*ump), KM_SLEEP);
     	ump->um_fstype = UFS1;
     	ump->um_ops = &ext2fs_ufsops;
    -	ump->um_e2fs = malloc(sizeof(struct m_ext2fs), M_UFSMNT, M_WAITOK);
    -	memset(ump->um_e2fs, 0, sizeof(struct m_ext2fs));
    +	ump->um_e2fs = kmem_zalloc(sizeof(struct m_ext2fs), KM_SLEEP);
     	e2fs_sbload((struct ext2fs *)bp->b_data, &ump->um_e2fs->e2fs);
     	brelse(bp, 0);
     	bp = NULL;
    @@ -729,15 +722,15 @@ ext2fs_mountfs(struct vnode *devvp, struct mount *mp)
     	m_fs->e2fs_ipb = m_fs->e2fs_bsize / EXT2_DINODE_SIZE(m_fs);
     	m_fs->e2fs_itpg = m_fs->e2fs.e2fs_ipg / m_fs->e2fs_ipb;
     
    -	m_fs->e2fs_gd = malloc(m_fs->e2fs_ngdb * m_fs->e2fs_bsize,
    -	    M_UFSMNT, M_WAITOK);
    +	m_fs->e2fs_gd = kmem_alloc(m_fs->e2fs_ngdb * m_fs->e2fs_bsize, KM_SLEEP);
     	for (i = 0; i < m_fs->e2fs_ngdb; i++) {
     		error = bread(devvp ,
    -		    fsbtodb(m_fs, m_fs->e2fs.e2fs_first_dblock +
    +		    EXT2_FSBTODB(m_fs, m_fs->e2fs.e2fs_first_dblock +
     		    1 /* superblock */ + i),
     		    m_fs->e2fs_bsize, NOCRED, 0, &bp);
     		if (error) {
    -			free(m_fs->e2fs_gd, M_UFSMNT);
    +			kmem_free(m_fs->e2fs_gd,
    +			    m_fs->e2fs_ngdb * m_fs->e2fs_bsize);
     			goto out;
     		}
     		e2fs_cgload((struct ext2_gd *)bp->b_data,
    @@ -761,22 +754,22 @@ ext2fs_mountfs(struct vnode *devvp, struct mount *mp)
     	ump->um_mountp = mp;
     	ump->um_dev = dev;
     	ump->um_devvp = devvp;
    -	ump->um_nindir = NINDIR(m_fs);
    -	ump->um_lognindir = ffs(NINDIR(m_fs)) - 1;
    +	ump->um_nindir = EXT2_NINDIR(m_fs);
    +	ump->um_lognindir = ffs(EXT2_NINDIR(m_fs)) - 1;
     	ump->um_bptrtodb = m_fs->e2fs_fsbtodb;
     	ump->um_seqinc = 1; /* no frags */
     	ump->um_maxsymlinklen = EXT2_MAXSYMLINKLEN;
     	ump->um_dirblksiz = m_fs->e2fs_bsize;
     	ump->um_maxfilesize = ((uint64_t)0x80000000 * m_fs->e2fs_bsize - 1);
    -	devvp->v_specmountpoint = mp;
    +	spec_node_setmountedfs(devvp, mp);
     	return (0);
     
     out:
    -	KASSERT(bp != NULL);
    -	brelse(bp, 0);
    +	if (bp != NULL)
    +		brelse(bp, 0);
     	if (ump) {
    -		free(ump->um_e2fs, M_UFSMNT);
    -		free(ump, M_UFSMNT);
    +		kmem_free(ump->um_e2fs, sizeof(struct m_ext2fs));
    +		kmem_free(ump, sizeof(*ump));
     		mp->mnt_data = NULL;
     	}
     	return (error);
    @@ -806,14 +799,14 @@ ext2fs_unmount(struct mount *mp, int mntflags)
     		(void) ext2fs_sbupdate(ump, MNT_WAIT);
     	}
     	if (ump->um_devvp->v_type != VBAD)
    -		ump->um_devvp->v_specmountpoint = NULL;
    +		spec_node_setmountedfs(ump->um_devvp, NULL);
     	vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY);
     	error = VOP_CLOSE(ump->um_devvp, fs->e2fs_ronly ? FREAD : FREAD|FWRITE,
     	    NOCRED);
     	vput(ump->um_devvp);
    -	free(fs->e2fs_gd, M_UFSMNT);
    -	free(fs, M_UFSMNT);
    -	free(ump, M_UFSMNT);
    +	kmem_free(fs->e2fs_gd, fs->e2fs_ngdb * fs->e2fs_bsize);
    +	kmem_free(fs, sizeof(*fs));
    +	kmem_free(ump, sizeof(*ump));
     	mp->mnt_data = NULL;
     	mp->mnt_flag &= ~MNT_LOCAL;
     	return (error);
    @@ -1051,7 +1044,7 @@ retry:
     	mutex_exit(&ufs_hashlock);
     
     	/* Read in the disk contents for the inode, copy into the inode. */
    -	error = bread(ump->um_devvp, fsbtodb(fs, ino_to_fsba(fs, ino)),
    +	error = bread(ump->um_devvp, EXT2_FSBTODB(fs, ino_to_fsba(fs, ino)),
     	    (int)fs->e2fs_bsize, NOCRED, 0, &bp);
     	if (error) {
     
    @@ -1063,7 +1056,6 @@ retry:
     		 */
     
     		vput(vp);
    -		brelse(bp, 0);
     		*vpp = NULL;
     		return (error);
     	}
    @@ -1075,8 +1067,9 @@ retry:
     
     	/* If the inode was deleted, reset all fields */
     	if (ip->i_e2fs_dtime != 0) {
    -		ip->i_e2fs_mode = ip->i_e2fs_nblock = 0;
    +		ip->i_e2fs_mode = 0;
     		(void)ext2fs_setsize(ip, 0);
    +		(void)ext2fs_setnblock(ip, 0);
     		memset(ip->i_e2fs_blocks, 0, sizeof(ip->i_e2fs_blocks));
     	}
     
    @@ -1208,7 +1201,7 @@ ext2fs_cgupdate(struct ufsmount *mp, int waitfor)
     
     	allerror = ext2fs_sbupdate(mp, waitfor);
     	for (i = 0; i < fs->e2fs_ngdb; i++) {
    -		bp = getblk(mp->um_devvp, fsbtodb(fs,
    +		bp = getblk(mp->um_devvp, EXT2_FSBTODB(fs,
     		    fs->e2fs.e2fs_first_dblock +
     		    1 /* superblock */ + i), fs->e2fs_bsize, 0, 0);
     		e2fs_cgsave(&fs->e2fs_gd[
    @@ -1228,38 +1221,45 @@ ext2fs_cgupdate(struct ufsmount *mp, int waitfor)
     static int
     ext2fs_checksb(struct ext2fs *fs, int ronly)
     {
    +	uint32_t u32;
     
     	if (fs2h16(fs->e2fs_magic) != E2FS_MAGIC) {
     		return (EINVAL);		/* XXX needs translation */
     	}
     	if (fs2h32(fs->e2fs_rev) > E2FS_REV1) {
     #ifdef DIAGNOSTIC
    -		printf("Ext2 fs: unsupported revision number: %x\n",
    +		printf("ext2fs: unsupported revision number: %x\n",
     		    fs2h32(fs->e2fs_rev));
     #endif
     		return (EINVAL);		/* XXX needs translation */
     	}
     	if (fs2h32(fs->e2fs_log_bsize) > 2) { /* block size = 1024|2048|4096 */
     #ifdef DIAGNOSTIC
    -		printf("Ext2 fs: bad block size: %d "
    +		printf("ext2fs: bad block size: %d "
     		    "(expected <= 2 for ext2 fs)\n",
     		    fs2h32(fs->e2fs_log_bsize));
     #endif
     		return (EINVAL);	   /* XXX needs translation */
     	}
     	if (fs2h32(fs->e2fs_rev) > E2FS_REV0) {
    +		char buf[256];
     		if (fs2h32(fs->e2fs_first_ino) != EXT2_FIRSTINO) {
    -			printf("Ext2 fs: unsupported first inode position\n");
    +			printf("ext2fs: unsupported first inode position\n");
     			return (EINVAL);      /* XXX needs translation */
     		}
    -		if (fs2h32(fs->e2fs_features_incompat) &
    -		    ~EXT2F_INCOMPAT_SUPP) {
    -			printf("Ext2 fs: unsupported optional feature\n");
    -			return (EINVAL);      /* XXX needs translation */
    +		u32 = fs2h32(fs->e2fs_features_incompat) & ~EXT2F_INCOMPAT_SUPP;
    +		if (u32) {
    +			snprintb(buf, sizeof(buf), EXT2F_INCOMPAT_BITS, u32);
    +			printf("ext2fs: unsupported incompat features: %s\n",
    +			    buf);
    +			return EINVAL;	/* XXX needs translation */
     		}
    -		if (!ronly && fs2h32(fs->e2fs_features_rocompat) &
    -		    ~EXT2F_ROCOMPAT_SUPP) {
    -			return (EROFS);      /* XXX needs translation */
    +		u32 = fs2h32(fs->e2fs_features_rocompat) & ~EXT2F_ROCOMPAT_SUPP;
    +		if (!ronly && u32) {
    +			snprintb(buf, sizeof(buf), EXT2F_ROCOMPAT_BITS, u32);
    +			printf("ext2fs: unsupported ro-incompat features: %s\n",
    +			    buf);
    +			return EROFS;	/* XXX needs translation */
     		}
     	}
     	return (0);
    diff --git a/sys/ufs/ext2fs/ext2fs_vnops.c b/sys/ufs/ext2fs/ext2fs_vnops.c
    index 0ea5dd35c..afe9bb416 100644
    --- a/sys/ufs/ext2fs/ext2fs_vnops.c
    +++ b/sys/ufs/ext2fs/ext2fs_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs_vnops.c,v 1.101 2011/11/18 21:18:51 christos Exp $	*/
    +/*	$NetBSD: ext2fs_vnops.c,v 1.107 2013/03/18 19:35:47 plunky Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -65,7 +65,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.101 2011/11/18 21:18:51 christos Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ext2fs_vnops.c,v 1.107 2013/03/18 19:35:47 plunky Exp $");
     
     #include 
     #include 
    @@ -253,8 +253,9 @@ ext2fs_check_permitted(struct vnode *vp, struct inode *ip, mode_t mode,
         kauth_cred_t cred)
     {
     
    -	return genfs_can_access(vp->v_type, ip->i_e2fs_mode & ALLPERMS,
    -	    ip->i_uid, ip->i_gid, mode, cred);
    +	return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type,
    +	    ip->i_e2fs_mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type,
    +	    ip->i_e2fs_mode & ALLPERMS, ip->i_uid, ip->i_gid, mode, cred));
     }
     
     int
    @@ -325,7 +326,7 @@ ext2fs_getattr(void *v)
     		vap->va_blocksize = MAXBSIZE;
     	else
     		vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize;
    -	vap->va_bytes = dbtob((u_quad_t)ip->i_e2fs_nblock);
    +	vap->va_bytes = dbtob(ext2fs_nblock(ip));
     	vap->va_type = vp->v_type;
     	vap->va_filerev = ip->i_modrev;
     	return (0);
    @@ -348,6 +349,8 @@ ext2fs_setattr(void *v)
     	kauth_cred_t cred = ap->a_cred;
     	struct lwp *l = curlwp;
     	int error;
    +	kauth_action_t action = KAUTH_VNODE_WRITE_FLAGS;
    +	bool changing_sysflags = false;
     
     	/*
     	 * Check for unsettable attributes.
    @@ -361,24 +364,38 @@ ext2fs_setattr(void *v)
     	if (vap->va_flags != VNOVAL) {
     		if (vp->v_mount->mnt_flag & MNT_RDONLY)
     			return (EROFS);
    -		if (kauth_cred_geteuid(cred) != ip->i_uid &&
    -		    (error = kauth_authorize_generic(cred, KAUTH_GENERIC_ISSUSER,
    -		    NULL)))
    -			return (error);
    +
    +		/*
    +		 * Check if we're allowed to change the flags.
    +		 * If EXT2FS_SYSTEM_FLAGS is set, then the flags are treated
    +		 * as system flags, otherwise they're considered to be user
    +		 * flags.
    +		 */
     #ifdef EXT2FS_SYSTEM_FLAGS
    -		if (kauth_authorize_generic(cred, KAUTH_GENERIC_ISSUSER,
    -		    NULL) == 0) {
    -			if ((ip->i_e2fs_flags &
    -			    (EXT2_APPEND | EXT2_IMMUTABLE)) &&
    -			    kauth_authorize_system(l->l_cred,
    -			     KAUTH_SYSTEM_CHSYSFLAGS, 0, NULL, NULL, NULL))
    -				return (EPERM);
    -			ip->i_e2fs_flags &= ~(EXT2_APPEND | EXT2_IMMUTABLE);
    -			ip->i_e2fs_flags |=
    -			    (vap->va_flags & SF_APPEND) ?  EXT2_APPEND : 0 |
    -			    (vap->va_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE : 0;
    -		} else
    -			return (EPERM);
    +		/* Indicate we're changing system flags if we are. */
    +		if ((vap->va_flags & SF_APPEND) ||
    +		     (vap->va_flags & SF_IMMUTABLE)) {
    +			action |= KAUTH_VNODE_WRITE_SYSFLAGS;
    +			changing_sysflags = true;
    +		}
    +
    +		/* Indicate the node has system flags if it does. */
    +		if (ip->i_e2fs_flags & (EXT2_APPEND | EXT2_IMMUTABLE)) {
    +			action |= KAUTH_VNODE_HAS_SYSFLAGS;
    +		}
    +#endif /* EXT2FS_SYSTEM_FLAGS */
    +
    +		error = kauth_authorize_vnode(cred, action, vp, NULL,
    +		    genfs_can_chflags(cred, vp->v_type, ip->i_uid,
    +		    changing_sysflags));
    +		if (error)
    +			return (error);
    +
    +#ifdef EXT2FS_SYSTEM_FLAGS
    +		ip->i_e2fs_flags &= ~(EXT2_APPEND | EXT2_IMMUTABLE);
    +		ip->i_e2fs_flags |=
    +		    (vap->va_flags & SF_APPEND) ?  EXT2_APPEND : 0 |
    +		    (vap->va_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE : 0;
     #else
     		ip->i_e2fs_flags &= ~(EXT2_APPEND | EXT2_IMMUTABLE);
     		ip->i_e2fs_flags |=
    @@ -425,7 +442,9 @@ ext2fs_setattr(void *v)
     	if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
     		if (vp->v_mount->mnt_flag & MNT_RDONLY)
     			return (EROFS);
    -		error = genfs_can_chtimes(vp, vap->va_vaflags, ip->i_uid, cred);
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_TIMES, vp,
    +		    NULL, genfs_can_chtimes(vp, vap->va_vaflags, ip->i_uid,
    +		    cred));
     		if (error)
     			return (error);
     		if (vap->va_atime.tv_sec != VNOVAL)
    @@ -461,7 +480,9 @@ ext2fs_chmod(struct vnode *vp, int mode, kauth_cred_t cred, struct lwp *l)
     	struct inode *ip = VTOI(vp);
     	int error;
     
    -	error = genfs_can_chmod(vp, cred, ip->i_uid, ip->i_gid, mode);
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_SECURITY, vp,
    +	    NULL, genfs_can_chmod(vp->v_type, cred, ip->i_uid, ip->i_gid,
    +	    mode));
     	if (error)
     		return (error);
     
    @@ -489,7 +510,8 @@ ext2fs_chown(struct vnode *vp, uid_t uid, gid_t gid, kauth_cred_t cred,
     	if (gid == (gid_t)VNOVAL)
     		gid = ip->i_gid;
     
    -	error = genfs_can_chown(vp, cred, ip->i_uid, ip->i_gid, uid, gid);
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_CHANGE_OWNERSHIP, vp,
    +	    NULL, genfs_can_chown(cred, ip->i_uid, ip->i_gid, uid, gid));
     	if (error)
     		return (error);
     
    @@ -509,11 +531,13 @@ ext2fs_chown(struct vnode *vp, uid_t uid, gid_t gid, kauth_cred_t cred,
     		ext2fs_set_inode_guid(ip);
     		ip->i_flag |= IN_CHANGE;
     	}
    -	if (ouid != uid && kauth_authorize_generic(cred,
    -	    KAUTH_GENERIC_ISSUSER, NULL) != 0)
    +	if (ouid != uid && (ip->i_e2fs_mode & ISUID) &&
    +	    kauth_authorize_vnode(cred, KAUTH_VNODE_RETAIN_SUID,
    +	    vp, NULL, EPERM) != 0)
     		ip->i_e2fs_mode &= ~ISUID;
    -	if (ogid != gid && kauth_authorize_generic(cred,
    -	    KAUTH_GENERIC_ISSUSER, NULL) != 0)
    +	if (ogid != gid && (ip->i_e2fs_mode & ISGID) &&
    +	    kauth_authorize_vnode(cred, KAUTH_VNODE_RETAIN_SGID,
    +	    vp, NULL, EPERM) != 0)
     		ip->i_e2fs_mode &= ~ISGID;
     	return (0);
     }
    @@ -619,424 +643,6 @@ out2:
     	return (error);
     }
     
    -/*
    - * Rename system call.
    - *	rename("foo", "bar");
    - * is essentially
    - *	unlink("bar");
    - *	link("foo", "bar");
    - *	unlink("foo");
    - * but ``atomically''.  Can't do full commit without saving state in the
    - * inode on disk which isn't feasible at this time.  Best we can do is
    - * always guarantee the target exists.
    - *
    - * Basic algorithm is:
    - *
    - * 1) Bump link count on source while we're linking it to the
    - *    target.  This also ensure the inode won't be deleted out
    - *    from underneath us while we work (it may be truncated by
    - *    a concurrent `trunc' or `open' for creation).
    - * 2) Link source to destination.  If destination already exists,
    - *    delete it first.
    - * 3) Unlink source reference to inode if still around. If a
    - *    directory was moved and the parent of the destination
    - *    is different from the source, patch the ".." entry in the
    - *    directory.
    - */
    -int
    -ext2fs_rename(void *v)
    -{
    -	struct vop_rename_args  /* {
    -		struct vnode *a_fdvp;
    -		struct vnode *a_fvp;
    -		struct componentname *a_fcnp;
    -		struct vnode *a_tdvp;
    -		struct vnode *a_tvp;
    -		struct componentname *a_tcnp;
    -	} */ *ap = v;
    -	struct vnode *tvp = ap->a_tvp;
    -	struct vnode *tdvp = ap->a_tdvp;
    -	struct vnode *fvp = ap->a_fvp;
    -	struct vnode *fdvp = ap->a_fdvp;
    -	struct componentname *tcnp = ap->a_tcnp;
    -	struct componentname *fcnp = ap->a_fcnp;
    -	struct inode *ip, *xp, *dp;
    -	struct ext2fs_dirtemplate dirbuf;
    -	int doingdirectory = 0, oldparent = 0, newparent = 0;
    -	int error = 0;
    -	u_char namlen;
    -
    -	/*
    -	 * Check for cross-device rename.
    -	 */
    -	if ((fvp->v_mount != tdvp->v_mount) ||
    -	    (tvp && (fvp->v_mount != tvp->v_mount))) {
    -		error = EXDEV;
    -abortit:
    -		VOP_ABORTOP(tdvp, tcnp); /* XXX, why not in NFS? */
    -		if (tdvp == tvp)
    -			vrele(tdvp);
    -		else
    -			vput(tdvp);
    -		if (tvp)
    -			vput(tvp);
    -		VOP_ABORTOP(fdvp, fcnp); /* XXX, why not in NFS? */
    -		vrele(fdvp);
    -		vrele(fvp);
    -		return (error);
    -	}
    -
    -	/*
    -	 * Check if just deleting a link name.
    -	 */
    -	if (tvp && ((VTOI(tvp)->i_e2fs_flags & (EXT2_IMMUTABLE | EXT2_APPEND)) ||
    -	    (VTOI(tdvp)->i_e2fs_flags & EXT2_APPEND))) {
    -		error = EPERM;
    -		goto abortit;
    -	}
    -	if (fvp == tvp) {
    -		if (fvp->v_type == VDIR) {
    -			error = EINVAL;
    -			goto abortit;
    -		}
    -
    -		/* Release destination completely. */
    -		VOP_ABORTOP(tdvp, tcnp);
    -		vput(tdvp);
    -		vput(tvp);
    -
    -		/* Delete source. */
    -		vrele(fvp);
    -		fcnp->cn_flags &= ~(MODMASK);
    -		fcnp->cn_flags |= LOCKPARENT | LOCKLEAF;
    -		fcnp->cn_nameiop = DELETE;
    -		vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
    -		if ((error = relookup(fdvp, &fvp, fcnp, 0))) {
    -			vput(fdvp);
    -			return (error);
    -		}
    -		return (VOP_REMOVE(fdvp, fvp, fcnp));
    -	}
    -	if ((error = vn_lock(fvp, LK_EXCLUSIVE)) != 0)
    -		goto abortit;
    -	dp = VTOI(fdvp);
    -	ip = VTOI(fvp);
    -	if ((nlink_t) ip->i_e2fs_nlink >= LINK_MAX) {
    -		VOP_UNLOCK(fvp);
    -		error = EMLINK;
    -		goto abortit;
    -	}
    -	if ((ip->i_e2fs_flags & (EXT2_IMMUTABLE | EXT2_APPEND)) ||
    -		(dp->i_e2fs_flags & EXT2_APPEND)) {
    -		VOP_UNLOCK(fvp);
    -		error = EPERM;
    -		goto abortit;
    -	}
    -	if ((ip->i_e2fs_mode & IFMT) == IFDIR) {
    -		error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred);
    -		if (!error && tvp)
    -			error = VOP_ACCESS(tvp, VWRITE, tcnp->cn_cred);
    -		if (error) {
    -			VOP_UNLOCK(fvp);
    -			error = EACCES;
    -			goto abortit;
    -		}
    -		/*
    -		 * Avoid ".", "..", and aliases of "." for obvious reasons.
    -		 */
    -		if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
    -		    dp == ip ||
    -		    (fcnp->cn_flags & ISDOTDOT) ||
    -		    (tcnp->cn_flags & ISDOTDOT) ||
    -		    (ip->i_flag & IN_RENAME)) {
    -			VOP_UNLOCK(fvp);
    -			error = EINVAL;
    -			goto abortit;
    -		}
    -		ip->i_flag |= IN_RENAME;
    -		oldparent = dp->i_number;
    -		doingdirectory = 1;
    -	}
    -	VN_KNOTE(fdvp, NOTE_WRITE);		/* XXXLUKEM/XXX: right place? */
    -
    -	/*
    -	 * When the target exists, both the directory
    -	 * and target vnodes are returned locked.
    -	 */
    -	dp = VTOI(tdvp);
    -	xp = NULL;
    -	if (tvp)
    -		xp = VTOI(tvp);
    -
    -	/*
    -	 * 1) Bump link count while we're moving stuff
    -	 *    around.  If we crash somewhere before
    -	 *    completing our work, the link count
    -	 *    may be wrong, but correctable.
    -	 */
    -	ip->i_e2fs_nlink++;
    -	ip->i_flag |= IN_CHANGE;
    -	if ((error = ext2fs_update(fvp, NULL, NULL, UPDATE_WAIT)) != 0) {
    -		VOP_UNLOCK(fvp);
    -		goto bad;
    -	}
    -
    -	/*
    -	 * If ".." must be changed (ie the directory gets a new
    -	 * parent) then the source directory must not be in the
    -	 * directory hierarchy above the target, as this would
    -	 * orphan everything below the source directory. Also
    -	 * the user must have write permission in the source so
    -	 * as to be able to change "..". We must repeat the call
    -	 * to namei, as the parent directory is unlocked by the
    -	 * call to checkpath().
    -	 */
    -	error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred);
    -	VOP_UNLOCK(fvp);
    -	if (oldparent != dp->i_number)
    -		newparent = dp->i_number;
    -	if (doingdirectory && newparent) {
    -		if (error)	/* write access check above */
    -			goto bad;
    -		if (xp != NULL)
    -			vput(tvp);
    -		vref(tdvp);     /* compensate for the ref checkpath loses */
    -		error = ext2fs_checkpath(ip, dp, tcnp->cn_cred);
    -		if (error != 0) {
    -			vrele(tdvp);
    -			goto out;
    -		}
    -		vn_lock(tdvp, LK_EXCLUSIVE | LK_RETRY);
    -		if ((error = relookup(tdvp, &tvp, tcnp, 0)) != 0) {
    -			vput(tdvp);
    -			goto out;
    -		}
    -		dp = VTOI(tdvp);
    -		xp = NULL;
    -		if (tvp)
    -			xp = VTOI(tvp);
    -	}
    -	/*
    -	 * 2) If target doesn't exist, link the target
    -	 *    to the source and unlink the source.
    -	 *    Otherwise, rewrite the target directory
    -	 *    entry to reference the source inode and
    -	 *    expunge the original entry's existence.
    -	 */
    -	if (xp == NULL) {
    -		if (dp->i_dev != ip->i_dev)
    -			panic("rename: EXDEV");
    -		/*
    -		 * Account for ".." in new directory.
    -		 * When source and destination have the same
    -		 * parent we don't fool with the link count.
    -		 */
    -		if (doingdirectory && newparent) {
    -			if ((nlink_t)dp->i_e2fs_nlink >= LINK_MAX) {
    -				error = EMLINK;
    -				goto bad;
    -			}
    -			dp->i_e2fs_nlink++;
    -			dp->i_flag |= IN_CHANGE;
    -			if ((error = ext2fs_update(tdvp, NULL, NULL,
    -			    UPDATE_WAIT)) != 0)
    -				goto bad;
    -		}
    -		error = ext2fs_direnter(ip, tdvp, &VTOI(tdvp)->i_crap, tcnp);
    -		if (error != 0) {
    -			if (doingdirectory && newparent) {
    -				dp->i_e2fs_nlink--;
    -				dp->i_flag |= IN_CHANGE;
    -				(void)ext2fs_update(tdvp, NULL, NULL,
    -				    UPDATE_WAIT);
    -			}
    -			goto bad;
    -		}
    -		VN_KNOTE(tdvp, NOTE_WRITE);
    -		vput(tdvp);
    -	} else {
    -		if (xp->i_dev != dp->i_dev || xp->i_dev != ip->i_dev)
    -			panic("rename: EXDEV");
    -		/*
    -		 * Short circuit rename(foo, foo).
    -		 */
    -		if (xp->i_number == ip->i_number)
    -			panic("rename: same file");
    -		/*
    -		 * If the parent directory is "sticky", then the user must
    -		 * own the parent directory, or the destination of the rename,
    -		 * otherwise the destination may not be changed (except by
    -		 * root). This implements append-only directories.
    -		 */
    -		if ((dp->i_e2fs_mode & S_ISTXT) &&
    -		    kauth_authorize_generic(tcnp->cn_cred,
    -		     KAUTH_GENERIC_ISSUSER, NULL) != 0 &&
    -		    kauth_cred_geteuid(tcnp->cn_cred) != dp->i_uid &&
    -		    xp->i_uid != kauth_cred_geteuid(tcnp->cn_cred)) {
    -			error = EPERM;
    -			goto bad;
    -		}
    -		/*
    -		 * Target must be empty if a directory and have no links
    -		 * to it. Also, ensure source and target are compatible
    -		 * (both directories, or both not directories).
    -		 */
    -		if ((xp->i_e2fs_mode & IFMT) == IFDIR) {
    -			if (!ext2fs_dirempty(xp, dp->i_number, tcnp->cn_cred) ||
    -				xp->i_e2fs_nlink > 2) {
    -				error = ENOTEMPTY;
    -				goto bad;
    -			}
    -			if (!doingdirectory) {
    -				error = ENOTDIR;
    -				goto bad;
    -			}
    -			cache_purge(tdvp);
    -		} else if (doingdirectory) {
    -			error = EISDIR;
    -			goto bad;
    -		}
    -		error = ext2fs_dirrewrite(dp, &dp->i_crap, ip, tcnp);
    -		if (error != 0)
    -			goto bad;
    -		/*
    -		 * If the target directory is in the same
    -		 * directory as the source directory,
    -		 * decrement the link count on the parent
    -		 * of the target directory.
    -		 */
    -		 if (doingdirectory && !newparent) {
    -			dp->i_e2fs_nlink--;
    -			dp->i_flag |= IN_CHANGE;
    -		}
    -		/*
    -		 * Adjust the link count of the target to
    -		 * reflect the dirrewrite above.  If this is
    -		 * a directory it is empty and there are
    -		 * no links to it, so we can squash the inode and
    -		 * any space associated with it.  We disallowed
    -		 * renaming over top of a directory with links to
    -		 * it above, as the remaining link would point to
    -		 * a directory without "." or ".." entries.
    -		 */
    -		xp->i_e2fs_nlink--;
    -		if (doingdirectory) {
    -			if (--xp->i_e2fs_nlink != 0)
    -				panic("rename: linked directory");
    -			error = ext2fs_truncate(tvp, (off_t)0, IO_SYNC,
    -			    tcnp->cn_cred);
    -		}
    -		xp->i_flag |= IN_CHANGE;
    -		VN_KNOTE(tdvp, NOTE_WRITE);
    -		vput(tdvp);
    -		VN_KNOTE(tvp, NOTE_DELETE);
    -		vput(tvp);
    -		xp = NULL;
    -	}
    -
    -	/*
    -	 * 3) Unlink the source.
    -	 */
    -	fcnp->cn_flags &= ~(MODMASK);
    -	fcnp->cn_flags |= LOCKPARENT | LOCKLEAF;
    -	vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
    -	if ((error = relookup(fdvp, &fvp, fcnp, 0))) {
    -		vput(fdvp);
    -		vrele(ap->a_fvp);
    -		return (error);
    -	}
    -	if (fvp != NULL) {
    -		xp = VTOI(fvp);
    -		dp = VTOI(fdvp);
    -	} else {
    -		/*
    -		 * From name has disappeared.
    -		 */
    -		if (doingdirectory)
    -			panic("ext2fs_rename: lost dir entry");
    -		vrele(ap->a_fvp);
    -		return (0);
    -	}
    -	/*
    -	 * Ensure that the directory entry still exists and has not
    -	 * changed while the new name has been entered. If the source is
    -	 * a file then the entry may have been unlinked or renamed. In
    -	 * either case there is no further work to be done. If the source
    -	 * is a directory then it cannot have been rmdir'ed; its link
    -	 * count of three would cause a rmdir to fail with ENOTEMPTY.
    -	 * The IRENAME flag ensures that it cannot be moved by another
    -	 * rename.
    -	 */
    -	if (xp != ip) {
    -		if (doingdirectory)
    -			panic("ext2fs_rename: lost dir entry");
    -	} else {
    -		/*
    -		 * If the source is a directory with a
    -		 * new parent, the link count of the old
    -		 * parent directory must be decremented
    -		 * and ".." set to point to the new parent.
    -		 */
    -		if (doingdirectory && newparent) {
    -			KASSERT(dp != NULL);
    -			dp->i_e2fs_nlink--;
    -			dp->i_flag |= IN_CHANGE;
    -			error = vn_rdwr(UIO_READ, fvp, (void *)&dirbuf,
    -				sizeof (struct ext2fs_dirtemplate), (off_t)0,
    -				UIO_SYSSPACE, IO_NODELOCKED,
    -				tcnp->cn_cred, (size_t *)0, NULL);
    -			if (error == 0) {
    -					namlen = dirbuf.dotdot_namlen;
    -				if (namlen != 2 ||
    -				    dirbuf.dotdot_name[0] != '.' ||
    -				    dirbuf.dotdot_name[1] != '.') {
    -					ufs_dirbad(xp, (doff_t)12,
    -					    "ext2fs_rename: mangled dir");
    -				} else {
    -					dirbuf.dotdot_ino = h2fs32(newparent);
    -					(void) vn_rdwr(UIO_WRITE, fvp,
    -					    (void *)&dirbuf,
    -					    sizeof (struct dirtemplate),
    -					    (off_t)0, UIO_SYSSPACE,
    -					    IO_NODELOCKED|IO_SYNC,
    -					    tcnp->cn_cred, (size_t *)0,
    -					    NULL);
    -					cache_purge(fdvp);
    -				}
    -			}
    -		}
    -		error = ext2fs_dirremove(fdvp, &VTOI(fdvp)->i_crap, fcnp);
    -		if (!error) {
    -			xp->i_e2fs_nlink--;
    -			xp->i_flag |= IN_CHANGE;
    -		}
    -		xp->i_flag &= ~IN_RENAME;
    -	}
    -	VN_KNOTE(fvp, NOTE_RENAME);
    -	if (dp)
    -		vput(fdvp);
    -	if (xp)
    -		vput(fvp);
    -	vrele(ap->a_fvp);
    -	return (error);
    -
    -bad:
    -	if (xp)
    -		vput(ITOV(xp));
    -	vput(ITOV(dp));
    -out:
    -	if (doingdirectory)
    -		ip->i_flag &= ~IN_RENAME;
    -	if (vn_lock(fvp, LK_EXCLUSIVE) == 0) {
    -		ip->i_e2fs_nlink--;
    -		ip->i_flag |= IN_CHANGE;
    -		vput(fvp);
    -	} else
    -		vrele(fvp);
    -	vrele(fdvp);
    -	return (error);
    -}
    -
     /*
      * Mkdir system call
      */
    @@ -1316,7 +922,7 @@ ext2fs_readlink(void *v)
     
     	isize = ext2fs_size(ip);
     	if (isize < ump->um_maxsymlinklen ||
    -	    (ump->um_maxsymlinklen == 0 && ip->i_e2fs_nblock == 0)) {
    +	    (ump->um_maxsymlinklen == 0 && ext2fs_nblock(ip) == 0)) {
     		uiomove((char *)ip->i_din.e2fs_din->e2di_shortlink, isize, ap->a_uio);
     		return (0);
     	}
    @@ -1361,7 +967,7 @@ ext2fs_fsync(void *v)
     	if (vp->v_type == VBLK)
     		error = spec_fsync(v);
     	else
    -		error = vflushbuf(vp, wait);
    +		error = vflushbuf(vp, ap->a_flags);
     	if (error == 0 && (ap->a_flags & FSYNC_DATAONLY) == 0)
     		error = ext2fs_update(vp, NULL, NULL, wait ? UPDATE_WAIT : 0);
     
    @@ -1405,7 +1011,7 @@ ext2fs_vinit(struct mount *mntp, int (**specops)(void *),
     	case VREG:
     		break;
     	}
    -	if (ip->i_number == ROOTINO)
    +	if (ip->i_number == UFS_ROOTINO)
                     vp->v_vflag |= VV_ROOT;
     	/*
     	 * Initialize modrev times
    @@ -1426,7 +1032,7 @@ ext2fs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     {
     	struct inode *ip, *pdir;
     	struct vnode *tvp;
    -	int error, ismember = 0;
    +	int error;
     	struct ufs_lookup_results *ulr;
     
     	pdir = VTOI(dvp);
    @@ -1459,10 +1065,15 @@ ext2fs_makeinode(int mode, struct vnode *dvp, struct vnode **vpp,
     	ip->i_e2fs_mode = mode;
     	tvp->v_type = IFTOVT(mode);	/* Rest init'd in getnewvnode(). */
     	ip->i_e2fs_nlink = 1;
    -	if ((ip->i_e2fs_mode & ISGID) && (kauth_cred_ismember_gid(cnp->cn_cred,
    -	    ip->i_gid, &ismember) != 0 || !ismember) &&
    -	    kauth_authorize_generic(cnp->cn_cred, KAUTH_GENERIC_ISSUSER, NULL))
    -		ip->i_e2fs_mode &= ~ISGID;
    +
    +	/* Authorize setting SGID if needed. */
    +	if (ip->i_e2fs_mode & ISGID) {
    +		error = kauth_authorize_vnode(cnp->cn_cred, KAUTH_VNODE_WRITE_SECURITY,
    +		    tvp, NULL, genfs_can_chmod(tvp->v_type, cnp->cn_cred, ip->i_uid,
    +		    ip->i_gid, mode));
    +		if (error)
    +			ip->i_e2fs_mode &= ~ISGID;
    +	}
     
     	/*
     	 * Make sure inode goes to disk before directory entry.
    diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c
    index 411f1a83e..ffa9235db 100644
    --- a/sys/ufs/ffs/ffs_alloc.c
    +++ b/sys/ufs/ffs/ffs_alloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_alloc.c,v 1.130 2011/11/28 08:05:07 tls Exp $	*/
    +/*	$NetBSD: ffs_alloc.c,v 1.145 2013/11/12 03:29:22 dholland Exp $	*/
     
     /*-
      * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
    @@ -70,7 +70,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_alloc.c,v 1.130 2011/11/28 08:05:07 tls Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_alloc.c,v 1.145 2013/11/12 03:29:22 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -133,8 +133,8 @@ static int
     ffs_check_bad_allocation(const char *func, struct fs *fs, daddr_t bno,
         long size, dev_t dev, ino_t inum)
     {
    -	if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0 ||
    -	    fragnum(fs, bno) + numfrags(fs, size) > fs->fs_frag) {
    +	if ((u_int)size > fs->fs_bsize || ffs_fragoff(fs, size) != 0 ||
    +	    ffs_fragnum(fs, bno) + ffs_numfrags(fs, size) > fs->fs_frag) {
     		printf("dev = 0x%llx, bno = %" PRId64 " bsize = %d, "
     		    "size = %ld, fs = %s\n",
     		    (long long)dev, bno, fs->fs_bsize, size, fs->fs_fsmnt);
    @@ -205,19 +205,19 @@ ffs_alloc(struct inode *ip, daddr_t lbn, daddr_t bpref, int size, int flags,
     	 */
     
     	if (ITOV(ip)->v_type == VREG &&
    -	    lblktosize(fs, (voff_t)lbn) < round_page(ITOV(ip)->v_size)) {
    +	    ffs_lblktosize(fs, (voff_t)lbn) < round_page(ITOV(ip)->v_size)) {
     		struct vm_page *pg;
     		struct vnode *vp = ITOV(ip);
     		struct uvm_object *uobj = &vp->v_uobj;
    -		voff_t off = trunc_page(lblktosize(fs, lbn));
    -		voff_t endoff = round_page(lblktosize(fs, lbn) + size);
    +		voff_t off = trunc_page(ffs_lblktosize(fs, lbn));
    +		voff_t endoff = round_page(ffs_lblktosize(fs, lbn) + size);
     
     		mutex_enter(uobj->vmobjlock);
     		while (off < endoff) {
     			pg = uvm_pagelookup(uobj, off);
     			KASSERT((pg == NULL && (vp->v_vflag & VV_MAPPED) == 0 &&
     				 (size & PAGE_MASK) == 0 && 
    -				 blkoff(fs, size) == 0) ||
    +				 ffs_blkoff(fs, size) == 0) ||
     				(pg != NULL && pg->owner == curproc->p_pid &&
     				 pg->lowner == curlwp->l_lid));
     			off += PAGE_SIZE;
    @@ -228,7 +228,7 @@ ffs_alloc(struct inode *ip, daddr_t lbn, daddr_t bpref, int size, int flags,
     
     	*bnp = 0;
     #ifdef DIAGNOSTIC
    -	if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) {
    +	if ((u_int)size > fs->fs_bsize || ffs_fragoff(fs, size) != 0) {
     		printf("dev = 0x%llx, bsize = %d, size = %d, fs = %s\n",
     		    (unsigned long long)ip->i_dev, fs->fs_bsize, size,
     		    fs->fs_fsmnt);
    @@ -332,8 +332,8 @@ ffs_realloccg(struct inode *ip, daddr_t lbprev, daddr_t bpref, int osize,
     	if (ITOV(ip)->v_type == VREG) {
     		struct vm_page *pg;
     		struct uvm_object *uobj = &ITOV(ip)->v_uobj;
    -		voff_t off = trunc_page(lblktosize(fs, lbprev));
    -		voff_t endoff = round_page(lblktosize(fs, lbprev) + osize);
    +		voff_t off = trunc_page(ffs_lblktosize(fs, lbprev));
    +		voff_t endoff = round_page(ffs_lblktosize(fs, lbprev) + osize);
     
     		mutex_enter(uobj->vmobjlock);
     		while (off < endoff) {
    @@ -347,8 +347,8 @@ ffs_realloccg(struct inode *ip, daddr_t lbprev, daddr_t bpref, int osize,
     #endif
     
     #ifdef DIAGNOSTIC
    -	if ((u_int)osize > fs->fs_bsize || fragoff(fs, osize) != 0 ||
    -	    (u_int)nsize > fs->fs_bsize || fragoff(fs, nsize) != 0) {
    +	if ((u_int)osize > fs->fs_bsize || ffs_fragoff(fs, osize) != 0 ||
    +	    (u_int)nsize > fs->fs_bsize || ffs_fragoff(fs, nsize) != 0) {
     		printf(
     		    "dev = 0x%llx, bsize = %d, osize = %d, nsize = %d, fs = %s\n",
     		    (unsigned long long)ip->i_dev, fs->fs_bsize, osize, nsize,
    @@ -382,7 +382,6 @@ ffs_realloccg(struct inode *ip, daddr_t lbprev, daddr_t bpref, int osize,
     	 */
     	if (bpp != NULL &&
     	    (error = bread(ITOV(ip), lbprev, osize, NOCRED, 0, &bp)) != 0) {
    -		brelse(bp, 0);
     		return (error);
     	}
     #if defined(QUOTA) || defined(QUOTA2)
    @@ -403,7 +402,7 @@ ffs_realloccg(struct inode *ip, daddr_t lbprev, daddr_t bpref, int osize,
     		ip->i_flag |= IN_CHANGE | IN_UPDATE;
     
     		if (bpp != NULL) {
    -			if (bp->b_blkno != fsbtodb(fs, bno))
    +			if (bp->b_blkno != FFS_FSBTODB(fs, bno))
     				panic("bad blockno");
     			allocbuf(bp, nsize, 1);
     			memset((char *)bp->b_data + osize, 0, nsize - osize);
    @@ -481,7 +480,7 @@ ffs_realloccg(struct inode *ip, daddr_t lbprev, daddr_t bpref, int osize,
     		if ((ip->i_ump->um_mountp->mnt_wapbl) &&
     		    (ITOV(ip)->v_type != VREG)) {
     			UFS_WAPBL_REGISTER_DEALLOCATION(
    -			    ip->i_ump->um_mountp, fsbtodb(fs, bprev),
    +			    ip->i_ump->um_mountp, FFS_FSBTODB(fs, bprev),
     			    osize);
     		} else {
     			ffs_blkfree(fs, ip->i_devvp, bprev, (long)osize,
    @@ -492,17 +491,17 @@ ffs_realloccg(struct inode *ip, daddr_t lbprev, daddr_t bpref, int osize,
     			    (ITOV(ip)->v_type != VREG)) {
     				UFS_WAPBL_REGISTER_DEALLOCATION(
     				    ip->i_ump->um_mountp,
    -				    fsbtodb(fs, (bno + numfrags(fs, nsize))),
    +				    FFS_FSBTODB(fs, (bno + ffs_numfrags(fs, nsize))),
     				    request - nsize);
     			} else
     				ffs_blkfree(fs, ip->i_devvp,
    -				    bno + numfrags(fs, nsize),
    +				    bno + ffs_numfrags(fs, nsize),
     				    (long)(request - nsize), ip->i_number);
     		}
     		DIP_ADD(ip, blocks, btodb(nsize - osize));
     		ip->i_flag |= IN_CHANGE | IN_UPDATE;
     		if (bpp != NULL) {
    -			bp->b_blkno = fsbtodb(fs, bno);
    +			bp->b_blkno = FFS_FSBTODB(fs, bno);
     			allocbuf(bp, nsize, 1);
     			memset((char *)bp->b_data + osize, 0, (u_int)nsize - osize);
     			mutex_enter(bp->b_objlock);
    @@ -628,7 +627,7 @@ ffs_valloc(struct vnode *pvp, int mode, kauth_cred_t cred,
     		printf("ino %llu ipref %llu\n", (unsigned long long)ino,
     		    (unsigned long long)ipref);
     #if 0
    -		error = bread(ump->um_devvp, fsbtodb(fs, ino_to_fsba(fs, ino)),
    +		error = bread(ump->um_devvp, FFS_FSBTODB(fs, ino_to_fsba(fs, ino)),
     		    (int)fs->fs_bsize, NOCRED, 0, &bp);
     #endif
     
    @@ -636,8 +635,8 @@ ffs_valloc(struct vnode *pvp, int mode, kauth_cred_t cred,
     		panic("ffs_valloc: dup alloc");
     	}
     	if (DIP(ip, blocks)) {				/* XXX */
    -		printf("free inode %s/%llu had %" PRId64 " blocks\n",
    -		    fs->fs_fsmnt, (unsigned long long)ino, DIP(ip, blocks));
    +		printf("free inode %llu on %s had %" PRId64 " blocks\n",
    +		    (unsigned long long)ino, fs->fs_fsmnt, DIP(ip, blocks));
     		DIP_ASSIGN(ip, blocks, 0);
     	}
     	ip->i_flag &= ~IN_SPACECOUNTED;
    @@ -721,14 +720,17 @@ ffs_dirpref(struct inode *pip)
     	/*
     	 * Count various limits which used for
     	 * optimal allocation of a directory inode.
    +	 * Try cylinder groups with >75% avgifree and avgbfree.
    +	 * Avoid cylinder groups with no free blocks or inodes as that
    +	 * triggers an I/O-expensive cylinder group scan.
     	 */
     	maxndir = min(avgndir + fs->fs_ipg / 16, fs->fs_ipg);
    -	minifree = avgifree - fs->fs_ipg / 4;
    -	if (minifree < 0)
    -		minifree = 0;
    -	minbfree = avgbfree - fragstoblks(fs, fs->fs_fpg) / 4;
    -	if (minbfree < 0)
    -		minbfree = 0;
    +	minifree = avgifree - avgifree / 4;
    +	if (minifree < 1)
    +		minifree = 1;
    +	minbfree = avgbfree - avgbfree / 4;
    +	if (minbfree < 1)
    +		minbfree = 1;
     	cgsize = (int64_t)fs->fs_fsize * fs->fs_fpg;
     	dirsize = (int64_t)fs->fs_avgfilesize * fs->fs_avgfpdir;
     	if (avgndir != 0) {
    @@ -737,7 +739,7 @@ ffs_dirpref(struct inode *pip)
     			dirsize = curdsz;
     	}
     	if (cgsize < dirsize * 255)
    -		maxcontigdirs = cgsize / dirsize;
    +		maxcontigdirs = (avgbfree * fs->fs_bsize) / dirsize;
     	else
     		maxcontigdirs = 255;
     	if (fs->fs_avgfpdir > 0)
    @@ -832,11 +834,11 @@ ffs_blkpref_ufs1(struct inode *ip, daddr_t lbn, int indx, int flags,
     		if (flags & B_METAONLY)
     			return ip->i_ffs_first_indir_blk;
     		else
    -			return ip->i_ffs_first_data_blk + blkstofrags(fs, lbn);
    +			return ip->i_ffs_first_data_blk + ffs_blkstofrags(fs, lbn);
     	}
     
     	if (indx % fs->fs_maxbpg == 0 || bap[indx - 1] == 0) {
    -		if (lbn < NDADDR + NINDIR(fs)) {
    +		if (lbn < UFS_NDADDR + FFS_NINDIR(fs)) {
     			cg = ino_to_cg(fs, ip->i_number);
     			return (cgbase(fs, cg) + fs->fs_frag);
     		}
    @@ -896,11 +898,11 @@ ffs_blkpref_ufs2(struct inode *ip, daddr_t lbn, int indx, int flags,
     		if (flags & B_METAONLY)
     			return ip->i_ffs_first_indir_blk;
     		else
    -			return ip->i_ffs_first_data_blk + blkstofrags(fs, lbn);
    +			return ip->i_ffs_first_data_blk + ffs_blkstofrags(fs, lbn);
     	}
     
     	if (indx % fs->fs_maxbpg == 0 || bap[indx - 1] == 0) {
    -		if (lbn < NDADDR + NINDIR(fs)) {
    +		if (lbn < UFS_NDADDR + FFS_NINDIR(fs)) {
     			cg = ino_to_cg(fs, ip->i_number);
     			return (cgbase(fs, cg) + fs->fs_frag);
     		}
    @@ -1019,16 +1021,16 @@ ffs_fragextend(struct inode *ip, int cg, daddr_t bprev, int osize, int nsize)
     
     	KASSERT(mutex_owned(&ump->um_lock));
     
    -	if (fs->fs_cs(fs, cg).cs_nffree < numfrags(fs, nsize - osize))
    +	if (fs->fs_cs(fs, cg).cs_nffree < ffs_numfrags(fs, nsize - osize))
     		return (0);
    -	frags = numfrags(fs, nsize);
    -	bbase = fragnum(fs, bprev);
    -	if (bbase > fragnum(fs, (bprev + frags - 1))) {
    +	frags = ffs_numfrags(fs, nsize);
    +	bbase = ffs_fragnum(fs, bprev);
    +	if (bbase > ffs_fragnum(fs, (bprev + frags - 1))) {
     		/* cannot extend across a block boundary */
     		return (0);
     	}
     	mutex_exit(&ump->um_lock);
    -	error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)),
    +	error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
     		(int)fs->fs_cgsize, NOCRED, B_MODIFY, &bp);
     	if (error)
     		goto fail;
    @@ -1041,7 +1043,7 @@ ffs_fragextend(struct inode *ip, int cg, daddr_t bprev, int osize, int nsize)
     		cgp->cg_time = ufs_rw64(time_second, UFS_FSNEEDSWAP(fs));
     	bno = dtogd(fs, bprev);
     	blksfree = cg_blksfree(cgp, UFS_FSNEEDSWAP(fs));
    -	for (i = numfrags(fs, osize); i < frags; i++)
    +	for (i = ffs_numfrags(fs, osize); i < frags; i++)
     		if (isclr(blksfree, bno + i))
     			goto fail;
     	/*
    @@ -1053,11 +1055,11 @@ ffs_fragextend(struct inode *ip, int cg, daddr_t bprev, int osize, int nsize)
     	for (i = frags; i < fs->fs_frag - bbase; i++)
     		if (isclr(blksfree, bno + i))
     			break;
    -	ufs_add32(cgp->cg_frsum[i - numfrags(fs, osize)], -1, UFS_FSNEEDSWAP(fs));
    +	ufs_add32(cgp->cg_frsum[i - ffs_numfrags(fs, osize)], -1, UFS_FSNEEDSWAP(fs));
     	if (i != frags)
     		ufs_add32(cgp->cg_frsum[i - frags], 1, UFS_FSNEEDSWAP(fs));
     	mutex_enter(&ump->um_lock);
    -	for (i = numfrags(fs, osize); i < frags; i++) {
    +	for (i = ffs_numfrags(fs, osize); i < frags; i++) {
     		clrbit(blksfree, bno + i);
     		ufs_add32(cgp->cg_cs.cs_nffree, -1, UFS_FSNEEDSWAP(fs));
     		fs->fs_cstotal.cs_nffree--;
    @@ -1070,7 +1072,8 @@ ffs_fragextend(struct inode *ip, int cg, daddr_t bprev, int osize, int nsize)
     	return (bprev);
     
      fail:
    - 	brelse(bp, 0);
    + 	if (bp != NULL)
    +		brelse(bp, 0);
      	mutex_enter(&ump->um_lock);
      	return (0);
     }
    @@ -1092,9 +1095,7 @@ ffs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size, int flags)
     	daddr_t blkno;
     	int error, frags, allocsiz, i;
     	u_int8_t *blksfree;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	ump = ip->i_ump;
     
    @@ -1103,7 +1104,7 @@ ffs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size, int flags)
     	if (fs->fs_cs(fs, cg).cs_nbfree == 0 && size == fs->fs_bsize)
     		return (0);
     	mutex_exit(&ump->um_lock);
    -	error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)),
    +	error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
     		(int)fs->fs_cgsize, NOCRED, B_MODIFY, &bp);
     	if (error)
     		goto fail;
    @@ -1129,7 +1130,7 @@ ffs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size, int flags)
     	 * it down to a smaller size if necessary
     	 */
     	blksfree = cg_blksfree(cgp, needswap);
    -	frags = numfrags(fs, size);
    +	frags = ffs_numfrags(fs, size);
     	for (allocsiz = frags; allocsiz < fs->fs_frag; allocsiz++)
     		if (cgp->cg_frsum[allocsiz] != 0)
     			break;
    @@ -1182,7 +1183,8 @@ ffs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size, int flags)
     	return blkno;
     
      fail:
    - 	brelse(bp, 0);
    + 	if (bp != NULL)
    +		brelse(bp, 0);
      	mutex_enter(&ump->um_lock);
      	return (0);
     }
    @@ -1201,32 +1203,27 @@ ffs_alloccg(struct inode *ip, int cg, daddr_t bpref, int size, int flags)
     static daddr_t
     ffs_alloccgblk(struct inode *ip, struct buf *bp, daddr_t bpref, int flags)
     {
    -	struct ufsmount *ump;
     	struct fs *fs = ip->i_fs;
     	struct cg *cgp;
     	int cg;
     	daddr_t blkno;
     	int32_t bno;
     	u_int8_t *blksfree;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
    -	ump = ip->i_ump;
    -
    -	KASSERT(mutex_owned(&ump->um_lock));
    +	KASSERT(mutex_owned(&ip->i_ump->um_lock));
     
     	cgp = (struct cg *)bp->b_data;
     	blksfree = cg_blksfree(cgp, needswap);
     	if (bpref == 0 || dtog(fs, bpref) != ufs_rw32(cgp->cg_cgx, needswap)) {
     		bpref = ufs_rw32(cgp->cg_rotor, needswap);
     	} else {
    -		bpref = blknum(fs, bpref);
    +		bpref = ffs_blknum(fs, bpref);
     		bno = dtogd(fs, bpref);
     		/*
     		 * if the requested block is available, use it
     		 */
    -		if (ffs_isblock(fs, blksfree, fragstoblks(fs, bno)))
    +		if (ffs_isblock(fs, blksfree, ffs_fragstoblks(fs, bno)))
     			goto gotit;
     		/*
     		 * if the requested data block isn't available and we are
    @@ -1244,7 +1241,7 @@ ffs_alloccgblk(struct inode *ip, struct buf *bp, daddr_t bpref, int flags)
     		return (0);
     	cgp->cg_rotor = ufs_rw32(bno, needswap);
     gotit:
    -	blkno = fragstoblks(fs, bno);
    +	blkno = ffs_fragstoblks(fs, bno);
     	ffs_clrblock(fs, blksfree, blkno);
     	ffs_clusteracct(fs, cgp, blkno, -1);
     	ufs_add32(cgp->cg_cs.cs_nbfree, -1, needswap);
    @@ -1289,9 +1286,7 @@ ffs_nodealloccg(struct inode *ip, int cg, daddr_t ipref, int mode, int flags)
     	int32_t initediblk;
     	daddr_t nalloc;
     	struct ufs2_dinode *dp2;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	KASSERT(mutex_owned(&ump->um_lock));
     	UFS_WAPBL_JLOCK_ASSERT(ip->i_ump->um_mountp);
    @@ -1302,7 +1297,7 @@ ffs_nodealloccg(struct inode *ip, int cg, daddr_t ipref, int mode, int flags)
     	ibp = NULL;
     	initediblk = -1;
     retry:
    -	error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)),
    +	error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
     		(int)fs->fs_cgsize, NOCRED, B_MODIFY, &bp);
     	if (error)
     		goto fail;
    @@ -1322,7 +1317,7 @@ retry:
     	if (fs->fs_magic == FS_UFS2_MAGIC && ibp == NULL) {
     		initediblk = ufs_rw32(cgp->cg_initediblk, needswap);
     		nalloc = fs->fs_ipg - ufs_rw32(cgp->cg_cs.cs_nifree, needswap);
    -		if (nalloc + INOPB(fs) > initediblk &&
    +		if (nalloc + FFS_INOPB(fs) > initediblk &&
     		    initediblk < ufs_rw32(cgp->cg_niblk, needswap)) {
     			/*
     			 * We have to release the cg buffer here to prevent
    @@ -1331,7 +1326,7 @@ retry:
     			 */
     			brelse(bp, 0);
     			bp = NULL;
    -			error = ffs_getblk(ip->i_devvp, fsbtodb(fs,
    +			error = ffs_getblk(ip->i_devvp, FFS_FSBTODB(fs,
     			    ino_to_fsba(fs, cg * fs->fs_ipg + initediblk)),
     			    FFS_NOBLK, fs->fs_bsize, false, &ibp);
     			if (error)
    @@ -1384,7 +1379,7 @@ gotit:
     		KASSERT(initediblk == ufs_rw32(cgp->cg_initediblk, needswap));
     		memset(ibp->b_data, 0, fs->fs_bsize);
     		dp2 = (struct ufs2_dinode *)(ibp->b_data);
    -		for (i = 0; i < INOPB(fs); i++) {
    +		for (i = 0; i < FFS_INOPB(fs); i++) {
     			/*
     			 * Don't bother to swap, it's supposed to be
     			 * random, after all.
    @@ -1392,7 +1387,7 @@ gotit:
     			dp2->di_gen = (cprng_fast32() & INT32_MAX) / 2 + 1;
     			dp2++;
     		}
    -		initediblk += INOPB(fs);
    +		initediblk += FFS_INOPB(fs);
     		cgp->cg_initediblk = ufs_rw32(initediblk, needswap);
     	}
     
    @@ -1458,15 +1453,14 @@ ffs_blkalloc_ump(struct ufsmount *ump, daddr_t bno, long size)
     	u_int8_t *blksfree;
     	const int needswap = UFS_FSNEEDSWAP(fs);
     
    -	KASSERT((u_int)size <= fs->fs_bsize && fragoff(fs, size) == 0 &&
    -	    fragnum(fs, bno) + numfrags(fs, size) <= fs->fs_frag);
    +	KASSERT((u_int)size <= fs->fs_bsize && ffs_fragoff(fs, size) == 0 &&
    +	    ffs_fragnum(fs, bno) + ffs_numfrags(fs, size) <= fs->fs_frag);
     	KASSERT(bno < fs->fs_size);
     
     	cg = dtog(fs, bno);
    -	error = bread(ump->um_devvp, fsbtodb(fs, cgtod(fs, cg)),
    +	error = bread(ump->um_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
     		(int)fs->fs_cgsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return error;
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -1481,7 +1475,7 @@ ffs_blkalloc_ump(struct ufsmount *ump, daddr_t bno, long size)
     
     	mutex_enter(&ump->um_lock);
     	if (size == fs->fs_bsize) {
    -		fragno = fragstoblks(fs, cgbno);
    +		fragno = ffs_fragstoblks(fs, cgbno);
     		if (!ffs_isblock(fs, blksfree, fragno)) {
     			mutex_exit(&ump->um_lock);
     			brelse(bp, 0);
    @@ -1493,9 +1487,9 @@ ffs_blkalloc_ump(struct ufsmount *ump, daddr_t bno, long size)
     		fs->fs_cstotal.cs_nbfree--;
     		fs->fs_cs(fs, cg).cs_nbfree--;
     	} else {
    -		bbase = cgbno - fragnum(fs, cgbno);
    +		bbase = cgbno - ffs_fragnum(fs, cgbno);
     
    -		frags = numfrags(fs, size);
    +		frags = ffs_numfrags(fs, size);
     		for (i = 0; i < frags; i++) {
     			if (isclr(blksfree, cgbno + i)) {
     				mutex_exit(&ump->um_lock);
    @@ -1506,7 +1500,7 @@ ffs_blkalloc_ump(struct ufsmount *ump, daddr_t bno, long size)
     		/*
     		 * if a complete block is being split, account for it
     		 */
    -		fragno = fragstoblks(fs, bbase);
    +		fragno = ffs_fragstoblks(fs, bbase);
     		if (ffs_isblock(fs, blksfree, fragno)) {
     			ufs_add32(cgp->cg_cs.cs_nffree, fs->fs_frag, needswap);
     			fs->fs_cstotal.cs_nffree += fs->fs_frag;
    @@ -1552,9 +1546,8 @@ ffs_blkalloc_ump(struct ufsmount *ump, daddr_t bno, long size)
      *
      * => um_lock not held on entry or exit
      */
    -void
    -ffs_blkfree(struct fs *fs, struct vnode *devvp, daddr_t bno, long size,
    -    ino_t inum)
    +static void
    +ffs_blkfree_cg(struct fs *fs, struct vnode *devvp, daddr_t bno, long size)
     {
     	struct cg *cgp;
     	struct buf *bp;
    @@ -1563,28 +1556,19 @@ ffs_blkfree(struct fs *fs, struct vnode *devvp, daddr_t bno, long size,
     	int error, cg;
     	dev_t dev;
     	const bool devvp_is_snapshot = (devvp->v_type != VBLK);
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	KASSERT(!devvp_is_snapshot);
     
     	cg = dtog(fs, bno);
     	dev = devvp->v_rdev;
    -	ump = VFSTOUFS(devvp->v_specmountpoint);
    +	ump = VFSTOUFS(spec_node_getmountedfs(devvp));
     	KASSERT(fs == ump->um_fs);
    -	cgblkno = fsbtodb(fs, cgtod(fs, cg));
    -	if (ffs_snapblkfree(fs, devvp, bno, size, inum))
    -		return;
    -
    -	error = ffs_check_bad_allocation(__func__, fs, bno, size, dev, inum);
    -	if (error)
    -		return;
    +	cgblkno = FFS_FSBTODB(fs, cgtod(fs, cg));
     
     	error = bread(devvp, cgblkno, (int)fs->fs_cgsize,
     	    NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return;
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -1598,6 +1582,230 @@ ffs_blkfree(struct fs *fs, struct vnode *devvp, daddr_t bno, long size,
     	bdwrite(bp);
     }
     
    +struct discardopdata {
    +	struct work wk; /* must be first */
    +	struct vnode *devvp;
    +	daddr_t bno;
    +	long size;
    +};
    +
    +struct discarddata {
    +	struct fs *fs;
    +	struct discardopdata *entry;
    +	long maxsize;
    +	kmutex_t entrylk;
    +	struct workqueue *wq;
    +	int wqcnt, wqdraining;
    +	kmutex_t wqlk;
    +	kcondvar_t wqcv;
    +	/* timer for flush? */
    +};
    +
    +static void
    +ffs_blkfree_td(struct fs *fs, struct discardopdata *td)
    +{
    +	long todo;
    +
    +	while (td->size) {
    +		todo = min(td->size,
    +		  ffs_lfragtosize(fs, (fs->fs_frag - ffs_fragnum(fs, td->bno))));
    +		ffs_blkfree_cg(fs, td->devvp, td->bno, todo);
    +		td->bno += ffs_numfrags(fs, todo);
    +		td->size -= todo;
    +	}
    +}
    +
    +static void
    +ffs_discardcb(struct work *wk, void *arg)
    +{
    +	struct discardopdata *td = (void *)wk;
    +	struct discarddata *ts = arg;
    +	struct fs *fs = ts->fs;
    +	struct disk_discard_range ta;
    +#ifdef TRIMDEBUG
    +	int error;
    +#endif
    +
    +	ta.bno = FFS_FSBTODB(fs, td->bno);
    +	ta.size = td->size >> DEV_BSHIFT;
    +#ifdef TRIMDEBUG
    +	error =
    +#endif
    +		VOP_IOCTL(td->devvp, DIOCDISCARD, &ta, FWRITE, FSCRED);
    +#ifdef TRIMDEBUG
    +	printf("trim(%" PRId64 ",%ld):%d\n", td->bno, td->size, error);
    +#endif
    +
    +	ffs_blkfree_td(fs, td);
    +	kmem_free(td, sizeof(*td));
    +	mutex_enter(&ts->wqlk);
    +	ts->wqcnt--;
    +	if (ts->wqdraining && !ts->wqcnt)
    +		cv_signal(&ts->wqcv);
    +	mutex_exit(&ts->wqlk);
    +}
    +
    +void *
    +ffs_discard_init(struct vnode *devvp, struct fs *fs)
    +{
    +	struct disk_discard_params tp;
    +	struct discarddata *ts;
    +	int error;
    +
    +	error = VOP_IOCTL(devvp, DIOCGDISCARDPARAMS, &tp, FREAD, FSCRED);
    +	if (error) {
    +		printf("DIOCGDISCARDPARAMS: %d\n", error);
    +		return NULL;
    +	}
    +	if (tp.maxsize * DEV_BSIZE < fs->fs_bsize) {
    +		printf("tp.maxsize=%ld, fs_bsize=%d\n", tp.maxsize, fs->fs_bsize);
    +		return NULL;
    +	}
    +
    +	ts = kmem_zalloc(sizeof (*ts), KM_SLEEP);
    +	error = workqueue_create(&ts->wq, "trimwq", ffs_discardcb, ts,
    +				 0, 0, 0);
    +	if (error) {
    +		kmem_free(ts, sizeof (*ts));
    +		return NULL;
    +	}
    +	mutex_init(&ts->entrylk, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_init(&ts->wqlk, MUTEX_DEFAULT, IPL_NONE);
    +	cv_init(&ts->wqcv, "trimwqcv");
    +	ts->maxsize = max(tp.maxsize * DEV_BSIZE, 100*1024); /* XXX */
    +	ts->fs = fs;
    +	return ts;
    +}
    +
    +void
    +ffs_discard_finish(void *vts, int flags)
    +{
    +	struct discarddata *ts = vts;
    +	struct discardopdata *td = NULL;
    +	int res = 0;
    +
    +	/* wait for workqueue to drain */
    +	mutex_enter(&ts->wqlk);
    +	if (ts->wqcnt) {
    +		ts->wqdraining = 1;
    +		res = cv_timedwait(&ts->wqcv, &ts->wqlk, mstohz(5000));
    +	}
    +	mutex_exit(&ts->wqlk);
    +	if (res)
    +		printf("ffs_discarddata drain timeout\n");
    +
    +	mutex_enter(&ts->entrylk);
    +	if (ts->entry) {
    +		td = ts->entry;
    +		ts->entry = NULL;
    +	}
    +	mutex_exit(&ts->entrylk);
    +	if (td) {
    +		/* XXX don't tell disk, its optional */
    +		ffs_blkfree_td(ts->fs, td);
    +#ifdef TRIMDEBUG
    +		printf("finish(%" PRId64 ",%ld)\n", td->bno, td->size);
    +#endif
    +		kmem_free(td, sizeof(*td));
    +	}
    +
    +	cv_destroy(&ts->wqcv);
    +	mutex_destroy(&ts->entrylk);
    +	mutex_destroy(&ts->wqlk);
    +	workqueue_destroy(ts->wq);
    +	kmem_free(ts, sizeof(*ts));
    +}
    +
    +void
    +ffs_blkfree(struct fs *fs, struct vnode *devvp, daddr_t bno, long size,
    +    ino_t inum)
    +{
    +	struct ufsmount *ump;
    +	int error;
    +	dev_t dev;
    +	struct discarddata *ts;
    +	struct discardopdata *td;
    +
    +	dev = devvp->v_rdev;
    +	ump = VFSTOUFS(spec_node_getmountedfs(devvp));
    +	if (ffs_snapblkfree(fs, devvp, bno, size, inum))
    +		return;
    +
    +	error = ffs_check_bad_allocation(__func__, fs, bno, size, dev, inum);
    +	if (error)
    +		return;
    +
    +	if (!ump->um_discarddata) {
    +		ffs_blkfree_cg(fs, devvp, bno, size);
    +		return;
    +	}
    +
    +#ifdef TRIMDEBUG
    +	printf("blkfree(%" PRId64 ",%ld)\n", bno, size);
    +#endif
    +	ts = ump->um_discarddata;
    +	td = NULL;
    +
    +	mutex_enter(&ts->entrylk);
    +	if (ts->entry) {
    +		td = ts->entry;
    +		/* ffs deallocs backwards, check for prepend only */
    +		if (td->bno == bno + ffs_numfrags(fs, size)
    +		    && td->size + size <= ts->maxsize) {
    +			td->bno = bno;
    +			td->size += size;
    +			if (td->size < ts->maxsize) {
    +#ifdef TRIMDEBUG
    +				printf("defer(%" PRId64 ",%ld)\n", td->bno, td->size);
    +#endif
    +				mutex_exit(&ts->entrylk);
    +				return;
    +			}
    +			size = 0; /* mark done */
    +		}
    +		ts->entry = NULL;
    +	}
    +	mutex_exit(&ts->entrylk);
    +
    +	if (td) {
    +#ifdef TRIMDEBUG
    +		printf("enq old(%" PRId64 ",%ld)\n", td->bno, td->size);
    +#endif
    +		mutex_enter(&ts->wqlk);
    +		ts->wqcnt++;
    +		mutex_exit(&ts->wqlk);
    +		workqueue_enqueue(ts->wq, &td->wk, NULL);
    +	}
    +	if (!size)
    +		return;
    +
    +	td = kmem_alloc(sizeof(*td), KM_SLEEP);
    +	td->devvp = devvp;
    +	td->bno = bno;
    +	td->size = size;
    +
    +	if (td->size < ts->maxsize) { /* XXX always the case */
    +		mutex_enter(&ts->entrylk);
    +		if (!ts->entry) { /* possible race? */
    +#ifdef TRIMDEBUG
    +			printf("defer(%" PRId64 ",%ld)\n", td->bno, td->size);
    +#endif
    +			ts->entry = td;
    +			td = NULL;
    +		}
    +		mutex_exit(&ts->entrylk);
    +	}
    +	if (td) {
    +#ifdef TRIMDEBUG
    +		printf("enq new(%" PRId64 ",%ld)\n", td->bno, td->size);
    +#endif
    +		mutex_enter(&ts->wqlk);
    +		ts->wqcnt++;
    +		mutex_exit(&ts->wqlk);
    +		workqueue_enqueue(ts->wq, &td->wk, NULL);
    +	}
    +}
    +
     /*
      * Free a block or fragment from a snapshot cg copy.
      *
    @@ -1618,16 +1826,14 @@ ffs_blkfree_snap(struct fs *fs, struct vnode *devvp, daddr_t bno, long size,
     	int error, cg;
     	dev_t dev;
     	const bool devvp_is_snapshot = (devvp->v_type != VBLK);
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	KASSERT(devvp_is_snapshot);
     
     	cg = dtog(fs, bno);
     	dev = VTOI(devvp)->i_devvp->v_rdev;
     	ump = VFSTOUFS(devvp->v_mount);
    -	cgblkno = fragstoblks(fs, cgtod(fs, cg));
    +	cgblkno = ffs_fragstoblks(fs, cgtod(fs, cg));
     
     	error = ffs_check_bad_allocation(__func__, fs, bno, size, dev, inum);
     	if (error)
    @@ -1636,7 +1842,6 @@ ffs_blkfree_snap(struct fs *fs, struct vnode *devvp, daddr_t bno, long size,
     	error = bread(devvp, cgblkno, (int)fs->fs_cgsize,
     	    NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return;
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -1670,7 +1875,7 @@ ffs_blkfree_common(struct ufsmount *ump, struct fs *fs, dev_t dev,
     	blksfree = cg_blksfree(cgp, needswap);
     	mutex_enter(&ump->um_lock);
     	if (size == fs->fs_bsize) {
    -		fragno = fragstoblks(fs, cgbno);
    +		fragno = ffs_fragstoblks(fs, cgbno);
     		if (!ffs_isfreeblock(fs, blksfree, fragno)) {
     			if (devvp_is_snapshot) {
     				mutex_exit(&ump->um_lock);
    @@ -1697,7 +1902,7 @@ ffs_blkfree_common(struct ufsmount *ump, struct fs *fs, dev_t dev,
     			ufs_add32(old_cg_blktot(cgp, needswap)[i], 1, needswap);
     		}
     	} else {
    -		bbase = cgbno - fragnum(fs, cgbno);
    +		bbase = cgbno - ffs_fragnum(fs, cgbno);
     		/*
     		 * decrement the counts associated with the old frags
     		 */
    @@ -1706,7 +1911,7 @@ ffs_blkfree_common(struct ufsmount *ump, struct fs *fs, dev_t dev,
     		/*
     		 * deallocate the fragment
     		 */
    -		frags = numfrags(fs, size);
    +		frags = ffs_numfrags(fs, size);
     		for (i = 0; i < frags; i++) {
     			if (isset(blksfree, cgbno + i)) {
     				printf("dev = 0x%llx, block = %" PRId64
    @@ -1728,7 +1933,7 @@ ffs_blkfree_common(struct ufsmount *ump, struct fs *fs, dev_t dev,
     		/*
     		 * if a complete block has been reassembled, account for it
     		 */
    -		fragno = fragstoblks(fs, bbase);
    +		fragno = ffs_fragstoblks(fs, bbase);
     		if (ffs_isblock(fs, blksfree, fragno)) {
     			ufs_add32(cgp->cg_cs.cs_nffree, -fs->fs_frag, needswap);
     			fs->fs_cstotal.cs_nffree -= fs->fs_frag;
    @@ -1782,14 +1987,12 @@ ffs_freefile(struct mount *mp, ino_t ino, int mode)
     	int error, cg;
     	daddr_t cgbno;
     	dev_t dev;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	cg = ino_to_cg(fs, ino);
     	devvp = ump->um_devvp;
     	dev = devvp->v_rdev;
    -	cgbno = fsbtodb(fs, cgtod(fs, cg));
    +	cgbno = FFS_FSBTODB(fs, cgtod(fs, cg));
     
     	if ((u_int)ino >= fs->fs_ipg * fs->fs_ncg)
     		panic("ifree: range: dev = 0x%llx, ino = %llu, fs = %s",
    @@ -1797,7 +2000,6 @@ ffs_freefile(struct mount *mp, ino_t ino, int mode)
     	error = bread(devvp, cgbno, (int)fs->fs_cgsize,
     	    NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -1822,16 +2024,14 @@ ffs_freefile_snap(struct fs *fs, struct vnode *devvp, ino_t ino, int mode)
     	int error, cg;
     	daddr_t cgbno;
     	dev_t dev;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	KASSERT(devvp->v_type != VBLK);
     
     	cg = ino_to_cg(fs, ino);
     	dev = VTOI(devvp)->i_devvp->v_rdev;
     	ump = VFSTOUFS(devvp->v_mount);
    -	cgbno = fragstoblks(fs, cgtod(fs, cg));
    +	cgbno = ffs_fragstoblks(fs, cgtod(fs, cg));
     	if ((u_int)ino >= fs->fs_ipg * fs->fs_ncg)
     		panic("ifree: range: dev = 0x%llx, ino = %llu, fs = %s",
     		    (unsigned long long)dev, (unsigned long long)ino,
    @@ -1839,7 +2039,6 @@ ffs_freefile_snap(struct fs *fs, struct vnode *devvp, ino_t ino, int mode)
     	error = bread(devvp, cgbno, (int)fs->fs_cgsize,
     	    NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -1861,9 +2060,7 @@ ffs_freefile_common(struct ufsmount *ump, struct fs *fs, dev_t dev,
     	int cg;
     	struct cg *cgp;
     	u_int8_t *inosused;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	cg = ino_to_cg(fs, ino);
     	cgp = (struct cg *)bp->b_data;
    @@ -1917,13 +2114,12 @@ ffs_checkfreefile(struct fs *fs, struct vnode *devvp, ino_t ino)
     
     	cg = ino_to_cg(fs, ino);
     	if (devvp_is_snapshot)
    -		cgbno = fragstoblks(fs, cgtod(fs, cg));
    +		cgbno = ffs_fragstoblks(fs, cgtod(fs, cg));
     	else
    -		cgbno = fsbtodb(fs, cgtod(fs, cg));
    +		cgbno = FFS_FSBTODB(fs, cgtod(fs, cg));
     	if ((u_int)ino >= fs->fs_ipg * fs->fs_ncg)
     		return 1;
     	if (bread(devvp, cgbno, (int)fs->fs_cgsize, NOCRED, 0, &bp)) {
    -		brelse(bp, 0);
     		return 1;
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -1952,9 +2148,7 @@ ffs_mapsearch(struct fs *fs, struct cg *cgp, daddr_t bpref, int allocsiz)
     	int blk, field, subfield, pos;
     	int ostart, olen;
     	u_int8_t *blksfree;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	/* KASSERT(mutex_owned(&ump->um_lock)); */
     
    diff --git a/sys/ufs/ffs/ffs_balloc.c b/sys/ufs/ffs/ffs_balloc.c
    index 3683cbb19..de12ca3c0 100644
    --- a/sys/ufs/ffs/ffs_balloc.c
    +++ b/sys/ufs/ffs/ffs_balloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_balloc.c,v 1.54 2011/04/23 07:36:02 hannken Exp $	*/
    +/*	$NetBSD: ffs_balloc.c,v 1.60 2013/10/20 00:29:10 htodd Exp $	*/
     
     /*
      * Copyright (c) 2002 Networks Associates Technology, Inc.
    @@ -41,7 +41,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_balloc.c,v 1.54 2011/04/23 07:36:02 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_balloc.c,v 1.60 2013/10/20 00:29:10 htodd Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_quota.h"
    @@ -104,20 +104,18 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	struct inode *ip = VTOI(vp);
     	struct fs *fs = ip->i_fs;
     	struct ufsmount *ump = ip->i_ump;
    -	struct indir indirs[NIADDR + 2];
    +	struct indir indirs[UFS_NIADDR + 2];
     	daddr_t newb, pref, nb;
     	int32_t *bap;	/* XXX ondisk32 */
     	int deallocated, osize, nsize, num, i, error;
    -	int32_t *blkp, *allocblk, allociblk[NIADDR + 1];
    +	int32_t *blkp, *allocblk, allociblk[UFS_NIADDR + 1];
     	int32_t *allocib;
     	int unwindidx = -1;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     	UVMHIST_FUNC("ffs_balloc"); UVMHIST_CALLED(ubchist);
     
    -	lbn = lblkno(fs, off);
    -	size = blkoff(fs, off) + size;
    +	lbn = ffs_lblkno(fs, off);
    +	size = ffs_blkoff(fs, off) + size;
     	if (size > fs->fs_bsize)
     		panic("ffs_balloc: blk too big");
     	if (bpp != NULL) {
    @@ -134,10 +132,10 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	 * this fragment has to be extended to be a full block.
     	 */
     
    -	lastlbn = lblkno(fs, ip->i_size);
    -	if (lastlbn < NDADDR && lastlbn < lbn) {
    +	lastlbn = ffs_lblkno(fs, ip->i_size);
    +	if (lastlbn < UFS_NDADDR && lastlbn < lbn) {
     		nb = lastlbn;
    -		osize = blksize(fs, ip, nb);
    +		osize = ffs_blksize(fs, ip, nb);
     		if (osize < fs->fs_bsize && osize > 0) {
     			mutex_enter(&ump->um_lock);
     			error = ffs_realloccg(ip, nb,
    @@ -146,7 +144,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     				    osize, (int)fs->fs_bsize, cred, bpp, &newb);
     			if (error)
     				return (error);
    -			ip->i_size = lblktosize(fs, nb + 1);
    +			ip->i_size = ffs_lblktosize(fs, nb + 1);
     			ip->i_ffs1_size = ip->i_size;
     			uvm_vnp_setsize(vp, ip->i_ffs1_size);
     			ip->i_ffs1_db[nb] = ufs_rw32((u_int32_t)newb, needswap);
    @@ -161,12 +159,12 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	}
     
     	/*
    -	 * The first NDADDR blocks are direct blocks
    +	 * The first UFS_NDADDR blocks are direct blocks
     	 */
     
    -	if (lbn < NDADDR) {
    +	if (lbn < UFS_NDADDR) {
     		nb = ufs_rw32(ip->i_ffs1_db[lbn], needswap);
    -		if (nb != 0 && ip->i_size >= lblktosize(fs, lbn + 1)) {
    +		if (nb != 0 && ip->i_size >= ffs_lblktosize(fs, lbn + 1)) {
     
     			/*
     			 * The block is an already-allocated direct block
    @@ -179,7 +177,6 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     				error = bread(vp, lbn, fs->fs_bsize, NOCRED,
     					      B_MODIFY, bpp);
     				if (error) {
    -					brelse(*bpp, 0);
     					return (error);
     				}
     			}
    @@ -191,8 +188,8 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			 * Consider need to reallocate a fragment.
     			 */
     
    -			osize = fragroundup(fs, blkoff(fs, ip->i_size));
    -			nsize = fragroundup(fs, size);
    +			osize = ffs_fragroundup(fs, ffs_blkoff(fs, ip->i_size));
    +			nsize = ffs_fragroundup(fs, size);
     			if (nsize <= osize) {
     
     				/*
    @@ -205,7 +202,6 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     					error = bread(vp, lbn, osize, NOCRED,
     						      B_MODIFY, bpp);
     					if (error) {
    -						brelse(*bpp, 0);
     						return (error);
     					}
     				}
    @@ -231,8 +227,8 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			 * allocate a new block or fragment.
     			 */
     
    -			if (ip->i_size < lblktosize(fs, lbn + 1))
    -				nsize = fragroundup(fs, size);
    +			if (ip->i_size < ffs_lblktosize(fs, lbn + 1))
    +				nsize = ffs_fragroundup(fs, size);
     			else
     				nsize = fs->fs_bsize;
     			mutex_enter(&ump->um_lock);
    @@ -243,7 +239,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			if (error)
     				return (error);
     			if (bpp != NULL) {
    -				error = ffs_getblk(vp, lbn, fsbtodb(fs, newb),
    +				error = ffs_getblk(vp, lbn, FFS_FSBTODB(fs, newb),
     				    nsize, (flags & B_CLRBUF) != 0, bpp);
     				if (error)
     					return error;
    @@ -279,7 +275,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			goto fail;
     		nb = newb;
     		*allocblk++ = nb;
    -		error = ffs_getblk(vp, indirs[1].in_lbn, fsbtodb(fs, nb),
    +		error = ffs_getblk(vp, indirs[1].in_lbn, FFS_FSBTODB(fs, nb),
     		    fs->fs_bsize, true, &bp);
     		if (error)
     			goto fail;
    @@ -303,7 +299,6 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     		error = bread(vp,
     		    indirs[i].in_lbn, (int)fs->fs_bsize, NOCRED, 0, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			goto fail;
     		}
     		bap = (int32_t *)bp->b_data;	/* XXX ondisk32 */
    @@ -335,7 +330,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     		}
     		nb = newb;
     		*allocblk++ = nb;
    -		error = ffs_getblk(vp, indirs[i].in_lbn, fsbtodb(fs, nb),
    +		error = ffs_getblk(vp, indirs[i].in_lbn, FFS_FSBTODB(fs, nb),
     		    fs->fs_bsize, true, &nbp);
     		if (error) {
     			brelse(bp, 0);
    @@ -392,7 +387,7 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     		nb = newb;
     		*allocblk++ = nb;
     		if (bpp != NULL) {
    -			error = ffs_getblk(vp, lbn, fsbtodb(fs, nb),
    +			error = ffs_getblk(vp, lbn, FFS_FSBTODB(fs, nb),
     			    fs->fs_bsize, (flags & B_CLRBUF) != 0, bpp);
     			if (error) {
     				brelse(bp, 0);
    @@ -422,11 +417,10 @@ ffs_balloc_ufs1(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			error = bread(vp, lbn, (int)fs->fs_bsize,
     			    NOCRED, B_MODIFY, &nbp);
     			if (error) {
    -				brelse(nbp, 0);
     				goto fail;
     			}
     		} else {
    -			error = ffs_getblk(vp, lbn, fsbtodb(fs, nb),
    +			error = ffs_getblk(vp, lbn, FFS_FSBTODB(fs, nb),
     			    fs->fs_bsize, true, &nbp);
     			if (error)
     				goto fail;
    @@ -458,8 +452,8 @@ fail:
     			    fs->fs_bsize, false, &bp) != 0)
     				continue;
     			if (bp->b_oflags & BO_DELWRI) {
    -				nb = fsbtodb(fs, cgtod(fs, dtog(fs,
    -				    dbtofsb(fs, bp->b_blkno))));
    +				nb = FFS_FSBTODB(fs, cgtod(fs, dtog(fs,
    +				    FFS_DBTOFSB(fs, bp->b_blkno))));
     				bwrite(bp);
     				if (ffs_getblk(ip->i_devvp, nb, FFS_NOBLK,
     				    fs->fs_cgsize, false, &bp) != 0)
    @@ -487,7 +481,6 @@ fail:
     			    (int)fs->fs_bsize, NOCRED, 0, &bp);
     			if (r) {
     				panic("Could not unwind indirect block, error %d", r);
    -				brelse(bp, 0);
     			} else {
     				bap = (int32_t *)bp->b_data; /* XXX ondisk32 */
     				bap[indirs[unwindidx].in_off] = 0;
    @@ -526,20 +519,18 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	struct inode *ip = VTOI(vp);
     	struct fs *fs = ip->i_fs;
     	struct ufsmount *ump = ip->i_ump;
    -	struct indir indirs[NIADDR + 2];
    +	struct indir indirs[UFS_NIADDR + 2];
     	daddr_t newb, pref, nb;
     	int64_t *bap;
     	int deallocated, osize, nsize, num, i, error;
    -	daddr_t *blkp, *allocblk, allociblk[NIADDR + 1];
    +	daddr_t *blkp, *allocblk, allociblk[UFS_NIADDR + 1];
     	int64_t *allocib;
     	int unwindidx = -1;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     	UVMHIST_FUNC("ffs_balloc"); UVMHIST_CALLED(ubchist);
     
    -	lbn = lblkno(fs, off);
    -	size = blkoff(fs, off) + size;
    +	lbn = ffs_lblkno(fs, off);
    +	size = ffs_blkoff(fs, off) + size;
     	if (size > fs->fs_bsize)
     		panic("ffs_balloc: blk too big");
     	if (bpp != NULL) {
    @@ -555,17 +546,17 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	 * Check for allocating external data.
     	 */
     	if (flags & IO_EXT) {
    -		if (lbn >= NXADDR)
    +		if (lbn >= UFS_NXADDR)
     			return (EFBIG);
     		/*
     		 * If the next write will extend the data into a new block,
     		 * and the data is currently composed of a fragment
     		 * this fragment has to be extended to be a full block.
     		 */
    -		lastlbn = lblkno(fs, dp->di_extsize);
    +		lastlbn = ffs_lblkno(fs, dp->di_extsize);
     		if (lastlbn < lbn) {
     			nb = lastlbn;
    -			osize = sblksize(fs, dp->di_extsize, nb);
    +			osize = ffs_sblksize(fs, dp->di_extsize, nb);
     			if (osize < fs->fs_bsize && osize > 0) {
     				mutex_enter(&ump->um_lock);
     				error = ffs_realloccg(ip, -1 - nb,
    @@ -577,7 +568,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     				if (error)
     					return (error);
     				dp->di_extsize = smalllblktosize(fs, nb + 1);
    -				dp->di_extb[nb] = dbtofsb(fs, bp->b_blkno);
    +				dp->di_extb[nb] = FFS_DBTOFSB(fs, bp->b_blkno);
     				bp->b_xflags |= BX_ALTDATA;
     				ip->i_flag |= IN_CHANGE | IN_UPDATE;
     				if (flags & IO_SYNC)
    @@ -596,11 +587,10 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			error = bread(vp, -1 - lbn, fs->fs_bsize,
     			    NOCRED, 0, &bp);
     			if (error) {
    -				brelse(bp, 0);
     				return (error);
     			}
     			mutex_enter(&bp->b_interlock);
    -			bp->b_blkno = fsbtodb(fs, nb);
    +			bp->b_blkno = FFS_FSBTODB(fs, nb);
     			bp->b_xflags |= BX_ALTDATA;
     			mutex_exit(&bp->b_interlock);
     			*bpp = bp;
    @@ -610,17 +600,16 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			/*
     			 * Consider need to reallocate a fragment.
     			 */
    -			osize = fragroundup(fs, blkoff(fs, dp->di_extsize));
    -			nsize = fragroundup(fs, size);
    +			osize = ffs_fragroundup(fs, ffs_blkoff(fs, dp->di_extsize));
    +			nsize = ffs_fragroundup(fs, size);
     			if (nsize <= osize) {
     				error = bread(vp, -1 - lbn, osize,
     				    NOCRED, 0, &bp);
     				if (error) {
    -					brelse(bp, 0);
     					return (error);
     				}
     				mutex_enter(&bp->b_interlock);
    -				bp->b_blkno = fsbtodb(fs, nb);
    +				bp->b_blkno = FFS_FSBTODB(fs, nb);
     				bp->b_xflags |= BX_ALTDATA;
     				mutex_exit(&bp->b_interlock);
     			} else {
    @@ -636,7 +625,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			}
     		} else {
     			if (dp->di_extsize < smalllblktosize(fs, lbn + 1))
    -				nsize = fragroundup(fs, size);
    +				nsize = ffs_fragroundup(fs, size);
     			else
     				nsize = fs->fs_bsize;
     			mutex_enter(&ump->um_lock);
    @@ -646,13 +635,13 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			   nsize, flags, cred, &newb);
     			if (error)
     				return (error);
    -			error = ffs_getblk(vp, -1 - lbn, fsbtodb(fs, newb),
    +			error = ffs_getblk(vp, -1 - lbn, FFS_FSBTODB(fs, newb),
     			    nsize, (flags & BA_CLRBUF) != 0, &bp);
     			if (error)
     				return error;
     			bp->b_xflags |= BX_ALTDATA;
     		}
    -		dp->di_extb[lbn] = dbtofsb(fs, bp->b_blkno);
    +		dp->di_extb[lbn] = FFS_DBTOFSB(fs, bp->b_blkno);
     		ip->i_flag |= IN_CHANGE | IN_UPDATE;
     		*bpp = bp;
     		return (0);
    @@ -664,10 +653,10 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	 * this fragment has to be extended to be a full block.
     	 */
     
    -	lastlbn = lblkno(fs, ip->i_size);
    -	if (lastlbn < NDADDR && lastlbn < lbn) {
    +	lastlbn = ffs_lblkno(fs, ip->i_size);
    +	if (lastlbn < UFS_NDADDR && lastlbn < lbn) {
     		nb = lastlbn;
    -		osize = blksize(fs, ip, nb);
    +		osize = ffs_blksize(fs, ip, nb);
     		if (osize < fs->fs_bsize && osize > 0) {
     			mutex_enter(&ump->um_lock);
     			error = ffs_realloccg(ip, nb,
    @@ -676,7 +665,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     				    osize, (int)fs->fs_bsize, cred, bpp, &newb);
     			if (error)
     				return (error);
    -			ip->i_size = lblktosize(fs, nb + 1);
    +			ip->i_size = ffs_lblktosize(fs, nb + 1);
     			ip->i_ffs2_size = ip->i_size;
     			uvm_vnp_setsize(vp, ip->i_size);
     			ip->i_ffs2_db[nb] = ufs_rw64(newb, needswap);
    @@ -691,12 +680,12 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     	}
     
     	/*
    -	 * The first NDADDR blocks are direct blocks
    +	 * The first UFS_NDADDR blocks are direct blocks
     	 */
     
    -	if (lbn < NDADDR) {
    +	if (lbn < UFS_NDADDR) {
     		nb = ufs_rw64(ip->i_ffs2_db[lbn], needswap);
    -		if (nb != 0 && ip->i_size >= lblktosize(fs, lbn + 1)) {
    +		if (nb != 0 && ip->i_size >= ffs_lblktosize(fs, lbn + 1)) {
     
     			/*
     			 * The block is an already-allocated direct block
    @@ -709,7 +698,6 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     				error = bread(vp, lbn, fs->fs_bsize, NOCRED,
     					      B_MODIFY, bpp);
     				if (error) {
    -					brelse(*bpp, 0);
     					return (error);
     				}
     			}
    @@ -721,8 +709,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			 * Consider need to reallocate a fragment.
     			 */
     
    -			osize = fragroundup(fs, blkoff(fs, ip->i_size));
    -			nsize = fragroundup(fs, size);
    +			osize = ffs_fragroundup(fs, ffs_blkoff(fs, ip->i_size));
    +			nsize = ffs_fragroundup(fs, size);
     			if (nsize <= osize) {
     
     				/*
    @@ -735,7 +723,6 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     					error = bread(vp, lbn, osize, NOCRED,
     						      B_MODIFY, bpp);
     					if (error) {
    -						brelse(*bpp, 0);
     						return (error);
     					}
     				}
    @@ -761,8 +748,8 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			 * allocate a new block or fragment.
     			 */
     
    -			if (ip->i_size < lblktosize(fs, lbn + 1))
    -				nsize = fragroundup(fs, size);
    +			if (ip->i_size < ffs_lblktosize(fs, lbn + 1))
    +				nsize = ffs_fragroundup(fs, size);
     			else
     				nsize = fs->fs_bsize;
     			mutex_enter(&ump->um_lock);
    @@ -773,7 +760,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			if (error)
     				return (error);
     			if (bpp != NULL) {
    -				error = ffs_getblk(vp, lbn, fsbtodb(fs, newb),
    +				error = ffs_getblk(vp, lbn, FFS_FSBTODB(fs, newb),
     				    nsize, (flags & B_CLRBUF) != 0, bpp);
     				if (error)
     					return error;
    @@ -809,7 +796,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			goto fail;
     		nb = newb;
     		*allocblk++ = nb;
    -		error = ffs_getblk(vp, indirs[1].in_lbn, fsbtodb(fs, nb),
    +		error = ffs_getblk(vp, indirs[1].in_lbn, FFS_FSBTODB(fs, nb),
     		    fs->fs_bsize, true, &bp);
     		if (error)
     			goto fail;
    @@ -833,7 +820,6 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     		error = bread(vp,
     		    indirs[i].in_lbn, (int)fs->fs_bsize, NOCRED, 0, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			goto fail;
     		}
     		bap = (int64_t *)bp->b_data;
    @@ -865,7 +851,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     		}
     		nb = newb;
     		*allocblk++ = nb;
    -		error = ffs_getblk(vp, indirs[i].in_lbn, fsbtodb(fs, nb),
    +		error = ffs_getblk(vp, indirs[i].in_lbn, FFS_FSBTODB(fs, nb),
     		    fs->fs_bsize, true, &nbp);
     		if (error) {
     			brelse(bp, 0);
    @@ -922,7 +908,7 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     		nb = newb;
     		*allocblk++ = nb;
     		if (bpp != NULL) {
    -			error = ffs_getblk(vp, lbn, fsbtodb(fs, nb),
    +			error = ffs_getblk(vp, lbn, FFS_FSBTODB(fs, nb),
     			    fs->fs_bsize, (flags & B_CLRBUF) != 0, bpp);
     			if (error) {
     				brelse(bp, 0);
    @@ -952,11 +938,10 @@ ffs_balloc_ufs2(struct vnode *vp, off_t off, int size, kauth_cred_t cred,
     			error = bread(vp, lbn, (int)fs->fs_bsize,
     			    NOCRED, B_MODIFY, &nbp);
     			if (error) {
    -				brelse(nbp, 0);
     				goto fail;
     			}
     		} else {
    -			error = ffs_getblk(vp, lbn, fsbtodb(fs, nb),
    +			error = ffs_getblk(vp, lbn, FFS_FSBTODB(fs, nb),
     			    fs->fs_bsize, true, &nbp);
     			if (error)
     				goto fail;
    @@ -988,8 +973,8 @@ fail:
     			    fs->fs_bsize, false, &bp) != 0)
     				continue;
     			if (bp->b_oflags & BO_DELWRI) {
    -				nb = fsbtodb(fs, cgtod(fs, dtog(fs,
    -				    dbtofsb(fs, bp->b_blkno))));
    +				nb = FFS_FSBTODB(fs, cgtod(fs, dtog(fs,
    +				    FFS_DBTOFSB(fs, bp->b_blkno))));
     				bwrite(bp);
     				if (ffs_getblk(ip->i_devvp, nb, FFS_NOBLK,
     				    fs->fs_cgsize, false, &bp) != 0)
    @@ -1019,7 +1004,6 @@ fail:
     			    (int)fs->fs_bsize, NOCRED, 0, &bp);
     			if (r) {
     				panic("Could not unwind indirect block, error %d", r);
    -				brelse(bp, 0);
     			} else {
     				bap = (int64_t *)bp->b_data;
     				bap[indirs[unwindidx].in_off] = 0;
    diff --git a/sys/ufs/ffs/ffs_bswap.c b/sys/ufs/ffs/ffs_bswap.c
    index ddac30db0..17bd15a8a 100644
    --- a/sys/ufs/ffs/ffs_bswap.c
    +++ b/sys/ufs/ffs/ffs_bswap.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_bswap.c,v 1.35 2011/03/06 17:08:38 bouyer Exp $	*/
    +/*	$NetBSD: ffs_bswap.c,v 1.37 2013/06/09 17:55:46 dholland Exp $	*/
     
     /*
      * Copyright (c) 1998 Manuel Bouyer.
    @@ -30,7 +30,7 @@
     #endif
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_bswap.c,v 1.35 2011/03/06 17:08:38 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_bswap.c,v 1.37 2013/06/09 17:55:46 dholland Exp $");
     
     #include 
     #if defined(_KERNEL)
    @@ -119,8 +119,8 @@ ffs_dinode1_swap(struct ufs1_dinode *o, struct ufs1_dinode *n)
     
     	n->di_mode = bswap16(o->di_mode);
     	n->di_nlink = bswap16(o->di_nlink);
    -	n->di_u.oldids[0] = bswap16(o->di_u.oldids[0]);
    -	n->di_u.oldids[1] = bswap16(o->di_u.oldids[1]);
    +	n->di_oldids[0] = bswap16(o->di_oldids[0]);
    +	n->di_oldids[1] = bswap16(o->di_oldids[1]);
     	n->di_size = bswap64(o->di_size);
     	n->di_atime = bswap32(o->di_atime);
     	n->di_atimensec = bswap32(o->di_atimensec);
    @@ -128,7 +128,7 @@ ffs_dinode1_swap(struct ufs1_dinode *o, struct ufs1_dinode *n)
     	n->di_mtimensec = bswap32(o->di_mtimensec);
     	n->di_ctime = bswap32(o->di_ctime);
     	n->di_ctimensec = bswap32(o->di_ctimensec);
    -	memcpy(n->di_db, o->di_db, (NDADDR + NIADDR) * sizeof(u_int32_t));
    +	memcpy(n->di_db, o->di_db, (UFS_NDADDR + UFS_NIADDR) * sizeof(u_int32_t));
     	n->di_flags = bswap32(o->di_flags);
     	n->di_blocks = bswap32(o->di_blocks);
     	n->di_gen = bswap32(o->di_gen);
    @@ -158,7 +158,7 @@ ffs_dinode2_swap(struct ufs2_dinode *o, struct ufs2_dinode *n)
     	n->di_kernflags = bswap32(o->di_kernflags);
     	n->di_flags = bswap32(o->di_flags);
     	n->di_extsize = bswap32(o->di_extsize);
    -	memcpy(n->di_extb, o->di_extb, (NXADDR + NDADDR + NIADDR) * 8);
    +	memcpy(n->di_extb, o->di_extb, (UFS_NXADDR + UFS_NDADDR + UFS_NIADDR) * 8);
     }
     
     void
    diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h
    index c46631bae..10c48c573 100644
    --- a/sys/ufs/ffs/ffs_extern.h
    +++ b/sys/ufs/ffs/ffs_extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_extern.h,v 1.78 2011/06/17 14:23:52 manu Exp $	*/
    +/*	$NetBSD: ffs_extern.h,v 1.80 2013/06/16 13:33:30 hannken Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993, 1994
    @@ -98,6 +98,8 @@ daddr_t	ffs_blkpref_ufs2(struct inode *, daddr_t, int, int, int64_t *);
     int	ffs_blkalloc(struct inode *, daddr_t, long);
     int	ffs_blkalloc_ump(struct ufsmount *, daddr_t, long);
     void	ffs_blkfree(struct fs *, struct vnode *, daddr_t, long, ino_t);
    +void	*ffs_discard_init(struct vnode *, struct fs *);
    +void	ffs_discard_finish(void *, int);
     void	ffs_blkfree_snap(struct fs *, struct vnode *, daddr_t, long, ino_t);
     int	ffs_vfree(struct vnode *, ino_t, int);
     int	ffs_checkfreefile(struct fs *, struct vnode *, ino_t);
    @@ -151,7 +153,7 @@ void	ffs_snapremove(struct vnode *);
     int	ffs_snapshot(struct mount *, struct vnode *, struct timespec *);
     void	ffs_snapshot_mount(struct mount *);
     void	ffs_snapshot_unmount(struct mount *);
    -void	ffs_snapgone(struct inode *);
    +void	ffs_snapgone(struct vnode *);
     int	ffs_snapshot_read(struct vnode *, struct uio *, int);
     
     /* Write Ahead Physical Block Logging */
    diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c
    index 0f6edcb7d..82b562de9 100644
    --- a/sys/ufs/ffs/ffs_inode.c
    +++ b/sys/ufs/ffs/ffs_inode.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_inode.c,v 1.108 2011/11/23 19:42:10 bouyer Exp $	*/
    +/*	$NetBSD: ffs_inode.c,v 1.116 2013/10/20 00:29:10 htodd Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -61,7 +61,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_inode.c,v 1.108 2011/11/23 19:42:10 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_inode.c,v 1.116 2013/10/20 00:29:10 htodd Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -75,7 +75,7 @@ __KERNEL_RCSID(0, "$NetBSD: ffs_inode.c,v 1.108 2011/11/23 19:42:10 bouyer Exp $
     #include 
     #include 
     #include 
    -#include 
    +#include 
     #include 
     #include 
     #include 
    @@ -148,15 +148,16 @@ ffs_update(struct vnode *vp, const struct timespec *acc,
     		ip->i_ffs1_ogid = ip->i_gid;	/* XXX */
     	}							/* XXX */
     	error = bread(ip->i_devvp,
    -		      fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
    +		      FFS_FSBTODB(fs, ino_to_fsba(fs, ip->i_number)),
     		      (int)fs->fs_bsize, NOCRED, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	ip->i_flag &= ~(IN_MODIFIED | IN_ACCESSED);
     	/* Keep unlinked inode list up to date */
    -	KDASSERT(DIP(ip, nlink) == ip->i_nlink);
    +	KDASSERTMSG(DIP(ip, nlink) == ip->i_nlink,
    +	    "DIP(ip, nlink) [%d] == ip->i_nlink [%d]",
    +	    DIP(ip, nlink), ip->i_nlink);
     	if (ip->i_mode) {
     		if (ip->i_nlink > 0) {
     			UFS_WAPBL_UNREGISTER_INODE(ip->i_ump->um_mountp,
    @@ -207,8 +208,8 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     {
     	daddr_t lastblock;
     	struct inode *oip = VTOI(ovp);
    -	daddr_t bn, lastiblock[NIADDR], indir_lbn[NIADDR];
    -	daddr_t blks[NDADDR + NIADDR];
    +	daddr_t bn, lastiblock[UFS_NIADDR], indir_lbn[UFS_NIADDR];
    +	daddr_t blks[UFS_NDADDR + UFS_NIADDR];
     	struct fs *fs;
     	int offset, pgoffset, level;
     	int64_t count, blocksreleased = 0;
    @@ -260,12 +261,12 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 */
     
     	if (osize < length) {
    -		if (lblkno(fs, osize) < NDADDR &&
    -		    lblkno(fs, osize) != lblkno(fs, length) &&
    -		    blkroundup(fs, osize) != osize) {
    +		if (ffs_lblkno(fs, osize) < UFS_NDADDR &&
    +		    ffs_lblkno(fs, osize) != ffs_lblkno(fs, length) &&
    +		    ffs_blkroundup(fs, osize) != osize) {
     			off_t eob;
     
    -			eob = blkroundup(fs, osize);
    +			eob = ffs_blkroundup(fs, osize);
     			uvm_vnp_setwritesize(ovp, eob);
     			error = ufs_balloc_range(ovp, osize, eob - osize,
     			    cred, aflag);
    @@ -306,7 +307,7 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 * zeroed page past EOF, but that's life.
     	 */
     
    -	offset = blkoff(fs, length);
    +	offset = ffs_blkoff(fs, length);
     	pgoffset = length & PAGE_MASK;
     	if (ovp->v_type == VREG && (pgoffset != 0 || offset != 0) &&
     	    osize > length) {
    @@ -320,9 +321,9 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     			if (error)
     				return error;
     		}
    -		lbn = lblkno(fs, length);
    -		size = blksize(fs, oip, lbn);
    -		eoz = MIN(MAX(lblktosize(fs, lbn) + size, round_page(pgoffset)),
    +		lbn = ffs_lblkno(fs, length);
    +		size = ffs_blksize(fs, oip, lbn);
    +		eoz = MIN(MAX(ffs_lblktosize(fs, lbn) + size, round_page(pgoffset)),
     		    osize);
     		ubc_zerorange(&ovp->v_uobj, length, eoz - length,
     		    UBC_UNMAP_FLAG(ovp));
    @@ -347,10 +348,10 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 * which we want to keep.  Lastblock is -1 when
     	 * the file is truncated to 0.
     	 */
    -	lastblock = lblkno(fs, length + fs->fs_bsize - 1) - 1;
    -	lastiblock[SINGLE] = lastblock - NDADDR;
    -	lastiblock[DOUBLE] = lastiblock[SINGLE] - NINDIR(fs);
    -	lastiblock[TRIPLE] = lastiblock[DOUBLE] - NINDIR(fs) * NINDIR(fs);
    +	lastblock = ffs_lblkno(fs, length + fs->fs_bsize - 1) - 1;
    +	lastiblock[SINGLE] = lastblock - UFS_NDADDR;
    +	lastiblock[DOUBLE] = lastiblock[SINGLE] - FFS_NINDIR(fs);
    +	lastiblock[TRIPLE] = lastiblock[DOUBLE] - FFS_NINDIR(fs) * FFS_NINDIR(fs);
     	nblocks = btodb(fs->fs_bsize);
     	/*
     	 * Update file and block pointers on disk before we start freeing
    @@ -360,14 +361,14 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 */
     	sync = 0;
     	for (level = TRIPLE; level >= SINGLE; level--) {
    -		blks[NDADDR + level] = DIP(oip, ib[level]);
    -		if (lastiblock[level] < 0 && blks[NDADDR + level] != 0) {
    +		blks[UFS_NDADDR + level] = DIP(oip, ib[level]);
    +		if (lastiblock[level] < 0 && blks[UFS_NDADDR + level] != 0) {
     			sync = 1;
     			DIP_ASSIGN(oip, ib[level], 0);
     			lastiblock[level] = -1;
     		}
     	}
    -	for (i = 0; i < NDADDR; i++) {
    +	for (i = 0; i < UFS_NDADDR; i++) {
     		blks[i] = DIP(oip, db[i]);
     		if (i > lastblock && blks[i] != 0) {
     			sync = 1;
    @@ -387,15 +388,15 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 * Note that we save the new block configuration so we can check it
     	 * when we are done.
     	 */
    -	for (i = 0; i < NDADDR; i++) {
    +	for (i = 0; i < UFS_NDADDR; i++) {
     		bn = DIP(oip, db[i]);
     		DIP_ASSIGN(oip, db[i], blks[i]);
     		blks[i] = bn;
     	}
    -	for (i = 0; i < NIADDR; i++) {
    +	for (i = 0; i < UFS_NIADDR; i++) {
     		bn = DIP(oip, ib[i]);
    -		DIP_ASSIGN(oip, ib[i], blks[NDADDR + i]);
    -		blks[NDADDR + i] = bn;
    +		DIP_ASSIGN(oip, ib[i], blks[UFS_NDADDR + i]);
    +		blks[UFS_NDADDR + i] = bn;
     	}
     
     	oip->i_size = osize;
    @@ -407,9 +408,9 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	/*
     	 * Indirect blocks first.
     	 */
    -	indir_lbn[SINGLE] = -NDADDR;
    -	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - NINDIR(fs) - 1;
    -	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - NINDIR(fs) * NINDIR(fs) - 1;
    +	indir_lbn[SINGLE] = -UFS_NDADDR;
    +	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - FFS_NINDIR(fs) - 1;
    +	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - FFS_NINDIR(fs) * FFS_NINDIR(fs) - 1;
     	for (level = TRIPLE; level >= SINGLE; level--) {
     		if (oip->i_ump->um_fstype == UFS1)
     			bn = ufs_rw32(oip->i_ffs1_ib[level],UFS_FSNEEDSWAP(fs));
    @@ -417,7 +418,7 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     			bn = ufs_rw64(oip->i_ffs2_ib[level],UFS_FSNEEDSWAP(fs));
     		if (bn != 0) {
     			error = ffs_indirtrunc(oip, indir_lbn[level],
    -			    fsbtodb(fs, bn), lastiblock[level], level, &count);
    +			    FFS_FSBTODB(fs, bn), lastiblock[level], level, &count);
     			if (error)
     				allerror = error;
     			blocksreleased += count;
    @@ -426,7 +427,7 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     				if (oip->i_ump->um_mountp->mnt_wapbl) {
     					UFS_WAPBL_REGISTER_DEALLOCATION(
     					    oip->i_ump->um_mountp,
    -					    fsbtodb(fs, bn), fs->fs_bsize);
    +					    FFS_FSBTODB(fs, bn), fs->fs_bsize);
     				} else
     					ffs_blkfree(fs, oip->i_devvp, bn,
     					    fs->fs_bsize, oip->i_number);
    @@ -440,7 +441,7 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	/*
     	 * All whole direct blocks or frags.
     	 */
    -	for (i = NDADDR - 1; i > lastblock; i--) {
    +	for (i = UFS_NDADDR - 1; i > lastblock; i--) {
     		long bsize;
     
     		if (oip->i_ump->um_fstype == UFS1)
    @@ -450,11 +451,11 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     		if (bn == 0)
     			continue;
     		DIP_ASSIGN(oip, db[i], 0);
    -		bsize = blksize(fs, oip, i);
    +		bsize = ffs_blksize(fs, oip, i);
     		if ((oip->i_ump->um_mountp->mnt_wapbl) &&
     		    (ovp->v_type != VREG)) {
     			UFS_WAPBL_REGISTER_DEALLOCATION(oip->i_ump->um_mountp,
    -			    fsbtodb(fs, bn), bsize);
    +			    FFS_FSBTODB(fs, bn), bsize);
     		} else
     			ffs_blkfree(fs, oip->i_devvp, bn, bsize, oip->i_number);
     		blocksreleased += btodb(bsize);
    @@ -477,10 +478,10 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     		 * Calculate amount of space we're giving
     		 * back as old block size minus new block size.
     		 */
    -		oldspace = blksize(fs, oip, lastblock);
    +		oldspace = ffs_blksize(fs, oip, lastblock);
     		oip->i_size = length;
     		DIP_ASSIGN(oip, size, length);
    -		newspace = blksize(fs, oip, lastblock);
    +		newspace = ffs_blksize(fs, oip, lastblock);
     		if (newspace == 0)
     			panic("itrunc: newspace");
     		if (oldspace - newspace > 0) {
    @@ -489,11 +490,11 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     			 * the old block # plus the number of frags
     			 * required for the storage we're keeping.
     			 */
    -			bn += numfrags(fs, newspace);
    +			bn += ffs_numfrags(fs, newspace);
     			if ((oip->i_ump->um_mountp->mnt_wapbl) &&
     			    (ovp->v_type != VREG)) {
     				UFS_WAPBL_REGISTER_DEALLOCATION(
    -				    oip->i_ump->um_mountp, fsbtodb(fs, bn),
    +				    oip->i_ump->um_mountp, FFS_FSBTODB(fs, bn),
     				    oldspace - newspace);
     			} else
     				ffs_blkfree(fs, oip->i_devvp, bn,
    @@ -505,9 +506,9 @@ ffs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     done:
     #ifdef DIAGNOSTIC
     	for (level = SINGLE; level <= TRIPLE; level++)
    -		if (blks[NDADDR + level] != DIP(oip, ib[level]))
    +		if (blks[UFS_NDADDR + level] != DIP(oip, ib[level]))
     			panic("itrunc1");
    -	for (i = 0; i < NDADDR; i++)
    +	for (i = 0; i < UFS_NDADDR; i++)
     		if (blks[i] != DIP(oip, db[i]))
     			panic("itrunc2");
     	if (length == 0 &&
    @@ -554,9 +555,7 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	int64_t blkcount, factor, blocksreleased = 0;
     	int nblocks;
     	int error = 0, allerror = 0;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     #define RBAP(ip, i) (((ip)->i_ump->um_fstype == UFS1) ? \
     	    ufs_rw32(bap1[i], needswap) : ufs_rw64(bap2[i], needswap))
     #define BAP_ASSIGN(ip, i, value)					\
    @@ -574,7 +573,7 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	 */
     	factor = 1;
     	for (i = SINGLE; i < level; i++)
    -		factor *= NINDIR(fs);
    +		factor *= FFS_NINDIR(fs);
     	last = lastbn;
     	if (lastbn > 0)
     		last /= factor;
    @@ -621,9 +620,9 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	else
     		bap2 = (int64_t *)bp->b_data;
     	if (lastbn >= 0) {
    -		copy = malloc(fs->fs_bsize, M_TEMP, M_WAITOK);
    +		copy = kmem_alloc(fs->fs_bsize, KM_SLEEP);
     		memcpy((void *)copy, bp->b_data, (u_int)fs->fs_bsize);
    -		for (i = last + 1; i < NINDIR(fs); i++)
    +		for (i = last + 1; i < FFS_NINDIR(fs); i++)
     			BAP_ASSIGN(ip, i, 0);
     		error = bwrite(bp);
     		if (error)
    @@ -637,13 +636,13 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	/*
     	 * Recursively free totally unused blocks.
     	 */
    -	for (i = NINDIR(fs) - 1, nlbn = lbn + 1 - i * factor; i > last;
    +	for (i = FFS_NINDIR(fs) - 1, nlbn = lbn + 1 - i * factor; i > last;
     	    i--, nlbn += factor) {
     		nb = RBAP(ip, i);
     		if (nb == 0)
     			continue;
     		if (level > SINGLE) {
    -			error = ffs_indirtrunc(ip, nlbn, fsbtodb(fs, nb),
    +			error = ffs_indirtrunc(ip, nlbn, FFS_FSBTODB(fs, nb),
     					       (daddr_t)-1, level - 1,
     					       &blkcount);
     			if (error)
    @@ -653,7 +652,7 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     		if ((ip->i_ump->um_mountp->mnt_wapbl) &&
     		    ((level > SINGLE) || (ITOV(ip)->v_type != VREG))) {
     			UFS_WAPBL_REGISTER_DEALLOCATION(ip->i_ump->um_mountp,
    -			    fsbtodb(fs, nb), fs->fs_bsize);
    +			    FFS_FSBTODB(fs, nb), fs->fs_bsize);
     		} else
     			ffs_blkfree(fs, ip->i_devvp, nb, fs->fs_bsize,
     			    ip->i_number);
    @@ -667,7 +666,7 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     		last = lastbn % factor;
     		nb = RBAP(ip, i);
     		if (nb != 0) {
    -			error = ffs_indirtrunc(ip, nlbn, fsbtodb(fs, nb),
    +			error = ffs_indirtrunc(ip, nlbn, FFS_FSBTODB(fs, nb),
     					       last, level - 1, &blkcount);
     			if (error)
     				allerror = error;
    @@ -676,7 +675,7 @@ ffs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn, daddr_t lastbn,
     	}
     
     	if (copy != NULL) {
    -		free(copy, M_TEMP);
    +		kmem_free(copy, fs->fs_bsize);
     	} else {
     		brelse(bp, BC_INVAL);
     	}
    diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c
    index b1e07c11c..787bb069c 100644
    --- a/sys/ufs/ffs/ffs_snapshot.c
    +++ b/sys/ufs/ffs/ffs_snapshot.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_snapshot.c,v 1.118 2011/10/07 09:35:06 hannken Exp $	*/
    +/*	$NetBSD: ffs_snapshot.c,v 1.131 2013/10/19 19:28:13 martin Exp $	*/
     
     /*
      * Copyright 2000 Marshall Kirk McKusick. All Rights Reserved.
    @@ -38,7 +38,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_snapshot.c,v 1.118 2011/10/07 09:35:06 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_snapshot.c,v 1.131 2013/10/19 19:28:13 martin Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -124,7 +124,6 @@ static inline bool is_active_snapshot(struct snap_info *, struct inode *);
     static inline daddr_t db_get(struct inode *, int);
     static inline void db_assign(struct inode *, int, daddr_t);
     static inline daddr_t ib_get(struct inode *, int);
    -static inline void ib_assign(struct inode *, int, daddr_t);
     static inline daddr_t idb_get(struct inode *, void *, int);
     static inline void idb_assign(struct inode *, void *, int, daddr_t);
     
    @@ -268,7 +267,7 @@ ffs_snapshot(struct mount *mp, struct vnode *vp, struct timespec *ctime)
     	 * Create a copy of the superblock and its summary information.
     	 */
     	error = snapshot_copyfs(mp, vp, &sbbuf);
    -	copy_fs = (struct fs *)((char *)sbbuf + blkoff(fs, fs->fs_sblockloc));
    +	copy_fs = (struct fs *)((char *)sbbuf + ffs_blkoff(fs, fs->fs_sblockloc));
     	if (error)
     		goto out;
     	/*
    @@ -345,11 +344,17 @@ ffs_snapshot(struct mount *mp, struct vnode *vp, struct timespec *ctime)
     	KASSERT(LIST_FIRST(&vp->v_dirtyblkhd) == NULL);
     	for (bp = LIST_FIRST(&vp->v_cleanblkhd); bp; bp = nbp) {
     		nbp = LIST_NEXT(bp, b_vnbufs);
    -		KASSERT((bp->b_cflags & BC_BUSY) == 0);
    -		if (bp->b_bcount < fs->fs_bsize) {
    -			bp->b_cflags |= BC_BUSY;
    -			brelsel(bp, BC_INVAL | BC_VFLUSH);
    +		if (bp->b_bcount == fs->fs_bsize)
    +			continue;
    +		error = bbusy(bp, false, 0, NULL);
    +		if (error != 0) {
    +			if (error == EPASSTHROUGH) {
    +				nbp = LIST_FIRST(&vp->v_cleanblkhd);
    +				continue;
    +			}
    +			break;
     		}
    +		brelsel(bp, BC_INVAL | BC_VFLUSH);
     	}
     	mutex_exit(&bufcache_lock);
     
    @@ -424,9 +429,9 @@ snapshot_setup(struct mount *mp, struct vnode *vp)
     		return EXDEV;
     	if (vp->v_usecount != 1 || vp->v_writecount != 0)
     		return EBUSY;
    -	if (kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL) != 0 &&
    -	    VTOI(vp)->i_uid != kauth_cred_geteuid(l->l_cred))
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_SNAPSHOT,
    +	    0, mp, vp, NULL);
    +	if (error)
     		return EACCES;
     
     	if (vp->v_size != 0) {
    @@ -458,7 +463,7 @@ snapshot_setup(struct mount *mp, struct vnode *vp)
     	blkno = 1;
     	blkno = ufs_rw64(blkno, UFS_FSNEEDSWAP(fs));
     	error = vn_rdwr(UIO_WRITE, vp,
    -	    (void *)&blkno, sizeof(blkno), lblktosize(fs, (off_t)numblks),
    +	    (void *)&blkno, sizeof(blkno), ffs_lblktosize(fs, (off_t)numblks),
     	    UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, l->l_cred, NULL, NULL);
     	if (error)
     		return error;
    @@ -476,8 +481,8 @@ snapshot_setup(struct mount *mp, struct vnode *vp)
     	error = UFS_WAPBL_BEGIN(mp);
     	if (error)
     		return error;
    -	for (blkno = NDADDR, n = 0; blkno < numblks; blkno += NINDIR(fs)) {
    -		error = ffs_balloc(vp, lblktosize(fs, (off_t)blkno),
    +	for (blkno = UFS_NDADDR, n = 0; blkno < numblks; blkno += FFS_NINDIR(fs)) {
    +		error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)blkno),
     		    fs->fs_bsize, l->l_cred, B_METAONLY, &ibp);
     		if (error)
     			goto out;
    @@ -497,10 +502,10 @@ snapshot_setup(struct mount *mp, struct vnode *vp)
     	if (error)
     		goto out;
     	bawrite(nbp);
    -	blkno = fragstoblks(fs, fs->fs_csaddr);
    +	blkno = ffs_fragstoblks(fs, fs->fs_csaddr);
     	len = howmany(fs->fs_cssize, fs->fs_bsize);
     	for (loc = 0; loc < len; loc++) {
    -		error = ffs_balloc(vp, lblktosize(fs, (off_t)(blkno + loc)),
    +		error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)(blkno + loc)),
     		    fs->fs_bsize, l->l_cred, 0, &nbp);
     		if (error)
     			goto out;
    @@ -516,7 +521,7 @@ snapshot_setup(struct mount *mp, struct vnode *vp)
     	 * Allocate all cylinder group blocks.
     	 */
     	for (cg = 0; cg < fs->fs_ncg; cg++) {
    -		error = ffs_balloc(vp, lfragtosize(fs, cgtod(fs, cg)),
    +		error = ffs_balloc(vp, ffs_lfragtosize(fs, cgtod(fs, cg)),
     		    fs->fs_bsize, l->l_cred, 0, &nbp);
     		if (error)
     			goto out;
    @@ -554,7 +559,7 @@ snapshot_copyfs(struct mount *mp, struct vnode *vp, void **sbbuf)
     	 * We delay writing it until the suspension is released below.
     	 */
     	*sbbuf = malloc(fs->fs_bsize, M_UFSMNT, M_WAITOK);
    -	loc = blkoff(fs, fs->fs_sblockloc);
    +	loc = ffs_blkoff(fs, fs->fs_sblockloc);
     	if (loc > 0)
     		memset(*sbbuf, 0, loc);
     	copyfs = (struct fs *)((char *)(*sbbuf) + loc);
    @@ -563,7 +568,7 @@ snapshot_copyfs(struct mount *mp, struct vnode *vp, void **sbbuf)
     	if (fs->fs_sbsize < size)
     		memset((char *)(*sbbuf) + loc + fs->fs_sbsize, 0, 
     		    size - fs->fs_sbsize);
    -	size = blkroundup(fs, fs->fs_cssize);
    +	size = ffs_blkroundup(fs, fs->fs_cssize);
     	if (fs->fs_contigsumsize > 0)
     		size += fs->fs_ncg * sizeof(int32_t);
     	space = malloc(size, M_UFSMNT, M_WAITOK);
    @@ -574,9 +579,8 @@ snapshot_copyfs(struct mount *mp, struct vnode *vp, void **sbbuf)
     	i = fs->fs_frag - loc % fs->fs_frag;
     	len = (i == fs->fs_frag) ? 0 : i * fs->fs_fsize;
     	if (len > 0) {
    -		if ((error = bread(devvp, fsbtodb(fs, fs->fs_csaddr + loc),
    +		if ((error = bread(devvp, FFS_FSBTODB(fs, fs->fs_csaddr + loc),
     		    len, l->l_cred, 0, &bp)) != 0) {
    -			brelse(bp, 0);
     			free(copyfs->fs_csp, M_UFSMNT);
     			free(*sbbuf, M_UFSMNT);
     			*sbbuf = NULL;
    @@ -683,8 +687,8 @@ snapshot_expunge(struct mount *mp, struct vnode *vp, struct fs *copy_fs,
     		 */
     		blkno = 0;
     		loc = howmany(xp->i_size, fs->fs_bsize) - 1;
    -		if (loc < NDADDR) {
    -			len = fragroundup(fs, blkoff(fs, xp->i_size));
    +		if (loc < UFS_NDADDR) {
    +			len = ffs_fragroundup(fs, ffs_blkoff(fs, xp->i_size));
     			if (len > 0 && len < fs->fs_bsize) {
     				error = UFS_WAPBL_BEGIN(mp);
     				if (error) {
    @@ -722,18 +726,18 @@ snapshot_expunge(struct mount *mp, struct vnode *vp, struct fs *copy_fs,
     	 */
     	*snaplist = malloc(*snaplistsize * sizeof(daddr_t), M_UFSMNT, M_WAITOK);
     	blkp = &(*snaplist)[1];
    -	*blkp++ = lblkno(fs, fs->fs_sblockloc);
    -	blkno = fragstoblks(fs, fs->fs_csaddr);
    +	*blkp++ = ffs_lblkno(fs, fs->fs_sblockloc);
    +	blkno = ffs_fragstoblks(fs, fs->fs_csaddr);
     	for (cg = 0; cg < fs->fs_ncg; cg++) {
    -		if (fragstoblks(fs, cgtod(fs, cg)) > blkno)
    +		if (ffs_fragstoblks(fs, cgtod(fs, cg)) > blkno)
     			break;
    -		*blkp++ = fragstoblks(fs, cgtod(fs, cg));
    +		*blkp++ = ffs_fragstoblks(fs, cgtod(fs, cg));
     	}
     	len = howmany(fs->fs_cssize, fs->fs_bsize);
     	for (loc = 0; loc < len; loc++)
     		*blkp++ = blkno + loc;
     	for (; cg < fs->fs_ncg; cg++)
    -		*blkp++ = fragstoblks(fs, cgtod(fs, cg));
    +		*blkp++ = ffs_fragstoblks(fs, cgtod(fs, cg));
     	(*snaplist)[0] = blkp - &(*snaplist)[0];
     
     out:
    @@ -808,7 +812,7 @@ snapshot_expunge_snap(struct mount *mp, struct vnode *vp,
     	for (i = 0; i < snaplistsize; i++)
     		snaplist[i] = ufs_rw64(snaplist[i], UFS_FSNEEDSWAP(fs));
     	error = vn_rdwr(UIO_WRITE, vp, (void *)snaplist,
    -	    snaplistsize * sizeof(daddr_t), lblktosize(fs, (off_t)numblks),
    +	    snaplistsize * sizeof(daddr_t), ffs_lblktosize(fs, (off_t)numblks),
     	    UIO_SYSSPACE, IO_NODELOCKED | IO_UNIT, l->l_cred, NULL, NULL);
     	for (i = 0; i < snaplistsize; i++)
     		snaplist[i] = ufs_rw64(snaplist[i], UFS_FSNEEDSWAP(fs));
    @@ -822,7 +826,7 @@ out:
     
     /*
      * Write the superblock and its summary information to the snapshot.
    - * Make sure, the first NDADDR blocks get copied to the snapshot.
    + * Make sure, the first UFS_NDADDR blocks get copied to the snapshot.
      */
     static int
     snapshot_writefs(struct mount *mp, struct vnode *vp, void *sbbuf)
    @@ -835,13 +839,13 @@ snapshot_writefs(struct mount *mp, struct vnode *vp, void *sbbuf)
     	struct inode *ip = VTOI(vp);
     	struct lwp *l = curlwp;
     
    -	copyfs = (struct fs *)((char *)sbbuf + blkoff(fs, fs->fs_sblockloc));
    +	copyfs = (struct fs *)((char *)sbbuf + ffs_blkoff(fs, fs->fs_sblockloc));
     
     	/*
     	 * Write the superblock and its summary information
     	 * to the snapshot.
     	 */
    -	blkno = fragstoblks(fs, fs->fs_csaddr);
    +	blkno = ffs_fragstoblks(fs, fs->fs_csaddr);
     	len = howmany(fs->fs_cssize, fs->fs_bsize);
     	space = copyfs->fs_csp;
     #ifdef FFS_EI
    @@ -857,7 +861,6 @@ snapshot_writefs(struct mount *mp, struct vnode *vp, void *sbbuf)
     		error = bread(vp, blkno + loc, fs->fs_bsize, l->l_cred,
     		    B_MODIFY, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			break;
     		}
     		memcpy(bp->b_data, space, fs->fs_bsize);
    @@ -866,23 +869,23 @@ snapshot_writefs(struct mount *mp, struct vnode *vp, void *sbbuf)
     	}
     	if (error)
     		goto out;
    -	error = bread(vp, lblkno(fs, fs->fs_sblockloc),
    +	error = bread(vp, ffs_lblkno(fs, fs->fs_sblockloc),
     	    fs->fs_bsize, l->l_cred, B_MODIFY, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		goto out;
     	} else {
     		memcpy(bp->b_data, sbbuf, fs->fs_bsize);
     		bawrite(bp);
     	}
     	/*
    -	 * Copy the first NDADDR blocks to the snapshot so ffs_copyonwrite()
    -	 * and ffs_snapblkfree() will always work on indirect blocks.
    +	 * Copy the first UFS_NDADDR blocks to the snapshot so
    +	 * ffs_copyonwrite() and ffs_snapblkfree() will always work on
    +	 * indirect blocks.
     	 */
    -	for (loc = 0; loc < NDADDR; loc++) {
    +	for (loc = 0; loc < UFS_NDADDR; loc++) {
     		if (db_get(ip, loc) != 0)
     			continue;
    -		error = ffs_balloc(vp, lblktosize(fs, (off_t)loc),
    +		error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)loc),
     		    fs->fs_bsize, l->l_cred, 0, &bp);
     		if (error)
     			break;
    @@ -923,7 +926,7 @@ cgaccount(struct vnode *vp, int passno, int *redo)
     		error = UFS_WAPBL_BEGIN(vp->v_mount);
     		if (error)
     			return error;
    -		error = ffs_balloc(vp, lfragtosize(fs, cgtod(fs, cg)),
    +		error = ffs_balloc(vp, ffs_lfragtosize(fs, cgtod(fs, cg)),
     		    fs->fs_bsize, curlwp->l_cred, 0, &nbp);
     		if (error) {
     			UFS_WAPBL_END(vp->v_mount);
    @@ -955,15 +958,14 @@ cgaccount1(int cg, struct vnode *vp, void *data, int passno)
     	struct fs *fs;
     	struct lwp *l = curlwp;
     	daddr_t base, numblks;
    -	int error, len, loc, ns, indiroff;
    +	int error, len, loc, ns __unused, indiroff;
     
     	ip = VTOI(vp);
     	fs = ip->i_fs;
     	ns = UFS_FSNEEDSWAP(fs);
    -	error = bread(ip->i_devvp, fsbtodb(fs, cgtod(fs, cg)),
    +	error = bread(ip->i_devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
     		(int)fs->fs_cgsize, l->l_cred, 0, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
     	cgp = (struct cg *)bp->b_data;
    @@ -984,8 +986,8 @@ cgaccount1(int cg, struct vnode *vp, void *data, int passno)
     	if (base + len >= numblks)
     		len = numblks - base - 1;
     	loc = 0;
    -	if (base < NDADDR) {
    -		for ( ; loc < NDADDR; loc++) {
    +	if (base < UFS_NDADDR) {
    +		for ( ; loc < UFS_NDADDR; loc++) {
     			if (ffs_isblock(fs, cg_blksfree(cgp, ns), loc))
     				db_assign(ip, loc, BLK_NOCOPY);
     			else if (db_get(ip, loc) == BLK_NOCOPY) {
    @@ -996,15 +998,15 @@ cgaccount1(int cg, struct vnode *vp, void *data, int passno)
     			}
     		}
     	}
    -	if ((error = ffs_balloc(vp, lblktosize(fs, (off_t)(base + loc)),
    +	if ((error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)(base + loc)),
     	    fs->fs_bsize, l->l_cred, B_METAONLY, &ibp)) != 0)
     		return (error);
    -	indiroff = (base + loc - NDADDR) % NINDIR(fs);
    +	indiroff = (base + loc - UFS_NDADDR) % FFS_NINDIR(fs);
     	for ( ; loc < len; loc++, indiroff++) {
    -		if (indiroff >= NINDIR(fs)) {
    +		if (indiroff >= FFS_NINDIR(fs)) {
     			bawrite(ibp);
     			if ((error = ffs_balloc(vp,
    -			    lblktosize(fs, (off_t)(base + loc)),
    +			    ffs_lblktosize(fs, (off_t)(base + loc)),
     			    fs->fs_bsize, l->l_cred, B_METAONLY, &ibp)) != 0)
     				return (error);
     			indiroff = 0;
    @@ -1033,7 +1035,7 @@ static int
     expunge(struct vnode *snapvp, struct inode *cancelip, struct fs *fs,
         acctfunc_t acctfunc, int expungetype)
     {
    -	int i, error, ns;
    +	int i, error, ns __unused;
     	daddr_t lbn, rlbn;
     	daddr_t len, blkno, numblks, blksperindir;
     	struct ufs1_dinode *dip1;
    @@ -1053,7 +1055,7 @@ expunge(struct vnode *snapvp, struct inode *cancelip, struct fs *fs,
     	 * Prepare to expunge the inode. If its inode block has not
     	 * yet been copied, then allocate and fill the copy.
     	 */
    -	lbn = fragstoblks(fs, ino_to_fsba(fs, cancelip->i_number));
    +	lbn = ffs_fragstoblks(fs, ino_to_fsba(fs, cancelip->i_number));
     	error = snapblkaddr(snapvp, lbn, &blkno);
     	if (error)
     		return error;
    @@ -1061,7 +1063,7 @@ expunge(struct vnode *snapvp, struct inode *cancelip, struct fs *fs,
     		error = bread(snapvp, lbn, fs->fs_bsize, l->l_cred,
     		    B_MODIFY, &bp);
     	} else {
    -		error = ffs_balloc(snapvp, lblktosize(fs, (off_t)lbn),
    +		error = ffs_balloc(snapvp, ffs_lblktosize(fs, (off_t)lbn),
     		    fs->fs_bsize, l->l_cred, 0, &bp);
     		if (! error)
     			error = rwfsblk(snapvp, B_READ, bp->b_data, lbn);
    @@ -1086,7 +1088,7 @@ expunge(struct vnode *snapvp, struct inode *cancelip, struct fs *fs,
     			dip1->di_mode = 0;
     		dip1->di_size = 0;
     		dip1->di_blocks = 0;
    -		memset(&dip1->di_db[0], 0, (NDADDR + NIADDR) * sizeof(int32_t));
    +		memset(&dip1->di_db[0], 0, (UFS_NDADDR + UFS_NIADDR) * sizeof(int32_t));
     	} else {
     		dip2 = (struct ufs2_dinode *)bp->b_data +
     		    ino_to_fsbo(fs, cancelip->i_number);
    @@ -1099,7 +1101,7 @@ expunge(struct vnode *snapvp, struct inode *cancelip, struct fs *fs,
     			dip2->di_mode = 0;
     		dip2->di_size = 0;
     		dip2->di_blocks = 0;
    -		memset(&dip2->di_db[0], 0, (NDADDR + NIADDR) * sizeof(int64_t));
    +		memset(&dip2->di_db[0], 0, (UFS_NDADDR + UFS_NIADDR) * sizeof(int64_t));
     	}
     	bdwrite(bp);
     	UFS_WAPBL_END(mp);
    @@ -1112,27 +1114,27 @@ expunge(struct vnode *snapvp, struct inode *cancelip, struct fs *fs,
     		bap = &cancelip->i_ffs1_db[0];
     	else
     		bap = &cancelip->i_ffs2_db[0];
    -	error = (*acctfunc)(snapvp, bap, 0, NDADDR, fs, 0, expungetype);
    +	error = (*acctfunc)(snapvp, bap, 0, UFS_NDADDR, fs, 0, expungetype);
     	if (error)
     		return (error);
     	if (fs->fs_magic == FS_UFS1_MAGIC)
     		bap = &cancelip->i_ffs1_ib[0];
     	else
     		bap = &cancelip->i_ffs2_ib[0];
    -	error = (*acctfunc)(snapvp, bap, 0, NIADDR, fs, -1, expungetype);
    +	error = (*acctfunc)(snapvp, bap, 0, UFS_NIADDR, fs, -1, expungetype);
     	if (error)
     		return (error);
     	blksperindir = 1;
    -	lbn = -NDADDR;
    -	len = numblks - NDADDR;
    -	rlbn = NDADDR;
    -	for (i = 0; len > 0 && i < NIADDR; i++) {
    +	lbn = -UFS_NDADDR;
    +	len = numblks - UFS_NDADDR;
    +	rlbn = UFS_NDADDR;
    +	for (i = 0; len > 0 && i < UFS_NIADDR; i++) {
     		error = indiracct(snapvp, ITOV(cancelip), i,
     		    ib_get(cancelip, i), lbn, rlbn, len,
     		    blksperindir, fs, acctfunc, expungetype);
     		if (error)
     			return (error);
    -		blksperindir *= NINDIR(fs);
    +		blksperindir *= FFS_NINDIR(fs);
     		lbn -= blksperindir + 1;
     		len -= blksperindir;
     		rlbn += blksperindir;
    @@ -1151,7 +1153,7 @@ indiracct(struct vnode *snapvp, struct vnode *cancelvp, int level,
     {
     	int error, num, i;
     	daddr_t subblksperindir;
    -	struct indir indirs[NIADDR + 2];
    +	struct indir indirs[UFS_NIADDR + 2];
     	daddr_t last;
     	void *bap;
     	struct buf *bp;
    @@ -1169,12 +1171,12 @@ indiracct(struct vnode *snapvp, struct vnode *cancelvp, int level,
     	 * We have to expand bread here since it will deadlock looking
     	 * up the block number for any blocks that are not in the cache.
     	 */
    -	error = ffs_getblk(cancelvp, lbn, fsbtodb(fs, blkno), fs->fs_bsize,
    +	error = ffs_getblk(cancelvp, lbn, FFS_FSBTODB(fs, blkno), fs->fs_bsize,
     	    false, &bp);
     	if (error)
     		return error;
     	if ((bp->b_oflags & (BO_DONE | BO_DELWRI)) == 0 && (error =
    -	    rwfsblk(bp->b_vp, B_READ, bp->b_data, fragstoblks(fs, blkno)))) {
    +	    rwfsblk(bp->b_vp, B_READ, bp->b_data, ffs_fragstoblks(fs, blkno)))) {
     		brelse(bp, 0);
     		return (error);
     	}
    @@ -1182,8 +1184,8 @@ indiracct(struct vnode *snapvp, struct vnode *cancelvp, int level,
     	 * Account for the block pointers in this indirect block.
     	 */
     	last = howmany(remblks, blksperindir);
    -	if (last > NINDIR(fs))
    -		last = NINDIR(fs);
    +	if (last > FFS_NINDIR(fs))
    +		last = FFS_NINDIR(fs);
     	bap = malloc(fs->fs_bsize, M_DEVBUF, M_WAITOK | M_ZERO);
     	memcpy((void *)bap, bp->b_data, fs->fs_bsize);
     	brelse(bp, 0);
    @@ -1195,7 +1197,7 @@ indiracct(struct vnode *snapvp, struct vnode *cancelvp, int level,
     	 * Account for the block pointers in each of the indirect blocks
     	 * in the levels below us.
     	 */
    -	subblksperindir = blksperindir / NINDIR(fs);
    +	subblksperindir = blksperindir / FFS_NINDIR(fs);
     	for (lbn++, level--, i = 0; i < last; i++) {
     		error = indiracct(snapvp, cancelvp, level,
     		    idb_get(VTOI(snapvp), bap, i), lbn, rlbn, remblks,
    @@ -1250,17 +1252,17 @@ snapacct(struct vnode *vp, void *bap, int oldblkp, int lastblkp,
     		blkno = idb_get(ip, bap, oldblkp);
     		if (blkno == 0 || blkno == BLK_NOCOPY || blkno == BLK_SNAP)
     			continue;
    -		lbn = fragstoblks(fs, blkno);
    -		if (lbn < NDADDR) {
    +		lbn = ffs_fragstoblks(fs, blkno);
    +		if (lbn < UFS_NDADDR) {
     			blkno = db_get(ip, lbn);
     			ip->i_flag |= IN_CHANGE | IN_UPDATE;
     		} else {
    -			error = ffs_balloc(vp, lblktosize(fs, (off_t)lbn),
    +			error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)lbn),
     			    fs->fs_bsize, l->l_cred, B_METAONLY, &ibp);
     			if (error)
     				break;
     			blkno = idb_get(ip, ibp->b_data,
    -			    (lbn - NDADDR) % NINDIR(fs));
    +			    (lbn - UFS_NDADDR) % FFS_NINDIR(fs));
     		}
     		/*
     		 * If we are expunging a snapshot vnode and we
    @@ -1269,16 +1271,16 @@ snapacct(struct vnode *vp, void *bap, int oldblkp, int lastblkp,
     		 * we took our current snapshot and can be ignored.
     		 */
     		if (expungetype == BLK_SNAP && blkno == BLK_NOCOPY) {
    -			if (lbn >= NDADDR)
    +			if (lbn >= UFS_NDADDR)
     				brelse(ibp, 0);
     		} else {
     			if (blkno != 0)
     				panic("snapacct: bad block");
    -			if (lbn < NDADDR)
    +			if (lbn < UFS_NDADDR)
     				db_assign(ip, lbn, expungetype);
     			else {
     				idb_assign(ip, ibp->b_data,
    -				    (lbn - NDADDR) % NINDIR(fs), expungetype);
    +				    (lbn - UFS_NDADDR) % FFS_NINDIR(fs), expungetype);
     				bdwrite(ibp);
     			}
     		}
    @@ -1323,7 +1325,7 @@ mapacct(struct vnode *vp, void *bap, int oldblkp, int lastblkp,
     		if (acctit && expungetype == BLK_SNAP && blkno != BLK_SNAP)
     			*ip->i_snapblklist++ = lblkno;
     		if (blkno == BLK_SNAP)
    -			blkno = blkstofrags(fs, lblkno);
    +			blkno = ffs_blkstofrags(fs, lblkno);
     		ffs_blkfree_snap(fs, vp, blkno, fs->fs_bsize, inum);
     		if (wbreak > 0 && (++n % wbreak) == 0) {
     			UFS_WAPBL_END(mp);
    @@ -1369,10 +1371,10 @@ blocks_in_journal(struct fs *fs)
      * It will not be freed until the last open reference goes away.
      */
     void
    -ffs_snapgone(struct inode *ip)
    +ffs_snapgone(struct vnode *vp)
     {
    -	struct mount *mp = ip->i_devvp->v_specmountpoint;
    -	struct inode *xp;
    +	struct inode *xp, *ip = VTOI(vp);
    +	struct mount *mp = spec_node_getmountedfs(ip->i_devvp);
     	struct fs *fs;
     	struct snap_info *si;
     	int snaploc;
    @@ -1423,7 +1425,7 @@ ffs_snapremove(struct vnode *vp)
     	struct inode *ip = VTOI(vp), *xp;
     	struct vnode *devvp = ip->i_devvp;
     	struct fs *fs = ip->i_fs;
    -	struct mount *mp = devvp->v_specmountpoint;
    +	struct mount *mp = spec_node_getmountedfs(devvp);
     	struct buf *ibp;
     	struct snap_info *si;
     	struct lwp *l = curlwp;
    @@ -1468,11 +1470,11 @@ ffs_snapremove(struct vnode *vp)
     	 * Clear all BLK_NOCOPY fields. Pass any block claims to other
     	 * snapshots that want them (see ffs_snapblkfree below).
     	 */
    -	for (blkno = 1; blkno < NDADDR; blkno++) {
    +	for (blkno = 1; blkno < UFS_NDADDR; blkno++) {
     		dblk = db_get(ip, blkno);
     		if (dblk == BLK_NOCOPY || dblk == BLK_SNAP)
     			db_assign(ip, blkno, 0);
    -		else if ((dblk == blkstofrags(fs, blkno) &&
    +		else if ((dblk == ffs_blkstofrags(fs, blkno) &&
     		     ffs_snapblkfree(fs, ip->i_devvp, dblk, fs->fs_bsize,
     		     ip->i_number))) {
     			DIP_ADD(ip, blocks, -btodb(fs->fs_bsize));
    @@ -1480,20 +1482,20 @@ ffs_snapremove(struct vnode *vp)
     		}
     	}
     	numblks = howmany(ip->i_size, fs->fs_bsize);
    -	for (blkno = NDADDR; blkno < numblks; blkno += NINDIR(fs)) {
    -		error = ffs_balloc(vp, lblktosize(fs, (off_t)blkno),
    +	for (blkno = UFS_NDADDR; blkno < numblks; blkno += FFS_NINDIR(fs)) {
    +		error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)blkno),
     		    fs->fs_bsize, l->l_cred, B_METAONLY, &ibp);
     		if (error)
     			continue;
    -		if (fs->fs_size - blkno > NINDIR(fs))
    -			last = NINDIR(fs);
    +		if (fs->fs_size - blkno > FFS_NINDIR(fs))
    +			last = FFS_NINDIR(fs);
     		else
     			last = fs->fs_size - blkno;
     		for (loc = 0; loc < last; loc++) {
     			dblk = idb_get(ip, ibp->b_data, loc);
     			if (dblk == BLK_NOCOPY || dblk == BLK_SNAP)
     				idb_assign(ip, ibp->b_data, loc, 0);
    -			else if (dblk == blkstofrags(fs, blkno) &&
    +			else if (dblk == ffs_blkstofrags(fs, blkno) &&
     			    ffs_snapblkfree(fs, ip->i_devvp, dblk,
     			    fs->fs_bsize, ip->i_number)) {
     				DIP_ADD(ip, blocks, -btodb(fs->fs_bsize));
    @@ -1539,7 +1541,7 @@ int
     ffs_snapblkfree(struct fs *fs, struct vnode *devvp, daddr_t bno,
         long size, ino_t inum)
     {
    -	struct mount *mp = devvp->v_specmountpoint;
    +	struct mount *mp = spec_node_getmountedfs(devvp);
     	struct buf *ibp;
     	struct inode *ip;
     	struct vnode *vp = NULL;
    @@ -1551,7 +1553,7 @@ ffs_snapblkfree(struct fs *fs, struct vnode *devvp, daddr_t bno,
     	int indiroff = 0, error = 0, claimedblk = 0;
     
     	si = VFSTOUFS(mp)->um_snapinfo;
    -	lbn = fragstoblks(fs, bno);
    +	lbn = ffs_fragstoblks(fs, bno);
     	mutex_enter(&si->si_snaplock);
     	mutex_enter(&si->si_lock);
     	si->si_owner = curlwp;
    @@ -1563,17 +1565,17 @@ retry:
     		/*
     		 * Lookup block being written.
     		 */
    -		if (lbn < NDADDR) {
    +		if (lbn < UFS_NDADDR) {
     			blkno = db_get(ip, lbn);
     		} else {
     			mutex_exit(&si->si_lock);
    -			error = ffs_balloc(vp, lblktosize(fs, (off_t)lbn),
    +			error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)lbn),
     			    fs->fs_bsize, FSCRED, B_METAONLY, &ibp);
     			if (error) {
     				mutex_enter(&si->si_lock);
     				break;
     			}
    -			indiroff = (lbn - NDADDR) % NINDIR(fs);
    +			indiroff = (lbn - UFS_NDADDR) % FFS_NINDIR(fs);
     			blkno = idb_get(ip, ibp->b_data, indiroff);
     			mutex_enter(&si->si_lock);
     			if (gen != si->si_gen) {
    @@ -1598,7 +1600,7 @@ retry:
     			 */
     			if (claimedblk)
     				panic("snapblkfree: inconsistent block type");
    -			if (lbn < NDADDR) {
    +			if (lbn < UFS_NDADDR) {
     				db_assign(ip, lbn, BLK_NOCOPY);
     				ip->i_flag |= IN_CHANGE | IN_UPDATE;
     			} else {
    @@ -1620,7 +1622,7 @@ retry:
     			 * (default), or does not care about the block,
     			 * it is not needed.
     			 */
    -			if (lbn >= NDADDR)
    +			if (lbn >= UFS_NDADDR)
     				brelse(ibp, 0);
     			continue;
     		}
    @@ -1641,7 +1643,7 @@ retry:
     				    lbn, (unsigned long long)inum);
     #endif
     			mutex_exit(&si->si_lock);
    -			if (lbn < NDADDR) {
    +			if (lbn < UFS_NDADDR) {
     				db_assign(ip, lbn, bno);
     			} else {
     				idb_assign(ip, ibp->b_data, indiroff, bno);
    @@ -1662,7 +1664,7 @@ retry:
     			mutex_exit(&si->si_snaplock);
     			return (error == 0);
     		}
    -		if (lbn >= NDADDR)
    +		if (lbn >= UFS_NDADDR)
     			brelse(ibp, 0);
     #ifdef DEBUG
     		if (snapdebug)
    @@ -1725,7 +1727,7 @@ ffs_snapshot_mount(struct mount *mp)
     	struct inode *ip, *xp;
     	struct snap_info *si;
     	daddr_t snaplistsize, *snapblklist;
    -	int i, error, ns, snaploc, loc;
    +	int i, error, ns __unused, snaploc, loc;
     
     	/*
     	 * No persistent snapshots on apple ufs file systems.
    @@ -1776,7 +1778,7 @@ ffs_snapshot_mount(struct mount *mp)
     		 */
     		error = vn_rdwr(UIO_READ, vp,
     		    (void *)&snaplistsize, sizeof(snaplistsize),
    -		    lblktosize(fs, howmany(fs->fs_size, fs->fs_frag)),
    +		    ffs_lblktosize(fs, howmany(fs->fs_size, fs->fs_frag)),
     		    UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT|IO_ALTSEMANTICS,
     		    l->l_cred, NULL, NULL);
     		if (error) {
    @@ -1791,7 +1793,7 @@ ffs_snapshot_mount(struct mount *mp)
     		else {
     			error = vn_rdwr(UIO_READ, vp, (void *)snapblklist,
     			    snaplistsize * sizeof(daddr_t),
    -			    lblktosize(fs, howmany(fs->fs_size, fs->fs_frag)),
    +			    ffs_lblktosize(fs, howmany(fs->fs_size, fs->fs_frag)),
     			    UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT|IO_ALTSEMANTICS,
     			    l->l_cred, NULL, NULL);
     			for (i = 0; i < snaplistsize; i++)
    @@ -1875,7 +1877,7 @@ ffs_copyonwrite(void *v, struct buf *bp, bool data_valid)
     	struct fs *fs;
     	struct inode *ip;
     	struct vnode *devvp = v, *vp = NULL;
    -	struct mount *mp = devvp->v_specmountpoint;
    +	struct mount *mp = spec_node_getmountedfs(devvp);
     	struct snap_info *si;
     	void *saved_data = NULL;
     	daddr_t lbn, blkno, *snapblklist;
    @@ -1898,8 +1900,8 @@ ffs_copyonwrite(void *v, struct buf *bp, bool data_valid)
     	 * By doing these checks we avoid several potential deadlocks.
     	 */
     	fs = ip->i_fs;
    -	lbn = fragstoblks(fs, dbtofsb(fs, bp->b_blkno));
    -	if (bp->b_blkno >= fsbtodb(fs, fs->fs_size)) {
    +	lbn = ffs_fragstoblks(fs, FFS_DBTOFSB(fs, bp->b_blkno));
    +	if (bp->b_blkno >= FFS_FSBTODB(fs, fs->fs_size)) {
     		mutex_exit(&si->si_lock);
     		return 0;
     	}
    @@ -1962,7 +1964,7 @@ retry:
     		/*
     		 * Check to see if block needs to be copied.
     		 */
    -		if (lbn < NDADDR) {
    +		if (lbn < UFS_NDADDR) {
     			blkno = db_get(ip, lbn);
     		} else {
     			mutex_exit(&si->si_lock);
    @@ -2074,22 +2076,22 @@ ffs_snapshot_read(struct vnode *vp, struct uio *uio, int ioflag)
     	if (ioflag & IO_ALTSEMANTICS)
     		fsbytes = ip->i_size;
     	else
    -		fsbytes = lfragtosize(fs, fs->fs_size);
    +		fsbytes = ffs_lfragtosize(fs, fs->fs_size);
     	for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) {
     		bytesinfile = fsbytes - uio->uio_offset;
     		if (bytesinfile <= 0)
     			break;
    -		lbn = lblkno(fs, uio->uio_offset);
    +		lbn = ffs_lblkno(fs, uio->uio_offset);
     		nextlbn = lbn + 1;
     		size = fs->fs_bsize;
    -		blkoffset = blkoff(fs, uio->uio_offset);
    +		blkoffset = ffs_blkoff(fs, uio->uio_offset);
     		xfersize = MIN(MIN(fs->fs_bsize - blkoffset, uio->uio_resid),
     		    bytesinfile);
     
    -		if (lblktosize(fs, nextlbn + 1) >= fsbytes) {
    -			if (lblktosize(fs, lbn) + size > fsbytes)
    -				size = fragroundup(fs,
    -				    fsbytes - lblktosize(fs, lbn));
    +		if (ffs_lblktosize(fs, nextlbn + 1) >= fsbytes) {
    +			if (ffs_lblktosize(fs, lbn) + size > fsbytes)
    +				size = ffs_fragroundup(fs,
    +				    fsbytes - ffs_lblktosize(fs, lbn));
     			error = bread(vp, lbn, size, NOCRED, 0, &bp);
     		} else {
     			int nextsize = fs->fs_bsize;
    @@ -2133,7 +2135,7 @@ ffs_snapshot_read(struct vnode *vp, struct uio *uio, int ioflag)
     static int
     snapblkaddr(struct vnode *vp, daddr_t lbn, daddr_t *res)
     {
    -	struct indir indirs[NIADDR + 2];
    +	struct indir indirs[UFS_NIADDR + 2];
     	struct inode *ip = VTOI(vp);
     	struct fs *fs = ip->i_fs;
     	struct buf *bp;
    @@ -2141,7 +2143,7 @@ snapblkaddr(struct vnode *vp, daddr_t lbn, daddr_t *res)
     
     	KASSERT(lbn >= 0);
     
    -	if (lbn < NDADDR) {
    +	if (lbn < UFS_NDADDR) {
     		*res = db_get(ip, lbn);
     		return 0;
     	}
    @@ -2159,9 +2161,10 @@ snapblkaddr(struct vnode *vp, daddr_t lbn, daddr_t *res)
     		return error;
     	}
     	error = bread(vp, indirs[num-1].in_lbn, fs->fs_bsize, NOCRED, 0, &bp);
    -	if (error == 0)
    +	if (error == 0) {
     		*res = idb_get(ip, bp->b_data, indirs[num-1].in_off);
    -	brelse(bp, 0);
    +		brelse(bp, 0);
    +	}
     
     	return error;
     }
    @@ -2183,7 +2186,7 @@ rwfsblk(struct vnode *vp, int flags, void *data, daddr_t lbn)
     	nbp->b_bcount = nbp->b_bufsize = fs->fs_bsize;
     	nbp->b_error = 0;
     	nbp->b_data = data;
    -	nbp->b_blkno = nbp->b_rawblkno = fsbtodb(fs, blkstofrags(fs, lbn));
    +	nbp->b_blkno = nbp->b_rawblkno = FFS_FSBTODB(fs, ffs_blkstofrags(fs, lbn));
     	nbp->b_proc = NULL;
     	nbp->b_dev = ip->i_devvp->v_rdev;
     	SET(nbp->b_cflags, BC_BUSY);	/* mark buffer busy */
    @@ -2219,7 +2222,7 @@ syncsnap(struct vnode *vp)
     		KASSERT(bp->b_bcount == fs->fs_bsize);
     		mutex_exit(&bufcache_lock);
     		error = rwfsblk(vp, B_WRITE, bp->b_data,
    -		    fragstoblks(fs, dbtofsb(fs, bp->b_blkno)));
    +		    ffs_fragstoblks(fs, FFS_DBTOFSB(fs, bp->b_blkno)));
     		brelse(bp, BC_INVAL | BC_VFLUSH);
     		if (error)
     			return error;
    @@ -2241,7 +2244,7 @@ wrsnapblk(struct vnode *vp, void *data, daddr_t lbn)
     	struct buf *bp;
     	int error;
     
    -	error = ffs_balloc(vp, lblktosize(fs, (off_t)lbn), fs->fs_bsize,
    +	error = ffs_balloc(vp, ffs_lblktosize(fs, (off_t)lbn), fs->fs_bsize,
     	    FSCRED, (ip->i_nlink > 0 ? B_SYNC : 0), &bp);
     	if (error)
     		return error;
    @@ -2303,15 +2306,6 @@ ib_get(struct inode *ip, int loc)
     		return ufs_rw64(ip->i_ffs2_ib[loc], UFS_IPNEEDSWAP(ip));
     }
     
    -static inline void
    -ib_assign(struct inode *ip, int loc, daddr_t val)
    -{
    -	if (ip->i_ump->um_fstype == UFS1)
    -		ip->i_ffs1_ib[loc] = ufs_rw32(val, UFS_IPNEEDSWAP(ip));
    -	else
    -		ip->i_ffs2_ib[loc] = ufs_rw64(val, UFS_IPNEEDSWAP(ip));
    -}
    -
     static inline daddr_t
     idb_get(struct inode *ip, void *bf, int loc)
     {
    diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c
    index 6b6840357..5d5922de8 100644
    --- a/sys/ufs/ffs/ffs_subr.c
    +++ b/sys/ufs/ffs/ffs_subr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_subr.c,v 1.47 2011/08/14 12:37:09 christos Exp $	*/
    +/*	$NetBSD: ffs_subr.c,v 1.48 2013/10/20 00:29:10 htodd Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -36,7 +36,7 @@
     #endif
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_subr.c,v 1.47 2011/08/14 12:37:09 christos Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_subr.c,v 1.48 2013/10/20 00:29:10 htodd Exp $");
     
     #include 
     
    @@ -286,9 +286,7 @@ ffs_clusteracct(struct fs *fs, struct cg *cgp, int32_t blkno, int cnt)
     	int32_t *lp;
     	u_char *freemapp, *mapp;
     	int i, start, end, forw, back, map, bit;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	/* KASSERT(mutex_owned(&ump->um_lock)); */
     
    diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c
    index 28bbe32dc..ff6b5cbb9 100644
    --- a/sys/ufs/ffs/ffs_vfsops.c
    +++ b/sys/ufs/ffs/ffs_vfsops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_vfsops.c,v 1.271 2011/11/14 18:35:14 hannken Exp $	*/
    +/*	$NetBSD: ffs_vfsops.c,v 1.291 2013/11/23 13:35:37 christos Exp $	*/
     
     /*-
      * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
    @@ -61,7 +61,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.271 2011/11/14 18:35:14 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.291 2013/11/23 13:35:37 christos Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -85,7 +85,7 @@ __KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.271 2011/11/14 18:35:14 hannken Exp
     #include 
     #include 
     #include 
    -#include 
    +#include 
     #include 
     #include 
     #include 
    @@ -115,6 +115,8 @@ static int	ffs_vfs_fsync(vnode_t *, int);
     
     static struct sysctllog *ffs_sysctl_log;
     
    +static kauth_listener_t ffs_snapshot_listener;
    +
     /* how many times ffs_init() was called */
     int ffs_initcount = 0;
     
    @@ -171,9 +173,25 @@ static const struct ufs_ops ffs_ufsops = {
     	.uo_valloc = ffs_valloc,
     	.uo_vfree = ffs_vfree,
     	.uo_balloc = ffs_balloc,
    -	.uo_unmark_vnode = (void (*)(vnode_t *))nullop,
    +	.uo_snapgone = ffs_snapgone,
     };
     
    +static int
    +ffs_snapshot_cb(kauth_cred_t cred, kauth_action_t action, void *cookie,
    +    void *arg0, void *arg1, void *arg2, void *arg3)
    +{
    +	vnode_t *vp = arg2;
    +	int result = KAUTH_RESULT_DEFER;;
    +
    +	if (action != KAUTH_SYSTEM_FS_SNAPSHOT)
    +		return result;
    +
    +	if (VTOI(vp)->i_uid == kauth_cred_geteuid(cred))
    +		result = KAUTH_RESULT_ALLOW;
    +
    +	return result;
    +}
    +
     static int
     ffs_modcmd(modcmd_t cmd, void *arg)
     {
    @@ -247,12 +265,19 @@ ffs_modcmd(modcmd_t cmd, void *arg)
     		
     #endif /* UFS_EXTATTR */
     
    +		ffs_snapshot_listener = kauth_listen_scope(KAUTH_SCOPE_SYSTEM,
    +		    ffs_snapshot_cb, NULL);
    +		if (ffs_snapshot_listener == NULL)
    +			printf("ffs_modcmd: can't listen on system scope.\n");
    +
     		break;
     	case MODULE_CMD_FINI:
     		error = vfs_detach(&ffs_vfsops);
     		if (error != 0)
     			break;
     		sysctl_teardown(&ffs_sysctl_log);
    +		if (ffs_snapshot_listener != NULL)
    +			kauth_unlisten_scope(ffs_snapshot_listener);
     		break;
     	default:
     		error = ENOTTY;
    @@ -300,9 +325,7 @@ ffs_mountroot(void)
     		return (error);
     	}
     	mp->mnt_flag &= ~MNT_FORCE;
    -	mutex_enter(&mountlist_lock);
    -	CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list);
    -	mutex_exit(&mountlist_lock);
    +	mountlist_append(mp);
     	ump = VFSTOUFS(mp);
     	fs = ump->um_fs;
     	memset(fs->fs_fsmnt, 0, sizeof(fs->fs_fsmnt));
    @@ -404,7 +427,9 @@ ffs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     		    (mp->mnt_flag & MNT_RDONLY) == 0)
     			accessmode |= VWRITE;
     		vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    -		error = genfs_can_mount(devvp, accessmode, l->l_cred);
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_MOUNT,
    +		    KAUTH_REQ_SYSTEM_MOUNT_DEVICE, mp, devvp,
    +		    KAUTH_ARG(accessmode));
     		VOP_UNLOCK(devvp);
     	}
     
    @@ -524,7 +549,7 @@ ffs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     #ifdef WAPBL
     			if (fs->fs_flags & FS_DOWAPBL) {
     				printf("%s: replaying log to disk\n",
    -				    fs->fs_fsmnt);
    +				    mp->mnt_stat.f_mntonname);
     				KDASSERT(mp->mnt_wapbl_replay);
     				error = wapbl_replay_write(mp->mnt_wapbl_replay,
     							   devvp);
    @@ -553,6 +578,10 @@ ffs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     			}
     		}
     #endif
    +
    +		if ((mp->mnt_flag & MNT_DISCARD) && !(ump->um_discarddata))
    +			ump->um_discarddata = ffs_discard_init(devvp, fs);
    +
     		if (args->fspec == NULL)
     			return 0;
     	}
    @@ -645,10 +674,9 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     	error = bread(devvp, fs->fs_sblockloc / DEV_BSIZE, fs->fs_sbsize,
     		      NOCRED, 0, &bp);
     	if (error) {
    -		brelse(bp, 0);
     		return (error);
     	}
    -	newfs = malloc(fs->fs_sbsize, M_UFSMNT, M_WAITOK);
    +	newfs = kmem_alloc(fs->fs_sbsize, KM_SLEEP);
     	memcpy(newfs, bp->b_data, fs->fs_sbsize);
     #ifdef FFS_EI
     	if (ump->um_flags & UFS_NEEDSWAP) {
    @@ -662,7 +690,7 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     	     newfs->fs_bsize > MAXBSIZE ||
     	     newfs->fs_bsize < sizeof(struct fs)) {
     		brelse(bp, 0);
    -		free(newfs, M_UFSMNT);
    +		kmem_free(newfs, fs->fs_sbsize);
     		return (EIO);		/* XXX needs translation */
     	}
     	/* Store off old fs_sblockloc for fs_oldfscompat_read. */
    @@ -679,7 +707,7 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     	newfs->fs_active = fs->fs_active;
     	memcpy(fs, newfs, (u_int)fs->fs_sbsize);
     	brelse(bp, 0);
    -	free(newfs, M_UFSMNT);
    +	kmem_free(newfs, fs->fs_sbsize);
     
     	/* Recheck for apple UFS filesystem */
     	ump->um_flags &= ~UFS_ISAPPLEUFS;
    @@ -700,7 +728,6 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     		error = bread(devvp, (daddr_t)(APPLEUFS_LABEL_OFFSET / DEV_BSIZE),
     			APPLEUFS_LABEL_SIZE, cred, 0, &bp);
     		if (error && error != EINVAL) {
    -			brelse(bp, 0);
     			return (error);
     		}
     		if (error == 0) {
    @@ -708,8 +735,8 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     				(struct appleufslabel *)bp->b_data, NULL);
     			if (error == 0)
     				ump->um_flags |= UFS_ISAPPLEUFS;
    +			brelse(bp, 0);
     		}
    -		brelse(bp, 0);
     		bp = NULL;
     	}
     #else
    @@ -724,7 +751,7 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     		mp->mnt_iflag |= IMNT_DTYPE;
     	} else {
     		ump->um_maxsymlinklen = fs->fs_maxsymlinklen;
    -		ump->um_dirblksiz = DIRBLKSIZ;
    +		ump->um_dirblksiz = UFS_DIRBLKSIZ;
     		if (ump->um_maxsymlinklen > 0)
     			mp->mnt_iflag |= IMNT_DTYPE;
     		else
    @@ -759,10 +786,9 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     		bsize = fs->fs_bsize;
     		if (i + fs->fs_frag > blks)
     			bsize = (blks - i) * fs->fs_fsize;
    -		error = bread(devvp, fsbtodb(fs, fs->fs_csaddr + i), bsize,
    +		error = bread(devvp, FFS_FSBTODB(fs, fs->fs_csaddr + i), bsize,
     			      NOCRED, 0, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			return (error);
     		}
     #ifdef FFS_EI
    @@ -775,8 +801,6 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     		space = (char *)space + bsize;
     		brelse(bp, 0);
     	}
    -	if (fs->fs_snapinum[0] != 0)
    -		ffs_snapshot_mount(mp);
     	/*
     	 * We no longer know anything about clusters per cylinder group.
     	 */
    @@ -801,7 +825,7 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     		/*
     		 * Step 4: invalidate all inactive vnodes.
     		 */
    -		if (vrecycle(vp, &mntvnode_lock, l)) {
    +		if (vrecycle(vp, &mntvnode_lock)) {
     			mutex_enter(&mntvnode_lock);
     			(void)vunmark(mvp);
     			goto loop;
    @@ -821,10 +845,9 @@ ffs_reload(struct mount *mp, kauth_cred_t cred, struct lwp *l)
     		 * Step 6: re-read inode data for all active vnodes.
     		 */
     		ip = VTOI(vp);
    -		error = bread(devvp, fsbtodb(fs, ino_to_fsba(fs, ip->i_number)),
    +		error = bread(devvp, FFS_FSBTODB(fs, ino_to_fsba(fs, ip->i_number)),
     			      (int)fs->fs_bsize, NOCRED, 0, &bp);
     		if (error) {
    -			brelse(bp, 0);
     			vput(vp);
     			(void)vunmark(mvp);
     			break;
    @@ -865,6 +888,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	int32_t *lp;
     	kauth_cred_t cred;
     	u_int32_t sbsize = 8192;	/* keep gcc happy*/
    +	u_int32_t allocsbsize;
     	int32_t fsbsize;
     
     	dev = devvp->v_rdev;
    @@ -889,8 +913,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	if (error)
     		return error;
     
    -	ump = malloc(sizeof *ump, M_UFSMNT, M_WAITOK);
    -	memset(ump, 0, sizeof *ump);
    +	ump = kmem_zalloc(sizeof(*ump), KM_SLEEP);
     	mutex_init(&ump->um_lock, MUTEX_DEFAULT, IPL_NONE);
     	error = ffs_snapshot_init(ump);
     	if (error)
    @@ -927,7 +950,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     			fsbsize = fs->fs_bsize;
     #ifdef FFS_EI
     			needswap = 0;
    -		} else if (fs->fs_magic == bswap32(FS_UFS1_MAGIC)) {
    +		} else if (fs->fs_magic == FS_UFS1_MAGIC_SWAPPED) {
     			sbsize = bswap32(fs->fs_sbsize);
     			fstype = UFS1;
     			fsbsize = bswap32(fs->fs_bsize);
    @@ -939,7 +962,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     			fsbsize = fs->fs_bsize;
     #ifdef FFS_EI
     			needswap = 0;
    -		} else if (fs->fs_magic == bswap32(FS_UFS2_MAGIC)) {
    +		} else if (fs->fs_magic == FS_UFS2_MAGIC_SWAPPED) {
     			sbsize = bswap32(fs->fs_sbsize);
     			fstype = UFS2;
     			fsbsize = bswap32(fs->fs_bsize);
    @@ -986,7 +1009,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     		break;
     	}
     
    -	fs = malloc((u_long)sbsize, M_UFSMNT, M_WAITOK);
    +	fs = kmem_alloc((u_long)sbsize, KM_SLEEP);
     	memcpy(fs, bp->b_data, sbsize);
     	ump->um_fs = fs;
     
    @@ -1023,7 +1046,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     			/* Force a re-read of the superblock */
     			brelse(bp, BC_INVAL);
     			bp = NULL;
    -			free(fs, M_UFSMNT);
    +			kmem_free(fs, sbsize);
     			fs = NULL;
     			goto sbagain;
     		}
    @@ -1126,7 +1149,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	 */
     
     	if (!ronly) {
    -		error = bread(devvp, fsbtodb(fs, fs->fs_size - 1), fs->fs_fsize,
    +		error = bread(devvp, FFS_FSBTODB(fs, fs->fs_size - 1), fs->fs_fsize,
     		    cred, 0, &bp);
     		if (bp->b_bcount != fs->fs_fsize)
     			error = EINVAL;
    @@ -1150,16 +1173,17 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	if (fs->fs_contigsumsize > 0)
     		bsize += fs->fs_ncg * sizeof(int32_t);
     	bsize += fs->fs_ncg * sizeof(*fs->fs_contigdirs);
    -	space = malloc((u_long)bsize, M_UFSMNT, M_WAITOK);
    +	allocsbsize = bsize;
    +	space = kmem_alloc((u_long)allocsbsize, KM_SLEEP);
     	fs->fs_csp = space;
     	for (i = 0; i < blks; i += fs->fs_frag) {
     		bsize = fs->fs_bsize;
     		if (i + fs->fs_frag > blks)
     			bsize = (blks - i) * fs->fs_fsize;
    -		error = bread(devvp, fsbtodb(fs, fs->fs_csaddr + i), bsize,
    +		error = bread(devvp, FFS_FSBTODB(fs, fs->fs_csaddr + i), bsize,
     			      cred, 0, &bp);
     		if (error) {
    -			free(fs->fs_csp, M_UFSMNT);
    +			kmem_free(fs->fs_csp, allocsbsize);
     			goto out;
     		}
     #ifdef FFS_EI
    @@ -1206,7 +1230,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     		mp->mnt_iflag |= IMNT_DTYPE;
     	} else {
     		ump->um_maxsymlinklen = fs->fs_maxsymlinklen;
    -		ump->um_dirblksiz = DIRBLKSIZ;
    +		ump->um_dirblksiz = UFS_DIRBLKSIZ;
     		if (ump->um_maxsymlinklen > 0)
     			mp->mnt_iflag |= IMNT_DTYPE;
     		else
    @@ -1229,7 +1253,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	ump->um_seqinc = fs->fs_frag;
     	for (i = 0; i < MAXQUOTAS; i++)
     		ump->um_quotas[i] = NULLVP;
    -	devvp->v_specmountpoint = mp;
    +	spec_node_setmountedfs(devvp, mp);
     	if (ronly == 0 && fs->fs_snapinum[0] != 0)
     		ffs_snapshot_mount(mp);
     #ifdef WAPBL
    @@ -1243,7 +1267,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     
     		error = ffs_wapbl_start(mp);
     		if (error) {
    -			free(fs->fs_csp, M_UFSMNT);
    +			kmem_free(fs->fs_csp, allocsbsize);
     			goto out;
     		}
     	}
    @@ -1252,7 +1276,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     #ifdef QUOTA2
     		error = ffs_quota2_mount(mp);
     		if (error) {
    -			free(fs->fs_csp, M_UFSMNT);
    +			kmem_free(fs->fs_csp, allocsbsize);
     			goto out;
     		}
     #else
    @@ -1263,7 +1287,7 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     			    (mp->mnt_flag & MNT_FORCE) ? "" : ", not mounting");
     			if ((mp->mnt_flag & MNT_FORCE) == 0) {
     				error = EINVAL;
    -				free(fs->fs_csp, M_UFSMNT);
    +				kmem_free(fs->fs_csp, allocsbsize);
     				goto out;
     			}
     		}
    @@ -1278,6 +1302,9 @@ ffs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     		ufs_extattr_uepm_init(&ump->um_extattr);	
     #endif /* UFS_EXTATTR */
     
    +	if (mp->mnt_flag & MNT_DISCARD)
    +		ump->um_discarddata = ffs_discard_init(devvp, fs);
    +
     	return (0);
     out:
     #ifdef WAPBL
    @@ -1290,15 +1317,15 @@ out:
     
     	fstrans_unmount(mp);
     	if (fs)
    -		free(fs, M_UFSMNT);
    -	devvp->v_specmountpoint = NULL;
    +		kmem_free(fs, fs->fs_sbsize);
    +	spec_node_setmountedfs(devvp, NULL);
     	if (bp)
     		brelse(bp, bset);
     	if (ump) {
     		if (ump->um_oldfscompat)
    -			free(ump->um_oldfscompat, M_UFSMNT);
    +			kmem_free(ump->um_oldfscompat, 512 + 3*sizeof(int32_t));
     		mutex_destroy(&ump->um_lock);
    -		free(ump, M_UFSMNT);
    +		kmem_free(ump, sizeof(*ump));
     		mp->mnt_data = NULL;
     	}
     	return (error);
    @@ -1322,8 +1349,8 @@ ffs_oldfscompat_read(struct fs *fs, struct ufsmount *ump, daddr_t sblockloc)
     		return;
     
     	if (!ump->um_oldfscompat)
    -		ump->um_oldfscompat = malloc(512 + 3*sizeof(int32_t),
    -		    M_UFSMNT, M_WAITOK);
    +		ump->um_oldfscompat = kmem_alloc(512 + 3*sizeof(int32_t),
    +		    KM_SLEEP);
     
     	memcpy(ump->um_oldfscompat, &fs->fs_old_postbl_start, 512);
     	extrasave = ump->um_oldfscompat;
    @@ -1429,10 +1456,16 @@ ffs_unmount(struct mount *mp, int mntflags)
     	struct ufsmount *ump = VFSTOUFS(mp);
     	struct fs *fs = ump->um_fs;
     	int error, flags;
    +	u_int32_t bsize;
     #ifdef WAPBL
     	extern int doforce;
     #endif
     
    +	if (ump->um_discarddata) {
    +		ffs_discard_finish(ump->um_discarddata, mntflags);
    +		ump->um_discarddata = NULL;
    +	}
    +
     	flags = 0;
     	if (mntflags & MNT_FORCE)
     		flags |= FORCECLOSE;
    @@ -1462,26 +1495,26 @@ ffs_unmount(struct mount *mp, int mntflags)
     		return error;
     	}
     #endif /* WAPBL */
    -#ifdef UFS_EXTATTR
    -	if (ump->um_fstype == UFS1) {
    -		ufs_extattr_stop(mp, l);
    -		ufs_extattr_uepm_destroy(&ump->um_extattr);
    -	}
    -#endif /* UFS_EXTATTR */
     
     	if (ump->um_devvp->v_type != VBAD)
    -		ump->um_devvp->v_specmountpoint = NULL;
    +		spec_node_setmountedfs(ump->um_devvp, NULL);
     	vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY);
     	(void)VOP_CLOSE(ump->um_devvp, fs->fs_ronly ? FREAD : FREAD | FWRITE,
     		NOCRED);
     	vput(ump->um_devvp);
    -	free(fs->fs_csp, M_UFSMNT);
    -	free(fs, M_UFSMNT);
    +
    +	bsize = fs->fs_cssize;
    +	if (fs->fs_contigsumsize > 0)
    +		bsize += fs->fs_ncg * sizeof(int32_t);
    +	bsize += fs->fs_ncg * sizeof(*fs->fs_contigdirs);
    +	kmem_free(fs->fs_csp, bsize);
    +
    +	kmem_free(fs, fs->fs_sbsize);
     	if (ump->um_oldfscompat != NULL)
    -		free(ump->um_oldfscompat, M_UFSMNT);
    +		kmem_free(ump->um_oldfscompat, 512 + 3*sizeof(int32_t));
     	mutex_destroy(&ump->um_lock);
     	ffs_snapshot_fini(ump);
    -	free(ump, M_UFSMNT);
    +	kmem_free(ump, sizeof(*ump));
     	mp->mnt_data = NULL;
     	mp->mnt_flag &= ~MNT_LOCAL;
     	fstrans_unmount(mp);
    @@ -1508,6 +1541,14 @@ ffs_flushfiles(struct mount *mp, int flags, struct lwp *l)
     #ifdef QUOTA2
     	if ((error = quota2_umount(mp, flags)) != 0)
     		return (error);
    +#endif
    +#ifdef UFS_EXTATTR
    +	if (ump->um_fstype == UFS1) {
    +		if (ump->um_extattr.uepm_flags & UFS_EXTATTR_UEPM_STARTED)
    +			ufs_extattr_stop(mp, l);
    +		if (ump->um_extattr.uepm_flags & UFS_EXTATTR_UEPM_INITIALIZED)
    +			ufs_extattr_uepm_destroy(&ump->um_extattr);
    +	}
     #endif
     	if ((error = vflush(mp, 0, SKIPSYSTEM | flags)) != 0)
     		return (error);
    @@ -1556,15 +1597,15 @@ ffs_statvfs(struct mount *mp, struct statvfs *sbp)
     	sbp->f_frsize = fs->fs_fsize;
     	sbp->f_iosize = fs->fs_bsize;
     	sbp->f_blocks = fs->fs_dsize;
    -	sbp->f_bfree = blkstofrags(fs, fs->fs_cstotal.cs_nbfree) +
    -	    fs->fs_cstotal.cs_nffree + dbtofsb(fs, fs->fs_pendingblocks);
    +	sbp->f_bfree = ffs_blkstofrags(fs, fs->fs_cstotal.cs_nbfree) +
    +	    fs->fs_cstotal.cs_nffree + FFS_DBTOFSB(fs, fs->fs_pendingblocks);
     	sbp->f_bresvd = ((u_int64_t) fs->fs_dsize * (u_int64_t)
     	    fs->fs_minfree) / (u_int64_t) 100;
     	if (sbp->f_bfree > sbp->f_bresvd)
     		sbp->f_bavail = sbp->f_bfree - sbp->f_bresvd;
     	else
     		sbp->f_bavail = 0;
    -	sbp->f_files =  fs->fs_ncg * fs->fs_ipg - ROOTINO;
    +	sbp->f_files =  fs->fs_ncg * fs->fs_ipg - UFS_ROOTINO;
     	sbp->f_ffree = fs->fs_cstotal.cs_nifree + fs->fs_pendinginodes;
     	sbp->f_favail = sbp->f_ffree;
     	sbp->f_fresvd = 0;
    @@ -1818,7 +1859,7 @@ ffs_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
     	mutex_exit(&ufs_hashlock);
     
     	/* Read in the disk contents for the inode, copy into the inode. */
    -	error = bread(ump->um_devvp, fsbtodb(fs, ino_to_fsba(fs, ino)),
    +	error = bread(ump->um_devvp, FFS_FSBTODB(fs, ino_to_fsba(fs, ino)),
     		      (int)fs->fs_bsize, NOCRED, 0, &bp);
     	if (error) {
     
    @@ -1830,7 +1871,6 @@ ffs_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
     		 */
     
     		vput(vp);
    -		brelse(bp, 0);
     		*vpp = NULL;
     		return (error);
     	}
    @@ -1892,7 +1932,7 @@ ffs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
     
     	memcpy(&ufh, fhp, sizeof(ufh));
     	fs = VFSTOUFS(mp)->um_fs;
    -	if (ufh.ufid_ino < ROOTINO ||
    +	if (ufh.ufid_ino < UFS_ROOTINO ||
     	    ufh.ufid_ino >= fs->fs_ncg * fs->fs_ipg)
     		return (ESTALE);
     	return (ufs_fhtovp(mp, &ufh, vpp));
    @@ -2007,7 +2047,7 @@ ffs_cgupdate(struct ufsmount *mp, int waitfor)
     		size = fs->fs_bsize;
     		if (i + fs->fs_frag > blks)
     			size = (blks - i) * fs->fs_fsize;
    -		error = ffs_getblk(mp->um_devvp, fsbtodb(fs, fs->fs_csaddr + i),
    +		error = ffs_getblk(mp->um_devvp, FFS_FSBTODB(fs, fs->fs_csaddr + i),
     		    FFS_NOBLK, size, false, &bp);
     		if (error)
     			break;
    @@ -2087,7 +2127,7 @@ ffs_vfs_fsync(vnode_t *vp, int flags)
     #endif
     
     	KASSERT(vp->v_type == VBLK);
    -	KASSERT(vp->v_specmountpoint != NULL);
    +	KASSERT(spec_node_getmountedfs(vp) != NULL);
     
     	/*
     	 * Flush all dirty data associated with the vnode.
    @@ -2101,7 +2141,7 @@ ffs_vfs_fsync(vnode_t *vp, int flags)
     		return error;
     
     #ifdef WAPBL
    -	mp = vp->v_specmountpoint;
    +	mp = spec_node_getmountedfs(vp);
     	if (mp && mp->mnt_wapbl) {
     		/*
     		 * Don't bother writing out metadata if the syncer is
    @@ -2133,7 +2173,7 @@ ffs_vfs_fsync(vnode_t *vp, int flags)
     	}
     #endif /* WAPBL */
     
    -	error = vflushbuf(vp, (flags & FSYNC_WAIT) != 0);
    +	error = vflushbuf(vp, flags);
     	if (error == 0 && (flags & FSYNC_CACHE) != 0) {
     		i = 1;
     		(void)VOP_IOCTL(vp, DIOCCACHESYNC, &i, FWRITE,
    diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c
    index 9acc0bdce..e676c3e53 100644
    --- a/sys/ufs/ffs/ffs_vnops.c
    +++ b/sys/ufs/ffs/ffs_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_vnops.c,v 1.120 2011/06/27 16:34:47 manu Exp $	*/
    +/*	$NetBSD: ffs_vnops.c,v 1.123 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*-
      * Copyright (c) 2008, 2009 The NetBSD Foundation, Inc.
    @@ -61,7 +61,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.120 2011/06/27 16:34:47 manu Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.123 2013/06/23 07:28:37 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -333,7 +333,7 @@ ffs_fsync(void *v)
     	} */ *ap = v;
     	struct buf *bp;
     	int num, error, i;
    -	struct indir ia[NIADDR + 1];
    +	struct indir ia[UFS_NIADDR + 1];
     	int bsize;
     	daddr_t blk_high;
     	struct vnode *vp;
    @@ -405,7 +405,7 @@ ffs_fsync(void *v)
     	 * Then, flush indirect blocks.
     	 */
     
    -	if (blk_high >= NDADDR) {
    +	if (blk_high >= UFS_NDADDR) {
     		error = ufs_getlbns(vp, blk_high, ia, &num);
     		if (error)
     			goto out;
    @@ -455,35 +455,35 @@ int
     ffs_full_fsync(struct vnode *vp, int flags)
     {
     	int error, i, uflags;
    -	struct mount *mp;
     
     	KASSERT(vp->v_tag == VT_UFS);
     	KASSERT(VTOI(vp) != NULL);
     	KASSERT(vp->v_type != VCHR && vp->v_type != VBLK);
     
    -	error = 0;
     	uflags = UPDATE_CLOSE | ((flags & FSYNC_WAIT) ? UPDATE_WAIT : 0);
     
    -	mp = vp->v_mount;
    -
    -	/*
    -	 * Flush all dirty data associated with the vnode.
    -	 */
    -	if (vp->v_type == VREG) {
    -		int pflags = PGO_ALLPAGES | PGO_CLEANIT;
    -
    -		if ((flags & FSYNC_WAIT))
    -			pflags |= PGO_SYNCIO;
    -		if (fstrans_getstate(mp) == FSTRANS_SUSPENDING)
    -			pflags |= PGO_FREE;
    -		mutex_enter(vp->v_interlock);
    -		error = VOP_PUTPAGES(vp, 0, 0, pflags);
    -		if (error)
    -			return error;
    -	}
    -
     #ifdef WAPBL
    +	struct mount *mp = vp->v_mount;
     	if (mp && mp->mnt_wapbl) {
    +
    +		/*
    +		 * Flush all dirty data associated with the vnode.
    +		 */
    +		if (vp->v_type == VREG) {
    +			int pflags = PGO_ALLPAGES | PGO_CLEANIT;
    +
    +			if ((flags & FSYNC_LAZY))
    +				pflags |= PGO_LAZY;
    +			if ((flags & FSYNC_WAIT))
    +				pflags |= PGO_SYNCIO;
    +			if (fstrans_getstate(mp) == FSTRANS_SUSPENDING)
    +				pflags |= PGO_FREE;
    +			mutex_enter(vp->v_interlock);
    +			error = VOP_PUTPAGES(vp, 0, 0, pflags);
    +			if (error)
    +				return error;
    +		}
    +
     		/*
     		 * Don't bother writing out metadata if the syncer is
     		 * making the request.  We will let the sync vnode
    @@ -500,6 +500,8 @@ ffs_full_fsync(struct vnode *vp, int flags)
     				return error;
     			error = ffs_update(vp, NULL, NULL, uflags);
     			UFS_WAPBL_END(mp);
    +		} else {
    +			error = 0;
     		}
     		if (error || (flags & FSYNC_NOLOG) != 0)
     			return error;
    @@ -525,7 +527,7 @@ ffs_full_fsync(struct vnode *vp, int flags)
     	}
     #endif /* WAPBL */
     
    -	error = vflushbuf(vp, (flags & FSYNC_WAIT) != 0);
    +	error = vflushbuf(vp, flags);
     	if (error == 0)
     		error = ffs_update(vp, NULL, NULL, uflags);
     	if (error == 0 && (flags & FSYNC_CACHE) != 0) {
    @@ -609,12 +611,12 @@ ffs_gop_size(struct vnode *vp, off_t size, off_t *eobp, int flags)
     	struct fs *fs = ip->i_fs;
     	daddr_t olbn, nlbn;
     
    -	olbn = lblkno(fs, ip->i_size);
    -	nlbn = lblkno(fs, size);
    -	if (nlbn < NDADDR && olbn <= nlbn) {
    -		*eobp = fragroundup(fs, size);
    +	olbn = ffs_lblkno(fs, ip->i_size);
    +	nlbn = ffs_lblkno(fs, size);
    +	if (nlbn < UFS_NDADDR && olbn <= nlbn) {
    +		*eobp = ffs_fragroundup(fs, size);
     	} else {
    -		*eobp = blkroundup(fs, size);
    +		*eobp = ffs_blkroundup(fs, size);
     	}
     }
     
    diff --git a/sys/ufs/ffs/ffs_wapbl.c b/sys/ufs/ffs/ffs_wapbl.c
    index aa6b2dae1..5a87a8e44 100644
    --- a/sys/ufs/ffs/ffs_wapbl.c
    +++ b/sys/ufs/ffs/ffs_wapbl.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs_wapbl.c,v 1.17 2010/12/24 13:38:57 mlelstv Exp $	*/
    +/*	$NetBSD: ffs_wapbl.c,v 1.25 2013/10/25 11:35:55 martin Exp $	*/
     
     /*-
      * Copyright (c) 2003,2006,2008 The NetBSD Foundation, Inc.
    @@ -30,7 +30,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.17 2010/12/24 13:38:57 mlelstv Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ffs_wapbl.c,v 1.25 2013/10/25 11:35:55 martin Exp $");
     
     #define WAPBL_INTERNAL
     
    @@ -165,7 +165,7 @@ ffs_wapbl_sync_metadata(struct mount *mp, daddr_t *deallocblks,
     {
     	struct ufsmount *ump = VFSTOUFS(mp);
     	struct fs *fs = ump->um_fs;
    -	int i, error;
    +	int i, error __diagused;
     
     #ifdef WAPBL_DEBUG_INODES
     	ufs_wapbl_verify_inodes(mp, "ffs_wapbl_sync_metadata");
    @@ -177,7 +177,7 @@ ffs_wapbl_sync_metadata(struct mount *mp, daddr_t *deallocblks,
     		 * if it cannot read the cylinder group block
     		 */
     		ffs_blkfree(fs, ump->um_devvp,
    -		    dbtofsb(fs, deallocblks[i]), dealloclens[i], -1);
    +		    FFS_DBTOFSB(fs, deallocblks[i]), dealloclens[i], -1);
     	}
     
     	fs->fs_fmod = 0;
    @@ -201,7 +201,7 @@ ffs_wapbl_abort_sync_metadata(struct mount *mp, daddr_t *deallocblks,
     		 * blkfree succeeded above, then this shouldn't fail because
     		 * the buffer will be locked in the current transaction.
     		 */
    -		ffs_blkalloc_ump(ump, dbtofsb(fs, deallocblks[i]),
    +		ffs_blkalloc_ump(ump, FFS_DBTOFSB(fs, deallocblks[i]),
     		    dealloclens[i]);
     	}
     }
    @@ -528,7 +528,7 @@ wapbl_log_position(struct mount *mp, struct fs *fs, struct vnode *devvp,
     	}
     
     	desired_logsize =
    -	    lfragtosize(fs, fs->fs_size) / UFS_WAPBL_JOURNAL_SCALE;
    +	    ffs_lfragtosize(fs, fs->fs_size) / UFS_WAPBL_JOURNAL_SCALE;
     	DPRINTF("desired log size = %" PRId64 " kB\n", desired_logsize / 1024);
     	desired_logsize = max(desired_logsize, UFS_WAPBL_MIN_JOURNAL_SIZE);
     	desired_logsize = min(desired_logsize, UFS_WAPBL_MAX_JOURNAL_SIZE);
    @@ -536,7 +536,7 @@ wapbl_log_position(struct mount *mp, struct fs *fs, struct vnode *devvp,
     	    desired_logsize / 1024);
     
     	/* Is there space after after filesystem on partition for log? */
    -	logstart = fsbtodb(fs, fs->fs_size);
    +	logstart = FFS_FSBTODB(fs, fs->fs_size);
     	error = getdisksize(devvp, &numsecs, &secsize);
     	if (error)
     		return error;
    @@ -680,11 +680,11 @@ wapbl_allocate_log_file(struct mount *mp, struct vnode *vp,
     	if (addr == 0) {
     		printf("%s: log not allocated, largest extent is "
     		    "%" PRId64 "MB\n", __func__,
    -		    lblktosize(fs, size) / (1024 * 1024));
    +		    ffs_lblktosize(fs, size) / (1024 * 1024));
     		return ENOSPC;
     	}
     
    -	logsize = lblktosize(fs, size);	/* final log size */
    +	logsize = ffs_lblktosize(fs, size);	/* final log size */
     
     	VTOI(vp)->i_ffs_first_data_blk = addr;
     	VTOI(vp)->i_ffs_first_indir_blk = indir_addr;
    @@ -695,7 +695,7 @@ wapbl_allocate_log_file(struct mount *mp, struct vnode *vp,
     		return error;
     	}
     
    -	*startp     = fsbtodb(fs, addr);
    +	*startp     = FFS_FSBTODB(fs, addr);
     	*countp     = btodb(logsize);
     	*extradatap = VTOI(vp)->i_number;
     
    @@ -731,13 +731,11 @@ wapbl_find_log_start(struct mount *mp, struct vnode *vp, off_t logsize,
     	daddr_t desired_blks, min_desired_blks;
     	daddr_t freeblks, best_blks;
     	int bpcg, cg, error, fixedsize, indir_blks, n, s;
    -#ifdef FFS_EI
     	const int needswap = UFS_FSNEEDSWAP(fs);
    -#endif
     
     	if (logsize == 0) {
     		fixedsize = 0;	/* We can adjust the size if tight */
    -		logsize = lfragtosize(fs, fs->fs_dsize) /
    +		logsize = ffs_lfragtosize(fs, fs->fs_dsize) /
     		    UFS_WAPBL_JOURNAL_SCALE;
     		DPRINTF("suggested log size = %" PRId64 "\n", logsize);
     		logsize = max(logsize, UFS_WAPBL_MIN_JOURNAL_SIZE);
    @@ -753,8 +751,8 @@ wapbl_find_log_start(struct mount *mp, struct vnode *vp, off_t logsize,
     
     	/* add in number of indirect blocks needed */
     	indir_blks = 0;
    -	if (desired_blks >= NDADDR) {
    -		struct indir indirs[NIADDR + 2];
    +	if (desired_blks >= UFS_NDADDR) {
    +		struct indir indirs[UFS_NIADDR + 2];
     		int num;
     
     		error = ufs_getlbns(vp, desired_blks, indirs, &num);
    @@ -793,11 +791,11 @@ wapbl_find_log_start(struct mount *mp, struct vnode *vp, off_t logsize,
     		min_desired_blks = desired_blks / 4;
     
     	/* Look at number of blocks per CG.  If it's too small, bail early. */
    -	bpcg = fragstoblks(fs, fs->fs_fpg);
    +	bpcg = ffs_fragstoblks(fs, fs->fs_fpg);
     	if (min_desired_blks > bpcg) {
     		printf("ffs_wapbl: cylinder group size of %" PRId64 " MB "
     		    " is not big enough for journal\n",
    -		    lblktosize(fs, bpcg) / (1024 * 1024));
    +		    ffs_lblktosize(fs, bpcg) / (1024 * 1024));
     		goto bad;
     	}
     
    @@ -819,10 +817,13 @@ wapbl_find_log_start(struct mount *mp, struct vnode *vp, off_t logsize,
     	    best_blks < desired_blks && cg >= 0 && cg < fs->fs_ncg;
     	    s++, n = -n, cg += n * s) {
     		DPRINTF("check cg %d of %d\n", cg, fs->fs_ncg);
    -		error = bread(devvp, fsbtodb(fs, cgtod(fs, cg)),
    +		error = bread(devvp, FFS_FSBTODB(fs, cgtod(fs, cg)),
     		    fs->fs_cgsize, FSCRED, 0, &bp);
    +		if (error) {
    +			continue;
    +		}
     		cgp = (struct cg *)bp->b_data;
    -		if (error || !cg_chkmagic(cgp, UFS_FSNEEDSWAP(fs))) {
    +		if (!cg_chkmagic(cgp, UFS_FSNEEDSWAP(fs))) {
     			brelse(bp, 0);
     			continue;
     		}
    @@ -848,7 +849,7 @@ wapbl_find_log_start(struct mount *mp, struct vnode *vp, off_t logsize,
     
     			if (freeblks > best_blks) {
     				best_blks = freeblks;
    -				best_addr = blkstofrags(fs, start_addr) +
    +				best_addr = ffs_blkstofrags(fs, start_addr) +
     				    cgbase(fs, cg);
     
     				if (freeblks >= desired_blks) {
    @@ -869,7 +870,7 @@ wapbl_find_log_start(struct mount *mp, struct vnode *vp, off_t logsize,
     		*indir_addr = 0;
     	} else {
     		/* put indirect blocks at start, and data blocks after */
    -		*addr = best_addr + blkstofrags(fs, indir_blks);
    +		*addr = best_addr + ffs_blkstofrags(fs, indir_blks);
     		*indir_addr = best_addr;
     	}
     	*size = min(desired_blks, best_blks) - indir_blks;
    diff --git a/sys/ufs/ffs/fs.h b/sys/ufs/ffs/fs.h
    index 7e5af7c89..245942087 100644
    --- a/sys/ufs/ffs/fs.h
    +++ b/sys/ufs/ffs/fs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: fs.h,v 1.56 2011/03/06 17:08:38 bouyer Exp $	*/
    +/*	$NetBSD: fs.h,v 1.65 2013/09/03 02:24:01 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1993
    @@ -123,7 +123,7 @@
      * necessary.  The file system format retains only a single pointer
      * to such a fragment, which is a piece of a single large block that
      * has been divided.  The size of such a fragment is determinable from
    - * information in the inode, using the ``blksize(fs, ip, lbn)'' macro.
    + * information in the inode, using the ``ffs_blksize(fs, ip, lbn)'' macro.
      *
      * The file system records space availability at the fragment level;
      * to determine block availability, aligned fragments are examined.
    @@ -287,8 +287,8 @@ struct fs {
     	int32_t	 fs_sbsize;		/* actual size of super block */
     	int32_t	 fs_spare1[2];		/* old fs_csmask */
     					/* old fs_csshift */
    -	int32_t	 fs_nindir;		/* value of NINDIR */
    -	int32_t	 fs_inopb;		/* value of INOPB */
    +	int32_t	 fs_nindir;		/* value of FFS_NINDIR */
    +	int32_t	 fs_inopb;		/* value of FFS_INOPB */
     	int32_t	 fs_old_nspf;		/* value of NSPF */
     /* yet another configuration parameter */
     	int32_t	 fs_optim;		/* optimization preference, see below */
    @@ -422,13 +422,16 @@ struct fs {
     #define	FS_UNCLEAN	0x001	/* file system not clean at mount (unused) */
     #define	FS_DOSOFTDEP	0x002	/* file system using soft dependencies */
     #define	FS_NEEDSFSCK	0x004	/* needs sync fsck (FreeBSD compat, unused) */
    -#define	FS_INDEXDIRS	0x008	/* kernel supports indexed directories */
    +#define	FS_SUJ		0x008	/* file system using journaled softupdates */
     #define	FS_ACLS		0x010	/* file system has ACLs enabled */
     #define	FS_MULTILABEL	0x020	/* file system is MAC multi-label */
     #define	FS_GJOURNAL	0x40	/* gjournaled file system */
     #define	FS_FLAGS_UPDATED 0x80	/* flags have been moved to new location */
     #define	FS_DOWAPBL	0x100	/* Write ahead physical block logging */
    +/*     	FS_NFS4ACLS	0x100	   file system has NFSv4 ACLs enabled (FBSD) */
     #define	FS_DOQUOTA2	0x200	/* in-filesystem quotas */
    +/*     	FS_INDEXDIRS	0x200	   kernel supports indexed directories (FBSD)*/
    +#define	FS_TRIM		0x400	/* discard deleted blocks in storage layer */
     
     /* File system flags that are ok for NetBSD if set in fs_flags */
     #define	FS_KNOWN_FLAGS	(FS_DOSOFTDEP | FS_DOWAPBL | FS_DOQUOTA2)
    @@ -470,7 +473,7 @@ struct fs {
         /* block map */	howmany((fpg), NBBY) +\
         /* if present */	((fs)->fs_contigsumsize <= 0 ? 0 : \
         /* cluster sum */	(fs)->fs_contigsumsize * sizeof(int32_t) + \
    -    /* cluster map */	howmany(fragstoblks(fs, (fpg)), NBBY)))
    +    /* cluster map */	howmany(ffs_fragstoblks(fs, (fpg)), NBBY)))
     
     #define	CGSIZE(fs) CGSIZE_IF((fs), (fs)->fs_ipg, (fs)->fs_fpg)
     
    @@ -605,11 +608,11 @@ struct ocg {
      * This maps file system blocks to device size blocks.
      */
     #if defined (_KERNEL)
    -#define	fsbtodb(fs, b)	((b) << ((fs)->fs_fshift - DEV_BSHIFT))
    -#define	dbtofsb(fs, b)	((b) >> ((fs)->fs_fshift - DEV_BSHIFT))
    +#define	FFS_FSBTODB(fs, b)	((b) << ((fs)->fs_fshift - DEV_BSHIFT))
    +#define	FFS_DBTOFSB(fs, b)	((b) >> ((fs)->fs_fshift - DEV_BSHIFT))
     #else
    -#define	fsbtodb(fs, b)	((b) << (fs)->fs_fsbtodb)
    -#define	dbtofsb(fs, b)	((b) >> (fs)->fs_fsbtodb)
    +#define	FFS_FSBTODB(fs, b)	((b) << (fs)->fs_fsbtodb)
    +#define	FFS_DBTOFSB(fs, b)	((b) >> (fs)->fs_fsbtodb)
     #endif
     
     /*
    @@ -636,8 +639,8 @@ struct ocg {
     #define	ino_to_cg(fs, x)	((x) / (fs)->fs_ipg)
     #define	ino_to_fsba(fs, x)						\
     	((daddr_t)(cgimin(fs, ino_to_cg(fs, x)) +			\
    -	    (blkstofrags((fs), (((x) % (fs)->fs_ipg) / INOPB(fs))))))
    -#define	ino_to_fsbo(fs, x)	((x) % INOPB(fs))
    +	    (ffs_blkstofrags((fs), (((x) % (fs)->fs_ipg) / FFS_INOPB(fs))))))
    +#define	ino_to_fsbo(fs, x)	((x) % FFS_INOPB(fs))
     
     /*
      * Give cylinder group number for a file system block.
    @@ -653,11 +656,11 @@ struct ocg {
     #define	blkmap(fs, map, loc) \
         (((map)[(loc) / NBBY] >> ((loc) % NBBY)) & (0xff >> (NBBY - (fs)->fs_frag)))
     #define	old_cbtocylno(fs, bno) \
    -    (fsbtodb(fs, bno) / (fs)->fs_old_spc)
    +    (FFS_FSBTODB(fs, bno) / (fs)->fs_old_spc)
     #define	old_cbtorpos(fs, bno) \
         ((fs)->fs_old_nrpos <= 1 ? 0 : \
    -     (fsbtodb(fs, bno) % (fs)->fs_old_spc / (fs)->fs_old_nsect * (fs)->fs_old_trackskew + \
    -      fsbtodb(fs, bno) % (fs)->fs_old_spc % (fs)->fs_old_nsect * (fs)->fs_old_interleave) % \
    +     (FFS_FSBTODB(fs, bno) % (fs)->fs_old_spc / (fs)->fs_old_nsect * (fs)->fs_old_trackskew + \
    +      FFS_FSBTODB(fs, bno) % (fs)->fs_old_spc % (fs)->fs_old_nsect * (fs)->fs_old_interleave) % \
          (fs)->fs_old_nsect * (fs)->fs_old_nrpos / (fs)->fs_old_npsect)
     
     /*
    @@ -665,29 +668,29 @@ struct ocg {
      * quantities by using shifts and masks in place of divisions
      * modulos and multiplications.
      */
    -#define	blkoff(fs, loc)		/* calculates (loc % fs->fs_bsize) */ \
    +#define	ffs_blkoff(fs, loc)	/* calculates (loc % fs->fs_bsize) */ \
     	((loc) & (fs)->fs_qbmask)
    -#define	fragoff(fs, loc)	/* calculates (loc % fs->fs_fsize) */ \
    +#define	ffs_fragoff(fs, loc)	/* calculates (loc % fs->fs_fsize) */ \
     	((loc) & (fs)->fs_qfmask)
    -#define	lfragtosize(fs, frag)	/* calculates ((off_t)frag * fs->fs_fsize) */ \
    +#define	ffs_lfragtosize(fs, frag) /* calculates ((off_t)frag * fs->fs_fsize) */ \
     	(((off_t)(frag)) << (fs)->fs_fshift)
    -#define	lblktosize(fs, blk)	/* calculates ((off_t)blk * fs->fs_bsize) */ \
    -	(((off_t)(blk)) << (fs)->fs_bshift)
    -#define	lblkno(fs, loc)		/* calculates (loc / fs->fs_bsize) */ \
    +#define	ffs_lblktosize(fs, blk)	/* calculates ((off_t)blk * fs->fs_bsize) */ \
    +	((uint64_t)(((off_t)(blk)) << (fs)->fs_bshift))
    +#define	ffs_lblkno(fs, loc)	/* calculates (loc / fs->fs_bsize) */ \
     	((loc) >> (fs)->fs_bshift)
    -#define	numfrags(fs, loc)	/* calculates (loc / fs->fs_fsize) */ \
    +#define	ffs_numfrags(fs, loc)	/* calculates (loc / fs->fs_fsize) */ \
     	((loc) >> (fs)->fs_fshift)
    -#define	blkroundup(fs, size)	/* calculates roundup(size, fs->fs_bsize) */ \
    +#define	ffs_blkroundup(fs, size) /* calculates roundup(size, fs->fs_bsize) */ \
     	(((size) + (fs)->fs_qbmask) & (fs)->fs_bmask)
    -#define	fragroundup(fs, size)	/* calculates roundup(size, fs->fs_fsize) */ \
    +#define	ffs_fragroundup(fs, size) /* calculates roundup(size, fs->fs_fsize) */ \
     	(((size) + (fs)->fs_qfmask) & (fs)->fs_fmask)
    -#define	fragstoblks(fs, frags)	/* calculates (frags / fs->fs_frag) */ \
    +#define	ffs_fragstoblks(fs, frags) /* calculates (frags / fs->fs_frag) */ \
     	((frags) >> (fs)->fs_fragshift)
    -#define	blkstofrags(fs, blks)	/* calculates (blks * fs->fs_frag) */ \
    +#define	ffs_blkstofrags(fs, blks) /* calculates (blks * fs->fs_frag) */ \
     	((blks) << (fs)->fs_fragshift)
    -#define	fragnum(fs, fsb)	/* calculates (fsb % fs->fs_frag) */ \
    +#define	ffs_fragnum(fs, fsb)	/* calculates (fsb % fs->fs_frag) */ \
     	((fsb) & ((fs)->fs_frag - 1))
    -#define	blknum(fs, fsb)		/* calculates rounddown(fsb, fs->fs_frag) */ \
    +#define	ffs_blknum(fs, fsb)	/* calculates rounddown(fsb, fs->fs_frag) */ \
     	((fsb) &~ ((fs)->fs_frag - 1))
     
     /*
    @@ -695,34 +698,34 @@ struct ocg {
      * percentage to hold in reserve.
      */
     #define	freespace(fs, percentreserved) \
    -	(blkstofrags((fs), (fs)->fs_cstotal.cs_nbfree) + \
    +	(ffs_blkstofrags((fs), (fs)->fs_cstotal.cs_nbfree) + \
     	(fs)->fs_cstotal.cs_nffree - \
     	(((off_t)((fs)->fs_dsize)) * (percentreserved) / 100))
     
     /*
      * Determining the size of a file block in the file system.
      */
    -#define	blksize(fs, ip, lbn) \
    -	(((lbn) >= NDADDR || (ip)->i_size >= lblktosize(fs, (lbn) + 1)) \
    +#define	ffs_blksize(fs, ip, lbn) \
    +	(((lbn) >= UFS_NDADDR || (ip)->i_size >= ffs_lblktosize(fs, (lbn) + 1)) \
     	    ? (fs)->fs_bsize \
    -	    : (fragroundup(fs, blkoff(fs, (ip)->i_size))))
    +	    : ((int32_t)ffs_fragroundup(fs, ffs_blkoff(fs, (ip)->i_size))))
     
    -#define	sblksize(fs, size, lbn) \
    -	(((lbn) >= NDADDR || (size) >= ((lbn) + 1) << (fs)->fs_bshift) \
    +#define	ffs_sblksize(fs, size, lbn) \
    +	(((lbn) >= UFS_NDADDR || (size) >= ((lbn) + 1) << (fs)->fs_bshift) \
     	  ? (fs)->fs_bsize \
    -	  : (fragroundup(fs, blkoff(fs, (size)))))
    +	  : ((int32_t)ffs_fragroundup(fs, ffs_blkoff(fs, (uint64_t)(size)))))
     
     
     /*
      * Number of inodes in a secondary storage block/fragment.
      */
    -#define	INOPB(fs)	((fs)->fs_inopb)
    -#define	INOPF(fs)	((fs)->fs_inopb >> (fs)->fs_fragshift)
    +#define	FFS_INOPB(fs)	((fs)->fs_inopb)
    +#define	FFS_INOPF(fs)	((fs)->fs_inopb >> (fs)->fs_fragshift)
     
     /*
      * Number of indirects in a file system block.
      */
    -#define	NINDIR(fs)	((fs)->fs_nindir)
    +#define	FFS_NINDIR(fs)	((fs)->fs_nindir)
     
     /*
      * Apple UFS Label:
    diff --git a/sys/ufs/files.ufs b/sys/ufs/files.ufs
    index 7bd59a003..33c1babdb 100644
    --- a/sys/ufs/files.ufs
    +++ b/sys/ufs/files.ufs
    @@ -1,4 +1,4 @@
    -#	$NetBSD: files.ufs,v 1.27 2011/11/24 15:51:31 ahoka Exp $
    +#	$NetBSD: files.ufs,v 1.33 2013/07/20 19:59:31 dholland Exp $
     
     deffs					FFS
     deffs					EXT2FS
    @@ -10,7 +10,10 @@ defflag	opt_ffs.h			FFS_EI FFS_NO_SNAPSHOT APPLE_UFS
     					UFS_DIRHASH
     					UFS_EXTATTR UFS_EXTATTR_AUTOSTART
     
    -defflag	opt_lfs.h			LFS_KERNEL_RFW
    +defflag	opt_lfs.h			LFS_EI LFS_KERNEL_RFW
    +					LFS_DIRHASH
    +					LFS_EXTATTR LFS_EXTATTR_AUTOSTART
    +					LFS_QUOTA LFS_QUOTA2
     
     file	ufs/ext2fs/ext2fs_alloc.c	ext2fs
     file	ufs/ext2fs/ext2fs_balloc.c	ext2fs
    @@ -19,6 +22,7 @@ file	ufs/ext2fs/ext2fs_bswap.c	ext2fs
     file	ufs/ext2fs/ext2fs_inode.c	ext2fs
     file	ufs/ext2fs/ext2fs_lookup.c	ext2fs
     file	ufs/ext2fs/ext2fs_readwrite.c	ext2fs
    +file	ufs/ext2fs/ext2fs_rename.c	ext2fs
     file	ufs/ext2fs/ext2fs_subr.c	ext2fs
     file	ufs/ext2fs/ext2fs_vfsops.c	ext2fs
     file	ufs/ext2fs/ext2fs_vnops.c	ext2fs
    @@ -36,24 +40,23 @@ file	ufs/chfs/chfs_gc.c		chfs
     file	ufs/chfs/chfs_nodeops.c		chfs
     file	ufs/chfs/chfs_malloc.c		chfs
     file	ufs/chfs/chfs_pool.c		chfs
    -file	ufs/chfs/debug.c			chfs
     file	ufs/chfs/chfs_vnode.c		chfs
     file	ufs/chfs/chfs_subr.c		chfs
     file	ufs/chfs/chfs_vfsops.c		chfs
     file	ufs/chfs/chfs_readinode.c	chfs
     
    -file	ufs/ffs/ffs_alloc.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ffs/ffs_balloc.c		ffs | lfs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_alloc.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_balloc.c		ffs | mfs | ext2fs | chfs
     file	ufs/ffs/ffs_bswap.c		(ffs | mfs) & ffs_ei
    -file	ufs/ffs/ffs_inode.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ffs/ffs_snapshot.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ffs/ffs_subr.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ffs/ffs_tables.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ffs/ffs_vfsops.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ffs/ffs_vnops.c		ffs | lfs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_inode.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_snapshot.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_subr.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_tables.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_vfsops.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ffs/ffs_vnops.c		ffs | mfs | ext2fs | chfs
     file	ufs/ffs/ffs_wapbl.c		ffs & wapbl
     file	ufs/ffs/ffs_appleufs.c		ffs & apple_ufs
    -file	ufs/ffs/ffs_quota2.c		quota2 & (ffs | lfs | mfs | ext2fs | chfs)
    +file	ufs/ffs/ffs_quota2.c		quota2 & (ffs | mfs | ext2fs | chfs)
     
     file	ufs/lfs/lfs_alloc.c		lfs
     file	ufs/lfs/lfs_balloc.c		lfs
    @@ -62,28 +65,44 @@ file	ufs/lfs/lfs_cksum.c		lfs
     file	ufs/lfs/lfs_debug.c		lfs
     file	ufs/lfs/lfs_inode.c		lfs
     file	ufs/lfs/lfs_itimes.c		lfs
    +file	ufs/lfs/lfs_rename.c		lfs
     file	ufs/lfs/lfs_rfw.c		lfs & lfs_kernel_rfw
     file	ufs/lfs/lfs_segment.c		lfs
     file	ufs/lfs/lfs_subr.c		lfs
     file	ufs/lfs/lfs_syscalls.c		lfs
     file	ufs/lfs/lfs_vfsops.c		lfs
     file	ufs/lfs/lfs_vnops.c		lfs
    +file	ufs/lfs/ulfs_bmap.c		lfs
    +file	ufs/lfs/ulfs_dirhash.c		lfs & lfs_dirhash
    +file	ufs/lfs/ulfs_extattr.c		lfs & lfs_extattr
    +file	ufs/lfs/ulfs_ihash.c		lfs
    +file	ufs/lfs/ulfs_inode.c		lfs
    +file	ufs/lfs/ulfs_lookup.c		lfs
    +file	ufs/lfs/ulfs_quota.c		lfs & (lfs_quota | lfs_quota2)
    +file	ufs/lfs/ulfs_quota1.c		lfs & lfs_quota
    +file	ufs/lfs/ulfs_quota2.c		lfs & lfs_quota2
    +file	ufs/lfs/ulfs_quota1_subr.c	lfs
    +file	ufs/lfs/ulfs_quota2_subr.c	lfs & lfs_quota2
    +file	ufs/lfs/ulfs_snapshot.c		lfs
    +file	ufs/lfs/ulfs_vfsops.c		lfs
    +file	ufs/lfs/ulfs_vnops.c		lfs
     
     file	ufs/mfs/mfs_vfsops.c		mfs
     file	ufs/mfs/mfs_vnops.c		mfs
     file	ufs/mfs/mfs_miniroot.c
     
    -file	ufs/ufs/ufs_bmap.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ufs/ufs_dirhash.c		(ffs | lfs | mfs | ext2fs | chfs) & ufs_dirhash
    +file	ufs/ufs/ufs_bmap.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ufs/ufs_dirhash.c		(ffs | mfs | ext2fs | chfs) & ufs_dirhash
     file	ufs/ufs/ufs_extattr.c		(ffs | mfs) & ufs_extattr
    -file	ufs/ufs/ufs_ihash.c		ffs | lfs | mfs | ext2fs
    -file	ufs/ufs/ufs_inode.c		ffs | lfs | mfs | ext2fs
    -file	ufs/ufs/ufs_lookup.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ufs/ufs_quota.c		(quota | quota2) & (ffs | lfs | mfs | ext2fs | chfs)
    -file	ufs/ufs/ufs_quota1.c		quota & (ffs | lfs | mfs | ext2fs | chfs)
    -file	ufs/ufs/ufs_quota2.c		quota2 & (ffs | lfs | mfs | ext2fs | chfs)
    +file	ufs/ufs/ufs_ihash.c		ffs | mfs | ext2fs
    +file	ufs/ufs/ufs_inode.c		ffs | mfs | ext2fs
    +file	ufs/ufs/ufs_lookup.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ufs/ufs_quota.c		(quota | quota2) & (ffs | mfs | ext2fs | chfs)
    +file	ufs/ufs/ufs_quota1.c		quota & (ffs | mfs | ext2fs | chfs)
    +file	ufs/ufs/ufs_quota2.c		quota2 & (ffs | mfs | ext2fs | chfs)
     file	ufs/ufs/quota1_subr.c
    -file	ufs/ufs/quota2_subr.c		quota2 & (ffs | lfs | mfs | ext2fs | chfs)
    -file	ufs/ufs/ufs_vfsops.c		ffs | lfs | mfs | ext2fs | chfs
    -file	ufs/ufs/ufs_vnops.c		ffs | lfs | mfs | ext2fs | chfs
    +file	ufs/ufs/quota2_subr.c		quota2 & (ffs | mfs | ext2fs | chfs)
    +file	ufs/ufs/ufs_rename.c		ffs | mfs | chfs
    +file	ufs/ufs/ufs_vfsops.c		ffs | mfs | ext2fs | chfs
    +file	ufs/ufs/ufs_vnops.c		ffs | mfs | ext2fs | chfs
     file	ufs/ufs/ufs_wapbl.c		ffs & wapbl
    diff --git a/sys/ufs/lfs/Makefile b/sys/ufs/lfs/Makefile
    index bb61c7b44..0005fc869 100644
    --- a/sys/ufs/lfs/Makefile
    +++ b/sys/ufs/lfs/Makefile
    @@ -1,7 +1,7 @@
    -#	$NetBSD: Makefile,v 1.1 1998/06/12 23:23:12 cgd Exp $
    +#	$NetBSD: Makefile,v 1.2 2013/06/08 02:04:31 dholland Exp $
     
     INCSDIR= /usr/include/ufs/lfs
     
    -INCS=	lfs.h lfs_extern.h
    +INCS=	lfs.h lfs_inode.h lfs_extern.h
     
     .include 
    diff --git a/sys/ufs/lfs/README.wc b/sys/ufs/lfs/README.wc
    new file mode 100644
    index 000000000..7cfe9803f
    --- /dev/null
    +++ b/sys/ufs/lfs/README.wc
    @@ -0,0 +1,26 @@
    +Line counts.
    +
    +(Part of the premise of splitting lfs from ufs is that in the long run
    +the size of a standalone lfs will be substantially smaller than the
    +size of lfs plus the size of ufs. This file is for keeping track of
    +this proposition.)
    +
    +As of 20130604 (before the split):
    +		.h	.c	total
    +lfs		1467	13858	15325
    +ufs		2056	12919	14975
    +
    +As of 20130605 (copied all ufs files verbatim):
    +
    +lfs-native	1467	13858	15325
    +lfs-ulfs	2070	12938	15008
    +lfs-total	3537	26796	30333
    +
    +A few extra lines appeared copying ufs because I preserved a copy of
    +the old rcsids.
    +
    +As of 20130606 (committed the initial split and made things buildable):
    +
    +lfs-native	1482	13858	15340
    +lfs-ulfs	1994	13028	15022
    +lfs-total	3476	26886	30362
    diff --git a/sys/ufs/lfs/lfs.h b/sys/ufs/lfs/lfs.h
    index 9f6ae8d7e..84b12967c 100644
    --- a/sys/ufs/lfs/lfs.h
    +++ b/sys/ufs/lfs/lfs.h
    @@ -1,4 +1,7 @@
    -/*	$NetBSD: lfs.h,v 1.134 2011/07/11 08:27:40 hannken Exp $	*/
    +/*	$NetBSD: lfs.h,v 1.160 2013/07/28 01:22:55 dholland Exp $	*/
    +
    +/*  from NetBSD: dinode.h,v 1.22 2013/01/22 09:39:18 dholland Exp  */
    +/*  from NetBSD: dir.h,v 1.21 2009/07/22 04:49:19 dholland Exp  */
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -58,6 +61,89 @@
      *
      *	@(#)lfs.h	8.9 (Berkeley) 5/8/95
      */
    +/*
    + * Copyright (c) 2002 Networks Associates Technology, Inc.
    + * All rights reserved.
    + *
    + * This software was developed for the FreeBSD Project by Marshall
    + * Kirk McKusick and Network Associates Laboratories, the Security
    + * Research Division of Network Associates, Inc. under DARPA/SPAWAR
    + * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
    + * research program
    + *
    + * Copyright (c) 1982, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)dinode.h	8.9 (Berkeley) 3/29/95
    + */
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)dir.h	8.5 (Berkeley) 4/27/95
    + */
    +
    +/*
    + * NOTE: COORDINATE ON-DISK FORMAT CHANGES WITH THE FREEBSD PROJECT.
    + */
     
     #ifndef _UFS_LFS_LFS_H_
     #define _UFS_LFS_LFS_H_
    @@ -66,6 +152,8 @@
     #include 
     #include 
     #include 
    +#include 
    +#include 
     
     /*
      * Compile-time options for LFS.
    @@ -83,9 +171,26 @@
     #define	LFS_UNUSED_INUM	0		/* 0: out of band inode number */
     #define	LFS_IFILE_INUM	1		/* 1: IFILE inode number */
     					/* 2: Root inode number */
    -#define	LOSTFOUNDINO	3		/* 3: lost+found inode number */
    +#define	LFS_LOSTFOUNDINO 3		/* 3: lost+found inode number */
     #define	LFS_FIRST_INUM	4		/* 4: first free inode number */
     
    +/*
    + * The root inode is the root of the file system.  Inode 0 can't be used for
    + * normal purposes and historically bad blocks were linked to inode 1, thus
    + * the root inode is 2.  (Inode 1 is no longer used for this purpose, however
    + * numerous dump tapes make this assumption, so we are stuck with it).
    + */
    +#define	ULFS_ROOTINO	((ino_t)2)
    +
    +/*
    + * The Whiteout inode# is a dummy non-zero inode number which will
    + * never be allocated to a real file.  It is used as a place holder
    + * in the directory entry which has been tagged as a LFS_DT_WHT entry.
    + * See the comments about ULFS_ROOTINO above.
    + */
    +#define	ULFS_WINO	((ino_t)1)
    +
    +
     #define	LFS_V1_SUMMARY_SIZE	512     /* V1 fixed summary size */
     #define	LFS_DFL_SUMMARY_SIZE	512	/* Default summary size */
     
    @@ -93,84 +198,240 @@
     
     #define LFS_MAXNAMLEN	255		/* maximum name length in a dir */
     
    -/* Adjustable filesystem parameters */
    -#define MIN_FREE_SEGS	20
    -#define MIN_RESV_SEGS	15
    +#define ULFS_NXADDR	2
    +#define	ULFS_NDADDR	12		/* Direct addresses in inode. */
    +#define	ULFS_NIADDR	3		/* Indirect addresses in inode. */
    +
    +/*
    + * Adjustable filesystem parameters
    + */
     #ifndef LFS_ATIME_IFILE
     # define LFS_ATIME_IFILE 0 /* Store atime info in ifile (optional in LFSv1) */
     #endif
     #define LFS_MARKV_MAXBLKCNT	65536	/* Max block count for lfs_markv() */
     
    -/* Misc. definitions */
    -#define BW_CLEAN	1		/* Flag for lfs_bwrite_ext() */
    -#define PG_DELWRI	PG_PAGER1	/* Local def for delayed pageout */
    -
    -/* Resource limits */
    -#define	LFS_MAX_RESOURCE(x, u)	(((x) >> 2) - 10 * (u))
    -#define	LFS_WAIT_RESOURCE(x, u)	(((x) >> 1) - ((x) >> 3) - 10 * (u))
    -#define	LFS_INVERSE_MAX_RESOURCE(x, u)	(((x) + 10 * (u)) << 2)
    -#define LFS_MAX_BUFS	    LFS_MAX_RESOURCE(nbuf, 1)
    -#define LFS_WAIT_BUFS	    LFS_WAIT_RESOURCE(nbuf, 1)
    -#define LFS_INVERSE_MAX_BUFS(n)	LFS_INVERSE_MAX_RESOURCE(n, 1)
    -#define LFS_MAX_BYTES	    LFS_MAX_RESOURCE(bufmem_lowater, PAGE_SIZE)
    -#define LFS_INVERSE_MAX_BYTES(n) LFS_INVERSE_MAX_RESOURCE(n, PAGE_SIZE)
    -#define LFS_WAIT_BYTES	    LFS_WAIT_RESOURCE(bufmem_lowater, PAGE_SIZE)
    -#define LFS_MAX_DIROP	    ((desiredvnodes >> 2) + (desiredvnodes >> 3))
    -#define SIZEOF_DIROP(fs)	(2 * ((fs)->lfs_bsize + DINODE1_SIZE))
    -#define LFS_MAX_FSDIROP(fs)						\
    -	((fs)->lfs_nclean <= (fs)->lfs_resvseg ? 0 :			\
    -	 (((fs)->lfs_nclean - (fs)->lfs_resvseg) * (fs)->lfs_ssize) /	\
    -          (2 * SIZEOF_DIROP(fs)))
    -#define LFS_MAX_PAGES	lfs_max_pages()
    -#define LFS_WAIT_PAGES	lfs_wait_pages()
    -#define LFS_BUFWAIT	    2	/* How long to wait if over *_WAIT_* */
    -
    -#ifdef _KERNEL
    -int lfs_wait_pages(void);
    -int lfs_max_pages(void);
    -#endif /* _KERNEL */
    -
    -/* How starved can we be before we start holding back page writes */
    -#define LFS_STARVED_FOR_SEGS(fs) ((fs)->lfs_nclean < (fs)->lfs_resvseg)
    -
     /*
    - * Reserved blocks for lfs_malloc
    + * Directories
      */
     
    -/* Structure to keep reserved blocks */
    -typedef struct lfs_res_blk {
    -	void *p;
    -	LIST_ENTRY(lfs_res_blk) res;
    -	int size;
    -	char inuse;
    -} res_t;
    +/*
    + * A directory consists of some number of blocks of LFS_DIRBLKSIZ
    + * bytes, where LFS_DIRBLKSIZ is chosen such that it can be transferred
    + * to disk in a single atomic operation (e.g. 512 bytes on most machines).
    + *
    + * Each LFS_DIRBLKSIZ byte block contains some number of directory entry
    + * structures, which are of variable length.  Each directory entry has
    + * a struct lfs_direct at the front of it, containing its inode number,
    + * the length of the entry, and the length of the name contained in
    + * the entry.  These are followed by the name padded to a 4 byte boundary.
    + * All names are guaranteed null terminated.
    + * The maximum length of a name in a directory is LFS_MAXNAMLEN.
    + *
    + * The macro DIRSIZ(fmt, dp) gives the amount of space required to represent
    + * a directory entry.  Free space in a directory is represented by
    + * entries which have dp->d_reclen > DIRSIZ(fmt, dp).  All LFS_DIRBLKSIZ bytes
    + * in a directory block are claimed by the directory entries.  This
    + * usually results in the last entry in a directory having a large
    + * dp->d_reclen.  When entries are deleted from a directory, the
    + * space is returned to the previous entry in the same directory
    + * block by increasing its dp->d_reclen.  If the first entry of
    + * a directory block is free, then its dp->d_ino is set to 0.
    + * Entries other than the first in a directory do not normally have
    + * dp->d_ino set to 0.
    + */
     
    -/* Types for lfs_newbuf and lfs_malloc */
    -#define LFS_NB_UNKNOWN -1
    -#define LFS_NB_SUMMARY	0
    -#define LFS_NB_SBLOCK	1
    -#define LFS_NB_IBLOCK	2
    -#define LFS_NB_CLUSTER	3
    -#define LFS_NB_CLEAN	4
    -#define LFS_NB_BLKIOV	5
    -#define LFS_NB_COUNT	6 /* always last */
    +/*
    + * Directory block size.
    + */
    +#undef	LFS_DIRBLKSIZ
    +#define	LFS_DIRBLKSIZ	DEV_BSIZE
     
    -/* Number of reserved memory blocks of each type */
    -#define LFS_N_SUMMARIES 2
    -#define LFS_N_SBLOCKS	1   /* Always 1, to throttle superblock writes */
    -#define LFS_N_IBLOCKS	16  /* In theory ssize/bsize; in practice around 2 */
    -#define LFS_N_CLUSTERS	16  /* In theory ssize/MAXPHYS */
    -#define LFS_N_CLEAN	0
    -#define LFS_N_BLKIOV	1
    +/*
    + * Convert between stat structure types and directory types.
    + */
    +#define	LFS_IFTODT(mode)	(((mode) & 0170000) >> 12)
    +#define	LFS_DTTOIF(dirtype)	((dirtype) << 12)
     
    -/* Total count of "large" (non-pool) types */
    -#define LFS_N_TOTAL (LFS_N_SUMMARIES + LFS_N_SBLOCKS + LFS_N_IBLOCKS +	\
    -		     LFS_N_CLUSTERS + LFS_N_CLEAN + LFS_N_BLKIOV)
    +/*
    + * The LFS_DIRSIZ macro gives the minimum record length which will hold
    + * the directory entry.  This requires the amount of space in struct lfs_direct
    + * without the d_name field, plus enough space for the name with a terminating
    + * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
    + */
    +#define	LFS_DIRECTSIZ(namlen) \
    +	((sizeof(struct lfs_direct) - (LFS_MAXNAMLEN+1)) + (((namlen)+1 + 3) &~ 3))
     
    -/* Counts for pool types */
    -#define LFS_N_CL	LFS_N_CLUSTERS
    -#define LFS_N_BPP	2
    -#define LFS_N_SEG	2
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +#define LFS_DIRSIZ(oldfmt, dp, needswap)	\
    +    (((oldfmt) && !(needswap)) ?		\
    +    LFS_DIRECTSIZ((dp)->d_type) : LFS_DIRECTSIZ((dp)->d_namlen))
    +#else
    +#define LFS_DIRSIZ(oldfmt, dp, needswap)	\
    +    (((oldfmt) && (needswap)) ?			\
    +    LFS_DIRECTSIZ((dp)->d_type) : LFS_DIRECTSIZ((dp)->d_namlen))
    +#endif
    +
    +/* Constants for the first argument of LFS_DIRSIZ */
    +#define LFS_OLDDIRFMT	1
    +#define LFS_NEWDIRFMT	0
    +
    +/*
    + * Theoretically, directories can be more than 2Gb in length; however, in
    + * practice this seems unlikely. So, we define the type doff_t as a 32-bit
    + * quantity to keep down the cost of doing lookup on a 32-bit machine.
    + */
    +#define	doff_t		int32_t
    +#define	lfs_doff_t	int32_t
    +#define	LFS_MAXDIRSIZE	(0x7fffffff)
    +
    +/*
    + * File types for d_type
    + */
    +#define	LFS_DT_UNKNOWN	 0
    +#define	LFS_DT_FIFO	 1
    +#define	LFS_DT_CHR	 2
    +#define	LFS_DT_DIR	 4
    +#define	LFS_DT_BLK	 6
    +#define	LFS_DT_REG	 8
    +#define	LFS_DT_LNK	10
    +#define	LFS_DT_SOCK	12
    +#define	LFS_DT_WHT	14
    +
    +/*
    + * (See notes above)
    + */
    +#define d_ino d_fileno
    +struct lfs_direct {
    +	u_int32_t d_fileno;		/* inode number of entry */
    +	u_int16_t d_reclen;		/* length of this record */
    +	u_int8_t  d_type; 		/* file type, see below */
    +	u_int8_t  d_namlen;		/* length of string in d_name */
    +	char	  d_name[LFS_MAXNAMLEN + 1];/* name with length <= LFS_MAXNAMLEN */
    +};
    +
    +/*
    + * Template for manipulating directories.  Should use struct lfs_direct's,
    + * but the name field is LFS_MAXNAMLEN - 1, and this just won't do.
    + */
    +struct lfs_dirtemplate {
    +	u_int32_t	dot_ino;
    +	int16_t		dot_reclen;
    +	u_int8_t	dot_type;
    +	u_int8_t	dot_namlen;
    +	char		dot_name[4];	/* must be multiple of 4 */
    +	u_int32_t	dotdot_ino;
    +	int16_t		dotdot_reclen;
    +	u_int8_t	dotdot_type;
    +	u_int8_t	dotdot_namlen;
    +	char		dotdot_name[4];	/* ditto */
    +};
    +
    +/*
    + * This is the old format of directories, sans type element.
    + */
    +struct lfs_odirtemplate {
    +	u_int32_t	dot_ino;
    +	int16_t		dot_reclen;
    +	u_int16_t	dot_namlen;
    +	char		dot_name[4];	/* must be multiple of 4 */
    +	u_int32_t	dotdot_ino;
    +	int16_t		dotdot_reclen;
    +	u_int16_t	dotdot_namlen;
    +	char		dotdot_name[4];	/* ditto */
    +};
    +
    +/*
    + * Inodes
    + */
    +
    +/*
    + * A dinode contains all the meta-data associated with a LFS file.
    + * This structure defines the on-disk format of a dinode. Since
    + * this structure describes an on-disk structure, all its fields
    + * are defined by types with precise widths.
    + */
    +
    +struct ulfs1_dinode {
    +	u_int16_t	di_mode;	/*   0: IFMT, permissions; see below. */
    +	int16_t		di_nlink;	/*   2: File link count. */
    +	u_int32_t	di_inumber;	/*   4: Inode number. */
    +	u_int64_t	di_size;	/*   8: File byte count. */
    +	int32_t		di_atime;	/*  16: Last access time. */
    +	int32_t		di_atimensec;	/*  20: Last access time. */
    +	int32_t		di_mtime;	/*  24: Last modified time. */
    +	int32_t		di_mtimensec;	/*  28: Last modified time. */
    +	int32_t		di_ctime;	/*  32: Last inode change time. */
    +	int32_t		di_ctimensec;	/*  36: Last inode change time. */
    +	int32_t		di_db[ULFS_NDADDR]; /*  40: Direct disk blocks. */
    +	int32_t		di_ib[ULFS_NIADDR]; /*  88: Indirect disk blocks. */
    +	u_int32_t	di_flags;	/* 100: Status flags (chflags). */
    +	u_int32_t	di_blocks;	/* 104: Blocks actually held. */
    +	int32_t		di_gen;		/* 108: Generation number. */
    +	u_int32_t	di_uid;		/* 112: File owner. */
    +	u_int32_t	di_gid;		/* 116: File group. */
    +	u_int64_t	di_modrev;	/* 120: i_modrev for NFSv4 */
    +};
    +
    +struct ulfs2_dinode {
    +	u_int16_t	di_mode;	/*   0: IFMT, permissions; see below. */
    +	int16_t		di_nlink;	/*   2: File link count. */
    +	u_int32_t	di_uid;		/*   4: File owner. */
    +	u_int32_t	di_gid;		/*   8: File group. */
    +	u_int32_t	di_blksize;	/*  12: Inode blocksize. */
    +	u_int64_t	di_size;	/*  16: File byte count. */
    +	u_int64_t	di_blocks;	/*  24: Bytes actually held. */
    +	int64_t		di_atime;	/*  32: Last access time. */
    +	int64_t		di_mtime;	/*  40: Last modified time. */
    +	int64_t		di_ctime;	/*  48: Last inode change time. */
    +	int64_t		di_birthtime;	/*  56: Inode creation time. */
    +	int32_t		di_mtimensec;	/*  64: Last modified time. */
    +	int32_t		di_atimensec;	/*  68: Last access time. */
    +	int32_t		di_ctimensec;	/*  72: Last inode change time. */
    +	int32_t		di_birthnsec;	/*  76: Inode creation time. */
    +	int32_t		di_gen;		/*  80: Generation number. */
    +	u_int32_t	di_kernflags;	/*  84: Kernel flags. */
    +	u_int32_t	di_flags;	/*  88: Status flags (chflags). */
    +	int32_t		di_extsize;	/*  92: External attributes block. */
    +	int64_t		di_extb[ULFS_NXADDR];/* 96: External attributes block. */
    +	int64_t		di_db[ULFS_NDADDR]; /* 112: Direct disk blocks. */
    +	int64_t		di_ib[ULFS_NIADDR]; /* 208: Indirect disk blocks. */
    +	u_int64_t	di_modrev;	/* 232: i_modrev for NFSv4 */
    +	int64_t		di_spare[2];	/* 240: Reserved; currently unused */
    +};
    +
    +/*
    + * The di_db fields may be overlaid with other information for
    + * file types that do not have associated disk storage. Block
    + * and character devices overlay the first data block with their
    + * dev_t value. Short symbolic links place their path in the
    + * di_db area.
    + */
    +#define	di_rdev		di_db[0]
    +
    +/* Size of the on-disk inode. */
    +#define	LFS_DINODE1_SIZE	(sizeof(struct ulfs1_dinode))	/* 128 */
    +#define	LFS_DINODE2_SIZE	(sizeof(struct ulfs2_dinode))
    +
    +/* File types, found in the upper bits of di_mode. */
    +#define	LFS_IFMT	0170000		/* Mask of file type. */
    +#define	LFS_IFIFO	0010000		/* Named pipe (fifo). */
    +#define	LFS_IFCHR	0020000		/* Character device. */
    +#define	LFS_IFDIR	0040000		/* Directory file. */
    +#define	LFS_IFBLK	0060000		/* Block device. */
    +#define	LFS_IFREG	0100000		/* Regular file. */
    +#define	LFS_IFLNK	0120000		/* Symbolic link. */
    +#define	LFS_IFSOCK	0140000		/* UNIX domain socket. */
    +#define	LFS_IFWHT	0160000		/* Whiteout. */
    +
    +/*
    + * Maximum length of a symlink that can be stored within the inode.
    + */
    +#define ULFS1_MAXSYMLINKLEN	((ULFS_NDADDR + ULFS_NIADDR) * sizeof(int32_t))
    +#define ULFS2_MAXSYMLINKLEN	((ULFS_NDADDR + ULFS_NIADDR) * sizeof(int64_t))
    +
    +#define ULFS_MAXSYMLINKLEN(ip) \
    +	((ip)->i_ump->um_fstype == ULFS1) ? \
    +	ULFS1_MAXSYMLINKLEN : ULFS2_MAXSYMLINKLEN
     
     /*
      * "struct buf" associated definitions
    @@ -183,9 +444,6 @@ typedef struct lfs_res_blk {
     /* Unused logical block number */
     #define LFS_UNUSED_LBN	-1
     
    -/* Determine if a buffer belongs to the ifile */
    -#define IS_IFILE(bp)	(VTOI(bp->b_vp)->i_number == LFS_IFILE_INUM)
    -
     # define LFS_LOCK_BUF(bp) do {						\
     	if (((bp)->b_flags & B_LOCKED) == 0 && bp->b_iodone == NULL) {	\
     		mutex_enter(&lfs_lock);					\
    @@ -209,104 +467,10 @@ typedef struct lfs_res_blk {
     	(bp)->b_flags &= ~B_LOCKED;					\
     } while (0)
     
    -#ifdef _KERNEL
    -
    -extern u_long bufmem_lowater, bufmem_hiwater; /* XXX */
    -
    -# define LFS_IS_MALLOC_BUF(bp) ((bp)->b_iodone == lfs_callback)
    -
    -# ifdef DEBUG
    -#  define LFS_DEBUG_COUNTLOCKED(m) do {					\
    -	if (lfs_debug_log_subsys[DLOG_LLIST]) {				\
    -		lfs_countlocked(&locked_queue_count, &locked_queue_bytes, (m)); \
    -		cv_broadcast(&locked_queue_cv);				\
    -	}								\
    -} while (0)
    -# else
    -#  define LFS_DEBUG_COUNTLOCKED(m)
    -# endif
    -
    -/* log for debugging writes to the Ifile */
    -# ifdef DEBUG
    -struct lfs_log_entry {
    -	const char *op;
    -	const char *file;
    -	int pid;
    -	int line;
    -	daddr_t block;
    -	unsigned long flags;
    -};
    -extern int lfs_lognum;
    -extern struct lfs_log_entry lfs_log[LFS_LOGLENGTH];
    -#  define LFS_BWRITE_LOG(bp) lfs_bwrite_log((bp), __FILE__, __LINE__)
    -#  define LFS_ENTER_LOG(theop, thefile, theline, lbn, theflags, thepid) do {\
    -	int _s;								\
    -									\
    -	mutex_enter(&lfs_lock);						\
    -	_s = splbio();							\
    -	lfs_log[lfs_lognum].op = theop;					\
    -	lfs_log[lfs_lognum].file = thefile;				\
    -	lfs_log[lfs_lognum].line = (theline);				\
    -	lfs_log[lfs_lognum].pid = (thepid);				\
    -	lfs_log[lfs_lognum].block = (lbn);				\
    -	lfs_log[lfs_lognum].flags = (theflags);				\
    -	lfs_lognum = (lfs_lognum + 1) % LFS_LOGLENGTH;			\
    -	splx(_s);							\
    -	mutex_exit(&lfs_lock);						\
    -} while (0)
    -
    -#  define LFS_BCLEAN_LOG(fs, bp) do {					\
    -	if ((bp)->b_vp == (fs)->lfs_ivnode)				\
    -		LFS_ENTER_LOG("clear", __FILE__, __LINE__,		\
    -			      bp->b_lblkno, bp->b_flags, curproc->p_pid);\
    -} while (0)
    -
    -/* Must match list in lfs_vfsops.c ! */
    -#  define DLOG_RF     0  /* roll forward */
    -#  define DLOG_ALLOC  1  /* inode alloc */
    -#  define DLOG_AVAIL  2  /* lfs_{,r,f}avail */
    -#  define DLOG_FLUSH  3  /* flush */
    -#  define DLOG_LLIST  4  /* locked list accounting */
    -#  define DLOG_WVNODE 5  /* vflush/writevnodes verbose */
    -#  define DLOG_VNODE  6  /* vflush/writevnodes */
    -#  define DLOG_SEG    7  /* segwrite */
    -#  define DLOG_SU     8  /* seguse accounting */
    -#  define DLOG_CLEAN  9  /* cleaner routines */
    -#  define DLOG_MOUNT  10 /* mount/unmount */
    -#  define DLOG_PAGE   11 /* putpages/gop_write */
    -#  define DLOG_DIROP  12 /* dirop accounting */
    -#  define DLOG_MALLOC 13 /* lfs_malloc accounting */
    -#  define DLOG_MAX    14 /* The terminator */
    -#  define DLOG(a) lfs_debug_log a
    -# else /* ! DEBUG */
    -#  define LFS_BCLEAN_LOG(fs, bp)
    -#  define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp)->b_vp, (bp))
    -#  define DLOG(a)
    -# endif /* ! DEBUG */
    -#else /* ! _KERNEL */
    -# define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp))
    -#endif /* _KERNEL */
    -
    -#ifdef _KERNEL
    -/* Filehandle structure for exported LFSes */
    -struct lfid {
    -	struct ufid lfid_ufid;
    -#define lfid_len lfid_ufid.ufid_len
    -#define lfid_ino lfid_ufid.ufid_ino
    -#define lfid_gen lfid_ufid.ufid_gen
    -	uint32_t lfid_ident;
    -};
    -#endif /* _KERNEL */
    -
     /*
      * "struct inode" associated definitions
      */
     
    -/* Address calculations for metadata located in the inode */
    -#define	S_INDIR(fs)	-NDADDR
    -#define	D_INDIR(fs)	(S_INDIR(fs) - NINDIR(fs) - 1)
    -#define	T_INDIR(fs)	(D_INDIR(fs) - NINDIR(fs) * NINDIR(fs) - 1)
    -
     /* For convenience */
     #define IN_ALLMOD (IN_MODIFIED|IN_ACCESS|IN_CHANGE|IN_UPDATE|IN_MODIFY|IN_ACCESSED|IN_CLEANING)
     
    @@ -337,20 +501,6 @@ struct lfid {
     	while ((ip)->i_flag & (IN_ACCESS | IN_CHANGE | IN_UPDATE | IN_MODIFY)) \
     		lfs_itimes(ip, acc, mod, cre)
     
    -/*
    - * "struct vnode" associated definitions
    - */
    -
    -/* Heuristic emptiness measure */
    -#define VPISEMPTY(vp)	 (LIST_EMPTY(&(vp)->v_dirtyblkhd) && 		\
    -			  !(vp->v_type == VREG && (vp)->v_iflag & VI_ONWORKLST) &&\
    -			  VTOI(vp)->i_lfs_nbtree == 0)
    -
    -#define WRITEINPROG(vp) ((vp)->v_numoutput > 0 ||			\
    -	(!LIST_EMPTY(&(vp)->v_dirtyblkhd) &&				\
    -	 !(VTOI(vp)->i_flag & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING))))
    -
    -
     /*
      * On-disk and in-memory checkpoint segment usage structure.
      */
    @@ -592,6 +742,7 @@ struct segsum_v1 {
     #define	SS_CONT		0x02		/* more partials to finish this write*/
     #define	SS_CLEAN	0x04		/* written by the cleaner */
     #define	SS_RFW		0x08		/* written by the roll-forward agent */
    +#define	SS_RECLAIM	0x10		/* written by the roll-forward agent */
     	u_int16_t ss_flags;		/* 24: used for directory operations */
     	u_int16_t ss_pad;		/* 26: extra space */
     	/* FINFO's and inode daddr's... */
    @@ -608,7 +759,8 @@ struct segsum {
     	u_int16_t ss_nfinfo;		/* 20: number of file info structures */
     	u_int16_t ss_ninos;		/* 22: number of inodes in summary */
     	u_int16_t ss_flags;		/* 24: used for directory operations */
    -	u_int8_t  ss_pad[6];		/* 26: extra space */
    +	u_int8_t  ss_pad[2];		/* 26: extra space */
    +	u_int32_t ss_reclino;           /* 28: inode being reclaimed */
     	u_int64_t ss_serial;		/* 32: serial number */
     	u_int64_t ss_create;		/* 40: time stamp */
     	/* FINFO's and inode daddr's... */
    @@ -697,7 +849,7 @@ struct dlfs {
     	u_int32_t dlfs_inodefmt;  /* 360: inode format version */
     	u_int32_t dlfs_interleave; /* 364: segment interleave */
     	u_int32_t dlfs_ident;	  /* 368: per-fs identifier */
    -	u_int32_t dlfs_fsbtodb;	  /* 372: fsbtodb abd dbtodsb shift constant */
    +	u_int32_t dlfs_fsbtodb;	  /* 372: fsbtodb and dbtodsb shift constant */
     	u_int32_t dlfs_resvseg;   /* 376: segments reserved for the cleaner */
     	int8_t	  dlfs_pad[128];  /* 380: round to 512 bytes */
     /* Checksum -- last valid disk field. */
    @@ -819,7 +971,7 @@ struct lfs {
     	int	  lfs_nadirop;		/* number of active dirop nodes */
     	long	  lfs_ravail;		/* blocks pre-reserved for writing */
     	long	  lfs_favail;		/* blocks pre-reserved for writing */
    -	res_t *lfs_resblk;		/* Reserved memory for pageout */
    +	struct lfs_res_blk *lfs_resblk;	/* Reserved memory for pageout */
     	TAILQ_HEAD(, inode) lfs_dchainhd; /* dirop vnodes */
     	TAILQ_HEAD(, inode) lfs_pchainhd; /* paging vnodes */
     #define LFS_RESHASH_WIDTH 17
    @@ -840,68 +992,88 @@ struct lfs {
     	int lfs_nowrap;			/* Suspend log wrap */
     	int lfs_wrappass;		/* Allow first log wrap requester to pass */
     	int lfs_wrapstatus;		/* Wrap status */
    +	int lfs_reclino;		/* Inode being reclaimed */
    +	int lfs_startseg;               /* Segment we started writing at */
     	LIST_HEAD(, segdelta) lfs_segdhd;	/* List of pending trunc accounting events */
    +
    +#ifdef _KERNEL
    +	/* ULFS-level information */
    +	u_int32_t um_flags;			/* ULFS flags (below) */
    +	u_long	um_nindir;			/* indirect ptrs per block */
    +	u_long	um_lognindir;			/* log2 of um_nindir */
    +	u_long	um_bptrtodb;			/* indir ptr to disk block */
    +	u_long	um_seqinc;			/* inc between seq blocks */
    +	int um_maxsymlinklen;
    +	int um_dirblksiz;
    +	u_int64_t um_maxfilesize;
    +
    +	/* Stuff used by quota2 code, not currently operable */
    +	unsigned lfs_use_quota2 : 1;
    +	uint32_t lfs_quota_magic;
    +	uint8_t lfs_quota_flags;
    +	uint64_t lfs_quotaino[2];
    +#endif
     };
     
    -/* NINDIR is the number of indirects in a file system block. */
    -#define	NINDIR(fs)	((fs)->lfs_nindir)
    +/* LFS_NINDIR is the number of indirects in a file system block. */
    +#define	LFS_NINDIR(fs)	((fs)->lfs_nindir)
     
    -/* INOPB is the number of inodes in a secondary storage block. */
    -#define	INOPB(fs)	((fs)->lfs_inopb)
    -/* INOPF is the number of inodes in a fragment. */
    -#define INOPF(fs)	((fs)->lfs_inopf)
    +/* LFS_INOPB is the number of inodes in a secondary storage block. */
    +#define	LFS_INOPB(fs)	((fs)->lfs_inopb)
    +/* LFS_INOPF is the number of inodes in a fragment. */
    +#define LFS_INOPF(fs)	((fs)->lfs_inopf)
     
    -#define	blksize(fs, ip, lbn) \
    -	(((lbn) >= NDADDR || (ip)->i_ffs1_size >= ((lbn) + 1) << (fs)->lfs_bshift) \
    +#define	lfs_blksize(fs, ip, lbn) \
    +	(((lbn) >= ULFS_NDADDR || (ip)->i_ffs1_size >= ((lbn) + 1) << (fs)->lfs_bshift) \
     	    ? (fs)->lfs_bsize \
    -	    : (fragroundup(fs, blkoff(fs, (ip)->i_ffs1_size))))
    -#define	blkoff(fs, loc)		((int)((loc) & (fs)->lfs_bmask))
    -#define fragoff(fs, loc)    /* calculates (loc % fs->lfs_fsize) */ \
    +	    : (lfs_fragroundup(fs, lfs_blkoff(fs, (ip)->i_ffs1_size))))
    +#define	lfs_blkoff(fs, loc)	((int)((loc) & (fs)->lfs_bmask))
    +#define lfs_fragoff(fs, loc)    /* calculates (loc % fs->lfs_fsize) */ \
         ((int)((loc) & (fs)->lfs_ffmask))
     
    -#if defined (_KERNEL)
    -#define	fsbtodb(fs, b)		((b) << ((fs)->lfs_ffshift - DEV_BSHIFT))
    -#define	dbtofsb(fs, b)		((b) >> ((fs)->lfs_ffshift - DEV_BSHIFT))
    +#if defined(_KERNEL)
    +#define	LFS_FSBTODB(fs, b)	((b) << ((fs)->lfs_ffshift - DEV_BSHIFT))
    +#define	LFS_DBTOFSB(fs, b)	((b) >> ((fs)->lfs_ffshift - DEV_BSHIFT))
     #else
    -#define	fsbtodb(fs, b)		((b) << (fs)->lfs_fsbtodb)
    -#define	dbtofsb(fs, b)		((b) >> (fs)->lfs_fsbtodb)
    +#define	LFS_FSBTODB(fs, b)	((b) << (fs)->lfs_fsbtodb)
    +#define	LFS_DBTOFSB(fs, b)	((b) >> (fs)->lfs_fsbtodb)
     #endif
     
    -#define	lblkno(fs, loc)		((loc) >> (fs)->lfs_bshift)
    -#define	lblktosize(fs, blk)	((blk) << (fs)->lfs_bshift)
    +#define	lfs_lblkno(fs, loc)	((loc) >> (fs)->lfs_bshift)
    +#define	lfs_lblktosize(fs, blk)	((blk) << (fs)->lfs_bshift)
     
    -#define fsbtob(fs, b)		((b) << (fs)->lfs_ffshift)
    -#define btofsb(fs, b)		((b) >> (fs)->lfs_ffshift)
    +#define lfs_fsbtob(fs, b)	((b) << (fs)->lfs_ffshift)
    +#define lfs_btofsb(fs, b)	((b) >> (fs)->lfs_ffshift)
     
    -#define numfrags(fs, loc)	/* calculates (loc / fs->lfs_fsize) */	\
    +#define lfs_numfrags(fs, loc)	/* calculates (loc / fs->lfs_fsize) */	\
     	((loc) >> (fs)->lfs_ffshift)
    -#define blkroundup(fs, size)	/* calculates roundup(size, fs->lfs_bsize) */ \
    +#define lfs_blkroundup(fs, size)/* calculates roundup(size, fs->lfs_bsize) */ \
     	((off_t)(((size) + (fs)->lfs_bmask) & (~(fs)->lfs_bmask)))
    -#define fragroundup(fs, size)	/* calculates roundup(size, fs->lfs_fsize) */ \
    +#define lfs_fragroundup(fs, size)/* calculates roundup(size, fs->lfs_fsize) */ \
     	((off_t)(((size) + (fs)->lfs_ffmask) & (~(fs)->lfs_ffmask)))
    -#define fragstoblks(fs, frags)/* calculates (frags / fs->fs_frag) */ \
    +#define lfs_fragstoblks(fs, frags)/* calculates (frags / fs->fs_frag) */ \
     	((frags) >> (fs)->lfs_fbshift)
    -#define blkstofrags(fs, blks)	/* calculates (blks * fs->fs_frag) */ \
    +#define lfs_blkstofrags(fs, blks)/* calculates (blks * fs->fs_frag) */ \
     	((blks) << (fs)->lfs_fbshift)
    -#define fragnum(fs, fsb)	/* calculates (fsb % fs->lfs_frag) */	\
    +#define lfs_fragnum(fs, fsb)	/* calculates (fsb % fs->lfs_frag) */	\
     	((fsb) & ((fs)->lfs_frag - 1))
    -#define blknum(fs, fsb)		/* calculates rounddown(fsb, fs->lfs_frag) */ \
    +#define lfs_blknum(fs, fsb)	/* calculates rounddown(fsb, fs->lfs_frag) */ \
     	((fsb) &~ ((fs)->lfs_frag - 1))
    -#define dblksize(fs, dp, lbn) \
    -	(((lbn) >= NDADDR || (dp)->di_size >= ((lbn) + 1) << (fs)->lfs_bshift)\
    +#define lfs_dblksize(fs, dp, lbn) \
    +	(((lbn) >= ULFS_NDADDR || (dp)->di_size >= ((lbn) + 1) << (fs)->lfs_bshift)\
     	    ? (fs)->lfs_bsize \
    -	    : (fragroundup(fs, blkoff(fs, (dp)->di_size))))
    +	    : (lfs_fragroundup(fs, lfs_blkoff(fs, (dp)->di_size))))
     
    -#define	segsize(fs)	((fs)->lfs_version == 1 ?	     		\
    -			   lblktosize((fs), (fs)->lfs_ssize) :		\
    +#define	lfs_segsize(fs)	((fs)->lfs_version == 1 ?	     		\
    +			   lfs_lblktosize((fs), (fs)->lfs_ssize) :	\
     			   (fs)->lfs_ssize)
    -#define segtod(fs, seg) (((fs)->lfs_version == 1     ?	     		\
    +#define lfs_segtod(fs, seg) (((fs)->lfs_version == 1     ?	    	\
     			   (fs)->lfs_ssize << (fs)->lfs_blktodb :	\
    -			   btofsb((fs), (fs)->lfs_ssize)) * (seg))
    -#define	dtosn(fs, daddr)	/* block address to segment number */	\
    -	((uint32_t)(((daddr) - (fs)->lfs_start) / segtod((fs), 1)))
    -#define sntod(fs, sn)		/* segment number to disk address */	\
    -	((daddr_t)(segtod((fs), (sn)) + (fs)->lfs_start))
    +			   lfs_btofsb((fs), (fs)->lfs_ssize)) * (seg))
    +#define	lfs_dtosn(fs, daddr)	/* block address to segment number */	\
    +	((uint32_t)(((daddr) - (fs)->lfs_start) / lfs_segtod((fs), 1)))
    +#define lfs_sntod(fs, sn)	/* segment number to disk address */	\
    +	((daddr_t)(lfs_segtod((fs), (sn)) + (fs)->lfs_start))
     
     /*
      * Structures used by lfs_bmapv and lfs_markv to communicate information
    @@ -935,7 +1107,7 @@ struct segment {
     	struct buf	**cbpp;		/* pointer to next available bp */
     	struct buf	**start_bpp;	/* pointer to first bp in this set */
     	struct buf	 *ibp;		/* buffer pointer to inode page */
    -	struct ufs1_dinode    *idp;          /* pointer to ifile dinode */
    +	struct ulfs1_dinode    *idp;          /* pointer to ifile dinode */
     	struct finfo	 *fip;		/* current fileinfo pointer */
     	struct vnode	 *vp;		/* vnode being gathered */
     	void	 *segsum;		/* segment summary info */
    @@ -945,82 +1117,44 @@ struct segment {
     	u_int32_t seg_number;		/* number of this segment */
     	int32_t *start_lbp;		/* beginning lbn for this set */
     
    -#define	SEGM_CKP	0x01		/* doing a checkpoint */
    -#define	SEGM_CLEAN	0x02		/* cleaner call; don't sort */
    -#define	SEGM_SYNC	0x04		/* wait for segment */
    -#define	SEGM_PROT	0x08		/* don't inactivate at segunlock */
    -#define SEGM_PAGEDAEMON	0x10		/* pagedaemon called us */
    -#define SEGM_WRITERD	0x20		/* LFS writed called us */
    -#define SEGM_FORCE_CKP	0x40		/* Force checkpoint right away */
    +#define SEGM_CKP	0x0001		/* doing a checkpoint */
    +#define SEGM_CLEAN	0x0002		/* cleaner call; don't sort */
    +#define SEGM_SYNC	0x0004		/* wait for segment */
    +#define SEGM_PROT	0x0008		/* don't inactivate at segunlock */
    +#define SEGM_PAGEDAEMON	0x0010		/* pagedaemon called us */
    +#define SEGM_WRITERD	0x0020		/* LFS writed called us */
    +#define SEGM_FORCE_CKP	0x0040		/* Force checkpoint right away */
    +#define SEGM_RECLAIM	0x0080		/* Writing to reclaim vnode */
    +#define SEGM_SINGLE	0x0100		/* Opportunistic writevnodes */
     	u_int16_t seg_flags;		/* run-time flags for this segment */
     	u_int32_t seg_iocount;		/* number of ios pending */
     	int	  ndupino;		/* number of duplicate inodes */
     };
     
    -#ifdef _KERNEL
    -struct lfs_cluster {
    -	size_t bufsize;	       /* Size of kept data */
    -	struct buf **bpp;      /* Array of kept buffers */
    -	int bufcount;	       /* Number of kept buffers */
    -#define LFS_CL_MALLOC	0x00000001
    -#define LFS_CL_SHIFT	0x00000002
    -#define LFS_CL_SYNC	0x00000004
    -	u_int32_t flags;       /* Flags */
    -	struct lfs *fs;	       /* LFS that this belongs to */
    -	struct segment *seg;   /* Segment structure, for LFS_CL_SYNC */
    -};
    -
    -/*
    - * Splay tree containing block numbers allocated through lfs_balloc.
    - */
    -struct lbnentry {
    -	SPLAY_ENTRY(lbnentry) entry;
    -	daddr_t lbn;
    -};
    -#endif /* _KERNEL */
    -
    -/*
    - * LFS inode extensions.
    - */
    -struct lfs_inode_ext {
    -	off_t	  lfs_osize;		/* size of file on disk */
    -	u_int32_t lfs_effnblocks;  /* number of blocks when i/o completes */
    -	size_t	  lfs_fragsize[NDADDR]; /* size of on-disk direct blocks */
    -	TAILQ_ENTRY(inode) lfs_dchain;  /* Dirop chain. */
    -	TAILQ_ENTRY(inode) lfs_pchain;  /* Paging chain. */
    -#define LFSI_NO_GOP_WRITE 0x01
    -#define LFSI_DELETED      0x02
    -#define LFSI_WRAPBLOCK    0x04
    -#define LFSI_WRAPWAIT     0x08
    -	u_int32_t lfs_iflags;           /* Inode flags */
    -	daddr_t   lfs_hiblk;		/* Highest lbn held by inode */
    -#ifdef _KERNEL
    -	SPLAY_HEAD(lfs_splay, lbnentry) lfs_lbtree; /* Tree of balloc'd lbns */
    -	int	  lfs_nbtree;		/* Size of tree */
    -	LIST_HEAD(, segdelta) lfs_segdhd;
    -#endif
    -	int16_t	  lfs_odnlink;		/* on-disk nlink count for cleaner */
    -};
    -#define i_lfs_osize		inode_ext.lfs->lfs_osize
    -#define i_lfs_effnblks		inode_ext.lfs->lfs_effnblocks
    -#define i_lfs_fragsize		inode_ext.lfs->lfs_fragsize
    -#define i_lfs_dchain		inode_ext.lfs->lfs_dchain
    -#define i_lfs_pchain		inode_ext.lfs->lfs_pchain
    -#define i_lfs_iflags		inode_ext.lfs->lfs_iflags
    -#define i_lfs_hiblk		inode_ext.lfs->lfs_hiblk
    -#define i_lfs_lbtree		inode_ext.lfs->lfs_lbtree
    -#define i_lfs_nbtree		inode_ext.lfs->lfs_nbtree
    -#define i_lfs_segdhd		inode_ext.lfs->lfs_segdhd
    -#define i_lfs_odnlink		inode_ext.lfs->lfs_odnlink
    -
     /*
      * Macros for determining free space on the disk, with the variable metadata
      * of segment summaries and inode blocks taken into account.
      */
    -/* Estimate number of clean blocks not available for writing */
    -#define LFS_EST_CMETA(F) (int32_t)((((F)->lfs_dmeta *			     \
    -				     (int64_t)(F)->lfs_nclean) /	     \
    -				      ((F)->lfs_nseg - (F)->lfs_nclean)))
    +/*
    + * Estimate number of clean blocks not available for writing because
    + * they will contain metadata or overhead.  This is calculated as
    + *
    + *		E = ((C * M / D) * D + (0) * (T - D)) / T
    + * or more simply
    + *		E = (C * M) / T
    + *
    + * where
    + * C is the clean space,
    + * D is the dirty space,
    + * M is the dirty metadata, and
    + * T = C + D is the total space on disk.
    + *
    + * This approximates the old formula of E = C * M / D when D is close to T,
    + * but avoids falsely reporting "disk full" when the sample size (D) is small.
    + */
    +#define LFS_EST_CMETA(F) (int32_t)((					\
    +	((F)->lfs_dmeta * (int64_t)(F)->lfs_nclean) / 			\
    +	((F)->lfs_nseg)))
     
     /* Estimate total size of the disk not including metadata */
     #define LFS_EST_NONMETA(F) ((F)->lfs_dsize - (F)->lfs_dmeta - LFS_EST_CMETA(F))
    @@ -1046,10 +1180,10 @@ struct lfs_inode_ext {
     
     /*
      * The minimum number of blocks to create a new inode.  This is:
    - * directory direct block (1) + NIADDR indirect blocks + inode block (1) +
    - * ifile direct block (1) + NIADDR indirect blocks = 3 + 2 * NIADDR blocks.
    + * directory direct block (1) + ULFS_NIADDR indirect blocks + inode block (1) +
    + * ifile direct block (1) + ULFS_NIADDR indirect blocks = 3 + 2 * ULFS_NIADDR blocks.
      */
    -#define LFS_NRESERVE(F) (btofsb((F), (2 * NIADDR + 3) << (F)->lfs_bshift))
    +#define LFS_NRESERVE(F) (lfs_btofsb((F), (2 * ULFS_NIADDR + 3) << (F)->lfs_bshift))
     
     /* Statistics Counters */
     struct lfs_stats {	/* Must match sysctl list in lfs_vfsops.h ! */
    @@ -1070,9 +1204,6 @@ struct lfs_stats {	/* Must match sysctl list in lfs_vfsops.h ! */
     	u_int	clean_vnlocked;
     	u_int   segs_reclaimed;
     };
    -#ifdef _KERNEL
    -extern struct lfs_stats lfs_stats;
    -#endif
     
     /* Fcntls to take the place of the lfs syscalls */
     struct lfs_fcntl_markv {
    @@ -1100,31 +1231,6 @@ struct lfs_fhandle {
     # define LFS_WRAP_WAITING 0x1
     #define LFCNWRAPSTATUS	 _FCNW_FSPRIV('L', 13, int)
     
    -/*
    - * Compat.  Defined for kernel only.  Userland always uses
    - * "the one true version".
    - */
    -#ifdef _KERNEL
    -#include 
    -
    -#define LFCNSEGWAITALL_COMPAT	 _FCNW_FSPRIV('L', 0, struct timeval50)
    -#define LFCNSEGWAIT_COMPAT	 _FCNW_FSPRIV('L', 1, struct timeval50)
    -#define LFCNIFILEFH_COMPAT	 _FCNW_FSPRIV('L', 5, struct lfs_fhandle)
    -#define LFCNIFILEFH_COMPAT2	 _FCN_FSPRIV(F_FSOUT, 'L', 11, 32)
    -#define LFCNWRAPSTOP_COMPAT	 _FCNO_FSPRIV('L', 9)
    -#define LFCNWRAPGO_COMPAT	 _FCNO_FSPRIV('L', 10)
    -#define LFCNSEGWAITALL_COMPAT_50 _FCNR_FSPRIV('L', 0, struct timeval50)
    -#define LFCNSEGWAIT_COMPAT_50	 _FCNR_FSPRIV('L', 1, struct timeval50)
    -#endif
    -
    -#ifdef _KERNEL
    -/* XXX MP */
    -#define	LFS_SEGLOCK_HELD(fs) \
    -	((fs)->lfs_seglock != 0 &&					\
    -	 (fs)->lfs_lockpid == curproc->p_pid &&				\
    -	 (fs)->lfs_locklwp == curlwp->l_lid)
    -#endif /* _KERNEL */
    -
     /* Debug segment lock */
     #ifdef notyet
     # define ASSERT_SEGLOCK(fs) KASSERT(LFS_SEGLOCK_HELD(fs))
    @@ -1148,6 +1254,13 @@ struct lfs_fhandle {
     # define ASSERT_MAYBE_SEGLOCK(x)
     #endif /* !notyet */
     
    +/*
    + * Arguments to mount LFS filesystems
    + */
    +struct ulfs_args {
    +	char	*fspec;			/* block special device to mount */
    +};
    +
     __BEGIN_DECLS
     void lfs_itimes(struct inode *, const struct timespec *,
         const struct timespec *, const struct timespec *);
    diff --git a/sys/ufs/lfs/lfs_alloc.c b/sys/ufs/lfs/lfs_alloc.c
    index 8d2baa01d..07180d596 100644
    --- a/sys/ufs/lfs/lfs_alloc.c
    +++ b/sys/ufs/lfs/lfs_alloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_alloc.c,v 1.111 2011/06/12 03:36:01 rmind Exp $	*/
    +/*	$NetBSD: lfs_alloc.c,v 1.119 2013/07/28 01:25:05 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003, 2007 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_alloc.c,v 1.111 2011/06/12 03:36:01 rmind Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_alloc.c,v 1.119 2013/07/28 01:25:05 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_quota.h"
    @@ -80,13 +80,14 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_alloc.c,v 1.111 2011/06/12 03:36:01 rmind Exp $"
     #include 
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    +#include 
     
     /* Constants for inode free bitmap */
     #define BMSHIFT 5	/* 2 ** 5 = 32 */
    @@ -126,7 +127,7 @@ lfs_extend_ifile(struct lfs *fs, kauth_cred_t cred)
     
     	vp = fs->lfs_ivnode;
     	ip = VTOI(vp);
    -	blkno = lblkno(fs, ip->i_size);
    +	blkno = lfs_lblkno(fs, ip->i_size);
     	if ((error = lfs_balloc(vp, ip->i_size, fs->lfs_bsize, cred, 0,
     				&bp)) != 0) {
     		return (error);
    @@ -207,7 +208,6 @@ lfs_valloc(struct vnode *pvp, int mode, kauth_cred_t cred,
     	ASSERT_NO_SEGLOCK(fs);
     
     	lfs_seglock(fs, SEGM_PROT);
    -	vn_lock(fs->lfs_ivnode, LK_EXCLUSIVE);
     
     	/* Get the head of the freelist. */
     	LFS_GET_HEADFREE(fs, cip, cbp, &new_ino);
    @@ -236,7 +236,6 @@ lfs_valloc(struct vnode *pvp, int mode, kauth_cred_t cred,
     	if (fs->lfs_freehd == LFS_UNUSED_INUM) {
     		if ((error = lfs_extend_ifile(fs, cred)) != 0) {
     			LFS_PUT_HEADFREE(fs, cip, cbp, new_ino);
    -			VOP_UNLOCK(fs->lfs_ivnode);
     			lfs_segunlock(fs);
     			return error;
     		}
    @@ -252,7 +251,6 @@ lfs_valloc(struct vnode *pvp, int mode, kauth_cred_t cred,
     	mutex_exit(&lfs_lock);
     	++fs->lfs_nfiles;
     
    -	VOP_UNLOCK(fs->lfs_ivnode);
     	lfs_segunlock(fs);
     
     	return lfs_ialloc(fs, pvp, new_ino, new_gen, vpp);
    @@ -271,7 +269,7 @@ lfs_ialloc(struct lfs *fs, struct vnode *pvp, ino_t new_ino, int new_gen,
     	ASSERT_NO_SEGLOCK(fs);
     
     	vp = *vpp;
    -	mutex_enter(&ufs_hashlock);
    +	mutex_enter(&ulfs_hashlock);
     	/* Create an inode to associate with the vnode. */
     	lfs_vcreate(pvp->v_mount, new_ino, vp);
     
    @@ -292,14 +290,14 @@ lfs_ialloc(struct lfs *fs, struct vnode *pvp, ino_t new_ino, int new_gen,
     	}
     
     	/* Insert into the inode hash table. */
    -	ufs_ihashins(ip);
    -	mutex_exit(&ufs_hashlock);
    +	ulfs_ihashins(ip);
    +	mutex_exit(&ulfs_hashlock);
     
    -	ufs_vinit(vp->v_mount, lfs_specop_p, lfs_fifoop_p, vpp);
    +	ulfs_vinit(vp->v_mount, lfs_specop_p, lfs_fifoop_p, vpp);
     	vp = *vpp;
     	ip = VTOI(vp);
     
    -	memset(ip->i_lfs_fragsize, 0, NDADDR * sizeof(*ip->i_lfs_fragsize));
    +	memset(ip->i_lfs_fragsize, 0, ULFS_NDADDR * sizeof(*ip->i_lfs_fragsize));
     
     	uvm_vnp_setsize(vp, 0);
     	lfs_mark_vnode(vp);
    @@ -313,11 +311,11 @@ void
     lfs_vcreate(struct mount *mp, ino_t ino, struct vnode *vp)
     {
     	struct inode *ip;
    -	struct ufs1_dinode *dp;
    -	struct ufsmount *ump;
    +	struct ulfs1_dinode *dp;
    +	struct ulfsmount *ump;
     
     	/* Get a pointer to the private mount structure. */
    -	ump = VFSTOUFS(mp);
    +	ump = VFSTOULFS(mp);
     
     	ASSERT_NO_SEGLOCK(ump->um_lfs);
     
    @@ -340,8 +338,8 @@ lfs_vcreate(struct mount *mp, ino_t ino, struct vnode *vp)
     	SPLAY_INIT(&ip->i_lfs_lbtree);
     	ip->i_lfs_nbtree = 0;
     	LIST_INIT(&ip->i_lfs_segdhd);
    -#ifdef QUOTA
    -	ufsquota_init(ip);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	ulfsquota_init(ip);
     #endif
     }
     
    @@ -440,7 +438,6 @@ lfs_vfree(struct vnode *vp, ino_t ino, int mode)
     	mutex_exit(vp->v_interlock);
     
     	lfs_seglock(fs, SEGM_PROT);
    -	vn_lock(fs->lfs_ivnode, LK_EXCLUSIVE);
     
     	lfs_unmark_vnode(vp);
     	mutex_enter(&lfs_lock);
    @@ -553,20 +550,20 @@ lfs_vfree(struct vnode *vp, ino_t ino, int mode)
     	}
     #endif /* DIAGNOSTIC */
     	if (old_iaddr != LFS_UNUSED_DADDR) {
    -		LFS_SEGENTRY(sup, fs, dtosn(fs, old_iaddr), bp);
    +		LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, old_iaddr), bp);
     #ifdef DIAGNOSTIC
    -		if (sup->su_nbytes < sizeof (struct ufs1_dinode)) {
    +		if (sup->su_nbytes < sizeof (struct ulfs1_dinode)) {
     			printf("lfs_vfree: negative byte count"
     			       " (segment %" PRIu32 " short by %d)\n",
    -			       dtosn(fs, old_iaddr),
    -			       (int)sizeof (struct ufs1_dinode) -
    +			       lfs_dtosn(fs, old_iaddr),
    +			       (int)sizeof (struct ulfs1_dinode) -
     				    sup->su_nbytes);
     			panic("lfs_vfree: negative byte count");
    -			sup->su_nbytes = sizeof (struct ufs1_dinode);
    +			sup->su_nbytes = sizeof (struct ulfs1_dinode);
     		}
     #endif
    -		sup->su_nbytes -= sizeof (struct ufs1_dinode);
    -		LFS_WRITESEGENTRY(sup, fs, dtosn(fs, old_iaddr), bp); /* Ifile */
    +		sup->su_nbytes -= sizeof (struct ulfs1_dinode);
    +		LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, old_iaddr), bp); /* Ifile */
     	}
     
     	/* Set superblock modified bit and decrement file count. */
    @@ -575,7 +572,6 @@ lfs_vfree(struct vnode *vp, ino_t ino, int mode)
     	mutex_exit(&lfs_lock);
     	--fs->lfs_nfiles;
     
    -	VOP_UNLOCK(fs->lfs_ivnode);
     	lfs_segunlock(fs);
     
     	return (0);
    @@ -623,10 +619,10 @@ lfs_order_freelist(struct lfs *fs)
     		    VFS_VGET(fs->lfs_ivnode->v_mount, ino, &vp) == 0) {
     			lfs_truncate(vp, 0, 0, NOCRED);
     			vput(vp);
    -			LFS_SEGENTRY(sup, fs, dtosn(fs, ifp->if_daddr), bp);
    +			LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, ifp->if_daddr), bp);
     			KASSERT(sup->su_nbytes >= DINODE1_SIZE);
     			sup->su_nbytes -= DINODE1_SIZE;
    -			LFS_WRITESEGENTRY(sup, fs, dtosn(fs, ifp->if_daddr), bp);
    +			LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, ifp->if_daddr), bp);
     
     			/* Set up to fall through to next section */
     			ifp->if_daddr = LFS_UNUSED_DADDR;
    diff --git a/sys/ufs/lfs/lfs_balloc.c b/sys/ufs/lfs/lfs_balloc.c
    index d46ba0570..27b028989 100644
    --- a/sys/ufs/lfs/lfs_balloc.c
    +++ b/sys/ufs/lfs/lfs_balloc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_balloc.c,v 1.70 2011/07/11 08:27:40 hannken Exp $	*/
    +/*	$NetBSD: lfs_balloc.c,v 1.80 2013/07/28 01:25:06 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_balloc.c,v 1.70 2011/07/11 08:27:40 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_balloc.c,v 1.80 2013/07/28 01:25:06 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_quota.h"
    @@ -79,13 +79,14 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_balloc.c,v 1.70 2011/07/11 08:27:40 hannken Exp
     
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    +#include 
     
     #include 
     
    @@ -99,14 +100,14 @@ u_int64_t locked_fakequeue_count;
      * this block to be created.
      *
      * Blocks which have never been accounted for (i.e., which "do not exist")
    - * have disk address 0, which is translated by ufs_bmap to the special value
    - * UNASSIGNED == -1, as in the historical UFS.
    + * have disk address 0, which is translated by ulfs_bmap to the special value
    + * UNASSIGNED == -1, as in the historical ULFS.
      *
      * Blocks which have been accounted for but which have not yet been written
      * to disk are given the new special disk address UNWRITTEN == -2, so that
      * they can be differentiated from completely new blocks.
      */
    -/* VOP_BWRITE NIADDR+2 times */
    +/* VOP_BWRITE ULFS_NIADDR+2 times */
     int
     lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
         int flags, struct buf **bpp)
    @@ -116,16 +117,16 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     	struct buf *ibp, *bp;
     	struct inode *ip;
     	struct lfs *fs;
    -	struct indir indirs[NIADDR+2], *idp;
    +	struct indir indirs[ULFS_NIADDR+2], *idp;
     	daddr_t	lbn, lastblock;
     	int bcount;
     	int error, frags, i, nsize, osize, num;
     
     	ip = VTOI(vp);
     	fs = ip->i_lfs;
    -	offset = blkoff(fs, startoffset);
    +	offset = lfs_blkoff(fs, startoffset);
     	KASSERT(iosize <= fs->lfs_bsize);
    -	lbn = lblkno(fs, startoffset);
    +	lbn = lfs_lblkno(fs, startoffset);
     	/* (void)lfs_check(vp, lbn, 0); */
     
     	ASSERT_MAYBE_SEGLOCK(fs);
    @@ -150,9 +151,9 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     		*bpp = NULL;
     
     	/* Check for block beyond end of file and fragment extension needed. */
    -	lastblock = lblkno(fs, ip->i_size);
    -	if (lastblock < NDADDR && lastblock < lbn) {
    -		osize = blksize(fs, ip, lastblock);
    +	lastblock = lfs_lblkno(fs, ip->i_size);
    +	if (lastblock < ULFS_NDADDR && lastblock < lbn) {
    +		osize = lfs_blksize(fs, ip, lastblock);
     		if (osize < fs->lfs_bsize && osize > 0) {
     			if ((error = lfs_fragextend(vp, osize, fs->lfs_bsize,
     						    lastblock,
    @@ -175,12 +176,12 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     	 * size or it already exists and contains some fragments and
     	 * may need to extend it.
     	 */
    -	if (lbn < NDADDR && lblkno(fs, ip->i_size) <= lbn) {
    -		osize = blksize(fs, ip, lbn);
    -		nsize = fragroundup(fs, offset + iosize);
    -		if (lblktosize(fs, lbn) >= ip->i_size) {
    +	if (lbn < ULFS_NDADDR && lfs_lblkno(fs, ip->i_size) <= lbn) {
    +		osize = lfs_blksize(fs, ip, lbn);
    +		nsize = lfs_fragroundup(fs, offset + iosize);
    +		if (lfs_lblktosize(fs, lbn) >= ip->i_size) {
     			/* Brand new block or fragment */
    -			frags = numfrags(fs, nsize);
    +			frags = lfs_numfrags(fs, nsize);
     			if (!ISSPACE(fs, frags, cred))
     				return ENOSPC;
     			if (bpp) {
    @@ -213,7 +214,7 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     		return 0;
     	}
     
    -	error = ufs_bmaparray(vp, lbn, &daddr, &indirs[0], &num, NULL, NULL);
    +	error = ulfs_bmaparray(vp, lbn, &daddr, &indirs[0], &num, NULL, NULL);
     	if (error)
     		return (error);
     
    @@ -224,7 +225,7 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     	 * Do byte accounting all at once, so we can gracefully fail *before*
     	 * we start assigning blocks.
     	 */
    -	frags = VFSTOUFS(vp->v_mount)->um_seqinc;
    +	frags = fs->um_seqinc;
     	bcount = 0;
     	if (daddr == UNASSIGNED) {
     		bcount = frags;
    @@ -260,7 +261,7 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     					clrbuf(ibp);
     					ibp->b_blkno = UNWRITTEN;
     				} else if (!(ibp->b_oflags & (BO_DELWRI | BO_DONE))) {
    -					ibp->b_blkno = fsbtodb(fs, idaddr);
    +					ibp->b_blkno = LFS_FSBTODB(fs, idaddr);
     					ibp->b_flags |= B_READ;
     					VOP_STRATEGY(vp, ibp);
     					biowait(ibp);
    @@ -294,7 +295,7 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     	 * Get the existing block from the cache, if requested.
     	 */
     	if (bpp)
    -		*bpp = bp = getblk(vp, lbn, blksize(fs, ip, lbn), 0, 0);
    +		*bpp = bp = getblk(vp, lbn, lfs_blksize(fs, ip, lbn), 0, 0);
     
     	/*
     	 * Do accounting on blocks that represent pages.
    @@ -306,7 +307,7 @@ lfs_balloc(struct vnode *vp, off_t startoffset, int iosize, kauth_cred_t cred,
     	 * The block we are writing may be a brand new block
     	 * in which case we need to do accounting.
     	 *
    -	 * We can tell a truly new block because ufs_bmaparray will say
    +	 * We can tell a truly new block because ulfs_bmaparray will say
     	 * it is UNASSIGNED.  Once we allocate it we will assign it the
     	 * disk address UNWRITTEN.
     	 */
    @@ -380,7 +381,7 @@ lfs_fragextend(struct vnode *vp, int osize, int nsize, daddr_t lbn, struct buf *
     
     	ip = VTOI(vp);
     	fs = ip->i_lfs;
    -	frags = (long)numfrags(fs, nsize - osize);
    +	frags = (long)lfs_numfrags(fs, nsize - osize);
     	error = 0;
     
     	ASSERT_NO_SEGLOCK(fs);
    @@ -409,11 +410,10 @@ lfs_fragextend(struct vnode *vp, int osize, int nsize, daddr_t lbn, struct buf *
     	 * Don't bother to read in that case.
     	 */
     	if (bpp && (error = bread(vp, lbn, osize, NOCRED, 0, bpp))) {
    -		brelse(*bpp, 0);
     		goto out;
     	}
    -#ifdef QUOTA
    -	if ((error = chkdq(ip, frags, cred, 0))) {
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	if ((error = lfs_chkdq(ip, frags, cred, 0))) {
     		if (bpp)
     			brelse(*bpp, 0);
     		goto out;
    @@ -430,8 +430,8 @@ lfs_fragextend(struct vnode *vp, int osize, int nsize, daddr_t lbn, struct buf *
     		if (!lfs_fits(fs, frags)) {
     			if (bpp)
     				brelse(*bpp, 0);
    -#ifdef QUOTA
    -			chkdq(ip, -frags, cred, 0);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +			lfs_chkdq(ip, -frags, cred, 0);
     #endif
     			rw_exit(&fs->lfs_fraglock);
     			lfs_availwait(fs, frags);
    @@ -501,7 +501,7 @@ lfs_register_block(struct vnode *vp, daddr_t lbn)
     	ASSERT_NO_SEGLOCK(fs);
     
     	/* If no space, wait for the cleaner */
    -	lfs_availwait(fs, btofsb(fs, 1 << fs->lfs_bshift));
    +	lfs_availwait(fs, lfs_btofsb(fs, 1 << fs->lfs_bshift));
     
     	lbp = (struct lbnentry *)pool_get(&lfs_lbnentry_pool, PR_WAITOK);
     	lbp->lbn = lbn;
    @@ -514,7 +514,7 @@ lfs_register_block(struct vnode *vp, daddr_t lbn)
     	}
     
     	++ip->i_lfs_nbtree;
    -	fs->lfs_favail += btofsb(fs, (1 << fs->lfs_bshift));
    +	fs->lfs_favail += lfs_btofsb(fs, (1 << fs->lfs_bshift));
     	fs->lfs_pages += fs->lfs_bsize >> PAGE_SHIFT;
     	++locked_fakequeue_count;
     	lfs_subsys_pages += fs->lfs_bsize >> PAGE_SHIFT;
    @@ -529,8 +529,8 @@ lfs_do_deregister(struct lfs *fs, struct inode *ip, struct lbnentry *lbp)
     	mutex_enter(&lfs_lock);
     	--ip->i_lfs_nbtree;
     	SPLAY_REMOVE(lfs_splay, &ip->i_lfs_lbtree, lbp);
    -	if (fs->lfs_favail > btofsb(fs, (1 << fs->lfs_bshift)))
    -		fs->lfs_favail -= btofsb(fs, (1 << fs->lfs_bshift));
    +	if (fs->lfs_favail > lfs_btofsb(fs, (1 << fs->lfs_bshift)))
    +		fs->lfs_favail -= lfs_btofsb(fs, (1 << fs->lfs_bshift));
     	fs->lfs_pages -= fs->lfs_bsize >> PAGE_SHIFT;
     	if (locked_fakequeue_count > 0)
     		--locked_fakequeue_count;
    diff --git a/sys/ufs/lfs/lfs_bio.c b/sys/ufs/lfs/lfs_bio.c
    index fe3d4b52e..5abecfd42 100644
    --- a/sys/ufs/lfs/lfs_bio.c
    +++ b/sys/ufs/lfs/lfs_bio.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_bio.c,v 1.120 2011/07/11 08:27:40 hannken Exp $	*/
    +/*	$NetBSD: lfs_bio.c,v 1.128 2013/11/27 17:24:44 christos Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003, 2008 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_bio.c,v 1.120 2011/07/11 08:27:40 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_bio.c,v 1.128 2013/11/27 17:24:44 christos Exp $");
     
     #include 
     #include 
    @@ -72,12 +72,13 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_bio.c,v 1.120 2011/07/11 08:27:40 hannken Exp $"
     #include 
     #include 
     
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    +#include 
     
     #include 
     
    @@ -96,6 +97,7 @@ int	lfs_subsys_pages     = 0L;	/* Total number LFS-written pages */
     int	lfs_fs_pagetrip	     = 0;	/* # of pages to trip per-fs write */
     int	lfs_writing	     = 0;	/* Set if already kicked off a writer
     					   because of buffer space */
    +int	locked_queue_waiters = 0;	/* Number of processes waiting on lq */
     
     /* Lock and condition variables for above. */
     kcondvar_t	locked_queue_cv;
    @@ -150,18 +152,25 @@ static int
     lfs_reservebuf(struct lfs *fs, struct vnode *vp,
         struct vnode *vp2, int n, int bytes)
     {
    +	int cantwait;
    +
     	ASSERT_MAYBE_SEGLOCK(fs);
     	KASSERT(locked_queue_rcount >= 0);
     	KASSERT(locked_queue_rbytes >= 0);
     
    +	cantwait = (VTOI(vp)->i_flag & IN_ADIROP) || fs->lfs_unlockvp == vp;
     	mutex_enter(&lfs_lock);
    -	while (n > 0 && !lfs_fits_buf(fs, n, bytes)) {
    +	while (!cantwait && n > 0 && !lfs_fits_buf(fs, n, bytes)) {
     		int error;
     
     		lfs_flush(fs, 0, 0);
     
    +		DLOG((DLOG_AVAIL, "lfs_reservebuf: waiting: count=%d, bytes=%ld\n",
    +		      locked_queue_count, locked_queue_bytes));
    +		++locked_queue_waiters;
     		error = cv_timedwait_sig(&locked_queue_cv, &lfs_lock,
     		    hz * LFS_BUFWAIT);
    +		--locked_queue_waiters;
     		if (error && error != EWOULDBLOCK) {
     			mutex_exit(&lfs_lock);
     			return error;
    @@ -171,8 +180,11 @@ lfs_reservebuf(struct lfs *fs, struct vnode *vp,
     	locked_queue_rcount += n;
     	locked_queue_rbytes += bytes;
     
    -	if (n < 0)
    +	if (n < 0 && locked_queue_waiters > 0) {
    +		DLOG((DLOG_AVAIL, "lfs_reservebuf: broadcast: count=%d, bytes=%ld\n",
    +		      locked_queue_count, locked_queue_bytes));
     		cv_broadcast(&locked_queue_cv);
    +	}
     
     	mutex_exit(&lfs_lock);
     
    @@ -205,28 +217,15 @@ lfs_reserveavail(struct lfs *fs, struct vnode *vp,
     	CLEANERINFO *cip;
     	struct buf *bp;
     	int error, slept;
    +	int cantwait;
     
     	ASSERT_MAYBE_SEGLOCK(fs);
     	slept = 0;
     	mutex_enter(&lfs_lock);
    -	while (fsb > 0 && !lfs_fits(fs, fsb + fs->lfs_ravail + fs->lfs_favail)) {
    +	cantwait = (VTOI(vp)->i_flag & IN_ADIROP) || fs->lfs_unlockvp == vp;
    +	while (!cantwait && fsb > 0 &&
    +	       !lfs_fits(fs, fsb + fs->lfs_ravail + fs->lfs_favail)) {
     		mutex_exit(&lfs_lock);
    -#if 0
    -		/*
    -		 * XXX ideally, we should unlock vnodes here
    -		 * because we might sleep very long time.
    -		 */
    -		VOP_UNLOCK(vp);
    -		if (vp2 != NULL) {
    -			VOP_UNLOCK(vp2);
    -		}
    -#else
    -		/*
    -		 * XXX since we'll sleep for cleaner with vnode lock holding,
    -		 * deadlock will occur if cleaner tries to lock the vnode.
    -		 * (eg. lfs_markv -> lfs_fastvget -> getnewvnode -> vclean)
    -		 */
    -#endif
     
     		if (!slept) {
     			DLOG((DLOG_AVAIL, "lfs_reserve: waiting for %ld (bfree = %d,"
    @@ -248,10 +247,6 @@ lfs_reserveavail(struct lfs *fs, struct vnode *vp,
     
     		error = mtsleep(&fs->lfs_avail, PCATCH | PUSER, "lfs_reserve",
     				0, &lfs_lock);
    -#if 0
    -		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); /* XXX use lockstatus */
    -		vn_lock(vp2, LK_EXCLUSIVE | LK_RETRY); /* XXX use lockstatus */
    -#endif
     		if (error) {
     			mutex_exit(&lfs_lock);
     			return error;
    @@ -277,7 +272,6 @@ int
     lfs_reserve(struct lfs *fs, struct vnode *vp, struct vnode *vp2, int fsb)
     {
     	int error;
    -	int cantwait;
     
     	ASSERT_MAYBE_SEGLOCK(fs);
     	if (vp2) {
    @@ -292,30 +286,18 @@ lfs_reserve(struct lfs *fs, struct vnode *vp, struct vnode *vp2, int fsb)
     
     	KASSERT(fsb < 0 || VOP_ISLOCKED(vp));
     	KASSERT(vp2 == NULL || fsb < 0 || VOP_ISLOCKED(vp2));
    -	KASSERT(vp2 == NULL || !(VTOI(vp2)->i_flag & IN_ADIROP));
     	KASSERT(vp2 == NULL || vp2 != fs->lfs_unlockvp);
     
    -	cantwait = (VTOI(vp)->i_flag & IN_ADIROP) || fs->lfs_unlockvp == vp;
     #ifdef DIAGNOSTIC
    -	if (cantwait) {
    -		if (fsb > 0)
    -			lfs_rescountdirop++;
    -		else if (fsb < 0)
    -			lfs_rescountdirop--;
    -		if (lfs_rescountdirop < 0)
    -			panic("lfs_rescountdirop");
    -	}
    -	else {
    -		if (fsb > 0)
    -			lfs_rescount++;
    -		else if (fsb < 0)
    -			lfs_rescount--;
    -		if (lfs_rescount < 0)
    -			panic("lfs_rescount");
    -	}
    +	mutex_enter(&lfs_lock);
    +	if (fsb > 0)
    +		lfs_rescount++;
    +	else if (fsb < 0)
    +		lfs_rescount--;
    +	if (lfs_rescount < 0)
    +		panic("lfs_rescount");
    +	mutex_exit(&lfs_lock);
     #endif
    -	if (cantwait)
    -		return 0;
     
     	/*
     	 * XXX
    @@ -334,7 +316,7 @@ lfs_reserve(struct lfs *fs, struct vnode *vp, struct vnode *vp2, int fsb)
     	/*
     	 * XXX just a guess. should be more precise.
     	 */
    -	error = lfs_reservebuf(fs, vp, vp2, fsb, fsbtob(fs, fsb));
    +	error = lfs_reservebuf(fs, vp, vp2, fsb, lfs_fsbtob(fs, fsb));
     	if (error)
     		lfs_reserveavail(fs, vp, vp2, -fsb);
     
    @@ -376,8 +358,8 @@ lfs_fits(struct lfs *fs, int fsb)
     	int needed;
     
     	ASSERT_NO_SEGLOCK(fs);
    -	needed = fsb + btofsb(fs, fs->lfs_sumsize) +
    -		 ((howmany(fs->lfs_uinodes + 1, INOPB(fs)) + fs->lfs_segtabsz +
    +	needed = fsb + lfs_btofsb(fs, fs->lfs_sumsize) +
    +		 ((howmany(fs->lfs_uinodes + 1, LFS_INOPB(fs)) + fs->lfs_segtabsz +
     		   1) << (fs->lfs_bshift - fs->lfs_ffshift));
     
     	if (needed >= fs->lfs_avail) {
    @@ -445,7 +427,7 @@ lfs_bwrite_ext(struct buf *bp, int flags)
     	int fsb;
     
     	vp = bp->b_vp;
    -	fs = VFSTOUFS(vp->v_mount)->um_lfs;
    +	fs = VFSTOULFS(vp->v_mount)->um_lfs;
     
     	ASSERT_MAYBE_SEGLOCK(fs);
     	KASSERT(bp->b_cflags & BC_BUSY);
    @@ -461,7 +443,7 @@ lfs_bwrite_ext(struct buf *bp, int flags)
     	 */
     	if (fs->lfs_ronly || (fs->lfs_pflags & LFS_PF_CLEAN)) {
     		bp->b_oflags &= ~BO_DELWRI;
    -		bp->b_flags |= B_READ;
    +		bp->b_flags |= B_READ; /* XXX is this right? --ks */
     		bp->b_error = 0;
     		mutex_enter(&bufcache_lock);
     		LFS_UNLOCK_BUF(bp);
    @@ -488,7 +470,7 @@ lfs_bwrite_ext(struct buf *bp, int flags)
     	 * blocks.
     	 */
     	if ((bp->b_flags & B_LOCKED) == 0) {
    -		fsb = numfrags(fs, bp->b_bcount);
    +		fsb = lfs_numfrags(fs, bp->b_bcount);
     
     		ip = VTOI(vp);
     		mutex_enter(&lfs_lock);
    @@ -535,6 +517,7 @@ lfs_flush_fs(struct lfs *fs, int flags)
     	if (lfs_dostats)
     		++lfs_stats.flush_invoked;
     
    +	fs->lfs_pdflush = 0;
     	mutex_exit(&lfs_lock);
     	lfs_writer_enter(fs, "fldirop");
     	lfs_segwrite(fs->lfs_ivnode->v_mount, flags);
    @@ -587,15 +570,14 @@ lfs_flush(struct lfs *fs, int flags, int only_onefs)
     	} else {
     		locked_fakequeue_count = 0;
     		mutex_enter(&mountlist_lock);
    -		for (mp = CIRCLEQ_FIRST(&mountlist); mp != (void *)&mountlist;
    -		     mp = nmp) {
    +		for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) {
     			if (vfs_busy(mp, &nmp)) {
     				DLOG((DLOG_FLUSH, "lfs_flush: fs vfs_busy\n"));
     				continue;
     			}
     			if (strncmp(&mp->mnt_stat.f_fstypename[0], MOUNT_LFS,
     			    sizeof(mp->mnt_stat.f_fstypename)) == 0) {
    -				tfs = VFSTOUFS(mp)->um_lfs;
    +				tfs = VFSTOULFS(mp)->um_lfs;
     				mutex_enter(&lfs_lock);
     				lfs_flush_fs(tfs, flags);
     				mutex_exit(&lfs_lock);
    @@ -614,8 +596,8 @@ lfs_flush(struct lfs *fs, int flags, int only_onefs)
     	wakeup(&lfs_writing);
     }
     
    -#define INOCOUNT(fs) howmany((fs)->lfs_uinodes, INOPB(fs))
    -#define INOBYTES(fs) ((fs)->lfs_uinodes * sizeof (struct ufs1_dinode))
    +#define INOCOUNT(fs) howmany((fs)->lfs_uinodes, LFS_INOPB(fs))
    +#define INOBYTES(fs) ((fs)->lfs_uinodes * sizeof (struct ulfs1_dinode))
     
     /*
      * make sure that we don't have too many locked buffers.
    @@ -689,10 +671,10 @@ lfs_check(struct vnode *vp, daddr_t blkno, int flags)
     	/* If there are too many pending dirops, we have to flush them. */
     	if (fs->lfs_dirvcount > LFS_MAX_FSDIROP(fs) ||
     	    lfs_dirvcount > LFS_MAX_DIROP || fs->lfs_diropwait > 0) {
    -		flags |= SEGM_CKP;
    -	}
    -
    -	if (locked_queue_count + INOCOUNT(fs) > LFS_MAX_BUFS ||
    +		mutex_exit(&lfs_lock);
    +		lfs_flush_dirops(fs);
    +		mutex_enter(&lfs_lock);
    +	} else if (locked_queue_count + INOCOUNT(fs) > LFS_MAX_BUFS ||
     	    locked_queue_bytes + INOBYTES(fs) > LFS_MAX_BYTES ||
     	    lfs_subsys_pages > LFS_MAX_PAGES ||
     	    fs->lfs_dirvcount > LFS_MAX_FSDIROP(fs) ||
    @@ -717,8 +699,10 @@ lfs_check(struct vnode *vp, daddr_t blkno, int flags)
     			++lfs_stats.wait_exceeded;
     		DLOG((DLOG_AVAIL, "lfs_check: waiting: count=%d, bytes=%ld\n",
     		      locked_queue_count, locked_queue_bytes));
    +		++locked_queue_waiters;
     		error = cv_timedwait_sig(&locked_queue_cv, &lfs_lock,
     		    hz * LFS_BUFWAIT);
    +		--locked_queue_waiters;
     		if (error != EWOULDBLOCK)
     			break;
     
    @@ -747,7 +731,7 @@ lfs_newbuf(struct lfs *fs, struct vnode *vp, daddr_t daddr, size_t size, int typ
     	size_t nbytes;
     
     	ASSERT_MAYBE_SEGLOCK(fs);
    -	nbytes = roundup(size, fsbtob(fs, 1));
    +	nbytes = roundup(size, lfs_fsbtob(fs, 1));
     
     	bp = getiobuf(NULL, true);
     	if (nbytes) {
    diff --git a/sys/ufs/lfs/lfs_cksum.c b/sys/ufs/lfs/lfs_cksum.c
    index a3f0fb93d..984a028a4 100644
    --- a/sys/ufs/lfs/lfs_cksum.c
    +++ b/sys/ufs/lfs/lfs_cksum.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_cksum.c,v 1.27 2008/04/28 20:24:11 martin Exp $	*/
    +/*	$NetBSD: lfs_cksum.c,v 1.29 2013/06/06 00:54:49 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_cksum.c,v 1.27 2008/04/28 20:24:11 martin Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_cksum.c,v 1.29 2013/06/06 00:54:49 dholland Exp $");
     
     #include 
     #ifdef _KERNEL
    @@ -70,7 +70,6 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_cksum.c,v 1.27 2008/04/28 20:24:11 martin Exp $"
     # include 
     #endif
     #include 
    -#include 
     #include 
     #include 
     
    diff --git a/sys/ufs/lfs/lfs_debug.c b/sys/ufs/lfs/lfs_debug.c
    index ecad77204..9fe6eb642 100644
    --- a/sys/ufs/lfs/lfs_debug.c
    +++ b/sys/ufs/lfs/lfs_debug.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_debug.c,v 1.39 2011/07/17 20:54:54 joerg Exp $	*/
    +/*	$NetBSD: lfs_debug.c,v 1.43 2013/06/18 18:18:58 christos Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_debug.c,v 1.39 2011/07/17 20:54:54 joerg Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_debug.c,v 1.43 2013/06/18 18:18:58 christos Exp $");
     
     #ifdef DEBUG
     
    @@ -73,7 +73,7 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_debug.c,v 1.39 2011/07/17 20:54:54 joerg Exp $")
     #include 
     #include 
     
    -#include 
    +#include 
     #include 
     #include 
     
    @@ -188,7 +188,7 @@ lfs_dump_super(struct lfs *lfsp)
     }
     
     void
    -lfs_dump_dinode(struct ufs1_dinode *dip)
    +lfs_dump_dinode(struct ulfs1_dinode *dip)
     {
     	int i;
     
    @@ -201,12 +201,12 @@ lfs_dump_dinode(struct ufs1_dinode *dip)
     	       "blocks ", dip->di_blocks);
     	printf("inum  %d\n", dip->di_inumber);
     	printf("Direct Addresses\n");
    -	for (i = 0; i < NDADDR; i++) {
    +	for (i = 0; i < ULFS_NDADDR; i++) {
     		printf("\t%x", dip->di_db[i]);
     		if ((i % 6) == 5)
     			printf("\n");
     	}
    -	for (i = 0; i < NIADDR; i++)
    +	for (i = 0; i < ULFS_NIADDR; i++)
     		printf("\t%x", dip->di_ib[i]);
     	printf("\n");
     }
    @@ -240,7 +240,7 @@ lfs_check_segsum(struct lfs *fs, struct segment *sp, char *file, int line)
     		/* amount taken up by FINFOs */
     		- ((char *)&(sp->fip->fi_blocks[sp->fip->fi_nblocks]) - (char *)(sp->segsum))
     			/* amount taken up by inode blocks */
    -			- sizeof(int32_t)*((sp->ninodes+INOPB(fs)-1) / INOPB(fs));
    +			- sizeof(int32_t)*((sp->ninodes+LFS_INOPB(fs)-1) / LFS_INOPB(fs));
     #if 0
     	if (actual - sp->sum_bytes_left < offset)
     	{
    @@ -259,7 +259,7 @@ lfs_check_segsum(struct lfs *fs, struct segment *sp, char *file, int line)
     #endif
     	if (sp->sum_bytes_left > 0
     	   && ((char *)(sp->segsum))[fs->lfs_sumsize
    -				     - sizeof(int32_t) * ((sp->ninodes+INOPB(fs)-1) / INOPB(fs))
    +				     - sizeof(int32_t) * ((sp->ninodes+LFS_INOPB(fs)-1) / LFS_INOPB(fs))
     				     - sp->sum_bytes_left] != '\0') {
     		printf("%s:%d: warning: segsum overwrite at %d (-%d => %d)\n",
     		       file, line, sp->sum_bytes_left,
    @@ -299,7 +299,7 @@ lfs_check_bpp(struct lfs *fs, struct segment *sp, char *file, int line)
     				       (*bpp)->b_blkno);
     			}
     		}
    -		blkno += fsbtodb(fs, btofsb(fs, (*bpp)->b_bcount));
    +		blkno += LFS_FSBTODB(fs, lfs_btofsb(fs, (*bpp)->b_bcount));
     	}
     }
     
    diff --git a/sys/ufs/lfs/lfs_extern.h b/sys/ufs/lfs/lfs_extern.h
    index 46a9555e7..7501c2413 100644
    --- a/sys/ufs/lfs/lfs_extern.h
    +++ b/sys/ufs/lfs/lfs_extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_extern.h,v 1.96 2008/06/28 01:34:05 rumble Exp $	*/
    +/*	$NetBSD: lfs_extern.h,v 1.100 2013/07/20 19:59:31 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -94,7 +94,7 @@ struct timeval;
     struct inode;
     struct uio;
     struct mbuf;
    -struct ufs1_dinode;
    +struct ulfs1_dinode;
     struct buf;
     struct vnode;
     struct dlfs;
    @@ -102,6 +102,8 @@ struct lfs;
     struct segment;
     struct block_info;
     
    +__BEGIN_DECLS
    +
     #if defined(_KERNEL)
     
     extern int lfs_allclean_wakeup;
    @@ -119,7 +121,6 @@ extern int lfs_debug_log_subsys[];
     extern kcondvar_t lfs_writing_cv;
     extern kcondvar_t locked_queue_cv;
     
    -__BEGIN_DECLS
     /* lfs_alloc.c */
     void lfs_vcreate(struct mount *, ino_t, struct vnode *);
     int lfs_valloc(struct vnode *, int, kauth_cred_t, struct vnode **);
    @@ -152,7 +153,7 @@ int lfs_reserve(struct lfs *, struct vnode *, struct vnode *, int);
     int lfs_bwrite_log(struct buf *, const char *, int);
     void lfs_dumplog(void);
     void lfs_dump_super(struct lfs *);
    -void lfs_dump_dinode(struct ufs1_dinode *);
    +void lfs_dump_dinode(struct ulfs1_dinode *);
     void lfs_check_bpp(struct lfs *, struct segment *, char *, int);
     void lfs_check_segsum(struct lfs *, struct segment *, char *, int);
     void lfs_debug_log(int, const char *, ...);
    @@ -162,10 +163,13 @@ void lfs_debug_log(int, const char *, ...);
     int lfs_update(struct vnode *, const struct timespec *, const struct timespec *,
         int);
     int lfs_truncate(struct vnode *, off_t, int, kauth_cred_t);
    -struct ufs1_dinode *lfs_ifind(struct lfs *, ino_t, struct buf *);
    +struct ulfs1_dinode *lfs_ifind(struct lfs *, ino_t, struct buf *);
     void lfs_finalize_ino_seguse(struct lfs *, struct inode *);
     void lfs_finalize_fs_seguse(struct lfs *);
     
    +/* lfs_rename.c */
    +int lfs_rename(void *);
    +
     /* lfs_rfw.c */
     int lfs_rf_valloc(struct lfs *, ino_t, int, struct lwp *, struct vnode **);
     void lfs_roll_forward(struct lfs *, struct mount *, struct lwp *);
    @@ -211,7 +215,7 @@ void lfs_writer_leave(struct lfs *);
     void lfs_wakeup_cleaner(struct lfs *);
     
     /* lfs_syscalls.c */
    -int lfs_fastvget(struct mount *, ino_t, daddr_t, struct vnode **, struct ufs1_dinode *);
    +int lfs_fastvget(struct mount *, ino_t, daddr_t, struct vnode **, struct ulfs1_dinode *);
     struct buf *lfs_fakebuf(struct lfs *, struct vnode *, int, size_t, void *);
     int lfs_do_segclean(struct lfs *, unsigned long);
     int lfs_segwait(fsid_t *, struct timeval *);
    @@ -240,8 +244,8 @@ int lfs_gop_alloc(struct vnode *, off_t, off_t, int, kauth_cred_t);
     void lfs_gop_size(struct vnode *, off_t, off_t *, int);
     int lfs_putpages_ext(void *, int);
     int lfs_gatherpages(struct vnode *);
    -void lfs_flush_dirops(struct lfs *);
    -void lfs_flush_pchain(struct lfs *);
    +int lfs_flush_dirops(struct lfs *);
    +int lfs_flush_pchain(struct lfs *);
     
     int lfs_bwrite	 (void *);
     int lfs_fsync	 (void *);
    diff --git a/sys/ufs/lfs/lfs_inode.c b/sys/ufs/lfs/lfs_inode.c
    index 06bb9c193..eb60c8f22 100644
    --- a/sys/ufs/lfs/lfs_inode.c
    +++ b/sys/ufs/lfs/lfs_inode.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_inode.c,v 1.126 2011/11/23 19:42:10 bouyer Exp $	*/
    +/*	$NetBSD: lfs_inode.c,v 1.136 2013/10/17 21:01:08 christos Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.126 2011/11/23 19:42:10 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.136 2013/10/17 21:01:08 christos Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_quota.h"
    @@ -79,13 +79,14 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_inode.c,v 1.126 2011/11/23 19:42:10 bouyer Exp $
     #include 
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    +#include 
     
     static int lfs_update_seguse(struct lfs *, struct inode *ip, long, size_t);
     static int lfs_indirtrunc (struct inode *, daddr_t, daddr_t,
    @@ -94,11 +95,11 @@ static int lfs_blkfree (struct lfs *, struct inode *, daddr_t, size_t, long *, s
     static int lfs_vtruncbuf(struct vnode *, daddr_t, bool, int);
     
     /* Search a block for a specific dinode. */
    -struct ufs1_dinode *
    +struct ulfs1_dinode *
     lfs_ifind(struct lfs *fs, ino_t ino, struct buf *bp)
     {
    -	struct ufs1_dinode *dip = (struct ufs1_dinode *)bp->b_data;
    -	struct ufs1_dinode *ldip, *fin;
    +	struct ulfs1_dinode *dip = (struct ulfs1_dinode *)bp->b_data;
    +	struct ulfs1_dinode *ldip, *fin;
     
     	ASSERT_NO_SEGLOCK(fs);
     	/*
    @@ -106,17 +107,17 @@ lfs_ifind(struct lfs *fs, ino_t ino, struct buf *bp)
     	 * inode will supercede earlier ones.  Though it is unlikely, it is
     	 * possible that the same inode will appear in the same inode block.
     	 */
    -	fin = dip + INOPB(fs);
    +	fin = dip + LFS_INOPB(fs);
     	for (ldip = fin - 1; ldip >= dip; --ldip)
     		if (ldip->di_inumber == ino)
     			return (ldip);
     
     	printf("searched %d entries\n", (int)(fin - dip));
     	printf("offset is 0x%x (seg %d)\n", fs->lfs_offset,
    -	       dtosn(fs, fs->lfs_offset));
    +	       lfs_dtosn(fs, fs->lfs_offset));
     	printf("block is 0x%llx (seg %lld)\n",
    -	       (unsigned long long)dbtofsb(fs, bp->b_blkno),
    -	       (long long)dtosn(fs, dbtofsb(fs, bp->b_blkno)));
    +	       (unsigned long long)LFS_DBTOFSB(fs, bp->b_blkno),
    +	       (long long)lfs_dtosn(fs, LFS_DBTOFSB(fs, bp->b_blkno)));
     
     	return NULL;
     }
    @@ -126,7 +127,7 @@ lfs_update(struct vnode *vp, const struct timespec *acc,
         const struct timespec *mod, int updflags)
     {
     	struct inode *ip;
    -	struct lfs *fs = VFSTOUFS(vp->v_mount)->um_lfs;
    +	struct lfs *fs = VFSTOULFS(vp->v_mount)->um_lfs;
     	int flags;
     
     	ASSERT_NO_SEGLOCK(fs);
    @@ -191,16 +192,16 @@ lfs_update(struct vnode *vp, const struct timespec *acc,
      * Truncate the inode oip to at most length size, freeing the
      * disk blocks.
      */
    -/* VOP_BWRITE 1 + NIADDR + lfs_balloc == 2 + 2*NIADDR times */
    +/* VOP_BWRITE 1 + ULFS_NIADDR + lfs_balloc == 2 + 2*ULFS_NIADDR times */
     
     int
     lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     {
     	daddr_t lastblock;
     	struct inode *oip = VTOI(ovp);
    -	daddr_t bn, lbn, lastiblock[NIADDR], indir_lbn[NIADDR];
    +	daddr_t bn, lbn, lastiblock[ULFS_NIADDR], indir_lbn[ULFS_NIADDR];
     	/* XXX ondisk32 */
    -	int32_t newblks[NDADDR + NIADDR];
    +	int32_t newblks[ULFS_NDADDR + ULFS_NIADDR];
     	struct lfs *fs;
     	struct buf *bp;
     	int offset, size, level;
    @@ -212,7 +213,6 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	size_t bc;
     	int obufsize, odb;
     	int usepc;
    -	struct ufsmount *ump = oip->i_ump;
     
     	if (ovp->v_type == VCHR || ovp->v_type == VBLK ||
     	    ovp->v_type == VFIFO || ovp->v_type == VSOCK) {
    @@ -232,9 +232,11 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     		return (0);
     	}
     
    +	fs = oip->i_lfs;
    +
     	if (ovp->v_type == VLNK &&
    -	    (oip->i_size < ump->um_maxsymlinklen ||
    -	     (ump->um_maxsymlinklen == 0 &&
    +	    (oip->i_size < fs->um_maxsymlinklen ||
    +	     (fs->um_maxsymlinklen == 0 &&
     	      oip->i_ffs1_blocks == 0))) {
     #ifdef DIAGNOSTIC
     		if (length != 0)
    @@ -249,7 +251,6 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     		oip->i_flag |= IN_CHANGE | IN_UPDATE;
     		return (lfs_update(ovp, NULL, NULL, 0));
     	}
    -	fs = oip->i_lfs;
     	lfs_imtime(fs);
     	osize = oip->i_size;
     	usepc = (ovp->v_type == VREG && ovp != fs->lfs_ivnode);
    @@ -261,20 +262,20 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 * value of osize is 0, length will be at least 1.
     	 */
     	if (osize < length) {
    -		if (length > ump->um_maxfilesize)
    +		if (length > fs->um_maxfilesize)
     			return (EFBIG);
     		aflags = B_CLRBUF;
     		if (ioflag & IO_SYNC)
     			aflags |= B_SYNC;
     		if (usepc) {
    -			if (lblkno(fs, osize) < NDADDR &&
    -			    lblkno(fs, osize) != lblkno(fs, length) &&
    -			    blkroundup(fs, osize) != osize) {
    +			if (lfs_lblkno(fs, osize) < ULFS_NDADDR &&
    +			    lfs_lblkno(fs, osize) != lfs_lblkno(fs, length) &&
    +			    lfs_blkroundup(fs, osize) != osize) {
     				off_t eob;
     
    -				eob = blkroundup(fs, osize);
    +				eob = lfs_blkroundup(fs, osize);
     				uvm_vnp_setwritesize(ovp, eob);
    -				error = ufs_balloc_range(ovp, osize,
    +				error = ulfs_balloc_range(ovp, osize,
     				    eob - osize, cred, aflags);
     				if (error) {
     					(void) lfs_truncate(ovp, osize,
    @@ -290,7 +291,7 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     				}
     			}
     			uvm_vnp_setwritesize(ovp, length);
    -			error = ufs_balloc_range(ovp, length - 1, 1, cred,
    +			error = ulfs_balloc_range(ovp, length - 1, 1, cred,
     						 aflags);
     			if (error) {
     				(void) lfs_truncate(ovp, osize,
    @@ -300,30 +301,30 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     			uvm_vnp_setsize(ovp, length);
     			oip->i_flag |= IN_CHANGE | IN_UPDATE;
     			KASSERT(ovp->v_size == oip->i_size);
    -			oip->i_lfs_hiblk = lblkno(fs, oip->i_size + fs->lfs_bsize - 1) - 1;
    +			oip->i_lfs_hiblk = lfs_lblkno(fs, oip->i_size + fs->lfs_bsize - 1) - 1;
     			return (lfs_update(ovp, NULL, NULL, 0));
     		} else {
     			error = lfs_reserve(fs, ovp, NULL,
    -			    btofsb(fs, (NIADDR + 2) << fs->lfs_bshift));
    +			    lfs_btofsb(fs, (ULFS_NIADDR + 2) << fs->lfs_bshift));
     			if (error)
     				return (error);
     			error = lfs_balloc(ovp, length - 1, 1, cred,
     					   aflags, &bp);
     			lfs_reserve(fs, ovp, NULL,
    -			    -btofsb(fs, (NIADDR + 2) << fs->lfs_bshift));
    +			    -lfs_btofsb(fs, (ULFS_NIADDR + 2) << fs->lfs_bshift));
     			if (error)
     				return (error);
     			oip->i_ffs1_size = oip->i_size = length;
     			uvm_vnp_setsize(ovp, length);
     			(void) VOP_BWRITE(bp->b_vp, bp);
     			oip->i_flag |= IN_CHANGE | IN_UPDATE;
    -			oip->i_lfs_hiblk = lblkno(fs, oip->i_size + fs->lfs_bsize - 1) - 1;
    +			oip->i_lfs_hiblk = lfs_lblkno(fs, oip->i_size + fs->lfs_bsize - 1) - 1;
     			return (lfs_update(ovp, NULL, NULL, 0));
     		}
     	}
     
     	if ((error = lfs_reserve(fs, ovp, NULL,
    -	    btofsb(fs, (2 * NIADDR + 3) << fs->lfs_bshift))) != 0)
    +	    lfs_btofsb(fs, (2 * ULFS_NIADDR + 3) << fs->lfs_bshift))) != 0)
     		return (error);
     
     	/*
    @@ -334,7 +335,7 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 * of subsequent file growth. Directories however are not
     	 * zero'ed as they should grow back initialized to empty.
     	 */
    -	offset = blkoff(fs, length);
    +	offset = lfs_blkoff(fs, length);
     	lastseg = -1;
     	bc = 0;
     
    @@ -343,20 +344,20 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	if (offset == 0) {
     		oip->i_size = oip->i_ffs1_size = length;
     	} else if (!usepc) {
    -		lbn = lblkno(fs, length);
    +		lbn = lfs_lblkno(fs, length);
     		aflags = B_CLRBUF;
     		if (ioflag & IO_SYNC)
     			aflags |= B_SYNC;
     		error = lfs_balloc(ovp, length - 1, 1, cred, aflags, &bp);
     		if (error) {
     			lfs_reserve(fs, ovp, NULL,
    -			    -btofsb(fs, (2 * NIADDR + 3) << fs->lfs_bshift));
    +			    -lfs_btofsb(fs, (2 * ULFS_NIADDR + 3) << fs->lfs_bshift));
     			goto errout;
     		}
     		obufsize = bp->b_bufsize;
    -		odb = btofsb(fs, bp->b_bcount);
    +		odb = lfs_btofsb(fs, bp->b_bcount);
     		oip->i_size = oip->i_ffs1_size = length;
    -		size = blksize(fs, oip, lbn);
    +		size = lfs_blksize(fs, oip, lbn);
     		if (ovp->v_type != VDIR)
     			memset((char *)bp->b_data + offset, 0,
     			       (u_int)(size - offset));
    @@ -367,7 +368,7 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     			mutex_exit(&lfs_lock);
     		}
     		if (bp->b_oflags & BO_DELWRI)
    -			fs->lfs_avail += odb - btofsb(fs, size);
    +			fs->lfs_avail += odb - lfs_btofsb(fs, size);
     		(void) VOP_BWRITE(bp->b_vp, bp);
     	} else { /* vp->v_type == VREG && length < osize && offset != 0 */
     		/*
    @@ -385,15 +386,15 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     		voff_t eoz;
     
     		aflags = ioflag & IO_SYNC ? B_SYNC : 0;
    -		error = ufs_balloc_range(ovp, length - 1, 1, cred, aflags);
    +		error = ulfs_balloc_range(ovp, length - 1, 1, cred, aflags);
     		if (error) {
     			lfs_reserve(fs, ovp, NULL,
    -				    -btofsb(fs, (2 * NIADDR + 3) << fs->lfs_bshift));
    +				    -lfs_btofsb(fs, (2 * ULFS_NIADDR + 3) << fs->lfs_bshift));
     			goto errout;
     		}
    -		xlbn = lblkno(fs, length);
    -		size = blksize(fs, oip, xlbn);
    -		eoz = MIN(lblktosize(fs, xlbn) + size, osize);
    +		xlbn = lfs_lblkno(fs, length);
    +		size = lfs_blksize(fs, oip, xlbn);
    +		eoz = MIN(lfs_lblktosize(fs, xlbn) + size, osize);
     		ubc_zerorange(&ovp->v_uobj, length, eoz - length,
     		    UBC_UNMAP_FLAG(ovp));
     		if (round_page(eoz) > round_page(length)) {
    @@ -404,7 +405,7 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     			    ((ioflag & IO_SYNC) ? PGO_SYNCIO : 0));
     			if (error) {
     				lfs_reserve(fs, ovp, NULL,
    -					    -btofsb(fs, (2 * NIADDR + 3) << fs->lfs_bshift));
    +					    -lfs_btofsb(fs, (2 * ULFS_NIADDR + 3) << fs->lfs_bshift));
     				goto errout;
     			}
     		}
    @@ -423,13 +424,13 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	 */
     	/* Avoid sign overflow - XXX assumes that off_t is a quad_t. */
     	if (length > QUAD_MAX - fs->lfs_bsize)
    -		lastblock = lblkno(fs, QUAD_MAX - fs->lfs_bsize);
    +		lastblock = lfs_lblkno(fs, QUAD_MAX - fs->lfs_bsize);
     	else
    -		lastblock = lblkno(fs, length + fs->lfs_bsize - 1) - 1;
    -	lastiblock[SINGLE] = lastblock - NDADDR;
    -	lastiblock[DOUBLE] = lastiblock[SINGLE] - NINDIR(fs);
    -	lastiblock[TRIPLE] = lastiblock[DOUBLE] - NINDIR(fs) * NINDIR(fs);
    -	nblocks = btofsb(fs, fs->lfs_bsize);
    +		lastblock = lfs_lblkno(fs, length + fs->lfs_bsize - 1) - 1;
    +	lastiblock[SINGLE] = lastblock - ULFS_NDADDR;
    +	lastiblock[DOUBLE] = lastiblock[SINGLE] - LFS_NINDIR(fs);
    +	lastiblock[TRIPLE] = lastiblock[DOUBLE] - LFS_NINDIR(fs) * LFS_NINDIR(fs);
    +	nblocks = lfs_btofsb(fs, fs->lfs_bsize);
     	/*
     	 * Record changed file and block pointers before we start
     	 * freeing blocks.  lastiblock values are also normalized to -1
    @@ -438,10 +439,10 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	memcpy((void *)newblks, (void *)&oip->i_ffs1_db[0], sizeof newblks);
     	for (level = TRIPLE; level >= SINGLE; level--)
     		if (lastiblock[level] < 0) {
    -			newblks[NDADDR+level] = 0;
    +			newblks[ULFS_NDADDR+level] = 0;
     			lastiblock[level] = -1;
     		}
    -	for (i = NDADDR - 1; i > lastblock; i--)
    +	for (i = ULFS_NDADDR - 1; i > lastblock; i--)
     		newblks[i] = 0;
     
     	oip->i_size = oip->i_ffs1_size = osize;
    @@ -452,9 +453,9 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	/*
     	 * Indirect blocks first.
     	 */
    -	indir_lbn[SINGLE] = -NDADDR;
    -	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - NINDIR(fs) - 1;
    -	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - NINDIR(fs) * NINDIR(fs) - 1;
    +	indir_lbn[SINGLE] = -ULFS_NDADDR;
    +	indir_lbn[DOUBLE] = indir_lbn[SINGLE] - LFS_NINDIR(fs) - 1;
    +	indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - LFS_NINDIR(fs) * LFS_NINDIR(fs) - 1;
     	for (level = TRIPLE; level >= SINGLE; level--) {
     		bn = oip->i_ffs1_ib[level];
     		if (bn != 0) {
    @@ -483,21 +484,21 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     	/*
     	 * All whole direct blocks or frags.
     	 */
    -	for (i = NDADDR - 1; i > lastblock; i--) {
    +	for (i = ULFS_NDADDR - 1; i > lastblock; i--) {
     		long bsize, obsize;
     
     		bn = oip->i_ffs1_db[i];
     		if (bn == 0)
     			continue;
    -		bsize = blksize(fs, oip, i);
    +		bsize = lfs_blksize(fs, oip, i);
     		if (oip->i_ffs1_db[i] > 0) {
     			/* Check for fragment size changes */
     			obsize = oip->i_lfs_fragsize[i];
    -			real_released += btofsb(fs, obsize);
    +			real_released += lfs_btofsb(fs, obsize);
     			oip->i_lfs_fragsize[i] = 0;
     		} else
     			obsize = 0;
    -		blocksreleased += btofsb(fs, bsize);
    +		blocksreleased += lfs_btofsb(fs, bsize);
     		oip->i_ffs1_db[i] = 0;
     		lfs_blkfree(fs, oip, bn, obsize, &lastseg, &bc);
             	lfs_deregister_block(ovp, bn);
    @@ -520,22 +521,22 @@ lfs_truncate(struct vnode *ovp, off_t length, int ioflag, kauth_cred_t cred)
     		 * Calculate amount of space we're giving
     		 * back as old block size minus new block size.
     		 */
    -		oldspace = blksize(fs, oip, lastblock);
    +		oldspace = lfs_blksize(fs, oip, lastblock);
     #if 0
     		olddspace = oip->i_lfs_fragsize[lastblock];
     #endif
     
     		oip->i_size = oip->i_ffs1_size = length;
    -		newspace = blksize(fs, oip, lastblock);
    +		newspace = lfs_blksize(fs, oip, lastblock);
     		if (newspace == 0)
     			panic("itrunc: newspace");
     		if (oldspace - newspace > 0) {
    -			blocksreleased += btofsb(fs, oldspace - newspace);
    +			blocksreleased += lfs_btofsb(fs, oldspace - newspace);
     		}
     #if 0
     		if (bn > 0 && olddspace - newspace > 0) {
     			/* No segment accounting here, just vnode */
    -			real_released += btofsb(fs, olddspace - newspace);
    +			real_released += lfs_btofsb(fs, olddspace - newspace);
     		}
     #endif
     	}
    @@ -545,11 +546,11 @@ done:
     	lfs_update_seguse(fs, oip, lastseg, bc);
     #ifdef DIAGNOSTIC
     	for (level = SINGLE; level <= TRIPLE; level++)
    -		if ((newblks[NDADDR + level] == 0) !=
    +		if ((newblks[ULFS_NDADDR + level] == 0) !=
     		    ((oip->i_ffs1_ib[level]) == 0)) {
     			panic("lfs itrunc1");
     		}
    -	for (i = 0; i < NDADDR; i++)
    +	for (i = 0; i < ULFS_NDADDR; i++)
     		if ((newblks[i] == 0) != (oip->i_ffs1_db[i] == 0)) {
     			panic("lfs itrunc2");
     		}
    @@ -586,14 +587,14 @@ done:
     	mutex_exit(&lfs_lock);
     
     	oip->i_flag |= IN_CHANGE;
    -#ifdef QUOTA
    -	(void) chkdq(oip, -blocksreleased, NOCRED, 0);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	(void) lfs_chkdq(oip, -blocksreleased, NOCRED, 0);
     #endif
     	lfs_reserve(fs, ovp, NULL,
    -	    -btofsb(fs, (2 * NIADDR + 3) << fs->lfs_bshift));
    +	    -lfs_btofsb(fs, (2 * ULFS_NIADDR + 3) << fs->lfs_bshift));
     	genfs_node_unlock(ovp);
       errout:
    -	oip->i_lfs_hiblk = lblkno(fs, oip->i_size + fs->lfs_bsize - 1) - 1;
    +	oip->i_lfs_hiblk = lfs_lblkno(fs, oip->i_size + fs->lfs_bsize - 1) - 1;
     	if (ovp != fs->lfs_ivnode)
     		lfs_segunlock(fs);
     	return (allerror ? allerror : error);
    @@ -608,9 +609,9 @@ lfs_blkfree(struct lfs *fs, struct inode *ip, daddr_t daddr,
     	int error = 0;
     
     	ASSERT_SEGLOCK(fs);
    -	bsize = fragroundup(fs, bsize);
    +	bsize = lfs_fragroundup(fs, bsize);
     	if (daddr > 0) {
    -		if (*lastseg != (seg = dtosn(fs, daddr))) {
    +		if (*lastseg != (seg = lfs_dtosn(fs, daddr))) {
     			error = lfs_update_seguse(fs, ip, *lastseg, *num);
     			*num = bsize;
     			*lastseg = seg;
    @@ -626,13 +627,11 @@ static int
     lfs_update_seguse(struct lfs *fs, struct inode *ip, long lastseg, size_t num)
     {
     	struct segdelta *sd;
    -	struct vnode *vp;
     
     	ASSERT_SEGLOCK(fs);
     	if (lastseg < 0 || num == 0)
     		return 0;
     
    -	vp = ITOV(ip);
     	LIST_FOREACH(sd, &ip->i_lfs_segdhd, list)
     		if (sd->segnum == lastseg)
     			break;
    @@ -720,11 +719,11 @@ lfs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn,
     	 */
     	factor = 1;
     	for (i = SINGLE; i < level; i++)
    -		factor *= NINDIR(fs);
    +		factor *= LFS_NINDIR(fs);
     	last = lastbn;
     	if (lastbn > 0)
     		last /= factor;
    -	nblocks = btofsb(fs, fs->lfs_bsize);
    +	nblocks = lfs_btofsb(fs, fs->lfs_bsize);
     	/*
     	 * Get buffer of block pointers, zero those entries corresponding
     	 * to blocks to be free'd, and update on disk copy first.  Since
    @@ -744,7 +743,7 @@ lfs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn,
     		bp->b_flags |= B_READ;
     		if (bp->b_bcount > bp->b_bufsize)
     			panic("lfs_indirtrunc: bad buffer size");
    -		bp->b_blkno = fsbtodb(fs, dbn);
    +		bp->b_blkno = LFS_FSBTODB(fs, dbn);
     		VOP_STRATEGY(vp, bp);
     		error = biowait(bp);
     	}
    @@ -760,7 +759,7 @@ lfs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn,
     		memcpy((void *)copy, (void *)bap, (u_int)fs->lfs_bsize);
     		memset((void *)&bap[last + 1], 0,
     		/* XXX ondisk32 */
    -		  (u_int)(NINDIR(fs) - (last + 1)) * sizeof (int32_t));
    +		  (u_int)(LFS_NINDIR(fs) - (last + 1)) * sizeof (int32_t));
     		error = VOP_BWRITE(bp->b_vp, bp);
     		if (error)
     			allerror = error;
    @@ -770,7 +769,7 @@ lfs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn,
     	/*
     	 * Recursively free totally unused blocks.
     	 */
    -	for (i = NINDIR(fs) - 1, nlbn = lbn + 1 - i * factor; i > last;
    +	for (i = LFS_NINDIR(fs) - 1, nlbn = lbn + 1 - i * factor; i > last;
     	    i--, nlbn += factor) {
     		nb = bap[i];
     		if (nb == 0)
    @@ -814,7 +813,7 @@ lfs_indirtrunc(struct inode *ip, daddr_t lbn, daddr_t dbn,
     		mutex_enter(&bufcache_lock);
     		if (bp->b_oflags & BO_DELWRI) {
     			LFS_UNLOCK_BUF(bp);
    -			fs->lfs_avail += btofsb(fs, bp->b_bcount);
    +			fs->lfs_avail += lfs_btofsb(fs, bp->b_bcount);
     			wakeup(&fs->lfs_avail);
     		}
     		brelsel(bp, BC_INVAL);
    @@ -866,7 +865,7 @@ restart:
     		mutex_enter(bp->b_objlock);
     		if (bp->b_oflags & BO_DELWRI) {
     			bp->b_oflags &= ~BO_DELWRI;
    -			fs->lfs_avail += btofsb(fs, bp->b_bcount);
    +			fs->lfs_avail += lfs_btofsb(fs, bp->b_bcount);
     			wakeup(&fs->lfs_avail);
     		}
     		mutex_exit(bp->b_objlock);
    @@ -888,7 +887,7 @@ restart:
     		mutex_enter(bp->b_objlock);
     		if (bp->b_oflags & BO_DELWRI) {
     			bp->b_oflags &= ~BO_DELWRI;
    -			fs->lfs_avail += btofsb(fs, bp->b_bcount);
    +			fs->lfs_avail += lfs_btofsb(fs, bp->b_bcount);
     			wakeup(&fs->lfs_avail);
     		}
     		mutex_exit(bp->b_objlock);
    diff --git a/sys/ufs/lfs/lfs_inode.h b/sys/ufs/lfs/lfs_inode.h
    new file mode 100644
    index 000000000..8969db084
    --- /dev/null
    +++ b/sys/ufs/lfs/lfs_inode.h
    @@ -0,0 +1,335 @@
    +/*	$NetBSD: lfs_inode.h,v 1.5 2013/06/18 08:01:00 dholland Exp $	*/
    +/*  from NetBSD: ulfs_inode.h,v 1.5 2013/06/06 00:51:50 dholland Exp  */
    +/*  from NetBSD: inode.h,v 1.64 2012/11/19 00:36:21 jakllsch Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)inode.h	8.9 (Berkeley) 5/14/95
    + */
    +
    +#ifndef _UFS_LFS_LFS_INODE_H_
    +#define	_UFS_LFS_LFS_INODE_H_
    +
    +/*
    + * Some of the userlevel code (fsck, newfs, lfs_cleanerd) wants to use
    + * the in-memory inode structure in a faked-up kernel environment.
    + * This header file provides a reasonably sanitized version of the
    + * structures and definitions needed for that purpose.
    + */
    +
    +#include 
    +#include 
    +
    +/*
    + * Adjustable filesystem parameters
    + */
    +#define MIN_FREE_SEGS	20
    +#define MIN_RESV_SEGS	15
    +
    +/*
    + * The following constants define the usage of the quota file array in the
    + * ulfsmount structure and dquot array in the inode structure.  The semantics
    + * of the elements of these arrays are defined in the routine lfs_getinoquota;
    + * the remainder of the quota code treats them generically and need not be
    + * inspected when changing the size of the array.
    + */
    +#define	ULFS_MAXQUOTAS	2
    +#define	ULFS_USRQUOTA	0	/* element used for user quotas */
    +#define	ULFS_GRPQUOTA	1	/* element used for group quotas */
    +
    +/*
    + * Lookup result state (other than the result inode). This is
    + * currently stashed in the vnode between VOP_LOOKUP and directory
    + * operation VOPs, which is gross.
    + *
    + * XXX ulr_diroff is a lookup hint from the previos call of VOP_LOOKUP.
    + * probably it should not be here.
    + */
    +struct ulfs_lookup_results {
    +	int32_t	  ulr_count;	/* Size of free slot in directory. */
    +	doff_t	  ulr_endoff;	/* End of useful stuff in directory. */
    +	doff_t	  ulr_diroff;	/* Offset in dir, where we found last entry. */
    +	doff_t	  ulr_offset;	/* Offset of free space in directory. */
    +	u_int32_t ulr_reclen;	/* Size of found directory entry. */
    +};
    +
    +/* notyet XXX */
    +#define ULFS_CHECK_CRAPCOUNTER(dp) ((void)(dp)->i_crapcounter)
    +
    +/*
    + * Per-filesystem inode extensions.
    + */
    +struct lfs_inode_ext;
    +
    +/*
    + * The inode is used to describe each active (or recently active) file in the
    + * ULFS filesystem. It is composed of two types of information. The first part
    + * is the information that is needed only while the file is active (such as
    + * the identity of the file and linkage to speed its lookup). The second part
    + * is the permanent meta-data associated with the file which is read in
    + * from the permanent dinode from long term storage when the file becomes
    + * active, and is put back when the file is no longer being used.
    + */
    +struct inode {
    +	struct genfs_node i_gnode;
    +	LIST_ENTRY(inode) i_hash;/* Hash chain. */
    +	TAILQ_ENTRY(inode) i_nextsnap; /* snapshot file list. */
    +	struct	vnode *i_vnode;	/* Vnode associated with this inode. */
    +	struct  ulfsmount *i_ump; /* Mount point associated with this inode. */
    +	struct	vnode *i_devvp;	/* Vnode for block I/O. */
    +	u_int32_t i_flag;	/* flags, see below */
    +	dev_t	  i_dev;	/* Device associated with the inode. */
    +	ino_t	  i_number;	/* The identity of the inode. */
    +
    +	struct lfs *i_lfs;	/* The LFS volume we belong to. */
    +
    +	void	*i_unused1;	/* Unused. */
    +	struct	 dquot *i_dquot[ULFS_MAXQUOTAS]; /* Dquot structures. */
    +	u_quad_t i_modrev;	/* Revision level for NFS lease. */
    +	struct	 lockf *i_lockf;/* Head of byte-level lock list. */
    +
    +	/*
    +	 * Side effects; used during (and after) directory lookup.
    +	 * XXX should not be here.
    +	 */
    +	struct ulfs_lookup_results i_crap;
    +	unsigned i_crapcounter;	/* serial number for i_crap */
    +
    +	/*
    +	 * Inode extensions
    +	 */
    +	union {
    +		/* Other extensions could go here... */
    +		struct  lfs_inode_ext *lfs;
    +	} inode_ext;
    +	/*
    +	 * Copies from the on-disk dinode itself.
    +	 *
    +	 * These fields are currently only used by LFS.
    +	 */
    +	u_int16_t i_mode;	/* IFMT, permissions; see below. */
    +	int16_t   i_nlink;	/* File link count. */
    +	u_int64_t i_size;	/* File byte count. */
    +	u_int32_t i_flags;	/* Status flags (chflags). */
    +	int32_t   i_gen;	/* Generation number. */
    +	u_int32_t i_uid;	/* File owner. */
    +	u_int32_t i_gid;	/* File group. */
    +	u_int16_t i_omode;	/* Old mode, for ulfs_reclaim. */
    +
    +	struct dirhash *i_dirhash;	/* Hashing for large directories */
    +
    +	/*
    +	 * The on-disk dinode itself.
    +	 */
    +	union {
    +		struct	ulfs1_dinode *ffs1_din;	/* 128 bytes of the on-disk dinode. */
    +		struct	ulfs2_dinode *ffs2_din;
    +	} i_din;
    +};
    +
    +#define	i_ffs1_atime		i_din.ffs1_din->di_atime
    +#define	i_ffs1_atimensec	i_din.ffs1_din->di_atimensec
    +#define	i_ffs1_blocks		i_din.ffs1_din->di_blocks
    +#define	i_ffs1_ctime		i_din.ffs1_din->di_ctime
    +#define	i_ffs1_ctimensec	i_din.ffs1_din->di_ctimensec
    +#define	i_ffs1_db		i_din.ffs1_din->di_db
    +#define	i_ffs1_flags		i_din.ffs1_din->di_flags
    +#define	i_ffs1_gen		i_din.ffs1_din->di_gen
    +#define	i_ffs1_gid		i_din.ffs1_din->di_gid
    +#define	i_ffs1_ib		i_din.ffs1_din->di_ib
    +#define	i_ffs1_mode		i_din.ffs1_din->di_mode
    +#define	i_ffs1_mtime		i_din.ffs1_din->di_mtime
    +#define	i_ffs1_mtimensec	i_din.ffs1_din->di_mtimensec
    +#define	i_ffs1_nlink		i_din.ffs1_din->di_nlink
    +#define	i_ffs1_rdev		i_din.ffs1_din->di_rdev
    +#define	i_ffs1_size		i_din.ffs1_din->di_size
    +#define	i_ffs1_uid		i_din.ffs1_din->di_uid
    +
    +#define	i_ffs2_atime		i_din.ffs2_din->di_atime
    +#define	i_ffs2_atimensec	i_din.ffs2_din->di_atimensec
    +#define	i_ffs2_birthtime	i_din.ffs2_din->di_birthtime
    +#define	i_ffs2_birthnsec	i_din.ffs2_din->di_birthnsec
    +#define	i_ffs2_blocks		i_din.ffs2_din->di_blocks
    +#define	i_ffs2_blksize		i_din.ffs2_din->di_blksize
    +#define	i_ffs2_ctime		i_din.ffs2_din->di_ctime
    +#define	i_ffs2_ctimensec	i_din.ffs2_din->di_ctimensec
    +#define	i_ffs2_db		i_din.ffs2_din->di_db
    +#define	i_ffs2_flags		i_din.ffs2_din->di_flags
    +#define	i_ffs2_gen		i_din.ffs2_din->di_gen
    +#define	i_ffs2_gid		i_din.ffs2_din->di_gid
    +#define	i_ffs2_ib		i_din.ffs2_din->di_ib
    +#define	i_ffs2_mode		i_din.ffs2_din->di_mode
    +#define	i_ffs2_mtime		i_din.ffs2_din->di_mtime
    +#define	i_ffs2_mtimensec	i_din.ffs2_din->di_mtimensec
    +#define	i_ffs2_nlink		i_din.ffs2_din->di_nlink
    +#define	i_ffs2_rdev		i_din.ffs2_din->di_rdev
    +#define	i_ffs2_size		i_din.ffs2_din->di_size
    +#define	i_ffs2_uid		i_din.ffs2_din->di_uid
    +#define	i_ffs2_kernflags	i_din.ffs2_din->di_kernflags
    +#define	i_ffs2_extsize		i_din.ffs2_din->di_extsize
    +#define	i_ffs2_extb		i_din.ffs2_din->di_extb
    +
    +/* These flags are kept in i_flag. */
    +#define	IN_ACCESS	0x0001		/* Access time update request. */
    +#define	IN_CHANGE	0x0002		/* Inode change time update request. */
    +#define	IN_UPDATE	0x0004		/* Inode was written to; update mtime. */
    +#define	IN_MODIFY	0x2000		/* Modification time update request. */
    +#define	IN_MODIFIED	0x0008		/* Inode has been modified. */
    +#define	IN_ACCESSED	0x0010		/* Inode has been accessed. */
    +/* #define	IN_UNUSED	0x0020 */	/* unused, was IN_RENAME */
    +#define	IN_SHLOCK	0x0040		/* File has shared lock. */
    +#define	IN_EXLOCK	0x0080		/* File has exclusive lock. */
    +#define	IN_CLEANING	0x0100		/* LFS: file is being cleaned */
    +#define	IN_ADIROP	0x0200		/* LFS: dirop in progress */
    +#define	IN_SPACECOUNTED	0x0400		/* Blocks to be freed in free count. */
    +#define	IN_PAGING       0x1000		/* LFS: file is on paging queue */
    +#define IN_CDIROP       0x4000          /* LFS: dirop completed pending i/o */
    +
    +/*
    + * LFS inode extensions.
    + */
    +struct lfs_inode_ext {
    +	off_t	  lfs_osize;		/* size of file on disk */
    +	u_int32_t lfs_effnblocks;  /* number of blocks when i/o completes */
    +	size_t	  lfs_fragsize[ULFS_NDADDR]; /* size of on-disk direct blocks */
    +	TAILQ_ENTRY(inode) lfs_dchain;  /* Dirop chain. */
    +	TAILQ_ENTRY(inode) lfs_pchain;  /* Paging chain. */
    +#define LFSI_NO_GOP_WRITE 0x01
    +#define LFSI_DELETED      0x02
    +#define LFSI_WRAPBLOCK    0x04
    +#define LFSI_WRAPWAIT     0x08
    +#define LFSI_BMAP         0x10
    +	u_int32_t lfs_iflags;           /* Inode flags */
    +	daddr_t   lfs_hiblk;		/* Highest lbn held by inode */
    +#ifdef _KERNEL
    +	SPLAY_HEAD(lfs_splay, lbnentry) lfs_lbtree; /* Tree of balloc'd lbns */
    +	int	  lfs_nbtree;		/* Size of tree */
    +	LIST_HEAD(, segdelta) lfs_segdhd;
    +#endif
    +	int16_t	  lfs_odnlink;		/* on-disk nlink count for cleaner */
    +};
    +#define i_lfs_osize		inode_ext.lfs->lfs_osize
    +#define i_lfs_effnblks		inode_ext.lfs->lfs_effnblocks
    +#define i_lfs_fragsize		inode_ext.lfs->lfs_fragsize
    +#define i_lfs_dchain		inode_ext.lfs->lfs_dchain
    +#define i_lfs_pchain		inode_ext.lfs->lfs_pchain
    +#define i_lfs_iflags		inode_ext.lfs->lfs_iflags
    +#define i_lfs_hiblk		inode_ext.lfs->lfs_hiblk
    +#define i_lfs_lbtree		inode_ext.lfs->lfs_lbtree
    +#define i_lfs_nbtree		inode_ext.lfs->lfs_nbtree
    +#define i_lfs_segdhd		inode_ext.lfs->lfs_segdhd
    +#define i_lfs_odnlink		inode_ext.lfs->lfs_odnlink
    +
    +/*
    + * "struct buf" associated definitions
    + */
    +
    +#ifdef _KERNEL
    +
    +# define LFS_IS_MALLOC_BUF(bp) ((bp)->b_iodone == lfs_callback)
    +
    +# ifdef DEBUG
    +#  define LFS_DEBUG_COUNTLOCKED(m) do {					\
    +	if (lfs_debug_log_subsys[DLOG_LLIST]) {				\
    +		lfs_countlocked(&locked_queue_count, &locked_queue_bytes, (m)); \
    +		cv_broadcast(&locked_queue_cv);				\
    +	}								\
    +} while (0)
    +# else
    +#  define LFS_DEBUG_COUNTLOCKED(m)
    +# endif
    +
    +/* log for debugging writes to the Ifile */
    +# ifdef DEBUG
    +struct lfs_log_entry {
    +	const char *op;
    +	const char *file;
    +	int pid;
    +	int line;
    +	daddr_t block;
    +	unsigned long flags;
    +};
    +extern int lfs_lognum;
    +extern struct lfs_log_entry lfs_log[LFS_LOGLENGTH];
    +#  define LFS_BWRITE_LOG(bp) lfs_bwrite_log((bp), __FILE__, __LINE__)
    +#  define LFS_ENTER_LOG(theop, thefile, theline, lbn, theflags, thepid) do {\
    +	int _s;								\
    +									\
    +	mutex_enter(&lfs_lock);						\
    +	_s = splbio();							\
    +	lfs_log[lfs_lognum].op = theop;					\
    +	lfs_log[lfs_lognum].file = thefile;				\
    +	lfs_log[lfs_lognum].line = (theline);				\
    +	lfs_log[lfs_lognum].pid = (thepid);				\
    +	lfs_log[lfs_lognum].block = (lbn);				\
    +	lfs_log[lfs_lognum].flags = (theflags);				\
    +	lfs_lognum = (lfs_lognum + 1) % LFS_LOGLENGTH;			\
    +	splx(_s);							\
    +	mutex_exit(&lfs_lock);						\
    +} while (0)
    +
    +#  define LFS_BCLEAN_LOG(fs, bp) do {					\
    +	if ((bp)->b_vp == (fs)->lfs_ivnode)				\
    +		LFS_ENTER_LOG("clear", __FILE__, __LINE__,		\
    +			      bp->b_lblkno, bp->b_flags, curproc->p_pid);\
    +} while (0)
    +
    +/* Must match list in lfs_vfsops.c ! */
    +#  define DLOG_RF     0  /* roll forward */
    +#  define DLOG_ALLOC  1  /* inode alloc */
    +#  define DLOG_AVAIL  2  /* lfs_{,r,f}avail */
    +#  define DLOG_FLUSH  3  /* flush */
    +#  define DLOG_LLIST  4  /* locked list accounting */
    +#  define DLOG_WVNODE 5  /* vflush/writevnodes verbose */
    +#  define DLOG_VNODE  6  /* vflush/writevnodes */
    +#  define DLOG_SEG    7  /* segwrite */
    +#  define DLOG_SU     8  /* seguse accounting */
    +#  define DLOG_CLEAN  9  /* cleaner routines */
    +#  define DLOG_MOUNT  10 /* mount/unmount */
    +#  define DLOG_PAGE   11 /* putpages/gop_write */
    +#  define DLOG_DIROP  12 /* dirop accounting */
    +#  define DLOG_MALLOC 13 /* lfs_malloc accounting */
    +#  define DLOG_MAX    14 /* The terminator */
    +#  define DLOG(a) lfs_debug_log a
    +# else /* ! DEBUG */
    +#  define LFS_BCLEAN_LOG(fs, bp)
    +#  define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp)->b_vp, (bp))
    +#  define DLOG(a)
    +# endif /* ! DEBUG */
    +#else /* ! _KERNEL */
    +# define LFS_BWRITE_LOG(bp)		VOP_BWRITE((bp))
    +#endif /* _KERNEL */
    +
    +
    +#endif /* _UFS_LFS_LFS_INODE_H_ */
    diff --git a/sys/ufs/lfs/lfs_itimes.c b/sys/ufs/lfs/lfs_itimes.c
    index 3ef9f86c4..56c4085ca 100644
    --- a/sys/ufs/lfs/lfs_itimes.c
    +++ b/sys/ufs/lfs/lfs_itimes.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_itimes.c,v 1.12 2008/04/28 20:24:11 martin Exp $	*/
    +/*	$NetBSD: lfs_itimes.c,v 1.15 2013/06/08 02:16:03 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -29,15 +29,13 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_itimes.c,v 1.12 2008/04/28 20:24:11 martin Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_itimes.c,v 1.15 2013/06/08 02:16:03 dholland Exp $");
     
     #include 
     #include 
     #include 
     #include 
     
    -#include 
    -
     #ifndef _KERNEL
     #include "bufcache.h"
     #include "vnode.h"
    @@ -46,11 +44,13 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_itimes.c,v 1.12 2008/04/28 20:24:11 martin Exp $
     #define buf ubuf
     #define panic call_panic
     #else
    +#include 
     #include 
     #include 
     #endif
     
     #include 
    +#include 
     
     void
     lfs_itimes(struct inode *ip, const struct timespec *acc,
    diff --git a/sys/ufs/lfs/lfs_kernel.h b/sys/ufs/lfs/lfs_kernel.h
    new file mode 100644
    index 000000000..b32e4ad6f
    --- /dev/null
    +++ b/sys/ufs/lfs/lfs_kernel.h
    @@ -0,0 +1,113 @@
    +/*	$NetBSD: lfs_kernel.h,v 1.1 2013/07/28 01:05:52 dholland Exp $	*/
    +
    +/*  from NetBSD: lfs.h,v 1.157 2013/06/28 16:14:06 matt Exp  */
    +
    +/*-
    + * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Konrad E. Schroder .
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +/*-
    + * Copyright (c) 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)lfs.h	8.9 (Berkeley) 5/8/95
    + */
    +
    +#ifndef _UFS_LFS_LFS_KERNEL_H_
    +#define _UFS_LFS_LFS_KERNEL_H_
    +
    +#include 
    +
    +extern struct lfs_stats lfs_stats;
    +
    +/* XXX MP */
    +#define	LFS_SEGLOCK_HELD(fs) \
    +	((fs)->lfs_seglock != 0 &&					\
    +	 (fs)->lfs_lockpid == curproc->p_pid &&				\
    +	 (fs)->lfs_locklwp == curlwp->l_lid)
    +
    +struct lfs_cluster {
    +	size_t bufsize;	       /* Size of kept data */
    +	struct buf **bpp;      /* Array of kept buffers */
    +	int bufcount;	       /* Number of kept buffers */
    +#define LFS_CL_MALLOC	0x00000001
    +#define LFS_CL_SHIFT	0x00000002
    +#define LFS_CL_SYNC	0x00000004
    +	u_int32_t flags;       /* Flags */
    +	struct lfs *fs;	       /* LFS that this belongs to */
    +	struct segment *seg;   /* Segment structure, for LFS_CL_SYNC */
    +};
    +
    +/*
    + * Splay tree containing block numbers allocated through lfs_balloc.
    + */
    +struct lbnentry {
    +	SPLAY_ENTRY(lbnentry) entry;
    +	daddr_t lbn;
    +};
    +
    +/*
    + * Compat fcntls.  Defined for kernel only.  Userland always uses
    + * "the one true version".
    + */
    +#include 
    +
    +#define LFCNSEGWAITALL_COMPAT	 _FCNW_FSPRIV('L', 0, struct timeval50)
    +#define LFCNSEGWAIT_COMPAT	 _FCNW_FSPRIV('L', 1, struct timeval50)
    +#define LFCNIFILEFH_COMPAT	 _FCNW_FSPRIV('L', 5, struct lfs_fhandle)
    +#define LFCNIFILEFH_COMPAT2	 _FCN_FSPRIV(F_FSOUT, 'L', 11, 32)
    +#define LFCNWRAPSTOP_COMPAT	 _FCNO_FSPRIV('L', 9)
    +#define LFCNWRAPGO_COMPAT	 _FCNO_FSPRIV('L', 10)
    +#define LFCNSEGWAITALL_COMPAT_50 _FCNR_FSPRIV('L', 0, struct timeval50)
    +#define LFCNSEGWAIT_COMPAT_50	 _FCNR_FSPRIV('L', 1, struct timeval50)
    +
    +
    +#endif /* _UFS_LFS_LFS_KERNEL_H_ */
    diff --git a/sys/ufs/lfs/lfs_rename.c b/sys/ufs/lfs/lfs_rename.c
    new file mode 100644
    index 000000000..da2e445ae
    --- /dev/null
    +++ b/sys/ufs/lfs/lfs_rename.c
    @@ -0,0 +1,1174 @@
    +/*	$NetBSD: lfs_rename.c,v 1.4 2013/07/28 01:10:49 dholland Exp $	*/
    +/*  from NetBSD: ufs_rename.c,v 1.6 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*-
    + * Copyright (c) 2012 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Taylor R Campbell.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +/*-
    + * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Konrad E. Schroder .
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +/*
    + * Copyright (c) 1986, 1989, 1991, 1993, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)lfs_vnops.c	8.13 (Berkeley) 6/10/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: lfs_rename.c,v 1.4 2013/07/28 01:10:49 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +/*
    + * A virgin directory (no blushing please).
    + *
    + * XXX Copypasta from ulfs_vnops.c.  Kill!
    + */
    +static const struct lfs_dirtemplate mastertemplate = {
    +	0,	12,			LFS_DT_DIR,	1,	".",
    +	0,	LFS_DIRBLKSIZ - 12,	LFS_DT_DIR,	2,	".."
    +};
    +
    +/*
    + * ulfs_gro_directory_empty_p: Return true if the directory vp is
    + * empty.  dvp is its parent.
    + *
    + * vp and dvp must be locked and referenced.
    + */
    +static bool
    +ulfs_gro_directory_empty_p(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *vp, struct vnode *dvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != dvp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +
    +	return ulfs_dirempty(VTOI(vp), VTOI(dvp)->i_number, cred);
    +}
    +
    +/*
    + * ulfs_gro_rename_check_possible: Check whether a rename is possible
    + * independent of credentials.
    + */
    +static int
    +ulfs_gro_rename_check_possible(struct mount *mp,
    +    struct vnode *fdvp, struct vnode *fvp,
    +    struct vnode *tdvp, struct vnode *tvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	return genfs_ufslike_rename_check_possible(
    +	    VTOI(fdvp)->i_flags, VTOI(fvp)->i_flags,
    +	    VTOI(tdvp)->i_flags, (tvp? VTOI(tvp)->i_flags : 0),
    +	    (tvp != NULL),
    +	    IMMUTABLE, APPEND);
    +}
    +
    +/*
    + * ulfs_gro_rename_check_permitted: Check whether a rename is permitted
    + * given our credentials.
    + */
    +static int
    +ulfs_gro_rename_check_permitted(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct vnode *fvp,
    +    struct vnode *tdvp, struct vnode *tvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	return genfs_ufslike_rename_check_permitted(cred,
    +	    fdvp, VTOI(fdvp)->i_mode, VTOI(fdvp)->i_uid,
    +	    fvp, VTOI(fvp)->i_uid,
    +	    tdvp, VTOI(tdvp)->i_mode, VTOI(tdvp)->i_uid,
    +	    tvp, (tvp? VTOI(tvp)->i_uid : 0));
    +}
    +
    +/*
    + * ulfs_gro_remove_check_possible: Check whether a remove is possible
    + * independent of credentials.
    + */
    +static int
    +ulfs_gro_remove_check_possible(struct mount *mp,
    +    struct vnode *dvp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	return genfs_ufslike_remove_check_possible(
    +	    VTOI(dvp)->i_flags, VTOI(vp)->i_flags,
    +	    IMMUTABLE, APPEND);
    +}
    +
    +/*
    + * ulfs_gro_remove_check_permitted: Check whether a remove is permitted
    + * given our credentials.
    + */
    +static int
    +ulfs_gro_remove_check_permitted(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *dvp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	return genfs_ufslike_remove_check_permitted(cred,
    +	    dvp, VTOI(dvp)->i_mode, VTOI(dvp)->i_uid, vp, VTOI(vp)->i_uid);
    +}
    +
    +/*
    + * ulfs_rename_ulr_overlap_p: True iff tulr overlaps with fulr so that
    + * entering a directory entry at tulr may move fulr.
    + */
    +static bool
    +ulfs_rename_ulr_overlap_p(const struct ulfs_lookup_results *fulr,
    +    const struct ulfs_lookup_results *tulr)
    +{
    +	doff_t from_prev_start, from_prev_end, to_start, to_end;
    +
    +	KASSERT(fulr != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +
    +	/*
    +	 * fulr is from a DELETE lookup, so fulr->ulr_count is the size
    +	 * of the preceding entry (d_reclen).
    +	 */
    +	from_prev_end = fulr->ulr_offset;
    +	KASSERT(fulr->ulr_count <= from_prev_end);
    +	from_prev_start = (from_prev_end - fulr->ulr_count);
    +
    +	/*
    +	 * tulr is from a RENAME lookup, so tulr->ulr_count is the size
    +	 * of the free space for an entry that we are about to fill.
    +	 */
    +	to_start = tulr->ulr_offset;
    +	KASSERT(tulr->ulr_count < (LFS_MAXDIRSIZE - to_start));
    +	to_end = (to_start + tulr->ulr_count);
    +
    +	return
    +	    (((to_start <= from_prev_start) && (from_prev_start < to_end)) ||
    +		((to_start <= from_prev_end) && (from_prev_end < to_end)));
    +}
    +
    +/*
    + * ulfs_direct_namlen: Return the namlen of the directory entry ep from
    + * the directory vp.
    + */
    +static int			/* XXX int?  uint8_t?  */
    +ulfs_direct_namlen(const struct lfs_direct *ep, const struct vnode *vp)
    +{
    +	bool swap;
    +
    +	KASSERT(ep != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(VTOI(vp) != NULL);
    +	KASSERT(VTOI(vp)->i_ump != NULL);
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +	swap = (ULFS_IPNEEDSWAP(VTOI(vp)) == 0);
    +#else
    +	swap = (ULFS_IPNEEDSWAP(VTOI(vp)) != 0);
    +#endif
    +
    +	return ((FSFMT(vp) && swap)? ep->d_type : ep->d_namlen);
    +}
    +
    +/*
    + * ulfs_rename_recalculate_fulr: If we have just entered a directory into
    + * dvp at tulr, and we were about to remove one at fulr for an entry
    + * named fcnp, fulr may be invalid.  So, if necessary, recalculate it.
    + */
    +static int
    +ulfs_rename_recalculate_fulr(struct vnode *dvp,
    +    struct ulfs_lookup_results *fulr, const struct ulfs_lookup_results *tulr,
    +    const struct componentname *fcnp)
    +{
    +	struct mount *mp;
    +	struct lfs *fs;
    +	struct ulfsmount *ump;
    +	int needswap;
    +	/* XXX int is a silly type for this; blame ulfsmount::um_dirblksiz.  */
    +	int dirblksiz;
    +	doff_t search_start, search_end;
    +	doff_t offset;		/* Offset of entry we're examining.  */
    +	struct buf *bp;		/* I/O block we're examining.  */
    +	char *dirbuf;		/* Pointer into directory at search_start.  */
    +	struct lfs_direct *ep;	/* Pointer to the entry we're examining.  */
    +	/* XXX direct::d_reclen is 16-bit;
    +	 * ulfs_lookup_results::ulr_reclen is 32-bit.  Blah.  */
    +	uint32_t reclen;	/* Length of the entry we're examining.  */
    +	uint32_t prev_reclen;	/* Length of the preceding entry.  */
    +	int error;
    +
    +	KASSERT(dvp != NULL);
    +	KASSERT(dvp->v_mount != NULL);
    +	KASSERT(VTOI(dvp) != NULL);
    +	KASSERT(fulr != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +	KASSERT(ulfs_rename_ulr_overlap_p(fulr, tulr));
    +
    +	mp = dvp->v_mount;
    +	ump = VFSTOULFS(mp);
    +	fs = ump->um_lfs;
    +	KASSERT(ump != NULL);
    +	KASSERT(ump == VTOI(dvp)->i_ump);
    +	KASSERT(fs == VTOI(dvp)->i_lfs);
    +
    +	needswap = ULFS_MPNEEDSWAP(fs);
    +
    +	dirblksiz = fs->um_dirblksiz;
    +	KASSERT(0 < dirblksiz);
    +	KASSERT((dirblksiz & (dirblksiz - 1)) == 0);
    +
    +	/* A directory block may not span across multiple I/O blocks.  */
    +	KASSERT(dirblksiz <= mp->mnt_stat.f_iosize);
    +
    +	/* Find the bounds of the search.  */
    +	search_start = tulr->ulr_offset;
    +	KASSERT(fulr->ulr_reclen < (LFS_MAXDIRSIZE - fulr->ulr_offset));
    +	search_end = (fulr->ulr_offset + fulr->ulr_reclen);
    +
    +	/* Compaction must happen only within a directory block. (*)  */
    +	KASSERT(search_start <= search_end);
    +	KASSERT((search_end - (search_start &~ (dirblksiz - 1))) <= dirblksiz);
    +
    +	dirbuf = NULL;
    +	bp = NULL;
    +	error = ulfs_blkatoff(dvp, (off_t)search_start, &dirbuf, &bp, false);
    +	if (error)
    +		return error;
    +	KASSERT(dirbuf != NULL);
    +	KASSERT(bp != NULL);
    +
    +	/*
    +	 * Guarantee we sha'n't go past the end of the buffer we got.
    +	 * dirbuf is bp->b_data + (search_start & (iosize - 1)), and
    +	 * the valid range is [bp->b_data, bp->b_data + bp->b_bcount).
    +	 */
    +	KASSERT((search_end - search_start) <=
    +	    (bp->b_bcount - (search_start & (mp->mnt_stat.f_iosize - 1))));
    +
    +	prev_reclen = fulr->ulr_count;
    +	offset = search_start;
    +
    +	/*
    +	 * Search from search_start to search_end for the entry matching
    +	 * fcnp, which must be there because we found it before and it
    +	 * should only at most have moved earlier.
    +	 */
    +	for (;;) {
    +		KASSERT(search_start <= offset);
    +		KASSERT(offset < search_end);
    +
    +		/*
    +		 * Examine the directory entry at offset.
    +		 */
    +		ep = (struct lfs_direct *)(dirbuf + (offset - search_start));
    +		reclen = ulfs_rw16(ep->d_reclen, needswap);
    +
    +		if (ep->d_ino == 0)
    +			goto next;	/* Entry is unused.  */
    +
    +		if (ulfs_rw32(ep->d_ino, needswap) == ULFS_WINO)
    +			goto next;	/* Entry is whiteout.  */
    +
    +		if (fcnp->cn_namelen != ulfs_direct_namlen(ep, dvp))
    +			goto next;	/* Wrong name length.  */
    +
    +		if (memcmp(ep->d_name, fcnp->cn_nameptr, fcnp->cn_namelen))
    +			goto next;	/* Wrong name.  */
    +
    +		/* Got it!  */
    +		break;
    +
    +next:
    +		if (! ((reclen < search_end) &&
    +			(offset < (search_end - reclen)))) {
    +			brelse(bp, 0);
    +			return EIO;	/* XXX Panic?  What?  */
    +		}
    +
    +		/* We may not move past the search end.  */
    +		KASSERT(reclen < search_end);
    +		KASSERT(offset < (search_end - reclen));
    +
    +		/*
    +		 * We may not move across a directory block boundary;
    +		 * see (*) above.
    +		 */
    +		KASSERT((offset &~ (dirblksiz - 1)) ==
    +		    ((offset + reclen) &~ (dirblksiz - 1)));
    +
    +		prev_reclen = reclen;
    +		offset += reclen;
    +	}
    +
    +	/*
    +	 * Found the entry.  Record where.
    +	 */
    +	fulr->ulr_offset = offset;
    +	fulr->ulr_reclen = reclen;
    +
    +	/*
    +	 * Record the preceding record length, but not if we're at the
    +	 * start of a directory block.
    +	 */
    +	fulr->ulr_count = ((offset & (dirblksiz - 1))? prev_reclen : 0);
    +
    +	brelse(bp, 0);
    +	return 0;
    +}
    +
    +/*
    + * ulfs_gro_remove: Rename an object over another link to itself,
    + * effectively removing just the original link.
    + */
    +static int
    +ulfs_gro_remove(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *dvp, struct componentname *cnp, void *de, struct vnode *vp)
    +{
    +	struct ulfs_lookup_results *ulr = de;
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(cnp != NULL);
    +	KASSERT(ulr != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(cnp->cn_nameiop == DELETE);
    +
    +	fstrans_start(mp, FSTRANS_SHARED);
    +
    +	/* XXX ulfs_dirremove decrements vp's link count for us.  */
    +	error = ulfs_dirremove(dvp, ulr, VTOI(vp), cnp->cn_flags, 0);
    +	if (error)
    +		goto out1;
    +
    +	VN_KNOTE(dvp, NOTE_WRITE);
    +	VN_KNOTE(vp, (VTOI(vp)->i_nlink? NOTE_LINK : NOTE_DELETE));
    +
    +out1:
    +	fstrans_done(mp);
    +	return error;
    +}
    +
    +/*
    + * ulfs_gro_lookup: Look up and save the lookup results.
    + */
    +static int
    +ulfs_gro_lookup(struct mount *mp, struct vnode *dvp,
    +    struct componentname *cnp, void *de_ret, struct vnode **vp_ret)
    +{
    +	struct ulfs_lookup_results *ulr_ret = de_ret;
    +	struct vnode *vp = NULL;
    +	int error;
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(cnp != NULL);
    +	KASSERT(ulr_ret != NULL);
    +	KASSERT(vp_ret != NULL);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +
    +	/* Kludge cargo-culted from dholland's ulfs_rename.  */
    +	cnp->cn_flags &=~ MODMASK;
    +	cnp->cn_flags |= (LOCKPARENT | LOCKLEAF);
    +
    +	error = relookup(dvp, &vp, cnp, 0 /* dummy */);
    +	if ((error == 0) && (vp == NULL)) {
    +		error = ENOENT;
    +		goto out;
    +	} else if (error) {
    +		return error;
    +	}
    +
    +	/*
    +	 * Thanks to VFS insanity, relookup locks vp, which screws us
    +	 * in various ways.
    +	 */
    +	KASSERT(vp != NULL);
    +	VOP_UNLOCK(vp);
    +
    +out:	*ulr_ret = VTOI(dvp)->i_crap;
    +	*vp_ret = vp;
    +	return error;
    +}
    +
    +/*
    + * ulfs_rmdired_p: Check whether the directory vp has been rmdired.
    + *
    + * vp must be locked and referenced.
    + */
    +static bool
    +ulfs_rmdired_p(struct vnode *vp)
    +{
    +
    +	KASSERT(vp != NULL);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(vp->v_type == VDIR);
    +
    +	/* XXX Is this correct?  */
    +	return (VTOI(vp)->i_size == 0);
    +}
    +
    +/*
    + * ulfs_dirbuf_dotdot_namlen: Return the namlen of the directory buffer
    + * dirbuf that came from the directory vp.  Swap byte order if
    + * necessary.
    + */
    +static int			/* XXX int?  uint8_t?  */
    +ulfs_dirbuf_dotdot_namlen(const struct lfs_dirtemplate *dirbuf,
    +    const struct vnode *vp)
    +{
    +	bool swap;
    +
    +	KASSERT(dirbuf != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(VTOI(vp) != NULL);
    +	KASSERT(VTOI(vp)->i_ump != NULL);
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +	swap = (ULFS_IPNEEDSWAP(VTOI(vp)) == 0);
    +#else
    +	swap = (ULFS_IPNEEDSWAP(VTOI(vp)) != 0);
    +#endif
    +
    +	return ((FSFMT(vp) && swap)?
    +	    dirbuf->dotdot_type : dirbuf->dotdot_namlen);
    +}
    +
    +/*
    + * ulfs_read_dotdot: Store in *ino_ret the inode number of the parent
    + * of the directory vp.
    + */
    +static int
    +ulfs_read_dotdot(struct vnode *vp, kauth_cred_t cred, ino_t *ino_ret)
    +{
    +	struct lfs_dirtemplate dirbuf;
    +	int error;
    +
    +	KASSERT(vp != NULL);
    +	KASSERT(ino_ret != NULL);
    +	KASSERT(vp->v_type == VDIR);
    +
    +	error = vn_rdwr(UIO_READ, vp, &dirbuf, sizeof dirbuf, (off_t)0,
    +	    UIO_SYSSPACE, IO_NODELOCKED, cred, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +	if (ulfs_dirbuf_dotdot_namlen(&dirbuf, vp) != 2 ||
    +	    dirbuf.dotdot_name[0] != '.' ||
    +	    dirbuf.dotdot_name[1] != '.')
    +		/* XXX Panic?  Print warning?  */
    +		return ENOTDIR;
    +
    +	*ino_ret = ulfs_rw32(dirbuf.dotdot_ino,
    +	    ULFS_IPNEEDSWAP(VTOI(vp)));
    +	return 0;
    +}
    +
    +/*
    + * ulfs_gro_lock_directory: Lock the directory vp, but fail if it has
    + * been rmdir'd.
    + */
    +static int
    +ulfs_gro_lock_directory(struct mount *mp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(vp->v_mount == mp);
    +
    +	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +
    +	if (ulfs_rmdired_p(vp)) {
    +		VOP_UNLOCK(vp);
    +		return ENOENT;
    +	}
    +
    +	return 0;
    +}
    +
    +/*
    + * ulfs_gro_genealogy: Analyze the genealogy of the source and target
    + * directories.
    + */
    +static int
    +ulfs_gro_genealogy(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct vnode *tdvp,
    +    struct vnode **intermediate_node_ret)
    +{
    +	struct vnode *vp, *dvp;
    +	ino_t dotdot_ino;
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != tdvp);
    +	KASSERT(intermediate_node_ret != NULL);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +
    +	/*
    +	 * We need to provisionally lock tdvp to keep rmdir from
    +	 * deleting it -- or any ancestor -- at an inopportune moment.
    +	 */
    +	error = ulfs_gro_lock_directory(mp, tdvp);
    +	if (error)
    +		return error;
    +
    +	vp = tdvp;
    +	vref(vp);
    +
    +	for (;;) {
    +		KASSERT(vp != NULL);
    +		KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +		KASSERT(vp->v_mount == mp);
    +		KASSERT(vp->v_type == VDIR);
    +		KASSERT(!ulfs_rmdired_p(vp));
    +
    +		/* Did we hit the root without finding fdvp?  */
    +		if (VTOI(vp)->i_number == ULFS_ROOTINO) {
    +			vput(vp);
    +			*intermediate_node_ret = NULL;
    +			return 0;
    +		}
    +
    +		error = ulfs_read_dotdot(vp, cred, &dotdot_ino);
    +		if (error) {
    +			vput(vp);
    +			return error;
    +		}
    +
    +		/* Did we find that fdvp is an ancestor of tdvp?  */
    +		if (VTOI(fdvp)->i_number == dotdot_ino) {
    +			/* Unlock vp, but keep it referenced.  */
    +			VOP_UNLOCK(vp);
    +			*intermediate_node_ret = vp;
    +			return 0;
    +		}
    +
    +		/* Neither -- keep ascending the family tree.  */
    +
    +		/*
    +		 * Unlock vp so that we can lock the parent, but keep
    +		 * vp referenced until after we have found the parent,
    +		 * so that dotdot_ino will not be recycled.
    +		 *
    +		 * XXX This guarantees that vp's inode number will not
    +		 * be recycled, but why can't dotdot_ino be recycled?
    +		 */
    +		VOP_UNLOCK(vp);
    +		error = VFS_VGET(mp, dotdot_ino, &dvp);
    +		vrele(vp);
    +		if (error)
    +			return error;
    +
    +		KASSERT(dvp != NULL);
    +		KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +		vp = dvp;
    +
    +		if (vp->v_type != VDIR) {
    +			/*
    +			 * XXX Panic?  Print a warning?  Can this
    +			 * happen if we lose the race I suspect to
    +			 * exist above, and the `..' inode number has
    +			 * been recycled?
    +			 */
    +			vput(vp);
    +			return ENOTDIR;
    +		}
    +
    +		if (ulfs_rmdired_p(vp)) {
    +			vput(vp);
    +			return ENOENT;
    +		}
    +	}
    +}
    +
    +/*
    + * ulfs_gro_rename: Actually perform the rename operation.
    + */
    +static int
    +ulfs_gro_rename(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    void *fde, struct vnode *fvp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    void *tde, struct vnode *tvp)
    +{
    +	struct ulfs_lookup_results *fulr = fde;
    +	struct ulfs_lookup_results *tulr = tde;
    +	bool directory_p, reparent_p;
    +	struct lfs_direct *newdir;
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fcnp != NULL);
    +	KASSERT(fulr != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(tcnp != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	/*
    +	 * We shall need to temporarily bump the link count, so make
    +	 * sure there is room to do so.
    +	 */
    +	if ((nlink_t)VTOI(fvp)->i_nlink >= LINK_MAX)
    +		return EMLINK;
    +
    +	directory_p = (fvp->v_type == VDIR);
    +	KASSERT(directory_p == ((VTOI(fvp)->i_mode & LFS_IFMT) == LFS_IFDIR));
    +	KASSERT((tvp == NULL) || (directory_p == (tvp->v_type == VDIR)));
    +	KASSERT((tvp == NULL) || (directory_p ==
    +		((VTOI(tvp)->i_mode & LFS_IFMT) == LFS_IFDIR)));
    +
    +	reparent_p = (fdvp != tdvp);
    +	KASSERT(reparent_p == (VTOI(fdvp)->i_number != VTOI(tdvp)->i_number));
    +
    +	/*
    +	 * Commence hacking of the data on disk.
    +	 */
    +
    +	fstrans_start(mp, FSTRANS_SHARED);
    +	error = 0;
    +
    +	/*
    +	 * 1) Bump link count while we're moving stuff
    +	 *    around.  If we crash somewhere before
    +	 *    completing our work, the link count
    +	 *    may be wrong, but correctable.
    +	 */
    +
    +	KASSERT((nlink_t)VTOI(fvp)->i_nlink < LINK_MAX);
    +	VTOI(fvp)->i_nlink++;
    +	DIP_ASSIGN(VTOI(fvp), nlink, VTOI(fvp)->i_nlink);
    +	VTOI(fvp)->i_flag |= IN_CHANGE;
    +	error = lfs_update(fvp, NULL, NULL, UPDATE_DIROP);
    +	if (error)
    +		goto whymustithurtsomuch;
    +
    +	/*
    +	 * 2) If target doesn't exist, link the target
    +	 *    to the source and unlink the source.
    +	 *    Otherwise, rewrite the target directory
    +	 *    entry to reference the source inode and
    +	 *    expunge the original entry's existence.
    +	 */
    +
    +	if (tvp == NULL) {
    +		/*
    +		 * Account for ".." in new directory.
    +		 * When source and destination have the same
    +		 * parent we don't fool with the link count.
    +		 */
    +		if (directory_p && reparent_p) {
    +			if ((nlink_t)VTOI(tdvp)->i_nlink >= LINK_MAX) {
    +				error = EMLINK;
    +				goto whymustithurtsomuch;
    +			}
    +			KASSERT((nlink_t)VTOI(tdvp)->i_nlink < LINK_MAX);
    +			VTOI(tdvp)->i_nlink++;
    +			DIP_ASSIGN(VTOI(tdvp), nlink, VTOI(tdvp)->i_nlink);
    +			VTOI(tdvp)->i_flag |= IN_CHANGE;
    +			error = lfs_update(tdvp, NULL, NULL, UPDATE_DIROP);
    +			if (error) {
    +				/*
    +				 * Link count update didn't take --
    +				 * back out the in-memory link count.
    +				 */
    +				KASSERT(0 < VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_nlink--;
    +				DIP_ASSIGN(VTOI(tdvp), nlink,
    +				    VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_flag |= IN_CHANGE;
    +				goto whymustithurtsomuch;
    +			}
    +		}
    +
    +		newdir = pool_cache_get(ulfs_direct_cache, PR_WAITOK);
    +		ulfs_makedirentry(VTOI(fvp), tcnp, newdir);
    +		error = ulfs_direnter(tdvp, tulr, NULL, newdir, tcnp, NULL);
    +		pool_cache_put(ulfs_direct_cache, newdir);
    +		if (error) {
    +			if (directory_p && reparent_p) {
    +				/*
    +				 * Directory update didn't take, but
    +				 * the link count update did -- back
    +				 * out the in-memory link count and the
    +				 * on-disk link count.
    +				 */
    +				KASSERT(0 < VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_nlink--;
    +				DIP_ASSIGN(VTOI(tdvp), nlink,
    +				    VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_flag |= IN_CHANGE;
    +				(void)lfs_update(tdvp, NULL, NULL,
    +				    UPDATE_WAIT | UPDATE_DIROP);
    +			}
    +			goto whymustithurtsomuch;
    +		}
    +	} else {
    +		if (directory_p)
    +			/* XXX WTF?  Why purge here?  Why not purge others?  */
    +			cache_purge(tdvp);
    +
    +		/*
    +		 * Make the target directory's entry for tcnp point at
    +		 * the source node.
    +		 *
    +		 * XXX ulfs_dirrewrite decrements tvp's link count, but
    +		 * doesn't touch the link count of the new inode.  Go
    +		 * figure.
    +		 */
    +		error = ulfs_dirrewrite(VTOI(tdvp), tulr->ulr_offset,
    +		    VTOI(tvp), VTOI(fvp)->i_number, LFS_IFTODT(VTOI(fvp)->i_mode),
    +		    ((directory_p && reparent_p) ? reparent_p : directory_p),
    +		    IN_CHANGE | IN_UPDATE);
    +		if (error)
    +			goto whymustithurtsomuch;
    +
    +		/*
    +		 * If the source and target are directories, and the
    +		 * target is in the same directory as the source,
    +		 * decrement the link count of the common parent
    +		 * directory, since we are removing the target from
    +		 * that directory.
    +		 */
    +		if (directory_p && !reparent_p) {
    +			KASSERT(fdvp == tdvp);
    +			/* XXX check, don't kassert */
    +			KASSERT(0 < VTOI(tdvp)->i_nlink);
    +			VTOI(tdvp)->i_nlink--;
    +			DIP_ASSIGN(VTOI(tdvp), nlink, VTOI(tdvp)->i_nlink);
    +			VTOI(tdvp)->i_flag |= IN_CHANGE;
    +		}
    +
    +		if (directory_p) {
    +			/*
    +			 * XXX I don't understand the following comment
    +			 * from ulfs_rename -- in particular, the part
    +			 * about `there may be other hard links'.
    +			 *
    +			 * Truncate inode. The only stuff left in the directory
    +			 * is "." and "..". The "." reference is inconsequential
    +			 * since we are quashing it. We have removed the "."
    +			 * reference and the reference in the parent directory,
    +			 * but there may be other hard links.
    +			 *
    +			 * XXX The ulfs_dirempty call earlier does
    +			 * not guarantee anything about nlink.
    +			 */
    +			if (VTOI(tvp)->i_nlink != 1)
    +				ulfs_dirbad(VTOI(tvp), (doff_t)0,
    +				    "hard-linked directory");
    +			VTOI(tvp)->i_nlink = 0;
    +			DIP_ASSIGN(VTOI(tvp), nlink, 0);
    +			error = lfs_truncate(tvp, (off_t)0, IO_SYNC, cred);
    +			if (error)
    +				goto whymustithurtsomuch;
    +		}
    +	}
    +
    +	/*
    +	 * If the source is a directory with a new parent, the link
    +	 * count of the old parent directory must be decremented and
    +	 * ".." set to point to the new parent.
    +	 *
    +	 * XXX ulfs_dirrewrite updates the link count of fdvp, but not
    +	 * the link count of fvp or the link count of tdvp.  Go figure.
    +	 */
    +	if (directory_p && reparent_p) {
    +		error = ulfs_dirrewrite(VTOI(fvp), mastertemplate.dot_reclen,
    +		    VTOI(fdvp), VTOI(tdvp)->i_number, LFS_DT_DIR, 0, IN_CHANGE);
    +#if 0		/* XXX This branch was not in ulfs_rename! */
    +		if (error)
    +			goto whymustithurtsomuch;
    +#endif
    +
    +		/* XXX WTF?  Why purge here?  Why not purge others?  */
    +		cache_purge(fdvp);
    +	}
    +
    +	/*
    +	 * 3) Unlink the source.
    +	 */
    +
    +	/*
    +	 * ulfs_direnter may compact the directory in the process of
    +	 * inserting a new entry.  That may invalidate fulr, which we
    +	 * need in order to remove the old entry.  In that case, we
    +	 * need to recalculate what fulr should be.
    +	 */
    +	if (!reparent_p && (tvp == NULL) &&
    +	    ulfs_rename_ulr_overlap_p(fulr, tulr)) {
    +		error = ulfs_rename_recalculate_fulr(fdvp, fulr, tulr, fcnp);
    +#if 0				/* XXX */
    +		if (error)	/* XXX Try to back out changes?  */
    +			goto whymustithurtsomuch;
    +#endif
    +	}
    +
    +	/*
    +	 * XXX 0 means !isrmdir.  But can't this be an rmdir?
    +	 * XXX Well, turns out that argument to ulfs_dirremove is ignored...
    +	 * XXX And it turns out ulfs_dirremove updates the link count of fvp.
    +	 * XXX But it doesn't update the link count of fdvp.  Go figure.
    +	 * XXX fdvp's link count is updated in ulfs_dirrewrite instead.
    +	 * XXX Actually, sometimes it doesn't update fvp's link count.
    +	 * XXX I hate the world.
    +	 */
    +	error = ulfs_dirremove(fdvp, fulr, VTOI(fvp), fcnp->cn_flags, 0);
    +	if (error)
    +#if 0				/* XXX */
    +		goto whymustithurtsomuch;
    +#endif
    +		goto arghmybrainhurts;
    +
    +	/*
    +	 * XXX Perhaps this should go at the top, in case the file
    +	 * system is modified but incompletely so because of an
    +	 * intermediate error.
    +	 */
    +	genfs_rename_knote(fdvp, fvp, tdvp, tvp,
    +	    ((tvp != NULL) && (VTOI(tvp)->i_nlink == 0)));
    +#if 0				/* XXX */
    +	genfs_rename_cache_purge(fdvp, fvp, tdvp, tvp);
    +#endif
    +	goto arghmybrainhurts;
    +
    +whymustithurtsomuch:
    +	KASSERT(0 < VTOI(fvp)->i_nlink);
    +	VTOI(fvp)->i_nlink--;
    +	DIP_ASSIGN(VTOI(fvp), nlink, VTOI(fvp)->i_nlink);
    +	VTOI(fvp)->i_flag |= IN_CHANGE;
    +
    +arghmybrainhurts:
    +/*ihateyou:*/
    +	fstrans_done(mp);
    +	return error;
    +}
    +
    +/*
    + * lfs_gro_rename: Actually perform the rename operation.  Do a little
    + * LFS bookkeeping and then defer to ulfs_gro_rename.
    + */
    +static int
    +lfs_gro_rename(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    void *fde, struct vnode *fvp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    void *tde, struct vnode *tvp)
    +{
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fcnp != NULL);
    +	KASSERT(fde != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(tcnp != NULL);
    +	KASSERT(tde != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	error = SET_DIROP_REMOVE(tdvp, tvp);
    +	if (error != 0)
    +		return error;
    +
    +	MARK_VNODE(fdvp);
    +	MARK_VNODE(fvp);
    +
    +	error = ulfs_gro_rename(mp, cred,
    +	    fdvp, fcnp, fde, fvp,
    +	    tdvp, tcnp, tde, tvp);
    +
    +	UNMARK_VNODE(fdvp);
    +	UNMARK_VNODE(fvp);
    +	SET_ENDOP_REMOVE(VFSTOULFS(mp)->um_lfs, tdvp, tvp, "rename");
    +
    +	return error;
    +}
    +
    +static const struct genfs_rename_ops lfs_genfs_rename_ops = {
    +	.gro_directory_empty_p		= ulfs_gro_directory_empty_p,
    +	.gro_rename_check_possible	= ulfs_gro_rename_check_possible,
    +	.gro_rename_check_permitted	= ulfs_gro_rename_check_permitted,
    +	.gro_remove_check_possible	= ulfs_gro_remove_check_possible,
    +	.gro_remove_check_permitted	= ulfs_gro_remove_check_permitted,
    +	.gro_rename			= lfs_gro_rename,
    +	.gro_remove			= ulfs_gro_remove,
    +	.gro_lookup			= ulfs_gro_lookup,
    +	.gro_genealogy			= ulfs_gro_genealogy,
    +	.gro_lock_directory		= ulfs_gro_lock_directory,
    +};
    +
    +/*
    + * lfs_sane_rename: The hairiest vop, with the saner API.
    + *
    + * Arguments:
    + *
    + * . fdvp (from directory vnode),
    + * . fcnp (from component name),
    + * . tdvp (to directory vnode),
    + * . tcnp (to component name),
    + * . cred (credentials structure), and
    + * . posixly_correct (flag for behaviour if target & source link same file).
    + *
    + * fdvp and tdvp may be the same, and must be referenced and unlocked.
    + */
    +static int
    +lfs_sane_rename(
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    kauth_cred_t cred, bool posixly_correct)
    +{
    +	struct ulfs_lookup_results fulr, tulr;
    +
    +	/*
    +	 * XXX Provisional kludge -- ulfs_lookup does not reject rename
    +	 * of . or .. (from or to), so we hack it here.  This is not
    +	 * the right place: it should be caller's responsibility to
    +	 * reject this case.
    +	 */
    +	KASSERT(fcnp != NULL);
    +	KASSERT(tcnp != NULL);
    +	KASSERT(fcnp != tcnp);
    +	KASSERT(fcnp->cn_nameptr != NULL);
    +	KASSERT(tcnp->cn_nameptr != NULL);
    +
    +	if ((fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT)
    +		return EINVAL;	/* XXX EISDIR?  */
    +	if ((fcnp->cn_namelen == 1) && (fcnp->cn_nameptr[0] == '.'))
    +		return EINVAL;
    +	if ((tcnp->cn_namelen == 1) && (tcnp->cn_nameptr[0] == '.'))
    +		return EINVAL;
    +
    +	return genfs_sane_rename(&lfs_genfs_rename_ops,
    +	    fdvp, fcnp, &fulr, tdvp, tcnp, &tulr,
    +	    cred, posixly_correct);
    +}
    +
    +/*
    + * lfs_rename: The hairiest vop, with the insanest API.  Defer to
    + * genfs_insane_rename immediately.
    + */
    +int
    +lfs_rename(void *v)
    +{
    +
    +	return genfs_insane_rename(v, &lfs_sane_rename);
    +}
    diff --git a/sys/ufs/lfs/lfs_rfw.c b/sys/ufs/lfs/lfs_rfw.c
    index 60d926ee4..ca7137ef2 100644
    --- a/sys/ufs/lfs/lfs_rfw.c
    +++ b/sys/ufs/lfs/lfs_rfw.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_rfw.c,v 1.12 2009/02/22 20:28:07 ad Exp $	*/
    +/*	$NetBSD: lfs_rfw.c,v 1.18 2013/07/28 01:05:52 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -30,7 +30,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_rfw.c,v 1.12 2009/02/22 20:28:07 ad Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_rfw.c,v 1.18 2013/07/28 01:05:52 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_quota.h"
    @@ -62,10 +62,10 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_rfw.c,v 1.12 2009/02/22 20:28:07 ad Exp $");
     
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    @@ -73,6 +73,7 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_rfw.c,v 1.12 2009/02/22 20:28:07 ad Exp $");
     #include 
     
     #include 
    +#include 
     #include 
     
     #include 
    @@ -180,9 +181,9 @@ lfs_rf_valloc(struct lfs *fs, ino_t ino, int vers, struct lwp *l,
     		 * this later if it turns out to be some other kind of file.
     		 */
     		ip = VTOI(vp);
    -		ip->i_mode = ip->i_ffs1_mode = IFREG;
    +		ip->i_mode = ip->i_ffs1_mode = LFS_IFREG;
     		ip->i_nlink = ip->i_ffs1_nlink = 1;
    -		ufs_vinit(vp->v_mount, lfs_specop_p, lfs_fifoop_p, &vp);
    +		ulfs_vinit(vp->v_mount, lfs_specop_p, lfs_fifoop_p, &vp);
     		ip = VTOI(vp);
     
     		DLOG((DLOG_RF, "lfs_rf_valloc: ino %d vp %p\n", ino, vp));
    @@ -216,7 +217,7 @@ update_meta(struct lfs *fs, ino_t ino, int vers, daddr_t lbn,
     	struct inode *ip;
     #ifdef DEBUG
     	daddr_t odaddr;
    -	struct indir a[NIADDR];
    +	struct indir a[ULFS_NIADDR];
     	int num;
     	int i;
     #endif /* DEBUG */
    @@ -239,7 +240,7 @@ update_meta(struct lfs *fs, ino_t ino, int vers, daddr_t lbn,
     	/* No need to write, the block is already on disk */
     	if (bp->b_oflags & BO_DELWRI) {
     		LFS_UNLOCK_BUF(bp);
    -		fs->lfs_avail += btofsb(fs, bp->b_bcount);
    +		fs->lfs_avail += lfs_btofsb(fs, bp->b_bcount);
     	}
     	brelse(bp, BC_INVAL);
     
    @@ -253,7 +254,7 @@ update_meta(struct lfs *fs, ino_t ino, int vers, daddr_t lbn,
     	if (ip->i_size <= (lbn << fs->lfs_bshift)) {
     		u_int64_t newsize;
     
    -		if (lbn < NDADDR)
    +		if (lbn < ULFS_NDADDR)
     			newsize = ip->i_ffs1_size = (lbn << fs->lfs_bshift) +
     				(size - fs->lfs_fsize) + 1;
     		else
    @@ -271,23 +272,23 @@ update_meta(struct lfs *fs, ino_t ino, int vers, daddr_t lbn,
     
     	lfs_update_single(fs, NULL, vp, lbn, ndaddr, size);
     
    -	LFS_SEGENTRY(sup, fs, dtosn(fs, ndaddr), bp);
    +	LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, ndaddr), bp);
     	sup->su_nbytes += size;
    -	LFS_WRITESEGENTRY(sup, fs, dtosn(fs, ndaddr), bp);
    +	LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, ndaddr), bp);
     
     	/* differences here should be due to UNWRITTEN indirect blocks. */
    -	KASSERT((lblkno(fs, ip->i_size) > NDADDR &&
    +	KASSERT((lfs_lblkno(fs, ip->i_size) > ULFS_NDADDR &&
     	    ip->i_lfs_effnblks == ip->i_ffs1_blocks) ||
     	    ip->i_lfs_effnblks >= ip->i_ffs1_blocks);
     
     #ifdef DEBUG
     	/* Now look again to make sure it worked */
    -	ufs_bmaparray(vp, lbn, &odaddr, &a[0], &num, NULL, NULL);
    +	ulfs_bmaparray(vp, lbn, &odaddr, &a[0], &num, NULL, NULL);
     	for (i = num; i > 0; i--) {
     		if (!a[i].in_exists)
     			panic("update_meta: absent %d lv indirect block", i);
     	}
    -	if (dbtofsb(fs, odaddr) != ndaddr)
    +	if (LFS_DBTOFSB(fs, odaddr) != ndaddr)
     		DLOG((DLOG_RF, "update_meta: failed setting ino %d lbn %"
     		      PRId64 " to %" PRId64 "\n", ino, lbn, ndaddr));
     #endif /* DEBUG */
    @@ -301,7 +302,7 @@ update_inoblk(struct lfs *fs, daddr_t offset, kauth_cred_t cred,
     {
     	struct vnode *devvp, *vp;
     	struct inode *ip;
    -	struct ufs1_dinode *dip;
    +	struct ulfs1_dinode *dip;
     	struct buf *dbp, *ibp;
     	int error;
     	daddr_t daddr;
    @@ -314,14 +315,14 @@ update_inoblk(struct lfs *fs, daddr_t offset, kauth_cred_t cred,
     	 * Get the inode, update times and perms.
     	 * DO NOT update disk blocks, we do that separately.
     	 */
    -	error = bread(devvp, fsbtodb(fs, offset), fs->lfs_ibsize,
    +	error = bread(devvp, LFS_FSBTODB(fs, offset), fs->lfs_ibsize,
     	    cred, 0, &dbp);
     	if (error) {
     		DLOG((DLOG_RF, "update_inoblk: bread returned %d\n", error));
     		return error;
     	}
    -	dip = ((struct ufs1_dinode *)(dbp->b_data)) + INOPB(fs);
    -	while (--dip >= (struct ufs1_dinode *)dbp->b_data) {
    +	dip = ((struct ulfs1_dinode *)(dbp->b_data)) + LFS_INOPB(fs);
    +	while (--dip >= (struct ulfs1_dinode *)dbp->b_data) {
     		if (dip->di_inumber > LFS_IFILE_INUM) {
     			error = lfs_rf_valloc(fs, dip->di_inumber, dip->di_gen,
     					      l, &vp);
    @@ -335,7 +336,7 @@ update_inoblk(struct lfs *fs, daddr_t offset, kauth_cred_t cred,
     				lfs_truncate(vp, dip->di_size, 0, NOCRED);
     			/* Get mode, link count, size, and times */
     			memcpy(ip->i_din.ffs1_din, dip,
    -			       offsetof(struct ufs1_dinode, di_db[0]));
    +			       offsetof(struct ulfs1_dinode, di_db[0]));
     
     			/* Then the rest, except di_blocks */
     			ip->i_flags = ip->i_ffs1_flags = dip->di_flags;
    @@ -350,30 +351,30 @@ update_inoblk(struct lfs *fs, daddr_t offset, kauth_cred_t cred,
     			LFS_SET_UINO(ip, IN_CHANGE | IN_UPDATE);
     
     			/* Re-initialize to get type right */
    -			ufs_vinit(vp->v_mount, lfs_specop_p, lfs_fifoop_p,
    +			ulfs_vinit(vp->v_mount, lfs_specop_p, lfs_fifoop_p,
     				  &vp);
     			vput(vp);
     
     			/* Record change in location */
     			LFS_IENTRY(ifp, fs, dip->di_inumber, ibp);
     			daddr = ifp->if_daddr;
    -			ifp->if_daddr = dbtofsb(fs, dbp->b_blkno);
    +			ifp->if_daddr = LFS_DBTOFSB(fs, dbp->b_blkno);
     			error = LFS_BWRITE_LOG(ibp); /* Ifile */
     			/* And do segment accounting */
    -			if (dtosn(fs, daddr) != dtosn(fs, dbtofsb(fs, dbp->b_blkno))) {
    +			if (lfs_dtosn(fs, daddr) != lfs_dtosn(fs, LFS_DBTOFSB(fs, dbp->b_blkno))) {
     				if (daddr > 0) {
    -					LFS_SEGENTRY(sup, fs, dtosn(fs, daddr),
    +					LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, daddr),
     						     ibp);
    -					sup->su_nbytes -= sizeof (struct ufs1_dinode);
    +					sup->su_nbytes -= sizeof (struct ulfs1_dinode);
     					LFS_WRITESEGENTRY(sup, fs,
    -							  dtosn(fs, daddr),
    +							  lfs_dtosn(fs, daddr),
     							  ibp);
     				}
    -				LFS_SEGENTRY(sup, fs, dtosn(fs, dbtofsb(fs, dbp->b_blkno)),
    +				LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, LFS_DBTOFSB(fs, dbp->b_blkno)),
     					     ibp);
    -				sup->su_nbytes += sizeof (struct ufs1_dinode);
    +				sup->su_nbytes += sizeof (struct ulfs1_dinode);
     				LFS_WRITESEGENTRY(sup, fs,
    -						  dtosn(fs, dbtofsb(fs, dbp->b_blkno)),
    +						  lfs_dtosn(fs, LFS_DBTOFSB(fs, dbp->b_blkno)),
     						  ibp);
     			}
     		}
    @@ -406,15 +407,15 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     	 * If the segment has a superblock and we're at the top
     	 * of the segment, skip the superblock.
     	 */
    -	if (sntod(fs, dtosn(fs, offset)) == offset) {
    -		LFS_SEGENTRY(sup, fs, dtosn(fs, offset), bp);
    +	if (lfs_sntod(fs, lfs_dtosn(fs, offset)) == offset) {
    +		LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, offset), bp);
     		if (sup->su_flags & SEGUSE_SUPERBLOCK)
    -			offset += btofsb(fs, LFS_SBPAD);
    +			offset += lfs_btofsb(fs, LFS_SBPAD);
     		brelse(bp, 0);
     	}
     
     	/* Read in the segment summary */
    -	error = bread(devvp, fsbtodb(fs, offset), fs->lfs_sumsize,
    +	error = bread(devvp, LFS_FSBTODB(fs, offset), fs->lfs_sumsize,
     	    cred, 0, &bp);
     	if (error)
     		return -1;
    @@ -457,9 +458,9 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     	if (pseg_flags)
     		*pseg_flags = ssp->ss_flags;
     	oldoffset = offset;
    -	offset += btofsb(fs, fs->lfs_sumsize);
    +	offset += lfs_btofsb(fs, fs->lfs_sumsize);
     
    -	ninos = howmany(ssp->ss_ninos, INOPB(fs));
    +	ninos = howmany(ssp->ss_ninos, LFS_INOPB(fs));
     	/* XXX ondisk32 */
     	iaddr = (int32_t *)((char*)bp->b_data + fs->lfs_sumsize - sizeof(int32_t));
     	if (flags & CHECK_CKSUM) {
    @@ -487,7 +488,7 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     		if (ninos && *iaddr == offset) {
     			if (flags & CHECK_CKSUM) {
     				/* Read in the head and add to the buffer */
    -				error = bread(devvp, fsbtodb(fs, offset), fs->lfs_bsize,
    +				error = bread(devvp, LFS_FSBTODB(fs, offset), fs->lfs_bsize,
     					      cred, 0, &dbp);
     				if (error) {
     					offset = -1;
    @@ -503,7 +504,7 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     					goto err2;
     				}
     			}
    -			offset += btofsb(fs, fs->lfs_ibsize);
    +			offset += lfs_btofsb(fs, fs->lfs_ibsize);
     			--iaddr;
     			--ninos;
     			--i; /* compensate */
    @@ -514,7 +515,7 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     			if (j == fip->fi_nblocks - 1)
     				size = fip->fi_lastlength;
     			if (flags & CHECK_CKSUM) {
    -				error = bread(devvp, fsbtodb(fs, offset), size,
    +				error = bread(devvp, LFS_FSBTODB(fs, offset), size,
     				    cred, 0, &dbp);
     				if (error) {
     					offset = -1;
    @@ -530,7 +531,7 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     				update_meta(fs, fip->fi_ino, fip->fi_version,
     					    fip->fi_blocks[j], offset, size, l);
     			}
    -			offset += btofsb(fs, size);
    +			offset += lfs_btofsb(fs, size);
     		}
     		/* XXX ondisk32 */
     		fip = (FINFO *)(((char *)fip) + FINFOSIZE
    @@ -549,15 +550,15 @@ check_segsum(struct lfs *fs, daddr_t offset, u_int64_t nextserial,
     	}
     
     	/* If we're at the end of the segment, move to the next */
    -	if (dtosn(fs, offset + btofsb(fs, fs->lfs_sumsize + fs->lfs_bsize)) !=
    -	   dtosn(fs, offset)) {
    -		if (dtosn(fs, offset) == dtosn(fs, ssp->ss_next)) {
    +	if (lfs_dtosn(fs, offset + lfs_btofsb(fs, fs->lfs_sumsize + fs->lfs_bsize)) !=
    +	   lfs_dtosn(fs, offset)) {
    +		if (lfs_dtosn(fs, offset) == lfs_dtosn(fs, ssp->ss_next)) {
     			offset = -1;
     			goto err2;
     		}
     		offset = ssp->ss_next;
     		DLOG((DLOG_RF, "LFS roll forward: moving to offset 0x%" PRIx64
    -		       " -> segment %d\n", offset, dtosn(fs,offset)));
    +		       " -> segment %d\n", offset, lfs_dtosn(fs,offset)));
     	}
     
     	if (flags & CHECK_UPDATE) {
    @@ -621,22 +622,22 @@ lfs_roll_forward(struct lfs *fs, struct mount *mp, struct lwp *l)
     		flags = 0x0;
     		DLOG((DLOG_RF, "LFS roll forward phase 1: start at offset 0x%"
     		      PRIx64 "\n", offset));
    -		LFS_SEGENTRY(sup, fs, dtosn(fs, offset), bp);
    +		LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, offset), bp);
     		if (!(sup->su_flags & SEGUSE_DIRTY))
     			--fs->lfs_nclean;
     		sup->su_flags |= SEGUSE_DIRTY;
    -		LFS_WRITESEGENTRY(sup, fs, dtosn(fs, offset), bp);
    +		LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, offset), bp);
     		nextserial = fs->lfs_serial + 1;
     		while ((offset = check_segsum(fs, offset, nextserial,
     		    cred, CHECK_CKSUM, &flags, l)) > 0) {
     			nextserial++;
    -			if (sntod(fs, oldoffset) != sntod(fs, offset)) {
    -				LFS_SEGENTRY(sup, fs, dtosn(fs, oldoffset),
    +			if (lfs_sntod(fs, oldoffset) != lfs_sntod(fs, offset)) {
    +				LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, oldoffset),
     					     bp);
     				if (!(sup->su_flags & SEGUSE_DIRTY))
     					--fs->lfs_nclean;
     				sup->su_flags |= SEGUSE_DIRTY;
    -				LFS_WRITESEGENTRY(sup, fs, dtosn(fs, oldoffset),
    +				LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, oldoffset),
     					     bp);
     			}
     
    @@ -665,8 +666,8 @@ lfs_roll_forward(struct lfs *fs, struct mount *mp, struct lwp *l)
     			/* Don't overwrite what we're trying to preserve */
     			offset = fs->lfs_offset;
     			fs->lfs_offset = lastgoodpseg;
    -			fs->lfs_curseg = sntod(fs, dtosn(fs, fs->lfs_offset));
    -			for (sn = curseg = dtosn(fs, fs->lfs_curseg);;) {
    +			fs->lfs_curseg = lfs_sntod(fs, lfs_dtosn(fs, fs->lfs_offset));
    +			for (sn = curseg = lfs_dtosn(fs, fs->lfs_curseg);;) {
     				sn = (sn + 1) % fs->lfs_nseg;
     				if (sn == curseg)
     					panic("lfs_mountfs: no clean segments");
    @@ -676,7 +677,7 @@ lfs_roll_forward(struct lfs *fs, struct mount *mp, struct lwp *l)
     				if (!dirty)
     					break;
     			}
    -			fs->lfs_nextseg = sntod(fs, sn);
    +			fs->lfs_nextseg = lfs_sntod(fs, sn);
     
     			/*
     			 * Phase II: Roll forward from the first superblock.
    diff --git a/sys/ufs/lfs/lfs_segment.c b/sys/ufs/lfs/lfs_segment.c
    index aea143a5c..98e514b6b 100644
    --- a/sys/ufs/lfs/lfs_segment.c
    +++ b/sys/ufs/lfs/lfs_segment.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_segment.c,v 1.222 2011/07/11 08:27:40 hannken Exp $	*/
    +/*	$NetBSD: lfs_segment.c,v 1.233 2013/10/29 09:53:51 hannken Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.222 2011/07/11 08:27:40 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.233 2013/10/29 09:53:51 hannken Exp $");
     
     #ifdef DEBUG
     # define vndebug(vp, str) do {						\
    @@ -95,12 +95,12 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_segment.c,v 1.222 2011/07/11 08:27:40 hannken Ex
     #include 
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
     
     #include 
    +#include 
     #include 
     
     #include 
    @@ -195,13 +195,15 @@ lfs_vflush(struct vnode *vp)
     	int error;
     	int flushed;
     	int relock;
    -	int loopcount;
     
     	ip = VTOI(vp);
    -	fs = VFSTOUFS(vp->v_mount)->um_lfs;
    +	fs = VFSTOULFS(vp->v_mount)->um_lfs;
     	relock = 0;
     
         top:
    +	KASSERT(mutex_owned(vp->v_interlock) == false);
    +	KASSERT(mutex_owned(&lfs_lock) == false);
    +	KASSERT(mutex_owned(&bufcache_lock) == false);
     	ASSERT_NO_SEGLOCK(fs);
     	if (ip->i_flag & IN_CLEANING) {
     		ivndebug(vp,"vflush/in_cleaning");
    @@ -230,15 +232,15 @@ lfs_vflush(struct vnode *vp)
     				struct vm_page *pg;
     				voff_t off;
     
    -				for (off = lblktosize(fs, bp->b_lblkno);
    -				     off < lblktosize(fs, bp->b_lblkno + 1);
    +				for (off = lfs_lblktosize(fs, bp->b_lblkno);
    +				     off < lfs_lblktosize(fs, bp->b_lblkno + 1);
     				     off += PAGE_SIZE) {
     					pg = uvm_pagelookup(&vp->v_uobj, off);
     					if (pg == NULL)
     						continue;
     					if ((pg->flags & PG_CLEAN) == 0 ||
     					    pmap_is_modified(pg)) {
    -						fs->lfs_avail += btofsb(fs,
    +						fs->lfs_avail += lfs_btofsb(fs,
     							bp->b_bcount);
     						wakeup(&fs->lfs_avail);
     						mutex_exit(vp->v_interlock);
    @@ -257,7 +259,7 @@ lfs_vflush(struct vnode *vp)
     				   && tbp->b_lblkno == bp->b_lblkno
     				   && tbp != bp)
     				{
    -					fs->lfs_avail += btofsb(fs,
    +					fs->lfs_avail += lfs_btofsb(fs,
     						bp->b_bcount);
     					wakeup(&fs->lfs_avail);
     					mutex_exit(vp->v_interlock);
    @@ -280,7 +282,10 @@ lfs_vflush(struct vnode *vp)
     	mutex_exit(vp->v_interlock);
     
     	/* Protect against VI_XLOCK deadlock in vinvalbuf() */
    -	lfs_seglock(fs, SEGM_SYNC);
    +	lfs_seglock(fs, SEGM_SYNC | ((vp->v_iflag & VI_XLOCK) ? SEGM_RECLAIM : 0));
    +	if (vp->v_iflag & VI_XLOCK) {
    +		fs->lfs_reclino = ip->i_number;
    +	}
     
     	/* If we're supposed to flush a freed inode, just toss it */
     	if (ip->i_lfs_iflags & LFSI_DELETED) {
    @@ -300,7 +305,7 @@ lfs_vflush(struct vnode *vp)
     
     			KASSERT((bp->b_flags & B_GATHERED) == 0);
     			if (bp->b_oflags & BO_DELWRI) { /* XXX always true? */
    -				fs->lfs_avail += btofsb(fs, bp->b_bcount);
    +				fs->lfs_avail += lfs_btofsb(fs, bp->b_bcount);
     				wakeup(&fs->lfs_avail);
     			}
     			/* Copied from lfs_writeseg */
    @@ -376,15 +381,18 @@ lfs_vflush(struct vnode *vp)
     #endif
     
     	do {
    -		loopcount = 0;
    +#ifdef DEBUG
    +		int loopcount = 0;
    +#endif
     		do {
     			if (LIST_FIRST(&vp->v_dirtyblkhd) != NULL) {
     				relock = lfs_writefile(fs, sp, vp);
    -				if (relock) {
    +				if (relock && vp != fs->lfs_ivnode) {
     					/*
     					 * Might have to wait for the
     					 * cleaner to run; but we're
     					 * still not done with this vnode.
    +					 * XXX we can do better than this.
     					 */
     					KDASSERT(ip->i_number != LFS_IFILE_INUM);
     					lfs_writeinode(fs, sp, ip);
    @@ -486,9 +494,16 @@ lfs_writevnodes(struct lfs *fs, struct mount *mp, struct segment *sp, int op)
     			 * After this, pages might be busy
     			 * due to our own previous putpages.
     			 * Start actual segment write here to avoid deadlock.
    +			 * If we were just writing one segment and we've done
    +			 * that, break out.
     			 */
     			mutex_exit(&mntvnode_lock);
    -			(void)lfs_writeseg(fs, sp);
    +			if (lfs_writeseg(fs, sp) &&
    +			    (sp->seg_flags & SEGM_SINGLE) &&
    +			    fs->lfs_curseg != fs->lfs_startseg) {
    +				DLOG((DLOG_VNODE, "lfs_writevnodes: breaking out of segment write at daddr 0x%x\n", fs->lfs_offset));
    +				break;
    +			}
     			goto loop;
     		}
     
    @@ -609,9 +624,8 @@ lfs_segwrite(struct mount *mp, int flags)
     	int dirty;
     	int redo;
     	int um_error;
    -	int loopcount;
     
    -	fs = VFSTOUFS(mp)->um_lfs;
    +	fs = VFSTOULFS(mp)->um_lfs;
     	ASSERT_MAYBE_SEGLOCK(fs);
     
     	if (fs->lfs_ronly)
    @@ -626,6 +640,10 @@ lfs_segwrite(struct mount *mp, int flags)
     	 */
     	do_ckp = LFS_SHOULD_CHECKPOINT(fs, flags);
     
    +	/* We can't do a partial write and checkpoint at the same time. */
    +	if (do_ckp)
    +		flags &= ~SEGM_SINGLE;
    +
     	lfs_seglock(fs, flags | (do_ckp ? SEGM_CKP : 0));
     	sp = fs->lfs_sp;
     	if (sp->seg_flags & (SEGM_CLEAN | SEGM_CKP))
    @@ -645,6 +663,11 @@ lfs_segwrite(struct mount *mp, int flags)
     	else if (!(sp->seg_flags & SEGM_FORCE_CKP)) {
     		do {
     			um_error = lfs_writevnodes(fs, mp, sp, VN_REG);
    +			if ((sp->seg_flags & SEGM_SINGLE) &&
    +			    fs->lfs_curseg != fs->lfs_startseg) {
    +				DLOG((DLOG_SEG, "lfs_segwrite: breaking out of segment write at daddr 0x%x\n", fs->lfs_offset));
    +				break;
    +			}
     
     			if (do_ckp || fs->lfs_dirops == 0) {
     				if (!writer_set) {
    @@ -682,7 +705,7 @@ lfs_segwrite(struct mount *mp, int flags)
     			maxseg = min(segleft, fs->lfs_sepb);
     			for (i = 0; i < maxseg; i++) {
     				sn = curseg + i;
    -				if (sn != dtosn(fs, fs->lfs_curseg) &&
    +				if (sn != lfs_dtosn(fs, fs->lfs_curseg) &&
     				    segusep->su_flags & SEGUSE_ACTIVE) {
     					segusep->su_flags &= ~SEGUSE_ACTIVE;
     					--fs->lfs_nactive;
    @@ -711,8 +734,9 @@ lfs_segwrite(struct mount *mp, int flags)
     	did_ckp = 0;
     	if (do_ckp || fs->lfs_doifile) {
     		vp = fs->lfs_ivnode;
    -		vn_lock(vp, LK_EXCLUSIVE);
    -		loopcount = 0;
    +#ifdef DEBUG
    +		int loopcount = 0;
    +#endif
     		do {
     #ifdef DEBUG
     			LFS_ENTER_LOG("pretend", __FILE__, __LINE__, 0, 0, curproc->p_pid);
    @@ -784,7 +808,6 @@ lfs_segwrite(struct mount *mp, int flags)
     		}
     #endif
     		mutex_exit(vp->v_interlock);
    -		VOP_UNLOCK(vp);
     	} else {
     		(void) lfs_writeseg(fs, sp);
     	}
    @@ -823,7 +846,6 @@ lfs_segwrite(struct mount *mp, int flags)
     int
     lfs_writefile(struct lfs *fs, struct segment *sp, struct vnode *vp)
     {
    -	struct finfo *fip;
     	struct inode *ip;
     	int i, frag;
     	int error;
    @@ -832,7 +854,6 @@ lfs_writefile(struct lfs *fs, struct segment *sp, struct vnode *vp)
     	error = 0;
     	ip = VTOI(vp);
     
    -	fip = sp->fip;
     	lfs_acquire_finfo(fs, ip->i_number, ip->i_gen);
     
     	if (vp->v_uflag & VU_DIROP)
    @@ -887,7 +908,7 @@ lfs_writefile(struct lfs *fs, struct segment *sp, struct vnode *vp)
     	 */
     	frag = 0;
     	if (sp->seg_flags & SEGM_CLEAN) {
    -		for (i = 0; i < NDADDR; i++)
    +		for (i = 0; i < ULFS_NDADDR; i++)
     			if (ip->i_lfs_fragsize[i] > 0 &&
     			    ip->i_lfs_fragsize[i] < fs->lfs_bsize)
     				++frag;
    @@ -902,7 +923,6 @@ lfs_writefile(struct lfs *fs, struct segment *sp, struct vnode *vp)
     		lfs_gather(fs, sp, vp, lfs_match_dindir);
     		lfs_gather(fs, sp, vp, lfs_match_tindir);
     	}
    -	fip = sp->fip;
     	lfs_release_finfo(fs);
     
     	return error;
    @@ -919,7 +939,7 @@ lfs_update_iaddr(struct lfs *fs, struct segment *sp, struct inode *ip, daddr_t n
     	IFILE *ifp;
     	SEGUSE *sup;
     	ino_t ino;
    -	int redo_ifile, error;
    +	int redo_ifile;
     	u_int32_t sn;
     
     	redo_ifile = 0;
    @@ -931,12 +951,12 @@ lfs_update_iaddr(struct lfs *fs, struct segment *sp, struct inode *ip, daddr_t n
     	ino = ip->i_number;
     	if (ino == LFS_IFILE_INUM) {
     		daddr = fs->lfs_idaddr;
    -		fs->lfs_idaddr = dbtofsb(fs, ndaddr);
    +		fs->lfs_idaddr = LFS_DBTOFSB(fs, ndaddr);
     	} else {
     		LFS_IENTRY(ifp, fs, ino, bp);
     		daddr = ifp->if_daddr;
    -		ifp->if_daddr = dbtofsb(fs, ndaddr);
    -		error = LFS_BWRITE_LOG(bp); /* Ifile */
    +		ifp->if_daddr = LFS_DBTOFSB(fs, ndaddr);
    +		(void)LFS_BWRITE_LOG(bp); /* Ifile */
     	}
     
     	/*
    @@ -945,8 +965,8 @@ lfs_update_iaddr(struct lfs *fs, struct segment *sp, struct inode *ip, daddr_t n
     	 * (XXX should already be dirty?) and tell the caller to do it again.
     	 */
     	if (ip->i_number == LFS_IFILE_INUM) {
    -		sn = dtosn(fs, fs->lfs_offset);
    -		if (sntod(fs, sn) + btofsb(fs, fs->lfs_sumsize) ==
    +		sn = lfs_dtosn(fs, fs->lfs_offset);
    +		if (lfs_sntod(fs, sn) + lfs_btofsb(fs, fs->lfs_sumsize) ==
     		    fs->lfs_offset) {
     			LFS_SEGENTRY(sup, fs, sn, bp);
     			KASSERT(bp->b_oflags & BO_DELWRI);
    @@ -978,33 +998,33 @@ lfs_update_iaddr(struct lfs *fs, struct segment *sp, struct inode *ip, daddr_t n
     	 * is actually written.
     	 */
     	if (daddr != LFS_UNUSED_DADDR) {
    -		u_int32_t oldsn = dtosn(fs, daddr);
    +		u_int32_t oldsn = lfs_dtosn(fs, daddr);
     #ifdef DIAGNOSTIC
     		int ndupino = (sp->seg_number == oldsn) ? sp->ndupino : 0;
     #endif
     		LFS_SEGENTRY(sup, fs, oldsn, bp);
     #ifdef DIAGNOSTIC
     		if (sup->su_nbytes +
    -		    sizeof (struct ufs1_dinode) * ndupino
    -		      < sizeof (struct ufs1_dinode)) {
    +		    sizeof (struct ulfs1_dinode) * ndupino
    +		      < sizeof (struct ulfs1_dinode)) {
     			printf("lfs_writeinode: negative bytes "
     			       "(segment %" PRIu32 " short by %d, "
     			       "oldsn=%" PRIu32 ", cursn=%" PRIu32
     			       ", daddr=%" PRId64 ", su_nbytes=%u, "
     			       "ndupino=%d)\n",
    -			       dtosn(fs, daddr),
    -			       (int)sizeof (struct ufs1_dinode) *
    +			       lfs_dtosn(fs, daddr),
    +			       (int)sizeof (struct ulfs1_dinode) *
     				   (1 - sp->ndupino) - sup->su_nbytes,
     			       oldsn, sp->seg_number, daddr,
     			       (unsigned int)sup->su_nbytes,
     			       sp->ndupino);
     			panic("lfs_writeinode: negative bytes");
    -			sup->su_nbytes = sizeof (struct ufs1_dinode);
    +			sup->su_nbytes = sizeof (struct ulfs1_dinode);
     		}
     #endif
     		DLOG((DLOG_SU, "seg %d -= %d for ino %d inode\n",
    -		      dtosn(fs, daddr), sizeof (struct ufs1_dinode), ino));
    -		sup->su_nbytes -= sizeof (struct ufs1_dinode);
    +		      lfs_dtosn(fs, daddr), sizeof (struct ulfs1_dinode), ino));
    +		sup->su_nbytes -= sizeof (struct ulfs1_dinode);
     		redo_ifile |=
     			(ino == LFS_IFILE_INUM && !(bp->b_flags & B_GATHERED));
     		if (redo_ifile) {
    @@ -1024,7 +1044,8 @@ int
     lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     {
     	struct buf *bp;
    -	struct ufs1_dinode *cdp;
    +	struct ulfs1_dinode *cdp;
    +	struct vnode *vp = ITOV(ip);
     	daddr_t daddr;
     	int32_t *daddrp;	/* XXX ondisk32 */
     	int i, ndx;
    @@ -1033,7 +1054,7 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	int count;
     
     	ASSERT_SEGLOCK(fs);
    -	if (!(ip->i_flag & IN_ALLMOD))
    +	if (!(ip->i_flag & IN_ALLMOD) && !(vp->v_uflag & VU_DIROP))
     		return (0);
     
     	/* Can't write ifile when writer is not set */
    @@ -1047,7 +1068,7 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	 * solid.
     	 */
     	count = 0;
    -	while (ip->i_number == LFS_IFILE_INUM) {
    +	while (vp == fs->lfs_ivnode) {
     		int redo = 0;
     
     		if (sp->idp == NULL && sp->ibp == NULL &&
    @@ -1090,29 +1111,29 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     
     		/* Get next inode block. */
     		daddr = fs->lfs_offset;
    -		fs->lfs_offset += btofsb(fs, fs->lfs_ibsize);
    +		fs->lfs_offset += lfs_btofsb(fs, fs->lfs_ibsize);
     		sp->ibp = *sp->cbpp++ =
     			getblk(VTOI(fs->lfs_ivnode)->i_devvp,
    -			    fsbtodb(fs, daddr), fs->lfs_ibsize, 0, 0);
    +			    LFS_FSBTODB(fs, daddr), fs->lfs_ibsize, 0, 0);
     		gotblk++;
     
     		/* Zero out inode numbers */
    -		for (i = 0; i < INOPB(fs); ++i)
    -			((struct ufs1_dinode *)sp->ibp->b_data)[i].di_inumber =
    +		for (i = 0; i < LFS_INOPB(fs); ++i)
    +			((struct ulfs1_dinode *)sp->ibp->b_data)[i].di_inumber =
     			    0;
     
     		++sp->start_bpp;
    -		fs->lfs_avail -= btofsb(fs, fs->lfs_ibsize);
    +		fs->lfs_avail -= lfs_btofsb(fs, fs->lfs_ibsize);
     		/* Set remaining space counters. */
     		sp->seg_bytes_left -= fs->lfs_ibsize;
     		sp->sum_bytes_left -= sizeof(int32_t);
     		ndx = fs->lfs_sumsize / sizeof(int32_t) -
    -			sp->ninodes / INOPB(fs) - 1;
    +			sp->ninodes / LFS_INOPB(fs) - 1;
     		((int32_t *)(sp->segsum))[ndx] = daddr;
     	}
     
     	/* Check VU_DIROP in case there is a new file with no data blocks */
    -	if (ITOV(ip)->v_uflag & VU_DIROP)
    +	if (vp->v_uflag & VU_DIROP)
     		((SEGSUM *)(sp->segsum))->ss_flags |= (SS_DIROP|SS_CONT);
     
     	/* Update the inode times and copy the inode onto the inode page. */
    @@ -1135,9 +1156,21 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	}
     
     	bp = sp->ibp;
    -	cdp = ((struct ufs1_dinode *)bp->b_data) + (sp->ninodes % INOPB(fs));
    +	cdp = ((struct ulfs1_dinode *)bp->b_data) + (sp->ninodes % LFS_INOPB(fs));
     	*cdp = *ip->i_din.ffs1_din;
     
    +	/*
    +	 * This inode is on its way to disk; clear its VU_DIROP status when
    +	 * the write is complete.
    +	 */
    +	if (vp->v_uflag & VU_DIROP) {
    +		if (!(sp->seg_flags & SEGM_CLEAN))
    +			ip->i_flag |= IN_CDIROP;
    +		else {
    +			DLOG((DLOG_DIROP, "lfs_writeinode: not clearing dirop for cleaned ino %d\n", (int)ip->i_number));
    +		}
    +	}
    +
     	/*
     	 * If cleaning, link counts and directory file sizes cannot change,
     	 * since those would be directory operations---even if the file
    @@ -1146,9 +1179,9 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	 * current values the next time we clean.
     	 */
     	if (sp->seg_flags & SEGM_CLEAN) {
    -		if (ITOV(ip)->v_uflag & VU_DIROP) {
    +		if (vp->v_uflag & VU_DIROP) {
     			cdp->di_nlink = ip->i_lfs_odnlink;
    -			/* if (ITOV(ip)->v_type == VDIR) */
    +			/* if (vp->v_type == VDIR) */
     			cdp->di_size = ip->i_lfs_osize;
     		}
     	} else {
    @@ -1174,8 +1207,8 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	 */
     
     	/* Check file size based on highest allocated block */
    -	if (((ip->i_ffs1_mode & IFMT) == IFREG ||
    -	     (ip->i_ffs1_mode & IFMT) == IFDIR) &&
    +	if (((ip->i_ffs1_mode & LFS_IFMT) == LFS_IFREG ||
    +	     (ip->i_ffs1_mode & LFS_IFMT) == LFS_IFDIR) &&
     	    ip->i_size > ((ip->i_lfs_hiblk + 1) << fs->lfs_bshift)) {
     		cdp->di_size = (ip->i_lfs_hiblk + 1) << fs->lfs_bshift;
     		DLOG((DLOG_SEG, "lfs_writeinode: ino %d size %" PRId64 " -> %"
    @@ -1185,7 +1218,7 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     		DLOG((DLOG_SEG, "lfs_writeinode: cleansing ino %d eff %d != nblk %d)"
     		      " at %x\n", ip->i_number, ip->i_lfs_effnblks,
     		      ip->i_ffs1_blocks, fs->lfs_offset));
    -		for (daddrp = cdp->di_db; daddrp < cdp->di_ib + NIADDR;
    +		for (daddrp = cdp->di_db; daddrp < cdp->di_ib + ULFS_NIADDR;
     		     daddrp++) {
     			if (*daddrp == UNWRITTEN) {
     				DLOG((DLOG_SEG, "lfs_writeinode: wiping UNWRITTEN\n"));
    @@ -1200,12 +1233,12 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	 * This should be identical to the check in lfs_vget().
     	 */
     	for (i = (cdp->di_size + fs->lfs_bsize - 1) >> fs->lfs_bshift;
    -	     i < NDADDR; i++) {
    +	     i < ULFS_NDADDR; i++) {
     		KASSERT(i >= 0);
    -		if ((cdp->di_mode & IFMT) == IFLNK)
    +		if ((cdp->di_mode & LFS_IFMT) == LFS_IFLNK)
     			continue;
    -		if (((cdp->di_mode & IFMT) == IFBLK ||
    -		     (cdp->di_mode & IFMT) == IFCHR) && i == 0)
    +		if (((cdp->di_mode & LFS_IFMT) == LFS_IFBLK ||
    +		     (cdp->di_mode & LFS_IFMT) == LFS_IFCHR) && i == 0)
     			continue;
     		if (cdp->di_db[i] != 0) {
     # ifdef DEBUG
    @@ -1233,8 +1266,8 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     
     	if (ip->i_number == LFS_IFILE_INUM) {
     		/* We know sp->idp == NULL */
    -		sp->idp = ((struct ufs1_dinode *)bp->b_data) +
    -			(sp->ninodes % INOPB(fs));
    +		sp->idp = ((struct ulfs1_dinode *)bp->b_data) +
    +			(sp->ninodes % LFS_INOPB(fs));
     
     		/* Not dirty any more */
     		mutex_enter(&lfs_lock);
    @@ -1253,7 +1286,7 @@ lfs_writeinode(struct lfs *fs, struct segment *sp, struct inode *ip)
     	++((SEGSUM *)(sp->segsum))->ss_ninos;
     
     	/* If this page is full, set flag to allocate a new page. */
    -	if (++sp->ninodes % INOPB(fs) == 0)
    +	if (++sp->ninodes % LFS_INOPB(fs) == 0)
     		sp->ibp = NULL;
     
     	redo_ifile = lfs_update_iaddr(fs, sp, ip, bp->b_blkno);
    @@ -1382,7 +1415,7 @@ loop:
     			DLOG((DLOG_SEG, "lfs_gather: lbn %" PRId64
     			      " blk %" PRId64 " not B_LOCKED\n",
     			      bp->b_lblkno,
    -			      dbtofsb(fs, bp->b_blkno)));
    +			      LFS_DBTOFSB(fs, bp->b_blkno)));
     			VOP_PRINT(bp->b_vp);
     			panic("lfs_gather: bp not B_LOCKED");
     		}
    @@ -1414,7 +1447,7 @@ loop:
     
     /*
      * Change the given block's address to ndaddr, finding its previous
    - * location using ufs_bmaparray().
    + * location using ulfs_bmaparray().
      *
      * Account for this change in the segment table.
      *
    @@ -1426,7 +1459,7 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     {
     	SEGUSE *sup;
     	struct buf *bp;
    -	struct indir a[NIADDR + 2], *ap;
    +	struct indir a[ULFS_NIADDR + 2], *ap;
     	struct inode *ip;
     	daddr_t daddr, ooff;
     	int num, error;
    @@ -1436,16 +1469,16 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     	KASSERT(sp == NULL || sp->vp == vp);
     	ip = VTOI(vp);
     
    -	error = ufs_bmaparray(vp, lbn, &daddr, a, &num, NULL, NULL);
    +	error = ulfs_bmaparray(vp, lbn, &daddr, a, &num, NULL, NULL);
     	if (error)
    -		panic("lfs_updatemeta: ufs_bmaparray returned %d", error);
    +		panic("lfs_updatemeta: ulfs_bmaparray returned %d", error);
     
     	daddr = (daddr_t)((int32_t)daddr); /* XXX ondisk32 */
     	KASSERT(daddr <= LFS_MAX_DADDR);
     	if (daddr > 0)
    -		daddr = dbtofsb(fs, daddr);
    +		daddr = LFS_DBTOFSB(fs, daddr);
     
    -	bb = numfrags(fs, size);
    +	bb = lfs_numfrags(fs, size);
     	switch (num) {
     	    case 0:
     		    ooff = ip->i_ffs1_db[lbn];
    @@ -1454,7 +1487,7 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     			    ip->i_ffs1_blocks += bb;
     		    else {
     			    /* possible fragment truncation or extension */
    -			    obb = btofsb(fs, ip->i_lfs_fragsize[lbn]);
    +			    obb = lfs_btofsb(fs, ip->i_lfs_fragsize[lbn]);
     			    ip->i_ffs1_blocks += (bb - obb);
     		    }
     		    ip->i_ffs1_db[lbn] = ndaddr;
    @@ -1500,7 +1533,7 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     	 * and location.
     	 */
     	if (daddr > 0) {
    -		u_int32_t oldsn = dtosn(fs, daddr);
    +		u_int32_t oldsn = lfs_dtosn(fs, daddr);
     #ifdef DIAGNOSTIC
     		int ndupino;
     
    @@ -1511,19 +1544,19 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     		}
     #endif
     		KASSERT(oldsn < fs->lfs_nseg);
    -		if (lbn >= 0 && lbn < NDADDR)
    +		if (lbn >= 0 && lbn < ULFS_NDADDR)
     			osize = ip->i_lfs_fragsize[lbn];
     		else
     			osize = fs->lfs_bsize;
     		LFS_SEGENTRY(sup, fs, oldsn, bp);
     #ifdef DIAGNOSTIC
    -		if (sup->su_nbytes + sizeof (struct ufs1_dinode) * ndupino
    +		if (sup->su_nbytes + sizeof (struct ulfs1_dinode) * ndupino
     		    < osize) {
     			printf("lfs_updatemeta: negative bytes "
     			       "(segment %" PRIu32 " short by %" PRId64
    -			       ")\n", dtosn(fs, daddr),
    +			       ")\n", lfs_dtosn(fs, daddr),
     			       (int64_t)osize -
    -			       (sizeof (struct ufs1_dinode) * ndupino +
    +			       (sizeof (struct ulfs1_dinode) * ndupino +
     				sup->su_nbytes));
     			printf("lfs_updatemeta: ino %llu, lbn %" PRId64
     			       ", addr = 0x%" PRIx64 "\n",
    @@ -1531,12 +1564,12 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     			printf("lfs_updatemeta: ndupino=%d\n", ndupino);
     			panic("lfs_updatemeta: negative bytes");
     			sup->su_nbytes = osize -
    -			    sizeof (struct ufs1_dinode) * ndupino;
    +			    sizeof (struct ulfs1_dinode) * ndupino;
     		}
     #endif
     		DLOG((DLOG_SU, "seg %" PRIu32 " -= %d for ino %d lbn %" PRId64
     		      " db 0x%" PRIx64 "\n",
    -		      dtosn(fs, daddr), osize,
    +		      lfs_dtosn(fs, daddr), osize,
     		      ip->i_number, lbn, daddr));
     		sup->su_nbytes -= osize;
     		if (!(bp->b_flags & B_GATHERED)) {
    @@ -1551,7 +1584,7 @@ lfs_update_single(struct lfs *fs, struct segment *sp,
     	 * segment no longer owns it, we can forget about its
     	 * old size.
     	 */
    -	if (lbn >= 0 && lbn < NDADDR)
    +	if (lbn >= 0 && lbn < ULFS_NDADDR)
     		ip->i_lfs_fragsize[lbn] = size;
     }
     
    @@ -1631,7 +1664,7 @@ lfs_updatemeta(struct segment *sp)
     		lbn = *sp->start_lbp;
     		KASSERT(sbp->b_lblkno == lbn);
     
    -		sbp->b_blkno = fsbtodb(fs, fs->lfs_offset);
    +		sbp->b_blkno = LFS_FSBTODB(fs, fs->lfs_offset);
     
     		/*
     		 * If we write a frag in the wrong place, the cleaner won't
    @@ -1652,7 +1685,7 @@ lfs_updatemeta(struct segment *sp)
     		for (bytesleft = sbp->b_bcount; bytesleft > 0;
     		     bytesleft -= fs->lfs_bsize) {
     			size = MIN(bytesleft, fs->lfs_bsize);
    -			bb = numfrags(fs, size);
    +			bb = lfs_numfrags(fs, size);
     			lbn = *sp->start_lbp++;
     			lfs_update_single(fs, sp, sp->vp, lbn, fs->lfs_offset,
     			    size);
    @@ -1677,7 +1710,7 @@ lfs_rewind(struct lfs *fs, int newsn)
     
     	ASSERT_SEGLOCK(fs);
     
    -	osn = dtosn(fs, fs->lfs_offset);
    +	osn = lfs_dtosn(fs, fs->lfs_offset);
     	if (osn < newsn)
     		return 0;
     
    @@ -1733,8 +1766,8 @@ lfs_initseg(struct lfs *fs)
     		repeat = 1;
     		fs->lfs_offset = fs->lfs_curseg;
     
    -		sp->seg_number = dtosn(fs, fs->lfs_curseg);
    -		sp->seg_bytes_left = fsbtob(fs, fs->lfs_fsbpseg);
    +		sp->seg_number = lfs_dtosn(fs, fs->lfs_curseg);
    +		sp->seg_bytes_left = lfs_fsbtob(fs, fs->lfs_fsbpseg);
     
     		/*
     		 * If the segment contains a superblock, update the offset
    @@ -1742,21 +1775,21 @@ lfs_initseg(struct lfs *fs)
     		 */
     		LFS_SEGENTRY(sup, fs, sp->seg_number, bp);
     		if (sup->su_flags & SEGUSE_SUPERBLOCK) {
    -			fs->lfs_offset += btofsb(fs, LFS_SBPAD);
    +			fs->lfs_offset += lfs_btofsb(fs, LFS_SBPAD);
     			sp->seg_bytes_left -= LFS_SBPAD;
     		}
     		brelse(bp, 0);
     		/* Segment zero could also contain the labelpad */
     		if (fs->lfs_version > 1 && sp->seg_number == 0 &&
    -		    fs->lfs_start < btofsb(fs, LFS_LABELPAD)) {
    +		    fs->lfs_start < lfs_btofsb(fs, LFS_LABELPAD)) {
     			fs->lfs_offset +=
    -			    btofsb(fs, LFS_LABELPAD) - fs->lfs_start;
    +			    lfs_btofsb(fs, LFS_LABELPAD) - fs->lfs_start;
     			sp->seg_bytes_left -=
    -			    LFS_LABELPAD - fsbtob(fs, fs->lfs_start);
    +			    LFS_LABELPAD - lfs_fsbtob(fs, fs->lfs_start);
     		}
     	} else {
    -		sp->seg_number = dtosn(fs, fs->lfs_curseg);
    -		sp->seg_bytes_left = fsbtob(fs, fs->lfs_fsbpseg -
    +		sp->seg_number = lfs_dtosn(fs, fs->lfs_curseg);
    +		sp->seg_bytes_left = lfs_fsbtob(fs, fs->lfs_fsbpseg -
     				      (fs->lfs_offset - fs->lfs_curseg));
     	}
     	fs->lfs_lastpseg = fs->lfs_offset;
    @@ -1786,12 +1819,12 @@ lfs_initseg(struct lfs *fs)
     
     	/* Get a new buffer for SEGSUM */
     	sbp = lfs_newbuf(fs, VTOI(fs->lfs_ivnode)->i_devvp,
    -	    fsbtodb(fs, fs->lfs_offset), fs->lfs_sumsize, LFS_NB_SUMMARY);
    +	    LFS_FSBTODB(fs, fs->lfs_offset), fs->lfs_sumsize, LFS_NB_SUMMARY);
     
     	/* ... and enter it into the buffer list. */
     	*sp->cbpp = sbp;
     	sp->cbpp++;
    -	fs->lfs_offset += btofsb(fs, fs->lfs_sumsize);
    +	fs->lfs_offset += lfs_btofsb(fs, fs->lfs_sumsize);
     
     	sp->start_bpp = sp->cbpp;
     
    @@ -1865,14 +1898,14 @@ lfs_newseg(struct lfs *fs)
     	fs->lfs_wrapstatus = LFS_WRAP_GOING;
     	mutex_exit(&lfs_lock);
     
    -	LFS_SEGENTRY(sup, fs, dtosn(fs, fs->lfs_nextseg), bp);
    +	LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, fs->lfs_nextseg), bp);
     	DLOG((DLOG_SU, "lfs_newseg: seg %d := 0 in newseg\n",
    -	      dtosn(fs, fs->lfs_nextseg)));
    +	      lfs_dtosn(fs, fs->lfs_nextseg)));
     	sup->su_flags |= SEGUSE_DIRTY | SEGUSE_ACTIVE;
     	sup->su_nbytes = 0;
     	sup->su_nsums = 0;
     	sup->su_ninos = 0;
    -	LFS_WRITESEGENTRY(sup, fs, dtosn(fs, fs->lfs_nextseg), bp);
    +	LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, fs->lfs_nextseg), bp);
     
     	LFS_CLEANERINFO(cip, fs, bp);
     	--cip->clean;
    @@ -1883,7 +1916,7 @@ lfs_newseg(struct lfs *fs)
     	fs->lfs_lastseg = fs->lfs_curseg;
     	fs->lfs_curseg = fs->lfs_nextseg;
     	skip_inval = 1;
    -	for (sn = curseg = dtosn(fs, fs->lfs_curseg) + fs->lfs_interleave;;) {
    +	for (sn = curseg = lfs_dtosn(fs, fs->lfs_curseg) + fs->lfs_interleave;;) {
     		sn = (sn + 1) % fs->lfs_nseg;
     
     		if (sn == curseg) {
    @@ -1908,7 +1941,7 @@ lfs_newseg(struct lfs *fs)
     		lfs_unset_inval_all(fs);
     
     	++fs->lfs_nactive;
    -	fs->lfs_nextseg = sntod(fs, sn);
    +	fs->lfs_nextseg = lfs_sntod(fs, sn);
     	if (lfs_dostats) {
     		++lfs_stats.segsused;
     	}
    @@ -1988,6 +2021,12 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     	if (sp->seg_flags & SEGM_CLEAN)
     		ssp->ss_flags |= SS_CLEAN;
     
    +	/* Note if we are writing to reclaim */
    +	if (sp->seg_flags & SEGM_RECLAIM) {
    +		ssp->ss_flags |= SS_RECLAIM;
    +		ssp->ss_reclino = fs->lfs_reclino;
    +	}
    +
     	devvp = VTOI(fs->lfs_ivnode)->i_devvp;
     
     	/* Update the segment usage information. */
    @@ -2016,11 +2055,11 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     	}
     #endif /* DEBUG */
     
    -	ninos = (ssp->ss_ninos + INOPB(fs) - 1) / INOPB(fs);
    +	ninos = (ssp->ss_ninos + LFS_INOPB(fs) - 1) / LFS_INOPB(fs);
     	DLOG((DLOG_SU, "seg %d += %d for %d inodes\n",
    -	      sp->seg_number, ssp->ss_ninos * sizeof (struct ufs1_dinode),
    +	      sp->seg_number, ssp->ss_ninos * sizeof (struct ulfs1_dinode),
     	      ssp->ss_ninos));
    -	sup->su_nbytes += ssp->ss_ninos * sizeof (struct ufs1_dinode);
    +	sup->su_nbytes += ssp->ss_ninos * sizeof (struct ulfs1_dinode);
     	/* sup->su_nbytes += fs->lfs_sumsize; */
     	if (fs->lfs_version == 1)
     		sup->su_olastmod = time_second;
    @@ -2028,7 +2067,7 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     		sup->su_lastmod = time_second;
     	sup->su_ninos += ninos;
     	++sup->su_nsums;
    -	fs->lfs_avail -= btofsb(fs, fs->lfs_sumsize);
    +	fs->lfs_avail -= lfs_btofsb(fs, fs->lfs_sumsize);
     
     	do_again = !(bp->b_flags & B_GATHERED);
     	LFS_WRITESEGENTRY(sup, fs, sp->seg_number, bp); /* Ifile */
    @@ -2116,7 +2155,7 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     					 * segment.
     					 */
     					fs->lfs_avail -=
    -					    btofsb(fs, bp->b_bcount);
    +					    lfs_btofsb(fs, bp->b_bcount);
     				}
     			} else {
     				lfs_freebuf(fs, newbp);
    @@ -2176,10 +2215,10 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     	    fs->lfs_sumsize - sizeof(ssp->ss_sumsum));
     
     	mutex_enter(&lfs_lock);
    -	fs->lfs_bfree -= (btofsb(fs, ninos * fs->lfs_ibsize) +
    -			  btofsb(fs, fs->lfs_sumsize));
    -	fs->lfs_dmeta += (btofsb(fs, ninos * fs->lfs_ibsize) +
    -			  btofsb(fs, fs->lfs_sumsize));
    +	fs->lfs_bfree -= (lfs_btofsb(fs, ninos * fs->lfs_ibsize) +
    +			  lfs_btofsb(fs, fs->lfs_sumsize));
    +	fs->lfs_dmeta += (lfs_btofsb(fs, ninos * fs->lfs_ibsize) +
    +			  lfs_btofsb(fs, fs->lfs_sumsize));
     	mutex_exit(&lfs_lock);
     
     	/*
    @@ -2209,7 +2248,7 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     		    / sizeof(int32_t)) {
     			panic("lfs_writeseg: real bpp overwrite");
     		}
    -		if (bpp - sp->bpp > segsize(fs) / fs->lfs_fsize) {
    +		if (bpp - sp->bpp > lfs_segsize(fs) / fs->lfs_fsize) {
     			panic("lfs_writeseg: theoretical bpp overwrite");
     		}
     #endif
    @@ -2242,7 +2281,7 @@ lfs_writeseg(struct lfs *fs, struct segment *sp)
     				cl->flags |= LFS_CL_MALLOC;
     			}
     #ifdef DIAGNOSTIC
    -			if (dtosn(fs, dbtofsb(fs, bp->b_blkno +
    +			if (lfs_dtosn(fs, LFS_DBTOFSB(fs, bp->b_blkno +
     					      btodb(bp->b_bcount - 1))) !=
     			    sp->seg_number) {
     				printf("blk size %d daddr %" PRIx64
    @@ -2351,7 +2390,7 @@ lfs_writesuper(struct lfs *fs, daddr_t daddr)
     	/* Checksum the superblock and copy it into a buffer. */
     	fs->lfs_cksum = lfs_sb_cksum(&(fs->lfs_dlfs));
     	bp = lfs_newbuf(fs, devvp,
    -	    fsbtodb(fs, daddr), LFS_SBPAD, LFS_NB_SBLOCK);
    +	    LFS_FSBTODB(fs, daddr), LFS_SBPAD, LFS_NB_SBLOCK);
     	memset((char *)bp->b_data + sizeof(struct dlfs), 0,
     	    LFS_SBPAD - sizeof(struct dlfs));
     	*(struct dlfs *)bp->b_data = fs->lfs_dlfs;
    @@ -2415,7 +2454,7 @@ lfs_match_indir(struct lfs *fs, struct buf *bp)
     
     	ASSERT_SEGLOCK(fs);
     	lbn = bp->b_lblkno;
    -	return (lbn < 0 && (-lbn - NDADDR) % NINDIR(fs) == 0);
    +	return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 0);
     }
     
     int
    @@ -2425,7 +2464,7 @@ lfs_match_dindir(struct lfs *fs, struct buf *bp)
     
     	ASSERT_SEGLOCK(fs);
     	lbn = bp->b_lblkno;
    -	return (lbn < 0 && (-lbn - NDADDR) % NINDIR(fs) == 1);
    +	return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 1);
     }
     
     int
    @@ -2435,7 +2474,7 @@ lfs_match_tindir(struct lfs *fs, struct buf *bp)
     
     	ASSERT_SEGLOCK(fs);
     	lbn = bp->b_lblkno;
    -	return (lbn < 0 && (-lbn - NDADDR) % NINDIR(fs) == 2);
    +	return (lbn < 0 && (-lbn - ULFS_NDADDR) % LFS_NINDIR(fs) == 2);
     }
     
     static void
    @@ -2561,8 +2600,8 @@ lfs_cluster_aiodone(struct buf *bp)
     		 * XXX KS - Shouldn't we set *both* if both types
     		 * of blocks are present (traverse the dirty list?)
     		 */
    -		mutex_enter(&lfs_lock);
     		mutex_enter(vp->v_interlock);
    +		mutex_enter(&lfs_lock);
     		if (vp != devvp && vp->v_numoutput == 0 &&
     		    (fbp = LIST_FIRST(&vp->v_dirtyblkhd)) != NULL) {
     			ip = VTOI(vp);
    @@ -2574,8 +2613,8 @@ lfs_cluster_aiodone(struct buf *bp)
     				LFS_SET_UINO(ip, IN_MODIFIED);
     		}
     		cv_broadcast(&vp->v_cv);
    -		mutex_exit(vp->v_interlock);
     		mutex_exit(&lfs_lock);
    +		mutex_exit(vp->v_interlock);
     	}
     
     	/* Fix up the cluster buffer, and release it */
    @@ -2720,7 +2759,6 @@ lfs_shellsort(struct buf **bp_array, int32_t *lb_array, int nmemb, int size)
     int
     lfs_vref(struct vnode *vp)
     {
    -	int error;
     	struct lfs *fs;
     
     	KASSERT(mutex_owned(vp->v_interlock));
    @@ -2734,12 +2772,13 @@ lfs_vref(struct vnode *vp)
     	 * being able to flush all of the pages from this vnode, which
     	 * will cause it to panic.  So, return 0 if a flush is in progress.
     	 */
    -	error = vget(vp, LK_NOWAIT);
    -	if (error == EBUSY && IS_FLUSHING(VTOI(vp)->i_lfs, vp)) {
    -		++fs->lfs_flushvp_fakevref;
    -		return 0;
    -	}
    -	return error;
    +	if (IS_FLUSHING(VTOI(vp)->i_lfs, vp)) {
    + 		++fs->lfs_flushvp_fakevref;
    +		mutex_exit(vp->v_interlock);
    + 		return 0;
    + 	}
    +
    +	return vget(vp, LK_NOWAIT);
     }
     
     /*
    @@ -2762,9 +2801,8 @@ lfs_vunref(struct vnode *vp)
     		return;
     	}
     
    -	/* does not call inactive */
    -	mutex_enter(vp->v_interlock);
    -	vrelel(vp, 0);
    +	/* does not call inactive XXX sure it does XXX */
    +	vrele(vp);
     }
     
     /*
    @@ -2781,9 +2819,9 @@ lfs_vunref_head(struct vnode *vp)
     
     	ASSERT_SEGLOCK(VTOI(vp)->i_lfs);
     
    -	/* does not call inactive, inserts non-held vnode at head of freelist */
    -	mutex_enter(vp->v_interlock);
    -	vrelel(vp, 0);
    +	/* does not call inactive XXX sure it does XXX,
    +	   inserts non-held vnode at head of freelist */
    +	vrele(vp);
     }
     
     
    diff --git a/sys/ufs/lfs/lfs_subr.c b/sys/ufs/lfs/lfs_subr.c
    index 4da38aae3..b8495d130 100644
    --- a/sys/ufs/lfs/lfs_subr.c
    +++ b/sys/ufs/lfs/lfs_subr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_subr.c,v 1.76 2010/06/25 10:03:52 hannken Exp $	*/
    +/*	$NetBSD: lfs_subr.c,v 1.80 2013/07/28 01:05:52 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_subr.c,v 1.76 2010/06/25 10:03:52 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_subr.c,v 1.80 2013/07/28 01:05:52 dholland Exp $");
     
     #include 
     #include 
    @@ -72,8 +72,9 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_subr.c,v 1.76 2010/06/25 10:03:52 hannken Exp $"
     #include 
     #include 
     
    -#include 
    +#include 
     #include 
    +#include 
     #include 
     
     #include 
    @@ -144,7 +145,7 @@ lfs_setup_resblks(struct lfs *fs)
     	pool_init(&fs->lfs_segpool, sizeof(struct segment), 0, 0, 0,
     		"lfssegpool", &pool_allocator_nointr, IPL_NONE);
     	maxbpp = ((fs->lfs_sumsize - SEGSUM_SIZE(fs)) / sizeof(int32_t) + 2);
    -	maxbpp = MIN(maxbpp, segsize(fs) / fs->lfs_fsize + 2);
    +	maxbpp = MIN(maxbpp, lfs_segsize(fs) / fs->lfs_fsize + 2);
     	pool_init(&fs->lfs_bpppool, maxbpp * sizeof(struct buf *), 0, 0, 0,
     		"lfsbpppl", &pool_allocator_nointr, IPL_NONE);
     }
    @@ -335,6 +336,7 @@ lfs_seglock(struct lfs *fs, unsigned long flags)
     	 */
     	mutex_enter(&lfs_lock);
     	++fs->lfs_iocount;
    +	fs->lfs_startseg = fs->lfs_curseg;
     	mutex_exit(&lfs_lock);
     	return 0;
     }
    @@ -361,7 +363,7 @@ lfs_unmark_dirop(struct lfs *fs)
     	for (ip = TAILQ_FIRST(&fs->lfs_dchainhd); ip != NULL; ip = nip) {
     		nip = TAILQ_NEXT(ip, i_lfs_dchain);
     		vp = ITOV(ip);
    -		if ((VTOI(vp)->i_flag & (IN_ADIROP | IN_ALLMOD)) == 0) {
    +		if ((ip->i_flag & (IN_ADIROP | IN_CDIROP)) == IN_CDIROP) {
     			--lfs_dirvcount;
     			--fs->lfs_dirvcount;
     			vp->v_uflag &= ~VU_DIROP;
    @@ -372,6 +374,7 @@ lfs_unmark_dirop(struct lfs *fs)
     			vrele(vp);
     			mutex_enter(&lfs_lock);
     			fs->lfs_unlockvp = NULL;
    +			ip->i_flag &= ~IN_CDIROP;
     		}
     	}
     
    @@ -437,8 +440,7 @@ lfs_segunlock(struct lfs *fs)
     	mutex_enter(&lfs_lock);
     	KASSERT(LFS_SEGLOCK_HELD(fs));
     	if (fs->lfs_seglock == 1) {
    -		if ((sp->seg_flags & (SEGM_PROT | SEGM_CLEAN)) == 0 &&
    -		    LFS_STARVED_FOR_SEGS(fs) == 0)
    +		if ((sp->seg_flags & (SEGM_PROT | SEGM_CLEAN)) == 0)
     			do_unmark_dirop = 1;
     		mutex_exit(&lfs_lock);
     		sync = sp->seg_flags & SEGM_SYNC;
    @@ -448,7 +450,7 @@ lfs_segunlock(struct lfs *fs)
     		KASSERT(sp->cbpp == sp->bpp + 1);
     
     		/* Free allocated segment summary */
    -		fs->lfs_offset -= btofsb(fs, fs->lfs_sumsize);
    +		fs->lfs_offset -= lfs_btofsb(fs, fs->lfs_sumsize);
     		bp = *sp->bpp;
     		lfs_freebuf(fs, bp);
     
    diff --git a/sys/ufs/lfs/lfs_syscalls.c b/sys/ufs/lfs/lfs_syscalls.c
    index 442b81d46..5b3ac2fb0 100644
    --- a/sys/ufs/lfs/lfs_syscalls.c
    +++ b/sys/ufs/lfs/lfs_syscalls.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_syscalls.c,v 1.139 2011/06/12 03:36:01 rmind Exp $	*/
    +/*	$NetBSD: lfs_syscalls.c,v 1.150 2013/10/29 09:53:51 hannken Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003, 2007, 2007, 2008
    @@ -61,7 +61,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_syscalls.c,v 1.139 2011/06/12 03:36:01 rmind Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_syscalls.c,v 1.150 2013/10/29 09:53:51 hannken Exp $");
     
     #ifndef LFS
     # define LFS		/* for prototypes in syscallargs.h */
    @@ -77,11 +77,12 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_syscalls.c,v 1.139 2011/06/12 03:36:01 rmind Exp
     #include 
     #include 
     
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
     
     #include 
    +#include 
     #include 
     
     struct buf *lfs_fakebuf(struct lfs *, struct vnode *, int, size_t, void *);
    @@ -117,8 +118,9 @@ sys_lfs_markv(struct lwp *l, const struct sys_lfs_markv_args *uap, register_t *r
     	struct lfs *fs;
     	struct mount *mntp;
     
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0)
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	    KAUTH_REQ_SYSTEM_LFS_MARKV, NULL, NULL, NULL);
    +	if (error)
     		return (error);
     
     	if ((error = copyin(SCARG(uap, fsidp), &fsid, sizeof(fsid_t))) != 0)
    @@ -126,7 +128,7 @@ sys_lfs_markv(struct lwp *l, const struct sys_lfs_markv_args *uap, register_t *r
     
     	if ((mntp = vfs_getvfs(fsidp)) == NULL) 
     		return (ENOENT);
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     
     	blkcnt = SCARG(uap, blkcnt);
     	if ((u_int) blkcnt > LFS_MARKV_MAXBLKCNT)
    @@ -162,8 +164,9 @@ sys_lfs_markv(struct lwp *l, const struct sys_lfs_markv_args *uap, register_t *r
     	struct lfs *fs;
     	struct mount *mntp;
     
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0)
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	    KAUTH_REQ_SYSTEM_LFS_MARKV, NULL, NULL, NULL);
    +	if (error)
     		return (error);
     
     	if ((error = copyin(SCARG(uap, fsidp), &fsid, sizeof(fsid_t))) != 0)
    @@ -171,7 +174,7 @@ sys_lfs_markv(struct lwp *l, const struct sys_lfs_markv_args *uap, register_t *r
     
     	if ((mntp = vfs_getvfs(&fsid)) == NULL) 
     		return (ENOENT);
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     
     	blkcnt = SCARG(uap, blkcnt);
     	if ((u_int) blkcnt > LFS_MARKV_MAXBLKCNT)
    @@ -242,12 +245,12 @@ lfs_markv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov,
     	if ((mntp = vfs_getvfs(fsidp)) == NULL)
     		return (ENOENT);
     
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     
     	if (fs->lfs_ronly)
     		return EROFS;
     
    -	maxino = (fragstoblks(fs, VTOI(fs->lfs_ivnode)->i_ffs1_blocks) -
    +	maxino = (lfs_fragstoblks(fs, VTOI(fs->lfs_ivnode)->i_ffs1_blocks) -
     		      fs->lfs_cleansz - fs->lfs_segtabsz) * fs->lfs_ifpb;
     
     	cnt = blkcnt;
    @@ -323,7 +326,7 @@ lfs_markv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov,
     				DLOG((DLOG_CLEAN, "lfs_markv: lfs_fastvget"
     				      " failed with %d (ino %d, segment %d)\n",
     				      error, blkp->bi_inode,
    -				      dtosn(fs, blkp->bi_daddr)));
    +				      lfs_dtosn(fs, blkp->bi_daddr)));
     				/*
     				 * If we got EAGAIN, that means that the
     				 * Inode was locked.  This is
    @@ -389,13 +392,13 @@ lfs_markv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov,
     
     		b_daddr = 0;
     		if (VOP_BMAP(vp, blkp->bi_lbn, NULL, &b_daddr, NULL) ||
    -		    dbtofsb(fs, b_daddr) != blkp->bi_daddr)
    +		    LFS_DBTOFSB(fs, b_daddr) != blkp->bi_daddr)
     		{
    -			if (dtosn(fs, dbtofsb(fs, b_daddr)) ==
    -			    dtosn(fs, blkp->bi_daddr))
    +			if (lfs_dtosn(fs, LFS_DBTOFSB(fs, b_daddr)) ==
    +			    lfs_dtosn(fs, blkp->bi_daddr))
     			{
     				DLOG((DLOG_CLEAN, "lfs_markv: wrong da same seg: %llx vs %llx\n",
    -				      (long long)blkp->bi_daddr, (long long)dbtofsb(fs, b_daddr)));
    +				      (long long)blkp->bi_daddr, (long long)LFS_DBTOFSB(fs, b_daddr)));
     			}
     			do_again++;
     			continue;
    @@ -407,11 +410,11 @@ lfs_markv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov,
     		 * counterparts.
     		 */
     		if (blkp->bi_lbn >= 0)
    -			obsize = blksize(fs, ip, blkp->bi_lbn);
    +			obsize = lfs_blksize(fs, ip, blkp->bi_lbn);
     		else
     			obsize = fs->lfs_bsize;
     		/* Check for fragment size change */
    -		if (blkp->bi_lbn >= 0 && blkp->bi_lbn < NDADDR) {
    +		if (blkp->bi_lbn >= 0 && blkp->bi_lbn < ULFS_NDADDR) {
     			obsize = ip->i_lfs_fragsize[blkp->bi_lbn];
     		}
     		if (obsize != blkp->bi_size) {
    @@ -436,7 +439,7 @@ lfs_markv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov,
     			bp = lfs_fakebuf(fs, vp, blkp->bi_lbn,
     					 blkp->bi_size, blkp->bi_bp);
     			/* Pretend we used bread() to get it */
    -			bp->b_blkno = fsbtodb(fs, blkp->bi_daddr);
    +			bp->b_blkno = LFS_FSBTODB(fs, blkp->bi_daddr);
     		} else {
     			/* Indirect block or ifile */
     			if (blkp->bi_size != fs->lfs_bsize &&
    @@ -469,7 +472,7 @@ lfs_markv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov,
     		/*
     		 * XXX should account indirect blocks and ifile pages as well
     		 */
    -		if (nblkwritten + lblkno(fs, ninowritten * sizeof (struct ufs1_dinode))
    +		if (nblkwritten + lfs_lblkno(fs, ninowritten * sizeof (struct ulfs1_dinode))
     		    > LFS_MARKV_MAX_BLOCKS) {
     			DLOG((DLOG_CLEAN, "lfs_markv: writing %d blks %d inos\n",
     			      nblkwritten, ninowritten));
    @@ -521,7 +524,6 @@ err2:
     	 */
     
     err3:
    -	KERNEL_UNLOCK_ONE(NULL);
     	/*
     	 * XXX should do segwrite here anyway?
     	 */
    @@ -564,8 +566,9 @@ sys_lfs_bmapv(struct lwp *l, const struct sys_lfs_bmapv_args *uap, register_t *r
     	struct lfs *fs;
     	struct mount *mntp;
     
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0)
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	    KAUTH_REQ_SYSTEM_LFS_BMAPV, NULL, NULL, NULL);
    +	if (error)
     		return (error);
     
     	if ((error = copyin(SCARG(uap, fsidp), &fsid, sizeof(fsid_t))) != 0)
    @@ -573,7 +576,7 @@ sys_lfs_bmapv(struct lwp *l, const struct sys_lfs_bmapv_args *uap, register_t *r
     
     	if ((mntp = vfs_getvfs(&fsid)) == NULL) 
     		return (ENOENT);
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     
     	blkcnt = SCARG(uap, blkcnt);
     	if ((u_int) blkcnt > SIZE_T_MAX / sizeof(BLOCK_INFO))
    @@ -608,8 +611,9 @@ sys_lfs_bmapv(struct lwp *l, const struct sys_lfs_bmapv_args *uap, register_t *r
     	struct lfs *fs;
     	struct mount *mntp;
     
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0)
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	    KAUTH_REQ_SYSTEM_LFS_BMAPV, NULL, NULL, NULL);
    +	if (error)
     		return (error);
     
     	if ((error = copyin(SCARG(uap, fsidp), &fsid, sizeof(fsid_t))) != 0)
    @@ -617,7 +621,7 @@ sys_lfs_bmapv(struct lwp *l, const struct sys_lfs_bmapv_args *uap, register_t *r
     
     	if ((mntp = vfs_getvfs(&fsid)) == NULL) 
     		return (ENOENT);
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     
     	blkcnt = SCARG(uap, blkcnt);
     	if ((size_t) blkcnt > SIZE_T_MAX / sizeof(BLOCK_INFO))
    @@ -669,7 +673,7 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     	struct inode *ip = NULL;
     	struct lfs *fs;
     	struct mount *mntp;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     	struct vnode *vp;
     	ino_t lastino;
     	daddr_t v_daddr;
    @@ -681,13 +685,13 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     	if ((mntp = vfs_getvfs(fsidp)) == NULL)
     		return (ENOENT);
     
    -	ump = VFSTOUFS(mntp);
    +	ump = VFSTOULFS(mntp);
     	if ((error = vfs_busy(mntp, NULL)) != 0)
     		return (error);
     
     	cnt = blkcnt;
     
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     
     	error = 0;
     
    @@ -708,6 +712,8 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     			 */
     			if (v_daddr != LFS_UNUSED_DADDR) {
     				lfs_vunref(vp);
    +				if (VTOI(vp)->i_lfs_iflags & LFSI_BMAP)
    +					vrecycle(vp, NULL);
     				numrefed--;
     			}
     
    @@ -730,19 +736,19 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     			 * A regular call to VFS_VGET could deadlock
     			 * here.  Instead, we try an unlocked access.
     			 */
    -			mutex_enter(&ufs_ihash_lock);
    -			vp = ufs_ihashlookup(ump->um_dev, blkp->bi_inode);
    +			mutex_enter(&ulfs_ihash_lock);
    +			vp = ulfs_ihashlookup(ump->um_dev, blkp->bi_inode);
     			if (vp != NULL && !(vp->v_iflag & VI_XLOCK)) {
     				ip = VTOI(vp);
     				mutex_enter(vp->v_interlock);
    -				mutex_exit(&ufs_ihash_lock);
    +				mutex_exit(&ulfs_ihash_lock);
     				if (lfs_vref(vp)) {
     					v_daddr = LFS_UNUSED_DADDR;
     					continue;
     				}
     				numrefed++;
     			} else {
    -				mutex_exit(&ufs_ihash_lock);
    +				mutex_exit(&ulfs_ihash_lock);
     				/*
     				 * Don't VFS_VGET if we're being unmounted,
     				 * since we hold vfs_busy().
    @@ -760,6 +766,7 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     					continue;
     				} else {
     					KASSERT(VOP_ISLOCKED(vp));
    +					VTOI(vp)->i_lfs_iflags |= LFSI_BMAP;
     					VOP_UNLOCK(vp);
     					numrefed++;
     				}
    @@ -799,10 +806,10 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     				blkp->bi_daddr = LFS_UNUSED_DADDR;
     				continue;
     			}
    -			blkp->bi_daddr = dbtofsb(fs, bi_daddr);
    +			blkp->bi_daddr = LFS_DBTOFSB(fs, bi_daddr);
     			/* Fill in the block size, too */
     			if (blkp->bi_lbn >= 0)
    -				blkp->bi_size = blksize(fs, ip, blkp->bi_lbn);
    +				blkp->bi_size = lfs_blksize(fs, ip, blkp->bi_lbn);
     			else
     				blkp->bi_size = fs->lfs_bsize;
     		}
    @@ -814,6 +821,9 @@ lfs_bmapv(struct proc *p, fsid_t *fsidp, BLOCK_INFO *blkiov, int blkcnt)
     	 */
     	if (v_daddr != LFS_UNUSED_DADDR) {
     		lfs_vunref(vp);
    +		/* Recycle as above. */
    +		if (ip->i_lfs_iflags & LFSI_BMAP)
    +			vrecycle(vp, NULL);
     		numrefed--;
     	}
     
    @@ -848,8 +858,9 @@ sys_lfs_segclean(struct lwp *l, const struct sys_lfs_segclean_args *uap, registe
     	int error;
     	unsigned long segnum;
     
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0)
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	    KAUTH_REQ_SYSTEM_LFS_SEGCLEAN, NULL, NULL, NULL);
    +	if (error)
     		return (error);
     
     	if ((error = copyin(SCARG(uap, fsidp), &fsid, sizeof(fsid_t))) != 0)
    @@ -857,7 +868,7 @@ sys_lfs_segclean(struct lwp *l, const struct sys_lfs_segclean_args *uap, registe
     	if ((mntp = vfs_getvfs(&fsid)) == NULL)
     		return (ENOENT);
     
    -	fs = VFSTOUFS(mntp)->um_lfs;
    +	fs = VFSTOULFS(mntp)->um_lfs;
     	segnum = SCARG(uap, segment);
     
     	if ((error = vfs_busy(mntp, NULL)) != 0)
    @@ -884,7 +895,7 @@ lfs_do_segclean(struct lfs *fs, unsigned long segnum)
     	CLEANERINFO *cip;
     	SEGUSE *sup;
     
    -	if (dtosn(fs, fs->lfs_curseg) == segnum) {
    +	if (lfs_dtosn(fs, fs->lfs_curseg) == segnum) {
     		return (EBUSY);
     	}
     
    @@ -908,17 +919,17 @@ lfs_do_segclean(struct lfs *fs, unsigned long segnum)
     		return (EALREADY);
     	}
     
    -	fs->lfs_avail += segtod(fs, 1);
    +	fs->lfs_avail += lfs_segtod(fs, 1);
     	if (sup->su_flags & SEGUSE_SUPERBLOCK)
    -		fs->lfs_avail -= btofsb(fs, LFS_SBPAD);
    +		fs->lfs_avail -= lfs_btofsb(fs, LFS_SBPAD);
     	if (fs->lfs_version > 1 && segnum == 0 &&
    -	    fs->lfs_start < btofsb(fs, LFS_LABELPAD))
    -		fs->lfs_avail -= btofsb(fs, LFS_LABELPAD) - fs->lfs_start;
    +	    fs->lfs_start < lfs_btofsb(fs, LFS_LABELPAD))
    +		fs->lfs_avail -= lfs_btofsb(fs, LFS_LABELPAD) - fs->lfs_start;
     	mutex_enter(&lfs_lock);
    -	fs->lfs_bfree += sup->su_nsums * btofsb(fs, fs->lfs_sumsize) +
    -		btofsb(fs, sup->su_ninos * fs->lfs_ibsize);
    -	fs->lfs_dmeta -= sup->su_nsums * btofsb(fs, fs->lfs_sumsize) +
    -		btofsb(fs, sup->su_ninos * fs->lfs_ibsize);
    +	fs->lfs_bfree += sup->su_nsums * lfs_btofsb(fs, fs->lfs_sumsize) +
    +		lfs_btofsb(fs, sup->su_ninos * fs->lfs_ibsize);
    +	fs->lfs_dmeta -= sup->su_nsums * lfs_btofsb(fs, fs->lfs_sumsize) +
    +		lfs_btofsb(fs, sup->su_ninos * fs->lfs_ibsize);
     	if (fs->lfs_dmeta < 0)
     		fs->lfs_dmeta = 0;
     	mutex_exit(&lfs_lock);
    @@ -959,7 +970,7 @@ lfs_segwait(fsid_t *fsidp, struct timeval *tv)
     	if (fsidp == NULL || (mntp = vfs_getvfs(fsidp)) == NULL)
     		addr = &lfs_allclean_wakeup;
     	else
    -		addr = &VFSTOUFS(mntp)->um_lfs->lfs_nextseg;
    +		addr = &VFSTOULFS(mntp)->um_lfs->lfs_nextseg;
     	/*
     	 * XXX THIS COULD SLEEP FOREVER IF TIMEOUT IS {0,0}!
     	 * XXX IS THAT WHAT IS INTENDED?
    @@ -992,8 +1003,9 @@ sys___lfs_segwait50(struct lwp *l, const struct sys___lfs_segwait50_args *uap,
     	int error;
     
     	/* XXX need we be su to segwait? */
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0)
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	    KAUTH_REQ_SYSTEM_LFS_SEGWAIT, NULL, NULL, NULL);
    +	if (error)
     		return (error);
     	if ((error = copyin(SCARG(uap, fsidp), &fsid, sizeof(fsid_t))) != 0)
     		return (error);
    @@ -1024,10 +1036,10 @@ lfs_fasthashget(dev_t dev, ino_t ino, struct vnode **vpp)
     {
     	struct vnode *vp;
     
    -	mutex_enter(&ufs_ihash_lock);
    -	if ((vp = ufs_ihashlookup(dev, ino)) != NULL) {
    +	mutex_enter(&ulfs_ihash_lock);
    +	if ((vp = ulfs_ihashlookup(dev, ino)) != NULL) {
     		mutex_enter(vp->v_interlock);
    -		mutex_exit(&ufs_ihash_lock);
    +		mutex_exit(&ulfs_ihash_lock);
     		if (vp->v_iflag & VI_XLOCK) {
     			DLOG((DLOG_CLEAN, "lfs_fastvget: ino %d VI_XLOCK\n",
     			      ino));
    @@ -1042,7 +1054,7 @@ lfs_fasthashget(dev_t dev, ino_t ino, struct vnode **vpp)
     			return EAGAIN;
     		}
     	} else {
    -		mutex_exit(&ufs_ihash_lock);
    +		mutex_exit(&ulfs_ihash_lock);
     	}
     	*vpp = vp;
     
    @@ -1051,18 +1063,18 @@ lfs_fasthashget(dev_t dev, ino_t ino, struct vnode **vpp)
     
     int
     lfs_fastvget(struct mount *mp, ino_t ino, daddr_t daddr, struct vnode **vpp,
    -	     struct ufs1_dinode *dinp)
    +	     struct ulfs1_dinode *dinp)
     {
     	struct inode *ip;
    -	struct ufs1_dinode *dip;
    +	struct ulfs1_dinode *dip;
     	struct vnode *vp;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     	dev_t dev;
     	int error, retries;
     	struct buf *bp;
     	struct lfs *fs;
     
    -	ump = VFSTOUFS(mp);
    +	ump = VFSTOULFS(mp);
     	dev = ump->um_dev;
     	fs = ump->um_lfs;
     
    @@ -1103,10 +1115,10 @@ lfs_fastvget(struct mount *mp, ino_t ino, daddr_t daddr, struct vnode **vpp,
     		return (error);
     	}
     
    -	mutex_enter(&ufs_hashlock);
    +	mutex_enter(&ulfs_hashlock);
     	error = lfs_fasthashget(dev, ino, vpp);
     	if (error != 0 || *vpp != NULL) {
    -		mutex_exit(&ufs_hashlock);
    +		mutex_exit(&ulfs_hashlock);
     		ungetnewvnode(vp);
     		return (error);
     	}
    @@ -1121,8 +1133,13 @@ lfs_fastvget(struct mount *mp, ino_t ino, daddr_t daddr, struct vnode **vpp,
     	 * disk portion of this inode to be read.
     	 */
     	ip = VTOI(vp);
    -	ufs_ihashins(ip);
    -	mutex_exit(&ufs_hashlock);
    +	ulfs_ihashins(ip);
    +	mutex_exit(&ulfs_hashlock);
    +
    +#ifdef notyet
    +	/* Not found in the cache => this vnode was loaded only for cleaning. */
    +	ip->i_lfs_iflags |= LFSI_BMAP;
    +#endif
     
     	/*
     	 * XXX
    @@ -1134,11 +1151,11 @@ lfs_fastvget(struct mount *mp, ino_t ino, daddr_t daddr, struct vnode **vpp,
     
     	/* Read in the disk contents for the inode, copy into the inode. */
     	if (dinp) {
    -		error = copyin(dinp, ip->i_din.ffs1_din, sizeof (struct ufs1_dinode));
    +		error = copyin(dinp, ip->i_din.ffs1_din, sizeof (struct ulfs1_dinode));
     		if (error) {
     			DLOG((DLOG_CLEAN, "lfs_fastvget: dinode copyin failed"
     			      " for ino %d\n", ino));
    -			ufs_ihashrem(ip);
    +			ulfs_ihashrem(ip);
     
     			/* Unlock and discard unneeded inode. */
     			VOP_UNLOCK(vp);
    @@ -1151,7 +1168,7 @@ lfs_fastvget(struct mount *mp, ino_t ino, daddr_t daddr, struct vnode **vpp,
     	} else {
     		retries = 0;
     	    again:
    -		error = bread(ump->um_devvp, fsbtodb(fs, daddr), fs->lfs_ibsize,
    +		error = bread(ump->um_devvp, LFS_FSBTODB(fs, daddr), fs->lfs_ibsize,
     			      NOCRED, 0, &bp);
     		if (error) {
     			DLOG((DLOG_CLEAN, "lfs_fastvget: bread failed (%d)\n",
    @@ -1161,12 +1178,11 @@ lfs_fastvget(struct mount *mp, ino_t ino, daddr_t daddr, struct vnode **vpp,
     			 * would be misleading to leave it on its hash chain.
     			 * Iput() will return it to the free list.
     			 */
    -			ufs_ihashrem(ip);
    +			ulfs_ihashrem(ip);
     
     			/* Unlock and discard unneeded inode. */
     			VOP_UNLOCK(vp);
     			lfs_vunref(vp);
    -			brelse(bp, 0);
     			*vpp = NULL;
     			return (error);
     		}
    diff --git a/sys/ufs/lfs/lfs_vfsops.c b/sys/ufs/lfs/lfs_vfsops.c
    index 7769e94a1..26fd4fef7 100644
    --- a/sys/ufs/lfs/lfs_vfsops.c
    +++ b/sys/ufs/lfs/lfs_vfsops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_vfsops.c,v 1.291 2011/11/14 18:35:14 hannken Exp $	*/
    +/*	$NetBSD: lfs_vfsops.c,v 1.317 2013/11/27 17:24:44 christos Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003, 2007, 2007
    @@ -61,7 +61,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_vfsops.c,v 1.291 2011/11/14 18:35:14 hannken Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_vfsops.c,v 1.317 2013/11/27 17:24:44 christos Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_lfs.h"
    @@ -98,10 +98,10 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_vfsops.c,v 1.291 2011/11/14 18:35:14 hannken Exp
     
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    @@ -109,18 +109,18 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_vfsops.c,v 1.291 2011/11/14 18:35:14 hannken Exp
     #include 
     
     #include 
    +#include 
     #include 
     
     #include 
     #include 
     
    -MODULE(MODULE_CLASS_VFS, lfs, "ffs");
    +MODULE(MODULE_CLASS_VFS, lfs, NULL);
     
     static int lfs_gop_write(struct vnode *, struct vm_page **, int, int);
    -static bool lfs_issequential_hole(const struct ufsmount *,
    -    daddr_t, daddr_t);
    -
     static int lfs_mountfs(struct vnode *, struct mount *, struct lwp *);
    +static int lfs_extattrctl(struct mount *, int, struct vnode *, int,
    +			  const char *);
     
     static struct sysctllog *lfs_sysctl_log;
     
    @@ -129,6 +129,7 @@ extern const struct vnodeopv_desc lfs_specop_opv_desc;
     extern const struct vnodeopv_desc lfs_fifoop_opv_desc;
     
     pid_t lfs_writer_daemon = 0;
    +lwpid_t lfs_writer_lid = 0;
     int lfs_do_flush = 0;
     #ifdef LFS_KERNEL_RFW
     int lfs_do_rfw = 0;
    @@ -143,12 +144,12 @@ const struct vnodeopv_desc * const lfs_vnodeopv_descs[] = {
     
     struct vfsops lfs_vfsops = {
     	MOUNT_LFS,
    -	sizeof (struct ufs_args),
    +	sizeof (struct ulfs_args),
     	lfs_mount,
    -	ufs_start,
    +	ulfs_start,
     	lfs_unmount,
    -	ufs_root,
    -	ufs_quotactl,
    +	ulfs_root,
    +	ulfs_quotactl,
     	lfs_statvfs,
     	lfs_sync,
     	lfs_vget,
    @@ -159,7 +160,7 @@ struct vfsops lfs_vfsops = {
     	lfs_done,
     	lfs_mountroot,
     	(int (*)(struct mount *, struct vnode *, struct timespec *)) eopnotsupp,
    -	vfs_stdextattrctl,
    +	lfs_extattrctl,
     	(void *)eopnotsupp,	/* vfs_suspendctl */
     	genfs_renamelock_enter,
     	genfs_renamelock_exit,
    @@ -171,19 +172,9 @@ struct vfsops lfs_vfsops = {
     
     const struct genfs_ops lfs_genfsops = {
     	.gop_size = lfs_gop_size,
    -	.gop_alloc = ufs_gop_alloc,
    +	.gop_alloc = ulfs_gop_alloc,
     	.gop_write = lfs_gop_write,
    -	.gop_markupdate = ufs_gop_markupdate,
    -};
    -
    -static const struct ufs_ops lfs_ufsops = {
    -	.uo_itimes = NULL,
    -	.uo_update = lfs_update,
    -	.uo_truncate = lfs_truncate,
    -	.uo_valloc = lfs_valloc,
    -	.uo_vfree = lfs_vfree,
    -	.uo_balloc = lfs_balloc,
    -	.uo_unmark_vnode = lfs_unmark_vnode,
    +	.gop_markupdate = ulfs_gop_markupdate,
     };
     
     struct shortlong {
    @@ -399,89 +390,153 @@ struct pool lfs_lbnentry_pool;
     static void
     lfs_writerd(void *arg)
     {
    -	struct mount *mp, *nmp;
    -	struct lfs *fs;
    -	int fsflags;
    -	int loopcount;
    -
    -	lfs_writer_daemon = curproc->p_pid;
    -
    + 	struct mount *mp, *nmp;
    + 	struct lfs *fs;
    +	struct vfsops *vfs = NULL;
    + 	int fsflags;
    +	int skipc;
    +	int lfsc;
    +	int wrote_something = 0;
    + 
     	mutex_enter(&lfs_lock);
    -	for (;;) {
    -		mtsleep(&lfs_writer_daemon, PVM | PNORELOCK, "lfswriter", hz/10,
    -		    &lfs_lock);
    + 	lfs_writer_daemon = curproc->p_pid;
    +	lfs_writer_lid = curlwp->l_lid;
    +	mutex_exit(&lfs_lock);
     
    -		/*
    -		 * Look through the list of LFSs to see if any of them
    -		 * have requested pageouts.
    -		 */
    -		mutex_enter(&mountlist_lock);
    -		for (mp = CIRCLEQ_FIRST(&mountlist); mp != (void *)&mountlist;
    -		     mp = nmp) {
    -			if (vfs_busy(mp, &nmp)) {
    -				continue;
    -			}
    -			if (strncmp(mp->mnt_stat.f_fstypename, MOUNT_LFS,
    -			    sizeof(mp->mnt_stat.f_fstypename)) == 0) {
    -				fs = VFSTOUFS(mp)->um_lfs;
    -				mutex_enter(&lfs_lock);
    -				fsflags = 0;
    -				if ((fs->lfs_dirvcount > LFS_MAX_FSDIROP(fs) ||
    -				     lfs_dirvcount > LFS_MAX_DIROP) &&
    -				    fs->lfs_dirops == 0)
    -					fsflags |= SEGM_CKP;
    -				if (fs->lfs_pdflush) {
    -					DLOG((DLOG_FLUSH, "lfs_writerd: pdflush set\n"));
    -					fs->lfs_pdflush = 0;
    -					lfs_flush_fs(fs, fsflags);
    -					mutex_exit(&lfs_lock);
    -				} else if (!TAILQ_EMPTY(&fs->lfs_pchainhd)) {
    -					DLOG((DLOG_FLUSH, "lfs_writerd: pchain non-empty\n"));
    -					mutex_exit(&lfs_lock);
    -					lfs_writer_enter(fs, "wrdirop");
    -					lfs_flush_pchain(fs);
    -					lfs_writer_leave(fs);
    -				} else
    -					mutex_exit(&lfs_lock);
    -			}
    -			vfs_unbusy(mp, false, &nmp);
    -		}
    -		mutex_exit(&mountlist_lock);
    +	/* Take an extra reference to the LFS vfsops. */
    +	vfs = vfs_getopsbyname(MOUNT_LFS);
    + 
    + 	mutex_enter(&lfs_lock);
    + 	for (;;) {
    +		KASSERT(mutex_owned(&lfs_lock));
    +		if (wrote_something == 0)
    +			mtsleep(&lfs_writer_daemon, PVM, "lfswriter", hz/10 + 1,
    +				&lfs_lock);
    +
    +		KASSERT(mutex_owned(&lfs_lock));
    +		wrote_something = 0;
     
     		/*
     		 * If global state wants a flush, flush everything.
     		 */
    -		mutex_enter(&lfs_lock);
    -		loopcount = 0;
     		if (lfs_do_flush || locked_queue_count > LFS_MAX_BUFS ||
     			locked_queue_bytes > LFS_MAX_BYTES ||
     			lfs_subsys_pages > LFS_MAX_PAGES) {
     
     			if (lfs_do_flush) {
    -				DLOG((DLOG_FLUSH, "daemon: lfs_do_flush\n"));
    +				DLOG((DLOG_FLUSH, "lfs_writerd: lfs_do_flush\n"));
     			}
     			if (locked_queue_count > LFS_MAX_BUFS) {
    -				DLOG((DLOG_FLUSH, "daemon: lqc = %d, max %d\n",
    +				DLOG((DLOG_FLUSH, "lfs_writerd: lqc = %d, max %d\n",
     				      locked_queue_count, LFS_MAX_BUFS));
     			}
     			if (locked_queue_bytes > LFS_MAX_BYTES) {
    -				DLOG((DLOG_FLUSH, "daemon: lqb = %ld, max %ld\n",
    +				DLOG((DLOG_FLUSH, "lfs_writerd: lqb = %ld, max %ld\n",
     				      locked_queue_bytes, LFS_MAX_BYTES));
     			}
     			if (lfs_subsys_pages > LFS_MAX_PAGES) {
    -				DLOG((DLOG_FLUSH, "daemon: lssp = %d, max %d\n",
    +				DLOG((DLOG_FLUSH, "lfs_writerd: lssp = %d, max %d\n",
     				      lfs_subsys_pages, LFS_MAX_PAGES));
     			}
     
     			lfs_flush(NULL, SEGM_WRITERD, 0);
     			lfs_do_flush = 0;
    +			KASSERT(mutex_owned(&lfs_lock));
    +			continue;
     		}
    -	}
    -	/* NOTREACHED */
    +		KASSERT(mutex_owned(&lfs_lock));
    +		mutex_exit(&lfs_lock);
    + 
    + 		/*
    + 		 * Look through the list of LFSs to see if any of them
    + 		 * have requested pageouts.
    + 		 */
    + 		mutex_enter(&mountlist_lock);
    +		lfsc = 0;
    +		skipc = 0;
    + 		for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nmp) {
    + 			if (vfs_busy(mp, &nmp)) {
    +				++skipc;
    + 				continue;
    + 			}
    +			KASSERT(!mutex_owned(&lfs_lock));
    + 			if (strncmp(mp->mnt_stat.f_fstypename, MOUNT_LFS,
    + 			    sizeof(mp->mnt_stat.f_fstypename)) == 0) {
    +				++lfsc;
    + 				fs = VFSTOULFS(mp)->um_lfs;
    +				int32_t ooffset = 0;
    +				fsflags = SEGM_SINGLE;
    +
    + 				mutex_enter(&lfs_lock);
    +				ooffset = fs->lfs_offset;
    +
    +				if (fs->lfs_nextseg < fs->lfs_curseg && fs->lfs_nowrap) {
    +					/* Don't try to write if we're suspended */
    +					mutex_exit(&lfs_lock);
    +					vfs_unbusy(mp, false, &nmp);
    +					continue;
    +				}
    +				if (LFS_STARVED_FOR_SEGS(fs)) {
    +					mutex_exit(&lfs_lock);
    +
    +					DLOG((DLOG_FLUSH, "lfs_writerd: need cleaning before writing possible\n"));
    +					lfs_wakeup_cleaner(fs);
    +					vfs_unbusy(mp, false, &nmp);
    +					continue;
    +				}
    +
    + 				if ((fs->lfs_dirvcount > LFS_MAX_FSDIROP(fs) ||
    + 				     lfs_dirvcount > LFS_MAX_DIROP) &&
    +				    fs->lfs_dirops == 0) {
    +					fsflags &= ~SEGM_SINGLE;
    + 					fsflags |= SEGM_CKP;
    +					DLOG((DLOG_FLUSH, "lfs_writerd: checkpoint\n"));
    +					lfs_flush_fs(fs, fsflags);
    +				} else if (fs->lfs_pdflush) {
    + 					DLOG((DLOG_FLUSH, "lfs_writerd: pdflush set\n"));
    + 					lfs_flush_fs(fs, fsflags);
    + 				} else if (!TAILQ_EMPTY(&fs->lfs_pchainhd)) {
    + 					DLOG((DLOG_FLUSH, "lfs_writerd: pchain non-empty\n"));
    + 					mutex_exit(&lfs_lock);
    + 					lfs_writer_enter(fs, "wrdirop");
    + 					lfs_flush_pchain(fs);
    + 					lfs_writer_leave(fs);
    +					mutex_enter(&lfs_lock);
    +				}
    +				if (fs->lfs_offset != ooffset)
    +					++wrote_something;
    +				mutex_exit(&lfs_lock);
    + 			}
    +			KASSERT(!mutex_owned(&lfs_lock));
    + 			vfs_unbusy(mp, false, &nmp);
    + 		}
    +		if (lfsc + skipc == 0) {
    +			mutex_enter(&lfs_lock);
    +			lfs_writer_daemon = 0;
    +			lfs_writer_lid = 0;
    +			mutex_exit(&lfs_lock);
    +			mutex_exit(&mountlist_lock);
    +			break;
    +		}
    + 		mutex_exit(&mountlist_lock);
    + 
    + 		mutex_enter(&lfs_lock);
    + 	}
    +	KASSERT(!mutex_owned(&lfs_lock));
    +	KASSERT(!mutex_owned(&mountlist_lock));
    +
    +	/* Give up our extra reference so the module can be unloaded. */
    +	mutex_enter(&vfs_list_lock);
    +	if (vfs != NULL)
    +		vfs->vfs_refcount--;
    +	mutex_exit(&vfs_list_lock);
    +
    +	/* Done! */
    +	kthread_exit(0);
     }
     
     /*
    - * Initialize the filesystem, most work done by ufs_init.
    + * Initialize the filesystem, most work done by ulfs_init.
      */
     void
     lfs_init(void)
    @@ -490,13 +545,13 @@ lfs_init(void)
     	malloc_type_attach(M_SEGMENT);
     	pool_init(&lfs_inode_pool, sizeof(struct inode), 0, 0, 0,
     	    "lfsinopl", &pool_allocator_nointr, IPL_NONE);
    -	pool_init(&lfs_dinode_pool, sizeof(struct ufs1_dinode), 0, 0, 0,
    +	pool_init(&lfs_dinode_pool, sizeof(struct ulfs1_dinode), 0, 0, 0,
     	    "lfsdinopl", &pool_allocator_nointr, IPL_NONE);
     	pool_init(&lfs_inoext_pool, sizeof(struct lfs_inode_ext), 8, 0, 0,
     	    "lfsinoextpl", &pool_allocator_nointr, IPL_NONE);
     	pool_init(&lfs_lbnentry_pool, sizeof(struct lbnentry), 0, 0, 0,
     	    "lfslbnpool", &pool_allocator_nointr, IPL_NONE);
    -	ufs_init();
    +	ulfs_init();
     
     #ifdef DEBUG
     	memset(lfs_log, 0, sizeof(lfs_log));
    @@ -509,13 +564,13 @@ lfs_init(void)
     void
     lfs_reinit(void)
     {
    -	ufs_reinit();
    +	ulfs_reinit();
     }
     
     void
     lfs_done(void)
     {
    -	ufs_done();
    +	ulfs_done();
     	mutex_destroy(&lfs_lock);
     	cv_destroy(&locked_queue_cv);
     	cv_destroy(&lfs_writing_cv);
    @@ -527,7 +582,7 @@ lfs_done(void)
     }
     
     /*
    - * Called by main() when ufs is going to be mounted as root.
    + * Called by main() when ulfs is going to be mounted as root.
      */
     int
     lfs_mountroot(void)
    @@ -536,7 +591,7 @@ lfs_mountroot(void)
     	struct lfs *fs = NULL;				/* LFS */
     	struct mount *mp;
     	struct lwp *l = curlwp;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     	int error;
     
     	if (device_class(root_device) != DV_DISK)
    @@ -553,16 +608,14 @@ lfs_mountroot(void)
     		vfs_destroy(mp);
     		return (error);
     	}
    -	mutex_enter(&mountlist_lock);
    -	CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list);
    -	mutex_exit(&mountlist_lock);
    -	ump = VFSTOUFS(mp);
    +	mountlist_append(mp);
    +	ump = VFSTOULFS(mp);
     	fs = ump->um_lfs;
     	memset(fs->lfs_fsmnt, 0, sizeof(fs->lfs_fsmnt));
     	(void)copystr(mp->mnt_stat.f_mntonname, fs->lfs_fsmnt, MNAMELEN - 1, 0);
     	(void)lfs_statvfs(mp, &mp->mnt_stat);
     	vfs_unbusy(mp, false, NULL);
    -	setrootfstime((time_t)(VFSTOUFS(mp)->um_lfs->lfs_tstamp));
    +	setrootfstime((time_t)(VFSTOULFS(mp)->um_lfs->lfs_tstamp));
     	return (0);
     }
     
    @@ -576,8 +629,8 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     {
     	struct lwp *l = curlwp;
     	struct vnode *devvp;
    -	struct ufs_args *args = data;
    -	struct ufsmount *ump = NULL;
    +	struct ulfs_args *args = data;
    +	struct ulfsmount *ump = NULL;
     	struct lfs *fs = NULL;				/* LFS */
     	int error = 0, update;
     	mode_t accessmode;
    @@ -586,7 +639,7 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     		return EINVAL;
     
     	if (mp->mnt_flag & MNT_GETARGS) {
    -		ump = VFSTOUFS(mp);
    +		ump = VFSTOULFS(mp);
     		if (ump == NULL)
     			return EIO;
     		args->fspec = NULL;
    @@ -619,7 +672,7 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     			 * Be sure we're still naming the same device
     			 * used for our initial mount
     			 */
    -			ump = VFSTOUFS(mp);
    +			ump = VFSTOULFS(mp);
     			if (devvp != ump->um_devvp) {
     				if (devvp->v_rdev != ump->um_devvp->v_rdev)
     					error = EINVAL;
    @@ -636,7 +689,7 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     			return (EINVAL);
     		} else {
     			/* Use the extant mount */
    -			ump = VFSTOUFS(mp);
    +			ump = VFSTOULFS(mp);
     			devvp = ump->um_devvp;
     			vref(devvp);
     		}
    @@ -654,7 +707,9 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     		    (mp->mnt_flag & MNT_RDONLY) == 0)
     			accessmode |= VWRITE;
     		vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY);
    -		error = genfs_can_mount(devvp, accessmode, l->l_cred);
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_MOUNT,
    +		    KAUTH_REQ_SYSTEM_MOUNT_DEVICE, mp, devvp,
    +		    KAUTH_ARG(accessmode));
     		VOP_UNLOCK(devvp);
     	}
     
    @@ -683,7 +738,7 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     			goto fail;
     		}
     
    -		ump = VFSTOUFS(mp);
    +		ump = VFSTOULFS(mp);
     		fs = ump->um_lfs;
     	} else {
     		/*
    @@ -697,13 +752,52 @@ lfs_mount(struct mount *mp, const char *path, void *data, size_t *data_len)
     		 */
     		vrele(devvp);
     
    -		ump = VFSTOUFS(mp);
    +		ump = VFSTOULFS(mp);
     		fs = ump->um_lfs;
    +
    +		if (fs->lfs_ronly == 0 && (mp->mnt_flag & MNT_RDONLY)) {
    +			/*
    +			 * Changing from read/write to read-only.
    +			 * XXX: shouldn't we sync here? or does vfs do that?
    +			 */
    +#ifdef LFS_QUOTA2
    +			/* XXX: quotas should remain on when readonly */
    +			if (fs->lfs_use_quota2) {
    +				error = lfsquota2_umount(mp, 0);
    +				if (error) {
    +					return error;
    +				}
    +			}
    +#endif
    +		}
    +
     		if (fs->lfs_ronly && (mp->mnt_iflag & IMNT_WANTRDWR)) {
     			/*
     			 * Changing from read-only to read/write.
     			 * Note in the superblocks that we're writing.
     			 */
    +
    +			/* XXX: quotas should have been on even if readonly */
    +			if (fs->lfs_use_quota2) {
    +#ifdef LFS_QUOTA2
    +				error = lfs_quota2_mount(mp);
    +#else
    +				uprintf("%s: no kernel support for this "
    +					"filesystem's quotas\n",
    +					mp->mnt_stat.f_mntonname);
    +				if (mp->mnt_flag & MNT_FORCE) {
    +					uprintf("%s: mounting anyway; "
    +						"fsck afterwards\n",
    +						mp->mnt_stat.f_mntonname);
    +				} else {
    +					error = EINVAL;
    +				}
    +#endif
    +				if (error) {
    +					return error;
    +				}
    +			}
    +
     			fs->lfs_ronly = 0;
     			if (fs->lfs_pflags & LFS_PF_CLEAN) {
     				fs->lfs_pflags &= ~LFS_PF_CLEAN;
    @@ -737,7 +831,7 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     {
     	struct dlfs *tdfs, *dfs, *adfs;
     	struct lfs *fs;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     	struct vnode *vp;
     	struct buf *bp, *abp;
     	dev_t dev;
    @@ -857,7 +951,7 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	}
     
     	/* Allocate the mount structure, copy the superblock into it. */
    -	fs = malloc(sizeof(struct lfs), M_UFSMNT, M_WAITOK | M_ZERO);
    +	fs = kmem_zalloc(sizeof(struct lfs), KM_SLEEP);
     	memcpy(&fs->lfs_dlfs, tdfs, sizeof(struct dlfs));
     
     	/* Compatibility */
    @@ -876,13 +970,13 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	 * If we aren't going to be able to write meaningfully to this
     	 * filesystem, and were not mounted readonly, bomb out now.
     	 */
    -	if (fsbtob(fs, LFS_NRESERVE(fs)) > LFS_MAX_BYTES && !ronly) {
    +	if (lfs_fsbtob(fs, LFS_NRESERVE(fs)) > LFS_MAX_BYTES && !ronly) {
     		DLOG((DLOG_MOUNT, "lfs_mount: to mount this filesystem read/write,"
     		      " we need BUFPAGES >= %lld\n",
     		      (long long)((bufmem_hiwater / bufmem_lowater) *
     				  LFS_INVERSE_MAX_BYTES(
    -					  fsbtob(fs, LFS_NRESERVE(fs))) >> PAGE_SHIFT)));
    -		free(fs, M_UFSMNT);
    +					  lfs_fsbtob(fs, LFS_NRESERVE(fs))) >> PAGE_SHIFT)));
    +		kmem_free(fs, sizeof(struct lfs));
     		error = EFBIG; /* XXX needs translation */
     		goto out;
     	}
    @@ -893,10 +987,9 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     		fs->lfs_rfpid = l->l_proc->p_pid;
     	}
     
    -	ump = malloc(sizeof *ump, M_UFSMNT, M_WAITOK | M_ZERO);
    +	ump = kmem_zalloc(sizeof(*ump), KM_SLEEP);
     	ump->um_lfs = fs;
    -	ump->um_ops = &lfs_ufsops;
    -	ump->um_fstype = UFS1;
    +	ump->um_fstype = ULFS1;
     	if (sizeof(struct lfs) < LFS_SBPAD) {			/* XXX why? */
     		brelse(bp, BC_INVAL);
     		brelse(abp, BC_INVAL);
    @@ -936,6 +1029,24 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	if (ronly == 0)
     		fs->lfs_fmod = 1;
     
    +	/* ulfs-level information */
    +	fs->um_flags = 0;
    +	fs->um_bptrtodb = fs->lfs_ffshift - DEV_BSHIFT;
    +	fs->um_seqinc = fs->lfs_frag;
    +	fs->um_nindir = fs->lfs_nindir;
    +	fs->um_lognindir = ffs(fs->lfs_nindir) - 1;
    +	fs->um_maxsymlinklen = fs->lfs_maxsymlinklen;
    +	fs->um_dirblksiz = LFS_DIRBLKSIZ;
    +	fs->um_maxfilesize = fs->lfs_maxfilesize;
    +
    +	/* quota stuff */
    +	/* XXX: these need to come from the on-disk superblock to be used */
    +	fs->lfs_use_quota2 = 0;
    +	fs->lfs_quota_magic = 0;
    +	fs->lfs_quota_flags = 0;
    +	fs->lfs_quotaino[0] = 0;
    +	fs->lfs_quotaino[1] = 0;
    +
     	/* Initialize the mount structure. */
     	dev = devvp->v_rdev;
     	mp->mnt_data = ump;
    @@ -946,22 +1057,15 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	mp->mnt_stat.f_iosize = fs->lfs_bsize;
     	mp->mnt_flag |= MNT_LOCAL;
     	mp->mnt_fs_bshift = fs->lfs_bshift;
    -	ump->um_flags = 0;
    +	if (fs->um_maxsymlinklen > 0)
    +		mp->mnt_iflag |= IMNT_DTYPE;
    +
     	ump->um_mountp = mp;
     	ump->um_dev = dev;
     	ump->um_devvp = devvp;
    -	ump->um_bptrtodb = fs->lfs_ffshift - DEV_BSHIFT;
    -	ump->um_seqinc = fs->lfs_frag;
    -	ump->um_nindir = fs->lfs_nindir;
    -	ump->um_lognindir = ffs(fs->lfs_nindir) - 1;
    -	for (i = 0; i < MAXQUOTAS; i++)
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++)
     		ump->um_quotas[i] = NULLVP;
    -	ump->um_maxsymlinklen = fs->lfs_maxsymlinklen;
    -	ump->um_dirblksiz = DIRBLKSIZ;
    -	ump->um_maxfilesize = fs->lfs_maxfilesize;
    -	if (ump->um_maxsymlinklen > 0)
    -		mp->mnt_iflag |= IMNT_DTYPE;
    -	devvp->v_specmountpoint = mp;
    +	spec_node_setmountedfs(devvp, mp);
     
     	/* Set up reserved memory for pageout */
     	lfs_setup_resblks(fs);
    @@ -1024,6 +1128,58 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     			brelse(bp, 0);
     	}
     
    +	/*
    +	 * XXX: if the fs has quotas, quotas should be on even if
    +	 * readonly. Otherwise you can't query the quota info!
    +	 * However, that's not how the quota2 code got written and I
    +	 * don't know if it'll behave itself if enabled while
    +	 * readonly, so for now use the same enable logic as ffs.
    +	 *
    +	 * XXX: also, if you use the -f behavior allowed here (and
    +	 * equivalently above for remount) it will corrupt the fs. It
    +	 * ought not to allow that. It should allow mounting readonly
    +	 * if there are quotas and the kernel doesn't have the quota
    +	 * code, but only readonly.
    +	 *
    +	 * XXX: and if you use the -f behavior allowed here it will
    +	 * likely crash at unmount time (or remount time) because we
    +	 * think quotas are active.
    +	 *
    +	 * Although none of this applies until there's a way to set
    +	 * lfs_use_quota2 and have quotas in the fs at all.
    +	 */
    +	if (!ronly && fs->lfs_use_quota2) {
    +#ifdef LFS_QUOTA2
    +		error = lfs_quota2_mount(mp);
    +#else
    +		uprintf("%s: no kernel support for this filesystem's quotas\n",
    +			mp->mnt_stat.f_mntonname);
    +		if (mp->mnt_flag & MNT_FORCE) {
    +			uprintf("%s: mounting anyway; fsck afterwards\n",
    +				mp->mnt_stat.f_mntonname);
    +		} else {
    +			error = EINVAL;
    +		}
    +#endif
    +		if (error) {
    +			/* XXX XXX must clean up the stuff immediately above */
    +			printf("lfs_mountfs: sorry, leaking some memory\n");
    +			goto out;
    +		}
    +	}
    +
    +#ifdef LFS_EXTATTR
    +	/*
    +	 * Initialize file-backed extended attributes for ULFS1 file
    +	 * systems.
    +	 *
    +	 * XXX: why is this limited to ULFS1?
    +	 */
    +	if (ump->um_fstype == ULFS1) {
    +		ulfs_extattr_uepm_init(&ump->um_extattr);
    +	}
    +#endif
    +
     #ifdef LFS_KERNEL_RFW
     	lfs_roll_forward(fs, mp, l);
     #endif
    @@ -1054,25 +1210,21 @@ lfs_mountfs(struct vnode *devvp, struct mount *mp, struct lwp *l)
     	 * Mark the current segment as ACTIVE, since we're going to
     	 * be writing to it.
     	 */
    -	LFS_SEGENTRY(sup, fs, dtosn(fs, fs->lfs_offset), bp);
    +	LFS_SEGENTRY(sup, fs, lfs_dtosn(fs, fs->lfs_offset), bp);
     	sup->su_flags |= SEGUSE_DIRTY | SEGUSE_ACTIVE;
     	fs->lfs_nactive++;
    -	LFS_WRITESEGENTRY(sup, fs, dtosn(fs, fs->lfs_offset), bp);  /* Ifile */
    +	LFS_WRITESEGENTRY(sup, fs, lfs_dtosn(fs, fs->lfs_offset), bp);  /* Ifile */
     
     	/* Now that roll-forward is done, unlock the Ifile */
     	vput(vp);
     
     	/* Start the pagedaemon-anticipating daemon */
    -	if (lfs_writer_daemon == 0 && kthread_create(PRI_BIO, 0, NULL,
    +	mutex_enter(&lfs_lock);
    +	if (lfs_writer_daemon == 0 && lfs_writer_lid == 0 &&
    +	    kthread_create(PRI_BIO, 0, NULL,
     	    lfs_writerd, NULL, NULL, "lfs_writer") != 0)
     		panic("fork lfs_writer");
    -	/*
    -	 * XXX: Get extra reference to LFS vfsops.  This prevents unload,
    -	 * but also prevents kernel panic due to text being unloaded
    -	 * from below lfs_writerd.  When lfs_writerd can exit, remove
    -	 * this!!!
    -	 */
    -	vfs_getopsbyname(MOUNT_LFS);
    +	mutex_exit(&lfs_lock);
     
     	printf("WARNING: the log-structured file system is experimental\n"
     	    "WARNING: it may cause system crashes and/or corrupt data\n");
    @@ -1085,8 +1237,8 @@ out:
     	if (abp)
     		brelse(abp, 0);
     	if (ump) {
    -		free(ump->um_lfs, M_UFSMNT);
    -		free(ump, M_UFSMNT);
    +		kmem_free(ump->um_lfs, sizeof(struct lfs));
    +		kmem_free(ump, sizeof(*ump));
     		mp->mnt_data = NULL;
     	}
     
    @@ -1100,7 +1252,7 @@ int
     lfs_unmount(struct mount *mp, int mntflags)
     {
     	struct lwp *l = curlwp;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     	struct lfs *fs;
     	int error, flags, ronly;
     	vnode_t *vp;
    @@ -1109,7 +1261,7 @@ lfs_unmount(struct mount *mp, int mntflags)
     	if (mntflags & MNT_FORCE)
     		flags |= FORCECLOSE;
     
    -	ump = VFSTOUFS(mp);
    +	ump = VFSTOULFS(mp);
     	fs = ump->um_lfs;
     
     	/* Two checkpoints */
    @@ -1117,6 +1269,7 @@ lfs_unmount(struct mount *mp, int mntflags)
     	lfs_segwrite(mp, SEGM_CKP | SEGM_SYNC);
     
     	/* wake up the cleaner so it can die */
    +	/* XXX: shouldn't this be *after* the error cases below? */
     	lfs_wakeup_cleaner(fs);
     	mutex_enter(&lfs_lock);
     	while (fs->lfs_sleepers)
    @@ -1124,8 +1277,22 @@ lfs_unmount(struct mount *mp, int mntflags)
     			&lfs_lock);
     	mutex_exit(&lfs_lock);
     
    -#ifdef QUOTA
    -        if ((error = quota1_umount(mp, flags)) != 0)
    +#ifdef LFS_EXTATTR
    +	if (ump->um_fstype == ULFS1) {
    +		if (ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED) {
    +			ulfs_extattr_stop(mp, curlwp);
    +		}
    +		if (ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_INITIALIZED) {
    +			ulfs_extattr_uepm_destroy(&ump->um_extattr);
    +		}
    +	}
    +#endif
    +#ifdef LFS_QUOTA
    +        if ((error = lfsquota1_umount(mp, flags)) != 0)
    +		return (error);
    +#endif
    +#ifdef LFS_QUOTA2
    +        if ((error = lfsquota2_umount(mp, flags)) != 0)
     		return (error);
     #endif
     	if ((error = vflush(mp, fs->lfs_ivnode, flags)) != 0)
    @@ -1153,7 +1320,7 @@ lfs_unmount(struct mount *mp, int mntflags)
     
     	ronly = !fs->lfs_ronly;
     	if (ump->um_devvp->v_type != VBAD)
    -		ump->um_devvp->v_specmountpoint = NULL;
    +		spec_node_setmountedfs(ump->um_devvp, NULL);
     	vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY);
     	error = VOP_CLOSE(ump->um_devvp,
     	    ronly ? FREAD : FREAD|FWRITE, NOCRED);
    @@ -1173,8 +1340,9 @@ lfs_unmount(struct mount *mp, int mntflags)
     	cv_destroy(&fs->lfs_stopcv);
     	rw_destroy(&fs->lfs_fraglock);
     	rw_destroy(&fs->lfs_iflock);
    -	free(fs, M_UFSMNT);
    -	free(ump, M_UFSMNT);
    +
    +	kmem_free(fs, sizeof(struct lfs));
    +	kmem_free(ump, sizeof(*ump));
     
     	mp->mnt_data = NULL;
     	mp->mnt_flag &= ~MNT_LOCAL;
    @@ -1191,9 +1359,9 @@ int
     lfs_statvfs(struct mount *mp, struct statvfs *sbp)
     {
     	struct lfs *fs;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     
    -	ump = VFSTOUFS(mp);
    +	ump = VFSTOULFS(mp);
     	fs = ump->um_lfs;
     	if (fs->lfs_magic != LFS_MAGIC)
     		panic("lfs_statvfs: magic");
    @@ -1216,7 +1384,8 @@ lfs_statvfs(struct mount *mp, struct statvfs *sbp)
     	else
     		sbp->f_bavail = 0;
     
    -	sbp->f_files = fs->lfs_bfree / btofsb(fs, fs->lfs_ibsize) * INOPB(fs);
    +	sbp->f_files = fs->lfs_bfree / lfs_btofsb(fs, fs->lfs_ibsize)
    +	    * LFS_INOPB(fs);
     	sbp->f_ffree = sbp->f_files - fs->lfs_nfiles;
     	sbp->f_favail = sbp->f_ffree;
     	sbp->f_fresvd = 0;
    @@ -1237,7 +1406,7 @@ lfs_sync(struct mount *mp, int waitfor, kauth_cred_t cred)
     	int error;
     	struct lfs *fs;
     
    -	fs = VFSTOUFS(mp)->um_lfs;
    +	fs = VFSTOULFS(mp)->um_lfs;
     	if (fs->lfs_ronly)
     		return 0;
     
    @@ -1261,8 +1430,8 @@ lfs_sync(struct mount *mp, int waitfor, kauth_cred_t cred)
     	DLOG((DLOG_FLUSH, "lfs_sync at 0x%x\n", fs->lfs_offset));
     	error = lfs_segwrite(mp, SEGM_CKP | (waitfor ? SEGM_SYNC : 0));
     	lfs_writer_leave(fs);
    -#ifdef QUOTA
    -	qsync(mp);
    +#ifdef LFS_QUOTA
    +	lfs_qsync(mp);
     #endif
     	return (error);
     }
    @@ -1276,12 +1445,12 @@ int
     lfs_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
     {
     	struct lfs *fs;
    -	struct ufs1_dinode *dip;
    +	struct ulfs1_dinode *dip;
     	struct inode *ip;
     	struct buf *bp;
     	struct ifile *ifp;
     	struct vnode *vp;
    -	struct ufsmount *ump;
    +	struct ulfsmount *ump;
     	daddr_t daddr;
     	dev_t dev;
     	int error, retries;
    @@ -1289,7 +1458,7 @@ lfs_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
     
     	memset(&ts, 0, sizeof ts);	/* XXX gcc */
     
    -	ump = VFSTOUFS(mp);
    +	ump = VFSTOULFS(mp);
     	dev = ump->um_dev;
     	fs = ump->um_lfs;
     
    @@ -1304,7 +1473,7 @@ lfs_vget(struct mount *mp, ino_t ino, struct vnode **vpp)
     	mutex_exit(&lfs_lock);
     
     retry:
    -	if ((*vpp = ufs_ihashget(dev, ino, LK_EXCLUSIVE)) != NULL)
    +	if ((*vpp = ulfs_ihashget(dev, ino, LK_EXCLUSIVE)) != NULL)
     		return (0);
     
     	error = getnewvnode(VT_LFS, mp, lfs_vnodeop_p, NULL, &vp);
    @@ -1313,9 +1482,9 @@ retry:
     		 return (error);
     	}
     
    -	mutex_enter(&ufs_hashlock);
    -	if (ufs_ihashget(dev, ino, 0) != NULL) {
    -		mutex_exit(&ufs_hashlock);
    +	mutex_enter(&ulfs_hashlock);
    +	if (ulfs_ihashget(dev, ino, 0) != NULL) {
    +		mutex_exit(&ulfs_hashlock);
     		ungetnewvnode(vp);
     		goto retry;
     	}
    @@ -1335,7 +1504,7 @@ retry:
     		brelse(bp, 0);
     		if (daddr == LFS_UNUSED_DADDR) {
     			*vpp = NULLVP;
    -			mutex_exit(&ufs_hashlock);
    +			mutex_exit(&ulfs_hashlock);
     			ungetnewvnode(vp);
     			return (ENOENT);
     		}
    @@ -1351,8 +1520,8 @@ retry:
     	 * disk portion of this inode to be read.
     	 */
     	ip = VTOI(vp);
    -	ufs_ihashins(ip);
    -	mutex_exit(&ufs_hashlock);
    +	ulfs_ihashins(ip);
    +	mutex_exit(&ulfs_hashlock);
     
     	/*
     	 * XXX
    @@ -1365,7 +1534,7 @@ retry:
     	/* Read in the disk contents for the inode, copy into the inode. */
     	retries = 0;
         again:
    -	error = bread(ump->um_devvp, fsbtodb(fs, daddr),
    +	error = bread(ump->um_devvp, LFS_FSBTODB(fs, daddr),
     		(fs->lfs_version == 1 ? fs->lfs_bsize : fs->lfs_ibsize),
     		NOCRED, 0, &bp);
     	if (error) {
    @@ -1376,7 +1545,6 @@ retry:
     		 * list by vput().
     		 */
     		vput(vp);
    -		brelse(bp, 0);
     		*vpp = NULL;
     		return (error);
     	}
    @@ -1393,7 +1561,7 @@ retry:
     			mutex_enter(&lfs_lock);
     			if (fs->lfs_seglock > 0) {
     				struct buf **bpp;
    -				struct ufs1_dinode *dp;
    +				struct ulfs1_dinode *dp;
     				int i;
     
     				for (bpp = fs->lfs_sp->bpp;
    @@ -1403,10 +1571,10 @@ retry:
     						/* Inode block */
     						printf("lfs_vget: block 0x%" PRIx64 ": ",
     						       (*bpp)->b_blkno);
    -						dp = (struct ufs1_dinode *)(*bpp)->b_data;
    -						for (i = 0; i < INOPB(fs); i++)
    -							if (dp[i].di_u.inumber)
    -								printf("%d ", dp[i].di_u.inumber);
    +						dp = (struct ulfs1_dinode *)(*bpp)->b_data;
    +						for (i = 0; i < LFS_INOPB(fs); i++)
    +							if (dp[i].di_inumber)
    +								printf("%d ", dp[i].di_inumber);
     						printf("\n");
     					}
     				}
    @@ -1462,7 +1630,7 @@ lfs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
     	if (lfh.lfid_ino < LFS_IFILE_INUM)
     		return ESTALE;
     
    -	fs = VFSTOUFS(mp)->um_lfs;
    +	fs = VFSTOULFS(mp)->um_lfs;
     	if (lfh.lfid_ident != fs->lfs_ident)
     		return ESTALE;
     
    @@ -1471,9 +1639,9 @@ lfs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
     	     fs->lfs_cleansz - fs->lfs_segtabsz) * fs->lfs_ifpb)
     		return ESTALE;
     
    -	mutex_enter(&ufs_ihash_lock);
    -	vp = ufs_ihashlookup(VFSTOUFS(mp)->um_dev, lfh.lfid_ino);
    -	mutex_exit(&ufs_ihash_lock);
    +	mutex_enter(&ulfs_ihash_lock);
    +	vp = ulfs_ihashlookup(VFSTOULFS(mp)->um_dev, lfh.lfid_ino);
    +	mutex_exit(&ulfs_ihash_lock);
     	if (vp == NULL) {
     		LFS_IENTRY(ifp, fs, lfh.lfid_ino, bp);
     		daddr = ifp->if_daddr;
    @@ -1482,7 +1650,7 @@ lfs_fhtovp(struct mount *mp, struct fid *fhp, struct vnode **vpp)
     			return ESTALE;
     	}
     
    -	return (ufs_fhtovp(mp, &lfh.lfid_ufid, vpp));
    +	return (ulfs_fhtovp(mp, &lfh.lfid_ufid, vpp));
     }
     
     /*
    @@ -1511,15 +1679,17 @@ lfs_vptofh(struct vnode *vp, struct fid *fhp, size_t *fh_size)
     }
     
     /*
    - * ufs_bmaparray callback function for writing.
    + * ulfs_bmaparray callback function for writing.
      *
      * Since blocks will be written to the new segment anyway,
      * we don't care about current daddr of them.
      */
     static bool
    -lfs_issequential_hole(const struct ufsmount *ump,
    +lfs_issequential_hole(const struct lfs *fs,
         daddr_t daddr0, daddr_t daddr1)
     {
    +	(void)fs; /* not used */
    +
     	daddr0 = (daddr_t)((int32_t)daddr0); /* XXX ondisk32 */
     	daddr1 = (daddr_t)((int32_t)daddr1); /* XXX ondisk32 */
     
    @@ -1529,7 +1699,7 @@ lfs_issequential_hole(const struct ufsmount *ump,
     	    (0 <= daddr1 && daddr1 <= LFS_MAX_DADDR));
     
     	/* NOTE: all we want to know here is 'hole or not'. */
    -	/* NOTE: UNASSIGNED is converted to 0 by ufs_bmaparray. */
    +	/* NOTE: UNASSIGNED is converted to 0 by ulfs_bmaparray. */
     
     	/*
     	 * treat UNWRITTENs and all resident blocks as 'contiguous'
    @@ -1576,6 +1746,7 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     	struct lfs *fs = ip->i_lfs;
     	struct segment *sp = fs->lfs_sp;
     	UVMHIST_FUNC("lfs_gop_write"); UVMHIST_CALLED(ubchist);
    +	const char * failreason = NULL;
     
     	ASSERT_SEGLOCK(fs);
     
    @@ -1591,8 +1762,10 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     	 * We must write everything, however, if our vnode is being
     	 * reclaimed.
     	 */
    -	if (LFS_STARVED_FOR_SEGS(fs) && vp != fs->lfs_flushvp)
    -		goto tryagain;
    +	if (LFS_STARVED_FOR_SEGS(fs) && !(vp->v_iflag & VI_XLOCK)) {
    +		failreason = "Starved for segs and not flushing vp";
    + 		goto tryagain;
    +	}
     
     	/*
     	 * Sometimes things slip past the filters in lfs_putpages,
    @@ -1610,9 +1783,16 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     	 *
     	 * XXXUBC that last statement is an oversimplification of course.
     	 */
    -	if (!LFS_SEGLOCK_HELD(fs) ||
    -	    (ip->i_lfs_iflags & LFSI_NO_GOP_WRITE) ||
    -	    (pgs[0]->offset & fs->lfs_bmask) != 0) {
    +	if (!LFS_SEGLOCK_HELD(fs)) {
    +		failreason = "Seglock not held";
    +		goto tryagain;
    +	}
    +	if (ip->i_lfs_iflags & LFSI_NO_GOP_WRITE) {
    +		failreason = "Inode with no_gop_write";
    +		goto tryagain;
    +	}
    +	if ((pgs[0]->offset & fs->lfs_bmask) != 0) {
    +		failreason = "Bad page offset";
     		goto tryagain;
     	}
     
    @@ -1632,6 +1812,7 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     	KASSERT(eof >= 0);
     
     	if (startoffset >= eof) {
    +		failreason = "Offset beyond EOF";
     		goto tryagain;
     	} else
     		bytes = MIN(npages << PAGE_SHIFT, eof - startoffset);
    @@ -1646,9 +1827,11 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     			pgs[i]->flags &= ~PG_DELWRI;
     			pgs[i]->flags |= PG_PAGEOUT;
     			uvm_pageout_start(1);
    +			mutex_enter(vp->v_interlock);
     			mutex_enter(&uvm_pageqlock);
     			uvm_pageunwire(pgs[i]);
     			mutex_exit(&uvm_pageqlock);
    +			mutex_exit(vp->v_interlock);
     		}
     	}
     
    @@ -1710,10 +1893,10 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     	    bytes > 0;
     	    offset += iobytes, bytes -= iobytes) {
     		lbn = offset >> fs_bshift;
    -		error = ufs_bmaparray(vp, lbn, &blkno, NULL, NULL, &run,
    +		error = ulfs_bmaparray(vp, lbn, &blkno, NULL, NULL, &run,
     		    lfs_issequential_hole);
     		if (error) {
    -			UVMHIST_LOG(ubchist, "ufs_bmaparray() -> %d",
    +			UVMHIST_LOG(ubchist, "ulfs_bmaparray() -> %d",
     			    error,0,0,0);
     			skipbytes += bytes;
     			bytes = 0;
    @@ -1768,7 +1951,7 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     			nestiobuf_setup(mbp, bp, offset - pg->offset, iobytes);
     			/*
     			 * LFS doesn't like async I/O here, dies with
    -			 * and assert in lfs_bwrite().  Is that assert
    +			 * an assert in lfs_bwrite().  Is that assert
     			 * valid?  I retained non-async behaviour when
     			 * converted this to use nestiobuf --pooka
     			 */
    @@ -1782,7 +1965,7 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     		mutex_exit(vp->v_interlock);
     		mutex_exit(&bufcache_lock);
     
    -		bp->b_lblkno = lblkno(fs, offset);
    +		bp->b_lblkno = lfs_lblkno(fs, offset);
     		bp->b_private = mbp;
     		if (devvp->v_type == VBLK) {
     			bp->b_dev = devvp->v_rdev;
    @@ -1805,6 +1988,10 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     		lfs_flush(fs, 0, 1);
     		mutex_exit(&lfs_lock);
     	}
    +
    +	if ((sp->seg_flags & SEGM_SINGLE) && fs->lfs_curseg != fs->lfs_startseg)
    +		return EAGAIN;
    +
     	return (0);
     
         tryagain:
    @@ -1815,18 +2002,13 @@ lfs_gop_write(struct vnode *vp, struct vm_page **pgs, int npages,
     	mutex_enter(vp->v_interlock);
     
     	/* Tell why we're here, if we know */
    -	if (ip->i_lfs_iflags & LFSI_NO_GOP_WRITE) {
    -		DLOG((DLOG_PAGE, "lfs_gop_write: clean pages dirtied\n"));
    -	} else if ((pgs[0]->offset & fs->lfs_bmask) != 0) {
    -		DLOG((DLOG_PAGE, "lfs_gop_write: not on block boundary\n"));
    -	} else if (haveeof && startoffset >= eof) {
    -		DLOG((DLOG_PAGE, "lfs_gop_write: ino %d start 0x%" PRIx64
    -		      " eof 0x%" PRIx64 " npages=%d\n", VTOI(vp)->i_number,
    -		      pgs[0]->offset, eof, npages));
    -	} else if (LFS_STARVED_FOR_SEGS(fs)) {
    -		DLOG((DLOG_PAGE, "lfs_gop_write: avail too low\n"));
    -	} else {
    -		DLOG((DLOG_PAGE, "lfs_gop_write: seglock not held\n"));
    +	if (failreason != NULL) {
    +		DLOG((DLOG_PAGE, "lfs_gop_write: %s\n", failreason));
    +	}
    +	if (haveeof && startoffset >= eof) {
    + 		DLOG((DLOG_PAGE, "lfs_gop_write: ino %d start 0x%" PRIx64
    + 		      " eof 0x%" PRIx64 " npages=%d\n", VTOI(vp)->i_number,
    + 		      pgs[0]->offset, eof, npages));
     	}
     
     	mutex_enter(&uvm_pageqlock);
    @@ -1867,7 +2049,7 @@ lfs_vinit(struct mount *mp, struct vnode **vpp)
     {
     	struct vnode *vp = *vpp;
     	struct inode *ip = VTOI(vp);
    -	struct ufsmount *ump = VFSTOUFS(mp);
    +	struct ulfsmount *ump = VFSTOULFS(mp);
     	struct lfs *fs = ump->um_lfs;
     	int i;
     
    @@ -1886,32 +2068,32 @@ lfs_vinit(struct mount *mp, struct vnode **vpp)
     	 * Initialize the vnode from the inode, check for aliases.  In all
     	 * cases re-init ip, the underlying vnode/inode may have changed.
     	 */
    -	ufs_vinit(mp, lfs_specop_p, lfs_fifoop_p, &vp);
    +	ulfs_vinit(mp, lfs_specop_p, lfs_fifoop_p, &vp);
     	ip = VTOI(vp);
     
    -	memset(ip->i_lfs_fragsize, 0, NDADDR * sizeof(*ip->i_lfs_fragsize));
    -	if (vp->v_type != VLNK || ip->i_size >= ip->i_ump->um_maxsymlinklen) {
    +	memset(ip->i_lfs_fragsize, 0, ULFS_NDADDR * sizeof(*ip->i_lfs_fragsize));
    +	if (vp->v_type != VLNK || ip->i_size >= ip->i_lfs->um_maxsymlinklen) {
     #ifdef DEBUG
     		for (i = (ip->i_size + fs->lfs_bsize - 1) >> fs->lfs_bshift;
    -		    i < NDADDR; i++) {
    +		    i < ULFS_NDADDR; i++) {
     			if ((vp->v_type == VBLK || vp->v_type == VCHR) &&
     			    i == 0)
     				continue;
     			if (ip->i_ffs1_db[i] != 0) {
    -inconsistent:
     				lfs_dump_dinode(ip->i_din.ffs1_din);
    -				panic("inconsistent inode");
    +				panic("inconsistent inode (direct)");
     			}
     		}
    -		for ( ; i < NDADDR + NIADDR; i++) {
    -			if (ip->i_ffs1_ib[i - NDADDR] != 0) {
    -				goto inconsistent;
    +		for ( ; i < ULFS_NDADDR + ULFS_NIADDR; i++) {
    +			if (ip->i_ffs1_ib[i - ULFS_NDADDR] != 0) {
    +				lfs_dump_dinode(ip->i_din.ffs1_din);
    +				panic("inconsistent inode (indirect)");
     			}
     		}
     #endif /* DEBUG */
    -		for (i = 0; i < NDADDR; i++)
    +		for (i = 0; i < ULFS_NDADDR; i++)
     			if (ip->i_ffs1_db[i] != 0)
    -				ip->i_lfs_fragsize[i] = blksize(fs, ip, i);
    +				ip->i_lfs_fragsize[i] = lfs_blksize(fs, ip, i);
     	}
     
     #ifdef DIAGNOSTIC
    @@ -1921,7 +2103,7 @@ inconsistent:
     # endif
     		panic("lfs_vinit: ino %llu is type VNON! (ifmt=%o)\n",
     		      (unsigned long long)ip->i_number,
    -		      (ip->i_mode & IFMT) >> 12);
    +		      (ip->i_mode & LFS_IFMT) >> 12);
     	}
     #endif /* DIAGNOSTIC */
     
    @@ -1931,11 +2113,14 @@ inconsistent:
     
     	ip->i_devvp = ump->um_devvp;
     	vref(ip->i_devvp);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	ulfsquota_init(ip);
    +#endif
     	genfs_node_init(vp, &lfs_genfsops);
     	uvm_vnp_setsize(vp, ip->i_size);
     
     	/* Initialize hiblk from file size */
    -	ip->i_lfs_hiblk = lblkno(ip->i_lfs, ip->i_size + ip->i_lfs->lfs_bsize - 1) - 1;
    +	ip->i_lfs_hiblk = lfs_lblkno(ip->i_lfs, ip->i_size + ip->i_lfs->lfs_bsize - 1) - 1;
     
     	*vpp = vp;
     }
    @@ -1965,7 +2150,7 @@ lfs_resize_fs(struct lfs *fs, int newnsegs)
     		return 0;
     
     	/* We always have to have two superblocks */
    -	if (newnsegs <= dtosn(fs, fs->lfs_sboffs[1]))
    +	if (newnsegs <= lfs_dtosn(fs, fs->lfs_sboffs[1]))
     		return EFBIG;
     
     	ivp = fs->lfs_ivnode;
    @@ -2013,8 +2198,8 @@ lfs_resize_fs(struct lfs *fs, int newnsegs)
     	 * (XXX this could be done better.)
     	 */
     	rw_enter(&fs->lfs_iflock, RW_WRITER);
    -	vn_lock(ivp, LK_EXCLUSIVE | LK_RETRY);
     	for (i = 0; i < ilast; i++) {
    +		/* XXX what to do if bread fails? */
     		bread(ivp, i, fs->lfs_bsize, NOCRED, 0, &bp);
     		brelse(bp, 0);
     	}
    @@ -2075,45 +2260,43 @@ lfs_resize_fs(struct lfs *fs, int newnsegs)
     
     	/* Zero out unused superblock offsets */
     	for (i = 2; i < LFS_MAXNUMSB; i++)
    -		if (dtosn(fs, fs->lfs_sboffs[i]) >= newnsegs)
    +		if (lfs_dtosn(fs, fs->lfs_sboffs[i]) >= newnsegs)
     			fs->lfs_sboffs[i] = 0x0;
     
     	/*
     	 * Correct superblock entries that depend on fs size.
     	 * The computations of these are as follows:
     	 *
    -	 * size  = segtod(fs, nseg)
    -	 * dsize = segtod(fs, nseg - minfreeseg) - btofsb(#super * LFS_SBPAD)
    -	 * bfree = dsize - btofsb(fs, bsize * nseg / 2) - blocks_actually_used
    -	 * avail = segtod(fs, nclean) - btofsb(#clean_super * LFS_SBPAD)
    -	 *         + (segtod(fs, 1) - (offset - curseg))
    -	 *	   - segtod(fs, minfreeseg - (minfreeseg / 2))
    +	 * size  = lfs_segtod(fs, nseg)
    +	 * dsize = lfs_segtod(fs, nseg - minfreeseg) - lfs_btofsb(#super * LFS_SBPAD)
    +	 * bfree = dsize - lfs_btofsb(fs, bsize * nseg / 2) - blocks_actually_used
    +	 * avail = lfs_segtod(fs, nclean) - lfs_btofsb(#clean_super * LFS_SBPAD)
    +	 *         + (lfs_segtod(fs, 1) - (offset - curseg))
    +	 *	   - lfs_segtod(fs, minfreeseg - (minfreeseg / 2))
     	 *
     	 * XXX - we should probably adjust minfreeseg as well.
     	 */
     	gain = (newnsegs - oldnsegs);
     	fs->lfs_nseg = newnsegs;
     	fs->lfs_segtabsz = nlast - fs->lfs_cleansz;
    -	fs->lfs_size += gain * btofsb(fs, fs->lfs_ssize);
    -	fs->lfs_dsize += gain * btofsb(fs, fs->lfs_ssize) - btofsb(fs, sbbytes);
    -	fs->lfs_bfree += gain * btofsb(fs, fs->lfs_ssize) - btofsb(fs, sbbytes)
    -		       - gain * btofsb(fs, fs->lfs_bsize / 2);
    +	fs->lfs_size += gain * lfs_btofsb(fs, fs->lfs_ssize);
    +	fs->lfs_dsize += gain * lfs_btofsb(fs, fs->lfs_ssize) - lfs_btofsb(fs, sbbytes);
    +	fs->lfs_bfree += gain * lfs_btofsb(fs, fs->lfs_ssize) - lfs_btofsb(fs, sbbytes)
    +		       - gain * lfs_btofsb(fs, fs->lfs_bsize / 2);
     	if (gain > 0) {
     		fs->lfs_nclean += gain;
    -		fs->lfs_avail += gain * btofsb(fs, fs->lfs_ssize);
    +		fs->lfs_avail += gain * lfs_btofsb(fs, fs->lfs_ssize);
     	} else {
     		fs->lfs_nclean -= cgain;
    -		fs->lfs_avail -= cgain * btofsb(fs, fs->lfs_ssize) -
    -				 btofsb(fs, csbbytes);
    +		fs->lfs_avail -= cgain * lfs_btofsb(fs, fs->lfs_ssize) -
    +				 lfs_btofsb(fs, csbbytes);
     	}
     
     	/* Resize segment flag cache */
    -	fs->lfs_suflags[0] = (u_int32_t *)realloc(fs->lfs_suflags[0],
    -						  fs->lfs_nseg * sizeof(u_int32_t),
    -						  M_SEGMENT, M_WAITOK);
    -	fs->lfs_suflags[1] = (u_int32_t *)realloc(fs->lfs_suflags[1],
    -						  fs->lfs_nseg * sizeof(u_int32_t),
    -						  M_SEGMENT, M_WAITOK);
    +	fs->lfs_suflags[0] = realloc(fs->lfs_suflags[0],
    +	    fs->lfs_nseg * sizeof(u_int32_t), M_SEGMENT, M_WAITOK);
    +	fs->lfs_suflags[1] = realloc(fs->lfs_suflags[1],
    +	    fs->lfs_nseg * sizeof(u_int32_t), M_SEGMENT, M_WAITOK);
     	for (i = oldnsegs; i < newnsegs; i++)
     		fs->lfs_suflags[0][i] = fs->lfs_suflags[1][i] = 0x0;
     
    @@ -2123,16 +2306,34 @@ lfs_resize_fs(struct lfs *fs, int newnsegs)
     		    NOCRED);
     
     	/* Update cleaner info so the cleaner can die */
    +	/* XXX what to do if bread fails? */
     	bread(ivp, 0, fs->lfs_bsize, NOCRED, B_MODIFY, &bp);
     	((CLEANERINFO *)bp->b_data)->clean = fs->lfs_nclean;
     	((CLEANERINFO *)bp->b_data)->dirty = fs->lfs_nseg - fs->lfs_nclean;
     	VOP_BWRITE(bp->b_vp, bp);
     
     	/* Let Ifile accesses proceed */
    -	VOP_UNLOCK(ivp);
     	rw_exit(&fs->lfs_iflock);
     
         out:
     	lfs_segunlock(fs);
     	return error;
     }
    +
    +/*
    + * Extended attribute dispatch
    + */
    +static int
    +lfs_extattrctl(struct mount *mp, int cmd, struct vnode *vp,
    +	       int attrnamespace, const char *attrname)
    +{
    +#ifdef LFS_EXTATTR
    +	struct ulfsmount *ump;
    +
    +	ump = VFSTOULFS(mp);
    +	if (ump->um_fstype == ULFS1) {
    +		return ulfs_extattrctl(mp, cmd, vp, attrnamespace, attrname);
    +	}
    +#endif
    +	return vfs_stdextattrctl(mp, cmd, vp, attrnamespace, attrname);
    +}
    diff --git a/sys/ufs/lfs/lfs_vnops.c b/sys/ufs/lfs/lfs_vnops.c
    index f30a5d20c..d4d40487e 100644
    --- a/sys/ufs/lfs/lfs_vnops.c
    +++ b/sys/ufs/lfs/lfs_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lfs_vnops.c,v 1.238 2011/09/20 14:01:33 chs Exp $	*/
    +/*	$NetBSD: lfs_vnops.c,v 1.259 2013/10/18 15:15:22 christos Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2000, 2001, 2002, 2003 The NetBSD Foundation, Inc.
    @@ -60,7 +60,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.238 2011/09/20 14:01:33 chs Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.259 2013/10/18 15:15:22 christos Exp $");
     
     #ifdef _KERNEL_OPT
     #include "opt_compat_netbsd.h"
    @@ -88,10 +88,10 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.238 2011/09/20 14:01:33 chs Exp $");
     #include 
     #include 
     
    -#include 
    -#include 
    -#include 
    -#include 
    +#include 
    +#include 
    +#include 
    +#include 
     
     #include 
     #include 
    @@ -99,56 +99,70 @@ __KERNEL_RCSID(0, "$NetBSD: lfs_vnops.c,v 1.238 2011/09/20 14:01:33 chs Exp $");
     #include 
     
     #include 
    +#include 
     #include 
     
     extern pid_t lfs_writer_daemon;
     int lfs_ignore_lazy_sync = 1;
     
    +static int lfs_openextattr(void *v);
    +static int lfs_closeextattr(void *v);
    +static int lfs_getextattr(void *v);
    +static int lfs_setextattr(void *v);
    +static int lfs_listextattr(void *v);
    +static int lfs_deleteextattr(void *v);
    +
     /* Global vfs data structures for lfs. */
     int (**lfs_vnodeop_p)(void *);
     const struct vnodeopv_entry_desc lfs_vnodeop_entries[] = {
     	{ &vop_default_desc, vn_default_error },
    -	{ &vop_lookup_desc, ufs_lookup },		/* lookup */
    +	{ &vop_lookup_desc, ulfs_lookup },		/* lookup */
     	{ &vop_create_desc, lfs_create },		/* create */
    -	{ &vop_whiteout_desc, ufs_whiteout },		/* whiteout */
    +	{ &vop_whiteout_desc, ulfs_whiteout },		/* whiteout */
     	{ &vop_mknod_desc, lfs_mknod },			/* mknod */
    -	{ &vop_open_desc, ufs_open },			/* open */
    +	{ &vop_open_desc, ulfs_open },			/* open */
     	{ &vop_close_desc, lfs_close },			/* close */
    -	{ &vop_access_desc, ufs_access },		/* access */
    +	{ &vop_access_desc, ulfs_access },		/* access */
     	{ &vop_getattr_desc, lfs_getattr },		/* getattr */
     	{ &vop_setattr_desc, lfs_setattr },		/* setattr */
     	{ &vop_read_desc, lfs_read },			/* read */
     	{ &vop_write_desc, lfs_write },			/* write */
    -	{ &vop_ioctl_desc, ufs_ioctl },			/* ioctl */
    +	{ &vop_ioctl_desc, ulfs_ioctl },		/* ioctl */
     	{ &vop_fcntl_desc, lfs_fcntl },			/* fcntl */
    -	{ &vop_poll_desc, ufs_poll },			/* poll */
    +	{ &vop_poll_desc, ulfs_poll },			/* poll */
     	{ &vop_kqfilter_desc, genfs_kqfilter },		/* kqfilter */
    -	{ &vop_revoke_desc, ufs_revoke },		/* revoke */
    +	{ &vop_revoke_desc, ulfs_revoke },		/* revoke */
     	{ &vop_mmap_desc, lfs_mmap },			/* mmap */
     	{ &vop_fsync_desc, lfs_fsync },			/* fsync */
    -	{ &vop_seek_desc, ufs_seek },			/* seek */
    +	{ &vop_seek_desc, ulfs_seek },			/* seek */
     	{ &vop_remove_desc, lfs_remove },		/* remove */
     	{ &vop_link_desc, lfs_link },			/* link */
     	{ &vop_rename_desc, lfs_rename },		/* rename */
     	{ &vop_mkdir_desc, lfs_mkdir },			/* mkdir */
     	{ &vop_rmdir_desc, lfs_rmdir },			/* rmdir */
     	{ &vop_symlink_desc, lfs_symlink },		/* symlink */
    -	{ &vop_readdir_desc, ufs_readdir },		/* readdir */
    -	{ &vop_readlink_desc, ufs_readlink },		/* readlink */
    -	{ &vop_abortop_desc, ufs_abortop },		/* abortop */
    +	{ &vop_readdir_desc, ulfs_readdir },		/* readdir */
    +	{ &vop_readlink_desc, ulfs_readlink },		/* readlink */
    +	{ &vop_abortop_desc, ulfs_abortop },		/* abortop */
     	{ &vop_inactive_desc, lfs_inactive },		/* inactive */
     	{ &vop_reclaim_desc, lfs_reclaim },		/* reclaim */
    -	{ &vop_lock_desc, ufs_lock },			/* lock */
    -	{ &vop_unlock_desc, ufs_unlock },		/* unlock */
    -	{ &vop_bmap_desc, ufs_bmap },			/* bmap */
    +	{ &vop_lock_desc, ulfs_lock },			/* lock */
    +	{ &vop_unlock_desc, ulfs_unlock },		/* unlock */
    +	{ &vop_bmap_desc, ulfs_bmap },			/* bmap */
     	{ &vop_strategy_desc, lfs_strategy },		/* strategy */
    -	{ &vop_print_desc, ufs_print },			/* print */
    -	{ &vop_islocked_desc, ufs_islocked },		/* islocked */
    -	{ &vop_pathconf_desc, ufs_pathconf },		/* pathconf */
    -	{ &vop_advlock_desc, ufs_advlock },		/* advlock */
    +	{ &vop_print_desc, ulfs_print },		/* print */
    +	{ &vop_islocked_desc, ulfs_islocked },		/* islocked */
    +	{ &vop_pathconf_desc, ulfs_pathconf },		/* pathconf */
    +	{ &vop_advlock_desc, ulfs_advlock },		/* advlock */
     	{ &vop_bwrite_desc, lfs_bwrite },		/* bwrite */
     	{ &vop_getpages_desc, lfs_getpages },		/* getpages */
     	{ &vop_putpages_desc, lfs_putpages },		/* putpages */
    +	{ &vop_openextattr_desc, lfs_openextattr },	/* openextattr */
    +	{ &vop_closeextattr_desc, lfs_closeextattr },	/* closeextattr */
    +	{ &vop_getextattr_desc, lfs_getextattr },	/* getextattr */
    +	{ &vop_setextattr_desc, lfs_setextattr },	/* setextattr */
    +	{ &vop_listextattr_desc, lfs_listextattr },	/* listextattr */
    +	{ &vop_deleteextattr_desc, lfs_deleteextattr },	/* deleteextattr */
     	{ NULL, NULL }
     };
     const struct vnodeopv_desc lfs_vnodeop_opv_desc =
    @@ -162,13 +176,13 @@ const struct vnodeopv_entry_desc lfs_specop_entries[] = {
     	{ &vop_mknod_desc, spec_mknod },		/* mknod */
     	{ &vop_open_desc, spec_open },			/* open */
     	{ &vop_close_desc, lfsspec_close },		/* close */
    -	{ &vop_access_desc, ufs_access },		/* access */
    +	{ &vop_access_desc, ulfs_access },		/* access */
     	{ &vop_getattr_desc, lfs_getattr },		/* getattr */
     	{ &vop_setattr_desc, lfs_setattr },		/* setattr */
    -	{ &vop_read_desc, ufsspec_read },		/* read */
    -	{ &vop_write_desc, ufsspec_write },		/* write */
    +	{ &vop_read_desc, ulfsspec_read },		/* read */
    +	{ &vop_write_desc, ulfsspec_write },		/* write */
     	{ &vop_ioctl_desc, spec_ioctl },		/* ioctl */
    -	{ &vop_fcntl_desc, ufs_fcntl },			/* fcntl */
    +	{ &vop_fcntl_desc, ulfs_fcntl },		/* fcntl */
     	{ &vop_poll_desc, spec_poll },			/* poll */
     	{ &vop_kqfilter_desc, spec_kqfilter },		/* kqfilter */
     	{ &vop_revoke_desc, spec_revoke },		/* revoke */
    @@ -186,17 +200,23 @@ const struct vnodeopv_entry_desc lfs_specop_entries[] = {
     	{ &vop_abortop_desc, spec_abortop },		/* abortop */
     	{ &vop_inactive_desc, lfs_inactive },		/* inactive */
     	{ &vop_reclaim_desc, lfs_reclaim },		/* reclaim */
    -	{ &vop_lock_desc, ufs_lock },			/* lock */
    -	{ &vop_unlock_desc, ufs_unlock },		/* unlock */
    +	{ &vop_lock_desc, ulfs_lock },			/* lock */
    +	{ &vop_unlock_desc, ulfs_unlock },		/* unlock */
     	{ &vop_bmap_desc, spec_bmap },			/* bmap */
     	{ &vop_strategy_desc, spec_strategy },		/* strategy */
    -	{ &vop_print_desc, ufs_print },			/* print */
    -	{ &vop_islocked_desc, ufs_islocked },		/* islocked */
    +	{ &vop_print_desc, ulfs_print },		/* print */
    +	{ &vop_islocked_desc, ulfs_islocked },		/* islocked */
     	{ &vop_pathconf_desc, spec_pathconf },		/* pathconf */
     	{ &vop_advlock_desc, spec_advlock },		/* advlock */
     	{ &vop_bwrite_desc, vn_bwrite },		/* bwrite */
     	{ &vop_getpages_desc, spec_getpages },		/* getpages */
     	{ &vop_putpages_desc, spec_putpages },		/* putpages */
    +	{ &vop_openextattr_desc, lfs_openextattr },	/* openextattr */
    +	{ &vop_closeextattr_desc, lfs_closeextattr },	/* closeextattr */
    +	{ &vop_getextattr_desc, lfs_getextattr },	/* getextattr */
    +	{ &vop_setextattr_desc, lfs_setextattr },	/* setextattr */
    +	{ &vop_listextattr_desc, lfs_listextattr },	/* listextattr */
    +	{ &vop_deleteextattr_desc, lfs_deleteextattr },	/* deleteextattr */
     	{ NULL, NULL }
     };
     const struct vnodeopv_desc lfs_specop_opv_desc =
    @@ -210,13 +230,13 @@ const struct vnodeopv_entry_desc lfs_fifoop_entries[] = {
     	{ &vop_mknod_desc, vn_fifo_bypass },		/* mknod */
     	{ &vop_open_desc, vn_fifo_bypass },		/* open */
     	{ &vop_close_desc, lfsfifo_close },		/* close */
    -	{ &vop_access_desc, ufs_access },		/* access */
    +	{ &vop_access_desc, ulfs_access },		/* access */
     	{ &vop_getattr_desc, lfs_getattr },		/* getattr */
     	{ &vop_setattr_desc, lfs_setattr },		/* setattr */
    -	{ &vop_read_desc, ufsfifo_read },		/* read */
    -	{ &vop_write_desc, ufsfifo_write },		/* write */
    +	{ &vop_read_desc, ulfsfifo_read },		/* read */
    +	{ &vop_write_desc, ulfsfifo_write },		/* write */
     	{ &vop_ioctl_desc, vn_fifo_bypass },		/* ioctl */
    -	{ &vop_fcntl_desc, ufs_fcntl },			/* fcntl */
    +	{ &vop_fcntl_desc, ulfs_fcntl },		/* fcntl */
     	{ &vop_poll_desc, vn_fifo_bypass },		/* poll */
     	{ &vop_kqfilter_desc, vn_fifo_bypass },		/* kqfilter */
     	{ &vop_revoke_desc, vn_fifo_bypass },		/* revoke */
    @@ -234,16 +254,22 @@ const struct vnodeopv_entry_desc lfs_fifoop_entries[] = {
     	{ &vop_abortop_desc, vn_fifo_bypass },		/* abortop */
     	{ &vop_inactive_desc, lfs_inactive },		/* inactive */
     	{ &vop_reclaim_desc, lfs_reclaim },		/* reclaim */
    -	{ &vop_lock_desc, ufs_lock },			/* lock */
    -	{ &vop_unlock_desc, ufs_unlock },		/* unlock */
    +	{ &vop_lock_desc, ulfs_lock },			/* lock */
    +	{ &vop_unlock_desc, ulfs_unlock },		/* unlock */
     	{ &vop_bmap_desc, vn_fifo_bypass },		/* bmap */
     	{ &vop_strategy_desc, vn_fifo_bypass },		/* strategy */
    -	{ &vop_print_desc, ufs_print },			/* print */
    -	{ &vop_islocked_desc, ufs_islocked },		/* islocked */
    +	{ &vop_print_desc, ulfs_print },		/* print */
    +	{ &vop_islocked_desc, ulfs_islocked },		/* islocked */
     	{ &vop_pathconf_desc, vn_fifo_bypass },		/* pathconf */
     	{ &vop_advlock_desc, vn_fifo_bypass },		/* advlock */
     	{ &vop_bwrite_desc, lfs_bwrite },		/* bwrite */
     	{ &vop_putpages_desc, vn_fifo_bypass },		/* putpages */
    +	{ &vop_openextattr_desc, lfs_openextattr },	/* openextattr */
    +	{ &vop_closeextattr_desc, lfs_closeextattr },	/* closeextattr */
    +	{ &vop_getextattr_desc, lfs_getextattr },	/* getextattr */
    +	{ &vop_setextattr_desc, lfs_setextattr },	/* setextattr */
    +	{ &vop_listextattr_desc, lfs_listextattr },	/* listextattr */
    +	{ &vop_deleteextattr_desc, lfs_deleteextattr },	/* deleteextattr */
     	{ NULL, NULL }
     };
     const struct vnodeopv_desc lfs_fifoop_opv_desc =
    @@ -252,7 +278,7 @@ const struct vnodeopv_desc lfs_fifoop_opv_desc =
     static int check_dirty(struct lfs *, struct vnode *, off_t, off_t, off_t, int, int, struct vm_page **);
     
     #define	LFS_READWRITE
    -#include 
    +#include 
     #undef	LFS_READWRITE
     
     /*
    @@ -340,7 +366,7 @@ lfs_fsync(void *v)
     }
     
     /*
    - * Take IN_ADIROP off, then call ufs_inactive.
    + * Take IN_ADIROP off, then call ulfs_inactive.
      */
     int
     lfs_inactive(void *v)
    @@ -363,28 +389,21 @@ lfs_inactive(void *v)
     		return 0;
     	}
     
    -	return ufs_inactive(v);
    +#ifdef DEBUG
    +	/*
    +	 * This might happen on unmount.
    +	 * XXX If it happens at any other time, it should be a panic.
    +	 */
    +	if (ap->a_vp->v_uflag & VU_DIROP) {
    +		struct inode *ip = VTOI(ap->a_vp);
    +		printf("lfs_inactive: inactivating VU_DIROP? ino = %d\n", (int)ip->i_number);
    +	}
    +#endif /* DIAGNOSTIC */
    +
    +	return ulfs_inactive(v);
     }
     
    -/*
    - * These macros are used to bracket UFS directory ops, so that we can
    - * identify all the pages touched during directory ops which need to
    - * be ordered and flushed atomically, so that they may be recovered.
    - *
    - * Because we have to mark nodes VU_DIROP in order to prevent
    - * the cache from reclaiming them while a dirop is in progress, we must
    - * also manage the number of nodes so marked (otherwise we can run out).
    - * We do this by setting lfs_dirvcount to the number of marked vnodes; it
    - * is decremented during segment write, when VU_DIROP is taken off.
    - */
    -#define	MARK_VNODE(vp)			lfs_mark_vnode(vp)
    -#define	UNMARK_VNODE(vp)		lfs_unmark_vnode(vp)
    -#define	SET_DIROP_CREATE(dvp, vpp)	lfs_set_dirop_create((dvp), (vpp))
    -#define	SET_DIROP_REMOVE(dvp, vp)	lfs_set_dirop((dvp), (vp))
    -static int lfs_set_dirop_create(struct vnode *, struct vnode **);
    -static int lfs_set_dirop(struct vnode *, struct vnode *);
    -
    -static int
    +int
     lfs_set_dirop(struct vnode *dvp, struct vnode *vp)
     {
     	struct lfs *fs;
    @@ -426,7 +445,6 @@ lfs_set_dirop(struct vnode *dvp, struct vnode *vp)
     	}
     
     	if (lfs_dirvcount > LFS_MAX_DIROP) {
    -		mutex_exit(&lfs_lock);
     		DLOG((DLOG_DIROP, "lfs_set_dirop: sleeping with dirops=%d, "
     		      "dirvcount=%d\n", fs->lfs_dirops, lfs_dirvcount));
     		if ((error = mtsleep(&lfs_dirvcount,
    @@ -438,7 +456,7 @@ lfs_set_dirop(struct vnode *dvp, struct vnode *vp)
     	}
     
     	++fs->lfs_dirops;
    -	fs->lfs_doifile = 1;
    +	/* fs->lfs_doifile = 1; */ /* XXX why? --ks */
     	mutex_exit(&lfs_lock);
     
     	/* Hold a reference so SET_ENDOP will be happy */
    @@ -464,13 +482,13 @@ lfs_set_dirop(struct vnode *dvp, struct vnode *vp)
      * NB: this means we have to clear the new vnodes on error.  Fortunately
      * SET_ENDOP is there to do that for us.
      */
    -static int
    +int
     lfs_set_dirop_create(struct vnode *dvp, struct vnode **vpp)
     {
     	int error;
     	struct lfs *fs;
     
    -	fs = VFSTOUFS(dvp->v_mount)->um_lfs;
    +	fs = VFSTOULFS(dvp->v_mount)->um_lfs;
     	ASSERT_NO_SEGLOCK(fs);
     	if (fs->lfs_ronly)
     		return EROFS;
    @@ -491,49 +509,6 @@ lfs_set_dirop_create(struct vnode *dvp, struct vnode **vpp)
     	return 0;
     }
     
    -#define	SET_ENDOP_BASE(fs, dvp, str)					\
    -	do {								\
    -		mutex_enter(&lfs_lock);				\
    -		--(fs)->lfs_dirops;					\
    -		if (!(fs)->lfs_dirops) {				\
    -			if ((fs)->lfs_nadirop) {			\
    -				panic("SET_ENDOP: %s: no dirops but "	\
    -					" nadirop=%d", (str),		\
    -					(fs)->lfs_nadirop);		\
    -			}						\
    -			wakeup(&(fs)->lfs_writer);			\
    -			mutex_exit(&lfs_lock);				\
    -			lfs_check((dvp), LFS_UNUSED_LBN, 0);		\
    -		} else							\
    -			mutex_exit(&lfs_lock);				\
    -	} while(0)
    -#define SET_ENDOP_CREATE(fs, dvp, nvpp, str)				\
    -	do {								\
    -		UNMARK_VNODE(dvp);					\
    -		if (nvpp && *nvpp)					\
    -			UNMARK_VNODE(*nvpp);				\
    -		/* Check for error return to stem vnode leakage */	\
    -		if (nvpp && *nvpp && !((*nvpp)->v_uflag & VU_DIROP))	\
    -			ungetnewvnode(*(nvpp));				\
    -		SET_ENDOP_BASE((fs), (dvp), (str));			\
    -		lfs_reserve((fs), (dvp), NULL, -LFS_NRESERVE(fs));	\
    -		vrele(dvp);						\
    -	} while(0)
    -#define SET_ENDOP_CREATE_AP(ap, str)					\
    -	SET_ENDOP_CREATE(VTOI((ap)->a_dvp)->i_lfs, (ap)->a_dvp,		\
    -			 (ap)->a_vpp, (str))
    -#define SET_ENDOP_REMOVE(fs, dvp, ovp, str)				\
    -	do {								\
    -		UNMARK_VNODE(dvp);					\
    -		if (ovp)						\
    -			UNMARK_VNODE(ovp);				\
    -		SET_ENDOP_BASE((fs), (dvp), (str));			\
    -		lfs_reserve((fs), (dvp), (ovp), -LFS_NRESERVE(fs));	\
    -		vrele(dvp);						\
    -		if (ovp)						\
    -			vrele(ovp);					\
    -	} while(0)
    -
     void
     lfs_mark_vnode(struct vnode *vp)
     {
    @@ -543,14 +518,18 @@ lfs_mark_vnode(struct vnode *vp)
     	mutex_enter(&lfs_lock);
     	if (!(ip->i_flag & IN_ADIROP)) {
     		if (!(vp->v_uflag & VU_DIROP)) {
    +			mutex_exit(&lfs_lock);
     			mutex_enter(vp->v_interlock);
    -			(void)lfs_vref(vp);
    +			if (lfs_vref(vp) != 0)
    +				panic("lfs_mark_vnode: could not vref");
    +			mutex_enter(&lfs_lock);
     			++lfs_dirvcount;
     			++fs->lfs_dirvcount;
     			TAILQ_INSERT_TAIL(&fs->lfs_dchainhd, ip, i_lfs_dchain);
     			vp->v_uflag |= VU_DIROP;
     		}
     		++fs->lfs_nadirop;
    +		ip->i_flag &= ~IN_CDIROP;
     		ip->i_flag |= IN_ADIROP;
     	} else
     		KASSERT(vp->v_uflag & VU_DIROP);
    @@ -562,13 +541,13 @@ lfs_unmark_vnode(struct vnode *vp)
     {
     	struct inode *ip = VTOI(vp);
     
    +	mutex_enter(&lfs_lock);
     	if (ip && (ip->i_flag & IN_ADIROP)) {
     		KASSERT(vp->v_uflag & VU_DIROP);
    -		mutex_enter(&lfs_lock);
     		--ip->i_lfs->lfs_nadirop;
    -		mutex_exit(&lfs_lock);
     		ip->i_flag &= ~IN_ADIROP;
     	}
    +	mutex_exit(&lfs_lock);
     }
     
     int
    @@ -587,7 +566,7 @@ lfs_symlink(void *v)
     		vput(ap->a_dvp);
     		return error;
     	}
    -	error = ufs_symlink(ap);
    +	error = ulfs_symlink(ap);
     	SET_ENDOP_CREATE_AP(ap, "symlink");
     	return (error);
     }
    @@ -601,46 +580,57 @@ lfs_mknod(void *v)
     		struct componentname *a_cnp;
     		struct vattr *a_vap;
     	} */ *ap = v;
    -	struct vattr *vap = ap->a_vap;
    -	struct vnode **vpp = ap->a_vpp;
    +	struct vattr *vap;
    +	struct vnode **vpp;
     	struct inode *ip;
     	int error;
     	struct mount	*mp;
     	ino_t		ino;
    -	struct ufs_lookup_results *ulr;
    +	struct ulfs_lookup_results *ulr;
    +
    +	vap = ap->a_vap;
    +	vpp = ap->a_vpp;
     
     	/* XXX should handle this material another way */
     	ulr = &VTOI(ap->a_dvp)->i_crap;
    -	UFS_CHECK_CRAPCOUNTER(VTOI(ap->a_dvp));
    +	ULFS_CHECK_CRAPCOUNTER(VTOI(ap->a_dvp));
     
     	if ((error = SET_DIROP_CREATE(ap->a_dvp, ap->a_vpp)) != 0) {
     		vput(ap->a_dvp);
     		return error;
     	}
    -	error = ufs_makeinode(MAKEIMODE(vap->va_type, vap->va_mode),
    +
    +	fstrans_start(ap->a_dvp->v_mount, FSTRANS_SHARED);
    +	error = ulfs_makeinode(MAKEIMODE(vap->va_type, vap->va_mode),
     			      ap->a_dvp, ulr, vpp, ap->a_cnp);
     
     	/* Either way we're done with the dirop at this point */
     	SET_ENDOP_CREATE_AP(ap, "mknod");
     
    -	if (error)
    +	if (error) {
    +		fstrans_done(ap->a_dvp->v_mount);
    +		*vpp = NULL;
     		return (error);
    +	}
     
    +	VN_KNOTE(ap->a_dvp, NOTE_WRITE);
     	ip = VTOI(*vpp);
     	mp  = (*vpp)->v_mount;
     	ino = ip->i_number;
     	ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
     	if (vap->va_rdev != VNOVAL) {
    +		struct ulfsmount *ump = ip->i_ump;
    +		struct lfs *fs = ip->i_lfs;
     		/*
     		 * Want to be able to use this to make badblock
     		 * inodes, so don't truncate the dev number.
     		 */
    -#if 0
    -		ip->i_ffs1_rdev = ufs_rw32(vap->va_rdev,
    -					   UFS_MPNEEDSWAP((*vpp)->v_mount));
    -#else
    -		ip->i_ffs1_rdev = vap->va_rdev;
    -#endif
    +		if (ump->um_fstype == ULFS1)
    +			ip->i_ffs1_rdev = ulfs_rw32(vap->va_rdev,
    +			    ULFS_MPNEEDSWAP(fs));
    +		else
    +			ip->i_ffs2_rdev = ulfs_rw64(vap->va_rdev,
    +			    ULFS_MPNEEDSWAP(fs));
     	}
     
     	/*
    @@ -663,11 +653,12 @@ lfs_mknod(void *v)
     	 */
     	/* Used to be vput, but that causes us to call VOP_INACTIVE twice. */
     
    -	VOP_UNLOCK(*vpp);
     	(*vpp)->v_type = VNON;
    +	VOP_UNLOCK(*vpp);
     	vgone(*vpp);
     	error = VFS_VGET(mp, ino, vpp);
     
    +	fstrans_done(ap->a_dvp->v_mount);
     	if (error != 0) {
     		*vpp = NULL;
     		return (error);
    @@ -690,7 +681,7 @@ lfs_create(void *v)
     		vput(ap->a_dvp);
     		return error;
     	}
    -	error = ufs_create(ap);
    +	error = ulfs_create(ap);
     	SET_ENDOP_CREATE_AP(ap, "create");
     	return (error);
     }
    @@ -710,7 +701,7 @@ lfs_mkdir(void *v)
     		vput(ap->a_dvp);
     		return error;
     	}
    -	error = ufs_mkdir(ap);
    +	error = ulfs_mkdir(ap);
     	SET_ENDOP_CREATE_AP(ap, "mkdir");
     	return (error);
     }
    @@ -738,7 +729,7 @@ lfs_remove(void *v)
     		vput(dvp);
     		return error;
     	}
    -	error = ufs_remove(ap);
    +	error = ulfs_remove(ap);
     	if (ip->i_nlink == 0)
     		lfs_orphan(ip->i_lfs, ip->i_number);
     	SET_ENDOP_REMOVE(ip->i_lfs, dvp, ap->a_vp, "remove");
    @@ -768,7 +759,7 @@ lfs_rmdir(void *v)
     		vput(vp);
     		return error;
     	}
    -	error = ufs_rmdir(ap);
    +	error = ulfs_rmdir(ap);
     	if (ip->i_nlink == 0)
     		lfs_orphan(ip->i_lfs, ip->i_number);
     	SET_ENDOP_REMOVE(ip->i_lfs, ap->a_dvp, ap->a_vp, "rmdir");
    @@ -790,112 +781,11 @@ lfs_link(void *v)
     		vput(ap->a_dvp);
     		return error;
     	}
    -	error = ufs_link(ap);
    +	error = ulfs_link(ap);
     	SET_ENDOP_CREATE(VTOI(ap->a_dvp)->i_lfs, ap->a_dvp, vpp, "link");
     	return (error);
     }
     
    -int
    -lfs_rename(void *v)
    -{
    -	struct vop_rename_args	/* {
    -		struct vnode *a_fdvp;
    -		struct vnode *a_fvp;
    -		struct componentname *a_fcnp;
    -		struct vnode *a_tdvp;
    -		struct vnode *a_tvp;
    -		struct componentname *a_tcnp;
    -	} */ *ap = v;
    -	struct vnode *tvp, *fvp, *tdvp, *fdvp;
    -	struct componentname *tcnp, *fcnp;
    -	int error;
    -	struct lfs *fs;
    -
    -	fs = VTOI(ap->a_fdvp)->i_lfs;
    -	tvp = ap->a_tvp;
    -	tdvp = ap->a_tdvp;
    -	tcnp = ap->a_tcnp;
    -	fvp = ap->a_fvp;
    -	fdvp = ap->a_fdvp;
    -	fcnp = ap->a_fcnp;
    -
    -	/*
    -	 * Check for cross-device rename.
    -	 * If it is, we don't want to set dirops, just error out.
    -	 * (In particular note that MARK_VNODE(tdvp) will DTWT on
    -	 * a cross-device rename.)
    -	 *
    -	 * Copied from ufs_rename.
    -	 */
    -	if ((fvp->v_mount != tdvp->v_mount) ||
    -	    (tvp && (fvp->v_mount != tvp->v_mount))) {
    -		error = EXDEV;
    -		goto errout;
    -	}
    -
    -	/*
    -	 * Check to make sure we're not renaming a vnode onto itself
    -	 * (deleting a hard link by renaming one name onto another);
    -	 * if we are we can't recursively call VOP_REMOVE since that
    -	 * would leave us with an unaccounted-for number of live dirops.
    -	 *
    -	 * Inline the relevant section of ufs_rename here, *before*
    -	 * calling SET_DIROP_REMOVE.
    -	 */
    -	if (tvp && ((VTOI(tvp)->i_flags & (IMMUTABLE | APPEND)) ||
    -		    (VTOI(tdvp)->i_flags & APPEND))) {
    -		error = EPERM;
    -		goto errout;
    -	}
    -	if (fvp == tvp) {
    -		if (fvp->v_type == VDIR) {
    -			error = EINVAL;
    -			goto errout;
    -		}
    -
    -		/* Release destination completely. */
    -		VOP_ABORTOP(tdvp, tcnp);
    -		vput(tdvp);
    -		vput(tvp);
    -
    -		/* Delete source. */
    -		vrele(fvp);
    -		fcnp->cn_flags &= ~(MODMASK);
    -		fcnp->cn_flags |= LOCKPARENT | LOCKLEAF;
    -		fcnp->cn_nameiop = DELETE;
    -		vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
    -		if ((error = relookup(fdvp, &fvp, fcnp, 0))) {
    -			vput(fdvp);
    -			return (error);
    -		}
    -		return (VOP_REMOVE(fdvp, fvp, fcnp));
    -	}
    -
    -	if ((error = SET_DIROP_REMOVE(tdvp, tvp)) != 0)
    -		goto errout;
    -	MARK_VNODE(fdvp);
    -	MARK_VNODE(fvp);
    -
    -	error = ufs_rename(ap);
    -	UNMARK_VNODE(fdvp);
    -	UNMARK_VNODE(fvp);
    -	SET_ENDOP_REMOVE(fs, tdvp, tvp, "rename");
    -	return (error);
    -
    -  errout:
    -	VOP_ABORTOP(tdvp, ap->a_tcnp); /* XXX, why not in NFS? */
    -	if (tdvp == tvp)
    -		vrele(tdvp);
    -	else
    -		vput(tdvp);
    -	if (tvp)
    -		vput(tvp);
    -	VOP_ABORTOP(fdvp, ap->a_fcnp); /* XXX, why not in NFS? */
    -	vrele(fdvp);
    -	vrele(fvp);
    -	return (error);
    -}
    -
     /* XXX hack to avoid calling ITIMES in getattr */
     int
     lfs_getattr(void *v)
    @@ -909,12 +799,14 @@ lfs_getattr(void *v)
     	struct inode *ip = VTOI(vp);
     	struct vattr *vap = ap->a_vap;
     	struct lfs *fs = ip->i_lfs;
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
     	/*
     	 * Copy from inode table
     	 */
     	vap->va_fsid = ip->i_dev;
     	vap->va_fileid = ip->i_number;
    -	vap->va_mode = ip->i_mode & ~IFMT;
    +	vap->va_mode = ip->i_mode & ~LFS_IFMT;
     	vap->va_nlink = ip->i_nlink;
     	vap->va_uid = ip->i_uid;
     	vap->va_gid = ip->i_gid;
    @@ -935,15 +827,16 @@ lfs_getattr(void *v)
     		vap->va_blocksize = MAXBSIZE;
     	else
     		vap->va_blocksize = vp->v_mount->mnt_stat.f_iosize;
    -	vap->va_bytes = fsbtob(fs, (u_quad_t)ip->i_lfs_effnblks);
    +	vap->va_bytes = lfs_fsbtob(fs, (u_quad_t)ip->i_lfs_effnblks);
     	vap->va_type = vp->v_type;
     	vap->va_filerev = ip->i_modrev;
    +	fstrans_done(vp->v_mount);
     	return (0);
     }
     
     /*
      * Check to make sure the inode blocks won't choke the buffer
    - * cache, then call ufs_setattr as usual.
    + * cache, then call ulfs_setattr as usual.
      */
     int
     lfs_setattr(void *v)
    @@ -956,7 +849,7 @@ lfs_setattr(void *v)
     	struct vnode *vp = ap->a_vp;
     
     	lfs_check(vp, LFS_UNUSED_LBN, 0);
    -	return ufs_setattr(v);
    +	return ulfs_setattr(v);
     }
     
     /*
    @@ -991,7 +884,9 @@ lfs_wrapgo(struct lfs *fs, struct inode *ip, int waitfor)
     }
     
     /*
    - * Close called
    + * Close called.
    + *
    + * Update the times on the inode.
      */
     /* ARGSUSED */
     int
    @@ -1006,7 +901,7 @@ lfs_close(void *v)
     	struct inode *ip = VTOI(vp);
     	struct lfs *fs = ip->i_lfs;
     
    -	if ((ip->i_number == ROOTINO || ip->i_number == LFS_IFILE_INUM) &&
    +	if ((ip->i_number == ULFS_ROOTINO || ip->i_number == LFS_IFILE_INUM) &&
     	    fs->lfs_stoplwp == curlwp) {
     		mutex_enter(&lfs_lock);
     		log(LOG_NOTICE, "lfs_close: releasing log wrap control\n");
    @@ -1018,9 +913,11 @@ lfs_close(void *v)
     	    vp->v_mount->mnt_iflag & IMNT_UNMOUNT)
     		return 0;
     
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
     	if (vp->v_usecount > 1 && vp != ip->i_lfs->lfs_ivnode) {
     		LFS_ITIMES(ip, NULL, NULL, NULL);
     	}
    +	fstrans_done(vp->v_mount);
     	return (0);
     }
     
    @@ -1098,7 +995,7 @@ lfs_reclaim(void *v)
     	mutex_enter(&lfs_lock);
     	LFS_CLR_UINO(ip, IN_ALLMOD);
     	mutex_exit(&lfs_lock);
    -	if ((error = ufs_reclaim(vp)))
    +	if ((error = ulfs_reclaim(vp)))
     		return (error);
     
     	/*
    @@ -1131,12 +1028,16 @@ lfs_reclaim(void *v)
     
     /*
      * Read a block from a storage device.
    + *
    + * Calculate the logical to physical mapping if not done already,
    + * then call the device strategy routine.
    + *
      * In order to avoid reading blocks that are in the process of being
      * written by the cleaner---and hence are not mutexed by the normal
      * buffer cache / page cache mechanisms---check for collisions before
      * reading.
      *
    - * We inline ufs_strategy to make sure that the VOP_BMAP occurs *before*
    + * We inline ulfs_strategy to make sure that the VOP_BMAP occurs *before*
      * the active cleaner test.
      *
      * XXX This code assumes that lfs_markv makes synchronous checkpoints.
    @@ -1153,7 +1054,8 @@ lfs_strategy(void *v)
     	struct vnode	*vp;
     	struct inode	*ip;
     	daddr_t		tbn;
    -	int		i, sn, error, slept;
    +#define MAXLOOP 25
    +	int		i, sn, error, slept, loopcount;
     
     	bp = ap->a_bp;
     	vp = ap->a_vp;
    @@ -1185,6 +1087,7 @@ lfs_strategy(void *v)
     	}
     
     	slept = 1;
    +	loopcount = 0;
     	mutex_enter(&lfs_lock);
     	while (slept && fs->lfs_seglock) {
     		mutex_exit(&lfs_lock);
    @@ -1195,30 +1098,37 @@ lfs_strategy(void *v)
     		 * Since the cleaner is synchronous, we can trust
     		 * the list of intervals to be current.
     		 */
    -		tbn = dbtofsb(fs, bp->b_blkno);
    -		sn = dtosn(fs, tbn);
    +		tbn = LFS_DBTOFSB(fs, bp->b_blkno);
    +		sn = lfs_dtosn(fs, tbn);
     		slept = 0;
     		for (i = 0; i < fs->lfs_cleanind; i++) {
    -			if (sn == dtosn(fs, fs->lfs_cleanint[i]) &&
    +			if (sn == lfs_dtosn(fs, fs->lfs_cleanint[i]) &&
     			    tbn >= fs->lfs_cleanint[i]) {
     				DLOG((DLOG_CLEAN,
     				      "lfs_strategy: ino %d lbn %" PRId64
     				      " ind %d sn %d fsb %" PRIx32
     				      " given sn %d fsb %" PRIx64 "\n",
     				      ip->i_number, bp->b_lblkno, i,
    -				      dtosn(fs, fs->lfs_cleanint[i]),
    +				      lfs_dtosn(fs, fs->lfs_cleanint[i]),
     				      fs->lfs_cleanint[i], sn, tbn));
     				DLOG((DLOG_CLEAN,
     				      "lfs_strategy: sleeping on ino %d lbn %"
     				      PRId64 "\n", ip->i_number, bp->b_lblkno));
     				mutex_enter(&lfs_lock);
     				if (LFS_SEGLOCK_HELD(fs) && fs->lfs_iocount) {
    -					/* Cleaner can't wait for itself */
    -					mtsleep(&fs->lfs_iocount,
    -						(PRIBIO + 1) | PNORELOCK,
    -						"clean2", 0,
    -						&lfs_lock);
    +					/*
    +					 * Cleaner can't wait for itself.
    +					 * Instead, wait for the blocks
    +					 * to be written to disk.
    +					 * XXX we need pribio in the test
    +					 * XXX here.
    +					 */
    + 					mtsleep(&fs->lfs_iocount,
    + 						(PRIBIO + 1) | PNORELOCK,
    +						"clean2", hz/10 + 1,
    + 						&lfs_lock);
     					slept = 1;
    +					++loopcount;
     					break;
     				} else if (fs->lfs_seglock) {
     					mtsleep(&fs->lfs_seglock,
    @@ -1232,45 +1142,50 @@ lfs_strategy(void *v)
     			}
     		}
     		mutex_enter(&lfs_lock);
    +		if (loopcount > MAXLOOP) {
    +			printf("lfs_strategy: breaking out of clean2 loop\n");
    +			break;
    +		}
     	}
     	mutex_exit(&lfs_lock);
     
     	vp = ip->i_devvp;
    -	VOP_STRATEGY(vp, bp);
    -	return (0);
    +	return VOP_STRATEGY(vp, bp);
     }
     
    -void
    +/*
    + * Inline lfs_segwrite/lfs_writevnodes, but just for dirops.
    + * Technically this is a checkpoint (the on-disk state is valid)
    + * even though we are leaving out all the file data.
    + */
    +int
     lfs_flush_dirops(struct lfs *fs)
     {
     	struct inode *ip, *nip;
     	struct vnode *vp;
     	extern int lfs_dostats;
     	struct segment *sp;
    +	int flags = 0;
    +	int error = 0;
     
     	ASSERT_MAYBE_SEGLOCK(fs);
     	KASSERT(fs->lfs_nadirop == 0);
     
     	if (fs->lfs_ronly)
    -		return;
    +		return EROFS;
     
     	mutex_enter(&lfs_lock);
     	if (TAILQ_FIRST(&fs->lfs_dchainhd) == NULL) {
     		mutex_exit(&lfs_lock);
    -		return;
    +		return 0;
     	} else
     		mutex_exit(&lfs_lock);
     
     	if (lfs_dostats)
     		++lfs_stats.flush_invoked;
     
    -	/*
    -	 * Inline lfs_segwrite/lfs_writevnodes, but just for dirops.
    -	 * Technically this is a checkpoint (the on-disk state is valid)
    -	 * even though we are leaving out all the file data.
    -	 */
     	lfs_imtime(fs);
    -	lfs_seglock(fs, SEGM_CKP);
    +	lfs_seglock(fs, flags);
     	sp = fs->lfs_sp;
     
     	/*
    @@ -1293,6 +1208,8 @@ lfs_flush_dirops(struct lfs *fs)
     		vp = ITOV(ip);
     
     		KASSERT((ip->i_flag & IN_ADIROP) == 0);
    +		KASSERT(vp->v_uflag & VU_DIROP);
    +		KASSERT(!(vp->v_iflag & VI_XLOCK));
     
     		/*
     		 * All writes to directories come from dirops; all
    @@ -1300,9 +1217,7 @@ lfs_flush_dirops(struct lfs *fs)
     		 * cache, which we're not touching.  Reads to files
     		 * and/or directories will not be affected by writing
     		 * directory blocks inodes and file inodes.  So we don't
    -		 * really need to lock.	 If we don't lock, though,
    -		 * make sure that we don't clear IN_MODIFIED
    -		 * unnecessarily.
    +		 * really need to lock.
     		 */
     		if (vp->v_iflag & VI_XLOCK) {
     			mutex_enter(&lfs_lock);
    @@ -1313,23 +1228,36 @@ lfs_flush_dirops(struct lfs *fs)
     		 */
     		if (vp->v_type != VREG &&
     		    ((ip->i_flag & IN_ALLMOD) || !VPISEMPTY(vp))) {
    -			lfs_writefile(fs, sp, vp);
    +			error = lfs_writefile(fs, sp, vp);
     			if (!VPISEMPTY(vp) && !WRITEINPROG(vp) &&
     			    !(ip->i_flag & IN_ALLMOD)) {
     			    	mutex_enter(&lfs_lock);
     				LFS_SET_UINO(ip, IN_MODIFIED);
     			    	mutex_exit(&lfs_lock);
     			}
    +			if (error && (sp->seg_flags & SEGM_SINGLE)) {
    +				mutex_enter(&lfs_lock);
    +				error = EAGAIN;
    +				break;
    +			}
     		}
     		KDASSERT(ip->i_number != LFS_IFILE_INUM);
    -		(void) lfs_writeinode(fs, sp, ip);
    +		error = lfs_writeinode(fs, sp, ip);
     		mutex_enter(&lfs_lock);
    +		if (error && (sp->seg_flags & SEGM_SINGLE)) {
    +			error = EAGAIN;
    +			break;
    +		}
    +
     		/*
    -		 * XXX
    -		 * LK_EXCLOTHER is dead -- what is intended here?
    -		 * if (waslocked == LK_EXCLOTHER)
    -		 *	LFS_SET_UINO(ip, IN_MODIFIED);
    +		 * We might need to update these inodes again,
    +		 * for example, if they have data blocks to write.
    +		 * Make sure that after this flush, they are still
    +		 * marked IN_MODIFIED so that we don't forget to
    +		 * write them.
     		 */
    +		/* XXX only for non-directories? --KS */
    +		LFS_SET_UINO(ip, IN_MODIFIED);
     	}
     	mutex_exit(&lfs_lock);
     	/* We've written all the dirops there are */
    @@ -1337,6 +1265,8 @@ lfs_flush_dirops(struct lfs *fs)
     	lfs_finalize_fs_seguse(fs);
     	(void) lfs_writeseg(fs, sp);
     	lfs_segunlock(fs);
    +
    +	return error;
     }
     
     /*
    @@ -1346,29 +1276,30 @@ lfs_flush_dirops(struct lfs *fs)
      * for any reason, just skip it; if we have to wait for the cleaner,
      * abort.  The writer daemon will call us again later.
      */
    -void
    +int
     lfs_flush_pchain(struct lfs *fs)
     {
     	struct inode *ip, *nip;
     	struct vnode *vp;
     	extern int lfs_dostats;
     	struct segment *sp;
    -	int error;
    +	int error, error2;
     
     	ASSERT_NO_SEGLOCK(fs);
     
     	if (fs->lfs_ronly)
    -		return;
    +		return EROFS;
     
     	mutex_enter(&lfs_lock);
     	if (TAILQ_FIRST(&fs->lfs_pchainhd) == NULL) {
     		mutex_exit(&lfs_lock);
    -		return;
    +		return 0;
     	} else
     		mutex_exit(&lfs_lock);
     
     	/* Get dirops out of the way */
    -	lfs_flush_dirops(fs);
    +	if ((error = lfs_flush_dirops(fs)) != 0)
    +		return error;
     
     	if (lfs_dostats)
     		++lfs_stats.flush_invoked;
    @@ -1422,12 +1353,12 @@ lfs_flush_pchain(struct lfs *fs)
     		    	mutex_exit(&lfs_lock);
     		}
     		KDASSERT(ip->i_number != LFS_IFILE_INUM);
    -		(void) lfs_writeinode(fs, sp, ip);
    +		error2 = lfs_writeinode(fs, sp, ip);
     
     		VOP_UNLOCK(vp);
     		lfs_vunref(vp);
     
    -		if (error == EAGAIN) {
    +		if (error == EAGAIN || error2 == EAGAIN) {
     			lfs_writeseg(fs, sp);
     			mutex_enter(&lfs_lock);
     			break;
    @@ -1437,6 +1368,8 @@ lfs_flush_pchain(struct lfs *fs)
     	mutex_exit(&lfs_lock);
     	(void) lfs_writeseg(fs, sp);
     	lfs_segunlock(fs);
    +
    +	return 0;
     }
     
     /*
    @@ -1457,7 +1390,7 @@ lfs_fcntl(void *v)
     	BLOCK_INFO *blkiov;
     	CLEANERINFO *cip;
     	SEGUSE *sup;
    -	int blkcnt, error, oclean;
    +	int blkcnt, error;
     	size_t fh_size;
     	struct lfs_fcntl_markv blkvp;
     	struct lwp *l;
    @@ -1466,11 +1399,12 @@ lfs_fcntl(void *v)
     	struct buf *bp;
     	fhandle_t *fhp;
     	daddr_t off;
    +	int oclean;
     
     	/* Only respect LFS fcntls on fs root or Ifile */
    -	if (VTOI(ap->a_vp)->i_number != ROOTINO &&
    +	if (VTOI(ap->a_vp)->i_number != ULFS_ROOTINO &&
     	    VTOI(ap->a_vp)->i_number != LFS_IFILE_INUM) {
    -		return ufs_fcntl(v);
    +		return ulfs_fcntl(v);
     	}
     
     	/* Avoid locking a draining lock */
    @@ -1481,8 +1415,8 @@ lfs_fcntl(void *v)
     	/* LFS control and monitoring fcntls are available only to root */
     	l = curlwp;
     	if (((ap->a_command & 0xff00) >> 8) == 'L' &&
    -	    (error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -					     NULL)) != 0)
    +	    (error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_LFS,
    +	     KAUTH_REQ_SYSTEM_LFS_FCNTL, NULL, NULL, NULL)) != 0)
     		return (error);
     
     	fs = VTOI(ap->a_vp)->i_lfs;
    @@ -1576,6 +1510,9 @@ segwait_common:
     		      fs->lfs_offset - off, cip->clean - oclean,
     		      fs->lfs_activesb));
     		LFS_SYNC_CLEANERINFO(cip, fs, bp, 0);
    +#else
    +		__USE(oclean);
    +		__USE(off);
     #endif
     
     		return 0;
    @@ -1682,7 +1619,8 @@ segwait_common:
     		/* Wait for the log to wrap, if asked */
     		if (*(int *)ap->a_data) {
     			mutex_enter(ap->a_vp->v_interlock);
    -			lfs_vref(ap->a_vp);
    +			if (lfs_vref(ap->a_vp) != 0)
    +				panic("LFCNWRAPPASS: lfs_vref failed");
     			VTOI(ap->a_vp)->i_lfs_iflags |= LFSI_WRAPWAIT;
     			log(LOG_NOTICE, "LFCNPASS waiting for log wrap\n");
     			error = mtsleep(&fs->lfs_nowrap, PCATCH | PUSER,
    @@ -1701,7 +1639,7 @@ segwait_common:
     		return 0;
     
     	    default:
    -		return ufs_fcntl(v);
    +		return ulfs_fcntl(v);
     	}
     	return 0;
     }
    @@ -1746,6 +1684,7 @@ lfs_getpages(void *v)
     static void
     wait_for_page(struct vnode *vp, struct vm_page *pg, const char *label)
     {
    +	KASSERT(mutex_owned(vp->v_interlock));
     	if ((pg->flags & PG_BUSY) == 0)
     		return;		/* Nothing to wait for! */
     
    @@ -1786,6 +1725,7 @@ static void
     write_and_wait(struct lfs *fs, struct vnode *vp, struct vm_page *pg,
     	       int seglocked, const char *label)
     {
    +	KASSERT(mutex_owned(vp->v_interlock));
     #ifndef BUSYWAIT
     	struct inode *ip = VTOI(vp);
     	struct segment *sp = fs->lfs_sp;
    @@ -1814,12 +1754,15 @@ write_and_wait(struct lfs *fs, struct vnode *vp, struct vm_page *pg,
     		mutex_enter(vp->v_interlock);
     		wait_for_page(vp, pg, label);
     	}
    -	if (label != NULL && count > 1)
    -		printf("lfs_putpages[%d]: %s: %sn = %d\n", curproc->p_pid,
    -		       label, (count > 0 ? "looping, " : ""), count);
    +	if (label != NULL && count > 1) {
    +		DLOG((DLOG_PAGE, "lfs_putpages[%d]: %s: %sn = %d\n",
    +		      curproc->p_pid, label, (count > 0 ? "looping, " : ""),
    +		      count));
    +	}
     #else
     	preempt(1);
     #endif
    +	KASSERT(mutex_owned(vp->v_interlock));
     }
     
     /*
    @@ -1849,6 +1792,7 @@ check_dirty(struct lfs *fs, struct vnode *vp,
     	int pages_per_block = fs->lfs_bsize >> PAGE_SHIFT;
     	int pagedaemon = (curlwp == uvm.pagedaemon_lwp);
     
    +	KASSERT(mutex_owned(vp->v_interlock));
     	ASSERT_MAYBE_SEGLOCK(fs);
       top:
     	by_list = (vp->v_uobj.uo_npages <=
    @@ -1891,6 +1835,7 @@ check_dirty(struct lfs *fs, struct vnode *vp,
     		 */
     		nonexistent = dirty = 0;
     		for (i = 0; i == 0 || i < pages_per_block; i++) {
    +			KASSERT(mutex_owned(vp->v_interlock));
     			if (by_list && pages_per_block <= 1) {
     				pgs[i] = pg = curpg;
     			} else {
    @@ -1916,13 +1861,16 @@ check_dirty(struct lfs *fs, struct vnode *vp,
     				DLOG((DLOG_PAGE, "lfs_putpages: avoiding 3-way or pagedaemon deadlock\n"));
     				if (pgp)
     					*pgp = pg;
    +				KASSERT(mutex_owned(vp->v_interlock));
     				return -1;
     			}
     
     			while (pg->flags & PG_BUSY) {
     				wait_for_page(vp, pg, NULL);
    +				KASSERT(mutex_owned(vp->v_interlock));
     				if (i > 0)
     					uvm_page_unbusy(pgs, i);
    +				KASSERT(mutex_owned(vp->v_interlock));
     				goto top;
     			}
     			pg->flags |= PG_BUSY;
    @@ -1944,6 +1892,7 @@ check_dirty(struct lfs *fs, struct vnode *vp,
     
     		any_dirty += dirty;
     		KASSERT(nonexistent == 0);
    +		KASSERT(mutex_owned(vp->v_interlock));
     
     		/*
     		 * If any are dirty make all dirty; unbusy them,
    @@ -1952,8 +1901,10 @@ check_dirty(struct lfs *fs, struct vnode *vp,
     		 * they're on their way to disk.
     		 */
     		for (i = 0; i == 0 || i < pages_per_block; i++) {
    +			KASSERT(mutex_owned(vp->v_interlock));
     			pg = pgs[i];
     			KASSERT(!((pg->flags & PG_CLEAN) && (pg->flags & PG_DELWRI)));
    +			KASSERT(pg->flags & PG_BUSY);
     			if (dirty) {
     				pg->flags &= ~PG_CLEAN;
     				if (flags & PGO_FREE) {
    @@ -1985,6 +1936,7 @@ check_dirty(struct lfs *fs, struct vnode *vp,
     		}
     	}
     
    +	KASSERT(mutex_owned(vp->v_interlock));
     	return any_dirty;
     }
     
    @@ -2048,9 +2000,11 @@ lfs_putpages(void *v)
     	struct segment *sp;
     	off_t origoffset, startoffset, endoffset, origendoffset, blkeof;
     	off_t off, max_endoffset;
    -	bool seglocked, sync, pagedaemon;
    +	bool seglocked, sync, pagedaemon, reclaim;
     	struct vm_page *pg, *busypg;
     	UVMHIST_FUNC("lfs_putpages"); UVMHIST_CALLED(ubchist);
    +	int oreclaim = 0;
    +	int donewriting = 0;
     #ifdef DEBUG
     	int debug_n_again, debug_n_dirtyclean;
     #endif
    @@ -2059,8 +2013,11 @@ lfs_putpages(void *v)
     	ip = VTOI(vp);
     	fs = ip->i_lfs;
     	sync = (ap->a_flags & PGO_SYNCIO) != 0;
    +	reclaim = (ap->a_flags & PGO_RECLAIM) != 0;
     	pagedaemon = (curlwp == uvm.pagedaemon_lwp);
     
    +	KASSERT(mutex_owned(vp->v_interlock));
    +
     	/* Putpages does nothing for metadata. */
     	if (vp == fs->lfs_ivnode || vp->v_type != VREG) {
     		mutex_exit(vp->v_interlock);
    @@ -2086,19 +2043,24 @@ lfs_putpages(void *v)
     			TAILQ_REMOVE(&fs->lfs_pchainhd, ip, i_lfs_pchain);
     		}
     		mutex_exit(&lfs_lock);
    +
    +		KASSERT(!mutex_owned(vp->v_interlock));
     		return 0;
     	}
     
    -	blkeof = blkroundup(fs, ip->i_size);
    +	blkeof = lfs_blkroundup(fs, ip->i_size);
     
     	/*
     	 * Ignore requests to free pages past EOF but in the same block
    -	 * as EOF, unless the request is synchronous.  (If the request is
    -	 * sync, it comes from lfs_truncate.)
    -	 * XXXUBC Make these pages look "active" so the pagedaemon won't
    -	 * XXXUBC bother us with them again.
    +	 * as EOF, unless the vnode is being reclaimed or the request
    +	 * is synchronous.  (If the request is sync, it comes from
    +	 * lfs_truncate.)
    +	 *
    +	 * To avoid being flooded with this request, make these pages
    +	 * look "active".
     	 */
    -	if (!sync && ap->a_offlo >= ip->i_size && ap->a_offlo < blkeof) {
    +	if (!sync && !reclaim &&
    +	    ap->a_offlo >= ip->i_size && ap->a_offlo < blkeof) {
     		origoffset = ap->a_offlo;
     		for (off = origoffset; off < blkeof; off += fs->lfs_bsize) {
     			pg = uvm_pagelookup(&vp->v_uobj, off);
    @@ -2135,7 +2097,7 @@ lfs_putpages(void *v)
     		origendoffset = endoffset;
     	} else {
     		origendoffset = round_page(ap->a_offhi);
    -		endoffset = round_page(blkroundup(fs, origendoffset));
    +		endoffset = round_page(lfs_blkroundup(fs, origendoffset));
     	}
     
     	KASSERT(startoffset > 0 || endoffset >= startoffset);
    @@ -2154,8 +2116,13 @@ lfs_putpages(void *v)
     	 * If not cleaning, just send the pages through genfs_putpages
     	 * to be returned to the pool.
     	 */
    -	if (!(ap->a_flags & PGO_CLEANIT))
    -		return genfs_putpages(v);
    +	if (!(ap->a_flags & PGO_CLEANIT)) {
    +		DLOG((DLOG_PAGE, "lfs_putpages: no cleanit vn %p ino %d (flags %x)\n",
    +		      vp, (int)ip->i_number, ap->a_flags));
    +		int r = genfs_putpages(v);
    +		KASSERT(!mutex_owned(vp->v_interlock));
    +		return r;
    +	}
     
     	/* Set PGO_BUSYFAIL to avoid deadlocks */
     	ap->a_flags |= PGO_BUSYFAIL;
    @@ -2169,6 +2136,7 @@ lfs_putpages(void *v)
     #endif
     	do {
     		int r;
    +		KASSERT(mutex_owned(vp->v_interlock));
     
     		/* Count the number of dirty pages */
     		r = check_dirty(fs, vp, startoffset, endoffset, blkeof,
    @@ -2191,8 +2159,10 @@ lfs_putpages(void *v)
     		r = genfs_do_putpages(vp, startoffset, endoffset,
     				       ap->a_flags & ~PGO_SYNCIO, &busypg);
     		ip->i_lfs_iflags &= ~LFSI_NO_GOP_WRITE;
    -		if (r != EDEADLK)
    -			return r;
    +		if (r != EDEADLK) {
    +			KASSERT(!mutex_owned(vp->v_interlock));
    + 			return r;
    +		}
     
     		/* One of the pages was busy.  Start over. */
     		mutex_enter(vp->v_interlock);
    @@ -2204,8 +2174,8 @@ lfs_putpages(void *v)
     
     #ifdef DEBUG
     	if (debug_n_dirtyclean > TOOMANY)
    -		printf("lfs_putpages: dirtyclean: looping, n = %d\n",
    -		       debug_n_dirtyclean);
    +		DLOG((DLOG_PAGE, "lfs_putpages: dirtyclean: looping, n = %d\n",
    +		      debug_n_dirtyclean));
     #endif
     
     	/*
    @@ -2228,6 +2198,7 @@ lfs_putpages(void *v)
     		wakeup(&lfs_writer_daemon);
     		mutex_exit(&lfs_lock);
     		preempt();
    +		KASSERT(!mutex_owned(vp->v_interlock));
     		return EWOULDBLOCK;
     	}
     
    @@ -2239,26 +2210,28 @@ lfs_putpages(void *v)
     	 */
     	if ((ap->a_flags & (PGO_CLEANIT|PGO_LOCKED)) == PGO_CLEANIT &&
     	    (vp->v_uflag & VU_DIROP)) {
    -		int locked;
    -
     		DLOG((DLOG_PAGE, "lfs_putpages: flushing VU_DIROP\n"));
    -		/* XXX VOP_ISLOCKED() may not be used for lock decisions. */
    -		locked = (VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    + 		lfs_writer_enter(fs, "ppdirop");
    +
    +		/* Note if we hold the vnode locked */
    +		if (VOP_ISLOCKED(vp) == LK_EXCLUSIVE)
    +		{
    +		    DLOG((DLOG_PAGE, "lfs_putpages: dirop inode already locked\n"));
    +		} else {
    +		    DLOG((DLOG_PAGE, "lfs_putpages: dirop inode not locked\n"));
    +		}
     		mutex_exit(vp->v_interlock);
    -		lfs_writer_enter(fs, "ppdirop");
    -		if (locked)
    -			VOP_UNLOCK(vp); /* XXX why? */
     
     		mutex_enter(&lfs_lock);
     		lfs_flush_fs(fs, sync ? SEGM_SYNC : 0);
     		mutex_exit(&lfs_lock);
     
    -		if (locked)
    -			VOP_LOCK(vp, LK_EXCLUSIVE);
     		mutex_enter(vp->v_interlock);
     		lfs_writer_leave(fs);
     
    -		/* XXX the flush should have taken care of this one too! */
    +		/* The flush will have cleaned out this vnode as well,
    +		   no need to do more to it. */
     	}
     
     	/*
    @@ -2286,8 +2259,10 @@ lfs_putpages(void *v)
     	if (!seglocked) {
     		mutex_exit(vp->v_interlock);
     		error = lfs_seglock(fs, SEGM_PROT | (sync ? SEGM_SYNC : 0));
    -		if (error != 0)
    -			return error;
    +		if (error != 0) {
    +			KASSERT(!mutex_owned(vp->v_interlock));
    + 			return error;
    +		}
     		mutex_enter(vp->v_interlock);
     		lfs_acquire_finfo(fs, ip->i_number, ip->i_gen);
     	}
    @@ -2295,6 +2270,12 @@ lfs_putpages(void *v)
     	KASSERT(sp->vp == NULL);
     	sp->vp = vp;
     
    +	/* Note segments written by reclaim; only for debugging */
    +	if ((vp->v_iflag & VI_XLOCK) != 0) {
    +		sp->seg_flags |= SEGM_RECLAIM;
    +		fs->lfs_reclino = ip->i_number;
    +	}
    +
     	/*
     	 * Ensure that the partial segment is marked SS_DIROP if this
     	 * vnode is a DIROP.
    @@ -2313,10 +2294,11 @@ lfs_putpages(void *v)
     #endif
     	do {
     		busypg = NULL;
    +		KASSERT(mutex_owned(vp->v_interlock));
     		if (check_dirty(fs, vp, startoffset, endoffset, blkeof,
     				ap->a_flags, 0, &busypg) < 0) {
     			mutex_exit(vp->v_interlock);
    -
    +			/* XXX why? --ks */
     			mutex_enter(vp->v_interlock);
     			write_and_wait(fs, vp, busypg, seglocked, NULL);
     			if (!seglocked) {
    @@ -2330,29 +2312,53 @@ lfs_putpages(void *v)
     		}
     	
     		busypg = NULL;
    +		KASSERT(!mutex_owned(&uvm_pageqlock));
    +		oreclaim = (ap->a_flags & PGO_RECLAIM);
    +		ap->a_flags &= ~PGO_RECLAIM;
     		error = genfs_do_putpages(vp, startoffset, endoffset,
     					   ap->a_flags, &busypg);
    +		ap->a_flags |= oreclaim;
     	
     		if (error == EDEADLK || error == EAGAIN) {
     			DLOG((DLOG_PAGE, "lfs_putpages: genfs_putpages returned"
     			      " %d ino %d off %x (seg %d)\n", error,
     			      ip->i_number, fs->lfs_offset,
    -			      dtosn(fs, fs->lfs_offset)));
    +			      lfs_dtosn(fs, fs->lfs_offset)));
     
    -			mutex_enter(vp->v_interlock);
    -			write_and_wait(fs, vp, busypg, seglocked, "again");
    +			if (oreclaim) {
    +				mutex_enter(vp->v_interlock);
    +				write_and_wait(fs, vp, busypg, seglocked, "again");
    +				mutex_exit(vp->v_interlock);
    +			} else {
    +				if ((sp->seg_flags & SEGM_SINGLE) &&
    +				    fs->lfs_curseg != fs->lfs_startseg)
    +					donewriting = 1;
    +			}
    +		} else if (error) {
    +			DLOG((DLOG_PAGE, "lfs_putpages: genfs_putpages returned"
    +			      " %d ino %d off %x (seg %d)\n", error,
    +			      (int)ip->i_number, fs->lfs_offset,
    +			      lfs_dtosn(fs, fs->lfs_offset)));
     		}
    +		/* genfs_do_putpages loses the interlock */
     #ifdef DEBUG
     		++debug_n_again;
     #endif
    -	} while (error == EDEADLK);
    +		if (oreclaim && error == EAGAIN) {
    +			DLOG((DLOG_PAGE, "vp %p ino %d vi_flags %x a_flags %x avoiding vclean panic\n",
    +			      vp, (int)ip->i_number, vp->v_iflag, ap->a_flags));
    +			mutex_enter(vp->v_interlock);
    +		}
    +		if (error == EDEADLK)
    +			mutex_enter(vp->v_interlock);
    +	} while (error == EDEADLK || (oreclaim && error == EAGAIN));
     #ifdef DEBUG
     	if (debug_n_again > TOOMANY)
    -		printf("lfs_putpages: again: looping, n = %d\n", debug_n_again);
    +		DLOG((DLOG_PAGE, "lfs_putpages: again: looping, n = %d\n", debug_n_again));
     #endif
     
     	KASSERT(sp != NULL && sp->vp == vp);
    -	if (!seglocked) {
    +	if (!seglocked && !donewriting) {
     		sp->vp = NULL;
     
     		/* Write indirect blocks as well */
    @@ -2376,8 +2382,10 @@ lfs_putpages(void *v)
     	 * If we were called from lfs_writefile, we don't need to clean up
     	 * the FIP or unlock the segment lock.	We're done.
     	 */
    -	if (seglocked)
    +	if (seglocked) {
    +		KASSERT(!mutex_owned(vp->v_interlock));
     		return error;
    +	}
     
     	/* Clean up FIP and send it to disk. */
     	lfs_release_finfo(fs);
    @@ -2417,6 +2425,7 @@ lfs_putpages(void *v)
     		}
     		mutex_exit(vp->v_interlock);
     	}
    +	KASSERT(!mutex_owned(vp->v_interlock));
     	return error;
     }
     
    @@ -2433,12 +2442,12 @@ lfs_gop_size(struct vnode *vp, off_t size, off_t *eobp, int flags)
     	struct lfs *fs = ip->i_lfs;
     	daddr_t olbn, nlbn;
     
    -	olbn = lblkno(fs, ip->i_size);
    -	nlbn = lblkno(fs, size);
    -	if (!(flags & GOP_SIZE_MEM) && nlbn < NDADDR && olbn <= nlbn) {
    -		*eobp = fragroundup(fs, size);
    +	olbn = lfs_lblkno(fs, ip->i_size);
    +	nlbn = lfs_lblkno(fs, size);
    +	if (!(flags & GOP_SIZE_MEM) && nlbn < ULFS_NDADDR && olbn <= nlbn) {
    +		*eobp = lfs_fragroundup(fs, size);
     	} else {
    -		*eobp = blkroundup(fs, size);
    +		*eobp = lfs_blkroundup(fs, size);
     	}
     }
     
    @@ -2474,5 +2483,173 @@ lfs_mmap(void *v)
     
     	if (VTOI(ap->a_vp)->i_number == LFS_IFILE_INUM)
     		return EOPNOTSUPP;
    -	return ufs_mmap(v);
    +	return ulfs_mmap(v);
    +}
    +
    +static int
    +lfs_openextattr(void *v)
    +{
    +	struct vop_openextattr_args /* {
    +		struct vnode *a_vp;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct inode *ip = VTOI(ap->a_vp);
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct lfs *fs = ip->i_lfs;
    +
    +	/* Not supported for ULFS1 file systems. */
    +	if (ump->um_fstype == ULFS1)
    +		return (EOPNOTSUPP);
    +
    +	/* XXX Not implemented for ULFS2 file systems. */
    +	return (EOPNOTSUPP);
    +}
    +
    +static int
    +lfs_closeextattr(void *v)
    +{
    +	struct vop_closeextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_commit;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct inode *ip = VTOI(ap->a_vp);
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct lfs *fs = ip->i_lfs;
    +
    +	/* Not supported for ULFS1 file systems. */
    +	if (ump->um_fstype == ULFS1)
    +		return (EOPNOTSUPP);
    +
    +	/* XXX Not implemented for ULFS2 file systems. */
    +	return (EOPNOTSUPP);
    +}
    +
    +static int
    +lfs_getextattr(void *v)
    +{
    +	struct vop_getextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		const char *a_name;
    +		struct uio *a_uio;
    +		size_t *a_size;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct inode *ip = VTOI(vp);
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct lfs *fs = ip->i_lfs;
    +	int error;
    +
    +	if (ump->um_fstype == ULFS1) {
    +#ifdef LFS_EXTATTR
    +		fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +		error = ulfs_getextattr(ap);
    +		fstrans_done(vp->v_mount);
    +#else
    +		error = EOPNOTSUPP;
    +#endif
    +		return error;
    +	}
    +
    +	/* XXX Not implemented for ULFS2 file systems. */
    +	return (EOPNOTSUPP);
    +}
    +
    +static int
    +lfs_setextattr(void *v)
    +{
    +	struct vop_setextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		const char *a_name;
    +		struct uio *a_uio;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct inode *ip = VTOI(vp);
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct lfs *fs = ip->i_lfs;
    +	int error;
    +
    +	if (ump->um_fstype == ULFS1) {
    +#ifdef LFS_EXTATTR
    +		fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +		error = ulfs_setextattr(ap);
    +		fstrans_done(vp->v_mount);
    +#else
    +		error = EOPNOTSUPP;
    +#endif
    +		return error;
    +	}
    +
    +	/* XXX Not implemented for ULFS2 file systems. */
    +	return (EOPNOTSUPP);
    +}
    +
    +static int
    +lfs_listextattr(void *v)
    +{
    +	struct vop_listextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		struct uio *a_uio;
    +		size_t *a_size;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct inode *ip = VTOI(vp);
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct lfs *fs = ip->i_lfs;
    +	int error;
    +
    +	if (ump->um_fstype == ULFS1) {
    +#ifdef LFS_EXTATTR
    +		fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +		error = ulfs_listextattr(ap);
    +		fstrans_done(vp->v_mount);
    +#else
    +		error = EOPNOTSUPP;
    +#endif
    +		return error;
    +	}
    +
    +	/* XXX Not implemented for ULFS2 file systems. */
    +	return (EOPNOTSUPP);
    +}
    +
    +static int
    +lfs_deleteextattr(void *v)
    +{
    +	struct vop_deleteextattr_args /* {
    +		struct vnode *a_vp;
    +		int a_attrnamespace;
    +		kauth_cred_t a_cred;
    +		struct proc *a_p;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct inode *ip = VTOI(vp);
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct fs *fs = ip->i_lfs;
    +	int error;
    +
    +	if (ump->um_fstype == ULFS1) {
    +#ifdef LFS_EXTATTR
    +		fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +		error = ulfs_deleteextattr(ap);
    +		fstrans_done(vp->v_mount);
    +#else
    +		error = EOPNOTSUPP;
    +#endif
    +		return error;
    +	}
    +
    +	/* XXX Not implemented for ULFS2 file systems. */
    +	return (EOPNOTSUPP);
     }
    diff --git a/sys/ufs/lfs/ulfs_bmap.c b/sys/ufs/lfs/ulfs_bmap.c
    new file mode 100644
    index 000000000..6d299410e
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_bmap.c
    @@ -0,0 +1,411 @@
    +/*	$NetBSD: ulfs_bmap.c,v 1.5 2013/07/28 01:10:49 dholland Exp $	*/
    +/*  from NetBSD: ufs_bmap.c,v 1.50 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1989, 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_bmap.c	8.8 (Berkeley) 8/11/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_bmap.c,v 1.5 2013/07/28 01:10:49 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +static bool
    +ulfs_issequential(const struct lfs *fs, daddr_t daddr0, daddr_t daddr1)
    +{
    +
    +	/* for ulfs, blocks in a hole is not 'contiguous'. */
    +	if (daddr0 == 0)
    +		return false;
    +
    +	return (daddr0 + fs->um_seqinc == daddr1);
    +}
    +
    +/*
    + * Bmap converts the logical block number of a file to its physical block
    + * number on the disk. The conversion is done by using the logical block
    + * number to index into the array of block pointers described by the dinode.
    + */
    +int
    +ulfs_bmap(void *v)
    +{
    +	struct vop_bmap_args /* {
    +		struct vnode *a_vp;
    +		daddr_t  a_bn;
    +		struct vnode **a_vpp;
    +		daddr_t *a_bnp;
    +		int *a_runp;
    +	} */ *ap = v;
    +	int error;
    +
    +	/*
    +	 * Check for underlying vnode requests and ensure that logical
    +	 * to physical mapping is requested.
    +	 */
    +	if (ap->a_vpp != NULL)
    +		*ap->a_vpp = VTOI(ap->a_vp)->i_devvp;
    +	if (ap->a_bnp == NULL)
    +		return (0);
    +
    +	fstrans_start(ap->a_vp->v_mount, FSTRANS_SHARED);
    +	error = ulfs_bmaparray(ap->a_vp, ap->a_bn, ap->a_bnp, NULL, NULL,
    +	    ap->a_runp, ulfs_issequential);
    +	fstrans_done(ap->a_vp->v_mount);
    +	return error;
    +}
    +
    +/*
    + * Indirect blocks are now on the vnode for the file.  They are given negative
    + * logical block numbers.  Indirect blocks are addressed by the negative
    + * address of the first data block to which they point.  Double indirect blocks
    + * are addressed by one less than the address of the first indirect block to
    + * which they point.  Triple indirect blocks are addressed by one less than
    + * the address of the first double indirect block to which they point.
    + *
    + * ulfs_bmaparray does the bmap conversion, and if requested returns the
    + * array of logical blocks which must be traversed to get to a block.
    + * Each entry contains the offset into that block that gets you to the
    + * next block and the disk address of the block (if it is assigned).
    + */
    +
    +int
    +ulfs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
    +    int *nump, int *runp, ulfs_issequential_callback_t is_sequential)
    +{
    +	struct inode *ip;
    +	struct buf *bp, *cbp;
    +	struct ulfsmount *ump;
    +	struct lfs *fs;
    +	struct mount *mp;
    +	struct indir a[ULFS_NIADDR + 1], *xap;
    +	daddr_t daddr;
    +	daddr_t metalbn;
    +	int error, maxrun = 0, num;
    +
    +	ip = VTOI(vp);
    +	mp = vp->v_mount;
    +	ump = ip->i_ump;
    +	fs = ip->i_lfs;
    +#ifdef DIAGNOSTIC
    +	if ((ap != NULL && nump == NULL) || (ap == NULL && nump != NULL))
    +		panic("ulfs_bmaparray: invalid arguments");
    +#endif
    +
    +	if (runp) {
    +		/*
    +		 * XXX
    +		 * If MAXBSIZE is the largest transfer the disks can handle,
    +		 * we probably want maxrun to be 1 block less so that we
    +		 * don't create a block larger than the device can handle.
    +		 */
    +		*runp = 0;
    +		maxrun = MAXPHYS / mp->mnt_stat.f_iosize - 1;
    +	}
    +
    +	if (bn >= 0 && bn < ULFS_NDADDR) {
    +		if (nump != NULL)
    +			*nump = 0;
    +		if (ump->um_fstype == ULFS1)
    +			daddr = ulfs_rw32(ip->i_ffs1_db[bn],
    +			    ULFS_MPNEEDSWAP(fs));
    +		else
    +			daddr = ulfs_rw64(ip->i_ffs2_db[bn],
    +			    ULFS_MPNEEDSWAP(fs));
    +		*bnp = blkptrtodb(fs, daddr);
    +		/*
    +		 * Since this is FFS independent code, we are out of
    +		 * scope for the definitions of BLK_NOCOPY and
    +		 * BLK_SNAP, but we do know that they will fall in
    +		 * the range 1..um_seqinc, so we use that test and
    +		 * return a request for a zeroed out buffer if attempts
    +		 * are made to read a BLK_NOCOPY or BLK_SNAP block.
    +		 */
    +		if ((ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) == SF_SNAPSHOT
    +		    && daddr > 0 &&
    +		    daddr < fs->um_seqinc) {
    +			*bnp = -1;
    +		} else if (*bnp == 0) {
    +			if ((ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL))
    +			    == SF_SNAPSHOT) {
    +				*bnp = blkptrtodb(fs, bn * fs->um_seqinc);
    +			} else {
    +				*bnp = -1;
    +			}
    +		} else if (runp) {
    +			if (ump->um_fstype == ULFS1) {
    +				for (++bn; bn < ULFS_NDADDR && *runp < maxrun &&
    +				    is_sequential(fs,
    +				        ulfs_rw32(ip->i_ffs1_db[bn - 1],
    +				            ULFS_MPNEEDSWAP(fs)),
    +				        ulfs_rw32(ip->i_ffs1_db[bn],
    +				            ULFS_MPNEEDSWAP(fs)));
    +				    ++bn, ++*runp);
    +			} else {
    +				for (++bn; bn < ULFS_NDADDR && *runp < maxrun &&
    +				    is_sequential(fs,
    +				        ulfs_rw64(ip->i_ffs2_db[bn - 1],
    +				            ULFS_MPNEEDSWAP(fs)),
    +				        ulfs_rw64(ip->i_ffs2_db[bn],
    +				            ULFS_MPNEEDSWAP(fs)));
    +				    ++bn, ++*runp);
    +			}
    +		}
    +		return (0);
    +	}
    +
    +	xap = ap == NULL ? a : ap;
    +	if (!nump)
    +		nump = #
    +	if ((error = ulfs_getlbns(vp, bn, xap, nump)) != 0)
    +		return (error);
    +
    +	num = *nump;
    +
    +	/* Get disk address out of indirect block array */
    +	if (ump->um_fstype == ULFS1)
    +		daddr = ulfs_rw32(ip->i_ffs1_ib[xap->in_off],
    +		    ULFS_MPNEEDSWAP(fs));
    +	else
    +		daddr = ulfs_rw64(ip->i_ffs2_ib[xap->in_off],
    +		    ULFS_MPNEEDSWAP(fs));
    +
    +	for (bp = NULL, ++xap; --num; ++xap) {
    +		/*
    +		 * Exit the loop if there is no disk address assigned yet and
    +		 * the indirect block isn't in the cache, or if we were
    +		 * looking for an indirect block and we've found it.
    +		 */
    +
    +		metalbn = xap->in_lbn;
    +		if (metalbn == bn)
    +			break;
    +		if (daddr == 0) {
    +			mutex_enter(&bufcache_lock);
    +			cbp = incore(vp, metalbn);
    +			mutex_exit(&bufcache_lock);
    +			if (cbp == NULL)
    +				break;
    +		}
    +
    +		/*
    +		 * If we get here, we've either got the block in the cache
    +		 * or we have a disk address for it, go fetch it.
    +		 */
    +		if (bp)
    +			brelse(bp, 0);
    +
    +		xap->in_exists = 1;
    +		bp = getblk(vp, metalbn, mp->mnt_stat.f_iosize, 0, 0);
    +		if (bp == NULL) {
    +
    +			/*
    +			 * getblk() above returns NULL only iff we are
    +			 * pagedaemon.  See the implementation of getblk
    +			 * for detail.
    +			 */
    +
    +			return (ENOMEM);
    +		}
    +		if (bp->b_oflags & (BO_DONE | BO_DELWRI)) {
    +			trace(TR_BREADHIT, pack(vp, size), metalbn);
    +		}
    +#ifdef DIAGNOSTIC
    +		else if (!daddr)
    +			panic("ulfs_bmaparray: indirect block not in cache");
    +#endif
    +		else {
    +			trace(TR_BREADMISS, pack(vp, size), metalbn);
    +			bp->b_blkno = blkptrtodb(fs, daddr);
    +			bp->b_flags |= B_READ;
    +			BIO_SETPRIO(bp, BPRIO_TIMECRITICAL);
    +			VOP_STRATEGY(vp, bp);
    +			curlwp->l_ru.ru_inblock++;	/* XXX */
    +			if ((error = biowait(bp)) != 0) {
    +				brelse(bp, 0);
    +				return (error);
    +			}
    +		}
    +		if (ump->um_fstype == ULFS1) {
    +			daddr = ulfs_rw32(((u_int32_t *)bp->b_data)[xap->in_off],
    +			    ULFS_MPNEEDSWAP(fs));
    +			if (num == 1 && daddr && runp) {
    +				for (bn = xap->in_off + 1;
    +				    bn < MNINDIR(fs) && *runp < maxrun &&
    +				    is_sequential(fs,
    +				        ulfs_rw32(((int32_t *)bp->b_data)[bn-1],
    +				            ULFS_MPNEEDSWAP(fs)),
    +				        ulfs_rw32(((int32_t *)bp->b_data)[bn],
    +				            ULFS_MPNEEDSWAP(fs)));
    +				    ++bn, ++*runp);
    +			}
    +		} else {
    +			daddr = ulfs_rw64(((u_int64_t *)bp->b_data)[xap->in_off],
    +			    ULFS_MPNEEDSWAP(fs));
    +			if (num == 1 && daddr && runp) {
    +				for (bn = xap->in_off + 1;
    +				    bn < MNINDIR(fs) && *runp < maxrun &&
    +				    is_sequential(fs,
    +				        ulfs_rw64(((int64_t *)bp->b_data)[bn-1],
    +				            ULFS_MPNEEDSWAP(fs)),
    +				        ulfs_rw64(((int64_t *)bp->b_data)[bn],
    +				            ULFS_MPNEEDSWAP(fs)));
    +				    ++bn, ++*runp);
    +			}
    +		}
    +	}
    +	if (bp)
    +		brelse(bp, 0);
    +
    +	/*
    +	 * Since this is FFS independent code, we are out of scope for the
    +	 * definitions of BLK_NOCOPY and BLK_SNAP, but we do know that they
    +	 * will fall in the range 1..um_seqinc, so we use that test and
    +	 * return a request for a zeroed out buffer if attempts are made
    +	 * to read a BLK_NOCOPY or BLK_SNAP block.
    +	 */
    +	if ((ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) == SF_SNAPSHOT
    +	    && daddr > 0 && daddr < fs->um_seqinc) {
    +		*bnp = -1;
    +		return (0);
    +	}
    +	*bnp = blkptrtodb(fs, daddr);
    +	if (*bnp == 0) {
    +		if ((ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL))
    +		    == SF_SNAPSHOT) {
    +			*bnp = blkptrtodb(fs, bn * fs->um_seqinc);
    +		} else {
    +			*bnp = -1;
    +		}
    +	}
    +	return (0);
    +}
    +
    +/*
    + * Create an array of logical block number/offset pairs which represent the
    + * path of indirect blocks required to access a data block.  The first "pair"
    + * contains the logical block number of the appropriate single, double or
    + * triple indirect block and the offset into the inode indirect block array.
    + * Note, the logical block number of the inode single/double/triple indirect
    + * block appears twice in the array, once with the offset into the i_ffs1_ib and
    + * once with the offset into the page itself.
    + */
    +int
    +ulfs_getlbns(struct vnode *vp, daddr_t bn, struct indir *ap, int *nump)
    +{
    +	daddr_t metalbn, realbn;
    +	struct ulfsmount *ump;
    +	struct lfs *fs;
    +	int64_t blockcnt;
    +	int lbc;
    +	int i, numlevels, off;
    +
    +	ump = VFSTOULFS(vp->v_mount);
    +	fs = ump->um_lfs;
    +	if (nump)
    +		*nump = 0;
    +	numlevels = 0;
    +	realbn = bn;
    +	if (bn < 0)
    +		bn = -bn;
    +	KASSERT(bn >= ULFS_NDADDR);
    +
    +	/*
    +	 * Determine the number of levels of indirection.  After this loop
    +	 * is done, blockcnt indicates the number of data blocks possible
    +	 * at the given level of indirection, and ULFS_NIADDR - i is the number
    +	 * of levels of indirection needed to locate the requested block.
    +	 */
    +
    +	bn -= ULFS_NDADDR;
    +	for (lbc = 0, i = ULFS_NIADDR;; i--, bn -= blockcnt) {
    +		if (i == 0)
    +			return (EFBIG);
    +
    +		lbc += fs->um_lognindir;
    +		blockcnt = (int64_t)1 << lbc;
    +
    +		if (bn < blockcnt)
    +			break;
    +	}
    +
    +	/* Calculate the address of the first meta-block. */
    +	metalbn = -((realbn >= 0 ? realbn : -realbn) - bn + ULFS_NIADDR - i);
    +
    +	/*
    +	 * At each iteration, off is the offset into the bap array which is
    +	 * an array of disk addresses at the current level of indirection.
    +	 * The logical block number and the offset in that block are stored
    +	 * into the argument array.
    +	 */
    +	ap->in_lbn = metalbn;
    +	ap->in_off = off = ULFS_NIADDR - i;
    +	ap->in_exists = 0;
    +	ap++;
    +	for (++numlevels; i <= ULFS_NIADDR; i++) {
    +		/* If searching for a meta-data block, quit when found. */
    +		if (metalbn == realbn)
    +			break;
    +
    +		lbc -= fs->um_lognindir;
    +		off = (bn >> lbc) & (MNINDIR(fs) - 1);
    +
    +		++numlevels;
    +		ap->in_lbn = metalbn;
    +		ap->in_off = off;
    +		ap->in_exists = 0;
    +		++ap;
    +
    +		metalbn -= -1 + ((int64_t)off << lbc);
    +	}
    +	if (nump)
    +		*nump = numlevels;
    +	return (0);
    +}
    diff --git a/sys/ufs/lfs/ulfs_bswap.h b/sys/ufs/lfs/ulfs_bswap.h
    new file mode 100644
    index 000000000..a67a69513
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_bswap.h
    @@ -0,0 +1,81 @@
    +/*	$NetBSD: ulfs_bswap.h,v 1.6 2013/10/18 15:15:22 christos Exp $	*/
    +/*  from NetBSD: ufs_bswap.h,v 1.19 2009/10/19 18:41:17 bouyer Exp  */
    +
    +/*
    + * Copyright (c) 1998 Manuel Bouyer.
    + *
    + * 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 ``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 BE LIABLE FOR ANY DIRECT, INDIRECT,
    + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    + *
    + */
    +
    +#ifndef _UFS_LFS_ULFS_BSWAP_H_
    +#define _UFS_LFS_ULFS_BSWAP_H_
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_lfs.h"
    +#endif
    +
    +#include 
    +
    +/* Macros to access ULFS flags */
    +#ifdef LFS_EI
    +#define	ULFS_MPNEEDSWAP(lfs)	((lfs)->um_flags & ULFS_NEEDSWAP)
    +#define ULFS_FSNEEDSWAP(fs)	((fs)->fs_flags & FS_SWAPPED)
    +#define	ULFS_IPNEEDSWAP(ip)	ULFS_MPNEEDSWAP((ip)->i_lfs)
    +#else
    +#define	ULFS_MPNEEDSWAP(ump)	(__USE(ump), 0)
    +#define ULFS_FSNEEDSWAP(fs)	(__USE(fs), 0)
    +#define	ULFS_IPNEEDSWAP(ip)	(__USE(ip), 0)
    +#endif
    +
    +#if !defined(_KERNEL) || defined(LFS_EI)
    +/* inlines for access to swapped data */
    +static inline u_int16_t
    +ulfs_rw16(uint16_t a, int ns)
    +{
    +	return ((ns) ? bswap16(a) : (a));
    +}
    +
    +static inline u_int32_t
    +ulfs_rw32(uint32_t a, int ns)
    +{
    +	return ((ns) ? bswap32(a) : (a));
    +}
    +
    +static inline u_int64_t
    +ulfs_rw64(uint64_t a, int ns)
    +{
    +	return ((ns) ? bswap64(a) : (a));
    +}
    +#else
    +#define ulfs_rw16(a, ns) (__USE(ns), (uint16_t)(a))
    +#define ulfs_rw32(a, ns) (__USE(ns), (uint32_t)(a))
    +#define ulfs_rw64(a, ns) (__USE(ns), (uint64_t)(a))
    +#endif
    +
    +#define ulfs_add16(a, b, ns) \
    +	(a) = ulfs_rw16(ulfs_rw16((a), (ns)) + (b), (ns))
    +#define ulfs_add32(a, b, ns) \
    +	(a) = ulfs_rw32(ulfs_rw32((a), (ns)) + (b), (ns))
    +#define ulfs_add64(a, b, ns) \
    +	(a) = ulfs_rw64(ulfs_rw64((a), (ns)) + (b), (ns))
    +
    +#endif /* !_UFS_LFS_ULFS_BSWAP_H_ */
    diff --git a/sys/ufs/lfs/ulfs_dinode.h b/sys/ufs/lfs/ulfs_dinode.h
    new file mode 100644
    index 000000000..bbe3729b9
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_dinode.h
    @@ -0,0 +1,62 @@
    +/*	$NetBSD: ulfs_dinode.h,v 1.11 2013/06/08 22:19:01 dholland Exp $	*/
    +/*  from NetBSD: dinode.h,v 1.22 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*
    + * Copyright (c) 2002 Networks Associates Technology, Inc.
    + * All rights reserved.
    + *
    + * This software was developed for the FreeBSD Project by Marshall
    + * Kirk McKusick and Network Associates Laboratories, the Security
    + * Research Division of Network Associates, Inc. under DARPA/SPAWAR
    + * contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
    + * research program
    + *
    + * Copyright (c) 1982, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)dinode.h	8.9 (Berkeley) 3/29/95
    + */
    +
    +#ifndef	_UFS_LFS_ULFS_DINODE_H_
    +#define	_UFS_LFS_ULFS_DINODE_H_
    +
    +#include 
    +
    +/* File permissions. */
    +#define	IEXEC		0000100		/* Executable. */
    +#define	IWRITE		0000200		/* Writable. */
    +#define	IREAD		0000400		/* Readable. */
    +#define	ISVTX		0001000		/* Sticky bit. */
    +#define	ISGID		0002000		/* Set-gid. */
    +#define	ISUID		0004000		/* Set-uid. */
    +
    +#endif /* !_UFS_LFS_ULFS_DINODE_H_ */
    diff --git a/sys/ufs/lfs/ulfs_dirhash.c b/sys/ufs/lfs/ulfs_dirhash.c
    new file mode 100644
    index 000000000..d541d324a
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_dirhash.c
    @@ -0,0 +1,1171 @@
    +/*	$NetBSD: ulfs_dirhash.c,v 1.7 2013/07/28 01:10:49 dholland Exp $	*/
    +/*  from NetBSD: ufs_dirhash.c,v 1.34 2009/10/05 23:48:08 rmind Exp  */
    +
    +/*
    + * Copyright (c) 2001, 2002 Ian Dowse.  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: src/sys/ufs/ufs/ufs_dirhash.c,v 1.3.2.8 2004/12/08 11:54:13 dwmalone Exp $
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_dirhash.c,v 1.7 2013/07/28 01:10:49 dholland Exp $");
    +
    +/*
    + * This implements a hash-based lookup scheme for ULFS directories.
    + */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#define WRAPINCR(val, limit)	(((val) + 1 == (limit)) ? 0 : ((val) + 1))
    +#define WRAPDECR(val, limit)	(((val) == 0) ? ((limit) - 1) : ((val) - 1))
    +#define OFSFMT(ip)		((ip)->i_lfs->um_maxsymlinklen <= 0)
    +#define BLKFREE2IDX(n)		((n) > DH_NFSTATS ? DH_NFSTATS : (n))
    +
    +static u_int ulfs_dirhashminblks = 5;
    +static u_int ulfs_dirhashmaxmem = 2 * 1024 * 1024;
    +static u_int ulfs_dirhashmem;
    +static u_int ulfs_dirhashcheck = 0;
    +
    +static int ulfsdirhash_hash(struct dirhash *dh, const char *name, int namelen);
    +static void ulfsdirhash_adjfree(struct dirhash *dh, doff_t offset, int diff,
    +	   int dirblksiz);
    +static void ulfsdirhash_delslot(struct dirhash *dh, int slot);
    +static int ulfsdirhash_findslot(struct dirhash *dh, const char *name,
    +	   int namelen, doff_t offset);
    +static doff_t ulfsdirhash_getprev(struct lfs_direct *dp, doff_t offset,
    +	   int dirblksiz);
    +static int ulfsdirhash_recycle(int wanted);
    +
    +static pool_cache_t ulfsdirhashblk_cache;
    +static pool_cache_t ulfsdirhash_cache;
    +
    +#define DIRHASHLIST_LOCK()		mutex_enter(&ulfsdirhash_lock)
    +#define DIRHASHLIST_UNLOCK()		mutex_exit(&ulfsdirhash_lock)
    +#define DIRHASH_LOCK(dh)		mutex_enter(&(dh)->dh_lock)
    +#define DIRHASH_UNLOCK(dh)		mutex_exit(&(dh)->dh_lock)
    +#define DIRHASH_BLKALLOC()		\
    +    pool_cache_get(ulfsdirhashblk_cache, PR_NOWAIT)
    +#define DIRHASH_BLKFREE(ptr)		\
    +    pool_cache_put(ulfsdirhashblk_cache, ptr)
    +
    +/* Dirhash list; recently-used entries are near the tail. */
    +static TAILQ_HEAD(, dirhash) ulfsdirhash_list;
    +
    +/* Protects: ulfsdirhash_list, `dh_list' field, ulfs_dirhashmem. */
    +static kmutex_t ulfsdirhash_lock;
    +
    +static struct sysctllog *ulfsdirhash_sysctl_log;
    +
    +/*
    + * Locking order:
    + *	ulfsdirhash_lock
    + *	dh_lock
    + *
    + * The dh_lock mutex should be acquired either via the inode lock, or via
    + * ulfsdirhash_lock. Only the owner of the inode may free the associated
    + * dirhash, but anything can steal its memory and set dh_hash to NULL.
    + */
    +
    +/*
    + * Attempt to build up a hash table for the directory contents in
    + * inode 'ip'. Returns 0 on success, or -1 of the operation failed.
    + */
    +int
    +ulfsdirhash_build(struct inode *ip)
    +{
    +	struct dirhash *dh;
    +	struct buf *bp = NULL;
    +	struct lfs_direct *ep;
    +	struct vnode *vp;
    +	doff_t bmask, pos;
    +	int dirblocks, i, j, memreqd, nblocks, narrays, nslots, slot;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	/* Check if we can/should use dirhash. */
    +	if (ip->i_dirhash == NULL) {
    +		if (ip->i_size < (ulfs_dirhashminblks * dirblksiz) || OFSFMT(ip))
    +			return (-1);
    +	} else {
    +		/* Hash exists, but sysctls could have changed. */
    +		if (ip->i_size < (ulfs_dirhashminblks * dirblksiz) ||
    +		    ulfs_dirhashmem > ulfs_dirhashmaxmem) {
    +			ulfsdirhash_free(ip);
    +			return (-1);
    +		}
    +		/* Check if hash exists and is intact (note: unlocked read). */
    +		if (ip->i_dirhash->dh_hash != NULL)
    +			return (0);
    +		/* Free the old, recycled hash and build a new one. */
    +		ulfsdirhash_free(ip);
    +	}
    +
    +	/* Don't hash removed directories. */
    +	if (ip->i_nlink == 0)
    +		return (-1);
    +
    +	vp = ip->i_vnode;
    +	/* Allocate 50% more entries than this dir size could ever need. */
    +	KASSERT(ip->i_size >= dirblksiz);
    +	nslots = ip->i_size / LFS_DIRECTSIZ(1);
    +	nslots = (nslots * 3 + 1) / 2;
    +	narrays = howmany(nslots, DH_NBLKOFF);
    +	nslots = narrays * DH_NBLKOFF;
    +	dirblocks = howmany(ip->i_size, dirblksiz);
    +	nblocks = (dirblocks * 3 + 1) / 2;
    +
    +	memreqd = sizeof(*dh) + narrays * sizeof(*dh->dh_hash) +
    +	    narrays * DH_NBLKOFF * sizeof(**dh->dh_hash) +
    +	    nblocks * sizeof(*dh->dh_blkfree);
    +
    +	while (atomic_add_int_nv(&ulfs_dirhashmem, memreqd) >
    +	    ulfs_dirhashmaxmem) {
    +		atomic_add_int(&ulfs_dirhashmem, -memreqd);
    +		if (memreqd > ulfs_dirhashmaxmem / 2)
    +			return (-1);
    +		/* Try to free some space. */
    +		if (ulfsdirhash_recycle(memreqd) != 0)
    +			return (-1);
    +	        else
    +		    	DIRHASHLIST_UNLOCK();
    +	}
    +
    +	/*
    +	 * Use non-blocking mallocs so that we will revert to a linear
    +	 * lookup on failure rather than potentially blocking forever.
    +	 */
    +	dh = pool_cache_get(ulfsdirhash_cache, PR_NOWAIT);
    +	if (dh == NULL) {
    +		atomic_add_int(&ulfs_dirhashmem, -memreqd);
    +		return (-1);
    +	}
    +	memset(dh, 0, sizeof(*dh));
    +	mutex_init(&dh->dh_lock, MUTEX_DEFAULT, IPL_NONE);
    +	DIRHASH_LOCK(dh);
    +	dh->dh_hashsz = narrays * sizeof(dh->dh_hash[0]);
    +	dh->dh_hash = kmem_zalloc(dh->dh_hashsz, KM_NOSLEEP);
    +	dh->dh_blkfreesz = nblocks * sizeof(dh->dh_blkfree[0]);
    +	dh->dh_blkfree = kmem_zalloc(dh->dh_blkfreesz, KM_NOSLEEP);
    +	if (dh->dh_hash == NULL || dh->dh_blkfree == NULL)
    +		goto fail;
    +	for (i = 0; i < narrays; i++) {
    +		if ((dh->dh_hash[i] = DIRHASH_BLKALLOC()) == NULL)
    +			goto fail;
    +		for (j = 0; j < DH_NBLKOFF; j++)
    +			dh->dh_hash[i][j] = DIRHASH_EMPTY;
    +	}
    +
    +	/* Initialise the hash table and block statistics. */
    +	dh->dh_narrays = narrays;
    +	dh->dh_hlen = nslots;
    +	dh->dh_nblk = nblocks;
    +	dh->dh_dirblks = dirblocks;
    +	for (i = 0; i < dirblocks; i++)
    +		dh->dh_blkfree[i] = dirblksiz / DIRALIGN;
    +	for (i = 0; i < DH_NFSTATS; i++)
    +		dh->dh_firstfree[i] = -1;
    +	dh->dh_firstfree[DH_NFSTATS] = 0;
    +	dh->dh_seqopt = 0;
    +	dh->dh_seqoff = 0;
    +	dh->dh_score = DH_SCOREINIT;
    +	ip->i_dirhash = dh;
    +
    +	bmask = VFSTOULFS(vp->v_mount)->um_mountp->mnt_stat.f_iosize - 1;
    +	pos = 0;
    +	while (pos < ip->i_size) {
    +		if ((curcpu()->ci_schedstate.spc_flags & SPCF_SHOULDYIELD)
    +		    != 0) {
    +			preempt();
    +		}
    +		/* If necessary, get the next directory block. */
    +		if ((pos & bmask) == 0) {
    +			if (bp != NULL)
    +				brelse(bp, 0);
    +			if (ulfs_blkatoff(vp, (off_t)pos, NULL, &bp, false) != 0)
    +				goto fail;
    +		}
    +
    +		/* Add this entry to the hash. */
    +		ep = (struct lfs_direct *)((char *)bp->b_data + (pos & bmask));
    +		if (ep->d_reclen == 0 || ep->d_reclen >
    +		    dirblksiz - (pos & (dirblksiz - 1))) {
    +			/* Corrupted directory. */
    +			brelse(bp, 0);
    +			goto fail;
    +		}
    +		if (ep->d_ino != 0) {
    +			/* Add the entry (simplified ulfsdirhash_add). */
    +			slot = ulfsdirhash_hash(dh, ep->d_name, ep->d_namlen);
    +			while (DH_ENTRY(dh, slot) != DIRHASH_EMPTY)
    +				slot = WRAPINCR(slot, dh->dh_hlen);
    +			dh->dh_hused++;
    +			DH_ENTRY(dh, slot) = pos;
    +			ulfsdirhash_adjfree(dh, pos, -LFS_DIRSIZ(0, ep, needswap),
    +			    dirblksiz);
    +		}
    +		pos += ep->d_reclen;
    +	}
    +
    +	if (bp != NULL)
    +		brelse(bp, 0);
    +	DIRHASHLIST_LOCK();
    +	TAILQ_INSERT_TAIL(&ulfsdirhash_list, dh, dh_list);
    +	dh->dh_onlist = 1;
    +	DIRHASH_UNLOCK(dh);
    +	DIRHASHLIST_UNLOCK();
    +	return (0);
    +
    +fail:
    +	DIRHASH_UNLOCK(dh);
    +	if (dh->dh_hash != NULL) {
    +		for (i = 0; i < narrays; i++)
    +			if (dh->dh_hash[i] != NULL)
    +				DIRHASH_BLKFREE(dh->dh_hash[i]);
    +		kmem_free(dh->dh_hash, dh->dh_hashsz);
    +	}
    +	if (dh->dh_blkfree != NULL)
    +		kmem_free(dh->dh_blkfree, dh->dh_blkfreesz);
    +	mutex_destroy(&dh->dh_lock);
    +	pool_cache_put(ulfsdirhash_cache, dh);
    +	ip->i_dirhash = NULL;
    +	atomic_add_int(&ulfs_dirhashmem, -memreqd);
    +	return (-1);
    +}
    +
    +/*
    + * Free any hash table associated with inode 'ip'.
    + */
    +void
    +ulfsdirhash_free(struct inode *ip)
    +{
    +	struct dirhash *dh;
    +	int i, mem;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +
    +	if (dh->dh_onlist) {
    +		DIRHASHLIST_LOCK();
    +		if (dh->dh_onlist)
    +			TAILQ_REMOVE(&ulfsdirhash_list, dh, dh_list);
    +		DIRHASHLIST_UNLOCK();
    +	}
    +
    +	/* The dirhash pointed to by 'dh' is exclusively ours now. */
    +	mem = sizeof(*dh);
    +	if (dh->dh_hash != NULL) {
    +		for (i = 0; i < dh->dh_narrays; i++)
    +			DIRHASH_BLKFREE(dh->dh_hash[i]);
    +		kmem_free(dh->dh_hash, dh->dh_hashsz);
    +		kmem_free(dh->dh_blkfree, dh->dh_blkfreesz);
    +		mem += dh->dh_hashsz;
    +		mem += dh->dh_narrays * DH_NBLKOFF * sizeof(**dh->dh_hash);
    +		mem += dh->dh_nblk * sizeof(*dh->dh_blkfree);
    +	}
    +	mutex_destroy(&dh->dh_lock);
    +	pool_cache_put(ulfsdirhash_cache, dh);
    +	ip->i_dirhash = NULL;
    +
    +	atomic_add_int(&ulfs_dirhashmem, -mem);
    +}
    +
    +/*
    + * Find the offset of the specified name within the given inode.
    + * Returns 0 on success, ENOENT if the entry does not exist, or
    + * EJUSTRETURN if the caller should revert to a linear search.
    + *
    + * If successful, the directory offset is stored in *offp, and a
    + * pointer to a struct buf containing the entry is stored in *bpp. If
    + * prevoffp is non-NULL, the offset of the previous entry within
    + * the DIRBLKSIZ-sized block is stored in *prevoffp (if the entry
    + * is the first in a block, the start of the block is used).
    + */
    +int
    +ulfsdirhash_lookup(struct inode *ip, const char *name, int namelen, doff_t *offp,
    +    struct buf **bpp, doff_t *prevoffp)
    +{
    +	struct dirhash *dh, *dh_next;
    +	struct lfs_direct *dp;
    +	struct vnode *vp;
    +	struct buf *bp;
    +	doff_t blkoff, bmask, offset, prevoff;
    +	int i, slot;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return (EJUSTRETURN);
    +
    +	/*
    +	 * Move this dirhash towards the end of the list if it has a
    +	 * score higher than the next entry, and acquire the dh_lock.
    +	 * Optimise the case where it's already the last by performing
    +	 * an unlocked read of the TAILQ_NEXT pointer.
    +	 *
    +	 * In both cases, end up holding just dh_lock.
    +	 */
    +	if (TAILQ_NEXT(dh, dh_list) != NULL) {
    +		DIRHASHLIST_LOCK();
    +		DIRHASH_LOCK(dh);
    +		/*
    +		 * If the new score will be greater than that of the next
    +		 * entry, then move this entry past it. With both mutexes
    +		 * held, dh_next won't go away, but its dh_score could
    +		 * change; that's not important since it is just a hint.
    +		 */
    +		if (dh->dh_hash != NULL &&
    +		    (dh_next = TAILQ_NEXT(dh, dh_list)) != NULL &&
    +		    dh->dh_score >= dh_next->dh_score) {
    +			KASSERT(dh->dh_onlist);
    +			TAILQ_REMOVE(&ulfsdirhash_list, dh, dh_list);
    +			TAILQ_INSERT_AFTER(&ulfsdirhash_list, dh_next, dh,
    +			    dh_list);
    +		}
    +		DIRHASHLIST_UNLOCK();
    +	} else {
    +		/* Already the last, though that could change as we wait. */
    +		DIRHASH_LOCK(dh);
    +	}
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return (EJUSTRETURN);
    +	}
    +
    +	/* Update the score. */
    +	if (dh->dh_score < DH_SCOREMAX)
    +		dh->dh_score++;
    +
    +	vp = ip->i_vnode;
    +	bmask = VFSTOULFS(vp->v_mount)->um_mountp->mnt_stat.f_iosize - 1;
    +	blkoff = -1;
    +	bp = NULL;
    +restart:
    +	slot = ulfsdirhash_hash(dh, name, namelen);
    +
    +	if (dh->dh_seqopt) {
    +		/*
    +		 * Sequential access optimisation. dh_seqoff contains the
    +		 * offset of the directory entry immediately following
    +		 * the last entry that was looked up. Check if this offset
    +		 * appears in the hash chain for the name we are looking for.
    +		 */
    +		for (i = slot; (offset = DH_ENTRY(dh, i)) != DIRHASH_EMPTY;
    +		    i = WRAPINCR(i, dh->dh_hlen))
    +			if (offset == dh->dh_seqoff)
    +				break;
    +		if (offset == dh->dh_seqoff) {
    +			/*
    +			 * We found an entry with the expected offset. This
    +			 * is probably the entry we want, but if not, the
    +			 * code below will turn off seqoff and retry.
    +			 */
    +			slot = i;
    +		} else
    +			dh->dh_seqopt = 0;
    +	}
    +
    +	for (; (offset = DH_ENTRY(dh, slot)) != DIRHASH_EMPTY;
    +	    slot = WRAPINCR(slot, dh->dh_hlen)) {
    +		if (offset == DIRHASH_DEL)
    +			continue;
    +
    +		if (offset < 0 || offset >= ip->i_size)
    +			panic("ulfsdirhash_lookup: bad offset in hash array");
    +		if ((offset & ~bmask) != blkoff) {
    +			if (bp != NULL)
    +				brelse(bp, 0);
    +			blkoff = offset & ~bmask;
    +			if (ulfs_blkatoff(vp, (off_t)blkoff,
    +			    NULL, &bp, false) != 0) {
    +				DIRHASH_UNLOCK(dh);
    +				return (EJUSTRETURN);
    +			}
    +		}
    +		dp = (struct lfs_direct *)((char *)bp->b_data + (offset & bmask));
    +		if (dp->d_reclen == 0 || dp->d_reclen >
    +		    dirblksiz - (offset & (dirblksiz - 1))) {
    +			/* Corrupted directory. */
    +			DIRHASH_UNLOCK(dh);
    +			brelse(bp, 0);
    +			return (EJUSTRETURN);
    +		}
    +		if (dp->d_namlen == namelen &&
    +		    memcmp(dp->d_name, name, namelen) == 0) {
    +			/* Found. Get the prev offset if needed. */
    +			if (prevoffp != NULL) {
    +				if (offset & (dirblksiz - 1)) {
    +					prevoff = ulfsdirhash_getprev(dp,
    +					    offset, dirblksiz);
    +					if (prevoff == -1) {
    +						brelse(bp, 0);
    +						return (EJUSTRETURN);
    +					}
    +				} else
    +					prevoff = offset;
    +				*prevoffp = prevoff;
    +			}
    +
    +			/* Check for sequential access, and update offset. */
    +			if (dh->dh_seqopt == 0 && dh->dh_seqoff == offset)
    +				dh->dh_seqopt = 1;
    +			dh->dh_seqoff = offset + LFS_DIRSIZ(0, dp, needswap);
    +			DIRHASH_UNLOCK(dh);
    +
    +			*bpp = bp;
    +			*offp = offset;
    +			return (0);
    +		}
    +
    +		if (dh->dh_hash == NULL) {
    +			DIRHASH_UNLOCK(dh);
    +			if (bp != NULL)
    +				brelse(bp, 0);
    +			ulfsdirhash_free(ip);
    +			return (EJUSTRETURN);
    +		}
    +		/*
    +		 * When the name doesn't match in the seqopt case, go back
    +		 * and search normally.
    +		 */
    +		if (dh->dh_seqopt) {
    +			dh->dh_seqopt = 0;
    +			goto restart;
    +		}
    +	}
    +	DIRHASH_UNLOCK(dh);
    +	if (bp != NULL)
    +		brelse(bp, 0);
    +	return (ENOENT);
    +}
    +
    +/*
    + * Find a directory block with room for 'slotneeded' bytes. Returns
    + * the offset of the directory entry that begins the free space.
    + * This will either be the offset of an existing entry that has free
    + * space at the end, or the offset of an entry with d_ino == 0 at
    + * the start of a DIRBLKSIZ block.
    + *
    + * To use the space, the caller may need to compact existing entries in
    + * the directory. The total number of bytes in all of the entries involved
    + * in the compaction is stored in *slotsize. In other words, all of
    + * the entries that must be compacted are exactly contained in the
    + * region beginning at the returned offset and spanning *slotsize bytes.
    + *
    + * Returns -1 if no space was found, indicating that the directory
    + * must be extended.
    + */
    +doff_t
    +ulfsdirhash_findfree(struct inode *ip, int slotneeded, int *slotsize)
    +{
    +	struct lfs_direct *dp;
    +	struct dirhash *dh;
    +	struct buf *bp;
    +	doff_t pos, slotstart;
    +	int dirblock, error, freebytes, i;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return (-1);
    +
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return (-1);
    +	}
    +
    +	/* Find a directory block with the desired free space. */
    +	dirblock = -1;
    +	for (i = howmany(slotneeded, DIRALIGN); i <= DH_NFSTATS; i++)
    +		if ((dirblock = dh->dh_firstfree[i]) != -1)
    +			break;
    +	if (dirblock == -1) {
    +		DIRHASH_UNLOCK(dh);
    +		return (-1);
    +	}
    +
    +	KASSERT(dirblock < dh->dh_nblk &&
    +	    dh->dh_blkfree[dirblock] >= howmany(slotneeded, DIRALIGN));
    +	pos = dirblock * dirblksiz;
    +	error = ulfs_blkatoff(ip->i_vnode, (off_t)pos, (void *)&dp, &bp, false);
    +	if (error) {
    +		DIRHASH_UNLOCK(dh);
    +		return (-1);
    +	}
    +	/* Find the first entry with free space. */
    +	for (i = 0; i < dirblksiz; ) {
    +		if (dp->d_reclen == 0) {
    +			DIRHASH_UNLOCK(dh);
    +			brelse(bp, 0);
    +			return (-1);
    +		}
    +		if (dp->d_ino == 0 || dp->d_reclen > LFS_DIRSIZ(0, dp, needswap))
    +			break;
    +		i += dp->d_reclen;
    +		dp = (struct lfs_direct *)((char *)dp + dp->d_reclen);
    +	}
    +	if (i > dirblksiz) {
    +		DIRHASH_UNLOCK(dh);
    +		brelse(bp, 0);
    +		return (-1);
    +	}
    +	slotstart = pos + i;
    +
    +	/* Find the range of entries needed to get enough space */
    +	freebytes = 0;
    +	while (i < dirblksiz && freebytes < slotneeded) {
    +		freebytes += dp->d_reclen;
    +		if (dp->d_ino != 0)
    +			freebytes -= LFS_DIRSIZ(0, dp, needswap);
    +		if (dp->d_reclen == 0) {
    +			DIRHASH_UNLOCK(dh);
    +			brelse(bp, 0);
    +			return (-1);
    +		}
    +		i += dp->d_reclen;
    +		dp = (struct lfs_direct *)((char *)dp + dp->d_reclen);
    +	}
    +	if (i > dirblksiz) {
    +		DIRHASH_UNLOCK(dh);
    +		brelse(bp, 0);
    +		return (-1);
    +	}
    +	if (freebytes < slotneeded)
    +		panic("ulfsdirhash_findfree: free mismatch");
    +	DIRHASH_UNLOCK(dh);
    +	brelse(bp, 0);
    +	*slotsize = pos + i - slotstart;
    +	return (slotstart);
    +}
    +
    +/*
    + * Return the start of the unused space at the end of a directory, or
    + * -1 if there are no trailing unused blocks.
    + */
    +doff_t
    +ulfsdirhash_enduseful(struct inode *ip)
    +{
    +	struct dirhash *dh;
    +	int i;
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return (-1);
    +
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return (-1);
    +	}
    +
    +	if (dh->dh_blkfree[dh->dh_dirblks - 1] != dirblksiz / DIRALIGN) {
    +		DIRHASH_UNLOCK(dh);
    +		return (-1);
    +	}
    +
    +	for (i = dh->dh_dirblks - 1; i >= 0; i--)
    +		if (dh->dh_blkfree[i] != dirblksiz / DIRALIGN)
    +			break;
    +	DIRHASH_UNLOCK(dh);
    +	return ((doff_t)(i + 1) * dirblksiz);
    +}
    +
    +/*
    + * Insert information into the hash about a new directory entry. dirp
    + * points to a struct lfs_direct containing the entry, and offset specifies
    + * the offset of this entry.
    + */
    +void
    +ulfsdirhash_add(struct inode *ip, struct lfs_direct *dirp, doff_t offset)
    +{
    +	struct dirhash *dh;
    +	int slot;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	KASSERT(offset < dh->dh_dirblks * dirblksiz);
    +	/*
    +	 * Normal hash usage is < 66%. If the usage gets too high then
    +	 * remove the hash entirely and let it be rebuilt later.
    +	 */
    +	if (dh->dh_hused >= (dh->dh_hlen * 3) / 4) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	/* Find a free hash slot (empty or deleted), and add the entry. */
    +	slot = ulfsdirhash_hash(dh, dirp->d_name, dirp->d_namlen);
    +	while (DH_ENTRY(dh, slot) >= 0)
    +		slot = WRAPINCR(slot, dh->dh_hlen);
    +	if (DH_ENTRY(dh, slot) == DIRHASH_EMPTY)
    +		dh->dh_hused++;
    +	DH_ENTRY(dh, slot) = offset;
    +
    +	/* Update the per-block summary info. */
    +	ulfsdirhash_adjfree(dh, offset, -LFS_DIRSIZ(0, dirp, needswap), dirblksiz);
    +	DIRHASH_UNLOCK(dh);
    +}
    +
    +/*
    + * Remove the specified directory entry from the hash. The entry to remove
    + * is defined by the name in `dirp', which must exist at the specified
    + * `offset' within the directory.
    + */
    +void
    +ulfsdirhash_remove(struct inode *ip, struct lfs_direct *dirp, doff_t offset)
    +{
    +	struct dirhash *dh;
    +	int slot;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	KASSERT(offset < dh->dh_dirblks * dirblksiz);
    +	/* Find the entry */
    +	slot = ulfsdirhash_findslot(dh, dirp->d_name, dirp->d_namlen, offset);
    +
    +	/* Remove the hash entry. */
    +	ulfsdirhash_delslot(dh, slot);
    +
    +	/* Update the per-block summary info. */
    +	ulfsdirhash_adjfree(dh, offset, LFS_DIRSIZ(0, dirp, needswap), dirblksiz);
    +	DIRHASH_UNLOCK(dh);
    +}
    +
    +/*
    + * Change the offset associated with a directory entry in the hash. Used
    + * when compacting directory blocks.
    + */
    +void
    +ulfsdirhash_move(struct inode *ip, struct lfs_direct *dirp, doff_t oldoff,
    +    doff_t newoff)
    +{
    +	struct dirhash *dh;
    +	int slot;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	KASSERT(oldoff < dh->dh_dirblks * ip->i_lfs->um_dirblksiz &&
    +	    newoff < dh->dh_dirblks * ip->i_lfs->um_dirblksiz);
    +	/* Find the entry, and update the offset. */
    +	slot = ulfsdirhash_findslot(dh, dirp->d_name, dirp->d_namlen, oldoff);
    +	DH_ENTRY(dh, slot) = newoff;
    +	DIRHASH_UNLOCK(dh);
    +}
    +
    +/*
    + * Inform dirhash that the directory has grown by one block that
    + * begins at offset (i.e. the new length is offset + DIRBLKSIZ).
    + */
    +void
    +ulfsdirhash_newblk(struct inode *ip, doff_t offset)
    +{
    +	struct dirhash *dh;
    +	int block;
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	KASSERT(offset == dh->dh_dirblks * dirblksiz);
    +	block = offset / dirblksiz;
    +	if (block >= dh->dh_nblk) {
    +		/* Out of space; must rebuild. */
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +	dh->dh_dirblks = block + 1;
    +
    +	/* Account for the new free block. */
    +	dh->dh_blkfree[block] = dirblksiz / DIRALIGN;
    +	if (dh->dh_firstfree[DH_NFSTATS] == -1)
    +		dh->dh_firstfree[DH_NFSTATS] = block;
    +	DIRHASH_UNLOCK(dh);
    +}
    +
    +/*
    + * Inform dirhash that the directory is being truncated.
    + */
    +void
    +ulfsdirhash_dirtrunc(struct inode *ip, doff_t offset)
    +{
    +	struct dirhash *dh;
    +	int block, i;
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	KASSERT(offset <= dh->dh_dirblks * dirblksiz);
    +	block = howmany(offset, dirblksiz);
    +	/*
    +	 * If the directory shrinks to less than 1/8 of dh_nblk blocks
    +	 * (about 20% of its original size due to the 50% extra added in
    +	 * ulfsdirhash_build) then free it, and let the caller rebuild
    +	 * if necessary.
    +	 */
    +	if (block < dh->dh_nblk / 8 && dh->dh_narrays > 1) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	/*
    +	 * Remove any `first free' information pertaining to the
    +	 * truncated blocks. All blocks we're removing should be
    +	 * completely unused.
    +	 */
    +	if (dh->dh_firstfree[DH_NFSTATS] >= block)
    +		dh->dh_firstfree[DH_NFSTATS] = -1;
    +	for (i = block; i < dh->dh_dirblks; i++)
    +		if (dh->dh_blkfree[i] != dirblksiz / DIRALIGN)
    +			panic("ulfsdirhash_dirtrunc: blocks in use");
    +	for (i = 0; i < DH_NFSTATS; i++)
    +		if (dh->dh_firstfree[i] >= block)
    +			panic("ulfsdirhash_dirtrunc: first free corrupt");
    +	dh->dh_dirblks = block;
    +	DIRHASH_UNLOCK(dh);
    +}
    +
    +/*
    + * Debugging function to check that the dirhash information about
    + * a directory block matches its actual contents. Panics if a mismatch
    + * is detected.
    + *
    + * On entry, `sbuf' should point to the start of an in-core
    + * DIRBLKSIZ-sized directory block, and `offset' should contain the
    + * offset from the start of the directory of that block.
    + */
    +void
    +ulfsdirhash_checkblock(struct inode *ip, char *sbuf, doff_t offset)
    +{
    +	struct dirhash *dh;
    +	struct lfs_direct *dp;
    +	int block, ffslot, i, nfree;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +	int dirblksiz = ip->i_lfs->um_dirblksiz;
    +
    +	if (!ulfs_dirhashcheck)
    +		return;
    +	if ((dh = ip->i_dirhash) == NULL)
    +		return;
    +
    +	DIRHASH_LOCK(dh);
    +	if (dh->dh_hash == NULL) {
    +		DIRHASH_UNLOCK(dh);
    +		ulfsdirhash_free(ip);
    +		return;
    +	}
    +
    +	block = offset / dirblksiz;
    +	if ((offset & (dirblksiz - 1)) != 0 || block >= dh->dh_dirblks)
    +		panic("ulfsdirhash_checkblock: bad offset");
    +
    +	nfree = 0;
    +	for (i = 0; i < dirblksiz; i += dp->d_reclen) {
    +		dp = (struct lfs_direct *)(sbuf + i);
    +		if (dp->d_reclen == 0 || i + dp->d_reclen > dirblksiz)
    +			panic("ulfsdirhash_checkblock: bad dir");
    +
    +		if (dp->d_ino == 0) {
    +#if 0
    +			/*
    +			 * XXX entries with d_ino == 0 should only occur
    +			 * at the start of a DIRBLKSIZ block. However the
    +			 * ulfs code is tolerant of such entries at other
    +			 * offsets, and fsck does not fix them.
    +			 */
    +			if (i != 0)
    +				panic("ulfsdirhash_checkblock: bad dir inode");
    +#endif
    +			nfree += dp->d_reclen;
    +			continue;
    +		}
    +
    +		/* Check that the entry	exists (will panic if it doesn't). */
    +		ulfsdirhash_findslot(dh, dp->d_name, dp->d_namlen, offset + i);
    +
    +		nfree += dp->d_reclen - LFS_DIRSIZ(0, dp, needswap);
    +	}
    +	if (i != dirblksiz)
    +		panic("ulfsdirhash_checkblock: bad dir end");
    +
    +	if (dh->dh_blkfree[block] * DIRALIGN != nfree)
    +		panic("ulfsdirhash_checkblock: bad free count");
    +
    +	ffslot = BLKFREE2IDX(nfree / DIRALIGN);
    +	for (i = 0; i <= DH_NFSTATS; i++)
    +		if (dh->dh_firstfree[i] == block && i != ffslot)
    +			panic("ulfsdirhash_checkblock: bad first-free");
    +	if (dh->dh_firstfree[ffslot] == -1)
    +		panic("ulfsdirhash_checkblock: missing first-free entry");
    +	DIRHASH_UNLOCK(dh);
    +}
    +
    +/*
    + * Hash the specified filename into a dirhash slot.
    + */
    +static int
    +ulfsdirhash_hash(struct dirhash *dh, const char *name, int namelen)
    +{
    +	u_int32_t hash;
    +
    +	/*
    +	 * We hash the name and then some other bit of data that is
    +	 * invariant over the dirhash's lifetime. Otherwise names
    +	 * differing only in the last byte are placed close to one
    +	 * another in the table, which is bad for linear probing.
    +	 */
    +	hash = hash32_buf(name, namelen, HASH32_BUF_INIT);
    +	hash = hash32_buf(&dh, sizeof(dh), hash);
    +	return (hash % dh->dh_hlen);
    +}
    +
    +/*
    + * Adjust the number of free bytes in the block containing `offset'
    + * by the value specified by `diff'.
    + *
    + * The caller must ensure we have exclusive access to `dh'; normally
    + * that means that dh_lock should be held, but this is also called
    + * from ulfsdirhash_build() where exclusive access can be assumed.
    + */
    +static void
    +ulfsdirhash_adjfree(struct dirhash *dh, doff_t offset, int diff, int dirblksiz)
    +{
    +	int block, i, nfidx, ofidx;
    +
    +	KASSERT(mutex_owned(&dh->dh_lock));
    +
    +	/* Update the per-block summary info. */
    +	block = offset / dirblksiz;
    +	KASSERT(block < dh->dh_nblk && block < dh->dh_dirblks);
    +	ofidx = BLKFREE2IDX(dh->dh_blkfree[block]);
    +	dh->dh_blkfree[block] = (int)dh->dh_blkfree[block] + (diff / DIRALIGN);
    +	nfidx = BLKFREE2IDX(dh->dh_blkfree[block]);
    +
    +	/* Update the `first free' list if necessary. */
    +	if (ofidx != nfidx) {
    +		/* If removing, scan forward for the next block. */
    +		if (dh->dh_firstfree[ofidx] == block) {
    +			for (i = block + 1; i < dh->dh_dirblks; i++)
    +				if (BLKFREE2IDX(dh->dh_blkfree[i]) == ofidx)
    +					break;
    +			dh->dh_firstfree[ofidx] = (i < dh->dh_dirblks) ? i : -1;
    +		}
    +
    +		/* Make this the new `first free' if necessary */
    +		if (dh->dh_firstfree[nfidx] > block ||
    +		    dh->dh_firstfree[nfidx] == -1)
    +			dh->dh_firstfree[nfidx] = block;
    +	}
    +}
    +
    +/*
    + * Find the specified name which should have the specified offset.
    + * Returns a slot number, and panics on failure.
    + *
    + * `dh' must be locked on entry and remains so on return.
    + */
    +static int
    +ulfsdirhash_findslot(struct dirhash *dh, const char *name, int namelen,
    +    doff_t offset)
    +{
    +	int slot;
    +
    +	KASSERT(mutex_owned(&dh->dh_lock));
    +
    +	/* Find the entry. */
    +	KASSERT(dh->dh_hused < dh->dh_hlen);
    +	slot = ulfsdirhash_hash(dh, name, namelen);
    +	while (DH_ENTRY(dh, slot) != offset &&
    +	    DH_ENTRY(dh, slot) != DIRHASH_EMPTY)
    +		slot = WRAPINCR(slot, dh->dh_hlen);
    +	if (DH_ENTRY(dh, slot) != offset)
    +		panic("ulfsdirhash_findslot: '%.*s' not found", namelen, name);
    +
    +	return (slot);
    +}
    +
    +/*
    + * Remove the entry corresponding to the specified slot from the hash array.
    + *
    + * `dh' must be locked on entry and remains so on return.
    + */
    +static void
    +ulfsdirhash_delslot(struct dirhash *dh, int slot)
    +{
    +	int i;
    +
    +	KASSERT(mutex_owned(&dh->dh_lock));
    +
    +	/* Mark the entry as deleted. */
    +	DH_ENTRY(dh, slot) = DIRHASH_DEL;
    +
    +	/* If this is the end of a chain of DIRHASH_DEL slots, remove them. */
    +	for (i = slot; DH_ENTRY(dh, i) == DIRHASH_DEL; )
    +		i = WRAPINCR(i, dh->dh_hlen);
    +	if (DH_ENTRY(dh, i) == DIRHASH_EMPTY) {
    +		i = WRAPDECR(i, dh->dh_hlen);
    +		while (DH_ENTRY(dh, i) == DIRHASH_DEL) {
    +			DH_ENTRY(dh, i) = DIRHASH_EMPTY;
    +			dh->dh_hused--;
    +			i = WRAPDECR(i, dh->dh_hlen);
    +		}
    +		KASSERT(dh->dh_hused >= 0);
    +	}
    +}
    +
    +/*
    + * Given a directory entry and its offset, find the offset of the
    + * previous entry in the same DIRBLKSIZ-sized block. Returns an
    + * offset, or -1 if there is no previous entry in the block or some
    + * other problem occurred.
    + */
    +static doff_t
    +ulfsdirhash_getprev(struct lfs_direct *dirp, doff_t offset, int dirblksiz)
    +{
    +	struct lfs_direct *dp;
    +	char *blkbuf;
    +	doff_t blkoff, prevoff;
    +	int entrypos, i;
    +
    +	blkoff = offset & ~(dirblksiz - 1);	/* offset of start of block */
    +	entrypos = offset & (dirblksiz - 1);	/* entry relative to block */
    +	blkbuf = (char *)dirp - entrypos;
    +	prevoff = blkoff;
    +
    +	/* If `offset' is the start of a block, there is no previous entry. */
    +	if (entrypos == 0)
    +		return (-1);
    +
    +	/* Scan from the start of the block until we get to the entry. */
    +	for (i = 0; i < entrypos; i += dp->d_reclen) {
    +		dp = (struct lfs_direct *)(blkbuf + i);
    +		if (dp->d_reclen == 0 || i + dp->d_reclen > entrypos)
    +			return (-1);	/* Corrupted directory. */
    +		prevoff = blkoff + i;
    +	}
    +	return (prevoff);
    +}
    +
    +/*
    + * Try to free up `wanted' bytes by stealing memory from existing
    + * dirhashes. Returns zero with list locked if successful.
    + */
    +static int
    +ulfsdirhash_recycle(int wanted)
    +{
    +	struct dirhash *dh;
    +	doff_t **hash;
    +	u_int8_t *blkfree;
    +	int i, mem, narrays;
    +	size_t hashsz, blkfreesz;
    +
    +	DIRHASHLIST_LOCK();
    +	while (wanted + ulfs_dirhashmem > ulfs_dirhashmaxmem) {
    +		/* Find a dirhash, and lock it. */
    +		if ((dh = TAILQ_FIRST(&ulfsdirhash_list)) == NULL) {
    +			DIRHASHLIST_UNLOCK();
    +			return (-1);
    +		}
    +		DIRHASH_LOCK(dh);
    +		KASSERT(dh->dh_hash != NULL);
    +
    +		/* Decrement the score; only recycle if it becomes zero. */
    +		if (--dh->dh_score > 0) {
    +			DIRHASH_UNLOCK(dh);
    +			DIRHASHLIST_UNLOCK();
    +			return (-1);
    +		}
    +
    +		/* Remove it from the list and detach its memory. */
    +		TAILQ_REMOVE(&ulfsdirhash_list, dh, dh_list);
    +		dh->dh_onlist = 0;
    +		hash = dh->dh_hash;
    +		hashsz = dh->dh_hashsz;
    +		dh->dh_hash = NULL;
    +		blkfree = dh->dh_blkfree;
    +		blkfreesz = dh->dh_blkfreesz;
    +		dh->dh_blkfree = NULL;
    +		narrays = dh->dh_narrays;
    +		mem = narrays * sizeof(*dh->dh_hash) +
    +		    narrays * DH_NBLKOFF * sizeof(**dh->dh_hash) +
    +		    dh->dh_nblk * sizeof(*dh->dh_blkfree);
    +
    +		/* Unlock everything, free the detached memory. */
    +		DIRHASH_UNLOCK(dh);
    +		DIRHASHLIST_UNLOCK();
    +
    +		for (i = 0; i < narrays; i++)
    +			DIRHASH_BLKFREE(hash[i]);
    +		kmem_free(hash, hashsz);
    +		kmem_free(blkfree, blkfreesz);
    +
    +		/* Account for the returned memory, and repeat if necessary. */
    +		DIRHASHLIST_LOCK();
    +		atomic_add_int(&ulfs_dirhashmem, -mem);
    +	}
    +	/* Success. */
    +	return (0);
    +}
    +
    +static void
    +ulfsdirhash_sysctl_init(void)
    +{
    +	const struct sysctlnode *rnode, *cnode;
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, NULL, &rnode,
    +		       CTLFLAG_PERMANENT,
    +		       CTLTYPE_NODE, "vfs", NULL,
    +		       NULL, 0, NULL, 0,
    +		       CTL_VFS, CTL_EOL);
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, &rnode, &rnode,
    +		       CTLFLAG_PERMANENT,
    +		       CTLTYPE_NODE, "ulfs",
    +		       SYSCTL_DESCR("ulfs"),
    +		       NULL, 0, NULL, 0,
    +		       CTL_CREATE, CTL_EOL);
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, &rnode, &rnode,
    +		       CTLFLAG_PERMANENT,
    +		       CTLTYPE_NODE, "dirhash",
    +		       SYSCTL_DESCR("dirhash"),
    +		       NULL, 0, NULL, 0,
    +		       CTL_CREATE, CTL_EOL);
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, &rnode, &cnode,
    +		       CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
    +		       CTLTYPE_INT, "minblocks",
    +		       SYSCTL_DESCR("minimum hashed directory size in blocks"),
    +		       NULL, 0, &ulfs_dirhashminblks, 0,
    +		       CTL_CREATE, CTL_EOL);
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, &rnode, &cnode,
    +		       CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
    +		       CTLTYPE_INT, "maxmem",
    +		       SYSCTL_DESCR("maximum dirhash memory usage"),
    +		       NULL, 0, &ulfs_dirhashmaxmem, 0,
    +		       CTL_CREATE, CTL_EOL);
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, &rnode, &cnode,
    +		       CTLFLAG_PERMANENT|CTLFLAG_READONLY,
    +		       CTLTYPE_INT, "memused",
    +		       SYSCTL_DESCR("current dirhash memory usage"),
    +		       NULL, 0, &ulfs_dirhashmem, 0,
    +		       CTL_CREATE, CTL_EOL);
    +
    +	sysctl_createv(&ulfsdirhash_sysctl_log, 0, &rnode, &cnode,
    +		       CTLFLAG_PERMANENT|CTLFLAG_READWRITE,
    +		       CTLTYPE_INT, "docheck",
    +		       SYSCTL_DESCR("enable extra sanity checks"),
    +		       NULL, 0, &ulfs_dirhashcheck, 0,
    +		       CTL_CREATE, CTL_EOL);
    +}
    +
    +void
    +ulfsdirhash_init(void)
    +{
    +
    +	mutex_init(&ulfsdirhash_lock, MUTEX_DEFAULT, IPL_NONE);
    +	ulfsdirhashblk_cache = pool_cache_init(DH_NBLKOFF * sizeof(daddr_t), 0,
    +	    0, 0, "dirhashblk", NULL, IPL_NONE, NULL, NULL, NULL);
    +	ulfsdirhash_cache = pool_cache_init(sizeof(struct dirhash), 0,
    +	    0, 0, "dirhash", NULL, IPL_NONE, NULL, NULL, NULL);
    +	TAILQ_INIT(&ulfsdirhash_list);
    +	ulfsdirhash_sysctl_init();
    +}
    +
    +void
    +ulfsdirhash_done(void)
    +{
    +
    +	KASSERT(TAILQ_EMPTY(&ulfsdirhash_list));
    +	pool_cache_destroy(ulfsdirhashblk_cache);
    +	pool_cache_destroy(ulfsdirhash_cache);
    +	mutex_destroy(&ulfsdirhash_lock);
    +	sysctl_teardown(&ulfsdirhash_sysctl_log);
    +}
    diff --git a/sys/ufs/lfs/ulfs_dirhash.h b/sys/ufs/lfs/ulfs_dirhash.h
    new file mode 100644
    index 000000000..8950a041c
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_dirhash.h
    @@ -0,0 +1,130 @@
    +/*	$NetBSD: ulfs_dirhash.h,v 1.5 2013/06/08 02:14:46 dholland Exp $	*/
    +/*  from NetBSD: dirhash.h,v 1.6 2008/06/04 11:33:19 ad Exp  */
    +
    +/*
    + * Copyright (c) 2001 Ian Dowse.  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: src/sys/ufs/ufs/dirhash.h,v 1.2.2.2 2004/12/08 11:54:13 dwmalone Exp $
    + */
    +
    +#ifndef _UFS_LFS_ULFS_DIRHASH_H_
    +#define _UFS_LFS_ULFS_DIRHASH_H_
    +
    +/*
    + * For fast operations on large directories, we maintain a hash
    + * that maps the file name to the offset of the directory entry within
    + * the directory file.
    + *
    + * The hashing uses a dumb spillover to the next free slot on
    + * collisions, so we must keep the utilisation low to avoid
    + * long linear searches. Deleted entries that are not the last
    + * in a chain must be marked DIRHASH_DEL.
    + *
    + * We also maintain information about free space in each block
    + * to speed up creations.
    + */
    +#define DIRHASH_EMPTY	(-1)	/* entry unused */
    +#define DIRHASH_DEL	(-2)	/* deleted entry; may be part of chain */
    +
    +#define DIRALIGN	4
    +#define DH_NFSTATS	(LFS_DIRECTSIZ(LFS_MAXNAMLEN + 1) / DIRALIGN)
    +				 /* max DIRALIGN words in a directory entry */
    +
    +/*
    + * Dirhash uses a score mechanism to achieve a hybrid between a
    + * least-recently-used and a least-often-used algorithm for entry
    + * recycling. The score is incremented when a directory is used, and
    + * decremented when the directory is a candidate for recycling. When
    + * the score reaches zero, the hash is recycled. Hashes are linked
    + * together on a TAILQ list, and hashes with higher scores filter
    + * towards the tail (most recently used) end of the list.
    + *
    + * New hash entries are given an inital score of DH_SCOREINIT and are
    + * placed at the most-recently-used end of the list. This helps a lot
    + * in the worst-case case scenario where every directory access is
    + * to a directory that is not hashed (i.e. the working set of hash
    + * candidates is much larger than the configured memry limit). In this
    + * case it limits the number of hash builds to 1/DH_SCOREINIT of the
    + * number of accesses.
    + */
    +#define DH_SCOREINIT	8	/* initial dh_score when dirhash built */
    +#define DH_SCOREMAX	64	/* max dh_score value */
    +
    +/*
    + * The main hash table has 2 levels. It is an array of pointers to
    + * blocks of DH_NBLKOFF offsets.
    + */
    +#define DH_BLKOFFSHIFT	8
    +#define DH_NBLKOFF	(1 << DH_BLKOFFSHIFT)
    +#define DH_BLKOFFMASK	(DH_NBLKOFF - 1)
    +
    +#define DH_ENTRY(dh, slot) \
    +    ((dh)->dh_hash[(slot) >> DH_BLKOFFSHIFT][(slot) & DH_BLKOFFMASK])
    +
    +struct dirhash {
    +	kmutex_t dh_lock;	/* protects all fields except dh_list */
    +
    +	doff_t	**dh_hash;	/* the hash array (2-level) */
    +	size_t	dh_hashsz;
    +	int	dh_narrays;	/* number of entries in dh_hash */
    +	int	dh_hlen;	/* total slots in the 2-level hash array */
    +	int	dh_hused;	/* entries in use */
    +
    +	u_int8_t *dh_blkfree;	/* free DIRALIGN words in each dir block */
    +	size_t	dh_blkfreesz;
    +	int	dh_nblk;	/* size of dh_blkfree array */
    +	int	dh_dirblks;	/* number of DIRBLKSIZ blocks in dir */
    +	int	dh_firstfree[DH_NFSTATS + 1]; /* first blk with N words free */
    +
    +	int	dh_seqopt;	/* sequential access optimisation enabled */
    +	doff_t	dh_seqoff;	/* sequential access optimisation offset */
    +
    +	int	dh_score;	/* access count for this dirhash */
    +
    +	int	dh_onlist;	/* true if on the ulfsdirhash_list chain */
    +
    +	/* Protected by ulfsdirhash_lock. */
    +	TAILQ_ENTRY(dirhash) dh_list;	/* chain of all dirhashes */
    +};
    +
    +
    +/*
    + * Dirhash functions.
    + */
    +int	ulfsdirhash_build(struct inode *);
    +doff_t	ulfsdirhash_findfree(struct inode *, int, int *);
    +doff_t	ulfsdirhash_enduseful(struct inode *);
    +int	ulfsdirhash_lookup(struct inode *, const char *, int, doff_t *,
    +	    struct buf **, doff_t *);
    +void	ulfsdirhash_newblk(struct inode *, doff_t);
    +void	ulfsdirhash_add(struct inode *, struct lfs_direct *, doff_t);
    +void	ulfsdirhash_remove(struct inode *, struct lfs_direct *, doff_t);
    +void	ulfsdirhash_move(struct inode *, struct lfs_direct *, doff_t, doff_t);
    +void	ulfsdirhash_dirtrunc(struct inode *, doff_t);
    +void	ulfsdirhash_free(struct inode *);
    +void	ulfsdirhash_checkblock(struct inode *, char *, doff_t);
    +void	ulfsdirhash_init(void);
    +void	ulfsdirhash_done(void);
    +
    +#endif /* !_UFS_LFS_ULFS_DIRHASH_H_ */
    diff --git a/sys/ufs/lfs/ulfs_extattr.c b/sys/ufs/lfs/ulfs_extattr.c
    new file mode 100644
    index 000000000..1b5d3e01e
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_extattr.c
    @@ -0,0 +1,1596 @@
    +/*	$NetBSD: ulfs_extattr.c,v 1.6 2013/06/08 22:23:52 dholland Exp $	*/
    +/*  from NetBSD: ufs_extattr.c,v 1.41 2012/12/08 13:42:36 manu Exp  */
    +
    +/*-
    + * Copyright (c) 1999-2002 Robert N. M. Watson
    + * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
    + * All rights reserved.
    + *
    + * This software was developed by Robert Watson for the TrustedBSD Project.
    + *
    + * This software was developed for the FreeBSD Project in part by Network
    + * Associates Laboratories, the Security Research Division of Network
    + * Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"),
    + * as part of the DARPA CHATS research program.
    + *
    + * 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.
    + *
    + */
    +
    +/*
    + * Support for file system extended attributes on the ULFS1 file system.
    + *
    + * Extended attributes are defined in the form name=value, where name is
    + * a nul-terminated string in the style of a file name, and value is a
    + * binary blob of zero or more bytes.  The ULFS1 extended attribute service
    + * layers support for extended attributes onto a backing file, in the style
    + * of the quota implementation, meaning that it requires no underlying format
    + * changes to the file system.  This design choice exchanges simplicity,
    + * usability, and easy deployment for performance.
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_extattr.c,v 1.6 2013/06/08 22:23:52 dholland Exp $");
    +
    +#ifdef _KERNEL_OPT
    +#include "opt_lfs.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +int ulfs_extattr_sync = 1;
    +int ulfs_extattr_autocreate = 1024;
    +
    +static int	ulfs_extattr_valid_attrname(int attrnamespace,
    +		    const char *attrname);
    +static int	ulfs_extattr_enable_with_open(struct ulfsmount *ump,
    +		    struct vnode *vp, int attrnamespace, const char *attrname,
    +		    struct lwp *l);
    +static int	ulfs_extattr_enable(struct ulfsmount *ump, int attrnamespace,
    +		    const char *attrname, struct vnode *backing_vnode,
    +		    struct lwp *l);
    +static int	ulfs_extattr_disable(struct ulfsmount *ump, int attrnamespace,
    +		    const char *attrname, struct lwp *l);
    +static int	ulfs_extattr_get(struct vnode *vp, int attrnamespace,
    +		    const char *name, struct uio *uio, size_t *size,
    +		    kauth_cred_t cred, struct lwp *l);
    +static int	ulfs_extattr_list(struct vnode *vp, int attrnamespace,
    +		    struct uio *uio, size_t *size, int flag,
    +		    kauth_cred_t cred, struct lwp *l);
    +static int	ulfs_extattr_set(struct vnode *vp, int attrnamespace,
    +		    const char *name, struct uio *uio, kauth_cred_t cred,
    +		    struct lwp *l);
    +static int	ulfs_extattr_rm(struct vnode *vp, int attrnamespace,
    +		    const char *name, kauth_cred_t cred, struct lwp *l);
    +static struct ulfs_extattr_list_entry *ulfs_extattr_find_attr(struct ulfsmount *,
    +		    int, const char *);
    +static int	ulfs_extattr_get_header(struct vnode *, 
    +		    struct ulfs_extattr_list_entry *, 
    +		    struct ulfs_extattr_header *, off_t *);
    +
    +/*
    + * Convert a FreeBSD extended attribute and namespace to a consistent string
    + * representation.
    + *
    + * The returned value, if not NULL, is guaranteed to be an allocated object
    + * of its size as returned by strlen() + 1 and must be freed by the caller.
    + */
    +static char *
    +from_freebsd_extattr(int attrnamespace, const char *attrname)
    +{
    +	const char *namespace;
    +	char *attr;
    +	size_t len;
    +
    +	if (attrnamespace == EXTATTR_NAMESPACE_SYSTEM)
    +		namespace = "system";
    +	else if (attrnamespace == EXTATTR_NAMESPACE_USER)
    +		namespace = "user";
    +	else
    +		return NULL;
    +
    +	/* .\0 */
    +	len = strlen(namespace) + 1 + strlen(attrname) + 1;
    +
    +	attr = kmem_alloc(len, KM_SLEEP);
    +
    +	snprintf(attr, len, "%s.%s", namespace, attrname);
    +
    +	return attr;
    +}
    +
    +/*
    + * Internal wrapper around a conversion-check-free sequence.
    + */
    +static int
    +internal_extattr_check_cred(vnode_t *vp, int attrnamespace, const char *name,
    +    kauth_cred_t cred, int access_mode)
    +{
    +	char *attr;
    +	int error;
    +
    +	attr = from_freebsd_extattr(attrnamespace, name);
    +	if (attr == NULL)
    +		return EINVAL;
    +
    +	error = extattr_check_cred(vp, attr, cred, access_mode);
    +
    +	kmem_free(attr, strlen(attr) + 1);
    +
    +	return error;
    +}
    +
    +/*
    + * Per-FS attribute lock protecting attribute operations.
    + * XXX Right now there is a lot of lock contention due to having a single
    + * lock per-FS; really, this should be far more fine-grained.
    + */
    +static void
    +ulfs_extattr_uepm_lock(struct ulfsmount *ump)
    +{
    +
    +	/* XXX Why does this need to be recursive? */
    +	if (mutex_owned(&ump->um_extattr.uepm_lock)) {
    +		ump->um_extattr.uepm_lockcnt++;
    +		return;
    +	}
    +	mutex_enter(&ump->um_extattr.uepm_lock);
    +}
    +
    +static void
    +ulfs_extattr_uepm_unlock(struct ulfsmount *ump)
    +{
    +
    +	if (ump->um_extattr.uepm_lockcnt != 0) {
    +		KASSERT(mutex_owned(&ump->um_extattr.uepm_lock));
    +		ump->um_extattr.uepm_lockcnt--;
    +		return;
    +	}
    +	mutex_exit(&ump->um_extattr.uepm_lock);
    +}
    +
    +/*-
    + * Determine whether the name passed is a valid name for an actual
    + * attribute.
    + *
    + * Invalid currently consists of:
    + *	 NULL pointer for attrname
    + *	 zero-length attrname (used to retrieve application attribute list)
    + */
    +static int
    +ulfs_extattr_valid_attrname(int attrnamespace, const char *attrname)
    +{
    +
    +	if (attrname == NULL)
    +		return (0);
    +	if (strlen(attrname) == 0)
    +		return (0);
    +	return (1);
    +}
    +
    +/*
    + * Autocreate an attribute storage
    + */
    +static struct ulfs_extattr_list_entry *
    +ulfs_extattr_autocreate_attr(struct vnode *vp, int attrnamespace,
    +    const char *attrname, struct lwp *l)
    +{
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct vnode *backing_vp;
    +	struct nameidata nd;
    +	struct pathbuf *pb;
    +	char *path;
    +	struct ulfs_extattr_fileheader uef;
    +	struct ulfs_extattr_list_entry *uele;
    +	int error;
    +
    +	path = PNBUF_GET();
    +
    +	/* 
    +	 * We only support system and user namespace autocreation
    +	 */ 
    +	switch (attrnamespace) {
    +	case EXTATTR_NAMESPACE_SYSTEM:
    +		(void)snprintf(path, PATH_MAX, "%s/%s/%s/%s", 
    +			       mp->mnt_stat.f_mntonname,
    +			       ULFS_EXTATTR_FSROOTSUBDIR,
    +			       ULFS_EXTATTR_SUBDIR_SYSTEM,
    +			       attrname);
    +		break;
    +	case EXTATTR_NAMESPACE_USER:
    +		(void)snprintf(path, PATH_MAX, "%s/%s/%s/%s", 
    +			       mp->mnt_stat.f_mntonname,
    +			       ULFS_EXTATTR_FSROOTSUBDIR,
    +			       ULFS_EXTATTR_SUBDIR_USER,
    +			       attrname);
    +		break;
    +	default:
    +		PNBUF_PUT(path);
    +		return NULL;
    +		break;
    +	}
    +
    +	/*
    +	 * XXX unlock/lock should only be done when setting extattr
    +	 * on backing store or one of its parent directory 
    +	 * including root, but we always do it for now.
    +	 */ 
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	VOP_UNLOCK(vp);
    +
    +	pb = pathbuf_create(path);
    +	NDINIT(&nd, CREATE, LOCKPARENT, pb);
    +	
    +	error = vn_open(&nd, O_CREAT|O_RDWR, 0600);
    +
    +	/*
    +	 * Reacquire the lock on the vnode
    +	 */
    +	KASSERT(VOP_ISLOCKED(vp) == 0);
    +	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +
    +	if (error != 0) {
    +		pathbuf_destroy(pb);
    +		PNBUF_PUT(path);
    +		return NULL;
    +	}
    +
    +	KASSERT(nd.ni_vp != NULL);
    +	KASSERT(VOP_ISLOCKED(nd.ni_vp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(nd.ni_dvp) == 0);
    +
    +	/*
    + 	 * backing_vp is the backing store. 
    +	 */	
    +	backing_vp = nd.ni_vp;
    +	pathbuf_destroy(pb);
    +	PNBUF_PUT(path);
    +
    +	uef.uef_magic = ULFS_EXTATTR_MAGIC;
    +	uef.uef_version = ULFS_EXTATTR_VERSION;
    +	uef.uef_size = ulfs_extattr_autocreate;
    +
    +	error = vn_rdwr(UIO_WRITE, backing_vp, &uef, sizeof(uef), 0,
    +		        UIO_SYSSPACE, IO_NODELOCKED|IO_APPEND, 
    +			l->l_cred, NULL, l);
    +
    +	VOP_UNLOCK(backing_vp);
    +
    +	if (error != 0) {
    +		printf("%s: write uef header failed for %s, error = %d\n", 
    +		       __func__, attrname, error);
    +		vn_close(backing_vp, FREAD|FWRITE, l->l_cred);
    +		return NULL;
    +	}
    +
    +	/*
    +	 * Now enable attribute. 
    +	 */
    +	error = ulfs_extattr_enable(ump,attrnamespace, attrname, backing_vp, l);
    +	KASSERT(VOP_ISLOCKED(backing_vp) == 0);
    +
    +	if (error != 0) {
    +		printf("%s: enable %s failed, error %d\n", 
    +		       __func__, attrname, error);
    +		vn_close(backing_vp, FREAD|FWRITE, l->l_cred);
    +		return NULL;
    +	}
    +
    +	uele = ulfs_extattr_find_attr(ump, attrnamespace, attrname);
    +	if (uele == NULL) {
    +		printf("%s: atttribute %s created but not found!\n",
    +		       __func__, attrname);
    +		vn_close(backing_vp, FREAD|FWRITE, l->l_cred);
    +		return NULL;
    +	}
    +
    +	printf("%s: EA backing store autocreated for %s\n",
    +	       mp->mnt_stat.f_mntonname, attrname);
    +
    +	return uele;
    +}
    +
    +/*
    + * Locate an attribute given a name and mountpoint.
    + * Must be holding uepm lock for the mount point.
    + */
    +static struct ulfs_extattr_list_entry *
    +ulfs_extattr_find_attr(struct ulfsmount *ump, int attrnamespace,
    +    const char *attrname)
    +{
    +	struct ulfs_extattr_list_entry *search_attribute;
    +
    +	for (search_attribute = LIST_FIRST(&ump->um_extattr.uepm_list);
    +	    search_attribute != NULL;
    +	    search_attribute = LIST_NEXT(search_attribute, uele_entries)) {
    +		if (!(strncmp(attrname, search_attribute->uele_attrname,
    +		    ULFS_EXTATTR_MAXEXTATTRNAME)) &&
    +		    (attrnamespace == search_attribute->uele_attrnamespace)) {
    +			return (search_attribute);
    +		}
    +	}
    +
    +	return (0);
    +}
    +
    +/*
    + * Initialize per-FS structures supporting extended attributes.  Do not
    + * start extended attributes yet.
    + */
    +void
    +ulfs_extattr_uepm_init(struct ulfs_extattr_per_mount *uepm)
    +{
    +
    +	uepm->uepm_flags = 0;
    +	uepm->uepm_lockcnt = 0;
    +
    +	LIST_INIT(&uepm->uepm_list);
    +	mutex_init(&uepm->uepm_lock, MUTEX_DEFAULT, IPL_NONE);
    +	uepm->uepm_flags |= ULFS_EXTATTR_UEPM_INITIALIZED;
    +}
    +
    +/*
    + * Destroy per-FS structures supporting extended attributes.  Assumes
    + * that EAs have already been stopped, and will panic if not.
    + */
    +void
    +ulfs_extattr_uepm_destroy(struct ulfs_extattr_per_mount *uepm)
    +{
    +
    +	if (!(uepm->uepm_flags & ULFS_EXTATTR_UEPM_INITIALIZED))
    +		panic("ulfs_extattr_uepm_destroy: not initialized");
    +
    +	if ((uepm->uepm_flags & ULFS_EXTATTR_UEPM_STARTED))
    +		panic("ulfs_extattr_uepm_destroy: called while still started");
    +
    +	/*
    +	 * It's not clear that either order for the next two lines is
    +	 * ideal, and it should never be a problem if this is only called
    +	 * during unmount, and with vfs_busy().
    +	 */
    +	uepm->uepm_flags &= ~ULFS_EXTATTR_UEPM_INITIALIZED;
    +	mutex_destroy(&uepm->uepm_lock);
    +}
    +
    +/*
    + * Start extended attribute support on an FS.
    + */
    +int
    +ulfs_extattr_start(struct mount *mp, struct lwp *l)
    +{
    +	struct ulfsmount *ump;
    +	int error = 0;
    +
    +	ump = VFSTOULFS(mp);
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_INITIALIZED)) {
    +		error = EOPNOTSUPP;
    +		goto unlock;
    +	}
    +	if (ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED) {
    +		error = EBUSY;
    +		goto unlock;
    +	}
    +
    +	ump->um_extattr.uepm_flags |= ULFS_EXTATTR_UEPM_STARTED;
    +
    +	ump->um_extattr.uepm_ucred = l->l_cred;
    +	kauth_cred_hold(ump->um_extattr.uepm_ucred);
    +
    + unlock:
    +	ulfs_extattr_uepm_unlock(ump);
    +
    +	return (error);
    +}
    +
    +/*
    + * Helper routine: given a locked parent directory and filename, return
    + * the locked vnode of the inode associated with the name.  Will not
    + * follow symlinks, may return any type of vnode.  Lock on parent will
    + * be released even in the event of a failure.  In the event that the
    + * target is the parent (i.e., "."), there will be two references and
    + * one lock, requiring the caller to possibly special-case.
    + */
    +static int
    +ulfs_extattr_lookup(struct vnode *start_dvp, int lockparent, const char *dirname,
    +    struct vnode **vp, struct lwp *l)
    +{
    +	struct vop_lookup_args vargs;
    +	struct componentname cnp;
    +	struct vnode *target_vp;
    +	char *pnbuf;
    +	int error;
    +
    +	KASSERT(VOP_ISLOCKED(start_dvp) == LK_EXCLUSIVE);
    +
    +	pnbuf = PNBUF_GET();
    +
    +	memset(&cnp, 0, sizeof(cnp));
    +	cnp.cn_nameiop = LOOKUP;
    +	cnp.cn_flags = ISLASTCN | lockparent;
    +	cnp.cn_cred = l->l_cred;
    +	cnp.cn_nameptr = pnbuf;
    +	error = copystr(dirname, pnbuf, MAXPATHLEN, &cnp.cn_namelen);
    +	if (error) {
    +		if (lockparent == 0) {
    +			VOP_UNLOCK(start_dvp);
    +		}
    +		PNBUF_PUT(pnbuf);
    +		printf("ulfs_extattr_lookup: copystr failed\n");
    +		return (error);
    +	}
    +	cnp.cn_namelen--;	/* trim nul termination */
    +	vargs.a_desc = NULL;
    +	vargs.a_dvp = start_dvp;
    +	vargs.a_vpp = &target_vp;
    +	vargs.a_cnp = &cnp;
    +	error = ulfs_lookup(&vargs);
    +	PNBUF_PUT(pnbuf);
    +	if (error) {
    +		if (lockparent == 0) {
    +			VOP_UNLOCK(start_dvp);
    +		}
    +		return (error);
    +	}
    +#if 0
    +	if (target_vp == start_dvp)
    +		panic("ulfs_extattr_lookup: target_vp == start_dvp");
    +#endif
    +
    +	if ((target_vp != start_dvp) && (lockparent == 0))
    +		 VOP_UNLOCK(start_dvp);
    +
    +	KASSERT(VOP_ISLOCKED(target_vp) == LK_EXCLUSIVE);
    +	*vp = target_vp;
    +	return (0);
    +}
    +
    +/*
    + * Enable an EA using the passed filesystem, backing vnode, attribute name,
    + * namespace, and proc.  Will perform a VOP_OPEN() on the vp, so expects vp
    + * to be locked when passed in.  The vnode will be returned unlocked,
    + * regardless of success/failure of the function.  As a result, the caller
    + * will always need to vrele(), but not vput().
    + */
    +static int
    +ulfs_extattr_enable_with_open(struct ulfsmount *ump, struct vnode *vp,
    +    int attrnamespace, const char *attrname, struct lwp *l)
    +{
    +	int error;
    +
    +	error = VOP_OPEN(vp, FREAD|FWRITE, l->l_cred);
    +	if (error) {
    +		printf("ulfs_extattr_enable_with_open.VOP_OPEN(): failed "
    +		    "with %d\n", error);
    +		VOP_UNLOCK(vp);
    +		return (error);
    +	}
    +
    +	mutex_enter(vp->v_interlock);
    +	vp->v_writecount++;
    +	mutex_exit(vp->v_interlock);
    +
    +	vref(vp);
    +
    +	VOP_UNLOCK(vp);
    +
    +	error = ulfs_extattr_enable(ump, attrnamespace, attrname, vp, l);
    +	if (error != 0)
    +		vn_close(vp, FREAD|FWRITE, l->l_cred);
    +	return (error);
    +}
    +
    +/*
    + * Given a locked directory vnode, iterate over the names in the directory
    + * and use ulfs_extattr_lookup() to retrieve locked vnodes of potential
    + * attribute files.  Then invoke ulfs_extattr_enable_with_open() on each
    + * to attempt to start the attribute.  Leaves the directory locked on
    + * exit.
    + */
    +static int
    +ulfs_extattr_iterate_directory(struct ulfsmount *ump, struct vnode *dvp,
    +    int attrnamespace, struct lwp *l)
    +{
    +	struct vop_readdir_args vargs;
    +	struct statvfs *sbp = &ump->um_mountp->mnt_stat;
    +	struct dirent *dp, *edp;
    +	struct vnode *attr_vp;
    +	struct uio auio;
    +	struct iovec aiov;
    +	char *dirbuf;
    +	int error, eofflag = 0;
    +
    +	if (dvp->v_type != VDIR)
    +		return (ENOTDIR);
    +
    +	dirbuf = kmem_alloc(LFS_DIRBLKSIZ, KM_SLEEP);
    +
    +	auio.uio_iov = &aiov;
    +	auio.uio_iovcnt = 1;
    +	auio.uio_rw = UIO_READ;
    +	auio.uio_offset = 0;
    +	UIO_SETUP_SYSSPACE(&auio);
    +
    +	vargs.a_desc = NULL;
    +	vargs.a_vp = dvp;
    +	vargs.a_uio = &auio;
    +	vargs.a_cred = l->l_cred;
    +	vargs.a_eofflag = &eofflag;
    +	vargs.a_ncookies = NULL;
    +	vargs.a_cookies = NULL;
    +
    +	while (!eofflag) {
    +		auio.uio_resid = LFS_DIRBLKSIZ;
    +		aiov.iov_base = dirbuf;
    +		aiov.iov_len = LFS_DIRBLKSIZ;
    +		error = ulfs_readdir(&vargs);
    +		if (error) {
    +			printf("ulfs_extattr_iterate_directory: ulfs_readdir "
    +			    "%d\n", error);
    +			return (error);
    +		}
    +
    +		/*
    +		 * XXXRW: While in LFS, we always get LFS_DIRBLKSIZ returns from
    +		 * the directory code on success, on other file systems this
    +		 * may not be the case.  For portability, we should check the
    +		 * read length on return from ulfs_readdir().
    +		 */
    +		edp = (struct dirent *)&dirbuf[LFS_DIRBLKSIZ];
    +		for (dp = (struct dirent *)dirbuf; dp < edp; ) {
    +			if (dp->d_reclen == 0)
    +				break;
    +			/* Skip "." and ".." */
    +			if (dp->d_name[0] == '.' &&
    +			    (dp->d_name[1] == '\0' ||
    +			     (dp->d_name[1] == '.' && dp->d_name[2] == '\0')))
    +				goto next;
    +			error = ulfs_extattr_lookup(dvp, LOCKPARENT,
    +			    dp->d_name, &attr_vp, l);
    +			if (error == ENOENT) {
    +				goto next; /* keep silent */
    +			} else if (error) {
    +				printf("ulfs_extattr_iterate_directory: lookup "
    +				    "%s %d\n", dp->d_name, error);
    +			} else if (attr_vp == dvp) {
    +				vrele(attr_vp);
    +			} else if (attr_vp->v_type != VREG) {
    +				vput(attr_vp);
    +			} else {
    +				error = ulfs_extattr_enable_with_open(ump,
    +				    attr_vp, attrnamespace, dp->d_name, l);
    +				vrele(attr_vp);
    +				if (error) {
    +					printf("ulfs_extattr_iterate_directory: "
    +					    "enable %s %d\n", dp->d_name,
    +					    error);
    +				} else if (bootverbose) {
    +					printf("%s: EA %s loaded\n",
    +					       sbp->f_mntonname, dp->d_name);
    +				}
    +			}
    + next:
    +			dp = (struct dirent *) ((char *)dp + dp->d_reclen);
    +			if (dp >= edp)
    +				break;
    +		}
    +	}
    +	kmem_free(dirbuf, LFS_DIRBLKSIZ);
    +	
    +	return (0);
    +}
    +
    +/*
    + * Auto-start of extended attributes, to be executed (optionally) at
    + * mount-time.
    + */
    +int
    +ulfs_extattr_autostart(struct mount *mp, struct lwp *l)
    +{
    +	struct vnode *rvp, *attr_dvp, *attr_system_dvp, *attr_user_dvp;
    +	int error;
    +
    +	/*
    +	 * Does ULFS_EXTATTR_FSROOTSUBDIR exist off the filesystem root?
    +	 * If so, automatically start EA's.
    +	 */
    +	error = VFS_ROOT(mp, &rvp);
    +	if (error) {
    +		printf("ulfs_extattr_autostart.VFS_ROOT() returned %d\n",
    +		    error);
    +		return (error);
    +	}
    +
    +	KASSERT(VOP_ISLOCKED(rvp) == LK_EXCLUSIVE);
    +
    +	error = ulfs_extattr_lookup(rvp, 0,
    +	    ULFS_EXTATTR_FSROOTSUBDIR, &attr_dvp, l);
    +	if (error) {
    +		/* rvp ref'd but now unlocked */
    +		KASSERT(VOP_ISLOCKED(rvp) == 0);
    +		vrele(rvp);
    +		return (error);
    +	}
    +	if (rvp == attr_dvp) {
    +		/* Should never happen. */
    +		KASSERT(VOP_ISLOCKED(rvp) == LK_EXCLUSIVE);
    +		vrele(attr_dvp);
    +		vput(rvp);
    +		return (EINVAL);
    +	}
    +	KASSERT(VOP_ISLOCKED(rvp) == 0);
    +	vrele(rvp);
    +
    +	KASSERT(VOP_ISLOCKED(attr_dvp) == LK_EXCLUSIVE);
    +
    +	if (attr_dvp->v_type != VDIR) {
    +		printf("ulfs_extattr_autostart: %s != VDIR\n",
    +		    ULFS_EXTATTR_FSROOTSUBDIR);
    +		goto return_vput_attr_dvp;
    +	}
    +
    +	error = ulfs_extattr_start(mp, l);
    +	if (error) {
    +		printf("ulfs_extattr_autostart: ulfs_extattr_start failed (%d)\n",
    +		    error);
    +		goto return_vput_attr_dvp;
    +	}
    +
    +	/*
    +	 * Look for two subdirectories: ULFS_EXTATTR_SUBDIR_SYSTEM,
    +	 * ULFS_EXTATTR_SUBDIR_USER.  For each, iterate over the sub-directory,
    +	 * and start with appropriate type.  Failures in either don't
    +	 * result in an over-all failure.  attr_dvp is left locked to
    +	 * be cleaned up on exit.
    +	 */
    +	error = ulfs_extattr_lookup(attr_dvp, LOCKPARENT,
    +	    ULFS_EXTATTR_SUBDIR_SYSTEM, &attr_system_dvp, l);
    +	KASSERT(VOP_ISLOCKED(attr_dvp) == LK_EXCLUSIVE);
    +	if (error == 0) {
    +		KASSERT(VOP_ISLOCKED(attr_system_dvp) == LK_EXCLUSIVE);
    +		error = ulfs_extattr_iterate_directory(VFSTOULFS(mp),
    +		    attr_system_dvp, EXTATTR_NAMESPACE_SYSTEM, l);
    +		if (error)
    +			printf("ulfs_extattr_iterate_directory returned %d\n",
    +			    error);
    +		KASSERT(VOP_ISLOCKED(attr_system_dvp) == LK_EXCLUSIVE);
    +		vput(attr_system_dvp);
    +	}
    +
    +	error = ulfs_extattr_lookup(attr_dvp, LOCKPARENT,
    +	    ULFS_EXTATTR_SUBDIR_USER, &attr_user_dvp, l);
    +	KASSERT(VOP_ISLOCKED(attr_dvp) == LK_EXCLUSIVE);
    +	if (error == 0) {
    +		KASSERT(VOP_ISLOCKED(attr_user_dvp) == LK_EXCLUSIVE);
    +		error = ulfs_extattr_iterate_directory(VFSTOULFS(mp),
    +		    attr_user_dvp, EXTATTR_NAMESPACE_USER, l);
    +		if (error)
    +			printf("ulfs_extattr_iterate_directory returned %d\n",
    +			    error);
    +		KASSERT(VOP_ISLOCKED(attr_user_dvp) == LK_EXCLUSIVE);
    +		vput(attr_user_dvp);
    +	}
    +
    +	/* Mask startup failures in sub-directories. */
    +	error = 0;
    +
    + return_vput_attr_dvp:
    +	KASSERT(VOP_ISLOCKED(attr_dvp) == LK_EXCLUSIVE);
    +	vput(attr_dvp);
    +
    +	return (error);
    +}
    +
    +/*
    + * Stop extended attribute support on an FS.
    + */
    +void
    +ulfs_extattr_stop(struct mount *mp, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *uele;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	/*
    +	 * If we haven't been started, no big deal.  Just short-circuit
    +	 * the processing work.
    +	 */
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED)) {
    +		goto unlock;
    +	}
    +
    +	while (LIST_FIRST(&ump->um_extattr.uepm_list) != NULL) {
    +		uele = LIST_FIRST(&ump->um_extattr.uepm_list);
    +		ulfs_extattr_disable(ump, uele->uele_attrnamespace,
    +		    uele->uele_attrname, l);
    +	}
    +
    +	ump->um_extattr.uepm_flags &= ~ULFS_EXTATTR_UEPM_STARTED;
    +
    +	kauth_cred_free(ump->um_extattr.uepm_ucred);
    +	ump->um_extattr.uepm_ucred = NULL;
    +
    + unlock:
    +	ulfs_extattr_uepm_unlock(ump);
    +}
    +
    +/*
    + * Enable a named attribute on the specified filesystem; provide an
    + * unlocked backing vnode to hold the attribute data.
    + */
    +static int
    +ulfs_extattr_enable(struct ulfsmount *ump, int attrnamespace,
    +    const char *attrname, struct vnode *backing_vnode, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *attribute;
    +	struct iovec aiov;
    +	struct uio auio;
    +	int error = 0;
    +
    +	if (!ulfs_extattr_valid_attrname(attrnamespace, attrname))
    +		return (EINVAL);
    +	if (backing_vnode->v_type != VREG)
    +		return (EINVAL);
    +
    +	attribute = kmem_zalloc(sizeof(*attribute), KM_SLEEP);
    +
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED)) {
    +		error = EOPNOTSUPP;
    +		goto free_exit;
    +	}
    +
    +	if (ulfs_extattr_find_attr(ump, attrnamespace, attrname)) {
    +		error = EEXIST;
    +		goto free_exit;
    +	}
    +
    +	strncpy(attribute->uele_attrname, attrname,
    +	    ULFS_EXTATTR_MAXEXTATTRNAME);
    +	attribute->uele_attrnamespace = attrnamespace;
    +	memset(&attribute->uele_fileheader, 0,
    +	    sizeof(struct ulfs_extattr_fileheader));
    +	
    +	attribute->uele_backing_vnode = backing_vnode;
    +
    +	auio.uio_iov = &aiov;
    +	auio.uio_iovcnt = 1;
    +	aiov.iov_base = (void *) &attribute->uele_fileheader;
    +	aiov.iov_len = sizeof(struct ulfs_extattr_fileheader);
    +	auio.uio_resid = sizeof(struct ulfs_extattr_fileheader);
    +	auio.uio_offset = (off_t) 0;
    +	auio.uio_rw = UIO_READ;
    +	UIO_SETUP_SYSSPACE(&auio);
    +
    +	vn_lock(backing_vnode, LK_SHARED | LK_RETRY);
    +	error = VOP_READ(backing_vnode, &auio, IO_NODELOCKED,
    +	    ump->um_extattr.uepm_ucred);
    +
    +	if (error)
    +		goto unlock_free_exit;
    +
    +	if (auio.uio_resid != 0) {
    +		printf("ulfs_extattr_enable: malformed attribute header\n");
    +		error = EINVAL;
    +		goto unlock_free_exit;
    +	}
    +
    +	/*
    +	 * Try to determine the byte order of the attribute file.
    +	 */
    +	if (attribute->uele_fileheader.uef_magic != ULFS_EXTATTR_MAGIC) {
    +		attribute->uele_flags |= UELE_F_NEEDSWAP;
    +		attribute->uele_fileheader.uef_magic =
    +		    ulfs_rw32(attribute->uele_fileheader.uef_magic,
    +			     UELE_NEEDSWAP(attribute));
    +		if (attribute->uele_fileheader.uef_magic != ULFS_EXTATTR_MAGIC) {
    +			printf("ulfs_extattr_enable: invalid attribute header "
    +			       "magic\n");
    +			error = EINVAL;
    +			goto unlock_free_exit;
    +		}
    +	}
    +	attribute->uele_fileheader.uef_version =
    +	    ulfs_rw32(attribute->uele_fileheader.uef_version,
    +		     UELE_NEEDSWAP(attribute));
    +	attribute->uele_fileheader.uef_size =
    +	    ulfs_rw32(attribute->uele_fileheader.uef_size,
    +		     UELE_NEEDSWAP(attribute));
    +
    +	if (attribute->uele_fileheader.uef_version != ULFS_EXTATTR_VERSION) {
    +		printf("ulfs_extattr_enable: incorrect attribute header "
    +		    "version\n");
    +		error = EINVAL;
    +		goto unlock_free_exit;
    +	}
    +
    +	LIST_INSERT_HEAD(&ump->um_extattr.uepm_list, attribute,
    +	    uele_entries);
    +
    +	VOP_UNLOCK(backing_vnode);
    +	return (0);
    +
    + unlock_free_exit:
    +	VOP_UNLOCK(backing_vnode);
    +
    + free_exit:
    +	kmem_free(attribute, sizeof(*attribute));
    +	return (error);
    +}
    +
    +/*
    + * Disable extended attribute support on an FS.
    + */
    +static int
    +ulfs_extattr_disable(struct ulfsmount *ump, int attrnamespace,
    +    const char *attrname, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *uele;
    +	int error = 0;
    +
    +	if (!ulfs_extattr_valid_attrname(attrnamespace, attrname))
    +		return (EINVAL);
    +
    +	uele = ulfs_extattr_find_attr(ump, attrnamespace, attrname);
    +	if (!uele)
    +		return (ENODATA);
    +
    +	LIST_REMOVE(uele, uele_entries);
    +
    +	error = vn_close(uele->uele_backing_vnode, FREAD|FWRITE,
    +	    l->l_cred);
    +
    +	kmem_free(uele, sizeof(*uele));
    +
    +	return (error);
    +}
    +
    +/*
    + * VFS call to manage extended attributes in ULFS.  If filename_vp is
    + * non-NULL, it must be passed in locked, and regardless of errors in
    + * processing, will be unlocked.
    + */
    +int
    +ulfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp,
    +    int attrnamespace, const char *attrname)
    +{
    +	struct lwp *l = curlwp;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	int error;
    +
    +	/*
    +	 * Only privileged processes can configure extended attributes.
    +	 */
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_EXTATTR,
    +	    0, mp, NULL, NULL);
    +	if (error) {
    +		if (filename_vp != NULL)
    +			VOP_UNLOCK(filename_vp);
    +		return (error);
    +	}
    +
    +	switch(cmd) {
    +	case ULFS_EXTATTR_CMD_START:
    +		if (filename_vp != NULL) {
    +			VOP_UNLOCK(filename_vp);
    +			return (EINVAL);
    +		}
    +		if (attrname != NULL)
    +			return (EINVAL);
    +
    +		error = ulfs_extattr_autostart(mp, l);
    +		return (error);
    +		
    +	case ULFS_EXTATTR_CMD_STOP:
    +		if (filename_vp != NULL) {
    +			VOP_UNLOCK(filename_vp);
    +			return (EINVAL);
    +		}
    +		if (attrname != NULL)
    +			return (EINVAL);
    +
    +		ulfs_extattr_stop(mp, l);
    +		return (0);
    +
    +	case ULFS_EXTATTR_CMD_ENABLE:
    +		if (filename_vp == NULL)
    +			return (EINVAL);
    +		if (attrname == NULL) {
    +			VOP_UNLOCK(filename_vp);
    +			return (EINVAL);
    +		}
    +
    +		/*
    +		 * ulfs_extattr_enable_with_open() will always unlock the
    +		 * vnode, regardless of failure.
    +		 */
    +		ulfs_extattr_uepm_lock(ump);
    +		error = ulfs_extattr_enable_with_open(ump, filename_vp,
    +		    attrnamespace, attrname, l);
    +		ulfs_extattr_uepm_unlock(ump);
    +		return (error);
    +
    +	case ULFS_EXTATTR_CMD_DISABLE:
    +		if (filename_vp != NULL) {
    +			VOP_UNLOCK(filename_vp);
    +			return (EINVAL);
    +		}
    +		if (attrname == NULL)
    +			return (EINVAL);
    +
    +		ulfs_extattr_uepm_lock(ump);
    +		error = ulfs_extattr_disable(ump, attrnamespace, attrname, l);
    +		ulfs_extattr_uepm_unlock(ump);
    +		return (error);
    +
    +	default:
    +		return (EINVAL);
    +	}
    +}
    +
    +/*
    + * Read extended attribute header for a given vnode and attribute.
    + * Backing vnode should be locked and unlocked by caller.
    + */
    +static int
    +ulfs_extattr_get_header(struct vnode *vp, struct ulfs_extattr_list_entry *uele,
    +    struct ulfs_extattr_header *ueh, off_t *bap)
    +{
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct inode *ip = VTOI(vp);
    +	off_t base_offset;
    +	struct iovec aiov;
    +	struct uio aio;
    +	int error;
    +
    +	/*
    +	 * Find base offset of header in file based on file header size, and
    +	 * data header size + maximum data size, indexed by inode number.
    +	 */
    +	base_offset = sizeof(struct ulfs_extattr_fileheader) +
    +	    ip->i_number * (sizeof(struct ulfs_extattr_header) +
    +	    uele->uele_fileheader.uef_size);
    +
    +	/*
    +	 * Read in the data header to see if the data is defined, and if so
    +	 * how much.
    +	 */
    +	memset(ueh, 0, sizeof(struct ulfs_extattr_header));
    +	aiov.iov_base = ueh;
    +	aiov.iov_len = sizeof(struct ulfs_extattr_header);
    +	aio.uio_iov = &aiov;
    +	aio.uio_iovcnt = 1;
    +	aio.uio_rw = UIO_READ;
    +	aio.uio_offset = base_offset;
    +	aio.uio_resid = sizeof(struct ulfs_extattr_header);
    +	UIO_SETUP_SYSSPACE(&aio);
    +
    +	error = VOP_READ(uele->uele_backing_vnode, &aio,
    +	    IO_NODELOCKED, ump->um_extattr.uepm_ucred);
    +	if (error)
    +		return error;
    +
    +	/*
    +	 * Attribute headers are kept in file system byte order.
    +	 * XXX What about the blob of data?
    +	 */
    +	ueh->ueh_flags = ulfs_rw32(ueh->ueh_flags, UELE_NEEDSWAP(uele));
    +	ueh->ueh_len   = ulfs_rw32(ueh->ueh_len, UELE_NEEDSWAP(uele));
    +	ueh->ueh_i_gen = ulfs_rw32(ueh->ueh_i_gen, UELE_NEEDSWAP(uele));
    +
    +	/* Defined? */
    +	if ((ueh->ueh_flags & ULFS_EXTATTR_ATTR_FLAG_INUSE) == 0)
    +		return ENODATA;
    +
    +	/* Valid for the current inode generation? */
    +	if (ueh->ueh_i_gen != ip->i_gen) {
    +		/*
    +		 * The inode itself has a different generation number
    +		 * than the uele data.  For now, the best solution
    +		 * is to coerce this to undefined, and let it get cleaned
    +		 * up by the next write or extattrctl clean.
    +		 */
    +		printf("%s (%s): inode gen inconsistency (%u, %jd)\n",
    +		       __func__,  mp->mnt_stat.f_mntonname, ueh->ueh_i_gen,
    +		       (intmax_t)ip->i_gen);
    +		return ENODATA;
    +	}
    +
    +	/* Local size consistency check. */
    +	if (ueh->ueh_len > uele->uele_fileheader.uef_size)
    +		return ENXIO;
    +
    +	/* Return base offset */
    +	if (bap != NULL)
    +		*bap = base_offset;
    +
    +	return 0;
    +}
    +
    +/*
    + * Vnode operation to retrieve a named extended attribute.
    + */
    +int
    +ulfs_getextattr(struct vop_getextattr_args *ap)
    +/*
    +vop_getextattr {
    +	IN struct vnode *a_vp;
    +	IN int a_attrnamespace;
    +	IN const char *a_name;
    +	INOUT struct uio *a_uio;
    +	OUT size_t *a_size;
    +	IN kauth_cred_t a_cred;
    +};
    +*/
    +{
    +	struct mount *mp = ap->a_vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	int error;
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	error = ulfs_extattr_get(ap->a_vp, ap->a_attrnamespace, ap->a_name,
    +	    ap->a_uio, ap->a_size, ap->a_cred, curlwp);
    +
    +	ulfs_extattr_uepm_unlock(ump);
    +
    +	return (error);
    +}
    +
    +/*
    + * Real work associated with retrieving a named attribute--assumes that
    + * the attribute lock has already been grabbed.
    + */
    +static int
    +ulfs_extattr_get(struct vnode *vp, int attrnamespace, const char *name,
    +    struct uio *uio, size_t *size, kauth_cred_t cred, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *attribute;
    +	struct ulfs_extattr_header ueh;
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	off_t base_offset;
    +	size_t len, old_len;
    +	int error = 0;
    +
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED))
    +		return (EOPNOTSUPP);
    +
    +	if (strlen(name) == 0)
    +		return (EINVAL);
    +
    +	error = internal_extattr_check_cred(vp, attrnamespace, name, cred,
    +	    VREAD);
    +	if (error)
    +		return (error);
    +
    +	attribute = ulfs_extattr_find_attr(ump, attrnamespace, name);
    +	if (!attribute)
    +		return (ENODATA);
    +
    +	/*
    +	 * Allow only offsets of zero to encourage the read/replace
    +	 * extended attribute semantic.  Otherwise we can't guarantee
    +	 * atomicity, as we don't provide locks for extended attributes.
    +	 */
    +	if (uio != NULL && uio->uio_offset != 0)
    +		return (ENXIO);
    +
    +	/*
    +	 * Don't need to get a lock on the backing file if the getattr is
    +	 * being applied to the backing file, as the lock is already held.
    +	 */
    +	if (attribute->uele_backing_vnode != vp)
    +		vn_lock(attribute->uele_backing_vnode, LK_SHARED | LK_RETRY);
    +
    +	error = ulfs_extattr_get_header(vp, attribute, &ueh, &base_offset);
    +	if (error)
    +		goto vopunlock_exit;
    +
    +	/* Return full data size if caller requested it. */
    +	if (size != NULL)
    +		*size = ueh.ueh_len;
    +
    +	/* Return data if the caller requested it. */
    +	if (uio != NULL) {
    +		/* Allow for offset into the attribute data. */
    +		uio->uio_offset = base_offset + sizeof(struct
    +		    ulfs_extattr_header);
    +
    +		/*
    +		 * Figure out maximum to transfer -- use buffer size and
    +		 * local data limit.
    +		 */
    +		len = MIN(uio->uio_resid, ueh.ueh_len);
    +		old_len = uio->uio_resid;
    +		uio->uio_resid = len;
    +
    +		error = VOP_READ(attribute->uele_backing_vnode, uio,
    +		    IO_NODELOCKED, ump->um_extattr.uepm_ucred);
    +		if (error)
    +			goto vopunlock_exit;
    +
    +		uio->uio_resid = old_len - (len - uio->uio_resid);
    +	}
    +
    + vopunlock_exit:
    +
    +	if (uio != NULL)
    +		uio->uio_offset = 0;
    +
    +	if (attribute->uele_backing_vnode != vp)
    +		VOP_UNLOCK(attribute->uele_backing_vnode);
    +
    +	return (error);
    +}
    +
    +/*
    + * Vnode operation to list extended attribute for a vnode
    + */
    +int
    +ulfs_listextattr(struct vop_listextattr_args *ap)
    +/*
    +vop_listextattr {
    +	IN struct vnode *a_vp;
    +	IN int a_attrnamespace;
    +	INOUT struct uio *a_uio;
    +	OUT size_t *a_size;
    +	IN int flag;
    +	IN kauth_cred_t a_cred;
    +	struct proc *a_p;
    +};
    +*/
    +{
    +	struct mount *mp = ap->a_vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	int error;
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	error = ulfs_extattr_list(ap->a_vp, ap->a_attrnamespace,
    +	    ap->a_uio, ap->a_size, ap->a_flag, ap->a_cred, curlwp);
    +
    +	ulfs_extattr_uepm_unlock(ump);
    +
    +	return (error);
    +}
    +
    +/*
    + * Real work associated with retrieving list of attributes--assumes that
    + * the attribute lock has already been grabbed.
    + */
    +static int
    +ulfs_extattr_list(struct vnode *vp, int attrnamespace,
    +    struct uio *uio, size_t *size, int flag, 
    +    kauth_cred_t cred, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *uele;
    +	struct ulfs_extattr_header ueh;
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	size_t listsize = 0;
    +	int error = 0;
    +
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED))
    +		return (EOPNOTSUPP);
    +
    +	/*
    +	 * XXX: We can move this inside the loop and iterate on individual
    +	 *	attributes.
    +	 */
    +	error = internal_extattr_check_cred(vp, attrnamespace, "", cred,
    +	    VREAD);
    +	if (error)
    +		return (error);
    +
    +	LIST_FOREACH(uele, &ump->um_extattr.uepm_list, uele_entries) {
    +		unsigned char attrnamelen;
    +
    +		if (uele->uele_attrnamespace != attrnamespace)
    +			continue;
    +
    +		error = ulfs_extattr_get_header(vp, uele, &ueh, NULL);
    +		if (error == ENODATA)
    +			continue;	
    +		if (error != 0)
    +			return error;
    +
    +		/*
    +		 * Don't need to get a lock on the backing file if 
    +		 * the listattr is being applied to the backing file, 
    +		 * as the lock is already held.
    +		 */
    +		if (uele->uele_backing_vnode != vp)
    +			vn_lock(uele->uele_backing_vnode, LK_SHARED | LK_RETRY);
    +
    +		/*
    +		 * +1 for trailing NUL (listxattr flavor)
    +		 *  or leading name length (extattr_list_file flavor)
    +	 	 */
    +		attrnamelen = strlen(uele->uele_attrname);
    +		listsize += attrnamelen + 1;
    +
    +		/* Return data if the caller requested it. */
    +		if (uio != NULL) {
    +			/*
    +			 * We support two flavors. Either NUL-terminated
    +			 * strings (a la listxattr), or non NUL-terminated,
    +			 * one byte length prefixed strings (for
    +			 * extattr_list_file). EXTATTR_LIST_LENPREFIX switches
    +		 	 * that second behavior.
    +			 */
    +			if (flag & EXTATTR_LIST_LENPREFIX) {
    +				uint8_t len = (uint8_t)attrnamelen;
    +
    +				/* Copy leading name length */
    +				error = uiomove(&len, sizeof(len), uio);
    +				if (error != 0)
    +					break;	
    +			} else {
    +				/* Include trailing NULL */
    +				attrnamelen++; 
    +			}
    +
    +			error = uiomove(uele->uele_attrname, 
    +					(size_t)attrnamelen, uio);
    +			if (error != 0)
    +				break;	
    +		}
    +
    +		if (uele->uele_backing_vnode != vp)
    +			VOP_UNLOCK(uele->uele_backing_vnode);
    +
    +		if (error != 0)
    +			return error;
    +	}
    +
    +	if (uio != NULL)
    +		uio->uio_offset = 0;
    +
    +	/* Return full data size if caller requested it. */
    +	if (size != NULL)
    +		*size = listsize;
    +
    +	return 0;
    +}
    +
    +/*
    + * Vnode operation to remove a named attribute.
    + */
    +int
    +ulfs_deleteextattr(struct vop_deleteextattr_args *ap)
    +/*
    +vop_deleteextattr {
    +	IN struct vnode *a_vp;
    +	IN int a_attrnamespace;
    +	IN const char *a_name;
    +	IN kauth_cred_t a_cred;
    +};
    +*/
    +{
    +	struct mount *mp = ap->a_vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp); 
    +	int error;
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	error = ulfs_extattr_rm(ap->a_vp, ap->a_attrnamespace, ap->a_name,
    +	    ap->a_cred, curlwp);
    +
    +	ulfs_extattr_uepm_unlock(ump);
    +
    +	return (error);
    +}
    +
    +/*
    + * Vnode operation to set a named attribute.
    + */
    +int
    +ulfs_setextattr(struct vop_setextattr_args *ap)
    +/*
    +vop_setextattr {
    +	IN struct vnode *a_vp;
    +	IN int a_attrnamespace;
    +	IN const char *a_name;
    +	INOUT struct uio *a_uio;
    +	IN kauth_cred_t a_cred;
    +};
    +*/
    +{
    +	struct mount *mp = ap->a_vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp); 
    +	int error;
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	/*
    +	 * XXX: No longer a supported way to delete extended attributes.
    +	 */
    +	if (ap->a_uio == NULL) {
    +		ulfs_extattr_uepm_unlock(ump);
    +		return (EINVAL);
    +	}
    +
    +	error = ulfs_extattr_set(ap->a_vp, ap->a_attrnamespace, ap->a_name,
    +	    ap->a_uio, ap->a_cred, curlwp);
    +
    +	ulfs_extattr_uepm_unlock(ump);
    +
    +	return (error);
    +}
    +
    +/*
    + * Real work associated with setting a vnode's extended attributes;
    + * assumes that the attribute lock has already been grabbed.
    + */
    +static int
    +ulfs_extattr_set(struct vnode *vp, int attrnamespace, const char *name,
    +    struct uio *uio, kauth_cred_t cred, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *attribute;
    +	struct ulfs_extattr_header ueh;
    +	struct iovec local_aiov;
    +	struct uio local_aio;
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct inode *ip = VTOI(vp);
    +	off_t base_offset;
    +	int error = 0, ioflag;
    +
    +	if (vp->v_mount->mnt_flag & MNT_RDONLY)
    +		return (EROFS);
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED))
    +		return (EOPNOTSUPP);
    +	if (!ulfs_extattr_valid_attrname(attrnamespace, name))
    +		return (EINVAL);
    +
    +	error = internal_extattr_check_cred(vp, attrnamespace, name, cred,
    +	    VWRITE);
    +	if (error)
    +		return (error);
    +
    +	attribute = ulfs_extattr_find_attr(ump, attrnamespace, name);
    +	if (!attribute) {
    +		attribute =  ulfs_extattr_autocreate_attr(vp, attrnamespace, 
    +							 name, l);
    +		if  (!attribute)
    +			return (ENODATA);
    +	}
    +
    +	/*
    +	 * Early rejection of invalid offsets/length.
    +	 * Reject: any offset but 0 (replace)
    +	 *	 Any size greater than attribute size limit
    + 	 */
    +	if (uio->uio_offset != 0 ||
    +	    uio->uio_resid > attribute->uele_fileheader.uef_size)
    +		return (ENXIO);
    +
    +	/*
    +	 * Find base offset of header in file based on file header size, and
    +	 * data header size + maximum data size, indexed by inode number.
    +	 */
    +	base_offset = sizeof(struct ulfs_extattr_fileheader) +
    +	    ip->i_number * (sizeof(struct ulfs_extattr_header) +
    +	    attribute->uele_fileheader.uef_size);
    +
    +	/*
    +	 * Write out a data header for the data.
    +	 */
    +	ueh.ueh_len = ulfs_rw32((uint32_t) uio->uio_resid,
    +	    UELE_NEEDSWAP(attribute));
    +	ueh.ueh_flags = ulfs_rw32(ULFS_EXTATTR_ATTR_FLAG_INUSE,
    +				 UELE_NEEDSWAP(attribute));
    +	ueh.ueh_i_gen = ulfs_rw32(ip->i_gen, UELE_NEEDSWAP(attribute));
    +	local_aiov.iov_base = &ueh;
    +	local_aiov.iov_len = sizeof(struct ulfs_extattr_header);
    +	local_aio.uio_iov = &local_aiov;
    +	local_aio.uio_iovcnt = 1;
    +	local_aio.uio_rw = UIO_WRITE;
    +	local_aio.uio_offset = base_offset;
    +	local_aio.uio_resid = sizeof(struct ulfs_extattr_header);
    +	UIO_SETUP_SYSSPACE(&local_aio);
    +
    +	/*
    +	 * Don't need to get a lock on the backing file if the setattr is
    +	 * being applied to the backing file, as the lock is already held.
    +	 */
    +	if (attribute->uele_backing_vnode != vp)
    +		vn_lock(attribute->uele_backing_vnode, 
    +		    LK_EXCLUSIVE | LK_RETRY);
    +
    +	ioflag = IO_NODELOCKED;
    +	if (ulfs_extattr_sync)
    +		ioflag |= IO_SYNC;
    +	error = VOP_WRITE(attribute->uele_backing_vnode, &local_aio, ioflag,
    +	    ump->um_extattr.uepm_ucred);
    +	if (error)
    +		goto vopunlock_exit;
    +
    +	if (local_aio.uio_resid != 0) {
    +		error = ENXIO;
    +		goto vopunlock_exit;
    +	}
    +
    +	/*
    +	 * Write out user data.
    +	 * XXX NOT ATOMIC WITH RESPECT TO THE HEADER.
    +	 */
    +	uio->uio_offset = base_offset + sizeof(struct ulfs_extattr_header);
    +
    +	ioflag = IO_NODELOCKED;
    +	if (ulfs_extattr_sync)
    +		ioflag |= IO_SYNC;
    +	error = VOP_WRITE(attribute->uele_backing_vnode, uio, ioflag,
    +	    ump->um_extattr.uepm_ucred);
    +
    + vopunlock_exit:
    +	uio->uio_offset = 0;
    +
    +	if (attribute->uele_backing_vnode != vp)
    +		VOP_UNLOCK(attribute->uele_backing_vnode);
    +
    +	return (error);
    +}
    +
    +/*
    + * Real work associated with removing an extended attribute from a vnode.
    + * Assumes the attribute lock has already been grabbed.
    + */
    +static int
    +ulfs_extattr_rm(struct vnode *vp, int attrnamespace, const char *name,
    +    kauth_cred_t cred, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *attribute;
    +	struct ulfs_extattr_header ueh;
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct iovec local_aiov;
    +	struct uio local_aio;
    +	off_t base_offset;
    +	int error = 0, ioflag;
    +
    +	if (vp->v_mount->mnt_flag & MNT_RDONLY)  
    +		return (EROFS);
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED))
    +		return (EOPNOTSUPP);
    +	if (!ulfs_extattr_valid_attrname(attrnamespace, name))
    +		return (EINVAL);
    +
    +	error = internal_extattr_check_cred(vp, attrnamespace, name, cred,
    +	    VWRITE);
    +	if (error)
    +		return (error);
    +
    +	attribute = ulfs_extattr_find_attr(ump, attrnamespace, name);
    +	if (!attribute)
    +		return (ENODATA);
    +
    +	/*
    +	 * Don't need to get a lock on the backing file if the getattr is
    +	 * being applied to the backing file, as the lock is already held.
    +	 */
    +	if (attribute->uele_backing_vnode != vp)
    +		vn_lock(attribute->uele_backing_vnode, LK_EXCLUSIVE | LK_RETRY);
    +
    +	error = ulfs_extattr_get_header(vp, attribute, &ueh, &base_offset);
    +	if (error)
    +		goto vopunlock_exit;
    +
    +	/* Flag it as not in use. */
    +	ueh.ueh_flags = 0;		/* No need to byte swap 0 */
    +	ueh.ueh_len = 0;		/* ...ditto... */
    +
    +	local_aiov.iov_base = &ueh;
    +	local_aiov.iov_len = sizeof(struct ulfs_extattr_header);
    +	local_aio.uio_iov = &local_aiov;
    +	local_aio.uio_iovcnt = 1;
    +	local_aio.uio_rw = UIO_WRITE;
    +	local_aio.uio_offset = base_offset;
    +	local_aio.uio_resid = sizeof(struct ulfs_extattr_header);
    +	UIO_SETUP_SYSSPACE(&local_aio);
    +
    +	ioflag = IO_NODELOCKED;
    +	if (ulfs_extattr_sync)
    +		ioflag |= IO_SYNC;
    +	error = VOP_WRITE(attribute->uele_backing_vnode, &local_aio, ioflag,
    +	    ump->um_extattr.uepm_ucred);
    +	if (error)
    +		goto vopunlock_exit;
    +
    +	if (local_aio.uio_resid != 0)
    +		error = ENXIO;
    +
    + vopunlock_exit:
    +	VOP_UNLOCK(attribute->uele_backing_vnode);
    +
    +	return (error);
    +}
    +
    +/*
    + * Called by ULFS when an inode is no longer active and should have its
    + * attributes stripped.
    + */
    +void
    +ulfs_extattr_vnode_inactive(struct vnode *vp, struct lwp *l)
    +{
    +	struct ulfs_extattr_list_entry *uele;
    +	struct mount *mp = vp->v_mount;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +
    +	/*
    +	 * In that case, we cannot lock. We should not have any active vnodes
    +	 * on the fs if this is not yet initialized but is going to be, so
    +	 * this can go unlocked.
    +	 */
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_INITIALIZED))
    +		return;
    +
    +	ulfs_extattr_uepm_lock(ump);
    +
    +	if (!(ump->um_extattr.uepm_flags & ULFS_EXTATTR_UEPM_STARTED)) {
    +		ulfs_extattr_uepm_unlock(ump);
    +		return;
    +	}
    +
    +	LIST_FOREACH(uele, &ump->um_extattr.uepm_list, uele_entries)
    +		ulfs_extattr_rm(vp, uele->uele_attrnamespace,
    +		    uele->uele_attrname, lwp0.l_cred, l);
    +
    +	ulfs_extattr_uepm_unlock(ump);
    +}
    +
    +void
    +ulfs_extattr_init(void)
    +{
    +
    +}
    +
    +void
    +ulfs_extattr_done(void)
    +{
    +
    +}
    diff --git a/sys/ufs/lfs/ulfs_extattr.h b/sys/ufs/lfs/ulfs_extattr.h
    new file mode 100644
    index 000000000..b32721d96
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_extattr.h
    @@ -0,0 +1,129 @@
    +/*	$NetBSD: ulfs_extattr.h,v 1.2 2013/06/06 00:48:04 dholland Exp $	*/
    +/*  from NetBSD: extattr.h,v 1.10 2011/10/09 21:15:34 chs Exp  */
    +
    +/*-
    + * Copyright (c) 1999-2001 Robert N. M. Watson
    + * All rights reserved.
    + *
    + * This software was developed by Robert Watson for the TrustedBSD Project.
    + *
    + * 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: src/sys/ufs/ufs/extattr.h,v 1.20 2005/01/31 08:16:45 imp Exp $
    + */
    +
    +/*
    + * Support for file system extended attributes on the ULFS1 file system.
    + * Developed by the TrustedBSD Project.
    + */
    +
    +#ifndef _UFS_LFS_ULFS_EXTATTR_H_
    +#define	_UFS_LFS_ULFS_EXTATTR_H_
    +
    +#define	ULFS_EXTATTR_MAGIC		0x00b5d5ec
    +#define	ULFS_EXTATTR_VERSION		0x00000003
    +#define	ULFS_EXTATTR_FSROOTSUBDIR	".attribute"
    +#define	ULFS_EXTATTR_SUBDIR_SYSTEM	"system"
    +#define	ULFS_EXTATTR_SUBDIR_USER		"user"
    +#define	ULFS_EXTATTR_MAXEXTATTRNAME	65	/* including null */
    +
    +#define	ULFS_EXTATTR_ATTR_FLAG_INUSE	0x00000001	/* attr has been set */
    +#define	ULFS_EXTATTR_PERM_KERNEL		0x00000000
    +#define	ULFS_EXTATTR_PERM_ROOT		0x00000001
    +#define	ULFS_EXTATTR_PERM_OWNER		0x00000002
    +#define	ULFS_EXTATTR_PERM_ANYONE		0x00000003
    +
    +#define	ULFS_EXTATTR_UEPM_INITIALIZED	0x00000001
    +#define	ULFS_EXTATTR_UEPM_STARTED	0x00000002
    +
    +#define	ULFS_EXTATTR_CMD_START		EXTATTR_CMD_START
    +#define	ULFS_EXTATTR_CMD_STOP		EXTATTR_CMD_STOP
    +#define	ULFS_EXTATTR_CMD_ENABLE		0x00000003
    +#define	ULFS_EXTATTR_CMD_DISABLE		0x00000004
    +
    +struct ulfs_extattr_fileheader {
    +	uint32_t	uef_magic;	/* magic number for sanity checking */
    +	uint32_t	uef_version;	/* version of attribute file */
    +	uint32_t	uef_size;	/* size of attributes, w/o header */
    +};
    +
    +struct ulfs_extattr_header {
    +	uint32_t	ueh_flags;	/* flags for attribute */
    +	uint32_t	ueh_len;	/* local defined length; <= uef_size */
    +	uint32_t	ueh_i_gen;	/* generation number for sanity */
    +	/* data follows the header */
    +};
    +
    +#ifdef _KERNEL
    +
    +#ifdef MALLOC_DECLARE
    +MALLOC_DECLARE(M_EXTATTR);
    +#endif
    +
    +struct vnode;
    +LIST_HEAD(ulfs_extattr_list_head, ulfs_extattr_list_entry);
    +struct ulfs_extattr_list_entry {
    +	LIST_ENTRY(ulfs_extattr_list_entry)	uele_entries;
    +	struct ulfs_extattr_fileheader		uele_fileheader;
    +	int		uele_attrnamespace;
    +	char		uele_attrname[ULFS_EXTATTR_MAXEXTATTRNAME];
    +	struct vnode	*uele_backing_vnode;
    +	int		uele_flags;
    +};
    +
    +/* uele_flags */
    +#define	UELE_F_NEEDSWAP		0x01	/* needs byte swap */
    +
    +#define	UELE_NEEDSWAP(uele)	((uele)->uele_flags & UELE_F_NEEDSWAP)
    +
    +struct lock;
    +struct ulfs_extattr_per_mount {
    +	kmutex_t			uepm_lock;
    +	struct ulfs_extattr_list_head	uepm_list;
    +	kauth_cred_t			uepm_ucred;
    +	int				uepm_lockcnt;
    +	int				uepm_flags;
    +};
    +
    +void	ulfs_extattr_uepm_init(struct ulfs_extattr_per_mount *uepm);
    +void	ulfs_extattr_uepm_destroy(struct ulfs_extattr_per_mount *uepm);
    +int	ulfs_extattr_start(struct mount *mp, struct lwp *l);
    +int	ulfs_extattr_autostart(struct mount *mp, struct lwp *l);
    +void	ulfs_extattr_stop(struct mount *mp, struct lwp *l);
    +int	ulfs_extattrctl(struct mount *mp, int cmd, struct vnode *filename,
    +	    int attrnamespace, const char *attrname);
    +struct vop_getextattr_args;
    +int	ulfs_getextattr(struct vop_getextattr_args *ap);
    +struct vop_deleteextattr_args;
    +int	ulfs_deleteextattr(struct vop_deleteextattr_args *ap);
    +struct vop_setextattr_args;
    +int	ulfs_setextattr(struct vop_setextattr_args *ap);
    +struct vop_listextattr_args;
    +int	ulfs_listextattr(struct vop_listextattr_args *ap);
    +void	ulfs_extattr_vnode_inactive(struct vnode *vp, struct lwp *l);
    +
    +void	ulfs_extattr_init(void);
    +void	ulfs_extattr_done(void);
    +
    +#endif /* !_KERNEL */
    +
    +#endif /* !_UFS_LFS_ULFS_EXTATTR_H_ */
    diff --git a/sys/ufs/lfs/ulfs_extern.h b/sys/ufs/lfs/ulfs_extern.h
    new file mode 100644
    index 000000000..63f2f1354
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_extern.h
    @@ -0,0 +1,191 @@
    +/*	$NetBSD: ulfs_extern.h,v 1.10 2013/07/28 01:22:55 dholland Exp $	*/
    +/*  from NetBSD: ufs_extern.h,v 1.72 2012/05/09 00:21:18 riastradh Exp  */
    +
    +/*-
    + * Copyright (c) 1991, 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_extern.h	8.10 (Berkeley) 5/14/95
    + */
    +
    +#ifndef _UFS_LFS_ULFS_EXTERN_H_
    +#define _UFS_LFS_ULFS_EXTERN_H_
    +
    +#include 
    +
    +struct buf;
    +struct componentname;
    +struct disklabel;
    +struct dquot;
    +struct fid;
    +struct flock;
    +struct indir;
    +struct inode;
    +struct mbuf;
    +struct mount;
    +struct nameidata;
    +struct lfs_direct;
    +struct lwp;
    +struct ulfs_args;
    +struct ulfs_lookup_results;
    +struct ulfs_ufid;
    +struct ulfsmount;
    +struct uio;
    +struct vattr;
    +struct vnode;
    +
    +extern pool_cache_t ulfs_direct_cache;	/* memory pool for lfs_directs */
    +
    +__BEGIN_DECLS
    +#define	ulfs_abortop	genfs_abortop
    +int	ulfs_access(void *);
    +int	ulfs_advlock(void *);
    +int	ulfs_bmap(void *);
    +int	ulfs_close(void *);
    +int	ulfs_create(void *);
    +int	ulfs_getattr(void *);
    +int	ulfs_inactive(void *);
    +#define	ulfs_fcntl	genfs_fcntl
    +#define	ulfs_ioctl	genfs_enoioctl
    +#define	ulfs_islocked	genfs_islocked
    +int	ulfs_link(void *);
    +#define	ulfs_lock	genfs_lock
    +int	ulfs_lookup(void *);
    +int	ulfs_mkdir(void *);
    +int	ulfs_mknod(void *);
    +#define	ulfs_mmap	genfs_mmap
    +#define	ulfs_revoke	genfs_revoke
    +int	ulfs_open(void *);
    +int	ulfs_pathconf(void *);
    +int	ulfs_print(void *);
    +int	ulfs_readdir(void *);
    +int	ulfs_readlink(void *);
    +int	ulfs_remove(void *);
    +int	ulfs_rmdir(void *);
    +#define	ulfs_seek	genfs_seek
    +#define	ulfs_poll	genfs_poll
    +int	ulfs_setattr(void *);
    +int	ulfs_strategy(void *);
    +int	ulfs_symlink(void *);
    +#define	ulfs_unlock	genfs_unlock
    +int	ulfs_whiteout(void *);
    +int	ulfsspec_close(void *);
    +int	ulfsspec_read(void *);
    +int	ulfsspec_write(void *);
    +
    +int	ulfsfifo_read(void *);
    +int	ulfsfifo_write(void *);
    +int	ulfsfifo_close(void *);
    +
    +/* ulfs_bmap.c */
    +typedef	bool (*ulfs_issequential_callback_t)(const struct lfs *,
    +						 daddr_t, daddr_t);
    +int	ulfs_bmaparray(struct vnode *, daddr_t, daddr_t *, struct indir *,
    +		      int *, int *, ulfs_issequential_callback_t);
    +int	ulfs_getlbns(struct vnode *, daddr_t, struct indir *, int *);
    +
    +/* ulfs_ihash.c */
    +void	ulfs_ihashinit(void);
    +void	ulfs_ihashreinit(void);
    +void	ulfs_ihashdone(void);
    +struct vnode *ulfs_ihashlookup(dev_t, ino_t);
    +struct vnode *ulfs_ihashget(dev_t, ino_t, int);
    +void	ulfs_ihashins(struct inode *);
    +void	ulfs_ihashrem(struct inode *);
    +
    +/* ulfs_inode.c */
    +int	ulfs_reclaim(struct vnode *);
    +int	ulfs_balloc_range(struct vnode *, off_t, off_t, kauth_cred_t, int);
    +
    +/* ulfs_lookup.c */
    +void	ulfs_dirbad(struct inode *, doff_t, const char *);
    +int	ulfs_dirbadentry(struct vnode *, struct lfs_direct *, int);
    +void	ulfs_makedirentry(struct inode *, struct componentname *,
    +			 struct lfs_direct *);
    +int	ulfs_direnter(struct vnode *, const struct ulfs_lookup_results *,
    +		     struct vnode *, struct lfs_direct *,
    +		     struct componentname *, struct buf *);
    +int	ulfs_dirremove(struct vnode *, const struct ulfs_lookup_results *,
    +		      struct inode *, int, int);
    +int	ulfs_dirrewrite(struct inode *, off_t,
    +		       struct inode *, ino_t, int, int, int);
    +int	ulfs_dirempty(struct inode *, ino_t, kauth_cred_t);
    +int	ulfs_checkpath(struct inode *, struct inode *, kauth_cred_t);
    +int	ulfs_parentcheck(struct vnode *, struct vnode *, kauth_cred_t,
    +			int *, struct vnode **);
    +int	ulfs_blkatoff(struct vnode *, off_t, char **, struct buf **, bool);
    +
    +/* ulfs_quota.c */
    +/*
    + * Flags to lfs_chkdq() and lfs_chkiq()
    + */
    +#define	FORCE	0x01	/* force usage changes independent of limits */
    +void	ulfsquota_init(struct inode *);
    +void	ulfsquota_free(struct inode *);
    +int	lfs_chkdq(struct inode *, int64_t, kauth_cred_t, int);
    +int	lfs_chkiq(struct inode *, int32_t, kauth_cred_t, int);
    +int	lfsquota_handle_cmd(struct mount *, struct lwp *,
    +			 struct quotactl_args *);
    +
    +int	lfs_qsync(struct mount *);
    +
    +/* ulfs_quota1.c */
    +int	lfsquota1_umount(struct mount *, int);
    +
    +/* ulfs_quota2.c */
    +int	lfsquota2_umount(struct mount *, int);
    +int	lfs_quota2_mount(struct mount *);
    +
    +/* ulfs_vfsops.c */
    +void	ulfs_init(void);
    +void	ulfs_reinit(void);
    +void	ulfs_done(void);
    +int	ulfs_start(struct mount *, int);
    +int	ulfs_root(struct mount *, struct vnode **);
    +int	ulfs_quotactl(struct mount *, struct quotactl_args *);
    +int	ulfs_fhtovp(struct mount *, struct ulfs_ufid *, struct vnode **);
    +
    +/* ulfs_vnops.c */
    +void	ulfs_vinit(struct mount *, int (**)(void *),
    +		  int (**)(void *), struct vnode **);
    +int	ulfs_makeinode(int, struct vnode *, const struct ulfs_lookup_results *,
    +		      struct vnode **, struct componentname *);
    +int	ulfs_gop_alloc(struct vnode *, off_t, off_t, int, kauth_cred_t);
    +void	ulfs_gop_markupdate(struct vnode *, int);
    +
    +/*
    + * Snapshot function prototypes.
    + */
    +
    +void	ulfs_snapgone(struct inode *);
    +
    +__END_DECLS
    +
    +extern kmutex_t ulfs_ihash_lock;
    +extern kmutex_t ulfs_hashlock;
    +
    +#endif /* !_UFS_LFS_ULFS_EXTERN_H_ */
    diff --git a/sys/ufs/lfs/ulfs_ihash.c b/sys/ufs/lfs/ulfs_ihash.c
    new file mode 100644
    index 000000000..6d960c6e1
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_ihash.c
    @@ -0,0 +1,192 @@
    +/*	$NetBSD: ulfs_ihash.c,v 1.3 2013/06/06 00:48:04 dholland Exp $	*/
    +/*  from NetBSD: ufs_ihash.c,v 1.31 2011/06/12 03:36:02 rmind Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_ihash.c	8.7 (Berkeley) 5/17/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_ihash.c,v 1.3 2013/06/06 00:48:04 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +/*
    + * Structures associated with inode cacheing.
    + */
    +static LIST_HEAD(ihashhead, inode) *ihashtbl;
    +static u_long	ihash;		/* size of hash table - 1 */
    +#define INOHASH(device, inum)	(((device) + (inum)) & ihash)
    +
    +kmutex_t	ulfs_ihash_lock;
    +kmutex_t	ulfs_hashlock;
    +
    +/*
    + * Initialize inode hash table.
    + */
    +void
    +ulfs_ihashinit(void)
    +{
    +
    +	mutex_init(&ulfs_hashlock, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_init(&ulfs_ihash_lock, MUTEX_DEFAULT, IPL_NONE);
    +	ihashtbl = hashinit(desiredvnodes, HASH_LIST, true, &ihash);
    +}
    +
    +/*
    + * Reinitialize inode hash table.
    + */
    +
    +void
    +ulfs_ihashreinit(void)
    +{
    +	struct inode *ip;
    +	struct ihashhead *oldhash, *hash;
    +	u_long oldmask, mask, val;
    +	int i;
    +
    +	hash = hashinit(desiredvnodes, HASH_LIST, true, &mask);
    +	mutex_enter(&ulfs_ihash_lock);
    +	oldhash = ihashtbl;
    +	oldmask = ihash;
    +	ihashtbl = hash;
    +	ihash = mask;
    +	for (i = 0; i <= oldmask; i++) {
    +		while ((ip = LIST_FIRST(&oldhash[i])) != NULL) {
    +			LIST_REMOVE(ip, i_hash);
    +			val = INOHASH(ip->i_dev, ip->i_number);
    +			LIST_INSERT_HEAD(&hash[val], ip, i_hash);
    +		}
    +	}
    +	mutex_exit(&ulfs_ihash_lock);
    +	hashdone(oldhash, HASH_LIST, oldmask);
    +}
    +
    +/*
    + * Free inode hash table.
    + */
    +void
    +ulfs_ihashdone(void)
    +{
    +
    +	hashdone(ihashtbl, HASH_LIST, ihash);
    +	mutex_destroy(&ulfs_hashlock);
    +	mutex_destroy(&ulfs_ihash_lock);
    +}
    +
    +/*
    + * Use the device/inum pair to find the incore inode, and return a pointer
    + * to it. If it is in core, return it, even if it is locked.
    + */
    +struct vnode *
    +ulfs_ihashlookup(dev_t dev, ino_t inum)
    +{
    +	struct inode *ip;
    +	struct ihashhead *ipp;
    +
    +	KASSERT(mutex_owned(&ulfs_ihash_lock));
    +
    +	ipp = &ihashtbl[INOHASH(dev, inum)];
    +	LIST_FOREACH(ip, ipp, i_hash) {
    +		if (inum == ip->i_number && dev == ip->i_dev)
    +			break;
    +	}
    +	if (ip)
    +		return (ITOV(ip));
    +	return (NULLVP);
    +}
    +
    +/*
    + * Use the device/inum pair to find the incore inode, and return a pointer
    + * to it. If it is in core, but locked, wait for it.
    + */
    +struct vnode *
    +ulfs_ihashget(dev_t dev, ino_t inum, int flags)
    +{
    +	struct ihashhead *ipp;
    +	struct inode *ip;
    +	struct vnode *vp;
    +
    + loop:
    +	mutex_enter(&ulfs_ihash_lock);
    +	ipp = &ihashtbl[INOHASH(dev, inum)];
    +	LIST_FOREACH(ip, ipp, i_hash) {
    +		if (inum == ip->i_number && dev == ip->i_dev) {
    +			vp = ITOV(ip);
    +			if (flags == 0) {
    +				mutex_exit(&ulfs_ihash_lock);
    +			} else {
    +				mutex_enter(vp->v_interlock);
    +				mutex_exit(&ulfs_ihash_lock);
    +				if (vget(vp, flags))
    +					goto loop;
    +			}
    +			return (vp);
    +		}
    +	}
    +	mutex_exit(&ulfs_ihash_lock);
    +	return (NULL);
    +}
    +
    +/*
    + * Insert the inode into the hash table, and return it locked.
    + */
    +void
    +ulfs_ihashins(struct inode *ip)
    +{
    +	struct ihashhead *ipp;
    +
    +	KASSERT(mutex_owned(&ulfs_hashlock));
    +
    +	/* lock the inode, then put it on the appropriate hash list */
    +	VOP_LOCK(ITOV(ip), LK_EXCLUSIVE);
    +
    +	mutex_enter(&ulfs_ihash_lock);
    +	ipp = &ihashtbl[INOHASH(ip->i_dev, ip->i_number)];
    +	LIST_INSERT_HEAD(ipp, ip, i_hash);
    +	mutex_exit(&ulfs_ihash_lock);
    +}
    +
    +/*
    + * Remove the inode from the hash table.
    + */
    +void
    +ulfs_ihashrem(struct inode *ip)
    +{
    +	mutex_enter(&ulfs_ihash_lock);
    +	LIST_REMOVE(ip, i_hash);
    +	mutex_exit(&ulfs_ihash_lock);
    +}
    diff --git a/sys/ufs/lfs/ulfs_inode.c b/sys/ufs/lfs/ulfs_inode.c
    new file mode 100644
    index 000000000..1b468a7f2
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_inode.c
    @@ -0,0 +1,270 @@
    +/*	$NetBSD: ulfs_inode.c,v 1.9 2013/07/28 00:37:07 dholland Exp $	*/
    +/*  from NetBSD: ufs_inode.c,v 1.89 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1991, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_inode.c	8.9 (Berkeley) 5/14/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_inode.c,v 1.9 2013/07/28 00:37:07 dholland Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_lfs.h"
    +#include "opt_quota.h"
    +#include "opt_wapbl.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#ifdef LFS_DIRHASH
    +#include 
    +#endif
    +#ifdef LFS_EXTATTR
    +#include 
    +#endif
    +
    +#include 
    +
    +extern int prtactive;
    +
    +/*
    + * Last reference to an inode.  If necessary, write or delete it.
    + */
    +int
    +ulfs_inactive(void *v)
    +{
    +	struct vop_inactive_args /* {
    +		struct vnode *a_vp;
    +		struct bool *a_recycle;
    +	} */ *ap = v;
    +	struct vnode *vp = ap->a_vp;
    +	struct inode *ip = VTOI(vp);
    +	struct mount *transmp;
    +	mode_t mode;
    +	int error = 0;
    +
    +	transmp = vp->v_mount;
    +	fstrans_start(transmp, FSTRANS_LAZY);
    +	/*
    +	 * Ignore inodes related to stale file handles.
    +	 */
    +	if (ip->i_mode == 0)
    +		goto out;
    +	if (ip->i_nlink <= 0 && (vp->v_mount->mnt_flag & MNT_RDONLY) == 0) {
    +#ifdef LFS_EXTATTR
    +		ulfs_extattr_vnode_inactive(vp, curlwp);
    +#endif
    +		if (ip->i_size != 0) {
    +			error = lfs_truncate(vp, (off_t)0, 0, NOCRED);
    +		}
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +		(void)lfs_chkiq(ip, -1, NOCRED, 0);
    +#endif
    +		DIP_ASSIGN(ip, rdev, 0);
    +		mode = ip->i_mode;
    +		ip->i_mode = 0;
    +		ip->i_omode = mode;
    +		DIP_ASSIGN(ip, mode, 0);
    +		ip->i_flag |= IN_CHANGE | IN_UPDATE;
    +		/*
    +		 * Defer final inode free and update to ulfs_reclaim().
    +		 */
    +	}
    +
    +	if (ip->i_flag & (IN_CHANGE | IN_UPDATE | IN_MODIFIED)) {
    +		lfs_update(vp, NULL, NULL, 0);
    +	}
    +
    +out:
    +	/*
    +	 * If we are done with the inode, reclaim it
    +	 * so that it can be reused immediately.
    +	 */
    +	*ap->a_recycle = (ip->i_mode == 0);
    +	VOP_UNLOCK(vp);
    +	fstrans_done(transmp);
    +	return (error);
    +}
    +
    +/*
    + * Reclaim an inode so that it can be used for other purposes.
    + */
    +int
    +ulfs_reclaim(struct vnode *vp)
    +{
    +	struct inode *ip = VTOI(vp);
    +
    +	if (prtactive && vp->v_usecount > 1)
    +		vprint("ulfs_reclaim: pushing active", vp);
    +
    +	/* XXX: do we really need two of these? */
    +	/* note: originally the first was inside a wapbl txn */
    +	lfs_update(vp, NULL, NULL, UPDATE_CLOSE);
    +	lfs_update(vp, NULL, NULL, UPDATE_CLOSE);
    +
    +	/*
    +	 * Remove the inode from its hash chain.
    +	 */
    +	ulfs_ihashrem(ip);
    +
    +	if (ip->i_devvp) {
    +		vrele(ip->i_devvp);
    +		ip->i_devvp = 0;
    +	}
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	ulfsquota_free(ip);
    +#endif
    +#ifdef LFS_DIRHASH
    +	if (ip->i_dirhash != NULL)
    +		ulfsdirhash_free(ip);
    +#endif
    +	return (0);
    +}
    +
    +/*
    + * allocate a range of blocks in a file.
    + * after this function returns, any page entirely contained within the range
    + * will map to invalid data and thus must be overwritten before it is made
    + * accessible to others.
    + */
    +
    +int
    +ulfs_balloc_range(struct vnode *vp, off_t off, off_t len, kauth_cred_t cred,
    +    int flags)
    +{
    +	off_t neweof;	/* file size after the operation */
    +	off_t neweob;	/* offset next to the last block after the operation */
    +	off_t pagestart; /* starting offset of range covered by pgs */
    +	off_t eob;	/* offset next to allocated blocks */
    +	struct uvm_object *uobj;
    +	int i, delta, error, npages;
    +	int bshift = vp->v_mount->mnt_fs_bshift;
    +	int bsize = 1 << bshift;
    +	int ppb = MAX(bsize >> PAGE_SHIFT, 1);
    +	struct vm_page **pgs;
    +	size_t pgssize;
    +	UVMHIST_FUNC("ulfs_balloc_range"); UVMHIST_CALLED(ubchist);
    +	UVMHIST_LOG(ubchist, "vp %p off 0x%x len 0x%x u_size 0x%x",
    +		    vp, off, len, vp->v_size);
    +
    +	neweof = MAX(vp->v_size, off + len);
    +	GOP_SIZE(vp, neweof, &neweob, 0);
    +
    +	error = 0;
    +	uobj = &vp->v_uobj;
    +
    +	/*
    +	 * read or create pages covering the range of the allocation and
    +	 * keep them locked until the new block is allocated, so there
    +	 * will be no window where the old contents of the new block are
    +	 * visible to racing threads.
    +	 */
    +
    +	pagestart = trunc_page(off) & ~(bsize - 1);
    +	npages = MIN(ppb, (round_page(neweob) - pagestart) >> PAGE_SHIFT);
    +	pgssize = npages * sizeof(struct vm_page *);
    +	pgs = kmem_zalloc(pgssize, KM_SLEEP);
    +
    +	/*
    +	 * adjust off to be block-aligned.
    +	 */
    +
    +	delta = off & (bsize - 1);
    +	off -= delta;
    +	len += delta;
    +
    +	genfs_node_wrlock(vp);
    +	mutex_enter(uobj->vmobjlock);
    +	error = VOP_GETPAGES(vp, pagestart, pgs, &npages, 0,
    +	    VM_PROT_WRITE, 0, PGO_SYNCIO | PGO_PASTEOF | PGO_NOBLOCKALLOC |
    +	    PGO_NOTIMESTAMP | PGO_GLOCKHELD);
    +	if (error) {
    +		goto out;
    +	}
    +
    +	/*
    +	 * now allocate the range.
    +	 */
    +
    +	error = GOP_ALLOC(vp, off, len, flags, cred);
    +	genfs_node_unlock(vp);
    +
    +	/*
    +	 * if the allocation succeeded, clear PG_CLEAN on all the pages
    +	 * and clear PG_RDONLY on any pages that are now fully backed
    +	 * by disk blocks.  if the allocation failed, we do not invalidate
    +	 * the pages since they might have already existed and been dirty,
    +	 * in which case we need to keep them around.  if we created the pages,
    +	 * they will be clean and read-only, and leaving such pages
    +	 * in the cache won't cause any problems.
    +	 */
    +
    +	GOP_SIZE(vp, off + len, &eob, 0);
    +	mutex_enter(uobj->vmobjlock);
    +	mutex_enter(&uvm_pageqlock);
    +	for (i = 0; i < npages; i++) {
    +		KASSERT((pgs[i]->flags & PG_RELEASED) == 0);
    +		if (!error) {
    +			if (off <= pagestart + (i << PAGE_SHIFT) &&
    +			    pagestart + ((i + 1) << PAGE_SHIFT) <= eob) {
    +				pgs[i]->flags &= ~PG_RDONLY;
    +			}
    +			pgs[i]->flags &= ~PG_CLEAN;
    +		}
    +		uvm_pageactivate(pgs[i]);
    +	}
    +	mutex_exit(&uvm_pageqlock);
    +	uvm_page_unbusy(pgs, npages);
    +	mutex_exit(uobj->vmobjlock);
    +
    + out:
    + 	kmem_free(pgs, pgssize);
    +	return error;
    +}
    diff --git a/sys/ufs/lfs/ulfs_inode.h b/sys/ufs/lfs/ulfs_inode.h
    new file mode 100644
    index 000000000..8d9129b76
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_inode.h
    @@ -0,0 +1,278 @@
    +/*	$NetBSD: ulfs_inode.h,v 1.10 2013/07/20 19:59:31 dholland Exp $	*/
    +/*  from NetBSD: inode.h,v 1.64 2012/11/19 00:36:21 jakllsch Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)inode.h	8.9 (Berkeley) 5/14/95
    + */
    +
    +#ifndef _UFS_LFS_ULFS_INODE_H_
    +#define	_UFS_LFS_ULFS_INODE_H_
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * These macros are used to bracket ULFS directory ops, so that we can
    + * identify all the pages touched during directory ops which need to
    + * be ordered and flushed atomically, so that they may be recovered.
    + *
    + * Because we have to mark nodes VU_DIROP in order to prevent
    + * the cache from reclaiming them while a dirop is in progress, we must
    + * also manage the number of nodes so marked (otherwise we can run out).
    + * We do this by setting lfs_dirvcount to the number of marked vnodes; it
    + * is decremented during segment write, when VU_DIROP is taken off.
    + */
    +#define	MARK_VNODE(vp)			lfs_mark_vnode(vp)
    +#define	UNMARK_VNODE(vp)		lfs_unmark_vnode(vp)
    +#define	SET_DIROP_CREATE(dvp, vpp)	lfs_set_dirop_create((dvp), (vpp))
    +#define	SET_DIROP_REMOVE(dvp, vp)	lfs_set_dirop((dvp), (vp))
    +int lfs_set_dirop_create(struct vnode *, struct vnode **);
    +int lfs_set_dirop(struct vnode *, struct vnode *);
    +
    +#define	SET_ENDOP_BASE(fs, dvp, str)					\
    +	do {								\
    +		mutex_enter(&lfs_lock);				\
    +		--(fs)->lfs_dirops;					\
    +		if (!(fs)->lfs_dirops) {				\
    +			if ((fs)->lfs_nadirop) {			\
    +				panic("SET_ENDOP: %s: no dirops but "	\
    +					" nadirop=%d", (str),		\
    +					(fs)->lfs_nadirop);		\
    +			}						\
    +			wakeup(&(fs)->lfs_writer);			\
    +			mutex_exit(&lfs_lock);				\
    +			lfs_check((dvp), LFS_UNUSED_LBN, 0);		\
    +		} else							\
    +			mutex_exit(&lfs_lock);				\
    +	} while(0)
    +#define SET_ENDOP_CREATE(fs, dvp, nvpp, str)				\
    +	do {								\
    +		UNMARK_VNODE(dvp);					\
    +		if (nvpp && *nvpp)					\
    +			UNMARK_VNODE(*nvpp);				\
    +		/* Check for error return to stem vnode leakage */	\
    +		if (nvpp && *nvpp && !((*nvpp)->v_uflag & VU_DIROP))	\
    +			ungetnewvnode(*(nvpp));				\
    +		SET_ENDOP_BASE((fs), (dvp), (str));			\
    +		lfs_reserve((fs), (dvp), NULL, -LFS_NRESERVE(fs));	\
    +		vrele(dvp);						\
    +	} while(0)
    +#define SET_ENDOP_CREATE_AP(ap, str)					\
    +	SET_ENDOP_CREATE(VTOI((ap)->a_dvp)->i_lfs, (ap)->a_dvp,		\
    +			 (ap)->a_vpp, (str))
    +#define SET_ENDOP_REMOVE(fs, dvp, ovp, str)				\
    +	do {								\
    +		UNMARK_VNODE(dvp);					\
    +		if (ovp)						\
    +			UNMARK_VNODE(ovp);				\
    +		SET_ENDOP_BASE((fs), (dvp), (str));			\
    +		lfs_reserve((fs), (dvp), (ovp), -LFS_NRESERVE(fs));	\
    +		vrele(dvp);						\
    +		if (ovp)						\
    +			vrele(ovp);					\
    +	} while(0)
    +
    +
    +
    +/* Misc. definitions */
    +#define BW_CLEAN	1		/* Flag for lfs_bwrite_ext() */
    +#define PG_DELWRI	PG_PAGER1	/* Local def for delayed pageout */
    +
    +/* Resource limits */
    +#define	LFS_MAX_RESOURCE(x, u)	(((x) >> 2) - 10 * (u))
    +#define	LFS_WAIT_RESOURCE(x, u)	(((x) >> 1) - ((x) >> 3) - 10 * (u))
    +#define	LFS_INVERSE_MAX_RESOURCE(x, u)	(((x) + 10 * (u)) << 2)
    +#define LFS_MAX_BUFS	    LFS_MAX_RESOURCE(nbuf, 1)
    +#define LFS_WAIT_BUFS	    LFS_WAIT_RESOURCE(nbuf, 1)
    +#define LFS_INVERSE_MAX_BUFS(n)	LFS_INVERSE_MAX_RESOURCE(n, 1)
    +#define LFS_MAX_BYTES	    LFS_MAX_RESOURCE(bufmem_lowater, PAGE_SIZE)
    +#define LFS_INVERSE_MAX_BYTES(n) LFS_INVERSE_MAX_RESOURCE(n, PAGE_SIZE)
    +#define LFS_WAIT_BYTES	    LFS_WAIT_RESOURCE(bufmem_lowater, PAGE_SIZE)
    +#define LFS_MAX_DIROP	    ((desiredvnodes >> 2) + (desiredvnodes >> 3))
    +#define SIZEOF_DIROP(fs)	(2 * ((fs)->lfs_bsize + LFS_DINODE1_SIZE))
    +#define LFS_MAX_FSDIROP(fs)						\
    +	((fs)->lfs_nclean <= (fs)->lfs_resvseg ? 0 :			\
    +	 (((fs)->lfs_nclean - (fs)->lfs_resvseg) * (fs)->lfs_ssize) /	\
    +          (2 * SIZEOF_DIROP(fs)))
    +#define LFS_MAX_PAGES	lfs_max_pages()
    +#define LFS_WAIT_PAGES	lfs_wait_pages()
    +#define LFS_BUFWAIT	    2	/* How long to wait if over *_WAIT_* */
    +
    +#ifdef _KERNEL
    +extern u_long bufmem_lowater, bufmem_hiwater; /* XXX */
    +
    +int lfs_wait_pages(void);
    +int lfs_max_pages(void);
    +#endif /* _KERNEL */
    +
    +/* How starved can we be before we start holding back page writes */
    +#define LFS_STARVED_FOR_SEGS(fs) ((fs)->lfs_nclean < (fs)->lfs_resvseg)
    +
    +/*
    + * Reserved blocks for lfs_malloc
    + */
    +
    +/* Structure to keep reserved blocks */
    +typedef struct lfs_res_blk {
    +	void *p;
    +	LIST_ENTRY(lfs_res_blk) res;
    +	int size;
    +	char inuse;
    +} res_t;
    +
    +/* Types for lfs_newbuf and lfs_malloc */
    +#define LFS_NB_UNKNOWN -1
    +#define LFS_NB_SUMMARY	0
    +#define LFS_NB_SBLOCK	1
    +#define LFS_NB_IBLOCK	2
    +#define LFS_NB_CLUSTER	3
    +#define LFS_NB_CLEAN	4
    +#define LFS_NB_BLKIOV	5
    +#define LFS_NB_COUNT	6 /* always last */
    +
    +/* Number of reserved memory blocks of each type */
    +#define LFS_N_SUMMARIES 2
    +#define LFS_N_SBLOCKS	1   /* Always 1, to throttle superblock writes */
    +#define LFS_N_IBLOCKS	16  /* In theory ssize/bsize; in practice around 2 */
    +#define LFS_N_CLUSTERS	16  /* In theory ssize/MAXPHYS */
    +#define LFS_N_CLEAN	0
    +#define LFS_N_BLKIOV	1
    +
    +/* Total count of "large" (non-pool) types */
    +#define LFS_N_TOTAL (LFS_N_SUMMARIES + LFS_N_SBLOCKS + LFS_N_IBLOCKS +	\
    +		     LFS_N_CLUSTERS + LFS_N_CLEAN + LFS_N_BLKIOV)
    +
    +/* Counts for pool types */
    +#define LFS_N_CL	LFS_N_CLUSTERS
    +#define LFS_N_BPP	2
    +#define LFS_N_SEG	2
    +
    +/*
    + * "struct buf" associated definitions
    + */
    +
    +/* Determine if a buffer belongs to the ifile */
    +#define IS_IFILE(bp)	(VTOI(bp->b_vp)->i_number == LFS_IFILE_INUM)
    +
    +#ifdef _KERNEL
    +/* This overlays the fid structure (see fstypes.h). */
    +struct ulfs_ufid {
    +	u_int16_t ufid_len;	/* Length of structure. */
    +	u_int16_t ufid_pad;	/* Force 32-bit alignment. */
    +	u_int32_t ufid_ino;	/* File number (ino). */
    +	int32_t	  ufid_gen;	/* Generation number. */
    +};
    +/* Filehandle structure for exported LFSes */
    +struct lfid {
    +	struct ulfs_ufid lfid_ufid;
    +#define lfid_len lfid_ufid.ufid_len
    +#define lfid_ino lfid_ufid.ufid_ino
    +#define lfid_gen lfid_ufid.ufid_gen
    +	uint32_t lfid_ident;
    +};
    +#endif /* _KERNEL */
    +
    +/* Address calculations for metadata located in the inode */
    +#define	S_INDIR(fs)	-ULFS_NDADDR
    +#define	D_INDIR(fs)	(S_INDIR(fs) - LFS_NINDIR(fs) - 1)
    +#define	T_INDIR(fs)	(D_INDIR(fs) - LFS_NINDIR(fs) * LFS_NINDIR(fs) - 1)
    +
    +/*
    + * "struct vnode" associated definitions
    + */
    +
    +/* Heuristic emptiness measure */
    +#define VPISEMPTY(vp)	 (LIST_EMPTY(&(vp)->v_dirtyblkhd) && 		\
    +			  !(vp->v_type == VREG && (vp)->v_iflag & VI_ONWORKLST) &&\
    +			  VTOI(vp)->i_lfs_nbtree == 0)
    +
    +#define WRITEINPROG(vp) ((vp)->v_numoutput > 0 ||			\
    +	(!LIST_EMPTY(&(vp)->v_dirtyblkhd) &&				\
    +	 !(VTOI(vp)->i_flag & (IN_MODIFIED | IN_ACCESSED | IN_CLEANING))))
    +
    +
    +
    +
    +
    +#if defined(_KERNEL)
    +
    +/*
    + * The DIP macro is used to access fields in the dinode that are
    + * not cached in the inode itself.
    + */
    +#define	DIP(ip, field) \
    +	(((ip)->i_ump->um_fstype == ULFS1) ? \
    +	(ip)->i_ffs1_##field : (ip)->i_ffs2_##field)
    +
    +#define	DIP_ASSIGN(ip, field, value)					\
    +	do {								\
    +		if ((ip)->i_ump->um_fstype == ULFS1)			\
    +			(ip)->i_ffs1_##field = (value);			\
    +		else							\
    +			(ip)->i_ffs2_##field = (value);			\
    +	} while(0)
    +
    +#define	DIP_ADD(ip, field, value)					\
    +	do {								\
    +		if ((ip)->i_ump->um_fstype == ULFS1)			\
    +			(ip)->i_ffs1_##field += (value);		\
    +		else							\
    +			(ip)->i_ffs2_##field += (value);		\
    +	} while(0)
    +
    +#define	 SHORTLINK(ip) \
    +	(((ip)->i_ump->um_fstype == ULFS1) ? \
    +	(void *)(ip)->i_ffs1_db : (void *)(ip)->i_ffs2_db)
    +
    +
    +/*
    + * Structure used to pass around logical block paths generated by
    + * ulfs_getlbns and used by truncate and bmap code.
    + */
    +struct indir {
    +	daddr_t in_lbn;		/* Logical block number. */
    +	int	in_off;			/* Offset in buffer. */
    +	int	in_exists;		/* Flag if the block exists. */
    +};
    +
    +/* Convert between inode pointers and vnode pointers. */
    +#define	VTOI(vp)	((struct inode *)(vp)->v_data)
    +#define	ITOV(ip)	((ip)->i_vnode)
    +
    +#endif /* _KERNEL */
    +
    +#endif /* !_UFS_LFS_ULFS_INODE_H_ */
    diff --git a/sys/ufs/lfs/ulfs_lookup.c b/sys/ufs/lfs/ulfs_lookup.c
    new file mode 100644
    index 000000000..d7f0f2cbe
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_lookup.c
    @@ -0,0 +1,1526 @@
    +/*	$NetBSD: ulfs_lookup.c,v 1.17 2013/10/25 20:05:39 martin Exp $	*/
    +/*  from NetBSD: ufs_lookup.c,v 1.122 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_lookup.c	8.9 (Berkeley) 8/11/94
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_lookup.c,v 1.17 2013/10/25 20:05:39 martin Exp $");
    +
    +#ifdef _KERNEL_OPT
    +#include "opt_lfs.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#ifdef LFS_DIRHASH
    +#include 
    +#endif
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#ifdef DIAGNOSTIC
    +int	lfs_dirchk = 1;
    +#else
    +int	lfs_dirchk = 0;
    +#endif
    +
    +/*
    + * Convert a component of a pathname into a pointer to a locked inode.
    + * This is a very central and rather complicated routine.
    + * If the file system is not maintained in a strict tree hierarchy,
    + * this can result in a deadlock situation (see comments in code below).
    + *
    + * The cnp->cn_nameiop argument is LOOKUP, CREATE, RENAME, or DELETE depending
    + * on whether the name is to be looked up, created, renamed, or deleted.
    + * When CREATE, RENAME, or DELETE is specified, information usable in
    + * creating, renaming, or deleting a directory entry may be calculated.
    + * If flag has LOCKPARENT or'ed into it and the target of the pathname
    + * exists, lookup returns both the target and its parent directory locked.
    + * When creating or renaming and LOCKPARENT is specified, the target may
    + * not be ".".  When deleting and LOCKPARENT is specified, the target may
    + * be "."., but the caller must check to ensure it does an vrele and vput
    + * instead of two vputs.
    + *
    + * Overall outline of ulfs_lookup:
    + *
    + *	check accessibility of directory
    + *	look for name in cache, if found, then if at end of path
    + *	  and deleting or creating, drop it, else return name
    + *	search for name in directory, to found or notfound
    + * notfound:
    + *	if creating, return locked directory, leaving info on available slots
    + *	else return error
    + * found:
    + *	if at end of path and deleting, return information to allow delete
    + *	if at end of path and rewriting (RENAME and LOCKPARENT), lock target
    + *	  inode and return info to allow rewrite
    + *	if not at end, add name to cache; if at end and neither creating
    + *	  nor deleting, add name to cache
    + */
    +int
    +ulfs_lookup(void *v)
    +{
    +	struct vop_lookup_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode **a_vpp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	struct vnode *vdp = ap->a_dvp;	/* vnode for directory being searched */
    +	struct inode *dp = VTOI(vdp);	/* inode for directory being searched */
    +	struct buf *bp;			/* a buffer of directory entries */
    +	struct lfs_direct *ep;		/* the current directory entry */
    +	int entryoffsetinblock;		/* offset of ep in bp's buffer */
    +	enum {
    +		NONE,		/* need to search a slot for our new entry */
    +		COMPACT,	/* a compaction can make a slot in the current
    +				   DIRBLKSIZ block */
    +		FOUND,		/* found a slot (or no need to search) */
    +	} slotstatus;
    +	doff_t slotoffset;		/* offset of area with free space.
    +					   a special value -1 for invalid */
    +	int slotsize;			/* size of area at slotoffset */
    +	int slotfreespace;		/* accumulated amount of space free in
    +					   the current DIRBLKSIZ block */
    +	int slotneeded;			/* size of the entry we're seeking */
    +	int numdirpasses;		/* strategy for directory search */
    +	doff_t endsearch;		/* offset to end directory search */
    +	doff_t prevoff;			/* previous value of ulr_offset */
    +	struct vnode *pdp;		/* saved dp during symlink work */
    +	struct vnode *tdp;		/* returned by VFS_VGET */
    +	doff_t enduseful;		/* pointer past last used dir slot.
    +					   used for directory truncation. */
    +	u_long bmask;			/* block offset mask */
    +	int error;
    +	struct vnode **vpp = ap->a_vpp;
    +	struct componentname *cnp = ap->a_cnp;
    +	kauth_cred_t cred = cnp->cn_cred;
    +	int flags;
    +	int nameiop = cnp->cn_nameiop;
    +	struct lfs *fs = dp->i_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	int dirblksiz = fs->um_dirblksiz;
    +	ino_t foundino;
    +	struct ulfs_lookup_results *results;
    +	int iswhiteout;			/* temp result from cache_lookup() */
    +
    +	flags = cnp->cn_flags;
    +
    +	bp = NULL;
    +	slotoffset = -1;
    +	*vpp = NULL;
    +	endsearch = 0; /* silence compiler warning */
    +
    +	/*
    +	 * Produce the auxiliary lookup results into i_crap. Increment
    +	 * its serial number so elsewhere we can tell if we're using
    +	 * stale results. This should not be done this way. XXX.
    +	 */
    +	results = &dp->i_crap;
    +	dp->i_crapcounter++;
    +
    +	/*
    +	 * Check accessiblity of directory.
    +	 */
    +	if ((error = VOP_ACCESS(vdp, VEXEC, cred)) != 0)
    +		return (error);
    +
    +	if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) &&
    +	    (nameiop == DELETE || nameiop == RENAME))
    +		return (EROFS);
    +
    +	/*
    +	 * We now have a segment name to search for, and a directory to search.
    +	 *
    +	 * Before tediously performing a linear scan of the directory,
    +	 * check the name cache to see if the directory/name pair
    +	 * we are looking for is known already.
    +	 */
    +	if (cache_lookup(vdp, cnp->cn_nameptr, cnp->cn_namelen,
    +			 cnp->cn_nameiop, cnp->cn_flags, &iswhiteout, vpp)) {
    +		if (iswhiteout) {
    +			cnp->cn_flags |= ISWHITEOUT;
    +		}
    +		return *vpp == NULLVP ? ENOENT : 0;
    +	}
    +	if (iswhiteout) {
    +		/*
    +		 * The namecache set iswhiteout without finding a
    +		 * cache entry. As of this writing (20121014), this
    +		 * can happen if there was a whiteout entry that has
    +		 * been invalidated by the lookup. It is not clear if
    +		 * it is correct to set ISWHITEOUT in this case or
    +		 * not; however, doing so retains the prior behavior,
    +		 * so we'll go with that until some clearer answer
    +		 * appears. XXX
    +		 */
    +		cnp->cn_flags |= ISWHITEOUT;
    +	}
    +
    +	fstrans_start(vdp->v_mount, FSTRANS_SHARED);
    +
    +	/*
    +	 * Suppress search for slots unless creating
    +	 * file and at end of pathname, in which case
    +	 * we watch for a place to put the new file in
    +	 * case it doesn't already exist.
    +	 */
    +	slotstatus = FOUND;
    +	slotfreespace = slotsize = slotneeded = 0;
    +	if ((nameiop == CREATE || nameiop == RENAME) && (flags & ISLASTCN)) {
    +		slotstatus = NONE;
    +		slotneeded = LFS_DIRECTSIZ(cnp->cn_namelen);
    +	}
    +
    +	/*
    +	 * If there is cached information on a previous search of
    +	 * this directory, pick up where we last left off.
    +	 * We cache only lookups as these are the most common
    +	 * and have the greatest payoff. Caching CREATE has little
    +	 * benefit as it usually must search the entire directory
    +	 * to determine that the entry does not exist. Caching the
    +	 * location of the last DELETE or RENAME has not reduced
    +	 * profiling time and hence has been removed in the interest
    +	 * of simplicity.
    +	 */
    +	bmask = vdp->v_mount->mnt_stat.f_iosize - 1;
    +
    +#ifdef LFS_DIRHASH
    +	/*
    +	 * Use dirhash for fast operations on large directories. The logic
    +	 * to determine whether to hash the directory is contained within
    +	 * ulfsdirhash_build(); a zero return means that it decided to hash
    +	 * this directory and it successfully built up the hash table.
    +	 */
    +	if (ulfsdirhash_build(dp) == 0) {
    +		/* Look for a free slot if needed. */
    +		enduseful = dp->i_size;
    +		if (slotstatus != FOUND) {
    +			slotoffset = ulfsdirhash_findfree(dp, slotneeded,
    +			    &slotsize);
    +			if (slotoffset >= 0) {
    +				slotstatus = COMPACT;
    +				enduseful = ulfsdirhash_enduseful(dp);
    +				if (enduseful < 0)
    +					enduseful = dp->i_size;
    +			}
    +		}
    +		/* Look up the component. */
    +		numdirpasses = 1;
    +		entryoffsetinblock = 0; /* silence compiler warning */
    +		switch (ulfsdirhash_lookup(dp, cnp->cn_nameptr, cnp->cn_namelen,
    +		    &results->ulr_offset, &bp, nameiop == DELETE ? &prevoff : NULL)) {
    +		case 0:
    +			ep = (struct lfs_direct *)((char *)bp->b_data +
    +			    (results->ulr_offset & bmask));
    +			goto foundentry;
    +		case ENOENT:
    +			results->ulr_offset = roundup(dp->i_size, dirblksiz);
    +			goto notfound;
    +		default:
    +			/* Something failed; just do a linear search. */
    +			break;
    +		}
    +	}
    +#endif /* LFS_DIRHASH */
    +
    +	if (nameiop != LOOKUP || results->ulr_diroff == 0 ||
    +	    results->ulr_diroff >= dp->i_size) {
    +		entryoffsetinblock = 0;
    +		results->ulr_offset = 0;
    +		numdirpasses = 1;
    +	} else {
    +		results->ulr_offset = results->ulr_diroff;
    +		if ((entryoffsetinblock = results->ulr_offset & bmask) &&
    +		    (error = ulfs_blkatoff(vdp, (off_t)results->ulr_offset,
    +		    NULL, &bp, false)))
    +			goto out;
    +		numdirpasses = 2;
    +		nchstats.ncs_2passes++;
    +	}
    +	prevoff = results->ulr_offset;
    +	endsearch = roundup(dp->i_size, dirblksiz);
    +	enduseful = 0;
    +
    +searchloop:
    +	while (results->ulr_offset < endsearch) {
    +		if (curcpu()->ci_schedstate.spc_flags & SPCF_SHOULDYIELD)
    +			preempt();
    +		/*
    +		 * If necessary, get the next directory block.
    +		 */
    +		if ((results->ulr_offset & bmask) == 0) {
    +			if (bp != NULL)
    +				brelse(bp, 0);
    +			error = ulfs_blkatoff(vdp, (off_t)results->ulr_offset,
    +			    NULL, &bp, false);
    +			if (error)
    +				goto out;
    +			entryoffsetinblock = 0;
    +		}
    +		/*
    +		 * If still looking for a slot, and at a DIRBLKSIZ
    +		 * boundary, have to start looking for free space again.
    +		 */
    +		if (slotstatus == NONE &&
    +		    (entryoffsetinblock & (dirblksiz - 1)) == 0) {
    +			slotoffset = -1;
    +			slotfreespace = 0;
    +		}
    +		/*
    +		 * Get pointer to next entry.
    +		 * Full validation checks are slow, so we only check
    +		 * enough to insure forward progress through the
    +		 * directory. Complete checks can be run by patching
    +		 * "lfs_dirchk" to be true.
    +		 */
    +		KASSERT(bp != NULL);
    +		ep = (struct lfs_direct *)((char *)bp->b_data + entryoffsetinblock);
    +		if (ep->d_reclen == 0 ||
    +		    (lfs_dirchk && ulfs_dirbadentry(vdp, ep, entryoffsetinblock))) {
    +			int i;
    +
    +			ulfs_dirbad(dp, results->ulr_offset, "mangled entry");
    +			i = dirblksiz - (entryoffsetinblock & (dirblksiz - 1));
    +			results->ulr_offset += i;
    +			entryoffsetinblock += i;
    +			continue;
    +		}
    +
    +		/*
    +		 * If an appropriate sized slot has not yet been found,
    +		 * check to see if one is available. Also accumulate space
    +		 * in the current block so that we can determine if
    +		 * compaction is viable.
    +		 */
    +		if (slotstatus != FOUND) {
    +			int size = ulfs_rw16(ep->d_reclen, needswap);
    +
    +			if (ep->d_ino != 0)
    +				size -= LFS_DIRSIZ(FSFMT(vdp), ep, needswap);
    +			if (size > 0) {
    +				if (size >= slotneeded) {
    +					slotstatus = FOUND;
    +					slotoffset = results->ulr_offset;
    +					slotsize = ulfs_rw16(ep->d_reclen,
    +					    needswap);
    +				} else if (slotstatus == NONE) {
    +					slotfreespace += size;
    +					if (slotoffset == -1)
    +						slotoffset = results->ulr_offset;
    +					if (slotfreespace >= slotneeded) {
    +						slotstatus = COMPACT;
    +						slotsize = results->ulr_offset +
    +						    ulfs_rw16(ep->d_reclen,
    +							     needswap) -
    +						    slotoffset;
    +					}
    +				}
    +			}
    +		}
    +
    +		/*
    +		 * Check for a name match.
    +		 */
    +		if (ep->d_ino) {
    +			int namlen;
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +			if (FSFMT(vdp) && needswap == 0)
    +				namlen = ep->d_type;
    +			else
    +				namlen = ep->d_namlen;
    +#else
    +			if (FSFMT(vdp) && needswap != 0)
    +				namlen = ep->d_type;
    +			else
    +				namlen = ep->d_namlen;
    +#endif
    +			if (namlen == cnp->cn_namelen &&
    +			    !memcmp(cnp->cn_nameptr, ep->d_name,
    +			    (unsigned)namlen)) {
    +#ifdef LFS_DIRHASH
    +foundentry:
    +#endif
    +				/*
    +				 * Save directory entry's inode number and
    +				 * reclen, and release directory buffer.
    +				 */
    +				if (!FSFMT(vdp) && ep->d_type == LFS_DT_WHT) {
    +					slotstatus = FOUND;
    +					slotoffset = results->ulr_offset;
    +					slotsize = ulfs_rw16(ep->d_reclen,
    +					    needswap);
    +					results->ulr_reclen = slotsize;
    +					/*
    +					 * This is used to set
    +					 * results->ulr_endoff,
    +					 * which may be used by ulfs_direnter()
    +					 * as a length to truncate the
    +					 * directory to.  Therefore, it must
    +					 * point past the end of the last
    +					 * non-empty directory entry.  We don't
    +					 * know where that is in this case, so
    +					 * we effectively disable shrinking by
    +					 * using the existing size of the
    +					 * directory.
    +					 *
    +					 * Note that we wouldn't expect to
    +					 * shrink the directory while rewriting
    +					 * an existing entry anyway.
    +					 */
    +					enduseful = endsearch;
    +					cnp->cn_flags |= ISWHITEOUT;
    +					numdirpasses--;
    +					goto notfound;
    +				}
    +				foundino = ulfs_rw32(ep->d_ino, needswap);
    +				results->ulr_reclen =
    +				    ulfs_rw16(ep->d_reclen, needswap);
    +				goto found;
    +			}
    +		}
    +		prevoff = results->ulr_offset;
    +		results->ulr_offset += ulfs_rw16(ep->d_reclen, needswap);
    +		entryoffsetinblock += ulfs_rw16(ep->d_reclen, needswap);
    +		if (ep->d_ino)
    +			enduseful = results->ulr_offset;
    +	}
    +notfound:
    +	/*
    +	 * If we started in the middle of the directory and failed
    +	 * to find our target, we must check the beginning as well.
    +	 */
    +	if (numdirpasses == 2) {
    +		numdirpasses--;
    +		results->ulr_offset = 0;
    +		endsearch = results->ulr_diroff;
    +		goto searchloop;
    +	}
    +	if (bp != NULL)
    +		brelse(bp, 0);
    +	/*
    +	 * If creating, and at end of pathname and current
    +	 * directory has not been removed, then can consider
    +	 * allowing file to be created.
    +	 */
    +	if ((nameiop == CREATE || nameiop == RENAME ||
    +	     (nameiop == DELETE &&
    +	      (cnp->cn_flags & DOWHITEOUT) &&
    +	      (cnp->cn_flags & ISWHITEOUT))) &&
    +	    (flags & ISLASTCN) && dp->i_nlink != 0) {
    +		/*
    +		 * Access for write is interpreted as allowing
    +		 * creation of files in the directory.
    +		 */
    +		error = VOP_ACCESS(vdp, VWRITE, cred);
    +		if (error)
    +			goto out;
    +		/*
    +		 * Return an indication of where the new directory
    +		 * entry should be put.  If we didn't find a slot,
    +		 * then set results->ulr_count to 0 indicating
    +		 * that the new slot belongs at the end of the
    +		 * directory. If we found a slot, then the new entry
    +		 * can be put in the range from results->ulr_offset to
    +		 * results->ulr_offset + results->ulr_count.
    +		 */
    +		if (slotstatus == NONE) {
    +			results->ulr_offset = roundup(dp->i_size, dirblksiz);
    +			results->ulr_count = 0;
    +			enduseful = results->ulr_offset;
    +		} else if (nameiop == DELETE) {
    +			results->ulr_offset = slotoffset;
    +			if ((results->ulr_offset & (dirblksiz - 1)) == 0)
    +				results->ulr_count = 0;
    +			else
    +				results->ulr_count =
    +				    results->ulr_offset - prevoff;
    +		} else {
    +			results->ulr_offset = slotoffset;
    +			results->ulr_count = slotsize;
    +			if (enduseful < slotoffset + slotsize)
    +				enduseful = slotoffset + slotsize;
    +		}
    +		results->ulr_endoff = roundup(enduseful, dirblksiz);
    +#if 0 /* commented out by dbj. none of the on disk fields changed */
    +		dp->i_flag |= IN_CHANGE | IN_UPDATE;
    +#endif
    +		/*
    +		 * We return with the directory locked, so that
    +		 * the parameters we set up above will still be
    +		 * valid if we actually decide to do a direnter().
    +		 * We return ni_vp == NULL to indicate that the entry
    +		 * does not currently exist; we leave a pointer to
    +		 * the (locked) directory inode in ndp->ni_dvp.
    +		 *
    +		 * NB - if the directory is unlocked, then this
    +		 * information cannot be used.
    +		 */
    +		error = EJUSTRETURN;
    +		goto out;
    +	}
    +	/*
    +	 * Insert name into cache (as non-existent) if appropriate.
    +	 */
    +	if (nameiop != CREATE) {
    +		cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +	}
    +	error = ENOENT;
    +	goto out;
    +
    +found:
    +	if (numdirpasses == 2)
    +		nchstats.ncs_pass2++;
    +	/*
    +	 * Check that directory length properly reflects presence
    +	 * of this entry.
    +	 */
    +	if (results->ulr_offset + LFS_DIRSIZ(FSFMT(vdp), ep, needswap) > dp->i_size) {
    +		ulfs_dirbad(dp, results->ulr_offset, "i_size too small");
    +		dp->i_size =
    +		    results->ulr_offset + LFS_DIRSIZ(FSFMT(vdp), ep, needswap);
    +		DIP_ASSIGN(dp, size, dp->i_size);
    +		dp->i_flag |= IN_CHANGE | IN_UPDATE;
    +	}
    +	brelse(bp, 0);
    +
    +	/*
    +	 * Found component in pathname.
    +	 * If the final component of path name, save information
    +	 * in the cache as to where the entry was found.
    +	 */
    +	if ((flags & ISLASTCN) && nameiop == LOOKUP)
    +		results->ulr_diroff = results->ulr_offset &~ (dirblksiz - 1);
    +
    +	/*
    +	 * If deleting, and at end of pathname, return
    +	 * parameters which can be used to remove file.
    +	 * Lock the inode, being careful with ".".
    +	 */
    +	if (nameiop == DELETE && (flags & ISLASTCN)) {
    +		/*
    +		 * Return pointer to current entry in results->ulr_offset,
    +		 * and distance past previous entry (if there
    +		 * is a previous entry in this block) in results->ulr_count.
    +		 * Save directory inode pointer in ndp->ni_dvp for dirremove().
    +		 */
    +		if ((results->ulr_offset & (dirblksiz - 1)) == 0)
    +			results->ulr_count = 0;
    +		else
    +			results->ulr_count = results->ulr_offset - prevoff;
    +		if (dp->i_number == foundino) {
    +			vref(vdp);
    +			tdp = vdp;
    +		} else {
    +			if (flags & ISDOTDOT)
    +				VOP_UNLOCK(vdp); /* race to get the inode */
    +			error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    +			if (flags & ISDOTDOT)
    +				vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY);
    +			if (error)
    +				goto out;
    +		}
    +		/*
    +		 * Write access to directory required to delete files.
    +		 */
    +		error = VOP_ACCESS(vdp, VWRITE, cred);
    +		if (error) {
    +			if (dp->i_number == foundino)
    +				vrele(tdp);
    +			else
    +				vput(tdp);
    +			goto out;
    +		}
    +		/*
    +		 * If directory is "sticky", then user must own
    +		 * the directory, or the file in it, else she
    +		 * may not delete it (unless she's root). This
    +		 * implements append-only directories.
    +		 */
    +		if (dp->i_mode & ISVTX) {
    +			error = kauth_authorize_vnode(cred, KAUTH_VNODE_DELETE,
    +			    tdp, vdp, genfs_can_sticky(cred, dp->i_uid,
    +			    VTOI(tdp)->i_uid));
    +			if (error) {
    +				if (dp->i_number == foundino)
    +					vrele(tdp);
    +				else
    +					vput(tdp);
    +				error = EPERM;
    +				goto out;
    +			}
    +		}
    +		*vpp = tdp;
    +		error = 0;
    +		goto out;
    +	}
    +
    +	/*
    +	 * If rewriting (RENAME), return the inode and the
    +	 * information required to rewrite the present directory
    +	 * Must get inode of directory entry to verify it's a
    +	 * regular file, or empty directory.
    +	 */
    +	if (nameiop == RENAME && (flags & ISLASTCN)) {
    +		error = VOP_ACCESS(vdp, VWRITE, cred);
    +		if (error)
    +			goto out;
    +		/*
    +		 * Careful about locking second inode.
    +		 * This can only occur if the target is ".".
    +		 */
    +		if (dp->i_number == foundino) {
    +			error = EISDIR;
    +			goto out;
    +		}
    +		if (flags & ISDOTDOT)
    +			VOP_UNLOCK(vdp); /* race to get the inode */
    +		error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    +		if (flags & ISDOTDOT)
    +			vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY);
    +		if (error)
    +			goto out;
    +		*vpp = tdp;
    +		error = 0;
    +		goto out;
    +	}
    +
    +	/*
    +	 * Step through the translation in the name.  We do not `vput' the
    +	 * directory because we may need it again if a symbolic link
    +	 * is relative to the current directory.  Instead we save it
    +	 * unlocked as "pdp".  We must get the target inode before unlocking
    +	 * the directory to insure that the inode will not be removed
    +	 * before we get it.  We prevent deadlock by always fetching
    +	 * inodes from the root, moving down the directory tree. Thus
    +	 * when following backward pointers ".." we must unlock the
    +	 * parent directory before getting the requested directory.
    +	 * There is a potential race condition here if both the current
    +	 * and parent directories are removed before the VFS_VGET for the
    +	 * inode associated with ".." returns.  We hope that this occurs
    +	 * infrequently since we cannot avoid this race condition without
    +	 * implementing a sophisticated deadlock detection algorithm.
    +	 * Note also that this simple deadlock detection scheme will not
    +	 * work if the file system has any hard links other than ".."
    +	 * that point backwards in the directory structure.
    +	 */
    +	pdp = vdp;
    +	if (flags & ISDOTDOT) {
    +		VOP_UNLOCK(pdp);	/* race to get the inode */
    +		error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    +		vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY);
    +		if (error) {
    +			goto out;
    +		}
    +		*vpp = tdp;
    +	} else if (dp->i_number == foundino) {
    +		vref(vdp);	/* we want ourself, ie "." */
    +		*vpp = vdp;
    +	} else {
    +		error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    +		if (error)
    +			goto out;
    +		*vpp = tdp;
    +	}
    +
    +	/*
    +	 * Insert name into cache if appropriate.
    +	 */
    +	cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
    +	error = 0;
    +
    +out:
    +	fstrans_done(vdp->v_mount);
    +	return error;
    +}
    +
    +void
    +ulfs_dirbad(struct inode *ip, doff_t offset, const char *how)
    +{
    +	struct mount *mp;
    +
    +	mp = ITOV(ip)->v_mount;
    +	printf("%s: bad dir ino %llu at offset %d: %s\n",
    +	    mp->mnt_stat.f_mntonname, (unsigned long long)ip->i_number,
    +	    offset, how);
    +	if ((mp->mnt_stat.f_flag & MNT_RDONLY) == 0)
    +		panic("bad dir");
    +}
    +
    +/*
    + * Do consistency checking on a directory entry:
    + *	record length must be multiple of 4
    + *	entry must fit in rest of its DIRBLKSIZ block
    + *	record must be large enough to contain entry
    + *	name is not longer than LFS_MAXNAMLEN
    + *	name must be as long as advertised, and null terminated
    + */
    +int
    +ulfs_dirbadentry(struct vnode *dp, struct lfs_direct *ep, int entryoffsetinblock)
    +{
    +	int i;
    +	int namlen;
    +	struct ulfsmount *ump = VFSTOULFS(dp->v_mount);
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	int dirblksiz = fs->um_dirblksiz;
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +	if (FSFMT(dp) && needswap == 0)
    +		namlen = ep->d_type;
    +	else
    +		namlen = ep->d_namlen;
    +#else
    +	if (FSFMT(dp) && needswap != 0)
    +		namlen = ep->d_type;
    +	else
    +		namlen = ep->d_namlen;
    +#endif
    +	if ((ulfs_rw16(ep->d_reclen, needswap) & 0x3) != 0 ||
    +	    ulfs_rw16(ep->d_reclen, needswap) >
    +		dirblksiz - (entryoffsetinblock & (dirblksiz - 1)) ||
    +	    ulfs_rw16(ep->d_reclen, needswap) <
    +		LFS_DIRSIZ(FSFMT(dp), ep, needswap) ||
    +	    namlen > LFS_MAXNAMLEN) {
    +		/*return (1); */
    +		printf("First bad, reclen=%#x, DIRSIZ=%lu, namlen=%d, "
    +			"flags=%#x, entryoffsetinblock=%d, dirblksiz = %d\n",
    +			ulfs_rw16(ep->d_reclen, needswap),
    +			(u_long)LFS_DIRSIZ(FSFMT(dp), ep, needswap),
    +			namlen, dp->v_mount->mnt_flag, entryoffsetinblock,
    +			dirblksiz);
    +		goto bad;
    +	}
    +	if (ep->d_ino == 0)
    +		return (0);
    +	for (i = 0; i < namlen; i++)
    +		if (ep->d_name[i] == '\0') {
    +			/*return (1); */
    +			printf("Second bad\n");
    +			goto bad;
    +	}
    +	if (ep->d_name[i])
    +		goto bad;
    +	return (0);
    +bad:
    +	return (1);
    +}
    +
    +/*
    + * Construct a new directory entry after a call to namei, using the
    + * name in the componentname argument cnp. The argument ip is the
    + * inode to which the new directory entry will refer.
    + */
    +void
    +ulfs_makedirentry(struct inode *ip, struct componentname *cnp,
    +    struct lfs_direct *newdirp)
    +{
    +	newdirp->d_ino = ip->i_number;
    +	newdirp->d_namlen = cnp->cn_namelen;
    +	memcpy(newdirp->d_name, cnp->cn_nameptr, (size_t)cnp->cn_namelen);
    +	newdirp->d_name[cnp->cn_namelen] = '\0';
    +	if (FSFMT(ITOV(ip)))
    +		newdirp->d_type = 0;
    +	else
    +		newdirp->d_type = LFS_IFTODT(ip->i_mode);
    +}
    +
    +/*
    + * Write a directory entry after a call to namei, using the parameters
    + * that ulfs_lookup left in nameidata and in the ulfs_lookup_results.
    + *
    + * DVP is the directory to be updated. It must be locked.
    + * ULR is the ulfs_lookup_results structure from the final lookup step.
    + * TVP is not used. (XXX: why is it here? remove it)
    + * DIRP is the new directory entry contents.
    + * CNP is the componentname from the final lookup step.
    + * NEWDIRBP is not used and (XXX) should be removed. The previous
    + * comment here said it was used by the now-removed softupdates code.
    + *
    + * The link count of the target inode is *not* incremented; the
    + * caller does that.
    + *
    + * If ulr->ulr_count is 0, ulfs_lookup did not find space to insert the
    + * directory entry. ulr_offset, which is the place to put the entry,
    + * should be on a block boundary (and should be at the end of the
    + * directory AFAIK) and a fresh block is allocated to put the new
    + * directory entry in.
    + *
    + * If ulr->ulr_count is not zero, ulfs_lookup found a slot to insert
    + * the entry into. This slot ranges from ulr_offset to ulr_offset +
    + * ulr_count. However, this slot may already be partially populated
    + * requiring compaction. See notes below.
    + *
    + * Furthermore, if ulr_count is not zero and ulr_endoff is not the
    + * same as i_size, the directory is truncated to size ulr_endoff.
    + */
    +int
    +ulfs_direnter(struct vnode *dvp, const struct ulfs_lookup_results *ulr,
    +    struct vnode *tvp, struct lfs_direct *dirp,
    +    struct componentname *cnp, struct buf *newdirbp)
    +{
    +	kauth_cred_t cr;
    +	int newentrysize;
    +	struct inode *dp;
    +	struct buf *bp;
    +	u_int dsize;
    +	struct lfs_direct *ep, *nep;
    +	int error, ret, lfs_blkoff, loc, spacefree;
    +	char *dirbuf;
    +	struct timespec ts;
    +	struct ulfsmount *ump = VFSTOULFS(dvp->v_mount);
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	int dirblksiz = fs->um_dirblksiz;
    +
    +	error = 0;
    +	cr = cnp->cn_cred;
    +
    +	dp = VTOI(dvp);
    +	newentrysize = LFS_DIRSIZ(0, dirp, 0);
    +
    +	if (ulr->ulr_count == 0) {
    +		/*
    +		 * If ulr_count is 0, then namei could find no
    +		 * space in the directory. Here, ulr_offset will
    +		 * be on a directory block boundary and we will write the
    +		 * new entry into a fresh block.
    +		 */
    +		if (ulr->ulr_offset & (dirblksiz - 1))
    +			panic("ulfs_direnter: newblk");
    +		if ((error = lfs_balloc(dvp, (off_t)ulr->ulr_offset, dirblksiz,
    +		    cr, B_CLRBUF | B_SYNC, &bp)) != 0) {
    +			return (error);
    +		}
    +		dp->i_size = ulr->ulr_offset + dirblksiz;
    +		DIP_ASSIGN(dp, size, dp->i_size);
    +		dp->i_flag |= IN_CHANGE | IN_UPDATE;
    +		uvm_vnp_setsize(dvp, dp->i_size);
    +		dirp->d_reclen = ulfs_rw16(dirblksiz, needswap);
    +		dirp->d_ino = ulfs_rw32(dirp->d_ino, needswap);
    +		if (FSFMT(dvp)) {
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +			if (needswap == 0) {
    +#else
    +			if (needswap != 0) {
    +#endif
    +				u_char tmp = dirp->d_namlen;
    +				dirp->d_namlen = dirp->d_type;
    +				dirp->d_type = tmp;
    +			}
    +		}
    +		lfs_blkoff = ulr->ulr_offset & (ump->um_mountp->mnt_stat.f_iosize - 1);
    +		memcpy((char *)bp->b_data + lfs_blkoff, dirp, newentrysize);
    +#ifdef LFS_DIRHASH
    +		if (dp->i_dirhash != NULL) {
    +			ulfsdirhash_newblk(dp, ulr->ulr_offset);
    +			ulfsdirhash_add(dp, dirp, ulr->ulr_offset);
    +			ulfsdirhash_checkblock(dp, (char *)bp->b_data + lfs_blkoff,
    +			    ulr->ulr_offset);
    +		}
    +#endif
    +		error = VOP_BWRITE(bp->b_vp, bp);
    +		vfs_timestamp(&ts);
    +		ret = lfs_update(dvp, &ts, &ts, UPDATE_DIROP);
    +		if (error == 0)
    +			return (ret);
    +		return (error);
    +	}
    +
    +	/*
    +	 * If ulr_count is non-zero, then namei found space for the new
    +	 * entry in the range ulr_offset to ulr_offset + ulr_count
    +	 * in the directory. To use this space, we may have to compact
    +	 * the entries located there, by copying them together towards the
    +	 * beginning of the block, leaving the free space in one usable
    +	 * chunk at the end.
    +	 */
    +
    +	/*
    +	 * Increase size of directory if entry eats into new space.
    +	 * This should never push the size past a new multiple of
    +	 * DIRBLKSIZ.
    +	 *
    +	 * N.B. - THIS IS AN ARTIFACT OF 4.2 AND SHOULD NEVER HAPPEN.
    +	 */
    +	if (ulr->ulr_offset + ulr->ulr_count > dp->i_size) {
    +#ifdef DIAGNOSTIC
    +		printf("ulfs_direnter: reached 4.2-only block, "
    +		       "not supposed to happen\n");
    +#endif
    +		dp->i_size = ulr->ulr_offset + ulr->ulr_count;
    +		DIP_ASSIGN(dp, size, dp->i_size);
    +		dp->i_flag |= IN_CHANGE | IN_UPDATE;
    +	}
    +	/*
    +	 * Get the block containing the space for the new directory entry.
    +	 */
    +	error = ulfs_blkatoff(dvp, (off_t)ulr->ulr_offset, &dirbuf, &bp, true);
    +	if (error) {
    +		return (error);
    +	}
    +	/*
    +	 * Find space for the new entry. In the simple case, the entry at
    +	 * offset base will have the space. If it does not, then namei
    +	 * arranged that compacting the region ulr_offset to
    +	 * ulr_offset + ulr_count would yield the space.
    +	 */
    +	ep = (struct lfs_direct *)dirbuf;
    +	dsize = (ep->d_ino != 0) ? LFS_DIRSIZ(FSFMT(dvp), ep, needswap) : 0;
    +	spacefree = ulfs_rw16(ep->d_reclen, needswap) - dsize;
    +	for (loc = ulfs_rw16(ep->d_reclen, needswap); loc < ulr->ulr_count; ) {
    +		uint16_t reclen;
    +
    +		nep = (struct lfs_direct *)(dirbuf + loc);
    +
    +		/* Trim the existing slot (NB: dsize may be zero). */
    +		ep->d_reclen = ulfs_rw16(dsize, needswap);
    +		ep = (struct lfs_direct *)((char *)ep + dsize);
    +
    +		reclen = ulfs_rw16(nep->d_reclen, needswap);
    +		loc += reclen;
    +		if (nep->d_ino == 0) {
    +			/*
    +			 * A mid-block unused entry. Such entries are
    +			 * never created by the kernel, but fsck_ffs
    +			 * can create them (and it doesn't fix them).
    +			 *
    +			 * Add up the free space, and initialise the
    +			 * relocated entry since we don't memcpy it.
    +			 */
    +			spacefree += reclen;
    +			ep->d_ino = 0;
    +			dsize = 0;
    +			continue;
    +		}
    +		dsize = LFS_DIRSIZ(FSFMT(dvp), nep, needswap);
    +		spacefree += reclen - dsize;
    +#ifdef LFS_DIRHASH
    +		if (dp->i_dirhash != NULL)
    +			ulfsdirhash_move(dp, nep,
    +			    ulr->ulr_offset + ((char *)nep - dirbuf),
    +			    ulr->ulr_offset + ((char *)ep - dirbuf));
    +#endif
    +		memcpy((void *)ep, (void *)nep, dsize);
    +	}
    +	/*
    +	 * Here, `ep' points to a directory entry containing `dsize' in-use
    +	 * bytes followed by `spacefree' unused bytes. If ep->d_ino == 0,
    +	 * then the entry is completely unused (dsize == 0). The value
    +	 * of ep->d_reclen is always indeterminate.
    +	 *
    +	 * Update the pointer fields in the previous entry (if any),
    +	 * copy in the new entry, and write out the block.
    +	 */
    +	if (ep->d_ino == 0 ||
    +	    (ulfs_rw32(ep->d_ino, needswap) == ULFS_WINO &&
    +	     memcmp(ep->d_name, dirp->d_name, dirp->d_namlen) == 0)) {
    +		if (spacefree + dsize < newentrysize)
    +			panic("ulfs_direnter: compact1");
    +		dirp->d_reclen = spacefree + dsize;
    +	} else {
    +		if (spacefree < newentrysize)
    +			panic("ulfs_direnter: compact2");
    +		dirp->d_reclen = spacefree;
    +		ep->d_reclen = ulfs_rw16(dsize, needswap);
    +		ep = (struct lfs_direct *)((char *)ep + dsize);
    +	}
    +	dirp->d_reclen = ulfs_rw16(dirp->d_reclen, needswap);
    +	dirp->d_ino = ulfs_rw32(dirp->d_ino, needswap);
    +	if (FSFMT(dvp)) {
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +		if (needswap == 0) {
    +#else
    +		if (needswap != 0) {
    +#endif
    +			u_char tmp = dirp->d_namlen;
    +			dirp->d_namlen = dirp->d_type;
    +			dirp->d_type = tmp;
    +		}
    +	}
    +#ifdef LFS_DIRHASH
    +	if (dp->i_dirhash != NULL && (ep->d_ino == 0 ||
    +	    dirp->d_reclen == spacefree))
    +		ulfsdirhash_add(dp, dirp, ulr->ulr_offset + ((char *)ep - dirbuf));
    +#endif
    +	memcpy((void *)ep, (void *)dirp, (u_int)newentrysize);
    +#ifdef LFS_DIRHASH
    +	if (dp->i_dirhash != NULL)
    +		ulfsdirhash_checkblock(dp, dirbuf -
    +		    (ulr->ulr_offset & (dirblksiz - 1)),
    +		    ulr->ulr_offset & ~(dirblksiz - 1));
    +#endif
    +	error = VOP_BWRITE(bp->b_vp, bp);
    +	dp->i_flag |= IN_CHANGE | IN_UPDATE;
    +	/*
    +	 * If all went well, and the directory can be shortened, proceed
    +	 * with the truncation. Note that we have to unlock the inode for
    +	 * the entry that we just entered, as the truncation may need to
    +	 * lock other inodes which can lead to deadlock if we also hold a
    +	 * lock on the newly entered node.
    +	 */
    +	if (error == 0 && ulr->ulr_endoff && ulr->ulr_endoff < dp->i_size) {
    +#ifdef LFS_DIRHASH
    +		if (dp->i_dirhash != NULL)
    +			ulfsdirhash_dirtrunc(dp, ulr->ulr_endoff);
    +#endif
    +		(void) lfs_truncate(dvp, (off_t)ulr->ulr_endoff, IO_SYNC, cr);
    +	}
    +	return (error);
    +}
    +
    +/*
    + * Remove a directory entry after a call to namei, using the
    + * parameters that ulfs_lookup left in nameidata and in the
    + * ulfs_lookup_results.
    + *
    + * DVP is the directory to be updated. It must be locked.
    + * ULR is the ulfs_lookup_results structure from the final lookup step.
    + * IP, if not null, is the inode being unlinked.
    + * FLAGS may contain DOWHITEOUT.
    + * ISRMDIR is not used and (XXX) should be removed.
    + *
    + * If FLAGS contains DOWHITEOUT the entry is replaced with a whiteout
    + * instead of being cleared.
    + *
    + * ulr->ulr_offset contains the position of the directory entry
    + * to be removed.
    + *
    + * ulr->ulr_reclen contains the size of the directory entry to be
    + * removed.
    + *
    + * ulr->ulr_count contains the size of the *previous* directory
    + * entry. This allows finding it, for free space management. If
    + * ulr_count is 0, the target entry is at the beginning of the
    + * directory. (Does this ever happen? The first entry should be ".",
    + * which should only be removed at rmdir time. Does rmdir come here
    + * to clear out the "." and ".." entries? Perhaps, but I doubt it.)
    + *
    + * The space is marked free by adding it to the record length (not
    + * name length) of the preceding entry. If the first entry becomes
    + * free, it is marked free by setting the inode number to 0.
    + *
    + * The link count of IP is decremented. Note that this is not the
    + * inverse behavior of ulfs_direnter, which does not adjust link
    + * counts. Sigh.
    + */
    +int
    +ulfs_dirremove(struct vnode *dvp, const struct ulfs_lookup_results *ulr,
    +	      struct inode *ip, int flags, int isrmdir)
    +{
    +	struct inode *dp = VTOI(dvp);
    +	struct lfs_direct *ep;
    +	struct buf *bp;
    +	int error;
    +	const int needswap = ULFS_MPNEEDSWAP(dp->i_lfs);
    +
    +	if (flags & DOWHITEOUT) {
    +		/*
    +		 * Whiteout entry: set d_ino to ULFS_WINO.
    +		 */
    +		error = ulfs_blkatoff(dvp, (off_t)ulr->ulr_offset, (void *)&ep,
    +				     &bp, true);
    +		if (error)
    +			return (error);
    +		ep->d_ino = ulfs_rw32(ULFS_WINO, needswap);
    +		ep->d_type = LFS_DT_WHT;
    +		goto out;
    +	}
    +
    +	if ((error = ulfs_blkatoff(dvp,
    +	    (off_t)(ulr->ulr_offset - ulr->ulr_count), (void *)&ep, &bp, true)) != 0)
    +		return (error);
    +
    +#ifdef LFS_DIRHASH
    +	/*
    +	 * Remove the dirhash entry. This is complicated by the fact
    +	 * that `ep' is the previous entry when ulr_count != 0.
    +	 */
    +	if (dp->i_dirhash != NULL)
    +		ulfsdirhash_remove(dp, (ulr->ulr_count == 0) ? ep :
    +		   (struct lfs_direct *)((char *)ep +
    +		   ulfs_rw16(ep->d_reclen, needswap)), ulr->ulr_offset);
    +#endif
    +
    +	if (ulr->ulr_count == 0) {
    +		/*
    +		 * First entry in block: set d_ino to zero.
    +		 */
    +		ep->d_ino = 0;
    +	} else {
    +		/*
    +		 * Collapse new free space into previous entry.
    +		 */
    +		ep->d_reclen =
    +		    ulfs_rw16(ulfs_rw16(ep->d_reclen, needswap) + ulr->ulr_reclen,
    +			needswap);
    +	}
    +
    +#ifdef LFS_DIRHASH
    +	if (dp->i_dirhash != NULL) {
    +		int dirblksiz = ip->i_lfs->um_dirblksiz;
    +		ulfsdirhash_checkblock(dp, (char *)ep -
    +		    ((ulr->ulr_offset - ulr->ulr_count) & (dirblksiz - 1)),
    +		    ulr->ulr_offset & ~(dirblksiz - 1));
    +	}
    +#endif
    +
    +out:
    +	if (ip) {
    +		ip->i_nlink--;
    +		DIP_ASSIGN(ip, nlink, ip->i_nlink);
    +		ip->i_flag |= IN_CHANGE;
    +	}
    +	/*
    +	 * XXX did it ever occur to anyone that it might be a good
    +	 * idea to restore ip->i_nlink if this fails? Or something?
    +	 * Currently on error return from this function the state of
    +	 * ip->i_nlink depends on what happened, and callers
    +	 * definitely do not take this into account.
    +	 */
    +	error = VOP_BWRITE(bp->b_vp, bp);
    +	dp->i_flag |= IN_CHANGE | IN_UPDATE;
    +	/*
    +	 * If the last named reference to a snapshot goes away,
    +	 * drop its snapshot reference so that it will be reclaimed
    +	 * when last open reference goes away.
    +	 */
    +	if (ip != 0 && (ip->i_flags & SF_SNAPSHOT) != 0 &&
    +	    ip->i_nlink == 0)
    +		ulfs_snapgone(ip);
    +	return (error);
    +}
    +
    +/*
    + * Rewrite an existing directory entry to point at the inode supplied.
    + *
    + * DP is the directory to update.
    + * OFFSET is the position of the entry in question. It may come
    + * from ulr_offset of a ulfs_lookup_results.
    + * OIP is the old inode the directory previously pointed to.
    + * NEWINUM is the number of the new inode.
    + * NEWTYPE is the new value for the type field of the directory entry.
    + * (This is ignored if the fs doesn't support that.)
    + * ISRMDIR is not used and (XXX) should be removed.
    + * IFLAGS are added to DP's inode flags.
    + *
    + * The link count of OIP is decremented. Note that the link count of
    + * the new inode is *not* incremented. Yay for symmetry.
    + */
    +int
    +ulfs_dirrewrite(struct inode *dp, off_t offset,
    +    struct inode *oip, ino_t newinum, int newtype,
    +    int isrmdir, int iflags)
    +{
    +	struct buf *bp;
    +	struct lfs_direct *ep;
    +	struct vnode *vdp = ITOV(dp);
    +	int error;
    +
    +	error = ulfs_blkatoff(vdp, offset, (void *)&ep, &bp, true);
    +	if (error)
    +		return (error);
    +	ep->d_ino = ulfs_rw32(newinum, ULFS_IPNEEDSWAP(dp));
    +	if (!FSFMT(vdp))
    +		ep->d_type = newtype;
    +	oip->i_nlink--;
    +	DIP_ASSIGN(oip, nlink, oip->i_nlink);
    +	oip->i_flag |= IN_CHANGE;
    +	error = VOP_BWRITE(bp->b_vp, bp);
    +	dp->i_flag |= iflags;
    +	/*
    +	 * If the last named reference to a snapshot goes away,
    +	 * drop its snapshot reference so that it will be reclaimed
    +	 * when last open reference goes away.
    +	 */
    +	if ((oip->i_flags & SF_SNAPSHOT) != 0 && oip->i_nlink == 0)
    +		ulfs_snapgone(oip);
    +	return (error);
    +}
    +
    +/*
    + * Check if a directory is empty or not.
    + * Inode supplied must be locked.
    + *
    + * Using a struct lfs_dirtemplate here is not precisely
    + * what we want, but better than using a struct lfs_direct.
    + *
    + * NB: does not handle corrupted directories.
    + */
    +int
    +ulfs_dirempty(struct inode *ip, ino_t parentino, kauth_cred_t cred)
    +{
    +	doff_t off;
    +	struct lfs_dirtemplate dbuf;
    +	struct lfs_direct *dp = (struct lfs_direct *)&dbuf;
    +	int error, namlen;
    +	size_t count;
    +	const int needswap = ULFS_IPNEEDSWAP(ip);
    +#define	MINDIRSIZ (sizeof (struct lfs_dirtemplate) / 2)
    +
    +	for (off = 0; off < ip->i_size;
    +	    off += ulfs_rw16(dp->d_reclen, needswap)) {
    +		error = vn_rdwr(UIO_READ, ITOV(ip), (void *)dp, MINDIRSIZ, off,
    +		   UIO_SYSSPACE, IO_NODELOCKED, cred, &count, NULL);
    +		/*
    +		 * Since we read MINDIRSIZ, residual must
    +		 * be 0 unless we're at end of file.
    +		 */
    +		if (error || count != 0)
    +			return (0);
    +		/* avoid infinite loops */
    +		if (dp->d_reclen == 0)
    +			return (0);
    +		/* skip empty entries */
    +		if (dp->d_ino == 0 || ulfs_rw32(dp->d_ino, needswap) == ULFS_WINO)
    +			continue;
    +		/* accept only "." and ".." */
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +		if (FSFMT(ITOV(ip)) && needswap == 0)
    +			namlen = dp->d_type;
    +		else
    +			namlen = dp->d_namlen;
    +#else
    +		if (FSFMT(ITOV(ip)) && needswap != 0)
    +			namlen = dp->d_type;
    +		else
    +			namlen = dp->d_namlen;
    +#endif
    +		if (namlen > 2)
    +			return (0);
    +		if (dp->d_name[0] != '.')
    +			return (0);
    +		/*
    +		 * At this point namlen must be 1 or 2.
    +		 * 1 implies ".", 2 implies ".." if second
    +		 * char is also "."
    +		 */
    +		if (namlen == 1 &&
    +		    ulfs_rw32(dp->d_ino, needswap) == ip->i_number)
    +			continue;
    +		if (dp->d_name[1] == '.' &&
    +		    ulfs_rw32(dp->d_ino, needswap) == parentino)
    +			continue;
    +		return (0);
    +	}
    +	return (1);
    +}
    +
    +/*
    + * Check if source directory is in the path of the target directory.
    + * Target is supplied locked, source is unlocked.
    + * The target is always vput before returning.
    + */
    +int
    +ulfs_checkpath(struct inode *source, struct inode *target, kauth_cred_t cred)
    +{
    +	struct vnode *nextvp, *vp;
    +	int error, rootino, namlen;
    +	struct lfs_dirtemplate dirbuf;
    +	const int needswap = ULFS_IPNEEDSWAP(target);
    +
    +	vp = ITOV(target);
    +	if (target->i_number == source->i_number) {
    +		error = EEXIST;
    +		goto out;
    +	}
    +	rootino = ULFS_ROOTINO;
    +	error = 0;
    +	if (target->i_number == rootino)
    +		goto out;
    +
    +	for (;;) {
    +		if (vp->v_type != VDIR) {
    +			error = ENOTDIR;
    +			break;
    +		}
    +		error = vn_rdwr(UIO_READ, vp, (void *)&dirbuf,
    +		    sizeof (struct lfs_dirtemplate), (off_t)0, UIO_SYSSPACE,
    +		    IO_NODELOCKED, cred, NULL, NULL);
    +		if (error != 0)
    +			break;
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +		if (FSFMT(vp) && needswap == 0)
    +			namlen = dirbuf.dotdot_type;
    +		else
    +			namlen = dirbuf.dotdot_namlen;
    +#else
    +		if (FSFMT(vp) && needswap != 0)
    +			namlen = dirbuf.dotdot_type;
    +		else
    +			namlen = dirbuf.dotdot_namlen;
    +#endif
    +		if (namlen != 2 ||
    +		    dirbuf.dotdot_name[0] != '.' ||
    +		    dirbuf.dotdot_name[1] != '.') {
    +			error = ENOTDIR;
    +			break;
    +		}
    +		if (ulfs_rw32(dirbuf.dotdot_ino, needswap) == source->i_number) {
    +			error = EINVAL;
    +			break;
    +		}
    +		if (ulfs_rw32(dirbuf.dotdot_ino, needswap) == rootino)
    +			break;
    +		VOP_UNLOCK(vp);
    +		error = VFS_VGET(vp->v_mount,
    +		    ulfs_rw32(dirbuf.dotdot_ino, needswap), &nextvp);
    +		vrele(vp);
    +		if (error) {
    +			vp = NULL;
    +			break;
    +		}
    +		vp = nextvp;
    +	}
    +
    +out:
    +	if (error == ENOTDIR)
    +		printf("checkpath: .. not a directory\n");
    +	if (vp != NULL)
    +		vput(vp);
    +	return (error);
    +}
    +
    +/*
    + * Extract the inode number of ".." from a directory.
    + * Helper for ulfs_parentcheck.
    + */
    +static int
    +ulfs_readdotdot(struct vnode *vp, int needswap, kauth_cred_t cred, ino_t *result)
    +{
    +	struct lfs_dirtemplate dirbuf;
    +	int namlen, error;
    +
    +	error = vn_rdwr(UIO_READ, vp, &dirbuf,
    +		    sizeof (struct lfs_dirtemplate), (off_t)0, UIO_SYSSPACE,
    +		    IO_NODELOCKED, cred, NULL, NULL);
    +	if (error) {
    +		return error;
    +	}
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +	if (FSFMT(vp) && needswap == 0)
    +		namlen = dirbuf.dotdot_type;
    +	else
    +		namlen = dirbuf.dotdot_namlen;
    +#else
    +	if (FSFMT(vp) && needswap != 0)
    +		namlen = dirbuf.dotdot_type;
    +	else
    +		namlen = dirbuf.dotdot_namlen;
    +#endif
    +	if (namlen != 2 ||
    +	    dirbuf.dotdot_name[0] != '.' ||
    +	    dirbuf.dotdot_name[1] != '.') {
    +		printf("ulfs_readdotdot: directory %llu contains "
    +		       "garbage instead of ..\n",
    +		       (unsigned long long) VTOI(vp)->i_number);
    +		return ENOTDIR;
    +	}
    +	*result = ulfs_rw32(dirbuf.dotdot_ino, needswap);
    +	return 0;
    +}
    +
    +/*
    + * Check if LOWER is a descendent of UPPER. If we find UPPER, return
    + * nonzero in FOUND and return a reference to the immediate descendent
    + * of UPPER in UPPERCHILD. If we don't find UPPER (that is, if we
    + * reach the volume root and that isn't UPPER), return zero in FOUND
    + * and null in UPPERCHILD.
    + *
    + * Neither UPPER nor LOWER should be locked.
    + *
    + * On error (such as a permissions error checking up the directory
    + * tree) fail entirely.
    + *
    + * Note that UPPER and LOWER must be on the same volume, and because
    + * we inspect only that volume NEEDSWAP can be constant.
    + */
    +int
    +ulfs_parentcheck(struct vnode *upper, struct vnode *lower, kauth_cred_t cred,
    +		int *found_ret, struct vnode **upperchild_ret)
    +{
    +	const int needswap = ULFS_IPNEEDSWAP(VTOI(lower));
    +	ino_t upper_ino, found_ino;
    +	struct vnode *current, *next;
    +	int error;
    +
    +	if (upper == lower) {
    +		vref(upper);
    +		*found_ret = 1;
    +		*upperchild_ret = upper;
    +		return 0;
    +	}
    +	if (VTOI(lower)->i_number == ULFS_ROOTINO) {
    +		*found_ret = 0;
    +		*upperchild_ret = NULL;
    +		return 0;
    +	}
    +
    +	upper_ino = VTOI(upper)->i_number;
    +
    +	current = lower;
    +	vref(current);
    +	vn_lock(current, LK_EXCLUSIVE | LK_RETRY);
    +
    +	for (;;) {
    +		error = ulfs_readdotdot(current, needswap, cred, &found_ino);
    +		if (error) {
    +			vput(current);
    +			return error;
    +		}
    +		if (found_ino == upper_ino) {
    +			VOP_UNLOCK(current);
    +			*found_ret = 1;
    +			*upperchild_ret = current;
    +			return 0;
    +		}
    +		if (found_ino == ULFS_ROOTINO) {
    +			vput(current);
    +			*found_ret = 0;
    +			*upperchild_ret = NULL;
    +			return 0;
    +		}
    +		VOP_UNLOCK(current);
    +		error = VFS_VGET(current->v_mount, found_ino, &next);
    +		if (error) {
    +			vrele(current);
    +			return error;
    +		}
    +		KASSERT(VOP_ISLOCKED(next));
    +		if (next->v_type != VDIR) {
    +			printf("ulfs_parentcheck: inode %llu reached via .. of "
    +			       "inode %llu is not a directory\n",
    +			    (unsigned long long)VTOI(next)->i_number,
    +			    (unsigned long long)VTOI(current)->i_number);
    +			vput(next);
    +			vrele(current);
    +			return ENOTDIR;
    +		}
    +		vrele(current);
    +		current = next;
    +	}
    +
    +	return 0;
    +}
    +
    +#define	ULFS_DIRRABLKS 0
    +int ulfs_dirrablks = ULFS_DIRRABLKS;
    +
    +/*
    + * ulfs_blkatoff: Return buffer with the contents of block "offset" from
    + * the beginning of directory "vp".  If "res" is non-NULL, fill it in with
    + * a pointer to the remaining space in the directory.  If the caller intends
    + * to modify the buffer returned, "modify" must be true.
    + */
    +
    +int
    +ulfs_blkatoff(struct vnode *vp, off_t offset, char **res, struct buf **bpp,
    +    bool modify)
    +{
    +	struct inode *ip __diagused;
    +	struct buf *bp;
    +	daddr_t lbn;
    +	const int dirrablks = ulfs_dirrablks;
    +	daddr_t *blks;
    +	int *blksizes;
    +	int run, error;
    +	struct mount *mp = vp->v_mount;
    +	const int bshift = mp->mnt_fs_bshift;
    +	const int bsize = 1 << bshift;
    +	off_t eof;
    +
    +	blks = kmem_alloc((1 + dirrablks) * sizeof(daddr_t), KM_SLEEP);
    +	blksizes = kmem_alloc((1 + dirrablks) * sizeof(int), KM_SLEEP);
    +	ip = VTOI(vp);
    +	KASSERT(vp->v_size == ip->i_size);
    +	GOP_SIZE(vp, vp->v_size, &eof, 0);
    +	lbn = offset >> bshift;
    +
    +	for (run = 0; run <= dirrablks;) {
    +		const off_t curoff = lbn << bshift;
    +		const int size = MIN(eof - curoff, bsize);
    +
    +		if (size == 0) {
    +			break;
    +		}
    +		KASSERT(curoff < eof);
    +		blks[run] = lbn;
    +		blksizes[run] = size;
    +		lbn++;
    +		run++;
    +		if (size != bsize) {
    +			break;
    +		}
    +	}
    +	KASSERT(run >= 1);
    +	error = breadn(vp, blks[0], blksizes[0], &blks[1], &blksizes[1],
    +	    run - 1, NOCRED, (modify ? B_MODIFY : 0), &bp);
    +	if (error != 0) {
    +		*bpp = NULL;
    +		goto out;
    +	}
    +	if (res) {
    +		*res = (char *)bp->b_data + (offset & (bsize - 1));
    +	}
    +	*bpp = bp;
    +
    + out:
    +	kmem_free(blks, (1 + dirrablks) * sizeof(daddr_t));
    +	kmem_free(blksizes, (1 + dirrablks) * sizeof(int));
    +	return error;
    +}
    diff --git a/sys/ufs/lfs/ulfs_quota.c b/sys/ufs/lfs/ulfs_quota.c
    new file mode 100644
    index 000000000..8b0cf4089
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota.c
    @@ -0,0 +1,1005 @@
    +/*	$NetBSD: ulfs_quota.c,v 1.10 2013/11/22 02:02:35 dholland Exp $	*/
    +/*  from NetBSD: ufs_quota.c,v 1.115 2013/11/16 17:04:53 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1990, 1993, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Robert Elz at The University of Melbourne.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_quota.c	8.5 (Berkeley) 5/20/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_quota.c,v 1.10 2013/11/22 02:02:35 dholland Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_quota.h"
    +#endif 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +kmutex_t lfs_dqlock;
    +kcondvar_t lfs_dqcv;
    +const char *lfs_quotatypes[ULFS_MAXQUOTAS] = INITQFNAMES;
    +
    +/*
    + * Code pertaining to management of the in-core dquot data structures.
    + */
    +#define DQHASH(dqvp, id) \
    +	(((((long)(dqvp)) >> 8) + id) & dqhash)
    +static LIST_HEAD(dqhashhead, dquot) *dqhashtbl;
    +static u_long dqhash;
    +static pool_cache_t dquot_cache;
    +
    +
    +static int quota_handle_cmd_stat(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_idtypestat(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_objtypestat(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_get(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_put(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorget(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_delete(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_quotaon(struct mount *, struct lwp *, 
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_quotaoff(struct mount *, struct lwp *, 
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursoropen(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorclose(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorskipidtype(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursoratend(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorrewind(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +
    +/*
    + * Initialize the quota fields of an inode.
    + */
    +void
    +ulfsquota_init(struct inode *ip)
    +{
    +	int i;
    +
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++)
    +		ip->i_dquot[i] = NODQUOT;
    +}
    +
    +/*
    + * Release the quota fields from an inode.
    + */
    +void
    +ulfsquota_free(struct inode *ip)
    +{
    +	int i;
    +
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		lfs_dqrele(ITOV(ip), ip->i_dquot[i]);
    +		ip->i_dquot[i] = NODQUOT;
    +	}
    +}
    +
    +/*
    + * Update disk usage, and take corrective action.
    + */
    +int
    +lfs_chkdq(struct inode *ip, int64_t change, kauth_cred_t cred, int flags)
    +{
    +	/* do not track snapshot usage, or we will deadlock */
    +	if ((ip->i_flags & SF_SNAPSHOT) != 0)
    +		return 0;
    +
    +#ifdef LFS_QUOTA
    +	if (ip->i_lfs->um_flags & ULFS_QUOTA)
    +		return lfs_chkdq1(ip, change, cred, flags);
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (ip->i_lfs->um_flags & ULFS_QUOTA2)
    +		return lfs_chkdq2(ip, change, cred, flags);
    +#endif
    +	return 0;
    +}
    +
    +/*
    + * Check the inode limit, applying corrective action.
    + */
    +int
    +lfs_chkiq(struct inode *ip, int32_t change, kauth_cred_t cred, int flags)
    +{
    +	/* do not track snapshot usage, or we will deadlock */
    +	if ((ip->i_flags & SF_SNAPSHOT) != 0)
    +		return 0;
    +#ifdef LFS_QUOTA
    +	if (ip->i_lfs->um_flags & ULFS_QUOTA)
    +		return lfs_chkiq1(ip, change, cred, flags);
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (ip->i_lfs->um_flags & ULFS_QUOTA2)
    +		return lfs_chkiq2(ip, change, cred, flags);
    +#endif
    +	return 0;
    +}
    +
    +int
    +lfsquota_handle_cmd(struct mount *mp, struct lwp *l,
    +		 struct quotactl_args *args)
    +{
    +	int error = 0;
    +
    +	switch (args->qc_op) {
    +	    case QUOTACTL_STAT:
    +		error = quota_handle_cmd_stat(mp, l, args);
    +		break;
    +	    case QUOTACTL_IDTYPESTAT:
    +		error = quota_handle_cmd_idtypestat(mp, l, args);
    +		break;
    +	    case QUOTACTL_OBJTYPESTAT:
    +		error = quota_handle_cmd_objtypestat(mp, l, args);
    +		break;
    +	    case QUOTACTL_QUOTAON:
    +		error = quota_handle_cmd_quotaon(mp, l, args);
    +		break;
    +	    case QUOTACTL_QUOTAOFF:
    +		error = quota_handle_cmd_quotaoff(mp, l, args);
    +		break;
    +	    case QUOTACTL_GET:
    +		error = quota_handle_cmd_get(mp, l, args);
    +		break;
    +	    case QUOTACTL_PUT:
    +		error = quota_handle_cmd_put(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORGET:
    +		error = quota_handle_cmd_cursorget(mp, l, args);
    +		break;
    +	    case QUOTACTL_DELETE:
    +		error = quota_handle_cmd_delete(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSOROPEN:
    +		error = quota_handle_cmd_cursoropen(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORCLOSE:
    +		error = quota_handle_cmd_cursorclose(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORSKIPIDTYPE:
    +		error = quota_handle_cmd_cursorskipidtype(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORATEND:
    +		error = quota_handle_cmd_cursoratend(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORREWIND:
    +		error = quota_handle_cmd_cursorrewind(mp, l, args);
    +		break;
    +	    default:
    +		panic("Invalid quotactl operation %d\n", args->qc_op);
    +	}
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_stat(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +
    +	KASSERT(args->qc_op == QUOTACTL_STAT);
    +
    +	if ((fs->um_flags & (ULFS_QUOTA|ULFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +
    +#ifdef LFS_QUOTA
    +	if (fs->um_flags & ULFS_QUOTA) {
    +		struct quotastat *info = args->u.stat.qc_info;
    +		strcpy(info->qs_implname, "lfs quota v1");
    +		info->qs_numidtypes = ULFS_MAXQUOTAS;
    +		/* XXX no define for this */
    +		info->qs_numobjtypes = 2;
    +		info->qs_restrictions = 0;
    +		info->qs_restrictions |= QUOTA_RESTRICT_NEEDSQUOTACHECK;
    +		info->qs_restrictions |= QUOTA_RESTRICT_UNIFORMGRACE;
    +		info->qs_restrictions |= QUOTA_RESTRICT_32BIT;
    +	} else
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotastat *info = args->u.stat.qc_info;
    +		strcpy(info->qs_implname, "lfs quota v2");
    +		info->qs_numidtypes = ULFS_MAXQUOTAS;
    +		info->qs_numobjtypes = N_QL;
    +		info->qs_restrictions = 0;
    +	} else
    +#endif
    +		return EOPNOTSUPP;
    +
    +	return 0;
    +}
    +
    +static int 
    +quota_handle_cmd_idtypestat(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int idtype;
    +	struct quotaidtypestat *info;
    +	const char *name;
    +
    +	KASSERT(args->qc_op == QUOTACTL_IDTYPESTAT);
    +	idtype = args->u.idtypestat.qc_idtype;
    +	info = args->u.idtypestat.qc_info;
    +
    +	if ((fs->um_flags & (ULFS_QUOTA|ULFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +
    +	/*
    +	 * These are the same for both QUOTA and QUOTA2.
    +	 */
    +	switch (idtype) {
    +	    case QUOTA_IDTYPE_USER:
    +		name = "user";
    +		break;
    +	    case QUOTA_IDTYPE_GROUP:
    +		name = "group";
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +	strlcpy(info->qis_name, name, sizeof(info->qis_name));
    +	return 0;
    +}
    +
    +static int 
    +quota_handle_cmd_objtypestat(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int objtype;
    +	struct quotaobjtypestat *info;
    +	const char *name;
    +	int isbytes;
    +
    +	KASSERT(args->qc_op == QUOTACTL_OBJTYPESTAT);
    +	objtype = args->u.objtypestat.qc_objtype;
    +	info = args->u.objtypestat.qc_info;
    +
    +	if ((fs->um_flags & (ULFS_QUOTA|ULFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +
    +	/*
    +	 * These are the same for both QUOTA and QUOTA2.
    +	 */
    +	switch (objtype) {
    +	    case QUOTA_OBJTYPE_BLOCKS:
    +		name = "block";
    +		isbytes = 1;
    +		break;
    +	    case QUOTA_OBJTYPE_FILES:
    +		name = "file";
    +		isbytes = 0;
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +	strlcpy(info->qos_name, name, sizeof(info->qos_name));
    +	info->qos_isbytes = isbytes;
    +	return 0;
    +}
    +
    +/* XXX shouldn't all this be in kauth ? */
    +static int
    +quota_get_auth(struct mount *mp, struct lwp *l, uid_t id) {
    +	/* The user can always query about his own quota. */
    +	if (id == kauth_cred_geteuid(l->l_cred))
    +		return 0;
    +	return kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, KAUTH_ARG(id), NULL);
    +}
    +
    +static int 
    +quota_handle_cmd_get(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int error;
    +	const struct quotakey *qk;
    +
    +	KASSERT(args->qc_op == QUOTACTL_GET);
    +	qk = args->u.get.qc_key;
    +
    +	if ((fs->um_flags & (ULFS_QUOTA|ULFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +	
    +	error = quota_get_auth(mp, l, qk->qk_id);
    +	if (error != 0) 
    +		return error;
    +#ifdef LFS_QUOTA
    +	if (fs->um_flags & ULFS_QUOTA) {
    +		struct quotaval *qv = args->u.get.qc_val;
    +		error = lfsquota1_handle_cmd_get(ump, qk, qv);
    +	} else
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotaval *qv = args->u.get.qc_val;
    +		error = lfsquota2_handle_cmd_get(ump, qk, qv);
    +	} else
    +#endif
    +		panic("quota_handle_cmd_get: no support ?");
    +		
    +	if (error != 0)
    +		return error;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_put(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	const struct quotakey *qk;
    +	id_t kauth_id;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_PUT);
    +	qk = args->u.put.qc_key;
    +
    +	if ((fs->um_flags & (ULFS_QUOTA|ULFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +
    +	kauth_id = qk->qk_id;
    +	if (kauth_id == QUOTA_DEFAULTID) {
    +		kauth_id = 0;
    +	}
    +
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(kauth_id),
    +	    NULL);
    +	if (error != 0) {
    +		return error;
    +	}
    +
    +#ifdef LFS_QUOTA
    +	if (fs->um_flags & ULFS_QUOTA) {
    +		const struct quotaval *qv = args->u.put.qc_val;
    +		error = lfsquota1_handle_cmd_put(ump, qk, qv);
    +	} else
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		const struct quotaval *qv = args->u.put.qc_val;
    +		error = lfsquota2_handle_cmd_put(ump, qk, qv);
    +	} else
    +#endif
    +		panic("quota_handle_cmd_get: no support ?");
    +		
    +	if (error == ENOENT) {
    +		error = 0;
    +	}
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_delete(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	const struct quotakey *qk;
    +	id_t kauth_id;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_DELETE);
    +	qk = args->u.delete.qc_key;
    +
    +	kauth_id = qk->qk_id;
    +	if (kauth_id == QUOTA_DEFAULTID) {
    +		kauth_id = 0;
    +	}
    +
    +	if ((fs->um_flags & ULFS_QUOTA2) == 0)
    +		return EOPNOTSUPP;
    +
    +	/* avoid whitespace changes */
    +	{
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(kauth_id),
    +		    NULL);
    +		if (error != 0)
    +			goto err;
    +#ifdef LFS_QUOTA2
    +		if (fs->um_flags & ULFS_QUOTA2) {
    +			error = lfsquota2_handle_cmd_delete(ump, qk);
    +		} else
    +#endif
    +			panic("quota_handle_cmd_get: no support ?");
    +		
    +		if (error && error != ENOENT)
    +			goto err;
    +	}
    +
    +	return 0;
    + err:
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorget(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORGET);
    +
    +	if ((fs->um_flags & ULFS_QUOTA2) == 0)
    +		return EOPNOTSUPP;
    +	
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, NULL, NULL);
    +	if (error)
    +		return error;
    +		
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotakcursor *cursor = args->u.cursorget.qc_cursor;
    +		struct quotakey *keys = args->u.cursorget.qc_keys;
    +		struct quotaval *vals = args->u.cursorget.qc_vals;
    +		unsigned maxnum = args->u.cursorget.qc_maxnum;
    +		unsigned *ret = args->u.cursorget.qc_ret;
    +
    +		error = lfsquota2_handle_cmd_cursorget(ump, cursor, keys, vals,
    +		    maxnum, ret);
    +	} else
    +#endif
    +		panic("quota_handle_cmd_cursorget: no support ?");
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursoropen(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef LFS_QUOTA2
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	struct quotakcursor *cursor;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSOROPEN);
    +
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		cursor = args->u.cursoropen.qc_cursor;
    +		error = lfsquota2_handle_cmd_cursoropen(ump, cursor);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorclose(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef LFS_QUOTA2
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORCLOSE);
    +
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotakcursor *cursor = args->u.cursorclose.qc_cursor;
    +		error = lfsquota2_handle_cmd_cursorclose(ump, cursor);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorskipidtype(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef LFS_QUOTA2
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORSKIPIDTYPE);
    +
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotakcursor *cursor = args->u.cursorskipidtype.qc_cursor;
    +		int idtype = args->u.cursorskipidtype.qc_idtype;
    +		error = lfsquota2_handle_cmd_cursorskipidtype(ump, cursor, idtype);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursoratend(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef LFS_QUOTA2
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORATEND);
    +
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotakcursor *cursor = args->u.cursoratend.qc_cursor;
    +		int *ret = args->u.cursoratend.qc_ret;
    +		error = lfsquota2_handle_cmd_cursoratend(ump, cursor, ret);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorrewind(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef LFS_QUOTA2
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORREWIND);
    +
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		struct quotakcursor *cursor = args->u.cursorrewind.qc_cursor;
    +		error = lfsquota2_handle_cmd_cursorrewind(ump, cursor);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_quotaon(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_QUOTAON);
    +
    +	if ((fs->um_flags & ULFS_QUOTA2) != 0)
    +		return EBUSY;
    +	
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_ONOFF, mp, NULL, NULL);
    +	if (error != 0) {
    +		return error;
    +	}
    +#ifdef LFS_QUOTA
    +	int idtype = args->u.quotaon.qc_idtype;
    +	const char *qfile = args->u.quotaon.qc_quotafile;
    +	error = lfsquota1_handle_cmd_quotaon(l, ump, idtype, qfile);
    +#else
    +	error = EOPNOTSUPP;
    +#endif
    +	
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_quotaoff(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_QUOTAOFF);
    +
    +	if ((fs->um_flags & ULFS_QUOTA2) != 0)
    +		return EOPNOTSUPP;
    +	
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_ONOFF, mp, NULL, NULL);
    +	if (error != 0) {
    +		return error;
    +	}
    +#ifdef LFS_QUOTA
    +	int idtype = args->u.quotaoff.qc_idtype;
    +	error = lfsquota1_handle_cmd_quotaoff(l, ump, idtype);
    +#else
    +	error = EOPNOTSUPP;
    +#endif
    +	
    +	return error;
    +}
    +
    +/*
    + * Initialize the quota system.
    + */
    +void
    +lfs_dqinit(void)
    +{
    +
    +	mutex_init(&lfs_dqlock, MUTEX_DEFAULT, IPL_NONE);
    +	cv_init(&lfs_dqcv, "quota");
    +	dqhashtbl = hashinit(desiredvnodes, HASH_LIST, true, &dqhash);
    +	dquot_cache = pool_cache_init(sizeof(struct dquot), 0, 0, 0, "lfsdq",
    +	    NULL, IPL_NONE, NULL, NULL, NULL);
    +}
    +
    +void
    +lfs_dqreinit(void)
    +{
    +	struct dquot *dq;
    +	struct dqhashhead *oldhash, *hash;
    +	struct vnode *dqvp;
    +	u_long oldmask, mask, hashval;
    +	int i;
    +
    +	hash = hashinit(desiredvnodes, HASH_LIST, true, &mask);
    +	mutex_enter(&lfs_dqlock);
    +	oldhash = dqhashtbl;
    +	oldmask = dqhash;
    +	dqhashtbl = hash;
    +	dqhash = mask;
    +	for (i = 0; i <= oldmask; i++) {
    +		while ((dq = LIST_FIRST(&oldhash[i])) != NULL) {
    +			dqvp = dq->dq_ump->um_quotas[dq->dq_type];
    +			LIST_REMOVE(dq, dq_hash);
    +			hashval = DQHASH(dqvp, dq->dq_id);
    +			LIST_INSERT_HEAD(&dqhashtbl[hashval], dq, dq_hash);
    +		}
    +	}
    +	mutex_exit(&lfs_dqlock);
    +	hashdone(oldhash, HASH_LIST, oldmask);
    +}
    +
    +/*
    + * Free resources held by quota system.
    + */
    +void
    +lfs_dqdone(void)
    +{
    +
    +	pool_cache_destroy(dquot_cache);
    +	hashdone(dqhashtbl, HASH_LIST, dqhash);
    +	cv_destroy(&lfs_dqcv);
    +	mutex_destroy(&lfs_dqlock);
    +}
    +
    +/*
    + * Set up the quotas for an inode.
    + *
    + * This routine completely defines the semantics of quotas.
    + * If other criteria want to be used to establish quotas, the
    + * ULFS_MAXQUOTAS value in quotas.h should be increased, and the
    + * additional dquots set up here.
    + */
    +int
    +lfs_getinoquota(struct inode *ip)
    +{
    +	struct ulfsmount *ump = ip->i_ump;
    +	//struct lfs *fs = ump->um_lfs; // notyet
    +	struct vnode *vp = ITOV(ip);
    +	int i, error;
    +	u_int32_t ino_ids[ULFS_MAXQUOTAS];
    +
    +	/*
    +	 * To avoid deadlocks never update quotas for quota files
    +	 * on the same file system
    +	 */
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++)
    +		if (vp == ump->um_quotas[i])
    +			return 0;
    +
    +	ino_ids[ULFS_USRQUOTA] = ip->i_uid;
    +	ino_ids[ULFS_GRPQUOTA] = ip->i_gid;
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		/*
    +		 * If the file id changed the quota needs update.
    +		 */
    +		if (ip->i_dquot[i] != NODQUOT &&
    +		    ip->i_dquot[i]->dq_id != ino_ids[i]) {
    +			lfs_dqrele(ITOV(ip), ip->i_dquot[i]);
    +			ip->i_dquot[i] = NODQUOT;
    +		}
    +		/*
    +		 * Set up the quota based on file id.
    +		 * ENODEV means that quotas are not enabled.
    +		 */
    +		if (ip->i_dquot[i] == NODQUOT &&
    +		    (error = lfs_dqget(vp, ino_ids[i], ump, i, &ip->i_dquot[i])) &&
    +		    error != ENODEV)
    +			return (error);
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Obtain a dquot structure for the specified identifier and quota file
    + * reading the information from the file if necessary.
    + */
    +int
    +lfs_dqget(struct vnode *vp, u_long id, struct ulfsmount *ump, int type,
    +    struct dquot **dqp)
    +{
    +	struct lfs *fs = ump->um_lfs;
    +	struct dquot *dq, *ndq;
    +	struct dqhashhead *dqh;
    +	struct vnode *dqvp;
    +	int error = 0; /* XXX gcc */
    +
    +	/* Lock to see an up to date value for QTF_CLOSING. */
    +	mutex_enter(&lfs_dqlock);
    +	if ((fs->um_flags & (ULFS_QUOTA|ULFS_QUOTA2)) == 0) {
    +		mutex_exit(&lfs_dqlock);
    +		*dqp = NODQUOT;
    +		return (ENODEV);
    +	}
    +	dqvp = ump->um_quotas[type];
    +#ifdef LFS_QUOTA
    +	if (fs->um_flags & ULFS_QUOTA) {
    +		if (dqvp == NULLVP || (ump->umq1_qflags[type] & QTF_CLOSING)) {
    +			mutex_exit(&lfs_dqlock);
    +			*dqp = NODQUOT;
    +			return (ENODEV);
    +		}
    +	}
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		if (dqvp == NULLVP) {
    +			mutex_exit(&lfs_dqlock);
    +			*dqp = NODQUOT;
    +			return (ENODEV);
    +		}
    +	}
    +#endif
    +	KASSERT(dqvp != vp);
    +	/*
    +	 * Check the cache first.
    +	 */
    +	dqh = &dqhashtbl[DQHASH(dqvp, id)];
    +	LIST_FOREACH(dq, dqh, dq_hash) {
    +		if (dq->dq_id != id ||
    +		    dq->dq_ump->um_quotas[dq->dq_type] != dqvp)
    +			continue;
    +		KASSERT(dq->dq_cnt > 0);
    +		lfs_dqref(dq);
    +		mutex_exit(&lfs_dqlock);
    +		*dqp = dq;
    +		return (0);
    +	}
    +	/*
    +	 * Not in cache, allocate a new one.
    +	 */
    +	mutex_exit(&lfs_dqlock);
    +	ndq = pool_cache_get(dquot_cache, PR_WAITOK);
    +	/*
    +	 * Initialize the contents of the dquot structure.
    +	 */
    +	memset((char *)ndq, 0, sizeof *ndq);
    +	ndq->dq_flags = 0;
    +	ndq->dq_id = id;
    +	ndq->dq_ump = ump;
    +	ndq->dq_type = type;
    +	mutex_init(&ndq->dq_interlock, MUTEX_DEFAULT, IPL_NONE);
    +	mutex_enter(&lfs_dqlock);
    +	dqh = &dqhashtbl[DQHASH(dqvp, id)];
    +	LIST_FOREACH(dq, dqh, dq_hash) {
    +		if (dq->dq_id != id ||
    +		    dq->dq_ump->um_quotas[dq->dq_type] != dqvp)
    +			continue;
    +		/*
    +		 * Another thread beat us allocating this dquot.
    +		 */
    +		KASSERT(dq->dq_cnt > 0);
    +		lfs_dqref(dq);
    +		mutex_exit(&lfs_dqlock);
    +		mutex_destroy(&ndq->dq_interlock);
    +		pool_cache_put(dquot_cache, ndq);
    +		*dqp = dq;
    +		return 0;
    +	}
    +	dq = ndq;
    +	LIST_INSERT_HEAD(dqh, dq, dq_hash);
    +	lfs_dqref(dq);
    +	mutex_enter(&dq->dq_interlock);
    +	mutex_exit(&lfs_dqlock);
    +#ifdef LFS_QUOTA
    +	if (fs->um_flags & ULFS_QUOTA)
    +		error = lfs_dq1get(dqvp, id, ump, type, dq);
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2)
    +		error = lfs_dq2get(dqvp, id, ump, type, dq);
    +#endif
    +	/*
    +	 * I/O error in reading quota file, release
    +	 * quota structure and reflect problem to caller.
    +	 */
    +	if (error) {
    +		mutex_enter(&lfs_dqlock);
    +		LIST_REMOVE(dq, dq_hash);
    +		mutex_exit(&lfs_dqlock);
    +		mutex_exit(&dq->dq_interlock);
    +		lfs_dqrele(vp, dq);
    +		*dqp = NODQUOT;
    +		return (error);
    +	}
    +	mutex_exit(&dq->dq_interlock);
    +	*dqp = dq;
    +	return (0);
    +}
    +
    +/*
    + * Obtain a reference to a dquot.
    + */
    +void
    +lfs_dqref(struct dquot *dq)
    +{
    +
    +	KASSERT(mutex_owned(&lfs_dqlock));
    +	dq->dq_cnt++;
    +	KASSERT(dq->dq_cnt > 0);
    +}
    +
    +/*
    + * Release a reference to a dquot.
    + */
    +void
    +lfs_dqrele(struct vnode *vp, struct dquot *dq)
    +{
    +
    +	if (dq == NODQUOT)
    +		return;
    +	mutex_enter(&dq->dq_interlock);
    +	for (;;) {
    +		mutex_enter(&lfs_dqlock);
    +		if (dq->dq_cnt > 1) {
    +			dq->dq_cnt--;
    +			mutex_exit(&lfs_dqlock);
    +			mutex_exit(&dq->dq_interlock);
    +			return;
    +		}
    +		if ((dq->dq_flags & DQ_MOD) == 0)
    +			break;
    +		mutex_exit(&lfs_dqlock);
    +#ifdef LFS_QUOTA
    +		if (dq->dq_ump->um_lfs->um_flags & ULFS_QUOTA)
    +			(void) lfs_dq1sync(vp, dq);
    +#endif
    +#ifdef LFS_QUOTA2
    +		if (dq->dq_ump->um_lfs->um_flags & ULFS_QUOTA2)
    +			(void) lfs_dq2sync(vp, dq);
    +#endif
    +	}
    +	KASSERT(dq->dq_cnt == 1 && (dq->dq_flags & DQ_MOD) == 0);
    +	LIST_REMOVE(dq, dq_hash);
    +	mutex_exit(&lfs_dqlock);
    +	mutex_exit(&dq->dq_interlock);
    +	mutex_destroy(&dq->dq_interlock);
    +	pool_cache_put(dquot_cache, dq);
    +}
    +
    +int
    +lfs_qsync(struct mount *mp)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +
    +	/* avoid compiler warning when quotas aren't enabled */
    +	(void)ump;
    +	(void)fs;
    +
    +#ifdef LFS_QUOTA
    +	if (fs->um_flags & ULFS_QUOTA)
    +		return lfs_q1sync(mp);
    +#endif
    +#ifdef LFS_QUOTA2
    +	if (fs->um_flags & ULFS_QUOTA2)
    +		return lfs_q2sync(mp);
    +#endif
    +	return 0;
    +}
    +
    +#ifdef DIAGNOSTIC
    +/*
    + * Check the hash chains for stray dquot's.
    + */
    +void
    +lfs_dqflush(struct vnode *vp)
    +{
    +	struct dquot *dq;
    +	int i;
    +
    +	mutex_enter(&lfs_dqlock);
    +	for (i = 0; i <= dqhash; i++)
    +		LIST_FOREACH(dq, &dqhashtbl[i], dq_hash)
    +			KASSERT(dq->dq_ump->um_quotas[dq->dq_type] != vp);
    +	mutex_exit(&lfs_dqlock);
    +}
    +#endif
    diff --git a/sys/ufs/lfs/ulfs_quota.h b/sys/ufs/lfs/ulfs_quota.h
    new file mode 100644
    index 000000000..4c784b5a4
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota.h
    @@ -0,0 +1,146 @@
    +/*	$NetBSD: ulfs_quota.h,v 1.4 2013/06/06 00:49:28 dholland Exp $	*/
    +/*  from NetBSD: ufs_quota.h,v 1.21 2012/02/18 06:13:23 matt Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1990, 1993, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Robert Elz at The University of Melbourne.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_quota.c	8.5 (Berkeley) 5/20/95
    + */
    +#include 
    +#include 
    +
    +struct quotakcursor; /* from  */
    +
    +
    +/* link to this quota in the quota inode (for QUOTA2) */
    +struct dq2_desc {
    +	uint64_t dq2_lblkno; /* logical disk block holding this quota */
    +	u_int    dq2_blkoff; /* offset in disk block holding this quota */
    +};
    +
    +/*
    + * The following structure records disk usage for a user or group on a
    + * filesystem. There is one allocated for each quota that exists on any
    + * filesystem for the current user or group. A cache is kept of recently
    + * used entries.
    + * Field markings and the corresponding locks:
    + * h:	dqlock
    + * d:	dq_interlock
    + *
    + * Lock order is: dq_interlock -> dqlock
    + *                dq_interlock -> dqvp
    + */
    +struct dquot {
    +	LIST_ENTRY(dquot) dq_hash;	/* h: hash list */
    +	u_int16_t dq_flags;		/* d: flags, see below */
    +	u_int16_t dq_type;		/* d: quota type of this dquot */
    +	u_int32_t dq_cnt;		/* h: count of active references */
    +	u_int32_t dq_id;		/* d: identifier this applies to */
    +	struct	ulfsmount *dq_ump;	/* d: filesystem this is taken from */
    +	kmutex_t dq_interlock;		/* d: lock this dquot */
    +	union {
    +		struct dqblk dq1_dqb;	/* d: actual usage & quotas */
    +		struct dq2_desc dq2_desc; /* d: pointer to quota data */
    +	} dq_un;
    +};
    +
    +/*
    + * Flag values.
    + */
    +#define	DQ_MOD		0x04		/* this quota modified since read */
    +#define	DQ_FAKE		0x08		/* no limits here, just usage */
    +#define	DQ_WARN(ltype)	(0x10 << ltype)	/* has been warned about "type" limit */
    +/*
    + * Shorthand notation.
    + */
    +#define	dq_bhardlimit	dq_un.dq1_dqb.dqb_bhardlimit
    +#define	dq_bsoftlimit	dq_un.dq1_dqb.dqb_bsoftlimit
    +#define	dq_curblocks	dq_un.dq1_dqb.dqb_curblocks
    +#define	dq_ihardlimit	dq_un.dq1_dqb.dqb_ihardlimit
    +#define	dq_isoftlimit	dq_un.dq1_dqb.dqb_isoftlimit
    +#define	dq_curinodes	dq_un.dq1_dqb.dqb_curinodes
    +#define	dq_btime	dq_un.dq1_dqb.dqb_btime
    +#define	dq_itime	dq_un.dq1_dqb.dqb_itime
    +
    +#define dq2_lblkno	dq_un.dq2_desc.dq2_lblkno
    +#define dq2_blkoff	dq_un.dq2_desc.dq2_blkoff
    +/*
    + * If the system has never checked for a quota for this file, then it is
    + * set to NODQUOT.  Once a write attempt is made the inode pointer is set
    + * to reference a dquot structure.
    + */
    +#define	NODQUOT		NULL
    +
    +extern kmutex_t lfs_dqlock;
    +extern kcondvar_t lfs_dqcv;
    +/*
    + * Quota name to error message mapping.
    + */
    +extern const char *lfs_quotatypes[ULFS_MAXQUOTAS];
    +
    +int  lfs_getinoquota(struct inode *);
    +int  lfs_dqget(struct vnode *, u_long, struct ulfsmount *, int, struct dquot **);
    +void lfs_dqref(struct dquot *);
    +void lfs_dqrele(struct vnode *, struct dquot *);
    +void lfs_dqflush(struct vnode *);
    +
    +int lfs_chkdq1(struct inode *, int64_t, kauth_cred_t, int);
    +int lfs_chkiq1(struct inode *, int32_t, kauth_cred_t, int);
    +int lfs_q1sync(struct mount *);
    +int lfs_dq1get(struct vnode *, u_long, struct ulfsmount *, int, struct dquot *);
    +int lfs_dq1sync(struct vnode *, struct dquot *);
    +int lfsquota1_handle_cmd_get(struct ulfsmount *, const struct quotakey *,
    +    struct quotaval *);
    +int lfsquota1_handle_cmd_put(struct ulfsmount *, const struct quotakey *,
    +    const struct quotaval *);
    +int lfsquota1_handle_cmd_quotaon(struct lwp *, struct ulfsmount *, int,
    +    const char *);
    +int lfsquota1_handle_cmd_quotaoff(struct lwp *, struct ulfsmount *, int);
    +
    +int lfs_chkdq2(struct inode *, int64_t, kauth_cred_t, int);
    +int lfs_chkiq2(struct inode *, int32_t, kauth_cred_t, int);
    +int lfsquota2_handle_cmd_get(struct ulfsmount *, const struct quotakey *,
    +    struct quotaval *);
    +int lfsquota2_handle_cmd_put(struct ulfsmount *, const struct quotakey *,
    +    const struct quotaval *);
    +int lfsquota2_handle_cmd_delete(struct ulfsmount *, const struct quotakey *);
    +int lfsquota2_handle_cmd_cursorget(struct ulfsmount *, struct quotakcursor *,
    +    struct quotakey *, struct quotaval *, unsigned, unsigned *);
    +int lfsquota2_handle_cmd_cursoropen(struct ulfsmount *, struct quotakcursor *);
    +int lfsquota2_handle_cmd_cursorclose(struct ulfsmount *, struct quotakcursor *);
    +int lfsquota2_handle_cmd_cursorskipidtype(struct ulfsmount *, struct quotakcursor *,
    +    int);
    +int lfsquota2_handle_cmd_cursoratend(struct ulfsmount *, struct quotakcursor *,
    +    int *);
    +int lfsquota2_handle_cmd_cursorrewind(struct ulfsmount *, struct quotakcursor *);
    +int lfs_q2sync(struct mount *);
    +int lfs_dq2get(struct vnode *, u_long, struct ulfsmount *, int, struct dquot *);
    +int lfs_dq2sync(struct vnode *, struct dquot *);
    diff --git a/sys/ufs/lfs/ulfs_quota1.c b/sys/ufs/lfs/ulfs_quota1.c
    new file mode 100644
    index 000000000..6b7c01b3f
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota1.c
    @@ -0,0 +1,901 @@
    +/*	$NetBSD: ulfs_quota1.c,v 1.6 2013/07/28 01:10:49 dholland Exp $	*/
    +/*  from NetBSD: ufs_quota1.c,v 1.18 2012/02/02 03:00:48 matt Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1990, 1993, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Robert Elz at The University of Melbourne.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_quota.c	8.5 (Berkeley) 5/20/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_quota1.c,v 1.6 2013/07/28 01:10:49 dholland Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +static int chkdqchg(struct inode *, int64_t, kauth_cred_t, int);
    +static int chkiqchg(struct inode *, int32_t, kauth_cred_t, int);
    +
    +/*
    + * Update disk usage, and take corrective action.
    + */
    +int
    +lfs_chkdq1(struct inode *ip, int64_t change, kauth_cred_t cred, int flags)
    +{
    +	struct dquot *dq;
    +	int i;
    +	int ncurblocks, error;
    +
    +	if ((error = lfs_getinoquota(ip)) != 0)
    +		return error;
    +	if (change == 0)
    +		return (0);
    +	if (change < 0) {
    +		for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +			if ((dq = ip->i_dquot[i]) == NODQUOT)
    +				continue;
    +			mutex_enter(&dq->dq_interlock);
    +			ncurblocks = dq->dq_curblocks + change;
    +			if (ncurblocks >= 0)
    +				dq->dq_curblocks = ncurblocks;
    +			else
    +				dq->dq_curblocks = 0;
    +			dq->dq_flags &= ~DQ_WARN(QL_BLOCK);
    +			dq->dq_flags |= DQ_MOD;
    +			mutex_exit(&dq->dq_interlock);
    +		}
    +		return (0);
    +	}
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		if ((dq = ip->i_dquot[i]) == NODQUOT)
    +			continue;
    +		if ((flags & FORCE) == 0 &&
    +		    kauth_authorize_system(cred, KAUTH_SYSTEM_FS_QUOTA,
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_NOLIMIT, KAUTH_ARG(i),
    +		    KAUTH_ARG(QL_BLOCK), NULL) != 0) {
    +			mutex_enter(&dq->dq_interlock);
    +			error = chkdqchg(ip, change, cred, i);
    +			mutex_exit(&dq->dq_interlock);
    +			if (error != 0)
    +				return (error);
    +		}
    +	}
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		if ((dq = ip->i_dquot[i]) == NODQUOT)
    +			continue;
    +		mutex_enter(&dq->dq_interlock);
    +		dq->dq_curblocks += change;
    +		dq->dq_flags |= DQ_MOD;
    +		mutex_exit(&dq->dq_interlock);
    +	}
    +	return (0);
    +}
    +
    +/*
    + * Check for a valid change to a users allocation.
    + * Issue an error message if appropriate.
    + */
    +static int
    +chkdqchg(struct inode *ip, int64_t change, kauth_cred_t cred, int type)
    +{
    +	struct dquot *dq = ip->i_dquot[type];
    +	long ncurblocks = dq->dq_curblocks + change;
    +
    +	KASSERT(mutex_owned(&dq->dq_interlock));
    +	/*
    +	 * If user would exceed their hard limit, disallow space allocation.
    +	 */
    +	if (ncurblocks >= dq->dq_bhardlimit && dq->dq_bhardlimit) {
    +		if ((dq->dq_flags & DQ_WARN(QL_BLOCK)) == 0 &&
    +		    ip->i_uid == kauth_cred_geteuid(cred)) {
    +			uprintf("\n%s: write failed, %s disk limit reached\n",
    +			    ITOV(ip)->v_mount->mnt_stat.f_mntonname,
    +			    lfs_quotatypes[type]);
    +			dq->dq_flags |= DQ_WARN(QL_BLOCK);
    +		}
    +		return (EDQUOT);
    +	}
    +	/*
    +	 * If user is over their soft limit for too long, disallow space
    +	 * allocation. Reset time limit as they cross their soft limit.
    +	 */
    +	if (ncurblocks >= dq->dq_bsoftlimit && dq->dq_bsoftlimit) {
    +		if (dq->dq_curblocks < dq->dq_bsoftlimit) {
    +			dq->dq_btime =
    +			    time_second + ip->i_ump->umq1_btime[type];
    +			if (ip->i_uid == kauth_cred_geteuid(cred))
    +				uprintf("\n%s: warning, %s %s\n",
    +				    ITOV(ip)->v_mount->mnt_stat.f_mntonname,
    +				    lfs_quotatypes[type], "disk quota exceeded");
    +			return (0);
    +		}
    +		if (time_second > dq->dq_btime) {
    +			if ((dq->dq_flags & DQ_WARN(QL_BLOCK)) == 0 &&
    +			    ip->i_uid == kauth_cred_geteuid(cred)) {
    +				uprintf("\n%s: write failed, %s %s\n",
    +				    ITOV(ip)->v_mount->mnt_stat.f_mntonname,
    +				    lfs_quotatypes[type],
    +				    "disk quota exceeded for too long");
    +				dq->dq_flags |= DQ_WARN(QL_BLOCK);
    +			}
    +			return (EDQUOT);
    +		}
    +	}
    +	return (0);
    +}
    +
    +/*
    + * Check the inode limit, applying corrective action.
    + */
    +int
    +lfs_chkiq1(struct inode *ip, int32_t change, kauth_cred_t cred, int flags)
    +{
    +	struct dquot *dq;
    +	int i;
    +	int ncurinodes, error;
    +
    +	if ((error = lfs_getinoquota(ip)) != 0)
    +		return error;
    +	if (change == 0)
    +		return (0);
    +	if (change < 0) {
    +		for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +			if ((dq = ip->i_dquot[i]) == NODQUOT)
    +				continue;
    +			mutex_enter(&dq->dq_interlock);
    +			ncurinodes = dq->dq_curinodes + change;
    +			if (ncurinodes >= 0)
    +				dq->dq_curinodes = ncurinodes;
    +			else
    +				dq->dq_curinodes = 0;
    +			dq->dq_flags &= ~DQ_WARN(QL_FILE);
    +			dq->dq_flags |= DQ_MOD;
    +			mutex_exit(&dq->dq_interlock);
    +		}
    +		return (0);
    +	}
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		if ((dq = ip->i_dquot[i]) == NODQUOT)
    +			continue;
    +		if ((flags & FORCE) == 0 && kauth_authorize_system(cred,
    +		    KAUTH_SYSTEM_FS_QUOTA, KAUTH_REQ_SYSTEM_FS_QUOTA_NOLIMIT,
    +		    KAUTH_ARG(i), KAUTH_ARG(QL_FILE), NULL) != 0) {
    +			mutex_enter(&dq->dq_interlock);
    +			error = chkiqchg(ip, change, cred, i);
    +			mutex_exit(&dq->dq_interlock);
    +			if (error != 0)
    +				return (error);
    +		}
    +	}
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		if ((dq = ip->i_dquot[i]) == NODQUOT)
    +			continue;
    +		mutex_enter(&dq->dq_interlock);
    +		dq->dq_curinodes += change;
    +		dq->dq_flags |= DQ_MOD;
    +		mutex_exit(&dq->dq_interlock);
    +	}
    +	return (0);
    +}
    +
    +/*
    + * Check for a valid change to a users allocation.
    + * Issue an error message if appropriate.
    + */
    +static int
    +chkiqchg(struct inode *ip, int32_t change, kauth_cred_t cred, int type)
    +{
    +	struct dquot *dq = ip->i_dquot[type];
    +	long ncurinodes = dq->dq_curinodes + change;
    +
    +	KASSERT(mutex_owned(&dq->dq_interlock));
    +	/*
    +	 * If user would exceed their hard limit, disallow inode allocation.
    +	 */
    +	if (ncurinodes >= dq->dq_ihardlimit && dq->dq_ihardlimit) {
    +		if ((dq->dq_flags & DQ_WARN(QL_FILE)) == 0 &&
    +		    ip->i_uid == kauth_cred_geteuid(cred)) {
    +			uprintf("\n%s: write failed, %s inode limit reached\n",
    +			    ITOV(ip)->v_mount->mnt_stat.f_mntonname,
    +			    lfs_quotatypes[type]);
    +			dq->dq_flags |= DQ_WARN(QL_FILE);
    +		}
    +		return (EDQUOT);
    +	}
    +	/*
    +	 * If user is over their soft limit for too long, disallow inode
    +	 * allocation. Reset time limit as they cross their soft limit.
    +	 */
    +	if (ncurinodes >= dq->dq_isoftlimit && dq->dq_isoftlimit) {
    +		if (dq->dq_curinodes < dq->dq_isoftlimit) {
    +			dq->dq_itime =
    +			    time_second + ip->i_ump->umq1_itime[type];
    +			if (ip->i_uid == kauth_cred_geteuid(cred))
    +				uprintf("\n%s: warning, %s %s\n",
    +				    ITOV(ip)->v_mount->mnt_stat.f_mntonname,
    +				    lfs_quotatypes[type], "inode quota exceeded");
    +			return (0);
    +		}
    +		if (time_second > dq->dq_itime) {
    +			if ((dq->dq_flags & DQ_WARN(QL_FILE)) == 0 &&
    +			    ip->i_uid == kauth_cred_geteuid(cred)) {
    +				uprintf("\n%s: write failed, %s %s\n",
    +				    ITOV(ip)->v_mount->mnt_stat.f_mntonname,
    +				    lfs_quotatypes[type],
    +				    "inode quota exceeded for too long");
    +				dq->dq_flags |= DQ_WARN(QL_FILE);
    +			}
    +			return (EDQUOT);
    +		}
    +	}
    +	return (0);
    +}
    +
    +int
    +lfsquota1_umount(struct mount *mp, int flags)
    +{
    +	int i, error;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	struct lwp *l = curlwp;
    +
    +	if ((fs->um_flags & ULFS_QUOTA) == 0)
    +		return 0;
    +
    +	if ((error = vflush(mp, NULLVP, SKIPSYSTEM | flags)) != 0)
    +		return (error);
    +
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		if (ump->um_quotas[i] != NULLVP) {
    +			lfsquota1_handle_cmd_quotaoff(l, ump, i);
    +		}
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Code to process quotactl commands.
    + */
    +
    +/*
    + * set up a quota file for a particular file system.
    + */
    +int
    +lfsquota1_handle_cmd_quotaon(struct lwp *l, struct ulfsmount *ump, int type,
    +    const char *fname)
    +{
    +	struct mount *mp = ump->um_mountp;
    +	struct lfs *fs = ump->um_lfs;
    +	struct vnode *vp, **vpp, *mvp;
    +	struct dquot *dq;
    +	int error;
    +	struct pathbuf *pb;
    +	struct nameidata nd;
    +
    +	if (fs->um_flags & ULFS_QUOTA2) {
    +		uprintf("%s: quotas v2 already enabled\n",
    +		    mp->mnt_stat.f_mntonname);
    +		return (EBUSY);
    +	}
    +		
    +	vpp = &ump->um_quotas[type];
    +
    +	pb = pathbuf_create(fname);
    +	if (pb == NULL) {
    +		return ENOMEM;
    +	}
    +	NDINIT(&nd, LOOKUP, FOLLOW, pb);
    +	if ((error = vn_open(&nd, FREAD|FWRITE, 0)) != 0) {
    +		pathbuf_destroy(pb);
    +		return error;
    +	}
    +	vp = nd.ni_vp;
    +	pathbuf_destroy(pb);
    +
    +	VOP_UNLOCK(vp);
    +	if (vp->v_type != VREG) {
    +		(void) vn_close(vp, FREAD|FWRITE, l->l_cred);
    +		return (EACCES);
    +	}
    +	if (*vpp != vp)
    +		lfsquota1_handle_cmd_quotaoff(l, ump, type);
    +	mutex_enter(&lfs_dqlock);
    +	while ((ump->umq1_qflags[type] & (QTF_CLOSING | QTF_OPENING)) != 0)
    +		cv_wait(&lfs_dqcv, &lfs_dqlock);
    +	ump->umq1_qflags[type] |= QTF_OPENING;
    +	mutex_exit(&lfs_dqlock);
    +	mp->mnt_flag |= MNT_QUOTA;
    +	vp->v_vflag |= VV_SYSTEM;	/* XXXSMP */
    +	*vpp = vp;
    +	/*
    +	 * Save the credential of the process that turned on quotas.
    +	 * Set up the time limits for this quota.
    +	 */
    +	kauth_cred_hold(l->l_cred);
    +	ump->um_cred[type] = l->l_cred;
    +	ump->umq1_btime[type] = MAX_DQ_TIME;
    +	ump->umq1_itime[type] = MAX_IQ_TIME;
    +	if (lfs_dqget(NULLVP, 0, ump, type, &dq) == 0) {
    +		if (dq->dq_btime > 0)
    +			ump->umq1_btime[type] = dq->dq_btime;
    +		if (dq->dq_itime > 0)
    +			ump->umq1_itime[type] = dq->dq_itime;
    +		lfs_dqrele(NULLVP, dq);
    +	}
    +	/* Allocate a marker vnode. */
    +	mvp = vnalloc(mp);
    +	/*
    +	 * Search vnodes associated with this mount point,
    +	 * adding references to quota file being opened.
    +	 * NB: only need to add dquot's for inodes being modified.
    +	 */
    +	mutex_enter(&mntvnode_lock);
    +again:
    +	for (vp = TAILQ_FIRST(&mp->mnt_vnodelist); vp; vp = vunmark(mvp)) {
    +		vmark(mvp, vp);
    +		mutex_enter(vp->v_interlock);
    +		if (VTOI(vp) == NULL || vp->v_mount != mp || vismarker(vp) ||
    +		    vp->v_type == VNON || vp->v_writecount == 0 ||
    +		    (vp->v_iflag & (VI_XLOCK | VI_CLEAN)) != 0) {
    +			mutex_exit(vp->v_interlock);
    +			continue;
    +		}
    +		mutex_exit(&mntvnode_lock);
    +		if (vget(vp, LK_EXCLUSIVE)) {
    +			mutex_enter(&mntvnode_lock);
    +			(void)vunmark(mvp);
    +			goto again;
    +		}
    +		if ((error = lfs_getinoquota(VTOI(vp))) != 0) {
    +			vput(vp);
    +			mutex_enter(&mntvnode_lock);
    +			(void)vunmark(mvp);
    +			break;
    +		}
    +		vput(vp);
    +		mutex_enter(&mntvnode_lock);
    +	}
    +	mutex_exit(&mntvnode_lock);
    +	vnfree(mvp);
    +
    +	mutex_enter(&lfs_dqlock);
    +	ump->umq1_qflags[type] &= ~QTF_OPENING;
    +	cv_broadcast(&lfs_dqcv);
    +	if (error == 0)
    +		fs->um_flags |= ULFS_QUOTA;
    +	mutex_exit(&lfs_dqlock);
    +	if (error)
    +		lfsquota1_handle_cmd_quotaoff(l, ump, type);
    +	return (error);
    +}
    +
    +/*
    + * turn off disk quotas for a filesystem.
    + */
    +int
    +lfsquota1_handle_cmd_quotaoff(struct lwp *l, struct ulfsmount *ump, int type)
    +{
    +	struct mount *mp = ump->um_mountp;
    +	struct lfs *fs = ump->um_lfs;
    +	struct vnode *vp;
    +	struct vnode *qvp, *mvp;
    +	struct dquot *dq;
    +	struct inode *ip;
    +	kauth_cred_t cred;
    +	int i, error;
    +
    +	/* Allocate a marker vnode. */
    +	mvp = vnalloc(mp);
    +
    +	mutex_enter(&lfs_dqlock);
    +	while ((ump->umq1_qflags[type] & (QTF_CLOSING | QTF_OPENING)) != 0)
    +		cv_wait(&lfs_dqcv, &lfs_dqlock);
    +	if ((qvp = ump->um_quotas[type]) == NULLVP) {
    +		mutex_exit(&lfs_dqlock);
    +		vnfree(mvp);
    +		return (0);
    +	}
    +	ump->umq1_qflags[type] |= QTF_CLOSING;
    +	fs->um_flags &= ~ULFS_QUOTA;
    +	mutex_exit(&lfs_dqlock);
    +	/*
    +	 * Search vnodes associated with this mount point,
    +	 * deleting any references to quota file being closed.
    +	 */
    +	mutex_enter(&mntvnode_lock);
    +again:
    +	for (vp = TAILQ_FIRST(&mp->mnt_vnodelist); vp; vp = vunmark(mvp)) {
    +		vmark(mvp, vp);
    +		mutex_enter(vp->v_interlock);
    +		if (VTOI(vp) == NULL || vp->v_mount != mp || vismarker(vp) ||
    +		    vp->v_type == VNON ||
    +		    (vp->v_iflag & (VI_XLOCK | VI_CLEAN)) != 0) {
    +			mutex_exit(vp->v_interlock);
    +			continue;
    +		}
    +		mutex_exit(&mntvnode_lock);
    +		if (vget(vp, LK_EXCLUSIVE)) {
    +			mutex_enter(&mntvnode_lock);
    +			(void)vunmark(mvp);
    +			goto again;
    +		}
    +		ip = VTOI(vp);
    +		dq = ip->i_dquot[type];
    +		ip->i_dquot[type] = NODQUOT;
    +		lfs_dqrele(vp, dq);
    +		vput(vp);
    +		mutex_enter(&mntvnode_lock);
    +	}
    +	mutex_exit(&mntvnode_lock);
    +#ifdef DIAGNOSTIC
    +	lfs_dqflush(qvp);
    +#endif
    +	qvp->v_vflag &= ~VV_SYSTEM;
    +	error = vn_close(qvp, FREAD|FWRITE, l->l_cred);
    +	mutex_enter(&lfs_dqlock);
    +	ump->um_quotas[type] = NULLVP;
    +	cred = ump->um_cred[type];
    +	ump->um_cred[type] = NOCRED;
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++)
    +		if (ump->um_quotas[i] != NULLVP)
    +			break;
    +	ump->umq1_qflags[type] &= ~QTF_CLOSING;
    +	cv_broadcast(&lfs_dqcv);
    +	mutex_exit(&lfs_dqlock);
    +	kauth_cred_free(cred);
    +	if (i == ULFS_MAXQUOTAS)
    +		mp->mnt_flag &= ~MNT_QUOTA;
    +	return (error);
    +}
    +
    +int             
    +lfsquota1_handle_cmd_get(struct ulfsmount *ump, const struct quotakey *qk,
    +    struct quotaval *qv)
    +{
    +	struct dquot *dq;
    +	int error;
    +	struct quotaval blocks, files;
    +	int idtype;
    +	id_t id;
    +
    +	idtype = qk->qk_idtype;
    +	id = qk->qk_id;
    +
    +	if (ump->um_quotas[idtype] == NULLVP)
    +		return ENODEV;
    +
    +	if (id == QUOTA_DEFAULTID) { /* we want the grace period of id 0 */
    +		if ((error = lfs_dqget(NULLVP, 0, ump, idtype, &dq)) != 0)
    +			return error;
    +
    +	} else {
    +		if ((error = lfs_dqget(NULLVP, id, ump, idtype, &dq)) != 0)
    +			return error;
    +	}
    +	lfs_dqblk_to_quotavals(&dq->dq_un.dq1_dqb, &blocks, &files);
    +	lfs_dqrele(NULLVP, dq);
    +	if (id == QUOTA_DEFAULTID) {
    +		if (blocks.qv_expiretime > 0)
    +			blocks.qv_grace = blocks.qv_expiretime;
    +		else
    +			blocks.qv_grace = MAX_DQ_TIME;
    +		if (files.qv_expiretime > 0)
    +			files.qv_grace = files.qv_expiretime;
    +		else
    +			files.qv_grace = MAX_DQ_TIME;
    +	}
    +
    +	switch (qk->qk_objtype) {
    +	    case QUOTA_OBJTYPE_BLOCKS:
    +		*qv = blocks;
    +		break;
    +	    case QUOTA_OBJTYPE_FILES:
    +		*qv = files;
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
    +	return 0;
    +}
    +
    +static uint32_t
    +quota1_encode_limit(uint64_t lim)
    +{
    +	if (lim == QUOTA_NOLIMIT || lim >= 0xffffffff) {
    +		return 0;
    +	}
    +	return lim;
    +}
    +
    +int
    +lfsquota1_handle_cmd_put(struct ulfsmount *ump, const struct quotakey *key,
    +    const struct quotaval *val)
    +{
    +	struct dquot *dq;
    +	struct dqblk dqb;
    +	int error;
    +
    +	switch (key->qk_idtype) {
    +	    case QUOTA_IDTYPE_USER:
    +	    case QUOTA_IDTYPE_GROUP:
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
    +	switch (key->qk_objtype) {
    +	    case QUOTA_OBJTYPE_BLOCKS:
    +	    case QUOTA_OBJTYPE_FILES:
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
    +	if (ump->um_quotas[key->qk_idtype] == NULLVP)
    +		return ENODEV;
    +
    +	if (key->qk_id == QUOTA_DEFAULTID) {
    +		/* just update grace times */
    +		id_t id = 0;
    +
    +		if ((error = lfs_dqget(NULLVP, id, ump, key->qk_idtype, &dq)) != 0)
    +			return error;
    +		mutex_enter(&dq->dq_interlock);
    +		if (val->qv_grace != QUOTA_NOTIME) {
    +			if (key->qk_objtype == QUOTA_OBJTYPE_BLOCKS)
    +				ump->umq1_btime[key->qk_idtype] = dq->dq_btime =
    +					val->qv_grace;
    +			if (key->qk_objtype == QUOTA_OBJTYPE_FILES)
    +				ump->umq1_itime[key->qk_idtype] = dq->dq_itime =
    +					val->qv_grace;
    +		}
    +		dq->dq_flags |= DQ_MOD;
    +		mutex_exit(&dq->dq_interlock);
    +		lfs_dqrele(NULLVP, dq);
    +		return 0;
    +	}
    +
    +	if ((error = lfs_dqget(NULLVP, key->qk_id, ump, key->qk_idtype, &dq)) != 0)
    +		return (error);
    +	mutex_enter(&dq->dq_interlock);
    +	/*
    +	 * Copy all but the current values.
    +	 * Reset time limit if previously had no soft limit or were
    +	 * under it, but now have a soft limit and are over it.
    +	 */
    +	dqb.dqb_curblocks = dq->dq_curblocks;
    +	dqb.dqb_curinodes = dq->dq_curinodes;
    +	dqb.dqb_btime = dq->dq_btime;
    +	dqb.dqb_itime = dq->dq_itime;
    +	if (key->qk_objtype == QUOTA_OBJTYPE_BLOCKS) {
    +		dqb.dqb_bsoftlimit = quota1_encode_limit(val->qv_softlimit);
    +		dqb.dqb_bhardlimit = quota1_encode_limit(val->qv_hardlimit);
    +		dqb.dqb_isoftlimit = dq->dq_isoftlimit;
    +		dqb.dqb_ihardlimit = dq->dq_ihardlimit;
    +	} else {
    +		KASSERT(key->qk_objtype == QUOTA_OBJTYPE_FILES);
    +		dqb.dqb_bsoftlimit = dq->dq_bsoftlimit;
    +		dqb.dqb_bhardlimit = dq->dq_bhardlimit;
    +		dqb.dqb_isoftlimit = quota1_encode_limit(val->qv_softlimit);
    +		dqb.dqb_ihardlimit = quota1_encode_limit(val->qv_hardlimit);
    +	}
    +	if (dq->dq_id == 0 && val->qv_grace != QUOTA_NOTIME) {
    +		/* also update grace time if available */
    +		if (key->qk_objtype == QUOTA_OBJTYPE_BLOCKS) {
    +			ump->umq1_btime[key->qk_idtype] = dqb.dqb_btime =
    +				val->qv_grace;
    +		}
    +		if (key->qk_objtype == QUOTA_OBJTYPE_FILES) {
    +			ump->umq1_itime[key->qk_idtype] = dqb.dqb_itime =
    +				val->qv_grace;
    +		}
    +	}
    +	if (dqb.dqb_bsoftlimit &&
    +	    dq->dq_curblocks >= dqb.dqb_bsoftlimit &&
    +	    (dq->dq_bsoftlimit == 0 || dq->dq_curblocks < dq->dq_bsoftlimit))
    +		dqb.dqb_btime = time_second + ump->umq1_btime[key->qk_idtype];
    +	if (dqb.dqb_isoftlimit &&
    +	    dq->dq_curinodes >= dqb.dqb_isoftlimit &&
    +	    (dq->dq_isoftlimit == 0 || dq->dq_curinodes < dq->dq_isoftlimit))
    +		dqb.dqb_itime = time_second + ump->umq1_itime[key->qk_idtype];
    +	dq->dq_un.dq1_dqb = dqb;
    +	if (dq->dq_curblocks < dq->dq_bsoftlimit)
    +		dq->dq_flags &= ~DQ_WARN(QL_BLOCK);
    +	if (dq->dq_curinodes < dq->dq_isoftlimit)
    +		dq->dq_flags &= ~DQ_WARN(QL_FILE);
    +	if (dq->dq_isoftlimit == 0 && dq->dq_bsoftlimit == 0 &&
    +	    dq->dq_ihardlimit == 0 && dq->dq_bhardlimit == 0)
    +		dq->dq_flags |= DQ_FAKE;
    +	else
    +		dq->dq_flags &= ~DQ_FAKE;
    +	dq->dq_flags |= DQ_MOD;
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +	return (0);
    +}
    +
    +
    +#if 0
    +/*
    + * Q_SETQUOTA - assign an entire dqblk structure.
    + */
    +int
    +setquota1(struct mount *mp, u_long id, int type, struct dqblk *dqb)
    +{
    +	struct dquot *dq;
    +	struct dquot *ndq;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	
    +
    +	if ((error = lfs_dqget(NULLVP, id, ump, type, &ndq)) != 0)
    +		return (error);
    +	dq = ndq;
    +	mutex_enter(&dq->dq_interlock);
    +	/*
    +	 * Copy all but the current values.
    +	 * Reset time limit if previously had no soft limit or were
    +	 * under it, but now have a soft limit and are over it.
    +	 */
    +	dqb->dqb_curblocks = dq->dq_curblocks;
    +	dqb->dqb_curinodes = dq->dq_curinodes;
    +	if (dq->dq_id != 0) {
    +		dqb->dqb_btime = dq->dq_btime;
    +		dqb->dqb_itime = dq->dq_itime;
    +	}
    +	if (dqb->dqb_bsoftlimit &&
    +	    dq->dq_curblocks >= dqb->dqb_bsoftlimit &&
    +	    (dq->dq_bsoftlimit == 0 || dq->dq_curblocks < dq->dq_bsoftlimit))
    +		dqb->dqb_btime = time_second + ump->umq1_btime[type];
    +	if (dqb->dqb_isoftlimit &&
    +	    dq->dq_curinodes >= dqb->dqb_isoftlimit &&
    +	    (dq->dq_isoftlimit == 0 || dq->dq_curinodes < dq->dq_isoftlimit))
    +		dqb->dqb_itime = time_second + ump->umq1_itime[type];
    +	dq->dq_un.dq1_dqb = *dqb;
    +	if (dq->dq_curblocks < dq->dq_bsoftlimit)
    +		dq->dq_flags &= ~DQ_WARN(QL_BLOCK);
    +	if (dq->dq_curinodes < dq->dq_isoftlimit)
    +		dq->dq_flags &= ~DQ_WARN(QL_FILE);
    +	if (dq->dq_isoftlimit == 0 && dq->dq_bsoftlimit == 0 &&
    +	    dq->dq_ihardlimit == 0 && dq->dq_bhardlimit == 0)
    +		dq->dq_flags |= DQ_FAKE;
    +	else
    +		dq->dq_flags &= ~DQ_FAKE;
    +	dq->dq_flags |= DQ_MOD;
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +	return (0);
    +}
    +
    +/*
    + * Q_SETUSE - set current inode and block usage.
    + */
    +int
    +setuse(struct mount *mp, u_long id, int type, void *addr)
    +{
    +	struct dquot *dq;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct dquot *ndq;
    +	struct dqblk usage;
    +	int error;
    +
    +	error = copyin(addr, (void *)&usage, sizeof (struct dqblk));
    +	if (error)
    +		return (error);
    +	if ((error = lfs_dqget(NULLVP, id, ump, type, &ndq)) != 0)
    +		return (error);
    +	dq = ndq;
    +	mutex_enter(&dq->dq_interlock);
    +	/*
    +	 * Reset time limit if have a soft limit and were
    +	 * previously under it, but are now over it.
    +	 */
    +	if (dq->dq_bsoftlimit && dq->dq_curblocks < dq->dq_bsoftlimit &&
    +	    usage.dqb_curblocks >= dq->dq_bsoftlimit)
    +		dq->dq_btime = time_second + ump->umq1_btime[type];
    +	if (dq->dq_isoftlimit && dq->dq_curinodes < dq->dq_isoftlimit &&
    +	    usage.dqb_curinodes >= dq->dq_isoftlimit)
    +		dq->dq_itime = time_second + ump->umq1_itime[type];
    +	dq->dq_curblocks = usage.dqb_curblocks;
    +	dq->dq_curinodes = usage.dqb_curinodes;
    +	if (dq->dq_curblocks < dq->dq_bsoftlimit)
    +		dq->dq_flags &= ~DQ_WARN(QL_BLOCK);
    +	if (dq->dq_curinodes < dq->dq_isoftlimit)
    +		dq->dq_flags &= ~DQ_WARN(QL_FILE);
    +	dq->dq_flags |= DQ_MOD;
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +	return (0);
    +}
    +#endif
    +
    +/*
    + * Q_SYNC - sync quota files to disk.
    + */
    +int
    +lfs_q1sync(struct mount *mp)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct vnode *vp, *mvp;
    +	struct dquot *dq;
    +	int i, error;
    +
    +	/*
    +	 * Check if the mount point has any quotas.
    +	 * If not, simply return.
    +	 */
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++)
    +		if (ump->um_quotas[i] != NULLVP)
    +			break;
    +	if (i == ULFS_MAXQUOTAS)
    +		return (0);
    +
    +	/* Allocate a marker vnode. */
    +	mvp = vnalloc(mp);
    +
    +	/*
    +	 * Search vnodes associated with this mount point,
    +	 * synchronizing any modified dquot structures.
    +	 */
    +	mutex_enter(&mntvnode_lock);
    + again:
    +	for (vp = TAILQ_FIRST(&mp->mnt_vnodelist); vp; vp = vunmark(mvp)) {
    +		vmark(mvp, vp);
    +		mutex_enter(vp->v_interlock);
    +		if (VTOI(vp) == NULL || vp->v_mount != mp || vismarker(vp) ||
    +		    vp->v_type == VNON ||
    +		    (vp->v_iflag & (VI_XLOCK | VI_CLEAN)) != 0) {
    +			mutex_exit(vp->v_interlock);
    +			continue;
    +		}
    +		mutex_exit(&mntvnode_lock);
    +		error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT);
    +		if (error) {
    +			mutex_enter(&mntvnode_lock);
    +			if (error == ENOENT) {
    +				(void)vunmark(mvp);
    +				goto again;
    +			}
    +			continue;
    +		}
    +		for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +			dq = VTOI(vp)->i_dquot[i];
    +			if (dq == NODQUOT)
    +				continue;
    +			mutex_enter(&dq->dq_interlock);
    +			if (dq->dq_flags & DQ_MOD)
    +				lfs_dq1sync(vp, dq);
    +			mutex_exit(&dq->dq_interlock);
    +		}
    +		vput(vp);
    +		mutex_enter(&mntvnode_lock);
    +	}
    +	mutex_exit(&mntvnode_lock);
    +	vnfree(mvp);
    +	return (0);
    +}
    +
    +/*
    + * Obtain a dquot structure for the specified identifier and quota file
    + * reading the information from the file if necessary.
    + */
    +int
    +lfs_dq1get(struct vnode *dqvp, u_long id, struct ulfsmount *ump, int type,
    +    struct dquot *dq)
    +{
    +	struct iovec aiov;
    +	struct uio auio;
    +	int error;
    +
    +	KASSERT(mutex_owned(&dq->dq_interlock));
    +	vn_lock(dqvp, LK_EXCLUSIVE | LK_RETRY);
    +	auio.uio_iov = &aiov;
    +	auio.uio_iovcnt = 1;
    +	aiov.iov_base = (void *)&dq->dq_un.dq1_dqb;
    +	aiov.iov_len = sizeof (struct dqblk);
    +	auio.uio_resid = sizeof (struct dqblk);
    +	auio.uio_offset = (off_t)(id * sizeof (struct dqblk));
    +	auio.uio_rw = UIO_READ;
    +	UIO_SETUP_SYSSPACE(&auio);
    +	error = VOP_READ(dqvp, &auio, 0, ump->um_cred[type]);
    +	if (auio.uio_resid == sizeof(struct dqblk) && error == 0)
    +		memset((void *)&dq->dq_un.dq1_dqb, 0, sizeof(struct dqblk));
    +	VOP_UNLOCK(dqvp);
    +	/*
    +	 * I/O error in reading quota file, release
    +	 * quota structure and reflect problem to caller.
    +	 */
    +	if (error)
    +		return (error);
    +	/*
    +	 * Check for no limit to enforce.
    +	 * Initialize time values if necessary.
    +	 */
    +	if (dq->dq_isoftlimit == 0 && dq->dq_bsoftlimit == 0 &&
    +	    dq->dq_ihardlimit == 0 && dq->dq_bhardlimit == 0)
    +		dq->dq_flags |= DQ_FAKE;
    +	if (dq->dq_id != 0) {
    +		if (dq->dq_btime == 0)
    +			dq->dq_btime = time_second + ump->umq1_btime[type];
    +		if (dq->dq_itime == 0)
    +			dq->dq_itime = time_second + ump->umq1_itime[type];
    +	}
    +	return (0);
    +}
    +
    +/*
    + * Update the disk quota in the quota file.
    + */
    +int
    +lfs_dq1sync(struct vnode *vp, struct dquot *dq)
    +{
    +	struct vnode *dqvp;
    +	struct iovec aiov;
    +	struct uio auio;
    +	int error;
    +
    +	if (dq == NODQUOT)
    +		panic("dq1sync: dquot");
    +	KASSERT(mutex_owned(&dq->dq_interlock));
    +	if ((dq->dq_flags & DQ_MOD) == 0)
    +		return (0);
    +	if ((dqvp = dq->dq_ump->um_quotas[dq->dq_type]) == NULLVP)
    +		panic("dq1sync: file");
    +	KASSERT(dqvp != vp);
    +	vn_lock(dqvp, LK_EXCLUSIVE | LK_RETRY);
    +	auio.uio_iov = &aiov;
    +	auio.uio_iovcnt = 1;
    +	aiov.iov_base = (void *)&dq->dq_un.dq1_dqb;
    +	aiov.iov_len = sizeof (struct dqblk);
    +	auio.uio_resid = sizeof (struct dqblk);
    +	auio.uio_offset = (off_t)(dq->dq_id * sizeof (struct dqblk));
    +	auio.uio_rw = UIO_WRITE;
    +	UIO_SETUP_SYSSPACE(&auio);
    +	error = VOP_WRITE(dqvp, &auio, 0, dq->dq_ump->um_cred[dq->dq_type]);
    +	if (auio.uio_resid && error == 0)
    +		error = EIO;
    +	dq->dq_flags &= ~DQ_MOD;
    +	VOP_UNLOCK(dqvp);
    +	return (error);
    +}
    diff --git a/sys/ufs/lfs/ulfs_quota1.h b/sys/ufs/lfs/ulfs_quota1.h
    new file mode 100644
    index 000000000..7086a05d2
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota1.h
    @@ -0,0 +1,105 @@
    +/*	$NetBSD: ulfs_quota1.h,v 1.4 2013/06/06 00:49:28 dholland Exp $	*/
    +/*  from NetBSD: quota1.h,v 1.7 2012/08/26 02:32:14 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Robert Elz at The University of Melbourne.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)quota.h	8.3 (Berkeley) 8/19/94
    + */
    +
    +#ifndef	_UFS_LFS_ULFS_QUOTA1_H_
    +#define	_UFS_LFS_ULFS_QUOTA1_H_
    +
    +#include 
    +#include 
    +
    +/*
    + * These definitions are for the original disk quota implementation, which
    + * is deprecated. the newer implementation is defined in quota2.h
    + * and friends
    + */
    +
    +/*
    + * Definitions for disk quotas imposed on the average user
    + * (big brother finally hits UNIX).
    + *
    + * The following constants define the amount of time given a user before the
    + * soft limits are treated as hard limits (usually resulting in an allocation
    + * failure). The timer is started when the user crosses their soft limit, it
    + * is reset when they go below their soft limit.
    + */
    +#define	MAX_IQ_TIME	(7*24*60*60)	/* seconds in 1 week */
    +#define	MAX_DQ_TIME	(7*24*60*60)	/* seconds in 1 week */
    +
    +#define	QUOTAFILENAME	"quota"
    +#define	QUOTAGROUP	"operator"
    +
    +/*
    + * Command definitions for the 'compat_50_quotactl' system call.  The commands
    + * are broken into a main command defined below and a subcommand that is used
    + * to convey the type of quota that is being manipulated (see above).
    + */
    +#define SUBCMDMASK	0x00ff
    +#define SUBCMDSHIFT	8
    +#define	QCMD(cmd, type)	(((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
    +
    +#define	Q_QUOTAON	0x0100	/* enable quotas */
    +#define	Q_QUOTAOFF	0x0200	/* disable quotas */
    +#define	Q_GETQUOTA	0x0300	/* get limits and usage */
    +#define	Q_SETQUOTA	0x0400	/* set limits and usage */
    +#define	Q_SETUSE	0x0500	/* set usage */
    +#define	Q_SYNC		0x0600	/* sync disk copy of a filesystems quotas */
    +
    +/*
    + * The following structure defines the format of the disk quota file
    + * (as it appears on disk) - the file is an array of these structures
    + * indexed by user or group number.  The setquota system call establishes
    + * the vnode for each quota file (a pointer is retained in the ulfsmount
    + * structure).
    + */
    +struct dqblk {
    +	u_int32_t dqb_bhardlimit;	/* absolute limit on disk blks alloc */
    +	u_int32_t dqb_bsoftlimit;	/* preferred limit on disk blks */
    +	u_int32_t dqb_curblocks;	/* current block count */
    +	u_int32_t dqb_ihardlimit;	/* maximum # allocated inodes + 1 */
    +	u_int32_t dqb_isoftlimit;	/* preferred inode limit */
    +	u_int32_t dqb_curinodes;	/* current # allocated inodes */
    +	int32_t	  dqb_btime;		/* time limit for excessive disk use */
    +	int32_t	  dqb_itime;		/* time limit for excessive files */
    +};
    +
    +/* quota1_subr.c */
    +void lfs_dqblk_to_quotavals(const struct dqblk *,
    +			struct quotaval *, struct quotaval *);
    +void lfs_quotavals_to_dqblk(const struct quotaval *, const struct quotaval *,
    +			struct dqblk *);
    +
    +#endif /* !_UFS_LFS_ULFS_QUOTA1_H_ */
    diff --git a/sys/ufs/lfs/ulfs_quota1_subr.c b/sys/ufs/lfs/ulfs_quota1_subr.c
    new file mode 100644
    index 000000000..dfa66f9f3
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota1_subr.c
    @@ -0,0 +1,90 @@
    +/*	$NetBSD: ulfs_quota1_subr.c,v 1.3 2013/06/06 00:49:28 dholland Exp $	*/
    +/*  from NetBSD: quota1_subr.c,v 1.7 2012/01/29 06:23:20 dholland Exp  */
    +
    +/*-
    +  * Copyright (c) 2010 Manuel Bouyer
    +  * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_quota1_subr.c,v 1.3 2013/06/06 00:49:28 dholland Exp $");
    +
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +static uint64_t
    +dqblk2q2e_limit(uint32_t lim)
    +{
    +	if (lim == 0)
    +		return UQUAD_MAX;
    +	else
    +		return (lim - 1);
    +}
    +
    +static uint32_t
    +q2e2dqblk_limit(uint64_t lim)
    +{
    +	if (lim == UQUAD_MAX)
    +		return 0;
    +	else
    +		return (lim + 1);
    +}
    +
    +void
    +lfs_dqblk_to_quotavals(const struct dqblk *dqblk,
    +		   struct quotaval *blocks, struct quotaval *files)
    +{
    +	/* XXX is qv_grace getting handled correctly? */
    +
    +	blocks->qv_hardlimit  = dqblk2q2e_limit(dqblk->dqb_bhardlimit);
    +	blocks->qv_softlimit  = dqblk2q2e_limit(dqblk->dqb_bsoftlimit);
    +	blocks->qv_usage      = dqblk->dqb_curblocks;
    +	blocks->qv_expiretime = dqblk->dqb_btime;
    +
    +	files->qv_hardlimit  = dqblk2q2e_limit(dqblk->dqb_ihardlimit);
    +	files->qv_softlimit  = dqblk2q2e_limit(dqblk->dqb_isoftlimit);
    +	files->qv_usage      = dqblk->dqb_curinodes;
    +	files->qv_expiretime = dqblk->dqb_itime;
    +}
    +
    +void
    +lfs_quotavals_to_dqblk(const struct quotaval *blocks, const struct quotaval *files,
    +		   struct dqblk *dqblk)
    +{
    +	/* XXX is qv_grace getting handled correctly? */
    +
    +	dqblk->dqb_bhardlimit = q2e2dqblk_limit(blocks->qv_hardlimit);
    +	dqblk->dqb_bsoftlimit = q2e2dqblk_limit(blocks->qv_softlimit);
    +	dqblk->dqb_curblocks  = blocks->qv_usage;
    +	dqblk->dqb_btime      = blocks->qv_expiretime;
    +
    +	dqblk->dqb_ihardlimit = q2e2dqblk_limit(files->qv_hardlimit);
    +	dqblk->dqb_isoftlimit = q2e2dqblk_limit(files->qv_softlimit);
    +	dqblk->dqb_curinodes  = files->qv_usage;
    +	dqblk->dqb_itime      = files->qv_expiretime;
    +}
    +
    diff --git a/sys/ufs/lfs/ulfs_quota2.c b/sys/ufs/lfs/ulfs_quota2.c
    new file mode 100644
    index 000000000..8b67b2b4c
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota2.c
    @@ -0,0 +1,1625 @@
    +/*	$NetBSD: ulfs_quota2.c,v 1.15 2013/10/18 19:45:40 christos Exp $	*/
    +/*  from NetBSD: ufs_quota2.c,v 1.35 2012/09/27 07:47:56 bouyer Exp  */
    +/*  from NetBSD: ffs_quota2.c,v 1.4 2011/06/12 03:36:00 rmind Exp  */
    +
    +/*-
    +  * Copyright (c) 2010 Manuel Bouyer
    +  * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_quota2.c,v 1.15 2013/10/18 19:45:40 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * LOCKING:
    + * Data in the entries are protected by the associated struct dquot's
    + * dq_interlock (this means we can't read or change a quota entry without
    + * grabing a dquot for it).
    + * The header and lists (including pointers in the data entries, and q2e_uid)
    + * are protected by the global dqlock.
    + * the locking order is dq_interlock -> dqlock
    + */
    +
    +static int quota2_bwrite(struct mount *, struct buf *);
    +static int getinoquota2(struct inode *, bool, bool, struct buf **,
    +    struct quota2_entry **);
    +static int getq2h(struct ulfsmount *, int, struct buf **,
    +    struct quota2_header **, int);
    +static int getq2e(struct ulfsmount *, int, daddr_t, int, struct buf **,
    +    struct quota2_entry **, int);
    +static int quota2_walk_list(struct ulfsmount *, struct buf *, int,
    +    uint64_t *, int, void *,
    +    int (*func)(struct ulfsmount *, uint64_t *, struct quota2_entry *,
    +      uint64_t, void *));
    +
    +static const char *limnames[] = INITQLNAMES;
    +
    +static void
    +quota2_dict_update_q2e_limits(int objtype, const struct quotaval *val,
    +    struct quota2_entry *q2e)
    +{
    +	/* make sure we can index q2e_val[] by the fs-independent objtype */
    +	CTASSERT(QUOTA_OBJTYPE_BLOCKS == QL_BLOCK);
    +	CTASSERT(QUOTA_OBJTYPE_FILES == QL_FILE);
    +
    +	q2e->q2e_val[objtype].q2v_hardlimit = val->qv_hardlimit;
    +	q2e->q2e_val[objtype].q2v_softlimit = val->qv_softlimit;
    +	q2e->q2e_val[objtype].q2v_grace = val->qv_grace;
    +}
    +
    +/*
    + * Convert internal representation to FS-independent representation.
    + * (Note that while the two types are currently identical, the
    + * internal representation is an on-disk struct and the FS-independent
    + * representation is not, and they might diverge in the future.)
    + */
    +static void
    +q2val_to_quotaval(struct quota2_val *q2v, struct quotaval *qv)
    +{
    +	qv->qv_softlimit = q2v->q2v_softlimit;
    +	qv->qv_hardlimit = q2v->q2v_hardlimit;
    +	qv->qv_usage = q2v->q2v_cur;
    +	qv->qv_expiretime = q2v->q2v_time;
    +	qv->qv_grace = q2v->q2v_grace;
    +}
    +
    +/*
    + * Convert a quota2entry and default-flag to the FS-independent
    + * representation.
    + */
    +static void
    +q2e_to_quotaval(struct quota2_entry *q2e, int def,
    +	       id_t *id, int objtype, struct quotaval *ret)
    +{
    +	if (def) {
    +		*id = QUOTA_DEFAULTID;
    +	} else {
    +		*id = q2e->q2e_uid;
    +	}
    +
    +	KASSERT(objtype >= 0 && objtype < N_QL);
    +	q2val_to_quotaval(&q2e->q2e_val[objtype], ret);
    +}
    +
    +
    +static int
    +quota2_bwrite(struct mount *mp, struct buf *bp)
    +{
    +	if (mp->mnt_flag & MNT_SYNCHRONOUS)
    +		return bwrite(bp);
    +	else {
    +		bdwrite(bp);
    +		return 0;
    +	}
    +}
    +
    +static int
    +getq2h(struct ulfsmount *ump, int type,
    +    struct buf **bpp, struct quota2_header **q2hp, int flags)
    +{
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	int error;
    +	struct buf *bp;
    +	struct quota2_header *q2h;
    +
    +	KASSERT(mutex_owned(&lfs_dqlock));
    +	error = bread(ump->um_quotas[type], 0, ump->umq2_bsize,
    +	    ump->um_cred[type], flags, &bp);
    +	if (error)
    +		return error;
    +	if (bp->b_resid != 0) 
    +		panic("dq2get: %s quota file truncated", lfs_quotatypes[type]);
    +
    +	q2h = (void *)bp->b_data;
    +	if (ulfs_rw32(q2h->q2h_magic_number, needswap) != Q2_HEAD_MAGIC ||
    +	    q2h->q2h_type != type)
    +		panic("dq2get: corrupted %s quota header", lfs_quotatypes[type]);
    +	*bpp = bp;
    +	*q2hp = q2h;
    +	return 0;
    +}
    +
    +static int
    +getq2e(struct ulfsmount *ump, int type, daddr_t lblkno, int blkoffset,
    +    struct buf **bpp, struct quota2_entry **q2ep, int flags)
    +{
    +	int error;
    +	struct buf *bp;
    +
    +	if (blkoffset & (sizeof(uint64_t) - 1)) {
    +		panic("dq2get: %s quota file corrupted",
    +		    lfs_quotatypes[type]);
    +	}
    +	error = bread(ump->um_quotas[type], lblkno, ump->umq2_bsize,
    +	    ump->um_cred[type], flags, &bp);
    +	if (error)
    +		return error;
    +	if (bp->b_resid != 0) {
    +		panic("dq2get: %s quota file corrupted",
    +		    lfs_quotatypes[type]);
    +	}
    +	*q2ep = (void *)((char *)bp->b_data + blkoffset);
    +	*bpp = bp;
    +	return 0;
    +}
    +
    +/* walk a quota entry list, calling the callback for each entry */
    +#define Q2WL_ABORT 0x10000000
    +
    +static int
    +quota2_walk_list(struct ulfsmount *ump, struct buf *hbp, int type,
    +    uint64_t *offp, int flags, void *a,
    +    int (*func)(struct ulfsmount *, uint64_t *, struct quota2_entry *, uint64_t, void *))
    +{
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	daddr_t off = ulfs_rw64(*offp, needswap);
    +	struct buf *bp, *obp = hbp;
    +	int ret = 0, ret2 = 0;
    +	struct quota2_entry *q2e;
    +	daddr_t lblkno, blkoff, olblkno = 0;
    +
    +	KASSERT(mutex_owner(&lfs_dqlock));
    +
    +	while (off != 0) {
    +		lblkno = (off >> ump->um_mountp->mnt_fs_bshift);
    +		blkoff = (off & ump->umq2_bmask);
    +		if (lblkno == 0) {
    +			/* in the header block */
    +			bp = hbp;
    +		} else if (lblkno == olblkno) {
    +			/* still in the same buf */
    +			bp = obp;
    +		} else {
    +			ret = bread(ump->um_quotas[type], lblkno, 
    +			    ump->umq2_bsize,
    +			    ump->um_cred[type], flags, &bp);
    +			if (ret)
    +				return ret;
    +			if (bp->b_resid != 0) {
    +				panic("quota2_walk_list: %s quota file corrupted",
    +				    lfs_quotatypes[type]);
    +			}
    +		}
    +		q2e = (void *)((char *)(bp->b_data) + blkoff);
    +		ret = (*func)(ump, offp, q2e, off, a);
    +		if (off != ulfs_rw64(*offp, needswap)) {
    +			/* callback changed parent's pointer, redo */
    +			off = ulfs_rw64(*offp, needswap);
    +			if (bp != hbp && bp != obp)
    +				ret2 = bwrite(bp);
    +		} else {
    +			/* parent if now current */
    +			if (obp != bp && obp != hbp) {
    +				if (flags & B_MODIFY)
    +					ret2 = bwrite(obp);
    +				else
    +					brelse(obp, 0);
    +			}
    +			obp = bp;
    +			olblkno = lblkno;
    +			offp = &(q2e->q2e_next);
    +			off = ulfs_rw64(*offp, needswap);
    +		}
    +		if (ret)
    +			break;
    +		if (ret2) {
    +			ret = ret2;
    +			break;
    +		}
    +	}
    +	if (obp != hbp) {
    +		if (flags & B_MODIFY)
    +			ret2 = bwrite(obp);
    +		else
    +			brelse(obp, 0);
    +	}
    +	if (ret & Q2WL_ABORT)
    +		return 0;
    +	if (ret == 0)
    +		return ret2;
    +	return ret;
    +}
    +
    +int
    +lfsquota2_umount(struct mount *mp, int flags)
    +{
    +	int i, error;
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +
    +	if ((fs->um_flags & ULFS_QUOTA2) == 0)
    +		return 0;
    +
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		if (ump->um_quotas[i] != NULLVP) {
    +			error = vn_close(ump->um_quotas[i], FREAD|FWRITE,
    +			    ump->um_cred[i]);
    +			if (error) {
    +				printf("quota2_umount failed: close(%p) %d\n",
    +				    ump->um_quotas[i], error);
    +				return error;
    +			}
    +		}
    +		ump->um_quotas[i] = NULLVP;
    +	}
    +	return 0;
    +}
    +
    +static int 
    +quota2_q2ealloc(struct ulfsmount *ump, int type, uid_t uid, struct dquot *dq)
    +{
    +	int error, error2;
    +	struct buf *hbp, *bp;
    +	struct quota2_header *q2h;
    +	struct quota2_entry *q2e;
    +	daddr_t offset;
    +	u_long hash_mask;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +
    +	KASSERT(mutex_owned(&dq->dq_interlock));
    +	KASSERT(mutex_owned(&lfs_dqlock));
    +	error = getq2h(ump, type, &hbp, &q2h, B_MODIFY);
    +	if (error)
    +		return error;
    +	offset = ulfs_rw64(q2h->q2h_free, needswap);
    +	if (offset == 0) {
    +		struct vnode *vp = ump->um_quotas[type];
    +		struct inode *ip = VTOI(vp);
    +		uint64_t size = ip->i_size;
    +		/* need to alocate a new disk block */
    +		error = lfs_balloc(vp, size, ump->umq2_bsize,
    +		    ump->um_cred[type], B_CLRBUF | B_SYNC, &bp);
    +		if (error) {
    +			brelse(hbp, 0);
    +			return error;
    +		}
    +		KASSERT((ip->i_size % ump->umq2_bsize) == 0);
    +		ip->i_size += ump->umq2_bsize;
    +		DIP_ASSIGN(ip, size, ip->i_size);
    +		ip->i_flag |= IN_CHANGE | IN_UPDATE;
    +		uvm_vnp_setsize(vp, ip->i_size);
    +		lfsquota2_addfreeq2e(q2h, bp->b_data, size, ump->umq2_bsize,
    +		    needswap);
    +		error = bwrite(bp);
    +		error2 = lfs_update(vp, NULL, NULL, UPDATE_WAIT);
    +		if (error || error2) {
    +			brelse(hbp, 0);
    +			if (error)
    +				return error;
    +			return error2;
    +		}
    +		offset = ulfs_rw64(q2h->q2h_free, needswap);
    +		KASSERT(offset != 0);
    +	}
    +	dq->dq2_lblkno = (offset >> ump->um_mountp->mnt_fs_bshift);
    +	dq->dq2_blkoff = (offset & ump->umq2_bmask);
    +	if (dq->dq2_lblkno == 0) {
    +		bp = hbp;
    +		q2e = (void *)((char *)bp->b_data + dq->dq2_blkoff);
    +	} else {
    +		error = getq2e(ump, type, dq->dq2_lblkno,
    +		    dq->dq2_blkoff, &bp, &q2e, B_MODIFY);
    +		if (error) {
    +			brelse(hbp, 0);
    +			return error;
    +		}
    +	}
    +	hash_mask = ((1 << q2h->q2h_hash_shift) - 1);
    +	/* remove from free list */
    +	q2h->q2h_free = q2e->q2e_next;
    +
    +	memcpy(q2e, &q2h->q2h_defentry, sizeof(*q2e));
    +	q2e->q2e_uid = ulfs_rw32(uid, needswap);
    +	/* insert in hash list */ 
    +	q2e->q2e_next = q2h->q2h_entries[uid & hash_mask];
    +	q2h->q2h_entries[uid & hash_mask] = ulfs_rw64(offset, needswap);
    +	if (hbp != bp) {
    +		bwrite(hbp);
    +	}
    +	bwrite(bp);
    +	return 0;
    +}
    +
    +static int
    +getinoquota2(struct inode *ip, bool alloc, bool modify, struct buf **bpp,
    +    struct quota2_entry **q2ep)
    +{
    +	int error;
    +	int i;
    +	struct dquot *dq;
    +	struct ulfsmount *ump = ip->i_ump;
    +	u_int32_t ino_ids[ULFS_MAXQUOTAS];
    +
    +	error = lfs_getinoquota(ip);
    +	if (error)
    +		return error;
    +
    +        ino_ids[ULFS_USRQUOTA] = ip->i_uid;
    +        ino_ids[ULFS_GRPQUOTA] = ip->i_gid;
    +	/* first get the interlock for all dquot */
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		dq = ip->i_dquot[i];
    +		if (dq == NODQUOT)
    +			continue;
    +		mutex_enter(&dq->dq_interlock);
    +	}
    +	/* now get the corresponding quota entry */
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		bpp[i] = NULL;
    +		q2ep[i] = NULL;
    +		dq = ip->i_dquot[i];
    +		if (dq == NODQUOT)
    +			continue;
    +		if (__predict_false(ump->um_quotas[i] == NULL)) {
    +			/*
    +			 * quotas have been turned off. This can happen
    +			 * at umount time.
    +			 */
    +			mutex_exit(&dq->dq_interlock);
    +			lfs_dqrele(NULLVP, dq);
    +			ip->i_dquot[i] = NULL;
    +			continue;
    +		}
    +
    +		if ((dq->dq2_lblkno | dq->dq2_blkoff) == 0) {
    +			if (!alloc) {
    +				continue;
    +			}
    +			/* need to alloc a new on-disk quot */
    +			mutex_enter(&lfs_dqlock);
    +			error = quota2_q2ealloc(ump, i, ino_ids[i], dq);
    +			mutex_exit(&lfs_dqlock);
    +			if (error)
    +				return error;
    +		}
    +		KASSERT(dq->dq2_lblkno != 0 || dq->dq2_blkoff != 0);
    +		error = getq2e(ump, i, dq->dq2_lblkno,
    +		    dq->dq2_blkoff, &bpp[i], &q2ep[i],
    +		    modify ? B_MODIFY : 0);
    +		if (error)
    +			return error;
    +	}
    +	return 0;
    +}
    +
    +__inline static int __unused
    +lfsquota2_check_limit(struct quota2_val *q2v, uint64_t change, time_t now)
    +{
    +	return lfsquota_check_limit(q2v->q2v_cur, change, q2v->q2v_softlimit,
    +	    q2v->q2v_hardlimit, q2v->q2v_time, now);
    +}
    +
    +static int
    +quota2_check(struct inode *ip, int vtype, int64_t change, kauth_cred_t cred,
    +    int flags)
    +{
    +	int error;
    +	struct buf *bp[ULFS_MAXQUOTAS];
    +	struct quota2_entry *q2e[ULFS_MAXQUOTAS];
    +	struct quota2_val *q2vp;
    +	struct dquot *dq;
    +	uint64_t ncurblks;
    +	struct ulfsmount *ump = ip->i_ump;
    +	struct lfs *fs = ip->i_lfs;
    +	struct mount *mp = ump->um_mountp;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	int i;
    +
    +	if ((error = getinoquota2(ip, change > 0, change != 0, bp, q2e)) != 0)
    +		return error;
    +	if (change == 0) {
    +		for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +			dq = ip->i_dquot[i];
    +			if (dq == NODQUOT)
    +				continue;
    +			if (bp[i])
    +				brelse(bp[i], 0);
    +			mutex_exit(&dq->dq_interlock);
    +		}
    +		return 0;
    +	}
    +	if (change < 0) {
    +		for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +			dq = ip->i_dquot[i];
    +			if (dq == NODQUOT)
    +				continue;
    +			if (q2e[i] == NULL) {
    +				mutex_exit(&dq->dq_interlock);
    +				continue;
    +			}
    +			q2vp = &q2e[i]->q2e_val[vtype];
    +			ncurblks = ulfs_rw64(q2vp->q2v_cur, needswap);
    +			if (ncurblks < -change)
    +				ncurblks = 0;
    +			else
    +				ncurblks += change;
    +			q2vp->q2v_cur = ulfs_rw64(ncurblks, needswap);
    +			quota2_bwrite(mp, bp[i]);
    +			mutex_exit(&dq->dq_interlock);
    +		}
    +		return 0;
    +	}
    +	/* see if the allocation is allowed */
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		struct quota2_val q2v;
    +		int ql_stat;
    +		dq = ip->i_dquot[i];
    +		if (dq == NODQUOT)
    +			continue;
    +		KASSERT(q2e[i] != NULL);
    +		lfsquota2_ulfs_rwq2v(&q2e[i]->q2e_val[vtype], &q2v, needswap);
    +		ql_stat = lfsquota2_check_limit(&q2v, change, time_second);
    +
    +		if ((flags & FORCE) == 0 &&
    +		    kauth_authorize_system(cred, KAUTH_SYSTEM_FS_QUOTA,
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_NOLIMIT,
    +		    KAUTH_ARG(i), KAUTH_ARG(vtype), NULL) != 0) {
    +			/* enforce this limit */
    +			switch(QL_STATUS(ql_stat)) {
    +			case QL_S_DENY_HARD:
    +				if ((dq->dq_flags & DQ_WARN(vtype)) == 0) {
    +					uprintf("\n%s: write failed, %s %s "
    +					    "limit reached\n",
    +					    mp->mnt_stat.f_mntonname,
    +					    lfs_quotatypes[i], limnames[vtype]);
    +					dq->dq_flags |= DQ_WARN(vtype);
    +				}
    +				error = EDQUOT;
    +				break;
    +			case QL_S_DENY_GRACE:
    +				if ((dq->dq_flags & DQ_WARN(vtype)) == 0) {
    +					uprintf("\n%s: write failed, %s %s "
    +					    "limit reached\n",
    +					    mp->mnt_stat.f_mntonname,
    +					    lfs_quotatypes[i], limnames[vtype]);
    +					dq->dq_flags |= DQ_WARN(vtype);
    +				}
    +				error = EDQUOT;
    +				break;
    +			case QL_S_ALLOW_SOFT:
    +				if ((dq->dq_flags & DQ_WARN(vtype)) == 0) {
    +					uprintf("\n%s: warning, %s %s "
    +					    "quota exceeded\n",
    +					    mp->mnt_stat.f_mntonname,
    +					    lfs_quotatypes[i], limnames[vtype]);
    +					dq->dq_flags |= DQ_WARN(vtype);
    +				}
    +				break;
    +			}
    +		}
    +		/*
    +		 * always do this; we don't know if the allocation will
    +		 * succed or not in the end. if we don't do the allocation
    +		 * q2v_time will be ignored anyway
    +		 */
    +		if (ql_stat & QL_F_CROSS) {
    +			q2v.q2v_time = time_second + q2v.q2v_grace;
    +			lfsquota2_ulfs_rwq2v(&q2v, &q2e[i]->q2e_val[vtype],
    +			    needswap);
    +		}
    +	}
    +
    +	/* now do the allocation if allowed */
    +	for (i = 0; i < ULFS_MAXQUOTAS; i++) {
    +		dq = ip->i_dquot[i];
    +		if (dq == NODQUOT)
    +			continue;
    +		KASSERT(q2e[i] != NULL);
    +		if (error == 0) {
    +			q2vp = &q2e[i]->q2e_val[vtype];
    +			ncurblks = ulfs_rw64(q2vp->q2v_cur, needswap);
    +			q2vp->q2v_cur = ulfs_rw64(ncurblks + change, needswap);
    +			quota2_bwrite(mp, bp[i]);
    +		} else
    +			brelse(bp[i], 0);
    +		mutex_exit(&dq->dq_interlock);
    +	}
    +	return error;
    +}
    +
    +int
    +lfs_chkdq2(struct inode *ip, int64_t change, kauth_cred_t cred, int flags)
    +{
    +	return quota2_check(ip, QL_BLOCK, change, cred, flags);
    +}
    +
    +int
    +lfs_chkiq2(struct inode *ip, int32_t change, kauth_cred_t cred, int flags)
    +{
    +	return quota2_check(ip, QL_FILE, change, cred, flags);
    +}
    +
    +int
    +lfsquota2_handle_cmd_put(struct ulfsmount *ump, const struct quotakey *key,
    +    const struct quotaval *val)
    +{
    +	int error;
    +	struct dquot *dq;
    +	struct quota2_header *q2h;
    +	struct quota2_entry q2e, *q2ep;
    +	struct buf *bp;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +
    +	/* make sure we can index by the fs-independent idtype */
    +	CTASSERT(QUOTA_IDTYPE_USER == ULFS_USRQUOTA);
    +	CTASSERT(QUOTA_IDTYPE_GROUP == ULFS_GRPQUOTA);
    +
    +	if (ump->um_quotas[key->qk_idtype] == NULLVP)
    +		return ENODEV;
    +	
    +	if (key->qk_id == QUOTA_DEFAULTID) {
    +		mutex_enter(&lfs_dqlock);
    +		error = getq2h(ump, key->qk_idtype, &bp, &q2h, B_MODIFY);
    +		if (error) {
    +			mutex_exit(&lfs_dqlock);
    +			goto out_wapbl;
    +		}
    +		lfsquota2_ulfs_rwq2e(&q2h->q2h_defentry, &q2e, needswap);
    +		quota2_dict_update_q2e_limits(key->qk_objtype, val, &q2e);
    +		lfsquota2_ulfs_rwq2e(&q2e, &q2h->q2h_defentry, needswap);
    +		mutex_exit(&lfs_dqlock);
    +		quota2_bwrite(ump->um_mountp, bp);
    +		goto out_wapbl;
    +	}
    +
    +	error = lfs_dqget(NULLVP, key->qk_id, ump, key->qk_idtype, &dq);
    +	if (error)
    +		goto out_wapbl;
    +
    +	mutex_enter(&dq->dq_interlock);
    +	if (dq->dq2_lblkno == 0 && dq->dq2_blkoff == 0) {
    +		/* need to alloc a new on-disk quot */
    +		mutex_enter(&lfs_dqlock);
    +		error = quota2_q2ealloc(ump, key->qk_idtype, key->qk_id, dq);
    +		mutex_exit(&lfs_dqlock);
    +		if (error)
    +			goto out_il;
    +	}
    +	KASSERT(dq->dq2_lblkno != 0 || dq->dq2_blkoff != 0);
    +	error = getq2e(ump, key->qk_idtype, dq->dq2_lblkno,
    +	    dq->dq2_blkoff, &bp, &q2ep, B_MODIFY);
    +	if (error)
    +		goto out_il;
    +	
    +	lfsquota2_ulfs_rwq2e(q2ep, &q2e, needswap);
    +	quota2_dict_update_q2e_limits(key->qk_objtype, val, &q2e);
    +	lfsquota2_ulfs_rwq2e(&q2e, q2ep, needswap);
    +	quota2_bwrite(ump->um_mountp, bp);
    +
    +out_il:
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +out_wapbl:
    +	return error;
    +}
    +
    +struct dq2clear_callback {
    +	uid_t id;
    +	struct dquot *dq;
    +	struct quota2_header *q2h;
    +};
    +
    +static int
    +dq2clear_callback(struct ulfsmount *ump, uint64_t *offp, struct quota2_entry *q2e,
    +    uint64_t off, void *v)
    +{
    +	struct dq2clear_callback *c = v;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	uint64_t myoff;
    +
    +	if (ulfs_rw32(q2e->q2e_uid, needswap) == c->id) {
    +		KASSERT(mutex_owned(&c->dq->dq_interlock));
    +		c->dq->dq2_lblkno = 0;
    +		c->dq->dq2_blkoff = 0;
    +		myoff = *offp;
    +		/* remove from hash list */
    +		*offp = q2e->q2e_next;
    +		/* add to free list */
    +		q2e->q2e_next = c->q2h->q2h_free;
    +		c->q2h->q2h_free = myoff;
    +		return Q2WL_ABORT;
    +	}
    +	return 0;
    +}
    +int
    +lfsquota2_handle_cmd_delete(struct ulfsmount *ump, const struct quotakey *qk)
    +{
    +	int idtype;
    +	id_t id;
    +	int objtype;
    +	int error, i, canfree;
    +	struct dquot *dq;
    +	struct quota2_header *q2h;
    +	struct quota2_entry q2e, *q2ep;
    +	struct buf *hbp, *bp;
    +	u_long hash_mask;
    +	struct dq2clear_callback c;
    +
    +	idtype = qk->qk_idtype;
    +	id = qk->qk_id;
    +	objtype = qk->qk_objtype;
    +
    +	if (ump->um_quotas[idtype] == NULLVP)
    +		return ENODEV;
    +	if (id == QUOTA_DEFAULTID)
    +		return EOPNOTSUPP;
    +
    +	/* get the default entry before locking the entry's buffer */
    +	mutex_enter(&lfs_dqlock);
    +	error = getq2h(ump, idtype, &hbp, &q2h, 0);
    +	if (error) {
    +		mutex_exit(&lfs_dqlock);
    +		return error;
    +	}
    +	/* we'll copy to another disk entry, so no need to swap */
    +	memcpy(&q2e, &q2h->q2h_defentry, sizeof(q2e));
    +	mutex_exit(&lfs_dqlock);
    +	brelse(hbp, 0);
    +
    +	error = lfs_dqget(NULLVP, id, ump, idtype, &dq);
    +	if (error)
    +		return error;
    +
    +	mutex_enter(&dq->dq_interlock);
    +	if (dq->dq2_lblkno == 0 && dq->dq2_blkoff == 0) {
    +		/* already clear, nothing to do */
    +		error = ENOENT;
    +		goto out_il;
    +	}
    +
    +	error = getq2e(ump, idtype, dq->dq2_lblkno, dq->dq2_blkoff,
    +	    &bp, &q2ep, B_MODIFY);
    +	if (error)
    +		goto out_wapbl;
    +
    +	/* make sure we can index by the objtype passed in */
    +	CTASSERT(QUOTA_OBJTYPE_BLOCKS == QL_BLOCK);
    +	CTASSERT(QUOTA_OBJTYPE_FILES == QL_FILE);
    +
    +	/* clear the requested objtype by copying from the default entry */
    +	q2ep->q2e_val[objtype].q2v_softlimit =
    +		q2e.q2e_val[objtype].q2v_softlimit;
    +	q2ep->q2e_val[objtype].q2v_hardlimit =
    +		q2e.q2e_val[objtype].q2v_hardlimit;
    +	q2ep->q2e_val[objtype].q2v_grace =
    +		q2e.q2e_val[objtype].q2v_grace;
    +	q2ep->q2e_val[objtype].q2v_time = 0;
    +
    +	/* if this entry now contains no information, we can free it */
    +	canfree = 1;
    +	for (i = 0; i < N_QL; i++) {
    +		if (q2ep->q2e_val[i].q2v_cur != 0 ||
    +		    (q2ep->q2e_val[i].q2v_softlimit != 
    +		     q2e.q2e_val[i].q2v_softlimit) ||
    +		    (q2ep->q2e_val[i].q2v_hardlimit != 
    +		     q2e.q2e_val[i].q2v_hardlimit) ||
    +		    (q2ep->q2e_val[i].q2v_grace != 
    +		     q2e.q2e_val[i].q2v_grace)) {
    +			canfree = 0;
    +			break;
    +		}
    +		/* note: do not need to check q2v_time */
    +	}
    +
    +	if (canfree == 0) {
    +		quota2_bwrite(ump->um_mountp, bp);
    +		goto out_wapbl;
    +	}
    +	/* we can free it. release bp so we can walk the list */
    +	brelse(bp, 0);
    +	mutex_enter(&lfs_dqlock);
    +	error = getq2h(ump, idtype, &hbp, &q2h, 0);
    +	if (error)
    +		goto out_dqlock;
    +
    +	hash_mask = ((1 << q2h->q2h_hash_shift) - 1);
    +	c.dq = dq;
    +	c.id = id;
    +	c.q2h = q2h;
    +	error = quota2_walk_list(ump, hbp, idtype,
    +	    &q2h->q2h_entries[id & hash_mask], B_MODIFY, &c,
    +	    dq2clear_callback);
    +
    +	bwrite(hbp);
    +
    +out_dqlock:
    +	mutex_exit(&lfs_dqlock);
    +out_wapbl:
    +out_il:
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +	return error;
    +}
    +
    +static int
    +quota2_fetch_q2e(struct ulfsmount *ump, const struct quotakey *qk,
    +    struct quota2_entry *ret)
    +{
    +	struct dquot *dq;
    +	int error;
    +	struct quota2_entry *q2ep;
    +	struct buf *bp;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +
    +	error = lfs_dqget(NULLVP, qk->qk_id, ump, qk->qk_idtype, &dq);
    +	if (error)
    +		return error;
    +
    +	mutex_enter(&dq->dq_interlock);
    +	if (dq->dq2_lblkno == 0 && dq->dq2_blkoff == 0) {
    +		mutex_exit(&dq->dq_interlock);
    +		lfs_dqrele(NULLVP, dq);
    +		return ENOENT;
    +	}
    +	error = getq2e(ump, qk->qk_idtype, dq->dq2_lblkno, dq->dq2_blkoff,
    +	    &bp, &q2ep, 0);
    +	if (error) {
    +		mutex_exit(&dq->dq_interlock);
    +		lfs_dqrele(NULLVP, dq);
    +		return error;
    +	}
    +	lfsquota2_ulfs_rwq2e(q2ep, ret, needswap);
    +	brelse(bp, 0);
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +
    +	return 0;
    +}
    +
    +static int
    +quota2_fetch_quotaval(struct ulfsmount *ump, const struct quotakey *qk,
    +    struct quotaval *ret)
    +{
    +	struct dquot *dq;
    +	int error;
    +	struct quota2_entry *q2ep, q2e;
    +	struct buf  *bp;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	id_t id2;
    +
    +	error = lfs_dqget(NULLVP, qk->qk_id, ump, qk->qk_idtype, &dq);
    +	if (error)
    +		return error;
    +
    +	mutex_enter(&dq->dq_interlock);
    +	if (dq->dq2_lblkno == 0 && dq->dq2_blkoff == 0) {
    +		mutex_exit(&dq->dq_interlock);
    +		lfs_dqrele(NULLVP, dq);
    +		return ENOENT;
    +	}
    +	error = getq2e(ump, qk->qk_idtype, dq->dq2_lblkno, dq->dq2_blkoff,
    +	    &bp, &q2ep, 0);
    +	if (error) {
    +		mutex_exit(&dq->dq_interlock);
    +		lfs_dqrele(NULLVP, dq);
    +		return error;
    +	}
    +	lfsquota2_ulfs_rwq2e(q2ep, &q2e, needswap);
    +	brelse(bp, 0);
    +	mutex_exit(&dq->dq_interlock);
    +	lfs_dqrele(NULLVP, dq);
    +
    +	q2e_to_quotaval(&q2e, 0, &id2, qk->qk_objtype, ret);
    +	KASSERT(id2 == qk->qk_id);
    +	return 0;
    +}
    +
    +int
    +lfsquota2_handle_cmd_get(struct ulfsmount *ump, const struct quotakey *qk,
    +    struct quotaval *qv)
    +{
    +	int error;
    +	struct quota2_header *q2h;
    +	struct quota2_entry q2e;
    +	struct buf *bp;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	id_t id2;
    +
    +	/*
    +	 * Make sure the FS-independent codes match the internal ones,
    +	 * so we can use the passed-in objtype without having to
    +	 * convert it explicitly to QL_BLOCK/QL_FILE.
    +	 */
    +	CTASSERT(QL_BLOCK == QUOTA_OBJTYPE_BLOCKS);
    +	CTASSERT(QL_FILE == QUOTA_OBJTYPE_FILES);
    +	CTASSERT(N_QL == 2);
    +
    +	if (qk->qk_objtype < 0 || qk->qk_objtype >= N_QL) {
    +		return EINVAL;
    +	}
    +
    +	if (ump->um_quotas[qk->qk_idtype] == NULLVP)
    +		return ENODEV;
    +	if (qk->qk_id == QUOTA_DEFAULTID) {
    +		mutex_enter(&lfs_dqlock);
    +		error = getq2h(ump, qk->qk_idtype, &bp, &q2h, 0);
    +		if (error) {
    +			mutex_exit(&lfs_dqlock);
    +			return error;
    +		}
    +		lfsquota2_ulfs_rwq2e(&q2h->q2h_defentry, &q2e, needswap);
    +		mutex_exit(&lfs_dqlock);
    +		brelse(bp, 0);
    +		q2e_to_quotaval(&q2e, qk->qk_id == QUOTA_DEFAULTID, &id2,
    +				qk->qk_objtype, qv);
    +		(void)id2;
    +	} else
    +		error = quota2_fetch_quotaval(ump, qk, qv);
    +	
    +	return error;
    +}
    +
    +/*
    + * Cursor structure we used.
    + *
    + * This will get stored in userland between calls so we must not assume
    + * it isn't arbitrarily corrupted.
    + */
    +struct ulfsq2_cursor {
    +	uint32_t q2c_magic;	/* magic number */
    +	int q2c_hashsize;	/* size of hash table at last go */
    +
    +	int q2c_users_done;	/* true if we've returned all user data */
    +	int q2c_groups_done;	/* true if we've returned all group data */
    +	int q2c_defaults_done;	/* true if we've returned the default values */
    +	int q2c_hashpos;	/* slot to start at in hash table */
    +	int q2c_uidpos;		/* number of ids we've handled */
    +	int q2c_blocks_done;	/* true if we've returned the blocks value */
    +};
    +
    +/*
    + * State of a single cursorget call, or at least the part of it that
    + * needs to be passed around.
    + */
    +struct q2cursor_state {
    +	/* data return pointers */
    +	struct quotakey *keys;
    +	struct quotaval *vals;
    +
    +	/* key/value counters */
    +	unsigned maxkeyvals;
    +	unsigned numkeys;	/* number of keys assigned */
    +
    +	/* ID to key/value conversion state */
    +	int skipfirst;		/* if true skip first key/value */
    +	int skiplast;		/* if true skip last key/value */
    +
    +	/* ID counters */
    +	unsigned maxids;	/* maximum number of IDs to handle */
    +	unsigned numids;	/* number of IDs handled */
    +};
    +
    +/*
    + * Additional structure for getids callback.
    + */
    +struct q2cursor_getids {
    +	struct q2cursor_state *state;
    +	int idtype;
    +	unsigned skip;		/* number of ids to skip over */
    +	unsigned new_skip;	/* number of ids to skip over next time */
    +	unsigned skipped;	/* number skipped so far */
    +	int stopped;		/* true if we stopped quota_walk_list early */
    +};
    +
    +/*
    + * Cursor-related functions
    + */
    +
    +/* magic number */
    +#define Q2C_MAGIC (0xbeebe111)
    +
    +/* extract cursor from caller form */
    +#define Q2CURSOR(qkc) ((struct ulfsq2_cursor *)&qkc->u.qkc_space[0])
    +
    +/*
    + * Check that a cursor we're handed is something like valid. If
    + * someone munges it and it still passes these checks, they'll get
    + * partial or odd results back but won't break anything.
    + */
    +static int
    +q2cursor_check(struct ulfsq2_cursor *cursor)
    +{
    +	if (cursor->q2c_magic != Q2C_MAGIC) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_hashsize < 0) {
    +		return EINVAL;
    +	}
    +
    +	if (cursor->q2c_users_done != 0 && cursor->q2c_users_done != 1) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_groups_done != 0 && cursor->q2c_groups_done != 1) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_defaults_done != 0 && cursor->q2c_defaults_done != 1) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_hashpos < 0 || cursor->q2c_uidpos < 0) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_blocks_done != 0 && cursor->q2c_blocks_done != 1) {
    +		return EINVAL;
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Set up the q2cursor state.
    + */
    +static void
    +q2cursor_initstate(struct q2cursor_state *state, struct quotakey *keys,
    +    struct quotaval *vals, unsigned maxkeyvals, int blocks_done)
    +{
    +	state->keys = keys;
    +	state->vals = vals;
    +
    +	state->maxkeyvals = maxkeyvals;
    +	state->numkeys = 0;
    +
    +	/*
    +	 * For each ID there are two quotavals to return. If the
    +	 * maximum number of entries to return is odd, we might want
    +	 * to skip the first quotaval of the first ID, or the last
    +	 * quotaval of the last ID, but not both. So the number of IDs
    +	 * we want is (up to) half the number of return slots we have,
    +	 * rounded up.
    +	 */
    +
    +	state->maxids = (state->maxkeyvals + 1) / 2;
    +	state->numids = 0;
    +	if (state->maxkeyvals % 2) {
    +		if (blocks_done) {
    +			state->skipfirst = 1;
    +			state->skiplast = 0;
    +		} else {
    +			state->skipfirst = 0;
    +			state->skiplast = 1;
    +		}
    +	} else {
    +		state->skipfirst = 0;
    +		state->skiplast = 0;
    +	}
    +}
    +
    +/*
    + * Choose which idtype we're going to work on. If doing a full
    + * iteration, we do users first, then groups, but either might be
    + * disabled or marked to skip via cursorsetidtype(), so don't make
    + * silly assumptions.
    + */
    +static int
    +q2cursor_pickidtype(struct ulfsq2_cursor *cursor, int *idtype_ret)
    +{
    +	if (cursor->q2c_users_done == 0) {
    +		*idtype_ret = QUOTA_IDTYPE_USER;
    +	} else if (cursor->q2c_groups_done == 0) {
    +		*idtype_ret = QUOTA_IDTYPE_GROUP;
    +	} else {
    +		return EAGAIN;
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Add an ID to the current state. Sets up either one or two keys to
    + * refer to it, depending on whether it's first/last and the setting
    + * of skipfirst. (skiplast does not need to be explicitly tested)
    + */
    +static void
    +q2cursor_addid(struct q2cursor_state *state, int idtype, id_t id)
    +{
    +	KASSERT(state->numids < state->maxids);
    +	KASSERT(state->numkeys < state->maxkeyvals);
    +
    +	if (!state->skipfirst || state->numkeys > 0) {
    +		state->keys[state->numkeys].qk_idtype = idtype;
    +		state->keys[state->numkeys].qk_id = id;
    +		state->keys[state->numkeys].qk_objtype = QUOTA_OBJTYPE_BLOCKS;
    +		state->numkeys++;
    +	}
    +	if (state->numkeys < state->maxkeyvals) {
    +		state->keys[state->numkeys].qk_idtype = idtype;
    +		state->keys[state->numkeys].qk_id = id;
    +		state->keys[state->numkeys].qk_objtype = QUOTA_OBJTYPE_FILES;
    +		state->numkeys++;
    +	} else {
    +		KASSERT(state->skiplast);
    +	}
    +	state->numids++;
    +}
    +
    +/*
    + * Callback function for getting IDs. Update counting and call addid.
    + */
    +static int
    +q2cursor_getids_callback(struct ulfsmount *ump, uint64_t *offp,
    +    struct quota2_entry *q2ep, uint64_t off, void *v)
    +{
    +	struct q2cursor_getids *gi = v;
    +	id_t id;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +
    +	if (gi->skipped < gi->skip) {
    +		gi->skipped++;
    +		return 0;
    +	}
    +	id = ulfs_rw32(q2ep->q2e_uid, needswap);
    +	q2cursor_addid(gi->state, gi->idtype, id);
    +	gi->new_skip++;
    +	if (gi->state->numids >= gi->state->maxids) {
    +		/* got enough ids, stop now */
    +		gi->stopped = 1;
    +		return Q2WL_ABORT;
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Fill in a batch of quotakeys by scanning one or more hash chains.
    + */
    +static int
    +q2cursor_getkeys(struct ulfsmount *ump, int idtype, struct ulfsq2_cursor *cursor,
    +    struct q2cursor_state *state,
    +    int *hashsize_ret, struct quota2_entry *default_q2e_ret)
    +{
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +	struct buf *hbp;
    +	struct quota2_header *q2h;
    +	int quota2_hash_size;
    +	struct q2cursor_getids gi;
    +	uint64_t offset;
    +	int error;
    +
    +	/*
    +	 * Read the header block.
    +	 */
    +
    +	mutex_enter(&lfs_dqlock);
    +	error = getq2h(ump, idtype, &hbp, &q2h, 0);
    +	if (error) {
    +		mutex_exit(&lfs_dqlock);
    +		return error;
    +	}
    +
    +	/* if the table size has changed, make the caller start over */
    +	quota2_hash_size = ulfs_rw16(q2h->q2h_hash_size, needswap);
    +	if (cursor->q2c_hashsize == 0) {
    +		cursor->q2c_hashsize = quota2_hash_size;
    +	} else if (cursor->q2c_hashsize != quota2_hash_size) {
    +		error = EDEADLK;
    +		goto scanfail;
    +	}
    +
    +	/* grab the entry with the default values out of the header */
    +	lfsquota2_ulfs_rwq2e(&q2h->q2h_defentry, default_q2e_ret, needswap);
    +
    +	/* If we haven't done the defaults yet, that goes first. */
    +	if (cursor->q2c_defaults_done == 0) {
    +		q2cursor_addid(state, idtype, QUOTA_DEFAULTID);
    +		/* if we read both halves, mark it done */
    +		if (state->numids < state->maxids || !state->skiplast) {
    +			cursor->q2c_defaults_done = 1;
    +		}
    +	}
    +
    +	gi.state = state;
    +	gi.idtype = idtype;
    +
    +	while (state->numids < state->maxids) {
    +		if (cursor->q2c_hashpos >= quota2_hash_size) {
    +			/* nothing more left */
    +			break;
    +		}
    +
    +		/* scan this hash chain */
    +		gi.skip = cursor->q2c_uidpos;
    +		gi.new_skip = gi.skip;
    +		gi.skipped = 0;
    +		gi.stopped = 0;
    +		offset = q2h->q2h_entries[cursor->q2c_hashpos];
    +
    +		error = quota2_walk_list(ump, hbp, idtype, &offset, 0, &gi,
    +		    q2cursor_getids_callback);
    +		KASSERT(error != Q2WL_ABORT);
    +		if (error) {
    +			break;
    +		}
    +		if (gi.stopped) {
    +			/* callback stopped before reading whole chain */
    +			cursor->q2c_uidpos = gi.new_skip;
    +			/* if we didn't get both halves, back up */
    +			if (state->numids == state->maxids && state->skiplast){
    +				KASSERT(cursor->q2c_uidpos > 0);
    +				cursor->q2c_uidpos--;
    +			}
    +		} else {
    +			/* read whole chain */
    +			/* if we got both halves of the last id, advance */
    +			if (state->numids < state->maxids || !state->skiplast){
    +				cursor->q2c_uidpos = 0;
    +				cursor->q2c_hashpos++;
    +			}
    +		}
    +	}
    +
    +scanfail:
    +	mutex_exit(&lfs_dqlock);
    +	brelse(hbp, 0);
    +	if (error)
    +		return error;
    +
    +	*hashsize_ret = quota2_hash_size;
    +	return 0;
    +}
    +
    +/*
    + * Fetch the quotavals for the quotakeys.
    + */
    +static int
    +q2cursor_getvals(struct ulfsmount *ump, struct q2cursor_state *state,
    +    const struct quota2_entry *default_q2e)
    +{
    +	int hasid;
    +	id_t loadedid, id;
    +	unsigned pos;
    +	struct quota2_entry q2e;
    +	int objtype;
    +	int error;
    +
    +	hasid = 0;
    +	loadedid = 0;
    +	for (pos = 0; pos < state->numkeys; pos++) {
    +		id = state->keys[pos].qk_id;
    +		if (!hasid || id != loadedid) {
    +			hasid = 1;
    +			loadedid = id;
    +			if (id == QUOTA_DEFAULTID) {
    +				q2e = *default_q2e;
    +			} else {
    +				error = quota2_fetch_q2e(ump,
    +							 &state->keys[pos],
    +							 &q2e);
    +				if (error == ENOENT) {
    +					/* something changed - start over */
    +					error = EDEADLK;
    +				}
    +				if (error) {
    +					return error;
    +				}
    + 			}
    +		}
    +
    +
    +		objtype = state->keys[pos].qk_objtype;
    +		KASSERT(objtype >= 0 && objtype < N_QL);
    +		q2val_to_quotaval(&q2e.q2e_val[objtype], &state->vals[pos]);
    +	}
    +
    +	return 0;
    +}
    +
    +/*
    + * Handle cursorget.
    + *
    + * We can't just read keys and values directly, because we can't walk
    + * the list with qdlock and grab dq_interlock to read the entries at
    + * the same time. So we're going to do two passes: one to figure out
    + * which IDs we want and fill in the keys, and then a second to use
    + * the keys to fetch the values.
    + */
    +int
    +lfsquota2_handle_cmd_cursorget(struct ulfsmount *ump, struct quotakcursor *qkc,
    +    struct quotakey *keys, struct quotaval *vals, unsigned maxreturn,
    +    unsigned *ret)
    +{
    +	int error;
    +	struct ulfsq2_cursor *cursor;
    +	struct ulfsq2_cursor newcursor;
    +	struct q2cursor_state state;
    +	struct quota2_entry default_q2e;
    +	int idtype;
    +	int quota2_hash_size;
    +
    +	/*
    +	 * Convert and validate the cursor.
    +	 */
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	/*
    +	 * Make sure our on-disk codes match the values of the
    +	 * FS-independent ones. This avoids the need for explicit
    +	 * conversion (which would be a NOP anyway and thus easily
    +	 * left out or called in the wrong places...)
    +	 */
    +	CTASSERT(QUOTA_IDTYPE_USER == ULFS_USRQUOTA);
    +	CTASSERT(QUOTA_IDTYPE_GROUP == ULFS_GRPQUOTA);
    +	CTASSERT(QUOTA_OBJTYPE_BLOCKS == QL_BLOCK);
    +	CTASSERT(QUOTA_OBJTYPE_FILES == QL_FILE);
    +
    +	/*
    +	 * If some of the idtypes aren't configured/enabled, arrange
    +	 * to skip over them.
    +	 */
    +	if (cursor->q2c_users_done == 0 &&
    +	    ump->um_quotas[ULFS_USRQUOTA] == NULLVP) {
    +		cursor->q2c_users_done = 1;
    +	}
    +	if (cursor->q2c_groups_done == 0 &&
    +	    ump->um_quotas[ULFS_GRPQUOTA] == NULLVP) {
    +		cursor->q2c_groups_done = 1;
    +	}
    +
    +	/* Loop over, potentially, both idtypes */
    +	while (1) {
    +
    +		/* Choose id type */
    +		error = q2cursor_pickidtype(cursor, &idtype);
    +		if (error == EAGAIN) {
    +			/* nothing more to do, return 0 */
    +			*ret = 0;
    +			return 0;
    +		}
    +		KASSERT(ump->um_quotas[idtype] != NULLVP);
    +
    +		/*
    +		 * Initialize the per-call iteration state. Copy the
    +		 * cursor state so we can update it in place but back
    +		 * out on error.
    +		 */
    +		q2cursor_initstate(&state, keys, vals, maxreturn,
    +				   cursor->q2c_blocks_done);
    +		newcursor = *cursor;
    +
    +		/* Assign keys */
    +		error = q2cursor_getkeys(ump, idtype, &newcursor, &state,
    +					 "a2_hash_size, &default_q2e);
    +		if (error) {
    +			return error;
    +		}
    +
    +		/* Now fill in the values. */
    +		error = q2cursor_getvals(ump, &state, &default_q2e);
    +		if (error) {
    +			return error;
    +		}
    +
    +		/*
    +		 * Now that we aren't going to fail and lose what we
    +		 * did so far, we can update the cursor state.
    +		 */
    +
    +		if (newcursor.q2c_hashpos >= quota2_hash_size) {
    +			if (idtype == QUOTA_IDTYPE_USER)
    +				cursor->q2c_users_done = 1;
    +			else
    +				cursor->q2c_groups_done = 1;
    +
    +			/* start over on another id type */
    +			cursor->q2c_hashsize = 0;
    +			cursor->q2c_defaults_done = 0;
    +			cursor->q2c_hashpos = 0;
    +			cursor->q2c_uidpos = 0;
    +			cursor->q2c_blocks_done = 0;
    +		} else {
    +			*cursor = newcursor;
    +			cursor->q2c_blocks_done = state.skiplast;
    +		}
    +
    +		/*
    +		 * If we have something to return, return it.
    +		 * Otherwise, continue to the other idtype, if any,
    +		 * and only return zero at end of iteration.
    +		 */
    +		if (state.numkeys > 0) {
    +			break;
    +		}
    +	}
    +
    +	*ret = state.numkeys;
    +	return 0;
    +}
    +
    +int
    +lfsquota2_handle_cmd_cursoropen(struct ulfsmount *ump, struct quotakcursor *qkc)
    +{
    +	struct ulfsq2_cursor *cursor;
    +
    +	CTASSERT(sizeof(*cursor) <= sizeof(qkc->u.qkc_space));
    +	cursor = Q2CURSOR(qkc);
    +
    +	cursor->q2c_magic = Q2C_MAGIC;
    +	cursor->q2c_hashsize = 0;
    +
    +	cursor->q2c_users_done = 0;
    +	cursor->q2c_groups_done = 0;
    +	cursor->q2c_defaults_done = 0;
    +	cursor->q2c_hashpos = 0;
    +	cursor->q2c_uidpos = 0;
    +	cursor->q2c_blocks_done = 0;
    +	return 0;
    +}
    +
    +int
    +lfsquota2_handle_cmd_cursorclose(struct ulfsmount *ump, struct quotakcursor *qkc)
    +{
    +	struct ulfsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	/* nothing to do */
    +
    +	return 0;
    +}
    +
    +int
    +lfsquota2_handle_cmd_cursorskipidtype(struct ulfsmount *ump,
    +    struct quotakcursor *qkc, int idtype)
    +{
    +	struct ulfsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	switch (idtype) {
    +	    case QUOTA_IDTYPE_USER:
    +		cursor->q2c_users_done = 1;
    +		break;
    +	    case QUOTA_IDTYPE_GROUP:
    +		cursor->q2c_groups_done = 1;
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
    +	return 0;
    +}
    +
    +int
    +lfsquota2_handle_cmd_cursoratend(struct ulfsmount *ump, struct quotakcursor *qkc,
    +    int *ret)
    +{
    +	struct ulfsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	*ret = (cursor->q2c_users_done && cursor->q2c_groups_done);
    +	return 0;
    +}
    +
    +int
    +lfsquota2_handle_cmd_cursorrewind(struct ulfsmount *ump, struct quotakcursor *qkc)
    +{
    +	struct ulfsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	cursor->q2c_hashsize = 0;
    +
    +	cursor->q2c_users_done = 0;
    +	cursor->q2c_groups_done = 0;
    +	cursor->q2c_defaults_done = 0;
    +	cursor->q2c_hashpos = 0;
    +	cursor->q2c_uidpos = 0;
    +	cursor->q2c_blocks_done = 0;
    +
    +	return 0;
    +}
    +
    +int
    +lfs_q2sync(struct mount *mp)
    +{
    +	return 0;
    +}
    +
    +struct dq2get_callback {
    +	uid_t id;
    +	struct dquot *dq;
    +};
    +
    +static int
    +dq2get_callback(struct ulfsmount *ump, uint64_t *offp, struct quota2_entry *q2e,
    +    uint64_t off, void *v)
    +{
    +	struct dq2get_callback *c = v;
    +	daddr_t lblkno;
    +	int blkoff;
    +	struct lfs *fs = ump->um_lfs;
    +	const int needswap = ULFS_MPNEEDSWAP(fs);
    +
    +	if (ulfs_rw32(q2e->q2e_uid, needswap) == c->id) {
    +		KASSERT(mutex_owned(&c->dq->dq_interlock));
    +		lblkno = (off >> ump->um_mountp->mnt_fs_bshift);
    +		blkoff = (off & ump->umq2_bmask);
    +		c->dq->dq2_lblkno = lblkno;
    +		c->dq->dq2_blkoff = blkoff;
    +		return Q2WL_ABORT;
    +	}
    +	return 0;
    +}
    +
    +int
    +lfs_dq2get(struct vnode *dqvp, u_long id, struct ulfsmount *ump, int type,
    +    struct dquot *dq)
    +{
    +	struct buf *bp;
    +	struct quota2_header *q2h;
    +	int error;
    +	daddr_t offset;
    +	u_long hash_mask;
    +	struct dq2get_callback c = {
    +		.id = id,
    +		.dq = dq
    +	};
    +
    +	KASSERT(mutex_owned(&dq->dq_interlock));
    +	mutex_enter(&lfs_dqlock);
    +	error = getq2h(ump, type, &bp, &q2h, 0);
    +	if (error)
    +		goto out_mutex;
    +	/* look for our entry */
    +	hash_mask = ((1 << q2h->q2h_hash_shift) - 1);
    +	offset = q2h->q2h_entries[id & hash_mask];
    +	error = quota2_walk_list(ump, bp, type, &offset, 0, (void *)&c,
    +	    dq2get_callback);
    +	brelse(bp, 0);
    +out_mutex:
    +	mutex_exit(&lfs_dqlock);
    +	return error;
    +}
    +
    +int
    +lfs_dq2sync(struct vnode *vp, struct dquot *dq)
    +{
    +	return 0;
    +}
    +
    +int
    +lfs_quota2_mount(struct mount *mp)
    +{
    +	struct ulfsmount *ump = VFSTOULFS(mp);
    +	struct lfs *fs = ump->um_lfs;
    +	int error = 0;
    +	struct vnode *vp;
    +	struct lwp *l = curlwp;
    +
    +	if ((fs->lfs_use_quota2) == 0)
    +		return 0;
    +
    +	fs->um_flags |= ULFS_QUOTA2;
    +	ump->umq2_bsize = fs->lfs_bsize;
    +	ump->umq2_bmask = fs->lfs_bmask;
    +	if (fs->lfs_quota_magic != Q2_HEAD_MAGIC) {
    +		printf("%s: Invalid quota magic number\n",
    +		    mp->mnt_stat.f_mntonname);
    +		return EINVAL;
    +	}
    +        if ((fs->lfs_quota_flags & FS_Q2_DO_TYPE(ULFS_USRQUOTA)) &&
    +            fs->lfs_quotaino[ULFS_USRQUOTA] == 0) {
    +                printf("%s: no user quota inode\n",
    +		    mp->mnt_stat.f_mntonname); 
    +                error = EINVAL;
    +        }
    +        if ((fs->lfs_quota_flags & FS_Q2_DO_TYPE(ULFS_GRPQUOTA)) &&
    +            fs->lfs_quotaino[ULFS_GRPQUOTA] == 0) {
    +                printf("%s: no group quota inode\n",
    +		    mp->mnt_stat.f_mntonname);
    +                error = EINVAL;
    +        }
    +	if (error)
    +		return error;
    +
    +        if (fs->lfs_quota_flags & FS_Q2_DO_TYPE(ULFS_USRQUOTA) &&
    +	    ump->um_quotas[ULFS_USRQUOTA] == NULLVP) {
    +		error = VFS_VGET(mp, fs->lfs_quotaino[ULFS_USRQUOTA], &vp);
    +		if (error) {
    +			printf("%s: can't vget() user quota inode: %d\n",
    +			    mp->mnt_stat.f_mntonname, error);
    +			return error;
    +		}
    +		ump->um_quotas[ULFS_USRQUOTA] = vp;
    +		ump->um_cred[ULFS_USRQUOTA] = l->l_cred;
    +		mutex_enter(vp->v_interlock);
    +		vp->v_writecount++;
    +		mutex_exit(vp->v_interlock);
    +		VOP_UNLOCK(vp);
    +	}
    +        if (fs->lfs_quota_flags & FS_Q2_DO_TYPE(ULFS_GRPQUOTA) &&
    +	    ump->um_quotas[ULFS_GRPQUOTA] == NULLVP) {
    +		error = VFS_VGET(mp, fs->lfs_quotaino[ULFS_GRPQUOTA], &vp);
    +		if (error) {
    +			vn_close(ump->um_quotas[ULFS_USRQUOTA],
    +			    FREAD|FWRITE, l->l_cred);
    +			printf("%s: can't vget() group quota inode: %d\n",
    +			    mp->mnt_stat.f_mntonname, error);
    +			return error;
    +		}
    +		ump->um_quotas[ULFS_GRPQUOTA] = vp;
    +		ump->um_cred[ULFS_GRPQUOTA] = l->l_cred;
    +		mutex_enter(vp->v_interlock);
    +		vp->v_vflag |= VV_SYSTEM;
    +		vp->v_writecount++;
    +		mutex_exit(vp->v_interlock);
    +		VOP_UNLOCK(vp);
    +	}
    +	mp->mnt_flag |= MNT_QUOTA;
    +	return 0;
    +}
    diff --git a/sys/ufs/lfs/ulfs_quota2.h b/sys/ufs/lfs/ulfs_quota2.h
    new file mode 100644
    index 000000000..4ac1726e9
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota2.h
    @@ -0,0 +1,129 @@
    +/*	$NetBSD: ulfs_quota2.h,v 1.4 2013/06/06 00:49:28 dholland Exp $	*/
    +/*  from NetBSD: quota2.h,v 1.9 2012/02/05 14:19:04 dholland Exp  */
    +
    +/*-
    +  * Copyright (c) 2010 Manuel Bouyer
    +  * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    +  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    +  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    +  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    +  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    +  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    +  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    +  * POSSIBILITY OF SUCH DAMAGE.
    +  */
    +
    +#ifndef _UFS_LFS_ULFS_QUOTA2_H_
    +#define _UFS_LFS_ULFS_QUOTA2_H_
    +#include 
    +
    +
    +/* New disk quota implementation. In this implementation, the quota datas
    + * (default values, user limits and current usage) are part of the filesystem
    + * metadata. On FFS, this will be in a hidden, unlinked inode. fsck_ffs is
    + * responsible for checking quotas with the rest of the filesystem integrity,
    + * and quotas metadata are also covered by the filesystem journal if any.
    + * quota enable/disable is done on a filesystem basis via flags in the
    + * superblock
    + */
    +
    +/*
    + * The quota file is comprised of 2 parts, the header and the entries.
    + * The header contains global informations, and head of list of quota entries.
    + * A quota entry can either be in the free list, or one of the hash lists.
    + */
    +
    +/* description of a block or inode quota */
    +struct quota2_val {
    +	uint64_t q2v_hardlimit; /* absolute limit */
    +	uint64_t q2v_softlimit; /* overflowable limit */
    +	uint64_t q2v_cur; /* current usage */
    +	int64_t q2v_time; /* grace expiration date for softlimit overflow */
    +	int64_t q2v_grace; /* allowed time for softlimit overflow */
    +};
    +
    +/*
    + * On-disk description of a user or group quota
    + * These entries are keept as linked list, either in one of the hash HEAD,
    + * or in the free list.
    + */
    +
    +#define N_QL 2
    +#define QL_BLOCK 0
    +#define QL_FILE 1
    +#define INITQLNAMES { \
    +	[QL_BLOCK] = "block",	\
    +	[QL_FILE] =  "file",	\
    +}
    +
    +struct quota2_entry {
    +	/* block & inode limits and status */
    +	struct quota2_val q2e_val[N_QL];
    +	/* pointer to next entry for this list (offset in the file) */
    +	uint64_t q2e_next;
    +	/* ownership information */
    +	uint32_t q2e_uid;
    +	uint32_t q2e_pad;
    +};
    +
    +/* header present at the start of the quota file */
    +struct quota2_header {
    +	uint32_t q2h_magic_number;
    +	uint8_t  q2h_type; /* quota type, see below */
    +	uint8_t  q2h_hash_shift; /* bytes used for hash index */
    +	uint16_t q2h_hash_size; /* size of hash table */
    +	/* default values applied to new entries */
    +	struct quota2_entry q2h_defentry;
    +	/* head of free quota2_entry list */
    +	uint64_t q2h_free;
    +	/* variable-sized hash table */
    +	uint64_t q2h_entries[0];
    +};
    +
    +#define Q2_HEAD_MAGIC	0xb746915e
    +
    +/* superblock flags */
    +#define FS_Q2_DO_TYPE(type)	(0x01 << (type))
    +
    +#define off2qindex(hsize, off) (((off) - (hsize)) / sizeof(struct quota2_entry))
    +#define qindex2off(hsize, idx) \
    +	((daddr_t)(idx) * sizeof(struct quota2_entry) + (hsize))
    +
    +/* quota2_subr.c */
    +void lfsquota2_addfreeq2e(struct quota2_header *, void *, uint64_t, uint64_t, int);
    +void lfsquota2_create_blk0(uint64_t, void *bp, int, int, int);
    +void lfsquota2_ulfs_rwq2v(const struct quota2_val *, struct quota2_val *, int);
    +void lfsquota2_ulfs_rwq2e(const struct quota2_entry *, struct quota2_entry *, int);
    +
    +/*
    + * Return codes for lfsquota_check_limit()
    + */
    +
    +#define QL_S_ALLOW_OK	0x00 /* below soft limit */
    +#define QL_S_ALLOW_SOFT	0x01 /* over soft limit */
    +#define QL_S_DENY_GRACE	0x02 /* over soft limit, grace time expired */
    +#define QL_S_DENY_HARD	0x03 /* over hard limit */
    + 
    +#define QL_F_CROSS	0x80 /* crossing soft limit */
    +
    +#define QL_STATUS(x)	((x) & 0x0f)
    +#define QL_FLAGS(x)	((x) & 0xf0)
    +
    +/* check a quota usage against limits */
    +int lfsquota_check_limit(uint64_t, uint64_t, uint64_t, uint64_t, time_t, time_t);
    +
    +#endif /*  _UFS_LFS_ULFS_QUOTA2_H_ */
    diff --git a/sys/ufs/lfs/ulfs_quota2_subr.c b/sys/ufs/lfs/ulfs_quota2_subr.c
    new file mode 100644
    index 000000000..fba4f1d15
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quota2_subr.c
    @@ -0,0 +1,130 @@
    +/*	$NetBSD: ulfs_quota2_subr.c,v 1.6 2013/06/06 00:51:50 dholland Exp $	*/
    +/*  from NetBSD: quota2_subr.c,v 1.5 2012/02/05 14:19:04 dholland Exp  */
    +
    +/*-
    +  * Copyright (c) 2010, 2011 Manuel Bouyer
    +  * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_quota2_subr.c,v 1.6 2013/06/06 00:51:50 dholland Exp $");
    +
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifndef _KERNEL
    +#include 
    +#endif
    +
    +void
    +lfsquota2_addfreeq2e(struct quota2_header *q2h, void *bp, uint64_t baseoff,
    +    uint64_t bsize, int ns)
    +{
    +	uint64_t blkoff = baseoff % bsize;
    +	int i, nq2e;
    +	struct quota2_entry *q2e;
    +
    +	q2e = (void *)((char *)bp + blkoff);
    +	nq2e = (bsize - blkoff) / sizeof(*q2e);
    +	for (i = 0; i < nq2e; i++) {
    +		q2e[i].q2e_next = q2h->q2h_free;
    +		q2h->q2h_free = ulfs_rw64(i * sizeof(*q2e) + baseoff, ns);
    +	}
    +}
    +
    +void
    +lfsquota2_create_blk0(uint64_t bsize, void *bp, int q2h_hash_shift, int type,
    +    int ns)
    +{
    +	struct quota2_header *q2h;
    +	const int quota2_hash_size = 1 << q2h_hash_shift;
    +	const int quota2_full_header_size = sizeof(struct quota2_header) +
    +	    sizeof(q2h->q2h_entries[0]) * quota2_hash_size;
    +	int i;
    +
    +	memset(bp, 0, bsize);
    +	q2h = bp;
    +	q2h->q2h_magic_number = ulfs_rw32(Q2_HEAD_MAGIC, ns);
    +	q2h->q2h_type = type;
    +	q2h->q2h_hash_shift = q2h_hash_shift;
    +	q2h->q2h_hash_size = ulfs_rw16(quota2_hash_size, ns);
    +	/* setup defaut entry: unlimited, 7 days grace */
    +	for (i = 0; i < N_QL; i++) {
    +		q2h->q2h_defentry.q2e_val[i].q2v_hardlimit =
    +		    q2h->q2h_defentry.q2e_val[i].q2v_softlimit =
    +		    ulfs_rw64(UQUAD_MAX, ns);
    +		q2h->q2h_defentry.q2e_val[i].q2v_grace =
    +		    ulfs_rw64(7ULL * 24ULL * 3600ULL, ns);
    +	}
    +
    +	/* first quota entry, after the hash table */
    +	lfsquota2_addfreeq2e(q2h, bp, quota2_full_header_size, bsize, ns);
    +}
    +
    +void
    +lfsquota2_ulfs_rwq2v(const struct quota2_val *s, struct quota2_val *d, int needswap)
    +{
    +	d->q2v_hardlimit = ulfs_rw64(s->q2v_hardlimit, needswap);
    +	d->q2v_softlimit = ulfs_rw64(s->q2v_softlimit, needswap);
    +	d->q2v_cur = ulfs_rw64(s->q2v_cur, needswap);
    +	d->q2v_time = ulfs_rw64(s->q2v_time, needswap);
    +	d->q2v_grace = ulfs_rw64(s->q2v_grace, needswap);
    +}
    +
    +void
    +lfsquota2_ulfs_rwq2e(const struct quota2_entry *s, struct quota2_entry *d,
    +int needswap)
    +{
    +	lfsquota2_ulfs_rwq2v(&s->q2e_val[QL_BLOCK], &d->q2e_val[QL_BLOCK],
    +	    needswap);
    +	lfsquota2_ulfs_rwq2v(&s->q2e_val[QL_FILE], &d->q2e_val[QL_FILE],
    +	    needswap);
    +	d->q2e_uid = ulfs_rw32(s->q2e_uid, needswap);
    +}
    +
    +int
    +lfsquota_check_limit(uint64_t cur, uint64_t change, uint64_t soft, uint64_t hard,
    +    time_t expire, time_t now)
    +{ 
    +	if (cur + change > hard) {
    +		if (cur <= soft)
    +			return (QL_F_CROSS | QL_S_DENY_HARD);
    +		return QL_S_DENY_HARD;
    +	} else if (cur + change > soft) {
    +		if (cur <= soft)
    +			return (QL_F_CROSS | QL_S_ALLOW_SOFT);
    +		if (now > expire) {
    +			return QL_S_DENY_GRACE;
    +		}
    +		return QL_S_ALLOW_SOFT;
    +	}
    +	return QL_S_ALLOW_OK;
    +} 
    diff --git a/sys/ufs/lfs/ulfs_quotacommon.h b/sys/ufs/lfs/ulfs_quotacommon.h
    new file mode 100644
    index 000000000..2b95f8ba6
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_quotacommon.h
    @@ -0,0 +1,98 @@
    +/*	$NetBSD: ulfs_quotacommon.h,v 1.4 2013/06/08 02:04:31 dholland Exp $	*/
    +/*  from NetBSD: quota.h,v 1.30 2012/08/26 02:32:14 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Robert Elz at The University of Melbourne.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)quota.h	8.3 (Berkeley) 8/19/94
    + */
    +
    +#ifndef	_UFS_LFS_ULFS_QUOTACOMMON_H_
    +#define	_UFS_LFS_ULFS_QUOTACOMMON_H_
    +
    +#include 
    +#include 
    +
    +/*
    + * These definitions are common to the original disk quota implementation
    + * (quota1) and the newer implementation (quota2)
    + */
    +
    +/*
    + * Initializer for the strings corresponding to the quota ID types.
    + * (in quota1 these are also the default names of the quota files)
    + */
    +#define INITQFNAMES { \
    +	"user",		/* ULFS_USRQUOTA */ \
    +	"group",	/* ULFS_GRPQUOTA */ \
    +}
    +
    +#if !defined(HAVE_NBTOOL_CONFIG_H)
    +#include 
    +__inline static int __unused
    +quota_idtype_to_ulfs(int idtype)
    +{
    +	switch (idtype) {
    +	case QUOTA_IDTYPE_USER:
    +		return ULFS_USRQUOTA;
    +	case QUOTA_IDTYPE_GROUP:
    +		return ULFS_GRPQUOTA;
    +	default:
    +		return -1;
    +	}
    +}
    +
    +static __inline int __unused
    +quota_idtype_from_ulfs(int ulfstype)
    +{
    +	switch (ulfstype) {
    +	case ULFS_USRQUOTA:
    +		return QUOTA_IDTYPE_USER;
    +	case ULFS_GRPQUOTA:
    +		return QUOTA_IDTYPE_GROUP;
    +	default:
    +		return -1;
    +	}
    +}
    +#endif /* !defined(HAVE_NBTOOL_CONFIG_H) */
    +
    +#ifdef _KERNEL
    +
    +#include 
    +
    +__BEGIN_DECLS
    +void	lfs_dqinit(void);
    +void	lfs_dqreinit(void);
    +void	lfs_dqdone(void);
    +__END_DECLS
    +#endif /* _KERNEL */
    +
    +#endif /* !_UFS_LFS_ULFS_QUOTACOMMON_H_ */
    diff --git a/sys/ufs/lfs/ulfs_readwrite.c b/sys/ufs/lfs/ulfs_readwrite.c
    new file mode 100644
    index 000000000..80d9eb73f
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_readwrite.c
    @@ -0,0 +1,527 @@
    +/*	$NetBSD: ulfs_readwrite.c,v 1.7 2013/10/17 21:01:08 christos Exp $	*/
    +/*  from NetBSD: ufs_readwrite.c,v 1.105 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*-
    + * Copyright (c) 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_readwrite.c	8.11 (Berkeley) 5/8/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(1, "$NetBSD: ulfs_readwrite.c,v 1.7 2013/10/17 21:01:08 christos Exp $");
    +
    +#ifdef LFS_READWRITE
    +#define	FS			struct lfs
    +#define	I_FS			i_lfs
    +#define	READ			lfs_read
    +#define	READ_S			"lfs_read"
    +#define	WRITE			lfs_write
    +#define	WRITE_S			"lfs_write"
    +#define	fs_bsize		lfs_bsize
    +#define	fs_bmask		lfs_bmask
    +#else
    +#define	FS			struct fs
    +#define	I_FS			i_fs
    +#define	READ			ffs_read
    +#define	READ_S			"ffs_read"
    +#define	WRITE			ffs_write
    +#define	WRITE_S			"ffs_write"
    +#endif
    +
    +/*
    + * Vnode op for reading.
    + */
    +/* ARGSUSED */
    +int
    +READ(void *v)
    +{
    +	struct vop_read_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp;
    +	struct inode *ip;
    +	struct uio *uio;
    +	struct buf *bp;
    +	FS *fs;
    +	vsize_t bytelen;
    +	daddr_t lbn, nextlbn;
    +	off_t bytesinfile;
    +	long size, xfersize, blkoffset;
    +	int error, ioflag;
    +	bool usepc = false;
    +
    +	vp = ap->a_vp;
    +	ip = VTOI(vp);
    +	fs = ip->I_FS;
    +	uio = ap->a_uio;
    +	ioflag = ap->a_ioflag;
    +	error = 0;
    +
    +#ifdef DIAGNOSTIC
    +	if (uio->uio_rw != UIO_READ)
    +		panic("%s: mode", READ_S);
    +
    +	if (vp->v_type == VLNK) {
    +		if (ip->i_size < fs->um_maxsymlinklen ||
    +		    (fs->um_maxsymlinklen == 0 && DIP(ip, blocks) == 0))
    +			panic("%s: short symlink", READ_S);
    +	} else if (vp->v_type != VREG && vp->v_type != VDIR)
    +		panic("%s: type %d", READ_S, vp->v_type);
    +#endif
    +	if ((u_int64_t)uio->uio_offset > fs->um_maxfilesize)
    +		return (EFBIG);
    +	if (uio->uio_resid == 0)
    +		return (0);
    +
    +#ifndef LFS_READWRITE
    +	if ((ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) == SF_SNAPSHOT)
    +		return ffs_snapshot_read(vp, uio, ioflag);
    +#endif /* !LFS_READWRITE */
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +
    +	if (uio->uio_offset >= ip->i_size)
    +		goto out;
    +
    +#ifdef LFS_READWRITE
    +	usepc = (vp->v_type == VREG && ip->i_number != LFS_IFILE_INUM);
    +#else /* !LFS_READWRITE */
    +	usepc = vp->v_type == VREG;
    +#endif /* !LFS_READWRITE */
    +	if (usepc) {
    +		const int advice = IO_ADV_DECODE(ap->a_ioflag);
    +
    +		while (uio->uio_resid > 0) {
    +			if (ioflag & IO_DIRECT) {
    +				genfs_directio(vp, uio, ioflag);
    +			}
    +			bytelen = MIN(ip->i_size - uio->uio_offset,
    +			    uio->uio_resid);
    +			if (bytelen == 0)
    +				break;
    +			error = ubc_uiomove(&vp->v_uobj, uio, bytelen, advice,
    +			    UBC_READ | UBC_PARTIALOK | UBC_UNMAP_FLAG(vp));
    +			if (error)
    +				break;
    +		}
    +		goto out;
    +	}
    +
    +	for (error = 0, bp = NULL; uio->uio_resid > 0; bp = NULL) {
    +		bytesinfile = ip->i_size - uio->uio_offset;
    +		if (bytesinfile <= 0)
    +			break;
    +		lbn = lfs_lblkno(fs, uio->uio_offset);
    +		nextlbn = lbn + 1;
    +		size = lfs_blksize(fs, ip, lbn);
    +		blkoffset = lfs_blkoff(fs, uio->uio_offset);
    +		xfersize = MIN(MIN(fs->fs_bsize - blkoffset, uio->uio_resid),
    +		    bytesinfile);
    +
    +		if (lfs_lblktosize(fs, nextlbn) >= ip->i_size)
    +			error = bread(vp, lbn, size, NOCRED, 0, &bp);
    +		else {
    +			int nextsize = lfs_blksize(fs, ip, nextlbn);
    +			error = breadn(vp, lbn,
    +			    size, &nextlbn, &nextsize, 1, NOCRED, 0, &bp);
    +		}
    +		if (error)
    +			break;
    +
    +		/*
    +		 * We should only get non-zero b_resid when an I/O error
    +		 * has occurred, which should cause us to break above.
    +		 * However, if the short read did not cause an error,
    +		 * then we want to ensure that we do not uiomove bad
    +		 * or uninitialized data.
    +		 */
    +		size -= bp->b_resid;
    +		if (size < xfersize) {
    +			if (size == 0)
    +				break;
    +			xfersize = size;
    +		}
    +		error = uiomove((char *)bp->b_data + blkoffset, xfersize, uio);
    +		if (error)
    +			break;
    +		brelse(bp, 0);
    +	}
    +	if (bp != NULL)
    +		brelse(bp, 0);
    +
    + out:
    +	if (!(vp->v_mount->mnt_flag & MNT_NOATIME)) {
    +		ip->i_flag |= IN_ACCESS;
    +		if ((ap->a_ioflag & IO_SYNC) == IO_SYNC) {
    +			error = lfs_update(vp, NULL, NULL, UPDATE_WAIT);
    +		}
    +	}
    +
    +	fstrans_done(vp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * Vnode op for writing.
    + */
    +int
    +WRITE(void *v)
    +{
    +	struct vop_write_args /* {
    +		struct vnode *a_vp;
    +		struct uio *a_uio;
    +		int a_ioflag;
    +		kauth_cred_t a_cred;
    +	} */ *ap = v;
    +	struct vnode *vp;
    +	struct uio *uio;
    +	struct inode *ip;
    +	FS *fs;
    +	struct buf *bp;
    +	kauth_cred_t cred;
    +	daddr_t lbn;
    +	off_t osize, origoff, oldoff, preallocoff, endallocoff, nsize;
    +	int blkoffset, error, flags, ioflag, resid, size, xfersize;
    +	int aflag;
    +	int extended=0;
    +	vsize_t bytelen;
    +	bool async;
    +	bool usepc = false;
    +#ifdef LFS_READWRITE
    +	bool need_unreserve = false;
    +#endif
    +
    +	cred = ap->a_cred;
    +	ioflag = ap->a_ioflag;
    +	uio = ap->a_uio;
    +	vp = ap->a_vp;
    +	ip = VTOI(vp);
    +
    +	KASSERT(vp->v_size == ip->i_size);
    +#ifdef DIAGNOSTIC
    +	if (uio->uio_rw != UIO_WRITE)
    +		panic("%s: mode", WRITE_S);
    +#endif
    +
    +	switch (vp->v_type) {
    +	case VREG:
    +		if (ioflag & IO_APPEND)
    +			uio->uio_offset = ip->i_size;
    +		if ((ip->i_flags & APPEND) && uio->uio_offset != ip->i_size)
    +			return (EPERM);
    +		/* FALLTHROUGH */
    +	case VLNK:
    +		break;
    +	case VDIR:
    +		if ((ioflag & IO_SYNC) == 0)
    +			panic("%s: nonsync dir write", WRITE_S);
    +		break;
    +	default:
    +		panic("%s: type", WRITE_S);
    +	}
    +
    +	fs = ip->I_FS;
    +	if (uio->uio_offset < 0 ||
    +	    (u_int64_t)uio->uio_offset + uio->uio_resid > fs->um_maxfilesize)
    +		return (EFBIG);
    +#ifdef LFS_READWRITE
    +	/* Disallow writes to the Ifile, even if noschg flag is removed */
    +	/* XXX can this go away when the Ifile is no longer in the namespace? */
    +	if (vp == fs->lfs_ivnode)
    +		return (EPERM);
    +#endif
    +	if (uio->uio_resid == 0)
    +		return (0);
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +
    +	flags = ioflag & IO_SYNC ? B_SYNC : 0;
    +	async = vp->v_mount->mnt_flag & MNT_ASYNC;
    +	origoff = uio->uio_offset;
    +	resid = uio->uio_resid;
    +	osize = ip->i_size;
    +	error = 0;
    +
    +	usepc = vp->v_type == VREG;
    +
    +#ifdef LFS_READWRITE
    +	async = true;
    +	lfs_availwait(fs, lfs_btofsb(fs, uio->uio_resid));
    +	lfs_check(vp, LFS_UNUSED_LBN, 0);
    +#endif /* !LFS_READWRITE */
    +	if (!usepc)
    +		goto bcache;
    +
    +	preallocoff = round_page(lfs_blkroundup(fs, MAX(osize, uio->uio_offset)));
    +	aflag = ioflag & IO_SYNC ? B_SYNC : 0;
    +	nsize = MAX(osize, uio->uio_offset + uio->uio_resid);
    +	endallocoff = nsize - lfs_blkoff(fs, nsize);
    +
    +	/*
    +	 * if we're increasing the file size, deal with expanding
    +	 * the fragment if there is one.
    +	 */
    +
    +	if (nsize > osize && lfs_lblkno(fs, osize) < ULFS_NDADDR &&
    +	    lfs_lblkno(fs, osize) != lfs_lblkno(fs, nsize) &&
    +	    lfs_blkroundup(fs, osize) != osize) {
    +		off_t eob;
    +
    +		eob = lfs_blkroundup(fs, osize);
    +		uvm_vnp_setwritesize(vp, eob);
    +		error = ulfs_balloc_range(vp, osize, eob - osize, cred, aflag);
    +		if (error)
    +			goto out;
    +		if (flags & B_SYNC) {
    +			mutex_enter(vp->v_interlock);
    +			VOP_PUTPAGES(vp, trunc_page(osize & fs->fs_bmask),
    +			    round_page(eob),
    +			    PGO_CLEANIT | PGO_SYNCIO | PGO_JOURNALLOCKED);
    +		}
    +	}
    +
    +	while (uio->uio_resid > 0) {
    +		int ubc_flags = UBC_WRITE;
    +		bool overwrite; /* if we're overwrite a whole block */
    +		off_t newoff;
    +
    +		if (ioflag & IO_DIRECT) {
    +			genfs_directio(vp, uio, ioflag | IO_JOURNALLOCKED);
    +		}
    +
    +		oldoff = uio->uio_offset;
    +		blkoffset = lfs_blkoff(fs, uio->uio_offset);
    +		bytelen = MIN(fs->fs_bsize - blkoffset, uio->uio_resid);
    +		if (bytelen == 0) {
    +			break;
    +		}
    +
    +		/*
    +		 * if we're filling in a hole, allocate the blocks now and
    +		 * initialize the pages first.  if we're extending the file,
    +		 * we can safely allocate blocks without initializing pages
    +		 * since the new blocks will be inaccessible until the write
    +		 * is complete.
    +		 */
    +		overwrite = uio->uio_offset >= preallocoff &&
    +		    uio->uio_offset < endallocoff;
    +		if (!overwrite && (vp->v_vflag & VV_MAPPED) == 0 &&
    +		    lfs_blkoff(fs, uio->uio_offset) == 0 &&
    +		    (uio->uio_offset & PAGE_MASK) == 0) {
    +			vsize_t len;
    +
    +			len = trunc_page(bytelen);
    +			len -= lfs_blkoff(fs, len);
    +			if (len > 0) {
    +				overwrite = true;
    +				bytelen = len;
    +			}
    +		}
    +
    +		newoff = oldoff + bytelen;
    +		if (vp->v_size < newoff) {
    +			uvm_vnp_setwritesize(vp, newoff);
    +		}
    +
    +		if (!overwrite) {
    +			error = ulfs_balloc_range(vp, uio->uio_offset, bytelen,
    +			    cred, aflag);
    +			if (error)
    +				break;
    +		} else {
    +			genfs_node_wrlock(vp);
    +			error = GOP_ALLOC(vp, uio->uio_offset, bytelen,
    +			    aflag, cred);
    +			genfs_node_unlock(vp);
    +			if (error)
    +				break;
    +			ubc_flags |= UBC_FAULTBUSY;
    +		}
    +
    +		/*
    +		 * copy the data.
    +		 */
    +
    +		error = ubc_uiomove(&vp->v_uobj, uio, bytelen,
    +		    IO_ADV_DECODE(ioflag), ubc_flags | UBC_UNMAP_FLAG(vp));
    +
    +		/*
    +		 * update UVM's notion of the size now that we've
    +		 * copied the data into the vnode's pages.
    +		 *
    +		 * we should update the size even when uiomove failed.
    +		 */
    +
    +		if (vp->v_size < newoff) {
    +			uvm_vnp_setsize(vp, newoff);
    +			extended = 1;
    +		}
    +
    +		if (error)
    +			break;
    +
    +		/*
    +		 * flush what we just wrote if necessary.
    +		 * XXXUBC simplistic async flushing.
    +		 */
    +
    +#ifndef LFS_READWRITE
    +		if (!async && oldoff >> 16 != uio->uio_offset >> 16) {
    +			mutex_enter(vp->v_interlock);
    +			error = VOP_PUTPAGES(vp, (oldoff >> 16) << 16,
    +			    (uio->uio_offset >> 16) << 16,
    +			    PGO_CLEANIT | PGO_JOURNALLOCKED | PGO_LAZY);
    +			if (error)
    +				break;
    +		}
    +#else
    +		__USE(async);
    +#endif
    +	}
    +	if (error == 0 && ioflag & IO_SYNC) {
    +		mutex_enter(vp->v_interlock);
    +		error = VOP_PUTPAGES(vp, trunc_page(origoff & fs->fs_bmask),
    +		    round_page(lfs_blkroundup(fs, uio->uio_offset)),
    +		    PGO_CLEANIT | PGO_SYNCIO | PGO_JOURNALLOCKED);
    +	}
    +	goto out;
    +
    + bcache:
    +	mutex_enter(vp->v_interlock);
    +	VOP_PUTPAGES(vp, trunc_page(origoff), round_page(origoff + resid),
    +	    PGO_CLEANIT | PGO_FREE | PGO_SYNCIO | PGO_JOURNALLOCKED);
    +	while (uio->uio_resid > 0) {
    +		lbn = lfs_lblkno(fs, uio->uio_offset);
    +		blkoffset = lfs_blkoff(fs, uio->uio_offset);
    +		xfersize = MIN(fs->fs_bsize - blkoffset, uio->uio_resid);
    +		if (fs->fs_bsize > xfersize)
    +			flags |= B_CLRBUF;
    +		else
    +			flags &= ~B_CLRBUF;
    +
    +#ifdef LFS_READWRITE
    +		error = lfs_reserve(fs, vp, NULL,
    +		    lfs_btofsb(fs, (ULFS_NIADDR + 1) << fs->lfs_bshift));
    +		if (error)
    +			break;
    +		need_unreserve = true;
    +#endif
    +		error = lfs_balloc(vp, uio->uio_offset, xfersize,
    +		    ap->a_cred, flags, &bp);
    +
    +		if (error)
    +			break;
    +		if (uio->uio_offset + xfersize > ip->i_size) {
    +			ip->i_size = uio->uio_offset + xfersize;
    +			DIP_ASSIGN(ip, size, ip->i_size);
    +			uvm_vnp_setsize(vp, ip->i_size);
    +			extended = 1;
    +		}
    +		size = lfs_blksize(fs, ip, lbn) - bp->b_resid;
    +		if (xfersize > size)
    +			xfersize = size;
    +
    +		error = uiomove((char *)bp->b_data + blkoffset, xfersize, uio);
    +
    +		/*
    +		 * if we didn't clear the block and the uiomove failed,
    +		 * the buf will now contain part of some other file,
    +		 * so we need to invalidate it.
    +		 */
    +		if (error && (flags & B_CLRBUF) == 0) {
    +			brelse(bp, BC_INVAL);
    +			break;
    +		}
    +#ifdef LFS_READWRITE
    +		(void)VOP_BWRITE(bp->b_vp, bp);
    +		lfs_reserve(fs, vp, NULL,
    +		    -lfs_btofsb(fs, (ULFS_NIADDR + 1) << fs->lfs_bshift));
    +		need_unreserve = false;
    +#else
    +		if (ioflag & IO_SYNC)
    +			(void)bwrite(bp);
    +		else if (xfersize + blkoffset == fs->fs_bsize)
    +			bawrite(bp);
    +		else
    +			bdwrite(bp);
    +#endif
    +		if (error || xfersize == 0)
    +			break;
    +	}
    +#ifdef LFS_READWRITE
    +	if (need_unreserve) {
    +		lfs_reserve(fs, vp, NULL,
    +		    -lfs_btofsb(fs, (ULFS_NIADDR + 1) << fs->lfs_bshift));
    +	}
    +#endif
    +
    +	/*
    +	 * If we successfully wrote any data, and we are not the superuser
    +	 * we clear the setuid and setgid bits as a precaution against
    +	 * tampering.
    +	 */
    +out:
    +	ip->i_flag |= IN_CHANGE | IN_UPDATE;
    +	if (vp->v_mount->mnt_flag & MNT_RELATIME)
    +		ip->i_flag |= IN_ACCESS;
    +	if (resid > uio->uio_resid && ap->a_cred) {
    +		if (ip->i_mode & ISUID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SUID, vp, NULL, EPERM) != 0) {
    +				ip->i_mode &= ~ISUID;
    +				DIP_ASSIGN(ip, mode, ip->i_mode);
    +			}
    +		}
    +
    +		if (ip->i_mode & ISGID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SGID, vp, NULL, EPERM) != 0) {
    +				ip->i_mode &= ~ISGID;
    +				DIP_ASSIGN(ip, mode, ip->i_mode);
    +			}
    +		}
    +	}
    +	if (resid > uio->uio_resid)
    +		VN_KNOTE(vp, NOTE_WRITE | (extended ? NOTE_EXTEND : 0));
    +	if (error) {
    +		(void) lfs_truncate(vp, osize, ioflag & IO_SYNC, ap->a_cred);
    +		uio->uio_offset -= resid - uio->uio_resid;
    +		uio->uio_resid = resid;
    +	} else if (resid > uio->uio_resid && (ioflag & IO_SYNC) == IO_SYNC) {
    +		error = lfs_update(vp, NULL, NULL, UPDATE_WAIT);
    +	} else {
    +		/* nothing */
    +	}
    +	KASSERT(vp->v_size == ip->i_size);
    +	fstrans_done(vp->v_mount);
    +
    +	return (error);
    +}
    diff --git a/sys/ufs/lfs/ulfs_snapshot.c b/sys/ufs/lfs/ulfs_snapshot.c
    new file mode 100644
    index 000000000..7f7e5d13e
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_snapshot.c
    @@ -0,0 +1,89 @@
    +/*	$NetBSD: ulfs_snapshot.c,v 1.2 2013/06/08 22:05:15 dholland Exp $	*/
    +/*  from ffs_snapshot.c,v 1.122 2013/05/07 09:40:54 hannken Exp  */
    +
    +/*
    + * Copyright 2000 Marshall Kirk McKusick. All Rights Reserved.
    + *
    + * Further information about snapshots can be obtained from:
    + *
    + *	Marshall Kirk McKusick		http://www.mckusick.com/softdep/
    + *	1614 Oxford Street		mckusick@mckusick.com
    + *	Berkeley, CA 94709-1608		+1-510-843-9542
    + *	USA
    + *
    + * 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 MARSHALL KIRK MCKUSICK ``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 MARSHALL KIRK MCKUSICK 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.
    + *
    + *	@(#)ffs_snapshot.c	8.11 (McKusick) 7/23/00
    + *
    + *	from FreeBSD: ffs_snapshot.c,v 1.79 2004/02/13 02:02:06 kuriyama Exp
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_snapshot.c,v 1.2 2013/06/08 22:05:15 dholland Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_lfs.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +#include 
    +
    +/*
    + * Decrement extra reference on snapshot when last name is removed.
    + * It will not be freed until the last open reference goes away.
    + */
    +void
    +ulfs_snapgone(struct inode *ip)
    +{
    +	(void)ip;
    +	/* just panic */
    +	panic("reached ulfs_snapgone\n");
    +}
    diff --git a/sys/ufs/lfs/ulfs_vfsops.c b/sys/ufs/lfs/ulfs_vfsops.c
    new file mode 100644
    index 000000000..b0c7c9ff8
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_vfsops.c
    @@ -0,0 +1,291 @@
    +/*	$NetBSD: ulfs_vfsops.c,v 1.8 2013/06/08 02:12:56 dholland Exp $	*/
    +/*  from NetBSD: ufs_vfsops.c,v 1.52 2013/01/22 09:39:18 dholland Exp  */
    +
    +/*
    + * Copyright (c) 1991, 1993, 1994
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_vfsops.c	8.8 (Berkeley) 5/20/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_vfsops.c,v 1.8 2013/06/08 02:12:56 dholland Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_lfs.h"
    +#include "opt_quota.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef LFS_DIRHASH
    +#include 
    +#endif
    +
    +/* how many times ulfs_init() was called */
    +static int ulfs_initcount = 0;
    +
    +pool_cache_t ulfs_direct_cache;
    +
    +/*
    + * Make a filesystem operational.
    + * Nothing to do at the moment.
    + */
    +/* ARGSUSED */
    +int
    +ulfs_start(struct mount *mp, int flags)
    +{
    +
    +	return (0);
    +}
    +
    +/*
    + * Return the root of a filesystem.
    + */
    +int
    +ulfs_root(struct mount *mp, struct vnode **vpp)
    +{
    +	struct vnode *nvp;
    +	int error;
    +
    +	if ((error = VFS_VGET(mp, (ino_t)ULFS_ROOTINO, &nvp)) != 0)
    +		return (error);
    +	*vpp = nvp;
    +	return (0);
    +}
    +
    +/*
    + * Do operations associated with quotas
    + */
    +int
    +ulfs_quotactl(struct mount *mp, struct quotactl_args *args)
    +{
    +
    +#if !defined(LFS_QUOTA) && !defined(LFS_QUOTA2)
    +	(void) mp;
    +	(void) args;
    +	return (EOPNOTSUPP);
    +#else
    +	struct lwp *l = curlwp;
    +	int error;
    +
    +	/* Mark the mount busy, as we're passing it to kauth(9). */
    +	error = vfs_busy(mp, NULL);
    +	if (error) {
    +		return (error);
    +	}
    +	mutex_enter(&mp->mnt_updating);
    +
    +	error = lfsquota_handle_cmd(mp, l, args);
    +
    +	mutex_exit(&mp->mnt_updating);
    +	vfs_unbusy(mp, false, NULL);
    +	return (error);
    +#endif
    +}
    +	
    +#if 0
    +	switch (cmd) {
    +	case Q_SYNC:
    +		break;
    +
    +	case Q_GETQUOTA:
    +		/* The user can always query about his own quota. */
    +		if (uid == kauth_cred_getuid(l->l_cred))
    +			break;
    +
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, KAUTH_ARG(uid), NULL);
    +
    +		break;
    +
    +	case Q_QUOTAON:
    +	case Q_QUOTAOFF:
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_ONOFF, mp, NULL, NULL);
    +
    +		break;
    +
    +	case Q_SETQUOTA:
    +	case Q_SETUSE:
    +		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(uid), NULL);
    +
    +		break;
    +
    +	default:
    +		error = EINVAL;
    +		break;
    +	}
    +
    +	type = cmds & SUBCMDMASK;
    +	if (!error) {
    +		/* Only check if there was no error above. */
    +		if ((u_int)type >= MAXQUOTAS)
    +			error = EINVAL;
    +	}
    +
    +	if (error) {
    +		vfs_unbusy(mp, false, NULL);
    +		return (error);
    +	}
    +
    +	mutex_enter(&mp->mnt_updating);
    +	switch (cmd) {
    +
    +	case Q_QUOTAON:
    +		error = quotaon(l, mp, type, arg);
    +		break;
    +
    +	case Q_QUOTAOFF:
    +		error = quotaoff(l, mp, type);
    +		break;
    +
    +	case Q_SETQUOTA:
    +		error = setquota(mp, uid, type, arg);
    +		break;
    +
    +	case Q_SETUSE:
    +		error = setuse(mp, uid, type, arg);
    +		break;
    +
    +	case Q_GETQUOTA:
    +		error = getquota(mp, uid, type, arg);
    +		break;
    +
    +	case Q_SYNC:
    +		error = lfs_qsync(mp);
    +		break;
    +
    +	default:
    +		error = EINVAL;
    +	}
    +	mutex_exit(&mp->mnt_updating);
    +	vfs_unbusy(mp, false, NULL);
    +	return (error);
    +#endif
    +
    +/*
    + * This is the generic part of fhtovp called after the underlying
    + * filesystem has validated the file handle.
    + */
    +int
    +ulfs_fhtovp(struct mount *mp, struct ulfs_ufid *ufhp, struct vnode **vpp)
    +{
    +	struct vnode *nvp;
    +	struct inode *ip;
    +	int error;
    +
    +	if ((error = VFS_VGET(mp, ufhp->ufid_ino, &nvp)) != 0) {
    +		*vpp = NULLVP;
    +		return (error);
    +	}
    +	ip = VTOI(nvp);
    +	KASSERT(ip != NULL);
    +	if (ip->i_mode == 0 || ip->i_gen != ufhp->ufid_gen) {
    +		vput(nvp);
    +		*vpp = NULLVP;
    +		return (ESTALE);
    +	}
    +	*vpp = nvp;
    +	return (0);
    +}
    +
    +/*
    + * Initialize ULFS filesystems, done only once.
    + */
    +void
    +ulfs_init(void)
    +{
    +	if (ulfs_initcount++ > 0)
    +		return;
    +
    +	ulfs_direct_cache = pool_cache_init(sizeof(struct lfs_direct), 0, 0, 0,
    +	    "ulfsdir", NULL, IPL_NONE, NULL, NULL, NULL);
    +
    +	ulfs_ihashinit();
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	lfs_dqinit();
    +#endif
    +#ifdef LFS_DIRHASH
    +	ulfsdirhash_init();
    +#endif
    +#ifdef LFS_EXTATTR
    +	ulfs_extattr_init();
    +#endif
    +}
    +
    +void
    +ulfs_reinit(void)
    +{
    +	ulfs_ihashreinit();
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	lfs_dqreinit();
    +#endif
    +}
    +
    +/*
    + * Free ULFS filesystem resources, done only once.
    + */
    +void
    +ulfs_done(void)
    +{
    +	if (--ulfs_initcount > 0)
    +		return;
    +
    +	ulfs_ihashdone();
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	lfs_dqdone();
    +#endif
    +	pool_cache_destroy(ulfs_direct_cache);
    +#ifdef LFS_DIRHASH
    +	ulfsdirhash_done();
    +#endif
    +#ifdef LFS_EXTATTR
    +	ulfs_extattr_done();
    +#endif
    +}
    diff --git a/sys/ufs/lfs/ulfs_vnops.c b/sys/ufs/lfs/ulfs_vnops.c
    new file mode 100644
    index 000000000..6eb802e10
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfs_vnops.c
    @@ -0,0 +1,1570 @@
    +/*	$NetBSD: ulfs_vnops.c,v 1.18 2013/07/28 01:10:49 dholland Exp $	*/
    +/*  from NetBSD: ufs_vnops.c,v 1.213 2013/06/08 05:47:02 kardel Exp  */
    +
    +/*-
    + * Copyright (c) 2008 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Wasabi Systems, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1993, 1995
    + *	The Regents of the University of California.  All rights reserved.
    + * (c) UNIX System Laboratories, Inc.
    + * All or some portions of this file are derived from material licensed
    + * to the University of California by American Telephone and Telegraph
    + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    + * the permission of UNIX System Laboratories, Inc.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufs_vnops.c	8.28 (Berkeley) 7/31/95
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ulfs_vnops.c,v 1.18 2013/07/28 01:10:49 dholland Exp $");
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_lfs.h"
    +#include "opt_quota.h"
    +#endif
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#ifdef LFS_DIRHASH
    +#include 
    +#endif
    +#include 
    +#include 
    +
    +#include 
    +
    +static int ulfs_chmod(struct vnode *, int, kauth_cred_t, struct lwp *);
    +static int ulfs_chown(struct vnode *, uid_t, gid_t, kauth_cred_t,
    +    struct lwp *);
    +
    +/*
    + * A virgin directory (no blushing please).
    + */
    +static const struct lfs_dirtemplate mastertemplate = {
    +	0,	12,			LFS_DT_DIR,	1,	".",
    +	0,	LFS_DIRBLKSIZ - 12,	LFS_DT_DIR,	2,	".."
    +};
    +
    +/*
    + * Create a regular file
    + */
    +int
    +ulfs_create(void *v)
    +{
    +	struct vop_create_args /* {
    +		struct vnode		*a_dvp;
    +		struct vnode		**a_vpp;
    +		struct componentname	*a_cnp;
    +		struct vattr		*a_vap;
    +	} */ *ap = v;
    +	int	error;
    +	struct vnode *dvp = ap->a_dvp;
    +	struct ulfs_lookup_results *ulr;
    +
    +	/* XXX should handle this material another way */
    +	ulr = &VTOI(dvp)->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(VTOI(dvp));
    +
    +	fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +	error =
    +	    ulfs_makeinode(MAKEIMODE(ap->a_vap->va_type, ap->a_vap->va_mode),
    +			  dvp, ulr, ap->a_vpp, ap->a_cnp);
    +	if (error) {
    +		fstrans_done(dvp->v_mount);
    +		return (error);
    +	}
    +	fstrans_done(dvp->v_mount);
    +	VN_KNOTE(dvp, NOTE_WRITE);
    +	return (0);
    +}
    +
    +/*
    + * Open called.
    + *
    + * Nothing to do.
    + */
    +/* ARGSUSED */
    +int
    +ulfs_open(void *v)
    +{
    +	struct vop_open_args /* {
    +		struct vnode	*a_vp;
    +		int		a_mode;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +
    +	/*
    +	 * Files marked append-only must be opened for appending.
    +	 */
    +	if ((VTOI(ap->a_vp)->i_flags & APPEND) &&
    +	    (ap->a_mode & (FWRITE | O_APPEND)) == FWRITE)
    +		return (EPERM);
    +	return (0);
    +}
    +
    +static int
    +ulfs_check_possible(struct vnode *vp, struct inode *ip, mode_t mode,
    +    kauth_cred_t cred)
    +{
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	int error;
    +#endif
    +
    +	/*
    +	 * Disallow write attempts on read-only file systems;
    +	 * unless the file is a socket, fifo, or a block or
    +	 * character device resident on the file system.
    +	 */
    +	if (mode & VWRITE) {
    +		switch (vp->v_type) {
    +		case VDIR:
    +		case VLNK:
    +		case VREG:
    +			if (vp->v_mount->mnt_flag & MNT_RDONLY)
    +				return (EROFS);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +			fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +			error = lfs_chkdq(ip, 0, cred, 0);
    +			fstrans_done(vp->v_mount);
    +			if (error != 0)
    +				return error;
    +#endif
    +			break;
    +		case VBAD:
    +		case VBLK:
    +		case VCHR:
    +		case VSOCK:
    +		case VFIFO:
    +		case VNON:
    +		default:
    +			break;
    +		}
    +	}
    +
    +	/* If it is a snapshot, nobody gets access to it. */
    +	if ((ip->i_flags & SF_SNAPSHOT))
    +		return (EPERM);
    +	/* If immutable bit set, nobody gets to write it. */
    +	if ((mode & VWRITE) && (ip->i_flags & IMMUTABLE))
    +		return (EPERM);
    +
    +	return 0;
    +}
    +
    +static int
    +ulfs_check_permitted(struct vnode *vp, struct inode *ip, mode_t mode,
    +    kauth_cred_t cred)
    +{
    +
    +	return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type,
    +	    ip->i_mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type,
    +	    ip->i_mode & ALLPERMS, ip->i_uid, ip->i_gid, mode, cred));
    +}
    +
    +int
    +ulfs_access(void *v)
    +{
    +	struct vop_access_args /* {
    +		struct vnode	*a_vp;
    +		int		a_mode;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +	struct vnode	*vp;
    +	struct inode	*ip;
    +	mode_t		mode;
    +	int		error;
    +
    +	vp = ap->a_vp;
    +	ip = VTOI(vp);
    +	mode = ap->a_mode;
    +
    +	error = ulfs_check_possible(vp, ip, mode, ap->a_cred);
    +	if (error)
    +		return error;
    +
    +	error = ulfs_check_permitted(vp, ip, mode, ap->a_cred);
    +
    +	return error;
    +}
    +
    +/*
    + * Set attribute vnode op. called from several syscalls
    + */
    +int
    +ulfs_setattr(void *v)
    +{
    +	struct vop_setattr_args /* {
    +		struct vnode	*a_vp;
    +		struct vattr	*a_vap;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +	struct vattr	*vap;
    +	struct vnode	*vp;
    +	struct inode	*ip;
    +	kauth_cred_t	cred;
    +	struct lwp	*l;
    +	int		error;
    +	kauth_action_t	action;
    +	bool		changing_sysflags;
    +
    +	vap = ap->a_vap;
    +	vp = ap->a_vp;
    +	ip = VTOI(vp);
    +	cred = ap->a_cred;
    +	l = curlwp;
    +	action = KAUTH_VNODE_WRITE_FLAGS;
    +	changing_sysflags = false;
    +
    +	/*
    +	 * Check for unsettable attributes.
    +	 */
    +	if ((vap->va_type != VNON) || (vap->va_nlink != VNOVAL) ||
    +	    (vap->va_fsid != VNOVAL) || (vap->va_fileid != VNOVAL) ||
    +	    (vap->va_blocksize != VNOVAL) || (vap->va_rdev != VNOVAL) ||
    +	    ((int)vap->va_bytes != VNOVAL) || (vap->va_gen != VNOVAL)) {
    +		return (EINVAL);
    +	}
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +
    +	if (vap->va_flags != VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto out;
    +		}
    +
    +		/* Snapshot flag cannot be set or cleared */
    +		if ((vap->va_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) !=
    +		    (ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL))) {
    +			error = EPERM;
    +			goto out;
    +		}
    +
    +		if (ip->i_flags & (SF_IMMUTABLE | SF_APPEND)) {
    +			action |= KAUTH_VNODE_HAS_SYSFLAGS;
    +		}
    +
    +		if ((vap->va_flags & SF_SETTABLE) != (ip->i_flags & SF_SETTABLE)) {
    +			action |= KAUTH_VNODE_WRITE_SYSFLAGS;
    +			changing_sysflags = true;
    +		}
    +
    +		error = kauth_authorize_vnode(cred, action, vp, NULL,
    +		    genfs_can_chflags(cred, vp->v_type, ip->i_uid,
    +		    changing_sysflags));
    +		if (error)
    +			goto out;
    +
    +		if (changing_sysflags) {
    +			ip->i_flags = vap->va_flags;
    +			DIP_ASSIGN(ip, flags, ip->i_flags);
    +		} else {
    +			ip->i_flags &= SF_SETTABLE;
    +			ip->i_flags |= (vap->va_flags & UF_SETTABLE);
    +			DIP_ASSIGN(ip, flags, ip->i_flags);
    +		}
    +		ip->i_flag |= IN_CHANGE;
    +		if (vap->va_flags & (IMMUTABLE | APPEND)) {
    +			error = 0;
    +			goto out;
    +		}
    +	}
    +	if (ip->i_flags & (IMMUTABLE | APPEND)) {
    +		error = EPERM;
    +		goto out;
    +	}
    +	/*
    +	 * Go through the fields and update iff not VNOVAL.
    +	 */
    +	if (vap->va_uid != (uid_t)VNOVAL || vap->va_gid != (gid_t)VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto out;
    +		}
    +		error = ulfs_chown(vp, vap->va_uid, vap->va_gid, cred, l);
    +		if (error)
    +			goto out;
    +	}
    +	if (vap->va_size != VNOVAL) {
    +		/*
    +		 * Disallow write attempts on read-only file systems;
    +		 * unless the file is a socket, fifo, or a block or
    +		 * character device resident on the file system.
    +		 */
    +		switch (vp->v_type) {
    +		case VDIR:
    +			error = EISDIR;
    +			goto out;
    +		case VCHR:
    +		case VBLK:
    +		case VFIFO:
    +			break;
    +		case VREG:
    +			if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +				error = EROFS;
    +				goto out;
    +			}
    +			if ((ip->i_flags & SF_SNAPSHOT) != 0) {
    +				error = EPERM;
    +				goto out;
    +			}
    +			error = lfs_truncate(vp, vap->va_size, 0, cred);
    +			if (error)
    +				goto out;
    +			break;
    +		default:
    +			error = EOPNOTSUPP;
    +			goto out;
    +		}
    +	}
    +	ip = VTOI(vp);
    +	if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL ||
    +	    vap->va_birthtime.tv_sec != VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto out;
    +		}
    +		if ((ip->i_flags & SF_SNAPSHOT) != 0) {
    +			error = EPERM;
    +			goto out;
    +		}
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_TIMES, vp,
    +		    NULL, genfs_can_chtimes(vp, vap->va_vaflags, ip->i_uid, cred));
    +		if (error)
    +			goto out;
    +		if (vap->va_atime.tv_sec != VNOVAL)
    +			if (!(vp->v_mount->mnt_flag & MNT_NOATIME))
    +				ip->i_flag |= IN_ACCESS;
    +		if (vap->va_mtime.tv_sec != VNOVAL) {
    +			ip->i_flag |= IN_CHANGE | IN_UPDATE;
    +			if (vp->v_mount->mnt_flag & MNT_RELATIME)
    +				ip->i_flag |= IN_ACCESS;
    +		}
    +		if (vap->va_birthtime.tv_sec != VNOVAL &&
    +		    ip->i_ump->um_fstype == ULFS2) {
    +			ip->i_ffs2_birthtime = vap->va_birthtime.tv_sec;
    +			ip->i_ffs2_birthnsec = vap->va_birthtime.tv_nsec;
    +		}
    +		error = lfs_update(vp, &vap->va_atime, &vap->va_mtime, 0);
    +		if (error)
    +			goto out;
    +	}
    +	error = 0;
    +	if (vap->va_mode != (mode_t)VNOVAL) {
    +		if (vp->v_mount->mnt_flag & MNT_RDONLY) {
    +			error = EROFS;
    +			goto out;
    +		}
    +		if ((ip->i_flags & SF_SNAPSHOT) != 0 &&
    +		    (vap->va_mode & (S_IXUSR | S_IWUSR | S_IXGRP | S_IWGRP |
    +		     S_IXOTH | S_IWOTH))) {
    +			error = EPERM;
    +			goto out;
    +		}
    +		error = ulfs_chmod(vp, (int)vap->va_mode, cred, l);
    +	}
    +	VN_KNOTE(vp, NOTE_ATTRIB);
    +out:
    +	fstrans_done(vp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * Change the mode on a file.
    + * Inode must be locked before calling.
    + */
    +static int
    +ulfs_chmod(struct vnode *vp, int mode, kauth_cred_t cred, struct lwp *l)
    +{
    +	struct inode	*ip;
    +	int		error;
    +
    +	ip = VTOI(vp);
    +
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_SECURITY, vp,
    +	    NULL, genfs_can_chmod(vp->v_type, cred, ip->i_uid, ip->i_gid, mode));
    +	if (error)
    +		return (error);
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +	ip->i_mode &= ~ALLPERMS;
    +	ip->i_mode |= (mode & ALLPERMS);
    +	ip->i_flag |= IN_CHANGE;
    +	DIP_ASSIGN(ip, mode, ip->i_mode);
    +	fstrans_done(vp->v_mount);
    +	return (0);
    +}
    +
    +/*
    + * Perform chown operation on inode ip;
    + * inode must be locked prior to call.
    + */
    +static int
    +ulfs_chown(struct vnode *vp, uid_t uid, gid_t gid, kauth_cred_t cred,
    +    	struct lwp *l)
    +{
    +	struct inode	*ip;
    +	int		error = 0;
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	uid_t		ouid;
    +	gid_t		ogid;
    +	int64_t		change;
    +#endif
    +	ip = VTOI(vp);
    +	error = 0;
    +
    +	if (uid == (uid_t)VNOVAL)
    +		uid = ip->i_uid;
    +	if (gid == (gid_t)VNOVAL)
    +		gid = ip->i_gid;
    +
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_CHANGE_OWNERSHIP, vp,
    +	    NULL, genfs_can_chown(cred, ip->i_uid, ip->i_gid, uid, gid));
    +	if (error)
    +		return (error);
    +
    +	fstrans_start(vp->v_mount, FSTRANS_SHARED);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	ogid = ip->i_gid;
    +	ouid = ip->i_uid;
    +	change = DIP(ip, blocks);
    +	(void) lfs_chkdq(ip, -change, cred, 0);
    +	(void) lfs_chkiq(ip, -1, cred, 0);
    +#endif
    +	ip->i_gid = gid;
    +	DIP_ASSIGN(ip, gid, gid);
    +	ip->i_uid = uid;
    +	DIP_ASSIGN(ip, uid, uid);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	if ((error = lfs_chkdq(ip, change, cred, 0)) == 0) {
    +		if ((error = lfs_chkiq(ip, 1, cred, 0)) == 0)
    +			goto good;
    +		else
    +			(void) lfs_chkdq(ip, -change, cred, FORCE);
    +	}
    +	ip->i_gid = ogid;
    +	DIP_ASSIGN(ip, gid, ogid);
    +	ip->i_uid = ouid;
    +	DIP_ASSIGN(ip, uid, ouid);
    +	(void) lfs_chkdq(ip, change, cred, FORCE);
    +	(void) lfs_chkiq(ip, 1, cred, FORCE);
    +	fstrans_done(vp->v_mount);
    +	return (error);
    + good:
    +#endif /* LFS_QUOTA || LFS_QUOTA2 */
    +	ip->i_flag |= IN_CHANGE;
    +	fstrans_done(vp->v_mount);
    +	return (0);
    +}
    +
    +int
    +ulfs_remove(void *v)
    +{
    +	struct vop_remove_args /* {
    +		struct vnode		*a_dvp;
    +		struct vnode		*a_vp;
    +		struct componentname	*a_cnp;
    +	} */ *ap = v;
    +	struct vnode	*vp, *dvp;
    +	struct inode	*ip;
    +	int		error;
    +	struct ulfs_lookup_results *ulr;
    +
    +	vp = ap->a_vp;
    +	dvp = ap->a_dvp;
    +	ip = VTOI(vp);
    +
    +	/* XXX should handle this material another way */
    +	ulr = &VTOI(dvp)->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(VTOI(dvp));
    +
    +	fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +	if (vp->v_type == VDIR || (ip->i_flags & (IMMUTABLE | APPEND)) ||
    +	    (VTOI(dvp)->i_flags & APPEND))
    +		error = EPERM;
    +	else {
    +		error = ulfs_dirremove(dvp, ulr,
    +				      ip, ap->a_cnp->cn_flags, 0);
    +	}
    +	VN_KNOTE(vp, NOTE_DELETE);
    +	VN_KNOTE(dvp, NOTE_WRITE);
    +	if (dvp == vp)
    +		vrele(vp);
    +	else
    +		vput(vp);
    +	vput(dvp);
    +	fstrans_done(dvp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * ulfs_link: create hard link.
    + */
    +int
    +ulfs_link(void *v)
    +{
    +	struct vop_link_args /* {
    +		struct vnode *a_dvp;
    +		struct vnode *a_vp;
    +		struct componentname *a_cnp;
    +	} */ *ap = v;
    +	struct vnode *dvp = ap->a_dvp;
    +	struct vnode *vp = ap->a_vp;
    +	struct componentname *cnp = ap->a_cnp;
    +	struct inode *ip;
    +	struct lfs_direct *newdir;
    +	int error;
    +	struct ulfs_lookup_results *ulr;
    +
    +	KASSERT(dvp != vp);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == vp->v_mount);
    +
    +	/* XXX should handle this material another way */
    +	ulr = &VTOI(dvp)->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(VTOI(dvp));
    +
    +	fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +	error = vn_lock(vp, LK_EXCLUSIVE);
    +	if (error) {
    +		VOP_ABORTOP(dvp, cnp);
    +		goto out2;
    +	}
    +	ip = VTOI(vp);
    +	if ((nlink_t)ip->i_nlink >= LINK_MAX) {
    +		VOP_ABORTOP(dvp, cnp);
    +		error = EMLINK;
    +		goto out1;
    +	}
    +	if (ip->i_flags & (IMMUTABLE | APPEND)) {
    +		VOP_ABORTOP(dvp, cnp);
    +		error = EPERM;
    +		goto out1;
    +	}
    +	ip->i_nlink++;
    +	DIP_ASSIGN(ip, nlink, ip->i_nlink);
    +	ip->i_flag |= IN_CHANGE;
    +	error = lfs_update(vp, NULL, NULL, UPDATE_DIROP);
    +	if (!error) {
    +		newdir = pool_cache_get(ulfs_direct_cache, PR_WAITOK);
    +		ulfs_makedirentry(ip, cnp, newdir);
    +		error = ulfs_direnter(dvp, ulr, vp, newdir, cnp, NULL);
    +		pool_cache_put(ulfs_direct_cache, newdir);
    +	}
    +	if (error) {
    +		ip->i_nlink--;
    +		DIP_ASSIGN(ip, nlink, ip->i_nlink);
    +		ip->i_flag |= IN_CHANGE;
    +	}
    + out1:
    +	VOP_UNLOCK(vp);
    + out2:
    +	VN_KNOTE(vp, NOTE_LINK);
    +	VN_KNOTE(dvp, NOTE_WRITE);
    +	vput(dvp);
    +	fstrans_done(dvp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * whiteout vnode call
    + */
    +int
    +ulfs_whiteout(void *v)
    +{
    +	struct vop_whiteout_args /* {
    +		struct vnode		*a_dvp;
    +		struct componentname	*a_cnp;
    +		int			a_flags;
    +	} */ *ap = v;
    +	struct vnode		*dvp = ap->a_dvp;
    +	struct componentname	*cnp = ap->a_cnp;
    +	struct lfs_direct		*newdir;
    +	int			error;
    +	struct ulfsmount	*ump = VFSTOULFS(dvp->v_mount);
    +	struct lfs *fs = ump->um_lfs;
    +	struct ulfs_lookup_results *ulr;
    +
    +	/* XXX should handle this material another way */
    +	ulr = &VTOI(dvp)->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(VTOI(dvp));
    +
    +	error = 0;
    +	switch (ap->a_flags) {
    +	case LOOKUP:
    +		/* 4.4 format directories support whiteout operations */
    +		if (fs->um_maxsymlinklen > 0)
    +			return (0);
    +		return (EOPNOTSUPP);
    +
    +	case CREATE:
    +		/* create a new directory whiteout */
    +		fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +#ifdef DIAGNOSTIC
    +		if (fs->um_maxsymlinklen <= 0)
    +			panic("ulfs_whiteout: old format filesystem");
    +#endif
    +
    +		newdir = pool_cache_get(ulfs_direct_cache, PR_WAITOK);
    +		newdir->d_ino = ULFS_WINO;
    +		newdir->d_namlen = cnp->cn_namelen;
    +		memcpy(newdir->d_name, cnp->cn_nameptr,
    +		    (size_t)cnp->cn_namelen);
    +		newdir->d_name[cnp->cn_namelen] = '\0';
    +		newdir->d_type = LFS_DT_WHT;
    +		error = ulfs_direnter(dvp, ulr, NULL, newdir, cnp, NULL);
    +		pool_cache_put(ulfs_direct_cache, newdir);
    +		break;
    +
    +	case DELETE:
    +		/* remove an existing directory whiteout */
    +		fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +#ifdef DIAGNOSTIC
    +		if (fs->um_maxsymlinklen <= 0)
    +			panic("ulfs_whiteout: old format filesystem");
    +#endif
    +
    +		cnp->cn_flags &= ~DOWHITEOUT;
    +		error = ulfs_dirremove(dvp, ulr, NULL, cnp->cn_flags, 0);
    +		break;
    +	default:
    +		panic("ulfs_whiteout: unknown op");
    +		/* NOTREACHED */
    +	}
    +	fstrans_done(dvp->v_mount);
    +	return (error);
    +}
    +
    +int
    +ulfs_mkdir(void *v)
    +{
    +	struct vop_mkdir_args /* {
    +		struct vnode		*a_dvp;
    +		struct vnode		**a_vpp;
    +		struct componentname	*a_cnp;
    +		struct vattr		*a_vap;
    +	} */ *ap = v;
    +	struct vnode		*dvp = ap->a_dvp, *tvp;
    +	struct vattr		*vap = ap->a_vap;
    +	struct componentname	*cnp = ap->a_cnp;
    +	struct inode		*ip, *dp = VTOI(dvp);
    +	struct buf		*bp;
    +	struct lfs_dirtemplate	dirtemplate;
    +	struct lfs_direct		*newdir;
    +	int			error, dmode;
    +	struct ulfsmount	*ump = dp->i_ump;
    +	struct lfs *fs = ump->um_lfs;
    +	int dirblksiz = fs->um_dirblksiz;
    +	struct ulfs_lookup_results *ulr;
    +
    +	fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +
    +	/* XXX should handle this material another way */
    +	ulr = &dp->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(dp);
    +
    +	if ((nlink_t)dp->i_nlink >= LINK_MAX) {
    +		error = EMLINK;
    +		goto out;
    +	}
    +	dmode = vap->va_mode & ACCESSPERMS;
    +	dmode |= LFS_IFDIR;
    +	/*
    +	 * Must simulate part of ulfs_makeinode here to acquire the inode,
    +	 * but not have it entered in the parent directory. The entry is
    +	 * made later after writing "." and ".." entries.
    +	 */
    +	if ((error = lfs_valloc(dvp, dmode, cnp->cn_cred, ap->a_vpp)) != 0)
    +		goto out;
    +
    +	tvp = *ap->a_vpp;
    +	ip = VTOI(tvp);
    +
    +	ip->i_uid = kauth_cred_geteuid(cnp->cn_cred);
    +	DIP_ASSIGN(ip, uid, ip->i_uid);
    +	ip->i_gid = dp->i_gid;
    +	DIP_ASSIGN(ip, gid, ip->i_gid);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	if ((error = lfs_chkiq(ip, 1, cnp->cn_cred, 0))) {
    +		lfs_vfree(tvp, ip->i_number, dmode);
    +		fstrans_done(dvp->v_mount);
    +		vput(tvp);
    +		vput(dvp);
    +		return (error);
    +	}
    +#endif
    +	ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
    +	ip->i_mode = dmode;
    +	DIP_ASSIGN(ip, mode, dmode);
    +	tvp->v_type = VDIR;	/* Rest init'd in getnewvnode(). */
    +	ip->i_nlink = 2;
    +	DIP_ASSIGN(ip, nlink, 2);
    +	if (cnp->cn_flags & ISWHITEOUT) {
    +		ip->i_flags |= UF_OPAQUE;
    +		DIP_ASSIGN(ip, flags, ip->i_flags);
    +	}
    +
    +	/*
    +	 * Bump link count in parent directory to reflect work done below.
    +	 * Should be done before reference is created so cleanup is
    +	 * possible if we crash.
    +	 */
    +	dp->i_nlink++;
    +	DIP_ASSIGN(dp, nlink, dp->i_nlink);
    +	dp->i_flag |= IN_CHANGE;
    +	if ((error = lfs_update(dvp, NULL, NULL, UPDATE_DIROP)) != 0)
    +		goto bad;
    +
    +	/*
    +	 * Initialize directory with "." and ".." from static template.
    +	 */
    +	dirtemplate = mastertemplate;
    +	dirtemplate.dotdot_reclen = dirblksiz - dirtemplate.dot_reclen;
    +	dirtemplate.dot_ino = ulfs_rw32(ip->i_number, ULFS_MPNEEDSWAP(fs));
    +	dirtemplate.dotdot_ino = ulfs_rw32(dp->i_number, ULFS_MPNEEDSWAP(fs));
    +	dirtemplate.dot_reclen = ulfs_rw16(dirtemplate.dot_reclen,
    +	    ULFS_MPNEEDSWAP(fs));
    +	dirtemplate.dotdot_reclen = ulfs_rw16(dirtemplate.dotdot_reclen,
    +	    ULFS_MPNEEDSWAP(fs));
    +	if (fs->um_maxsymlinklen <= 0) {
    +#if BYTE_ORDER == LITTLE_ENDIAN
    +		if (ULFS_MPNEEDSWAP(fs) == 0)
    +#else
    +		if (ULFS_MPNEEDSWAP(fs) != 0)
    +#endif
    +		{
    +			dirtemplate.dot_type = dirtemplate.dot_namlen;
    +			dirtemplate.dotdot_type = dirtemplate.dotdot_namlen;
    +			dirtemplate.dot_namlen = dirtemplate.dotdot_namlen = 0;
    +		} else
    +			dirtemplate.dot_type = dirtemplate.dotdot_type = 0;
    +	}
    +	if ((error = lfs_balloc(tvp, (off_t)0, dirblksiz, cnp->cn_cred,
    +	    B_CLRBUF, &bp)) != 0)
    +		goto bad;
    +	ip->i_size = dirblksiz;
    +	DIP_ASSIGN(ip, size, dirblksiz);
    +	ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
    +	uvm_vnp_setsize(tvp, ip->i_size);
    +	memcpy((void *)bp->b_data, (void *)&dirtemplate, sizeof dirtemplate);
    +
    +	/*
    +	 * Directory set up, now install it's entry in the parent directory.
    +	 * We must write out the buffer containing the new directory body
    +	 * before entering the new name in the parent.
    +	 */
    +	if ((error = VOP_BWRITE(bp->b_vp, bp)) != 0)
    +		goto bad;
    +	if ((error = lfs_update(tvp, NULL, NULL, UPDATE_DIROP)) != 0) {
    +		goto bad;
    +	}
    +	newdir = pool_cache_get(ulfs_direct_cache, PR_WAITOK);
    +	ulfs_makedirentry(ip, cnp, newdir);
    +	error = ulfs_direnter(dvp, ulr, tvp, newdir, cnp, bp);
    +	pool_cache_put(ulfs_direct_cache, newdir);
    + bad:
    +	if (error == 0) {
    +		VN_KNOTE(dvp, NOTE_WRITE | NOTE_LINK);
    +	} else {
    +		dp->i_nlink--;
    +		DIP_ASSIGN(dp, nlink, dp->i_nlink);
    +		dp->i_flag |= IN_CHANGE;
    +		/*
    +		 * No need to do an explicit lfs_truncate here, vrele will
    +		 * do this for us because we set the link count to 0.
    +		 */
    +		ip->i_nlink = 0;
    +		DIP_ASSIGN(ip, nlink, 0);
    +		ip->i_flag |= IN_CHANGE;
    +		/* If IN_ADIROP, account for it */
    +		lfs_unmark_vnode(tvp);
    +		vput(tvp);
    +	}
    + out:
    +	fstrans_done(dvp->v_mount);
    +	vput(dvp);
    +	return (error);
    +}
    +
    +int
    +ulfs_rmdir(void *v)
    +{
    +	struct vop_rmdir_args /* {
    +		struct vnode		*a_dvp;
    +		struct vnode		*a_vp;
    +		struct componentname	*a_cnp;
    +	} */ *ap = v;
    +	struct vnode		*vp, *dvp;
    +	struct componentname	*cnp;
    +	struct inode		*ip, *dp;
    +	int			error;
    +	struct ulfs_lookup_results *ulr;
    +
    +	vp = ap->a_vp;
    +	dvp = ap->a_dvp;
    +	cnp = ap->a_cnp;
    +	ip = VTOI(vp);
    +	dp = VTOI(dvp);
    +
    +	/* XXX should handle this material another way */
    +	ulr = &dp->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(dp);
    +
    +	/*
    +	 * No rmdir "." or of mounted directories please.
    +	 */
    +	if (dp == ip || vp->v_mountedhere != NULL) {
    +		if (dp == ip)
    +			vrele(dvp);
    +		else
    +			vput(dvp);
    +		vput(vp);
    +		return (EINVAL);
    +	}
    +
    +	fstrans_start(dvp->v_mount, FSTRANS_SHARED);
    +
    +	/*
    +	 * Do not remove a directory that is in the process of being renamed.
    +	 * Verify that the directory is empty (and valid). (Rmdir ".." won't
    +	 * be valid since ".." will contain a reference to the current
    +	 * directory and thus be non-empty.)
    +	 */
    +	error = 0;
    +	if (ip->i_nlink != 2 ||
    +	    !ulfs_dirempty(ip, dp->i_number, cnp->cn_cred)) {
    +		error = ENOTEMPTY;
    +		goto out;
    +	}
    +	if ((dp->i_flags & APPEND) ||
    +		(ip->i_flags & (IMMUTABLE | APPEND))) {
    +		error = EPERM;
    +		goto out;
    +	}
    +	/*
    +	 * Delete reference to directory before purging
    +	 * inode.  If we crash in between, the directory
    +	 * will be reattached to lost+found,
    +	 */
    +	error = ulfs_dirremove(dvp, ulr, ip, cnp->cn_flags, 1);
    +	if (error) {
    +		goto out;
    +	}
    +	VN_KNOTE(dvp, NOTE_WRITE | NOTE_LINK);
    +	cache_purge(dvp);
    +	/*
    +	 * Truncate inode.  The only stuff left in the directory is "." and
    +	 * "..".  The "." reference is inconsequential since we're quashing
    +	 * it.
    +	 */
    +	dp->i_nlink--;
    +	DIP_ASSIGN(dp, nlink, dp->i_nlink);
    +	dp->i_flag |= IN_CHANGE;
    +	ip->i_nlink--;
    +	DIP_ASSIGN(ip, nlink, ip->i_nlink);
    +	ip->i_flag |= IN_CHANGE;
    +	error = lfs_truncate(vp, (off_t)0, IO_SYNC, cnp->cn_cred);
    +	cache_purge(vp);
    +#ifdef LFS_DIRHASH
    +	if (ip->i_dirhash != NULL)
    +		ulfsdirhash_free(ip);
    +#endif
    + out:
    +	VN_KNOTE(vp, NOTE_DELETE);
    +	vput(vp);
    +	fstrans_done(dvp->v_mount);
    +	vput(dvp);
    +	return (error);
    +}
    +
    +/*
    + * symlink -- make a symbolic link
    + */
    +int
    +ulfs_symlink(void *v)
    +{
    +	struct vop_symlink_args /* {
    +		struct vnode		*a_dvp;
    +		struct vnode		**a_vpp;
    +		struct componentname	*a_cnp;
    +		struct vattr		*a_vap;
    +		char			*a_target;
    +	} */ *ap = v;
    +	struct vnode	*vp, **vpp;
    +	struct inode	*ip;
    +	int		len, error;
    +	struct ulfs_lookup_results *ulr;
    +
    +	vpp = ap->a_vpp;
    +
    +	/* XXX should handle this material another way */
    +	ulr = &VTOI(ap->a_dvp)->i_crap;
    +	ULFS_CHECK_CRAPCOUNTER(VTOI(ap->a_dvp));
    +
    +	fstrans_start(ap->a_dvp->v_mount, FSTRANS_SHARED);
    +	error = ulfs_makeinode(LFS_IFLNK | ap->a_vap->va_mode, ap->a_dvp, ulr,
    +			      vpp, ap->a_cnp);
    +	if (error)
    +		goto out;
    +	VN_KNOTE(ap->a_dvp, NOTE_WRITE);
    +	vp = *vpp;
    +	len = strlen(ap->a_target);
    +	ip = VTOI(vp);
    +	if (len < ip->i_lfs->um_maxsymlinklen) {
    +		memcpy((char *)SHORTLINK(ip), ap->a_target, len);
    +		ip->i_size = len;
    +		DIP_ASSIGN(ip, size, len);
    +		uvm_vnp_setsize(vp, ip->i_size);
    +		ip->i_flag |= IN_CHANGE | IN_UPDATE;
    +		if (vp->v_mount->mnt_flag & MNT_RELATIME)
    +			ip->i_flag |= IN_ACCESS;
    +	} else
    +		error = vn_rdwr(UIO_WRITE, vp, ap->a_target, len, (off_t)0,
    +		    UIO_SYSSPACE, IO_NODELOCKED | IO_JOURNALLOCKED,
    +		    ap->a_cnp->cn_cred, NULL, NULL);
    +	if (error)
    +		vput(vp);
    +out:
    +	fstrans_done(ap->a_dvp->v_mount);
    +	return (error);
    +}
    +
    +/*
    + * Vnode op for reading directories.
    + *
    + * This routine handles converting from the on-disk directory format
    + * "struct lfs_direct" to the in-memory format "struct dirent" as well as
    + * byte swapping the entries if necessary.
    + */
    +int
    +ulfs_readdir(void *v)
    +{
    +	struct vop_readdir_args /* {
    +		struct vnode	*a_vp;
    +		struct uio	*a_uio;
    +		kauth_cred_t	a_cred;
    +		int		*a_eofflag;
    +		off_t		**a_cookies;
    +		int		*ncookies;
    +	} */ *ap = v;
    +	struct vnode	*vp = ap->a_vp;
    +	struct lfs_direct	*cdp, *ecdp;
    +	struct dirent	*ndp;
    +	char		*cdbuf, *ndbuf, *endp;
    +	struct uio	auio, *uio;
    +	struct iovec	aiov;
    +	int		error;
    +	size_t		count, ccount, rcount, cdbufsz, ndbufsz;
    +	off_t		off, *ccp;
    +	off_t		startoff;
    +	size_t		skipbytes;
    +	struct ulfsmount *ump = VFSTOULFS(vp->v_mount);
    +	struct lfs *fs = ump->um_lfs;
    +	int nswap = ULFS_MPNEEDSWAP(fs);
    +#if BYTE_ORDER == LITTLE_ENDIAN
    +	int needswap = fs->um_maxsymlinklen <= 0 && nswap == 0;
    +#else
    +	int needswap = fs->um_maxsymlinklen <= 0 && nswap != 0;
    +#endif
    +	uio = ap->a_uio;
    +	count = uio->uio_resid;
    +	rcount = count - ((uio->uio_offset + count) & (fs->um_dirblksiz - 1));
    +
    +	if (rcount < _DIRENT_MINSIZE(cdp) || count < _DIRENT_MINSIZE(ndp))
    +		return EINVAL;
    +
    +	startoff = uio->uio_offset & ~(fs->um_dirblksiz - 1);
    +	skipbytes = uio->uio_offset - startoff;
    +	rcount += skipbytes;
    +
    +	auio.uio_iov = &aiov;
    +	auio.uio_iovcnt = 1;
    +	auio.uio_offset = startoff;
    +	auio.uio_resid = rcount;
    +	UIO_SETUP_SYSSPACE(&auio);
    +	auio.uio_rw = UIO_READ;
    +	cdbufsz = rcount;
    +	cdbuf = kmem_alloc(cdbufsz, KM_SLEEP);
    +	aiov.iov_base = cdbuf;
    +	aiov.iov_len = rcount;
    +	error = VOP_READ(vp, &auio, 0, ap->a_cred);
    +	if (error != 0) {
    +		kmem_free(cdbuf, cdbufsz);
    +		return error;
    +	}
    +
    +	rcount -= auio.uio_resid;
    +
    +	cdp = (struct lfs_direct *)(void *)cdbuf;
    +	ecdp = (struct lfs_direct *)(void *)&cdbuf[rcount];
    +
    +	ndbufsz = count;
    +	ndbuf = kmem_alloc(ndbufsz, KM_SLEEP);
    +	ndp = (struct dirent *)(void *)ndbuf;
    +	endp = &ndbuf[count];
    +
    +	off = uio->uio_offset;
    +	if (ap->a_cookies) {
    +		ccount = rcount / _DIRENT_RECLEN(cdp, 1);
    +		ccp = *(ap->a_cookies) = malloc(ccount * sizeof(*ccp),
    +		    M_TEMP, M_WAITOK);
    +	} else {
    +		/* XXX: GCC */
    +		ccount = 0;
    +		ccp = NULL;
    +	}
    +
    +	while (cdp < ecdp) {
    +		cdp->d_reclen = ulfs_rw16(cdp->d_reclen, nswap);
    +		if (skipbytes > 0) {
    +			if (cdp->d_reclen <= skipbytes) {
    +				skipbytes -= cdp->d_reclen;
    +				cdp = _DIRENT_NEXT(cdp);
    +				continue;
    +			}
    +			/*
    +			 * invalid cookie.
    +			 */
    +			error = EINVAL;
    +			goto out;
    +		}
    +		if (cdp->d_reclen == 0) {
    +			struct dirent *ondp = ndp;
    +			ndp->d_reclen = _DIRENT_MINSIZE(ndp);
    +			ndp = _DIRENT_NEXT(ndp);
    +			ondp->d_reclen = 0;
    +			cdp = ecdp;
    +			break;
    +		}
    +		if (needswap) {
    +			ndp->d_type = cdp->d_namlen;
    +			ndp->d_namlen = cdp->d_type;
    +		} else {
    +			ndp->d_type = cdp->d_type;
    +			ndp->d_namlen = cdp->d_namlen;
    +		}
    +		ndp->d_reclen = _DIRENT_RECLEN(ndp, ndp->d_namlen);
    +		if ((char *)(void *)ndp + ndp->d_reclen +
    +		    _DIRENT_MINSIZE(ndp) > endp)
    +			break;
    +		ndp->d_fileno = ulfs_rw32(cdp->d_ino, nswap);
    +		(void)memcpy(ndp->d_name, cdp->d_name, ndp->d_namlen);
    +		memset(&ndp->d_name[ndp->d_namlen], 0,
    +		    ndp->d_reclen - _DIRENT_NAMEOFF(ndp) - ndp->d_namlen);
    +		off += cdp->d_reclen;
    +		if (ap->a_cookies) {
    +			KASSERT(ccp - *(ap->a_cookies) < ccount);
    +			*(ccp++) = off;
    +		}
    +		ndp = _DIRENT_NEXT(ndp);
    +		cdp = _DIRENT_NEXT(cdp);
    +	}
    +
    +	count = ((char *)(void *)ndp - ndbuf);
    +	error = uiomove(ndbuf, count, uio);
    +out:
    +	if (ap->a_cookies) {
    +		if (error) {
    +			free(*(ap->a_cookies), M_TEMP);
    +			*(ap->a_cookies) = NULL;
    +			*(ap->a_ncookies) = 0;
    +		} else {
    +			*ap->a_ncookies = ccp - *(ap->a_cookies);
    +		}
    +	}
    +	uio->uio_offset = off;
    +	kmem_free(ndbuf, ndbufsz);
    +	kmem_free(cdbuf, cdbufsz);
    +	*ap->a_eofflag = VTOI(vp)->i_size <= uio->uio_offset;
    +	return error;
    +}
    +
    +/*
    + * Return target name of a symbolic link
    + */
    +int
    +ulfs_readlink(void *v)
    +{
    +	struct vop_readlink_args /* {
    +		struct vnode	*a_vp;
    +		struct uio	*a_uio;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +	struct vnode	*vp = ap->a_vp;
    +	struct inode	*ip = VTOI(vp);
    +	struct ulfsmount *ump = VFSTOULFS(vp->v_mount);
    +	struct lfs *fs = ump->um_lfs;
    +	int		isize;
    +
    +	isize = ip->i_size;
    +	if (isize < fs->um_maxsymlinklen ||
    +	    (fs->um_maxsymlinklen == 0 && DIP(ip, blocks) == 0)) {
    +		uiomove((char *)SHORTLINK(ip), isize, ap->a_uio);
    +		return (0);
    +	}
    +	return (VOP_READ(vp, ap->a_uio, 0, ap->a_cred));
    +}
    +
    +/*
    + * Print out the contents of an inode.
    + */
    +int
    +ulfs_print(void *v)
    +{
    +	struct vop_print_args /* {
    +		struct vnode	*a_vp;
    +	} */ *ap = v;
    +	struct vnode	*vp;
    +	struct inode	*ip;
    +
    +	vp = ap->a_vp;
    +	ip = VTOI(vp);
    +	printf("tag VT_ULFS, ino %llu, on dev %llu, %llu",
    +	    (unsigned long long)ip->i_number,
    +	    (unsigned long long)major(ip->i_dev),
    +	    (unsigned long long)minor(ip->i_dev));
    +	printf(" flags 0x%x, nlink %d\n",
    +	    ip->i_flag, ip->i_nlink);
    +	printf("\tmode 0%o, owner %d, group %d, size %qd",
    +	    ip->i_mode, ip->i_uid, ip->i_gid,
    +	    (long long)ip->i_size);
    +	if (vp->v_type == VFIFO)
    +		VOCALL(fifo_vnodeop_p, VOFFSET(vop_print), v);
    +	printf("\n");
    +	return (0);
    +}
    +
    +/*
    + * Read wrapper for special devices.
    + */
    +int
    +ulfsspec_read(void *v)
    +{
    +	struct vop_read_args /* {
    +		struct vnode	*a_vp;
    +		struct uio	*a_uio;
    +		int		a_ioflag;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +
    +	/*
    +	 * Set access flag.
    +	 */
    +	if ((ap->a_vp->v_mount->mnt_flag & MNT_NODEVMTIME) == 0)
    +		VTOI(ap->a_vp)->i_flag |= IN_ACCESS;
    +	return (VOCALL (spec_vnodeop_p, VOFFSET(vop_read), ap));
    +}
    +
    +/*
    + * Write wrapper for special devices.
    + */
    +int
    +ulfsspec_write(void *v)
    +{
    +	struct vop_write_args /* {
    +		struct vnode	*a_vp;
    +		struct uio	*a_uio;
    +		int		a_ioflag;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +
    +	/*
    +	 * Set update and change flags.
    +	 */
    +	if ((ap->a_vp->v_mount->mnt_flag & MNT_NODEVMTIME) == 0)
    +		VTOI(ap->a_vp)->i_flag |= IN_MODIFY;
    +	return (VOCALL (spec_vnodeop_p, VOFFSET(vop_write), ap));
    +}
    +
    +/*
    + * Read wrapper for fifo's
    + */
    +int
    +ulfsfifo_read(void *v)
    +{
    +	struct vop_read_args /* {
    +		struct vnode	*a_vp;
    +		struct uio	*a_uio;
    +		int		a_ioflag;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +
    +	/*
    +	 * Set access flag.
    +	 */
    +	VTOI(ap->a_vp)->i_flag |= IN_ACCESS;
    +	return (VOCALL (fifo_vnodeop_p, VOFFSET(vop_read), ap));
    +}
    +
    +/*
    + * Write wrapper for fifo's.
    + */
    +int
    +ulfsfifo_write(void *v)
    +{
    +	struct vop_write_args /* {
    +		struct vnode	*a_vp;
    +		struct uio	*a_uio;
    +		int		a_ioflag;
    +		kauth_cred_t	a_cred;
    +	} */ *ap = v;
    +
    +	/*
    +	 * Set update and change flags.
    +	 */
    +	VTOI(ap->a_vp)->i_flag |= IN_MODIFY;
    +	return (VOCALL (fifo_vnodeop_p, VOFFSET(vop_write), ap));
    +}
    +
    +/*
    + * Return POSIX pathconf information applicable to ulfs filesystems.
    + */
    +int
    +ulfs_pathconf(void *v)
    +{
    +	struct vop_pathconf_args /* {
    +		struct vnode	*a_vp;
    +		int		a_name;
    +		register_t	*a_retval;
    +	} */ *ap = v;
    +
    +	switch (ap->a_name) {
    +	case _PC_LINK_MAX:
    +		*ap->a_retval = LINK_MAX;
    +		return (0);
    +	case _PC_NAME_MAX:
    +		*ap->a_retval = LFS_MAXNAMLEN;
    +		return (0);
    +	case _PC_PATH_MAX:
    +		*ap->a_retval = PATH_MAX;
    +		return (0);
    +	case _PC_PIPE_BUF:
    +		*ap->a_retval = PIPE_BUF;
    +		return (0);
    +	case _PC_CHOWN_RESTRICTED:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_NO_TRUNC:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_SYNC_IO:
    +		*ap->a_retval = 1;
    +		return (0);
    +	case _PC_FILESIZEBITS:
    +		*ap->a_retval = 42;
    +		return (0);
    +	case _PC_SYMLINK_MAX:
    +		*ap->a_retval = MAXPATHLEN;
    +		return (0);
    +	case _PC_2_SYMLINKS:
    +		*ap->a_retval = 1;
    +		return (0);
    +	default:
    +		return (EINVAL);
    +	}
    +	/* NOTREACHED */
    +}
    +
    +/*
    + * Advisory record locking support
    + */
    +int
    +ulfs_advlock(void *v)
    +{
    +	struct vop_advlock_args /* {
    +		struct vnode	*a_vp;
    +		void *		a_id;
    +		int		a_op;
    +		struct flock	*a_fl;
    +		int		a_flags;
    +	} */ *ap = v;
    +	struct inode *ip;
    +
    +	ip = VTOI(ap->a_vp);
    +	return lf_advlock(ap, &ip->i_lockf, ip->i_size);
    +}
    +
    +/*
    + * Initialize the vnode associated with a new inode, handle aliased
    + * vnodes.
    + */
    +void
    +ulfs_vinit(struct mount *mntp, int (**specops)(void *), int (**fifoops)(void *),
    +	struct vnode **vpp)
    +{
    +	struct timeval	tv;
    +	struct inode	*ip;
    +	struct vnode	*vp;
    +	dev_t		rdev;
    +	struct ulfsmount *ump;
    +
    +	vp = *vpp;
    +	ip = VTOI(vp);
    +	switch(vp->v_type = IFTOVT(ip->i_mode)) {
    +	case VCHR:
    +	case VBLK:
    +		vp->v_op = specops;
    +		ump = ip->i_ump;
    +		if (ump->um_fstype == ULFS1)
    +			rdev = (dev_t)ulfs_rw32(ip->i_ffs1_rdev,
    +			    ULFS_MPNEEDSWAP(ump->um_lfs));
    +		else
    +			rdev = (dev_t)ulfs_rw64(ip->i_ffs2_rdev,
    +			    ULFS_MPNEEDSWAP(ump->um_lfs));
    +		spec_node_init(vp, rdev);
    +		break;
    +	case VFIFO:
    +		vp->v_op = fifoops;
    +		break;
    +	case VNON:
    +	case VBAD:
    +	case VSOCK:
    +	case VLNK:
    +	case VDIR:
    +	case VREG:
    +		break;
    +	}
    +	if (ip->i_number == ULFS_ROOTINO)
    +                vp->v_vflag |= VV_ROOT;
    +	/*
    +	 * Initialize modrev times
    +	 */
    +	getmicrouptime(&tv);
    +	ip->i_modrev = (uint64_t)(uint)tv.tv_sec << 32
    +			| tv.tv_usec * 4294u;
    +	*vpp = vp;
    +}
    +
    +/*
    + * Allocate a new inode.
    + */
    +int
    +ulfs_makeinode(int mode, struct vnode *dvp, const struct ulfs_lookup_results *ulr,
    +	struct vnode **vpp, struct componentname *cnp)
    +{
    +	struct inode	*ip, *pdir;
    +	struct lfs_direct	*newdir;
    +	struct vnode	*tvp;
    +	int		error;
    +
    +	pdir = VTOI(dvp);
    +
    +	if ((mode & LFS_IFMT) == 0)
    +		mode |= LFS_IFREG;
    +
    +	if ((error = lfs_valloc(dvp, mode, cnp->cn_cred, vpp)) != 0) {
    +		vput(dvp);
    +		return (error);
    +	}
    +	tvp = *vpp;
    +	ip = VTOI(tvp);
    +	ip->i_gid = pdir->i_gid;
    +	DIP_ASSIGN(ip, gid, ip->i_gid);
    +	ip->i_uid = kauth_cred_geteuid(cnp->cn_cred);
    +	DIP_ASSIGN(ip, uid, ip->i_uid);
    +#if defined(LFS_QUOTA) || defined(LFS_QUOTA2)
    +	if ((error = lfs_chkiq(ip, 1, cnp->cn_cred, 0))) {
    +		lfs_vfree(tvp, ip->i_number, mode);
    +		vput(tvp);
    +		vput(dvp);
    +		return (error);
    +	}
    +#endif
    +	ip->i_flag |= IN_ACCESS | IN_CHANGE | IN_UPDATE;
    +	ip->i_mode = mode;
    +	DIP_ASSIGN(ip, mode, mode);
    +	tvp->v_type = IFTOVT(mode);	/* Rest init'd in getnewvnode(). */
    +	ip->i_nlink = 1;
    +	DIP_ASSIGN(ip, nlink, 1);
    +
    +	/* Authorize setting SGID if needed. */
    +	if (ip->i_mode & ISGID) {
    +		error = kauth_authorize_vnode(cnp->cn_cred, KAUTH_VNODE_WRITE_SECURITY,
    +		    tvp, NULL, genfs_can_chmod(tvp->v_type, cnp->cn_cred, ip->i_uid,
    +		    ip->i_gid, mode));
    +		if (error) {
    +			ip->i_mode &= ~ISGID;
    +			DIP_ASSIGN(ip, mode, ip->i_mode);
    +		}
    +	}
    +
    +	if (cnp->cn_flags & ISWHITEOUT) {
    +		ip->i_flags |= UF_OPAQUE;
    +		DIP_ASSIGN(ip, flags, ip->i_flags);
    +	}
    +
    +	/*
    +	 * Make sure inode goes to disk before directory entry.
    +	 */
    +	if ((error = lfs_update(tvp, NULL, NULL, UPDATE_DIROP)) != 0)
    +		goto bad;
    +	newdir = pool_cache_get(ulfs_direct_cache, PR_WAITOK);
    +	ulfs_makedirentry(ip, cnp, newdir);
    +	error = ulfs_direnter(dvp, ulr, tvp, newdir, cnp, NULL);
    +	pool_cache_put(ulfs_direct_cache, newdir);
    +	if (error)
    +		goto bad;
    +	vput(dvp);
    +	*vpp = tvp;
    +	return (0);
    +
    + bad:
    +	/*
    +	 * Write error occurred trying to update the inode
    +	 * or the directory so must deallocate the inode.
    +	 */
    +	ip->i_nlink = 0;
    +	DIP_ASSIGN(ip, nlink, 0);
    +	ip->i_flag |= IN_CHANGE;
    +	/* If IN_ADIROP, account for it */
    +	lfs_unmark_vnode(tvp);
    +	tvp->v_type = VNON;		/* explodes later if VBLK */
    +	vput(tvp);
    +	vput(dvp);
    +	return (error);
    +}
    +
    +/*
    + * Allocate len bytes at offset off.
    + */
    +int
    +ulfs_gop_alloc(struct vnode *vp, off_t off, off_t len, int flags,
    +    kauth_cred_t cred)
    +{
    +        struct inode *ip = VTOI(vp);
    +        int error, delta, bshift, bsize;
    +        UVMHIST_FUNC("ulfs_gop_alloc"); UVMHIST_CALLED(ubchist);
    +
    +        error = 0;
    +        bshift = vp->v_mount->mnt_fs_bshift;
    +        bsize = 1 << bshift;
    +
    +        delta = off & (bsize - 1);
    +        off -= delta;
    +        len += delta;
    +
    +        while (len > 0) {
    +                bsize = MIN(bsize, len);
    +
    +                error = lfs_balloc(vp, off, bsize, cred, flags, NULL);
    +                if (error) {
    +                        goto out;
    +                }
    +
    +                /*
    +                 * increase file size now, lfs_balloc() requires that
    +                 * EOF be up-to-date before each call.
    +                 */
    +
    +                if (ip->i_size < off + bsize) {
    +                        UVMHIST_LOG(ubchist, "vp %p old 0x%x new 0x%x",
    +                            vp, ip->i_size, off + bsize, 0);
    +                        ip->i_size = off + bsize;
    +			DIP_ASSIGN(ip, size, ip->i_size);
    +                }
    +
    +                off += bsize;
    +                len -= bsize;
    +        }
    +
    +out:
    +	return error;
    +}
    +
    +void
    +ulfs_gop_markupdate(struct vnode *vp, int flags)
    +{
    +	u_int32_t mask = 0;
    +
    +	if ((flags & GOP_UPDATE_ACCESSED) != 0) {
    +		mask = IN_ACCESS;
    +	}
    +	if ((flags & GOP_UPDATE_MODIFIED) != 0) {
    +		if (vp->v_type == VREG) {
    +			mask |= IN_CHANGE | IN_UPDATE;
    +		} else {
    +			mask |= IN_MODIFY;
    +		}
    +	}
    +	if (mask) {
    +		struct inode *ip = VTOI(vp);
    +
    +		ip->i_flag |= mask;
    +	}
    +}
    diff --git a/sys/ufs/lfs/ulfsmount.h b/sys/ufs/lfs/ulfsmount.h
    new file mode 100644
    index 000000000..cfa11d23b
    --- /dev/null
    +++ b/sys/ufs/lfs/ulfsmount.h
    @@ -0,0 +1,134 @@
    +/*	$NetBSD: ulfsmount.h,v 1.12 2013/07/28 01:10:49 dholland Exp $	*/
    +/*  from NetBSD: ufsmount.h,v 1.39 2012/10/19 17:09:08 drochner Exp  */
    +
    +/*
    + * Copyright (c) 1982, 1986, 1989, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)ufsmount.h	8.6 (Berkeley) 3/30/95
    + */
    +
    +#ifndef _UFS_LFS_ULFSMOUNT_H_
    +#define _UFS_LFS_ULFSMOUNT_H_
    +
    +#include  /* struct export_args30 */
    +
    +#ifdef _KERNEL
    +
    +#if defined(_KERNEL_OPT)
    +#include "opt_lfs.h"
    +#endif
    +
    +#include 
    +
    +#include 
    +#include 
    +
    +struct buf;
    +struct inode;
    +struct nameidata;
    +struct timeval;
    +struct uio;
    +struct vnode;
    +
    +/* This structure describes the ULFS specific mount structure data. */
    +struct ulfsmount {
    +	/* Abstract vfs-level filesystem structure. */
    +	struct mount *um_mountp;
    +
    +	/* The block device we're mounted on. */
    +	dev_t um_dev;
    +	struct vnode *um_devvp;
    +
    +	/* type of fs; currently always ULFS1, theoretically also ULFS2 */
    +	u_long um_fstype;
    +
    +	/* pointer to the filesystem-specific filesystem structure */
    +	struct lfs *um_lfs;
    +
    +	/* Extended attribute information. */
    +	struct ulfs_extattr_per_mount um_extattr;
    +
    +	/* Quota-related material. */
    +	struct vnode *um_quotas[ULFS_MAXQUOTAS]; /* quota files */
    +	kauth_cred_t um_cred[ULFS_MAXQUOTAS];	/* quota file access cred */
    +	union {
    +	    struct um_q1 {
    +		time_t	q1_btime[ULFS_MAXQUOTAS]; /* block quota time limit */
    +		time_t	q1_itime[ULFS_MAXQUOTAS]; /* inode quota time limit */
    +		char	q1_qflags[ULFS_MAXQUOTAS]; /* quota flags */
    +	    } um_q1;
    +	    struct um_q2 {
    +		uint64_t q2_bsize;		/* block size of quota file */
    +		uint64_t q2_bmask;		/* mask for above */
    +	    } um_q2;
    +	} um_q;
    +#define umq1_btime  um_q.um_q1.q1_btime
    +#define umq1_itime  um_q.um_q1.q1_itime
    +#define umq1_qflags um_q.um_q1.q1_qflags
    +#define umq2_bsize  um_q.um_q2.q2_bsize
    +#define umq2_bmask  um_q.um_q2.q2_bmask
    +};
    +
    +/* ULFS-specific flags for um_flags */
    +#define ULFS_NEEDSWAP	0x01	/* filesystem metadata need byte-swapping */
    +/*	unused		0x02	   */
    +#define ULFS_QUOTA	0x04	/* filesystem has QUOTA (v1) */
    +#define ULFS_QUOTA2	0x08	/* filesystem has QUOTA2 */
    +
    +/*
    + * Filesystem types
    + */
    +#define ULFS1  1
    +#define ULFS2  2
    +
    +
    +/*
    + * Flags describing the state of quotas.
    + */
    +#define	QTF_OPENING	0x01			/* Q_QUOTAON in progress */
    +#define	QTF_CLOSING	0x02			/* Q_QUOTAOFF in progress */
    +
    +/* Convert mount ptr to ulfsmount ptr. */
    +#define VFSTOULFS(mp)	((struct ulfsmount *)((mp)->mnt_data))
    +
    +/*
    + * Macros to access file system parameters (no longer) in the
    + * ulfsmount structure.
    + * Used by ulfs_bmap.
    + */
    +#define MNINDIR(lfs)			((lfs)->um_nindir)
    +#define	blkptrtodb(lfs, b)		((b) << (lfs)->um_bptrtodb)
    +
    +/*
    + * Predicate for byte-swapping support.
    + */
    +#define	FSFMT(vp)	(((vp)->v_mount->mnt_iflag & IMNT_DTYPE) == 0)
    +
    +#endif /* _KERNEL */
    +
    +#endif /* !_UFS_LFS_ULFSMOUNT_H_ */
    diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c
    index 292998dc0..5c0e2dbff 100644
    --- a/sys/ufs/mfs/mfs_vfsops.c
    +++ b/sys/ufs/mfs/mfs_vfsops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: mfs_vfsops.c,v 1.103 2011/06/12 03:36:01 rmind Exp $	*/
    +/*	$NetBSD: mfs_vfsops.c,v 1.104 2013/11/23 13:35:37 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1990, 1993, 1994
    @@ -32,7 +32,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: mfs_vfsops.c,v 1.103 2011/06/12 03:36:01 rmind Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: mfs_vfsops.c,v 1.104 2013/11/23 13:35:37 christos Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_compat_netbsd.h"
    @@ -227,9 +227,7 @@ mfs_mountroot(void)
     		kmem_free(mfsp, sizeof(*mfsp));
     		return (error);
     	}
    -	mutex_enter(&mountlist_lock);
    -	CIRCLEQ_INSERT_TAIL(&mountlist, mp, mnt_list);
    -	mutex_exit(&mountlist_lock);
    +	mountlist_append(mp);
     	mp->mnt_vnodecovered = NULLVP;
     	ump = VFSTOUFS(mp);
     	fs = ump->um_fs;
    diff --git a/sys/ufs/ufs/dinode.h b/sys/ufs/ufs/dinode.h
    index af0dabb0d..cc8c9e723 100644
    --- a/sys/ufs/ufs/dinode.h
    +++ b/sys/ufs/ufs/dinode.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dinode.h,v 1.21 2009/06/28 09:26:18 ad Exp $	*/
    +/*	$NetBSD: dinode.h,v 1.24 2013/06/09 17:55:46 dholland Exp $	*/
     
     /*
      * Copyright (c) 2002 Networks Associates Technology, Inc.
    @@ -58,15 +58,15 @@
      * the root inode is 2.  (Inode 1 is no longer used for this purpose, however
      * numerous dump tapes make this assumption, so we are stuck with it).
      */
    -#define	ROOTINO	((ino_t)2)
    +#define	UFS_ROOTINO	((ino_t)2)
     
     /*
      * The Whiteout inode# is a dummy non-zero inode number which will
      * never be allocated to a real file.  It is used as a place holder
      * in the directory entry which has been tagged as a DT_W entry.
    - * See the comments about ROOTINO above.
    + * See the comments about UFS_ROOTINO above.
      */
    -#define	WINO	((ino_t)1)
    +#define	UFS_WINO	((ino_t)1)
     
     /*
      * A dinode contains all the meta-data associated with a UFS file.
    @@ -75,17 +75,14 @@
      * are defined by types with precise widths.
      */
     
    -#define NXADDR	2
    -#define	NDADDR	12			/* Direct addresses in inode. */
    -#define	NIADDR	3			/* Indirect addresses in inode. */
    +#define UFS_NXADDR	2
    +#define	UFS_NDADDR	12		/* Direct addresses in inode. */
    +#define	UFS_NIADDR	3		/* Indirect addresses in inode. */
     
     struct ufs1_dinode {
     	u_int16_t	di_mode;	/*   0: IFMT, permissions; see below. */
     	int16_t		di_nlink;	/*   2: File link count. */
    -	union {
    -		u_int16_t oldids[2];	/*   4: Ffs: old user and group ids. */
    -		u_int32_t inumber;	/*   4: Lfs: inode number. */
    -	} di_u;
    +	u_int16_t	di_oldids[2];	/*   4: Ffs: old user and group ids. */
     	u_int64_t	di_size;	/*   8: File byte count. */
     	int32_t		di_atime;	/*  16: Last access time. */
     	int32_t		di_atimensec;	/*  20: Last access time. */
    @@ -93,8 +90,8 @@ struct ufs1_dinode {
     	int32_t		di_mtimensec;	/*  28: Last modified time. */
     	int32_t		di_ctime;	/*  32: Last inode change time. */
     	int32_t		di_ctimensec;	/*  36: Last inode change time. */
    -	int32_t		di_db[NDADDR];	/*  40: Direct disk blocks. */
    -	int32_t		di_ib[NIADDR];	/*  88: Indirect disk blocks. */
    +	int32_t		di_db[UFS_NDADDR]; /*  40: Direct disk blocks. */
    +	int32_t		di_ib[UFS_NIADDR]; /*  88: Indirect disk blocks. */
     	u_int32_t	di_flags;	/* 100: Status flags (chflags). */
     	u_int32_t	di_blocks;	/* 104: Blocks actually held. */
     	int32_t		di_gen;		/* 108: Generation number. */
    @@ -123,9 +120,9 @@ struct ufs2_dinode {
     	u_int32_t	di_kernflags;	/*  84: Kernel flags. */
     	u_int32_t	di_flags;	/*  88: Status flags (chflags). */
     	int32_t		di_extsize;	/*  92: External attributes block. */
    -	int64_t		di_extb[NXADDR];/*  96: External attributes block. */
    -	int64_t		di_db[NDADDR];	/* 112: Direct disk blocks. */
    -	int64_t		di_ib[NIADDR];	/* 208: Indirect disk blocks. */
    +	int64_t		di_extb[UFS_NXADDR];/* 96: External attributes block. */
    +	int64_t		di_db[UFS_NDADDR]; /* 112: Direct disk blocks. */
    +	int64_t		di_ib[UFS_NIADDR]; /* 208: Indirect disk blocks. */
     	u_int64_t	di_modrev;	/* 232: i_modrev for NFSv4 */
     	int64_t		di_spare[2];	/* 240: Reserved; currently unused */
     };
    @@ -137,16 +134,15 @@ struct ufs2_dinode {
      * dev_t value. Short symbolic links place their path in the
      * di_db area.
      */
    -#define	di_inumber	di_u.inumber
    -#define	di_ogid		di_u.oldids[1]
    -#define	di_ouid		di_u.oldids[0]
    +#define	di_ogid		di_oldids[1]
    +#define	di_ouid		di_oldids[0]
     #define	di_rdev		di_db[0]
    -#define MAXSYMLINKLEN_UFS1	((NDADDR + NIADDR) * sizeof(int32_t))
    -#define MAXSYMLINKLEN_UFS2	((NDADDR + NIADDR) * sizeof(int64_t))
    +#define UFS1_MAXSYMLINKLEN	((UFS_NDADDR + UFS_NIADDR) * sizeof(int32_t))
    +#define UFS2_MAXSYMLINKLEN	((UFS_NDADDR + UFS_NIADDR) * sizeof(int64_t))
     
    -#define MAXSYMLINKLEN(ip) \
    +#define UFS_MAXSYMLINKLEN(ip) \
     	((ip)->i_ump->um_fstype == UFS1) ? \
    -	MAXSYMLINKLEN_UFS1 : MAXSYMLINKLEN_UFS2
    +	UFS1_MAXSYMLINKLEN : UFS2_MAXSYMLINKLEN
     
     /* NeXT used to keep short symlinks in the inode even when using
      * FS_42INODEFMT.  In that case fs->fs_maxsymlinklen is probably -1,
    diff --git a/sys/ufs/ufs/dir.h b/sys/ufs/ufs/dir.h
    index 74cf7e739..8a9f02830 100644
    --- a/sys/ufs/ufs/dir.h
    +++ b/sys/ufs/ufs/dir.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dir.h,v 1.21 2009/07/22 04:49:19 dholland Exp $	*/
    +/*	$NetBSD: dir.h,v 1.24 2013/06/19 17:51:26 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -45,14 +45,14 @@
      * quantity to keep down the cost of doing lookup on a 32-bit machine.
      */
     #define	doff_t		int32_t
    -#define	MAXDIRSIZE	(0x7fffffff)
    +#define	UFS_MAXDIRSIZE	(0x7fffffff)
     
     /*
    - * A directory consists of some number of blocks of DIRBLKSIZ
    - * bytes, where DIRBLKSIZ is chosen such that it can be transferred
    + * A directory consists of some number of blocks of UFS_DIRBLKSIZ
    + * bytes, where UFS_DIRBLKSIZ is chosen such that it can be transferred
      * to disk in a single atomic operation (e.g. 512 bytes on most machines).
      *
    - * Each DIRBLKSIZ byte block contains some number of directory entry
    + * Each UFS_DIRBLKSIZ byte block contains some number of directory entry
      * structures, which are of variable length.  Each directory entry has
      * a struct direct at the front of it, containing its inode number,
      * the length of the entry, and the length of the name contained in
    @@ -60,9 +60,9 @@
      * All names are guaranteed null terminated.
      * The maximum length of a name in a directory is FFS_MAXNAMLEN.
      *
    - * The macro DIRSIZ(fmt, dp) gives the amount of space required to represent
    + * The macro UFS_DIRSIZ(fmt, dp) gives the amount of space required to represent
      * a directory entry.  Free space in a directory is represented by
    - * entries which have dp->d_reclen > DIRSIZ(fmt, dp).  All DIRBLKSIZ bytes
    + * entries which have dp->d_reclen > DIRSIZ(fmt, dp).  All UFS_DIRBLKSIZ bytes
      * in a directory block are claimed by the directory entries.  This
      * usually results in the last entry in a directory having a large
      * dp->d_reclen.  When entries are deleted from a directory, the
    @@ -72,8 +72,8 @@
      * Entries other than the first in a directory do not normally have
      * dp->d_ino set to 0.
      */
    -#undef	DIRBLKSIZ
    -#define	DIRBLKSIZ	DEV_BSIZE
    +#undef	UFS_DIRBLKSIZ
    +#define	UFS_DIRBLKSIZ	DEV_BSIZE
     #define	FFS_MAXNAMLEN	255
     #define APPLEUFS_DIRBLKSIZ 1024
     
    @@ -106,26 +106,26 @@ struct	direct {
     #define	DTTOIF(dirtype)	((dirtype) << 12)
     
     /*
    - * The DIRSIZ macro gives the minimum record length which will hold
    + * The UFS_DIRSIZ macro gives the minimum record length which will hold
      * the directory entry.  This requires the amount of space in struct direct
      * without the d_name field, plus enough space for the name with a terminating
      * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary.
      */
    -#define	DIRECTSIZ(namlen) \
    +#define	UFS_DIRECTSIZ(namlen) \
     	((sizeof(struct direct) - (FFS_MAXNAMLEN+1)) + (((namlen)+1 + 3) &~ 3))
     
     #if (BYTE_ORDER == LITTLE_ENDIAN)
    -#define DIRSIZ(oldfmt, dp, needswap)	\
    -    (((oldfmt) && !(needswap)) ?	\
    -    DIRECTSIZ((dp)->d_type) : DIRECTSIZ((dp)->d_namlen))
    +#define UFS_DIRSIZ(oldfmt, dp, needswap)	\
    +    (((oldfmt) && !(needswap)) ?		\
    +    UFS_DIRECTSIZ((dp)->d_type) : UFS_DIRECTSIZ((dp)->d_namlen))
     #else
    -#define DIRSIZ(oldfmt, dp, needswap)	\
    -    (((oldfmt) && (needswap)) ?		\
    -    DIRECTSIZ((dp)->d_type) : DIRECTSIZ((dp)->d_namlen))
    +#define UFS_DIRSIZ(oldfmt, dp, needswap)	\
    +    (((oldfmt) && (needswap)) ?			\
    +    UFS_DIRECTSIZ((dp)->d_type) : UFS_DIRECTSIZ((dp)->d_namlen))
     #endif
     
    -#define OLDDIRFMT	1
    -#define NEWDIRFMT	0
    +#define UFS_OLDDIRFMT	1
    +#define UFS_NEWDIRFMT	0
     
     /*
      * Template for manipulating directories.  Should use struct direct's,
    @@ -145,7 +145,7 @@ struct dirtemplate {
     };
     
     /*
    - * This is the old format of directories, sanz type element.
    + * This is the old format of directories, sans type element.
      */
     struct odirtemplate {
     	u_int32_t	dot_ino;
    diff --git a/sys/ufs/ufs/dirhash.h b/sys/ufs/ufs/dirhash.h
    index 914eeca8d..b13302648 100644
    --- a/sys/ufs/ufs/dirhash.h
    +++ b/sys/ufs/ufs/dirhash.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dirhash.h,v 1.6 2008/06/04 11:33:19 ad Exp $	*/
    +/*	$NetBSD: dirhash.h,v 1.7 2013/06/09 17:57:09 dholland Exp $	*/
     
     /*
      * Copyright (c) 2001 Ian Dowse.  All rights reserved.
    @@ -47,7 +47,7 @@
     #define DIRHASH_DEL	(-2)	/* deleted entry; may be part of chain */
     
     #define DIRALIGN	4
    -#define DH_NFSTATS	(DIRECTSIZ(FFS_MAXNAMLEN + 1) / DIRALIGN)
    +#define DH_NFSTATS	(UFS_DIRECTSIZ(FFS_MAXNAMLEN + 1) / DIRALIGN)
     				 /* max DIRALIGN words in a directory entry */
     
     /*
    diff --git a/sys/ufs/ufs/inode.h b/sys/ufs/ufs/inode.h
    index a904ef97b..21696c2f9 100644
    --- a/sys/ufs/ufs/inode.h
    +++ b/sys/ufs/ufs/inode.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: inode.h,v 1.58 2011/07/12 02:22:13 dholland Exp $	*/
    +/*	$NetBSD: inode.h,v 1.65 2013/06/09 17:55:46 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1989, 1993
    @@ -50,6 +50,9 @@
      * Lookup result state (other than the result inode). This is
      * currently stashed in the vnode between VOP_LOOKUP and directory
      * operation VOPs, which is gross.
    + *
    + * XXX ulr_diroff is a lookup hint from the previos call of VOP_LOOKUP.
    + * probably it should not be here.
      */
     struct ufs_lookup_results {
     	int32_t	  ulr_count;	/* Size of free slot in directory. */
    @@ -179,8 +182,8 @@ struct inode {
     #define	i_ffs1_rdev		i_din.ffs1_din->di_rdev
     #define	i_ffs1_size		i_din.ffs1_din->di_size
     #define	i_ffs1_uid		i_din.ffs1_din->di_uid
    -#define	i_ffs1_ouid		i_din.ffs1_din->di_u.oldids[0]
    -#define	i_ffs1_ogid		i_din.ffs1_din->di_u.oldids[1]
    +#define	i_ffs1_ouid		i_din.ffs1_din->di_oldids[0]
    +#define	i_ffs1_ogid		i_din.ffs1_din->di_oldids[1]
     
     #define	i_ffs2_atime		i_din.ffs2_din->di_atime
     #define	i_ffs2_atimensec	i_din.ffs2_din->di_atimensec
    @@ -217,14 +220,15 @@ struct inode {
     #define	i_e2fs_nlink		i_din.e2fs_din->e2di_nlink
     #define	i_e2fs_nblock		i_din.e2fs_din->e2di_nblock
     #define	i_e2fs_flags		i_din.e2fs_din->e2di_flags
    +#define	i_e2fs_version		i_din.e2fs_din->e2di_version
     #define	i_e2fs_blocks		i_din.e2fs_din->e2di_blocks
    +#define	i_e2fs_rdev		i_din.e2fs_din->e2di_rdev
     #define	i_e2fs_gen		i_din.e2fs_din->e2di_gen
     #define	i_e2fs_facl		i_din.e2fs_din->e2di_facl
     #define	i_e2fs_dacl		i_din.e2fs_din->e2di_dacl
     #define	i_e2fs_faddr		i_din.e2fs_din->e2di_faddr
    -#define	i_e2fs_nfrag		i_din.e2fs_din->e2di_nfrag
    -#define	i_e2fs_fsize		i_din.e2fs_din->e2di_fsize
    -#define	i_e2fs_rdev		i_din.e2fs_din->e2di_rdev
    +#define	i_e2fs_nblock_high	i_din.e2fs_din->e2di_nblock_high
    +#define	i_e2fs_facl_high	i_din.e2fs_din->e2di_facl_high
     #define	i_e2fs_uid_high		i_din.e2fs_din->e2di_uid_high
     #define	i_e2fs_gid_high		i_din.e2fs_din->e2di_gid_high
     
    @@ -235,14 +239,14 @@ struct inode {
     #define	IN_MODIFY	0x2000		/* Modification time update request. */
     #define	IN_MODIFIED	0x0008		/* Inode has been modified. */
     #define	IN_ACCESSED	0x0010		/* Inode has been accessed. */
    -#define	IN_RENAME	0x0020		/* Inode is being renamed. */
    +/* #define	IN_UNUSED	0x0020 */	/* unused, was IN_RENAME */
     #define	IN_SHLOCK	0x0040		/* File has shared lock. */
     #define	IN_EXLOCK	0x0080		/* File has exclusive lock. */
     #define	IN_CLEANING	0x0100		/* LFS: file is being cleaned */
     #define	IN_ADIROP	0x0200		/* LFS: dirop in progress */
     #define	IN_SPACECOUNTED	0x0400		/* Blocks to be freed in free count. */
     #define	IN_PAGING       0x1000		/* LFS: file is on paging queue */
    -
    +#define IN_CDIROP       0x4000          /* LFS: dirop completed pending i/o */
     #if defined(_KERNEL)
     
     /*
    diff --git a/sys/ufs/ufs/quota.h b/sys/ufs/ufs/quota.h
    index 58b14528d..534f5f3ba 100644
    --- a/sys/ufs/ufs/quota.h
    +++ b/sys/ufs/ufs/quota.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: quota.h,v 1.28 2011/03/25 10:25:17 bouyer Exp $	*/
    +/*	$NetBSD: quota.h,v 1.30 2012/08/26 02:32:14 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1993
    @@ -53,16 +53,24 @@
     #define	USRQUOTA	0	/* element used for user quotas */
     #define	GRPQUOTA	1	/* element used for group quotas */
     
    +/*
    + * Initializer for the strings corresponding to the quota ID types.
    + * (in quota1 these are also the default names of the quota files)
    + */
    +#define INITQFNAMES { \
    +	"user",		/* USRQUOTA */ \
    +	"group",	/* GRPQUOTA */ \
    +}
     
     #if !defined(HAVE_NBTOOL_CONFIG_H)
    -#include 
    +#include 
     __inline static int __unused
    -ufsclass2qtype(int class)
    +quota_idtype_to_ufs(int idtype)
     {
    -	switch(class) {
    -	case QUOTA_CLASS_USER:
    +	switch (idtype) {
    +	case QUOTA_IDTYPE_USER:
     		return USRQUOTA;
    -	case QUOTA_CLASS_GROUP:
    +	case QUOTA_IDTYPE_GROUP:
     		return GRPQUOTA;
     	default:
     		return -1;
    @@ -70,13 +78,13 @@ ufsclass2qtype(int class)
     }
     
     static __inline int __unused
    -qtype2ufsclass(int type)
    +quota_idtype_from_ufs(int ufstype)
     {
    -	switch(type) {
    +	switch (ufstype) {
     	case USRQUOTA:
    -		return QUOTA_CLASS_USER;
    +		return QUOTA_IDTYPE_USER;
     	case GRPQUOTA:
    -		return QUOTA_CLASS_GROUP;
    +		return QUOTA_IDTYPE_GROUP;
     	default:
     		return -1;
     	}
    diff --git a/sys/ufs/ufs/quota1.h b/sys/ufs/ufs/quota1.h
    index 3fdf13777..250df09f6 100644
    --- a/sys/ufs/ufs/quota1.h
    +++ b/sys/ufs/ufs/quota1.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: quota1.h,v 1.5 2011/11/25 16:55:05 dholland Exp $	*/
    +/*	$NetBSD: quota1.h,v 1.7 2012/08/26 02:32:14 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1993
    @@ -46,14 +46,6 @@
      * and friends
      */
     
    -/*
    - * Definitions for the default names of the quotas files/quota types.
    - */
    -#define INITQFNAMES { \
    -	"user",		/* USRQUOTA */ \
    -	"group",	/* GRPQUOTA */ \
    -}
    -
     /*
      * Definitions for disk quotas imposed on the average user
      * (big brother finally hits UNIX).
    @@ -104,8 +96,9 @@ struct dqblk {
     };
     
     /* quota1_subr.c */
    -struct quota2_entry;
    -void dqblk_to_quotaval(const struct dqblk *, struct quotaval *);
    -void quotaval_to_dqblk(const struct quotaval *, struct dqblk *);
    +void dqblk_to_quotavals(const struct dqblk *,
    +			struct quotaval *, struct quotaval *);
    +void quotavals_to_dqblk(const struct quotaval *, const struct quotaval *,
    +			struct dqblk *);
     
     #endif /* !_UFS_UFS_QUOTA1_H_ */
    diff --git a/sys/ufs/ufs/quota1_subr.c b/sys/ufs/ufs/quota1_subr.c
    index ff6a06c92..139d38449 100644
    --- a/sys/ufs/ufs/quota1_subr.c
    +++ b/sys/ufs/ufs/quota1_subr.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: quota1_subr.c,v 1.6 2011/11/25 16:55:05 dholland Exp $ */
    +/* $NetBSD: quota1_subr.c,v 1.7 2012/01/29 06:23:20 dholland Exp $ */
     /*-
       * Copyright (c) 2010 Manuel Bouyer
       * All rights reserved.
    @@ -26,13 +26,12 @@
       */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: quota1_subr.c,v 1.6 2011/11/25 16:55:05 dholland Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: quota1_subr.c,v 1.7 2012/01/29 06:23:20 dholland Exp $");
     
     #include 
     #include 
     
     #include 
    -#include 
     #include 
     
     static uint64_t
    @@ -54,42 +53,36 @@ q2e2dqblk_limit(uint64_t lim)
     }
     
     void
    -dqblk_to_quotaval(const struct dqblk *dqblk, struct quotaval *qv)
    +dqblk_to_quotavals(const struct dqblk *dqblk,
    +		   struct quotaval *blocks, struct quotaval *files)
     {
     	/* XXX is qv_grace getting handled correctly? */
     
    -	qv[QUOTA_LIMIT_BLOCK].qv_hardlimit =
    -	    dqblk2q2e_limit(dqblk->dqb_bhardlimit);
    -	qv[QUOTA_LIMIT_BLOCK].qv_softlimit =
    -	    dqblk2q2e_limit(dqblk->dqb_bsoftlimit);
    -	qv[QUOTA_LIMIT_BLOCK].qv_usage       = dqblk->dqb_curblocks;
    -	qv[QUOTA_LIMIT_BLOCK].qv_expiretime      = dqblk->dqb_btime;
    +	blocks->qv_hardlimit  = dqblk2q2e_limit(dqblk->dqb_bhardlimit);
    +	blocks->qv_softlimit  = dqblk2q2e_limit(dqblk->dqb_bsoftlimit);
    +	blocks->qv_usage      = dqblk->dqb_curblocks;
    +	blocks->qv_expiretime = dqblk->dqb_btime;
     
    -	qv[QUOTA_LIMIT_FILE].qv_hardlimit =
    -	    dqblk2q2e_limit(dqblk->dqb_ihardlimit);
    -	qv[QUOTA_LIMIT_FILE].qv_softlimit =
    -	    dqblk2q2e_limit(dqblk->dqb_isoftlimit);
    -	qv[QUOTA_LIMIT_FILE].qv_usage       = dqblk->dqb_curinodes;
    -	qv[QUOTA_LIMIT_FILE].qv_expiretime      = dqblk->dqb_itime;
    +	files->qv_hardlimit  = dqblk2q2e_limit(dqblk->dqb_ihardlimit);
    +	files->qv_softlimit  = dqblk2q2e_limit(dqblk->dqb_isoftlimit);
    +	files->qv_usage      = dqblk->dqb_curinodes;
    +	files->qv_expiretime = dqblk->dqb_itime;
     }
     
     void
    -quotaval_to_dqblk(const struct quotaval *qv, struct dqblk *dqblk)
    +quotavals_to_dqblk(const struct quotaval *blocks, const struct quotaval *files,
    +		   struct dqblk *dqblk)
     {
     	/* XXX is qv_grace getting handled correctly? */
     
    -	dqblk->dqb_bhardlimit =
    -	    q2e2dqblk_limit(qv[QUOTA_LIMIT_BLOCK].qv_hardlimit);
    -	dqblk->dqb_bsoftlimit =
    -	    q2e2dqblk_limit(qv[QUOTA_LIMIT_BLOCK].qv_softlimit);
    -	dqblk->dqb_curblocks  = qv[QUOTA_LIMIT_BLOCK].qv_usage;
    -	dqblk->dqb_btime      = qv[QUOTA_LIMIT_BLOCK].qv_expiretime;
    +	dqblk->dqb_bhardlimit = q2e2dqblk_limit(blocks->qv_hardlimit);
    +	dqblk->dqb_bsoftlimit = q2e2dqblk_limit(blocks->qv_softlimit);
    +	dqblk->dqb_curblocks  = blocks->qv_usage;
    +	dqblk->dqb_btime      = blocks->qv_expiretime;
     
    -	dqblk->dqb_ihardlimit =
    -	    q2e2dqblk_limit(qv[QUOTA_LIMIT_FILE].qv_hardlimit);
    -	dqblk->dqb_isoftlimit =
    -	    q2e2dqblk_limit(qv[QUOTA_LIMIT_FILE].qv_softlimit);
    -	dqblk->dqb_curinodes  = qv[QUOTA_LIMIT_FILE].qv_usage;
    -	dqblk->dqb_itime      = qv[QUOTA_LIMIT_FILE].qv_expiretime;
    +	dqblk->dqb_ihardlimit = q2e2dqblk_limit(files->qv_hardlimit);
    +	dqblk->dqb_isoftlimit = q2e2dqblk_limit(files->qv_softlimit);
    +	dqblk->dqb_curinodes  = files->qv_usage;
    +	dqblk->dqb_itime      = files->qv_expiretime;
     }
     
    diff --git a/sys/ufs/ufs/quota2.h b/sys/ufs/ufs/quota2.h
    index f2456a201..999547b5f 100644
    --- a/sys/ufs/ufs/quota2.h
    +++ b/sys/ufs/ufs/quota2.h
    @@ -1,4 +1,4 @@
    -/* $NetBSD: quota2.h,v 1.5 2011/06/07 14:56:13 bouyer Exp $ */
    +/* $NetBSD: quota2.h,v 1.9 2012/02/05 14:19:04 dholland Exp $ */
     /*-
       * Copyright (c) 2010 Manuel Bouyer
       * All rights reserved.
    @@ -28,7 +28,6 @@
     #ifndef _UFS_UFS_QUOTA2_H_
     #define _UFS_UFS_QUOTA2_H_
     #include 
    -#include 
     
     
     /* New disk quota implementation. In this implementation, the quota datas
    @@ -55,23 +54,6 @@ struct quota2_val {
     	int64_t q2v_grace; /* allowed time for softlimit overflow */
     };
     
    -/* NAMES for the above in the plist */
    -#define INITQVNAMES_ALL { \
    -    QUOTADICT_LIMIT_HARD, \
    -    QUOTADICT_LIMIT_SOFT, \
    -    QUOTADICT_LIMIT_USAGE, \
    -    QUOTADICT_LIMIT_ETIME, \
    -    QUOTADICT_LIMIT_GTIME \
    -    }
    -#define INITQVNAMES_LIMITSONLY { \
    -    QUOTADICT_LIMIT_HARD, \
    -    QUOTADICT_LIMIT_SOFT, \
    -    NULL, \
    -    NULL, \
    -    QUOTADICT_LIMIT_GTIME \
    -    }
    -
    -#define N_QV 5
     /*
      * On-disk description of a user or group quota
      * These entries are keept as linked list, either in one of the hash HEAD,
    @@ -81,7 +63,10 @@ struct quota2_val {
     #define N_QL 2
     #define QL_BLOCK 0
     #define QL_FILE 1
    -#define INITQLNAMES {QUOTADICT_LTYPE_BLOCK, QUOTADICT_LTYPE_FILE}
    +#define INITQLNAMES { \
    +	[QL_BLOCK] = "block",	\
    +	[QL_FILE] =  "file",	\
    +}
     
     struct quota2_entry {
     	/* block & inode limits and status */
    @@ -122,10 +107,21 @@ void quota2_create_blk0(uint64_t, void *bp, int, int, int);
     void quota2_ufs_rwq2v(const struct quota2_val *, struct quota2_val *, int);
     void quota2_ufs_rwq2e(const struct quota2_entry *, struct quota2_entry *, int);
     
    -__inline static int __unused
    -quota2_check_limit(struct quota2_val *q2v, uint64_t change, time_t now)
    -{
    -	return quota_check_limit(q2v->q2v_cur, change, q2v->q2v_softlimit,
    -	    q2v->q2v_hardlimit, q2v->q2v_time, now);
    -}
    +/*
    + * Return codes for quota_check_limit()
    + */
    +
    +#define QL_S_ALLOW_OK	0x00 /* below soft limit */
    +#define QL_S_ALLOW_SOFT	0x01 /* over soft limit */
    +#define QL_S_DENY_GRACE	0x02 /* over soft limit, grace time expired */
    +#define QL_S_DENY_HARD	0x03 /* over hard limit */
    + 
    +#define QL_F_CROSS	0x80 /* crossing soft limit */
    +
    +#define QL_STATUS(x)	((x) & 0x0f)
    +#define QL_FLAGS(x)	((x) & 0xf0)
    +
    +/* check a quota usage against limits (assumes UFS semantic) */
    +int quota_check_limit(uint64_t, uint64_t,  uint64_t, uint64_t, time_t, time_t);
    +
     #endif /*  _UFS_UFS_QUOTA2_H_ */
    diff --git a/sys/ufs/ufs/quota2_subr.c b/sys/ufs/ufs/quota2_subr.c
    index f91007f1b..a889589e7 100644
    --- a/sys/ufs/ufs/quota2_subr.c
    +++ b/sys/ufs/ufs/quota2_subr.c
    @@ -1,6 +1,6 @@
    -/* $NetBSD: quota2_subr.c,v 1.4 2011/06/07 14:56:13 bouyer Exp $ */
    +/* $NetBSD: quota2_subr.c,v 1.5 2012/02/05 14:19:04 dholland Exp $ */
     /*-
    -  * Copyright (c) 2010 Manuel Bouyer
    +  * Copyright (c) 2010, 2011 Manuel Bouyer
       * All rights reserved.
       *
       * Redistribution and use in source and binary forms, with or without
    @@ -26,7 +26,7 @@
       */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: quota2_subr.c,v 1.4 2011/06/07 14:56:13 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: quota2_subr.c,v 1.5 2012/02/05 14:19:04 dholland Exp $");
     
     #include 
     #include 
    @@ -106,3 +106,22 @@ int needswap)
     	    needswap);
     	d->q2e_uid = ufs_rw32(s->q2e_uid, needswap);
     }
    +
    +int
    +quota_check_limit(uint64_t cur, uint64_t change, uint64_t soft, uint64_t hard,
    +    time_t expire, time_t now)
    +{ 
    +	if (cur + change > hard) {
    +		if (cur <= soft)
    +			return (QL_F_CROSS | QL_S_DENY_HARD);
    +		return QL_S_DENY_HARD;
    +	} else if (cur + change > soft) {
    +		if (cur <= soft)
    +			return (QL_F_CROSS | QL_S_ALLOW_SOFT);
    +		if (now > expire) {
    +			return QL_S_DENY_GRACE;
    +		}
    +		return QL_S_ALLOW_SOFT;
    +	}
    +	return QL_S_ALLOW_OK;
    +} 
    diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c
    index 3420e227a..a19f654bf 100644
    --- a/sys/ufs/ufs/ufs_bmap.c
    +++ b/sys/ufs/ufs/ufs_bmap.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_bmap.c,v 1.49 2011/03/06 17:08:39 bouyer Exp $	*/
    +/*	$NetBSD: ufs_bmap.c,v 1.50 2013/01/22 09:39:18 dholland Exp $	*/
     
     /*
      * Copyright (c) 1989, 1991, 1993
    @@ -37,7 +37,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_bmap.c,v 1.49 2011/03/06 17:08:39 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_bmap.c,v 1.50 2013/01/22 09:39:18 dholland Exp $");
     
     #include 
     #include 
    @@ -122,7 +122,7 @@ ufs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     	struct buf *bp, *cbp;
     	struct ufsmount *ump;
     	struct mount *mp;
    -	struct indir a[NIADDR + 1], *xap;
    +	struct indir a[UFS_NIADDR + 1], *xap;
     	daddr_t daddr;
     	daddr_t metalbn;
     	int error, maxrun = 0, num;
    @@ -146,7 +146,7 @@ ufs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     		maxrun = MAXPHYS / mp->mnt_stat.f_iosize - 1;
     	}
     
    -	if (bn >= 0 && bn < NDADDR) {
    +	if (bn >= 0 && bn < UFS_NDADDR) {
     		if (nump != NULL)
     			*nump = 0;
     		if (ump->um_fstype == UFS1)
    @@ -177,7 +177,7 @@ ufs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     			}
     		} else if (runp) {
     			if (ump->um_fstype == UFS1) {
    -				for (++bn; bn < NDADDR && *runp < maxrun &&
    +				for (++bn; bn < UFS_NDADDR && *runp < maxrun &&
     				    is_sequential(ump,
     				        ufs_rw32(ip->i_ffs1_db[bn - 1],
     				            UFS_MPNEEDSWAP(ump)),
    @@ -185,7 +185,7 @@ ufs_bmaparray(struct vnode *vp, daddr_t bn, daddr_t *bnp, struct indir *ap,
     				            UFS_MPNEEDSWAP(ump)));
     				    ++bn, ++*runp);
     			} else {
    -				for (++bn; bn < NDADDR && *runp < maxrun &&
    +				for (++bn; bn < UFS_NDADDR && *runp < maxrun &&
     				    is_sequential(ump,
     				        ufs_rw64(ip->i_ffs2_db[bn - 1],
     				            UFS_MPNEEDSWAP(ump)),
    @@ -349,17 +349,17 @@ ufs_getlbns(struct vnode *vp, daddr_t bn, struct indir *ap, int *nump)
     	realbn = bn;
     	if (bn < 0)
     		bn = -bn;
    -	KASSERT(bn >= NDADDR);
    +	KASSERT(bn >= UFS_NDADDR);
     
     	/*
     	 * Determine the number of levels of indirection.  After this loop
     	 * is done, blockcnt indicates the number of data blocks possible
    -	 * at the given level of indirection, and NIADDR - i is the number
    +	 * at the given level of indirection, and UFS_NIADDR - i is the number
     	 * of levels of indirection needed to locate the requested block.
     	 */
     
    -	bn -= NDADDR;
    -	for (lbc = 0, i = NIADDR;; i--, bn -= blockcnt) {
    +	bn -= UFS_NDADDR;
    +	for (lbc = 0, i = UFS_NIADDR;; i--, bn -= blockcnt) {
     		if (i == 0)
     			return (EFBIG);
     
    @@ -371,7 +371,7 @@ ufs_getlbns(struct vnode *vp, daddr_t bn, struct indir *ap, int *nump)
     	}
     
     	/* Calculate the address of the first meta-block. */
    -	metalbn = -((realbn >= 0 ? realbn : -realbn) - bn + NIADDR - i);
    +	metalbn = -((realbn >= 0 ? realbn : -realbn) - bn + UFS_NIADDR - i);
     
     	/*
     	 * At each iteration, off is the offset into the bap array which is
    @@ -380,10 +380,10 @@ ufs_getlbns(struct vnode *vp, daddr_t bn, struct indir *ap, int *nump)
     	 * into the argument array.
     	 */
     	ap->in_lbn = metalbn;
    -	ap->in_off = off = NIADDR - i;
    +	ap->in_off = off = UFS_NIADDR - i;
     	ap->in_exists = 0;
     	ap++;
    -	for (++numlevels; i <= NIADDR; i++) {
    +	for (++numlevels; i <= UFS_NIADDR; i++) {
     		/* If searching for a meta-data block, quit when found. */
     		if (metalbn == realbn)
     			break;
    diff --git a/sys/ufs/ufs/ufs_bswap.h b/sys/ufs/ufs/ufs_bswap.h
    index c793e55f8..9e7527819 100644
    --- a/sys/ufs/ufs/ufs_bswap.h
    +++ b/sys/ufs/ufs/ufs_bswap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_bswap.h,v 1.19 2009/10/19 18:41:17 bouyer Exp $	*/
    +/*	$NetBSD: ufs_bswap.h,v 1.20 2013/10/19 20:12:18 mrg Exp $	*/
     
     /*
      * Copyright (c) 1998 Manuel Bouyer.
    @@ -65,9 +65,23 @@ ufs_rw64(uint64_t a, int ns)
     	return ((ns) ? bswap64(a) : (a));
     }
     #else
    -#define ufs_rw16(a, ns) ((uint16_t)(a))
    -#define ufs_rw32(a, ns) ((uint32_t)(a))
    -#define ufs_rw64(a, ns) ((uint64_t)(a))
    +static inline u_int16_t
    +ufs_rw16(uint16_t a, int ns)
    +{
    +	return a;
    +}
    +
    +static inline u_int32_t
    +ufs_rw32(uint32_t a, int ns)
    +{
    +	return a;
    +}
    +
    +static inline u_int64_t
    +ufs_rw64(uint64_t a, int ns)
    +{
    +	return a;
    +}
     #endif
     
     #define ufs_add16(a, b, ns) \
    diff --git a/sys/ufs/ufs/ufs_dirhash.c b/sys/ufs/ufs/ufs_dirhash.c
    index e893a93f0..f0a6a1490 100644
    --- a/sys/ufs/ufs/ufs_dirhash.c
    +++ b/sys/ufs/ufs/ufs_dirhash.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_dirhash.c,v 1.34 2009/10/05 23:48:08 rmind Exp $	*/
    +/*	$NetBSD: ufs_dirhash.c,v 1.35 2013/06/09 17:57:09 dholland Exp $	*/
     
     /*
      * Copyright (c) 2001, 2002 Ian Dowse.  All rights reserved.
    @@ -28,7 +28,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_dirhash.c,v 1.34 2009/10/05 23:48:08 rmind Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_dirhash.c,v 1.35 2013/06/09 17:57:09 dholland Exp $");
     
     /*
      * This implements a hash-based lookup scheme for UFS directories.
    @@ -146,7 +146,7 @@ ufsdirhash_build(struct inode *ip)
     	vp = ip->i_vnode;
     	/* Allocate 50% more entries than this dir size could ever need. */
     	KASSERT(ip->i_size >= dirblksiz);
    -	nslots = ip->i_size / DIRECTSIZ(1);
    +	nslots = ip->i_size / UFS_DIRECTSIZ(1);
     	nslots = (nslots * 3 + 1) / 2;
     	narrays = howmany(nslots, DH_NBLKOFF);
     	nslots = narrays * DH_NBLKOFF;
    @@ -239,7 +239,7 @@ ufsdirhash_build(struct inode *ip)
     				slot = WRAPINCR(slot, dh->dh_hlen);
     			dh->dh_hused++;
     			DH_ENTRY(dh, slot) = pos;
    -			ufsdirhash_adjfree(dh, pos, -DIRSIZ(0, ep, needswap),
    +			ufsdirhash_adjfree(dh, pos, -UFS_DIRSIZ(0, ep, needswap),
     			    dirblksiz);
     		}
     		pos += ep->d_reclen;
    @@ -316,7 +316,7 @@ ufsdirhash_free(struct inode *ip)
      * If successful, the directory offset is stored in *offp, and a
      * pointer to a struct buf containing the entry is stored in *bpp. If
      * prevoffp is non-NULL, the offset of the previous entry within
    - * the DIRBLKSIZ-sized block is stored in *prevoffp (if the entry
    + * the UFS_DIRBLKSIZ-sized block is stored in *prevoffp (if the entry
      * is the first in a block, the start of the block is used).
      */
     int
    @@ -448,7 +448,7 @@ restart:
     			/* Check for sequential access, and update offset. */
     			if (dh->dh_seqopt == 0 && dh->dh_seqoff == offset)
     				dh->dh_seqopt = 1;
    -			dh->dh_seqoff = offset + DIRSIZ(0, dp, needswap);
    +			dh->dh_seqoff = offset + UFS_DIRSIZ(0, dp, needswap);
     			DIRHASH_UNLOCK(dh);
     
     			*bpp = bp;
    @@ -483,7 +483,7 @@ restart:
      * the offset of the directory entry that begins the free space.
      * This will either be the offset of an existing entry that has free
      * space at the end, or the offset of an entry with d_ino == 0 at
    - * the start of a DIRBLKSIZ block.
    + * the start of a UFS_DIRBLKSIZ block.
      *
      * To use the space, the caller may need to compact existing entries in
      * the directory. The total number of bytes in all of the entries involved
    @@ -540,7 +540,7 @@ ufsdirhash_findfree(struct inode *ip, int slotneeded, int *slotsize)
     			brelse(bp, 0);
     			return (-1);
     		}
    -		if (dp->d_ino == 0 || dp->d_reclen > DIRSIZ(0, dp, needswap))
    +		if (dp->d_ino == 0 || dp->d_reclen > UFS_DIRSIZ(0, dp, needswap))
     			break;
     		i += dp->d_reclen;
     		dp = (struct direct *)((char *)dp + dp->d_reclen);
    @@ -557,7 +557,7 @@ ufsdirhash_findfree(struct inode *ip, int slotneeded, int *slotsize)
     	while (i < dirblksiz && freebytes < slotneeded) {
     		freebytes += dp->d_reclen;
     		if (dp->d_ino != 0)
    -			freebytes -= DIRSIZ(0, dp, needswap);
    +			freebytes -= UFS_DIRSIZ(0, dp, needswap);
     		if (dp->d_reclen == 0) {
     			DIRHASH_UNLOCK(dh);
     			brelse(bp, 0);
    @@ -655,7 +655,7 @@ ufsdirhash_add(struct inode *ip, struct direct *dirp, doff_t offset)
     	DH_ENTRY(dh, slot) = offset;
     
     	/* Update the per-block summary info. */
    -	ufsdirhash_adjfree(dh, offset, -DIRSIZ(0, dirp, needswap), dirblksiz);
    +	ufsdirhash_adjfree(dh, offset, -UFS_DIRSIZ(0, dirp, needswap), dirblksiz);
     	DIRHASH_UNLOCK(dh);
     }
     
    @@ -690,7 +690,7 @@ ufsdirhash_remove(struct inode *ip, struct direct *dirp, doff_t offset)
     	ufsdirhash_delslot(dh, slot);
     
     	/* Update the per-block summary info. */
    -	ufsdirhash_adjfree(dh, offset, DIRSIZ(0, dirp, needswap), dirblksiz);
    +	ufsdirhash_adjfree(dh, offset, UFS_DIRSIZ(0, dirp, needswap), dirblksiz);
     	DIRHASH_UNLOCK(dh);
     }
     
    @@ -724,7 +724,7 @@ ufsdirhash_move(struct inode *ip, struct direct *dirp, doff_t oldoff,
     
     /*
      * Inform dirhash that the directory has grown by one block that
    - * begins at offset (i.e. the new length is offset + DIRBLKSIZ).
    + * begins at offset (i.e. the new length is offset + UFS_DIRBLKSIZ).
      */
     void
     ufsdirhash_newblk(struct inode *ip, doff_t offset)
    @@ -868,7 +868,7 @@ ufsdirhash_checkblock(struct inode *ip, char *sbuf, doff_t offset)
     		/* Check that the entry	exists (will panic if it doesn't). */
     		ufsdirhash_findslot(dh, dp->d_name, dp->d_namlen, offset + i);
     
    -		nfree += dp->d_reclen - DIRSIZ(0, dp, needswap);
    +		nfree += dp->d_reclen - UFS_DIRSIZ(0, dp, needswap);
     	}
     	if (i != dirblksiz)
     		panic("ufsdirhash_checkblock: bad dir end");
    @@ -1000,7 +1000,7 @@ ufsdirhash_delslot(struct dirhash *dh, int slot)
     
     /*
      * Given a directory entry and its offset, find the offset of the
    - * previous entry in the same DIRBLKSIZ-sized block. Returns an
    + * previous entry in the same UFS_DIRBLKSIZ-sized block. Returns an
      * offset, or -1 if there is no previous entry in the block or some
      * other problem occurred.
      */
    diff --git a/sys/ufs/ufs/ufs_extattr.c b/sys/ufs/ufs/ufs_extattr.c
    index 8b456b858..b11df5a09 100644
    --- a/sys/ufs/ufs/ufs_extattr.c
    +++ b/sys/ufs/ufs/ufs_extattr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_extattr.c,v 1.35 2011/07/07 14:56:45 manu Exp $	*/
    +/*	$NetBSD: ufs_extattr.c,v 1.42 2013/06/09 17:57:09 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1999-2002 Robert N. M. Watson
    @@ -48,7 +48,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_extattr.c,v 1.35 2011/07/07 14:56:45 manu Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_extattr.c,v 1.42 2013/06/09 17:57:09 dholland Exp $");
     
     #ifdef _KERNEL_OPT
     #include "opt_ffs.h"
    @@ -60,7 +60,7 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_extattr.c,v 1.35 2011/07/07 14:56:45 manu Exp $"
     #include 
     #include 
     #include 
    -#include 
    +#include 
     #include 
     #include 
     #include 
    @@ -77,8 +77,6 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_extattr.c,v 1.35 2011/07/07 14:56:45 manu Exp $"
     #include 
     #include 
     
    -static MALLOC_JUSTDEFINE(M_UFS_EXTATTR, "ufs_extattr","ufs extended attribute");
    -
     int ufs_extattr_sync = 1;
     int ufs_extattr_autocreate = 1024;
     
    @@ -109,6 +107,58 @@ static int	ufs_extattr_get_header(struct vnode *,
     		    struct ufs_extattr_list_entry *, 
     		    struct ufs_extattr_header *, off_t *);
     
    +/*
    + * Convert a FreeBSD extended attribute and namespace to a consistent string
    + * representation.
    + *
    + * The returned value, if not NULL, is guaranteed to be an allocated object
    + * of its size as returned by strlen() + 1 and must be freed by the caller.
    + */
    +static char *
    +from_freebsd_extattr(int attrnamespace, const char *attrname)
    +{
    +	const char *namespace;
    +	char *attr;
    +	size_t len;
    +
    +	if (attrnamespace == EXTATTR_NAMESPACE_SYSTEM)
    +		namespace = "system";
    +	else if (attrnamespace == EXTATTR_NAMESPACE_USER)
    +		namespace = "user";
    +	else
    +		return NULL;
    +
    +	/* .\0 */
    +	len = strlen(namespace) + 1 + strlen(attrname) + 1;
    +
    +	attr = kmem_alloc(len, KM_SLEEP);
    +
    +	snprintf(attr, len, "%s.%s", namespace, attrname);
    +
    +	return attr;
    +}
    +
    +/*
    + * Internal wrapper around a conversion-check-free sequence.
    + */
    +static int
    +internal_extattr_check_cred(vnode_t *vp, int attrnamespace, const char *name,
    +    kauth_cred_t cred, int access_mode)
    +{
    +	char *attr;
    +	int error;
    +
    +	attr = from_freebsd_extattr(attrnamespace, name);
    +	if (attr == NULL)
    +		return EINVAL;
    +
    +	error = extattr_check_cred(vp, attr, cred, access_mode);
    +
    +	kmem_free(attr, strlen(attr) + 1);
    +
    +	return error;
    +}
    +
     /*
      * Per-FS attribute lock protecting attribute operations.
      * XXX Right now there is a lot of lock contention due to having a single
    @@ -201,15 +251,12 @@ ufs_extattr_autocreate_attr(struct vnode *vp, int attrnamespace,
     	}
     
     	/*
    -	 * When setting attribute on the root vnode, we get it 
    -	 * already locked, and vn_open/namei/VFS_ROOT will try to
    -	 * look it, causing a panic. Unlock it first.
    +	 * XXX unlock/lock should only be done when setting extattr
    +	 * on backing store or one of its parent directory 
    +	 * including root, but we always do it for now.
     	 */ 
    -	if (vp->v_vflag && VV_ROOT) {
    -		KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    -		VOP_UNLOCK(vp);
    -	}
    -	KASSERT(VOP_ISLOCKED(vp) == 0);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	VOP_UNLOCK(vp);
     
     	pb = pathbuf_create(path);
     	NDINIT(&nd, CREATE, LOCKPARENT, pb);
    @@ -217,12 +264,10 @@ ufs_extattr_autocreate_attr(struct vnode *vp, int attrnamespace,
     	error = vn_open(&nd, O_CREAT|O_RDWR, 0600);
     
     	/*
    -	 * Reacquire the lock on the vnode if it was root.
    +	 * Reacquire the lock on the vnode
     	 */
     	KASSERT(VOP_ISLOCKED(vp) == 0);
    -	if (vp->v_vflag && VV_ROOT)
    -		vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    -	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
     
     	if (error != 0) {
     		pathbuf_destroy(pb);
    @@ -258,12 +303,6 @@ ufs_extattr_autocreate_attr(struct vnode *vp, int attrnamespace,
     		return NULL;
     	}
     
    -	/*
    -	 * ufs_extattr_enable_with_open increases the vnode reference
    -	 * count. Not sure why, but do the same here.
    -	 */
    -	vref(vp);
    -
     	/*
     	 * Now enable attribute. 
     	 */
    @@ -506,7 +545,7 @@ ufs_extattr_iterate_directory(struct ufsmount *ump, struct vnode *dvp,
     	if (dvp->v_type != VDIR)
     		return (ENOTDIR);
     
    -	dirbuf = malloc(DIRBLKSIZ, M_TEMP, M_WAITOK);
    +	dirbuf = kmem_alloc(UFS_DIRBLKSIZ, KM_SLEEP);
     
     	auio.uio_iov = &aiov;
     	auio.uio_iovcnt = 1;
    @@ -523,9 +562,9 @@ ufs_extattr_iterate_directory(struct ufsmount *ump, struct vnode *dvp,
     	vargs.a_cookies = NULL;
     
     	while (!eofflag) {
    -		auio.uio_resid = DIRBLKSIZ;
    +		auio.uio_resid = UFS_DIRBLKSIZ;
     		aiov.iov_base = dirbuf;
    -		aiov.iov_len = DIRBLKSIZ;
    +		aiov.iov_len = UFS_DIRBLKSIZ;
     		error = ufs_readdir(&vargs);
     		if (error) {
     			printf("ufs_extattr_iterate_directory: ufs_readdir "
    @@ -534,12 +573,12 @@ ufs_extattr_iterate_directory(struct ufsmount *ump, struct vnode *dvp,
     		}
     
     		/*
    -		 * XXXRW: While in UFS, we always get DIRBLKSIZ returns from
    +		 * XXXRW: While in UFS, we always get UFS_DIRBLKSIZ returns from
     		 * the directory code on success, on other file systems this
     		 * may not be the case.  For portability, we should check the
     		 * read length on return from ufs_readdir().
     		 */
    -		edp = (struct dirent *)&dirbuf[DIRBLKSIZ];
    +		edp = (struct dirent *)&dirbuf[UFS_DIRBLKSIZ];
     		for (dp = (struct dirent *)dirbuf; dp < edp; ) {
     			if (dp->d_reclen == 0)
     				break;
    @@ -578,7 +617,7 @@ ufs_extattr_iterate_directory(struct ufsmount *ump, struct vnode *dvp,
     				break;
     		}
     	}
    -	free(dirbuf, M_TEMP);
    +	kmem_free(dirbuf, UFS_DIRBLKSIZ);
     	
     	return (0);
     }
    @@ -736,8 +775,7 @@ ufs_extattr_enable(struct ufsmount *ump, int attrnamespace,
     	if (backing_vnode->v_type != VREG)
     		return (EINVAL);
     
    -	attribute = malloc(sizeof(*attribute), M_UFS_EXTATTR,
    -	    M_WAITOK | M_ZERO);
    +	attribute = kmem_zalloc(sizeof(*attribute), KM_SLEEP);
     
     	if (!(ump->um_extattr.uepm_flags & UFS_EXTATTR_UEPM_STARTED)) {
     		error = EOPNOTSUPP;
    @@ -818,7 +856,7 @@ ufs_extattr_enable(struct ufsmount *ump, int attrnamespace,
     	VOP_UNLOCK(backing_vnode);
     
      free_exit:
    -	free(attribute, M_UFS_EXTATTR);
    +	kmem_free(attribute, sizeof(*attribute));
     	return (error);
     }
     
    @@ -837,14 +875,14 @@ ufs_extattr_disable(struct ufsmount *ump, int attrnamespace,
     
     	uele = ufs_extattr_find_attr(ump, attrnamespace, attrname);
     	if (!uele)
    -		return (ENOATTR);
    +		return (ENODATA);
     
     	LIST_REMOVE(uele, uele_entries);
     
     	error = vn_close(uele->uele_backing_vnode, FREAD|FWRITE,
     	    l->l_cred);
     
    -	free(uele, M_UFS_EXTATTR);
    +	kmem_free(uele, sizeof(*uele));
     
     	return (error);
     }
    @@ -865,8 +903,9 @@ ufs_extattrctl(struct mount *mp, int cmd, struct vnode *filename_vp,
     	/*
     	 * Only privileged processes can configure extended attributes.
     	 */
    -	if ((error = kauth_authorize_generic(l->l_cred, KAUTH_GENERIC_ISSUSER,
    -	    NULL)) != 0) {
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_EXTATTR,
    +	    0, mp, NULL, NULL);
    +	if (error) {
     		if (filename_vp != NULL)
     			VOP_UNLOCK(filename_vp);
     		return (error);
    @@ -984,7 +1023,7 @@ ufs_extattr_get_header(struct vnode *vp, struct ufs_extattr_list_entry *uele,
     
     	/* Defined? */
     	if ((ueh->ueh_flags & UFS_EXTATTR_ATTR_FLAG_INUSE) == 0)
    -		return ENOATTR;
    +		return ENODATA;
     
     	/* Valid for the current inode generation? */
     	if (ueh->ueh_i_gen != ip->i_gen) {
    @@ -997,7 +1036,7 @@ ufs_extattr_get_header(struct vnode *vp, struct ufs_extattr_list_entry *uele,
     		printf("%s (%s): inode gen inconsistency (%u, %jd)\n",
     		       __func__,  mp->mnt_stat.f_mntonname, ueh->ueh_i_gen,
     		       (intmax_t)ip->i_gen);
    -		return ENOATTR;
    +		return ENODATA;
     	}
     
     	/* Local size consistency check. */
    @@ -1063,13 +1102,14 @@ ufs_extattr_get(struct vnode *vp, int attrnamespace, const char *name,
     	if (strlen(name) == 0)
     		return (EINVAL);
     
    -	error = extattr_check_cred(vp, attrnamespace, cred, l, IREAD);
    +	error = internal_extattr_check_cred(vp, attrnamespace, name, cred,
    +	    VREAD);
     	if (error)
     		return (error);
     
     	attribute = ufs_extattr_find_attr(ump, attrnamespace, name);
     	if (!attribute)
    -		return (ENOATTR);
    +		return (ENODATA);
     
     	/*
     	 * Allow only offsets of zero to encourage the read/replace
    @@ -1177,7 +1217,12 @@ ufs_extattr_list(struct vnode *vp, int attrnamespace,
     	if (!(ump->um_extattr.uepm_flags & UFS_EXTATTR_UEPM_STARTED))
     		return (EOPNOTSUPP);
     
    -	error = extattr_check_cred(vp, attrnamespace, cred, l, IREAD);
    +	/*
    +	 * XXX: We can move this inside the loop and iterate on individual
    +	 *	attributes.
    +	 */
    +	error = internal_extattr_check_cred(vp, attrnamespace, "", cred,
    +	    VREAD);
     	if (error)
     		return (error);
     
    @@ -1188,7 +1233,7 @@ ufs_extattr_list(struct vnode *vp, int attrnamespace,
     			continue;
     
     		error = ufs_extattr_get_header(vp, uele, &ueh, NULL);
    -		if (error == ENOATTR)
    +		if (error == ENODATA)
     			continue;	
     		if (error != 0)
     			return error;
    @@ -1342,7 +1387,8 @@ ufs_extattr_set(struct vnode *vp, int attrnamespace, const char *name,
     	if (!ufs_extattr_valid_attrname(attrnamespace, name))
     		return (EINVAL);
     
    -	error = extattr_check_cred(vp, attrnamespace, cred, l, IWRITE);
    +	error = internal_extattr_check_cred(vp, attrnamespace, name, cred,
    +	    VWRITE);
     	if (error)
     		return (error);
     
    @@ -1351,7 +1397,7 @@ ufs_extattr_set(struct vnode *vp, int attrnamespace, const char *name,
     		attribute =  ufs_extattr_autocreate_attr(vp, attrnamespace, 
     							 name, l);
     		if  (!attribute)
    -			return (ENOATTR);
    +			return (ENODATA);
     	}
     
     	/*
    @@ -1454,13 +1500,14 @@ ufs_extattr_rm(struct vnode *vp, int attrnamespace, const char *name,
     	if (!ufs_extattr_valid_attrname(attrnamespace, name))
     		return (EINVAL);
     
    -	error = extattr_check_cred(vp, attrnamespace, cred, l, IWRITE);
    +	error = internal_extattr_check_cred(vp, attrnamespace, name, cred,
    +	    VWRITE);
     	if (error)
     		return (error);
     
     	attribute = ufs_extattr_find_attr(ump, attrnamespace, name);
     	if (!attribute)
    -		return (ENOATTR);
    +		return (ENODATA);
     
     	/*
     	 * Don't need to get a lock on the backing file if the getattr is
    @@ -1540,12 +1587,10 @@ void
     ufs_extattr_init(void)
     {
     
    -	malloc_type_attach(M_UFS_EXTATTR);
     }
     
     void
     ufs_extattr_done(void)
     {
     
    -	malloc_type_detach(M_UFS_EXTATTR);
     }
    diff --git a/sys/ufs/ufs/ufs_extern.h b/sys/ufs/ufs/ufs_extern.h
    index 61e42eefb..f279d0314 100644
    --- a/sys/ufs/ufs/ufs_extern.h
    +++ b/sys/ufs/ufs/ufs_extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_extern.h,v 1.66 2011/07/17 22:07:59 dholland Exp $	*/
    +/*	$NetBSD: ufs_extern.h,v 1.73 2013/06/16 13:33:30 hannken Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993, 1994
    @@ -139,6 +139,29 @@ int	ufs_parentcheck(struct vnode *, struct vnode *, kauth_cred_t,
     			int *, struct vnode **);
     int	ufs_blkatoff(struct vnode *, off_t, char **, struct buf **, bool);
     
    +/* ufs_rename.c -- for lfs */
    +bool	ufs_gro_directory_empty_p(struct mount *, kauth_cred_t,
    +	    struct vnode *, struct vnode *);
    +int	ufs_gro_rename_check_possible(struct mount *,
    +	    struct vnode *, struct vnode *, struct vnode *, struct vnode *);
    +int	ufs_gro_rename_check_permitted(struct mount *, kauth_cred_t,
    +	    struct vnode *, struct vnode *, struct vnode *, struct vnode *);
    +int	ufs_gro_remove_check_possible(struct mount *,
    +	    struct vnode *, struct vnode *);
    +int	ufs_gro_remove_check_permitted(struct mount *, kauth_cred_t,
    +	    struct vnode *, struct vnode *);
    +int	ufs_gro_rename(struct mount *, kauth_cred_t,
    +	    struct vnode *, struct componentname *, void *, struct vnode *,
    +	    struct vnode *, struct componentname *, void *, struct vnode *);
    +int	ufs_gro_remove(struct mount *, kauth_cred_t,
    +	    struct vnode *, struct componentname *, void *, struct vnode *);
    +int	ufs_gro_lookup(struct mount *, struct vnode *,
    +	    struct componentname *, void *, struct vnode **);
    +int	ufs_gro_genealogy(struct mount *, kauth_cred_t,
    +	    struct vnode *, struct vnode *, struct vnode **);
    +int	ufs_gro_lock_directory(struct mount *, struct vnode *);
    +
    +
     /* ufs_quota.c */
     /*
      * Flags to chkdq() and chkiq()
    @@ -148,7 +171,9 @@ void	ufsquota_init(struct inode *);
     void	ufsquota_free(struct inode *);
     int	chkdq(struct inode *, int64_t, kauth_cred_t, int);
     int	chkiq(struct inode *, int32_t, kauth_cred_t, int);
    -int	quota_handle_cmd(struct mount *, struct lwp *, prop_dictionary_t);
    +int	quota_handle_cmd(struct mount *, struct lwp *,
    +			 struct quotactl_args *);
    +
     int	qsync(struct mount *);
     
     /* ufs_quota1.c */
    @@ -163,7 +188,7 @@ void	ufs_reinit(void);
     void	ufs_done(void);
     int	ufs_start(struct mount *, int);
     int	ufs_root(struct mount *, struct vnode **);
    -int	ufs_quotactl(struct mount *, prop_dictionary_t);
    +int	ufs_quotactl(struct mount *, struct quotactl_args *);
     int	ufs_fhtovp(struct mount *, struct ufid *, struct vnode **);
     
     /* ufs_vnops.c */
    @@ -174,12 +199,6 @@ int	ufs_makeinode(int, struct vnode *, const struct ufs_lookup_results *,
     int	ufs_gop_alloc(struct vnode *, off_t, off_t, int, kauth_cred_t);
     void	ufs_gop_markupdate(struct vnode *, int);
     
    -/*
    - * Snapshot function prototypes.
    - */
    -
    -void	ffs_snapgone(struct inode *);
    -
     __END_DECLS
     
     extern kmutex_t ufs_ihash_lock;
    diff --git a/sys/ufs/ufs/ufs_inode.c b/sys/ufs/ufs/ufs_inode.c
    index 7a9eea4ff..f42c1d3ee 100644
    --- a/sys/ufs/ufs/ufs_inode.c
    +++ b/sys/ufs/ufs/ufs_inode.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_inode.c,v 1.88 2011/09/20 14:01:33 chs Exp $	*/
    +/*	$NetBSD: ufs_inode.c,v 1.89 2013/01/22 09:39:18 dholland Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993
    @@ -37,7 +37,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_inode.c,v 1.88 2011/09/20 14:01:33 chs Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_inode.c,v 1.89 2013/01/22 09:39:18 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -114,7 +114,7 @@ ufs_inactive(void *v)
     			if (vp->v_mount->mnt_wapbl) {
     				uint64_t incr = MNINDIR(ip->i_ump) <<
     				    vp->v_mount->mnt_fs_bshift; /* Power of 2 */
    -				uint64_t base = NDADDR <<
    +				uint64_t base = UFS_NDADDR <<
     				    vp->v_mount->mnt_fs_bshift;
     				while (!error && ip->i_size > base + incr) {
     					/*
    diff --git a/sys/ufs/ufs/ufs_lookup.c b/sys/ufs/ufs/ufs_lookup.c
    index aa395de18..32e617ff2 100644
    --- a/sys/ufs/ufs/ufs_lookup.c
    +++ b/sys/ufs/ufs/ufs_lookup.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_lookup.c,v 1.111 2011/07/17 22:07:59 dholland Exp $	*/
    +/*	$NetBSD: ufs_lookup.c,v 1.128 2013/11/04 19:58:02 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -37,7 +37,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.111 2011/07/17 22:07:59 dholland Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.128 2013/11/04 19:58:02 christos Exp $");
     
     #ifdef _KERNEL_OPT
     #include "opt_ffs.h"
    @@ -68,14 +68,14 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_lookup.c,v 1.111 2011/07/17 22:07:59 dholland Ex
     #include 
     #include 
     
    +#include 
    +
     #ifdef DIAGNOSTIC
     int	dirchk = 1;
     #else
     int	dirchk = 0;
     #endif
     
    -#define	FSFMT(vp)	(((vp)->v_mount->mnt_iflag & IMNT_DTYPE) == 0)
    -
     /*
      * Convert a component of a pathname into a pointer to a locked inode.
      * This is a very central and rather complicated routine.
    @@ -122,19 +122,27 @@ ufs_lookup(void *v)
     	struct buf *bp;			/* a buffer of directory entries */
     	struct direct *ep;		/* the current directory entry */
     	int entryoffsetinblock;		/* offset of ep in bp's buffer */
    -	enum {NONE, COMPACT, FOUND} slotstatus;
    -	doff_t slotoffset;		/* offset of area with free space */
    +	enum {
    +		NONE,		/* need to search a slot for our new entry */
    +		COMPACT,	/* a compaction can make a slot in the current
    +				   DIRBLKSIZ block */
    +		FOUND,		/* found a slot (or no need to search) */
    +	} slotstatus;
    +	doff_t slotoffset;		/* offset of area with free space.
    +					   a special value -1 for invalid */
     	int slotsize;			/* size of area at slotoffset */
    -	int slotfreespace;		/* amount of space free in slot */
    +	int slotfreespace;		/* accumulated amount of space free in
    +					   the current DIRBLKSIZ block */
     	int slotneeded;			/* size of the entry we're seeking */
     	int numdirpasses;		/* strategy for directory search */
     	doff_t endsearch;		/* offset to end directory search */
    -	doff_t prevoff;			/* prev entry dp->i_offset */
    +	doff_t prevoff;			/* previous value of ulr_offset */
     	struct vnode *pdp;		/* saved dp during symlink work */
     	struct vnode *tdp;		/* returned by VFS_VGET */
    -	doff_t enduseful;		/* pointer past last used dir slot */
    +	doff_t enduseful;		/* pointer past last used dir slot.
    +					   used for directory truncation. */
     	u_long bmask;			/* block offset mask */
    -	int namlen, error;
    +	int error;
     	struct vnode **vpp = ap->a_vpp;
     	struct componentname *cnp = ap->a_cnp;
     	kauth_cred_t cred = cnp->cn_cred;
    @@ -145,6 +153,7 @@ ufs_lookup(void *v)
     	int dirblksiz = ump->um_dirblksiz;
     	ino_t foundino;
     	struct ufs_lookup_results *results;
    +	int iswhiteout;			/* temp result from cache_lookup() */
     
     	flags = cnp->cn_flags;
     
    @@ -178,8 +187,25 @@ ufs_lookup(void *v)
     	 * check the name cache to see if the directory/name pair
     	 * we are looking for is known already.
     	 */
    -	if ((error = cache_lookup(vdp, vpp, cnp)) >= 0) {
    -		return (error);
    +	if (cache_lookup(vdp, cnp->cn_nameptr, cnp->cn_namelen,
    +			 cnp->cn_nameiop, cnp->cn_flags, &iswhiteout, vpp)) {
    +		if (iswhiteout) {
    +			cnp->cn_flags |= ISWHITEOUT;
    +		}
    +		return *vpp == NULLVP ? ENOENT : 0;
    +	}
    +	if (iswhiteout) {
    +		/*
    +		 * The namecache set iswhiteout without finding a
    +		 * cache entry. As of this writing (20121014), this
    +		 * can happen if there was a whiteout entry that has
    +		 * been invalidated by the lookup. It is not clear if
    +		 * it is correct to set ISWHITEOUT in this case or
    +		 * not; however, doing so retains the prior behavior,
    +		 * so we'll go with that until some clearer answer
    +		 * appears. XXX
    +		 */
    +		cnp->cn_flags |= ISWHITEOUT;
     	}
     
     	fstrans_start(vdp->v_mount, FSTRANS_SHARED);
    @@ -192,10 +218,9 @@ ufs_lookup(void *v)
     	 */
     	slotstatus = FOUND;
     	slotfreespace = slotsize = slotneeded = 0;
    -	if ((nameiop == CREATE || nameiop == RENAME) &&
    -	    (flags & ISLASTCN)) {
    +	if ((nameiop == CREATE || nameiop == RENAME) && (flags & ISLASTCN)) {
     		slotstatus = NONE;
    -		slotneeded = DIRECTSIZ(cnp->cn_namelen);
    +		slotneeded = UFS_DIRECTSIZ(cnp->cn_namelen);
     	}
     
     	/*
    @@ -278,8 +303,8 @@ searchloop:
     		if ((results->ulr_offset & bmask) == 0) {
     			if (bp != NULL)
     				brelse(bp, 0);
    -			error = ufs_blkatoff(vdp, (off_t)results->ulr_offset, NULL,
    -			    &bp, false);
    +			error = ufs_blkatoff(vdp, (off_t)results->ulr_offset,
    +			    NULL, &bp, false);
     			if (error)
     				goto out;
     			entryoffsetinblock = 0;
    @@ -323,7 +348,7 @@ searchloop:
     			int size = ufs_rw16(ep->d_reclen, needswap);
     
     			if (ep->d_ino != 0)
    -				size -= DIRSIZ(FSFMT(vdp), ep, needswap);
    +				size -= UFS_DIRSIZ(FSFMT(vdp), ep, needswap);
     			if (size > 0) {
     				if (size >= slotneeded) {
     					slotstatus = FOUND;
    @@ -349,6 +374,8 @@ searchloop:
     		 * Check for a name match.
     		 */
     		if (ep->d_ino) {
    +			int namlen;
    +
     #if (BYTE_ORDER == LITTLE_ENDIAN)
     			if (FSFMT(vdp) && needswap == 0)
     				namlen = ep->d_type;
    @@ -368,8 +395,7 @@ foundentry:
     #endif
     				/*
     				 * Save directory entry's inode number and
    -				 * reclen in ndp->ni_ufs area, and release
    -				 * directory buffer.
    +				 * reclen, and release directory buffer.
     				 */
     				if (!FSFMT(vdp) && ep->d_type == DT_WHT) {
     					slotstatus = FOUND;
    @@ -378,8 +404,9 @@ foundentry:
     					    needswap);
     					results->ulr_reclen = slotsize;
     					/*
    -					 * This is used to set results->ulr_endoff,
    -					 * which may be used by ufs_direnter2()
    +					 * This is used to set
    +					 * results->ulr_endoff,
    +					 * which may be used by ufs_direnter()
     					 * as a length to truncate the
     					 * directory to.  Therefore, it must
     					 * point past the end of the last
    @@ -394,12 +421,13 @@ foundentry:
     					 * an existing entry anyway.
     					 */
     					enduseful = endsearch;
    -					ap->a_cnp->cn_flags |= ISWHITEOUT;
    +					cnp->cn_flags |= ISWHITEOUT;
     					numdirpasses--;
     					goto notfound;
     				}
     				foundino = ufs_rw32(ep->d_ino, needswap);
    -				results->ulr_reclen = ufs_rw16(ep->d_reclen, needswap);
    +				results->ulr_reclen =
    +				    ufs_rw16(ep->d_reclen, needswap);
     				goto found;
     			}
     		}
    @@ -429,8 +457,8 @@ notfound:
     	 */
     	if ((nameiop == CREATE || nameiop == RENAME ||
     	     (nameiop == DELETE &&
    -	      (ap->a_cnp->cn_flags & DOWHITEOUT) &&
    -	      (ap->a_cnp->cn_flags & ISWHITEOUT))) &&
    +	      (cnp->cn_flags & DOWHITEOUT) &&
    +	      (cnp->cn_flags & ISWHITEOUT))) &&
     	    (flags & ISLASTCN) && dp->i_nlink != 0) {
     		/*
     		 * Access for write is interpreted as allowing
    @@ -457,7 +485,8 @@ notfound:
     			if ((results->ulr_offset & (dirblksiz - 1)) == 0)
     				results->ulr_count = 0;
     			else
    -				results->ulr_count = results->ulr_offset - prevoff;
    +				results->ulr_count =
    +				    results->ulr_offset - prevoff;
     		} else {
     			results->ulr_offset = slotoffset;
     			results->ulr_count = slotsize;
    @@ -485,8 +514,10 @@ notfound:
     	/*
     	 * Insert name into cache (as non-existent) if appropriate.
     	 */
    -	if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE)
    -		cache_enter(vdp, *vpp, cnp);
    +	if (nameiop != CREATE) {
    +		cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen,
    +			    cnp->cn_flags);
    +	}
     	error = ENOENT;
     	goto out;
     
    @@ -497,9 +528,10 @@ found:
     	 * Check that directory length properly reflects presence
     	 * of this entry.
     	 */
    -	if (results->ulr_offset + DIRSIZ(FSFMT(vdp), ep, needswap) > dp->i_size) {
    +	if (results->ulr_offset + UFS_DIRSIZ(FSFMT(vdp), ep, needswap) > dp->i_size) {
     		ufs_dirbad(dp, results->ulr_offset, "i_size too small");
    -		dp->i_size = results->ulr_offset + DIRSIZ(FSFMT(vdp), ep, needswap);
    +		dp->i_size =
    +		    results->ulr_offset + UFS_DIRSIZ(FSFMT(vdp), ep, needswap);
     		DIP_ASSIGN(dp, size, dp->i_size);
     		dp->i_flag |= IN_CHANGE | IN_UPDATE;
     		UFS_WAPBL_UPDATE(vdp, NULL, NULL, UPDATE_DIROP);
    @@ -520,12 +552,6 @@ found:
     	 * Lock the inode, being careful with ".".
     	 */
     	if (nameiop == DELETE && (flags & ISLASTCN)) {
    -		/*
    -		 * Write access to directory required to delete files.
    -		 */
    -		error = VOP_ACCESS(vdp, VWRITE, cred);
    -		if (error)
    -			goto out;
     		/*
     		 * Return pointer to current entry in results->ulr_offset,
     		 * and distance past previous entry (if there
    @@ -538,31 +564,45 @@ found:
     			results->ulr_count = results->ulr_offset - prevoff;
     		if (dp->i_number == foundino) {
     			vref(vdp);
    -			*vpp = vdp;
    -			error = 0;
    +			tdp = vdp;
    +		} else {
    +			if (flags & ISDOTDOT)
    +				VOP_UNLOCK(vdp); /* race to get the inode */
    +			error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    +			if (flags & ISDOTDOT)
    +				vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY);
    +			if (error)
    +				goto out;
    +		}
    +		/*
    +		 * Write access to directory required to delete files.
    +		 */
    +		error = VOP_ACCESS(vdp, VWRITE, cred);
    +		if (error) {
    +			if (dp->i_number == foundino)
    +				vrele(tdp);
    +			else
    +				vput(tdp);
     			goto out;
     		}
    -		if (flags & ISDOTDOT)
    -			VOP_UNLOCK(vdp); /* race to get the inode */
    -		error = VFS_VGET(vdp->v_mount, foundino, &tdp);
    -		if (flags & ISDOTDOT)
    -			vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY);
    -		if (error)
    -			goto out;
     		/*
     		 * If directory is "sticky", then user must own
     		 * the directory, or the file in it, else she
     		 * may not delete it (unless she's root). This
     		 * implements append-only directories.
     		 */
    -		if ((dp->i_mode & ISVTX) &&
    -		    kauth_authorize_generic(cred, KAUTH_GENERIC_ISSUSER,
    -		     NULL) != 0 &&
    -		    kauth_cred_geteuid(cred) != dp->i_uid &&
    -		    VTOI(tdp)->i_uid != kauth_cred_geteuid(cred)) {
    -			vput(tdp);
    -			error = EPERM;
    -			goto out;
    +		if (dp->i_mode & ISVTX) {
    +			error = kauth_authorize_vnode(cred, KAUTH_VNODE_DELETE,
    +			    tdp, vdp, genfs_can_sticky(cred, dp->i_uid,
    +			    VTOI(tdp)->i_uid));
    +			if (error) {
    +				if (dp->i_number == foundino)
    +					vrele(tdp);
    +				else
    +					vput(tdp);
    +				error = EPERM;
    +				goto out;
    +			}
     		}
     		*vpp = tdp;
     		error = 0;
    @@ -640,8 +680,7 @@ found:
     	/*
     	 * Insert name into cache if appropriate.
     	 */
    -	if (cnp->cn_flags & MAKEENTRY)
    -		cache_enter(vdp, *vpp, cnp);
    +	cache_enter(vdp, *vpp, cnp->cn_nameptr, cnp->cn_namelen, cnp->cn_flags);
     	error = 0;
     
     out:
    @@ -694,13 +733,13 @@ ufs_dirbadentry(struct vnode *dp, struct direct *ep, int entryoffsetinblock)
     	    ufs_rw16(ep->d_reclen, needswap) >
     		dirblksiz - (entryoffsetinblock & (dirblksiz - 1)) ||
     	    ufs_rw16(ep->d_reclen, needswap) <
    -		DIRSIZ(FSFMT(dp), ep, needswap) ||
    +		UFS_DIRSIZ(FSFMT(dp), ep, needswap) ||
     	    namlen > FFS_MAXNAMLEN) {
     		/*return (1); */
     		printf("First bad, reclen=%#x, DIRSIZ=%lu, namlen=%d, "
     			"flags=%#x, entryoffsetinblock=%d, dirblksiz = %d\n",
     			ufs_rw16(ep->d_reclen, needswap),
    -			(u_long)DIRSIZ(FSFMT(dp), ep, needswap),
    +			(u_long)UFS_DIRSIZ(FSFMT(dp), ep, needswap),
     			namlen, dp->v_mount->mnt_flag, entryoffsetinblock,
     			dirblksiz);
     		goto bad;
    @@ -774,7 +813,6 @@ ufs_direnter(struct vnode *dvp, const struct ufs_lookup_results *ulr,
         struct componentname *cnp, struct buf *newdirbp)
     {
     	kauth_cred_t cr;
    -	struct lwp *l;
     	int newentrysize;
     	struct inode *dp;
     	struct buf *bp;
    @@ -791,17 +829,9 @@ ufs_direnter(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     
     	error = 0;
     	cr = cnp->cn_cred;
    -	l = curlwp;
     
     	dp = VTOI(dvp);
    -	newentrysize = DIRSIZ(0, dirp, 0);
    -
    -#if 0
    -	struct ufs_lookup_results *ulr;
    -	/* XXX should handle this material another way */
    -	ulr = &dp->i_crap;
    -	UFS_CHECK_CRAPCOUNTER(dp);
    -#endif
    +	newentrysize = UFS_DIRSIZ(0, dirp, 0);
     
     	if (ulr->ulr_count == 0) {
     		/*
    @@ -853,7 +883,7 @@ ufs_direnter(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     
     	/*
     	 * If ulr_count is non-zero, then namei found space for the new
    -	 * entry in the range ulr_offset to url_offset + url_count
    +	 * entry in the range ulr_offset to ulr_offset + ulr_count
     	 * in the directory. To use this space, we may have to compact
     	 * the entries located there, by copying them together towards the
     	 * beginning of the block, leaving the free space in one usable
    @@ -887,11 +917,11 @@ ufs_direnter(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     	/*
     	 * Find space for the new entry. In the simple case, the entry at
     	 * offset base will have the space. If it does not, then namei
    -	 * arranged that compacting the region dp->i_offset to
    -	 * dp->i_offset + dp->i_count would yield the space.
    +	 * arranged that compacting the region ulr_offset to
    +	 * ulr_offset + ulr_count would yield the space.
     	 */
     	ep = (struct direct *)dirbuf;
    -	dsize = (ep->d_ino != 0) ?  DIRSIZ(FSFMT(dvp), ep, needswap) : 0;
    +	dsize = (ep->d_ino != 0) ? UFS_DIRSIZ(FSFMT(dvp), ep, needswap) : 0;
     	spacefree = ufs_rw16(ep->d_reclen, needswap) - dsize;
     	for (loc = ufs_rw16(ep->d_reclen, needswap); loc < ulr->ulr_count; ) {
     		uint16_t reclen;
    @@ -918,7 +948,7 @@ ufs_direnter(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     			dsize = 0;
     			continue;
     		}
    -		dsize = DIRSIZ(FSFMT(dvp), nep, needswap);
    +		dsize = UFS_DIRSIZ(FSFMT(dvp), nep, needswap);
     		spacefree += reclen - dsize;
     #ifdef UFS_DIRHASH
     		if (dp->i_dirhash != NULL)
    @@ -938,7 +968,7 @@ ufs_direnter(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     	 * copy in the new entry, and write out the block.
     	 */
     	if (ep->d_ino == 0 ||
    -	    (ufs_rw32(ep->d_ino, needswap) == WINO &&
    +	    (ufs_rw32(ep->d_ino, needswap) == UFS_WINO &&
     	     memcmp(ep->d_name, dirp->d_name, dirp->d_namlen) == 0)) {
     		if (spacefree + dsize < newentrysize)
     			panic("ufs_direnter: compact1");
    @@ -1038,21 +1068,19 @@ ufs_dirremove(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     	struct direct *ep;
     	struct buf *bp;
     	int error;
    -#ifdef FFS_EI
     	const int needswap = UFS_MPNEEDSWAP(dp->i_ump);
    -#endif
     
     	UFS_WAPBL_JLOCK_ASSERT(dvp->v_mount);
     
     	if (flags & DOWHITEOUT) {
     		/*
    -		 * Whiteout entry: set d_ino to WINO.
    +		 * Whiteout entry: set d_ino to UFS_WINO.
     		 */
     		error = ufs_blkatoff(dvp, (off_t)ulr->ulr_offset, (void *)&ep,
     				     &bp, true);
     		if (error)
     			return (error);
    -		ep->d_ino = ufs_rw32(WINO, needswap);
    +		ep->d_ino = ufs_rw32(UFS_WINO, needswap);
     		ep->d_type = DT_WHT;
     		goto out;
     	}
    @@ -1064,7 +1092,7 @@ ufs_dirremove(struct vnode *dvp, const struct ufs_lookup_results *ulr,
     #ifdef UFS_DIRHASH
     	/*
     	 * Remove the dirhash entry. This is complicated by the fact
    -	 * that `ep' is the previous entry when dp->i_count != 0.
    +	 * that `ep' is the previous entry when ulr_count != 0.
     	 */
     	if (dp->i_dirhash != NULL)
     		ufsdirhash_remove(dp, (ulr->ulr_count == 0) ? ep :
    @@ -1102,6 +1130,13 @@ out:
     		ip->i_flag |= IN_CHANGE;
     		UFS_WAPBL_UPDATE(ITOV(ip), NULL, NULL, 0);
     	}
    +	/*
    +	 * XXX did it ever occur to anyone that it might be a good
    +	 * idea to restore ip->i_nlink if this fails? Or something?
    +	 * Currently on error return from this function the state of
    +	 * ip->i_nlink depends on what happened, and callers
    +	 * definitely do not take this into account.
    +	 */
     	error = VOP_BWRITE(bp->b_vp, bp);
     	dp->i_flag |= IN_CHANGE | IN_UPDATE;
     	/*
    @@ -1111,7 +1146,7 @@ out:
     	 */
     	if (ip != 0 && (ip->i_flags & SF_SNAPSHOT) != 0 &&
     	    ip->i_nlink == 0)
    -		ffs_snapgone(ip);
    +		UFS_SNAPGONE(ITOV(ip));
     	UFS_WAPBL_UPDATE(dvp, NULL, NULL, 0);
     	return (error);
     }
    @@ -1160,7 +1195,7 @@ ufs_dirrewrite(struct inode *dp, off_t offset,
     	 * when last open reference goes away.
     	 */
     	if ((oip->i_flags & SF_SNAPSHOT) != 0 && oip->i_nlink == 0)
    -		ffs_snapgone(oip);
    +		UFS_SNAPGONE(ITOV(oip));
     	UFS_WAPBL_UPDATE(vdp, NULL, NULL, UPDATE_DIROP);
     	return (error);
     }
    @@ -1199,7 +1234,7 @@ ufs_dirempty(struct inode *ip, ino_t parentino, kauth_cred_t cred)
     		if (dp->d_reclen == 0)
     			return (0);
     		/* skip empty entries */
    -		if (dp->d_ino == 0 || ufs_rw32(dp->d_ino, needswap) == WINO)
    +		if (dp->d_ino == 0 || ufs_rw32(dp->d_ino, needswap) == UFS_WINO)
     			continue;
     		/* accept only "." and ".." */
     #if (BYTE_ORDER == LITTLE_ENDIAN)
    @@ -1251,7 +1286,7 @@ ufs_checkpath(struct inode *source, struct inode *target, kauth_cred_t cred)
     		error = EEXIST;
     		goto out;
     	}
    -	rootino = ROOTINO;
    +	rootino = UFS_ROOTINO;
     	error = 0;
     	if (target->i_number == rootino)
     		goto out;
    @@ -1368,7 +1403,7 @@ ufs_parentcheck(struct vnode *upper, struct vnode *lower, kauth_cred_t cred,
     		int *found_ret, struct vnode **upperchild_ret)
     {
     	const int needswap = UFS_MPNEEDSWAP(VTOI(lower)->i_ump);
    -	ino_t upper_ino, found_ino;
    +	ino_t upper_ino, found_ino = 0;	/* XXX: gcc */
     	struct vnode *current, *next;
     	int error;
     
    @@ -1378,7 +1413,7 @@ ufs_parentcheck(struct vnode *upper, struct vnode *lower, kauth_cred_t cred,
     		*upperchild_ret = upper;
     		return 0;
     	}
    -	if (VTOI(lower)->i_number == ROOTINO) {
    +	if (VTOI(lower)->i_number == UFS_ROOTINO) {
     		*found_ret = 0;
     		*upperchild_ret = NULL;
     		return 0;
    @@ -1402,7 +1437,7 @@ ufs_parentcheck(struct vnode *upper, struct vnode *lower, kauth_cred_t cred,
     			*upperchild_ret = current;
     			return 0;
     		}
    -		if (found_ino == ROOTINO) {
    +		if (found_ino == UFS_ROOTINO) {
     			vput(current);
     			*found_ret = 0;
     			*upperchild_ret = NULL;
    @@ -1436,7 +1471,7 @@ int ufs_dirrablks = UFS_DIRRABLKS;
     
     /*
      * ufs_blkatoff: Return buffer with the contents of block "offset" from
    - * the beginning of directory "vp".  If "res" is non-zero, fill it in with
    + * the beginning of directory "vp".  If "res" is non-NULL, fill it in with
      * a pointer to the remaining space in the directory.  If the caller intends
      * to modify the buffer returned, "modify" must be true.
      */
    @@ -1445,7 +1480,7 @@ int
     ufs_blkatoff(struct vnode *vp, off_t offset, char **res, struct buf **bpp,
         bool modify)
     {
    -	struct inode *ip;
    +	struct inode *ip __diagused;
     	struct buf *bp;
     	daddr_t lbn;
     	const int dirrablks = ufs_dirrablks;
    @@ -1484,7 +1519,6 @@ ufs_blkatoff(struct vnode *vp, off_t offset, char **res, struct buf **bpp,
     	error = breadn(vp, blks[0], blksizes[0], &blks[1], &blksizes[1],
     	    run - 1, NOCRED, (modify ? B_MODIFY : 0), &bp);
     	if (error != 0) {
    -		brelse(bp, 0);
     		*bpp = NULL;
     		goto out;
     	}
    diff --git a/sys/ufs/ufs/ufs_quota.c b/sys/ufs/ufs/ufs_quota.c
    index 78cef57e1..675013119 100644
    --- a/sys/ufs/ufs/ufs_quota.c
    +++ b/sys/ufs/ufs/ufs_quota.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_quota.c,v 1.70 2011/03/24 17:05:46 bouyer Exp $	*/
    +/*	$NetBSD: ufs_quota.c,v 1.115 2013/11/16 17:04:53 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1990, 1993, 1995
    @@ -35,7 +35,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.70 2011/03/24 17:05:46 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.115 2013/11/16 17:04:53 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_quota.h"
    @@ -50,15 +50,16 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_quota.c,v 1.70 2011/03/24 17:05:46 bouyer Exp $"
     #include 
     #include 
     
    +#include 
     #include 
     #include 
     #include 
     #include 
     #include 
    -#include 
     
     kmutex_t dqlock;
     kcondvar_t dqcv;
    +const char *quotatypes[MAXQUOTAS] = INITQFNAMES;
     
     /*
      * Code pertaining to management of the in-core dquot data structures.
    @@ -70,20 +71,35 @@ static u_long dqhash;
     static pool_cache_t dquot_cache;
     
     
    -static int quota_handle_cmd_get_version(struct mount *, struct lwp *,
    -    prop_dictionary_t, prop_array_t);
    +static int quota_handle_cmd_stat(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_idtypestat(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_objtypestat(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
     static int quota_handle_cmd_get(struct mount *, struct lwp *,
    -    prop_dictionary_t, int, prop_array_t);
    -static int quota_handle_cmd_set(struct mount *, struct lwp *,
    -    prop_dictionary_t, int, prop_array_t);
    -static int quota_handle_cmd_getall(struct mount *, struct lwp *,
    -    prop_dictionary_t, int, prop_array_t);
    -static int quota_handle_cmd_clear(struct mount *, struct lwp *,
    -    prop_dictionary_t, int, prop_array_t);
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_put(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorget(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_delete(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
     static int quota_handle_cmd_quotaon(struct mount *, struct lwp *, 
    -    prop_dictionary_t, int, prop_array_t);
    +    struct quotactl_args *args);
     static int quota_handle_cmd_quotaoff(struct mount *, struct lwp *, 
    -    prop_dictionary_t, int, prop_array_t);
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursoropen(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorclose(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorskipidtype(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursoratend(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +static int quota_handle_cmd_cursorrewind(struct mount *, struct lwp *,
    +    struct quotactl_args *args);
    +
     /*
      * Initialize the quota fields of an inode.
      */
    @@ -152,119 +168,174 @@ chkiq(struct inode *ip, int32_t change, kauth_cred_t cred, int flags)
     }
     
     int
    -quota_handle_cmd(struct mount *mp, struct lwp *l, prop_dictionary_t cmddict)
    +quota_handle_cmd(struct mount *mp, struct lwp *l,
    +		 struct quotactl_args *args)
     {
     	int error = 0;
    -	const char *cmd, *type;
    -	prop_array_t datas;
    -	int q2type;
     
    -	if (!prop_dictionary_get_cstring_nocopy(cmddict, "command", &cmd))
    -		return EINVAL;
    -	if (!prop_dictionary_get_cstring_nocopy(cmddict, "type", &type))
    -		return EINVAL;
    -	if (!strcmp(type, QUOTADICT_CLASS_USER)) {
    -		q2type = USRQUOTA;
    -	} else if (!strcmp(type, QUOTADICT_CLASS_GROUP)) {
    -		q2type = GRPQUOTA;
    -	} else
    -		return EOPNOTSUPP;
    -	datas = prop_dictionary_get(cmddict, "data");
    -	if (datas == NULL || prop_object_type(datas) != PROP_TYPE_ARRAY)
    -		return EINVAL;
    +	switch (args->qc_op) {
    +	    case QUOTACTL_STAT:
    +		error = quota_handle_cmd_stat(mp, l, args);
    +		break;
    +	    case QUOTACTL_IDTYPESTAT:
    +		error = quota_handle_cmd_idtypestat(mp, l, args);
    +		break;
    +	    case QUOTACTL_OBJTYPESTAT:
    +		error = quota_handle_cmd_objtypestat(mp, l, args);
    +		break;
    +	    case QUOTACTL_QUOTAON:
    +		error = quota_handle_cmd_quotaon(mp, l, args);
    +		break;
    +	    case QUOTACTL_QUOTAOFF:
    +		error = quota_handle_cmd_quotaoff(mp, l, args);
    +		break;
    +	    case QUOTACTL_GET:
    +		error = quota_handle_cmd_get(mp, l, args);
    +		break;
    +	    case QUOTACTL_PUT:
    +		error = quota_handle_cmd_put(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORGET:
    +		error = quota_handle_cmd_cursorget(mp, l, args);
    +		break;
    +	    case QUOTACTL_DELETE:
    +		error = quota_handle_cmd_delete(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSOROPEN:
    +		error = quota_handle_cmd_cursoropen(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORCLOSE:
    +		error = quota_handle_cmd_cursorclose(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORSKIPIDTYPE:
    +		error = quota_handle_cmd_cursorskipidtype(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORATEND:
    +		error = quota_handle_cmd_cursoratend(mp, l, args);
    +		break;
    +	    case QUOTACTL_CURSORREWIND:
    +		error = quota_handle_cmd_cursorrewind(mp, l, args);
    +		break;
    +	    default:
    +		panic("Invalid quotactl operation %d\n", args->qc_op);
    +	}
     
    -	prop_object_retain(datas);
    -	prop_dictionary_remove(cmddict, "data"); /* prepare for return */
    -
    -	if (strcmp(cmd, "get version") == 0) {
    -		error = quota_handle_cmd_get_version(mp, l, cmddict, datas);
    -		goto end;
    -	}
    -	if (strcmp(cmd, "quotaon") == 0) {
    -		error = quota_handle_cmd_quotaon(mp, l, cmddict,
    -		    q2type, datas);
    -		goto end;
    -	}
    -	if (strcmp(cmd, "quotaoff") == 0) {
    -		error = quota_handle_cmd_quotaoff(mp, l, cmddict,
    -		    q2type, datas);
    -		goto end;
    -	}
    -	if (strcmp(cmd, "get") == 0) {
    -		error = quota_handle_cmd_get(mp, l, cmddict, q2type, datas);
    -		goto end;
    -	}
    -	if (strcmp(cmd, "set") == 0) {
    -		error = quota_handle_cmd_set(mp, l, cmddict, q2type, datas);
    -		goto end;
    -	}
    -	if (strcmp(cmd, "getall") == 0) {
    -		error = quota_handle_cmd_getall(mp, l, cmddict, q2type, datas);
    -		goto end;
    -	}
    -	if (strcmp(cmd, "clear") == 0) {
    -		error = quota_handle_cmd_clear(mp, l, cmddict, q2type, datas);
    -		goto end;
    -	}
    -	error = EOPNOTSUPP;
    -end:
    -	error = (prop_dictionary_set_int8(cmddict, "return",
    -	    error) ? 0 : ENOMEM);
    -	prop_object_release(datas);
     	return error;
     }
     
     static int 
    -quota_handle_cmd_get_version(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, prop_array_t datas)
    +quota_handle_cmd_stat(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
     {
     	struct ufsmount *ump = VFSTOUFS(mp);
    -	prop_array_t replies;
    -	prop_dictionary_t data;
    -	int error = 0;
    +	struct quotastat *info;
    +
    +	KASSERT(args->qc_op == QUOTACTL_STAT);
    +	info = args->u.stat.qc_info;
     
     	if ((ump->um_flags & (UFS_QUOTA|UFS_QUOTA2)) == 0)
     		return EOPNOTSUPP;
     
    -	replies = prop_array_create();
    -	if (replies == NULL)
    -		return ENOMEM;
    -
    -	data = prop_dictionary_create();
    -	if (data == NULL) {
    -		prop_object_release(replies);
    -		return ENOMEM;
    -	}
    -
     #ifdef QUOTA
     	if (ump->um_flags & UFS_QUOTA) {
    -		if (!prop_dictionary_set_int8(data, "version", 1))
    -			error = ENOMEM;
    +		strcpy(info->qs_implname, "ufs/ffs quota v1");
    +		info->qs_numidtypes = MAXQUOTAS;
    +		/* XXX no define for this */
    +		info->qs_numobjtypes = 2;
    +		info->qs_restrictions = 0;
    +		info->qs_restrictions |= QUOTA_RESTRICT_NEEDSQUOTACHECK;
    +		info->qs_restrictions |= QUOTA_RESTRICT_UNIFORMGRACE;
    +		info->qs_restrictions |= QUOTA_RESTRICT_32BIT;
     	} else
     #endif
     #ifdef QUOTA2
     	if (ump->um_flags & UFS_QUOTA2) {
    -		if (!prop_dictionary_set_int8(data, "version", 2))
    -			error = ENOMEM;
    +		strcpy(info->qs_implname, "ufs/ffs quota v2");
    +		info->qs_numidtypes = MAXQUOTAS;
    +		info->qs_numobjtypes = N_QL;
    +		info->qs_restrictions = 0;
     	} else
     #endif
    -		error = 0;
    -	if (error)
    -		prop_object_release(data);
    -	else if (!prop_array_add_and_rel(replies, data))
    -		error = ENOMEM;
    -	if (error)
    -		prop_object_release(replies);
    -	else if (!prop_dictionary_set_and_rel(cmddict, "data", replies))
    -		error = ENOMEM;
    -	return error;
    +		return EOPNOTSUPP;
    +
    +	return 0;
    +}
    +
    +static int 
    +quota_handle_cmd_idtypestat(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	int idtype;
    +	struct quotaidtypestat *info;
    +	const char *name;
    +
    +	KASSERT(args->qc_op == QUOTACTL_IDTYPESTAT);
    +	idtype = args->u.idtypestat.qc_idtype;
    +	info = args->u.idtypestat.qc_info;
    +
    +	if ((ump->um_flags & (UFS_QUOTA|UFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +
    +	/*
    +	 * These are the same for both QUOTA and QUOTA2.
    +	 */
    +	switch (idtype) {
    +	    case QUOTA_IDTYPE_USER:
    +		name = "user";
    +		break;
    +	    case QUOTA_IDTYPE_GROUP:
    +		name = "group";
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +	strlcpy(info->qis_name, name, sizeof(info->qis_name));
    +	return 0;
    +}
    +
    +static int 
    +quota_handle_cmd_objtypestat(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	int objtype;
    +	struct quotaobjtypestat *info;
    +	const char *name;
    +	int isbytes;
    +
    +	KASSERT(args->qc_op == QUOTACTL_OBJTYPESTAT);
    +	objtype = args->u.objtypestat.qc_objtype;
    +	info = args->u.objtypestat.qc_info;
    +
    +	if ((ump->um_flags & (UFS_QUOTA|UFS_QUOTA2)) == 0)
    +		return EOPNOTSUPP;
    +
    +	/*
    +	 * These are the same for both QUOTA and QUOTA2.
    +	 */
    +	switch (objtype) {
    +	    case QUOTA_OBJTYPE_BLOCKS:
    +		name = "block";
    +		isbytes = 1;
    +		break;
    +	    case QUOTA_OBJTYPE_FILES:
    +		name = "file";
    +		isbytes = 0;
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +	strlcpy(info->qos_name, name, sizeof(info->qos_name));
    +	info->qos_isbytes = isbytes;
    +	return 0;
     }
     
     /* XXX shouldn't all this be in kauth ? */
     static int
     quota_get_auth(struct mount *mp, struct lwp *l, uid_t id) {
     	/* The user can always query about his own quota. */
    -	if (id == kauth_cred_getuid(l->l_cred))
    +	if (id == kauth_cred_geteuid(l->l_cred))
     		return 0;
     	return kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
     	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, KAUTH_ARG(id), NULL);
    @@ -272,193 +343,119 @@ quota_get_auth(struct mount *mp, struct lwp *l, uid_t id) {
     
     static int 
     quota_handle_cmd_get(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, int type, prop_array_t datas)
    +    struct quotactl_args *args)
     {
    -	prop_array_t replies;
    -	prop_object_iterator_t iter;
    -	prop_dictionary_t data;
    -	uint32_t id;
     	struct ufsmount *ump = VFSTOUFS(mp);
    -	int error, defaultq = 0;
    -	const char *idstr;
    +	int error;
    +	const struct quotakey *qk;
    +	struct quotaval *qv;
    +
    +	KASSERT(args->qc_op == QUOTACTL_GET);
    +	qk = args->u.get.qc_key;
    +	qv = args->u.get.qc_val;
     
     	if ((ump->um_flags & (UFS_QUOTA|UFS_QUOTA2)) == 0)
     		return EOPNOTSUPP;
     	
    -	replies = prop_array_create();
    -	if (replies == NULL)
    -		return ENOMEM;
    -
    -	iter = prop_array_iterator(datas);
    -	if (iter == NULL) {
    -		prop_object_release(replies);
    -		return ENOMEM;
    -	}
    -	while ((data = prop_object_iterator_next(iter)) != NULL) {
    -		if (!prop_dictionary_get_uint32(data, "id", &id)) {
    -			if (!prop_dictionary_get_cstring_nocopy(data, "id",
    -			    &idstr))
    -				continue;
    -			if (strcmp(idstr, "default")) {
    -				error = EINVAL;
    -				goto err;
    -			}
    -			id = 0;
    -			defaultq = 1;
    -		} else {
    -			defaultq = 0;
    -		}
    -		error = quota_get_auth(mp, l, id);
    -		if (error == EPERM)
    -			continue;
    -		if (error != 0) 
    -			goto err;
    +	error = quota_get_auth(mp, l, qk->qk_id);
    +	if (error != 0) 
    +		return error;
     #ifdef QUOTA
    -		if (ump->um_flags & UFS_QUOTA)
    -			error = quota1_handle_cmd_get(ump, type, id, defaultq,
    -			    replies);
    -		else
    +	if (ump->um_flags & UFS_QUOTA) {
    +		error = quota1_handle_cmd_get(ump, qk, qv);
    +	} else
     #endif
     #ifdef QUOTA2
    -		if (ump->um_flags & UFS_QUOTA2) {
    -			error = quota2_handle_cmd_get(ump, type, id, defaultq,
    -			    replies);
    -		} else
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		error = quota2_handle_cmd_get(ump, qk, qv);
    +	} else
     #endif
    -			panic("quota_handle_cmd_get: no support ?");
    +		panic("quota_handle_cmd_get: no support ?");
     		
    -		if (error == ENOENT)
    -			continue;
    -		if (error != 0)
    -			goto err;
    -	}
    -	prop_object_iterator_release(iter);
    -	if (!prop_dictionary_set_and_rel(cmddict, "data", replies)) {
    -		error = ENOMEM;
    -	} else {
    -		error = 0;
    -	}
    -	return error;
    -err:
    -	prop_object_iterator_release(iter);
    -	prop_object_release(replies);
    +	if (error != 0)
    +		return error;
    +
     	return error;
     }
     
     static int 
    -quota_handle_cmd_set(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, int type, prop_array_t datas)
    +quota_handle_cmd_put(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
     {
    -	prop_array_t replies;
    -	prop_object_iterator_t iter;
    -	prop_dictionary_t data;
    -	uint32_t id;
     	struct ufsmount *ump = VFSTOUFS(mp);
    -	int error, defaultq = 0;
    -	const char *idstr;
    +	const struct quotakey *qk;
    +	const struct quotaval *qv;
    +	id_t kauth_id;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_PUT);
    +	qk = args->u.put.qc_key;
    +	qv = args->u.put.qc_val;
     
     	if ((ump->um_flags & (UFS_QUOTA|UFS_QUOTA2)) == 0)
     		return EOPNOTSUPP;
    -	
    -	replies = prop_array_create();
    -	if (replies == NULL)
    -		return ENOMEM;
     
    -	iter = prop_array_iterator(datas);
    -	if (iter == NULL) {
    -		prop_object_release(replies);
    -		return ENOMEM;
    +	kauth_id = qk->qk_id;
    +	if (kauth_id == QUOTA_DEFAULTID) {
    +		kauth_id = 0;
     	}
    -	while ((data = prop_object_iterator_next(iter)) != NULL) {
    -		if (!prop_dictionary_get_uint32(data, "id", &id)) {
    -			if (!prop_dictionary_get_cstring_nocopy(data, "id",
    -			    &idstr))
    -				continue;
    -			if (strcmp(idstr, "default"))
    -				continue;
    -			id = 0;
    -			defaultq = 1;
    -		} else {
    -			defaultq = 0;
    -		}
    -		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    -		    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(id), NULL);
    -		if (error != 0)
    -			goto err;
    +
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(kauth_id),
    +	    NULL);
    +	if (error != 0) {
    +		return error;
    +	}
    +
     #ifdef QUOTA
    -		if (ump->um_flags & UFS_QUOTA)
    -			error = quota1_handle_cmd_set(ump, type, id, defaultq,
    -			    data);
    -		else
    +	if (ump->um_flags & UFS_QUOTA)
    +		error = quota1_handle_cmd_put(ump, qk, qv);
    +	else
     #endif
     #ifdef QUOTA2
    -		if (ump->um_flags & UFS_QUOTA2) {
    -			error = quota2_handle_cmd_set(ump, type, id, defaultq,
    -			    data);
    -		} else
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		error = quota2_handle_cmd_put(ump, qk, qv);
    +	} else
     #endif
    -			panic("quota_handle_cmd_get: no support ?");
    +		panic("quota_handle_cmd_get: no support ?");
     		
    -		if (error && error != ENOENT)
    -			goto err;
    -	}
    -	prop_object_iterator_release(iter);
    -	if (!prop_dictionary_set_and_rel(cmddict, "data", replies)) {
    -		error = ENOMEM;
    -	} else {
    +	if (error == ENOENT) {
     		error = 0;
     	}
    -	return error;
    -err:
    -	prop_object_iterator_release(iter);
    -	prop_object_release(replies);
    +
     	return error;
     }
     
     static int 
    -quota_handle_cmd_clear(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, int type, prop_array_t datas)
    +quota_handle_cmd_delete(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
     {
    -	prop_array_t replies;
    -	prop_object_iterator_t iter;
    -	prop_dictionary_t data;
    -	uint32_t id;
     	struct ufsmount *ump = VFSTOUFS(mp);
    -	int error, defaultq = 0;
    -	const char *idstr;
    +	const struct quotakey *qk;
    +	id_t kauth_id;
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_DELETE);
    +	qk = args->u.delete.qc_key;
    +
    +	kauth_id = qk->qk_id;
    +	if (kauth_id == QUOTA_DEFAULTID) {
    +		kauth_id = 0;
    +	}
     
     	if ((ump->um_flags & UFS_QUOTA2) == 0)
     		return EOPNOTSUPP;
    -	
    -	replies = prop_array_create();
    -	if (replies == NULL)
    -		return ENOMEM;
     
    -	iter = prop_array_iterator(datas);
    -	if (iter == NULL) {
    -		prop_object_release(replies);
    -		return ENOMEM;
    -	}
    -	while ((data = prop_object_iterator_next(iter)) != NULL) {
    -		if (!prop_dictionary_get_uint32(data, "id", &id)) {
    -			if (!prop_dictionary_get_cstring_nocopy(data, "id",
    -			    &idstr))
    -				continue;
    -			if (strcmp(idstr, "default"))
    -				continue;
    -			id = 0;
    -			defaultq = 1;
    -		} else {
    -			defaultq = 0;
    -		}
    +	/* avoid whitespace changes */
    +	{
     		error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    -		    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(id), NULL);
    +		    KAUTH_REQ_SYSTEM_FS_QUOTA_MANAGE, mp, KAUTH_ARG(kauth_id),
    +		    NULL);
     		if (error != 0)
     			goto err;
     #ifdef QUOTA2
     		if (ump->um_flags & UFS_QUOTA2) {
    -			error = quota2_handle_cmd_clear(ump, type, id, defaultq,
    -			    data);
    +			error = quota2_handle_cmd_delete(ump, qk);
     		} else
     #endif
     			panic("quota_handle_cmd_get: no support ?");
    @@ -466,27 +463,21 @@ quota_handle_cmd_clear(struct mount *mp, struct lwp *l,
     		if (error && error != ENOENT)
     			goto err;
     	}
    -	prop_object_iterator_release(iter);
    -	if (!prop_dictionary_set_and_rel(cmddict, "data", replies)) {
    -		error = ENOMEM;
    -	} else {
    -		error = 0;
    -	}
    -	return error;
    -err:
    -	prop_object_iterator_release(iter);
    -	prop_object_release(replies);
    +
    +	return 0;
    + err:
     	return error;
     }
     
     static int 
    -quota_handle_cmd_getall(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, int type, prop_array_t datas)
    +quota_handle_cmd_cursorget(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
     {
    -	prop_array_t replies;
     	struct ufsmount *ump = VFSTOUFS(mp);
     	int error;
     
    +	KASSERT(args->qc_op == QUOTACTL_CURSORGET);
    +
     	if ((ump->um_flags & UFS_QUOTA2) == 0)
     		return EOPNOTSUPP;
     	
    @@ -495,53 +486,166 @@ quota_handle_cmd_getall(struct mount *mp, struct lwp *l,
     	if (error)
     		return error;
     		
    -	replies = prop_array_create();
    -	if (replies == NULL)
    -		return ENOMEM;
    +#ifdef QUOTA2
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		struct quotakcursor *cursor = args->u.cursorget.qc_cursor;
    +		struct quotakey *keys = args->u.cursorget.qc_keys;
    +		struct quotaval *vals = args->u.cursorget.qc_vals;
    +		unsigned maxnum = args->u.cursorget.qc_maxnum;
    +		unsigned *ret = args->u.cursorget.qc_ret;
    +
    +		error = quota2_handle_cmd_cursorget(ump, cursor, keys, vals,
    +						    maxnum, ret);
    +	} else
    +#endif
    +		panic("quota_handle_cmd_cursorget: no support ?");
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursoropen(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef QUOTA2
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	struct quotakcursor *cursor = args->u.cursoropen.qc_cursor;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSOROPEN);
    +
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, NULL, NULL);
    +	if (error)
    +		return error;
     
     #ifdef QUOTA2
     	if (ump->um_flags & UFS_QUOTA2) {
    -		error = quota2_handle_cmd_getall(ump, type, replies);
    +		error = quota2_handle_cmd_cursoropen(ump, cursor);
     	} else
     #endif
    -		panic("quota_handle_cmd_getall: no support ?");
    -	if (!prop_dictionary_set_and_rel(cmddict, "data", replies)) {
    -		error = ENOMEM;
    -	} else {
    -		error = 0;
    -	}
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorclose(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef QUOTA2
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	struct quotakcursor *cursor = args->u.cursorclose.qc_cursor;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORCLOSE);
    +
    +	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
    +	    KAUTH_REQ_SYSTEM_FS_QUOTA_GET, mp, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +#ifdef QUOTA2
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		error = quota2_handle_cmd_cursorclose(ump, cursor);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorskipidtype(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef QUOTA2
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	struct quotakcursor *cursor = args->u.cursorskipidtype.qc_cursor;
    +	int idtype = args->u.cursorskipidtype.qc_idtype;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORSKIPIDTYPE);
    +
    +#ifdef QUOTA2
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		error = quota2_handle_cmd_cursorskipidtype(ump, cursor, idtype);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursoratend(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef QUOTA2
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	struct quotakcursor *cursor = args->u.cursoratend.qc_cursor;
    +	unsigned *ret = args->u.cursoratend.qc_ret;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORATEND);
    +
    +#ifdef QUOTA2
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		error = quota2_handle_cmd_cursoratend(ump, cursor, ret);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
    +	return error;
    +}
    +
    +static int 
    +quota_handle_cmd_cursorrewind(struct mount *mp, struct lwp *l, 
    +    struct quotactl_args *args)
    +{
    +#ifdef QUOTA2
    +	struct ufsmount *ump = VFSTOUFS(mp);
    +	struct quotakcursor *cursor = args->u.cursorrewind.qc_cursor;
    +#endif
    +	int error;
    +
    +	KASSERT(args->qc_op == QUOTACTL_CURSORREWIND);
    +
    +#ifdef QUOTA2
    +	if (ump->um_flags & UFS_QUOTA2) {
    +		error = quota2_handle_cmd_cursorrewind(ump, cursor);
    +	} else
    +#endif
    +		error = EOPNOTSUPP;
    +
     	return error;
     }
     
     static int 
     quota_handle_cmd_quotaon(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, int type, prop_array_t datas)
    +    struct quotactl_args *args)
     {
    -	prop_dictionary_t data;
     	struct ufsmount *ump = VFSTOUFS(mp);
     	int error;
    -	const char *qfile;
    +
    +	KASSERT(args->qc_op == QUOTACTL_QUOTAON);
     
     	if ((ump->um_flags & UFS_QUOTA2) != 0)
     		return EBUSY;
     	
    -	if (prop_array_count(datas) != 1)
    -		return EINVAL;
    -
    -	data = prop_array_get(datas, 0);
    -	if (data == NULL)
    -		return ENOMEM;
    -	if (!prop_dictionary_get_cstring_nocopy(data, "quotafile",
    -	    &qfile))
    -		return EINVAL;
    -
     	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
     	    KAUTH_REQ_SYSTEM_FS_QUOTA_ONOFF, mp, NULL, NULL);
     	if (error != 0) {
     		return error;
     	}
     #ifdef QUOTA
    -	error = quota1_handle_cmd_quotaon(l, ump, type, qfile);
    +	int idtype = args->u.quotaon.qc_idtype;
    +	const char *qfile = args->u.quotaon.qc_quotafile;
    +	error = quota1_handle_cmd_quotaon(l, ump, idtype, qfile);
     #else
     	error = EOPNOTSUPP;
     #endif
    @@ -551,24 +655,24 @@ quota_handle_cmd_quotaon(struct mount *mp, struct lwp *l,
     
     static int 
     quota_handle_cmd_quotaoff(struct mount *mp, struct lwp *l, 
    -    prop_dictionary_t cmddict, int type, prop_array_t datas)
    +    struct quotactl_args *args)
     {
     	struct ufsmount *ump = VFSTOUFS(mp);
     	int error;
     
    +	KASSERT(args->qc_op == QUOTACTL_QUOTAOFF);
    +
     	if ((ump->um_flags & UFS_QUOTA2) != 0)
     		return EOPNOTSUPP;
     	
    -	if (prop_array_count(datas) != 0)
    -		return EINVAL;
    -
     	error = kauth_authorize_system(l->l_cred, KAUTH_SYSTEM_FS_QUOTA,
     	    KAUTH_REQ_SYSTEM_FS_QUOTA_ONOFF, mp, NULL, NULL);
     	if (error != 0) {
     		return error;
     	}
     #ifdef QUOTA
    -	error = quota1_handle_cmd_quotaoff(l, ump, type);
    +	int idtype = args->u.quotaoff.qc_idtype;
    +	error = quota1_handle_cmd_quotaoff(l, ump, idtype);
     #else
     	error = EOPNOTSUPP;
     #endif
    diff --git a/sys/ufs/ufs/ufs_quota.h b/sys/ufs/ufs/ufs_quota.h
    index efc87f1a8..56f53a874 100644
    --- a/sys/ufs/ufs/ufs_quota.h
    +++ b/sys/ufs/ufs/ufs_quota.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_quota.h,v 1.2 2011/03/06 17:08:39 bouyer Exp $	*/
    +/*	$NetBSD: ufs_quota.h,v 1.21 2012/02/18 06:13:23 matt Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1990, 1993, 1995
    @@ -36,6 +36,9 @@
     #include 
     #include 
     
    +struct quotakcursor; /* from  */
    +
    +
     /* link to this quota in the quota inode (for QUOTA2) */
     struct dq2_desc {
     	uint64_t dq2_lblkno; /* logical disk block holding this quota */
    @@ -100,7 +103,7 @@ extern kcondvar_t dqcv;
     /*
      * Quota name to error message mapping.
      */
    -const char *quotatypes[MAXQUOTAS];
    +extern const char *quotatypes[MAXQUOTAS];
     
     int  getinoquota(struct inode *);
     int  dqget(struct vnode *, u_long, struct ufsmount *, int, struct dquot **);
    @@ -113,18 +116,30 @@ int chkiq1(struct inode *, int32_t, kauth_cred_t, int);
     int q1sync(struct mount *);
     int dq1get(struct vnode *, u_long, struct ufsmount *, int, struct dquot *);
     int dq1sync(struct vnode *, struct dquot *);
    -int quota1_handle_cmd_get(struct ufsmount *, int, int, int, prop_array_t);
    -int quota1_handle_cmd_set(struct ufsmount *, int, int, int, prop_dictionary_t);
    +int quota1_handle_cmd_get(struct ufsmount *, const struct quotakey *,
    +    struct quotaval *);
    +int quota1_handle_cmd_put(struct ufsmount *, const struct quotakey *,
    +    const struct quotaval *);
     int quota1_handle_cmd_quotaon(struct lwp *, struct ufsmount *, int,
         const char *);
     int quota1_handle_cmd_quotaoff(struct lwp *, struct ufsmount *, int);
     
     int chkdq2(struct inode *, int64_t, kauth_cred_t, int);
     int chkiq2(struct inode *, int32_t, kauth_cred_t, int);
    -int quota2_handle_cmd_get(struct ufsmount *, int, int, int, prop_array_t);
    -int quota2_handle_cmd_set(struct ufsmount *, int, int, int, prop_dictionary_t);
    -int quota2_handle_cmd_clear(struct ufsmount *, int, int, int, prop_dictionary_t);
    -int quota2_handle_cmd_getall(struct ufsmount *, int, prop_array_t);
    +int quota2_handle_cmd_get(struct ufsmount *, const struct quotakey *,
    +    struct quotaval *);
    +int quota2_handle_cmd_put(struct ufsmount *, const struct quotakey *,
    +    const struct quotaval *);
    +int quota2_handle_cmd_delete(struct ufsmount *, const struct quotakey *);
    +int quota2_handle_cmd_cursorget(struct ufsmount *, struct quotakcursor *,
    +    struct quotakey *, struct quotaval *, unsigned, unsigned *);
    +int quota2_handle_cmd_cursoropen(struct ufsmount *, struct quotakcursor *);
    +int quota2_handle_cmd_cursorclose(struct ufsmount *, struct quotakcursor *);
    +int quota2_handle_cmd_cursorskipidtype(struct ufsmount *, struct quotakcursor *,
    +    int);
    +int quota2_handle_cmd_cursoratend(struct ufsmount *, struct quotakcursor *,
    +    int *);
    +int quota2_handle_cmd_cursorrewind(struct ufsmount *, struct quotakcursor *);
     int q2sync(struct mount *);
     int dq2get(struct vnode *, u_long, struct ufsmount *, int, struct dquot *);
     int dq2sync(struct vnode *, struct dquot *);
    diff --git a/sys/ufs/ufs/ufs_quota1.c b/sys/ufs/ufs/ufs_quota1.c
    index 4fdb57c95..7d7e823fe 100644
    --- a/sys/ufs/ufs/ufs_quota1.c
    +++ b/sys/ufs/ufs/ufs_quota1.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_quota1.c,v 1.6 2011/11/25 16:55:05 dholland Exp $	*/
    +/*	$NetBSD: ufs_quota1.c,v 1.18 2012/02/02 03:00:48 matt Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1990, 1993, 1995
    @@ -35,7 +35,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_quota1.c,v 1.6 2011/11/25 16:55:05 dholland Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_quota1.c,v 1.18 2012/02/02 03:00:48 matt Exp $");
     
     #include 
     #include 
    @@ -47,7 +47,6 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_quota1.c,v 1.6 2011/11/25 16:55:05 dholland Exp
     #include 
     #include 
     
    -#include 
     #include 
     #include 
     #include 
    @@ -493,102 +492,114 @@ again:
     }
     
     int             
    -quota1_handle_cmd_get(struct ufsmount *ump, int type, int id,
    -    int defaultq, prop_array_t replies)
    +quota1_handle_cmd_get(struct ufsmount *ump, const struct quotakey *qk,
    +    struct quotaval *qv)
     {
     	struct dquot *dq;
    -	struct quotaval qv[QUOTA_NLIMITS];
    -	prop_dictionary_t dict;
     	int error;
    -	uint64_t *valuesp[QUOTA_NLIMITS];
    -	valuesp[QUOTA_LIMIT_BLOCK] = &qv[QUOTA_LIMIT_BLOCK].qv_hardlimit;
    -	valuesp[QUOTA_LIMIT_FILE] = &qv[QUOTA_LIMIT_FILE].qv_hardlimit;
    +	struct quotaval blocks, files;
    +	int idtype;
    +	id_t id;
     
    +	idtype = qk->qk_idtype;
    +	id = qk->qk_id;
     
    -	if (ump->um_quotas[type] == NULLVP)
    +	if (ump->um_quotas[idtype] == NULLVP)
     		return ENODEV;
     
    -	if (defaultq) { /* we want the grace period of id 0 */
    -		if ((error = dqget(NULLVP, 0, ump, type, &dq)) != 0)
    +	if (id == QUOTA_DEFAULTID) { /* we want the grace period of id 0 */
    +		if ((error = dqget(NULLVP, 0, ump, idtype, &dq)) != 0)
     			return error;
     
     	} else {
    -		if ((error = dqget(NULLVP, id, ump, type, &dq)) != 0)
    +		if ((error = dqget(NULLVP, id, ump, idtype, &dq)) != 0)
     			return error;
     	}
    -	dqblk_to_quotaval(&dq->dq_un.dq1_dqb, qv);
    +	dqblk_to_quotavals(&dq->dq_un.dq1_dqb, &blocks, &files);
     	dqrele(NULLVP, dq);
    -	if (defaultq) {
    -		if (qv[QUOTA_LIMIT_BLOCK].qv_expiretime > 0)
    -			qv[QUOTA_LIMIT_BLOCK].qv_grace =
    -			    qv[QUOTA_LIMIT_BLOCK].qv_expiretime;
    +	if (id == QUOTA_DEFAULTID) {
    +		if (blocks.qv_expiretime > 0)
    +			blocks.qv_grace = blocks.qv_expiretime;
     		else
    -			qv[QUOTA_LIMIT_BLOCK].qv_grace = MAX_DQ_TIME;
    -		if (qv[QUOTA_LIMIT_FILE].qv_expiretime > 0)
    -			qv[QUOTA_LIMIT_FILE].qv_grace =
    -			    qv[QUOTA_LIMIT_FILE].qv_expiretime;
    +			blocks.qv_grace = MAX_DQ_TIME;
    +		if (files.qv_expiretime > 0)
    +			files.qv_grace = files.qv_expiretime;
     		else
    -			qv[QUOTA_LIMIT_FILE].qv_grace = MAX_DQ_TIME;
    +			files.qv_grace = MAX_DQ_TIME;
     	}
    -	dict = quota64toprop(id, defaultq, valuesp,
    -	    ufs_quota_entry_names, UFS_QUOTA_NENTRIES,
    -	    ufs_quota_limit_names, QUOTA_NLIMITS);
    -	if (dict == NULL)
    -		return ENOMEM;
    -	if (!prop_array_add_and_rel(replies, dict))
    -		return ENOMEM;
    +
    +	switch (qk->qk_objtype) {
    +	    case QUOTA_OBJTYPE_BLOCKS:
    +		*qv = blocks;
    +		break;
    +	    case QUOTA_OBJTYPE_FILES:
    +		*qv = files;
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
     	return 0;
     }
     
    +static uint32_t
    +quota1_encode_limit(uint64_t lim)
    +{
    +	if (lim == QUOTA_NOLIMIT || lim >= 0xffffffff) {
    +		return 0;
    +	}
    +	return lim;
    +}
    +
     int
    -quota1_handle_cmd_set(struct ufsmount *ump, int type, int id,
    -    int defaultq, prop_dictionary_t data)
    +quota1_handle_cmd_put(struct ufsmount *ump, const struct quotakey *key,
    +    const struct quotaval *val)
     {
     	struct dquot *dq;
     	struct dqblk dqb;
     	int error;
    -	uint64_t bval[2];
    -	uint64_t ival[2];
    -	const char *val_limitsonly_grace[] = {QUOTADICT_LIMIT_GTIME};
    -#define Q1_GTIME 0
    -	const char *val_limitsonly_softhard[] =
    -	    {QUOTADICT_LIMIT_SOFT, QUOTADICT_LIMIT_HARD};
    -#define Q1_SOFT 0
    -#define Q1_HARD 1
     
    -	uint64_t *valuesp[QUOTA_NLIMITS];
    -	valuesp[QUOTA_LIMIT_BLOCK] = bval;
    -	valuesp[QUOTA_LIMIT_FILE] = ival;
    +	switch (key->qk_idtype) {
    +	    case QUOTA_IDTYPE_USER:
    +	    case QUOTA_IDTYPE_GROUP:
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
     
    -	if (ump->um_quotas[type] == NULLVP)
    +	switch (key->qk_objtype) {
    +	    case QUOTA_OBJTYPE_BLOCKS:
    +	    case QUOTA_OBJTYPE_FILES:
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
    +	if (ump->um_quotas[key->qk_idtype] == NULLVP)
     		return ENODEV;
     
    -	if (defaultq) {
    +	if (key->qk_id == QUOTA_DEFAULTID) {
     		/* just update grace times */
    -		error = proptoquota64(data, valuesp, val_limitsonly_grace, 1,
    -		    ufs_quota_limit_names, QUOTA_NLIMITS);
    -		if (error)
    -			return error;
    -		if ((error = dqget(NULLVP, id, ump, type, &dq)) != 0)
    +		id_t id = 0;
    +
    +		if ((error = dqget(NULLVP, id, ump, key->qk_idtype, &dq)) != 0)
     			return error;
     		mutex_enter(&dq->dq_interlock);
    -		if (bval[Q1_GTIME] > 0)
    -			ump->umq1_btime[type] = dq->dq_btime =
    -			    bval[Q1_GTIME];
    -		if (ival[Q1_GTIME] > 0)
    -			ump->umq1_itime[type] = dq->dq_itime =
    -			    ival[Q1_GTIME];
    -		mutex_exit(&dq->dq_interlock);
    +		if (val->qv_grace != QUOTA_NOTIME) {
    +			if (key->qk_objtype == QUOTA_OBJTYPE_BLOCKS)
    +				ump->umq1_btime[key->qk_idtype] = dq->dq_btime =
    +					val->qv_grace;
    +			if (key->qk_objtype == QUOTA_OBJTYPE_FILES)
    +				ump->umq1_itime[key->qk_idtype] = dq->dq_itime =
    +					val->qv_grace;
    +		}
     		dq->dq_flags |= DQ_MOD;
    +		mutex_exit(&dq->dq_interlock);
     		dqrele(NULLVP, dq);
     		return 0;
     	}
    -	error = proptoquota64(data, valuesp, val_limitsonly_softhard, 2,
    -	    ufs_quota_limit_names, QUOTA_NLIMITS);
    -	if (error)
    -		return error;
     
    -	if ((error = dqget(NULLVP, id, ump, type, &dq)) != 0)
    +	if ((error = dqget(NULLVP, key->qk_id, ump, key->qk_idtype, &dq)) != 0)
     		return (error);
     	mutex_enter(&dq->dq_interlock);
     	/*
    @@ -600,30 +611,37 @@ quota1_handle_cmd_set(struct ufsmount *ump, int type, int id,
     	dqb.dqb_curinodes = dq->dq_curinodes;
     	dqb.dqb_btime = dq->dq_btime;
     	dqb.dqb_itime = dq->dq_itime;
    -	dqb.dqb_bsoftlimit = (bval[Q1_SOFT] == UQUAD_MAX) ? 0 : bval[Q1_SOFT];
    -	dqb.dqb_bhardlimit = (bval[Q1_HARD] == UQUAD_MAX) ? 0 : bval[Q1_HARD];
    -	dqb.dqb_isoftlimit = (ival[Q1_SOFT] == UQUAD_MAX) ? 0 : ival[Q1_SOFT];
    -	dqb.dqb_ihardlimit = (ival[Q1_HARD] == UQUAD_MAX) ? 0 : ival[Q1_HARD];
    -	if (dq->dq_id == 0) {
    +	if (key->qk_objtype == QUOTA_OBJTYPE_BLOCKS) {
    +		dqb.dqb_bsoftlimit = quota1_encode_limit(val->qv_softlimit);
    +		dqb.dqb_bhardlimit = quota1_encode_limit(val->qv_hardlimit);
    +		dqb.dqb_isoftlimit = dq->dq_isoftlimit;
    +		dqb.dqb_ihardlimit = dq->dq_ihardlimit;
    +	} else {
    +		KASSERT(key->qk_objtype == QUOTA_OBJTYPE_FILES);
    +		dqb.dqb_bsoftlimit = dq->dq_bsoftlimit;
    +		dqb.dqb_bhardlimit = dq->dq_bhardlimit;
    +		dqb.dqb_isoftlimit = quota1_encode_limit(val->qv_softlimit);
    +		dqb.dqb_ihardlimit = quota1_encode_limit(val->qv_hardlimit);
    +	}
    +	if (dq->dq_id == 0 && val->qv_grace != QUOTA_NOTIME) {
     		/* also update grace time if available */
    -		if (proptoquota64(data, valuesp, val_limitsonly_grace, 1,
    -		    ufs_quota_limit_names, QUOTA_NLIMITS) == 0) {
    -			if (bval[Q1_GTIME] > 0)
    -				ump->umq1_btime[type] = dqb.dqb_btime =
    -				    bval[Q1_GTIME];
    -			if (ival[Q1_GTIME] > 0)
    -				ump->umq1_itime[type] = dqb.dqb_itime =
    -				    ival[Q1_GTIME];
    +		if (key->qk_objtype == QUOTA_OBJTYPE_BLOCKS) {
    +			ump->umq1_btime[key->qk_idtype] = dqb.dqb_btime =
    +				val->qv_grace;
    +		}
    +		if (key->qk_objtype == QUOTA_OBJTYPE_FILES) {
    +			ump->umq1_itime[key->qk_idtype] = dqb.dqb_itime =
    +				val->qv_grace;
     		}
     	}
     	if (dqb.dqb_bsoftlimit &&
     	    dq->dq_curblocks >= dqb.dqb_bsoftlimit &&
     	    (dq->dq_bsoftlimit == 0 || dq->dq_curblocks < dq->dq_bsoftlimit))
    -		dqb.dqb_btime = time_second + ump->umq1_btime[type];
    +		dqb.dqb_btime = time_second + ump->umq1_btime[key->qk_idtype];
     	if (dqb.dqb_isoftlimit &&
     	    dq->dq_curinodes >= dqb.dqb_isoftlimit &&
     	    (dq->dq_isoftlimit == 0 || dq->dq_curinodes < dq->dq_isoftlimit))
    -		dqb.dqb_itime = time_second + ump->umq1_itime[type];
    +		dqb.dqb_itime = time_second + ump->umq1_itime[key->qk_idtype];
     	dq->dq_un.dq1_dqb = dqb;
     	if (dq->dq_curblocks < dq->dq_bsoftlimit)
     		dq->dq_flags &= ~DQ_WARN(QL_BLOCK);
    diff --git a/sys/ufs/ufs/ufs_quota2.c b/sys/ufs/ufs/ufs_quota2.c
    index 823e398bd..2746454f2 100644
    --- a/sys/ufs/ufs/ufs_quota2.c
    +++ b/sys/ufs/ufs/ufs_quota2.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: ufs_quota2.c,v 1.4 2011/06/07 14:56:13 bouyer Exp $ */
    +/* $NetBSD: ufs_quota2.c,v 1.36 2013/10/20 00:29:10 htodd Exp $ */
     /*-
       * Copyright (c) 2010 Manuel Bouyer
       * All rights reserved.
    @@ -26,13 +26,12 @@
       */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_quota2.c,v 1.4 2011/06/07 14:56:13 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_quota2.c,v 1.36 2013/10/20 00:29:10 htodd Exp $");
     
     #include 
     #include 
     #include 
     #include 
    -#include 
     #include 
     #include 
     #include 
    @@ -41,6 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_quota2.c,v 1.4 2011/06/07 14:56:13 bouyer Exp $"
     #include 
     #include 
     #include 
    +#include 
    +#include 
     
     #include 
     #include 
    @@ -49,7 +50,6 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_quota2.c,v 1.4 2011/06/07 14:56:13 bouyer Exp $"
     #include 
     #include 
     #include 
    -#include 
     
     /*
      * LOCKING:
    @@ -73,66 +73,53 @@ static int quota2_walk_list(struct ufsmount *, struct buf *, int,
         int (*func)(struct ufsmount *, uint64_t *, struct quota2_entry *,
           uint64_t, void *));
     
    -static int quota2_dict_update_q2e_limits(prop_dictionary_t,
    -    struct quota2_entry *);
    -static prop_dictionary_t q2etoprop(struct quota2_entry *, int);
    -
     static const char *limnames[] = INITQLNAMES;
     
    -static int
    -quota2_dict_update_q2e_limits(prop_dictionary_t data,
    +static void
    +quota2_dict_update_q2e_limits(int objtype, const struct quotaval *val,
         struct quota2_entry *q2e)
     {
    -	const char *val_limitsonly_names[] = INITQVNAMES_LIMITSONLY;
    +	/* make sure we can index q2e_val[] by the fs-independent objtype */
    +	CTASSERT(QUOTA_OBJTYPE_BLOCKS == QL_BLOCK);
    +	CTASSERT(QUOTA_OBJTYPE_FILES == QL_FILE);
     
    -	int i, error;
    -	prop_dictionary_t val;
    -
    -	for (i = 0; i < N_QL; i++) {
    -		if (!prop_dictionary_get_dict(data, limnames[i], &val))
    -			return EINVAL;
    -		error = quotaprop_dict_get_uint64(val,
    -		    &q2e->q2e_val[i].q2v_hardlimit,
    -		    val_limitsonly_names, N_QV, true);
    -		if (error)
    -			return error;
    -	}
    -	return 0;
    +	q2e->q2e_val[objtype].q2v_hardlimit = val->qv_hardlimit;
    +	q2e->q2e_val[objtype].q2v_softlimit = val->qv_softlimit;
    +	q2e->q2e_val[objtype].q2v_grace = val->qv_grace;
     }
    -static prop_dictionary_t
    -q2etoprop(struct quota2_entry *q2e, int def)
    +
    +/*
    + * Convert internal representation to FS-independent representation.
    + * (Note that while the two types are currently identical, the
    + * internal representation is an on-disk struct and the FS-independent
    + * representation is not, and they might diverge in the future.)
    + */
    +static void
    +q2val_to_quotaval(struct quota2_val *q2v, struct quotaval *qv)
     {
    -	const char *val_names[] = INITQVNAMES_ALL;
    -	prop_dictionary_t dict1 = prop_dictionary_create();
    -	prop_dictionary_t dict2;
    -	int i;
    -
    -	if (dict1 == NULL)
    -		return NULL;
    +	qv->qv_softlimit = q2v->q2v_softlimit;
    +	qv->qv_hardlimit = q2v->q2v_hardlimit;
    +	qv->qv_usage = q2v->q2v_cur;
    +	qv->qv_expiretime = q2v->q2v_time;
    +	qv->qv_grace = q2v->q2v_grace;
    +}
     
    +/*
    + * Convert a quota2entry and default-flag to the FS-independent
    + * representation.
    + */
    +static void
    +q2e_to_quotaval(struct quota2_entry *q2e, int def,
    +	       id_t *id, int objtype, struct quotaval *ret)
    +{
     	if (def) {
    -		if (!prop_dictionary_set_cstring_nocopy(dict1, "id",
    -		    "default")) {
    -			goto err;
    -		}
    +		*id = QUOTA_DEFAULTID;
     	} else {
    -		if (!prop_dictionary_set_uint32(dict1, "id", q2e->q2e_uid)) {
    -			goto err;
    -		}
    +		*id = q2e->q2e_uid;
     	}
    -	for (i = 0; i < N_QL; i++) {
    -		dict2 = limits64toprop(&q2e->q2e_val[i].q2v_hardlimit,
    -		    val_names, N_QV);
    -		if (dict2 == NULL)
    -			goto err;
    -		if (!prop_dictionary_set_and_rel(dict1, limnames[i], dict2))
    -			goto err;
    -	}
    -	return dict1;
     
    -err:
    -	prop_object_release(dict1);
    -	return NULL;
    +	KASSERT(objtype >= 0 && objtype < N_QL);
    +	q2val_to_quotaval(&q2e->q2e_val[objtype], ret);
     }
     
     
    @@ -151,9 +138,7 @@ static int
     getq2h(struct ufsmount *ump, int type,
         struct buf **bpp, struct quota2_header **q2hp, int flags)
     {
    -#ifdef FFS_EI
     	const int needswap = UFS_MPNEEDSWAP(ump);
    -#endif
     	int error;
     	struct buf *bp;
     	struct quota2_header *q2h;
    @@ -207,9 +192,7 @@ quota2_walk_list(struct ufsmount *ump, struct buf *hbp, int type,
         uint64_t *offp, int flags, void *a,
         int (*func)(struct ufsmount *, uint64_t *, struct quota2_entry *, uint64_t, void *))
     {
    -#ifdef FFS_EI
     	const int needswap = UFS_MPNEEDSWAP(ump);
    -#endif
     	daddr_t off = ufs_rw64(*offp, needswap);
     	struct buf *bp, *obp = hbp;
     	int ret = 0, ret2 = 0;
    @@ -303,8 +286,7 @@ quota2_umount(struct mount *mp, int flags)
     }
     
     static int 
    -quota2_q2ealloc(struct ufsmount *ump, int type, uid_t uid, struct dquot *dq,
    -    struct buf **bpp, struct quota2_entry **q2ep)
    +quota2_q2ealloc(struct ufsmount *ump, int type, uid_t uid, struct dquot *dq)
     {
     	int error, error2;
     	struct buf *hbp, *bp;
    @@ -374,8 +356,7 @@ quota2_q2ealloc(struct ufsmount *ump, int type, uid_t uid, struct dquot *dq,
     	if (hbp != bp) {
     		bwrite(hbp);
     	}
    -	*q2ep = q2e;
    -	*bpp = bp;
    +	bwrite(bp);
     	return 0;
     }
     
    @@ -429,22 +410,28 @@ getinoquota2(struct inode *ip, bool alloc, bool modify, struct buf **bpp,
     			}
     			/* need to alloc a new on-disk quot */
     			mutex_enter(&dqlock);
    -			error = quota2_q2ealloc(ump, i, ino_ids[i], dq,
    -			    &bpp[i], &q2ep[i]);
    +			error = quota2_q2ealloc(ump, i, ino_ids[i], dq);
     			mutex_exit(&dqlock);
     			if (error)
     				return error;
    -		} else {
    -			error = getq2e(ump, i, dq->dq2_lblkno,
    -			    dq->dq2_blkoff, &bpp[i], &q2ep[i],
    -			    modify ? B_MODIFY : 0);
    -			if (error)
    -				return error;
     		}
    +		KASSERT(dq->dq2_lblkno != 0 || dq->dq2_blkoff != 0);
    +		error = getq2e(ump, i, dq->dq2_lblkno,
    +		    dq->dq2_blkoff, &bpp[i], &q2ep[i],
    +		    modify ? B_MODIFY : 0);
    +		if (error)
    +			return error;
     	}
     	return 0;
     }
     
    +__inline static int __unused
    +quota2_check_limit(struct quota2_val *q2v, uint64_t change, time_t now)
    +{
    +	return quota_check_limit(q2v->q2v_cur, change, q2v->q2v_softlimit,
    +	    q2v->q2v_hardlimit, q2v->q2v_time, now);
    +}
    +
     static int
     quota2_check(struct inode *ip, int vtype, int64_t change, kauth_cred_t cred,
         int flags)
    @@ -585,8 +572,8 @@ chkiq2(struct inode *ip, int32_t change, kauth_cred_t cred, int flags)
     }
     
     int
    -quota2_handle_cmd_set(struct ufsmount *ump, int type, int id,
    -    int defaultq, prop_dictionary_t data)
    +quota2_handle_cmd_put(struct ufsmount *ump, const struct quotakey *key,
    +    const struct quotaval *val)
     {
     	int error;
     	struct dquot *dq;
    @@ -595,33 +582,32 @@ quota2_handle_cmd_set(struct ufsmount *ump, int type, int id,
     	struct buf *bp;
     	const int needswap = UFS_MPNEEDSWAP(ump);
     
    -	if (ump->um_quotas[type] == NULLVP)
    +	/* make sure we can index by the fs-independent idtype */
    +	CTASSERT(QUOTA_IDTYPE_USER == USRQUOTA);
    +	CTASSERT(QUOTA_IDTYPE_GROUP == GRPQUOTA);
    +
    +	if (ump->um_quotas[key->qk_idtype] == NULLVP)
     		return ENODEV;
     	error = UFS_WAPBL_BEGIN(ump->um_mountp);
     	if (error)
     		return error;
     	
    -	if (defaultq) {
    +	if (key->qk_id == QUOTA_DEFAULTID) {
     		mutex_enter(&dqlock);
    -		error = getq2h(ump, type, &bp, &q2h, B_MODIFY);
    +		error = getq2h(ump, key->qk_idtype, &bp, &q2h, B_MODIFY);
     		if (error) {
     			mutex_exit(&dqlock);
     			goto out_wapbl;
     		}
     		quota2_ufs_rwq2e(&q2h->q2h_defentry, &q2e, needswap);
    -		error = quota2_dict_update_q2e_limits(data, &q2e);
    -		if (error) {
    -			mutex_exit(&dqlock);
    -			brelse(bp, 0);
    -			goto out_wapbl;
    -		}
    +		quota2_dict_update_q2e_limits(key->qk_objtype, val, &q2e);
     		quota2_ufs_rwq2e(&q2e, &q2h->q2h_defentry, needswap);
     		mutex_exit(&dqlock);
     		quota2_bwrite(ump->um_mountp, bp);
     		goto out_wapbl;
     	}
     
    -	error = dqget(NULLVP, id, ump, type, &dq);
    +	error = dqget(NULLVP, key->qk_id, ump, key->qk_idtype, &dq);
     	if (error)
     		goto out_wapbl;
     
    @@ -629,21 +615,19 @@ quota2_handle_cmd_set(struct ufsmount *ump, int type, int id,
     	if (dq->dq2_lblkno == 0 && dq->dq2_blkoff == 0) {
     		/* need to alloc a new on-disk quot */
     		mutex_enter(&dqlock);
    -		error = quota2_q2ealloc(ump, type, id, dq, &bp, &q2ep);
    +		error = quota2_q2ealloc(ump, key->qk_idtype, key->qk_id, dq);
     		mutex_exit(&dqlock);
    -	} else {
    -		error = getq2e(ump, type, dq->dq2_lblkno, dq->dq2_blkoff,
    -		    &bp, &q2ep, B_MODIFY);
    +		if (error)
    +			goto out_il;
     	}
    +	KASSERT(dq->dq2_lblkno != 0 || dq->dq2_blkoff != 0);
    +	error = getq2e(ump, key->qk_idtype, dq->dq2_lblkno,
    +	    dq->dq2_blkoff, &bp, &q2ep, B_MODIFY);
     	if (error)
     		goto out_il;
     	
     	quota2_ufs_rwq2e(q2ep, &q2e, needswap);
    -	error = quota2_dict_update_q2e_limits(data, &q2e);
    -	if (error) {
    -		brelse(bp, 0);
    -		goto out_il;
    -	}
    +	quota2_dict_update_q2e_limits(key->qk_objtype, val, &q2e);
     	quota2_ufs_rwq2e(&q2e, q2ep, needswap);
     	quota2_bwrite(ump->um_mountp, bp);
     
    @@ -666,9 +650,7 @@ dq2clear_callback(struct ufsmount *ump, uint64_t *offp, struct quota2_entry *q2e
         uint64_t off, void *v)
     {
     	struct dq2clear_callback *c = v;
    -#ifdef FFS_EI
     	const int needswap = UFS_MPNEEDSWAP(ump);
    -#endif
     	uint64_t myoff;
     
     	if (ufs_rw32(q2e->q2e_uid, needswap) == c->id) {
    @@ -686,10 +668,12 @@ dq2clear_callback(struct ufsmount *ump, uint64_t *offp, struct quota2_entry *q2e
     	return 0;
     }
     int
    -quota2_handle_cmd_clear(struct ufsmount *ump, int type, int id,
    -    int defaultq, prop_dictionary_t data)
    +quota2_handle_cmd_delete(struct ufsmount *ump, const struct quotakey *qk)
     {
    -	int error, i;
    +	int idtype;
    +	id_t id;
    +	int objtype;
    +	int error, i, canfree;
     	struct dquot *dq;
     	struct quota2_header *q2h;
     	struct quota2_entry q2e, *q2ep;
    @@ -697,14 +681,18 @@ quota2_handle_cmd_clear(struct ufsmount *ump, int type, int id,
     	u_long hash_mask;
     	struct dq2clear_callback c;
     
    -	if (ump->um_quotas[type] == NULLVP)
    +	idtype = qk->qk_idtype;
    +	id = qk->qk_id;
    +	objtype = qk->qk_objtype;
    +
    +	if (ump->um_quotas[idtype] == NULLVP)
     		return ENODEV;
    -	if (defaultq)
    +	if (id == QUOTA_DEFAULTID)
     		return EOPNOTSUPP;
     
     	/* get the default entry before locking the entry's buffer */
     	mutex_enter(&dqlock);
    -	error = getq2h(ump, type, &hbp, &q2h, 0);
    +	error = getq2h(ump, idtype, &hbp, &q2h, 0);
     	if (error) {
     		mutex_exit(&dqlock);
     		return error;
    @@ -714,7 +702,7 @@ quota2_handle_cmd_clear(struct ufsmount *ump, int type, int id,
     	mutex_exit(&dqlock);
     	brelse(hbp, 0);
     
    -	error = dqget(NULLVP, id, ump, type, &dq);
    +	error = dqget(NULLVP, id, ump, idtype, &dq);
     	if (error)
     		return error;
     
    @@ -728,30 +716,48 @@ quota2_handle_cmd_clear(struct ufsmount *ump, int type, int id,
     	if (error)
     		goto out_dq;
     	
    -	error = getq2e(ump, type, dq->dq2_lblkno, dq->dq2_blkoff,
    +	error = getq2e(ump, idtype, dq->dq2_lblkno, dq->dq2_blkoff,
     	    &bp, &q2ep, B_MODIFY);
     	if (error)
     		goto out_wapbl;
     
    -	if (q2ep->q2e_val[QL_BLOCK].q2v_cur != 0 ||
    -	    q2ep->q2e_val[QL_FILE].q2v_cur != 0) {
    -		/* can't free this entry; revert to default */
    -		for (i = 0; i < N_QL; i++) {
    -			q2ep->q2e_val[i].q2v_softlimit =
    -			    q2e.q2e_val[i].q2v_softlimit;
    -			q2ep->q2e_val[i].q2v_hardlimit =
    -			    q2e.q2e_val[i].q2v_hardlimit;
    -			q2ep->q2e_val[i].q2v_grace =
    -			    q2e.q2e_val[i].q2v_grace;
    -			q2ep->q2e_val[i].q2v_time = 0;
    +	/* make sure we can index by the objtype passed in */
    +	CTASSERT(QUOTA_OBJTYPE_BLOCKS == QL_BLOCK);
    +	CTASSERT(QUOTA_OBJTYPE_FILES == QL_FILE);
    +
    +	/* clear the requested objtype by copying from the default entry */
    +	q2ep->q2e_val[objtype].q2v_softlimit =
    +		q2e.q2e_val[objtype].q2v_softlimit;
    +	q2ep->q2e_val[objtype].q2v_hardlimit =
    +		q2e.q2e_val[objtype].q2v_hardlimit;
    +	q2ep->q2e_val[objtype].q2v_grace =
    +		q2e.q2e_val[objtype].q2v_grace;
    +	q2ep->q2e_val[objtype].q2v_time = 0;
    +
    +	/* if this entry now contains no information, we can free it */
    +	canfree = 1;
    +	for (i = 0; i < N_QL; i++) {
    +		if (q2ep->q2e_val[i].q2v_cur != 0 ||
    +		    (q2ep->q2e_val[i].q2v_softlimit != 
    +		     q2e.q2e_val[i].q2v_softlimit) ||
    +		    (q2ep->q2e_val[i].q2v_hardlimit != 
    +		     q2e.q2e_val[i].q2v_hardlimit) ||
    +		    (q2ep->q2e_val[i].q2v_grace != 
    +		     q2e.q2e_val[i].q2v_grace)) {
    +			canfree = 0;
    +			break;
     		}
    +		/* note: do not need to check q2v_time */
    +	}
    +
    +	if (canfree == 0) {
     		quota2_bwrite(ump->um_mountp, bp);
     		goto out_wapbl;
     	}
     	/* we can free it. release bp so we can walk the list */
     	brelse(bp, 0);
     	mutex_enter(&dqlock);
    -	error = getq2h(ump, type, &hbp, &q2h, 0);
    +	error = getq2h(ump, idtype, &hbp, &q2h, 0);
     	if (error)
     		goto out_dqlock;
     
    @@ -759,7 +765,7 @@ quota2_handle_cmd_clear(struct ufsmount *ump, int type, int id,
     	c.dq = dq;
     	c.id = id;
     	c.q2h = q2h;
    -	error = quota2_walk_list(ump, hbp, type,
    +	error = quota2_walk_list(ump, hbp, idtype,
     	    &q2h->q2h_entries[id & hash_mask], B_MODIFY, &c,
     	    dq2clear_callback);
     
    @@ -777,17 +783,16 @@ out_dq:
     }
     
     static int
    -quota2_array_add_q2e(struct ufsmount *ump, int type,
    -    int id, prop_array_t replies)
    +quota2_fetch_q2e(struct ufsmount *ump, const struct quotakey *qk,
    +    struct quota2_entry *ret)
     {
     	struct dquot *dq;
     	int error;
    -	struct quota2_entry *q2ep, q2e;
    -	struct buf  *bp;
    +	struct quota2_entry *q2ep;
    +	struct buf *bp;
     	const int needswap = UFS_MPNEEDSWAP(ump);
    -	prop_dictionary_t dict;
     
    -	error = dqget(NULLVP, id, ump, type, &dq);
    +	error = dqget(NULLVP, qk->qk_id, ump, qk->qk_idtype, &dq);
     	if (error)
     		return error;
     
    @@ -797,7 +802,43 @@ quota2_array_add_q2e(struct ufsmount *ump, int type,
     		dqrele(NULLVP, dq);
     		return ENOENT;
     	}
    -	error = getq2e(ump, type, dq->dq2_lblkno, dq->dq2_blkoff,
    +	error = getq2e(ump, qk->qk_idtype, dq->dq2_lblkno, dq->dq2_blkoff,
    +	    &bp, &q2ep, 0);
    +	if (error) {
    +		mutex_exit(&dq->dq_interlock);
    +		dqrele(NULLVP, dq);
    +		return error;
    +	}
    +	quota2_ufs_rwq2e(q2ep, ret, needswap);
    +	brelse(bp, 0);
    +	mutex_exit(&dq->dq_interlock);
    +	dqrele(NULLVP, dq);
    +
    +	return 0;
    +}
    +
    +static int
    +quota2_fetch_quotaval(struct ufsmount *ump, const struct quotakey *qk,
    +    struct quotaval *ret)
    +{
    +	struct dquot *dq;
    +	int error;
    +	struct quota2_entry *q2ep, q2e;
    +	struct buf  *bp;
    +	const int needswap = UFS_MPNEEDSWAP(ump);
    +	id_t id2;
    +
    +	error = dqget(NULLVP, qk->qk_id, ump, qk->qk_idtype, &dq);
    +	if (error)
    +		return error;
    +
    +	mutex_enter(&dq->dq_interlock);
    +	if (dq->dq2_lblkno == 0 && dq->dq2_blkoff == 0) {
    +		mutex_exit(&dq->dq_interlock);
    +		dqrele(NULLVP, dq);
    +		return ENOENT;
    +	}
    +	error = getq2e(ump, qk->qk_idtype, dq->dq2_lblkno, dq->dq2_blkoff,
     	    &bp, &q2ep, 0);
     	if (error) {
     		mutex_exit(&dq->dq_interlock);
    @@ -808,30 +849,41 @@ quota2_array_add_q2e(struct ufsmount *ump, int type,
     	brelse(bp, 0);
     	mutex_exit(&dq->dq_interlock);
     	dqrele(NULLVP, dq);
    -	dict = q2etoprop(&q2e, 0);
    -	if (dict == NULL)
    -		return ENOMEM;
    -	if (!prop_array_add_and_rel(replies, dict))
    -		return ENOMEM;
    +
    +	q2e_to_quotaval(&q2e, 0, &id2, qk->qk_objtype, ret);
    +	KASSERT(id2 == qk->qk_id);
     	return 0;
     }
     
     int
    -quota2_handle_cmd_get(struct ufsmount *ump, int type, int id,
    -    int defaultq, prop_array_t replies)
    +quota2_handle_cmd_get(struct ufsmount *ump, const struct quotakey *qk,
    +    struct quotaval *qv)
     {
     	int error;
     	struct quota2_header *q2h;
     	struct quota2_entry q2e;
     	struct buf *bp;
    -	prop_dictionary_t dict;
     	const int needswap = UFS_MPNEEDSWAP(ump);
    +	id_t id2;
     
    -	if (ump->um_quotas[type] == NULLVP)
    +	/*
    +	 * Make sure the FS-independent codes match the internal ones,
    +	 * so we can use the passed-in objtype without having to
    +	 * convert it explicitly to QL_BLOCK/QL_FILE.
    +	 */
    +	CTASSERT(QL_BLOCK == QUOTA_OBJTYPE_BLOCKS);
    +	CTASSERT(QL_FILE == QUOTA_OBJTYPE_FILES);
    +	CTASSERT(N_QL == 2);
    +
    +	if (qk->qk_objtype < 0 || qk->qk_objtype >= N_QL) {
    +		return EINVAL;
    +	}
    +
    +	if (ump->um_quotas[qk->qk_idtype] == NULLVP)
     		return ENODEV;
    -	if (defaultq) {
    +	if (qk->qk_id == QUOTA_DEFAULTID) {
     		mutex_enter(&dqlock);
    -		error = getq2h(ump, type, &bp, &q2h, 0);
    +		error = getq2h(ump, qk->qk_idtype, &bp, &q2h, 0);
     		if (error) {
     			mutex_exit(&dqlock);
     			return error;
    @@ -839,107 +891,593 @@ quota2_handle_cmd_get(struct ufsmount *ump, int type, int id,
     		quota2_ufs_rwq2e(&q2h->q2h_defentry, &q2e, needswap);
     		mutex_exit(&dqlock);
     		brelse(bp, 0);
    -		dict = q2etoprop(&q2e, defaultq);
    -		if (dict == NULL)
    -			return ENOMEM;
    -		if (!prop_array_add_and_rel(replies, dict))
    -			return ENOMEM;
    +		q2e_to_quotaval(&q2e, qk->qk_id == QUOTA_DEFAULTID, &id2,
    +				qk->qk_objtype, qv);
    +		(void)id2;
     	} else
    -		error = quota2_array_add_q2e(ump, type, id, replies);
    +		error = quota2_fetch_quotaval(ump, qk, qv);
     	
     	return error;
     }
     
    -struct getuids {
    -	long nuids; /* number of uids in array */
    -	long size;  /* size of array */
    -	uid_t *uids; /* array of uids, dynamically allocated */
    +/*
    + * Cursor structure we used.
    + *
    + * This will get stored in userland between calls so we must not assume
    + * it isn't arbitrarily corrupted.
    + */
    +struct ufsq2_cursor {
    +	uint32_t q2c_magic;	/* magic number */
    +	int q2c_hashsize;	/* size of hash table at last go */
    +
    +	int q2c_users_done;	/* true if we've returned all user data */
    +	int q2c_groups_done;	/* true if we've returned all group data */
    +	int q2c_defaults_done;	/* true if we've returned the default values */
    +	int q2c_hashpos;	/* slot to start at in hash table */
    +	int q2c_uidpos;		/* number of ids we've handled */
    +	int q2c_blocks_done;	/* true if we've returned the blocks value */
     };
     
    -static int
    -quota2_getuids_callback(struct ufsmount *ump, uint64_t *offp,
    -    struct quota2_entry *q2ep, uint64_t off, void *v)
    -{
    -	struct getuids *gu = v;
    -	uid_t *newuids;
    -#ifdef FFS_EI
    -	const int needswap = UFS_MPNEEDSWAP(ump);
    -#endif
    +/*
    + * State of a single cursorget call, or at least the part of it that
    + * needs to be passed around.
    + */
    +struct q2cursor_state {
    +	/* data return pointers */
    +	struct quotakey *keys;
    +	struct quotaval *vals;
     
    -	if (gu->nuids == gu->size) {
    -		newuids = realloc(gu->uids, gu->size + PAGE_SIZE, M_TEMP,
    -		    M_WAITOK);
    -		if (newuids == NULL) {
    -			free(gu->uids, M_TEMP);
    -			return ENOMEM;
    -		}
    -		gu->uids = newuids;
    -		gu->size += (PAGE_SIZE / sizeof(uid_t));
    +	/* key/value counters */
    +	unsigned maxkeyvals;
    +	unsigned numkeys;	/* number of keys assigned */
    +
    +	/* ID to key/value conversion state */
    +	int skipfirst;		/* if true skip first key/value */
    +	int skiplast;		/* if true skip last key/value */
    +
    +	/* ID counters */
    +	unsigned maxids;	/* maximum number of IDs to handle */
    +	unsigned numids;	/* number of IDs handled */
    +};
    +
    +/*
    + * Additional structure for getids callback.
    + */
    +struct q2cursor_getids {
    +	struct q2cursor_state *state;
    +	int idtype;
    +	unsigned skip;		/* number of ids to skip over */
    +	unsigned new_skip;	/* number of ids to skip over next time */
    +	unsigned skipped;	/* number skipped so far */
    +	int stopped;		/* true if we stopped quota_walk_list early */
    +};
    +
    +/*
    + * Cursor-related functions
    + */
    +
    +/* magic number */
    +#define Q2C_MAGIC (0xbeebe111)
    +
    +/* extract cursor from caller form */
    +#define Q2CURSOR(qkc) ((struct ufsq2_cursor *)&qkc->u.qkc_space[0])
    +
    +/*
    + * Check that a cursor we're handed is something like valid. If
    + * someone munges it and it still passes these checks, they'll get
    + * partial or odd results back but won't break anything.
    + */
    +static int
    +q2cursor_check(struct ufsq2_cursor *cursor)
    +{
    +	if (cursor->q2c_magic != Q2C_MAGIC) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_hashsize < 0) {
    +		return EINVAL;
    +	}
    +
    +	if (cursor->q2c_users_done != 0 && cursor->q2c_users_done != 1) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_groups_done != 0 && cursor->q2c_groups_done != 1) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_defaults_done != 0 && cursor->q2c_defaults_done != 1) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_hashpos < 0 || cursor->q2c_uidpos < 0) {
    +		return EINVAL;
    +	}
    +	if (cursor->q2c_blocks_done != 0 && cursor->q2c_blocks_done != 1) {
    +		return EINVAL;
     	}
    -	gu->uids[gu->nuids] = ufs_rw32(q2ep->q2e_uid, needswap);
    -	gu->nuids++;
     	return 0;
     }
     
    -int
    -quota2_handle_cmd_getall(struct ufsmount *ump, int type, prop_array_t replies)
    +/*
    + * Set up the q2cursor state.
    + */
    +static void
    +q2cursor_initstate(struct q2cursor_state *state, struct quotakey *keys,
    +    struct quotaval *vals, unsigned maxkeyvals, int blocks_done)
     {
    -	int error;
    -	struct quota2_header *q2h;
    -	struct quota2_entry  q2e;
    -	struct buf *hbp;
    -	prop_dictionary_t dict;
    -	uint64_t offset;
    -	int i, j;
    -	int quota2_hash_size;
    -	const int needswap = UFS_MPNEEDSWAP(ump);
    -	struct getuids gu;
    +	state->keys = keys;
    +	state->vals = vals;
    +
    +	state->maxkeyvals = maxkeyvals;
    +	state->numkeys = 0;
    +
    +	/*
    +	 * For each ID there are two quotavals to return. If the
    +	 * maximum number of entries to return is odd, we might want
    +	 * to skip the first quotaval of the first ID, or the last
    +	 * quotaval of the last ID, but not both. So the number of IDs
    +	 * we want is (up to) half the number of return slots we have,
    +	 * rounded up.
    +	 */
    +
    +	state->maxids = (state->maxkeyvals + 1) / 2;
    +	state->numids = 0;
    +	if (state->maxkeyvals % 2) {
    +		if (blocks_done) {
    +			state->skipfirst = 1;
    +			state->skiplast = 0;
    +		} else {
    +			state->skipfirst = 0;
    +			state->skiplast = 1;
    +		}
    +	} else {
    +		state->skipfirst = 0;
    +		state->skiplast = 0;
    +	}
    +}
    +
    +/*
    + * Choose which idtype we're going to work on. If doing a full
    + * iteration, we do users first, then groups, but either might be
    + * disabled or marked to skip via cursorsetidtype(), so don't make
    + * silly assumptions.
    + */
    +static int
    +q2cursor_pickidtype(struct ufsq2_cursor *cursor, int *idtype_ret)
    +{
    +	if (cursor->q2c_users_done == 0) {
    +		*idtype_ret = QUOTA_IDTYPE_USER;
    +	} else if (cursor->q2c_groups_done == 0) {
    +		*idtype_ret = QUOTA_IDTYPE_GROUP;
    +	} else {
    +		return EAGAIN;
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Add an ID to the current state. Sets up either one or two keys to
    + * refer to it, depending on whether it's first/last and the setting
    + * of skipfirst. (skiplast does not need to be explicitly tested)
    + */
    +static void
    +q2cursor_addid(struct q2cursor_state *state, int idtype, id_t id)
    +{
    +	KASSERT(state->numids < state->maxids);
    +	KASSERT(state->numkeys < state->maxkeyvals);
    +
    +	if (!state->skipfirst || state->numkeys > 0) {
    +		state->keys[state->numkeys].qk_idtype = idtype;
    +		state->keys[state->numkeys].qk_id = id;
    +		state->keys[state->numkeys].qk_objtype = QUOTA_OBJTYPE_BLOCKS;
    +		state->numkeys++;
    +	}
    +	if (state->numkeys < state->maxkeyvals) {
    +		state->keys[state->numkeys].qk_idtype = idtype;
    +		state->keys[state->numkeys].qk_id = id;
    +		state->keys[state->numkeys].qk_objtype = QUOTA_OBJTYPE_FILES;
    +		state->numkeys++;
    +	} else {
    +		KASSERT(state->skiplast);
    +	}
    +	state->numids++;
    +}
    +
    +/*
    + * Callback function for getting IDs. Update counting and call addid.
    + */
    +static int
    +q2cursor_getids_callback(struct ufsmount *ump, uint64_t *offp,
    +    struct quota2_entry *q2ep, uint64_t off, void *v)
    +{
    +	struct q2cursor_getids *gi = v;
    +	id_t id;
    +	const int needswap = UFS_MPNEEDSWAP(ump);
    +
    +	if (gi->skipped < gi->skip) {
    +		gi->skipped++;
    +		return 0;
    +	}
    +	id = ufs_rw32(q2ep->q2e_uid, needswap);
    +	q2cursor_addid(gi->state, gi->idtype, id);
    +	gi->new_skip++;
    +	if (gi->state->numids >= gi->state->maxids) {
    +		/* got enough ids, stop now */
    +		gi->stopped = 1;
    +		return Q2WL_ABORT;
    +	}
    +	return 0;
    +}
    +
    +/*
    + * Fill in a batch of quotakeys by scanning one or more hash chains.
    + */
    +static int
    +q2cursor_getkeys(struct ufsmount *ump, int idtype, struct ufsq2_cursor *cursor,
    +    struct q2cursor_state *state,
    +    int *hashsize_ret, struct quota2_entry *default_q2e_ret)
    +{
    +	const int needswap = UFS_MPNEEDSWAP(ump);
    +	struct buf *hbp;
    +	struct quota2_header *q2h;
    +	int quota2_hash_size;
    +	struct q2cursor_getids gi;
    +	uint64_t offset;
    +	int error;
    +
    +	/*
    +	 * Read the header block.
    +	 */
     
    -	if (ump->um_quotas[type] == NULLVP)
    -		return ENODEV;
     	mutex_enter(&dqlock);
    -	error = getq2h(ump, type, &hbp, &q2h, 0);
    +	error = getq2h(ump, idtype, &hbp, &q2h, 0);
     	if (error) {
     		mutex_exit(&dqlock);
     		return error;
     	}
    -	quota2_ufs_rwq2e(&q2h->q2h_defentry, &q2e, needswap);
    -	dict = q2etoprop(&q2e, 1);
    -	if (!prop_array_add_and_rel(replies, dict)) {
    -		error = ENOMEM;
    -		goto error_bp;
    -	}
    -	/*
    -	 * we can't directly get entries as we can't walk the list
    -	 * with qdlock and grab dq_interlock to read the entries
    -	 * at the same time. So just walk the lists to build a list of uid,
    -	 * and then read entries for these uids
    -	 */
    -	memset(&gu, 0, sizeof(gu));
    +
    +	/* if the table size has changed, make the caller start over */
     	quota2_hash_size = ufs_rw16(q2h->q2h_hash_size, needswap);
    -	for (i = 0; i < quota2_hash_size ; i++) {
    -		offset = q2h->q2h_entries[i];
    -		error = quota2_walk_list(ump, hbp, type, &offset, 0, &gu,
    -		    quota2_getuids_callback);
    -		if (error) {
    -			if (gu.uids != NULL)
    -				free(gu.uids, M_TEMP);
    -			break;
    +	if (cursor->q2c_hashsize == 0) {
    +		cursor->q2c_hashsize = quota2_hash_size;
    +	} else if (cursor->q2c_hashsize != quota2_hash_size) {
    +		error = EDEADLK;
    +		goto scanfail;
    +	}
    +
    +	/* grab the entry with the default values out of the header */
    +	quota2_ufs_rwq2e(&q2h->q2h_defentry, default_q2e_ret, needswap);
    +
    +	/* If we haven't done the defaults yet, that goes first. */
    +	if (cursor->q2c_defaults_done == 0) {
    +		q2cursor_addid(state, idtype, QUOTA_DEFAULTID);
    +		/* if we read both halves, mark it done */
    +		if (state->numids < state->maxids || !state->skiplast) {
    +			cursor->q2c_defaults_done = 1;
     		}
     	}
    -error_bp:
    +
    +	gi.state = state;
    +	gi.idtype = idtype;
    +
    +	while (state->numids < state->maxids) {
    +		if (cursor->q2c_hashpos >= quota2_hash_size) {
    +			/* nothing more left */
    +			break;
    +		}
    +
    +		/* scan this hash chain */
    +		gi.skip = cursor->q2c_uidpos;
    +		gi.new_skip = gi.skip;
    +		gi.skipped = 0;
    +		gi.stopped = 0;
    +		offset = q2h->q2h_entries[cursor->q2c_hashpos];
    +
    +		error = quota2_walk_list(ump, hbp, idtype, &offset, 0, &gi,
    +		    q2cursor_getids_callback);
    +		KASSERT(error != Q2WL_ABORT);
    +		if (error) {
    +			break;
    +		}
    +		if (gi.stopped) {
    +			/* callback stopped before reading whole chain */
    +			cursor->q2c_uidpos = gi.new_skip;
    +			/* if we didn't get both halves, back up */
    +			if (state->numids == state->maxids && state->skiplast){
    +				KASSERT(cursor->q2c_uidpos > 0);
    +				cursor->q2c_uidpos--;
    +			}
    +		} else {
    +			/* read whole chain */
    +			/* if we got both halves of the last id, advance */
    +			if (state->numids < state->maxids || !state->skiplast){
    +				cursor->q2c_uidpos = 0;
    +				cursor->q2c_hashpos++;
    +			}
    +		}
    +	}
    +
    +scanfail:
     	mutex_exit(&dqlock);
     	brelse(hbp, 0);
     	if (error)
     		return error;
    -	for (j = 0; j < gu.nuids; j++) {
    -		error = quota2_array_add_q2e(ump, type,
    -		    gu.uids[j], replies);
    -		if (error && error != ENOENT)
    -			break;
    +
    +	*hashsize_ret = quota2_hash_size;
    +	return 0;
    +}
    +
    +/*
    + * Fetch the quotavals for the quotakeys.
    + */
    +static int
    +q2cursor_getvals(struct ufsmount *ump, struct q2cursor_state *state,
    +    const struct quota2_entry *default_q2e)
    +{
    +	int hasid;
    +	id_t loadedid, id;
    +	unsigned pos;
    +	struct quota2_entry q2e;
    +	int objtype;
    +	int error;
    +
    +	hasid = 0;
    +	loadedid = 0;
    +	for (pos = 0; pos < state->numkeys; pos++) {
    +		id = state->keys[pos].qk_id;
    +		if (!hasid || id != loadedid) {
    +			hasid = 1;
    +			loadedid = id;
    +			if (id == QUOTA_DEFAULTID) {
    +				q2e = *default_q2e;
    +			} else {
    +				error = quota2_fetch_q2e(ump,
    +							 &state->keys[pos],
    +							 &q2e);
    +				if (error == ENOENT) {
    +					/* something changed - start over */
    +					error = EDEADLK;
    +				}
    +				if (error) {
    +					return error;
    +				}
    + 			}
    +		}
    +
    +
    +		objtype = state->keys[pos].qk_objtype;
    +		KASSERT(objtype >= 0 && objtype < N_QL);
    +		q2val_to_quotaval(&q2e.q2e_val[objtype], &state->vals[pos]);
     	}
    -	free(gu.uids, M_TEMP);
    -	return error;
    +
    +	return 0;
    +}
    +
    +/*
    + * Handle cursorget.
    + *
    + * We can't just read keys and values directly, because we can't walk
    + * the list with qdlock and grab dq_interlock to read the entries at
    + * the same time. So we're going to do two passes: one to figure out
    + * which IDs we want and fill in the keys, and then a second to use
    + * the keys to fetch the values.
    + */
    +int
    +quota2_handle_cmd_cursorget(struct ufsmount *ump, struct quotakcursor *qkc,
    +    struct quotakey *keys, struct quotaval *vals, unsigned maxreturn,
    +    unsigned *ret)
    +{
    +	int error;
    +	struct ufsq2_cursor *cursor;
    +	struct ufsq2_cursor newcursor;
    +	struct q2cursor_state state;
    +	struct quota2_entry default_q2e;
    +	int idtype;
    +	int quota2_hash_size;
    +
    +	/*
    +	 * Convert and validate the cursor.
    +	 */
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	/*
    +	 * Make sure our on-disk codes match the values of the
    +	 * FS-independent ones. This avoids the need for explicit
    +	 * conversion (which would be a NOP anyway and thus easily
    +	 * left out or called in the wrong places...)
    +	 */
    +	CTASSERT(QUOTA_IDTYPE_USER == USRQUOTA);
    +	CTASSERT(QUOTA_IDTYPE_GROUP == GRPQUOTA);
    +	CTASSERT(QUOTA_OBJTYPE_BLOCKS == QL_BLOCK);
    +	CTASSERT(QUOTA_OBJTYPE_FILES == QL_FILE);
    +
    +	/*
    +	 * If some of the idtypes aren't configured/enabled, arrange
    +	 * to skip over them.
    +	 */
    +	if (cursor->q2c_users_done == 0 &&
    +	    ump->um_quotas[USRQUOTA] == NULLVP) {
    +		cursor->q2c_users_done = 1;
    +	}
    +	if (cursor->q2c_groups_done == 0 &&
    +	    ump->um_quotas[GRPQUOTA] == NULLVP) {
    +		cursor->q2c_groups_done = 1;
    +	}
    +
    +	/* Loop over, potentially, both idtypes */
    +	while (1) {
    +
    +		/* Choose id type */
    +		error = q2cursor_pickidtype(cursor, &idtype);
    +		if (error == EAGAIN) {
    +			/* nothing more to do, return 0 */
    +			*ret = 0;
    +			return 0;
    +		}
    +		KASSERT(ump->um_quotas[idtype] != NULLVP);
    +
    +		/*
    +		 * Initialize the per-call iteration state. Copy the
    +		 * cursor state so we can update it in place but back
    +		 * out on error.
    +		 */
    +		q2cursor_initstate(&state, keys, vals, maxreturn,
    +				   cursor->q2c_blocks_done);
    +		newcursor = *cursor;
    +
    +		/* Assign keys */
    +		error = q2cursor_getkeys(ump, idtype, &newcursor, &state,
    +					 "a2_hash_size, &default_q2e);
    +		if (error) {
    +			return error;
    +		}
    +
    +		/* Now fill in the values. */
    +		error = q2cursor_getvals(ump, &state, &default_q2e);
    +		if (error) {
    +			return error;
    +		}
    +
    +		/*
    +		 * Now that we aren't going to fail and lose what we
    +		 * did so far, we can update the cursor state.
    +		 */
    +
    +		if (newcursor.q2c_hashpos >= quota2_hash_size) {
    +			if (idtype == QUOTA_IDTYPE_USER)
    +				cursor->q2c_users_done = 1;
    +			else
    +				cursor->q2c_groups_done = 1;
    +
    +			/* start over on another id type */
    +			cursor->q2c_hashsize = 0;
    +			cursor->q2c_defaults_done = 0;
    +			cursor->q2c_hashpos = 0;
    +			cursor->q2c_uidpos = 0;
    +			cursor->q2c_blocks_done = 0;
    +		} else {
    +			*cursor = newcursor;
    +			cursor->q2c_blocks_done = state.skiplast;
    +		}
    +
    +		/*
    +		 * If we have something to return, return it.
    +		 * Otherwise, continue to the other idtype, if any,
    +		 * and only return zero at end of iteration.
    +		 */
    +		if (state.numkeys > 0) {
    +			break;
    +		}
    +	}
    +
    +	*ret = state.numkeys;
    +	return 0;
    +}
    +
    +int
    +quota2_handle_cmd_cursoropen(struct ufsmount *ump, struct quotakcursor *qkc)
    +{
    +	struct ufsq2_cursor *cursor;
    +
    +	CTASSERT(sizeof(*cursor) <= sizeof(qkc->u.qkc_space));
    +	cursor = Q2CURSOR(qkc);
    +
    +	cursor->q2c_magic = Q2C_MAGIC;
    +	cursor->q2c_hashsize = 0;
    +
    +	cursor->q2c_users_done = 0;
    +	cursor->q2c_groups_done = 0;
    +	cursor->q2c_defaults_done = 0;
    +	cursor->q2c_hashpos = 0;
    +	cursor->q2c_uidpos = 0;
    +	cursor->q2c_blocks_done = 0;
    +	return 0;
    +}
    +
    +int
    +quota2_handle_cmd_cursorclose(struct ufsmount *ump, struct quotakcursor *qkc)
    +{
    +	struct ufsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	/* nothing to do */
    +
    +	return 0;
    +}
    +
    +int
    +quota2_handle_cmd_cursorskipidtype(struct ufsmount *ump,
    +    struct quotakcursor *qkc, int idtype)
    +{
    +	struct ufsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	switch (idtype) {
    +	    case QUOTA_IDTYPE_USER:
    +		cursor->q2c_users_done = 1;
    +		break;
    +	    case QUOTA_IDTYPE_GROUP:
    +		cursor->q2c_groups_done = 1;
    +		break;
    +	    default:
    +		return EINVAL;
    +	}
    +
    +	return 0;
    +}
    +
    +int
    +quota2_handle_cmd_cursoratend(struct ufsmount *ump, struct quotakcursor *qkc,
    +    int *ret)
    +{
    +	struct ufsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	*ret = (cursor->q2c_users_done && cursor->q2c_groups_done);
    +	return 0;
    +}
    +
    +int
    +quota2_handle_cmd_cursorrewind(struct ufsmount *ump, struct quotakcursor *qkc)
    +{
    +	struct ufsq2_cursor *cursor;
    +	int error;
    +
    +	cursor = Q2CURSOR(qkc);
    +	error = q2cursor_check(cursor);
    +	if (error) {
    +		return error;
    +	}
    +
    +	cursor->q2c_hashsize = 0;
    +
    +	cursor->q2c_users_done = 0;
    +	cursor->q2c_groups_done = 0;
    +	cursor->q2c_defaults_done = 0;
    +	cursor->q2c_hashpos = 0;
    +	cursor->q2c_uidpos = 0;
    +	cursor->q2c_blocks_done = 0;
    +
    +	return 0;
     }
     
     int
    @@ -960,9 +1498,7 @@ dq2get_callback(struct ufsmount *ump, uint64_t *offp, struct quota2_entry *q2e,
     	struct dq2get_callback *c = v;
     	daddr_t lblkno;
     	int blkoff;
    -#ifdef FFS_EI
     	const int needswap = UFS_MPNEEDSWAP(ump);
    -#endif
     
     	if (ufs_rw32(q2e->q2e_uid, needswap) == c->id) {
     		KASSERT(mutex_owned(&c->dq->dq_interlock));
    diff --git a/sys/ufs/ufs/ufs_readwrite.c b/sys/ufs/ufs/ufs_readwrite.c
    index 4ab40c8c9..5e3b8aca1 100644
    --- a/sys/ufs/ufs/ufs_readwrite.c
    +++ b/sys/ufs/ufs/ufs_readwrite.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_readwrite.c,v 1.100 2011/11/18 21:18:52 christos Exp $	*/
    +/*	$NetBSD: ufs_readwrite.c,v 1.107 2013/06/23 07:28:37 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1993
    @@ -32,7 +32,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.100 2011/11/18 21:18:52 christos Exp $");
    +__KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.107 2013/06/23 07:28:37 dholland Exp $");
     
     #ifdef LFS_READWRITE
     #define	FS			struct lfs
    @@ -46,6 +46,11 @@ __KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.100 2011/11/18 21:18:52 christos
     #define	UFS_WAPBL_BEGIN(mp)	0
     #define	UFS_WAPBL_END(mp)	do { } while (0)
     #define	UFS_WAPBL_UPDATE(vp, access, modify, flags)	do { } while (0)
    +#define ufs_blkoff		lfs_blkoff
    +#define ufs_blksize		lfs_blksize
    +#define ufs_lblkno		lfs_lblkno
    +#define ufs_lblktosize		lfs_lblktosize
    +#define ufs_blkroundup		lfs_blkroundup
     #else
     #define	FS			struct fs
     #define	I_FS			i_fs
    @@ -53,6 +58,11 @@ __KERNEL_RCSID(1, "$NetBSD: ufs_readwrite.c,v 1.100 2011/11/18 21:18:52 christos
     #define	READ_S			"ffs_read"
     #define	WRITE			ffs_write
     #define	WRITE_S			"ffs_write"
    +#define ufs_blkoff		ffs_blkoff
    +#define ufs_blksize		ffs_blksize
    +#define ufs_lblkno		ffs_lblkno
    +#define ufs_lblktosize		ffs_lblktosize
    +#define ufs_blkroundup		ffs_blkroundup
     #endif
     
     /*
    @@ -143,17 +153,17 @@ READ(void *v)
     		bytesinfile = ip->i_size - uio->uio_offset;
     		if (bytesinfile <= 0)
     			break;
    -		lbn = lblkno(fs, uio->uio_offset);
    +		lbn = ufs_lblkno(fs, uio->uio_offset);
     		nextlbn = lbn + 1;
    -		size = blksize(fs, ip, lbn);
    -		blkoffset = blkoff(fs, uio->uio_offset);
    +		size = ufs_blksize(fs, ip, lbn);
    +		blkoffset = ufs_blkoff(fs, uio->uio_offset);
     		xfersize = MIN(MIN(fs->fs_bsize - blkoffset, uio->uio_resid),
     		    bytesinfile);
     
    -		if (lblktosize(fs, nextlbn) >= ip->i_size)
    +		if (ufs_lblktosize(fs, nextlbn) >= ip->i_size)
     			error = bread(vp, lbn, size, NOCRED, 0, &bp);
     		else {
    -			int nextsize = blksize(fs, ip, nextlbn);
    +			int nextsize = ufs_blksize(fs, ip, nextlbn);
     			error = breadn(vp, lbn,
     			    size, &nextlbn, &nextsize, 1, NOCRED, 0, &bp);
     		}
    @@ -294,27 +304,28 @@ WRITE(void *v)
     
     #ifdef LFS_READWRITE
     	async = true;
    +	lfs_availwait(fs, btofsb(fs, uio->uio_resid));
     	lfs_check(vp, LFS_UNUSED_LBN, 0);
     #endif /* !LFS_READWRITE */
     	if (!usepc)
     		goto bcache;
     
    -	preallocoff = round_page(blkroundup(fs, MAX(osize, uio->uio_offset)));
    +	preallocoff = round_page(ufs_blkroundup(fs, MAX(osize, uio->uio_offset)));
     	aflag = ioflag & IO_SYNC ? B_SYNC : 0;
     	nsize = MAX(osize, uio->uio_offset + uio->uio_resid);
    -	endallocoff = nsize - blkoff(fs, nsize);
    +	endallocoff = nsize - ufs_blkoff(fs, nsize);
     
     	/*
     	 * if we're increasing the file size, deal with expanding
     	 * the fragment if there is one.
     	 */
     
    -	if (nsize > osize && lblkno(fs, osize) < NDADDR &&
    -	    lblkno(fs, osize) != lblkno(fs, nsize) &&
    -	    blkroundup(fs, osize) != osize) {
    +	if (nsize > osize && ufs_lblkno(fs, osize) < UFS_NDADDR &&
    +	    ufs_lblkno(fs, osize) != ufs_lblkno(fs, nsize) &&
    +	    ufs_blkroundup(fs, osize) != osize) {
     		off_t eob;
     
    -		eob = blkroundup(fs, osize);
    +		eob = ufs_blkroundup(fs, osize);
     		uvm_vnp_setwritesize(vp, eob);
     		error = ufs_balloc_range(vp, osize, eob - osize, cred, aflag);
     		if (error)
    @@ -337,7 +348,7 @@ WRITE(void *v)
     		}
     
     		oldoff = uio->uio_offset;
    -		blkoffset = blkoff(fs, uio->uio_offset);
    +		blkoffset = ufs_blkoff(fs, uio->uio_offset);
     		bytelen = MIN(fs->fs_bsize - blkoffset, uio->uio_resid);
     		if (bytelen == 0) {
     			break;
    @@ -353,12 +364,12 @@ WRITE(void *v)
     		overwrite = uio->uio_offset >= preallocoff &&
     		    uio->uio_offset < endallocoff;
     		if (!overwrite && (vp->v_vflag & VV_MAPPED) == 0 &&
    -		    blkoff(fs, uio->uio_offset) == 0 &&
    +		    ufs_blkoff(fs, uio->uio_offset) == 0 &&
     		    (uio->uio_offset & PAGE_MASK) == 0) {
     			vsize_t len;
     
     			len = trunc_page(bytelen);
    -			len -= blkoff(fs, len);
    +			len -= ufs_blkoff(fs, len);
     			if (len > 0) {
     				overwrite = true;
     				bytelen = len;
    @@ -417,7 +428,7 @@ WRITE(void *v)
     			mutex_enter(vp->v_interlock);
     			error = VOP_PUTPAGES(vp, (oldoff >> 16) << 16,
     			    (uio->uio_offset >> 16) << 16,
    -			    PGO_CLEANIT | PGO_JOURNALLOCKED);
    +			    PGO_CLEANIT | PGO_JOURNALLOCKED | PGO_LAZY);
     			if (error)
     				break;
     		}
    @@ -426,7 +437,7 @@ WRITE(void *v)
     	if (error == 0 && ioflag & IO_SYNC) {
     		mutex_enter(vp->v_interlock);
     		error = VOP_PUTPAGES(vp, trunc_page(origoff & fs->fs_bmask),
    -		    round_page(blkroundup(fs, uio->uio_offset)),
    +		    round_page(ufs_blkroundup(fs, uio->uio_offset)),
     		    PGO_CLEANIT | PGO_SYNCIO | PGO_JOURNALLOCKED);
     	}
     	goto out;
    @@ -436,8 +447,8 @@ WRITE(void *v)
     	VOP_PUTPAGES(vp, trunc_page(origoff), round_page(origoff + resid),
     	    PGO_CLEANIT | PGO_FREE | PGO_SYNCIO | PGO_JOURNALLOCKED);
     	while (uio->uio_resid > 0) {
    -		lbn = lblkno(fs, uio->uio_offset);
    -		blkoffset = blkoff(fs, uio->uio_offset);
    +		lbn = ufs_lblkno(fs, uio->uio_offset);
    +		blkoffset = ufs_blkoff(fs, uio->uio_offset);
     		xfersize = MIN(fs->fs_bsize - blkoffset, uio->uio_resid);
     		if (fs->fs_bsize > xfersize)
     			flags |= B_CLRBUF;
    @@ -446,7 +457,7 @@ WRITE(void *v)
     
     #ifdef LFS_READWRITE
     		error = lfs_reserve(fs, vp, NULL,
    -		    btofsb(fs, (NIADDR + 1) << fs->lfs_bshift));
    +		    btofsb(fs, (UFS_NIADDR + 1) << fs->lfs_bshift));
     		if (error)
     			break;
     		need_unreserve = true;
    @@ -462,7 +473,7 @@ WRITE(void *v)
     			uvm_vnp_setsize(vp, ip->i_size);
     			extended = 1;
     		}
    -		size = blksize(fs, ip, lbn) - bp->b_resid;
    +		size = ufs_blksize(fs, ip, lbn) - bp->b_resid;
     		if (xfersize > size)
     			xfersize = size;
     
    @@ -480,7 +491,7 @@ WRITE(void *v)
     #ifdef LFS_READWRITE
     		(void)VOP_BWRITE(bp->b_vp, bp);
     		lfs_reserve(fs, vp, NULL,
    -		    -btofsb(fs, (NIADDR + 1) << fs->lfs_bshift));
    +		    -btofsb(fs, (UFS_NIADDR + 1) << fs->lfs_bshift));
     		need_unreserve = false;
     #else
     		if (ioflag & IO_SYNC)
    @@ -496,7 +507,7 @@ WRITE(void *v)
     #ifdef LFS_READWRITE
     	if (need_unreserve) {
     		lfs_reserve(fs, vp, NULL,
    -		    -btofsb(fs, (NIADDR + 1) << fs->lfs_bshift));
    +		    -btofsb(fs, (UFS_NIADDR + 1) << fs->lfs_bshift));
     	}
     #endif
     
    @@ -509,10 +520,22 @@ out:
     	ip->i_flag |= IN_CHANGE | IN_UPDATE;
     	if (vp->v_mount->mnt_flag & MNT_RELATIME)
     		ip->i_flag |= IN_ACCESS;
    -	if (resid > uio->uio_resid && ap->a_cred &&
    -	    kauth_authorize_generic(ap->a_cred, KAUTH_GENERIC_ISSUSER, NULL)) {
    -		ip->i_mode &= ~(ISUID | ISGID);
    -		DIP_ASSIGN(ip, mode, ip->i_mode);
    +	if (resid > uio->uio_resid && ap->a_cred) {
    +		if (ip->i_mode & ISUID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SUID, vp, NULL, EPERM) != 0) {
    +				ip->i_mode &= ~ISUID;
    +				DIP_ASSIGN(ip, mode, ip->i_mode);
    +			}
    +		}
    +
    +		if (ip->i_mode & ISGID) {
    +			if (kauth_authorize_vnode(ap->a_cred,
    +			    KAUTH_VNODE_RETAIN_SGID, vp, NULL, EPERM) != 0) {
    +				ip->i_mode &= ~ISGID;
    +				DIP_ASSIGN(ip, mode, ip->i_mode);
    +			}
    +		}
     	}
     	if (resid > uio->uio_resid)
     		VN_KNOTE(vp, NOTE_WRITE | (extended ? NOTE_EXTEND : 0));
    diff --git a/sys/ufs/ufs/ufs_rename.c b/sys/ufs/ufs/ufs_rename.c
    new file mode 100644
    index 000000000..bba5c1365
    --- /dev/null
    +++ b/sys/ufs/ufs/ufs_rename.c
    @@ -0,0 +1,1057 @@
    +/*	$NetBSD: ufs_rename.c,v 1.9 2013/11/04 19:58:02 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 2012 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Taylor R Campbell.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +
    +/*
    + * UFS Rename
    + */
    +
    +#include 
    +__KERNEL_RCSID(0, "$NetBSD: ufs_rename.c,v 1.9 2013/11/04 19:58:02 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +/*
    + * Forward declarations
    + */
    +
    +static int ufs_sane_rename(struct vnode *, struct componentname *,
    +    struct vnode *, struct componentname *,
    +    kauth_cred_t, bool);
    +static bool ufs_rename_ulr_overlap_p(const struct ufs_lookup_results *,
    +    const struct ufs_lookup_results *);
    +static int ufs_rename_recalculate_fulr(struct vnode *,
    +    struct ufs_lookup_results *, const struct ufs_lookup_results *,
    +    const struct componentname *);
    +static int ufs_direct_namlen(const struct direct *, const struct vnode *);
    +static int ufs_read_dotdot(struct vnode *, kauth_cred_t, ino_t *);
    +static int ufs_dirbuf_dotdot_namlen(const struct dirtemplate *,
    +    const struct vnode *);
    +
    +static const struct genfs_rename_ops ufs_genfs_rename_ops;
    +
    +/*
    + * ufs_sane_rename: The hairiest vop, with the saner API.
    + *
    + * Arguments:
    + *
    + * . fdvp (from directory vnode),
    + * . fcnp (from component name),
    + * . tdvp (to directory vnode),
    + * . tcnp (to component name),
    + * . cred (credentials structure), and
    + * . posixly_correct (flag for behaviour if target & source link same file).
    + *
    + * fdvp and tdvp may be the same, and must be referenced and unlocked.
    + */
    +static int
    +ufs_sane_rename(
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    kauth_cred_t cred, bool posixly_correct)
    +{
    +	struct ufs_lookup_results fulr, tulr;
    +
    +	return genfs_sane_rename(&ufs_genfs_rename_ops,
    +	    fdvp, fcnp, &fulr, tdvp, tcnp, &tulr,
    +	    cred, posixly_correct);
    +}
    +
    +/*
    + * ufs_rename: The hairiest vop, with the insanest API.  Defer to
    + * genfs_insane_rename immediately.
    + */
    +int
    +ufs_rename(void *v)
    +{
    +
    +	return genfs_insane_rename(v, &ufs_sane_rename);
    +}
    +
    +/*
    + * ufs_gro_directory_empty_p: Return true if the directory vp is
    + * empty.  dvp is its parent.
    + *
    + * vp and dvp must be locked and referenced.
    + */
    +bool
    +ufs_gro_directory_empty_p(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *vp, struct vnode *dvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != dvp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +
    +	return ufs_dirempty(VTOI(vp), VTOI(dvp)->i_number, cred);
    +}
    +
    +/*
    + * ufs_gro_rename_check_possible: Check whether a rename is possible
    + * independent of credentials.
    + */
    +int
    +ufs_gro_rename_check_possible(struct mount *mp,
    +    struct vnode *fdvp, struct vnode *fvp,
    +    struct vnode *tdvp, struct vnode *tvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	return genfs_ufslike_rename_check_possible(
    +	    VTOI(fdvp)->i_flags, VTOI(fvp)->i_flags,
    +	    VTOI(tdvp)->i_flags, (tvp? VTOI(tvp)->i_flags : 0),
    +	    (tvp != NULL),
    +	    IMMUTABLE, APPEND);
    +}
    +
    +/*
    + * ufs_gro_rename_check_permitted: Check whether a rename is permitted
    + * given our credentials.
    + */
    +int
    +ufs_gro_rename_check_permitted(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct vnode *fvp,
    +    struct vnode *tdvp, struct vnode *tvp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	return genfs_ufslike_rename_check_permitted(cred,
    +	    fdvp, VTOI(fdvp)->i_mode, VTOI(fdvp)->i_uid,
    +	    fvp, VTOI(fvp)->i_uid,
    +	    tdvp, VTOI(tdvp)->i_mode, VTOI(tdvp)->i_uid,
    +	    tvp, (tvp? VTOI(tvp)->i_uid : 0));
    +}
    +
    +/*
    + * ufs_gro_remove_check_possible: Check whether a remove is possible
    + * independent of credentials.
    + */
    +int
    +ufs_gro_remove_check_possible(struct mount *mp,
    +    struct vnode *dvp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	return genfs_ufslike_remove_check_possible(
    +	    VTOI(dvp)->i_flags, VTOI(vp)->i_flags,
    +	    IMMUTABLE, APPEND);
    +}
    +
    +/*
    + * ufs_gro_remove_check_permitted: Check whether a remove is permitted
    + * given our credentials.
    + */
    +int
    +ufs_gro_remove_check_permitted(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *dvp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +
    +	return genfs_ufslike_remove_check_permitted(cred,
    +	    dvp, VTOI(dvp)->i_mode, VTOI(dvp)->i_uid, vp, VTOI(vp)->i_uid);
    +}
    +
    +/*
    + * A virgin directory (no blushing please).
    + *
    + * XXX Copypasta from ufs_vnops.c.  Kill!
    + */
    +static const struct dirtemplate mastertemplate = {
    +	0,	12,			DT_DIR,	1,	".",
    +	0,	UFS_DIRBLKSIZ - 12,	DT_DIR,	2,	".."
    +};
    +
    +/*
    + * ufs_gro_rename: Actually perform the rename operation.
    + */
    +int
    +ufs_gro_rename(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct componentname *fcnp,
    +    void *fde, struct vnode *fvp,
    +    struct vnode *tdvp, struct componentname *tcnp,
    +    void *tde, struct vnode *tvp)
    +{
    +	struct ufs_lookup_results *fulr = fde;
    +	struct ufs_lookup_results *tulr = tde;
    +	bool directory_p, reparent_p;
    +	struct direct *newdir;
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(fcnp != NULL);
    +	KASSERT(fulr != NULL);
    +	KASSERT(fvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(tcnp != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +	KASSERT(fdvp != fvp);
    +	KASSERT(fdvp != tvp);
    +	KASSERT(tdvp != fvp);
    +	KASSERT(tdvp != tvp);
    +	KASSERT(fvp != tvp);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(fvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT((tvp == NULL) || (tvp->v_mount == mp));
    +	KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(fvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(tdvp) == LK_EXCLUSIVE);
    +	KASSERT((tvp == NULL) || (VOP_ISLOCKED(tvp) == LK_EXCLUSIVE));
    +
    +	/*
    +	 * We shall need to temporarily bump the link count, so make
    +	 * sure there is room to do so.
    +	 */
    +	if ((nlink_t)VTOI(fvp)->i_nlink >= LINK_MAX)
    +		return EMLINK;
    +
    +	directory_p = (fvp->v_type == VDIR);
    +	KASSERT(directory_p == ((VTOI(fvp)->i_mode & IFMT) == IFDIR));
    +	KASSERT((tvp == NULL) || (directory_p == (tvp->v_type == VDIR)));
    +	KASSERT((tvp == NULL) || (directory_p ==
    +		((VTOI(tvp)->i_mode & IFMT) == IFDIR)));
    +
    +	reparent_p = (fdvp != tdvp);
    +	KASSERT(reparent_p == (VTOI(fdvp)->i_number != VTOI(tdvp)->i_number));
    +
    +	/*
    +	 * Commence hacking of the data on disk.
    +	 */
    +
    +	fstrans_start(mp, FSTRANS_SHARED);
    +	error = UFS_WAPBL_BEGIN(mp);
    +	if (error)
    +		goto ihateyou;
    +
    +	/*
    +	 * 1) Bump link count while we're moving stuff
    +	 *    around.  If we crash somewhere before
    +	 *    completing our work, the link count
    +	 *    may be wrong, but correctable.
    +	 */
    +
    +	KASSERT((nlink_t)VTOI(fvp)->i_nlink < LINK_MAX);
    +	VTOI(fvp)->i_nlink++;
    +	DIP_ASSIGN(VTOI(fvp), nlink, VTOI(fvp)->i_nlink);
    +	VTOI(fvp)->i_flag |= IN_CHANGE;
    +	error = UFS_UPDATE(fvp, NULL, NULL, UPDATE_DIROP);
    +	if (error)
    +		goto whymustithurtsomuch;
    +
    +	/*
    +	 * 2) If target doesn't exist, link the target
    +	 *    to the source and unlink the source.
    +	 *    Otherwise, rewrite the target directory
    +	 *    entry to reference the source inode and
    +	 *    expunge the original entry's existence.
    +	 */
    +
    +	if (tvp == NULL) {
    +		/*
    +		 * Account for ".." in new directory.
    +		 * When source and destination have the same
    +		 * parent we don't fool with the link count.
    +		 */
    +		if (directory_p && reparent_p) {
    +			if ((nlink_t)VTOI(tdvp)->i_nlink >= LINK_MAX) {
    +				error = EMLINK;
    +				goto whymustithurtsomuch;
    +			}
    +			KASSERT((nlink_t)VTOI(tdvp)->i_nlink < LINK_MAX);
    +			VTOI(tdvp)->i_nlink++;
    +			DIP_ASSIGN(VTOI(tdvp), nlink, VTOI(tdvp)->i_nlink);
    +			VTOI(tdvp)->i_flag |= IN_CHANGE;
    +			error = UFS_UPDATE(tdvp, NULL, NULL, UPDATE_DIROP);
    +			if (error) {
    +				/*
    +				 * Link count update didn't take --
    +				 * back out the in-memory link count.
    +				 */
    +				KASSERT(0 < VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_nlink--;
    +				DIP_ASSIGN(VTOI(tdvp), nlink,
    +				    VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_flag |= IN_CHANGE;
    +				goto whymustithurtsomuch;
    +			}
    +		}
    +
    +		newdir = pool_cache_get(ufs_direct_cache, PR_WAITOK);
    +		ufs_makedirentry(VTOI(fvp), tcnp, newdir);
    +		error = ufs_direnter(tdvp, tulr, NULL, newdir, tcnp, NULL);
    +		pool_cache_put(ufs_direct_cache, newdir);
    +		if (error) {
    +			if (directory_p && reparent_p) {
    +				/*
    +				 * Directory update didn't take, but
    +				 * the link count update did -- back
    +				 * out the in-memory link count and the
    +				 * on-disk link count.
    +				 */
    +				KASSERT(0 < VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_nlink--;
    +				DIP_ASSIGN(VTOI(tdvp), nlink,
    +				    VTOI(tdvp)->i_nlink);
    +				VTOI(tdvp)->i_flag |= IN_CHANGE;
    +				(void)UFS_UPDATE(tdvp, NULL, NULL,
    +				    UPDATE_WAIT | UPDATE_DIROP);
    +			}
    +			goto whymustithurtsomuch;
    +		}
    +	} else {
    +		if (directory_p)
    +			/* XXX WTF?  Why purge here?  Why not purge others?  */
    +			cache_purge(tdvp);
    +
    +		/*
    +		 * Make the target directory's entry for tcnp point at
    +		 * the source node.
    +		 *
    +		 * XXX ufs_dirrewrite decrements tvp's link count, but
    +		 * doesn't touch the link count of the new inode.  Go
    +		 * figure.
    +		 */
    +		error = ufs_dirrewrite(VTOI(tdvp), tulr->ulr_offset,
    +		    VTOI(tvp), VTOI(fvp)->i_number, IFTODT(VTOI(fvp)->i_mode),
    +		    ((directory_p && reparent_p) ? reparent_p : directory_p),
    +		    IN_CHANGE | IN_UPDATE);
    +		if (error)
    +			goto whymustithurtsomuch;
    +
    +		/*
    +		 * If the source and target are directories, and the
    +		 * target is in the same directory as the source,
    +		 * decrement the link count of the common parent
    +		 * directory, since we are removing the target from
    +		 * that directory.
    +		 */
    +		if (directory_p && !reparent_p) {
    +			KASSERT(fdvp == tdvp);
    +			/* XXX check, don't kassert */
    +			KASSERT(0 < VTOI(tdvp)->i_nlink);
    +			VTOI(tdvp)->i_nlink--;
    +			DIP_ASSIGN(VTOI(tdvp), nlink, VTOI(tdvp)->i_nlink);
    +			VTOI(tdvp)->i_flag |= IN_CHANGE;
    +			UFS_WAPBL_UPDATE(tdvp, NULL, NULL, 0);
    +		}
    +
    +		if (directory_p) {
    +			/*
    +			 * XXX I don't understand the following comment
    +			 * from ufs_rename -- in particular, the part
    +			 * about `there may be other hard links'.
    +			 *
    +			 * Truncate inode. The only stuff left in the directory
    +			 * is "." and "..". The "." reference is inconsequential
    +			 * since we are quashing it. We have removed the "."
    +			 * reference and the reference in the parent directory,
    +			 * but there may be other hard links.
    +			 *
    +			 * XXX The ufs_dirempty call earlier does
    +			 * not guarantee anything about nlink.
    +			 */
    +			if (VTOI(tvp)->i_nlink != 1)
    +				ufs_dirbad(VTOI(tvp), (doff_t)0,
    +				    "hard-linked directory");
    +			VTOI(tvp)->i_nlink = 0;
    +			DIP_ASSIGN(VTOI(tvp), nlink, 0);
    +			error = UFS_TRUNCATE(tvp, (off_t)0, IO_SYNC, cred);
    +			if (error)
    +				goto whymustithurtsomuch;
    +		}
    +	}
    +
    +	/*
    +	 * If the source is a directory with a new parent, the link
    +	 * count of the old parent directory must be decremented and
    +	 * ".." set to point to the new parent.
    +	 *
    +	 * XXX ufs_dirrewrite updates the link count of fdvp, but not
    +	 * the link count of fvp or the link count of tdvp.  Go figure.
    +	 */
    +	if (directory_p && reparent_p) {
    +		error = ufs_dirrewrite(VTOI(fvp), mastertemplate.dot_reclen,
    +		    VTOI(fdvp), VTOI(tdvp)->i_number, DT_DIR, 0, IN_CHANGE);
    +#if 0		/* XXX This branch was not in ufs_rename! */
    +		if (error)
    +			goto whymustithurtsomuch;
    +#endif
    +
    +		/* XXX WTF?  Why purge here?  Why not purge others?  */
    +		cache_purge(fdvp);
    +	}
    +
    +	/*
    +	 * 3) Unlink the source.
    +	 */
    +
    +	/*
    +	 * ufs_direnter may compact the directory in the process of
    +	 * inserting a new entry.  That may invalidate fulr, which we
    +	 * need in order to remove the old entry.  In that case, we
    +	 * need to recalculate what fulr should be.
    +	 */
    +	if (!reparent_p && (tvp == NULL) &&
    +	    ufs_rename_ulr_overlap_p(fulr, tulr)) {
    +		error = ufs_rename_recalculate_fulr(fdvp, fulr, tulr, fcnp);
    +#if 0				/* XXX */
    +		if (error)	/* XXX Try to back out changes?  */
    +			goto whymustithurtsomuch;
    +#endif
    +	}
    +
    +	/*
    +	 * XXX 0 means !isrmdir.  But can't this be an rmdir?
    +	 * XXX Well, turns out that argument to ufs_dirremove is ignored...
    +	 * XXX And it turns out ufs_dirremove updates the link count of fvp.
    +	 * XXX But it doesn't update the link count of fdvp.  Go figure.
    +	 * XXX fdvp's link count is updated in ufs_dirrewrite instead.
    +	 * XXX Actually, sometimes it doesn't update fvp's link count.
    +	 * XXX I hate the world.
    +	 */
    +	error = ufs_dirremove(fdvp, fulr, VTOI(fvp), fcnp->cn_flags, 0);
    +	if (error)
    +#if 0				/* XXX */
    +		goto whymustithurtsomuch;
    +#endif
    +		goto arghmybrainhurts;
    +
    +	/*
    +	 * XXX Perhaps this should go at the top, in case the file
    +	 * system is modified but incompletely so because of an
    +	 * intermediate error.
    +	 */
    +	genfs_rename_knote(fdvp, fvp, tdvp, tvp,
    +	    ((tvp != NULL) && (VTOI(tvp)->i_nlink == 0)));
    +#if 0				/* XXX */
    +	genfs_rename_cache_purge(fdvp, fvp, tdvp, tvp);
    +#endif
    +	goto arghmybrainhurts;
    +
    +whymustithurtsomuch:
    +	KASSERT(0 < VTOI(fvp)->i_nlink);
    +	VTOI(fvp)->i_nlink--;
    +	DIP_ASSIGN(VTOI(fvp), nlink, VTOI(fvp)->i_nlink);
    +	VTOI(fvp)->i_flag |= IN_CHANGE;
    +	UFS_WAPBL_UPDATE(fvp, NULL, NULL, 0);
    +
    +arghmybrainhurts:
    +	UFS_WAPBL_END(mp);
    +
    +ihateyou:
    +	fstrans_done(mp);
    +	return error;
    +}
    +
    +/*
    + * ufs_rename_ulr_overlap_p: True iff tulr overlaps with fulr so that
    + * entering a directory entry at tulr may move fulr.
    + */
    +static bool
    +ufs_rename_ulr_overlap_p(const struct ufs_lookup_results *fulr,
    +    const struct ufs_lookup_results *tulr)
    +{
    +	doff_t from_prev_start, from_prev_end, to_start, to_end;
    +
    +	KASSERT(fulr != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +
    +	/*
    +	 * fulr is from a DELETE lookup, so fulr->ulr_count is the size
    +	 * of the preceding entry (d_reclen).
    +	 */
    +	from_prev_end = fulr->ulr_offset;
    +	KASSERT(fulr->ulr_count <= from_prev_end);
    +	from_prev_start = (from_prev_end - fulr->ulr_count);
    +
    +	/*
    +	 * tulr is from a RENAME lookup, so tulr->ulr_count is the size
    +	 * of the free space for an entry that we are about to fill.
    +	 */
    +	to_start = tulr->ulr_offset;
    +	KASSERT(tulr->ulr_count < (UFS_MAXDIRSIZE - to_start));
    +	to_end = (to_start + tulr->ulr_count);
    +
    +	return
    +	    (((to_start <= from_prev_start) && (from_prev_start < to_end)) ||
    +		((to_start <= from_prev_end) && (from_prev_end < to_end)));
    +}
    +
    +/*
    + * ufs_rename_recalculate_fulr: If we have just entered a directory into
    + * dvp at tulr, and we were about to remove one at fulr for an entry
    + * named fcnp, fulr may be invalid.  So, if necessary, recalculate it.
    + */
    +static int
    +ufs_rename_recalculate_fulr(struct vnode *dvp,
    +    struct ufs_lookup_results *fulr, const struct ufs_lookup_results *tulr,
    +    const struct componentname *fcnp)
    +{
    +	struct mount *mp;
    +	struct ufsmount *ump;
    +	int needswap;
    +	/* XXX int is a silly type for this; blame ufsmount::um_dirblksiz.  */
    +	int dirblksiz;
    +	doff_t search_start, search_end;
    +	doff_t offset;		/* Offset of entry we're examining.  */
    +	struct buf *bp;		/* I/O block we're examining.  */
    +	char *dirbuf;		/* Pointer into directory at search_start.  */
    +	struct direct *ep;	/* Pointer to the entry we're examining.  */
    +	/* XXX direct::d_reclen is 16-bit;
    +	 * ufs_lookup_results::ulr_reclen is 32-bit.  Blah.  */
    +	uint32_t reclen;	/* Length of the entry we're examining.  */
    +	uint32_t prev_reclen;	/* Length of the preceding entry.  */
    +	int error;
    +
    +	KASSERT(dvp != NULL);
    +	KASSERT(dvp->v_mount != NULL);
    +	KASSERT(VTOI(dvp) != NULL);
    +	KASSERT(fulr != NULL);
    +	KASSERT(tulr != NULL);
    +	KASSERT(fulr != tulr);
    +	KASSERT(ufs_rename_ulr_overlap_p(fulr, tulr));
    +
    +	mp = dvp->v_mount;
    +	ump = VFSTOUFS(mp);
    +	KASSERT(ump != NULL);
    +	KASSERT(ump == VTOI(dvp)->i_ump);
    +
    +	needswap = UFS_MPNEEDSWAP(ump);
    +
    +	dirblksiz = ump->um_dirblksiz;
    +	KASSERT(0 < dirblksiz);
    +	KASSERT((dirblksiz & (dirblksiz - 1)) == 0);
    +
    +	/* A directory block may not span across multiple I/O blocks.  */
    +	KASSERT(dirblksiz <= mp->mnt_stat.f_iosize);
    +
    +	/* Find the bounds of the search.  */
    +	search_start = tulr->ulr_offset;
    +	KASSERT(fulr->ulr_reclen < (UFS_MAXDIRSIZE - fulr->ulr_offset));
    +	search_end = (fulr->ulr_offset + fulr->ulr_reclen);
    +
    +	/* Compaction must happen only within a directory block. (*)  */
    +	KASSERT(search_start <= search_end);
    +	KASSERT((search_end - (search_start &~ (dirblksiz - 1))) <= dirblksiz);
    +
    +	dirbuf = NULL;
    +	bp = NULL;
    +	error = ufs_blkatoff(dvp, (off_t)search_start, &dirbuf, &bp, false);
    +	if (error)
    +		return error;
    +	KASSERT(dirbuf != NULL);
    +	KASSERT(bp != NULL);
    +
    +	/*
    +	 * Guarantee we sha'n't go past the end of the buffer we got.
    +	 * dirbuf is bp->b_data + (search_start & (iosize - 1)), and
    +	 * the valid range is [bp->b_data, bp->b_data + bp->b_bcount).
    +	 */
    +	KASSERT((search_end - search_start) <=
    +	    (bp->b_bcount - (search_start & (mp->mnt_stat.f_iosize - 1))));
    +
    +	prev_reclen = fulr->ulr_count;
    +	offset = search_start;
    +
    +	/*
    +	 * Search from search_start to search_end for the entry matching
    +	 * fcnp, which must be there because we found it before and it
    +	 * should only at most have moved earlier.
    +	 */
    +	for (;;) {
    +		KASSERT(search_start <= offset);
    +		KASSERT(offset < search_end);
    +
    +		/*
    +		 * Examine the directory entry at offset.
    +		 */
    +		ep = (struct direct *)(dirbuf + (offset - search_start));
    +		reclen = ufs_rw16(ep->d_reclen, needswap);
    +
    +		if (ep->d_ino == 0)
    +			goto next;	/* Entry is unused.  */
    +
    +		if (ufs_rw32(ep->d_ino, needswap) == UFS_WINO)
    +			goto next;	/* Entry is whiteout.  */
    +
    +		if (fcnp->cn_namelen != ufs_direct_namlen(ep, dvp))
    +			goto next;	/* Wrong name length.  */
    +
    +		if (memcmp(ep->d_name, fcnp->cn_nameptr, fcnp->cn_namelen))
    +			goto next;	/* Wrong name.  */
    +
    +		/* Got it!  */
    +		break;
    +
    +next:
    +		if (! ((reclen < search_end) &&
    +			(offset < (search_end - reclen)))) {
    +			brelse(bp, 0);
    +			return EIO;	/* XXX Panic?  What?  */
    +		}
    +
    +		/* We may not move past the search end.  */
    +		KASSERT(reclen < search_end);
    +		KASSERT(offset < (search_end - reclen));
    +
    +		/*
    +		 * We may not move across a directory block boundary;
    +		 * see (*) above.
    +		 */
    +		KASSERT((offset &~ (dirblksiz - 1)) ==
    +		    ((offset + reclen) &~ (dirblksiz - 1)));
    +
    +		prev_reclen = reclen;
    +		offset += reclen;
    +	}
    +
    +	/*
    +	 * Found the entry.  Record where.
    +	 */
    +	fulr->ulr_offset = offset;
    +	fulr->ulr_reclen = reclen;
    +
    +	/*
    +	 * Record the preceding record length, but not if we're at the
    +	 * start of a directory block.
    +	 */
    +	fulr->ulr_count = ((offset & (dirblksiz - 1))? prev_reclen : 0);
    +
    +	brelse(bp, 0);
    +	return 0;
    +}
    +
    +/*
    + * ufs_direct_namlen: Return the namlen of the directory entry ep from
    + * the directory vp.
    + */
    +static int			/* XXX int?  uint8_t?  */
    +ufs_direct_namlen(const struct direct *ep, const struct vnode *vp)
    +{
    +	bool swap;
    +
    +	KASSERT(ep != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(VTOI(vp) != NULL);
    +	KASSERT(VTOI(vp)->i_ump != NULL);
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +	swap = (UFS_MPNEEDSWAP(VTOI(vp)->i_ump) == 0);
    +#else
    +	swap = (UFS_MPNEEDSWAP(VTOI(vp)->i_ump) != 0);
    +#endif
    +
    +	return ((FSFMT(vp) && swap)? ep->d_type : ep->d_namlen);
    +}
    +
    +/*
    + * ufs_gro_remove: Rename an object over another link to itself,
    + * effectively removing just the original link.
    + */
    +int
    +ufs_gro_remove(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *dvp, struct componentname *cnp, void *de, struct vnode *vp)
    +{
    +	struct ufs_lookup_results *ulr = de;
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(cnp != NULL);
    +	KASSERT(ulr != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(dvp != vp);
    +	KASSERT(dvp->v_mount == mp);
    +	KASSERT(vp->v_mount == mp);
    +	KASSERT(dvp->v_type == VDIR);
    +	KASSERT(vp->v_type != VDIR);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(cnp->cn_nameiop == DELETE);
    +
    +	fstrans_start(mp, FSTRANS_SHARED);
    +	error = UFS_WAPBL_BEGIN(mp);
    +	if (error)
    +		goto out0;
    +
    +	/* XXX ufs_dirremove decrements vp's link count for us.  */
    +	error = ufs_dirremove(dvp, ulr, VTOI(vp), cnp->cn_flags, 0);
    +	if (error)
    +		goto out1;
    +
    +	VN_KNOTE(dvp, NOTE_WRITE);
    +	VN_KNOTE(vp, (VTOI(vp)->i_nlink? NOTE_LINK : NOTE_DELETE));
    +
    +out1:	UFS_WAPBL_END(mp);
    +out0:	fstrans_done(mp);
    +	return error;
    +}
    +
    +/*
    + * ufs_gro_lookup: Look up and save the lookup results.
    + */
    +int
    +ufs_gro_lookup(struct mount *mp, struct vnode *dvp,
    +    struct componentname *cnp, void *de_ret, struct vnode **vp_ret)
    +{
    +	struct ufs_lookup_results *ulr_ret = de_ret;
    +	struct vnode *vp = NULL;
    +	int error;
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(dvp != NULL);
    +	KASSERT(cnp != NULL);
    +	KASSERT(ulr_ret != NULL);
    +	KASSERT(vp_ret != NULL);
    +	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +
    +	/* Kludge cargo-culted from dholland's ufs_rename.  */
    +	cnp->cn_flags &=~ MODMASK;
    +	cnp->cn_flags |= (LOCKPARENT | LOCKLEAF);
    +
    +	error = relookup(dvp, &vp, cnp, 0 /* dummy */);
    +	if ((error == 0) && (vp == NULL)) {
    +		error = ENOENT;
    +		goto out;
    +	} else if (error) {
    +		return error;
    +	}
    +
    +	/*
    +	 * Thanks to VFS insanity, relookup locks vp, which screws us
    +	 * in various ways.
    +	 */
    +	KASSERT(vp != NULL);
    +	VOP_UNLOCK(vp);
    +
    +out:	*ulr_ret = VTOI(dvp)->i_crap;
    +	*vp_ret = vp;
    +	return error;
    +}
    +
    +/*
    + * ufs_rmdired_p: Check whether the directory vp has been rmdired.
    + *
    + * vp must be locked and referenced.
    + */
    +static bool
    +ufs_rmdired_p(struct vnode *vp)
    +{
    +
    +	KASSERT(vp != NULL);
    +	KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +	KASSERT(vp->v_type == VDIR);
    +
    +	/* XXX Is this correct?  */
    +	return (VTOI(vp)->i_size == 0);
    +}
    +
    +/*
    + * ufs_read_dotdot: Store in *ino_ret the inode number of the parent
    + * of the directory vp.
    + */
    +static int
    +ufs_read_dotdot(struct vnode *vp, kauth_cred_t cred, ino_t *ino_ret)
    +{
    +	struct dirtemplate dirbuf;
    +	int error;
    +
    +	KASSERT(vp != NULL);
    +	KASSERT(ino_ret != NULL);
    +	KASSERT(vp->v_type == VDIR);
    +
    +	error = vn_rdwr(UIO_READ, vp, &dirbuf, sizeof dirbuf, (off_t)0,
    +	    UIO_SYSSPACE, IO_NODELOCKED, cred, NULL, NULL);
    +	if (error)
    +		return error;
    +
    +	if (ufs_dirbuf_dotdot_namlen(&dirbuf, vp) != 2 ||
    +	    dirbuf.dotdot_name[0] != '.' ||
    +	    dirbuf.dotdot_name[1] != '.')
    +		/* XXX Panic?  Print warning?  */
    +		return ENOTDIR;
    +
    +	*ino_ret = ufs_rw32(dirbuf.dotdot_ino,
    +	    UFS_MPNEEDSWAP(VTOI(vp)->i_ump));
    +	return 0;
    +}
    +
    +/*
    + * ufs_dirbuf_dotdot_namlen: Return the namlen of the directory buffer
    + * dirbuf that came from the directory vp.  Swap byte order if
    + * necessary.
    + */
    +static int			/* XXX int?  uint8_t?  */
    +ufs_dirbuf_dotdot_namlen(const struct dirtemplate *dirbuf,
    +    const struct vnode *vp)
    +{
    +	bool swap;
    +
    +	KASSERT(dirbuf != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(VTOI(vp) != NULL);
    +	KASSERT(VTOI(vp)->i_ump != NULL);
    +
    +#if (BYTE_ORDER == LITTLE_ENDIAN)
    +	swap = (UFS_MPNEEDSWAP(VTOI(vp)->i_ump) == 0);
    +#else
    +	swap = (UFS_MPNEEDSWAP(VTOI(vp)->i_ump) != 0);
    +#endif
    +
    +	return ((FSFMT(vp) && swap)?
    +	    dirbuf->dotdot_type : dirbuf->dotdot_namlen);
    +}
    +
    +/*
    + * ufs_gro_genealogy: Analyze the genealogy of the source and target
    + * directories.
    + */
    +int
    +ufs_gro_genealogy(struct mount *mp, kauth_cred_t cred,
    +    struct vnode *fdvp, struct vnode *tdvp,
    +    struct vnode **intermediate_node_ret)
    +{
    +	struct vnode *vp, *dvp;
    +	ino_t dotdot_ino = 0;	/* XXX: gcc */
    +	int error;
    +
    +	KASSERT(mp != NULL);
    +	KASSERT(fdvp != NULL);
    +	KASSERT(tdvp != NULL);
    +	KASSERT(fdvp != tdvp);
    +	KASSERT(intermediate_node_ret != NULL);
    +	KASSERT(fdvp->v_mount == mp);
    +	KASSERT(tdvp->v_mount == mp);
    +	KASSERT(fdvp->v_type == VDIR);
    +	KASSERT(tdvp->v_type == VDIR);
    +
    +	/*
    +	 * We need to provisionally lock tdvp to keep rmdir from
    +	 * deleting it -- or any ancestor -- at an inopportune moment.
    +	 */
    +	error = ufs_gro_lock_directory(mp, tdvp);
    +	if (error)
    +		return error;
    +
    +	vp = tdvp;
    +	vref(vp);
    +
    +	for (;;) {
    +		KASSERT(vp != NULL);
    +		KASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE);
    +		KASSERT(vp->v_mount == mp);
    +		KASSERT(vp->v_type == VDIR);
    +		KASSERT(!ufs_rmdired_p(vp));
    +
    +		/* Did we hit the root without finding fdvp?  */
    +		if (VTOI(vp)->i_number == UFS_ROOTINO) {
    +			vput(vp);
    +			*intermediate_node_ret = NULL;
    +			return 0;
    +		}
    +
    +		error = ufs_read_dotdot(vp, cred, &dotdot_ino);
    +		if (error) {
    +			vput(vp);
    +			return error;
    +		}
    +
    +		/* Did we find that fdvp is an ancestor of tdvp?  */
    +		if (VTOI(fdvp)->i_number == dotdot_ino) {
    +			/* Unlock vp, but keep it referenced.  */
    +			VOP_UNLOCK(vp);
    +			*intermediate_node_ret = vp;
    +			return 0;
    +		}
    +
    +		/* Neither -- keep ascending the family tree.  */
    +
    +		/*
    +		 * Unlock vp so that we can lock the parent, but keep
    +		 * vp referenced until after we have found the parent,
    +		 * so that dotdot_ino will not be recycled.
    +		 *
    +		 * XXX This guarantees that vp's inode number will not
    +		 * be recycled, but why can't dotdot_ino be recycled?
    +		 */
    +		VOP_UNLOCK(vp);
    +		error = VFS_VGET(mp, dotdot_ino, &dvp);
    +		vrele(vp);
    +		if (error)
    +			return error;
    +
    +		KASSERT(dvp != NULL);
    +		KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
    +		vp = dvp;
    +
    +		if (vp->v_type != VDIR) {
    +			/*
    +			 * XXX Panic?  Print a warning?  Can this
    +			 * happen if we lose the race I suspect to
    +			 * exist above, and the `..' inode number has
    +			 * been recycled?
    +			 */
    +			vput(vp);
    +			return ENOTDIR;
    +		}
    +
    +		if (ufs_rmdired_p(vp)) {
    +			vput(vp);
    +			return ENOENT;
    +		}
    +	}
    +}
    +
    +/*
    + * ufs_gro_lock_directory: Lock the directory vp, but fail if it has
    + * been rmdir'd.
    + */
    +int
    +ufs_gro_lock_directory(struct mount *mp, struct vnode *vp)
    +{
    +
    +	(void)mp;
    +	KASSERT(mp != NULL);
    +	KASSERT(vp != NULL);
    +	KASSERT(vp->v_mount == mp);
    +
    +	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
    +
    +	if (ufs_rmdired_p(vp)) {
    +		VOP_UNLOCK(vp);
    +		return ENOENT;
    +	}
    +
    +	return 0;
    +}
    +
    +static const struct genfs_rename_ops ufs_genfs_rename_ops = {
    +	.gro_directory_empty_p		= ufs_gro_directory_empty_p,
    +	.gro_rename_check_possible	= ufs_gro_rename_check_possible,
    +	.gro_rename_check_permitted	= ufs_gro_rename_check_permitted,
    +	.gro_remove_check_possible	= ufs_gro_remove_check_possible,
    +	.gro_remove_check_permitted	= ufs_gro_remove_check_permitted,
    +	.gro_rename			= ufs_gro_rename,
    +	.gro_remove			= ufs_gro_remove,
    +	.gro_lookup			= ufs_gro_lookup,
    +	.gro_genealogy			= ufs_gro_genealogy,
    +	.gro_lock_directory		= ufs_gro_lock_directory,
    +};
    diff --git a/sys/ufs/ufs/ufs_vfsops.c b/sys/ufs/ufs/ufs_vfsops.c
    index ac7230bca..9be99920d 100644
    --- a/sys/ufs/ufs/ufs_vfsops.c
    +++ b/sys/ufs/ufs/ufs_vfsops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_vfsops.c,v 1.42 2011/03/24 17:05:46 bouyer Exp $	*/
    +/*	$NetBSD: ufs_vfsops.c,v 1.52 2013/01/22 09:39:18 dholland Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993, 1994
    @@ -37,7 +37,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_vfsops.c,v 1.42 2011/03/24 17:05:46 bouyer Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_vfsops.c,v 1.52 2013/01/22 09:39:18 dholland Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -50,11 +50,12 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_vfsops.c,v 1.42 2011/03/24 17:05:46 bouyer Exp $
     #include 
     #include 
     #include 
    -#include 
    +#include 
     #include 
     
     #include 
     
    +#include 
     #include 
     #include 
     #include 
    @@ -62,7 +63,6 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_vfsops.c,v 1.42 2011/03/24 17:05:46 bouyer Exp $
     #ifdef UFS_DIRHASH
     #include 
     #endif
    -#include 
     
     /* how many times ufs_init() was called */
     static int ufs_initcount = 0;
    @@ -90,7 +90,7 @@ ufs_root(struct mount *mp, struct vnode **vpp)
     	struct vnode *nvp;
     	int error;
     
    -	if ((error = VFS_VGET(mp, (ino_t)ROOTINO, &nvp)) != 0)
    +	if ((error = VFS_VGET(mp, (ino_t)UFS_ROOTINO, &nvp)) != 0)
     		return (error);
     	*vpp = nvp;
     	return (0);
    @@ -100,47 +100,27 @@ ufs_root(struct mount *mp, struct vnode **vpp)
      * Do operations associated with quotas
      */
     int
    -ufs_quotactl(struct mount *mp, prop_dictionary_t dict)
    +ufs_quotactl(struct mount *mp, struct quotactl_args *args)
     {
    -	struct lwp *l = curlwp;
     
     #if !defined(QUOTA) && !defined(QUOTA2)
     	(void) mp;
    -	(void) dict;
    -	(void) l;
    +	(void) args;
     	return (EOPNOTSUPP);
     #else
    -	int  error;
    -	prop_dictionary_t cmddict;
    -	prop_array_t commands;
    -	prop_object_iterator_t iter;
    +	struct lwp *l = curlwp;
    +	int error;
     
     	/* Mark the mount busy, as we're passing it to kauth(9). */
     	error = vfs_busy(mp, NULL);
    -	if (error)
    +	if (error) {
     		return (error);
    -
    -	error = quota_get_cmds(dict, &commands);
    -	if (error)
    -		goto out_vfs;
    -	iter = prop_array_iterator(commands);
    -	if (iter == NULL) {
    -		error = ENOMEM;
    -		goto out_vfs;
     	}
    -		
    -		
     	mutex_enter(&mp->mnt_updating);
    -	while ((cmddict = prop_object_iterator_next(iter)) != NULL) {
    -		if (prop_object_type(cmddict) != PROP_TYPE_DICTIONARY)
    -			continue;
    -		error = quota_handle_cmd(mp, l, cmddict);
    -		if (error)
    -			break;
    -	}
    -	prop_object_iterator_release(iter);
    +
    +	error = quota_handle_cmd(mp, l, args);
    +
     	mutex_exit(&mp->mnt_updating);
    -out_vfs:
     	vfs_unbusy(mp, false, NULL);
     	return (error);
     #endif
    @@ -243,6 +223,7 @@ ufs_fhtovp(struct mount *mp, struct ufid *ufhp, struct vnode **vpp)
     		return (error);
     	}
     	ip = VTOI(nvp);
    +	KASSERT(ip != NULL);
     	if (ip->i_mode == 0 || ip->i_gen != ufhp->ufid_gen) {
     		vput(nvp);
     		*vpp = NULLVP;
    diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c
    index 634f96694..d2f165991 100644
    --- a/sys/ufs/ufs/ufs_vnops.c
    +++ b/sys/ufs/ufs/ufs_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_vnops.c,v 1.206 2011/11/18 21:18:52 christos Exp $	*/
    +/*	$NetBSD: ufs_vnops.c,v 1.218 2013/09/15 15:32:18 martin Exp $	*/
     
     /*-
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -66,7 +66,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.206 2011/11/18 21:18:52 christos Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.218 2013/09/15 15:32:18 martin Exp $");
     
     #if defined(_KERNEL_OPT)
     #include "opt_ffs.h"
    @@ -84,6 +84,7 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_vnops.c,v 1.206 2011/11/18 21:18:52 christos Exp
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -123,8 +124,8 @@ static int ufs_chown(struct vnode *, uid_t, gid_t, kauth_cred_t,
      * A virgin directory (no blushing please).
      */
     static const struct dirtemplate mastertemplate = {
    -	0,	12,		DT_DIR,	1,	".",
    -	0,	DIRBLKSIZ - 12,	DT_DIR,	2,	".."
    +	0,	12,			DT_DIR,	1,	".",
    +	0,	UFS_DIRBLKSIZ - 12,	DT_DIR,	2,	".."
     };
     
     /*
    @@ -279,10 +280,8 @@ ufs_close(void *v)
     		kauth_cred_t	a_cred;
     	} */ *ap = v;
     	struct vnode	*vp;
    -	struct inode	*ip;
     
     	vp = ap->a_vp;
    -	ip = VTOI(vp);
     	fstrans_start(vp->v_mount, FSTRANS_SHARED);
     	if (vp->v_usecount > 1)
     		UFS_ITIMES(vp, NULL, NULL, NULL);
    @@ -344,8 +343,9 @@ ufs_check_permitted(struct vnode *vp, struct inode *ip, mode_t mode,
         kauth_cred_t cred)
     {
     
    -	return genfs_can_access(vp->v_type, ip->i_mode & ALLPERMS, ip->i_uid,
    -	    ip->i_gid, mode, cred);
    +	return kauth_authorize_vnode(cred, KAUTH_ACCESS_ACTION(mode, vp->v_type,
    +	    ip->i_mode & ALLPERMS), vp, NULL, genfs_can_access(vp->v_type,
    +	    ip->i_mode & ALLPERMS, ip->i_uid, ip->i_gid, mode, cred));
     }
     
     int
    @@ -461,12 +461,16 @@ ufs_setattr(void *v)
     	kauth_cred_t	cred;
     	struct lwp	*l;
     	int		error;
    +	kauth_action_t	action;
    +	bool		changing_sysflags;
     
     	vap = ap->a_vap;
     	vp = ap->a_vp;
     	ip = VTOI(vp);
     	cred = ap->a_cred;
     	l = curlwp;
    +	action = KAUTH_VNODE_WRITE_FLAGS;
    +	changing_sysflags = false;
     
     	/*
     	 * Check for unsettable attributes.
    @@ -485,40 +489,37 @@ ufs_setattr(void *v)
     			error = EROFS;
     			goto out;
     		}
    -		if (kauth_cred_geteuid(cred) != ip->i_uid &&
    -		    (error = kauth_authorize_generic(cred,
    -		    KAUTH_GENERIC_ISSUSER, NULL)))
    +
    +		/* Snapshot flag cannot be set or cleared */
    +		if ((vap->va_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) !=
    +		    (ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL))) {
    +			error = EPERM;
     			goto out;
    -		if (kauth_authorize_generic(cred, KAUTH_GENERIC_ISSUSER,
    -		    NULL) == 0) {
    -			if ((ip->i_flags & (SF_IMMUTABLE | SF_APPEND)) &&
    -			    kauth_authorize_system(l->l_cred,
    -			     KAUTH_SYSTEM_CHSYSFLAGS, 0, NULL, NULL, NULL)) {
    -				error = EPERM;
    -				goto out;
    -			}
    -			/* Snapshot flag cannot be set or cleared */
    -			if ((vap->va_flags & (SF_SNAPSHOT | SF_SNAPINVAL)) !=
    -			    (ip->i_flags & (SF_SNAPSHOT | SF_SNAPINVAL))) {
    -				error = EPERM;
    -				goto out;
    -			}
    +		}
    +
    +		if (ip->i_flags & (SF_IMMUTABLE | SF_APPEND)) {
    +			action |= KAUTH_VNODE_HAS_SYSFLAGS;
    +		}
    +
    +		if ((vap->va_flags & SF_SETTABLE) !=
    +		    (ip->i_flags & SF_SETTABLE)) {
    +			action |= KAUTH_VNODE_WRITE_SYSFLAGS;
    +			changing_sysflags = true;
    +		}
    +
    +		error = kauth_authorize_vnode(cred, action, vp, NULL,
    +		    genfs_can_chflags(cred, vp->v_type, ip->i_uid,
    +		    changing_sysflags));
    +		if (error)
    +			goto out;
    +
    +		if (changing_sysflags) {
     			error = UFS_WAPBL_BEGIN(vp->v_mount);
     			if (error)
     				goto out;
     			ip->i_flags = vap->va_flags;
     			DIP_ASSIGN(ip, flags, ip->i_flags);
     		} else {
    -			if ((ip->i_flags & (SF_IMMUTABLE | SF_APPEND)) ||
    -			    (vap->va_flags & UF_SETTABLE) != vap->va_flags) {
    -				error = EPERM;
    -				goto out;
    -			}
    -			if ((ip->i_flags & SF_SETTABLE) !=
    -			    (vap->va_flags & SF_SETTABLE)) {
    -				error = EPERM;
    -				goto out;
    -			}
     			error = UFS_WAPBL_BEGIN(vp->v_mount);
     			if (error)
     				goto out;
    @@ -587,7 +588,7 @@ ufs_setattr(void *v)
     			if (vp->v_mount->mnt_wapbl) {
     				uint64_t incr = MNINDIR(ip->i_ump) <<
     				    vp->v_mount->mnt_fs_bshift; /* Power of 2 */
    -				uint64_t base = NDADDR <<
    +				uint64_t base = UFS_NDADDR <<
     				    vp->v_mount->mnt_fs_bshift;
     				while (!error && ip->i_size > base + incr &&
     				    ip->i_size > vap->va_size + incr) {
    @@ -629,7 +630,8 @@ ufs_setattr(void *v)
     			error = EPERM;
     			goto out;
     		}
    -		error = genfs_can_chtimes(vp, vap->va_vaflags, ip->i_uid, cred);
    +		error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_TIMES, vp,
    +		    NULL, genfs_can_chtimes(vp, vap->va_vaflags, ip->i_uid, cred));
     		if (error)
     			goto out;
     		error = UFS_WAPBL_BEGIN(vp->v_mount);
    @@ -691,7 +693,8 @@ ufs_chmod(struct vnode *vp, int mode, kauth_cred_t cred, struct lwp *l)
     
     	ip = VTOI(vp);
     
    -	error = genfs_can_chmod(vp, cred, ip->i_uid, ip->i_gid, mode);
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_WRITE_SECURITY, vp,
    +	    NULL, genfs_can_chmod(vp->v_type, cred, ip->i_uid, ip->i_gid, mode));
     	if (error)
     		return (error);
     
    @@ -728,7 +731,8 @@ ufs_chown(struct vnode *vp, uid_t uid, gid_t gid, kauth_cred_t cred,
     	if (gid == (gid_t)VNOVAL)
     		gid = ip->i_gid;
     
    -	error = genfs_can_chown(vp, cred, ip->i_uid, ip->i_gid, uid, gid);
    +	error = kauth_authorize_vnode(cred, KAUTH_VNODE_CHANGE_OWNERSHIP, vp,
    +	    NULL, genfs_can_chown(cred, ip->i_uid, ip->i_gid, uid, gid));
     	if (error)
     		return (error);
     
    @@ -929,7 +933,7 @@ ufs_whiteout(void *v)
     #endif
     
     		newdir = pool_cache_get(ufs_direct_cache, PR_WAITOK);
    -		newdir->d_ino = WINO;
    +		newdir->d_ino = UFS_WINO;
     		newdir->d_namlen = cnp->cn_namelen;
     		memcpy(newdir->d_name, cnp->cn_nameptr,
     		    (size_t)cnp->cn_namelen);
    @@ -962,1024 +966,6 @@ ufs_whiteout(void *v)
     	return (error);
     }
     
    -
    -/*
    - * Rename vnode operation
    - * 	rename("foo", "bar");
    - * is essentially
    - *	unlink("bar");
    - *	link("foo", "bar");
    - *	unlink("foo");
    - * but ``atomically''.  Can't do full commit without saving state in the
    - * inode on disk which isn't feasible at this time.  Best we can do is
    - * always guarantee the target exists.
    - *
    - * Basic algorithm is:
    - *
    - * 1) Bump link count on source while we're linking it to the
    - *    target.  This also ensure the inode won't be deleted out
    - *    from underneath us while we work (it may be truncated by
    - *    a concurrent `trunc' or `open' for creation).
    - * 2) Link source to destination.  If destination already exists,
    - *    delete it first.
    - * 3) Unlink source reference to inode if still around. If a
    - *    directory was moved and the parent of the destination
    - *    is different from the source, patch the ".." entry in the
    - *    directory.
    - */
    -
    -/*
    - * Notes on rename locking:
    - *
    - * We lock parent vnodes before child vnodes. This means in particular
    - * that if A is above B in the directory tree then A must be locked
    - * before B. (This is true regardless of how many steps appear in
    - * between, because an arbitrary number of other processes could lock
    - * parent/child in between and establish a lock cycle and deadlock.)
    - *
    - * Therefore, if tdvp is above fdvp we must lock tdvp first; if fdvp
    - * is above tdvp we must lock fdvp first; and if they're
    - * incommensurate it doesn't matter. (But, we rely on the fact that
    - * there's a whole-volume rename lock to prevent deadlock among groups
    - * of renames upon overlapping sets of incommensurate vnodes.)
    - *
    - * In addition to establishing lock ordering the parent check also
    - * serves to rule out cases where someone tries to move a directory
    - * underneath itself, e.g. rename("a/b", "a/b/c"). If allowed to
    - * proceed such renames would detach portions of the directory tree
    - * and make fsck very unhappy.
    - *
    - * Note that it is an error for *fvp* to be above tdvp; however,
    - * *fdvp* can be above tdvp, as in rename("a/b", "a/c/d").
    - *
    - * The parent check searches up the tree from tdvp until it either
    - * finds fdvp or the root of the volume. It also returns the vnode it
    - * saw immediately before fdvp, if any. Later on (after looking up
    - * fvp) we will check to see if this *is* fvp and if so fail.
    - *
    - * If the parent check finds fdvp, it means fdvp is above tdvp, so we
    - * lock fdvp first and then tdvp. Otherwise, either tdvp is above fdvp
    - * or they're incommensurate and we lock tdvp first.
    - *
    - * In either case each of the child vnodes has to be looked up and
    - * locked immediately after its parent. The cases
    - *
    - *       fdvp/fvp/[.../]tdvp/tvp
    - *       tdvp/tvp/[.../]fdvp/fvp
    - *
    - * can cause deadlock otherwise. Note that both of these are error
    - * cases; the first fails the parent check and the second fails
    - * because tvp isn't empty. The parent check case is handled before
    - * we start locking; however, the nonempty case requires locking tvp
    - * to find out safely that it's nonempty.
    - *
    - * Therefore the procedure is either
    - *
    - *   lock fdvp
    - *   lookup fvp
    - *   lock fvp
    - *   lock tdvp
    - *   lookup tvp
    - *   lock tvp
    - *
    - * or
    - *
    - *   lock tdvp
    - *   lookup tvp
    - *   lock tvp
    - *   lock fdvp
    - *   lookup fvp
    - *   lock fvp
    - *
    - * This could in principle be simplified by always looking up fvp
    - * last; because of the parent check we know by the time we start
    - * locking that fvp cannot be directly above tdvp, so (given the
    - * whole-volume rename lock and other assumptions) it's safe to lock
    - * tdvp before fvp. This would allow the following scheme:
    - *
    - *   lock fdvp
    - *   lock tdvp
    - * or
    - *   lock tdvp
    - *   lock fdvp
    - *
    - * then
    - *   lookup tvp
    - *   lock tvp
    - *   lookup fvp
    - *   check if fvp is above of tdvp, fail if so
    - *   lock fvp
    - *
    - * which is much, much simpler.
    - *
    - * However, current levels of vfs namei/lookup sanity do not permit
    - * this. It is impossible currently to look up fvp without locking it.
    - * (It gets locked regardless of whether LOCKLEAF is set; without
    - * LOCKLEAF it just gets unlocked again, which doesn't help.)
    - *
    - * Therefore, because we must look up fvp to know if it's above tdvp,
    - * which locks fvp, we must, at least in the case where fdvp is above
    - * tdvp, do that before locking tdvp. The longer scheme does that; the
    - * simpler scheme is not safe.
    - *
    - * Note that for now we aren't doing lookup() but relookup(); however,
    - * the differences are minor.
    - *
    - * On top of all the above, just to make everything more
    - * exciting, any two of the vnodes might end up being the same.
    - *
    - * FROMPARENT == FROMCHILD	mv a/. foo	is an error.
    - * FROMPARENT == TOPARENT	mv a/b a/c	is ok.
    - * FROMPARENT == TOCHILD	mv a/b/c a/b	will give ENOTEMPTY.
    - * FROMCHILD == TOPARENT	mv a/b a/b/c	fails the parent check.
    - * FROMCHILD == TOCHILD		mv a/b a/b	is ok.
    - * TOPARENT == TOCHILD		mv foo a/.	is an error.
    - *
    - * This introduces more cases in the locking, because each distinct
    - * vnode must be locked exactly once.
    - *
    - * When FROMPARENT == TOPARENT and FROMCHILD != TOCHILD we assume it
    - * doesn't matter what order the children are locked in, because the
    - * per-volume rename lock excludes other renames and no other
    - * operation locks two files in the same directory at once. (Note: if
    - * it turns out that link() does, link() is wrong.)
    - *
    - * Until such time as we can do lookups without the namei and lookup
    - * machinery "helpfully" locking the result vnode for us, we can't
    - * avoid tripping on cases where FROMCHILD == TOCHILD. Currently for
    - * non-directories we unlock the first one we lock while looking up
    - * the second, then relock it if necessary. This is more or less
    - * harmless since not much of interest can happen to the objects in
    - * that window while we have the containing directory locked; but it's
    - * not desirable and should be cleaned up when that becomes possible.
    - * The right way to do it is to check after looking the second one up
    - * and only lock it if it's different. (Note: for directories we don't
    - * do this dance because the same directory can't appear more than
    - * once.)
    - */
    -
    -/* XXX following lifted from ufs_lookup.c */
    -#define	FSFMT(vp)	(((vp)->v_mount->mnt_iflag & IMNT_DTYPE) == 0)
    -
    -/*
    - * Check if either entry referred to by FROM_ULR is within the range
    - * of entries named by TO_ULR.
    - */
    -static int
    -ulr_overlap(const struct ufs_lookup_results *from_ulr,
    -	    const struct ufs_lookup_results *to_ulr)
    -{
    -	doff_t from_start, from_prevstart;
    -	doff_t to_start, to_end;
    -
    -	/*
    -	 * FROM is a DELETE result; offset points to the entry to
    -	 * remove and subtracting count gives the previous entry.
    -	 */
    -	from_start = from_ulr->ulr_offset - from_ulr->ulr_count;
    -	from_prevstart = from_ulr->ulr_offset;
    -
    -	/*
    -	 * TO is a RENAME (thus non-DELETE) result; offset points
    -	 * to the beginning of a region to write in, and adding
    -	 * count gives the end of the region.
    -	 */
    -	to_start = to_ulr->ulr_offset;
    -	to_end = to_ulr->ulr_offset + to_ulr->ulr_count;
    -
    -	if (from_prevstart >= to_start && from_prevstart < to_end) {
    -		return 1;
    -	}
    -	if (from_start >= to_start && from_start < to_end) {
    -		return 1;
    -	}
    -	return 0;
    -}
    -
    -/*
    - * Wrapper for relookup that also updates the supplemental results.
    - */
    -static int
    -do_relookup(struct vnode *dvp, struct ufs_lookup_results *ulr,
    -	    struct vnode **vp, struct componentname *cnp)
    -{
    -	int error;
    -
    -	error = relookup(dvp, vp, cnp, 0);
    -	if (error) {
    -		return error;
    -	}
    -	/* update the supplemental reasults */
    -	*ulr = VTOI(dvp)->i_crap;
    -	UFS_CHECK_CRAPCOUNTER(VTOI(dvp));
    -	return 0;
    -}
    -
    -/*
    - * Lock and relookup a sequence of two directories and two children.
    - *
    - */
    -static int
    -lock_vnode_sequence(struct vnode *d1, struct ufs_lookup_results *ulr1,
    -		    struct vnode **v1_ret, struct componentname *cn1, 
    -		    int v1_missing_ok,
    -		    int overlap_error,
    -		    struct vnode *d2, struct ufs_lookup_results *ulr2,
    -		    struct vnode **v2_ret, struct componentname *cn2, 
    -		    int v2_missing_ok)
    -{
    -	struct vnode *v1, *v2;
    -	int error;
    -
    -	KASSERT(d1 != d2);
    -
    -	vn_lock(d1, LK_EXCLUSIVE | LK_RETRY);
    -	if (VTOI(d1)->i_size == 0) {
    -		/* d1 has been rmdir'd */
    -		VOP_UNLOCK(d1);
    -		return ENOENT;
    -	}
    -	error = do_relookup(d1, ulr1, &v1, cn1);
    -	if (v1_missing_ok) {
    -		if (error == ENOENT) {
    -			/*
    -			 * Note: currently if the name doesn't exist,
    -			 * relookup succeeds (it intercepts the
    -			 * EJUSTRETURN from VOP_LOOKUP) and sets tvp
    -			 * to NULL. Therefore, we will never get
    -			 * ENOENT and this branch is not needed.
    -			 * However, in a saner future the EJUSTRETURN
    -			 * garbage will go away, so let's DTRT.
    -			 */
    -			v1 = NULL;
    -			error = 0;
    -		}
    -	} else {
    -		if (error == 0 && v1 == NULL) {
    -			/* This is what relookup sets if v1 disappeared. */
    -			error = ENOENT;
    -		}
    -	}
    -	if (error) {
    -		VOP_UNLOCK(d1);
    -		return error;
    -	}
    -	if (v1 && v1 == d2) {
    -		VOP_UNLOCK(d1);
    -		VOP_UNLOCK(v1);
    -		vrele(v1);
    -		return overlap_error;
    -	}
    -
    -	/*
    -	 * The right way to do this is to do lookups without locking
    -	 * the results, and lock the results afterwards; then at the
    -	 * end we can avoid trying to lock v2 if v2 == v1.
    -	 *
    -	 * However, for the reasons described in the fdvp == tdvp case
    -	 * in rename below, we can't do that safely. So, in the case
    -	 * where v1 is not a directory, unlock it and lock it again
    -	 * afterwards. This is safe in locking order because a
    -	 * non-directory can't be above anything else in the tree. If
    -	 * v1 *is* a directory, that's not true, but then because d1
    -	 * != d2, v1 != v2.
    -	 */
    -	if (v1 && v1->v_type != VDIR) {
    -		VOP_UNLOCK(v1);
    -	}
    -	vn_lock(d2, LK_EXCLUSIVE | LK_RETRY);
    -	if (VTOI(d2)->i_size == 0) {
    -		/* d2 has been rmdir'd */
    -		VOP_UNLOCK(d2);
    -		if (v1 && v1->v_type == VDIR) {
    -			VOP_UNLOCK(v1);
    -		}
    -		VOP_UNLOCK(d1);
    -		if (v1) {
    -			vrele(v1);
    -		}
    -		return ENOENT;
    -	}
    -	error = do_relookup(d2, ulr2, &v2, cn2);
    -	if (v2_missing_ok) {
    -		if (error == ENOENT) {
    -			/* as above */
    -			v2 = NULL;
    -			error = 0;
    -		}
    -	} else {
    -		if (error == 0 && v2 == NULL) {
    -			/* This is what relookup sets if v2 disappeared. */
    -			error = ENOENT;
    -		}
    -	}
    -	if (error) {
    -		VOP_UNLOCK(d2);
    -		if (v1 && v1->v_type == VDIR) {
    -			VOP_UNLOCK(v1);
    -		}
    -		VOP_UNLOCK(d1);
    -		if (v1) {
    -			vrele(v1);
    -		}
    -		return error;
    -	}
    -	if (v1 && v1->v_type != VDIR && v1 != v2) {
    -		vn_lock(v1, LK_EXCLUSIVE | LK_RETRY);
    -	}
    -	*v1_ret = v1;
    -	*v2_ret = v2;
    -	return 0;
    -}
    -
    -/*
    - * Rename vnode operation
    - * 	rename("foo", "bar");
    - * is essentially
    - *	unlink("bar");
    - *	link("foo", "bar");
    - *	unlink("foo");
    - * but ``atomically''.  Can't do full commit without saving state in the
    - * inode on disk which isn't feasible at this time.  Best we can do is
    - * always guarantee the target exists.
    - *
    - * Basic algorithm is:
    - *
    - * 1) Bump link count on source while we're linking it to the
    - *    target.  This also ensure the inode won't be deleted out
    - *    from underneath us while we work (it may be truncated by
    - *    a concurrent `trunc' or `open' for creation).
    - * 2) Link source to destination.  If destination already exists,
    - *    delete it first.
    - * 3) Unlink source reference to inode if still around. If a
    - *    directory was moved and the parent of the destination
    - *    is different from the source, patch the ".." entry in the
    - *    directory.
    - */
    -int
    -ufs_rename(void *v)
    -{
    -	struct vop_rename_args  /* {
    -		struct vnode		*a_fdvp;
    -		struct vnode		*a_fvp;
    -		struct componentname	*a_fcnp;
    -		struct vnode		*a_tdvp;
    -		struct vnode		*a_tvp;
    -		struct componentname	*a_tcnp;
    -	} */ *ap = v;
    -	struct vnode		*tvp, *tdvp, *fvp, *fdvp;
    -	struct componentname	*tcnp, *fcnp;
    -	struct inode		*ip, *txp, *fxp, *tdp, *fdp;
    -	struct mount		*mp;
    -	struct direct		*newdir;
    -	int			doingdirectory, error;
    -	ino_t			oldparent, newparent;
    -
    -	struct ufs_lookup_results from_ulr, to_ulr;
    -
    -	tvp = ap->a_tvp;
    -	tdvp = ap->a_tdvp;
    -	fvp = ap->a_fvp;
    -	fdvp = ap->a_fdvp;
    -	tcnp = ap->a_tcnp;
    -	fcnp = ap->a_fcnp;
    -	doingdirectory = error = 0;
    -	oldparent = newparent = 0;
    -
    -	/* save the supplemental lookup results as they currently exist */
    -	from_ulr = VTOI(fdvp)->i_crap;
    -	to_ulr = VTOI(tdvp)->i_crap;
    -	UFS_CHECK_CRAPCOUNTER(VTOI(fdvp));
    -	UFS_CHECK_CRAPCOUNTER(VTOI(tdvp));
    -
    -	/*
    -	 * Owing to VFS oddities we are currently called with tdvp/tvp
    -	 * locked and not fdvp/fvp. In a sane world we'd be passed
    -	 * tdvp and fdvp only, unlocked, and two name strings. Pretend
    -	 * we have a sane world and unlock tdvp and tvp.
    -	 */
    -	VOP_UNLOCK(tdvp);
    -	if (tvp && tvp != tdvp) {
    -		VOP_UNLOCK(tvp);
    -	}
    -
    -	/* Also pretend we have a sane world and vrele fvp/tvp. */
    -	vrele(fvp);
    -	fvp = NULL;
    -	if (tvp) {
    -		vrele(tvp);
    -		tvp = NULL;
    -	}
    -
    -	/*
    -	 * Check for cross-device rename.
    -	 */
    -	if (fdvp->v_mount != tdvp->v_mount) {
    -		error = EXDEV;
    -		goto abort;
    -	}
    -
    -	/*
    -	 * Reject "." and ".."
    -	 */
    -	if ((fcnp->cn_flags & ISDOTDOT) || (tcnp->cn_flags & ISDOTDOT) ||
    -	    (fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
    -	    (tcnp->cn_namelen == 1 && tcnp->cn_nameptr[0] == '.')) {
    -		error = EINVAL;
    -		goto abort;
    -	}
    -	    
    -	/*
    -	 * Get locks.
    -	 */
    -
    -	/* paranoia */
    -	fcnp->cn_flags |= LOCKPARENT|LOCKLEAF;
    -	tcnp->cn_flags |= LOCKPARENT|LOCKLEAF;
    -
    -	if (fdvp == tdvp) {
    -		/* One directory. Lock it and relookup both children. */
    -		vn_lock(fdvp, LK_EXCLUSIVE | LK_RETRY);
    -
    -		if (VTOI(fdvp)->i_size == 0) {
    -			/* directory has been rmdir'd */
    -			VOP_UNLOCK(fdvp);
    -			error = ENOENT;
    -			goto abort;
    -		}
    -
    -		error = do_relookup(fdvp, &from_ulr, &fvp, fcnp);
    -		if (error == 0 && fvp == NULL) {
    -			/* relookup may produce this if fvp disappears */
    -			error = ENOENT;
    -		}
    -		if (error) {
    -			VOP_UNLOCK(fdvp);
    -			goto abort;
    -		}
    -
    -		/*
    -		 * The right way to do this is to look up both children
    -		 * without locking either, and then lock both unless they
    -		 * turn out to be the same. However, due to deep-seated
    -		 * VFS-level issues all lookups lock the child regardless
    -		 * of whether LOCKLEAF is set (if LOCKLEAF is not set,
    -		 * the child is locked during lookup and then unlocked)
    -		 * so it is not safe to look up tvp while fvp is locked.
    -		 *
    -		 * Unlocking fvp here temporarily is more or less safe,
    -		 * because with the directory locked there's not much
    -		 * that can happen to it. However, ideally it wouldn't
    -		 * be necessary. XXX.
    -		 */
    -		VOP_UNLOCK(fvp);
    -		/* remember fdvp == tdvp so tdvp is locked */
    -		error = do_relookup(tdvp, &to_ulr, &tvp, tcnp);
    -		if (error && error != ENOENT) {
    -			VOP_UNLOCK(fdvp);
    -			goto abort;
    -		}
    -		if (error == ENOENT) {
    -			/*
    -			 * Note: currently if the name doesn't exist,
    -			 * relookup succeeds (it intercepts the
    -			 * EJUSTRETURN from VOP_LOOKUP) and sets tvp
    -			 * to NULL. Therefore, we will never get
    -			 * ENOENT and this branch is not needed.
    -			 * However, in a saner future the EJUSTRETURN
    -			 * garbage will go away, so let's DTRT.
    -			 */
    -			tvp = NULL;
    -		}
    -
    -		/* tvp is locked; lock fvp if necessary */
    -		if (!tvp || tvp != fvp) {
    -			vn_lock(fvp, LK_EXCLUSIVE | LK_RETRY);
    -		}
    -	} else {
    -		int found_fdvp;
    -		struct vnode *illegal_fvp;
    -
    -		/*
    -		 * The source must not be above the destination. (If
    -		 * it were, the rename would detach a section of the
    -		 * tree.)
    -		 *
    -		 * Look up the tree from tdvp to see if we find fdvp,
    -		 * and if so, return the immediate child of fdvp we're
    -		 * under; that must not turn out to be the same as
    -		 * fvp.
    -		 *
    -		 * The per-volume rename lock guarantees that the
    -		 * result of this check remains true until we finish
    -		 * looking up and locking.
    -		 */
    -		error = ufs_parentcheck(fdvp, tdvp, fcnp->cn_cred,
    -					&found_fdvp, &illegal_fvp);
    -		if (error) {
    -			goto abort;
    -		}
    -
    -		/* Must lock in tree order. */
    -
    -		if (found_fdvp) {
    -			/* fdvp -> fvp -> tdvp -> tvp */
    -			error = lock_vnode_sequence(fdvp, &from_ulr,
    -						    &fvp, fcnp, 0,
    -						    EINVAL,
    -						    tdvp, &to_ulr,
    -						    &tvp, tcnp, 1);
    -		} else {
    -			/* tdvp -> tvp -> fdvp -> fvp */
    -			error = lock_vnode_sequence(tdvp, &to_ulr,
    -						    &tvp, tcnp, 1,
    -						    ENOTEMPTY,
    -						    fdvp, &from_ulr,
    -						    &fvp, fcnp, 0);
    -		}
    -		if (error) {
    -			if (illegal_fvp) {
    -				vrele(illegal_fvp);
    -			}
    -			goto abort;
    -		}
    -		KASSERT(fvp != NULL);
    -
    -		if (illegal_fvp && fvp == illegal_fvp) {
    -			vrele(illegal_fvp);
    -			error = EINVAL;
    -			goto abort_withlocks;
    -		}
    -
    -		if (illegal_fvp) {
    -			vrele(illegal_fvp);
    -		}
    -	}
    -
    -	KASSERT(fdvp && VOP_ISLOCKED(fdvp));
    -	KASSERT(fvp && VOP_ISLOCKED(fvp));
    -	KASSERT(tdvp && VOP_ISLOCKED(tdvp));
    -	KASSERT(tvp == NULL || VOP_ISLOCKED(tvp));
    -
    -	/* --- everything is now locked --- */
    -
    -	if (tvp && ((VTOI(tvp)->i_flags & (IMMUTABLE | APPEND)) ||
    -	    (VTOI(tdvp)->i_flags & APPEND))) {
    -		error = EPERM;
    -		goto abort_withlocks;
    -	}
    -
    -	/*
    -	 * Check if just deleting a link name.
    -	 */
    -	if (fvp == tvp) {
    -		if (fvp->v_type == VDIR) {
    -			error = EINVAL;
    -			goto abort_withlocks;
    -		}
    -
    -		/* Release destination completely. Leave fdvp locked. */
    -		VOP_ABORTOP(tdvp, tcnp);
    -		if (fdvp != tdvp) {
    -			VOP_UNLOCK(tdvp);
    -		}
    -		VOP_UNLOCK(tvp);
    -		vrele(tdvp);
    -		vrele(tvp);
    -
    -		/* Delete source. */
    -		/* XXX: do we really need to relookup again? */
    -
    -		/*
    -		 * fdvp is still locked, but we just unlocked fvp
    -		 * (because fvp == tvp) so just decref fvp
    -		 */
    -		vrele(fvp);
    -		fcnp->cn_flags &= ~(MODMASK);
    -		fcnp->cn_flags |= LOCKPARENT | LOCKLEAF;
    -		fcnp->cn_nameiop = DELETE;
    -		if ((error = relookup(fdvp, &fvp, fcnp, 0))) {
    -			vput(fdvp);
    -			return (error);
    -		}
    -		return (VOP_REMOVE(fdvp, fvp, fcnp));
    -	}
    -	fdp = VTOI(fdvp);
    -	ip = VTOI(fvp);
    -	if ((nlink_t) ip->i_nlink >= LINK_MAX) {
    -		error = EMLINK;
    -		goto abort_withlocks;
    -	}
    -	if ((ip->i_flags & (IMMUTABLE | APPEND)) ||
    -		(fdp->i_flags & APPEND)) {
    -		error = EPERM;
    -		goto abort_withlocks;
    -	}
    -	if ((ip->i_mode & IFMT) == IFDIR) {
    -		/*
    -		 * Avoid ".", "..", and aliases of "." for obvious reasons.
    -		 */
    -		if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') ||
    -		    fdp == ip ||
    -		    (fcnp->cn_flags & ISDOTDOT) ||
    -		    (tcnp->cn_flags & ISDOTDOT) ||
    -		    (ip->i_flag & IN_RENAME)) {
    -			error = EINVAL;
    -			goto abort_withlocks;
    -		}
    -		ip->i_flag |= IN_RENAME;
    -		doingdirectory = 1;
    -	}
    -	oldparent = fdp->i_number;
    -	VN_KNOTE(fdvp, NOTE_WRITE);		/* XXXLUKEM/XXX: right place? */
    -
    -	/*
    -	 * Both the directory
    -	 * and target vnodes are locked.
    -	 */
    -	tdp = VTOI(tdvp);
    -	txp = NULL;
    -	if (tvp)
    -		txp = VTOI(tvp);
    -
    -	mp = fdvp->v_mount;
    -	fstrans_start(mp, FSTRANS_SHARED);
    -
    -	if (oldparent != tdp->i_number)
    -		newparent = tdp->i_number;
    -
    -	/*
    -	 * If ".." must be changed (ie the directory gets a new
    -	 * parent) the user must have write permission in the source
    -	 * so as to be able to change "..".
    -	 */
    -	if (doingdirectory && newparent) {
    -		error = VOP_ACCESS(fvp, VWRITE, tcnp->cn_cred);
    -		if (error)
    -			goto out;
    -	}
    -
    -	KASSERT(fdvp != tvp);
    -
    -	if (newparent) {
    -		/* Check for the rename("foo/foo", "foo") case. */
    -		if (fdvp == tvp) {
    -			error = doingdirectory ? ENOTEMPTY : EISDIR;
    -			goto out;
    -		}
    -	}
    -
    -	fxp = VTOI(fvp);
    -	fdp = VTOI(fdvp);
    -
    -	error = UFS_WAPBL_BEGIN(fdvp->v_mount);
    -	if (error)
    -		goto out2;
    -
    -	/*
    -	 * 1) Bump link count while we're moving stuff
    -	 *    around.  If we crash somewhere before
    -	 *    completing our work, the link count
    -	 *    may be wrong, but correctable.
    -	 */
    -	ip->i_nlink++;
    -	DIP_ASSIGN(ip, nlink, ip->i_nlink);
    -	ip->i_flag |= IN_CHANGE;
    -	if ((error = UFS_UPDATE(fvp, NULL, NULL, UPDATE_DIROP)) != 0) {
    -		goto bad;
    -	}
    -
    -	/*
    -	 * 2) If target doesn't exist, link the target
    -	 *    to the source and unlink the source.
    -	 *    Otherwise, rewrite the target directory
    -	 *    entry to reference the source inode and
    -	 *    expunge the original entry's existence.
    -	 */
    -	if (txp == NULL) {
    -		if (tdp->i_dev != ip->i_dev)
    -			panic("rename: EXDEV");
    -		/*
    -		 * Account for ".." in new directory.
    -		 * When source and destination have the same
    -		 * parent we don't fool with the link count.
    -		 */
    -		if (doingdirectory && newparent) {
    -			if ((nlink_t)tdp->i_nlink >= LINK_MAX) {
    -				error = EMLINK;
    -				goto bad;
    -			}
    -			tdp->i_nlink++;
    -			DIP_ASSIGN(tdp, nlink, tdp->i_nlink);
    -			tdp->i_flag |= IN_CHANGE;
    -			if ((error = UFS_UPDATE(tdvp, NULL, NULL,
    -			    UPDATE_DIROP)) != 0) {
    -				tdp->i_nlink--;
    -				DIP_ASSIGN(tdp, nlink, tdp->i_nlink);
    -				tdp->i_flag |= IN_CHANGE;
    -				goto bad;
    -			}
    -		}
    -		newdir = pool_cache_get(ufs_direct_cache, PR_WAITOK);
    -		ufs_makedirentry(ip, tcnp, newdir);
    -		error = ufs_direnter(tdvp, &to_ulr,
    -				     NULL, newdir, tcnp, NULL);
    -		pool_cache_put(ufs_direct_cache, newdir);
    -		if (error != 0) {
    -			if (doingdirectory && newparent) {
    -				tdp->i_nlink--;
    -				DIP_ASSIGN(tdp, nlink, tdp->i_nlink);
    -				tdp->i_flag |= IN_CHANGE;
    -				(void)UFS_UPDATE(tdvp, NULL, NULL,
    -						 UPDATE_WAIT | UPDATE_DIROP);
    -			}
    -			goto bad;
    -		}
    -		VN_KNOTE(tdvp, NOTE_WRITE);
    -	} else {
    -		if (txp->i_dev != tdp->i_dev || txp->i_dev != ip->i_dev)
    -			panic("rename: EXDEV");
    -		/*
    -		 * Short circuit rename(foo, foo).
    -		 */
    -		if (txp->i_number == ip->i_number)
    -			panic("rename: same file");
    -		/*
    -		 * If the parent directory is "sticky", then the user must
    -		 * own the parent directory, or the destination of the rename,
    -		 * otherwise the destination may not be changed (except by
    -		 * root). This implements append-only directories.
    -		 */
    -		if ((tdp->i_mode & S_ISTXT) &&
    -		    kauth_authorize_generic(tcnp->cn_cred,
    -		     KAUTH_GENERIC_ISSUSER, NULL) != 0 &&
    -		    kauth_cred_geteuid(tcnp->cn_cred) != tdp->i_uid &&
    -		    txp->i_uid != kauth_cred_geteuid(tcnp->cn_cred)) {
    -			error = EPERM;
    -			goto bad;
    -		}
    -		/*
    -		 * Target must be empty if a directory and have no links
    -		 * to it. Also, ensure source and target are compatible
    -		 * (both directories, or both not directories).
    -		 */
    -		if ((txp->i_mode & IFMT) == IFDIR) {
    -			if (txp->i_nlink > 2 ||
    -			    !ufs_dirempty(txp, tdp->i_number, tcnp->cn_cred)) {
    -				error = ENOTEMPTY;
    -				goto bad;
    -			}
    -			if (!doingdirectory) {
    -				error = ENOTDIR;
    -				goto bad;
    -			}
    -			cache_purge(tdvp);
    -		} else if (doingdirectory) {
    -			error = EISDIR;
    -			goto bad;
    -		}
    -		if ((error = ufs_dirrewrite(tdp, to_ulr.ulr_offset,
    -		    txp, ip->i_number,
    -		    IFTODT(ip->i_mode), doingdirectory && newparent ?
    -		    newparent : doingdirectory, IN_CHANGE | IN_UPDATE)) != 0)
    -			goto bad;
    -		if (doingdirectory) {
    -			/*
    -			 * Truncate inode. The only stuff left in the directory
    -			 * is "." and "..". The "." reference is inconsequential
    -			 * since we are quashing it. We have removed the "."
    -			 * reference and the reference in the parent directory,
    -			 * but there may be other hard links.
    -			 */
    -			if (!newparent) {
    -				tdp->i_nlink--;
    -				DIP_ASSIGN(tdp, nlink, tdp->i_nlink);
    -				tdp->i_flag |= IN_CHANGE;
    -				UFS_WAPBL_UPDATE(tdvp, NULL, NULL, 0);
    -			}
    -			txp->i_nlink--;
    -			DIP_ASSIGN(txp, nlink, txp->i_nlink);
    -			txp->i_flag |= IN_CHANGE;
    -			if ((error = UFS_TRUNCATE(tvp, (off_t)0, IO_SYNC,
    -			    tcnp->cn_cred)))
    -				goto bad;
    -		}
    -		VN_KNOTE(tdvp, NOTE_WRITE);
    -		VN_KNOTE(tvp, NOTE_DELETE);
    -	}
    -
    -	/*
    -	 * Handle case where the directory entry we need to remove,
    -	 * which is/was at from_ulr.ulr_offset, or the one before it,
    -	 * which is/was at from_ulr.ulr_offset - from_ulr.ulr_count,
    -	 * may have been moved when the directory insertion above
    -	 * performed compaction.
    -	 */
    -	if (tdp->i_number == fdp->i_number &&
    -	    ulr_overlap(&from_ulr, &to_ulr)) {
    -
    -		struct buf *bp;
    -		struct direct *ep;
    -		struct ufsmount *ump = fdp->i_ump;
    -		doff_t curpos;
    -		doff_t endsearch;	/* offset to end directory search */
    -		uint32_t prev_reclen;
    -		int dirblksiz = ump->um_dirblksiz;
    -		const int needswap = UFS_MPNEEDSWAP(ump);
    -		u_long bmask;
    -		int namlen, entryoffsetinblock;
    -		char *dirbuf;
    -
    -		bmask = fdvp->v_mount->mnt_stat.f_iosize - 1;
    -
    -		/*
    -		 * The fcnp entry will be somewhere between the start of
    -		 * compaction (to_ulr.ulr_offset) and the original location
    -		 * (from_ulr.ulr_offset).
    -		 */
    -		curpos = to_ulr.ulr_offset;
    -		endsearch = from_ulr.ulr_offset + from_ulr.ulr_reclen;
    -		entryoffsetinblock = 0;
    -
    -		/*
    -		 * Get the directory block containing the start of
    -		 * compaction.
    -		 */
    -		error = ufs_blkatoff(fdvp, (off_t)to_ulr.ulr_offset, &dirbuf,
    -		    &bp, false);
    -		if (error)
    -			goto bad;
    -
    -		/*
    -		 * Keep existing ulr_count (length of previous record)
    -		 * for the case where compaction did not include the
    -		 * previous entry but started at the from-entry.
    -		 */
    -		prev_reclen = from_ulr.ulr_count;
    -
    -		while (curpos < endsearch) {
    -			uint32_t reclen;
    -
    -			/*
    -			 * If necessary, get the next directory block.
    -			 *
    -			 * dholland 7/13/11 to the best of my understanding
    -			 * this should never happen; compaction occurs only
    -			 * within single blocks. I think.
    -			 */
    -			if ((curpos & bmask) == 0) {
    -				if (bp != NULL)
    -					brelse(bp, 0);
    -				error = ufs_blkatoff(fdvp, (off_t)curpos,
    -				    &dirbuf, &bp, false);
    -				if (error)
    -					goto bad;
    -				entryoffsetinblock = 0;
    -			}
    -
    -			KASSERT(bp != NULL);
    -			ep = (struct direct *)(dirbuf + entryoffsetinblock);
    -			reclen = ufs_rw16(ep->d_reclen, needswap);
    -
    -#if (BYTE_ORDER == LITTLE_ENDIAN)
    -			if (FSFMT(fdvp) && needswap == 0)
    -				namlen = ep->d_type;
    -			else
    -				namlen = ep->d_namlen;
    -#else
    -			if (FSFMT(fdvp) && needswap != 0)
    -				namlen = ep->d_type;
    -			else
    -				namlen = ep->d_namlen;
    -#endif
    -			if ((ep->d_ino != 0) &&
    -			    (ufs_rw32(ep->d_ino, needswap) != WINO) &&
    -			    (namlen == fcnp->cn_namelen) &&
    -			    memcmp(ep->d_name, fcnp->cn_nameptr, namlen) == 0) {
    -				from_ulr.ulr_reclen = reclen;
    -				break;
    -			}
    -			curpos += reclen;
    -			entryoffsetinblock += reclen;
    -			prev_reclen = reclen;
    -		}
    -
    -		from_ulr.ulr_offset = curpos;
    -		from_ulr.ulr_count = prev_reclen;
    -
    -		KASSERT(curpos <= endsearch);
    -
    -		/*
    -		 * If ulr_offset points to start of a directory block,
    -		 * clear ulr_count so ufs_dirremove() doesn't try to
    -		 * merge free space over a directory block boundary.
    -		 */
    -		if ((from_ulr.ulr_offset & (dirblksiz - 1)) == 0)
    -			from_ulr.ulr_count = 0;
    -
    -		brelse(bp, 0);
    -	}
    -
    -	/*
    -	 * 3) Unlink the source.
    -	 */
    -
    -#if 0
    -	/*
    -	 * Ensure that the directory entry still exists and has not
    -	 * changed while the new name has been entered. If the source is
    -	 * a file then the entry may have been unlinked or renamed. In
    -	 * either case there is no further work to be done. If the source
    -	 * is a directory then it cannot have been rmdir'ed; The IRENAME
    -	 * flag ensures that it cannot be moved by another rename or removed
    -	 * by a rmdir.
    -	 */
    -#endif
    -	KASSERT(fxp == ip);
    -
    -	/*
    -	 * If the source is a directory with a new parent, the link
    -	 * count of the old parent directory must be decremented and
    -	 * ".." set to point to the new parent.
    -	 */
    -	if (doingdirectory && newparent) {
    -		KASSERT(fdp != NULL);
    -		ufs_dirrewrite(fxp, mastertemplate.dot_reclen,
    -			       fdp, newparent, DT_DIR, 0, IN_CHANGE);
    -		cache_purge(fdvp);
    -	}
    -	error = ufs_dirremove(fdvp, &from_ulr,
    -			      fxp, fcnp->cn_flags, 0);
    -	fxp->i_flag &= ~IN_RENAME;
    -
    -	VN_KNOTE(fvp, NOTE_RENAME);
    -	goto done;
    -
    - out:
    -	goto out2;
    -
    -	/* exit routines from steps 1 & 2 */
    - bad:
    -	if (doingdirectory)
    -		ip->i_flag &= ~IN_RENAME;
    -	ip->i_nlink--;
    -	DIP_ASSIGN(ip, nlink, ip->i_nlink);
    -	ip->i_flag |= IN_CHANGE;
    -	ip->i_flag &= ~IN_RENAME;
    -	UFS_WAPBL_UPDATE(fvp, NULL, NULL, 0);
    - done:
    -	UFS_WAPBL_END(fdvp->v_mount);
    - out2:
    -	/*
    -	 * clear IN_RENAME - some exit paths happen too early to go
    -	 * through the cleanup done in the "bad" case above, so we
    -	 * always do this mini-cleanup here.
    -	 */
    -	ip->i_flag &= ~IN_RENAME;
    -
    -	VOP_UNLOCK(fdvp);
    -	if (tdvp != fdvp) {
    -		VOP_UNLOCK(tdvp);
    -	}
    -	VOP_UNLOCK(fvp);
    -	if (tvp && tvp != fvp) {
    -		VOP_UNLOCK(tvp);
    -	}
    -
    -	vrele(fdvp);
    -	vrele(tdvp);
    -	vrele(fvp);
    -	if (tvp) {
    -		vrele(tvp);
    -	}
    -
    -	fstrans_done(mp);
    -	return (error);
    -
    - abort_withlocks:
    -	VOP_UNLOCK(fdvp);
    -	if (tdvp != fdvp) {
    -		VOP_UNLOCK(tdvp);
    -	}
    -	VOP_UNLOCK(fvp);
    -	if (tvp && tvp != fvp) {
    -		VOP_UNLOCK(tvp);
    -	}
    -
    - abort:
    -	VOP_ABORTOP(fdvp, fcnp); /* XXX, why not in NFS? */
    -	VOP_ABORTOP(tdvp, tcnp); /* XXX, why not in NFS? */
    -	vrele(tdvp);
    -	if (tvp) {
    -		vrele(tvp);
    -	}
    -	vrele(fdvp);
    -	if (fvp) {
    -		vrele(fvp);
    -	}
    -	return (error);
    -}
    -
     int
     ufs_mkdir(void *v)
     {
    @@ -2129,8 +1115,6 @@ ufs_mkdir(void *v)
     		ip->i_nlink = 0;
     		DIP_ASSIGN(ip, nlink, 0);
     		ip->i_flag |= IN_CHANGE;
    -		/* If IN_ADIROP, account for it */
    -		UFS_UNMARK_VNODE(tvp);
     		UFS_WAPBL_UPDATE(tvp, NULL, NULL, UPDATE_DIROP);
     		UFS_WAPBL_END(dvp->v_mount);
     		vput(tvp);
    @@ -2186,10 +1170,6 @@ ufs_rmdir(void *v)
     	 * directory and thus be non-empty.)
     	 */
     	error = 0;
    -	if (ip->i_flag & IN_RENAME) {
    -		error = EINVAL;
    -		goto out;
    -	}
     	if (ip->i_nlink != 2 ||
     	    !ufs_dirempty(ip, dp->i_number, cnp->cn_cred)) {
     		error = ENOTEMPTY;
    @@ -2283,6 +1263,13 @@ ufs_symlink(void *v)
     	vp = *vpp;
     	len = strlen(ap->a_target);
     	ip = VTOI(vp);
    +	/*
    +	 * This test is off by one. um_maxsymlinklen contains the
    +	 * number of bytes available, and we aren't storing a \0, so
    +	 * the test should properly be <=. However, it cannot be
    +	 * changed as this would break compatibility with existing fs
    +	 * images -- see the way ufs_readlink() works.
    +	 */
     	if (len < ip->i_ump->um_maxsymlinklen) {
     		memcpy((char *)SHORTLINK(ip), ap->a_target, len);
     		ip->i_size = len;
    @@ -2329,7 +1316,7 @@ ufs_readdir(void *v)
     	struct uio	auio, *uio;
     	struct iovec	aiov;
     	int		error;
    -	size_t		count, ccount, rcount;
    +	size_t		count, ccount, rcount, cdbufsz, ndbufsz;
     	off_t		off, *ccp;
     	off_t		startoff;
     	size_t		skipbytes;
    @@ -2357,12 +1344,13 @@ ufs_readdir(void *v)
     	auio.uio_resid = rcount;
     	UIO_SETUP_SYSSPACE(&auio);
     	auio.uio_rw = UIO_READ;
    -	cdbuf = malloc(rcount, M_TEMP, M_WAITOK);
    +	cdbufsz = rcount;
    +	cdbuf = kmem_alloc(cdbufsz, KM_SLEEP);
     	aiov.iov_base = cdbuf;
     	aiov.iov_len = rcount;
     	error = VOP_READ(vp, &auio, 0, ap->a_cred);
     	if (error != 0) {
    -		free(cdbuf, M_TEMP);
    +		kmem_free(cdbuf, cdbufsz);
     		return error;
     	}
     
    @@ -2371,7 +1359,8 @@ ufs_readdir(void *v)
     	cdp = (struct direct *)(void *)cdbuf;
     	ecdp = (struct direct *)(void *)&cdbuf[rcount];
     
    -	ndbuf = malloc(count, M_TEMP, M_WAITOK);
    +	ndbufsz = count;
    +	ndbuf = kmem_alloc(ndbufsz, KM_SLEEP);
     	ndp = (struct dirent *)(void *)ndbuf;
     	endp = &ndbuf[count];
     
    @@ -2445,8 +1434,8 @@ out:
     		}
     	}
     	uio->uio_offset = off;
    -	free(ndbuf, M_TEMP);
    -	free(cdbuf, M_TEMP);
    +	kmem_free(ndbuf, ndbufsz);
    +	kmem_free(cdbuf, cdbufsz);
     	*ap->a_eofflag = VTOI(vp)->i_size <= uio->uio_offset;
     	return error;
     }
    @@ -2467,6 +1456,12 @@ ufs_readlink(void *v)
     	struct ufsmount	*ump = VFSTOUFS(vp->v_mount);
     	int		isize;
     
    +	/*
    +	 * The test against um_maxsymlinklen is off by one; it should
    +	 * theoretically be <=, not <. However, it cannot be changed
    +	 * as that would break compatibility with existing fs images.
    +	 */
    +
     	isize = ip->i_size;
     	if (isize < ump->um_maxsymlinklen ||
     	    (ump->um_maxsymlinklen == 0 && DIP(ip, blocks) == 0)) {
    @@ -2627,10 +1622,8 @@ ufsspec_close(void *v)
     		kauth_cred_t	a_cred;
     	} */ *ap = v;
     	struct vnode	*vp;
    -	struct inode	*ip;
     
     	vp = ap->a_vp;
    -	ip = VTOI(vp);
     	if (vp->v_usecount > 1)
     		UFS_ITIMES(vp, NULL, NULL, NULL);
     	return (VOCALL (spec_vnodeop_p, VOFFSET(vop_close), ap));
    @@ -2690,10 +1683,8 @@ ufsfifo_close(void *v)
     		kauth_cred_t	a_cred;
     	} */ *ap = v;
     	struct vnode	*vp;
    -	struct inode	*ip;
     
     	vp = ap->a_vp;
    -	ip = VTOI(vp);
     	if (ap->a_vp->v_usecount > 1)
     		UFS_ITIMES(vp, NULL, NULL, NULL);
     	return (VOCALL (fifo_vnodeop_p, VOFFSET(vop_close), ap));
    @@ -2807,7 +1798,7 @@ ufs_vinit(struct mount *mntp, int (**specops)(void *), int (**fifoops)(void *),
     	case VREG:
     		break;
     	}
    -	if (ip->i_number == ROOTINO)
    +	if (ip->i_number == UFS_ROOTINO)
                     vp->v_vflag |= VV_ROOT;
     	/*
     	 * Initialize modrev times
    @@ -2828,7 +1819,7 @@ ufs_makeinode(int mode, struct vnode *dvp, const struct ufs_lookup_results *ulr,
     	struct inode	*ip, *pdir;
     	struct direct	*newdir;
     	struct vnode	*tvp;
    -	int		error, ismember = 0;
    +	int		error;
     
     	UFS_WAPBL_JUNLOCK_ASSERT(dvp->v_mount);
     
    @@ -2873,11 +1864,16 @@ ufs_makeinode(int mode, struct vnode *dvp, const struct ufs_lookup_results *ulr,
     	tvp->v_type = IFTOVT(mode);	/* Rest init'd in getnewvnode(). */
     	ip->i_nlink = 1;
     	DIP_ASSIGN(ip, nlink, 1);
    -	if ((ip->i_mode & ISGID) && (kauth_cred_ismember_gid(cnp->cn_cred,
    -	    ip->i_gid, &ismember) != 0 || !ismember) &&
    -	    kauth_authorize_generic(cnp->cn_cred, KAUTH_GENERIC_ISSUSER, NULL)) {
    -		ip->i_mode &= ~ISGID;
    -		DIP_ASSIGN(ip, mode, ip->i_mode);
    +
    +	/* Authorize setting SGID if needed. */
    +	if (ip->i_mode & ISGID) {
    +		error = kauth_authorize_vnode(cnp->cn_cred, KAUTH_VNODE_WRITE_SECURITY,
    +		    tvp, NULL, genfs_can_chmod(tvp->v_type, cnp->cn_cred, ip->i_uid,
    +		    ip->i_gid, mode));
    +		if (error) {
    +			ip->i_mode &= ~ISGID;
    +			DIP_ASSIGN(ip, mode, ip->i_mode);
    +		}
     	}
     
     	if (cnp->cn_flags & ISWHITEOUT) {
    @@ -2908,8 +1904,6 @@ ufs_makeinode(int mode, struct vnode *dvp, const struct ufs_lookup_results *ulr,
     	ip->i_nlink = 0;
     	DIP_ASSIGN(ip, nlink, 0);
     	ip->i_flag |= IN_CHANGE;
    -	/* If IN_ADIROP, account for it */
    -	UFS_UNMARK_VNODE(tvp);
     	UFS_WAPBL_UPDATE(tvp, NULL, NULL, 0);
     	tvp->v_type = VNON;		/* explodes later if VBLK */
     	UFS_WAPBL_END1(dvp->v_mount, dvp);
    diff --git a/sys/ufs/ufs/ufs_wapbl.c b/sys/ufs/ufs/ufs_wapbl.c
    index 1f11526e7..938568830 100644
    --- a/sys/ufs/ufs/ufs_wapbl.c
    +++ b/sys/ufs/ufs/ufs_wapbl.c
    @@ -1,4 +1,4 @@
    -/*  $NetBSD: ufs_wapbl.c,v 1.22 2011/07/18 06:46:05 dholland Exp $ */
    +/*  $NetBSD: ufs_wapbl.c,v 1.23 2012/01/27 19:22:50 para Exp $ */
     
     /*-
      * Copyright (c) 2003,2006,2008 The NetBSD Foundation, Inc.
    @@ -66,7 +66,7 @@
      */
     
     #include 
    -__KERNEL_RCSID(0, "$NetBSD: ufs_wapbl.c,v 1.22 2011/07/18 06:46:05 dholland Exp $");
    +__KERNEL_RCSID(0, "$NetBSD: ufs_wapbl.c,v 1.23 2012/01/27 19:22:50 para Exp $");
     
     #include 
     #include 
    @@ -79,7 +79,6 @@ __KERNEL_RCSID(0, "$NetBSD: ufs_wapbl.c,v 1.22 2011/07/18 06:46:05 dholland Exp
     #include 
     #include 
     #include 
    -#include 
     #include 
     #include 
     #include 
    diff --git a/sys/ufs/ufs/ufs_wapbl.h b/sys/ufs/ufs/ufs_wapbl.h
    index 6dc878c63..1eab04580 100644
    --- a/sys/ufs/ufs/ufs_wapbl.h
    +++ b/sys/ufs/ufs/ufs_wapbl.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufs_wapbl.h,v 1.7 2011/09/19 11:18:01 gdt Exp $	*/
    +/*	$NetBSD: ufs_wapbl.h,v 1.8 2013/11/10 18:28:08 christos Exp $	*/
     
     /*-
      * Copyright (c) 2003,2006,2008 The NetBSD Foundation, Inc.
    @@ -163,7 +163,7 @@ ufs_wapbl_end2(struct mount *mp, struct vnode *vp1, struct vnode *vp2)
     	if (mp->mnt_wapbl) wapbl_register_deallocation(mp->mnt_wapbl, blk, len)
     
     #else /* ! WAPBL */
    -#define	UFS_WAPBL_BEGIN(mp) 0
    +#define	UFS_WAPBL_BEGIN(mp) (__USE(mp), 0)
     #define	UFS_WAPBL_BEGIN1(mp, v1) 0
     #define	UFS_WAPBL_END(mp)	do { } while (0)
     #define	UFS_WAPBL_END1(mp, v1)
    diff --git a/sys/ufs/ufs/ufsmount.h b/sys/ufs/ufs/ufsmount.h
    index 9fcc89739..2394931bf 100644
    --- a/sys/ufs/ufs/ufsmount.h
    +++ b/sys/ufs/ufs/ufsmount.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ufsmount.h,v 1.37 2011/11/24 15:51:32 ahoka Exp $	*/
    +/*	$NetBSD: ufsmount.h,v 1.41 2013/08/11 04:36:17 dholland Exp $	*/
     
     /*
      * Copyright (c) 1982, 1986, 1989, 1993
    @@ -43,7 +43,7 @@ struct ufs_args {
     	char	*fspec;			/* block special device to mount */
     };
     
    -#ifndef __minix
    +#if !defined(__minix)
     /*
      * Arguments to mount MFS
      */
    @@ -53,7 +53,7 @@ struct mfs_args {
     	void *	base;			/* base of file system in memory */
     	u_long	size;			/* size of file system */
     };
    -#endif
    +#endif /* !defined(__minix) */
     
     #ifdef _KERNEL
     
    @@ -126,6 +126,8 @@ struct ufsmount {
     	void	*um_snapinfo;			/* snapshot private data */
     
     	const struct ufs_ops *um_ops;
    +
    +	void *um_discarddata;
     };
     
     struct ufs_ops {
    @@ -138,7 +140,7 @@ struct ufs_ops {
     	int (*uo_vfree)(struct vnode *, ino_t, int);
     	int (*uo_balloc)(struct vnode *, off_t, int, kauth_cred_t, int,
     	    struct buf **);
    -        void (*uo_unmark_vnode)(struct vnode *);
    +        void (*uo_snapgone)(struct vnode *);
     };
     
     #define	UFS_OPS(vp)	(VFSTOUFS((vp)->v_mount)->um_ops)
    @@ -155,8 +157,8 @@ struct ufs_ops {
     	(*UFS_OPS(vp)->uo_vfree)((vp), (ino), (mode))
     #define	UFS_BALLOC(vp, off, size, cr, flags, bpp) \
     	(*UFS_OPS(vp)->uo_balloc)((vp), (off), (size), (cr), (flags), (bpp))
    -#define	UFS_UNMARK_VNODE(vp) \
    -	(*UFS_OPS(vp)->uo_unmark_vnode)((vp))
    +#define	UFS_SNAPGONE(vp) \
    +	(*UFS_OPS(vp)->uo_snapgone)((vp))
     
     /* UFS-specific flags */
     #define UFS_NEEDSWAP	0x01	/* filesystem metadata need byte-swapping */
    @@ -192,6 +194,12 @@ struct ufs_ops {
      */
     #define MNINDIR(ump)			((ump)->um_nindir)
     #define	blkptrtodb(ump, b)		((b) << (ump)->um_bptrtodb)
    +
    +/*
    + * Predicate for byte-swapping support.
    + */
    +#define	FSFMT(vp)	(((vp)->v_mount->mnt_iflag & IMNT_DTYPE) == 0)
    +
     #endif /* _KERNEL */
     
     #endif /* !_UFS_UFS_UFSMOUNT_H_ */
    diff --git a/sys/uvm/pmap/pmap.h b/sys/uvm/pmap/pmap.h
    index e2d5e55f2..3de9b7895 100644
    --- a/sys/uvm/pmap/pmap.h
    +++ b/sys/uvm/pmap/pmap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pmap.h,v 1.1 2012/10/03 00:51:46 christos Exp $	*/
    +/*	$NetBSD: pmap.h,v 1.3 2013/07/17 23:15:20 matt Exp $	*/
     
     /*
      * Copyright (c) 1992, 1993
    @@ -113,29 +113,18 @@ void pmap_segtab_destroy(struct pmap *, pte_callback_t, uintptr_t);
     extern kmutex_t pmap_segtab_lock;
     #endif /* _KERNEL */
     
    -/*
    - * Per TLB (normally same as CPU) asid info
    - */
    -struct pmap_asid_info {
    -	LIST_ENTRY(pmap_asid_info) pai_link;
    -	uint32_t	pai_asid;	/* TLB address space tag */
    -};
    -
    -#define	TLBINFO_LOCK(ti)		mutex_spin_enter((ti)->ti_lock)
    -#define	TLBINFO_UNLOCK(ti)		mutex_spin_exit((ti)->ti_lock)
    -#define	PMAP_PAI_ASIDVALID_P(pai, ti)	((pai)->pai_asid != 0)
    -#define	PMAP_PAI(pmap, ti)		(&(pmap)->pm_pai[tlbinfo_index(ti)])
    -#define	PAI_PMAP(pai, ti)	\
    -	((pmap_t)((intptr_t)(pai) \
    -	    - offsetof(struct pmap, pm_pai[tlbinfo_index(ti)])))
    +#ifdef MULTIPROCESSOR
    +#include 
    +#endif
    +#include 
     
     /*
      * Machine dependent pmap structure.
      */
     struct pmap {
     #ifdef MULTIPROCESSOR
    -	__cpuset_t		pm_active;	/* pmap was active on ... */
    -	__cpuset_t		pm_onproc;	/* pmap is active on ... */
    +	kcpuset_t		*pm_active;	/* pmap was active on ... */
    +	kcpuset_t		*pm_onproc;	/* pmap is active on ... */
     	volatile u_int		pm_shootdown_pending;
     #endif
     	pmap_segtab_t *		pm_segtab;	/* pointers to pages of PTEs */
    @@ -148,49 +137,11 @@ struct pmap {
     	struct pmap_asid_info	pm_pai[1];
     };
     
    -enum tlb_invalidate_op {
    -	TLBINV_NOBODY=0,
    -	TLBINV_ONE=1,
    -	TLBINV_ALLUSER=2,
    -	TLBINV_ALLKERNEL=3,
    -	TLBINV_ALL=4
    -};
    -
    -struct pmap_tlb_info {
    -	char ti_name[8];
    -	uint32_t ti_asid_hint;		/* probable next ASID to use */
    -	uint32_t ti_asids_free;		/* # of ASIDs free */
    -#define	tlbinfo_noasids_p(ti)	((ti)->ti_asids_free == 0)
    -	kmutex_t *ti_lock;
    -	u_int ti_wired;			/* # of wired TLB entries */
    -	uint32_t ti_asid_max;
    -	LIST_HEAD(, pmap_asid_info) ti_pais; /* list of active ASIDs */
    -#ifdef MULTIPROCESSOR
    -	pmap_t ti_victim;
    -	uint32_t ti_synci_page_bitmap;	/* page indices needing a syncicache */
    -	__cpuset_t ti_cpu_mask;		/* bitmask of CPUs sharing this TLB */
    -	enum tlb_invalidate_op ti_tlbinvop;
    -	u_int ti_index;
    -#define tlbinfo_index(ti)	((ti)->ti_index)
    -	struct evcnt ti_evcnt_synci_asts;
    -	struct evcnt ti_evcnt_synci_all;
    -	struct evcnt ti_evcnt_synci_pages;
    -	struct evcnt ti_evcnt_synci_deferred;
    -	struct evcnt ti_evcnt_synci_desired;
    -	struct evcnt ti_evcnt_synci_duplicate;
    -#else
    -#define tlbinfo_index(ti)	(0)
    -#endif
    -	struct evcnt ti_evcnt_asid_reinits;
    -	u_long ti_asid_bitmap[256 / (sizeof(u_long) * 8)];
    -};
    -
     #ifdef	_KERNEL
    -
     struct pmap_kernel {
     	struct pmap kernel_pmap;
    -#ifdef MULTIPROCESSOR
    -	struct pmap_asid_info kernel_pai[MAXCPUS-1];
    +#if defined(MULTIPROCESSOR) && PMAP_TLB_MAX > 1
    +	struct pmap_asid_info kernel_pai[PMAP_TLB_MAX-1];
     #endif
     };
     
    @@ -208,11 +159,6 @@ extern struct pool pmap_pv_pool;
     extern struct pool_allocator pmap_pv_page_allocator;
     
     extern struct pmap_kernel kernel_pmap_store;
    -extern struct pmap_tlb_info pmap_tlb0_info;
    -#ifdef MULTIPROCESSOR
    -extern struct pmap_tlb_info *pmap_tlbs[MAXCPUS];
    -extern u_int pmap_ntlbs;
    -#endif
     extern struct pmap_limits pmap_limits;
     
     #define	pmap_wired_count(pmap) 	((pmap)->pm_stats.wired_count)
    @@ -231,27 +177,6 @@ void	pmap_pvlist_lock_init(size_t);
     #define	PMAP_WBINV	1
     #define	PMAP_INV	2
     
    -#ifdef MULTIPROCESSOR
    -void	pmap_tlb_shootdown_process(void);
    -bool	pmap_tlb_shootdown_bystanders(pmap_t pmap);
    -void	pmap_tlb_info_attach(struct pmap_tlb_info *, struct cpu_info *);
    -void	pmap_md_tlb_info_attach(struct pmap_tlb_info *, struct cpu_info *);
    -void	pmap_syncicache_ast(struct cpu_info *);
    -void	pmap_syncicache_wanted(struct cpu_info *);
    -void	pmap_syncicache(vaddr_t, uint32_t);
    -#endif
    -void	pmap_tlb_info_init(struct pmap_tlb_info *);
    -void	pmap_tlb_info_evcnt_attach(struct pmap_tlb_info *);
    -void	pmap_tlb_asid_acquire(pmap_t, struct lwp *l);
    -void	pmap_tlb_asid_deactivate(pmap_t);
    -void	pmap_tlb_asid_release_all(pmap_t);
    -int	pmap_tlb_update_addr(pmap_t, vaddr_t, uint32_t, u_int);
    -#define	PMAP_TLB_NEED_IPI	0x01
    -#define	PMAP_TLB_INSERT		0x02
    -void	pmap_tlb_invalidate_addr(pmap_t, vaddr_t);
    -void	pmap_tlb_check(pmap_t, bool (*)(void *, vaddr_t, tlb_asid_t, pt_entry_t));
    -void	pmap_tlb_asid_check(void);
    -
     uint16_t pmap_pvlist_lock(struct vm_page_md *, bool);
     
     #define	PMAP_STEAL_MEMORY	/* enable pmap_steal_memory() */
    diff --git a/sys/uvm/pmap/pmap_tlb.h b/sys/uvm/pmap/pmap_tlb.h
    new file mode 100644
    index 000000000..ac9ecff3b
    --- /dev/null
    +++ b/sys/uvm/pmap/pmap_tlb.h
    @@ -0,0 +1,177 @@
    +/*	$NetBSD: pmap_tlb.h,v 1.3 2013/07/22 03:39:55 matt Exp $	*/
    +
    +/*
    + * Copyright (c) 1992, 1993
    + *	The Regents of the University of California.  All rights reserved.
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Ralph Campbell.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)pmap.h	8.1 (Berkeley) 6/10/93
    + */
    +
    +/*
    + * Copyright (c) 1987 Carnegie-Mellon University
    + *
    + * This code is derived from software contributed to Berkeley by
    + * Ralph Campbell.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *	This product includes software developed by the University of
    + *	California, Berkeley and its contributors.
    + * 4. Neither the name of the University nor the names of its contributors
    + *    may be used to endorse or promote products derived from this software
    + *    without specific prior written permission.
    + *
    + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    + * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    + * SUCH DAMAGE.
    + *
    + *	@(#)pmap.h	8.1 (Berkeley) 6/10/93
    + */
    +
    +#ifndef	_COMMON_PMAP_TLB_H_
    +#define	_COMMON_PMAP_TLB_H_
    +
    +#include 
    +
    +#if defined(MULTIPROCESSOR) && !defined(PMAP_TLB_MAX)
    +#define PMAP_TLB_MAX		MAXCPUS
    +#endif
    +
    +/*
    + * Per TLB (normally same as CPU) asid info
    + */
    +struct pmap_asid_info {
    +	LIST_ENTRY(pmap_asid_info) pai_link;
    +	uint32_t	pai_asid;	/* TLB address space tag */
    +};
    +
    +#define	TLBINFO_LOCK(ti)		mutex_spin_enter((ti)->ti_lock)
    +#define	TLBINFO_UNLOCK(ti)		mutex_spin_exit((ti)->ti_lock)
    +#define	PMAP_PAI_ASIDVALID_P(pai, ti)	((pai)->pai_asid != 0)
    +#define	PMAP_PAI(pmap, ti)		(&(pmap)->pm_pai[tlbinfo_index(ti)])
    +#define	PAI_PMAP(pai, ti)	\
    +	((pmap_t)((intptr_t)(pai) \
    +	    - offsetof(struct pmap, pm_pai[tlbinfo_index(ti)])))
    +
    +enum tlb_invalidate_op {
    +	TLBINV_NOBODY=0,
    +	TLBINV_ONE=1,
    +	TLBINV_ALLUSER=2,
    +	TLBINV_ALLKERNEL=3,
    +	TLBINV_ALL=4
    +};
    +
    +struct pmap_tlb_info {
    +	char ti_name[8];
    +	uint32_t ti_asids_free;		/* # of ASIDs free */
    +#define	tlbinfo_noasids_p(ti)	((ti)->ti_asids_free == 0)
    +	kmutex_t *ti_lock;
    +	u_int ti_wired;			/* # of wired TLB entries */
    +	tlb_asid_t ti_asid_hint;		/* probable next ASID to use */
    +	tlb_asid_t ti_asid_max;
    +	LIST_HEAD(, pmap_asid_info) ti_pais; /* list of active ASIDs */
    +#ifdef MULTIPROCESSOR
    +	pmap_t ti_victim;
    +	uint32_t ti_synci_page_bitmap;	/* page indices needing a syncicache */
    +#if PMAP_TLB_MAX > 1
    +	kcpuset_t *ti_kcpuset;		/* bitmask of CPUs sharing this TLB */
    +	u_int ti_index;
    +	enum tlb_invalidate_op ti_tlbinvop;
    +#define tlbinfo_index(ti)	((ti)->ti_index)
    +#else
    +#define tlbinfo_index(ti)	(0)
    +#endif
    +	struct evcnt ti_evcnt_synci_asts;
    +	struct evcnt ti_evcnt_synci_all;
    +	struct evcnt ti_evcnt_synci_pages;
    +	struct evcnt ti_evcnt_synci_deferred;
    +	struct evcnt ti_evcnt_synci_desired;
    +	struct evcnt ti_evcnt_synci_duplicate;
    +#else
    +#define tlbinfo_index(ti)	(0)
    +#endif
    +	struct evcnt ti_evcnt_asid_reinits;
    +	u_long ti_asid_bitmap[256 / (sizeof(u_long) * 8)];
    +};
    +
    +#ifdef	_KERNEL
    +extern struct pmap_tlb_info pmap_tlb0_info;
    +#ifdef MULTIPROCESSOR
    +extern struct pmap_tlb_info *pmap_tlbs[MAXCPUS];
    +extern u_int pmap_ntlbs;
    +#endif
    +
    +#ifndef cpu_set_tlb_info
    +#define	cpu_set_tlb_info(ci, ti)	((void)((ci)->ci_tlb_info = (ti)))
    +#endif
    +#ifndef cpu_tlb_info
    +#ifdef MULTIPROCESSOR
    +#define	cpu_tlb_info(ci)		((ci)->ci_tlb_info)
    +#else
    +#define	cpu_tlb_info(ci)		(&pmap_tlb0_info)
    +#endif
    +#endif
    +
    +#ifdef MULTIPROCESSOR
    +void	pmap_tlb_shootdown_process(void);
    +bool	pmap_tlb_shootdown_bystanders(pmap_t pmap);
    +void	pmap_tlb_info_attach(struct pmap_tlb_info *, struct cpu_info *);
    +void	pmap_md_tlb_info_attach(struct pmap_tlb_info *, struct cpu_info *);
    +#endif
    +void	pmap_tlb_info_init(struct pmap_tlb_info *);
    +void	pmap_tlb_info_evcnt_attach(struct pmap_tlb_info *);
    +void	pmap_tlb_asid_acquire(pmap_t, struct lwp *l);
    +void	pmap_tlb_asid_deactivate(pmap_t);
    +void	pmap_tlb_asid_release_all(pmap_t);
    +int	pmap_tlb_update_addr(pmap_t, vaddr_t, uint32_t, u_int);
    +#define	PMAP_TLB_NEED_IPI	0x01
    +#define	PMAP_TLB_INSERT		0x02
    +void	pmap_tlb_invalidate_addr(pmap_t, vaddr_t);
    +void	pmap_tlb_check(pmap_t, bool (*)(void *, vaddr_t, tlb_asid_t, pt_entry_t));
    +void	pmap_tlb_asid_check(void);
    +
    +#endif	/* _KERNEL */
    +#endif	/* _COMMON_PMAP_TLB_H_ */
    diff --git a/sys/uvm/uvm_aobj.h b/sys/uvm/uvm_aobj.h
    index 4443a648e..cc0a4b652 100644
    --- a/sys/uvm/uvm_aobj.h
    +++ b/sys/uvm/uvm_aobj.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uvm_aobj.h,v 1.22 2012/09/14 18:56:15 rmind Exp $	*/
    +/*	$NetBSD: uvm_aobj.h,v 1.23 2013/10/18 17:48:44 christos Exp $	*/
     
     /*
      * Copyright (c) 1998 Chuck Silvers, Charles D. Cranor and
    @@ -61,7 +61,7 @@ void	uao_dropswap(struct uvm_object *, int);
     bool	uao_swap_off(int, int);
     void	uao_dropswap_range(struct uvm_object *, voff_t, voff_t);
     #else
    -#define	uao_find_swslot(obj, off)	0
    +#define	uao_find_swslot(obj, off)	(__USE(off), 0)
     #define	uao_dropswap(obj, off)		/* nothing */
     #define	uao_dropswap_range(obj, lo, hi)	/* nothing */
     #endif
    diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h
    index f2087d55b..efe82e8f2 100644
    --- a/sys/uvm/uvm_extern.h
    +++ b/sys/uvm/uvm_extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uvm_extern.h,v 1.184 2012/09/01 00:26:37 matt Exp $	*/
    +/*	$NetBSD: uvm_extern.h,v 1.185 2013/11/14 12:07:11 martin Exp $	*/
     
     /*
      * Copyright (c) 1997 Charles D. Cranor and Washington University.
    @@ -643,11 +643,11 @@ bool			uvm_map_checkprot(struct vm_map *, vaddr_t,
     			    vaddr_t, vm_prot_t);
     int			uvm_map_protect(struct vm_map *, vaddr_t,
     			    vaddr_t, vm_prot_t, bool);
    -struct vmspace		*uvmspace_alloc(vaddr_t, vaddr_t);
    +struct vmspace		*uvmspace_alloc(vaddr_t, vaddr_t, bool);
     void			uvmspace_init(struct vmspace *, struct pmap *,
    -			    vaddr_t, vaddr_t);
    -void			uvmspace_exec(struct lwp *, vaddr_t, vaddr_t);
    -void			uvmspace_spawn(struct lwp *, vaddr_t, vaddr_t);
    +			    vaddr_t, vaddr_t, bool);
    +void			uvmspace_exec(struct lwp *, vaddr_t, vaddr_t, bool);
    +void			uvmspace_spawn(struct lwp *, vaddr_t, vaddr_t, bool);
     struct vmspace		*uvmspace_fork(struct vmspace *);
     void			uvmspace_addref(struct vmspace *);
     void			uvmspace_free(struct vmspace *);
    diff --git a/sys/uvm/uvm_map.h b/sys/uvm/uvm_map.h
    index 78a2d3e4b..eeb7629c3 100644
    --- a/sys/uvm/uvm_map.h
    +++ b/sys/uvm/uvm_map.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uvm_map.h,v 1.71 2012/02/19 00:05:56 rmind Exp $	*/
    +/*	$NetBSD: uvm_map.h,v 1.72 2012/10/29 16:00:05 para Exp $	*/
     
     /*
      * Copyright (c) 1997 Charles D. Cranor and Washington University.
    @@ -150,7 +150,6 @@ struct vm_map_entry {
     	u_int8_t		flags;		/* flags */
     
     #define	UVM_MAP_KERNEL		0x01		/* kernel map entry */
    -#define	UVM_MAP_KMAPENT		0x02		/* contains map entries */
     #define	UVM_MAP_STATIC		0x04		/* special static entries */
     #define	UVM_MAP_NOMERGE		0x08		/* this entry is not mergable */
     
    diff --git a/sys/uvm/uvm_page.h b/sys/uvm/uvm_page.h
    index e22f692fb..195bccc0b 100644
    --- a/sys/uvm/uvm_page.h
    +++ b/sys/uvm/uvm_page.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uvm_page.h,v 1.75 2012/05/05 20:45:35 rmind Exp $	*/
    +/*	$NetBSD: uvm_page.h,v 1.76 2013/10/25 14:30:21 martin Exp $	*/
     
     /*
      * Copyright (c) 1997 Charles D. Cranor and Washington University.
    @@ -290,8 +290,12 @@ extern bool vm_page_zero_enable;
      */
     
     #define	VM_PHYSMEM_PTR(i)	(&vm_physmem[i])
    +#if VM_PHYSSEG_MAX == 1
    +#define VM_PHYSMEM_PTR_SWAP(i, j) /* impossible */
    +#else
     #define VM_PHYSMEM_PTR_SWAP(i, j) \
     	do { vm_physmem[(i)] = vm_physmem[(j)]; } while (0)
    +#endif
     
     extern struct vm_physseg vm_physmem[VM_PHYSSEG_MAX];
     extern int vm_nphysseg;
    diff --git a/sys/uvm/uvm_param.h b/sys/uvm/uvm_param.h
    index 50c8933fd..811d0629f 100644
    --- a/sys/uvm/uvm_param.h
    +++ b/sys/uvm/uvm_param.h
    @@ -255,11 +255,17 @@ extern u_int		uvm_emap_size;	/* size of emap */
     
     #else
     /* out-of-kernel versions of round_page and trunc_page */
    +#if !defined(__minix)
     #define	round_page(x) \
     	((((vaddr_t)(x) + (vm_page_size - 1)) / vm_page_size) * \
     	    vm_page_size)
     #define	trunc_page(x) \
     	((((vaddr_t)(x)) / vm_page_size) * vm_page_size)
    +#else
    +/* LSC: Minix always uses the same definition of those. */
    +#define	round_page(x)	(((x) + PAGE_MASK) & ~PAGE_MASK)
    +#define	trunc_page(x)	((x) & ~PAGE_MASK)
    +#endif /* !defined(__minix) */
     
     #endif /* _KERNEL */
     
    diff --git a/sys/uvm/uvm_pmap.h b/sys/uvm/uvm_pmap.h
    index 750700d55..e8bb8a146 100644
    --- a/sys/uvm/uvm_pmap.h
    +++ b/sys/uvm/uvm_pmap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uvm_pmap.h,v 1.37 2011/06/30 00:49:14 matt Exp $	*/
    +/*	$NetBSD: uvm_pmap.h,v 1.38 2013/02/02 14:06:58 matt Exp $	*/
     
     /*
      * Copyright (c) 1991, 1993
    @@ -137,7 +137,6 @@ extern struct pmap	*const kernel_pmap_ptr;
     
     #ifndef PMAP_EXCLUDE_DECLS	/* Used in Sparc port to virtualize pmap mod */
     #ifdef _KERNEL
    -__BEGIN_DECLS
     void		pmap_activate(struct lwp *);
     void		pmap_deactivate(struct lwp *);
     void		pmap_unwire(pmap_t, vaddr_t);
    @@ -165,7 +164,9 @@ vaddr_t		pmap_growkernel(vaddr_t);
     
     void		pmap_init(void);
     
    +#if !defined(pmap_kenter_pa)
     void		pmap_kenter_pa(vaddr_t, paddr_t, vm_prot_t, u_int);
    +#endif
     void		pmap_kremove(vaddr_t, vsize_t);
     #if !defined(pmap_is_modified)
     bool		pmap_is_modified(struct vm_page *);
    @@ -211,7 +212,6 @@ vaddr_t		pmap_steal_memory(vsize_t, vaddr_t *, vaddr_t *);
     #if defined(PMAP_FORK)
     void		pmap_fork(pmap_t, pmap_t);
     #endif
    -__END_DECLS
     #endif	/* kernel*/
     #endif  /* PMAP_EXCLUDE_DECLS */
     
    diff --git a/sys/uvm/uvm_swap.h b/sys/uvm/uvm_swap.h
    index 83535db62..734eb13a5 100644
    --- a/sys/uvm/uvm_swap.h
    +++ b/sys/uvm/uvm_swap.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uvm_swap.h,v 1.18 2011/04/27 00:35:52 rmind Exp $	*/
    +/*	$NetBSD: uvm_swap.h,v 1.19 2013/11/23 14:32:13 christos Exp $	*/
     
     /*
      * Copyright (c) 1997 Matthew R. Green
    @@ -39,6 +39,7 @@
     #endif
     
     struct swapent;
    +struct lwp;
     
     #if defined(VMSWAP)
     int	uvm_swap_get(struct vm_page *, int, int);
    @@ -50,6 +51,7 @@ bool	uvm_swapisfull(void);
     #else /* defined(VMSWAP) */
     #define	uvm_swapisfull()	true
     #endif /* defined(VMSWAP) */
    +void	uvm_swap_shutdown(struct lwp *);
     
     #endif /* _KERNEL */
     
    diff --git a/test/Makefile b/test/Makefile
    index 8b5fab77b..fc0c3c8a1 100644
    --- a/test/Makefile
    +++ b/test/Makefile
    @@ -74,6 +74,10 @@ PROGS+=	t10a t11a t11b t40a t40b t40c t40d t40e t40f t40g t60a t60b \
     
     SCRIPTS+= run testinterp.sh testsh1.sh testsh2.sh testmfs.sh testisofs.sh testvnd.sh
     
    +# test57loop.S is not linked into the .bcl file.
    +# This way, we can link it in when linking the final binary
    +LDADD.test57+= ${${USE_BITCODE:Uno} != "no":? test57loop.o -Wl,-allow-multiple-definition:}
    +
     .if ${MKPIC} == "yes"
     # Build them as dynamic executables by default if shared libraries
     # are available; so that the building and executing of dynamic
    @@ -94,10 +98,6 @@ mod.o: mod.c
     common.o: common.c
     	${COMPILE.c} -fPIC ${.IMPSRC}
     
    -# test57loop.S is not linked into the .bcl file.
    -# This way, we can link it in when linking the final binary
    -LDADD.test57+= ${${USE_BITCODE:Uno} != "no":? test57loop.o -Wl,-allow-multiple-definition:}
    -
     # Add test that must be linked dynamically, and its dynamically loaded
     # module
     PROGS+=		test63 mod
    diff --git a/test/blocktest/Makefile.inc b/test/blocktest/Makefile.inc
    index fc54f99c5..783d2a507 100644
    --- a/test/blocktest/Makefile.inc
    +++ b/test/blocktest/Makefile.inc
    @@ -1,4 +1,4 @@
     # Copied from drivers/Makefile.inc, and slightly edited.
     LDADD+= -lminlib -lcompat_minix -lc
    -DPADD+= ${LIBMINLIB} ${LIBCOMPAT_MINIX}
    +DPADD+= ${LIBMINLIB} ${LIBCOMPAT_MINIX} ${LIBC}
     BINDIR?=/usr/sbin
    diff --git a/test/test48.c b/test/test48.c
    index 814d6d71a..33f565c66 100644
    --- a/test/test48.c
    +++ b/test/test48.c
    @@ -335,8 +335,8 @@ static struct
     	{ "32768", 32768, 1, 0,           0                  },
     	{ "65535", 65535, 1, 0,           0                  },
     	{ "echo",      7, 0, 0,           0                  },
    -	{ "ftp",      21, 0, SOCK_STREAM, 0                  },
    -	{ "tftp",     69, 0, SOCK_DGRAM , 0                  },
    +	{ "ftp",      21, 0, 0, 0                  },
    +	{ "tftp",     69, 0, 0, 0                  },
     	{ "-1",        0, 1, 0,           (1<s_name);
    +			ports[j].se_tcp->s_name = strdup(ports[j].se_tcp->s_name);
    +			assert(ports[j].se_tcp->s_name);
    +		}
    +
    +		se_udp = getservbyport(htons(ports[j].port), "udp");
    +		ports[j].se_udp = se_udp;
    +
    +		if(ports[j].se_udp) {
    +			ports[j].se_udp = malloc(sizeof(struct servent));
    +			memcpy(ports[j].se_udp, se_udp, sizeof(*se_udp));
    +			assert(ports[j].se_udp->s_name);
    +			ports[j].se_udp->s_name = strdup(ports[j].se_udp->s_name);
    +			assert(ports[j].se_udp->s_name);
    +		}
    +	}
    +
     	/* loop through various parameter values */
     	for (i = 0; i < LENGTH(ipaddrs); i++)
     	for (j = 0; j < LENGTH(ports);   j++)
    @@ -517,8 +546,12 @@ static void test_getnameinfo_all(void)
     		socktypemismatch =
     			(flag_DGRAM && ports[j].socktype == SOCK_STREAM) ||
     			(!flag_DGRAM && ports[j].socktype == SOCK_DGRAM);
    -		servname = (flag_NUMERICSERV || socktypemismatch) ? 
    -			ports[j].servnum : ports[j].servname;
    +
    +		struct servent *se = flag_DGRAM ? ports[j].se_udp : ports[j].se_tcp;
    +
    +		servname = (flag_NUMERICSERV) ?
    +			ports[j].servnum : (se ? se->s_name : ports[j].servname);
    +
     		if (buflens[l] > 0 && buflens[l] <= strlen(servname))
     			exp_results |= (1 << EAI_OVERFLOW) | (1 << EAI_MEMORY);
     
    diff --git a/test/testcache.h b/test/testcache.h
    index a0fc958af..b423a5e78 100644
    --- a/test/testcache.h
    +++ b/test/testcache.h
    @@ -4,6 +4,7 @@
      */
     
     #include 
    +#include 
     #include 
     
     #define MAXBLOCKS 1500000
    diff --git a/test/testsh2.sh b/test/testsh2.sh
    index 3dcda508a..292b0e189 100755
    --- a/test/testsh2.sh
    +++ b/test/testsh2.sh
    @@ -28,7 +28,7 @@ else	echo "Can't find a compiler, skipping test"
     	exit 0
     fi
     
    -ARCH=`arch`
    +ARCH=`uname -p`
     
     echo -n  "Shell test  2 "
     rm -rf $TESTDIR
    diff --git a/tests/Makefile.inc b/tests/Makefile.inc
    index ab86d8305..c539c7adf 100644
    --- a/tests/Makefile.inc
    +++ b/tests/Makefile.inc
    @@ -2,5 +2,8 @@
     WARNS ?= 4
     CWARNFLAGS+= -Wno-missing-noreturn
     
    +.if defined(__MINIX)
    +LDSTATIC= -dynamic
     NOGCCERROR=yes
     NOCLANGERROR=yes
    +.endif # defined(__MINIX)
    diff --git a/tests/bin/Makefile b/tests/bin/Makefile
    index 067b2c1b7..ba1cac006 100644
    --- a/tests/bin/Makefile
    +++ b/tests/bin/Makefile
    @@ -4,7 +4,6 @@
     
     TESTSDIR=       ${TESTSBASE}/bin
     
    -# LSC FIXME df test is ignored
    -TESTS_SUBDIRS=	cat cp dd expr pax ps sh sleep tar
    +TESTS_SUBDIRS=	cat cp dd df expr pax ps sh sleep tar
     
     .include 
    diff --git a/tests/bin/sh/t_expand.sh b/tests/bin/sh/t_expand.sh
    index 5d71ef608..eeaad5f7d 100644
    --- a/tests/bin/sh/t_expand.sh
    +++ b/tests/bin/sh/t_expand.sh
    @@ -1,4 +1,4 @@
    -# $NetBSD: t_expand.sh,v 1.1 2012/03/17 16:33:11 jruoho Exp $
    +# $NetBSD: t_expand.sh,v 1.2 2013/10/06 21:05:50 ast Exp $
     #
     # Copyright (c) 2007, 2009 The NetBSD Foundation, Inc.
     # All rights reserved.
    @@ -37,7 +37,7 @@ delim_argv() {
     		else
     			str="${str} >$1<"
     		fi
    -                shift
    +		shift
     	done
     	echo ${str}
     }
    @@ -119,10 +119,24 @@ arithmetic_body() {
     	atf_check_equal '9223372036854775807' '$(((1 << 63) - 1))'
     }
     
    +atf_test_case iteration_on_null_parameter
    +iteration_on_null_parameter_head() {
    +	atf_set "descr" "Check iteration of \$@ in for loop when set to null;" \
    +	                "the error \"sh: @: parameter not set\" is incorrect." \
    +	                "PR bin/48202."
    +}
    +iteration_on_null_parameter_body() {
    +	s1=`/bin/sh -uc 'N=; set -- ${N};   for X; do echo "[$X]"; done' 2>&1`
    +	s2=`/bin/sh -uc 'N=; set -- ${N:-}; for X; do echo "[$X]"; done' 2>&1`
    +	atf_check_equal ''   '$s1'
    +	atf_check_equal '[]' '$s2'
    +}
    +
     atf_init_test_cases() {
     	atf_add_test_case dollar_at
     	atf_add_test_case dollar_at_with_text
     	atf_add_test_case strip
     	atf_add_test_case varpattern_backslashes
     	atf_add_test_case arithmetic
    +	atf_add_test_case iteration_on_null_parameter
     }
    diff --git a/tests/fs/common/fstest_puffs.c b/tests/fs/common/fstest_puffs.c
    index e41d93b71..14e4bfba4 100644
    --- a/tests/fs/common/fstest_puffs.c
    +++ b/tests/fs/common/fstest_puffs.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: fstest_puffs.c,v 1.10 2011/02/10 16:35:01 njoly Exp $	*/
    +/*	$NetBSD: fstest_puffs.c,v 1.11 2013/09/09 19:47:38 pooka Exp $	*/
     
     /*
      * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc.
    @@ -386,12 +386,6 @@ puffs_fstest_mount(const atf_tc_t *tc, void *arg, const char *path, int flags)
     	if (fd == -1)
     		return fd;
     
    -#if 0
    -	pa->pa_fd = fd;
    -#else
    -	assert(fd == 0); /* XXX: FIXME */
    -#endif
    -
     	if (rump_sys_mkdir(path, 0777) == -1)
     		return -1;
     
    diff --git a/tests/fs/ffs/ffs_common.sh b/tests/fs/ffs/ffs_common.sh
    index 8956edd61..eaf714280 100644
    --- a/tests/fs/ffs/ffs_common.sh
    +++ b/tests/fs/ffs/ffs_common.sh
    @@ -1,4 +1,4 @@
    -# $NetBSD: ffs_common.sh,v 1.1 2012/01/18 20:51:23 bouyer Exp $ 
    +# $NetBSD: ffs_common.sh,v 1.2 2013/07/29 13:15:24 skrll Exp $ 
     
     create_ffs()
     {
    @@ -72,7 +72,7 @@ test_case_root()
     	eval "${name}_head() { \
     		atf_set "descr" "${descr}"
     		atf_set "require.user" "root"
    -		atf_set "timeout" "60"
    +		atf_set "timeout" "360"
     	}"
     	eval "${name}_body() { \
     		RUMP_SOCKETS_LIST=\${RUMP_SOCKET}; \
    diff --git a/tests/fs/nfs/nfsservice/mountd.c b/tests/fs/nfs/nfsservice/mountd.c
    index 4725e0e4f..b3625f684 100644
    --- a/tests/fs/nfs/nfsservice/mountd.c
    +++ b/tests/fs/nfs/nfsservice/mountd.c
    @@ -1,4 +1,4 @@
    -/* 	$NetBSD: mountd.c,v 1.7 2012/01/22 18:36:17 christos Exp $	 */
    +/* 	$NetBSD: mountd.c,v 1.8 2013/10/19 17:45:00 christos Exp $	 */
     
     /*
      * Copyright (c) 1989, 1993
    @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993\
     #if 0
     static char     sccsid[] = "@(#)mountd.c  8.15 (Berkeley) 5/1/95";
     #else
    -__RCSID("$NetBSD: mountd.c,v 1.7 2012/01/22 18:36:17 christos Exp $");
    +__RCSID("$NetBSD: mountd.c,v 1.8 2013/10/19 17:45:00 christos Exp $");
     #endif
     #endif				/* not lint */
     
    @@ -497,7 +497,6 @@ mntsrv(rqstp, transp)
     	struct fhreturn fhr;
     	struct stat     stb;
     	struct statvfs   fsb;
    -	struct addrinfo *ai;
     	char host[NI_MAXHOST], numerichost[NI_MAXHOST];
     	int lookup_failed = 1;
     	struct sockaddr *saddr;
    @@ -532,7 +531,6 @@ mntsrv(rqstp, transp)
     	if (getnameinfo(saddr, saddr->sa_len, numerichost,
     	    sizeof numerichost, NULL, 0, ninumeric) != 0)
     		strlcpy(numerichost, "?", sizeof(numerichost));
    -	ai = NULL;
     	ret = 0;
     	switch (rqstp->rq_proc) {
     	case NULLPROC:
    diff --git a/tests/fs/nfs/nfsservice/nfsd.c b/tests/fs/nfs/nfsservice/nfsd.c
    index 1f749742b..b062501a9 100644
    --- a/tests/fs/nfs/nfsservice/nfsd.c
    +++ b/tests/fs/nfs/nfsservice/nfsd.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: nfsd.c,v 1.3 2010/07/28 15:12:17 pooka Exp $	*/
    +/*	$NetBSD: nfsd.c,v 1.4 2013/10/19 17:45:00 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993, 1994
    @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993, 1994\
     #if 0
     static char sccsid[] = "@(#)nfsd.c	8.9 (Berkeley) 3/29/95";
     #else
    -__RCSID("$NetBSD: nfsd.c,v 1.3 2010/07/28 15:12:17 pooka Exp $");
    +__RCSID("$NetBSD: nfsd.c,v 1.4 2013/10/19 17:45:00 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -149,18 +149,17 @@ nfsd_main(argc, argv)
     	struct sockaddr_in inetpeer;
     	struct pollfd set[4];
     	socklen_t len;
    -	int ch, cltpflag, connect_type_cnt, i, maxsock, msgsock;
    +	int ch, connect_type_cnt, i, msgsock;
     	int nfsdcnt, on = 1, reregister, sock, tcpflag, tcpsock;
     	int tcp6sock, ip6flag;
    -	int tp4cnt, tp4flag, tpipcnt, tpipflag, udpflag, ecode, s;
    +	int tp4cnt, tp4flag, tpipcnt, udpflag, ecode, s;
     	int error = 0;
     
     #define	DEFNFSDCNT	 4
     	nfsdcnt = DEFNFSDCNT;
    -	cltpflag = reregister = tcpflag = tp4cnt = tp4flag = tpipcnt = 0;
    -	tpipflag = udpflag = ip6flag = 0;
    +	reregister = tcpflag = tp4cnt = tp4flag = tpipcnt = 0;
    +	udpflag = ip6flag = 0;
     	nconf_udp = nconf_tcp = nconf_udp6 = nconf_tcp6 = NULL;
    -	maxsock = 0;
     	tcpsock = tcp6sock = -1;
     #define	GETOPT	"6n:rtu"
     #define	USAGE	"[-rtu] [-n num_servers]"
    diff --git a/tests/fs/nfs/nfsservice/rpcbind/pmap_svc.c b/tests/fs/nfs/nfsservice/rpcbind/pmap_svc.c
    index feddbf11c..3f9eb4731 100644
    --- a/tests/fs/nfs/nfsservice/rpcbind/pmap_svc.c
    +++ b/tests/fs/nfs/nfsservice/rpcbind/pmap_svc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pmap_svc.c,v 1.1 2010/07/26 15:53:00 pooka Exp $	*/
    +/*	$NetBSD: pmap_svc.c,v 1.2 2013/10/19 17:45:00 christos Exp $	*/
     
     /*
      * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
    @@ -170,7 +170,6 @@ pmapproc_change(struct svc_req *rqstp, SVCXPRT *xprt, unsigned long op)
     	struct pmap reg;
     	RPCB rpcbreg;
     	long ans;
    -	struct sockaddr_in *who;
     	struct sockcred *sc;
     	char uidbuf[32];
     
    @@ -191,7 +190,7 @@ pmapproc_change(struct svc_req *rqstp, SVCXPRT *xprt, unsigned long op)
     		return FALSE;
     	}
     
    -	who = svc_getcaller(xprt);
    +	(void)svc_getcaller(xprt);
     	sc = __svc_getcallercreds(xprt);
     
     	/*
    diff --git a/tests/fs/nfs/nfsservice/rpcbind/rpcbind.c b/tests/fs/nfs/nfsservice/rpcbind/rpcbind.c
    index 1fcd7c4e1..492b0b676 100644
    --- a/tests/fs/nfs/nfsservice/rpcbind/rpcbind.c
    +++ b/tests/fs/nfs/nfsservice/rpcbind/rpcbind.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: rpcbind.c,v 1.3 2011/09/16 16:13:18 plunky Exp $	*/
    +/*	$NetBSD: rpcbind.c,v 1.4 2013/10/19 17:45:00 christos Exp $	*/
     
     /*
      * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
    @@ -233,9 +233,7 @@ init_transport(struct netconfig *nconf)
     	struct addrinfo hints, *res = NULL;
     	struct __rpc_sockinfo si;
     	SVCXPRT	*my_xprt;
    -	int status;	/* bound checking ? */
    -	int aicode;
    -	int addrlen;
    +	int aicode, status, addrlen;
     	struct sockaddr *sa;
     	struct sockaddr_un sun;
     	const int one = 1;
    @@ -480,6 +478,8 @@ init_transport(struct netconfig *nconf)
     				nconf->nc_netid);
     		}
     	}
    +#else
    +	__USE(status);
     #endif
     	/*
     	 * rmtcall only supported on CLTS transports for now.
    diff --git a/tests/fs/puffs/h_dtfs/dtfs_subr.c b/tests/fs/puffs/h_dtfs/dtfs_subr.c
    index 1e2f1e124..fcb817680 100644
    --- a/tests/fs/puffs/h_dtfs/dtfs_subr.c
    +++ b/tests/fs/puffs/h_dtfs/dtfs_subr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dtfs_subr.c,v 1.3 2011/03/01 15:19:49 pooka Exp $	*/
    +/*	$NetBSD: dtfs_subr.c,v 1.4 2013/10/19 17:45:00 christos Exp $	*/
     
     /*
      * Copyright (c) 2006  Antti Kantee.  All Rights Reserved.
    @@ -81,7 +81,7 @@ struct puffs_node *
     dtfs_genfile(struct puffs_node *dir, const struct puffs_cn *pcn,
     	enum vtype type)
     {
    -	struct dtfs_file *df_dir, *dff;
    +	struct dtfs_file *dff;
     	struct dtfs_dirent *dfd;
     	struct dtfs_mount *dtm;
     	struct puffs_node *newpn;
    @@ -107,7 +107,6 @@ dtfs_genfile(struct puffs_node *dir, const struct puffs_cn *pcn,
     		errx(1, "getnewpnode");
     	dtfs_baseattrs(&newpn->pn_va, type, dtm->dtm_nextfileid++);
     
    -	df_dir = dir->pn_data;
     	dfd = emalloc(sizeof(struct dtfs_dirent));
     	dfd->dfd_node = newpn;
     	dfd->dfd_name = estrndup(pcn->pcn_name, pcn->pcn_namelen);
    diff --git a/tests/fs/puffs/h_dtfs/dtfs_vnops.c b/tests/fs/puffs/h_dtfs/dtfs_vnops.c
    index 525174a29..875109cb3 100644
    --- a/tests/fs/puffs/h_dtfs/dtfs_vnops.c
    +++ b/tests/fs/puffs/h_dtfs/dtfs_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dtfs_vnops.c,v 1.9 2012/01/31 18:56:07 njoly Exp $	*/
    +/*	$NetBSD: dtfs_vnops.c,v 1.10 2013/10/19 17:45:00 christos Exp $	*/
     
     /*
      * Copyright (c) 2006  Antti Kantee.  All Rights Reserved.
    @@ -430,7 +430,6 @@ dtfs_node_mknod(struct puffs_usermount *pu, void *opc,
     {
     	struct puffs_node *pn_parent = opc;
     	struct puffs_node *pn_new;
    -	struct dtfs_file *df;
     
     	if (!(va->va_type == VBLK || va->va_type == VCHR
     	    || va->va_type == VFIFO))
    @@ -439,7 +438,6 @@ dtfs_node_mknod(struct puffs_usermount *pu, void *opc,
     	pn_new = dtfs_genfile(pn_parent, pcn, va->va_type);
     	puffs_setvattr(&pn_new->pn_va, va);
     
    -	df = DTFS_PTOF(pn_new);
     	puffs_newinfo_setcookie(pni, pn_new);
     
     	return 0;
    diff --git a/tests/fs/puffs/t_basic.c b/tests/fs/puffs/t_basic.c
    index 027f381d1..ce5e4ea15 100644
    --- a/tests/fs/puffs/t_basic.c
    +++ b/tests/fs/puffs/t_basic.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_basic.c,v 1.11 2011/04/04 15:42:42 plunky Exp $	*/
    +/*	$NetBSD: t_basic.c,v 1.12 2013/10/19 17:45:00 christos Exp $	*/
     
     #include 
     #include 
    @@ -115,13 +115,11 @@ ATF_TC_HEAD(root_lnk, tc)
     ATF_TC_BODY(root_lnk, tc)
     {
     	MAKEOPTS("-r", "lnk " LINKSTR);
    -	struct puffstestargs *pargs;
     	void *args;
     	char buf[PATH_MAX];
     	ssize_t len;
     
     	FSTEST_CONSTRUCTOR_FSPRIV(tc, puffs, args, theopts);
    -	pargs = args;
     
     	if ((len = rump_sys_readlink(FSTEST_MNTNAME, buf, sizeof(buf)-1)) == -1)
     		atf_tc_fail_errno("readlink");
    diff --git a/tests/fs/vfs/t_io.c b/tests/fs/vfs/t_io.c
    index 59df8d931..67d865706 100644
    --- a/tests/fs/vfs/t_io.c
    +++ b/tests/fs/vfs/t_io.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_io.c,v 1.11 2013/06/12 12:08:08 pooka Exp $	*/
    +/*	$NetBSD: t_io.c,v 1.12 2013/08/04 11:02:02 pooka Exp $	*/
     
     /*-
      * Copyright (c) 2010 The NetBSD Foundation, Inc.
    @@ -168,6 +168,60 @@ shrinkfile(const atf_tc_t *tc, const char *mp)
     	FSTEST_EXIT();
     }
     
    +#define TBSIZE 9000
    +static void
    +read_after_unlink(const atf_tc_t *tc, const char *mp)
    +{
    +	char buf[TBSIZE], buf2[TBSIZE];
    +	int fd;
    +
    +	FSTEST_ENTER();
    +
    +	/* create file and put some content into it */
    +	RL(fd = rump_sys_open("file", O_RDWR|O_CREAT, 0666));
    +	memset(buf, 'D', TBSIZE);
    +	ATF_REQUIRE_EQ(rump_sys_write(fd, buf, TBSIZE), TBSIZE);
    +	rump_sys_close(fd);
    +
    +	/* flush buffers from UBC to file system */
    +	ATF_REQUIRE_ERRNO(EBUSY, rump_sys_unmount(mp, 0) == -1);
    +
    +	RL(fd = rump_sys_open("file", O_RDWR));
    +	RL(rump_sys_unlink("file"));
    +
    +	ATF_REQUIRE_EQ(rump_sys_read(fd, buf2, TBSIZE), TBSIZE);
    +	ATF_REQUIRE_EQ(memcmp(buf, buf2, TBSIZE), 0);
    +	rump_sys_close(fd);
    +
    +	FSTEST_EXIT();
    +}
    +
    +static void
    +wrrd_after_unlink(const atf_tc_t *tc, const char *mp)
    +{
    +	int value = 0x11;
    +	int v2;
    +	int fd;
    +
    +	FSTEST_ENTER();
    +
    +	RL(fd = rump_sys_open("file", O_RDWR|O_CREAT, 0666));
    +	RL(rump_sys_unlink("file"));
    +
    +	RL(rump_sys_pwrite(fd, &value, sizeof(value), 654321));
    +
    +	/*
    +	 * We can't easily invalidate the buffer since we hold a
    +	 * reference, but try to get them to flush anyway.
    +	 */
    +	RL(rump_sys_fsync(fd));
    +	RL(rump_sys_pread(fd, &v2, sizeof(v2), 654321));
    +	rump_sys_close(fd);
    +
    +	ATF_REQUIRE_EQ(value, v2);
    +	FSTEST_EXIT();
    +}
    +
     ATF_TC_FSAPPLY(holywrite, "create a sparse file and fill hole");
     ATF_TC_FSAPPLY(extendfile, "check that extending a file works");
     ATF_TC_FSAPPLY(extendfile_append, "check that extending a file works "
    @@ -176,6 +230,8 @@ ATF_TC_FSAPPLY(overwrite512, "write a 512 byte file twice");
     ATF_TC_FSAPPLY(overwrite64k, "write a 64k byte file twice");
     ATF_TC_FSAPPLY(overwrite_trunc, "write 64k + truncate + rewrite");
     ATF_TC_FSAPPLY(shrinkfile, "shrink file");
    +ATF_TC_FSAPPLY(read_after_unlink, "contents can be read off disk after unlink");
    +ATF_TC_FSAPPLY(wrrd_after_unlink, "file can be written and read after unlink");
     
     ATF_TP_ADD_TCS(tp)
     {
    @@ -187,6 +243,8 @@ ATF_TP_ADD_TCS(tp)
     	ATF_TP_FSAPPLY(overwrite64k);
     	ATF_TP_FSAPPLY(overwrite_trunc);
     	ATF_TP_FSAPPLY(shrinkfile);
    +	ATF_TP_FSAPPLY(read_after_unlink);
    +	ATF_TP_FSAPPLY(wrrd_after_unlink);
     
     	return atf_no_error();
     }
    diff --git a/tests/fs/vfs/t_vnops.c b/tests/fs/vfs/t_vnops.c
    index e3035a968..3970677cd 100644
    --- a/tests/fs/vfs/t_vnops.c
    +++ b/tests/fs/vfs/t_vnops.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_vnops.c,v 1.36 2013/07/10 18:55:00 reinoud Exp $	*/
    +/*	$NetBSD: t_vnops.c,v 1.38 2013/10/19 17:45:00 christos Exp $	*/
     
     /*-
      * Copyright (c) 2010 The NetBSD Foundation, Inc.
    @@ -333,7 +333,7 @@ rename_reg_nodir(const atf_tc_t *tc, const char *mp)
     {
     	bool haslinks;
     	struct stat sb;
    -	ino_t f1ino, f2ino;
    +	ino_t f1ino;
     
     	if (FSTYPE_RUMPFS(tc))
     		atf_tc_skip("rename not supported by file system");
    @@ -366,7 +366,6 @@ rename_reg_nodir(const atf_tc_t *tc, const char *mp)
     
     	if (rump_sys_stat("file2", &sb) == -1)
     		atf_tc_fail_errno("stat");
    -	f2ino = sb.st_ino;
     
     	if (rump_sys_rename("file1", "file3") == -1)
     		atf_tc_fail_errno("rename 1");
    @@ -400,6 +399,9 @@ rename_reg_nodir(const atf_tc_t *tc, const char *mp)
     		ATF_REQUIRE_EQ(sb.st_nlink, 1);
     	}
     
    +	ATF_CHECK_ERRNO(EFAULT, rump_sys_rename("file2", NULL) == -1);
    +	ATF_CHECK_ERRNO(EFAULT, rump_sys_rename(NULL, "file2") == -1);
    +
     	rump_sys_chdir("/");
     }
     
    diff --git a/tests/include/sys/Makefile b/tests/include/sys/Makefile
    index e9e2d0b85..577501ef1 100644
    --- a/tests/include/sys/Makefile
    +++ b/tests/include/sys/Makefile
    @@ -6,8 +6,7 @@ NOMAN=		# defined
     
     TESTSDIR=		${TESTSBASE}/include/sys
     
    -#LSC: Unsupported on Minix t_bitops
    -TESTS_C=		t_bootblock t_cdefs t_tree t_types
    +TESTS_C=		t_bitops t_bootblock t_cdefs t_tree t_types
     
     LDADD.t_bitops+=	-lm
     
    diff --git a/tests/include/sys/t_cdefs.c b/tests/include/sys/t_cdefs.c
    index b88aefb0e..a47300969 100644
    --- a/tests/include/sys/t_cdefs.c
    +++ b/tests/include/sys/t_cdefs.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_cdefs.c,v 1.2 2012/03/23 23:12:28 matt Exp $ */
    +/* $NetBSD: t_cdefs.c,v 1.3 2013/09/05 09:01:27 gsutre Exp $ */
     
     /*-
      * Copyright (c) 2012 The NetBSD Foundation, Inc.
    @@ -32,7 +32,7 @@
     #include 
     __COPYRIGHT("@(#) Copyright (c) 2008\
      The NetBSD Foundation, inc. All rights reserved.");
    -__RCSID("$NetBSD: t_cdefs.c,v 1.2 2012/03/23 23:12:28 matt Exp $");
    +__RCSID("$NetBSD: t_cdefs.c,v 1.3 2013/09/05 09:01:27 gsutre Exp $");
     
     #include 
     #include 
    @@ -206,8 +206,8 @@ ATF_TC_BODY(stypefit, tc)
     	CHECK(signed long long, -1, 0);
     	CHECK(signed long long, 1, 0);
     	CHECK(signed long long, 0x7fffffffffffffffLL, 0);
    -	CHECK(signed long long, 0x8000000000000000LL, 0);
    -	CHECK(signed long long, 0xffffffffffffffffLL, 0);
    +	CHECK(signed long long, 0x8000000000000000LL, 1);
    +	CHECK(signed long long, 0xffffffffffffffffLL, 1);
     
     #undef CHECK
     }
    diff --git a/tests/include/sys/t_socket.c b/tests/include/sys/t_socket.c
    index 03aaa0959..ad4d2e6c2 100644
    --- a/tests/include/sys/t_socket.c
    +++ b/tests/include/sys/t_socket.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_socket.c,v 1.1 2011/07/07 05:50:27 jruoho Exp $	*/
    +/*	$NetBSD: t_socket.c,v 1.3 2013/10/19 17:45:00 christos Exp $	*/
     
     #include 
     #include 
    @@ -83,7 +83,7 @@ ATF_TC_BODY(cmsg_sendfd, tc)
     	struct cmsghdr *cmp;
     	struct msghdr msg;
     	struct sockaddr_un sun;
    -	struct lwp *l1, *l2;
    +	struct lwp *l1;
     	struct iovec iov;
     	socklen_t sl;
     	int s1, s2, sgot;
    @@ -109,7 +109,7 @@ ATF_TC_BODY(cmsg_sendfd, tc)
     
     	/* create second process for test */
     	RZ(rump_pub_lwproc_rfork(RUMP_RFCFDG));
    -	l2 = rump_pub_lwproc_curlwp();
    +	(void)rump_pub_lwproc_curlwp();
     
     	/* connect to unix domain socket */
     	memset(&sun, 0, sizeof(sun));
    @@ -179,10 +179,27 @@ ATF_TC_BODY(cmsg_sendfd, tc)
     		atf_tc_fail("expected \"%s\", got \"%s\"", MAGICSTRING, buf);
     }
     
    +ATF_TC(sock_cloexec);
    +ATF_TC_HEAD(sock_cloexec, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "SOCK_CLOEXEC kernel invariant failure");
    +}
    +
    +ATF_TC_BODY(sock_cloexec, tc)
    +{
    +
    +	rump_init();
    +	rump_pub_lwproc_rfork(RUMP_RFFDG);
    +	if (rump_sys_socket(-1, SOCK_CLOEXEC, 0) != -1)
    +		atf_tc_fail("invalid socket parameters unexpectedly worked");
    +	rump_pub_lwproc_releaselwp();
    +}
    +
     ATF_TP_ADD_TCS(tp)
     {
     	ATF_TP_ADD_TC(tp, cmsg_sendfd);
     	ATF_TP_ADD_TC(tp, cmsg_sendfd_bounds);
    +	ATF_TP_ADD_TC(tp, sock_cloexec);
     
     	return atf_no_error();
     }
    diff --git a/tests/include/t_inttypes.c b/tests/include/t_inttypes.c
    index c5115bfd3..d713615ea 100644
    --- a/tests/include/t_inttypes.c
    +++ b/tests/include/t_inttypes.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_inttypes.c,v 1.2 2010/07/18 12:16:19 jmmv Exp $	*/
    +/*	$NetBSD: t_inttypes.c,v 1.3 2013/10/19 17:44:37 christos Exp $	*/
     
     /*-
      * Copyright (c) 2001 The NetBSD Foundation, Inc.
    @@ -37,34 +37,34 @@ ATF_TC_BODY(int_fmtio, tc)
     {
     	char buf[64];
     
    -	int8_t i8;
    -	int16_t i16;
    -	int32_t i32;
    -	int64_t i64;
    -	int_least8_t il8;
    -	int_least16_t il16;
    -	int_least32_t il32;
    -	int_least64_t il64;
    -	int_fast8_t if8;
    -	int_fast16_t if16;
    -	int_fast32_t if32;
    -	int_fast64_t if64;
    -	intmax_t im;
    -	intptr_t ip;
    -	uint8_t ui8;
    -	uint16_t ui16;
    -	uint32_t ui32;
    -	uint64_t ui64;
    -	uint_least8_t uil8;
    -	uint_least16_t uil16;
    -	uint_least32_t uil32;
    -	uint_least64_t uil64;
    -	uint_fast8_t uif8;
    -	uint_fast16_t uif16;
    -	uint_fast32_t uif32;
    -	uint_fast64_t uif64;
    -	uintmax_t uim;
    -	uintptr_t uip;
    +	int8_t i8 = 0;
    +	int16_t i16 = 0;
    +	int32_t i32 = 0;
    +	int64_t i64 = 0;
    +	int_least8_t il8 = 0;
    +	int_least16_t il16 = 0;
    +	int_least32_t il32 = 0;
    +	int_least64_t il64 = 0;
    +	int_fast8_t if8 = 0;
    +	int_fast16_t if16 = 0;
    +	int_fast32_t if32 = 0;
    +	int_fast64_t if64 = 0;
    +	intmax_t im = 0;
    +	intptr_t ip = 0;
    +	uint8_t ui8 = 0;
    +	uint16_t ui16 = 0;
    +	uint32_t ui32 = 0;
    +	uint64_t ui64 = 0;
    +	uint_least8_t uil8 = 0;
    +	uint_least16_t uil16 = 0;
    +	uint_least32_t uil32 = 0;
    +	uint_least64_t uil64 = 0;
    +	uint_fast8_t uif8 = 0;
    +	uint_fast16_t uif16 = 0;
    +	uint_fast32_t uif32 = 0;
    +	uint_fast64_t uif64 = 0;
    +	uintmax_t uim = 0;
    +	uintptr_t uip = 0;
     
     #define	PRINT(fmt, var) \
     	snprintf(buf, sizeof(buf), "%" fmt, var)
    diff --git a/tests/kernel/t_lockf.c b/tests/kernel/t_lockf.c
    index 65d5bc80d..d937301f3 100644
    --- a/tests/kernel/t_lockf.c
    +++ b/tests/kernel/t_lockf.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_lockf.c,v 1.8 2013/02/20 02:22:48 pgoyette Exp $	*/
    +/*	$NetBSD: t_lockf.c,v 1.9 2013/10/19 17:45:00 christos Exp $	*/
     
     /*-
      * Copyright (c) 2000 The NetBSD Foundation, Inc.
    @@ -70,7 +70,7 @@ random_uint32(void)
     static void
     trylocks(int id)
     {
    -	int i, ret, fd;
    +	int i, fd;
     
     	srand48(getpid());
     
    @@ -99,7 +99,7 @@ trylocks(int id)
     		}
     		fl.l_whence = SEEK_SET;
     
    -		ret = fcntl(fd, F_SETLKW, &fl);
    +		(void)fcntl(fd, F_SETLKW, &fl);
     
     		if (usleep(sleeptime) < 0) 
     		  err(1, "usleep");
    diff --git a/tests/kernel/t_sysv.c b/tests/kernel/t_sysv.c
    index 0011b2575..51bd8dd05 100644
    --- a/tests/kernel/t_sysv.c
    +++ b/tests/kernel/t_sysv.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_sysv.c,v 1.2 2012/11/06 18:31:53 pgoyette Exp $	*/
    +/*	$NetBSD: t_sysv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2007 The NetBSD Foundation, Inc.
    @@ -252,11 +252,11 @@ ATF_TC_BODY(msg, tc)
     		 */
     		m.mtype = MTYPE_1;
     		strcpy(m.mtext, m1_str);
    -		ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1,
    -		    "sender: msgsnd 1: %d", errno);
    +		ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN,
    +		    0) != -1, "sender: msgsnd 1: %d", errno);
     
    -		ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m),
    -				       MTYPE_1_ACK, 0) == sizeof(m),
    +		ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN,
    +				       MTYPE_1_ACK, 0) == MESSAGE_TEXT_LEN,
     		    "sender: msgrcv 1 ack: %d", errno);
     
     		print_msqid_ds(&m_ds, 0600);
    @@ -266,11 +266,11 @@ ATF_TC_BODY(msg, tc)
     		 */
     		m.mtype = MTYPE_2;
     		strcpy(m.mtext, m2_str);
    -		ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, sizeof(m), 0) != -1,
    +		ATF_REQUIRE_MSG(msgsnd(sender_msqid, &m, MESSAGE_TEXT_LEN, 0) != -1,
     		    "sender: msgsnd 2: %d", errno);
     
    -		ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, sizeof(m),
    -				       MTYPE_2_ACK, 0) == sizeof(m),
    +		ATF_REQUIRE_MSG(msgrcv(sender_msqid, &m, MESSAGE_TEXT_LEN,
    +				       MTYPE_2_ACK, 0) == MESSAGE_TEXT_LEN,
     		    "sender: msgrcv 2 ack: %d", errno);
     	}
     
    @@ -361,7 +361,7 @@ receiver()
     		/*
     		 * Receive the first message, print it, and send an ACK.
     		 */
    -		if (msgrcv(msqid, &m, sizeof(m), MTYPE_1, 0) != sizeof(m))
    +		if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_1, 0) != MESSAGE_TEXT_LEN)
     			err(1, "receiver: msgrcv 1");
     
     		printf("%s\n", m.mtext);
    @@ -370,14 +370,14 @@ receiver()
     
     		m.mtype = MTYPE_1_ACK;
     
    -		if (msgsnd(msqid, &m, sizeof(m), 0) == -1)
    +		if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1)
     			err(1, "receiver: msgsnd ack 1");
     
     		/*
     		 * Receive the second message, print it, and send an ACK.
     		 */
     
    -		if (msgrcv(msqid, &m, sizeof(m), MTYPE_2, 0) != sizeof(m))
    +		if (msgrcv(msqid, &m, MESSAGE_TEXT_LEN, MTYPE_2, 0) != MESSAGE_TEXT_LEN)
     			err(1, "receiver: msgrcv 2");
     
     		printf("%s\n", m.mtext);
    @@ -386,7 +386,7 @@ receiver()
     
     		m.mtype = MTYPE_2_ACK;
     
    -		if (msgsnd(msqid, &m, sizeof(m), 0) == -1)
    +		if (msgsnd(msqid, &m, MESSAGE_TEXT_LEN, 0) == -1)
     			err(1, "receiver: msgsnd ack 2");
     	}
     
    diff --git a/tests/lib/Makefile b/tests/lib/Makefile
    index 49caef9f5..67e46159a 100644
    --- a/tests/lib/Makefile
    +++ b/tests/lib/Makefile
    @@ -3,7 +3,7 @@
     .include 
     
     # LSC: Only relevant libraries
    -TESTS_SUBDIRS=	csu libc libcrypt libcurses \
    +TESTS_SUBDIRS=	csu libc libcrypt libcurses libexecinfo \
     		libm libprop \
     		libutil
     
    diff --git a/tests/lib/csu/arch/hppa/h_initfini_align.S b/tests/lib/csu/arch/hppa/h_initfini_align.S
    new file mode 100644
    index 000000000..c297e9087
    --- /dev/null
    +++ b/tests/lib/csu/arch/hppa/h_initfini_align.S
    @@ -0,0 +1,12 @@
    +/*	$NetBSD: h_initfini_align.S,v 1.1 2013/11/15 11:48:30 skrll Exp $	*/
    +
    +#include 
    +
    +RCSID("$NetBSD: h_initfini_align.S,v 1.1 2013/11/15 11:48:30 skrll Exp $")
    +
    +LEAF_ENTRY(check_stack_alignment)
    +	extru	%sp,31,6,%ret0
    +	comiclr,<> 0, %ret0, %ret0
    +	ldi	1,%ret0
    +	bv,n	%r0(%r2)
    +EXIT(check_stack_alignment)
    diff --git a/tests/lib/csu/arch/sparc64/h_initfini_align.S b/tests/lib/csu/arch/sparc64/h_initfini_align.S
    new file mode 100644
    index 000000000..402ceb306
    --- /dev/null
    +++ b/tests/lib/csu/arch/sparc64/h_initfini_align.S
    @@ -0,0 +1,11 @@
    +/*	$NetBSD: h_initfini_align.S,v 1.1 2013/11/15 20:00:20 martin Exp $	*/
    +
    +#include 
    +
    +RCSID("$NetBSD: h_initfini_align.S,v 1.1 2013/11/15 20:00:20 martin Exp $")
    +
    +_ENTRY(check_stack_alignment)
    +	add	%sp, BIAS, %o1
    +	and	%o1, 15, %o2
    +	retl
    +	 not	%o2, %o0
    diff --git a/tests/lib/libbpfjit/t_bpfjit.c b/tests/lib/libbpfjit/t_bpfjit.c
    index f0a0a8c26..5faa017bb 100644
    --- a/tests/lib/libbpfjit/t_bpfjit.c
    +++ b/tests/lib/libbpfjit/t_bpfjit.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_bpfjit.c,v 1.1 2012/11/11 17:37:34 alnsn Exp $ */
    +/*	$NetBSD: t_bpfjit.c,v 1.2 2013/11/15 00:12:45 rmind Exp $ */
     
     /*-
      * Copyright (c) 2011-2012 Alexander Nasonov.
    @@ -30,18 +30,23 @@
      */
     
     #include 
    -__RCSID("$NetBSD: t_bpfjit.c,v 1.1 2012/11/11 17:37:34 alnsn Exp $");
    -
    -#include 
    +__RCSID("$NetBSD: t_bpfjit.c,v 1.2 2013/11/15 00:12:45 rmind Exp $");
     
     #include 
     #include 
     #include 
     
    +#define	__BPF_PRIVATE
    +#include 
    +#include 
    +
     static uint8_t deadbeef_at_5[16] = {
     	0, 0xf1, 2, 0xf3, 4, 0xde, 0xad, 0xbe, 0xef, 0xff
     };
     
    +static bpf_ctx_t bc_zeroed;
    +static bpf_ctx_t *bc = &bc_zeroed;
    +
     ATF_TC(bpfjit_empty);
     ATF_TC_HEAD(bpfjit_empty, tc)
     {
    @@ -53,7 +58,7 @@ ATF_TC_BODY(bpfjit_empty, tc)
     {
     	struct bpf_insn dummy;
     
    -	ATF_CHECK(bpfjit_generate_code(&dummy, 0) == NULL);
    +	ATF_CHECK(bpfjit_generate_code(bc, &dummy, 0) == NULL);
     }
     
     ATF_TC(bpfjit_alu_add_k);
    @@ -71,14 +76,14 @@ ATF_TC_BODY(bpfjit_alu_add_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 5);
    @@ -101,14 +106,14 @@ ATF_TC_BODY(bpfjit_alu_sub_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -131,14 +136,14 @@ ATF_TC_BODY(bpfjit_alu_mul_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(0xfffffffd));
    @@ -160,14 +165,14 @@ ATF_TC_BODY(bpfjit_alu_div0_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	//ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0);
    @@ -190,14 +195,14 @@ ATF_TC_BODY(bpfjit_alu_div1_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 7);
    @@ -220,14 +225,14 @@ ATF_TC_BODY(bpfjit_alu_div2_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 3);
    @@ -250,14 +255,14 @@ ATF_TC_BODY(bpfjit_alu_div4_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(0x3fffffff));
    @@ -280,14 +285,14 @@ ATF_TC_BODY(bpfjit_alu_div10_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(429484384));
    @@ -310,14 +315,14 @@ ATF_TC_BODY(bpfjit_alu_div10000_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(429484));
    @@ -340,14 +345,14 @@ ATF_TC_BODY(bpfjit_alu_div7609801_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 564);
    @@ -370,14 +375,14 @@ ATF_TC_BODY(bpfjit_alu_div80000000_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -400,14 +405,14 @@ ATF_TC_BODY(bpfjit_alu_and_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == (0xdead&0xbeef));
    @@ -430,14 +435,14 @@ ATF_TC_BODY(bpfjit_alu_or_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xdeadbeef);
    @@ -460,14 +465,14 @@ ATF_TC_BODY(bpfjit_alu_lsh_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xbeef0000);
    @@ -490,14 +495,14 @@ ATF_TC_BODY(bpfjit_alu_lsh0_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xdeadbeef);
    @@ -520,14 +525,14 @@ ATF_TC_BODY(bpfjit_alu_rsh_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0x0000dead);
    @@ -550,14 +555,14 @@ ATF_TC_BODY(bpfjit_alu_rsh0_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xdeadbeef);
    @@ -612,14 +617,14 @@ ATF_TC_BODY(bpfjit_alu_modulo_k, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) != UINT32_C(0x71cbbbc3));
    @@ -645,14 +650,14 @@ ATF_TC_BODY(bpfjit_alu_add_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 5);
    @@ -676,14 +681,14 @@ ATF_TC_BODY(bpfjit_alu_sub_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -707,14 +712,14 @@ ATF_TC_BODY(bpfjit_alu_mul_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(0xfffffffd));
    @@ -737,14 +742,14 @@ ATF_TC_BODY(bpfjit_alu_div0_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0);
    @@ -768,14 +773,14 @@ ATF_TC_BODY(bpfjit_alu_div1_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 7);
    @@ -799,14 +804,14 @@ ATF_TC_BODY(bpfjit_alu_div2_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 3);
    @@ -830,14 +835,14 @@ ATF_TC_BODY(bpfjit_alu_div4_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(0x3fffffff));
    @@ -861,14 +866,14 @@ ATF_TC_BODY(bpfjit_alu_div10_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(429484384));
    @@ -892,14 +897,14 @@ ATF_TC_BODY(bpfjit_alu_div10000_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_C(429484));
    @@ -923,14 +928,14 @@ ATF_TC_BODY(bpfjit_alu_div7609801_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 564);
    @@ -954,14 +959,14 @@ ATF_TC_BODY(bpfjit_alu_div80000000_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -985,14 +990,14 @@ ATF_TC_BODY(bpfjit_alu_and_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == (0xdead&0xbeef));
    @@ -1016,14 +1021,14 @@ ATF_TC_BODY(bpfjit_alu_or_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xdeadbeef);
    @@ -1047,14 +1052,14 @@ ATF_TC_BODY(bpfjit_alu_lsh_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xbeef0000);
    @@ -1078,14 +1083,14 @@ ATF_TC_BODY(bpfjit_alu_lsh0_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xdeadbeef);
    @@ -1109,14 +1114,14 @@ ATF_TC_BODY(bpfjit_alu_rsh_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0x0000dead);
    @@ -1140,14 +1145,14 @@ ATF_TC_BODY(bpfjit_alu_rsh0_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0xdeadbeef);
    @@ -1211,14 +1216,14 @@ ATF_TC_BODY(bpfjit_alu_modulo_x, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) != UINT32_C(0x71cbbbc3));
    @@ -1243,14 +1248,14 @@ ATF_TC_BODY(bpfjit_alu_neg, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0u-777u);
    @@ -1276,14 +1281,14 @@ ATF_TC_BODY(bpfjit_jmp_ja, tc)
     		BPF_STMT(BPF_RET+BPF_K, 3),
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -1320,14 +1325,14 @@ ATF_TC_BODY(bpfjit_jmp_jgt_k, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -1371,14 +1376,14 @@ ATF_TC_BODY(bpfjit_jmp_jge_k, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -1422,14 +1427,14 @@ ATF_TC_BODY(bpfjit_jmp_jeq_k, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 7);
    @@ -1473,14 +1478,14 @@ ATF_TC_BODY(bpfjit_jmp_jset_k, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -1535,14 +1540,14 @@ ATF_TC_BODY(bpfjit_jmp_modulo_k, tc)
     		BPF_STMT(BPF_RET+BPF_K, 7)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -1586,14 +1591,14 @@ ATF_TC_BODY(bpfjit_jmp_jgt_x, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -1644,14 +1649,14 @@ ATF_TC_BODY(bpfjit_jmp_jge_x, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -1701,14 +1706,14 @@ ATF_TC_BODY(bpfjit_jmp_jeq_x, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 7);
    @@ -1758,14 +1763,14 @@ ATF_TC_BODY(bpfjit_jmp_jset_x, tc)
     		BPF_STMT(BPF_RET+BPF_K, 8)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -1830,14 +1835,14 @@ ATF_TC_BODY(bpfjit_jmp_modulo_x, tc)
     		BPF_STMT(BPF_RET+BPF_K, 7)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -1879,11 +1884,11 @@ ATF_TC_BODY(bpfjit_ld_abs, tc)
     	size_t insn_count = sizeof(insns[0]) / sizeof(insns[0][0]);
     
     	for (i = 0; i < 3; i++) {
    -		bpfjit_function_t code;
    +		bpfjit_func_t code;
     
     		ATF_CHECK(bpf_validate(insns[i], insn_count));
     
    -		code = bpfjit_generate_code(insns[i], insn_count);
    +		code = bpfjit_generate_code(bc, insns[i], insn_count);
     		ATF_REQUIRE(code != NULL);
     
     		for (l = 0; l < 5 + lengths[i]; l++) {
    @@ -1980,11 +1985,11 @@ ATF_TC_BODY(bpfjit_ld_abs_k_overflow, tc)
     	size_t insn_count = sizeof(insns[0]) / sizeof(insns[0][0]);
     
     	for (i = 0; i < 3; i++) {
    -		bpfjit_function_t code;
    +		bpfjit_func_t code;
     
     		ATF_CHECK(bpf_validate(insns[i], insn_count));
     
    -		code = bpfjit_generate_code(insns[i], insn_count);
    +		code = bpfjit_generate_code(bc, insns[i], insn_count);
     		ATF_REQUIRE(code != NULL);
     
     		ATF_CHECK(code(pkt, 8, 8) == 0);
    @@ -2049,11 +2054,11 @@ ATF_TC_BODY(bpfjit_ld_ind, tc)
     	size_t insn_count = sizeof(insns[0]) / sizeof(insns[0][0]);
     
     	for (i = 0; i < 3; i++) {
    -		bpfjit_function_t code;
    +		bpfjit_func_t code;
     
     		ATF_CHECK(bpf_validate(insns[i], insn_count));
     
    -		code = bpfjit_generate_code(insns[i], insn_count);
    +		code = bpfjit_generate_code(bc, insns[i], insn_count);
     		ATF_REQUIRE(code != NULL);
     
     		for (l = 0; l < 5 + lengths[i]; l++) {
    @@ -2150,11 +2155,11 @@ ATF_TC_BODY(bpfjit_ld_ind_k_overflow, tc)
     	size_t insn_count = sizeof(insns[0]) / sizeof(insns[0][0]);
     
     	for (i = 0; i < 3; i++) {
    -		bpfjit_function_t code;
    +		bpfjit_func_t code;
     
     		ATF_CHECK(bpf_validate(insns[i], insn_count));
     
    -		code = bpfjit_generate_code(insns[i], insn_count);
    +		code = bpfjit_generate_code(bc, insns[i], insn_count);
     		ATF_REQUIRE(code != NULL);
     
     		ATF_CHECK(code(pkt, 8, 8) == 0);
    @@ -2181,14 +2186,14 @@ ATF_TC_BODY(bpfjit_ld_ind_x_overflow1, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8] = { 10, 20, 30, 40, 50, 60, 70, 80 };
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 1; i <= sizeof(pkt); i++) {
    @@ -2218,14 +2223,14 @@ ATF_TC_BODY(bpfjit_ld_ind_x_overflow2, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[8] = { 10, 20, 30, 40, 50, 60, 70, 80 };
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 1; i <= sizeof(pkt); i++) {
    @@ -2251,14 +2256,14 @@ ATF_TC_BODY(bpfjit_ld_len, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[32]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < sizeof(pkt); i++)
    @@ -2281,14 +2286,14 @@ ATF_TC_BODY(bpfjit_ld_imm, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -2311,14 +2316,14 @@ ATF_TC_BODY(bpfjit_ldx_imm1, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX - 5);
    @@ -2343,14 +2348,14 @@ ATF_TC_BODY(bpfjit_ldx_imm2, tc)
     		BPF_STMT(BPF_RET+BPF_K, UINT32_MAX)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == UINT32_MAX);
    @@ -2374,14 +2379,14 @@ ATF_TC_BODY(bpfjit_ldx_len1, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[5]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 1; i < sizeof(pkt); i++) {
    @@ -2409,14 +2414,14 @@ ATF_TC_BODY(bpfjit_ldx_len2, tc)
     		BPF_STMT(BPF_RET+BPF_K, UINT32_MAX)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[5]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 5, 1) == UINT32_MAX);
    @@ -2440,14 +2445,14 @@ ATF_TC_BODY(bpfjit_ldx_msh, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2] = { 0, 0x7a };
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 2, 2) == 40);
    @@ -2471,14 +2476,14 @@ ATF_TC_BODY(bpfjit_misc_tax, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[] = { 0, 11, 22, 33, 44, 55 };
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, sizeof(pkt), sizeof(pkt)) == 55);
    @@ -2501,14 +2506,14 @@ ATF_TC_BODY(bpfjit_misc_txa, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 391);
    @@ -2533,14 +2538,14 @@ ATF_TC_BODY(bpfjit_st1, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[16]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 1; i <= sizeof(pkt); i++)
    @@ -2565,14 +2570,14 @@ ATF_TC_BODY(bpfjit_st2, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0);
    @@ -2602,7 +2607,7 @@ ATF_TC_BODY(bpfjit_st3, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
    @@ -2611,7 +2616,7 @@ ATF_TC_BODY(bpfjit_st3, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -2642,7 +2647,7 @@ ATF_TC_BODY(bpfjit_st4, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
    @@ -2651,7 +2656,7 @@ ATF_TC_BODY(bpfjit_st4, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 1);
    @@ -2673,7 +2678,7 @@ ATF_TC_BODY(bpfjit_st5, tc)
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	size_t k;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[BPF_MEMWORDS]; /* the program doesn't read any data */
     
     	memset(insns, 0, sizeof(insns));
    @@ -2706,7 +2711,7 @@ ATF_TC_BODY(bpfjit_st5, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (k = 1; k <= sizeof(pkt); k++)
    @@ -2733,14 +2738,14 @@ ATF_TC_BODY(bpfjit_stx1, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[16]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 1; i <= sizeof(pkt); i++)
    @@ -2766,14 +2771,14 @@ ATF_TC_BODY(bpfjit_stx2, tc)
     		BPF_STMT(BPF_RET+BPF_A, 0)
     	};
     
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[1]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	ATF_CHECK(code(pkt, 1, 1) == 0);
    @@ -2809,14 +2814,14 @@ ATF_TC_BODY(bpfjit_stx3, tc)
     	};
     
     	size_t i;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[16]; /* the program doesn't read any data */
     
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 1; i <= sizeof(pkt); i++)
    @@ -2838,7 +2843,7 @@ ATF_TC_BODY(bpfjit_stx4, tc)
     	size_t insn_count = sizeof(insns) / sizeof(insns[0]);
     
     	size_t k;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[BPF_MEMWORDS]; /* the program doesn't read any data */
     
     	memset(insns, 0, sizeof(insns));
    @@ -2871,7 +2876,7 @@ ATF_TC_BODY(bpfjit_stx4, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (k = 1; k <= sizeof(pkt); k++)
    @@ -2905,7 +2910,7 @@ ATF_TC_BODY(bpfjit_opt_ld_abs_1, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -2925,7 +2930,7 @@ ATF_TC_BODY(bpfjit_opt_ld_abs_1, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    @@ -2962,7 +2967,7 @@ ATF_TC_BODY(bpfjit_opt_ld_abs_2, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -2982,7 +2987,7 @@ ATF_TC_BODY(bpfjit_opt_ld_abs_2, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    @@ -3019,7 +3024,7 @@ ATF_TC_BODY(bpfjit_opt_ld_abs_3, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -3039,7 +3044,7 @@ ATF_TC_BODY(bpfjit_opt_ld_abs_3, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    @@ -3077,7 +3082,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_1, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -3097,7 +3102,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_1, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    @@ -3135,7 +3140,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_2, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -3155,7 +3160,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_2, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    @@ -3194,7 +3199,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_3, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -3214,7 +3219,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_3, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    @@ -3253,7 +3258,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_4, tc)
     	};
     
     	size_t i, j;
    -	bpfjit_function_t code;
    +	bpfjit_func_t code;
     	uint8_t pkt[2][34] = {
     		{
     			0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 0x08, 0x00,
    @@ -3273,7 +3278,7 @@ ATF_TC_BODY(bpfjit_opt_ld_ind_4, tc)
     
     	ATF_CHECK(bpf_validate(insns, insn_count));
     
    -	code = bpfjit_generate_code(insns, insn_count);
    +	code = bpfjit_generate_code(bc, insns, insn_count);
     	ATF_REQUIRE(code != NULL);
     
     	for (i = 0; i < 2; i++) {
    diff --git a/tests/lib/libc/Makefile b/tests/lib/libc/Makefile
    index 725601333..22dad153f 100644
    --- a/tests/lib/libc/Makefile
    +++ b/tests/lib/libc/Makefile
    @@ -8,7 +8,10 @@ SUBDIR+=	tls_dso .WAIT
     # LSC: Unsupported on MINIX
     # c063 gen rpc setjmp 
     # sys tls ttyio
    -TESTS_SUBDIRS+=	db hash inet locale net regex stdlib
    +# LSC: db hangs, so compiled, installed, but not added to the testsuite by
    +#      default
    +SUBDIR+= db
    +TESTS_SUBDIRS+=	hash inet locale net regex stdlib
     TESTS_SUBDIRS+=	stdio string termios time
     
     .if !defined(__MINIX)
    diff --git a/tests/lib/libc/db/t_db.sh b/tests/lib/libc/db/t_db.sh
    index f2ff2d55f..52244e3ca 100644
    --- a/tests/lib/libc/db/t_db.sh
    +++ b/tests/lib/libc/db/t_db.sh
    @@ -1,4 +1,4 @@
    -# $NetBSD: t_db.sh,v 1.3 2011/12/10 17:50:19 skrll Exp $
    +# $NetBSD: t_db.sh,v 1.4 2013/07/29 10:43:15 skrll Exp $
     #
     # Copyright (c) 2008 The NetBSD Foundation, Inc.
     # All rights reserved.
    @@ -801,7 +801,7 @@ ffactor=$ffactor,nelem=25000,cachesize=65536" hash in
     atf_test_case bsize_ffactor
     bsize_ffactor_head()
     {
    -	atf_set "timeout" "360"
    +	atf_set "timeout" "480"
     	atf_set "descr" "Checks hash database with various" \
     					"bucketsizes and fill factors"
     }
    diff --git a/tests/lib/libc/gen/t_dir.c b/tests/lib/libc/gen/t_dir.c
    index d055ddd6b..81412c1ae 100644
    --- a/tests/lib/libc/gen/t_dir.c
    +++ b/tests/lib/libc/gen/t_dir.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_dir.c,v 1.5 2012/03/18 07:14:08 jruoho Exp $ */
    +/* $NetBSD: t_dir.c,v 1.6 2013/10/19 17:45:00 christos Exp $ */
     
     /*-
      * Copyright (c) 2010 The NetBSD Foundation, Inc.
    @@ -122,7 +122,6 @@ ATF_TC_HEAD(telldir_leak, tc)
     ATF_TC_BODY(telldir_leak, tc)
     {
     	DIR *dp;
    -	long loc;
     	char *memused;
     	int i;
     	int oktouse = 4096;
    @@ -131,7 +130,7 @@ ATF_TC_BODY(telldir_leak, tc)
     	if (dp == NULL)
     		atf_tc_fail("Could not open current directory");
     
    -	loc = telldir(dp);
    +	(void)telldir(dp);
     	memused = sbrk(0);
     	closedir(dp);
     
    @@ -140,7 +139,7 @@ ATF_TC_BODY(telldir_leak, tc)
     		if (dp == NULL)
     			atf_tc_fail("Could not open current directory");
     
    -		loc = telldir(dp);
    +		(void)telldir(dp);
     		closedir(dp);
     
     		if ((char *)sbrk(0) - memused > oktouse) {
    diff --git a/tests/lib/libc/gen/t_isnan.c b/tests/lib/libc/gen/t_isnan.c
    index 5e9db014c..ec7f06982 100644
    --- a/tests/lib/libc/gen/t_isnan.c
    +++ b/tests/lib/libc/gen/t_isnan.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_isnan.c,v 1.1 2011/09/19 05:25:50 jruoho Exp $ */
    +/* $NetBSD: t_isnan.c,v 1.3 2013/09/16 15:33:24 martin Exp $ */
     
     /*
      * This file is in the Public Domain.
    @@ -21,9 +21,13 @@ ATF_TC_HEAD(isnan_basic, tc)
     
     ATF_TC_BODY(isnan_basic, tc)
     {
    +#ifdef NAN
     	/* NAN is meant to be a (float)NaN. */
     	ATF_CHECK(isnan(NAN) != 0);
     	ATF_CHECK(isnan((double)NAN) != 0);
    +#else
    +	atf_tc_skip("Test not applicable");
    +#endif
     }
     
     ATF_TC(isinf_basic);
    @@ -51,7 +55,7 @@ ATF_TP_ADD_TCS(tp)
     
     	arch = atf_config_get("atf_arch");
     
    -	if (strcmp("vax", arch) == 0 || strcmp("m68000", arch) == 0)
    +	if (strcmp("m68000", arch) == 0)
     		atf_tc_skip("Test not applicable on %s", arch);
     	else {
     		ATF_TP_ADD_TC(tp, isnan_basic);
    diff --git a/tests/lib/libc/locale/Makefile b/tests/lib/libc/locale/Makefile
    index 53db6b801..cf20e3baf 100644
    --- a/tests/lib/libc/locale/Makefile
    +++ b/tests/lib/libc/locale/Makefile
    @@ -6,8 +6,7 @@ TESTSDIR=	${TESTSBASE}/lib/libc/locale
     
     TESTS_C+=	t_mbrtowc
     TESTS_C+=	t_mbstowcs
    -# LSC: Unsupported on MINIX
    -#TESTS_C+=	t_mbsnrtowcs
    +TESTS_C+=	t_mbsnrtowcs
     TESTS_C+=	t_mbtowc
     TESTS_C+=	t_wcscspn
     TESTS_C+=	t_wcspbrk
    diff --git a/tests/lib/libc/net/Makefile b/tests/lib/libc/net/Makefile
    index 7506b2b8c..5339b4131 100644
    --- a/tests/lib/libc/net/Makefile
    +++ b/tests/lib/libc/net/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.7 2012/09/15 16:22:58 plunky Exp $
    +# $NetBSD: Makefile,v 1.8 2013/08/16 15:29:45 christos Exp $
     
     .include 
     
    @@ -6,6 +6,7 @@ MKMAN=	no
     
     #LSC: Unsupported on MINIX
     #TESTS_SUBDIRS+=	getaddrinfo
    +FILES+=hosts
     
     TESTSDIR=	${TESTSBASE}/lib/libc/net
     
    @@ -21,6 +22,7 @@ aton_ether_subr.c: gen_ether_subr ${NETBSDSRCDIR}/sys/net/if_ethersubr.c
     TESTS_SH+=	t_nsdispatch
     TESTS_SH+=	t_protoent
     TESTS_SH+=	t_servent
    +TESTS_SH+=	t_hostent
     
     BINDIR=		${TESTSDIR}
     
    @@ -28,6 +30,13 @@ BINDIR=		${TESTSDIR}
     #PROGS+=		h_nsd_recurse
     PROGS+=		h_protoent
     PROGS+=		h_servent
    +PROGS+=		h_hostent
    +CPPFLAGS.h_hostent.c += -I${NETBSDSRCDIR}/lib/libc/net
    +
    +# For easy debugging, without installing libc
    +#.PATH.c:${NETBSDSRCDIR}/lib/libc/net
    +#SRCS.h_hostent = h_hostent.c gethnamaddr.c
    +#DBG=-g3
     
     LDADD.h_nsd_recurse+=	-lpthread
     
    diff --git a/tests/lib/libc/net/h_hostent.c b/tests/lib/libc/net/h_hostent.c
    new file mode 100644
    index 000000000..bfcdd0db4
    --- /dev/null
    +++ b/tests/lib/libc/net/h_hostent.c
    @@ -0,0 +1,190 @@
    +/*	$NetBSD: h_hostent.c,v 1.1 2013/08/16 15:29:45 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Christos Zoulas.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +__RCSID("$NetBSD: h_hostent.c,v 1.1 2013/08/16 15:29:45 christos Exp $");
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "hostent.h"
    +
    +static void
    +phostent(const struct hostent *h)
    +{
    +	size_t i;
    +	char buf[1024];
    +	const int af = h->h_length == NS_INADDRSZ ? AF_INET : AF_INET6;
    +
    +	printf("name=%s, length=%d, addrtype=%d, aliases=[",
    +	    h->h_name, h->h_length, h->h_addrtype);
    +
    +	for (i = 0; h->h_aliases[i]; i++)
    +		printf("%s%s", i == 0 ? "" : " ", h->h_aliases[i]);
    +
    +	printf("] addr_list=[");
    +
    +	for (i = 0; h->h_addr_list[i]; i++)
    +		printf("%s%s", i == 0 ? "" : " ", inet_ntop(af,
    +		    h->h_addr_list[i], buf, (socklen_t)sizeof(buf)));
    +
    +	printf("]\n");
    +}
    +
    +static void
    +usage(void)
    +{
    +	(void)fprintf(stderr, "Usage: %s [-f ] "
    +	    "[-t ] "
    +	    "[-46a] \n", getprogname());
    +	exit(EXIT_FAILURE);
    +}
    +
    +static void
    +getby(int (*f)(void *, void *, va_list), struct getnamaddr *info, ...)
    +{
    +	va_list ap;
    +	int e;
    +
    +	va_start(ap, info);
    +	e = (*f)(info, NULL, ap);
    +	va_end(ap);
    +	switch (e) {
    +	case NS_SUCCESS:
    +		phostent(info->hp);
    +		break;
    +	default:
    +		printf("error %d\n", e);
    +		break;
    +	}
    +}
    +
    +static void
    +geta(struct hostent *hp) {
    +	if (hp == NULL)
    +		printf("error %d\n", h_errno);
    +	else
    +		phostent(hp);
    +}
    +
    +int
    +main(int argc, char *argv[])
    +{
    +	int (*f)(void *, void *, va_list) = NULL;
    +	const char *type = "any";
    +	int c, af, e, byaddr, len;
    +	struct hostent hent;
    +	struct getnamaddr info;
    +	char buf[4096];
    +	
    +	af = AF_INET;
    +	byaddr = 0;
    +	len = 0;
    +	info.hp = &hent;
    +	info.buf = buf;
    +	info.buflen = sizeof(buf);
    +	info.he = &e;
    +
    +	while ((c = getopt(argc, argv, "46af:t:")) != -1) {
    +		switch (c) {
    +		case '4':
    +			af = AF_INET;
    +			break;
    +		case '6':
    +			af = AF_INET6;
    +			break;
    +		case 'a':
    +			byaddr++;
    +			break;
    +		case 't':
    +			type = optarg;
    +			break;
    +		case 'f':
    +			_hf_sethostsfile(optarg);
    +			break;
    +		default:
    +			usage();
    +		}
    +	}
    +
    +	argc -= optind;
    +	argv += optind;
    +
    +	if (argc != 1)
    +		usage();
    +
    +	switch (*type) {
    +	case 'a':
    +		break;
    +	case 'd':
    +		f = byaddr ? _dns_gethtbyaddr : _dns_gethtbyname;
    +		break;
    +#ifdef YP
    +	case 'n':
    +		f = byaddr ? _yp_gethtbyaddr : _yp_gethtbyname;
    +		break;
    +#endif
    +	case 'f':
    +		f = byaddr ? _hf_gethtbyaddr : _hf_gethtbyname;
    +		break;
    +	default:
    +		errx(EXIT_FAILURE, "Unknown db type `%s'", type);
    +	}
    +
    +	if (byaddr) {
    +		struct in6_addr addr;
    +		af = strchr(*argv, ':') ? AF_INET6 : AF_INET;
    +		len = af == AF_INET ? NS_INADDRSZ : NS_IN6ADDRSZ;
    +		if (inet_pton(af, *argv, &addr) == -1)
    +			err(EXIT_FAILURE, "Can't parse `%s'", *argv);
    +		if (*type == 'a')
    +			geta(gethostbyaddr((const char *)&addr, len, af));
    +		else
    +			getby(f, &info, &addr, len, af);
    +	} else {
    +		if (*type == 'a')
    +			geta(gethostbyname2(*argv, af));
    +		else
    +			getby(f, &info, *argv, len, af);
    +	}
    +		
    +	return 0;
    +}
    diff --git a/tests/lib/libc/net/hosts b/tests/lib/libc/net/hosts
    new file mode 100644
    index 000000000..87ccbe888
    --- /dev/null
    +++ b/tests/lib/libc/net/hosts
    @@ -0,0 +1,11 @@
    +#	$NetBSD: hosts,v 1.1 2013/08/16 15:29:45 christos Exp $
    +#
    +# Host Database
    +# This file should contain the addresses and aliases
    +# for local hosts that share this file.
    +# It is used only for "ifconfig" and other operations
    +# before the nameserver is started.
    +#
    +#
    +::1			localhost localhost. localhost.localdomain.
    +127.0.0.1		localhost localhost. localhost.localdomain.
    diff --git a/tests/lib/libc/net/t_hostent.sh b/tests/lib/libc/net/t_hostent.sh
    new file mode 100644
    index 000000000..dbd6c8c7d
    --- /dev/null
    +++ b/tests/lib/libc/net/t_hostent.sh
    @@ -0,0 +1,188 @@
    +# $NetBSD: t_hostent.sh,v 1.2 2013/10/20 17:22:49 christos Exp $
    +#
    +# Copyright (c) 2008 The NetBSD Foundation, 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:
    +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    +#
    +
    +n6="sixthavenue.astron.com"
    +a6="2620:106:3003:1f00:2e0:81ff:fe2f:e5d7"
    +ans6="name=$n6, length=16, addrtype=24, aliases=[] addr_list=[$a6]\n"
    +
    +n4="sixthavenue.astron.com"
    +a4="38.117.134.6"
    +ans4="name=$n4, length=4, addrtype=2, aliases=[] addr_list=[$a4]\n"
    +
    +l6="localhost"
    +al6="::1"
    +loc6="name=$l6, length=16, addrtype=24, aliases=[localhost. localhost.localdomain.] addr_list=[$al6]\n"
    +
    +l4="localhost"
    +al4="127.0.0.1"
    +loc4="name=$l4, length=4, addrtype=2, aliases=[localhost. localhost.localdomain.] addr_list=[$al4]\n"
    +
    +atf_test_case gethostbyname4
    +gethostbyname4_head()
    +{
    +	atf_set "descr" "Checks gethostbyname2(3) for AF_INET (auto, as determined by nsswitch.conf(5)"
    +}
    +gethostbyname4_body()
    +{
    +	atf_check -o inline:"$ans4" -x "$(atf_get_srcdir)/h_hostent -t auto -4 $n4"
    +}
    +
    +atf_test_case gethostbyname6
    +gethostbyname6_head()
    +{
    +	atf_set "descr" "Checks gethostbyname2(3) for AF_INET6 (auto, as determined by nsswitch.conf(5)"
    +}
    +gethostbyname6_body()
    +{
    +	atf_check -o inline:"$ans6" -x "$(atf_get_srcdir)/h_hostent -t auto -6 $n6"
    +}
    +
    +atf_test_case gethostbyaddr4
    +gethostbyaddr4_head()
    +{
    +	atf_set "descr" "Checks gethostbyaddr(3) for AF_INET (auto, as determined by nsswitch.conf(5)"
    +}
    +gethostbyaddr4_body()
    +{
    +	atf_check -o inline:"$ans4" -x "$(atf_get_srcdir)/h_hostent -t auto -a $a4"
    +}
    +
    +atf_test_case gethostbyaddr6
    +gethostbyaddr6_head()
    +{
    +	atf_set "descr" "Checks gethostbyaddr(3) for AF_INET6 (auto, as determined by nsswitch.conf(5)"
    +}
    +gethostbyaddr6_body()
    +{
    +	atf_check -o inline:"$ans6" -x "$(atf_get_srcdir)/h_hostent -t auto -a $a6"
    +}
    +
    +atf_test_case hostsbynamelookup4
    +hostsbynamelookup4_head()
    +{
    +	atf_set "descr" "Checks /etc/hosts name lookup for AF_INET"
    +}
    +hostsbynamelookup4_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$loc4" -x "$dir/h_hostent -f $dir/hosts -t file -4 $l4"
    +}
    +
    +atf_test_case hostsbynamelookup6
    +hostsbynamelookup6_head()
    +{
    +	atf_set "descr" "Checks /etc/hosts name lookup for AF_INET6"
    +}
    +hostsbynamelookup6_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$loc6" -x "$dir/h_hostent -f $dir/hosts -t file -6 $l6"
    +}
    +
    +atf_test_case hostsbyaddrlookup4
    +hostsbyaddrlookup4_head()
    +{
    +	atf_set "descr" "Checks /etc/hosts address lookup for AF_INET"
    +}
    +hostsbyaddrlookup4_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$loc4" -x "$dir/h_hostent -f $dir/hosts -t file -4 -a $al4"
    +}
    +
    +atf_test_case hostsbyaddrlookup6
    +hostsbyaddrlookup6_head()
    +{
    +	atf_set "descr" "Checks /etc/hosts address lookup for AF_INET6"
    +}
    +hostsbyaddrlookup6_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$loc6" -x "$dir/h_hostent -f $dir/hosts -t file -6 -a $al6"
    +}
    +
    +atf_test_case dnsbynamelookup4
    +dnsbynamelookup4_head()
    +{
    +	atf_set "descr" "Checks DNS name lookup for AF_INET"
    +}
    +dnsbynamelookup4_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$ans4" -x "$dir/h_hostent -t dns -4 $n4"
    +}
    +
    +atf_test_case dnsbynamelookup6
    +dnsbynamelookup6_head()
    +{
    +	atf_set "descr" "Checks DNS name lookup for AF_INET6"
    +}
    +dnsbynamelookup6_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$ans6" -x "$dir/h_hostent -t dns -6 $n6"
    +}
    +
    +atf_test_case dnsbyaddrlookup4
    +dnsbyaddrlookup4_head()
    +{
    +	atf_set "descr" "Checks DNS address lookup for AF_INET"
    +}
    +dnsbyaddrlookup4_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$ans4" -x "$dir/h_hostent -t dns -4 -a $a4"
    +}
    +
    +atf_test_case dnsbyaddrlookup6
    +dnsbyaddrlookup6_head()
    +{
    +	atf_set "descr" "Checks dns address lookup for AF_INET6"
    +}
    +dnsbyaddrlookup6_body()
    +{
    +	local dir=$(atf_get_srcdir)
    +	atf_check -o inline:"$ans6" -x "$dir/h_hostent -t dns -6 -a $a6"
    +}
    +
    +atf_init_test_cases()
    +{
    +	atf_add_test_case gethostbyname4
    +	atf_add_test_case gethostbyname6
    +	atf_add_test_case gethostbyaddr4
    +	atf_add_test_case gethostbyaddr6
    +
    +	atf_add_test_case hostsbynamelookup4
    +	atf_add_test_case hostsbynamelookup6
    +	atf_add_test_case hostsbyaddrlookup4
    +	atf_add_test_case hostsbyaddrlookup6
    +
    +	atf_add_test_case dnsbynamelookup4
    +	atf_add_test_case dnsbynamelookup6
    +	atf_add_test_case dnsbyaddrlookup4
    +	atf_add_test_case dnsbyaddrlookup6
    +}
    diff --git a/tests/lib/libc/regex/Makefile b/tests/lib/libc/regex/Makefile
    index c59a5b6d4..86e625c1b 100644
    --- a/tests/lib/libc/regex/Makefile
    +++ b/tests/lib/libc/regex/Makefile
    @@ -14,7 +14,17 @@ CPPFLAGS+=	-I${NETBSDSRCDIR}/lib/libc/regex ${IMPLEMENTATION}
     
     TESTS_SH?=	t_regex
     TESTS_C=	t_regex_att
    +.if !defined(__MINIX)
     TESTS_C+=	t_exhaust
    +.else
    +# this test fails in a way which breaks the test run
    +# Thre following is normaly done in bsd.test.mk
    +PROGS+=	t_exhaust
    +BINDIR.t_exhaust=  ${TESTSDIR}
    +LDADD.t_exhaust+= -latf-c
    +DPADD.t_exhaust+= ${LIBATF_C}
    +MAN.t_exhaust=	# empty
    +.endif # !defined(__MINIX)
     
     FILESDIR=	${TESTSDIR}/data
     FILES+=		README
    diff --git a/tests/lib/libc/stdio/t_fmemopen.c b/tests/lib/libc/stdio/t_fmemopen.c
    index 2ae130e4d..212c7c863 100644
    --- a/tests/lib/libc/stdio/t_fmemopen.c
    +++ b/tests/lib/libc/stdio/t_fmemopen.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_fmemopen.c,v 1.3 2011/08/22 00:33:16 dholland Exp $ */
    +/* $NetBSD: t_fmemopen.c,v 1.4 2013/10/19 17:45:00 christos Exp $ */
     
     /*-
      * Copyright (c)2010 Takehiko NOZAKI,
    @@ -463,13 +463,12 @@ ATF_TC_HEAD(test10, tc)
     ATF_TC_BODY(test10, tc)
     {
     	struct testcase *t;
    -	off_t len, i;
    +	off_t i;
     	const char **p;
     	char buf[BUFSIZ];
     	FILE *fp;
     
     	for (t = &testcases[0]; t->s != NULL; ++t) {
    -		len = (off_t)strnlen(t->s, t->n);
     		for (p = &mode_rw[0]; *p != NULL; ++p) {
     
     			memcpy(&buf[0], t->s, t->n);
    @@ -630,15 +629,13 @@ ATF_TC_HEAD(test13, tc)
     ATF_TC_BODY(test13, tc)
     {
     	struct testcase *t;
    -	off_t len, rest, i;
    +	off_t i;
     	const char **p;
     	char buf[BUFSIZ];
     	FILE *fp;
     
     	/* test fmemopen_seek(SEEK_END) */
     	for (t = &testcases[0]; t->s != NULL; ++t) {
    -		len = (off_t)strnlen(t->s, t->n);
    -		rest = t->n - len;
     		for (p = &mode_w[0]; *p != NULL; ++p) {
     
     			memcpy(buf, t->s, t->n);
    @@ -938,14 +935,12 @@ ATF_TC_HEAD(test19, tc)
     ATF_TC_BODY(test19, tc)
     {
     	struct testcase *t;
    -	size_t len;
     	int i;
     	const char **p;
     	char buf[BUFSIZ];
     	FILE *fp;
     
     	for (t = &testcases[0]; t->s != NULL; ++t) {
    -		len = strnlen(t->s, t->n);
     		for (p = &mode_rw2[0]; *p != NULL; ++p) {
     
     			memcpy(&buf[0], t->s, t->n);
    @@ -998,13 +993,11 @@ ATF_TC_HEAD(test20, tc)
     ATF_TC_BODY(test20, tc)
     {
     	struct testcase *t;
    -	size_t len;
     	const char **p;
     	char buf[BUFSIZ];
     	FILE *fp;
     
     	for (t = &testcases[0]; t->s != NULL; ++t) {
    -		len = strnlen(t->s, t->n);
     		for (p = &mode_rw2[0]; *p != NULL; ++p) {
     
     			memcpy(&buf[0], t->s, t->n);
    diff --git a/tests/lib/libc/sys/Makefile b/tests/lib/libc/sys/Makefile
    index a6c4c7f35..9a6a201a3 100644
    --- a/tests/lib/libc/sys/Makefile
    +++ b/tests/lib/libc/sys/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.32 2013/03/08 17:01:54 martin Exp $
    +# $NetBSD: Makefile,v 1.34 2013/07/24 11:45:48 skrll Exp $
     
     MKMAN=	no
     
    diff --git a/tests/lib/libc/sys/t_msgrcv.c b/tests/lib/libc/sys/t_msgrcv.c
    index 028e8f787..e32be262a 100644
    --- a/tests/lib/libc/sys/t_msgrcv.c
    +++ b/tests/lib/libc/sys/t_msgrcv.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $ */
    +/* $NetBSD: t_msgrcv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $ */
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $");
    +__RCSID("$NetBSD: t_msgrcv.c,v 1.3 2013/07/24 11:44:10 skrll Exp $");
     
     #include 
     #include 
    @@ -51,10 +51,11 @@ __RCSID("$NetBSD: t_msgrcv.c,v 1.2 2011/11/11 05:06:01 jruoho Exp $");
     #define MSG_MTYPE_1	0x41
     #define	MSG_MTYPE_2	0x42
     #define MSG_MTYPE_3	0x43
    +#define MSG_LEN		3
     
     struct msg {
     	long		 mtype;
    -	char		 buf[3];
    +	char		 buf[MSG_LEN];
     };
     
     static void		clean(void);
    @@ -83,8 +84,8 @@ ATF_TC_BODY(msgrcv_basic, tc)
     	id = msgget(MSG_KEY, IPC_CREAT | 0600);
     	ATF_REQUIRE(id != -1);
     
    -	(void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
    -	(void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT);
    +	(void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
    +	(void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT);
     
     	ATF_CHECK(msg1.buf[0] == msg2.buf[0]);
     	ATF_CHECK(msg1.buf[1] == msg2.buf[1]);
    @@ -118,7 +119,7 @@ ATF_TC_BODY(msgrcv_block, tc)
     
     	if (pid == 0) {
     
    -		if (msgrcv(id, &msg, sizeof(struct msg), MSG_MTYPE_1, 0) < 0)
    +		if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1, 0) < 0)
     			_exit(EXIT_FAILURE);
     
     		_exit(EXIT_SUCCESS);
    @@ -129,7 +130,7 @@ ATF_TC_BODY(msgrcv_block, tc)
     	 * and hence kill(2) should fail with ESRCH.
     	 */
     	(void)sleep(1);
    -	(void)msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT);
    +	(void)msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT);
     	(void)sleep(1);
     	(void)kill(pid, SIGKILL);
     	(void)wait(&sta);
    @@ -162,31 +163,31 @@ ATF_TC_BODY(msgrcv_err, tc)
     	errno = 0;
     
     	ATF_REQUIRE_ERRNO(ENOMSG, msgrcv(id, &msg,
    -		sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
    +		MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
     
    -	ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0);
    +	ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
     
     	errno = 0;
     
     	ATF_REQUIRE_ERRNO(EFAULT, msgrcv(id, (void *)-1,
    -		sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
    +		MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
     
     	errno = 0;
     
     	ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg,
    -		sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT) == -1);
    +		MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT) == -1);
     
     	errno = 0;
     
     	ATF_REQUIRE_ERRNO(EINVAL, msgrcv(-1, &msg,
     		SSIZE_MAX, MSG_MTYPE_1, IPC_NOWAIT) == -1);
     
    -	ATF_REQUIRE(msgsnd(id, &msg, sizeof(struct msg), IPC_NOWAIT) == 0);
    +	ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
     
     	errno = 0;
     
     	ATF_REQUIRE_ERRNO(E2BIG, msgrcv(id, &r,
    -		sizeof(int), MSG_MTYPE_1, IPC_NOWAIT) == -1);
    +		MSG_LEN - 1, MSG_MTYPE_1, IPC_NOWAIT) == -1);
     
     	ATF_REQUIRE(msgctl(id, IPC_RMID, 0) == 0);
     }
    @@ -212,14 +213,14 @@ ATF_TC_BODY(msgrcv_mtype, tc)
     	id = msgget(MSG_KEY, IPC_CREAT | 0600);
     	ATF_REQUIRE(id != -1);
     
    -	(void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
    -	(void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_2, IPC_NOWAIT);
    +	(void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
    +	(void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_2, IPC_NOWAIT);
     
     	ATF_CHECK(msg1.buf[0] != msg2.buf[0]);	/* Different mtype. */
     	ATF_CHECK(msg1.buf[1] != msg2.buf[1]);
     	ATF_CHECK(msg1.buf[2] != msg2.buf[2]);
     
    -	(void)msgrcv(id, &msg2, sizeof(struct msg), MSG_MTYPE_1, IPC_NOWAIT);
    +	(void)msgrcv(id, &msg2, MSG_LEN, MSG_MTYPE_1, IPC_NOWAIT);
     
     	ATF_CHECK(msg1.buf[0] == msg2.buf[0]);	/* Same mtype. */
     	ATF_CHECK(msg1.buf[1] == msg2.buf[1]);
    @@ -253,8 +254,7 @@ ATF_TC_BODY(msgrcv_nonblock, tc)
     
     	for (i = 0; i < n; i++) {
     
    -		ATF_REQUIRE(msgsnd(id, &msg,
    -			sizeof(struct msg), IPC_NOWAIT) == 0);
    +		ATF_REQUIRE(msgsnd(id, &msg, MSG_LEN, IPC_NOWAIT) == 0);
     	}
     
     	pid = fork();
    @@ -264,8 +264,8 @@ ATF_TC_BODY(msgrcv_nonblock, tc)
     
     		while (i != 0) {
     
    -			if (msgrcv(id, &msg, sizeof(struct msg),
    -				MSG_MTYPE_1, IPC_NOWAIT) == -1)
    +			if (msgrcv(id, &msg, MSG_LEN, MSG_MTYPE_1,
    +			    IPC_NOWAIT) == -1)
     				_exit(EXIT_FAILURE);
     
     			i--;
    @@ -300,9 +300,10 @@ ATF_TC_HEAD(msgrcv_truncate, tc)
     
     ATF_TC_BODY(msgrcv_truncate, tc)
     {
    +#define	MSG_SMALLLEN	2
     	struct msgsmall {
     		long		 mtype;
    -		char		 buf[2];
    +		char		 buf[MSG_SMALLLEN];
     	};
     
     	struct msg msg1 = { MSG_MTYPE_1, { 'a', 'b', 'c' } };
    @@ -312,8 +313,8 @@ ATF_TC_BODY(msgrcv_truncate, tc)
     	id = msgget(MSG_KEY, IPC_CREAT | 0600);
     	ATF_REQUIRE(id != -1);
     
    -	(void)msgsnd(id, &msg1, sizeof(struct msg), IPC_NOWAIT);
    -	(void)msgrcv(id, &msg2, sizeof(struct msgsmall),
    +	(void)msgsnd(id, &msg1, MSG_LEN, IPC_NOWAIT);
    +	(void)msgrcv(id, &msg2, MSG_SMALLLEN,
     	    MSG_MTYPE_1, IPC_NOWAIT | MSG_NOERROR);
     
     	ATF_CHECK(msg1.buf[0] == msg2.buf[0]);
    diff --git a/tests/lib/libc/tls/dso/h_tls_dlopen.c b/tests/lib/libc/tls/dso/h_tls_dlopen.c
    index de1f98a2a..c455d33ce 100644
    --- a/tests/lib/libc/tls/dso/h_tls_dlopen.c
    +++ b/tests/lib/libc/tls/dso/h_tls_dlopen.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: h_tls_dlopen.c,v 1.4 2012/01/17 20:34:57 joerg Exp $	*/
    +/*	$NetBSD: h_tls_dlopen.c,v 1.5 2013/10/21 19:14:16 joerg Exp $	*/
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -32,7 +32,7 @@
      */
     
     #include 
    -__RCSID("$NetBSD: h_tls_dlopen.c,v 1.4 2012/01/17 20:34:57 joerg Exp $");
    +__RCSID("$NetBSD: h_tls_dlopen.c,v 1.5 2013/10/21 19:14:16 joerg Exp $");
     
     #include 
     #include 
    @@ -45,6 +45,7 @@ __RCSID("$NetBSD: h_tls_dlopen.c,v 1.4 2012/01/17 20:34:57 joerg Exp $");
     extern __thread int var1;
     extern __thread int var2;
     extern __thread int *var3;
    +__thread int var5 = 1;
     static __thread pid_t (*local_var)(void) = getpid;
     
     void testf_dso_helper(int x, int y);
    diff --git a/tests/lib/libc/tls_dso/h_tls_dynamic.c b/tests/lib/libc/tls_dso/h_tls_dynamic.c
    index 18f3ee8b4..a12e07a78 100644
    --- a/tests/lib/libc/tls_dso/h_tls_dynamic.c
    +++ b/tests/lib/libc/tls_dso/h_tls_dynamic.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: h_tls_dynamic.c,v 1.3 2012/01/17 20:34:57 joerg Exp $	*/
    +/*	$NetBSD: h_tls_dynamic.c,v 1.5 2013/10/21 19:11:17 joerg Exp $	*/
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -32,7 +32,7 @@
      */
     
     #include 
    -__RCSID("$NetBSD: h_tls_dynamic.c,v 1.3 2012/01/17 20:34:57 joerg Exp $");
    +__RCSID("$NetBSD: h_tls_dynamic.c,v 1.5 2013/10/21 19:11:17 joerg Exp $");
     
     #include 
     #include 
    diff --git a/tests/lib/libcurses/Makefile b/tests/lib/libcurses/Makefile
    index 8d0437f18..7708070b3 100644
    --- a/tests/lib/libcurses/Makefile
    +++ b/tests/lib/libcurses/Makefile
    @@ -26,5 +26,10 @@ realall: ${TERMINFO_DB}.cdb
     ${TERMINFO_DB}.cdb: ${TOOL_TIC} ${TEST_TERMINFO}
     	${TOOL_TIC} -o ${.TARGET} ${.CURDIR}/${TEST_TERMINFO}
     
    +.if defined(__MINIX) && ${USETOOLS:Uno} != "yes"
    +tic:
    +	true
    +.endif # defined(__MINIX) && ${USETOOLS:Uno} == "no"
    +
     .include 
     #.include 
    diff --git a/tests/lib/libcurses/check_files/addchstr.chk b/tests/lib/libcurses/check_files/addchstr.chk
    index 5efce9bde..42286d02f 100644
    --- a/tests/lib/libcurses/check_files/addchstr.chk
    +++ b/tests/lib/libcurses/check_files/addchstr.chk
    @@ -1 +1 @@
    -revabcdesgr0
    \ No newline at end of file
    +revabcdehomesgr0
    \ No newline at end of file
    diff --git a/tests/lib/libcurses/director/testlang_conf.l b/tests/lib/libcurses/director/testlang_conf.l
    index 94b218048..a732afce3 100644
    --- a/tests/lib/libcurses/director/testlang_conf.l
    +++ b/tests/lib/libcurses/director/testlang_conf.l
    @@ -1,5 +1,5 @@
     %{
    -/*	$NetBSD: testlang_conf.l,v 1.6 2011/10/07 13:39:33 joerg Exp $ 	*/
    +/*	$NetBSD: testlang_conf.l,v 1.7 2013/11/21 11:06:04 blymn Exp $ 	*/
     
     /*-
      * Copyright 2009 Brett Lymn 
    @@ -103,6 +103,12 @@ dequote(const char *s, size_t *len)
     					p++;
     					break;
     
    +				case 'r':
    +					/* carriage return */
    +					*q++ = '\r';
    +					p++;
    +					break;
    +
     				case 't':
     					/* tab */
     					*q++ = '\t';
    diff --git a/tests/lib/libcurses/testframe.txt b/tests/lib/libcurses/testframe.txt
    index 488b28d26..19884d765 100644
    --- a/tests/lib/libcurses/testframe.txt
    +++ b/tests/lib/libcurses/testframe.txt
    @@ -193,6 +193,7 @@ are:
     
     	\e	escape
     	\n	new line
    +	\r	carriage return
     	\t	tab
     	\\	\ character
     	\nnn	Where nnn is three octal digits, the character
    diff --git a/tests/lib/libexecinfo/Makefile b/tests/lib/libexecinfo/Makefile
    index f4622cf48..a601ff770 100644
    --- a/tests/lib/libexecinfo/Makefile
    +++ b/tests/lib/libexecinfo/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.3 2013/07/04 23:53:13 joerg Exp $
    +# $NetBSD: Makefile,v 1.4 2013/07/21 15:29:04 tron Exp $
     
     .include 
     
    @@ -9,4 +9,6 @@ TESTS_C+=	t_backtrace
     LDADD+=		-lexecinfo -lelf
     DPADD+=		${LIBEXECINFO} ${LIBELF}
     
    +COPTS.t_backtrace.c=	-Wno-stack-protector
    +
     .include 
    diff --git a/tests/lib/libexecinfo/t_backtrace.c b/tests/lib/libexecinfo/t_backtrace.c
    index fb3389f05..3710de3ea 100644
    --- a/tests/lib/libexecinfo/t_backtrace.c
    +++ b/tests/lib/libexecinfo/t_backtrace.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_backtrace.c,v 1.8 2013/07/05 09:55:39 joerg Exp $	*/
    +/*	$NetBSD: t_backtrace.c,v 1.10 2013/08/16 11:57:15 martin Exp $	*/
     
     /*-
      * Copyright (c) 2012 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: t_backtrace.c,v 1.8 2013/07/05 09:55:39 joerg Exp $");
    +__RCSID("$NetBSD: t_backtrace.c,v 1.10 2013/08/16 11:57:15 martin Exp $");
     
     #include 
     #include 
    @@ -42,9 +42,14 @@ __RCSID("$NetBSD: t_backtrace.c,v 1.8 2013/07/05 09:55:39 joerg Exp $");
     #define __arraycount(a) (sizeof(a) / sizeof(a[0]))
     #endif
     
    +void myfunc3(size_t ncalls);
    +void myfunc2(size_t ncalls);
    +void myfunc1(size_t origcalls, volatile size_t ncalls);
    +void myfunc(size_t ncalls);
    +
     volatile int prevent_inline;
     
    -static void
    +void
     myfunc3(size_t ncalls)
     {
     	static const char *top[] = { "myfunc", "atfu_backtrace_fmt_basic_body",
    @@ -90,7 +95,7 @@ myfunc3(size_t ncalls)
     		vfork();
     }
     
    -static void
    +void
     myfunc2(size_t ncalls)
     {
     	myfunc3(ncalls);
    @@ -99,7 +104,7 @@ myfunc2(size_t ncalls)
     		vfork();
     }
     
    -static void
    +void
     myfunc1(size_t origcalls, volatile size_t ncalls)
     {
     	if (ncalls > 1)
    @@ -111,7 +116,7 @@ myfunc1(size_t origcalls, volatile size_t ncalls)
     		vfork();
     }
     
    -static void
    +void
     myfunc(size_t ncalls)
     {
     	myfunc1(ncalls, ncalls);
    @@ -128,13 +133,10 @@ ATF_TC_HEAD(backtrace_fmt_basic, tc)
     
     ATF_TC_BODY(backtrace_fmt_basic, tc)
     {
    -	const char *arch = atf_config_get("atf_arch");
    -
    -        if (strcmp(arch, "x86_64") != 0)
    -        	atf_tc_skip("PR toolchain/46490: libexecinfo only"
    -		    " works on amd64 currently");
    -
     	myfunc(12);
    +
    +	if (prevent_inline)
    +		vfork();
     }
     
     ATF_TP_ADD_TCS(tp)
    diff --git a/tests/lib/libm/Makefile b/tests/lib/libm/Makefile
    index f7c43093b..bc475ea28 100644
    --- a/tests/lib/libm/Makefile
    +++ b/tests/lib/libm/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.18 2012/04/13 12:31:19 njoly Exp $
    +# $NetBSD: Makefile,v 1.20 2013/11/12 16:48:39 joerg Exp $
     
     .include 
     
    @@ -13,14 +13,14 @@ TESTS_C+=	t_cos
     TESTS_C+=	t_cosh
     TESTS_C+=	t_erf
     TESTS_C+=	t_exp
    +TESTS_C+=	t_fmod
     TESTS_C+=	t_infinity
     TESTS_C+=	t_ldexp
     TESTS_C+=	t_log
     TESTS_C+=	t_pow
    +TESTS_C+=	t_precision
     TESTS_C+=	t_round
    -.if !defined(__MINIX)
     TESTS_C+=	t_scalbn
    -.endif # !defined(__MINIX)
     TESTS_C+=	t_sin
     TESTS_C+=	t_sinh
     TESTS_C+=	t_sqrt
    diff --git a/tests/lib/libm/t_cbrt.c b/tests/lib/libm/t_cbrt.c
    index 5172c90bd..cce1b3f94 100644
    --- a/tests/lib/libm/t_cbrt.c
    +++ b/tests/lib/libm/t_cbrt.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_cbrt.c,v 1.1 2011/10/16 08:25:40 jruoho Exp $ */
    +/* $NetBSD: t_cbrt.c,v 1.2 2013/11/19 19:24:33 joerg Exp $ */
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: t_cbrt.c,v 1.1 2011/10/16 08:25:40 jruoho Exp $");
    +__RCSID("$NetBSD: t_cbrt.c,v 1.2 2013/11/19 19:24:33 joerg Exp $");
     
     #include 
     #include 
    @@ -261,6 +261,119 @@ ATF_TC_BODY(cbrtf_zero_pos, tc)
     #endif
     }
     
    +/*
    + * cbrtl(3)
    + */
    +ATF_TC(cbrtl_nan);
    +ATF_TC_HEAD(cbrtl_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test cbrtl(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(cbrtl_nan, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(x) != 0);
    +	ATF_CHECK(isnan(cbrtl(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(cbrtl_powl);
    +ATF_TC_HEAD(cbrtl_powl, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test cbrtl(3) vs. powl(3)");
    +}
    +
    +ATF_TC_BODY(cbrtl_powl, tc)
    +{
    +#ifndef __vax__
    +	const long double x[] = { 0.0, 0.005, 1.0, 99.0, 123.123, 9999.0 };
    +	const long double eps = 1.0e-15;
    +	long double y, z;
    +	size_t i;
    +
    +	for (i = 0; i < __arraycount(x); i++) {
    +
    +		y = cbrtl(x[i]);
    +		z = powl(x[i], 1.0 / 3.0);
    +
    +		if (fabsl(y - z) > eps * fabsl(1 + x[i]))
    +			atf_tc_fail_nonfatal("cbrtl(%0.03Lf) != "
    +			    "powl(%0.03Lf, 1/3)\n", x[i], x[i]);
    +	}
    +#endif
    +}
    +
    +ATF_TC(cbrtl_inf_neg);
    +ATF_TC_HEAD(cbrtl_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test cbrtl(-Inf) == -Inf");
    +}
    +
    +ATF_TC_BODY(cbrtl_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -1.0L / 0.0L;
    +	long double y = cbrtl(x);
    +
    +	ATF_CHECK(isinf(y) != 0);
    +	ATF_CHECK(signbit(y) != 0);
    +#endif
    +}
    +
    +ATF_TC(cbrtl_inf_pos);
    +ATF_TC_HEAD(cbrtl_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test cbrtl(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(cbrtl_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 1.0L / 0.0L;
    +	long double y = cbrtl(x);
    +
    +	ATF_CHECK(isinf(y) != 0);
    +	ATF_CHECK(signbit(y) == 0);
    +#endif
    +}
    +
    +ATF_TC(cbrtl_zero_neg);
    +ATF_TC_HEAD(cbrtl_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test cbrtl(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(cbrtl_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -0.0L;
    +	long double y = cbrtl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("cbrtl(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(cbrtl_zero_pos);
    +ATF_TC_HEAD(cbrtl_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test cbrtl(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(cbrtl_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L;
    +	long double y = cbrtl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("cbrtl(+0.0) != +0.0");
    +#endif
    +}
    +
     ATF_TP_ADD_TCS(tp)
     {
     
    @@ -278,5 +391,12 @@ ATF_TP_ADD_TCS(tp)
     	ATF_TP_ADD_TC(tp, cbrtf_zero_neg);
     	ATF_TP_ADD_TC(tp, cbrtf_zero_pos);
     
    +	ATF_TP_ADD_TC(tp, cbrtl_nan);
    +	ATF_TP_ADD_TC(tp, cbrtl_powl);
    +	ATF_TP_ADD_TC(tp, cbrtl_inf_neg);
    +	ATF_TP_ADD_TC(tp, cbrtl_inf_pos);
    +	ATF_TP_ADD_TC(tp, cbrtl_zero_neg);
    +	ATF_TP_ADD_TC(tp, cbrtl_zero_pos);
    +
     	return atf_no_error();
     }
    diff --git a/tests/lib/libm/t_ceil.c b/tests/lib/libm/t_ceil.c
    index e9348c84c..cefc6c6b1 100644
    --- a/tests/lib/libm/t_ceil.c
    +++ b/tests/lib/libm/t_ceil.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_ceil.c,v 1.7 2011/09/17 12:12:19 jruoho Exp $ */
    +/* $NetBSD: t_ceil.c,v 1.9 2013/11/13 12:58:11 joerg Exp $ */
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: t_ceil.c,v 1.7 2011/09/17 12:12:19 jruoho Exp $");
    +__RCSID("$NetBSD: t_ceil.c,v 1.9 2013/11/13 12:58:11 joerg Exp $");
     
     #include 
     #include 
    @@ -244,6 +244,107 @@ ATF_TC_BODY(ceilf_zero_pos, tc)
     #endif
     }
     
    +/*
    + * ceill(3)
    + */
    +ATF_TC(ceill_basic);
    +ATF_TC_HEAD(ceill_basic, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "A basic test of ceill(3)");
    +}
    +
    +ATF_TC_BODY(ceill_basic, tc)
    +{
    +	const long double x = 0.9999999;
    +	const long double y = 0.0000001;
    +
    +	ATF_CHECK(fabsl(ceill(x) - 1) < SMALL_NUM);
    +	ATF_CHECK(fabsl(ceill(y) - 1) < SMALL_NUM);
    +}
    +
    +ATF_TC(ceill_nan);
    +ATF_TC_HEAD(ceill_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test ceill(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(ceill_nan, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(ceill(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(ceill_inf_neg);
    +ATF_TC_HEAD(ceill_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test ceill(-Inf) == -Inf");
    +}
    +
    +ATF_TC_BODY(ceill_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -1.0L / 0.0L;
    +	long double y = ceill(x);
    +
    +	if (isinf(y) == 0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("ceill(-Inf) != -Inf");
    +#endif
    +}
    +
    +ATF_TC(ceill_inf_pos);
    +ATF_TC_HEAD(ceill_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test ceill(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(ceill_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 1.0L / 0.0L;
    +	long double y = ceill(x);
    +
    +	if (isinf(y) == 0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("ceill(+Inf) != +Inf");
    +#endif
    +}
    +
    +ATF_TC(ceill_zero_neg);
    +ATF_TC_HEAD(ceill_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test ceill(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(ceill_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -0.0L;
    +	long double y = ceill(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("ceill(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(ceill_zero_pos);
    +ATF_TC_HEAD(ceill_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test ceill(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(ceill_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L;
    +	long double y = ceill(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("ceill(+0.0) != +0.0");
    +#endif
    +}
    +
     /*
      * floor(3)
      */
    @@ -446,6 +547,410 @@ ATF_TC_BODY(floorf_zero_pos, tc)
     #endif
     }
     
    +/*
    + * floorl(3)
    + */
    +ATF_TC(floorl_basic);
    +ATF_TC_HEAD(floorl_basic, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "A basic test of floorl(3)");
    +}
    +
    +ATF_TC_BODY(floorl_basic, tc)
    +{
    +	const long double x = 0.9999999;
    +	const long double y = 0.0000001;
    +
    +	ATF_CHECK(floorl(x) < SMALL_NUM);
    +	ATF_CHECK(floorl(y) < SMALL_NUM);
    +}
    +
    +ATF_TC(floorl_nan);
    +ATF_TC_HEAD(floorl_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test floorl(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(floorl_nan, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(floorl(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(floorl_inf_neg);
    +ATF_TC_HEAD(floorl_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test floorl(-Inf) == -Inf");
    +}
    +
    +ATF_TC_BODY(floorl_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -1.0L / 0.0L;
    +	long double y = floorl(x);
    +
    +	if (isinf(y) == 0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("floorl(-Inf) != -Inf");
    +#endif
    +}
    +
    +ATF_TC(floorl_inf_pos);
    +ATF_TC_HEAD(floorl_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test floorl(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(floorl_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 1.0L / 0.0L;
    +	long double y = floorl(x);
    +
    +	if (isinf(y) == 0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("floorl(+Inf) != +Inf");
    +#endif
    +}
    +
    +ATF_TC(floorl_zero_neg);
    +ATF_TC_HEAD(floorl_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test floorl(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(floorl_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -0.0L;
    +	long double y = floorl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("floorl(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(floorl_zero_pos);
    +ATF_TC_HEAD(floorl_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test floorl(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(floorl_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L;
    +	long double y = floorl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("floorl(+0.0) != +0.0");
    +#endif
    +}
    +
    +/*
    + * trunc(3)
    + */
    +ATF_TC(trunc_basic);
    +ATF_TC_HEAD(trunc_basic, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "A basic test of trunc(3)");
    +}
    +
    +ATF_TC_BODY(trunc_basic, tc)
    +{
    +	const double x = 0.999999999999999;
    +	const double y = 0.000000000000001;
    +
    +	ATF_CHECK(trunc(x) < SMALL_NUM);
    +	ATF_CHECK(trunc(y) < SMALL_NUM);
    +}
    +
    +ATF_TC(trunc_nan);
    +ATF_TC_HEAD(trunc_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test trunc(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(trunc_nan, tc)
    +{
    +#ifndef __vax__
    +	const double x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(trunc(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(trunc_inf_neg);
    +ATF_TC_HEAD(trunc_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test trunc(-Inf) == -Inf");
    +}
    +
    +ATF_TC_BODY(trunc_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const double x = -1.0L / 0.0L;
    +	double y = trunc(x);
    +
    +	if (isinf(y) == 0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("trunc(-Inf) != -Inf");
    +#endif
    +}
    +
    +ATF_TC(trunc_inf_pos);
    +ATF_TC_HEAD(trunc_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test trunc(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(trunc_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const double x = 1.0L / 0.0L;
    +	double y = trunc(x);
    +
    +	if (isinf(y) == 0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("trunc(+Inf) != +Inf");
    +#endif
    +}
    +
    +ATF_TC(trunc_zero_neg);
    +ATF_TC_HEAD(trunc_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test trunc(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(trunc_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const double x = -0.0L;
    +	double y = trunc(x);
    +
    +	if (fabs(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("trunc(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(trunc_zero_pos);
    +ATF_TC_HEAD(trunc_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test trunc(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(trunc_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const double x = 0.0L;
    +	double y = trunc(x);
    +
    +	if (fabs(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("trunc(+0.0) != +0.0");
    +#endif
    +}
    +
    +/*
    + * truncf(3)
    + */
    +ATF_TC(truncf_basic);
    +ATF_TC_HEAD(truncf_basic, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "A basic test of truncf(3)");
    +}
    +
    +ATF_TC_BODY(truncf_basic, tc)
    +{
    +	const float x = 0.9999999;
    +	const float y = 0.0000001;
    +
    +	ATF_CHECK(truncf(x) < SMALL_NUM);
    +	ATF_CHECK(truncf(y) < SMALL_NUM);
    +}
    +
    +ATF_TC(truncf_nan);
    +ATF_TC_HEAD(truncf_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncf(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(truncf_nan, tc)
    +{
    +#ifndef __vax__
    +	const float x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(truncf(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(truncf_inf_neg);
    +ATF_TC_HEAD(truncf_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncf(-Inf) == -Inf");
    +}
    +
    +ATF_TC_BODY(truncf_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const float x = -1.0L / 0.0L;
    +	float y = truncf(x);
    +
    +	if (isinf(y) == 0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("truncf(-Inf) != -Inf");
    +#endif
    +}
    +
    +ATF_TC(truncf_inf_pos);
    +ATF_TC_HEAD(truncf_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncf(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(truncf_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const float x = 1.0L / 0.0L;
    +	float y = truncf(x);
    +
    +	if (isinf(y) == 0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("truncf(+Inf) != +Inf");
    +#endif
    +}
    +
    +ATF_TC(truncf_zero_neg);
    +ATF_TC_HEAD(truncf_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncf(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(truncf_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const float x = -0.0L;
    +	float y = truncf(x);
    +
    +	if (fabsf(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("truncf(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(truncf_zero_pos);
    +ATF_TC_HEAD(truncf_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncf(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(truncf_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const float x = 0.0L;
    +	float y = truncf(x);
    +
    +	if (fabsf(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("truncf(+0.0) != +0.0");
    +#endif
    +}
    +
    +/*
    + * truncl(3)
    + */
    +ATF_TC(truncl_basic);
    +ATF_TC_HEAD(truncl_basic, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "A basic test of truncl(3)");
    +}
    +
    +ATF_TC_BODY(truncl_basic, tc)
    +{
    +	const long double x = 0.9999999;
    +	const long double y = 0.0000001;
    +
    +	ATF_CHECK(truncl(x) < SMALL_NUM);
    +	ATF_CHECK(truncl(y) < SMALL_NUM);
    +}
    +
    +ATF_TC(truncl_nan);
    +ATF_TC_HEAD(truncl_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncl(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(truncl_nan, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(truncl(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(truncl_inf_neg);
    +ATF_TC_HEAD(truncl_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncl(-Inf) == -Inf");
    +}
    +
    +ATF_TC_BODY(truncl_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -1.0L / 0.0L;
    +	long double y = truncl(x);
    +
    +	if (isinf(y) == 0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("truncl(-Inf) != -Inf");
    +#endif
    +}
    +
    +ATF_TC(truncl_inf_pos);
    +ATF_TC_HEAD(truncl_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncl(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(truncl_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 1.0L / 0.0L;
    +	long double y = truncl(x);
    +
    +	if (isinf(y) == 0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("truncl(+Inf) != +Inf");
    +#endif
    +}
    +
    +ATF_TC(truncl_zero_neg);
    +ATF_TC_HEAD(truncl_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncl(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(truncl_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -0.0L;
    +	long double y = truncl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("truncl(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(truncl_zero_pos);
    +ATF_TC_HEAD(truncl_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test truncl(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(truncl_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L;
    +	long double y = truncl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("truncl(+0.0) != +0.0");
    +#endif
    +}
    +
     ATF_TP_ADD_TCS(tp)
     {
     
    @@ -463,6 +968,13 @@ ATF_TP_ADD_TCS(tp)
     	ATF_TP_ADD_TC(tp, ceilf_zero_neg);
     	ATF_TP_ADD_TC(tp, ceilf_zero_pos);
     
    +	ATF_TP_ADD_TC(tp, ceill_basic);
    +	ATF_TP_ADD_TC(tp, ceill_nan);
    +	ATF_TP_ADD_TC(tp, ceill_inf_neg);
    +	ATF_TP_ADD_TC(tp, ceill_inf_pos);
    +	ATF_TP_ADD_TC(tp, ceill_zero_neg);
    +	ATF_TP_ADD_TC(tp, ceill_zero_pos);
    +
     	ATF_TP_ADD_TC(tp, floor_basic);
     	ATF_TP_ADD_TC(tp, floor_nan);
     	ATF_TP_ADD_TC(tp, floor_inf_neg);
    @@ -477,5 +989,33 @@ ATF_TP_ADD_TCS(tp)
     	ATF_TP_ADD_TC(tp, floorf_zero_neg);
     	ATF_TP_ADD_TC(tp, floorf_zero_pos);
     
    +	ATF_TP_ADD_TC(tp, floorl_basic);
    +	ATF_TP_ADD_TC(tp, floorl_nan);
    +	ATF_TP_ADD_TC(tp, floorl_inf_neg);
    +	ATF_TP_ADD_TC(tp, floorl_inf_pos);
    +	ATF_TP_ADD_TC(tp, floorl_zero_neg);
    +	ATF_TP_ADD_TC(tp, floorl_zero_pos);
    +
    +	ATF_TP_ADD_TC(tp, trunc_basic);
    +	ATF_TP_ADD_TC(tp, trunc_nan);
    +	ATF_TP_ADD_TC(tp, trunc_inf_neg);
    +	ATF_TP_ADD_TC(tp, trunc_inf_pos);
    +	ATF_TP_ADD_TC(tp, trunc_zero_neg);
    +	ATF_TP_ADD_TC(tp, trunc_zero_pos);
    +
    +	ATF_TP_ADD_TC(tp, truncf_basic);
    +	ATF_TP_ADD_TC(tp, truncf_nan);
    +	ATF_TP_ADD_TC(tp, truncf_inf_neg);
    +	ATF_TP_ADD_TC(tp, truncf_inf_pos);
    +	ATF_TP_ADD_TC(tp, truncf_zero_neg);
    +	ATF_TP_ADD_TC(tp, truncf_zero_pos);
    +
    +	ATF_TP_ADD_TC(tp, truncl_basic);
    +	ATF_TP_ADD_TC(tp, truncl_nan);
    +	ATF_TP_ADD_TC(tp, truncl_inf_neg);
    +	ATF_TP_ADD_TC(tp, truncl_inf_pos);
    +	ATF_TP_ADD_TC(tp, truncl_zero_neg);
    +	ATF_TP_ADD_TC(tp, truncl_zero_pos);
    +
     	return atf_no_error();
     }
    diff --git a/tests/lib/libm/t_fmod.c b/tests/lib/libm/t_fmod.c
    new file mode 100644
    index 000000000..008185a18
    --- /dev/null
    +++ b/tests/lib/libm/t_fmod.c
    @@ -0,0 +1,63 @@
    +/* $NetBSD: t_fmod.c,v 1.1 2013/11/12 16:48:39 joerg Exp $ */
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Joerg Sonnenberger.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +#include 
    +#include 
    +
    +ATF_TC(fmod);
    +ATF_TC_HEAD(fmod, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr","Check fmod family");
    +}
    +
    +ATF_TC_BODY(fmod, tc)
    +{
    +	ATF_CHECK(fmodf(2.0, 1.0) == 0);
    +	ATF_CHECK(fmod(2.0, 1.0) == 0);
    +	ATF_CHECK(fmodl(2.0, 1.0) == 0);
    +
    +	ATF_CHECK(fmodf(2.0, 0.5) == 0);
    +	ATF_CHECK(fmod(2.0, 0.5) == 0);
    +	ATF_CHECK(fmodl(2.0, 0.5) == 0);
    +
    +	ATF_CHECK(fabsf(fmodf(1.0, 0.1) - 0.1) <= 55 * FLT_EPSILON);
    +	ATF_CHECK(fabs(fmod(1.0, 0.1) - 0.1) <= 55 * DBL_EPSILON);
    +	ATF_CHECK(fabsl(fmodl(1.0, 0.1L) - 0.1L) <= 55 * LDBL_EPSILON);
    +}
    +
    +ATF_TP_ADD_TCS(tp)
    +{
    +
    +	ATF_TP_ADD_TC(tp, fmod);
    +
    +	return atf_no_error();
    +}
    diff --git a/tests/lib/libm/t_precision.c b/tests/lib/libm/t_precision.c
    new file mode 100644
    index 000000000..390be9dd1
    --- /dev/null
    +++ b/tests/lib/libm/t_precision.c
    @@ -0,0 +1,76 @@
    +/* $NetBSD: t_precision.c,v 1.1 2013/11/11 11:10:45 joerg Exp $ */
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Joerg Sonnenberger.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +__RCSID("$NetBSD: t_precision.c,v 1.1 2013/11/11 11:10:45 joerg Exp $");
    +
    +#include 
    +#include 
    +
    +#include 
    +#include 
    +
    +ATF_TC(t_precision);
    +
    +ATF_TC_HEAD(t_precision, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr",
    +	    "Basic precision test for double and long double");
    +}
    +
    +volatile double x = 1;
    +volatile long double y = 1;
    +
    +ATF_TC_BODY(t_precision, tc)
    +{
    +	x += DBL_EPSILON;
    +	ATF_CHECK(x != 1.0);
    +	x -= 1;
    +	ATF_CHECK(x == DBL_EPSILON);
    +
    +	x = 2;
    +	x += DBL_EPSILON;
    +	ATF_CHECK(x == 2.0);
    +
    +	y += LDBL_EPSILON;
    +	ATF_CHECK(y != 1.0L);
    +	y -= 1;
    +	ATF_CHECK(y == LDBL_EPSILON);
    +	y = 2;
    +	y += LDBL_EPSILON;
    +	ATF_CHECK(y == 2.0L);
    +}
    +
    +ATF_TP_ADD_TCS(tp)
    +{
    +	ATF_TP_ADD_TC(tp, t_precision);
    +
    +	return atf_no_error();
    +}
    diff --git a/tests/lib/libm/t_round.c b/tests/lib/libm/t_round.c
    index 942d152f6..f47e1a0f8 100644
    --- a/tests/lib/libm/t_round.c
    +++ b/tests/lib/libm/t_round.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_round.c,v 1.3 2011/09/13 08:58:41 jruoho Exp $ */
    +/* $NetBSD: t_round.c,v 1.4 2013/11/11 23:57:34 joerg Exp $ */
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -27,6 +27,7 @@
      */
     
     #include 
    +#include 
     #include 
     
     /*
    @@ -38,6 +39,7 @@
     /* 0.5 - EPSILON */
     #define VAL	0x0.7ffffffffffffcp0
     #define VALF	0x0.7fffff8p0
    +#define VALL	(0.5 - LDBL_EPSILON)
     
     #ifdef __vax__
     #define SMALL_NUM	1.0e-38
    @@ -55,18 +57,23 @@ ATF_TC_BODY(round_dir, tc)
     {
     	double a = VAL, b, c;
     	float af = VALF, bf, cf;
    +	long double al = VALL, bl, cl;
     
     	b = round(a);
     	bf = roundf(af);
    +	bl = roundl(al);
     
     	ATF_CHECK(fabs(b) < SMALL_NUM);
     	ATF_CHECK(fabsf(bf) < SMALL_NUM);
    +	ATF_CHECK(fabsl(bl) < SMALL_NUM);
     
     	c = round(-a);
     	cf = roundf(-af);
    +	cl = roundl(-al);
     
     	ATF_CHECK(fabs(c) < SMALL_NUM);
     	ATF_CHECK(fabsf(cf) < SMALL_NUM);
    +	ATF_CHECK(fabsl(cl) < SMALL_NUM);
     }
     
     ATF_TP_ADD_TCS(tp)
    diff --git a/tests/lib/libm/t_sqrt.c b/tests/lib/libm/t_sqrt.c
    index 1d2f4d0b4..4a5e8a080 100644
    --- a/tests/lib/libm/t_sqrt.c
    +++ b/tests/lib/libm/t_sqrt.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_sqrt.c,v 1.3 2012/02/13 05:09:01 jruoho Exp $ */
    +/* $NetBSD: t_sqrt.c,v 1.5 2013/11/22 17:19:14 martin Exp $ */
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -29,10 +29,11 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: t_sqrt.c,v 1.3 2012/02/13 05:09:01 jruoho Exp $");
    +__RCSID("$NetBSD: t_sqrt.c,v 1.5 2013/11/22 17:19:14 martin Exp $");
     
     #include 
     #include 
    +#include 
     #include 
     
     /*
    @@ -259,6 +260,118 @@ ATF_TC_BODY(sqrtf_zero_pos, tc)
     #endif
     }
     
    +/*
    + * sqrtl(3)
    + */
    +ATF_TC(sqrtl_nan);
    +ATF_TC_HEAD(sqrtl_nan, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test sqrtl(NaN) == NaN");
    +}
    +
    +ATF_TC_BODY(sqrtl_nan, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L / 0.0L;
    +
    +	ATF_CHECK(isnan(x) != 0);
    +	ATF_CHECK(isnan(sqrtl(x)) != 0);
    +#endif
    +}
    +
    +ATF_TC(sqrtl_powl);
    +ATF_TC_HEAD(sqrtl_powl, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test sqrtl(3) vs. powl(3)");
    +}
    +
    +ATF_TC_BODY(sqrtl_powl, tc)
    +{
    +#ifndef __vax__
    +	const long double x[] = { 0.0, 0.005, 1.0, 99.0, 123.123, 9999.9999 };
    +	const long double eps = 5.0*DBL_EPSILON; /* XXX powl == pow for now */
    +	volatile long double y, z;
    +	size_t i;
    +
    +	for (i = 0; i < __arraycount(x); i++) {
    +
    +		y = sqrtl(x[i]);
    +		z = powl(x[i], 1.0 / 2.0);
    +
    +		if (fabsl(y - z) > eps)
    +			atf_tc_fail_nonfatal("sqrtl(%0.03Lf) != "
    +			    "powl(%0.03Lf, 1/2)\n", x[i], x[i]);
    +	}
    +#endif
    +}
    +
    +ATF_TC(sqrtl_inf_neg);
    +ATF_TC_HEAD(sqrtl_inf_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test sqrtl(-Inf) == NaN");
    +}
    +
    +ATF_TC_BODY(sqrtl_inf_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -1.0L / 0.0L;
    +	long double y = sqrtl(x);
    +
    +	ATF_CHECK(isnan(y) != 0);
    +#endif
    +}
    +
    +ATF_TC(sqrtl_inf_pos);
    +ATF_TC_HEAD(sqrtl_inf_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test sqrtl(+Inf) == +Inf");
    +}
    +
    +ATF_TC_BODY(sqrtl_inf_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 1.0L / 0.0L;
    +	long double y = sqrtl(x);
    +
    +	ATF_CHECK(isinf(y) != 0);
    +	ATF_CHECK(signbit(y) == 0);
    +#endif
    +}
    +
    +ATF_TC(sqrtl_zero_neg);
    +ATF_TC_HEAD(sqrtl_zero_neg, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test sqrtl(-0.0) == -0.0");
    +}
    +
    +ATF_TC_BODY(sqrtl_zero_neg, tc)
    +{
    +#ifndef __vax__
    +	const long double x = -0.0L;
    +	long double y = sqrtl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) == 0)
    +		atf_tc_fail_nonfatal("sqrtl(-0.0) != -0.0");
    +#endif
    +}
    +
    +ATF_TC(sqrtl_zero_pos);
    +ATF_TC_HEAD(sqrtl_zero_pos, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Test sqrtl(+0.0) == +0.0");
    +}
    +
    +ATF_TC_BODY(sqrtl_zero_pos, tc)
    +{
    +#ifndef __vax__
    +	const long double x = 0.0L;
    +	long double y = sqrtl(x);
    +
    +	if (fabsl(y) > 0.0 || signbit(y) != 0)
    +		atf_tc_fail_nonfatal("sqrtl(+0.0) != +0.0");
    +#endif
    +}
    +
     ATF_TP_ADD_TCS(tp)
     {
     
    @@ -276,5 +389,12 @@ ATF_TP_ADD_TCS(tp)
     	ATF_TP_ADD_TC(tp, sqrtf_zero_neg);
     	ATF_TP_ADD_TC(tp, sqrtf_zero_pos);
     
    +	ATF_TP_ADD_TC(tp, sqrtl_nan);
    +	ATF_TP_ADD_TC(tp, sqrtl_powl);
    +	ATF_TP_ADD_TC(tp, sqrtl_inf_neg);
    +	ATF_TP_ADD_TC(tp, sqrtl_inf_pos);
    +	ATF_TP_ADD_TC(tp, sqrtl_zero_neg);
    +	ATF_TP_ADD_TC(tp, sqrtl_zero_pos);
    +
     	return atf_no_error();
     }
    diff --git a/tests/lib/libobjc/t_threads.m b/tests/lib/libobjc/t_threads.m
    index 2b5417270..a6bd72027 100644
    --- a/tests/lib/libobjc/t_threads.m
    +++ b/tests/lib/libobjc/t_threads.m
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_threads.m,v 1.1 2010/07/18 12:41:51 jmmv Exp $ */
    +/* $NetBSD: t_threads.m,v 1.2 2013/10/31 21:02:11 christos Exp $ */
     
     /*
      * Copyright (c) 2010 The NetBSD Foundation, Inc.
    @@ -35,8 +35,11 @@
     #include 
     
     #include 
    -#include 
    +#include 
     #include 
    +#if __GNUC_PREREQ__(4,8)
    +#include 
    +#endif
     
     static int IsMultithreaded = 0;
     static objc_mutex_t Mutex;
    @@ -46,6 +49,12 @@ static objc_condition_t Condition;
     {
     }
     -(void)start;
    +#if __GNUC_PREREQ__(4,8)
    +-init;
    ++new;
    ++alloc;
    +-free;
    +#endif
     @end
     
     @implementation MyClass
    @@ -55,6 +64,27 @@ static objc_condition_t Condition;
     
     	objc_condition_signal(Condition);
     }
    +#if __GNUC_PREREQ__(4,8)
    +-init
    +{
    +	return self;
    +}
    +
    ++new
    +{
    +	return [[self alloc] init];
    +}
    +
    ++alloc
    +{
    +	return class_createInstance(self, 0);
    +}
    +
    +-free
    +{
    +	return object_dispose(self);
    +}
    +#endif
     @end
     
     static void
    diff --git a/tests/lib/libppath/Makefile b/tests/lib/libppath/Makefile
    index 6d5f9d363..efc3a332e 100644
    --- a/tests/lib/libppath/Makefile
    +++ b/tests/lib/libppath/Makefile
    @@ -1,4 +1,4 @@
    -# $Id: Makefile,v 1.4 2012/03/17 12:42:31 nakayama Exp $
    +# $Id: Makefile,v 1.5 2013/10/19 17:28:38 christos Exp $
     
     .include 
     
    @@ -18,6 +18,7 @@ CPPFLAGS+=-I$(.OBJDIR)
     .plist.c:
     	AWK=${TOOL_AWK:Q} ${HOST_SH} ${.CURDIR}/plist_to_c ${.TARGET:S,.c$,,} < ${.IMPSRC} > ${.TARGET}
     
    +t_ppath.o: personnel.h
     CLEANFILES+=personnel.c personnel.h
     
     #LDADD+=-L$(LIBPPATH)
    diff --git a/tests/lib/libpthread/t_cond.c b/tests/lib/libpthread/t_cond.c
    index 1036c0d63..97836e813 100644
    --- a/tests/lib/libpthread/t_cond.c
    +++ b/tests/lib/libpthread/t_cond.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_cond.c,v 1.4 2013/03/17 05:13:13 jmmv Exp $ */
    +/* $NetBSD: t_cond.c,v 1.5 2013/10/19 17:45:01 christos Exp $ */
     
     /*
      * Copyright (c) 2008 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
     #include 
     __COPYRIGHT("@(#) Copyright (c) 2008\
      The NetBSD Foundation, inc. All rights reserved.");
    -__RCSID("$NetBSD: t_cond.c,v 1.4 2013/03/17 05:13:13 jmmv Exp $");
    +__RCSID("$NetBSD: t_cond.c,v 1.5 2013/10/19 17:45:01 christos Exp $");
     
     #include 
     
    @@ -74,7 +74,6 @@ ATF_TC_HEAD(signal_delay_wait, tc)
     }
     ATF_TC_BODY(signal_delay_wait, tc)
     {
    -	int x;
     	pthread_t new;
     	void *joinval;
     	int sharedval;
    @@ -84,7 +83,6 @@ ATF_TC_BODY(signal_delay_wait, tc)
     	PTHREAD_REQUIRE(pthread_mutex_init(&mutex, NULL));
     	PTHREAD_REQUIRE(pthread_cond_init(&cond, NULL));
     
    -	x = 20;
     	PTHREAD_REQUIRE(pthread_mutex_lock(&mutex));
     
     	sharedval = 1;
    @@ -137,7 +135,6 @@ ATF_TC_HEAD(signal_before_unlock, tc)
     }
     ATF_TC_BODY(signal_before_unlock, tc)
     {
    -	int x;
     	pthread_t new;
     	void *joinval;
     	int sharedval;
    @@ -147,7 +144,6 @@ ATF_TC_BODY(signal_before_unlock, tc)
     	PTHREAD_REQUIRE(pthread_mutex_init(&mutex, NULL));
     	PTHREAD_REQUIRE(pthread_cond_init(&cond, NULL));
     
    -	x = 20;
     	PTHREAD_REQUIRE(pthread_mutex_lock(&mutex));
     
     	sharedval = 1;
    @@ -201,14 +197,12 @@ ATF_TC_HEAD(signal_before_unlock_static_init, tc)
     }
     ATF_TC_BODY(signal_before_unlock_static_init, tc)
     {
    -	int x;
     	pthread_t new;
     	void *joinval;
     	int sharedval;
     
     	printf("1: condition variable test 3\n");
     
    -	x = 20;
     	PTHREAD_REQUIRE(pthread_mutex_lock(&static_mutex));
     
     	sharedval = 1;
    diff --git a/tests/lib/libpthread/t_sigmask.c b/tests/lib/libpthread/t_sigmask.c
    index e29152cca..69e057752 100644
    --- a/tests/lib/libpthread/t_sigmask.c
    +++ b/tests/lib/libpthread/t_sigmask.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_sigmask.c,v 1.2 2010/11/03 16:10:22 christos Exp $ */
    +/* $NetBSD: t_sigmask.c,v 1.3 2013/10/19 17:45:01 christos Exp $ */
     
     /*
      * Copyright (c) 2008, 2010 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
     #include 
     __COPYRIGHT("@(#) Copyright (c) 2008, 2010\
      The NetBSD Foundation, inc. All rights reserved.");
    -__RCSID("$NetBSD: t_sigmask.c,v 1.2 2010/11/03 16:10:22 christos Exp $");
    +__RCSID("$NetBSD: t_sigmask.c,v 1.3 2013/10/19 17:45:01 christos Exp $");
     
     /*
      * Regression test for pthread_sigmask when SA upcalls aren't started yet.
    @@ -107,7 +107,6 @@ ATF_TC_HEAD(before_threads, tc)
     ATF_TC_BODY(before_threads, tc)
     {
     	struct sigaction act;
    -	int ret;
     
     	act.sa_sigaction = upcalls_not_started_handler1;
     	sigemptyset(&act.sa_mask);
    @@ -119,7 +118,7 @@ ATF_TC_BODY(before_threads, tc)
     	act.sa_sigaction = upcalls_not_started_handler2;
     	sigemptyset(&act.sa_mask);
     	act.sa_flags = SA_SIGINFO;
    -	ret = sigaction(SIGUSR2, &act, NULL);
    +	(void)sigaction(SIGUSR2, &act, NULL);
     
     	kill(getpid(), SIGUSR1);
     
    @@ -179,7 +178,6 @@ ATF_TC_BODY(respected_while_running, tc)
     {
     	struct sigaction act;
     	pthread_t thread;
    -	int rv;
     
     	act.sa_sigaction = respected_while_running_handler1;
     	sigemptyset(&act.sa_mask);
    @@ -191,7 +189,7 @@ ATF_TC_BODY(respected_while_running, tc)
     	act.sa_sigaction = respected_while_running_handler2;
     	sigemptyset(&act.sa_mask);
     	act.sa_flags = SA_SIGINFO;
    -	rv = sigaction(SIGUSR2, &act, NULL);
    +	(void)sigaction(SIGUSR2, &act, NULL);
     
     	PTHREAD_REQUIRE(pthread_create(&thread, NULL,
     	    respected_while_running_threadroutine, NULL));
    diff --git a/tests/lib/libutil/t_snprintb.c b/tests/lib/libutil/t_snprintb.c
    index c19d51bae..6ccfca839 100644
    --- a/tests/lib/libutil/t_snprintb.c
    +++ b/tests/lib/libutil/t_snprintb.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: t_snprintb.c,v 1.1 2010/07/16 13:56:32 jmmv Exp $ */
    +/* $NetBSD: t_snprintb.c,v 1.3 2013/08/08 05:10:07 pgoyette Exp $ */
     
     /*
      * Copyright (c) 2002, 2004, 2008, 2010 The NetBSD Foundation, Inc.
    @@ -31,7 +31,7 @@
     #include 
     __COPYRIGHT("@(#) Copyright (c) 2008, 2010\
      The NetBSD Foundation, inc. All rights reserved.");
    -__RCSID("$NetBSD: t_snprintb.c,v 1.1 2010/07/16 13:56:32 jmmv Exp $");
    +__RCSID("$NetBSD: t_snprintb.c,v 1.3 2013/08/08 05:10:07 pgoyette Exp $");
     
     #include 
     #include 
    @@ -59,17 +59,58 @@ ATF_TC_HEAD(snprintb, tc)
     ATF_TC_BODY(snprintb, tc)
     {
     	h_snprintb("\10\2BITTWO\1BITONE", 3, "03");
    -
    +   
     	h_snprintb("\177\20b\05NOTBOOT\0b\06FPP\0b\013SDVMA\0b\015VIDEO\0"
     		"b\020LORES\0b\021FPA\0b\022DIAG\0b\016CACHE\0"
     		"b\017IOCACHE\0b\022LOOPBACK\0b\04DBGCACHE\0",
     		0xe860, "0xe860");
     }
     
    +static void
    +h_snprintb_m(const char *fmt, uint64_t val, int line_max, const char *res,
    +	     int res_len)
    +{
    +	char buf[1024];
    +	int len;
    +
    +	len = snprintb_m(buf, sizeof(buf), fmt, val, line_max);
    +
    +	ATF_REQUIRE_EQ(len, res_len);
    +	ATF_REQUIRE_EQ(0, memcmp(res, buf, res_len + 1));
    +}
    +
    +ATF_TC(snprintb_m);
    +ATF_TC_HEAD(snprintb_m, tc)
    +{
    +	atf_tc_set_md_var(tc, "descr", "Checks snprintb_m(3)");
    +}
    +ATF_TC_BODY(snprintb_m, tc)
    +{
    +	h_snprintb_m("\177\020b\0LSB\0b\1_BITONE\0f\4\4NIBBLE2\0"
    +			"f\x10\4BURST\0=\4FOUR\0=\xfSIXTEEN\0"
    +			"b\x1fMSB\0\0",
    +                     0x800f0701,
    +		     33,
    +		     "0x800f0701\0"
    +			"0x800f0701\0\0",
    +		     62);
    +
    +	h_snprintb_m("\177\020b\0LSB\0b\1_BITONE\0f\4\4NIBBLE2\0"
    +			"f\x10\4BURST\0=\4FOUR\0=\xfSIXTEEN\0"
    +			"b\x1fMSB\0\0",
    +                     0x800f0701,
    +		     32,
    +		     "0x800f0701\0"
    +			"0x800f0701\0"
    +			"0x800f0701\0\0",
    +		     74);
    +}
    +
     ATF_TP_ADD_TCS(tp)
     {
     
     	ATF_TP_ADD_TC(tp, snprintb);
    +	ATF_TP_ADD_TC(tp, snprintb_m);
     
     	return atf_no_error();
     }
    diff --git a/tests/net/Makefile b/tests/net/Makefile
    index e1c840e8e..a0c62b64a 100644
    --- a/tests/net/Makefile
    +++ b/tests/net/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.14 2013/07/03 14:01:29 nakayama Exp $
    +# $NetBSD: Makefile,v 1.15 2013/07/19 04:00:40 kefren Exp $
     
     .include 
     
    @@ -6,7 +6,7 @@ TESTSDIR=	${TESTSBASE}/net
     
     TESTS_SUBDIRS=		fdpass net route sys
     .if (${MKRUMP} != "no")
    -TESTS_SUBDIRS+=		bpf bpfilter carp icmp if if_loop npf
    +TESTS_SUBDIRS+=		bpf bpfilter carp icmp if if_loop mpls npf
     .endif
     
     .include 
    diff --git a/tests/net/mpls/Makefile b/tests/net/mpls/Makefile
    new file mode 100644
    index 000000000..51cac57e4
    --- /dev/null
    +++ b/tests/net/mpls/Makefile
    @@ -0,0 +1,10 @@
    +# $NetBSD: Makefile,v 1.4 2013/11/12 12:22:33 kefren Exp $
    +#
    +
    +.include 
    +
    +TESTSDIR=	${TESTSBASE}/net/mpls
    +
    +TESTS_SH=	t_mpls_fw t_rfc4182 t_ldp_regen
    +
    +.include 
    diff --git a/tests/net/mpls/t_ldp_regen.sh b/tests/net/mpls/t_ldp_regen.sh
    new file mode 100755
    index 000000000..e4bdebdc8
    --- /dev/null
    +++ b/tests/net/mpls/t_ldp_regen.sh
    @@ -0,0 +1,174 @@
    +# $NetBSD: t_ldp_regen.sh,v 1.2 2013/07/27 14:36:39 kefren Exp $
    +#
    +# Copyright (c) 2013 The NetBSD Foundation, 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:
    +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    +#
    +
    +# IP/MPLS & LDP label reallocation test
    +# Create 4 routers connected like this: R1--R2--R3--R4--
    +# The goal is to push packets from R1 to the R4 shmif1 (the right one) interface
    +# Enable MPLS forwarding on R2
    +# Disable IP forwarding and enable MPLS forwarding on R3
    +# Start ldpd and wait for adjancencies to come up
    +# Add an alias on shmif1 on R4 for which we already have a route on R3
    +# Now: * R4 should install label IMPLNULL for that prefix
    +#      * R3 should realloc the target label from IMPLNULL to something else
    +
    +
    +RUMP_SERVER1=unix://./r1
    +RUMP_SERVER2=unix://./r2
    +RUMP_SERVER3=unix://./r3
    +RUMP_SERVER4=unix://./r4
    +
    +RUMP_LIBS="-lrumpnet -lrumpnet_net -lrumpnet_netmpls -lrumpnet_netinet -lrumpnet_shmif"
    +LDP_FLAGS=""
    +
    +atf_test_case ldp_regen cleanup
    +ldp_regen_head() {
    +
    +	atf_set "descr" "IP/MPLS and LDP label regeneration test"
    +	atf_set "require.progs" "rump_server"
    +	atf_set "use.fs" "true"
    +}
    +
    +newaddr_and_ping() {
    +
    +	# Add new address on R4
    +	RUMP_SERVER=${RUMP_SERVER4} atf_check -s exit:0 \
    +		rump.ifconfig shmif1 10.0.5.1/24 alias
    +
    +	# Now ldpd on R5 should take notice of the new route and announce it
    +	# to R4's ldpd. ldpd on R4 should verify that the next hop
    +	# corresponds to its routing table and change its tag entry
    +	RUMP_SERVER=${RUMP_SERVER1} atf_check -s exit:0 -o ignore -e ignore \
    +		rump.ping -n -o -w 5 10.0.5.1
    +}
    +
    +create_servers() {
    +
    +	# allows us to run as normal user
    +	ulimit -r 400
    +
    +	atf_check -s exit:0 rump_server ${RUMP_LIBS} ${RUMP_SERVER1}
    +	atf_check -s exit:0 rump_server ${RUMP_LIBS} ${RUMP_SERVER2}
    +	atf_check -s exit:0 rump_server ${RUMP_LIBS} ${RUMP_SERVER3}
    +	atf_check -s exit:0 rump_server ${RUMP_LIBS} ${RUMP_SERVER4}
    +
    +	# LDP HIJACK
    +	export RUMPHIJACK=path=/rump,socket=all,sysctl=yes
    +	export LD_PRELOAD=/usr/lib/librumphijack.so
    +
    +	# Setup first server
    +	export RUMP_SERVER=${RUMP_SERVER1}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom1
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.1.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add 10.0.4.0/24 10.0.1.2
    +	atf_check -s exit:0 rump.route -q add 10.0.5.0/24 10.0.1.2
    +	atf_check -s exit:0 /usr/sbin/ldpd ${LDP_FLAGS}
    +
    +	# Setup second server
    +	export RUMP_SERVER=${RUMP_SERVER2}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom1
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.1.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom2
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.2.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.forwarding=1
    +	# This one should still do ip forwarding because it announces IMPLNULL
    +	# for the 10.0.1.0/24 subnet
    +	atf_check -s exit:0 rump.route -q add 10.0.4.0/24 10.0.2.2
    +	atf_check -s exit:0 rump.route -q add 10.0.5.0/24 10.0.2.2
    +	atf_check -s exit:0 /usr/sbin/ldpd ${LDP_FLAGS}
    +
    +	# Setup third server
    +	export RUMP_SERVER=${RUMP_SERVER3}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom2
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.2.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom3
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.3.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.forwarding=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add 10.0.1.0/24 10.0.2.1
    +	atf_check -s exit:0 rump.route -q add 10.0.4.0/24 10.0.3.2
    +	atf_check -s exit:0 rump.route -q add 10.0.5.0/24 10.0.3.2
    +	atf_check -s exit:0 /usr/sbin/ldpd ${LDP_FLAGS}
    +
    +	# Setup fourth server
    +	export RUMP_SERVER=${RUMP_SERVER4}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom3
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.3.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom4
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.4.1/24
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.route -q add 10.0.1.0/24 10.0.3.1
    +	atf_check -s exit:0 /usr/sbin/ldpd ${LDP_FLAGS}
    +
    +	unset RUMP_SERVER
    +	unset LD_PRELOAD
    +	unset RUMPHIJACK
    +}
    +
    +wait_ldp_ok() {
    +
    +	RUMP_SERVER=${RUMP_SERVER1} atf_check -s exit:0 -o ignore -e ignore \
    +		rump.ping -o -w 60 10.0.4.1
    +}
    +
    +docleanup() {
    +
    +	RUMP_SERVER=${RUMP_SERVER1} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER2} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER3} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER4} rump.halt
    +}
    +
    +ldp_regen_body() {
    +
    +	create_servers
    +	wait_ldp_ok
    +	newaddr_and_ping
    +}
    +
    +ldp_regen_cleanup() {
    +
    +	docleanup
    +}
    +
    +atf_init_test_cases() {
    +
    +	atf_add_test_case ldp_regen
    +}
    diff --git a/tests/net/mpls/t_mpls_fw.sh b/tests/net/mpls/t_mpls_fw.sh
    new file mode 100644
    index 000000000..31877a440
    --- /dev/null
    +++ b/tests/net/mpls/t_mpls_fw.sh
    @@ -0,0 +1,188 @@
    +# $NetBSD: t_mpls_fw.sh,v 1.3 2013/07/23 12:41:01 kefren Exp $
    +#
    +# Copyright (c) 2013 The NetBSD Foundation, 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:
    +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    +#
    +
    +# TEST MPLS encap/decap and forwarding using INET as encapsulated protocol
    +# Setup four routers connected like this: R1---R2---R3---R4--
    +# Goal is to be able to ping from R1 the outermost interface of R4
    +# Disable net.inet.ip.forwarding, enable net.mpls.forwarding
    +# Add route on R1 in order to encapsulate into MPLS the IP packets with
    +#     destination equal to R4 right hand side interface
    +# Add MPLS routes on R2 in order to forward frames belonging to that FEC to R3
    +# Add MPLS "POP" route on R3 for that FEC, pointing to R4
    +# Do the same for the reverse direction (R4 to R1)
    +# ping from R1 to R4 right hand side interface
    +
    +
    +RUMP_SERVER1=unix://./r1
    +RUMP_SERVER2=unix://./r2
    +RUMP_SERVER3=unix://./r3
    +RUMP_SERVER4=unix://./r4
    +
    +RUMP_FLAGS=\
    +"-lrumpnet -lrumpnet_net -lrumpnet_netmpls -lrumpnet_netinet -lrumpnet_shmif"
    +
    +atf_test_case mplsfw4 cleanup
    +mplsfw4_head()
    +{
    +
    +	atf_set "descr" "IP/MPLS forwarding test using PHP"
    +	atf_set "require.progs" "rump_server"
    +}
    +
    +startservers()
    +{
    +
    +	ulimit -r 300
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER1}
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER2}
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER3}
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER4}
    +}
    +
    +configservers()
    +{
    +
    +	# Setup the first server
    +	export RUMP_SERVER=${RUMP_SERVER1}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom1
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.1.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add 10.0.4.0/24 -ifa 10.0.1.1 \
    +	    -ifp mpls0 -tag 25 -inet 10.0.1.2
    +
    +	# Setup the second server
    +	export RUMP_SERVER=${RUMP_SERVER2}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom1
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.1.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom2
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.2.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.forwarding=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add -mpls 25 -tag 30 -inet 10.0.2.2
    +	atf_check -s exit:0 rump.route -q add -mpls 27 -tag ${1} -inet 10.0.1.1
    +
    +	# Setup the third server
    +	export RUMP_SERVER=${RUMP_SERVER3}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom2
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.2.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom3
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.3.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.forwarding=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add -mpls 30 -tag ${1} -inet 10.0.3.2
    +	atf_check -s exit:0 rump.route -q add -mpls 26 -tag 27 -inet 10.0.2.1
    +
    +	# Setup the fourth server
    +	export RUMP_SERVER=${RUMP_SERVER4}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom3
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.3.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom4
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.4.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add 10.0.1.0/24 -ifa 10.0.3.2 \
    +	    -ifp mpls0 -tag 26 -inet 10.0.3.1
    +
    +	unset RUMP_SERVER
    +}
    +
    +doping()
    +{
    +
    +	export RUMP_SERVER=${RUMP_SERVER1}
    +	atf_check -s exit:0 -o match:"64 bytes from 10.0.4.1: icmp_seq=" \
    +	    rump.ping -n -o -w 5 10.0.4.1
    +	unset RUMP_SERVER
    +}
    +
    +docleanup()
    +{
    +
    +	RUMP_SERVER=${RUMP_SERVER1} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER2} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER3} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER4} rump.halt
    +}
    +
    +mplsfw4_body()
    +{
    +
    +	startservers
    +	configservers 3
    +	doping
    +}
    +
    +mplsfw4_cleanup()
    +{
    +
    +	docleanup
    +}
    +
    +
    +atf_test_case mplsfw4_expl cleanup
    +mplsfw4_expl_head()
    +{
    +
    +	atf_set "descr" "IP/MPLS forwarding test using explicit NULL labels"
    +	atf_set "require.progs" "rump_server"
    +}
    +
    +mplsfw4_expl_body()
    +{
    +
    +	startservers
    +	configservers 0
    +	doping
    +}
    +
    +mplsfw4_expl_cleanup()
    +{
    +
    +	docleanup
    +}
    +
    +
    +atf_init_test_cases()
    +{ 
    +
    +	atf_add_test_case mplsfw4
    +	atf_add_test_case mplsfw4_expl
    +} 
    diff --git a/tests/net/mpls/t_rfc4182.sh b/tests/net/mpls/t_rfc4182.sh
    new file mode 100644
    index 000000000..8c2f1a6d1
    --- /dev/null
    +++ b/tests/net/mpls/t_rfc4182.sh
    @@ -0,0 +1,165 @@
    +# $NetBSD: t_rfc4182.sh,v 1.2 2013/07/23 12:41:01 kefren Exp $
    +#
    +# Copyright (c) 2013 The NetBSD Foundation, 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:
    +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    +#
    +
    +# TEST RFC 4182
    +# Setup four routers connected like this: R1---R2---R3---R4--
    +# Goal is to be able to ping from R1 the outermost interface of R4
    +# Disable net.inet.ip.forwarding, enable net.mpls.forwarding
    +# Add route on R1 in order to encapsulate into MPLS the IP packets with
    +#     destination equal to R4 right hand side interface. Use two labels here:
    +#     25 and IPv6 Explicit NULL
    +# Add a double tagged MPLS route on R2 in order to forward frames belonging to
    +#     that FEC to R3, with IPv4 NULL being the most outermost one
    +# Add MPLS "POP" route on R3 for that FEC, pointing to R4
    +# Do the same for the reverse direction (R4 to R1)
    +# ping from R1 to R4 right hand side interface
    +
    +
    +RUMP_SERVER1=unix://./r1
    +RUMP_SERVER2=unix://./r2
    +RUMP_SERVER3=unix://./r3
    +RUMP_SERVER4=unix://./r4
    +
    +RUMP_FLAGS=\
    +"-lrumpnet -lrumpnet_net -lrumpnet_netmpls -lrumpnet_netinet -lrumpnet_shmif"
    +
    +atf_test_case rfc4182 cleanup
    +rfc4182_head()
    +{
    +
    +	atf_set "descr" "RFC 4182 conformance test"
    +	atf_set "require.progs" "rump_server"
    +}
    +
    +startservers()
    +{
    +
    +	ulimit -r 300
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER1}
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER2}
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER3}
    +	atf_check -s exit:0 rump_server ${RUMP_FLAGS} ${RUMP_SERVER4}
    +}
    +
    +configservers()
    +{
    +
    +	# Setup the first server
    +	export RUMP_SERVER=${RUMP_SERVER1}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom1
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.1.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add 10.0.4.0/24 -ifa 10.0.1.1 \
    +	    -ifp mpls0 -tag 25,2 -inet 10.0.1.2
    +
    +	# Setup the second server
    +	export RUMP_SERVER=${RUMP_SERVER2}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom1
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.1.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom2
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.2.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.forwarding=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add -mpls 25 -tag 30,0 -inet 10.0.2.2
    +	atf_check -s exit:0 rump.route -q add -mpls 27 -tag 3 -inet 10.0.1.1
    +
    +	# Setup the third server
    +	export RUMP_SERVER=${RUMP_SERVER3}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom2
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.2.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom3
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.3.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.forwarding=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add -mpls 30 -tag 3 -inet 10.0.3.2
    +	atf_check -s exit:0 rump.route -q add -mpls 26 -tag 27,0 -inet 10.0.2.1
    +
    +	# Setup the fourth server
    +	export RUMP_SERVER=${RUMP_SERVER4}
    +	atf_check -s exit:0 rump.ifconfig shmif0 create
    +	atf_check -s exit:0 rump.ifconfig shmif0 linkstr ./shdom3
    +	atf_check -s exit:0 rump.ifconfig shmif0 10.0.3.2/24
    +	atf_check -s exit:0 rump.ifconfig shmif1 create
    +	atf_check -s exit:0 rump.ifconfig shmif1 linkstr ./shdom4
    +	atf_check -s exit:0 rump.ifconfig shmif1 10.0.4.1/24
    +	atf_check -s exit:0 rump.ifconfig mpls0 create up
    +	atf_check -s exit:0 rump.sysctl -q -w net.mpls.accept=1
    +	atf_check -s exit:0 rump.sysctl -q -w net.inet.ip.forwarding=0
    +	atf_check -s exit:0 rump.route -q add 10.0.1.0/24 -ifa 10.0.3.2 \
    +	    -ifp mpls0 -tag 26 -inet 10.0.3.1
    +
    +	unset RUMP_SERVER
    +}
    +
    +doping()
    +{
    +
    +	export RUMP_SERVER=${RUMP_SERVER1}
    +	atf_check -s exit:0 -o match:"64 bytes from 10.0.4.1: icmp_seq=" \
    +	    rump.ping -n -o -w 5 10.0.4.1
    +	unset RUMP_SERVER
    +}
    +
    +docleanup()
    +{
    +
    +	RUMP_SERVER=${RUMP_SERVER1} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER2} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER3} rump.halt
    +	RUMP_SERVER=${RUMP_SERVER4} rump.halt
    +}
    +
    +rfc4182_body()
    +{
    +
    +	startservers
    +	configservers
    +	doping
    +}
    +
    +rfc4182_cleanup()
    +{
    +
    +	docleanup
    +}
    +
    +atf_init_test_cases()
    +{ 
    +
    +	atf_add_test_case rfc4182
    +} 
    diff --git a/tests/net/net/Makefile b/tests/net/net/Makefile
    index 338ab787e..f4b717dcf 100644
    --- a/tests/net/net/Makefile
    +++ b/tests/net/net/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.6 2013/07/03 14:01:29 nakayama Exp $
    +# $NetBSD: Makefile,v 1.7 2013/10/12 15:29:16 christos Exp $
     #
     
     .include 
    @@ -6,6 +6,7 @@
     TESTSDIR=	${TESTSBASE}/net/net
     
     TESTS_C=	t_unix
    +TESTS_C+=	t_tcp
     TESTS_C+=	t_udp
     TESTS_C+=	t_pktinfo
     .if (${MKRUMP} != "no")
    diff --git a/tests/net/net/t_pktinfo.c b/tests/net/net/t_pktinfo.c
    index 52d42a98d..326f9f6c3 100644
    --- a/tests/net/net/t_pktinfo.c
    +++ b/tests/net/net/t_pktinfo.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_pktinfo.c,v 1.1 2013/06/27 20:01:24 christos Exp $	*/
    +/*	$NetBSD: t_pktinfo.c,v 1.2 2013/10/19 17:45:01 christos Exp $	*/
     
     /*-
      * Copyright (c) 2013 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: t_pktinfo.c,v 1.1 2013/06/27 20:01:24 christos Exp $");
    +__RCSID("$NetBSD: t_pktinfo.c,v 1.2 2013/10/19 17:45:01 christos Exp $");
     
     #include 
     #include 
    @@ -141,6 +141,7 @@ receive(int s) {
     		printf("%s message received on address %s at interface %d\n",
     		    m, inet_ntoa(ipi->ipi_addr), ipi->ipi_ifindex);
     #else
    +		__USE(m);
     		ATF_REQUIRE_MSG(ipi->ipi_addr.s_addr == htonl(INADDR_LOOPBACK),
     			"address 0x%x != 0x%x", ipi->ipi_addr.s_addr,
     			htonl(INADDR_LOOPBACK));
    diff --git a/tests/net/net/t_tcp.c b/tests/net/net/t_tcp.c
    new file mode 100644
    index 000000000..8972a0fd4
    --- /dev/null
    +++ b/tests/net/net/t_tcp.c
    @@ -0,0 +1,220 @@
    +/*	$NetBSD: t_tcp.c,v 1.3 2013/10/17 12:53:28 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, 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:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. All advertising materials mentioning features or use of this software
    + *    must display the following acknowledgement:
    + *        This product includes software developed by the NetBSD
    + *        Foundation, Inc. and its contributors.
    + * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 
    +#ifdef __RCSID
    +__RCSID("$Id: t_tcp.c,v 1.3 2013/10/17 12:53:28 christos Exp $");
    +#endif
    +
    +/* Example code. Should block; does with accept not paccept. */
    +/* Original by: Justin Cormack  */
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#ifdef TEST
    +#define FAIL(msg, ...)  err(EXIT_FAILURE, msg, ## __VA_ARGS__)
    +#else 
    +#include  
    +#define FAIL(msg, ...)  ATF_CHECK_MSG(0, msg, ## __VA_ARGS__); goto fail
    +#endif
    +
    +static void
    +ding(int al)
    +{
    +}
    +
    +static void 
    +paccept_block(bool pacceptblock, bool fcntlblock)
    +{
    +	int srvr = -1, clnt = -1, as = -1;
    +	int ok, fl, n;
    +	char buf[10];
    +	struct sockaddr_in sin, ba;
    +	struct sigaction sa;
    +
    +	srvr = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
    +	if (srvr == -1)
    +		FAIL("socket");
    +
    +	memset(&sin, 0, sizeof(sin));
    +	sin.sin_family = AF_INET;
    +#ifdef BSD4_4
    +	sin.sin_len = sizeof(sin);
    +#endif
    +	sin.sin_port = htons(0);
    +	sin.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
    +	ok = bind(srvr, (const struct sockaddr *)&sin, (socklen_t)sizeof(sin));
    +	if (ok == -1)
    +		FAIL("bind");
    +
    +	socklen_t addrlen = sizeof(struct sockaddr_in);
    +	ok = getsockname(srvr, (struct sockaddr *)&ba, &addrlen);
    +	if (ok == -1)
    +		FAIL("getsockname");
    +
    +	ok = listen(srvr, SOMAXCONN);
    +	if (ok == -1)
    +		FAIL("listen");
    +
    +	clnt = socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0);
    +	if (clnt == -1)
    +		FAIL("socket");
    +
    +	/* may not connect first time */
    +	ok = connect(clnt, (struct sockaddr *) &ba, addrlen);
    +	as = paccept(srvr, NULL, NULL, NULL, pacceptblock ? 0 : SOCK_NONBLOCK);
    +	ok = connect(clnt, (struct sockaddr *) &ba, addrlen);
    +	if (ok == -1 && errno != EISCONN)
    +		FAIL("both connects failed");
    +
    +#if 0
    +	fl = fcntl(srvr, F_GETFL, 0);
    +	if (fl == -1)
    +		FAIL("fnctl getfl");
    +
    +	ok = fcntl(srvr, F_SETFL, fl & ~O_NONBLOCK);
    +	if (ok == -1)
    +		FAIL("fnctl setfl");
    +#endif
    +
    +	if (as == -1) {		/* not true under NetBSD */
    +		as = paccept(srvr, NULL, NULL, NULL, pacceptblock ? 0 : SOCK_NONBLOCK);
    +		if (as == -1)
    +			FAIL("paccept");
    +	}
    +	if (fcntlblock) {
    +		fl = fcntl(as, F_GETFL, 0);
    +		if (fl == -1)
    +			FAIL("fnctl");
    +		if (fl != (O_RDWR|O_NONBLOCK))
    +			FAIL("fl 0x%x != 0x%x\n", fl, O_RDWR|O_NONBLOCK);
    +		ok = fcntl(as, F_SETFL, fl & ~O_NONBLOCK);
    +		if (ok == -1)
    +			FAIL("fnctl setfl");
    +
    +		fl = fcntl(as, F_GETFL, 0);
    +		if (fl & O_NONBLOCK)
    +			FAIL("fl non blocking after reset");
    +	}
    +	sa.sa_handler = ding;
    +	sa.sa_flags = 0;
    +	sigemptyset(&sa.sa_mask);
    +	sigaction(SIGALRM, &sa, NULL);
    +	alarm(1);
    +	n = read(as, buf, 10);
    +
    +	if (pacceptblock || fcntlblock) {
    +		if (n == -1 && errno != EINTR)
    +			FAIL("read");
    +	} else {
    +		if (n != -1 || errno != EWOULDBLOCK)
    +			FAIL("read");
    +	}
    +	return;
    +fail:
    +	close(srvr);
    +	close(clnt);
    +	close(as);
    +}
    +
    +#ifndef TEST
    +
    +ATF_TC(paccept_reset_nonblock);
    +ATF_TC_HEAD(paccept_reset_nonblock, tc)
    +{
    +
    +	atf_tc_set_md_var(tc, "descr", "Check that paccept(2) resets "
    +	    "the non-blocking flag on non-blocking sockets");
    +}
    +
    +ATF_TC_BODY(paccept_reset_nonblock, tc)
    +{
    +	paccept_block(true, false);
    +}
    +
    +ATF_TC(fcntl_reset_nonblock);
    +ATF_TC_HEAD(fcntl_reset_nonblock, tc)
    +{
    +
    +	atf_tc_set_md_var(tc, "descr", "Check that fcntl(2) resets "
    +	    "the non-blocking flag on non-blocking sockets");
    +}
    +
    +ATF_TC_BODY(fcntl_reset_nonblock, tc)
    +{
    +	paccept_block(false, true);
    +}
    +
    +ATF_TC(paccept_nonblock);
    +ATF_TC_HEAD(paccept_nonblock, tc)
    +{
    +
    +	atf_tc_set_md_var(tc, "descr", "Check that fcntl(2) resets "
    +	    "the non-blocking flag on non-blocking sockets");
    +}
    +
    +ATF_TC_BODY(paccept_nonblock, tc)
    +{
    +	paccept_block(false, false);
    +}
    +
    +ATF_TP_ADD_TCS(tp)
    +{
    +
    +	ATF_TP_ADD_TC(tp, paccept_reset_nonblock);
    +	ATF_TP_ADD_TC(tp, fcntl_reset_nonblock);
    +	ATF_TP_ADD_TC(tp, paccept_nonblock);
    +	return atf_no_error();
    +}
    +#else
    +int
    +main(int argc, char *argv[])
    +{
    +	paccept_block(false);
    +	paccept_block(true);
    +	return 0;
    +}
    +#endif
    diff --git a/tests/net/net/t_unix.c b/tests/net/net/t_unix.c
    index 6c708467b..30759f19c 100644
    --- a/tests/net/net/t_unix.c
    +++ b/tests/net/net/t_unix.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_unix.c,v 1.6 2011/10/04 16:28:26 christos Exp $	*/
    +/*	$NetBSD: t_unix.c,v 1.11 2013/11/13 21:41:23 christos Exp $	*/
     
     /*-
      * Copyright (c) 2011 The NetBSD Foundation, Inc.
    @@ -37,8 +37,20 @@
      */
     
     #include 
    -__RCSID("$Id: t_unix.c,v 1.6 2011/10/04 16:28:26 christos Exp $");
    +#ifdef __RCSID
    +__RCSID("$Id: t_unix.c,v 1.11 2013/11/13 21:41:23 christos Exp $");
    +#else
    +#define getprogname() argv[0]
    +#endif
     
    +#ifdef __linux__
    +#define LX -1
    +#else
    +#define LX
    +#endif
    +#include 
    +#include 
    +#include 
     #include 
     #include 
     #include 
    @@ -46,19 +58,45 @@ __RCSID("$Id: t_unix.c,v 1.6 2011/10/04 16:28:26 christos Exp $");
     #include 
     #include 
     #include 
    -#include 
    -#include 
    +#include 
     
     #ifdef TEST
     #define FAIL(msg, ...)	err(EXIT_FAILURE, msg, ## __VA_ARGS__)
     #else
     
     #include 
    -#define FAIL(msg, ...)	ATF_CHECK_MSG(0, msg, ## __VA_ARGS__)
    +#define FAIL(msg, ...)	\
    +	do { \
    +		ATF_CHECK_MSG(0, msg, ## __VA_ARGS__); \
    +		goto fail; \
    +	} while (/*CONSTCOND*/0)
     
     #endif
     
    -static __dead int
    +#define OF offsetof(struct sockaddr_un, sun_path)
    +
    +static void
    +print(const char *msg, struct sockaddr_un *addr, socklen_t len)
    +{
    +	size_t i;
    +
    +	printf("%s: client socket length: %zu\n", msg, (size_t)len);
    +	printf("%s: client family %d\n", msg, addr->sun_family);
    +#ifdef BSD4_4
    +	printf("%s: client len %d\n", msg, addr->sun_len);
    +#endif
    +	printf("%s: socket name: ", msg);
    +	for (i = 0; i < len - OF; i++) {
    +		int ch = addr->sun_path[i];
    +		if (ch < ' ' || '~' < ch)
    +			printf("\\x%02x", ch);
    +		else
    +			printf("%c", ch);
    +	}
    +	printf("\n");
    +}
    +
    +static int
     acc(int s)
     {
     	char guard1;
    @@ -68,32 +106,56 @@ acc(int s)
     
     	guard1 = guard2 = 's';
     
    +	memset(&sun, 0, sizeof(sun));
     	len = sizeof(sun);
    -	if (accept(s, (struct sockaddr *)&sun, &len) == -1)
    +	if ((s = accept(s, (struct sockaddr *)&sun, &len)) == -1)
     		FAIL("accept");
     	if (guard1 != 's')
    -		errx(EXIT_FAILURE, "guard1 = '%c'", guard1);
    +		FAIL("guard1 = '%c'", guard1);
     	if (guard2 != 's')
    -		errx(EXIT_FAILURE, "guard2 = '%c'", guard2);
    -	close(s);
    -	exit(0);
    +		FAIL("guard2 = '%c'", guard2);
    +#ifdef DEBUG
    +	print("accept", &sun, len);
    +#endif
    +	if (len != 2)
    +		FAIL("len %d != 2", len);
    +	if (sun.sun_family != AF_UNIX)
    +		FAIL("sun->sun_family %d != AF_UNIX", sun.sun_family);
    +#ifdef BSD4_4
    +	if (sun.sun_len != 2)
    +		FAIL("sun->sun_len %d != 2", sun.sun_len);
    +#endif
    +	for (size_t i = 0; i < sizeof(sun.sun_path); i++)
    +		if (sun.sun_path[i])
    +			FAIL("sun.sun_path[%zu] %d != NULL", i,
    +			    sun.sun_path[i]);
    +	return s;
    +fail:
    +	if (s != -1)
    +		close(s);
    +	return -1;
     }
     
     static int
    -test(size_t len)
    +test(bool closeit, size_t len)
     {
    -	struct sockaddr_un *sun;
    -	int s, s2;
     	size_t slen;
     	socklen_t sl;
    +	int srvr = -1, clnt = -1, acpt = -1;
    +	struct sockaddr_un *sock_addr = NULL, *sun = NULL;
    +	socklen_t sock_addrlen;
     
    -	slen = len + offsetof(struct sockaddr_un, sun_path) + 1;
    +	srvr = socket(AF_UNIX, SOCK_STREAM, 0);
    +	if (srvr == -1)
    +		FAIL("socket(srvrer)");
    +
    +	slen = len + OF + 1;
     	
     	if ((sun = calloc(1, slen)) == NULL)
     		FAIL("calloc");
     
    -	s = socket(AF_UNIX, SOCK_STREAM, 0);
    -	if (s == -1)
    +	srvr = socket(AF_UNIX, SOCK_STREAM, 0);
    +	if (srvr == -1)
     		FAIL("socket");
     
     	memset(sun->sun_path, 'a', len);
    @@ -101,35 +163,99 @@ test(size_t len)
     	(void)unlink(sun->sun_path);
     
     	sl = SUN_LEN(sun);
    +#ifdef BSD4_4
     	sun->sun_len = sl;
    +#endif
     	sun->sun_family = AF_UNIX;
     
    -	if (bind(s, (struct sockaddr *)sun, sl) == -1) {
    -		if (errno == EINVAL && sl >= 256)
    +	if (bind(srvr, (struct sockaddr *)sun, sl) == -1) {
    +		if (errno == EINVAL && sl >= 256) {
    +			close(srvr);
     			return -1;
    +		}
     		FAIL("bind");
     	}
     
    -	if (listen(s, 5) == -1)
    +	if (listen(srvr, SOMAXCONN) == -1)
     		FAIL("listen");
     
    -	switch (fork()) {
    -	case -1:
    -		FAIL("fork");
    -	case 0:
    -		acc(s);
    -		/*NOTREACHED*/
    -	default:
    -		sleep(1);
    -		s2 = socket(AF_UNIX, SOCK_STREAM, 0);
    -		if (s2 == -1)
    -			FAIL("socket");
    -		if (connect(s2, (struct sockaddr *)sun, sl) == -1)
    -			FAIL("connect");
    -		close(s2);
    -		break;
    +	clnt = socket(AF_UNIX, SOCK_STREAM, 0);
    +	if (clnt == -1)
    +		FAIL("socket(client)");
    +
    +	if (connect(clnt, (const struct sockaddr *)sun, sl) == -1)
    +		FAIL("connect");
    +
    +	if (closeit) {
    +		if (close(clnt) == -1)
    +			FAIL("close");
    +		clnt = -1;
     	}
    +
    +	acpt = acc(srvr);
    +#if 0
    +	/*
    +	 * Both linux and NetBSD return ENOTCONN, why?
    +	 */
    +	if (!closeit) {
    +		socklen_t peer_addrlen;
    +		sockaddr_un peer_addr;
    +
    +		peer_addrlen = sizeof(peer_addr);
    +		memset(&peer_addr, 0, sizeof(peer_addr));
    +		if (getpeername(srvr, (struct sockaddr *)&peer_addr,
    +		    &peer_addrlen) == -1)
    +			FAIL("getpeername");
    +		print("peer", &peer_addr, peer_addrlen);
    +	}
    +#endif
    +
    +	if ((sock_addr = calloc(1, slen)) == NULL)
    +		FAIL("calloc");
    +	sock_addrlen = slen;
    +	if (getsockname(srvr, (struct sockaddr *)sock_addr, &sock_addrlen)
    +	    == -1)
    +		FAIL("getsockname");
    +	print("sock", sock_addr, sock_addrlen);
    +
    +	if (sock_addr->sun_family != AF_UNIX)
    +		FAIL("sock_addr->sun_family %d != AF_UNIX",
    +		    sock_addr->sun_family);
    +
    +	len += OF;
    +	if (sock_addrlen LX != len)
    +		FAIL("sock_addr_len %zu != %zu", (size_t)sock_addrlen, len);
    +#ifdef BSD4_4
    +	if (sock_addr->sun_len != sl)
    +		FAIL("sock_addr.sun_len %d != %zu", sock_addr->sun_len,
    +		    (size_t)sl);
    +#endif
    +	for (size_t i = 0; i < slen - OF; i++)
    +		if (sock_addr->sun_path[i] != sun->sun_path[i])
    +			FAIL("sock_addr.sun_path[%zu] %d != "
    +			    "sun->sun_path[%zu] %d\n", i, 
    +			    sock_addr->sun_path[i], i, sun->sun_path[i]);
    +
    +	if (acpt != -1)
    +		(void)close(acpt);
    +	if (srvr != -1)
    +		(void)close(srvr);
    +	if (clnt != -1 && !closeit)
    +		(void)close(clnt);
    +
    +	free(sock_addr);
    +	free(sun);
     	return 0;
    +fail:
    +	if (acpt != -1)
    +		(void)close(acpt);
    +	if (srvr != -1)
    +		(void)close(srvr);
    +	if (clnt != -1 && !closeit)
    +		(void)close(clnt);
    +	free(sock_addr);
    +	free(sun);
    +	return -1;
     }
     
     #ifndef TEST
    @@ -145,7 +271,8 @@ ATF_TC_HEAD(sockaddr_un_len_exceed, tc)
     
     ATF_TC_BODY(sockaddr_un_len_exceed, tc)
     {
    -	ATF_REQUIRE_MSG(test(254) == -1, "test(254): %s", strerror(errno));
    +	ATF_REQUIRE_MSG(test(false, 254) == -1, "test(false, 254): %s",
    +	    strerror(errno));
     }
     
     ATF_TC(sockaddr_un_len_max);
    @@ -159,7 +286,22 @@ ATF_TC_HEAD(sockaddr_un_len_max, tc)
     
     ATF_TC_BODY(sockaddr_un_len_max, tc)
     {
    -	ATF_REQUIRE_MSG(test(253) == 0, "test(253): %s", strerror(errno));
    +	ATF_REQUIRE_MSG(test(false, 253) == 0, "test(false, 253): %s",
    +	    strerror(errno));
    +}
    +
    +ATF_TC(sockaddr_un_closed);
    +ATF_TC_HEAD(sockaddr_un_closed, tc)
    +{
    +
    +	atf_tc_set_md_var(tc, "descr", "Check that we can use the accepted "
    +	    "address of unix domain socket when closed");
    +}
    +
    +ATF_TC_BODY(sockaddr_un_closed, tc)
    +{
    +	ATF_REQUIRE_MSG(test(true, 100) == 0, "test(true, 100): %s",
    +	    strerror(errno));
     }
     
     ATF_TP_ADD_TCS(tp)
    @@ -167,6 +309,7 @@ ATF_TP_ADD_TCS(tp)
     
     	ATF_TP_ADD_TC(tp, sockaddr_un_len_exceed);
     	ATF_TP_ADD_TC(tp, sockaddr_un_len_max);
    +	ATF_TP_ADD_TC(tp, sockaddr_un_closed);
     	return atf_no_error();
     }
     #else
    @@ -179,6 +322,7 @@ main(int argc, char *argv[])
     		fprintf(stderr, "Usage: %s \n", getprogname());
     		return EXIT_FAILURE;
     	}
    -	test(atoi(argv[1]));
    +	test(false, atoi(argv[1]));
    +	test(true, atoi(argv[1]));
     }
     #endif
    diff --git a/tests/rump/rumpkern/t_copy.c b/tests/rump/rumpkern/t_copy.c
    index e70b177fb..a31e58ca7 100644
    --- a/tests/rump/rumpkern/t_copy.c
    +++ b/tests/rump/rumpkern/t_copy.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: t_copy.c,v 1.1 2010/11/09 15:25:20 pooka Exp $	*/
    +/*	$NetBSD: t_copy.c,v 1.2 2013/07/26 16:09:48 njoly Exp $	*/
     
     /*-
      * Copyright (c) 2010 The NetBSD Foundation, Inc.
    @@ -56,14 +56,16 @@ ATF_TC_HEAD(copyoutstr, tc)
     	atf_tc_set_md_var(tc, "descr", "Tests copyoutstr()");
     }
     
    -typedef int (copy_fn)(const void *, void *, size_t, size_t *);
    +typedef int (copystr_fn)(const void *, void *, size_t, size_t *);
    +typedef int (copy_fn)(const void *, void *, size_t);
     
    -extern copy_fn rumpns_copystr, rumpns_copyinstr, rumpns_copyoutstr;
    +extern copystr_fn rumpns_copystr, rumpns_copyinstr, rumpns_copyoutstr;
    +extern copy_fn rumpns_copyin, rumpns_copyout;
     
     #define TESTSTR "jippii, lisaa puuroa"
     
     static void
    -dotest(copy_fn *thefun)
    +dotest(copystr_fn *thefun)
     {
     	char buf[sizeof(TESTSTR)+1];
     	size_t len;
    @@ -108,12 +110,30 @@ ATF_TC_BODY(copyoutstr, tc)
     	dotest(rumpns_copyoutstr);
     }
     
    +ATF_TC(copy_efault);
    +ATF_TC_HEAD(copy_efault, tc)
    +{
    +
    +	atf_tc_set_md_var(tc, "descr", "Tests that copy(9) functions can return EFAULT");
    +}
    +ATF_TC_BODY(copy_efault, tc)
    +{
    +	char buf[1024];
    +
    +	ATF_REQUIRE_EQ(rumpns_copyin(NULL, buf, sizeof(buf)), EFAULT);
    +	ATF_REQUIRE_EQ(rumpns_copyout(buf, NULL, sizeof(buf)), EFAULT);
    +
    +	ATF_REQUIRE_EQ(rumpns_copyinstr(NULL, buf, sizeof(buf), NULL), EFAULT);
    +	ATF_REQUIRE_EQ(rumpns_copyoutstr(buf, NULL, sizeof(buf), NULL), EFAULT);
    +}
    +
     ATF_TP_ADD_TCS(tp)
     {
     
     	ATF_TP_ADD_TC(tp, copystr);
     	ATF_TP_ADD_TC(tp, copyinstr);
     	ATF_TP_ADD_TC(tp, copyoutstr);
    +	ATF_TP_ADD_TC(tp, copy_efault);
     
     	return atf_no_error();
     }
    diff --git a/tests/rump/rumpnet/t_shmif.sh b/tests/rump/rumpnet/t_shmif.sh
    index 47506d9f5..dc463f2ba 100644
    --- a/tests/rump/rumpnet/t_shmif.sh
    +++ b/tests/rump/rumpnet/t_shmif.sh
    @@ -1,4 +1,4 @@
    -#	$NetBSD: t_shmif.sh,v 1.1 2011/03/10 14:09:46 pooka Exp $
    +#	$NetBSD: t_shmif.sh,v 1.2 2013/09/09 19:27:49 pooka Exp $
     #
     # Copyright (c) 2011 The NetBSD Foundation, Inc.
     # All rights reserved.
    @@ -27,9 +27,11 @@
     
     atf_test_case crossping cleanup
     
    +NKERN=8
    +
     crossping_head()
     {
    -	atf_set "descr" "start 16 rump kernels on one shmif bus and crossping"
    +	atf_set "descr" "run $NKERN rump kernels on one shmif bus and crossping"
     }
     
     startserver()
    @@ -51,11 +53,11 @@ pingothers()
     crossping_body()
     {
     
    -	for x in `jot 16` ; do startserver $x ; done
    -	for x in `jot 16`
    +	for x in `jot ${NKERN}` ; do startserver $x ; done
    +	for x in `jot ${NKERN}`
     	do
     		export RUMP_SERVER=unix://sock${x}
    -		for y in `jot 16`
    +		for y in `jot ${NKERN}`
     		do
     			[ ${y} -eq ${x} ] && continue
     			atf_check -s exit:0 -o ignore -e ignore \
    @@ -67,7 +69,7 @@ crossping_body()
     crossping_cleanup()
     {
     
    -	for x in `jot 16` ; do RUMP_SERVER=unix://sock${x} rump.halt ; done
    +	for x in `jot ${NKERN}` ; do RUMP_SERVER=unix://sock${x} rump.halt ;done
     	:
     }
     
    diff --git a/tests/usr.bin/Makefile b/tests/usr.bin/Makefile
    index 51336563a..e1c0bb47b 100644
    --- a/tests/usr.bin/Makefile
    +++ b/tests/usr.bin/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.17 2012/11/20 08:02:06 agc Exp $
    +#	$NetBSD: Makefile,v 1.18 2013/08/10 22:36:16 dholland Exp $
     #
     
     .include 
    @@ -8,6 +8,6 @@ TESTSDIR=       ${TESTSBASE}/usr.bin
     TESTS_SUBDIRS=	awk basename bzip2 cc cmp config cut \
     		diff dirname find grep gzip id infocmp jot m4 make mkdep \
     		nbperf netpgpverify pr rump_server shmif_dumpbus sdiff \
    -		sed sort tmux unifdef xlint
    +		sed sort tmux tr unifdef xlint
     
     .include 
    diff --git a/tests/usr.bin/make/d_dotwait.out b/tests/usr.bin/make/d_dotwait.out
    index d72ae6757..e7d3f789a 100644
    --- a/tests/usr.bin/make/d_dotwait.out
    +++ b/tests/usr.bin/make/d_dotwait.out
    @@ -22,8 +22,8 @@ shared.2.1
     shared.2.1
     shared.2.99
     shared.2.99
    -make: Graph cycles through `cycle.2.99'
    -make: Graph cycles through `cycle.2.98'
    -make: Graph cycles through `cycle.2.97'
    +make[1]: Graph cycles through `cycle.2.99'
    +make[1]: Graph cycles through `cycle.2.98'
    +make[1]: Graph cycles through `cycle.2.97'
     cycle.1.99
     cycle.1.99
    diff --git a/tests/usr.bin/tr/Makefile b/tests/usr.bin/tr/Makefile
    new file mode 100644
    index 000000000..1e99ebb29
    --- /dev/null
    +++ b/tests/usr.bin/tr/Makefile
    @@ -0,0 +1,9 @@
    +# $NetBSD: Makefile,v 1.1 2013/08/10 22:36:16 dholland Exp $
    +
    +.include 
    +
    +TESTSDIR=	${TESTSBASE}/usr.bin/tr
    +
    +TESTS_SH=	t_basic
    +
    +.include 
    diff --git a/tests/usr.bin/tr/t_basic.sh b/tests/usr.bin/tr/t_basic.sh
    new file mode 100644
    index 000000000..4515d114a
    --- /dev/null
    +++ b/tests/usr.bin/tr/t_basic.sh
    @@ -0,0 +1,195 @@
    +# $NetBSD: t_basic.sh,v 1.3 2013/08/11 01:50:02 dholland Exp $
    +#
    +# Copyright (c) 2013 The NetBSD Foundation, Inc.
    +# All rights reserved.
    +#
    +# This code is derived from software contributed to The NetBSD Foundation
    +# by David A. Holland.
    +#
    +# 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    +#
    +
    +#
    +# tr -d: delete character
    +#
    +atf_test_case dopt
    +dopt_head() {
    +	atf_set "descr" "Tests for tr -d"
    +}
    +
    +dopt_body() {
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -d x'
    +	atf_check -o inline:'abde\n' -x 'echo abcde | tr -d c'
    +	atf_check -o inline:'ace\n' -x 'echo abcde | tr -d bd'
    +	atf_check -o inline:'ae\n' -x 'echo abcde | tr -d b-d'
    +	atf_check -o inline:'b\n' -x 'echo abcde | tr -d ac-e'
    +	atf_check -o inline:'d\n' -x 'echo abcde | tr -d a-ce'
    +	atf_check -o inline:'aei\n' -x 'echo abcdefghi | tr -d b-df-h'
    +
    +	atf_check -o inline:'' -x 'echo abcde | tr -c -d x'
    +	atf_check -o inline:'c' -x 'echo abcde | tr -c -d c'
    +	atf_check -o inline:'bd' -x 'echo abcde | tr -c -d bd'
    +	atf_check -o inline:'bcd' -x 'echo abcde | tr -c -d b-d'
    +	atf_check -o inline:'acde' -x 'echo abcde | tr -c -d ac-e'
    +	atf_check -o inline:'abce' -x 'echo abcde | tr -c -d a-ce'
    +	atf_check -o inline:'bcdfgh' -x 'echo abcdefghi | tr -c -d b-df-h'
    +
    +	# see if escape codes work
    +	atf_check -o inline:'splice' -x '(echo spl; echo ice) | tr -d '"'\n'"
    +	atf_check -o inline:'splice' -x '(echo spl; echo ice) | tr -d '"'\012'"
    +
    +	# see if escape codes work when followed by other things
    +	atf_check -o inline:'slice' -x '(echo spl; echo ice) | tr -d '"'\n'p"
    +	atf_check -o inline:'slice' -x '(echo spl; echo ice) | tr -d '"'\012'p"
    +
    +	# see if the [=x=] syntax works
    +	atf_check -o inline:'abde\n' -x 'echo abcde | tr -d '"'[=c=]'"
    +	atf_check -o inline:'bde\n' -x 'echo abcde | tr -d '"'[=c=]'a"
    +
    +	# make sure 0 works
    +	# (ignore stderr as dd blabbers to it)
    +	atf_check -e ignore -o inline:'ab\n' \
    +	  -x '(echo -n a; dd if=/dev/zero bs=3 count=1; echo b) | tr -d '"'\0'"
    +
    +	# test posix classes
    +	atf_check -o inline:'.\n' -x 'echo aAzZ.123 | tr -d '"'[:alnum:]'"
    +	atf_check -o inline:'.123\n' -x 'echo aAzZ.123 | tr -d '"'[:alpha:]'"
    +	atf_check -o inline:'az\n' -x 'echo "a z" | tr -d '"'[:blank:]'"
    +	atf_check -o inline:'az' -x '(echo a; echo z) | tr -d '"'[:cntrl:]'"
    +	atf_check -o inline:'aAzZ.\n' -x 'echo aAzZ.123 | tr -d '"'[:digit:]'"
    +	atf_check -o inline:' \n' -x 'echo "a z.123" | tr -d '"'[:graph:]'"
    +	atf_check -o inline:'AZ.123\n' -x 'echo aAzZ.123 | tr -d '"'[:lower:]'"
    +	atf_check -o inline:'\n' -x 'echo aAzZ.123 | tr -d '"'[:print:]'"
    +	atf_check -o inline:'aAzZ12\n' -x 'echo aAzZ.12 | tr -d '"'[:punct:]'"
    +	atf_check -o inline:'az' -x 'echo "a z" | tr -d '"'[:space:]'"
    +	atf_check -o inline:'az.123\n' -x 'echo aAzZ.123 | tr -d '"'[:upper:]'"
    +	atf_check -o inline:'zZ.\n' -x 'echo aAzZ.123 | tr -d '"'[:xdigit:]'"
    +}
    +
    +#
    +# tr -s: squeeze duplicate character runs
    +#
    +atf_test_case sopt
    +sopt_head() {
    +	atf_set "descr" "Tests for tr -s"
    +}
    +
    +sopt_body() {
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -s x'
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -s c'
    +	atf_check -o inline:'abcde\n' -x 'echo abccccde | tr -s c'
    +	atf_check -o inline:'abcde\n' -x 'echo abbbcddde | tr -s bd'
    +	atf_check -o inline:'abcde\n' -x 'echo abbbcccddde | tr -s b-d'
    +
    +	atf_check -o inline:'acac\n' -x 'echo acac | tr -s c'
    +	atf_check -o inline:'acac\n' -x 'echo accacc | tr -s c'
    +
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -c -s x'
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -c -s c'
    +	atf_check -o inline:'abcccde\n' -x 'echo abcccde | tr -c -s c'
    +	atf_check -o inline:'abbbcddde\n' -x 'echo abbbcddde | tr -c -s bd'
    +	atf_check -o inline:'abbbccddde\n' -x 'echo abbbccddde | tr -c -s b-d'
    +	atf_check -o inline:'abcccde\n' -x 'echo aaabcccde | tr -c -s b-d'
    +}
    +
    +#
    +# tr -ds: both -d and -s at once
    +#
    +atf_test_case dsopt
    +dsopt_head() {
    +	atf_set "descr" "Tests for tr -ds"
    +}
    +
    +dsopt_body() {
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -ds x y'
    +	atf_check -o inline:'abde\n' -x 'echo abcde | tr -ds c x'
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr -ds x c'
    +	atf_check -o inline:'abde\n' -x 'echo abcde | tr -ds c c'
    +	atf_check -o inline:'abde\n' -x 'echo abcccde | tr -ds c x'
    +	atf_check -o inline:'abcde\n' -x 'echo abcccde | tr -ds x c'
    +	atf_check -o inline:'abde\n' -x 'echo abcccde | tr -ds c c'
    +
    +	# -c complements only the first string
    +	atf_check -o inline:'' -x 'echo abcde | tr -c -ds x y'
    +	atf_check -o inline:'c' -x 'echo abcde | tr -c -ds c x'
    +	atf_check -o inline:'' -x 'echo abcde | tr -c -ds x c'
    +	atf_check -o inline:'c' -x 'echo abcde | tr -c -ds c c'
    +	atf_check -o inline:'ccc' -x 'echo abcccde | tr -c -ds c x'
    +	atf_check -o inline:'' -x 'echo abcccde | tr -c -ds x c'
    +	atf_check -o inline:'c' -x 'echo abcccde | tr -c -ds c c'
    +}
    +
    +#
    +# test substitution
    +#
    +atf_test_case subst
    +subst_head() {
    +	atf_set "descr" "Tests for tr substitution"
    +}
    +
    +subst_body() {
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr a-c a-c'
    +	atf_check -o inline:'cbade\n' -x 'echo abcde | tr a-c cba'
    +	atf_check -o inline:'abcde\n' -x 'echo abcde | tr a-z a-z'
    +	atf_check -o inline:'bcdef\n' -x 'echo abcde | tr a-z b-za'
    +	atf_check -o inline:'zabcd\n' -x 'echo abcde | tr b-za a-z'
    +	atf_check -o inline:'bbbbb\n' -x 'echo ababa | tr a b'
    +	atf_check -o inline:'furrfu\n' -x 'echo sheesh | tr a-z n-za-m'
    +	atf_check -o inline:'furrfu\n' -x 'echo sheesh | tr n-za-m a-z'
    +
    +	atf_check -o inline:'ABCDE\n' -x 'echo abcde | tr a-z A-Z'
    +	atf_check -o inline:'ABC\n' \
    +	    -x 'echo abc | tr '"'[:lower:]' '[:upper:]'"
    +
    +	# If you don't give enough substitution chars the last is repeated.
    +	atf_check -o inline:'bozoo\n' -x 'echo abcde | tr a-z bozo'
    +	atf_check -o inline:'qaaaa\n' -x 'echo abcde | tr a-z qa'
    +
    +	# You can use -s with substitution.
    +	atf_check -o inline:'cbade\n' -x 'echo abcde | tr -s a-c cba'
    +	atf_check -o inline:'cbaddee\n' -x 'echo aabbccddee | tr -s a-c cba'
    +}
    +
    +#
    +# test substitution with -c (does not currently work)
    +#
    +atf_test_case csubst
    +csubst_head() {
    +	atf_set "descr" "Tests for tr substitution with -c"
    +}
    +
    +csubst_body() {
    +	atf_check -o inline:'abcde\n' -x \
    +	    'echo abcde | tr -c '"'\0-ac-\377' b"
    +	atf_check -o inline:'abcde\n' -x \
    +	    'echo abcde | tr -c '"'\0-ad-\377' bc"
    +	atf_check -o inline:'QUACK\n' -x \
    +	    'echo ABCDE | tr -c '"'\0-@' QUACK"
    +}
    +
    +atf_init_test_cases() {
    +	atf_add_test_case dopt
    +	atf_add_test_case sopt
    +	atf_add_test_case dsopt
    +	atf_add_test_case subst
    +	atf_add_test_case csubst
    +}
    diff --git a/tests/usr.sbin/mtree/mtree_d_create.out b/tests/usr.sbin/mtree/mtree_d_create.out
    index d27e8988e..389ec653e 100644
    --- a/tests/usr.sbin/mtree/mtree_d_create.out
    +++ b/tests/usr.sbin/mtree/mtree_d_create.out
    @@ -6,13 +6,13 @@
     # .
     /set type=file nlink=1
     .               type=dir nlink=4
    -    a.symlink.1 type=link size=8 link=a.file.1
    +    a.symlink.1 type=link link=a.file.1
         top.dangling \
    -                type=link size=11 link=nonexistent
    +                type=link link=nonexistent
         top.file.1  size=18 \
                     sha256=74c53aaf0cd9543b7efad969de1058ee38859134ba467500b849811fc3513195
         top.symlink.b \
    -                type=link size=1 link=b
    +                type=link link=b
     
     # ./a
     a               type=dir nlink=4
    diff --git a/tests/usr.sbin/mtree/t_mtree.sh b/tests/usr.sbin/mtree/t_mtree.sh
    index 20fda75e0..ea1cd5132 100644
    --- a/tests/usr.sbin/mtree/t_mtree.sh
    +++ b/tests/usr.sbin/mtree/t_mtree.sh
    @@ -29,6 +29,9 @@
     # are expected to differ from one run to another.
     #
     
    +# mtree is not in the default user PATH on MINIX
    +export PATH=$PATH:/usr/sbin
    +
     h_postprocess()
     {
     	sed -e '
    diff --git a/tools/Makefile b/tools/Makefile
    index adecc7c6c..c7dfdb1b8 100644
    --- a/tools/Makefile
    +++ b/tools/Makefile
    @@ -1,12 +1,34 @@
    -#	$NetBSD: Makefile,v 1.157 2012/09/20 15:50:20 pooka Exp $
    +#	$NetBSD: Makefile,v 1.170 2013/09/02 14:34:57 joerg Exp $
     
     .include 
    +.include 
     
    -.if defined(HAVE_GCC) || defined(HAVE_PCC)
    +# Make sure that the ordered build/install processing applies when using
    +# plain make.
    +.MAIN: build_install
    +
    +# TOOLDIR must be valid, unless MKTOOLS=no
    +.if ${MKTOOLS:Uyes} != "no"
    +.if "${TOOLDIR}" == ""
    +.error "TOOLDIR is undefined or empty"
    +.elif "${TOOLDIR:tW:M/*}" == ""
    +.error "TOOLDIR is not an absolute path: ${TOOLDIR}"
    +#.elif !exists(TOOLDIR) # XXX .exists fails for directories
    +#.error "TOOLDIR does not exist: ${TOOLDIR}"
    +.endif
    +.endif # MKTOOLS != no
    +
    +# TOOLS_BUILDRUMP == yes builds only the subset of the tools required
    +# for building rump kernels and the hypervisor.  It is typically used
    +# when building rump kernels targeted for non-NetBSD systems (via
    +# buildrump.sh), and should not be set for a regular "make build".
    +TOOLS_BUILDRUMP?=no
    +
    +.if ${TOOLCHAIN_MISSING} == "no"
    +.if defined(HAVE_GCC)
     TOOLCHAIN_BITS= gmake .WAIT
     .endif
     
    -.if ${TOOLCHAIN_MISSING} == "no"
     .if defined(HAVE_GCC)
     .if ${HAVE_GCC} >= 45
     TOOLCHAIN_BITS+= gmp .WAIT
    @@ -23,7 +45,7 @@ TOOLCHAIN_BITS+= binutils .WAIT
     .if defined(HAVE_GCC)
     .if ${TOOLCHAIN_MISSING} == "no"
     TOOLCHAIN_BITS+= gcc
    -.  if ${MKCROSSGDB:Uno} != "no"
    +.  if ${MKCROSSGDB:Uno} != "no" # LSC: Doesn't work || make(obj)
     TOOLCHAIN_BITS+= gdb
     .  endif
     TOOLCHAIN_BITS+= .WAIT
    @@ -48,7 +70,7 @@ DTRACE_BITS=
     .if ${MKDTRACE} != "no"
     DTRACE_BITS+= .WAIT libelf
     DTRACE_BITS+= .WAIT libdwarf
    -DTRACE_BITS+= .WAIT libctf 
    +DTRACE_BITS+= .WAIT libctf
     DTRACE_BITS+= .WAIT ctfconvert ctfmerge
     .endif
     
    @@ -57,39 +79,75 @@ LINT_BITS=
     LINT_BITS= lint lint2
     .endif
     
    +# All of host-mkdep, compat, and binstall are needed before anything
    +# else.  Within this group, they must be built in a specific order, and
    +# all of them must be built before any of them is installed.  They may
    +# be installed in any order.  This can't be expressed using the .WAIT
    +# notation inside the SUBDIR list.
    +#
    +# XXX .ORDER does not work when multiple targets are passed on the
    +# make command line without "-j", so use dependencies in addition to .ORDER.
    +#
    +.ORDER: dependall-host-mkdep dependall-compat dependall-binstall
    +.if make(dependall-host-mkdep) && make(dependall-compat)
    +dependall-compat: dependall-host-mkdep
    +.endif
    +.if make(dependall-compat) && make(dependall-binstall)
    +dependall-binstall: dependall-compat
    +.endif
    +
     # Dependencies in SUBDIR below ordered to maximize parallel ability.
    -SUBDIR=	host-mkdep .WAIT compat .WAIT \
    -	binstall .WAIT mktemp .WAIT sed .WAIT \
    -		genassym join \
    -		lorder makewhatis mkdep mtree nbperf .WAIT tsort \
    -		m4 \
    -	.WAIT texinfo \
    -	.WAIT mkfs.mfs \
    -	.WAIT toproto \
    -	.WAIT yacc \
    -	.WAIT awk \
    +# See above for special treatment for host-mkdep, compat, and binstall.
    +#
    +SUBDIR=	host-mkdep compat binstall \
    +	.WAIT mktemp .WAIT sed .WAIT
    +.if ${TOOLS_BUILDRUMP} == "no"
    +SUBDIR+= genassym \
    +		${LINT_BITS} \
    +		makewhatis mtree nbperf .WAIT
    +.endif
    +
    +SUBDIR+= join lorder m4 mkdep tsort .WAIT yacc .WAIT awk .WAIT lex
    +
    +.if ${TOOLS_BUILDRUMP} == "no"
    +SUBDIR += .WAIT texinfo \
     	.WAIT tic \
    -	.WAIT lex \
     	.WAIT pax \
     	.WAIT ${TOOLCHAIN_BITS} \
     	${DTRACE_BITS} \
     		 cat cksum \
     		file \
     		.WAIT \
    -		pwd_mkdb stat zic \
    -		partition \
    -		writeisofs
    +		.WAIT \
    +		.WAIT \
    +		.WAIT \
    +		.WAIT \
    +		pwd_mkdb stat zic
    +.endif
    +.if defined(__MINIX)
    +SUBDIR += \
    +	mkfs.mfs \
    +	partition \
    +	toproto \
    +	writeisofs
    +.else
    +SUBDIR+= .WAIT config
    +.endif # defined(__MINIX)
     
     .if ${MKLLVM} != "no"
    -# .WAIT between llvm-tblgen and llvm-clang-tblgen ensures install
    -# rules works correctly
     SUBDIR+= \
     	llvm .WAIT \
     	llvm-lib/libLLVMSupport llvm-lib/libLLVMTableGen .WAIT \
    -	llvm-tblgen .WAIT llvm-clang-tblgen .WAIT \
    +	llvm-tblgen llvm-clang-tblgen .WAIT \
     	llvm-include .WAIT \
     	llvm-lib .WAIT \
     	llvm-clang
    +.if ${MKLLD} != "no"
    +SUBDIR+=	llvm-lld
    +.endif
    +.if ${MKMCLINKER} != "no"
    +SUBDIR+=	llvm-mcld
    +.endif
     .endif
     
     .if ${MKMAN} != "no" || ${MKDOC} != "no" || ${MKHTML} != "no"
    @@ -99,6 +157,8 @@ SUBDIR+=	groff
     SUBDIR+=	mandoc
     .endif
     
    +.if ${TOOLS_BUILDRUMP} == "no"
    +
     .if ${MKMAINTAINERTOOLS:Uno} != "no"
     SUBDIR+=	autoconf .WAIT gettext
     .endif
    @@ -154,12 +214,20 @@ SUBDIR+=	hp300-mkboot
     .endif
     
     .if !defined(__MINIX)
    +.if ${MACHINE} == "evbarm" \
    +    && ${MACHINE_CPU} == "arm" \
    +    && ${TARGET_ENDIANNESS} == "1234"
    +SUBDIR+=	elftosb
    +.endif
    +
     .if ${MACHINE} == "evbarm" || ${MACHINE} == "evbmips" || \
         ${MACHINE} == "evbppc" || ${MACHINE} == "sandpoint"
     SUBDIR+=	mkubootimage
     .endif
     .endif # !defined(__MINIX)
     
    +.endif # TOOLCHAIN_BUILDRUMP
    +
     check_MKTOOLS: .PHONY .NOTMAIN
     .if ${MKTOOLS:Uyes} == "no"
     	@echo '*** WARNING: "MKTOOLS" is set to "no"; this will prevent building and'
    @@ -169,22 +237,19 @@ check_MKTOOLS: .PHONY .NOTMAIN
     .endif
     
     .if ${MKTOOLS:Uyes} == "no" || ${USETOOLS} != "yes"	# {
    +SUBDIR= # empty
     realall realdepend install: check_MKTOOLS
    -
    -.for dir in ${SUBDIR:N.WAIT}
    -all-${dir} depend-${dir} dependall-${dir} install-${dir}:
    -	@true
    -.endfor
     .endif							# }
     
     .include 
    +.include 
     .include 
     
     .if !defined(PREVIOUSTOOLDIR)
     .  if exists(PREVIOUSTOOLDIR)
     PREVIOUSTOOLDIR!=	cat PREVIOUSTOOLDIR
     .  else
    -PREVIOUSTOOLDIR=	
    +PREVIOUSTOOLDIR=
     .  endif
     .endif
     
    @@ -201,59 +266,5 @@ realall realdepend: .MAKE
     .endif
     	echo ${TOOLDIR} >PREVIOUSTOOLDIR
     
    -# For each .WAIT point, make sure the immediately preceding target is
    -# installed before building anything after that point.
    -# (dsl: which means that with: 'a b .WAIT c' the build of 'c' waits for the
    -# install of 'b', but not the install of 'a'.)
    -#
    -# We use the "internal" targets and dependencies generated by 
    -# to achieve this. These targets look like:
    -#	subdir-all:	all-dir1     [.WAIT] all-dir2     etc..
    -#	subdir-install:	install-dir1 [.WAIT] install-dir2 etc..
    -# and so on for each element in ${TARGETS}, with .WAIT sources inserted at
    -# places corresponding to the .WAITs in our $SUBDIR variable.
    -#
    -# Also, since we're now mixing `install' with `all' and `depend' targets
    -# an order relationship between those in each individual subdirectory
    -# must be established.
    -#
    -_deps:=
    -_prev:=
    -
    -.for d in ${SUBDIR}				# {
    -_this:=		${d}
    -
    -.if ${_this} == ".WAIT"				# {
    -
    -# setup dependency to apply to all/depend targets in the next group
    -_deps:=		${_deps} ${_prev:S/^/install-/}
    -
    -# if we're building *only* individual targets (i.e. "dependall-yacc"),
    -# make sure prerequisite tools build before installing
    -# XXX: dsl: this is likely to generate a dependency loop since there is
    -# a .ORDER releation between the nodes as well.
    -.if !make(all) && !make(dependall) && !make(install)
    -install-${_prev}: dependall-${_prev}
    -.endif
    -
    -.else # ${_this} != ".WAIT"			# } {
    -
    -# order depend/all/install targets for ${d} subdir.
    -.ORDER: depend-${d} all-${d} dependall-${d} install-${d}
    -
    -# prevent cleandir in real{all,depend} from interfering with subdir makes
    -.ORDER: realdepend dependall-${d}
    -.ORDER: realdepend depend-${d}
    -.ORDER: realall all-${d}
    -
    -# make all/depend-${d} dependent on list of install targets
    -depend-${d} all-${d} dependall-${d}: ${_deps}
    -
    -.endif # ${_this} != ".WAIT"			# }
    -
    -# stash current name in case the next entry is .WAIT
    -_prev:=		${d}
    -.endfor						# }
    -
     cleandir:
     	rm -f ${CLEANFILES}
    diff --git a/tools/Makefile.gnuhost b/tools/Makefile.gnuhost
    index 07a882ebc..faf15a942 100644
    --- a/tools/Makefile.gnuhost
    +++ b/tools/Makefile.gnuhost
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile.gnuhost,v 1.39 2012/06/19 21:48:33 hans Exp $
    +#	$NetBSD: Makefile.gnuhost,v 1.42 2013/08/13 20:41:25 drochner Exp $
     #
     # Rules used when building a GNU host package.  Expects MODULE to be set.
     #
    @@ -26,6 +26,7 @@ MAKE_PROGRAM?=	${MAKE}
     
     GNUHOSTDIST?=	${.CURDIR}/../../gnu/dist/${MODULE}
     
    +.if defined(__MINIX)
     # AL - MINIX /usr/src does not have the sources for the GNU utilities
     # in-tree (they are much bigger than Minix itself!) So to successfully
     # use them while cross-compiling, we have to fetch them. The success of
    @@ -40,6 +41,15 @@ ${GNUHOSTDIST:H}/.gitignore: ${GNUHOSTDIST:H}/fetch.sh
     _gnu_get_src=${GNUHOSTDIST:H}/.gitignore
     .endif # exists(GNUHOSTDIST:H/fetch.sh) on MINIX
     
    +# AL - Special target for MINIX, reset the source tree as pristine
    +.if ${CLEANFETCHED:Uno} == "yes" && exists(${GNUHOSTDIST:H}/fetch.sh)
    +cleandir: clean_gnu_src
    +clean_gnu_src:
    +	-rm -r -f ${GNUHOSTDIST} ${GNUHOSTDIST:H}/.gitignore
    +# XXX CHECKME: could have used the content of .gitignore as well?
    +.endif # CLEANFETCHED == yes
    +.endif # defined(__MINIX)
    +
     FIND_ARGS+=	\! \( -type d \( \
     			-name 'CVS' -o \
     			-name 'config' -o \
    @@ -65,6 +75,7 @@ CONFIGURE_ENV+= \
     		AWK=${TOOL_AWK:Q} \
     		CC=${HOST_CC:Q} \
     		CFLAGS=${HOST_CFLAGS:Q} \
    +		CONFIG_SHELL=${HOST_SH:Q} \
     		CPPFLAGS=${HOST_CPPFLAGS:Q} \
     		CXX=${HOST_CXX:Q} \
     		CXXFLAGS=${HOST_CXXFLAGS:Q} \
    @@ -152,12 +163,4 @@ clean: clean.gnu
     clean.gnu:
     	-rm -r -f .*_done build
     
    -# AL - Special target for MINIX, reset the source tree as pristine
    -.if ${CLEANFETCHED:Uno} == "yes" && exists(${GNUHOSTDIST:H}/fetch.sh)
    -cleandir: clean_gnu_src
    -clean_gnu_src:
    -	-rm -r -f ${GNUHOSTDIST} ${GNUHOSTDIST:H}/.gitignore
    -# XXX CHECKME: could have used the content of .gitignore as well?
    -.endif # CLEANFETCHED == yes
    -
     .include 
    diff --git a/tools/Makefile.host b/tools/Makefile.host
    index ede0a7575..3088a91ba 100644
    --- a/tools/Makefile.host
    +++ b/tools/Makefile.host
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile.host,v 1.28 2011/04/10 16:52:36 joerg Exp $
    +#	$NetBSD: Makefile.host,v 1.31 2013/06/14 16:10:02 tsutsui Exp $
     
     NOINFO=		# defined
     NOLINT=		# defined
    @@ -7,13 +7,15 @@ NOMAN=		# defined
     .include 
     
     .ifndef NOCOMPATLIB
    -COMPATOBJ!=	cd ${.CURDIR}/../compat && ${PRINTOBJDIR}
    -.-include	"${COMPATOBJ}/defs.mk"
    +# Use TOOLDIR copy of libnbcompat and associated *.h files
    +.-include	"${TOOLDIR}/share/compat/defs.mk"
    +.elif !empty(.MAKE.OS:M*CYGWIN*)
    +HOSTEXEEXT=.exe
     .endif
     
     .if ${HOST_OSTYPE:C/\-.*//} == "Minix"
     LDADD+= -lcompat_minix
    -.endif
    +.endif # ${HOST_OSTYPE:C/\-.*//} == "Minix"
     
     # Resolve pathnames in variables.
     _RESOLVE_VARS=	CFLAGS CPPFLAGS DPADD HOST_CPPFLAGS LDADD
    @@ -47,6 +49,7 @@ HOSTPROGNAME?=	${HOSTPROG}
     HOST_BINDIR?=	${TOOLDIR}/bin
     HOST_CPPFLAGS:=	${HOST_CPPFLAGS} ${CPPFLAGS}
     HOST_CPPFLAGS:=	${HOST_CPPFLAGS:N-Wp,-iremap,*:N--sysroot=*}
    +HOST_INSTALLPROG?=${HOST_BINDIR}/${HOSTPROGNAME}${HOSTEXEEXT}
     .undef LINKS
     
     SRCS?=		${HOSTPROG}.c
    @@ -56,14 +59,17 @@ SRCS+=		${HOST_SRCS}
     
     # Install rule.
     realinstall: install.host install.files
    -install.host: ${HOST_BINDIR}/${HOSTPROGNAME}
    -${HOST_BINDIR}/${HOSTPROGNAME}:: ${HOSTPROG}
    +install.host: ${HOST_INSTALLPROG}
    +${HOST_INSTALLPROG}:: ${HOSTPROG}
     	${_MKTARGET_INSTALL}
     	mkdir -p ${HOST_BINDIR}
     	${HOST_INSTALL_FILE} -m ${BINMODE} ${HOSTPROG}${HOSTEXEEXT} ${.TARGET}
    +.if !empty(.MAKE.OS:M*CYGWIN*)
    +	${HOST_SH} ${NETBSDSRCDIR}/tools/binstall/mkmanifest ${.TARGET}
    +.endif
     
     .if ${MKUPDATE} == "no"
    -.PHONY:		${HOST_BINDIR}/${HOSTPROGNAME}
    +.PHONY:		${HOST_INSTALLPROG}
     .endif
     
     install.files:
    diff --git a/tools/Makefile.nbincludes b/tools/Makefile.nbincludes
    index 7cded023c..40aedc5b5 100644
    --- a/tools/Makefile.nbincludes
    +++ b/tools/Makefile.nbincludes
    @@ -38,7 +38,6 @@ beforedepend:
     	${HOST_INSTALL_DIR} ${TOOLDIR}/include/nbinclude
     	${HOST_INSTALL_DIR} ${TOOLDIR}/include/nbinclude/sys
     	${HOST_INSTALL_DIR} ${TOOLDIR}/include/nbinclude/ufs
    -.if !defined(__MINIX)
     	cd ${_ARCHDIR} && \
     	    ${TOOL_PAX} -s /include\\/// -rw ${_ARCH_INCS} \
     	    ${TOOLDIR}/include/nbinclude
    @@ -48,6 +47,5 @@ beforedepend:
     	    ${TOOL_PAX} -rw ${_SYSINCS} ${TOOLDIR}/include/nbinclude/sys
     	cd ${_UFSDIR} && \
     	    ${TOOL_PAX} -rw ${_UFS_INCS} ${TOOLDIR}/include/nbinclude/ufs
    -.endif
     	cd ${TOOLDIR}/include/nbinclude && rm -f machine && \
     	    ${HOST_INSTALL_SYMLINK} ${MACHINE} machine
    diff --git a/tools/binstall/Makefile b/tools/binstall/Makefile
    index de056717d..4b6082822 100644
    --- a/tools/binstall/Makefile
    +++ b/tools/binstall/Makefile
    @@ -1,10 +1,29 @@
    -#	$NetBSD: Makefile,v 1.7 2007/07/03 16:29:24 joerg Exp $
    +#	$NetBSD: Makefile,v 1.11 2013/03/16 22:32:50 christos Exp $
    +
    +NOMAN=
    +.include 
     
     HOSTPROGNAME=	${MACHINE_GNU_PLATFORM}-install
     HOST_SRCDIR=	usr.bin/xinstall
     CPPFLAGS+=	-I${.CURDIR}/../compat/sys
     CPPFLAGS+=	-DTARGET_STRIP=\"${STRIP}\"
     
    +# Prevent Makefile.host from trying to use the version of libnbcompat
    +# from ${TOOLDIR}.
    +NOCOMPATLIB=
    +
    +# Use uninstalled copy of host-mkdep
    +HOST_MKDEP_OBJ!= cd ${.CURDIR}/../host-mkdep && ${PRINTOBJDIR}
    +HOST_MKDEP=	${HOST_MKDEP_OBJ}/host-mkdep
    +MKDEP=		${HOST_MKDEP}
    +
    +# Use uninstalled copy of libnbcompat and associated *.h files
    +COMPATLIB_UNINSTALLED= yes
    +COMPATOBJ!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
    +.-include	"${COMPATOBJ}/defs.mk"
    +
     .include "${.CURDIR}/../Makefile.host"
     
    +# Use uninstalled copy of the install program
     INSTALL=	./xinstall
    +
    diff --git a/tools/binstall/mkmanifest b/tools/binstall/mkmanifest
    new file mode 100755
    index 000000000..4833efcae
    --- /dev/null
    +++ b/tools/binstall/mkmanifest
    @@ -0,0 +1,33 @@
    +#!/bin/sh
    +
    +makeone() {
    +	local name="$(basename "$1" .exe)"
    +	case $name in
    +	*instal*|*patch*|*update*|*setup*)
    +		;;
    +	*)
    +		return;;
    +	esac
    +cat << _EOF > ${1%.exe}.exe.manifest
    +
    +
    +
    +  
    +  
    +    
    +      
    +        
    +      
    +    
    +  
    +
    +_EOF
    +}
    +
    +for i
    +do
    +	makeone "$i"
    +done
    diff --git a/tools/binutils/mknative-binutils b/tools/binutils/mknative-binutils
    index 32f101595..82b12307e 100755
    --- a/tools/binutils/mknative-binutils
    +++ b/tools/binutils/mknative-binutils
    @@ -1,5 +1,5 @@
     #!/bin/sh
    -#	$NetBSD: mknative-binutils,v 1.8 2011/09/25 04:00:58 christos Exp $
    +#	$NetBSD: mknative-binutils,v 1.9 2013/10/01 15:41:17 skrll Exp $
     #
     # Shell script for generating all the constants needed for a native
     # platform build of src/external/gpl3/binutils
    @@ -122,6 +122,8 @@ get_binutils () {
     			DEFS EMUL EMULATION_OFILES INCLUDES OFILES STRINGIFY TEXINFOS
     		getvars ld/Makefile \
     			target_alias | sed 's,[\._0-9A-Z]*$,,'
    +		getvars	ld/Makefile \
    +			enable_initfini_array
     	} | write_mk external/gpl3/binutils/usr.bin/ld/arch/$MACHINE_ARCH/defs.mk
     
     	for f in config ldemul-list; do
    diff --git a/tools/compat/Makefile b/tools/compat/Makefile
    index bedc0bf22..182cbdda6 100644
    --- a/tools/compat/Makefile
    +++ b/tools/compat/Makefile
    @@ -1,10 +1,11 @@
    -#	$NetBSD: Makefile,v 1.59 2012/06/04 19:06:45 joerg Exp $
    +#	$NetBSD: Makefile,v 1.69 2013/08/06 22:04:25 apb Exp $
     
     HOSTLIB=	nbcompat
     
    -.ifndef __MINIX
    +.include 
    +
     SRCS=		atoll.c basename.c cdbr.c cdbw.c dirname.c \
    -		fgetln.c flock.c fparseln.c fpurge.c \
    +		dprintf.c fgetln.c flock.c fparseln.c fpurge.c \
     		getcap.c getline.c getmode.c getopt_long.c gettemp.c \
     		heapsort.c \
     		issetugid.c lchflags.c lchmod.c lchown.c libyywrap.c \
    @@ -15,27 +16,11 @@ SRCS=		atoll.c basename.c cdbr.c cdbw.c dirname.c \
     		raise_default_signal.c rmd160.c rmd160hl.c \
     		setenv.c setgroupent.c \
     		setpassent.c setprogname.c sha1.c sha1hl.c sha2.c \
    -		sha256hl.c sha384hl.c sha512hl.c snprintf.c stat_flags.c \
    -		strlcat.c strlcpy.c strmode.c strndup.c strsep.c strsuftoll.c \
    -		strtoll.c unvis.c vis.c err.c errx.c verr.c verrx.c \
    +		sha256hl.c sha384hl.c sha512hl.c snprintb.c snprintf.c \
    +		stat_flags.c strlcat.c strlcpy.c strmode.c strndup.c \
    +		strsep.c strsuftoll.c strtoll.c \
    +		unvis.c vis.c err.c errx.c verr.c verrx.c \
     		vwarn.c vwarnx.c warn.c warnx.c fts.c glob.c efun.c
    -.else
    -SRCS=		atoll.c basename.c dirname.c fgetln.c flock.c fparseln.c \
    -		fpurge.c getline.c getmode.c getopt_long.c gettemp.c \
    -		heapsort.c \
    -		issetugid.c lchflags.c lchmod.c lchown.c libyywrap.c \
    -		md2.c md2hl.c md4c.c md4hl.c md5c.c md5hl.c \
    -		mi_vector_hash.c mkdtemp.c \
    -		mkstemp.c pread.c putc_unlocked.c pwcache.c pwrite.c \
    -		pw_scan.c \
    -		raise_default_signal.c rmd160.c rmd160hl.c \
    -		setenv.c setgroupent.c \
    -		setpassent.c setprogname.c sha1.c sha1hl.c sha2.c \
    -		sha256hl.c sha384hl.c sha512hl.c snprintf.c stat_flags.c \
    -		strlcat.c strlcpy.c strmode.c strndup.c strsep.c strsuftoll.c \
    -		strtoll.c unvis.c vis.c err.c errx.c verr.c verrx.c \
    -		vwarn.c vwarnx.c warn.c warnx.c fts.c glob.c efun.c
    -.endif
     
     BUILD_OSTYPE!=  uname -s
     
    @@ -69,10 +54,12 @@ CPPFLAGS+=	-I. -I./include -I${.CURDIR} -I${.CURDIR}/sys \
     		${.CURDIR}/../../common/lib/libc/hash/sha2 \
     		${.CURDIR}/../../common/lib/libc/md \
     		${.CURDIR}/../../common/lib/libc/stdlib \
    +		${.CURDIR}/../../common/lib/libutil \
     		${.CURDIR}/../../external/bsd/flex/dist
     
     DPSRCS+=	defs.mk
     CLEANFILES+=	config.log config.status configure.lineno *.stamp
    +CLEANDIRFILES+=	defs.mk config.cache confdefs.h
     
     # Get components of Berkeley DB.
     _CURDIR:=	${.CURDIR}
    @@ -90,22 +77,81 @@ config.cache: include/.stamp configure nbtool_config.h.in defs.mk.in
     defs.mk: config.cache
     	@touch ${.TARGET}
     
    -# Run "${TOOLDIR}/bin/nbmake-${MACHINE} regen" by hand after editing
    -# configure.ac.  See more detailed instructions in configure.ac.
    -regen:
    -	cd ${.CURDIR} && ${TOOLDIR}/bin/${_TOOL_PREFIX}autoconf
    -	cd ${.CURDIR} && ${TOOLDIR}/bin/${_TOOL_PREFIX}autoheader
    +INCFILES=	nbtool_config.h
    +INCSUBDIRS=	sys machine rpc arpa
    +CLEANDIRFILES+= ${INCFILES}
    +
    +# CLEANDIRFILES may not contain directory names
    +cleandir:	cleandir.include
    +cleandir.include: .PHONY
    +		rm -rf include
     
     include/.stamp:
    -	mkdir -p include/sys include/machine include/rpc include/arpa
    +	mkdir -p ${INCSUBDIRS:@d@ include/$d @}
     	@touch ${.TARGET}
     
    -cleandir:
    -	-rm -f nbtool_config.h confdefs.h defs.mk
    -	-rm -r -f include
    -	-rm -f config.cache
    +# Install rules
    +
    +HOST_LIBDIR=	${TOOLDIR}/lib
    +HOST_INCSDIR=	${TOOLDIR}/include
    +HOST_SHAREDIR= ${TOOLDIR}/share
    +
    +install:	.PHONY install.lib includes install.defs.mk
    +
    +# Install lib${HOSTLIB}.a in ${TOOLDIR}/lib
    +install.lib: .PHONY ${HOST_LIBDIR}/lib${HOSTLIB}.a
    +${HOST_LIBDIR}/lib${HOSTLIB}.a: lib${HOSTLIB}.a
    +	${_MKTARGET_INSTALL}
    +	${HOST_INSTALL_DIR} ${HOST_LIBDIR}
    +	${HOST_INSTALL_FILE} -m ${LIBMODE} ${.ALLSRC} ${.TARGET}
    +
    +.for _f in ${INCFILES}
    +HOST_INCINSTFILES+= ${HOST_INCSDIR}/compat/${_f}
    +${HOST_INCSDIR}/compat/${_f}: ${_f}
    +	${_MKTARGET_INSTALL}
    +	${HOST_INSTALL_FILE} ${.ALLSRC} ${.TARGET}
    +.endfor
    +
    +.for _d in ${INCSUBDIRS}
    +HOST_INCINSTDIRS+= ${HOST_INCSDIR}/compat/${_d}
    +${HOST_INCSDIR}/compat/${_d}:
    +	${_MKTARGET_INSTALL}
    +	${HOST_INSTALL_DIR} ${.TARGET}
    +.endfor
    +
    +# Install include files in ${TOOLDIR}/include/compat
    +includes: .PHONY ${HOST_INCINSTDIRS} .WAIT ${HOST_INCINSTFILES}
    +	@(cd include && find . -name '*.h' -print | while read f ; do \
    +	    ${HOST_INSTALL_FILE} $$f ${HOST_INCSDIR}/compat/$$f ; \
    +	done)
    +
    +
    +# Install defs.mk in ${TOOLDIR}/share/compat
    +install.defs.mk: .PHONY ${HOST_SHAREDIR}/compat/defs.mk
    +${HOST_SHAREDIR}/compat/defs.mk: defs.mk
    +	${_MKTARGET_INSTALL}
    +	${HOST_INSTALL_DIR} ${HOST_SHAREDIR}
    +	${HOST_INSTALL_DIR} ${HOST_SHAREDIR}/compat
    +	${HOST_INSTALL_FILE} ${.ALLSRC} ${.TARGET}
    +
    +# bsd.hostlib.mk wants HOST_CPPFLAGS, not CPPFLAGS
     
     HOST_CPPFLAGS:=	${CPPFLAGS}
     CPPFLAGS:=	# empty
     
     .include 
    +
    +# Use uninstalled copy of host-mkdep
    +HOST_MKDEP_OBJ!= cd ${.CURDIR}/../host-mkdep && ${PRINTOBJDIR}
    +HOST_MKDEP=	${HOST_MKDEP_OBJ}/host-mkdep
    +MKDEP=		${HOST_MKDEP}
    +
    +# Use uninstalled copy of the install program
    +INSTALL_OBJ!=	cd ${NETBSDSRCDIR}/tools/binstall && ${PRINTOBJDIR}
    +INSTALL=	${INSTALL_OBJ}/xinstall
    +
    +# Run "${TOOLDIR}/bin/nbmake-${MACHINE} regen" by hand after editing
    +# configure.ac.  See more detailed instructions in configure.ac.
    +regen:
    +	cd ${.CURDIR} && ${TOOLDIR}/bin/${_TOOL_PREFIX}autoconf
    +	cd ${.CURDIR} && ${TOOLDIR}/bin/${_TOOL_PREFIX}autoheader
    diff --git a/tools/compat/cdbr.h b/tools/compat/cdbr.h
    new file mode 100644
    index 000000000..bdf5cd6c8
    --- /dev/null
    +++ b/tools/compat/cdbr.h
    @@ -0,0 +1,5 @@
    +/*	$NetBSD: cdbr.h,v 1.1 2012/06/04 19:06:45 joerg Exp $	*/
    +
    +/* We unconditionally use the NetBSD cdbr(3) in libnbcompat. */
    +#include "nbtool_config.h"
    +#include "../../include/cdbr.h"
    diff --git a/tools/compat/cdbw.h b/tools/compat/cdbw.h
    new file mode 100644
    index 000000000..bc5b9cc7f
    --- /dev/null
    +++ b/tools/compat/cdbw.h
    @@ -0,0 +1,5 @@
    +/*	$NetBSD: cdbw.h,v 1.1 2012/06/03 21:02:50 joerg Exp $	*/
    +
    +/* We unconditionally use the NetBSD cdbw(3) in libnbcompat. */
    +#include "nbtool_config.h"
    +#include "../../include/cdbw.h"
    diff --git a/tools/compat/compat_defs.h b/tools/compat/compat_defs.h
    index 4d4843ab3..fd76d0bab 100644
    --- a/tools/compat/compat_defs.h
    +++ b/tools/compat/compat_defs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: compat_defs.h,v 1.86 2012/06/04 10:18:01 joerg Exp $	*/
    +/*	$NetBSD: compat_defs.h,v 1.93 2013/10/24 13:59:47 apb Exp $	*/
     
     #ifndef	__NETBSD_COMPAT_DEFS_H__
     #define	__NETBSD_COMPAT_DEFS_H__
    @@ -62,6 +62,10 @@
     #include 
     #endif
     
    +#if HAVE_RPC_TYPES_H
    +#include 
    +#endif
    +
     #ifdef _NETBSD_SOURCE
     #error _NETBSD_SOURCE is *not* to be defined.
     #endif
    @@ -121,12 +125,16 @@ struct group;
     #define __dead
     #undef __printflike
     #define __printflike(x,y)
    +#undef __format_arg
    +#define __format_arg(x)
     #undef __restrict
     #define __restrict
     #undef __unused
     #define __unused
     #undef __arraycount
     #define	__arraycount(__x)	(sizeof(__x) / sizeof(__x[0]))
    +#undef __USE
    +#define __USE(a) ((void)(a))
     
     /* Dirent support. */
     
    @@ -164,6 +172,11 @@ typedef unsigned int id_t;
     #endif
     
     #if !HAVE_SOCKLEN_T
    +/*
    + * This is defined as int for compatibility with legacy systems (and not
    + * unsigned int), since universally it was int in most systems that did not
    + * define it.
    + */
     typedef int socklen_t;
     #endif
     
    @@ -263,6 +276,9 @@ int evasprintf(char **, const char *, va_list);
     #if !HAVE_FGETLN || defined(__NetBSD__) || defined(__minix)
     char *fgetln(FILE *, size_t *);
     #endif
    +#if !HAVE_DPRINTF
    +int dprintf(int, const char *, ...);
    +#endif
     
     #if !HAVE_FLOCK
     # define LOCK_SH		0x01
    @@ -434,6 +450,11 @@ const char *getprogname(void);
     void setprogname(const char *);
     #endif
     
    +#if !HAVE_SNPRINTB_M
    +int snprintb(char *, size_t, const char *, uint64_t);
    +int snprintb_m(char *, size_t, const char *, uint64_t, size_t);
    +#endif
    +
     #if !HAVE_SNPRINTF
     int snprintf(char *, size_t, const char *, ...);
     #endif
    diff --git a/tools/compat/configure b/tools/compat/configure
    index 5c595c4d8..d71d402d1 100755
    --- a/tools/compat/configure
    +++ b/tools/compat/configure
    @@ -1864,8 +1864,8 @@ 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
     
    -            echo "$as_me:1867: checking for MINIX3" >&5
    -echo $ECHO_N "checking for MINIX3... $ECHO_C" >&6
    +            echo "$as_me:1867: checking for NetBSD or MINIX3" >&5
    +echo $ECHO_N "checking for NetBSD or MINIX3... $ECHO_C" >&6
           cat >conftest.$ac_ext <<_ACEOF
     #line 1870 "configure"
     #include "confdefs.h"
    @@ -2552,7 +2552,7 @@ fi
     fi
     
     for ac_header in sys/mtio.h sys/sysmacros.h sys/syslimits.h \
    -	getopt.h features.h malloc.h sys/poll.h pthread.h stddef.h
    +	getopt.h features.h malloc.h sys/poll.h pthread.h stddef.h rpc/types.h
     do
     as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
     echo "$as_me:2558: checking for $ac_header" >&5
    @@ -3162,6 +3162,9 @@ else
     #line 3162 "configure"
     #include "confdefs.h"
     #include 
    +#ifdef HAVE_RPC_TYPES_H
    +#include 
    +#endif
     #include 
     
     int
    @@ -3176,16 +3179,16 @@ if (sizeof (socklen_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3179: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3182: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3182: \$? = $ac_status" >&5
    +  echo "$as_me:3185: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3185: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3188: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3188: \$? = $ac_status" >&5
    +  echo "$as_me:3191: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_socklen_t=yes
     else
    @@ -3195,7 +3198,7 @@ ac_cv_type_socklen_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3198: result: $ac_cv_type_socklen_t" >&5
    +echo "$as_me:3201: result: $ac_cv_type_socklen_t" >&5
     echo "${ECHO_T}$ac_cv_type_socklen_t" >&6
     if test $ac_cv_type_socklen_t = yes; then
     
    @@ -3205,13 +3208,13 @@ EOF
     
     fi
     
    -	echo "$as_me:3208: checking for uint8_t" >&5
    +	echo "$as_me:3211: checking for uint8_t" >&5
     echo $ECHO_N "checking for uint8_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint8_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3214 "configure"
    +#line 3217 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3226,16 +3229,16 @@ if (sizeof (uint8_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3229: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3232: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3232: \$? = $ac_status" >&5
    +  echo "$as_me:3235: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3235: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3238: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3238: \$? = $ac_status" >&5
    +  echo "$as_me:3241: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint8_t=yes
     else
    @@ -3245,19 +3248,19 @@ ac_cv_type_uint8_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3248: result: $ac_cv_type_uint8_t" >&5
    +echo "$as_me:3251: result: $ac_cv_type_uint8_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint8_t" >&6
     if test $ac_cv_type_uint8_t = yes; then
       :
     else
     
    -		echo "$as_me:3254: checking for u_int8_t" >&5
    +		echo "$as_me:3257: checking for u_int8_t" >&5
     echo $ECHO_N "checking for u_int8_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int8_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3260 "configure"
    +#line 3263 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3272,16 +3275,16 @@ if (sizeof (u_int8_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3275: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3278: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3278: \$? = $ac_status" >&5
    +  echo "$as_me:3281: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3281: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3284: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3284: \$? = $ac_status" >&5
    +  echo "$as_me:3287: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int8_t=yes
     else
    @@ -3291,7 +3294,7 @@ ac_cv_type_u_int8_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3294: result: $ac_cv_type_u_int8_t" >&5
    +echo "$as_me:3297: result: $ac_cv_type_u_int8_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int8_t" >&6
     if test $ac_cv_type_u_int8_t = yes; then
     
    @@ -3300,20 +3303,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3303: error: cannot find a suitable type for uint8_t" >&5
    +  { { echo "$as_me:3306: error: cannot find a suitable type for uint8_t" >&5
     echo "$as_me: error: cannot find a suitable type for uint8_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3310: checking for u_int8_t" >&5
    +	echo "$as_me:3313: checking for u_int8_t" >&5
     echo $ECHO_N "checking for u_int8_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int8_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3316 "configure"
    +#line 3319 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3328,16 +3331,16 @@ if (sizeof (u_int8_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3331: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3334: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3334: \$? = $ac_status" >&5
    +  echo "$as_me:3337: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3337: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3340: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3340: \$? = $ac_status" >&5
    +  echo "$as_me:3343: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int8_t=yes
     else
    @@ -3347,19 +3350,19 @@ ac_cv_type_u_int8_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3350: result: $ac_cv_type_u_int8_t" >&5
    +echo "$as_me:3353: result: $ac_cv_type_u_int8_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int8_t" >&6
     if test $ac_cv_type_u_int8_t = yes; then
       :
     else
     
    -		echo "$as_me:3356: checking for uint8_t" >&5
    +		echo "$as_me:3359: checking for uint8_t" >&5
     echo $ECHO_N "checking for uint8_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint8_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3362 "configure"
    +#line 3365 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3374,16 +3377,16 @@ if (sizeof (uint8_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3377: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3380: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3380: \$? = $ac_status" >&5
    +  echo "$as_me:3383: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3383: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3386: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3386: \$? = $ac_status" >&5
    +  echo "$as_me:3389: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint8_t=yes
     else
    @@ -3393,7 +3396,7 @@ ac_cv_type_uint8_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3396: result: $ac_cv_type_uint8_t" >&5
    +echo "$as_me:3399: result: $ac_cv_type_uint8_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint8_t" >&6
     if test $ac_cv_type_uint8_t = yes; then
     
    @@ -3402,20 +3405,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3405: error: cannot find a suitable type for u_int8_t" >&5
    +  { { echo "$as_me:3408: error: cannot find a suitable type for u_int8_t" >&5
     echo "$as_me: error: cannot find a suitable type for u_int8_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3412: checking for uint16_t" >&5
    +	echo "$as_me:3415: checking for uint16_t" >&5
     echo $ECHO_N "checking for uint16_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint16_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3418 "configure"
    +#line 3421 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3430,16 +3433,16 @@ if (sizeof (uint16_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3433: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3436: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3436: \$? = $ac_status" >&5
    +  echo "$as_me:3439: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3439: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3442: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3442: \$? = $ac_status" >&5
    +  echo "$as_me:3445: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint16_t=yes
     else
    @@ -3449,19 +3452,19 @@ ac_cv_type_uint16_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3452: result: $ac_cv_type_uint16_t" >&5
    +echo "$as_me:3455: result: $ac_cv_type_uint16_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint16_t" >&6
     if test $ac_cv_type_uint16_t = yes; then
       :
     else
     
    -		echo "$as_me:3458: checking for u_int16_t" >&5
    +		echo "$as_me:3461: checking for u_int16_t" >&5
     echo $ECHO_N "checking for u_int16_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int16_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3464 "configure"
    +#line 3467 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3476,16 +3479,16 @@ if (sizeof (u_int16_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3479: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3482: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3482: \$? = $ac_status" >&5
    +  echo "$as_me:3485: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3485: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3488: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3488: \$? = $ac_status" >&5
    +  echo "$as_me:3491: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int16_t=yes
     else
    @@ -3495,7 +3498,7 @@ ac_cv_type_u_int16_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3498: result: $ac_cv_type_u_int16_t" >&5
    +echo "$as_me:3501: result: $ac_cv_type_u_int16_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int16_t" >&6
     if test $ac_cv_type_u_int16_t = yes; then
     
    @@ -3504,20 +3507,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3507: error: cannot find a suitable type for uint16_t" >&5
    +  { { echo "$as_me:3510: error: cannot find a suitable type for uint16_t" >&5
     echo "$as_me: error: cannot find a suitable type for uint16_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3514: checking for u_int16_t" >&5
    +	echo "$as_me:3517: checking for u_int16_t" >&5
     echo $ECHO_N "checking for u_int16_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int16_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3520 "configure"
    +#line 3523 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3532,16 +3535,16 @@ if (sizeof (u_int16_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3535: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3538: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3538: \$? = $ac_status" >&5
    +  echo "$as_me:3541: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3541: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3544: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3544: \$? = $ac_status" >&5
    +  echo "$as_me:3547: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int16_t=yes
     else
    @@ -3551,19 +3554,19 @@ ac_cv_type_u_int16_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3554: result: $ac_cv_type_u_int16_t" >&5
    +echo "$as_me:3557: result: $ac_cv_type_u_int16_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int16_t" >&6
     if test $ac_cv_type_u_int16_t = yes; then
       :
     else
     
    -		echo "$as_me:3560: checking for uint16_t" >&5
    +		echo "$as_me:3563: checking for uint16_t" >&5
     echo $ECHO_N "checking for uint16_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint16_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3566 "configure"
    +#line 3569 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3578,16 +3581,16 @@ if (sizeof (uint16_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3581: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3584: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3584: \$? = $ac_status" >&5
    +  echo "$as_me:3587: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3587: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3590: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3590: \$? = $ac_status" >&5
    +  echo "$as_me:3593: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint16_t=yes
     else
    @@ -3597,7 +3600,7 @@ ac_cv_type_uint16_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3600: result: $ac_cv_type_uint16_t" >&5
    +echo "$as_me:3603: result: $ac_cv_type_uint16_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint16_t" >&6
     if test $ac_cv_type_uint16_t = yes; then
     
    @@ -3606,20 +3609,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3609: error: cannot find a suitable type for u_int16_t" >&5
    +  { { echo "$as_me:3612: error: cannot find a suitable type for u_int16_t" >&5
     echo "$as_me: error: cannot find a suitable type for u_int16_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3616: checking for uint32_t" >&5
    +	echo "$as_me:3619: checking for uint32_t" >&5
     echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint32_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3622 "configure"
    +#line 3625 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3634,16 +3637,16 @@ if (sizeof (uint32_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3637: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3640: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3640: \$? = $ac_status" >&5
    +  echo "$as_me:3643: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3643: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3646: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3646: \$? = $ac_status" >&5
    +  echo "$as_me:3649: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint32_t=yes
     else
    @@ -3653,19 +3656,19 @@ ac_cv_type_uint32_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3656: result: $ac_cv_type_uint32_t" >&5
    +echo "$as_me:3659: result: $ac_cv_type_uint32_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint32_t" >&6
     if test $ac_cv_type_uint32_t = yes; then
       :
     else
     
    -		echo "$as_me:3662: checking for u_int32_t" >&5
    +		echo "$as_me:3665: checking for u_int32_t" >&5
     echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int32_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3668 "configure"
    +#line 3671 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3680,16 +3683,16 @@ if (sizeof (u_int32_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3683: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3686: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3686: \$? = $ac_status" >&5
    +  echo "$as_me:3689: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3689: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3692: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3692: \$? = $ac_status" >&5
    +  echo "$as_me:3695: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int32_t=yes
     else
    @@ -3699,7 +3702,7 @@ ac_cv_type_u_int32_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3702: result: $ac_cv_type_u_int32_t" >&5
    +echo "$as_me:3705: result: $ac_cv_type_u_int32_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6
     if test $ac_cv_type_u_int32_t = yes; then
     
    @@ -3708,20 +3711,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3711: error: cannot find a suitable type for uint32_t" >&5
    +  { { echo "$as_me:3714: error: cannot find a suitable type for uint32_t" >&5
     echo "$as_me: error: cannot find a suitable type for uint32_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3718: checking for u_int32_t" >&5
    +	echo "$as_me:3721: checking for u_int32_t" >&5
     echo $ECHO_N "checking for u_int32_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int32_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3724 "configure"
    +#line 3727 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3736,16 +3739,16 @@ if (sizeof (u_int32_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3739: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3742: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3742: \$? = $ac_status" >&5
    +  echo "$as_me:3745: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3745: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3748: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3748: \$? = $ac_status" >&5
    +  echo "$as_me:3751: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int32_t=yes
     else
    @@ -3755,19 +3758,19 @@ ac_cv_type_u_int32_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3758: result: $ac_cv_type_u_int32_t" >&5
    +echo "$as_me:3761: result: $ac_cv_type_u_int32_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int32_t" >&6
     if test $ac_cv_type_u_int32_t = yes; then
       :
     else
     
    -		echo "$as_me:3764: checking for uint32_t" >&5
    +		echo "$as_me:3767: checking for uint32_t" >&5
     echo $ECHO_N "checking for uint32_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint32_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3770 "configure"
    +#line 3773 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3782,16 +3785,16 @@ if (sizeof (uint32_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3785: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3788: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3788: \$? = $ac_status" >&5
    +  echo "$as_me:3791: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3791: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3794: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3794: \$? = $ac_status" >&5
    +  echo "$as_me:3797: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint32_t=yes
     else
    @@ -3801,7 +3804,7 @@ ac_cv_type_uint32_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3804: result: $ac_cv_type_uint32_t" >&5
    +echo "$as_me:3807: result: $ac_cv_type_uint32_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint32_t" >&6
     if test $ac_cv_type_uint32_t = yes; then
     
    @@ -3810,20 +3813,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3813: error: cannot find a suitable type for u_int32_t" >&5
    +  { { echo "$as_me:3816: error: cannot find a suitable type for u_int32_t" >&5
     echo "$as_me: error: cannot find a suitable type for u_int32_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3820: checking for uint64_t" >&5
    +	echo "$as_me:3823: checking for uint64_t" >&5
     echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint64_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3826 "configure"
    +#line 3829 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3838,16 +3841,16 @@ if (sizeof (uint64_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3841: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3844: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3844: \$? = $ac_status" >&5
    +  echo "$as_me:3847: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3847: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3850: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3850: \$? = $ac_status" >&5
    +  echo "$as_me:3853: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint64_t=yes
     else
    @@ -3857,19 +3860,19 @@ ac_cv_type_uint64_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3860: result: $ac_cv_type_uint64_t" >&5
    +echo "$as_me:3863: result: $ac_cv_type_uint64_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
     if test $ac_cv_type_uint64_t = yes; then
       :
     else
     
    -		echo "$as_me:3866: checking for u_int64_t" >&5
    +		echo "$as_me:3869: checking for u_int64_t" >&5
     echo $ECHO_N "checking for u_int64_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int64_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3872 "configure"
    +#line 3875 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3884,16 +3887,16 @@ if (sizeof (u_int64_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3887: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3890: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3890: \$? = $ac_status" >&5
    +  echo "$as_me:3893: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3893: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3896: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3896: \$? = $ac_status" >&5
    +  echo "$as_me:3899: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int64_t=yes
     else
    @@ -3903,7 +3906,7 @@ ac_cv_type_u_int64_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3906: result: $ac_cv_type_u_int64_t" >&5
    +echo "$as_me:3909: result: $ac_cv_type_u_int64_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int64_t" >&6
     if test $ac_cv_type_u_int64_t = yes; then
     
    @@ -3912,20 +3915,20 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:3915: error: cannot find a suitable type for uint64_t" >&5
    +  { { echo "$as_me:3918: error: cannot find a suitable type for uint64_t" >&5
     echo "$as_me: error: cannot find a suitable type for uint64_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
     
     fi
     
    -	echo "$as_me:3922: checking for u_int64_t" >&5
    +	echo "$as_me:3925: checking for u_int64_t" >&5
     echo $ECHO_N "checking for u_int64_t... $ECHO_C" >&6
     if test "${ac_cv_type_u_int64_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3928 "configure"
    +#line 3931 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3940,16 +3943,16 @@ if (sizeof (u_int64_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3943: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3946: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3946: \$? = $ac_status" >&5
    +  echo "$as_me:3949: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3949: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3952: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3952: \$? = $ac_status" >&5
    +  echo "$as_me:3955: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_u_int64_t=yes
     else
    @@ -3959,19 +3962,19 @@ ac_cv_type_u_int64_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:3962: result: $ac_cv_type_u_int64_t" >&5
    +echo "$as_me:3965: result: $ac_cv_type_u_int64_t" >&5
     echo "${ECHO_T}$ac_cv_type_u_int64_t" >&6
     if test $ac_cv_type_u_int64_t = yes; then
       :
     else
     
    -		echo "$as_me:3968: checking for uint64_t" >&5
    +		echo "$as_me:3971: checking for uint64_t" >&5
     echo $ECHO_N "checking for uint64_t... $ECHO_C" >&6
     if test "${ac_cv_type_uint64_t+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 3974 "configure"
    +#line 3977 "configure"
     #include "confdefs.h"
     $ac_includes_default
     int
    @@ -3986,16 +3989,16 @@ if (sizeof (uint64_t))
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:3989: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:3992: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:3992: \$? = $ac_status" >&5
    +  echo "$as_me:3995: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:3995: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:3998: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:3998: \$? = $ac_status" >&5
    +  echo "$as_me:4001: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_type_uint64_t=yes
     else
    @@ -4005,7 +4008,7 @@ ac_cv_type_uint64_t=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4008: result: $ac_cv_type_uint64_t" >&5
    +echo "$as_me:4011: result: $ac_cv_type_uint64_t" >&5
     echo "${ECHO_T}$ac_cv_type_uint64_t" >&6
     if test $ac_cv_type_uint64_t = yes; then
     
    @@ -4014,7 +4017,7 @@ cat >>confdefs.h <<\EOF
     EOF
     
     else
    -  { { echo "$as_me:4017: error: cannot find a suitable type for u_int64_t" >&5
    +  { { echo "$as_me:4020: error: cannot find a suitable type for u_int64_t" >&5
     echo "$as_me: error: cannot find a suitable type for u_int64_t" >&2;}
        { (exit 1); exit 1; }; }
     fi
    @@ -4022,13 +4025,13 @@ fi
     fi
     
     # Struct members.
    -echo "$as_me:4025: checking for DIR.dd_fd" >&5
    +echo "$as_me:4028: checking for DIR.dd_fd" >&5
     echo $ECHO_N "checking for DIR.dd_fd... $ECHO_C" >&6
     if test "${ac_cv_member_DIR_dd_fd+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4031 "configure"
    +#line 4034 "configure"
     #include "confdefs.h"
     #include 
     #include 
    @@ -4044,16 +4047,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4047: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4050: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4050: \$? = $ac_status" >&5
    +  echo "$as_me:4053: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4053: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4056: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4056: \$? = $ac_status" >&5
    +  echo "$as_me:4059: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_DIR_dd_fd=yes
     else
    @@ -4063,7 +4066,7 @@ ac_cv_member_DIR_dd_fd=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4066: result: $ac_cv_member_DIR_dd_fd" >&5
    +echo "$as_me:4069: result: $ac_cv_member_DIR_dd_fd" >&5
     echo "${ECHO_T}$ac_cv_member_DIR_dd_fd" >&6
     if test $ac_cv_member_DIR_dd_fd = yes; then
     
    @@ -4072,13 +4075,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4078: checking for DIR.__dd_fd" >&5
     echo $ECHO_N "checking for DIR.__dd_fd... $ECHO_C" >&6
     if test "${ac_cv_member_DIR___dd_fd+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4081 "configure"
    +#line 4084 "configure"
     #include "confdefs.h"
     #include 
     #include 
    @@ -4094,16 +4097,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4097: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4100: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4100: \$? = $ac_status" >&5
    +  echo "$as_me:4103: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4103: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4106: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4106: \$? = $ac_status" >&5
    +  echo "$as_me:4109: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_DIR___dd_fd=yes
     else
    @@ -4113,7 +4116,7 @@ ac_cv_member_DIR___dd_fd=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4116: result: $ac_cv_member_DIR___dd_fd" >&5
    +echo "$as_me:4119: result: $ac_cv_member_DIR___dd_fd" >&5
     echo "${ECHO_T}$ac_cv_member_DIR___dd_fd" >&6
     if test $ac_cv_member_DIR___dd_fd = yes; then
     
    @@ -4122,13 +4125,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4128: checking for struct dirent.d_namlen" >&5
     echo $ECHO_N "checking for struct dirent.d_namlen... $ECHO_C" >&6
     if test "${ac_cv_member_struct_dirent_d_namlen+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4131 "configure"
    +#line 4134 "configure"
     #include "confdefs.h"
     #include 
     #include 
    @@ -4144,16 +4147,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4147: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4150: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4150: \$? = $ac_status" >&5
    +  echo "$as_me:4153: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4153: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4156: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4156: \$? = $ac_status" >&5
    +  echo "$as_me:4159: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_dirent_d_namlen=yes
     else
    @@ -4163,7 +4166,7 @@ ac_cv_member_struct_dirent_d_namlen=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4166: result: $ac_cv_member_struct_dirent_d_namlen" >&5
    +echo "$as_me:4169: result: $ac_cv_member_struct_dirent_d_namlen" >&5
     echo "${ECHO_T}$ac_cv_member_struct_dirent_d_namlen" >&6
     if test $ac_cv_member_struct_dirent_d_namlen = yes; then
     
    @@ -4173,13 +4176,13 @@ EOF
     
     fi
     
    -echo "$as_me:4176: checking for struct stat.st_flags" >&5
    +echo "$as_me:4179: checking for struct stat.st_flags" >&5
     echo $ECHO_N "checking for struct stat.st_flags... $ECHO_C" >&6
     if test "${ac_cv_member_struct_stat_st_flags+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4182 "configure"
    +#line 4185 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4194,16 +4197,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4197: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4200: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4200: \$? = $ac_status" >&5
    +  echo "$as_me:4203: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4203: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4206: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4206: \$? = $ac_status" >&5
    +  echo "$as_me:4209: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_stat_st_flags=yes
     else
    @@ -4213,7 +4216,7 @@ ac_cv_member_struct_stat_st_flags=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4216: result: $ac_cv_member_struct_stat_st_flags" >&5
    +echo "$as_me:4219: result: $ac_cv_member_struct_stat_st_flags" >&5
     echo "${ECHO_T}$ac_cv_member_struct_stat_st_flags" >&6
     if test $ac_cv_member_struct_stat_st_flags = yes; then
     
    @@ -4222,13 +4225,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4228: checking for struct stat.st_gen" >&5
     echo $ECHO_N "checking for struct stat.st_gen... $ECHO_C" >&6
     if test "${ac_cv_member_struct_stat_st_gen+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4231 "configure"
    +#line 4234 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4243,16 +4246,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4246: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4249: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4249: \$? = $ac_status" >&5
    +  echo "$as_me:4252: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4252: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4255: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4255: \$? = $ac_status" >&5
    +  echo "$as_me:4258: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_stat_st_gen=yes
     else
    @@ -4262,7 +4265,7 @@ ac_cv_member_struct_stat_st_gen=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4265: result: $ac_cv_member_struct_stat_st_gen" >&5
    +echo "$as_me:4268: result: $ac_cv_member_struct_stat_st_gen" >&5
     echo "${ECHO_T}$ac_cv_member_struct_stat_st_gen" >&6
     if test $ac_cv_member_struct_stat_st_gen = yes; then
     
    @@ -4271,13 +4274,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4277: checking for struct stat.st_birthtime" >&5
     echo $ECHO_N "checking for struct stat.st_birthtime... $ECHO_C" >&6
     if test "${ac_cv_member_struct_stat_st_birthtime+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4280 "configure"
    +#line 4283 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4292,16 +4295,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4295: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4298: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4298: \$? = $ac_status" >&5
    +  echo "$as_me:4301: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4301: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4304: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4304: \$? = $ac_status" >&5
    +  echo "$as_me:4307: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_stat_st_birthtime=yes
     else
    @@ -4311,7 +4314,7 @@ ac_cv_member_struct_stat_st_birthtime=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4314: result: $ac_cv_member_struct_stat_st_birthtime" >&5
    +echo "$as_me:4317: result: $ac_cv_member_struct_stat_st_birthtime" >&5
     echo "${ECHO_T}$ac_cv_member_struct_stat_st_birthtime" >&6
     if test $ac_cv_member_struct_stat_st_birthtime = yes; then
     
    @@ -4320,13 +4323,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4326: checking for struct stat.st_birthtimensec" >&5
     echo $ECHO_N "checking for struct stat.st_birthtimensec... $ECHO_C" >&6
     if test "${ac_cv_member_struct_stat_st_birthtimensec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4329 "configure"
    +#line 4332 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4341,16 +4344,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4344: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4347: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4347: \$? = $ac_status" >&5
    +  echo "$as_me:4350: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4350: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4353: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4353: \$? = $ac_status" >&5
    +  echo "$as_me:4356: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_stat_st_birthtimensec=yes
     else
    @@ -4360,7 +4363,7 @@ ac_cv_member_struct_stat_st_birthtimensec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4363: result: $ac_cv_member_struct_stat_st_birthtimensec" >&5
    +echo "$as_me:4366: result: $ac_cv_member_struct_stat_st_birthtimensec" >&5
     echo "${ECHO_T}$ac_cv_member_struct_stat_st_birthtimensec" >&6
     if test $ac_cv_member_struct_stat_st_birthtimensec = yes; then
     
    @@ -4369,13 +4372,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4375: checking for struct stat.st_atim" >&5
     echo $ECHO_N "checking for struct stat.st_atim... $ECHO_C" >&6
     if test "${ac_cv_member_struct_stat_st_atim+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4378 "configure"
    +#line 4381 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4390,16 +4393,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4393: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4396: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4396: \$? = $ac_status" >&5
    +  echo "$as_me:4399: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4399: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4402: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4402: \$? = $ac_status" >&5
    +  echo "$as_me:4405: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_stat_st_atim=yes
     else
    @@ -4409,7 +4412,7 @@ ac_cv_member_struct_stat_st_atim=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4412: result: $ac_cv_member_struct_stat_st_atim" >&5
    +echo "$as_me:4415: result: $ac_cv_member_struct_stat_st_atim" >&5
     echo "${ECHO_T}$ac_cv_member_struct_stat_st_atim" >&6
     if test $ac_cv_member_struct_stat_st_atim = yes; then
     
    @@ -4418,13 +4421,13 @@ cat >>confdefs.h <&5
    +echo "$as_me:4424: checking for struct stat.st_mtimensec" >&5
     echo $ECHO_N "checking for struct stat.st_mtimensec... $ECHO_C" >&6
     if test "${ac_cv_member_struct_stat_st_mtimensec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4427 "configure"
    +#line 4430 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4439,16 +4442,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4442: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4445: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4445: \$? = $ac_status" >&5
    +  echo "$as_me:4448: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4448: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4451: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4451: \$? = $ac_status" >&5
    +  echo "$as_me:4454: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_stat_st_mtimensec=yes
     else
    @@ -4458,7 +4461,7 @@ ac_cv_member_struct_stat_st_mtimensec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4461: result: $ac_cv_member_struct_stat_st_mtimensec" >&5
    +echo "$as_me:4464: result: $ac_cv_member_struct_stat_st_mtimensec" >&5
     echo "${ECHO_T}$ac_cv_member_struct_stat_st_mtimensec" >&6
     if test $ac_cv_member_struct_stat_st_mtimensec = yes; then
     
    @@ -4468,13 +4471,13 @@ EOF
     
     fi
     
    -echo "$as_me:4471: checking for struct statvfs.f_iosize" >&5
    +echo "$as_me:4474: checking for struct statvfs.f_iosize" >&5
     echo $ECHO_N "checking for struct statvfs.f_iosize... $ECHO_C" >&6
     if test "${ac_cv_member_struct_statvfs_f_iosize+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4477 "configure"
    +#line 4480 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4489,16 +4492,16 @@ return 0;
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4492: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4495: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4495: \$? = $ac_status" >&5
    +  echo "$as_me:4498: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4498: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4501: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4501: \$? = $ac_status" >&5
    +  echo "$as_me:4504: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_member_struct_statvfs_f_iosize=yes
     else
    @@ -4508,7 +4511,7 @@ ac_cv_member_struct_statvfs_f_iosize=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4511: result: $ac_cv_member_struct_statvfs_f_iosize" >&5
    +echo "$as_me:4514: result: $ac_cv_member_struct_statvfs_f_iosize" >&5
     echo "${ECHO_T}$ac_cv_member_struct_statvfs_f_iosize" >&6
     if test $ac_cv_member_struct_statvfs_f_iosize = yes; then
     
    @@ -4518,19 +4521,72 @@ EOF
     
     fi
     
    +echo "$as_me:4524: checking for struct tm.tm_gmtoff" >&5
    +echo $ECHO_N "checking for struct tm.tm_gmtoff... $ECHO_C" >&6
    +if test "${ac_cv_member_struct_tm_tm_gmtoff+set}" = set; then
    +  echo $ECHO_N "(cached) $ECHO_C" >&6
    +else
    +  cat >conftest.$ac_ext <<_ACEOF
    +#line 4530 "configure"
    +#include "confdefs.h"
    +#include 
    +
    +int
    +main ()
    +{
    +static struct tm ac_aggr;
    +if (ac_aggr.tm_gmtoff)
    +return 0;
    +  ;
    +  return 0;
    +}
    +_ACEOF
    +rm -f conftest.$ac_objext
    +if { (eval echo "$as_me:4545: \"$ac_compile\"") >&5
    +  (eval $ac_compile) 2>&5
    +  ac_status=$?
    +  echo "$as_me:4548: \$? = $ac_status" >&5
    +  (exit $ac_status); } &&
    +         { ac_try='test -s conftest.$ac_objext'
    +  { (eval echo "$as_me:4551: \"$ac_try\"") >&5
    +  (eval $ac_try) 2>&5
    +  ac_status=$?
    +  echo "$as_me:4554: \$? = $ac_status" >&5
    +  (exit $ac_status); }; }; then
    +  ac_cv_member_struct_tm_tm_gmtoff=yes
    +else
    +  echo "$as_me: failed program was:" >&5
    +cat conftest.$ac_ext >&5
    +ac_cv_member_struct_tm_tm_gmtoff=no
    +fi
    +rm -f conftest.$ac_objext conftest.$ac_ext
    +fi
    +echo "$as_me:4564: result: $ac_cv_member_struct_tm_tm_gmtoff" >&5
    +echo "${ECHO_T}$ac_cv_member_struct_tm_tm_gmtoff" >&6
    +if test $ac_cv_member_struct_tm_tm_gmtoff = yes; then
    +
    +cat >>confdefs.h <&5
    +echo "$as_me:4575: checking whether optind is declared" >&5
     echo $ECHO_N "checking whether optind is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_optind+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4528 "configure"
    +#line 4581 "configure"
     #include "confdefs.h"
     
     #include 
     #include 
     #include 
    +#ifdef HAVE_GETOPT_H
    +#include 
    +#endif
     
     int
     main ()
    @@ -4544,16 +4600,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4547: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4603: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4550: \$? = $ac_status" >&5
    +  echo "$as_me:4606: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4553: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4609: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4556: \$? = $ac_status" >&5
    +  echo "$as_me:4612: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_optind=yes
     else
    @@ -4563,7 +4619,7 @@ ac_cv_have_decl_optind=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4566: result: $ac_cv_have_decl_optind" >&5
    +echo "$as_me:4622: result: $ac_cv_have_decl_optind" >&5
     echo "${ECHO_T}$ac_cv_have_decl_optind" >&6
     if test $ac_cv_have_decl_optind = yes; then
     
    @@ -4577,18 +4633,21 @@ else
     EOF
     
     fi
    -echo "$as_me:4580: checking whether optreset is declared" >&5
    +echo "$as_me:4636: checking whether optreset is declared" >&5
     echo $ECHO_N "checking whether optreset is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_optreset+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4586 "configure"
    +#line 4642 "configure"
     #include "confdefs.h"
     
     #include 
     #include 
     #include 
    +#ifdef HAVE_GETOPT_H
    +#include 
    +#endif
     
     int
     main ()
    @@ -4602,16 +4661,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4605: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4664: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4608: \$? = $ac_status" >&5
    +  echo "$as_me:4667: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4611: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4670: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4614: \$? = $ac_status" >&5
    +  echo "$as_me:4673: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_optreset=yes
     else
    @@ -4621,7 +4680,7 @@ ac_cv_have_decl_optreset=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4624: result: $ac_cv_have_decl_optreset" >&5
    +echo "$as_me:4683: result: $ac_cv_have_decl_optreset" >&5
     echo "${ECHO_T}$ac_cv_have_decl_optreset" >&6
     if test $ac_cv_have_decl_optreset = yes; then
     
    @@ -4636,13 +4695,13 @@ EOF
     
     fi
     
    -echo "$as_me:4639: checking whether sys_signame is declared" >&5
    +echo "$as_me:4698: checking whether sys_signame is declared" >&5
     echo $ECHO_N "checking whether sys_signame is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_sys_signame+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4645 "configure"
    +#line 4704 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -4658,16 +4717,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:4661: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:4720: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:4664: \$? = $ac_status" >&5
    +  echo "$as_me:4723: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:4667: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4726: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4670: \$? = $ac_status" >&5
    +  echo "$as_me:4729: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_sys_signame=yes
     else
    @@ -4677,7 +4736,7 @@ ac_cv_have_decl_sys_signame=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:4680: result: $ac_cv_have_decl_sys_signame" >&5
    +echo "$as_me:4739: result: $ac_cv_have_decl_sys_signame" >&5
     echo "${ECHO_T}$ac_cv_have_decl_sys_signame" >&6
     if test $ac_cv_have_decl_sys_signame = yes; then
     
    @@ -4695,13 +4754,13 @@ fi
     # Library functions (where a .h check isn't enough).
     # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
     # for constant arguments.  Useless!
    -echo "$as_me:4698: checking for working alloca.h" >&5
    +echo "$as_me:4757: checking for working alloca.h" >&5
     echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
     if test "${ac_cv_working_alloca_h+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4704 "configure"
    +#line 4763 "configure"
     #include "confdefs.h"
     #include 
     int
    @@ -4713,16 +4772,16 @@ char *p = (char *) alloca (2 * sizeof (int));
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:4716: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:4775: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:4719: \$? = $ac_status" >&5
    +  echo "$as_me:4778: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:4722: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4781: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4725: \$? = $ac_status" >&5
    +  echo "$as_me:4784: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_working_alloca_h=yes
     else
    @@ -4732,7 +4791,7 @@ ac_cv_working_alloca_h=no
     fi
     rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     fi
    -echo "$as_me:4735: result: $ac_cv_working_alloca_h" >&5
    +echo "$as_me:4794: result: $ac_cv_working_alloca_h" >&5
     echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
     if test $ac_cv_working_alloca_h = yes; then
     
    @@ -4742,13 +4801,13 @@ EOF
     
     fi
     
    -echo "$as_me:4745: checking for alloca" >&5
    +echo "$as_me:4804: checking for alloca" >&5
     echo $ECHO_N "checking for alloca... $ECHO_C" >&6
     if test "${ac_cv_func_alloca_works+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4751 "configure"
    +#line 4810 "configure"
     #include "confdefs.h"
     #ifdef __GNUC__
     # define alloca __builtin_alloca
    @@ -4780,16 +4839,16 @@ char *p = (char *) alloca (1);
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:4783: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:4842: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:4786: \$? = $ac_status" >&5
    +  echo "$as_me:4845: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:4789: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4848: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4792: \$? = $ac_status" >&5
    +  echo "$as_me:4851: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_func_alloca_works=yes
     else
    @@ -4799,7 +4858,7 @@ ac_cv_func_alloca_works=no
     fi
     rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     fi
    -echo "$as_me:4802: result: $ac_cv_func_alloca_works" >&5
    +echo "$as_me:4861: result: $ac_cv_func_alloca_works" >&5
     echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
     
     if test $ac_cv_func_alloca_works = yes; then
    @@ -4820,13 +4879,13 @@ cat >>confdefs.h <<\EOF
     #define C_ALLOCA 1
     EOF
     
    -echo "$as_me:4823: checking whether \`alloca.c' needs Cray hooks" >&5
    +echo "$as_me:4882: checking whether \`alloca.c' needs Cray hooks" >&5
     echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
     if test "${ac_cv_os_cray+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4829 "configure"
    +#line 4888 "configure"
     #include "confdefs.h"
     #if defined(CRAY) && ! defined(CRAY2)
     webecray
    @@ -4844,18 +4903,18 @@ fi
     rm -f conftest*
     
     fi
    -echo "$as_me:4847: result: $ac_cv_os_cray" >&5
    +echo "$as_me:4906: result: $ac_cv_os_cray" >&5
     echo "${ECHO_T}$ac_cv_os_cray" >&6
     if test $ac_cv_os_cray = yes; then
       for ac_func in _getb67 GETB67 getb67; do
         as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
    -echo "$as_me:4852: checking for $ac_func" >&5
    +echo "$as_me:4911: checking for $ac_func" >&5
     echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
     if eval "test \"\${$as_ac_var+set}\" = set"; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4858 "configure"
    +#line 4917 "configure"
     #include "confdefs.h"
     /* System header to define __stub macros and hopefully few prototypes,
         which can conflict with char $ac_func (); below.  */
    @@ -4886,16 +4945,16 @@ f = $ac_func;
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:4889: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:4948: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:4892: \$? = $ac_status" >&5
    +  echo "$as_me:4951: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:4895: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:4954: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4898: \$? = $ac_status" >&5
    +  echo "$as_me:4957: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       eval "$as_ac_var=yes"
     else
    @@ -4905,7 +4964,7 @@ eval "$as_ac_var=no"
     fi
     rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     fi
    -echo "$as_me:4908: result: `eval echo '${'$as_ac_var'}'`" >&5
    +echo "$as_me:4967: result: `eval echo '${'$as_ac_var'}'`" >&5
     echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
     if test `eval echo '${'$as_ac_var'}'` = yes; then
     
    @@ -4919,7 +4978,7 @@ fi
       done
     fi
     
    -echo "$as_me:4922: checking stack direction for C alloca" >&5
    +echo "$as_me:4981: checking stack direction for C alloca" >&5
     echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
     if test "${ac_cv_c_stack_direction+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
    @@ -4928,7 +4987,7 @@ else
       ac_cv_c_stack_direction=0
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 4931 "configure"
    +#line 4990 "configure"
     #include "confdefs.h"
     int
     find_stack_direction ()
    @@ -4951,15 +5010,15 @@ main ()
     }
     _ACEOF
     rm -f conftest$ac_exeext
    -if { (eval echo "$as_me:4954: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:5013: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:4957: \$? = $ac_status" >&5
    +  echo "$as_me:5016: \$? = $ac_status" >&5
       (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
    -  { (eval echo "$as_me:4959: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5018: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:4962: \$? = $ac_status" >&5
    +  echo "$as_me:5021: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_c_stack_direction=1
     else
    @@ -4971,7 +5030,7 @@ fi
     rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
     fi
     fi
    -echo "$as_me:4974: result: $ac_cv_c_stack_direction" >&5
    +echo "$as_me:5033: result: $ac_cv_c_stack_direction" >&5
     echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
     
     cat >>confdefs.h <&5
    +echo "$as_me:5054: checking for $ac_func" >&5
     echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
     if eval "test \"\${$as_ac_var+set}\" = set"; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5000 "configure"
    +#line 5060 "configure"
     #include "confdefs.h"
     /* System header to define __stub macros and hopefully few prototypes,
         which can conflict with char $ac_func (); below.  */
    @@ -5028,16 +5088,16 @@ f = $ac_func;
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:5031: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:5091: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:5034: \$? = $ac_status" >&5
    +  echo "$as_me:5094: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:5037: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5097: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5040: \$? = $ac_status" >&5
    +  echo "$as_me:5100: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       eval "$as_ac_var=yes"
     else
    @@ -5047,7 +5107,7 @@ eval "$as_ac_var=no"
     fi
     rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     fi
    -echo "$as_me:5050: result: `eval echo '${'$as_ac_var'}'`" >&5
    +echo "$as_me:5110: result: `eval echo '${'$as_ac_var'}'`" >&5
     echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
     if test `eval echo '${'$as_ac_var'}'` = yes; then
       cat >>confdefs.h <&5
    +echo "$as_me:5120: checking whether user_from_uid is declared" >&5
     echo $ECHO_N "checking whether user_from_uid is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_user_from_uid+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5066 "configure"
    +#line 5126 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5080,16 +5140,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5083: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5143: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5086: \$? = $ac_status" >&5
    +  echo "$as_me:5146: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5089: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5149: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5092: \$? = $ac_status" >&5
    +  echo "$as_me:5152: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_user_from_uid=yes
     else
    @@ -5099,7 +5159,7 @@ ac_cv_have_decl_user_from_uid=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5102: result: $ac_cv_have_decl_user_from_uid" >&5
    +echo "$as_me:5162: result: $ac_cv_have_decl_user_from_uid" >&5
     echo "${ECHO_T}$ac_cv_have_decl_user_from_uid" >&6
     if test $ac_cv_have_decl_user_from_uid = yes; then
     
    @@ -5113,13 +5173,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5116: checking whether uid_from_user is declared" >&5
    +echo "$as_me:5176: checking whether uid_from_user is declared" >&5
     echo $ECHO_N "checking whether uid_from_user is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_uid_from_user+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5122 "configure"
    +#line 5182 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5136,16 +5196,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5139: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5199: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5142: \$? = $ac_status" >&5
    +  echo "$as_me:5202: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5145: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5205: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5148: \$? = $ac_status" >&5
    +  echo "$as_me:5208: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_uid_from_user=yes
     else
    @@ -5155,7 +5215,7 @@ ac_cv_have_decl_uid_from_user=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5158: result: $ac_cv_have_decl_uid_from_user" >&5
    +echo "$as_me:5218: result: $ac_cv_have_decl_uid_from_user" >&5
     echo "${ECHO_T}$ac_cv_have_decl_uid_from_user" >&6
     if test $ac_cv_have_decl_uid_from_user = yes; then
     
    @@ -5169,13 +5229,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5172: checking whether pwcache_userdb is declared" >&5
    +echo "$as_me:5232: checking whether pwcache_userdb is declared" >&5
     echo $ECHO_N "checking whether pwcache_userdb is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_pwcache_userdb+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5178 "configure"
    +#line 5238 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5192,16 +5252,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5195: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5255: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5198: \$? = $ac_status" >&5
    +  echo "$as_me:5258: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5201: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5261: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5204: \$? = $ac_status" >&5
    +  echo "$as_me:5264: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_pwcache_userdb=yes
     else
    @@ -5211,7 +5271,7 @@ ac_cv_have_decl_pwcache_userdb=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5214: result: $ac_cv_have_decl_pwcache_userdb" >&5
    +echo "$as_me:5274: result: $ac_cv_have_decl_pwcache_userdb" >&5
     echo "${ECHO_T}$ac_cv_have_decl_pwcache_userdb" >&6
     if test $ac_cv_have_decl_pwcache_userdb = yes; then
     
    @@ -5226,13 +5286,13 @@ EOF
     
     fi
     
    -echo "$as_me:5229: checking whether group_from_gid is declared" >&5
    +echo "$as_me:5289: checking whether group_from_gid is declared" >&5
     echo $ECHO_N "checking whether group_from_gid is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_group_from_gid+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5235 "configure"
    +#line 5295 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5249,16 +5309,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5252: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5312: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5255: \$? = $ac_status" >&5
    +  echo "$as_me:5315: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5258: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5318: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5261: \$? = $ac_status" >&5
    +  echo "$as_me:5321: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_group_from_gid=yes
     else
    @@ -5268,7 +5328,7 @@ ac_cv_have_decl_group_from_gid=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5271: result: $ac_cv_have_decl_group_from_gid" >&5
    +echo "$as_me:5331: result: $ac_cv_have_decl_group_from_gid" >&5
     echo "${ECHO_T}$ac_cv_have_decl_group_from_gid" >&6
     if test $ac_cv_have_decl_group_from_gid = yes; then
     
    @@ -5282,13 +5342,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5285: checking whether gid_from_group is declared" >&5
    +echo "$as_me:5345: checking whether gid_from_group is declared" >&5
     echo $ECHO_N "checking whether gid_from_group is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_gid_from_group+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5291 "configure"
    +#line 5351 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5305,16 +5365,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5308: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5368: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5311: \$? = $ac_status" >&5
    +  echo "$as_me:5371: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5314: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5374: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5317: \$? = $ac_status" >&5
    +  echo "$as_me:5377: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_gid_from_group=yes
     else
    @@ -5324,7 +5384,7 @@ ac_cv_have_decl_gid_from_group=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5327: result: $ac_cv_have_decl_gid_from_group" >&5
    +echo "$as_me:5387: result: $ac_cv_have_decl_gid_from_group" >&5
     echo "${ECHO_T}$ac_cv_have_decl_gid_from_group" >&6
     if test $ac_cv_have_decl_gid_from_group = yes; then
     
    @@ -5338,13 +5398,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5341: checking whether pwcache_groupdb is declared" >&5
    +echo "$as_me:5401: checking whether pwcache_groupdb is declared" >&5
     echo $ECHO_N "checking whether pwcache_groupdb is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_pwcache_groupdb+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5347 "configure"
    +#line 5407 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5361,16 +5421,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5364: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5424: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5367: \$? = $ac_status" >&5
    +  echo "$as_me:5427: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5370: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5430: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5373: \$? = $ac_status" >&5
    +  echo "$as_me:5433: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_pwcache_groupdb=yes
     else
    @@ -5380,7 +5440,7 @@ ac_cv_have_decl_pwcache_groupdb=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5383: result: $ac_cv_have_decl_pwcache_groupdb" >&5
    +echo "$as_me:5443: result: $ac_cv_have_decl_pwcache_groupdb" >&5
     echo "${ECHO_T}$ac_cv_have_decl_pwcache_groupdb" >&6
     if test $ac_cv_have_decl_pwcache_groupdb = yes; then
     
    @@ -5395,13 +5455,13 @@ EOF
     
     fi
     
    -echo "$as_me:5398: checking whether strndup is declared" >&5
    +echo "$as_me:5458: checking whether strndup is declared" >&5
     echo $ECHO_N "checking whether strndup is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_strndup+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5404 "configure"
    +#line 5464 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5417,16 +5477,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5420: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5480: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5423: \$? = $ac_status" >&5
    +  echo "$as_me:5483: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5426: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5486: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5429: \$? = $ac_status" >&5
    +  echo "$as_me:5489: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_strndup=yes
     else
    @@ -5436,7 +5496,7 @@ ac_cv_have_decl_strndup=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5439: result: $ac_cv_have_decl_strndup" >&5
    +echo "$as_me:5499: result: $ac_cv_have_decl_strndup" >&5
     echo "${ECHO_T}$ac_cv_have_decl_strndup" >&6
     if test $ac_cv_have_decl_strndup = yes; then
     
    @@ -5451,13 +5511,13 @@ EOF
     
     fi
     
    -echo "$as_me:5454: checking whether strsuftoll is declared" >&5
    +echo "$as_me:5514: checking whether strsuftoll is declared" >&5
     echo $ECHO_N "checking whether strsuftoll is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_strsuftoll+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5460 "configure"
    +#line 5520 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5473,16 +5533,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5476: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5536: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5479: \$? = $ac_status" >&5
    +  echo "$as_me:5539: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5482: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5542: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5485: \$? = $ac_status" >&5
    +  echo "$as_me:5545: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_strsuftoll=yes
     else
    @@ -5492,7 +5552,7 @@ ac_cv_have_decl_strsuftoll=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5495: result: $ac_cv_have_decl_strsuftoll" >&5
    +echo "$as_me:5555: result: $ac_cv_have_decl_strsuftoll" >&5
     echo "${ECHO_T}$ac_cv_have_decl_strsuftoll" >&6
     if test $ac_cv_have_decl_strsuftoll = yes; then
     
    @@ -5507,13 +5567,13 @@ EOF
     
     fi
     
    -echo "$as_me:5510: checking whether lchflags is declared" >&5
    +echo "$as_me:5570: checking whether lchflags is declared" >&5
     echo $ECHO_N "checking whether lchflags is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_lchflags+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5516 "configure"
    +#line 5576 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5531,16 +5591,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5534: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5594: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5537: \$? = $ac_status" >&5
    +  echo "$as_me:5597: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5540: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5600: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5543: \$? = $ac_status" >&5
    +  echo "$as_me:5603: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_lchflags=yes
     else
    @@ -5550,7 +5610,7 @@ ac_cv_have_decl_lchflags=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5553: result: $ac_cv_have_decl_lchflags" >&5
    +echo "$as_me:5613: result: $ac_cv_have_decl_lchflags" >&5
     echo "${ECHO_T}$ac_cv_have_decl_lchflags" >&6
     if test $ac_cv_have_decl_lchflags = yes; then
     
    @@ -5564,13 +5624,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5567: checking whether lchmod is declared" >&5
    +echo "$as_me:5627: checking whether lchmod is declared" >&5
     echo $ECHO_N "checking whether lchmod is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_lchmod+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5573 "configure"
    +#line 5633 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5588,16 +5648,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5591: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5651: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5594: \$? = $ac_status" >&5
    +  echo "$as_me:5654: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5597: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5657: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5600: \$? = $ac_status" >&5
    +  echo "$as_me:5660: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_lchmod=yes
     else
    @@ -5607,7 +5667,7 @@ ac_cv_have_decl_lchmod=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5610: result: $ac_cv_have_decl_lchmod" >&5
    +echo "$as_me:5670: result: $ac_cv_have_decl_lchmod" >&5
     echo "${ECHO_T}$ac_cv_have_decl_lchmod" >&6
     if test $ac_cv_have_decl_lchmod = yes; then
     
    @@ -5621,13 +5681,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5624: checking whether lchown is declared" >&5
    +echo "$as_me:5684: checking whether lchown is declared" >&5
     echo $ECHO_N "checking whether lchown is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_lchown+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5630 "configure"
    +#line 5690 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -5645,16 +5705,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5648: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5708: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5651: \$? = $ac_status" >&5
    +  echo "$as_me:5711: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5654: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5714: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5657: \$? = $ac_status" >&5
    +  echo "$as_me:5717: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_lchown=yes
     else
    @@ -5664,7 +5724,7 @@ ac_cv_have_decl_lchown=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5667: result: $ac_cv_have_decl_lchown" >&5
    +echo "$as_me:5727: result: $ac_cv_have_decl_lchown" >&5
     echo "${ECHO_T}$ac_cv_have_decl_lchown" >&6
     if test $ac_cv_have_decl_lchown = yes; then
     
    @@ -5679,13 +5739,13 @@ EOF
     
     fi
     
    -echo "$as_me:5682: checking whether htobe16 is declared" >&5
    +echo "$as_me:5742: checking whether htobe16 is declared" >&5
     echo $ECHO_N "checking whether htobe16 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_htobe16+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5688 "configure"
    +#line 5748 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5701,16 +5761,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5704: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5764: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5707: \$? = $ac_status" >&5
    +  echo "$as_me:5767: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5710: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5770: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5713: \$? = $ac_status" >&5
    +  echo "$as_me:5773: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_htobe16=yes
     else
    @@ -5720,7 +5780,7 @@ ac_cv_have_decl_htobe16=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5723: result: $ac_cv_have_decl_htobe16" >&5
    +echo "$as_me:5783: result: $ac_cv_have_decl_htobe16" >&5
     echo "${ECHO_T}$ac_cv_have_decl_htobe16" >&6
     if test $ac_cv_have_decl_htobe16 = yes; then
     
    @@ -5734,13 +5794,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5737: checking whether htobe32 is declared" >&5
    +echo "$as_me:5797: checking whether htobe32 is declared" >&5
     echo $ECHO_N "checking whether htobe32 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_htobe32+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5743 "configure"
    +#line 5803 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5756,16 +5816,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5759: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5819: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5762: \$? = $ac_status" >&5
    +  echo "$as_me:5822: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5765: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5825: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5768: \$? = $ac_status" >&5
    +  echo "$as_me:5828: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_htobe32=yes
     else
    @@ -5775,7 +5835,7 @@ ac_cv_have_decl_htobe32=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5778: result: $ac_cv_have_decl_htobe32" >&5
    +echo "$as_me:5838: result: $ac_cv_have_decl_htobe32" >&5
     echo "${ECHO_T}$ac_cv_have_decl_htobe32" >&6
     if test $ac_cv_have_decl_htobe32 = yes; then
     
    @@ -5789,13 +5849,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5792: checking whether htobe64 is declared" >&5
    +echo "$as_me:5852: checking whether htobe64 is declared" >&5
     echo $ECHO_N "checking whether htobe64 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_htobe64+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5798 "configure"
    +#line 5858 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5811,16 +5871,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5814: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5874: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5817: \$? = $ac_status" >&5
    +  echo "$as_me:5877: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5820: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5880: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5823: \$? = $ac_status" >&5
    +  echo "$as_me:5883: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_htobe64=yes
     else
    @@ -5830,7 +5890,7 @@ ac_cv_have_decl_htobe64=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5833: result: $ac_cv_have_decl_htobe64" >&5
    +echo "$as_me:5893: result: $ac_cv_have_decl_htobe64" >&5
     echo "${ECHO_T}$ac_cv_have_decl_htobe64" >&6
     if test $ac_cv_have_decl_htobe64 = yes; then
     
    @@ -5844,13 +5904,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5847: checking whether htole16 is declared" >&5
    +echo "$as_me:5907: checking whether htole16 is declared" >&5
     echo $ECHO_N "checking whether htole16 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_htole16+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5853 "configure"
    +#line 5913 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5866,16 +5926,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5869: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5929: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5872: \$? = $ac_status" >&5
    +  echo "$as_me:5932: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5875: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5935: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5878: \$? = $ac_status" >&5
    +  echo "$as_me:5938: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_htole16=yes
     else
    @@ -5885,7 +5945,7 @@ ac_cv_have_decl_htole16=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5888: result: $ac_cv_have_decl_htole16" >&5
    +echo "$as_me:5948: result: $ac_cv_have_decl_htole16" >&5
     echo "${ECHO_T}$ac_cv_have_decl_htole16" >&6
     if test $ac_cv_have_decl_htole16 = yes; then
     
    @@ -5899,13 +5959,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5902: checking whether htole32 is declared" >&5
    +echo "$as_me:5962: checking whether htole32 is declared" >&5
     echo $ECHO_N "checking whether htole32 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_htole32+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5908 "configure"
    +#line 5968 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5921,16 +5981,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5924: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:5984: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5927: \$? = $ac_status" >&5
    +  echo "$as_me:5987: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5930: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:5990: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5933: \$? = $ac_status" >&5
    +  echo "$as_me:5993: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_htole32=yes
     else
    @@ -5940,7 +6000,7 @@ ac_cv_have_decl_htole32=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5943: result: $ac_cv_have_decl_htole32" >&5
    +echo "$as_me:6003: result: $ac_cv_have_decl_htole32" >&5
     echo "${ECHO_T}$ac_cv_have_decl_htole32" >&6
     if test $ac_cv_have_decl_htole32 = yes; then
     
    @@ -5954,13 +6014,13 @@ else
     EOF
     
     fi
    -echo "$as_me:5957: checking whether htole64 is declared" >&5
    +echo "$as_me:6017: checking whether htole64 is declared" >&5
     echo $ECHO_N "checking whether htole64 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_htole64+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 5963 "configure"
    +#line 6023 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -5976,16 +6036,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:5979: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6039: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:5982: \$? = $ac_status" >&5
    +  echo "$as_me:6042: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:5985: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6045: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:5988: \$? = $ac_status" >&5
    +  echo "$as_me:6048: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_htole64=yes
     else
    @@ -5995,7 +6055,7 @@ ac_cv_have_decl_htole64=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:5998: result: $ac_cv_have_decl_htole64" >&5
    +echo "$as_me:6058: result: $ac_cv_have_decl_htole64" >&5
     echo "${ECHO_T}$ac_cv_have_decl_htole64" >&6
     if test $ac_cv_have_decl_htole64 = yes; then
     
    @@ -6009,13 +6069,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6012: checking whether be16toh is declared" >&5
    +echo "$as_me:6072: checking whether be16toh is declared" >&5
     echo $ECHO_N "checking whether be16toh is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be16toh+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6018 "configure"
    +#line 6078 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6031,16 +6091,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6034: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6094: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6037: \$? = $ac_status" >&5
    +  echo "$as_me:6097: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6040: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6100: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6043: \$? = $ac_status" >&5
    +  echo "$as_me:6103: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be16toh=yes
     else
    @@ -6050,7 +6110,7 @@ ac_cv_have_decl_be16toh=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6053: result: $ac_cv_have_decl_be16toh" >&5
    +echo "$as_me:6113: result: $ac_cv_have_decl_be16toh" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be16toh" >&6
     if test $ac_cv_have_decl_be16toh = yes; then
     
    @@ -6064,13 +6124,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6067: checking whether be32toh is declared" >&5
    +echo "$as_me:6127: checking whether be32toh is declared" >&5
     echo $ECHO_N "checking whether be32toh is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be32toh+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6073 "configure"
    +#line 6133 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6086,16 +6146,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6089: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6149: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6092: \$? = $ac_status" >&5
    +  echo "$as_me:6152: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6095: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6155: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6098: \$? = $ac_status" >&5
    +  echo "$as_me:6158: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be32toh=yes
     else
    @@ -6105,7 +6165,7 @@ ac_cv_have_decl_be32toh=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6108: result: $ac_cv_have_decl_be32toh" >&5
    +echo "$as_me:6168: result: $ac_cv_have_decl_be32toh" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be32toh" >&6
     if test $ac_cv_have_decl_be32toh = yes; then
     
    @@ -6119,13 +6179,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6122: checking whether be64toh is declared" >&5
    +echo "$as_me:6182: checking whether be64toh is declared" >&5
     echo $ECHO_N "checking whether be64toh is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be64toh+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6128 "configure"
    +#line 6188 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6141,16 +6201,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6144: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6204: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6147: \$? = $ac_status" >&5
    +  echo "$as_me:6207: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6150: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6210: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6153: \$? = $ac_status" >&5
    +  echo "$as_me:6213: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be64toh=yes
     else
    @@ -6160,7 +6220,7 @@ ac_cv_have_decl_be64toh=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6163: result: $ac_cv_have_decl_be64toh" >&5
    +echo "$as_me:6223: result: $ac_cv_have_decl_be64toh" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be64toh" >&6
     if test $ac_cv_have_decl_be64toh = yes; then
     
    @@ -6174,13 +6234,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6177: checking whether le16toh is declared" >&5
    +echo "$as_me:6237: checking whether le16toh is declared" >&5
     echo $ECHO_N "checking whether le16toh is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le16toh+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6183 "configure"
    +#line 6243 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6196,16 +6256,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6199: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6259: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6202: \$? = $ac_status" >&5
    +  echo "$as_me:6262: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6205: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6265: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6208: \$? = $ac_status" >&5
    +  echo "$as_me:6268: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le16toh=yes
     else
    @@ -6215,7 +6275,7 @@ ac_cv_have_decl_le16toh=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6218: result: $ac_cv_have_decl_le16toh" >&5
    +echo "$as_me:6278: result: $ac_cv_have_decl_le16toh" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le16toh" >&6
     if test $ac_cv_have_decl_le16toh = yes; then
     
    @@ -6229,13 +6289,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6232: checking whether le32toh is declared" >&5
    +echo "$as_me:6292: checking whether le32toh is declared" >&5
     echo $ECHO_N "checking whether le32toh is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le32toh+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6238 "configure"
    +#line 6298 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6251,16 +6311,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6254: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6314: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6257: \$? = $ac_status" >&5
    +  echo "$as_me:6317: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6260: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6320: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6263: \$? = $ac_status" >&5
    +  echo "$as_me:6323: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le32toh=yes
     else
    @@ -6270,7 +6330,7 @@ ac_cv_have_decl_le32toh=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6273: result: $ac_cv_have_decl_le32toh" >&5
    +echo "$as_me:6333: result: $ac_cv_have_decl_le32toh" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le32toh" >&6
     if test $ac_cv_have_decl_le32toh = yes; then
     
    @@ -6284,13 +6344,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6287: checking whether le64toh is declared" >&5
    +echo "$as_me:6347: checking whether le64toh is declared" >&5
     echo $ECHO_N "checking whether le64toh is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le64toh+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6293 "configure"
    +#line 6353 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6306,16 +6366,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6309: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6369: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6312: \$? = $ac_status" >&5
    +  echo "$as_me:6372: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6315: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6375: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6318: \$? = $ac_status" >&5
    +  echo "$as_me:6378: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le64toh=yes
     else
    @@ -6325,7 +6385,7 @@ ac_cv_have_decl_le64toh=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6328: result: $ac_cv_have_decl_le64toh" >&5
    +echo "$as_me:6388: result: $ac_cv_have_decl_le64toh" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le64toh" >&6
     if test $ac_cv_have_decl_le64toh = yes; then
     
    @@ -6340,13 +6400,13 @@ EOF
     
     fi
     
    -echo "$as_me:6343: checking whether bswap16 is declared" >&5
    +echo "$as_me:6403: checking whether bswap16 is declared" >&5
     echo $ECHO_N "checking whether bswap16 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_bswap16+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6349 "configure"
    +#line 6409 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6362,16 +6422,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6365: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6425: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6368: \$? = $ac_status" >&5
    +  echo "$as_me:6428: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6371: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6431: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6374: \$? = $ac_status" >&5
    +  echo "$as_me:6434: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_bswap16=yes
     else
    @@ -6381,7 +6441,7 @@ ac_cv_have_decl_bswap16=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6384: result: $ac_cv_have_decl_bswap16" >&5
    +echo "$as_me:6444: result: $ac_cv_have_decl_bswap16" >&5
     echo "${ECHO_T}$ac_cv_have_decl_bswap16" >&6
     if test $ac_cv_have_decl_bswap16 = yes; then
     
    @@ -6395,13 +6455,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6398: checking whether bswap32 is declared" >&5
    +echo "$as_me:6458: checking whether bswap32 is declared" >&5
     echo $ECHO_N "checking whether bswap32 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_bswap32+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6404 "configure"
    +#line 6464 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6417,16 +6477,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6420: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6480: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6423: \$? = $ac_status" >&5
    +  echo "$as_me:6483: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6426: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6486: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6429: \$? = $ac_status" >&5
    +  echo "$as_me:6489: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_bswap32=yes
     else
    @@ -6436,7 +6496,7 @@ ac_cv_have_decl_bswap32=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6439: result: $ac_cv_have_decl_bswap32" >&5
    +echo "$as_me:6499: result: $ac_cv_have_decl_bswap32" >&5
     echo "${ECHO_T}$ac_cv_have_decl_bswap32" >&6
     if test $ac_cv_have_decl_bswap32 = yes; then
     
    @@ -6450,13 +6510,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6453: checking whether bswap64 is declared" >&5
    +echo "$as_me:6513: checking whether bswap64 is declared" >&5
     echo $ECHO_N "checking whether bswap64 is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_bswap64+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6459 "configure"
    +#line 6519 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6472,16 +6532,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6475: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6535: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6478: \$? = $ac_status" >&5
    +  echo "$as_me:6538: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6481: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6541: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6484: \$? = $ac_status" >&5
    +  echo "$as_me:6544: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_bswap64=yes
     else
    @@ -6491,7 +6551,7 @@ ac_cv_have_decl_bswap64=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6494: result: $ac_cv_have_decl_bswap64" >&5
    +echo "$as_me:6554: result: $ac_cv_have_decl_bswap64" >&5
     echo "${ECHO_T}$ac_cv_have_decl_bswap64" >&6
     if test $ac_cv_have_decl_bswap64 = yes; then
     
    @@ -6506,13 +6566,13 @@ EOF
     
     fi
     
    -echo "$as_me:6509: checking whether be16enc is declared" >&5
    +echo "$as_me:6569: checking whether be16enc is declared" >&5
     echo $ECHO_N "checking whether be16enc is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be16enc+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6515 "configure"
    +#line 6575 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6528,16 +6588,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6531: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6591: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6534: \$? = $ac_status" >&5
    +  echo "$as_me:6594: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6537: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6597: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6540: \$? = $ac_status" >&5
    +  echo "$as_me:6600: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be16enc=yes
     else
    @@ -6547,7 +6607,7 @@ ac_cv_have_decl_be16enc=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6550: result: $ac_cv_have_decl_be16enc" >&5
    +echo "$as_me:6610: result: $ac_cv_have_decl_be16enc" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be16enc" >&6
     if test $ac_cv_have_decl_be16enc = yes; then
     
    @@ -6561,13 +6621,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6564: checking whether le16enc is declared" >&5
    +echo "$as_me:6624: checking whether le16enc is declared" >&5
     echo $ECHO_N "checking whether le16enc is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le16enc+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6570 "configure"
    +#line 6630 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6583,16 +6643,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6586: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6646: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6589: \$? = $ac_status" >&5
    +  echo "$as_me:6649: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6592: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6652: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6595: \$? = $ac_status" >&5
    +  echo "$as_me:6655: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le16enc=yes
     else
    @@ -6602,7 +6662,7 @@ ac_cv_have_decl_le16enc=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6605: result: $ac_cv_have_decl_le16enc" >&5
    +echo "$as_me:6665: result: $ac_cv_have_decl_le16enc" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le16enc" >&6
     if test $ac_cv_have_decl_le16enc = yes; then
     
    @@ -6616,13 +6676,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6619: checking whether be16dec is declared" >&5
    +echo "$as_me:6679: checking whether be16dec is declared" >&5
     echo $ECHO_N "checking whether be16dec is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be16dec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6625 "configure"
    +#line 6685 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6638,16 +6698,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6641: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6701: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6644: \$? = $ac_status" >&5
    +  echo "$as_me:6704: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6647: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6707: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6650: \$? = $ac_status" >&5
    +  echo "$as_me:6710: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be16dec=yes
     else
    @@ -6657,7 +6717,7 @@ ac_cv_have_decl_be16dec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6660: result: $ac_cv_have_decl_be16dec" >&5
    +echo "$as_me:6720: result: $ac_cv_have_decl_be16dec" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be16dec" >&6
     if test $ac_cv_have_decl_be16dec = yes; then
     
    @@ -6671,13 +6731,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6674: checking whether le16dec is declared" >&5
    +echo "$as_me:6734: checking whether le16dec is declared" >&5
     echo $ECHO_N "checking whether le16dec is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le16dec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6680 "configure"
    +#line 6740 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6693,16 +6753,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6696: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6756: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6699: \$? = $ac_status" >&5
    +  echo "$as_me:6759: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6702: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6762: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6705: \$? = $ac_status" >&5
    +  echo "$as_me:6765: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le16dec=yes
     else
    @@ -6712,7 +6772,7 @@ ac_cv_have_decl_le16dec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6715: result: $ac_cv_have_decl_le16dec" >&5
    +echo "$as_me:6775: result: $ac_cv_have_decl_le16dec" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le16dec" >&6
     if test $ac_cv_have_decl_le16dec = yes; then
     
    @@ -6726,13 +6786,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6729: checking whether be32enc is declared" >&5
    +echo "$as_me:6789: checking whether be32enc is declared" >&5
     echo $ECHO_N "checking whether be32enc is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be32enc+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6735 "configure"
    +#line 6795 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6748,16 +6808,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6751: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6811: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6754: \$? = $ac_status" >&5
    +  echo "$as_me:6814: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6757: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6817: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6760: \$? = $ac_status" >&5
    +  echo "$as_me:6820: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be32enc=yes
     else
    @@ -6767,7 +6827,7 @@ ac_cv_have_decl_be32enc=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6770: result: $ac_cv_have_decl_be32enc" >&5
    +echo "$as_me:6830: result: $ac_cv_have_decl_be32enc" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be32enc" >&6
     if test $ac_cv_have_decl_be32enc = yes; then
     
    @@ -6781,13 +6841,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6784: checking whether le32enc is declared" >&5
    +echo "$as_me:6844: checking whether le32enc is declared" >&5
     echo $ECHO_N "checking whether le32enc is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le32enc+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6790 "configure"
    +#line 6850 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6803,16 +6863,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6806: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6866: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6809: \$? = $ac_status" >&5
    +  echo "$as_me:6869: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6812: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6872: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6815: \$? = $ac_status" >&5
    +  echo "$as_me:6875: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le32enc=yes
     else
    @@ -6822,7 +6882,7 @@ ac_cv_have_decl_le32enc=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6825: result: $ac_cv_have_decl_le32enc" >&5
    +echo "$as_me:6885: result: $ac_cv_have_decl_le32enc" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le32enc" >&6
     if test $ac_cv_have_decl_le32enc = yes; then
     
    @@ -6836,13 +6896,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6839: checking whether be32dec is declared" >&5
    +echo "$as_me:6899: checking whether be32dec is declared" >&5
     echo $ECHO_N "checking whether be32dec is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be32dec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6845 "configure"
    +#line 6905 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6858,16 +6918,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6861: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6921: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6864: \$? = $ac_status" >&5
    +  echo "$as_me:6924: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6867: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6927: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6870: \$? = $ac_status" >&5
    +  echo "$as_me:6930: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be32dec=yes
     else
    @@ -6877,7 +6937,7 @@ ac_cv_have_decl_be32dec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6880: result: $ac_cv_have_decl_be32dec" >&5
    +echo "$as_me:6940: result: $ac_cv_have_decl_be32dec" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be32dec" >&6
     if test $ac_cv_have_decl_be32dec = yes; then
     
    @@ -6891,13 +6951,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6894: checking whether le32dec is declared" >&5
    +echo "$as_me:6954: checking whether le32dec is declared" >&5
     echo $ECHO_N "checking whether le32dec is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le32dec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6900 "configure"
    +#line 6960 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6913,16 +6973,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6916: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:6976: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6919: \$? = $ac_status" >&5
    +  echo "$as_me:6979: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6922: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:6982: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6925: \$? = $ac_status" >&5
    +  echo "$as_me:6985: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le32dec=yes
     else
    @@ -6932,7 +6992,7 @@ ac_cv_have_decl_le32dec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6935: result: $ac_cv_have_decl_le32dec" >&5
    +echo "$as_me:6995: result: $ac_cv_have_decl_le32dec" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le32dec" >&6
     if test $ac_cv_have_decl_le32dec = yes; then
     
    @@ -6946,13 +7006,13 @@ else
     EOF
     
     fi
    -echo "$as_me:6949: checking whether be64enc is declared" >&5
    +echo "$as_me:7009: checking whether be64enc is declared" >&5
     echo $ECHO_N "checking whether be64enc is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be64enc+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 6955 "configure"
    +#line 7015 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -6968,16 +7028,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:6971: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7031: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:6974: \$? = $ac_status" >&5
    +  echo "$as_me:7034: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:6977: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7037: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:6980: \$? = $ac_status" >&5
    +  echo "$as_me:7040: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be64enc=yes
     else
    @@ -6987,7 +7047,7 @@ ac_cv_have_decl_be64enc=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:6990: result: $ac_cv_have_decl_be64enc" >&5
    +echo "$as_me:7050: result: $ac_cv_have_decl_be64enc" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be64enc" >&6
     if test $ac_cv_have_decl_be64enc = yes; then
     
    @@ -7001,13 +7061,13 @@ else
     EOF
     
     fi
    -echo "$as_me:7004: checking whether le64enc is declared" >&5
    +echo "$as_me:7064: checking whether le64enc is declared" >&5
     echo $ECHO_N "checking whether le64enc is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le64enc+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7010 "configure"
    +#line 7070 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -7023,16 +7083,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:7026: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7086: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:7029: \$? = $ac_status" >&5
    +  echo "$as_me:7089: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:7032: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7092: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7035: \$? = $ac_status" >&5
    +  echo "$as_me:7095: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le64enc=yes
     else
    @@ -7042,7 +7102,7 @@ ac_cv_have_decl_le64enc=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:7045: result: $ac_cv_have_decl_le64enc" >&5
    +echo "$as_me:7105: result: $ac_cv_have_decl_le64enc" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le64enc" >&6
     if test $ac_cv_have_decl_le64enc = yes; then
     
    @@ -7056,13 +7116,13 @@ else
     EOF
     
     fi
    -echo "$as_me:7059: checking whether be64dec is declared" >&5
    +echo "$as_me:7119: checking whether be64dec is declared" >&5
     echo $ECHO_N "checking whether be64dec is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_be64dec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7065 "configure"
    +#line 7125 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -7078,16 +7138,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:7081: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7141: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:7084: \$? = $ac_status" >&5
    +  echo "$as_me:7144: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:7087: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7147: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7090: \$? = $ac_status" >&5
    +  echo "$as_me:7150: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_be64dec=yes
     else
    @@ -7097,7 +7157,7 @@ ac_cv_have_decl_be64dec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:7100: result: $ac_cv_have_decl_be64dec" >&5
    +echo "$as_me:7160: result: $ac_cv_have_decl_be64dec" >&5
     echo "${ECHO_T}$ac_cv_have_decl_be64dec" >&6
     if test $ac_cv_have_decl_be64dec = yes; then
     
    @@ -7111,13 +7171,13 @@ else
     EOF
     
     fi
    -echo "$as_me:7114: checking whether le64dec is declared" >&5
    +echo "$as_me:7174: checking whether le64dec is declared" >&5
     echo $ECHO_N "checking whether le64dec is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_le64dec+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7120 "configure"
    +#line 7180 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -7133,16 +7193,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:7136: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7196: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:7139: \$? = $ac_status" >&5
    +  echo "$as_me:7199: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:7142: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7202: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7145: \$? = $ac_status" >&5
    +  echo "$as_me:7205: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_le64dec=yes
     else
    @@ -7152,7 +7212,7 @@ ac_cv_have_decl_le64dec=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:7155: result: $ac_cv_have_decl_le64dec" >&5
    +echo "$as_me:7215: result: $ac_cv_have_decl_le64dec" >&5
     echo "${ECHO_T}$ac_cv_have_decl_le64dec" >&6
     if test $ac_cv_have_decl_le64dec = yes; then
     
    @@ -7167,13 +7227,13 @@ EOF
     
     fi
     
    -echo "$as_me:7170: checking whether fstatvfs is declared" >&5
    +echo "$as_me:7230: checking whether fstatvfs is declared" >&5
     echo $ECHO_N "checking whether fstatvfs is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_fstatvfs+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7176 "configure"
    +#line 7236 "configure"
     #include "confdefs.h"
     #include 
     
    @@ -7189,16 +7249,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:7192: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7252: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:7195: \$? = $ac_status" >&5
    +  echo "$as_me:7255: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:7198: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7258: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7201: \$? = $ac_status" >&5
    +  echo "$as_me:7261: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_fstatvfs=yes
     else
    @@ -7208,7 +7268,7 @@ ac_cv_have_decl_fstatvfs=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:7211: result: $ac_cv_have_decl_fstatvfs" >&5
    +echo "$as_me:7271: result: $ac_cv_have_decl_fstatvfs" >&5
     echo "${ECHO_T}$ac_cv_have_decl_fstatvfs" >&6
     if test $ac_cv_have_decl_fstatvfs = yes; then
     
    @@ -7223,13 +7283,13 @@ EOF
     
     fi
     
    -echo "$as_me:7226: checking whether setgroupent is declared" >&5
    +echo "$as_me:7286: checking whether setgroupent is declared" >&5
     echo $ECHO_N "checking whether setgroupent is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_setgroupent+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7232 "configure"
    +#line 7292 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -7248,16 +7308,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:7251: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7311: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:7254: \$? = $ac_status" >&5
    +  echo "$as_me:7314: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:7257: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7317: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7260: \$? = $ac_status" >&5
    +  echo "$as_me:7320: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_setgroupent=yes
     else
    @@ -7267,7 +7327,7 @@ ac_cv_have_decl_setgroupent=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:7270: result: $ac_cv_have_decl_setgroupent" >&5
    +echo "$as_me:7330: result: $ac_cv_have_decl_setgroupent" >&5
     echo "${ECHO_T}$ac_cv_have_decl_setgroupent" >&6
     if test $ac_cv_have_decl_setgroupent = yes; then
     
    @@ -7281,13 +7341,13 @@ else
     EOF
     
     fi
    -echo "$as_me:7284: checking whether setpassent is declared" >&5
    +echo "$as_me:7344: checking whether setpassent is declared" >&5
     echo $ECHO_N "checking whether setpassent is declared... $ECHO_C" >&6
     if test "${ac_cv_have_decl_setpassent+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7290 "configure"
    +#line 7350 "configure"
     #include "confdefs.h"
     
     #include 
    @@ -7306,16 +7366,16 @@ main ()
     }
     _ACEOF
     rm -f conftest.$ac_objext
    -if { (eval echo "$as_me:7309: \"$ac_compile\"") >&5
    +if { (eval echo "$as_me:7369: \"$ac_compile\"") >&5
       (eval $ac_compile) 2>&5
       ac_status=$?
    -  echo "$as_me:7312: \$? = $ac_status" >&5
    +  echo "$as_me:7372: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest.$ac_objext'
    -  { (eval echo "$as_me:7315: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7375: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7318: \$? = $ac_status" >&5
    +  echo "$as_me:7378: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_have_decl_setpassent=yes
     else
    @@ -7325,7 +7385,7 @@ ac_cv_have_decl_setpassent=no
     fi
     rm -f conftest.$ac_objext conftest.$ac_ext
     fi
    -echo "$as_me:7328: result: $ac_cv_have_decl_setpassent" >&5
    +echo "$as_me:7388: result: $ac_cv_have_decl_setpassent" >&5
     echo "${ECHO_T}$ac_cv_have_decl_setpassent" >&6
     if test $ac_cv_have_decl_setpassent = yes; then
     
    @@ -7343,7 +7403,7 @@ fi
     # regcomp() and regexec() are also names of functions in the old V8
     # regexp package.  To avoid them, we need to find out who has regfree().
     
    -echo "$as_me:7346: checking for regfree in -lregex" >&5
    +echo "$as_me:7406: checking for regfree in -lregex" >&5
     echo $ECHO_N "checking for regfree in -lregex... $ECHO_C" >&6
     if test "${ac_cv_lib_regex_regfree+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
    @@ -7351,7 +7411,7 @@ else
       ac_check_lib_save_LIBS=$LIBS
     LIBS="-lregex  $LIBS"
     cat >conftest.$ac_ext <<_ACEOF
    -#line 7354 "configure"
    +#line 7414 "configure"
     #include "confdefs.h"
     
     /* Override any gcc2 internal prototype to avoid an error.  */
    @@ -7370,16 +7430,16 @@ regfree ();
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:7373: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:7433: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:7376: \$? = $ac_status" >&5
    +  echo "$as_me:7436: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:7379: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7439: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7382: \$? = $ac_status" >&5
    +  echo "$as_me:7442: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_lib_regex_regfree=yes
     else
    @@ -7390,7 +7450,7 @@ fi
     rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     LIBS=$ac_check_lib_save_LIBS
     fi
    -echo "$as_me:7393: result: $ac_cv_lib_regex_regfree" >&5
    +echo "$as_me:7453: result: $ac_cv_lib_regex_regfree" >&5
     echo "${ECHO_T}$ac_cv_lib_regex_regfree" >&6
     if test $ac_cv_lib_regex_regfree = yes; then
       cat >>confdefs.h <&5
    +echo "$as_me:7464: checking for library containing regfree" >&5
     echo $ECHO_N "checking for library containing regfree... $ECHO_C" >&6
     if test "${ac_cv_search_regfree+set}" = set; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
    @@ -7409,7 +7469,7 @@ else
       ac_func_search_save_LIBS=$LIBS
     ac_cv_search_regfree=no
     cat >conftest.$ac_ext <<_ACEOF
    -#line 7412 "configure"
    +#line 7472 "configure"
     #include "confdefs.h"
     
     /* Override any gcc2 internal prototype to avoid an error.  */
    @@ -7428,16 +7488,16 @@ regfree ();
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:7431: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:7491: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:7434: \$? = $ac_status" >&5
    +  echo "$as_me:7494: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:7437: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7497: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7440: \$? = $ac_status" >&5
    +  echo "$as_me:7500: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_search_regfree="none required"
     else
    @@ -7449,7 +7509,7 @@ if test "$ac_cv_search_regfree" = no; then
       for ac_lib in rx posix; do
         LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
         cat >conftest.$ac_ext <<_ACEOF
    -#line 7452 "configure"
    +#line 7512 "configure"
     #include "confdefs.h"
     
     /* Override any gcc2 internal prototype to avoid an error.  */
    @@ -7468,16 +7528,16 @@ regfree ();
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:7471: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:7531: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:7474: \$? = $ac_status" >&5
    +  echo "$as_me:7534: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:7477: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7537: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7480: \$? = $ac_status" >&5
    +  echo "$as_me:7540: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       ac_cv_search_regfree="-l$ac_lib"
     break
    @@ -7490,23 +7550,81 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     fi
     LIBS=$ac_func_search_save_LIBS
     fi
    -echo "$as_me:7493: result: $ac_cv_search_regfree" >&5
    +echo "$as_me:7553: result: $ac_cv_search_regfree" >&5
     echo "${ECHO_T}$ac_cv_search_regfree" >&6
     if test "$ac_cv_search_regfree" != no; then
       test "$ac_cv_search_regfree" = "none required" || LIBS="$ac_cv_search_regfree $LIBS"
     
     fi
     
    +echo "$as_me:7560: checking for clock_gettime in -lrt" >&5
    +echo $ECHO_N "checking for clock_gettime in -lrt... $ECHO_C" >&6
    +if test "${ac_cv_lib_rt_clock_gettime+set}" = set; then
    +  echo $ECHO_N "(cached) $ECHO_C" >&6
    +else
    +  ac_check_lib_save_LIBS=$LIBS
    +LIBS="-lrt  $LIBS"
    +cat >conftest.$ac_ext <<_ACEOF
    +#line 7568 "configure"
    +#include "confdefs.h"
    +
    +/* Override any gcc2 internal prototype to avoid an error.  */
    +#ifdef __cplusplus
    +extern "C"
    +#endif
    +/* We use char because int might match the return type of a gcc2
    +   builtin and then its argument prototype would still apply.  */
    +char clock_gettime ();
    +int
    +main ()
    +{
    +clock_gettime ();
    +  ;
    +  return 0;
    +}
    +_ACEOF
    +rm -f conftest.$ac_objext conftest$ac_exeext
    +if { (eval echo "$as_me:7587: \"$ac_link\"") >&5
    +  (eval $ac_link) 2>&5
    +  ac_status=$?
    +  echo "$as_me:7590: \$? = $ac_status" >&5
    +  (exit $ac_status); } &&
    +         { ac_try='test -s conftest$ac_exeext'
    +  { (eval echo "$as_me:7593: \"$ac_try\"") >&5
    +  (eval $ac_try) 2>&5
    +  ac_status=$?
    +  echo "$as_me:7596: \$? = $ac_status" >&5
    +  (exit $ac_status); }; }; then
    +  ac_cv_lib_rt_clock_gettime=yes
    +else
    +  echo "$as_me: failed program was:" >&5
    +cat conftest.$ac_ext >&5
    +ac_cv_lib_rt_clock_gettime=no
    +fi
    +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
    +LIBS=$ac_check_lib_save_LIBS
    +fi
    +echo "$as_me:7607: result: $ac_cv_lib_rt_clock_gettime" >&5
    +echo "${ECHO_T}$ac_cv_lib_rt_clock_gettime" >&6
    +if test $ac_cv_lib_rt_clock_gettime = yes; then
    +  cat >>confdefs.h <&5
    +echo "$as_me:7621: checking for $ac_func" >&5
     echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
     if eval "test \"\${$as_ac_var+set}\" = set"; then
       echo $ECHO_N "(cached) $ECHO_C" >&6
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7509 "configure"
    +#line 7627 "configure"
     #include "confdefs.h"
     /* System header to define __stub macros and hopefully few prototypes,
         which can conflict with char $ac_func (); below.  */
    @@ -7537,16 +7655,16 @@ f = $ac_func;
     }
     _ACEOF
     rm -f conftest.$ac_objext conftest$ac_exeext
    -if { (eval echo "$as_me:7540: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:7658: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:7543: \$? = $ac_status" >&5
    +  echo "$as_me:7661: \$? = $ac_status" >&5
       (exit $ac_status); } &&
              { ac_try='test -s conftest$ac_exeext'
    -  { (eval echo "$as_me:7546: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7664: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7549: \$? = $ac_status" >&5
    +  echo "$as_me:7667: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
       eval "$as_ac_var=yes"
     else
    @@ -7556,22 +7674,22 @@ eval "$as_ac_var=no"
     fi
     rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
     fi
    -echo "$as_me:7559: result: `eval echo '${'$as_ac_var'}'`" >&5
    +echo "$as_me:7677: result: `eval echo '${'$as_ac_var'}'`" >&5
     echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
     if test `eval echo '${'$as_ac_var'}'` = yes; then
       cat >>confdefs.h <&5
    +    echo "$as_me:7684: checking if fparseln seems to work" >&5
     echo $ECHO_N "checking if fparseln seems to work... $ECHO_C" >&6
         if test "$cross_compiling" = yes; then
    -  { echo "$as_me:7569: WARNING: cross compiling: not checking farseln" >&5
    +  { echo "$as_me:7687: WARNING: cross compiling: not checking farseln" >&5
     echo "$as_me: WARNING: cross compiling: not checking farseln" >&2;}
     
     else
       cat >conftest.$ac_ext <<_ACEOF
    -#line 7574 "configure"
    +#line 7692 "configure"
     #include "confdefs.h"
     
     #define _NETBSD_SOURCE
    @@ -7600,23 +7718,23 @@ main(void)
     
     _ACEOF
     rm -f conftest$ac_exeext
    -if { (eval echo "$as_me:7603: \"$ac_link\"") >&5
    +if { (eval echo "$as_me:7721: \"$ac_link\"") >&5
       (eval $ac_link) 2>&5
       ac_status=$?
    -  echo "$as_me:7606: \$? = $ac_status" >&5
    +  echo "$as_me:7724: \$? = $ac_status" >&5
       (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
    -  { (eval echo "$as_me:7608: \"$ac_try\"") >&5
    +  { (eval echo "$as_me:7726: \"$ac_try\"") >&5
       (eval $ac_try) 2>&5
       ac_status=$?
    -  echo "$as_me:7611: \$? = $ac_status" >&5
    +  echo "$as_me:7729: \$? = $ac_status" >&5
       (exit $ac_status); }; }; then
    -  echo "$as_me:7613: result: yes" >&5
    +  echo "$as_me:7731: result: yes" >&5
     echo "${ECHO_T}yes" >&6
     else
       echo "$as_me: program exited with status $ac_status" >&5
     echo "$as_me: failed program was:" >&5
     cat conftest.$ac_ext >&5
    -echo "$as_me:7619: result: no" >&5
    +echo "$as_me:7737: result: no" >&5
     echo "${ECHO_T}no" >&6
     
     cat >>confdefs.h <<\EOF
    @@ -7712,7 +7830,7 @@ DEFS=-DHAVE_CONFIG_H
     : ${CONFIG_STATUS=./config.status}
     ac_clean_files_save=$ac_clean_files
     ac_clean_files="$ac_clean_files $CONFIG_STATUS"
    -{ echo "$as_me:7715: creating $CONFIG_STATUS" >&5
    +{ echo "$as_me:7833: creating $CONFIG_STATUS" >&5
     echo "$as_me: creating $CONFIG_STATUS" >&6;}
     cat >$CONFIG_STATUS <<_ACEOF
     #! $SHELL
    @@ -7884,7 +8002,7 @@ cat >>$CONFIG_STATUS <<\EOF
         echo "$ac_cs_version"; exit 0 ;;
       --he | --h)
         # Conflict between --help and --header
    -    { { echo "$as_me:7887: error: ambiguous option: $1
    +    { { echo "$as_me:8005: 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;}
    @@ -7903,7 +8021,7 @@ Try \`$0 --help' for more information." >&2;}
         ac_need_defaults=false;;
     
       # This is an error.
    -  -*) { { echo "$as_me:7906: error: unrecognized option: $1
    +  -*) { { echo "$as_me:8024: 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;}
    @@ -7940,7 +8058,7 @@ do
       # Handling of arguments.
       "defs.mk" ) CONFIG_FILES="$CONFIG_FILES defs.mk" ;;
       "nbtool_config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS nbtool_config.h" ;;
    -  *) { { echo "$as_me:7943: error: invalid argument: $ac_config_target" >&5
    +  *) { { echo "$as_me:8061: error: invalid argument: $ac_config_target" >&5
     echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
        { (exit 1); exit 1; }; };;
       esac
    @@ -8141,7 +8259,7 @@ done; }
       esac
     
       if test x"$ac_file" != x-; then
    -    { echo "$as_me:8144: creating $ac_file" >&5
    +    { echo "$as_me:8262: creating $ac_file" >&5
     echo "$as_me: creating $ac_file" >&6;}
         rm -f "$ac_file"
       fi
    @@ -8159,7 +8277,7 @@ echo "$as_me: creating $ac_file" >&6;}
           -) echo $tmp/stdin ;;
           [\\/$]*)
              # Absolute (can't be DOS-style, as IFS=:)
    -         test -f "$f" || { { echo "$as_me:8162: error: cannot find input file: $f" >&5
    +         test -f "$f" || { { echo "$as_me:8280: error: cannot find input file: $f" >&5
     echo "$as_me: error: cannot find input file: $f" >&2;}
        { (exit 1); exit 1; }; }
              echo $f;;
    @@ -8172,7 +8290,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
                echo $srcdir/$f
              else
                # /dev/null tree
    -           { { echo "$as_me:8175: error: cannot find input file: $f" >&5
    +           { { echo "$as_me:8293: error: cannot find input file: $f" >&5
     echo "$as_me: error: cannot find input file: $f" >&2;}
        { (exit 1); exit 1; }; }
              fi;;
    @@ -8232,7 +8350,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
       * )   ac_file_in=$ac_file.in ;;
       esac
     
    -  test x"$ac_file" != x- && { echo "$as_me:8235: creating $ac_file" >&5
    +  test x"$ac_file" != x- && { echo "$as_me:8353: creating $ac_file" >&5
     echo "$as_me: creating $ac_file" >&6;}
     
       # First look for the input files in the build tree, otherwise in the
    @@ -8243,7 +8361,7 @@ echo "$as_me: creating $ac_file" >&6;}
           -) echo $tmp/stdin ;;
           [\\/$]*)
              # Absolute (can't be DOS-style, as IFS=:)
    -         test -f "$f" || { { echo "$as_me:8246: error: cannot find input file: $f" >&5
    +         test -f "$f" || { { echo "$as_me:8364: error: cannot find input file: $f" >&5
     echo "$as_me: error: cannot find input file: $f" >&2;}
        { (exit 1); exit 1; }; }
              echo $f;;
    @@ -8256,7 +8374,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
                echo $srcdir/$f
              else
                # /dev/null tree
    -           { { echo "$as_me:8259: error: cannot find input file: $f" >&5
    +           { { echo "$as_me:8377: error: cannot find input file: $f" >&5
     echo "$as_me: error: cannot find input file: $f" >&2;}
        { (exit 1); exit 1; }; }
              fi;;
    @@ -8373,7 +8491,7 @@ cat >>$CONFIG_STATUS <<\EOF
       rm -f $tmp/in
       if test x"$ac_file" != x-; then
         if cmp -s $ac_file $tmp/config.h 2>/dev/null; then
    -      { echo "$as_me:8376: $ac_file is unchanged" >&5
    +      { echo "$as_me:8494: $ac_file is unchanged" >&5
     echo "$as_me: $ac_file is unchanged" >&6;}
         else
           ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
    diff --git a/tools/compat/configure.ac b/tools/compat/configure.ac
    index 10d0429b5..22800c19a 100644
    --- a/tools/compat/configure.ac
    +++ b/tools/compat/configure.ac
    @@ -1,4 +1,4 @@
    -#	$NetBSD: configure.ac,v 1.74 2011/11/03 14:13:53 joerg Exp $
    +#	$NetBSD: configure.ac,v 1.80 2013/08/14 10:14:45 jmcneill Exp $
     #
     # Autoconf definition file for libnbcompat.
     #
    @@ -35,9 +35,9 @@ AH_BOTTOM([#include "compat_defs.h"
     AC_DEFUN([AC_NETBSD],
     [AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
           AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
    -      AC_MSG_CHECKING([for NetBSD])
    +      AC_MSG_CHECKING([for NetBSD or MINIX3])
           AC_EGREP_CPP(yes,
    -      [#ifdef __NetBSD__
    +      [#if defined(__NetBSD__) || ((__minix)
     	yes
     	#endif
     	],
    @@ -79,7 +79,7 @@ AC_CHECK_HEADERS(sys/ioctl.h sys/mman.h sys/param.h \
     # Find headers that may not be available.
     AC_HEADER_DIRENT
     AC_CHECK_HEADERS(sys/mtio.h sys/sysmacros.h sys/syslimits.h \
    -	getopt.h features.h malloc.h sys/poll.h pthread.h stddef.h)
    +	getopt.h features.h malloc.h sys/poll.h pthread.h stddef.h rpc/types.h)
     AC_CHECK_HEADERS(sys/bswap.h machine/bswap.h sys/cdefs.h machine/endian.h \
     	sys/endian.h sys/featuretest.h err.h inttypes.h libgen.h paths.h \
     	stdint.h util.h resolv.h arpa/nameser.h,,
    @@ -100,6 +100,9 @@ AC_CHECK_TYPES([id_t, long long, u_long, u_char, u_short, u_int, u_quad_t])
     AC_CHECK_TYPE(socklen_t, [AC_DEFINE([HAVE_SOCKLEN_T], 1,
     			  [Define if you have the socklen_t type.])],,
     [#include 
    +#ifdef HAVE_RPC_TYPES_H
    +#include 
    +#endif
     #include ])
     
     dnl XXX - This is UGLY.  Need a better way to homogenize the bitsized types,
    @@ -134,24 +137,29 @@ AC_CHECK_MEMBERS([struct stat.st_flags, struct stat.st_gen,
     	struct stat.st_atim, struct stat.st_mtimensec],,, 
     	[#include ])
     AC_CHECK_MEMBERS(struct statvfs.f_iosize,,, [#include ])
    +AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include ])
     
     # Global variable decls.
     AC_CHECK_DECLS([optind, optreset],,, [
     #include 
     #include 
     #include 
    +#ifdef HAVE_GETOPT_H
    +#include 
    +#endif
     ])
     AC_CHECK_DECLS(sys_signame,,, [#include ])
     
     # Library functions (where a .h check isn't enough).
     AC_FUNC_ALLOCA
     AC_CHECK_FUNCS(atoll asprintf asnprintf basename devname dirfd dirname \
    -	esetfunc fgetln flock fpurge __fpurge futimes getline \
    +	dprintf esetfunc fgetln flock fpurge __fpurge futimes getline \
     	getopt getopt_long group_from_gid gid_from_group \
     	heapsort isblank issetugid lchflags lchmod lchown lutimes mkstemp \
     	mkdtemp poll pread putc_unlocked pwcache_userdb pwcache_groupdb \
     	pwrite raise_default_signal random setenv \
    -	setgroupent setprogname setpassent snprintf strlcat strlcpy strmode \
    +	setgroupent setprogname setpassent \
    +	snprintb_m snprintf strlcat strlcpy strmode \
     	strndup strsep strsuftoll strtoll \
     	user_from_uid uid_from_user vasprintf vasnprintf vsnprintf)
     
    @@ -194,6 +202,8 @@ dnl # Thus AC_CHECK_LIB(regex...) comes first, and AC_SEARCHLIBS next.
     AC_CHECK_LIB(regex, regfree)
     AC_SEARCH_LIBS(regfree, rx posix)
     
    +AC_CHECK_LIB(rt, clock_gettime)
    +
     AC_CHECK_FUNCS(fparseln, [
         AC_MSG_CHECKING(if fparseln seems to work)
         AC_RUN_IFELSE(
    diff --git a/tools/compat/defs.mk.in b/tools/compat/defs.mk.in
    index 39312fc20..eb5a48a67 100644
    --- a/tools/compat/defs.mk.in
    +++ b/tools/compat/defs.mk.in
    @@ -1,8 +1,72 @@
    -#	$NetBSD: defs.mk.in,v 1.10 2011/08/14 20:22:42 apb Exp $
    +#	$NetBSD: defs.mk.in,v 1.12 2012/12/02 13:05:14 apb Exp $
    +#
    +# Makefile fragment for building with libnbcompat and associated
    +# include files.  It can also be used for building just with
    +# the include files, without the library.
    +#
    +# This can be used when the library and include files have been installed
    +# into TOOLDIR (by "make install" in the src/tools/compat directory),
    +# or when they have not been installed into TOOLDIR but reside
    +# in the .OBJDIR associated with src/tools/compat.
    +#
    +# Variables:
    +#
    +# COMPATLIB_UNINSTALLED:
    +#		If "yes", then use the files from the .OBJDIR of
    +#		NETBSDSRCDIR/tools/compat.  Otherwise, use the files
    +#		from TOOLDIR.
    +#
    +# COMPATLIB_NO_LIB:
    +#		If "yes" then do not use the library (but still use
    +#		the include files).
    +#
    +# Examples:
    +#
    +# * Use uninstalled copy of libnbcompat and associated *.h files:
    +#
    +#	COMPATLIB_UNINSTALLED= yes
    +#	COMPATOBJ!=	cd ${NETBSDSRCDIR}/tools/compat && ${PRINTOBJDIR}
    +#	.-include	"${COMPATOBJ}/defs.mk"
    +#
    +# * Use TOOLDIR copy of libnbcompat and associated *.h files:
    +#
    +#	.-include	"${TOOLDIR}/share/compat/defs.mk"
    +#
    +# * Use TOOLDIR copy of compat *.h files, but do not use libnbcompat.a:
    +#
    +#	COMPATLIB_NO_LIB= yes
    +#	.-include	"${TOOLDIR}/share/compat/defs.mk"
    +#
    +# The use of ".-include" instead of ".include" above is because it's
    +# expected that the file might not exist during "make obj" or "make clean".
    +#
     
    +.include 
    +
    +# Use the installed (TOOLDIR) version of the library and headers by default
    +COMPATLIB_UNINSTALLED ?= no
    +# Use library and includes by default.
    +COMPATLIB_NO_LIB ?= no
    +
    +.if "${COMPATLIB_UNINSTALLED}" == "yes"
    +# The library lives in the .OBJDIR.
    +#
    +# Some include files live directly in the .OBJDIR, while others
    +# live in subdirectories of .OBJDIR/include.
    +#
     COMPATOBJ:=	${.PARSEDIR}
    -HOSTEXEEXT=	@EXEEXT@
    +COMPATLIBDIR=	${COMPATOBJ}
    +COMPATINCFLAGS=	-I${COMPATOBJ} -I${COMPATOBJ}/include
    +.else
    +# The library lives in TOOLDIR/lib.
    +#
    +# All include files live in TOOLDIR/include/comnpat, and its subdirectories.
    +#
    +COMPATLIBDIR=	${TOOLDIR}/lib
    +COMPATINCFLAGS=	-I${TOOLDIR}/include/compat
    +.endif
     
    +HOSTEXEEXT=	@EXEEXT@
     HOST_BSHELL=	@BSHELL@
     
     BUILD_OSTYPE!=  uname -s
    @@ -12,11 +76,12 @@ BUILD_OSTYPE!=  uname -s
     HOST_CPPFLAGS+=	-no-cpp-precomp
     .endif
     
    -HOST_CPPFLAGS+=	-I${COMPATOBJ} -I${COMPATOBJ}/include \
    -		-I${.CURDIR}/../compat -DHAVE_NBTOOL_CONFIG_H=1 \
    -		-D_FILE_OFFSET_BITS=64
    +HOST_CPPFLAGS+=	${COMPATINCFLAGS} -I${NETBSDSRCDIR}/tools/compat \
    +		-DHAVE_NBTOOL_CONFIG_H=1 -D_FILE_OFFSET_BITS=64
     
    -DPADD+=		${COMPATOBJ}/libnbcompat.a
    -LDADD+=		-L${COMPATOBJ} -lnbcompat @LIBS@
    +.if "${COMPATLIB_NO_LIB}" != "yes"
    +DPADD+=		${COMPATLIBDIR}/libnbcompat.a
    +LDADD+=		-L${COMPATLIBDIR} -lnbcompat @LIBS@
    +.endif # ! COMPATLIB_NO_LIB
     
     HAVE_PTHREAD_H=	@HAVE_PTHREAD_H@
    diff --git a/tools/compat/dprintf.c b/tools/compat/dprintf.c
    new file mode 100644
    index 000000000..90d736361
    --- /dev/null
    +++ b/tools/compat/dprintf.c
    @@ -0,0 +1,77 @@
    +/*	$NetBSD: dprintf.c,v 1.2 2013/03/05 16:29:09 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 2013 NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Christos Zoulas.
    + *
    + * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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.
    + */
    +
    +#ifdef HAVE_NBTOOL_CONFIG_H
    +#include "nbtool_config.h"
    +#endif
    +
    +#if !HAVE_DPRINTF
    +#include 
    +#ifndef HAVE_NBTOOL_CONFIG_H
    +/* These headers are required, but included from nbtool_config.h */
    +#include 
    +#include 
    +#include 
    +#endif
    +
    +int
    +dprintf(int fd, const char *fmt, ...)
    +{
    +	FILE *fp;
    +	int e;
    +	va_list ap;
    +
    +	if ((e = dup(fd)) == -1)
    +		return -1;
    +
    +	if ((fp = fdopen(e, "r+")) == NULL) {
    +		(void)close(e);
    +		return -1;
    +	}
    +
    +	va_start(ap, fmt);
    +	e = vfprintf(fp, fmt, ap);
    +	va_end(ap);
    +
    +	(void)fclose(fp);
    +	return e;
    +}
    +
    +#endif	/* HAVE_DPRINTF */
    +
    +#ifdef TEST
    +int
    +main(int argc, char *argv[])
    +{
    +	dprintf(1, "Hello %s\n", "world");
    +	return 0;
    +}
    +#endif
    diff --git a/tools/compat/fs/msdosfs/bootsect.h b/tools/compat/fs/msdosfs/bootsect.h
    new file mode 100644
    index 000000000..9abf7dc29
    --- /dev/null
    +++ b/tools/compat/fs/msdosfs/bootsect.h
    @@ -0,0 +1 @@
    +#include "../../../../sys/fs/msdosfs/bootsect.h"
    diff --git a/tools/compat/fs/msdosfs/bpb.h b/tools/compat/fs/msdosfs/bpb.h
    new file mode 100644
    index 000000000..45eca10db
    --- /dev/null
    +++ b/tools/compat/fs/msdosfs/bpb.h
    @@ -0,0 +1 @@
    +#include "../../../../sys/fs/msdosfs/bpb.h"
    diff --git a/tools/compat/fs/msdosfs/denode.h b/tools/compat/fs/msdosfs/denode.h
    new file mode 100644
    index 000000000..fd4bb928c
    --- /dev/null
    +++ b/tools/compat/fs/msdosfs/denode.h
    @@ -0,0 +1 @@
    +#include "../../../../sys/fs/msdosfs/denode.h"
    diff --git a/tools/compat/fs/msdosfs/direntry.h b/tools/compat/fs/msdosfs/direntry.h
    new file mode 100644
    index 000000000..96536de3b
    --- /dev/null
    +++ b/tools/compat/fs/msdosfs/direntry.h
    @@ -0,0 +1 @@
    +#include "../../../../sys/fs/msdosfs/direntry.h"
    diff --git a/tools/compat/fs/msdosfs/fat.h b/tools/compat/fs/msdosfs/fat.h
    new file mode 100644
    index 000000000..62343bdce
    --- /dev/null
    +++ b/tools/compat/fs/msdosfs/fat.h
    @@ -0,0 +1 @@
    +#include "../../../../sys/fs/msdosfs/fat.h"
    diff --git a/tools/compat/fs/msdosfs/msdosfsmount.h b/tools/compat/fs/msdosfs/msdosfsmount.h
    new file mode 100644
    index 000000000..41d890d7a
    --- /dev/null
    +++ b/tools/compat/fs/msdosfs/msdosfsmount.h
    @@ -0,0 +1 @@
    +#include "../../../../sys/fs/msdosfs/msdosfsmount.h"
    diff --git a/tools/compat/nbtool_config.h.in b/tools/compat/nbtool_config.h.in
    index 2b87fd977..f0bf460ec 100644
    --- a/tools/compat/nbtool_config.h.in
    +++ b/tools/compat/nbtool_config.h.in
    @@ -1,6 +1,6 @@
     /* nbtool_config.h.in.  Generated automatically from configure.ac by autoheader.  */
     
    -/*      $NetBSD: nbtool_config.h.in,v 1.27 2011/11/03 14:13:53 joerg Exp $    */
    +/*      $NetBSD: nbtool_config.h.in,v 1.33 2013/08/14 10:15:14 jmcneill Exp $    */
      
     #ifndef __NETBSD_NBTOOL_CONFIG_H__
     #define __NETBSD_NBTOOL_CONFIG_H__
    @@ -237,6 +237,9 @@
     /* Define if `__dd_fd' is member of `DIR'. */
     #undef HAVE_DIR___DD_FD
     
    +/* Define if you have the `dprintf' function. */
    +#undef HAVE_DPRINTF
    +
     /* Define if you have the  header file. */
     #undef HAVE_ERRNO_H
     
    @@ -318,6 +321,9 @@
     /* Define if you have the `regex' library (-lregex). */
     #undef HAVE_LIBREGEX
     
    +/* Define if you have the `rt' library (-lrt). */
    +#undef HAVE_LIBRT
    +
     /* Define if you have the `z' library (-lz). */
     #undef HAVE_LIBZ
     
    @@ -414,6 +420,9 @@
     /* Define if you have the  header file. */
     #undef HAVE_SIGNAL_H
     
    +/* Define if you have the `snprintb_m' function. */
    +#undef HAVE_SNPRINTB_M
    +
     /* Define if you have the `snprintf' function. */
     #undef HAVE_SNPRINTF
     
    @@ -486,6 +495,9 @@
     /* Define if `st_mtimensec' is member of `struct stat'. */
     #undef HAVE_STRUCT_STAT_ST_MTIMENSEC
     
    +/* Define if `tm_gmtoff' is member of `struct tm'. */
    +#undef HAVE_STRUCT_TM_TM_GMTOFF
    +
     /* Define if you have the  header file. */
     #undef HAVE_SYS_BSWAP_H
     
    diff --git a/tools/compat/rmd160.h b/tools/compat/rmd160.h
    new file mode 100644
    index 000000000..b33b69b99
    --- /dev/null
    +++ b/tools/compat/rmd160.h
    @@ -0,0 +1,5 @@
    +/*	$NetBSD: rmd160.h,v 1.4 2013/02/07 20:30:29 christos Exp $	*/
    +
    +/* We unconditionally use the NetBSD rmd160 in libnbcompat. */
    +#include "nbtool_config.h"
    +#include "../../sys/sys/rmd160.h"
    diff --git a/tools/compat/sha1.h b/tools/compat/sha1.h
    new file mode 100644
    index 000000000..00fad5176
    --- /dev/null
    +++ b/tools/compat/sha1.h
    @@ -0,0 +1,5 @@
    +/*	$NetBSD: sha1.h,v 1.5 2013/02/07 20:30:29 christos Exp $	*/
    +
    +/* We unconditionally use the NetBSD sha1 in libnbcompat. */
    +#include "nbtool_config.h"
    +#include "../../sys/sys/sha1.h"
    diff --git a/tools/compat/sha2.h b/tools/compat/sha2.h
    new file mode 100644
    index 000000000..ee6a828d1
    --- /dev/null
    +++ b/tools/compat/sha2.h
    @@ -0,0 +1,5 @@
    +/*	$NetBSD: sha2.h,v 1.2 2013/02/07 20:31:52 christos Exp $	*/
    +
    +/* We unconditionally use the NetBSD sha2 in libnbcompat. */
    +#include "nbtool_config.h"
    +#include "../../sys/sys/sha2.h"
    diff --git a/tools/compat/sys/sha1.h b/tools/compat/sys/sha1.h
    index 38847ec10..db1cf391a 100644
    --- a/tools/compat/sys/sha1.h
    +++ b/tools/compat/sys/sha1.h
    @@ -1,5 +1,4 @@
    -/*	$NetBSD: sha1.h,v 1.1 2006/10/29 06:17:08 dogcow Exp $	*/
    +/*	$NetBSD: sha1.h,v 1.2 2013/03/12 01:52:55 christos Exp $	*/
     
     /* We unconditionally use the NetBSD SHA1 in libnbcompat. */
    -#include "nbtool_config.h"
     #include "../../sys/sys/sha1.h"
    diff --git a/tools/gcc/Makefile b/tools/gcc/Makefile
    index 3782a86dc..e0938a33a 100644
    --- a/tools/gcc/Makefile
    +++ b/tools/gcc/Makefile
    @@ -1,34 +1,21 @@
    -#	$NetBSD: Makefile,v 1.52 2012/09/18 07:05:15 skrll Exp $
    +#	$NetBSD: Makefile,v 1.61 2013/11/28 12:08:57 mrg Exp $
     
     .include 
     
     GCC_LANGUAGES=c c++ objc
     MODULE=			gcc4
     
    -MKNATIVE_CONFIG_TARGET_LIBS= \
    -	configure-target-libstdc++-v3 \
    -	configure-target-libobjc
    -
     .if ${HAVE_GCC} == 45
    -MKNATIVE_TARGET=	gcc45
     GNUHOSTDIST=		${.CURDIR}/../../external/gpl3/gcc/dist
    -MKNATIVE_CONFIG_TARGET_LIBS+= \
    -	configure-target-libgomp
    -.else
    -MKNATIVE_TARGET=	gcc4
     .endif
     
    -BINENV=		/usr/bin/env -i
    -
    -VAX_CONFIGURE_ARGS=
    -
     .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64"
     MULTILIB_ARGS= --enable-multilib
     .else
     MULTILIB_ARGS= --disable-multilib
     .endif
     
    -.if ${MKSOFTFLOAT} != "no"
    +.if ${MKSOFTFLOAT} != "no" && ${MACHINE_CPU} != "m68k"
     SOFTFLOAT_ARGS=	-with-float=soft
     .endif
     
    @@ -38,14 +25,12 @@ COMMON_CONFIGURE_ARGS=	--target=${MACHINE_GNU_PLATFORM} \
     			--with-bugurl=http://www.NetBSD.org/Misc/send-pr.html \
     			--with-pkgversion="NetBSD nb1 20120916" \
     			--with-system-zlib \
    -			${VAX_CONFIGURE_ARGS} \
     			--enable-__cxa_atexit
     .if defined(__MINIX)
     COMMON_CONFIGURE_ARGS+=	\
     			--disable-libssp \
    -			--disable-threads \
     			--enable-visibility \
    -			--disable-libunwind
    +			--disable-threads
     
     CONFIGURE_ENV+= gcc_cv_ld_hidden=yes 
     
    @@ -87,6 +72,29 @@ MAKE_ARGS=	MACHINE= MAKEINFO=${TOOL_MAKEINFO:Q} \
     CONFIGURE_ENV+= gcc_cv_libc_provides_ssp=yes \
     		gcc_cv_as_sparc_gotdata_op=no
     
    +ALL_TARGET=	all-gcc
    +INSTALL_TARGET=	install-gcc
    +
    +.include "${.CURDIR}/../Makefile.gmakehost"
    +BUILD_MAKE=${TOOL_GMAKE}
    +
    +#
    +# mknative-gcc specific stuff
    +#
    +MKNATIVE_CONFIG_TARGET_LIBS= \
    +	configure-target-libstdc++-v3 \
    +	configure-target-libobjc
    +
    +.if ${HAVE_GCC} == 45
    +MKNATIVE_TARGET=	gcc45
    +MKNATIVE_CONFIG_TARGET_LIBS+= \
    +	configure-target-libgomp
    +.else
    +MKNATIVE_TARGET=	gcc4
    +.endif
    +
    +BINENV=		/usr/bin/env -i
    +
     MKNATIVE_ENV=	${BINENV} ${CONFIGURE_ENV:NC*:NLD*} \
     			CC_FOR_BUILD=${HOST_CC:Q} \
     			CC=${CC:Q}' '${CCADDFLAGS:Q} \
    @@ -108,16 +116,6 @@ MKNATIVE_ENV=	${BINENV} ${CONFIGURE_ENV:NC*:NLD*} \
     			gdb_cv_scanf_has_long_double=yes \
     			gcc_cv_as_sparc_gotdata_op=no
     
    -ALL_TARGET=	all-gcc
    -INSTALL_TARGET=	install-gcc
    -
    -.include "${.CURDIR}/../Makefile.gmakehost"
    -BUILD_MAKE=${TOOL_GMAKE}
    -
    -#
    -# mknative-gcc specific stuff
    -#
    -
     .if ${HAVE_GCC} < 45
     GCCSRCDIR=${.CURDIR}/../../gnu/dist/gcc4
     .else
    @@ -127,27 +125,39 @@ GCCSRCDIR=${.CURDIR}/../../external/gpl3/gcc/dist
     CXXADDFLAGS=	--sysroot=${DESTDIR}
     CCADDFLAGS=	--sysroot=${DESTDIR} -L${DESTDIR}/lib -L${DESTDIR}/usr/lib -B${DESTDIR}/usr/lib/ -I${.OBJDIR}/.native/gcc/include
     
    +# NEWCONFIGDIR can be set to a read-write location of the source tree
    +# in case the version being used is not.
     NEWCONFIGDIR?=	${.CURDIR}/../..
     MKNATIVE?=	${.CURDIR}/mknative-gcc
     
     bootstrap-libgcc: .configure_done
     	@echo 'Creating files needed for libgcc by a native bootstrap build.'
     	@MAKE=${BUILD_MAKE:Q} ${HOST_SH} ${MKNATIVE} lib${MKNATIVE_TARGET} \
    -		${.OBJDIR}/build ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM} \
    -		${DESTDIR}
    +		${.OBJDIR}/build ${NEWCONFIGDIR} ${NETBSDSRCDIR} \
    +		${MACHINE_GNU_PLATFORM} ${DESTDIR}
     
     native-gcc: .native/.configure_done
     	@echo 'Extracting GNU GCC configury for a native toolchain.'
     	@MAKE=${BUILD_MAKE:Q} ${HOST_SH} ${MKNATIVE} ${MKNATIVE_TARGET} \
    -		${.OBJDIR}/.native ${NEWCONFIGDIR} ${MACHINE_GNU_PLATFORM} \
    -		${DESTDIR}
    +		${.OBJDIR}/.native ${NEWCONFIGDIR} ${NETBSDSRCDIR} \
    +		${MACHINE_GNU_PLATFORM} ${DESTDIR}
     
     NATIVE_CONFIGURE_ARGS=	${COMMON_CONFIGURE_ARGS}
     .if ${HAVE_GCC} >= 45
    +MPC=		${NETBSDSRCDIR}/external/lgpl3/mpc
    +MPFR=		${NETBSDSRCDIR}/external/lgpl3/mpfr
    +GMP=		${NETBSDSRCDIR}/external/lgpl3/gmp
    +MPCOBJ!=	cd ${MPC}/lib/libmpc && ${PRINTOBJDIR}
    +MPFROBJ!=	cd ${MPFR}/lib/libmpfr && ${PRINTOBJDIR}
    +GMPOBJ!=	cd ${GMP}/lib/libgmp && ${PRINTOBJDIR}
    +
     NATIVE_CONFIGURE_ARGS+=	\
    -			--with-mpc=${DESTDIR}/usr \
    -			--with-mpfr=${DESTDIR}/usr \
    -			--with-gmp=${DESTDIR}/usr
    +			--with-mpc-lib=${MPCOBJ} \
    +			--with-mpfr-lib=${MPFROBJ} \
    +			--with-gmp-lib=${GMPOBJ} \
    +			--with-mpc-include=${MPC}/dist/src \
    +			--with-mpfr-include=${MPFR}/dist \
    +			--with-gmp-include=${GMP}/lib/libgmp/arch/${MACHINE_ARCH}
     
     .  if ${MACHINE_ARCH} != "vax"
     NATIVE_CONFIGURE_ARGS+= --enable-tls
    diff --git a/tools/gcc/README.mknative b/tools/gcc/README.mknative
    index 009d674a4..f4072898d 100644
    --- a/tools/gcc/README.mknative
    +++ b/tools/gcc/README.mknative
    @@ -1,4 +1,4 @@
    -$NetBSD: README.mknative,v 1.13 2012/09/27 11:29:49 skrll Exp $
    +$NetBSD: README.mknative,v 1.17 2013/11/28 12:08:57 mrg Exp $
     
     This file describes how to bootstrap the native toolchain on a new NetBSD
     platform (and how to update the new toolchain files, if needed).  These
    @@ -22,8 +22,11 @@ work.
        gets built, eliciting proper HAVE_*GETTEXT* defns in config.h files.)
     
     2. Build and install a cross toolchain (via "build.sh -m MACHINE tools").
    +   Note that while PR #47353 is not fixed, you can not use the -O option
    +   to build.sh. Use -M instead. (The differences are in layout and pathname
    +   prefixes in the object directory pointed to by each option.)
     
    -3. In src/tools/gcc, do "nbmake-MACHINE bootstrap-libgcc".
    +3. In src/tools/gcc, do "nbmake-MACHINE HAVE_GCC=45 bootstrap-libgcc".
     
        This will create just enough glue in src/external/gpl3/gcc/lib/libgcc/arch
        to make it possible to build, based on the toolchain built in
    @@ -33,8 +36,11 @@ work.
        will regenerate the "proper" libgcc config files.
     
     4. At top level, do
    -   "nbmake-MACHINE obj do-distrib-dirs MKGCC=no MKBINUTILS=no", and
    -   "nbmake-MACHINE includes HAVE_GCC= MKGCC=no MKBINUTILS=no".
    +   "nbmake-MACHINE obj do-distrib-dirs MKGCC=no MKBINUTILS=no HAVE_GCC=45", and
    +   "nbmake-MACHINE includes HAVE_GCC= MKGCC=no MKBINUTILS=no HAVE_GCC=45".
    +   (Note: replace 45 [for gcc 4.5.x] with the appropriate version you are
    +   going to mknative-for, the MKGCC=no prevents the standard makefiles from
    +   picking up any gcc version info automatically)
     
     5. In src/lib/csu, do
        "nbmake-MACHINE dependall". and "nbmake-MACHINE install".
    @@ -47,15 +53,11 @@ work.
        "nbmake-MACHINE obj includes dependall install".
     
     8. In each of src/external/lgpl3/gmp/lib/libgmp,
    -   src/external/lgpl3/mpfr/lib/libmpfr, src/external/lgpl2/mpc/lib/libmpc
    -   do "nbmake-MACHINE obj includes LIBISPRIVATE=no", and
    -   "nbmake-MACHINE dependall install".
    -
    -   It is important to have LIBISPRIVATE=no while doing includes as this
    -   installs a header file that is not part of standard build.
    +   src/external/lgpl3/mpfr/lib/libmpfr, src/external/lgpl3/mpc/lib/libmpc
    +   do "nbmake-MACHINE obj dependall".
     
     9. In src/lib, do
    -   "nbmake-MACHINE dependall install MKGCC=no".
    +   "nbmake-MACHINE dependall install MKGCC=no HAVE_GCC=45".
     
        Optionally, all of the following may be set in the environment to reduce
        the amount of code needed to build at this step.  Basically, it must be
    @@ -67,6 +69,7 @@ work.
        MKLINT=no
        MKPROFILE=no
        MKSHARE=no
    +   MKRUMP=no
     
     10. In src/tools/gcc, do "nbmake-MACHINE native-gcc".
     
    diff --git a/tools/gcc/mknative-gcc b/tools/gcc/mknative-gcc
    index 981f2781e..a392c641e 100755
    --- a/tools/gcc/mknative-gcc
    +++ b/tools/gcc/mknative-gcc
    @@ -1,5 +1,5 @@
     #!/bin/sh
    -#	$NetBSD: mknative-gcc,v 1.68 2012/09/25 06:55:10 skrll Exp $
    +#	$NetBSD: mknative-gcc,v 1.74 2013/11/28 12:08:57 mrg Exp $
     #
     # Shell script for generating all the constants needed for a native
     # platform build of gcc.
    @@ -9,9 +9,10 @@
     
     _TMPDIR=$2
     _TOP=$3
    -_PLATFORM=$4
    -_DESTDIR=$5
    -_ABI=$6
    +_SRC=$4
    +_PLATFORM=$5
    +_DESTDIR=$6
    +_ABI=$7
     _VPATH=`grep VPATH ${_TMPDIR}/Makefile | sed 's,^.*=[ 	]*,,'`
     _GNU_DIST=`cd ${_VPATH}; pwd`
     
    @@ -26,6 +27,15 @@ fi
     _OUTDIR="$_TOP/gnu"
     _OUTDIRBASE="gnu"
     
    +sanitise_includes () {
    +	sed \
    +		-e "s,-I$_DESTDIR/usr/include,,g" \
    +		-e "s,-I$_SRC/external/lgpl3/mpfr/dist,,g" \
    +		-e "s,-I$_SRC/external/lgpl3/mpc/dist/src,,g" \
    +		-e "s,-I$_SRC/external/lgpl3/gmp/lib/libgmp/arch/$MACHINE_ARCH,,g" \
    +		-e "s,-I/usr/include/[^ 	]*,,"
    +}
    +
     ##### gnu/lib/crtstuff #####
     
     get_crtstuff () {
    @@ -35,7 +45,7 @@ get_crtstuff () {
     	getvars gcc/Makefile \
     		INCLUDES CRTSTUFF_CFLAGS CRTSTUFF_T_CFLAGS CRTSTUFF_T_CFLAGS_S \
     		tm_defines xm_file xm_defines \
    -		| sed "s,-I$_DESTDIR/usr/include,,g" \
    +		| sanitise_includes \
     		| write_mk $_OUTDIRBASE/lib/$_subdir/arch/$MACHINE_ARCH.mk
     }
     
    @@ -394,8 +404,8 @@ get_libgcc () {
     			SHLIB_MAPFILES SHLIB_NM_FLAGS \
     			EXTRA_HEADERS xm_defines \
     			tm_defines ${_extravars}
    -	} | sed "s,-I$_DESTDIR/usr/include,,g" \
    -	| write_mk $_OUTDIRBASE/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk
    +	}	| sanitise_includes \
    +		| write_mk $_OUTDIRBASE/lib/lib$_subdir/arch${_archsubdir}/$MACHINE_ARCH.mk
     
     	# Generate new style files.
     	if [ -n "${MKNATIVE_LIBGCC_NEW}" ]; then
    @@ -546,7 +556,7 @@ get_libstdcxx_v3 () {
     	} | write_mk $_OUTDIRBASE/lib/$_subdir/arch/$MACHINE_ARCH/defs.mk
     }
     
    -##### gnu/usr.bin/gcc3 #####
    +##### gnu/usr.bin/gcc* #####
     
     get_gcc_bootstrap () {
     	_subdir="$1"
    @@ -569,7 +579,7 @@ get_gcc () {
     		_extravars2="tm_file_list build_xm_include_list"
     		_extravars3="tm_p_include_list"
     		;;
    -		
    +
     	gcc)
     		_buildname="BUILD_"
     		_libcppsubdir=""
    @@ -600,7 +610,7 @@ get_gcc () {
     			tm_defines host_xm_file host_xm_defines tm_p_file \
     			target_cpu_default ${_extravars} ${_extravars2} \
     			lang_specs_files ${_extravars3} \
    -				| sed "s,-I$_DESTDIR/usr/include,,g"
    +				| sanitise_includes
     		getvars gcc/Makefile \
     			LIB2ADDEHDEP | sed 's/unwind.inc//'
     		getvars gcc/Makefile \
    @@ -612,10 +622,6 @@ get_gcc () {
     			getvars libcpp/Makefile \
     				libcpp_a_OBJS
     			;;
    -		gcc3)
    -			getvars gcc/Makefile \
    -				LIBCPP_OBJS LIBCPP_H
    -			;;
     		esac
     		getvars gcc/Makefile \
     			ENABLE_SHARED
    @@ -687,11 +693,6 @@ __EOF__
     
     case "$1" in
     # .mk and .h files for libgcc bootstrap (from host build)
    -libgcc)
    -	get_libgcc gcc3
    -	get_crtstuff crtstuff3
    -	exit 0
    -	;;
     
     libgcc4)
     	get_libgcc gcc4
    diff --git a/tools/gcc/mknative.common b/tools/gcc/mknative.common
    index 8fd7553e7..21c2ff06c 100644
    --- a/tools/gcc/mknative.common
    +++ b/tools/gcc/mknative.common
    @@ -1,4 +1,4 @@
    -#	$NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp $
    +#	$NetBSD: mknative.common,v 1.10 2013/10/20 16:00:20 skrll Exp $
     #
     # from: NetBSD: mknative,v 1.12 2003/03/05 06:17:17 mrg Exp
     #
    @@ -24,7 +24,7 @@ getvars()
     	_mf="$1"; shift
     	case "$MAKE" in
     	*gmake)
    -	env MAKEFLAGS= $MAKE -f - -f "$_TMPDIR/$_mf" _x_ <$_TOP/$1.tmp || \
     		bomb "cannot create $1"
     	grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
    -	echo '$NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp $' | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
    +	echo '$NetBSD: mknative.common,v 1.10 2013/10/20 16:00:20 skrll Exp $' | sed 's,[#$],,g;s,.*,/* Generated from: & */,' >>$_TOP/$1.tmp
     	echo '' >>$_TOP/$1.tmp
     	writefile $1
     }
    @@ -64,7 +64,7 @@ write_mk()
     	echo '# This file is automatically generated.  DO NOT EDIT!' >$_TOP/$1.tmp || \
     		bomb "cannot create $1"
     	grep '$''NetBSD' $0 | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
    -	echo '$NetBSD: mknative.common,v 1.9 2007/02/05 18:26:01 apb Exp $' | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
    +	echo '$NetBSD: mknative.common,v 1.10 2013/10/20 16:00:20 skrll Exp $' | sed 's,[#$],,g;s,.*,# Generated from: &,' >>$_TOP/$1.tmp
     	echo '#' >>$_TOP/$1.tmp
     	writefile $1
     }
    diff --git a/tools/genassym/Makefile b/tools/genassym/Makefile
    index 76d890912..c11d136bb 100644
    --- a/tools/genassym/Makefile
    +++ b/tools/genassym/Makefile
    @@ -1,12 +1,10 @@
    -#	$NetBSD: Makefile,v 1.5 2008/10/25 22:15:28 apb Exp $
    +#	$NetBSD: Makefile,v 1.6 2012/12/02 12:48:32 apb Exp $
     
     .include 
     
     .PATH.sh:	${.CURDIR}/../../usr.bin/genassym
     
    -COMPATOBJ!=	cd ${.CURDIR}/../compat && ${PRINTOBJDIR}
    -.-include	"${COMPATOBJ}/defs.mk"
    -
    +.-include	"${TOOLDIR}/share/compat/defs.mk"
     
     TIMESTAMP=	${TOOLDIR}/bin/${_TOOL_PREFIX}genassym
     
    diff --git a/tools/gmake/Makefile b/tools/gmake/Makefile
    index 797b4269a..8e50ab4a7 100644
    --- a/tools/gmake/Makefile
    +++ b/tools/gmake/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.2 2006/10/27 22:36:23 uwe Exp $
    +#	$NetBSD: Makefile,v 1.3 2013/08/16 10:29:32 gsutre Exp $
     #
     
     GNUHOSTDIST=	${.CURDIR}/../../gnu/dist/gmake
    @@ -11,6 +11,8 @@ CONFIGURE_ENV+=	CC=${HOST_CC:Q} \
     CONFIGURE_ARGS=	--program-prefix=${_TOOL_PREFIX}g
     CONFIGURE_ARGS+=--disable-nls
     
    +MAKE_ARGS=	MAKEINFO=${TOOL_MAKEINFO:Q}
    +
     .NOTPARALLEL:
     
     .include "${.CURDIR}/../Makefile.gnuhost"
    diff --git a/tools/headerlist b/tools/headerlist
    index 7dfb7d770..ae0742633 100644
    --- a/tools/headerlist
    +++ b/tools/headerlist
    @@ -1,4 +1,4 @@
    -# $NetBSD: headerlist,v 1.6 2011/01/26 01:18:55 pooka Exp $
    +# $NetBSD: headerlist,v 1.8 2013/07/18 22:08:59 matt Exp $
     #
     # do not edit; this file was automatically generated by:
     #	NetBSD: mkheaderlist.sh,v 1.1 2007/08/07 12:38:23 yamt Exp 
    @@ -36,8 +36,12 @@
     ./emips/include/elf_machdep.h
     ./dreamcast/include/disklabel.h
     ./dreamcast/include/elf_machdep.h
    +./epoc32/include/disklabel.h
    +./epoc32/include/elf_machdep.h
     ./evbarm/include/disklabel.h
     ./evbarm/include/elf_machdep.h
    +./evbcf/include/disklabel.h
    +./evbcf/include/elf_machdep.h
     ./evbmips/include/disklabel.h
     ./evbmips/include/elf_machdep.h
     ./evbppc/include/disklabel.h
    diff --git a/tools/host-mkdep/Makefile b/tools/host-mkdep/Makefile
    index 73ce6ec8c..867bee93f 100644
    --- a/tools/host-mkdep/Makefile
    +++ b/tools/host-mkdep/Makefile
    @@ -1,27 +1,48 @@
    -#	$NetBSD: Makefile,v 1.10 2008/10/19 22:05:23 apb Exp $
    +#	$NetBSD: Makefile,v 1.12 2012/12/02 12:44:06 apb Exp $
     
    -TIMESTAMP=	${TOOLDIR}/bin/${_TOOL_PREFIX}host-mkdep
    +HOSTPROG= 	host-mkdep
    +HOSTPROGNAME=	${_TOOL_PREFIX}host-mkdep
    +HOST_BINDIR=	${TOOLDIR}/bin
    +
    +NOMAN=	# defined
    +SRCS=	# empty
     
     CLEANFILES+=	config.cache config.log config.status host-mkdep
     
     .include 
     
    -# When host-mkdep is built, TOOL_AWK is not yet available, so we do not
    -# pass AWK=${TOOL_AWK:Q} to configure; we allow configure to find awk
    -# for itself (or complain if it can't find awk).
    +# XXX: The configure script needs to use awk, but we can't pass
    +# AWK=${TOOL_AWK:Q} in CONFIGURE_ENV, because TOOL_AWK is not yet
    +# available at the time that host-mkdep is built.  The configure script
    +# will try to find some other version of awk.
    +#
    +CONFIGURE_ENV=	CC=${HOST_CC:Q}
     
     realall: host-mkdep
     host-mkdep: configure host-mkdep.in
     	-rm -f $@
    -	CC=${HOST_CC:Q} ${HOST_SH} ${.CURDIR}/configure --cache-file=config.cache
    +	${CONFIGURE_ENV} \
    +	    ${HOST_SH} ${.CURDIR}/configure --cache-file=config.cache
     	chmod +x $@
     
    -# This is the only program that comes before binstall.
    -install: ${TIMESTAMP}
    -${TIMESTAMP}: host-mkdep
    -	mkdir -p ${TOOLDIR}/bin
    -	cp host-mkdep $@
    -	chmod +x $@
    +# Use uninstalled copy of the install program
    +INSTALL_OBJ!=	cd ${NETBSDSRCDIR}/tools/binstall && ${PRINTOBJDIR}
    +INSTALL=	${INSTALL_OBJ}/xinstall
    +
    +# Install rule, copied from src/tools/Makefile.host.
    +# We can't include Makefile.host because there is no HOST_SRCDIR
    +# corresponding to host-mkdep.
    +#
    +realinstall: install.host
    +install.host: ${HOST_BINDIR}/${HOSTPROGNAME}
    +${HOST_BINDIR}/${HOSTPROGNAME}:: ${HOSTPROG}
    +	${_MKTARGET_INSTALL}
    +	mkdir -p ${HOST_BINDIR}
    +	${HOST_INSTALL_FILE} -m ${BINMODE} ${HOSTPROG}${HOSTEXEEXT} ${.TARGET}
    +
    +.if ${MKUPDATE} == "no"
    +.PHONY:		${HOST_BINDIR}/${HOSTPROGNAME}
    +.endif
     
     # Run by hand, then "configure" script committed:
     regen:
    diff --git a/tools/host-mkdep/host-mkdep.in b/tools/host-mkdep/host-mkdep.in
    index 8641edb3c..4cf533714 100644
    --- a/tools/host-mkdep/host-mkdep.in
    +++ b/tools/host-mkdep/host-mkdep.in
    @@ -1,6 +1,6 @@
     #!@BSHELL@ -
     #
    -#	$NetBSD: host-mkdep.in,v 1.21 2012/08/26 22:37:19 jmmv Exp $
    +#	$NetBSD: host-mkdep.in,v 1.30 2013/09/02 08:37:11 joerg Exp $
     #
     # Copyright (c) 1991, 1993
     #	The Regents of the University of California.  All rights reserved.
    @@ -73,7 +73,7 @@ set_objlist()
     # (don't trust the shell builtin getopts to be in a known state on error)
     while [ $# -gt 0 ]; do
     	option="${1#-}"
    -	[ "x$option" = "x$1" -o -z "$option" ] && break
    +	[ "x$option" = "x$1" -o -z "$option" ] && break # LSC: Prevents error on Minix
     	while
     		optarg="${option#?}"
     		option="${option%$optarg}"
    @@ -84,6 +84,7 @@ while [ $# -gt 0 ]; do
     		-o)	OPTIONAL=true; AWK_OPTIONAL='print ".OPTIONAL:" $0';;
     		-p)	NEWEXT=;;
     		-q)	QUIET=true;;
    +		-[iv])	;;
     
     		-[fPs])	# Options with arguments
     			[ -z "$optarg" ] && {
    @@ -161,6 +162,11 @@ else
     				shift 2
     				cppargs=${cppargs%xx}
     				;;
    +		-std=*)
    +				set -- "$@" "$1"
    +				shift
    +				cppargs=${cppargs%x}
    +				;;
     
     		-no-cpp-precomp)	# This is a Darwin-specific option.
     				set -- "$@" "$1"
    @@ -177,7 +183,12 @@ else
     				shift
     				cppargs=${cppargs%x}
     				;;
    -
    +		--sysroot*)
    +				shift
    +				;;
    +		-[iv])
    +				shift
    +				;;
     		-*)		
     				echo "$0: Unknown option: $1" 1>&2 # all other -options
     				exit 1
    @@ -225,7 +236,7 @@ else
     		file=${file%.*}
     		set_objlist $file
     
    -		@CPP@ "$@" $f | @AWK@ '
    +		( (@CPP@ "$@" $f; echo $? >&3) | @AWK@ '
     			/^#/ {
     				# Be as tolerant as possible.
     				sub(/^#(line)? [ 0-9]*\"?/, "")
    @@ -241,7 +252,7 @@ else
     				print "'"$objlist"'" ": " $0
     				'"$AWK_OPTIONAL"'
     			}
    -		' >> $TMP
    +		' >> $TMP) 3>&1 | (read a; exit $a)
     	done
     fi
     
    diff --git a/tools/lorder/Makefile b/tools/lorder/Makefile
    index b64d0ada4..30f107e3c 100644
    --- a/tools/lorder/Makefile
    +++ b/tools/lorder/Makefile
    @@ -1,9 +1,8 @@
    -#	$NetBSD: Makefile,v 1.11 2008/10/25 22:15:28 apb Exp $
    +#	$NetBSD: Makefile,v 1.12 2012/12/02 12:48:33 apb Exp $
     
     .include 
     
    -COMPATOBJ!=	cd ${.CURDIR}/../compat && ${PRINTOBJDIR}
    -.-include	"${COMPATOBJ}/defs.mk"
    +.-include	"${TOOLDIR}/share/compat/defs.mk"
     
     TIMESTAMP=	${TOOLDIR}/bin/${_TOOL_PREFIX}lorder
     
    diff --git a/tools/mpc/Makefile b/tools/mpc/Makefile
    index 19abce89d..5bad5521f 100644
    --- a/tools/mpc/Makefile
    +++ b/tools/mpc/Makefile
    @@ -1,7 +1,7 @@
    -#	$NetBSD: Makefile,v 1.2 2012/04/15 08:37:32 mrg Exp $
    +#	$NetBSD: Makefile,v 1.3 2013/11/28 12:08:57 mrg Exp $
     #
     
    -GNUHOSTDIST=	${.CURDIR}/../../external/lgpl2/mpc/dist
    +GNUHOSTDIST=	${.CURDIR}/../../external/lgpl3/mpc/dist
     
     CONFIGURE_ARGS+=	--with-gmp=${TOOLDIR:Q} \
     			--with-mpfr=${TOOLDIR:Q}
    diff --git a/tools/mtree/Makefile b/tools/mtree/Makefile
    index 4c2a772b7..dbc6ce370 100644
    --- a/tools/mtree/Makefile
    +++ b/tools/mtree/Makefile
    @@ -1,7 +1,7 @@
    -#	$NetBSD: Makefile,v 1.6 2005/08/26 03:19:14 elad Exp $
    +#	$NetBSD: Makefile,v 1.7 2013/02/06 01:01:48 christos Exp $
     
     HOSTPROGNAME=	${_TOOL_PREFIX}mtree
     HOST_SRCDIR=	usr.sbin/mtree
    -HOST_CPPFLAGS=	-DNO_MD5 -DNO_RMD160 -DNO_SHA1 -DNO_SHA2
    +#HOST_CPPFLAGS=	-DNO_MD5 -DNO_RMD160 -DNO_SHA1 -DNO_SHA2
     
     .include "${.CURDIR}/../Makefile.host"
    diff --git a/tools/texinfo/Makefile b/tools/texinfo/Makefile
    index 7714d75d2..821e6d6ac 100644
    --- a/tools/texinfo/Makefile
    +++ b/tools/texinfo/Makefile
    @@ -1,7 +1,13 @@
    -#	$NetBSD: Makefile,v 1.9 2002/12/08 20:20:05 thorpej Exp $
    +#	$NetBSD: Makefile,v 1.11 2013/06/14 16:10:02 tsutsui Exp $
     
     MODULE=		texinfo
     
     CONFIGURE_ARGS=	--program-prefix=${_TOOL_PREFIX}
     
     .include "${.CURDIR}/../Makefile.gnuhost"
    +
    +.if !empty(.MAKE.OS:M*CYGWIN*) && target(install)
    +.END: install-texinfo
    +install-texinfo: 
    +	${HOST_SH} ${NETBSDSRCDIR}/tools/binstall/mkmanifest ${TOOLDIR}/bin/${_TOOL_PREFIX}install-info.exe
    +.endif
    diff --git a/usr.bin/Makefile b/usr.bin/Makefile
    index 140050ed8..f96672c51 100644
    --- a/usr.bin/Makefile
    +++ b/usr.bin/Makefile
    @@ -1,10 +1,10 @@
    -#	$NetBSD: Makefile,v 1.210 2012/08/08 14:13:46 christos Exp $
    +#	$NetBSD: Makefile,v 1.214 2013/11/22 16:10:25 christos Exp $
     #	from: @(#)Makefile	8.3 (Berkeley) 1/7/94
     
     .include 
     
     SUBDIR= asa \
    -	banner basename bdes \
    +	banner basename \
     	bzip2 bzip2recover cal calendar \
     	checknr chpass cksum col colcrt colrm \
     	column comm csplit ctags cut \
    @@ -13,31 +13,30 @@ SUBDIR= asa \
     	finger fold fpr from \
     	fsplit ftp genassym getopt \
     	head hexdump id indent infocmp join jot \
    -	lam ldd leave \
    -	last \
    +	lam last ldd leave \
     	lock login logname lorder m4 \
     	machine make man menuc mesg \
     	mkdep mkfifo mkstr mktemp \
     	msgc \
    -	nbperf newgrp nice nl nohup nvi \
    +	nbperf newgrp nice nl nohup \
     	passwd paste pathchk pr \
     	printenv printf pwhash \
     	renice rev \
     	\
     	sdiff sed seq shlock \
    -	shuffle soelim sort split stat su \
    +	shuffle  sort split stat su \
     	tee tic tput \
     	tr tsort tty ul uname unexpand unifdef \
    -	toproto \
     	uniq units unvis unzip users \
     	uuidgen vis \
    -	wall write \
    -	xargs xinstall xstr yes \
    -	wc what whatis who whois 
    +	\
    +	wall wc what who whois \
    +	write xargs xinstall xstr yes
     
     .if !defined(__MINIX)
     SUBDIR+= ../external/zlib/pigz/bin/pigz
     .else
    +
     # Non-NetBSD imports
     SUBDIR+= ministat
     
    @@ -45,10 +44,13 @@ SUBDIR+= ministat
     SUBDIR+= top 
     SUBDIR+= toproto
     
    -# LSC FIXME For now we compile unconditionnaly apropos and whatis even if we 
    -# do not have whatis
    -SUBDIR+= apropos whatis
    -.endif # defie
    +# LSC FIXME For now we compile those unconditionnaly
    +SUBDIR+= apropos whatis bdes soelim 
    +.endif # defined(__MINIX)
    +
    +.if (${MKGROFF} == "no")
    +SUBDIR+= soelim
    +.endif
     
     .if (${MKMAKEMANDB} == "no")
     SUBDIR+= apropos whatis
    diff --git a/usr.bin/bdes/Makefile b/usr.bin/bdes/Makefile
    index eed1e1128..42d6e7399 100644
    --- a/usr.bin/bdes/Makefile
    +++ b/usr.bin/bdes/Makefile
    @@ -1,9 +1,8 @@
    -#	$NetBSD: Makefile,v 1.7 2007/05/28 12:06:24 tls Exp $
    +#	$NetBSD: Makefile,v 1.8 2013/08/11 06:47:38 dholland Exp $
     #	@(#)Makefile	8.1 (Berkeley) 6/6/93
     
     USE_FORT?=	yes	# cryptographic software
     
    -WARNS=	3
     PROG=	bdes
     
     LDADD+=	-lcrypt
    diff --git a/usr.bin/bdes/bdes.c b/usr.bin/bdes/bdes.c
    index 1454909bf..b481b61dd 100644
    --- a/usr.bin/bdes/bdes.c
    +++ b/usr.bin/bdes/bdes.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: bdes.c,v 1.8 2009/04/14 10:11:28 lukem Exp $	*/
    +/*	$NetBSD: bdes.c,v 1.9 2013/08/15 20:48:56 joerg Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993
    @@ -46,7 +46,7 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 1993\
     #if 0
     static char sccsid[] = "@(#)bdes.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: bdes.c,v 1.8 2009/04/14 10:11:28 lukem Exp $");
    +__RCSID("$NetBSD: bdes.c,v 1.9 2013/08/15 20:48:56 joerg Exp $");
     #endif
     #endif /* not lint */
     
    @@ -141,44 +141,46 @@ typedef char Desbuf[8];
      */
     #define KEY_DEFAULT		0	/* interpret radix of key from key */
     #define KEY_ASCII		1	/* key is in ASCII characters */
    -int keybase = KEY_DEFAULT;		/* how to interpret the key */
    +static int keybase = KEY_DEFAULT;	/* how to interpret the key */
     
    -enum { 					/* encrypt, decrypt, authenticate */
    +static enum { 				/* encrypt, decrypt, authenticate */
     	MODE_ENCRYPT, MODE_DECRYPT, MODE_AUTHENTICATE
     } mode = MODE_ENCRYPT;
    -enum {					/* ecb, cbc, cfb, cfba, ofb? */
    +static enum {				/* ecb, cbc, cfb, cfba, ofb? */
     	ALG_ECB, ALG_CBC, ALG_CFB, ALG_OFB, ALG_CFBA
     } alg = ALG_CBC;
     
    -Desbuf ivec;				/* initialization vector */
    -char bits[] = {				/* used to extract bits from a char */
    +static Desbuf ivec;				/* initialization vector */
    +static const char bits[] = {				/* used to extract bits from a char */
     	'\200', '\100', '\040', '\020', '\010', '\004', '\002', '\001'
     };
    -int inverse;				/* 0 to encrypt, 1 to decrypt */
    -int macbits = -1;			/* number of bits in authentication */
    -int fbbits = -1;			/* number of feedback bits */
    -int pflag;				/* 1 to preserve parity bits */
    +static int inverse;				/* 0 to encrypt, 1 to decrypt */
    +static int macbits = -1;			/* number of bits in authentication */
    +static int fbbits = -1;			/* number of feedback bits */
    +static int pflag;				/* 1 to preserve parity bits */
     
    -int	setbits(char *, int);
    -void	bdes_err(int, const char *);
    -int	tobinhex(char, int);
    -void	cvtkey(char *, char *);
    -void	makekey(Desbuf);
    -void	ecbenc(void);
    -void	ecbdec(void);
    -void	cbcenc(void);
    -void	cbcdec(void);
    -void	cbcauth(void);
    -void	cfbenc(void);
    -void	cfbdec(void);
    -void	cfbaenc(void);
    -void	cfbadec(void);
    -void	ofbenc(void);
    -void	ofbdec(void);
    -void	cfbauth(void);
    -void	expand(Desbuf, char *);
    -void	compress(char *, Desbuf);
    -void	usage(void);
    +static int	setbits(char *, int);
    +static void	bdes_err(int, const char *) __dead;
    +static int	tobinhex(char, int);
    +static void	cvtkey(char *, char *);
    +static void	makekey(Desbuf);
    +static void	ecbenc(void);
    +static void	ecbdec(void);
    +static void	cbcenc(void);
    +static void	cbcdec(void);
    +static void	cbcauth(void);
    +static void	cfbenc(void);
    +static void	cfbdec(void);
    +static void	cfbaenc(void);
    +static void	cfbadec(void);
    +static void	ofbenc(void);
    +static void	ofbdec(void);
    +static void	cfbauth(void);
    +#ifndef FASTWAY
    +static void	expand(Desbuf, char *);
    +static void	compress(char *, Desbuf);
    +#endif
    +static void	usage(void) __dead;
     
     int
     main(int ac, char *av[])
    @@ -357,7 +359,7 @@ main(int ac, char *av[])
     /*
      * print a warning message and, possibly, terminate
      */
    -void
    +static void
     bdes_err(int n, const char *s)
     {
     	if (n > 0)
    @@ -371,7 +373,7 @@ bdes_err(int n, const char *s)
     /*
      * map a hex character to an integer
      */
    -int
    +static int
     tobinhex(char c, int radix)
     {
     	switch(c) {
    @@ -401,7 +403,7 @@ tobinhex(char c, int radix)
     /*
      * convert the key to a bit pattern
      */
    -void
    +static void
     cvtkey(char *obuf, char *ibuf)
     {
     	register int i, j;		/* counter in a for loop */
    @@ -468,7 +470,7 @@ cvtkey(char *obuf, char *ibuf)
      * 2. must be a valid decimal number
      * 3. must be a multiple of mult
      */
    -int
    +static int
     setbits(char *s, int mult)
     {
     	char *p;
    @@ -497,7 +499,7 @@ setbits(char *s, int mult)
      * systems set the parity (high) bit of each character to 0, and the
      * DES ignores the low order bit of each character.
      */
    -void
    +static void
     makekey(Desbuf buf)
     {
     	register int i, j;			/* counter in a for loop */
    @@ -525,7 +527,7 @@ makekey(Desbuf buf)
     /*
      * This encrypts using the Electronic Code Book mode of DES
      */
    -void
    +static void
     ecbenc(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -554,7 +556,7 @@ ecbenc(void)
     /*
      * This decrypts using the Electronic Code Book mode of DES
      */
    -void
    +static void
     ecbdec(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -587,7 +589,7 @@ ecbdec(void)
     /*
      * This encrypts using the Cipher Block Chaining mode of DES
      */
    -void
    +static void
     cbcenc(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -621,7 +623,7 @@ cbcenc(void)
     /*
      * This decrypts using the Cipher Block Chaining mode of DES
      */
    -void
    +static void
     cbcdec(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -659,7 +661,7 @@ cbcdec(void)
     /*
      * This authenticates using the Cipher Block Chaining mode of DES
      */
    -void
    +static void
     cbcauth(void)
     {
     	register int n, j;		/* number of bytes actually read */
    @@ -704,7 +706,7 @@ cbcauth(void)
     /*
      * This encrypts using the Cipher FeedBack mode of DES
      */
    -void
    +static void
     cfbenc(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -746,7 +748,7 @@ cfbenc(void)
     /*
      * This decrypts using the Cipher Block Chaining mode of DES
      */
    -void
    +static void
     cfbdec(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -793,7 +795,7 @@ cfbdec(void)
     /*
      * This encrypts using the alternative Cipher FeedBack mode of DES
      */
    -void
    +static void
     cfbaenc(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -839,7 +841,7 @@ cfbaenc(void)
     /*
      * This decrypts using the alternative Cipher Block Chaining mode of DES
      */
    -void
    +static void
     cfbadec(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -887,7 +889,7 @@ cfbadec(void)
     /*
      * This encrypts using the Output FeedBack mode of DES
      */
    -void
    +static void
     ofbenc(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -933,7 +935,7 @@ ofbenc(void)
     /*
      * This decrypts using the Output Block Chaining mode of DES
      */
    -void
    +static void
     ofbdec(void)
     {
     	register int n;		/* number of bytes actually read */
    @@ -983,7 +985,7 @@ ofbdec(void)
     /*
      * This authenticates using the Cipher FeedBack mode of DES
      */
    -void
    +static void
     cfbauth(void)
     {
     	register int n, j;	/* number of bytes actually read */
    @@ -1035,7 +1037,7 @@ cfbauth(void)
     /*
      * change from 8 bits/Uchar to 1 bit/Uchar
      */
    -void
    +static void
     expand(Desbuf from, char *to)
     {
     	register int i, j;		/* counters in for loop */
    @@ -1048,7 +1050,7 @@ expand(Desbuf from, char *to)
     /*
      * change from 1 bit/char to 8 bits/Uchar
      */
    -void
    +static void
     compress(char *from, Desbuf to)
     {
     	register int i, j;		/* counters in for loop */
    @@ -1064,7 +1066,7 @@ compress(char *from, Desbuf to)
     /*
      * message about usage
      */
    -void
    +static void
     usage(void)
     {
     
    diff --git a/usr.bin/bzip2/Makefile b/usr.bin/bzip2/Makefile
    index e46d34447..583a6b43e 100644
    --- a/usr.bin/bzip2/Makefile
    +++ b/usr.bin/bzip2/Makefile
    @@ -2,10 +2,6 @@
     
     .include 		# for MKDYNAMICROOT definition
     
    -.if defined(__MINIX)
    -MKDYNAMICROOT= no
    -SMALLPROG= yes
    -.endif
     USE_FORT?= yes	# data-driven bugs?
     
     
    diff --git a/usr.bin/checknr/Makefile b/usr.bin/checknr/Makefile
    index b94a60242..9e3ebea4b 100644
    --- a/usr.bin/checknr/Makefile
    +++ b/usr.bin/checknr/Makefile
    @@ -1,8 +1,6 @@
    -#	$NetBSD: Makefile,v 1.5 2009/04/14 22:15:18 lukem Exp $
    +#	$NetBSD: Makefile,v 1.6 2013/08/11 06:39:47 dholland Exp $
     #	@(#)Makefile	8.1 (Berkeley) 6/6/93
     
    -WARNS?=	2	# fails -Wcast-qual
    -
     PROG=	checknr
     
     .include 
    diff --git a/usr.bin/checknr/checknr.c b/usr.bin/checknr/checknr.c
    index be2cf9d66..f272eadcf 100644
    --- a/usr.bin/checknr/checknr.c
    +++ b/usr.bin/checknr/checknr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: checknr.c,v 1.20 2008/07/21 14:19:21 lukem Exp $	*/
    +/*	$NetBSD: checknr.c,v 1.24 2013/08/12 14:03:18 joerg Exp $	*/
     
     /*
      * Copyright (c) 1980, 1993
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1993\
     #if 0
     static char sccsid[] = "@(#)checknr.c	8.1 (Berkeley) 6/6/93";
     #else 
    -__RCSID("$NetBSD: checknr.c,v 1.20 2008/07/21 14:19:21 lukem Exp $");
    +__RCSID("$NetBSD: checknr.c,v 1.24 2013/08/12 14:03:18 joerg Exp $");
     #endif
     #endif /* not lint */
     
    @@ -63,20 +63,20 @@ __RCSID("$NetBSD: checknr.c,v 1.20 2008/07/21 14:19:21 lukem Exp $");
     /*
      * The stack on which we remember what we've seen so far.
      */
    -struct stkstr {
    +static struct stkstr {
     	int opno;	/* number of opening bracket */
     	int pl;		/* '+', '-', ' ' for \s, 1 for \f, 0 for .ft */
     	int parm;	/* parm to size, font, etc */
     	int lno;	/* line number the thing came in in */
     } stk[MAXSTK];
    -int stktop;
    +static int stktop;
     
     /*
      * The kinds of opening and closing brackets.
      */
    -struct brstr {
    -	char *opbr;
    -	char *clbr;
    +static struct brstr {
    +	const char *opbr;
    +	const char *clbr;
     } br[MAXBR] = {
     	/* A few bare bones troff commands */
     #define SZ	0
    @@ -146,7 +146,7 @@ struct brstr {
      * All commands known to nroff, plus macro packages.
      * Used so we can complain about unrecognized commands.
      */
    -char *knowncmds[MAXCMDS] = {
    +static const char *knowncmds[MAXCMDS] = {
     "$c", "$f", "$h", "$p", "$s", "%A", "%B", "%C", "%D", "%I", "%J", "%N",
     "%O", "%P", "%Q", "%R", "%T", "%V", "(b", "(c", "(d", "(f", "(l", "(q",
     "(t", "(x", "(z", ")b", ")c", ")d", ")f", ")l", ")q", ")t", ")x",
    @@ -191,27 +191,26 @@ char *knowncmds[MAXCMDS] = {
     "uf", "uh", "ul", "vs", "wh", "xp", "yr", 0
     };
     
    -int	lineno;		/* current line number in input file */
    -char	*cfilename;	/* name of current file */
    -int	nfiles;		/* number of files to process */
    -int	fflag;		/* -f: ignore \f */
    -int	sflag;		/* -s: ignore \s */
    -int	ncmds;		/* size of knowncmds */
    -int	slot;		/* slot in knowncmds found by binsrch */
    +static int lineno;		/* current line number in input file */
    +static const char *cfilename;	/* name of current file */
    +static int nfiles;		/* number of files to process */
    +static int fflag;		/* -f: ignore \f */
    +static int sflag;		/* -s: ignore \s */
    +static int ncmds;		/* size of knowncmds */
    +static int slot;		/* slot in knowncmds found by binsrch */
     
    -void	addcmd(char *);
    -void	addmac(char *);
    -int	binsrch(char *);
    -void	checkknown(char *);
    -void	chkcmd(char *, char *);
    -void	complain(int);
    -int	eq(const void *, const void *);
    -int	main(int, char **);
    -void	nomatch(char *);
    -void	pe(int);
    -void	process(FILE *);
    -void	prop(int);
    -void	usage(void);
    +static void addcmd(char *);
    +static void addmac(const char *);
    +static int binsrch(const char *);
    +static void checkknown(const char *);
    +static void chkcmd(const char *);
    +static void complain(int);
    +static int eq(const char *, const char *);
    +static void nomatch(const char *);
    +static void pe(int);
    +static void process(FILE *);
    +static void prop(int);
    +static void usage(void) __dead;
     
     int
     main(int argc, char **argv)
    @@ -236,14 +235,18 @@ main(int argc, char **argv)
     			for (i=0; br[i].opbr; i++)
     				;
     			for (cp=argv[1]+3; cp[-1]; cp += 6) {
    +				char *tmp;
    +
     				if (i >= MAXBR)
     					errx(1, "too many pairs");
    -				if ((br[i].opbr = malloc(3)) == NULL)
    +				if ((tmp = malloc(3)) == NULL)
     					err(1, "malloc");
    -				strlcpy(br[i].opbr, cp, 3);
    -				if ((br[i].clbr = malloc(3)) == NULL)
    +				strlcpy(tmp, cp, 3);
    +				br[i].opbr = tmp;
    +				if ((tmp = malloc(3)) == NULL)
     					err(1, "malloc");
    -				strlcpy(br[i].clbr, cp+3, 3);
    +				strlcpy(tmp, cp+3, 3);
    +				br[i].clbr = tmp;
     				addmac(br[i].opbr);	/* knows pairs are also known cmds */
     				addmac(br[i].clbr);
     				i++;
    @@ -298,7 +301,7 @@ main(int argc, char **argv)
     	exit(0);
     }
     
    -void
    +static void
     usage(void)
     {
     	(void)fprintf(stderr,
    @@ -307,7 +310,7 @@ usage(void)
     	exit(1);
     }
     
    -void
    +static void
     process(FILE *f)
     {
     	int i, n;
    @@ -345,7 +348,7 @@ process(FILE *f)
     			if (eq(mac, "de"))
     				addcmd(line);
     
    -			chkcmd(line, mac);
    +			chkcmd(mac);
     		}
     
     		/*
    @@ -406,7 +409,7 @@ process(FILE *f)
     	}
     }
     
    -void
    +static void
     complain(int i)
     {
     	pe(stk[i].lno);
    @@ -415,7 +418,7 @@ complain(int i)
     	printf("\n");
     }
     
    -void
    +static void
     prop(int i)
     {
     	if (stk[i].pl == 0)
    @@ -434,8 +437,8 @@ prop(int i)
     	}
     }
     
    -void
    -chkcmd(char *line, char *mac)
    +static void
    +chkcmd(const char *mac)
     {
     	int i;
     
    @@ -470,8 +473,8 @@ chkcmd(char *line, char *mac)
     	}
     }
     
    -void
    -nomatch(char *mac)
    +static void
    +nomatch(const char *mac)
     {
     	int i, j;
     
    @@ -515,14 +518,14 @@ nomatch(char *mac)
     }
     
     /* eq: are two strings equal? */
    -int
    -eq(const void *s1, const void *s2)
    +static int
    +eq(const char *s1, const char *s2)
     {
    -	return (strcmp((char *)s1, (char *)s2) == 0);
    +	return strcmp(s1, s2) == 0;
     }
     
     /* print the first part of an error message, given the line number */
    -void
    +static void
     pe(int pelineno)
     {
     	if (nfiles > 1)
    @@ -530,8 +533,8 @@ pe(int pelineno)
     	printf("%d: ", pelineno);
     }
     
    -void
    -checkknown(char *mac)
    +static void
    +checkknown(const char *mac)
     {
     
     	if (eq(mac, "."))
    @@ -548,7 +551,7 @@ checkknown(char *mac)
     /*
      * We have a .de xx line in "line".  Add xx to the list of known commands.
      */
    -void
    +static void
     addcmd(char *line)
     {
     	char *mac;
    @@ -579,10 +582,10 @@ addcmd(char *line)
      * me someday?)  Anyway, I claim that .de is fairly rare in user
      * nroff programs, and the register loop below is pretty fast.
      */
    -void
    -addmac(char *mac)
    +static void
    +addmac(const char *mac)
     {
    -	char **src, **dest, **loc;
    +	const char **src, **dest, **loc;
     
     	if (binsrch(mac) >= 0){	/* it's OK to redefine something */
     #ifdef DEBUG
    @@ -613,10 +616,10 @@ addmac(char *mac)
      * Do a binary search in knowncmds for mac.
      * If found, return the index.  If not, return -1.
      */
    -int
    -binsrch(char *mac)
    +static int
    +binsrch(const char *mac)
     {
    -	char *p;	/* pointer to current cmd in list */
    +	const char *p;	/* pointer to current cmd in list */
     	int d;		/* difference if any */
     	int mid;	/* mid point in binary search */
     	int top, bot;	/* boundaries of bin search, inclusive */
    diff --git a/usr.bin/chpass/Makefile b/usr.bin/chpass/Makefile
    index b23a2d149..fb7462fed 100644
    --- a/usr.bin/chpass/Makefile
    +++ b/usr.bin/chpass/Makefile
    @@ -3,10 +3,6 @@
     
     .include 
     
    -.if defined(__MINIX)
    -WARNS=3
    -.endif
    -
     USE_FORT?= yes	# setuid
     PROG=	chpass
     SRCS=	chpass.c edit.c field.c table.c util.c
    diff --git a/usr.bin/chpass/chpass.1 b/usr.bin/chpass/chpass.1
    index 911b6106a..a9b3256f7 100644
    --- a/usr.bin/chpass/chpass.1
    +++ b/usr.bin/chpass/chpass.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: chpass.1,v 1.23 2006/10/07 20:09:09 elad Exp $
    +.\"	$NetBSD: chpass.1,v 1.25 2012/04/21 12:27:29 roy Exp $
     .\"
     .\" Copyright (c) 1988, 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -29,7 +29,7 @@
     .\"
     .\"     @(#)chpass.1	8.2 (Berkeley) 12/30/93
     .\"
    -.Dd October 7, 2006
    +.Dd April 5, 2012
     .Dt CHPASS 1
     .Os
     .Sh NAME
    @@ -78,7 +78,7 @@ option attempts to change the user's shell to
     This option causes the password to be updated only in the local
     password file.
     When changing only the local password,
    -.Xr pwd_mkdb  8
    +.Xr pwd_mkdb 8
     is used to update the password databases.
     .It Fl y
     This forces the YP password database entry to be changed, even if
    @@ -180,7 +180,7 @@ field is a key for a user's login class.
     Login classes are defined in
     .Xr login.conf 5 ,
     which is a
    -.Xr termcap 5
    +.Xr capfile 5
     style database of user attributes, accounting, resource and
     environment settings.
     .Pp
    diff --git a/usr.bin/chpass/chpass.c b/usr.bin/chpass/chpass.c
    index b50f99d8b..350c66e96 100644
    --- a/usr.bin/chpass/chpass.c
    +++ b/usr.bin/chpass/chpass.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chpass.c,v 1.33 2008/07/21 14:19:21 lukem Exp $	*/
    +/*	$NetBSD: chpass.c,v 1.35 2011/08/31 16:24:57 plunky Exp $	*/
     
     /*-
      * Copyright (c) 1988, 1993, 1994
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1993, 1994\
     #if 0
     static char sccsid[] = "@(#)chpass.c	8.4 (Berkeley) 4/2/94";
     #else 
    -__RCSID("$NetBSD: chpass.c,v 1.33 2008/07/21 14:19:21 lukem Exp $");
    +__RCSID("$NetBSD: chpass.c,v 1.35 2011/08/31 16:24:57 plunky Exp $");
     #endif
     #endif /* not lint */
     
    @@ -73,9 +73,9 @@ void	(*Pw_error)(const char *, int, int);
     extern	int _yp_check(char **);	/* buried deep inside libc */
     #endif
     
    -void	baduser(void);
    -void	cleanup(void);
    -void	usage(void);
    +__dead static void	baduser(void);
    +static void	cleanup(void);
    +__dead static void	usage(void);
     
     int
     main(int argc, char **argv)
    @@ -244,7 +244,7 @@ main(int argc, char **argv)
     #ifdef	YP
     	if (use_yp) {
     		if (pw_yp(pw, uid))
    -			yppw_error((char *)NULL, 0, 1);
    +			yppw_error(NULL, 0, 1);
     		else
     			exit(0);
     		/* Will not exit from this if. */
    @@ -290,14 +290,14 @@ main(int argc, char **argv)
     	exit(0);
     }
     
    -void
    +static void
     baduser(void)
     {
     
     	errx(1, "%s", strerror(EACCES));
     }
     
    -void
    +static void
     usage(void)
     {
     
    @@ -308,7 +308,7 @@ usage(void)
     	exit(1);
     }
     
    -void
    +static void
     cleanup(void)
     {
     
    diff --git a/usr.bin/chpass/chpass.h b/usr.bin/chpass/chpass.h
    index ea5fa34f8..c1efa59a6 100644
    --- a/usr.bin/chpass/chpass.h
    +++ b/usr.bin/chpass/chpass.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: chpass.h,v 1.12 2005/02/17 17:09:48 xtraeme Exp $	*/
    +/*	$NetBSD: chpass.h,v 1.13 2011/08/29 14:08:39 joerg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1993, 1994
    @@ -72,7 +72,7 @@ int	 verify(char *, struct passwd *);
     #ifdef YP
     int	check_yppasswdd(void);
     int	pw_yp(struct passwd *, uid_t);
    -void	yppw_error(const char *name, int, int);
    +__dead void	yppw_error(const char *name, int, int);
     void	yppw_prompt(void);
     struct passwd *ypgetpwnam(const char *);
     struct passwd *ypgetpwuid(uid_t);
    diff --git a/usr.bin/chpass/edit.c b/usr.bin/chpass/edit.c
    index 102a3c2d3..5c11e6553 100644
    --- a/usr.bin/chpass/edit.c
    +++ b/usr.bin/chpass/edit.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: edit.c,v 1.20 2009/04/11 12:10:02 lukem Exp $	*/
    +/*	$NetBSD: edit.c,v 1.21 2011/08/31 16:24:57 plunky Exp $	*/
     
     /*-
      * Copyright (c) 1990, 1993, 1994
    @@ -34,7 +34,7 @@
     #if 0
     static char sccsid[] = "@(#)edit.c	8.3 (Berkeley) 4/2/94";
     #else
    -__RCSID("$NetBSD: edit.c,v 1.20 2009/04/11 12:10:02 lukem Exp $");
    +__RCSID("$NetBSD: edit.c,v 1.21 2011/08/31 16:24:57 plunky Exp $");
     #endif
     #endif /* not lint */
     
    @@ -151,13 +151,8 @@ verify(char *tempname, struct passwd *pw)
     	int len, fd;
     	static char buf[LINE_MAX];
     
    -#ifdef __minix
    -	if ((fd = open(tempname, O_RDONLY)) == -1 ||
    -	    (fp = fdopen(fd, "r")) == NULL)
    -#else
     	if ((fd = open(tempname, O_RDONLY|O_NOFOLLOW)) == -1 ||
     	    (fp = fdopen(fd, "r")) == NULL)
    -#endif
     		(*Pw_error)(tempname, 1, 1);
     	if (fstat(fd, &sb))
     		(*Pw_error)(tempname, 1, 1);
    @@ -223,5 +218,5 @@ bad:					(void)fclose(fp);
     		warnx("entries too long");
     		return (0);
     	}
    -	return (pw_scan(buf, pw, (int *)NULL));
    +	return (pw_scan(buf, pw, NULL));
     }
    diff --git a/usr.bin/cksum/cksum.1 b/usr.bin/cksum/cksum.1
    index ec6dce034..cac7a7c1b 100644
    --- a/usr.bin/cksum/cksum.1
    +++ b/usr.bin/cksum/cksum.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: cksum.1,v 1.44 2012/06/25 02:32:12 riastradh Exp $
    +.\"	$NetBSD: cksum.1,v 1.45 2013/03/28 22:54:25 njoly Exp $
     .\"
     .\" Copyright (c) 1991, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -266,7 +266,7 @@ article.
     .Rs
     .%T "Computation of Cyclic Redundancy Checks Via Table Lookup"
     .%A Dilip V. Sarwate
    -.%J "Communications of the \*(tNACM\*(sP"
    +.%J "Communications of the ACM"
     .%D "August 1988"
     .Re
     .Rs
    diff --git a/usr.bin/cksum/cksum.c b/usr.bin/cksum/cksum.c
    index b0ef44343..77db3bcf3 100644
    --- a/usr.bin/cksum/cksum.c
    +++ b/usr.bin/cksum/cksum.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cksum.c,v 1.45 2011/08/29 14:12:29 joerg Exp $	*/
    +/*	$NetBSD: cksum.c,v 1.46 2013/10/18 20:47:06 christos Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993
    @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 1993\
     #if 0
     static char sccsid[] = "@(#)cksum.c	8.2 (Berkeley) 4/28/95";
     #endif
    -__RCSID("$NetBSD: cksum.c,v 1.45 2011/08/29 14:12:29 joerg Exp $");
    +__RCSID("$NetBSD: cksum.c,v 1.46 2013/10/18 20:47:06 christos Exp $");
     #endif /* not lint */
     
     #include 
    @@ -149,7 +149,7 @@ __dead static void	usage(void);
     int
     main(int argc, char **argv)
     {
    -	int ch, fd, rval, dosum, pflag, nohashstdin;
    +	int ch, fd, rval, pflag, nohashstdin;
     	u_int32_t val;
     	off_t len;
     	char *fn;
    @@ -161,7 +161,7 @@ main(int argc, char **argv)
     
     	cfncn = NULL;
     	pfncn = NULL;
    -	dosum = pflag = nohashstdin = 0;
    +	pflag = nohashstdin = 0;
     	normal = 0;
     	check_warn = 0;
     	do_check = 0;
    @@ -178,7 +178,6 @@ main(int argc, char **argv)
     		hash = NULL;
     
     		if (!strcmp(progname, "sum")) {
    -			dosum = 1;
     			cfncn = csum1;
     			pfncn = psum1;
     		} else {
    diff --git a/usr.bin/deroff/deroff.c b/usr.bin/deroff/deroff.c
    index 24e72a572..5c4c81b1e 100644
    --- a/usr.bin/deroff/deroff.c
    +++ b/usr.bin/deroff/deroff.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: deroff.c,v 1.9 2011/08/31 13:38:19 joerg Exp $	*/
    +/*	$NetBSD: deroff.c,v 1.11 2013/10/18 20:47:06 christos Exp $	*/
     
     /* taken from: OpenBSD: deroff.c,v 1.6 2004/06/02 14:58:46 tom Exp */
     
    @@ -64,21 +64,9 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     
    -#ifndef lint
    -static const char copyright[] =
    -"@(#) Copyright (c) 1988, 1993\n\
    -	The Regents of the University of California.  All rights reserved.\n";
    -#endif /* not lint */
    -
    -#ifndef lint
    -#if 0
    -static const char sccsid[] = "@(#)deroff.c	8.1 (Berkeley) 6/6/93";
    -#else
    -static const char rcsid[] = "$NetBSD: deroff.c,v 1.9 2011/08/31 13:38:19 joerg Exp $";
    -#endif
    -#endif /* not lint */
    -
     #include 
    +__RCSID("$NetBSD: deroff.c,v 1.11 2013/10/18 20:47:06 christos Exp $");
    +
     #include 
     #include 
     #include 
    @@ -178,7 +166,7 @@ typedef	int pacmac;		/* compressed macro name */
     static int	argconcat = 0;	/* concat arguments together (-me only) */
     
     #define	tomac(c1, c2)		((((c1) & 0xFF) << 8) | ((c2) & 0xFF))
    -#define	frommac(src, c1, c2)	(((c1)=((src)>>8)&0xFF),((c2) =(src)&0xFF))
    +#define	frommac(src, c1, c2)	(((c1)=((src)>>8)&0xFF),((c2) =(src)&0xFF), __USE(c1), __USE(c2))
     
     struct mactab {
     	int	condition;
    diff --git a/usr.bin/du/du.1 b/usr.bin/du/du.1
    index d01c7126e..14bb436d6 100644
    --- a/usr.bin/du/du.1
    +++ b/usr.bin/du/du.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: du.1,v 1.21 2006/09/24 07:19:16 wiz Exp $
    +.\"	$NetBSD: du.1,v 1.23 2012/05/14 21:14:14 wiz Exp $
     .\"
     .\" Copyright (c) 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -29,7 +29,7 @@
     .\"
     .\"	@(#)du.1	8.2 (Berkeley) 4/1/94
     .\"
    -.Dd September 24, 2006
    +.Dd May 14, 2012
     .Dt DU 1
     .Os
     .Sh NAME
    @@ -39,12 +39,12 @@
     .Nm
     .Op Fl H | Fl L | Fl P
     .Op Fl a | Fl d Ar depth | Fl s
    -.Op Fl cghkmnrx
    +.Op Fl cghikmnrx
     .Op Ar file ...
     .Sh DESCRIPTION
     The
     .Nm
    -utility displays the file system block usage for each file argument
    +utility displays the file system usage for each file argument
     and for each directory in the file hierarchy rooted in each directory
     argument.
     If no file is specified, the block usage of the hierarchy rooted in
    @@ -79,6 +79,9 @@ flag is specified, the numbers will be displayed in "human-readable"
     format.
     Use unit suffixes: B (Byte), K (Kilobyte), M (Megabyte), G (Gigabyte),
     T (Terabyte) and P (Petabyte).
    +.It Fl i
    +Output inode usage instead of blocks.
    +All "human-readable" options are ignored.
     .It Fl k
     By default,
     .Nm
    @@ -149,6 +152,8 @@ and
     options are not specified, the block counts will be displayed in units of that
     size block.
     .El
    +.Sh EXIT STATUS
    +.Ex -std
     .Sh SEE ALSO
     .Xr df 1 ,
     .Xr chflags 2 ,
    diff --git a/usr.bin/du/du.c b/usr.bin/du/du.c
    index 1b69f480d..5b132327f 100644
    --- a/usr.bin/du/du.c
    +++ b/usr.bin/du/du.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: du.c,v 1.35 2011/09/01 13:37:33 joerg Exp $	*/
    +/*	$NetBSD: du.c,v 1.36 2012/03/11 11:23:20 shattered Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993, 1994
    @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993, 1994\
     #if 0
     static char sccsid[] = "@(#)du.c	8.5 (Berkeley) 5/4/95";
     #else
    -__RCSID("$NetBSD: du.c,v 1.35 2011/09/01 13:37:33 joerg Exp $");
    +__RCSID("$NetBSD: du.c,v 1.36 2012/03/11 11:23:20 shattered Exp $");
     #endif
     #endif /* not lint */
     
    @@ -54,6 +54,7 @@ __RCSID("$NetBSD: du.c,v 1.35 2011/09/01 13:37:33 joerg Exp $");
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -61,11 +62,14 @@ __RCSID("$NetBSD: du.c,v 1.35 2011/09/01 13:37:33 joerg Exp $");
     #include 
     #include 
     
    +/* Count inodes or file size */
    +#define	COUNT	(iflag ? 1 : p->fts_statp->st_blocks)
    +
     static int	linkchk(dev_t, ino_t);
     static void	prstat(const char *, int64_t);
     __dead static void	usage(void);
     
    -static int hflag;
    +static int hflag, iflag;
     static long blocksize;
     
     int
    @@ -83,7 +87,7 @@ main(int argc, char *argv[])
     	totalblocks = 0;
     	ftsoptions = FTS_PHYSICAL;
     	depth = INT_MAX;
    -	while ((ch = getopt(argc, argv, "HLPacd:ghkmnrsx")) != -1)
    +	while ((ch = getopt(argc, argv, "HLPacd:ghikmnrsx")) != -1)
     		switch (ch) {
     		case 'H':
     			Hflag = 1;
    @@ -118,6 +122,9 @@ main(int argc, char *argv[])
     		case 'h':
     			hflag = 1;
     			break;
    +		case 'i':
    +			iflag = 1;
    +			break;
     		case 'k':
     			blocksize = 1024;
     			gkmflag = 1;
    @@ -206,9 +213,9 @@ main(int argc, char *argv[])
     			break;
     		case FTS_DP:
     			p->fts_parent->fts_number += 
    -			    p->fts_number += p->fts_statp->st_blocks;
    +			    p->fts_number += COUNT;
     			if (cflag)
    -				totalblocks += p->fts_statp->st_blocks;
    +				totalblocks += COUNT;
     			/*
     			 * If listing each directory, or not listing files
     			 * or directories and this is post-order of the
    @@ -235,10 +242,10 @@ main(int argc, char *argv[])
     			 * the root of a traversal, display the total.
     			 */
     			if (listfiles || !p->fts_level)
    -				prstat(p->fts_path, p->fts_statp->st_blocks);
    -			p->fts_parent->fts_number += p->fts_statp->st_blocks;
    +				prstat(p->fts_path, COUNT);
    +			p->fts_parent->fts_number += COUNT;
     			if (cflag)
    -				totalblocks += p->fts_statp->st_blocks;
    +				totalblocks += COUNT;
     		}
     	}
     	if (errno)
    @@ -251,6 +258,11 @@ main(int argc, char *argv[])
     static void
     prstat(const char *fname, int64_t blocks)
     {
    +	if (iflag) {
    +		(void)printf("%" PRId64 "\t%s\n", blocks, fname);
    +		return;
    +	}
    +
     	if (hflag) {
     		char buf[5];
     		int64_t sz = blocks * 512;
    @@ -260,8 +272,8 @@ prstat(const char *fname, int64_t blocks)
     
     		(void)printf("%s\t%s\n", buf, fname);
     	} else
    -		(void)printf("%lld\t%s\n",
    -		    (long long)howmany(blocks, (int64_t)blocksize),
    +		(void)printf("%" PRId64 "\t%s\n",
    +		    howmany(blocks, (int64_t)blocksize),
     		    fname);
     }
     
    @@ -345,6 +357,6 @@ usage(void)
     {
     
     	(void)fprintf(stderr,
    -		"usage: du [-H | -L | -P] [-a | -d depth | -s] [-cghkmnrx] [file ...]\n");
    +		"usage: du [-H | -L | -P] [-a | -d depth | -s] [-cghikmnrx] [file ...]\n");
     	exit(1);
     }
    diff --git a/usr.bin/fsplit/fsplit.c b/usr.bin/fsplit/fsplit.c
    index ce6cd93cd..0dbac8d8e 100644
    --- a/usr.bin/fsplit/fsplit.c
    +++ b/usr.bin/fsplit/fsplit.c
    @@ -40,7 +40,7 @@ __COPYRIGHT("@(#) Copyright (c) 1983, 1993\
     #if 0
     static char sccsid[] = "from: @(#)fsplit.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: fsplit.c,v 1.28 2011/09/16 15:39:26 joerg Exp $");
    +__RCSID("$NetBSD: fsplit.c,v 1.29 2013/01/23 20:39:46 riastradh Exp $");
     #endif
     #endif /* not lint */
     
    @@ -235,9 +235,10 @@ saveit(const char *name)
     	}
     	strlcpy(fname, name, sizeof(fname));
     	fnamelen = strlen(fname);
    +        /* Guaranteed by scan_name.  */
     	assert(fnamelen > 2);
    -	assert(fname[fnamelen-2] = '.');
    -	assert(fname[fnamelen-1] = 'f');
    +	assert(fname[fnamelen-2] == '.');
    +	assert(fname[fnamelen-1] == 'f');
     	fname[fnamelen-2] = '\0';
     
     	for (i = 0; i < numextonly; i++) {
    diff --git a/usr.bin/ftp/Makefile b/usr.bin/ftp/Makefile
    index e2e819d25..fd3306966 100644
    --- a/usr.bin/ftp/Makefile
    +++ b/usr.bin/ftp/Makefile
    @@ -13,10 +13,6 @@ SRCS=	cmds.c cmdtab.c complete.c domacro.c fetch.c ftp.c main.c \
     #
     #CPPFLAGS+=-DGATE_SERVER=\"ftp-gw.host\" # -DGATE_PORT=21
     
    -.if defined(__MINIX)
    -CPPFLAGS+= -DDIRENT_MISSING_D_NAMLEN
    -.endif # defined (__MINIX)
    -
     .if defined(SMALLPROG)
     CPPFLAGS+=-DNO_EDITCOMPLETE -DNO_ABOUT -DNO_AUTH -DNO_HELP -DNO_STATUS -DNO_DEBUG -DNO_USAGE
     .else
    diff --git a/usr.bin/ftp/fetch.c b/usr.bin/ftp/fetch.c
    index e837d8f19..8c628a80d 100644
    --- a/usr.bin/ftp/fetch.c
    +++ b/usr.bin/ftp/fetch.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: fetch.c,v 1.202 2013/02/23 13:47:36 christos Exp $	*/
    +/*	$NetBSD: fetch.c,v 1.205 2013/11/07 02:06:51 christos Exp $	*/
     
     /*-
      * Copyright (c) 1997-2009 The NetBSD Foundation, Inc.
    @@ -34,7 +34,7 @@
     
     #include 
     #ifndef lint
    -__RCSID("$NetBSD: fetch.c,v 1.202 2013/02/23 13:47:36 christos Exp $");
    +__RCSID("$NetBSD: fetch.c,v 1.205 2013/11/07 02:06:51 christos Exp $");
     #endif /* not lint */
     
     /*
    @@ -80,6 +80,7 @@ typedef enum {
     } url_t;
     
     __dead static void	aborthttp(int);
    +__dead static void	timeouthttp(int);
     #ifndef NO_AUTH
     static int	auth_url(const char *, char **, const char *, const char *);
     static void	base64_encode(const unsigned char *, size_t, unsigned char *);
    @@ -492,8 +493,10 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     {
     	struct addrinfo		hints, *res, *res0 = NULL;
     	int			error;
    -	sigfunc volatile	oldintr;
    -	sigfunc volatile	oldintp;
    +	sigfunc volatile	oldint;
    +	sigfunc volatile	oldpipe;
    +	sigfunc volatile	oldalrm;
    +	sigfunc volatile	oldquit;
     	int volatile		s;
     	struct stat		sb;
     	int volatile		ischunked;
    @@ -519,6 +522,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     	int			(*volatile closefunc)(FILE *);
     	FETCH			*volatile fin;
     	FILE			*volatile fout;
    +	const char		*volatile penv = proxyenv;
     	time_t			mtime;
     	url_t			urltype;
     	in_port_t		portnum;
    @@ -526,9 +530,9 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     	void			*ssl;
     #endif
     
    -	DPRINTF("fetch_url: `%s' proxyenv `%s'\n", url, STRorNULL(proxyenv));
    +	DPRINTF("%s: `%s' proxyenv `%s'\n", __func__, url, STRorNULL(penv));
     
    -	oldintr = oldintp = NULL;
    +	oldquit = oldalrm = oldint = oldpipe = NULL;
     	closefunc = NULL;
     	fin = NULL;
     	fout = NULL;
    @@ -539,6 +543,9 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     	rval = 1;
     	uuser = pass = host = path = decodedpath = puser = ppass = NULL;
     
    +	if (sigsetjmp(httpabort, 1))
    +		goto cleanup_fetch_url;
    +
     	if (parse_url(url, "URL", &urltype, &uuser, &pass, &host, &port,
     	    &portnum, &path) == -1)
     		goto cleanup_fetch_url;
    @@ -572,7 +579,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     		else
     			savefile = ftp_strdup(decodedpath);
     	}
    -	DPRINTF("fetch_url: savefile `%s'\n", savefile);
    +	DPRINTF("%s: savefile `%s'\n", __func__, savefile);
     	if (EMPTYSTRING(savefile)) {
     		if (urltype == FTP_URL_T) {
     			rval = fetch_ftp(url);
    @@ -624,18 +631,18 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     		const char *leading;
     		int hasleading;
     
    -		if (proxyenv == NULL) {
    +		if (penv == NULL) {
     #ifdef WITH_SSL
     			if (urltype == HTTPS_URL_T)
    -				proxyenv = getoptionvalue("https_proxy");
    +				penv = getoptionvalue("https_proxy");
     #endif
    -			if (proxyenv == NULL && IS_HTTP_TYPE(urltype))
    -				proxyenv = getoptionvalue("http_proxy");
    +			if (penv == NULL && IS_HTTP_TYPE(urltype))
    +				penv = getoptionvalue("http_proxy");
     			else if (urltype == FTP_URL_T)
    -				proxyenv = getoptionvalue("ftp_proxy");
    +				penv = getoptionvalue("ftp_proxy");
     		}
     		direction = "retrieved";
    -		if (! EMPTYSTRING(proxyenv)) {			/* use proxy */
    +		if (! EMPTYSTRING(penv)) {			/* use proxy */
     			url_t purltype;
     			char *phost, *ppath;
     			char *pport, *no_proxy;
    @@ -682,10 +689,10 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     			if (isproxy) {
     				if (restart_point) {
     					warnx("Can't restart via proxy URL `%s'",
    -					    proxyenv);
    +					    penv);
     					goto cleanup_fetch_url;
     				}
    -				if (parse_url(proxyenv, "proxy URL", &purltype,
    +				if (parse_url(penv, "proxy URL", &purltype,
     				    &puser, &ppass, &phost, &pport, &pportnum,
     				    &ppath) == -1)
     					goto cleanup_fetch_url;
    @@ -695,8 +702,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     				    EMPTYSTRING(phost) ||
     				    (! EMPTYSTRING(ppath)
     				     && strcmp(ppath, "/") != 0)) {
    -					warnx("Malformed proxy URL `%s'",
    -					    proxyenv);
    +					warnx("Malformed proxy URL `%s'", penv);
     					FREEPTR(phost);
     					FREEPTR(pport);
     					FREEPTR(ppath);
    @@ -722,7 +728,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     				FREEPTR(ppath);
     				urltype = purltype;
     			}
    -		} /* ! EMPTYSTRING(proxyenv) */
    +		} /* ! EMPTYSTRING(penv) */
     
     		memset(&hints, 0, sizeof(hints));
     		hints.ai_flags = 0;
    @@ -794,9 +800,13 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     			goto cleanup_fetch_url;
     		}
     
    +		oldalrm = xsignal(SIGALRM, timeouthttp);
    +		alarmtimer(quit_time ? quit_time : 60);
     		fin = fetch_fdopen(s, "r+");
     		fetch_set_ssl(fin, ssl);
    +		alarmtimer(0);
     
    +		alarmtimer(quit_time ? quit_time : 60);
     		/*
     		 * Construct and send the request.
     		 */
    @@ -883,11 +893,15 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     		fetch_printf(fin, "\r\n");
     		if (fetch_flush(fin) == EOF) {
     			warn("Writing HTTP request");
    +			alarmtimer(0);
     			goto cleanup_fetch_url;
     		}
    +		alarmtimer(0);
     
     				/* Read the response */
    +		alarmtimer(quit_time ? quit_time : 60);
     		len = fetch_getline(fin, buf, sizeof(buf), &errormsg);
    +		alarmtimer(0);
     		if (len < 0) {
     			if (*errormsg == '\n')
     				errormsg++;
    @@ -896,7 +910,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     		}
     		while (len > 0 && (ISLWS(buf[len-1])))
     			buf[--len] = '\0';
    -		DPRINTF("fetch_url: received `%s'\n", buf);
    +		DPRINTF("%s: received `%s'\n", __func__, buf);
     
     				/* Determine HTTP response code */
     		cp = strchr(buf, ' ');
    @@ -911,7 +925,9 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     
     				/* Read the rest of the header. */
     		while (1) {
    +			alarmtimer(quit_time ? quit_time : 60);
     			len = fetch_getline(fin, buf, sizeof(buf), &errormsg);
    +			alarmtimer(0);
     			if (len < 0) {
     				if (*errormsg == '\n')
     					errormsg++;
    @@ -922,7 +938,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     				buf[--len] = '\0';
     			if (len == 0)
     				break;
    -			DPRINTF("fetch_url: received `%s'\n", buf);
    +			DPRINTF("%s: received `%s'\n", __func__, buf);
     
     		/*
     		 * Look for some headers
    @@ -934,8 +950,8 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     				filesize = STRTOLL(cp, &ep, 10);
     				if (filesize < 0 || *ep != '\0')
     					goto improper;
    -				DPRINTF("fetch_url: parsed len as: " LLF "\n",
    -				    (LLT)filesize);
    +				DPRINTF("%s: parsed len as: " LLF "\n",
    +				    __func__, (LLT)filesize);
     
     			} else if (match_token(&cp, "Content-Range:")) {
     				if (! match_token(&cp, "bytes"))
    @@ -1006,8 +1022,8 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     
     			} else if (match_token(&cp, "Location:")) {
     				location = ftp_strdup(cp);
    -				DPRINTF("fetch_url: parsed location as `%s'\n",
    -				    cp);
    +				DPRINTF("%s: parsed location as `%s'\n",
    +				    __func__, cp);
     
     			} else if (match_token(&cp, "Transfer-Encoding:")) {
     				if (match_token(&cp, "binary")) {
    @@ -1022,19 +1038,20 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     					goto cleanup_fetch_url;
     				}
     				ischunked++;
    -				DPRINTF("fetch_url: using chunked encoding\n");
    +				DPRINTF("%s: using chunked encoding\n",
    +				    __func__);
     
     			} else if (match_token(&cp, "Proxy-Authenticate:")
     				|| match_token(&cp, "WWW-Authenticate:")) {
     				if (! (token = match_token(&cp, "Basic"))) {
    -					DPRINTF(
    -			"fetch_url: skipping unknown auth scheme `%s'\n",
    -						    token);
    +					DPRINTF("%s: skipping unknown auth "
    +					    "scheme `%s'\n", __func__, token);
     					continue;
     				}
     				FREEPTR(auth);
     				auth = ftp_strdup(token);
    -				DPRINTF("fetch_url: parsed auth as `%s'\n", cp);
    +				DPRINTF("%s: parsed auth as `%s'\n",
    +				    __func__, cp);
     			}
     
     		}
    @@ -1116,7 +1133,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     				apass = NULL;
     			}
     			if (auth_url(auth, authp, auser, apass) == 0) {
    -				rval = fetch_url(url, proxyenv,
    +				rval = fetch_url(url, penv,
     				    proxyauth, wwwauth);
     				memset(*authp, 0, strlen(*authp));
     				FREEPTR(*authp);
    @@ -1137,7 +1154,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     	if (strcmp(savefile, "-") == 0) {
     		fout = stdout;
     	} else if (*savefile == '|') {
    -		oldintp = xsignal(SIGPIPE, SIG_IGN);
    +		oldpipe = xsignal(SIGPIPE, SIG_IGN);
     		fout = popen(savefile + 1, "w");
     		if (fout == NULL) {
     			warn("Can't execute `%s'", savefile + 1);
    @@ -1173,10 +1190,8 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     	}
     
     			/* Trap signals */
    -	if (sigsetjmp(httpabort, 1))
    -		goto cleanup_fetch_url;
    -	(void)xsignal(SIGQUIT, psummary);
    -	oldintr = xsignal(SIGINT, aborthttp);
    +	oldquit = xsignal(SIGQUIT, psummary);
    +	oldint = xsignal(SIGINT, aborthttp);
     
     	assert(rcvbuf_size > 0);
     	if ((size_t)rcvbuf_size > bufsize) {
    @@ -1188,6 +1203,10 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     
     	bytes = 0;
     	hashbytes = mark;
    +	if (oldalrm) {
    +		(void)xsignal(SIGALRM, oldalrm);
    +		oldalrm = NULL;
    +	}
     	progressmeter(-1);
     
     			/* Finally, suck down the file. */
    @@ -1234,7 +1253,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     				warnx("Unexpected data following chunk-size");
     				goto cleanup_fetch_url;
     			}
    -			DPRINTF("fetch_url: got chunk-size of " LLF "\n",
    +			DPRINTF("%s: got chunk-size of " LLF "\n", __func__,
     			    (LLT)chunksize);
     			if (chunksize == 0) {
     				lastchunk = 1;
    @@ -1244,7 +1263,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     					/* transfer file or chunk */
     		while (1) {
     			struct timeval then, now, td;
    -			off_t bufrem;
    +			volatile off_t bufrem;
     
     			if (rate_get)
     				(void)gettimeofday(&then, NULL);
    @@ -1292,6 +1311,7 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
      chunkdone:
     		if (ischunked) {
     			if (fetch_getln(xferbuf, bufsize, fin) == NULL) {
    +				alarmtimer(0);
     				warnx("Unexpected EOF reading chunk CRLF");
     				goto cleanup_fetch_url;
     			}
    @@ -1343,10 +1363,14 @@ fetch_url(const char *url, const char *proxyenv, char *proxyauth, char *wwwauth)
     	warnx("Improper response from `%s:%s'", host, port);
     
      cleanup_fetch_url:
    -	if (oldintr)
    -		(void)xsignal(SIGINT, oldintr);
    -	if (oldintp)
    -		(void)xsignal(SIGPIPE, oldintp);
    +	if (oldint)
    +		(void)xsignal(SIGINT, oldint);
    +	if (oldpipe)
    +		(void)xsignal(SIGPIPE, oldpipe);
    +	if (oldalrm)
    +		(void)xsignal(SIGALRM, oldalrm);
    +	if (oldquit)
    +		(void)xsignal(SIGQUIT, oldpipe);
     	if (fin != NULL)
     		fetch_close(fin);
     	else if (s != -1)
    @@ -1381,12 +1405,32 @@ static void
     aborthttp(int notused)
     {
     	char msgbuf[100];
    -	size_t len;
    +	int len;
     
     	sigint_raised = 1;
     	alarmtimer(0);
    -	len = strlcpy(msgbuf, "\nHTTP fetch aborted.\n", sizeof(msgbuf));
    -	write(fileno(ttyout), msgbuf, len);
    +	if (fromatty) {
    +		len = snprintf(msgbuf, sizeof(msgbuf),
    +		    "\n%s: HTTP fetch aborted.\n", getprogname());
    +		if (len > 0)
    +			write(fileno(ttyout), msgbuf, len);
    +	}
    +	siglongjmp(httpabort, 1);
    +}
    +
    +static void
    +timeouthttp(int notused)
    +{
    +	char msgbuf[100];
    +	int len;
    +
    +	alarmtimer(0);
    +	if (fromatty) {
    +		len = snprintf(msgbuf, sizeof(msgbuf),
    +		    "\n%s: HTTP fetch timeout.\n", getprogname());
    +		if (len > 0)
    +			write(fileno(ttyout), msgbuf, len);
    +	}
     	siglongjmp(httpabort, 1);
     }
     
    diff --git a/usr.bin/ftp/ftp.c b/usr.bin/ftp/ftp.c
    index d4a5f8f5d..509735d63 100644
    --- a/usr.bin/ftp/ftp.c
    +++ b/usr.bin/ftp/ftp.c
    @@ -102,10 +102,10 @@ __RCSID("$NetBSD: ftp.c,v 1.164 2012/07/04 06:09:37 is Exp $");
     #include 
     
     #include 
    -#ifndef __minix
    +#if !defined(__minix)
     #include 
     #include 
    -#endif
    +#endif /* !defined(__minix) */
     #include 
     #include 
     #include 
    @@ -165,9 +165,9 @@ hookup(const char *host, const char *port)
     	struct addrinfo hints, *res, *res0;
     	static char hostnamebuf[MAXHOSTNAMELEN];
     	socklen_t len;
    -#ifndef __minix
    +#if !defined(__minix)
     	int on = 1;
    -#endif
    +#endif /* !defined(__minix) */
     
     	memset((char *)&hisctladdr, 0, sizeof (hisctladdr));
     	memset((char *)&myctladdr, 0, sizeof (myctladdr));
    @@ -274,12 +274,12 @@ hookup(const char *host, const char *port)
     		goto bad;
     	}
     
    -#ifndef __minix
    +#if !defined(__minix)
     	if (setsockopt(s, SOL_SOCKET, SO_OOBINLINE,
     			(void *)&on, sizeof(on)) == -1) {
     		DWARN("setsockopt %s (ignored)", "SO_OOBINLINE");
     	}
    -#endif
    +#endif /* !defined(__minix) */
     
     	return (hostname);
      bad:
    diff --git a/usr.bin/ftp/version.h b/usr.bin/ftp/version.h
    index 9d94b4319..9fb6c4ab3 100644
    --- a/usr.bin/ftp/version.h
    +++ b/usr.bin/ftp/version.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: version.h,v 1.83 2013/02/06 16:37:20 christos Exp $	*/
    +/*	$NetBSD: version.h,v 1.84 2013/05/05 10:40:19 lukem Exp $	*/
     
     /*-
      * Copyright (c) 1999-2009 The NetBSD Foundation, Inc.
    @@ -34,5 +34,5 @@
     #endif
     
     #ifndef FTP_VERSION
    -#define	FTP_VERSION	"20121224"
    +#define	FTP_VERSION	"20130220"
     #endif
    diff --git a/usr.bin/gzip/Makefile b/usr.bin/gzip/Makefile
    index 3c469a249..b0a4bab17 100644
    --- a/usr.bin/gzip/Makefile
    +++ b/usr.bin/gzip/Makefile
    @@ -1,26 +1,29 @@
    -#	$NetBSD: Makefile,v 1.16 2011/06/21 13:25:45 joerg Exp $
    -
    -# LSC Until it compiles cleanly...
    -NOGCCERROR:=yes
    +#	$NetBSD: Makefile,v 1.18 2013/11/13 11:12:24 pettai Exp $
     
     USE_FORT?= yes	# data-driven bugs?
     
     PROG=		gzip
    -MAN=		gzip.1 gzexe.1 zdiff.1 zforce.1 zmore.1 znew.1
    +MAN=		gzip.1 gzexe.1 zdiff.1 zforce.1 zgrep.1 zmore.1 znew.1
     
     DPADD=		${LIBZ} ${LIBBZ2} ${LIBLZMA}
     LDADD=		-lz -lbz2 -llzma
     
    -SCRIPTS=	gzexe zdiff zforce zmore znew
    +SCRIPTS=	gzexe zdiff zforce zgrep zmore znew
     
     MLINKS+=	gzip.1 gunzip.1 \
     		gzip.1 gzcat.1 \
     		gzip.1 zcat.1 \
    -		zdiff.1 zcmp.1 
    +		zdiff.1 zcmp.1 \
    +		zgrep.1 zegrep.1 \
    +		zgrep.1 zfgrep.1 \
    +		zmore.1 zless.1
     
     LINKS+=		${BINDIR}/gzip ${BINDIR}/gunzip \
     		${BINDIR}/gzip ${BINDIR}/gzcat \
     		${BINDIR}/gzip ${BINDIR}/zcat \
    -		${BINDIR}/zdiff ${BINDIR}/zcmp 
    +		${BINDIR}/zdiff ${BINDIR}/zcmp \
    +		${BINDIR}/zgrep ${BINDIR}/zegrep \
    +		${BINDIR}/zgrep ${BINDIR}/zfgrep \
    +		${BINDIR}/zmore ${BINDIR}/zless
     
     .include 
    diff --git a/usr.bin/gzip/gzip.1 b/usr.bin/gzip/gzip.1
    index 9bde8dde2..c2a0952a2 100644
    --- a/usr.bin/gzip/gzip.1
    +++ b/usr.bin/gzip/gzip.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: gzip.1,v 1.21 2011/06/19 02:22:36 christos Exp $
    +.\"	$NetBSD: gzip.1,v 1.22 2013/07/20 21:40:00 wiz Exp $
     .\"
     .\" Copyright (c) 1997, 2003, 2004 Matthew R. Green
     .\" All rights reserved.
    @@ -196,4 +196,4 @@ version 20040427.
     This implementation of
     .Nm
     was written by
    -.An Matthew R. Green Aq mrg@eterna.com.au .
    +.An Matthew R. Green Aq Mt mrg@eterna.com.au .
    diff --git a/usr.bin/gzip/gzip.c b/usr.bin/gzip/gzip.c
    index dd763682d..c22a39d96 100644
    --- a/usr.bin/gzip/gzip.c
    +++ b/usr.bin/gzip/gzip.c
    @@ -1074,10 +1074,10 @@ copymodes(int fd, const struct stat *sbp, const char *file)
     		maybe_warn("couldn't fchmod: %s", file);
     
     	/* only try flags if they exist already */
    -#ifndef __minix
    +#if !defined(__minix)
             if (sb.st_flags != 0 && fchflags(fd, sb.st_flags) < 0)
     		maybe_warn("couldn't fchflags: %s", file);
    -#endif
    +#endif /* !defined(__minix) */
     
     	TIMESPEC_TO_TIMEVAL(×[0], &sb.st_atimespec);
     	TIMESPEC_TO_TIMEVAL(×[1], &sb.st_mtimespec);
    diff --git a/usr.bin/gzip/zgrep b/usr.bin/gzip/zgrep
    index 3a072af1d..f741d098a 100755
    --- a/usr.bin/gzip/zgrep
    +++ b/usr.bin/gzip/zgrep
    @@ -1,6 +1,6 @@
     #!/bin/sh
     #
    -# $NetBSD: zgrep,v 1.7 2008/05/08 15:35:23 wiz Exp $
    +# $NetBSD: zgrep,v 1.8 2013/07/25 12:25:23 pgoyette Exp $
     #
     # Copyright (c) 2003 Thomas Klausner.
     #
    @@ -33,7 +33,7 @@ grep_args=""
     hyphen=0
     silent=0
     
    -prg=$0
    +prg=$(basename $0)
     
     # handle being called 'zegrep' or 'zfgrep'
     case ${prg} in
    diff --git a/usr.bin/gzip/zmore b/usr.bin/gzip/zmore
    index f77e0c45b..bc8bd5482 100755
    --- a/usr.bin/gzip/zmore
    +++ b/usr.bin/gzip/zmore
    @@ -1,8 +1,8 @@
     #!/bin/sh -
     #
    -# $NetBSD: zmore,v 1.3 2004/03/29 09:59:42 wiz Exp $
    +# $NetBSD: zmore,v 1.4 2013/11/12 21:58:37 pettai Exp $
     #
    -# $OpenBSD: zmore,v 1.4 2003/07/29 07:42:45 otto Exp $
    +# $OpenBSD: zmore,v 1.6 2008/08/20 09:22:02 mpf Exp $
     #
     # Copyright (c) 2003 Todd C. Miller 
     #
    @@ -41,6 +41,12 @@ while test $# -ne 0; do
     	esac
     done
     
    +if [ `basename $0` == "zless" ] ; then
    +	pager=${PAGER-less}
    +else
    +	pager=${PAGER-more}
    +fi
    +
     # No files means read from stdin
     if [ $# -eq 0 ]; then
     	gzip -cdfq 2>&1 | ${PAGER-more} $flags
    diff --git a/usr.bin/gzip/zmore.1 b/usr.bin/gzip/zmore.1
    index 85000c721..dbfc83386 100644
    --- a/usr.bin/gzip/zmore.1
    +++ b/usr.bin/gzip/zmore.1
    @@ -1,5 +1,5 @@
    -.\"	$NetBSD: zmore.1,v 1.3 2003/12/28 12:47:52 wiz Exp $
    -.\"	$OpenBSD: zmore.1,v 1.3 2003/06/23 21:00:48 deraadt Exp $
    +.\"	$NetBSD: zmore.1,v 1.4 2013/11/12 21:58:37 pettai Exp $
    +.\"	$OpenBSD: zmore.1,v 1.10 2009/08/16 09:41:08 sobrado Exp $
     .\"
     .\" Copyright (c) 2003 Todd C. Miller 
     .\"
    @@ -19,16 +19,20 @@
     .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
     .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
     .\"
    -.Dd June 23, 2003
    +.Dd August 16, 2009
     .Dt ZMORE 1
     .Os
     .Sh NAME
    -.Nm zmore
    -.Nd view compressed files on a CRT
    +.Nm zmore ,
    +.Nm zless
    +.Nd view compressed files
     .Sh SYNOPSIS
     .Nm zmore
     .Op Ar flags
    -.Op Ar file ...
    +.Op Ar
    +.Nm zless
    +.Op Ar flags
    +.Op Ar
     .Sh DESCRIPTION
     .Nm
     is a filter that allows the viewing of files compressed with Lempel-Ziv
    @@ -50,6 +54,14 @@ that are specified are passed to the user's preferred
     .Pa /usr/bin/more
     by default).
     .Pp
    +.Nm zless
    +is equivalent to
    +.Nm zmore
    +but uses
    +.Xr less 1
    +as a pager instead of
    +.Xr more 1 .
    +.Pp
     When multiple files are specified,
     .Nm
     will pause at the end of each file and present the following prompt to the user:
    @@ -85,7 +97,11 @@ style compression since there is no suffix on which to make a decision.
     Program used to display files.
     If unset,
     .Pa /usr/bin/more
    -is used.
    +is used
    +.Pq Nm zmore
    +or
    +.Pa /usr/bin/less
    +.Pq Nm zless .
     .El
     .Sh SEE ALSO
     .Xr compress 1 ,
    diff --git a/usr.bin/hexdump/conv.c b/usr.bin/hexdump/conv.c
    index 6b28ffe95..3613d71e5 100644
    --- a/usr.bin/hexdump/conv.c
    +++ b/usr.bin/hexdump/conv.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: conv.c,v 1.13 2010/02/09 14:06:37 drochner Exp $	*/
    +/*	$NetBSD: conv.c,v 1.14 2013/02/09 02:49:36 jakllsch Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -38,7 +38,7 @@
     #if 0
     static char sccsid[] = "@(#)conv.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: conv.c,v 1.13 2010/02/09 14:06:37 drochner Exp $");
    +__RCSID("$NetBSD: conv.c,v 1.14 2013/02/09 02:49:36 jakllsch Exp $");
     #endif
     #endif /* not lint */
     
    @@ -105,7 +105,7 @@ conv_u(PR *pr, u_char *p)
     	static const char *list[] = {
     		"nul", "soh", "stx", "etx", "eot", "enq", "ack", "bel",
     		 "bs",  "ht",  "lf",  "vt",  "ff",  "cr",  "so",  "si",
    -		"dle", "dcl", "dc2", "dc3", "dc4", "nak", "syn", "etb",
    +		"dle", "dc1", "dc2", "dc3", "dc4", "nak", "syn", "etb",
     		"can",  "em", "sub", "esc",  "fs",  "gs",  "rs",  "us",
     	};
     
    diff --git a/usr.bin/hexdump/display.c b/usr.bin/hexdump/display.c
    index cb1d973ff..8a12b1273 100644
    --- a/usr.bin/hexdump/display.c
    +++ b/usr.bin/hexdump/display.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: display.c,v 1.21 2009/01/18 21:34:32 apb Exp $	*/
    +/*	$NetBSD: display.c,v 1.22 2013/10/18 20:19:03 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -38,7 +38,7 @@
     #if 0
     static char sccsid[] = "@(#)display.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: display.c,v 1.21 2009/01/18 21:34:32 apb Exp $");
    +__RCSID("$NetBSD: display.c,v 1.22 2013/10/18 20:19:03 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -344,7 +344,9 @@ doskip(const char *fname, int statok)
     			skip -= sb.st_size;
     			return;
     		}
    -	}
    +	} else
    +		sb.st_mode = S_IFIFO;
    +
     	if (S_ISREG(sb.st_mode)) {
     		if (fseek(stdin, skip, SEEK_SET))
     			err(1, "fseek %s", fname);
    diff --git a/usr.bin/infocmp/Makefile b/usr.bin/infocmp/Makefile
    index f2b5a4cb0..d0bffbf0e 100644
    --- a/usr.bin/infocmp/Makefile
    +++ b/usr.bin/infocmp/Makefile
    @@ -1,7 +1,6 @@
    -#	$NetBSD: Makefile,v 1.1 2010/02/03 15:16:33 roy Exp $
    +#	$NetBSD: Makefile,v 1.2 2013/08/11 06:48:46 dholland Exp $
     
     PROG=		infocmp
    -WARNS=		4
     
     CPPFLAGS+=	-I${.CURDIR}/../../lib/libterminfo
     LDADD+=		-lterminfo
    diff --git a/usr.bin/infocmp/infocmp.1 b/usr.bin/infocmp/infocmp.1
    index 10132cf01..1851a68ea 100644
    --- a/usr.bin/infocmp/infocmp.1
    +++ b/usr.bin/infocmp/infocmp.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: infocmp.1,v 1.5 2011/01/14 14:21:36 wiz Exp $
    +.\"	$NetBSD: infocmp.1,v 1.6 2013/07/20 21:40:01 wiz Exp $
     .\"
     .\" Copyright (c) 2009 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -128,4 +128,4 @@ utility outputs information that conforms to the
     .St -xcurses4.2
     standard.
     .Sh AUTHORS
    -.An Roy Marples Aq roy@NetBSD.org
    +.An Roy Marples Aq Mt roy@NetBSD.org
    diff --git a/usr.bin/infocmp/infocmp.c b/usr.bin/infocmp/infocmp.c
    index 62633ba1f..f3b04fc78 100644
    --- a/usr.bin/infocmp/infocmp.c
    +++ b/usr.bin/infocmp/infocmp.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: infocmp.c,v 1.7 2010/02/22 23:05:39 roy Exp $ */
    +/* $NetBSD: infocmp.c,v 1.8 2013/10/01 09:01:49 roy Exp $ */
     
     /*
      * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
    @@ -28,7 +28,7 @@
      */
     
     #include 
    -__RCSID("$NetBSD: infocmp.c,v 1.7 2010/02/22 23:05:39 roy Exp $");
    +__RCSID("$NetBSD: infocmp.c,v 1.8 2013/10/01 09:01:49 roy Exp $");
     
     #include 
     
    @@ -41,10 +41,6 @@ __RCSID("$NetBSD: infocmp.c,v 1.7 2010/02/22 23:05:39 roy Exp $");
     #include 
     #include 
     
    -#ifdef __minix
    -#include 
    -#endif
    -
     #define SW 8
     
     typedef struct tient {
    @@ -727,7 +723,7 @@ main(int argc, char **argv)
     				printf("internal database\n");
     			else
     				printf("%s%s\n", _ti_database,
    -				    *_ti_database == '/' ? ".db" : "");
    +				    *_ti_database == '/' ? ".cdb" : "");
     		}
     		printf("%s", t->name);
     		if (t->_alias != NULL && *t->_alias != '\0')
    diff --git a/usr.bin/lam/lam.1 b/usr.bin/lam/lam.1
    index 6a67ccee6..32d3cf859 100644
    --- a/usr.bin/lam/lam.1
    +++ b/usr.bin/lam/lam.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: lam.1,v 1.7 2010/04/05 21:18:56 joerg Exp $
    +.\"	$NetBSD: lam.1,v 1.8 2012/12/13 21:09:34 pgoyette Exp $
     .\"
     .\" Copyright (c) 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -107,7 +107,7 @@ lam file1 file2 file3 file4
     joins 4 files together along each line.
     To merge the lines from four different files use
     .Bd -literal -offset indent
    -lam file1 \-S "\e
    +lam file1 \-s "\e
     " file2 file3 file4
     .Ed
     .Pp
    diff --git a/usr.bin/ldd/Makefile.common b/usr.bin/ldd/Makefile.common
    index 7559b3c43..6193b7177 100644
    --- a/usr.bin/ldd/Makefile.common
    +++ b/usr.bin/ldd/Makefile.common
    @@ -1,11 +1,11 @@
    -#	$NetBSD: Makefile.common,v 1.2 2012/02/17 08:13:18 matt Exp $
    -
    -# LSC Until it compiles cleanly...
    -NOGCCERROR:=yes
    +#	$NetBSD: Makefile.common,v 1.3 2013/04/25 07:12:46 matt Exp $
     
     LDELFSO=${NETBSDSRCDIR}/libexec/ld.elf_so
     CPPFLAGS+= -I${LDELFSO} -DLIBDIR=\"${LIBDIR}\"
     CPPFLAGS+= -D_RTLD_SOURCE
    +.if !empty(MACHINE_ARCH:Mearm*)
    +CPPFLAGS+= -I${NETBSDSRCDIR}/lib/libexecinfo
    +.endif
     #CPPFLAGS+= -DDEBUG
     .PATH: ${LDELFSO}
     
    diff --git a/usr.bin/ldd/Makefile.elf b/usr.bin/ldd/Makefile.elf
    index ddacae819..771033f52 100644
    --- a/usr.bin/ldd/Makefile.elf
    +++ b/usr.bin/ldd/Makefile.elf
    @@ -1,12 +1,14 @@
    -#	$NetBSD: Makefile.elf,v 1.3 2009/01/07 07:52:28 mrg Exp $
    +#	$NetBSD: Makefile.elf,v 1.5 2013/05/07 13:00:35 christos Exp $
     
     # Makefile fragment to build a (32 or 64 bit) libldd_elfxx.a.
     # Expects CPPFLAGS to have ELFSIZE set, and LIB to be set.
     
     SRCS=	ldd_elfxx.c
    -SRCS+=	xmalloc.c debug.c expand.c map_object_fallback.c map_object.c load.c search.c \
    -	headers.c paths.c
    +SRCS+=	xmalloc.c debug.c expand.c map_object.c load.c search.c \
    +	headers.c paths.c tls.c symver.c
     
    -CPPFLAGS+=	-DLDD
    +.if defined(__MINIX)
    +SRCS+= map_object_fallback.c 
    +.endif # defined(__MINIX)
     
     .include "Makefile.common"
    diff --git a/usr.bin/ldd/Makefile.inc b/usr.bin/ldd/Makefile.inc
    index c97e2a3eb..b10447468 100644
    --- a/usr.bin/ldd/Makefile.inc
    +++ b/usr.bin/ldd/Makefile.inc
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile.inc,v 1.4 2009/12/15 04:06:43 mrg Exp $
    +#	$NetBSD: Makefile.inc,v 1.5 2013/03/20 15:18:42 macallan Exp $
     
     WARNS?=	3	# XXX: -Wsign-compare issues ld.elf_so source
     
    @@ -18,7 +18,7 @@ MLIBDIR=	powerpc
     .if (${MACHINE_ARCH} == "mips64eb") || (${MACHINE_ARCH} == "mips64el")
     MLIBDIR=	64
     COMPAT_MLIBDIR=	o32
    -CPPFLAGS+= -DLDD_ELF64
    +CPPFLAGS+= -DLDD_ELF64 -DMIPS_N32
     .endif
     
     .if exists(${.CURDIR}/../../Makefile.inc)
    diff --git a/usr.bin/ldd/ldd.c b/usr.bin/ldd/ldd.c
    index f21a500b1..9927beb70 100644
    --- a/usr.bin/ldd/ldd.c
    +++ b/usr.bin/ldd/ldd.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ldd.c,v 1.15 2010/10/16 10:27:08 skrll Exp $	*/
    +/*	$NetBSD: ldd.c,v 1.21 2013/03/20 15:18:42 macallan Exp $	*/
     
     /*-
      * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
    @@ -62,7 +62,7 @@
     
     #include 
     #ifndef lint
    -__RCSID("$NetBSD: ldd.c,v 1.15 2010/10/16 10:27:08 skrll Exp $");
    +__RCSID("$NetBSD: ldd.c,v 1.21 2013/03/20 15:18:42 macallan Exp $");
     #endif /* not lint */
     
     #include 
    @@ -89,6 +89,10 @@ __RCSID("$NetBSD: ldd.c,v 1.15 2010/10/16 10:27:08 skrll Exp $");
      */
     static char *error_message;	/* Message for dlopen(), or NULL */
     bool _rtld_trust;		/* False for setuid and setgid programs */
    +/*
    + * This may be ELF64 or ELF32 but since they are used opaquely it doesn't
    + * really matter.
    + */
     Obj_Entry *_rtld_objlist;	/* Head of linked list of shared objects */
     Obj_Entry **_rtld_objtail = &_rtld_objlist;
     				/* Link field of last object in list */
    @@ -161,9 +165,9 @@ main(int argc, char **argv)
     		}
     		if (elf_ldd(fd, *argv, fmt1, fmt2) == -1
     		    /* Alpha never had 32 bit support. */
    -#if defined(_LP64) && !defined(__alpha__)
    +#if (defined(_LP64) && !defined(__alpha__)) || defined(MIPS_N32)
     		    && elf32_ldd(fd, *argv, fmt1, fmt2) == -1
    -#ifdef __mips__
    +#if defined(__mips__) && 0 /* XXX this is still hosed for some reason */
     		    && elf32_ldd_compat(fd, *argv, fmt1, fmt2) == -1
     #endif
     #endif
    @@ -200,106 +204,31 @@ dlerror()
     }
     
     void
    -fmtprint(const char *libname, Obj_Entry *obj, const char *fmt1,
    -    const char *fmt2)
    +_rtld_die(void)
     {
    -	const char *libpath = obj ? obj->path : "not found";
    -	char libnamebuf[200];
    -	char *libmajor = NULL;
    -	const char *fmt;
    -	char *cp;
    -	int c;
    +	const char *msg = dlerror();
     
    -	if (strncmp(libname, "lib", 3) == 0 &&
    -	    (cp = strstr(libname, ".so")) != NULL) {
    -		int i = cp - (libname + 3);
    -
    -		if (i >= sizeof(libnamebuf))
    -			i = sizeof(libnamebuf) - 1;
    -		(void)memcpy(libnamebuf, libname + 3, i);
    -		libnamebuf[i] = '\0';
    -		if (cp[3] && isdigit((unsigned char)cp[4]))
    -			libmajor = &cp[4];
    -		libname = libnamebuf;
    -	}
    -
    -	if (fmt1 == NULL)
    -		fmt1 = libmajor != NULL ?
    -		    "\t-l%o.%m => %p\n" :
    -		    "\t-l%o => %p\n";
    -	if (fmt2 == NULL)
    -		fmt2 = "\t%o => %p\n";
    -
    -	fmt = libname == libnamebuf ? fmt1 : fmt2;
    -	while ((c = *fmt++) != '\0') {
    -		switch (c) {
    -		default:
    -			putchar(c);
    -			continue;
    -		case '\\':
    -			switch (c = *fmt) {
    -			case '\0':
    -				continue;
    -			case 'n':
    -				putchar('\n');
    -				break;
    -			case 't':
    -				putchar('\t');
    -				break;
    -			}
    -			break;
    -		case '%':
    -			switch (c = *fmt) {
    -			case '\0':
    -				continue;
    -			case '%':
    -			default:
    -				putchar(c);
    -				break;
    -			case 'A':
    -				printf("%s", main_local);
    -				break;
    -			case 'a':
    -				printf("%s", main_progname);
    -				break;
    -			case 'o':
    -				printf("%s", libname);
    -				break;
    -			case 'm':
    -				printf("%s", libmajor);
    -				break;
    -			case 'n':
    -				/* XXX: not supported for elf */
    -				break;
    -			case 'p':
    -				printf("%s", libpath);
    -				break;
    -			case 'x':
    -				printf("%p", obj ? obj->mapbase : 0);
    -				break;
    -			}
    -			break;
    -		}
    -		++fmt;
    -	}
    +	if (msg == NULL)
    +		msg = "Fatal error";
    +	xerrx(1, "%s", msg);
     }
     
     void
    -print_needed(Obj_Entry *obj, const char *fmt1, const char *fmt2)
    +_rtld_shared_enter(void)
    +{
    +}
    +
    +void
    +_rtld_shared_exit(void)
    +{
    +}
    +
    +void
    +_rtld_exclusive_enter(sigset_t *mask)
    +{
    +}
    +
    +void
    +_rtld_exclusive_exit(sigset_t *mask)
     {
    -	const Needed_Entry *needed;
    -
    -	for (needed = obj->needed; needed != NULL; needed = needed->next) {
    -		const char *libname = obj->strtab + needed->name;
    -
    -		if (needed->obj != NULL) {
    -			if (!needed->obj->printed) {
    -				fmtprint(libname, needed->obj, fmt1, fmt2);
    -				needed->obj->printed = 1;
    -				print_needed(needed->obj, fmt1, fmt2);
    -			}
    -		} else {
    -			fmtprint(libname, needed->obj, fmt1, fmt2);
    -		}
    -	}
     }
    diff --git a/usr.bin/ldd/ldd.h b/usr.bin/ldd/ldd.h
    index fba99161b..a3b45204d 100644
    --- a/usr.bin/ldd/ldd.h
    +++ b/usr.bin/ldd/ldd.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ldd.h,v 1.6 2009/12/15 04:06:43 mrg Exp $	*/
    +/*	$NetBSD: ldd.h,v 1.7 2012/07/08 00:53:44 matt Exp $	*/
     
     /*
      * Copyright (c) 2008 Matthew R. Green
    @@ -43,8 +43,5 @@ int elf64_ldd(int, char *, const char *, const char *);
     #define elf_ldd elf32_ldd
     #endif
     
    -void fmtprint(const char *, Obj_Entry *, const char *, const char *);
    -void print_needed(Obj_Entry *, const char *, const char *);
    -
     extern char *main_local;
     extern char *main_progname;
    diff --git a/usr.bin/ldd/ldd_elfxx.c b/usr.bin/ldd/ldd_elfxx.c
    index 654834344..a75e6278a 100644
    --- a/usr.bin/ldd/ldd_elfxx.c
    +++ b/usr.bin/ldd/ldd_elfxx.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ldd_elfxx.c,v 1.4 2009/09/07 04:49:03 dholland Exp $	*/
    +/*	$NetBSD: ldd_elfxx.c,v 1.6 2012/07/08 00:53:44 matt Exp $	*/
     
     /*-
      * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
    @@ -62,7 +62,7 @@
     
     #include 
     #ifndef lint
    -__RCSID("$NetBSD: ldd_elfxx.c,v 1.4 2009/09/07 04:49:03 dholland Exp $");
    +__RCSID("$NetBSD: ldd_elfxx.c,v 1.6 2012/07/08 00:53:44 matt Exp $");
     #endif /* not lint */
     
     #include 
    @@ -84,8 +84,11 @@ __RCSID("$NetBSD: ldd_elfxx.c,v 1.4 2009/09/07 04:49:03 dholland Exp $");
     #include "rtld.h"
     #include "ldd.h"
     
    +static void print_needed(Obj_Entry *, const char *, const char *);
    +static void fmtprint(const char *, Obj_Entry *, const char *, const char *);
    +
     /*
    - * elfxx_ldd() - bit-size independant ELF ldd implementation.
    + * elfxx_ldd() - bit-size independent ELF ldd implementation.
      * returns 0 on success and -1 on failure.
      */
     int
    @@ -158,3 +161,108 @@ ELFNAME(ldd)(int fd, char *path, const char *fmt1, const char *fmt2)
     
     	return 0;
     }
    +
    +void
    +fmtprint(const char *libname, Obj_Entry *obj, const char *fmt1,
    +    const char *fmt2)
    +{
    +	const char *libpath = obj ? obj->path : "not found";
    +	char libnamebuf[200];
    +	char *libmajor = NULL;
    +	const char *fmt;
    +	char *cp;
    +	int c;
    +
    +	if (strncmp(libname, "lib", 3) == 0 &&
    +	    (cp = strstr(libname, ".so")) != NULL) {
    +		size_t i = cp - (libname + 3);
    +
    +		if (i >= sizeof(libnamebuf))
    +			i = sizeof(libnamebuf) - 1;
    +		(void)memcpy(libnamebuf, libname + 3, i);
    +		libnamebuf[i] = '\0';
    +		if (cp[3] && isdigit((unsigned char)cp[4]))
    +			libmajor = &cp[4];
    +		libname = libnamebuf;
    +	}
    +
    +	if (fmt1 == NULL)
    +		fmt1 = libmajor != NULL ?
    +		    "\t-l%o.%m => %p\n" :
    +		    "\t-l%o => %p\n";
    +	if (fmt2 == NULL)
    +		fmt2 = "\t%o => %p\n";
    +
    +	fmt = libname == libnamebuf ? fmt1 : fmt2;
    +	while ((c = *fmt++) != '\0') {
    +		switch (c) {
    +		default:
    +			putchar(c);
    +			continue;
    +		case '\\':
    +			switch (c = *fmt) {
    +			case '\0':
    +				continue;
    +			case 'n':
    +				putchar('\n');
    +				break;
    +			case 't':
    +				putchar('\t');
    +				break;
    +			}
    +			break;
    +		case '%':
    +			switch (c = *fmt) {
    +			case '\0':
    +				continue;
    +			case '%':
    +			default:
    +				putchar(c);
    +				break;
    +			case 'A':
    +				printf("%s", main_local);
    +				break;
    +			case 'a':
    +				printf("%s", main_progname);
    +				break;
    +			case 'o':
    +				printf("%s", libname);
    +				break;
    +			case 'm':
    +				printf("%s", libmajor);
    +				break;
    +			case 'n':
    +				/* XXX: not supported for elf */
    +				break;
    +			case 'p':
    +				printf("%s", libpath);
    +				break;
    +			case 'x':
    +				printf("%p", obj ? obj->mapbase : 0);
    +				break;
    +			}
    +			break;
    +		}
    +		++fmt;
    +	}
    +}
    +
    +void
    +print_needed(Obj_Entry *obj, const char *fmt1, const char *fmt2)
    +{
    +	const Needed_Entry *needed;
    +
    +	for (needed = obj->needed; needed != NULL; needed = needed->next) {
    +		const char *libname = obj->strtab + needed->name;
    +
    +		if (needed->obj != NULL) {
    +			if (!needed->obj->printed) {
    +				fmtprint(libname, needed->obj, fmt1, fmt2);
    +				needed->obj->printed = 1;
    +				print_needed(needed->obj, fmt1, fmt2);
    +			}
    +		} else {
    +			fmtprint(libname, needed->obj, fmt1, fmt2);
    +		}
    +	}
    +}
    diff --git a/usr.bin/lock/lock.c b/usr.bin/lock/lock.c
    index cb635c37d..58601ba14 100644
    --- a/usr.bin/lock/lock.c
    +++ b/usr.bin/lock/lock.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lock.c,v 1.32 2012/03/20 20:34:58 matt Exp $	*/
    +/*	$NetBSD: lock.c,v 1.33 2013/10/18 20:47:06 christos Exp $	*/
     
     /*
      * Copyright (c) 1980, 1987, 1993
    @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1987, 1993\
     #if 0
     static char sccsid[] = "@(#)lock.c	8.1 (Berkeley) 6/6/93";
     #endif
    -__RCSID("$NetBSD: lock.c,v 1.32 2012/03/20 20:34:58 matt Exp $");
    +__RCSID("$NetBSD: lock.c,v 1.33 2013/10/18 20:47:06 christos Exp $");
     #endif /* not lint */
     
     /*
    @@ -105,7 +105,7 @@ main(int argc, char **argv)
     	time_t curtime;
     	int ch, usemine;
     	long sectimeout;
    -	char *ap, *mypw, *ttynam;
    +	char *ap, *ttynam;
     	const char *tzn;
     	uid_t uid = getuid();
     	char hostname[MAXHOSTNAMELEN + 1], s[BUFSIZ], s1[BUFSIZ];
    @@ -113,6 +113,8 @@ main(int argc, char **argv)
     	pam_handle_t *pamh = NULL;
     	static const struct pam_conv pamc = { &openpam_ttyconv, NULL };
     	int pam_err;
    +#else
    +	char *mypw = NULL;
     #endif
     
     	if ((pw = getpwuid(getuid())) == NULL)
    @@ -120,7 +122,6 @@ main(int argc, char **argv)
     
     	notimeout = 0;
     	sectimeout = TIMEOUT;
    -	mypw = NULL;
     	usemine = 0;
     
     	while ((ch = getopt(argc, argv, "npt:")) != -1)
    @@ -210,7 +211,9 @@ main(int argc, char **argv)
     			exit(1);
     		}
     		s[0] = '\0';
    +#ifndef USE_PAM
     		mypw = s1;
    +#endif
     	}
     #ifdef USE_PAM
     	if (usemine) {
    diff --git a/usr.bin/login/Makefile b/usr.bin/login/Makefile
    index 8e78aef5f..5cb096f70 100644
    --- a/usr.bin/login/Makefile
    +++ b/usr.bin/login/Makefile
    @@ -1,12 +1,6 @@
    -#	$NetBSD: Makefile,v 1.55 2012/04/24 16:52:26 christos Exp $
    +#	$NetBSD: Makefile,v 1.56 2013/08/11 06:32:13 dholland Exp $
     #	@(#)Makefile	8.1 (Berkeley) 7/19/93
     
    -.if defined(__MINIX)
    -WARNS=2
    -.endif
    -
    -WARNS?=	5
    -
     .include 
     
     USE_FORT?= yes	# setuid
    @@ -24,6 +18,7 @@ LDADD+=	-lpam ${PAM_STATIC_LDADD}
     DPADD+= ${LIBPAM} ${PAM_STATIC_DPADD}
     .else	# USE_PAM == no
     SRCS+=	login.c
    +# MINIX: NO LOGIN_CAP
     CPPFLAGS+= -DSUPPORT_UTMP -DSUPPORT_UTMPX #-DLOGIN_CAP
     
     .if (${USE_KERBEROS} != "no")
    diff --git a/usr.bin/login/common.c b/usr.bin/login/common.c
    index 8a6252e16..4b8a9355c 100644
    --- a/usr.bin/login/common.c
    +++ b/usr.bin/login/common.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: common.c,v 1.3 2009/12/29 20:15:15 christos Exp $	*/
    +/*	$NetBSD: common.c,v 1.6 2012/05/19 00:02:44 christos Exp $	*/
     
     /*-
      * Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994
    @@ -29,7 +29,7 @@
      * SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: common.c,v 1.3 2009/12/29 20:15:15 christos Exp $");
    +__RCSID("$NetBSD: common.c,v 1.6 2012/05/19 00:02:44 christos Exp $");
     
     #include 
     #include 
    @@ -77,11 +77,20 @@ u_int	timeout = 300;
     void	 decode_ss(const char *);
     struct	passwd *pwd;
     int	failures, have_ss;
    -char	term[64], *envinit[1], *hostname, *username, *tty, *nested;
    +char	term[64], *envinit[1], *hostname, *tty, *nested;
    +const char *username;
     struct timeval now;
     struct sockaddr_storage ss;
     
    -void
    +char *
    +trimloginname(char *u)
    +{
    +	if (strlen(u) > MAXLOGNAME)
    +		u[MAXLOGNAME] = '\0';
    +	return u;
    +}
    +
    +char *
     getloginname(void)
     {
     	int ch;
    @@ -104,8 +113,7 @@ getloginname(void)
     				    "login names may not start with '-'.\n");
     			else {
     				*p = '\0';
    -				username = nbuf;
    -				break;
    +				return nbuf;
     			}
     		}
     	}
    @@ -122,7 +130,7 @@ rootterm(char *ttyn)
     static jmp_buf motdinterrupt;
     
     void
    -motd(char *fname)
    +motd(const char *fname)
     {
     	int fd, nchars;
     	sig_t oldint;
    @@ -139,7 +147,7 @@ motd(char *fname)
     }
     
     /* ARGSUSED */
    -void
    +void __dead
     sigint(int signo)
     {
     
    @@ -147,7 +155,7 @@ sigint(int signo)
     }
     
     /* ARGSUSED */
    -void
    +void __dead
     timedout(int signo)
     {
     
    @@ -243,7 +251,7 @@ doutmpx(void)
     	utmpx.ut_type = USER_PROCESS;
     	utmpx.ut_pid = getpid();
     	t = tty + strlen(tty);
    -	if (t - tty >= sizeof(utmpx.ut_id)) {
    +	if ((size_t)(t - tty) >= sizeof(utmpx.ut_id)) {
     	    (void)strncpy(utmpx.ut_id, t - sizeof(utmpx.ut_id),
     		sizeof(utmpx.ut_id));
     	} else {
    @@ -364,7 +372,7 @@ stypeof(const char *ttyid)
     	return (ttyid && (t = getttynam(ttyid)) ? t->ty_type : NULL);
     }
     
    -void
    +void __dead
     sleepexit(int eval)
     {
     
    diff --git a/usr.bin/login/common.h b/usr.bin/login/common.h
    index 2ce50e6ae..4065bf274 100644
    --- a/usr.bin/login/common.h
    +++ b/usr.bin/login/common.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: common.h,v 1.1 2009/12/29 19:26:13 christos Exp $	*/
    +/*	$NetBSD: common.h,v 1.4 2012/05/19 00:02:44 christos Exp $	*/
     
     /*-
      * Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994
    @@ -33,19 +33,21 @@ __BEGIN_DECLS
     
     void	 badlogin(const char *);
     void	 update_db(int, int, int);
    -void	 getloginname(void);
    -void	 motd(char *);
    +char	*trimloginname(char *);
    +char	*getloginname(void);
    +void	 motd(const char *);
     int	 rootterm(char *);
    -void	 sigint(int);
    -void	 sleepexit(int);
    +void	 __dead sigint(int);
    +void	 __dead sleepexit(int);
     const	 char *stypeof(const char *);
    -void	 timedout(int);
    +void	 __dead timedout(int);
     void	 decode_ss(const char *);
     
     extern u_int	timeout;
     extern struct	passwd *pwd;
     extern int	failures, have_ss;
    -extern char	term[64], *envinit[1], *hostname, *username, *tty, *nested;
    +extern char	term[64], *envinit[1], *hostname, *tty, *nested;
    +extern const char *username;
     extern struct timeval now;
     extern struct sockaddr_storage ss;
     extern const char copyrightstr[];
    diff --git a/usr.bin/login/k5login.c b/usr.bin/login/k5login.c
    index 5d2f6a12f..ad773e98d 100644
    --- a/usr.bin/login/k5login.c
    +++ b/usr.bin/login/k5login.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: k5login.c,v 1.27 2006/03/23 23:33:28 wiz Exp $	*/
    +/*	$NetBSD: k5login.c,v 1.33 2012/04/24 16:52:26 christos Exp $	*/
     
     /*-
      * Copyright (c) 1990 The Regents of the University of California.
    @@ -51,7 +51,7 @@
     #if 0
     static char sccsid[] = "@(#)klogin.c	5.11 (Berkeley) 7/12/92";
     #endif
    -__RCSID("$NetBSD: k5login.c,v 1.27 2006/03/23 23:33:28 wiz Exp $");
    +__RCSID("$NetBSD: k5login.c,v 1.33 2012/04/24 16:52:26 christos Exp $");
     #endif /* not lint */
     
     #ifdef KERBEROS5
    @@ -71,7 +71,7 @@ __RCSID("$NetBSD: k5login.c,v 1.27 2006/03/23 23:33:28 wiz Exp $");
     
     krb5_context kcontext;
     
    -int notickets;
    +extern int notickets;
     int krb5_configured;
     char *krb5tkfile_env;
     extern char *tty;
    @@ -81,7 +81,7 @@ extern int has_ccache;
     static char tkt_location[MAXPATHLEN];
     static krb5_creds forw_creds;
     int have_forward;
    -static krb5_principal me, server;
    +static krb5_principal me;
     
     int k5_read_creds(char *);
     int k5_write_creds(void);
    @@ -89,12 +89,26 @@ int k5_verify_creds(krb5_context, krb5_ccache);
     int k5login(struct passwd *, char *, char *, char *);
     void k5destroy(void);
     
    -#ifndef krb5_realm_length
    -#define krb5_realm_length(r)	((r).length)
    -#endif
    -#ifndef krb5_realm_data
    -#define krb5_realm_data(r)	((r).data)
    -#endif
    +static void __printflike(3, 4)
    +k5_log(krb5_context context, krb5_error_code kerror, const char *fmt, ...)
    +{
    +	const char *msg = krb5_get_error_message(context, kerror);
    +	char *str;
    +	va_list ap;
    +
    +	va_start(ap, fmt);
    +	if (vasprintf(&str, fmt, ap) == -1) {
    +		va_end(ap);
    +		syslog(LOG_NOTICE, "Cannot allocate memory for error %s: %s",
    +		    fmt, msg);
    +		return;
    +	}
    +	va_end(ap);
    +
    +	syslog(LOG_NOTICE, "warning: %s: %s", str, msg);
    +	krb5_free_error_message(kcontext, msg);
    +	free(str);
    +}
     
     /*
      * Verify the Kerberos ticket-granting ticket just retrieved for the
    @@ -163,8 +177,7 @@ k5_verify_creds(krb5_context c, krb5_ccache ccache)
     	else if (kerror) {
     		krb5_warn(kcontext, kerror,
     			  "Unable to verify Kerberos V5 TGT: %s", phost);
    -		syslog(LOG_NOTICE, "Kerberos V5 TGT bad: %s",
    -		       krb5_get_err_text(kcontext, kerror));
    +		k5_log(kcontext, kerror, "Kerberos V5 TGT bad");
     		retval = -1;
     		goto EGRESS;
     	}
    @@ -192,11 +205,9 @@ k5_verify_creds(krb5_context c, krb5_ccache ccache)
     			retval = -1;
     		}
     		krb5_warn(kcontext, kerror, "Unable to verify host ticket");
    -		syslog(LOG_NOTICE, "can't verify v5 ticket: %s; %s\n",
    -		       krb5_get_err_text(kcontext, kerror),
    -		       retval
    -		         ? "keytab found, assuming failure"
    -		         : "no keytab found, assuming success");
    +		k5_log(kcontext, kerror, "can't verify v5 ticket (%s)",
    +		    retval ? "keytab found, assuming failure" :
    +		    "no keytab found, assuming success");
     		goto EGRESS;
     	}
     	/*
    @@ -243,13 +254,13 @@ k5_read_creds(char *username)
     	}
     
     	mcreds.client = me;
    +	const char *realm = krb5_principal_get_realm(kcontext, me);
    +	size_t rlen = strlen(realm);
     	kerror = krb5_build_principal_ext(kcontext, &mcreds.server,
    -			krb5_realm_length(*krb5_princ_realm(kcontext, me)),
    -			krb5_realm_data(*krb5_princ_realm(kcontext, me)),
    +			rlen, realm,
     			KRB5_TGS_NAME_SIZE,
     			KRB5_TGS_NAME,
    -			krb5_realm_length(*krb5_princ_realm(kcontext, me)),
    -			krb5_realm_data(*krb5_princ_realm(kcontext, me)),
    +			rlen, realm,
     			0);
     	if (kerror) {
     		krb5_warn(kcontext, kerror, "while building server name");
    @@ -321,17 +332,12 @@ k5login(struct passwd *pw, char *instance, char *localhost, char *password)
     {
             krb5_error_code kerror;
     	krb5_creds my_creds;
    -	krb5_timestamp now;
     	krb5_ccache ccache = NULL;
    -	long lifetime = KRB5_DEFAULT_LIFE;
    -	int options = KRB5_DEFAULT_OPTIONS;
     	char *realm, *client_name;
     	char *principal;
     
     	krb5_configured = 1;
     
    -	if (login_krb5_forwardable_tgt)
    -		options |= KDC_OPT_FORWARDABLE;
     
     	/*
     	 * Root logins don't use Kerberos.
    @@ -355,10 +361,10 @@ k5login(struct passwd *pw, char *instance, char *localhost, char *password)
     
     	if (strcmp(instance, "root") != 0)
     		(void)snprintf(tkt_location, sizeof tkt_location,
    -				"FILE:/tmp/krb5cc_%d.%s", pw->pw_uid, tty);
    +				"FILE:/tmp/krb5cc_%d", pw->pw_uid);
     	else
     		(void)snprintf(tkt_location, sizeof tkt_location,
    -				"FILE:/tmp/krb5cc_root_%d.%s", pw->pw_uid, tty);
    +				"FILE:/tmp/krb5cc_root_%d", pw->pw_uid);
     	krb5tkfile_env = tkt_location;
     	has_ccache = 1;
     
    @@ -372,71 +378,43 @@ k5login(struct passwd *pw, char *instance, char *localhost, char *password)
     	}
     
     	if ((kerror = krb5_cc_resolve(kcontext, tkt_location, &ccache)) != 0) {
    -		syslog(LOG_NOTICE, "warning: %s while getting default ccache",
    -			krb5_get_err_text(kcontext, kerror));
    +		k5_log(kcontext, kerror, "while getting default ccache");
     		return (1);
     	}
     
     	if ((kerror = krb5_parse_name(kcontext, principal, &me)) != 0) {
    -		syslog(LOG_NOTICE, "warning: %s when parsing name %s",
    -			krb5_get_err_text(kcontext, kerror), principal);
    +		k5_log(kcontext, kerror, "when parsing name %s", principal);
     		return (1);
     	}
     
     	if ((kerror = krb5_unparse_name(kcontext, me, &client_name)) != 0) {
    -		syslog(LOG_NOTICE, "warning: %s when unparsing name %s",
    -			krb5_get_err_text(kcontext, kerror), principal);
    +		k5_log(kcontext, kerror, "when unparsing name %s", principal);
     		return (1);
     	}
     
     	kerror = krb5_cc_initialize(kcontext, ccache, me);
     	if (kerror != 0) {
    -		syslog(LOG_NOTICE, "%s when initializing cache %s",
    -			krb5_get_err_text(kcontext, kerror), tkt_location);
    +		k5_log(kcontext, kerror, "when initializing cache %s",
    +		    tkt_location);
     		return (1);
     	}
     
    -	memset((char *)&my_creds, 0, sizeof(my_creds));
    +	memset(&my_creds, 0, sizeof(my_creds));
    +	krb5_get_init_creds_opt *opt;
     
    -	my_creds.client = me;
    -
    -	if ((kerror = krb5_build_principal_ext(kcontext,
    -			&server,
    -			krb5_realm_length(*krb5_princ_realm(kcontext, me)),
    -			krb5_realm_data(*krb5_princ_realm(kcontext, me)),
    -			KRB5_TGS_NAME_SIZE,
    -			KRB5_TGS_NAME,
    -			krb5_realm_length(*krb5_princ_realm(kcontext, me)),
    -			krb5_realm_data(*krb5_princ_realm(kcontext, me)),
    -			0)) != 0) {
    -		syslog(LOG_NOTICE, "%s while building server name",
    -			krb5_get_err_text(kcontext, kerror));
    +	if ((kerror = krb5_get_init_creds_opt_alloc(kcontext, &opt)) != 0) {
    +		k5_log(kcontext, kerror, "while getting options");
     		return (1);
     	}
    +	if (login_krb5_forwardable_tgt)
    +	    krb5_get_init_creds_opt_set_forwardable(opt, 1);
     
    -	my_creds.server = server;
    +        kerror = krb5_get_init_creds_password(kcontext, &my_creds, me, password,
    +	    NULL, NULL, 0, NULL, opt);
     
    -	if ((kerror = krb5_timeofday(kcontext, &now)) != 0) {
    -		syslog(LOG_NOTICE, "%s while getting time of day",
    -			krb5_get_err_text(kcontext, kerror));
    -		return (1);
    -	}
    -
    -	my_creds.times.starttime = 0;	/* start timer when request
    -					   gets to KDC */
    -	my_creds.times.endtime = now + lifetime;
    -	my_creds.times.renew_till = 0;
    -
    -	kerror = krb5_get_in_tkt_with_password(kcontext, options,
    -					       NULL,
    -					       NULL,
    -					       NULL,
    -					       password,
    -					       ccache,
    -					       &my_creds, 0);
    -
    -	if (my_creds.server != NULL)
    -		krb5_free_principal(kcontext, my_creds.server);
    +	krb5_get_init_creds_opt_free(kcontext, opt);
    +	if (kerror == 0)
    +		kerror = krb5_cc_store_cred(kcontext, ccache, &my_creds);
     
     	if (chown(&tkt_location[5], pw->pw_uid, pw->pw_gid) < 0)
     		syslog(LOG_ERR, "chown tkfile (%s): %m", &tkt_location[5]);
    diff --git a/usr.bin/login/login.c b/usr.bin/login/login.c
    index 0023ab5a5..2c2304e7d 100644
    --- a/usr.bin/login/login.c
    +++ b/usr.bin/login/login.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: login.c,v 1.97 2009/12/29 19:26:13 christos Exp $	*/
    +/*	$NetBSD: login.c,v 1.103 2012/04/29 01:26:56 wiz Exp $	*/
     
     /*-
      * Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994\
     #if 0
     static char sccsid[] = "@(#)login.c	8.4 (Berkeley) 4/2/94";
     #endif
    -__RCSID("$NetBSD: login.c,v 1.97 2009/12/29 19:26:13 christos Exp $");
    +__RCSID("$NetBSD: login.c,v 1.103 2012/04/29 01:26:56 wiz Exp $");
     #endif /* not lint */
     
     /*
    @@ -83,7 +83,7 @@ __RCSID("$NetBSD: login.c,v 1.97 2009/12/29 19:26:13 christos Exp $");
     #endif
     #ifdef KERBEROS5
     #include 
    -#include 
    +#include 
     #endif
     #ifdef LOGIN_CAP
     #include 
    @@ -103,13 +103,13 @@ static void	 checknologin(char *);
     #ifdef KERBEROS5
     int	 k5login(struct passwd *, char *, char *, char *);
     void	 k5destroy(void);
    -int	 k5_read_creds(char*);
    +int	 k5_read_creds(const char *);
     int	 k5_write_creds(void);
     #endif
     #if defined(KERBEROS5)
     static void	 dofork(void);
     #endif
    -static void	 usage(void);
    +static void	 usage(void) __attribute__((__noreturn__));
     
     #define	TTYGRPNAME	"tty"		/* name of group to own ttys */
     
    @@ -118,10 +118,10 @@ static void	 usage(void);
     
     #if defined(KERBEROS5)
     int	has_ccache = 0;
    -static int	notickets = 1;
    -static char	*instance;
    +int	notickets = 1;
     extern krb5_context kcontext;
     extern int	have_forward;
    +static char	*instance;
     extern char	*krb5tkfile_env;
     extern int	krb5_configured;
     #endif
    @@ -142,13 +142,15 @@ main(int argc, char *argv[])
     	uid_t uid, saved_uid;
     	gid_t saved_gid, saved_gids[NGROUPS_MAX];
     	int nsaved_gids;
    -	char *domain, *p, *ttyn, *pwprompt;
    +	char *domain, *p, *ttyn;
    +	const char *pwprompt;
     	char tbuf[MAXPATHLEN + 2], tname[sizeof(_PATH_TTY) + 10];
     	char localhost[MAXHOSTNAMELEN + 1];
     	int need_chpass, require_chpass;
     	int login_retries = DEFAULT_RETRIES, 
     	    login_backoff = DEFAULT_BACKOFF;
     	time_t pw_warntime = _PASSWORD_WARNDAYS * SECSPERDAY;
    +	char *loginname = NULL;
     #ifdef KERBEROS5
     	krb5_error_code kerror;
     #endif
    @@ -236,14 +238,14 @@ main(int argc, char *argv[])
     			break;
     		}
     
    -#ifndef __minix
    +#if !defined(__minix)
     	setproctitle(NULL);
    -#endif
    +#endif /* !defined(__minix) */
     	argc -= optind;
     	argv += optind;
     
     	if (*argv) {
    -		username = *argv;
    +		username = loginname = *argv;
     		ask = 0;
     	} else
     		ask = 1;
    @@ -315,18 +317,16 @@ main(int argc, char *argv[])
     #endif
     		if (ask) {
     			fflag = 0;
    -			getloginname();
    +			loginname = getloginname();
     		}
     		rootlogin = 0;
     #ifdef KERBEROS5
    -		if ((instance = strchr(username, '/')) != NULL)
    +		if ((instance = strchr(loginname, '/')) != NULL)
     			*instance++ = '\0';
     		else
    -			instance = "";
    +			instance = __UNCONST("");
     #endif
    -		if (strlen(username) > MAXLOGNAME)
    -			username[MAXLOGNAME] = '\0';
    -
    +		username = trimloginname(loginname);
     		/*
     		 * Note if trying multiple user names; log failures for
     		 * previous user name, but don't bother logging one failure
    @@ -508,7 +508,7 @@ main(int argc, char *argv[])
     		(void)printf("No home directory %s!\n", pwd->pw_dir);
     		if (chdir("/") == -1)
     			exit(EXIT_FAILURE);
    -		pwd->pw_dir = "/";
    +		pwd->pw_dir = __UNCONST("/");
     		(void)printf("Logging in with home = \"/\".\n");
     	}
     
    @@ -526,7 +526,7 @@ main(int argc, char *argv[])
     		_PASSWORD_WARNDAYS * SECSPERDAY);
     #endif
     
    -	(void)gettimeofday(&now, (struct timezone *)NULL);
    +	(void)gettimeofday(&now, NULL);
     	if (pwd->pw_expire) {
     		if (now.tv_sec >= pwd->pw_expire) {
     			(void)printf("Sorry -- your account has expired.\n");
    @@ -583,10 +583,10 @@ main(int argc, char *argv[])
     
     	initgroups(username, pwd->pw_gid);
     	
    -#ifndef __minix
    +#if !defined(__minix)
     	if (nested == NULL && setlogin(pwd->pw_name) < 0)
     		syslog(LOG_ERR, "setlogin() failure: %m");
    -#endif
    +#endif /* !defined(__minix) */
     
     	/* Discard permissions last so can't get killed and drop core. */
     	if (rootlogin)
    @@ -596,7 +596,7 @@ main(int argc, char *argv[])
     #endif
     
     	if (*pwd->pw_shell == '\0')
    -		pwd->pw_shell = _PATH_BSHELL;
    +		pwd->pw_shell = __UNCONST(_PATH_BSHELL);
     #ifdef LOGIN_CAP
     	if ((shell = login_getcapstr(lc, "shell", NULL, NULL)) != NULL) {
     		if ((shell = strdup(shell)) == NULL) {
    @@ -610,7 +610,7 @@ main(int argc, char *argv[])
     	(void)setenv("HOME", pwd->pw_dir, 1);
     	(void)setenv("SHELL", pwd->pw_shell, 1);
     	if (term[0] == '\0') {
    -		char *tt = (char *)stypeof(tty);
    +		const char *tt = stypeof(tty);
     #ifdef LOGIN_CAP
     		if (tt == NULL)
     			tt = login_getcapstr(lc, "term", NULL, NULL);
    @@ -652,7 +652,7 @@ main(int argc, char *argv[])
     #endif
     
     	if (!quietlog) {
    -		char *fname;
    +		const char *fname;
     #ifdef LOGIN_CAP
     		fname = login_getcapstr(lc, "copyright", NULL, NULL);
     		if (fname != NULL && access(fname, F_OK) == 0)
    diff --git a/usr.bin/login/login_pam.c b/usr.bin/login/login_pam.c
    index 39e0e8247..9c09168cb 100644
    --- a/usr.bin/login/login_pam.c
    +++ b/usr.bin/login/login_pam.c
    @@ -1,4 +1,4 @@
    -/*     $NetBSD: login_pam.c,v 1.20 2009/12/29 19:26:13 christos Exp $       */
    +/*     $NetBSD: login_pam.c,v 1.23 2013/10/18 20:47:06 christos Exp $       */
     
     /*-
      * Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1987, 1988, 1991, 1993, 1994\
     #if 0
     static char sccsid[] = "@(#)login.c	8.4 (Berkeley) 4/2/94";
     #endif
    -__RCSID("$NetBSD: login_pam.c,v 1.20 2009/12/29 19:26:13 christos Exp $");
    +__RCSID("$NetBSD: login_pam.c,v 1.23 2013/10/18 20:47:06 christos Exp $");
     #endif /* not lint */
     
     /*
    @@ -107,10 +107,9 @@ main(int argc, char *argv[])
     	uid_t uid, saved_uid;
     	gid_t saved_gid, saved_gids[NGROUPS_MAX];
     	int nsaved_gids;
    -	char *domain, *p, *ttyn, *pwprompt;
    +	char *domain, *p, *ttyn;
     	char tbuf[MAXPATHLEN + 2], tname[sizeof(_PATH_TTY) + 10];
     	char localhost[MAXHOSTNAMELEN + 1];
    -	int need_chpass, require_chpass;
     	int login_retries = DEFAULT_RETRIES, 
     	    login_backoff = DEFAULT_BACKOFF;
     	char *shell = NULL;
    @@ -126,9 +125,7 @@ main(int argc, char *argv[])
     	char **pamenv;
     
     	tbuf[0] = '\0';
    -	pwprompt = NULL;
     	nested = NULL;
    -	need_chpass = require_chpass = 0;
     
     	oabrt = signal(SIGABRT, SIG_IGN);
     	oalrm = signal(SIGALRM, timedout);
    @@ -194,7 +191,7 @@ main(int argc, char *argv[])
     	argv += optind;
     
     	if (*argv) {
    -		username = *argv;
    +		username = trimloginname(*argv);
     		ask = 0;
     	} else
     		ask = 1;
    @@ -240,12 +237,10 @@ main(int argc, char *argv[])
     	for (cnt = 0;; ask = 1) {
     		if (ask) {
     			fflag = 0;
    -			getloginname();
    +			username = trimloginname(getloginname());
     		}
     		rootlogin = 0;
     		auth_passed = 0;
    -		if (strlen(username) > MAXLOGNAME)
    -			username[MAXLOGNAME] = '\0';
     
     		/*
     		 * Note if trying multiple user names; log failures for
    @@ -334,7 +329,7 @@ main(int argc, char *argv[])
     			if (pam_err != PAM_SUCCESS)
     				PAM_END("pam_get_item(PAM_USER)");
     
    -			username = (char *)newuser;
    +			username = newuser;
     			/*
     			 * Don't check for errors, because we don't want to give
     			 * out any information.
    @@ -441,7 +436,7 @@ skip_auth:
     			pam_end(pamh, PAM_SUCCESS);
     			exit(EXIT_FAILURE);
     		}
    -		pwd->pw_dir = "/";
    +		pwd->pw_dir = __UNCONST("/");
     		(void)printf("Logging in with home = \"/\".\n");
     	}
     
    @@ -570,7 +565,7 @@ skip_auth:
     	}
     
     	if (*pwd->pw_shell == '\0')
    -		pwd->pw_shell = _PATH_BSHELL;
    +		pwd->pw_shell = __UNCONST(_PATH_BSHELL);
     
     	shell = login_getcapstr(lc, "shell", pwd->pw_shell, pwd->pw_shell);
     	if (*shell == '\0')
    @@ -584,7 +579,7 @@ skip_auth:
     	(void)setenv("HOME", pwd->pw_dir, 1);
     	(void)setenv("SHELL", pwd->pw_shell, 1);
     	if (term[0] == '\0') {
    -		char *tt = (char *)stypeof(tty);
    +		const char *tt = stypeof(tty);
     
     		if (tt == NULL)
     			tt = login_getcapstr(lc, "term", NULL, NULL);
    @@ -618,7 +613,7 @@ skip_auth:
     	}
     
     	if (!quietlog) {
    -		char *fname;
    +		const char *fname;
     
     		fname = login_getcapstr(lc, "copyright", NULL, NULL);
     		if (fname != NULL && access(fname, F_OK) == 0)
    diff --git a/usr.bin/m4/m4.1 b/usr.bin/m4/m4.1
    index b074a448b..9993e3834 100644
    --- a/usr.bin/m4/m4.1
    +++ b/usr.bin/m4/m4.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: m4.1,v 1.23 2012/04/08 22:00:39 wiz Exp $
    +.\"	$NetBSD: m4.1,v 1.24 2013/07/20 21:40:00 wiz Exp $
     .\"	@(#) $OpenBSD: m4.1,v 1.56 2009/10/14 17:19:47 sthen Exp $
     .\"
     .\" Copyright (c) 1989, 1993
    @@ -483,9 +483,9 @@ Many other
     have dire size limitations with respect to buffer sizes.
     .Sh AUTHORS
     .An -nosplit
    -.An Ozan Yigit Aq oz@sis.yorku.ca
    +.An Ozan Yigit Aq Mt oz@sis.yorku.ca
     and
    -.An Richard A. O'Keefe Aq ok@goanna.cs.rmit.OZ.AU .
    +.An Richard A. O'Keefe Aq Mt ok@goanna.cs.rmit.OZ.AU .
     .Pp
     GNU-m4 compatibility extensions by
    -.An Marc Espie Aq espie@cvs.openbsd.org .
    +.An Marc Espie Aq Mt espie@cvs.openbsd.org .
    diff --git a/usr.bin/m4/mdef.h b/usr.bin/m4/mdef.h
    index 7788ef38c..b05f27673 100644
    --- a/usr.bin/m4/mdef.h
    +++ b/usr.bin/m4/mdef.h
    @@ -1,5 +1,5 @@
     /*	$OpenBSD: mdef.h,v 1.29 2006/03/20 20:27:45 espie Exp $	*/
    -/*	$NetBSD: mdef.h,v 1.14 2011/03/05 16:37:50 christos Exp $	*/
    +/*	$NetBSD: mdef.h,v 1.15 2013/10/18 20:19:36 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -127,8 +127,12 @@
     #define ALL             1
     #define TOP             0
      
    -#define TRUE            1
    -#define FALSE           0
    +#ifndef TRUE
    +#define TRUE	1
    +#endif
    +#ifndef FALSE
    +#define FALSE	0
    +#endif
     #define cycle           for(;;)
     
     /*
    diff --git a/usr.bin/make/Makefile.bak b/usr.bin/make/Makefile.bak
    deleted file mode 100644
    index fe2f61363..000000000
    --- a/usr.bin/make/Makefile.bak
    +++ /dev/null
    @@ -1,71 +0,0 @@
    -#	$NetBSD: Makefile,v 1.55 2011/08/14 13:06:09 christos Exp $
    -#	@(#)Makefile	5.2 (Berkeley) 12/28/90
    -
    -PROG=	make
    -SRCS=	arch.c buf.c compat.c cond.c dir.c for.c hash.c job.c main.c \
    -	make.c parse.c str.c suff.c targ.c trace.c var.c util.c 
    -SRCS+=  strlist.c
    -SRCS+=  make_malloc.c
    -SRCS+=	lstAppend.c lstAtEnd.c lstAtFront.c lstClose.c lstConcat.c \
    -	lstDatum.c lstDeQueue.c lstDestroy.c lstDupl.c lstEnQueue.c \
    -	lstFind.c lstFindFrom.c lstFirst.c lstForEach.c lstForEachFrom.c \
    -	lstInit.c lstInsert.c lstIsAtEnd.c lstIsEmpty.c lstLast.c \
    -	lstMember.c lstNext.c lstOpen.c lstRemove.c lstReplace.c lstSucc.c
    -SRCS += lstPrev.c
    -
    -# let people experiment for a bit
    -USE_META ?= no
    -.if ${USE_META:tl} != "no"
    -SRCS+=	meta.c
    -CPPFLAGS+= -DUSE_META
    -FILEMON_H ?= ${.CURDIR:H:H}/sys/dev/filemon/filemon.h
    -.if exists(${FILEMON_H}) && ${FILEMON_H:T} == "filemon.h"
    -COPTS.meta.c += -DHAVE_FILEMON_H -I${FILEMON_H:H}
    -.endif
    -.endif
    -
    -# For MINIX
    -CPPFLAGS+=	-DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP \
    -		-DHAVE_STRFTIME -DHAVE_VSNPRINTF -DUSE_SELECT
    -
    -# Gross hack, but we assume i386 everywhere
    -.if ${MACHINE_ARCH} == "i686"
    -MACHINE_ARCH=i386
    -.endif
    -.if $(MACHINE) == "i686"
    -MACHINE=i386
    -.endif
    -CPPFLAGS+= -DTARGET_MACHINE=\"${MACHINE}\" \
    -		-DTARGET_MACHINE_ARCH=\"${MACHINE_ARCH}\" \
    -		-DMAKE_MACHINE=\"${MACHINE}\" \
    -		-DMAKE_MACHINE_ARCH=\"${MACHINE_ARCH}\"
    -
    -
    -.PATH:	${.CURDIR}/lst.lib
    -.if make(install)
    -SUBDIR=	PSD.doc
    -.endif
    -.if make(obj) || make(clean)
    -SUBDIR+= unit-tests
    -.endif
    -
    -.include 
    -.include 
    -
    -.ifdef TOOLDIR
    -CPPFLAGS+= -DMAKE_NATIVE
    -COPTS.var.c += -Wno-cast-qual
    -COPTS.job.c += -Wno-format-nonliteral
    -COPTS.parse.c += -Wno-format-nonliteral
    -COPTS.var.c += -Wno-format-nonliteral
    -
    -# this is a native netbsd build, 
    -# use libutil rather than the local emalloc etc.
    -CPPFLAGS+= -DUSE_EMALLOC
    -LDADD+=-lutil
    -DPADD+=${LIBUTIL}
    -.endif
    -
    -# A simple unit-test driver to help catch regressions
    -accept test:
    -	cd ${.CURDIR}/unit-tests && ${.MAKE} -r -m / TEST_MAKE=${TEST_MAKE:U${.OBJDIR}/${PROG:T}} ${.TARGET}
    diff --git a/usr.bin/make/compat.c b/usr.bin/make/compat.c
    index de900060b..a90fc7b20 100644
    --- a/usr.bin/make/compat.c
    +++ b/usr.bin/make/compat.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: compat.c,v 1.90 2012/10/07 19:17:31 sjg Exp $	*/
    +/*	$NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
    @@ -70,14 +70,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: compat.c,v 1.90 2012/10/07 19:17:31 sjg Exp $";
    +static char rcsid[] = "$NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)compat.c	8.2 (Berkeley) 3/19/94";
     #else
    -__RCSID("$NetBSD: compat.c,v 1.90 2012/10/07 19:17:31 sjg Exp $");
    +__RCSID("$NetBSD: compat.c,v 1.93 2013/09/02 19:26:42 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -329,18 +329,23 @@ again:
     	 * We need to pass the command off to the shell, typically
     	 * because the command contains a "meta" character.
     	 */
    -	static const char *shargv[4];
    +	static const char *shargv[5];
    +	int shargc;
     
    -	shargv[0] = shellPath;
    +	shargc = 0;
    +	shargv[shargc++] = shellPath;
     	/*
     	 * The following work for any of the builtin shell specs.
     	 */
    +	if (errCheck && shellErrFlag) {
    +	    shargv[shargc++] = shellErrFlag;
    +	}
     	if (DEBUG(SHELL))
    -		shargv[1] = "-xc";
    +		shargv[shargc++] = "-xc";
     	else
    -		shargv[1] = "-c";
    -	shargv[2] = cmd;
    -	shargv[3] = NULL;
    +		shargv[shargc++] = "-c";
    +	shargv[shargc++] = cmd;
    +	shargv[shargc++] = NULL;
     	av = shargv;
     	argc = 0;
     	bp = NULL;
    @@ -374,7 +379,6 @@ again:
     	Fatal("Could not fork");
         }
         if (cpid == 0) {
    -	Check_Cwd(av);
     	Var_ExportVars();
     #ifdef USE_META
     	if (useMeta) {
    diff --git a/usr.bin/make/cond.c b/usr.bin/make/cond.c
    index 6d0b965e6..a1c6705df 100644
    --- a/usr.bin/make/cond.c
    +++ b/usr.bin/make/cond.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: cond.c,v 1.64 2012/06/12 19:21:50 joerg Exp $	*/
    +/*	$NetBSD: cond.c,v 1.67 2012/11/03 13:59:27 christos Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
    @@ -70,14 +70,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: cond.c,v 1.64 2012/06/12 19:21:50 joerg Exp $";
    +static char rcsid[] = "$NetBSD: cond.c,v 1.67 2012/11/03 13:59:27 christos Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)cond.c	8.2 (Berkeley) 1/2/94";
     #else
    -__RCSID("$NetBSD: cond.c,v 1.64 2012/06/12 19:21:50 joerg Exp $");
    +__RCSID("$NetBSD: cond.c,v 1.67 2012/11/03 13:59:27 christos Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -1227,7 +1227,8 @@ do_Cond_EvalExpression(Boolean *value)
     int
     Cond_Eval(char *line)
     {
    -    #define	    MAXIF      128	/* maximum depth of .if'ing */
    +#define	    MAXIF      128	/* maximum depth of .if'ing */
    +#define	    MAXIF_BUMP  32	/* how much to grow by */
         enum if_states {
     	IF_ACTIVE,		/* .if or .elif part active */
     	ELSE_ACTIVE,		/* .else part active */
    @@ -1235,7 +1236,8 @@ Cond_Eval(char *line)
     	SKIP_TO_ELSE,           /* has been true, but not seen '.else' */
     	SKIP_TO_ENDIF		/* nothing else to execute */
         };
    -    static enum if_states cond_state[MAXIF + 1] = { IF_ACTIVE };
    +    static enum if_states *cond_state = NULL;
    +    static unsigned int max_if_depth = MAXIF;
     
         const struct If *ifp;
         Boolean 	    isElif;
    @@ -1244,7 +1246,10 @@ Cond_Eval(char *line)
         enum if_states  state;
     
         level = PARSE_FATAL;
    -
    +    if (!cond_state) {
    +	cond_state = bmake_malloc(max_if_depth * sizeof(*cond_state));
    +	cond_state[0] = IF_ACTIVE;
    +    }
         /* skip leading character (the '.') and any whitespace */
         for (line++; *line == ' ' || *line == '\t'; line++)
     	continue;
    @@ -1261,8 +1266,6 @@ Cond_Eval(char *line)
     	    }
     	    /* Return state for previous conditional */
     	    cond_depth--;
    -	    if (cond_depth > MAXIF)
    -		return COND_SKIP;
     	    return cond_state[cond_depth] <= ELSE_ACTIVE ? COND_PARSE : COND_SKIP;
     	}
     
    @@ -1275,8 +1278,6 @@ Cond_Eval(char *line)
     		return COND_PARSE;
     	    }
     
    -	    if (cond_depth > MAXIF)
    -		return COND_SKIP;
     	    state = cond_state[cond_depth];
     	    switch (state) {
     	    case SEARCH_FOR_ELIF:
    @@ -1325,9 +1326,6 @@ Cond_Eval(char *line)
     	    Parse_Error(level, "if-less elif");
     	    return COND_PARSE;
     	}
    -	if (cond_depth > MAXIF)
    -	    /* Error reported when we saw the .if ... */
    -	    return COND_SKIP;
     	state = cond_state[cond_depth];
     	if (state == SKIP_TO_ENDIF || state == ELSE_ACTIVE) {
     	    Parse_Error(PARSE_WARNING, "extra elif");
    @@ -1341,10 +1339,15 @@ Cond_Eval(char *line)
     	}
         } else {
     	/* Normal .if */
    -	if (cond_depth >= MAXIF) {
    -	    cond_depth++;
    -	    Parse_Error(PARSE_FATAL, "Too many nested if's. %d max.", MAXIF);
    -	    return COND_SKIP;
    +	if (cond_depth + 1 >= max_if_depth) {
    +	    /*
    +	     * This is rare, but not impossible.
    +	     * In meta mode, dirdeps.mk (only runs at level 0)
    +	     * can need more than the default.
    +	     */
    +	    max_if_depth += MAXIF_BUMP;
    +	    cond_state = bmake_realloc(cond_state, max_if_depth *
    +		sizeof(*cond_state));
     	}
     	state = cond_state[cond_depth];
     	cond_depth++;
    diff --git a/usr.bin/make/dir.c b/usr.bin/make/dir.c
    index 1c56ea3e8..7b12769c2 100644
    --- a/usr.bin/make/dir.c
    +++ b/usr.bin/make/dir.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: dir.c,v 1.65 2012/06/12 19:21:50 joerg Exp $	*/
    +/*	$NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
    @@ -70,14 +70,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: dir.c,v 1.65 2012/06/12 19:21:50 joerg Exp $";
    +static char rcsid[] = "$NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)dir.c	8.2 (Berkeley) 1/2/94";
     #else
    -__RCSID("$NetBSD: dir.c,v 1.65 2012/06/12 19:21:50 joerg Exp $");
    +__RCSID("$NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -145,6 +145,7 @@ __RCSID("$NetBSD: dir.c,v 1.65 2012/06/12 19:21:50 joerg Exp $");
     #include "make.h"
     #include "hash.h"
     #include "dir.h"
    +#include "job.h"
     
     /*
      *	A search path consists of a Lst of Path structures. A Path structure
    @@ -1463,9 +1464,11 @@ Dir_MTime(GNode *gn, Boolean recheck)
     			 * so that we give that to the compiler.
     			 */
     			gn->path = bmake_strdup(fullName);
    -			fprintf(stdout,
    -				"%s: ignoring stale %s for %s, found %s\n",
    -				progname, makeDependfile, gn->name, fullName);
    +			if (!Job_RunTarget(".STALE", gn->fname))
    +			    fprintf(stdout,
    +				"%s: %s, %d: ignoring stale %s for %s, "
    +				"found %s\n", progname, gn->fname, gn->lineno,
    +				makeDependfile, gn->name, fullName);
     		    }
     		}
     	    }
    diff --git a/usr.bin/make/hash.c b/usr.bin/make/hash.c
    index a22e2f2aa..ed2364443 100644
    --- a/usr.bin/make/hash.c
    +++ b/usr.bin/make/hash.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $	*/
    +/*	$NetBSD: hash.c,v 1.20 2013/11/14 00:27:05 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
    @@ -70,14 +70,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $";
    +static char rcsid[] = "$NetBSD: hash.c,v 1.20 2013/11/14 00:27:05 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)hash.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: hash.c,v 1.19 2009/01/24 10:59:09 dsl Exp $");
    +__RCSID("$NetBSD: hash.c,v 1.20 2013/11/14 00:27:05 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -221,6 +221,9 @@ Hash_FindEntry(Hash_Table *t, const char *key)
     	unsigned h;
     	const char *p;
     
    +	if (t == NULL || t->bucketPtr == NULL) {
    +	    return NULL;
    +	}
     	for (h = 0, p = key; *p;)
     		h = (h << 5) - h + *p++;
     	p = key;
    diff --git a/usr.bin/make/job.c b/usr.bin/make/job.c
    index 60d0b9078..43df92375 100644
    --- a/usr.bin/make/job.c
    +++ b/usr.bin/make/job.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: job.c,v 1.163 2012/07/03 21:03:40 sjg Exp $	*/
    +/*	$NetBSD: job.c,v 1.176 2013/08/04 16:48:15 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
    @@ -70,14 +70,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: job.c,v 1.163 2012/07/03 21:03:40 sjg Exp $";
    +static char rcsid[] = "$NetBSD: job.c,v 1.176 2013/08/04 16:48:15 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)job.c	8.2 (Berkeley) 3/19/94";
     #else
    -__RCSID("$NetBSD: job.c,v 1.163 2012/07/03 21:03:40 sjg Exp $");
    +__RCSID("$NetBSD: job.c,v 1.176 2013/08/04 16:48:15 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -139,6 +139,7 @@ __RCSID("$NetBSD: job.c,v 1.163 2012/07/03 21:03:40 sjg Exp $");
     #include 
     #include 
     
    +#include 
     #include 
     #include 
     #ifndef USE_SELECT
    @@ -299,6 +300,7 @@ static Shell *commandShell = &shells[DEFSHELL_INDEX]; /* this is the shell to
     const char *shellPath = NULL,		  	  /* full pathname of
     						   * executable image */
                *shellName = NULL;		      	  /* last component of shell */
    +char *shellErrFlag = NULL;
     static const char *shellArgv = NULL;		  /* Custom shell args */
     
     
    @@ -330,7 +332,7 @@ static Job childExitJob;	/* child exit pseudo-job */
     
     #define TARG_FMT  "%s %s ---\n" /* Default format */
     #define MESSAGE(fp, gn) \
    -	if (maxJobs != 1) \
    +	if (maxJobs != 1 && targPrefix && *targPrefix) \
     	    (void)fprintf(fp, TARG_FMT, targPrefix, gn->name)
     
     static sigset_t caught_signals;	/* Set of signals we handle */
    @@ -400,6 +402,15 @@ JobCreatePipe(Job *job, int minfd)
         if (pipe(job->jobPipe) == -1)
     	Punt("Cannot create pipe: %s", strerror(errno));
     
    +    for (i = 0; i < 2; i++) {
    +       /* Avoid using low numbered fds */
    +       fd = fcntl(job->jobPipe[i], F_DUPFD, minfd);
    +       if (fd != -1) {
    +	   close(job->jobPipe[i]);
    +	   job->jobPipe[i] = fd;
    +       }
    +    }
    +    
         /* Set close-on-exec flag for both */
         (void)fcntl(job->jobPipe[0], F_SETFD, 1);
         (void)fcntl(job->jobPipe[1], F_SETFD, 1);
    @@ -412,15 +423,6 @@ JobCreatePipe(Job *job, int minfd)
          */
         fcntl(job->jobPipe[0], F_SETFL, 
     	fcntl(job->jobPipe[0], F_GETFL, 0) | O_NONBLOCK);
    -
    -    for (i = 0; i < 2; i++) {
    -       /* Avoid using low numbered fds */
    -       fd = fcntl(job->jobPipe[i], F_DUPFD, minfd);
    -       if (fd != -1) {
    -	   close(job->jobPipe[i]);
    -	   job->jobPipe[i] = fd;
    -       }
    -    }
     }
     
     /*-
    @@ -477,7 +479,8 @@ JobCondPassSig(int signo)
     static void
     JobChildSig(int signo MAKE_ATTR_UNUSED)
     {
    -    write(childExitJob.outPipe, CHILD_EXIT, 1);
    +    while (write(childExitJob.outPipe, CHILD_EXIT, 1) == -1 && errno == EAGAIN)
    +	continue;
     }
     
     
    @@ -504,7 +507,9 @@ JobContinueSig(int signo MAKE_ATTR_UNUSED)
          * Defer sending to SIGCONT to our stopped children until we return
          * from the signal handler.
          */
    -    write(childExitJob.outPipe, DO_JOB_RESUME, 1);
    +    while (write(childExitJob.outPipe, DO_JOB_RESUME, 1) == -1 &&
    +	errno == EAGAIN)
    +	continue;
     }
     
     /*-
    @@ -675,7 +680,6 @@ JobPrintCommand(void *cmdp, void *jobp)
         char	  *escCmd = NULL;    /* Command with quotes/backticks escaped */
         char     	  *cmd = (char *)cmdp;
         Job           *job = (Job *)jobp;
    -    char	  *cp, *tmp;
         int           i, j;
     
         noSpecials = NoExecute(job->node);
    @@ -847,11 +851,6 @@ JobPrintCommand(void *cmdp, void *jobp)
     	    job->flags |= JOB_TRACED;
         }
         
    -    if ((cp = Check_Cwd_Cmd(cmd)) != NULL) {
    -	    DBPRINTF("test -d %s && ", cp);
    -	    DBPRINTF("cd %s\n", cp);
    -    }
    -
         DBPRINTF(cmdTemplate, cmd);
         free(cmdStart);
         if (escCmd)
    @@ -871,10 +870,6 @@ JobPrintCommand(void *cmdp, void *jobp)
         if (shutUp && commandShell->hasEchoCtl) {
     	DBPRINTF("%s\n", commandShell->echoOn);
         }
    -    if (cp != NULL) {
    -	    DBPRINTF("test -d %s && ", cp);
    -	    DBPRINTF("cd %s\n", Var_Value(".OBJDIR", VAR_GLOBAL, &tmp));
    -    }
         return 0;
     }
     
    @@ -1171,7 +1166,8 @@ Job_Touch(GNode *gn, Boolean silent)
     		 */
     		if (read(streamID, &c, 1) == 1) {
     		    (void)lseek(streamID, (off_t)0, SEEK_SET);
    -		    (void)write(streamID, &c, 1);
    +		    while (write(streamID, &c, 1) == -1 && errno == EAGAIN)
    +			continue;
     		}
     
     		(void)close(streamID);
    @@ -1237,8 +1233,10 @@ Job_CheckCommands(GNode *gn, void (*abortProc)(const char *, ...))
     	    static const char msg[] = ": don't know how to make";
     
     	    if (gn->flags & FROM_DEPEND) {
    -		fprintf(stdout, "%s: ignoring stale %s for %s\n",
    -			progname, makeDependfile, gn->name);
    +		if (!Job_RunTarget(".STALE", gn->fname))
    +		    fprintf(stdout, "%s: %s, %d: ignoring stale %s for %s\n",
    +			progname, gn->fname, gn->lineno, makeDependfile,
    +			gn->name);
     		return TRUE;
     	    }
     
    @@ -1381,11 +1379,13 @@ JobExec(Job *job, char **argv)
     	 * we can kill it and all its descendants in one fell swoop,
     	 * by killing its process family, but not commit suicide.
     	 */
    +#if defined(MAKE_NATIVE) || defined(HAVE_SETPGID)
     #if defined(SYSV) || defined(__minix)
     	/* XXX: dsl - I'm sure this should be setpgrp()... */
     	(void)setsid();
     #else
     	(void)setpgid(0, getpid());
    +#endif
     #endif
     
     	Var_ExportVars();
    @@ -2051,31 +2051,45 @@ Job_CatchOutput(void)
         (void)fflush(stdout);
     
         /* The first fd in the list is the job token pipe */
    -    nready = poll(fds + 1 - wantToken, nfds - 1 + wantToken, POLL_MSEC);
    +    do {
    +	nready = poll(fds + 1 - wantToken, nfds - 1 + wantToken, POLL_MSEC);
    +    } while (nready < 0 && errno == EINTR);
     
    -    if (nready < 0 || readyfd(&childExitJob)) {
    +    if (nready < 0)
    +	Punt("poll: %s", strerror(errno));
    +
    +    if (nready > 0 && readyfd(&childExitJob)) {
     	char token = 0;
    -	nready -= 1;
    -	(void)read(childExitJob.inPipe, &token, 1);
    -	if (token == DO_JOB_RESUME[0])
    -	    /* Complete relay requested from our SIGCONT handler */
    -	    JobRestartJobs();
    -	Job_CatchChildren();
    +	ssize_t count;
    +	count = read(childExitJob.inPipe, &token, 1);
    +	switch (count) {
    +	case 0:
    +	    Punt("unexpected eof on token pipe");
    +	case -1:
    +	    Punt("token pipe read: %s", strerror(errno));
    +	case 1:
    +	    if (token == DO_JOB_RESUME[0])
    +		/* Complete relay requested from our SIGCONT handler */
    +		JobRestartJobs();
    +	    break;
    +	default:
    +	    abort();
    +	}
    +	--nready;
         }
     
    -    if (nready <= 0)
    -	return;
    -
    -    if (wantToken && readyfd(&tokenWaitJob))
    -	nready--;
    +    Job_CatchChildren();
    +    if (nready == 0)
    +	    return;
     
         for (i = 2; i < nfds; i++) {
     	if (!fds[i].revents)
     	    continue;
     	job = jobfds[i];
    -	if (job->job_state != JOB_ST_RUNNING)
    -	    continue;
    -	JobDoOutput(job, FALSE);
    +	if (job->job_state == JOB_ST_RUNNING)
    +	    JobDoOutput(job, FALSE);
    +	if (--nready == 0)
    +		return;
         }
     }
     
    @@ -2123,6 +2137,24 @@ Shell_Init(void)
         if (commandShell->echo == NULL) {
     	commandShell->echo = "";
         }
    +    if (commandShell->hasErrCtl && *commandShell->exit) {
    +	if (shellErrFlag &&
    +	    strcmp(commandShell->exit, &shellErrFlag[1]) != 0) {
    +	    free(shellErrFlag);
    +	    shellErrFlag = NULL;
    +	}
    +	if (!shellErrFlag) {
    +	    int n = strlen(commandShell->exit) + 2;
    +
    +	    shellErrFlag = bmake_malloc(n);
    +	    if (shellErrFlag) {
    +		snprintf(shellErrFlag, n, "-%s", commandShell->exit);
    +	    }
    +	}
    +    } else if (shellErrFlag) {
    +	free(shellErrFlag);
    +	shellErrFlag = NULL;
    +    }
     }
     
     /*-
    @@ -2166,8 +2198,7 @@ Job_SetPrefix(void)
     void
     Job_Init(void)
     {
    -    GNode         *begin;     /* node for commands to do at the very start */
    -
    +    Job_SetPrefix();
         /* Allocate space for all the job info */
         job_table = bmake_malloc(maxJobs * sizeof *job_table);
         memset(job_table, 0, maxJobs * sizeof *job_table);
    @@ -2243,15 +2274,7 @@ Job_Init(void)
         ADDSIG(SIGCONT, JobContinueSig)
     #undef ADDSIG
     
    -    begin = Targ_FindNode(".BEGIN", TARG_NOCREATE);
    -
    -    if (begin != NULL) {
    -	JobRun(begin);
    -	if (begin->made == ERROR) {
    -	    PrintOnError(begin, "\n\nStop.");
    -	    exit(1);
    -	}
    -    }
    +    (void)Job_RunTarget(".BEGIN", NULL);
         postCommands = Targ_FindNode(".END", TARG_CREATE);
     }
     
    @@ -2477,6 +2500,8 @@ Job_ParseShell(char *line)
     	    commandShell = bmake_malloc(sizeof(Shell));
     	    *commandShell = newShell;
     	}
    +	/* this will take care of shellErrFlag */
    +	Shell_Init();
         }
     
         if (commandShell->echoOn && commandShell->echoOff) {
    @@ -2787,7 +2812,8 @@ JobTokenAdd(void)
         if (DEBUG(JOB))
     	fprintf(debug_file, "(%d) aborting %d, deposit token %c\n",
     	    getpid(), aborting, JOB_TOKENS[aborting]);
    -    write(tokenWaitJob.outPipe, &tok, 1);
    +    while (write(tokenWaitJob.outPipe, &tok, 1) == -1 && errno == EAGAIN)
    +	continue;
     }
     
     /*-
    @@ -2808,6 +2834,8 @@ Job_ServerStart(int max_tokens, int jp_0, int jp_1)
     	/* Pipe passed in from parent */
     	tokenWaitJob.inPipe = jp_0;
     	tokenWaitJob.outPipe = jp_1;
    +	(void)fcntl(jp_0, F_SETFD, 1);
    +	(void)fcntl(jp_1, F_SETFD, 1);
     	return;
         }
     
    @@ -2900,13 +2928,15 @@ Job_TokenWithdraw(void)
     	while (read(tokenWaitJob.inPipe, &tok1, 1) == 1)
     	    continue;
     	/* And put the stopper back */
    -	write(tokenWaitJob.outPipe, &tok, 1);
    +	while (write(tokenWaitJob.outPipe, &tok, 1) == -1 && errno == EAGAIN)
    +	    continue;
     	Fatal("A failure has been detected in another branch of the parallel make");
         }
     
         if (count == 1 && jobTokensRunning == 0)
     	/* We didn't want the token really */
    -	write(tokenWaitJob.outPipe, &tok, 1);
    +	while (write(tokenWaitJob.outPipe, &tok, 1) == -1 && errno == EAGAIN)
    +	    continue;
     
         jobTokensRunning++;
         if (DEBUG(JOB))
    @@ -2914,6 +2944,38 @@ Job_TokenWithdraw(void)
         return TRUE;
     }
     
    +/*-
    + *-----------------------------------------------------------------------
    + * Job_RunTarget --
    + *	Run the named target if found. If a filename is specified, then
    + *	set that to the sources.
    + *
    + * Results:
    + *	None
    + *
    + * Side Effects:
    + * 	exits if the target fails.
    + *
    + *-----------------------------------------------------------------------
    + */
    +Boolean
    +Job_RunTarget(const char *target, const char *fname) {
    +    GNode *gn = Targ_FindNode(target, TARG_NOCREATE);
    +
    +    if (gn == NULL)
    +	return FALSE;
    +
    +    if (fname)
    +	Var_Set(ALLSRC, fname, gn, 0);
    +
    +    JobRun(gn);
    +    if (gn->made == ERROR) {
    +	PrintOnError(gn, "\n\nStop.");
    +	exit(1);
    +    }
    +    return TRUE;
    +}
    +
     #ifdef USE_SELECT
     int
     emul_poll(struct pollfd *fd, int nfd, int timeout)
    diff --git a/usr.bin/make/job.h b/usr.bin/make/job.h
    index 560b70bf7..91e2c8782 100644
    --- a/usr.bin/make/job.h
    +++ b/usr.bin/make/job.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: job.h,v 1.40 2010/09/13 15:36:57 sjg Exp $	*/
    +/*	$NetBSD: job.h,v 1.42 2013/07/05 22:14:56 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
    @@ -243,6 +243,7 @@ typedef struct Shell {
     
     extern const char *shellPath;
     extern const char *shellName;
    +extern char *shellErrFlag;
     
     extern int	jobTokensRunning; /* tokens currently "out" */
     extern int	maxJobs;	/* Max jobs we can run */
    @@ -268,5 +269,6 @@ void Job_TokenReturn(void);
     Boolean Job_TokenWithdraw(void);
     void Job_ServerStart(int, int, int);
     void Job_SetPrefix(void);
    +Boolean Job_RunTarget(const char *, const char *);
     
     #endif /* _JOB_H_ */
    diff --git a/usr.bin/make/lst.lib/lstMember.c b/usr.bin/make/lst.lib/lstMember.c
    index 0ff2ed19d..e9046aca1 100644
    --- a/usr.bin/make/lst.lib/lstMember.c
    +++ b/usr.bin/make/lst.lib/lstMember.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $	*/
    +/*	$NetBSD: lstMember.c,v 1.14 2013/11/14 00:01:28 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -33,14 +33,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $";
    +static char rcsid[] = "$NetBSD: lstMember.c,v 1.14 2013/11/14 00:01:28 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)lstMember.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: lstMember.c,v 1.13 2009/01/23 21:26:30 dsl Exp $");
    +__RCSID("$NetBSD: lstMember.c,v 1.14 2013/11/14 00:01:28 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -58,6 +58,9 @@ Lst_Member(Lst l, void *d)
         List    	  	list = l;
         ListNode	lNode;
     
    +    if (list == NULL) {
    +	return NULL;
    +    }
         lNode = list->firstPtr;
         if (lNode == NULL) {
     	return NULL;
    diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c
    index 071fc87de..dd77a52c2 100644
    --- a/usr.bin/make/main.c
    +++ b/usr.bin/make/main.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: main.c,v 1.203 2012/08/31 07:00:36 sjg Exp $	*/
    +/*	$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -69,7 +69,7 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: main.c,v 1.203 2012/08/31 07:00:36 sjg Exp $";
    +static char rcsid[] = "$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $";
     #else
     #include 
     #ifndef lint
    @@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1989, 1990, 1993\
     #if 0
     static char sccsid[] = "@(#)main.c	8.3 (Berkeley) 3/19/94";
     #else
    -__RCSID("$NetBSD: main.c,v 1.203 2012/08/31 07:00:36 sjg Exp $");
    +__RCSID("$NetBSD: main.c,v 1.225 2013/09/14 15:09:34 matt Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -117,19 +117,21 @@ __RCSID("$NetBSD: main.c,v 1.203 2012/08/31 07:00:36 sjg Exp $");
     #include 
     #include 
     #include 
    -#include 
     #include 
     #ifdef MAKE_NATIVE
    -#include 
    +#include 
     #endif
    +#include 
     #include 
     
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
     #include 
    +#include 
     
     #include "make.h"
     #include "hash.h"
    @@ -165,6 +167,7 @@ Boolean			noRecursiveExecute;	/* -N flag */
     Boolean			keepgoing;	/* -k flag */
     Boolean			queryFlag;	/* -q flag */
     Boolean			touchFlag;	/* -t flag */
    +Boolean			enterFlag;	/* -w flag */
     Boolean			ignoreErrors;	/* -i flag */
     Boolean			beSilent;	/* -s flag */
     Boolean			oldVars;	/* variable substitution style */
    @@ -176,7 +179,6 @@ Boolean			varNoExportEnv;	/* -X flag */
     Boolean			doing_depend;	/* Set while reading .depend */
     static Boolean		jobsRunning;	/* TRUE if the jobs might be running */
     static const char *	tracefile;
    -static char *		Check_Cwd_av(int, char **, int);
     static void		MainParseArgs(int, char **);
     static int		ReadMakefile(const void *, const void *);
     static void		usage(void) MAKE_ATTR_DEAD;
    @@ -187,11 +189,44 @@ char curdir[MAXPATHLEN + 1];		/* Startup directory */
     char *progname;				/* the program name */
     char *makeDependfile;
     pid_t myPid;
    +int makelevel;
     
     Boolean forceJobs = FALSE;
     
     extern Lst parseIncPath;
     
    +/*
    + * For compatibility with the POSIX version of MAKEFLAGS that includes
    + * all the options with out -, convert flags to -f -l -a -g -s.
    + */
    +static char *
    +explode(const char *flags)
    +{
    +    size_t len;
    +    char *nf, *st;
    +    const char *f;
    +
    +    if (flags == NULL)
    +	return NULL;
    +
    +    for (f = flags; *f; f++)
    +	if (!isalpha((unsigned char)*f))
    +	    break;
    +
    +    if (*f)
    +	return bmake_strdup(flags);
    +
    +    len = strlen(flags);
    +    st = nf = bmake_malloc(len * 3 + 1);
    +    while (*flags) {
    +	*nf++ = '-';
    +	*nf++ = *flags++;
    +	*nf++ = ' ';
    +    }
    +    *nf = '\0';
    +    return st;
    +}
    +	    
     static void
     parse_debug_options(const char *argvalue)
     {
    @@ -344,7 +379,7 @@ MainParseArgs(int argc, char **argv)
     	Boolean inOption, dashDash = FALSE;
     	char found_path[MAXPATHLEN + 1];	/* for searching for sys.mk */
     
    -#define OPTFLAGS "BC:D:I:J:NST:V:WXd:ef:ij:km:nqrst"
    +#define OPTFLAGS "BC:D:I:J:NST:V:WXd:ef:ij:km:nqrstw"
     /* Can't actually use getopt(3) because rescanning is not portable */
     
     	getopt_def = OPTFLAGS;
    @@ -552,6 +587,10 @@ rearg:
     			touchFlag = TRUE;
     			Var_Append(MAKEFLAGS, "-t", VAR_GLOBAL);
     			break;
    +		case 'w':
    +			enterFlag = TRUE;
    +			Var_Append(MAKEFLAGS, "-w", VAR_GLOBAL);
    +			break;
     		case '-':
     			dashDash = TRUE;
     			break;
    @@ -742,7 +781,7 @@ MakeMode(const char *mode)
     	}
     #if USE_META
     	if (strstr(mode, "meta"))
    -	    meta_init(mode);
    +	    meta_mode_init(mode);
     #endif
         }
         if (mp)
    @@ -772,7 +811,7 @@ main(int argc, char **argv)
     	Lst targs;	/* target nodes to create -- passed to Make_Init */
     	Boolean outOfDate = FALSE; 	/* FALSE if all targets up to date */
     	struct stat sb, sa;
    -	char *p1, *path, *pwd;
    +	char *p1, *path;
     	char mdpath[MAXPATHLEN];
         	const char *machine = getenv("MACHINE");
     	const char *machine_arch = getenv("MACHINE_ARCH");
    @@ -783,9 +822,7 @@ main(int argc, char **argv)
     	static char defsyspath[] = _PATH_DEFSYSPATH;
     	char found_path[MAXPATHLEN + 1];	/* for searching for sys.mk */
     	struct timeval rightnow;		/* to initialize random seed */
    -#ifdef MAKE_NATIVE
     	struct utsname utsname;
    -#endif
     
     	/* default to writing debug to stderr */
     	debug_file = stderr;
    @@ -804,7 +841,7 @@ main(int argc, char **argv)
     		progname++;
     	else
     		progname = argv[0];
    -#if defined(RLIMIT_NOFILE) && !defined(__minix)
    +#if !defined(__minix) && (defined(MAKE_NATIVE) || (defined(HAVE_SETRLIMIT) && defined(RLIMIT_NOFILE)))
     	/*
     	 * get rid of resource limit on file descriptors
     	 */
    @@ -818,6 +855,12 @@ main(int argc, char **argv)
     	}
     #endif
     
    +	if (uname(&utsname) == -1) {
    +	    (void)fprintf(stderr, "%s: uname failed (%s).\n", progname,
    +		strerror(errno));
    +	    exit(2);
    +	}
    +
     	/*
     	 * Get the name of this type of MACHINE from utsname
     	 * so we can share an executable for similar machines.
    @@ -828,11 +871,6 @@ main(int argc, char **argv)
     	 */
     	if (!machine) {
     #ifdef MAKE_NATIVE
    -	    if (uname(&utsname) == -1) {
    -		(void)fprintf(stderr, "%s: uname failed (%s).\n", progname,
    -		    strerror(errno));
    -		exit(2);
    -	    }
     	    machine = utsname.machine;
     #else
     #ifdef MAKE_MACHINE
    @@ -844,6 +882,20 @@ main(int argc, char **argv)
     	}
     
     	if (!machine_arch) {
    +#if defined(MAKE_NATIVE) && !defined(__minix)
    +	    static char machine_arch_buf[sizeof(utsname.machine)];
    +	    const int mib[2] = { CTL_HW, HW_MACHINE_ARCH };
    +	    size_t len = sizeof(machine_arch_buf);
    +                
    +	    if (sysctl(mib, __arraycount(mib), machine_arch_buf,
    +		    &len, NULL, 0) < 0) {
    +		(void)fprintf(stderr, "%s: sysctl failed (%s).\n", progname,
    +		    strerror(errno));
    +		exit(2);
    +	    }
    +
    +	    machine_arch = machine_arch_buf;
    +#else
     #ifndef MACHINE_ARCH
     #ifdef MAKE_MACHINE_ARCH
                 machine_arch = MAKE_MACHINE_ARCH;
    @@ -852,6 +904,7 @@ main(int argc, char **argv)
     #endif
     #else
     	    machine_arch = MACHINE_ARCH;
    +#endif
     #endif
     	}
     
    @@ -862,6 +915,7 @@ main(int argc, char **argv)
     	 */
     	Var_Init();		/* Initialize the lists of variables for
     				 * parsing arguments */
    +	Var_Set(".MAKE.OS", utsname.sysname, VAR_GLOBAL, 0);
     	Var_Set("MACHINE", machine, VAR_GLOBAL, 0);
     	Var_Set("MACHINE_ARCH", machine_arch, VAR_GLOBAL, 0);
     #ifdef MAKE_VERSION
    @@ -935,32 +989,43 @@ main(int argc, char **argv)
     	Var_Set(MAKEOVERRIDES, "", VAR_GLOBAL, 0);
     	Var_Set("MFLAGS", "", VAR_GLOBAL, 0);
     	Var_Set(".ALLTARGETS", "", VAR_GLOBAL, 0);
    +	/* some makefiles need to know this */
    +	Var_Set(MAKE_LEVEL ".ENV", MAKE_LEVEL_ENV, VAR_CMD, 0);
     
     	/*
     	 * Set some other useful macros
     	 */
     	{
    -	    char tmp[64];
    -	    const char *ep;
    +	    char tmp[64], *ep;
     
    -	    if (!(ep = getenv(MAKE_LEVEL))) {
    -		ep = "0";
    -	    }
    -	    Var_Set(MAKE_LEVEL, ep, VAR_GLOBAL, 0);
    +	    makelevel = ((ep = getenv(MAKE_LEVEL_ENV)) && *ep) ? atoi(ep) : 0;
    +	    if (makelevel < 0)
    +		makelevel = 0;
    +	    snprintf(tmp, sizeof(tmp), "%d", makelevel);
    +	    Var_Set(MAKE_LEVEL, tmp, VAR_GLOBAL, 0);
     	    snprintf(tmp, sizeof(tmp), "%u", myPid);
     	    Var_Set(".MAKE.PID", tmp, VAR_GLOBAL, 0);
     	    snprintf(tmp, sizeof(tmp), "%u", getppid());
     	    Var_Set(".MAKE.PPID", tmp, VAR_GLOBAL, 0);
     	}
    -	Job_SetPrefix();
    +	if (makelevel > 0) {
    +		char pn[1024];
    +		snprintf(pn, sizeof(pn), "%s[%d]", progname, makelevel);
    +		progname = bmake_strdup(pn);
    +	}
     
    +#ifdef USE_META
    +	meta_init();
    +#endif
     	/*
     	 * First snag any flags out of the MAKE environment variable.
     	 * (Note this is *not* MAKEFLAGS since /bin/make uses that and it's
     	 * in a different format).
     	 */
     #ifdef POSIX
    -	Main_ParseArgLine(getenv("MAKEFLAGS"));
    +	p1 = explode(getenv("MAKEFLAGS"));
    +	Main_ParseArgLine(p1);
    +	free(p1);
     #else
     	Main_ParseArgLine(getenv("MAKE"));
     #endif
    @@ -977,6 +1042,9 @@ main(int argc, char **argv)
     
     	MainParseArgs(argc, argv);
     
    +	if (enterFlag)
    +		printf("%s: Entering directory `%s'\n", progname, curdir);
    +
     	/*
     	 * Verify that cwd is sane.
     	 */
    @@ -997,17 +1065,23 @@ main(int argc, char **argv)
     	 * So, to stop it breaking this case only, we ignore PWD if
     	 * MAKEOBJDIRPREFIX is set or MAKEOBJDIR contains a transform.
     	 */
    -	if (!ignorePWD &&
    -	    (pwd = getenv("PWD")) != NULL &&
    -	    getenv("MAKEOBJDIRPREFIX") == NULL) {
    -		const char *makeobjdir = getenv("MAKEOBJDIR");
    +#ifndef NO_PWD_OVERRIDE
    +	if (!ignorePWD) {
    +		char *pwd;
     
    -		if (makeobjdir == NULL || !strchr(makeobjdir, '$')) {
    -			if (stat(pwd, &sb) == 0 && sa.st_ino == sb.st_ino &&
    -			    sa.st_dev == sb.st_dev)
    -				(void)strncpy(curdir, pwd, MAXPATHLEN);
    +		if ((pwd = getenv("PWD")) != NULL &&
    +		    getenv("MAKEOBJDIRPREFIX") == NULL) {
    +			const char *makeobjdir = getenv("MAKEOBJDIR");
    +
    +			if (makeobjdir == NULL || !strchr(makeobjdir, '$')) {
    +				if (stat(pwd, &sb) == 0 &&
    +				    sa.st_ino == sb.st_ino &&
    +				    sa.st_dev == sb.st_dev)
    +					(void)strncpy(curdir, pwd, MAXPATHLEN);
    +			}
     		}
     	}
    +#endif
     	Var_Set(".CURDIR", curdir, VAR_GLOBAL, 0);
     
     	/*
    @@ -1165,8 +1239,6 @@ main(int argc, char **argv)
     		jp_0, jp_1, maxJobs, maxJobTokens, compatMake);
     
     	Main_ExportMAKEFLAGS(TRUE);	/* initial export */
    -
    -	Check_Cwd_av(0, NULL, 0);	/* initialize it */
     	
     
     	/*
    @@ -1295,6 +1367,9 @@ main(int argc, char **argv)
     
     	Trace_Log(MAKEEND, 0);
     
    +	if (enterFlag)
    +		printf("%s: Leaving directory `%s'\n", progname, curdir);
    +
     	Suff_End();
             Targ_End();
     	Arch_End();
    @@ -1327,7 +1402,7 @@ ReadMakefile(const void *p, const void *q MAKE_ATTR_UNUSED)
     
     	if (!strcmp(fname, "-")) {
     		Parse_File(NULL /*stdin*/, -1);
    -		Var_Set("MAKEFILE", "", VAR_GLOBAL, 0);
    +		Var_Set("MAKEFILE", "", VAR_INTERNAL, 0);
     	} else {
     		/* if we've chdir'd, rebuild the path name */
     		if (strcmp(curdir, objdir) && *fname != '/') {
    @@ -1376,7 +1451,7 @@ ReadMakefile(const void *p, const void *q MAKE_ATTR_UNUSED)
     		 */
     found:
     		if (!doing_depend)
    -			Var_Set("MAKEFILE", fname, VAR_GLOBAL, 0);
    +			Var_Set("MAKEFILE", fname, VAR_INTERNAL, 0);
     		Parse_File(fname, fd);
     	}
     	free(path);
    @@ -1384,190 +1459,6 @@ found:
     }
     
     
    -/*
    - * If MAKEOBJDIRPREFIX is in use, make ends up not in .CURDIR
    - * in situations that would not arrise with ./obj (links or not).
    - * This tends to break things like:
    - *
    - * build:
    - * 	${MAKE} includes
    - *
    - * This function spots when ${.MAKE:T} or ${.MAKE} is a command (as
    - * opposed to an argument) in a command line and if so returns
    - * ${.CURDIR} so caller can chdir() so that the assumptions made by
    - * the Makefile hold true.
    - *
    - * If ${.MAKE} does not contain any '/', then ${.MAKE:T} is skipped.
    - *
    - * The chdir() only happens in the child process, and does nothing if
    - * MAKEOBJDIRPREFIX and MAKEOBJDIR are not in the environment so it
    - * should not break anything.  Also if NOCHECKMAKECHDIR is set we
    - * do nothing - to ensure historic semantics can be retained.
    - */
    -static int  Check_Cwd_Off = 0;
    -
    -static char *
    -Check_Cwd_av(int ac, char **av, int copy)
    -{
    -    static char *make[4];
    -    static char *cur_dir = NULL;
    -    char **mp;
    -    char *cp;
    -    int is_cmd, next_cmd;
    -    int i;
    -    int n;
    -
    -    if (Check_Cwd_Off) {
    -	if (DEBUG(CWD))
    -	    fprintf(debug_file, "check_cwd: check is off.\n");
    -	return NULL;
    -    }
    -    
    -    if (make[0] == NULL) {
    -	if (Var_Exists("NOCHECKMAKECHDIR", VAR_GLOBAL)) {
    -	    Check_Cwd_Off = 1;
    -	    if (DEBUG(CWD))
    -		fprintf(debug_file, "check_cwd: turning check off.\n");
    -	    return NULL;
    -	}
    -	    
    -        make[1] = Var_Value(".MAKE", VAR_GLOBAL, &cp);
    -        if ((make[0] = strrchr(make[1], '/')) == NULL) {
    -            make[0] = make[1];
    -            make[1] = NULL;
    -        } else
    -            ++make[0];
    -        make[2] = NULL;
    -        cur_dir = Var_Value(".CURDIR", VAR_GLOBAL, &cp);
    -    }
    -    if (ac == 0 || av == NULL) {
    -	if (DEBUG(CWD))
    -	    fprintf(debug_file, "check_cwd: empty command.\n");
    -        return NULL;			/* initialization only */
    -    }
    -
    -    if (getenv("MAKEOBJDIR") == NULL &&
    -        getenv("MAKEOBJDIRPREFIX") == NULL) {
    -	if (DEBUG(CWD))
    -	    fprintf(debug_file, "check_cwd: no obj dirs.\n");
    -        return NULL;
    -    }
    -
    -    
    -    next_cmd = 1;
    -    for (i = 0; i < ac; ++i) {
    -	is_cmd = next_cmd;
    -
    -	n = strlen(av[i]);
    -	cp = &(av[i])[n - 1];
    -	if (strspn(av[i], "|&;") == (size_t)n) {
    -	    next_cmd = 1;
    -	    continue;
    -	} else if (*cp == ';' || *cp == '&' || *cp == '|' || *cp == ')') {
    -	    next_cmd = 1;
    -	    if (copy) {
    -		do {
    -		    *cp-- = '\0';
    -		} while (*cp == ';' || *cp == '&' || *cp == '|' ||
    -			 *cp == ')' || *cp == '}') ;
    -	    } else {
    -		/*
    -		 * XXX this should not happen.
    -		 */
    -		fprintf(stderr, "%s: WARNING: raw arg ends in shell meta '%s'\n",
    -		    progname, av[i]);
    -	    }
    -	} else
    -	    next_cmd = 0;
    -
    -	cp = av[i];
    -	if (*cp == ';' || *cp == '&' || *cp == '|')
    -	    is_cmd = 1;
    -	
    -	if (DEBUG(CWD))
    -	    fprintf(debug_file, "av[%d] == %s '%s'",
    -		i, (is_cmd) ? "cmd" : "arg", av[i]);
    -	if (is_cmd != 0) {
    -	    if (*cp == '(' || *cp == '{' ||
    -		*cp == ';' || *cp == '&' || *cp == '|') {
    -		do {
    -		    ++cp;
    -		} while (*cp == '(' || *cp == '{' ||
    -			 *cp == ';' || *cp == '&' || *cp == '|');
    -		if (*cp == '\0') {
    -		    next_cmd = 1;
    -		    continue;
    -		}
    -	    }
    -	    if (strcmp(cp, "cd") == 0 || strcmp(cp, "chdir") == 0) {
    -		if (DEBUG(CWD))
    -		    fprintf(debug_file, " == cd, done.\n");
    -		return NULL;
    -	    }
    -	    for (mp = make; *mp != NULL; ++mp) {
    -		n = strlen(*mp);
    -		if (strcmp(cp, *mp) == 0) {
    -		    if (DEBUG(CWD))
    -			fprintf(debug_file, " %s == '%s', chdir(%s)\n",
    -			    cp, *mp, cur_dir);
    -		    return cur_dir;
    -		}
    -	    }
    -	}
    -	if (DEBUG(CWD))
    -	    fprintf(debug_file, "\n");
    -    }
    -    return NULL;
    -}
    -
    -char *
    -Check_Cwd_Cmd(const char *cmd)
    -{
    -    char *cp, *bp;
    -    char **av;
    -    int ac;
    -
    -    if (Check_Cwd_Off)
    -	return NULL;
    -    
    -    if (cmd) {
    -	av = brk_string(cmd, &ac, TRUE, &bp);
    -	if (DEBUG(CWD))
    -	    fprintf(debug_file, "splitting: '%s' -> %d words\n",
    -		cmd, ac);
    -    } else {
    -	ac = 0;
    -	av = NULL;
    -	bp = NULL;
    -    }
    -    cp = Check_Cwd_av(ac, av, 1);
    -    if (bp)
    -	free(bp);
    -    if (av)
    -	free(av);
    -    return cp;
    -}
    -
    -void
    -Check_Cwd(const char **argv)
    -{
    -    char *cp;
    -    int ac;
    -    
    -    if (Check_Cwd_Off)
    -	return;
    -    
    -    for (ac = 0; argv[ac] != NULL; ++ac)
    -	/* NOTHING */;
    -    if (ac == 3 && *argv[1] == '-') {
    -	cp =  Check_Cwd_Cmd(argv[2]);
    -    } else {
    -	cp = Check_Cwd_av(ac, UNCONST(argv), 0);
    -    }
    -    if (cp) {
    -	chdir(cp);
    -    }
    -}
     
     /*-
      * Cmd_Exec --
    @@ -1849,7 +1740,7 @@ Finish(int errors)
     }
     
     /*
    - * enunlink --
    + * eunlink --
      *	Remove a file carefully, avoiding directories.
      */
     int
    @@ -1895,7 +1786,8 @@ execError(const char *af, const char *av)
     	IOADD(")\n");
     
     #ifdef USE_IOVEC
    -	(void)writev(2, iov, 8);
    +	while (writev(2, iov, 8) == -1 && errno == EAGAIN)
    +	    continue;
     #endif
     }
     
    @@ -1906,8 +1798,12 @@ execError(const char *af, const char *av)
     static void
     usage(void)
     {
    +	char *p;
    +	if ((p = strchr(progname, '[')) != NULL)
    +	    *p = '\0';
    +
     	(void)fprintf(stderr,
    -"usage: %s [-BeikNnqrstWX] \n\
    +"usage: %s [-BeikNnqrstWwX] \n\
                 [-C directory] [-D variable] [-d flags] [-f makefile]\n\
                 [-I directory] [-J private] [-j max_jobs] [-m directory] [-T file]\n\
                 [-V variable] [variable=value] [target ...]\n", progname);
    diff --git a/usr.bin/make/make.1 b/usr.bin/make/make.1
    index 702e4780b..91f366d3b 100644
    --- a/usr.bin/make/make.1
    +++ b/usr.bin/make/make.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: make.1,v 1.209 2012/10/08 15:09:48 christos Exp $
    +.\"	$NetBSD: make.1,v 1.226 2013/11/07 18:50:46 dholland Exp $
     .\"
     .\" Copyright (c) 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -29,7 +29,7 @@
     .\"
     .\"	from: @(#)make.1	8.4 (Berkeley) 3/19/94
     .\"
    -.Dd October 8, 2012
    +.Dd October 25, 2013
     .Dt MAKE 1
     .Os
     .Sh NAME
    @@ -37,7 +37,7 @@
     .Nd maintain program dependencies
     .Sh SYNOPSIS
     .Nm
    -.Op Fl BeikNnqrstWX
    +.Op Fl BeikNnqrstWwX
     .Op Fl C Ar directory
     .Op Fl D Ar variable
     .Op Fl d Ar flags
    @@ -209,6 +209,8 @@ Force the
     option to print raw values of variables.
     .It Ar v
     Print debugging information about variable assignment.
    +.It Ar w
    +Print entering and leaving directory messages, pre and post processing.
     .It Ar x
     Run shell commands with
     .Fl x
    @@ -468,6 +470,50 @@ except that the effect can be limited to a single line of a script.
     A
     .Ql Ic \-
     causes any non-zero exit status of the command line to be ignored.
    +.Pp
    +When
    +.Nm
    +is run in jobs mode with
    +.Fl j Ar max_jobs ,
    +the entire script for the target is fed to a
    +single instance of the shell.
    +.Pp
    +In compatibility (non-jobs) mode, each command is run in a separate process.
    +If the command contains any shell meta characters
    +.Pq Ql #=|^(){};&<>*?[]:$`\e\en
    +it will be passed to the shell, otherwise
    +.Nm
    +will attempt direct execution.
    +.Pp
    +Since
    +.Nm
    +will
    +.Xr chdir 2
    +to
    +.Ql Va .OBJDIR
    +before executing any targets, each child process
    +starts with that as its current working directory.
    +.Pp
    +Makefiles should be written so that the mode of
    +.Nm
    +operation does not change their behavior.
    +For example, any command which needs to use
    +.Dq cd
    +or
    +.Dq chdir ,
    +without side-effect should be put in parenthesis:
    +.Bd -literal -offset indent
    +
    +avoid-chdir-side-effects:
    +	@echo Building $@ in `pwd`
    +	@(cd ${.CURDIR} && ${.MAKE} $@)
    +	@echo Back in `pwd`
    +
    +ensure-one-shell-regardless-of-mode:
    +	@echo Building $@ in `pwd`; \\
    +	(cd ${.CURDIR} && ${.MAKE} $@); \\
    +	echo Back in `pwd`
    +.Ed
     .Sh VARIABLE ASSIGNMENTS
     Variables in make are much like variables in the shell, and, by tradition,
     consist of all upper-case letters.
    @@ -699,6 +745,9 @@ then output for each target is prefixed with a token
     .Ql --- target ---
     the first part of which can be controlled via
     .Va .MAKE.JOB.PREFIX .
    +If
    +.Va .MAKE.JOB.PREFIX
    +is empty, no token is printed.
     .br
     For example:
     .Li .MAKE.JOB.PREFIX=${.newline}---${.MAKE:T}[${.MAKE.PID}]
    @@ -812,6 +861,11 @@ In "meta" mode, this variable contains a list of all the meta files
     used (updated or not).
     This list can be used to process the meta files to extract dependency
     information.
    +.It Va .MAKE.META.IGNORE_PATHS
    +Provides a list of path prefixes that should be ignored;
    +because the contents are expected to change over time.
    +The default list includes:
    +.Ql Pa /dev /etc /proc /tmp /var/run /var/tmp
     .It Va .MAKE.META.PREFIX
     Defines the message printed for each meta file updated in "meta verbose" mode.
     The default value is:
    @@ -830,6 +884,13 @@ by appending their names to
     is re-exported whenever
     .Ql Va .MAKEOVERRIDES
     is modified.
    +.It Va .MAKE.PATH_FILEMON
    +If
    +.Nm
    +was built with
    +.Xr filemon 4
    +support, this is set to the path of the device node.
    +This allows makefiles to test for this support.
     .It Va .MAKE.PID
     The process-id of
     .Nm .
    @@ -1005,6 +1066,13 @@ may
     be used.
     The wildcard characters may be escaped with a backslash
     .Pq Ql \e .
    +As a consequence of the way values are split into words, matched,
    +and then joined, a construct like
    +.Dl ${VAR:M*}
    +will normalise the inter-word spacing, removing all leading and
    +trailing space, and converting multiple consecutive spaces
    +to single spaces.
    +.
     .It Cm \&:N Ns Ar pattern
     This is identical to
     .Ql Cm \&:M ,
    @@ -1148,7 +1216,7 @@ The
     modifier is just like the
     .Cm \&:S
     modifier except that the old and new strings, instead of being
    -simple strings, are a regular expression (see
    +simple strings, are an extended regular expression (see
     .Xr regex 3 )
     string
     .Ar pattern
    @@ -1247,7 +1315,7 @@ should start and end with a period.
     For example.
     .Dl ${LINKS:@.LINK.@${LN} ${TARGET} ${.LINK.}@}
     .Pp
    -However a single character varaiable is often more readable:
    +However a single character variable is often more readable:
     .Dl ${MAKE_PRINT_VAR_ON_ERROR:@v@$v='${$v}'${.newline}@}
     .It Cm \&:U Ns Ar newval
     If the variable is undefined
    @@ -1270,7 +1338,7 @@ The path of the node which has the same name as the variable
     is the value.
     If no such node exists or its path is null, then the
     name of the variable is used.
    -In order for this modifier to work, the name (node) must at least have 
    +In order for this modifier to work, the name (node) must at least have
     appeared on the rhs of a dependency.
     .Sm off
     .It Cm \&:\&! Ar cmd Cm \&!
    @@ -1690,7 +1758,7 @@ or
     .Fl t
     options were specified.
     Normally used to mark recursive
    -.Nm Ns 's .
    +.Nm Ns s .
     .It Ic .META
     Create a meta file for the target, even if it is flagged as
     .Ic .PHONY ,
    @@ -1713,6 +1781,20 @@ targets.
     Ignore differences in commands when deciding if target is out of date.
     This is useful if the command contains a value which always changes.
     If the number of commands change, though, the target will still be out of date.
    +The same effect applies to any command line that uses the variable
    +.Va .OODATE ,
    +which can be used for that purpose even when not otherwise needed or desired:
    +.Bd -literal -offset indent
    +
    +skip-compare-for-some:
    +	@echo this will be compared
    +	@echo this will not ${.OODATE:M.NOMETA_CMP}
    +	@echo this will also be compared
    +
    +.Ed
    +The
    +.Cm \&:M
    +pattern suppresses any expansion of the unwanted variable.
     .It Ic .NOPATH
     Do not search for the target in the directories specified by
     .Ic .PATH .
    @@ -1896,6 +1978,12 @@ If the source is the special
     .Ic .DOTLAST
     target, then the current working
     directory is searched last.
    +.It Ic .PATH. Ns Va suffix
    +Like
    +.Ic .PATH
    +but applies only to files with a particular suffix.
    +The suffix must have been previously declared with
    +.Ic .SUFFIXES .
     .It Ic .PHONY
     Apply the
     .Ic .PHONY
    @@ -1964,6 +2052,10 @@ If no sources are specified, the
     .Ic .SILENT
     attribute is applied to every
     command in the file.
    +.It Ic .STALE
    +This target gets run when a dependency file contains stale entries, having
    +.Va .ALLSRC
    +set to the name of that dependency file.
     .It Ic .SUFFIXES
     Each source specifies a suffix to
     .Nm .
    @@ -2027,28 +2119,6 @@ The way that .for loop variables are substituted changed after
     so that they still appear to be variable expansions.
     In particular this stops them being treated as syntax, and removes some
     obscure problems using them in .if statements.
    -.Pp
    -Unlike other
    -.Nm
    -programs, this implementation by default executes all commands for a given
    -target using a single shell invocation.
    -This is done for both efficiency and to simplify error handling in remote
    -command invocations.
    -Typically this is transparent to the user, unless the target commands change
    -the current working directory using
    -.Dq cd
    -or
    -.Dq chdir .
    -To be compatible with Makefiles that do this, one can use
    -.Fl B
    -to disable this behavior.
    -.Pp
    -In compatibility mode, each command is run in a separate process.
    -If the command contains any shell meta characters
    -.Pq Ql #=|^(){};&<>*?[]:$`\e\en
    -it will be passed to the shell, otherwise
    -.Nm
    -will attempt direct execution.
     .Sh SEE ALSO
     .Xr mkdep 1
     .Sh HISTORY
    @@ -2063,6 +2133,13 @@ for Sprite at Berkeley.
     It was designed to be a parallel distributed make running jobs on different
     machines using a daemon called
     .Dq customs .
    +.Pp
    +Historically the target/dependency
    +.Dq FRC
    +has been used to FoRCe rebuilding (since the target/dependency
    +does not exist... unless someone creates an
    +.Dq FRC
    +file).
     .Sh BUGS
     The
     .Nm
    diff --git a/usr.bin/make/make.c b/usr.bin/make/make.c
    index 4fa4ff9ee..7905f8c19 100644
    --- a/usr.bin/make/make.c
    +++ b/usr.bin/make/make.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: make.c,v 1.87 2012/06/12 19:21:51 joerg Exp $	*/
    +/*	$NetBSD: make.c,v 1.88 2012/11/09 18:53:05 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -69,14 +69,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: make.c,v 1.87 2012/06/12 19:21:51 joerg Exp $";
    +static char rcsid[] = "$NetBSD: make.c,v 1.88 2012/11/09 18:53:05 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)make.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: make.c,v 1.87 2012/06/12 19:21:51 joerg Exp $");
    +__RCSID("$NetBSD: make.c,v 1.88 2012/11/09 18:53:05 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -1032,7 +1032,7 @@ MakeBuildChild(void *v_cn, void *toBeMade_next)
         if (cn->order_pred && Lst_ForEach(cn->order_pred, MakeCheckOrder, 0)) {
     	/* Can't build this (or anything else in this child list) yet */
     	cn->made = DEFERRED;
    -	return 1;
    +	return 0;			/* but keep looking */
         }
     
         if (DEBUG(MAKE))
    @@ -1055,7 +1055,7 @@ MakeBuildChild(void *v_cn, void *toBeMade_next)
         return cn->type & OP_WAIT && cn->unmade > 0;
     }
     
    -/* When a .ORDER RHS node completes we do this on each LHS */
    +/* When a .ORDER LHS node completes we do this on each RHS */
     static int
     MakeBuildParent(void *v_pn, void *toBeMade_next)
     {
    diff --git a/usr.bin/make/make.h b/usr.bin/make/make.h
    index 2c963c658..f68e7f5b0 100644
    --- a/usr.bin/make/make.h
    +++ b/usr.bin/make/make.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: make.h,v 1.89 2012/06/12 19:21:51 joerg Exp $	*/
    +/*	$NetBSD: make.h,v 1.92 2013/09/04 15:38:26 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -388,6 +388,10 @@ extern Boolean	varNoExportEnv;	/* TRUE if we should not export variables
     
     extern GNode    *DEFAULT;    	/* .DEFAULT rule */
     
    +extern GNode	*VAR_INTERNAL;	/* Variables defined internally by make
    +				 * which should not override those set by
    +				 * makefiles.
    +				 */
     extern GNode    *VAR_GLOBAL;   	/* Variables defined in a global context, e.g
     				 * in the Makefile itself */
     extern GNode    *VAR_CMD;    	/* Variables defined on the command line */
    @@ -426,6 +430,9 @@ extern pid_t	myPid;
     #define MAKEFILE_PREFERENCE ".MAKE.MAKEFILE_PREFERENCE"
     #define MAKE_DEPENDFILE	".MAKE.DEPENDFILE" /* .depend */
     #define MAKE_MODE	".MAKE.MODE"
    +#ifndef MAKE_LEVEL_ENV
    +# define MAKE_LEVEL_ENV	"MAKELEVEL"
    +#endif
     
     /*
      * debug control:
    diff --git a/usr.bin/make/meta.c b/usr.bin/make/meta.c
    index 79804ef87..0a4e12f01 100644
    --- a/usr.bin/make/meta.c
    +++ b/usr.bin/make/meta.c
    @@ -1,4 +1,4 @@
    -/*      $NetBSD: meta.c,v 1.25 2012/06/27 17:22:58 sjg Exp $ */
    +/*      $NetBSD: meta.c,v 1.33 2013/10/01 05:37:17 sjg Exp $ */
     
     /*
      * Implement 'meta' mode.
    @@ -55,7 +55,12 @@
     #endif
     
     static BuildMon Mybm;			/* for compat */
    -static Lst metaBailiwick;			/* our scope of control */
    +static Lst metaBailiwick;		/* our scope of control */
    +static Lst metaIgnorePaths;		/* paths we deliberately ignore */
    +
    +#ifndef MAKE_META_IGNORE_PATHS
    +#define MAKE_META_IGNORE_PATHS ".MAKE.META.IGNORE_PATHS"
    +#endif
     
     Boolean useMeta = FALSE;
     static Boolean useFilemon = FALSE;
    @@ -539,8 +544,24 @@ boolValue(char *s)
         return TRUE;
     }
     
    +/*
    + * Initialization we need before reading makefiles.
    + */
     void
    -meta_init(const char *make_mode)
    +meta_init(void)
    +{
    +#ifdef USE_FILEMON
    +	/* this allows makefiles to test if we have filemon support */
    +	Var_Set(".MAKE.PATH_FILEMON", _PATH_FILEMON, VAR_GLOBAL, 0);
    +#endif
    +}
    +
    +
    +/*
    + * Initialization we need after reading makefiles.
    + */
    +void
    +meta_mode_init(const char *make_mode)
     {
         static int once = 0;
         char *cp;
    @@ -591,6 +612,17 @@ meta_init(const char *make_mode)
         if (cp) {
     	str2Lst_Append(metaBailiwick, cp, NULL);
         }
    +    /*
    +     * We ignore any paths that start with ${.MAKE.META.IGNORE_PATHS}
    +     */
    +    metaIgnorePaths = Lst_Init(FALSE);
    +    Var_Append(MAKE_META_IGNORE_PATHS,
    +	       "/dev /etc /proc /tmp /var/run /var/tmp ${TMPDIR}", VAR_GLOBAL);
    +    cp = Var_Subst(NULL,
    +		   "${" MAKE_META_IGNORE_PATHS ":O:u:tA}", VAR_GLOBAL, 0);
    +    if (cp) {
    +	str2Lst_Append(metaIgnorePaths, cp, NULL);
    +    }
     }
     
     /*
    @@ -828,6 +860,13 @@ string_match(const void *p, const void *q)
         continue; \
         }
     
    +#define DEQUOTE(p) if (*p == '\'') {	\
    +    char *ep; \
    +    p++; \
    +    if ((ep = strchr(p, '\''))) \
    +	*ep = '\0'; \
    +    }
    +
     Boolean
     meta_oodate(GNode *gn, Boolean oodate)
     {
    @@ -840,10 +879,12 @@ meta_oodate(GNode *gn, Boolean oodate)
         char fname2[MAXPATHLEN];
         char *p;
         char *cp;
    +    char *link_src;
    +    char *move_target;
         static size_t cwdlen = 0;
         static size_t tmplen = 0;
         FILE *fp;
    -    Boolean ignoreOODATE = FALSE;
    +    Boolean needOODATE = FALSE;
         Lst missingFiles;
         
         if (oodate)
    @@ -906,6 +947,8 @@ meta_oodate(GNode *gn, Boolean oodate)
     		oodate = TRUE;
     		break;
     	    }
    +	    link_src = NULL;
    +	    move_target = NULL;
     	    /* Find the start of the build monitor section. */
     	    if (!f) {
     		if (strncmp(buf, "-- filemon", 10) == 0) {
    @@ -1019,16 +1062,21 @@ meta_oodate(GNode *gn, Boolean oodate)
     		    break;
     
     		case 'M':		/* renaMe */
    -		    if (Lst_IsEmpty(missingFiles))
    -			break;
    +		    /*
    +		     * For 'M'oves we want to check
    +		     * the src as for 'R'ead
    +		     * and the target as for 'W'rite.
    +		     */
    +		    cp = p;		/* save this for a second */
    +		    /* now get target */
    +		    if (strsep(&p, " ") == NULL)
    +			continue;
    +		    CHECK_VALID_META(p);
    +		    move_target = p;
    +		    p = cp;
     		    /* 'L' and 'M' put single quotes around the args */
    -		    if (*p == '\'') {
    -			char *ep;
    -
    -			p++;
    -			if ((ep = strchr(p, '\'')))
    -			    *ep = '\0';
    -		    }
    +		    DEQUOTE(p);
    +		    DEQUOTE(move_target);
     		    /* FALLTHROUGH */
     		case 'D':		/* unlink */
     		    if (*p == '/' && !Lst_IsEmpty(missingFiles)) {
    @@ -1037,24 +1085,42 @@ meta_oodate(GNode *gn, Boolean oodate)
     			    char *tp = Lst_Datum(ln);
     			    Lst_Remove(missingFiles, ln);
     			    free(tp);
    +			    ln = NULL;	/* we're done with it */
     			}
     		    }
    +		    if (buf[0] == 'M') {
    +			/* the target of the mv is a file 'W'ritten */
    +#ifdef DEBUG_META_MODE
    +			if (DEBUG(META))
    +			    fprintf(debug_file, "meta_oodate: M %s -> %s\n",
    +				    p, move_target);
    +#endif
    +			p = move_target;
    +			goto check_write;
    +		    }
     		    break;
     		case 'L':		/* Link */
    -		    /* we want the target */
    +		    /*
    +		     * For 'L'inks check
    +		     * the src as for 'R'ead
    +		     * and the target as for 'W'rite.
    +		     */
    +		    link_src = p;
    +		    /* now get target */
     		    if (strsep(&p, " ") == NULL)
     			continue;
     		    CHECK_VALID_META(p);
     		    /* 'L' and 'M' put single quotes around the args */
    -		    if (*p == '\'') {
    -			char *ep;
    -
    -			p++;
    -			if ((ep = strchr(p, '\'')))
    -			    *ep = '\0';
    -		    }
    +		    DEQUOTE(p);
    +		    DEQUOTE(link_src);
    +#ifdef DEBUG_META_MODE
    +		    if (DEBUG(META))
    +			fprintf(debug_file, "meta_oodate: L %s -> %s\n",
    +				link_src, p);
    +#endif
     		    /* FALLTHROUGH */
     		case 'W':		/* Write */
    +		check_write:
     		    /*
     		     * If a file we generated within our bailiwick
     		     * but outside of .OBJDIR is missing,
    @@ -1086,6 +1152,14 @@ meta_oodate(GNode *gn, Boolean oodate)
     			Lst_AtEnd(missingFiles, bmake_strdup(p));
     		    }
     		    break;
    +		check_link_src:
    +		    p = link_src;
    +		    link_src = NULL;
    +#ifdef DEBUG_META_MODE
    +		    if (DEBUG(META))
    +			fprintf(debug_file, "meta_oodate: L src %s\n", p);
    +#endif
    +		    /* FALLTHROUGH */
     		case 'R':		/* Read */
     		case 'E':		/* Exec */
     		    /*
    @@ -1093,20 +1167,15 @@ meta_oodate(GNode *gn, Boolean oodate)
     		     * be part of the dependencies because
     		     * they are _expected_ to change.
     		     */
    -		    if (strncmp(p, "/tmp/", 5) == 0 ||
    -			(tmplen > 0 && strncmp(p, tmpdir, tmplen) == 0))
    -			break;
    -
    -		    if (strncmp(p, "/var/", 5) == 0)
    -			break;
    -
    -		    /* Ignore device files. */
    -		    if (strncmp(p, "/dev/", 5) == 0)
    -			break;
    -
    -		    /* Ignore /etc/ files. */
    -		    if (strncmp(p, "/etc/", 5) == 0)
    +		    if (*p == '/' &&
    +			Lst_ForEach(metaIgnorePaths, prefix_match, p)) {
    +#ifdef DEBUG_META_MODE
    +			if (DEBUG(META))
    +			    fprintf(debug_file, "meta_oodate: ignoring: %s\n",
    +				    p);
    +#endif
     			break;
    +		    }
     
     		    if ((cp = strrchr(p, '/'))) {
     			cp++;
    @@ -1185,6 +1254,8 @@ meta_oodate(GNode *gn, Boolean oodate)
     		default:
     		    break;
     		}
    +		if (!oodate && buf[0] == 'L' && link_src != NULL)
    +		    goto check_link_src;
     	    } else if (strcmp(buf, "CMD") == 0) {
     		/*
     		 * Compare the current command with the one in the
    @@ -1196,17 +1267,19 @@ meta_oodate(GNode *gn, Boolean oodate)
     		    oodate = TRUE;
     		} else {
     		    char *cmd = (char *)Lst_Datum(ln);
    +		    Boolean hasOODATE = FALSE;
     
    -		    if (!ignoreOODATE) {
    -			if (strstr(cmd, "$?"))
    -			    ignoreOODATE = TRUE;
    -			else if ((cp = strstr(cmd, ".OODATE"))) {
    -			    /* check for $[{(].OODATE[)}] */
    -			    if (cp > cmd + 2 && cp[-2] == '$')
    -				ignoreOODATE = TRUE;
    -			}
    -			if (ignoreOODATE && DEBUG(META))
    -			    fprintf(debug_file, "%s: %d: cannot compare commands using .OODATE\n", fname, lineno);
    +		    if (strstr(cmd, "$?"))
    +			hasOODATE = TRUE;
    +		    else if ((cp = strstr(cmd, ".OODATE"))) {
    +			/* check for $[{(].OODATE[:)}] */
    +			if (cp > cmd + 2 && cp[-2] == '$')
    +			    hasOODATE = TRUE;
    +		    }
    +		    if (hasOODATE) {
    +			needOODATE = TRUE;
    +			if (DEBUG(META))
    +			    fprintf(debug_file, "%s: %d: cannot compare command using .OODATE\n", fname, lineno);
     		    }
     		    cmd = Var_Subst(NULL, cmd, gn, TRUE);
     
    @@ -1235,7 +1308,7 @@ meta_oodate(GNode *gn, Boolean oodate)
     			if (buf[x - 1] == '\n')
     			    buf[x - 1] = '\0';
     		    }
    -		    if (!ignoreOODATE &&
    +		    if (!hasOODATE &&
     			!(gn->type & OP_NOMETA_CMP) &&
     			strcmp(p, cmd) != 0) {
     			if (DEBUG(META))
    @@ -1279,14 +1352,16 @@ meta_oodate(GNode *gn, Boolean oodate)
     	    oodate = TRUE;
     	}
         }
    -    if (oodate && ignoreOODATE) {
    +    if (oodate && needOODATE) {
     	/*
    -	 * Target uses .OODATE, so we need to re-compute it.
    -	 * We need to clean up what Make_DoAllVar() did.
    +	 * Target uses .OODATE which is empty; or we wouldn't be here.
    +	 * We have decided it is oodate, so .OODATE needs to be set.
    +	 * All we can sanely do is set it to .ALLSRC.
     	 */
    -	Var_Delete(ALLSRC, gn);
     	Var_Delete(OODATE, gn);
    -	gn->flags &= ~DONE_ALLSRC;
    +	Var_Set(OODATE, Var_Value(ALLSRC, gn, &cp), gn, 0);
    +	if (cp)
    +	    free(cp);
         }
         return oodate;
     }
    diff --git a/usr.bin/make/meta.h b/usr.bin/make/meta.h
    index 1ce01ca90..57c73ca9b 100644
    --- a/usr.bin/make/meta.h
    +++ b/usr.bin/make/meta.h
    @@ -1,4 +1,4 @@
    -/*      $NetBSD: meta.h,v 1.2 2011/03/30 22:03:49 sjg Exp $ */
    +/*      $NetBSD: meta.h,v 1.3 2013/03/23 05:31:29 sjg Exp $ */
     
     /*
      * Things needed for 'meta' mode.
    @@ -41,7 +41,8 @@ typedef struct BuildMon {
     extern Boolean useMeta;
     
     struct Job;				/* not defined yet */
    -void meta_init(const char *);
    +void meta_init(void);
    +void meta_mode_init(const char *);
     void meta_job_start(struct Job *, GNode *);
     void meta_job_child(struct Job *);
     void meta_job_error(struct Job *, GNode *, int, int);
    diff --git a/usr.bin/make/parse.c b/usr.bin/make/parse.c
    index 593549b0b..580925758 100644
    --- a/usr.bin/make/parse.c
    +++ b/usr.bin/make/parse.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: parse.c,v 1.185 2012/06/12 19:21:51 joerg Exp $	*/
    +/*	$NetBSD: parse.c,v 1.192 2013/10/18 20:47:06 christos Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -68,22 +68,15 @@
      * SUCH DAMAGE.
      */
     
    -
    -#ifdef __minix
    -#ifndef MAP_COPY
    -#define MAP_COPY MAP_PRIVATE
    -#endif
    -#endif
    -
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: parse.c,v 1.185 2012/06/12 19:21:51 joerg Exp $";
    +static char rcsid[] = "$NetBSD: parse.c,v 1.192 2013/10/18 20:47:06 christos Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)parse.c	8.3 (Berkeley) 3/19/94";
     #else
    -__RCSID("$NetBSD: parse.c,v 1.185 2012/06/12 19:21:51 joerg Exp $");
    +__RCSID("$NetBSD: parse.c,v 1.192 2013/10/18 20:47:06 christos Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -140,6 +133,9 @@ __RCSID("$NetBSD: parse.c,v 1.185 2012/06/12 19:21:51 joerg Exp $");
     #include 
     #include 
     
    +#ifndef MAP_FILE
    +#define MAP_FILE 0
    +#endif
     #ifndef MAP_COPY
     #define MAP_COPY MAP_PRIVATE
     #endif
    @@ -158,7 +154,7 @@ __RCSID("$NetBSD: parse.c,v 1.185 2012/06/12 19:21:51 joerg Exp $");
      * Structure for a file being read ("included file")
      */
     typedef struct IFile {
    -    const char      *fname;         /* name of file */
    +    char      	    *fname;         /* name of file */
         int             lineno;         /* current line number in file */
         int             first_lineno;   /* line number of start of text */
         int             cond_depth;     /* 'if' nesting when file opened */
    @@ -214,6 +210,7 @@ typedef enum {
         ExShell,	    /* .SHELL */
         Silent,	    /* .SILENT */
         SingleShell,    /* .SINGLESHELL */
    +    Stale,	    /* .STALE */
         Suffixes,	    /* .SUFFIXES */
         Wait,	    /* .WAIT */
         Attribute	    /* Generic attribute */
    @@ -337,6 +334,7 @@ static const struct {
     { ".SHELL", 	  ExShell,    	0 },
     { ".SILENT",	  Silent,   	OP_SILENT },
     { ".SINGLESHELL", SingleShell,	0 },
    +{ ".STALE",	  Stale,	0 },
     { ".SUFFIXES",	  Suffixes, 	0 },
     { ".USE",   	  Attribute,   	OP_USE },
     { ".USEBEFORE",   Attribute,   	OP_USEBEFORE },
    @@ -521,7 +519,6 @@ loadfile(const char *path, int fd)
     		 * FUTURE: remove PROT_WRITE when the parser no longer
     		 * needs to scribble on the input.
     		 */
    -
     		lf->buf = mmap(NULL, lf->maplen, PROT_READ|PROT_WRITE,
     			       MAP_FILE|MAP_COPY, fd, 0);
     		if (lf->buf != MAP_FAILED) {
    @@ -910,6 +907,8 @@ ParseDoOp(void *gnp, void *opp)
     	gn->type |= op & ~OP_OPMASK;
     
     	cohort = Targ_FindNode(gn->name, TARG_NOHASH);
    +	if (doing_depend)
    +	    ParseMark(cohort);
     	/*
     	 * Make the cohort invisible as well to avoid duplicating it into
     	 * other variables. True, parents of this target won't tend to do
    @@ -982,6 +981,8 @@ ParseDoSrc(int tOp, const char *src)
     		 */
     		snprintf(wait_src, sizeof wait_src, ".WAIT_%u", ++wait_number);
     		gn = Targ_FindNode(wait_src, TARG_NOHASH);
    +		if (doing_depend)
    +		    ParseMark(gn);
     		gn->type = OP_WAIT | OP_PHONY | OP_DEPENDS | OP_NOTMAIN;
     		Lst_ForEach(targets, ParseLinkSrc, gn);
     		return;
    @@ -1013,6 +1014,8 @@ ParseDoSrc(int tOp, const char *src)
     	 * source and the current one.
     	 */
     	gn = Targ_FindNode(src, TARG_CREATE);
    +	if (doing_depend)
    +	    ParseMark(gn);
     	if (predecessor != NULL) {
     	    (void)Lst_AtEnd(predecessor->order_succ, gn);
     	    (void)Lst_AtEnd(gn->order_pred, predecessor);
    @@ -1044,6 +1047,8 @@ ParseDoSrc(int tOp, const char *src)
     
     	/* Find/create the 'src' node and attach to all targets */
     	gn = Targ_FindNode(src, TARG_CREATE);
    +	if (doing_depend)
    +	    ParseMark(gn);
     	if (tOp) {
     	    gn->type |= tOp;
     	} else {
    @@ -1201,9 +1206,8 @@ ParseDoDependency(char *line)
     		 */
     		int 	length;
     		void    *freeIt;
    -		char	*result;
     
    -		result = Var_Parse(cp, VAR_CMD, TRUE, &length, &freeIt);
    +		(void)Var_Parse(cp, VAR_CMD, TRUE, &length, &freeIt);
     		if (freeIt)
     		    free(freeIt);
     		cp += length-1;
    @@ -1289,6 +1293,7 @@ ParseDoDependency(char *line)
     		 *	    	    	apply the .DEFAULT commands.
     		 *	.PHONY		The list of targets
     		 *	.NOPATH		Don't search for file in the path
    +		 *	.STALE
     		 *	.BEGIN
     		 *	.END
     		 *	.ERROR
    @@ -1299,42 +1304,45 @@ ParseDoDependency(char *line)
     		 *  	.ORDER	    	Must set initial predecessor to NULL
     		 */
     		switch (specType) {
    -		    case ExPath:
    -			if (paths == NULL) {
    -			    paths = Lst_Init(FALSE);
    -			}
    -			(void)Lst_AtEnd(paths, dirSearchPath);
    -			break;
    -		    case Main:
    -			if (!Lst_IsEmpty(create)) {
    -			    specType = Not;
    -			}
    -			break;
    -		    case Begin:
    -		    case End:
    -		    case dotError:
    -		    case Interrupt:
    -			gn = Targ_FindNode(line, TARG_CREATE);
    -			gn->type |= OP_NOTMAIN|OP_SPECIAL;
    -			(void)Lst_AtEnd(targets, gn);
    -			break;
    -		    case Default:
    -			gn = Targ_NewGN(".DEFAULT");
    -			gn->type |= (OP_NOTMAIN|OP_TRANSFORM);
    -			(void)Lst_AtEnd(targets, gn);
    -			DEFAULT = gn;
    -			break;
    -		    case NotParallel:
    -			maxJobs = 1;
    -			break;
    -		    case SingleShell:
    -			compatMake = TRUE;
    -			break;
    -		    case Order:
    -			predecessor = NULL;
    -			break;
    -		    default:
    -			break;
    +		case ExPath:
    +		    if (paths == NULL) {
    +			paths = Lst_Init(FALSE);
    +		    }
    +		    (void)Lst_AtEnd(paths, dirSearchPath);
    +		    break;
    +		case Main:
    +		    if (!Lst_IsEmpty(create)) {
    +			specType = Not;
    +		    }
    +		    break;
    +		case Begin:
    +		case End:
    +		case Stale:
    +		case dotError:
    +		case Interrupt:
    +		    gn = Targ_FindNode(line, TARG_CREATE);
    +		    if (doing_depend)
    +			ParseMark(gn);
    +		    gn->type |= OP_NOTMAIN|OP_SPECIAL;
    +		    (void)Lst_AtEnd(targets, gn);
    +		    break;
    +		case Default:
    +		    gn = Targ_NewGN(".DEFAULT");
    +		    gn->type |= (OP_NOTMAIN|OP_TRANSFORM);
    +		    (void)Lst_AtEnd(targets, gn);
    +		    DEFAULT = gn;
    +		    break;
    +		case NotParallel:
    +		    maxJobs = 1;
    +		    break;
    +		case SingleShell:
    +		    compatMake = TRUE;
    +		    break;
    +		case Order:
    +		    predecessor = NULL;
    +		    break;
    +		default:
    +		    break;
     		}
     	    } else if (strncmp(line, ".PATH", 5) == 0) {
     		/*
    @@ -1393,6 +1401,8 @@ ParseDoDependency(char *line)
     		} else {
     		    gn = Suff_AddTransform(targName);
     		}
    +		if (doing_depend)
    +		    ParseMark(gn);
     
     		(void)Lst_AtEnd(targets, gn);
     	    }
    @@ -1440,6 +1450,7 @@ ParseDoDependency(char *line)
     		Parse_Error(PARSE_WARNING, "Special and mundane targets don't mix. Mundane ones ignored");
     		break;
     	    case Default:
    +	    case Stale:
     	    case Begin:
     	    case End:
     	    case dotError:
    @@ -1729,6 +1740,12 @@ Parse_IsVar(char *line)
     	    ch = *line++;
     	    wasSpace = TRUE;
     	}
    +#ifdef SUNSHCMD
    +	if (ch == ':' && strncmp(line, "sh", 2) == 0) {
    +	    line += 2;
    +	    continue;
    +	}
    +#endif
     	if (ch == '=')
     	    return TRUE;
     	if (*line == '=' && ISEQOPERATOR(ch))
    @@ -2322,7 +2339,7 @@ Parse_SetInput(const char *name, int line, int fd,
          * name of the include file so error messages refer to the right
          * place.
          */
    -    curFile->fname = name;
    +    curFile->fname = bmake_strdup(name);
         curFile->lineno = line;
         curFile->first_lineno = line;
         curFile->nextbuf = nextbuf;
    @@ -2335,6 +2352,8 @@ Parse_SetInput(const char *name, int line, int fd,
         buf = curFile->nextbuf(curFile->nextbuf_arg, &len);
         if (buf == NULL) {
             /* Was all a waste of time ... */
    +	if (curFile->fname)
    +	    free(curFile->fname);
     	free(curFile);
     	return;
         }
    @@ -2449,6 +2468,7 @@ ParseGmakeExport(char *line)
     		     "Variable/Value missing from \"export\"");
     	return;
         }
    +    *value++ = '\0';			/* terminate variable */
     
         /*
          * Expand the value before putting it in the environment.
    @@ -2557,6 +2577,16 @@ ParseGetLine(int flags, int *length)
     		if (cf->P_end == NULL)
     		    /* End of string (aka for loop) data */
     		    break;
    +		/* see if there is more we can parse */
    +		while (ptr++ < cf->P_end) {
    +		    if ((ch = *ptr) == '\n') {
    +			if (ptr > line && ptr[-1] == '\\')
    +			    continue;
    +			Parse_Error(PARSE_WARNING,
    +			    "Zero byte read from file, skipping rest of line.");
    +			break;
    +		    }
    +		}
     		if (cf->nextbuf != NULL) {
     		    /*
     		     * End of this buffer; return EOF and outer logic
    diff --git a/usr.bin/make/suff.c b/usr.bin/make/suff.c
    index 991c246c7..d4f0eb183 100644
    --- a/usr.bin/make/suff.c
    +++ b/usr.bin/make/suff.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: suff.c,v 1.69 2011/09/29 23:38:04 sjg Exp $	*/
    +/*	$NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -69,14 +69,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: suff.c,v 1.69 2011/09/29 23:38:04 sjg Exp $";
    +static char rcsid[] = "$NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)suff.c	8.4 (Berkeley) 3/21/94";
     #else
    -__RCSID("$NetBSD: suff.c,v 1.69 2011/09/29 23:38:04 sjg Exp $");
    +__RCSID("$NetBSD: suff.c,v 1.70 2013/05/18 13:13:34 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -684,8 +684,8 @@ GNode *
     Suff_AddTransform(char *line)
     {
         GNode         *gn;		/* GNode of transformation rule */
    -    Suff          *s = NULL,	/* source suffix */
    -                  *t = NULL;	/* target suffix */
    +    Suff          *s,		/* source suffix */
    +                  *t;		/* target suffix */
         LstNode 	  ln;	    	/* Node for existing transformation */
     
         ln = Lst_Find(transforms, line, SuffGNHasNameP);
    @@ -2058,118 +2058,124 @@ SuffFindNormalDeps(GNode *gn, Lst slst)
          * children, then look for any overriding transformations they imply.
          * Should we find one, we discard the one we found before.
          */
    +    bottom = NULL;
    +    targ = NULL;
     
    -    while (ln != NULL) {
    -	/*
    -	 * Look for next possible suffix...
    -	 */
    -	ln = Lst_FindFrom(sufflist, ln, &sd, SuffSuffIsSuffixP);
    -
    -	if (ln != NULL) {
    -	    int	    prefLen;	    /* Length of the prefix */
    +    if (!(gn->type & OP_PHONY)) {
     
    +	while (ln != NULL) {
     	    /*
    -	     * Allocate a Src structure to which things can be transformed
    +	     * Look for next possible suffix...
     	     */
    +	    ln = Lst_FindFrom(sufflist, ln, &sd, SuffSuffIsSuffixP);
    +
    +	    if (ln != NULL) {
    +		int	    prefLen;	    /* Length of the prefix */
    +
    +		/*
    +		 * Allocate a Src structure to which things can be transformed
    +		 */
    +		targ = bmake_malloc(sizeof(Src));
    +		targ->file = bmake_strdup(gn->name);
    +		targ->suff = (Suff *)Lst_Datum(ln);
    +		targ->suff->refCount++;
    +		targ->node = gn;
    +		targ->parent = NULL;
    +		targ->children = 0;
    +#ifdef DEBUG_SRC
    +		targ->cp = Lst_Init(FALSE);
    +#endif
    +
    +		/*
    +		 * Allocate room for the prefix, whose end is found by
    +		 * subtracting the length of the suffix from
    +		 * the end of the name.
    +		 */
    +		prefLen = (eoname - targ->suff->nameLen) - sopref;
    +		targ->pref = bmake_malloc(prefLen + 1);
    +		memcpy(targ->pref, sopref, prefLen);
    +		targ->pref[prefLen] = '\0';
    +
    +		/*
    +		 * Add nodes from which the target can be made
    +		 */
    +		SuffAddLevel(srcs, targ);
    +
    +		/*
    +		 * Record the target so we can nuke it
    +		 */
    +		(void)Lst_AtEnd(targs, targ);
    +
    +		/*
    +		 * Search from this suffix's successor...
    +		 */
    +		ln = Lst_Succ(ln);
    +	    }
    +	}
    +
    +	/*
    +	 * Handle target of unknown suffix...
    +	 */
    +	if (Lst_IsEmpty(targs) && suffNull != NULL) {
    +	    if (DEBUG(SUFF)) {
    +		fprintf(debug_file, "\tNo known suffix on %s. Using .NULL suffix\n", gn->name);
    +	    }
    +
     	    targ = bmake_malloc(sizeof(Src));
     	    targ->file = bmake_strdup(gn->name);
    -	    targ->suff = (Suff *)Lst_Datum(ln);
    +	    targ->suff = suffNull;
     	    targ->suff->refCount++;
     	    targ->node = gn;
     	    targ->parent = NULL;
     	    targ->children = 0;
    +	    targ->pref = bmake_strdup(sopref);
     #ifdef DEBUG_SRC
     	    targ->cp = Lst_Init(FALSE);
     #endif
     
     	    /*
    -	     * Allocate room for the prefix, whose end is found by subtracting
    -	     * the length of the suffix from the end of the name.
    +	     * Only use the default suffix rules if we don't have commands
    +	     * defined for this gnode; traditional make programs used to
    +	     * not define suffix rules if the gnode had children but we
    +	     * don't do this anymore.
     	     */
    -	    prefLen = (eoname - targ->suff->nameLen) - sopref;
    -	    targ->pref = bmake_malloc(prefLen + 1);
    -	    memcpy(targ->pref, sopref, prefLen);
    -	    targ->pref[prefLen] = '\0';
    +	    if (Lst_IsEmpty(gn->commands))
    +		SuffAddLevel(srcs, targ);
    +	    else {
    +		if (DEBUG(SUFF))
    +		    fprintf(debug_file, "not ");
    +	    }
     
    -	    /*
    -	     * Add nodes from which the target can be made
    -	     */
    -	    SuffAddLevel(srcs, targ);
    -
    -	    /*
    -	     * Record the target so we can nuke it
    -	     */
    -	    (void)Lst_AtEnd(targs, targ);
    -
    -	    /*
    -	     * Search from this suffix's successor...
    -	     */
    -	    ln = Lst_Succ(ln);
    -	}
    -    }
    -
    -    /*
    -     * Handle target of unknown suffix...
    -     */
    -    if (Lst_IsEmpty(targs) && suffNull != NULL) {
    -	if (DEBUG(SUFF)) {
    -	    fprintf(debug_file, "\tNo known suffix on %s. Using .NULL suffix\n", gn->name);
    -	}
    -
    -	targ = bmake_malloc(sizeof(Src));
    -	targ->file = bmake_strdup(gn->name);
    -	targ->suff = suffNull;
    -	targ->suff->refCount++;
    -	targ->node = gn;
    -	targ->parent = NULL;
    -	targ->children = 0;
    -	targ->pref = bmake_strdup(sopref);
    -#ifdef DEBUG_SRC
    -	targ->cp = Lst_Init(FALSE);
    -#endif
    -
    -	/*
    -	 * Only use the default suffix rules if we don't have commands
    -	 * defined for this gnode; traditional make programs used to
    -	 * not define suffix rules if the gnode had children but we
    -	 * don't do this anymore.
    -	 */
    -	if (Lst_IsEmpty(gn->commands))
    -	    SuffAddLevel(srcs, targ);
    -	else {
     	    if (DEBUG(SUFF))
    -		fprintf(debug_file, "not ");
    +		fprintf(debug_file, "adding suffix rules\n");
    +
    +	    (void)Lst_AtEnd(targs, targ);
     	}
     
    -	if (DEBUG(SUFF))
    -	    fprintf(debug_file, "adding suffix rules\n");
    -
    -	(void)Lst_AtEnd(targs, targ);
    -    }
    -
    -    /*
    -     * Using the list of possible sources built up from the target suffix(es),
    -     * try and find an existing file/target that matches.
    -     */
    -    bottom = SuffFindThem(srcs, slst);
    -
    -    if (bottom == NULL) {
     	/*
    -	 * No known transformations -- use the first suffix found for setting
    -	 * the local variables.
    +	 * Using the list of possible sources built up from the target
    +	 * suffix(es), try and find an existing file/target that matches.
     	 */
    -	if (!Lst_IsEmpty(targs)) {
    -	    targ = (Src *)Lst_Datum(Lst_First(targs));
    +	bottom = SuffFindThem(srcs, slst);
    +
    +	if (bottom == NULL) {
    +	    /*
    +	     * No known transformations -- use the first suffix found
    +	     * for setting the local variables.
    +	     */
    +	    if (!Lst_IsEmpty(targs)) {
    +		targ = (Src *)Lst_Datum(Lst_First(targs));
    +	    } else {
    +		targ = NULL;
    +	    }
     	} else {
    -	    targ = NULL;
    +	    /*
    +	     * Work up the transformation path to find the suffix of the
    +	     * target to which the transformation was made.
    +	     */
    +	    for (targ = bottom; targ->parent != NULL; targ = targ->parent)
    +		continue;
     	}
    -    } else {
    -	/*
    -	 * Work up the transformation path to find the suffix of the
    -	 * target to which the transformation was made.
    -	 */
    -	for (targ = bottom; targ->parent != NULL; targ = targ->parent)
    -	    continue;
         }
     
         Var_Set(TARGET, gn->path ? gn->path : gn->name, gn, 0);
    @@ -2419,12 +2425,7 @@ SuffFindDeps(GNode *gn, Lst slst)
          */
         Var_Set(TARGET, gn->path ? gn->path : gn->name, gn, 0);
         Var_Set(PREFIX, gn->name, gn, 0);
    -    if (gn->type & OP_PHONY) {
    -	/*
    -	 * If this is a .PHONY target, we do not apply suffix rules.
    -	 */
    -	return;
    -    }
    +
         if (DEBUG(SUFF)) {
     	fprintf(debug_file, "SuffFindDeps (%s)\n", gn->name);
         }
    diff --git a/usr.bin/make/unit-tests/Makefile b/usr.bin/make/unit-tests/Makefile
    index bf4623f5b..8707cc5d9 100644
    --- a/usr.bin/make/unit-tests/Makefile
    +++ b/usr.bin/make/unit-tests/Makefile
    @@ -1,4 +1,4 @@
    -# $NetBSD: Makefile,v 1.34 2012/06/19 23:25:53 sjg Exp $
    +# $NetBSD: Makefile,v 1.38 2013/08/28 21:56:50 sjg Exp $
     #
     # Unit tests for make(1)
     # The main targets are:
    @@ -24,6 +24,7 @@ SUBFILES= \
     	error \
     	export \
     	export-all \
    +	export-env \
     	doterror \
     	dotwait \
     	forloop \
    @@ -36,9 +37,11 @@ SUBFILES= \
     	modorder \
     	modts \
     	modword \
    +	order \
     	phony-end \
     	posix \
     	qequals \
    +	sunshcmd \
     	sysv \
     	ternary \
     	unexport \
    @@ -48,6 +51,7 @@ SUBFILES= \
     all: ${SUBFILES}
     
     flags.doterror=
    +flags.order=-j1
     
     # the tests are actually done with sub-makes.
     .PHONY: ${SUBFILES}
    @@ -76,7 +80,7 @@ LANG= C
     test:
     	@echo "${TEST_MAKE} -f ${MAKEFILE} > ${.TARGET}.out 2>&1"
     	@cd ${.OBJDIR} && ${TEST_MAKE} -f ${MAKEFILE} 2>&1 | \
    -	${TOOL_SED} -e 's,^${TEST_MAKE:T:C/\./\\\./g}:,make:,' \
    +	${TOOL_SED} -e 's,^${TEST_MAKE:T:C/\./\\\./g}[^:]*:,make:,' \
     	-e '/stopped/s, /.*, unit-tests,' \
     	-e 's,${.CURDIR:C/\./\\\./g}/,,g' \
     	-e 's,${UNIT_TESTS:C/\./\\\./g}/,,g' > ${.TARGET}.out || { \
    diff --git a/usr.bin/make/unit-tests/export-env b/usr.bin/make/unit-tests/export-env
    new file mode 100644
    index 000000000..a6cada7e4
    --- /dev/null
    +++ b/usr.bin/make/unit-tests/export-env
    @@ -0,0 +1,24 @@
    +# $Id: export-env,v 1.1 2013/03/22 16:36:46 sjg Exp $
    +
    +# our normal .export, subsequent changes affect the environment
    +UT_TEST=this
    +.export UT_TEST
    +UT_TEST:= ${.PARSEFILE}
    +
    +# not so with .export-env
    +UT_ENV=exported
    +.export-env UT_ENV
    +UT_ENV=not-exported
    +
    +# gmake style export goes further; affects nothing but the environment
    +UT_EXP=before-export
    +export UT_EXP=exported
    +UT_EXP=not-exported
    +
    +all:
    +	@echo make:; ${UT_TEST UT_ENV UT_EXP:L:@v@echo $v=${$v};@}
    +	@echo env:; ${UT_TEST UT_ENV UT_EXP:L:@v@echo $v=$${$v};@}
    +
    +
    +
    +
    diff --git a/usr.bin/make/unit-tests/order b/usr.bin/make/unit-tests/order
    new file mode 100644
    index 000000000..175da471f
    --- /dev/null
    +++ b/usr.bin/make/unit-tests/order
    @@ -0,0 +1,20 @@
    +# $NetBSD: order,v 1.1 2012/11/09 19:08:28 sjg Exp $
    +
    +# Test that .ORDER is handled correctly.
    +# The explicit dependency the.o: the.h will make us examine the.h
    +# the .ORDER will prevent us building it immediately,
    +# we should then examine the.c rather than stop.
    +
    +all: the.o
    +
    +.ORDER: the.c the.h
    +
    +the.c the.h:
    +	@echo Making $@
    +
    +.SUFFIXES: .o .c
    +
    +.c.o:
    +	@echo Making $@ from $?
    +
    +the.o: the.h
    diff --git a/usr.bin/make/unit-tests/sunshcmd b/usr.bin/make/unit-tests/sunshcmd
    new file mode 100644
    index 000000000..e3baf901e
    --- /dev/null
    +++ b/usr.bin/make/unit-tests/sunshcmd
    @@ -0,0 +1,10 @@
    +BYECMD		= echo bye
    +LATERCMD	= echo later
    +TEST1 :sh	= echo hello
    +TEST2 :sh	= ${BYECMD}
    +TEST3		= ${LATERCMD:sh}
    +
    +all:
    +	@echo "TEST1=${TEST1}"
    +	@echo "TEST2=${TEST2}"
    +	@echo "TEST3=${TEST3}"
    diff --git a/usr.bin/make/unit-tests/test.exp b/usr.bin/make/unit-tests/test.exp
    index 932d84e30..aaecb960f 100644
    --- a/usr.bin/make/unit-tests/test.exp
    +++ b/usr.bin/make/unit-tests/test.exp
    @@ -43,6 +43,14 @@ UT_OK=good
     UT_OKDIR=unit-tests
     UT_TEST=export-all
     UT_ZOO=hoopie
    +make:
    +UT_TEST=export-env
    +UT_ENV=not-exported
    +UT_EXP=not-exported
    +env:
    +UT_TEST=export-env
    +UT_ENV=exported
    +UT_EXP=exported
     At first, I am
     happy
     and now: sad
    @@ -310,6 +318,9 @@ LIST:tw:C/ /,/g="one two three four five six"
     LIST:tw:C/ /,/1g="one two three four five six"
     LIST:tw:tW:C/ /,/="one,two three four five six"
     LIST:tW:tw:C/ /,/="one two three four five six"
    +Making the.c
    +Making the.h
    +Making the.o from the.h the.c
     .TARGET="phony" .PREFIX="phony" .IMPSRC=""
     .TARGET="all" .PREFIX="all" .IMPSRC=""
     .TARGET="ok" .PREFIX="ok" .IMPSRC=""
    @@ -338,6 +349,9 @@ Now we expect an error...
     *** Error code 1 (continuing)
     `all' not remade because of errors.
     V.i386 ?= OK
    +TEST1=hello
    +TEST2=bye
    +TEST3=later
     FOOBAR =
     FOOBAR = foobar fubar
     fun
    diff --git a/usr.bin/make/util.c b/usr.bin/make/util.c
    index a5277175e..506fb4d9b 100644
    --- a/usr.bin/make/util.c
    +++ b/usr.bin/make/util.c
    @@ -1,15 +1,18 @@
    -/*	$NetBSD: util.c,v 1.53 2012/06/04 22:45:05 sjg Exp $	*/
    +/*	$NetBSD: util.c,v 1.54 2013/11/26 13:44:41 joerg Exp $	*/
     
     /*
      * Missing stuff from OS's
      */
    +#if defined(__MINT__) || defined(__linux__)
    +#include 
    +#endif
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: util.c,v 1.53 2012/06/04 22:45:05 sjg Exp $";
    +static char rcsid[] = "$NetBSD: util.c,v 1.54 2013/11/26 13:44:41 joerg Exp $";
     #else
     #include 
     #ifndef lint
    -__RCSID("$NetBSD: util.c,v 1.53 2012/06/04 22:45:05 sjg Exp $");
    +__RCSID("$NetBSD: util.c,v 1.54 2013/11/26 13:44:41 joerg Exp $");
     #endif
     #endif
     
    diff --git a/usr.bin/make/var.c b/usr.bin/make/var.c
    index b4631163f..290ad3a2b 100644
    --- a/usr.bin/make/var.c
    +++ b/usr.bin/make/var.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: var.c,v 1.171 2012/06/12 19:21:51 joerg Exp $	*/
    +/*	$NetBSD: var.c,v 1.184 2013/09/04 15:38:26 sjg Exp $	*/
     
     /*
      * Copyright (c) 1988, 1989, 1990, 1993
    @@ -69,14 +69,14 @@
      */
     
     #ifndef MAKE_NATIVE
    -static char rcsid[] = "$NetBSD: var.c,v 1.171 2012/06/12 19:21:51 joerg Exp $";
    +static char rcsid[] = "$NetBSD: var.c,v 1.184 2013/09/04 15:38:26 sjg Exp $";
     #else
     #include 
     #ifndef lint
     #if 0
     static char sccsid[] = "@(#)var.c	8.3 (Berkeley) 3/19/94";
     #else
    -__RCSID("$NetBSD: var.c,v 1.171 2012/06/12 19:21:51 joerg Exp $");
    +__RCSID("$NetBSD: var.c,v 1.184 2013/09/04 15:38:26 sjg Exp $");
     #endif
     #endif /* not lint */
     #endif
    @@ -139,6 +139,7 @@ __RCSID("$NetBSD: var.c,v 1.171 2012/06/12 19:21:51 joerg Exp $");
     #include    "dir.h"
     #include    "job.h"
     
    +extern int makelevel;
     /*
      * This lets us tell if we have replaced the original environ
      * (which we cannot free).
    @@ -175,6 +176,7 @@ static char	varNoError[] = "";
      * The four contexts are searched in the reverse order from which they are
      * listed.
      */
    +GNode          *VAR_INTERNAL; /* variables from make itself */
     GNode          *VAR_GLOBAL;   /* variables from the makefile */
     GNode          *VAR_CMD;      /* variables defined on the command-line */
     
    @@ -309,7 +311,6 @@ static char *VarGetPattern(GNode *, Var_Parse_State *,
     			   int, const char **, int, int *, int *,
     			   VarPattern *);
     static char *VarQuote(char *);
    -static char *VarChangeCase(char *, int);
     static char *VarHash(char *);
     static char *VarModify(GNode *, Var_Parse_State *,
         const char *,
    @@ -408,6 +409,10 @@ VarFind(const char *name, GNode *ctxt, int flags)
     	(ctxt != VAR_GLOBAL))
         {
     	var = Hash_FindEntry(&VAR_GLOBAL->context, name);
    +	if ((var == NULL) && (ctxt != VAR_INTERNAL)) {
    +	    /* VAR_INTERNAL is subordinate to VAR_GLOBAL */
    +	    var = Hash_FindEntry(&VAR_INTERNAL->context, name);
    +	}
         }
         if ((var == NULL) && (flags & FIND_ENV)) {
     	char *env;
    @@ -429,6 +434,9 @@ VarFind(const char *name, GNode *ctxt, int flags)
     		   (ctxt != VAR_GLOBAL))
     	{
     	    var = Hash_FindEntry(&VAR_GLOBAL->context, name);
    +	    if ((var == NULL) && (ctxt != VAR_INTERNAL)) {
    +		var = Hash_FindEntry(&VAR_INTERNAL->context, name);
    +	    }
     	    if (var == NULL) {
     		return NULL;
     	    } else {
    @@ -530,11 +538,20 @@ void
     Var_Delete(const char *name, GNode *ctxt)
     {
         Hash_Entry 	  *ln;
    -
    -    ln = Hash_FindEntry(&ctxt->context, name);
    +    char *cp;
    +    
    +    if (strchr(name, '$')) {
    +	cp = Var_Subst(NULL, name, VAR_GLOBAL, 0);
    +    } else {
    +	cp = (char *)name;
    +    }
    +    ln = Hash_FindEntry(&ctxt->context, cp);
         if (DEBUG(VAR)) {
     	fprintf(debug_file, "%s:delete %s%s\n",
    -	    ctxt->name, name, ln ? "" : " (not found)");
    +	    ctxt->name, cp, ln ? "" : " (not found)");
    +    }
    +    if (cp != name) {
    +	free(cp);
         }
         if (ln != NULL) {
     	Var 	  *v;
    @@ -649,6 +666,15 @@ Var_ExportVars(void)
         char *val;
         int n;
     
    +    /*
    +     * Several make's support this sort of mechanism for tracking
    +     * recursion - but each uses a different name.
    +     * We allow the makefiles to update MAKELEVEL and ensure
    +     * children see a correctly incremented value.
    +     */
    +    snprintf(tmp, sizeof(tmp), "%d", makelevel + 1);
    +    setenv(MAKE_LEVEL_ENV, tmp, 1);
    +
         if (VAR_EXPORTED_NONE == var_exportedVars)
     	return;
     
    @@ -770,7 +796,7 @@ Var_UnExport(char *str)
         if (unexport_env) {
     	char **newenv;
     
    -	cp = getenv(MAKE_LEVEL);	/* we should preserve this */
    +	cp = getenv(MAKE_LEVEL_ENV);	/* we should preserve this */
     	if (environ == savedEnv) {
     	    /* we have been here before! */
     	    newenv = bmake_realloc(environ, 2 * sizeof(char *));
    @@ -787,7 +813,7 @@ Var_UnExport(char *str)
     	environ = savedEnv = newenv;
     	newenv[0] = NULL;
     	newenv[1] = NULL;
    -	setenv(MAKE_LEVEL, cp, 1);
    +	setenv(MAKE_LEVEL_ENV, cp, 1);
         } else {
     	for (; *str != '\n' && isspace((unsigned char) *str); str++)
     	    continue;
    @@ -911,6 +937,14 @@ Var_Set(const char *name, const char *val, GNode *ctxt, int flags)
         }
         v = VarFind(name, ctxt, 0);
         if (v == NULL) {
    +	if (ctxt == VAR_CMD && (flags & VAR_NO_EXPORT) == 0) {
    +	    /*
    +	     * This var would normally prevent the same name being added
    +	     * to VAR_GLOBAL, so delete it from there if needed.
    +	     * Otherwise -V name may show the wrong value.
    +	     */
    +	    Var_Delete(name, VAR_GLOBAL);
    +	}
     	VarAdd(name, val, ctxt);
         } else {
     	Buf_Empty(&v->val);
    @@ -945,22 +979,6 @@ Var_Set(const char *name, const char *val, GNode *ctxt, int flags)
     
     	Var_Append(MAKEOVERRIDES, name, VAR_GLOBAL);
         }
    -    /*
    -     * Another special case.
    -     * Several make's support this sort of mechanism for tracking
    -     * recursion - but each uses a different name.
    -     * We allow the makefiles to update .MAKE.LEVEL and ensure
    -     * children see a correctly incremented value.
    -     */
    -    if (ctxt == VAR_GLOBAL && strcmp(MAKE_LEVEL, name) == 0) {
    -	char tmp[64];
    -	int level;
    -	
    -	level = atoi(val);
    -	snprintf(tmp, sizeof(tmp), "%u", level + 1);
    -	setenv(MAKE_LEVEL, tmp, 1);
    -    }
    -	
     	
      out:
         if (expanded_name != NULL)
    @@ -2296,9 +2314,7 @@ VarHash(char *str)
         size_t         len, len2;
         unsigned char  *ustr = (unsigned char *)str;
         uint32_t       h, k, c1, c2;
    -    int            done;
     
    -    done = 1;
         h  = 0x971e137bU;
         c1 = 0x95543787U;
         c2 = 0x2ad7eb25U;
    @@ -2328,7 +2344,7 @@ VarHash(char *str)
     	h = (h << 13) ^ (h >> 19);
     	h = h * 5 + 0x52dce729U;
     	h ^= k;
    -   } while (!done);
    +   }
        h ^= len2;
        h *= 0x85ebca6b;
        h ^= h >> 13;
    @@ -2344,37 +2360,6 @@ VarHash(char *str)
        return Buf_Destroy(&buf, FALSE);
     }
     
    -/*-
    - *-----------------------------------------------------------------------
    - * VarChangeCase --
    - *      Change the string to all uppercase or all lowercase
    - *
    - * Input:
    - *	str		String to modify
    - *	upper		TRUE -> uppercase, else lowercase
    - *
    - * Results:
    - *      The string with case changed
    - *
    - * Side Effects:
    - *      None.
    - *
    - *-----------------------------------------------------------------------
    - */
    -static char *
    -VarChangeCase(char *str, int upper)
    -{
    -   Buffer         buf;
    -   int            (*modProc)(int);
    -
    -   modProc = (upper ? toupper : tolower);
    -   Buf_Init(&buf, 0);
    -   for (; *str ; str++) {
    -       Buf_AddByte(&buf, modProc(*str));
    -   }
    -   return Buf_Destroy(&buf, FALSE);
    -}
    -
     static char *
     VarStrftime(const char *fmt, int zulu)
     {
    @@ -2561,7 +2546,8 @@ ApplyModifiers(char *nstr, const char *tstr,
     	}
         apply_mods:
     	if (DEBUG(VAR)) {
    -	    fprintf(debug_file, "Applying :%c to \"%s\"\n", *tstr, nstr);
    +	    fprintf(debug_file, "Applying[%s] :%c to \"%s\"\n", v->name,
    +		*tstr, nstr);
     	}
     	newStr = var_Error;
     	switch ((modifier = *tstr)) {
    @@ -3050,8 +3036,16 @@ ApplyModifiers(char *nstr, const char *tstr,
     					       VarRealpath, NULL);
     			    cp = tstr + 2;
     			    termc = *cp;
    -			} else if (tstr[1] == 'u' || tstr[1] == 'l') {
    -			    newStr = VarChangeCase(nstr, (tstr[1] == 'u'));
    +			} else if (tstr[1] == 'u') {
    +			    char *dp = bmake_strdup(nstr);
    +			    for (newStr = dp; *dp; dp++)
    +				*dp = toupper((unsigned char)*dp);
    +			    cp = tstr + 2;
    +			    termc = *cp;
    +			} else if (tstr[1] == 'l') {
    +			    char *dp = bmake_strdup(nstr);
    +			    for (newStr = dp; *dp; dp++)
    +				*dp = tolower((unsigned char)*dp);
     			    cp = tstr + 2;
     			    termc = *cp;
     			} else if (tstr[1] == 'W' || tstr[1] == 'w') {
    @@ -3161,8 +3155,8 @@ ApplyModifiers(char *nstr, const char *tstr,
     		    free(cp2);
     		}
     		if (DEBUG(VAR))
    -		    fprintf(debug_file, "Pattern for [%s] is [%s]\n", nstr,
    -			pattern);
    +		    fprintf(debug_file, "Pattern[%s] for [%s] is [%s]\n",
    +			v->name, nstr, pattern);
     		if (*tstr == 'M') {
     		    newStr = VarModify(ctxt, &parsestate, nstr, VarMatch,
     				       pattern);
    @@ -3517,7 +3511,8 @@ ApplyModifiers(char *nstr, const char *tstr,
     	    }
     	}
     	if (DEBUG(VAR)) {
    -	    fprintf(debug_file, "Result of :%c is \"%s\"\n", modifier, newStr);
    +	    fprintf(debug_file, "Result[%s] of :%c is \"%s\"\n",
    +		v->name, modifier, newStr);
     	}
     
     	if (newStr != nstr) {
    @@ -4150,6 +4145,7 @@ Var_GetHead(char *file)
     void
     Var_Init(void)
     {
    +    VAR_INTERNAL = Targ_NewGN("Internal");
         VAR_GLOBAL = Targ_NewGN("Global");
         VAR_CMD = Targ_NewGN("Command");
     
    diff --git a/usr.bin/man/Makefile b/usr.bin/man/Makefile
    index ec1b1f0fd..8219957c9 100644
    --- a/usr.bin/man/Makefile
    +++ b/usr.bin/man/Makefile
    @@ -1,12 +1,14 @@
    -#	$NetBSD: Makefile,v 1.11 2009/04/14 22:15:23 lukem Exp $
    +#	$NetBSD: Makefile,v 1.14 2013/07/19 04:17:02 uwe Exp $
     #	@(#)Makefile	8.1 (Berkeley) 6/6/93
     
    -WARNS?=	2	# XXX -Wcast-qual issues
    +WARNS?=	6
     
     PROG=	man
     SRCS=	man.c manconf.c
     MAN=	man.1 man.conf.5
     
    +COPTS.man.c += -Wno-format-nonliteral
    +
     DPADD+=	${LIBUTIL}
     LDADD+=	-lutil
     
    diff --git a/usr.bin/man/man.1 b/usr.bin/man/man.1
    index 96c921407..3433fede5 100644
    --- a/usr.bin/man/man.1
    +++ b/usr.bin/man/man.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: man.1,v 1.24 2011/10/07 10:52:31 mbalmer Exp $
    +.\"	$NetBSD: man.1,v 1.26 2013/07/18 03:40:31 uwe Exp $
     .\"
     .\" Copyright (c) 1989, 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -201,8 +201,7 @@ The standard search path used by
     .Nm
     may be overridden by specifying a path in the
     .Ev MANPATH
    -environment
    -variable.
    +environment variable.
     The format of the path is a colon
     .Pq Dq \&:
     separated list of directories.
    @@ -224,10 +223,6 @@ will be used.
     .Bl -hang -width /etc/man.conf -compact
     .It Pa /etc/man.conf
     default man configuration file.
    -.It Pa /usr/{share,X11R7,pkg,local}/man/whatis.db
    -standard whatis/apropos database search path,
    -set in
    -.Pa /etc/man.conf .
     .El
     .Sh SEE ALSO
     .Xr apropos 1 ,
    diff --git a/usr.bin/man/man.c b/usr.bin/man/man.c
    index 99550d70d..b3cefd91b 100644
    --- a/usr.bin/man/man.c
    +++ b/usr.bin/man/man.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: man.c,v 1.44 2012/01/03 17:49:57 joerg Exp $	*/
    +/*	$NetBSD: man.c,v 1.60 2013/10/28 23:46:17 christos Exp $	*/
     
     /*
      * Copyright (c) 1987, 1993, 1994, 1995
    @@ -40,7 +40,7 @@ __COPYRIGHT("@(#) Copyright (c) 1987, 1993, 1994, 1995\
     #if 0
     static char sccsid[] = "@(#)man.c	8.17 (Berkeley) 1/31/95";
     #else
    -__RCSID("$NetBSD: man.c,v 1.44 2012/01/03 17:49:57 joerg Exp $");
    +__RCSID("$NetBSD: man.c,v 1.60 2013/10/28 23:46:17 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -101,23 +101,23 @@ struct manstate {
     
     	/* other misc stuff */
     	const char *pager;	/* pager to use */
    +	size_t pagerlen;	/* length of the above */
     	const char *machine;	/* machine */
     	const char *machclass;	/* machine class */
    -	size_t pagerlen;	/* length of the above */
     };
     
     /*
      * prototypes
      */
    -static void	 build_page(char *, char **, struct manstate *);
    -static void	 cat(char *);
    +static void	 build_page(const char *, char **, struct manstate *);
    +static void	 cat(const char *);
     static const char	*check_pager(const char *);
     static int	 cleanup(void);
    -static void	 how(char *);
    -static void	 jump(char **, char *, char *);
    +static void	 how(const char *);
    +static void	 jump(char **, const char *, const char *) __dead;
     static int	 manual(char *, struct manstate *, glob_t *);
    -static void	 onsig(int);
    -static void	 usage(void) __attribute__((__noreturn__));
    +static void	 onsig(int) __dead;
    +static void	 usage(void) __dead;
     static void	 addpath(struct manstate *, const char *, size_t, const char *);
     static const char *getclass(const char *);
     static void printmanpath(struct manstate *);
    @@ -128,7 +128,7 @@ static void printmanpath(struct manstate *);
     int
     main(int argc, char **argv)
     {
    -	static struct manstate m = { 0 }; 	/* init to zero */
    +	static struct manstate m;
     	int ch, abs_section, found;
     	ENTRY *esubd, *epath;
     	char *p, **ap, *cmd;
    @@ -465,33 +465,71 @@ main(int argc, char **argv)
     }
     
     static int
    -manual_find_buildkeyword(char *escpage, const char *fmt,
    -	struct manstate *mp, glob_t *pg, size_t cnt)
    +manual_find_literalfile(struct manstate *mp, char **pv)
     {
     	ENTRY *suffix;
     	int found;
    -	char *p, buf[MAXPATHLEN];
    +	char buf[MAXPATHLEN];
    +	const char *p;
    +	int suflen;
     
     	found = 0;
    -	/* Try the _build key words next. */
    +
    +	/*
    +	 * Expand both '*' and suffix to force an actual
    +	 * match via fnmatch(3). Since the only match in pg
    +	 * is the literal file, the match is genuine.
    +	 */
    +
     	TAILQ_FOREACH(suffix, &mp->buildlist->entrylist, q) {
    -		for (p = suffix->s;
    +		for (p = suffix->s, suflen = 0;
     		    *p != '\0' && !isspace((unsigned char)*p);
     		    ++p)
    -			continue;
    +			++suflen;
     		if (*p == '\0')
     			continue;
     
    -		*p = '\0';
    -		(void)snprintf(buf, sizeof(buf), fmt, escpage, suffix->s);
    -		if (!fnmatch(buf, pg->gl_pathv[cnt], 0)) {
    +		(void)snprintf(buf, sizeof(buf), "*%.*s", suflen, suffix->s);
    +
    +		if (!fnmatch(buf, *pv, 0)) {
     			if (!mp->where)
    -				build_page(p + 1, &pg->gl_pathv[cnt], mp);
    -			*p = ' ';
    +				build_page(p + 1, pv, mp);
     			found = 1;
     			break;
    -		}      
    -		*p = ' ';
    +		}
    +	}
    +
    +	return found;
    +}
    +
    +static int
    +manual_find_buildkeyword(const char *prefix, const char *escpage,
    +    struct manstate *mp, char **pv)
    +{
    +	ENTRY *suffix;
    +	int found;
    +	char buf[MAXPATHLEN];
    +	const char *p;
    +	int suflen;
    +
    +	found = 0;
    +	/* Try the _build keywords next. */
    +	TAILQ_FOREACH(suffix, &mp->buildlist->entrylist, q) {
    +		for (p = suffix->s, suflen = 0;
    +		    *p != '\0' && !isspace((unsigned char)*p);
    +		    ++p)
    +			++suflen;
    +		if (*p == '\0')
    +			continue;
    +
    +		(void)snprintf(buf, sizeof(buf), "%s%s%.*s",
    +		    prefix, escpage, suflen, suffix->s);
    +		if (!fnmatch(buf, *pv, 0)) {
    +			if (!mp->where)
    +				build_page(p + 1, pv, mp);
    +			found = 1;
    +			break;
    +		}
     	}
     
     	return found;
    @@ -536,10 +574,10 @@ manual(char *page, struct manstate *mp, glob_t *pg)
     	*eptr = '\0';
     
     	/*
    -	 * If 'page' is given with a full or relative path
    -	 * then interpret it as a file specification.
    +	 * If 'page' contains a slash then it's
    +	 * interpreted as a file specification.
     	 */
    -	if ((page[0] == '/') || (page[0] == '.')) {
    +	if (strchr(page, '/') != NULL) {
     		/* check if file actually exists */
     		(void)strlcpy(buf, escpage, sizeof(buf));
     		error = glob(buf, GLOB_APPEND | GLOB_BRACE | GLOB_NOSORT, NULL, pg);
    @@ -554,30 +592,14 @@ manual(char *page, struct manstate *mp, glob_t *pg)
     		if (pg->gl_matchc == 0)
     			goto notfound;
     
    -		/* clip suffix for the suffix check below */
    -		p = strrchr(escpage, '.');
    -		if (p && p[0] == '.' && isdigit((unsigned char)p[1]))
    -			p[0] = '\0';
    -
    -		found = 0;
    -		for (cnt = pg->gl_pathc - pg->gl_matchc;
    -		    cnt < pg->gl_pathc; ++cnt)
    -		{
    -			found = manual_find_buildkeyword(escpage, "%s%s",
    -				mp, pg, cnt);
    -			if (found) {
    -				anyfound = 1;
    -				if (!mp->all) {
    -					/* Delete any other matches. */
    -					while (++cnt< pg->gl_pathc)
    -						pg->gl_pathv[cnt] = "";
    -					break;
    -				}
    -				continue;
    -			}
    -
    +		/* literal file only yields one match */
    +		cnt = pg->gl_pathc - pg->gl_matchc;
    + 
    +		if (manual_find_literalfile(mp, &pg->gl_pathv[cnt])) {
    +			anyfound = 1;
    +		} else {
     			/* It's not a man page, forget about it. */
    -			pg->gl_pathv[cnt] = "";
    +			*pg->gl_pathv[cnt] = '\0';
     		}
     
       notfound:
    @@ -626,17 +648,17 @@ manual(char *page, struct manstate *mp, glob_t *pg)
     			if (mp->pathsearch) {
     				p = strstr(pg->gl_pathv[cnt], mp->pathsearch);
     				if (!p || strchr(p, '/') == NULL) {
    -					pg->gl_pathv[cnt] = ""; /* zap! */
    +					*pg->gl_pathv[cnt] = '\0'; /* zap! */
     					continue;
     				}
     			}
     
     			/*
    -			 * Try the _suffix key words first.
    +			 * Try the _suffix keywords first.
     			 *
     			 * XXX
    -			 * Older versions of man.conf didn't have the suffix
    -			 * key words, it was assumed that everything was a .0.
    +			 * Older versions of man.conf didn't have the _suffix
    +			 * keywords, it was assumed that everything was a .0.
     			 * We just test for .0 first, it's fast and probably
     			 * going to hit.
     			 */
    @@ -657,22 +679,22 @@ manual(char *page, struct manstate *mp, glob_t *pg)
     			if (found)
     				goto next;
     
    -			/* Try the _build key words next. */
    -			found = manual_find_buildkeyword(escpage, "*/%s%s",
    -				mp, pg, cnt);
    +			/* Try the _build keywords next. */
    +			found = manual_find_buildkeyword("*/", escpage,
    +				mp, &pg->gl_pathv[cnt]);
     			if (found) {
     next:				anyfound = 1;
     				if (!mp->all) {
     					/* Delete any other matches. */
     					while (++cnt< pg->gl_pathc)
    -						pg->gl_pathv[cnt] = "";
    +						*pg->gl_pathv[cnt] = '\0';
     					break;
     				}
     				continue;
     			}
     
     			/* It's not a man page, forget about it. */
    -			pg->gl_pathv[cnt] = "";
    +			*pg->gl_pathv[cnt] = '\0';
     		}
     
     		if (anyfound && !mp->all)
    @@ -697,10 +719,11 @@ next:				anyfound = 1;
      *	Build a man page for display.
      */
     static void
    -build_page(char *fmt, char **pathp, struct manstate *mp)
    +build_page(const char *fmt, char **pathp, struct manstate *mp)
     {
     	static int warned;
    -	int olddir, fd, n, tmpdirlen;
    +	int olddir, fd, n;
    +	size_t tmpdirlen;
     	char *p, *b;
     	char buf[MAXPATHLEN], cmd[MAXPATHLEN], tpath[MAXPATHLEN];
     	const char *tmpdir;
    @@ -746,7 +769,7 @@ build_page(char *fmt, char **pathp, struct manstate *mp)
     			}
     
     
    -	/* advance fmt pass the suffix spec to the printf format string */
    +	/* advance fmt past the suffix spec to the printf format string */
     	for (; *fmt && isspace((unsigned char)*fmt); ++fmt)
     		continue;
     
    @@ -758,7 +781,7 @@ build_page(char *fmt, char **pathp, struct manstate *mp)
     		tmpdir = _PATH_TMP;
     	tmpdirlen = strlen(tmpdir);
     	(void)snprintf(tpath, sizeof (tpath), "%s%s%s", tmpdir, 
    -	    (tmpdirlen && tmpdir[tmpdirlen-1] == '/') ? "" : "/", TMPFILE);
    +	    (tmpdirlen > 0 && tmpdir[tmpdirlen-1] == '/') ? "" : "/", TMPFILE);
     	if ((fd = mkstemp(tpath)) == -1) {
     		warn("%s", tpath);
     		(void)cleanup();
    @@ -793,12 +816,13 @@ build_page(char *fmt, char **pathp, struct manstate *mp)
      *	display how information
      */
     static void
    -how(char *fname)
    +how(const char *fname)
     {
     	FILE *fp;
     
     	int lcnt, print;
    -	char *p, buf[256];
    +	char buf[256];
    +	const char *p;
     
     	if (!(fp = fopen(fname, "r"))) {
     		warn("%s", fname);
    @@ -840,9 +864,10 @@ how(char *fname)
      *	cat out the file
      */
     static void
    -cat(char *fname)
    +cat(const char *fname)
     {
    -	int fd, n;
    +	int fd;
    +	ssize_t n;
     	char buf[2048];
     
     	if ((fd = open(fname, O_RDONLY, 0)) < 0) {
    @@ -851,7 +876,7 @@ cat(char *fname)
     		exit(EXIT_FAILURE);
     	}
     	while ((n = read(fd, buf, sizeof(buf))) > 0)
    -		if (write(STDOUT_FILENO, buf, n) != n) {
    +		if (write(STDOUT_FILENO, buf, (size_t)n) != n) {
     			warn("write");
     			(void)cleanup();
     			exit(EXIT_FAILURE);
    @@ -898,11 +923,11 @@ check_pager(const char *name)
      *	strip out flag argument and jump
      */
     static void
    -jump(char **argv, char *flag, char *name)
    +jump(char **argv, const char *flag, const char *name)
     {
     	char **arg;
     
    -	argv[0] = name;
    +	argv[0] = __UNCONST(name);
     	for (arg = argv + 1; *arg; ++arg)
     		if (!strcmp(*arg, flag))
     			break;
    diff --git a/usr.bin/man/man.conf.5 b/usr.bin/man/man.conf.5
    index 7100f24f6..4d5f8032d 100644
    --- a/usr.bin/man/man.conf.5
    +++ b/usr.bin/man/man.conf.5
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: man.conf.5,v 1.22 2012/04/29 03:46:43 christos Exp $
    +.\"	$NetBSD: man.conf.5,v 1.24 2013/06/28 10:13:18 wiz Exp $
     .\"
     .\" Copyright (c) 1989, 1991, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -81,9 +81,9 @@ Control keywords must start with the
     .Dq _
     character.
     The following control keywords are currently defined:
    -.Bl -tag -width "_version"
    +.Bl -tag -width XXmachineX
     .It _build
    -identifies the set of suffixes used for manual pages that must be
    +Identifies the set of suffixes used for manual pages that must be
     formatted for display and the command that should be used to format
     them.
     Manual file names, regardless of their format, are expected to end in a
    @@ -103,7 +103,7 @@ There should be exactly one occurrence of the string
     in the shell command line, and it will
     be replaced by the name of the file which is being formatted.
     .It _crunch
    -used by
    +Used by
     .Xr catman 8
     to determine how to crunch formatted pages
     which originally were compressed man pages: The first field lists a suffix
    @@ -115,9 +115,9 @@ There should be exactly one occurrence of the string
     in the shell command line, and it will
     be replaced by the name of the output file.
     .It _default
    -contains the system-wide default man path used to search for man pages.
    +Contains the system-wide default man path used to search for man pages.
     .It _subdir
    -contains the list (in search order) of section subdirectories which will
    +Contains the list (in search order) of section subdirectories which will
     be searched in any man path directory named with a trailing slash
     .Pq Dq /
     character.
    @@ -141,9 +141,9 @@ Each suffix may contain the normal shell globbing characters (NOT
     including curly braces
     .Pq Dq {} ) .
     .It _version
    -contains the version of the configuration file.
    +Contains the version of the configuration file.
     .It _whatdb
    -defines the full pathname (not just a directory path) for a database to
    +Defines the full pathname (not just a directory path) for a database to
     be used
     by the
     .Xr apropos 1
    @@ -156,8 +156,8 @@ including curly braces
     to escape a shell globbing character,
     precede it with a backslash
     .Pq Dq \e .
    -.It _\*[Lt]machine\*[Gt]
    -The defines additional paths to be searched for the particular
    +.It _ Ns Aq machine
    +Defines additional paths to be searched for the particular
     .Dv machine
     whose literal value is taken from
     .Xr uname 1
    @@ -241,7 +241,7 @@ sect3		/usr/share/man/{old/,}cat3
     By default, the command
     .Dq Li man mktemp
     will search for
    -.Dq mktemp.\*[Lt]any_digit\*[Gt]
    +.Dq mktemp. Ns Aq any_digit
     and
     .Dq mktemp.tbl
     in the directories
    @@ -260,7 +260,7 @@ searched.
     If
     .Dq mktemp.tbl
     was found first, the command
    -.Dq Li tbl \*[Lt]manual page\*[Gt] | nroff -man
    +.Dq Li tbl Ao manual page Ac | nroff -man
     would be run to build a man page for display to the user.
     .Pp
     The command
    diff --git a/usr.bin/man/manconf.c b/usr.bin/man/manconf.c
    index 348590453..2a386a697 100644
    --- a/usr.bin/man/manconf.c
    +++ b/usr.bin/man/manconf.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: manconf.c,v 1.6 2008/03/08 15:48:27 christos Exp $	*/
    +/*	$NetBSD: manconf.c,v 1.7 2013/07/18 15:39:08 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993, 1995
    @@ -45,7 +45,7 @@
     #if 0
     static char sccsid[] = "@(#)config.c	8.8 (Berkeley) 1/31/95";
     #else
    -__RCSID("$NetBSD: manconf.c,v 1.6 2008/03/08 15:48:27 christos Exp $");
    +__RCSID("$NetBSD: manconf.c,v 1.7 2013/07/18 15:39:08 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -172,8 +172,8 @@ config(const char *fname)
     			 * section entries can either be all absolute
     			 * paths or all relative paths, but not both.
     			 */
    -			type = (TAILQ_FIRST(&tp->entrylist) != NULL) ?
    -			    *(TAILQ_FIRST(&tp->entrylist)->s) : 0;
    +			type = (char)((TAILQ_FIRST(&tp->entrylist) != NULL) ?
    +			    *(TAILQ_FIRST(&tp->entrylist)->s) : '\0');
     
     			for (++t; (p = strtok(t, " \t\n")) != NULL; t = NULL) {
     
    diff --git a/usr.bin/menuc/defs.h b/usr.bin/menuc/defs.h
    index e35cb900b..41dd5cc55 100644
    --- a/usr.bin/menuc/defs.h
    +++ b/usr.bin/menuc/defs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: defs.h,v 1.9 2012/03/06 16:55:18 mbalmer Exp $	 */
    +/*	$NetBSD: defs.h,v 1.10 2013/10/18 20:19:36 christos Exp $	 */
     
     /*
      * Copyright 1997 Piermont Information Systems Inc.
    @@ -50,10 +50,12 @@
     #define INIT(x)
     #endif
     
    -/* some constants */
    -#define TRUE 1
    -#define FALSE 0
    -
    +#ifndef TRUE
    +#define TRUE	1
    +#endif
    +#ifndef FALSE
    +#define FALSE	0
    +#endif
     /* Global variables .. to be defined in main.c, extern elsewhere. */
     
     EXTERN char *prog_name;
    diff --git a/usr.bin/mkdep/Makefile b/usr.bin/mkdep/Makefile
    index 2ad94e82e..fc0820701 100644
    --- a/usr.bin/mkdep/Makefile
    +++ b/usr.bin/mkdep/Makefile
    @@ -6,7 +6,4 @@ MAN=	mkdep.1
     PROG=	mkdep
     SRCS=	mkdep.c findcc.c
     
    -# LSC Until it compiles cleanly...
    -NOGCCERROR:=yes
    -
     .include 
    diff --git a/usr.bin/mkdep/findcc.c b/usr.bin/mkdep/findcc.c
    index c758fb73e..581c0bd66 100644
    --- a/usr.bin/mkdep/findcc.c
    +++ b/usr.bin/mkdep/findcc.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: findcc.c,v 1.5 2009/04/12 14:23:30 lukem Exp $ */
    +/* $NetBSD: findcc.c,v 1.6 2011/09/04 20:30:06 joerg Exp $ */
     
     /*-
      * Copyright (c) 1999 The NetBSD Foundation, Inc.
    @@ -37,7 +37,7 @@
     #if !defined(lint)
     __COPYRIGHT("@(#) Copyright (c) 1999 The NetBSD Foundation, Inc.\
      All rights reserved.");
    -__RCSID("$NetBSD: findcc.c,v 1.5 2009/04/12 14:23:30 lukem Exp $");
    +__RCSID("$NetBSD: findcc.c,v 1.6 2011/09/04 20:30:06 joerg Exp $");
     #endif /* not lint */
     
     #include 
    @@ -49,8 +49,7 @@ __RCSID("$NetBSD: findcc.c,v 1.5 2009/04/12 14:23:30 lukem Exp $");
     #include "findcc.h"
     
     char *
    -findcc(progname)
    -	const char	*progname;
    +findcc(const char *progname)
     {
     	char   *path, *dir, *next;
     	char   buffer[MAXPATHLEN];
    diff --git a/usr.bin/mkdep/mkdep.1 b/usr.bin/mkdep/mkdep.1
    index ebf3680d6..710616281 100644
    --- a/usr.bin/mkdep/mkdep.1
    +++ b/usr.bin/mkdep/mkdep.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: mkdep.1,v 1.15 2010/10/15 05:46:48 dholland Exp $
    +.\"	$NetBSD: mkdep.1,v 1.18 2013/03/05 01:59:56 christos Exp $
     .\"
     .\" Copyright (c) 1987, 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -29,7 +29,7 @@
     .\"
     .\"     @(#)mkdep.1	8.1 (Berkeley) 6/6/93
     .\"
    -.Dd October 15, 2010
    +.Dd March 4, 2013
     .Dt MKDEP 1
     .Os
     .Sh NAME
    @@ -37,8 +37,9 @@
     .Nd construct Makefile dependency list
     .Sh SYNOPSIS
     .Nm
    -.Op Fl aDdopq
    +.Op Fl aDdiopqv
     .Op Fl f Ar file
    +.Op Fl P Ar prefix
     .Op Fl s Ar suffixes
     .Li --
     .Op Ar flags
    @@ -79,8 +80,23 @@ depend files into a single file.
     Write the include file dependencies to
     .Ar file ,
     instead of the default ``.depend''.
    +.It Fl i
    +When
    +.Fl d
    +or
    +.Fl D
    +is used, instead of inlining the contents of the files to the resulting
    +depend file, use include statements to include the source dependency files.
     .It Fl o
    -Add an additional .OPTIONAL line for each dependant file.
    +Add an additional .OPTIONAL line for each dependent file.
    +.It Fl P
    +Prepend the string given in
    +.Ar prefix
    +to every target filename.
    +This is useful for programs that have source files in multiple subdirectories
    +and a single Makefile that references all of them explicitly (without using
    +the VPATH functionality because there can be files with the same name in
    +each subdirectory).
     .It Fl p
     Cause
     .Nm
    @@ -109,6 +125,8 @@ Expand each target filename to a list, replacing the
     suffix with each element of
     .Ar suffixes .
     The list of suffixes may be space or comma separated.
    +.It Fl v
    +print debugging output.
     .El
     .Sh FILES
     .Bl -tag -width .depend -compact
    diff --git a/usr.bin/mkdep/mkdep.c b/usr.bin/mkdep/mkdep.c
    index c7c88da2c..b059b32f1 100644
    --- a/usr.bin/mkdep/mkdep.c
    +++ b/usr.bin/mkdep/mkdep.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: mkdep.c,v 1.35 2010/05/26 18:07:34 christos Exp $ */
    +/* $NetBSD: mkdep.c,v 1.43 2013/03/05 21:57:47 christos Exp $ */
     
     /*-
      * Copyright (c) 1999 The NetBSD Foundation, Inc.
    @@ -37,7 +37,7 @@
     #if !defined(lint)
     __COPYRIGHT("@(#) Copyright (c) 1999 The NetBSD Foundation, Inc.\
      All rights reserved.");
    -__RCSID("$NetBSD: mkdep.c,v 1.35 2010/05/26 18:07:34 christos Exp $");
    +__RCSID("$NetBSD: mkdep.c,v 1.43 2013/03/05 21:57:47 christos Exp $");
     #endif /* not lint */
     
     #ifndef __minix
    @@ -48,6 +48,7 @@ __RCSID("$NetBSD: mkdep.c,v 1.35 2010/05/26 18:07:34 christos Exp $");
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -66,21 +67,22 @@ struct opt {
     	char	name[4];
     };
     
    -typedef struct {
    +typedef struct suff_list {
     	size_t	len;
    -	char	suff[12];
    +	char	*suff;
    +	struct suff_list *next;
     } suff_list_t;
     
     /* tree of includes for -o processing */
    -opt_t *opt;
    -int width;
    +static opt_t *opt;
    +static int width;
    +static int verbose;
     
     #define DEFAULT_PATH		_PATH_DEFPATH
     #define DEFAULT_FILENAME	".depend"
     
     static void save_for_optional(const char *, const char *);
    -static int write_optional(int, opt_t *, int);
    -
    +static size_t write_optional(int, opt_t *, size_t);
     
     static inline void *
     deconst(const void *p)
    @@ -88,11 +90,12 @@ deconst(const void *p)
     	return (const char *)p - (const char *)0 + (char *)0;
     }
     
    -static void
    +__dead static void
     usage(void)
     {
     	(void)fprintf(stderr,
    -	    "usage: %s [-aDdopq] [-f file] [-s suffixes] -- [flags] file ...\n",
    +	    "usage: %s [-aDdiopqv] [-f file] [-P prefix] [-s suffixes] "
    +	    "-- [flags] file ...\n",
     	    getprogname());
     	exit(EXIT_FAILURE);
     }
    @@ -126,13 +129,19 @@ run_cc(int argc, char **argv, const char **fname)
     		tmpdir = _PATH_TMP;
     	(void)snprintf(tmpfilename, sizeof (tmpfilename), "%s/%s", tmpdir,
     	    "mkdepXXXXXX");
    -	if ((tmpfd = mkstemp(tmpfilename)) < 0) {
    -		warn("unable to create temporary file %s", tmpfilename);
    -		exit(EXIT_FAILURE);
    -	}
    +	if ((tmpfd = mkstemp(tmpfilename)) < 0)
    +		err(EXIT_FAILURE,  "Unable to create temporary file %s",
    +		    tmpfilename);
     	(void)unlink(tmpfilename);
     	*fname = tmpfilename;
     
    +	if (verbose) {
    +		char **a;
    +		for (a = args; *a; a++)
    +			printf("%s ", *a);
    +		printf("\n");
    +	}
    +
     	switch (cpid = vfork()) {
     	case 0:
     		(void)dup2(tmpfd, STDOUT_FILENO);
    @@ -185,10 +194,31 @@ read_fname(void)
     	return fbuf;
     }
     
    +static struct option longopt[] = {
    +	{ "sysroot", 1, NULL, 'R' },
    +	{ NULL, 0, NULL, '\0' },
    +};
    +
    +static void
    +addsuff(suff_list_t **l, const char *s, size_t len)
    +{
    +	suff_list_t *p = calloc(1, sizeof(*p));
    +	if (p == NULL)
    +		err(1, "calloc");
    +	p->suff = malloc(len + 1);
    +	if (p->suff == NULL)
    +		err(1, "malloc");
    +	memcpy(p->suff, s, len);
    +	p->suff[len] = '\0';
    +	p->len = len;
    +	p->next = *l;
    +	*l = p;
    +}
    +
     int
     main(int argc, char **argv)
     {
    -	int 	aflag, dflag, oflag, qflag;
    +	int 	aflag, dflag, iflag, oflag, qflag;
     	const char *filename;
     	int	dependfile;
     	char	*buf, *lim, *ptr, *line, *suf, *colon, *eol;
    @@ -197,6 +227,7 @@ main(int argc, char **argv)
     	int	fd;
     	size_t  slen;
     	const char *fname;
    +	const char *prefix = NULL;
     	const char *suffixes = NULL, *s;
     	suff_list_t *suff_list = NULL, *sl;
     #ifdef __minix
    @@ -211,6 +242,7 @@ main(int argc, char **argv)
     
     	aflag = O_WRONLY | O_APPEND | O_CREAT | O_TRUNC;
     	dflag = 0;
    +	iflag = 0;
     	oflag = 0;
     	qflag = 0;
     	filename = DEFAULT_FILENAME;
    @@ -219,7 +251,7 @@ main(int argc, char **argv)
     	opterr = 0;	/* stop getopt() bleating about errors. */
     	for (;;) {
     		ok_ind = optind;
    -		ch = getopt(argc, argv, "aDdf:opqs:");
    +		ch = getopt_long(argc, argv, "aDdf:ioP:pqRs:v", longopt, NULL);
     		switch (ch) {
     		case -1:
     			ok_ind = optind;
    @@ -238,18 +270,30 @@ main(int argc, char **argv)
     		case 'f':	/* Name of output file */
     			filename = optarg;
     			continue;
    -		case 'o':	/* Mark dependant files .OPTIONAL */
    +		case 'i':
    +			iflag = 1;
    +			continue;
    +		case 'o':	/* Mark dependent files .OPTIONAL */
     			oflag = 1;
     			continue;
    +		case 'P':	/* Prefix for each target filename */
    +			prefix = optarg;
    +			continue;
     		case 'p':	/* Program mode (x.o: -> x:) */
     			suffixes = "";
     			continue;
     		case 'q':	/* Quiet */
     			qflag = 1;
     			continue;
    +		case 'R':
    +			/* sysroot = optarg */
    +			continue;
     		case 's':	/* Suffix list */
     			suffixes = optarg;
     			continue;
    +		case 'v':
    +			verbose = 1;
    +			continue;
     		default:
     			if (dflag)
     				usage();
    @@ -265,28 +309,20 @@ main(int argc, char **argv)
     		usage();
     
     	if (suffixes != NULL) {
    -		/* parse list once and save names and lengths */
    -		/* allocate an extra entry to mark end of list */
    -		for (sz = 1, s = suffixes; *s != 0; s++)
    -			if (*s == '.')
    -			    sz++;
    -		suff_list = calloc(sz, sizeof *suff_list);
    -		if (suff_list == NULL)
    -			err(2, "malloc");
    -		sl = suff_list;
    -		for (s = suffixes; (s = strchr(s, '.')); s += sz, sl++) {
    -			sz = strcspn(s, ", ");
    -			if (sz > sizeof sl->suff)
    -				errx(2, "suffix too long");
    -			sl->len = sz;
    -			memcpy(sl->suff, s, sz);
    -		}
    +		if (*suffixes) {
    +			for (s = suffixes; (sz = strcspn(s, ", ")) != 0;) {
    +				addsuff(&suff_list, s, sz);
    +				s += sz;
    +				while (*s && strchr(", ", *s))
    +					s++;
    +			}
    +		} else
    +			addsuff(&suff_list, "", 0);
     	}
     
     	dependfile = open(filename, aflag, 0666);
     	if (dependfile == -1)
    -		err(EXIT_FAILURE, "unable to %s to file %s\n",
    -		    aflag & O_TRUNC ? "write" : "append", filename);
    +		goto wrerror;
     
     	while (dflag == 2 || *argv != NULL) {
     		if (dflag) {
    @@ -296,6 +332,12 @@ main(int argc, char **argv)
     					break;
     			} else
     				fname = *argv++;
    +			if (iflag) {
    +				if (dprintf(dependfile, ".-include \"%s\"\n",
    +				    fname) < 0)
    +					goto wrerror;
    +				continue;
    +			}
     			fd = open(fname, O_RDONLY, 0);
     			if (fd == -1) {
     				if (!qflag)
    @@ -358,7 +400,8 @@ main(int argc, char **argv)
     			}
     			if (isspace((unsigned char)*line) || colon == NULL) {
     				/* No dependency - just transcribe line */
    -				write(dependfile, line, eol - line);
    +				if (write(dependfile, line, eol - line) < 0)
    +					goto wrerror;
     				line = eol;
     				continue;
     			}
    @@ -373,8 +416,10 @@ main(int argc, char **argv)
     					errx(EXIT_FAILURE,
     					    "Corrupted file `%s'", fname);
     				/* Then look for any valid suffix */
    -				for (sl = suff_list; sl->len != 0; sl++) {
    -					if (!memcmp(suf - sl->len, sl->suff,
    +				for (sl = suff_list; sl != NULL;
    +				    sl = sl->next) {
    +					if (sl->len && buf <= suf - sl->len &&
    +					    !memcmp(suf - sl->len, sl->suff,
     						    sl->len))
     						break;
     				}
    @@ -382,7 +427,7 @@ main(int argc, char **argv)
     				 * Not found, check for .o, since the
     				 * original file will have it.
     				 */
    -				if (sl->len == 0 && suff_list->len != 0) {
    +				if (sl == NULL) {
     					if (memcmp(suf - 2, ".o", 2) == 0)
     						slen = 2;
     					else
    @@ -392,15 +437,33 @@ main(int argc, char **argv)
     			}
     			if (suff_list != NULL && slen != 0) {
     				suf -= slen;
    -				for (sl = suff_list; sl->len != 0; sl++) {
    +				for (sl = suff_list; sl != NULL; sl = sl->next)
    +				{
     					if (sl != suff_list)
    -						write(dependfile, " ", 1);
    -					write(dependfile, line, suf - line);
    -					write(dependfile, sl->suff, sl->len);
    +						if (write(dependfile, " ", 1)
    +						    < 0)
    +							goto wrerror;
    +					if (prefix != NULL)
    +						if (write(dependfile, prefix,
    +						    strlen(prefix)) < 0)
    +							goto wrerror;
    +					if (write(dependfile, line,
    +					    suf - line) < 0)
    +						goto wrerror;
    +					if (write(dependfile, sl->suff,
    +					    sl->len) < 0)
    +						goto wrerror;
     				}
    -				write(dependfile, colon, eol - colon);
    -			} else
    -				write(dependfile, line, eol - line);
    +				if (write(dependfile, colon, eol - colon) < 0)
    +					goto wrerror;
    +			} else {
    +				if (prefix != NULL)
    +					if (write(dependfile, prefix,
    +					    strlen(prefix)) < 0)
    +						goto wrerror;
    +				if (write(dependfile, line, eol - line) < 0)
    +					goto wrerror;
    +			}
     
     			if (oflag)
     				save_for_optional(colon + 1, eol);
    @@ -414,15 +477,21 @@ main(int argc, char **argv)
     	}
     
     	if (oflag && opt != NULL) {
    -		write(dependfile, ".OPTIONAL:", 10);
    +		if (write(dependfile, ".OPTIONAL:", 10) < 0)
    +			goto wrerror;
     		width = 9;
     		sz = write_optional(dependfile, opt, 0);
    +		if (sz == (size_t)-1)
    +			goto wrerror;
     		/* 'depth' is about 39 for an i386 kernel */
     		/* fprintf(stderr, "Recursion depth %d\n", sz); */
     	}
     	close(dependfile);
     
     	exit(EXIT_SUCCESS);
    +wrerror:
    +	err(EXIT_FAILURE, "unable to %s to file %s\n",
    +	    aflag & O_TRUNC ? "write" : "append", filename);
     }
     
     
    @@ -479,19 +548,21 @@ save_for_optional(const char *start, const char *limit)
     	}
     }
     
    -static int
    -write_optional(int fd, opt_t *node, int depth)
    +static size_t
    +write_optional(int fd, opt_t *node, size_t depth)
     {
    -	int d1 = ++depth;
    +	size_t d1 = ++depth;
     
     	if (node->left)
     		d1 = write_optional(fd, node->left, d1);
     	if (width > 76 - node->len) {
    -		write(fd, " \\\n ", 4);
    +		if (write(fd, " \\\n ", 4) < 0)
    +			return (size_t)-1;
     		width = 1;
     	}
     	width += 1 + node->len;
    -	write(fd, node->name, 1 + node->len);
    +	if (write(fd, node->name, 1 + node->len) < 0)
    +		return (size_t)-1;
     	if (node->right)
     		depth = write_optional(fd, node->right, depth);
     	return d1 > depth ? d1 : depth;
    diff --git a/usr.bin/mktemp/mktemp.1 b/usr.bin/mktemp/mktemp.1
    index c6d44b707..cbb0c5dfc 100644
    --- a/usr.bin/mktemp/mktemp.1
    +++ b/usr.bin/mktemp/mktemp.1
    @@ -1,4 +1,4 @@
    -.\" $NetBSD: mktemp.1,v 1.19 2009/08/15 20:44:56 wiz Exp $
    +.\" $NetBSD: mktemp.1,v 1.21 2012/11/04 10:10:03 apb Exp $
     .\" From: $FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.5 1999/08/28 01:04:13 peter Exp $
     .\" From: $OpenBSD: mktemp.1,v 1.8 1998/03/19 06:13:37 millert Exp $
     .\"
    @@ -31,7 +31,7 @@
     .\"
     .\" $FreeBSD: src/usr.bin/mktemp/mktemp.1,v 1.5 1999/08/28 01:04:13 peter Exp $
     .\"
    -.Dd August 15, 2009
    +.Dd November 4, 2012
     .Dt MKTEMP 1
     .Os
     .Sh NAME
    @@ -49,114 +49,131 @@
     .Sh DESCRIPTION
     The
     .Nm
    -utility takes each of the given file name templates and overwrites a
    -portion of it to create a file name.
    -This file name is unique and suitable for use by the application.
    -The template may be any file name with some number of
    -.Ql X Ns s
    -appended to it, for example
    -.Pa /tmp/temp.XXXX .
    +utility
    +is provided to allow shell scripts to safely use temporary files.
    +It creates temporary files or directories using unique names,
    +and prints the names.
    +.Pp
    +The name of each temporary file or directory is derived from a
    +template that includes several trailing
    +.Ql X
    +characters, such as
    +.Pa /tmp/prefix.XXXX .
     The trailing
    -.Ql X Ns s
    -are replaced with the current process number and/or a
    -unique letter combination.
    +.Ql X
    +characters in the template are replaced by unique values derived from
    +the current process number and additional letters or numbers.
    +Any
    +.Ql X
    +characters other than at the end of the template are taken literally.
     The number of unique file names
     .Nm
    -can return depends on the number of
    +can return depends on the number of trailing
     .Ql X Ns s
    -provided; six
    +in the template; six
     .Ql X Ns s
     will result in
     .Nm
     testing roughly 26 ** 6 combinations.
     .Pp
    +The templates used to create the unique names are derived from the
    +.Fl t Ar prefix
    +option, or the
    +.Ar template
    +arguments, possibly modified by other options.
    +Any number of temporary files or directories may be created
    +in a single invocation using multiple
    +.Ar template
    +arguments.
    +It is possible to specify both a
    +.Fl t Ar prefix
    +option and one or more
    +.Ar template
    +arguments,
    +but this is not usually done.
    +.Pp
    +If neither a
    +.Fl t Ar prefix
    +option, nor any
    +.Ar template
    +arguments are specified, then the default is equivalent to
    +.Fl t Li mktemp .
    +.Pp
     If
     .Nm
     can successfully generate a unique file name, the file
     is created with mode 0600 (unless the
     .Fl u
     flag is given) and the filename is printed to standard output.
    -.Pp
    -If the
    -.Fl t Ar prefix
    -option is given,
    -.Nm
    -will generate a template string based on the
    -.Ar prefix
    -and the
    -.Ev TMPDIR
    -environment variable, if set.
    -The default location if
    -.Ev TMPDIR
    -is not set is
    -.Pa /tmp .
    -The default location of the temporary directory can be overridden with the
    -.Fl p Ar tmpdir
    -option.
    -The template string created will consist of the
    -.Ar prefix
    -followed by a
    -.So . Sc
    -and an eight character unique letter combination.
    -.Ql X Ns s
    -in the
    -.Ar prefix
    -string will be treated as literal.
    -If an additional
    -.Ar template
    -argument is passed, a second file will be created.
    -Care should be taken to ensure that it is appropriate to use an
    -environment variable potentially supplied by the user.
    -.Pp
    -Any number of temporary files may be created in a single invocation
    -using multiple
    -.Ar template
    -arguments, also a single one based on the internal template with the
    -.Fl t
    -option value as filename prefix.
    -.Pp
    -At least one
    -.Ar template
    -argument or the
    -.Fl t
    -option must be present.
    -.Pp
    -.Nm
    -is provided to allow shell scripts to safely use temporary files.
    -Traditionally, many shell scripts take the name of the program with
    -the pid as a suffix and use that as a temporary file name.
    -This kind of naming scheme is predictable and the race condition
    -it creates is easy for an attacker to win.
    -A safer, though still inferior, approach
    -is to make a temporary directory using the same naming scheme.
    -While this does allow one to guarantee that a temporary file will
    -not be subverted, it still allows a simple denial of service attack.
    -For these reasons it is suggested that
    -.Nm
    -be used instead.
     .Sh OPTIONS
     The available options are as follows:
     .Bl -tag -width indent
     .It Fl d
     Make a directory instead of a file.
    +.It Fl p Ar tmpdir
    +Specifies a directory in which temporary files should be created.
    +If this option is specified, then it applies to all temporary files,
    +including those created as a result of a
    +.Fl t Ar prefix
    +option, and those created as a result of a
    +.Ar template
    +argument.
    +.Pp
    +If the
    +.Fl p Ar tmpdir
    +option is not specified, then
    +temporary files created as a result of a
    +.Fl t Ar prefix
    +option will use a default temporary directory
    +(as described under the
    +.Fl t
    +option),
    +but temporary files created as a result of a
    +.Ar template
    +argument will not use a default temporary directory
    +(so they will be created relative to the current working directory, if the
    +.Ar template
    +does not begin with
    +.Ql \&/ ) .
    +.It Fl t Ar prefix
    +Generate a template using an appropriate directory name, followed by the
    +supplied
    +.Ar prefix ,
    +followed by
    +.Ql \&.XXXXXXXX .
    +Any
    +.Ql X
    +characters in the supplied
    +.Ar prefix
    +are taken literally, but the trailing
    +.Ql X
    +characters in the appended
    +.Ql \&.XXXXXXXX
    +are replaced by unique values.
    +.Pp
    +The directory name used for the template generated by the
    +.Fl t Ar prefix
    +option is taken from the
    +.Fl p Ar tmpdir
    +option, or from the
    +.Ev TMPDIR
    +environment variable, or
    +.Pa /tmp
    +as a default.
    +.Pp
    +If one or more
    +.Ar template
    +arguments are used in addition to the
    +.Fl t Ar prefix
    +option, then the
    +.Ar prefix
    +does not apply to the
    +.Ar template
    +arguments.
     .It Fl q
     Fail silently if an error occurs.
     This is useful if
     a script does not want error output to go to standard error.
    -.It Fl t Ar prefix
    -Generate a template (using the supplied
    -.Ar prefix
    -and
    -.Ev TMPDIR
    -if set) to create a filename template.
    -If
    -.Fl t Ar prefix
    -and
    -.Ar template
    -are both given,
    -.Ar prefix
    -will not apply to
    -.Ar template .
     .It Fl u
     Operate in
     .Dq unsafe
    @@ -169,6 +186,32 @@ This is slightly better than
     but still introduces a race condition.
     Use of this option is not encouraged.
     .El
    +.Sh NOTES
    +.Nm
    +takes care to create the files or directories in a way that is
    +safe from race conditions (provided the
    +.Fl u
    +option is not used).
    +.Pp
    +Traditionally, without
    +.Nm ,
    +many shell scripts created temporary files
    +using the name of the program with
    +the pid as a suffix.
    +This kind of naming scheme is predictable and creates a race condition that
    +allows an attacker to subvert the program by
    +creating a different file, directory, or symbolic link
    +under the same name.
    +A safer, though still inferior, approach
    +is to make a temporary directory using the same naming schem
    +While this does allow one to guarantee that a temporary file will
    +not be subverted, it still allows a simple denial of service attack.
    +For these reasons it is recommended that
    +.Nm
    +should be used instead of simpler schemes.
    +.Pp
    +Care should be taken to ensure that it is appropriate to use an
    +environment variable potentially supplied by the user.
     .Sh EXIT STATUS
     The
     .Nm
    diff --git a/usr.bin/mktemp/mktemp.c b/usr.bin/mktemp/mktemp.c
    index 34a88dbfd..b8ecc715e 100644
    --- a/usr.bin/mktemp/mktemp.c
    +++ b/usr.bin/mktemp/mktemp.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: mktemp.c,v 1.11 2009/08/15 20:02:28 christos Exp $ */
    +/* $NetBSD: mktemp.c,v 1.12 2012/11/03 13:34:08 christos Exp $ */
     
     /*-
      * Copyright (c) 1994, 1995, 1996, 1998 Peter Wemm 
    @@ -50,7 +50,7 @@
     #include 
     
     #if defined(__RCSID) && !defined(__lint)
    -__RCSID("$NetBSD: mktemp.c,v 1.11 2009/08/15 20:02:28 christos Exp $");
    +__RCSID("$NetBSD: mktemp.c,v 1.12 2012/11/03 13:34:08 christos Exp $");
     #endif /* !__lint */
     
     static void usage(void) __dead;
    @@ -100,6 +100,9 @@ main(int argc, char **argv)
     	argc -= optind;
     	argv += optind;
     
    +	if (tflag == 0 && argc < 1)
    +		tflag = 1;
    +
     	if (tflag) {
     		if (tmpdir == NULL)
     			tmpdir = getenv("TMPDIR");
    diff --git a/usr.bin/msgc/defs.h b/usr.bin/msgc/defs.h
    index dbbf57feb..ac98e9046 100644
    --- a/usr.bin/msgc/defs.h
    +++ b/usr.bin/msgc/defs.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: defs.h,v 1.5 2012/03/06 16:26:01 mbalmer Exp $	*/
    +/*	$NetBSD: defs.h,v 1.6 2013/10/18 20:19:36 christos Exp $	*/
     
     /*
      * Copyright 1997 Piermont Information Systems Inc.
    @@ -49,9 +49,12 @@
     #define INIT(x)
     #endif
     
    -/* some constants */
    -#define TRUE 1
    -#define FALSE 0
    +#ifndef TRUE
    +#define TRUE	1
    +#endif
    +#ifndef FALSE
    +#define FALSE	0
    +#endif
     
     /* Global variables .. to be defined in main.c, extern elsewhere. */
     
    diff --git a/usr.bin/nbperf/nbperf-bdz.c b/usr.bin/nbperf/nbperf-bdz.c
    index 726c180c3..4e2e76b97 100644
    --- a/usr.bin/nbperf/nbperf-bdz.c
    +++ b/usr.bin/nbperf/nbperf-bdz.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: nbperf-bdz.c,v 1.5 2012/09/25 20:53:46 joerg Exp $	*/
    +/*	$NetBSD: nbperf-bdz.c,v 1.8 2013/03/01 18:26:10 joerg Exp $	*/
     /*-
      * Copyright (c) 2009, 2012 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -36,7 +36,7 @@
     #endif
     
     #include 
    -__RCSID("$NetBSD: nbperf-bdz.c,v 1.5 2012/09/25 20:53:46 joerg Exp $");
    +__RCSID("$NetBSD: nbperf-bdz.c,v 1.8 2013/03/01 18:26:10 joerg Exp $");
     
     #include 
     #include 
    @@ -227,12 +227,12 @@ print_hash(struct nbperf *nbperf, struct state *state)
     	    state->graph.v);
     
     	fprintf(nbperf->output,
    -	    "\tidx = 9 + ((g1[h[0] >> 6] >> (h[0] & 63)) &1)"
    -	    "\t      + ((g1[h[1] >> 6] >> (h[1] & 63)) & 1)"
    -	    "\t      + ((g1[h[2] >> 6] >> (h[2] & 63)) & 1)"
    -	    "\t      - ((g2[h[0] >> 6] >> (h[0] & 63)) & 1)"
    -	    "\t      - ((g2[h[1] >> 6] >> (h[1] & 63)) & 1)"
    -	    "\t      - ((g2[h[2] >> 6] >> (h[2] & 63)) & 1);"
    +	    "\tidx = 9 + ((g1[h[0] >> 6] >> (h[0] & 63)) &1)\n"
    +	    "\t      + ((g1[h[1] >> 6] >> (h[1] & 63)) & 1)\n"
    +	    "\t      + ((g1[h[2] >> 6] >> (h[2] & 63)) & 1)\n"
    +	    "\t      - ((g2[h[0] >> 6] >> (h[0] & 63)) & 1)\n"
    +	    "\t      - ((g2[h[1] >> 6] >> (h[1] & 63)) & 1)\n"
    +	    "\t      - ((g2[h[2] >> 6] >> (h[2] & 63)) & 1);\n"
     	    );
     
     	fprintf(nbperf->output,
    @@ -241,7 +241,7 @@ print_hash(struct nbperf *nbperf, struct state *state)
     	    "\tidx2 = idx - holes64[idx >> 6] - holes64k[idx >> 16];\n"
     	    "\tidx2 -= popcount64(g1[idx >> 6] & g2[idx >> 6]\n"
     	    "\t                   & (((uint64_t)1 << idx) - 1));\n"
    -	    "\treturn idx2;");
    +	    "\treturn idx2;\n");
     
     	fprintf(nbperf->output, "}\n");
     
    @@ -253,7 +253,7 @@ print_hash(struct nbperf *nbperf, struct state *state)
     }
     
     int
    -bdz_compute(struct nbperf *nbperf)
    +bpz_compute(struct nbperf *nbperf)
     {
     	struct state state;
     	int retval = -1;
    diff --git a/usr.bin/nbperf/nbperf.1 b/usr.bin/nbperf/nbperf.1
    index 5da77d11b..ebc24041a 100644
    --- a/usr.bin/nbperf/nbperf.1
    +++ b/usr.bin/nbperf/nbperf.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: nbperf.1,v 1.5 2012/09/25 20:53:46 joerg Exp $
    +.\"	$NetBSD: nbperf.1,v 1.6 2013/01/31 16:32:02 joerg Exp $
     .\"
     .\" Copyright (c) 2009 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -88,7 +88,7 @@ This makes the output for
     .Ar chm3
     noticable smaller than the output for
     .Ar chm .
    -.It Sy bdz
    +.It Sy bpz
     This results in a non-order preserving minimal perfect hash function.
     Output size is approximately 2.79 bit per key for the default value of
     .Ar utilisation ,
    diff --git a/usr.bin/nbperf/nbperf.c b/usr.bin/nbperf/nbperf.c
    index dcb096203..a35a32550 100644
    --- a/usr.bin/nbperf/nbperf.c
    +++ b/usr.bin/nbperf/nbperf.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: nbperf.c,v 1.4 2011/10/21 23:47:11 joerg Exp $	*/
    +/*	$NetBSD: nbperf.c,v 1.5 2013/01/31 16:32:02 joerg Exp $	*/
     /*-
      * Copyright (c) 2009 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -36,7 +36,7 @@
     #endif
     
     #include 
    -__RCSID("$NetBSD: nbperf.c,v 1.4 2011/10/21 23:47:11 joerg Exp $");
    +__RCSID("$NetBSD: nbperf.c,v 1.5 2013/01/31 16:32:02 joerg Exp $");
     
     #include 
     #include 
    @@ -135,12 +135,14 @@ main(int argc, char **argv)
     	while ((ch = getopt(argc, argv, "a:c:h:i:m:n:o:ps")) != -1) {
     		switch (ch) {
     		case 'a':
    +			/* Accept bdz as alias for netbsd-6 compat. */
     			if (strcmp(optarg, "chm") == 0)
     				build_hash = chm_compute;
     			else if (strcmp(optarg, "chm3") == 0)
     				build_hash = chm3_compute;
    -			else if (strcmp(optarg, "bdz") == 0)
    -				build_hash = bdz_compute;
    +			else if (strcmp(optarg, "bpz") == 0 ||
    +			         strcmp(optarg, "bdz") == 0)
    +				build_hash = bpz_compute;
     			else
     				errx(1, "Unsupport algorithm: %s", optarg);
     			break;
    diff --git a/usr.bin/nbperf/nbperf.h b/usr.bin/nbperf/nbperf.h
    index 392287485..413b8c3ce 100644
    --- a/usr.bin/nbperf/nbperf.h
    +++ b/usr.bin/nbperf/nbperf.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: nbperf.h,v 1.3 2010/03/03 01:55:04 joerg Exp $	*/
    +/*	$NetBSD: nbperf.h,v 1.4 2013/01/31 16:32:02 joerg Exp $	*/
     /*-
      * Copyright (c) 2009 The NetBSD Foundation, Inc.
      * All rights reserved.
    @@ -56,4 +56,4 @@ struct nbperf {
     
     int	chm_compute(struct nbperf *);
     int	chm3_compute(struct nbperf *);
    -int	bdz_compute(struct nbperf *);
    +int	bpz_compute(struct nbperf *);
    diff --git a/usr.bin/newgrp/Makefile b/usr.bin/newgrp/Makefile
    index ac100ffd6..d04ebc1c5 100644
    --- a/usr.bin/newgrp/Makefile
    +++ b/usr.bin/newgrp/Makefile
    @@ -8,11 +8,6 @@ SRCS=	newgrp.c grutil.c
     BINOWN=	root
     BINMODE=4555
     
    -.if defined(__MINIX)
    -# Too many warnings for our clang otherwise
    -WARNS=3
    -.endif
    -
     CPPFLAGS+=-DGRUTIL_ACCEPT_GROUP_NUMBERS
     CPPFLAGS+=-DGRUTIL_ALLOW_GROUP_ERRORS	# for POSIX.1 compliance
     .if !defined(__MINIX)
    diff --git a/usr.bin/newgrp/grutil.c b/usr.bin/newgrp/grutil.c
    index 825374615..2341efa41 100644
    --- a/usr.bin/newgrp/grutil.c
    +++ b/usr.bin/newgrp/grutil.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: grutil.c,v 1.2 2008/04/28 20:24:14 martin Exp $	*/
    +/*	$NetBSD: grutil.c,v 1.3 2013/01/24 17:46:30 christos Exp $	*/
     
     /*-
      * Copyright (c) 2007 The NetBSD Foundation, Inc.
    @@ -29,7 +29,7 @@
      * POSSIBILITY OF SUCH DAMAGE.
      */
     #include 
    -__RCSID("$NetBSD: grutil.c,v 1.2 2008/04/28 20:24:14 martin Exp $");
    +__RCSID("$NetBSD: grutil.c,v 1.3 2013/01/24 17:46:30 christos Exp $");
     
     #include 
     #include 
    @@ -137,7 +137,8 @@ addgid(gid_t *groups, int ngroups, int ngroupsmax, gid_t gid, int makespace)
     static addgrp_ret_t
     addgrp(gid_t newgid, int makespace)
     {
    -	int ngroups, ngroupsmax, rval;
    +	int ngroups, ngroupsmax;
    +	addgrp_ret_t rval;
     	gid_t *groups;
     	gid_t oldgid;
     
    diff --git a/usr.bin/newgrp/newgrp.c b/usr.bin/newgrp/newgrp.c
    index 27b2335a4..61309c3fa 100644
    --- a/usr.bin/newgrp/newgrp.c
    +++ b/usr.bin/newgrp/newgrp.c
    @@ -30,7 +30,7 @@
     #include 
     
     #ifndef lint
    -__RCSID("$NetBSD: newgrp.c,v 1.6 2008/04/28 20:24:14 martin Exp $");
    +__RCSID("$NetBSD: newgrp.c,v 1.7 2011/09/16 15:39:27 joerg Exp $");
     #endif /* not lint */
     
     #include 
    @@ -52,7 +52,7 @@ __RCSID("$NetBSD: newgrp.c,v 1.6 2008/04/28 20:24:14 martin Exp $");
     
     #include "grutil.h"
     
    -static void
    +__dead static void
     usage(void)
     {
     	(void)fprintf(stderr, "usage: %s [-l] [group]\n", getprogname());
    diff --git a/usr.bin/nvi/Makefile.inc b/usr.bin/nvi/Makefile.inc
    deleted file mode 100644
    index 1ad6aa3b1..000000000
    --- a/usr.bin/nvi/Makefile.inc
    +++ /dev/null
    @@ -1,11 +0,0 @@
    -#	$NetBSD: Makefile.inc,v 1.2 2008/07/13 03:44:41 christos Exp $
    -
    -.include 
    -
    -.if defined(__MINIX)
    -NOCLANGERROR=yes
    -NOGCCERROR=yes
    -.endif
    -
    -DIST= ${NETBSDSRCDIR}/dist/nvi
    -.PATH: ${DIST}
    diff --git a/usr.bin/nvi/docs/Makefile b/usr.bin/nvi/docs/Makefile
    deleted file mode 100644
    index 13e122d4c..000000000
    --- a/usr.bin/nvi/docs/Makefile
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $
    -
    -SUBDIR= USD.doc info
    -
    -.include 
    diff --git a/usr.bin/nvi/docs/USD.doc/Makefile b/usr.bin/nvi/docs/USD.doc/Makefile
    deleted file mode 100644
    index 0cf5b9a52..000000000
    --- a/usr.bin/nvi/docs/USD.doc/Makefile
    +++ /dev/null
    @@ -1,5 +0,0 @@
    -# $NetBSD: Makefile,v 1.1 2008/09/02 09:25:39 christos Exp $
    -
    -SUBDIR= edit exref vi.ref vitut
    -
    -.include 
    diff --git a/usr.bin/passwd/Makefile b/usr.bin/passwd/Makefile
    index eeb93a138..30cde6f2c 100644
    --- a/usr.bin/passwd/Makefile
    +++ b/usr.bin/passwd/Makefile
    @@ -1,12 +1,8 @@
    -#	$NetBSD: Makefile,v 1.42 2011/04/24 21:42:06 elric Exp $
    +#	$NetBSD: Makefile,v 1.44 2013/02/13 23:19:14 christos Exp $
     #	from: @(#)Makefile    8.3 (Berkeley) 4/2/94
     
     .include 
     
    -.if defined(__MINIX)
    -WARNS=3
    -.endif
    -
     USE_FORT?= yes	# setuid
     PROG=	passwd
     SRCS=	local_passwd.c passwd.c
    @@ -36,9 +32,11 @@ SRCS+=	krb5_passwd.c
     
     DPADD+=	${LIBKRB5} ${LIBCRYPTO} ${LIBASN1} ${LIBCOM_ERR} ${LIBROKEN} ${LIBCRYPT}
     LDADD+=	-lkrb5 -lcrypto -lasn1 -lcom_err -lroken -lcrypt
    +.ifdef OVERRIDE_HEIMDAL_KPASSWD
     LINKS+=	${BINDIR}/passwd ${BINDIR}/kpasswd
     MAN+=	kpasswd.1
     .endif
    +.endif
     
     .if (${USE_PAM} != "no")
     CPPFLAGS+=-DUSE_PAM
    diff --git a/usr.bin/paste/paste.1 b/usr.bin/paste/paste.1
    index 2cfd0b219..d76ce5de8 100644
    --- a/usr.bin/paste/paste.1
    +++ b/usr.bin/paste/paste.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: paste.1,v 1.7 2003/08/07 11:15:28 agc Exp $
    +.\"	$NetBSD: paste.1,v 1.9 2013/04/07 17:43:01 wiz Exp $
     .\"
     .\" Copyright (c) 1989, 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -32,7 +32,6 @@
     .\" SUCH DAMAGE.
     .\"
     .\"	from: @(#)paste.1	8.1 (Berkeley) 6/6/93
    -.\"	$NetBSD: paste.1,v 1.7 2003/08/07 11:15:28 agc Exp $
     .\"
     .Dd June 6, 1993
     .Dt PASTE 1
    @@ -104,12 +103,11 @@ is specified for one or more of the input files, the standard
     input is used; standard input is read one line at a time, circularly,
     for each instance of
     .Ql Fl .
    -.Pp
    -The
    -.Nm
    -utility exits 0 on success, and \*[Gt]0 if an error occurs.
    +.Sh EXIT STATUS
    +.Ex -std
     .Sh SEE ALSO
    -.Xr cut 1
    +.Xr cut 1 ,
    +.Xr join 1
     .Sh STANDARDS
     The
     .Nm
    diff --git a/usr.bin/printf/Makefile b/usr.bin/printf/Makefile
    index 0a8cba836..9794b452b 100644
    --- a/usr.bin/printf/Makefile
    +++ b/usr.bin/printf/Makefile
    @@ -1,6 +1,6 @@
    -#	$NetBSD: Makefile,v 1.11 2011/08/16 10:37:21 christos Exp $
    +#	$NetBSD: Makefile,v 1.12 2013/07/16 17:48:22 christos Exp $
     #	from: @(#)Makefile	8.1 (Berkeley) 6/6/93
    -
    +WARNS=6
     PROG=	printf
     
     COPTS.printf.c = -Wno-format-nonliteral
    diff --git a/usr.bin/printf/printf.c b/usr.bin/printf/printf.c
    index 5167a60aa..f3c0e5129 100644
    --- a/usr.bin/printf/printf.c
    +++ b/usr.bin/printf/printf.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: printf.c,v 1.35 2011/03/15 23:11:49 christos Exp $	*/
    +/*	$NetBSD: printf.c,v 1.36 2013/07/16 17:48:22 christos Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -41,7 +41,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993\
     #if 0
     static char sccsid[] = "@(#)printf.c	8.2 (Berkeley) 3/22/95";
     #else
    -__RCSID("$NetBSD: printf.c,v 1.35 2011/03/15 23:11:49 christos Exp $");
    +__RCSID("$NetBSD: printf.c,v 1.36 2013/07/16 17:48:22 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -68,13 +68,13 @@ __RCSID("$NetBSD: printf.c,v 1.35 2011/03/15 23:11:49 christos Exp $");
     static void	 conv_escape_str(char *, void (*)(int));
     static char	*conv_escape(char *, char *);
     static char	*conv_expand(const char *);
    -static int	 getchr(void);
    +static char	 getchr(void);
     static double	 getdouble(void);
     static int	 getwidth(void);
     static intmax_t	 getintmax(void);
     static uintmax_t getuintmax(void);
     static char	*getstr(void);
    -static char	*mklong(const char *, int);
    +static char	*mklong(const char *, char);
     static void      check_conversion(const char *, const char *);
     static void	 usage(void); 
     
    @@ -128,15 +128,15 @@ int main(int argc, char *argv[])
     	int fieldwidth, precision;
     	char nextch;
     	char *format;
    -	int ch;
    -	int error;
    +	char ch;
    +	int error, o;
     
     #if !defined(SHELL) && !defined(BUILTIN)
     	(void)setlocale (LC_ALL, "");
     #endif
     
    -	while ((ch = getopt(argc, argv, "")) != -1) {
    -		switch (ch) {
    +	while ((o = getopt(argc, argv, "")) != -1) {
    +		switch (o) {
     		case '?':
     		default:
     			usage();
    @@ -426,8 +426,8 @@ conv_escape_str(char *str, void (*do_putchar)(int))
     static char *
     conv_escape(char *str, char *conv_ch)
     {
    -	int value;
    -	int ch;
    +	char value;
    +	char ch;
     	char num_buf[4], *num_end;
     
     	ch = *str++;
    @@ -438,9 +438,9 @@ conv_escape(char *str, char *conv_ch)
     		num_buf[0] = ch;
     		ch = str[0];
     		num_buf[1] = ch;
    -		num_buf[2] = ch ? str[1] : 0;
    -		num_buf[3] = 0;
    -		value = strtoul(num_buf, &num_end, 8);
    +		num_buf[2] = (char)(ch != '\0' ? str[1] : '\0');
    +		num_buf[3] = '\0';
    +		value = (char)strtoul(num_buf, &num_end, 8);
     		str += num_end  - (num_buf + 1);
     		break;
     
    @@ -451,9 +451,9 @@ conv_escape(char *str, char *conv_ch)
     		   Supporting 2 byte constants is a compromise. */
     		ch = str[0];
     		num_buf[0] = ch;
    -		num_buf[1] = ch ? str[1] : 0;
    -		num_buf[2] = 0;
    -		value = strtoul(num_buf, &num_end, 16);
    +		num_buf[1] = (char)(ch != '\0' ? str[1] : '\0');
    +		num_buf[2] = '\0';
    +		value = (char)strtoul(num_buf, &num_end, 16);
     		str += num_end - num_buf;
     		break;
     
    @@ -487,7 +487,7 @@ conv_expand(const char *str)
     {
     	static char *conv_str;
     	char *cp;
    -	int ch;
    +	char ch;
     
     	if (conv_str)
     		free(conv_str);
    @@ -497,7 +497,7 @@ conv_expand(const char *str)
     		return NULL;
     	cp = conv_str;
     
    -	while ((ch = *(const unsigned char *)str++) != '\0') {
    +	while ((ch = *(const char *)str++) != '\0') {
     		switch (ch) {
     		/* Use C escapes for expected control characters */
     		case '\\':	ch = '\\';	break;	/* backslash */
    @@ -513,7 +513,7 @@ conv_expand(const char *str)
     		case '\v':	ch = 'v';	break;	/* vertical-tab */
     		default:
     			/* Copy anything printable */
    -			if (isprint(ch)) {
    +			if (isprint((unsigned char)ch)) {
     				*cp++ = ch;
     				continue;
     			}
    @@ -521,7 +521,7 @@ conv_expand(const char *str)
     			*cp++ = '\\';
     			if (ch & 0200) {
     				*cp++ = 'M';
    -				ch &= ~0200;
    +				ch &= (char)~0200;
     			}
     			if (ch == 0177) {
     				*cp++ = '^';
    @@ -546,7 +546,7 @@ conv_expand(const char *str)
     }
     
     static char *
    -mklong(const char *str, int ch)
    +mklong(const char *str, char ch)
     {
     	static char copy[64];
     	size_t len;	
    @@ -563,12 +563,12 @@ mklong(const char *str, int ch)
     	return copy;	
     }
     
    -static int
    +static char
     getchr(void)
     {
     	if (!*gargv)
     		return 0;
    -	return (int)**gargv++;
    +	return **gargv++;
     }
     
     static char *
    @@ -583,7 +583,7 @@ getstr(void)
     static int
     getwidth(void)
     {
    -	long val;
    +	unsigned long val;
     	char *s, *ep;
     
     	s = *gargv;
    @@ -596,12 +596,12 @@ getwidth(void)
     	check_conversion(s, ep);
     
     	/* Arbitrarily 'restrict' field widths to 1Mbyte */
    -	if (val < 0 || val > 1 << 20) {
    +	if (val > 1 << 20) {
     		warnx("%s: invalid field width", s);
     		return 0;
     	}
     
    -	return val;
    +	return (int)val;
     }
     
     static intmax_t
    @@ -616,7 +616,7 @@ getintmax(void)
     	gargv++;
     
     	if (*cp == '\"' || *cp == '\'')
    -		return *(cp+1);
    +		return *(cp + 1);
     
     	errno = 0;
     	val = strtoimax(cp, &ep, 0);
    @@ -636,7 +636,7 @@ getuintmax(void)
     	gargv++;
     
     	if (*cp == '\"' || *cp == '\'')
    -		return *(cp + 1);
    +		return (uintmax_t)*(cp + 1);
     
     	/* strtoumax won't error -ve values */
     	while (isspace(*(unsigned char *)cp))
    diff --git a/usr.bin/renice/renice.8 b/usr.bin/renice/renice.8
    index 4cc007dad..5dedc3e5e 100644
    --- a/usr.bin/renice/renice.8
    +++ b/usr.bin/renice/renice.8
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: renice.8,v 1.13 2009/04/08 13:20:23 joerg Exp $
    +.\"	$NetBSD: renice.8,v 1.15 2012/12/06 07:52:12 wiz Exp $
     .\"
     .\" Copyright (c) 1983, 1991, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -28,9 +28,8 @@
     .\" SUCH DAMAGE.
     .\"
     .\"     from: @(#)renice.8	8.1 (Berkeley) 6/9/93
    -.\"	$NetBSD: renice.8,v 1.13 2009/04/08 13:20:23 joerg Exp $
     .\"
    -.Dd June 9, 1993
    +.Dd December 6, 2012
     .Dt RENICE 8
     .Os
     .Sh NAME
    @@ -139,6 +138,7 @@ to map user names to user ID's
     .El
     .Sh SEE ALSO
     .Xr nice 1 ,
    +.Xr prenice 1 ,
     .Xr getpriority 2 ,
     .Xr setpriority 2
     .Sh HISTORY
    diff --git a/usr.bin/sdiff/sdiff.1 b/usr.bin/sdiff/sdiff.1
    index 09d8f8179..7a98f9775 100644
    --- a/usr.bin/sdiff/sdiff.1
    +++ b/usr.bin/sdiff/sdiff.1
    @@ -1,4 +1,4 @@
    -.\" $NetBSD: sdiff.1,v 1.2 2011/04/25 22:42:11 wiz Exp $
    +.\" $NetBSD: sdiff.1,v 1.3 2013/07/20 21:40:00 wiz Exp $
     .\" $OpenBSD: sdiff.1,v 1.11 2007/02/22 02:50:56 ray Exp $
     .\"
     .\" Written by Raymond Lai .
    @@ -152,7 +152,7 @@ The default is
     .Sh AUTHORS
     .Nm
     was written from scratch for the public domain by
    -.An Ray Lai Aq ray@cyth.net .
    +.An Ray Lai Aq Mt ray@cyth.net .
     .Sh CAVEATS
     Although undocumented,
     .Nm
    diff --git a/usr.bin/sed/Makefile b/usr.bin/sed/Makefile
    index 81b797ca7..5c0b8c4e0 100644
    --- a/usr.bin/sed/Makefile
    +++ b/usr.bin/sed/Makefile
    @@ -6,7 +6,4 @@
     PROG=	sed
     SRCS=	compile.c main.c misc.c process.c
     
    -# LSC FIXME Still required?
    -SYMLINKS?=    ${BINDIR}/sed /bin/sed
    -
     .include 
    diff --git a/usr.bin/sed/TEST/sed.test b/usr.bin/sed/TEST/sed.test
    index 36562f6da..ff4093acc 100644
    --- a/usr.bin/sed/TEST/sed.test
    +++ b/usr.bin/sed/TEST/sed.test
    @@ -1,5 +1,5 @@
     #!/bin/sh -
    -#	$NetBSD: sed.test,v 1.4 2003/10/27 20:09:49 uwe Exp $
    +#	$NetBSD: sed.test,v 1.5 2011/11/12 03:15:05 christos Exp $
     #
     # Copyright (c) 1992 Diomidis Spinellis.
     # Copyright (c) 1992, 1993
    @@ -34,7 +34,7 @@
     # SUCH DAMAGE.
     #
     #	from: @(#)sed.test	8.1 (Berkeley) 6/6/93
    -#	$NetBSD: sed.test,v 1.4 2003/10/27 20:09:49 uwe Exp $
    +#	$NetBSD: sed.test,v 1.5 2011/11/12 03:15:05 christos Exp $
     #
     
     # sed Regression Tests
    @@ -45,9 +45,9 @@
     
     main()
     {
    -	BASE=/usr/old/bin/sed
    +	BASE=/usr/bin/sed
     	BASELOG=sed.out
    -	TEST=../obj/sed
    +	TEST=$(cd $(dirname $0)/.. && make -V .OBJDIR)/sed
     	TESTLOG=nsed.out
     	DICT=/usr/share/dict/words
     
    @@ -93,7 +93,7 @@ tests()
     
     mark()
     {
    -	MARK=`expr $MARK + 1`
    +	MARK=$(expr $MARK + 1)
     	exec 1>&4 2>&5
     	exec >"$DIR/${MARK}_$1"
     	echo "Test $1:$MARK"
    diff --git a/usr.bin/sed/compile.c b/usr.bin/sed/compile.c
    index 7b9a7a03e..ff4497d3b 100644
    --- a/usr.bin/sed/compile.c
    +++ b/usr.bin/sed/compile.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: compile.c,v 1.37 2010/02/19 16:35:27 tnn Exp $	*/
    +/*	$NetBSD: compile.c,v 1.39 2013/06/28 15:04:35 joerg Exp $	*/
     
     /*-
      * Copyright (c) 1992, 1993
    @@ -76,7 +76,7 @@
     #if 0
     static char sccsid[] = "@(#)compile.c	8.2 (Berkeley) 4/28/95";
     #else
    -__RCSID("$NetBSD: compile.c,v 1.37 2010/02/19 16:35:27 tnn Exp $");
    +__RCSID("$NetBSD: compile.c,v 1.39 2013/06/28 15:04:35 joerg Exp $");
     #endif
     #endif /* not lint */
     
    @@ -474,6 +474,7 @@ compile_re(char *p, regex_t **repp)
     		err(COMPILE, "RE error: %s", strregerror(eval, *repp));
     	if (maxnsub < (*repp)->re_nsub)
     		maxnsub = (*repp)->re_nsub;
    +	free(re);
     	return (p);
     }
     
    @@ -656,7 +657,7 @@ compile_tr(char *p, char **transtab)
     		goto bad;
     	}
     	new = xmalloc(strlen(p) + 1);
    -	p = compile_delimited(--p, new);
    +	p = compile_delimited(p - 1, new);
     	if (p == NULL) {
     		err(COMPILE, "unterminated transform target string");
     		goto bad;
    diff --git a/usr.bin/sed/process.c b/usr.bin/sed/process.c
    index 04c7d7c84..64ee0b59b 100644
    --- a/usr.bin/sed/process.c
    +++ b/usr.bin/sed/process.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: process.c,v 1.38 2009/04/13 07:29:55 lukem Exp $	*/
    +/*	$NetBSD: process.c,v 1.39 2013/03/17 21:02:54 uwe Exp $	*/
     
     /*-
      * Copyright (c) 1992, 1993, 1994
    @@ -76,7 +76,7 @@
     #if 0
     static char sccsid[] = "@(#)process.c	8.6 (Berkeley) 4/20/94";
     #else
    -__RCSID("$NetBSD: process.c,v 1.38 2009/04/13 07:29:55 lukem Exp $");
    +__RCSID("$NetBSD: process.c,v 1.39 2013/03/17 21:02:54 uwe Exp $");
     #endif
     #endif /* not lint */
     
    @@ -84,6 +84,7 @@ __RCSID("$NetBSD: process.c,v 1.38 2009/04/13 07:29:55 lukem Exp $");
     #include 
     #include 
     #include 
    +
     #include 
     #include 
     #include 
    @@ -94,10 +95,6 @@ __RCSID("$NetBSD: process.c,v 1.38 2009/04/13 07:29:55 lukem Exp $");
     #include 
     #include 
     
    -#ifdef __minix
    -#include 
    -#endif
    -
     #include "defs.h"
     #include "extern.h"
     
    @@ -171,7 +168,7 @@ redirect:
     				psl = 0;
     				if (cp->a2 == NULL || lastaddr)
     					(void)printf("%s", cp->t);
    -				break;
    +				goto new;
     			case 'd':
     				pd = 1;
     				goto new;
    diff --git a/usr.bin/sed/sed.1 b/usr.bin/sed/sed.1
    index 9d2fe34b3..2ed20dfe9 100644
    --- a/usr.bin/sed/sed.1
    +++ b/usr.bin/sed/sed.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: sed.1,v 1.27 2008/09/21 16:46:01 wiz Exp $
    +.\"	$NetBSD: sed.1,v 1.32 2013/05/29 15:05:43 wiz Exp $
     .\"
     .\" Copyright (c) 1992, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -32,7 +32,7 @@
     .\"
     .\"	@(#)sed.1	8.2 (Berkeley) 12/30/93
     .\"
    -.Dd September 21, 2008
    +.Dd May 29, 2013
     .Dt SED 1
     .Os
     .Sh NAME
    @@ -196,8 +196,8 @@ One special feature of
     .Nm
     regular expressions is that they can default to the last regular
     expression used.
    -If a regular expression is empty, i.e. just the delimiter characters
    -are specified, the last regular expression encountered is used instead.
    +If a regular expression is empty, with nothing between the delimiter
    +characters, the last regular expression encountered is used instead.
     The last regular expression is defined as the last regular expression
     used as part of an address or substitute command, and at run-time, not
     compile-time.
    @@ -290,6 +290,7 @@ Delete the pattern space.
     With 0 or 1 address or at the end of a 2-address range,
     .Em text
     is written to the standard output.
    +Start the next cycle.
     .sp
     .It [2addr]d
     Delete the pattern space and start the next cycle.
    @@ -503,6 +504,7 @@ utility exits 0 on success and \*[Gt]0 if an error occurs.
     .Xr awk 1 ,
     .Xr ed 1 ,
     .Xr grep 1 ,
    +.Xr tr 1 ,
     .Xr regex 3 ,
     .Xr re_format 7
     .Sh STANDARDS
    diff --git a/usr.bin/seq/seq.1 b/usr.bin/seq/seq.1
    index 6971e629b..2c963687d 100644
    --- a/usr.bin/seq/seq.1
    +++ b/usr.bin/seq/seq.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: seq.1,v 1.7 2010/05/27 08:30:35 dholland Exp $
    +.\"	$NetBSD: seq.1,v 1.8 2013/04/07 17:37:45 jdf Exp $
     .\"
     .\" Copyright (c) 2005 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -58,7 +58,7 @@ as possible, in increments of
     When
     .Ar first
     is larger than
    -.Ar last
    +.Ar last ,
     the default
     .Ar incr
     is -1.
    @@ -129,10 +129,8 @@ If any sequence numbers will be printed in exponential notation,
     the default conversion is changed to
     .Cm %e .
     .El
    -.Pp
    -The
    -.Nm
    -utility exits 0 on success and non-zero if an error occurs.
    +.Sh EXIT STATUS
    +.Ex -std
     .Sh EXAMPLES
     .Bd -literal -offset indent
     # seq 1 3
    diff --git a/usr.bin/shlock/shlock.1 b/usr.bin/shlock/shlock.1
    index 9b1667dc7..fbbe17423 100644
    --- a/usr.bin/shlock/shlock.1
    +++ b/usr.bin/shlock/shlock.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: shlock.1,v 1.11 2008/04/30 13:11:01 martin Exp $
    +.\"	$NetBSD: shlock.1,v 1.13 2013/07/20 21:40:00 wiz Exp $
     .\"
     .\" Copyright (c) 2006 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -27,7 +27,7 @@
     .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     .\" POSSIBILITY OF SUCH DAMAGE.
     .\"
    -.Dd June 29, 1997
    +.Dd November 2, 2012
     .Dt SHLOCK 1
     .Os
     .Sh NAME
    @@ -127,6 +127,8 @@ endif
     .Pp
     The examples assume that the file system where the lock file is to
     be created is writable by the user, and has space available.
    +.Sh SEE ALSO
    +.Xr flock 1
     .Sh HISTORY
     .Nm
     was written for the first Network News Transfer Protocol (NNTP)
    @@ -134,7 +136,7 @@ software distribution, released in March 1986.
     The algorithm was suggested by Peter Honeyman,
     from work he did on HoneyDanBer UUCP.
     .Sh AUTHORS
    -.An Erik E. Fair Aq fair@clock.org
    +.An Erik E. Fair Aq Mt fair@clock.org
     .Sh BUGS
     Does not work on NFS or other network file system on different
     systems because the disparate systems have disjoint PID spaces.
    diff --git a/usr.bin/sort/fields.c b/usr.bin/sort/fields.c
    index d3071dffa..6ed6cf9de 100644
    --- a/usr.bin/sort/fields.c
    +++ b/usr.bin/sort/fields.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: fields.c,v 1.32 2010/12/18 23:09:48 christos Exp $	*/
    +/*	$NetBSD: fields.c,v 1.33 2013/01/20 10:12:58 apb Exp $	*/
     
     /*-
      * Copyright (c) 2000-2003 The NetBSD Foundation, Inc.
    @@ -65,7 +65,7 @@
     
     #include "sort.h"
     
    -__RCSID("$NetBSD: fields.c,v 1.32 2010/12/18 23:09:48 christos Exp $");
    +__RCSID("$NetBSD: fields.c,v 1.33 2013/01/20 10:12:58 apb Exp $");
     
     #define SKIP_BLANKS(ptr) {					\
     	if (BLANK & d_mask[*(ptr)])				\
    @@ -82,9 +82,9 @@ static u_char *enterfield(u_char *, const u_char *, struct field *, int);
     static u_char *number(u_char *, const u_char *, u_char *, u_char *, int);
     static u_char *length(u_char *, const u_char *, u_char *, u_char *, int);
     
    -#ifdef __minix
    +#if defined(__minix)
     static u_char *numhex(u_char *, const u_char *, u_char *, u_char *, int);
    -#endif
    +#endif /* defined(__minix) */
     
     #define DECIMAL_POINT '.'
     
    @@ -209,10 +209,10 @@ enterfield(u_char *tablepos, const u_char *endkey, struct field *cur_fld,
     		return length(tablepos, endkey, start, end, flags);
     	if (flags & N)
     		return number(tablepos, endkey, start, end, flags);
    -#ifdef __minix
    +#if defined(__minix)
     	if (flags & X)
     		return numhex(tablepos, endkey, start, end, flags);
    -#endif
    +#endif /* defined(__minix) */
     
     	/* Bound check space - assuming nothing is skipped */
     	if (tablepos + (end - start) + 1 >= endkey)
    @@ -283,7 +283,10 @@ number(u_char *pos, const u_char *bufend, u_char *line, u_char *lineend,
     	if (*line == '-') {	/* set the sign */
     		negate ^= 0xff;
     		line++;
    +	} else if (*line == '+') {
    +		line++;
     	}
    +
     	/* eat initial zeroes */
     	for (; *line == '0' && line < lineend; line++)
     		continue;
    @@ -384,7 +387,7 @@ length(u_char *pos, const u_char *bufend, u_char *line, u_char *lineend,
     	return number(pos, bufend, buf, buf + l, flag);
     }
     
    -#ifdef __minix
    +#if defined(__minix)
     static u_char *
     numhex(u_char *pos, const u_char *bufend, u_char *line, u_char *lineend,
         int flag)
    @@ -397,4 +400,4 @@ numhex(u_char *pos, const u_char *bufend, u_char *line, u_char *lineend,
     	l = snprintf((char *)buf, sizeof(buf), "%lld", n);
     	return number(pos, bufend, buf, buf + l, flag);
     }
    -#endif
    +#endif /* defined(__minix) */
    diff --git a/usr.bin/sort/init.c b/usr.bin/sort/init.c
    index 8884d0b40..59ff619eb 100644
    --- a/usr.bin/sort/init.c
    +++ b/usr.bin/sort/init.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: init.c,v 1.28 2010/12/18 23:09:48 christos Exp $	*/
    +/*	$NetBSD: init.c,v 1.29 2013/10/18 20:47:06 christos Exp $	*/
     
     /*-
      * Copyright (c) 2000-2003 The NetBSD Foundation, Inc.
    @@ -63,7 +63,7 @@
     
     #include "sort.h"
     
    -__RCSID("$NetBSD: init.c,v 1.28 2010/12/18 23:09:48 christos Exp $");
    +__RCSID("$NetBSD: init.c,v 1.29 2013/10/18 20:47:06 christos Exp $");
     
     #include 
     #include 
    @@ -233,9 +233,9 @@ optval(int desc, int tcolflag)
     	case 'i': return I;
     	case 'l': return L;
     	case 'n': return N;
    -#ifdef __minix
    +#if defined(__minix)
     	case 'x': return X;
    -#endif
    +#endif /* defined(__minix) */
     	case 'r': return R;
     	default:  return 0;
     	}
    @@ -290,7 +290,6 @@ fixit(int *argc, char **argv, const char *opts)
     	int i, j, sawplus;
     	char *vpos, *tpos, spec[20];
     	int col, indent;
    -	size_t sz;
     
     	sawplus = 0;
     	for (i = 1; i < *argc; i++) {
    @@ -361,7 +360,7 @@ fixit(int *argc, char **argv, const char *opts)
     		}
     
     		/* make the new style spec */
    -		sz = snprintf(spec, sizeof(spec), "%d.%d%s", col, indent,
    +		(void)snprintf(spec, sizeof(spec), "%d.%d%s", col, indent,
     		    tpos);
     
     		if (sawplus) {
    diff --git a/usr.bin/sort/sort.1 b/usr.bin/sort/sort.1
    index 8d0d46720..90b18d347 100644
    --- a/usr.bin/sort/sort.1
    +++ b/usr.bin/sort/sort.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: sort.1,v 1.32 2010/12/18 23:36:23 wiz Exp $
    +.\"	$NetBSD: sort.1,v 1.34 2013/05/29 15:00:35 wiz Exp $
     .\"
     .\" Copyright (c) 2000-2003 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -59,14 +59,14 @@
     .\"
     .\"     @(#)sort.1	8.1 (Berkeley) 6/6/93
     .\"
    -.Dd December 18, 2010
    +.Dd May 29, 2013
     .Dt SORT 1
     .Os
     .Sh NAME
     .Nm sort
     .Nd sort or merge text files
     .Sh SYNOPSIS
    -.Nm sort
    +.Nm
     .Op Fl bcdfHilmnrSsu
     .Oo
     .Fl k
    @@ -99,6 +99,8 @@ returns 0.
     .Nm
     .Fl c
     produces no output.
    +See also
    +.Fl u .
     .It Fl H
     Ignored for compatibility with earlier versions of
     .Nm .
    @@ -159,7 +161,7 @@ Ignore all non-printable characters.
     Sort by the string length of the field, not by the field itself.
     .It Fl n
     An initial numeric string, consisting of optional blank space, optional
    -minus sign, and zero or more digits (including decimal point)
    +plus or minus sign, and zero or more digits (including decimal point)
     .\" with
     .\" optional radix character and thousands
     .\" separator
    @@ -220,7 +222,7 @@ considered part of a field when determining key offsets.
     .Ar char
     is used as the record separator character.
     This should be used with discretion;
    -.Fl R Ar \*[Lt]alphanumeric\*[Gt]
    +.Fl R Aq Ar alphanumeric
     usually produces undesirable results.
     The default record separator is newline.
     .It Fl k Ar field1 Ns Op Li \&, Ns Ar field2
    diff --git a/usr.bin/sort/sort.c b/usr.bin/sort/sort.c
    index 5f026daca..76ea52ce6 100644
    --- a/usr.bin/sort/sort.c
    +++ b/usr.bin/sort/sort.c
    @@ -170,9 +170,9 @@ main(int argc, char *argv[])
     			    debug_flags |= 1 << (optarg[i] & 31);
     			break;
     		case 'd': case 'f': case 'i': case 'n': case 'l':
    -#ifdef __minix
    +#if defined(__minix)
     		case 'x':
    -#endif
    +#endif /* defined(__minix) */
     			fldtab[0].flags |= optval(ch, 0);
     			break;
     		case 'H':
    diff --git a/usr.bin/sort/sort.h b/usr.bin/sort/sort.h
    index cac59b0ee..faa8fed9e 100644
    --- a/usr.bin/sort/sort.h
    +++ b/usr.bin/sort/sort.h
    @@ -86,9 +86,9 @@
     #define	BI	0x20	/* ignore blanks in icol */
     #define	BT	0x40	/* ignore blanks in tcol */
     #define	L	0x80	/* Sort by field length */
    -#ifdef __minix
    +#if defined(__minix)
     #define	X	0x100	/* Field is a hex number */
    -#endif
    +#endif /* defined(__minix) */
     
     /* masks for delimiters: blanks, fields, and termination. */
     #define BLANK 1		/* ' ', '\t'; '\n' if -R is invoked */
    diff --git a/usr.bin/stat/Makefile b/usr.bin/stat/Makefile
    index 97b9c1744..5bdf76e45 100644
    --- a/usr.bin/stat/Makefile
    +++ b/usr.bin/stat/Makefile
    @@ -4,17 +4,9 @@ PROG=	stat
     
     .if !defined(HOSTPROG)
     LINKS=	${BINDIR}/stat ${BINDIR}/readlink
    -.if defined(__MINIX)
    -# To prevent breaking of existing utilities in commands/
    -LINKS+=	${BINDIR}/stat ${BINDIR}/fstat
    -LINKS+=	${BINDIR}/stat ${BINDIR}/lstat
    -.endif
     MLINKS=	stat.1 readlink.1
     .endif
     
     COPTS.stat.c += -Wno-format-nonliteral
     
    -# LSC Until it compiles cleanly...
    -NOGCCERROR:=yes
    -
     .include 
    diff --git a/usr.bin/stat/stat.1 b/usr.bin/stat/stat.1
    index 6bbfc4eac..2f8caa185 100644
    --- a/usr.bin/stat/stat.1
    +++ b/usr.bin/stat/stat.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: stat.1,v 1.34 2011/09/22 20:23:55 apb Exp $
    +.\"	$NetBSD: stat.1,v 1.36 2012/12/03 07:49:21 wiz Exp $
     .\"
     .\" Copyright (c) 2002-2011 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -27,7 +27,7 @@
     .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     .\" POSSIBILITY OF SUCH DAMAGE.
     .\"
    -.Dd September 22, 2011
    +.Dd December 2, 2012
     .Dt STAT 1
     .Os
     .Sh NAME
    @@ -168,6 +168,17 @@ suitable for initializing variables.
     When run as
     .Nm readlink ,
     suppress error messages.
    +This is equivalent to specifying
    +.Bd -literal
    +FMT="st_dev=%d st_ino=%i st_mode=%#p st_nlink=%l st_uid=%u st_gid=%g"
    +FMT="$FMT st_rdev=%r st_size=%z st_atime=%Sa st_mtime=%Sm st_ctime=%Sc"
    +FMT="$FMT st_birthtime=%SB st_blksize=%k st_blocks=%b st_flags=%f"
    +stat -t %s -f "$FMT" .
    +.Ed
    +Note that if you use a timeformat that contains embedded whitespace or shell
    +meta-characters you will need to include appropriate quoting so the
    +.Fl s
    +output remains valid.
     .It Fl t Ar timefmt
     Display timestamps using the specified format.
     This format is
    diff --git a/usr.bin/stat/stat.c b/usr.bin/stat/stat.c
    index 2d3929bd0..b08a346cb 100644
    --- a/usr.bin/stat/stat.c
    +++ b/usr.bin/stat/stat.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: stat.c,v 1.36 2011/09/22 20:23:56 apb Exp $ */
    +/*	$NetBSD: stat.c,v 1.38 2013/01/03 13:28:41 dsl Exp $ */
     
     /*
      * Copyright (c) 2002-2011 The NetBSD Foundation, Inc.
    @@ -31,11 +31,13 @@
     
     #if HAVE_NBTOOL_CONFIG_H
     #include "nbtool_config.h"
    +/* config checked libc, we need the prototype as well */
    +#undef HAVE_DEVNAME
     #endif
     
     #include 
     #if !defined(lint)
    -__RCSID("$NetBSD: stat.c,v 1.36 2011/09/22 20:23:56 apb Exp $");
    +__RCSID("$NetBSD: stat.c,v 1.38 2013/01/03 13:28:41 dsl Exp $");
     #endif
     
     #if ! HAVE_NBTOOL_CONFIG_H
    @@ -76,7 +78,7 @@ __RCSID("$NetBSD: stat.c,v 1.36 2011/09/22 20:23:56 apb Exp $");
     #if HAVE_STRUCT_STAT_ST_BIRTHTIME
     #define DEF_B "\"%SB\" "
     #define RAW_B "%B "
    -#define SHELL_B "st_birthtime=%B "
    +#define SHELL_B "st_birthtime=%SB "
     #else /* HAVE_STRUCT_STAT_ST_BIRTHTIME */
     #define DEF_B
     #define RAW_B
    @@ -99,7 +101,7 @@ __RCSID("$NetBSD: stat.c,v 1.36 2011/09/22 20:23:56 apb Exp $");
     #define SHELL_FORMAT \
     	"st_dev=%d st_ino=%i st_mode=%#p st_nlink=%l " \
     	"st_uid=%u st_gid=%g st_rdev=%r st_size=%z " \
    -	"st_atime=%a st_mtime=%m st_ctime=%c " SHELL_B \
    +	"st_atime=%Sa st_mtime=%Sm st_ctime=%Sc " SHELL_B \
     	"st_blksize=%k st_blocks=%b" SHELL_F
     #define LINUX_FORMAT \
     	"  File: \"%N\"%n" \
    @@ -299,6 +301,8 @@ main(int argc, char *argv[])
     		break;
     	case 's':
     		statfmt = SHELL_FORMAT;
    +		if (timefmt == NULL)
    +			timefmt = "%s";
     		break;
     	case 'x':
     		statfmt = LINUX_FORMAT;
    @@ -605,9 +609,9 @@ format1(const struct stat *st,
     		sdata = (what == SHOW_st_dev) ?
     		    devname(st->st_dev, S_IFBLK) :
     		    devname(st->st_rdev, 
    -		    S_ISCHR(st->st_mode) ? S_IFCHR :
    -		    S_ISBLK(st->st_mode) ? S_IFBLK :
    -		    0U);
    +			S_ISCHR(st->st_mode) ? S_IFCHR :
    +			S_ISBLK(st->st_mode) ? S_IFBLK :
    +			0U);
     		if (sdata == NULL)
     			sdata = "???";
     #endif /* HAVE_DEVNAME */
    diff --git a/usr.bin/su/su.1 b/usr.bin/su/su.1
    index 59a877578..5025c3348 100644
    --- a/usr.bin/su/su.1
    +++ b/usr.bin/su/su.1
    @@ -26,9 +26,9 @@
     .\" SUCH DAMAGE.
     .\"
     .\"	from: @(#)su.1	8.2 (Berkeley) 4/18/94
    -.\"	$NetBSD: su.1,v 1.49 2009/05/18 09:37:44 wiz Exp $
    +.\"	$NetBSD: su.1,v 1.50 2012/11/21 19:30:53 pgoyette Exp $
     .\"
    -.Dd October 27, 2007
    +.Dd November 20, 2012
     .Dt SU 1
     .Os
     .Sh NAME
    @@ -186,6 +186,12 @@ is imported from your current environment.
     The invoked shell is the target login's, and
     .Nm
     will change directory to the target login's home directory.
    +The
    +.Xr utmp 5 ,
    +.Xr wtmp 5 ,
    +and
    +.Xr lastlogin 5
    +databases are not updated.
     .It Fl
     Same as
     .Fl l .
    diff --git a/usr.bin/su/su.c b/usr.bin/su/su.c
    index eeba32c12..60971a227 100644
    --- a/usr.bin/su/su.c
    +++ b/usr.bin/su/su.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: su.c,v 1.69 2011/08/31 16:24:58 plunky Exp $	*/
    +/*	$NetBSD: su.c,v 1.70 2012/04/12 15:35:07 christos Exp $	*/
     
     /*
      * Copyright (c) 1988 The Regents of the University of California.
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988\
     #if 0
     static char sccsid[] = "@(#)su.c	8.3 (Berkeley) 4/2/94";*/
     #else
    -__RCSID("$NetBSD: su.c,v 1.69 2011/08/31 16:24:58 plunky Exp $");
    +__RCSID("$NetBSD: su.c,v 1.70 2012/04/12 15:35:07 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -462,7 +462,7 @@ kerberos5(char *username, const char *user, uid_t uid)
     		warnx("kerberos5: not in %s's ACL.", user);
     		goto fail;
     	}
    -	ret = krb5_cc_gen_new(context, &krb5_mcc_ops, &ccache);
    +	ret = krb5_cc_new_unique(context, krb5_mcc_ops.prefix, NULL, &ccache);
     	if (ret)
     		goto fail;
     	ret = krb5_verify_user_lrealm(context, princ, ccache, NULL, TRUE,
    @@ -482,7 +482,7 @@ kerberos5(char *username, const char *user, uid_t uid)
     		}
     		goto fail;
     	}
    -	ret = krb5_cc_gen_new(context, &krb5_fcc_ops, &ccache2);
    +	ret = krb5_cc_new_unique(context, krb5_mcc_ops.prefix, NULL, &ccache2);
     	if (ret) {
     		krb5_cc_destroy(context, ccache);
     		goto fail;
    diff --git a/usr.bin/su/su_pam.c b/usr.bin/su/su_pam.c
    index fc612afff..70a3f5ac1 100644
    --- a/usr.bin/su/su_pam.c
    +++ b/usr.bin/su/su_pam.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: su_pam.c,v 1.16 2010/10/02 10:55:36 tron Exp $	*/
    +/*	$NetBSD: su_pam.c,v 1.19 2013/06/29 05:08:35 mlelstv Exp $	*/
     
     /*
      * Copyright (c) 1988 The Regents of the University of California.
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988\
     #if 0
     static char sccsid[] = "@(#)su.c	8.3 (Berkeley) 4/2/94";*/
     #else
    -__RCSID("$NetBSD: su_pam.c,v 1.16 2010/10/02 10:55:36 tron Exp $");
    +__RCSID("$NetBSD: su_pam.c,v 1.19 2013/06/29 05:08:35 mlelstv Exp $");
     #endif
     #endif /* not lint */
     
    @@ -81,7 +81,19 @@ static const struct pam_conv pamc = { &openpam_ttyconv, NULL };
     #define ARGSTR ARGSTRX
     #endif
     
    -static void logit(const char *, ...);
    +static void logit(const char *, ...) __printflike(1, 2);
    +
    +static const char *
    +safe_pam_strerror(pam_handle_t *pamh, int pam_err) {
    +	const char *msg;
    +
    +	if ((msg = pam_strerror(pamh, pam_err)) != NULL)
    +		return msg;
    +
    +	static char buf[1024];
    +	snprintf(buf, sizeof(buf), "Unknown pam error %d", pam_err);
    +	return buf;
    +}
     
     int
     main(int argc, char **argv)
    @@ -215,7 +227,7 @@ main(int argc, char **argv)
     			PAM_END("pam_start");
     		/* Things went really bad... */
     		syslog(LOG_ERR, "pam_start failed: %s",
    -		    pam_strerror(pamh, pam_err));
    +		    safe_pam_strerror(pamh, pam_err));
     		errx(EXIT_FAILURE, "pam_start failed");
     	}
     
    @@ -239,9 +251,9 @@ main(int argc, char **argv)
     	 */
     	if ((pam_err = pam_authenticate(pamh, 0)) != PAM_SUCCESS) {
     		syslog(LOG_WARNING, "BAD SU %s to %s%s: %s",
    -		    username, user, ontty(), pam_strerror(pamh, pam_err));
    +		    username, user, ontty(), safe_pam_strerror(pamh, pam_err));
     		(void)pam_end(pamh, pam_err);
    -		errx(EXIT_FAILURE, "Sorry: %s", pam_strerror(pamh, pam_err));
    +		errx(EXIT_FAILURE, "Sorry: %s", safe_pam_strerror(pamh, pam_err));
     	}
     
     	/*
    @@ -267,7 +279,7 @@ main(int argc, char **argv)
     	pam_err = pam_get_item(pamh, PAM_USER, &newuser);
     	if (pam_err != PAM_SUCCESS) {
     		syslog(LOG_WARNING,
    -		    "pam_get_item(PAM_USER): %s", pam_strerror(pamh, pam_err));
    +		    "pam_get_item(PAM_USER): %s", safe_pam_strerror(pamh, pam_err));
     	} else {
     		user = (char *)__UNCONST(newuser);
     		if (getpwnam_r(user, &pwres, pwbuf, sizeof(pwbuf), &pwd) != 0 ||
    @@ -423,11 +435,11 @@ out:
     			pam_err = pam_setcred(pamh, PAM_DELETE_CRED);
     			if (pam_err != PAM_SUCCESS)
     				logit("pam_setcred: %s",
    -				    pam_strerror(pamh, pam_err));
    +				    safe_pam_strerror(pamh, pam_err));
     			pam_err = pam_close_session(pamh, 0);
     			if (pam_err != PAM_SUCCESS)
     				logit("pam_close_session: %s",
    -				    pam_strerror(pamh, pam_err));
    +				    safe_pam_strerror(pamh, pam_err));
     			(void)pam_end(pamh, pam_err);
     			exit(WEXITSTATUS(status));
     			break;
    @@ -481,8 +493,6 @@ out:
     				err(EXIT_FAILURE, "setting user context");
     			if (p)
     				(void)setenv("TERM", p, 1);
    -			if (gohome && chdir(pwd->pw_dir) == -1)
    -				errx(EXIT_FAILURE, "no directory");
     		}
     
     		if (asthem || pwd->pw_uid) {
    @@ -540,10 +550,17 @@ out:
     	if (setusercontext(lc, pwd, pwd->pw_uid, setwhat) == -1)
     		err(EXIT_FAILURE, "setusercontext");
     
    +	if (!asme) {
    +		if (asthem) {
    +			if (gohome && chdir(pwd->pw_dir) == -1)
    +				errx(EXIT_FAILURE, "no directory");
    +		}
    +	}
    +
     	(void)execv(shell, np);
     	err(EXIT_FAILURE, "%s", shell);
     done:
    -	logit("%s: %s", func, pam_strerror(pamh, pam_err));
    +	logit("%s: %s", func, safe_pam_strerror(pamh, pam_err));
     	(void)pam_end(pamh, pam_err);
     	return EXIT_FAILURE;
     }
    @@ -555,6 +572,8 @@ logit(const char *fmt, ...)
     
     	va_start(ap, fmt);
     	vwarnx(fmt, ap);
    +	va_end(ap);
    +	va_start(ap, fmt);
     	vsyslog(LOG_ERR, fmt, ap);
     	va_end(ap);
     }
    diff --git a/usr.bin/tic/tic.1 b/usr.bin/tic/tic.1
    index 0137f290a..0829342e3 100644
    --- a/usr.bin/tic/tic.1
    +++ b/usr.bin/tic/tic.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: tic.1,v 1.8 2010/02/11 13:44:14 wiz Exp $
    +.\"	$NetBSD: tic.1,v 1.11 2013/07/20 21:40:00 wiz Exp $
     .\"
     .\" Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
     .\" All rights reserved.
    @@ -27,7 +27,7 @@
     .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     .\" POSSIBILITY OF SUCH DAMAGE.
     .\"
    -.Dd February 11, 2010
    +.Dd June 3, 2012
     .Dt TIC 1
     .Os
     .Sh NAME
    @@ -45,7 +45,7 @@ The
     utility compiles
     .Xr terminfo 5
     source into a database for use by other programs.
    -The created database path name is the same as the source but with .db appended.
    +The created database path name is the same as the source but with .cdb appended.
     .Pp
     The following options are available:
     .Bl -tag -width Fl
    @@ -55,16 +55,16 @@ Do not discard commented out capabilities.
     Only check for errors, don't write the final database.
     .It Fl o Ar file
     Write the database to
    -.Ar file Ns .db
    +.Ar file
     instead of
    -.Ar source Ns .db .
    +.Ar source Ns .cdb .
     .It Fl S
     For
     .Ar term1 , term2 , ...
     output a C structure containing name, compiled description, and compiled size.
    -This can be used to embed terminal descriptons into a program.
    +This can be used to embed terminal descriptions into a program.
     .It Fl s
    -Display the number of terminal descritions written to the database.
    +Display the number of terminal descriptions written to the database.
     .It Fl x
     Include non standard capabilities defined in the
     .Ar source .
    @@ -102,4 +102,4 @@ utility works with terminfo files that conform to the
     .St -xcurses4.2
     standard.
     .Sh AUTHORS
    -.An Roy Marples Aq roy@NetBSD.org
    +.An Roy Marples Aq Mt roy@NetBSD.org
    diff --git a/usr.bin/tic/tic.c b/usr.bin/tic/tic.c
    index b92090376..675556ec2 100644
    --- a/usr.bin/tic/tic.c
    +++ b/usr.bin/tic/tic.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: tic.c,v 1.19 2012/06/01 12:08:40 joerg Exp $ */
    +/* $NetBSD: tic.c,v 1.23 2012/12/08 23:29:28 joerg Exp $ */
     
     /*
      * Copyright (c) 2009, 2010 The NetBSD Foundation, Inc.
    @@ -32,7 +32,7 @@
     #endif
     
     #include 
    -__RCSID("$NetBSD: tic.c,v 1.19 2012/06/01 12:08:40 joerg Exp $");
    +__RCSID("$NetBSD: tic.c,v 1.23 2012/12/08 23:29:28 joerg Exp $");
     
     #include 
     #include 
    @@ -41,13 +41,13 @@ __RCSID("$NetBSD: tic.c,v 1.19 2012/06/01 12:08:40 joerg Exp $");
     #include 
     #endif
     
    +#include 
     #include 
     #include 
     #include 
     #include 
     #include 
     #include 
    -#include 
     #include 
     #include 
     #include 
    @@ -59,30 +59,19 @@ __RCSID("$NetBSD: tic.c,v 1.19 2012/06/01 12:08:40 joerg Exp $");
     
     #define	HASH_SIZE	16384	/* 2012-06-01: 3600 entries */
     
    -/* We store the full list of terminals we have instead of iterating
    -   through the database as the sequential iterator doesn't work
    -   the the data size stored changes N amount which ours will. */
     typedef struct term {
    -	SLIST_ENTRY(term) next;
    +	STAILQ_ENTRY(term) next;
     	char *name;
    -	char type;
     	TIC *tic;
    +	uint32_t id;
    +	struct term *base_term;
     } TERM;
    -static SLIST_HEAD(, term) terms = SLIST_HEAD_INITIALIZER(terms);
    +static STAILQ_HEAD(, term) terms = STAILQ_HEAD_INITIALIZER(terms);
     
     static int error_exit;
     static int Sflag;
    -static char *dbname;
     static size_t nterm, nalias;
     
    -static void
    -do_unlink(void)
    -{
    -
    -	if (dbname != NULL)
    -		unlink(dbname);
    -}
    -
     static void __printflike(1, 2)
     dowarn(const char *fmt, ...)
     {
    @@ -106,22 +95,32 @@ grow_tbuf(TBUF *tbuf, size_t len)
     }
     
     static int
    -save_term(DBM *db, TERM *term)
    +save_term(struct cdbw *db, TERM *term)
     {
     	uint8_t *buf;
     	ssize_t len;
    -	datum key, value;
    +	size_t slen = strlen(term->name) + 1;
    +
    +	if (term->base_term != NULL) {
    +		len = (ssize_t)slen + 7;
    +		buf = emalloc(len);
    +		buf[0] = 2;
    +		le32enc(buf + 1, term->base_term->id);
    +		le16enc(buf + 5, slen);
    +		memcpy(buf + 7, term->name, slen);
    +		if (cdbw_put(db, term->name, slen, buf, len))
    +			err(1, "cdbw_put");
    +		return 0;
    +	}
     
     	len = _ti_flatten(&buf, term->tic);
     	if (len == -1)
     		return -1;
     
    -	key.dptr = term->name;
    -	key.dsize = strlen(term->name);
    -	value.dptr = buf;
    -	value.dsize = len;
    -	if (dbm_store(db, key, value, DBM_REPLACE) == -1)
    -		err(1, "dbm_store");
    +	if (cdbw_put_data(db, buf, len, &term->id))
    +		err(1, "cdbw_put_data");
    +	if (cdbw_put_key(db, term->name, slen, term->id))
    +		err(1, "cdbw_put_key");
     	free(buf);
     	return 0;
     }
    @@ -138,20 +137,20 @@ find_term(const char *name)
     }
     
     static TERM *
    -store_term(const char *name, char type)
    +store_term(const char *name, TERM *base_term)
     {
     	TERM *term;
     	ENTRY elem;
     
     	term = ecalloc(1, sizeof(*term));
     	term->name = estrdup(name);
    -	term->type = type;
    -	SLIST_INSERT_HEAD(&terms, term, next);
    +	STAILQ_INSERT_TAIL(&terms, term, next);
     	elem.key = estrdup(name);
     	elem.data = term;
     	hsearch(elem, ENTER);
     
    -	if (type == 'a')
    +	term->base_term = base_term;
    +	if (base_term != NULL)
     		nalias++;
     	else
     		nterm++;
    @@ -185,7 +184,7 @@ process_entry(TBUF *buf, int flags)
     		_ti_freetic(tic);
     		return 0;
     	}
    -	term = store_term(tic->name, 't');
    +	term = store_term(tic->name, NULL);
     	term->tic = tic;
     
     	/* Create aliased terms */
    @@ -199,9 +198,7 @@ process_entry(TBUF *buf, int flags)
     				dowarn("%s: has alias for already assigned"
     				    " term %s", tic->name, p);
     			} else {
    -				term = store_term(p, 'a');
    -				term->tic = ecalloc(sizeof(*term->tic), 1);
    -				term->tic->name = estrdup(tic->name);
    +				store_term(p, term);
     			}
     			p = e;
     		}
    @@ -319,8 +316,8 @@ merge_use(int flags)
     	TERM *term, *uterm;;
     
     	skipped = merged = 0;
    -	SLIST_FOREACH(term, &terms, next) {
    -		if (term->type == 'a')
    +	STAILQ_FOREACH(term, &terms, next) {
    +		if (term->base_term != NULL)
     			continue;
     		rtic = term->tic;
     		while ((cap = _ti_find_extra(&rtic->extras, "use")) != NULL) {
    @@ -334,8 +331,8 @@ merge_use(int flags)
     				goto remove;
     			}
     			uterm = find_term(cap);
    -			if (uterm != NULL && uterm->type == 'a')
    -				uterm = find_term(uterm->tic->name);
    +			if (uterm != NULL && uterm->base_term != NULL)
    +				uterm = uterm->base_term;
     			if (uterm == NULL) {
     				dowarn("%s: no use record for %s",
     				    rtic->name, cap);
    @@ -403,7 +400,7 @@ print_dump(int argc, char **argv)
     			warnx("%s: no description for terminal", argv[i]);
     			continue;
     		}
    -		if (term->type == 'a') {
    +		if (term->base_term != NULL) {
     			warnx("%s: cannot dump alias", argv[i]);
     			continue;
     		}
    @@ -444,17 +441,46 @@ print_dump(int argc, char **argv)
     	return n;
     }
     
    +static void
    +write_database(const char *dbname)
    +{
    +	struct cdbw *db;
    +	char *tmp_dbname;
    +	TERM *term;
    +	int fd;
    +
    +	db = cdbw_open();
    +	if (db == NULL)
    +		err(1, "cdbw_open failed");
    +	/* Save the terms */
    +	STAILQ_FOREACH(term, &terms, next)
    +		save_term(db, term);
    +
    +	easprintf(&tmp_dbname, "%s.XXXXXX", dbname);
    +	fd = mkstemp(tmp_dbname);
    +	if (fd == -1)
    +		err(1, "creating temporary database %s failed", tmp_dbname);
    +	if (cdbw_output(db, fd, "NetBSD terminfo", cdbw_stable_seeder))
    +		err(1, "writing temporary database %s failed", tmp_dbname);
    +	if (fchmod(fd, DEFFILEMODE))
    +		err(1, "fchmod failed");
    +	if (close(fd))
    +		err(1, "writing temporary database %s failed", tmp_dbname);
    +	if (rename(tmp_dbname, dbname))
    +		err(1, "renaming %s to %s failed", tmp_dbname, dbname);
    +	free(tmp_dbname);
    +	cdbw_close(db);
    +}
    +
     int
     main(int argc, char **argv)
     {
     	int ch, cflag, sflag, flags;
    -	char *source, *p, *buf, *ofile;
    +	char *source, *dbname, *buf, *ofile;
     	FILE *f;
    -	DBM *db;
     	size_t buflen;
     	ssize_t len;
     	TBUF tbuf;
    -	TERM *term;
     
     	cflag = sflag = 0;
     	ofile = NULL;
    @@ -495,23 +521,6 @@ main(int argc, char **argv)
     	f = fopen(source, "r");
     	if (f == NULL)
     		err(1, "fopen: %s", source);
    -	if (!cflag && !Sflag) {
    -		if (ofile == NULL)
    -			ofile = source;
    -		len = strlen(ofile) + 9;
    -		dbname = emalloc(len + 4); /* For adding .db after open */
    -		snprintf(dbname, len, "%s.tmp", ofile);
    -		db = dbm_open(dbname, O_CREAT | O_RDWR | O_TRUNC, DEFFILEMODE);
    -		if (db == NULL)
    -			err(1, "dbopen: %s", source);
    -		p = dbname + strlen(dbname);
    -		*p++ = '.';
    -		*p++ = 'd';
    -		*p++ = 'b';
    -		*p++ = '\0';
    -		atexit(do_unlink);
    -	} else
    -		db = NULL; /* satisfy gcc warning */
     
     	hcreate(HASH_SIZE);
     
    @@ -557,28 +566,21 @@ main(int argc, char **argv)
     	if (cflag)
     		return error_exit;
     
    -	/* Save the terms */
    -	SLIST_FOREACH(term, &terms, next)
    -		save_term(db, term);
    -
    -	/* done! */
    -	dbm_close(db);
    -
    -	/* Rename the tmp db to the real one now */
    -	easprintf(&p, "%s.db", ofile);
    -	if (rename(dbname, p) == -1)
    -		err(1, "rename");
    -	free(dbname);
    -	dbname = NULL;
    +	if (ofile == NULL)
    +		easprintf(&dbname, "%s.cdb", source);
    +	else
    +		dbname = ofile;
    +	write_database(dbname);
     
     	if (sflag != 0)
     		fprintf(stderr, "%zu entries and %zu aliases written to %s\n",
    -		    nterm, nalias, p);
    +		    nterm, nalias, dbname);
     
     #ifdef __VALGRIND__
    -	free(p);
    -	while ((term = SLIST_FIRST(&terms)) != NULL) {
    -		SLIST_REMOVE_HEAD(&terms, next);
    +	if (ofile == NULL)
    +		free(dbname);
    +	while ((term = STAILQ_FIRST(&terms)) != NULL) {
    +		STAILQ_REMOVE_HEAD(&terms, next);
     		_ti_freetic(term->tic);
     		free(term->name);
     		free(term);
    diff --git a/usr.bin/toproto/toproto.c b/usr.bin/toproto/toproto.c
    index affcc079a..349da52b8 100644
    --- a/usr.bin/toproto/toproto.c
    +++ b/usr.bin/toproto/toproto.c
    @@ -1,3 +1,9 @@
    +#if HAVE_NBTOOL_CONFIG_H
    +#include "nbtool_config.h"
    +#else
    +#include 
    +#endif
    +
     #include 
     #include 
     #include 
    @@ -317,6 +323,14 @@ dump_entry(FILE * out, int mindex, const char *base_dir)
     	int i;
     	struct entry *entry = &entries[mindex];
     
    +	/* Ensure uid & gid are set to something meaningful. */
    +	if (entry->uid == NULL) {
    +		entry->uid = __UNCONST("0");
    +	}
    +	if (entry->gid == NULL) {
    +		entry->gid = __UNCONST("0");
    +	}
    +
     	/* Indent the line */
     	for (space = 0; space < entries[mindex].depth; space++) {
     		fprintf(out, " ");
    @@ -326,8 +340,8 @@ dump_entry(FILE * out, int mindex, const char *base_dir)
     			fprintf(out, "%s ", entry->filename);
     		}
     		fprintf(out, "d%s", parse_mode(entry->mode));
    -		fprintf(out, " %s", (entry->uid) ? entry->uid : "0");
    -		fprintf(out, " %s", (entry->gid) ? entry->gid : "0");
    +		fprintf(out, " %s", entry->uid);
    +		fprintf(out, " %s", entry->gid);
     		fprintf(out, "\n");
     		for (i = 0; i < entry_total_count; i++) {
     			if (entries[i].parent == entry) {
    diff --git a/usr.bin/tput/Makefile b/usr.bin/tput/Makefile
    index 305859889..1f2bff7e7 100644
    --- a/usr.bin/tput/Makefile
    +++ b/usr.bin/tput/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.10 2010/02/03 15:34:46 roy Exp $
    +#	$NetBSD: Makefile,v 1.11 2013/01/24 10:41:28 roy Exp $
     #	@(#)Makefile	8.1 (Berkeley) 6/6/93
     
     PROG=	tput
    @@ -7,4 +7,6 @@ LDADD=	-lterminfo
     MLINKS=	tput.1 clear.1
     SCRIPTS=clear.sh
     
    +CPPFLAGS+=	-I${.CURDIR}/../../lib/libterminfo
    +
     .include 
    diff --git a/usr.bin/tput/tput.c b/usr.bin/tput/tput.c
    index ab222f732..0e8da2fc1 100644
    --- a/usr.bin/tput/tput.c
    +++ b/usr.bin/tput/tput.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: tput.c,v 1.22 2011/10/04 12:23:14 roy Exp $	*/
    +/*	$NetBSD: tput.c,v 1.26 2013/02/05 11:31:56 roy Exp $	*/
     
     /*-
      * Copyright (c) 1980, 1988, 1993
    @@ -39,20 +39,21 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1988, 1993\
     #if 0
     static char sccsid[] = "@(#)tput.c	8.3 (Berkeley) 4/28/95";
     #endif
    -__RCSID("$NetBSD: tput.c,v 1.22 2011/10/04 12:23:14 roy Exp $");
    +__RCSID("$NetBSD: tput.c,v 1.26 2013/02/05 11:31:56 roy Exp $");
     #endif /* not lint */
     
     #include 
     
     #include 
    +#include 
    +#include 
     #include 
     #include 
     #include 
    +#include 
     #include 
    -#include 
     #include 
     
    -static int    outc(int);
     static void   usage(void) __dead;
     static char **process(const char *, const char *, char **);
     
    @@ -91,7 +92,7 @@ main(int argc, char **argv)
     			if (!strcmp(p, "init")) {
     				s = tigetstr("is1");
     				if (s != NULL)
    -					tputs(s, 0, outc);
    +					putp(s);
     				p = "is2";
     			}
     			break;
    @@ -105,7 +106,7 @@ main(int argc, char **argv)
     			if (!strcmp(p, "reset")) {
     				s = tigetstr("rs1");
     				if (s != NULL)
    -					tputs(s, 0, outc);
    +					putp(s);
     				p = "rs2";
     			}
     			break;
    @@ -140,93 +141,50 @@ process(const char *cap, const char *str, char **argv)
     	static const char errfew[] =
     	    "Not enough arguments (%d) for capability `%s'";
     	static const char erresc[] =
    -	    "Unknown %% escape `%c' for capability `%s'";
    -	char c, l;
    -	const char *p;
    -	int arg_need, p1, p2, p3, p4, p5, p6, p7, p8, p9;
    +	    "Unknown %% escape (%s) for capability `%s'";
    +	static const char errnum[] =
    +	    "Expected a numeric argument [%d] (%s) for capability `%s'";
    +	static const char errcharlong[] = 
    +	    "Platform does not fit a string into a long for capability '%s'";
    +	int i, nparams, piss[TPARM_MAX];
    +	long nums[TPARM_MAX];
    +	char *strs[TPARM_MAX], *tmp;
     
     	/* Count how many values we need for this capability. */
    -	arg_need = 0;
    -	p = str;
    -	while ((c = *p++) != '\0') {
    -		if (c != '%')
    -			continue;
    -		c = *p++;
    -		if (c == '\0')
    -			break;
    -		if (c != 'p')
    -			continue;
    -		c = *p++;
    -		if (c < '1' || c > '9')
    -			errx(2, erresc, c, cap);
    -		l = c - '0';
    -		if (l > arg_need)
    -			arg_need = l;
    -	}
    -	
    -#define NEXT_ARG							      \
    -	{								      \
    -		if (*++argv == NULL || *argv[0] == '\0')		      \
    -			errx(2, errfew, 1, cap);			      \
    +	errno = 0;
    +	memset(&piss, 0, sizeof(piss));
    +	nparams = _ti_parm_analyse(str, piss, TPARM_MAX);
    +	if (errno == EINVAL)
    +		errx(2, erresc, str, cap);
    +
    +	/* Create our arrays of integers and strings */
    +	for (i = 0; i < nparams; i++) {
    +		if (*++argv == NULL || *argv[0] == '\0')
    +			errx(2, errfew, nparams, cap);
    +		if (piss[i]) {
    +			if (sizeof(char *) > sizeof(long) /* CONSTCOND */)
    +				errx(2, errcharlong, cap);
    +			strs[i] = *argv;
    +		} else {
    +			errno = 0;
    +			nums[i] = strtol(*argv, &tmp, 0);
    +			if ((errno == ERANGE && 
    +			    (nums[i] == LONG_MIN || nums[i] == LONG_MAX)) ||
    +			    (errno != 0 && nums[i] == 0) ||
    +			    tmp == str ||
    +			    *tmp != '\0')
    +				errx(2, errnum, i + 1, *argv, cap);
    +		}
     	}
     
    -	if (arg_need > 0) {
    -		NEXT_ARG;
    -		p1 = atoi(*argv);
    -	} else
    -		p1 = 0;
    -	if (arg_need > 1) {
    -		NEXT_ARG;
    -		p2 = atoi(*argv);
    -	} else
    -		p2 = 0;
    -	if (arg_need > 2) {
    -		NEXT_ARG;
    -		p3 = atoi(*argv);
    -	} else
    -		p3 = 0;
    -	if (arg_need > 3) {
    -		NEXT_ARG;
    -		p4 = atoi(*argv);
    -	} else
    -		p4 = 0;
    -	if (arg_need > 4) {
    -		NEXT_ARG;
    -		p5 = atoi(*argv);
    -	} else
    -		p5 = 0;
    -	if (arg_need > 5) {
    -		NEXT_ARG;
    -		p6 = atoi(*argv);
    -	} else
    -		p6 = 0;
    -	if (arg_need > 6) {
    -		NEXT_ARG;
    -		p7 = atoi(*argv);
    -	} else
    -		p7 = 0;
    -	if (arg_need > 7) {
    -		NEXT_ARG;
    -		p8 = atoi(*argv);
    -	} else
    -		p8 = 0;
    -	if (arg_need > 8) {
    -		NEXT_ARG;
    -		p9 = atoi(*argv);
    -	} else
    -		p9 = 0;
    +	/* And output */
    +#define p(i)	(i <= nparams ? \
    +		    (piss[i - 1] ? (long)strs[i - 1] : nums[i - 1]) : 0)
    +	putp(tparm(str, p(1), p(2), p(3), p(4), p(5), p(6), p(7), p(8), p(9)));
     
    -	/* And print them. */
    -	(void)tputs(tparm(str, p1, p2, p3, p4, p5, p6, p7, p8, p9), 0, outc);
     	return argv;
     }
     
    -static int
    -outc(int c)
    -{
    -	return putchar(c);
    -}
    -
     static void
     usage(void)
     {
    diff --git a/usr.bin/tr/Makefile b/usr.bin/tr/Makefile
    index 073124e55..101c1cc75 100644
    --- a/usr.bin/tr/Makefile
    +++ b/usr.bin/tr/Makefile
    @@ -1,11 +1,7 @@
    -#	$NetBSD: Makefile,v 1.8 2012/08/10 12:10:28 joerg Exp $
    +#	$NetBSD: Makefile,v 1.9 2013/08/11 01:00:13 dholland Exp $
     #	@(#)Makefile	8.1 (Berkeley) 6/6/93
     
     PROG=	tr
     SRCS=	str.c tr.c
     
    -.for f in str tr
    -COPTS.${f}.c+=  -Wno-pointer-sign
    -.endfor
    -
     .include 
    diff --git a/usr.bin/tr/extern.h b/usr.bin/tr/extern.h
    index 8e933330c..8cb2de98a 100644
    --- a/usr.bin/tr/extern.h
    +++ b/usr.bin/tr/extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: extern.h,v 1.7 2011/09/06 18:33:46 joerg Exp $	*/
    +/*	$NetBSD: extern.h,v 1.11 2013/08/11 00:39:22 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993
    @@ -31,18 +31,13 @@
      *	@(#)extern.h	8.1 (Berkeley) 6/6/93
      */
     
    -typedef struct {
    -	enum { STRING1, STRING2 } which;
    -	enum { EOS, INFINITE, NORMAL, RANGE, SEQUENCE, SET } state;
    -	int	 cnt;			/* character count */
    -	int	 lastch;		/* last character */
    -	int	equiv[2];		/* equivalence set */
    -	int	*set;			/* set of characters */
    -	unsigned char	*str;		/* user's string */
    -} STR;
    +struct str;
    +typedef struct str STR;
     
     #include 
     #define	NCHARS	(UCHAR_MAX + 1)		/* Number of possible characters. */
     #define	OOBCH	(UCHAR_MAX + 1)		/* Out of band character value. */
     
    -int	 next(STR *);
    +STR *str_create(int, const char *);
    +void str_destroy(STR *);
    +int	 next(STR *, int *);
    diff --git a/usr.bin/tr/str.c b/usr.bin/tr/str.c
    index c853b318c..ee7b72c4a 100644
    --- a/usr.bin/tr/str.c
    +++ b/usr.bin/tr/str.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: str.c,v 1.19 2011/09/08 12:00:26 christos Exp $	*/
    +/*	$NetBSD: str.c,v 1.29 2013/08/11 01:54:35 dholland Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993
    @@ -34,7 +34,7 @@
     #if 0
     static char sccsid[] = "@(#)str.c	8.2 (Berkeley) 4/28/95";
     #endif
    -__RCSID("$NetBSD: str.c,v 1.19 2011/09/08 12:00:26 christos Exp $");
    +__RCSID("$NetBSD: str.c,v 1.29 2013/08/11 01:54:35 dholland Exp $");
     #endif /* not lint */
     
     #include 
    @@ -46,38 +46,85 @@ __RCSID("$NetBSD: str.c,v 1.19 2011/09/08 12:00:26 christos Exp $");
     #include 
     #include 
     #include 
    +#include 
     
     #include "extern.h"
     
    -static int	backslash(STR *);
    -static int	bracket(STR *);
    -static int	c_class(const void *, const void *);
    -static void	genclass(STR *);
    -static void	genequiv(STR *);
    -static int	genrange(STR *);
    -static void	genseq(STR *);
    +struct str {
    +	enum { STRING1, STRING2 } which;
    +	enum { EOS, INFINITE, NORMAL, RANGE, SEQUENCE, SET } state;
    +	int cnt;			/* character count */
    +	int lastch;			/* last character */
    +	int equiv[2];			/* equivalence set */
    +	int *set;			/* set of characters */
    +	const char *str;		/* user's string */
    +};
    +
    +static int backslash(STR *);
    +static int bracket(STR *);
    +static int c_class(const void *, const void *);
    +static int *genclass(const char *, size_t);
    +static void genequiv(STR *);
    +static int genrange(STR *);
    +static void genseq(STR *);
    +
    +STR *
    +str_create(int whichstring, const char *txt)
    +{
    +	STR *s;
    +
    +	s = malloc(sizeof(*s));
    +	if (s == NULL) {
    +		err(1, "Out of memory");
    +	}
    +
    +	s->which = whichstring == 2 ? STRING2 : STRING1;
    +	s->state = NORMAL;
    +	s->cnt = 0;
    +	s->lastch = OOBCH;
    +	s->equiv[0] = 0;
    +	s->equiv[1] = OOBCH;
    +	s->set = NULL;
    +	s->str = txt;
    +
    +	return s;
    +}
    +
    +void
    +str_destroy(STR *s)
    +{
    +	if (s->set != NULL && s->set != s->equiv) {
    +		free(s->set);
    +	}
    +	free(s);
    +}
     
     int
    -next(STR *s)
    +next(STR *s, int *ret)
     {
     	int ch;
     
     	switch (s->state) {
     	case EOS:
    +		*ret = s->lastch;
     		return 0;
     	case INFINITE:
    +		*ret = s->lastch;
     		return 1;
     	case NORMAL:
    -		switch (ch = *s->str) {
    +		ch = (unsigned char)s->str[0];
    +		switch (ch) {
     		case '\0':
     			s->state = EOS;
    +			*ret = s->lastch;
     			return 0;
     		case '\\':
     			s->lastch = backslash(s);
     			break;
     		case '[':
    -			if (bracket(s))
    -				return next(s);
    +			if (bracket(s)) {
    +				return next(s, ret);
    +			}
     			/* FALLTHROUGH */
     		default:
     			++s->str;
    @@ -86,45 +133,62 @@ next(STR *s)
     		}
     
     		/* We can start a range at any time. */
    -		if (s->str[0] == '-' && genrange(s))
    -			return next(s);
    +		if (s->str[0] == '-' && genrange(s)) {
    +			return next(s, ret);
    +		}
    +		*ret = s->lastch;
     		return 1;
     	case RANGE:
    -		if (s->cnt-- == 0) {
    +		if (s->cnt == 0) {
     			s->state = NORMAL;
    -			return next(s);
    +			return next(s, ret);
     		}
    +		s->cnt--;
     		++s->lastch;
    +		*ret = s->lastch;
     		return 1;
     	case SEQUENCE:
    -		if (s->cnt-- == 0) {
    +		if (s->cnt == 0) {
     			s->state = NORMAL;
    -			return next(s);
    +			return next(s, ret);
     		}
    +		s->cnt--;
    +		*ret = s->lastch;
     		return 1;
     	case SET:
    -		if ((s->lastch = s->set[s->cnt++]) == OOBCH) {
    +		s->lastch = s->set[s->cnt++];
    +		if (s->lastch == OOBCH) {
     			s->state = NORMAL;
    -			return next(s);
    +			if (s->set != s->equiv) {
    +				free(s->set);
    +			}
    +			s->set = NULL;
    +			return next(s, ret);
     		}
    +		*ret = s->lastch;
     		return 1;
     	}
     	/* NOTREACHED */
    +	assert(0);
    +	*ret = s->lastch;
     	return 0;
     }
     
     static int
     bracket(STR *s)
     {
    -	char *p;
    +	const char *p;
    +	int *q;
     
     	switch (s->str[1]) {
     	case ':':				/* "[:class:]" */
     		if ((p = strstr(s->str + 2, ":]")) == NULL)
     			return 0;
    -		*p = '\0';
     		s->str += 2;
    -		genclass(s);
    +		q = genclass(s->str, p - s->str);
    +		s->state = SET;
    +		s->set = q;
    +		s->cnt = 0;
     		s->str = p + 2;
     		return 1;
     	case '=':				/* "[=equiv=]" */
    @@ -132,6 +196,7 @@ bracket(STR *s)
     			return 0;
     		s->str += 2;
     		genequiv(s);
    +		s->str = p + 2;
     		return 1;
     	default:				/* "[\###*n]" or "[#*n]" */
     		if ((p = strpbrk(s->str + 2, "*]")) == NULL)
    @@ -165,36 +230,73 @@ static const CLASS classes[] = {
     	{ "xdigit", isxdigit },
     };
     
    -static void
    -genclass(STR *s)
    +typedef struct {
    +	const char *name;
    +	size_t len;
    +} CLASSKEY;
    +
    +static int *
    +genclass(const char *class, size_t len)
     {
    -	int cnt;
    +	int ch;
     	const CLASS *cp;
    -	CLASS tmp;
    +	CLASSKEY key;
     	int *p;
    +	unsigned pos, num;
     
    -	tmp.name = s->str;
    -	if ((cp = bsearch(&tmp, classes, sizeof(classes) /
    -	    sizeof(*cp), sizeof(*cp), c_class)) == NULL)
    -		errx(1, "unknown class %s", s->str);
    +	/* Find the class */
    +	key.name = class;
    +	key.len = len;
    +	cp = bsearch(&key, classes, __arraycount(classes), sizeof(classes[0]),
    +		     c_class);
    +	if (cp == NULL) {
    +		errx(1, "unknown class %.*s", (int)len, class);
    +	}
     
    -	if ((s->set = p = malloc((NCHARS + 1) * sizeof(*p))) == NULL)
    +	/*
    +	 * Figure out what characters are in the class
    +	 */
    +
    +	num = NCHARS + 1;
    +	p = malloc(num * sizeof(*p));
    +	if (p == NULL) {
     		err(1, "malloc");
    +	}
     
    -	for (cnt = 0; cnt < NCHARS; ++cnt)
    -		if ((*cp->func)(cnt))
    -			*p++ = cnt;
    -	*p++ = OOBCH;
    -	memset(p, 0, NCHARS + 1 - (p - s->set));
    +	pos = 0;
    +	for (ch = 0; ch < NCHARS; ch++) {
    +		if (cp->func(ch)) {
    +			p[pos++] = ch;
    +		}
    +	}
     
    -	s->cnt = 0;
    -	s->state = SET;
    +	p[pos++] = OOBCH;
    +	for (; pos < num; pos++) {
    +		p[pos] = 0;
    +	}
    +
    +	return p;
     }
     
     static int
    -c_class(const void *a, const void *b)
    +c_class(const void *av, const void *bv)
     {
    -	return strcmp(((const CLASS *)a)->name, ((const CLASS *)b)->name);
    +	const CLASSKEY *a = av;
    +	const CLASS *b = bv;
    +	size_t blen;
    +	int r;
    +
    +	blen = strlen(b->name);
    +	r = strncmp(a->name, b->name, a->len);
    +	if (r != 0) {
    +		return r;
    +	}
    +	if (a->len < blen) {
    +		/* someone gave us a prefix of the right name */
    +		return -1;
    +	}
    +	assert(a-> len == blen);
    +	return 0;
     }
     
     /*
    @@ -204,16 +306,24 @@ c_class(const void *a, const void *b)
     static void
     genequiv(STR *s)
     {
    -	if (*s->str == '\\') {
    +	int ch;
    +
    +	ch = (unsigned char)s->str[0];
    +	if (ch == '\\') {
     		s->equiv[0] = backslash(s);
    -		if (*s->str != '=')
    -			errx(1, "misplaced equivalence equals sign");
     	} else {
    -		s->equiv[0] = s->str[0];
    -		if (s->str[1] != '=')
    -			errx(1, "misplaced equivalence equals sign");
    +		s->equiv[0] = ch;
    +		s->str++;
     	}
    -	s->str += 2;
    +	if (s->str[0] != '=') {
    +		errx(1, "Misplaced equivalence equals sign");
    +	}
    +	s->str++;
    +	if (s->str[0] != ']') {
    +		errx(1, "Misplaced equivalence right bracket");
    +	}
    +	s->str++;
    +
     	s->cnt = 0;
     	s->state = SET;
     	s->set = s->equiv;
    @@ -223,11 +333,11 @@ static int
     genrange(STR *s)
     {
     	int stopval;
    -	char *savestart;
    +	const char *savestart;
     
    -	savestart = s->str;
    -	stopval = *++s->str == '\\' ? backslash(s) : *s->str++;
    -	if (stopval < (u_char)s->lastch) {
    +	savestart = s->str++;
    +	stopval = s->str[0] == '\\' ? backslash(s) : (unsigned char)*s->str++;
    +	if (stopval < (unsigned char)s->lastch) {
     		s->str = savestart;
     		return 0;
     	}
    @@ -242,17 +352,21 @@ genseq(STR *s)
     {
     	char *ep;
     
    -	if (s->which == STRING1)
    -		errx(1, "sequences only valid in string2");
    +	if (s->which == STRING1) {
    +		errx(1, "Sequences only valid in string2");
    +	}
     
    -	if (*s->str == '\\')
    +	if (*s->str == '\\') {
     		s->lastch = backslash(s);
    -	else
    -		s->lastch = *s->str++;
    -	if (*s->str != '*')
    -		errx(1, "misplaced sequence asterisk");
    +	} else {
    +		s->lastch = (unsigned char)*s->str++;
    +	}
    +	if (*s->str != '*') {
    +		errx(1, "Misplaced sequence asterisk");
    +	}
     
    -	switch (*++s->str) {
    +	s->str++;
    +	switch (s->str[0]) {
     	case '\\':
     		s->cnt = backslash(s);
     		break;
    @@ -261,7 +375,7 @@ genseq(STR *s)
     		++s->str;
     		break;
     	default:
    -		if (isdigit(*s->str)) {
    +		if (isdigit((unsigned char)s->str[0])) {
     			s->cnt = strtol(s->str, &ep, 0);
     			if (*ep == ']') {
     				s->str = ep + 1;
    @@ -284,20 +398,36 @@ backslash(STR *s)
     {
     	int ch, cnt, val;
     
    -	for (cnt = val = 0;;) {
    -		ch = *++s->str;
    -		if (!isascii(ch) || !isdigit(ch))
    +	cnt = val = 0;
    +	for (;;) {
    +		/* Consume the character we're already on. */
    +		s->str++;
    +
    +		/* Look at the next character. */
    +		ch = (unsigned char)s->str[0];
    +		if (!isascii(ch) || !isdigit(ch)) {
     			break;
    +		}
     		val = val * 8 + ch - '0';
     		if (++cnt == 3) {
    +			/* Enough digits; consume this one and stop */
     			++s->str;
     			break;
     		}
     	}
    -	if (cnt)
    +	if (cnt) {
    +		/* We saw digits, so return their value */
     		return val;
    -	if (ch != '\0')
    -		++s->str;
    +	}
    +	if (ch == '\0') {
    +		/* \ -> \ */
    +		s->state = EOS;
    +		return '\\';
    +	}
    +
    +	/* Consume the escaped character */
    +	s->str++;
    +
     	switch (ch) {
     	case 'a':			/* escape characters */
     		return '\7';
    @@ -315,10 +445,7 @@ backslash(STR *s)
     		return '\t';
     	case 'v':
     		return '\13';
    -	case '\0':			/*  \" -> \ */
    -		s->state = EOS;
    -		return '\\';
    -	default:			/* \x" -> x */
    +	default:			/* \q -> q */
     		return ch;
     	}
     }
    diff --git a/usr.bin/tr/tr.1 b/usr.bin/tr/tr.1
    index 28f58699a..e21c006fe 100644
    --- a/usr.bin/tr/tr.1
    +++ b/usr.bin/tr/tr.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: tr.1,v 1.18 2009/11/12 00:43:53 joerg Exp $
    +.\"	$NetBSD: tr.1,v 1.21 2013/08/10 20:59:27 dholland Exp $
     .\"
     .\" Copyright (c) 1991, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -32,7 +32,7 @@
     .\"
     .\"     @(#)tr.1	8.1 (Berkeley) 6/6/93
     .\"
    -.Dd March 23, 2004
    +.Dd May 29, 2013
     .Dt TR 1
     .Os
     .Sh NAME
    @@ -64,8 +64,8 @@ The following options are available:
     .Bl -tag -width Ds
     .It Fl c
     Complements the set of characters in
    -.Ar string1 ,
    -that is
    +.Ar string1 ;
    +that is,
     .Fl c Ar \&ab
     includes every character except for
     .Sq a
    @@ -227,18 +227,17 @@ expression is only valid when it occurs in
     .Ar string2 .
     If
     .Ar n
    -is omitted or is zero, it is interpreted as large enough to extend
    +is omitted or is zero, it is interpreted as large enough to extend the
     .Ar string2
     sequence to the length of
     .Ar string1 .
     If
     .Ar n
    -has a leading zero, it is interpreted as an octal value, otherwise,
    -it's interpreted as a decimal value.
    +has a leading zero, it is interpreted as an octal value;
    +otherwise, it is interpreted as a decimal value.
     .El
     .Sh EXIT STATUS
    -.Nm
    -exits 0 on success, and \*[Gt]0 if an error occurs.
    +.Ex -std
     .Sh EXAMPLES
     The following examples are shown as given to the shell:
     .Pp
    @@ -319,6 +318,9 @@ and
     .Fl s
     options were ignored unless two strings were specified.
     This implementation will not permit illegal syntax.
    +.Sh SEE ALSO
    +.Xr dd 1 ,
    +.Xr sed 1
     .Sh STANDARDS
     The
     .Nm
    @@ -334,7 +336,7 @@ has less characters than
     is permitted by POSIX but is not required.
     Shell scripts attempting to be portable to other POSIX systems should use
     the
    -.Dq [#*]
    +.Dq [#*n]
     convention instead of relying on this behavior.
     .Sh BUGS
     .Nm
    diff --git a/usr.bin/tr/tr.c b/usr.bin/tr/tr.c
    index 89b4b351f..8221880a7 100644
    --- a/usr.bin/tr/tr.c
    +++ b/usr.bin/tr/tr.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: tr.c,v 1.9 2011/09/06 18:33:46 joerg Exp $	*/
    +/*	$NetBSD: tr.c,v 1.20 2013/08/11 01:54:35 dholland Exp $	*/
     
     /*
      * Copyright (c) 1988, 1993
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 1993\
     #if 0
     static char sccsid[] = "@(#)tr.c	8.2 (Berkeley) 5/4/95";
     #endif
    -__RCSID("$NetBSD: tr.c,v 1.9 2011/09/06 18:33:46 joerg Exp $");
    +__RCSID("$NetBSD: tr.c,v 1.20 2013/08/11 01:54:35 dholland Exp $");
     #endif /* not lint */
     
     #include 
    @@ -52,56 +52,21 @@ __RCSID("$NetBSD: tr.c,v 1.9 2011/09/06 18:33:46 joerg Exp $");
     
     #include "extern.h"
     
    -static int string1[NCHARS] = {
    -	0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,		/* ASCII */
    -	0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    -	0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
    -	0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
    -	0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
    -	0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
    -	0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
    -	0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
    -	0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
    -	0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
    -	0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
    -	0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
    -	0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
    -	0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
    -	0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
    -	0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
    -	0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
    -	0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
    -	0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
    -	0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
    -	0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
    -	0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
    -	0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
    -	0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
    -	0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
    -	0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
    -	0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
    -	0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
    -	0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
    -	0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
    -	0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    -	0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
    -}, string2[NCHARS];
    +static int string1[NCHARS], string2[NCHARS];
     
    -STR s1 = { STRING1, NORMAL, 0, OOBCH, { 0, OOBCH }, NULL, NULL };
    -STR s2 = { STRING2, NORMAL, 0, OOBCH, { 0, OOBCH }, NULL, NULL };
    -
    -static void setup(int *, char *, STR *, int);
    +static void setup(int *, const char *, int, int);
     __dead static void usage(void);
     
     int
     main(int argc, char **argv)
     {
    -	int ch, cnt, lastch, *p;
    +	int ch, ch2, lastch;
     	int cflag, dflag, sflag, isstring2;
    +	STR *s1, *s2;
     
     	cflag = dflag = sflag = 0;
     	while ((ch = getopt(argc, argv, "cds")) != -1)
    -		switch((char)ch) {
    +		switch (ch) {
     		case 'c':
     			cflag = 1;
     			break;
    @@ -140,10 +105,10 @@ main(int argc, char **argv)
     		if (!isstring2)
     			usage();
     
    -		setup(string1, argv[0], &s1, cflag);
    -		setup(string2, argv[1], &s2, 0);
    -		
    -		for (lastch = OOBCH; (ch = getchar()) != EOF;)
    +		setup(string1, argv[0], 1, cflag);
    +		setup(string2, argv[1], 2, 0);
    +
    +		for (lastch = OOBCH; (ch = getchar()) != EOF; )
     			if (!string1[ch] && (!string2[ch] || lastch != ch)) {
     				lastch = ch;
     				(void)putchar(ch);
    @@ -159,7 +124,7 @@ main(int argc, char **argv)
     		if (isstring2)
     			usage();
     
    -		setup(string1, argv[0], &s1, cflag);
    +		setup(string1, argv[0], 1, cflag);
     
     		while ((ch = getchar()) != EOF)
     			if (!string1[ch])
    @@ -172,7 +137,7 @@ main(int argc, char **argv)
     	 * Squeeze all characters (or complemented characters) in string1.
     	 */
     	if (sflag && !isstring2) {
    -		setup(string1, argv[0], &s1, cflag);
    +		setup(string1, argv[0], 1, cflag);
     
     		for (lastch = OOBCH; (ch = getchar()) != EOF;)
     			if (!string1[ch] || lastch != ch) {
    @@ -191,32 +156,85 @@ main(int argc, char **argv)
     	if (!isstring2)
     		usage();
     
    -	s1.str = argv[0];
    -	s2.str = argv[1];
    +	/*
    +	 * The first and second strings need to be matched up. This
    +	 * means that if we are doing -c, we need to scan the first
    +	 * string in advance, complement it, and match *that* against
    +	 * the second string; otherwise we need to scan them together.
    +	 */
     
    -	if (cflag)
    -		for (cnt = NCHARS, p = string1; cnt--;)
    -			*p++ = OOBCH;
    +	if (cflag) {
    +		/*
    +		 * Scan string 1 and complement it. After this,
    +		 * string1[] contains 0 for chars to leave alone and 1
    +		 * for chars to translate.
    +		 */
    +		setup(string1, argv[0], 1, cflag);
    +		s1 = NULL; /* for safety */
    +		/* we will use ch to iterate over string1, so start it */
    +		ch = -1;
    +	} else {
    +		/* Create the scanner for string 1. */
    +		s1 = str_create(1, argv[0]);
    +		for (ch = 0; ch < NCHARS; ch++) {
    +			string1[ch] = ch;
    +		}
    +	}
    +	/* Create the scanner for string 2. */
    +	s2 = str_create(2, argv[1]);
     
    -	if (!next(&s2))
    +	/* Read the first char of string 2 first to make sure there is one. */
    +	if (!next(s2, &ch2))
     		errx(1, "empty string2");
     
    -	/* If string2 runs out of characters, use the last one specified. */
    -	if (sflag)
    -		while (next(&s1)) {
    -			string1[s1.lastch] = ch = s2.lastch;
    -			string2[ch] = 1;
    -			(void)next(&s2);
    +	/*
    +	 * Loop over the chars from string 1. After this loop string1[]
    +	 * is a mapping from input to output chars.
    +	 */
    +	while (1) {
    +		if (cflag) {
    +			/*
    +			 * Try each character in order. For characters we
    +			 * skip over because we aren't translating them,
    +			 * set the translation to the identity.
    +			 */
    +			ch++;
    +			while (ch < NCHARS && string1[ch] == 0) {
    +				if (string1[ch] == 0) {
    +					string1[ch] = ch;
    +				}
    +				ch++;
    +			}
    +			if (ch == NCHARS) {
    +				break;
    +			}
     		}
    -	else
    -		while (next(&s1)) {
    -			string1[s1.lastch] = ch = s2.lastch;
    -			(void)next(&s2);
    +		else {
    +			/* Get the next character from string 1. */
    +			if (!next(s1, &ch)) {
    +				break;
    +			}
     		}
     
    -	if (cflag)
    -		for (cnt = 0, p = string1; cnt < NCHARS; ++p, ++cnt)
    -			*p = *p == OOBCH ? ch : cnt;
    +		/* Set the translation to the character from string 2. */
    +		string1[ch] = ch2;
    +
    +		/* Note the characters to squeeze in string2[]. */
    +		if (sflag) {
    +			string2[ch2] = 1;
    +		}
    +
    +		/*
    +		 * Get the next character from string 2. If it runs
    +		 * out, this will keep returning the last character
    +		 * over and over again.
    +		 */
    +		(void)next(s2, &ch2);
    +	}
    +
    +	/*
    +	 * Now do it.
    +	 */
     
     	if (sflag)
     		for (lastch = OOBCH; (ch = getchar()) != EOF;) {
    @@ -229,21 +247,29 @@ main(int argc, char **argv)
     	else
     		while ((ch = getchar()) != EOF)
     			(void)putchar(string1[ch]);
    +
    +	/* Clean up and exit. */
    +	if (s1 != NULL) {
    +		str_destroy(s1);
    +	}
    +	str_destroy(s2);
     	exit (0);
     }
     
     static void
    -setup(int *string, char *arg, STR *str, int cflag)
    +setup(int *string, const char *arg, int whichstring, int cflag)
     {
     	int cnt, *p;
    +	int ch;
    +	STR *str;
     
    -	str->str = arg;
    -	memset(string, 0, NCHARS * sizeof(int));
    -	while (next(str))
    -		string[str->lastch] = 1;
    +	str = str_create(whichstring, arg);
    +	while (next(str, &ch))
    +		string[ch] = 1;
     	if (cflag)
     		for (p = string, cnt = NCHARS; cnt--; ++p)
     			*p = !*p;
    +	str_destroy(str);
     }
     
     static void
    diff --git a/usr.bin/uname/Makefile b/usr.bin/uname/Makefile
    index 44b3a6d53..15f1b4136 100644
    --- a/usr.bin/uname/Makefile
    +++ b/usr.bin/uname/Makefile
    @@ -3,8 +3,4 @@
     
     PROG=	uname
     
    -.if defined(__MINIX)
    -LINKS+=	${BINDIR}/uname ${BINDIR}/arch
    -.endif # __MINIX
    -
     .include 
    diff --git a/usr.bin/uname/uname.c b/usr.bin/uname/uname.c
    index 233fc6814..c8f902258 100644
    --- a/usr.bin/uname/uname.c
    +++ b/usr.bin/uname/uname.c
    @@ -44,11 +44,11 @@ __RCSID("$NetBSD: uname.c,v 1.11 2011/09/06 18:35:13 joerg Exp $");
     #include 
     #include 
     
    -#ifdef __minix
    +#if defined(__minix)
     #include 
    -#else /* !__minix */
    +#else
     #include 
    -#endif /* !__minix */
    +#endif /* !defined(__minix) */
     #include 
     
     __dead static void usage(void);
    @@ -109,15 +109,7 @@ main(int argc, char **argv)
     	}
     
     	if (!print_mask) {
    -#ifdef __minix
    -		setprogname(argv[0]);
    -
    -		/* When executed via the `arch` symlink, do `uname -p` */
    -		if (getprogname() != NULL && strcmp(getprogname(), "arch") == 0)
    -			print_mask = PRINT_MACHINE_ARCH;
    -		else
    -#endif /* __minix */
    -			print_mask = PRINT_SYSNAME;
    +		print_mask = PRINT_SYSNAME;
     	}
     
     	if (uname(&u) != 0) {
    @@ -125,16 +117,16 @@ main(int argc, char **argv)
     		/* NOTREACHED */
     	}
     	if (print_mask & PRINT_MACHINE_ARCH) {
    -#ifdef __minix
    +#if defined(__minix)
     		strlcpy(machine_arch, u.arch, sizeof(machine_arch));
    -#else /* !__minix */
    +#else
     		int mib[2] = { CTL_HW, HW_MACHINE_ARCH };
     		size_t len = sizeof (machine_arch);
     
     		if (sysctl(mib, sizeof (mib) / sizeof (mib[0]), machine_arch,
     		    &len, NULL, 0) < 0)
     			err(EXIT_FAILURE, "sysctl");
    -#endif /* !__minix */
    +#endif /* defined(__minix) */
     	}
     
     	if (print_mask & PRINT_SYSNAME) {
    diff --git a/usr.bin/uniq/uniq.1 b/usr.bin/uniq/uniq.1
    index 9195422e2..bf1a78cef 100644
    --- a/usr.bin/uniq/uniq.1
    +++ b/usr.bin/uniq/uniq.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: uniq.1,v 1.12 2010/10/06 06:43:26 dholland Exp $
    +.\"	$NetBSD: uniq.1,v 1.13 2012/08/26 14:13:50 wiz Exp $
     .\"
     .\" Copyright (c) 1991, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -32,7 +32,7 @@
     .\"
     .\"     @(#)uniq.1	8.1 (Berkeley) 6/6/93
     .\"
    -.Dd January 6, 2007
    +.Dd August 26, 2012
     .Dt UNIQ 1
     .Os
     .Sh NAME
    @@ -70,7 +70,7 @@ Ignore the first
     in each input line when doing comparisons.
     A field is a string of non-blank characters separated from adjacent fields
     by blanks.
    -Field numbers are one based, i.e. the first field is field one.
    +Field numbers are one based, i.e., the first field is field one.
     .It Fl s Ar chars
     Ignore the first
     .Ar chars
    @@ -82,7 +82,7 @@ option, the first
     characters after the first
     .Ar fields
     fields will be ignored.
    -Character numbers are one based, i.e. the first character is character one.
    +Character numbers are one based, i.e., the first character is character one.
     .It Fl u
     Don't output lines that are repeated in the input.
     .\".It Fl Ns Ar n
    @@ -105,13 +105,15 @@ Don't output lines that are repeated in the input.
     .\"number.
     .El
     .Pp
    -If additional arguments are specified on the command line, the first
    -such argument is used as the name of an input file, the second is used
    -as the name of an output file.
    -.Pp
    -The
    -.Nm
    -utility exits 0 on success, and \*[Gt]0 if an error occurs.
    +Additional arguments
    +.Ar input_file
    +and
    +.Ar output_file
    +may be specified on the command line,
    +where the former is then used as the name of an input file,
    +and the latter as the name of an output file.
    +.Sh EXIT STATUS
    +.Ex -std
     .Sh COMPATIBILITY
     The historic
     .Cm \&\(pl Ns Ar number
    diff --git a/usr.bin/uniq/uniq.c b/usr.bin/uniq/uniq.c
    index 32589efd5..4a122caf8 100644
    --- a/usr.bin/uniq/uniq.c
    +++ b/usr.bin/uniq/uniq.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: uniq.c,v 1.17 2010/10/06 07:59:18 wiz Exp $	*/
    +/*	$NetBSD: uniq.c,v 1.18 2012/08/26 14:14:16 wiz Exp $	*/
     
     /*
      * Copyright (c) 1989, 1993
    @@ -42,7 +42,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993\
     #if 0
     static char sccsid[] = "@(#)uniq.c	8.3 (Berkeley) 5/4/95";
     #endif
    -__RCSID("$NetBSD: uniq.c,v 1.17 2010/10/06 07:59:18 wiz Exp $");
    +__RCSID("$NetBSD: uniq.c,v 1.18 2012/08/26 14:14:16 wiz Exp $");
     #endif /* not lint */
     
     #include 
    @@ -251,7 +251,7 @@ obsolete(char *argv[])
     static void
     usage(void)
     {
    -	(void)fprintf(stderr, "Usage: %s [-cdu] [-f fields] [-s chars] "
    -	    "[input [output]]\n", getprogname());
    +	(void)fprintf(stderr, "usage: %s [-cdu] [-f fields] [-s chars] "
    +	    "[input_file [output_file]]\n", getprogname());
     	exit(1);
     }
    diff --git a/usr.bin/unvis/unvis.1 b/usr.bin/unvis/unvis.1
    index 6c34c89c3..5c8467155 100644
    --- a/usr.bin/unvis/unvis.1
    +++ b/usr.bin/unvis/unvis.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: unvis.1,v 1.9 2010/11/28 01:33:37 wiz Exp $
    +.\"	$NetBSD: unvis.1,v 1.10 2012/12/15 02:08:13 uwe Exp $
     .\"
     .\" Copyright (c) 1989, 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -52,7 +52,7 @@ The options are as follows:
     .It Fl e
     Don't decode \e escaped sequences.
     .It Fl H
    -Decode using the URI encoding from RFC 1866.
    +Decode entity references and numeric character references from RFC 1866.
     .Pq Dv VIS_HTTP1866
     .It Fl h
     Decode using the URI encoding from RFC 1808.
    diff --git a/usr.bin/vis/vis.1 b/usr.bin/vis/vis.1
    index 13c28067a..fcaa7fbc3 100644
    --- a/usr.bin/vis/vis.1
    +++ b/usr.bin/vis/vis.1
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: vis.1,v 1.14 2009/02/10 23:06:31 christos Exp $
    +.\"	$NetBSD: vis.1,v 1.20 2013/10/29 12:27:23 njoly Exp $
     .\"
     .\" Copyright (c) 1989, 1991, 1993, 1994
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -29,7 +29,7 @@
     .\"
     .\"     @(#)vis.1	8.4 (Berkeley) 4/19/94
     .\"
    -.Dd February 10, 2009
    +.Dd February 19, 2013
     .Dt VIS 1
     .Os
     .Sh NAME
    @@ -135,6 +135,26 @@ Tabs are also encoded.
     White space (space-tab-newline) is also encoded.
     .Pq Dv VIS_WHITE
     .El
    +.Sh MULTIBYTE CHARACTER SUPPORT
    +.Nm
    +supports multibyte character input.
    +The encoding conversion is influenced by the setting of the
    +.Ev LC_CTYPE
    +environment variable which defines the set of characters that can be
    +copied without encoding.
    +.Pp
    +When 8-bit data is present in the input,
    +.Ev LC_CTYPE
    +must be set to the correct locale or to the C locale.
    +If the locales of the data and the conversion are mismatched, multibyte
    +character recognition may fail and encoding will be performed byte-by-byte
    +instead.
    +.Sh ENVIRONMENT
    +.Bl -tag -width ".Ev LC_CTYPE"
    +.It Ev LC_CTYPE
    +Specify the locale of the input data.
    +Set to C if the input data locale is unknown.
    +.El
     .Sh SEE ALSO
     .Xr unvis 1 ,
     .Xr svis 3 ,
    @@ -144,3 +164,7 @@ The
     .Nm
     command appears in
     .Bx 4.4 .
    +Multibyte character support was added in
    +.Nx 7.0
    +and
    +.Fx 9.2 .
    diff --git a/usr.bin/vis/vis.c b/usr.bin/vis/vis.c
    index 5dcd2f934..1509c81c4 100644
    --- a/usr.bin/vis/vis.c
    +++ b/usr.bin/vis/vis.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vis.c,v 1.15 2009/02/11 06:42:31 wiz Exp $	*/
    +/*	$NetBSD: vis.c,v 1.22 2013/02/20 17:04:45 christos Exp $	*/
     
     /*-
      * Copyright (c) 1989, 1993
    @@ -39,12 +39,16 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1993\
     #if 0
     static char sccsid[] = "@(#)vis.c	8.1 (Berkeley) 6/6/93";
     #endif
    -__RCSID("$NetBSD: vis.c,v 1.15 2009/02/11 06:42:31 wiz Exp $");
    +__RCSID("$NetBSD: vis.c,v 1.22 2013/02/20 17:04:45 christos Exp $");
     #endif /* not lint */
     
     #include 
     #include 
     #include 
    +#include 
    +#include 
    +#include 
    +#include 
     #include 
     #include 
     #include 
    @@ -55,7 +59,7 @@ static int eflags, fold, foldwidth = 80, none, markeol;
     #ifdef DEBUG
     int debug;
     #endif
    -static char *extra;
    +static const char *extra = "";
     
     static void process(FILE *);
     
    @@ -157,29 +161,94 @@ process(FILE *fp)
     	static int col = 0;
     	static char nul[] = "\0";
     	char *cp = nul + 1;	/* so *(cp-1) starts out != '\n' */
    -	int c, rachar; 
    -	char buff[5];
    +	wint_t c, c1, rachar;
    +	char mbibuff[2 * MB_LEN_MAX + 1]; /* max space for 2 wchars */
    +	char buff[4 * MB_LEN_MAX + 1]; /* max encoding length for one char */
    +	int mbilen, cerr = 0, raerr = 0;
     	
    -	c = getc(fp);
    -	while (c != EOF) {
    -		rachar = getc(fp);
    +        /*
    +         * The input stream is considered to be multibyte characters.
    +         * The input loop will read this data inputing one character,
    +	 * possibly multiple bytes, at a time and converting each to
    +	 * a wide character wchar_t.
    +         *
    +	 * The vis(3) functions, however, require single either bytes
    +	 * or a multibyte string as their arguments.  So we convert
    +	 * our input wchar_t and the following look-ahead wchar_t to
    +	 * a multibyte string for processing by vis(3).
    +         */
    +
    +	/* Read one multibyte character, store as wchar_t */
    +	c = getwc(fp);
    +	if (c == WEOF && errno == EILSEQ) {
    +		/* Error in multibyte data.  Read one byte. */
    +		c = (wint_t)getc(fp);
    +		cerr = 1;
    +	}
    +	while (c != WEOF) {
    +		/* Clear multibyte input buffer. */
    +		memset(mbibuff, 0, sizeof(mbibuff));
    +		/* Read-ahead next multibyte character. */
    +		if (!cerr)
    +			rachar = getwc(fp);
    +		if (cerr || (rachar == WEOF && errno == EILSEQ)) {
    +			/* Error in multibyte data.  Read one byte. */
    +			rachar = (wint_t)getc(fp);
    +			raerr = 1;
    +		}
     		if (none) {
    +			/* Handle -n flag. */
     			cp = buff;
     			*cp++ = c;
     			if (c == '\\')
     				*cp++ = '\\';
     			*cp = '\0';
     		} else if (markeol && c == '\n') {
    +			/* Handle -l flag. */
     			cp = buff;
     			if ((eflags & VIS_NOSLASH) == 0)
     				*cp++ = '\\';
     			*cp++ = '$';
     			*cp++ = '\n';
     			*cp = '\0';
    -		} else if (extra)
    -			(void)svis(buff, (char)c, eflags, (char)rachar, extra);
    -		else
    -			(void)vis(buff, (char)c, eflags, (char)rachar);
    +		} else {
    +			/*
    +			 * Convert character using vis(3) library.
    +			 * At this point we will process one character.
    +			 * But we must pass the vis(3) library this
    +			 * character plus the next one because the next
    +			 * one is used as a look-ahead to decide how to
    +			 * encode this one under certain circumstances.
    +			 *
    +			 * Since our characters may be multibyte, e.g.,
    +			 * in the UTF-8 locale, we cannot use vis() and
    +			 * svis() which require byte input, so we must
    +			 * create a multibyte string and use strvisx().
    +			 */
    +			/* Treat EOF as a NUL char. */
    +			c1 = rachar;
    +			if (c1 == WEOF)
    +				c1 = L'\0';
    +			/*
    +			 * If we hit a multibyte conversion error above,
    +			 * insert byte directly into string buff because
    +			 * wctomb() will fail.  Else convert wchar_t to
    +			 * multibyte using wctomb().
    +			 */
    +			if (cerr) {
    +				*mbibuff = (char)c;
    +				mbilen = 1;
    +			} else
    +				mbilen = wctomb(mbibuff, c);
    +			/* Same for look-ahead character. */
    +			if (raerr)
    +				mbibuff[mbilen] = (char)c1;
    +			else
    +				wctomb(mbibuff + mbilen, c1);
    +			/* Perform encoding on just first character. */
    +			(void) strsenvisx(buff, 4 * MB_LEN_MAX, mbibuff,
    +			    1, eflags, extra, &cerr);
    +		}
     
     		cp = buff;
     		if (fold) {
    @@ -197,6 +266,7 @@ process(FILE *fp)
     			(void)putchar(*cp);
     		} while (*++cp);
     		c = rachar;
    +		cerr = raerr;
     	}
     	/*
     	 * terminate partial line with a hidden newline
    diff --git a/usr.bin/wall/wall.c b/usr.bin/wall/wall.c
    index b969964f3..636a01c15 100644
    --- a/usr.bin/wall/wall.c
    +++ b/usr.bin/wall/wall.c
    @@ -65,7 +65,6 @@ __RCSID("$NetBSD: wall.c,v 1.29 2011/09/06 18:45:21 joerg Exp $");
     #include 
     
     #include "utmpentry.h"
    -
     #include "term_chk.h"
     
     static void	addgroup(char *);
    diff --git a/usr.bin/whois/whois.c b/usr.bin/whois/whois.c
    index 6f2e7ec37..0dd48f6e7 100644
    --- a/usr.bin/whois/whois.c
    +++ b/usr.bin/whois/whois.c
    @@ -1,4 +1,4 @@
    -/*      $NetBSD: whois.c,v 1.35 2011/08/17 13:57:12 christos Exp $   */
    +/*      $NetBSD: whois.c,v 1.36 2013/02/20 09:27:52 ws Exp $   */
     /*	$OpenBSD: whois.c,v 1.28 2003/09/18 22:16:15 fgsch Exp $	*/
     
     /*
    @@ -41,7 +41,7 @@ __COPYRIGHT("@(#) Copyright (c) 1980, 1993\
     #if 0
     static const char sccsid[] = "@(#)whois.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: whois.c,v 1.35 2011/08/17 13:57:12 christos Exp $");
    +__RCSID("$NetBSD: whois.c,v 1.36 2013/02/20 09:27:52 ws Exp $");
     #endif
     #endif /* not lint */
     
    @@ -216,7 +216,7 @@ whois(const char *query, const char *server, const char *port, int flags)
     
     	if (strcmp(server, "whois.denic.de") == 0 ||
     	    strcmp(server, "de.whois-servers.net") == 0)
    -		fmt = "-T dn,ace -C ISO-8859-1";
    +		fmt = "-T dn,ace -C ISO-8859-1 ";
     	else
     		fmt = "";
     
    diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c
    index 47e6b2c78..73f96897e 100644
    --- a/usr.bin/xinstall/xinstall.c
    +++ b/usr.bin/xinstall/xinstall.c
    @@ -384,14 +384,14 @@ main(int argc, char *argv[])
     		 * off the append/immutable bits -- if we fail, go ahead,
     		 * it might work.
     		 */
    -#ifndef __minix
    +#if !defined(__minix)
     #if ! HAVE_NBTOOL_CONFIG_H
     #define	NOCHANGEBITS	(UF_IMMUTABLE | UF_APPEND | SF_IMMUTABLE | SF_APPEND)
     		if (to_sb.st_flags & NOCHANGEBITS)
     			(void)chflags(to_name,
     			    to_sb.st_flags & ~(NOCHANGEBITS));
     #endif
    -#endif
    +#endif /* !defined(__minix) */
     		if (dobackup)
     			backup(to_name);
     		else if (!dorename)
    @@ -671,13 +671,13 @@ install(char *from_name, char *to_name, u_int flags)
     	 * off the append/immutable bits -- if we fail, go ahead,
     	 * it might work.
     	 */
    -#ifndef __minix
    +#if !defined(__minix)
     #if ! HAVE_NBTOOL_CONFIG_H
     	if (stat(to_name, &to_sb) == 0 &&
     	    to_sb.st_flags & (NOCHANGEBITS))
     		(void)chflags(to_name, to_sb.st_flags & ~(NOCHANGEBITS));
     #endif
    -#endif
    +#endif /* !defined(__minix) */
     	if (dorename) {
     		(void)snprintf(tmpl, sizeof(tmpl), "%s.inst.XXXXXX", to_name);
     		oto_name = to_name;
    @@ -793,7 +793,7 @@ install(char *from_name, char *to_name, u_int flags)
     	 * If provided a set of flags, set them, otherwise, preserve the
     	 * flags, except for the dump flag.
     	 */
    -#ifndef __minix
    +#if !defined(__minix)
     #if ! HAVE_NBTOOL_CONFIG_H
     	if (!dounpriv && chflags(to_name,
     	    flags & SETFLAGS ? fileflags : from_sb.st_flags & ~UF_NODUMP) == -1)
    @@ -802,7 +802,7 @@ install(char *from_name, char *to_name, u_int flags)
     			warn("%s: chflags", to_name);
     	}
     #endif
    -#endif
    +#endif /* !defined(__minix) */
     
     	metadata_log(to_name, "file", tv, NULL, digestresult, size);
     	free(digestresult);
    @@ -819,9 +819,9 @@ copy(int from_fd, char *from_name, int to_fd, char *to_name, off_t size)
     {
     	ssize_t	nr, nw;
     	int	serrno;
    -#ifndef __minix
    +#if !defined(__minix)
     	u_char	*p;
    -#endif
    +#endif /* !defined(__minix) */
     	u_char	buf[MAXBSIZE];
     	MD5_CTX		ctxMD5;
     	RMD160_CTX	ctxRMD160;
    @@ -868,7 +868,7 @@ copy(int from_fd, char *from_name, int to_fd, char *to_name, off_t size)
     		 */
     
     		if (size <= 8 * 1048576) {
    -#ifdef __minix
    +#if defined(__minix)
     			goto mmap_failed;
     #else
     			if ((p = mmap(NULL, (size_t)size, PROT_READ,
    @@ -911,7 +911,7 @@ copy(int from_fd, char *from_name, int to_fd, char *to_name, off_t size)
     				break;
     			}
     			(void)munmap(p, size);
    -#endif
    +#endif /* defined(__minix) */
     		} else {
      mmap_failed:
     			while ((nr = read(from_fd, buf, sizeof(buf))) > 0) {
    diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
    index 5baeffa2a..089511b26 100644
    --- a/usr.sbin/Makefile
    +++ b/usr.sbin/Makefile
    @@ -1,29 +1,46 @@
    -#	$NetBSD: Makefile,v 1.266 2012/08/08 14:13:46 christos Exp $
    +#	$NetBSD: Makefile,v 1.268 2013/11/28 22:34:44 christos Exp $
     #	from: @(#)Makefile	5.20 (Berkeley) 6/12/93
     
     .include 
     
     SUBDIR= \
    +	\
     	chroot \
    +	\
    +	\
    +	\
    +	\
    +	\
     	i2cscan installboot \
    +	\
    +	\
     	link \
    +	\
     	mtree \
    +	\
    +	\
     	pwd_mkdb postinstall \
    +	\
    +	\
     	rdate \
    +	\
    +	\
    +	\
    +	\
     	unlink user \
    -	vipw \
    -	vnconfig \
    +	vipw vnconfig \
    +	\
     	zic
     
    +.if defined(__MINIX)
     # LSC MINIX Specific
     SUBDIR+= mkfs.mfs \
     	mkproto
    -
    -.if !defined(__MINIX)
    +.else
     .if ${MKMAKEMANDB} != "no"
     SUBDIR+= makemandb
     .endif
    -.endif # !defined(__MINIX)
    +.endif # defined(__MINIX)
     
     .if (${MKYP} != "no")
     SUBDIR+= rpc.yppasswdd ypbind yppoll ypserv ypset
    diff --git a/usr.sbin/Makefile.inc b/usr.sbin/Makefile.inc
    index 7314482de..ddb25e755 100644
    --- a/usr.sbin/Makefile.inc
    +++ b/usr.sbin/Makefile.inc
    @@ -3,7 +3,3 @@
     
     BINDIR?=	/usr/sbin
     WARNS?=		4
    -
    -# BJG too many warnings here
    -NOGCCERROR?=    yes
    -NOCLANGERROR?=  yes
    diff --git a/usr.sbin/installboot/Makefile b/usr.sbin/installboot/Makefile
    index 231c1e789..d312bd780 100644
    --- a/usr.sbin/installboot/Makefile
    +++ b/usr.sbin/installboot/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.46 2011/08/14 17:50:16 christos Exp $
    +#	$NetBSD: Makefile,v 1.47 2012/08/10 12:10:28 joerg Exp $
     #
     
     .include 
    @@ -8,15 +8,21 @@ MAN=	installboot_nbsd.8
     SRCS=	installboot.c sum.c machines.c fstypes.c install_master.c
     
     
    +.if !defined(__MINIX)
    +ARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c
    +ARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c
    +.else
     ARCH_XLAT= amd64-i386.c
    -#ARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c
    -#ARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c
    +.endif # !defined(__MINIX)
     
     .if !defined(SMALLPROG) && !defined(ARCH_FILES)
    +.if !defined(__MINIX)
    +ARCH_FILES=  alpha.c amiga.c emips.c ews4800mips.c hp300.c hp700.c i386.c
    +ARCH_FILES+= landisk.c macppc.c news.c next68k.c pmax.c
    +ARCH_FILES+= sparc.c sparc64.c sun68k.c vax.c x68k.c
    +.else
     ARCH_FILES=  i386.c
    -#ARCH_FILES=  alpha.c amiga.c emips.c ews4800mips.c hp300.c hp700.c i386.c
    -#ARCH_FILES+= landisk.c macppc.c news.c next68k.c pmax.c
    -#ARCH_FILES+= sparc.c sparc64.c sun68k.c vax.c x68k.c
    +.endif # !defined(__MINIX)
     .else
     ARCH_FILES?= ${ARCH_XLAT:M${MACHINE}-*:S/${MACHINE}-//}
     .if empty(ARCH_FILES)
    @@ -26,35 +32,36 @@ ARCH_FILES= ${MACHINE}.c
     
     SRCS+=${ARCH_FILES}
     
    +.if !defined(__MINIX)
    +.if empty(ARCH_FILES:C/(macppc|news|sparc|sun68k|x68k)/stg2/:Mstg2.c)
     CPPFLAGS	+= -DNO_STAGE2
    -#.if empty(ARCH_FILES:C/(macppc|news|sparc|sun68k|x68k)/stg2/:Mstg2.c)
    -#CPPFLAGS	+= -DNO_STAGE2
    -#.else
    -#SRCS+= bbinfo.c
    +.else
    +SRCS+= bbinfo.c
     
     # fstypes are only needed for 'stage2' and then only from bbinfo.
    -#SRCS+= ffs.c
    -#.if SMALLPROG
    -#CPPFLAGS+=	-DNO_FFS_SWAP
    -#.else
    -#SRCS+= ffs_bswap.c
    -#.endif
    +SRCS+= ffs.c
    +.if SMALLPROG
    +CPPFLAGS+=	-DNO_FFS_SWAP
    +.else
    +SRCS+= ffs_bswap.c
    +.endif
     #SRCS+= ext2fs.c ext2fs_bswap.c
    -#.endif
    +.endif
     
    +UFSSRC=		${NETBSDSRCDIR}/sys/ufs
    +CPPFLAGS+=	-I${.CURDIR} -I.
    +.PATH:		${.CURDIR}/arch ${UFSSRC}/ffs ${UFSSRC}/ext2fs
    +.else
    +CPPFLAGS	+= -DNO_STAGE2
     SRCS+= minixfs3.c
    -
    -#UFSSRC=		${NETBSDSRCDIR}/sys/ufs
    -#.PATH:		${.CURDIR}/arch ${UFSSRC}/ffs ${UFSSRC}/ext2fs
     .PATH:		${.CURDIR}/arch
     CPPFLAGS+=	-I${.CURDIR} -I.
    +.endif # !defined(__MINIX)
     
     .if !defined(HOSTPROGNAME)
    -.if defined(HAVE_GCC) || defined(HAVE_PCC)
     .for f in i386 macppc
     COPTS.${f}.c+=  -Wno-pointer-sign
     .endfor
     .endif
    -.endif
     
     .include 
    diff --git a/usr.sbin/installboot/arch/amiga.c b/usr.sbin/installboot/arch/amiga.c
    index e6650b95f..5e9ae3f51 100644
    --- a/usr.sbin/installboot/arch/amiga.c
    +++ b/usr.sbin/installboot/arch/amiga.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: amiga.c,v 1.7 2010/01/14 16:27:49 tsutsui Exp $	*/
    +/*	$NetBSD: amiga.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
    @@ -38,7 +38,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: amiga.c,v 1.7 2010/01/14 16:27:49 tsutsui Exp $");
    +__RCSID("$NetBSD: amiga.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $");
     #endif	/* !__lint */
     
     #include 
    @@ -76,7 +76,7 @@ amiga_setboot(ib_params *params)
     	char *dline;
     	int sumlen;
     	u_int32_t sum2, sum16;
    -	
    +
     	struct stat		bootstrapsb;
     
     	u_int32_t block[128*16];
    diff --git a/usr.sbin/installboot/arch/hp300.c b/usr.sbin/installboot/arch/hp300.c
    index 57410fc46..c5de67bba 100644
    --- a/usr.sbin/installboot/arch/hp300.c
    +++ b/usr.sbin/installboot/arch/hp300.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: hp300.c,v 1.13 2011/02/10 23:25:11 tsutsui Exp $ */
    +/* $NetBSD: hp300.c,v 1.15 2013/06/14 03:54:43 msaitoh Exp $ */
     
     /*-
      * Copyright (c) 2003 The NetBSD Foundation, Inc.
    @@ -35,14 +35,15 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: hp300.c,v 1.13 2011/02/10 23:25:11 tsutsui Exp $");
    +__RCSID("$NetBSD: hp300.c,v 1.15 2013/06/14 03:54:43 msaitoh Exp $");
     #endif /* !__lint */
     
     /* We need the target disklabel.h, not the hosts one..... */
     #ifdef HAVE_NBTOOL_CONFIG_H
     #include "nbtool_config.h"
    +#include 
     #include 
    -#else                                                                          
    +#else
     #include 
     #endif
     #include 
    diff --git a/usr.sbin/installboot/arch/hp700.c b/usr.sbin/installboot/arch/hp700.c
    index c6d84805b..5e7f4de7b 100644
    --- a/usr.sbin/installboot/arch/hp700.c
    +++ b/usr.sbin/installboot/arch/hp700.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: hp700.c,v 1.4 2008/04/28 20:24:16 martin Exp $	*/
    +/*	$NetBSD: hp700.c,v 1.6 2013/06/14 03:54:43 msaitoh Exp $	*/
     
     /*-
      * Copyright (c) 2002 The NetBSD Foundation, Inc.
    @@ -35,14 +35,14 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: hp700.c,v 1.4 2008/04/28 20:24:16 martin Exp $");
    +__RCSID("$NetBSD: hp700.c,v 1.6 2013/06/14 03:54:43 msaitoh Exp $");
     #endif	/* !__lint */
     
     /* We need the target disklabel.h, not the hosts one..... */
     #ifdef HAVE_NBTOOL_CONFIG_H
     #include "nbtool_config.h"
     #include 
    -#else                                                                          
    +#else
     #include 
     #endif
     #include 
    @@ -178,9 +178,10 @@ hp700_setboot(ib_params *params)
     	} else if (be32toh(label.l.d_partitions[0].p_offset) +
     	    be32toh(label.l.d_partitions[0].p_size) >
     	    ((unsigned)2*1024*1024*1024) / secsize) {
    -		warnx("WARNING: Partition `a' of `%s' exceeds 2GB boundary.",
    +		warnx("Partition `a' of `%s' exceeds 2GB boundary.",
     		    params->filesystem);
    -		warnx("WARNING: It won't boot since hp700 PDC can handle only 2GB.");
    +		warnx("It won't boot since hp700 PDC can handle only 2GB.");
    +		goto done;
     	}
     
     	/* read boot loader */
    diff --git a/usr.sbin/installboot/arch/i386.c b/usr.sbin/installboot/arch/i386.c
    index 85b8ff2a3..8d4a8c0b1 100644
    --- a/usr.sbin/installboot/arch/i386.c
    +++ b/usr.sbin/installboot/arch/i386.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: i386.c,v 1.37 2011/08/14 17:50:17 christos Exp $ */
    +/* $NetBSD: i386.c,v 1.40 2013/06/14 03:54:43 msaitoh Exp $ */
     
     /*-
      * Copyright (c) 2003 The NetBSD Foundation, Inc.
    @@ -35,7 +35,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: i386.c,v 1.37 2011/08/14 17:50:17 christos Exp $");
    +__RCSID("$NetBSD: i386.c,v 1.40 2013/06/14 03:54:43 msaitoh Exp $");
     #endif /* !__lint */
     
     #include 
    @@ -79,21 +79,19 @@ struct ib_mach ib_mach_i386 =
     	{ "i386", i386_setboot, no_clearboot, i386_editboot,
     		IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED | IB_CONSADDR |
     		IB_KEYMAP | IB_PASSWORD | IB_TIMEOUT |
    +#if !defined(__minix)
    +		IB_MODULES | IB_BOOTCONF |
    +		IB_STAGE1START };
    +#else
     		IB_MODULES | IB_BOOTCONF };
    -
    -#ifdef __minix
    -struct ib_mach ib_mach_i686 =
    -	{ "i686", i386_setboot, no_clearboot, i386_editboot,
    -		IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED | IB_CONSADDR |
    -		IB_KEYMAP | IB_PASSWORD | IB_TIMEOUT |
    -		IB_MODULES | IB_BOOTCONF };
    -#endif
    +#endif /* !defined(__minix) */
     
     struct ib_mach ib_mach_amd64 =
     	{ "amd64", i386_setboot, no_clearboot, i386_editboot,
     		IB_RESETVIDEO | IB_CONSOLE | IB_CONSPEED | IB_CONSADDR |
     		IB_KEYMAP | IB_PASSWORD | IB_TIMEOUT |
    -		IB_MODULES | IB_BOOTCONF };
    +		IB_MODULES | IB_BOOTCONF |
    +		IB_STAGE1START };
     
     /*
      * Attempting to write the 'labelsector' (or a sector near it - within 8k?)
    @@ -191,7 +189,7 @@ write_boot_area(ib_params *params, uint8_t *buf, size_t len)
       bad_write:
     	if (rv == -1)
     		warn("Writing `%s'", params->filesystem);
    -	else 
    +	else
     		warnx("Writing `%s': short write, %u bytes",
     			params->filesystem, rv);
     	return 0;
    @@ -257,7 +255,7 @@ update_i386_boot_params(ib_params *params, struct x86_boot_params  *bpp)
     		if (i == __arraycount(consoles)) {
     			warnx("invalid console name, valid names are:");
     			(void)fprintf(stderr, "\t%s", consoles[0].name);
    -			for (i = 1; consoles[i].name != NULL; i++)
    +			for (i = 1; i < __arraycount(consoles); i++)
     				(void)fprintf(stderr, ", %s", consoles[i].name);
     			(void)fprintf(stderr, "\n");
     			return 1;
    @@ -448,6 +446,9 @@ i386_setboot(ib_params *params)
     				/* Old BPB is shorter, leave zero filled */
     				u = disk_buf.b[1];
     			}
    +			if (params->s1start != 0)
    +				/* Fixup physical offset of filesytem */
    +				bpb->bpbHiddenSecs = htole32(params->s1start);
     			memcpy(bootstrap.b + 2, disk_buf.b + 2, u);
     		}
     		#undef USE_F
    diff --git a/usr.sbin/installboot/arch/landisk.c b/usr.sbin/installboot/arch/landisk.c
    index a5d4ef2e6..d58aa08d9 100644
    --- a/usr.sbin/installboot/arch/landisk.c
    +++ b/usr.sbin/installboot/arch/landisk.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: landisk.c,v 1.5 2009/05/07 07:03:39 lukem Exp $	*/
    +/*	$NetBSD: landisk.c,v 1.6 2013/10/19 17:08:15 christos Exp $	*/
     
     /*-
      * Copyright (c) 2003 The NetBSD Foundation, Inc.
    @@ -35,7 +35,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: landisk.c,v 1.5 2009/05/07 07:03:39 lukem Exp $");
    +__RCSID("$NetBSD: landisk.c,v 1.6 2013/10/19 17:08:15 christos Exp $");
     #endif /* !__lint */
     
     #include 
    @@ -68,7 +68,6 @@ landisk_setboot(ib_params *params)
     	size_t bootstrapsize;
     	int retval, i;
     	uint32_t bplen;
    -	int bpbsize;
     
     	assert(params != NULL);
     	assert(params->fsfd != -1);
    @@ -149,11 +148,11 @@ landisk_setboot(ib_params *params)
     	 *	2b a0 11	jmp ENDOF(mbr_bpbFAT32)+1, nop
     	 *      (anything else)	; don't preserve
     	 */
    -	bpbsize = 0;
     #if 0
    +	int bpbsize;
     	if (bootstrapbuf[1] == 0xa0 && bootstrapbuf[2] == 0x11 &&
     	    (bootstrapbuf[0] == 0x2b /*|| bootstrapbuf[0] == 0x1d*/)) {
    -		bpbsize = bootstrapbuf[0] + 2 - MBR_BPB_OFFSET;
    +		 bpbsize = bootstrapbuf[0] + 2 - MBR_BPB_OFFSET;
     	}
     #endif
     
    diff --git a/usr.sbin/installboot/arch/next68k.c b/usr.sbin/installboot/arch/next68k.c
    index 438dd1366..e897a40d9 100644
    --- a/usr.sbin/installboot/arch/next68k.c
    +++ b/usr.sbin/installboot/arch/next68k.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: next68k.c,v 1.7 2010/01/07 13:26:00 tsutsui Exp $ */
    +/* $NetBSD: next68k.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $ */
     
     /*-
      * Copyright (c) 2003 The NetBSD Foundation, Inc.
    @@ -35,7 +35,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: next68k.c,v 1.7 2010/01/07 13:26:00 tsutsui Exp $");
    +__RCSID("$NetBSD: next68k.c,v 1.8 2013/06/14 03:54:43 msaitoh Exp $");
     #endif /* !__lint */
     
     #include 
    @@ -154,7 +154,7 @@ next68k_setboot(ib_params *params)
     		goto done;
     	}
     
    -	if (bootsize > be16toh(next68klabel->cd_front) * cd_secsize - 
    +	if (bootsize > be16toh(next68klabel->cd_front) * cd_secsize -
     	    NEXT68K_LABEL_SIZE) {
     		warnx("Boot program is larger than front porch space");
     		goto done;
    @@ -174,7 +174,7 @@ next68k_setboot(ib_params *params)
     			/* can only fit one copy */
     			b0 = b1 = NEXT68K_LABEL_SIZE / cd_secsize;
     		else {
    -			if (2 * bootsize > (fp * cd_secsize - 
    +			if (2 * bootsize > (fp * cd_secsize -
     				NEXT68K_LABEL_DEFAULTBOOT0_1 *
     				params->sectorsize))
     				/* can fit two copies starting after label */
    @@ -230,7 +230,7 @@ next68k_setboot(ib_params *params)
     			goto done;
     		}
     	}
    -	
    +
     	b0 *= sec_netonb_mult;
     	b1 *= sec_netonb_mult;
     
    @@ -247,7 +247,7 @@ next68k_setboot(ib_params *params)
     			goto done;
     		}
     		if ((size_t)rv != bootsize) {
    -			warnx("Writing `%s' at %d: short write", 
    +			warnx("Writing `%s' at %d: short write",
     			    params->filesystem, b0);
     			goto done;
     		}
    diff --git a/usr.sbin/installboot/arch/pmax.c b/usr.sbin/installboot/arch/pmax.c
    index bdbdde71c..962cd2a83 100644
    --- a/usr.sbin/installboot/arch/pmax.c
    +++ b/usr.sbin/installboot/arch/pmax.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pmax.c,v 1.14 2009/04/05 11:55:39 lukem Exp $	*/
    +/*	$NetBSD: pmax.c,v 1.15 2013/10/21 15:37:46 christos Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
    @@ -98,7 +98,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: pmax.c,v 1.14 2009/04/05 11:55:39 lukem Exp $");
    +__RCSID("$NetBSD: pmax.c,v 1.15 2013/10/21 15:37:46 christos Exp $");
     #endif	/* !__lint */
     
     #include 
    @@ -188,7 +188,7 @@ pmax_setboot(ib_params *params)
     	uint32_t		startblock;
     	int			retval;
     	char			*bootstrapbuf;
    -	size_t			bootstrapsize;
    +	size_t			bootstrapsize = 0;	/* XXX: gcc */
     	uint32_t		bootstrapload, bootstrapexec;
     	ssize_t			rv;
     
    diff --git a/usr.sbin/installboot/arch/vax.c b/usr.sbin/installboot/arch/vax.c
    index 453fc9a65..74982ccae 100644
    --- a/usr.sbin/installboot/arch/vax.c
    +++ b/usr.sbin/installboot/arch/vax.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vax.c,v 1.13 2009/04/05 11:55:39 lukem Exp $	*/
    +/*	$NetBSD: vax.c,v 1.17 2013/06/16 19:05:00 martin Exp $	*/
     
     /*-
      * Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
    @@ -68,20 +68,30 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: vax.c,v 1.13 2009/04/05 11:55:39 lukem Exp $");
    +__RCSID("$NetBSD: vax.c,v 1.17 2013/06/16 19:05:00 martin Exp $");
     #endif	/* !__lint */
     
     #include 
    +#ifdef HAVE_NBTOOL_CONFIG_H
    +#include 
    +#else
    +#include 
    +#endif
     
     #include 
     #include 
     #include 
     #include 
     #include 
    +#include 
     #include 
     
     #include "installboot.h"
     
    +#ifndef __CTASSERT
    +#define	__CTASSERT(X)
    +#endif
    +
     static int	load_bootstrap(ib_params *, char **,
     		    uint32_t *, uint32_t *, size_t *);
     
    @@ -101,7 +111,7 @@ vax_clearboot(ib_params *params)
     	assert(params != NULL);
     	assert(params->fsfd != -1);
     	assert(params->filesystem != NULL);
    -	assert(sizeof(struct vax_boot_block) == VAX_BOOT_BLOCK_BLOCKSIZE);
    +	__CTASSERT(sizeof(bb)==VAX_BOOT_BLOCK_BLOCKSIZE);
     
     	rv = pread(params->fsfd, &bb, sizeof(bb), VAX_BOOT_BLOCK_OFFSET);
     	if (rv == -1) {
    @@ -112,7 +122,7 @@ vax_clearboot(ib_params *params)
     		return (0);
     	}
     
    -	if (bb.bb_id_offset * 2 != offsetof(struct vax_boot_block, bb_magic1)
    +	if (bb.bb_id_offset*2 >= VAX_BOOT_BLOCK_BLOCKSIZE
     	    || bb.bb_magic1 != VAX_BOOT_MAGIC1) {
     		warnx(
     		    "Old boot block magic number invalid; boot block invalid");
    @@ -154,10 +164,10 @@ static int
     vax_setboot(ib_params *params)
     {
     	struct stat		bootstrapsb;
    -	struct vax_boot_block	bb;
    +	struct vax_boot_block	*bb;
     	uint32_t		startblock;
     	int			retval;
    -	char			*bootstrapbuf;
    +	char			*bootstrapbuf, oldbb[VAX_BOOT_BLOCK_BLOCKSIZE];
     	size_t			bootstrapsize;
     	uint32_t		bootstrapload, bootstrapexec;
     	ssize_t			rv;
    @@ -167,8 +177,12 @@ vax_setboot(ib_params *params)
     	assert(params->filesystem != NULL);
     	assert(params->s1fd != -1);
     	assert(params->stage1 != NULL);
    -	assert(sizeof(struct vax_boot_block) == VAX_BOOT_BLOCK_BLOCKSIZE);
     
    +	/* see sys/arch/vax/boot/xxboot/start.S for explanation */
    +	__CTASSERT(offsetof(struct vax_boot_block,bb_magic1) == 0x19e);
    +	__CTASSERT(sizeof(struct vax_boot_block) == VAX_BOOT_BLOCK_BLOCKSIZE);
    +
    +	startblock = 0;
     	retval = 0;
     	bootstrapbuf = NULL;
     
    @@ -184,16 +198,29 @@ vax_setboot(ib_params *params)
     	    &bootstrapexec, &bootstrapsize))
     		goto done;
     
    -	rv = pread(params->fsfd, &bb, sizeof(bb), VAX_BOOT_BLOCK_OFFSET);
    +	/* read old boot block */
    +	rv = pread(params->fsfd, oldbb, sizeof(oldbb), VAX_BOOT_BLOCK_OFFSET);
     	if (rv == -1) {
     		warn("Reading `%s'", params->filesystem);
     		goto done;
    -	} else if (rv != sizeof(bb)) {
    +	} else if (rv != sizeof(oldbb)) {
     		warnx("Reading `%s': short read", params->filesystem);
     		goto done;
     	}
     
    -		/* fill in the updated boot block fields */
    +	/*
    +	 * Copy disklabel from old boot block to new.
    +	 * Assume everything between LABELOFFSET and the start of
    +	 * the param block is scratch area and can be copied over.
    +	 */
    +	memcpy(bootstrapbuf+LABELOFFSET,
    +	    oldbb+LABELOFFSET,
    +	    offsetof(struct vax_boot_block,bb_magic1)-LABELOFFSET);
    +
    +	/* point to bootblock at begining of bootstrap */
    +	bb = (struct vax_boot_block*)bootstrapbuf;
    +
    +	/* fill in the updated boot block fields */
     	if (params->flags & IB_APPEND) {
     		struct stat	filesyssb;
     
    @@ -209,46 +236,21 @@ vax_setboot(ib_params *params)
     		}
     		startblock = howmany(filesyssb.st_size,
     		    VAX_BOOT_BLOCK_BLOCKSIZE);
    -	} else if (params->flags & IB_STAGE1START) {
    -		startblock = params->s1start;
    -	} else {
    -		startblock = VAX_BOOT_BLOCK_OFFSET / VAX_BOOT_BLOCK_BLOCKSIZE
    -		    + 1;
    +		bb->bb_lbn_hi = htole16((uint16_t) (startblock >> 16));
    +		bb->bb_lbn_low = htole16((uint16_t) (startblock >>  0));
     	}
     
    -	bb.bb_id_offset = offsetof(struct vax_boot_block, bb_magic1) / 2;
    -	bb.bb_mbone = 1;
    -	bb.bb_lbn_hi = htole16((uint16_t) (startblock >> 16));
    -	bb.bb_lbn_low = htole16((uint16_t) (startblock >>  0));
    -	/*
    -	 * Now the identification block
    -	 */
    -	bb.bb_magic1 = VAX_BOOT_MAGIC1;
    -	bb.bb_mbz1 = 0;
    -	bb.bb_sum1 = ~(bb.bb_magic1 + bb.bb_mbz1 + bb.bb_pad1);
    -
    -	bb.bb_mbz2 = 0;
    -	bb.bb_volinfo = VAX_BOOT_VOLINFO_NONE;
    -	bb.bb_pad2a = 0;
    -	bb.bb_pad2b = 0;
    -
    -	bb.bb_size = htole32(bootstrapsize / VAX_BOOT_BLOCK_BLOCKSIZE);
    -	bb.bb_load = htole32(VAX_BOOT_LOAD);
    -	bb.bb_entry = htole32(VAX_BOOT_ENTRY);
    -	bb.bb_sum3 = htole32(le32toh(bb.bb_size) + le32toh(bb.bb_load) \
    -	    + le32toh(bb.bb_entry));
    -
     	if (params->flags & IB_SUNSUM) {
     		uint16_t	sum;
     
    -		sum = compute_sunsum((uint16_t *)&bb);
    -		if (! set_sunsum(params, (uint16_t *)&bb, sum))
    +		sum = compute_sunsum((uint16_t *)bb);
    +		if (! set_sunsum(params, (uint16_t *)bb, sum))
     			goto done;
     	}
     
     	if (params->flags & IB_VERBOSE) {
     		printf("Bootstrap start sector: %u\n", startblock);
    -		printf("Bootstrap sector count: %u\n", le32toh(bb.bb_size));
    +		printf("Bootstrap sector count: %u\n", le32toh(bb->bb_size));
     		printf("%sriting bootstrap\n",
     		    (params->flags & IB_NOWRITE) ? "Not w" : "W");
     	}
    @@ -256,8 +258,7 @@ vax_setboot(ib_params *params)
     		retval = 1;
     		goto done;
     	}
    -	rv = pwrite(params->fsfd, bootstrapbuf, bootstrapsize,
    -	     startblock * VAX_BOOT_BLOCK_BLOCKSIZE);
    +	rv = pwrite(params->fsfd, bootstrapbuf, bootstrapsize, 0);
     	if (rv == -1) {
     		warn("Writing `%s'", params->filesystem);
     		goto done;
    @@ -265,19 +266,7 @@ vax_setboot(ib_params *params)
     		warnx("Writing `%s': short write", params->filesystem);
     		goto done;
     	}
    -
    -	if (params->flags & IB_VERBOSE)
    -		printf("Writing boot block\n");
    -	rv = pwrite(params->fsfd, &bb, sizeof(bb), VAX_BOOT_BLOCK_OFFSET);
    -	if (rv == -1) {
    -		warn("Writing `%s'", params->filesystem);
    -		goto done;
    -	} else if (rv != sizeof(bb)) {
    -		warnx("Writing `%s': short write", params->filesystem);
    -		goto done;
    -	} else {
    -		retval = 1;
    -	}
    +	retval = 1;
     
      done:
     	if (bootstrapbuf)
    diff --git a/usr.sbin/installboot/ext2fs.c b/usr.sbin/installboot/ext2fs.c
    index a1c37e3de..a9f904bca 100644
    --- a/usr.sbin/installboot/ext2fs.c
    +++ b/usr.sbin/installboot/ext2fs.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ext2fs.c,v 1.6 2010/01/14 16:27:49 tsutsui Exp $	*/
    +/*	$NetBSD: ext2fs.c,v 1.9 2013/06/23 02:06:06 dholland Exp $	*/
     
     /*
      * Copyright (c) 1997 Manuel Bouyer.
    @@ -59,7 +59,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: ext2fs.c,v 1.6 2010/01/14 16:27:49 tsutsui Exp $");
    +__RCSID("$NetBSD: ext2fs.c,v 1.9 2013/06/23 02:06:06 dholland Exp $");
     #endif	/* !__lint */
     
     #include 
    @@ -169,7 +169,7 @@ ext2fs_read_gdblock(ib_params *params, struct m_ext2fs *fs)
     	gdpb = fs->e2fs_bsize / sizeof(struct ext2_gd);
     
     	for (i = 0; i < fs->e2fs_ngdb; i++) {
    -		if (ext2fs_read_disk_block(params, fsbtodb(fs,
    +		if (ext2fs_read_disk_block(params, EXT2_FSBTODB(fs,
     		    fs->e2fs.e2fs_first_dblock + 1 /* superblock */ + i),
     		    SBSIZE, gdbuf) == 0)
     			return 0;
    @@ -236,7 +236,7 @@ ext2fs_find_disk_blocks(ib_params *params, ino_t ino,
     
     	/* Read the inode. */
     	if (ext2fs_read_disk_block(params,
    -		fsbtodb(fs, ino_to_fsba(fs, ino)) + params->fstype->offset,
    +		EXT2_FSBTODB(fs, ino_to_fsba(fs, ino)) + params->fstype->offset,
     		fs->e2fs_bsize, inodebuf))
     		return 0;
     	inode = (void *)inodebuf;
    @@ -248,12 +248,12 @@ ext2fs_find_disk_blocks(ib_params *params, ino_t ino,
     	lblk = 0;
     	level_i = 0;
     	level[0].blknums = &inode->e2di_blocks[0];
    -	level[0].blkcount = NDADDR;
    -	level[1].blknums = &inode->e2di_blocks[NDADDR + 0];
    +	level[0].blkcount = UFS_NDADDR;
    +	level[1].blknums = &inode->e2di_blocks[UFS_NDADDR + 0];
     	level[1].blkcount = 1;
    -	level[2].blknums = &inode->e2di_blocks[NDADDR + 1];
    +	level[2].blknums = &inode->e2di_blocks[UFS_NDADDR + 1];
     	level[2].blkcount = 1;
    -	level[3].blknums = &inode->e2di_blocks[NDADDR + 2];
    +	level[3].blknums = &inode->e2di_blocks[UFS_NDADDR + 2];
     	level[3].blkcount = 1;
     
     	/* Walk the data blocks. */
    @@ -288,23 +288,23 @@ ext2fs_find_disk_blocks(ib_params *params, ino_t ino,
     			if (blk == 0)
     				memset(level[level_i].diskbuf, 0, MAXBSIZE);
     			else if (ext2fs_read_disk_block(params, 
    -				fsbtodb(fs, blk) + params->fstype->offset,
    +				EXT2_FSBTODB(fs, blk) + params->fstype->offset,
     				fs->e2fs_bsize, level[level_i].diskbuf) == 0)
     				return 0;
     			/* XXX ondisk32 */
     			level[level_i].blknums = 
     			    (uint32_t *)level[level_i].diskbuf;
    -			level[level_i].blkcount = NINDIR(fs);
    +			level[level_i].blkcount = EXT2_NINDIR(fs);
     			continue;
     		}
     
     		/* blk is the next direct level block. */
     #if 0
     		fprintf(stderr, "ino %lu db %lu blksize %lu\n", ino, 
    -		    fsbtodb(fs, blk), sblksize(fs, inode->di_size, lblk));
    +		    EXT2_FSBTODB(fs, blk), ext2_sblksize(fs, inode->di_size, lblk));
     #endif
     		rv = (*callback)(params, state, 
    -		    fsbtodb(fs, blk) + params->fstype->offset, fs->e2fs_bsize);
    +		    EXT2_FSBTODB(fs, blk) + params->fstype->offset, fs->e2fs_bsize);
     		lblk++;
     		nblk--;
     		if (rv != 1)
    diff --git a/usr.sbin/installboot/ffs.c b/usr.sbin/installboot/ffs.c
    index 178eb97a8..ac122925e 100644
    --- a/usr.sbin/installboot/ffs.c
    +++ b/usr.sbin/installboot/ffs.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: ffs.c,v 1.29 2010/01/14 16:27:49 tsutsui Exp $	*/
    +/*	$NetBSD: ffs.c,v 1.32 2013/06/23 02:06:06 dholland Exp $	*/
     
     /*-
      * Copyright (c) 2002 The NetBSD Foundation, Inc.
    @@ -35,7 +35,7 @@
     
     #include 
     #if !defined(__lint)
    -__RCSID("$NetBSD: ffs.c,v 1.29 2010/01/14 16:27:49 tsutsui Exp $");
    +__RCSID("$NetBSD: ffs.c,v 1.32 2013/06/23 02:06:06 dholland Exp $");
     #endif	/* !__lint */
     
     #include 
    @@ -158,7 +158,7 @@ ffs_find_disk_blocks_ufs1(ib_params *params, ino_t ino,
     
     	/* Read the inode. */
     	if (! ffs_read_disk_block(params,
    -		fsbtodb(fs, ino_to_fsba(fs, ino)) + params->fstype->offset,
    +		FFS_FSBTODB(fs, ino_to_fsba(fs, ino)) + params->fstype->offset,
     		fs->fs_bsize, inodebuf))
     		return (0);
     	inode = (struct ufs1_dinode *)inodebuf;
    @@ -173,7 +173,7 @@ ffs_find_disk_blocks_ufs1(ib_params *params, ino_t ino,
     	lblk = 0;
     	level_i = 0;
     	level[0].blknums = &inode->di_db[0];
    -	level[0].blkcount = NDADDR;
    +	level[0].blkcount = UFS_NDADDR;
     	level[1].blknums = &inode->di_ib[0];
     	level[1].blkcount = 1;
     	level[2].blknums = &inode->di_ib[1];
    @@ -215,24 +215,24 @@ ffs_find_disk_blocks_ufs1(ib_params *params, ino_t ino,
     			if (blk == 0)
     				memset(level[level_i].diskbuf, 0, MAXBSIZE);
     			else if (! ffs_read_disk_block(params, 
    -				fsbtodb(fs, blk) + params->fstype->offset,
    +				FFS_FSBTODB(fs, blk) + params->fstype->offset,
     				fs->fs_bsize, level[level_i].diskbuf))
     				return (0);
     			/* XXX ondisk32 */
     			level[level_i].blknums = 
     				(int32_t *)level[level_i].diskbuf;
    -			level[level_i].blkcount = NINDIR(fs);
    +			level[level_i].blkcount = FFS_NINDIR(fs);
     			continue;
     		}
     
     		/* blk is the next direct level block. */
     #if 0
     		fprintf(stderr, "ino %lu db %lu blksize %lu\n", ino, 
    -		    fsbtodb(fs, blk), sblksize(fs, inode->di_size, lblk));
    +		    FFS_FSBTODB(fs, blk), ffs_sblksize(fs, inode->di_size, lblk));
     #endif
     		rv = (*callback)(params, state, 
    -		    fsbtodb(fs, blk) + params->fstype->offset,
    -		    sblksize(fs, (int64_t)inode->di_size, lblk));
    +		    FFS_FSBTODB(fs, blk) + params->fstype->offset,
    +		    ffs_sblksize(fs, (int64_t)inode->di_size, lblk));
     		lblk++;
     		nblk--;
     		if (rv != 1)
    @@ -295,7 +295,7 @@ ffs_find_disk_blocks_ufs2(ib_params *params, ino_t ino,
     
     	/* Read the inode. */
     	if (! ffs_read_disk_block(params,
    -		fsbtodb(fs, ino_to_fsba(fs, ino)) + params->fstype->offset,
    +		FFS_FSBTODB(fs, ino_to_fsba(fs, ino)) + params->fstype->offset,
     		fs->fs_bsize, inodebuf))
     		return (0);
     	inode = (struct ufs2_dinode *)inodebuf;
    @@ -310,7 +310,7 @@ ffs_find_disk_blocks_ufs2(ib_params *params, ino_t ino,
     	lblk = 0;
     	level_i = 0;
     	level[0].blknums = &inode->di_db[0];
    -	level[0].blkcount = NDADDR;
    +	level[0].blkcount = UFS_NDADDR;
     	level[1].blknums = &inode->di_ib[0];
     	level[1].blkcount = 1;
     	level[2].blknums = &inode->di_ib[1];
    @@ -352,23 +352,23 @@ ffs_find_disk_blocks_ufs2(ib_params *params, ino_t ino,
     			if (blk == 0)
     				memset(level[level_i].diskbuf, 0, MAXBSIZE);
     			else if (! ffs_read_disk_block(params, 
    -				fsbtodb(fs, blk) + params->fstype->offset,
    +				FFS_FSBTODB(fs, blk) + params->fstype->offset,
     				fs->fs_bsize, level[level_i].diskbuf))
     				return (0);
     			level[level_i].blknums = 
     				(int64_t *)level[level_i].diskbuf;
    -			level[level_i].blkcount = NINDIR(fs);
    +			level[level_i].blkcount = FFS_NINDIR(fs);
     			continue;
     		}
     
     		/* blk is the next direct level block. */
     #if 0
     		fprintf(stderr, "ino %lu db %llu blksize %lu\n", ino, 
    -		    fsbtodb(fs, blk), sblksize(fs, inode->di_size, lblk));
    +		    FFS_FSBTODB(fs, blk), ffs_sblksize(fs, inode->di_size, lblk));
     #endif
     		rv = (*callback)(params, state, 
    -		    fsbtodb(fs, blk) + params->fstype->offset,
    -		    sblksize(fs, (int64_t)inode->di_size, lblk));
    +		    FFS_FSBTODB(fs, blk) + params->fstype->offset,
    +		    ffs_sblksize(fs, (int64_t)inode->di_size, lblk));
     		lblk++;
     		nblk--;
     		if (rv != 1)
    @@ -560,10 +560,10 @@ ffs_findstage2(ib_params *params, uint32_t *maxblk, ib_block *blocks)
     
     	/* Get the inode number of the secondary bootstrap. */
     	if (is_ufs2)
    -		rv = ffs_find_disk_blocks_ufs2(params, ROOTINO,
    +		rv = ffs_find_disk_blocks_ufs2(params, UFS_ROOTINO,
     		    ffs_findstage2_ino, &ino);
     	else
    -		rv = ffs_find_disk_blocks_ufs1(params, ROOTINO,
    +		rv = ffs_find_disk_blocks_ufs1(params, UFS_ROOTINO,
     		    ffs_findstage2_ino, &ino);
     	if (rv != 2) {
     		warnx("Could not find secondary bootstrap `%s' in `%s'",
    diff --git a/usr.sbin/installboot/installboot.c b/usr.sbin/installboot/installboot.c
    index f3867a9c7..dbcd5f840 100644
    --- a/usr.sbin/installboot/installboot.c
    +++ b/usr.sbin/installboot/installboot.c
    @@ -40,7 +40,6 @@ __RCSID("$NetBSD: installboot.c,v 1.36 2011/11/03 20:46:41 martin Exp $");
     
     #include 
     #include 
    -#include 
     
     #include 
     #include 
    @@ -193,7 +192,11 @@ main(int argc, char *argv[])
     	if (params->machine == NULL) {
     		if (uname(&utsname) == -1)
     			err(1, "Determine uname");
    +#if !defined(__minix)
     		getmachine(params, utsname.machine, "uname()");
    +#else
    +		getmachine(params, utsname.arch, "uname()");
    +#endif /* !defined(__minix) */
     	}
     
     	/* Check that options are supported by this system */
    diff --git a/usr.sbin/installboot/machines.c b/usr.sbin/installboot/machines.c
    index 736b22bc2..9320b0afe 100644
    --- a/usr.sbin/installboot/machines.c
    +++ b/usr.sbin/installboot/machines.c
    @@ -55,9 +55,6 @@ struct ib_mach
         ib_mach_hp300,
         ib_mach_hp700,
         ib_mach_i386,
    -#ifdef __minix
    -    ib_mach_i686,
    -#endif
         ib_mach_landisk,
         ib_mach_macppc,
         ib_mach_news68k,
    @@ -80,9 +77,6 @@ struct ib_mach * const machines[] = {
         &ib_mach_hp300,
         &ib_mach_hp700,
         &ib_mach_i386,
    -#ifdef __minix
    -    &ib_mach_i686,
    -#endif
         &ib_mach_landisk,
         &ib_mach_macppc,
         &ib_mach_news68k,
    diff --git a/usr.sbin/mkfs.mfs/Makefile b/usr.sbin/mkfs.mfs/Makefile
    index 9653a4536..81c6b4126 100644
    --- a/usr.sbin/mkfs.mfs/Makefile
    +++ b/usr.sbin/mkfs.mfs/Makefile
    @@ -1,8 +1,9 @@
     SUBDIR=		v3
    +
     .if !defined(HOSTPROGNAME)
     #SUBDIR+=	v1 v2	# Original V1 and V2 file systems
     #SUBDIR+=	v1l v2l	# Linux-extended variants
     #SUBDIR+=	mfs3v2	# V2 as handled by regular MINIX 3.x; hacky
     .endif
     
    -.include 
    +.include 
    \ No newline at end of file
    diff --git a/usr.sbin/mkfs.mfs/Makefile.mkfs b/usr.sbin/mkfs.mfs/Makefile.mkfs
    index 5d5e78cef..dc131d8dc 100644
    --- a/usr.sbin/mkfs.mfs/Makefile.mkfs
    +++ b/usr.sbin/mkfs.mfs/Makefile.mkfs
    @@ -1,4 +1,4 @@
    -SRCS=	mkfs.c
    +SRCS=		mkfs.c
     BINDIR?=	/usr/sbin
     MAN?=
     
    @@ -10,8 +10,12 @@ MAN?=
     CPPFLAGS+=	-I${.CURDIR}
     
     .if ${HOST_OSTYPE:C/\-.*//:U} == "Minix" || !defined(HOSTPROGNAME)
    -#DPADD
    +#LSC: FIXME This should not be required, more so only on Minix...
     LDADD+= -lminlib -lcompat_minix
    +DPADD+= ${MINLIB} ${COMPAT_MINIX}
     .endif
     
    +NOGCCERROR?=    yes
    +NOCLANGERROR?=  yes
    +
     .include 
    diff --git a/usr.sbin/mkfs.mfs/v3/Makefile b/usr.sbin/mkfs.mfs/v3/Makefile
    index f4fbb7f3f..d13cb3967 100644
    --- a/usr.sbin/mkfs.mfs/v3/Makefile
    +++ b/usr.sbin/mkfs.mfs/v3/Makefile
    @@ -1,10 +1,13 @@
    -PROG=		mkfs.mfs
    -BINDIR=		/sbin
    +PROG=		mkfs.mfsv3
    +
     # XXX consider section 8
     MAN=		mkfs.mfs.1
     
    -.ifndef HOSTPROGNAME
    -SYMLINKS+= $(BINDIR)/$(PROG) /usr/sbin/mkfs.mfs3
    +.if !defined(HOSTPROGNAME)
    +# The default MFS version is v3
    +SYMLINKS+=	${BINDIR}/${PROG} /usr/sbin/newfs_mfs
    +SYMLINKS+=	${BINDIR}/${PROG} /sbin/mkfs.mfs
    +MLINKS+=	mkfs.mfs.1 newfs_mfs.1
     .endif
     
     .include <../Makefile.mkfs>
    diff --git a/usr.sbin/mkproto/Makefile b/usr.sbin/mkproto/Makefile
    index 8b569e047..57ebb8898 100644
    --- a/usr.sbin/mkproto/Makefile
    +++ b/usr.sbin/mkproto/Makefile
    @@ -4,4 +4,7 @@ MAN=
     LDADD+= -lminlib
     DPADD+= ${LIBMINLIB}
     
    +NOGCCERROR?=    yes
    +NOCLANGERROR?=  yes
    +
     .include 
    diff --git a/usr.sbin/mtree/Makefile b/usr.sbin/mtree/Makefile
    index a879dfd3e..e2dea5f8c 100644
    --- a/usr.sbin/mtree/Makefile
    +++ b/usr.sbin/mtree/Makefile
    @@ -1,4 +1,4 @@
    -#	$NetBSD: Makefile,v 1.33 2012/10/05 01:26:56 christos Exp $
    +#	$NetBSD: Makefile,v 1.34 2013/02/03 19:15:16 christos Exp $
     #	from: @(#)Makefile	8.2 (Berkeley) 4/27/95
     
     .include 
    @@ -8,7 +8,7 @@ PROG=	mtree
     CPPFLAGS+= -DMTREE
     MAN=	mtree.8
     SRCS=	compare.c crc.c create.c excludes.c misc.c mtree.c spec.c specspec.c \
    -	verify.c getid.c pack_dev.c
    +	verify.c getid.c pack_dev.c only.c
     .if (${HOSTPROG:U} == "")
     .if defined(__MINIX)
     CPPFLAGS+= -Dlchown=chown -Dlchmod=chmod 
    diff --git a/usr.sbin/mtree/compare.c b/usr.sbin/mtree/compare.c
    index e2ccbf016..1b574ea49 100644
    --- a/usr.sbin/mtree/compare.c
    +++ b/usr.sbin/mtree/compare.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $	*/
    +/*	$NetBSD: compare.c,v 1.58 2013/11/21 18:39:50 christos Exp $	*/
     
     /*-
      * Copyright (c) 1989, 1993
    @@ -38,7 +38,7 @@
     #if 0
     static char sccsid[] = "@(#)compare.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $");
    +__RCSID("$NetBSD: compare.c,v 1.58 2013/11/21 18:39:50 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -48,6 +48,7 @@ __RCSID("$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $");
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -71,13 +72,18 @@ __RCSID("$NetBSD: compare.c,v 1.55 2012/10/05 00:59:35 christos Exp $");
     #define	INDENTNAMELEN	8
     #define MARK								\
     do {									\
    -	len = printf("%s: ", RP(p));					\
    -	if (len > INDENTNAMELEN) {					\
    +	if (flavor == F_FREEBSD9) {					\
    +		len = printf("%s changed\n", RP(p));			\
     		tab = "\t";						\
    -		printf("\n");						\
     	} else {							\
    -		tab = "";						\
    -		printf("%*s", INDENTNAMELEN - (int)len, "");		\
    +		len = printf("%s: ", RP(p));				\
    +		if (len > INDENTNAMELEN) {				\
    +			tab = "\t";					\
    +			printf("\n");					\
    +		} else {						\
    +			tab = "";					\
    +			printf("%*s", INDENTNAMELEN - (int)len, "");	\
    +		}							\
     	}								\
     } while (0)
     #define	LABEL if (!label++) MARK
    @@ -126,22 +132,6 @@ do {									\
     } while (0)
     #endif	/* HAVE_STRUCT_STAT_ST_FLAGS */
     
    -#ifdef __minix
    -#if 0
    -int
    -lchmod(const char *path, mode_t flags)
    -{
    -	return -1;
    -}
    -
    -int
    -lchown(const char *path, uid_t owner, gid_t group)
    -{
    -	return -1;
    -}
    -#endif
    -#endif
    -
     int
     compare(NODE *s, FTSENT *p)
     {
    @@ -189,7 +179,8 @@ compare(NODE *s, FTSENT *p)
     		break;
     #endif
     typeerr:		LABEL;
    -		printf("\ttype (%s, %s)\n",
    +		printf(flavor == F_FREEBSD9 ?
    +		    "\ttype expected %s found %s\n" : "\ttype (%s, %s)\n",
     		    nodetype(s->type), inotype(p->fts_statp->st_mode));
     		return (label);
     	}
    @@ -211,9 +202,11 @@ typeerr:		LABEL;
     	    (s->type == F_BLOCK || s->type == F_CHAR) &&
     	    s->st_rdev != p->fts_statp->st_rdev) {
     		LABEL;
    -		printf("%sdevice (%#llx, %#llx",
    -		    tab, (long long)s->st_rdev,
    -		    (long long)p->fts_statp->st_rdev);
    +		printf(flavor == F_FREEBSD9 ?
    +		    "%sdevice expected %#jx found %#jx" :
    +		    "%sdevice (%#jx, %#jx",
    +		    tab, (uintmax_t)s->st_rdev,
    +		    (uintmax_t)p->fts_statp->st_rdev);
     		if (uflag) {
     			if ((unlink(p->fts_accpath) == -1) ||
     			    (mknod(p->fts_accpath,
    @@ -221,10 +214,12 @@ typeerr:		LABEL;
     			      s->st_rdev) == -1) ||
     			    (lchown(p->fts_accpath, p->fts_statp->st_uid,
     			      p->fts_statp->st_gid) == -1) )
    -				printf(", not modified: %s)\n",
    -				    strerror(errno));
    +				printf(", not modified: %s%s\n",
    +				    strerror(errno),
    +				    flavor == F_FREEBSD9 ? "" : ")");
     			 else
    -				printf(", modified)\n");
    +				printf(", modified%s\n",
    +				    flavor == F_FREEBSD9 ? "" : ")");
     		} else
     			printf(")\n");
     		tab = "\t";
    @@ -232,28 +227,34 @@ typeerr:		LABEL;
     	/* Set the uid/gid first, then set the mode. */
     	if (s->flags & (F_UID | F_UNAME) && s->st_uid != p->fts_statp->st_uid) {
     		LABEL;
    -		printf("%suser (%lu, %lu",
    +		printf(flavor == F_FREEBSD9 ?
    +		    "%suser expected %lu found %lu" : "%suser (%lu, %lu",
     		    tab, (u_long)s->st_uid, (u_long)p->fts_statp->st_uid);
     		if (uflag) {
     			if (lchown(p->fts_accpath, s->st_uid, -1))
    -				printf(", not modified: %s)\n",
    -				    strerror(errno));
    +				printf(", not modified: %s%s\n",
    +				    strerror(errno),
    +				    flavor == F_FREEBSD9 ? "" : ")");
     			else
    -				printf(", modified)\n");
    +				printf(", modified%s\n",
    +				    flavor == F_FREEBSD9 ? "" : ")");
     		} else
     			printf(")\n");
     		tab = "\t";
     	}
     	if (s->flags & (F_GID | F_GNAME) && s->st_gid != p->fts_statp->st_gid) {
     		LABEL;
    -		printf("%sgid (%lu, %lu",
    +		printf(flavor == F_FREEBSD9 ?
    +		    "%sgid expected %lu found %lu" : "%sgid (%lu, %lu",
     		    tab, (u_long)s->st_gid, (u_long)p->fts_statp->st_gid);
     		if (uflag) {
     			if (lchown(p->fts_accpath, -1, s->st_gid))
    -				printf(", not modified: %s)\n",
    -				    strerror(errno));
    +				printf(", not modified: %s%s\n",
    +				    strerror(errno),
    +				    flavor == F_FREEBSD9 ? "" : ")");
     			else
    -				printf(", modified)\n");
    +				printf(", modified%s\n",
    +				    flavor == F_FREEBSD9 ? "" : ")");
     		}
     		else
     			printf(")\n");
    @@ -278,15 +279,19 @@ typeerr:		LABEL;
     		}
     
     		LABEL;
    -		printf("%spermissions (%#lo, %#lo",
    +		printf(flavor == F_FREEBSD9 ?
    +		    "%spermissions expcted %#lo found %#lo" :
    +		    "%spermissions (%#lo, %#lo",
     		    tab, (u_long)s->st_mode,
     		    (u_long)p->fts_statp->st_mode & MBITS);
     		if (uflag) {
     			if (lchmod(p->fts_accpath, s->st_mode))
    -				printf(", not modified: %s)\n",
    -				    strerror(errno));
    +				printf(", not modified: %s%s\n",
    +				    strerror(errno),
    +				    flavor == F_FREEBSD9 ? "" : ")");
     			else
    -				printf(", modified)\n");
    +				printf(", modified%s\n",
    +				    flavor == F_FREEBSD9 ? "" : ")");
     		}
     		else
     			printf(")\n");
    @@ -296,15 +301,18 @@ typeerr:		LABEL;
     	if (s->flags & F_NLINK && s->type != F_DIR &&
     	    s->st_nlink != p->fts_statp->st_nlink) {
     		LABEL;
    -		printf("%slink count (%lu, %lu)\n",
    +		printf(flavor == F_FREEBSD9 ?
    +		    "%slink count expected %lu found %lu\n" :
    +		    "%slink count (%lu, %lu)\n",
     		    tab, (u_long)s->st_nlink, (u_long)p->fts_statp->st_nlink);
     		tab = "\t";
     	}
     	if (s->flags & F_SIZE && s->st_size != p->fts_statp->st_size) {
     		LABEL;
    -		printf("%ssize (%lld, %lld)\n",
    -		    tab, (long long)s->st_size,
    -		    (long long)p->fts_statp->st_size);
    +		printf(flavor == F_FREEBSD9 ?
    +		    "%ssize expected %ju found %ju\n" : "%ssize (%ju, %ju)\n",
    +		    tab, (uintmax_t)s->st_size,
    +		    (uintmax_t)p->fts_statp->st_size);
     		tab = "\t";
     	}
     	/*
    @@ -337,18 +345,22 @@ typeerr:		LABEL;
     		if (tv[0].tv_sec != tv[1].tv_sec ||
     		    tv[0].tv_usec != tv[1].tv_usec) {
     			LABEL;
    -			printf("%smodification time (%.24s, ",
    +			printf(flavor == F_FREEBSD9 ?
    +			    "%smodification time expected %.24s found " :
    +			    "%smodification time (%.24s, ",
     			    tab, ctime(&smtime));
     			printf("%.24s", ctime(&pmtime));
     			if (tflag) {
     				tv[1] = tv[0];
     				if (utimes(p->fts_accpath, tv))
    -					printf(", not modified: %s)\n",
    -					    strerror(errno));
    +					printf(", not modified: %s%s\n",
    +					    strerror(errno),
    +					    flavor == F_FREEBSD9 ? "" : ")");
     				else
    -					printf(", modified)\n");
    +					printf(", modified%s\n",
    +					    flavor == F_FREEBSD9 ? "" : ")");
     			} else
    -				printf(")\n");
    +				printf("%s\n", flavor == F_FREEBSD9 ? "" : ")");
     			tab = "\t";
     		}
     	}
    @@ -365,7 +377,9 @@ typeerr:		LABEL;
     			char *f_s;
     			LABEL;
     			f_s = flags_to_string(s->st_flags, "none");
    -			printf("%sflags (\"%s\" is not ", tab, f_s);
    +			printf(flavor == F_FREEBSD9 ?
    +			    "%sflags expected \"%s\" found " :
    +			    "%sflags (\"%s\" is not ", tab, f_s);
     			free(f_s);
     			f_s = flags_to_string(p->fts_statp->st_flags, "none");
     			printf("\"%s\"", f_s);
    @@ -379,7 +393,7 @@ typeerr:		LABEL;
     			else
     				SETFLAGS(0, (~SP_FLGS & CH_MASK));
     		} else
    -			printf(")\n");
    +			printf("%s\n", flavor == F_FREEBSD9 ? "" : ")");
     		tab = "\t";
     	}
     #endif	/* HAVE_STRUCT_STAT_ST_FLAGS */
    @@ -405,7 +419,9 @@ typeerr:		LABEL;
     			close(fd);
     			if (s->cksum != val) {
     				LABEL;
    -				printf("%scksum (%lu, %lu)\n",
    +				printf(flavor == F_FREEBSD9 ?
    +				    "%scksum expected %lu found %lu\n" :
    +				    "%scksum (%lu, %lu)\n",
     				    tab, s->cksum, (unsigned long)val);
     			}
     			tab = "\t";
    @@ -421,7 +437,9 @@ typeerr:		LABEL;
     		} else {
     			if (strcmp(s->md5digest, digestbuf)) {
     				LABEL;
    -				printf("%s%s (0x%s, 0x%s)\n",
    +				printf(flavor == F_FREEBSD9 ?
    +				    "%s%s expected %s found %s\n" :
    +				    "%s%s (0x%s, 0x%s)\n",
     				    tab, MD5KEY, s->md5digest, digestbuf);
     			}
     			tab = "\t";
    @@ -439,7 +457,9 @@ typeerr:		LABEL;
     		} else {
     			if (strcmp(s->rmd160digest, digestbuf)) {
     				LABEL;
    -				printf("%s%s (0x%s, 0x%s)\n",
    +				printf(flavor == F_FREEBSD9 ?
    +				    "%s%s expected %s found %s\n" :
    +				    "%s%s (0x%s, 0x%s)\n",
     				    tab, RMD160KEY, s->rmd160digest, digestbuf);
     			}
     			tab = "\t";
    @@ -457,7 +477,9 @@ typeerr:		LABEL;
     		} else {
     			if (strcmp(s->sha1digest, digestbuf)) {
     				LABEL;
    -				printf("%s%s (0x%s, 0x%s)\n",
    +				printf(flavor == F_FREEBSD9 ? 
    +				    "%s%s expected %s found %s\n" :
    +				    "%s%s (0x%s, 0x%s)\n",
     				    tab, SHA1KEY, s->sha1digest, digestbuf);
     			}
     			tab = "\t";
    @@ -475,7 +497,9 @@ typeerr:		LABEL;
     		} else {
     			if (strcmp(s->sha256digest, digestbuf)) {
     				LABEL;
    -				printf("%s%s (0x%s, 0x%s)\n",
    +				printf(flavor == F_FREEBSD9 ? 
    +				    "%s%s expected %s found %s\n" :
    +				    "%s%s (0x%s, 0x%s)\n",
     				    tab, SHA256KEY, s->sha256digest, digestbuf);
     			}
     			tab = "\t";
    @@ -492,7 +516,9 @@ typeerr:		LABEL;
     		} else {
     			if (strcmp(s->sha384digest, digestbuf)) {
     				LABEL;
    -				printf("%s%s (0x%s, 0x%s)\n",
    +				printf(flavor == F_FREEBSD9 ? 
    +				    "%s%s expected %s found %s\n" :
    +				    "%s%s (0x%s, 0x%s)\n",
     				    tab, SHA384KEY, s->sha384digest, digestbuf);
     			}
     			tab = "\t";
    @@ -509,7 +535,9 @@ typeerr:		LABEL;
     		} else {
     			if (strcmp(s->sha512digest, digestbuf)) {
     				LABEL;
    -				printf("%s%s (0x%s, 0x%s)\n",
    +				printf(flavor == F_FREEBSD9 ? 
    +				    "%s%s expected %s found %s\n" :
    +				    "%s%s (0x%s, 0x%s)\n",
     				    tab, SHA512KEY, s->sha512digest, digestbuf);
     			}
     			tab = "\t";
    @@ -520,16 +548,20 @@ typeerr:		LABEL;
     	if (s->flags & F_SLINK &&
     	    strcmp(cp = rlink(p->fts_accpath), s->slink)) {
     		LABEL;
    -		printf("%slink ref (%s, %s", tab, cp, s->slink);
    +		printf(flavor == F_FREEBSD9 ? 
    +		    "%slink ref expected %s found %s" :
    +		    "%slink ref (%s, %s", tab, cp, s->slink);
     		if (uflag) {
     			if ((unlink(p->fts_accpath) == -1) ||
     			    (symlink(s->slink, p->fts_accpath) == -1) )
    -				printf(", not modified: %s)\n",
    -				    strerror(errno));
    +				printf(", not modified: %s%s\n",
    +				    strerror(errno),
    +				    flavor == F_FREEBSD9 ? "" : ")");
     			else
    -				printf(", modified)\n");
    +				printf(", modified%s\n",
    +				    flavor == F_FREEBSD9 ? "" : ")");
     		} else
    -			printf(")\n");
    +			printf("%s\n", flavor == F_FREEBSD9 ? "" : ")");
     	}
     	return (label);
     }
    diff --git a/usr.sbin/mtree/create.c b/usr.sbin/mtree/create.c
    index 8f0e0db12..3df1bbc18 100644
    --- a/usr.sbin/mtree/create.c
    +++ b/usr.sbin/mtree/create.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: create.c,v 1.65 2012/10/05 01:21:44 christos Exp $	*/
    +/*	$NetBSD: create.c,v 1.72 2013/10/17 17:22:59 christos Exp $	*/
     
     /*-
      * Copyright (c) 1989, 1993
    @@ -38,7 +38,7 @@
     #if 0
     static char sccsid[] = "@(#)create.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: create.c,v 1.65 2012/10/05 01:21:44 christos Exp $");
    +__RCSID("$NetBSD: create.c,v 1.72 2013/10/17 17:22:59 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -55,6 +55,7 @@ __RCSID("$NetBSD: create.c,v 1.65 2012/10/05 01:21:44 christos Exp $");
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -134,17 +135,29 @@ cwalk(void)
     			fts_set(t, p, FTS_SKIP);
     			continue;
     		}
    +		if (!find_only(p->fts_path)) {
    +			fts_set(t, p, FTS_SKIP);
    +			continue;
    +		}
     		switch(p->fts_info) {
     		case FTS_D:
    +			if (!bflag)
    +				printf("\n");
     			if (!nflag)
    -				printf("\n# %s\n", p->fts_path);
    +				printf("# %s\n", p->fts_path);
     			statd(t, p, &uid, &gid, &mode, &flags);
     			statf(indent, p);
     			break;
     		case FTS_DP:
    -			if (!nflag && p->fts_level > 0)
    -				printf("%*s# %s\n%*s..\n\n", indent, "",
    -				    p->fts_path, indent, "");
    +			if (p->fts_level > 0)
    +				if (!nflag)
    +					printf("%*s# %s\n", indent, "",
    +					    p->fts_path);
    +			if (p->fts_level > 0 || flavor == F_FREEBSD9) {
    +				printf("%*s..\n", indent, "");
    +				if (!bflag)
    +					printf("\n");
    +			}
     			break;
     		case FTS_DNR:
     		case FTS_ERR:
    @@ -182,7 +195,7 @@ statf(int indent, FTSENT *p)
     	else
     		offset += printf("%*s", (INDENTNAMELEN + indent) - offset, "");
     
    -	if (!S_ISREG(p->fts_statp->st_mode))
    +	if (!S_ISREG(p->fts_statp->st_mode) && (flavor == F_NETBSD6 || !dflag))
     		output(indent, &offset, "type=%s",
     		    inotype(p->fts_statp->st_mode));
     	if (keys & (F_UID | F_UNAME) && p->fts_statp->st_uid != uid) {
    @@ -204,21 +217,22 @@ statf(int indent, FTSENT *p)
     		    p->fts_statp->st_mode & MBITS);
     	if (keys & F_DEV &&
     	    (S_ISBLK(p->fts_statp->st_mode) || S_ISCHR(p->fts_statp->st_mode)))
    -		output(indent, &offset, "device=%#llx",
    -		    (long long)p->fts_statp->st_rdev);
    +		output(indent, &offset, "device=%#jx",
    +		    (uintmax_t)p->fts_statp->st_rdev);
     	if (keys & F_NLINK && p->fts_statp->st_nlink != 1)
     		output(indent, &offset, "nlink=%u", p->fts_statp->st_nlink);
    -	if (keys & F_SIZE && S_ISREG(p->fts_statp->st_mode))
    -		output(indent, &offset, "size=%lld",
    -		    (long long)p->fts_statp->st_size);
    +	if (keys & F_SIZE &&
    +	    (flavor == F_FREEBSD9 || S_ISREG(p->fts_statp->st_mode)))
    +		output(indent, &offset, "size=%ju",
    +		    (uintmax_t)p->fts_statp->st_size);
     	if (keys & F_TIME)
     #if defined(BSD4_4) && !defined(HAVE_NBTOOL_CONFIG_H)
    -		output(indent, &offset, "time=%ld.%09ld",
    -		    (long)p->fts_statp->st_mtimespec.tv_sec,
    +		output(indent, &offset, "time=%jd.%09ld",
    +		    (intmax_t)p->fts_statp->st_mtimespec.tv_sec,
     		    p->fts_statp->st_mtimespec.tv_nsec);
     #else
    -		output(indent, &offset, "time=%ld.%09ld",
    -		    (long)p->fts_statp->st_mtime, (long)0);
    +		output(indent, &offset, "time=%jd.%09ld",
    +		    (intmax_t)p->fts_statp->st_mtime, (long)0);
     #endif
     	if (keys & F_CKSUM && S_ISREG(p->fts_statp->st_mode)) {
     		if ((fd = open(p->fts_accpath, O_RDONLY, 0)) < 0 ||
    @@ -347,29 +361,32 @@ statd(FTS *t, FTSENT *parent, uid_t *puid, gid_t *pgid, mode_t *pmode,
     
     	maxuid = maxgid = maxmode = maxflags = 0;
     	for (; p; p = p->fts_link) {
    -		smode = p->fts_statp->st_mode & MBITS;
    -		if (smode < MTREE_MAXMODE && ++m[smode] > maxmode) {
    -			savemode = smode;
    -			maxmode = m[smode];
    -		}
    -		sgid = p->fts_statp->st_gid;
    -		if (sgid < MTREE_MAXGID && ++g[sgid] > maxgid) {
    -			savegid = sgid;
    -			maxgid = g[sgid];
    -		}
    -		suid = p->fts_statp->st_uid;
    -		if (suid < MTREE_MAXUID && ++u[suid] > maxuid) {
    -			saveuid = suid;
    -			maxuid = u[suid];
    -		}
    +		if (flavor == F_NETBSD6 || !dflag ||
    +		    (dflag && S_ISDIR(p->fts_statp->st_mode))) {
    +			smode = p->fts_statp->st_mode & MBITS;
    +			if (smode < MTREE_MAXMODE && ++m[smode] > maxmode) {
    +				savemode = smode;
    +				maxmode = m[smode];
    +			}
    +			sgid = p->fts_statp->st_gid;
    +			if (sgid < MTREE_MAXGID && ++g[sgid] > maxgid) {
    +				savegid = sgid;
    +				maxgid = g[sgid];
    +			}
    +			suid = p->fts_statp->st_uid;
    +			if (suid < MTREE_MAXUID && ++u[suid] > maxuid) {
    +				saveuid = suid;
    +				maxuid = u[suid];
    +			}
     
     #if HAVE_STRUCT_STAT_ST_FLAGS
    -		sflags = FLAGS2INDEX(p->fts_statp->st_flags);
    -		if (sflags < MTREE_MAXFLAGS && ++f[sflags] > maxflags) {
    -			saveflags = p->fts_statp->st_flags;
    -			maxflags = f[sflags];
    -		}
    +			sflags = FLAGS2INDEX(p->fts_statp->st_flags);
    +			if (sflags < MTREE_MAXFLAGS && ++f[sflags] > maxflags) {
    +				saveflags = p->fts_statp->st_flags;
    +				maxflags = f[sflags];
    +			}
     #endif
    +		}
     	}
     	/*
     	 * If the /set record is the same as the last one we do not need to
    @@ -382,7 +399,10 @@ statd(FTS *t, FTSENT *parent, uid_t *puid, gid_t *pgid, mode_t *pmode,
     	    ((keys & F_FLAGS) && (*pflags != saveflags)) ||
     	    first) {
     		first = 0;
    -		printf("/set type=file");
    +		if (flavor != F_NETBSD6 && dflag)
    +			printf("/set type=dir");
    +		else
    +			printf("/set type=file");
     		if (keys & (F_UID | F_UNAME)) {
     			if (keys & F_UNAME &&
     			    (name = user_from_uid(saveuid, 1)) != NULL)
    diff --git a/usr.sbin/mtree/extern.h b/usr.sbin/mtree/extern.h
    index 007081684..5d4f45145 100644
    --- a/usr.sbin/mtree/extern.h
    +++ b/usr.sbin/mtree/extern.h
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: extern.h,v 1.36 2012/10/05 01:26:56 christos Exp $	*/
    +/*	$NetBSD: extern.h,v 1.38 2013/02/03 19:15:17 christos Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993
    @@ -36,14 +36,15 @@
     #if HAVE_NBTOOL_CONFIG_H
     #include "nbtool_config.h"
     #else 
    -#ifndef __minix
    +#if !defined(__minix)
     #define HAVE_STRUCT_STAT_ST_FLAGS 1
     #endif
    -#endif
    +#endif /* !defined(__minix) */
      
     #include  
     #include 
     #include 
    +#include 
     
     #if HAVE_NETDB_H
     /* For MAXHOSTNAMELEN on some platforms. */
    @@ -54,6 +55,12 @@
     #define MAXHOSTNAMELEN 256
     #endif
     
    +enum flavor {
    +	F_MTREE,
    +	F_FREEBSD9,
    +	F_NETBSD6
    +};
    +
     void	 addtag(slist_t *, char *);
     int	 check_excludes(const char *, const char *);
     int	 compare(NODE *, FTSENT *);
    @@ -70,11 +77,14 @@ u_int	 parsetype(const char *);
     void	 read_excludes_file(const char *);
     const char *rlink(const char *);
     int	 verify(FILE *);
    +void	 load_only(const char *fname);
    +bool	 find_only(const char *path);
     
    -extern int	dflag, eflag, iflag, jflag, lflag, mflag,
    +extern int	bflag, dflag, eflag, iflag, jflag, lflag, mflag,
     		nflag, qflag, rflag, sflag, tflag, uflag;
     extern int	mtree_Mflag, mtree_Sflag, mtree_Wflag;
     extern size_t	mtree_lineno;
    +extern enum flavor	flavor;
     extern u_int32_t crc_total;
     extern int	ftsoptions, keys;
     extern char	fullpath[];
    diff --git a/usr.sbin/mtree/getid.c b/usr.sbin/mtree/getid.c
    index 64eef27ef..3079180d8 100644
    --- a/usr.sbin/mtree/getid.c
    +++ b/usr.sbin/mtree/getid.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: getid.c,v 1.7 2008/04/28 20:24:17 martin Exp $	*/
    +/*	$NetBSD: getid.c,v 1.8 2013/10/16 17:27:42 christos Exp $	*/
     /*	from: NetBSD: getpwent.c,v 1.48 2000/10/03 03:22:26 enami Exp */
     /*	from: NetBSD: getgrent.c,v 1.41 2002/01/12 23:51:30 lukem Exp */
     
    @@ -65,7 +65,7 @@
     #endif
     
     #include 
    -__RCSID("$NetBSD: getid.c,v 1.7 2008/04/28 20:24:17 martin Exp $");
    +__RCSID("$NetBSD: getid.c,v 1.8 2013/10/16 17:27:42 christos Exp $");
     
     #include 
     
    @@ -230,6 +230,9 @@ grscan(int search, gid_t gid, const char *name)
     				;
     			continue;
     		}
    +		/* skip comments */
    +		if (pwline[0] == '#')
    +			continue;
     		if (grmatchline(search, gid, name))
     			return 1;
     	}
    @@ -371,6 +374,9 @@ pwscan(int search, uid_t uid, const char *name)
     				;
     			continue;
     		}
    +		/* skip comments */
    +		if (pwline[0] == '#')
    +			continue;
     		if (pwmatchline(search, uid, name))
     			return 1;
     	}
    diff --git a/usr.sbin/mtree/misc.c b/usr.sbin/mtree/misc.c
    index 4c5e5f6a4..fa561ef98 100644
    --- a/usr.sbin/mtree/misc.c
    +++ b/usr.sbin/mtree/misc.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: misc.c,v 1.32 2012/10/05 01:31:05 christos Exp $	*/
    +/*	$NetBSD: misc.c,v 1.34 2012/12/20 19:09:25 christos Exp $	*/
     
     /*-
      * Copyright (c) 1991, 1993
    @@ -37,7 +37,7 @@
     
     #include 
     #if defined(__RCSID) && !defined(lint)
    -__RCSID("$NetBSD: misc.c,v 1.32 2012/10/05 01:31:05 christos Exp $");
    +__RCSID("$NetBSD: misc.c,v 1.34 2012/12/20 19:09:25 christos Exp $");
     #endif /* not lint */
     
     #include 
    @@ -50,6 +50,12 @@ __RCSID("$NetBSD: misc.c,v 1.32 2012/10/05 01:31:05 christos Exp $");
     
     #include "extern.h"
     
    +#if 1 /* defined(__minix): LSC: our mkfs doesn't understand escaped names,
    +	 so always default to netbsd6 escaping mode. */
    +enum flavor	flavor = F_NETBSD6;
    +#else
    +enum flavor	flavor = F_MTREE;
    +#endif /* defined(__minix) */
     typedef struct _key {
     	const char	*name;		/* key name */
     	u_int		val;		/* value */
    @@ -74,7 +80,6 @@ static KEY keylist[] = {
     	{"nochange",	F_NOCHANGE,	0},
     	{"optional",	F_OPT,		0},
     	{"ripemd160digest", F_RMD160,	NEEDVALUE},
    -	{"rmd160digest",F_RMD160,	NEEDVALUE},
     	{"rmd160",	F_RMD160,	NEEDVALUE},
     	{"rmd160digest",F_RMD160,	NEEDVALUE},
     	{"sha1",	F_SHA1,		NEEDVALUE},
    diff --git a/usr.sbin/mtree/mtree.8 b/usr.sbin/mtree/mtree.8
    index 67ffb73fc..830a2c037 100644
    --- a/usr.sbin/mtree/mtree.8
    +++ b/usr.sbin/mtree/mtree.8
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: mtree.8,v 1.63 2012/10/05 09:18:02 wiz Exp $
    +.\"	$NetBSD: mtree.8,v 1.69 2013/02/03 19:16:06 christos Exp $
     .\"
     .\" Copyright (c) 1989, 1990, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -56,7 +56,7 @@
     .\"
     .\"     @(#)mtree.8	8.2 (Berkeley) 12/11/93
     .\"
    -.Dd October 4, 2012
    +.Dd February 3, 2013
     .Dt MTREE 8
     .Os
     .Sh NAME
    @@ -64,14 +64,16 @@
     .Nd map a directory hierarchy
     .Sh SYNOPSIS
     .Nm
    -.Op Fl CcDdejLlMnPqrSUuWx
    +.Op Fl bCcDdejLlMnPqrStUuWx
     .Op Fl i | Fl m
     .Op Fl E Ar tags
    +.Op Fl F Ar flavor
     .Op Fl f Ar spec
     .Op Fl I Ar tags
     .Op Fl K Ar keywords
     .Op Fl k Ar keywords
     .Op Fl N Ar dbdir
    +.Op Fl O Ar onlyfile
     .Op Fl p Ar path
     .Op Fl R Ar keywords
     .Op Fl s Ar seed
    @@ -92,6 +94,8 @@ missing from either the file hierarchy or the specification.
     .Pp
     The options are as follows:
     .Bl -tag -width Xxxexcludexfilexx
    +.It Fl b
    +Suppress blank lines before entering and after exiting directories.
     .It Fl C
     Convert a specification into
     a format that's easier to parse with various tools.
    @@ -140,6 +144,29 @@ and
     .It Fl e
     Don't complain about files that are in the file hierarchy, but not in the
     specification.
    +.It Fl F Ar flavor
    +Set the compatibility flavor of the
    +.Nm
    +utility.
    +The
    +.Ar flavor
    +can be one of
    +.Sy mtree ,
    +.Sy freebsd9 ,
    +or
    +.Sy netbsd6 .
    +The default is
    +.Sy mtree .
    +The
    +.Sy freebsd9
    +and
    +.Sy netbsd6
    +flavors attempt to preserve output compatiblity and command line option
    +backward compatibility with
    +.Fx 9.0
    +and
    +.Nx 6.0
    +respectively.
     .It Fl f Ar spec
     Read the specification from
     .Ar file  ,
    @@ -247,6 +274,8 @@ rather than using the results from the system's
     and
     .Xr getgrnam 3
     (and related) library calls.
    +.It Fl O Ar onlypaths
    +Only include files included in this list of pathnames.
     .It Fl P
     Don't follow symbolic links in the file hierarchy, instead consider
     the symbolic link itself in any comparisons.
    @@ -681,6 +710,35 @@ option can be used in combination with
     or
     .Fl u
     to create directory hierarchies for, for example, distributions.
    +.Sh COMPATIBILITY
    +The compatibility shims provided by the
    +.Fl F
    +option are incomplete by design.
    +Known limitations are described below.
    +.Pp
    +The
    +.Sy freebsd9
    +flavor retains the default handling of lookup failures for the
    +.Sy uname
    +and
    +.Sy group
    +keywords by replacing them with appropriate
    +.Sy uid
    +and
    +.Sy gid
    +keywords rather than failing and reporting an error.
    +The related
    +.Fl w
    +flag is a no-op rather than causing a warning to be printed and no
    +keyword to be emitted.
    +The latter behavior is not emulated as it is potentially dangerous in
    +the face of /set statements.
    +.Pp
    +The
    +.Sy netbsd6
    +flavor does not replicate the historical bug that reported time as
    +seconds.nanoseconds without zero padding nanosecond values less than
    +100000000.
     .Sh SEE ALSO
     .Xr chflags 1 ,
     .Xr chgrp 1 ,
    diff --git a/usr.sbin/mtree/mtree.c b/usr.sbin/mtree/mtree.c
    index 2174b3d9d..8c4e6abc9 100644
    --- a/usr.sbin/mtree/mtree.c
    +++ b/usr.sbin/mtree/mtree.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: mtree.c,v 1.42 2012/10/05 09:18:08 wiz Exp $	*/
    +/*	$NetBSD: mtree.c,v 1.48 2013/04/08 17:39:11 christos Exp $	*/
     
     /*-
      * Copyright (c) 1989, 1990, 1993
    @@ -43,7 +43,7 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 1990, 1993\
     #if 0
     static char sccsid[] = "@(#)mtree.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: mtree.c,v 1.42 2012/10/05 09:18:08 wiz Exp $");
    +__RCSID("$NetBSD: mtree.c,v 1.48 2013/04/08 17:39:11 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -59,30 +59,45 @@ __RCSID("$NetBSD: mtree.c,v 1.42 2012/10/05 09:18:08 wiz Exp $");
     #include "extern.h"
     
     int	ftsoptions = FTS_PHYSICAL;
    -int	cflag, Cflag, dflag, Dflag, eflag, iflag, jflag, lflag, mflag,
    -    	nflag, qflag, rflag, sflag, tflag, uflag, Uflag;
    +int	bflag, dflag, eflag, iflag, jflag, lflag, mflag, nflag, qflag, rflag,
    +	sflag, tflag, uflag;
     char	fullpath[MAXPATHLEN];
     
    +static struct {
    +	enum flavor flavor;
    +	const char name[9];
    +} flavors[] = {
    +	{F_MTREE, "mtree"},
    +	{F_FREEBSD9, "freebsd9"},
    +	{F_NETBSD6, "netbsd6"},
    +};
    +
     __dead static	void	usage(void);
     
     int
     main(int argc, char **argv)
     {
     	int	ch, status;
    +	unsigned int	i;
    +	int	cflag, Cflag, Dflag, Uflag, wflag;
     	char	*dir, *p;
     	FILE	*spec1, *spec2;
     
     	setprogname(argv[0]);
     
    +	cflag = Cflag = Dflag = Uflag = wflag = 0;
     	dir = NULL;
     	init_excludes();
     	spec1 = stdin;
     	spec2 = NULL;
     
     	while ((ch = getopt(argc, argv,
    -	    "cCdDeE:f:I:ik:K:lLmMnN:p:PqrR:s:StuUWxX:"))
    +	    "bcCdDeE:f:F:I:ijk:K:lLmMnN:O:p:PqrR:s:StuUwWxX:"))
     	    != -1) {
     		switch((char)ch) {
    +		case 'b':
    +			bflag = 1;
    +			break;
     		case 'c':
     			cflag = 1;
     			break;
    @@ -115,6 +130,15 @@ main(int argc, char **argv)
     			} else
     				usage();
     			break;
    +		case 'F':
    +			for (i = 0; i < __arraycount(flavors); i++)
    +				if (strcmp(optarg, flavors[i].name) == 0) {
    +					flavor = flavors[i].flavor;
    +					break;
    +				}
    +			if (i == __arraycount(flavors))
    +				usage();
    +			break;
     		case 'i':
     			iflag = 1;
     			break;
    @@ -157,6 +181,9 @@ main(int argc, char **argv)
     			    "Unable to use user and group databases in `%s'",
     				    optarg);
     			break;
    +		case 'O':
    +			load_only(optarg);
    +			break;
     		case 'p':
     			dir = optarg;
     			break;
    @@ -193,6 +220,9 @@ main(int argc, char **argv)
     		case 'U':
     			Uflag = uflag = 1;
     			break;
    +		case 'w':
    +			wflag = 1;
    +			break;
     		case 'W':
     			mtree_Wflag = 1;
     			break;
    @@ -213,6 +243,36 @@ main(int argc, char **argv)
     	if (argc)
     		usage();
     
    +	switch (flavor) {
    +	case F_FREEBSD9:
    +		if (cflag && iflag) {
    +			warnx("-c and -i passed, replacing -i with -j for "
    +			    "FreeBSD compatibility");
    +			iflag = 0;
    +			jflag = 1;
    +		}
    +		if (dflag && !bflag) {
    +			warnx("Adding -b to -d for FreeBSD compatibility");
    +			bflag = 1;
    +		}
    +		if (uflag && !iflag) {
    +			warnx("Adding -i to -%c for FreeBSD compatibility",
    +			    Uflag ? 'U' : 'u');
    +			iflag = 1;
    +		}
    +		if (uflag && !tflag) {
    +			warnx("Adding -t to -%c for FreeBSD compatibility",
    +			    Uflag ? 'U' : 'u');
    +			tflag = 1;
    +		}
    +		if (wflag)
    +			warnx("The -w flag is a no-op");
    +		break;
    +	default:
    +		if (wflag)
    +			usage();
    +	}
    +
     	if (spec2 && (cflag || Cflag || Dflag))
     		mtree_err("Double -f, -c, -C and -D flags are mutually "
     		    "exclusive");
    @@ -255,12 +315,18 @@ main(int argc, char **argv)
     static void
     usage(void)
     {
    +	unsigned int i;
     
     	fprintf(stderr,
    -	    "usage: %s [-CcDdejLlMnPqrSUuWx] [-i|-m] [-E tags]\n"
    +	    "usage: %s [-bCcDdejLlMnPqrStUuWx] [-i|-m] [-E tags]\n"
     	    "\t\t[-f spec] [-f spec]\n"
     	    "\t\t[-I tags] [-K keywords] [-k keywords] [-N dbdir] [-p path]\n"
    -	    "\t\t[-R keywords] [-s seed] [-X exclude-file]\n",
    +	    "\t\t[-R keywords] [-s seed] [-X exclude-file]\n"
    +	    "\t\t[-F flavor]\n",
     	    getprogname());
    +	fprintf(stderr, "\nflavors:");
    +	for (i = 0; i < __arraycount(flavors); i++)
    +		fprintf(stderr, " %s", flavors[i].name);
    +	fprintf(stderr, "\n");
     	exit(1);
     }
    diff --git a/usr.sbin/mtree/only.c b/usr.sbin/mtree/only.c
    new file mode 100644
    index 000000000..d31b1cd05
    --- /dev/null
    +++ b/usr.sbin/mtree/only.c
    @@ -0,0 +1,152 @@
    +/*	$NetBSD: only.c,v 1.2 2013/02/05 00:59:03 christos Exp $	*/
    +
    +/*-
    + * Copyright (c) 2013 The NetBSD Foundation, Inc.
    + * All rights reserved.
    + *
    + * This code is derived from software contributed to The NetBSD Foundation
    + * by Christos Zoulas.
    + *
    + * Redistribution and use in source and binary forms, with or without
    + * modification, are permitted provided that the following conditions
    + * are met:
    + * 1. Redistributions of source code must retain the above copyright
    + *    notice, this list of conditions and the following disclaimer.
    + * 2. Redistributions in binary form must reproduce the above copyright
    + *    notice, this list of conditions and the following disclaimer in the
    + *    documentation and/or other materials provided with the distribution.
    + * 3. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION OR CONTRIBUTORS
    + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    + * POSSIBILITY OF SUCH DAMAGE.
    + */
    +#if HAVE_NBTOOL_CONFIG_H
    +#include "nbtool_config.h"
    +#endif
    +
    +#include 
    +
    +#if defined(__RCSID) && !defined(lint)
    +__RCSID("$NetBSD: only.c,v 1.2 2013/02/05 00:59:03 christos Exp $");
    +#endif
    +
    +#include 
    +
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +#include 
    +
    +#include "extern.h"
    +
    +struct hentry {
    +	char *str;
    +	uint32_t hash;
    +	struct hentry *next;
    +};
    +
    +static struct hentry *table[1024];
    +static bool loaded;
    +
    +static uint32_t
    +hash_str(const char *str)
    +{
    +	const uint8_t *s = (const uint8_t *)str;
    +	uint8_t c;
    +	uint32_t hash = 0;
    +	while ((c = *s++) != '\0') 
    +		hash = hash * 33 + c;           /* "perl": k=33, r=r+r/32 */
    +	return hash + (hash >> 5);
    +}
    +
    +static bool
    +hash_find(const char *str, uint32_t *h)
    +{
    +	struct hentry *e;
    +	*h = hash_str(str) % __arraycount(table);
    +
    +	for (e = table[*h]; e; e = e->next)
    +		if (e->hash == *h && strcmp(e->str, str) == 0)
    +			return true;
    +	return false;
    +}
    +
    +static void
    +hash_insert(char *str, uint32_t h)
    +{
    +	struct hentry *e;
    +
    +	if ((e = malloc(sizeof(*e))) == NULL)
    +		mtree_err("memory allocation error");
    +
    +	e->str = str;
    +	e->hash = h;
    +	e->next = table[h];
    +	table[h] = e;
    +}
    +
    +static void
    +fill(char *str)
    +{
    +	uint32_t h;
    +	char *ptr = strrchr(str, '/');
    +
    +	if (ptr == NULL)
    +		return;
    +
    +	*ptr = '\0';
    +	if (!hash_find(str, &h)) {
    +		char *x = strdup(str);
    +		if (x == NULL)
    +			mtree_err("memory allocation error");
    +		hash_insert(x, h);
    +		fill(str);
    +	}
    +	*ptr = '/';
    +}
    +
    +void
    +load_only(const char *fname)
    +{
    +	FILE *fp;
    +	char *line;
    +	size_t len, lineno;
    +
    +	if ((fp = fopen(fname, "r")) == NULL)
    +		err(1, "Cannot open `%s'", fname);
    +
    +	while ((line = fparseln(fp, &len, &lineno, NULL, FPARSELN_UNESCALL))) {
    +		uint32_t h;
    +		if (hash_find(line, &h))
    +			err(1, "Duplicate entry %s", line);
    +		hash_insert(line, h);
    +		fill(line);
    +	}
    +
    +	fclose(fp);
    +	loaded = true;
    +}
    +
    +bool
    +find_only(const char *path)
    +{
    +	uint32_t h;
    +
    +	if (!loaded)
    +		return true;
    +	return hash_find(path, &h);
    +}
    diff --git a/usr.sbin/mtree/spec.c b/usr.sbin/mtree/spec.c
    index 62eaa0d57..712a5aa17 100644
    --- a/usr.sbin/mtree/spec.c
    +++ b/usr.sbin/mtree/spec.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: spec.c,v 1.84 2012/10/07 18:40:49 christos Exp $	*/
    +/*	$NetBSD: spec.c,v 1.88 2013/10/17 17:22:59 christos Exp $	*/
     
     /*-
      * Copyright (c) 1989, 1993
    @@ -67,7 +67,7 @@
     #if 0
     static char sccsid[] = "@(#)spec.c	8.2 (Berkeley) 4/28/95";
     #else
    -__RCSID("$NetBSD: spec.c,v 1.84 2012/10/07 18:40:49 christos Exp $");
    +__RCSID("$NetBSD: spec.c,v 1.88 2013/10/17 17:22:59 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -81,6 +81,7 @@ __RCSID("$NetBSD: spec.c,v 1.84 2012/10/07 18:40:49 christos Exp $");
     #include 
     #include 
     #include 
    +#include 
     #include 
     #include 
     #include 
    @@ -217,6 +218,12 @@ noparent:		mtree_err("no parent node");
     				/*
     				 * empty tree
     				 */
    +			/*
    +			 * Allow a bare "." root node by forcing it to
    +			 * type=dir for compatibility with FreeBSD.
    +			 */
    +			if (strcmp(centry->name, ".") == 0 && centry->type == 0)
    +				centry->type = F_DIR;
     			if (strcmp(centry->name, ".") != 0 ||
     			    centry->type != F_DIR)
     				mtree_err(
    @@ -350,16 +357,18 @@ dump_nodes(const char *dir, NODE *root, int pathlast)
     			appendfield(pathlast, "mode=%#o", cur->st_mode);
     		if (MATCHFLAG(F_DEV) &&
     		    (cur->type == F_BLOCK || cur->type == F_CHAR))
    -			appendfield(pathlast, "device=%#llx", (long long)cur->st_rdev);
    +			appendfield(pathlast, "device=%#jx",
    +			    (uintmax_t)cur->st_rdev);
     		if (MATCHFLAG(F_NLINK))
     			appendfield(pathlast, "nlink=%d", cur->st_nlink);
     		if (MATCHFLAG(F_SLINK))
     			appendfield(pathlast, "link=%s", vispath(cur->slink));
     		if (MATCHFLAG(F_SIZE))
    -			appendfield(pathlast, "size=%lld", (long long)cur->st_size);
    +			appendfield(pathlast, "size=%ju",
    +			    (uintmax_t)cur->st_size);
     		if (MATCHFLAG(F_TIME))
    -			appendfield(pathlast, "time=%lld.%09ld",
    -			    (long long)cur->st_mtimespec.tv_sec,
    +			appendfield(pathlast, "time=%jd.%09ld",
    +			    (intmax_t)cur->st_mtimespec.tv_sec,
     			    cur->st_mtimespec.tv_nsec);
     		if (MATCHFLAG(F_CKSUM))
     			appendfield(pathlast, "cksum=%lu", cur->cksum);
    @@ -415,19 +424,16 @@ dump_nodes(const char *dir, NODE *root, int pathlast)
     char *
     vispath(const char *path)
     {
    -	const char extra[] = { ' ', '\t', '\n', '\\', '#',
    -#ifdef notyet
    -	    /*
    -	     * We don't encode the globbing characters yet, because they
    -	     * get encoded as \c and strunvis fails to decode them
    -	     */
    -	    '*', '?', '[',
    -#endif
    -	    '\0' };
    +	static const char extra[] = { ' ', '\t', '\n', '\\', '#', '\0' };
    +	static const char extra_glob[] = { ' ', '\t', '\n', '\\', '#', '*',
    +	    '?', '[', '\0' };
     	static char pathbuf[4*MAXPATHLEN + 1];
     
    -	strsvis(pathbuf, path, VIS_CSTYLE, extra);
    -	return(pathbuf);
    +	if (flavor == F_NETBSD6)
    +		strsvis(pathbuf, path, VIS_CSTYLE, extra);
    +	else
    +		strsvis(pathbuf, path, VIS_OCTAL, extra_glob);
    +	return pathbuf;
     }
     
     
    diff --git a/usr.sbin/mtree/verify.c b/usr.sbin/mtree/verify.c
    index 11aa8dab1..b664afa8d 100644
    --- a/usr.sbin/mtree/verify.c
    +++ b/usr.sbin/mtree/verify.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: verify.c,v 1.43 2012/10/05 01:31:05 christos Exp $	*/
    +/*	$NetBSD: verify.c,v 1.44 2013/02/03 19:15:17 christos Exp $	*/
     
     /*-
      * Copyright (c) 1990, 1993
    @@ -38,7 +38,7 @@
     #if 0
     static char sccsid[] = "@(#)verify.c	8.1 (Berkeley) 6/6/93";
     #else
    -__RCSID("$NetBSD: verify.c,v 1.43 2012/10/05 01:31:05 christos Exp $");
    +__RCSID("$NetBSD: verify.c,v 1.44 2013/02/03 19:15:17 christos Exp $");
     #endif
     #endif /* not lint */
     
    @@ -95,6 +95,10 @@ vwalk(void)
     			fts_set(t, p, FTS_SKIP);
     			continue;
     		}
    +		if (!find_only(p->fts_path)) {
    +			fts_set(t, p, FTS_SKIP);
    +			continue;
    +		}
     		switch(p->fts_info) {
     		case FTS_D:
     		case FTS_SL:
    diff --git a/usr.sbin/postinstall/postinstall b/usr.sbin/postinstall/postinstall
    index fac2eaaee..95cc1f319 100755
    --- a/usr.sbin/postinstall/postinstall
    +++ b/usr.sbin/postinstall/postinstall
    @@ -1,6 +1,6 @@
     #!/bin/sh
     #
    -# $NetBSD: postinstall,v 1.147 2012/09/22 09:20:06 ast Exp $
    +# $NetBSD: postinstall,v 1.158 2013/09/09 15:04:12 prlw1 Exp $
     #
     # Copyright (c) 2002-2008 The NetBSD Foundation, Inc.
     # All rights reserved.
    @@ -172,17 +172,18 @@ check_dir()
     	return 0
     }
     
    -# check_ids op type file id [...]
    +# check_ids op type file start id [...]
     #	Check if file of type "users" or "groups" contains the relevant IDs
     #	Returns 0 if ok, 1 otherwise.
     #	
     check_ids()
     {
    -	[ $# -ge 4 ] || err 3 "USAGE: checks_ids op type file id [...]"
    +	[ $# -ge 5 ] || err 3 "USAGE: checks_ids op type file start id [...]"
     	_op="$1"
     	_type="$2"
     	_file="$3"
    -	shift 3
    +	_start="$4"
    +	shift 4
     	#_ids="$@"
     
     	if [ ! -f "${_file}" ]; then
    @@ -197,24 +198,33 @@ check_ids()
     	if [ "${_op}" = "fix" ]; then
     		_notfixed="${NOT_FIXED}"
     	fi
    -	_missing="$(${AWK} -F: '
    +	_missing="$(${AWK} -v start=$_start -F: '
     		BEGIN {
    -			for (x = 1; x < ARGC; x++)
    -				idlist[ARGV[x]]++
    +			for (x = 1; x < ARGC; x++) {
    +				if (ARGV[x] == "SKIP")
    +					continue;
    +				idlist[ARGV[x]]++;
    +				value[ARGV[x]] = start + x - 1;
    +			}
     			ARGC=1
     		}
     		{
     			found[$1]++
    +			number[$1] = $3
     		}
     		END {
     			for (id in idlist) {
    -				if (! (id in found))
    -					print id
    +				if (!(id in found))
    +					printf("%s (missing)\n", id)
    +				else if (number[id] != value[id])
    +					printf("%s (%d != %d)\n", id,
    +					    number[id], value[id])
    +				start++;
     			}
     		}
     	' "$@" < "${_file}")"	|| return 1
     	if [ -n "${_missing}" ]; then
    -		msg "Missing ${_type}${_notfixed}:" $(echo ${_missing})
    +		msg "Error ${_type}${_notfixed}:" $(echo ${_missing})
     		return 1
     	fi
     	return 0
    @@ -752,7 +762,7 @@ do_defaults()
     
     	compare_dir "$op" "${SRC_DIR}/etc/defaults" "${DEST_DIR}/etc/defaults" \
     		444 \
    -		daily.conf monthly.conf security.conf \
    +		daily.conf monthly.conf pkgpath.conf security.conf \
     		weekly.conf ${extra_scripts}
     	failed=$(( ${failed} + $? ))
     
    @@ -818,12 +828,56 @@ do_fontconfig()
     	op="$1"
     	failed=0
     
    -	if [ -f "${DEST_DIR}/etc/fonts/conf.d/10-unhinted.conf" -a \
    -	     -f "${DEST_DIR}/etc/fonts/conf.d/10-autohint.conf" ]; then
    -		failed=1
    +	# First, check for updates we can handle.
    +	if ! $SOURCEMODE; then
    +		FONTCONFIG_DIR="${SRC_DIR}/etc/fonts/conf.avail" 
    +	else
    +		FONTCONFIG_DIR="${XSRC_DIR}/external/mit/fontconfig/dist/conf.d"
     	fi
     
    -	if [ "$failed" = 1 ]; then
    +	populate_dir "$op" false "${FONTCONFIG_DIR}" "${DEST_DIR}/etc/fonts/conf.avail" 444 \
    +		10-autohint.conf \
    +		10-no-sub-pixel.conf \
    +		10-scale-bitmap-fonts.conf \
    +		10-sub-pixel-bgr.conf \
    +		10-sub-pixel-rgb.conf \
    +		10-sub-pixel-vbgr.conf \
    +		10-sub-pixel-vrgb.conf \
    +		10-unhinted.conf \
    +		11-lcdfilter-default.conf \
    +		11-lcdfilter-legacy.conf \
    +		11-lcdfilter-light.conf \
    +		20-unhint-small-vera.conf \
    +		25-unhint-nonlatin.conf \
    +		30-metric-aliases.conf \
    +		30-urw-aliases.conf \
    +		40-nonlatin.conf \
    +		45-latin.conf \
    +		49-sansserif.conf \
    +		50-user.conf \
    +		51-local.conf \
    +		60-latin.conf \
    +		65-fonts-persian.conf \
    +		65-khmer.conf \
    +		65-nonlatin.conf \
    +		69-unifont.conf \
    +		70-no-bitmaps.conf \
    +		70-yes-bitmaps.conf \
    +		80-delicious.conf \
    +		90-synthetic.conf
    +	failed=$(( ${failed} + $? ))
    +		
    +	# We can't modify conf.d easily; someone might have removed a file.
    +
    +	conf_d_failed=0
    +	# Look for old files that need to be deleted.
    +	if [ -f "${DEST_DIR}/etc/fonts/conf.d/10-unhinted.conf" -a \
    +	     -f "${DEST_DIR}/etc/fonts/conf.d/10-autohint.conf" ]; then
    +		conf_d_failed=1
    +		failed=$(( ${failed} + 1 ))
    +	fi
    +
    +	if [ "$conf_d_failed" = 1 ]; then
     		msg \
         "Broken fontconfig configuration found; please delete these files"
     		msg \
    @@ -853,9 +907,9 @@ do_gid()
     {
     	[ -n "$1" ] || err 3 "USAGE: do_gid  fix|check"
     
    -	check_ids "$1" groups "${DEST_DIR}/etc/group" \
    -	    named ntpd sshd authpf _pflogd _rwhod _proxy _timedc \
    -	    _sdpd _httpd _mdnsd _tests _tcpdump _tss
    +	check_ids "$1" groups "${DEST_DIR}/etc/group" 14 \
    +	    named ntpd sshd SKIP _pflogd _rwhod staff _proxy _timedc \
    +	    _sdpd _httpd _mdnsd _tests _tcpdump _tss _gpio _rtadvd
     }
     
     #
    @@ -998,7 +1052,7 @@ do_mtree()
     	if ! $SOURCEMODE; then
     		MTREE_DIR="${SRC_DIR}/etc/mtree"
     	else
    -		${MAKE} -C "${SRC_DIR}/etc/mtree" emit_dist_file > \
    +		${MAKE} -s -C "${SRC_DIR}/etc/mtree" emit_dist_file > \
     		    "${SCRATCHDIR}/NetBSD.dist"
     		MTREE_DIR="${SCRATCHDIR}"
     	fi
    @@ -1150,7 +1204,7 @@ do_rc()
     		DAEMON DISKS LOGIN NETWORKING SERVERS \
     		accounting altqd amd apmd \
     		bluetooth bootconf.sh bootparams \
    -		ccd cgd cleartmp cron \
    +		ccd cgd cleartmp cron devpubd \
     		dhclient dhcpcd dhcpd dhcrelay dmesg downinterfaces envsys \
     		fsck fsck_root ftp_proxy ftpd \
     		gpio \
    @@ -1158,16 +1212,16 @@ do_rc()
     		identd ifwatchd inetd ipfilter ipfs ipmon ipnat ipsec \
     		irdaattach iscsi_target isdnd isibootd \
     		kdc \
    -		ldconfig ldpd local lpd lvm\
    +		ldconfig ldpd local lpd lvm \
     		makemandb mdnsd mixerctl mopd motd mountall mountcritlocal \
     		mountcritremote mountd moused mrouted \
    -		named ndbootd network newsyslog nfsd nfslocking npf \
    -		ntpd ntpdate \
    +		named ndbootd network newsyslog nfsd nfslocking npf ntpd \
    +		ntpdate \
     		perusertmp pf pf_boot pflogd postfix powerd ppp pwcheck \
     		quota \
    -		racoon rpcbind raidframe raidframeparity random_seed \
    -		rarpd rbootd rndctl \
    -		root route6d routed rtadvd rtclocaltime rtsold rwho \
    +		racoon rpcbind raidframe raidframeparity random_seed rarpd \
    +		rbootd rndctl root route6d routed rtadvd rtclocaltime \
    +		rtsold rwho \
     		savecore screenblank securelevel sshd \
     		staticroute swap1 swap2 sysctl sysdb syslogd \
     		timed tpctl ttys \
    @@ -1529,9 +1583,9 @@ do_uid()
     {
     	[ -n "$1" ] || err 3 "USAGE: do_uid  fix|check"
     
    -	check_ids "$1" users "${DEST_DIR}/etc/master.passwd" \
    -	    named ntpd postfix sshd _pflogd _rwhod _proxy _timedc \
    -	    _sdpd _httpd _mdnsd _tests _tcpdump _tss
    +	check_ids "$1" users "${DEST_DIR}/etc/master.passwd" 12 \
    +	    postfix SKIP named ntpd sshd SKIP _pflogd _rwhod SKIP _proxy \
    +	    _timedc _sdpd _httpd _mdnsd _tests _tcpdump _tss SKIP _rtadvd
     }
     
     
    @@ -1818,7 +1872,7 @@ do_ptyfsoldnodes()
     usage()
     {
     	cat 1>&2 << _USAGE_
    -Usage: ${PROGNAME} [-s srcdir] [-d destdir] [-m mach] [-a arch] op [item [...]]
    +Usage: ${PROGNAME} [-s srcdir] [-x xsrcdir] [-d destdir] [-m mach] [-a arch] op [item [...]]
     	Perform post-installation checks and/or fixes on a system's
     	configuration files.
     	If no items are provided, a default set of checks or fixes is applied.
    @@ -1833,7 +1887,10 @@ Usage: ${PROGNAME} [-s srcdir] [-d destdir] [-m mach] [-a arch] op [item [...]]
                               multiple such files;
     			* A temporary directory in which one or both of
     			  "etc.tgz" and "xetc.tgz" have been extracted.
    -							[${SRC_DIR:-/}]
    +							[${SRC_DIR:-/usr/src}]
    +	-x xsrcdir      Location of the X11 source files.  This must be
    +			a directory that contains a NetBSD xsrc tree.
    +							[${XSRC_DIR:-/usr/src/../xsrc}]
     	-d destdir	Destination directory to check. [${DEST_DIR:-/}]
     	-m mach		MACHINE.			[${MACHINE}]
     	-a arch		MACHINE_ARCH.			[${MACHINE_ARCH}]
    @@ -1876,12 +1933,13 @@ main()
     	TGZLIST=		# quoted list list of tgz files
     	SRC_ARGLIST=		# quoted list of one or more "-s" args
     	SRC_DIR="${SRC_ARG}"	# set default value for early usage()
    +	XSRC_DIR="${SRC_ARG}/../xsrc"
     	N_SRC_ARGS=0		# number of "-s" args
     	TGZMODE=false		# true if "-s" specifies a tgz file
     	DIRMODE=false		# true if "-s" specified a directory
     	SOURCEMODE=false	# true if "-s" specified a source directory
     
    -	while getopts s:d:m:a: ch; do
    +	while getopts s:x:d:m:a: ch; do
     		case "${ch}" in
     		s)
     			qarg="$(shell_quote "${OPTARG}")"
    @@ -1912,6 +1970,14 @@ main()
     				err 2 "Invalid argument for -s option"
     			fi
     			;;
    +		x)
    +			if [ -d "${OPTARG}" ]; then
    +				# arg refers to a directory.
    +				XSRC_DIR="${OPTARG}"
    +			else
    +				err 2 "Not a directory for -x option"
    +			fi
    +			;;
     		d)
     			DEST_DIR="${OPTARG}"
     			;;
    diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.c b/usr.sbin/pwd_mkdb/pwd_mkdb.c
    index d07f06ab4..25d89be82 100644
    --- a/usr.sbin/pwd_mkdb/pwd_mkdb.c
    +++ b/usr.sbin/pwd_mkdb/pwd_mkdb.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: pwd_mkdb.c,v 1.53 2011/01/04 10:01:51 wiz Exp $	*/
    +/*	$NetBSD: pwd_mkdb.c,v 1.56 2012/11/26 20:13:54 pooka Exp $	*/
     
     /*
      * Copyright (c) 2000, 2009 The NetBSD Foundation, Inc.
    @@ -90,7 +90,7 @@ __COPYRIGHT("@(#) Copyright (c) 2000, 2009\
      The NetBSD Foundation, Inc.  All rights reserved.\
       Copyright (c) 1991, 1993, 1994\
      The Regents of the University of California.  All rights reserved.");
    -__RCSID("$NetBSD: pwd_mkdb.c,v 1.53 2011/01/04 10:01:51 wiz Exp $");
    +__RCSID("$NetBSD: pwd_mkdb.c,v 1.56 2012/11/26 20:13:54 pooka Exp $");
     #endif /* not lint */
     
     #if HAVE_NBTOOL_CONFIG_H
    @@ -119,7 +119,10 @@ __RCSID("$NetBSD: pwd_mkdb.c,v 1.53 2011/01/04 10:01:51 wiz Exp $");
     #include 
     #include 
     #include 
    +
    +#ifndef HAVE_NBTOOL_CONFIG_H
     #include 
    +#endif
     
     #define	MAX_CACHESIZE	8*1024*1024
     #define	MIN_CACHESIZE	2*1024*1024
    @@ -167,13 +170,13 @@ static int	warning;
     static struct pwddb sdb, idb;
     
     
    -void	bailout(void) __attribute__((__noreturn__));
    +void	bailout(void) __dead;
     void	cp(const char *, const char *, mode_t);
     void	deldbent(struct pwddb *, int, void *);
    -void	mkpw_error(const char *, ...);
    +void	mkpw_error(const char *, ...) __dead;
     void	mkpw_warning(const char *, ...);
     int	getdbent(struct pwddb *, int, void *, struct passwd **);
    -void	inconsistency(void);
    +void	inconsistency(void) __dead;
     void	install(const char *, const char *);
     int	main(int, char **);
     void	putdbents(struct pwddb *, struct passwd *, const char *, int, int,
    @@ -181,8 +184,8 @@ void	putdbents(struct pwddb *, struct passwd *, const char *, int, int,
     void	putyptoken(struct pwddb *);
     void	rm(const char *);
     int	scan(FILE *, struct passwd *, int *, int *);
    -void	usage(void) __attribute__((__noreturn__));
    -void	wr_error(const char *);
    +void	usage(void) __dead;
    +void	wr_error(const char *) __dead;
     uint32_t getversion(const char *);
     void	setversion(struct pwddb *);
     
    @@ -345,7 +348,7 @@ main(int argc, char *argv[])
     	(void)sigaddset(&set, SIGINT);
     	(void)sigaddset(&set, SIGQUIT);
     	(void)sigaddset(&set, SIGTERM);
    -	(void)sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
    +	(void)sigprocmask(SIG_BLOCK, &set, NULL);
     
     	/* We don't care what the user wants. */
     	(void)umask(0);
    @@ -436,7 +439,7 @@ main(int argc, char *argv[])
     		 * Create original format password file entry.
     		 */
     		if (makeold) {
    -#ifdef __minix
    +#if defined(__minix)
     			(void)fprintf(oldfp, "%s:##%s:%d:%d:%s:%s:%s\n",
     			    pwd.pw_name, pwd.pw_name, pwd.pw_uid, pwd.pw_gid,
     			    pwd.pw_gecos, pwd.pw_dir, pwd.pw_shell);
    @@ -444,7 +447,7 @@ main(int argc, char *argv[])
     			(void)fprintf(oldfp, "%s:*:%d:%d:%s:%s:%s\n",
     			    pwd.pw_name, pwd.pw_uid, pwd.pw_gid, pwd.pw_gecos,
     			    pwd.pw_dir, pwd.pw_shell);
    -#endif
    +#endif /* defined(__minix) */
     			if (ferror(oldfp))
     				wr_error(oldpwdfile);
     		}
    @@ -1046,7 +1049,7 @@ putyptoken(struct pwddb *db)
     
     	key.data = __UNCONST(__yp_token);
     	key.size = strlen(__yp_token);
    -	data.data = (u_char *)NULL;
    +	data.data = NULL;
     	data.size = 0;
     
     	if ((*db->db->put)(db->db, &key, &data, R_NOOVERWRITE) == -1)
    diff --git a/usr.sbin/user/user.c b/usr.sbin/user/user.c
    index 4badc0467..dc12159ad 100644
    --- a/usr.sbin/user/user.c
    +++ b/usr.sbin/user/user.c
    @@ -1,4 +1,4 @@
    -/* $NetBSD: user.c,v 1.129 2011/12/01 00:34:05 dholland Exp $ */
    +/* $NetBSD: user.c,v 1.131 2012/11/28 11:31:27 blymn Exp $ */
     
     /*
      * Copyright (c) 1999 Alistair G. Crooks.  All rights reserved.
    @@ -33,7 +33,7 @@
     #ifndef lint
     __COPYRIGHT("@(#) Copyright (c) 1999\
      The NetBSD Foundation, Inc.  All rights reserved.");
    -__RCSID("$NetBSD: user.c,v 1.129 2011/12/01 00:34:05 dholland Exp $");
    +__RCSID("$NetBSD: user.c,v 1.131 2012/11/28 11:31:27 blymn Exp $");
     #endif
     
     #include 
    @@ -142,7 +142,6 @@ enum {
     #define LOCK		1
     #define LOCKED		"*LOCKED*"
     
    -
     #ifndef DEF_GROUP
     #define DEF_GROUP	"users"
     #endif
    @@ -152,12 +151,12 @@ enum {
     #endif
     
     #ifndef DEF_SKELDIR
    -#ifdef __minix
    +#if defined(__minix)
     #define DEF_SKELDIR	"/usr/ast"
     #else
     #define DEF_SKELDIR	"/etc/skel"
     #endif
    -#endif
    +#endif /* defined(__minix) */
     
     #ifndef DEF_SHELL
     #define DEF_SHELL	_PATH_BSHELL
    @@ -211,7 +210,6 @@ enum {
     	DES_Len = 13,
     };
     
    -
     #define UNSET_INACTIVE	"Null (unset)"
     #define UNSET_EXPIRY	"Null (unset)"
     
    @@ -1582,9 +1580,15 @@ moduser(char *login_name, char *newlogin, user_t *up, int allow_samba)
     					errx(EXIT_FAILURE,
     					    "Can't modify user `%s': "
     					    "gid %d is already in use",
    -					    login_name, up->u_uid);
    +					    login_name, pwp->pw_uid);
     				}
     				pwp->pw_gid = pwp->pw_uid;
    +				if (!creategid(newlogin, pwp->pw_uid, "")) {
    +					errx(EXIT_FAILURE, 
    +					    "Could not create group %s "
    +					    "with uid %d", newlogin, 
    +					    up->u_uid);
    +				}
     			} else if ((grp = getgrnam(up->u_primgrp)) != NULL) {
     				pwp->pw_gid = grp->gr_gid;
     			} else if (is_number(up->u_primgrp) &&
    diff --git a/usr.sbin/vipw/vipw.8 b/usr.sbin/vipw/vipw.8
    index 2f7b6e46f..5f1d81dbf 100644
    --- a/usr.sbin/vipw/vipw.8
    +++ b/usr.sbin/vipw/vipw.8
    @@ -1,4 +1,4 @@
    -.\"	$NetBSD: vipw.8,v 1.15 2005/09/05 03:37:15 hubertf Exp $
    +.\"	$NetBSD: vipw.8,v 1.16 2012/04/08 22:00:41 wiz Exp $
     .\"
     .\" Copyright (c) 1983, 1991, 1993
     .\"	The Regents of the University of California.  All rights reserved.
    @@ -37,9 +37,7 @@
     .Nd edit the password file
     .Sh SYNOPSIS
     .Nm
    -.Bk -words
     .Op Fl d Ar directory
    -.Ek
     .Sh DESCRIPTION
     .Nm
     edits the password file after setting the appropriate locks,
    diff --git a/usr.sbin/vipw/vipw.c b/usr.sbin/vipw/vipw.c
    index a6f97b2fd..39bc0e2aa 100644
    --- a/usr.sbin/vipw/vipw.c
    +++ b/usr.sbin/vipw/vipw.c
    @@ -1,4 +1,4 @@
    -/*	$NetBSD: vipw.c,v 1.14 2009/04/19 00:44:49 lukem Exp $	*/
    +/*	$NetBSD: vipw.c,v 1.16 2011/08/31 16:25:00 plunky Exp $	*/
     
     /*
      * Copyright (c) 1987, 1993, 1994
    @@ -39,7 +39,7 @@ __COPYRIGHT("@(#) Copyright (c) 1987, 1993, 1994\
     #if 0
     static char sccsid[] = "@(#)vipw.c	8.3 (Berkeley) 4/2/94";
     #else
    -__RCSID("$NetBSD: vipw.c,v 1.14 2009/04/19 00:44:49 lukem Exp $");
    +__RCSID("$NetBSD: vipw.c,v 1.16 2011/08/31 16:25:00 plunky Exp $");
     #endif
     #endif /* not lint */
     
    @@ -57,11 +57,10 @@ __RCSID("$NetBSD: vipw.c,v 1.14 2009/04/19 00:44:49 lukem Exp $");
     #include 
     #include 
     
    -int	main __P((int, char **));
    -static void	copyfile __P((int, int));
    -static void	usage __P((void));
    +static void	copyfile(int, int);
    +__dead static void	usage(void);
     
    -char mpwd[MAXPATHLEN], mpwdl[MAXPATHLEN];
    +static char mpwd[MAXPATHLEN], mpwdl[MAXPATHLEN];
     
     int
     main(int argc, char *argv[])
    @@ -118,7 +117,7 @@ main(int argc, char *argv[])
     		if (begin.st_mtime == end.st_mtime &&
     		    begin.st_mtimensec == end.st_mtimensec) {
     			warnx("no changes made");
    -			pw_error((char *)NULL, 0, 0);
    +			pw_error(NULL, 0, 0);
     		}
     		if (pw_mkdb(NULL, 0) == 0)
     			break;
    diff --git a/usr.sbin/vnconfig/vnconfig.8 b/usr.sbin/vnconfig/vnconfig.8
    index 5b6ca008d..1f807a043 100644
    --- a/usr.sbin/vnconfig/vnconfig.8
    +++ b/usr.sbin/vnconfig/vnconfig.8
    @@ -69,13 +69,15 @@
     .Nd configure vnode disks
     .Sh SYNOPSIS
     .Nm
    -.Op Fl Scrv
    +.Op Fl crvz
    +.Op Fl f Ar disktab
    +.Op Fl t Ar typename
     .Ar vnode_disk
     .Ar regular_file
     .Op Ar geomspec
     .Nm
     .Fl u
    -.Op Fl SFv
    +.Op Fl Fv
     .Ar vnode_disk
     .Nm
     .Fl l
    @@ -118,7 +120,7 @@ argument is:
     .Sm on
     .Ed
     .Pp
    -If geometry is not specified, the driver will choose a default based on 1MB
    +If geometry is not specified, the kernel will choose a default based on 1MB
     cylinders.
     .Ar secsize
     is the number of bytes per sector.
    @@ -129,39 +131,65 @@ is the number of sectors per track.
     is the number of tracks per cylinder.
     .Ar ncylinders
     is the number of cylinders in the device.
    -.It Fl S
    -Do not start or stop the corresponding device driver instance.
     .It Fl F
     Force unconfiguration if the device is in use.
     Does not imply
     .Fl u .
    +.It Fl f Ar disktab
    +Specifies that the
    +.Fl t
    +option should look up in
    +.Ar disktab
    +instead of in
    +.Pa /etc/disktab .
     .It Fl l
     List the vnd devices and indicate which ones are in use.
     If a specific
     .Ar vnode_disk
     is given, then only that will be described.
    +.It Fl t Ar typename
    +If configuring the device, look up
    +.Ar typename
    +in
    +.Pa /etc/disktab
    +and use the geometry specified in the entry.
    +This option and the
    +.Ar geomspec
    +argument are mutually exclusive.
     .It Fl r
     Configure the device as read-only.
     .It Fl u
     Unconfigures the device.
     .It Fl v
     Print messages to stdout describing actions taken.
    +.It Fl z
    +Assume that
    +.Ar regular_file
    +is a compressed disk image in cloop2 format, and configure it
    +read-only.
    +See the
    +.Xr vndcompress 1
    +manpage on how to create such an image.
     .El
     .Pp
     If no action option is given,
     .Fl c
     is assumed.
     .Sh FILES
    -.Bl -tag -width /dev/vnd* -compact
    -.It Pa /dev/vnd*
    +.Bl -tag -width /etc/disktab -compact
    +.It Pa /dev/rvnd??
    +.It Pa /dev/vnd??
    +.It Pa /etc/disktab
     .El
     .Sh EXAMPLES
     .Dl vndconfig vnd0 /tmp/diskimage
     or
    -.Dl vndconfig /dev/vnd0 /tmp/diskimage
    +.Dl vndconfig /dev/rvnd0c /tmp/diskimage
     .Pp
     Configures the vnode disk
     .Pa vnd0 .
    +Please note that use of the second form of the command is discouraged because
    +it requires knowledge of the raw partition which varies between architectures.
     .Pp
     .Dl vndconfig vnd0 /tmp/floppy.img 512/18/2/80
     .Pp
    @@ -170,26 +198,32 @@ Configures the vnode disk
     emulating the geometry of 512 bytes per sector, 18 sectors per track,
     2 tracks per cylinder, and 80 cylinders total.
     .Pp
    +.Dl vndconfig -t floppy vnd0 /tmp/floppy.img
    +.Pp
    +Configures the vnode disk
    +.Pa vnd0
    +using the geometry specified in the
    +.Pa floppy
    +entry in
    +.Pa /etc/disktab .
    +.Pp
     .Dl vndconfig -u vnd0
     .Pp
     Unconfigures the
     .Pa vnd0
     device.
    -.Sh NOTES
    -If
    -.Ic vnconfig -uF
    -is used and the device was still in use, the driver instance
    -will not be shut down, even if
    -.Fl S
    -was not given. One may manually shut down
    -the service later with
    -.Ic service down
    -.Ar vndN
    -where
    -.Ar N
    -is the instance number, or simply
    -leave the driver running for later reuse.
     .Sh SEE ALSO
    +.Xr vndcompress 1 ,
     .Xr opendisk 3 ,
    +.Xr vnd 4 ,
     .Xr mount 8 ,
    +.Xr swapctl 8 ,
     .Xr umount 8
    +.Sh HISTORY
    +The
    +.Nm
    +command appeared in
    +.Nx 1.0 .
    +.Sh BUGS
    +This command should really be named
    +.Nm vndconfig .
    diff --git a/usr.sbin/vnconfig/vnconfig.c b/usr.sbin/vnconfig/vnconfig.c
    index 0afc56db7..f5e190e02 100644
    --- a/usr.sbin/vnconfig/vnconfig.c
    +++ b/usr.sbin/vnconfig/vnconfig.c
    @@ -70,7 +70,7 @@
     #include 
     #include 
     #include 
    -#ifndef __minix
    +#if !defined(__minix)
     #include 
     #include 
     #include 
    @@ -78,7 +78,7 @@
     #else
     #include 
     #include 
    -#endif
    +#endif /* !defined(__minix) */
     
     #include 
     
    @@ -104,20 +104,20 @@ static int	readonly = 0;
     static int	force = 0;
     static int	compressed = 0;
     static char	*tabname;
    -#ifdef __minix
    +#if defined(__minix)
     static int	service = 1;
    -#endif
    +#endif /* defined(__minix) */
     
    -#ifndef __minix
    +#if !defined(__minix)
     static void	show(int, int);
     #else
     static void	show(const char *, int);
    -#endif
    +#endif /* !defined(__minix) */
     static int	config(char *, char *, char *, int);
     static int	getgeom(struct vndgeom *, char *);
     __dead static void	usage(void);
     
    -#ifdef __minix
    +#if defined(__minix)
     /*
      * Start a driver instance for the given vnd name.  The return value indicates
      * whether the instance has been started successfully.
    @@ -189,25 +189,25 @@ stop_service(int fd, char *dev)
     		system(cmd);
     	}
     }
    -#endif
    +#endif /* defined(__minix) */
     
     int
     main(int argc, char *argv[])
     {
     	int ch, rv, action = VND_CONFIG;
     
    -#ifndef __minix
    +#if !defined(__minix)
     	while ((ch = getopt(argc, argv, "Fcf:lrt:uvz")) != -1) {
     #else
     	/* MINIX3: added -S; no support for -f, -t, -z at this time. */
     	while ((ch = getopt(argc, argv, "SFclruv")) != -1) {
    -#endif
    +#endif /* !defined(__minix) */
     		switch (ch) {
    -#ifdef __minix
    +#if defined(__minix)
     		case 'S':
     			service = 0;
     			break;
    -#endif
    +#endif /* defined(__minix) */
     		case 'F':
     			force = 1;
     			break;
    @@ -215,10 +215,10 @@ main(int argc, char *argv[])
     			action = VND_CONFIG;
     			break;
     		case 'f':
    -#ifndef __minix
    +#if !defined(__minix)
     			if (setdisktab(optarg) == -1)
     				usage();
    -#endif
    +#endif /* !defined(__minix) */
     			break;
     		case 'l':
     			action = VND_GET;
    @@ -259,47 +259,47 @@ main(int argc, char *argv[])
     			usage();
     		rv = config(argv[0], NULL, NULL, action);
     	} else { /* VND_GET */
    -#ifndef __minix
    +#if !defined(__minix)
     		int n, v;
     		const char *vn;
     		char path[64];
     #else
     		int n;
    -#endif
    +#endif /* !defined(__minix) */
     
     		if (argc != 0 && argc != 1)
     			usage();
     
    -#ifndef __minix
    +#if !defined(__minix)
     		vn = argc ? argv[0] : "vnd0";
     
     		v = opendisk(vn, O_RDONLY, path, sizeof(path), 0);
     		if (v == -1)
     			err(1, "open: %s", vn);
    -#endif
    +#endif /* !defined(__minix) */
     
     		if (argc)
    -#ifndef __minix
    +#if !defined(__minix)
     			show(v, -1);
     #else
     			show(argv[0], -1);
    -#endif
    +#endif /* !defined(__minix) */
     		else {
     			DIR *dirp;
     			struct dirent *dp;
    -#ifndef __minix
    +#if !defined(__minix)
     			__BITMAP_TYPE(, uint32_t, 65536) bm;
     
     			__BITMAP_ZERO(&bm);
     #else
     			char *endp;
    -#endif
    +#endif /* !defined(__minix) */
     
     			if ((dirp = opendir(_PATH_DEV)) == NULL)
     				err(1, "opendir: %s", _PATH_DEV);
     
     			while ((dp = readdir(dirp)) != NULL) {
    -#ifndef __minix
    +#if !defined(__minix)
     				if (strncmp(dp->d_name, "rvnd", 4) != 0)
     					continue;
     				n = atoi(dp->d_name + 4);
    @@ -314,31 +314,31 @@ main(int argc, char *argv[])
     				if (endp[0])
     					continue;
     				show(dp->d_name, n);
    -#endif
    +#endif /* !defined(__minix) */
     			}
     
     			closedir(dirp);
     		}
    -#ifndef __minix
    +#if !defined(__minix)
     		close(v);
    -#endif
    +#endif /* !defined(__minix) */
     		rv = 0;
     	}
     	return rv;
     }
     
     static void
    -#ifndef __minix
    +#if !defined(__minix)
     show(int v, int n)
     #else
     show(const char *vn, int n)
    -#endif
    +#endif /* !defined(__minix) */
     {
     	struct vnd_user vnu;
     	char *dev;
     	struct statvfs *mnt;
     	int i, nmount;
    -#ifdef __minix
    +#if defined(__minix)
     	int v;
     	char path[PATH_MAX];
     
    @@ -350,15 +350,15 @@ show(const char *vn, int n)
     			printf("vnd%d: not in use\n", n);
     		return;
     	}
    -#endif
    +#endif /* defined(__minix) */
     
     	vnu.vnu_unit = n;
     	if (ioctl(v, VNDIOCGET, &vnu) == -1)
     		err(1, "VNDIOCGET");
     
    -#ifdef __minix
    +#if defined(__minix)
     	close(v);
    -#endif
    +#endif /* defined(__minix) */
     
     	if (vnu.vnu_ino == 0) {
     		printf("vnd%d: not in use\n", vnu.vnu_unit);
    @@ -401,15 +401,15 @@ static int
     config(char *dev, char *file, char *geom, int action)
     {
     	struct vnd_ioctl vndio;
    -#ifndef __minix
    +#if !defined(__minix)
     	struct disklabel *lp;
     #else
     	int stop = 0;
    -#endif
    +#endif /* !defined(__minix) */
     	char rdev[MAXPATHLEN + 1];
     	int fd, rv;
     
    -#ifdef __minix
    +#if defined(__minix)
     	/*
     	 * MINIX does not have the concept of raw devices.  As such, the access
     	 * checks that apply to opening block devices, automatically apply here
    @@ -426,7 +426,7 @@ config(char *dev, char *file, char *geom, int action)
     	}
     #else
     	fd = opendisk(dev, O_RDWR, rdev, sizeof(rdev), 0);
    -#endif
    +#endif /* defined(__minix) */
     	if (fd < 0) {
     		warn("%s: opendisk", rdev);
     		return (1);
    @@ -437,19 +437,19 @@ config(char *dev, char *file, char *geom, int action)
     	rv = 0;			/* XXX */
     #endif
     
    -#ifndef __minix
    +#if !defined(__minix)
     	vndio.vnd_file = file;
    -#endif
    +#endif /* !defined(__minix) */
     	if (geom != NULL) {
     		rv = getgeom(&vndio.vnd_geom, geom);
    -#ifdef __minix
    +#if defined(__minix)
     		if (rv && stop)
     			stop_service(fd, rdev);
    -#endif
    +#endif /* !defined(__minix) */
     		if (rv != 0)
     			errx(1, "invalid geometry: %s", geom);
     		vndio.vnd_flags = VNDIOF_HASGEOM;
    -#ifndef __minix
    +#if !defined(__minix)
     	} else if (tabname != NULL) {
     		lp = getdiskbyname(tabname);
     		if (lp == NULL)
    @@ -459,16 +459,16 @@ config(char *dev, char *file, char *geom, int action)
     		vndio.vnd_geom.vng_ntracks = lp->d_ntracks;
     		vndio.vnd_geom.vng_ncylinders = lp->d_ncylinders;
     		vndio.vnd_flags = VNDIOF_HASGEOM;
    -#endif
    +#endif /* !defined(__minix) */
     	}
     
     	if (readonly)
     		vndio.vnd_flags |= VNDIOF_READONLY;
     
    -#ifndef __minix
    +#if !defined(__minix)
     	if (compressed)
     		vndio.vnd_flags |= VNF_COMP;
    -#endif
    +#endif /* !defined(__minix) */
     
     	/*
     	 * Clear (un-configure) the device
    @@ -485,10 +485,10 @@ config(char *dev, char *file, char *geom, int action)
     			warn("%s: VNDIOCCLR", rdev);
     		else if (verbose)
     			printf("%s: cleared\n", rdev);
    -#ifdef __minix
    +#if defined(__minix)
     		if (!rv && service)
     			stop = 2;
    -#endif
    +#endif /* defined(__minix) */
     	}
     	/*
     	 * Configure the device
    @@ -500,11 +500,11 @@ config(char *dev, char *file, char *geom, int action)
     		if (ffd < 0)
     			warn("%s", file);
     		else {
    -#ifndef __minix
    +#if !defined(__minix)
     			(void) close(ffd);
     #else
     			vndio.vnd_fildes = ffd;
    -#endif
    +#endif /* defined(__minix) */
     
     			rv = ioctl(fd, VNDIOCSET, &vndio);
     #ifdef VNDIOOCSET
    @@ -513,9 +513,9 @@ config(char *dev, char *file, char *geom, int action)
     				vndio.vnd_size = vndio.vnd_osize;
     			}
     #endif
    -#ifdef __minix
    +#if defined(__minix)
     			(void) close(ffd);
    -#endif
    +#endif /* defined(__minix) */
     			if (rv)
     				warn("%s: VNDIOCSET", rdev);
     			else if (verbose) {
    @@ -530,17 +530,17 @@ config(char *dev, char *file, char *geom, int action)
     				printf("\n");
     			}
     		}
    -#ifdef __minix
    +#if defined(__minix)
     		if ((ffd < 0 || rv) && service)
     			stop++;
    -#endif
    +#endif /* defined(__minix) */
     	}
     
    -#ifdef __minix
    +#if defined(__minix)
     	if (stop >= 2)
     		stop_service(fd, rdev);
     	else
    -#endif
    +#endif /* defined(__minix) */
     	(void) close(fd);
     	fflush(stdout);
     	return (rv < 0);
    @@ -593,14 +593,14 @@ usage(void)
     {
     
     	(void)fprintf(stderr, "%s%s",
    -#ifndef __minix
    +#if !defined(__minix)
     	    "usage: vnconfig [-crvz] [-f disktab] [-t typename] vnode_disk"
     		" regular-file [geomspec]\n",
     	    "       vnconfig -u [-Fv] vnode_disk\n"
     #else
     	    "usage: vnconfig [-Scrv] vnode_disk regular-file [geomspec]\n",
     	    "       vnconfig -u [-SFv] vnode_disk\n"
    -#endif
    +#endif /* !defined(__minix) */
     	    "       vnconfig -l [vnode_disk]\n");
     	exit(1);
     }
    diff --git a/usr.sbin/zic/Makefile b/usr.sbin/zic/Makefile
    index 16b0cfde1..ff9202e36 100644
    --- a/usr.sbin/zic/Makefile
    +++ b/usr.sbin/zic/Makefile
    @@ -1,9 +1,11 @@
    -#	$NetBSD: Makefile,v 1.9 2009/04/22 15:23:10 lukem Exp $
    -
    -WARNS?=	2	# XXX -Wcast-qual in lib/libc/time
    +#	$NetBSD: Makefile,v 1.14 2013/03/06 18:21:41 christos Exp $
     
    +.include "Makefile.inc"
     .include 
     
    +COPTS.zic.c	+= -Wno-format-nonliteral
    +COPTS.scheck.c	+= -Wno-format-nonliteral
    +
     PROG=	zic
     SRCS=	zic.c scheck.c ialloc.c
     MAN=	zic.8
    diff --git a/usr.sbin/zic/Makefile.inc b/usr.sbin/zic/Makefile.inc
    new file mode 100644
    index 000000000..1fe606ac2
    --- /dev/null
    +++ b/usr.sbin/zic/Makefile.inc
    @@ -0,0 +1,2 @@
    +
    +CPPFLAGS+=-DREPORT_BUGS_TO=\"gnats@netbsd.org\"
    

    {X~*AoGnO%{PexTELmjU1#jEWEXiA_*j~dahU`GJ{FM) z^Ebw|keaz-VTYjB0-1CC$2|lr1q5`kPcj_i7GV>66*yVMKdvF*V-Yp6{eMQY$tLb9 z2$N`m509<}T#U4sH2yN4=Tx%(|GpNQaDoy*k|gk_DD>WEga;ndaF|AdG3?GFY1JeE zaHcfq4d@63yatm<9;10+k+2Hw^@I7%(Bnw!cZ4w#a0kIQlNbawe+}OKzh~wq5kSfX z55ER!wIe}DRg=jL5DNioCUO!1kkTMYY$^gEi-LeLrWRl!VC_CWi2!`$L?wWby(0#RiU8?WjRCbFj136jl0uoJs)9ltCb=67b40B~V*>)9s)Cpobsqpz6)E`uD>|ATjxRhVT}x#E}hO5Boq1Di^5& zfFoK<1N+L1B>?sqLjvpr7-UC702=|v#4*4^z#e0WhZLq36tz-i02_fBX&fWJF|C@E z^;JNqp$Jenj39tZ8zfY*(-DkhVYD(9(p z3XBm&3bj<34Ke^OTjb(J)dMh&P`rqZfFXE9tC40M0bG=jF)maDIG``Yc99v==d{vn zHhe$q1oTM2A@drTQTt*@fISuwhJixO5$(zhtrT!&z&;hQWWcILq!UHKPJqEiv^9X8 zK-9q20t^wbmaRqucsSSyD5owCHUg1J-iININ-Mr+gBHL(pzT8(>;fiCT^M&1Ht|%! z9zb?9vJ2rjATzlmF@&)x)FvJD*CSL-wC17z2UQcTQwaSSCRGz&4hJ(^sLd4WD=5h1 zS@i!vWdN-|MSTS{N5H#~O<*DS@2Hxz{vsBmQ#C=60PbH?HN`o5G&~f2(bTrS{kq=F z<`ars-MJskKD6G5*e-2f|E4kj)2jQWCygFO#yuMw;9Yrk^OntLcf2?0_Ho&N(rAzO zqX}7=SwTjQCx3^(y|?QIMKQWO^ZD?WcX``vO6w0cgAnab`W%WtfF ziWlKcv+;I)mRz;Q!6-UcqXp>a{}+r zm{2@@q(Fd$k_4~YAo(gQ* zm;HNVgWZSqq3f>B7BGBefrHm~d|vCTylO?uGLi9{vP+fDN6Xo8otw~oeKz;{Dzfnl z2a%WjN9MasTk`Hrn$N|aqCS5q=^I6&qa%sjMNjSBv}b?hm_8*^*>K7U`>B$mWf!N} zYfo>Ta@)ICJ9(mGafOk{xz!#?(N_t3dPav2;c{f6YF`f6=VDzZvF=vSs!f^X zvT@(`(+gX*E`0F*UD*&CdMUk)v*3o^jIFXo>BM};8$ZX!e+`X}wjA5bL!3Dnp5p%?N2jXeB;ir+H^r<_ zKabkGZ`QA}*{K)jbwu-QBza5p$EA6kd50e!jETgZCW(lYL`|8|w{Px=T?!@dM5h_; zH$31KHigUj@#xRdFUt#4Y!$RltzSQJ%Co6$v{7BX@s9fziC@dBYTlK8&v=yDU^#cB z)2`)gw)!_0tBtdjge)o(l#lC9xfr@vdoze=mcP%*qr5xkaBq5+$y=hN6fMPh@zJ_< z0aNcLl=K%A1oUSIS-KqeCq(ETv9y~fzO!j>L$A!c9eFWt$16NTzMV^6-!<*i`=@yp zaa%=7B=*S1FMjZ0NXMV&LF|=9$Wrs6>OLQOMkgQY1wPl~8$78dTCi zqERJDWlD+)Q5r}^hIj3K&X%6D&-3={ocEvi`hBnK>pAVS&)#dV``+tb_gd@oS!*^= z>R!6rJ0-5oZ-XG+ozNzsbHQ}FXJbt0B|lBEnRiB9dbs6am*+WQgX>$K+F$ut(M6vr zS!(_HzTKD;wOu_ozeO3BFX?}ie@c?pfA_`BZz-RYnmSIc4LR>#n4tgZ+a6n`m;0Ok zIaPds_PMLSSHED>?YTGWo(iliE52v@bIy`;3BnSYdrlW-FS>6QV!U*^`Z(8zd8?P3 zd0A-sY-s)X$bY}v=6Q#Xt96VqIF!)6y=YOjPc{8w>8rjQZlei#T_Ad8qZnoDq^V z+XEkW8%L0WR=oE&IIQf;mn|wjv$9k6E@@|a^h$f-`|=IOYISOFTS#m5Z&Xb#d-Czw z^v*?B*N-P1Dl@-F@^OD6TKri1} z_;6=lTC~sVS20BmRw9bCoX8y;+I6k$gEqM?O32Q8BiZ=DM054H<)XKVx9x9xR@kr6 z{rE&i|Lm9Zl^=rL?Tbh)E`Z>)!t^vE4nRx+jWv9fVRvD*$#Ida$QTCqsPbn~_k>vhb##jkF*D=isc zLJU8usu)h+Nr(>pKx_=onV~x*^pT}Q*p#6+m^IWpD%rX1)h`~guHOqRh ziXJ|jp&R~QG;h~C(btMkbY7pYsR&Mg@P7V0%lxY~vLW@OEi2QHpXqwgUa&Uzbw8;r z`p4AKDwB?Es&12m$BHBzS^fEx7h&&2F?cYs#8}7C&YzD@IULjLKR35)&78m`iuE7O z$SP}MvVDE#@;$w<;};d0Hx`!vT;Y7S zAf>_2eX~}-uIp^R~v>hR<)9vGQ!=DP~FTW8ZewS$BaNE;CS|L)ie_X(#w?9iy-#r{towjPAQIyYi zL(0*%2b%=1bUH>+UUY4z?@Wpd{jh)K3yJ3srWH3d2fh8e-A2sw)h4B#6JPr?lw{$B z7ZM+{n7Dnt#6-C-wdzkoKPp@gu`JR)wOL_G^*>WuoqHR$mR(DEpy{J0{gUsIpmXcz zzS*|~qdlXeqD#}GBKKMFE1MbLx-EZXW-p~8Rqy$g2@ck!<4YAL|Z0gQEE)**`IYs*SKkS7=^4J7(G={vuVkC-|>m3w_IwA z>CPw>7HpfnovJ=!nT_^~MY;11?z4Ro@17CFx5x0I(mLCfDf`>ZKsQea-A%&Eily<@ z@B-DAOAnq4uPxvCwRA;M$(cx9!(6wfy4N=kt%)=0J0_thqP^rP@w14ZM5b2L7lpgT zNYmS%aS@L#I+eG_1#KmtYqrWb?x!vyno`|%F;tK~!?Eylj!dj)bTVisxqt4*+V=0#=6}QanQrm# zaDE08X#7`jek9V(#6e@=eLBj{ih!M=kr3-E3~G(?y`oiV*r1o z-h+7#3e-bR#sL0w4B$`40RD8eyF7Xhc4Z9UPsafMbPV86#{m9x6vu-63Iq7lF@Qhh zu~>J<0RBiYizyFU+>iVU1NhT1fIqa@W1WKm{1GfO^H*rWGx{s+${4_(jsg4uV$3=j z1NhT1fIpoD@c#|^%^U@6oAp0W-e6cY1l|mZ{Gk#bq!k$8PjKTj>`kEPJVQGJm+`RD zdZf;V!J)*1y)iU%{_#K;(BuGVyMmQF(V)=*v}wlI1$#CLo%}qI0*Y-2@J0g3+ySTN>16iE$!|2ze?L2cRQ$K%VJgJ7ITa7% zNx@yRAA3ir2ySm!VLL=sITp6FcNe9jj3(UA3o79DhJ!As06ZXZD8ynfVW#s42v3Cw z78E=T%}y$U+vCu67AMESBPcu-O2CH0k|6O1MKQQ9Do)N5U1oSNAOPD#LSop9N(I;+ zFq7a)fs^;-6%rn5Q=vo6FDa0^Ne*c*cDf2WkC5;PtQWXohNPfCq!G}2xVj*-n@(<# z@T|IBXo?Ly_`eJ|7;i{O;u~=G&InA`g8O*^0e`4j{$;?SyC@_9@PpoXQXoD852QfK zR?!q7@?U^FL+BkijBrN;?;YWd>7)P#X!wgtfhCnd#D7Qd%msI;FwB5c00RWvLD-8* zL8|^aXo7ty;}Qsu)#+dyJ4hJ*zxZ|7!46C>_U~uJkOaW511>t62%sSVcn&IHD`aMR z&pZ$Ss)OKVUR1*BmvnNIttMG6!xLG60oC=n43}V z-$p7dj^GI)0w7I*VeR~50eDkCim>G%jBuy~fP@1+y+4(JOLY6tARst$<`__+u$#k% z6UQQRiEAIaKV+kkZ9b|2*knKe&K>OF;XO4#1VC zV0FwuI0mHxxH`b`l+gGJ4_*X-b3j)~rVfA*gv6n%9ga!n63ITK11MXgvYIJTVOIgi zadm*>A#sUfACds+Gz$51bRHmOYaFm0IOR%cD2w}1pdfe-DE~qvfNrz!Ug8@>G8@o~ z8AIcN1PGpk)sUV7#X58jl^Qg5_k>IAIyMRv2*x4UbyNosh~tD?$FWFU;?{>GfL#NH zg>Rui5Dp~5pNZ^#GMA|JAqil|0Q?e69l&k@xD0S5z_CbZoRkOifVo>h2Z8fWf&KoB z-|BUcf*EFb{{K=i!;HmaV&fLf3@eKvaj2d7!xEX_c#~KqGGwI9GWtJp9jn#efnNTq zI#%8ufnF9~p1#Yy#NpBbf&N||>%>E!cO0(wskf2a`Ke33ASwPt%9ht2pAupX-&;zB zAA5L~s4pXbVDFAfo1GSuztsCCdSBRGuASghVd*_eFjjNN>8aI&=PSIQ%*-4(mZ*_x zk(Ow2JF$C-&bHSzw`ykgH1*XeIIHN+7kzYNpYIr*f%Q|HBSkdCZ>r~N;sUNjRQJ>a`xUe2`MH!eMI_Q@b+PZ(xL2zNiw)aGc_+MyzMbT-+{`7y>XX9-qcAB6 z`2~a%dz!Q2qtAa^G*rMp>XOEC8B($))WoBV;)@BcF>xr@=iM0NXR zoh2M1 zsrOEGwl6YP|MWzqt?8|w*3`XCnHm#!E$fXoxuG>eL-vMw%t%kZRuh%E+f3%jm`pdf zIcK2jJWnIqB0iFTe?_qF<+?m)*X)~a%L9yZh!4T4j#wUkGr2ywBu8^bsDS)H=pk3R zQ^%i{b?TobNopM-hDne-d)sY)jP#ah6u%W1Vk5C^?9ubhS2g{U6sil{@)|xoX&Bf_ zEodKY>F^I@*Ztgpw>rhd@G|KgC2Io|%Vc_HRGjH`?;brWZ?Tmw!4B z#+JrO%f*T&$447w(Fr1c%3q0F48j-e{JeC7&uGz{4W(C(fBvy0@l0+?>4*5U1A58h z1aIhSa(Y#(prjidbni}Q z_p+XrH-(o{bE4xD_L_?*X{_HL<{R_%zLsfEvBJsLcaA2_VSJ3ohqnCea+H}#JrxpC zmS5177ueJMt$nH?eQH=xV(a{G5(Ql@EBY*HB7R3adR-%9B$tgCvliA$ndywxRQdT#?qZTMNIQ>gf0~t|o1tYIMeO$?%!EU2k-X zh~cxPE#Ji}-zHgXEDM;u@zG32mnpM)7xgNQHhLQ={Ccc&zoLlV`~gKpLAr>e%$Q?} zpqizi8jq6Hu^scz6iZJYbWKk$(kChvHf*)Zeibx#uxx$C{E;>R8NwR0r`L?3iomJg zg(BiN+QW$P{87|-i8+;>FP!#~%=Uk8Uva(e)d{IXYcA$nCJ=WC4s1U7MNvY}bASN1 zlW-g}<|qMfR|2=YArrpg)`Xqc?5$UYe$(9axn!67Qod3?@h1_ce!08c>+|;T&t6q@ z(|nGfdv0*3u*yEdhzycQ^nl*Xmz{^Y=5!yCnxJ$;Fhb(-OaJ=#^tq-9(e^h@EoEEZD?Z<2qt-)K zd48wy@yxGLw-ig7!e`}|hK!_}OxWVLK)J!sBF9tfjmU&Ui;|V+z4z`auXJ{<8oTM* zKZ3{4KH64XaF_3_wk`FjcJwiaMPu- zIZX^7IWq5s^3`dP!t1|^t=$kfa@v%peJ3mP&S$@}-u5WfSnMvJy+G1G4R@y5@U8#4 zZ|R1>L{;a{)DhYBU#-vUotkiB+PoGOpBh)A(3-`8b&S?WQZPdNMjNp5$0>NmqF(IaZ})~@!@dUvfSZ>dBh!DRjN*IE3x zE2FkISC$L9SmwsZM}4&pUcd-#Y=2%$ZV%XH(M=6?&wh9P$^6!eh=}B`mlBy|$x{9jN%G%RIe5SvS_ZvsOqE(X>w`GEmz+qyTcr5<}L9LND`J<0X3zZ!^6lo(T zOC9I*v)lmYXUY7F4`SRzL(Gva)T z80r)m`y%Pp1!YpF7ST+)`_^lY(=@K{y>o4v<*^gjA8snkuE-D++#9j`c%uI?<(9P5 z+akWUt-KoezEsO&qG0a~ou{6`wXgO}b6NQP+@t-2hG1X66XY%QR+5)a*dhUQRN`@X zbh~M3LPWU_nfB(RXq5d?;|X{9q(q&?BLr_(ibge8iitYNsU6#xskNlR-QLr4Zia*Z z8MFPuzCjWE&J9*M4RfCp_9_Rhi}MM3lWKA8>~-IV>Ncs@9K7KqzA%qH{O$`YS&#bLpYLA~vSy)Q!>e(LQXhz5h8=BV=s>aXa%GUp8nWX06wq6?lI z?@IU(>+SM1wT`pIpu2rDVbPGwoIXMfhD2_9oR8ds>p}A+W-4ae7|K?j z{Azt$u|zgvrDfr}_#|OU5f1y}1I;u_DGy64M=MD_* z9l==%k!~?d)_p%!_T{RvdhDZw;$AQaMoDUcafP6UXO|81s-hewEODRSStax4bjaL| z6|L9THtVPVyyPDEaJ$sTmcsZ3|C;A5am_!2X79ZI@%81tAcb!I2_nUHW|2?ZeZQ>O z-B(CEYc%F=)hl1}l(lbq>g6q-Y$ZpYco}lU-mmDBS-*SnCo_wuAN0bM%;#;L@^aRZ z>r2|h>T9;%x@%dLoBvqyT=m+i&#qdx){ow{`FMiO950zVtvOTc3nm!<^t(jg)KNQW zU#oP>T~GbBpT|sa4syI1<$YF2BJ&Wzx%BI`+5C4&OUH}U2fV+YHC>IA)lly%kfW`g z>}#Bnk+FHf^jDjW3=J6}w(Er3x4nD%a?ODpHD@7d)0>JV`yQ979&4b=!GdeEAiZOe zYv;Ph8}chM5`MnDrBfD{y|AOXKCH+nWZhw98QB=?Ye5@>ss^@=6TFg1$p2wKjgUNX z+rsp9riqzbl^m{bdEWZHtgGUaz0saGgc0Ii*RPqLaIhxwZEMtTKBy(4`uOW=!OVkY zr#E_A$$nn_rFV1Fg!9m><3&Wu7`;oh%T8O3`{pIW*$?WXOCeVls3M9<{0 zXh^}jae)B8a_&{h!oGH+b1(FMrc+*P&<<5hObqc!M0m>{M+vCc=~$B{wmMqpOy@U zO!pkPM6#M(Qyfba`Aia-8l6PME*O)o+^*JAzeaxyQCer&gRI^ZLU&InzhL042MVJs zRi@a5`8cl1)H9cKTD-q2=#_3=5W_X(^1|GVR*OaZl?GqKo4Z?7i(kRM+;qa0qi)I# zIima?$1^^-Um#!4`f0j0>y-S@W1bR??@W~T9TWzGySKS=mwj6CwcM=*j8{)Kq$oe0 zyjY*sJ8f}|Y(Kmj?GM|_zRsⅈEE@w{1<36slA|-2CX|gb7K7g#o^EZ^+3-R)#*E zyIJ^J>*v))eAhjHJoBG(NkHgQ-5>brqpwT}9|vR}nhO1%}i$ zp>$m62dq#E>ncLWx{AncJ=se;h2u(C0fItM+1m5pItMd(0jjaF4L zu&yEutg8qE>nef(Fj?oYO0XDMR}lu*RfGX?7S=f|nHgAD5eC*(gn@MxVPIWF7+6;k z2G&)Cfprx@LPyLCVqHZTSXU7S)>VXobroS?T}2oW?qdE5>ng&)x{3g|2=*0rWvr_R z1E?ohzrwVEbroS?T}2pJR}ltQum?05tY2Xrc^Ftn9-wt%eT5bEF|eXO23FL^Kue2Y zP#9QI9|P;!!@#=sFwim+jAwAa}HX;;+*N1|i1HhAlJC3U%T|o5|Y50f$w-3a@ z|8zvSW&UHmsbt8E5+N6YjR+a4HJ}w3t`s=cRNRvPVNw7kCv~_Kx{w>=kSNDt9pjS! z4;v9OO3C?ac9Nm&5gK^m>H<#+-ju_V5lYTsm1SgDX2=}C+;~#(rlyOGP;x?+V`yGL z*&|f&;p>8(=7UQ%z@ZUA+L;U!0;wm#&sUP!?KkSiac?eNgn+y$aKH`C354>4!GV>Yo%@FAJO8~DSk?|_bN~JKQVi(< zlLC1m|4RaPJ)j$Z9!LNrjaY>n5h~m`v?9Y92sGfpy#NSDBSwft1y*ZLOqqBR@Wv`q z=sew zDPSCd5(`%ccoJ~8zs6=F6k2OjSr`Ngls%Ix?wLc`Gkc*UGcwHmG$5la_DnaC40X@Id55b49D{_0r2k$5 z%s(I_H1-fm$NU3mHVyb+{4E2Hf50P_z#%D+sqkMCu=@vSApY<5F!VY=`864e$d^`aJhqG?H-8e(#Uj~h-g0^{0s!%?g34b^I#qzzLPr5OLZ}>A z7x0w8rLTY~0o}haw~@dN!nqwSj)~@yeqv}Uf+)IZKnY$3*ug+p2Y)88;Zv9e3EU3@ z@OzWM(xan*MtAV<&xTTB)hvcf44+kxT?-23C~;JDR$%Wx zEFwEpj9K`>y$V<&fIa+=+q1m}z|1~u1Bt?OSR7C~3tShfLK<5as&jmTyuF7PrZ7;( zCrsu){?%{bNW5Q>(6${6w)?SawXhrh-{3&QS#tlyr3)_z#lFwbIMC^-^UHm+&uPt=e$mjh_^>bGZzPjEnw&}_F z3#yvUiD~mS%Jh1oox{{!{~0)Tx@!G*C9M;NVd4@OkCNhZwoG34V0p02Y?t_07ya{% zT6M>y4OCty?azw0`Vi7@aBb7~fo6y7?8&|_iw!re5BAsEa${lCtF&)|13MchPCK&o z_|v8e>n1|f#VKCGcSS}l=Nq@lC&Z#vJRv7D(VgTpvpvhWr>5?Z!l#Ot{cmpTioQSY z>QmEAG+gLY81f}JA|^IE#z-n_dy z_QNKLwHjJY58cx*U;d=qHAwq(IqIrHn$66x6orWx#c=7XUtK{rp^t%_78jJE^UlYG@QJsI6@dijW=@q=DySPzQ0=N z>iUTC(~GaaQhss2us-zSl+5RQ`@%fL3SX3G+ZDek;_vg1nzG-;(Gse_V>T&opL%oI z=Z3<|Z>k2o=5Jco^HKYoP0#gKwcwM|ISp=B-};okzFVH2D50YA<9&{j%!2+)ZJBjS z?;jTx&D!ED__eNT^D(K`x;Z}+U97vGT%#pdxjpb-Ipx(@s)vTcS(P7A@#LA}^J>-4 zI=i11THmq2Q@AP3`ix7Cl-#%I4ws@1friB=(`P>I-R?On z&I_s6wtTC&HEq|59Ci1=WJTSosxsZlIs?k9dXw@#v{ARzzKguSp!aj6Zg`x7iK|qp zNdup7wAZ~6mbdfPytDX6Te~X!>+5Xk<*`P5TlKZWHg4*i)R+{IaO&H4{xtvnqEmwp zU#HJ2FFTc2V>}@9u4$U)ZeNAXLQ8*sN#qw1aSRXfj}?^g9LwkTFz-}L<3FR0E@*IY zwp(CeqW*xP{*PAhqMcJ(E@)f`jZQw)n&jNPxU9c7s%B+WA8A(V^sN<=x=-fLTz71d zgJ!kUM}1Qn-`$T*I|AnK__)D9%iMCYOwKHo(^6aNN9#1~Rxu9ta#*@|&A8JBNjm4d zzBi=Hd5dPKY)eigjsIySJ@dj^>niGW%WmO4`MTk{)h(%e--@q0Z93h2-23R2<$3LE zk}gFSPjfynVO5F0)8jQl)6P5RPqB{zuFR$gJ^w&$$-5*WAhDHnIKJ&t-szC$5f$ns zo=#~}K>c}3FetV}aM@S^hueAEqEd4Bl3Id8=IgYmBuCii_D1_>wZ1GGdFaJ*?{I$k zLrTKJcg{temnfOk;_5l~-F~I3w^|ZEGJ?&`54CMRxn$j;AjA4cg8?t3WR(am{x^Gc zjXh(~X=DY?pM+j(sXSzJM36gO;^I5$@|xoh9y0quR|tMz8QE?yk)Yo%MeAy5uL_-$nfTkI2jR!+3m+3$5;*Ynru4Fi3Y~>|3WQ z;Ui~9b{Y_pXOH#pp1v%x(9~*M;1w`#+9v{pv_ax4AhG+{$zDE%rgN}Nv-`eN!N5ztv&KnkPOCwZcPd{_e_c6xGUf7?1G`)LTFlRp&b+JL zGj{QT=cgxi2}opK`(P9GeZ|u0f}y)MR9{PqjozlWSo{4U%cZI5DOnSIbp?BiXc=u; zpp7Yxl+EEVH6oLuSK7rC*vaqcxJAh`+5bTCereP?k&N((%jFL5jn@rV7pl4~+Uhag zTqY*8dPH;5@*N#L?$w7rN2-?Jos;3RrI5g?XA0#Tb83$1 zmo4$zng=X$G%lwQC7YuLH5lxS89@&Ma?VbombUes^{1{t4CvH3Q^7W<&#}N&Z?G4|DmV^C(FuK#Ee+j zoHf1t;Mc0Q)thK##}B=Cy*yiawqs1> z{0G(sYnua1-7kC9ol!R_{bG4!>x|O76QgZX z?gg5?=%K5cOxwIuREQ)b{o>4V^C0r`GXfIIyL&E-oh(!wYWDazRcQJmT*`K&Jz?LJ;e-W^}FcM>OjAi?>$dK z#=AIfelpssXt7Aj?AbJlCMZC83F$T2DZFr_-ikdE7g)>fl+t<3f z=*7eA6@mvD7vAn$G1lW+uSm$tfF7EP;UZ^WK84XOy8elL00O1HcHKQ|iigWsneI0m z^B1kFxAy(I(|CW~_8!OQormUCZypHr0up4`)VI+W;3f~O4Ay$>r+i#iRJSa^(>-Wr zE!`j}E+Mmgt)9-ez_c+s6O8t@9aA(DZ=bu~XK-T4wM|89PL&(G3jx|!`cSBkGAj69|)5&E}m9;K4z1z#9DINwFWst zxXgv)Tg{0rStMi%CQWr^YR}s{`&RF?F_Zt9>8+;&B*-J3 z9fZD1My>z)MefVH&`RTmry=i;Umu~}HP+Yqp{rV!O_HSlN=Ej)fP)Ds!2^m6?p#V{!YUt;A624g#dy}IK*OUvz9*as(wYGM+zsql=0nIH> zdgeKSM>)%Gw_YE8&dyIy7etkGCc5+AqW50e6&mxS_!AD_r_2sT&GPP*@=C-stVub{l>4Fuz9e*4%h)A`39&Qr-THduS}R9$Ju8o5;B zeY=$~a}Pv_E8ENDKLo&9D%|`bVYL3`{n4xSAC;$u@u?h9P>=n3+k`mQPV~@OaZ?Q*n{U<<_8OU~DJxCfn6mzI_sfos>>#C=X6{kCot3ZRQ#T*?gcDOu zDrIZ|>YHj|pl7?>G^^pqiiH#8oK9Zv9C7cMjF(e}eUfhYDB*6y7t4=oir=oZcD{W~ zeU`jNz^e)K_gZYRJZjs{Y-o^qeZ(AqTOEb_%`uq##ApNEP}=au5${-iLnCpgN#EOS zplyMZW8>#kmDpp_C!?*Sh1?|p}joW*|R&Lfh&F-nSHv5-Zw9knr zU3IX2Fur8pHi4)bNtmGVF`*Z2Drd!~)j74hC@q~Om%Jzc*>)*n-Ra4<0O&{Puo=Ho z>~5vt+=s`upOl}v%*~=m+;)Gvprz5xubG4cr?YRpm24!Ku9i&&MG-6w^isv`{e8-^ z=ckya{?BA(t_{qd z3s;giwUdp3E6Kx^VwQiGRNHy)EyVq;=O_LI<{iRFuCQO&Ha%+k=tsZxxu-oXd z`kc5Q5BIvLDoyw06CL?r^AAbg84F7||x2tYUjk%I%bHlFec&_=V8-Wujp-Hr<>#g-lotCe? zVyLjM%He#&y8+RGF`kRqF>MfaU}u{A7p9FBnfQ&u9FC!&sQ)Xb4NgQMQsO!&Szdsu z8v;(kU||@WIFL<4a0taMVX!c$sbw9(AXXTgI0Iu7M^F>YbC|-wl`+b221Xgq3?Ly_ z#wf!X7-cvEqYP(Yl;I4FGMs@jOQFBQ1j8u985m_a1EUOQV3gsIA7ROZQsE#!$IyF_ zUB|w{WX8~Y3=F-;fVR@i$HCBh3=F-;z|eaP486y|(0fqg$@&$P95R27q4yYQ#W^Ad zhTdba(0e2T3%v&)m@>l$CK3)lFwuMPfq7;4z`QbiU}^(CFoy{~FlB}h%wZxCSm-_Y zfL)n|-h(69m09RLID%c7h2DcB*p*r6Jvf40nT6gX5m@Lw_<+gGLhr#5OlGuH!bug5 zU^27NdvFAk8Ev$OoWnxz!3Ruc7J3hkU^1gz|LDm~nTLldSyLJd-u*?+jRpFkA?)Lz z6bxcO1NLze2MS%Bd@%YxaW4hJK90~S4M~9%bkp$xFgS%e=*#@~Qeepj8f2XqEPg;5 zz)px9AUHUgH?$`K4aol2&^I*8Ue}?Fv?Uo#u1~(UMPev z6EHt-mMJA>x59U~xb|218Q7OeJ%|-rz`qthn4uK}Hg@ z;BjD5kYT3MIMgXn*l=-7SC9u%KyDQ2nmHr|njyspUXa<#*?vn~{=E}HhNiRRVU1MC zP=QY;<5x`J%uX(OU9s5-wZ%}%_sfYOBPmx7G|LqBd_9-ku0v7)1c(N!z|e>Qo|VqQ ze3RLriVQCKU5BKA7PJW6^pF(L#sio*a2Ha%5#i2m4oLxMYG{W2OA07yp>Tk0;z_|9 z+X*uhu)M?O1+=XvbEu=hlY%$4lMIMSgvxtpM4*ocol_||`@G&|$@SVDqr z5DDJ5p%DQc0NEMd@(3^-99tgYEM{m}iF+v^$_7j5udN6KRN&wE z(}KdjGv*Ot33O~gx;6|A2oX#v1O#y>Cyv912Gn?<3#7Raj4n1UhyZY;a3C(nF`Yaj zEJ5n^hjo8KN|rfc3~^Qw9`ThB0aQc)wGOEQkd9;yUBPhHbsq7R5D`cZJkgL8fOh1t zO~#v>yfK_mw1*uWC3`2v|{IO8c`p0pWE5 zPZm?~sfN)jK?@o%-nb&L4F!n6-A)|~>r#-t5F`?i=nb@>f*NXkC9s)GkbpNBR0@PK zbrJX@A_44yXdFOBYz6`(;0*?q0(&5&QywY-#FAj~!W{*+g$pD=5*&YT9EL^#iK()n zk4PMeguim)O#|+1BqjhDX>BBhhN=MGPEIZz+xrMA;Lfoek^sQJ&}amefDC{um=d^y zfHx7jvyDR%AV@0~Z4ZRZz&ii20Nk0yApsDMF&0Axbg=|z1BZ9<-#cI!1n&0XLlPkT zVsI^F8jt~7#3|W@GY!y0Blm9t8Fo3yz7v%Il03Q;4%2{L2Rx!FL3zbk053Aq5{`pS zX7k-3H_97}NCsB{fnK6IfR=E&RQ!2B`S<<`B;bujL>R>gEMN~AkVOOzJyh`|;EhE@ zVlP-1C^Ev0zyaHYCjoCvA`*{b4FU!WQeu^n;g>`kRVbGa{^ZfIQ9sw%;13zzy=YZ zXa&^)Y^F$@+!J=240D$k{t*eP276E2~6tt;VS?`!%iD9P5<2& zk?~t!(LesxZy8CvU!g3ma26ZT`!|+-ykAmayH0?T-GBcQ9%s0%=M7|A#|nxViL8p_ zKf`as{2VsQEc`Y&vHt`7c7w0_W!aKfpK>1`+hg*ub8X6@%g4*}r#zut8D|=CQToF4 zC6T=v<_Q5`!j|}3YFkf}y4tevyUZxj7l+sRuQ2H9didG1CU9PxabWelyqy70#Hnsu zH_i{rXxNgbG}zUY`{{&|ZjE5;(zlm&KV9Fd(;Pc5>&!yE!mCk7eLk)zcHdHb)lFyq z&-a5b`?gFvp+U{fKk;#PQb1Q*$g760;u@anGl=RHwjN~5=LKV`;}?pVU8S!%WUT15 zqPTf1@h4>Ml5SFARV8$6d7x2kuo@0OdYdu^!}b6#4P+)l9Rr#j{L>O3gOOy4SE zRa2fJ$iGrnd1~9yd+*6^&v!bXHasuf`e4uAH8gK(+6cps_o}5^z1uRx<~%+~;`e;8 z(I{hz4&O@gohg^K=9VNAZ7nI|kFT*B*V0)v>7MgHtB$nGIlI1Uo!czj=zN23WQ3Ej z_gHfmi@YPVNKSK7PF`wt&bJ`CW)=uJS9kX~Zs4ao6Rz*;6!jh}2q#6%a=dwRwo9C* z%a)lrr$2R_>=f|JSsE^EeNy03?2)NQ>m2V)bDFR1(l4KtlN|K>t#*t5BVJ3|nG?Oj zeDu2R&S%Xz(xy2J`xlMQ(KgxNy~W67F`xZt3BN2?QP!ng@*^(=r+8kM&UZ;WB~YcA zdEsnD)Ps>FN49<0BX6>_O!0);L8|iw7mJH8%z{RkS(fdEbNtU%>=Ykiazt;J&dXEg zZdN9vpL%CLc`&}2RAqN=U`pkf9BtEIcO#_dWX|wB5wnWsOx>8~f3p3uW6qkgmR_%6 z_qy{PIVTg&ajc>??V0Uj9Oc%1d^(?w*{|#PMNS2Ia?}n=x;P~itUuWvFeQ9R!qoRa zH|JdAOPi|LXu~hWdMeGxfph1b`wQRZ=*;|e0m6JO7Z@yONs6w&m2lJ16?>;movGg8 zV-;{){NViZmW|u|HszIf=$*6AigCVp?)yzK#dV`K=V}vw^w8IqPPBeDPM+#}Pw|O; zReHpvamVd0Z9b*3DknU6_2bBAv$ge(ED+$=TH|B8jk>CAMD5Ol6{|gC?j3t#tm*1z zaN1bpqcLHYGh<+^A^$PkO$AQfLJvS{l735V!ki=$JlF$xFwfDG-RG1(Ze3fwc*fZS z1sh*h)Qs<{^vHLcF8%)1!^!ho!`ouD22(eEQyf|C*)u(qpFWZ>JyczI-Pl`Z7I`Zo zF58BD8dGv-MREG8GXrzyoOe~JuD5Hvc6^0JmG8u>s#^3YuVZ{dnObQU!p1qSw6y@U@QEDPPRT2ah|)BCqL$Tx6Z_V8_PdhKIf(?+fE1 zy5q94pr>oKqN4Tp=77qI((`<>G4eVvW?Fvv2gRz}KPJx{ap%^&%QxHCTrE+sF)L~a zuH7*Gkf17`aFfP#y4d4nSuF`_Mn17%v&`9!kIx1eb$6%7sndncBL`Z3KKxQOzp1c( z-BqujIrX}>7cK0riirs|+CC>vnG`X@Gc|S<&B8xm&XeP}o0kw5e{o^Rp^$Z} zy6kgnPGGps61wbySU|qS*Q&2S`<&o^mVG9w!qYN>Vb&)(4a~JnJ=b9r;P&=i~f6JEL%oe3riAv`@f=BiXraJ>w5vzB1!@@!2sUry5>Ns52HCv&l^7+o~xCC#GhdmEMz( zSKu?V;d)=f=|je%0+0O0O=WyrMEYu`v&#DQj>YDCM$9~_c5_|I*0{vwHM@`b46I6D z?(%ZJZ1b*}MItGqLcvs~e^7iIysUK8IrTeFO*~U4*Hvd7p-mo$f7|BK{d4ox{;yX? ze04dhO_jZ2J=JQ#-9%MGBNM)uxbfS)9mZ;9Dv530IZk%-!;=T5ogB0obID`P$ISQX% zE+AL1%+ctGwSa)*(HDx#<6ig)blAv@ep=i0%u#KXL)op3dEzR$Nm9N4WKY}TcxHFk z{VxK3{!1rR#QE#{hbv9-R~xsKD@KaAue;wea>T`C=1F=Ycek~6l+vQOsp6^rjK0&lq%oX-{ z@KLcZ>BYngaakQ7TMMf^Q?6Vp{JdDb)vnH4;^=Z81$);zL4NwIVB4(Qrut4=pm5co zW^tzr9S*uT9ptH+N<~+UFD!nvGCL#gn4rMe#Zmm~PK}N28+}qcQ{t!7e|CRrnyfrq zm$F{r`38LzRUN*`BX)l6yXh7s1GB`@!c$syolQq?R_UVelr1AB_E>L;x~b3>aXPW9 z4ip@`RO8nBjjKQt5qJHhZ#&yX{%n}6l3@7QC;!UG>+4ReE*t%#rfuH>^X`Ki&EkZF zGEZD3?t3b|%32^l^{(>8gL2h#FX~;gF1&O1gHYrn8pX+O$_DiZ2ZOwgwEH)wjgcwz za}$cSIq#n%b$?b`Z~kC$!rH<98%8B6AJRhIly9cj>Jb;sp0tjikDu-Z8VK4JoJHTg z>I3oAnxad`q>dJLPx`8DSS>SYc2L>6!)Ze@%Lc=Y2v!@Xq<`^D{+$aeSN@c@%AQ)I zkXO0h=#iD^2$M>N*z(X;7&eoYCy4H^R-NI`o9dfj_uXUt&vVa@g`C|md-(>()wW}g zCD_&T^C2%*s-go-VF%eghIZR}gO2TJ{z3WXvt=;$n!UyTnq6rZJPxN;?1ZVqufF3P z{|B4%vX!-YH_G2X>c|a#`uV_a3#H+pcs&@er|!(6z`V5Y0`kFYQN(N9M1+jw)BW|H2V6p=p1EBZR#W;`pPGEarv=jvz4)^av7qKt8Zq zticBi+Qn+I21k&MDS8eD8e_FsgRihFvs$dd5$wvW7HcE|tHm08z^=?{u?9!5E3=S} za0J-`BKKk;9pM8eGYjbmM=+UL`wrOIU{_{#5QLwzIJ4jbCNm2JNg}WSj_?8d6${`9 zM=*I<07p22$%9rnBZ9F2j_?6{QWn6GL|_3N;RAMM7QhjXU{_`V9N`FdWfs5@j$lv9 z0yx4E>`7SwM-oyv#MBQ9;0Q;sE3*KOaD;i~;lMlA9QgaaJyrutLqd%ZC&0>7Xb^4$ zQexaF4^A$UM?|bN2scsyl{h2?Z274i2zhZ*^E@JAr9oC$7lOz`Qb1-Hx)N8_e9$jdAjz3O5B_n>#5#luh2Yz;rhO2R z*4E_!=)g%2@`#L;2Ks_PA>Uaho%M8lL4;!mlQ}T4F|?#oCFn@ zoUE7>RN$ec3@bB4Ac`bi{8t2Taw3+Dd!t1~Ku^P}Pf^@1r?4n{Xc}GQcpwD=dV+NT zn-^4o6VN%BP8@T=B|q!Xh#;xsVa4iHsI8$AI3x<#%NWq*od>!=Ku^O!3{-#@Cyj=BlRQubj0f-w{E`AJDUHBk zL1i!TKwVkxr65BSBHA!$3mGgabdJVf*8dHiW%&(2;(;yz$^!6>U%G&-Cs>d_ot#|q9bmd3L1`=%N+_@qK`PU9Inj-? z&kHU&4~C=wz*i{RIZ;=Cj1UY!S0z#bJGtD$*;K%QW8jXxsn1{@6(@IVTv*(VKK*P(AWf_cZ4 z0%tKpqZHgr0WBer@+|BXAtG>I4jFMam?nfckZ1$EMb90h5FyqJzCG0u9dm zy$o2f9t~=OXsqUP(8C27V(_OW8$c7ZfJ9h$AOXP284&eBmNFVF9-KN!u~#M_KwDl& zK!w#DoFqg5pefSEclvRx1D6~F*bq>WdPx?Vg9^1uR2u#e;B3v&=o|M#0ILO3E6daX zQme$FUJ~zpDL?sWiY7N`kg)(26*lLG22T$_Xw znm_}cJdgkokGd>01vGtySCK=F)W1Qo5D*<+JMusGD2GM?)@ow` zqX-KUQvyKlgQ3Npi8${9m;3=k62K@xr$wd&h{wdKBRRYG_*)&;-_HXw1P5VhVoCsr zKiC4}>HsJFfaVRje;dhA!Hu*$LFWPNaX2lEI98cU&H!u_5Jn4x-4T(11pUAPu8*q& z9IK3GO1Ren!e#-xTvPxcvVbHOt^hbDkxQiBNCwjF@`rKBKZ>z+j< zND!1oQ~*m9r-hL{LJq8x!@Oj)G?qo<`d^)sAYD4V{vWq27RCZ&Y5iCCBJhlvNn0H& zK%~K0$lC0r`lpq!!{cLECnKPY{o_tXNp=o5O=Na{>L0x+(md*LzjEB9WnWhvRP;2E zF)`m(RTA;_Rbl_~pPDyao}#*_CbM# z(Z+iB_Zv>DcAKNRUv~fKH}XG7UPZ0fo_lMj3X-gvBhwr#qf=?tAWsa5TZn`vvF&K4_ZWR$fXHWJtH2Ju>q`hl>e5UAv%Qj+)DhEA|#El|{6whtzm)?}xD>LfHyNO+b`uo2n;1qojQDWfV-wgJm544m*T*t{P zz&FU>(<3Gh%px$s`~~1cGs#vj}Wk45pTNAOR#)=s?npN&ua#b^ka3#T*_UNC4{x z)JUKL0Ot(-k3CCh<@zr}%ACOejf7y$R!nYOLpsb{a zUfd1Bv)W{6Dh%cWc0)^olmh_U z3;LINL>I|tr~+rKHW6A+BH!vl%tlw0h90K@#*VJ4i;#@LUqo^;gq#t+VdNa<5ukzw zAQ;Gvey^%)f$AuWK{7Eu;@#o# z5%bo=KMy|>jma@1bJ$IWU55-egtQK__Hh)Gllbh%hs(zN%#?(J;3rj?f0;*^kFE<3 z$53TGG(^H^sAM!y3tg2CfdtqUp(-LHN(MSLunlkqxMHZ9kgn&f>o9+Z{$*Vs9S&q* zSXW1{!#o?j5FmHQeu{oULoYsD4eXzXA3-k68aMP4VycFXHymT0jUEGG5&MFum^D=J zJxh7WC-i#?c-0iJC=_g{hQ47w0P`%?xx;1*_?a+4hEGsdts6{Guz)bC_%jWU{0$u` zS5rlz=1lvK=DAhL=p7Irh@uMaE}VhbZ+NX(pV9lH=TM+W00UHo{AFH|c^&2z$cVc< zbhZDIl+zOoKhC-)^XbvQ%zF(#hj|28jF1->(xNb*na>O*=)mR*M`;MF2uwGiHh|fP zu5BR; zDmqNB*k?p5!=H@#G{~5tc#Z{+~EkOer`!SMWgafG`DF zt`+hWG|1D^u<3^o456+Pl-Z*%@UQ2D^rb3;>1ZLY6#DGU-?Cgc7&Lh0QI)fIfjq|;xjV}APeZ|22*bE?ph;e}I0hB^(fR!qx<4hw6}Fl9v*G|Z`D z&WYhOZfH-)qg~(sZ|>0l>*pCh7DKymbnXoM1|wgBojXzpKD2MgD3Qe70RP1F>EYcS ze!|cei93UWO#1&dC#wHzP7tREH7(4)Lvv#IoEzG$(ZF{DmjEm-YITwHJ)|d)zhtOd zhQF|c!$uY%isbm04rK@MEi$_yDvCHs$k}v=iZOo&ix^bps1gx!X6AA1+K96clpw4- zGS6n-9r-o$ED9m9juWhH$k|YtrAh$^6Y_*~So`SUfI(6kRw+ov!XfkoI;=C`DIpju zxH$3|DBj^)WH@w@&J3z_@Jv7$RLMjrie-Id9-x79jA;tF5A!LQ&pZ5yfZ7mQf#IUa zIHCV#I%LDf7dguM4f81EsbJwkpOQH$==NTObsEp z6qrNIzrWkQ;mJK_rU=qa3?f-vhxsoErxGa)8um|^w%A8iB4pEuXi7<3$7;2ApqIa@ zj+M7ZpqGW0r|)tvafrAE1p0eA?zUQ*A301a zi?*5jr8JItv0eCkql~JM*he{K>yP)Zejm*F9y2wy>cYa{kQx)avpF}W`|uM*@0(0; zKTzjdE5w&DOYVa=AB|=|hDMXpShL3N+$p7ZzC^iv+PykqiS;r+QX;a*_a1gzPV#E$ zU6w7ho=@va9e*u@|AT?Rhid}f-h5It+Q6WqS(-4P(~6HvM~2IdG~s{E=Wlv6Ig-AS zvHi^HMN4k>wW^0p*+?&KZEf}HeX6ADBkeCDSU!Po){3*$sy|brP00G;B0?iXu5RpC z5I!8Af9ljRzGlBPcHOMVbg@SM;Czu2+ucnbeN-J;q9QDqRQ|y<%;oMj z3(3b9MGE^gYr+>4Y)oZr=hG3;C&;{Q?0ntSvXtLnkBL>=eJXp}sFH^_UQ3&k z^%d^zEAcShsk?1wcN{T<_q>0yg$2t zU8kB^?~FWws{&W*YHLF`)bguN=DRm)Re7&y(eV`ZcMi=NuT#YPHcyzim#-{E&1CD+ z*^kRqG*lGGAu=UZb&_veyL|72scQrWhYKsd6DNqeMkvK^%`1*JO%7{HDGd?XBp^|{ zctxC2$+yx9*E{|} zCDXB;q%u{$hEJ8c%ipXJyxzBLFl=$S@uGpjmI3MH!TNWDzGft!;NY;Fwt;7ZVb4~4 zTdJR1EVO0!JJxeGtDcP&*Idv5YQ zv(X>KFAl8THqa%a^EP;?X#CXM!hNMD`3ZS>=lkP6dNqV!(rLZj-2BggbHw6HZN=uZ z^!X-^2|KMMsw-Xcu&(am$hPLDB{I4tQT_jiuy+pbc*nN2;YJ(V*2cDN z+qP}nw(aEd`F&4ycU3ok%yhq|F+EjN)r035BYrx8EN=uhpTt4ny|+D(e^gV5y3lrF zZ~MHiEx;9f-XUK?9Y89h+aUx!)SrlZhyPOBwnI>RsK0SKU#LFCJb+XVw@(5^4+#c_ zA#{~LBegjey-DbS%8&R%z60kk*!3Z6(zw%stpowd>vNCI8TSOQIu1|Kdt|gX1P|gC z>U3Y=Iwu0(egIdsFW9b_zn`#O2S%TW2X3b+jmi0s(W3H^AjMN}bS8 z1wYQOBKKM+56*FfZ)FV3_wBiF`mp;#iYUV4Z?bnU zCgSqXO0ju6W}mEKIs2v?0{-OaBQEMZJ9x(k=G*_9=ZP?e0xG1T0SFi-Xk{VTabqbA z)t%v57HV4Y`mA7{`JI;2rEN36w|HjR5ZsDGC%ib~L9fDEdR{A(E}r)lw~4JUxS6c9 zk^hA+jkHAWx{1UyvkxbOmJ7}17ojMr-V)mT)%(FgIi4x(Cd^``K<4qmP;k*-AJ6k! z^`&~fo&7PjmA6I8f>1lKaW}V`$19%~VO`Up2D4v&U6cCbjky z*`sJEzhXb4^f|*lAJ{qfu8umFsaZKS-JnXL9-$?2t80de%sfcF3aEDgZwZM5mQaAB z8?i0|ZG_hhj&GIpn7vGDUk3@!dRt>3eReiwxhhD8`BhmQj#9XsTrvxR8|Xs%_(qws zB3vrwQF7q-ZC-^qbJ8;*bq43Bu2W8~r88qg(e8NU?70?!R}ueMrs8U>85-pd>V$X$ z*KVaVE@%@WFJUq)&gviWO$ zmkme4D+~U0!RL}okJG^Nr{QK=ScmneG^3!Q@Z>J_C1jR?UPV!j8>Vy9Q2jBg;KLx7 zjM;3qzz^NIH!910HEW$sRAy29g9w|yv=Dsf;BT=?mXDRH9J_h*Q$ECFuiD31Ew1py z{$+Pmm97n9hW(*a_+69|$>7&#%!?;wX8;z`yAi#k_WH!~jH2A{oF$ONtNGtmxwP@L zS=LKFar(GhvXu;ZiW_e0oIBn#C!7PX`lom_Ex4&8kIrX<^y=~vE77FAWid(^YR(#+$Wzuz#KC{P+INHN_6vB%^gs&mCjr9s6KgZd zwRqsN)s{S-*F|9*eJpvCnh&x1Wp%|OB?MX^6fDX+FXAKT1{dHt`d1|LoUQR@l#Q;# z{VDfCsJ8~6zBqgLGuTgd@0a#~t~1H9lDX+pLtdZ;Rh-^f3gqG$Um{4A&R_-spGoVj zUQT;~C*XN|*wFnl6MUuDCE-3};i zOD@j|+QdS~ud7!6``=;LEl0_08zoz$PoVfE1Co$Jz@lJKhnJsy5!_@lUIQ2D7RqyK zD#mIX%yl9SasF_=57jmM{FTzN8jr3;P(nJZ%$0H)>4tCGIx)AwvpKwh-Q;0s=!KmN zwU#sLm07)k&fy-}3}87YXjf{?9sZdU>R5HUVbf0a&Taxq)p+~2=q!pM91Z7|RWTl! zR?r`kb^DfYM4wOy+hqZszjBvVewXoo25S|qL<%?Y(%Oe$e*Fr#hjr!_h+C+Z%H?$> za7L8IyWNzxns<+{3+@WH>pr2NiaB?Z-h+WtsDs&!4_ z-2WYXS^uENE{$2l_io)%Q+HZkID31J%@&t@Y+^~@FYae}zKKvp=nu=%+R$omszm+R zsSjw9XGM9h^L#urPJ_|iyr%lSwPGQx)N=4pT+qQFMQ@nqmV-gA5rBZGq#daIQpk$%;LqfnCj}ctACaj4W7K^KjFEz?Sn;xkTWid%3Z3Wp$12jyz z)B7vc>ygOqDejTZ(pG~4S8C$4 zYWTGvH@@5)DyyD?!UksXXqSw{B#GXVH7pC}`c*~3{`*!PYQ zbc5pyOOnQKd2iu3z+m%(?z}&cY9&u>aPE5cMl(iYZMb+Js4i7KhS57P)ma&dvznJN z*O2OV?tKIDL7!Ff#yTH9jZ1|>z1k}+3q+hvhH*9W3q@AiOacOJurpT0Tq0334xECe zZHpiTyCR+iuL~qt8o9C}h^rg!Z4{TYDtZ)&(`^%AAx^>06X`imu_olaq<1N_%uj8X zN`kiEF75<~vKseO5hc?8>}mKOkBxiq+M4@8CxNPnCzJCj(|5xFM?kfKRypa#f^Gg< z+DZ3gUIZE!l{nEf$+~kxfppYgmkM+DwOUlYvT7^!0(f=P^t=5`a~_qJ7}D;C z?)KpR8AoOy8K4&%$h9We@Kat@sO;&=-VDI-IReT9YHrOu$xvr*@vqfOsOhcrW!)AM z_auR4dZNUUZ{(Dx(16Rk7+l~t;p9B@D5w>qeOQlgE}EkvKB+(c-b-MSh}u{QQ8T|p z10tf8!lnPc@rjgo@(kHT=^AYxbAv{9q+@Ulrmh0#RujtUEHcT?s|DfnbxRsE-^B3x zZ;zGz6Ek2>A__YvGJ)H;PuUxgE*fDLU#K?nr);yl^o&cdf{_b2pdAD>t&O@+j2u;L zETSl`%_O0jl|JobY{I!>Z`Vlw<*t$6x-oU-z{i(Jmx@pM=X45^mha2Xw&-7&eW(y7 z-T~xFx}!-+sY<_JfH+=$du{N->KifYF4X67+yPvgB1c2gRE7B<$fi9bs3akNq?4|2 zsgoHuuClY4hg&s@6Z)?J+z5qkoZM{+jhYON-3_H8?IuF{(AR7Qk6doeS>!r^3r5Eq zy94V>OkDicm$~U&Jx8+%>Y1_;&=4%I_LUmC<9kA=neIV!r>PRN`#Z_=-+MaU2ho6_h|A4&(|0F6muZWS{W1smKC_ z+2dydN;gM9;fm17JefZ3@UtR*LvUSH9=Cd8OmmR9-LM!)M(DyL2xr1b?!S)|=fX1r zI*D^95f!B3MvlkrPsPQ}X(aRwnbBgty@mWY<%LP9qd@#9MKW{uO+lGWOsrq+?OqNw ze_XbS+ymqjo?&Fd5m855ikubhFpyJuQ=oBFy&Q7<;#((9Jp7e+LEXi(Ha%j@;&V!k zqAYJODo8-3kS$kf7|gif`Fvr#x&MLSu?l~SDTS0YENoK=qwhBw849?^bMI-?=lK@I zx2HXGgZg)9^KPUt-ucy23*I`~r-YJD+NME!&O8USr}2E~yo_7sF!JTp6Sd8WcC-!i zO&^5(9K*mR4uyUr3-Up%W!b|$x#+wCtf%z1{%T*;lMmjQyZ~>Te%0dT-O0aqFhuna z2~zMWu=Q6zlYTO~1~uCj%GmW~QPes<7@KazWu^pB$0TaPb8X#ZFEwQFb zurY&My7256V#OgPX8?;*Hd5>s3_rrQG`uQlI^#c5^F;o_pfl_ol-FjK>mcN|xsq31 z;0AK$h27|CrRKjN-Q(s{xS(V(Y7Y1K{#2G>VtSEW~gb?JKUPnyYlCw?}AZHAtV*r=-n*2ozG8SYb^h19ZB8c4eIqt36`I_ukvh$XUP*Q1oq zEaxmLKBO_a8M3Ki%6o^-@)!05wZ;Gf`?AZzNm~uUlCBkMC-eG(ie4ubW#t*d2dS6= z?=Ar3&eb-?8G%}wt}05)>4tWt0>mc_L~aR`J1Rl0ksl-OQA-;W4ff+(9?=MJG9LQ) z1{RWQ*4+(4ROcN_hwF6y`hJMc>5A^V5`+~VxCz&1VAcpq`2aJWD-_!C-!hiFIjLbS z3DE4FAhY?LQi-l@kKI4+w>vn*h+CUD#kfV-o%5luCzMw3k$23D!X-(71FF(M!s>fk%dj-nQS{F63BAWfKf`RkdHqI<%DOuO^a zn41>3Fl(O*+t_%?N}K+vOm8s?VKN^G8ds{>mAAJWw5i*zVGOW;3t(3tLcVY?arl`x>Olt7cDq(ciBk+ z8ZJiJUsAtgatOq$k5>oDLB+6#L`v_bcy#wnz z5XFb-m5#3>?nIJQ)yE}9EZyhP6KmhR$aCjCiWKp0T+z4%OOOY&82F>m?3 z<)`QX%2v8#Sc%9OXJi2Y-lfopm4rnvQ?SVQ&;fIymIhQ4<`q?y2hAHN`2Vf z*)tvYszQMff={J-xr_WKe@L}Vfns}#a6xkZ<6zU)m(|}8{Mm{aFfVz2fqAlfUZ-zR zc?s=P^@A;@(6(yYGNuG|IIVn|H4)YaDud#i)~2^U3Y$A`^mkVsKu2-xCNQ=L4r$|pQt1%WJ>PR^gIW*_2YX8{)`Q=&z-)U;P zR#U@td?|+B^jDwWxbY4NTJDK6I}=*A1Bg1u3n1;(5bCe(|KPt?KpoHyu430s@c);FZyl zzWW@|t6l!}x0tUd5@FG8HE6w!#Vs=;afBw_A&WLGn{x6f=4>ZtT2b7v9BfHpRT$Go zqokZ|HQ(!+k;w8I9(w=k7tA&&REcDBU^Bn3hlJ;4yE@)Ma=A6lp*&TSDs~21ckvxm zcGd||w}AN05uE!Y59Y<^QKjYq@uwFHd4ac)H-753;Df`=#?urSI2RqQTxdXolVELb z({m(*ZOLb_2TsL>WeUG4BZxN@t_lZT;^1iy<|?v0u&Gkn%w0IAkU9FUUD$6Q4*nq+)zM_xypu&(XX?#MlfweqwQC%0te59$OoNCoK0q^Uy{JK_U1tp5b4o>YPdI=d7NwRV1o$towo-)9VBh=M}dbqE8?wgRu15# zHX531#98F7U1da=>G7|Z$3AZVak`ln+Q1_lXzj+5)fL$|+>E6%z zC_IDg>dpB>b z3Ynx^=Wvck$(3JSts~f}iuRcz9Vd`wj`KR=b_|S#0RF6A=R*pjRogW$J>qSNj2)ur zkG^RRPF(WT(5Srbfgw}~!4V(2`4ow>3`+H2?!$#+(>}(x)2^mCSi;3?R9K62y-3XZ z@W?X6(Y!^ov1}`5iX==*-IXcE^IhoMg&Y#uVd@emtf)nM?+O}!q{1hZDiO;TcPo8E zxYCe-*&0?Vh55);opEnowZS7koliOm`L_^+5q$H4oS?wlg4O9Gc>8kSOg^Z%H?8|x zXZ~Tpl%(S2`-xWnJ`oA|kgk^g^iUG@Pv7>0echE5S=GZ|v55=WDg6!$E zX;ofiehM{!KvZaBPLT9q@T6?0Emn}hv3sWEl)(c9_Q3QA+=fh%t>72~;5(VvV@n}! z0VjFV-H19JN|KV{w4}{EvCYn6*E(r*8h>!WKNbdErmDApND|Jcw8E`T+%PYI;1S^> zEA{WKXHzjsS5ItXl5kFw3eHPVTEGDgmZvATD>=JBrS5&skSNKzIn{!WkvqR;f#((>& zR^01Q*HuS1eT1f+pj&Ce8+5BAe@1?X8#;88%)K=d?8KG+5)W862WvSi(Pl2h>o z#Jk&kxuG_Zg6+l0)_vuNw1k)cR8KjfA-@h2)*!fZ0Q0#jlxV8eq078&j~a~|gp4p) zvOVbxHoAtYA*!?m)Lp0zxGPpWWQD?#RVIZZ1JjYw52JzLAN}c+IH}o|6BE zj+2w;=aEILAaPbJ+aO}X#e^PQN?G!TXv5NhjjgznXB(8>M_KR|t@t#ADs{#-o#WN( zWH5>3nM1xw_b_*DFTG|$>#@dg zXgl#L8CT?_dM9=kb!+jz#0sqHm*luNQG}Vj<$lWgPmd8?q6W|>6!3$7Z5*I~jnGXB(5pYVe&@k!}OY{a6 zd$he?%{eL+C+@vBv6s6}6kR|Tn(DggTsIjCZ*8J(FpRcC`I+(LQEV)EPF_X{Ycb{h zE~sB8%X-n9juW1La956iR&CMEnjvrnQsKPA@$7fF^1GqA!tL6qOegxBG^~AUWXqtf zlBF|iTQ+YkXj{87VAI#p;jU!xvX=9qZpgTVTc#=ULp_D*^&ZisT(4y8tCjo?jJsPe zjXJsW3PMO(OKevKFWBYOL3;}{(X0g%-Q(In6~70oq_mqQ@C%?yk=#zK~gPK_if%#oXFwBnQ?PVkF~M(fcX?=5HA7@xk`_U7xOyI`S|@N_?Vb) zsx3ik2?_cQQ5xci|9u4ZqZeh#i;?mC0q~F;uk&V{Sj# zR8ZeNDu(RwpO7TZC7dA_gT*MtMHfZqJgYKB$ETs*(WSvZVWt}X)*^_J_$G^0!v!qG z)fR6uP~^N(F43VRSnLue8wejhx?Ua z3z&CU@MM_;fW_mTk8u-Rs7|x3rIKx6?8nhML!skeS!+qBs!qPOHdcfY9`?{JJ!T?z z_TP^})nkp_2?@?u>wWBSMTMON@yBMGCEN@Za$q*Bz+`8I|C;nQPHJPt-?gov`Z}W` z&Ek|x8DJ=E&pIUr$dfKuo(K0!{0e4{Zf2`Gp~8%J<2sa%<`6mE+W9l1pQlR|_S~DL zQ+D*#GVuxmKeim3sKZ8C-bSd>B`?hT2yg!8k?Epn67qPv!C*4QE=qz*7h!mm!yLPs znySVA#(ImIM~rtjGN4LMPq&5tT4b?lu@fIC4uEdtWT#Ptal7#RT}c9c0OxcGrSbhS z?yS|?z5Gp-Dj;gigYfY{HEz>W9ZA8o78zSp42>O$7Z1fUyDJN$H4yY!2ApJ!4kG+d zzBJ(Zp^aTy82P4(mP5p4b>p_TaJg<*HA`J%>TogddE)$c49NyO7M1aXIByk;eqDs2 zFZ31)I{L!kB(lk63SX77h>_Bh7eO*{Z8bkc41~Mu(WpyZB}4yO+uGK%3lS_D?$+QK zEld(Y!mPpq8upro>TIu!>4c{IXN6XjaYL6bnHAd`abRY7+4cZ47r%tR2B_uEXkBYo z8+|et$aH(qfd@8SHNgDMkXtwMv8vF#pRbF?N_`X^9#!z31bUkheN(jvzxk4j`w%Q| zcgf6ATW48)=oP(~T(G4|Ynf(Vr9xy>L%CUR%}-SdgG&Vx4bIB&NWN3l_kB(-*3-i+ z=k#kWXI~%X+GFsbc4_BO#=SmmK0#@&K22xTTxg*yws?N?FfeUaK}S&-Xm;H()J8rt z`nT{PC=fh|vYCT^Isr#$!SecV{;k{=gJ%>83SQ&!z3ok#BByOqXjWKV_H(mjv&GVRz6!I=`5 zS5xRE1=Y}KN~Q_${lE%+e*fSrKH*B}%6^&9Q9var ztk!3J2w7mZd>VQIa51_e6SO|f8FD(0A`N=+6a3Rlu*Oned)_QL;TO- z`3f$nKH1R~GC8P8xr|07MYg>YG|h!c8?g=rO~MOt!{qmNhShi4b85M8eDj4vByz{? zh6`Hc>y_NE>?;~mqvPh%NE_yckeT(T?IL7qs2W}mFmKkGF^n1Cu=NM%NMae-rU*36 zvP&weN-w|T@NV>-(3TRmZ@VMGQ1ah^dO9Rys^yA)Ri2J{C64qvhB=hc#b7YzVuJC` zM~FbaIKq>ot*u_~o^9y~y3{7~^~H#LK1=t;O$DC!y-YnCSyvo9g#Jz%>K^&oAjqMY8` z{{c8I*Vt}CP?wdee>GKN^S$kB`@N|o;A~QF-KE$0#`)Wi$T06wTt z18h^He)7sT%oB;yKVb60*PYi}y{x&h$VGP!ry4W9batLRG{`M#WK|d$3L=s=GF1W5 zJT=H-pTJ)fjjdd4;Q7L!Gj6pjF`3<1`_OEK4ocV)lIq1aP?zS@q(Z5;lcEa1V%F~} zGSyvPS*WB({HhU=g5NWshJJV2E%6KGr9CE7QJ|sAjQ-!G%qrg zUwjiXKpKX0r;~t-u~0a_$hKAp00;9ppba!4n&B*WYAveSDq59%oP}?Ff5i=Bm^n*d zxLAA$Yf>|CBg9G8mt)ywGmGr4(>eB60v(DmQkwx6WfT_aYWaMVG}Me!C}BG1&z~_Q zvwE_Bl-$vU9y@)WFZK^KJUmjIEpTBK0{8l~ALbDCn$np|f;HYk1LHa0^lvdpZ%YY| zhLOu_D@PvTjEi0N%(U_k^`q;I7JxL|L$r=5d_a-mQ==}LTiF?R7Ay{|RfOr#9--=OOz7W|c*;W@7o(`7foieK4%<<=5d4m!j7M(dYUSorri=67-B zj{S0D@DondG#lMPBBfGQgm@i~b5t|1y3f5VZ=i^U#^hox*ZOxh<4RqrU<}9Goz%l> zC6ziHu8%aKe*#IkOdXnE*IQ?dvD?t5;tb=P%NjlikRmc)2{@6U=*ZabJC}l@ zBw1=ia(?ys;q{}TC84lI#3-$mQFEq~xMmbem?p6AZORhAh5LIcj=DSOgxKMisg=h+ zaF7^bY=Yx1ijq4(A{ck)vti$L^Y{c@^%$wV58KK5?<}ne`4_b6#7EamMn&g+=B*4# z1!y|_^2)jvYEW@sx8*#UlAz-sV6Hg9^SOE4bTHAVzg1**YIZDg{D-a|FS+WlG0_Rn z0vzn*s$A4$3`Xra`Ldev$JuD8%435xm1M77qyK<4lO_c3@ZHK-TuugA>&;R!rEpSd z>Aj`cpnW4}Y_)2&%Y&RcQI2yTN4q0x$v|Zz^v<=;P3JkB0SZ-|z3&>! z>e7&kW)7S~L5A*ixY*=ZFL!V3B6D(Jn3p=imwL;V%(=3G zyEw5n#OV#Qo3M5u5=A3oEb_F8XU;)zd=p}3fB%rjgS4wnaeL{s&~p~MK`PMCPu7-y z{qZ^JjRO|TQmkd?#`48}F7I`&?#=@(cSK%9(T6e&fT^h9wjkb^xeXm|-=+m0$>4-T z)S5)WH!iAAe1x|0^`EG2Q3mln{!;Bx$#Rik9vw$=pbhIy3th`h%ZVGdKvx@NweZ;h zzVyKXytM~KJqYo*C`5kAdR1E$W9O``nb?8IO()7SvUfi!5h!M6TzK*t7cVG+@a?gn zNVa-KSaMKA!G4mHJ#tgsrXdqw#>W@iFe~=&L@0#9g=vGfr`m2dGmh$OW(c{p`O*-` z0_^Z*){YED&L6gsDJKUM(rA5Y;(GvJhK0IdPl02*;MPx_D#{ys_ji;ev z{i~+s#Dp)%mlU8`^Ca56b9jZVvw0obteY8j65Q5}$1Mfn4YKp$bzZT7yU%>TePMSP zeqO|T)pDS257~gp=r8F^!(N-u%a!W&`eOgC-4#g5=dj0BP`#roxfyK}bEJ;K<;emt zu#c$?a+ed33p$n5gEZ`KDrYYcv+tH_xT)bs99|89I4u%ultl$?ZHDqouc_u;_Jwa- z+^8eoc-vjfo25)hS~%8)axzuGb}wqTjS+3omkuH6{YvRrm#x|LnE-qE?7Qf_(8j>R?fO22_bCJfL;Zn76>U5hv>SFF|8CgH zrs@t#boXnmoKbee{C;ZDB9Ui^Vw%hnV#+&BY3`B@G-`j-U4F9CIn8l+vaglUuI-jb zuoAgaG8ZtZGKMpjt3*#|47u}+{TpW(R$jYSLnu60B`0*#vm~bj7`p}ELw;oyj+7&MRnTg$(mKXqM z)r3%UykAoSx-KZW;LPQG`Vxn5Uw^VZ|L>QY2K0h){o6lWn{%s0g_;Jo>1bSeRveU3 z&JlWQ)DJq#HWIM{*W5&kX2_=A7^Fdilj zge?D4KuE~uAE5@_4-`Yk^uxdXFQ3^D2=|}j&%waR+VKbB|0yY~XDeZ3W@7r2<@jMq z{_EwxeRMy+xQ78qI_g=P83HnCjUp895SC z0t5lV08xMhKoam9APbNK$O9Ase*k&_eS19v3nNEMBV)(^BW?d*rvL+hA;1V=3@`zh z0!&?PO^vJpW&mq|4Zs#)t7mUy{l9AbuhjpPw>A3lWLY}`ezs;dh5&nj1HcjB1aPJL zpE3WyE=E5Rtsl$kkL~IQb0Pe{Si}Ffc%K|0hnv$?@Mw{GaUq9jEze@JIId z-}2MT{|`*50OE2DRlSD*$d1Iz{X3W-q7)&&ZINW%8` z_Z08*!N&D>`Br(UzHwvK)n+F<3z~Tv?Ou}X5g`^u4L2+#O*^50qPkGDKWfj^)Zp0E zRH%$_zR~#=&|5Wbsu<+KnejOo#z%5s0S(j%LaZe4CQ;Cstgeq=FsP3|Y)>!ENH4|6 z6vB?73Fb?6ZhSeR0L+P*1+=^|I3gGoa+${}J0)!{%ojepK13FVz>+~KiG(S4F33~zqA^?Wagh5z? zGcX8h32hH9PzTC#m^(7fOkTJ^PutnvURc896LZiPJNLsM)g;FA3NbTtGkS0B2i^%N zD6(5X{22K3K(G`)SdG8GG*HiQKLXUtHpjQ)PWR$BnKJ0w*JRYEoQP{pBC5a+zoR|50I#d`;!miF_Du+dS;!C7C;E!$XRGk~6Z-Ql_<=-k?u`@>{zd?{ zn|BK-*kbx6h(!PQztGcvq5GfE$$ufY|3Y8<5eMzzi2m;IA>HqEn<5O+|YwLT-3-{3?6mtWvSm5tw+0gkgjT+$rto>e$>b*`;hxe#u=2r$LdjaPZ z0>1V47<6pQhkEn&2)S8phVN%}^!`Nz8F~O~|0!4Y-3m>|qe-;s@_kS`Cp+#I=La$^LVbit~Lk{a|P;)b>sN1bx z=Ig*^Va*3=F{xtfYv6>zL`mN7b7)d^Pcy!7Gb&#uImbOq_Ze&waE*K*G%xZ9z!H zipkcmdevp-6;4#Z0gR-~2r&PCOV|fom&4HZ9&~#^nG|o9(iqBLF%%TE;R82|q1JBFVr~PLy1&#Aa3kj)2Sb z$Propc^#r(X3a3-Nu=|}W7zeRYR^Cb?XTPT-NK}=+L9$wv{451 z8=PQx(I}*j)mw_qTwn7GOm~HoWg|PKYP3r+3wE?N&sm+fKYV!V0iks1P}iHCf}W3_ zy`mP&Bp$PM8%QkZ*=7_aGoV3u3LYW3dkYiamM^;{-}wQYO)I8_OpYZ=|L}f3pGQ(l z!OoNu-#{_)RJYF;qvqIRP-gqYIGm{y>$~gxPVjg=kPOHOUDhy)I17VDN=#Uw8XktB z-#qXG%vR*bV{XD!ymY`W))(}h{uLSP=cmFE?bm`n4W(8Vg1qG`%(D(uFbZYES$Wi4 zKR{$>DzxBtU+nl;6Z5jnk=-~=-(Xr>P}WPN&09`o<5FH-CmFrGu-fet3QkAIMKZ&Qvw_*>i5yN(}I0*w%9DRdwix zx;!|!PdBI_D7vBTSRcEE<$<0b3q55Pt__3_F!+bb?24vp%zU0}lHx&7Ysh`Sl8e;^ z)_SH&J`6>_u!Ep+AiOV~lX!SLdOi`z(>r;6bk@~iZ1yXk)fm^B@1LL$3;#2?=DA@g`!}%?5_jhhB<2MX!?@n`dm$2eDs;yH@)guQfW! zMeWQ4rJ2*Vaa80~lBxi(vu!gVkr%ir(6KsI)X3B*4?*MrE~p@^?U;~VJRJ45U+hiY z9>?@Uh1zd9Bt|`o@oP$%jOFbWDQ6pM{%&#Ga|xIwhjvPiY}IamrhSwDNZMfvp+HUK z9q!Y^tp~fiv~X>1M)%Op4Y4RzkqGP74lhnWx(1lWYCz$FmY?(0J_?K!|sK&>(xXbqB z%UyX{ZRgn}T=N3lh`C_ydX@uC1*9m?oZlP-$p~h=s$66j<9W_bF>Man8M!r{TjJGI zu(|;`6%8tS_bTL~Hbg#9H1!aq{5N$_PNS#=NNvqBD3&fb)Q=lh&GvVHD!Fm~&OC<= zHwqrJ)$`R5zr8@~Qc=QZ#|0*92?v%IW_k$0{{QBv2Tm3!vH zu58YV(ty}ocq#s;kDPwNm=zaDCy?DJpD)>ThwWDzz6+-&HzI;)A68kGA;yP^8B^f- zOIVe$O#Yy{K_`!9U(=tuptFi$GRUE%)!AjgH_}MjJkqItk7X)4DJw*H|8R(G2r|%f zNW7}6Dr$q8bvkAam|?J0p)24ew22n~k<4;nJJ*x5eHjxd5KS&GpDMIRj^J04)w7`@ zIu<@k7@|AX89sWMba(XbnId#-MZbaQot@Yx9-E65O^V~B`hGZxMFy-EevL`yQm*sV zE+<5=n*wZd(_iwi>jzR*?u9OK-)=i9sKc*2Mh07Wq%OloG;$%m7~V*mNT1CH*~}Jo5rZY0i_tLA=(EM z9D`a@xQ9tzq+cM76@-pOJ%$G%JhHNR0uMdXFO|z#P!wKUj3PcL+TiHAVtyFis-6w70_KY7uyI0 zVX#bt`VlPTp9`jj?qa?!#SF&jpOZ$Un+m`=YKS#w6Q1Y&C9aT>__lafH0Ay0;Fdw; zD+SIK;SXp-53KUuR(UMV(^YrE{bcuP`hl@FE5eeE2ATsrrnEN)vyQ)kPbHcDXv?G= zt0LouVU$&CNcP+L1jnhD-Rax9Vv=oB3|3*GrNpOyKHX=IuzC?F3sh{sy6We8R~2J{ zssqaZkU~SNZp~?j5j(*kTlWGhiv7UiG$r)RPHvNx*ZF9I@6T9~$tMSS+H?&?I||`{ z17N1ICG}W{qWKiX#^BY`KIY4AX~r(4YdiY>OybDm zgBY8~ zEA?N`Ewfebo$#hv&+2&YEI}>I6d0q|9^2*5pW%KC`a>`0_THHXx8K$bHctqR(oti5 zt4ITH$s<+GIb^&r>R)H3ST~GWRWRWj;H;UTbF9y!l9j{Kq^dWeFeZSM%p%IB?B^Ht zFota?H_(L=Tn(vq<%(s3soN(0CsXS~Bt!LVmj~gA zL4rA>*vm=pt6s)CBwj2pz3sRr%ay|Fq;1rjOWvK-;@W=}Q_cr##ZD`1kgQa;JcDAPJNgsyheD0Z^Tl?cd=tS*)^90)bi@h9gnzUJmg z6cNk|J%Im*_!g*|@maHc1X~pp(Q}Mj>H4Qz=3gZ z@D5eTSrT6DJx4m$K|BNPt?otB&U&zl3j;7NqI&t1kOw}fU}RWhiLk?IAd683ex!FX z{H^vqgv67u^v8*_<%{|Y3fbkzefh}a*EizXyEU~G(p~}7QwA>;%qgJUsr;s6A;5)` zgmQ7kC>OrOT)Vmu2VAO(yhM4eKRNI|TS{k3aqYCX@w~N{hpHU~@D)>K_VQ{cdm4M^ zvqzDSPNakZ-q7^Vac-blwPZqHb491A^HtINRph>$N*v5G(F!;7uX&)dF@a8P(4{@zP#!kIgP}mar?Frm}LY5x{JP@ zF{Y0{T}Bq%JqL2O6^c#atgiY+OIBGL|HSjdMs_ea=_wB=@3_rl>Ly6S)5UhtB0lN#xJ28+g9<{rd=n|c*ssN zrc)Uf_E#!dv$412V6*&t&jq|W2F}csm5ld0)Ktf4ymwQ6&!>ow75iJ&O-3@FSK2>y zNm06k9ZryGyx|P38)h+&BkXtsi?Ah8X7N@j-@iApcaW?*^}%Rcr6GAHXPBe`H|fsF zWUI14;VNTh_*4ZAx9>_Jc`mCkLH_OIK z9AOcK9~*+G4f~e)#)j{dUpb$9;s*(m?}32e_Gta4-Ls>s=T(;4Wjqy{==)qm^I-4u z_HEOf_TmwxzLu{!C_WXD<;h{6FDG~~rZnEL`B@#QOa2O|u>AG~acJQ>aB(m&4B6W zV}&SRlqt8!n7O8%n9X@R0;JOQ`as_-B|jH&BPfk&8)}AFL0=V31*J6~5<8PmUq1}K zCvAjI93UZMnAVyMoK!S`5y!h%V~0x!g;!9+52P0j6xgEeD_ZyL*)n;dL=1!LV(5(0 z+7oyH3JCqIkY&RJnZWvCH35 zk6<&yzX#Ip3?_z4}Fa>UZI#ZpdU1qwqf8r3IO(b@L6%>9!-7 zdBaW_ENvx^>WEURAxm1L4O`Wqk6y#yn|Z4eK~P%o@=*~pM)0-q*Fp)3@_qspv0w$f znA3f_1##AE`!9aNYD2wgV!PCA=K0$+78(s9k(=NS3RuRl?eok$0bE@E81hvW3=dPS zk3TXwno!AUPZ;4qg(@brB_8trS9jq|FZ1kWjg%;YDA0+P1eyqERTaIw)!JTHs+7_T z4?(1pXXi&EG6{Xc1LV0FQ-+ig-t4$gSldr18CM2=exY%Fm+R!L;e@Ei{3C;OO$JB} zJ!7Uo8f#0m!1ka-^X&sg-PwvG?Ofl;bLi{**l#KyBlEABM&adLmN>G z6<4~GXlZ<*!Byt(k@^|bGO3i~rtcRm)j-9KavLV)2P`wP6KbXg7hzg{%b^<^Q3iAMY>)&Q$i=)f3J}@gGL(zRhbnTlXU5q-y^r z=sz;q!MmQfz%6(8xoFnj^;e*LIFxjJk>lm;uT0OX=o)k8Uc*f9^3agYAx!;$#gB%A3^)ejZCwN<@((sV?GQ#zV#9Xr(j|MQ$ zYg;Nb`0MKMCSK!&Yhkf{ep$5ARqq7z?L`0>(TA^pWs*pg);7!g7o{NQ1kNpI)mSN( z+1h&-0TNDpdmI~E04OtD_e=GGj>q=M8U-vxLCxE)?Q*q8ZmG-B%Z~;nyOrgvu*T0l z#svAo6is+G45NTP|12v*IlOX*)kvUl>4JAHrg8B3eb5Sv4p%D%(v32Qq+ZDu1A7rl- z*iKQX10_l0DH^r{a?!SfVU-o@QN)`K1g~?6x_Z!(lAHo?N2_Jj^VS7pHQ(VUH>=rb zBH)kjEqk^;Woj4L)V9eAI?%6osYN9+9WQ92j z9M8B#q^)|0Tx!%p`T(W$T1B8W$~oTfoh3>01+@lN0J@Byk&{Zh9e;GYEFQKuT37Kip$wLN=9Mr#}PC|m9yAE|d` zJg-|dL?cW#dI_$rQH`L}8XqXP31u-h^Cn$AZkZ_ePWwE_TDD#(k(BUK)X|VBt~-BE zV$R$KJNMv|DFy0EG5NcFv(%O4t*-OoKrpYsMbP7hQLqxyQnH?_|-$Kr~QiJ8Pr z2}TL zd*F4N^!E-9_fvdaNdiw}WUg4{xicmc-kZgV8=Fu4T@($PLGs^~v|5S@Lhm_!LRoAO zaS+O9Ygp@H-x`}&d%6mBZt_H5)^4@=CM3RYJ5=4tZfteL?3g^_%5kA*QYGa?DZP9b zp0RMraFk_?`w;DhmKw{G4hxOJpk(e4lBsNB=z!M}JoY}K54eNh1xpTJ@HK#KZ$*y) zVc6@=VVjLoBDy*N4u$?hlcuNpUdnmDiH^8q`2ld3rux*lrj>=oSS4ZzcmA{~5lvUX z*}BizQ7M=9sj}f1s%R?shgpG14xcvNN6BdCDA|y}n>(8zE{-1~n=@y$8vf{%FhV^q zd;U}8ze+sFzq;UtBN$Xsi>ri`O#2eKO5r6Q(OfRQ80fq*UX3jZ%_FDQ%cV(Gjqq5oUT@;XoRi{WZa;-;n68Mat=k+gEOG={ z(Po(5I&axG%!N%6q3%8e$lotJw=>tjCfs^lINd%G{Nj*nN{tbt)>r;1ROhs5d-RY4 z%n?~h2Bpw^ESb0~lw+A=(vzzLd>)!ZrW~iE_6n`R>)p4ieVozkrgY+>wCYbm7W-MF zFg_W|N}ACeSQHBCiXUTpBYEuPrO0^ue6iR&tz#}IH~b(SjAIC78TVd;Zquc>S0zme zhT%7!bXi=yMRse78oA2k|0*8W-)M~dN`|H}Qs{FIORoaHFqgZGRm8jRhyt+1OEz=u zChSJx%JOfE+#j%A_jrbTC6h%_68ibmxOT*G=r*b-P4ePXUz3r)HCv1|@;&T%a3L~l zXfgaraYO)s?ZSyq+LwrR*m5vO~kA|0WbbT_h;Z+X@#nieI=d_jj8<>kW_BPhE^1J2Ik=_ACT~zcWb87P z-9jr(mUPnqY~)f94@`7eHnE9wtxE=mes$b344p@{V{yDVswp*i%~wyRBI&`zbgoc( zX_I&O5$wB-pD;oItuzlip$rRM-|PejPgQ(=?P+u=qLvVzkiJ){)t600-U-inc8+R96s0RPPDmA z7ILRzRJ@=tp~9^HN(H|-f7LM}ti&=1SKQ`9Sqbr#V_hiMw1{VdRCv$ldf8WHu^gIY zo%n`qBTRDfVKC@h$rj9~`mrKn=%3DOx&wP!Slu64%?Qv0v)WD9v(otztn1P0v+g2O z-;>rWtNNy*9T#pmuC!bk>f7y(<$Z7X*6@J}`|LAkE|HL_oc%!fp*`OojHds+=&}N` zFEtGMgPzok1xzrZBC=`h*F_Hhl(goYl$MnrlALfBqa@W5Z^4#bZWBz;qy-k* z=}JGqA*qHE`EQ_WOHBCAT2yW_JPDjNdQVL$Nl|O6(_aK+(X3eA-fWBD?&jDqBt`_c z0RzwlHwieHsSgy<*J9m*eNfGRvGNaqu-?+Xn^7S#9-Jht@+uXY+mR0IsLFM4*oGN1 z z=am!NHu;wD9`gh-2Wp7WCi~o~mlyjx3c=LezWh*HCHdb@a{BTnK}7A3mQ7^DO}sp& z(z2X9Q;+^1b&jyq!&M5Av*qwgqFyB%rA-<@IVUMOTI}o+hE!`iS6>Jq7Y&q~iMDoD zqcS@KzPpp` zDfLx5{&#ZtNkKTBv3f!*&wZ%#!X#q>eX5AUOPUq{EHEh=%}gV&|`sWH+}tlF~`{G1%HKC(*|mpMn0T;hG1|9F;;LCu|{wL5sx z6!lE!t>vfG&zoF+R!oFT;QtSpkpVQX(_d``DMM-V!rV1?Yrn{ z>0Tod;FN=U>k=K39hQuc7eeV8`c#0Ya#LUn|5(p!06pDgU@*X(;|*6vUT620A&@HH%l7W!z6`pGbHf&xvjP{FJf*n#Iwn?PSE0N zw|9m8P4N4lpI;e4vqsd__ApR|<|>0xW-uBrM}#B_T{1`GjBxOS+|ca9ktC=%J?Kjo z-}n98>iT?6uJxg~z@=@=G+go>n)7 zYd6Wh?L}sI_9cP8G34}7$$sl3Tw$mvyzd_u${m0DIfmdmF3B-7AVsg00n>P;^27oq zq!Y*SB`v$DN1SK0tzTQ1!eW(<@WHG8rl@b@aQZ!3iz58@$tKvKza_ zXz>8!$irQDh-Rt0l5fpC19v2v){JTHjzaWmeK;6=I@k;C8u1ZeeqI~1wA^qVe+3)z zW1d^`mMsgWaY6q$Sm7O-)ea!(B|c63h1A(d{DnPozdGfUu7WiU*Bmp29}d68DDd7+ zZ6*%oNZKu~_I*Oy_4s73UgvSez@!z`VDWcU}k-l&Rq7cYgp(#S|5v!2I@4dHTt9~nmWH>AHB@p?Ts~ z8Vw?|Qy)w0-8vriHaWB>rM|j}w)#5ts{0{aFYYegq-agihsCI72NH84Fo^|^PJQ}hR%0A?! zWGdHUA+-S0KrQyZCYS2RJn6WWvUTW~7}UGhYo$LmC3+h@DXU;)BFeS;z1mtiYz&_F z5v$ekMv_*qYfJH#RD2SsSfgi-@z~^jU@%#%z7gM+8)_ZlJ=8nO`(cOchM$@J%zvX^ z#Qo~ocTX$m@H{SrPk><^tHgS~l4yW$RL#tkfn{9x(c3!ecBb7#D@a(k5A~G9?6pvK z`TSe6n^nIlpGw0Isi9QqaD_ti9Zd@|55k&LplDQ0jm_u*Tt=+$ zEK!7+D~;ZxOY zQao4WVjs;l?ej*3(*ALkxtz{hyU|c0gn^53#tu3~q6s^Cmb!`ks){*{H4A+QtXX78 zOLP2UAl&rTzbxE*C4DfQC+GWmJ(J?-oNb{HnfXh8fI~e`8@d?u${DG@V^d~iW|2Y4eocPXkK9^* zN!(C(9l5P@GQ4CRw4nPIW?l-E{rC>U091KTZ*x95S~|* zM;`PFF>k*!?qFpx_v+a0+YuGA5nMl5q|(z$*H{z$q7Un;X=df{*q5KPavC*^L>&klU=@YeSb?DslJ9r0;$XGZ{hFej0oU9YPKJh-qhT!nYb!9~L z8$6>0Mp>8lmT3w@Eq*oU3*_k}bT{70kf4}86+2e-Ca7)qMoxZ{UHv)W5~cq`_Wf)k zK``!D-2hQAjVu-Wr$LJDOj8(PiD}k|_s>s4m8L{}w*$3y#r>tvd(eueXJ)^y&8OhL zs}$J#)a9BvuZ-(;w$VdzUcM|a5BNa$3G1Y~)?6EB&qtir#VW5iD}HP5w)Jve4SoYW z+Pa$X+M#XjO5_CoQlgbQ&SY{w{1Se<$@ys6#YVlrMcxPk^rWUL6$FH;UMU%z_BYPj zOk8(VwZ&GYHYMP|0NnTuF@*J=mhks{Kl0Ug1mS8QY?&oCZ*w{l!)t4#qru#8;~MY~ z#mf3z6F7caA}2+b`l;Wi0L>XJml(e5-NHpSW6eWX$LCr&cB2hqsy|E#1O2F@Z%=Zc zw`@Q%5)0;?%%}mccCuBm+5|H}IPx9s1nUMxt0S{aW^~PdUUjFO zfeGRKp+%^*XXVLb%5SuB@c5A95;+`WzW+{!)vkL2SSj z%#uQVH87E>xX@we(G1(sx#V$CiZag|eFa=UT441`Sc_RE!K zEC?=y-iVjKPdoD$rE6P@OqolNpR~-f^6{ux9-X|k$9e2a*vg<`MJARPDz0-!Mll+H zZX`j3mxEE>cPiGA(;5zQ_;$_|=Oo9iD|lJLt!iK&n?OWViO0POr}RFOS95onr)KE( zO=QgZaC!WA&^r^!7QGzw+!Rc~(pf!3Z&&l_jZxUV*G_UnJ+qAyjH3M*JBTegUAF4PX(iCGe3vgBh=2-}xccF1sA%=b^f4X9?b>HN`b}(ZUC!)WF$NBK{T;K_(&>(FuPcY`RG@7w zwt1G5CQM}WY_&D#iiL1mS18~KSH_%ljMck>w(@IHJiw)_N zE{)d4(XnSEG2%@0y#z2L;5Un8fI_PlJ0e%0ikH|ZY*YqU>#-=e&(!PzA5W2wz(&p+ zc5H2WiR$BMVQLLjNHMnRo$T4aB&FiaINxCcO0ZRUph<-Rh4QXBDlX6za&dN zjC|_zfNH=L_BM_#OQS%9t0v&H&~lA)8FZ)tV@J7%fllpn+K$}2R;$dGY=KR3am=mK zvolnV^10f^;22XT6DXYRRV^fJ&qndX@!P(eRfzTl25lAY25&N%bZ14K^&JJqX|}b(wGB(T3}y=I+U^;| ztb6+JtllORF+sa^c%TvT+GAGmIlON|?D1}$n2y>+oOJ=J07rnILQiI{)6@Of4bi%@ zjgu{$SulXKN~{h^iO}8epf4k34e}i4Q9bI8V}nC+vUyiDRS>^Df0!WNrNQV(^f-A> zMYg--fmWD)OXs3W0P8Q}LpNDgvy!M-W-B`G-3ScNCdya8PgR&%AEy7Y|41d0o)Ai0RgNNsQK*In93#L^x5YJqlI>AMDN8G~>BI9`0)$KC;Z8X9L>QC=YV8R1vTL9sG`*x0qN2o# zXP?yzd<%XBYX)OzBR0KO7Nt8u%zkf-V2CI>9Gr~XU@JxSotn6Gu@w(c-|v#PB5w7* zAhL-01vPeqPjOhAS1I;^S;`kHNwkGP{d{#@wAI|U&&pfUkM@pDNg$%@^W?2u!e&Ib zCjQF3ww8{st?ObU0h zqOw+hsz1z?L~fjyRSqT*d!bI=U6l8~iDk|YqPrO5Z%E0OkGZvDdUx38+5gjn5(A2u z`7&)npH~L8k#_C8_r-X^nF#@}HQ!(Tb$Be$V^}9rzo^uAY4la#mY9%`|KuCx6|$Ly z@+wUh)>kcCoPMiyJA_Ln4Vzqh0gsD^?PIKInvdHls09@L-Y-AiUP)kIMwbQs;JN2i zZy6}0X>jUgZzdg%zByikYyDE>v3GK>U(hqLve+e1PkQmr54|%8pT(;I0b^zE{p0Ay z6MHjQ@Yl9oY{0@EFPZ@8*gLG@rjo^oa`Z+)g|WpRt01heF!+b1K@D3g%<;U|3aS2U zVN(w3esYrGjedWjW?E*xy?dnrOs<0zZy(<>)Q!cDgDbYOiP-?80UFW? zB`X9RCXEY6iC7J#miTMz^<0AFinc(5VcGawt`*x8_*PW8D0ISALjxK5$HQqG42)xRQ&QX|;)kjL+13fgr;cn=yQ1oXhEMO`qmlR$Q0N*+GdL{%q0h z=ENw%@}zmBvK;L3W7s^dZ)D__jkfq(bWg&vwSGUkfzg2@OJfq1_`0w!^m(TyLm?z> zr-!Rw(2QGF)Su=zIgrrY81`;J?}V@jhkXmf1hCzobRv?DV+pmMpTA~CIxBu#2ctf# zd!j0t;0rym=m=xVInK|(uSEIAiOQqQp`mc%DdY!19V>pGDy8dV^uK(g0XE^5u38X3 zpf_~vRQ{Z=MXZx^I+ThJw3GeIMiPOn%q?(bfAFi$T1yxyw8ke}N-M0o`(e(yqhqMub`3Ux;K=i<4a> z#_k8fMXM@64GitJw;i4*5%iK0#wQxQ2RKWmJ5X{M!;0+ROawT^?(DB#?UN-r#T1}kNIxZNY&b=`8tF*m14#l{@2 zW8$Uxi7^Q&x}~nURBgIYO4!s^QL*4?eaCiIdanS-zh6;1U9DPGULUx5gqgIIq&xG% zG^sFkV1TFq)nX2Zf4aqs9OxkPph9HodEjtsxowAIBJIax^!9!G;;0t&%nLS$>145d z!a`r_!&lFXpQyA2MS3bMB`GW)my>!^rD}O~^~*tl^k09F&%=^RR2O3fGxSDx9hu)sy8?=?xW4&{nZ%-krzE9g3_XD#@BQgswqFM!fl7>U$Ph@Y&q3M^p z#xx)wLR4Vz;nhfP(fly(d_j0Wc(s2cG}E4f_4$_B-)?l+@KSkg-{)MaYDHNMQ&W-L zlxryGBf4qSm-y%K8cB{KiIR$qUXL3BbGVRBUku@FOAmvf(ZQ&0-9{E0;|ccrA!?Ni ztl$cXN3hgbMdb?&yKLbjjh~mjEUS{K*D!O%tB={+aI`3T#Cx!ZL#$6!J73)C!C2?3 zm>&tO5#rtycE|F;`uHcx`JhPO^a&E27n6!zsjhj9Zx01CyA5m4R?e=1uwaJ?Ep^e< z6suNx)B6-BzhdINr36}5Q!CxN5G71-*RnW-l%|AKzv{)3fA;QeqR*k^ zYk={WRLE~nzIdMJRpD=gtG2p}FJ&F}YZghz3CZMsW_l+vLTschv@&EezJ*u0dU}$< z5%wh8#G~L%HDP@;>eF^!sXrE0SuL)s5p%z6eZKJo%H?H-HYiS1uX-Hw^A%ri?9oU0 z76~=m{*IAcRghtl`&%59csf+=!+{DTKI7^ww`!v;X*ZHu<20!q_c}>*_oO>=jC|zD zgO{PGGr32Tpgo(DAGgKP?$FG0LT_*H%2pkJU|Lf)#%hgt*6A>%_2jV_ay+z1X0LdC z{}PyepM>pIYM?E99eu|~-w7+B*FNyHRl*KCB(y`WjH9#U$u)qyecdfGK_?b!rpT;8 z%|X0{D5LO}OXOy34p2)`d9!n2MW@hCD`>i}K)CS6Se&?FZ48MzwkQDrL*6Xm&x?zU z6DNsIP69&DKyK%adBIY@BG^&wR3`YkrL|lr~vxIF=gtiF~o4i6`Tlku22-WEC}P zfNGVE&jc+}IX1)+r%JW8CiGoOrq8gz{J8TKCSdd$$0ewemRrsEoUTIZ5Ln?#F0{-b zfzEk9m5F@P;9pq}cFt^4&Ptu{nsHlxsyMIR7TwC$M`5uqdr+vj^MxUGmosskd;cmU z;w^yN`&pRZB*U5DR}EH*g&^UFoSRUg-BUpaTf42D^f+0NMw5~L4v%m}ZhylzN7Al< zItde?=|KyPbhNe-ymP+3B6o;Wk4=C3BPeFZnG@d1%J;C*uOL86AP#FAiF8B{b^a`F zf~-P9geykph(!SQ-G1r`Qa}5Sz{wHkRa%Fq*@)J_o7FXc6XK)!+Sf>+Z5l0QZt#o4 zRA1CE-aGA$@VYY<$`%!4g4bqRpG8~JeSzB8^u7HJSqN?x7>(L=L6(YNZ5EuJpe(EB zDob9g)3+h?C1v%h26vFLOhuQMEzq*omhhXprDv_bX52V5XOW{3&20)T$ooa5ZR6SA zQm-_RzuNl*uMb6NP&xLg0?j#;!Mv;q%&!jPS7&+f6OJX8C^K#7K>%8ymsZ_-BbboV z&B>bKbrF|0=Jofbe0RAOTz_So9(3ZA_B(O}{Jwk9c@RWBMG+2*)2OpP4rL4O`0MP1o^MqC2T{1$Ws{8*k=Qrc2q*01Bw! zm|LWftL};i^e&&IBCby*Qw!4jp64kD3FbaH9omC>RNUyuzjiv1^c}t}ukIN?f9N52 ztU{<-?xHUUHEOKbvI;^Q$bsUrFXI1L+R8zpkMbPHhjNN9}sA+bO_})nfA5y@H7YqSomuB!> z4@rc%jVSGq?45aT!KbP`*1?+vZk<#Y@5`fmkfp0*pwCRmz`Myo@3r;mb z#7K6i0w)v?kwzZj* z#RTcJ+sSCzs4wbyq-J;9H14iVl?>5)Xw!m@PJ~1p#=UO2wDhBLS6uWGUL{WAG0G+E z1IX-SCv`Nx?lg8+IZlS_R(|2LyP!DwVN4xc20jKjDT9j%-NM61HgnKidR;!dIP{I3QNlS ziYIKQb&}aHw20q3)&LK!A_NlXpEF?Yd#e3!Rm@=;qzj{Bm=d6&U0X*c>81`}8n9Pt zaQ&E*&5bICkWj~qM3nFe7=o8}!IlGG$qXbiB&?bA_hi;YUSA0;%d!QGYy zf6?{ToqT(q<@6!!mBi$eH%+5+zLLjk7&g@7Y<=}BJU!#1gK1*Ne&;lS*ccf*dxbOE zdwVxAz0thx7a66PuMBL)T9^E+@-VAVCD0pfpRmx1SPNU=g40h_DAR zWKerWwFiU1w^yP`6rO&i;$wCObg|0ntySIFJG}X;RC)idF&%x3dn-Qe3xW*-NZat7f`#Z3cjn10yu3 zL3Ra{adS|%m!*to1QbR~qSnnLoT?%8xuL5xq(E~X$WK8Yga=4Sy317{q#s&a6)wtF ze`>$QsJJj@p0??(bGEaoG6?7+tl z@%{j$4kK%O$~q!#m}$YVTp?oqCOEK~uBiN}#9Pg(?14fW#Ge~BKzm=LtWP67-Qm87 zo2vjJaHZEt8oi5Qn|YgTs16#tQ{n%9F~BN&x)EJ@sE5OaUr?p%C+)A6%sG${y0A=b z+d5tzM{w@Gc2V9fp-R4%%kSKy%(SxDZap)Vq_KN&4Q%)-l180N$p0|k+mro8NUf5t zVSynPtt5|MU-{55s=H4jL&%p*0H?}S$^@+8eUy<9^dzPw4i)M8O|Vo(%a0`xfD}tZ zU-Q9#)7qtM1Tq2$pRxh1;qiOrAt_hrMcZk0X4J{NXCWOfZC;roCe6cvMaHuct=>Gg zXZjfV^>9WxE|Fpck4C8bb&Y8A77U+_H(6iU(^Cnjv^{K)?PPr{Iye>(68kO6&Q0;t z)}4ru(1D@}P-_FKE0E3o%{(rca?e=fFKMYhztTqVB`3$f3cWHvd_jh3!L3ahs+Dyi zTOgW+X}$#f1q%sK+*)kG%K2C;5HMo-V3mTbpV$v!YqsAm#8ag&c$Y<5e=LxK`hiq@ zncHq{*WG^YOtzaKYjI@qwKC(m*uR+i1BG;VA$UdcyY{`O<&V%Dzb-@zVZKl2)L5R9 zR!|wYvvgcSf%> zUOs^hJUwAI;;bwPu9$ciDokd-FHC=MBw$DO-FOhR!PB`T!7-z*V;jb0728T@yW~*3 zgF#jXxZ}1W&B@jDo5_J2*o)INK9*ZD2j`s(%!jw*K^Q!WKrFqCUKW@9SZ`B+p$V2hZf*Rz4J*xrMdw%nG93G!e7Nec`^ocb zUJ2~w zYIrELb8{$kRGL`)W?t&S^s?p0=cH_Sb;19}m zxG#m<;K^ES=Z8J0ulUZs9Knn`L&lBh>^T{?cVJY5pm{N8q8Q;&9)_Dd2}xy7$9YJT z2t|i!ycD=@!ZW<*!Bx~j;Q1p<9++OJ%g*#}hOp(fF+e<8I@Kc+GYvuRvitNcl zx#E!l>6V`AZUFvBn1j{(=)aNz6DJ=By%uu5FhCMGO#HgA=xZN?dQ9tE4W(Cc<=%zr zMUjhVVyE)#N^pp~$&<_%aI%QnMBQQSk z)qmsTt=U~UaLMc!ogQ+T4CsY7J13uzYjNT;=#T6Vz$9peVDqR{@**RZw=`@sve=Kv zxUa$*o3PJIgx?MZ%cmR)@?uXy7wU! z2s0Z#41HE>^V;L?C_~`WQ;XJ>uP5dd*=9qQRk_Hl#s3VZG)nV$zy)<|hz@{8uf-*M&qGf+}jEepo3^jgDH$pLR zX5StHziv=By?SOl_@baCMiL!WqCk1-!&=+;0GRRrYytPA7{IRbxI)+xy zg5&sO61DFY(fS!=A8R0l+xM$!TYUXU4PW31-v60*K82XEe_r~6xF-E&GLDXe+m1SH zv3A!PDK=!|@*(~tVh)zzPgT$A`hrr&x@suAdyX-Pk~V#81oopA)$HnOvBN~=1Nsar5h9xk$M0yb z;ZO(YfE*O3;xZR(QTpb3h8@~Gdl)C2%cLEk(O;}b!=(!gd8=sUI)Q_Ml@IS+dAYym z4?e#;)w@DAj$Nt8q*L2*x`Dr@@pCO2FKkGKVqeBpVVU6#gkJ(F+{(X@`Pw#LE)|6h zN#w|NO8f8H@QuH0Hao}a7F`1d+Np}M9sOU%>g7!#{tV$uYkRIH)H{V-lQT`6X;3SK zAQasr2HZr*^^*$?fL4**@$S$T%KHV<&r;C<{OzA@)7APkaQ%6zYrM^p&YXM0+dQ0SvbGT#1iaSACX#&3y% zLWujtS^Nu>;~t_CGycqKm*nnoSFenJ(y9@8V>kccBe}P2T`OEmF{eoUo$Wcq{i0;S zly9m$6M-jYUbLAU3LAj>!3`m^<;hl*IF=x30DaoE{w~OAeVH2vpk11;qvGasl7BQ= zS=SbBt6Tu}eNz{`LSlC*5x+<44Rt9i$bSn<4)?UY6Gz#kpwP=Cf{%BxVg|^Q!G`2( zP53TX8Q5XgDyS?KB#1e!dIK7jet(-EzU&w*|~n6Of$H%@n0T{i4_NOHJtWY zQ0Cc%6lkqe*x^@vbsJ(9wVNM?ycpk$XDaIDI{d`JvCZBm7JhwNTi<^jRmCf##k9#m zd@(JY2j30x>IUg&EXSIPZi1MRj5bCYVO_TdZ%RqlnSp-{QKU~SKKVt`iRlz5KHMOU zLmF(YI|P|>3jBJ4YeUtAch=_u0Mxe?Hkv3Pu^yrStz@k`rQXvE$MF2LaEF%qn+&_2 z4dc=C<@5YTqzW;ZBU_Yj&LS`yna{%8YyX!merC>U@Ih(khaK0>#TDc}5MZ+)wy!9; z`0`sW6Kow)R!TX$F-^)lV3rRKpfe4veF;Sx+00WX*YV36$rn_v=}}02&1^b8MjHZ) zzacsX4zme&HbZeT-Xi%BdxQRh0-Yax<6MMc=oc11)vEAMT)aW_VP|Y;LjO%zGk??) zRQ?ITlJn$sU*^e;QkoBl?d-X(4;bN87&lr?Zp@Nfn9PxQ@y6_X`?@nOhhjCnX;Yp4 z2lH|JJ}uPN7|DZgkgwV_#mlbj%C%*@%7XiCiC;>so111(oxi>J>y2}!nl>Ra=76bFhC-i2T^YXj zUqZ3spMnvBJ1qPxWpmAjt?oKQ`GapS&T$ub*sKK~x>_YPoyQmaD3+6YU&+zUq@||a zt$w=i#v|d%ixzTEXZ%ZO$1eUH@wvw+U~=9CS06UsL7%Ty>B&-eZZ-P-<3&Sj0SJXI zxG2zi4INd+wDf{H>1neF3T$$+LjYTLOdN zU^S1b@h$oyRJ()4h~1^^IGtuO`D#65$a8+uwMVq_@57A;H%@qOS_1BAa$)t6hb$am zBi)=*w&WmDs3x}mJDCnQ%ho`nlTekTZ+j94NsbaE=9vOxB?vxB_no!XstCDkl}~60 zNy6cw+3NOd>jjOL;I%^fI!;Mgv9o!-8AP75`fpE%YaXcPhMo%I8eY5@T3H z1sH++RYd9es|y>Zmh;(6jX0MOn};MWXwiSO=A=<1gpz(SQm%LkXWS=IFx z;$E*xNsuNw~BH4X9`tHp5xlt6ByRKBQ>IIv-=V)RRY zW&!r{4+8%{Y6wfTb3$5AHN!2}J2Q@YWitL3G< zzo_RdrKCigHlx8^;}DWI7BeK35{isYG^sS9(4gOy<>c2Tp4QUN+tgQ5Z^r%KQmX`YV zKbF*g)3pA$QcZqt^Pk)KN1SR&YhvSM|G(-}|Ik{{TGCqmXjHAut&M+Nsy08*|DI3P z*3!v=){fTB$=Jcs+{XInhmGTpY4snb)_QzTGdt+l- zM;DtP39B=$3#}`y8?8I7yRp5^e=xHCL%;eTjI3<`vef^SuKuhO6T`nNSQ+q{+1P$u zv;Th~D+}AtlK$KEUkh2IT)>qQ*5_E}APJQVB!qV4K#!jQote2sj|-rm;q5D-9+&;k7h06IEMATpspY&d%Jx_4vFHbK#&Mhk;y`<;`qh z`g##XOYWbMM&MBa{B1Vd-1b%3@M)We=%1?TS$m4B$cr82SdD@hMty=MrE=f50xi!?pl^II#28K)mRlehGa` z1@e7C1@q;Rt1^L{M)7d~Tq4rg=H>-wLrg)t07LNic>@v9sG$)2+5_Zo;k$tF)fEi^ zU`~wkLjdaM{iu%{VO~f2f^yn(zJ#L(+l#_JP8;LEa6{Z6D}zUv}?`Rg1#XC zU<$}+!}O7Y{4p=JvvV9ElIQmXf@RAa$enoueA6qywZn%qgnM;-pA+qK1)xWV5bV3> z>ud`Sf^>6z0m8WP^_)H91Jeg>21+;r4+HY~@nK;sEr$UUay%-~*m@a41jop$K6`0bM; z*1tJ;n3D6&y7PT2sD((g<%0mi-@XsgpBFL|{*AMC!h@Dpxngjn!00rVfm#6Q7KMN8b zohr|?TN{B&AHnViB09j6MXvEq=S2tR>+zZ@NGU);^y=Yn0r(R`aEj-`r_y!MwJg(4 z0t*YrlH(A7i0xc}H;C#3@M2R_z@i8vw*~lrHUNLcVV_0!B7}b(# zI>}M=;j~G+nR|Vgoqojbj1DX1+bNP2Eaq1JEhAQpN!w2zJdPo4F=^+iM;+Bp?zZP? z)UuDC1}=}PWe4@T7is~f6mRk#NKh!ugxmFer6?0_YM2$`dVLi zIPLw|L2JNuAsD9lRVGoStAcJYg|c!}4?lLkYd4y{dJKK1RSTK?=9Z&rARBho8^VqF`&LBqnQD?5Mr*T=}5UuypPujQW9D<84$81sGsQVyz_pfMU`;Sma56DK8!?0k;Y2ahT>4bU}nGN}EUI6xbv)+|NMF z;#a&`E+d93XpI;joXxV1n)OU%5;~1Zo~J_ti!e|8!ja1290pdGLEM#9XNE&sJN3p@ z+pP7hzm_yUin}%Bsk~QiY<#mdR-==TK}oKy1eE)WKt>+8PO88b7-R^UYCY|s$m`Zm zku0t{JY|J7#YfH0QT7~^Rqrx$g-f(fi+aWFsQhpwDI@E>&Q_CY9Mkw+O;*wLgU;|E zI__JLYyKLyewj$!iyNeEr(P!jdQwhC%vLa?`$Qf)!@fMozgBB^c@#(i%*=a_R2p*$C z+_qT!rD><0QF`6&D8YIf@qmuXk*A|$vIS67JU7`UM!Rn_J@D7U*@2<1p-LTR0;CVC ziWy|2kNECx63U#6#Mqh&*Mm+w95}B9F5PEtuxzs35QRDD`vL4EE{)^z{kA z!}e5L;anw+=sjtlgj1DXM2dytDE!)3=j+82pPrU>$DI_-)dtvvotGxA8%% z?+23eB;7k3bQ@<2mmRriR~dlo)-5}r?}puQ!Hc^>er0mz3W^D{>*8Cg7zYfsP6jgK z!OxoL0Y8%qoHRTv(|;hl0bKww632?zL`~5j{bO{U z(EgYG0+@#@M8m9JB~I*iUGJe4p2(J<#@9D@)f6lv&tORo#K=z9;8@E$;vSatvNhz{ zv2fq3H$|f@VX^DknRg@X#;C${etQDFn?P+F^_1Y0?5^TQWj3h{$C^US0{4^TCF{|# zTMenS*ucAuKew6%O?g6a`Y%NhxNt-v#|Jne-}=<=+g)x`8eLSb{bOsJ5wC?dWW`0n zv%}sS|5;i+b-`4!0M7pCQ!F3uE%nKj0XQ~ax0fE z=c5gAb-Ml~ed381bthOgTlwah0TQRYJ zSN;+X5+q~5$RDIEETLs=h9f||A$kZ(jJLWBNRqIVT#4qc2DD(9&b~l(NsM+zREtVP zpAGZMfvP}HpKsQ-yiZ)!4_sQ7^T)pDBG>!Br8-FSO*XD?;=0#b!G_4X?@uU}JuxQx zzUk8pn`q#8jl?ltN7A&o$xgq*TZS^6N|_M<7Rt03Sx$#mGtX-37>l-n%VaLuku;E8 zz+nZaTnq^h-6BlB#9ivDxm5wq8Btt7)BECAN=Y3!?CeZTSr?!oOJdC(ny-G#OHMYc z#J|36(2jQyIE>+3+#;`bft5kkRqVL4kkT!P-?* zCuB$BW^3XUiAC=Y17MyhyvJt{1>SAXF@5&{DZ~%8pF?SPQvtUMkFE8f@7?&VprhuN z<5n$V&7)cvUEXSWr<&xp-%$_@IRokRo8eh1Hl#ESOpXZI64|bp(wc>h(K^PhAhU$s zW72N$y0&lOGLA+Me`?wiK+|N=*bKnAFpN~PjPhJK2v4m_&m-V5R@Eh5k2n{7|B~A( z_*I6eji~OB4Hk1u{7hSDs#gA4JDVOFw36kvpPmtuihULKf*v=;d?(DoxQ5tYnp0RV zAF~*^QQzO*_lFMa1F$brV6*L%T&}ouXn$A~%g;n3yp%rDm%;X{XgB9HWU=LVlq_OP z7jP&!IA$%2kdTL$-;8(c)N%h~vzDYtg#9bi85_l}i!l%6OxSC*;rdnsRdHX|n=N#r zGA(^1Q)FU*%Y*ZS2}^RGeH9D&;Z_ZVQB+;n-br-xtdvfC)qMZBQ__N;#P0=tlrn}M z)u;g*nusgt_jJi)s4$Ts@957Q?lmCU(bhevS)FMNjNfJ<-;&xoAK!;{yp6jgkPmac z(3B_r_Zw?cx}v`O@zU|+D);DAP((Y~v{SW8i^$~f$yF5c@5Z;Ted}>EaNtAOU&w4p z=c(za;%-u+Fl#9A;*g6s>WVMJ7v=fYFL2PuMU}f(C&6$;#nR%&%MVE zNmZ05^CbZx!LIGgemPCPj{!MRbV6sG9LCpz6`N=73DAq=4WmZ9%!r4kv^(G>Pno%V|{2{aa)y; zhhnCTE=6$W?}zP|!BHuASz@Vx?zSzHoz#{Uhu}THYu7w~xcRy3Le8Lt*k7!hUYN}gO8Y^^LZSl7}nM3ZJzC&9)(tKtOOhX-J zM}wWG!K(1OIX+zUet#{w_s})zYADSHr)`FR|7N@#Rt}*_Q02`sYa(734T-*FOE?CF zeWW%>#z;j&Iux@35N%4+5swjTBBC~$Ygr_4US*adhP z$1&?!WkULV3A$r77&d@O<~R^;p-!912xL4iSvumEb{eMdVjdjlC+P7U3W9Q8FQ_0X z)RbRVkbh2mK*BenSR!RRn{Ie{8tYyG(fyS=9t>3uUtbwWoSU7o>Xm7gqE%&S`F$%u zRV$tMP+ygj;cB|uXMwFnZ|XMWe!;n|KmOdYoBP54s{F`SIF>9FM_v04ow_EFhT|g(d6{Z?*c-C-EbITNMa{Sz)V+L8`x}0@wn>e%d*$L}bY8|X0VzQms7X1I zjl@HosDnFoiB9KJ**tuFxrBY#BfZHP{fR)e5PA;V?d7=X{VF4ZQKhYLIqK4i`m!Y6 zE+yNeL6rHDJ!=+uki6&!XBvjwA)2L1B0N#gc&)-?)wprsw}8$9d0WHsB3~Lt@^ok< z6ufhFFU5T^YoOhZD4x)&kjMVTfj|P1iAi4WN*y&LoAgSP2$o) zVGJL9W7pP&`NB61W4dD`m)9ULGwg~{O2-owPdjKL%B!6O#es%>z|a14@x;k|H3B}{ zayjc-Pn_N1%0_9Fv&4Hmq8vI?nM-5cGp0B;s)M<|NhEa7Th8UGLcElx zv-I?)g#Gb^xgF**F8qT!n>+lvGlPl?(?3eV&STgs8e^@~f?rANhGDhQPZE$Qd6STY z?i+ZLG1mQT4*^xaHxtRVHIHrxS{~K>cH+`tLr>Az+<<)(1iUJm7-pWpd*lhqOM1`P!;TGpe#OlpfcwGw-uaOKYT)4n8DF zSEADE7(H4qm|2!mQsM-qx=Di^Kbae`SC(^`>^79m#RyG&COZHMtt2 zsHWU3W!Q);1pO15TUz|2{vMc7Mm_HBUZh|(K@*P!vwxuGtt>zN6bmqtoe(sdQ(M#X z)G6sZ5;tBY`zQx)&Q-lIySY5#?mrHoNPI~%v#)9tmsNcY?Z1j&CK1t7A)D&-e}vg* z36_}jVFS-^iJ8T$ti&WgV}QlYtQKbMm&II_mmScER4UVtP8%46SS2*4F=%g$y$)8G zuFu2lT&TBMgym{XO@|K>nc3d;x}3e!m#(Lz(#)@8y=G)PjGj+rQ~ z3LO|;-G<8Fs&&SoJ*M+TG$UGhcNl&ZOi+hb=)|tDpacJO3QK8c>(Ok^uSbQW3K`Pc zrUj5;e^l}4&TD_?TIi!Wb}FS?(Q|M@ zR?^HLt>z?gPgKAe=gN$nQk^F*Z)wJmFP%1iK5^VO`GzeoX??g;iKn0^9n_2@8jd=R zp)pf0MP-W1;n6p2eH$~@%j^yo&JI`1JR2F_b z-~MTZ1{dGJj+k0Db#UHKl5&Xgaw-9xa%sGZt4m;f-4w&QrBhW(K!(5&+p41(VWWOY zfB4Y!Tpez8nsn)WphX@D#hRaVU21rIM(_L^I#-xRBJ{}aRgSe@eLS)*QTrH+m@v3& zh7nSb^Zxs7ShS$~ir!K)foc}&(=|+g{nz~zF zBfo-HBFg^+Jg{4$tIx5s8|=y>zRg1Q_4W_eqj089>Vqvac_Ht{^W}+1#;&rTTeAzL zBbGQ@nNdH^o~K)NdS9}2T?s`xyf91o=G`%*W3d255>aroia^pQn0ofcU!8|8Sr5Uj zand*AQufvRVcdJ!0vL+^Or@ga0#rei0N%=yIPMsN@ckP1hV#l~wpE$kKk7yf+*>qI z_SqNb6nxcI?R=VBVZMBx1l%j=eS{q9CT7;RJjNtl$~J}Qx~aU;JSZe&@B~+4B4Jm& zL$LMo9`an4NKu0 z+f=oS#aYCvT%pJwT9s=DjA5R-eh-t8y_}SvKEQ)&Tgww3iPKaQUR^xZlMW z3NFk;o2C-D&Hh<)=BWuz%V~RjR=Fj+A1vy?@qClsqJMQ!f<`L6h)zxqHwY|AR@&L|66WB6Fry}KX z70)`O)B;`nO9Z=B$w*W<{Tlv!{kNEGipzAF(*(McT}7>m!m-&9UzDWHou|%Auq#X< z)`o88!lbm}JD_Ieyp#x<`;tbyx}cSY)ppUb+suA}-JHrjZ9H!H8pXl7nQ(;aIwHcP z8xU6Imp1;HaZ&0QZ z7W&4-j%V;lGHP`(iv!n!(bI6-`;xYO2ZlzNH zD~2ZKtDl`cqKg$WM1m*sTy|bkyow}x=*=#(R|euujS-D86f3S3iElQ<+BUje8?%6m z`M^7EB63?cO|3U}+Vigvr|9O%*`B2SDL8P*Ni}LQJYQ3ZsBQ`^c$d^P{QD6Q76R0? zol}H?{mfEv|DDSgD;8@cUe>9L!-W13EAG>UggPZoQA%M}{xT#a*d1t+$GBtZIir6% z3)a@}{U;kk++JjXbQQQLC<&Em*lYH3&8TJ$*p;BjN*=OES=ZKL<3y#pW} zibsWaYo2Jko8;NeP*~HdWOhwzJ;8P4XiYUFdPDqd=+UABbctaTa|HDE!v}KIlzQ5c zs$($dIoI+#Aw_lRXd;5}EOO8d6oMihzgjZGLno5VyL+qEgF-YayG}0#NQ`kGDW9gn z5^LuRZ?o9X7Cf>*6O>&@jGLIfz82Wo-XrEuV!3G% zyy~pdI+dEacv9X|NZZrm^)t+_xyF%<)pia4xhcv8`VwneCJG zoTfTo9rV)S=H$X|&7$ybkbxsX=CpnTI>qw@-95D+&gb<;a#Bx%Rmkpr29y8xE+Cx< z=<69aO>mJ|`Rz`j$)-$RoW>7QI6$9N^;}{|%N7n6ru3cmxJ*&^Z&PpOdNZ}`2UxUK-GkY(E^TPg-^ylKOI#WwZ( z-8#hQm-Rhy>`x7MFO14sRG-K>7>`%a^Og2zPk6K?kF*VoLUOS?bxxp>4*`c5^DI)u z4wmBXwGVi~J?Z5C6qB<53p-PCv;Ap;{6{C`f8G%(s4O8SBlLqwrN#euC6SE(UJ}W~ z_FrI9#{W}EBsKj{pW;7jB3XZk?7z1}GSdHROXNSx8~+0!{09yEUjZQ_-M@U~{}>Q5 z{I>z2(+?oDn5QNu6ygt;2$@NQ%VRZHC~)CV4@5ioTbUX#6FV9nLWJK3sP{>Yi3jfjNMtR*>gI1Y6t*^3F-&(&X&at^W(pHzM^?CZIP8TQ%yYHPNqfzZTu7m zKD!_{ixl8s?_Wsz*1MtU;pJh20Y^cOPeh1A0q@K7rDKHp6*?r zN4$h+7@YTYBeK$e!Sf|Uy8r^-qno0$nf}IoX$A%G^OYk80dMf@jU(^jUA(nUy|lsR z^?{j#HKPek!Gj=wxWCUKlkDirHB0P#=e^M-LQ|SoT%cz-{1klUPQ6{BYpN^Z8x&*K+oSqg#Ea`iBqF{P4j?Q=1mQ zZ|l5(A!sbHgE!G{Gywwvgb(zSZx3ki!jJ8N@A|QC#qVz~LS<8rcU`-xZQpMqIA^}K z_HX_j(96hv+7K43Zo-o9;Pf7En+6t`a7X8t>k{;RARXqL|$B`hhn^&>NNyY7_jY+6!M#>?oG4wif^boWy!ykR*ZxwRyZQ-%lt+}`ve?XL@6E7{ z_3E%@fSb<_duPq&)Ke?f>1%~S1O|ZT4Xo+*3d#3~X4?aXh_y`sqXQGumIODZ*>bDq z%D~%4Z?m!4{ONyhDeJkRpO!V=w`~h+JqRQso;k_tEJ_{iEbeyZ`Rl z1wm+YmZ<`hjI|j%9$bag$xIi#OAv4A74B6H4GzyvSP8p9YAlWoix7x0&Q-<1=$#65(^g)Jv$gJ! zS5dao`lze1l&WJ~kkw~tw>VLkjQzz+d1+|v?qr?w{Pd_Z0#2IEGbkysdX2|(@)FUx z#@B|oI@&5QX?f+2MvzBUs0{Y!v?%VsIoKWS>ET4$YrYz}%v#PQcPNZ?9~NWa_OEih zH_pf$q||r#GRQE)i4~2KR4(E9KvJ7__blITSaJwkgt}5bvZn*Sd$4gt4$GtRL4Q|U zjVtsMYg1x`$4tADu%#%ZWK^Fy@^cEL2AN2n{UFdmF*uZvB`j130R2_EL8o&~hWQ*u z-o0Sd5~r41O1ScNcyz{+qoJ+bfCd#a`mB;!)a+-PM1-}*MBZPJ00^g)@Cc)x}o zlW%evfL=S|KGluX^W8=LfPz}^fIbh4)-kC=bY$n&ja{LBR@rvlRn(hV(-(0Xs-{Zk zY=4JVln#e-oOl{w==b1sVQ>{Fv8Oi(H%r2>Trb;9EUTmS`Om>D(O+CuH%&B64|-+!P*)Cb_xWKn2T;)Yd*vb~w9ke|sz;a%vKiBR*w<3I zd5!io{UlH%&nH8U1?#M|>HWnal-#AtW6NYHJ}btV4;Arr371E|iqNFQnWGzDqz`ykz3$CI$|9c`Anh7) zz_4$l$DQ5(l#NM-!>EP%-r0sz$}I81SqMAWr=*p_&J|4Yl(*o$TW?-z;Bl8ei$f;! zEb3d$#XLKvTKvKV?kD}72CG+QDD*+8z6Y=zJcGGlPi(h;BinF8<}WMem_GRHB#jp0 zF`bQc7eli8jRp&*Mdv1beZi`k-dXA5?V)S>gqilxXIkCD4SrU4UBoTn0JzQ;!LH~d%2RaOMs*?%Urod0$V<(kyY*>P&lF2* zsPw7TI}m<9Ef8sZ^k(h8s3<+lfm`Krr<-bA%PD5^}rSA}zGQS*`dyU%oHP(ZpTm2oIZt9?@JEvhXQU)Y;Q0tDU z$KeLDDMW<6gOW4ngb|D9O6%CTyv80zGZK}Bcw_?*6<8OnEnRuONNe@Skal4;`{!+a_NcFQLA(=0P0>NXVrinAr|zvj^+=G{To&)TQP9X z3H~csK(?Ikz%!2~d^tkJh3r^iQnO48UUwXJi*;bDr{KX5^*Ib&1l-z3NnG~SSO8WO z>>d8KBp~+aVVP@f?q$=%b@|jXa*5T{nR@F@Ck^!Ufq?W@608^h3cz^9O>1 zxPyI<*)tcnBGVmu?Cm1t$usIRU~Jw!m2Ji{=Q`(y2{Hua*%|5R2n#W^R~RL{nO3-A z&Y9YG=|4LM+`*e3WQPuVX&x5GM2!lT4%@iZAvHd#X%4J6dh{4p2`>W3a)~*V5A~V$869M*%QweIcgr=6REHg|A z7!}<@#4Gn2SCUmeaToo?jYYcY^Bg-3z3S3Mcd%{D1UPnA2#zhNCBaVP;|RUttPzg5 z(qK|57h}dM!=Vk8Z-##qP7h1R>M-`4z8p_;5?)FxS>1lFj$nrJtGMbl>pZwh6Goj} z>qDoEkpl15{%W-4Iyj)qFIM0<(?2SXR4~ZPzF%P`BrfIF6y_@APq?nbt~V5K(od_(b+Ph#Ult1n=hY(Q0n&KGi$M7Jmce2qcfl`6Dcz~@gNP$bnl1jW zC0xCO=r_Bml*(KP3k5kA$K(^1ccl-{+=Rzu5}HW2_B<~k-Ml*b#O}GiwQM?7cM7xY z{-T|AiypXo^t|j>O|MhPw=B|LH+}|W;kGJ?+LHX9r$~Eqd0gdk=Oj_Xg`C;|F-VT` zpb`CjE|c+4f9mb&=~Z(ch~)(g4kwY@N-p#8GaMR=dJQ#RrJ^SG`3dCl%v}trF<%tO z!m623T*5jUW>bA&jgghJ`q}9Wwdv&P?WhDg`E)|7BoD{^>V>-3FzmxoA4>8zBX?!p z-kr+Mde}VD*+*~4a1Yq)YIist`>sYlmONSe6;p9kO!w_B^d6Qy?PSV4_KsvADcBdxTE$>V<+uQeX_?6Z zA(uO?M&^<5ltn#+VkK&CW#xJgdj^Tyj+8Hska2i<`rY#MEt@7+_cZ1L~qb=VEdJ_{&kd76GG2$a^iR9r2v**AQ9O~{Y zqS)^SkcbjqcnI27U)3enyf0U))QZo3q?*d_X|$2kkB;qqQd^e?NR0~;*D=>x8iGkE zw?c_}pY6WfiZp(qjV+obtN|whPcA!tAOo6@tmEazL?hp!`$TaD#MZ5VRL2p?j%CN}RpIh*0D zyRZ#S17M=4@*jLyUuMOp^TUr{Ci~5Lt}Qc(U>9O+JGA><_D9Rch;Xw`kP~HxlA1cC0luYxmsNrsUMg>bvqX1OwOCc`2|z(^HhX{;^qi{cGU@!2W)g z2tAKkn^fwBM&FgFsyagNbMw*Fn}WALSg3|nQTUd1@C$Y;3RYz%u>p(%6Qy{7iwEdLrPg zbgkckkJ3H@w85#EyB4A;4FY%J@C{l{m}c6V=l%-aoarzoU>d55;G!TB2IM2zuDXp! z%M?5{DV*o9)26O=#;;GVeb56!4Z(62zoftfLoK>k}EdNJdM zQAz5}gK#Zs;|!{Xm2RK8w_+0CsKo2pvdU#(xHJxT_1wM;p}h4~u@htFD&$NCdo3pY`D~9HQrt%ur*=&F{adK z7ER;@C?C%wH_7OKb?Yo=-(pp1!3!U4y@=HFBwYl+HN(+;Zi1Q|b|!I9j|j+j=7jB| zUmHM`qYVbn5_BhIMJApBaR9dx&q-5RXSG7kaR~J*s+*pFy%s8X>*%3}?VaTxKqCq} zG=a2eYeDy=SmS(I6Vlssea}#X;}C`sKId(Wv#yQ0=RB)z0Y;8DCh(vzS7 z$G*)ia!+@YckSZm8hj0o({emaMJRK(CyYiuS{Ve;6}nsdkUY^3g?%+2oW#v|sPJ~t6<+)E8?CcKEhK-;$4gK= zTwBM<^3LZ9p$XKUHHshDW~e^UdTdx?#!wtO+xkCj4;c4tVPhi(8gpXY$2{9>|ElSh zd-2TRVIyK9->-CjBnqC|=&f?)!=FFgm3d^94DrB33_hGVw>#p|ioch=B4#GP$3?^= zvYG?>0E(RwV@Eoda*UrpLm3_?pNdZg4iBAi2sdL8c}XWW>Z<}zR9Q`Waor!g@e+>+ zgfh(4&^K_C&QJ}qZL27ouO~XZWze4;8XhZMe=pY| z9){7on9R3;3y`g~GTzIO0%?PoZEDKEe0rzOrJp=oOS6u{rF38evyesutH#wODo04`E_+4P0SXqO7bg5LyA94l_QPL5DfCi4zB?`gpp~Z)f!n*Xe!AIi$=q$ ztDAkh8j{}EDYAGd&|_{l_n`v^jU;Ejd9ml%6YLvwVh&Vg-+Qj)9a2*zz2G>Sd{+By zA_#hBhtjF~VLhv&0ffMivVgu1qI*0iu&`pPG;BrKGl*)HxQV0kJt+*l>;&49bG7tc z+L9Tq7HzqW$!#Gm-p$c&qaTIrE0h;(xxu#MtCl-IZPWQ{u*8zy#z0w&eqIQn4V zZckF$%==R+{f(O@HI=dy2_T2kZ9t>WSodiHWL96oPN2lFJl<7Q0ZCPBvDB5NV8pB8 zgE^;8*2+=S#)kn>|k6>8MaV(#rJK|E4=n*K*iMlcxXrOGW#?9}| zNr6`9IycIZyZ7jMLa&#laCBY7R?u!0sTIUie|t)q(!(YbL6+e3j^<=3jfPh;O(qpZ zu5oHq-XqXsaywN%relwOSATE-LOf^K65__iK$d5MRAI|0pEj&&SS(^RyQOm8Z=vF)I zJc+#17q%G(aWy7@{EY5t9fMgYe+-hXUyDApM$PAZf*u7K#zP*c&X-HGBGXg9hE>Oh z(Q?lvcp7@w*gLzJ3TSiE(N^e9>Ay0NNlR`pkYu#qy&A4hA9q}pOI6=zrd=(XWK~P) za&#a<@C&^ zNsdeL_ia@SqQS43xF1<-7CH6z2@;0`iZ`bVzb`tv4(Z?U3GtGbDG<*FH?DtJPCOVe zGFlK#bw`;;JO$A6H;~m%Qi`&A(_~M9SHQ;3ZBPbf6n&N;#J^ zW)P*d!9{gmKDswIyvFIV(sZ~9+E!oP?r(T7!FTE$*fJ@diowfQUVju~t8{sy30%!N zemri}m@<4&V(pWLY&m98r7;&RV5 zC>W~<4*8B4Y3KD~Cql$s%Uc z;yH(=&`wG$eT~01Vj+X+gvj^wf)v?Pu5b4toJZyFZcMK#lAc*=7BBle%TppJ{Vloq z)Hg-~X7VtqH7;9Jehi#p)DUL{h31yq&G!%w`wcJZccTVh-t`chA#_6k^ z_ynUE_X_9~5IaC+`c*29TFfP6yJ*$60kyLtQd!MTrBy{Tjm_ymo0C|EB5maogYUrI zqQh)W3ZnSMecd`Ap>9;RPlNNTjcu-iICa3fYkgx9uVk{C_hyEoaNYvQ)Pu@0-T&WX=e=l8-nleRlRB=E1MI z_aRTCn)mqwpdiVT?KQst`mJ-$4a+gv6!Jf7CK?>ndKSJRvx zT#YJsk`YMQU*1N!pu>)^}z24-pFh1>gn*d^3p3m}M*5; z|MXJmM+mTo-QTvhw%+>V#C6yPMxiWw`C_9OL%V|T3m{Y>Q1;0708qyg9k4R!AUXSX zQKP)BSA#c;wE7_+01WK{fC}n~Nd-YqK=}jc1p_}QF$1j0Ago*)MQuYq1NvNn^-Pa{ zyR`Ez@?!JrcZc)q(QV8^g53M|SpqD{fkW_ViU*({Mz_HO^j3J2`s2jfN^y^%f;a)F z8z6aS;eg1+FM|5g0etre`XkDbp~Ry@I=w)~U7KQ0P*e6*9PCC%BVa&@-`#sc$$@}G zwmQRiZD%xw^ls{9`@mR`PmH~hK~SQT@c?5itb*p3-H?Iq6TS|c0`mg~`sEY)=L-OY zG6L+uH66aM>TLHz-cgQx&qwj^T%Lls0I3=B@pa@aAxz+fks%#G0p=pmApF3=UoXwV zebewY{{Hd+lA*9DB6qSbk=O>G>qAs{fKK440Q4LC-~c{fU*3%UGviQj4mU4kpUd8_ zj*iOA56Ue*L|>ewWZ*8~u0LlGfUY2cegNLNp>%v8_j{k$EIztDx;s8@PJA=GA;4er z@~9@T!w;{pKn@;0fOen#&{MqWyFecvfoM2_CJ?^&cvl%fL4JA@0pH)1zPcpe*tb5; zuiY)*Ip7NRcD665M<1x)c>1wK3%&cYK*8fQ1ILEu_d!S#f+T;q5XK=N1e)&C3-DwZYG<1wOxpbj$IFO&OqrFOie&2}w zBXE{6uNC<8*zdSN1oT)!pBh)P*#7dX-P3sx!2OlpWAc12fB=DfzFcB-fjw${0J7eZ z)|L2I-4O6Q`$4_(sYn1|^{hQu(fF^eCi?OKImjlgw&gkA@jj1W?f3|(yWQk|m>(&h zlFtaCoFGyR%y8hmFb$OOmTWXh#fI3mUBZjW8L#okF>>uH6Pk7-Zxlk{;RkucBW# zg~*bpE^p4M2j)~*vfM9FbX>;Q$@VwdO70Vd7W}aq(lsRR=a|ee2Vt61@bb>6JRVeo zy5~11wVWg2)WYasr57ahO?b?|)WG5GWoMJ9P!xe7z;s5$0 z=!flIVBg(OxKwFUC}k&)u^Kg1a6qHCAVrTi!dcFOYnn_vXL2(9IpGLxa$ri_&n`9+ zejFNw8A$eyV8*3|3Z7JKzlUd$TsM7fOPP5-4-wAl7&(QFM^-wv;RBwQFkfv-E(&*v z?JK>$!C{jCh1=k42MSM*vivo%PI~FGdXi>OA?@?Aq*yCpB; z8-1g7yYdkXW(S4_Xy_UleL)%)V;slaYxX5AOm!Im?6}wYF?a^~&FD#BO=&c;9MjBf zzAGAvxg82T-9;;j&Fc$fr;~Mv?oUz(vWOr{E9k_2+C-KmSE*!fn3gDvh73xoTb>?JOOk- zlxH5CDJwOCYUGM4KINt;Ubr9spmXW4x}p@8VEZiQ=ou)#7%A!<>JB-TRiheFCk%tl zaDLgYbj?kEm91nECq7|5CEmpz?dygP|;efpF-M zuO_3dh@w;G8q{sh#U=aM?aM?64B8cbV_f`D5)z8G8*5wUuQRCe7Tkj`93F}#f}2Q5 z>cje<*ScEZlX#Nh$U62_;UVK{X-CwpZ+fiU`oB7I03sq@XNbE(%Qq|G^Qe$KrEK~T z^e&%u32gB$`v47B?)xg&(r2`)6j@%m8R*s_eArVdwC>>fZ%!35R=jrgRE8lNdP`8+ zfe?e!i^-}!NtiJ+=d_$+QD{<$OnB|O%xX=0V+*drkUbQ)%B+R0wApT)9*s4Mm^iI3 z#$=kZe&1A`U2|$RdyLI2?GOA3{-g7cZo~Yq8HsnD9p&pprV@fBL8Lk0)&kGrD^&AZ z_iv5LImDss1CpS#S53%gGKEW?HyGxfEpX-VifHGs)Eb6#29saEEU~DwdKR=lc!Xgi zYNO1)TYI?^3g4FHV{+2qXb$g{a)Y$jF1BNU2+z4jY1Ew)+N)7`Ij2h85?IqVWCBWy z6q}7NpE3~~rv~$kps;{7Y}aV|KJfLJ33kKA-YaM(bY?7Y6FvvJ3xz#-4onwqBVYj8*-KTBawr$(CZQI?aZQHhO+qP}@oNp#Kxyej2nPlo;t)#I3RONlw ze%6MzTi(X8glk>XJ>+Q_XfKx&eJESzWkYs5U9dP_V-U5l?T!zuMxjGw#CuW=BqF?F zZ~~`s^kc3&g1P~>h7h0`^9J&A06RHWDa8I4{m_LX zlHqF5x>9FUZuaY*UCk)Qh+TF^8?z&Eyp+G;x%(*M0PWUfcWYs#*7RxN z%gn;_sIRy79X?+EsM=Rw`I?41%kA63UQ>h@4>?Uqd$P_N(b#@Mcyq;Mutx`Iv1l<` z5mUi#-T7p@dQWP9)-+jT#rmpk$@1{v-@4I|orVNLKZa9LEx_^8JkP2`F%EJQ8YFS_UVtl|l8`5&7h!tsWW111T*!kncQ3DS(Z_ATU2ePUV}*5+(tkBKBR zzR4J~1QYaPrfMYiz3xUN$yWiH^)Cfc)Oeq_E0x6x%(@azj7xVGch)Z|Qg0cv8PnS} zlfNOns-m=R$9%CzXAR!L9Pc&eOK`~I*< zvw2C?U1~LG_L#PU9p}*lU-#msJzA{0Q>i8T7LZ zSmSEVP8s!X*jj04^l%?6o~q)#1um$qZ3g_!RO|uNibZ;;OMhi9bK8!dvf*aziHz_( zt$L(|GwWf07+yYxE;uq-Lp{V_cbg%ui7z3{8GyXot&=cg(J0YGv0H02)dNw8(E}M8 zkr{)-ItY_r>a^TP+$}nVRquB?d6vmQQymkMn*=T2^gf{IqrjFD7i(?N;#`}2FlJD< z_m^gmi4!J=rzR%wCN{duoHNtC`+iioVr!*f#o#_cj^=NQojJ8?i9NrSKbc(W@SR*i z?6$f8c)EKSetR@a+11_~??dV@G<4W`DGPf)sA%Ws>yV)f;V-t3!iA!{eZ^sTBz45b zN;U%W^0ppta^yxXigkCkF^_dM-OzCh{|?d-ytzGqV|Up{ z#2E&vX(AjAPQ}Q}2koHT(C=JJz8!_eK#C^egLo7Vj4|fjLWXx5{R6@8-$9iyq?Ar> z@%+6G(ZW32!~481ZuPXlAzg99$2*c}I8^xWwNKDM$z1twIIJ_C*>yf?gD`cGyohIP zX10B)NE79~$B~L@HS9S$5Ot-uMh)_fSZN64D(mVgw7$M;`CNQ@Rnr~WLh))=;@YSIy~D6l-xGRPty z7?0%ZakOn*mYCz(%Xxpl?1zPTp0KvpHV;{STJMAU8*9Hm#wGxhb_Mngea!-8vN+Y_ z?K^{#NSwfj5Mn);@`3sXC{wZTp8C5CWrc>F0C|XyXAg?aRi_|%sE$Z=qTWWNX1jtR z5A-^HrgyOKW9k^~Z?C$thi=1LF>5IUzd5++G({u4eJ6dq99GPC{UP1=oM-2$fa{^k z4VXqX+Q4BhFt5zDP zf>S(0i|xP1e!Z*+E$^8aT0_$rhSW0Z=!fd>`oq+FQl@!F5vZnJcq_HF4k z!QQ7cLPiO=2hHyrnnS4u=Jbeof(%Wo@z(-U1R`nX%7J}Z@6YU<$~S2Xl~ zIQv-MzM7516GSadHzbWU@)gXMgNN58yLZQ5Xm#uz8kW>s);A}7P1m%a*p8Q-q_@&~S~uGo zX0-HJC%7~=4D&(ZlUZO-2|G0%w!^YGf=Ubaus7q}h}rB!dIRLrBl$+^d$eXq{FndT z>`fBL9<^Qjc!b#KGe05c(5y{7>9UDeqI|Z_$14|yT3)&&@BHOYn1}isvxO(*6=u#u z1k0cdXhJLhX|m}QolTXq>V5y6KX=!_DJH-2#?IF|SD|Gg_L!cVhT?%Wh$SB1%dX_| z;6SBbO^LC)7kW>?d3=mTHOswi^{nMyzkpZP`b`%|F^^yfOzLdn^+ocotY_|#;~V7E zpOFY!elILKB4Cv))H+GhN#2PIN&i=hx2S0|}<#loe9YQR4G+6WgBh@nf ztCShlo2tRwg=P8blxHDUZ;qKEWy})4tQRTUvnTjQbT`Hul(V^5fp#)r;j{A@4~331 zuq;=YtK&ixrawb17JCt;F=#p?EBfjL@6et4nQkwnSUO5wYr+U--yDM{K0L=CbH`|h z?;h+rJlqF!?ec0G4)H+37?-1{&>7ald4mHC4wOB?hp_n;x%}YX<{b2(65ZQ7-H&38 zWu6(n+g@}U^$(4Eg!Sm^>7hZBAZyOSIWhC@giOF_^USibo|Bv8j*r{NwW#m$OIur? zWT-a+D26OuVDal-OFE!TjfQP`Oy4xG7=@+tk`Wcx!Dh=72!yY}$2BB03D)$?xB(p7( z!xx8raPbW$jHwxjV3@66h<6ecz0vRw482labtYF`N*8%+zux;dNq7ja0s&r#@85~q z`S-$xzaHQdzV@mKX?OLM{C%f;)1zpry6$yWf|@cUW=(dwviLVtUVq6_FS1PdG0LSF z8w}*SMBWb6qs4|VZg~B<{GiKYmU*TpF2*qQ$>PUS}n`qBBuxepO(D}4?9>o?!8XtOfciKn!aK@x3~Uy*z3mZ zURc_LNtPp(beu6NvNuW?JtaFEyf0f=Vc5b^@VzbJI$w=ct0As<1g+UQtY}HD$jeqR zcr!(yb3(CjJUv^JN&Kp2T>HpCT3qv3|JHeU&Rac)N=JV}uK)Bak^=!E>7!&{XGle^ zv|opkGuFRC5S-PDAvXFp1)Sid%~Y~58W^ImCGHB~8Q+Iuhtd%V?P5s6uZRizWG##{ z+hAOlUQu^$Hr0wAej3-Xn$R_tO;46vm-6MmuyLW|9;@6BDDhv%DC~lJvHqTRM;zxx z=m<17p|=Xo3^otwJyEln@r1PywhPPVEDzcu2M}~cVqrxD`F5_)4)o$36bE`;z~83z zLaFFZYt?-@bIL05zkQ}c^nrM`WL*0)Szey3R{j2w-$ITwUDzfoa~l-g#Zr_Ov!Jn* z6Edj(o14Z1>?X8|I;X5~<7mqNp8aiq!r2q0E4O;_b1I-bUQFHe{wH!J@?FfdxjmW0 z(kdZ$F*_cFLXo!MVpFI+NR5l-fr1JjUU= z6N?uASeh5j^?xy#ny5S$F*W83#lBk+}p!m zA@+^G#Z^qIajE$)RC{+n&6i;MQ-3Z;o^fK`F-(G(n2n@5{eZI3k#}FFq*P8ev0d{l$i0&v7c_?_gU^{)@nmw66rX} zcM$fzGywFo4<3!vEhZstREXE8EBU4dZW@~4lKWT>p!?!|5NN{` z&Y#FlkUOQO9o2&SCxB0tku3M@oHbQ|#RC+*V9JA2xW9!WV_-ciiPK7&mfTMza>+;<#u8l4Vo$|(j(=O)7Z zU{pvdr!AoG^1Iyvl(&IX)1}LLZy7LV9cw1-Arnr!uwxlj)}R0A{r-rOlS!*sE^Vfe zliO#Roz6WrR{Bpm(nN8n|D!wj&kDo0Gql9#=7yyEzqy0*3KG)F;{Vef{Fi+yYHeWV zg#Qoo`wws^C}`)7uSLVi@n7a38_WMEbCB)d6aF9Y!G8eb|Ar4T|F;_d%N%56XZlye zf0=`f%pCM=|8@G`-9biHX7>LD5dN#v!unqZ>Oa8J+Q8XF*u==r*aVW77t+bu(Zs+8 z(tRW96;vKueGv@uP#~xirhoh2p#u(ebA!6|2Np0;NPKSZ=BB2frp<}0^V7Cr_g8IO zOSzxBTJH6n*9@ObL9rN(wUG@_a&5DHj){r>9zgh5B`qC5TDl5aTAKRq=*Uu)mbK4s z=5ks%ft~?SJuR*6*UbEO z2pFEpwUH5cj0wQ_>e_$i?x^4eHb+(!HH9{h`S%kdkFgkx-pT1-DBCeCdrIKSB9>jgB_8NW%D>uH^>=xl$0xW17IWb;$#2m59wU`{~( zalncNM*tDU1}d^Vin8mRD8Jk*FD@@Pu3JC<_T=pJ_gca! zZ5;IF>nd!WfCaWpxDx($3Nj=-Kh3{Q0|=o(^cLT0#qeloyhW^L2ZM&oK98 z2hHhCMg`|ji)8+i1}NR@`}17{he^le#f3Gyd*YW(S6C6AkP*s$y^Hc&iG)!93gEuj z$N+ezv6c=n)f*ax^wj^_Yw%;!_Z#^uRbg!X4A;&_D7l%w3EcKu1Gv=nyS)E0t1kcD z$hhSHYbsv{KFtWv|LpbjoVJ!OEzq0x%SYFzNBjGG@}rjY+dBW-8%(TiWBsG3^j-Y> ztAMqsx$gdB1b}IxhBl`;wi%Q%c=MZK3G}OL;*po0TzUPwEZK=3v?8=NGjOuYs>vax z?g22JRHZFV^P7|Zn+-(X6`hPDKmKo{cGUzp4;*LhcRm1h=85M_&;cxaS&tImJohJ4 zacgF2=W6w!zRn3CDmyERXJ0@JPVfrA&U7v`1CZwj(*}SjD7zbK3>1KJ7ERyw7UcI* zm}3nvYM@uxj|di^aLjJ#k3RBubQ?gFVJ`xkzrvT^&^U;G(pz*IU{pdc0+heP1)Cu# zz2vW`HGpXPF2suO}%;dc{ zI{N-@A{bjfUOz=7}>ozV6kSN%@>>UQ{{;LDc$61vLMD|unf^?he1UZ)PN zys)+EC62viB2$%lGkIZQ8I|%;^Hclx1_e_4|4K|u0Tlpasu`J0?mGBJa7)`n+5CnB zQ?7lnfrzmD0ylgIs``O|?(fEBKchK+$^^Zq_MNo;q_%fo=2i)Sq5AR5f9*c4@tfJ6 zpX>i=`Wyrz{v_f-{=oLPhSzh(B-)Yu&D$Lw<1}{s%b7bnqq~{Ls{QtOuBf*B79`KF_az z9;xRyDR|@&sPhNcvL7y>k{a3Ee#h6dbdc(e-&<|1A%7nD9I~&&%uW*9(1(@y6cf6 z<744$qCw!qQLO1($e*g7`vIbTyY66nkS9yQPTtuVUd(`7g3P{6ld(r^o%S6{AHiOy z+xVxq6|EL-MAla!kJbz!)ctbnNM2DMO}aYwQ0`q~FVs_!GRAeydQ2WYGK))_FVtM95+%Mi@JPT;f{HL$P*M=Tp-#38L?z7^0fU2YQdlDmOo zNO}kkw1_$zkUWrsyi%sk$&yJrLT=HUV}@9dvbvD?!HB(ZK4j%3O@M=Q=h=j&E{z7r z9a1otUikaIneAhilhLB3?Jk)8h_6enYJJcNEyoJ{My0Pt)rS{*@_64i>Km_}{h|5S zvU<~o{kj4`P;RD}4pQ4=$tF3{1I%ZPsS4q+GI`8kklP7bkgG^d4&=FRb8_+E+$Yt7 zq@*~sXSR0;fl4pjxw-W{$u6gmHdst$kE}Q5AN{rc*pRiP*A}OzA#EvD2cjAV%J1n1 z*?14D2js~fy+D_yfs^R7Y?SrrLy|lZ$B3l`r!c-ys5*zkW~ulIWxHg`KH=+GGYxa(Hi_-dVF;W47Nl@FoEf9FaN z<2LuJ(r78LLGRyPy;`tlf}ezChN6dB2w*joqJIs%nhqZmxpdN-&^b)z3%qNu0QK5t z3w{FC71(Z40SKz#R$&0C^|VlK%lhCOmFeBF!0ePZJ!gTDuxTaKjHV-z&48duj}{A45_e zFI~)o6086I5iP?Tkh$V@C_0k$5I>>Xd`>+y6F#_6S4o^DIgOi=8w96wVB@1ntkbDHQDww0WFXG=%n!mijIatQn%rkwX-mRSJ@f=(uMj_)-OH&j9qS zKdmgALQjj5!ax^kWh0a37K7oo$Qu!U6&{_x%37lKT`)m5I-k>u@PK-CL%bSyxZzVF z8uPBu1HMjvA9)#BfQKiI{^hR>84#q$9uHcPvFJQ{kUuao$|31Ga>M9N1kw@|JvbJ(vwU(%a53T4 z_nDGM0}X1K=&ML}EdS!(HooGnmn~+Qi&RB_i(B@B%VFrb^*rEa>M~=+NnQy*cBu-tCX>r zWULxHz=l{#KWQ33Lhz(j>W)q-hQ2gaFwR&JuRMrTB_wL};C3%F zFOnPBnY-@e$N-Fi72SS5>_3=@nNq5Y(<07P_6pgZh}tVzY~T1CSF3y4bFXeEEjbOD zwVyL)Ui22dxE7?$^**-6qtZaTqKK0jVJsfO!0p{$;%XgpDKCPj-j2b!ZTD;nQs8p5 zli9E#m}F9#L$aBo#@15oO2c$>J!~4R=ttqg@1s?;d$JQ4 zNM0??w7zzbakb~RUBltumRsjy4>|8@ZyL|H(p~C;D`W6NNov6ob>5u*UCWW|(|=rI z=nc^kX9=RgxjSluxlq>xhL^-o4&EDEudmc?Q%YLElkqE`iGS*#+UFhG$IFx6%E$Du zjrVO(b}!3*+))q)?)n~srZ_d_wEFwUM&-3V$Z#+F>ptHmRzB#&TAf7Jp!hoS569wx zn0W?xVN@X-&%4B>MAXUZ_Bw0zk>mmOJGU_Az)}UFV^pWNiF)bPnMnc10O)1wI%}88 z&L9qia?vhYQ{FYPKH_e_Xn+q0)c%92MxC7S^_9Y4$p*s`cNjf_?|tfXeX1C}aBimT zqOgu1fw;NI!&dyR-!TOFY$bzvH;d~yK`4r%G4F)g6js9UmXT zdgWtR1(b!>{l~Tyx8?vI80>V(RnM1BY7{>TyrqB;v8+;XpPO6|C$6Q4i~c%fD(x?| zef66(C`=_nWm&TZVF_MCl?p|sL9Ys|C1c+q>;+Ry{!LnnCzR4fDweelX^L&PJluI*j@g{`oXg1s{8u@ou+8y~Z?93n(IZK`KHJb$} zH6P@~JExfd zrAsJ{R3$K9Cry>i!k$@kZ==_f((8Mp-T)`sTd`RpG5?B10z}M!-OBNDWDc8dbU#a; z1^Xyz)TxaziQ%UnhE(GH_0&BHhSzv1r(Tm0sG^b7O-Rg?)||NrA(U|M2l88-2^~b@ z)&`@M6|BDrltaB4jbAX&H>|3opNZ2_Px#$PnkI|v?%=w{du&enYowncg~S&~!O6=2 zIsv3>&%lIUy;p@=s=Y7mc-JAk-~Qp%6ZH-X&x1kh{K%crqNjV%RKA75Ju(S5rh5&q>m;bFmn^8~rgV?W>2O1uxF zx;|Vfs`ipdKM&yuqn4paa%syp3kOsd9*kgvIY%a!9m$Ufp z1+yZXFu2L4R(tBf4@>Xk3@ez8)hDuOoN|ZGm%T2h1+Lz;Mmn_QVeYQGN|P^Z+Pg^h z{4gj%O9#igY(5nN;eMks{vHGy6`l*?mTE zW)e4pliU7&L3|h|JRB{^0?Vsm+XVX(XGBRBErGmF)%;>DQvmjvm^|FtlWA;X)2?!m zbIQ9C;cx;AUdp^tLoCSYs=3g0svu6wiEE$Jb0cSqj~d7TCpyK5zoZRQtZ(2XM%8>T zxJHs`FwZUYd(nfr;Z`+f^PqWmn0;`n{gkgTZHxJb`CDaVRy4O0(s4v(aG|1T7Uz-^#e^5eT<^6Y*PIK; zN6Qiw0{(A-En3rHGH%V@C~@ENFdvRyk8rNsB$(S2p_GV{Z#5FYssbveP>SxBJptXC zhs^ZF98LboRld2`L?d?Nq-a$?&s<5C2J20Q+U1W#`SB57W6q4ZnRzM@1yO2j2!K>F zCCIM}ot--&a8HA5z?_z9fvwN`)}BwvxMu2hKHf@1ytYdK?^T0Cz9+A{Qthh}NXF($ z`qsz9>$aS=gxVC|_}6^4b%>r^wi12E2QA%|^9q5*Lgu@aU07D_>@^dEbZ{3E_bI%- zgs@0NVOPD30S5E8%SG&LxNCadH9V^{wjfPbGH*uwyxhgMa_qFR;@CY$lTbbj;btDu z2lKnhisLmOJ@iY_%3?2QZx1=(`Y*tk#&4%I>Y1Ijykgad&k0*p`3@BDRBN3)Y{- zZ(pGzVMq9bi;qEz^0$t9Tj99(>;!Nve`RyrlG%N%=~B%d6Nv&2Xk?oww<g*;NA~|%ISr`OzM3*#WHIh8^$>%#A5NE13 z4$-6%oUg245Ac<74wp{)^1|F}o~jC3%lo1oFu3Y&+vX|4msPAArE$xWyu)DoS@$((@&V_CaxkGN#wuWM zu@iJGl{4_0_Ayfe49*%rMGdp{U{&?7?V=FoQzH@)HRA7@onZCld`=-9Tm*^!4VmbX z>1+@ZMAv;M`?a`;sr$J4>?nX5LEmAkXiEwQlUe2FqLpW4SrH6F$35N+94=2I4s##v zF`}j75*$i-A?sBuwC0=@*q`42>o(M?wdMfhTpy2QBD-(_SQmRx+|NZi^~x@b0t$H} zEaT4bw_?E+9+{lM?GphIoIqJa6hVE`MDaK^R8Y~n%vW|bz8}#C9G3D|zsW^jKlK=7 z)f-IoL*9*!t_nj;vRKvjj9Eslv3;cMv*q>W%0(}^PrnS9R3cQVSt$mt|3<>Juh_t> z$uCLz^k5?4HWM{MjSUxx$MoSZb&UAsA$ZvU{VtF=U1@KjW)IH13T$E{^)X?i9S0MFrm{@AeW4 zv*qj3FgiZS)KsEY>`S6}bG8VDWcL7U%m^aZ&Z^k`O_(1}=bhYIf`#*>-zST_UkGxJ z^}P(n17mSnu|B>Rr(QVa43oj*_+9EuuAoFR`?@{G2ud^H6Z-kUPf5H1IO|KsUh{)8 znghM8KFn~@r064(>&DK?zfTn}E4*#6is&vyvCTuyH=Cun?-K8^o*b1642~C>Um!y5 zkNXJUiGG)zKYW|MN6{PZ0(s{?v(x7O4Pbr3wkVhBf+IO40oNOxg9RJkyL z?&s~cD*L<6;}!PS8|nH>s;UcI*j8&oTL{b84D0fG)b*IoVSUAJ!@3*PU@_z#BR~59 zvLt4e3#-2@ke%8N>CRym*|o7G3g8-nscWbmAMR>hUX8BMHkVEzu(NCHy0h*EcBoFD zBH7Wugmu8Zcw1x7vJgPC;1vgH=uWmIhP|wXv-%Ohzexb+(e-P}Tl90;ULt-nvqUe@Ltq-5_d()L8pLo0N(V&(LjE)^VQ15Q~x!iso zI`tiT*;-Ur3O@!eR7s3guil@EX+90lY95RZmy-iShh-AuAZ_288>gsn?7C80AgK%@ zUJ2!D&=DahO4C5zPU0`5+=@1_u?!Z_u2{o_T|3b|i-bqfn5+RV?am{PWfY-77oj5NK2aqjFPAco zrDKe^Lk|gkOx2TPioj`61?sx*dFE#kXn~No!#R0fwFp-?-VO897eNmmUcdmfdpNibBH8To~*u#hf7EiT*VtUKoFfLmWA8U z>PU1q#8hVR2Ejm1|CydCnlX-M)ggPE{R%{Sg;DvDptd_Ju!<8w?KBoYJTPZf{G32w zdH)7Mdz44^Tu=q>c2VI3^)zN6J&KV7!(_EkP;!AX1u@AM^9>=QK{N9r{v;z9an}%+ zkmay>OX-tDHbCGyiR%mCOxu;^BN*fj<#}Xkr7}n7exi_7KnwV$Y_`KSCkg$Tdt&fpMci@kEhuBL1hO0%RY0lLo@{W^d#8A~mT9s!% zPQ1fqK_bZuU|44v436Bq`rp{uz~8r|a%{!Q&W4fFo$_HJ0FQkLpZMhY;zdp@DDa$y(iHg&@>S-nwwamu;=5A?`oj#URV`oLz z^1#rbh@}&@HnoI31@w^CrOdhpOcn~>L?hw+dhVW90PJC@J9X2b4`WWoDb!fF)8={9 zJU3qzrtueW#bxu9`-~D3d$?6O$>3LZNJ>NpX4FtfijrB`Ysd18Z@$u!!Ar&& ze{$C39&iP+*jl2@@o^*xY$OXn8xJiFFXy-2{yd}=gW-7u%`&%5Mdu8MPnaKCRijf=cuAkzTI3+okqwOBbQ4)tT zDY)J$F1q1h_Pf5XaZBTd$VE{gJ{fI7bf_(gi<_Cg9IOqw)RTxT^v7a1-cX`iBv@HX zc2pBEooEQ@5A;Q3w6mzrftfZ_nY^mC4XxQWXV?rRePf-UHaBOCd*^q z!&!@=;Tx_ja{<9d~^pLUyvWVGbPAp-h>?qp*d< z z6e~7muA1$b{u!yy65f&>Z(szWSFQ<6vEs@qh78QX1bZbanbxZv5?#_MMxe8hb9K%Imw887BTc z{#3TMmXgIq2=#3F7=>3{S!+q7&fk)E_IAQ4^5JRS1(_@#E-c`__vMcWs&(f6_(4?b z7>kuGw&6DQ(Na~zr2>`F%z{8s1KOfcUtSxvbpq$qGL7dVE1^vPR2#K+xxDZMsB=Mk zRNj?qA|nEg7@|46=E4zACi_l+lEm;*IcZJ|%7k|A;r8-1WDQQ551d@CT+X{hu>y0r zzC!#enWe8*Rh$Wt2F0+w=N(>ZlSimS^upjLds_@LS*nSVH5|g7&%Rqff3jJhXPxH< z?H-({JVXnqowtCUHS{HPvy*^@>vJimzDjBe zD2axk@i+P9=|XgU}Bi=NXVTKZfx9S%_-sZ+BK38(a3g_wTjxHh7lq{KU*g5 z8Rb^RcEz2h%YHnK5m|D0R!63?3g*Uep&YAlJ47zqu=-i)?tqepusUNO~`T9d&0W z+PPdxWZm1=sl~v@9#6@Wu`in^zX#m+V%xw_$-~6NrzRG0>)uvDxq0L&t!|0Z($3Kcj8h=RTBsZ#tG z8#jOe*VsZUlJJL5v^^}qGHGjEE4h>W%uJI$iYpp}?gAPgY#X6<@BUkm*E^mtz^*qv z(lpHv>P%V4y?Qw(3{CJUPB(Z%r!E zTv7Atlt0@UVp_^V_~@vf;ie3Eklsbvw()g$W3Zszmc(n+;xlS(oe_LOuw8oLuo3OGX<6Yz{m2_gyvSbanvcaSHy1w` z4)zz2Sc?GoR((3p%Px(LN3k<%&sk%Mqkso9R?W)H6{?@jU|k}c`W2N_l=tTFxcclY z+##4kx(RZZ9x-Sn1RE-yigpA;#CP{;zLy4Nt~lNYiqkmlyI_TD_GnI}nawGkwU`(j zeVgfylUa`S)_PG69M9~mL3b*G!5EL~B&mEZ!j`(;m!#sz3LRjefj?+m3AKV*S^nkzV}kp2*C@vkz*aKr_hKu7If5?r{OsJ4BWgfvm$4CUoXx7%3 zabTD2;KFz!i>NWm>$OWRsp;>H1*6=sb`dLrXo=)|8%jX5uVv#Wc;_dbh?lWWisiIy zq?lSC0UA`8c#S1dJfTVn_24~Sn1l7lt1PS zkD6g@P}Xd!nUi)$=N&z7M1Ysn-e2;RZmZ=)HLR0gqxnNnN|T_xx4t_TdOH2-`5AoR0IIIm_=s#&K*5{UmSV3CeqU}K4^^)F= zqMI^WsliMNvppM>C*Y4vN1XL!@oY;y(a^YUO*m~a8x2hN_B)S(ogN37&?qXgdNh*L zm<>L_sNKT`X5u=2V;zGuzfHI`25~Q^tIs^X?bX=L-(8N?*~w%{Wk2o_wiISyUx=GO z%IF5<%-DG0SuzJ<7Es-GdVF}N1|j{76k{-!80jl=XM3v4@KS9Hkk$!xfgw|1o}Ss zdvaw51L9yrd7KO>iHf6pHlA?NxjTLSOh;Z&H6-rtm~{};gpfY}$aYWXL@m_e)md4p zp^T&|)9jfsr*!u>PI`Xh#2d|L7^c;;Ah|?IvJ|!s6J{FDf~Y5K`x2Y_{L?!NmFG9c1N_p+A4sl7Jq5!HV_ZFb> zdRDL| zL*vQ!pKU7#D;e6@hQuAs*_QnCc8f$P8Mam>Wx+kdB4z0)BR@ev*{7F;hi~+Wa05!X zi_x-Tbh14mgP$fx*e(y;wW=mMLHyPD_d*dgk2j=|Fo5Hn(`vR;ax%`B0P0A*fC9W) zB!xEvoUZT4T3w%!38IIZ;FT-8qKvfRPp{F)Kt&4oUhShlt=`1Gh^a&*&Ak<^g>0;* zt-88p+QZ@|)i(^?rKF)Y{ALT>?Eo_);(+TFg{B@~Y^Xb8V}lx4Jp zQ1F+zn*WAtIkcE)bMcK4;Q6wxjlDX~+*3tgw_577m%q+b+6?4pyteT@mo}I(B$uqC z<5r2I?p!?3k%CzRrgbv`7ce~t_AV#83n(Ud4lLwj_6}Wbs4L2e*||EG8K|LWa#AEkITb20yuLQu z{PeEHRf=<>s{?7(5VGz0;_OHglez-*4Ziv*cIap8N!}@TR-8R50!NParI>vanNk`M5zH`AT=Ps;2 z38c*|xT6WNAjPrw^<>g`**nM$iROC}CW0g(V`J=e66ZuF(|fx8%hwOKIZ@b}8g+w` zv0LFBr)z2;*e>=8BNO?i-W&E&;8kr=MB(l-W~&`asjFAh+wlCH<>pIFyps}1S$-2P zcR-nwJaaPy?(t{^DotD4raC2&z==DoZM_C+Vk)~HfKg;%=~tc-!AK4HZ**CD(Vxd= zxse)8XQy`4`fSbOBGWUMoNQgv(CaFlEw$q3?;11s@Q~#(j<%Da6-;r@ObWyZh+hXO z8fHC~cCf-3`TDI`SyT~VL`{If&8BNHp|)vA7LKN*&e+YYYYDsVk%4jsJUv_^#;$kn ziAOZOYj@AIZQHhO+qN-n+qT`) z?rGcR_Wqyy+}#&@V_)2gjH=A6$cmE{8I@I)=X^gPerh3G%VY!FW0ST9Ps9sH6f*HY zVQv$osGW&-%nZ41=Z@he0~-h&f)m0gzpSIe_6qRrUez^O#!HRk3u4y`u|26E^b7Tf zH`9~7Hyv*@O3sL6CbqORY7ecyttKmWWY{|zk`>j^C8NpB)V!0WYU-?ISD~qyjwzT!uI@9@)$DX zuDcX|X3|rCpU5Dy;*a9$XAb*kY4+VsZlbXgh81Hh-I=J|YsLi5Z5851e44J%btaAQ z!(>q!G;`4=VeXi7m4uu`w@Oz1T#gkdchxW4kqDK7^Uni7piQHE7`m$d;ROL!R&7)y z*|3==w^_Djpi#XG#1p#+vG#xiJjL=>F}WgV@N5}YGVtIm{YuR_(A>J&(lUh%Ci6YL zeX$UXTmoKHxGxGHzW`K{sl$K*pUKpwO-XyMP6r#whZqNu@Ay@6hLWMu9|X_a0SlY| zdA)ULbrqbiZCk_e`lVrJ6-VISw3KF<%_6F`$C3y9!Ee?`@qWvd^Ml^i$Dr!?aJJaX zc*ZrC;YCFgSz~c?n&SwwTp`m|xv@sat;L=tWOgF%pE`!Zi(thy{vI#gT9_A7Jq=;Q z0HJCVQ>(C;-P3uxdM4{=v9=@fSYzv`Ri^ZEhP`N;dk=!xTTwiDJ*sd&Gg$7xl~WvB zpb6{bbfK{=6AK~6QS+abmh}j5iX59yW#rkyka(ig6(oGrg&b{qDG7{esSYHti(w)e zA1iEpC=%|+0qbmh%n1WSPzkplO3YPrr>(U@Q z{Lye^c`r=}DyRa?21;imlG->tK#(WLE@EH%5RdHOZHU#b_%6Xl{FJoo)Rc!e#&(KL z?@@L;6OlFePvt{i;V$M^JA>i;a3Lz~2Jm#3SF61}Vk!%=vcw1A>5`wCeWY4uyrati3@tn%df#Inzg&p!H;OSb z3m4VgfNrv)FP*LS^-*c;R;s@$=wkB4b}&uN1+kNsVijhL28z<&4A)R09T{V{*+HG~ zgs%E18L90(+bcgdpm!DeiZ&SaC2h5|ufX73G6{Q&cH?{%vz1#yJ4<%Wbl(l(bv=F* zyS8|`*?6LZv;ZzR?7?!519fh){vPSn9b6SXuMX}oUs4-8jccD{h4)G#EH(%GOPY}W zR0#iL(+(%*m%JnOUZSV;2@gDEPS)HR4io!5(~RL{arr3qI?E%=ue?VR`AUzcr2EzJ zD;}t?x+Otxu(KJ##c6ADW&_XaND7pj9OikLzkfdAS|^iQg(=hLY3koAC-YQt@_RCo zT$`$q{yBNF#Ey2~|An}Jgxr-u4<%ooP4#8-6Uz-&IE~wp;beD@k6{qu#JXg@TW%Yt z$*pv_Zu<0kH3pi^?HgJ}*v70WR@IE4J3E(|SxaaF{+7dS?!E`OglVq!L+5x-2ONO5 z;giIA5@J;LP~-x5?yun98D3IA;N0RiK8|1^G~FthY3VVSH=RXCc@T5>BBv2WzU{s z`zC2uzo^fMeIzxKz>ECl0JLbH6TGF;*{;eSZ0E;wN!glwP(0+0Ptkx8wLm?u1b}2@ z&LBYgqhTpOSROifuoSIdrt)YF%9$?9slj&!PMEvy`Y68jAX*wO6{1+Dt=$O`V`c)M zQ605Lvkz|HQUA^QG{wVSc!)DZvo8oWjd2vOfOx=SjTE_6mN$>c8H1u87y{UZ8rm1C z^}JIyX0__rQOanjS8CALDoB*s98WYd2Ti(54IVv49G^1WWk5HSLZy*ZZRcbtUM7hNoq;TE7AJ|^?~uUotW*&X6=NWj;!N2X8q>yWRKvFCdZfKehPQAwcP4!ifLMIcf_%H@%6HO9E7sdEm zmoC2t{VgzEUwv4BDUbH_=K;pUV&oL!*VT{mjNwU<;_+3Wnfhg9cH|CJX&lZT7d3M& zPj|8KmWqC<_S}LpqG827C#jn(A>t!)-^FT>gkru=*Ta2+eIqRZ(@1tzTlxn zHY0C>CuZL+6sbcyaWcy_=gD!0eslI4CC^hsDOrL277`?G{cK8(2AAulM%#z)-ri1H zM92d!bP;LLH*S40SxH-z>5aVx4%Mg#z13t;QINW?CwXSU)*9~iRq}Q8FS69LuREyo zRkrJE)xW8aT$CTxraK)B3!SU0+B0srd`lK`@MS+W$-*~SAv4ONZrFe|AVip_Os3#? zDRh8yn+{wyPG!;@ZLw~J$C*FIh{I31Y(7TYVq-MFW$Do4Buvoq@K+-v%m?vwIi`cjpfn9hAd0Wi%g+6L|Fb|j?NfiH z+&{jq)+UR$BC=SQJ;rh2GmMhd0KXfde-dvyBoA)^@X>41sO}Y?JG!)KS@Ro!P%2qa zURK zay{>CSeP!cAPBx!TSPjHEdw%ZkKr+ck03_JL95-3EH53GV9*oK=_@W_+X(4j3z}C~ zfsE04S#8EO9^Op%YOx)Y9I5Q~7+ zsxv5eoJLjSb~&zJI!nj+UB#|Xz_H)rBW|Npq3GSasfxkiQi1t zLmD-lX}`B;%U0M(71%PLpff-pR9#3d{Nd6gL(~u2BiL7YjSf6f=4wL3nc#LP6DmNA zk6`J9Fp+C5d%zv7??I!pSi**_j;t8yqFRMoFdmQ^FIlkm=2eD?8d!9Lw;lu}`rWwD zM14H8r&tw&=_uLR(XT{pl14)e{cyixJWW;5+DCfAR4^eDq;qH#0PC|1@pV-JB@j+( z==kfS_9!f2vi5rD>&boKjS<@CYyGAnD2S(H2(zD7%(Shr)yVyQwp5MKyW^oGATttzFA| zTL>kReDYYWjVxh?_Ka&HF%Z$LyJ!8m8IF;=W*No6X7v~Dv)6JF43zpCFuEqG?H1`v z?*+ItCja*YltYTvMt6-UDO$+qJ9RT3(BK^GKFhZw5J(>*PQG|Qb8b)Vko6!>Ax>2e zErf*Q!ObE5wKyetOp=*kyib7v0`bL-6P^=-F8-TCCn)Mfr|>>W8v~q=t`sp;$H}l4 z=Tw`Ds7>N}>3zYj!>S}_&&a#!24j~fBQXn6rf~N;P}a_>F%D% z*gslqa8>n9d^4(k2TA4J(OI5HruFQSg|-pYimZ$jke!?J<0tw(O)Ew^=M@yd$0~&x z@sQ7rzk0Yf&R-Z4d^Z+Gc($q+?SNL{(-W+OaQ0=eEcM)Bb1!-PH@J!TWh2TvW0NwC ze)%l6m4Zg4v9^C|#3* zX{hnwi22A?_CoiSy_4;mxyQd_@qS^WKvgh59?2BI!Ll3H`ijP{$=y?PKdDH4_!7iT z^f@J}nOzYD7ER&*aax`8s6lpNzOgFu&yrn=ezfi_ zn%{b&8AknDl=tq*#%-&l9a{CV5w4#N!KT&bYBNnMTr=B!?$H~@;`uctNAa8)6>4Du zpP<(_kD2HY5GJuAMi7K6x_DDvQfy$oqj4yqubWr#YqF#+ye2McvbK)9cY}(?Dpr0H z9p>yW8Ik)O8%dFZ>>h}xhLRdlqvrUX9%vf(Cz8{d==v+O((Lm%XA7;=L2Vfc!Mv2| z3IqzD>EM{;0N*~@sGjS4?Tb~`vKdbMUHcP`3N+${W~H68v#RlMx%cmc(*u|N5!B-sDkMZ+ zc5?+HndyS=P?Z)c)k3HL75yl*e81sntC+xD6n^fN!uqP0{_YCc(?lEAsB_3^ePto| zD@#DJk#eBv7@Qabs^V5jvV@pb238*qX`KVMyFQ4KYhBk}hFH@wI#5{$q$dYeogCKf zuu*6GE+&0mr)$}C53SqC|1yFt=p@~|=%RAZWs=4MlW84xkrejaFg5=pBR>a$-_$KH z{}eW`nOnDDsrQ$WYvQvbtvxAYfly=hQj0lSlINo_yDEh0pHMhomf?IWKBpqZNVk|V ziuje0IvX;x^>WYiVyr}w$^1Zv9Kesboug3jyk)Gq2XmXA7Bo%bSm07^K62`QqkI@| ztL~JSz^sQy49oVk_w8Lw$MoNH?36bzQlN=c6KScb#HXM(Q`#wiOhnZqm>WXlIsbI|GV z^ih--qm2_F`aK}!Ar_t@O^81~mZUz2*7$1R&(r7Dr zPj=zWMFb-hwd43z7YM8+850u2p3w}J3}eR4Qz{Om7-?}!7s*uwlX~z_ZSA}&`$afZ zwjFOcnNsMPP{Lvz5T?*-_10w|zN$YuEJDGY1opnXZCZzwuXBEmSlM-^5NqKUE54es zNob*Sl#z~X?4_!cek#PxRzsT8!L3p{Qs=GKaHE;7bR19cgTu5;7s!hFo_Bcf%bvZ0GrC=rww4kg4-cqyWvv*akA_)7M|j@2z(by_2`uvONTP^M^_wHrd149 zFP9O%S}r1stvl-+d_6b5#0zi<6^kcDN$A;@J6)!3B7yOLb<>=%{CkTCu}%TetLHXY z(F9(yErvt)w4D#JQ4+P1uvP? zwHRVcf?L*=m;t;D<7o)rgCke>?@q;n^>ePF}#*1|94 zoyIl5kn_cdHbB?v#*o|biB}Y&L&?j%*i!A=5q8RC^tXjhDZi#~T8zU#3je8n1=Zbp zMM<~05J?%6GPXW@QFi_w@Btu~iaKtC?n7jZE1gtt$C&`;YCFcSPqBJs+ZJBctG|PF z@exj}TBN9STiG$!hcM(td1!xhvYxbX=KByyw$mf(3P1RO1IT^XUyW%-IBEV7CI0a- zQDGFRg4(nizDPrW-Dc~b4tX(;IE1EdFC*C|BS9Y+^#{(W{8Wt|#cumJV|V@P*2tIi zIYznwF{JD-M=LQu&~DV1=$A>f>yN}(-Us_Tk!ExAgrqxn0! z9*lv@pR;P7JC(#w^?l34+*J+;h@Q6JK|0HHeh%y9(+gFzy7@hMEYS zwoC5>Te1r>JD&>9=gy|CV#wJ@W$EugCTt@c){9@mP|SqamxhQwx@zq?ZCC%L? zwo1OM;{i60U*pJ_M|>ojRsW!>Pfz-i zK-J9AsFKxU;Y;3}J9{ls%D?0S6r4TZVRd=imzt4llVE&N>@2{_4KZQRo?kb z092i!+tq4Kq7)v$f0(yAt*-Kx>ij&Zs}5e?1sK?r0y9~5POza6pr?+mxBG5}ujc|w2jN;PS?MB?^gosOD`YUXW;xm>4)c0xiC>_h!dI(hqtV%h2~jn~vi85_25B>v}x)lr)fuaJr> z=qZk@8D=f3L}$X{XDw~Lv4*IDaY41$B{Z~sxViM)$Q#6CZ= z#}Tw#3m}@%g6$AXY>sba)%}5fhhfY%jT9~PxfTD6nnwvU=>Ob96f|2(Sl%q-)g#s z3^69#RSN~bYY~JvKP=QFI3zz_H)+f{TYy>iv+nXmteACIE3HkijW%$_OnWtNWqJ_4()vL>}~)GG>I$-W9Hyi3KeA zKQxdI7@|GtAQk-A=as}Cj~eL%=Za8rUjys$;Xf zc#D;xE~@$kN^#dlCx7P9pj|?jW9bE1WBsxQaiKkO-3KuH6^N3iwrrG^&yuVh9=xcDOhaEJlZ;2ljgHoMVB zzTMfVD%cb-@CRDIB*@BdEZB;p^PBXEFkw0Ck!Q zv-S?Fxq5dsm6A5Du**ZEsHGgBI1@AvS~diAhCnL2Co;vCy?ITsCA67#b6(9t?`tAS z)K^r!XBjfrI&7?);Z1-uj*~Hof(TVd&MCY_yF?)5K_B^?Kt=of%M9u@e$%M3rM2&E zQxk!55KN!4^0}{QF%F%b&Ks1?=p{AAeTOr6yo9V`Df|6cv2iUg=@lR)#@iD6qZ;c8 zddjPDP$n!RiQsv$hIlU9h%lgP=5FO>x;*eJA%pfH|2UMQ{TB`n?>~)CZoban@}8h%2w z2fWD5qqXu7iiBVs#E-*?g-0W}35P_wLcBh)>d=-Gy&3~kM^L&l*YS&6Ae@_meE=UC zSVr&8K!G+Rt$kY!tY5$%|HS&?T*l%UhQ>@Of>9K}b^*NP*aK1s4%Ihd#I9Td!~1cjmT3qJO!{ohV_~xM+Dq=kz}R!VI&b|XZY8hAMI-w^fkq`p50pE6RlhetgV2V zq$~8R+HaEPb>skB5(|bkB=&_7oOg+}2m2JAi(r+P@b)?Fdid7s>Q$FecpQ%!UcIWJ z64pi$I8&*U+#TH^adH@H!mC049nYWUWGm1r`h$k)hg#{`1=SGEuI0hCI__RRP1H~s z!B?_BjaoLM2vhV~6zR^^8I`k9Scc3mFiopF*O!0js*_piO(%$>UKEjz;14!9|m#2}L;EZZAqn)HN!%T=(0%&u!5XLYiZqUdRk*&ahe0uNC&w6#vrkT8#jxhLvw=YmNp zDdD1t{vPKHOe*NXsaEy+#xKZ&lW${y`MagTpjZpM;CC4Ewr=o#x!>j4mtKR~DHA$< z9w%Uo`FZ(=J~Pq5HWkQ2r*SWy$lfG_whv{#ZJmP_pPK`nAveVcKGD4F#^LOs9ycb^ zBAgQrgXqjfvnG!#bt*BdD8oA}Mj64;jgh5;(;ayOV-`7K&`gCB-=kJCqbFL(4BJU)|3m+~;p7ZHE#qCUUxW z4{THH4I)tEpqhH`g)V8}SkEaA)p#I^)o`rMGp-k^38e%mTg==P?HToI@a#$#EaM-y#id+j!`gR2(-5ua@Xv=QxM(U!T&hsxFC5sR z5-w@B+7+Zcvi_l%f)$AW-JkL00CSX-q(orbwK;-wuwi6Kpgm10P9dl0*7d4u(IvHg zRcoB|djHTg*PX<&)X|1ug%D{6)c!4af8YJ{X2Iba^B@fSNJp_XNV{S+MffaEMqCDQHzWA0ittSYIi z#Hbdn;gD%q&5G=r{i~W=)7{Ck`u9@I&GP{y46`HCES)Q-W`U{m<4qd9?8BX24o~=D zle#q@E2dMFo`+qCSRO*$UO<^wFI+iE;veBGiZQ8STAF#(?+hp{(4}|=y{N)eP;d+~ zcTHoRrtS^WcY(vYkmAG*B5U%**|$$czw2%}xL9M~1)2o3<>GFR26&?Aa@RT`?G)Ak zXrqq&GSaD_QpwEl^>K`hBds{a2@s>7IA2E*o)Hc-vEE0QQL2vjqd)!xymioA2D@PX zTm?5Q7{5=>$W_|1=QxxYlXth*SvnMvqUesc8!532?08IK^M3+9-{8`vTWFsrBdaEi z{n?_82k7I#xwBl{koMt1Nd7IkB|14kv4DUl3t~o}FlCCzR8k|}ZkSyzu1tS58Kid0 zqeqN1I_~t7T+_TNkoJgHlnZtT=74!7$OVNcQ7k^3o@U(5ar{W7|WQ4nqGZ6J) zA;9q6F?{SvO+T(N(3$WI${k)8*Tz(Z!*~z*a60+IP-_t^k)x@)xi+izmZN-oS<AZv$xjIO!nsG zLwQL(S6d-bpc*1&K5cGF=*Oh9`6;dLrpr3qu+j*IHj!7}mp=&W^CUc_T1Qh&hgwJq z>}AA$(FUF=vF(ba5A?pzSANkF^u2NvLX>r|u0zGJxxzZWa#Bq+5eR(;b^A$d;y|h} zJg*C(4Esogb0Cpxo(p)mL(>Y_#T(0cJ$`(xH(F6mXTuj?=`X6U_j;lp60l0fQ^kn_vtS9vCTyXpx;>as(~u6F(u>Eb z)1tdC_jvDt3OxQnXR&#JrsW>$K6^Yy79`03D~5{|gtDPHd+LB_TaB13+QOluv70qP zAZLEQ$KdJD!>KNR4GBX{Yr+aBP(qpCe{w}q{wp-=979O<57!-wR*cIN&dTsgv2Y)= zU&ld#cmt}_J4~GstTFzgOHEB_AfvMu=*mP@SaQ(fs2h;@Qs{r3ritGpW$vPa;~8L6 zok%;svrQgU)#L@Mv`{foffK6*!2*0(a$)OGV663v`iA|Tz7tnzCbm;8*fKqDo8t%# zby2{*IQv5=c%Eu2C8vUY&h!|e!e8CDDKG1CxSOxnyR5k@KY*^25ab`pq5E5g0_|pd zSgTllq^XjqT#0dkm=spd$x?n(wOxWy?POTmo}1IQH9*C+oK990II3jr1tmPzU6|kV`4oyo z01SOwX~TGTxEux7ujX^U)pA2fRdUgMt>(>~N_+A2OB}l;{_0vW%hj=U&{U#@1u|}< z%u=`usZ0@^%Z5kW<(P_ECGw$HK8Bnsl#6+bi$kYsWlHc*Rq!S;e~F^+&8iQ|#8Qgp zQCZTjn@04F(x@oT@!YzAgMDG5`OhJQEEI<4veR<7F5n7$u-oH&HLCUypE&V-xW*u+HaFAj_yglxa9e{UQVo)il{};lS;SM63(017Io#n+qc6;tNFcRXjUEm8 zjnas%8qjOE#RmbMV}b7wA}mpcZEEX&g&FE@*lRV`beFS(wx3ADA?-ZLRaaG6^e;bJTe#nC2P%=Fe*}Dz z4mV_K{`Y0es;V^sks)m0uQVRzWv5cE&XFEC5i7fo-ECDJd|wCPoa<@ z5A_FFR}WT?VScucmQD8N73l`2Fa91XcTFyq^XK$_7dOJX<%udE~ z1yxwhS1RHIyF*fBh2Dk*3|JJs5&vm)Qw+kMV&;`XBR6>os&0q~BOboe^`;+!c_pps zsiuWZ4c$7X0MsfrMlVpIfMIPIB>xiX^^R>dg{*w{AqjK46X>O5A+Ah71oisS%gyq@{Vy!vfjGDhDC3+^!?{fyr_1@4kt5G5oJt=E7 zf_D?Ju+ov@7EBtAt%v>hD3b&)$8r^`8qZspje4kR*KIg&iy<^%N^R*oG{`f3Asl+e z7_5CD6bxQ#q>FNA7(i!NPxLJEZ$83@Mb2fpl52c=+b85{$A&Gg7xWX>K_Mgk!OHNMwhTt%6Dbo>Fc)IE0sA@&VL#_h+ ziirp175pGK$>j8PotL-pbSRqc+=0Y}qsj z7#en8kvb-D{d$Wk2V@>~UIVt3kx1GE!!++EOLE5w0po;xwfLg@YRRFJ@TVhR=46do zyB5VJioeFewa{CQ`Y^#jK5CV>_C>-(D%1$4Z?9X2F9lHonex)6G`3eOE;czqof+#f z(AhLtJxoTkBe~-?x}9c)XI6Z2{|Y1_(&gh#Q5(Oian$Z>1S+ELq~KFa5F?At6N4S- z+(I+Xf`pvD(R$9+eG(+WM~w9~77O)sRg)9Tbh>mwCfsXF4xf*oP1S|V_YT(Be0=O) z$w{kdayGZ$ALE4>232s`5&HdE84-Pu#DDB`}d@JK3vquf?oJ!yJ=G1OAL(UNhc2Vc?kna;oa?K3Yl-Japu7FN3aoi{r4HjtNKxn{yWtuV>SVvlITYbe7CH??6136iQ~>9I?X0X`A>gkGD*Af#sUrA zh|j*+Fu0}qyN~U{hb#g~<{r!Xmmj77bp{?AlkM3@HOtF;5Fo~sr3m~tunZ%XmqrTN z8`a*l_bk@uOsE)$F;p{17(uK!i&LE-eAx;$!xb4Ft+q?#zwsMXkAH6G)%`x z0l(#kdx>H7NO5(t#1(>wj{gO9CW^dq-#{IE5=!NV9Utyn$F;UHTx@-kZAM7PQ+79y zDLG>jp~AllYpY99g4*F5-8%hpm_krjcou_1t$a`h^~kOVvNPNyXo+YrSq5(>xudz+ zwL2gz;QGMZ3-QJMGsz}I*o*6qos^NQ)+||^o$5kEx|tK0NAae<*+AeV7|f!-#pHC; z$gvGHkyNH^W?jSO`p(1*HrN<)Jop<%4ri(f59E$ApJbF(sx*#|}M8C~l&C>d+o%P!H0vc5ZCyPy^bqDHgJ25HL zV5FbsG2L)Vb}_fuzF0@DM-v3J6+|#}xsYa2HMT0sjH!`G^@~AzeI@9`7ab_{F|)=F zbpl!}l-1jl!Tx^ovi|qnOs|a|KI=2gEGiVqv^7bUms0lS&=;A5bcb?=wgsoMQNI=q z+RA5c=Gkj2gjyFy54h$Pnbo8o22&57I$=iRFDL5_W3U-k5%0XgBP^q%M>zbwOeq*s zw-Z1xQA`LL*E*GfMf2Bw35to`Pzdpxc0qY&BF^E~06IB^lm|t(P^b~JVX&3w&Kh5I zSwBtkb>&Ub*_b8n&b}sxk9gPXuLKmOIKd7gBd7j{D9=jgEZW=zFEZiiu05p|bq%fx zP(@hIlqCO_o6pO^O(Lu4ecYkdCu^ob5Gj#dVssv1%WmM}Vl8OR{ig@yY1`G!-|Itp z#<6ciEA_Vr$3@eoV^qD|w^z_D91n*h;VGpP@wR?$`d&WXLWA9{Z{))!KX{OMy_`5cYT{yiaaet4x!g`6)z@n@gh?IuxpkB zzB$*LJn9hUg2-rsyt?9i@puPkYRkfY@#c5ZgP#4`Q^iNBiaHpEGdy=s+I9)6CwfMW zmWrus3-_PWII4~ms&owxo2#CkohmoUYsGvJVx)<*nshck7h$s<6Sk(P)?7U;CZc@TRz|G-umg*KOFoES06d>A zVlH0*7V!AVkLh zbJg+$s-)J=djjHnejE6eQZs{laR18tTqDhY{BYo+jC?RC%4Z-zbWGb$kV~i8k^Ig~ z=$E(RuA@eXzWk;R!TY-F*?HNQIHDcegu>slQH$}9a_foOU}UoB*GtnAqzx|51plPW zNSTaTheWnADVS+nDc~4Gb{cIm(nj}b!fpg?VbKwk(6TmTRjEa9W@R@0#*;@x9l6c~ z3XH0AWsbaWTZ=5EmT^nSQLy%eWFOjnw-`AHOFc5X-^7-QFA-{=v=h{#_Kp}lGIJ24jmw3kkVE*+g3d;Npv!wqNfm2Ba zjh5XH>PoV|6xwaM78F|x?Bd%>drh5Jv>Q(;<$@Sq0M)x8ymin7jWfAa7a#`Lp)ukWcKp@Uc1=N?7D z)l`Y0IF%stOK%UzPTP`I*MWUl*Zy>Rw5F4Ijd#a~(Ag#lCE@RAa%-W*_Mp0s^{@m&n$!-AD$PyrXw7>$U1PrAiKt9#c1Z&@U8{X_I+5O)uCkZN!A~ zIzvc!6kcgfj*vcxH0=8QS|gu%x~?y8|A#Z+qn984Eza0}{R>Km~{f%Wa$x+>b`Qk>U&qI5K7OjJmu(1Y8K6;*bR7E{KqL9vy?$zArgXQoG zo4d^Ur6Ux3$CJhRoQTI13*HFvu_M;D&m-X`Ww&a2h7V!vK*}t1RtqU)Uv3?)aZ6FibPl~>0hbr`Rg||;u;CgIxY4fAKS=;j!S7qDYP|m zHv83^m|M0fK7%|WRU#mvjFXw+zxyy^b24WWJu?@w> zR5H9`x^U;Q7?jJ5pX+j|l6WMUdi;y^PgzQ7EG$iISsCefawc=P30`?Gl+-T}U{^D= zv-{5n$M%sfrh|b+PUJ<}gC#bVY>h&LSgaF6ENLiRVn1oc+%P~D@X2hu~CUg5P z>EbRgIATF~ZqtfEUF{2T_;hsdBofa9<&cEVvhQJ`3c|w~GX^qhR-W++X@UA2JGi}g zJO_1fF%tg{py#hF8bsFh?v-#gb83H26#kQ?muEFrB`G+q6G%g^vX8EPBzqdSqPEJ{ zc>q?yy@ec(ebs@_ zF;>q*WkU`tUk$DrfUJKo;ppfD9MQ-2BTP=aV5{%#RuQXp4;0Vmszo*m^zLlzc1z9otp3`A2uEN0f%i8Q4QV7b_%fd1PCs-a3nwdpA;8elz{twP+1kX^`M>jy7G~zo03(2rowc3q&)&wy z0ALI-wzIZ2a0HkDO#XBF=QbKRnFCDRjjRo90Hy%b|CuZR|4FVU08?v#shx`>zzkpx zF!!)GH?aj+04xDk0Be8^z!qR@VQT`gb+Ix0G04Kq7GMXk`>C)8*c&*S*#5_s|K$G5 zk{_#$Ol+M2KSv8YV}QN2ixa>B;NW87i?_K z5#R)HGO@AvukJaSxc=DYWZ@2Qvi_ePat1h?JDQjPoZajIE&x}68^9gl0q_KPnmF1~ z{};gO2kvA-^fP|`Co4+v2kS)izlIe1|2Cxl8z05Q%KHEEqL_);*;!fsPxL4bb|!YB z|7`zvdQ^-nxH9U+1}`~Nyr?Ec0V^*20`(R(+lW8%1{Nu#I2AdJcm!2>Q#i>MIgujD zf{r8&@id3e`SaJ;w^PscMfRmf4Oi~F=heCIjJqvXCKNRnF}?wgIG89D9b6)K#Tm8~ zumBO00g^ac-=Go9sC(ZRKQQ+ZV-p8nMEoaWCk+ln|1KjN6vS~!m@rVY54XQQ6OpzGGiA0n7#h_}I?6cli~z?mHb-QWH)@iSO_P&g1nzy$VGaQ|Xp zZv;5|=lD0*_)+O~@_}JOUj{Xv5g`S3^VC4WV1vG8pUoa>h3$u~^?&r~9)tyufbD}} z=diDUL2=AaV2nPP0{Ni^PSZ$-25}>z!d?V-36R9H2d@W+`Qc4SiNHp$7N`M{pynpyDv9ehLu zCLu}=!2v(t1z41So(2Q~ed{wY!pVbxfk=$|`!fQFrU=hy?r7UBfMA|BpuWKO&k#on zuQ}jrye!0C6vX5!-@mi7*Zk$H9D18?Gz9VG z8ucN86MxXZ>w9b)f($rtucz02i*G%jq^j`kXG|7{fFKEMO= z)wHjC5!5deOn}0H8UF3s?ElF$G>ff_>x%kz#O16NIu!ShA7Oc{KS_@7baq)V z8B(CA5C~A)$i6EIKOGiFwk+fKP6tFJ6lpw`HWZQ=0P7@L7}WPsNf3@|4{j71JM0TM zd=ID?@y(838-gm(Yv#)V2vmfz#{91z5fR>A*hlxbnu9zcD-K6p?{HA%NA2hJDlo)- zm;f-Uk@(5wyY2NA2VM$o;~RAK!zAK;l{)t!>VRxMu8%C0gyPFKH)5U;Ax-H+lY$(e z{GNbH#xdK7!*VA{c$pk~IS(RdjS>g3dI@v{vepO7y}dwteq45h!nmRd$N37~nBYiO zJ!+?FI_dI|RK_A*%I#pa;8bs3gZq)%(R$eYF{T*dRpZvIK+M#E-2j}F`&TSLG=npO zN${fhqp9;tnG`Z?ut@_n4R1XH#D8~M%&@j@<-Ra3P7KscQbwd(EB$}4_D(UL01umP z+qN<7?rGb$ZFAbTZQIkfZU5S~ZQH%`&$r*nW^+!?UhHKhbyKOTq$i$l(`?QdLy!`3EEN`&>Nkm^;vB=4#}Z@6`8%;+k? zBre0&Wy^SXeA1~q)WePxFmkzqbBkM}7kDu4siJ zK%o*S7f`@_6Fo^KsjyK~bPr6!oUnWCZ_}nrM`Rz9kZ{DzPqP*$6=31EQeX(e4%+(< zpw!BOH0Zu$1xi*vNB%v_qw_5IyTX}-6dCsRRfsVs>75~2UWmwfs-^M12K_Kb(B4{F zGg87~&D-Fso3lyRKxilAmBN$KE6-S*_)5SMZo=s?T(AJXmfV)(&NqHvf0<)UqqB~F z{IAQ&Rs@{CeMgyMx-=olUFJml;qF$mj5y@&S!%EOE*JxCled1P-^Se8ZS5~vVS{S- zP&A@s$5-{dQQD@g=+2wrg^ILnuwmSvO%4a$Z}V{8mudC$6?HG~#q3iOz%T)B0zpYR zgLW1N(t2#?Iipe;e@WqZ~#D)pZ-{buB}vp5y8rIk@~hSw;B?02Q+#o zQ;Siy_mBq0aCdqCtoJd~&!}uzmAFVei>1!?`es{x?RclXoMnT7=_z~KQ%-xH)%oOU zzo@J7-sDZ^hr&qn+^hzy=pfy0>o+gdvWe4ly?jbz$WH3Q7=qNfX0IaL;d{Q|aIqEx#UR2~N|A=SPL5LL2AM!2J#|N7|EQkE8V#A% zuH5jj@{f_n-IbI13e(Nzb?S*6exnmU^BB4o+X0|}h&*g9-BMY1#s~Rx(3GSD&>_#) z5TXyih`nO`;yp3I%`t8jh~c`G8q%W>SLQh zCr`YB(g?4yDWl|7qj~`LcqwyT>|tLK8uw3#f}AUHdGGr&Tl|N?`&pqCbo-~#XlO`7 z>7E)12vL=P&+V9psYU64fb%2m+hyH39qpBJi>rU*RVk&aoE_S)E*@x!4d2 ziPEBw@*Aq2?{${e{De0syb)89bhIyscgfZysm!elcSMJ$h%9l4ubR(^%3mogDdbOz z)0QWW;x6JzQcc<ElroVeQ&WPIwE};)H)~ZP|dTi$4xfL%L{Oi4$WJldlqr3 zSnC_Q;^XLQKfTuA$xd_CetQ*Qle|Ng56a*NV`lrr>GGuLk!?07sMNqIR@wTvT*qs3 zlDe3c$KrX!5#CzQrI<$juuC!^4p z?AWn$biGy@5EipJ!!825hWzjoVXtWRH9-ftx(u_eF-5%;6nsQ^kuH6lFG~J74d#rk zr(`=4XzjBvG2g8Pa-QEj#cN?BgK`V1y;;WD8fVVNxoNbt{T~(lieC|=!t-Do+P?s( z-DP#!O`kgwmA1$jCvH+TlytS$M42g#R`oN?6APSR7YqG!t8h<)r?PvD#(wfX4#!+C z?W%g7Jp3KeT8NDC+l(%ZhEB_i=YcU?dcU2(aqQdWZhd1}zJOeMmcrIx(us{Tgl!e6 z@IY_t!7-6On%I}f!)U9A{W~qs$Og(c(urv^OJ&XnV>Vv94;fnw=V|(<}A}N+z9=~Q@ITY{tZpj53LqXHF`piDPDqK82Zrfm+=SJZp z-k@#6(4gi1L?5bYsuu4s8#tsKeXwyvdQE`A<99x@G5p-tjyrqM4i7(P0D@4 zoAh8}daz50DC{<*NCfBymF@N@j7NS0gm!aVf)cn-d~~psl+jfpQeG7c!yH?9omS1k zu3d5Rv=-G$hd4D9QuKW%PF`Z2Kk4B@Yhp_`66b6G4saOBhE2Od2nbO>dceQP92hEo zpEa-U4&U3eRvo~+;0DglU@XGD*=z&r!07C-nFrKK`i#ARC@n`STSMZO!^PffmV7Q6 z$}1EdmwJ^7_OT0^Yqc!P6d{ zmi(O^E5K>HBXLVcQEBNRb`?22l1?VCQZ$>fEziy@MD~7F7!V@si}mN?m=-cL(O{V+ z8n#L)%iqma_Yl#;qcJDH?FZMYq$o1a4C)l<_ewEwy&#Hvg(=&VD!*;3=~UP+vdHPc zsa$$>&lU){R_;q_zI7WFTzX;7LdF{}xTmECL~eM%S7(pRu^joUVSW(w$5$-m=?$C< z3V_`&2xOKY+O!pzRvl2>g=c&jOv-DRO@I@l_KzN#HeUmAm>ifT)+D*;-}YD(4eLR~ z+=jaMA3*J0d2;9SeX9puqOW)^kq5d~q0_WnOKN)B`5LTVPDY_?F95xfW`^75sq<^qS+m^6B z{)&`lgT|d0Ue0U6jbZv_#1#RxhOtc@0kmy*Z7K^*-Ez|<*E+$Hrr@;4*Y}}yFpui5 zk$61AW864^%6*LH+7J6iZC1df=UGU9C7$3e4k|S1wHn6twx}?nAjj^R~%M5D1`cF@pwy3 z54f@54!aU!`6B+^0Jr)@71`;LCIZ?zbL@h|yc;(lcY*N8fpM`ja~6k2-I_YwbrMB9 z9w(aGQ^CP=>Rt)H+=n?ln(Nkqp9rlL@i_f_{E)h!&+90E2hRs&o}L)Gw5C;Emnugg zK|7h=VQrQ%A1o?c0LRXHD;!61-(~jN=PN{0jH6Iw@n;J(p+x&`VQ=Wo zeOJrEfn(vKKEB5&?_J}n)z;S%RK_4<%NCy-mTF7ddwYCl>e_9&crND!i(OT8zs3c5 zBZ-gljjPEyD7N6vmvpswYZzGLYwhkMg*s2Ap<+SQiK6IFwNC_>n~5N)eYo0+mJ7+` z9qtj2i=Q_Lsy=Yq4ES$5AG2JO9DTa9^`tiD^pw|oPy0#XcCY1|%Kqfy4{@p%CDlLD z;ZKk!RFzZ7_lt>)VYsvL7di;F5%Hb~tXdBf@+_*x8GmygwBn*S+;jfi?kM}0qhTud zP(#IQoW<8wXf5#XQpr7+oCy06ymDUjdbxW5{1vBOqb_{5lmpY-%BV7j3x0|Ehwiot z7nh$0o9kW?2u1OHCp)KLJn&f&Izwy8EHo$=789-cp!lZ{A74jdiNA>+&dnZJv4+fw z&lnS7`l~kmO;J~6<<`w&rV(ClOUM4r|8GaHpd%2UTqk43DyYljmBsP}dsF^YR9sPe7fBx;4z?=iBQ)xo`X(bY7HL0m z@j&8=d*k};nIhAU`Gf_QRc` zG(cO(TtO#2oXXf8>G{^D7ZqfGa#A{CIM(QY(LRyAY`Ecyy3fX9tJM^PCkkxBL9qUSdHC!WSx)aOQZ#qj zzV-I86<4u5HCJiQ&Nu)LucW9yjU5@eb{MX%`QuG9^2)vy6bRnU>4Cq(7uuR}ypvdS zBUs$^2<};m7QP!Y<~)i@lZQGMAG?X8?9zlmoG{iKF1UHO=F*)?KTZ{X5)c4v}; zX9F|5o_-xqqA***cF3+fX{W=+GwvKRzC*ZhU{Bm#R|*@3Bchsz7(hXjf$P!1g| zKAK+=pLQz8`9T{bTNks0Gv_o(gX||*bM)ylYxD6`_kocn*yz-FBSeJDOO>>1Y;6ck z`D4dY2%s*mkpO>{ZZ(;3f-)}bZhaRZ19Aici{t_kc};51zW2EoTTpRdV@w8`(R)P8 zaG7+tUpZ@tO|sRTO+$br3=i21XqhAJ&wz_s=11MROBsMSsN>XYOIxP6f! z-FN%h`I_r!PyqqM^okXNz=5f~ygyzj zZjX`6Yi_&RBuc7v-;;tj=-DjRv}+YTiAr7r*$UU(>j3Y~-@Asww_Zl+xAROpfbmo? zc^_|BN(#L%aw}Y;oGh@9?O>O;@o(7$O#(dz?w)t*j!$W3QWX%dc`!dYm{y`KiF5AE z*y3qu^Zani-9j42A~Y|EaxhF6ne|sfYW<+f@iOP@pY!QBUf5{a&6z92Abu9@CX#I4 zbawSjw&VprjvHb!cLw$ETE{7x) zQgp|K!2NK8N@D^gq|rxB%|}(eWgGr_i>%r+w$u#i@vSNBmmy|6zO|k;DR`;-7@f#; zG;sEZ;Ux21{!vHEWKxvW`7$SUUGxk9Xq=TahiMg4f38(aZw#kl#4QZHbT#~uM&AQG zyJ?P9#>Cnm~i_(J@p7_v;&$9NT=wkPjkWr?N?`f?c(9FrU zUjzv$gw~tsK)Ga!&|MwxtT}VOw;r2m=2kXVLMnqr=N^#Pww0i`3%O8k(-c+uq%fNZ zq9O-EQfYXEBZOsXyzy&M$CgVHPfeNBTCmXb>cZV}%%;pKO~-G(T<&3TQa=A0Bx$~p zDN~=k=R<)<^JH|1K`M;B$c!g_*$;$kG(O5kc^)fYhcxcge&tSIuHkk@dL66;%#>wEMm-AU@B+@birC%K@ciX}zzu_^>aH zY)hR3!?WxUsf;Rl{TCyTwu$6HUfy#4LNga6z#9*D2xX8= zUhfXAX<`dbsAxoz>+Af*Hop^FiI8RhWI#1%&AlivuYd59r1v_%7WIpAw$5k!Ujd@h zn6qeEypG^I0W*x@-jxe{EGaV=*9rul_buzp!F4*%7E~aM9>c~69~>TkcHv@F zIp)AaBPe+`HKL*)+|xP4fWbF7UN<3Pxh7`@bzp^vp}RA$vDBagj&fw;Ht=g;g6psd z4HTVAoIYq_O?2H-(7Uxbvz$crb!f!YopleElG}$yLLu?6*Cs#Y@K`dc^RKR^BVV*w zYDjx@kA3~o2eY6$B;88vee60k&-W2dm}S=)$ZRqm+_qKkT$xSaWw4{IW(GDJsv_g6 zEt^4?ylYixB1CGkT&;DexL%P!#K;;{3TLdicV z5PqLK?0n$Asis~3V2ua;d6ErQ6j07y{xV}CYf8<6wo#X2_-lDTPuNv~KRbO)RXi&X zVU|R&kjK(|#WPKm7RUa0RqDY3e5lgvzU)|H!k{qXDAboxrr zhB4wV=LK)69;+u;>gIlB_oHqF3dKv184f{ucbPDYTxJu*D&I)X*CBIB-k*oz7;nx{ z9f9@XiN`;43Jb?2$F^rfGto5yN}Mn+N5^il#Mi|IDQ6XBLZzu}qA!7eU#m$}F4mkr zWssxPtjFVg`Go~r!`T28i3wrjXRsi}gU8w9vJ+?W>QRI~7{M>>;3a?jBK>5Sn-4>N z0j-pideMQy;$EsJp(Qq`o%!JzGZCIWt=V_QluoD0s*$Mgu_t7FeSJ=}8SNp+_P1YX zv7cyMUDU^g!KiB9NGN%HAhJIHjpVaTxTYPQ69@m6#;j#S>|p}K!Q%1NFe=rB$N#;@ z%ihlVuQW8lm3uWI8spH5gV&opKcmbtS0zW>ET67A5S=wNc6C3`I&eM@o|jgWx5Jz1 z&S0`WJ55C);1G#E;>5w&*p7KcZ%WZE^CvU%bY5HSE>s4>;#A1g@BUYQTd<9F1$_c3 zgC4US`cDnhtUpzR;i>Ht3C=T@|DJH79i4}Q=|fgzHrwUsd`j(!{^unK9}#+Q?}!;} zC!V9y1=7yMma1!_PBB0^y4s$Em}2ST9Yd#y6VkW7GSL{-ljdml5Xq$n^AV*YS8%16 zl;1@$@v6HZ8lwTOpq*KLGLQcHxxZlWP8WD{xp3bP$OErA`2W>KVEFETA8Wamz#P0PgoKUD-qCZ_)@Dgyiew~Ao)=RdUnKdApd z1pohG=l>fj{|^`c-%vTn|FYu$M&(TZAozd7ai)KWorQt*zlY33|HO#@nn%RM#KFn_ zf5^(CU%(Y~*Ve%!e-XEN)x~s5+q=2Bt@e%R3fsFO_Ui`yXWR;9}dhPyoHE4zZ-V7e`*`=6b{G< zbkXDxSSnWF!!P>ihtUA&vy>G`jeOZ}@C)!!D?s$onpd3)|{2_X6OK$@Ou9>zK(9h#X|A|7<&;&jvVpjL3nnf{*yXEH6fNOe% z45GM!y9Yb1_s5Jw@4H`_>6M4r-C}a9YkhjR`F^p_P*pK$ay~r!p?lR&DJu)2=nG58 zf$SR{83QpeH9P_7g5-bwwoCTA__4e4lTMKp_!)~iaudP!f`tT{;V1L=df8#x{AomG z`QfB%^8Ybaa0a?zL=t%Lx_Z*&(46e+)%fA3|JkAY`EmWOrTn3{`tf^6aBgh=(w2Tm zd;bx)GJ^JDXC zR21b9nnfL=JyY|mQQ#*Bn4^n!l%VW#7v%jS6PTf)q3)9q|FtS(&A%1}^S0<)4Y*(Y z%#Z5d&frb{a5-6L>j0seo1@Z$-R|~>qwWsE@MRwh%=EtC^i7)F?83ML`%gT8YjALo ze6q^Z$pJNv>KFJSVft%6vU?&LV0^^10Z;DtA|v{1?(0A1g7^J?!>tENFZLy218RJ< z8$vKheT(4$nr!Gr=D=*@%{Eq3ntms8f*S%r~ zX{`JaGjNUBftsv&!wpz#_9bEHe6|BKTY1C0^QV>l7R57gMa8^j3(&Fl&GO%p^&_!w zl=*jXt^Idf6GATRI6r#t{San*VHon(>>%vnccWIW*-!MfhpfNp!FGTqj}cm0$fx}@ z{5b=Dgl@MPK!3slQ{eH?EzE8Ajh@0#+c2Vbknjff5nt0#9=S(lP~PBNBch!VeH+qeeHl&2gauQ(O>z|cBOv^&wiBZ8UnT7#0xe1eVpEOf3J># zTR<{7)w#SDg8QujZT(oVQ*eaCzT!XGCGHOCTK|~yYxHY=m4NR&OxCDP_wg^oZDOe- zhVkR|F>ZeQ?_#(A0QYBjeAeq5*v;@0adfQ^BJqIS?2HAFc!1{o{C&^cn4g@&<^f&l z-7(v(eC&O_nL#I-MYRa6YdAF+!L-)J-1OBa5!&rjg>Z8_}H&ChV+J$LS_)#}i8#tky|&3*mM<=iyMQQiG|3(G5uQM1p0+J*co3ZvN<^*Hp+IcVY?DJq3Y-l| zD+mQ=#-LpMw9bJpf$oe5w$$JDJTU1-HnFW=TW3FeWt%Vm44HgyU?+0GpK;kxM>I~s zz=GDO?V+6buPl}MMVRVJL zN~;-rbvxK?q{DHDzGL;=9KAcqOlMm=&jhNlTTzRIpSAt5C_DB3RNJay)PG!a)qf{v zc9Rhjrq@tss;imQI2wssc6Wks``Vtz3#X?_Qah~b=b-$!OCcJ6SiX-YQIY%jgmui8 zpNZ5r{nDL3K|9?2dJ#vXhxba$OAbaSn1Bs_WFFa`M;bL2?Rrzg_`sgdVmg@`;N}!v zDc84GEG~Y}qxkN^;a0`Rgv?_cjQQe_?7 z{FTjlR6pXJ#4xr|h@+7?9jEEy4$rSRs;Jd55g5c?N4?S!IFTm$$IJw(+#tkj&gr>V z{xb1ZjN#gQ|7q<3B_RLR65#bi&JgIi*y>&bwy>`7^V;02dfPei0LSzGK4NW%e zb_n8JyZRTWi=0?GHpN~Kl|D;(0M2~Gv2rLRh-T$0z|vJzHo(IRP#%*{4`Q1(gwM!YK-5!Fwi79=+oUeiB@K7YJzkYUSXG&&p=Ha|M&@g2QTg-56gtYU;b=j!F zBL1Aj2b~ARJQlO|AE!>;&xN1ERvHfUKUs$(-c~M|_yXxmD0nl-6{L1u=@$EC?jqXW=RtgP znFT(=6d2=SXM{qx82r17J@o=hg?h)z+4K?Ttyw8LB$M*}9-q%>J>i-fQ9v#?I|3F= zSAHbFsJ*ueG2!ZF+xOx|bNEj=K0W+ypBj(z!jcWjxKN6^iwb9_C4F5-EesJ>^YI2Z zV<#ifd==MF(x8kZ-ss@Gsb+@Qn6nSQ9nTP@a;Igv}V8g|)YPr>ftmMK&_g zHy*W^YZbbx?B&RBmJy|AmpLS*1>3MW6=~91OvBK%R1ccn3<4CoCMwq}xH5!M^C{JF zdE4q!37h@=eOFLs^Uuk1zlCE-_6*D6`ox`a9g&+QBIH=-BKI^+5Z1+Af6U?Hn zn7#c>2#>sR-}UtD;W`gp;oL0XlUlD+VyJB_u+npo=?~>G25FTxFk!H9x7w**0u4>?^|~eyZO!YF0b4y zA)d7`R@t@>Y8`N!`y^7dwBJp@pX4^d?H*lfb|lKn~0-@onDl?af^%>(U`RpCqC4vNizAu`V7t-@QMDGV>Y%O zW*!#6J0fBqWW1tZEQV(p%6y3$B)(32oukD{*nC_@C}Ij@Cr_vS(aOva{B#aQVszAf zKL(vbcE-utWdo+tl@R~}e(IDM9~|Ww1|ro-9)1Z{czBBqJRMcnnoifPs>3Hi3XkNw zr|EiR4fL52U3r}KK`k$D)%RdE0{9Nh=W6K2+@)E!)zJ9`Q#Y82Dvi|`nY_r#QxR#Z zi}xux8ME|x3A+UtUJlNliWjc2Y`MluH>gh5oo~-BVafJziIvz8LYx;@ zAxP29VRxvZA-z}{vZn%Eyl}_9ZOctB|1@8*-RG}cXQVOPi{K;O+U#XVmS8$$i-kpC zzo@lJKM1R!eR(Bh24=*N<+pCrqSpV)OW;SC>x4 zmID^}8I>h5w3$y%7_$S}Erxvc;=;Cuwhr}fb9niEeUu&4SNBw2mt@J9%-KALGuE_x z&l`9%6^qOsqT=mu56w%*HZr}YVu3SBlC+`jVQgz{rrbX9=9_Rte3*Js+Ow>2M)uz+ zR0!?(Z?|MTdyCViv0iBANoFS?;sdW&MF2Z~qo)3BQa>W`%9!z^_Y8xhMMyTi`?*9j zKxrZM5`5WQtTiROR*^2P{>oLa`3k<=?6yj4cWtC@xA5rHyL(e=cg>Nv2+j+Yv!J1! zOi?|~eP*4!|DGLAsT|CDeGzo==ga%vJR9pOCB>9 z4RW;>d473aK*4pdD>3eia8FbtP^xvzf-zHB&k}yv`Co9sfI(1u_BbGX?1O6s_6 zBLhWz4V+C61i{st4o>Kpxt315pGxu2I2$wR(q8?#`$07tj2O&A=|J#VJL}FQ%uLiC zqPPv_`zMqTI9w7eFZq0_<@wk(o;|&$h?huA2Cx_zwlljStoXFf75my_zAf+{N94HDU;F=ru(H39rwKvYJRQo|a0^&MQ$y_*Jip%MaF{8gJ0Z1O zKX^6`_?we|0WBdIwzqfiE9(WSE*n(I{(a#tf{**gc-ILYLjyx2(1>%(K8v;40pkaw zu4q>HliJPq(25i#n9GEoc8u!BS7ZHyx9hfEg#FT{sAGD!kJWd z*cclbE{p!PZh#BnUj}%E+(i;Hjtne886lk+3DlKr`|RFBCTx>)pN9t3KjLm3)DYVT zg73{r`Cjl;rnGcnx;Pv{pEki|K^jeaWqgTk?~iffp&MjiqG?{vPqc7};~MFp z{bxl!1C+Guqt9_!_BC`ZP8a|1%Hf^d;stJG%#Ed4;?DKw@1beuH#k$4f*2U3OW1D# z{7PB~aONPUFoU$8Mq?%)df-MBkfV>{ z2iVkg^ca!7f#6HP9|wLk)deJZcVlI*Ua^j-+stIoS2Lzm8u(seixpF%54z}rN(@kCERLnJfScn zFY1&a8*T#W{Zo7w zc1Pyoyx84Z$tgC`um%6WM`gRX8~yNT92eHWd^3b|^k4e6Ok!SZiZ2#BHStoqoy*O% z+M_tTVY7W(u?=rk3xV01#%&qOQ_L<9p)MMtzu#C1QWF8yu`GJtc0JsFHi2v=Ds_M3 zvN!!1zVvQh=Ui#~gOZ?&D^mervfZF`a_$K&bp>%)Bxy~kQ={3LkiLJfd2^u~dUih4 z9f9>C!U;DGi}Wq^!Nan(ih?$EDpEho*4{kBruR`%01c`y=(>L{55SQX#>N%n#gMnD z{`UNfo(nG$<;?fWjQxxk=*jrX{wqR)+j;j?GVKDUMos2EIzBX+jO^?KayFMg!n|a1 zn;{n7)ed?b>|JobPq6T%3Hx>(DdLLyzd4q~P5J}_q{IY+8WoD?pJ zCnOixsaRC%b;DdXtWp|(?koZrf13bWsvdnJjTANDSdM2V&IBcVJSh@xvf(j|H`bF9HOnZgs zV7m-l4>Ua{?>xmP`6sO=cWSV#WHpMnu|+{rB{NDCXdXCazwlK0ro#$PP-)#+zI!ro z3SO?_W{Y0r{cwPioGkTjRvry2I|)s#PEgr9iq!QRC)c!za31nmB?_N*_sp3Tpj5=j z*r}_q%?LppKMPLai~z+zs%+oqo_G0o6)bCA2dM)#WTHaaz0vv)u4YAoO@*Dar1La| ztcEobKdbk=q%f(Bsh6U!k_M%blEa4IQhJ`t#uf_G?kPZ3H z@(+=k(HfCg)!2tODq|Qu$gDgzWv9Rs?)A&-CzHdW%SE-sNG@7(ytrM#gK%gxoF09F zOyNS1aD^My?-VmfbBa#icAT43(D7{j$^-ba{y8M_6wx02NNXZd*qu z2a?xi57tNYM(^h2A<~0LIy`V`^r-F6x~zT@GPlz#vj|;V;Z4A^RYFFZ$9m%jB2%Yc zhN$mU9(1q+^8JCnD5Wu9HwWi_afXL9atSH#0kv zaye_)O^i6*Prcu1%?51SlBWq}D0}}Bo^GcWF!sNd(iZ=zsBq_o4#omQDTraJ@*8+j zyfNJ*=OoQXj={MF?Q!ZU#rxsuv};*#4;ZEG2N0H9BZS2g-l`x)J-k+b8B^2_Il1YE z;sesVA`G2y6vHRTVbg{kx=2N3iXt@_+frH z$^tY;wO>zXXHcqdm2b|yOMIEul!oF4ctA~Iku=<0)Kv#W(nxBNP<=bv9$C!BbFDa} z`>aPL(7*CJ_I$#mk}Of!s8aLV`$4NFpPMY8^9T@ zZB)h%wjMI~#MN7gfW-p*Ug;>MW>8A~g|Ixz2~pt(|4`djww6DkSJN)MODMR`TqTmr zxpX^waoG@6$?x6qB+*L4UvH3ah()nVdvGIyKBVY`7Q>EV$CTw!v}lpov!7f$6Eqd(Nz9v`50u`*zB5%>4;Z!10M!M>8>!br>zqpJD0;k8np$#p8YiBKgZs z-mD?c$lQOdJ3`u z5Wf;k_>K6zvPn$tD(6c%(UPYvQK+!if=j1|0tG4M%*4QF4AIiw_g=CjF|<1xr7kU7 zJ~szL<0x)F9|>Q>XtL|Exy?T9dyI6Ne)3EC)-`5|O#?Ndm^EI0-237ZQQm&(+6k9^QK;bKy*seXZdQeyhdYeQ5CkjqdnHR%ZIkuV z9W@Ge-^5}os3MwbCC6NieNhwBDyuXmL6W3JHk&Zh50-pV$r;2~xgxxiaMmKZN>D*# zl(IMKFabD4m5q`tjwE)12TDAGp1Ja&EY;Qv9V@KPnM#Gp1EttUltktOQal-o+*j$7 zB;?E;JpSP5^88gYg&Uq0QTL7^f2Q~{_tiXqoogR7$>q9B5l^d%OYUBg)l>AKN%_&9c3}y}e(6o}^DhITsjTb;RTVfi z3ZnOIF9D;FFnrzH0I&n0Yk_ztw#bMiG20W&=WHTgYYQY^@vN0Vd#Y!08MVu%(}DI} zgt3+9L+w|oUt$LokEhAuhrtsOVDkkiBZ#K06`3&8I=9DYr^}3P=me^LZk*NnM$;CQ z8POTOdc>Ws6vS8ux(FX3=7itY;f>~7jUf5!UNcp|s*NpQV^@Ti|MHPjEc5l$gzk7e zd6PF!(Za43t%-Q1el`B9{DD38a;Gl#%4xG&6@w|AU88@XsI5u;#9*?$4@w7FJ;x(b(>y~$%don~5EA19eo-~8>U)6aIsZ7$gqZq*vIQD>JW9FG(yXlWnJi{^CP zUDZx5w3EfJD(FR`PzRe}AO2*+BVCyQgcG(A#?db)W89umt2z7>vg?(qr&@Ha#tG5! zw0jbY$TdriM>_an^tsy6SAOKA6Smc@zYo0Wb~_ZEJ---8+nJ>LC$xJ;VTFG|VQRbQ zMt^If)Pa1aC8fehOgrZnR9dtIpF9w}aGa3?%E|U{Lb8chbTr^vPKb9!)Uof^HuGg> zUsMJbi3$`^ctak=0_#xhpA4uJo)|=5!PJwn*(*T3754by-m z^8rO@5K$aJV<;}hfocPfk(J{w7fCVqwo3C32yQ`;RC+E^^fmdx#gQ8;25M(T zyns#Gf2Iyy(S;b0M`78-46E`i)yv&Jb!BLKG(y^o$$i%2n3!3xoM~(klpiNgF2=w2 z)uMi|0!DHGsC?9PPey?zvBh&HBuQe`dM)E{*M~EHR)CpvsW{PBs=VF%WKSX*PhN$o zv2F~EMxcHvW4|KNEzqK4wNP!LL~OTZbVap;Ly~g-GFIdTV1>WCVc`J}@9XHs&PRsw zYdPao@jgJDR_T$QF&^~+fyOf^Fk-Yd{rTCGT)yHXK7RADew z@xMl0+CI&D5I5E!Icl~0+I}ly-tO#K7k%kAgN3%CI)+3i{)q*1b87~^d{aJ3Oji|e zuQe4K{&+Tf`Nc7ov34~)X@4x(sc&CS=3zALvA$y~m8*-POq(g>=&6>Ip3T70V^KV% ztlLJ}W>M08xe{@+fSguq#bCpjc;;>^8D*0sNum!h6udy*P@!9Tg>7jb<6~%s6_NGK zaylJn<|Y`0j73`=w5JfBH@{`h2);VrS^pV*8&{7A60a5r6{Oh&zI`}u*8TbwX6Q@x#F4Xv>L4KK|i5I+Uh7$jbhF-Y;s(qQ5v~wM%%tqX$)TNywPsii+p$$p> z%Sm8eygdgb5gVDeyJoiOy0M)^nBhm+i{fN&xCkJlnmGO`Ls09 z?C;oI`Ga%|h!qQi&U7P6Vm{nr81vK6`p&Z4?=Qem(Zf_->8kciH$>a)GiT%lo-xIl!z8=I@;QLI7cELevhJzJ&a9o!$qL_GvaA8et>uYM{%QJ z6;>Y6iwk&BAXu~07n-o)ovH`~i2lB%7;Y<{%5NB)c++HO|4({ssJJItNm9LgB-$5Z zYcj0I&KV;ErnG(ic_hTSR`CoKCwX^+y(_hO3<7)IuaFfY0~kx!e!?;-xJt!}r2?+> zaceCk8kgtnaVh)X(+Wz4Y)wcD+VZJf6>3dOqAHq3V(c2K=TRH76w6vukvqVjT-^8B zuJqB$pYlqEVAP9x+(mXaq?ke~aC1slR0_*?j=ickYuhUN3Z{koQ|vlq!e!aaqdD<; zd#{fnh^NUZbwU$O72}G-O-c{xdflBjEWDBAkFM#%*p_sn6Ff<4j5kau8a)_~x=I?M zLGOPtGqDQQQbojjL8{tUcj<@h%nv_xQu0d93CYW#K2_wx_ma{^cPD`PzcVT+Ubua)YVy^dV~ z6>mnr(1IB9)H{`utD1A~3*XT0`sB-vUwH`_sXwvaBGfD{OU|O$f7YOG(rB^@e)s^* zkeh>M&h`aPpZoQ^OFWJGdeqv^;o%Nc&nxQpl`h)V+J)wNt!DZ>v%>3>@4-z*d3 z&ksdIrZdsIG*C&ui6`Vpye`%cm8a-Jd0Ci-(t1nzBbMC*Mm+#d9G{|v9?LhfldUkhjoM5y3-4xs$n1~0Ib#V7%x4D zaI>lP-!45t0}Lsi?mLe~`OJUU4kcYFhVUBVp4>N(MOJrt4TWysH-*|kf0s%y^UFF< z7x8}hpKAmXr}KhiqKU`G=9XsDVNFCTyE8w%-_kPBo;1=k$uv5|Cb;cQ6nb^>%r76^ zl74A2!W!6kIAgkOe<;^=A<%BVlTE@E#S@IvxK2>NnpOi~y0*(%h|~D$5@wTcv8*PQ zsl2dqHx>&GyLKhOCrYur#<+_~aQllfkh7p%k?_U5^G(<^>HdgJ@xHqwYh|Eq(iHIF ziAR#LJRr0W2kxu&WiiY)*L2Z!^2ej2qXs50>1O$TTh%mMf*5OLIzCwJCZk$%Z&H;F zvbN-Hd~P93*6?{>KMrCi;%!8}v9E`gpvaI^2MMHDV{?LwzP38c>UenQuZMNu1Z;hwMLI`-8_afN+k>`f`k4^r6acRqoS%V3Vn|=KfRT zh0wmNl$m~&ZP(kz9Ks?J`k?skVQFdF(+EIh=P7)|tajakZta!S+8au7vX{pEczkTD zu!%)BhZHblYNRog>)P*XHl%yas*%wy{Hsl)7-dtM%ABAO)+D#PaSyEvgkD;pB? zUkn<%8db$hL~tSK!sNe3z%+V#E%7=a$*Y?Y3J{22x|arv{F-?h2E`VeC3)7*VUPq9 zgM(uydEl${1HgK#>gBv@?3b_1$URTf0?#i$MH$%<74_BP&7}DdMS$U%nV!OZi6O z)z78!0yAmF(Nx{r1?6QFT|!{na}p5jYs%phNLeWoRwsAk_1ciIIYU*{46ZD;s}%5w zx$Cz0Q)!iG<^`*N6$EINoTn5VVxbMWVIcMovxi3({InJbbtFM&6UQlLVJ5iLu81Hm zD56z?t?5hQCo4R{KUIl*O!qr zmxTK_4r>f(IdFo&d4qp;Fs_kwx3;b>U`_v0ImK1Zn--|yxswf;!dFhl;*UsZjju9|8d-elP-irjBqcm#j8?$oh2ZSV{fHeIzjJ zem^G1#!@k*X1Z!#=0TKSO(PtstvnmXFV`L3B+O^@s^tcWtv${aa~m0aF3>k)oO9K4?^LVh_v< z_Wq?mI|uO1DKs$2q`BYXRM7yR=XCat_?=HUP|ntL?|6I2yOXQmq9w#X~HBx=OcT<$W$AG^Bs_6;JmigOqaFK0vh8*jk zhsP{nVMb+@=C-BUs}AjbdK(-2k|!egxboMeDjQWviX7^NSr|6XZ((?GHyqv*U}0zj zao5SXFioqg<;>7&QSom~_GZn!E2}I-zETrIjU%-Axc{z5VRZlfb_@d)nc`ILA~hUG zn^lmr?CZX7nN_y+imy(i7)tZ-?9IV0A*U-|>%r4h2e63)o! zvUqT@>dVS1J>oOFxrI4CSjV`F?gMMLAswJcgWjqHfUub2YdVlzbjI6BAMe^|a->%7 zx=SxYc&`3-(tV&H- zJf!(ZMm2pQKVD@1vabiqVM~#dEh;An1v(R`zH^@-j5md;*jJ8GWJzFu8%IhKz+CLX`E$mCSuA(raqvk!w7tAH=4f2`0+T5)+VSUe z5d3|-<_#Y?bMO{Uv6z3BRGTadFh~DFsx33fkLt~P$--D^%2ZFcsE|xKC zWZs4|xzF!n1N{X)te5+>^cD266OM3x_9%-GhvXCrUID-SEeBk|V3O}Xai)>;U8+|c z!9`X$d3}a;d4X@S3L(`i_**jK>{^QiKbS+j^|b`-k#Y6``LUi8@W=Ku+xwZey=U~} zgm&UlGYi%QjxgSgvS&7S7T-k~RIwn1m28|{oY?ZvTe_lrqZh>CuFE@iKN)|;)UM>f znbv21`FGf?fPN`#FtjNGde3^}P^LVArAWWP-XS-M^uu&_YN~y%Va!%LnX*{PoU}